diff --git a/.config/lychee.toml b/.config/lychee.toml index 15194c35c6219..9a3f9b260221b 100644 --- a/.config/lychee.toml +++ b/.config/lychee.toml @@ -30,6 +30,7 @@ exclude = [ "http://visitme/", "https://visitme/", # TODO meta issue: + "http://try-runtime.polkadot.io:443", "https://docs.substrate.io/main-docs/build/custom-rpc/#public-rpcs", "https://docs.substrate.io/rustdocs/latest/sp_api/macro.decl_runtime_apis.html", "https://github.com/ipfs/js-ipfs-bitswap/blob/", diff --git a/.config/review.polkacodes.yml b/.config/review.polkacodes.yml new file mode 100644 index 0000000000000..d5fcb633c7663 --- /dev/null +++ b/.config/review.polkacodes.yml @@ -0,0 +1,10 @@ +rules: + - repo: polka-codes/prompts + path: review/preamble.md + branch: master + - repo: polka-codes/prompts + path: review/rust.md + branch: master + - repo: polka-codes/prompts + path: review/polkadot-sdk.md + branch: master diff --git a/.github/actions/download-artifact-extract/action.yml b/.github/actions/download-artifact-extract/action.yml index 6a9ec3308511f..688f0f6a02ec4 100644 --- a/.github/actions/download-artifact-extract/action.yml +++ b/.github/actions/download-artifact-extract/action.yml @@ -29,15 +29,45 @@ inputs: runs: using: "composite" steps: - - name: Download artifact + - name: Download artifact (attempt 1) + id: download_attempt_1 + continue-on-error: true + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: ${{ inputs.artifact-name }} + github-token: ${{ inputs.gh-token }} + run-id: ${{ inputs.run-id }} + path: ${{ inputs.extract-path }} + + - name: Wait before retry 1 + if: steps.download_attempt_1.outcome == 'failure' shell: bash run: | - echo "::group::πŸ“¦ Downloading ${{ inputs.artifact-name }}" - echo "Artifact: ${{ inputs.artifact-name }}" - echo "Run ID: ${{ inputs.run-id }}" - echo "::endgroup::" - - - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + echo "::warning::Attempt 1 failed, retrying in 10s..." + sleep 10 + + - name: Download artifact (attempt 2) + id: download_attempt_2 + if: steps.download_attempt_1.outcome == 'failure' + continue-on-error: true + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: ${{ inputs.artifact-name }} + github-token: ${{ inputs.gh-token }} + run-id: ${{ inputs.run-id }} + path: ${{ inputs.extract-path }} + + - name: Wait before retry 2 + if: steps.download_attempt_2.outcome == 'failure' + shell: bash + run: | + echo "::warning::Attempt 2 failed, retrying in 20s..." + sleep 20 + + - name: Download artifact (attempt 3) + id: download_attempt_3 + if: steps.download_attempt_2.outcome == 'failure' + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: name: ${{ inputs.artifact-name }} github-token: ${{ inputs.gh-token }} diff --git a/.github/actions/get-solc/action.yml b/.github/actions/get-solc/action.yml index 724a19b8b3549..15e9e3dfaf814 100644 --- a/.github/actions/get-solc/action.yml +++ b/.github/actions/get-solc/action.yml @@ -34,4 +34,4 @@ runs: run: | echo "$(pwd)/solc" >> $GITHUB_PATH chmod +x solc/solc - xattr -x solc/solc \ No newline at end of file + xattr -x solc/solc diff --git a/.github/assets/revive-dev-node-polkavm-resolc.json b/.github/assets/revive-dev-node-polkavm-resolc.json new file mode 100644 index 0000000000000..9e26dfeeb6e64 --- /dev/null +++ b/.github/assets/revive-dev-node-polkavm-resolc.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.github/assets/revive-dev-node-revm-solc.json b/.github/assets/revive-dev-node-revm-solc.json new file mode 100644 index 0000000000000..9e26dfeeb6e64 --- /dev/null +++ b/.github/assets/revive-dev-node-revm-solc.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.github/scripts/check-zombienet-flaky-tests.sh b/.github/scripts/check-zombienet-flaky-tests.sh index a654841e530ff..98a0e09a7a04c 100755 --- a/.github/scripts/check-zombienet-flaky-tests.sh +++ b/.github/scripts/check-zombienet-flaky-tests.sh @@ -28,11 +28,11 @@ line_num=0 while IFS= read -r line || [[ -n "$line" ]]; do line_num=$((line_num + 1)) - + if [[ -z "$line" ]]; then continue fi - + # Parse format: test-name:issue-number if [[ ! "$line" =~ ^([^:]+):([0-9]+)$ ]]; then echo "❌ Line $line_num: Missing required issue number" >&2 @@ -42,26 +42,26 @@ while IFS= read -r line || [[ -n "$line" ]]; do has_errors=true continue fi - + test_name="${BASH_REMATCH[1]}" issue_number="${BASH_REMATCH[2]}" - + set +e issue_data=$(gh issue view "$issue_number" --json state,title,url 2>&1) gh_exit_code=$? set -e - + if [[ $gh_exit_code -ne 0 ]]; then echo "❌ Line $line_num: Issue #$issue_number does not exist" >&2 echo " Test: $test_name" >&2 has_errors=true continue fi - + url=$(echo "$issue_data" | jq -r '.url') state=$(echo "$issue_data" | jq -r '.state') title=$(echo "$issue_data" | jq -r '.title') - + # Check if it's an issue (not a PR) by verifying the URL contains '/issues/' if [[ ! "$url" =~ /issues/ ]]; then echo "❌ Line $line_num: #$issue_number is a Pull Request, not an Issue" >&2 @@ -71,7 +71,7 @@ while IFS= read -r line || [[ -n "$line" ]]; do has_errors=true continue fi - + if [[ "$state" == "OPEN" ]]; then echo "βœ… Line $line_num: $test_name -> Issue #$issue_number (open)" else @@ -79,8 +79,9 @@ while IFS= read -r line || [[ -n "$line" ]]; do echo " Test: $test_name" >&2 echo " Consider removing this entry if the issue is resolved." >&2 fi - -done < "$FLAKY_TESTS_FILE" + +# exclude empty lines and comments +done < <(grep -vE '^\s*(#|$)' "$FLAKY_TESTS_FILE") echo diff --git a/.github/scripts/cmd/cmd.py b/.github/scripts/cmd/cmd.py index 9614f332a1368..cedfa9364a76e 100755 --- a/.github/scripts/cmd/cmd.py +++ b/.github/scripts/cmd/cmd.py @@ -7,8 +7,6 @@ import _help import importlib.util import re -import urllib.request -import urllib.parse import difflib _HelpAction = _help._HelpAction @@ -35,80 +33,40 @@ def setup_logging(): open('/tmp/cmd/command_output.log', 'w') def fetch_repo_labels(): - """Fetch current labels from the GitHub repository""" - try: - # Use GitHub API to get current labels - repo_owner = os.environ.get('GITHUB_REPOSITORY_OWNER', 'paritytech') - repo_name = os.environ.get('GITHUB_REPOSITORY', 'paritytech/polkadot-sdk').split('/')[-1] - - api_url = f"https://api.github.com/repos/{repo_owner}/{repo_name}/labels?per_page=100" - - # Add GitHub token if available for higher rate limits - headers = {'User-Agent': 'polkadot-sdk-cmd-bot'} - github_token = os.environ.get('GITHUB_TOKEN') - if github_token: - headers['Authorization'] = f'token {github_token}' - - req = urllib.request.Request(api_url, headers=headers) - - with urllib.request.urlopen(req) as response: - if response.getcode() == 200: - labels_data = json.loads(response.read().decode()) - label_names = [label['name'] for label in labels_data] - print_and_log(f"Fetched {len(label_names)} labels from repository") - return label_names - else: - print_and_log(f"Failed to fetch labels: HTTP {response.getcode()}") - return None - except Exception as e: - print_and_log(f"Error fetching labels from repository: {e}") + """Fetch labels from environment (pre-fetched by workflow)""" + labels_json = os.environ.get('REPO_LABELS') + if labels_json: + try: + labels = json.loads(labels_json) + print_and_log(f"Loaded {len(labels)} labels from environment") + return labels + except json.JSONDecodeError as e: + print_and_log(f"Error parsing REPO_LABELS: {e}") + return None + else: + print_and_log("REPO_LABELS not set in environment") return None def check_pr_status(pr_number): - """Check if PR is merged or in merge queue""" - try: - # Get GitHub token from environment - github_token = os.environ.get('GITHUB_TOKEN') - if not github_token: - print_and_log("Error: GITHUB_TOKEN not set, cannot verify PR status") - return False # Prevent labeling if we can't check status - - repo_owner = os.environ.get('GITHUB_REPOSITORY_OWNER', 'paritytech') - repo_name = os.environ.get('GITHUB_REPOSITORY', 'paritytech/polkadot-sdk').split('/')[-1] - api_url = f"https://api.github.com/repos/{repo_owner}/{repo_name}/pulls/{pr_number}" - - headers = { - 'User-Agent': 'polkadot-sdk-cmd-bot', - 'Authorization': f'token {github_token}', - 'Accept': 'application/vnd.github.v3+json' - } + """Check PR status from environment (pre-fetched by workflow)""" + status_json = os.environ.get('PR_STATUS') + if not status_json: + print_and_log("Error: PR_STATUS not set, cannot verify PR status") + return False - req = urllib.request.Request(api_url, headers=headers) - - with urllib.request.urlopen(req) as response: - if response.getcode() == 200: - data = json.loads(response.read().decode()) - - # Check if PR is merged - if data.get('merged', False): - return False - - # Check if PR is closed - if data.get('state') == 'closed': - return False - - # Check if PR is in merge queue (auto_merge enabled) - if data.get('auto_merge') is not None: - return False - - return True # PR is open and not in merge queue - else: - print_and_log(f"Failed to fetch PR status: HTTP {response.getcode()}") - return False # Prevent labeling if we can't check status - except Exception as e: - print_and_log(f"Error checking PR status: {e}") - return False # Prevent labeling if we can't check status + try: + data = json.loads(status_json) + if data.get('merged', False): + return False + if data.get('state') == 'closed': + return False + if data.get('auto_merge', False): + return False + return True + except json.JSONDecodeError as e: + print_and_log(f"Error parsing PR_STATUS: {e}") + return False def find_closest_labels(invalid_label, valid_labels, max_suggestions=3, cutoff=0.6): @@ -195,7 +153,7 @@ def auto_correct_labels(invalid_labels, valid_labels, auto_correct_threshold=0.8 %(prog)s --runtime westend --fail-fast Does not output anything and cleans up the previous bot's & author command triggering comments in PR - %(prog)s --runtime westend rococo --pallet pallet_balances pallet_multisig --quiet --clean + %(prog)s --runtime westend --pallet pallet_balances pallet_multisig --quiet --clean ''' parser_bench = subparsers.add_parser('bench', aliases=['bench-omni'], help='Runs benchmarks (frame omni bencher)', epilog=bench_example, formatter_class=argparse.RawDescriptionHelpFormatter) @@ -310,7 +268,7 @@ def validate_and_auto_correct_labels(input_labels, valid_labels): %(prog)s T1-FRAME A2-substantial D3-involved Labels are fetched dynamically from the repository. -Typos are auto-corrected when confidence is high (>80% similarity). +Typos are auto-corrected when confidence is high (>80%% similarity). For label meanings, see: https://paritytech.github.io/labels/doc_polkadot-sdk.html ''' @@ -462,6 +420,7 @@ def main(): f"--no-storage-info --no-min-squares --no-median-slopes " \ f"{config['bench_flags']}" print(f'-- Running: {cmd} \n') + os.environ['RUNTIME_LOG'] = 'off' # Turn off annoying logs during benchmarking status = os.system(cmd) if status != 0 and args.fail_fast: @@ -545,7 +504,7 @@ def main(): # Output labels as JSON for GitHub Action import json labels_output = {"labels": final_labels} - print(f"LABELS_JSON: {json.dumps(labels_output)}") + print_and_log(f"LABELS_JSON: {json.dumps(labels_output)}") except ValueError as e: print_and_log(f'❌ {e}') diff --git a/.github/scripts/cmd/test_cmd.py b/.github/scripts/cmd/test_cmd.py index 0d6bd25402d60..15669929829e5 100644 --- a/.github/scripts/cmd/test_cmd.py +++ b/.github/scripts/cmd/test_cmd.py @@ -25,15 +25,6 @@ "bench_features": "runtime-benchmarks", "bench_flags": "--flag3 --flag4" }, - { - "name": "rococo", - "package": "rococo-runtime", - "path": "polkadot/runtime/rococo", - "header": "polkadot/file_header.txt", - "template": "polkadot/xcm/pallet-xcm-benchmarks/template.hbs", - "bench_features": "runtime-benchmarks", - "bench_flags": "" - }, { "name": "asset-hub-westend", "package": "asset-hub-westend-runtime", @@ -105,7 +96,6 @@ def test_bench_command_normal_execution_all_runtimes(self): self.mock_popen.return_value.read.side_effect = [ "pallet_balances\npallet_staking\npallet_something\n", # Output for dev runtime "pallet_balances\npallet_staking\npallet_something\n", # Output for westend runtime - "pallet_staking\npallet_something\n", # Output for rococo runtime - no pallet here "pallet_balances\npallet_staking\npallet_something\n", # Output for asset-hub-westend runtime "./substrate/frame/balances/Cargo.toml\n", # Mock manifest path for dev -> pallet_balances ] @@ -119,7 +109,6 @@ def test_bench_command_normal_execution_all_runtimes(self): # Build calls call("forklift cargo build -q -p kitchensink-runtime --profile production --features=runtime-benchmarks"), call("forklift cargo build -q -p westend-runtime --profile production --features=runtime-benchmarks"), - call("forklift cargo build -q -p rococo-runtime --profile production --features=runtime-benchmarks"), call("forklift cargo build -q -p asset-hub-westend-runtime --profile production --features=runtime-benchmarks"), call(get_mock_bench_output( @@ -137,7 +126,6 @@ def test_bench_command_normal_execution_all_runtimes(self): header=os.path.abspath('polkadot/file_header.txt'), bench_flags='--flag3 --flag4' )), - # skips rococo benchmark call(get_mock_bench_output( runtime='asset-hub-westend', pallets='pallet_balances', @@ -230,7 +218,7 @@ def test_bench_command_normal_execution_xcm(self): def test_bench_command_two_runtimes_two_pallets(self): self.mock_parse_args.return_value = (argparse.Namespace( command='bench-omni', - runtime=['westend', 'rococo'], + runtime=['westend'], pallet=['pallet_balances', 'pallet_staking'], fail_fast=True, quiet=False, @@ -239,7 +227,6 @@ def test_bench_command_two_runtimes_two_pallets(self): ), []) self.mock_popen.return_value.read.side_effect = [ "pallet_staking\npallet_balances\n", # Output for westend runtime - "pallet_staking\npallet_balances\n", # Output for rococo runtime ] with patch('sys.exit') as mock_exit: @@ -251,7 +238,6 @@ def test_bench_command_two_runtimes_two_pallets(self): expected_calls = [ # Build calls call("forklift cargo build -q -p westend-runtime --profile production --features=runtime-benchmarks"), - call("forklift cargo build -q -p rococo-runtime --profile production --features=runtime-benchmarks"), # Westend runtime calls call(get_mock_bench_output( runtime='westend', @@ -267,21 +253,6 @@ def test_bench_command_two_runtimes_two_pallets(self): header=header_path, bench_flags='--flag3 --flag4' )), - # Rococo runtime calls - call(get_mock_bench_output( - runtime='rococo', - pallets='pallet_staking', - output_path='./polkadot/runtime/rococo/src/weights', - header=header_path, - bench_flags='' - )), - call(get_mock_bench_output( - runtime='rococo', - pallets='pallet_balances', - output_path='./polkadot/runtime/rococo/src/weights', - header=header_path, - bench_flags='' - )), ] self.mock_system.assert_has_calls(expected_calls, any_order=True) diff --git a/.github/scripts/common/lib.sh b/.github/scripts/common/lib.sh index 3693ac00c76a1..baac69c2b8413 100755 --- a/.github/scripts/common/lib.sh +++ b/.github/scripts/common/lib.sh @@ -355,6 +355,9 @@ function get_s3_url_base() { frame-omni-bencher) printf "https://releases.parity.io/frame-omni-bencher" ;; + eth-rpc) + printf "https://releases.parity.io/eth-rpc" + ;; *) printf "UNSUPPORTED BINARY $name" exit 1 diff --git a/.github/scripts/process-differential-tests-report.py b/.github/scripts/process-differential-tests-report.py deleted file mode 100644 index 1a583be48cf31..0000000000000 --- a/.github/scripts/process-differential-tests-report.py +++ /dev/null @@ -1,259 +0,0 @@ -""" -This script is used to turn the JSON report produced by the revive differential tests tool into an -easy to consume markdown document for the purpose of reporting this information in the Polkadot SDK -CI. The full models used in the JSON report can be found in the revive differential tests repo and -the models used in this script are just a partial reproduction of the full report models. -""" - -import json, typing, io, sys - - -class Report(typing.TypedDict): - context: "Context" - execution_information: dict["MetadataFilePathString", "MetadataFileReport"] - - -class MetadataFileReport(typing.TypedDict): - case_reports: dict["CaseIdxString", "CaseReport"] - - -class CaseReport(typing.TypedDict): - mode_execution_reports: dict["ModeString", "ExecutionReport"] - - -class ExecutionReport(typing.TypedDict): - status: "TestCaseStatus" - - -class Context(typing.TypedDict): - Test: "TestContext" - - -class TestContext(typing.TypedDict): - corpus_configuration: "CorpusConfiguration" - - -class CorpusConfiguration(typing.TypedDict): - test_specifiers: list["TestSpecifier"] - - -class CaseStatusSuccess(typing.TypedDict): - status: typing.Literal["Succeeded"] - steps_executed: int - - -class CaseStatusFailure(typing.TypedDict): - status: typing.Literal["Failed"] - reason: str - - -class CaseStatusIgnored(typing.TypedDict): - status: typing.Literal["Ignored"] - reason: str - - -TestCaseStatus = typing.Union[CaseStatusSuccess, CaseStatusFailure, CaseStatusIgnored] -"""A union type of all of the possible statuses that could be reported for a case.""" - -TestSpecifier = str -"""A test specifier string. For example resolc-compiler-tests/fixtures/solidity/test.json::0::Y+""" - -ModeString = str -"""The mode string. For example Y+ >=0.8.13""" - -MetadataFilePathString = str -"""The path to a metadata file. For example resolc-compiler-tests/fixtures/solidity/test.json""" - -CaseIdxString = str -"""The index of a case as a string. For example '0'""" - -PlatformString = typing.Union[ - typing.Literal["revive-dev-node-revm-solc"], - typing.Literal["revive-dev-node-polkavm-resolc"], -] -"""A string of the platform on which the test was run""" - - -def path_relative_to_resolc_compiler_test_directory(path: str) -> str: - """ - Given a path, this function returns the path relative to the resolc-compiler-test directory. The - following is an example of an input and an output: - - Input: ~/polkadot-sdk/revive-differential-tests/resolc-compiler-tests/fixtures/solidity/test.json - Output: test.json - """ - - return f"{path.split('resolc-compiler-tests/fixtures/solidity')[-1].strip('/')}" - - -def main() -> None: - with open(sys.argv[1], "r") as file: - report: Report = json.load(file) - - # Getting the platform string and resolving it into a simpler version of - # itself. - platform_identifier: PlatformString = typing.cast(PlatformString, sys.argv[2]) - if platform_identifier == "revive-dev-node-polkavm-resolc": - platform: str = "PolkaVM" - elif platform_identifier == "revive-dev-node-revm-solc": - platform: str = "REVM" - else: - platform: str = platform_identifier - - # Starting the markdown document and adding information to it as we go. - markdown_document: io.TextIOWrapper = open("report.md", "w") - print(f"# Differential Tests Results ({platform})", file=markdown_document) - - # Getting all of the test specifiers from the report and making them relative to the tests dir. - test_specifiers: list[str] = list( - map( - path_relative_to_resolc_compiler_test_directory, - report["context"]["Test"]["corpus_configuration"]["test_specifiers"], - ) - ) - print("## Specified Tests", file=markdown_document) - for test_specifier in test_specifiers: - print(f"* ``{test_specifier}``", file=markdown_document) - - # Counting the total number of test cases, successes, failures, and ignored tests - total_number_of_cases: int = 0 - total_number_of_successes: int = 0 - total_number_of_failures: int = 0 - total_number_of_ignores: int = 0 - for _, mode_to_case_mapping in report["execution_information"].items(): - for _, case_idx_to_report_mapping in mode_to_case_mapping[ - "case_reports" - ].items(): - for _, execution_report in case_idx_to_report_mapping[ - "mode_execution_reports" - ].items(): - status: TestCaseStatus = execution_report["status"] - - total_number_of_cases += 1 - if status["status"] == "Succeeded": - total_number_of_successes += 1 - elif status["status"] == "Failed": - total_number_of_failures += 1 - elif status["status"] == "Ignored": - total_number_of_ignores += 1 - else: - raise Exception( - f"Encountered a status that's unknown to the script: {status}" - ) - - print("## Counts", file=markdown_document) - print( - f"* **Total Number of Test Cases:** {total_number_of_cases}", - file=markdown_document, - ) - print( - f"* **Total Number of Successes:** {total_number_of_successes}", - file=markdown_document, - ) - print( - f"* **Total Number of Failures:** {total_number_of_failures}", - file=markdown_document, - ) - print( - f"* **Total Number of Ignores:** {total_number_of_ignores}", - file=markdown_document, - ) - - # Grouping the various test cases into dictionaries and groups depending on their status to make - # them easier to include in the markdown document later on. - successful_cases: dict[ - MetadataFilePathString, dict[CaseIdxString, set[ModeString]] - ] = {} - for metadata_file_path, mode_to_case_mapping in report[ - "execution_information" - ].items(): - for case_idx_string, case_idx_to_report_mapping in mode_to_case_mapping[ - "case_reports" - ].items(): - for mode_string, execution_report in case_idx_to_report_mapping[ - "mode_execution_reports" - ].items(): - status: TestCaseStatus = execution_report["status"] - metadata_file_path: str = ( - path_relative_to_resolc_compiler_test_directory(metadata_file_path) - ) - mode_string: str = mode_string.replace(" M3", "+").replace(" M0", "-") - - if status["status"] == "Succeeded": - successful_cases.setdefault( - metadata_file_path, - {}, - ).setdefault( - case_idx_string, set() - ).add(mode_string) - - print("## Failures", file=markdown_document) - print( - "The test specifiers seen in this section have the format 'path::case_idx::compilation_mode'\ - and they're compatible with the revive differential tests framework and can be specified\ - to it directly in the same way that they're provided through the `--test` argument of the\ - framework.\n", - file=markdown_document, - ) - print( - "The failures are provided in an expandable section to ensure that the PR does not get \ - polluted with information. Please click on the section below for more information", - file=markdown_document, - ) - print( - "
Detailed Differential Tests Failure Information\n\n", - file=markdown_document, - ) - print("| Test Specifier | Failure Reason | Note |", file=markdown_document) - print("| -- | -- | -- |", file=markdown_document) - - for metadata_file_path, mode_to_case_mapping in report[ - "execution_information" - ].items(): - for case_idx_string, case_idx_to_report_mapping in mode_to_case_mapping[ - "case_reports" - ].items(): - for mode_string, execution_report in case_idx_to_report_mapping[ - "mode_execution_reports" - ].items(): - status: TestCaseStatus = execution_report["status"] - metadata_file_path: str = ( - path_relative_to_resolc_compiler_test_directory(metadata_file_path) - ) - mode_string: str = mode_string.replace(" M3", "+").replace(" M0", "-") - - if status["status"] != "Failed": - continue - - failure_reason: str = ( - status["reason"].replace("\n", " ").replace("|", " ") - ) - - note: str = "" - modes_where_this_case_succeeded: set[ModeString] = ( - successful_cases.setdefault( - metadata_file_path, - {}, - ).setdefault(case_idx_string, set()) - ) - if len(modes_where_this_case_succeeded) != 0: - note: str = ( - f"This test case succeeded with other compilation modes: {modes_where_this_case_succeeded}" - ) - - test_specifier: str = ( - f"{metadata_file_path}::{case_idx_string}::{mode_string}" - ) - print( - f"| ``{test_specifier}`` | ``{failure_reason}`` | {note} |", - file=markdown_document, - ) - print("\n\n
", file=markdown_document) - - # The primary downside of not using `with`, but I guess it's better since I don't want to over - # indent the code. - markdown_document.close() - - -if __name__ == "__main__": - main() diff --git a/.github/scripts/release/release_lib.sh b/.github/scripts/release/release_lib.sh index c468599b364de..4a127ef40023f 100644 --- a/.github/scripts/release/release_lib.sh +++ b/.github/scripts/release/release_lib.sh @@ -29,7 +29,7 @@ commit_with_message() { # input: none # output: list of filtered runtimes get_filtered_runtimes_list() { - grep_filters=("runtime.*" "test|template|starters|substrate") + grep_filters=("runtime.*" "test|template|starters|substrate|docs") git grep spec_version: | grep .rs: | grep -e "${grep_filters[0]}" | grep "lib.rs" | grep -vE "${grep_filters[1]}" | cut -d: -f1 } @@ -91,13 +91,20 @@ function get_spec_version() { reorder_prdocs() { VERSION="$1" - printf "[+] ℹ️ Reordering prdocs:" + printf "[+] ℹ️ Reordering prdocs:\n" VERSION=$(sed -E 's/^v([0-9]+\.[0-9]+\.[0-9]+).*$/\1/' <<< "$VERSION") #getting reed of the 'v' prefix - mkdir -p "prdoc/$VERSION" - mv prdoc/pr_*.prdoc prdoc/$VERSION - git add -A - commit_with_message "Reordering prdocs for the release $VERSION" + + # Check if there are any prdoc files to move + if ls prdoc/pr_*.prdoc 1> /dev/null 2>&1; then + mkdir -p "prdoc/$VERSION" + mv prdoc/pr_*.prdoc prdoc/$VERSION + git add -A + commit_with_message "Reordering prdocs for the release $VERSION" + echo "βœ… Successfully reordered prdocs" + else + echo "⚠️ No prdoc files found to reorder" + fi } # Bump the binary version of the polkadot-parachain binary with the @@ -204,3 +211,50 @@ function get_s3_url_base() { ;; esac } + +# Bump spec_version in a runtime file based on release type +# For patch release: bump last 3 digits (patch part) by 1 +# For new stable release: bump middle part (minor) by 1, reset patch to 0 +# +# input: +# - file: path to the runtime file +# - is_patch_release: "true" for patch release, "false" for new stable +# output: prints the new spec_version, modifies file in place +bump_spec_version() { + local file=$1 + local is_patch_release=$2 + + # Extract current spec_version from file (format: X_YYY_ZZZ) + local current_spec=$(grep -oP 'spec_version:\s*\K[0-9]+_[0-9]+_[0-9]+' "$file" | head -1) + + if [ -z "$current_spec" ]; then + echo "⚠️ Warning: Could not find spec_version in $file" + return 1 + fi + + # Parse the spec_version (format: X_YYY_ZZZ) + local major=$(echo "$current_spec" | cut -d'_' -f1) + local minor=$(echo "$current_spec" | cut -d'_' -f2) + local patch=$(echo "$current_spec" | cut -d'_' -f3) + + # Remove leading zeros for arithmetic + minor=$((10#$minor)) + patch=$((10#$patch)) + + if [ "$is_patch_release" = "true" ]; then + # Patch release: bump patch part by 1 + patch=$((patch + 1)) + else + # New stable release: bump minor by 1, reset patch to 0 + minor=$((minor + 1)) + patch=0 + fi + + # Format back to X_YYY_ZZZ format (with proper zero padding) + local new_spec=$(printf "%d_%03d_%03d" "$major" "$minor" "$patch") + + # Replace in file + sed -ri "s/spec_version: ${current_spec},/spec_version: ${new_spec},/" "$file" + + echo "$new_spec" +} diff --git a/.github/workflows/ai-review.yml b/.github/workflows/ai-review.yml new file mode 100644 index 0000000000000..24125fe1ce3b1 --- /dev/null +++ b/.github/workflows/ai-review.yml @@ -0,0 +1,43 @@ +name: AI PR Review + +on: + # pull_request: # enable this when we think this is ready + # types: [opened, ready_for_review] + workflow_dispatch: + inputs: + pr_number: + description: 'PR number to review' + required: true + type: number + +permissions: + contents: read + pull-requests: write + +concurrency: + group: review-pr-${{ github.event.inputs.pr_number || github.event.number }} + cancel-in-progress: true + +jobs: + review: + timeout-minutes: 10 + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + fetch-depth: 0 + + - name: Process PR + uses: polka-codes/action@v2 + with: + pr_number: ${{ github.event.inputs.pr_number || github.event.number }} + review: true + config: .config/review.polkacodes.yml + env: + POLKA_API_PROVIDER: google + POLKA_MODEL: gemini-3-pro-preview + GITHUB_TOKEN: ${{ github.token }} + POLKA_API_KEY: ${{ secrets.GEMINI_API_KEY }} + POLKA_BUDGET: 5 + diff --git a/.github/workflows/bench-all-runtimes.yml b/.github/workflows/bench-all-runtimes.yml index 0f454aeeb6946..a5512a9df543c 100644 --- a/.github/workflows/bench-all-runtimes.yml +++ b/.github/workflows/bench-all-runtimes.yml @@ -32,7 +32,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} name: Extract runtimes from matrix steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: master @@ -79,7 +79,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 ref: ${{ needs.runtime-matrix.outputs.branch }} # checkout always from the initially created branch to avoid conflicts @@ -112,7 +112,7 @@ jobs: git reset - name: Upload diff - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: diff-${{ matrix.runtime.name }} path: diff-${{ matrix.runtime.name }}.patch @@ -122,18 +122,18 @@ jobs: needs: [runtime-matrix, run-frame-omni-bencher] steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 ref: ${{ needs.runtime-matrix.outputs.branch }} - name: Download all artifacts - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: path: patches # needs to be able to trigger CI - - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + - uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 id: generate_token with: app-id: ${{ secrets.CMD_BOT_APP_ID }} diff --git a/.github/workflows/benchmarks-networking.yml b/.github/workflows/benchmarks-networking.yml index a2f5dd40b4e3a..1c78def516210 100644 --- a/.github/workflows/benchmarks-networking.yml +++ b/.github/workflows/benchmarks-networking.yml @@ -32,7 +32,7 @@ jobs: ] steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Run Benchmarks id: run-benchmarks @@ -42,7 +42,7 @@ jobs: ls -lsa ./charts - name: Upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ matrix.features.bench }}-${{ github.sha }} path: ./charts @@ -55,7 +55,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: gh-pages fetch-depth: 0 @@ -63,13 +63,13 @@ jobs: - run: git checkout master -- - name: Download artifacts - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: notifications_protocol-${{ github.sha }} path: ./charts - name: Download artifacts - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: request_response_protocol-${{ github.sha }} path: ./charts @@ -80,7 +80,7 @@ jobs: git config --global --add safe.directory '*' ls -lsR ./charts - - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + - uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 id: app-token with: app-id: ${{ secrets.POLKADOTSDK_GHPAGES_APP_ID }} diff --git a/.github/workflows/benchmarks-subsystem.yml b/.github/workflows/benchmarks-subsystem.yml index 6c317c1d70885..fa9d9b4cfa228 100644 --- a/.github/workflows/benchmarks-subsystem.yml +++ b/.github/workflows/benchmarks-subsystem.yml @@ -55,7 +55,7 @@ jobs: ] steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Check Rust run: | @@ -65,11 +65,12 @@ jobs: - name: Run Benchmarks id: run-benchmarks run: | - forklift cargo bench -p ${{ matrix.features.name }} --bench ${{ matrix.features.bench }} --features subsystem-benchmarks - ls -lsa ./charts + forklift cargo bench -p ${{ matrix.features.name }} --bench ${{ matrix.features.bench }} --features subsystem-benchmarks || echo "error" + # fails if file not found + ls -lsa ./charts | grep json - name: Upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{matrix.features.bench}} path: ./charts @@ -82,7 +83,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: gh-pages fetch-depth: 0 @@ -90,7 +91,7 @@ jobs: - run: git checkout master -- - name: Download artifacts - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: path: ./charts @@ -100,7 +101,7 @@ jobs: git config --global --add safe.directory '*' ls -lsR ./charts - - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + - uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 id: app-token with: app-id: ${{ secrets.POLKADOTSDK_GHPAGES_APP_ID }} diff --git a/.github/workflows/build-misc.yml b/.github/workflows/build-misc.yml index 68786ad956523..4d0ec0b309ddf 100644 --- a/.github/workflows/build-misc.yml +++ b/.github/workflows/build-misc.yml @@ -30,7 +30,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Check Rust run: | @@ -41,7 +41,7 @@ jobs: env: SUBSTRATE_RUNTIME_TARGET: riscv id: required - run: forklift cargo check -p minimal-template-runtime -p westend-runtime -p rococo-runtime -p polkadot-test-runtime + run: forklift cargo check -p minimal-template-runtime -p westend-runtime -p polkadot-test-runtime - name: Stop all workflows if failed if: ${{ failure() && steps.required.conclusion == 'failure' && !github.event.pull_request.head.repo.fork }} uses: ./.github/actions/workflow-stopper @@ -60,7 +60,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Check Rust run: | @@ -85,7 +85,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Check Rust run: | diff --git a/.github/workflows/build-publish-eth-rpc.yml b/.github/workflows/build-publish-eth-rpc.yml index fbb751e644aa1..c198a3e7e7da9 100644 --- a/.github/workflows/build-publish-eth-rpc.yml +++ b/.github/workflows/build-publish-eth-rpc.yml @@ -4,6 +4,7 @@ on: push: branches: - master + - stable* pull_request: types: [opened, synchronize, reopened, ready_for_review] @@ -44,10 +45,10 @@ jobs: VERSION: ${{ needs.set-variables.outputs.VERSION }} steps: - name: Check out the repo - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Build eth-rpc Docker image - uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2 with: context: . file: ./substrate/frame/revive/rpc/dockerfiles/eth-rpc/Dockerfile @@ -58,22 +59,22 @@ jobs: build_push_docker: name: Build and push docker images runs-on: parity-large - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/stable') needs: [set-variables] env: VERSION: ${{ needs.set-variables.outputs.VERSION }} steps: - name: Check out the repo - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Log in to Docker Hub - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: username: ${{ secrets.PARITYPR_DOCKERHUB_USERNAME }} password: ${{ secrets.PARITYPR_DOCKERHUB_PASSWORD }} - name: Build eth-rpc Docker image - uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2 with: context: . file: ./substrate/frame/revive/rpc/dockerfiles/eth-rpc/Dockerfile diff --git a/.github/workflows/build-publish-images.yml b/.github/workflows/build-publish-images.yml index 50e6f24c02d20..70e0d27e1c021 100644 --- a/.github/workflows/build-publish-images.yml +++ b/.github/workflows/build-publish-images.yml @@ -42,7 +42,7 @@ jobs: RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: build id: required run: | @@ -77,7 +77,7 @@ jobs: run: tar -cvf artifacts.tar artifacts - name: upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} path: artifacts.tar @@ -101,7 +101,7 @@ jobs: RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: build id: required run: | @@ -117,7 +117,7 @@ jobs: run: tar -cvf artifacts.tar artifacts - name: upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} path: artifacts.tar @@ -141,7 +141,7 @@ jobs: RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: build id: required run: | @@ -158,7 +158,7 @@ jobs: run: tar -cvf artifacts.tar artifacts - name: upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} path: artifacts.tar @@ -180,7 +180,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: build id: required run: | @@ -201,7 +201,7 @@ jobs: run: tar -cvf artifacts.tar artifacts - name: upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} path: artifacts.tar @@ -223,7 +223,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: build id: required run: | @@ -243,7 +243,7 @@ jobs: run: tar -cvf artifacts.tar artifacts - name: upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} path: artifacts.tar @@ -265,7 +265,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: build id: required run: | @@ -290,7 +290,7 @@ jobs: run: tar -cvf artifacts.tar artifacts - name: upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} path: artifacts.tar @@ -312,7 +312,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: build id: required run: | @@ -333,7 +333,7 @@ jobs: run: tar -cvf artifacts.tar artifacts - name: upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} path: artifacts.tar @@ -359,7 +359,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: build run: | forklift cargo build --locked --profile testnet -p polkadot-test-malus --bin malus --bin polkadot-prepare-worker --bin polkadot-execute-worker @@ -372,7 +372,7 @@ jobs: run: tar -cvf artifacts.tar artifacts - name: upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} path: artifacts.tar @@ -389,7 +389,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: build run: | forklift cargo nextest --manifest-path polkadot/zombienet-sdk-tests/Cargo.toml archive --locked --features zombie-metadata,zombie-ci --archive-file polkadot-zombienet-tests.tar.zst @@ -402,7 +402,7 @@ jobs: run: tar -cvf artifacts.tar artifacts - name: upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} path: artifacts.tar @@ -419,7 +419,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: build run: | forklift cargo nextest --manifest-path substrate/zombienet/zombienet-sdk/Cargo.toml archive --locked --features zombie-ci --archive-file substrate-zombienet-tests.tar.zst @@ -432,7 +432,7 @@ jobs: run: tar -cvf artifacts.tar artifacts - name: upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} path: artifacts.tar @@ -449,7 +449,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: build run: | forklift cargo nextest --manifest-path cumulus/zombienet/zombienet-sdk/Cargo.toml archive --locked --features zombie-ci --archive-file cumulus-zombienet-tests.tar.zst @@ -462,7 +462,7 @@ jobs: run: tar -cvf artifacts.tar artifacts - name: upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} path: artifacts.tar @@ -476,7 +476,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: build run: | forklift cargo nextest --manifest-path templates/zombienet/Cargo.toml archive --locked --features zombienet --archive-file parachain-templates-zombienet-tests.tar.zst @@ -489,7 +489,7 @@ jobs: run: tar -cvf artifacts.tar artifacts - name: upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} path: artifacts.tar @@ -506,9 +506,9 @@ jobs: timeout-minutes: 60 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: build-test-parachain-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} @@ -532,9 +532,9 @@ jobs: timeout-minutes: 60 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: build-linux-stable-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} @@ -558,9 +558,9 @@ jobs: timeout-minutes: 60 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: build-test-collators-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} @@ -584,9 +584,9 @@ jobs: timeout-minutes: 60 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: build-malus-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} @@ -610,9 +610,9 @@ jobs: timeout-minutes: 60 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: build-linux-substrate-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} @@ -644,9 +644,9 @@ jobs: timeout-minutes: 60 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: build-linux-stable-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} - name: tar @@ -654,7 +654,7 @@ jobs: tar -xvf artifacts.tar rm artifacts.tar - - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: build-linux-stable-cumulus-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} - name: tar @@ -662,7 +662,7 @@ jobs: tar -xvf artifacts.tar rm artifacts.tar - - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: prepare-bridges-zombienet-artifacts-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} - name: tar @@ -687,9 +687,9 @@ jobs: timeout-minutes: 60 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: build-linux-stable-cumulus-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} diff --git a/.github/workflows/check-cargo-check-runtimes.yml b/.github/workflows/check-cargo-check-runtimes.yml index 10d0f5dccbd08..849bc341b09d6 100644 --- a/.github/workflows/check-cargo-check-runtimes.yml +++ b/.github/workflows/check-cargo-check-runtimes.yml @@ -27,7 +27,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Run cargo check uses: ./.github/actions/cargo-check-runtimes with: @@ -41,7 +41,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Run cargo check uses: ./.github/actions/cargo-check-runtimes with: @@ -55,7 +55,7 @@ jobs: timeout-minutes: 20 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Run cargo check uses: ./.github/actions/cargo-check-runtimes with: @@ -69,7 +69,7 @@ jobs: timeout-minutes: 20 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Run cargo check uses: ./.github/actions/cargo-check-runtimes with: @@ -83,7 +83,7 @@ jobs: timeout-minutes: 20 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Run cargo check uses: ./.github/actions/cargo-check-runtimes with: @@ -97,7 +97,7 @@ jobs: timeout-minutes: 20 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Run cargo check uses: ./.github/actions/cargo-check-runtimes with: diff --git a/.github/workflows/check-frame-omni-bencher.yml b/.github/workflows/check-frame-omni-bencher.yml index c62c4e13d1afa..770efe1c8d24e 100644 --- a/.github/workflows/check-frame-omni-bencher.yml +++ b/.github/workflows/check-frame-omni-bencher.yml @@ -37,12 +37,12 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script id: required run: | forklift cargo build --locked --quiet --release -p asset-hub-westend-runtime --features runtime-benchmarks - forklift cargo run --locked --release -p frame-omni-bencher --quiet -- v1 benchmark pallet --runtime target/release/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.compact.compressed.wasm --all --steps 2 --repeat 1 --quiet + forklift cargo run --locked --release -p frame-omni-bencher --quiet -- v1 benchmark pallet --runtime target/release/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.compact.compressed.wasm --all --steps 2 --repeat 1 --quiet --min-duration 0 - name: Stop all workflows if failed if: ${{ failure() && steps.required.conclusion == 'failure' && !github.event.pull_request.head.repo.fork }} uses: ./.github/actions/workflow-stopper @@ -61,7 +61,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} name: Extract runtimes from matrix steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - id: runtime run: | RUNTIMES=$(jq '[.[] | select(.package != null)]' .github/workflows/runtimes-matrix.json) @@ -88,7 +88,7 @@ jobs: RUST_LOG: "frame_omni_bencher=info,polkadot_sdk_frame=info" steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script (benchmark ${{ matrix.bench_cmd }}) id: required @@ -102,7 +102,7 @@ jobs: ls -lrt $RUNTIME_BLOB_PATH if [[ "$BENCH_CMD" == "pallet" ]]; then - cmd="./target/release/frame-omni-bencher v1 benchmark pallet --runtime $RUNTIME_BLOB_PATH --all --steps 2 --repeat 1 $FLAGS" + cmd="./target/release/frame-omni-bencher v1 benchmark pallet --runtime $RUNTIME_BLOB_PATH --all --steps 2 --repeat 1 --min-duration 0 $FLAGS" elif [[ "$BENCH_CMD" == "overhead" ]]; then cmd="./target/release/frame-omni-bencher v1 benchmark overhead --runtime $RUNTIME_BLOB_PATH" else diff --git a/.github/workflows/check-getting-started.yml b/.github/workflows/check-getting-started.yml index 8484bfbaa5f8b..edbf34952d069 100644 --- a/.github/workflows/check-getting-started.yml +++ b/.github/workflows/check-getting-started.yml @@ -82,7 +82,7 @@ jobs: if: contains(matrix.name, 'opensuse') - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set additional expect flags if necessary run: | @@ -194,7 +194,7 @@ jobs: runs-on: macos-latest steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set additional expect flags if necessary run: | diff --git a/.github/workflows/check-licenses.yml b/.github/workflows/check-licenses.yml index 7675aaa9da4cf..cf86a733579cb 100644 --- a/.github/workflows/check-licenses.yml +++ b/.github/workflows/check-licenses.yml @@ -24,8 +24,8 @@ jobs: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 - - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 with: node-version: "18.x" registry-url: "https://npm.pkg.github.com" @@ -62,8 +62,8 @@ jobs: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 - - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 with: node-version: "18.x" registry-url: "https://npm.pkg.github.com" diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml index 19a61c9135d48..71518f23b606c 100644 --- a/.github/workflows/check-links.yml +++ b/.github/workflows/check-links.yml @@ -26,14 +26,14 @@ jobs: timeout-minutes: 10 steps: - name: Restore lychee cache - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 with: path: .lycheecache key: cache-lychee-${{ github.sha }} # This should restore from the most recent one: restore-keys: cache-lychee- - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.0 (22. Sep 2023) + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Lychee link checker uses: lycheeverse/lychee-action@a8c4c7cb88f0c7386610c35eb25108e448569cb0 # for v1.9.1 (10. Jan 2024) diff --git a/.github/workflows/check-prdoc.yml b/.github/workflows/check-prdoc.yml index 06ab9329d5d15..54695b216aaae 100644 --- a/.github/workflows/check-prdoc.yml +++ b/.github/workflows/check-prdoc.yml @@ -24,7 +24,7 @@ jobs: timeout-minutes: 10 steps: - name: Checkout repo - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v4.1.7 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Check prdoc format run: | echo "Pulling $IMAGE" diff --git a/.github/workflows/check-runtime-compatibility.yml b/.github/workflows/check-runtime-compatibility.yml index ed7f010bae75c..6101107bfc393 100644 --- a/.github/workflows/check-runtime-compatibility.yml +++ b/.github/workflows/check-runtime-compatibility.yml @@ -63,7 +63,7 @@ jobs: uri: "wss://westend-coretime-rpc.polkadot.io:443" steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Build Runtime id: build-runtime @@ -72,7 +72,7 @@ jobs: forklift cargo build --release --locked -p ${{ matrix.package }} --features on-chain-release-build -q - name: Setup Node.js - uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 + uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 with: node-version: "24.x" registry-url: "https://npm.pkg.github.com" diff --git a/.github/workflows/check-runtime-migration.yml b/.github/workflows/check-runtime-migration.yml index 0d32de0eeeada..c69bde04fdc93 100644 --- a/.github/workflows/check-runtime-migration.yml +++ b/.github/workflows/check-runtime-migration.yml @@ -25,14 +25,93 @@ jobs: needs: isdraft uses: ./.github/workflows/reusable-preflight.yml + # Prepare snapshots for all networks. Runs before the actual migration checks. + # For scheduled runs: always create fresh snapshots. + # For PRs: use cached snapshots if available, create if not. + prepare-snapshots: + runs-on: ubuntu-latest + needs: [preflight] + if: ${{ needs.preflight.outputs.changes_rust }} + strategy: + fail-fast: false + matrix: + network: + [ + westend, + asset-hub-westend, + bridge-hub-westend, + collectives-westend, + coretime-westend, + ] + include: + - network: westend + uri: "wss://try-runtime-westend.polkadot.io:443" + - network: asset-hub-westend + uri: "wss://westend-asset-hub-rpc.polkadot.io:443" + - network: bridge-hub-westend + uri: "wss://westend-bridge-hub-rpc.polkadot.io:443" + - network: collectives-westend + uri: "wss://westend-collectives-rpc.polkadot.io:443" + - network: coretime-westend + uri: "wss://westend-coretime-rpc.polkadot.io:443" + steps: + - name: Check if snapshot exists in cache + id: cache-restore + if: ${{ github.event_name != 'schedule' }} + uses: actions/cache/restore@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + with: + lookup-only: true + path: snapshot.raw + key: try-runtime-snapshot-${{ matrix.network }}- + fail-on-cache-miss: false + + - name: Download CLI + if: ${{ steps.cache-restore.outputs.cache-matched-key == '' }} + run: | + curl -sL https://github.com/paritytech/try-runtime-cli/releases/download/v0.10.1/try-runtime-x86_64-unknown-linux-musl -o try-runtime + chmod +x ./try-runtime + ./try-runtime --version + + - name: Generate snapshot for ${{ matrix.network }} + if: ${{ steps.cache-restore.outputs.cache-matched-key == '' }} + run: | + echo "Generating snapshot for ${{ matrix.network }}..." + for i in {1..10}; do + echo "Snapshot creation attempt $i/10" + if ./try-runtime create-snapshot --uri ${{ matrix.uri }} -- snapshot.raw; then + if [ -f "snapshot.raw" ] && [ -s "snapshot.raw" ]; then + echo "Snapshot created successfully" + break + fi + fi + echo "Snapshot creation failed, attempt $i/10" + rm -f snapshot.raw + if [ $i -eq 10 ]; then + echo "All snapshot creation attempts failed" + exit 1 + fi + sleep 10 + done + + - name: Get Date + id: get-date + if: ${{ steps.cache-restore.outputs.cache-matched-key == '' }} + run: | + echo "today=$(/bin/date -u "+%Y%m%d")" >> $GITHUB_OUTPUT + + - name: Save snapshot to cache + if: ${{ steps.cache-restore.outputs.cache-matched-key == '' }} + uses: actions/cache/save@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + with: + path: snapshot.raw + key: try-runtime-snapshot-${{ matrix.network }}-${{ steps.get-date.outputs.today }} + # More info can be found here: https://github.com/paritytech/polkadot/pull/5865 check-runtime-migration: runs-on: ${{ needs.preflight.outputs.RUNNER }} - if: ${{ needs.preflight.outputs.changes_rust }} - # We need to set this to rather long to allow the snapshot to be created, but the average time - # should be much lower. + if: ${{ needs.preflight.outputs.changes_rust && github.event_name != 'schedule' }} timeout-minutes: 120 - needs: [preflight] + needs: [preflight, prepare-snapshots] container: image: ${{ needs.preflight.outputs.IMAGE }} strategy: @@ -50,78 +129,55 @@ jobs: - network: westend package: westend-runtime wasm: westend_runtime.compact.compressed.wasm - uri: "wss://try-runtime-westend.polkadot.io:443" subcommand_extra_args: "--no-weight-warnings --blocktime 6000" command_extra_args: "" - network: asset-hub-westend package: asset-hub-westend-runtime wasm: asset_hub_westend_runtime.compact.compressed.wasm - uri: "wss://westend-asset-hub-rpc.polkadot.io:443" subcommand_extra_args: " --blocktime 6000" command_extra_args: "" - network: bridge-hub-westend package: bridge-hub-westend-runtime wasm: bridge_hub_westend_runtime.compact.compressed.wasm - uri: "wss://westend-bridge-hub-rpc.polkadot.io:443" subcommand_extra_args: " --blocktime 6000" + command_extra_args: "" - network: collectives-westend package: collectives-westend-runtime wasm: collectives_westend_runtime.compact.compressed.wasm - uri: "wss://westend-collectives-rpc.polkadot.io:443" command_extra_args: "--disable-spec-name-check" subcommand_extra_args: " --blocktime 6000" - network: coretime-westend package: coretime-westend-runtime wasm: coretime_westend_runtime.compact.compressed.wasm - uri: "wss://westend-coretime-rpc.polkadot.io:443" subcommand_extra_args: " --blocktime 6000" + command_extra_args: "" steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Download CLI run: | - curl -sL https://github.com/paritytech/try-runtime-cli/releases/download/v0.8.0/try-runtime-x86_64-unknown-linux-musl -o try-runtime + curl -sL https://github.com/paritytech/try-runtime-cli/releases/download/v0.10.1/try-runtime-x86_64-unknown-linux-musl -o try-runtime chmod +x ./try-runtime echo "Using try-runtime-cli version:" ./try-runtime --version - - name: Get Date - id: get-date - run: | - echo "today=$(/bin/date -u "+%Y%m%d")" >> $GITHUB_OUTPUT - shell: bash - - - name: Download Snapshot - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + - name: Restore snapshot from cache + uses: actions/cache/restore@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 with: path: snapshot.raw - key: try-runtime-snapshot-${{ matrix.network }}-${{ steps.get-date.outputs.today }} - save-always: true - - - name: Create Snapshot If Stale - if: ${{ hashFiles('snapshot.raw') == '' }} - run: | - echo "Creating new snapshot for today (${{ steps.get-date.outputs.today }})" - ./try-runtime create-snapshot --uri ${{ matrix.uri }} snapshot.raw + key: try-runtime-snapshot-${{ matrix.network }}- + fail-on-cache-miss: true - name: Build Runtime - if: ${{ github.event_name != 'schedule' }} id: required1 run: | echo "---------- Building ${{ matrix.package }} runtime ----------" forklift cargo build --release --locked -p ${{ matrix.package }} --features try-runtime -q - name: Run Check - if: ${{ github.event_name != 'schedule' }} id: required2 run: | - # Disable the check for asset-hub-westend temporarily due to frequent failures. - if [ "${{ matrix.network }}" = "asset-hub-westend" ]; then - echo "Skipping runtime migration check for asset-hub-westend due to frequent failures." - exit 0 - fi - echo "Running ${{ matrix.network }} runtime migration check" export RUST_LOG=remote-ext=debug,runtime=debug @@ -132,7 +188,7 @@ jobs: sleep 5 - name: Stop all workflows if failed - if: ${{ failure() && github.event_name != 'schedule' && (steps.required1.conclusion == 'failure' || steps.required2.conclusion == 'failure') }} + if: ${{ failure() && (steps.required1.conclusion == 'failure' || steps.required2.conclusion == 'failure') }} uses: ./.github/actions/workflow-stopper with: app-id: ${{ secrets.WORKFLOW_STOPPER_RUNNER_APP_ID }} diff --git a/.github/workflows/check-semver.yml b/.github/workflows/check-semver.yml index 5974fa6ae6bc8..58e594f7d2c79 100644 --- a/.github/workflows/check-semver.yml +++ b/.github/workflows/check-semver.yml @@ -30,7 +30,7 @@ jobs: container: image: ${{ needs.preflight.outputs.IMAGE }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 2 @@ -70,7 +70,7 @@ jobs: echo "PRDOC_EXTRA_ARGS=--max-bump minor" >> $GITHUB_ENV - name: Rust Cache - uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1 + uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2 with: save-if: ${{ github.ref == 'refs/heads/master' }} diff --git a/.github/workflows/check-zombienet-flaky-tests.yml b/.github/workflows/check-zombienet-flaky-tests.yml index 63e73909a5447..9e89f5f32167e 100644 --- a/.github/workflows/check-zombienet-flaky-tests.yml +++ b/.github/workflows/check-zombienet-flaky-tests.yml @@ -22,7 +22,7 @@ jobs: timeout-minutes: 5 steps: - name: Checkout repo - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Validate zombienet-flaky-tests env: diff --git a/.github/workflows/checks-quick.yml b/.github/workflows/checks-quick.yml index bd1fd13baaac1..9940d2a26f422 100644 --- a/.github/workflows/checks-quick.yml +++ b/.github/workflows/checks-quick.yml @@ -28,7 +28,7 @@ jobs: container: image: ${{ needs.preflight.outputs.IMAGE }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Cargo fmt id: required run: cargo +nightly fmt --all -- --check @@ -43,7 +43,7 @@ jobs: needs: isdraft timeout-minutes: 20 steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: check dependency rules run: | cd substrate/ @@ -55,7 +55,7 @@ jobs: container: image: ${{ needs.preflight.outputs.IMAGE }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: fetch deps run: | # Pull all dependencies eagerly: @@ -74,7 +74,7 @@ jobs: container: image: ${{ needs.preflight.outputs.IMAGE }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: run rust features run: bash .gitlab/rust-features.sh . check-toml-format: @@ -84,7 +84,7 @@ jobs: container: image: ${{ needs.preflight.outputs.IMAGE }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: check toml format run: | taplo format --check --config .config/taplo.toml @@ -94,7 +94,7 @@ jobs: needs: isdraft timeout-minutes: 20 steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.0 (22. Sep 2023) + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: install python deps run: | sudo apt-get update && sudo apt-get install -y python3-pip python3 @@ -113,9 +113,9 @@ jobs: timeout-minutes: 20 steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Node.js - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 + uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 with: node-version: "18.x" registry-url: "https://npm.pkg.github.com" @@ -138,7 +138,7 @@ jobs: container: image: ${{ needs.preflight.outputs.IMAGE }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.0 (22. Sep 2023) + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: install python deps run: pip3 install "cargo-workspace>=1.2.4" toml - name: Install newer Zepter @@ -192,7 +192,7 @@ jobs: options: --user root steps: - name: Fetch latest code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Check run: | set +e @@ -207,12 +207,67 @@ jobs: env: ASSERT_REGEX: "FAIL-CI" GIT_DEPTH: 1 + check-invisible-chars: + runs-on: ubuntu-latest + needs: isdraft + timeout-minutes: 10 + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - name: Check for invisible Unicode characters + run: | + # Detects dangerous invisible Unicode characters that can be used for: + # - Trojan Source attacks (bidi controls) + # - Hidden text/logic (zero-width chars, tags) + # - Confusable whitespace + # + # Exceptions (allowed in emoji sequences): + # - U+200D (ZWJ) when between non-ASCII chars + # - U+FE0E/FE0F (variation selectors) when following non-ASCII + + FOUND=0 + + # Pattern: Invisible chars EXCEPT ZWJ and variation selectors + INVISIBLE='[\x{00AD}\x{034F}\x{061C}\x{115F}\x{1160}\x{17B4}\x{17B5}\x{180B}-\x{180F}\x{1680}\x{2000}-\x{200C}\x{200E}\x{200F}\x{2028}\x{2029}\x{202A}-\x{202F}\x{205F}-\x{206F}\x{2800}\x{3000}\x{3164}\x{FEFF}\x{FFF0}-\x{FFFC}\x{1BCA0}-\x{1BCA3}\x{1D173}-\x{1D17A}\x{E0000}-\x{E0FFF}]' + + # ZWJ must be surrounded by non-ASCII on both sides (emoji joining) + BARE_ZWJ='(? l.name); + console.log(`Fetched ${labelNames.length} labels`); + + // Fetch PR status + const pr = await github.rest.pulls.get({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: ${{ github.event.inputs.pr_num }} + }); + const prStatus = { + merged: pr.data.merged, + state: pr.data.state, + auto_merge: pr.data.auto_merge !== null + }; + console.log(`PR status: ${JSON.stringify(prStatus)}`); + + core.setOutput('repo_labels', JSON.stringify(labelNames)); + core.setOutput('pr_status', JSON.stringify(prStatus)); + cmd: needs: [before-cmd] env: @@ -133,7 +167,7 @@ jobs: subweight: ${{ steps.subweight.outputs.result }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ${{ env.REPO }} ref: ${{ env.PR_BRANCH }} @@ -157,8 +191,10 @@ jobs: IS_PR_AUTHOR: ${{ github.event.inputs.is_pr_author }} RUNNER: ${{ github.event.inputs.runner }} IMAGE: ${{ github.event.inputs.image }} + REPO_LABELS: ${{ needs.before-cmd.outputs.repo_labels }} + PR_STATUS: ${{ needs.before-cmd.outputs.pr_status }} run: | - echo "Running command: '${CMD} ${PR_ARG}' on '${RUNNER}' runner, container: '${IMAGE}'" + echo "Running command: "${CMD} ${PR_ARG}" on "${RUNNER}" runner, container: "${IMAGE} echo "RUST_NIGHTLY_VERSION: ${RUST_NIGHTLY_VERSION}" echo "IS_ORG_MEMBER: ${IS_ORG_MEMBER}" @@ -166,16 +202,10 @@ jobs: git config user.name "cmd[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - # if the user is not an org member, we need to use the bot's path from master to avoid unwanted modifications - if [ "${IS_ORG_MEMBER}" = "true" ]; then - # safe to run commands from current branch - BOT_PATH=.github - else - # going to run commands from master - TMP_DIR=/tmp/polkadot-sdk - git clone --depth 1 --branch master https://github.com/paritytech/polkadot-sdk $TMP_DIR - BOT_PATH=$TMP_DIR/.github - fi + echo "Using cmd-bot branch for cmd-bot scripts" + TMP_DIR=/tmp/polkadot-sdk + git clone --depth 1 --branch cmd-bot https://github.com/paritytech/polkadot-sdk $TMP_DIR + BOT_PATH=$TMP_DIR/.github # install deps and run a command from master python3 -m pip install -r $BOT_PATH/scripts/generate-prdoc.requirements.txt @@ -200,25 +230,25 @@ jobs: - name: Upload command output if: ${{ always() }} - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: command-output path: /tmp/cmd/command_output.log - name: Upload command diff - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: command-diff path: /tmp/cmd/command_diff.patch - name: Upload git status - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: git-status path: /tmp/cmd/git_status.log - name: Upload git diff - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: git-diff path: /tmp/cmd/git_diff.log @@ -247,6 +277,15 @@ jobs: echo $result + echo $result > /tmp/cmd/subweight.log + # Check if /tmp/cmd/subweight.log is more than 1048576 bytes + if [ $(wc -c < "/tmp/cmd/subweight.log") -gt 1048576 ]; then + echo "Subweight result is too large, truncating..." + result=$(echo "$result" | head -c 100000) + fi + + echo $result + echo $result > /tmp/cmd/subweight.log # Though github claims that it supports 1048576 bytes in GITHUB_OUTPUT in fact it only supports ~200000 bytes of a multiline string if [ $(wc -c < "/tmp/cmd/subweight.log") -gt 200000 ]; then @@ -263,7 +302,7 @@ jobs: } >> $GITHUB_OUTPUT - name: Upload Subweight - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 if: startsWith(github.event.inputs.cmd, 'bench') with: name: subweight @@ -279,25 +318,32 @@ jobs: runs-on: ubuntu-latest steps: # needs to be able to trigger CI, as default token does not retrigger - - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + - uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 id: generate_token with: app-id: ${{ secrets.CMD_BOT_APP_ID }} private-key: ${{ secrets.CMD_BOT_APP_KEY }} - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: token: ${{ steps.generate_token.outputs.token }} repository: ${{ env.REPO }} ref: ${{ env.PR_BRANCH }} - - name: Download all artifacts - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + - name: Download command-diff artifact + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: command-diff path: command-diff + - name: Download command-output artifact + if: startsWith(github.event.inputs.cmd, 'label') + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 + with: + name: command-output + path: command-output + - name: Apply labels for label command if: startsWith(github.event.inputs.cmd, 'label') uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 @@ -309,7 +355,7 @@ jobs: let labels = []; try { - const output = fs.readFileSync('/tmp/cmd/command_output.log', 'utf8'); + const output = fs.readFileSync('command-output/command_output.log', 'utf8'); // Parse JSON labels from output - look for "LABELS_JSON: {...}" const jsonMatch = output.match(/LABELS_JSON: (.+)/); diff --git a/.github/workflows/cmd-tests.yml b/.github/workflows/cmd-tests.yml index 71a7d39551b20..193689ac5a4e9 100644 --- a/.github/workflows/cmd-tests.yml +++ b/.github/workflows/cmd-tests.yml @@ -18,5 +18,5 @@ jobs: runs-on: ubuntu-latest needs: [isdraft] steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - run: python3 .github/scripts/cmd/test_cmd.py diff --git a/.github/workflows/cmd.yml b/.github/workflows/cmd.yml index 441e0910e1b1e..af201d582d701 100644 --- a/.github/workflows/cmd.yml +++ b/.github/workflows/cmd.yml @@ -19,7 +19,7 @@ jobs: steps: - name: Generate token id: generate_token - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 with: app-id: ${{ secrets.CMD_BOT_APP_ID }} private-key: ${{ secrets.CMD_BOT_APP_KEY }} @@ -168,7 +168,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Save output of help id: help @@ -235,7 +235,7 @@ jobs: RUNNER: ${{ steps.set-image.outputs.RUNNER }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - id: set-image run: | @@ -268,7 +268,7 @@ jobs: steps: - name: Generate token id: generate_token - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 with: app-id: ${{ secrets.CMD_BOT_APP_ID }} private-key: ${{ secrets.CMD_BOT_APP_KEY }} @@ -319,7 +319,7 @@ jobs: PR_NUMBER: ${{ github.event.issue.number }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Start cmd with gh cli env: diff --git a/.github/workflows/command-backport.yml b/.github/workflows/command-backport.yml index 6aeaf4b59b946..d6fba8bc39db4 100644 --- a/.github/workflows/command-backport.yml +++ b/.github/workflows/command-backport.yml @@ -30,7 +30,7 @@ jobs: github.event.pull_request.base.ref == 'master' ) steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Check for backport labels id: check_labels @@ -54,13 +54,13 @@ jobs: - name: Generate token id: generate_token - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 with: app-id: ${{ secrets.RELEASE_BACKPORT_AUTOMATION_APP_ID }} private-key: ${{ secrets.RELEASE_BACKPORT_AUTOMATION_APP_PRIVATE_KEY }} - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: token: ${{ steps.generate_token.outputs.token }} @@ -75,7 +75,7 @@ jobs: - name: Create backport pull requests - uses: korthout/backport-action@d07416681cab29bf2661702f925f020aaa962997 # v3.4.1 + uses: korthout/backport-action@01619ebc9a6e3f6820274221b9956b3e7365000a # v4.1.0 id: backport with: target_branches: ${{ steps.branches.outputs.BACKPORT_BRANCHES }} diff --git a/.github/workflows/command-prdoc.yml b/.github/workflows/command-prdoc.yml index b7a6e4c947c22..2b80cb465974b 100644 --- a/.github/workflows/command-prdoc.yml +++ b/.github/workflows/command-prdoc.yml @@ -54,7 +54,7 @@ jobs: pull-requests: write steps: - name: Download repo - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Install gh cli id: gh uses: ./.github/actions/set-up-gh @@ -74,7 +74,7 @@ jobs: RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_TOKEN: ${{ github.token }} - name: Push Commit - uses: stefanzweifel/git-auto-commit-action@28e16e81777b558cc906c8750092100bbb34c5e3 # v7.0.0 + uses: stefanzweifel/git-auto-commit-action@04702edda442b2e678b25b537cec683a1493fcb9 # v7.1.0 with: commit_message: Add PrDoc (auto generated) branch: ${{ steps.gh.outputs.branch }} diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index dde594508714f..24d2ba1f72a5b 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -26,7 +26,7 @@ jobs: container: image: ${{ needs.preflight.outputs.IMAGE }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - run: forklift cargo test --doc --workspace --locked id: required env: @@ -46,7 +46,7 @@ jobs: container: image: ${{ needs.preflight.outputs.IMAGE }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - run: forklift cargo doc --all-features --workspace --no-deps --locked id: required env: @@ -65,7 +65,7 @@ jobs: inject_simple_analytics "$docs_dir" "$script_content" - run: echo "" > ./crate-docs/index.html - - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.sha }}-doc path: ./crate-docs/ @@ -85,11 +85,11 @@ jobs: image: paritytech/mdbook-utils:e14aae4a-20221123 options: --user root steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - run: mdbook build ./polkadot/roadmap/implementers-guide - run: mkdir -p artifacts - run: mv polkadot/roadmap/implementers-guide/book artifacts/ - - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ github.sha }}-guide path: ./artifacts/ @@ -119,10 +119,10 @@ jobs: environment: subsystem-benchmarks needs: [build-rustdoc, build-implementers-guide] steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: gh-pages - - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + - uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 id: app-token with: app-id: ${{ secrets.POLKADOTSDK_GHPAGES_APP_ID }} @@ -134,12 +134,12 @@ jobs: env: REF_NAME: ${{ github.head_ref || github.ref_name }} - name: Download rustdocs - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: ${{ github.sha }}-doc path: ${{ github.head_ref || github.ref_name }} - name: Download guide - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: ${{ github.sha }}-guide path: /tmp diff --git a/.github/workflows/misc-sync-templates.yml b/.github/workflows/misc-sync-templates.yml index 1531d96df0ca4..1faee67999ea4 100644 --- a/.github/workflows/misc-sync-templates.yml +++ b/.github/workflows/misc-sync-templates.yml @@ -45,9 +45,9 @@ jobs: package_name: 'parachain-template-runtime' runtime_path: './templates/parachain/runtime' runtime_wasm_path: parachain-template-runtime/parachain_template_runtime.compact.compressed.wasm - relay_chain: 'rococo-local' + relay_chain: 'westend-local' steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: "${{ github.event.inputs.stable_release_branch }}" @@ -80,7 +80,7 @@ jobs: cp dev_chain_spec.json artifacts-${{ matrix.template }}/dev_chain_spec.json - name: Upload template directory - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: artifacts-${{ matrix.template }} path: artifacts-${{ matrix.template }}/dev_chain_spec.json @@ -103,25 +103,25 @@ jobs: run: | git config --global user.name "Template Bot" git config --global user.email "163342540+paritytech-polkadotsdk-templatebot[bot]@users.noreply.github.com" - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: path: polkadot-sdk ref: "${{ github.event.inputs.stable_release_branch }}" - name: Download template artifacts - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: artifacts-${{ matrix.template }} path: templates/${{ matrix.template }}/ if: matrix.template != 'solochain' - name: Generate a token for the template repository id: app_token - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 with: owner: "paritytech" repositories: "polkadot-sdk-${{ matrix.template }}-template" app-id: ${{ secrets.TEMPLATE_APP_ID }} private-key: ${{ secrets.TEMPLATE_APP_KEY }} - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: "paritytech/polkadot-sdk-${{ matrix.template }}-template" path: "${{ env.template-path }}" @@ -134,10 +134,15 @@ jobs: run: | sudo apt update sudo apt install -y \ - protobuf-compiler + protobuf-compiler \ + clang rustup target add wasm32-unknown-unknown rustup component add rustfmt clippy rust-src + - name: List /usr/lib/libclang + if: ${{ github.event.inputs.debug }} + run: ls -alh /usr/lib/libclang* + # 2. Yanking the template out of the monorepo workspace. - name: Replace dev-dependencies path references with workspace references @@ -169,9 +174,13 @@ jobs: ] resolver = "2" - [workspace.dependencies] EOF + echo "$(toml get -r ../../Cargo.toml 'workspace.lints.rust' --output-toml)" >> Cargo.toml + echo "$(toml get -r ../../Cargo.toml 'workspace.lints.clippy' --output-toml)" >> Cargo.toml + echo "" >> Cargo.toml + + echo "[workspace.dependencies]" >> Cargo.toml echo "$(toml get -r ./runtime/Cargo.toml 'package.name') = { path = \"./runtime\", default-features = false }" >> Cargo.toml echo "$(toml get -r ./pallets/template/Cargo.toml 'package.name') = { path = \"./pallets/template\", default-features = false }" >> Cargo.toml @@ -274,7 +283,7 @@ jobs: timeout-minutes: 90 - name: Create PR on failure if: failure() && steps.check-compilation.outcome == 'failure' - uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v5 + uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v5 with: path: "${{ env.template-path }}" token: ${{ steps.app_token.outputs.token }} @@ -284,7 +293,7 @@ jobs: body: "The template has NOT been successfully built and needs to be inspected." branch: "update-template/${{ github.event.inputs.stable_release_branch }}" - name: Create PR on success - uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v5 + uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v5 with: path: "${{ env.template-path }}" token: ${{ steps.app_token.outputs.token }} diff --git a/.github/workflows/misc-update-wishlist-leaderboard.yml b/.github/workflows/misc-update-wishlist-leaderboard.yml index 6b8c6f36361b4..68f56b0bccddc 100644 --- a/.github/workflows/misc-update-wishlist-leaderboard.yml +++ b/.github/workflows/misc-update-wishlist-leaderboard.yml @@ -14,9 +14,9 @@ jobs: if: github.repository == 'paritytech/polkadot-sdk' runs-on: ubuntu-latest steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Python - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: '3.x' - name: Install dependencies diff --git a/.github/workflows/publish-check-compile.yml b/.github/workflows/publish-check-compile.yml index 741b7db2de846..d8efa02466de9 100644 --- a/.github/workflows/publish-check-compile.yml +++ b/.github/workflows/publish-check-compile.yml @@ -29,10 +29,10 @@ jobs: RUSTFLAGS: "-D warnings" SKIP_WASM_BUILD: 1 steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Rust Cache - uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1 + uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2 with: save-if: ${{ github.ref == 'refs/heads/master' }} diff --git a/.github/workflows/publish-check-crates.yml b/.github/workflows/publish-check-crates.yml index 967c66b78162b..9545bf2583473 100644 --- a/.github/workflows/publish-check-crates.yml +++ b/.github/workflows/publish-check-crates.yml @@ -19,10 +19,16 @@ jobs: runs-on: ubuntu-latest needs: isdraft steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: Install Rust + run: | + RUST_VERSION=$(cat .github/env | sed -E 's/.*ci-unified:[^-]+-([^-]+).*/\1/') + rustup install $RUST_VERSION + rustup default $RUST_VERSION - name: Rust Cache - uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1 + uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2 with: save-if: ${{ github.ref == 'refs/heads/master' }} diff --git a/.github/workflows/publish-claim-crates.yml b/.github/workflows/publish-claim-crates.yml index a4b2ade24ad5a..095910281ab42 100644 --- a/.github/workflows/publish-claim-crates.yml +++ b/.github/workflows/publish-claim-crates.yml @@ -10,15 +10,15 @@ jobs: runs-on: ubuntu-latest environment: master steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Rust Cache - uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1 + uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2 with: save-if: ${{ github.ref == 'refs/heads/master' }} - name: install parity-publish - run: cargo install parity-publish@0.10.4 --locked -q + run: cargo install parity-publish@0.10.6 --locked -q - name: parity-publish claim env: diff --git a/.github/workflows/release-10_branchoff-stable.yml b/.github/workflows/release-10_branchoff-stable.yml index 135b9c9908b53..c5893db5af11b 100644 --- a/.github/workflows/release-10_branchoff-stable.yml +++ b/.github/workflows/release-10_branchoff-stable.yml @@ -33,19 +33,22 @@ jobs: steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Validate inputs id: validate_inputs + env: + INPUT_NODE_VERSION: ${{ inputs.node_version }} + INPUT_STABLE_VERSION: ${{ inputs.stable_version }} run: | . ./.github/scripts/common/lib.sh - if [ -n "${{ inputs.node_version }}" ]; then - node_version=$(filter_version_from_input "${{ inputs.node_version }}") + if [ -n "$INPUT_NODE_VERSION" ]; then + node_version=$(filter_version_from_input "$INPUT_NODE_VERSION") echo "node_version=${node_version}" >> $GITHUB_OUTPUT fi - stable_version=$(validate_stable_tag ${{ inputs.stable_version }}) + stable_version=$(validate_stable_tag "$INPUT_STABLE_VERSION") echo "stable_version=${stable_version}" >> $GITHUB_OUTPUT create-stable-branch: @@ -69,14 +72,14 @@ jobs: - name: Generate content write token for the release automation id: generate_write_token - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 with: app-id: ${{ vars.RELEASE_AUTOMATION_APP_ID }} private-key: ${{ secrets.RELEASE_AUTOMATION_APP_PRIVATE_KEY }} owner: paritytech - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: master token: ${{ steps.generate_write_token.outputs.token }} @@ -103,10 +106,10 @@ jobs: - name: Bump versions, reorder prdocs and push stable branch env: GH_TOKEN: ${{ steps.generate_write_token.outputs.token }} + NODE_VERSION: ${{ needs.validate-inputs.outputs.node_version }} run: | . ./.github/scripts/release/release_lib.sh - NODE_VERSION="${{ needs.validate-inputs.outputs.node_version }}" NODE_VERSION_PATTERN="\(NODE_VERSION[^=]*= \)\".*\"" set_version "$NODE_VERSION_PATTERN" $NODE_VERSION "polkadot/node/primitives/src/lib.rs" commit_with_message "Bump node version to $NODE_VERSION in polkadot-cli" @@ -127,12 +130,14 @@ jobs: if: ${{ inputs.tag_rc }} env: GH_TOKEN: ${{ steps.generate_write_token.outputs.token }} # or use a PAT with workflow scope + STABLE_VERSION: ${{ needs.validate-inputs.outputs.stable_version }} + GH_REPOSITORY: ${{ github.repository }} run: | - stable_tag_base=polkadot-${{ needs.validate-inputs.outputs.stable_version }} + stable_tag_base="polkadot-${STABLE_VERSION}" gh workflow run release-11_rc-automation.yml \ - --repo ${{ github.repository }} \ - --ref ${{ needs.validate-inputs.outputs.stable_version }} \ - --field version=${stable_tag_base} + --repo "$GH_REPOSITORY" \ + --ref "$STABLE_VERSION" \ + --field version="${stable_tag_base}" tag-rc-without-branchoff: if: ${{ !inputs.is_new_stable && inputs.tag_rc }} diff --git a/.github/workflows/release-11_rc-automation.yml b/.github/workflows/release-11_rc-automation.yml index 470f20bc6a19b..3ef1baa616d9b 100644 --- a/.github/workflows/release-11_rc-automation.yml +++ b/.github/workflows/release-11_rc-automation.yml @@ -34,14 +34,14 @@ jobs: - name: Generate content write token for the release automation id: generate_write_token - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 with: app-id: ${{ vars.RELEASE_AUTOMATION_APP_ID }} private-key: ${{ secrets.RELEASE_AUTOMATION_APP_PRIVATE_KEY }} owner: paritytech - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 token: ${{ steps.generate_write_token.outputs.token }} @@ -64,14 +64,16 @@ jobs: # if: ${{ steps.get_rel_product.outputs.product == 'polkadot' }} id: compute_tag shell: bash + env: + INPUT_VERSION: ${{ inputs.version }} run: | . ./.github/scripts/common/lib.sh # Get last rc tag if exists, else set it to {version}-rc1 - if [[ -z "${{ inputs.version }}" ]]; then + if [[ -z "$INPUT_VERSION" ]]; then version=v$(get_polkadot_node_version_from_code) else - version=$(validate_stable_tag ${{ inputs.version }}) + version=$(validate_stable_tag "$INPUT_VERSION") fi echo "$version" echo "version=$version" >> $GITHUB_OUTPUT diff --git a/.github/workflows/release-20_build-rc.yml b/.github/workflows/release-20_build-rc.yml index 6d2420770a190..f98ec9359df84 100644 --- a/.github/workflows/release-20_build-rc.yml +++ b/.github/workflows/release-20_build-rc.yml @@ -40,21 +40,23 @@ jobs: validate-inputs: needs: [check-synchronization] - if: ${{ needs.check-synchronization.outputs.checks_passed }} == 'true' + if: needs.check-synchronization.outputs.checks_passed == 'true' runs-on: ubuntu-latest outputs: release_tag: ${{ steps.validate_inputs.outputs.release_tag }} steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Validate inputs id: validate_inputs + env: + INPUT_RELEASE_TAG: ${{ inputs.release_tag }} run: | . ./.github/scripts/common/lib.sh - RELEASE_TAG=$(validate_stable_tag ${{ inputs.release_tag }}) + RELEASE_TAG=$(validate_stable_tag "$INPUT_RELEASE_TAG") echo "release_tag=${RELEASE_TAG}" >> $GITHUB_OUTPUT build-polkadot-binary: diff --git a/.github/workflows/release-21_build-runtimes.yml b/.github/workflows/release-21_build-runtimes.yml index 731a5a5035205..764e7e2657b22 100644 --- a/.github/workflows/release-21_build-runtimes.yml +++ b/.github/workflows/release-21_build-runtimes.yml @@ -60,27 +60,29 @@ jobs: validate-inputs: needs: [check-synchronization] - if: ${{ needs.check-synchronization.outputs.checks_passed }} == 'true' + if: needs.check-synchronization.outputs.checks_passed == 'true' runs-on: ubuntu-latest outputs: release_tag: ${{ steps.validate_inputs.outputs.release_tag }} steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Validate inputs id: validate_inputs + env: + INPUT_RELEASE_TAG: ${{ inputs.release_tag }} run: | . ./.github/scripts/common/lib.sh - RELEASE_TAG=$(validate_stable_tag ${{ inputs.release_tag }}) + RELEASE_TAG=$(validate_stable_tag "$INPUT_RELEASE_TAG") echo "release_tag=${RELEASE_TAG}" >> $GITHUB_OUTPUT build-runtimes: needs: [validate-inputs] uses: "./.github/workflows/release-srtool.yml" with: - excluded_runtimes: "asset-hub-rococo bridge-hub-rococo coretime-rococo people-rococo rococo rococo-parachain substrate-test bp cumulus-test kitchensink minimal-template parachain-template penpal polkadot-test seedling shell frame-try sp solochain-template polkadot-sdk-docs-first pallet-staking-async-parachain pallet-staking-async-rc frame-storage-access-test yet-another-parachain revive-dev" + excluded_runtimes: "rococo asset-hub-rococo bridge-hub-rococo rococo substrate-test bp cumulus-test kitchensink minimal-template parachain-template penpal polkadot-test seedling shell frame-try sp solochain-template polkadot-sdk-docs-first pallet-staking-async-parachain pallet-staking-async-rc frame-storage-access-test yet-another-parachain revive-dev" build_opts: "--features on-chain-release-build" profile: production chain: ${{ inputs.chain }} diff --git a/.github/workflows/release-22_combined-rc-runtime-builds-release-draft.yml b/.github/workflows/release-22_combined-rc-runtime-builds-release-draft.yml index c06504ee64069..a82df10ff212b 100644 --- a/.github/workflows/release-22_combined-rc-runtime-builds-release-draft.yml +++ b/.github/workflows/release-22_combined-rc-runtime-builds-release-draft.yml @@ -61,20 +61,22 @@ jobs: validate-inputs: needs: [check-synchronization] - if: ${{ needs.check-synchronization.outputs.checks_passed }} == 'true' + if: needs.check-synchronization.outputs.checks_passed == 'true' runs-on: ubuntu-latest outputs: release_tag: ${{ steps.validate_inputs.outputs.release_tag }} steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Validate inputs id: validate_inputs + env: + INPUT_RELEASE_TAG: ${{ inputs.release_tag }} run: | . ./.github/scripts/common/lib.sh - RELEASE_TAG=$(validate_stable_tag ${{ inputs.release_tag }}) + RELEASE_TAG=$(validate_stable_tag "$INPUT_RELEASE_TAG") echo "release_tag=${RELEASE_TAG}" >> $GITHUB_OUTPUT build-runtimes-flow: diff --git a/.github/workflows/release-30_publish_release_draft.yml b/.github/workflows/release-30_publish_release_draft.yml index 024481cfa6814..230de26607cf3 100644 --- a/.github/workflows/release-30_publish_release_draft.yml +++ b/.github/workflows/release-30_publish_release_draft.yml @@ -63,21 +63,23 @@ jobs: validate-inputs: needs: [ check-synchronization ] - if: ${{ needs.check-synchronization.outputs.checks_passed }} == 'true' + if: needs.check-synchronization.outputs.checks_passed == 'true' runs-on: ubuntu-latest outputs: release_tag: ${{ steps.validate_inputs.outputs.release_tag }} steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Validate inputs id: validate_inputs + env: + INPUT_RELEASE_TAG: ${{ inputs.release_tag }} run: | . ./.github/scripts/common/lib.sh - RELEASE_TAG=$(validate_stable_tag ${{ inputs.release_tag }}) + RELEASE_TAG=$(validate_stable_tag "$INPUT_RELEASE_TAG") echo "release_tag=${RELEASE_TAG}" >> $GITHUB_OUTPUT @@ -91,11 +93,11 @@ jobs: steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Generate content write token for the release automation id: generate_write_token - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 with: app-id: ${{ vars.POLKADOT_SDK_RELEASE_RW_APP_ID }} private-key: ${{ secrets.POLKADOT_SDK_RELEASE_RW_APP_KEY }} @@ -106,10 +108,11 @@ jobs: if: ${{ inputs.no_runtimes == false && inputs.crates_only == false }} env: GITHUB_TOKEN: ${{ steps.generate_write_token.outputs.token }} + BUILD_RUN_ID: ${{ inputs.build_run_id }} run: | - mkdir -p ${{ github.workspace}}/runtimes/ - gh run download ${{ inputs.build_run_id }} --dir ${{ github.workspace}}/runtimes - ls -la ${{ github.workspace}}/runtimes + mkdir -p "${GITHUB_WORKSPACE}/runtimes/" + gh run download "$BUILD_RUN_ID" --dir "${GITHUB_WORKSPACE}/runtimes" + ls -la "${GITHUB_WORKSPACE}/runtimes" - name: Prepare tooling run: | @@ -131,6 +134,7 @@ jobs: RELEASE_TAG: ${{ needs.validate-inputs.outputs.release_tag }} NO_RUNTIMES: ${{ inputs.no_runtimes }} CRATES_ONLY: ${{ inputs.crates_only }} + GH_REF_NAME: ${{ github.ref_name }} shell: bash run: | . ./.github/scripts/common/lib.sh @@ -139,7 +143,7 @@ jobs: export REF1=$(get_latest_release_tag) if [[ -z "$RELEASE_TAG" ]]; then - export REF2="${{ github.ref_name }}" + export REF2="${GH_REF_NAME}" echo "REF2: ${REF2}" else export REF2="$RELEASE_TAG" @@ -157,7 +161,7 @@ jobs: ./scripts/release/build-changelogs.sh - name: Archive artifact context.json - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: release-notes-context path: | @@ -186,14 +190,14 @@ jobs: steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Download artifacts - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 - name: Generate content write token for the release automation id: generate_write_token - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 with: app-id: ${{ vars.POLKADOT_SDK_RELEASE_RW_APP_ID }} private-key: ${{ secrets.POLKADOT_SDK_RELEASE_RW_APP_KEY }} @@ -203,28 +207,32 @@ jobs: - name: Download runtimes env: GITHUB_TOKEN: ${{ steps.generate_write_token.outputs.token }} + BUILD_RUN_ID: ${{ inputs.build_run_id }} run: | - mkdir -p ${{ github.workspace}}/runtimes/ - gh run download ${{ inputs.build_run_id }} --dir ${{ github.workspace}}/runtimes - ls -la ${{ github.workspace}}/runtimes + mkdir -p "${GITHUB_WORKSPACE}/runtimes/" + gh run download "$BUILD_RUN_ID" --dir "${GITHUB_WORKSPACE}/runtimes" + ls -la "${GITHUB_WORKSPACE}/runtimes" - name: Get runtime info env: + CHAIN: ${{ matrix.chain }} JSON: ${{ github.workspace}}/release-notes-context/runtimes/${{ matrix.chain }}-runtime/${{ matrix.chain }}-srtool-digest.json run: | - cd ${{ github.workspace}}/runtimes - >>$GITHUB_ENV echo ASSET=$(find ${{ matrix.chain }}-runtime -name '*.compact.compressed.wasm') + cd "${GITHUB_WORKSPACE}/runtimes" + >>$GITHUB_ENV echo ASSET=$(find "${CHAIN}-runtime" -name '*.compact.compressed.wasm') >>$GITHUB_ENV echo SPEC=$(<${JSON} jq -r .runtimes.compact.subwasm.core_version.specVersion) - name: Upload compressed ${{ matrix.chain }} v${{ env.SPEC }} wasm working-directory: ${{ github.workspace}}/runtimes env: GITHUB_TOKEN: ${{ steps.generate_write_token.outputs.token }} + CHAIN: ${{ matrix.chain }} + VALIDATED_RELEASE_TAG: ${{ needs.validate-inputs.outputs.release_tag }} run: | - VERSIONED_ASSET="${{ matrix.chain }}_runtime-v${{ env.SPEC }}.compact.compressed.wasm" + VERSIONED_ASSET="${CHAIN}_runtime-v${{ env.SPEC }}.compact.compressed.wasm" mv "${{ env.ASSET }}" "$VERSIONED_ASSET" - gh release upload ${{ needs.validate-inputs.outputs.release_tag }} \ + gh release upload "$VALIDATED_RELEASE_TAG" \ --repo paritytech/polkadot-sdk "$VERSIONED_ASSET" publish-release-artifacts: @@ -235,35 +243,40 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - binary: [ polkadot, polkadot-execute-worker, polkadot-prepare-worker, polkadot-parachain, polkadot-omni-node, frame-omni-bencher, chain-spec-builder ] + binary: [ polkadot, polkadot-execute-worker, polkadot-prepare-worker, polkadot-parachain, polkadot-omni-node, frame-omni-bencher, chain-spec-builder, eth-rpc ] target: [ x86_64-unknown-linux-gnu, aarch64-apple-darwin ] steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Fetch binaries from s3 based on version + env: + VERSION: ${{ needs.validate-inputs.outputs.release_tag }} + BINARY: ${{ matrix.binary }} + TARGET: ${{ matrix.target }} run: | . ./.github/scripts/common/lib.sh - VERSION="${{ needs.validate-inputs.outputs.release_tag }}" - fetch_release_artifacts_from_s3 ${{ matrix.binary }} ${{ matrix.target }} + fetch_release_artifacts_from_s3 "$BINARY" "$TARGET" - name: Rename aarch64-apple-darwin binaries if: ${{ matrix.target == 'aarch64-apple-darwin' }} working-directory: ${{ github.workspace}}/release-artifacts/${{ matrix.target }}/${{ matrix.binary }} + env: + BINARY: ${{ matrix.binary }} run: | . ../../../.github/scripts/common/lib.sh - mv ${{ matrix.binary }} ${{ matrix.binary }}-aarch64-apple-darwin - mv ${{ matrix.binary }}.asc ${{ matrix.binary }}-aarch64-apple-darwin.asc + mv "$BINARY" "${BINARY}-aarch64-apple-darwin" + mv "${BINARY}.asc" "${BINARY}-aarch64-apple-darwin.asc" - sha256sum "${{ matrix.binary }}-aarch64-apple-darwin" | tee "${{ matrix.binary }}-aarch64-apple-darwin.sha256" - check_sha256 "${{ matrix.binary }}-aarch64-apple-darwin" && echo "OK" || echo "ERR" + sha256sum "${BINARY}-aarch64-apple-darwin" | tee "${BINARY}-aarch64-apple-darwin.sha256" + check_sha256 "${BINARY}-aarch64-apple-darwin" && echo "OK" || echo "ERR" - name: Generate content write token for the release automation id: generate_write_token - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 with: app-id: ${{ vars.POLKADOT_SDK_RELEASE_RW_APP_ID }} private-key: ${{ secrets.POLKADOT_SDK_RELEASE_RW_APP_KEY }} @@ -273,20 +286,23 @@ jobs: - name: Upload ${{ matrix.binary }} binary to release draft env: GITHUB_TOKEN: ${{ steps.generate_write_token.outputs.token }} + BINARY: ${{ matrix.binary }} + TARGET: ${{ matrix.target }} + VALIDATED_RELEASE_TAG: ${{ needs.validate-inputs.outputs.release_tag }} working-directory: ${{ github.workspace}}/release-artifacts/${{ matrix.target }}/${{ matrix.binary }} run: | - if [[ ${{ matrix.target }} == "aarch64-apple-darwin" ]]; then - gh release upload ${{ needs.validate-inputs.outputs.release_tag }} \ + if [[ "$TARGET" == "aarch64-apple-darwin" ]]; then + gh release upload "$VALIDATED_RELEASE_TAG" \ --repo paritytech/polkadot-sdk \ - ${{ matrix.binary }}-aarch64-apple-darwin \ - ${{ matrix.binary }}-aarch64-apple-darwin.asc \ - ${{ matrix.binary }}-aarch64-apple-darwin.sha256 + "${BINARY}-aarch64-apple-darwin" \ + "${BINARY}-aarch64-apple-darwin.asc" \ + "${BINARY}-aarch64-apple-darwin.sha256" else - gh release upload ${{ needs.validate-inputs.outputs.release_tag }} \ + gh release upload "$VALIDATED_RELEASE_TAG" \ --repo paritytech/polkadot-sdk \ - ${{ matrix.binary }} \ - ${{ matrix.binary }}.asc \ - ${{ matrix.binary }}.sha256 + "$BINARY" \ + "${BINARY}.asc" \ + "${BINARY}.sha256" fi post_to_matrix: diff --git a/.github/workflows/release-31_promote-rc-to-final.yml b/.github/workflows/release-31_promote-rc-to-final.yml index adbf03421c3af..3e3e9b7a39b48 100644 --- a/.github/workflows/release-31_promote-rc-to-final.yml +++ b/.github/workflows/release-31_promote-rc-to-final.yml @@ -28,6 +28,10 @@ on: description: Tag matching the actual release candidate with the format polkadot-stableYYMM(-X)-rcX type: string required: true + outputs: + final_tag: + description: "Final release tag without RC suffix (e.g., polkadot-stableYYMM)" + value: ${{ jobs.validate-inputs.outputs.final_tag }} jobs: @@ -39,7 +43,7 @@ jobs: validate-inputs: needs: [ check-synchronization ] - if: ${{ needs.check-synchronization.outputs.checks_passed }} == 'true' + if: needs.check-synchronization.outputs.checks_passed == 'true' runs-on: ubuntu-latest outputs: release_tag: ${{ steps.validate_inputs.outputs.release_tag }} @@ -47,16 +51,22 @@ jobs: steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Validate inputs id: validate_inputs + env: + INPUT_RELEASE_TAG: ${{ inputs.release_tag }} run: | . ./.github/scripts/common/lib.sh - RELEASE_TAG=$(validate_stable_tag ${{ inputs.release_tag }}) + RELEASE_TAG=$(validate_stable_tag "$INPUT_RELEASE_TAG") echo "release_tag=${RELEASE_TAG}" >> $GITHUB_OUTPUT + # Calculate final tag by removing -rc suffix + FINAL_TAG="$(echo ${RELEASE_TAG} | sed 's/-rc[0-9]*$//')" + echo "final_tag=${FINAL_TAG}" >> $GITHUB_OUTPUT + promote-polkadot-rc-to-final: if: ${{ inputs.binary == 'polkadot' || inputs.binary == 'all' }} needs: [ validate-inputs ] @@ -67,6 +77,7 @@ jobs: with: package: polkadot release_tag: ${{ needs.validate-inputs.outputs.release_tag }} + final_tag: ${{ needs.validate-inputs.outputs.final_tag }} target: ${{ matrix.target }} secrets: AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} @@ -83,6 +94,7 @@ jobs: with: package: polkadot-parachain release_tag: ${{ needs.validate-inputs.outputs.release_tag }} + final_tag: ${{ needs.validate-inputs.outputs.final_tag }} target: ${{ matrix.target }} secrets: AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} @@ -99,6 +111,7 @@ jobs: with: package: polkadot-omni-node release_tag: ${{ needs.validate-inputs.outputs.release_tag }} + final_tag: ${{ needs.validate-inputs.outputs.final_tag }} target: ${{ matrix.target }} secrets: AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} @@ -115,6 +128,7 @@ jobs: with: package: frame-omni-bencher release_tag: ${{ needs.validate-inputs.outputs.release_tag }} + final_tag: ${{ needs.validate-inputs.outputs.final_tag }} target: ${{ matrix.target }} secrets: AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} @@ -131,6 +145,7 @@ jobs: with: package: chain-spec-builder release_tag: ${{ needs.validate-inputs.outputs.release_tag }} + final_tag: ${{ needs.validate-inputs.outputs.final_tag }} target: ${{ matrix.target }} secrets: AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} diff --git a/.github/workflows/release-40_publish-deb-package.yml b/.github/workflows/release-40_publish-deb-package.yml index 70c3ad0ae3488..75c3fb2758962 100644 --- a/.github/workflows/release-40_publish-deb-package.yml +++ b/.github/workflows/release-40_publish-deb-package.yml @@ -29,7 +29,13 @@ on: type: string jobs: + check-synchronization: + uses: paritytech-release/sync-workflows/.github/workflows/check-synchronization.yml@main + secrets: + fork_writer_app_key: ${{ secrets.UPSTREAM_CONTENT_SYNC_APP_KEY }} call-publish-workflow: + needs: [check-synchronization] + if: needs.check-synchronization.outputs.checks_passed == 'true' uses: ./.github/workflows/release-reusable-publish-packages.yml with: tag: ${{ inputs.tag }} diff --git a/.github/workflows/release-41_publish-rpm-package.yml b/.github/workflows/release-41_publish-rpm-package.yml index 6b6b05125c31c..9caf66558add6 100644 --- a/.github/workflows/release-41_publish-rpm-package.yml +++ b/.github/workflows/release-41_publish-rpm-package.yml @@ -9,6 +9,11 @@ on: default: polkadot-stable2412 required: true type: string + distribution: + description: Distribution where to publish rpm package (release, staging) + default: release + required: true + type: string workflow_call: inputs: @@ -16,14 +21,25 @@ on: description: Current final release tag in the format polkadot-stableYYMM or polkadot-stable-YYMM-X required: true type: string + distribution: + description: Distribution where to publish rpm package (release, staging) + default: release + required: true + type: string jobs: + check-synchronization: + uses: paritytech-release/sync-workflows/.github/workflows/check-synchronization.yml@main + secrets: + fork_writer_app_key: ${{ secrets.UPSTREAM_CONTENT_SYNC_APP_KEY }} call-publish-workflow: + needs: [check-synchronization] + if: needs.check-synchronization.outputs.checks_passed == 'true' uses: ./.github/workflows/release-reusable-publish-packages.yml with: tag: ${{ inputs.tag }} distribution: ${{ inputs.distribution }} package_type: 'rpm' - aws_repo_base_path: "s3://releases-package-repos" + aws_repo_base_path: ${{ inputs.distribution == 'release' && 's3://releases-package-repos' || 's3://staging-package-repos' }} cloudfront_distribution_id: "E36FKEYWDXAZYJ" secrets: inherit diff --git a/.github/workflows/release-50_publish-docker.yml b/.github/workflows/release-50_publish-docker.yml index 3ee8086d3c318..ec772c9b241ec 100644 --- a/.github/workflows/release-50_publish-docker.yml +++ b/.github/workflows/release-50_publish-docker.yml @@ -107,7 +107,7 @@ jobs: validate-inputs: needs: [check-synchronization] - if: ${{ needs.check-synchronization.outputs.checks_passed }} == 'true' + if: needs.check-synchronization.outputs.checks_passed == 'true' runs-on: ubuntu-latest outputs: version: ${{ steps.validate_inputs.outputs.VERSION }} @@ -115,17 +115,20 @@ jobs: steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Validate inputs id: validate_inputs + env: + INPUT_VERSION: ${{ inputs.version }} + INPUT_STABLE_TAG: ${{ inputs.stable_tag }} run: | . ./.github/scripts/common/lib.sh - VERSION=$(filter_version_from_input "${{ inputs.version }}") + VERSION=$(filter_version_from_input "$INPUT_VERSION") echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT - STABLE_TAG=$(validate_stable_tag ${{ inputs.stable_tag }}) + STABLE_TAG=$(validate_stable_tag "$INPUT_STABLE_TAG") echo "stable_tag=${STABLE_TAG}" >> $GITHUB_OUTPUT fetch-artifacts: # this job will be triggered for the polkadot-parachain rc and release or polkadot rc image build @@ -135,15 +138,16 @@ jobs: steps: - name: Checkout sources if: ${{ inputs.binary == 'polkadot-omni-node' || inputs.binary == 'polkadot-parachain' || inputs.binary == 'chain-spec-builder' || inputs.image_type == 'rc' }} - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Fetch rc artifacts or release artifacts from s3 based on version if: ${{ inputs.binary == 'polkadot-omni-node' || inputs.binary == 'polkadot-parachain' || inputs.binary == 'chain-spec-builder' || inputs.image_type == 'rc' }} + env: + VERSION: ${{ needs.validate-inputs.outputs.stable_tag }} run: | . ./.github/scripts/common/lib.sh - VERSION="${{ needs.validate-inputs.outputs.stable_tag }}" - if [[ ${{ inputs.binary }} == 'polkadot' ]]; then + if [[ "$BINARY" == 'polkadot' ]]; then bins=(polkadot polkadot-prepare-worker polkadot-execute-worker) for bin in "${bins[@]}"; do fetch_release_artifacts_from_s3 $bin x86_64-unknown-linux-gnu @@ -154,7 +158,7 @@ jobs: - name: Upload artifacts if: ${{ inputs.binary == 'polkadot-omni-node' || inputs.binary == 'polkadot-parachain' || inputs.binary == 'chain-spec-builder' || inputs.image_type == 'rc' }} - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: release-artifacts-${{ env.BINARY }} path: release-artifacts/x86_64-unknown-linux-gnu/${{ env.BINARY }}/**/* @@ -166,11 +170,11 @@ jobs: steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Download artifacts if: ${{ inputs.binary == 'polkadot-omni-node' || inputs.binary == 'polkadot-parachain' || inputs.binary == 'chain-spec-builder' || inputs.image_type == 'rc' }} - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: release-artifacts-${{ env.BINARY }} path: release-artifacts @@ -197,24 +201,30 @@ jobs: if: ${{ env.IMAGE_TYPE == 'rc' }} id: fetch_rc_refs shell: bash + env: + VALIDATED_VERSION: ${{ needs.validate-inputs.outputs.version }} + VALIDATED_STABLE_TAG: ${{ needs.validate-inputs.outputs.stable_tag }} run: | . ../.github/scripts/common/lib.sh commit=$(git rev-parse --short HEAD) && \ echo "commit=${commit}" >> $GITHUB_OUTPUT - echo "release=$(echo ${{ needs.validate-inputs.outputs.version }})" >> $GITHUB_OUTPUT - echo "tag=$(prepare_docker_stable_tag ${{ needs.validate-inputs.outputs.stable_tag }})" >> $GITHUB_OUTPUT + echo "release=${VALIDATED_VERSION}" >> $GITHUB_OUTPUT + echo "tag=$(prepare_docker_stable_tag "$VALIDATED_STABLE_TAG")" >> $GITHUB_OUTPUT - name: Fetch release tags if: ${{ env.IMAGE_TYPE == 'release'}} id: fetch_release_refs shell: bash + env: + VALIDATED_VERSION: ${{ needs.validate-inputs.outputs.version }} + VALIDATED_STABLE_TAG: ${{ needs.validate-inputs.outputs.stable_tag }} run: | . .github/scripts/common/lib.sh echo "tag=latest" >> $GITHUB_OUTPUT - echo "release=$(echo ${{ needs.validate-inputs.outputs.version }})" >> $GITHUB_OUTPUT - echo "stable=$(prepare_docker_stable_tag ${{ needs.validate-inputs.outputs.stable_tag }})" >> $GITHUB_OUTPUT + echo "release=${VALIDATED_VERSION}" >> $GITHUB_OUTPUT + echo "stable=$(prepare_docker_stable_tag "$VALIDATED_STABLE_TAG")" >> $GITHUB_OUTPUT - name: Build Injected Container image for polkadot if: ${{ env.BINARY == 'polkadot' }} @@ -223,13 +233,14 @@ jobs: IMAGE_NAME: ${{ env.BINARY }} OWNER: ${{ env.DOCKER_OWNER }} TAGS: ${{ join(steps.fetch_rc_refs.outputs.*, ',') || join(steps.fetch_release_refs.outputs.*, ',') }} + VALIDATED_VERSION: ${{ needs.validate-inputs.outputs.version }} shell: bash run: | ls -al echo "Building container for $BINARY" - echo "IMAGE_TYPE: ${{ inputs.image_type }}" + echo "IMAGE_TYPE: $IMAGE_TYPE" - if [[ "${{ inputs.image_type }}" == "rc" ]]; then + if [[ "$IMAGE_TYPE" == "rc" ]]; then echo "Building RC container for polkadot" export DOCKERFILE="docker/dockerfiles/polkadot/polkadot_injected.Dockerfile" export BINARY="polkadot,polkadot-execute-worker,polkadot-prepare-worker" @@ -239,7 +250,7 @@ jobs: export DOCKERFILE="docker/dockerfiles/polkadot/polkadot_injected_debian.Dockerfile" export BINARY="polkadot,polkadot-execute-worker,polkadot-prepare-worker" export POLKADOT_DEB=true - export VERSION=${{ needs.validate-inputs.outputs.version }} + export VERSION="$VALIDATED_VERSION" ./docker/scripts/build-injected.sh fi @@ -277,14 +288,14 @@ jobs: - name: Login to Dockerhub to publish polkadot if: ${{ env.BINARY == 'polkadot' }} - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: username: ${{ secrets.POLKADOT_DOCKERHUB_USERNAME }} password: ${{ secrets.POLKADOT_DOCKERHUB_TOKEN }} - name: Login to Dockerhub to publish polkadot-omni-node/polkadot-parachain/chain-spec-builder if: ${{ env.BINARY == 'polkadot-omni-node' || env.BINARY == 'polkadot-parachain' || env.BINARY == 'chain-spec-builder' }} - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: username: ${{ secrets.CUMULUS_DOCKERHUB_USERNAME }} password: ${{ secrets.CUMULUS_DOCKERHUB_TOKEN }} diff --git a/.github/workflows/release-60_create-old-release-tag.yml b/.github/workflows/release-60_create-old-release-tag.yml index 0624ee485ff2b..23458e42cb95c 100644 --- a/.github/workflows/release-60_create-old-release-tag.yml +++ b/.github/workflows/release-60_create-old-release-tag.yml @@ -24,14 +24,14 @@ jobs: - name: Generate content write token for the release automation id: generate_write_token - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 with: app-id: ${{ vars.RELEASE_AUTOMATION_APP_ID }} private-key: ${{ secrets.RELEASE_AUTOMATION_APP_PRIVATE_KEY }} owner: paritytech - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.release.tag_name }} token: ${{ steps.generate_write_token.outputs.token }} diff --git a/.github/workflows/release-60_post-crates-release-activities.yml b/.github/workflows/release-60_post-crates-release-activities.yml index 75a7fec24eff9..e9ac2ec5460c2 100644 --- a/.github/workflows/release-60_post-crates-release-activities.yml +++ b/.github/workflows/release-60_post-crates-release-activities.yml @@ -1,22 +1,46 @@ name: Release - Post Crates Release Activities on: - push: - branches: - - 'post-crates-release-*' + workflow_dispatch: + inputs: + version: + description: 'Full release version identifier (e.g., stable2512 or stable2512-2)' + required: true + type: string + bump_node_version: + description: 'Bump NODE_VERSION? Select "yes" if this is the first run for this post-crates PR, "no" if re-running or if you have another reason not to bump' + required: true + type: choice + options: + - 'yes' + - 'no' + bump_spec_version: + description: 'Bump spec_version? Select "yes" to bump spec version for all runtimes, "no" if re-running or if you have another reason not to bump' + required: true + type: choice + options: + - 'yes' + - 'no' permissions: contents: write pull-requests: write jobs: + #check-synchronization: + # uses: paritytech-release/sync-workflows/.github/workflows/check-synchronization.yml@main + #secrets: + # fork_writer_app_key: ${{ secrets.UPSTREAM_CONTENT_SYNC_APP_KEY }} + set-image: + #needs: [ check-synchronization ] + #if: needs.check-synchronization.outputs.checks_passed == 'true' runs-on: ubuntu-latest outputs: IMAGE: ${{ steps.set_image.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - id: set_image run: cat .github/env >> $GITHUB_OUTPUT @@ -44,7 +68,7 @@ jobs: ls -la $(which pgpkms-git) - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 @@ -68,6 +92,7 @@ jobs: git config --global user.signingKey "D8018FBB3F534D866A45998293C5FB5F6A367B51" - name: Bump NODE_VERSION for polkadot + if: inputs.bump_node_version == 'yes' run: | echo "Bumping NODE_VERSION in polkadot..." FILE="polkadot/node/primitives/src/lib.rs" @@ -87,6 +112,7 @@ jobs: echo "Successfully bumped NODE_VERSION from $current_version to $new_version" - name: Bump NODE_VERSION for polkadot-parachain and polkadot-omni-node + if: inputs.bump_node_version == 'yes' run: | echo "Bumping NODE_VERSION in cumulus..." FILE="cumulus/polkadot-omni-node/lib/src/nodes/mod.rs" @@ -106,6 +132,7 @@ jobs: echo "Successfully bumped NODE_VERSION from $current_version to $new_version" - name: Commit NODE_VERSION bumps + if: inputs.bump_node_version == 'yes' shell: bash run: | . ./.github/scripts/release/release_lib.sh @@ -118,32 +145,50 @@ jobs: commit_with_message "Bump NODE_VERSION to $NODE_VERSION" echo "βœ… Successfully committed NODE_VERSION bump" - - name: Move prdocs to release folder + - name: Bump spec_version + if: inputs.bump_spec_version == 'yes' shell: bash run: | . ./.github/scripts/release/release_lib.sh - # Extract release name from branch name (everything after "post-crates-release-") - BRANCH_NAME="${{ github.ref_name }}" - echo "Branch name: $BRANCH_NAME" - - if [[ "$BRANCH_NAME" =~ post-crates-release-(.+)$ ]]; then - RELEASE_FOLDER="${BASH_REMATCH[1]}" - echo "Release folder name: $RELEASE_FOLDER" + FILE="polkadot/node/primitives/src/lib.rs" + NODE_VERSION=$(grep 'pub const NODE_VERSION' "$FILE" | grep -oE '"[0-9]+\.[0-9]+\.[0-9]+"' | tr -d '"') - # Use the reorder_prdocs helper function - reorder_prdocs "$RELEASE_FOLDER" + # Determine if this is a patch release or new stable release + patch=$(echo "$NODE_VERSION" | awk -F'[.-]' '{print $3}') + if [ "$patch" -gt 0 ]; then + IS_PATCH_RELEASE="true" + printf "πŸ“‹ Patch release detected (patch=$patch) - bumping spec_version patch part\n" else - echo "WARNING: Could not extract release name from branch name: $BRANCH_NAME" - echo "Expected format: post-crates-release-" - exit 1 + IS_PATCH_RELEASE="false" + printf "πŸ“‹ New stable release detected - bumping spec_version minor part\n" fi + runtimes_list=$(get_filtered_runtimes_list) + + for f in ${runtimes_list[@]}; do + new_version=$(bump_spec_version "$f" "$IS_PATCH_RELEASE") + printf " πŸ”„ $f β†’ spec_version: $new_version\n" + done + + commit_with_message "Bump spec_version for $([ \"$IS_PATCH_RELEASE\" = \"true\" ] && echo \"patch\" || echo \"stable\") release" + + - name: Move prdocs to release folder + shell: bash + env: + VERSION: ${{ inputs.version }} + run: | + . ./.github/scripts/release/release_lib.sh + + echo "Version: $VERSION" + + reorder_prdocs "$VERSION" + - name: Replace path dependencies run: | echo "Running replace-all-path-deps.sh..." bash scripts/release/replace-all-path-deps.sh - + # Show git diff to see what changed git diff --stat @@ -151,7 +196,7 @@ jobs: run: | echo "Running delete-versions-if-path-is-present.sh..." bash scripts/release/delete-versions-if-path-is-present.sh - + # Show git diff to see what changed git diff --stat @@ -159,10 +204,14 @@ jobs: run: | echo "Running delete-version-from-umbrella.sh..." bash scripts/release/delete-version-from-umbrella.sh - + # Show git diff to see what changed git diff --stat + - name: Install newer Zepter + run: | + cargo install zepter@1.82.1 --locked -q && zepter --version + - name: Run Zepter - check issues run: | echo "Running zepter run check to identify issues..." @@ -242,53 +291,95 @@ jobs: echo "No changes to commit" fi + - name: Generate token for paritytech/polkadot-sdk + id: generate_write_token + uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 + with: + app-id: ${{ vars.POLKADOT_SDK_RELEASE_RW_APP_ID }} + private-key: ${{ secrets.POLKADOT_SDK_RELEASE_RW_APP_KEY }} + owner: paritytech + repositories: polkadot-sdk + - name: Create Pull Request to base release branch env: - GH_TOKEN: ${{ github.token }} + GH_TOKEN: ${{ steps.generate_write_token.outputs.token }} + BRANCH_NAME: ${{ github.ref_name }} + FULL_RELEASE: ${{ inputs.version }} + GH_REPOSITORY: ${{ github.repository }} + GH_REPOSITORY_OWNER: ${{ github.repository_owner }} shell: bash run: | - BRANCH_NAME="${{ github.ref_name }}" echo "Current branch: $BRANCH_NAME" + echo "Version: $FULL_RELEASE" - # Extract base release branch name - if [[ "$BRANCH_NAME" =~ ^post-crates-release-(.+)$ ]]; then - FULL_RELEASE="${BASH_REMATCH[1]}" + # Extract base release branch name by removing the last segment after dash + if [[ "$FULL_RELEASE" =~ ^(.+)-[^-]+$ ]]; then + BASE_RELEASE="${BASH_REMATCH[1]}" + else + BASE_RELEASE="$FULL_RELEASE" + fi - if [[ "$FULL_RELEASE" =~ ^(.+)-[^-]+$ ]]; then - BASE_RELEASE="${BASH_REMATCH[1]}" - else - BASE_RELEASE="$FULL_RELEASE" - fi + TARGET_REPO="paritytech/polkadot-sdk" - echo "Creating PR from $BRANCH_NAME to $BASE_RELEASE..." + # Determine if running from a fork or the main repo + if [ "$GH_REPOSITORY" = "$TARGET_REPO" ]; then + # Same-repo PR: head is just the branch name + PR_HEAD="$BRANCH_NAME" + EXTRA_FLAGS="" + else + # Cross-fork PR: head needs the fork owner prefix + FORK_OWNER="$GH_REPOSITORY_OWNER" + PR_HEAD="${FORK_OWNER}:${BRANCH_NAME}" + EXTRA_FLAGS="--no-maintainer-edit" + fi + + # Check if PR already exists + EXISTING_PR=$(gh pr list --repo "$TARGET_REPO" --head "$PR_HEAD" --base "$BASE_RELEASE" --json number --jq '.[0].number') + + if [ -n "$EXISTING_PR" ]; then + echo "βœ… PR #$EXISTING_PR already exists for this branch" + echo "PR URL: $(gh pr view $EXISTING_PR --repo "$TARGET_REPO" --json url --jq '.url')" + else + echo "Creating PR from $PR_HEAD to $BASE_RELEASE in $TARGET_REPO..." gh pr create \ - --title "Post crates release activities for $BASE_RELEASE" \ + --repo "$TARGET_REPO" \ + --title "[${BASE_RELEASE}] Post crates release activities for $FULL_RELEASE" \ --body "Automated PR containing post-crates-release activities: - - NODE_VERSION bumps - - Path dependencies replacement - - Zepter fixes - - Taplo formatting - - PRDocs reorganization" \ + - NODE_VERSION bumps (if selected) + - Path dependencies replacement + - Zepter fixes + - Taplo formatting + - PRDocs reorganization (if prdocs exist)" \ --base "$BASE_RELEASE" \ - --head "$BRANCH_NAME" || echo "PR may already exist or there was an error creating it" - else - echo "ERROR: Could not extract base release branch from: $BRANCH_NAME, probably wrong format" - exit 1 + --head "$PR_HEAD" \ + $EXTRA_FLAGS + echo "PR created successfully" fi - name: Add comment about spec_version env: - GH_TOKEN: ${{ github.token }} + GH_TOKEN: ${{ steps.generate_write_token.outputs.token }} + BRANCH_NAME: ${{ github.ref_name }} + GH_REPOSITORY: ${{ github.repository }} + GH_REPOSITORY_OWNER: ${{ github.repository_owner }} shell: bash run: | - BRANCH_NAME="${{ github.ref_name }}" + TARGET_REPO="paritytech/polkadot-sdk" + + # Match the head format used when creating the PR + if [ "$GH_REPOSITORY" = "$TARGET_REPO" ]; then + PR_HEAD="$BRANCH_NAME" + else + FORK_OWNER="$GH_REPOSITORY_OWNER" + PR_HEAD="${FORK_OWNER}:${BRANCH_NAME}" + fi - # Find the PR number for this branch - PR_NUMBER=$(gh pr list --head "$BRANCH_NAME" --json number --jq '.[0].number') + # Find the PR number for this branch in the upstream repo + PR_NUMBER=$(gh pr list --repo "$TARGET_REPO" --head "$PR_HEAD" --json number --jq '.[0].number') if [ -n "$PR_NUMBER" ]; then echo "Adding comment to PR #$PR_NUMBER..." - gh pr comment "$PR_NUMBER" --body "⚠️ **Reminder:** spec_version is not bumped automatically as part of this flow. Please ensure it is updated manually if required." + gh pr comment "$PR_NUMBER" --repo "$TARGET_REPO" --body "⚠️ **Reminder:** If spec_version was not bumped automatically as part of this flow. Please ensure it is updated manually if required." else - echo "WARNING: Could not find PR for branch $BRANCH_NAME" + echo "⚠️ WARNING: Could not find PR for branch $PR_HEAD" fi diff --git a/.github/workflows/release-70_combined-publish-release.yml b/.github/workflows/release-70_combined-publish-release.yml index 6f1953da63ec2..497e2cd17a5f1 100644 --- a/.github/workflows/release-70_combined-publish-release.yml +++ b/.github/workflows/release-70_combined-publish-release.yml @@ -9,7 +9,7 @@ on: workflow_dispatch: inputs: release_tag: - description: Release tag in the format polkadot-stableYYMM or polkadot-stableYYMM-X or polkadot-stableYYMM(-X)-rcX + description: Release RC tag in the format polkadot-stableYYMM(-X)-rcX type: string required: true @@ -26,21 +26,6 @@ on: - frame-omni-bencher - chain-spec-builder - image_type: - description: Type of Docker image (rc for release candidates, release for final) - required: true - default: rc - type: choice - options: - - rc - - release - - distribution: - description: Distribution for Debian package (release, staging, stable2407, etc) - default: staging - required: true - type: string - registry: description: Container registry for Docker images required: true @@ -54,7 +39,13 @@ on: default: parity version: - description: Version for Docker tags in format v1.16.0 or v1.16.0-rc1 + description: Version for Docker tags in format v1.16.0 + required: true + type: string + + distribution: + description: Distribution where to publish rpm package (release, staging) + default: release required: true type: string @@ -71,7 +62,7 @@ jobs: promote-rc-to-final: name: Promote RC to final on S3 needs: [check-synchronization] - if: ${{ needs.check-synchronization.outputs.checks_passed }} == 'true' + if: needs.check-synchronization.outputs.checks_passed == 'true' uses: ./.github/workflows/release-31_promote-rc-to-final.yml with: binary: ${{ inputs.binary }} @@ -86,8 +77,8 @@ jobs: needs: [promote-rc-to-final] uses: ./.github/workflows/release-40_publish-deb-package.yml with: - tag: ${{ inputs.release_tag }} - distribution: ${{ inputs.distribution }} + tag: ${{ needs.promote-rc-to-final.outputs.final_tag }} + distribution: release secrets: inherit publish-rpm-package: @@ -95,7 +86,8 @@ jobs: needs: [promote-rc-to-final] uses: ./.github/workflows/release-41_publish-rpm-package.yml with: - tag: ${{ inputs.release_tag }} + tag: ${{ needs.promote-rc-to-final.outputs.final_tag }} + distribution: ${{ inputs.distribution }} secrets: inherit # ============================================== @@ -103,60 +95,67 @@ jobs: # ============================================== publish-docker-polkadot: name: Publish Docker image - polkadot - # needs: [publish-deb-package, publish-rpm-package] - needs: [check-synchronization] + needs: [promote-rc-to-final, publish-deb-package] if: ${{ inputs.binary == 'polkadot' || inputs.binary == 'all' }} uses: ./.github/workflows/release-50_publish-docker.yml with: - image_type: ${{ inputs.image_type }} + image_type: release binary: polkadot registry: ${{ inputs.registry }} owner: ${{ inputs.owner }} version: ${{ inputs.version }} - stable_tag: ${{ inputs.release_tag }} + stable_tag: ${{ needs.promote-rc-to-final.outputs.final_tag }} secrets: inherit + permissions: + contents: write publish-docker-polkadot-parachain: name: Publish Docker image - polkadot-parachain # needs: [publish-deb-package, publish-rpm-package] - needs: [check-synchronization] + needs: [promote-rc-to-final] if: ${{ inputs.binary == 'polkadot-parachain' || inputs.binary == 'all' }} uses: ./.github/workflows/release-50_publish-docker.yml with: - image_type: ${{ inputs.image_type }} + image_type: release binary: polkadot-parachain registry: ${{ inputs.registry }} owner: ${{ inputs.owner }} version: ${{ inputs.version }} - stable_tag: ${{ inputs.release_tag }} + stable_tag: ${{ needs.promote-rc-to-final.outputs.final_tag }} secrets: inherit + permissions: + contents: write publish-docker-polkadot-omni-node: name: Publish Docker image - polkadot-omni-node # needs: [publish-deb-package, publish-rpm-package] - needs: [check-synchronization] + needs: [promote-rc-to-final] if: ${{ inputs.binary == 'polkadot-omni-node' || inputs.binary == 'all' }} uses: ./.github/workflows/release-50_publish-docker.yml with: - image_type: ${{ inputs.image_type }} + image_type: release binary: polkadot-omni-node registry: ${{ inputs.registry }} owner: ${{ inputs.owner }} version: ${{ inputs.version }} - stable_tag: ${{ inputs.release_tag }} + stable_tag: ${{ needs.promote-rc-to-final.outputs.final_tag }} secrets: inherit + permissions: + contents: write publish-docker-chain-spec-builder: name: Publish Docker image - chain-spec-builder # needs: [publish-deb-package, publish-rpm-package] - needs: [check-synchronization] + needs: [promote-rc-to-final] if: ${{ inputs.binary == 'chain-spec-builder' || inputs.binary == 'all' }} uses: ./.github/workflows/release-50_publish-docker.yml with: - image_type: ${{ inputs.image_type }} + image_type: release binary: chain-spec-builder registry: ${{ inputs.registry }} owner: ${{ inputs.owner }} version: ${{ inputs.version }} - stable_tag: ${{ inputs.release_tag }} + stable_tag: ${{ needs.promote-rc-to-final.outputs.final_tag }} secrets: inherit + permissions: + contents: write diff --git a/.github/workflows/release-80_publish-crates.yml b/.github/workflows/release-80_publish-crates.yml new file mode 100644 index 0000000000000..b72493eb92567 --- /dev/null +++ b/.github/workflows/release-80_publish-crates.yml @@ -0,0 +1,274 @@ +name: Release - Publish Crates + +on: + workflow_dispatch: + inputs: + release_name: + description: 'Release name (e.g., stable2509-3). Base branch is derived by removing the last -N suffix.' + required: true + type: string + registry: + description: 'Registry to publish crates to' + required: true + type: choice + options: + - staging.crates.io + - crates.io + default: staging.crates.io + is_patch: + description: 'Is this a patch release? (Set to false for new stable releases)' + required: true + type: boolean + default: true + dry_run: + description: 'Dry run - do not actually publish crates' + required: true + type: boolean + default: true + +permissions: + contents: write + +jobs: + check-synchronization: + uses: paritytech-release/sync-workflows/.github/workflows/check-synchronization.yml@main + secrets: + fork_writer_app_key: ${{ secrets.UPSTREAM_CONTENT_SYNC_APP_KEY }} + + set-image: + needs: [ check-synchronization ] + if: needs.check-synchronization.outputs.checks_passed == 'true' + runs-on: ubuntu-latest + outputs: + IMAGE: ${{ steps.set_image.outputs.IMAGE }} + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - id: set_image + run: cat .github/env >> $GITHUB_OUTPUT + + publish-crates: + needs: set-image + runs-on: ubuntu-latest + environment: release + env: + PGP_KMS_KEY: ${{ secrets.PGP_KMS_SIGN_COMMITS_KEY }} + PGP_KMS_HASH: ${{ secrets.PGP_KMS_HASH }} + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} + container: + image: ${{ needs.set-image.outputs.IMAGE }} + + steps: + - name: Install pgpkms + run: | + # Install pgpkms that is used to sign commits + pip install git+https://github.com/paritytech-release/pgpkms.git@6cb1cecce1268412189b77e4b130f4fa248c4151 + + - name: Derive stable branch from release name + id: derive_branch + shell: bash + env: + RELEASE_NAME: ${{ inputs.release_name }} + run: | + echo "Release name: $RELEASE_NAME" + + # Extract stable branch by removing the last -N suffix + # e.g., stable2509-3 -> stable2509 + if [[ "$RELEASE_NAME" =~ ^(.+)-[0-9]+$ ]]; then + STABLE_BRANCH="${BASH_REMATCH[1]}" + else + # If no suffix, use the release name as-is (first release) + STABLE_BRANCH="$RELEASE_NAME" + fi + + echo "Stable branch: $STABLE_BRANCH" + echo "STABLE_BRANCH=$STABLE_BRANCH" >> $GITHUB_OUTPUT + + echo "CRATES_RELEASE_BRANCH=post-crates-release-$RELEASE_NAME" >> $GITHUB_OUTPUT + + - name: Checkout stable branch + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + ref: ${{ steps.derive_branch.outputs.STABLE_BRANCH }} + fetch-depth: 0 + + - name: Import GPG keys + shell: bash + run: | + . ./.github/scripts/common/lib.sh + import_gpg_keys + + - name: Configure git + shell: bash + run: | + git config --global --add safe.directory "${GITHUB_WORKSPACE}" + git config --global commit.gpgsign true + PGPKMS_PATH=$(which pgpkms-git) + echo "Using pgpkms-git at: $PGPKMS_PATH" + git config --global gpg.program "$PGPKMS_PATH" + git config --global user.name "ParityReleases" + git config --global user.email "release-team@parity.io" + git config --global user.signingKey "D8018FBB3F534D866A45998293C5FB5F6A367B51" + + - name: Create or switch to release branch + shell: bash + env: + CRATES_RELEASE_BRANCH: ${{ steps.derive_branch.outputs.CRATES_RELEASE_BRANCH }} + run: | + + if git rev-parse --verify -q "$CRATES_RELEASE_BRANCH" &>/dev/null; then + echo "Branch $CRATES_RELEASE_BRANCH already exists, switching to it" + git checkout "$CRATES_RELEASE_BRANCH" + else + echo "Creating branch: $CRATES_RELEASE_BRANCH" + git checkout -b "$CRATES_RELEASE_BRANCH" + fi + echo "On branch $CRATES_RELEASE_BRANCH" + + - name: Install Rust 1.93 + shell: bash + run: | + rustup install 1.93 + rustup default 1.93 + echo "Rust version:" + rustc --version + cargo --version + + - name: Rust Cache + uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2 + with: + cache-on-failure: true + + - name: Install parity-publish + run: | + apt-get update && apt-get install -y --no-install-recommends libcurl4-openssl-dev pkg-config + cargo install parity-publish@0.10.10 --locked -q + + - name: Run parity-publish plan + run: | + echo "Running parity-publish plan..." + parity-publish plan --prdoc prdoc + + - name: Save Plan.toml diff + if: inputs.is_patch + env: + RELEASE_NAME: ${{ inputs.release_name }} + run: | + mkdir -p release-artifacts + + echo "Saving Plan.toml diff..." + git diff Plan.toml > "release-artifacts/changed_crates_${RELEASE_NAME}.txt" + + echo "Plan.toml changes:" + cat "release-artifacts/changed_crates_${RELEASE_NAME}.txt" + + - name: Parse crate names for release notes + if: inputs.is_patch + shell: bash + env: + RELEASE_NAME: ${{ inputs.release_name }} + run: | + + echo "Parsing crate names..." + python3 scripts/release/parse-crates-names.py \ + "release-artifacts/changed_crates_${RELEASE_NAME}.txt" \ + scripts/release/templates/crates_list.md.tera + + echo "Crates list:" + cat scripts/release/templates/crates_list.md.tera + + - name: Commit Plan.toml and crates list + shell: bash + env: + IS_PATCH: ${{ inputs.is_patch }} + RELEASE_NAME: ${{ inputs.release_name }} + run: | + . ./.github/scripts/release/release_lib.sh + + git add Plan.toml + if [ "$IS_PATCH" = true ]; then + git add scripts/release/templates/crates_list.md.tera + fi + + if [[ -n $(git status --porcelain) ]]; then + commit_with_message "chore: update Plan.toml and crates list for $RELEASE_NAME" + echo "Committed Plan.toml and crates list" + else + echo "No changes to commit" + fi + + - name: Run parity-publish apply + run: | + echo "Running parity-publish apply..." + parity-publish apply + + - name: Update Cargo.lock + run: | + echo "Updating Cargo.lock..." + cargo update --workspace --offline || cargo update --workspace + echo "Cargo.lock updated" + + - name: Commit version bumps + shell: bash + env: + RELEASE_NAME: ${{ inputs.release_name }} + run: | + . ./.github/scripts/release/release_lib.sh + + git add -A + + if [[ -n $(git status --porcelain) ]]; then + commit_with_message "chore: apply version bumps for $RELEASE_NAME" + echo "Committed version bumps" + else + echo "No changes to commit" + fi + + - name: Push release branch + env: + CRATES_RELEASE_BRANCH: ${{ steps.derive_branch.outputs.CRATES_RELEASE_BRANCH }} + run: | + echo "Pushing branch $CRATES_RELEASE_BRANCH..." + git push origin "$CRATES_RELEASE_BRANCH" + echo "Successfully pushed $CRATES_RELEASE_BRANCH" + + - name: Configure cargo registry + shell: bash + env: + REGISTRY: ${{ inputs.registry }} + run: | + echo "Configuring cargo for $REGISTRY..." + mkdir -p ~/.cargo + + if [ "$REGISTRY" = "staging.crates.io" ]; then + cat >> ~/.cargo/config.toml << 'EOF' + [registries.crates-io] + index = "sparse+https://index.staging.crates.io/" + EOF + else + echo "Using default crates.io registry" + fi + + echo "Cargo config:" + cat ~/.cargo/config.toml || echo "(using defaults)" + + - name: Publish crates + shell: bash + env: + PARITY_PUBLISH_CRATESIO_TOKEN: ${{ inputs.registry == 'staging.crates.io' && secrets.STAGING_CRATES_IO_API_TOKEN || secrets.CRATES_IO_API_TOKEN }} + DRY_RUN: ${{ inputs.dry_run }} + REGISTRY: ${{ inputs.registry }} + run: | + + if [ "$DRY_RUN" = true ]; then + echo "DRY RUN - Not actually publishing crates" + echo "Target registry: $REGISTRY" + parity-publish apply -p -d + else + echo "Publishing crates to $REGISTRY..." + parity-publish apply -p + echo "Crates published successfully to $REGISTRY!" + fi diff --git a/.github/workflows/release-99_notif-published.yml b/.github/workflows/release-99_notif-published.yml index bcadb3e0f46ee..986361f47c564 100644 --- a/.github/workflows/release-99_notif-published.yml +++ b/.github/workflows/release-99_notif-published.yml @@ -14,25 +14,30 @@ jobs: id: fetch_latest_release_tag env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_REPOSITORY: ${{ github.repository }} run: | TAG_NAME=$(curl -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" -H "Authorization: Bearer ${GITHUB_TOKEN}" \ - -sL "https://api.github.com/repos/${{ github.repository }}/releases/latest" \ + -sL "https://api.github.com/repos/${GH_REPOSITORY}/releases/latest" \ | jq -r '.tag_name') echo "Latest release tag: $TAG_NAME" echo "latest_tag_name=$TAG_NAME" >> $GITHUB_OUTPUT - name: Fetch current release tag name id: fetch_curent_release_tag + env: + CURRENT_RELEASE_TAG_NAME: ${{ github.event.release.tag_name }} run: | - CURRENT_RELEASE_TAG_NAME=${{github.event.release.tag_name}} echo "Current release tag: $CURRENT_RELEASE_TAG_NAME" echo "current_tag_name=$CURRENT_RELEASE_TAG_NAME" >> $GITHUB_OUTPUT - name: Check if release is latest id: check_is_latest + env: + LATEST_TAG: ${{ steps.fetch_latest_release_tag.outputs.latest_tag_name }} + CURRENT_TAG: ${{ steps.fetch_curent_release_tag.outputs.current_tag_name }} run: | - if [[ "${{ steps.fetch_latest_release_tag.outputs.latest_tag_name }}" == "${{ steps.fetch_curent_release_tag.outputs.current_tag_name }}" ]]; then + if [[ "$LATEST_TAG" == "$CURRENT_TAG" ]]; then echo "Release is latest" echo "is_latest=true" >> $GITHUB_OUTPUT else @@ -71,7 +76,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.release.tag_name }} diff --git a/.github/workflows/release-build-binary.yml b/.github/workflows/release-build-binary.yml index 9230a1e60a566..eea5c389e15bb 100644 --- a/.github/workflows/release-build-binary.yml +++ b/.github/workflows/release-build-binary.yml @@ -35,7 +35,7 @@ jobs: RUNNER: ${{ steps.set_runner.outputs.RUNNER }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set image id: set_image @@ -44,8 +44,10 @@ jobs: - name: Set runner id: set_runner shell: bash + env: + INPUT_BINARY: ${{ inputs.binary }} run: | - if [[ "${{ inputs.binary }}" == "polkadot-parachain" ]]; then + if [[ "$INPUT_BINARY" == "polkadot-parachain" ]]; then echo "RUNNER=parity-large" >> $GITHUB_OUTPUT else echo "RUNNER=ubuntu-latest" >> $GITHUB_OUTPUT @@ -58,24 +60,29 @@ jobs: image: ${{ needs.setup.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Build binary + env: + INPUT_BINARY: ${{ inputs.binary }} + INPUT_PACKAGE: ${{ inputs.package }} + INPUT_PROFILE: ${{ inputs.profile }} + INPUT_FEATURES: ${{ inputs.features }} run: | git config --global --add safe.directory "${GITHUB_WORKSPACE}" #avoid "detected dubious ownership" error - PROFILE=${{ inputs.profile }} - if [ "${{ inputs.binary }}" = "polkadot" ]; then + PROFILE="$INPUT_PROFILE" + if [ "$INPUT_BINARY" = "polkadot" ]; then for binary in polkadot polkadot-prepare-worker polkadot-execute-worker; do - echo "Building $binary with profile $PROFILE and features ${{ inputs.features }}" - ./.github/scripts/release/build-linux-release.sh $binary ${{ inputs.package }} ${{ inputs.features }} + echo "Building $binary with profile $PROFILE and features $INPUT_FEATURES" + ./.github/scripts/release/build-linux-release.sh "$binary" "$INPUT_PACKAGE" "$INPUT_FEATURES" done else - echo "Building ${{ inputs.binary }} with profile $PROFILE and features ${{ inputs.features }}" - ./.github/scripts/release/build-linux-release.sh ${{ inputs.binary }} ${{ inputs.package }} ${{ inputs.features }} + echo "Building $INPUT_BINARY with profile $PROFILE and features $INPUT_FEATURES" + ./.github/scripts/release/build-linux-release.sh "$INPUT_BINARY" "$INPUT_PACKAGE" "$INPUT_FEATURES" fi - name: Upload ${{ inputs.binary }} artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ inputs.binary }} path: /artifacts/** diff --git a/.github/workflows/release-check-runtimes.yml b/.github/workflows/release-check-runtimes.yml index 28b8b86111479..003481c354228 100644 --- a/.github/workflows/release-check-runtimes.yml +++ b/.github/workflows/release-check-runtimes.yml @@ -35,7 +35,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the repo - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Get list id: get-list @@ -56,7 +56,7 @@ jobs: steps: - name: Checkout the repo - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Fetch release artifacts based on release id env: diff --git a/.github/workflows/release-clobber-stable.yml b/.github/workflows/release-clobber-stable.yml index 093b9fe802ad2..8e60704edb0b6 100644 --- a/.github/workflows/release-clobber-stable.yml +++ b/.github/workflows/release-clobber-stable.yml @@ -24,7 +24,7 @@ jobs: AUDITED: audited steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Prechecks run: | diff --git a/.github/workflows/release-reusable-promote-to-final.yml b/.github/workflows/release-reusable-promote-to-final.yml index 1b3c0df46a941..4382b32d04cef 100644 --- a/.github/workflows/release-reusable-promote-to-final.yml +++ b/.github/workflows/release-reusable-promote-to-final.yml @@ -13,6 +13,11 @@ on: required: true type: string + final_tag: + description: Final release tag without RC suffix (e.g., polkadot-stableYYMM) + required: true + type: string + target: description: Target triple for which the artifacts are being uploaded (e.g aarch64-apple-darwin) required: true @@ -36,20 +41,13 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }} AWS_REGION: ${{ secrets.AWS_DEFAULT_REGION }} RELEASE_TAG: ${{ inputs.release_tag }} + FINAL_TAG: ${{ inputs.final_tag }} PACKAGE: ${{ inputs.package }} TARGET: ${{ inputs.target }} steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - - name: Prepare final tag - id: prepare_final_tag - shell: bash - run: | - tag="$(echo $RELEASE_TAG | sed 's/-rc[0-9]*$//')" - echo $tag - echo "FINAL_TAG=${tag}" >> $GITHUB_OUTPUT + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Fetch binaries from s3 based on version run: | @@ -71,7 +69,7 @@ jobs: fi - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0 + uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0 with: aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }} @@ -84,8 +82,8 @@ jobs: if [[ "$PACKAGE" == 'polkadot' ]]; then packages=(polkadot polkadot-prepare-worker polkadot-execute-worker) for package in "${packages[@]}"; do - upload_s3_release $package ${{ steps.prepare_final_tag.outputs.final_tag }} ${{ inputs.target }} + upload_s3_release $package "$FINAL_TAG" "$TARGET" done else - upload_s3_release "$PACKAGE" ${{ steps.prepare_final_tag.outputs.final_tag }} "$TARGET" + upload_s3_release "$PACKAGE" "$FINAL_TAG" "$TARGET" fi diff --git a/.github/workflows/release-reusable-publish-packages.yml b/.github/workflows/release-reusable-publish-packages.yml index 5413ce0523b6b..3d8bd8292618c 100644 --- a/.github/workflows/release-reusable-publish-packages.yml +++ b/.github/workflows/release-reusable-publish-packages.yml @@ -14,7 +14,7 @@ on: package_type: description: Type of package to publish (deb or rpm) required: true - type: string + type: string aws_repo_base_path: description: Base S3 path for package repositories type: string @@ -22,7 +22,7 @@ on: description: CloudFront Distribution ID for cache invalidation required: true type: string - + jobs: check-synchronization: uses: paritytech-release/sync-workflows/.github/workflows/check-synchronization.yml@main @@ -31,13 +31,13 @@ jobs: validate-inputs: needs: [check-synchronization] - if: ${{ needs.check-synchronization.outputs.checks_passed }} == 'true' + if: needs.check-synchronization.outputs.checks_passed == 'true' runs-on: ubuntu-latest outputs: release_tag: ${{ steps.validate_inputs.outputs.release_tag }} steps: - name: Checkout sources - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Validate package type if: ${{ inputs.package_type != 'deb' && inputs.package_type != 'rpm' }} @@ -47,10 +47,12 @@ jobs: - name: Validate inputs id: validate_inputs + env: + INPUT_TAG: ${{ inputs.tag }} run: | # Source common library for helper functions . ./.github/scripts/common/lib.sh - RELEASE_TAG=$(validate_stable_tag ${{ inputs.tag }}) + RELEASE_TAG=$(validate_stable_tag "$INPUT_TAG") echo "release_tag=${RELEASE_TAG}" >> $GITHUB_OUTPUT fetch-artifacts-from-s3: @@ -67,24 +69,26 @@ jobs: NODE_VERSION: ${{ steps.fetch_artifacts_from_s3.outputs.NODE_VERSION }} steps: - name: Checkout sources - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Fetch rc artifacts or release artifacts from s3 based on version id: fetch_artifacts_from_s3 + env: + PACKAGE_TYPE: ${{ inputs.package_type }} run: | . ./.github/scripts/common/lib.sh NODE_VERSION="$(get_polkadot_node_version_from_code)" echo "NODE_VERSION=${NODE_VERSION}" >> $GITHUB_OUTPUT # Fetch specific package type artifact (deb or rpm) - if [[ "${{ inputs.package_type }}" == "deb" ]]; then + if [[ "$PACKAGE_TYPE" == "deb" ]]; then fetch_debian_package_from_s3 polkadot - elif [[ "${{ inputs.package_type }}" == "rpm" ]]; then + elif [[ "$PACKAGE_TYPE" == "rpm" ]]; then fetch_rpm_package_from_s3 polkadot fi - name: Upload artifacts for later jobs - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: release-artifacts-${{ inputs.package_type }} path: release-artifacts/polkadot/*.${{ inputs.package_type }} @@ -115,10 +119,10 @@ jobs: echo "PGPKMS_RPMSIGN_PATH=$(which pgpkms-rpmsign)" >> $GITHUB_ENV - name: Checkout sources - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Download artifacts from previous job - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: release-artifacts-${{ inputs.package_type }} path: release-artifacts @@ -134,14 +138,15 @@ jobs: env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }} + PACKAGE_TYPE: ${{ inputs.package_type }} run: | # --- Sync Local Repo from S3 --- mkdir -p "$LOCAL_REPO_PATH" - if [[ "${{ inputs.package_type }}" == "deb" ]]; then + if [[ "$PACKAGE_TYPE" == "deb" ]]; then aws s3 sync "$AWS_REPO_PATH/db" "$LOCAL_REPO_PATH/db" || true aws s3 sync "$AWS_REPO_PATH/pool" "$LOCAL_REPO_PATH/pool" || true aws s3 sync "$AWS_REPO_PATH/dists" "$LOCAL_REPO_PATH/dists" || true - elif [[ "${{ inputs.package_type }}" == "rpm" ]]; then + elif [[ "$PACKAGE_TYPE" == "rpm" ]]; then aws s3 sync "$AWS_REPO_PATH" "$LOCAL_REPO_PATH" || true fi @@ -151,16 +156,18 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} PGP_KMS_KEY: ${{ secrets.PGP_KMS_KEY }} PGP_KMS_HASH: ${{ secrets.PGP_KMS_HASH }} + PACKAGE_TYPE: ${{ inputs.package_type }} + DISTRIBUTION: ${{ inputs.distribution }} run: | . ./.github/scripts/common/lib.sh import_gpg_keys # --- Add Package to Repo and Sign --- - if [[ "${{ inputs.package_type }}" == "deb" ]]; then + if [[ "$PACKAGE_TYPE" == "deb" ]]; then debname=$(find release-artifacts/ -name 'polkadot_*.deb' | head -n 1) - reprepro -b "$LOCAL_REPO_PATH" includedeb "${{ inputs.distribution }}" "$debname" + reprepro -b "$LOCAL_REPO_PATH" includedeb "$DISTRIBUTION" "$debname" - elif [[ "${{ inputs.package_type }}" == "rpm" ]]; then + elif [[ "$PACKAGE_TYPE" == "rpm" ]]; then rpmname=$(find release-artifacts/ -name 'polkadot-*.rpm' | head -n 1) echo "Signing package with pgpkms (via AWS KMS)..." @@ -184,6 +191,13 @@ jobs: env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }} + DISTRIBUTION: ${{ inputs.distribution }} + CLOUDFRONT_DISTRIBUTION_ID: ${{ inputs.cloudfront_distribution_id }} + PACKAGE_TYPE: ${{ inputs.package_type }} run: | - aws s3 sync "$LOCAL_REPO_PATH" "$AWS_REPO_PATH" --acl public-read - aws cloudfront create-invalidation --distribution-id ${{ inputs.cloudfront_distribution_id }} --paths '/${{ inputs.package_type }}/*' + if [[ "$DISTRIBUTION" == "release" ]]; then + aws s3 sync "$LOCAL_REPO_PATH" "$AWS_REPO_PATH" --acl public-read + else + aws s3 sync "$LOCAL_REPO_PATH" "$AWS_REPO_PATH" + fi + aws cloudfront create-invalidation --distribution-id "$CLOUDFRONT_DISTRIBUTION_ID" --paths "/${PACKAGE_TYPE}/*" diff --git a/.github/workflows/release-reusable-rc-build.yml b/.github/workflows/release-reusable-rc-build.yml index c480d3d83385a..91bae0bb00972 100644 --- a/.github/workflows/release-reusable-rc-build.yml +++ b/.github/workflows/release-reusable-rc-build.yml @@ -42,32 +42,20 @@ jobs: # However, env variables don't work for forks: https://github.com/orgs/community/discussions/44322 # This workaround sets the container image for each job using 'set-image' job output. runs-on: ubuntu-latest - env: - BINARY: ${{ inputs.binary }} outputs: IMAGE: ${{ steps.set_image.outputs.IMAGE }} - RUNNER: ${{ steps.set_image.outputs.RUNNER }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - id: set_image - run: | - cat .github/env >> $GITHUB_OUTPUT - RUNNER="" - if [[ "${BINARY}" =~ "polkadot-parachain" || "${BINARY}" =~ "polkadot-omni-node" ]]; then - RUNNER="ubuntu-latest-m" - echo "Using ubuntu-latest-m runner" - else - RUNNER="ubuntu-latest" - echo "Using ubuntu-latest runner" - fi - echo "RUNNER=${RUNNER}" >> $GITHUB_OUTPUT + run: cat .github/env >> $GITHUB_OUTPUT + build-rc: if: ${{ inputs.target == 'x86_64-unknown-linux-gnu' }} needs: [set-image] - runs-on: ${{ needs.set-image.outputs.RUNNER }} + runs-on: ubuntu-latest-m environment: release container: image: ${{ needs.set-image.outputs.IMAGE }} @@ -89,7 +77,7 @@ jobs: which pgpkms - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ inputs.release_tag }} fetch-depth: 0 @@ -102,39 +90,49 @@ jobs: import_gpg_keys - name: Build binary + env: + BINARY_NAME: ${{ matrix.binaries }} + INPUT_PACKAGE: ${{ inputs.package }} + INPUT_FEATURES: ${{ inputs.features }} run: | git config --global --add safe.directory "${GITHUB_WORKSPACE}" #avoid "detected dubious ownership" error - ./.github/scripts/release/build-linux-release.sh ${{ matrix.binaries }} ${{ inputs.package }} ${{ inputs.features }} + ./.github/scripts/release/build-linux-release.sh "$BINARY_NAME" "$INPUT_PACKAGE" "$INPUT_FEATURES" - name: Generate artifact attestation - uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0 + uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0 with: subject-path: /artifacts/${{ matrix.binaries }}/${{ matrix.binaries }} - name: Sign artifacts working-directory: /artifacts/${{ matrix.binaries }} + env: + BINARY_NAME: ${{ matrix.binaries }} run: | - python3 -m pgpkms sign --input ${{matrix.binaries }} -o ${{ matrix.binaries }}.asc + python3 -m pgpkms sign --input "$BINARY_NAME" -o "${BINARY_NAME}.asc" - name: Check sha256 ${{ matrix.binaries }} working-directory: /artifacts/${{ matrix.binaries }} shell: bash + env: + BINARY_NAME: ${{ matrix.binaries }} run: | . "${GITHUB_WORKSPACE}"/.github/scripts/common/lib.sh - echo "Checking binary ${{ matrix.binaries }}" - check_sha256 ${{ matrix.binaries }} + echo "Checking binary $BINARY_NAME" + check_sha256 "$BINARY_NAME" - name: Check GPG ${{ matrix.binaries }} working-directory: /artifacts/${{ matrix.binaries }} shell: bash + env: + BINARY_NAME: ${{ matrix.binaries }} run: | . "${GITHUB_WORKSPACE}"/.github/scripts/common/lib.sh - check_gpg ${{ matrix.binaries }} + check_gpg "$BINARY_NAME" - name: Upload ${{ matrix.binaries }} artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ matrix.binaries }}_${{ inputs.target }} path: /artifacts/${{ matrix.binaries }} @@ -154,7 +152,7 @@ jobs: AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ inputs.release_tag }} fetch-depth: 0 @@ -176,7 +174,7 @@ jobs: run: echo "/opt/homebrew/bin" >> $GITHUB_PATH - name: Install rust ${{ env.RUST_VERSION }} - uses: actions-rust-lang/setup-rust-toolchain@fb51252c7ba57d633bc668f941da052e410add48 # v1.13.0 + uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2 with: cache: false toolchain: ${{ env.RUST_VERSION }} @@ -201,18 +199,18 @@ jobs: touch ~/.gnupg/dirmngr.conf echo "standard-resolver" > ~/.gnupg/dirmngr.conf - - name: Install solc - run: brew install solidity + - name: Install Solc + uses: ./.github/actions/get-solc - name: Install resolc run: | - VERSION="0.3.0" - ASSET_URL="https://github.com/paritytech/revive/releases/download/v$VERSION/resolc-universal-apple-darwin" - echo "Downloading resolc v$VERSION from $ASSET_URL" - curl -Lsf --show-error -o $HOME/.cargo/bin/resolc "$ASSET_URL" - chmod +x $HOME/.cargo/bin/resolc - xattr -c $HOME/.cargo/bin/resolc - resolc --version + VERSION="0.5.0" + ASSET_URL="https://github.com/paritytech/revive/releases/download/v$VERSION/resolc-universal-apple-darwin" + echo "Downloading resolc v$VERSION from $ASSET_URL" + curl -Lsf --show-error -o $HOME/.cargo/bin/resolc "$ASSET_URL" + chmod +x $HOME/.cargo/bin/resolc + xattr -c $HOME/.cargo/bin/resolc + resolc --version - name: Install llvm run: | @@ -243,39 +241,49 @@ jobs: import_gpg_keys - name: Build binary + env: + BINARY_NAME: ${{ matrix.binaries }} + INPUT_PACKAGE: ${{ inputs.package }} + INPUT_FEATURES: ${{ inputs.features }} run: | git config --global --add safe.directory "${GITHUB_WORKSPACE}" #avoid "detected dubious ownership" error - ./.github/scripts/release/build-macos-release.sh ${{ matrix.binaries }} ${{ inputs.package }} ${{ inputs.features }} + ./.github/scripts/release/build-macos-release.sh "$BINARY_NAME" "$INPUT_PACKAGE" "$INPUT_FEATURES" - name: Generate artifact attestation - uses: actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be # v2.4.0 + uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0 with: subject-path: ${{ env.ARTIFACTS_PATH }}/${{ matrix.binaries }} - name: Sign artifacts working-directory: ${{ env.ARTIFACTS_PATH }} + env: + BINARY_NAME: ${{ matrix.binaries }} run: | - python3 -m pgpkms sign --input ${{matrix.binaries }} -o ${{ matrix.binaries }}.asc + python3 -m pgpkms sign --input "$BINARY_NAME" -o "${BINARY_NAME}.asc" - name: Check sha256 ${{ matrix.binaries }} working-directory: ${{ env.ARTIFACTS_PATH }} shell: bash + env: + BINARY_NAME: ${{ matrix.binaries }} run: | . "${GITHUB_WORKSPACE}"/.github/scripts/common/lib.sh - echo "Checking binary ${{ matrix.binaries }}" - check_sha256 ${{ matrix.binaries }} + echo "Checking binary $BINARY_NAME" + check_sha256 "$BINARY_NAME" - name: Check GPG ${{ matrix.binaries }} working-directory: ${{ env.ARTIFACTS_PATH }} shell: bash + env: + BINARY_NAME: ${{ matrix.binaries }} run: | . "${GITHUB_WORKSPACE}"/.github/scripts/common/lib.sh - check_gpg ${{ matrix.binaries }} + check_gpg "$BINARY_NAME" - name: Upload ${{ matrix.binaries }} artifacts - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ matrix.binaries }}_${{ inputs.target }} path: ${{ env.ARTIFACTS_PATH }} @@ -287,27 +295,27 @@ jobs: steps: - name: Checkout sources - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ inputs.release_tag }} fetch-depth: 0 - name: Download polkadot_x86_64-unknown-linux-gnu artifacts - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: polkadot_x86_64-unknown-linux-gnu path: target/production merge-multiple: true - name: Download polkadot-execute-worker_x86_64-unknown-linux-gnu artifacts - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: polkadot-execute-worker_x86_64-unknown-linux-gnu path: target/production merge-multiple: true - name: Download polkadot-prepare-worker_x86_64-unknown-linux-gnu artifacts - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: polkadot-prepare-worker_x86_64-unknown-linux-gnu path: target/production @@ -326,27 +334,31 @@ jobs: - name: Build polkadot deb package shell: bash + env: + INPUT_PACKAGE: ${{ inputs.package }} run: | . "${GITHUB_WORKSPACE}"/.github/scripts/common/lib.sh VERSION=$(get_polkadot_node_version_from_code) - . "${GITHUB_WORKSPACE}"/.github/scripts/release/build-deb.sh ${{ inputs.package }} ${VERSION} + . "${GITHUB_WORKSPACE}"/.github/scripts/release/build-deb.sh "$INPUT_PACKAGE" "${VERSION}" - name: Build polkadot rpm package shell: bash + env: + INPUT_PACKAGE: ${{ inputs.package }} run: | . "${GITHUB_WORKSPACE}"/.github/scripts/common/lib.sh VERSION=$(get_polkadot_node_version_from_code) - . "${GITHUB_WORKSPACE}"/.github/scripts/release/build-rpm.sh ${{ inputs.package }} ${VERSION} + . "${GITHUB_WORKSPACE}"/.github/scripts/release/build-rpm.sh "$INPUT_PACKAGE" "${VERSION}" - name: Generate artifact attestation - uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0 + uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0 with: subject-path: | target/production/*.deb target/production/*.rpm - name: Upload ${{inputs.package }} artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ inputs.package }}_${{ inputs.target }} path: target/production diff --git a/.github/workflows/release-reusable-s3-upload.yml b/.github/workflows/release-reusable-s3-upload.yml index f7c3acc678ba2..4320eaf5cf7d5 100644 --- a/.github/workflows/release-reusable-s3-upload.yml +++ b/.github/workflows/release-reusable-s3-upload.yml @@ -29,22 +29,26 @@ jobs: steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Download amd64 artifacts - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: ${{ inputs.package }}_${{ inputs.target }} path: release-artifacts/${{ inputs.target }}/${{ inputs.package }} - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0 + uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0 with: aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ env.AWS_REGION }} - name: Upload ${{ inputs.package }} artifacts to s3 + env: + PACKAGE: ${{ inputs.package }} + RELEASE_TAG: ${{ inputs.release_tag }} + TARGET: ${{ inputs.target }} run: | . ./.github/scripts/release/release_lib.sh - upload_s3_release ${{ inputs.package }} ${{ inputs.release_tag }} ${{ inputs.target }} + upload_s3_release "$PACKAGE" "$RELEASE_TAG" "$TARGET" diff --git a/.github/workflows/release-srtool.yml b/.github/workflows/release-srtool.yml index a4896126ec325..6f57a1c2ecd81 100644 --- a/.github/workflows/release-srtool.yml +++ b/.github/workflows/release-srtool.yml @@ -34,7 +34,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 @@ -54,7 +54,7 @@ jobs: run: | . ./.github/scripts/common/lib.sh - echo "Github workspace: ${{ github.workspace }}" + echo "Github workspace: ${GITHUB_WORKSPACE}" echo "Current folder: $(pwd)"; ls -al ls -al @@ -83,7 +83,7 @@ jobs: matrix: ${{ fromJSON(needs.find-runtimes.outputs.runtime) }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 @@ -98,14 +98,19 @@ jobs: profile: ${{ inputs.profile }} - name: Summary + env: + SRTOOL_JSON: ${{ steps.srtool_build.outputs.json }} + CHAIN: ${{ matrix.chain }} + WASM_PATH: ${{ steps.srtool_build.outputs.wasm }} + WASM_COMPRESSED_PATH: ${{ steps.srtool_build.outputs.wasm_compressed }} run: | - echo '${{ steps.srtool_build.outputs.json }}' | jq > ${{ matrix.chain }}-srtool-digest.json - cat ${{ matrix.chain }}-srtool-digest.json - echo "Compact Runtime: ${{ steps.srtool_build.outputs.wasm }}" - echo "Compressed Runtime: ${{ steps.srtool_build.outputs.wasm_compressed }}" + echo "$SRTOOL_JSON" | jq > "${CHAIN}-srtool-digest.json" + cat "${CHAIN}-srtool-digest.json" + echo "Compact Runtime: $WASM_PATH" + echo "Compressed Runtime: $WASM_COMPRESSED_PATH" - name: Generate artifact attestation - uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0 + uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0 with: subject-path: ${{ steps.srtool_build.outputs.wasm }} @@ -118,28 +123,38 @@ jobs: - name: Show Runtime information shell: bash + env: + WASM_PATH: ${{ steps.srtool_build.outputs.wasm }} + WASM_COMPRESSED_PATH: ${{ steps.srtool_build.outputs.wasm_compressed }} + CHAIN: ${{ matrix.chain }} run: | - subwasm info ${{ steps.srtool_build.outputs.wasm }} - subwasm info ${{ steps.srtool_build.outputs.wasm_compressed }} - subwasm --json info ${{ steps.srtool_build.outputs.wasm }} > ${{ matrix.chain }}-info.json - subwasm --json info ${{ steps.srtool_build.outputs.wasm_compressed }} > ${{ matrix.chain }}-compressed-info.json + subwasm info "$WASM_PATH" + subwasm info "$WASM_COMPRESSED_PATH" + subwasm --json info "$WASM_PATH" > "${CHAIN}-info.json" + subwasm --json info "$WASM_COMPRESSED_PATH" > "${CHAIN}-compressed-info.json" - name: Extract the metadata shell: bash + env: + WASM_PATH: ${{ steps.srtool_build.outputs.wasm }} + CHAIN: ${{ matrix.chain }} run: | - subwasm meta ${{ steps.srtool_build.outputs.wasm }} - subwasm --json meta ${{ steps.srtool_build.outputs.wasm }} > ${{ matrix.chain }}-metadata.json + subwasm meta "$WASM_PATH" + subwasm --json meta "$WASM_PATH" > "${CHAIN}-metadata.json" - name: Check the metadata diff shell: bash + env: + WASM_PATH: ${{ steps.srtool_build.outputs.wasm }} + CHAIN: ${{ matrix.chain }} # the following subwasm call will error for chains that are not known and/or live, that includes shell for instance run: | - subwasm diff ${{ steps.srtool_build.outputs.wasm }} --chain-b ${{ matrix.chain }} || \ - echo "Subwasm call failed, check the logs. This is likely because ${{ matrix.chain }} is not known by subwasm" | \ - tee ${{ matrix.chain }}-diff.txt + subwasm diff "$WASM_PATH" --chain-b "$CHAIN" || \ + echo "Subwasm call failed, check the logs. This is likely because $CHAIN is not known by subwasm" | \ + tee "${CHAIN}-diff.txt" - name: Archive Subwasm results - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: ${{ matrix.chain }}-runtime path: | diff --git a/.github/workflows/reusable-preflight.yml b/.github/workflows/reusable-preflight.yml index 5808fb1d9ceff..16c2e8326bcf5 100644 --- a/.github/workflows/reusable-preflight.yml +++ b/.github/workflows/reusable-preflight.yml @@ -113,7 +113,7 @@ jobs: COMMIT_SHA_SHORT: ${{ steps.set_vars.outputs.COMMIT_SHA_SHORT }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 # # Set changes @@ -127,7 +127,7 @@ jobs: - name: Set changes id: set_changes - uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 #v47.0.0 + uses: tj-actions/changed-files@8cba46e29c11878d930bca7870bb54394d3e8b21 #v47.0.2 with: files_yaml: | rust: @@ -207,7 +207,7 @@ jobs: container: image: ${{ needs.preflight.outputs.IMAGE }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Info rust run: | diff --git a/.github/workflows/review-bot.yml b/.github/workflows/review-bot.yml index 4ff61581a5733..207a6ea860b97 100644 --- a/.github/workflows/review-bot.yml +++ b/.github/workflows/review-bot.yml @@ -18,7 +18,7 @@ jobs: steps: - name: Generate token id: app_token - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 + uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1 with: app-id: ${{ secrets.REVIEW_APP_ID }} private-key: ${{ secrets.REVIEW_APP_KEY }} diff --git a/.github/workflows/review-trigger.yml b/.github/workflows/review-trigger.yml index 926eac1f9e8c8..61a4f47303b3b 100644 --- a/.github/workflows/review-trigger.yml +++ b/.github/workflows/review-trigger.yml @@ -65,7 +65,7 @@ jobs: echo "Saving PR number: $PR_NUMBER" mkdir -p ./pr echo $PR_NUMBER > ./pr/pr_number - - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 name: Save PR number with: name: pr_number diff --git a/.github/workflows/runtimes-matrix.json b/.github/workflows/runtimes-matrix.json index f47990217beb3..f2cba153dd3a9 100644 --- a/.github/workflows/runtimes-matrix.json +++ b/.github/workflows/runtimes-matrix.json @@ -21,17 +21,6 @@ "uri": "wss://try-runtime-westend.polkadot.io:443", "is_relay": true }, - { - "name": "rococo", - "package": "rococo-runtime", - "path": "polkadot/runtime/rococo", - "header": "polkadot/file_header.txt", - "template": "polkadot/xcm/pallet-xcm-benchmarks/template.hbs", - "bench_features": "runtime-benchmarks", - "bench_flags": "", - "uri": "wss://try-runtime-rococo.polkadot.io:443", - "is_relay": true - }, { "name": "asset-hub-westend", "package": "asset-hub-westend-runtime", @@ -43,28 +32,6 @@ "uri": "wss://westend-asset-hub-rpc.polkadot.io:443", "is_relay": false }, - { - "name": "asset-hub-rococo", - "package": "asset-hub-rococo-runtime", - "path": "cumulus/parachains/runtimes/assets/asset-hub-rococo", - "header": "cumulus/file_header.txt", - "template": "cumulus/templates/xcm-bench-template.hbs", - "bench_features": "runtime-benchmarks", - "bench_flags": "", - "uri": "wss://rococo-asset-hub-rpc.polkadot.io:443", - "is_relay": false - }, - { - "name": "bridge-hub-rococo", - "package": "bridge-hub-rococo-runtime", - "path": "cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo", - "header": "cumulus/file_header.txt", - "template": "cumulus/templates/xcm-bench-template.hbs", - "bench_features": "runtime-benchmarks", - "bench_flags": "", - "uri": "wss://rococo-bridge-hub-rpc.polkadot.io:443", - "is_relay": false - }, { "name": "bridge-hub-westend", "package": "bridge-hub-westend-runtime", @@ -87,17 +54,6 @@ "uri": "wss://westend-collectives-rpc.polkadot.io:443", "is_relay": false }, - { - "name": "coretime-rococo", - "package": "coretime-rococo-runtime", - "path": "cumulus/parachains/runtimes/coretime/coretime-rococo", - "header": "cumulus/file_header.txt", - "template": "cumulus/templates/xcm-bench-template.hbs", - "bench_features": "runtime-benchmarks", - "bench_flags": "", - "uri": "wss://rococo-coretime-rpc.polkadot.io:443", - "is_relay": false - }, { "name": "coretime-westend", "package": "coretime-westend-runtime", @@ -120,17 +76,6 @@ "uri": null, "is_relay": false }, - { - "name": "people-rococo", - "package": "people-rococo-runtime", - "path": "cumulus/parachains/runtimes/people/people-rococo", - "header": "cumulus/file_header.txt", - "template": "cumulus/templates/xcm-bench-template.hbs", - "bench_features": "runtime-benchmarks", - "bench_flags": "", - "uri": "wss://rococo-people-rpc.polkadot.io:443", - "is_relay": false - }, { "name": "people-westend", "package": "people-westend-runtime", diff --git a/.github/workflows/tests-evm.yml b/.github/workflows/tests-evm.yml index 6111315074057..0dfe7a69c4191 100644 --- a/.github/workflows/tests-evm.yml +++ b/.github/workflows/tests-evm.yml @@ -29,73 +29,35 @@ jobs: permissions: pull-requests: write strategy: + fail-fast: false matrix: platform: ["revive-dev-node-revm-solc", "revive-dev-node-polkavm-resolc"] steps: - name: Checkout the Polkadot SDK - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Update the Installed Python run: apt-get update && apt-get install -y python3-pip python3 - - name: Installing the Latest Resolc + - name: Download artifact by ID + id: download run: | - VERSION="0.5.0" - ASSET_URL="https://github.com/paritytech/revive/releases/download/v$VERSION/resolc-x86_64-unknown-linux-musl" - echo "Downloading resolc v$VERSION from $ASSET_URL" - curl -Lsf --show-error -o resolc "$ASSET_URL" - chmod +x resolc - ./resolc --version - - name: Building the dependencies from the Polkadot SDK - run: forklift cargo build --locked --profile release -p pallet-revive-eth-rpc -p revive-dev-node - - name: Checkout the Differential Tests Repository - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + curl -L --fail --show-error \ + -H "Authorization: Bearer ${{ github.token }}" \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "https://api.github.com/repos/paritytech/revive/actions/artifacts/5198357315/zip" \ + -o resolc.zip + unzip -q resolc.zip -d resolc + chmod +x ./resolc/resolc-x86_64-unknown-linux-musl + echo "resolc-path=$(pwd)/resolc/resolc-x86_64-unknown-linux-musl" >> "$GITHUB_OUTPUT" + - name: Run revive differential tests + uses: paritytech/revive-differential-tests/.github/actions/run-differential-tests@0e41f054405c054c37d524e5172ef8c514852e6b with: - repository: paritytech/revive-differential-tests - ref: 66feb36b4ef2c79415ca8ea765d8235d48dfa8f8 - path: revive-differential-tests - submodules: recursive - - name: Installing Retester - run: forklift cargo install --locked --path revive-differential-tests/crates/core - - name: Creating a workdir for retester - run: mkdir workdir - - name: Downloading & Initializing the compilation caches - run: | - curl -fL --retry 3 --retry-all-errors --connect-timeout 10 -o cache.tar.gz "https://github.com/paritytech/revive-differential-tests/releases/download/compilation-caches-v1.1/cache.tar.gz" - tar -zxf cache.tar.gz -C ./workdir > /dev/null 2>&1 - - name: Running the Differential Tests - run: | - retester test \ - --test ./revive-differential-tests/resolc-compiler-tests/fixtures/solidity/simple \ - --test ./revive-differential-tests/resolc-compiler-tests/fixtures/solidity/complex \ - --test ./revive-differential-tests/resolc-compiler-tests/fixtures/solidity/translated_semantic_tests \ - --platform ${{ matrix.platform }} \ - --concurrency.number-of-nodes 10 \ - --concurrency.number-of-threads 10 \ - --concurrency.number-of-concurrent-tasks 100 \ - --working-directory ./workdir \ - --revive-dev-node.consensus manual-seal-200 \ - --revive-dev-node.path ./target/release/revive-dev-node \ - --eth-rpc.path ./target/release/eth-rpc \ - --resolc.path ./resolc - - name: Creating a markdown report of the test execution - run: | - mv ./workdir/*.json report.json - python3 ./.github/scripts/process-differential-tests-report.py report.json ${{ matrix.platform }} - # We upload the report as an artifact to the run since there could be - # certain cases where the report is too long to post as a Github comment. - # This happens if the all of the tests are failing and therefore the - # report exceeds the maximum allowed length of github comments - - name: Upload the Report to the CI - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 - with: - name: report-${{ matrix.platform }}.md - path: report.md - - name: Posting the report as a comment on the PR - uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 - if: ${{ contains(github.event.pull_request.labels.*.name, 'T7-smart_contracts') }} - with: - header: diff-tests-report-${{ matrix.platform }} - path: report.md + platform: ${{ matrix.platform }} + cargo-command: "forklift cargo" + revive-differential-tests-ref: "0e41f054405c054c37d524e5172ef8c514852e6b" + resolc-path: ${{ steps.download.outputs.resolc-path }} + expectations-file-path: ./.github/assets/${{ matrix.platform }}.json evm-test-suite: needs: [preflight] @@ -114,7 +76,7 @@ jobs: platform: ["test:pvm", "test:evm"] steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script run: | @@ -122,10 +84,10 @@ jobs: forklift cargo build --locked --release -p revive-dev-node --bin revive-dev-node - name: Checkout evm-tests - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: paritytech/evm-test-suite - ref: f3a2e98620adfc233166728230247d479a159e76 + ref: 369d53dd76c8e2c7a30d7eefef03fa1728186c8a path: evm-test-suite - uses: denoland/setup-deno@v2 diff --git a/.github/workflows/tests-linux-stable-coverage.yml b/.github/workflows/tests-linux-stable-coverage.yml index 455a3b069e6a3..4a179b08c0d2f 100644 --- a/.github/workflows/tests-linux-stable-coverage.yml +++ b/.github/workflows/tests-linux-stable-coverage.yml @@ -42,7 +42,7 @@ jobs: ci_node_total: [5] steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - run: rustup component add llvm-tools-preview - run: cargo install cargo-llvm-cov @@ -82,7 +82,7 @@ jobs: - name: generate report run: cargo llvm-cov report --release --codecov --output-path coverage-${{ matrix.ci_node_index }}.lcov - name: upload report - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: coverage-report-${{ matrix.ci_node_index }}.lcov path: coverage-${{ matrix.ci_node_index }}.lcov @@ -95,14 +95,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Download artifacts - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: path: reports pattern: coverage-report-* merge-multiple: true - run: ls -al reports/ - name: Upload to Codecov - uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1 + uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 with: token: ${{ secrets.CODECOV_TOKEN }} verbose: true @@ -117,7 +117,7 @@ jobs: needs: [upload-reports] if: github.event_name == 'pull_request' steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions-ecosystem/action-remove-labels@2ce5d41b4b6aa8503e285553f75ed56e0a40bae0 # v1.3.0 with: labels: GHA-coverage diff --git a/.github/workflows/tests-linux-stable-xp.yml b/.github/workflows/tests-linux-stable-xp.yml index aea2e3a839c31..10b7b42435234 100644 --- a/.github/workflows/tests-linux-stable-xp.yml +++ b/.github/workflows/tests-linux-stable-xp.yml @@ -41,7 +41,7 @@ jobs: RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script id: required run: | @@ -78,7 +78,7 @@ jobs: RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script id: required run: | diff --git a/.github/workflows/tests-linux-stable.yml b/.github/workflows/tests-linux-stable.yml index 67322ec1dd87d..521cff473de1c 100644 --- a/.github/workflows/tests-linux-stable.yml +++ b/.github/workflows/tests-linux-stable.yml @@ -35,7 +35,7 @@ jobs: RUN_UI_TESTS: 1 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script id: required run: WASM_BUILD_NO_COLOR=1 forklift cargo test -p staging-node-cli --release --locked -- --ignored @@ -61,7 +61,7 @@ jobs: RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script id: required run: forklift cargo nextest run --workspace --features runtime-benchmarks benchmark --locked --cargo-profile testnet --cargo-quiet @@ -97,7 +97,7 @@ jobs: RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script id: required run: | @@ -143,7 +143,7 @@ jobs: RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script id: required run: | diff --git a/.github/workflows/tests-misc.yml b/.github/workflows/tests-misc.yml index fcfb188beb4f6..124aefda480bc 100644 --- a/.github/workflows/tests-misc.yml +++ b/.github/workflows/tests-misc.yml @@ -36,7 +36,7 @@ jobs: RUST_BACKTRACE: 1 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script run: | @@ -60,7 +60,7 @@ jobs: RUST_BACKTRACE: 1 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script run: | cd substrate/frame/examples/offchain-worker/ @@ -85,7 +85,7 @@ jobs: RUN_UI_TESTS: 1 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script run: | cargo version @@ -108,16 +108,16 @@ jobs: WASM_BUILD_NO_COLOR: 1 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script run: | # build runtime - forklift cargo build -q --locked --release -p westend-runtime -p rococo-runtime + forklift cargo build -q --locked --release -p westend-runtime # make checksum sha256sum target/release/wbuild/*-runtime/target/wasm32-unknown-unknown/release/*.wasm > checksum.sha256 cargo clean # build again - forklift cargo build -q --locked --release -p westend-runtime -p rococo-runtime + forklift cargo build -q --locked --release -p westend-runtime # confirm checksum sha256sum -c checksum.sha256 @@ -133,7 +133,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: # if branch is master, use the branch, otherwise set empty string, so it uses the current context # either PR (including forks) or merge group (main repo) @@ -154,7 +154,7 @@ jobs: forklift cargo run --locked --release -p node-bench -- $BENCH_NODE_IMPORT --json | tee $ARTIFACTS_DIR/bench_transfer_keep_alive.json - name: Upload artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: path: ./artifacts name: cargo-check-benches-${{ matrix.branch }}-${{ github.sha }} @@ -167,17 +167,17 @@ jobs: needs: [preflight, cargo-check-benches] steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Download artifact (master run) - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 continue-on-error: true with: name: cargo-check-benches-master-${{ github.sha }} path: ./artifacts/master - name: Download artifact (current run) - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 continue-on-error: true with: name: cargo-check-benches-current-${{ github.sha }} @@ -221,7 +221,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Run tests id: tests @@ -238,7 +238,7 @@ jobs: - name: Upload artifacts if failed if: ${{ steps.tests.outcome != 'success' }} - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: node-metrics-failed path: ./artifacts @@ -254,7 +254,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script run: | @@ -270,7 +270,7 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script run: | @@ -300,7 +300,7 @@ jobs: # --config=patch.crates-io.honggfuzz.rev="205f7c8c059a0d98fe1cb912cdac84f324cb6981" # steps: # - name: Checkout - # uses: actions/checkout@v4 + # uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 # - name: Run honggfuzz # run: | @@ -332,7 +332,7 @@ jobs: index: [1, 2, 3, 4, 5, 6, 7] # 7 parallel jobs steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Check Rust run: | @@ -353,7 +353,7 @@ jobs: env: SKIP_WASM_BUILD: 1 steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set rust version from env file run: | RUST_VERSION=$(cat .github/env | sed -E 's/.*ci-unified:([^-]+)-([^-]+).*/\2/') diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4f746ad2a8288..4fdc22c977041 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -33,9 +33,9 @@ jobs: WASM_BUILD_RUSTFLAGS: "-C debug-assertions -D warnings" steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script - run: forklift cargo run --locked --release -p staging-node-cli --bin substrate-node --features runtime-benchmarks --quiet -- benchmark pallet --chain dev --pallet "*" --extrinsic "*" --steps 2 --repeat 1 --quiet + run: forklift cargo run --locked --release -p staging-node-cli --bin substrate-node --features runtime-benchmarks --quiet -- benchmark pallet --chain dev --pallet "*" --extrinsic "*" --steps 2 --repeat 1 --min-duration 0 --quiet # cf https://github.com/paritytech/polkadot-sdk/issues/1652 test-syscalls: @@ -50,7 +50,7 @@ jobs: SKIP_WASM_BUILD: 1 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script id: test run: | @@ -74,6 +74,6 @@ jobs: SKIP_WASM_BUILD: 1 steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: script run: forklift cargo check --all --benches --quiet diff --git a/.github/workflows/zombienet-reusable-preflight.yml b/.github/workflows/zombienet-reusable-preflight.yml index 6736ea7be1eef..f4fbad771ba04 100644 --- a/.github/workflows/zombienet-reusable-preflight.yml +++ b/.github/workflows/zombienet-reusable-preflight.yml @@ -196,7 +196,7 @@ jobs: BUILD_RUN_ID: ${{ steps.determine_build.outputs.BUILD_RUN_ID }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 # # Set changes @@ -210,7 +210,7 @@ jobs: - name: Set changes id: set_changes - uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 #v47.0.0 + uses: tj-actions/changed-files@8cba46e29c11878d930bca7870bb54394d3e8b21 #v47.0.2 with: files_yaml: | substrate: diff --git a/.github/workflows/zombienet_cumulus.yml b/.github/workflows/zombienet_cumulus.yml index 173b8989c8903..2e6785fb1502c 100644 --- a/.github/workflows/zombienet_cumulus.yml +++ b/.github/workflows/zombienet_cumulus.yml @@ -78,13 +78,14 @@ jobs: steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + - name: Download test parachain artifact if: ${{ matrix.test.needs-wasm-binary }} + uses: ./.github/actions/download-artifact-extract with: - name: build-test-parachain-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} - github-token: ${{ secrets.GITHUB_TOKEN }} + artifact-name: build-test-parachain-${{ needs.preflight.outputs.SOURCE_REF_SLUG }} + gh-token: ${{ secrets.GITHUB_TOKEN }} run-id: ${{ needs.preflight.outputs.BUILD_RUN_ID }} - name: zombienet_test @@ -114,7 +115,7 @@ jobs: - name: upload_logs - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 if: ${{ always() }} with: name: zombienet-logs-${{ matrix.test.job-name }}-${{ github.sha }} diff --git a/.github/workflows/zombienet_parachain-template.yml b/.github/workflows/zombienet_parachain-template.yml index e72d071bd87aa..d1b264b083af4 100644 --- a/.github/workflows/zombienet_parachain-template.yml +++ b/.github/workflows/zombienet_parachain-template.yml @@ -73,7 +73,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: zombienet_test timeout-minutes: 30 @@ -102,7 +102,7 @@ jobs: - name: upload_logs - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 if: ${{ always() }} with: name: zombienet-logs-${{ matrix.test.job-name }}-${{ github.sha }} diff --git a/.github/workflows/zombienet_polkadot.yml b/.github/workflows/zombienet_polkadot.yml index f091cf57f7b0c..8811cf26f8895 100644 --- a/.github/workflows/zombienet_polkadot.yml +++ b/.github/workflows/zombienet_polkadot.yml @@ -80,7 +80,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set additional environment variables if: ${{ matrix.test.additional-env }} @@ -133,7 +133,7 @@ jobs: - name: upload_logs - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 if: ${{ always() }} with: name: zombienet-logs-${{ matrix.test.job-name }}-${{ github.sha }} diff --git a/.github/workflows/zombienet_substrate.yml b/.github/workflows/zombienet_substrate.yml index 8f679900d739c..0eb240616de05 100644 --- a/.github/workflows/zombienet_substrate.yml +++ b/.github/workflows/zombienet_substrate.yml @@ -80,7 +80,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Additional setup if: ${{ matrix.test.additional-setup }} @@ -114,7 +114,7 @@ jobs: - name: upload_logs - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 if: ${{ always() }} with: name: zombienet-logs-${{ matrix.test.job-name }}-${{ github.sha }} diff --git a/.github/zombienet-flaky-tests b/.github/zombienet-flaky-tests index e3c171f9ee671..c22ca3bbd2c6f 100644 --- a/.github/zombienet-flaky-tests +++ b/.github/zombienet-flaky-tests @@ -9,3 +9,10 @@ zombienet-substrate-0002-validators-warp-sync:8871 zombienet-cumulus-0009-elastic_scaling_pov_recovery:8986 zombienet-cumulus-0010-elastic_scaling_multiple_block_per_slot:8999 zombienet-polkadot-functional-0014-chunk-fetching-network-compatibility:9980 +# disabled until zombienet support penpal (https://github.com/paritytech/zombienet-sdk/issues/480) +zombienet-polkadot-shared-core-idle-parachain:10653 +zombienet-polkadot-functional-async-backing-6-seconds-rate:10653 +zombienet-polkadot-elastic-scaling-doesnt-break-parachains:10653 +zombienet-polkadot-smoke-0005-precompile-pvf-smoke:10653 +zombienet-polkadot-smoke-0004-coretime-smoke-test:10653 +zombienet-polkadot-smoke-0002-parachains-parachains-upgrade-smoke:10653 diff --git a/.github/zombienet-tests/zombienet_cumulus_tests.yml b/.github/zombienet-tests/zombienet_cumulus_tests.yml index 2de3c3160799d..5b25110a771a1 100644 --- a/.github/zombienet-tests/zombienet_cumulus_tests.yml +++ b/.github/zombienet-tests/zombienet_cumulus_tests.yml @@ -30,13 +30,13 @@ - job-name: "zombienet-cumulus-0006-rpc_collator_builds_blocks" test-filter: "zombie_ci::rpc_collator_build_blocks::rpc_collator_builds_blocks" - runner-type: "default" + runner-type: "large" cumulus-image: "test-parachain" use-zombienet-sdk: true - job-name: "zombienet-cumulus-0007-full_node_warp_sync" test-filter: "zombie_ci::full_node_warp_sync::full_node_warp_sync" - runner-type: "default" + runner-type: "large" cumulus-image: "test-parachain" use-zombienet-sdk: true @@ -68,12 +68,6 @@ cumulus-image: "polkadot-parachain-debug" use-zombienet-sdk: true -- job-name: "zombienet-cumulus-0012-parachain_extrinsic_gets_finalized" - test-filter: "zombie_ci::parachain_extrinsic_get_finalized::parachain_extrinsic_gets_finalized" - runner-type: "default" - cumulus-image: "polkadot-parachain-debug" - use-zombienet-sdk: true - - job-name: "zombienet-cumulus-0013-elastic_scaling_slot_based_rp_offset" test-filter: "zombie_ci::elastic_scaling::slot_based_rp_offset::elastic_scaling_slot_based_relay_parent_offset_test" runner-type: "default" diff --git a/.github/zombienet-tests/zombienet_polkadot_tests.yml b/.github/zombienet-tests/zombienet_polkadot_tests.yml index 3e3fd238b068f..6b44e61fb6601 100644 --- a/.github/zombienet-tests/zombienet_polkadot_tests.yml +++ b/.github/zombienet-tests/zombienet_polkadot_tests.yml @@ -153,7 +153,7 @@ - job-name: "zombienet-polkadot-elastic-scaling-slot-based-3cores" test-filter: "elastic_scaling::slot_based_3cores::slot_based_3cores_test" - runner-type: "default" + runner-type: "large" use-zombienet-sdk: true cumulus-image: "test-parachain" @@ -201,7 +201,7 @@ # TODO: Disabled, occasionally (1 on ~50-100 runs) fails - job-name: "zombienet-polkadot-functional-spam-statement-distribution-requests" test-filter: "functional::spam_statement_distribution_requests::spam_statement_distribution_requests_test" - runner-type: "default" + runner-type: "large" use-zombienet-sdk: true cumulus-image: "colander" @@ -240,7 +240,7 @@ - job-name: "zombienet-polkadot-functional-validator-disabling" test-filter: "functional::validator_disabling::validator_disabling_test" - runner-type: "default" + runner-type: "large" use-zombienet-sdk: true - job-name: "zombienet-polkadot-dispute-old-finalized" @@ -252,3 +252,8 @@ test-filter: "functional::shared_core_idle_parachain::shared_core_idle_parachain_test" runner-type: "default" use-zombienet-sdk: true + +- job-name: "zombienet-polkadot-collators-basic-reputation-persistence" + test-filter: "functional::collators_reputation_persistence" + runner-type: "default" + use-zombienet-sdk: true diff --git a/.gitignore b/.gitignore index b59ece2791d17..bab68c65eb107 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,5 @@ substrate.code-workspace target/ *.scale rustc-ice-* +/.claude/settings.local.json +*.local.md diff --git a/.rustfmt.toml b/.rustfmt.toml index c34215391239c..eac07da167888 100644 --- a/.rustfmt.toml +++ b/.rustfmt.toml @@ -8,16 +8,18 @@ imports_granularity = "Crate" reorder_imports = true # Consistency newline_style = "Unix" +normalize_comments = true +normalize_doc_attributes = true # Misc chain_width = 80 spaces_around_ranges = false binop_separator = "Back" reorder_impl_items = false -match_arm_leading_pipes = "Preserve" -match_arm_blocks = false +match_arm_leading_pipes = "Never" +match_arm_blocks = true match_block_trailing_comma = true trailing_comma = "Vertical" -trailing_semicolon = false +trailing_semicolon = true use_field_init_shorthand = true # Format comments comment_width = 100 diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000000000..8d01c775025de --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,125 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Repository Overview + +The Polkadot SDK is a monorepo containing all components needed to build on the Polkadot network. It was formed by +merging three previously separate repositories: + +- **Substrate** (`substrate/`): Core blockchain framework providing consensus, networking, storage, and runtime + execution +- **Polkadot** (`polkadot/`): Relay chain implementation including the validator node +- **Cumulus** (`cumulus/`): SDK for building parachains that connect to Polkadot +- **Bridges** (`bridges/`): Cross-chain bridge infrastructure including Snowbridge (Ethereum bridge) + +## Rust Toolchain + +This repository is meant to be compiled with a stable Rust toolchain. A nightly toolchain is only required +to run `cargo +nightly fmt`. It should always compile with the latest Rust version. However, the CI will +use the version referenced in `.github/env`. Using features not available in that version will not pass CI. +Additionally, newer versions will likely result in warnings when compiling the repository. + +The toolchain requires the `rust-src` component to build for the PolkaVM target. +We also need the `wasm32v1-none` target to compile the WASM runtimes. + +## Build Commands + +```bash +# Check or clippy the entire workspace +# This skips the time-intensive building of the WASM runtimes +SKIP_WASM_BUILD=1 cargo check --workspace --all-targets --all-features +SKIP_WASM_BUILD=1 cargo clippy --workspace --all-targets --all-features + +# Build specific binary +cargo build -p polkadot --release +cargo build -p polkadot-parachain-bin --release + +# Build specific runtime +cargo build -p kitchensink-runtime --release --features runtime-benchmarks +``` + +## Testing + +```bash +# Run all tests (testnet is a release profile with debugging) +cargo test --workspace --profile testnet +``` + +## Formatting and Linting + +```bash +# Format Rust code (requires nightly) +cargo +nightly fmt + +# Format TOML files +taplo format --config .config/taplo.toml +``` + +## Architecture + +### Runtime vs Node + +The SDK separates **runtime** (on-chain logic, compiled to WASM) from **node** (off-chain client): +- Runtime code lives in `*/runtime/` directories and must be `no_std` compatible +- Node/client code lives in `*/client/` and `*/node/` directories + +### FRAME Pallets + +Pallets are modular runtime components in `substrate/frame/`. Each pallet: +- Has a `Config` trait for configuration +- May have storage items, dispatchables (extrinsics), events, and errors +- Uses macros from `frame_support` (`#[pallet::*]`) + +### XCM (Cross-Consensus Messaging) + +Located in `polkadot/xcm/`. XCM is the messaging format for cross-chain communication: +- `xcm/` - Core XCM types and versioning +- `xcm-builder/` - Configurable components for XCM execution +- `xcm-executor/` - XCM instruction executor +- `pallet-xcm/` - Runtime pallet for XCM + +### Key Directories + +- `substrate/primitives/` - Core types shared across the codebase +- `substrate/frame/support/` - FRAME macros and support code +- `polkadot/node/` - Polkadot validator node subsystems +- `cumulus/pallets/parachain-system/` - Core parachain runtime support +- `cumulus/parachains/runtimes/` - System parachain runtimes (Asset Hub, Bridge Hub, etc.) + +## Code Style + +- **Indentation**: Tabs (not spaces) +- **Line width**: 100 characters max +- **Panickers**: Avoid `unwrap()`; if used, add proof comment ending with `; qed` +- **Unsafe code**: Requires explicit safety justification + +## PR Requirements + +1. All PRs need a `prdoc` file unless labeled `R0-no-crate-publish-required` +2. Use `/cmd prdoc` in PR comments to generate prdoc (paritytech org members) +3. Use `/cmd fmt` to format code +4. Use `/cmd bench` for weight generation +5. Tag PRs with at least one `T*` label indicating the component changed + +## Running Local Networks + +```bash +# Using zombienet (recommended) +zombienet --provider native spawn ./zombienet/examples/small_network.toml + +# Manual: Start relay chain +./target/release/polkadot --chain rococo-local --alice --tmp + +# Manual: Start parachain collator +./target/release/polkadot-parachain --collator --alice --force-authoring --tmp +``` + +## UI Tests + +UI tests verify macro output. Update them with: +```bash +./scripts/update-ui-tests.sh +# Or for a specific Rust version: +./scripts/update-ui-tests.sh 1.70 +``` diff --git a/Cargo.lock b/Cargo.lock index 7da141b60175a..63c006ab12155 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1193,36 +1193,6 @@ dependencies = [ "testnet-parachains-constants", ] -[[package]] -name = "asset-hub-rococo-integration-tests" -version = "1.0.0" -dependencies = [ - "assert_matches", - "asset-test-utils", - "cumulus-pallet-parachain-system", - "emulated-integration-tests-common", - "frame-support", - "frame-system", - "pallet-asset-conversion", - "pallet-asset-rewards", - "pallet-assets", - "pallet-balances", - "pallet-message-queue", - "pallet-treasury", - "pallet-utility", - "pallet-xcm", - "parachains-common", - "parity-scale-codec", - "polkadot-runtime-common", - "rococo-runtime-constants", - "rococo-system-emulated-network", - "sp-core 28.0.0", - "sp-runtime", - "staging-xcm", - "staging-xcm-executor", - "xcm-runtime-apis", -] - [[package]] name = "asset-hub-rococo-runtime" version = "0.11.0" @@ -1284,20 +1254,20 @@ dependencies = [ "rococo-runtime-constants", "scale-info", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", - "sp-weights", + "sp-version 29.0.0", + "sp-weights 27.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -1348,7 +1318,7 @@ dependencies = [ "parity-scale-codec", "polkadot-runtime-common", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -1403,6 +1373,7 @@ dependencies = [ "pallet-balances", "pallet-collator-selection", "pallet-conviction-voting", + "pallet-dap", "pallet-delegated-staking", "pallet-election-provider-multi-block", "pallet-fast-unstake", @@ -1445,6 +1416,7 @@ dependencies = [ "parachains-runtimes-test-utils", "parity-scale-codec", "polkadot-parachain-primitives", + "polkadot-primitives", "polkadot-runtime-common", "primitive-types 0.13.1", "scale-info", @@ -1452,25 +1424,29 @@ dependencies = [ "snowbridge-outbound-queue-primitives", "snowbridge-pallet-system-frontend", "snowbridge-runtime-common", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", + "sp-authority-discovery", "sp-block-builder", "sp-consensus-aura", + "sp-consensus-babe", + "sp-consensus-beefy", + "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-npos-elections", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -1478,6 +1454,7 @@ dependencies = [ "substrate-wasm-builder", "testnet-parachains-constants", "tracing", + "westend-runtime", "westend-runtime-constants", "xcm-runtime-apis", ] @@ -1503,8 +1480,8 @@ dependencies = [ "parachains-common", "parachains-runtimes-test-utils", "parity-scale-codec", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -1530,9 +1507,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -1965,7 +1942,18 @@ dependencies = [ "log", "parity-scale-codec", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", +] + +[[package]] +name = "binary-merkle-tree" +version = "16.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95c9f6900c9fd344d53fbdfb36e1343429079d73f4168c8ef48884bf15616dbd" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", ] [[package]] @@ -2141,6 +2129,17 @@ dependencies = [ "constant_time_eq 0.3.0", ] +[[package]] +name = "blake2s_simd" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee29928bad1e3f94c9d1528da29e07a1d3d04817ae8332de1e8b846c8439f4b3" +dependencies = [ + "arrayref", + "arrayvec 0.7.6", + "constant_time_eq 0.4.2", +] + [[package]] name = "blake3" version = "1.5.4" @@ -2211,18 +2210,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bounded-collections" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32ed0a820ed50891d36358e997d27741a6142e382242df40ff01c89bcdcc7a2b" -dependencies = [ - "log", - "parity-scale-codec", - "scale-info", - "serde", -] - [[package]] name = "bounded-collections" version = "0.3.2" @@ -2257,7 +2244,7 @@ dependencies = [ "frame-support", "parity-scale-codec", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", "staging-xcm", "testnet-parachains-constants", @@ -2274,7 +2261,7 @@ dependencies = [ "frame-support", "parity-scale-codec", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", "staging-xcm", "testnet-parachains-constants", @@ -2284,7 +2271,7 @@ dependencies = [ name = "bp-beefy" version = "0.1.0" dependencies = [ - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bp-runtime", "frame-support", "pallet-beefy-mmr", @@ -2293,7 +2280,7 @@ dependencies = [ "scale-info", "serde", "sp-consensus-beefy", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2308,7 +2295,7 @@ dependencies = [ "frame-system", "parachains-common", "polkadot-primitives", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", ] @@ -2322,8 +2309,8 @@ dependencies = [ "bp-xcm-bridge-hub", "frame-support", "parity-scale-codec", - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2337,8 +2324,8 @@ dependencies = [ "bp-xcm-bridge-hub", "frame-support", "parity-scale-codec", - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2357,7 +2344,7 @@ dependencies = [ "serde", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2374,7 +2361,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-std 14.0.0", ] @@ -2390,7 +2377,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2406,8 +2393,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2424,7 +2411,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2442,7 +2429,7 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2454,7 +2441,7 @@ dependencies = [ "bp-polkadot-core", "bp-runtime", "frame-support", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", ] @@ -2472,13 +2459,13 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", - "sp-state-machine", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-std 14.0.0", - "sp-trie", + "sp-trie 29.0.0", "tracing", - "trie-db", + "trie-db 0.31.0", ] [[package]] @@ -2492,12 +2479,12 @@ dependencies = [ "ed25519-dalek", "finality-grandpa", "parity-scale-codec", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", - "sp-trie", + "sp-trie 29.0.0", ] [[package]] @@ -2508,7 +2495,7 @@ dependencies = [ "bp-polkadot-core", "bp-runtime", "frame-support", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", ] @@ -2523,7 +2510,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-std 14.0.0", "staging-xcm", ] @@ -2535,7 +2522,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", ] @@ -2550,7 +2537,7 @@ dependencies = [ "scale-info", "snowbridge-core", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -2591,7 +2578,6 @@ dependencies = [ "pallet-xcm", "parachains-common", "parity-scale-codec", - "rococo-system-emulated-network", "rococo-westend-system-emulated-network", "scale-info", "snowbridge-inbound-queue-primitives", @@ -2600,7 +2586,7 @@ dependencies = [ "snowbridge-pallet-outbound-queue", "snowbridge-pallet-system", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2685,21 +2671,21 @@ dependencies = [ "snowbridge-pallet-system", "snowbridge-runtime-test-common", "snowbridge-system-runtime-api", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -2740,9 +2726,9 @@ dependencies = [ "parachains-runtimes-test-utils", "parity-scale-codec", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "sp-tracing 16.0.0", "staging-xcm", @@ -2802,8 +2788,8 @@ dependencies = [ "snowbridge-pallet-system", "snowbridge-pallet-system-v2", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2892,21 +2878,21 @@ dependencies = [ "snowbridge-runtime-test-common", "snowbridge-system-runtime-api", "snowbridge-system-v2-runtime-api", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -2941,11 +2927,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", - "sp-trie", - "sp-weights", + "sp-trie 29.0.0", + "sp-weights 27.0.0", "staging-xcm", "static_assertions", "tracing", @@ -3201,15 +3187,15 @@ dependencies = [ "frame-support", "parity-scale-codec", "polkadot-sdk-frame", - "sc-chain-spec", + "sc-chain-spec 28.0.0", "scale-info", "serde", "serde_json", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-genesis-builder", + "sp-genesis-builder 0.8.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-wasm-builder", ] @@ -3255,6 +3241,19 @@ dependencies = [ "half", ] +[[package]] +name = "cid" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" +dependencies = [ + "core2", + "multibase", + "multihash 0.17.0", + "serde", + "unsigned-varint 0.7.2", +] + [[package]] name = "cid" version = "0.11.1" @@ -3435,7 +3434,7 @@ dependencies = [ "pallet-xcm", "parity-scale-codec", "polkadot-runtime-common", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-executor", "westend-runtime-constants", @@ -3497,22 +3496,22 @@ dependencies = [ "polkadot-runtime-common", "scale-info", "serde_json", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -3706,6 +3705,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +[[package]] +name = "constant_time_eq" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" + [[package]] name = "convert_case" version = "0.4.0" @@ -3765,104 +3770,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "coretime-rococo-emulated-chain" -version = "0.1.0" -dependencies = [ - "coretime-rococo-runtime", - "cumulus-primitives-core", - "emulated-integration-tests-common", - "frame-support", - "parachains-common", - "sp-core 28.0.0", - "testnet-parachains-constants", -] - -[[package]] -name = "coretime-rococo-integration-tests" -version = "0.0.0" -dependencies = [ - "cumulus-pallet-parachain-system", - "emulated-integration-tests-common", - "frame-support", - "pallet-broker", - "pallet-message-queue", - "polkadot-runtime-parachains", - "rococo-runtime-constants", - "rococo-system-emulated-network", - "sp-runtime", - "staging-xcm", -] - -[[package]] -name = "coretime-rococo-runtime" -version = "0.1.0" -dependencies = [ - "cumulus-pallet-aura-ext", - "cumulus-pallet-parachain-system", - "cumulus-pallet-session-benchmarking", - "cumulus-pallet-weight-reclaim", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-aura", - "cumulus-primitives-core", - "cumulus-primitives-utility", - "frame-benchmarking", - "frame-executive", - "frame-metadata-hash-extension", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "pallet-aura", - "pallet-authorship", - "pallet-balances", - "pallet-broker", - "pallet-collator-selection", - "pallet-message-queue", - "pallet-multisig", - "pallet-proxy", - "pallet-session", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-utility", - "pallet-xcm", - "pallet-xcm-benchmarks", - "parachains-common", - "parachains-runtimes-test-utils", - "parity-scale-codec", - "polkadot-parachain-primitives", - "polkadot-runtime-common", - "rococo-runtime-constants", - "scale-info", - "serde", - "serde_json", - "sp-api", - "sp-block-builder", - "sp-consensus-aura", - "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-keyring", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-storage 19.0.0", - "sp-transaction-pool", - "sp-version", - "staging-parachain-info", - "staging-xcm", - "staging-xcm-builder", - "staging-xcm-executor", - "substrate-wasm-builder", - "testnet-parachains-constants", - "tracing", - "xcm-runtime-apis", -] - [[package]] name = "coretime-westend-emulated-chain" version = "0.1.0" @@ -3886,7 +3793,7 @@ dependencies = [ "pallet-broker", "pallet-message-queue", "polkadot-runtime-parachains", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-executor", "westend-runtime-constants", @@ -3938,19 +3845,19 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -4342,10 +4249,10 @@ dependencies = [ "parity-scale-codec", "prost 0.12.6", "prost-build 0.13.2", - "sc-network", + "sc-network 0.34.0", "sc-service", "sp-consensus-babe", - "sp-runtime", + "sp-runtime 31.0.1", "tokio", ] @@ -4355,13 +4262,13 @@ version = "0.7.0" dependencies = [ "clap", "parity-scale-codec", - "sc-chain-spec", + "sc-chain-spec 28.0.0", "sc-cli", - "sc-client-api", + "sc-client-api 28.0.0", "sc-service", - "sp-blockchain", + "sp-blockchain 28.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "url", ] @@ -4384,13 +4291,13 @@ dependencies = [ "polkadot-node-subsystem-test-helpers", "polkadot-overseer", "polkadot-primitives", - "sc-client-api", - "sp-api", - "sp-consensus", + "sc-client-api 28.0.0", + "sp-api 26.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", - "sp-maybe-compressed-blob", - "sp-runtime", - "sp-state-machine", + "sp-maybe-compressed-blob 11.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", "tracing", ] @@ -4417,33 +4324,33 @@ dependencies = [ "polkadot-overseer", "polkadot-primitives", "rstest", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", "sc-consensus-aura", "sc-consensus-babe", "sc-consensus-slots", - "sc-network-types", - "sc-telemetry", - "sc-utils", + "sc-network-types 0.10.0", + "sc-telemetry 15.0.0", + "sc-utils 14.0.0", "schnellru", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-block-builder", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-aura", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-inherents", + "sp-inherents 26.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", - "sp-state-machine", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-timestamp", "sp-tracing 16.0.0", - "sp-trie", - "sp-version", - "substrate-prometheus-endpoint", + "sp-trie 29.0.0", + "sp-version 29.0.0", + "substrate-prometheus-endpoint 0.17.0", "tokio", "tracing", ] @@ -4465,21 +4372,21 @@ dependencies = [ "log", "parity-scale-codec", "polkadot-primitives", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", "sc-consensus-babe", - "sc-network", + "sc-network 0.34.0", "schnellru", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-slots", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-timestamp", "sp-tracing 16.0.0", - "sp-trie", - "sp-version", - "substrate-prometheus-endpoint", + "sp-trie 29.0.0", + "sp-version 29.0.0", + "substrate-prometheus-endpoint 0.17.0", "tokio", "tracing", ] @@ -4495,14 +4402,14 @@ dependencies = [ "futures", "parking_lot 0.12.3", "sc-consensus", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", - "sp-inherents", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", "tracing", ] @@ -4526,17 +4433,17 @@ dependencies = [ "polkadot-primitives-test-helpers", "polkadot-test-client", "rstest", - "sc-client-api", - "sc-network", - "sp-api", - "sp-blockchain", - "sp-consensus", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", - "sp-state-machine", - "sp-version", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-version 29.0.0", "tokio", "tracing", ] @@ -4551,13 +4458,13 @@ dependencies = [ "cumulus-relay-chain-interface", "cumulus-test-relay-sproof-builder", "parity-scale-codec", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus-babe", - "sc-network-types", + "sc-network-types 0.10.0", "sp-crypto-hashing 0.1.0", - "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", "tracing", ] @@ -4581,17 +4488,17 @@ dependencies = [ "polkadot-primitives", "rand 0.8.5", "rstest", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", - "sc-network", - "sc-utils", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-maybe-compressed-blob", - "sp-runtime", + "sc-network 0.34.0", + "sc-utils 14.0.0", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-maybe-compressed-blob 11.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "sp-version", + "sp-version 29.0.0", "tokio", "tracing", ] @@ -4616,26 +4523,26 @@ dependencies = [ "polkadot-overseer", "polkadot-primitives", "prometheus", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", - "sc-network", + "sc-network 0.34.0", "sc-network-sync", "sc-network-transactions", "sc-rpc", "sc-service", "sc-sysinfo", - "sc-telemetry", + "sc-telemetry 15.0.0", "sc-tracing", "sc-transaction-pool", - "sc-utils", - "sp-api", - "sp-blockchain", - "sp-consensus", + "sc-utils 14.0.0", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-transaction-pool", - "sp-trie", + "sp-trie 29.0.0", ] [[package]] @@ -4653,15 +4560,15 @@ dependencies = [ "parity-scale-codec", "rstest", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-aura", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", - "sp-trie", - "sp-version", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", + "sp-version 29.0.0", ] [[package]] @@ -4676,8 +4583,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", ] @@ -4712,24 +4619,24 @@ dependencies = [ "rstest", "sc-consensus", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-consensus-babe", "sp-consensus-slots", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-inherents", - "sp-io", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-std 14.0.0", "sp-tracing 16.0.0", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "staging-xcm", "staging-xcm-builder", - "trie-db", + "trie-db 0.31.0", "trie-standardmap", ] @@ -4752,7 +4659,7 @@ dependencies = [ "frame-system", "pallet-session", "parity-scale-codec", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -4766,7 +4673,7 @@ dependencies = [ "parity-scale-codec", "polkadot-primitives", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -4783,9 +4690,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-trie", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", ] [[package]] @@ -4797,8 +4704,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", ] @@ -4821,8 +4728,8 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -4839,7 +4746,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", ] @@ -4853,19 +4760,19 @@ dependencies = [ "polkadot-node-primitives", "polkadot-parachain-primitives", "polkadot-primitives", - "sc-executor", + "sc-executor 0.32.0", "sp-core 28.0.0", - "sp-io", - "sp-maybe-compressed-blob", + "sp-io 30.0.0", + "sp-maybe-compressed-blob 11.0.0", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] name = "cumulus-primitives-aura" version = "0.7.0" dependencies = [ - "sp-api", + "sp-api 26.0.0", "sp-consensus-aura", ] @@ -4878,9 +4785,9 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "scale-info", - "sp-api", - "sp-runtime", - "sp-trie", + "sp-api 26.0.0", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", "staging-xcm", "tracing", ] @@ -4894,8 +4801,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-inherents", - "sp-trie", + "sp-inherents 26.0.0", + "sp-trie 29.0.0", ] [[package]] @@ -4904,10 +4811,10 @@ version = "0.2.0" dependencies = [ "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io", + "sp-io 30.0.0", "sp-runtime-interface 24.0.0", - "sp-state-machine", - "sp-trie", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", ] [[package]] @@ -4924,9 +4831,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-trie", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", ] [[package]] @@ -4934,7 +4841,7 @@ name = "cumulus-primitives-timestamp" version = "0.7.0" dependencies = [ "cumulus-primitives-core", - "sp-inherents", + "sp-inherents 26.0.0", "sp-timestamp", ] @@ -4948,7 +4855,7 @@ dependencies = [ "pallet-asset-conversion", "parity-scale-codec", "polkadot-runtime-common", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -4971,17 +4878,17 @@ dependencies = [ "polkadot-test-client", "prioritized-metered-channel", "sc-cli", - "sc-client-api", - "sc-network", + "sc-client-api 28.0.0", + "sc-network 0.34.0", "sc-sysinfo", - "sc-telemetry", + "sc-telemetry 15.0.0", "sc-tracing", - "sp-api", - "sp-consensus", + "sp-api 26.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", ] [[package]] @@ -4994,12 +4901,13 @@ dependencies = [ "jsonrpsee-core", "parity-scale-codec", "polkadot-overseer", - "sc-client-api", - "sc-network", - "sp-api", - "sp-blockchain", - "sp-state-machine", - "sp-version", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-state-machine 0.35.0", + "sp-storage 19.0.0", + "sp-version 29.0.0", "thiserror 1.0.65", ] @@ -5023,18 +4931,18 @@ dependencies = [ "polkadot-primitives", "polkadot-service", "sc-authority-discovery", - "sc-client-api", - "sc-network", - "sc-network-common", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sc-network-common 0.33.0", "sc-service", "sc-tracing", - "sc-utils", - "sp-api", - "sp-blockchain", - "sp-consensus", + "sc-utils 14.0.0", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-babe", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", "tracing", ] @@ -5052,7 +4960,7 @@ dependencies = [ "polkadot-overseer", "portpicker", "prometheus", - "sc-client-api", + "sc-client-api 28.0.0", "sc-rpc-api", "sc-service", "schnellru", @@ -5061,11 +4969,11 @@ dependencies = [ "sp-authority-discovery", "sp-consensus-babe", "sp-core 28.0.0", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", - "sp-version", - "substrate-prometheus-endpoint", + "sp-version 29.0.0", + "substrate-prometheus-endpoint 0.17.0", "tokio", "tracing", "url", @@ -5079,8 +4987,8 @@ dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-primitives", - "sp-api", - "sp-consensus", + "sp-api 26.0.0", + "sp-consensus 0.32.0", "tracing", ] @@ -5104,21 +5012,21 @@ dependencies = [ "sc-block-builder", "sc-consensus", "sc-consensus-aura", - "sc-executor", - "sc-executor-common", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", "sc-service", - "sp-api", - "sp-application-crypto", - "sp-blockchain", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-blockchain 28.0.0", "sp-consensus-aura", "sp-core 28.0.0", - "sp-inherents", - "sp-io", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-timestamp", - "sp-trie", + "sp-trie 29.0.0", "substrate-test-client", ] @@ -5129,11 +5037,14 @@ dependencies = [ "cumulus-primitives-core", "parity-scale-codec", "polkadot-primitives", + "proptest", "sp-consensus-babe", "sp-core 28.0.0", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-io 30.0.0", + "sp-keyring", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", ] [[package]] @@ -5159,21 +5070,22 @@ dependencies = [ "pallet-timestamp", "pallet-transaction-payment", "parity-scale-codec", + "polkadot-primitives", "scale-info", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "substrate-wasm-builder", ] @@ -5218,33 +5130,33 @@ dependencies = [ "rand 0.8.5", "sc-basic-authorship", "sc-block-builder", - "sc-chain-spec", + "sc-chain-spec 28.0.0", "sc-cli", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", "sc-consensus-aura", - "sc-executor", - "sc-executor-common", - "sc-executor-wasmtime", - "sc-network", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", + "sc-executor-wasmtime 0.29.0", + "sc-network 0.34.0", "sc-service", - "sc-telemetry", + "sc-telemetry 15.0.0", "sc-tracing", "sc-transaction-pool", - "sc-transaction-pool-api", + "sc-transaction-pool-api 28.0.0", "serde", "serde_json", - "sp-api", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-timestamp", "sp-tracing 16.0.0", "substrate-test-client", @@ -5264,7 +5176,7 @@ dependencies = [ "parity-scale-codec", "polkadot-primitives", "sp-crypto-hashing 0.1.0", - "sp-runtime", + "sp-runtime 31.0.1", "tokio", "zombienet-configuration", "zombienet-sdk", @@ -6046,7 +5958,7 @@ dependencies = [ "sp-consensus-beefy", "sp-core 28.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -6717,15 +6629,15 @@ dependencies = [ "sc-client-db", "scale-info", "serde", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", "static_assertions", ] @@ -6740,6 +6652,7 @@ dependencies = [ "clap", "comfy-table", "cumulus-client-parachain-inherent", + "cumulus-primitives-core", "cumulus-primitives-proof-size-hostfunction", "cumulus-test-runtime", "env_filter", @@ -6758,40 +6671,40 @@ dependencies = [ "rand 0.8.5", "rand_pcg", "sc-block-builder", - "sc-chain-spec", + "sc-chain-spec 28.0.0", "sc-cli", - "sc-client-api", + "sc-client-api 28.0.0", "sc-client-db", - "sc-executor", - "sc-executor-common", - "sc-executor-wasmtime", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", + "sc-executor-wasmtime 0.29.0", "sc-runtime-utilities", "sc-service", "sc-sysinfo", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", - "sp-blockchain", + "sp-blockchain 28.0.0", "sp-core 28.0.0", - "sp-database", + "sp-database 10.0.0", "sp-externalities 0.25.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", "sp-timestamp", "sp-transaction-pool", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "sp-wasm-interface 20.0.0", "substrate-test-runtime", - "subxt 0.43.0", - "subxt-signer 0.43.0", + "subxt 0.44.2", + "subxt-signer 0.44.2", "thiserror 1.0.65", "thousands", "westend-runtime", @@ -6806,8 +6719,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -6826,16 +6739,18 @@ dependencies = [ [[package]] name = "frame-decode" -version = "0.8.3" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e56c0e51972d7b26ff76966c4d0f2307030df9daa5ce0885149ece1ab7ca5ad" +checksum = "c470df86cf28818dd3cd2fc4667b80dbefe2236c722c3dc1d09e7c6c82d6dfcd" dependencies = [ - "frame-metadata 23.0.0", + "frame-metadata 23.0.1", "parity-scale-codec", "scale-decode", + "scale-encode", "scale-info", "scale-type-resolver", "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 2.0.12", ] [[package]] @@ -6849,7 +6764,7 @@ dependencies = [ "proc-macro2 1.0.95", "quote 1.0.40", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "syn 2.0.98", "trybuild", ] @@ -6864,11 +6779,11 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -6881,8 +6796,8 @@ dependencies = [ "frame-support", "honggfuzz", "parity-scale-codec", - "sp-arithmetic", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -6900,11 +6815,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-inherents", - "sp-io", - "sp-runtime", + "sp-inherents 26.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "sp-version", + "sp-version 29.0.0", "substrate-test-runtime-client", ] @@ -6922,9 +6837,9 @@ dependencies = [ [[package]] name = "frame-metadata" -version = "23.0.0" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8c26fcb0454397c522c05fdad5380c4e622f8a875638af33bff5a320d1fc965" +checksum = "9ba5be0edbdb824843a0f9c6f0906ecfc66c5316218d74457003218b24909ed0" dependencies = [ "cfg-if", "parity-scale-codec", @@ -6939,15 +6854,15 @@ dependencies = [ "array-bytes 6.2.2", "const-hex", "docify", - "frame-metadata 23.0.0", + "frame-metadata 23.0.1", "frame-support", "frame-system", "log", "merkleized-metadata", "parity-scale-codec", "scale-info", - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "sp-transaction-pool", "substrate-test-runtime-client", @@ -6963,35 +6878,37 @@ dependencies = [ "cumulus-primitives-proof-size-hostfunction", "cumulus-test-runtime", "frame-benchmarking-cli", - "sc-chain-spec", + "polkadot-jemalloc-shim", + "sc-chain-spec 28.0.0", "sc-cli", - "sp-genesis-builder", - "sp-runtime", + "sp-genesis-builder 0.8.0", + "sp-runtime 31.0.1", "sp-statement-store", "tempfile", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] name = "frame-remote-externalities" version = "0.35.0" dependencies = [ + "frame-support", "futures", "indicatif", "jsonrpsee", "log", "parity-scale-codec", + "rand 0.8.5", "serde", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", - "sp-state-machine", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", "spinners", "substrate-rpc-client", "tokio", - "tokio-retry", ] [[package]] @@ -7001,9 +6918,9 @@ dependencies = [ "cumulus-pallet-parachain-system", "parity-scale-codec", "sp-core 28.0.0", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", "substrate-wasm-builder", ] @@ -7014,11 +6931,11 @@ dependencies = [ "Inflector", "aquamarine", "array-bytes 6.2.2", - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bitflags 1.3.2", "docify", "environmental", - "frame-metadata 23.0.0", + "frame-metadata 23.0.1", "frame-support-procedural", "frame-system", "impl-trait-for-tuples", @@ -7031,24 +6948,24 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-crypto-hashing-proc-macro", + "sp-crypto-hashing-proc-macro 0.1.0", "sp-debug-derive 14.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", - "sp-metadata-ir", - "sp-runtime", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", + "sp-metadata-ir 0.6.0", + "sp-runtime 31.0.1", "sp-staking", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-std 14.0.0", "sp-timestamp", "sp-tracing 16.0.0", - "sp-trie", - "sp-weights", + "sp-trie 29.0.0", + "sp-weights 27.0.0", "tt-call", ] @@ -7075,9 +6992,9 @@ dependencies = [ "regex", "scale-info", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-metadata-ir", - "sp-runtime", + "sp-io 30.0.0", + "sp-metadata-ir 0.6.0", + "sp-runtime 31.0.1", "syn 2.0.98", ] @@ -7107,7 +7024,7 @@ version = "3.0.0" dependencies = [ "frame-benchmarking", "frame-executive", - "frame-metadata 23.0.0", + "frame-metadata 23.0.1", "frame-support", "frame-support-test-pallet", "frame-system", @@ -7116,14 +7033,14 @@ dependencies = [ "rustversion", "scale-info", "serde", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-metadata-ir", - "sp-runtime", - "sp-state-machine", - "sp-version", + "sp-io 30.0.0", + "sp-metadata-ir 0.6.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-version 29.0.0", "static_assertions", "trybuild", ] @@ -7137,8 +7054,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime", - "sp-version", + "sp-runtime 31.0.1", + "sp-version 29.0.0", ] [[package]] @@ -7150,7 +7067,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -7176,11 +7093,11 @@ dependencies = [ "serde", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "sp-version", - "sp-weights", + "sp-version 29.0.0", + "sp-weights 27.0.0", "substrate-test-runtime-client", ] @@ -7195,9 +7112,9 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io", - "sp-runtime", - "sp-version", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-version 29.0.0", ] [[package]] @@ -7206,7 +7123,7 @@ version = "26.0.0" dependencies = [ "docify", "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", ] [[package]] @@ -7215,8 +7132,8 @@ version = "0.34.0" dependencies = [ "frame-support", "parity-scale-codec", - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -7651,19 +7568,19 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -7696,7 +7613,7 @@ dependencies = [ "pallet-xcm", "parity-scale-codec", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "westend-runtime", "westend-system-emulated-network", @@ -10026,14 +9943,61 @@ checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" [[package]] name = "litep2p" -version = "0.12.2" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c666ef772d123a7643323ad4979c30dd825e9c68ec1aa5b387a6c9a9871c11ea" +dependencies = [ + "async-trait", + "bs58", + "bytes", + "cid 0.11.1", + "ed25519-dalek", + "futures", + "futures-timer", + "hickory-resolver 0.25.2", + "indexmap 2.9.0", + "libc", + "mockall", + "multiaddr 0.17.1", + "multihash 0.17.0", + "network-interface", + "parking_lot 0.12.3", + "pin-project", + "prost 0.13.5", + "prost-build 0.13.2", + "rand 0.8.5", + "serde", + "sha2 0.10.9", + "simple-dns 0.9.3", + "smallvec", + "snow", + "socket2 0.5.9", + "thiserror 2.0.12", + "tokio", + "tokio-stream", + "tokio-tungstenite 0.27.0", + "tokio-util", + "tracing", + "uint 0.10.0", + "unsigned-varint 0.8.0", + "url", + "x25519-dalek", + "x509-parser 0.17.0", + "yamux 0.13.8", + "yasna", + "zeroize", +] + +[[package]] +name = "litep2p" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda6c1f442def15b5e73228ebf669e36f4f7d9d154a0b0190d43a29c4cbeadf" +checksum = "c68ba359d7f1a80d18821b46575d5ddb9a9a6672fe0669f5fc9e83cab9abd760" dependencies = [ "async-trait", "bs58", "bytes", - "cid", + "cid 0.11.1", "ed25519-dalek", "enum-display", "futures", @@ -10053,7 +10017,7 @@ dependencies = [ "ring 0.17.14", "serde", "sha2 0.10.9", - "simple-dns", + "simple-dns 0.11.0", "smallvec", "snow", "socket2 0.5.9", @@ -10103,7 +10067,7 @@ dependencies = [ "generator", "scoped-tls", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -10323,7 +10287,7 @@ checksum = "b3e3e3f549d27d2dc054372f320ddf68045a833fab490563ff70d4cf1b9d91ea" dependencies = [ "array-bytes 9.1.2", "blake3", - "frame-metadata 23.0.0", + "frame-metadata 23.0.1", "parity-scale-codec", "scale-decode", "scale-info", @@ -10354,7 +10318,7 @@ dependencies = [ "num-traits", "parking_lot 0.12.3", "relay-utils", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", "tracing", ] @@ -10450,15 +10414,15 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "sc-block-builder", - "sc-client-api", + "sc-client-api 28.0.0", "sc-offchain", - "sp-api", - "sp-blockchain", - "sp-consensus", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-beefy", "sp-core 28.0.0", "sp-mmr-primitives", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-test-runtime-client", "tokio", @@ -10472,11 +10436,11 @@ dependencies = [ "parity-scale-codec", "serde", "serde_json", - "sp-api", - "sp-blockchain", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", "sp-core 28.0.0", "sp-mmr-primitives", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -10586,10 +10550,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" dependencies = [ "blake2b_simd", + "blake2s_simd", + "blake3", "core2", "digest 0.10.7", "multihash-derive", "sha2 0.10.9", + "sha3", "unsigned-varint 0.7.2", ] @@ -10834,19 +10801,19 @@ dependencies = [ "parity-db", "rand 0.8.5", "sc-basic-authorship", - "sc-client-api", + "sc-client-api 28.0.0", "sc-transaction-pool", - "sc-transaction-pool-api", + "sc-transaction-pool-api 28.0.0", "serde", "serde_json", - "sp-consensus", + "sp-consensus 0.32.0", "sp-core 28.0.0", - "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-timestamp", "sp-tracing 16.0.0", - "sp-trie", + "sp-trie 29.0.0", "tempfile", ] @@ -10855,7 +10822,7 @@ name = "node-primitives" version = "2.0.0" dependencies = [ "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -10866,8 +10833,8 @@ dependencies = [ "mmr-rpc", "node-primitives", "pallet-transaction-payment-rpc", - "sc-chain-spec", - "sc-client-api", + "sc-chain-spec 28.0.0", + "sc-client-api 28.0.0", "sc-consensus-babe", "sc-consensus-babe-rpc", "sc-consensus-beefy", @@ -10877,17 +10844,16 @@ dependencies = [ "sc-mixnet", "sc-rpc", "sc-sync-state-rpc", - "sc-transaction-pool-api", - "sp-api", - "sp-application-crypto", + "sc-transaction-pool-api 28.0.0", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-block-builder", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-babe", "sp-consensus-beefy", - "sp-keystore", - "sp-runtime", - "sp-statement-store", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", ] @@ -10932,20 +10898,20 @@ dependencies = [ "pallet-skip-feeless-payment", "parity-scale-codec", "sc-block-builder", - "sc-client-api", + "sc-client-api 28.0.0", "sc-client-db", "sc-consensus", - "sc-executor", + "sc-executor 0.32.0", "sc-service", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-inherents", + "sp-inherents 26.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-timestamp", "staging-node-cli", "substrate-test-client", @@ -11400,10 +11366,10 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -11416,8 +11382,10 @@ dependencies = [ "log", "pallet-authorship", "pallet-balances", + "pallet-dap", "pallet-election-provider-multi-block", "pallet-offences", + "pallet-proxy", "pallet-root-offences", "pallet-session", "pallet-staking", @@ -11432,6 +11400,9 @@ dependencies = [ "sp-session", "sp-staking", "sp-tracing 16.0.0", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", ] [[package]] @@ -11450,8 +11421,8 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11467,11 +11438,11 @@ dependencies = [ "parity-scale-codec", "primitive-types 0.13.1", "scale-info", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11488,10 +11459,10 @@ dependencies = [ "parity-scale-codec", "primitive-types 0.13.1", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11507,8 +11478,8 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11522,8 +11493,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11539,11 +11510,11 @@ dependencies = [ "parity-scale-codec", "primitive-types 0.13.1", "scale-info", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -11561,8 +11532,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11578,8 +11549,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11607,8 +11578,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11624,8 +11595,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11648,11 +11619,11 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-aura", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11665,11 +11636,11 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-authority-discovery", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11682,8 +11653,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11704,11 +11675,11 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-babe", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-tracing 16.0.0", @@ -11729,8 +11700,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-test-utils", ] @@ -11756,7 +11727,7 @@ dependencies = [ "pallet-bags-list", "pallet-staking", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -11773,8 +11744,8 @@ dependencies = [ "paste", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11797,11 +11768,11 @@ dependencies = [ "serde", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", ] @@ -11810,7 +11781,7 @@ name = "pallet-beefy-mmr" version = "28.0.0" dependencies = [ "array-bytes 6.2.2", - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "frame-benchmarking", "frame-support", "frame-system", @@ -11822,13 +11793,13 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", + "sp-api 26.0.0", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", - "sp-state-machine", + "sp-state-machine 0.35.0", ] [[package]] @@ -11839,13 +11810,14 @@ dependencies = [ "frame-support", "frame-system", "log", + "pallet-assets", "pallet-balances", "pallet-treasury", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11866,8 +11838,8 @@ dependencies = [ "serde", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "tracing", ] @@ -11886,8 +11858,8 @@ dependencies = [ "scale-info", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "tracing", ] @@ -11908,10 +11880,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", - "sp-trie", + "sp-trie 29.0.0", "tracing", ] @@ -11931,8 +11903,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "tracing", ] @@ -11959,10 +11931,10 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "tracing", ] @@ -11978,11 +11950,11 @@ dependencies = [ "parity-scale-codec", "pretty_assertions", "scale-info", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", ] @@ -12000,14 +11972,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] name = "pallet-collator-selection" version = "9.0.0" dependencies = [ + "cumulus-pallet-session-benchmarking", "frame-benchmarking", "frame-support", "frame-system", @@ -12021,8 +11994,8 @@ dependencies = [ "rand 0.8.5", "scale-info", "sp-consensus-aura", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -12040,8 +12013,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12054,8 +12027,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12086,11 +12059,11 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -12106,7 +12079,7 @@ dependencies = [ "anyhow", "frame-system", "parity-wasm", - "sp-runtime", + "sp-runtime 31.0.1", "tempfile", "toml", "twox-hash 1.6.3", @@ -12131,11 +12104,11 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-parachains", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -12175,8 +12148,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12190,10 +12163,26 @@ dependencies = [ "pallet-ranked-collective", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", +] + +[[package]] +name = "pallet-dap" +version = "0.1.0" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-balances", + "parity-scale-codec", + "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12205,8 +12194,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12225,8 +12214,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -12246,8 +12235,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12262,9 +12251,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", + "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -12281,8 +12271,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12296,11 +12286,11 @@ dependencies = [ "pallet-people", "parity-scale-codec", "scale-info", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "verifiable", ] @@ -12324,9 +12314,9 @@ dependencies = [ "parking_lot 0.12.3", "scale-info", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -12345,11 +12335,11 @@ dependencies = [ "parking_lot 0.12.3", "rand 0.8.5", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "sp-tracing 16.0.0", ] @@ -12370,11 +12360,11 @@ dependencies = [ "parking_lot 0.12.3", "rand 0.8.5", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "strum 0.26.3", "tokio", @@ -12389,7 +12379,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -12404,9 +12394,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", "substrate-test-utils", @@ -12425,9 +12415,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -12442,8 +12432,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12467,8 +12457,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12482,7 +12472,7 @@ dependencies = [ "pallet-migrations", "parity-scale-codec", "scale-info", - "sp-io", + "sp-io 30.0.0", ] [[package]] @@ -12496,9 +12486,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12513,9 +12503,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", - "sp-version", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-version 29.0.0", ] [[package]] @@ -12529,7 +12519,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", ] [[package]] @@ -12543,15 +12533,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] name = "pallet-example-view-functions" version = "1.0.0" dependencies = [ - "frame-metadata 23.0.0", + "frame-metadata 23.0.1", "frame-support", "frame-system", "log", @@ -12559,9 +12549,9 @@ dependencies = [ "pretty_assertions", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-metadata-ir", - "sp-runtime", + "sp-io 30.0.0", + "sp-metadata-ir 0.6.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12598,8 +12588,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -12616,9 +12606,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-inherents", - "sp-io", - "sp-runtime", + "sp-inherents 26.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12640,12 +12630,12 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-tracing 16.0.0", @@ -12664,9 +12654,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12682,10 +12672,10 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", ] @@ -12700,8 +12690,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12726,8 +12716,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12741,8 +12731,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12759,13 +12749,13 @@ dependencies = [ "rand_distr", "scale-info", "serde", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "sp-weights", + "sp-weights 27.0.0", ] [[package]] @@ -12783,10 +12773,10 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -12806,8 +12796,8 @@ dependencies = [ "pretty_assertions", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", ] @@ -12829,7 +12819,7 @@ dependencies = [ "polkadot-sdk-frame", "scale-info", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-mixnet", ] @@ -12861,8 +12851,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12902,9 +12892,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12912,7 +12902,7 @@ name = "pallet-nfts-runtime-api" version = "14.0.0" dependencies = [ "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", ] [[package]] @@ -12923,7 +12913,7 @@ dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", "scale-info", - "sp-io", + "sp-io 30.0.0", ] [[package]] @@ -12947,8 +12937,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -12971,8 +12961,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", "sp-staking", ] @@ -12987,8 +12977,8 @@ dependencies = [ "log", "pallet-nomination-pools", "rand 0.8.5", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", ] @@ -12998,7 +12988,7 @@ version = "23.0.0" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", ] [[package]] @@ -13013,14 +13003,15 @@ dependencies = [ "pallet-balances", "pallet-delegated-staking", "pallet-nomination-pools", - "pallet-staking", + "pallet-staking-async", + "pallet-staking-async-rc-client", "pallet-staking-reward-curve", "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -13036,8 +13027,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", ] @@ -13056,14 +13047,15 @@ dependencies = [ "pallet-im-online", "pallet-offences", "pallet-session", + "pallet-session-benchmarking", "pallet-staking", "pallet-staking-reward-curve", "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -13079,9 +13071,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto", - "sp-io", - "sp-runtime", + "sp-application-crypto 30.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -13091,7 +13083,7 @@ version = "1.0.0" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", ] @@ -13106,10 +13098,10 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13120,7 +13112,7 @@ dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", "scale-info", - "sp-metadata-ir", + "sp-metadata-ir 0.6.0", ] [[package]] @@ -13157,8 +13149,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13171,10 +13163,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "verifiable", ] @@ -13190,8 +13182,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13216,10 +13208,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13247,10 +13239,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13264,8 +13256,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13303,7 +13295,7 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "paste", - "polkavm", + "polkavm 0.30.0", "polkavm-common 0.30.0", "pretty_assertions", "proptest", @@ -13316,20 +13308,20 @@ dependencies = [ "secp256k1 0.28.2", "serde", "serde_json", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-consensus-aura", "sp-consensus-babe", "sp-consensus-slots", "sp-core 28.0.0", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-state-machine", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", - "sp-version", + "sp-version 29.0.0", "substrate-bn", - "subxt-signer 0.43.0", + "subxt-signer 0.44.2", "test-case", ] @@ -13358,18 +13350,18 @@ dependencies = [ "sc-service", "serde", "serde_json", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", + "sp-io 30.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-timestamp", - "sp-weights", + "sp-weights 27.0.0", "sqlx", - "substrate-prometheus-endpoint", - "subxt 0.43.0", - "subxt-signer 0.43.0", + "substrate-prometheus-endpoint 0.17.0", + "subxt 0.44.2", + "subxt-signer 0.44.2", "thiserror 1.0.65", "tokio", ] @@ -13386,7 +13378,7 @@ dependencies = [ "polkavm-linker", "serde_json", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "toml", ] @@ -13414,22 +13406,36 @@ dependencies = [ ] [[package]] -name = "pallet-root-offences" -version = "25.0.0" +name = "pallet-revive-ui-tests" +version = "0.1.0" dependencies = [ - "frame-election-provider-support", + "alloy-core", "frame-support", "frame-system", "pallet-balances", - "pallet-session", + "pallet-revive", + "parity-scale-codec", + "scale-info", + "trybuild", +] + +[[package]] +name = "pallet-root-offences" +version = "25.0.0" +dependencies = [ + "frame-election-provider-support", + "frame-support", + "frame-system", + "pallet-balances", + "pallet-session", "pallet-staking", "pallet-staking-reward-curve", "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", ] @@ -13441,8 +13447,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13483,8 +13489,8 @@ dependencies = [ "sp-consensus-sassafras", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13500,9 +13506,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", - "sp-weights", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "substrate-test-utils", ] @@ -13515,8 +13521,8 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13532,12 +13538,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", - "sp-state-machine", - "sp-trie", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", ] [[package]] @@ -13556,8 +13562,8 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", ] @@ -13570,7 +13576,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -13586,10 +13592,10 @@ dependencies = [ "parity-scale-codec", "rand_chacha 0.3.1", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13611,11 +13617,11 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", "substrate-test-utils", @@ -13640,11 +13646,11 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", "substrate-test-utils", @@ -13665,8 +13671,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", ] @@ -13714,6 +13720,7 @@ dependencies = [ "pallet-balances", "pallet-collator-selection", "pallet-conviction-voting", + "pallet-dap", "pallet-delegated-staking", "pallet-election-provider-multi-block", "pallet-fast-unstake", @@ -13751,29 +13758,34 @@ dependencies = [ "parachains-runtimes-test-utils", "parity-scale-codec", "polkadot-parachain-primitives", + "polkadot-primitives", "polkadot-runtime-common", "primitive-types 0.13.1", "scale-info", "serde_json", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", + "sp-authority-discovery", "sp-block-builder", "sp-consensus-aura", + "sp-consensus-babe", + "sp-consensus-beefy", + "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-npos-elections", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -13799,6 +13811,7 @@ dependencies = [ name = "pallet-staking-async-rc-client" version = "0.1.0" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "impl-trait-for-tuples", @@ -13806,9 +13819,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", ] [[package]] @@ -13816,7 +13831,7 @@ name = "pallet-staking-async-rc-runtime" version = "7.0.0" dependencies = [ "approx", - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -13886,29 +13901,29 @@ dependencies = [ "serde_derive", "serde_json", "smallvec", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -13927,26 +13942,18 @@ dependencies = [ "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-builder", ] -[[package]] -name = "pallet-staking-async-reward-fn" -version = "19.0.0" -dependencies = [ - "log", - "sp-arithmetic", -] - [[package]] name = "pallet-staking-async-runtime-api" version = "14.0.0" dependencies = [ "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", "sp-staking", ] @@ -13957,7 +13964,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2 1.0.95", "quote 1.0.40", - "sp-runtime", + "sp-runtime 31.0.1", "syn 2.0.98", ] @@ -13966,7 +13973,7 @@ name = "pallet-staking-reward-fn" version = "19.0.0" dependencies = [ "log", - "sp-arithmetic", + "sp-arithmetic 23.0.0", ] [[package]] @@ -13974,7 +13981,7 @@ name = "pallet-staking-runtime-api" version = "14.0.0" dependencies = [ "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", "sp-staking", ] @@ -13992,8 +13999,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-state-trie-migration-rpc", "thousands", @@ -14008,13 +14015,12 @@ dependencies = [ "frame-support", "frame-system", "log", - "pallet-balances", "parity-scale-codec", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-statement-store", ] @@ -14028,8 +14034,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -14042,8 +14048,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -14057,9 +14063,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-inherents", - "sp-io", - "sp-runtime", + "sp-inherents 26.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-storage 19.0.0", "sp-timestamp", ] @@ -14078,8 +14084,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-storage 19.0.0", ] @@ -14096,8 +14102,8 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -14107,12 +14113,12 @@ dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", - "sp-api", - "sp-blockchain", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", "sp-core 28.0.0", "sp-rpc", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", ] [[package]] @@ -14121,9 +14127,9 @@ version = "28.0.0" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", - "sp-api", - "sp-runtime", - "sp-weights", + "sp-api 26.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", ] [[package]] @@ -14138,9 +14144,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-inherents", - "sp-io", - "sp-runtime", + "sp-inherents 26.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-transaction-storage-proof", "tracing", ] @@ -14161,8 +14167,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -14189,8 +14195,8 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -14207,8 +14213,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -14220,9 +14226,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-weights", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", ] [[package]] @@ -14236,8 +14242,8 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -14268,8 +14274,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -14289,8 +14295,8 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -14315,8 +14321,8 @@ dependencies = [ "polkadot-parachain-primitives", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -14336,8 +14342,8 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -14358,8 +14364,8 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -14388,7 +14394,7 @@ dependencies = [ "parity-scale-codec", "polkadot-sdk", "serde", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", ] [[package]] @@ -14432,8 +14438,8 @@ dependencies = [ "scale-info", "sp-consensus-aura", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", @@ -14446,7 +14452,7 @@ version = "0.1.0" dependencies = [ "sp-consensus-aura", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -14484,8 +14490,8 @@ dependencies = [ "polkadot-parachain-primitives", "sp-consensus-aura", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-parachain-info", "staging-xcm", @@ -14735,116 +14741,19 @@ dependencies = [ "scale-info", "serde_json", "smallvec", - "sp-api", - "sp-block-builder", - "sp-consensus-aura", - "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-keyring", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-storage 19.0.0", - "sp-transaction-pool", - "sp-version", - "staging-parachain-info", - "staging-xcm", - "staging-xcm-builder", - "staging-xcm-executor", - "substrate-wasm-builder", - "testnet-parachains-constants", - "tracing", - "xcm-runtime-apis", -] - -[[package]] -name = "people-rococo-emulated-chain" -version = "0.1.0" -dependencies = [ - "cumulus-primitives-core", - "emulated-integration-tests-common", - "frame-support", - "parachains-common", - "people-rococo-runtime", - "sp-core 28.0.0", - "testnet-parachains-constants", -] - -[[package]] -name = "people-rococo-integration-tests" -version = "0.1.0" -dependencies = [ - "asset-test-utils", - "emulated-integration-tests-common", - "frame-support", - "pallet-balances", - "parachains-common", - "rococo-system-emulated-network", - "sp-runtime", - "staging-xcm", - "staging-xcm-executor", -] - -[[package]] -name = "people-rococo-runtime" -version = "0.1.0" -dependencies = [ - "cumulus-pallet-aura-ext", - "cumulus-pallet-parachain-system", - "cumulus-pallet-session-benchmarking", - "cumulus-pallet-weight-reclaim", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-aura", - "cumulus-primitives-core", - "cumulus-primitives-utility", - "enumflags2", - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "pallet-aura", - "pallet-authorship", - "pallet-balances", - "pallet-collator-selection", - "pallet-identity", - "pallet-message-queue", - "pallet-migrations", - "pallet-multisig", - "pallet-proxy", - "pallet-session", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-utility", - "pallet-xcm", - "pallet-xcm-benchmarks", - "parachains-common", - "parachains-runtimes-test-utils", - "parity-scale-codec", - "polkadot-parachain-primitives", - "polkadot-runtime-common", - "rococo-runtime-constants", - "scale-info", - "serde", - "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -14880,7 +14789,7 @@ dependencies = [ "pallet-xcm", "parachains-common", "parity-scale-codec", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-executor", "westend-runtime", @@ -14932,20 +14841,20 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-statement-store", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -15161,6 +15070,7 @@ dependencies = [ "nix 0.29.0", "polkadot-cli", "polkadot-core-primitives", + "polkadot-jemalloc-shim", "polkadot-node-core-pvf", "polkadot-node-core-pvf-common", "polkadot-node-core-pvf-execute-worker", @@ -15169,7 +15079,6 @@ dependencies = [ "substrate-build-script-utils", "substrate-rpc-client", "tempfile", - "tikv-jemallocator", "tokio", ] @@ -15194,7 +15103,7 @@ dependencies = [ "rand_core 0.6.4", "sc-keystore", "schnorrkel 0.11.4", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-authority-discovery", "sp-core 28.0.0", "sp-tracing 16.0.0", @@ -15217,11 +15126,11 @@ dependencies = [ "polkadot-primitives", "rand 0.8.5", "rand_chacha 0.3.1", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-authority-discovery", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "tracing-gum", ] @@ -15246,11 +15155,11 @@ dependencies = [ "polkadot-subsystem-bench", "rand 0.8.5", "rstest", - "sc-network", + "sc-network 0.34.0", "schnellru", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15277,7 +15186,7 @@ dependencies = [ "polkadot-subsystem-bench", "rand 0.8.5", "rstest", - "sc-network", + "sc-network 0.34.0", "schnellru", "sp-core 28.0.0", "sp-keyring", @@ -15311,14 +15220,14 @@ dependencies = [ "pyroscope", "pyroscope_pprofrs", "sc-cli", - "sc-network-types", + "sc-network-types 0.10.0", "sc-service", "sc-storage-monitor", "sc-sysinfo", "sc-tracing", "sp-core 28.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-build-script-utils", "thiserror 1.0.65", ] @@ -15334,6 +15243,7 @@ dependencies = [ "futures", "futures-timer", "itertools 0.11.0", + "kvdb-memorydb", "parity-scale-codec", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -15344,12 +15254,13 @@ dependencies = [ "polkadot-primitives-test-helpers", "rstest", "sc-keystore", - "sc-network", + "sc-network 0.34.0", + "sc-network-types 0.10.0", "schnellru", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "thiserror 1.0.65", "tokio", @@ -15364,7 +15275,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -15387,10 +15298,10 @@ dependencies = [ "polkadot-primitives", "polkadot-primitives-test-helpers", "sc-keystore", - "sc-network", - "sp-application-crypto", + "sc-network 0.34.0", + "sp-application-crypto 30.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15407,7 +15318,7 @@ dependencies = [ "quickcheck", "reed-solomon-novelpoly", "sp-core 28.0.0", - "sp-trie", + "sp-trie 29.0.0", "thiserror 1.0.65", ] @@ -15428,18 +15339,29 @@ dependencies = [ "quickcheck", "rand 0.8.5", "rand_chacha 0.3.1", - "sc-network", - "sp-application-crypto", + "sc-network 0.34.0", + "sp-application-crypto 30.0.0", "sp-authority-discovery", "sp-consensus-babe", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "tracing-gum", ] +[[package]] +name = "polkadot-jemalloc-shim" +version = "1.0.0" +dependencies = [ + "polkadot-cli", + "polkadot-node-core-pvf", + "polkadot-node-core-pvf-prepare-worker", + "polkadot-overseer", + "tikv-jemallocator", +] + [[package]] name = "polkadot-network-bridge" version = "7.0.0" @@ -15461,8 +15383,8 @@ dependencies = [ "polkadot-overseer", "polkadot-primitives", "polkadot-primitives-test-helpers", - "sc-network", - "sp-consensus", + "sc-network 0.34.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-keyring", "thiserror 1.0.65", @@ -15520,14 +15442,14 @@ dependencies = [ "sc-keystore", "schnellru", "schnorrkel 0.11.4", - "sp-application-crypto", - "sp-consensus", + "sp-application-crypto 30.0.0", + "sp-consensus 0.32.0", "sp-consensus-babe", "sp-consensus-slots", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15556,7 +15478,7 @@ dependencies = [ "rand_core 0.6.4", "sc-keystore", "schnorrkel 0.11.4", - "sp-consensus", + "sp-consensus 0.32.0", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", @@ -15582,7 +15504,7 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-primitives", "polkadot-primitives-test-helpers", - "sp-consensus", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-keyring", "sp-tracing 16.0.0", @@ -15609,10 +15531,10 @@ dependencies = [ "polkadot-statement-table", "sc-keystore", "schnellru", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15628,7 +15550,7 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-primitives", "polkadot-primitives-test-helpers", - "sp-keystore", + "sp-keystore 0.34.0", "thiserror 1.0.65", "tracing-gum", "wasm-timer", @@ -15654,11 +15576,11 @@ dependencies = [ "polkadot-primitives", "polkadot-primitives-test-helpers", "rstest", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-maybe-compressed-blob", + "sp-keystore 0.34.0", + "sp-maybe-compressed-blob 11.0.0", "tracing-gum", ] @@ -15675,9 +15597,9 @@ dependencies = [ "polkadot-node-subsystem-test-helpers", "polkadot-node-subsystem-types", "polkadot-primitives", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus-babe", - "sp-blockchain", + "sp-blockchain 28.0.0", "sp-core 28.0.0", "tracing-gum", ] @@ -15721,10 +15643,10 @@ dependencies = [ "polkadot-subsystem-bench", "sc-keystore", "schnellru", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15740,8 +15662,8 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-overseer", "polkadot-primitives", - "sp-blockchain", - "sp-inherents", + "sp-blockchain 28.0.0", + "sp-inherents 26.0.0", "thiserror 1.0.65", "tracing-gum", ] @@ -15782,8 +15704,8 @@ dependencies = [ "polkadot-primitives-test-helpers", "sc-consensus-slots", "schnellru", - "sp-application-crypto", - "sp-keystore", + "sp-application-crypto 30.0.0", + "sp-keystore 0.34.0", "thiserror 1.0.65", "tracing-gum", ] @@ -15820,7 +15742,7 @@ dependencies = [ "sc-tracing", "slotmap", "sp-core 28.0.0", - "sp-maybe-compressed-blob", + "sp-maybe-compressed-blob 11.0.0", "strum 0.26.3", "tempfile", "test-parachain-adder", @@ -15842,11 +15764,11 @@ dependencies = [ "polkadot-primitives", "polkadot-primitives-test-helpers", "sc-keystore", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "tracing-gum", ] @@ -15864,14 +15786,14 @@ dependencies = [ "polkadot-node-primitives", "polkadot-parachain-primitives", "polkadot-primitives", - "sc-executor", - "sc-executor-common", - "sc-executor-wasmtime", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", + "sc-executor-wasmtime 0.29.0", "seccompiler", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-io", + "sp-io 30.0.0", "sp-tracing 16.0.0", "tempfile", "thiserror 1.0.65", @@ -15892,7 +15814,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-parachain-primitives", "polkadot-primitives", - "sp-maybe-compressed-blob", + "sp-maybe-compressed-blob 11.0.0", "tracing-gum", ] @@ -15908,7 +15830,7 @@ dependencies = [ "polkadot-node-core-pvf-common", "polkadot-primitives", "rococo-runtime", - "sp-maybe-compressed-blob", + "sp-maybe-compressed-blob 11.0.0", "staging-tracking-allocator", "tikv-jemalloc-ctl", "tikv-jemallocator", @@ -15929,7 +15851,7 @@ dependencies = [ "polkadot-primitives", "polkadot-primitives-test-helpers", "schnellru", - "sp-api", + "sp-api 26.0.0", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", @@ -15955,7 +15877,7 @@ dependencies = [ "sc-service", "sc-tracing", "sp-keyring", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "tokio", ] @@ -15976,9 +15898,9 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "sc-authority-discovery", - "sc-network", - "sc-network-types", - "sp-runtime", + "sc-network 0.34.0", + "sc-network-types 0.10.0", + "sp-runtime 31.0.1", "strum 0.26.3", "thiserror 1.0.65", "tracing-gum", @@ -15998,11 +15920,11 @@ dependencies = [ "sc-keystore", "schnorrkel 0.11.4", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-babe", "sp-consensus-slots", - "sp-keystore", - "sp-maybe-compressed-blob", + "sp-keystore 0.34.0", + "sp-maybe-compressed-blob 11.0.0", "thiserror 1.0.65", "zstd 0.12.4", ] @@ -16027,13 +15949,13 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "sc-client-api", + "sc-client-api 28.0.0", "sc-keystore", - "sc-utils", - "sp-application-crypto", + "sc-utils 14.0.0", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", ] [[package]] @@ -16049,17 +15971,17 @@ dependencies = [ "polkadot-node-primitives", "polkadot-primitives", "polkadot-statement-table", - "sc-client-api", - "sc-network", - "sc-network-types", - "sc-transaction-pool-api", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sc-network-types 0.10.0", + "sc-transaction-pool-api 28.0.0", "smallvec", - "sp-api", + "sp-api 26.0.0", "sp-authority-discovery", - "sp-blockchain", + "sp-blockchain 28.0.0", "sp-consensus-babe", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", "thiserror 1.0.65", ] @@ -16089,9 +16011,9 @@ dependencies = [ "prioritized-metered-channel", "rand 0.8.5", "schnellru", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-keystore", + "sp-keystore 0.34.0", "tempfile", "thiserror 1.0.65", "tracing-gum", @@ -16103,6 +16025,7 @@ version = "0.1.0" dependencies = [ "assert_cmd", "color-eyre", + "polkadot-jemalloc-shim", "polkadot-omni-node-lib", "substrate-build-script-utils", ] @@ -16146,16 +16069,16 @@ dependencies = [ "polkadot-cli", "polkadot-primitives", "sc-basic-authorship", - "sc-chain-spec", + "sc-chain-spec 28.0.0", "sc-cli", - "sc-client-api", + "sc-client-api 28.0.0", "sc-client-db", "sc-consensus", "sc-consensus-aura", "sc-consensus-manual-seal", - "sc-executor", + "sc-executor 0.32.0", "sc-keystore", - "sc-network", + "sc-network 0.34.0", "sc-network-statement", "sc-network-sync", "sc-offchain", @@ -16165,35 +16088,36 @@ dependencies = [ "sc-statement-store", "sc-storage-monitor", "sc-sysinfo", - "sc-telemetry", + "sc-telemetry 15.0.0", "sc-tracing", "sc-transaction-pool", - "sc-transaction-pool-api", + "sc-transaction-pool-api 28.0.0", "scale-info", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", - "sp-consensus", + "sp-consensus 0.32.0", "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-keystore", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-keystore 0.34.0", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-statement-store", "sp-storage 19.0.0", "sp-timestamp", "sp-transaction-pool", - "sp-version", - "sp-weights", + "sp-transaction-storage-proof", + "sp-version 29.0.0", + "sp-weights 27.0.0", "staging-chain-spec-builder", "substrate-frame-rpc-system", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "substrate-state-trie-migration-rpc", - "subxt-metadata 0.43.0", + "subxt-metadata 0.44.2", "tokio", "wait-timeout", ] @@ -16216,7 +16140,7 @@ dependencies = [ "polkadot-primitives", "polkadot-primitives-test-helpers", "prioritized-metered-channel", - "sc-client-api", + "sc-client-api 28.0.0", "sp-core 28.0.0", "tikv-jemalloc-ctl", "tracing-gum", @@ -16233,7 +16157,6 @@ dependencies = [ "bridge-hub-westend-runtime", "collectives-westend-runtime", "color-eyre", - "coretime-rococo-runtime", "coretime-westend-runtime", "cumulus-client-consensus-aura", "cumulus-primitives-core", @@ -16242,17 +16165,16 @@ dependencies = [ "log", "parachains-common", "penpal-runtime", - "people-rococo-runtime", "people-westend-runtime", + "polkadot-jemalloc-shim", "polkadot-omni-node-lib", - "rococo-parachain-runtime", - "sc-chain-spec", + "sc-chain-spec 28.0.0", "sc-cli", "sc-service", "serde", "serde_json", "sp-core 28.0.0", - "sp-genesis-builder", + "sp-genesis-builder 0.8.0", "sp-keyring", "staging-xcm", "substrate-build-script-utils", @@ -16271,8 +16193,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", ] [[package]] @@ -16288,16 +16210,16 @@ dependencies = [ "polkadot-parachain-primitives", "scale-info", "serde", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-consensus-slots", "sp-core 28.0.0", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-inherents 26.0.0", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-staking", "sp-std 14.0.0", "thiserror 1.0.65", @@ -16312,10 +16234,10 @@ dependencies = [ "polkadot-primitives", "rand 0.8.5", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -16326,8 +16248,8 @@ dependencies = [ "mmr-rpc", "pallet-transaction-payment-rpc", "polkadot-primitives", - "sc-chain-spec", - "sc-client-api", + "sc-chain-spec 28.0.0", + "sc-client-api 28.0.0", "sc-consensus-babe", "sc-consensus-babe-rpc", "sc-consensus-beefy", @@ -16336,16 +16258,16 @@ dependencies = [ "sc-consensus-grandpa-rpc", "sc-rpc", "sc-sync-state-rpc", - "sc-transaction-pool-api", - "sp-api", - "sp-application-crypto", + "sc-transaction-pool-api 28.0.0", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-block-builder", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-babe", "sp-consensus-beefy", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", ] @@ -16388,14 +16310,14 @@ dependencies = [ "serde", "serde_json", "slot-range-helper", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-inherents", - "sp-io", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "staging-xcm", @@ -16438,6 +16360,7 @@ dependencies = [ "pallet-message-queue", "pallet-mmr", "pallet-session", + "pallet-session-benchmarking", "pallet-staking", "pallet-timestamp", "parity-scale-codec", @@ -16454,16 +16377,16 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-inherents", - "sp-io", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0", @@ -16480,7 +16403,7 @@ version = "0.1.0" dependencies = [ "asset-test-utils", "assets-common", - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bp-header-chain", "bp-messages", "bp-parachains", @@ -16584,6 +16507,7 @@ dependencies = [ "pallet-contracts-uapi", "pallet-conviction-voting", "pallet-core-fellowship", + "pallet-dap", "pallet-delegated-staking", "pallet-democracy", "pallet-derivatives", @@ -16648,7 +16572,6 @@ dependencies = [ "pallet-staking-async", "pallet-staking-async-ah-client", "pallet-staking-async-rc-client", - "pallet-staking-async-reward-fn", "pallet-staking-async-runtime-api", "pallet-staking-reward-curve", "pallet-staking-reward-fn", @@ -16704,8 +16627,6 @@ dependencies = [ "polkadot-node-core-pvf", "polkadot-node-core-pvf-checker", "polkadot-node-core-pvf-common", - "polkadot-node-core-pvf-execute-worker", - "polkadot-node-core-pvf-prepare-worker", "polkadot-node-core-runtime-api", "polkadot-node-metrics", "polkadot-node-network-protocol", @@ -16726,14 +16647,14 @@ dependencies = [ "polkadot-service", "polkadot-statement-distribution", "polkadot-statement-table", - "sc-allocator", + "sc-allocator 23.0.0", "sc-authority-discovery", "sc-basic-authorship", "sc-block-builder", - "sc-chain-spec", - "sc-chain-spec-derive", + "sc-chain-spec 28.0.0", + "sc-chain-spec-derive 11.0.0", "sc-cli", - "sc-client-api", + "sc-client-api 28.0.0", "sc-client-db", "sc-consensus", "sc-consensus-aura", @@ -16747,21 +16668,21 @@ dependencies = [ "sc-consensus-manual-seal", "sc-consensus-pow", "sc-consensus-slots", - "sc-executor", - "sc-executor-common", - "sc-executor-polkavm", - "sc-executor-wasmtime", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", + "sc-executor-polkavm 0.29.0", + "sc-executor-wasmtime 0.29.0", "sc-informant", "sc-keystore", "sc-mixnet", - "sc-network", - "sc-network-common", + "sc-network 0.34.0", + "sc-network-common 0.33.0", "sc-network-gossip", "sc-network-light", "sc-network-statement", "sc-network-sync", "sc-network-transactions", - "sc-network-types", + "sc-network-types 0.10.0", "sc-offchain", "sc-proposer-metrics", "sc-rpc", @@ -16775,21 +16696,21 @@ dependencies = [ "sc-storage-monitor", "sc-sync-state-rpc", "sc-sysinfo", - "sc-telemetry", + "sc-telemetry 15.0.0", "sc-tracing", "sc-tracing-proc-macro", "sc-transaction-pool", - "sc-transaction-pool-api", - "sc-utils", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", "slot-range-helper", - "sp-api", - "sp-api-proc-macro", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-api-proc-macro 15.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-block-builder", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-aura", "sp-consensus-babe", "sp-consensus-beefy", @@ -16801,29 +16722,29 @@ dependencies = [ "sp-core-hashing-proc-macro", "sp-crypto-ec-utils", "sp-crypto-hashing 0.1.0", - "sp-crypto-hashing-proc-macro", - "sp-database", + "sp-crypto-hashing-proc-macro 0.1.0", + "sp-database 10.0.0", "sp-debug-derive 14.0.0", "sp-externalities 0.25.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", - "sp-keystore", - "sp-maybe-compressed-blob", - "sp-metadata-ir", + "sp-keystore 0.34.0", + "sp-maybe-compressed-blob 11.0.0", + "sp-metadata-ir 0.6.0", "sp-mixnet", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", - "sp-panic-handler", + "sp-panic-handler 13.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", "sp-runtime-interface-proc-macro 17.0.0", "sp-session", "sp-staking", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-statement-store", "sp-std 14.0.0", "sp-storage 19.0.0", @@ -16831,11 +16752,11 @@ dependencies = [ "sp-tracing 16.0.0", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie", - "sp-version", - "sp-version-proc-macro", + "sp-trie 29.0.0", + "sp-version 29.0.0", + "sp-version-proc-macro 13.0.0", "sp-wasm-interface 20.0.0", - "sp-weights", + "sp-weights 27.0.0", "staging-chain-spec-builder", "staging-node-inspect", "staging-parachain-info", @@ -16848,7 +16769,7 @@ dependencies = [ "substrate-build-script-utils", "substrate-frame-rpc-support", "substrate-frame-rpc-system", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "substrate-rpc-client", "substrate-state-trie-migration-rpc", "substrate-wasm-builder", @@ -16911,7 +16832,7 @@ dependencies = [ "polkadot-sdk-docs-first-runtime", "polkadot-sdk-frame", "rand 0.8.5", - "sc-chain-spec", + "sc-chain-spec 28.0.0", "sc-cli", "sc-client-db", "sc-consensus-aura", @@ -16920,8 +16841,8 @@ dependencies = [ "sc-consensus-grandpa", "sc-consensus-manual-seal", "sc-consensus-pow", - "sc-executor", - "sc-network", + "sc-executor 0.32.0", + "sc-network 0.34.0", "sc-rpc", "sc-rpc-api", "sc-service", @@ -16929,20 +16850,20 @@ dependencies = [ "serde_json", "simple-mermaid", "solochain-template-runtime", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", - "sp-version", - "sp-weights", + "sp-version 29.0.0", + "sp-weights 27.0.0", "staging-chain-spec-builder", "staging-node-cli", "staging-parachain-info", @@ -17001,22 +16922,22 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-block-builder", "sp-consensus-aura", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", ] [[package]] @@ -17083,50 +17004,50 @@ dependencies = [ "rococo-runtime-constants", "sc-authority-discovery", "sc-basic-authorship", - "sc-chain-spec", - "sc-client-api", + "sc-chain-spec 28.0.0", + "sc-client-api 28.0.0", "sc-consensus", "sc-consensus-babe", "sc-consensus-beefy", "sc-consensus-grandpa", "sc-consensus-slots", - "sc-executor", + "sc-executor 0.32.0", "sc-keystore", - "sc-network", + "sc-network 0.34.0", "sc-network-sync", "sc-offchain", "sc-service", "sc-sync-state-rpc", "sc-sysinfo", - "sc-telemetry", + "sc-telemetry 15.0.0", "sc-transaction-pool", - "sc-transaction-pool-api", + "sc-transaction-pool-api 28.0.0", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-authority-discovery", "sp-block-builder", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-mmr-primitives", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-timestamp", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version", - "sp-weights", + "sp-version 29.0.0", + "sp-weights 27.0.0", "staging-xcm", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "tempfile", "thiserror 1.0.65", "tracing-gum", @@ -17157,12 +17078,12 @@ dependencies = [ "rand_chacha 0.3.1", "rstest", "sc-keystore", - "sc-network", - "sp-application-crypto", + "sc-network 0.34.0", + "sp-application-crypto 30.0.0", "sp-authority-discovery", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -17221,24 +17142,24 @@ dependencies = [ "rand_chacha 0.3.1", "rand_distr", "sc-keystore", - "sc-network", - "sc-network-types", + "sc-network 0.34.0", + "sc-network-types 0.10.0", "sc-service", "serde", "serde_json", "serde_yaml", "sha1", - "sp-application-crypto", - "sp-consensus", + "sp-application-crypto 30.0.0", + "sp-consensus 0.32.0", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-timestamp", "sp-tracing 16.0.0", "strum 0.26.3", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "tikv-jemallocator", "tokio", "tracing-gum", @@ -17257,15 +17178,15 @@ dependencies = [ "sc-block-builder", "sc-consensus", "sc-service", - "sp-api", - "sp-blockchain", - "sp-consensus", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-babe", - "sp-inherents", - "sp-io", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-timestamp", "substrate-test-client", ] @@ -17329,22 +17250,22 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "serde", - "sp-api", + "sp-api 26.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-mmr-primitives", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -17371,24 +17292,24 @@ dependencies = [ "polkadot-service", "polkadot-test-runtime", "rand 0.8.5", - "sc-chain-spec", + "sc-chain-spec 28.0.0", "sc-cli", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", "sc-consensus-grandpa", - "sc-network", + "sc-network 0.34.0", "sc-service", "sc-tracing", "serde_json", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-authority-discovery", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "substrate-test-client", "test-runtime-constants", "tokio", @@ -17418,20 +17339,34 @@ dependencies = [ "parity-scale-codec", "polkadot-primitives", "rand 0.8.5", - "sc-executor", + "regex", + "sc-executor 0.32.0", "sc-runtime-utilities", "serde", "serde_json", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "substrate-build-script-utils", - "subxt 0.43.0", + "subxt 0.44.2", "tokio", "tokio-util", "zombienet-orchestrator", "zombienet-sdk", ] +[[package]] +name = "polkavm" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa028f713d0613f0f08b8b3367402cb859218854f6b96fcbe39a501862894d6f" +dependencies = [ + "libc", + "log", + "polkavm-assembler 0.26.0", + "polkavm-common 0.26.0", + "polkavm-linux-raw 0.26.0", +] + [[package]] name = "polkavm" version = "0.30.0" @@ -17441,9 +17376,18 @@ dependencies = [ "libc", "log", "picosimd", - "polkavm-assembler", + "polkavm-assembler 0.30.0", "polkavm-common 0.30.0", - "polkavm-linux-raw", + "polkavm-linux-raw 0.30.0", +] + +[[package]] +name = "polkavm-assembler" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4859a29e1f4ad64610c4bc2bfc40bb9a535068a034933a5b56b5e7a0febf105a" +dependencies = [ + "log", ] [[package]] @@ -17457,9 +17401,13 @@ dependencies = [ [[package]] name = "polkavm-common" -version = "0.18.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ff33982a807d8567645d4784b9b5d7ab87bcb494f534a57cadd9012688e102" +checksum = "49a5794b695626ba70d29e66e3f4f4835767452a6723f3a0bc20884b07088fe8" +dependencies = [ + "log", + "polkavm-assembler 0.26.0", +] [[package]] name = "polkavm-common" @@ -17470,16 +17418,16 @@ dependencies = [ "blake3", "log", "picosimd", - "polkavm-assembler", + "polkavm-assembler 0.30.0", ] [[package]] name = "polkavm-derive" -version = "0.18.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2eb703f3b6404c13228402e98a5eae063fd16b8f58afe334073ec105ee4117e" +checksum = "95282a203ae1f6828a04ff334145c3f6dc718bba6d3959805d273358b45eab93" dependencies = [ - "polkavm-derive-impl-macro 0.18.0", + "polkavm-derive-impl-macro 0.26.0", ] [[package]] @@ -17493,11 +17441,11 @@ dependencies = [ [[package]] name = "polkavm-derive-impl" -version = "0.18.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f2116a92e6e96220a398930f4c8a6cda1264206f3e2034fc9982bfd93f261f7" +checksum = "6069dc7995cde6e612b868a02ce48b54397c6d2582bd1b97b63aabbe962cd779" dependencies = [ - "polkavm-common 0.18.0", + "polkavm-common 0.26.0", "proc-macro2 1.0.95", "quote 1.0.40", "syn 2.0.98", @@ -17517,11 +17465,11 @@ dependencies = [ [[package]] name = "polkavm-derive-impl-macro" -version = "0.18.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c16669ddc7433e34c1007d31080b80901e3e8e523cb9d4b441c3910cf9294b" +checksum = "581d34cafec741dc5ffafbb341933c205b6457f3d76257a9d99fb56687219c91" dependencies = [ - "polkavm-derive-impl 0.18.1", + "polkavm-derive-impl 0.26.0", "syn 2.0.98", ] @@ -17551,6 +17499,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "polkavm-linux-raw" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28919f542476f4158cc71e6c072b1051f38f4b514253594ac3ad80e3c0211fc8" + [[package]] name = "polkavm-linux-raw" version = "0.30.0" @@ -18640,18 +18594,18 @@ dependencies = [ "quick_cache", "rand 0.8.5", "relay-utils", - "sc-chain-spec", + "sc-chain-spec 28.0.0", "sc-rpc-api", - "sc-transaction-pool-api", + "sc-transaction-pool-api 28.0.0", "scale-info", "serde_json", "sp-consensus-grandpa", "sp-core 28.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "staging-xcm", "thiserror 1.0.65", "tokio", @@ -18673,9 +18627,9 @@ dependencies = [ "num-traits", "parking_lot 0.12.3", "serde_json", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "sysinfo", "thiserror 1.0.65", "time", @@ -19072,63 +19026,11 @@ dependencies = [ "sp-keyring", ] -[[package]] -name = "rococo-parachain-runtime" -version = "0.6.0" -dependencies = [ - "cumulus-pallet-aura-ext", - "cumulus-pallet-parachain-system", - "cumulus-pallet-weight-reclaim", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-ping", - "cumulus-primitives-aura", - "cumulus-primitives-core", - "cumulus-primitives-utility", - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-rpc-runtime-api", - "pallet-assets", - "pallet-aura", - "pallet-balances", - "pallet-message-queue", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-xcm", - "parachains-common", - "parity-scale-codec", - "polkadot-parachain-primitives", - "polkadot-runtime-common", - "scale-info", - "serde_json", - "sp-api", - "sp-block-builder", - "sp-consensus-aura", - "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-keyring", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-transaction-pool", - "sp-version", - "staging-parachain-info", - "staging-xcm", - "staging-xcm-builder", - "staging-xcm-executor", - "substrate-wasm-builder", -] - [[package]] name = "rococo-runtime" version = "7.0.0" dependencies = [ - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bitvec", "frame-benchmarking", "frame-executive", @@ -19195,27 +19097,27 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-mmr-primitives", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -19233,25 +19135,12 @@ dependencies = [ "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-builder", ] -[[package]] -name = "rococo-system-emulated-network" -version = "0.0.0" -dependencies = [ - "asset-hub-rococo-emulated-chain", - "bridge-hub-rococo-emulated-chain", - "coretime-rococo-emulated-chain", - "emulated-integration-tests-common", - "penpal-emulated-chain", - "people-rococo-emulated-chain", - "rococo-emulated-chain", -] - [[package]] name = "rococo-westend-system-emulated-network" version = "0.0.0" @@ -19727,6 +19616,18 @@ dependencies = [ "thiserror 1.0.65", ] +[[package]] +name = "sc-allocator" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01733879c581defda6f49ff4076033c675d7127bfab6fd0bd0e6cf10696d0564" +dependencies = [ + "log", + "sp-core 38.1.0", + "sp-wasm-interface 24.0.0", + "thiserror 1.0.65", +] + [[package]] name = "sc-authority-discovery" version = "0.34.0" @@ -19743,20 +19644,20 @@ dependencies = [ "prost-build 0.13.2", "quickcheck", "rand 0.8.5", - "sc-client-api", - "sc-network", - "sc-network-types", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sc-network-types 0.10.0", "sc-service", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-authority-discovery", - "sp-blockchain", + "sp-blockchain 28.0.0", "sp-core 28.0.0", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime-client", "tempfile", "thiserror 1.0.65", @@ -19772,20 +19673,20 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "sc-block-builder", - "sc-client-api", + "sc-client-api 28.0.0", "sc-proposer-metrics", - "sc-telemetry", + "sc-telemetry 15.0.0", "sc-transaction-pool", - "sc-transaction-pool-api", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core 28.0.0", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-trie", - "substrate-prometheus-endpoint", + "sc-transaction-pool-api 28.0.0", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-core 28.0.0", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime-client", ] @@ -19794,14 +19695,14 @@ name = "sc-block-builder" version = "0.33.0" dependencies = [ "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", - "sp-blockchain", + "sp-blockchain 28.0.0", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "substrate-test-runtime-client", ] @@ -19816,27 +19717,54 @@ dependencies = [ "parity-scale-codec", "pretty_assertions", "regex", - "sc-chain-spec-derive", - "sc-client-api", - "sc-executor", - "sc-network", - "sc-telemetry", + "sc-chain-spec-derive 11.0.0", + "sc-client-api 28.0.0", + "sc-executor 0.32.0", + "sc-network 0.34.0", + "sc-telemetry 15.0.0", "serde", "serde_json", - "sp-application-crypto", - "sp-blockchain", + "sp-application-crypto 30.0.0", + "sp-blockchain 28.0.0", "sp-consensus-babe", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-genesis-builder", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", "substrate-test-runtime", ] +[[package]] +name = "sc-chain-spec" +version = "46.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5962282c6d40861610814dac5159a99a5b4251d89269bb4e828ff766956f1833" +dependencies = [ + "array-bytes 6.2.2", + "docify", + "memmap2 0.9.3", + "parity-scale-codec", + "sc-chain-spec-derive 12.0.0", + "sc-client-api 42.0.0", + "sc-executor 0.45.0", + "sc-network 0.53.1", + "sc-telemetry 30.0.0", + "serde", + "serde_json", + "sp-blockchain 42.0.0", + "sp-core 38.1.0", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-genesis-builder 0.20.0", + "sp-io 43.0.0", + "sp-runtime 44.0.0", + "sp-state-machine 0.48.0", + "sp-tracing 19.0.0", +] + [[package]] name = "sc-chain-spec-derive" version = "11.0.0" @@ -19847,6 +19775,18 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "sc-chain-spec-derive" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b18cef11d2c69703e0d7c3528202ef4ed1cd2b47a6f063e9e17cad8255b1fa94" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.98", +] + [[package]] name = "sc-cli" version = "0.36.0" @@ -19866,26 +19806,26 @@ dependencies = [ "rand 0.8.5", "regex", "rpassword", - "sc-client-api", + "sc-client-api 28.0.0", "sc-client-db", "sc-keystore", "sc-mixnet", - "sc-network", + "sc-network 0.34.0", "sc-service", - "sc-telemetry", + "sc-telemetry 15.0.0", "sc-tracing", "sc-transaction-pool", - "sc-utils", + "sc-utils 14.0.0", "serde", "serde_json", - "sp-blockchain", + "sp-blockchain 28.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-panic-handler", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-panic-handler 13.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "sp-version", + "sp-version 29.0.0", "tempfile", "thiserror 1.0.65", "tokio", @@ -19900,26 +19840,53 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sc-executor", - "sc-transaction-pool-api", - "sc-utils", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core 28.0.0", - "sp-database", + "sc-executor 0.32.0", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-core 28.0.0", + "sp-database 10.0.0", "sp-externalities 0.25.0", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", - "sp-trie", - "substrate-prometheus-endpoint", + "sp-trie 29.0.0", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime", ] [[package]] -name = "sc-client-db" -version = "0.35.0" +name = "sc-client-api" +version = "42.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6de05f4f496f2261981b7d293ff4f5ba804bdfa924bf0cd1b48252a8a7051913" +dependencies = [ + "fnv", + "futures", + "log", + "parity-scale-codec", + "parking_lot 0.12.3", + "sc-executor 0.45.0", + "sc-transaction-pool-api 42.0.0", + "sc-utils 20.0.0", + "sp-api 39.0.0", + "sp-blockchain 42.0.0", + "sp-consensus 0.45.0", + "sp-core 38.1.0", + "sp-database 10.0.1", + "sp-externalities 0.30.0", + "sp-runtime 44.0.0", + "sp-state-machine 0.48.0", + "sp-storage 22.0.0", + "sp-trie 41.1.1", + "substrate-prometheus-endpoint 0.17.7", +] + +[[package]] +name = "sc-client-db" +version = "0.35.0" dependencies = [ "array-bytes 6.2.2", "criterion", @@ -19934,18 +19901,18 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "rand 0.8.5", - "sc-client-api", + "sc-client-api 28.0.0", "sc-state-db", "schnellru", - "sp-arithmetic", - "sp-blockchain", + "sp-arithmetic 23.0.0", + "sp-blockchain 28.0.0", "sp-core 28.0.0", - "sp-database", - "sp-runtime", - "sp-state-machine", + "sp-database 10.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", - "sp-trie", - "substrate-prometheus-endpoint", + "sp-trie 29.0.0", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime-client", "sysinfo", "tempfile", @@ -19960,17 +19927,17 @@ dependencies = [ "log", "mockall", "parking_lot 0.12.3", - "sc-client-api", - "sc-network-types", - "sc-utils", + "sc-client-api 28.0.0", + "sc-network-types 0.10.0", + "sc-utils 14.0.0", "serde", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-test-primitives", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "thiserror 1.0.65", ] @@ -19985,28 +19952,28 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "sc-block-builder", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", "sc-consensus-slots", "sc-keystore", - "sc-network", + "sc-network 0.34.0", "sc-network-test", - "sc-telemetry", - "sp-api", - "sp-application-crypto", + "sc-telemetry 15.0.0", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-block-builder", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-aura", "sp-consensus-slots", "sp-core 28.0.0", - "sp-inherents", + "sp-inherents 26.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-timestamp", "sp-tracing 16.0.0", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime-client", "tempfile", "thiserror 1.0.65", @@ -20027,29 +19994,29 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "sc-block-builder", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", "sc-consensus-epochs", "sc-consensus-slots", "sc-network-test", - "sc-telemetry", - "sc-transaction-pool-api", - "sp-api", - "sp-application-crypto", + "sc-telemetry 15.0.0", + "sc-transaction-pool-api 28.0.0", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-block-builder", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-babe", "sp-consensus-slots", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-inherents", + "sp-inherents 26.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-timestamp", "sp-tracing 16.0.0", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -20065,17 +20032,17 @@ dependencies = [ "sc-consensus-babe", "sc-consensus-epochs", "sc-rpc-api", - "sc-transaction-pool-api", + "sc-transaction-pool-api 28.0.0", "serde", - "sp-api", - "sp-application-crypto", - "sp-blockchain", - "sp-consensus", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -20093,27 +20060,27 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "sc-block-builder", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", - "sc-network", + "sc-network 0.34.0", "sc-network-gossip", "sc-network-sync", "sc-network-test", - "sc-network-types", - "sc-utils", - "serde", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", + "sc-network-types 0.10.0", + "sc-utils 14.0.0", + "serde", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-keystore", + "sp-keystore 0.34.0", "sp-mmr-primitives", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -20132,10 +20099,10 @@ dependencies = [ "sc-consensus-beefy", "sc-rpc", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -20147,10 +20114,10 @@ version = "0.33.0" dependencies = [ "fork-tree", "parity-scale-codec", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", - "sp-blockchain", - "sp-runtime", + "sp-blockchain 28.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -20171,32 +20138,33 @@ dependencies = [ "parking_lot 0.12.3", "rand 0.8.5", "sc-block-builder", - "sc-chain-spec", - "sc-client-api", + "sc-chain-spec 28.0.0", + "sc-client-api 28.0.0", + "sc-client-db", "sc-consensus", - "sc-network", - "sc-network-common", + "sc-network 0.34.0", + "sc-network-common 0.33.0", "sc-network-gossip", "sc-network-sync", "sc-network-test", - "sc-network-types", - "sc-telemetry", - "sc-transaction-pool-api", - "sc-utils", + "sc-network-types 0.10.0", + "sc-telemetry 15.0.0", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-grandpa", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -20212,15 +20180,15 @@ dependencies = [ "log", "parity-scale-codec", "sc-block-builder", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus-grandpa", "sc-rpc", "serde", - "sp-blockchain", + "sp-blockchain 28.0.0", "sp-consensus-grandpa", "sp-core 28.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -20238,28 +20206,28 @@ dependencies = [ "log", "parity-scale-codec", "sc-basic-authorship", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", "sc-consensus-aura", "sc-consensus-babe", "sc-consensus-epochs", "sc-transaction-pool", - "sc-transaction-pool-api", + "sc-transaction-pool-api 28.0.0", "serde", - "sp-api", - "sp-blockchain", - "sp-consensus", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-aura", "sp-consensus-babe", "sp-consensus-slots", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-inherents", - "sp-keystore", - "sp-runtime", + "sp-inherents 26.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-timestamp", - "sp-trie", - "substrate-prometheus-endpoint", + "sp-trie 29.0.0", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime-client", "substrate-test-runtime-transaction-pool", "thiserror 1.0.65", @@ -20276,17 +20244,17 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-pow", "sp-core 28.0.0", - "sp-inherents", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", "thiserror 1.0.65", ] @@ -20299,18 +20267,18 @@ dependencies = [ "futures-timer", "log", "parity-scale-codec", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", - "sc-telemetry", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", + "sc-telemetry 15.0.0", + "sp-arithmetic 23.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-consensus-slots", "sp-core 28.0.0", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", "substrate-test-runtime-client", ] @@ -20325,55 +20293,105 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "paste", - "sc-executor-common", - "sc-executor-polkavm", - "sc-executor-wasmtime", + "sc-executor-common 0.29.0", + "sc-executor-polkavm 0.29.0", + "sc-executor-wasmtime 0.29.0", "sc-runtime-test", "sc-tracing", "schnellru", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-io", - "sp-maybe-compressed-blob", - "sp-panic-handler", - "sp-runtime", + "sp-io 30.0.0", + "sp-maybe-compressed-blob 11.0.0", + "sp-panic-handler 13.0.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "sp-wasm-interface 20.0.0", "substrate-test-runtime", "tempfile", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "wat", ] +[[package]] +name = "sc-executor" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90511c3ab41be12af1ce88753de8993e0b8a5fc0453c0f48069ace06eb4a99d" +dependencies = [ + "parity-scale-codec", + "parking_lot 0.12.3", + "sc-executor-common 0.41.0", + "sc-executor-polkavm 0.38.0", + "sc-executor-wasmtime 0.41.0", + "schnellru", + "sp-api 39.0.0", + "sp-core 38.1.0", + "sp-externalities 0.30.0", + "sp-io 43.0.0", + "sp-panic-handler 13.0.2", + "sp-runtime-interface 32.0.0", + "sp-trie 41.1.1", + "sp-version 42.0.0", + "sp-wasm-interface 24.0.0", + "tracing", +] + [[package]] name = "sc-executor-common" version = "0.29.0" dependencies = [ - "polkavm", - "sc-allocator", - "sp-maybe-compressed-blob", + "polkavm 0.30.0", + "sc-allocator 23.0.0", + "sp-maybe-compressed-blob 11.0.0", "sp-wasm-interface 20.0.0", "thiserror 1.0.65", "wasm-instrument", ] +[[package]] +name = "sc-executor-common" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d81bc77ad5df120ef1ffab877d71539aae878e916c0946a067e8d6b0508a7ea5" +dependencies = [ + "polkavm 0.26.0", + "sc-allocator 34.0.0", + "sp-maybe-compressed-blob 11.1.0", + "sp-wasm-interface 24.0.0", + "thiserror 1.0.65", + "wasm-instrument", +] + [[package]] name = "sc-executor-polkavm" version = "0.29.0" dependencies = [ "log", - "polkavm", - "sc-executor-common", + "polkavm 0.30.0", + "sc-executor-common 0.29.0", "sp-wasm-interface 20.0.0", ] +[[package]] +name = "sc-executor-polkavm" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8976f310f09818f42ec389e727c91c0a75a8c363a29e3ac97d56492d83fc144f" +dependencies = [ + "log", + "polkavm 0.26.0", + "sc-executor-common 0.41.0", + "sp-wasm-interface 24.0.0", +] + [[package]] name = "sc-executor-wasmtime" version = "0.29.0" @@ -20385,10 +20403,10 @@ dependencies = [ "parking_lot 0.12.3", "paste", "rustix 1.0.8", - "sc-allocator", - "sc-executor-common", + "sc-allocator 23.0.0", + "sc-executor-common 0.29.0", "sc-runtime-test", - "sp-io", + "sp-io 30.0.0", "sp-runtime-interface 24.0.0", "sp-wasm-interface 20.0.0", "tempfile", @@ -20396,6 +20414,23 @@ dependencies = [ "wat", ] +[[package]] +name = "sc-executor-wasmtime" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f8f9b2a912f0cb435d2b8e33d67010e494b07f5c6e497d8756a8c21abad199e" +dependencies = [ + "anyhow", + "log", + "parking_lot 0.12.3", + "rustix 1.0.8", + "sc-allocator 34.0.0", + "sc-executor-common 0.41.0", + "sp-runtime-interface 32.0.0", + "sp-wasm-interface 24.0.0", + "wasmtime", +] + [[package]] name = "sc-informant" version = "0.33.0" @@ -20404,11 +20439,11 @@ dependencies = [ "futures", "futures-timer", "log", - "sc-client-api", - "sc-network", + "sc-client-api 28.0.0", + "sc-network 0.34.0", "sc-network-sync", - "sp-blockchain", - "sp-runtime", + "sp-blockchain 28.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -20418,9 +20453,9 @@ dependencies = [ "array-bytes 6.2.2", "parking_lot 0.12.3", "serde_json", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-keystore", + "sp-keystore 0.34.0", "tempfile", "thiserror 1.0.65", ] @@ -20439,16 +20474,16 @@ dependencies = [ "mixnet", "parity-scale-codec", "parking_lot 0.12.3", - "sc-client-api", - "sc-network", - "sc-network-types", - "sc-transaction-pool-api", - "sp-api", - "sp-consensus", - "sp-core 28.0.0", - "sp-keystore", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sc-network-types 0.10.0", + "sc-transaction-pool-api 28.0.0", + "sp-api 26.0.0", + "sp-consensus 0.32.0", + "sp-core 28.0.0", + "sp-keystore 0.34.0", "sp-mixnet", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror 1.0.65", ] @@ -20462,7 +20497,7 @@ dependencies = [ "async-trait", "asynchronous-codec 0.6.2", "bytes", - "cid", + "cid 0.11.1", "criterion", "either", "fnv", @@ -20471,7 +20506,7 @@ dependencies = [ "ip_network", "libp2p", "linked_hash_set", - "litep2p", + "litep2p 0.13.0", "log", "mockall", "multistream-select", @@ -20483,22 +20518,22 @@ dependencies = [ "prost-build 0.13.2", "rand 0.8.5", "sc-block-builder", - "sc-client-api", - "sc-network-common", - "sc-network-types", - "sc-utils", + "sc-client-api 28.0.0", + "sc-network-common 0.33.0", + "sc-network-types 0.10.0", + "sc-utils 14.0.0", "schnellru", "serde", "serde_json", "smallvec", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", + "sp-arithmetic 23.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime", "substrate-test-runtime-client", "tempfile", @@ -20512,13 +20547,75 @@ dependencies = [ "zeroize", ] +[[package]] +name = "sc-network" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71350e21abf285249978eaedcca8b9a368118b8903571a27cb9501dd0e6072c8" +dependencies = [ + "array-bytes 6.2.2", + "async-channel 1.9.0", + "async-trait", + "asynchronous-codec 0.6.2", + "bytes", + "cid 0.9.0", + "either", + "fnv", + "futures", + "futures-timer", + "ip_network", + "libp2p", + "linked_hash_set", + "litep2p 0.10.0", + "log", + "mockall", + "parity-scale-codec", + "parking_lot 0.12.3", + "partial_sort", + "pin-project", + "prost 0.12.6", + "prost-build 0.13.2", + "rand 0.8.5", + "sc-client-api 42.0.0", + "sc-network-common 0.51.0", + "sc-network-types 0.19.0", + "sc-utils 20.0.0", + "schnellru", + "serde", + "serde_json", + "smallvec", + "sp-arithmetic 28.0.0", + "sp-blockchain 42.0.0", + "sp-core 38.1.0", + "sp-runtime 44.0.0", + "substrate-prometheus-endpoint 0.17.7", + "thiserror 1.0.65", + "tokio", + "tokio-stream", + "unsigned-varint 0.7.2", + "void", + "wasm-timer", + "zeroize", +] + [[package]] name = "sc-network-common" version = "0.33.0" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", - "sp-runtime", + "sp-runtime 31.0.1", +] + +[[package]] +name = "sc-network-common" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7419cbc4a107ec4f430b263408db1527f2ce5fd6ed136c279f22057d3d202965" +dependencies = [ + "bitflags 1.3.2", + "parity-scale-codec", + "sp-runtime 44.0.0", ] [[package]] @@ -20532,13 +20629,13 @@ dependencies = [ "log", "parity-scale-codec", "quickcheck", - "sc-network", - "sc-network-common", + "sc-network 0.34.0", + "sc-network-common 0.33.0", "sc-network-sync", - "sc-network-types", + "sc-network-types 0.10.0", "schnellru", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime-client", "tokio", "tracing", @@ -20555,12 +20652,12 @@ dependencies = [ "parity-scale-codec", "prost 0.12.6", "prost-build 0.13.2", - "sc-client-api", - "sc-network", - "sc-network-types", - "sp-blockchain", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sc-network-types 0.10.0", + "sp-blockchain 28.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror 1.0.65", ] @@ -20571,17 +20668,26 @@ dependencies = [ "array-bytes 6.2.2", "async-channel 1.9.0", "async-trait", + "criterion", "futures", "log", "parity-scale-codec", - "sc-network", - "sc-network-common", + "sc-keystore", + "sc-network 0.34.0", + "sc-network-common 0.33.0", "sc-network-sync", - "sc-network-types", - "sp-consensus", - "sp-runtime", + "sc-network-types 0.10.0", + "sc-statement-store", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-core 28.0.0", + "sp-keyring", + "sp-runtime 31.0.1", "sp-statement-store", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", + "substrate-test-runtime-client", + "tempfile", "tokio", ] @@ -20601,23 +20707,22 @@ dependencies = [ "prost-build 0.13.2", "quickcheck", "sc-block-builder", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", - "sc-network", - "sc-network-common", - "sc-network-types", - "sc-utils", + "sc-network 0.34.0", + "sc-network-common 0.33.0", + "sc-network-types 0.10.0", + "sc-utils 14.0.0", "schnellru", "smallvec", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-grandpa", + "sp-arithmetic 23.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-test-primitives", "sp-tracing 16.0.0", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -20637,19 +20742,19 @@ dependencies = [ "parking_lot 0.12.3", "rand 0.8.5", "sc-block-builder", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", - "sc-network", - "sc-network-common", + "sc-network 0.34.0", + "sc-network-common 0.33.0", "sc-network-light", "sc-network-sync", - "sc-network-types", + "sc-network-types 0.10.0", "sc-service", - "sc-utils", - "sp-blockchain", - "sp-consensus", + "sc-utils 14.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-test-runtime", "substrate-test-runtime-client", @@ -20664,14 +20769,14 @@ dependencies = [ "futures", "log", "parity-scale-codec", - "sc-network", - "sc-network-common", + "sc-network 0.34.0", + "sc-network-common 0.33.0", "sc-network-sync", - "sc-network-types", - "sc-utils", - "sp-consensus", - "sp-runtime", - "substrate-prometheus-endpoint", + "sc-network-types 0.10.0", + "sc-utils 14.0.0", + "sp-consensus 0.32.0", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", ] [[package]] @@ -20683,7 +20788,7 @@ dependencies = [ "ed25519-dalek", "libp2p-identity", "libp2p-kad", - "litep2p", + "litep2p 0.13.0", "log", "multiaddr 0.18.1", "multihash 0.19.1", @@ -20695,6 +20800,28 @@ dependencies = [ "zeroize", ] +[[package]] +name = "sc-network-types" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79011e96426caf5240631af9c4d0f841a752ee2be606d782406745e76b1123dd" +dependencies = [ + "bs58", + "bytes", + "ed25519-dalek", + "libp2p-identity", + "libp2p-kad", + "litep2p 0.10.0", + "log", + "multiaddr 0.18.1", + "multihash 0.19.1", + "rand 0.8.5", + "serde", + "serde_with", + "thiserror 1.0.65", + "zeroize", +] + [[package]] name = "sc-offchain" version = "29.0.0" @@ -20715,20 +20842,20 @@ dependencies = [ "rand 0.8.5", "rustls 0.23.34", "sc-block-builder", - "sc-client-api", + "sc-client-api 28.0.0", "sc-client-db", - "sc-network", - "sc-network-types", + "sc-network 0.34.0", + "sc-network-types 0.10.0", "sc-transaction-pool", - "sc-transaction-pool-api", - "sc-utils", - "sp-api", - "sp-consensus", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", + "sp-api 26.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-keystore", + "sp-keystore 0.34.0", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-test-runtime-client", "threadpool", @@ -20741,7 +20868,7 @@ name = "sc-proposer-metrics" version = "0.17.0" dependencies = [ "log", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", ] [[package]] @@ -20749,36 +20876,41 @@ name = "sc-rpc" version = "29.0.0" dependencies = [ "assert_matches", + "async-channel 1.9.0", "futures", + "futures-timer", "jsonrpsee", "log", "parity-scale-codec", "parking_lot 0.12.3", "pretty_assertions", "sc-block-builder", - "sc-chain-spec", - "sc-client-api", + "sc-chain-spec 28.0.0", + "sc-client-api 28.0.0", + "sc-keystore", "sc-mixnet", - "sc-network", + "sc-network 0.34.0", "sc-rpc-api", + "sc-statement-store", "sc-tracing", "sc-transaction-pool", - "sc-transaction-pool-api", - "sc-utils", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", "serde_json", - "sp-api", - "sp-blockchain", - "sp-consensus", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-keystore", + "sp-keystore 0.34.0", "sp-offchain", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-statement-store", - "sp-version", + "sp-version 29.0.0", "substrate-test-runtime-client", + "tempfile", "tokio", ] @@ -20788,17 +20920,17 @@ version = "0.33.0" dependencies = [ "jsonrpsee", "parity-scale-codec", - "sc-chain-spec", + "sc-chain-spec 28.0.0", "sc-mixnet", - "sc-transaction-pool-api", + "sc-transaction-pool-api 28.0.0", "scale-info", "serde", "serde_json", "sp-core 28.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-statement-store", - "sp-version", + "sp-version 29.0.0", "thiserror 1.0.65", ] @@ -20819,7 +20951,7 @@ dependencies = [ "sc-rpc-api", "serde", "serde_json", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "tokio", "tower", "tower-http 0.5.2", @@ -20843,26 +20975,26 @@ dependencies = [ "pretty_assertions", "rand 0.8.5", "sc-block-builder", - "sc-chain-spec", - "sc-client-api", + "sc-chain-spec 28.0.0", + "sc-client-api 28.0.0", "sc-rpc", "sc-service", "sc-transaction-pool", - "sc-transaction-pool-api", - "sc-utils", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", "schnellru", "serde", "serde_json", - "sp-api", - "sp-blockchain", - "sp-consensus", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-maybe-compressed-blob", + "sp-maybe-compressed-blob 11.0.0", "sp-rpc", - "sp-runtime", - "sp-version", - "substrate-prometheus-endpoint", + "sp-runtime 31.0.1", + "sp-version 29.0.0", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime", "substrate-test-runtime-client", "substrate-test-runtime-transaction-pool", @@ -20876,8 +21008,8 @@ name = "sc-runtime-test" version = "2.0.0" dependencies = [ "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", "substrate-wasm-builder", ] @@ -20889,15 +21021,15 @@ dependencies = [ "cumulus-primitives-proof-size-hostfunction", "cumulus-test-runtime", "parity-scale-codec", - "sc-executor", - "sc-executor-common", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-state-machine", - "sp-version", + "sp-io 30.0.0", + "sp-state-machine 0.35.0", + "sp-version 29.0.0", "sp-wasm-interface 20.0.0", - "subxt 0.43.0", + "subxt 0.44.2", "thiserror 1.0.65", ] @@ -20916,47 +21048,47 @@ dependencies = [ "parking_lot 0.12.3", "pin-project", "rand 0.8.5", - "sc-chain-spec", - "sc-client-api", + "sc-chain-spec 28.0.0", + "sc-client-api 28.0.0", "sc-client-db", "sc-consensus", - "sc-executor", + "sc-executor 0.32.0", "sc-informant", "sc-keystore", - "sc-network", - "sc-network-common", + "sc-network 0.34.0", + "sc-network-common 0.33.0", "sc-network-light", "sc-network-sync", "sc-network-transactions", - "sc-network-types", + "sc-network-types 0.10.0", "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", "sc-sysinfo", - "sc-telemetry", + "sc-telemetry 15.0.0", "sc-tracing", "sc-transaction-pool", - "sc-transaction-pool-api", - "sc-utils", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", "schnellru", "serde", "serde_json", - "sp-api", - "sp-blockchain", - "sp-consensus", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-session", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "static_init", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime", "substrate-test-runtime-client", "tempfile", @@ -20978,21 +21110,21 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "sc-block-builder", - "sc-client-api", + "sc-client-api 28.0.0", "sc-client-db", "sc-consensus", - "sc-executor", - "sc-network", + "sc-executor 0.32.0", + "sc-network 0.34.0", "sc-network-sync", "sc-service", - "sc-transaction-pool-api", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core 28.0.0", - "sp-io", - "sp-runtime", - "sp-state-machine", + "sc-transaction-pool-api 28.0.0", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", "substrate-test-runtime", @@ -21015,20 +21147,25 @@ dependencies = [ name = "sc-statement-store" version = "10.0.0" dependencies = [ + "async-channel 1.9.0", "criterion", + "futures", + "itertools 0.11.0", "log", "parity-db", "parking_lot 0.12.3", - "sc-client-api", + "sc-client-api 28.0.0", "sc-keystore", "sc-network-statement", - "sp-api", - "sp-blockchain", + "sc-utils 14.0.0", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-statement-store", + "sp-storage 19.0.0", "sp-tracing 16.0.0", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "tempfile", "tokio", ] @@ -21051,15 +21188,15 @@ version = "0.34.0" dependencies = [ "jsonrpsee", "parity-scale-codec", - "sc-chain-spec", - "sc-client-api", + "sc-chain-spec 28.0.0", + "sc-client-api 28.0.0", "sc-consensus-babe", "sc-consensus-epochs", "sc-consensus-grandpa", "serde", "serde_json", - "sp-blockchain", - "sp-runtime", + "sp-blockchain 28.0.0", + "sp-runtime 31.0.1", "thiserror 1.0.65", ] @@ -21074,13 +21211,13 @@ dependencies = [ "rand 0.8.5", "rand_pcg", "regex", - "sc-telemetry", + "sc-telemetry 15.0.0", "serde", "serde_json", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -21094,7 +21231,27 @@ dependencies = [ "parking_lot 0.12.3", "pin-project", "rand 0.8.5", - "sc-utils", + "sc-utils 14.0.0", + "serde", + "serde_json", + "thiserror 1.0.65", + "wasm-timer", +] + +[[package]] +name = "sc-telemetry" +version = "30.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "661460d41cb14de3d8ad638bc34f9179eb2dd65791ccf71fa6dc0c572ad8100b" +dependencies = [ + "chrono", + "futures", + "libp2p", + "log", + "parking_lot 0.12.3", + "pin-project", + "rand 0.8.5", + "sc-utils 20.0.0", "serde", "serde_json", "thiserror 1.0.65", @@ -21115,19 +21272,19 @@ dependencies = [ "parking_lot 0.12.3", "regex", "rustc-hash 1.1.0", - "sc-client-api", + "sc-client-api 28.0.0", "sc-tracing-proc-macro", "serde", - "sp-api", - "sp-blockchain", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", "sp-core 28.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing", "tracing-log", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -21160,21 +21317,21 @@ dependencies = [ "parking_lot 0.12.3", "rstest", "sc-block-builder", - "sc-client-api", - "sc-transaction-pool-api", - "sc-utils", + "sc-client-api 28.0.0", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", "serde", "serde_json", - "sp-api", - "sp-blockchain", - "sp-consensus", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "sp-transaction-pool", "strum 0.26.3", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.0", "substrate-test-runtime", "substrate-test-runtime-client", "substrate-test-runtime-transaction-pool", @@ -21183,7 +21340,7 @@ dependencies = [ "tokio", "tokio-stream", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "zombienet-configuration", "zombienet-sdk", ] @@ -21199,13 +21356,31 @@ dependencies = [ "parity-scale-codec", "serde", "serde_json", - "sp-blockchain", + "sp-blockchain 28.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "strum 0.26.3", "thiserror 1.0.65", ] +[[package]] +name = "sc-transaction-pool-api" +version = "42.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a04c8e6a886fd4563be1cfe487af2f11280ea797298b8d831e1ee5a273cc17d" +dependencies = [ + "async-trait", + "futures", + "indexmap 2.9.0", + "log", + "parity-scale-codec", + "serde", + "sp-blockchain 42.0.0", + "sp-core 38.1.0", + "sp-runtime 44.0.0", + "thiserror 1.0.65", +] + [[package]] name = "sc-utils" version = "14.0.0" @@ -21216,10 +21391,25 @@ dependencies = [ "log", "parking_lot 0.12.3", "prometheus", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "tokio-test", ] +[[package]] +name = "sc-utils" +version = "20.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d58dbfbc4408b0d210a6b7099c07caf02001e6975f62e316ea5b5c1f5c2108f4" +dependencies = [ + "async-channel 1.9.0", + "futures", + "futures-timer", + "log", + "parking_lot 0.12.3", + "prometheus", + "sp-arithmetic 28.0.0", +] + [[package]] name = "scale-bits" version = "0.7.0" @@ -21943,6 +22133,15 @@ dependencies = [ "wide", ] +[[package]] +name = "simple-dns" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a" +dependencies = [ + "bitflags 2.9.4", +] + [[package]] name = "simple-dns" version = "0.11.0" @@ -21992,7 +22191,7 @@ dependencies = [ "enumn", "parity-scale-codec", "paste", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -22269,8 +22468,8 @@ dependencies = [ "snowbridge-ethereum", "snowbridge-milagro-bls", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "ssz_rs", "ssz_rs_derive", @@ -22288,10 +22487,10 @@ dependencies = [ "polkadot-parachain-primitives", "scale-info", "serde", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22317,8 +22516,8 @@ dependencies = [ "scale-info", "serde", "serde-big-array", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -22331,6 +22530,7 @@ dependencies = [ "frame-support", "frame-system", "hex-literal", + "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "snowbridge-beacon-primitives", @@ -22338,8 +22538,8 @@ dependencies = [ "snowbridge-test-utils", "snowbridge-verification-primitives", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22358,7 +22558,7 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", ] @@ -22391,10 +22591,10 @@ dependencies = [ "scale-info", "snowbridge-core", "snowbridge-verification-primitives", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22411,7 +22611,7 @@ dependencies = [ "snowbridge-core", "snowbridge-merkle-tree", "snowbridge-outbound-queue-primitives", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", ] @@ -22423,7 +22623,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "snowbridge-merkle-tree", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", ] @@ -22446,8 +22646,8 @@ dependencies = [ "snowbridge-pallet-ethereum-client-fixtures", "snowbridge-verification-primitives", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "static_assertions", "tracing", @@ -22483,9 +22683,9 @@ dependencies = [ "snowbridge-pallet-ethereum-client", "snowbridge-pallet-inbound-queue-fixtures", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-executor", @@ -22524,9 +22724,9 @@ dependencies = [ "snowbridge-pallet-inbound-queue-v2-fixtures", "snowbridge-test-utils", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22562,10 +22762,10 @@ dependencies = [ "snowbridge-core", "snowbridge-merkle-tree", "snowbridge-outbound-queue-primitives", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -22590,10 +22790,10 @@ dependencies = [ "snowbridge-outbound-queue-primitives", "snowbridge-test-utils", "snowbridge-verification-primitives", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22618,8 +22818,8 @@ dependencies = [ "snowbridge-outbound-queue-primitives", "snowbridge-pallet-outbound-queue", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-executor", @@ -22640,9 +22840,9 @@ dependencies = [ "snowbridge-core", "snowbridge-test-utils", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-executor", @@ -22665,9 +22865,9 @@ dependencies = [ "snowbridge-pallet-system", "snowbridge-test-utils", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-executor", @@ -22682,7 +22882,7 @@ dependencies = [ "frame-system", "pallet-xcm", "parity-scale-codec", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22712,9 +22912,9 @@ dependencies = [ "snowbridge-pallet-outbound-queue", "snowbridge-pallet-system", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", @@ -22726,7 +22926,7 @@ version = "0.2.0" dependencies = [ "parity-scale-codec", "snowbridge-core", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", "staging-xcm", ] @@ -22737,7 +22937,7 @@ version = "0.2.0" dependencies = [ "parity-scale-codec", "snowbridge-core", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", "staging-xcm", ] @@ -22823,28 +23023,28 @@ dependencies = [ "pallet-transaction-payment-rpc", "sc-basic-authorship", "sc-cli", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", "sc-consensus-aura", "sc-consensus-grandpa", - "sc-executor", - "sc-network", + "sc-executor 0.32.0", + "sc-network 0.34.0", "sc-offchain", "sc-service", - "sc-telemetry", + "sc-telemetry 15.0.0", "sc-transaction-pool", - "sc-transaction-pool-api", + "sc-transaction-pool-api 28.0.0", "solochain-template-runtime", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", - "sp-blockchain", + "sp-blockchain 28.0.0", "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-timestamp", "substrate-build-script-utils", "substrate-frame-rpc-system", @@ -22873,20 +23073,20 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "substrate-wasm-builder", ] @@ -22899,16 +23099,39 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-api-proc-macro", + "sp-api-proc-macro 15.0.0", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-metadata-ir", - "sp-runtime", + "sp-metadata-ir 0.6.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-test-primitives", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", + "thiserror 1.0.65", +] + +[[package]] +name = "sp-api" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cc9635cc2a860eff0b2d8b05ba217085c8292f41793f9cadfd931dc54976c00" +dependencies = [ + "docify", + "hash-db", + "log", + "parity-scale-codec", + "scale-info", + "sp-api-proc-macro 25.0.0", + "sp-core 38.1.0", + "sp-externalities 0.30.0", + "sp-metadata-ir 0.12.3", + "sp-runtime 44.0.0", + "sp-runtime-interface 32.0.0", + "sp-state-machine 0.48.0", + "sp-trie 41.1.1", + "sp-version 42.0.0", "thiserror 1.0.65", ] @@ -22926,6 +23149,21 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "sp-api-proc-macro" +version = "25.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d832cd107113d389340dc80a632330fe7ed7d20f3db50aeeb6abe40e23b6f4e" +dependencies = [ + "Inflector", + "blake2 0.10.6", + "expander", + "proc-macro-crate 3.1.0", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.98", +] + [[package]] name = "sp-api-test" version = "2.0.1" @@ -22937,15 +23175,15 @@ dependencies = [ "rustversion", "sc-block-builder", "scale-info", - "sp-api", - "sp-consensus", + "sp-api 26.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-metadata-ir", - "sp-runtime", - "sp-state-machine", + "sp-metadata-ir 0.6.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", - "sp-version", + "sp-version 29.0.0", "static_assertions", "substrate-test-runtime-client", "trybuild", @@ -22959,17 +23197,30 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", +] + +[[package]] +name = "sp-application-crypto" +version = "43.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6067f30cf3fb9270471cf24a65d73b33330f32573abab2d97196f83fc076de0" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 38.1.0", + "sp-io 43.0.0", ] [[package]] name = "sp-application-crypto-test" version = "2.0.0" dependencies = [ - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "substrate-test-runtime-client", ] @@ -22991,6 +23242,21 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "sp-arithmetic" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f4755af7cc57f4a2a830e134b403fc832caa5d93dacb970ffc7ac717f38c40" +dependencies = [ + "docify", + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "static_assertions", +] + [[package]] name = "sp-arithmetic-fuzzer" version = "2.0.0" @@ -22999,7 +23265,7 @@ dependencies = [ "fraction", "honggfuzz", "num-bigint", - "sp-arithmetic", + "sp-arithmetic 23.0.0", ] [[package]] @@ -23008,18 +23274,18 @@ version = "26.0.0" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", - "sp-application-crypto", - "sp-runtime", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-runtime 31.0.1", ] [[package]] name = "sp-block-builder" version = "26.0.0" dependencies = [ - "sp-api", - "sp-inherents", - "sp-runtime", + "sp-api 26.0.0", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -23030,12 +23296,32 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "schnellru", - "sp-api", - "sp-consensus", + "sp-api 26.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", - "sp-database", - "sp-runtime", - "sp-state-machine", + "sp-database 10.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "thiserror 1.0.65", + "tracing", +] + +[[package]] +name = "sp-blockchain" +version = "42.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "082c634447671551ea1cb8f1182d1b8a7109f7316a044b974ad9e663935f56c8" +dependencies = [ + "futures", + "parity-scale-codec", + "parking_lot 0.12.3", + "schnellru", + "sp-api 39.0.0", + "sp-consensus 0.45.0", + "sp-core 38.1.0", + "sp-database 10.0.1", + "sp-runtime 44.0.0", + "sp-state-machine 0.48.0", "thiserror 1.0.65", "tracing", ] @@ -23047,12 +23333,27 @@ dependencies = [ "async-trait", "futures", "log", - "sp-api", + "sp-api 26.0.0", "sp-externalities 0.25.0", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", + "thiserror 1.0.65", +] + +[[package]] +name = "sp-consensus" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cdbfa4f10a4c0aac84f9fa3327386988aea983c503b9ec7f0bd8aa8c34c3f01" +dependencies = [ + "async-trait", + "futures", + "log", + "sp-inherents 39.0.0", + "sp-runtime 44.0.0", + "sp-state-machine 0.48.0", "thiserror 1.0.65", ] @@ -23063,11 +23364,11 @@ dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-consensus-slots", - "sp-inherents", - "sp-runtime", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", "sp-timestamp", ] @@ -23079,12 +23380,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-consensus-slots", "sp-core 28.0.0", - "sp-inherents", - "sp-runtime", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", "sp-timestamp", ] @@ -23096,15 +23397,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-keystore", + "sp-io 30.0.0", + "sp-keystore 0.34.0", "sp-mmr-primitives", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "strum 0.26.3", "w3f-bls", ] @@ -23118,11 +23419,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", ] [[package]] @@ -23130,9 +23431,9 @@ name = "sp-consensus-pow" version = "0.32.0" dependencies = [ "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -23142,11 +23443,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-consensus-slots", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -23210,17 +23511,17 @@ dependencies = [ [[package]] name = "sp-core" -version = "36.1.0" +version = "38.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cdbb58c21e6b27f2aadf3ff0c8b20a8ead13b9dfe63f46717fd59334517f3b4" +checksum = "707602208776d0e19d4269bb3f68c5306cacbdfabbb2e4d8d499af7b907bb0a3" dependencies = [ "ark-vrf", "array-bytes 6.2.2", "bitflags 1.3.2", "blake2 0.10.6", - "bounded-collections 0.2.3", + "bounded-collections 0.3.2", "bs58", - "dyn-clonable", + "dyn-clone", "ed25519-zebra", "futures", "hash-db", @@ -23242,10 +23543,10 @@ dependencies = [ "secp256k1 0.28.2", "secrecy 0.8.0", "serde", + "sha2 0.10.9", "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-externalities 0.30.0", - "sp-runtime-interface 29.0.1", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-storage 22.0.0", "ss58-registry", @@ -23276,7 +23577,7 @@ dependencies = [ name = "sp-core-hashing-proc-macro" version = "15.0.0" dependencies = [ - "sp-crypto-hashing-proc-macro", + "sp-crypto-hashing-proc-macro 0.1.0", ] [[package]] @@ -23294,7 +23595,9 @@ dependencies = [ "ark-ed-on-bls12-377-ext", "ark-ed-on-bls12-381-bandersnatch", "ark-ed-on-bls12-381-bandersnatch-ext", + "ark-ff 0.5.0", "ark-scale", + "ark-std 0.5.0", "sp-runtime-interface 24.0.0", ] @@ -23308,7 +23611,7 @@ dependencies = [ "digest 0.10.7", "sha2 0.10.9", "sha3", - "sp-crypto-hashing-proc-macro", + "sp-crypto-hashing-proc-macro 0.1.0", "twox-hash 1.6.3", ] @@ -23335,6 +23638,17 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "sp-crypto-hashing-proc-macro" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b85d0f1f1e44bd8617eb2a48203ee854981229e3e79e6f468c7175d5fd37489b" +dependencies = [ + "quote 1.0.40", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 2.0.98", +] + [[package]] name = "sp-database" version = "10.0.0" @@ -23344,6 +23658,16 @@ dependencies = [ "parking_lot 0.12.3", ] +[[package]] +name = "sp-database" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c702cc7679fbaf0469d40251917cd27bfc165c506a8cd96fb4a9dd3947f06d70" +dependencies = [ + "kvdb", + "parking_lot 0.12.3", +] + [[package]] name = "sp-debug-derive" version = "14.0.0" @@ -23392,8 +23716,21 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", +] + +[[package]] +name = "sp-genesis-builder" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f929edd118b6332b016e0e5a3eb962b8568b14eee024f818685f8ea5f80d53" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde_json", + "sp-api 39.0.0", + "sp-runtime 44.0.0", ] [[package]] @@ -23405,7 +23742,21 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", + "thiserror 1.0.65", +] + +[[package]] +name = "sp-inherents" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2522693c705c1245ef8dbdbcf09d7cc6b139f0184d5e0a46856c546666b494d7" +dependencies = [ + "async-trait", + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "sp-runtime 44.0.0", "thiserror 1.0.65", ] @@ -23425,11 +23776,38 @@ dependencies = [ "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-keystore", + "sp-keystore 0.34.0", "sp-runtime-interface 24.0.0", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", - "sp-trie", + "sp-trie 29.0.0", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "43.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf2059e3b338c0174e8dc9e144cc7e612165ca4c960c3a23c6c99c29ef34768f" +dependencies = [ + "bytes", + "docify", + "ed25519-dalek", + "libsecp256k1", + "log", + "parity-scale-codec", + "polkavm-derive 0.26.0", + "rustversion", + "secp256k1 0.28.2", + "sp-core 38.1.0", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.30.0", + "sp-keystore 0.44.1", + "sp-runtime-interface 32.0.0", + "sp-state-machine 0.48.0", + "sp-tracing 19.0.0", + "sp-trie 41.1.1", "tracing", "tracing-core", ] @@ -23439,7 +23817,7 @@ name = "sp-keyring" version = "31.0.0" dependencies = [ "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "strum 0.26.3", ] @@ -23453,6 +23831,18 @@ dependencies = [ "sp-externalities 0.25.0", ] +[[package]] +name = "sp-keystore" +version = "0.44.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a5c0b829014afc22e992be2c198f2677592db43267fc218e9f3207dbbfb6fbb" +dependencies = [ + "parity-scale-codec", + "parking_lot 0.12.3", + "sp-core 38.1.0", + "sp-externalities 0.30.0", +] + [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" @@ -23461,11 +23851,32 @@ dependencies = [ "zstd 0.12.4", ] +[[package]] +name = "sp-maybe-compressed-blob" +version = "11.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96bd622e9c93d874f70f8df15ba1512fb95d8339aa5629157a826ec65a0c568" +dependencies = [ + "thiserror 1.0.65", + "zstd 0.12.4", +] + [[package]] name = "sp-metadata-ir" version = "0.6.0" dependencies = [ - "frame-metadata 23.0.0", + "frame-metadata 23.0.1", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "sp-metadata-ir" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acb04cf79ea9c576c8cf3f493a9e6e432a81b181e64e9bdcc485b0004505fb5a" +dependencies = [ + "frame-metadata 23.0.1", "parity-scale-codec", "scale-info", ] @@ -23476,8 +23887,8 @@ version = "0.4.0" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", ] [[package]] @@ -23490,10 +23901,10 @@ dependencies = [ "polkadot-ckb-merkle-mountain-range", "scale-info", "serde", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", "sp-debug-derive 14.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror 1.0.65", ] @@ -23504,9 +23915,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-test-utils", ] @@ -23518,16 +23929,16 @@ dependencies = [ "honggfuzz", "rand 0.8.5", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] name = "sp-offchain" version = "26.0.0" dependencies = [ - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -23538,6 +23949,16 @@ dependencies = [ "regex", ] +[[package]] +name = "sp-panic-handler" +version = "13.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8b52e69a577cbfdea62bfaf16f59eb884422ce98f78b5cd8d9bf668776bced1" +dependencies = [ + "backtrace", + "regex", +] + [[package]] name = "sp-rpc" version = "26.0.0" @@ -23552,7 +23973,7 @@ dependencies = [ name = "sp-runtime" version = "31.0.1" dependencies = [ - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bytes", "docify", "either", @@ -23567,16 +23988,17 @@ dependencies = [ "serde", "serde_json", "simple-mermaid", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-state-machine", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-state-machine 0.35.0", "sp-std 14.0.0", "sp-tracing 16.0.0", - "sp-trie", - "sp-weights", + "sp-trie 29.0.0", + "sp-weights 27.0.0", "strum 0.26.3", "substrate-test-runtime-client", "tracing", @@ -23584,6 +24006,36 @@ dependencies = [ "zstd 0.12.4", ] +[[package]] +name = "sp-runtime" +version = "44.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee57bb77e94c26306501426ac82aca401bb80ee2279ecdba148f68e76cf58247" +dependencies = [ + "binary-merkle-tree 16.1.0", + "docify", + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "num-traits", + "parity-scale-codec", + "paste", + "rand 0.8.5", + "scale-info", + "serde", + "simple-mermaid", + "sp-application-crypto 43.0.0", + "sp-arithmetic 28.0.0", + "sp-core 38.1.0", + "sp-io 43.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 41.1.1", + "sp-weights 33.2.0", + "tracing", + "tuplex", +] + [[package]] name = "sp-runtime-interface" version = "24.0.0" @@ -23594,10 +24046,10 @@ dependencies = [ "polkavm-derive 0.30.0", "rustversion", "sp-externalities 0.25.0", - "sp-io", + "sp-io 30.0.0", "sp-runtime-interface-proc-macro 17.0.0", "sp-runtime-interface-test-wasm", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", @@ -23608,21 +24060,20 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "29.0.1" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e99db36a7aff44c335f5d5b36c182a3e0cac61de2fefbe2eeac6af5fb13f63bf" +checksum = "efdc2bc2adbfb9b4396ae07c7d94db20414d2351608e29e1f44e4f643b387c70" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", - "polkavm-derive 0.18.0", - "primitive-types 0.13.1", + "polkavm-derive 0.26.0", "sp-externalities 0.30.0", - "sp-runtime-interface-proc-macro 18.0.0", + "sp-runtime-interface-proc-macro 20.0.0", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-storage 22.0.0", - "sp-tracing 17.1.0", - "sp-wasm-interface 21.0.1", + "sp-tracing 19.0.0", + "sp-wasm-interface 24.0.0", "static_assertions", ] @@ -23640,9 +24091,9 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "18.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0195f32c628fee3ce1dfbbf2e7e52a30ea85f3589da9fe62a8b816d70fc06294" +checksum = "04178084ae654b3924934a56943ee73e3562db4d277e948393561b08c3b5b5fe" dependencies = [ "Inflector", "expander", @@ -23656,14 +24107,14 @@ dependencies = [ name = "sp-runtime-interface-test" version = "2.0.0" dependencies = [ - "sc-executor", - "sc-executor-common", - "sp-io", - "sp-runtime", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", "sp-runtime-interface-test-wasm", "sp-runtime-interface-test-wasm-deprecated", - "sp-state-machine", + "sp-state-machine 0.35.0", "tracing", "tracing-core", ] @@ -23674,7 +24125,7 @@ version = "2.0.0" dependencies = [ "bytes", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-runtime-interface 24.0.0", "substrate-wasm-builder", ] @@ -23684,7 +24135,7 @@ name = "sp-runtime-interface-test-wasm-deprecated" version = "2.0.0" dependencies = [ "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-runtime-interface 24.0.0", "substrate-wasm-builder", ] @@ -23695,10 +24146,10 @@ version = "27.0.0" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-staking", ] @@ -23711,7 +24162,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -23730,12 +24181,33 @@ dependencies = [ "smallvec", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-panic-handler", - "sp-runtime", - "sp-trie", + "sp-panic-handler 13.0.0", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", + "thiserror 1.0.65", + "tracing", + "trie-db 0.31.0", +] + +[[package]] +name = "sp-state-machine" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "042677239cca40eb6a0d70e0b220f5693516f59853c2d678de471a79652cd16e" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand 0.8.5", + "smallvec", + "sp-core 38.1.0", + "sp-externalities 0.30.0", + "sp-panic-handler 13.0.2", + "sp-trie 41.1.1", "thiserror 1.0.65", "tracing", - "trie-db", + "trie-db 0.30.0", ] [[package]] @@ -23751,12 +24223,12 @@ dependencies = [ "scale-info", "serde", "sha2 0.10.9", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", "thiserror 1.0.65", "x25519-dalek", @@ -23803,9 +24275,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -23814,8 +24286,8 @@ version = "26.0.0" dependencies = [ "async-trait", "parity-scale-codec", - "sp-inherents", - "sp-runtime", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", "thiserror 1.0.65", ] @@ -23827,27 +24299,28 @@ dependencies = [ "regex", "tracing", "tracing-core", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] name = "sp-tracing" -version = "17.1.0" +version = "19.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6147a5b8c98b9ed4bf99dc033fab97a468b4645515460974c8784daeb7c35433" +checksum = "f2c7372456c39cc81e15befe54d0caab8378f2b30fd34d1bcb5f0f56631c6b6e" dependencies = [ "parity-scale-codec", + "regex", "tracing", "tracing-core", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] name = "sp-transaction-pool" version = "26.0.0" dependencies = [ - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -23857,10 +24330,11 @@ dependencies = [ "async-trait", "parity-scale-codec", "scale-info", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-inherents", - "sp-runtime", - "sp-trie", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", ] [[package]] @@ -23882,16 +24356,42 @@ dependencies = [ "schnellru", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", "thiserror 1.0.65", "tracing", "trie-bench", - "trie-db", + "trie-db 0.31.0", "trie-root", "trie-standardmap", ] +[[package]] +name = "sp-trie" +version = "41.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e34c2336d82297f453340adb1188ec0592abcd862df1f7027994b8e1e5fc139" +dependencies = [ + "ahash 0.8.11", + "foldhash", + "hash-db", + "hashbrown 0.15.3", + "memory-db", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand 0.8.5", + "scale-info", + "schnellru", + "sp-core 38.1.0", + "sp-externalities 0.30.0", + "substrate-prometheus-endpoint 0.17.7", + "thiserror 1.0.65", + "tracing", + "trie-db 0.30.0", + "trie-root", +] + [[package]] name = "sp-version" version = "29.0.0" @@ -23901,10 +24401,28 @@ dependencies = [ "parity-wasm", "scale-info", "serde", - "sp-crypto-hashing-proc-macro", - "sp-runtime", + "sp-crypto-hashing-proc-macro 0.1.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", - "sp-version-proc-macro", + "sp-version-proc-macro 13.0.0", + "thiserror 1.0.65", +] + +[[package]] +name = "sp-version" +version = "42.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "633ea19da3ec057d449af667099072daa4e99900984f304b96f4c2ee15aeecc7" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-crypto-hashing-proc-macro 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 44.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-version-proc-macro 15.0.0", "thiserror 1.0.65", ] @@ -23916,7 +24434,20 @@ dependencies = [ "proc-macro-warning", "proc-macro2 1.0.95", "quote 1.0.40", - "sp-version", + "sp-version 29.0.0", + "syn 2.0.98", +] + +[[package]] +name = "sp-version-proc-macro" +version = "15.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54cabc8279e835cd9c608d70cb00e693bddec94fe8478e9f3104dad1da5f93ca" +dependencies = [ + "parity-scale-codec", + "proc-macro-warning", + "proc-macro2 1.0.95", + "quote 1.0.40", "syn 2.0.98", ] @@ -23933,14 +24464,15 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "21.0.1" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b066baa6d57951600b14ffe1243f54c47f9c23dd89c262e17ca00ae8dca58be9" +checksum = "dd177d0658f3df0492f28bd39d665133a7868db5aa66c8642c949b6265430719" dependencies = [ "anyhow", "impl-trait-for-tuples", "log", "parity-scale-codec", + "wasmtime", ] [[package]] @@ -23953,10 +24485,25 @@ dependencies = [ "schemars", "serde", "smallvec", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-debug-derive 14.0.0", ] +[[package]] +name = "sp-weights" +version = "33.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c34d353fdc6469da8fae9248ffc1f34faaf04bec8cabc43fd77681dcbc8517" +dependencies = [ + "bounded-collections 0.3.2", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 28.0.0", + "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "spin" version = "0.5.2" @@ -24249,7 +24796,7 @@ dependencies = [ "cmd_lib", "docify", "pretty_assertions", - "sc-chain-spec", + "sc-chain-spec 28.0.0", "serde", "serde_json", "sp-tracing 16.0.0", @@ -24286,7 +24833,7 @@ dependencies = [ "sp-keyring", "staging-node-inspect", "substrate-cli-test-utils", - "subxt-signer 0.43.0", + "subxt-signer 0.44.2", "tempfile", "tokio", "tokio-util", @@ -24300,12 +24847,12 @@ dependencies = [ "clap", "parity-scale-codec", "sc-cli", - "sc-client-api", + "sc-client-api 28.0.0", "sc-service", - "sp-blockchain", + "sp-blockchain 28.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-statement-store", "thiserror 1.0.65", ] @@ -24319,7 +24866,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -24341,9 +24888,9 @@ dependencies = [ "scale-info", "schemars", "serde", - "sp-io", - "sp-runtime", - "sp-weights", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "tracing", "xcm-procedural", ] @@ -24369,12 +24916,12 @@ dependencies = [ "polkadot-test-runtime", "primitive-types 0.13.1", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "sp-weights", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-executor", "tracing", @@ -24391,11 +24938,11 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", - "sp-weights", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "staging-xcm", "tracing", ] @@ -24408,24 +24955,24 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "static_init" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" +checksum = "8bae1df58c5fea7502e8e352ec26b5579f6178e1fdb311e088580c980dee25ed" dependencies = [ "bitflags 1.3.2", - "cfg_aliases 0.1.1", + "cfg_aliases 0.2.1", "libc", - "parking_lot 0.11.2", - "parking_lot_core 0.8.6", + "parking_lot 0.12.3", + "parking_lot_core 0.9.8", "static_init_macro", "winapi", ] [[package]] name = "static_init_macro" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" +checksum = "1389c88ddd739ec6d3f8f83343764a0e944cd23cfbf126a9796a714b0b6edd6f" dependencies = [ "cfg_aliases 0.1.1", "memchr", @@ -24586,7 +25133,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-storage 19.0.0", "tokio", ] @@ -24604,12 +25151,12 @@ dependencies = [ "parity-scale-codec", "sc-rpc-api", "sc-transaction-pool", - "sc-transaction-pool-api", - "sp-api", + "sc-transaction-pool-api 28.0.0", + "sp-api 26.0.0", "sp-block-builder", - "sp-blockchain", + "sp-blockchain 28.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-test-runtime-client", "tokio", @@ -24628,6 +25175,21 @@ dependencies = [ "tokio", ] +[[package]] +name = "substrate-prometheus-endpoint" +version = "0.17.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23e4bc8e910a312820d589047ab683928b761242dbe31dee081fbdb37cbe0be" +dependencies = [ + "http-body-util", + "hyper 1.6.0", + "hyper-util", + "log", + "prometheus", + "thiserror 1.0.65", + "tokio", +] + [[package]] name = "substrate-relay-helper" version = "0.1.0" @@ -24663,8 +25225,8 @@ dependencies = [ "scale-info", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime", - "sp-trie", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", "strum 0.26.3", "thiserror 1.0.65", "tracing", @@ -24680,7 +25242,7 @@ dependencies = [ "sc-rpc-api", "serde", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "tokio", ] @@ -24690,14 +25252,14 @@ version = "27.0.0" dependencies = [ "jsonrpsee", "parity-scale-codec", - "sc-client-api", + "sc-client-api 28.0.0", "sc-rpc-api", "serde", "sp-core 28.0.0", - "sp-runtime", - "sp-state-machine", - "sp-trie", - "trie-db", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", + "trie-db 0.31.0", ] [[package]] @@ -24708,19 +25270,19 @@ dependencies = [ "async-trait", "futures", "parity-scale-codec", - "sc-client-api", + "sc-client-api 28.0.0", "sc-client-db", "sc-consensus", - "sc-executor", + "sc-executor 0.32.0", "sc-service", "serde", "serde_json", - "sp-blockchain", - "sp-consensus", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "tokio", ] @@ -24743,17 +25305,17 @@ dependencies = [ "parity-scale-codec", "pretty_assertions", "sc-block-builder", - "sc-chain-spec", - "sc-executor", - "sc-executor-common", + "sc-chain-spec 28.0.0", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", "sc-service", "scale-info", "serde", "serde_json", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-block-builder", - "sp-consensus", + "sp-consensus 0.32.0", "sp-consensus-aura", "sp-consensus-babe", "sp-consensus-grandpa", @@ -24761,22 +25323,23 @@ dependencies = [ "sp-crypto-hashing 0.1.0", "sp-debug-derive 14.0.0", "sp-externalities 0.25.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", - "sp-state-machine", + "sp-state-machine 0.35.0", + "sp-statement-store", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "substrate-test-runtime-client", "substrate-wasm-builder", "tracing", - "trie-db", + "trie-db 0.31.0", ] [[package]] @@ -24785,13 +25348,13 @@ version = "2.0.0" dependencies = [ "futures", "sc-block-builder", - "sc-client-api", + "sc-client-api 28.0.0", "sc-consensus", - "sp-api", - "sp-blockchain", - "sp-consensus", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-test-client", "substrate-test-runtime", ] @@ -24806,9 +25369,9 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "sc-transaction-pool", - "sc-transaction-pool-api", - "sp-blockchain", - "sp-runtime", + "sc-transaction-pool-api 28.0.0", + "sp-blockchain 28.0.0", + "sp-runtime 31.0.1", "substrate-test-runtime-client", "thiserror 1.0.65", ] @@ -24848,7 +25411,7 @@ dependencies = [ "tokio", "tokio-util", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -24860,19 +25423,19 @@ dependencies = [ "cargo_metadata", "console", "filetime", - "frame-metadata 23.0.0", + "frame-metadata 23.0.1", "jobserver", "merkleized-metadata", "parity-scale-codec", "parity-wasm", "polkavm-linker", - "sc-executor", + "sc-executor 0.32.0", "shlex", "sp-core 28.0.0", - "sp-io", - "sp-maybe-compressed-blob", + "sp-io 30.0.0", + "sp-maybe-compressed-blob 11.0.0", "sp-tracing 16.0.0", - "sp-version", + "sp-version 29.0.0", "strum 0.26.3", "tempfile", "toml", @@ -24887,8 +25450,8 @@ dependencies = [ "anyhow", "env_logger 0.11.3", "log", - "subxt 0.43.0", - "subxt-signer 0.43.0", + "subxt 0.44.2", + "subxt-signer 0.44.2", "tokio", "zombienet-configuration", "zombienet-orchestrator", @@ -24952,14 +25515,14 @@ dependencies = [ [[package]] name = "subxt" -version = "0.43.0" +version = "0.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74791ddeaaa6de42e7cc8a715c83eb73303f513f90af701fd07eb2caad92ed84" +checksum = "3e689b7f5635ffd08301b1b7d427300f7c10bc0e66069c4068d36ce6921bc736" dependencies = [ "async-trait", "derive-where", "either", - "frame-metadata 23.0.0", + "frame-metadata 23.0.1", "futures", "hex", "jsonrpsee", @@ -24973,11 +25536,11 @@ dependencies = [ "serde", "serde_json", "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "subxt-core 0.43.0", - "subxt-lightclient 0.43.0", - "subxt-macro 0.43.0", - "subxt-metadata 0.43.0", - "subxt-rpcs 0.43.0", + "subxt-core 0.44.2", + "subxt-lightclient 0.44.2", + "subxt-macro 0.44.2", + "subxt-metadata 0.44.2", + "subxt-rpcs 0.44.2", "thiserror 2.0.12", "tokio", "tokio-util", @@ -25006,9 +25569,9 @@ dependencies = [ [[package]] name = "subxt-codegen" -version = "0.43.0" +version = "0.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1728caecd9700391e78cc30dc298221d6f5ca0ea28258a452aa76b0b7c229842" +checksum = "740eedc385673e6c5e0de60d2ea6d12d311359d3ccea35b86b9161e3acaf938f" dependencies = [ "heck 0.5.0", "parity-scale-codec", @@ -25016,7 +25579,7 @@ dependencies = [ "quote 1.0.40", "scale-info", "scale-typegen", - "subxt-metadata 0.43.0", + "subxt-metadata 0.44.2", "syn 2.0.98", "thiserror 2.0.12", ] @@ -25053,15 +25616,15 @@ dependencies = [ [[package]] name = "subxt-core" -version = "0.43.0" +version = "0.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25338dd11ae34293b8d0c5807064f2e00194ba1bd84cccfa694030c8d185b941" +checksum = "1f2f40f6145c1805e37339c4e460c4a18fcafae913b15d2c648b7cac991fd903" dependencies = [ "base58", "blake2 0.10.6", "derive-where", - "frame-decode 0.8.3", - "frame-metadata 23.0.0", + "frame-decode 0.9.0", + "frame-metadata 23.0.1", "hashbrown 0.14.5", "hex", "impl-serde", @@ -25076,7 +25639,7 @@ dependencies = [ "serde", "serde_json", "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "subxt-metadata 0.43.0", + "subxt-metadata 0.44.2", "thiserror 2.0.12", "tracing", ] @@ -25100,9 +25663,9 @@ dependencies = [ [[package]] name = "subxt-lightclient" -version = "0.43.0" +version = "0.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9097ef356e534ce0b6a50b95233512afc394347b971a4f929c4830adc52bbc6f" +checksum = "61321269d3dcc65b8f884eb4d10e393f7bca22b0688d373a0285d4e8ad7221be" dependencies = [ "futures", "futures-util", @@ -25133,18 +25696,18 @@ dependencies = [ [[package]] name = "subxt-macro" -version = "0.43.0" +version = "0.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69516e8ff0e9340a0f21b8398da7f997571af4734ee81deada5150a2668c8443" +checksum = "efc6c5054278308a2b01804f00676ece77270a358a2caee6df1358cf81ec0cd5" dependencies = [ "darling 0.20.10", "parity-scale-codec", "proc-macro-error2", "quote 1.0.40", "scale-typegen", - "subxt-codegen 0.43.0", - "subxt-metadata 0.43.0", - "subxt-utils-fetchmetadata 0.43.0", + "subxt-codegen 0.44.2", + "subxt-metadata 0.44.2", + "subxt-utils-fetchmetadata 0.44.2", "syn 2.0.98", ] @@ -25165,12 +25728,12 @@ dependencies = [ [[package]] name = "subxt-metadata" -version = "0.43.0" +version = "0.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c134068711c0c46906abc0e6e4911204420331530738e18ca903a5469364d9f" +checksum = "bc80c07a71e180a42ba0f12727b1f9f39bf03746df6d546d24edbbc137f64fa1" dependencies = [ - "frame-decode 0.8.3", - "frame-metadata 23.0.0", + "frame-decode 0.9.0", + "frame-metadata 23.0.1", "hashbrown 0.14.5", "parity-scale-codec", "scale-info", @@ -25204,13 +25767,13 @@ dependencies = [ [[package]] name = "subxt-rpcs" -version = "0.43.0" +version = "0.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25de7727144780d780a6a7d78bbfd28414b8adbab68b05e87329c367d7705be4" +checksum = "3fe65228472ea5a6bd23d8f2cd12833706466d2425805b2a38ecedc258df141a" dependencies = [ "derive-where", "finito", - "frame-metadata 23.0.0", + "frame-metadata 23.0.1", "futures", "hex", "impl-serde", @@ -25219,8 +25782,8 @@ dependencies = [ "primitive-types 0.13.1", "serde", "serde_json", - "subxt-core 0.43.0", - "subxt-lightclient 0.43.0", + "subxt-core 0.44.2", + "subxt-lightclient 0.44.2", "thiserror 2.0.12", "tokio", "tokio-util", @@ -25260,9 +25823,9 @@ dependencies = [ [[package]] name = "subxt-signer" -version = "0.43.0" +version = "0.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a9bd240ae819f64ac6898d7ec99a88c8b838dba2fb9d83b843feb70e77e34c8" +checksum = "963a6b53626fabc94544fdd64b03b639d5b9762efcd52e417d5292b119622a15" dependencies = [ "base64 0.22.1", "bip32", @@ -25283,7 +25846,7 @@ dependencies = [ "serde_json", "sha2 0.10.9", "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "subxt-core 0.43.0", + "subxt-core 0.44.2", "thiserror 2.0.12", "zeroize", ] @@ -25301,9 +25864,9 @@ dependencies = [ [[package]] name = "subxt-utils-fetchmetadata" -version = "0.43.0" +version = "0.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4fb8fd6b16ecd3537a29d70699f329a68c1e47f70ed1a46d64f76719146563" +checksum = "a26ed947c63b4620429465c9f7e1f346433ddc21780c4bfcfade1e3a4dcdfab8" dependencies = [ "hex", "parity-scale-codec", @@ -25668,7 +26231,7 @@ checksum = "1e33b98a582ea0be1168eba097538ee8dd4bbe0f2b01b22ac92ea30054e5be7b" dependencies = [ "env_logger 0.11.3", "test-log-macros", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -25689,7 +26252,7 @@ dependencies = [ "dlmalloc", "parity-scale-codec", "polkadot-parachain-primitives", - "sp-io", + "sp-io 30.0.0", "substrate-wasm-builder", "tiny-keccak", ] @@ -25736,7 +26299,7 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-primitives", - "sp-io", + "sp-io 30.0.0", "substrate-wasm-builder", "tiny-keccak", ] @@ -25760,7 +26323,7 @@ dependencies = [ "polkadot-service", "polkadot-test-service", "sc-cli", - "sc-client-api", + "sc-client-api 28.0.0", "sc-service", "sp-core 28.0.0", "sp-keyring", @@ -25775,7 +26338,7 @@ dependencies = [ "frame-support", "polkadot-primitives", "smallvec", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -25787,7 +26350,7 @@ dependencies = [ "polkadot-core-primitives", "rococo-runtime-constants", "smallvec", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "westend-runtime-constants", ] @@ -26014,17 +26577,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-retry" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" -dependencies = [ - "pin-project", - "rand 0.8.5", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.24.1" @@ -26250,9 +26802,9 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "log", "pin-project-lite", @@ -26262,9 +26814,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2 1.0.95", "quote 1.0.40", @@ -26273,9 +26825,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -26337,9 +26889,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "chrono", "matchers", @@ -26367,11 +26919,23 @@ dependencies = [ "keccak-hasher", "memory-db", "parity-scale-codec", - "trie-db", + "trie-db 0.31.0", "trie-root", "trie-standardmap", ] +[[package]] +name = "trie-db" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c0670ab45a6b7002c7df369fee950a27cf29ae0474343fd3a15aa15f691e7a6" +dependencies = [ + "hash-db", + "log", + "rustc-hex", + "smallvec", +] + [[package]] name = "trie-db" version = "0.31.0" @@ -27501,7 +28065,7 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "westend-runtime", "westend-runtime-constants", ] @@ -27511,7 +28075,7 @@ name = "westend-runtime" version = "7.0.0" dependencies = [ "approx", - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -27585,29 +28149,29 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-genesis-builder 0.8.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -27626,8 +28190,8 @@ dependencies = [ "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-builder", ] @@ -28273,8 +28837,8 @@ dependencies = [ "polkadot-sdk-frame", "scale-info", "simple-mermaid", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -28304,12 +28868,12 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-runtime-parachains", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-consensus-aura", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-executor", @@ -28332,10 +28896,10 @@ dependencies = [ "polkadot-test-client", "polkadot-test-runtime", "polkadot-test-service", - "sp-consensus", + "sp-consensus 0.32.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-executor", @@ -28366,10 +28930,10 @@ dependencies = [ "pallet-xcm", "parity-scale-codec", "scale-info", - "sp-api", - "sp-io", + "sp-api 26.0.0", + "sp-io 30.0.0", "sp-tracing 16.0.0", - "sp-weights", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -28390,8 +28954,8 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-parachains", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -28412,8 +28976,8 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -28441,8 +29005,8 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -28671,9 +29235,9 @@ dependencies = [ [[package]] name = "zombienet-configuration" -version = "0.3.13" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "939599296b4660c38fc4350444a80e34c241c0f0640de33dded9648082b994c8" +checksum = "60d255a21db0f4fd0447053d02d71d4346c11ad7d2c403dc15d60e6f8dc1e545" dependencies = [ "anyhow", "lazy_static", @@ -28692,12 +29256,13 @@ dependencies = [ [[package]] name = "zombienet-orchestrator" -version = "0.3.13" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eca00a52f4a0de721f50b3f9a70dbe7ccc5c12ef549a4bfeeb9384743674bd4" +checksum = "56b30135f9f983d90b0f201210acb6693a2a06a12dcb452fa5698f1a52c92028" dependencies = [ "anyhow", "async-trait", + "erased-serde", "fancy-regex", "futures", "glob-match", @@ -28708,12 +29273,13 @@ dependencies = [ "rand 0.8.5", "regex", "reqwest", + "sc-chain-spec 46.0.0", "serde", "serde_json", "sha2 0.10.9", - "sp-core 36.1.0", - "subxt 0.43.0", - "subxt-signer 0.43.0", + "sp-core 38.1.0", + "subxt 0.44.2", + "subxt-signer 0.44.2", "thiserror 1.0.65", "tokio", "tracing", @@ -28726,9 +29292,9 @@ dependencies = [ [[package]] name = "zombienet-prom-metrics-parser" -version = "0.3.13" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18efca2715d288088b867a00a7651ad7c0c2d958a3b8ba6c366645c622427c6d" +checksum = "5c0fea78859330462e86e5c9d767aa2bd299c529b423240e6d5c019f92de295f" dependencies = [ "pest", "pest_derive", @@ -28737,12 +29303,13 @@ dependencies = [ [[package]] name = "zombienet-provider" -version = "0.3.13" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0354c74c5ed022edc6c93ec8a6bbaa0b04481ab32dc00249a5ab4c90cd46d5f" +checksum = "8313cfd06cd3e7b9991e799ab11edce54e32f5a627248444ba52492fcf3b03c4" dependencies = [ "anyhow", "async-trait", + "erased-serde", "flate2", "futures", "hex", @@ -28768,15 +29335,15 @@ dependencies = [ [[package]] name = "zombienet-sdk" -version = "0.3.13" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d3497841dac84430f955824009b2ce55840a56401b2ea2f314a4e9bb2e729" +checksum = "41d921f6c33dfe1724a745469f1bcca1752482275332dff589fdd732a48bd0db" dependencies = [ "async-trait", "futures", "lazy_static", - "subxt 0.43.0", - "subxt-signer 0.43.0", + "subxt 0.44.2", + "subxt-signer 0.44.2", "tokio", "zombienet-configuration", "zombienet-orchestrator", @@ -28786,9 +29353,9 @@ dependencies = [ [[package]] name = "zombienet-support" -version = "0.3.13" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db1efb95326372ae5a4ce97e67e5b8f0ebd00a46763f505ea3d340395883fb10" +checksum = "79b8ce21d656058123978e3d7590dd7f9dd253f9b2a581cd39dcb3998dd229e5" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 9c310b98194da..ef546c54ce073 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -95,26 +95,20 @@ members = [ "cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-rococo", "cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-westend", "cumulus/parachains/integration-tests/emulated/chains/parachains/collectives/collectives-westend", - "cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo", "cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-westend", - "cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-rococo", "cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-westend", "cumulus/parachains/integration-tests/emulated/chains/parachains/testing/penpal", "cumulus/parachains/integration-tests/emulated/chains/relays/rococo", "cumulus/parachains/integration-tests/emulated/chains/relays/westend", "cumulus/parachains/integration-tests/emulated/common", - "cumulus/parachains/integration-tests/emulated/networks/rococo-system", "cumulus/parachains/integration-tests/emulated/networks/rococo-westend-system", "cumulus/parachains/integration-tests/emulated/networks/westend-system", - "cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo", "cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend", "cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo", "cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend", "cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend", - "cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo", "cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-westend", "cumulus/parachains/integration-tests/emulated/tests/governance/westend", - "cumulus/parachains/integration-tests/emulated/tests/people/people-rococo", "cumulus/parachains/integration-tests/emulated/tests/people/people-westend", "cumulus/parachains/pallets/collective-content", "cumulus/parachains/pallets/parachain-info", @@ -133,14 +127,11 @@ members = [ "cumulus/parachains/runtimes/bridge-hubs/test-utils", "cumulus/parachains/runtimes/collectives/collectives-westend", "cumulus/parachains/runtimes/constants", - "cumulus/parachains/runtimes/coretime/coretime-rococo", "cumulus/parachains/runtimes/coretime/coretime-westend", "cumulus/parachains/runtimes/glutton/glutton-westend", - "cumulus/parachains/runtimes/people/people-rococo", "cumulus/parachains/runtimes/people/people-westend", "cumulus/parachains/runtimes/test-utils", "cumulus/parachains/runtimes/testing/penpal", - "cumulus/parachains/runtimes/testing/rococo-parachain", "cumulus/parachains/runtimes/testing/yet-another-parachain", "cumulus/polkadot-omni-node", "cumulus/polkadot-omni-node/lib", @@ -168,6 +159,7 @@ members = [ "polkadot/core-primitives", "polkadot/erasure-coding", "polkadot/erasure-coding/fuzzer", + "polkadot/jemalloc-shim", "polkadot/node/collation-generation", "polkadot/node/core/approval-voting", "polkadot/node/core/approval-voting-parallel", @@ -356,6 +348,7 @@ members = [ "substrate/frame/contracts/uapi", "substrate/frame/conviction-voting", "substrate/frame/core-fellowship", + "substrate/frame/dap", "substrate/frame/delegated-staking", "substrate/frame/democracy", "substrate/frame/derivatives", @@ -431,6 +424,7 @@ members = [ "substrate/frame/revive/proc-macro", "substrate/frame/revive/rpc", "substrate/frame/revive/uapi", + "substrate/frame/revive/ui-tests", "substrate/frame/root-offences", "substrate/frame/root-testing", "substrate/frame/safe-mode", @@ -444,9 +438,8 @@ members = [ "substrate/frame/staking", "substrate/frame/staking-async", "substrate/frame/staking-async/ah-client", - "substrate/frame/staking-async/ahm-test", + "substrate/frame/staking-async/integration-tests", "substrate/frame/staking-async/rc-client", - "substrate/frame/staking-async/reward-fn", "substrate/frame/staking-async/runtime-api", "substrate/frame/staking-async/runtimes/parachain", "substrate/frame/staking-async/runtimes/preset-store", @@ -660,7 +653,9 @@ ark-ed-on-bls12-377 = { version = "0.5.0", default-features = false } ark-ed-on-bls12-377-ext = { version = "0.5.0", default-features = false } ark-ed-on-bls12-381-bandersnatch = { version = "0.5.0", default-features = false } ark-ed-on-bls12-381-bandersnatch-ext = { version = "0.5.0", default-features = false } +ark-ff = { version = "0.5.0", default-features = false } ark-scale = { version = "0.0.13", default-features = false } +ark-std = { version = "0.5.0", default-features = false } ark-vrf = { version = "0.1.0", default-features = false } array-bytes = { version = "6.2.2", default-features = false } arrayvec = { version = "0.7.4" } @@ -739,8 +734,6 @@ colored = { version = "2.0.4" } comfy-table = { version = "7.1.4", default-features = false } console = { version = "0.15.8" } const-hex = { version = "1.10.0", default-features = false } -coretime-rococo-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo" } -coretime-rococo-runtime = { path = "cumulus/parachains/runtimes/coretime/coretime-rococo" } coretime-westend-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-westend" } coretime-westend-runtime = { path = "cumulus/parachains/runtimes/coretime/coretime-westend" } cpu-time = { version = "1.0.0" } @@ -829,7 +822,7 @@ frame-benchmarking-pallet-pov = { default-features = false, path = "substrate/fr frame-election-provider-solution-type = { path = "substrate/frame/election-provider-support/solution-type", default-features = false } frame-election-provider-support = { path = "substrate/frame/election-provider-support", default-features = false } frame-executive = { path = "substrate/frame/executive", default-features = false } -frame-metadata = { version = "23.0.0", default-features = false } +frame-metadata = { version = "23.0.1", default-features = false } frame-metadata-hash-extension = { path = "substrate/frame/metadata-hash-extension", default-features = false } frame-storage-access-test-runtime = { path = "substrate/utils/frame/storage-access-test-runtime", default-features = false } frame-support = { path = "substrate/frame/support", default-features = false } @@ -908,7 +901,7 @@ linked-hash-map = { version = "0.5.4" } linked_hash_set = { version = "0.1.4" } linregress = { version = "0.5.1" } lite-json = { version = "0.2.0", default-features = false } -litep2p = { version = "0.12.2", features = ["rsa", "websocket"] } +litep2p = { version = "0.13.0", features = ["rsa", "websocket"] } log = { version = "0.4.22", default-features = false } macro_magic = { version = "0.5.1" } maplit = { version = "1.0.2" } @@ -985,6 +978,7 @@ pallet-contracts-proc-macro = { path = "substrate/frame/contracts/proc-macro", d pallet-contracts-uapi = { path = "substrate/frame/contracts/uapi", default-features = false } pallet-conviction-voting = { path = "substrate/frame/conviction-voting", default-features = false } pallet-core-fellowship = { path = "substrate/frame/core-fellowship", default-features = false } +pallet-dap = { path = "substrate/frame/dap", default-features = false } pallet-default-config-example = { path = "substrate/frame/examples/default-config", default-features = false } pallet-delegated-staking = { path = "substrate/frame/delegated-staking", default-features = false } pallet-democracy = { path = "substrate/frame/democracy", default-features = false } @@ -1048,6 +1042,7 @@ pallet-revive-eth-rpc = { path = "substrate/frame/revive/rpc", default-features pallet-revive-fixtures = { path = "substrate/frame/revive/fixtures", default-features = false } pallet-revive-proc-macro = { path = "substrate/frame/revive/proc-macro", default-features = false } pallet-revive-uapi = { path = "substrate/frame/revive/uapi", default-features = false } +pallet-revive-ui-tests = { path = "substrate/frame/revive/ui-tests", default-features = false } pallet-root-offences = { default-features = false, path = "substrate/frame/root-offences" } pallet-root-testing = { path = "substrate/frame/root-testing", default-features = false } pallet-safe-mode = { default-features = false, path = "substrate/frame/safe-mode" } @@ -1073,8 +1068,6 @@ pallet-staking-async-preset-store = { path = "substrate/frame/staking-async/runt pallet-staking-async-rc-client = { path = "substrate/frame/staking-async/rc-client", default-features = false } pallet-staking-async-rc-runtime = { path = "substrate/frame/staking-async/runtimes/rc" } pallet-staking-async-rc-runtime-constants = { path = "substrate/frame/staking-async/runtimes/rc/constants", default-features = false } -pallet-staking-async-reward-curve = { path = "substrate/frame/staking-async/reward-curve", default-features = false } -pallet-staking-async-reward-fn = { path = "substrate/frame/staking-async/reward-fn", default-features = false } pallet-staking-async-runtime-api = { path = "substrate/frame/staking-async/runtime-api", default-features = false } pallet-state-trie-migration = { path = "substrate/frame/state-trie-migration", default-features = false } pallet-statement = { default-features = false, path = "substrate/frame/statement" } @@ -1113,8 +1106,6 @@ paste = { version = "1.0.15", default-features = false } pbkdf2 = { version = "0.12.2", default-features = false } penpal-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/parachains/testing/penpal" } penpal-runtime = { path = "cumulus/parachains/runtimes/testing/penpal" } -people-rococo-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-rococo" } -people-rococo-runtime = { path = "cumulus/parachains/runtimes/people/people-rococo" } people-westend-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-westend" } people-westend-runtime = { path = "cumulus/parachains/runtimes/people/people-westend" } pin-project = { version = "1.1.3" } @@ -1128,6 +1119,7 @@ polkadot-core-primitives = { path = "polkadot/core-primitives", default-features polkadot-dispute-distribution = { path = "polkadot/node/network/dispute-distribution", default-features = false } polkadot-erasure-coding = { path = "polkadot/erasure-coding", default-features = false } polkadot-gossip-support = { path = "polkadot/node/network/gossip-support", default-features = false } +polkadot-jemalloc-shim = { path = "polkadot/jemalloc-shim" } polkadot-network-bridge = { path = "polkadot/node/network/bridge", default-features = false } polkadot-node-collation-generation = { path = "polkadot/node/collation-generation", default-features = false } polkadot-node-core-approval-voting = { path = "polkadot/node/core/approval-voting", default-features = false } @@ -1210,10 +1202,8 @@ revm = { version = "27.0.2", default-features = false } ripemd = { version = "0.1.3", default-features = false } rlp = { version = "0.6.1", default-features = false } rococo-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/relays/rococo" } -rococo-parachain-runtime = { path = "cumulus/parachains/runtimes/testing/rococo-parachain" } rococo-runtime = { path = "polkadot/runtime/rococo" } rococo-runtime-constants = { path = "polkadot/runtime/rococo/constants", default-features = false } -rococo-system-emulated-network = { path = "cumulus/parachains/integration-tests/emulated/networks/rococo-system" } rococo-westend-system-emulated-network = { path = "cumulus/parachains/integration-tests/emulated/networks/rococo-westend-system" } rpassword = { version = "7.0.0" } rstest = { version = "0.18.2" } @@ -1415,9 +1405,9 @@ substrate-test-runtime-client = { path = "substrate/test-utils/runtime/client" } substrate-test-runtime-transaction-pool = { path = "substrate/test-utils/runtime/transaction-pool" } substrate-test-utils = { path = "substrate/test-utils" } substrate-wasm-builder = { path = "substrate/utils/wasm-builder", default-features = false } -subxt = { version = "0.43", default-features = false } -subxt-metadata = { version = "0.43", default-features = false } -subxt-signer = { version = "0.43" } +subxt = { version = "0.44", default-features = false } +subxt-metadata = { version = "0.44", default-features = false } +subxt-signer = { version = "0.44" } syn = { version = "2.0.87" } sysinfo = { version = "0.30" } tar = { version = "0.4" } @@ -1454,7 +1444,7 @@ tracing = { version = "0.1.37", default-features = false } tracing-core = { version = "0.1.32", default-features = false } tracing-futures = { version = "0.2.4" } tracing-log = { version = "0.2.0" } -tracing-subscriber = { version = "0.3.18" } +tracing-subscriber = { version = "=0.3.19" } tracking-allocator = { path = "polkadot/node/tracking-allocator", default-features = false, package = "staging-tracking-allocator" } trie-bench = { version = "0.42.1" } trie-db = { version = "0.31.0", default-features = false } @@ -1493,9 +1483,9 @@ xcm-runtime-apis = { path = "polkadot/xcm/xcm-runtime-apis", default-features = xcm-simulator = { path = "polkadot/xcm/xcm-simulator", default-features = false } yet-another-parachain-runtime = { path = "cumulus/parachains/runtimes/testing/yet-another-parachain" } zeroize = { version = "1.7.0", default-features = false } -zombienet-configuration = { version = "0.3.13" } -zombienet-orchestrator = { version = "0.3.13" } -zombienet-sdk = { version = "0.3.13" } +zombienet-configuration = { version = "0.4.5" } +zombienet-orchestrator = { version = "0.4.5" } +zombienet-sdk = { version = "0.4.5" } zstd = { version = "0.12.4", default-features = false } [profile.release] diff --git a/bridges/bin/runtime-common/src/extensions.rs b/bridges/bin/runtime-common/src/extensions.rs index 7f9ea38900cd7..d583ec4ae27ce 100644 --- a/bridges/bin/runtime-common/src/extensions.rs +++ b/bridges/bin/runtime-common/src/extensions.rs @@ -105,7 +105,7 @@ where has_failed || !SubmitFinalityProofHelper::::was_successful(bundled_block_number); if !has_failed { - return + return; } // let's slash registered relayer @@ -176,7 +176,7 @@ where !SubmitParachainHeadsHelper::::was_successful(&update); if !has_failed { - return + return; } // let's slash registered relayer @@ -465,7 +465,7 @@ mod tests { type ToPostDispatch = u64; fn validate(_who: &u64, call: &MockCall) -> (u64, TransactionValidity) { if call.data <= 1 { - return (1, InvalidTransaction::Custom(1).into()) + return (1, InvalidTransaction::Custom(1).into()); } (1, Ok(ValidTransaction { priority: 1, ..Default::default() })) @@ -493,7 +493,7 @@ mod tests { type ToPostDispatch = u64; fn validate(_who: &u64, call: &MockCall) -> (u64, TransactionValidity) { if call.data <= 2 { - return (2, InvalidTransaction::Custom(2).into()) + return (2, InvalidTransaction::Custom(2).into()); } (2, Ok(ValidTransaction { priority: 2, ..Default::default() })) diff --git a/bridges/bin/runtime-common/src/messages_benchmarking.rs b/bridges/bin/runtime-common/src/messages_benchmarking.rs index 4486f6819e51a..d7066db575fa1 100644 --- a/bridges/bin/runtime-common/src/messages_benchmarking.rs +++ b/bridges/bin/runtime-common/src/messages_benchmarking.rs @@ -48,7 +48,7 @@ fn prepare_inbound_message( // if we don't need a correct message, then we may just return some random blob if !params.is_successful_dispatch_expected { - return vec![0u8; expected_size] + return vec![0u8; expected_size]; } // else let's prepare successful message. diff --git a/bridges/chains/chain-cumulus/src/lib.rs b/bridges/chains/chain-cumulus/src/lib.rs index f033c81a1bcd8..9a83594f34995 100644 --- a/bridges/chains/chain-cumulus/src/lib.rs +++ b/bridges/chains/chain-cumulus/src/lib.rs @@ -55,10 +55,12 @@ pub const MAX_BRIDGE_HUB_HEADER_SIZE: u32 = 4_096; parameter_types! { /// Size limit of the Cumulus-based bridge hub blocks. - pub BlockLength: limits::BlockLength = limits::BlockLength::max_with_normal_ratio( - 5 * 1024 * 1024, - NORMAL_DISPATCH_RATIO, - ); + pub BlockLength: limits::BlockLength = limits::BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); /// Importing a block with 0 Extrinsics. pub const BlockExecutionWeight: Weight = Weight::from_parts(constants::WEIGHT_REF_TIME_PER_NANOS, 0) diff --git a/bridges/chains/chain-polkadot-bulletin/src/lib.rs b/bridges/chains/chain-polkadot-bulletin/src/lib.rs index e2067fa573227..47de8ced95a20 100644 --- a/bridges/chains/chain-polkadot-bulletin/src/lib.rs +++ b/bridges/chains/chain-polkadot-bulletin/src/lib.rs @@ -166,10 +166,12 @@ parameter_types! { // Note: Max transaction size is 8 MB. Set max block size to 10 MB to facilitate data storage. // This is double the "normal" Relay Chain block length limit. /// Maximal block length at Polkadot Bulletin chain. - pub BlockLength: limits::BlockLength = limits::BlockLength::max_with_normal_ratio( - 10 * 1024 * 1024, - NORMAL_DISPATCH_RATIO, - ); + pub BlockLength: limits::BlockLength = limits::BlockLength::builder() + .max_length(10 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); } /// Polkadot Bulletin Chain declaration. diff --git a/bridges/modules/beefy/src/lib.rs b/bridges/modules/beefy/src/lib.rs index 02ecc9e03eddc..02635953625d2 100644 --- a/bridges/modules/beefy/src/lib.rs +++ b/bridges/modules/beefy/src/lib.rs @@ -58,8 +58,6 @@ pub type BridgedBlockHash = bp_runtime::HashOf>; /// Pallet initialization data. pub type InitializationDataOf = InitializationData, bp_beefy::MmrHashOf>>; -/// BEEFY commitment hasher, used by configured bridged chain. -pub type BridgedBeefyCommitmentHasher = bp_beefy::BeefyCommitmentHasher>; /// BEEFY validator id, used by configured bridged chain. pub type BridgedBeefyAuthorityId = bp_beefy::BeefyAuthorityIdOf>; /// BEEFY validator set, used by configured bridged chain. diff --git a/bridges/modules/beefy/src/mock.rs b/bridges/modules/beefy/src/mock.rs index 3b751ddf066c9..18966b3b58c4f 100644 --- a/bridges/modules/beefy/src/mock.rs +++ b/bridges/modules/beefy/src/mock.rs @@ -17,8 +17,8 @@ use crate as beefy; use crate::{ utils::get_authorities_mmr_root, BridgedBeefyAuthoritySet, BridgedBeefyAuthoritySetInfo, - BridgedBeefyCommitmentHasher, BridgedBeefyMmrLeafExtra, BridgedBeefySignedCommitment, - BridgedMmrHash, BridgedMmrHashing, BridgedMmrProof, + BridgedBeefyMmrLeafExtra, BridgedBeefySignedCommitment, BridgedMmrHash, BridgedMmrHashing, + BridgedMmrProof, }; use bp_beefy::{BeefyValidatorSignatureOf, ChainWithBeefy, Commitment, MmrDataOrHash}; @@ -33,7 +33,7 @@ use sp_runtime::{ }; pub use sp_consensus_beefy::ecdsa_crypto::{AuthorityId as BeefyId, Pair as BeefyPair}; -use sp_core::crypto::Wraps; +use sp_consensus_beefy::test_utils::BeefySignerAuthority; use sp_runtime::traits::Keccak256; pub type TestAccountId = u64; @@ -44,7 +44,6 @@ pub type TestBridgedAuthoritySetInfo = BridgedBeefyAuthoritySetInfo; pub type TestBridgedCommitment = BridgedBeefySignedCommitment; pub type TestBridgedValidatorSignature = BeefyValidatorSignatureOf; -pub type TestBridgedCommitmentHasher = BridgedBeefyCommitmentHasher; pub type TestBridgedMmrHashing = BridgedMmrHashing; pub type TestBridgedMmrHash = BridgedMmrHash; pub type TestBridgedBeefyMmrLeafExtra = BridgedBeefyMmrLeafExtra; @@ -105,7 +104,6 @@ impl Chain for TestBridgedChain { } impl ChainWithBeefy for TestBridgedChain { - type CommitmentHasher = Keccak256; type MmrHashing = Keccak256; type MmrHash = ::Output; type BeefyMmrLeafExtra = (); @@ -184,12 +182,11 @@ pub fn sign_commitment( let random_validators = rand::seq::index::sample(&mut rand::thread_rng(), total_validators, signature_count); - let commitment_hash = TestBridgedCommitmentHasher::hash(&commitment.encode()); let mut signatures = vec![None; total_validators]; for validator_idx in random_validators.iter() { let validator = &validator_pairs[validator_idx]; signatures[validator_idx] = - Some(validator.as_inner_ref().sign_prehashed(commitment_hash.as_fixed_bytes()).into()); + Some(BeefySignerAuthority::sign(validator, &commitment.encode())); } TestBridgedCommitment { commitment, signatures } diff --git a/bridges/modules/beefy/src/utils.rs b/bridges/modules/beefy/src/utils.rs index e7071403c95fd..acdddb47ca8a3 100644 --- a/bridges/modules/beefy/src/utils.rs +++ b/bridges/modules/beefy/src/utils.rs @@ -75,7 +75,7 @@ fn verify_signatures, I: 'static>( if authority.verify(sig, &msg) { missing_signatures = missing_signatures.saturating_sub(1); if missing_signatures == 0 { - break + break; } } else { tracing::debug!( diff --git a/bridges/modules/grandpa/src/call_ext.rs b/bridges/modules/grandpa/src/call_ext.rs index dc09b44d441be..7381d073c5890 100644 --- a/bridges/modules/grandpa/src/call_ext.rs +++ b/bridges/modules/grandpa/src/call_ext.rs @@ -154,7 +154,7 @@ impl, I: 'static> SubmitFinalityProofHelper { "Cannot finalize obsolete header" ); - return Err(Error::::OldHeader) + return Err(Error::::OldHeader); }, }; @@ -168,7 +168,7 @@ impl, I: 'static> SubmitFinalityProofHelper { "Cannot finalize header signed by unknown authority set" ); - return Err(Error::::InvalidAuthoritySetId) + return Err(Error::::InvalidAuthoritySetId); } } @@ -200,7 +200,7 @@ pub trait CallSubType, I: 'static>: justification, None, false, - )) + )); } else if let Some(crate::Call::::submit_finality_proof_ex { finality_target, justification, @@ -213,7 +213,7 @@ pub trait CallSubType, I: 'static>: justification, Some(*current_set_id), *is_free_execution_expected, - )) + )); } None @@ -243,13 +243,14 @@ pub trait CallSubType, I: 'static>: }; if Pallet::::ensure_not_halted().is_err() { - return Err(InvalidTransaction::Call.into()) + return Err(InvalidTransaction::Call.into()); } let result = SubmitFinalityProofHelper::::check_obsolete_from_extension(&call_info); match result { - Ok(improved_by) => - Ok(Some(VerifiedSubmitFinalityProofInfo { base: call_info, improved_by })), + Ok(improved_by) => { + Ok(Some(VerifiedSubmitFinalityProofInfo { base: call_info, improved_by })) + }, Err(Error::::OldHeader) => Err(InvalidTransaction::Stale.into()), Err(_) => Err(InvalidTransaction::Call.into()), } diff --git a/bridges/modules/messages/src/benchmarking.rs b/bridges/modules/messages/src/benchmarking.rs index 355fb08ab28ae..24ac511b968c1 100644 --- a/bridges/modules/messages/src/benchmarking.rs +++ b/bridges/modules/messages/src/benchmarking.rs @@ -191,7 +191,6 @@ impl, I: 'static> ReceiveMessagesProofSetup { mod benchmarks { use super::*; - // // Benchmarks that are used directly by the runtime calls weight formulae. // @@ -501,7 +500,6 @@ mod benchmarks { assert!(T::is_relayer_rewarded(&relayer2_id)); } - // // Benchmarks that the runtime developers may use for proper pallet configuration. // diff --git a/bridges/modules/messages/src/call_ext.rs b/bridges/modules/messages/src/call_ext.rs index aa88fd6a219c2..a07782477da8a 100644 --- a/bridges/modules/messages/src/call_ext.rs +++ b/bridges/modules/messages/src/call_ext.rs @@ -54,7 +54,7 @@ impl, I: 'static> CallHelper { // so if relayer slots are released, then message slots are also // released return post_occupation.free_message_slots > - info.unrewarded_relayers.free_message_slots + info.unrewarded_relayers.free_message_slots; } inbound_lane_data.last_delivered_nonce() == *info.base.bundled_range.end() @@ -131,7 +131,7 @@ impl< best_stored_nonce: inbound_lane_data.last_delivered_nonce(), }, unrewarded_relayers: unrewarded_relayers_occupation::(&inbound_lane_data), - }) + }); } None @@ -157,7 +157,7 @@ impl< bundled_range: outbound_lane_data.latest_received_nonce + 1..= relayers_state.last_delivered_nonce, best_stored_nonce: outbound_lane_data.latest_received_nonce, - })) + })); } None @@ -165,11 +165,11 @@ impl< fn call_info(&self) -> Option> { if let Some(info) = self.receive_messages_proof_info() { - return Some(MessagesCallInfo::ReceiveMessagesProof(info)) + return Some(MessagesCallInfo::ReceiveMessagesProof(info)); } if let Some(info) = self.receive_messages_delivery_proof_info() { - return Some(MessagesCallInfo::ReceiveMessagesDeliveryProof(info)) + return Some(MessagesCallInfo::ReceiveMessagesDeliveryProof(info)); } None @@ -195,7 +195,7 @@ impl< "Rejecting messages transaction on halted pallet" ); - return sp_runtime::transaction_validity::InvalidTransaction::Call.into() + return sp_runtime::transaction_validity::InvalidTransaction::Call.into(); }, Some(MessagesCallInfo::ReceiveMessagesProof(proof_info)) if proof_info @@ -207,7 +207,7 @@ impl< "Rejecting obsolete messages delivery transaction" ); - return sp_runtime::transaction_validity::InvalidTransaction::Stale.into() + return sp_runtime::transaction_validity::InvalidTransaction::Stale.into(); }, Some(MessagesCallInfo::ReceiveMessagesDeliveryProof(proof_info)) if proof_info.is_obsolete() => @@ -218,7 +218,7 @@ impl< "Rejecting obsolete messages confirmation transaction" ); - return sp_runtime::transaction_validity::InvalidTransaction::Stale.into() + return sp_runtime::transaction_validity::InvalidTransaction::Stale.into(); }, _ => {}, } diff --git a/bridges/modules/messages/src/inbound_lane.rs b/bridges/modules/messages/src/inbound_lane.rs index 262220e044483..fd1a7caba10ac 100644 --- a/bridges/modules/messages/src/inbound_lane.rs +++ b/bridges/modules/messages/src/inbound_lane.rs @@ -151,10 +151,10 @@ impl InboundLane { if outbound_lane_data.latest_received_nonce > last_delivered_nonce { // this is something that should never happen if proofs are correct - return None + return None; } if outbound_lane_data.latest_received_nonce <= data.last_confirmed_nonce { - return None + return None; } let new_confirmed_nonce = outbound_lane_data.latest_received_nonce; @@ -191,18 +191,18 @@ impl InboundLane { ) -> ReceptionResult { let mut data = self.storage.data(); if Some(nonce) != data.last_delivered_nonce().checked_add(1) { - return ReceptionResult::InvalidNonce + return ReceptionResult::InvalidNonce; } // if there are more unrewarded relayer entries than we may accept, reject this message if data.relayers.len() as MessageNonce >= self.storage.max_unrewarded_relayer_entries() { - return ReceptionResult::TooManyUnrewardedRelayers + return ReceptionResult::TooManyUnrewardedRelayers; } // if there are more unconfirmed messages than we may accept, reject this message let unconfirmed_messages_count = nonce.saturating_sub(data.last_confirmed_nonce); if unconfirmed_messages_count > self.storage.max_unconfirmed_messages() { - return ReceptionResult::TooManyUnconfirmedMessages + return ReceptionResult::TooManyUnconfirmedMessages; } // then, dispatch message diff --git a/bridges/modules/messages/src/outbound_lane.rs b/bridges/modules/messages/src/outbound_lane.rs index d87a89ed4dcf6..7cacd412f7863 100644 --- a/bridges/modules/messages/src/outbound_lane.rs +++ b/bridges/modules/messages/src/outbound_lane.rs @@ -142,10 +142,10 @@ impl OutboundLane { end: latest_delivered_nonce, }; if confirmed_messages.total_messages() == 0 { - return Ok(None) + return Ok(None); } if confirmed_messages.end > data.latest_generated_nonce { - return Err(ReceptionConfirmationError::FailedToConfirmFutureMessages) + return Err(ReceptionConfirmationError::FailedToConfirmFutureMessages); } if confirmed_messages.total_messages() > max_allowed_messages { // that the relayer has declared correct number of messages that the proof contains (it @@ -159,7 +159,7 @@ impl OutboundLane { max_allowed=%max_allowed_messages, "Messages delivery proof contains too many messages to confirm" ); - return Err(ReceptionConfirmationError::TryingToConfirmMoreMessagesThanExpected) + return Err(ReceptionConfirmationError::TryingToConfirmMoreMessagesThanExpected); } ensure_unrewarded_relayers_are_correct(confirmed_messages.end, relayers)?; @@ -203,18 +203,18 @@ fn ensure_unrewarded_relayers_are_correct( // unrewarded relayer entry must have at least 1 unconfirmed message // (guaranteed by the `InboundLane::receive_message()`) if entry.messages.end < entry.messages.begin { - return Err(ReceptionConfirmationError::EmptyUnrewardedRelayerEntry) + return Err(ReceptionConfirmationError::EmptyUnrewardedRelayerEntry); } // every entry must confirm range of messages that follows previous entry range // (guaranteed by the `InboundLane::receive_message()`) if expected_entry_begin != Some(entry.messages.begin) { - return Err(ReceptionConfirmationError::NonConsecutiveUnrewardedRelayerEntries) + return Err(ReceptionConfirmationError::NonConsecutiveUnrewardedRelayerEntries); } expected_entry_begin = entry.messages.end.checked_add(1); // entry can't confirm messages larger than `inbound_lane_data.latest_received_nonce()` // (guaranteed by the `InboundLane::receive_message()`) if entry.messages.end > latest_received_nonce { - return Err(ReceptionConfirmationError::FailedToConfirmFutureMessages) + return Err(ReceptionConfirmationError::FailedToConfirmFutureMessages); } } diff --git a/bridges/modules/messages/src/proofs.rs b/bridges/modules/messages/src/proofs.rs index dcd642341d776..e8799614d597f 100644 --- a/bridges/modules/messages/src/proofs.rs +++ b/bridges/modules/messages/src/proofs.rs @@ -65,7 +65,7 @@ pub fn verify_messages_proof, I: 'static>( // receiving proofs where end < begin is ok (if proof includes outbound lane state) let messages_in_the_proof = nonces_range.saturating_len(); if messages_in_the_proof != MessageNonce::from(messages_count) { - return Err(VerificationError::MessagesCountMismatch) + return Err(VerificationError::MessagesCountMismatch); } // Read messages first. All messages that are claimed to be in the proof must @@ -92,7 +92,7 @@ pub fn verify_messages_proof, I: 'static>( // Now we may actually check if the proof is empty or not. if proved_lane_messages.lane_state.is_none() && proved_lane_messages.messages.is_empty() { - return Err(VerificationError::EmptyMessageProof) + return Err(VerificationError::EmptyMessageProof); } // Check that the storage proof doesn't have any untouched keys. diff --git a/bridges/modules/messages/src/tests/messages_generation.rs b/bridges/modules/messages/src/tests/messages_generation.rs index 00b1d3eefe43b..b2727e65ba325 100644 --- a/bridges/modules/messages/src/tests/messages_generation.rs +++ b/bridges/modules/messages/src/tests/messages_generation.rs @@ -78,12 +78,13 @@ where for (i, nonce) in message_nonces.into_iter().enumerate() { let message_key = MessageKey { lane_id: lane, nonce }; let message_payload = match encode_message(nonce, &generate_message(nonce)) { - Some(message_payload) => + Some(message_payload) => { if i == 0 { grow_storage_value(message_payload, &proof_params) } else { message_payload - }, + } + }, None => continue, }; let storage_key = storage_keys::message_key( diff --git a/bridges/modules/parachains/src/call_ext.rs b/bridges/modules/parachains/src/call_ext.rs index 91da553aee537..7b71269701045 100644 --- a/bridges/modules/parachains/src/call_ext.rs +++ b/bridges/modules/parachains/src/call_ext.rs @@ -116,7 +116,7 @@ impl, I: 'static> SubmitParachainHeadsHelper { stored_best_head.best_head_hash.at_relay_block_number, update.at_relay_block.0 ); - return Err(InvalidTransaction::Stale.into()) + return Err(InvalidTransaction::Stale.into()); }, }; @@ -130,7 +130,7 @@ impl, I: 'static> SubmitParachainHeadsHelper { stored_best_head.best_head_hash.at_relay_block_number, update.at_relay_block.0 ); - return Err(InvalidTransaction::Stale.into()) + return Err(InvalidTransaction::Stale.into()); } improved_by @@ -149,7 +149,7 @@ impl, I: 'static> SubmitParachainHeadsHelper { parachain proof is missing from the storage." ); - return Err(InvalidTransaction::Call.into()) + return Err(InvalidTransaction::Call.into()); } Ok(improved_by) @@ -158,12 +158,13 @@ impl, I: 'static> SubmitParachainHeadsHelper { /// Check if the `SubmitParachainHeads` was successfully executed. pub fn was_successful(update: &SubmitParachainHeadsInfo) -> bool { match crate::ParasInfo::::get(update.para_id) { - Some(stored_best_head) => + Some(stored_best_head) => { stored_best_head.best_head_hash == BestParaHeadHash { at_relay_block_number: update.at_relay_block.0, head_hash: update.para_head_hash, - }, + } + }, None => false, } } @@ -237,7 +238,7 @@ pub trait CallSubType, I: 'static>: }; if Pallet::::ensure_not_halted().is_err() { - return Err(InvalidTransaction::Call.into()) + return Err(InvalidTransaction::Call.into()); } SubmitParachainHeadsHelper::::check_obsolete_from_extension(&update) diff --git a/bridges/modules/parachains/src/lib.rs b/bridges/modules/parachains/src/lib.rs index f93ee5eda7f5c..e3065bbeb14ec 100644 --- a/bridges/modules/parachains/src/lib.rs +++ b/bridges/modules/parachains/src/lib.rs @@ -472,7 +472,7 @@ pub mod pallet { }, ); Self::deposit_event(Event::MissingParachainHead { parachain }); - continue + continue; }, Err(e) => { tracing::trace!( @@ -482,7 +482,7 @@ pub mod pallet { "The read of head of parachain has failed" ); Self::deposit_event(Event::MissingParachainHead { parachain }); - continue + continue; }, }; @@ -502,7 +502,7 @@ pub mod pallet { parachain_head_hash, actual_parachain_head_hash, }); - continue + continue; } // convert from parachain head into stored parachain head data @@ -517,7 +517,7 @@ pub mod pallet { "The head of parachain has been provided, but it is not tracked by the pallet" ); Self::deposit_event(Event::UntrackedParachainRejected { parachain }); - continue + continue; }, }; @@ -530,7 +530,9 @@ pub mod pallet { if at_relay_block.0.saturating_sub( best_head.best_head_hash.at_relay_block_number, ) >= free_headers_interval => - true, + { + true + }, Some(_) => false, None => true, }; @@ -657,7 +659,7 @@ pub mod pallet { parachain, parachain_head_hash: new_head_hash, }); - return Err(()) + return Err(()); } // verify that the parachain head data size is <= `MaxParaHeadDataSize` @@ -679,7 +681,7 @@ pub mod pallet { parachain_head_size: e.value_size as _, }); - return Err(()) + return Err(()); }, }; diff --git a/bridges/modules/relayers/src/extension/grandpa_adapter.rs b/bridges/modules/relayers/src/extension/grandpa_adapter.rs index a8466fe22aca8..daa7b6ce31c06 100644 --- a/bridges/modules/relayers/src/extension/grandpa_adapter.rs +++ b/bridges/modules/relayers/src/extension/grandpa_adapter.rs @@ -109,8 +109,9 @@ where calls.next().transpose()?.and_then(|c| c.submit_finality_proof_info()); Ok(match (total_calls, relay_finality_call, msgs_call) { - (2, Some(relay_finality_call), Some(msgs_call)) => - Some(ExtensionCallInfo::RelayFinalityAndMsgs(relay_finality_call, msgs_call)), + (2, Some(relay_finality_call), Some(msgs_call)) => { + Some(ExtensionCallInfo::RelayFinalityAndMsgs(relay_finality_call, msgs_call)) + }, (1, None, Some(msgs_call)) => Some(ExtensionCallInfo::Msgs(msgs_call)), _ => None, }) @@ -163,7 +164,7 @@ where ?relayer, "Relayer has submitted invalid GRANDPA chain finality proof" ); - return false + return false; } // there's a conflict between how bridge GRANDPA pallet works and a `utility.batchAll` diff --git a/bridges/modules/relayers/src/extension/mod.rs b/bridges/modules/relayers/src/extension/mod.rs index c22d678b489b3..a230f86169cf8 100644 --- a/bridges/modules/relayers/src/extension/mod.rs +++ b/bridges/modules/relayers/src/extension/mod.rs @@ -168,7 +168,7 @@ where let max_unconfirmed_messages_in_confirmation_tx = >::BridgedChain ::MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX; if bundled_messages > max_unconfirmed_messages_in_confirmation_tx { - return None + return None; } Some(bundled_messages) @@ -229,13 +229,13 @@ where ?relayer, "Relayer has submitted invalid messages transaction", ); - return slash_relayer_if_delivery_result + return slash_relayer_if_delivery_result; } // check whether the call has succeeded let mut call_data = ExtensionCallData::default(); if !C::check_call_result(&call_info, &mut call_data, &relayer) { - return slash_relayer_if_delivery_result + return slash_relayer_if_delivery_result; } // regarding the tip - refund that happens here (at this side of the bridge) isn't the whole @@ -338,7 +338,7 @@ where if !RelayersPallet::::is_registration_active( &data.relayer, ) { - return Ok((Default::default(), Some(data), origin)) + return Ok((Default::default(), Some(data), origin)); } // compute priority boost @@ -407,11 +407,12 @@ where "Has registered reward" ); }, - RelayerAccountAction::Slash(relayer, slash_account) => + RelayerAccountAction::Slash(relayer, slash_account) => { RelayersPallet::::slash_and_deregister( &relayer, ExplicitOrAccountParams::Params(slash_account), - ), + ) + }, } Ok(Weight::zero()) @@ -443,7 +444,7 @@ where ?relayer, "Relayer has submitted invalid messages call" ); - return false + return false; } true diff --git a/bridges/modules/relayers/src/extension/parachain_adapter.rs b/bridges/modules/relayers/src/extension/parachain_adapter.rs index 7776cc8dbaed4..d8689d700aaae 100644 --- a/bridges/modules/relayers/src/extension/parachain_adapter.rs +++ b/bridges/modules/relayers/src/extension/parachain_adapter.rs @@ -122,14 +122,16 @@ where let relay_finality_call = calls.next().transpose()?.and_then(|c| c.submit_finality_proof_info()); Ok(match (total_calls, relay_finality_call, para_finality_call, msgs_call) { - (3, Some(relay_finality_call), Some(para_finality_call), Some(msgs_call)) => + (3, Some(relay_finality_call), Some(para_finality_call), Some(msgs_call)) => { Some(ExtensionCallInfo::AllFinalityAndMsgs( relay_finality_call, para_finality_call, msgs_call, - )), - (2, None, Some(para_finality_call), Some(msgs_call)) => - Some(ExtensionCallInfo::ParachainFinalityAndMsgs(para_finality_call, msgs_call)), + )) + }, + (2, None, Some(para_finality_call), Some(msgs_call)) => { + Some(ExtensionCallInfo::ParachainFinalityAndMsgs(para_finality_call, msgs_call)) + }, (1, None, None, Some(msgs_call)) => Some(ExtensionCallInfo::Msgs(msgs_call)), _ => None, }) @@ -181,7 +183,7 @@ where ?relayer, "Relayer has submitted invalid parachain finality proof" ); - return false + return false; } true diff --git a/bridges/modules/relayers/src/migration.rs b/bridges/modules/relayers/src/migration.rs index 1c2d2355ec707..7635aa6a56692 100644 --- a/bridges/modules/relayers/src/migration.rs +++ b/bridges/modules/relayers/src/migration.rs @@ -180,7 +180,7 @@ pub mod v1 { use sp_runtime::Saturating; if reward_balance.is_zero() { - return + return; } v1::RelayerRewards::::mutate( diff --git a/bridges/modules/xcm-bridge-hub-router/src/lib.rs b/bridges/modules/xcm-bridge-hub-router/src/lib.rs index 4a42ab8b4e267..300786a66c162 100644 --- a/bridges/modules/xcm-bridge-hub-router/src/lib.rs +++ b/bridges/modules/xcm-bridge-hub-router/src/lib.rs @@ -279,7 +279,9 @@ impl, I: 'static> ExporterFor for Pallet { match T::Bridges::exporter_for(network, remote_location, message) { Some((bridge_hub_location, maybe_payment)) if bridge_hub_location.eq(&T::SiblingBridgeHubLocation::get()) => - (bridge_hub_location, maybe_payment), + { + (bridge_hub_location, maybe_payment) + }, _ => { tracing::trace!( target: LOG_TARGET, diff --git a/bridges/modules/xcm-bridge-hub-router/src/mock.rs b/bridges/modules/xcm-bridge-hub-router/src/mock.rs index ac642e108c2ae..180a356d2baf4 100644 --- a/bridges/modules/xcm-bridge-hub-router/src/mock.rs +++ b/bridges/modules/xcm-bridge-hub-router/src/mock.rs @@ -94,7 +94,7 @@ impl> GetVersion { fn get_version_for(dest: &Location) -> Option { if LocationValue::contains(dest) { - return None + return None; } Some(XCM_VERSION) } diff --git a/bridges/modules/xcm-bridge-hub-router/src/weights.rs b/bridges/modules/xcm-bridge-hub-router/src/weights.rs index 8f5012c9de26b..d5c7369866da6 100644 --- a/bridges/modules/xcm-bridge-hub-router/src/weights.rs +++ b/bridges/modules/xcm-bridge-hub-router/src/weights.rs @@ -60,7 +60,6 @@ pub trait WeightInfo { /// Those weights are test only and must never be used in production. pub struct BridgeWeight(PhantomData); impl WeightInfo for BridgeWeight { - /// /// Storage: `XcmBridgeHubRouter::DeliveryFeeFactor` (r:1 w:1) /// /// Proof: `XcmBridgeHubRouter::DeliveryFeeFactor` (`max_values`: Some(1), `max_size`: Some(16), diff --git a/bridges/modules/xcm-bridge-hub/src/dispatcher.rs b/bridges/modules/xcm-bridge-hub/src/dispatcher.rs index 379fd010db508..f7db7893db8bd 100644 --- a/bridges/modules/xcm-bridge-hub/src/dispatcher.rs +++ b/bridges/modules/xcm-bridge-hub/src/dispatcher.rs @@ -101,7 +101,7 @@ where return MessageDispatchResult { unspent_weight: Weight::zero(), dispatch_level_result: XcmBlobMessageDispatchResult::InvalidPayload, - } + }; }, }; let dispatch_level_result = match T::BlobDispatcher::dispatch_blob(payload) { diff --git a/bridges/modules/xcm-bridge-hub/src/exporter.rs b/bridges/modules/xcm-bridge-hub/src/exporter.rs index 26777619a3cd5..9bee97959b30a 100644 --- a/bridges/modules/xcm-bridge-hub/src/exporter.rs +++ b/bridges/modules/xcm-bridge-hub/src/exporter.rs @@ -159,12 +159,15 @@ where let bridge_message = MessagesPallet::::validate_message(bridge.lane_id, &blob) .map_err(|e| { match e { - Error::LanesManager(ref ei) => - tracing::error!(target: LOG_TARGET, error=?ei, "LanesManager"), - Error::MessageRejectedByPallet(ref ei) => - tracing::error!(target: LOG_TARGET, error=?ei, "MessageRejectedByPallet"), - Error::ReceptionConfirmation(ref ei) => - tracing::error!(target: LOG_TARGET, error=?ei, "ReceptionConfirmation"), + Error::LanesManager(ref ei) => { + tracing::error!(target: LOG_TARGET, error=?ei, "LanesManager") + }, + Error::MessageRejectedByPallet(ref ei) => { + tracing::error!(target: LOG_TARGET, error=?ei, "MessageRejectedByPallet") + }, + Error::ReceptionConfirmation(ref ei) => { + tracing::error!(target: LOG_TARGET, error=?ei, "ReceptionConfirmation") + }, _ => (), }; @@ -219,7 +222,7 @@ impl, I: 'static> Pallet { // if the bridge queue is not congested, we don't want to do anything let is_congested = enqueued_messages > OUTBOUND_LANE_CONGESTED_THRESHOLD; if !is_congested { - return + return; } // TODO: https://github.com/paritytech/parity-bridges-common/issues/2006 we either need fishermens @@ -229,7 +232,7 @@ impl, I: 'static> Pallet { // check if the lane is already suspended. If it is, do nothing. We still accept new // messages to the suspended bridge, hoping that it'll be actually resumed soon if bridge.state == BridgeState::Suspended { - return + return; } // else - suspend the bridge @@ -245,7 +248,7 @@ impl, I: 'static> Pallet { "Failed to convert" ); - return + return; }, }; let suspend_result = @@ -268,7 +271,7 @@ impl, I: 'static> Pallet { "Failed to suspended" ); - return + return; }, } @@ -283,7 +286,7 @@ impl, I: 'static> Pallet { // if the bridge queue is still congested, we don't want to do anything let is_congested = enqueued_messages > OUTBOUND_LANE_UNCONGESTED_THRESHOLD; if is_congested { - return + return; } // if we have not suspended the bridge before (or it is closed), we don't want to do @@ -294,7 +297,7 @@ impl, I: 'static> Pallet { // if there is no bridge or it has been closed, then we don't need to send resume // signal to the local origin - it has closed bridge itself, so it should have // alrady pruned everything else - return + return; }, }; @@ -311,7 +314,7 @@ impl, I: 'static> Pallet { "Failed to convert", ); - return + return; }, }; @@ -337,7 +340,7 @@ impl, I: 'static> Pallet { "Failed to resume" ); - return + return; }, } diff --git a/bridges/modules/xcm-bridge-hub/src/lib.rs b/bridges/modules/xcm-bridge-hub/src/lib.rs index d6a21fd7ae28d..2db7ec3bcb7a1 100644 --- a/bridges/modules/xcm-bridge-hub/src/lib.rs +++ b/bridges/modules/xcm-bridge-hub/src/lib.rs @@ -369,7 +369,7 @@ pub mod pallet { let mut pruned_messages = 0; for _ in outbound_lane.queued_messages() { if pruned_messages == may_prune_messages { - break + break; } outbound_lane.remove_oldest_unpruned_message(); @@ -402,7 +402,7 @@ pub mod pallet { enqueued_messages, }); - return Ok(()) + return Ok(()); } // else we have pruned all messages, so lanes and the bridge itself may gone @@ -758,8 +758,9 @@ pub mod pallet { let lane_id = match maybe_lane_id { Some(lane_id) => *lane_id, - None => - locations.calculate_lane_id(xcm::latest::VERSION).expect("Valid locations"), + None => { + locations.calculate_lane_id(xcm::latest::VERSION).expect("Valid locations") + }, }; Pallet::::do_open_bridge(locations, lane_id, true) diff --git a/bridges/modules/xcm-bridge-hub/src/migration.rs b/bridges/modules/xcm-bridge-hub/src/migration.rs index 8c872e7f3fa43..c9f13fea9dd02 100644 --- a/bridges/modules/xcm-bridge-hub/src/migration.rs +++ b/bridges/modules/xcm-bridge-hub/src/migration.rs @@ -83,7 +83,7 @@ impl< error=?e, "OpenBridgeForLane - on_runtime_upgrade failed to construct bridge_locations" ); - return T::DbWeight::get().reads(0) + return T::DbWeight::get().reads(0); }, }; @@ -108,7 +108,7 @@ impl< ); } - return T::DbWeight::get().reads(2) + return T::DbWeight::get().reads(2); } if let Err(e) = Pallet::::do_open_bridge(locations, lane_id, create_lane) { @@ -131,10 +131,10 @@ impl< bridge_origin_relative_location.clone(), bridge_destination_universal_location.clone(), ) else { - return Err(sp_runtime::DispatchError::Other("Invalid locations!")) + return Err(sp_runtime::DispatchError::Other("Invalid locations!")); }; let Some((bridge_id, _)) = Pallet::::bridge_by_lane_id(&lane_id) else { - return Err(sp_runtime::DispatchError::Other("Missing bridge!")) + return Err(sp_runtime::DispatchError::Other("Missing bridge!")); }; frame_support::ensure!( locations.bridge_id() == &bridge_id, diff --git a/bridges/modules/xcm-bridge-hub/src/mock.rs b/bridges/modules/xcm-bridge-hub/src/mock.rs index f0e3613914f64..eb00b8c9c306e 100644 --- a/bridges/modules/xcm-bridge-hub/src/mock.rs +++ b/bridges/modules/xcm-bridge-hub/src/mock.rs @@ -250,7 +250,6 @@ impl xcm_executor::Config for XcmConfig { type Trader = (); type ResponseHandler = (); type AssetTrap = (); - type AssetClaims = (); type SubscriptionService = (); type PalletInstancesInfo = (); type MaxAssetsIntoHolding = (); @@ -412,29 +411,29 @@ impl EnsureOrigin for OpenBridgeOrigin { fn try_origin(o: RuntimeOrigin) -> Result { let signer = o.clone().into_signer(); if signer == Self::parent_relay_chain_origin().into_signer() { - return Ok(ParentRelayChainLocation::get()) + return Ok(ParentRelayChainLocation::get()); } else if signer == Self::parent_relay_chain_universal_origin().into_signer() { return Ok(Location { parents: 2, interior: GlobalConsensus(RelayNetwork::get()).into(), - }) + }); } else if signer == Self::sibling_parachain_universal_origin().into_signer() { return Ok(Location { parents: 2, interior: [GlobalConsensus(RelayNetwork::get()), Parachain(SIBLING_ASSET_HUB_ID)] .into(), - }) + }); } else if signer == Self::origin_without_sovereign_account().into_signer() { return Ok(Location { parents: 1, interior: [Parachain(SIBLING_ASSET_HUB_ID), OnlyChild].into(), - }) + }); } let mut sibling_account = [0u8; 32]; sibling_account[..4].copy_from_slice(&SIBLING_ASSET_HUB_ID.encode()[..4]); if signer == Some(sibling_account.into()) { - return Ok(Location { parents: 1, interior: Parachain(SIBLING_ASSET_HUB_ID).into() }) + return Ok(Location { parents: 1, interior: Parachain(SIBLING_ASSET_HUB_ID).into() }); } Err(o) diff --git a/bridges/primitives/beefy/src/lib.rs b/bridges/primitives/beefy/src/lib.rs index 84012bf8e08a8..289692a561b09 100644 --- a/bridges/primitives/beefy/src/lib.rs +++ b/bridges/primitives/beefy/src/lib.rs @@ -52,11 +52,6 @@ use sp_std::prelude::*; /// primitives. Some of types can be configured in low-level pallets, but are constrained /// when BEEFY+MMR bundle is used. pub trait ChainWithBeefy: Chain { - /// The hashing algorithm used to compute the digest of the BEEFY commitment. - /// - /// Corresponds to the hashing algorithm, used by `sc_consensus_beefy::BeefyKeystore`. - type CommitmentHasher: sp_runtime::traits::Hash; - /// The hashing algorithm used to build the MMR. /// /// The same algorithm is also used to compute merkle roots in BEEFY @@ -84,7 +79,7 @@ pub trait ChainWithBeefy: Chain { /// A way to identify a BEEFY validator. /// /// Corresponds to the `BeefyId` field of the `pallet-beefy` configuration. - type AuthorityId: BeefyAuthorityId + Parameter; + type AuthorityId: BeefyAuthorityId + Parameter; /// A way to convert validator id to its raw representation in the BEEFY merkle tree. /// @@ -105,8 +100,6 @@ pub type BeefyValidatorSignatureOf = /// Signed BEEFY commitment used by given Substrate chain. pub type BeefySignedCommitmentOf = SignedCommitment, BeefyValidatorSignatureOf>; -/// Hash algorithm, used to compute the digest of the BEEFY commitment before signing it. -pub type BeefyCommitmentHasher = ::CommitmentHasher; /// Hash algorithm used in Beefy MMR construction by given Substrate chain. pub type MmrHashingOf = ::MmrHashing; /// Hash type, used in MMR construction by given Substrate chain. diff --git a/bridges/primitives/header-chain/src/justification/verification/mod.rs b/bridges/primitives/header-chain/src/justification/verification/mod.rs index f839f0b3021c5..49843ea7892d7 100644 --- a/bridges/primitives/header-chain/src/justification/verification/mod.rs +++ b/bridges/primitives/header-chain/src/justification/verification/mod.rs @@ -95,14 +95,14 @@ impl AncestryChain
{ precommit_target_number: &Header::Number, ) -> Option> { if precommit_target_number < &self.base.number() { - return None + return None; } let mut route = vec![]; let mut current_hash = *precommit_target_hash; loop { if current_hash == self.base.hash() { - break + break; } current_hash = match self.parent_hash_of(¤t_hash) { @@ -111,7 +111,7 @@ impl AncestryChain
{ if is_visited_before { // If the current header has been visited in a previous call, it is a // descendent of `base` (we assume that the previous call was successful). - return Some(route) + return Some(route); } route.push(current_hash); @@ -245,7 +245,7 @@ trait JustificationVerifier { if (justification.commit.target_hash, justification.commit.target_number) != finalized_target { - return Err(Error::InvalidJustificationTarget) + return Err(Error::InvalidJustificationTarget); } let threshold = context.voter_set.threshold().get(); @@ -262,7 +262,7 @@ trait JustificationVerifier { let action = self.process_redundant_vote(precommit_idx).map_err(Error::Precommit)?; if matches!(action, IterationFlow::Skip) { - continue + continue; } } @@ -275,14 +275,14 @@ trait JustificationVerifier { .process_known_authority_vote(precommit_idx, signed) .map_err(Error::Precommit)?; if matches!(action, IterationFlow::Skip) { - continue + continue; } authority_info }, None => { self.process_unknown_authority_vote(precommit_idx).map_err(Error::Precommit)?; - continue + continue; }, }; @@ -294,7 +294,7 @@ trait JustificationVerifier { .process_unrelated_ancestry_vote(precommit_idx) .map_err(Error::Precommit)?; if matches!(action, IterationFlow::Skip) { - continue + continue; } } @@ -310,7 +310,7 @@ trait JustificationVerifier { .is_valid() { self.process_invalid_signature_vote(precommit_idx).map_err(Error::Precommit)?; - continue + continue; } // now we can count the vote since we know that it is valid @@ -324,7 +324,7 @@ trait JustificationVerifier { // check that the cumulative weight of validators that voted for the justification target // (or one of its descendants) is larger than the required threshold. if cumulative_weight < threshold { - return Err(Error::TooLowCumulativeWeight) + return Err(Error::TooLowCumulativeWeight); } // check that there are no extra headers in the justification diff --git a/bridges/primitives/header-chain/src/justification/verification/optimizer.rs b/bridges/primitives/header-chain/src/justification/verification/optimizer.rs index 5098b594db68f..0ef7ce8af5fce 100644 --- a/bridges/primitives/header-chain/src/justification/verification/optimizer.rs +++ b/bridges/primitives/header-chain/src/justification/verification/optimizer.rs @@ -80,7 +80,7 @@ impl JustificationVerifier
for JustificationOptimizer JustificationVerifier
for StrictJustificationVerif // inside `finality-grandpa` crate (mostly related to reporting equivocations). // But the only thing that we care about is that only first vote from the // authority is accepted - return Err(PrecommitError::DuplicateAuthorityVote) + return Err(PrecommitError::DuplicateAuthorityVote); } Ok(IterationFlow::Run) diff --git a/bridges/primitives/header-chain/tests/implementation_match.rs b/bridges/primitives/header-chain/tests/implementation_match.rs index 1f61f91ff4bbf..512715923abf9 100644 --- a/bridges/primitives/header-chain/tests/implementation_match.rs +++ b/bridges/primitives/header-chain/tests/implementation_match.rs @@ -56,7 +56,7 @@ impl finality_grandpa::Chain for AncestryChain { let mut current_hash = block; loop { if current_hash == base { - break + break; } match self.0.parent_hash_of(¤t_hash) { Some(parent_hash) => { diff --git a/bridges/primitives/messages/src/call_info.rs b/bridges/primitives/messages/src/call_info.rs index 215171a860cd6..30eb1b54d8eca 100644 --- a/bridges/primitives/messages/src/call_info.rs +++ b/bridges/primitives/messages/src/call_info.rs @@ -103,7 +103,7 @@ impl ReceiveMessagesProofInfo { pub fn is_obsolete(&self, is_dispatcher_active: bool) -> bool { // if dispatcher is inactive, we don't accept any delivery transactions if !is_dispatcher_active { - return true + return true; } // transactions with zero bundled nonces are not allowed, unless they're message @@ -116,7 +116,7 @@ impl ReceiveMessagesProofInfo { // or if we can't accept new messages at all self.unrewarded_relayers.free_message_slots == 0; - return !empty_transactions_allowed + return !empty_transactions_allowed; } // otherwise we require bundled messages to continue stored range diff --git a/bridges/primitives/messages/src/lib.rs b/bridges/primitives/messages/src/lib.rs index b54f9618fa7d2..53c81ae63c504 100644 --- a/bridges/primitives/messages/src/lib.rs +++ b/bridges/primitives/messages/src/lib.rs @@ -291,8 +291,9 @@ impl InboundLaneData { pub fn total_unrewarded_messages(&self) -> MessageNonce { let relayers = &self.relayers; match (relayers.front(), relayers.back()) { - (Some(front), Some(back)) => - (front.messages.begin..=back.messages.end).saturating_len(), + (Some(front), Some(back)) => { + (front.messages.begin..=back.messages.end).saturating_len() + }, _ => 0, } } diff --git a/bridges/primitives/parachains/src/lib.rs b/bridges/primitives/parachains/src/lib.rs index c8a50d8dbcd1d..3206cbc216927 100644 --- a/bridges/primitives/parachains/src/lib.rs +++ b/bridges/primitives/parachains/src/lib.rs @@ -152,7 +152,7 @@ impl ParaStoredHeaderDataBuilder for SingleParaStoredHeaderDataBui return Some(ParaStoredHeaderData( StoredHeaderData { number: *header.number(), state_root: *header.state_root() } .encode(), - )) + )); } None } diff --git a/bridges/primitives/polkadot-core/src/lib.rs b/bridges/primitives/polkadot-core/src/lib.rs index a8abdb59bea33..186f0b56a475c 100644 --- a/bridges/primitives/polkadot-core/src/lib.rs +++ b/bridges/primitives/polkadot-core/src/lib.rs @@ -132,10 +132,12 @@ parameter_types! { /// All Polkadot-like chains have maximal block size set to 5MB. /// /// This is a copy-paste from the Polkadot repo's `polkadot-runtime-common` crate. - pub BlockLength: limits::BlockLength = limits::BlockLength::max_with_normal_ratio( - 5 * 1024 * 1024, - NORMAL_DISPATCH_RATIO, - ); + pub BlockLength: limits::BlockLength = limits::BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); /// All Polkadot-like chains have the same block weights. /// /// This is a copy-paste from the Polkadot repo's `polkadot-runtime-common` crate. diff --git a/bridges/primitives/relayers/src/extension.rs b/bridges/primitives/relayers/src/extension.rs index c51374c271d02..2bdda15c36e51 100644 --- a/bridges/primitives/relayers/src/extension.rs +++ b/bridges/primitives/relayers/src/extension.rs @@ -181,7 +181,9 @@ where match call.is_sub_type() { Some(UtilityCall::::batch_all { ref calls }) if calls.len() <= max_packed_calls as usize => - calls.iter().collect(), + { + calls.iter().collect() + }, Some(_) => vec![], None => vec![call], } diff --git a/bridges/primitives/relayers/src/registration.rs b/bridges/primitives/relayers/src/registration.rs index 1144eccd21a9d..47da6c3cf1120 100644 --- a/bridges/primitives/relayers/src/registration.rs +++ b/bridges/primitives/relayers/src/registration.rs @@ -71,8 +71,9 @@ impl IdentifyAccount fn into_account(self) -> Self::AccountId { match self { ExplicitOrAccountParams::Explicit(account_id) => account_id, - ExplicitOrAccountParams::Params(params) => - PayRewardFromAccount::<(), AccountId, LaneId, ()>::rewards_account(params), + ExplicitOrAccountParams::Params(params) => { + PayRewardFromAccount::<(), AccountId, LaneId, ()>::rewards_account(params) + }, } } } diff --git a/bridges/primitives/runtime/src/chain.rs b/bridges/primitives/runtime/src/chain.rs index 8dc2a5fb4e797..76e1efa315820 100644 --- a/bridges/primitives/runtime/src/chain.rs +++ b/bridges/primitives/runtime/src/chain.rs @@ -44,8 +44,9 @@ impl EncodedOrDecodedCall { /// Returns decoded call. pub fn to_decoded(&self) -> Result { match self { - Self::Encoded(ref encoded_call) => - ChainCall::decode(&mut &encoded_call[..]).map_err(Into::into), + Self::Encoded(ref encoded_call) => { + ChainCall::decode(&mut &encoded_call[..]).map_err(Into::into) + }, Self::Decoded(ref decoded_call) => Ok(decoded_call.clone()), } } @@ -53,8 +54,9 @@ impl EncodedOrDecodedCall { /// Converts self to decoded call. pub fn into_decoded(self) -> Result { match self { - Self::Encoded(encoded_call) => - ChainCall::decode(&mut &encoded_call[..]).map_err(Into::into), + Self::Encoded(encoded_call) => { + ChainCall::decode(&mut &encoded_call[..]).map_err(Into::into) + }, Self::Decoded(decoded_call) => Ok(decoded_call), } } diff --git a/bridges/primitives/runtime/src/lib.rs b/bridges/primitives/runtime/src/lib.rs index cc35bf89fbab2..8d9bbd306115b 100644 --- a/bridges/primitives/runtime/src/lib.rs +++ b/bridges/primitives/runtime/src/lib.rs @@ -205,8 +205,9 @@ impl, BlockHash: Copy> TransactionEra::Immortal => sp_runtime::generic::Era::immortal(), // `unique_saturated_into` is fine here - mortality `u64::MAX` is not something we // expect to see on any chain - TransactionEra::Mortal(header_id, period) => - sp_runtime::generic::Era::mortal(period as _, header_id.0.unique_saturated_into()), + TransactionEra::Mortal(header_id, period) => { + sp_runtime::generic::Era::mortal(period as _, header_id.0.unique_saturated_into()) + }, } } @@ -396,7 +397,9 @@ pub trait OwnedBridgeModule { Ok(RawOrigin::Root) => Ok(()), Ok(RawOrigin::Signed(ref signer)) if Self::OwnerStorage::get().as_ref() == Some(signer) => - Ok(()), + { + Ok(()) + }, _ => Err(BadOrigin), } } diff --git a/bridges/primitives/runtime/src/storage_proof.rs b/bridges/primitives/runtime/src/storage_proof.rs index f4a0a07ee4bfd..6db6351067509 100644 --- a/bridges/primitives/runtime/src/storage_proof.rs +++ b/bridges/primitives/runtime/src/storage_proof.rs @@ -130,7 +130,7 @@ where let db = proof.into_memory_db(); if !db.contains(&root, EMPTY_PREFIX) { - return Err(StorageProofError::StorageRootMismatch) + return Err(StorageProofError::StorageRootMismatch); } Ok(StorageProofChecker { root, db, accessed_nodes_tracker: recorder }) @@ -233,7 +233,7 @@ pub fn grow_storage_proof( // create branches at the 1st nibble for branch in 1..=15 { if added_nodes >= num_extra_nodes { - return + return; } // create branches at the 1st nibble @@ -247,7 +247,7 @@ pub fn grow_storage_proof( // create branches at the 2nd nibble for branch in 1..=15 { if added_nodes >= num_extra_nodes { - return + return; } prefix[i] = (first_nibble << 4) | (second_nibble.wrapping_add(branch) % 16); diff --git a/bridges/relays/client-substrate/src/client/caching.rs b/bridges/relays/client-substrate/src/client/caching.rs index a574e5985bc82..b514b3ee72f5b 100644 --- a/bridges/relays/client-substrate/src/client/caching.rs +++ b/bridges/relays/client-substrate/src/client/caching.rs @@ -121,7 +121,7 @@ impl> CachingClient { { let cache = cache.read().await; if let Some(value) = cache.get(key) { - return Ok(value.clone()) + return Ok(value.clone()); } } @@ -220,7 +220,7 @@ impl> CachingClient { "Background task of {} client has exited with result: {:?}", C::NAME, result - ))) + ))); } Ok(()) diff --git a/bridges/relays/client-substrate/src/client/rpc.rs b/bridges/relays/client-substrate/src/client/rpc.rs index 55b603ec9fb28..c06cc7bb36822 100644 --- a/bridges/relays/client-substrate/src/client/rpc.rs +++ b/bridges/relays/client-substrate/src/client/rpc.rs @@ -173,8 +173,9 @@ impl RpcClient { // same and we need to abort if actual version is > than expected let actual = SimpleRuntimeVersion::from_runtime_version(&env.runtime_version().await?); match actual.spec_version.cmp(&expected.spec_version) { - Ordering::Less => - Err(Error::WaitingForRuntimeUpgrade { chain: C::NAME.into(), expected, actual }), + Ordering::Less => { + Err(Error::WaitingForRuntimeUpgrade { chain: C::NAME.into(), expected, actual }) + }, Ordering::Equal => Ok(()), Ordering::Greater => { tracing::error!( diff --git a/bridges/relays/client-substrate/src/client/subscription.rs b/bridges/relays/client-substrate/src/client/subscription.rs index 5c9408264afbb..9d07493003897 100644 --- a/bridges/relays/client-substrate/src/client/subscription.rs +++ b/bridges/relays/client-substrate/src/client/subscription.rs @@ -113,7 +113,7 @@ impl SubscriptionBroadcaster { pub fn new(subscription: Subscription) -> StdResult> { // It doesn't make sense to further broadcast a broadcasted subscription. if subscription.is_broadcasted { - return Err(subscription) + return Err(subscription); } let desc = subscription.desc().clone(); @@ -197,7 +197,7 @@ async fn background_worker( None => { // it means that the last subscriber/factory has been dropped, so we need to // exit too - return log_task_exit(subscription.desc(), "client has stopped") + return log_task_exit(subscription.desc(), "client has stopped"); }, }; diff --git a/bridges/relays/client-substrate/src/error.rs b/bridges/relays/client-substrate/src/error.rs index ee3c73f806e65..f7985cbe929f3 100644 --- a/bridges/relays/client-substrate/src/error.rs +++ b/bridges/relays/client-substrate/src/error.rs @@ -420,8 +420,9 @@ impl MaybeConnectionError for Error { fn is_connection_error(&self) -> bool { match *self { Error::ChannelError(_) => true, - Error::RpcError(ref e) => - matches!(*e, RpcError::Transport(_) | RpcError::RestartNeeded(_),), + Error::RpcError(ref e) => { + matches!(*e, RpcError::Transport(_) | RpcError::RestartNeeded(_),) + }, Error::ClientNotSynced(_) => true, Error::UnorderedFinalizedHeaders { .. } => true, _ => self.nested().map(|e| e.is_connection_error()).unwrap_or(false), diff --git a/bridges/relays/client-substrate/src/transaction_tracker.rs b/bridges/relays/client-substrate/src/transaction_tracker.rs index c9c230ca65145..de3fecf1272bb 100644 --- a/bridges/relays/client-substrate/src/transaction_tracker.rs +++ b/bridges/relays/client-substrate/src/transaction_tracker.rs @@ -121,10 +121,12 @@ impl> TransactionTracker { (TrackedTransactionStatus::Lost, None) }, Either::Right((invalidation_status, _)) => match invalidation_status { - InvalidationStatus::Finalized(at_block) => - (TrackedTransactionStatus::Finalized(at_block), Some(invalidation_status)), - InvalidationStatus::Invalid => - (TrackedTransactionStatus::Lost, Some(invalidation_status)), + InvalidationStatus::Finalized(at_block) => { + (TrackedTransactionStatus::Finalized(at_block), Some(invalidation_status)) + }, + InvalidationStatus::Invalid => { + (TrackedTransactionStatus::Lost, Some(invalidation_status)) + }, InvalidationStatus::Lost => { // wait for the rest of stall timeout - this way we'll be sure that the // transaction is actually dead if it has been crafted properly @@ -208,10 +210,10 @@ async fn watch_transaction_status< "Failed to read header when watching for transaction", ); // that's the best option we have here - return InvalidationStatus::Lost + return InvalidationStatus::Lost; }, }; - return InvalidationStatus::Finalized(header_id) + return InvalidationStatus::Finalized(header_id); }, Some(TransactionStatusOf::::Invalid) => { // if node says that the transaction is invalid, there are still chances that @@ -226,7 +228,7 @@ async fn watch_transaction_status< transaction=?transaction_hash, "Transaction has been invalidated" ); - return InvalidationStatus::Invalid + return InvalidationStatus::Invalid; }, Some(TransactionStatusOf::::Future) | Some(TransactionStatusOf::::Ready) | @@ -263,7 +265,7 @@ async fn watch_transaction_status< block=?block_hash, "Transaction has not been finalized for too long" ); - return InvalidationStatus::Lost + return InvalidationStatus::Lost; }, Some(TransactionStatusOf::::Usurped(new_transaction_hash)) => { // this may be result of our transaction resubmitter work or some manual @@ -276,7 +278,7 @@ async fn watch_transaction_status< new_transaction=?new_transaction_hash, "Transaction has been usurped" ); - return InvalidationStatus::Lost + return InvalidationStatus::Lost; }, Some(TransactionStatusOf::::Dropped) => { // the transaction has been removed from the pool because of its limits. Let's wait @@ -287,12 +289,12 @@ async fn watch_transaction_status< transaction=?transaction_hash, "Transaction has been dropped from the pool" ); - return InvalidationStatus::Lost + return InvalidationStatus::Lost; }, None => { // the status of transaction is unknown to us (the subscription has been closed?). // Let's wait a bit and report a stall - return InvalidationStatus::Lost + return InvalidationStatus::Lost; }, } } diff --git a/bridges/relays/equivocation/src/block_checker.rs b/bridges/relays/equivocation/src/block_checker.rs index 7bb6579f6fdb5..0a80b0b2ae5e9 100644 --- a/bridges/relays/equivocation/src/block_checker.rs +++ b/bridges/relays/equivocation/src/block_checker.rs @@ -39,8 +39,9 @@ impl ReadSyncedHeaders

{ target_client: &mut TC, ) -> Result, Self> { match target_client.synced_headers_finality_info(self.target_block_num).await { - Ok(synced_headers) => - Ok(ReadContext { target_block_num: self.target_block_num, synced_headers }), + Ok(synced_headers) => { + Ok(ReadContext { target_block_num: self.target_block_num, synced_headers }) + }, Err(e) => { tracing::error!( target: "bridge", @@ -127,13 +128,14 @@ impl FindEquivocations

{ &synced_header.finality_proof, finality_proofs_buf.buf().as_slice(), ) { - Ok(equivocations) => + Ok(equivocations) => { if !equivocations.is_empty() { result.push(ReportEquivocations { source_block_hash: self.context.synced_header_hash, equivocations, }) - }, + } + }, Err(e) => { tracing::error!( target: "bridge", @@ -195,7 +197,7 @@ impl ReportEquivocations

{ self.equivocations = unprocessed_equivocations; if !self.equivocations.is_empty() { - return Err(self) + return Err(self); } Ok(()) @@ -253,7 +255,7 @@ impl BlockChecker

{ } if !failures.is_empty() { - return Err(Self::ReportEquivocations(failures)) + return Err(Self::ReportEquivocations(failures)); } Ok(()) diff --git a/bridges/relays/equivocation/src/mock.rs b/bridges/relays/equivocation/src/mock.rs index ced5c6f358065..867ce275f4536 100644 --- a/bridges/relays/equivocation/src/mock.rs +++ b/bridges/relays/equivocation/src/mock.rs @@ -84,7 +84,7 @@ impl FindEquivocations Transaction, TC: TargetClient

> Finality .unwrap_or(true); if !needs_update { - return + return; } tracing::info!( @@ -334,7 +334,7 @@ impl, TC: TargetClient

> Finality .await?; // if we see that the header schedules GRANDPA change, we need to submit it if self.sync_params.headers_to_relay == HeadersToRelay::Mandatory { - return Ok(selector.select_mandatory()) + return Ok(selector.select_mandatory()); } // all headers that are missing from the target client are non-mandatory @@ -376,7 +376,7 @@ impl, TC: TargetClient

> Finality // if we have already submitted header, then we just need to wait for it // if we're waiting too much, then we believe our transaction has been lost and restart sync if Some(info.best_number_at_target) < self.best_submitted_number { - return Ok(None) + return Ok(None); } // submit new header if we have something new @@ -400,7 +400,7 @@ impl, TC: TargetClient

> Finality async fn ensure_finality_proofs_stream(&mut self) -> Result<(), FailedClient> { if let Err(e) = self.finality_proofs_stream.ensure_stream(&self.source_client).await { if e.is_connection_error() { - return Err(FailedClient::Source) + return Err(FailedClient::Source); } } diff --git a/bridges/relays/finality/src/headers.rs b/bridges/relays/finality/src/headers.rs index aecf2ac579620..c7b4432a5b3d9 100644 --- a/bridges/relays/finality/src/headers.rs +++ b/bridges/relays/finality/src/headers.rs @@ -72,7 +72,7 @@ impl JustifiedHeaderSelector

{ match (header.is_mandatory(), maybe_proof) { (true, Some(proof)) => { tracing::trace!(target: "bridge", ?header_number, "Header is mandatory"); - return Ok(Self::Mandatory(JustifiedHeader { header, proof })) + return Ok(Self::Mandatory(JustifiedHeader { header, proof })); }, (true, None) => return Err(Error::MissingMandatoryFinalityProof(header.number())), (false, Some(proof)) @@ -128,8 +128,9 @@ impl JustifiedHeaderSelector

{ ) -> Option> { let (unjustified_headers, maybe_justified_header) = match self { JustifiedHeaderSelector::Mandatory(justified_header) => return Some(justified_header), - JustifiedHeaderSelector::Regular(unjustified_headers, justified_header) => - (unjustified_headers, Some(justified_header)), + JustifiedHeaderSelector::Regular(unjustified_headers, justified_header) => { + (unjustified_headers, Some(justified_header)) + }, JustifiedHeaderSelector::None(unjustified_headers) => (unjustified_headers, None), }; @@ -161,7 +162,7 @@ impl JustifiedHeaderSelector

{ return Some(JustifiedHeader { header: unjustified_header.clone(), proof: finality_proof.clone(), - }) + }); }, Ordering::Equal => { maybe_finality_proof = finality_proofs_iter.next(); @@ -194,14 +195,15 @@ fn need_to_relay( match headers_to_relay { HeadersToRelay::All => true, HeadersToRelay::Mandatory => header.is_mandatory(), - HeadersToRelay::Free => + HeadersToRelay::Free => { header.is_mandatory() || free_headers_interval .map(|free_headers_interval| { header.number().saturating_sub(info.best_number_at_target) >= free_headers_interval }) - .unwrap_or(false), + .unwrap_or(false) + }, } } diff --git a/bridges/relays/lib-substrate-relay/src/cli/chain_schema.rs b/bridges/relays/lib-substrate-relay/src/cli/chain_schema.rs index f6b9ad04b01e6..7dccc3be23f33 100644 --- a/bridges/relays/lib-substrate-relay/src/cli/chain_schema.rs +++ b/bridges/relays/lib-substrate-relay/src/cli/chain_schema.rs @@ -24,7 +24,7 @@ use relay_substrate_client::{ChainRuntimeVersion, ChainWithRuntimeVersion, Simpl use crate::TransactionParams; -#[doc = "Runtime version params."] +/// Runtime version params. #[derive(Debug, PartialEq, Eq, Clone, Copy, Parser, EnumString, VariantNames)] pub enum RuntimeVersionType { /// Auto query version from chain diff --git a/bridges/relays/lib-substrate-relay/src/cli/mod.rs b/bridges/relays/lib-substrate-relay/src/cli/mod.rs index 283d3c70e87ac..c0bfa6f0fb40f 100644 --- a/bridges/relays/lib-substrate-relay/src/cli/mod.rs +++ b/bridges/relays/lib-substrate-relay/src/cli/mod.rs @@ -129,7 +129,7 @@ where fn from_str(s: &str) -> Result { if s.to_lowercase() == "max" { - return Ok(ExplicitOrMaximal::Maximal) + return Ok(ExplicitOrMaximal::Maximal); } V::from_str(s) diff --git a/bridges/relays/lib-substrate-relay/src/finality/initialize.rs b/bridges/relays/lib-substrate-relay/src/finality/initialize.rs index cc2f5b40bc902..1bdf4a2958d6c 100644 --- a/bridges/relays/lib-substrate-relay/src/finality/initialize.rs +++ b/bridges/relays/lib-substrate-relay/src/finality/initialize.rs @@ -130,7 +130,7 @@ where "Headers bridge is already initialized. Skipping" ); if !dry_run { - return Ok(None) + return Ok(None); } } diff --git a/bridges/relays/lib-substrate-relay/src/finality/source.rs b/bridges/relays/lib-substrate-relay/src/finality/source.rs index f6fa5c24add50..43b1d4b33dab1 100644 --- a/bridges/relays/lib-substrate-relay/src/finality/source.rs +++ b/bridges/relays/lib-substrate-relay/src/finality/source.rs @@ -90,7 +90,7 @@ impl> // in perfect world we'll need to return justfication for the requested `block_number` let (header, maybe_proof) = self.header_and_finality_proof(block_number).await?; if let Some(proof) = maybe_proof { - return Ok((header, proof)) + return Ok((header, proof)); } // otherwise we don't care which header to return, so let's select first @@ -132,7 +132,7 @@ impl> // if we've passed the `best_finalized_block_number`, we no longer need persistent // justifications if current_block_number > best_finalized_block_number { - return Ok(None) + return Ok(None); } let (header, maybe_proof) = @@ -166,7 +166,7 @@ impl> let client = client.clone(); async move { if proof.target_header_number() < block_number { - return Ok(None) + return Ok(None); } let header = client.header_by_number(proof.target_header_number()).await?; diff --git a/bridges/relays/lib-substrate-relay/src/finality/target.rs b/bridges/relays/lib-substrate-relay/src/finality/target.rs index ee9e7283782dc..7020665e56991 100644 --- a/bridges/relays/lib-substrate-relay/src/finality/target.rs +++ b/bridges/relays/lib-substrate-relay/src/finality/target.rs @@ -56,12 +56,12 @@ impl> pub async fn ensure_pallet_active(&self) -> Result<(), Error> { let is_halted = P::FinalityEngine::is_halted(&self.client).await?; if is_halted { - return Err(Error::BridgePalletIsHalted) + return Err(Error::BridgePalletIsHalted); } let is_initialized = P::FinalityEngine::is_initialized(&self.client).await?; if !is_initialized { - return Err(Error::BridgePalletIsNotInitialized) + return Err(Error::BridgePalletIsNotInitialized); } Ok(()) @@ -152,7 +152,7 @@ where if is_free_execution_expected { let extras = P::FinalityEngine::check_max_expected_call_limits(&header, &proof); if extras.is_weight_limit_exceeded || extras.extra_size != 0 { - return Err(Error::FinalityProofWeightLimitExceeded { extras }) + return Err(Error::FinalityProofWeightLimitExceeded { extras }); } } diff --git a/bridges/relays/lib-substrate-relay/src/finality_base/engine.rs b/bridges/relays/lib-substrate-relay/src/finality_base/engine.rs index 22bd6b5744680..2356b25dec9bd 100644 --- a/bridges/relays/lib-substrate-relay/src/finality_base/engine.rs +++ b/bridges/relays/lib-substrate-relay/src/finality_base/engine.rs @@ -340,7 +340,7 @@ impl Engine for Grandpa { .is_ok(); if is_valid_set_id { - break + break; } initial_authorities_set_id += 1; @@ -349,7 +349,7 @@ impl Engine for Grandpa { // there can't be more authorities set changes than headers => if we have reached // `initial_block_number` and still have not found correct value of // `initial_authorities_set_id`, then something else is broken => fail - return Err(Error::GuessInitialAuthorities(C::NAME, initial_header_number)) + return Err(Error::GuessInitialAuthorities(C::NAME, initial_header_number)); } } diff --git a/bridges/relays/lib-substrate-relay/src/finality_base/mod.rs b/bridges/relays/lib-substrate-relay/src/finality_base/mod.rs index 7cfabbdd2475f..6339c24d912c6 100644 --- a/bridges/relays/lib-substrate-relay/src/finality_base/mod.rs +++ b/bridges/relays/lib-substrate-relay/src/finality_base/mod.rs @@ -76,11 +76,11 @@ pub async fn finality_proofs( Ok(j) => j, Err(err) => { log_error(format!("decode failed with error {err:?}")); - continue + continue; }, }; - return Some((justification, subscription)) + return Some((justification, subscription)); } }, ) diff --git a/bridges/relays/lib-substrate-relay/src/messages/metrics.rs b/bridges/relays/lib-substrate-relay/src/messages/metrics.rs index e3f94ba6e8fe4..6b0eda7371791 100644 --- a/bridges/relays/lib-substrate-relay/src/messages/metrics.rs +++ b/bridges/relays/lib-substrate-relay/src/messages/metrics.rs @@ -43,7 +43,7 @@ where BalanceOf: Into + std::fmt::Debug, { if relay_accounts.is_empty() { - return Ok(()) + return Ok(()); } // if `tokenDecimals` is missing from system properties, we'll be using @@ -95,7 +95,7 @@ where LaneId: Clone + Copy + Decode + EncodeLike + Send + Sync + Labeled, { if relay_accounts.is_empty() { - return Ok(()) + return Ok(()); } for account in relay_accounts { diff --git a/bridges/relays/lib-substrate-relay/src/messages/mod.rs b/bridges/relays/lib-substrate-relay/src/messages/mod.rs index a69aeb0d5386e..a19a5cf1b9da4 100644 --- a/bridges/relays/lib-substrate-relay/src/messages/mod.rs +++ b/bridges/relays/lib-substrate-relay/src/messages/mod.rs @@ -174,7 +174,7 @@ impl>> proved_header, prove_calls, _phantom: Default::default(), - })) + })); } Ok(None) @@ -211,13 +211,14 @@ where let max_messages_size_in_single_batch = P::TargetChain::max_extrinsic_size() / 3; let limits = match params.limits { Some(limits) => limits, - None => + None => { select_delivery_transaction_limits_rpc( ¶ms, P::TargetChain::max_extrinsic_weight(), P::SourceChain::MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX, ) - .await?, + .await? + }, }; let (max_messages_in_single_batch, max_messages_weight_in_single_batch) = (limits.max_messages_in_single_batch / 2, limits.max_messages_weight_in_single_batch / 2); @@ -702,8 +703,9 @@ mod tests { impl From> for RuntimeCall { fn from(value: MockUtilityCall) -> RuntimeCall { match value { - MockUtilityCall::batch_all(calls) => - RuntimeCall::Utility(UtilityCall::::batch_all(calls)), + MockUtilityCall::batch_all(calls) => { + RuntimeCall::Utility(UtilityCall::::batch_all(calls)) + }, } } } @@ -755,8 +757,9 @@ mod tests { ); match relayer_call_builder_receive_messages_proof { RuntimeCall::BridgeMessages(call) => match call { - call @ CodegenBridgeMessagesCall::receive_messages_proof { .. } => - assert_eq!(pallet_receive_messages_proof.encode(), call.encode()), + call @ CodegenBridgeMessagesCall::receive_messages_proof { .. } => { + assert_eq!(pallet_receive_messages_proof.encode(), call.encode()) + }, _ => panic!("Unexpected CodegenBridgeMessagesCall type"), }, _ => panic!("Unexpected RuntimeCall type"), @@ -805,8 +808,9 @@ mod tests { ); match relayer_call_builder_receive_messages_delivery_proof { RuntimeCall::BridgeMessages(call) => match call { - call @ CodegenBridgeMessagesCall::receive_messages_delivery_proof { .. } => - assert_eq!(pallet_receive_messages_delivery_proof.encode(), call.encode()), + call @ CodegenBridgeMessagesCall::receive_messages_delivery_proof { .. } => { + assert_eq!(pallet_receive_messages_delivery_proof.encode(), call.encode()) + }, _ => panic!("Unexpected CodegenBridgeMessagesCall type"), }, _ => panic!("Unexpected RuntimeCall type"), diff --git a/bridges/relays/lib-substrate-relay/src/messages/source.rs b/bridges/relays/lib-substrate-relay/src/messages/source.rs index 0911dbe3ea84e..8a3fb0decd3e9 100644 --- a/bridges/relays/lib-substrate-relay/src/messages/source.rs +++ b/bridges/relays/lib-substrate-relay/src/messages/source.rs @@ -289,7 +289,7 @@ where P::TargetChain::NAME, in_msgs_details.len(), msgs_to_refine_batch.len(), - ))) + ))); } for ((_, out_msg_details), in_msg_details) in msgs_to_refine_batch.iter_mut().zip(in_msgs_details) @@ -400,7 +400,7 @@ where if let Some(batch_tx) = BatchProofTransaction::new(target_to_source_headers_relay.clone(), id.0).await? { - return Ok(Some(batch_tx)) + return Ok(Some(batch_tx)); } target_to_source_headers_relay.require_more_headers(id.0).await; @@ -523,12 +523,12 @@ fn validate_out_msgs_details( if out_msgs_details.len() > nonces.clone().count() { return Err(SubstrateError::Custom( "More messages than requested returned by the message_details call.".into(), - )) + )); } // Check if last nonce is missing. The loop below is not checking this. if out_msgs_details.is_empty() && !nonces.is_empty() { - return make_missing_nonce_error(*nonces.end()) + return make_missing_nonce_error(*nonces.end()); } let mut nonces_iter = nonces.clone().rev().peekable(); @@ -538,7 +538,7 @@ fn validate_out_msgs_details( nonces_iter.next(); if out_msg_details.nonce != nonce { // Some nonces are missing from the middle/tail of the range. This is critical error. - return make_missing_nonce_error(nonce) + return make_missing_nonce_error(nonce); } } @@ -575,7 +575,7 @@ fn split_msgs_to_refine( &mut finality_target, ) .await; - continue + continue; } // read best finalized source header number from target @@ -263,7 +263,7 @@ async fn background_task( &mut finality_target, ) .await; - continue + continue; } // submit mandatory header if some headers are missing @@ -334,7 +334,7 @@ async fn background_task( &mut finality_target, ) .await; - continue + continue; } }, } @@ -402,7 +402,7 @@ async fn mandatory_headers_scan_range( // if relay is already asked to sync more headers than we have at source, don't do anything yet if required_header_number >= best_finalized_source_header_at_source { - return None + return None; } Some(( @@ -440,7 +440,7 @@ where // less than our `mandatory_source_header_number` before logging anything let mut required_header_number = required_header_number.lock().await; if *required_header_number >= mandatory_source_header_number { - return Ok(false) + return Ok(false); } tracing::trace!( diff --git a/bridges/relays/lib-substrate-relay/src/on_demand/parachains.rs b/bridges/relays/lib-substrate-relay/src/on_demand/parachains.rs index a3bb56044faf7..d8be4048d71d7 100644 --- a/bridges/relays/lib-substrate-relay/src/on_demand/parachains.rs +++ b/bridges/relays/lib-substrate-relay/src/on_demand/parachains.rs @@ -360,7 +360,7 @@ async fn background_task( &mut parachains_target, ) .await; - continue + continue; }, } @@ -571,14 +571,14 @@ where if let &RelayState::RelayingRelayHeader(relay_header_number) = &state { if relay_header_at_target < relay_header_number { // The required relay header hasn't yet been relayed. Ask / wait for it. - return state + return state; } // We may switch to `RelayingParaHeader` if parachain head is available. if let Some(para_header_at_relay_header_at_target) = data.para_header_at_relay_header_at_target.as_ref() { - return RelayState::RelayingParaHeader(para_header_at_relay_header_at_target.clone()) + return RelayState::RelayingParaHeader(para_header_at_relay_header_at_target.clone()); } // else use the regular process - e.g. we may require to deliver new relay header first @@ -589,7 +589,7 @@ where let para_header_at_target_or_zero = data.para_header_at_target.unwrap_or_else(Zero::zero); if para_header_at_target_or_zero < para_header_id.0 { // The required parachain header hasn't yet been relayed. Ask / wait for it. - return state + return state; } } @@ -608,12 +608,12 @@ where // if we have already satisfied our "customer", do nothing if required_para_header <= para_header_at_target { - return RelayState::Idle + return RelayState::Idle; } // if required header is not available even at the source chain, let's wait if required_para_header > para_header_at_source.0 { - return RelayState::Idle + return RelayState::Idle; } // we will always try to sync latest parachain/relay header, even if we've been asked for some @@ -621,7 +621,7 @@ where // we need relay chain header first if relay_header_at_target < data.relay_header_at_source { - return RelayState::RelayingRelayHeader(data.relay_header_at_source) + return RelayState::RelayingRelayHeader(data.relay_header_at_source); } // if all relay headers synced, we may start directly with parachain header diff --git a/bridges/relays/lib-substrate-relay/src/parachains/source.rs b/bridges/relays/lib-substrate-relay/src/parachains/source.rs index 88ea60f954bf1..61e89067b0194 100644 --- a/bridges/relays/lib-substrate-relay/src/parachains/source.rs +++ b/bridges/relays/lib-substrate-relay/src/parachains/source.rs @@ -119,7 +119,7 @@ where source=%P::SourceParachain::NAME, "Block is ancient. Cannot prove the header there" ); - return Ok(AvailableHeader::Unavailable) + return Ok(AvailableHeader::Unavailable); } // else - try to read head from the source client diff --git a/bridges/relays/lib-substrate-relay/src/parachains/target.rs b/bridges/relays/lib-substrate-relay/src/parachains/target.rs index e58dc82e04331..69709767cc894 100644 --- a/bridges/relays/lib-substrate-relay/src/parachains/target.rs +++ b/bridges/relays/lib-substrate-relay/src/parachains/target.rs @@ -197,8 +197,9 @@ where let storage_value: Option = self.target_client.storage_value(at_block.hash(), storage_key).await?; let para_head_number = match storage_value { - Some(para_head_data) => - para_head_data.decode_parachain_head_data::()?.number, + Some(para_head_data) => { + para_head_data.decode_parachain_head_data::()?.number + }, None => return Ok(None), }; diff --git a/bridges/relays/messages/src/message_lane_loop.rs b/bridges/relays/messages/src/message_lane_loop.rs index 9317eabcd0f93..31885458744b3 100644 --- a/bridges/relays/messages/src/message_lane_loop.rs +++ b/bridges/relays/messages/src/message_lane_loop.rs @@ -705,7 +705,7 @@ pub(crate) mod tests { let mut data = self.data.lock(); (self.tick)(&mut data); if data.is_source_fails { - return Err(TestError) + return Err(TestError); } (self.post_tick)(&mut data); Ok(data.source_state.clone()) @@ -718,7 +718,7 @@ pub(crate) mod tests { let mut data = self.data.lock(); (self.tick)(&mut data); if data.is_source_fails { - return Err(TestError) + return Err(TestError); } (self.post_tick)(&mut data); Ok((id, data.source_latest_generated_nonce)) @@ -850,7 +850,7 @@ pub(crate) mod tests { let mut data = self.data.lock(); (self.tick)(&mut data); if data.is_target_fails { - return Err(TestError) + return Err(TestError); } (self.post_tick)(&mut data); Ok(data.target_state.clone()) @@ -863,7 +863,7 @@ pub(crate) mod tests { let mut data = self.data.lock(); (self.tick)(&mut data); if data.is_target_fails { - return Err(TestError) + return Err(TestError); } (self.post_tick)(&mut data); Ok((id, data.target_latest_received_nonce)) @@ -891,7 +891,7 @@ pub(crate) mod tests { let mut data = self.data.lock(); (self.tick)(&mut data); if data.is_target_fails { - return Err(TestError) + return Err(TestError); } (self.post_tick)(&mut data); Ok((id, data.target_latest_confirmed_received_nonce)) @@ -914,7 +914,7 @@ pub(crate) mod tests { let mut data = self.data.lock(); (self.tick)(&mut data); if data.is_target_fails { - return Err(TestError) + return Err(TestError); } data.receive_messages(maybe_batch_tx, proof); (self.post_tick)(&mut data); diff --git a/bridges/relays/messages/src/message_race_delivery.rs b/bridges/relays/messages/src/message_race_delivery.rs index f0e7542b2968e..6bb04dda864db 100644 --- a/bridges/relays/messages/src/message_race_delivery.rs +++ b/bridges/relays/messages/src/message_race_delivery.rs @@ -364,7 +364,7 @@ where best_finalized_source_header_id_at_best_target, ); - return self.select_race_action(race_state).await.is_some() + return self.select_race_action(race_state).await.is_some(); } false @@ -376,12 +376,12 @@ where ) -> Option<(RangeInclusive, MessageProofParameters)> { // if we have already selected nonces that we want to submit, do nothing if race_state.nonces_to_submit().is_some() { - return None + return None; } // if we already submitted some nonces, do nothing if race_state.nonces_submitted().is_some() { - return None + return None; } let best_target_nonce = self.strategy.best_at_target()?; @@ -425,7 +425,7 @@ where let enough_rewards_being_proved = number_of_rewards_being_proved >= target_nonces.nonces_data.unrewarded_relayers.messages_in_oldest_entry; if !enough_rewards_being_proved { - return None + return None; } } @@ -535,13 +535,13 @@ where ) -> Option> { // we have already submitted something - let's wait until it is mined if race_state.nonces_submitted().is_some() { - return None + return None; } // if we can deliver something using current race state, go on let selected_nonces = self.select_race_action(race_state.clone()).await; if selected_nonces.is_some() { - return None + return None; } // check if we may deliver some messages if we'll relay require source header @@ -555,7 +555,7 @@ where ) .await { - return maybe_source_header_for_delivery + return maybe_source_header_for_delivery; } // ok, we can't delivery anything even if we relay some source blocks first. But maybe @@ -569,7 +569,7 @@ where ) .await { - return maybe_source_header_for_reward_confirmation + return maybe_source_header_for_reward_confirmation; } None @@ -1035,7 +1035,6 @@ mod tests { // let's prepare situation when: // - all messages [20; 23] have been generated at source block#1; let (mut state, mut strategy) = prepare_strategy(); - // // - messages [20; 23] have been delivered assert_eq!( strategy.select_nonces_to_deliver(state.clone()).await, @@ -1068,7 +1067,6 @@ mod tests { // now let's generate two more nonces [24; 25] at the source; strategy.source_nonces_updated(header_id(2), source_nonces(24..=25, 19, 0)); - // // we don't need to relay more headers to target, because messages [20; 23] have // not confirmed to source yet assert_eq!(strategy.select_nonces_to_deliver(state.clone()).await, None); diff --git a/bridges/relays/messages/src/message_race_limits.rs b/bridges/relays/messages/src/message_race_limits.rs index 76cf35bc4cee7..50bd94f1d9b89 100644 --- a/bridges/relays/messages/src/message_race_limits.rs +++ b/bridges/relays/messages/src/message_race_limits.rs @@ -114,7 +114,9 @@ impl MessageRaceLimits { Some(new_selected_weight) if new_selected_weight .all_lte(reference.max_messages_weight_in_single_batch) => - new_selected_weight, + { + new_selected_weight + }, new_selected_weight if selected_count == 0 => { tracing::warn!( target: "bridge", @@ -132,7 +134,9 @@ impl MessageRaceLimits { let new_selected_size = match relay_reference.selected_size.checked_add(details.size) { Some(new_selected_size) if new_selected_size <= reference.max_messages_size_in_single_batch => - new_selected_size, + { + new_selected_size + }, new_selected_size if selected_count == 0 => { tracing::warn!( target: "bridge", @@ -149,7 +153,7 @@ impl MessageRaceLimits { // limit number of messages in the batch let new_selected_count = selected_count + 1; if new_selected_count > reference.max_messages_in_this_batch { - break + break; } relay_reference.selected_size = new_selected_size; diff --git a/bridges/relays/messages/src/message_race_loop.rs b/bridges/relays/messages/src/message_race_loop.rs index 309975528475b..54d6a50766c43 100644 --- a/bridges/relays/messages/src/message_race_loop.rs +++ b/bridges/relays/messages/src/message_race_loop.rs @@ -731,7 +731,7 @@ where let need_update = now_time.saturating_duration_since(prev_time) > Duration::from_secs(10); if !need_update { - return prev_time + return prev_time; } let now_best_nonce_at_source = strategy.best_at_source(); diff --git a/bridges/relays/messages/src/message_race_strategy.rs b/bridges/relays/messages/src/message_race_strategy.rs index 1dd07b5769388..471dc0f889042 100644 --- a/bridges/relays/messages/src/message_race_strategy.rs +++ b/bridges/relays/messages/src/message_race_strategy.rs @@ -121,12 +121,12 @@ where // if we have already selected nonces that we want to submit, do nothing if race_state.nonces_to_submit().is_some() { - return None + return None; } // if we already submitted some nonces, do nothing if race_state.nonces_submitted().is_some() { - return None + return None; } // find first entry that may be delivered to the target node @@ -163,7 +163,7 @@ where while let Some((queued_at, queued_range)) = self.source_queue.pop_front() { if let Some(range_to_requeue) = queued_range.greater_than(nonce) { self.source_queue.push_front((queued_at, range_to_requeue)); - break + break; } } } @@ -221,8 +221,9 @@ where fn best_at_source(&self) -> Option { let best_in_queue = self.source_queue.back().map(|(_, range)| range.end()); match (best_in_queue, self.best_target_nonce) { - (Some(best_in_queue), Some(best_target_nonce)) if best_in_queue > best_target_nonce => - Some(best_in_queue), + (Some(best_in_queue), Some(best_target_nonce)) if best_in_queue > best_target_nonce => { + Some(best_in_queue) + }, (_, Some(best_target_nonce)) => Some(best_target_nonce), (_, None) => None, } diff --git a/bridges/relays/parachains/src/parachains_loop.rs b/bridges/relays/parachains/src/parachains_loop.rs index 41e84d4193e0b..0fa9397e7c153 100644 --- a/bridges/relays/parachains/src/parachains_loop.rs +++ b/bridges/relays/parachains/src/parachains_loop.rs @@ -254,7 +254,7 @@ where ?free_source_relay_headers_interval, "Invalid free headers interval" ); - return Err(FailedClient::Target) + return Err(FailedClient::Target); }, } } else { @@ -289,7 +289,7 @@ where source=%P::SourceRelayChain::NAME, "Client is syncing. Won't do anything until it is synced" ); - continue + continue; }, Err(e) => { tracing::warn!( @@ -298,7 +298,7 @@ where source=%P::SourceRelayChain::NAME, "Client has failed to return its sync status" ); - return Err(FailedClient::Source) + return Err(FailedClient::Source); }, } @@ -316,7 +316,7 @@ where SubmittedHeadStatus::Waiting(tracker) => { // no news about our transaction and we shall keep waiting submitted_heads_tracker = Some(tracker); - continue + continue; }, SubmittedHeadStatus::Final(TrackedTransactionStatus::Finalized(_)) => { // all heads have been updated, we don't need this tracker anymore @@ -329,7 +329,7 @@ where "Parachains synchronization has stalled. Going to restart", ); - return Err(FailedClient::Both) + return Err(FailedClient::Both); }, } } @@ -647,7 +647,9 @@ impl SubmittedHeadsTracker

{ let is_head_updated = match (self.submitted_head, head_at_target) { (AvailableHeader::Available(submitted_head), Some(head_at_target)) if head_at_target.number() >= submitted_head.number() => - true, + { + true + }, (AvailableHeader::Missing, None) => true, _ => false, }; @@ -660,19 +662,22 @@ impl SubmittedHeadsTracker

{ "Head of parachain has been updated" ); - return SubmittedHeadStatus::Final(TrackedTransactionStatus::Finalized(*at_target_block)) + return SubmittedHeadStatus::Final(TrackedTransactionStatus::Finalized( + *at_target_block, + )); } // if underlying transaction tracker has reported that the transaction is lost, we may // then restart our sync let transaction_tracker = self.transaction_tracker.clone(); match poll!(transaction_tracker) { - Poll::Ready(TrackedTransactionStatus::Lost) => - return SubmittedHeadStatus::Final(TrackedTransactionStatus::Lost), + Poll::Ready(TrackedTransactionStatus::Lost) => { + return SubmittedHeadStatus::Final(TrackedTransactionStatus::Lost) + }, Poll::Ready(TrackedTransactionStatus::Finalized(_)) => { // so we are here and our transaction is mined+finalized, but some of heads were not // updated => we're considering our loop as stalled - return SubmittedHeadStatus::Final(TrackedTransactionStatus::Lost) + return SubmittedHeadStatus::Final(TrackedTransactionStatus::Lost); }, _ => (), } diff --git a/bridges/relays/utils/src/metrics/float_json_value.rs b/bridges/relays/utils/src/metrics/float_json_value.rs index 17b09e050973a..1d037365435a3 100644 --- a/bridges/relays/utils/src/metrics/float_json_value.rs +++ b/bridges/relays/utils/src/metrics/float_json_value.rs @@ -112,7 +112,7 @@ fn parse_service_response(json_path: &str, response: &str) -> error::Result .and_then(|v| v.as_f64()) .ok_or_else(|| Error::MissingResponseValue(response.to_owned()))?; if !selected_value.is_normal() || selected_value < 0.0 { - return Err(Error::ParseFloat(selected_value)) + return Err(Error::ParseFloat(selected_value)); } Ok(selected_value) diff --git a/bridges/relays/utils/src/relay_loop.rs b/bridges/relays/utils/src/relay_loop.rs index 1507d5e967c6c..78334a12238c6 100644 --- a/bridges/relays/utils/src/relay_loop.rs +++ b/bridges/relays/utils/src/relay_loop.rs @@ -216,7 +216,7 @@ impl LoopMetrics { error=?err, "Failed to create tokio runtime. Prometheus metrics are not available" ); - return + return; }, }; diff --git a/bridges/snowbridge/pallets/ethereum-client/fixtures/src/lib.rs b/bridges/snowbridge/pallets/ethereum-client/fixtures/src/lib.rs index 03ff5edf982cf..7740ebdf671bc 100644 --- a/bridges/snowbridge/pallets/ethereum-client/fixtures/src/lib.rs +++ b/bridges/snowbridge/pallets/ethereum-client/fixtures/src/lib.rs @@ -1243,13 +1243,10 @@ pub fn make_inbound_fixture() -> EventFixture { data: hex!("00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b1185ede04202fe62d38f5db72f71e38ff3e830500000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000009184e72a0000000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b8ea8cb425d85536b158d661da1ef0895bb92f1d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000").into(), }, proof: Proof { - receipt_proof: (vec![ - hex!("2a2c82ec07ed78ee7495aef5ee3b2c3fd4959cfd1f16bac86edff12ae03defc4").to_vec(), - hex!("c0127fe02b1e3c9608db2985cbbc8cecc64fb6ce4477e1071d61bfd127a4027b").to_vec(), - ], vec![ + receipt_proof: vec![ hex!("f851a0925fd57a02e48ba0efa2dc468e694b47f3f7b5443b944b4b2ef05c24deb247e280808080808080a0c0127fe02b1e3c9608db2985cbbc8cecc64fb6ce4477e1071d61bfd127a4027b8080808080808080").to_vec(), hex!("f9034f30b9034bf90348018301789ab9010000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000001000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f9023df9023a94b1185ede04202fe62d38f5db72f71e38ff3e8305e1a0550e2067494b1736ea5573f2d19cdc0ac95b410fff161bf16f11c6229655ec9cb9020000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b1185ede04202fe62d38f5db72f71e38ff3e830500000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000009184e72a0000000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b8ea8cb425d85536b158d661da1ef0895bb92f1d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000").to_vec(), - ]), + ], execution_proof: ExecutionProof { header: BeaconHeader { slot: 182, diff --git a/bridges/snowbridge/pallets/ethereum-client/src/config/mod.rs b/bridges/snowbridge/pallets/ethereum-client/src/config/mod.rs index bd6a1141c07a5..324e2e0c4daee 100644 --- a/bridges/snowbridge/pallets/ethereum-client/src/config/mod.rs +++ b/bridges/snowbridge/pallets/ethereum-client/src/config/mod.rs @@ -14,7 +14,7 @@ pub const MAX_FEE_RECIPIENT_SIZE: usize = 20; pub const MAX_BRANCH_PROOF_SIZE: usize = 20; /// DomainType('0x07000000') -/// +/// pub const DOMAIN_SYNC_COMMITTEE: [u8; 4] = [7, 0, 0, 0]; /// Validators public keys are 48 bytes. pub const PUBKEY_SIZE: usize = 48; diff --git a/bridges/snowbridge/pallets/ethereum-client/src/impls.rs b/bridges/snowbridge/pallets/ethereum-client/src/impls.rs index 98afbc9144580..6ff57bb7b6314 100644 --- a/bridges/snowbridge/pallets/ethereum-client/src/impls.rs +++ b/bridges/snowbridge/pallets/ethereum-client/src/impls.rs @@ -26,7 +26,7 @@ impl Verifier for Pallet { Self::verify_receipt_inclusion( proof.execution_proof.execution_header.receipts_root(), - &proof.receipt_proof.1, + &proof.receipt_proof, event_log, )?; @@ -48,7 +48,7 @@ impl Pallet { target: "ethereum-client", "πŸ’« Event log not found in receipt for transaction", ); - return Err(LogNotFound) + return Err(LogNotFound); } Ok(()) } @@ -58,12 +58,12 @@ impl Pallet { receipt_log.address.0 == log.address.0 && receipt_log.topics().len() == log.topics.len(); if !equal { - return false + return false; } for (_, (topic1, topic2)) in receipt_log.topics().iter().zip(log.topics.iter()).enumerate() { if topic1.0 != topic2.0 { - return false + return false; } } true @@ -103,7 +103,7 @@ impl Pallet { let state = >::get(beacon_block_root) .ok_or(Error::::ExpectedFinalizedHeaderNotStored)?; if execution_proof.header.slot != state.slot { - return Err(Error::::ExpectedFinalizedHeaderNotStored.into()) + return Err(Error::::ExpectedFinalizedHeaderNotStored.into()); } }, } diff --git a/bridges/snowbridge/pallets/ethereum-client/src/lib.rs b/bridges/snowbridge/pallets/ethereum-client/src/lib.rs index 3bcb27506e74f..ab51900a56162 100644 --- a/bridges/snowbridge/pallets/ethereum-client/src/lib.rs +++ b/bridges/snowbridge/pallets/ethereum-client/src/lib.rs @@ -304,7 +304,7 @@ pub mod pallet { Self::apply_update(update) } - /// References and strictly follows + /// References and strictly follows /// Verifies that provided next sync committee is valid through a series of checks /// (including checking that a sync committee period isn't skipped and that the header is /// signed by the current sync committee. @@ -460,7 +460,7 @@ pub mod pallet { Ok(()) } - /// Reference and strictly follows /// Applies a finalized beacon header update to the beacon client. If a next sync committee /// is present in the update, verify the sync committee by converting it to a /// SyncCommitteePrepared type. Stores the provided finalized header. Updates are free @@ -628,22 +628,22 @@ pub mod pallet { /// Returns the fork version based on the current epoch. pub(super) fn select_fork_version(fork_versions: &ForkVersions, epoch: u64) -> ForkVersion { if epoch >= fork_versions.fulu.epoch { - return fork_versions.fulu.version + return fork_versions.fulu.version; } if epoch >= fork_versions.electra.epoch { - return fork_versions.electra.version + return fork_versions.electra.version; } if epoch >= fork_versions.deneb.epoch { - return fork_versions.deneb.version + return fork_versions.deneb.version; } if epoch >= fork_versions.capella.epoch { - return fork_versions.capella.version + return fork_versions.capella.version; } if epoch >= fork_versions.bellatrix.epoch { - return fork_versions.bellatrix.version + return fork_versions.bellatrix.version; } if epoch >= fork_versions.altair.epoch { - return fork_versions.altair.version + return fork_versions.altair.version; } fork_versions.genesis.version } @@ -675,8 +675,11 @@ pub mod pallet { validators_root: H256, signature_slot: u64, ) -> Result { + // Per Ethereum Altair light-client spec, fork version is derived from signature_slot - + // 1. See: https://github.com/ethereum/consensus-specs/blob/ec42646/specs/altair/light-client/sync-protocol.md#validate_light_client_update + // In validate_light_client_update: fork_version_slot = max(signature_slot, 1) - 1 let fork_version = Self::compute_fork_version(compute_epoch( - signature_slot, + signature_slot.saturating_sub(1), config::SLOTS_PER_EPOCH as u64, )); let domain_type = config::DOMAIN_SYNC_COMMITTEE.to_vec(); diff --git a/bridges/snowbridge/pallets/ethereum-client/src/tests.rs b/bridges/snowbridge/pallets/ethereum-client/src/tests.rs index 91e507741f705..8a4a7b0ae7ea9 100644 --- a/bridges/snowbridge/pallets/ethereum-client/src/tests.rs +++ b/bridges/snowbridge/pallets/ethereum-client/src/tests.rs @@ -3,7 +3,7 @@ pub use crate::mock::*; use crate::{ config::{EPOCHS_PER_SYNC_COMMITTEE_PERIOD, SLOTS_PER_EPOCH, SLOTS_PER_HISTORICAL_ROOT}, - functions::compute_period, + functions::{compute_epoch, compute_period}, mock::{ get_message_verification_payload, load_checkpoint_update_fixture, load_finalized_header_update_fixture, load_next_finalized_header_update_fixture, @@ -28,7 +28,7 @@ use sp_runtime::DispatchError; const TEST_HASH: [u8; 32] = hex!["5f6f02af29218292d21a69b64a794a7c0873b3e0f54611972863706e8cbdf371"]; -/* UNIT TESTS */ +// UNIT TESTS #[test] pub fn sum_sync_committee_participation() { @@ -308,7 +308,7 @@ fn find_present_keys() { }); } -/* SYNC PROCESS TESTS */ +// SYNC PROCESS TESTS #[test] fn process_initial_checkpoint() { @@ -752,7 +752,7 @@ fn sync_committee_update_for_sync_committee_already_imported_are_not_free() { }); } -/* IMPLS */ +// IMPLS #[test] fn verify_message() { @@ -767,7 +767,7 @@ fn verify_message() { #[test] fn verify_message_invalid_proof() { let (event_log, mut proof) = get_message_verification_payload(); - proof.receipt_proof.1[0] = TEST_HASH.into(); + proof.receipt_proof[0] = TEST_HASH.into(); new_tester().execute_with(|| { assert_ok!(initialize_storage()); @@ -974,3 +974,83 @@ fn verify_message_invalid_topic() { ); }); } + +#[test] +fn signing_root_uses_previous_slot_for_fork_version() { + new_tester().execute_with(|| { + // Use a signature_slot at a fork boundary (first slot of the fulu epoch). + // In mock.rs: electra.epoch = 0, fulu.epoch = 100000000 + let fulu_epoch = ChainForkVersions::get().fulu.epoch; + let signature_slot: u64 = fulu_epoch * (SLOTS_PER_EPOCH as u64); + + // Verify this is the first slot of the epoch + assert_eq!(signature_slot % (SLOTS_PER_EPOCH as u64), 0); + + let header = BeaconHeader { + slot: signature_slot - 1, + proposer_index: 0, + parent_root: H256::repeat_byte(0x11), + state_root: H256::repeat_byte(0x22), + body_root: H256::repeat_byte(0x33), + }; + + let validators_root = H256::repeat_byte(0x44); + + // Get fork versions for comparison + let fork_version_at_signature_slot = EthereumBeaconClient::compute_fork_version( + compute_epoch(signature_slot, SLOTS_PER_EPOCH as u64), + ); + let fork_version_at_previous_slot = EthereumBeaconClient::compute_fork_version( + compute_epoch(signature_slot.saturating_sub(1), SLOTS_PER_EPOCH as u64), + ); + + // At the fork boundary, these should differ + assert_ne!( + fork_version_at_signature_slot, fork_version_at_previous_slot, + "Test setup error: fork versions should differ at fork boundary" + ); + + // Compute signing roots using both fork versions + let domain_type = crate::config::DOMAIN_SYNC_COMMITTEE.to_vec(); + + let domain_with_previous_slot = EthereumBeaconClient::compute_domain( + domain_type.clone(), + fork_version_at_previous_slot, + validators_root, + ) + .unwrap(); + + let signing_root_with_previous_slot = + EthereumBeaconClient::compute_signing_root(&header, domain_with_previous_slot).unwrap(); + + // The pallet's signing_root should use the previous slot's fork version (per spec) + let pallet_signing_root = + EthereumBeaconClient::signing_root(&header, validators_root, signature_slot).unwrap(); + + assert_eq!( + pallet_signing_root, signing_root_with_previous_slot, + "signing_root should use fork version from signature_slot - 1" + ); + }); +} + +#[test] +fn signing_root_handles_signature_slot_zero() { + // Per spec: fork_version_slot = max(signature_slot, 1) - 1 + // When signature_slot = 0, saturating_sub(1) = 0, which matches max(0, 1) - 1 = 0 + new_tester().execute_with(|| { + let header = BeaconHeader { + slot: 0, + proposer_index: 0, + parent_root: H256::repeat_byte(0x11), + state_root: H256::repeat_byte(0x22), + body_root: H256::repeat_byte(0x33), + }; + + let validators_root = H256::repeat_byte(0x44); + + // Should not panic and should use epoch 0 fork version + let result = EthereumBeaconClient::signing_root(&header, validators_root, 0); + assert!(result.is_ok(), "signing_root should handle signature_slot = 0"); + }); +} diff --git a/bridges/snowbridge/pallets/inbound-queue-v2/Cargo.toml b/bridges/snowbridge/pallets/inbound-queue-v2/Cargo.toml index ab88591abfb0c..69fb1e44ad46e 100644 --- a/bridges/snowbridge/pallets/inbound-queue-v2/Cargo.toml +++ b/bridges/snowbridge/pallets/inbound-queue-v2/Cargo.toml @@ -33,10 +33,6 @@ sp-io = { workspace = true } sp-runtime = { workspace = true } sp-std = { workspace = true } -xcm = { workspace = true } -xcm-builder = { workspace = true } -xcm-executor = { workspace = true } - snowbridge-beacon-primitives = { workspace = true } snowbridge-core = { workspace = true } snowbridge-inbound-queue-primitives = { workspace = true } @@ -44,12 +40,17 @@ snowbridge-pallet-inbound-queue-v2-fixtures = { optional = true, workspace = tru bp-relayers = { workspace = true } +xcm = { workspace = true } + [dev-dependencies] frame-benchmarking = { workspace = true, default-features = true } hex-literal = { workspace = true, default-features = true } snowbridge-test-utils = { workspace = true } sp-keyring = { workspace = true, default-features = true } +xcm-builder = { workspace = true } +xcm-executor = { workspace = true } + [features] default = ["std"] std = [ diff --git a/bridges/snowbridge/pallets/inbound-queue-v2/fixtures/src/register_token.rs b/bridges/snowbridge/pallets/inbound-queue-v2/fixtures/src/register_token.rs index aa13e78542721..b44b7eac0594c 100644 --- a/bridges/snowbridge/pallets/inbound-queue-v2/fixtures/src/register_token.rs +++ b/bridges/snowbridge/pallets/inbound-queue-v2/fixtures/src/register_token.rs @@ -22,11 +22,9 @@ pub fn make_register_token_message() -> EventFixture { data: hex!("00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b1185ede04202fe62d38f5db72f71e38ff3e830500000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000009184e72a0000000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b8ea8cb425d85536b158d661da1ef0895bb92f1d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000").into(), }, proof: Proof { - receipt_proof: (vec![ - hex!("eeff6f8a38ee0f085b3aaaecd1b1791393dba27677b7d833a619560d34848349").to_vec(), - ], vec![ + receipt_proof: vec![ hex!("f90352822080b9034c02f903480183016e84b9010000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000001000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f9023df9023a94b1185ede04202fe62d38f5db72f71e38ff3e8305e1a0550e2067494b1736ea5573f2d19cdc0ac95b410fff161bf16f11c6229655ec9cb9020000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b1185ede04202fe62d38f5db72f71e38ff3e830500000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000009184e72a0000000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b8ea8cb425d85536b158d661da1ef0895bb92f1d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000").to_vec(), - ]), + ], execution_proof: ExecutionProof { header: BeaconHeader { slot: 275, diff --git a/bridges/snowbridge/pallets/inbound-queue-v2/src/lib.rs b/bridges/snowbridge/pallets/inbound-queue-v2/src/lib.rs index b82139bf5629f..3cc3f74dce483 100644 --- a/bridges/snowbridge/pallets/inbound-queue-v2/src/lib.rs +++ b/bridges/snowbridge/pallets/inbound-queue-v2/src/lib.rs @@ -44,13 +44,12 @@ use snowbridge_core::{ BasicOperatingMode, }; use snowbridge_inbound_queue_primitives::{ - v2::{ConvertMessage, ConvertMessageError, Message}, + v2::{ConvertMessageError, Message, MessageProcessor, MessageProcessorError}, EventProof, VerificationError, Verifier, }; use sp_core::H160; -use sp_runtime::traits::TryConvert; use sp_std::prelude::*; -use xcm::prelude::{ExecuteXcm, Junction::*, Location, SendXcm, *}; +use xcm::latest::SendError; pub use pallet::*; @@ -84,17 +83,11 @@ pub mod pallet { type RuntimeEvent: From> + IsType<::RuntimeEvent>; /// The verifier for inbound messages from Ethereum. type Verifier: Verifier; - /// XCM message sender. - type XcmSender: SendXcm; - /// Handler for XCM fees. - type XcmExecutor: ExecuteXcm; /// Address of the Gateway contract. #[pallet::constant] type GatewayAddress: Get; - /// AssetHub parachain ID. - type AssetHubParaId: Get; - /// Convert a command from Ethereum to an XCM message. - type MessageConverter: ConvertMessage; + /// Process the message that was submitted. + type MessageProcessor: MessageProcessor; #[cfg(feature = "runtime-benchmarks")] type Helper: BenchmarkHelper; /// Reward discriminator type. @@ -104,8 +97,6 @@ pub mod pallet { type DefaultRewardKind: Get; /// Relayer reward payment. type RewardPayment: RewardLedger; - /// AccountId to Location converter - type AccountToLocation: for<'a> TryConvert<&'a Self::AccountId, Location>; type WeightInfo: WeightInfo; } @@ -127,22 +118,10 @@ pub mod pallet { pub enum Error { /// Message came from an invalid outbound channel on the Ethereum side. InvalidGateway, - /// Account could not be converted to bytes - InvalidAccount, /// Message has an invalid envelope. InvalidMessage, /// Message has an unexpected nonce. InvalidNonce, - /// Fee provided is invalid. - InvalidFee, - /// Message has an invalid payload. - InvalidPayload, - /// Message channel is invalid - InvalidChannel, - /// The max nonce for the type has been reached - MaxNonceReached, - /// Cannot convert location - InvalidAccountConversion, /// Invalid network specified InvalidNetwork, /// Pallet is halted @@ -242,19 +221,14 @@ pub mod pallet { // Verify the message has not been processed ensure!(!Nonce::::get(nonce), Error::::InvalidNonce); - let xcm = - T::MessageConverter::convert(message).map_err(|error| Error::::from(error))?; - - // Forward XCM to AH - let dest = Location::new(1, [Parachain(T::AssetHubParaId::get())]); - // Mark message as received Nonce::::set(nonce); - let message_id = - Self::send_xcm(dest.clone(), &relayer, xcm.clone()).map_err(|error| { - tracing::error!(target: LOG_TARGET, ?error, ?dest, ?xcm, "XCM send failed with error"); - Error::::from(error) + let message_id = T::MessageProcessor::process_message(relayer.clone(), message) + .map_err(|e| match e { + MessageProcessorError::ProcessMessage(e) => e, + MessageProcessorError::ConvertMessage(e) => Error::::from(e).into(), + MessageProcessorError::SendMessage(e) => Error::::from(e).into(), })?; // Pay relayer reward @@ -264,35 +238,11 @@ pub mod pallet { T::RewardPayment::register_reward(&relayer, T::DefaultRewardKind::get(), total_tip); } + // Emit event with the message_id Self::deposit_event(Event::MessageReceived { nonce, message_id }); Ok(()) } - - fn send_xcm( - dest: Location, - fee_payer: &T::AccountId, - xcm: Xcm<()>, - ) -> Result { - let (ticket, fee) = validate_send::(dest, xcm)?; - let fee_payer = T::AccountToLocation::try_convert(fee_payer).map_err(|err| { - tracing::error!( - target: LOG_TARGET, - ?err, - "Failed to convert account to XCM location", - ); - SendError::NotApplicable - })?; - T::XcmExecutor::charge_fees(fee_payer.clone(), fee.clone()).map_err(|error| { - tracing::error!( - target: LOG_TARGET, - ?error, - "Charging fees failed with error", - ); - SendError::Fees - })?; - T::XcmSender::deliver(ticket) - } } impl AddTip for Pallet { @@ -304,7 +254,7 @@ pub mod pallet { Tips::::mutate(nonce, |tip| { *tip = Some(tip.unwrap_or_default().saturating_add(amount)); }); - return Ok(()) + return Ok(()); } } } diff --git a/bridges/snowbridge/pallets/inbound-queue-v2/src/mock.rs b/bridges/snowbridge/pallets/inbound-queue-v2/src/mock.rs index 0da332f59e347..8c9d12d0c683d 100644 --- a/bridges/snowbridge/pallets/inbound-queue-v2/src/mock.rs +++ b/bridges/snowbridge/pallets/inbound-queue-v2/src/mock.rs @@ -3,19 +3,19 @@ use super::*; use crate::{self as inbound_queue_v2}; -use frame_support::{derive_impl, parameter_types, traits::ConstU32}; +use frame_support::{derive_impl, parameter_types}; use hex_literal::hex; use snowbridge_beacon_primitives::{ types::deneb, BeaconHeader, ExecutionProof, VersionedExecutionPayloadHeader, }; use snowbridge_core::{ParaId, TokenId}; use snowbridge_inbound_queue_primitives::{ - v2::{CreateAssetCallInfo, MessageToXcm}, + v2::{CreateAssetCallInfo, MessageProcessorError, MessageToXcm, XcmMessageProcessor}, Log, Proof, VerificationError, }; use sp_core::H160; use sp_runtime::{ - traits::{IdentityLookup, MaybeConvert}, + traits::{IdentityLookup, MaybeConvert, TryConvert}, BuildStorage, }; use sp_std::{convert::From, default::Default, marker::PhantomData}; @@ -68,7 +68,7 @@ pub struct MockVerifier; impl Verifier for MockVerifier { fn verify(log: &Log, _: &Proof) -> Result<(), VerificationError> { if log.address == ERROR_ADDRESS.into() { - return Err(VerificationError::InvalidProof) + return Err(VerificationError::InvalidProof); } Ok(()) } @@ -116,29 +116,68 @@ parameter_types! { set_reserves_call: SetReservesCallIndex::get(), }; pub AssetHubParaId: ParaId = ParaId::from(1000); + pub TargetLocation: Location = Location::new(1, [Parachain(AssetHubParaId::get().into())]); +} + +pub struct DummyPrefix; + +impl MessageProcessor for DummyPrefix { + fn can_process_message(_relayer: &AccountId, _message: &Message) -> bool { + false + } + + fn process_message( + _relayer: AccountId, + _message: Message, + ) -> Result<[u8; 32], MessageProcessorError> { + panic!("DummyPrefix::process_message shouldn't be called"); + } +} + +pub struct DummySuffix; + +impl MessageProcessor for DummySuffix { + fn can_process_message(_relayer: &AccountId, _message: &Message) -> bool { + true + } + + fn process_message( + _relayer: AccountId, + _message: Message, + ) -> Result<[u8; 32], MessageProcessorError> { + panic!("DummySuffix::process_message shouldn't be called"); + } } impl inbound_queue_v2::Config for Test { type RuntimeEvent = RuntimeEvent; type Verifier = MockVerifier; - type XcmSender = MockXcmSender; - type XcmExecutor = MockXcmExecutor; type GatewayAddress = GatewayAddress; - type AssetHubParaId = ConstU32<1000>; - type MessageConverter = MessageToXcm< - CreateAssetCall, - EthereumNetwork, - LocalNetwork, - GatewayAddress, - InboundQueueLocation, - AssetHubParaId, - MockTokenIdConvert, - AccountId, - >; + // Passively test that the implementation of MessageProcessor trait works correctly for tuple + type MessageProcessor = ( + DummyPrefix, + XcmMessageProcessor< + Test, + MockXcmSender, + MockXcmExecutor, + MessageToXcm< + CreateAssetCall, + EthereumNetwork, + LocalNetwork, + GatewayAddress, + InboundQueueLocation, + AssetHubParaId, + MockTokenIdConvert, + AccountId, + >, + MockAccountLocationConverter, + TargetLocation, + >, + DummySuffix, + ); #[cfg(feature = "runtime-benchmarks")] type Helper = Test; type WeightInfo = (); - type AccountToLocation = MockAccountLocationConverter; type RewardKind = BridgeReward; type DefaultRewardKind = SnowbridgeReward; type RewardPayment = MockRewardLedger; diff --git a/bridges/snowbridge/pallets/inbound-queue-v2/src/test.rs b/bridges/snowbridge/pallets/inbound-queue-v2/src/test.rs index 65b084ea11c28..fe08daeaba803 100644 --- a/bridges/snowbridge/pallets/inbound-queue-v2/src/test.rs +++ b/bridges/snowbridge/pallets/inbound-queue-v2/src/test.rs @@ -5,13 +5,14 @@ use super::*; use crate::{mock::*, Error}; use codec::Encode; use frame_support::{assert_noop, assert_ok}; -use snowbridge_inbound_queue_primitives::{v2::XcmPayload, EventProof, Proof}; +use snowbridge_inbound_queue_primitives::{v2::Payload, EventProof, Proof}; use snowbridge_test_utils::{ mock_rewards::{RegisteredRewardAmount, RegisteredRewardsCount}, mock_xcm::{set_charge_fees_override, set_sender_override}, }; use sp_keyring::sr25519::Keyring; use sp_runtime::DispatchError; +use xcm::prelude::*; #[test] fn test_submit_happy_path() { @@ -334,7 +335,7 @@ fn zero_reward_does_not_register_reward() { Message { nonce: 0, assets: vec![], - xcm: XcmPayload::Raw(vec![]), + payload: Payload::Raw(vec![]), claimer: None, execution_fee: 1_000_000_000, relayer_fee: 0, @@ -408,7 +409,7 @@ fn inbound_tip_is_paid_out_to_relayer() { Message { nonce, assets: vec![], - xcm: XcmPayload::Raw(vec![]), + payload: Payload::Raw(vec![]), claimer: None, execution_fee: 1_000_000_000, relayer_fee, @@ -453,7 +454,7 @@ fn relayer_fee_paid_out_when_no_tip_exists() { Message { nonce, assets: vec![], - xcm: XcmPayload::Raw(vec![]), + payload: Payload::Raw(vec![]), claimer: None, execution_fee: 1_000_000_000, relayer_fee, @@ -499,7 +500,7 @@ fn tip_paid_out_when_no_relayer_fee() { Message { nonce, assets: vec![], - xcm: XcmPayload::Raw(vec![]), + payload: Payload::Raw(vec![]), claimer: None, execution_fee: 1_000_000_000, relayer_fee: 0, diff --git a/bridges/snowbridge/pallets/inbound-queue/fixtures/src/register_token.rs b/bridges/snowbridge/pallets/inbound-queue/fixtures/src/register_token.rs index 63868f36f0997..9a17c38f5530a 100644 --- a/bridges/snowbridge/pallets/inbound-queue/fixtures/src/register_token.rs +++ b/bridges/snowbridge/pallets/inbound-queue/fixtures/src/register_token.rs @@ -24,13 +24,10 @@ pub fn make_register_token_message() -> EventFixture { data: hex!("00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002e00a736aa00000000000087d1f7fdfee7f651fabc8bfcb6e086c278b77a7d00e40b54020000000000000000000000000000000000000000000000000000000000").into(), }, proof: Proof { - receipt_proof: (vec![ - hex!("dccdfceea05036f7b61dcdabadc937945d31e68a8d3dfd4dc85684457988c284").to_vec(), - hex!("4a98e45a319168b0fc6005ce6b744ee9bf54338e2c0784b976a8578d241ced0f").to_vec(), - ], vec![ + receipt_proof: vec![ hex!("f851a09c01dd6d2d8de951c45af23d3ad00829ce021c04d6c8acbe1612d456ee320d4980808080808080a04a98e45a319168b0fc6005ce6b744ee9bf54338e2c0784b976a8578d241ced0f8080808080808080").to_vec(), hex!("f9028c30b9028802f90284018301d205b9010000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000080000000000000000000000000000004000000000080000000000000000000000000000000000010100000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000040004000000000000002000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000200000000000010f90179f85894eda338e4dc46038493b885327842fd3e301cab39e1a0f78bb28d4b1d7da699e5c0bc2be29c2b04b5aab6aacf6298fe5304f9db9c6d7ea000000000000000000000000087d1f7fdfee7f651fabc8bfcb6e086c278b77a7df9011c94eda338e4dc46038493b885327842fd3e301cab39f863a07153f9357c8ea496bba60bf82e67143e27b64462b49041f8e689e1b05728f84fa0c173fac324158e77fb5840738a1a541f633cbec8884c6a601c567d2b376a0539a05f7060e971b0dc81e63f0aa41831091847d97c1a4693ac450cc128c7214e65e0b8a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002e00a736aa00000000000087d1f7fdfee7f651fabc8bfcb6e086c278b77a7d00e40b54020000000000000000000000000000000000000000000000000000000000").to_vec(), - ]), + ], execution_proof: ExecutionProof { header: BeaconHeader { slot: 393, diff --git a/bridges/snowbridge/pallets/inbound-queue/fixtures/src/send_native_eth.rs b/bridges/snowbridge/pallets/inbound-queue/fixtures/src/send_native_eth.rs index e277f27166e08..58a42f00938c8 100755 --- a/bridges/snowbridge/pallets/inbound-queue/fixtures/src/send_native_eth.rs +++ b/bridges/snowbridge/pallets/inbound-queue/fixtures/src/send_native_eth.rs @@ -24,11 +24,9 @@ pub fn make_send_native_eth_message() -> EventFixture { data: hex!("00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005f00a736aa0000000000010000000000000000000000000000000000000000008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48000064a7b3b6e00d000000000000000000e8764817000000000000000000000000").into(), }, proof: Proof { - receipt_proof: (vec![ - hex!("17cd4d05dde30703008a4f213205923630cff8e6bc9d5d95a52716bfb5551fd7").to_vec(), - ], vec![ + receipt_proof: vec![ hex!("f903b4822080b903ae02f903aa018301a7fcb9010000000000000000000000000020000000000000000000004000000000000000000400000000000000000000001000000000000000000000000000000000000000000000000000000001080000000000000000000000000000000000000000080000000000020000000000000000000800010100000000000000000000000000000000000200000000000000000000000000001000000040080008000000000000000000040000000021000000002000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000200000000000000f9029ff9015d9487d1f7fdfee7f651fabc8bfcb6e086c278b77a7df884a024c5d2de620c6e25186ae16f6919eba93b6e2c1a33857cc419d9f3a00d6967e9a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000090a987b944cb1dcce5564e5fdecd7a54d3de27fea000000000000000000000000000000000000000000000000000000000000003e8b8c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000208eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48f9013c9487d1f7fdfee7f651fabc8bfcb6e086c278b77a7df863a07153f9357c8ea496bba60bf82e67143e27b64462b49041f8e689e1b05728f84fa0c173fac324158e77fb5840738a1a541f633cbec8884c6a601c567d2b376a0539a05f7060e971b0dc81e63f0aa41831091847d97c1a4693ac450cc128c7214e65e0b8c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005f00a736aa0000000000010000000000000000000000000000000000000000008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48000064a7b3b6e00d000000000000000000e8764817000000000000000000000000").to_vec(), - ]), + ], execution_proof: ExecutionProof { header: BeaconHeader { slot: 246, diff --git a/bridges/snowbridge/pallets/inbound-queue/fixtures/src/send_token.rs b/bridges/snowbridge/pallets/inbound-queue/fixtures/src/send_token.rs index bd72afc13e2b7..d9d62377d7b0e 100755 --- a/bridges/snowbridge/pallets/inbound-queue/fixtures/src/send_token.rs +++ b/bridges/snowbridge/pallets/inbound-queue/fixtures/src/send_token.rs @@ -24,11 +24,9 @@ pub fn make_send_token_message() -> EventFixture { data: hex!("00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005f00a736aa00000000000187d1f7fdfee7f651fabc8bfcb6e086c278b77a7d008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48000064a7b3b6e00d000000000000000000e40b5402000000000000000000000000").into(), }, proof: Proof { - receipt_proof: (vec![ - hex!("f9d844c5b79638609ba385b910fec3b5d891c9d7b189f135f0432f33473de915").to_vec(), - ], vec![ + receipt_proof: vec![ hex!("f90451822080b9044b02f90447018301bcb6b9010000800000000000000000000020000000000000000000004000000000000000000400000000000000000000001000000010000000000000000000000008000000200000000000000001000008000000000000000000000000000000008000080000000000200000000000000000000000000100000000000000000011000000000000020200000000000000000000000000003000000040080008000000000000000000040044000021000000002000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000200800000000000f9033cf89b9487d1f7fdfee7f651fabc8bfcb6e086c278b77a7df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000090a987b944cb1dcce5564e5fdecd7a54d3de27fea000000000000000000000000057a2d4ff0c3866d96556884bf09fecdd7ccd530ca00000000000000000000000000000000000000000000000000de0b6b3a7640000f9015d94eda338e4dc46038493b885327842fd3e301cab39f884a024c5d2de620c6e25186ae16f6919eba93b6e2c1a33857cc419d9f3a00d6967e9a000000000000000000000000087d1f7fdfee7f651fabc8bfcb6e086c278b77a7da000000000000000000000000090a987b944cb1dcce5564e5fdecd7a54d3de27fea000000000000000000000000000000000000000000000000000000000000003e8b8c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000208eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48f9013c94eda338e4dc46038493b885327842fd3e301cab39f863a07153f9357c8ea496bba60bf82e67143e27b64462b49041f8e689e1b05728f84fa0c173fac324158e77fb5840738a1a541f633cbec8884c6a601c567d2b376a0539a0c8eaf22f2cb07bac4679df0a660e7115ed87fcfd4e32ac269f6540265bbbd26fb8c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005f00a736aa00000000000187d1f7fdfee7f651fabc8bfcb6e086c278b77a7d008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48000064a7b3b6e00d000000000000000000e40b5402000000000000000000000000").to_vec(), - ]), + ], execution_proof: ExecutionProof { header: BeaconHeader { slot: 2321, diff --git a/bridges/snowbridge/pallets/inbound-queue/fixtures/src/send_token_to_penpal.rs b/bridges/snowbridge/pallets/inbound-queue/fixtures/src/send_token_to_penpal.rs index a61b13f9582a9..6f994eae4c010 100755 --- a/bridges/snowbridge/pallets/inbound-queue/fixtures/src/send_token_to_penpal.rs +++ b/bridges/snowbridge/pallets/inbound-queue/fixtures/src/send_token_to_penpal.rs @@ -24,11 +24,9 @@ pub fn make_send_token_to_penpal_message() -> EventFixture { data: hex!("00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000007300a736aa00000000000187d1f7fdfee7f651fabc8bfcb6e086c278b77a7d01d00700001cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c00286bee000000000000000000000000000064a7b3b6e00d000000000000000000e40b5402000000000000000000000000000000000000000000000000").into(), }, proof: Proof { - receipt_proof: (vec![ - hex!("106f1eaeac04e469da0020ad5c8a72af66323638bd3f561a3c8236063202c120").to_vec(), - ], vec![ + receipt_proof: vec![ hex!("f90471822080b9046b02f904670183017d9cb9010000800000000000008000000000000000000000000000004000000000000000000400000000004000000000001000000010000000000000000000001008000000000000000000000001000008000040000000000000000000000000008000080000000000200000000000000000000000000100000000000000000010000000000000020000000000000000000000000000003000000000080018000000000000000000040004000021000000002000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000200820000000000f9035cf89b9487d1f7fdfee7f651fabc8bfcb6e086c278b77a7df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000090a987b944cb1dcce5564e5fdecd7a54d3de27fea000000000000000000000000057a2d4ff0c3866d96556884bf09fecdd7ccd530ca00000000000000000000000000000000000000000000000000de0b6b3a7640000f9015d94eda338e4dc46038493b885327842fd3e301cab39f884a024c5d2de620c6e25186ae16f6919eba93b6e2c1a33857cc419d9f3a00d6967e9a000000000000000000000000087d1f7fdfee7f651fabc8bfcb6e086c278b77a7da000000000000000000000000090a987b944cb1dcce5564e5fdecd7a54d3de27fea000000000000000000000000000000000000000000000000000000000000007d0b8c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000201cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07cf9015c94eda338e4dc46038493b885327842fd3e301cab39f863a07153f9357c8ea496bba60bf82e67143e27b64462b49041f8e689e1b05728f84fa0c173fac324158e77fb5840738a1a541f633cbec8884c6a601c567d2b376a0539a0be323bced46a1a49c8da2ab62ad5e974fd50f1dabaeed70b23ca5bcf14bfe4aab8e000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000007300a736aa00000000000187d1f7fdfee7f651fabc8bfcb6e086c278b77a7d01d00700001cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c00286bee000000000000000000000000000064a7b3b6e00d000000000000000000e40b5402000000000000000000000000000000000000000000000000").to_vec(), - ]), + ], execution_proof: ExecutionProof { header: BeaconHeader { slot: 4235, diff --git a/bridges/snowbridge/pallets/inbound-queue/src/lib.rs b/bridges/snowbridge/pallets/inbound-queue/src/lib.rs index 02620844e0956..c3b35adb5cad0 100644 --- a/bridges/snowbridge/pallets/inbound-queue/src/lib.rs +++ b/bridges/snowbridge/pallets/inbound-queue/src/lib.rs @@ -209,10 +209,12 @@ pub mod pallet { XcmpSendError::NotApplicable => Error::::Send(SendError::NotApplicable), XcmpSendError::Unroutable => Error::::Send(SendError::NotRoutable), XcmpSendError::Transport(_) => Error::::Send(SendError::Transport), - XcmpSendError::DestinationUnsupported => - Error::::Send(SendError::DestinationUnsupported), - XcmpSendError::ExceedsMaxMessageSize => - Error::::Send(SendError::ExceedsMaxMessageSize), + XcmpSendError::DestinationUnsupported => { + Error::::Send(SendError::DestinationUnsupported) + }, + XcmpSendError::ExceedsMaxMessageSize => { + Error::::Send(SendError::ExceedsMaxMessageSize) + }, XcmpSendError::MissingArgument => Error::::Send(SendError::MissingArgument), XcmpSendError::Fees => Error::::Send(SendError::Fees), } @@ -255,7 +257,7 @@ pub mod pallet { // Verify message nonce >::try_mutate(envelope.channel_id, |nonce| -> DispatchResult { if *nonce == u64::MAX { - return Err(Error::::MaxNonceReached.into()) + return Err(Error::::MaxNonceReached.into()); } if envelope.nonce != nonce.saturating_add(1) { Err(Error::::InvalidNonce.into()) diff --git a/bridges/snowbridge/pallets/inbound-queue/src/mock.rs b/bridges/snowbridge/pallets/inbound-queue/src/mock.rs index c26fa14420bf1..dd4e0102decdc 100644 --- a/bridges/snowbridge/pallets/inbound-queue/src/mock.rs +++ b/bridges/snowbridge/pallets/inbound-queue/src/mock.rs @@ -185,7 +185,7 @@ impl StaticLookup for MockChannelLookup { if channel_id != hex!("c173fac324158e77fb5840738a1a541f633cbec8884c6a601c567d2b376a0539").into() { - return None + return None; } Some(Channel { agent_id: H256::zero(), para_id: ASSET_HUB_PARAID.into() }) } @@ -201,16 +201,24 @@ impl TransactAsset for SuccessfulTransactor { Ok(()) } - fn deposit_asset(_what: &Asset, _who: &Location, _context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + _what: AssetsInHolding, + _who: &Location, + _context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { Ok(()) } fn withdraw_asset( - _what: &Asset, + what: &Asset, _who: &Location, _context: Option<&XcmContext>, ) -> Result { - Ok(AssetsInHolding::default()) + Ok(xcm_executor::test_helpers::mock_asset_to_holding(what.clone())) + } + + fn mint_asset(what: &Asset, _context: &XcmContext) -> Result { + Ok(xcm_executor::test_helpers::mock_asset_to_holding(what.clone())) } fn internal_transfer_asset( @@ -218,8 +226,8 @@ impl TransactAsset for SuccessfulTransactor { _from: &Location, _to: &Location, _context: &XcmContext, - ) -> Result { - Ok(AssetsInHolding::default()) + ) -> Result { + Ok(_what.clone()) } } diff --git a/bridges/snowbridge/pallets/outbound-queue-v2/src/api.rs b/bridges/snowbridge/pallets/outbound-queue-v2/src/api.rs index 37b174f4a02cd..2248078ca82e0 100644 --- a/bridges/snowbridge/pallets/outbound-queue-v2/src/api.rs +++ b/bridges/snowbridge/pallets/outbound-queue-v2/src/api.rs @@ -11,7 +11,7 @@ where T: Config, { if !MessageLeaves::::exists() { - return None + return None; } let proof = merkle_proof::<::Hashing, _>(MessageLeaves::::stream_iter(), leaf_index); diff --git a/bridges/snowbridge/pallets/outbound-queue-v2/src/fixture.rs b/bridges/snowbridge/pallets/outbound-queue-v2/src/fixture.rs index b6c4a9d998265..46f56864e1dd6 100644 --- a/bridges/snowbridge/pallets/outbound-queue-v2/src/fixture.rs +++ b/bridges/snowbridge/pallets/outbound-queue-v2/src/fixture.rs @@ -23,11 +23,9 @@ pub fn make_submit_delivery_receipt_message() -> EventFixture { data: hex!("907b6ec7bf3f2496ef79238e0fb19e032bfe444c7ffe906bd340c6c4ffe8511f0000000000000000000000000000000000000000000000000000000000000001d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d").into(), }, proof: Proof { - receipt_proof: (vec![ - hex!("8a40611a32af2ad0ad63bf32e8c633ff209e6f701645b8f25e492327cd95d4e0").to_vec(), - ], vec![ + receipt_proof: vec![ hex!("f9024e822080b9024802f9024401830d716eb9010000200000000000000000000000000000080000000000000000000000000000000000000000000004000000000000000000000000000000000000000000008000000000000000000801000000000000000000000000000000000000000000000000000000020000000008000000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000800000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000020000000000200000000000000000000000000000000000000000000000000000000f90139f87a94b1185ede04202fe62d38f5db72f71e38ff3e8305f842a057f58171b8777633d03aff1e7408b96a3d910c93a7ce433a8cb7fb837dc306a6a09441dceeeffa7e032eedaccf9b7632e60e86711551a82ffbbb0dda8afd9e4ef7a0000000000000000000000000de45448ca2d57797c0bec0ee15a1e42334744219f8bb94b1185ede04202fe62d38f5db72f71e38ff3e8305f842a08856ab63954e6c2938803a4654fb704c8779757e7bfdbe94a578e341ec637a95a00000000000000000000000000000000000000000000000000000000000000000b860907b6ec7bf3f2496ef79238e0fb19e032bfe444c7ffe906bd340c6c4ffe8511f0000000000000000000000000000000000000000000000000000000000000001d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d").to_vec(), - ]), + ], execution_proof: ExecutionProof { header: BeaconHeader { slot: 663, diff --git a/bridges/snowbridge/pallets/outbound-queue-v2/src/process_message_impl.rs b/bridges/snowbridge/pallets/outbound-queue-v2/src/process_message_impl.rs index 0301e9e2208d0..b08a97fb22b3b 100644 --- a/bridges/snowbridge/pallets/outbound-queue-v2/src/process_message_impl.rs +++ b/bridges/snowbridge/pallets/outbound-queue-v2/src/process_message_impl.rs @@ -22,7 +22,7 @@ impl ProcessMessage for Pallet { payload: message.to_vec(), reason: ProcessMessageError::Overweight(weight), }); - return Err(ProcessMessageError::Overweight(weight)) + return Err(ProcessMessageError::Overweight(weight)); } Self::do_process_message(origin, message) } diff --git a/bridges/snowbridge/pallets/outbound-queue/src/api.rs b/bridges/snowbridge/pallets/outbound-queue/src/api.rs index 46e46c94adf15..7e09713fb3ec0 100644 --- a/bridges/snowbridge/pallets/outbound-queue/src/api.rs +++ b/bridges/snowbridge/pallets/outbound-queue/src/api.rs @@ -14,7 +14,7 @@ where T: Config, { if !MessageLeaves::::exists() { - return None + return None; } let proof = merkle_proof::<::Hashing, _>(MessageLeaves::::stream_iter(), leaf_index); diff --git a/bridges/snowbridge/pallets/outbound-queue/src/lib.rs b/bridges/snowbridge/pallets/outbound-queue/src/lib.rs index e78a56389a68f..ad56a1b32a2f5 100644 --- a/bridges/snowbridge/pallets/outbound-queue/src/lib.rs +++ b/bridges/snowbridge/pallets/outbound-queue/src/lib.rs @@ -283,7 +283,7 @@ pub mod pallet { pub(crate) fn commit() { let count = MessageLeaves::::decode_len().unwrap_or_default() as u64; if count == 0 { - return + return; } // Create merkle root of messages diff --git a/bridges/snowbridge/pallets/outbound-queue/src/process_message_impl.rs b/bridges/snowbridge/pallets/outbound-queue/src/process_message_impl.rs index 731aa6fa6d5ca..0c861da6a361f 100644 --- a/bridges/snowbridge/pallets/outbound-queue/src/process_message_impl.rs +++ b/bridges/snowbridge/pallets/outbound-queue/src/process_message_impl.rs @@ -18,7 +18,7 @@ impl ProcessMessage for Pallet { ) -> Result { let weight = T::WeightInfo::do_process_message(); if meter.try_consume(weight).is_err() { - return Err(ProcessMessageError::Overweight(weight)) + return Err(ProcessMessageError::Overweight(weight)); } Self::do_process_message(origin, message) } diff --git a/bridges/snowbridge/pallets/system-frontend/src/lib.rs b/bridges/snowbridge/pallets/system-frontend/src/lib.rs index af95fbcb0320d..e9360455cf547 100644 --- a/bridges/snowbridge/pallets/system-frontend/src/lib.rs +++ b/bridges/snowbridge/pallets/system-frontend/src/lib.rs @@ -1,6 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-FileCopyrightText: 2023 Snowfork -//! //! System frontend pallet that acts as the user-facing control-plane for Snowbridge. //! //! Some operations are delegated to a backend pallet installed on a remote parachain. @@ -379,11 +378,11 @@ pub mod pallet { Asset { id: AssetId(ref loc), fun: Fungible(amount) } => (loc, amount), _ => { tracing::debug!(target: LOG_TARGET, ?fee_asset, "error matching fee asset"); - return Err(Error::::UnsupportedAsset.into()) + return Err(Error::::UnsupportedAsset.into()); }, }; if fee_amount == 0 { - return Ok(0) + return Ok(0); } let ether_gained = if *fee_asset_location != ether_location { diff --git a/bridges/snowbridge/pallets/system-frontend/src/mock.rs b/bridges/snowbridge/pallets/system-frontend/src/mock.rs index d4f6562d6a33a..013b1ac49af40 100644 --- a/bridges/snowbridge/pallets/system-frontend/src/mock.rs +++ b/bridges/snowbridge/pallets/system-frontend/src/mock.rs @@ -80,8 +80,9 @@ pub struct AccountIdConverter; impl xcm_executor::traits::ConvertLocation for AccountIdConverter { fn convert_location(ml: &Location) -> Option { match ml.unpack() { - (0, [Junction::AccountId32 { id, .. }]) => - Some(::decode(&mut &*id.to_vec()).unwrap()), + (0, [Junction::AccountId32 { id, .. }]) => { + Some(::decode(&mut &*id.to_vec()).unwrap()) + }, (1, [Parachain(id)]) => Some(ParaId::from(*id).into_account_truncating()), _ => None, } diff --git a/bridges/snowbridge/primitives/beacon/src/merkle_proof.rs b/bridges/snowbridge/primitives/beacon/src/merkle_proof.rs index a6ee6e9452c39..a6832deda78fe 100644 --- a/bridges/snowbridge/primitives/beacon/src/merkle_proof.rs +++ b/bridges/snowbridge/primitives/beacon/src/merkle_proof.rs @@ -4,7 +4,7 @@ use sp_core::H256; use sp_io::hashing::sha2_256; /// Specified by -/// with improvements from +/// with improvements from pub fn verify_merkle_branch( leaf: H256, branch: &[H256], @@ -14,7 +14,7 @@ pub fn verify_merkle_branch( ) -> bool { // verify the proof length if branch.len() != depth { - return false + return false; } // verify the computed merkle root root == compute_merkle_root(leaf, branch, index) @@ -44,7 +44,7 @@ fn generalized_index_bit(index: usize, position: usize) -> bool { index & (1 << position) > 0 } -/// Spec: +/// Spec: pub const fn subtree_index(generalized_index: usize) -> usize { generalized_index % (1 << generalized_index_length(generalized_index)) } diff --git a/bridges/snowbridge/primitives/beacon/src/receipt.rs b/bridges/snowbridge/primitives/beacon/src/receipt.rs index 8bb3921c385bb..f31fc9561f7c1 100644 --- a/bridges/snowbridge/primitives/beacon/src/receipt.rs +++ b/bridges/snowbridge/primitives/beacon/src/receipt.rs @@ -7,8 +7,9 @@ use sp_std::prelude::*; pub fn verify_receipt_proof(receipts_root: H256, values: &[Vec]) -> Option { match apply_merkle_proof(values) { - Some((root, data)) if root == receipts_root => - ReceiptEnvelope::decode(&mut data.as_slice()).ok(), + Some((root, data)) if root == receipts_root => { + ReceiptEnvelope::decode(&mut data.as_slice()).ok() + }, Some((_, _)) => None, None => None, } @@ -25,7 +26,7 @@ fn apply_merkle_proof(proof: &[Vec]) -> Option<(H256, Vec)> { let final_hash: Option<[u8; 32]> = iter.try_fold(keccak_256(first_bytes), |acc, x| { let node: Box = x.as_slice().try_into().ok()?; if (*node).contains_hash(acc.into()) { - return Some(keccak_256(x)) + return Some(keccak_256(x)); } None }); diff --git a/bridges/snowbridge/primitives/beacon/src/serde_utils.rs b/bridges/snowbridge/primitives/beacon/src/serde_utils.rs index 5e39ff9122577..f3a559313c1be 100644 --- a/bridges/snowbridge/primitives/beacon/src/serde_utils.rs +++ b/bridges/snowbridge/primitives/beacon/src/serde_utils.rs @@ -118,7 +118,7 @@ impl<'de, const LENGTH: usize> serde::de::Visitor<'de> for HexVisitor { Err(e) => return Err(serde::de::Error::custom(e.to_string())), }; if decoded.len() != LENGTH { - return Err(serde::de::Error::custom("publickey expected to be 48 characters")) + return Err(serde::de::Error::custom("publickey expected to be 48 characters")); } let data: Self::Value = decoded diff --git a/bridges/snowbridge/primitives/beacon/src/types.rs b/bridges/snowbridge/primitives/beacon/src/types.rs index accb0e813b99c..9f5802c80ec04 100644 --- a/bridges/snowbridge/primitives/beacon/src/types.rs +++ b/bridges/snowbridge/primitives/beacon/src/types.rs @@ -392,41 +392,49 @@ pub enum VersionedExecutionPayloadHeader { impl VersionedExecutionPayloadHeader { pub fn hash_tree_root(&self) -> Result { match self { - VersionedExecutionPayloadHeader::Capella(execution_payload_header) => + VersionedExecutionPayloadHeader::Capella(execution_payload_header) => { hash_tree_root::( execution_payload_header.clone().try_into()?, - ), - VersionedExecutionPayloadHeader::Deneb(execution_payload_header) => + ) + }, + VersionedExecutionPayloadHeader::Deneb(execution_payload_header) => { hash_tree_root::( execution_payload_header.clone().try_into()?, - ), + ) + }, } } pub fn block_hash(&self) -> H256 { match self { - VersionedExecutionPayloadHeader::Capella(execution_payload_header) => - execution_payload_header.block_hash, - VersionedExecutionPayloadHeader::Deneb(execution_payload_header) => - execution_payload_header.block_hash, + VersionedExecutionPayloadHeader::Capella(execution_payload_header) => { + execution_payload_header.block_hash + }, + VersionedExecutionPayloadHeader::Deneb(execution_payload_header) => { + execution_payload_header.block_hash + }, } } pub fn block_number(&self) -> u64 { match self { - VersionedExecutionPayloadHeader::Capella(execution_payload_header) => - execution_payload_header.block_number, - VersionedExecutionPayloadHeader::Deneb(execution_payload_header) => - execution_payload_header.block_number, + VersionedExecutionPayloadHeader::Capella(execution_payload_header) => { + execution_payload_header.block_number + }, + VersionedExecutionPayloadHeader::Deneb(execution_payload_header) => { + execution_payload_header.block_number + }, } } pub fn receipts_root(&self) -> H256 { match self { - VersionedExecutionPayloadHeader::Capella(execution_payload_header) => - execution_payload_header.receipts_root, - VersionedExecutionPayloadHeader::Deneb(execution_payload_header) => - execution_payload_header.receipts_root, + VersionedExecutionPayloadHeader::Capella(execution_payload_header) => { + execution_payload_header.receipts_root + }, + VersionedExecutionPayloadHeader::Deneb(execution_payload_header) => { + execution_payload_header.receipts_root + }, } } } @@ -600,7 +608,7 @@ pub mod deneb { use sp_std::prelude::*; /// ExecutionPayloadHeader - /// + /// #[derive( Default, Encode, diff --git a/bridges/snowbridge/primitives/core/src/location.rs b/bridges/snowbridge/primitives/core/src/location.rs index beeb4bb6b0e3a..8cf679d74ffaa 100644 --- a/bridges/snowbridge/primitives/core/src/location.rs +++ b/bridges/snowbridge/primitives/core/src/location.rs @@ -77,21 +77,25 @@ impl DescribeLocation for DescribeTokenTerminal { match l.unpack().1 { [] => Some(Vec::::new().encode()), [GeneralIndex(index)] => Some((b"GeneralIndex", *index).encode()), - [GeneralKey { data, .. }] => Some((b"GeneralKey", *data).encode()), + [GeneralKey { length, data }] => Some((b"GeneralKey", *length, *data).encode()), [AccountKey20 { key, .. }] => Some((b"AccountKey20", *key).encode()), [AccountId32 { id, .. }] => Some((b"AccountId32", *id).encode()), // Pallet [PalletInstance(instance)] => Some((b"PalletInstance", *instance).encode()), - [PalletInstance(instance), GeneralIndex(index)] => - Some((b"PalletInstance", *instance, b"GeneralIndex", *index).encode()), - [PalletInstance(instance), GeneralKey { data, .. }] => - Some((b"PalletInstance", *instance, b"GeneralKey", *data).encode()), - - [PalletInstance(instance), AccountKey20 { key, .. }] => - Some((b"PalletInstance", *instance, b"AccountKey20", *key).encode()), - [PalletInstance(instance), AccountId32 { id, .. }] => - Some((b"PalletInstance", *instance, b"AccountId32", *id).encode()), + [PalletInstance(instance), GeneralIndex(index)] => { + Some((b"PalletInstance", *instance, b"GeneralIndex", *index).encode()) + }, + [PalletInstance(instance), GeneralKey { length, data }] => { + Some((b"PalletInstance", *instance, b"GeneralKey", *length, *data).encode()) + }, + + [PalletInstance(instance), AccountKey20 { key, .. }] => { + Some((b"PalletInstance", *instance, b"AccountKey20", *key).encode()) + }, + [PalletInstance(instance), AccountId32 { id, .. }] => { + Some((b"PalletInstance", *instance, b"AccountId32", *id).encode()) + }, // Reject all other locations _ => None, diff --git a/bridges/snowbridge/primitives/core/src/pricing.rs b/bridges/snowbridge/primitives/core/src/pricing.rs index e8a8bc703ec90..8e13c7c57dae2 100644 --- a/bridges/snowbridge/primitives/core/src/pricing.rs +++ b/bridges/snowbridge/primitives/core/src/pricing.rs @@ -38,19 +38,19 @@ where { pub fn validate(&self) -> Result<(), InvalidPricingParameters> { if self.exchange_rate == FixedU128::zero() { - return Err(InvalidPricingParameters) + return Err(InvalidPricingParameters); } if self.fee_per_gas == U256::zero() { - return Err(InvalidPricingParameters) + return Err(InvalidPricingParameters); } if self.rewards.local.is_zero() { - return Err(InvalidPricingParameters) + return Err(InvalidPricingParameters); } if self.rewards.remote.is_zero() { - return Err(InvalidPricingParameters) + return Err(InvalidPricingParameters); } if self.multiplier == FixedU128::zero() { - return Err(InvalidPricingParameters) + return Err(InvalidPricingParameters); } Ok(()) } diff --git a/bridges/snowbridge/primitives/inbound-queue/Cargo.toml b/bridges/snowbridge/primitives/inbound-queue/Cargo.toml index d4de64bb444cb..1064f3ae36a5b 100644 --- a/bridges/snowbridge/primitives/inbound-queue/Cargo.toml +++ b/bridges/snowbridge/primitives/inbound-queue/Cargo.toml @@ -17,6 +17,7 @@ exclude-from-umbrella = true [dependencies] alloy-core = { workspace = true, features = ["sol-types"] } codec = { workspace = true } +impl-trait-for-tuples = { workspace = true } scale-info = { features = ["derive"], workspace = true } tracing = { workspace = true } diff --git a/bridges/snowbridge/primitives/inbound-queue/src/lib.rs b/bridges/snowbridge/primitives/inbound-queue/src/lib.rs index 140e8a4750edb..d71239eca0d59 100644 --- a/bridges/snowbridge/primitives/inbound-queue/src/lib.rs +++ b/bridges/snowbridge/primitives/inbound-queue/src/lib.rs @@ -20,10 +20,12 @@ where { fn convert_location(location: &Location) -> Option { match location.unpack() { - (2, [GlobalConsensus(Ethereum { chain_id })]) => - Some(Self::from_chain_id(chain_id).into()), - (2, [GlobalConsensus(Ethereum { chain_id }), AccountKey20 { network: _, key }]) => - Some(Self::from_chain_id_with_key(chain_id, *key).into()), + (2, [GlobalConsensus(Ethereum { chain_id })]) => { + Some(Self::from_chain_id(chain_id).into()) + }, + (2, [GlobalConsensus(Ethereum { chain_id }), AccountKey20 { network: _, key }]) => { + Some(Self::from_chain_id_with_key(chain_id, *key).into()) + }, _ => None, } } diff --git a/bridges/snowbridge/primitives/inbound-queue/src/v1.rs b/bridges/snowbridge/primitives/inbound-queue/src/v1.rs index 7e3d59d2b742e..ba603de416942 100644 --- a/bridges/snowbridge/primitives/inbound-queue/src/v1.rs +++ b/bridges/snowbridge/primitives/inbound-queue/src/v1.rs @@ -183,10 +183,12 @@ where use Command::*; use VersionedMessage::*; match message { - V1(MessageV1 { chain_id, command: RegisterToken { token, fee } }) => - Ok(Self::convert_register_token(message_id, chain_id, token, fee)), - V1(MessageV1 { chain_id, command: SendToken { token, destination, amount, fee } }) => - Ok(Self::convert_send_token(message_id, chain_id, token, destination, amount, fee)), + V1(MessageV1 { chain_id, command: RegisterToken { token, fee } }) => { + Ok(Self::convert_register_token(message_id, chain_id, token, fee)) + }, + V1(MessageV1 { chain_id, command: SendToken { token, destination, amount, fee } }) => { + Ok(Self::convert_send_token(message_id, chain_id, token, destination, amount, fee)) + }, V1(MessageV1 { chain_id, command: SendNativeToken { token_id, destination, amount, fee }, @@ -307,8 +309,9 @@ where let (dest_para_id, beneficiary, dest_para_fee) = match destination { // Final destination is a 32-byte account on AssetHub - Destination::AccountId32 { id } => - (None, Location::new(0, [AccountId32 { network: None, id }]), 0), + Destination::AccountId32 { id } => { + (None, Location::new(0, [AccountId32 { network: None, id }]), 0) + }, // Final destination is a 32-byte account on a sibling of AssetHub Destination::ForeignAccountId32 { para_id, id, fee } => ( Some(para_id), @@ -414,8 +417,9 @@ where let beneficiary = match destination { // Final destination is a 32-byte account on AssetHub - Destination::AccountId32 { id } => - Ok(Location::new(0, [AccountId32 { network: None, id }])), + Destination::AccountId32 { id } => { + Ok(Location::new(0, [AccountId32 { network: None, id }])) + }, // Forwarding to a destination parachain is not allowed for PNA and is validated on the // Ethereum side. https://github.com/Snowfork/snowbridge/blob/e87ddb2215b513455c844463a25323bb9c01ff36/contracts/src/Assets.sol#L216-L224 _ => Err(ConvertMessageError::InvalidDestination), diff --git a/bridges/snowbridge/primitives/inbound-queue/src/v2/converter.rs b/bridges/snowbridge/primitives/inbound-queue/src/v2/converter.rs index 4d2b19e4feb1c..4baa9a64519af 100644 --- a/bridges/snowbridge/primitives/inbound-queue/src/v2/converter.rs +++ b/bridges/snowbridge/primitives/inbound-queue/src/v2/converter.rs @@ -136,9 +136,9 @@ where Location::new(0, [AccountId32 { network: None, id: bridge_owner.clone().into() }]) }); - let mut remote_xcm: Xcm<()> = match &message.xcm { - XcmPayload::Raw(raw) => Self::decode_raw_xcm(raw), - XcmPayload::CreateAsset { token, network } => Self::make_create_asset_xcm( + let mut remote_xcm: Xcm<()> = match &message.payload { + Payload::Raw(raw) => Self::decode_raw_xcm(raw), + Payload::CreateAsset { token, network } => Self::make_create_asset_xcm( token, *network, message.value, @@ -522,7 +522,7 @@ mod tests { nonce: 0, origin, assets, - xcm: XcmPayload::Raw(versioned_xcm.encode()), + payload: Payload::Raw(versioned_xcm.encode()), claimer, value, execution_fee, @@ -659,7 +659,7 @@ mod tests { nonce: 0, origin, assets, - xcm: XcmPayload::Raw(versioned_xcm.encode()), + payload: Payload::Raw(versioned_xcm.encode()), claimer, value, execution_fee, @@ -711,7 +711,7 @@ mod tests { nonce: 0, origin, assets, - xcm: XcmPayload::Raw(versioned_xcm.encode()), + payload: Payload::Raw(versioned_xcm.encode()), claimer, value, execution_fee, @@ -748,7 +748,7 @@ mod tests { nonce: 0, origin, assets, - xcm: XcmPayload::Raw(versioned_xcm.encode()), + payload: Payload::Raw(versioned_xcm.encode()), claimer, value, execution_fee, @@ -817,7 +817,7 @@ mod tests { nonce: 0, origin, assets, - xcm: XcmPayload::Raw(versioned_xcm), + payload: Payload::Raw(versioned_xcm), claimer: Some(claimer.encode()), value, execution_fee, @@ -853,7 +853,7 @@ mod tests { nonce: 0, origin, assets: vec![], - xcm: XcmPayload::Raw(versioned_xcm.encode()), + payload: Payload::Raw(versioned_xcm.encode()), claimer: None, value, execution_fee, @@ -890,7 +890,7 @@ mod tests { nonce: 0, origin, assets: vec![], - xcm: XcmPayload::Raw(vec![]), + payload: Payload::Raw(vec![]), claimer: None, value, execution_fee, @@ -931,7 +931,7 @@ mod tests { nonce: 0, origin, assets: vec![], - xcm: XcmPayload::Raw(versioned_xcm.encode()), + payload: Payload::Raw(versioned_xcm.encode()), claimer: None, value, execution_fee, diff --git a/bridges/snowbridge/primitives/inbound-queue/src/v2/message.rs b/bridges/snowbridge/primitives/inbound-queue/src/v2/message.rs index a903628d454cb..937d0c9747ff2 100644 --- a/bridges/snowbridge/primitives/inbound-queue/src/v2/message.rs +++ b/bridges/snowbridge/primitives/inbound-queue/src/v2/message.rs @@ -2,7 +2,7 @@ // SPDX-FileCopyrightText: 2023 Snowfork //! Converts messages from Ethereum to XCM messages -use crate::{v2::IGatewayV2::Payload, Log}; +use crate::{v2::IGatewayV2::Payload as GatewayV2Payload, Log}; use alloy_core::{ primitives::B256, sol, @@ -81,8 +81,8 @@ impl core::fmt::Debug for IGatewayV2::Xcm { } #[derive(Clone, Encode, Decode, Debug, TypeInfo)] -pub enum XcmPayload { - /// Represents raw XCM bytes +pub enum Payload { + /// Raw bytes payload. Commonly used to represent raw XCM bytes Raw(Vec), /// A token registration template CreateAsset { token: H160, network: Network }, @@ -108,7 +108,7 @@ pub struct Message { /// The assets sent from Ethereum (ERC-20s). pub assets: Vec, /// The command originating from the Gateway contract. - pub xcm: XcmPayload, + pub payload: Payload, /// The claimer in the case that funds get trapped. Expected to be an XCM::v5::Location. pub claimer: Option>, /// Native ether bridged over from Ethereum @@ -152,27 +152,27 @@ impl TryFrom<&Log> for Message { let event = IGatewayV2::OutboundMessageAccepted::decode_raw_log_validate(topics, &log.data) .map_err(|_| MessageDecodeError)?; - let payload = event.payload; + let event_payload = event.payload; - let substrate_assets = Self::extract_assets(&payload)?; + let substrate_assets = Self::extract_assets(&event_payload)?; - let xcm = XcmPayload::try_from(&payload)?; + let message_payload = Payload::try_from(&event_payload)?; let mut claimer = None; - if payload.claimer.len() > 0 { - claimer = Some(payload.claimer.to_vec()); + if event_payload.claimer.len() > 0 { + claimer = Some(event_payload.claimer.to_vec()); } let message = Message { gateway: log.address, nonce: event.nonce, - origin: H160::from(payload.origin.as_ref()), + origin: H160::from(event_payload.origin.as_ref()), assets: substrate_assets, - xcm, + payload: message_payload, claimer, - value: payload.value, - execution_fee: payload.executionFee, - relayer_fee: payload.relayerFee, + value: event_payload.value, + execution_fee: event_payload.executionFee, + relayer_fee: event_payload.relayerFee, }; Ok(message) @@ -191,12 +191,12 @@ impl Message { } } -impl TryFrom<&IGatewayV2::Payload> for XcmPayload { +impl TryFrom<&IGatewayV2::Payload> for Payload { type Error = MessageDecodeError; - fn try_from(payload: &Payload) -> Result { + fn try_from(payload: &GatewayV2Payload) -> Result { let xcm = match payload.xcm.kind { - 0 => XcmPayload::Raw(payload.xcm.data.to_vec()), + 0 => Payload::Raw(payload.xcm.data.to_vec()), 1 => { let create_asset = IGatewayV2::XcmCreateAsset::abi_decode_validate(&payload.xcm.data) @@ -206,7 +206,7 @@ impl TryFrom<&IGatewayV2::Payload> for XcmPayload { 0 => Network::Polkadot, _ => return Err(MessageDecodeError), }; - XcmPayload::CreateAsset { token: H160::from(create_asset.token.as_ref()), network } + Payload::CreateAsset { token: H160::from(create_asset.token.as_ref()), network } }, _ => return Err(MessageDecodeError), }; diff --git a/bridges/snowbridge/primitives/inbound-queue/src/v2/mod.rs b/bridges/snowbridge/primitives/inbound-queue/src/v2/mod.rs index 98207c7944a5e..b4784eec91c8b 100644 --- a/bridges/snowbridge/primitives/inbound-queue/src/v2/mod.rs +++ b/bridges/snowbridge/primitives/inbound-queue/src/v2/mod.rs @@ -4,10 +4,12 @@ pub mod converter; pub mod message; +pub mod processor; pub mod traits; pub use converter::*; pub use message::*; +pub use processor::*; pub use traits::*; const LOG_TARGET: &str = "snowbridge-inbound-queue-primitives"; diff --git a/bridges/snowbridge/primitives/inbound-queue/src/v2/processor.rs b/bridges/snowbridge/primitives/inbound-queue/src/v2/processor.rs new file mode 100644 index 0000000000000..926912f06a66f --- /dev/null +++ b/bridges/snowbridge/primitives/inbound-queue/src/v2/processor.rs @@ -0,0 +1,110 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2023 Snowfork +//! Message processor for inbound queue v2 + +use super::*; +use frame_support::traits::Get; +use sp_runtime::traits::TryConvert; +use sp_std::marker::PhantomData; +use xcm::prelude::*; + +/// A message processor that converts messages to XCM and forwards them to AssetHub +/// Generic parameters: T = pallet Config, Sender = XCM sender, Executor = fee handler, +/// Converter = message converter, AccountToLocation = account-to-location converter +pub struct XcmMessageProcessor( + pub PhantomData<(T, Sender, Executor, Converter, AccountToLocation, TargetLocation)>, +); + +impl + MessageProcessor + for XcmMessageProcessor +where + T: frame_system::Config, + Sender: SendXcm, + Executor: ExecuteXcm, + Converter: ConvertMessage, + AccountToLocation: for<'a> TryConvert<&'a AccountId, Location>, + TargetLocation: Get, +{ + fn can_process_message(_relayer: &AccountId, _message: &Message) -> bool { + true + } + + fn process_message( + relayer: AccountId, + message: Message, + ) -> Result<[u8; 32], MessageProcessorError> { + // Process the message and return its ID + let id = Self::process_xcm(relayer, message)?; + Ok(id) + } +} + +impl + XcmMessageProcessor +where + T: frame_system::Config, + Sender: SendXcm, + Executor: ExecuteXcm, + Converter: ConvertMessage, + AccountToLocation: for<'a> TryConvert<&'a T::AccountId, Location>, + TargetLocation: Get, +{ + /// Process a message and return the message ID + pub fn process_xcm( + who: T::AccountId, + message: Message, + ) -> Result { + // Convert the message to XCM + let xcm = Converter::convert(message).map_err(|error| { + tracing::error!(target: LOG_TARGET, ?error, "XCM conversion failed with error"); + MessageProcessorError::ConvertMessage(error) + })?; + + // Forward XCM to a target location + let dest = TargetLocation::get(); + let message_id = Self::send_xcm(dest.clone(), &who, xcm.clone()).map_err(|error| { + tracing::error!(target: LOG_TARGET, ?error, ?dest, ?xcm, "XCM send failed with error"); + MessageProcessorError::SendMessage(error) + })?; + + // Return the message_id + Ok(message_id) + } +} + +impl + XcmMessageProcessor +where + T: frame_system::Config, + Sender: SendXcm, + Executor: ExecuteXcm, + Converter: ConvertMessage, + AccountToLocation: for<'a> TryConvert<&'a T::AccountId, Location>, + TargetLocation: Get, +{ + fn send_xcm( + dest: Location, + fee_payer: &T::AccountId, + xcm: Xcm<()>, + ) -> Result { + let fee_payer = AccountToLocation::try_convert(fee_payer).map_err(|err| { + tracing::error!( + target: LOG_TARGET, + ?err, + "Failed to convert account to XCM location", + ); + SendError::NotApplicable + })?; + let (ticket, fee) = validate_send::(dest, xcm)?; + Executor::charge_fees(fee_payer, fee).map_err(|error| { + tracing::error!( + target: LOG_TARGET, + ?error, + "Charging fees failed with error", + ); + SendError::Fees + })?; + Sender::deliver(ticket) + } +} diff --git a/bridges/snowbridge/primitives/inbound-queue/src/v2/traits.rs b/bridges/snowbridge/primitives/inbound-queue/src/v2/traits.rs index e52225f0049d0..f3f80bfef7655 100644 --- a/bridges/snowbridge/primitives/inbound-queue/src/v2/traits.rs +++ b/bridges/snowbridge/primitives/inbound-queue/src/v2/traits.rs @@ -2,7 +2,8 @@ // SPDX-FileCopyrightText: 2025 Snowfork // SPDX-FileCopyrightText: 2021-2025 Parity Technologies (UK) Ltd. use super::Message; -use xcm::latest::Xcm; +use sp_runtime::DispatchError; +use xcm::latest::{SendError, Xcm}; use Debug; /// Converts an inbound message from Ethereum to an XCM message that can be @@ -21,3 +22,59 @@ pub enum ConvertMessageError { /// Invalid network specified (not from Ethereum) InvalidNetwork, } + +/// Reason why a message processor failed. +#[derive(Clone, Debug, PartialEq)] +pub enum MessageProcessorError { + /// Message processing failed. + ProcessMessage(DispatchError), + /// Message conversion failed. + ConvertMessage(ConvertMessageError), + /// Message sending failed. + SendMessage(SendError), +} + +/// Trait to define the logic for checking and processing inbound messages. +pub trait MessageProcessor { + /// Lightweight function to check if this processor can handle the message + fn can_process_message(relayer: &AccountId, message: &Message) -> bool; + /// Process the message and return the message ID + fn process_message( + relayer: AccountId, + message: Message, + ) -> Result<[u8; 32], MessageProcessorError>; +} + +#[impl_trait_for_tuples::impl_for_tuples(10)] +impl MessageProcessor for Tuple { + fn can_process_message(relayer: &AccountId, message: &Message) -> bool { + for_tuples!( #( + match Tuple::can_process_message(&relayer, &message) { + true => { + return true; + }, + _ => {} + } + )* ); + + false + } + + fn process_message( + relayer: AccountId, + message: Message, + ) -> Result<[u8; 32], MessageProcessorError> { + for_tuples!( #( + match Tuple::can_process_message(&relayer, &message) { + true => { + return Tuple::process_message(relayer, message) + }, + _ => {} + } + )* ); + + Err(MessageProcessorError::ProcessMessage(DispatchError::Other( + "No handler found for message!", + ))) + } +} diff --git a/bridges/snowbridge/primitives/merkle-tree/src/lib.rs b/bridges/snowbridge/primitives/merkle-tree/src/lib.rs index 6b9b5d076d3c3..19db0f8a3672e 100644 --- a/bridges/snowbridge/primitives/merkle-tree/src/lib.rs +++ b/bridges/snowbridge/primitives/merkle-tree/src/lib.rs @@ -229,7 +229,7 @@ where L: Into>, { if leaf_index >= number_of_leaves { - return false + return false; } let leaf_hash = match leaf.into() { diff --git a/bridges/snowbridge/primitives/outbound-queue/src/v1/converter/mod.rs b/bridges/snowbridge/primitives/outbound-queue/src/v1/converter/mod.rs index 31a9f223d495e..7990d2cd1036d 100644 --- a/bridges/snowbridge/primitives/outbound-queue/src/v1/converter/mod.rs +++ b/bridges/snowbridge/primitives/outbound-queue/src/v1/converter/mod.rs @@ -64,14 +64,14 @@ where if network != expected_network { tracing::trace!(target: "xcm::ethereum_blob_exporter", ?network, "skipped due to unmatched bridge network."); - return Err(SendError::NotApplicable) + return Err(SendError::NotApplicable); } // Cloning destination to avoid modifying the value so subsequent exporters can use it. let dest = destination.clone().ok_or(SendError::MissingArgument)?; if dest != Here { tracing::trace!(target: "xcm::ethereum_blob_exporter", destination=?dest, "skipped due to unmatched remote destination."); - return Err(SendError::NotApplicable) + return Err(SendError::NotApplicable); } // Cloning universal_source to avoid modifying the value so subsequent exporters can use it. @@ -88,14 +88,14 @@ where if Ok(local_net) != universal_location.global_consensus() { tracing::trace!(target: "xcm::ethereum_blob_exporter", relay_network=?local_net, "skipped due to unmatched relay network."); - return Err(SendError::NotApplicable) + return Err(SendError::NotApplicable); } let para_id = match local_sub.as_slice() { [Parachain(para_id)] => *para_id, _ => { tracing::error!(target: "xcm::ethereum_blob_exporter", universal_source=?local_sub, "could not get parachain id."); - return Err(SendError::NotApplicable) + return Err(SendError::NotApplicable); }, }; @@ -105,7 +105,7 @@ where Some(id) => id, None => { tracing::error!(target: "xcm::ethereum_blob_exporter", ?source_location, "unroutable due to not being able to create agent id."); - return Err(SendError::NotApplicable) + return Err(SendError::NotApplicable); }, }; @@ -216,7 +216,7 @@ where // All xcm instructions must be consumed before exit. if self.next().is_ok() { - return Err(XcmConverterError::EndOfXcmMessageExpected) + return Err(XcmConverterError::EndOfXcmMessageExpected); } Ok(result) @@ -261,12 +261,12 @@ where // Make sure there are reserved assets. if reserve_assets.len() == 0 { - return Err(NoReserveAssets) + return Err(NoReserveAssets); } // Check the the deposit asset filter matches what was reserved. if reserve_assets.inner().iter().any(|asset| !deposit_assets.matches(asset)) { - return Err(FilterDoesNotConsumeAllAssets) + return Err(FilterDoesNotConsumeAllAssets); } // We only support a single asset at a time. @@ -282,22 +282,24 @@ where if let Some(fee_asset) = fee_asset { // The fee asset must be the same as the reserve asset. if fee_asset.id != reserve_asset.id || fee_asset.fun > reserve_asset.fun { - return Err(InvalidFeeAsset) + return Err(InvalidFeeAsset); } } let (token, amount) = match reserve_asset { - Asset { id: AssetId(inner_location), fun: Fungible(amount) } => + Asset { id: AssetId(inner_location), fun: Fungible(amount) } => { match inner_location.unpack() { // Get the ERC20 contract address of the token. - (0, [AccountKey20 { network, key }]) if self.network_matches(network) => - Some((H160(*key), *amount)), + (0, [AccountKey20 { network, key }]) if self.network_matches(network) => { + Some((H160(*key), *amount)) + }, // If there is no ERC20 contract address in the location then signal to the // gateway that is a native Ether transfer by using // `0x0000000000000000000000000000000000000000` as the token address. (0, []) => Some((H160([0; 20]), *amount)), _ => None, - }, + } + }, _ => None, } .ok_or(AssetResolutionFailed)?; @@ -376,12 +378,12 @@ where // Make sure there are reserved assets. if reserve_assets.len() == 0 { - return Err(NoReserveAssets) + return Err(NoReserveAssets); } // Check the the deposit asset filter matches what was reserved. if reserve_assets.inner().iter().any(|asset| !deposit_assets.matches(asset)) { - return Err(FilterDoesNotConsumeAllAssets) + return Err(FilterDoesNotConsumeAllAssets); } // We only support a single asset at a time. @@ -397,13 +399,14 @@ where if let Some(fee_asset) = fee_asset { // The fee asset must be the same as the reserve asset. if fee_asset.id != reserve_asset.id || fee_asset.fun > reserve_asset.fun { - return Err(InvalidFeeAsset) + return Err(InvalidFeeAsset); } } let (asset_id, amount) = match reserve_asset { - Asset { id: AssetId(inner_location), fun: Fungible(amount) } => - Some((inner_location.clone(), *amount)), + Asset { id: AssetId(inner_location), fun: Fungible(amount) } => { + Some((inner_location.clone(), *amount)) + }, _ => None, } .ok_or(AssetResolutionFailed)?; @@ -413,7 +416,8 @@ where let token_id = TokenIdOf::convert_location(&asset_id).ok_or(InvalidAsset)?; - ConvertAssetId::maybe_convert(token_id).ok_or(InvalidAsset)?; + let expected_asset_id = ConvertAssetId::maybe_convert(token_id).ok_or(InvalidAsset)?; + ensure!(asset_id == expected_asset_id, InvalidAsset); // Check if there is a SetTopic and skip over it if found. let topic_id = match_expression!(self.next()?, SetTopic(id), id).ok_or(SetTopicExpected)?; diff --git a/bridges/snowbridge/primitives/outbound-queue/src/v1/message.rs b/bridges/snowbridge/primitives/outbound-queue/src/v1/message.rs index ab3c43f10bab8..0738dc6425248 100644 --- a/bridges/snowbridge/primitives/outbound-queue/src/v1/message.rs +++ b/bridges/snowbridge/primitives/outbound-queue/src/v1/message.rs @@ -152,14 +152,16 @@ impl Command { Token::FixedBytes(agent_id.as_bytes().to_owned()), Token::Bytes(command.abi_encode()), ])]), - Command::Upgrade { impl_address, impl_code_hash, initializer, .. } => + Command::Upgrade { impl_address, impl_code_hash, initializer, .. } => { ethabi::encode(&[Token::Tuple(vec![ Token::Address(*impl_address), Token::FixedBytes(impl_code_hash.as_bytes().to_owned()), initializer.clone().map_or(Token::Bytes(vec![]), |i| Token::Bytes(i.params)), - ])]), - Command::SetOperatingMode { mode } => - ethabi::encode(&[Token::Tuple(vec![Token::Uint(U256::from((*mode) as u64))])]), + ])]) + }, + Command::SetOperatingMode { mode } => { + ethabi::encode(&[Token::Tuple(vec![Token::Uint(U256::from((*mode) as u64))])]) + }, Command::SetTokenTransferFees { create_asset_xcm, transfer_asset_xcm, @@ -169,32 +171,36 @@ impl Command { Token::Uint(U256::from(*transfer_asset_xcm)), Token::Uint(*register_token), ])]), - Command::SetPricingParameters { exchange_rate, delivery_cost, multiplier } => + Command::SetPricingParameters { exchange_rate, delivery_cost, multiplier } => { ethabi::encode(&[Token::Tuple(vec![ Token::Uint(exchange_rate.clone().into_inner()), Token::Uint(U256::from(*delivery_cost)), Token::Uint(multiplier.clone().into_inner()), - ])]), - Command::UnlockNativeToken { agent_id, token, recipient, amount } => + ])]) + }, + Command::UnlockNativeToken { agent_id, token, recipient, amount } => { ethabi::encode(&[Token::Tuple(vec![ Token::FixedBytes(agent_id.as_bytes().to_owned()), Token::Address(*token), Token::Address(*recipient), Token::Uint(U256::from(*amount)), - ])]), - Command::RegisterForeignToken { token_id, name, symbol, decimals } => + ])]) + }, + Command::RegisterForeignToken { token_id, name, symbol, decimals } => { ethabi::encode(&[Token::Tuple(vec![ Token::FixedBytes(token_id.as_bytes().to_owned()), Token::String(name.to_owned()), Token::String(symbol.to_owned()), Token::Uint(U256::from(*decimals)), - ])]), - Command::MintForeignToken { token_id, recipient, amount } => + ])]) + }, + Command::MintForeignToken { token_id, recipient, amount } => { ethabi::encode(&[Token::Tuple(vec![ Token::FixedBytes(token_id.as_bytes().to_owned()), Token::Address(*recipient), Token::Uint(U256::from(*amount)), - ])]), + ])]) + }, } } } diff --git a/bridges/snowbridge/primitives/outbound-queue/src/v2/converter/convert.rs b/bridges/snowbridge/primitives/outbound-queue/src/v2/converter/convert.rs index f64554e42756a..2a4fea49beeaf 100644 --- a/bridges/snowbridge/primitives/outbound-queue/src/v2/converter/convert.rs +++ b/bridges/snowbridge/primitives/outbound-queue/src/v2/converter/convert.rs @@ -131,14 +131,16 @@ where // only fungible asset is allowed let (token, amount) = match ena { - Asset { id: AssetId(inner_location), fun: Fungible(amount) } => + Asset { id: AssetId(inner_location), fun: Fungible(amount) } => { match inner_location.unpack() { - (0, [AccountKey20 { network, key }]) if self.network_matches(network) => - Ok((H160(*key), amount)), + (0, [AccountKey20 { network, key }]) if self.network_matches(network) => { + Ok((H160(*key), amount)) + }, // To allow ether (0, []) => Ok((H160([0; 20]), amount)), _ => Err(AssetResolutionFailed), - }, + } + }, _ => Err(AssetResolutionFailed), }?; @@ -174,7 +176,8 @@ where // Ensure PNA already registered let token_id = TokenIdOf::convert_location(&asset_id).ok_or(InvalidAsset)?; - ConvertAssetId::maybe_convert(token_id).ok_or(InvalidAsset)?; + let expected_asset_id = ConvertAssetId::maybe_convert(token_id).ok_or(InvalidAsset)?; + ensure!(asset_id == expected_asset_id, InvalidAsset); commands.push(Command::MintForeignToken { token_id, recipient, amount }); } diff --git a/bridges/snowbridge/primitives/outbound-queue/src/v2/converter/mod.rs b/bridges/snowbridge/primitives/outbound-queue/src/v2/converter/mod.rs index 0c856aa4f31d4..b0e45cd08364e 100644 --- a/bridges/snowbridge/primitives/outbound-queue/src/v2/converter/mod.rs +++ b/bridges/snowbridge/primitives/outbound-queue/src/v2/converter/mod.rs @@ -72,14 +72,14 @@ where if network != expected_network { tracing::trace!(target: TARGET, ?network, "skipped due to unmatched bridge network."); - return Err(SendError::NotApplicable) + return Err(SendError::NotApplicable); } // Cloning destination to avoid modifying the value so subsequent exporters can use it. let dest = destination.clone().ok_or(SendError::MissingArgument)?; if dest != Here { tracing::trace!(target: TARGET, destination=?dest, "skipped due to unmatched remote destination."); - return Err(SendError::NotApplicable) + return Err(SendError::NotApplicable); } // Cloning universal_source to avoid modifying the value so subsequent exporters can use it. @@ -97,20 +97,20 @@ where if Ok(local_net) != universal_location.global_consensus() { tracing::trace!(target: TARGET, relay_network=?local_net, "skipped due to unmatched relay network."); - return Err(SendError::NotApplicable) + return Err(SendError::NotApplicable); } let para_id = match local_sub.as_slice() { [Parachain(para_id)] => *para_id, _ => { tracing::error!(target: TARGET, universal_source=?local_sub, "could not get parachain id."); - return Err(SendError::NotApplicable) + return Err(SendError::NotApplicable); }, }; if ParaId::from(para_id) != AssetHubParaId::get() { tracing::error!(target: TARGET, ?para_id, "is not from asset hub."); - return Err(SendError::NotApplicable) + return Err(SendError::NotApplicable); } let message = message.clone().ok_or_else(|| { @@ -130,7 +130,7 @@ where return match inst { AliasOrigin(..) => Err(ProcessMessageError::Yield), _ => Ok(ControlFlow::Continue(())), - } + }; }, ); ensure!(result.is_err(), SendError::NotApplicable); @@ -179,7 +179,7 @@ impl>> ExporterFor for XcmFilterExporter Option<(Location, Option)> { // check the XCM if !M::contains(xcm) { - return None + return None; } // check `network` and `remote_location` T::exporter_for(network, remote_location, xcm) @@ -197,7 +197,7 @@ impl Contains> for XcmForSnowbridgeV2 { return match inst { AliasOrigin(..) => Err(ProcessMessageError::Yield), _ => Ok(ControlFlow::Continue(())), - } + }; }, ); result.is_err() diff --git a/bridges/snowbridge/primitives/outbound-queue/src/v2/converter/tests.rs b/bridges/snowbridge/primitives/outbound-queue/src/v2/converter/tests.rs index bb5a88c73c809..007dc8a0de78d 100644 --- a/bridges/snowbridge/primitives/outbound-queue/src/v2/converter/tests.rs +++ b/bridges/snowbridge/primitives/outbound-queue/src/v2/converter/tests.rs @@ -1192,3 +1192,92 @@ fn xcm_converter_transfer_native_token_with_invalid_location_will_fail() { let result = converter.convert(); assert_eq!(result.err(), Some(XcmConverterError::InvalidAsset)); } + +fn general_key_length_collision_locations() -> (Location, Location) { + let mut data = [0u8; 32]; + data[0] = 0xAB; + + let victim_location = Location::new( + 1, + [ + GlobalConsensus(ByGenesis(WESTEND_GENESIS_HASH)), + Parachain(2000), + GeneralKey { length: 32, data }, + ], + ); + + let attacker_location = Location::new( + 1, + [ + GlobalConsensus(ByGenesis(WESTEND_GENESIS_HASH)), + Parachain(2000), + GeneralKey { length: 1, data }, + ], + ); + + (victim_location, attacker_location) +} + +/// Registry mock: only the victim TokenId is "registered". +pub struct VictimOnlyTokenIdConvert; + +impl MaybeConvert for VictimOnlyTokenIdConvert { + fn maybe_convert(id: TokenId) -> Option { + let (victim_location, _) = general_key_length_collision_locations(); + let victim_id = TokenIdOf::convert_location(&victim_location)?; + if id == victim_id { + Some(victim_location) + } else { + None + } + } +} + +#[test] +fn xcm_converter_mints_registered_token_id_for_colliding_general_key_location() { + let network = BridgedNetwork::get(); + let beneficiary_address: [u8; 20] = hex!("2000000000000000000000000000000000000000"); + let amount = 1_000_000; + let fee_amount = 1_000; + let (victim_location, attacker_location) = general_key_length_collision_locations(); + assert_ne!(victim_location, attacker_location, "Locations must differ"); + + // Deterministic collision: + let victim_token_id = TokenIdOf::convert_location(&victim_location).unwrap(); + let attacker_token_id = TokenIdOf::convert_location(&attacker_location).unwrap(); + assert_ne!(victim_token_id, attacker_token_id, "TokenIds should differ after the fix"); + + // Optional debug prints for report clarity + println!("victim_location = {victim_location:?}"); + println!("attacker_location = {attacker_location:?}"); + println!("victim_token_id = {victim_token_id:?}"); + println!("attacker_token_id = {attacker_token_id:?}"); + + // Build XCM that reserves *attacker* asset location (but will mint under victim token_id) + // V2 XCM format requires: WithdrawAsset(fee), PayFees, ReserveAssetDeposited, AliasOrigin, + // DepositAsset, SetTopic + let fee_asset = Asset { id: AssetId(Location::new(0, [])), fun: Fungible(fee_amount) }; + let assets: Assets = + vec![Asset { id: AssetId(attacker_location.clone()), fun: Fungible(amount) }].into(); + let filter: AssetFilter = assets.clone().into(); + + // Create an origin location for AliasOrigin + let origin_location = Location::new(1, [Parachain(1000)]); + + let message: Xcm<()> = vec![ + WithdrawAsset(vec![fee_asset.clone()].into()), + PayFees { asset: fee_asset }, + ReserveAssetDeposited(assets.clone()), + AliasOrigin(origin_location), + DepositAsset { + assets: filter, + beneficiary: AccountKey20 { network: None, key: beneficiary_address }.into(), + }, + SetTopic([0; 32]), + ] + .into(); + + let mut converter = XcmConverter::::new(&message, network); + let result = converter.convert(); + assert_eq!(result.err(), Some(XcmConverterError::InvalidAsset)); +} diff --git a/bridges/snowbridge/primitives/outbound-queue/src/v2/message.rs b/bridges/snowbridge/primitives/outbound-queue/src/v2/message.rs index c2440b8f765b4..f7b5ed55e247a 100644 --- a/bridges/snowbridge/primitives/outbound-queue/src/v2/message.rs +++ b/bridges/snowbridge/primitives/outbound-queue/src/v2/message.rs @@ -214,23 +214,26 @@ impl Command { initParams: Bytes::from(initializer.params.clone()), } .abi_encode(), - Command::SetOperatingMode { mode } => - SetOperatingModeParams { mode: (*mode) as u8 }.abi_encode(), - Command::UnlockNativeToken { token, recipient, amount, .. } => + Command::SetOperatingMode { mode } => { + SetOperatingModeParams { mode: (*mode) as u8 }.abi_encode() + }, + Command::UnlockNativeToken { token, recipient, amount, .. } => { UnlockNativeTokenParams { token: Address::from(token.as_fixed_bytes()), recipient: Address::from(recipient.as_fixed_bytes()), amount: *amount, } - .abi_encode(), - Command::RegisterForeignToken { token_id, name, symbol, decimals } => + .abi_encode() + }, + Command::RegisterForeignToken { token_id, name, symbol, decimals } => { RegisterForeignTokenParams { foreignTokenID: FixedBytes::from(token_id.as_fixed_bytes()), name: Bytes::from(name.to_vec()), symbol: Bytes::from(symbol.to_vec()), decimals: *decimals, } - .abi_encode(), + .abi_encode() + }, Command::MintForeignToken { token_id, recipient, amount } => MintForeignTokenParams { foreignTokenID: FixedBytes::from(token_id.as_fixed_bytes()), recipient: Address::from(recipient.as_fixed_bytes()), diff --git a/bridges/snowbridge/primitives/verification/src/lib.rs b/bridges/snowbridge/primitives/verification/src/lib.rs index a081eb46736b2..77430fae73e8c 100644 --- a/bridges/snowbridge/primitives/verification/src/lib.rs +++ b/bridges/snowbridge/primitives/verification/src/lib.rs @@ -49,8 +49,8 @@ pub struct Log { /// Inclusion proof for a transaction receipt #[derive(Clone, Encode, Decode, DecodeWithMemTracking, PartialEq, Debug, TypeInfo)] pub struct Proof { - // Proof keys and values (receipts tree) - pub receipt_proof: (Vec>, Vec>), + // Proof values from receipts tree + pub receipt_proof: Vec>, // Proof that an execution header was finalized by the beacon chain pub execution_proof: ExecutionProof, } diff --git a/bridges/snowbridge/runtime/runtime-common/src/v2/register_token.rs b/bridges/snowbridge/runtime/runtime-common/src/v2/register_token.rs index 25d6798000fa6..3acd0bc249256 100644 --- a/bridges/snowbridge/runtime/runtime-common/src/v2/register_token.rs +++ b/bridges/snowbridge/runtime/runtime-common/src/v2/register_token.rs @@ -38,14 +38,14 @@ where ) -> Result { let origin_location = EnsureXcm::::try_origin(origin.clone())?; if !IsForeign::contains(asset_location, &origin_location) { - return Err(origin) + return Err(origin); } let asset_location: Location = asset_location.clone().into(); let owner = AssetInspect::owner(asset_location.into()); let location: Location = origin_location.clone().into(); let from = LocationToAccountId::convert_location(&location); if from != owner { - return Err(origin) + return Err(origin); } Ok(location.into()) } @@ -87,7 +87,7 @@ where let asset_id = MatchAssetId::convert(asset_location).ok_or(origin.clone())?; let owner = AssetInspect::owner(asset_id.into()).ok_or(origin.clone())?; if who != owner { - return Err(origin) + return Err(origin); } Ok(who.into()) } diff --git a/bridges/snowbridge/test-utils/src/mock_inbound_queue.rs b/bridges/snowbridge/test-utils/src/mock_inbound_queue.rs index 519e7ec0a1a4f..08be05b576af8 100644 --- a/bridges/snowbridge/test-utils/src/mock_inbound_queue.rs +++ b/bridges/snowbridge/test-utils/src/mock_inbound_queue.rs @@ -10,7 +10,7 @@ impl AddTip for MockOkInboundQueue { fn add_tip(nonce: u64, _amount: u128) -> Result<(), AddTipError> { // Force an error condition if nonce == FAILING_NONCE { - return Err(AddTipError::NonceConsumed) + return Err(AddTipError::NonceConsumed); } Ok(()) } diff --git a/bridges/snowbridge/test-utils/src/mock_outbound_queue.rs b/bridges/snowbridge/test-utils/src/mock_outbound_queue.rs index 7f08738568676..250e31f7dd615 100644 --- a/bridges/snowbridge/test-utils/src/mock_outbound_queue.rs +++ b/bridges/snowbridge/test-utils/src/mock_outbound_queue.rs @@ -36,7 +36,7 @@ impl SendMessageFeeProvider for MockOkOutboundQueue { impl AddTip for MockOkOutboundQueue { fn add_tip(nonce: u64, _amount: u128) -> Result<(), AddTipError> { if nonce == FAILING_NONCE { - return Err(AddTipError::NonceConsumed) + return Err(AddTipError::NonceConsumed); } Ok(()) } diff --git a/bridges/snowbridge/test-utils/src/mock_xcm.rs b/bridges/snowbridge/test-utils/src/mock_xcm.rs index a4529703886b0..e7ccc90526224 100644 --- a/bridges/snowbridge/test-utils/src/mock_xcm.rs +++ b/bridges/snowbridge/test-utils/src/mock_xcm.rs @@ -97,16 +97,24 @@ impl TransactAsset for SuccessfulTransactor { Ok(()) } - fn deposit_asset(_what: &Asset, _who: &Location, _context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + _what: AssetsInHolding, + _who: &Location, + _context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { Ok(()) } fn withdraw_asset( - _what: &Asset, + what: &Asset, _who: &Location, _context: Option<&XcmContext>, ) -> Result { - Ok(AssetsInHolding::default()) + Ok(xcm_executor::test_helpers::mock_asset_to_holding(what.clone())) + } + + fn mint_asset(what: &Asset, _context: &XcmContext) -> Result { + Ok(xcm_executor::test_helpers::mock_asset_to_holding(what.clone())) } fn internal_transfer_asset( @@ -114,8 +122,8 @@ impl TransactAsset for SuccessfulTransactor { _from: &Location, _to: &Location, _context: &XcmContext, - ) -> Result { - Ok(AssetsInHolding::default()) + ) -> Result { + Ok(_what.clone()) } } @@ -153,5 +161,5 @@ impl FeeManager for MockXcmExecutor { IS_WAIVED.with(|l| l.borrow().contains(&r)) } - fn handle_fee(_: Assets, _: Option<&XcmContext>, _: FeeReason) {} + fn handle_fee(_: AssetsInHolding, _: Option<&XcmContext>, _: FeeReason) {} } diff --git a/cumulus/client/bootnodes/src/advertisement.rs b/cumulus/client/bootnodes/src/advertisement.rs index 790d93a9d4d6a..f17c89b27535a 100644 --- a/cumulus/client/bootnodes/src/advertisement.rs +++ b/cumulus/client/bootnodes/src/advertisement.rs @@ -441,7 +441,7 @@ impl BootnodeAdvertisement { fn handle_dht_event(&mut self, event: DhtEvent) { match event { - DhtEvent::StartedProviding(key) => + DhtEvent::StartedProviding(key) => { if Some(&key) == self.current_epoch_key.as_ref() { debug!( target: LOG_TARGET, @@ -454,8 +454,9 @@ impl BootnodeAdvertisement { "Successfully published provider for next epoch key {}", hex::encode(key.as_ref()), ); - }, - DhtEvent::StartProvidingFailed(key) => + } + }, + DhtEvent::StartProvidingFailed(key) => { if Some(&key) == self.current_epoch_key.as_ref() { debug!( target: LOG_TARGET, @@ -472,7 +473,8 @@ impl BootnodeAdvertisement { ); self.next_epoch_publish_retry = Box::pin(tokio::time::sleep(RETRY_DELAY).fuse()); - }, + } + }, _ => {}, } } diff --git a/cumulus/client/collator/src/lib.rs b/cumulus/client/collator/src/lib.rs index d2a4f34522b34..8a07c3a86337c 100644 --- a/cumulus/client/collator/src/lib.rs +++ b/cumulus/client/collator/src/lib.rs @@ -93,7 +93,7 @@ pub mod relay_chain_driven { CollationRequest { relay_parent, pvd: validation_data, sender: this_tx }; if stream_tx.send(request).await.is_err() { - return None + return None; } this_rx.await.ok().flatten() diff --git a/cumulus/client/collator/src/service.rs b/cumulus/client/collator/src/service.rs index a31fe43120ed4..831686246aed3 100644 --- a/cumulus/client/collator/src/service.rs +++ b/cumulus/client/collator/src/service.rs @@ -194,7 +194,7 @@ where target: LOG_TARGET, "Could not fetch `CollectCollationInfo` runtime api version." ); - return Ok(None) + return Ok(None); }, }; @@ -230,7 +230,7 @@ where Ok(proof) => proof, Err(e) => { tracing::error!(target: "cumulus-collator", "Failed to compact proof: {:?}", e); - return None + return None; }, }; diff --git a/cumulus/client/consensus/aura/src/collator.rs b/cumulus/client/consensus/aura/src/collator.rs index 3999352322e20..c3fae7567cd21 100644 --- a/cumulus/client/consensus/aura/src/collator.rs +++ b/cumulus/client/consensus/aura/src/collator.rs @@ -33,6 +33,7 @@ use cumulus_client_consensus_common::{ use cumulus_client_parachain_inherent::{ParachainInherentData, ParachainInherentDataProvider}; use cumulus_primitives_core::{ relay_chain::Hash as PHash, DigestItem, ParachainBlockData, PersistedValidationData, + RelayProofRequest, }; use cumulus_relay_chain_interface::RelayChainInterface; use sc_client_api::BackendTransaction; @@ -177,6 +178,7 @@ where parent_hash: Block::Hash, timestamp: impl Into>, relay_parent_descendants: Option, + relay_proof_request: RelayProofRequest, collator_peer_id: PeerId, ) -> Result<(ParachainInherentData, InherentData), Box> { let paras_inherent_data = ParachainInherentDataProvider::create_at( @@ -187,17 +189,18 @@ where relay_parent_descendants .map(RelayParentData::into_inherent_descendant_list) .unwrap_or_default(), - Vec::new(), + relay_proof_request, collator_peer_id, ) .await; let paras_inherent_data = match paras_inherent_data { Some(p) => p, - None => + None => { return Err( format!("Could not create paras inherent data at {:?}", relay_parent).into() - ), + ) + }, }; let mut other_inherent_data = self @@ -224,6 +227,7 @@ where validation_data: &PersistedValidationData, parent_hash: Block::Hash, timestamp: impl Into>, + relay_proof_request: RelayProofRequest, collator_peer_id: PeerId, ) -> Result<(ParachainInherentData, InherentData), Box> { self.create_inherent_data_with_rp_offset( @@ -232,6 +236,7 @@ where parent_hash, timestamp, None, + relay_proof_request, collator_peer_id, ) .await @@ -273,7 +278,7 @@ where return Err( Box::from("`ProofSizeExt` registered, but no `storage_proof_recorder` provided. This is a bug.") as Box - ) + ); } // Create proposal arguments diff --git a/cumulus/client/consensus/aura/src/collators/basic.rs b/cumulus/client/consensus/aura/src/collators/basic.rs index 1f99e2f6e5cc0..83ff355594115 100644 --- a/cumulus/client/consensus/aura/src/collators/basic.rs +++ b/cumulus/client/consensus/aura/src/collators/basic.rs @@ -118,13 +118,14 @@ where async move { let mut collation_requests = match params.collation_request_receiver { Some(receiver) => receiver, - None => + None => { cumulus_client_collator::relay_chain_driven::init( params.collator_key, params.para_id, params.overseer_handle, ) - .await, + .await + }, }; let mut collator = { @@ -171,7 +172,7 @@ where let parent_hash = parent_header.hash(); if !collator.collator_service().check_block_status(parent_hash, &parent_header) { - continue + continue; } let Ok(Some(code)) = @@ -228,7 +229,7 @@ where if last_processed_slot >= *claim.slot() && last_relay_chain_block < *relay_parent_header.number() { - continue + continue; } let (parachain_inherent_data, other_inherent_data) = try_request!( @@ -238,6 +239,7 @@ where &validation_data, parent_hash, claim.timestamp(), + Default::default(), params.collator_peer_id, ) .await @@ -260,7 +262,7 @@ where if let Some((collation, block_data)) = maybe_collation { let Some(block_hash) = block_data.blocks().first().map(|b| b.hash()) else { - continue + continue; }; let result_sender = Some(collator.collator_service().announce_with_barrier(block_hash)); diff --git a/cumulus/client/consensus/aura/src/collators/lookahead.rs b/cumulus/client/consensus/aura/src/collators/lookahead.rs index 303b5268095c5..789cb78a8a4e3 100644 --- a/cumulus/client/consensus/aura/src/collators/lookahead.rs +++ b/cumulus/client/consensus/aura/src/collators/lookahead.rs @@ -36,7 +36,9 @@ use codec::{Codec, Encode}; use cumulus_client_collator::service::ServiceInterface as CollatorServiceInterface; use cumulus_client_consensus_common::{self as consensus_common, ParachainBlockImportMarker}; use cumulus_primitives_aura::AuraUnincludedSegmentApi; -use cumulus_primitives_core::{CollectCollationInfo, PersistedValidationData}; +use cumulus_primitives_core::{ + CollectCollationInfo, KeyToIncludeInRelayProof, PersistedValidationData, +}; use cumulus_relay_chain_interface::RelayChainInterface; use sp_consensus::Environment; @@ -61,7 +63,10 @@ use sp_consensus_aura::{AuraApi, Slot}; use sp_core::crypto::Pair; use sp_inherents::CreateInherentDataProviders; use sp_keystore::KeystorePtr; -use sp_runtime::traits::{Block as BlockT, Header as HeaderT, Member}; +use sp_runtime::{ + traits::{Block as BlockT, Header as HeaderT, Member}, + Saturating, +}; use sp_timestamp::Timestamp; use std::{path::PathBuf, sync::Arc, time::Duration}; @@ -126,7 +131,7 @@ where Ok(sd) => sd, Err(err) => { tracing::error!(target: crate::LOG_TARGET, ?err, "Failed to acquire parachain slot duration"); - return None + return None; }, }; @@ -164,8 +169,10 @@ where + Send + Sync + 'static, - Client::Api: - AuraApi + CollectCollationInfo + AuraUnincludedSegmentApi, + Client::Api: AuraApi + + CollectCollationInfo + + AuraUnincludedSegmentApi + + KeyToIncludeInRelayProof, Backend: sc_client_api::Backend + 'static, RClient: RelayChainInterface + Clone + 'static, CIDP: CreateInherentDataProviders + 'static, @@ -216,8 +223,10 @@ where + Send + Sync + 'static, - Client::Api: - AuraApi + CollectCollationInfo + AuraUnincludedSegmentApi, + Client::Api: AuraApi + + CollectCollationInfo + + AuraUnincludedSegmentApi + + KeyToIncludeInRelayProof, Backend: sc_client_api::Backend + 'static, RClient: RelayChainInterface + Clone + 'static, CIDP: CreateInherentDataProviders + 'static, @@ -249,7 +258,7 @@ where "Failed to initialize consensus: no relay chain import notification stream" ); - return + return; }, }; @@ -288,7 +297,7 @@ where "Para is not scheduled on any core, skipping import notification", ); - continue + continue; }; let max_pov_size = match params @@ -304,11 +313,11 @@ where Ok(Some(pvd)) => pvd.max_pov_size, Err(err) => { tracing::error!(target: crate::LOG_TARGET, ?err, "Failed to gather information from relay-client"); - continue + continue; }, }; - let (included_block, initial_parent) = match crate::collators::find_parent( + let parent_search_result = match crate::collators::find_parent( relay_parent, params.para_id, &*params.para_backend, @@ -316,10 +325,11 @@ where ) .await { - Some(value) => value, + Some(result) => result, None => continue, }; + let included_header = &parent_search_result.included_header; let para_client = &*params.para_client; let keystore = ¶ms.keystore; let can_build_upon = |block_hash| { @@ -335,7 +345,7 @@ where relay_slot, timestamp, block_hash, - included_block.hash(), + included_header.hash(), para_client, &keystore, )) @@ -343,13 +353,16 @@ where // Build in a loop until not allowed. Note that the authorities can change // at any block, so we need to re-claim our slot every time. - let mut parent_hash = initial_parent.hash; - let mut parent_header = initial_parent.header; + let mut parent_hash = parent_search_result.best_parent_header.hash(); + let mut parent_header = parent_search_result.best_parent_header; + // Distance from included block to best parent. + let initial_parent_depth = + (*parent_header.number()).saturating_sub(*included_header.number()); let overseer_handle = &mut params.overseer_handle; // Do not try to build upon an unknown, pruned or bad block if !collator.collator_service().check_block_status(parent_hash, &parent_header) { - continue + continue; } // Trigger pre-conect to backing groups if necessary. @@ -367,7 +380,7 @@ where // This needs to change to support elastic scaling, but for continuously // scheduled chains this ensures that the backlog will grow steadily. - for n_built in 0..2 { + for n_built in 0..2u32 { let slot_claim = match can_build_upon(parent_hash) { Some(fut) => match fut.await { None => break, @@ -379,7 +392,7 @@ where tracing::debug!( target: crate::LOG_TARGET, ?relay_parent, - unincluded_segment_len = initial_parent.depth + n_built, + unincluded_segment_len = ?initial_parent_depth.saturating_add(n_built.into()), "Slot claimed. Building" ); @@ -392,19 +405,23 @@ where // Build and announce collations recursively until // `can_build_upon` fails or building a collation fails. + let relay_proof_request = + super::get_relay_proof_request(&*params.para_client, parent_hash); + let (parachain_inherent_data, other_inherent_data) = match collator .create_inherent_data( relay_parent, &validation_data, parent_hash, slot_claim.timestamp(), + relay_proof_request, params.collator_peer_id, ) .await { Err(err) => { tracing::error!(target: crate::LOG_TARGET, ?err); - break + break; }, Ok(x) => x, }; @@ -413,7 +430,7 @@ where params.code_hash_provider.code_hash_at(parent_hash) else { tracing::error!(target: crate::LOG_TARGET, ?parent_hash, "Could not fetch validation code hash"); - break + break; }; super::check_validation_code_or_log( @@ -450,7 +467,7 @@ where block_data.blocks().first().map(|b| b.header().clone()) else { tracing::error!(target: crate::LOG_TARGET, "Produced PoV doesn't contain any blocks"); - break + break; }; let new_block_hash = new_block_header.hash(); @@ -498,11 +515,11 @@ where }, Ok(None) => { tracing::debug!(target: crate::LOG_TARGET, "No block proposal"); - break + break; }, Err(err) => { tracing::error!(target: crate::LOG_TARGET, ?err); - break + break; }, } } diff --git a/cumulus/client/consensus/aura/src/collators/mod.rs b/cumulus/client/consensus/aura/src/collators/mod.rs index d938dca69282f..966bb62af6655 100644 --- a/cumulus/client/consensus/aura/src/collators/mod.rs +++ b/cumulus/client/consensus/aura/src/collators/mod.rs @@ -25,7 +25,9 @@ use crate::collator::SlotClaim; use codec::Codec; use cumulus_client_consensus_common::{self as consensus_common, ParentSearchParams}; use cumulus_primitives_aura::{AuraUnincludedSegmentApi, Slot}; -use cumulus_primitives_core::{relay_chain::Header as RelayHeader, BlockT}; +use cumulus_primitives_core::{ + relay_chain::Header as RelayHeader, BlockT, KeyToIncludeInRelayProof, RelayProofRequest, +}; use cumulus_relay_chain_interface::{OverseerHandle, RelayChainInterface}; use polkadot_node_subsystem::messages::{CollatorProtocolMessage, RuntimeApiRequest}; use polkadot_node_subsystem_util::runtime::ClaimQueueSnapshot; @@ -43,19 +45,6 @@ pub mod basic; pub mod lookahead; pub mod slot_based; -// This is an arbitrary value which is guaranteed to exceed the required depth for 500ms blocks -// built with a relay parent offset of 1. It must be larger than the unincluded segment capacity. -// -// The formula we use to compute the capacity of the unincluded segment in the parachain runtime -// is: -// UNINCLUDED_SEGMENT_CAPACITY = (2 + RELAY_PARENT_OFFSET) * BLOCK_PROCESSING_VELOCITY + 1. -// -// Since we only search for parent blocks which have already been imported, -// we can guarantee that all imported blocks respect the unincluded segment -// rules specified by the parachain's runtime and thus will never be too deep. This is just an extra -// sanity check. -const PARENT_SEARCH_DEPTH: usize = 40; - // Helper to pre-connect to the backing group we got assigned to and keep the connection // open until backing group changes or own slot ends. struct BackingGroupConnectionHelper { @@ -82,7 +71,7 @@ impl BackingGroupConnectionHelper { if Some(current_slot) <= self.our_slot { // Current slot or next slot is ours. // We already sent pre-connect message, no need to proceed further. - return + return; } let next_slot = current_slot + 1; @@ -133,12 +122,12 @@ async fn check_validation_code_or_log( %para_id, "Failed to fetch validation code hash", ); - return + return; }, }; match state_validation_code_hash { - Some(state) => + Some(state) => { if state != *local_validation_code_hash { tracing::warn!( target: super::LOG_TARGET, @@ -148,7 +137,8 @@ async fn check_validation_code_or_log( relay_validation_code_hash = ?state, "Parachain code doesn't match validation code stored in the relay chain state.", ); - }, + } + }, None => { tracing::warn!( target: super::LOG_TARGET, @@ -186,7 +176,7 @@ async fn scheduling_lookahead( if parachain_host_runtime_api_version < RuntimeApiRequest::SCHEDULING_LOOKAHEAD_RUNTIME_REQUIREMENT { - return None + return None; } match relay_client.scheduling_lookahead(relay_parent).await { @@ -267,15 +257,14 @@ where .then(|| SlotClaim::unchecked::

(author_pub, para_slot, timestamp)) } -/// Use [`cumulus_client_consensus_common::find_potential_parents`] to find parachain blocks that -/// we can build on. Once a list of potential parents is retrieved, return the last one of the -/// longest chain. +/// Use [`cumulus_client_consensus_common::find_parent_for_building`] to find the best parachain +/// block to build on. async fn find_parent( relay_parent: RelayHash, para_id: ParaId, para_backend: &impl sc_client_api::Backend, relay_client: &impl RelayChainInterface, -) -> Option<(::Header, consensus_common::PotentialParent)> +) -> Option> where Block: BlockT, { @@ -286,36 +275,26 @@ where .await .unwrap_or(DEFAULT_SCHEDULING_LOOKAHEAD) .saturating_sub(1) as usize, - max_depth: PARENT_SEARCH_DEPTH, - ignore_alternative_branches: true, }; - let potential_parents = cumulus_client_consensus_common::find_potential_parents::( + match cumulus_client_consensus_common::find_parent_for_building::( parent_search_params, para_backend, relay_client, ) - .await; - - let potential_parents = match potential_parents { + .await + { + Ok(result) => result, Err(e) => { tracing::error!( target: crate::LOG_TARGET, ?relay_parent, err = ?e, - "Could not fetch potential parents to build upon" + "Could not find parent to build upon" ); - - return None + None }, - Ok(x) => x, - }; - - let included_block = potential_parents.iter().find(|x| x.depth == 0)?.header.clone(); - potential_parents - .into_iter() - .max_by_key(|a| a.depth) - .map(|parent| (included_block, parent)) + } } #[cfg(test)] @@ -662,6 +641,31 @@ mod tests { } } +/// Fetches relay chain storage proof requests from the parachain runtime. +/// +/// Queries the runtime API to determine which relay chain storage keys +/// (both top-level and child trie keys) should be included in the relay chain state proof. +/// +/// Falls back to an empty request if the runtime API call fails or is not implemented. +fn get_relay_proof_request( + client: &Client, + parent_hash: Block::Hash, +) -> RelayProofRequest +where + Block: BlockT, + Client: ProvideRuntimeApi, + Client::Api: KeyToIncludeInRelayProof, +{ + client.runtime_api().keys_to_prove(parent_hash).unwrap_or_else(|e| { + tracing::debug!( + target: crate::LOG_TARGET, + error = ?e, + "Failed to fetch relay proof requests from runtime, using empty request" + ); + Default::default() + }) +} + /// Holds a relay parent and its descendants. pub struct RelayParentData { /// The relay parent block header @@ -699,7 +703,7 @@ impl RelayParentData { let Self { relay_parent, mut descendants } = self; if descendants.is_empty() { - return Default::default() + return Default::default(); } let mut result = vec![relay_parent]; diff --git a/cumulus/client/consensus/aura/src/collators/slot_based/block_builder_task.rs b/cumulus/client/consensus/aura/src/collators/slot_based/block_builder_task.rs index 4a58ed81426af..e11e555aea21c 100644 --- a/cumulus/client/consensus/aura/src/collators/slot_based/block_builder_task.rs +++ b/cumulus/client/consensus/aura/src/collators/slot_based/block_builder_task.rs @@ -35,7 +35,7 @@ use cumulus_client_consensus_common::{self as consensus_common, ParachainBlockIm use cumulus_primitives_aura::{AuraUnincludedSegmentApi, Slot}; use cumulus_primitives_core::{ extract_relay_parent, rpsr_digest, ClaimQueueOffset, CoreInfo, CoreSelector, CumulusDigestItem, - PersistedValidationData, RelayParentOffsetApi, + KeyToIncludeInRelayProof, PersistedValidationData, RelayParentOffsetApi, }; use cumulus_relay_chain_interface::RelayChainInterface; use futures::prelude::*; @@ -54,7 +54,10 @@ use sp_consensus_aura::AuraApi; use sp_core::crypto::Pair; use sp_inherents::CreateInherentDataProviders; use sp_keystore::KeystorePtr; -use sp_runtime::traits::{Block as BlockT, Header as HeaderT, Member, Zero}; +use sp_runtime::{ + traits::{Block as BlockT, Header as HeaderT, Member, Zero}, + Saturating, +}; use std::{collections::VecDeque, sync::Arc, time::Duration}; /// Parameters for [`run_block_builder`]. @@ -127,8 +130,10 @@ where + Send + Sync + 'static, - Client::Api: - AuraApi + RelayParentOffsetApi + AuraUnincludedSegmentApi, + Client::Api: AuraApi + + RelayParentOffsetApi + + AuraUnincludedSegmentApi + + KeyToIncludeInRelayProof, Backend: sc_client_api::Backend + 'static, RelayClient: RelayChainInterface + Clone + 'static, CIDP: CreateInherentDataProviders + 'static, @@ -202,7 +207,7 @@ where let Ok(relay_best_hash) = relay_client.best_block_hash().await else { tracing::warn!(target: crate::LOG_TARGET, "Unable to fetch latest relay chain block hash."); - continue + continue; }; let best_hash = para_client.info().best_hash; @@ -221,7 +226,7 @@ where ) .await else { - continue + continue; }; let Some(para_slot) = adjust_para_to_relay_parent_slot( @@ -235,15 +240,19 @@ where let relay_parent = rp_data.relay_parent().hash(); let relay_parent_header = rp_data.relay_parent().clone(); - let Some((included_header, parent)) = + let Some(parent_search_result) = crate::collators::find_parent(relay_parent, para_id, &*para_backend, &relay_client) .await else { - continue + continue; }; - let parent_hash = parent.hash; - let parent_header = &parent.header; + let parent_hash = parent_search_result.best_parent_header.hash(); + let included_header = parent_search_result.included_header; + let parent_header = &parent_search_result.best_parent_header; + // Distance from included block to best parent (unincluded segment length). + let unincluded_segment_len = + parent_header.number().saturating_sub(*included_header.number()); // Retrieve the core. let core = match determine_core( @@ -262,7 +271,7 @@ where "Failed to determine core" ); - continue + continue; }, Ok(Some(cores)) => { tracing::debug!( @@ -282,7 +291,7 @@ where "No core scheduled" ); - continue + continue; }, }; @@ -327,7 +336,7 @@ where None => { tracing::debug!( target: crate::LOG_TARGET, - unincluded_segment_len = parent.depth, + ?unincluded_segment_len, relay_parent = ?relay_parent, relay_parent_num = %relay_parent_header.number(), included_hash = ?included_header_hash, @@ -336,13 +345,13 @@ where slot = ?para_slot.slot, "Not building block." ); - continue + continue; }, }; tracing::debug!( target: crate::LOG_TARGET, - unincluded_segment_len = parent.depth, + ?unincluded_segment_len, relay_parent = %relay_parent, relay_parent_num = %relay_parent_header.number(), relay_parent_offset, @@ -360,6 +369,9 @@ where max_pov_size: *max_pov_size, }; + let relay_proof_request = + super::super::get_relay_proof_request(&*para_client, parent_hash); + let (parachain_inherent_data, other_inherent_data) = match collator .create_inherent_data_with_rp_offset( relay_parent, @@ -367,13 +379,14 @@ where parent_hash, slot_claim.timestamp(), Some(rp_data), + relay_proof_request, collator_peer_id, ) .await { Err(err) => { tracing::error!(target: crate::LOG_TARGET, ?err); - break + break; }, Ok(x) => x, }; @@ -381,7 +394,7 @@ where let validation_code_hash = match code_hash_provider.code_hash_at(parent_hash) { None => { tracing::error!(target: crate::LOG_TARGET, ?parent_hash, "Could not fetch validation code hash"); - break + break; }, Some(v) => v, }; @@ -411,7 +424,7 @@ where let Some(adjusted_authoring_duration) = adjusted_authoring_duration else { tracing::debug!( target: crate::LOG_TARGET, - unincluded_segment_len = parent.depth, + ?unincluded_segment_len, relay_parent = ?relay_parent, relay_parent_num = %relay_parent_header.number(), included_hash = ?included_header_hash, @@ -460,7 +473,7 @@ where max_pov_size: validation_data.max_pov_size, }) { tracing::error!(target: crate::LOG_TARGET, ?err, "Unable to send block to collation task."); - return + return; } } } @@ -513,7 +526,7 @@ where .map(|d| d.relay_parent_header.clone()) else { tracing::error!(target: LOG_TARGET, ?relay_best_block, "Unable to fetch best relay chain block header."); - return Err(()) + return Err(()); }; if relay_parent_offset == 0 { @@ -612,10 +625,11 @@ pub(crate) async fn determine_core last_relay_parent != relay_parent.hash(), - None => + None => { rpsr_digest::extract_relay_parent_storage_root(para_parent.digest()) .ok_or(())? - .0 != *relay_parent.state_root(), + .0 != *relay_parent.state_root() + }, } }; diff --git a/cumulus/client/consensus/aura/src/collators/slot_based/block_import.rs b/cumulus/client/consensus/aura/src/collators/slot_based/block_import.rs index cecd6894bff85..d22171f2586cc 100644 --- a/cumulus/client/consensus/aura/src/collators/slot_based/block_import.rs +++ b/cumulus/client/consensus/aura/src/collators/slot_based/block_import.rs @@ -40,7 +40,7 @@ impl SlotBasedBlockImportHandle { if self.receiver.is_terminated() { futures::pending!() } else if let Some(res) = self.receiver.next().await { - return res + return res; } } } @@ -130,7 +130,7 @@ where if params.header.state_root() != &gen_storage_changes.transaction_storage_root { return Err(sp_consensus::Error::Other(Box::new( sp_blockchain::Error::InvalidStateRoot, - ))) + ))); } params.state_action = StateAction::ApplyChanges(sc_consensus::StorageChanges::Changes( diff --git a/cumulus/client/consensus/aura/src/collators/slot_based/collation_task.rs b/cumulus/client/consensus/aura/src/collators/slot_based/collation_task.rs index 0464aaf4d19a6..02385725754fd 100644 --- a/cumulus/client/consensus/aura/src/collators/slot_based/collation_task.rs +++ b/cumulus/client/consensus/aura/src/collators/slot_based/collation_task.rs @@ -81,7 +81,7 @@ pub async fn run_collation_task( { let Ok(mut overseer_handle) = relay_client.overseer_handle() else { tracing::error!(target: LOG_TARGET, "Failed to get overseer handle."); - return + return; }; cumulus_client_collator::initialize_collator_subsystems( diff --git a/cumulus/client/consensus/aura/src/collators/slot_based/mod.rs b/cumulus/client/consensus/aura/src/collators/slot_based/mod.rs index 39e0bbdb41d73..89d7dd50bee30 100644 --- a/cumulus/client/consensus/aura/src/collators/slot_based/mod.rs +++ b/cumulus/client/consensus/aura/src/collators/slot_based/mod.rs @@ -29,8 +29,8 @@ //! //! 1. Awaits the next production signal from the internal timer //! 2. Retrieves the current best relay chain block and identifies a valid parent block (see -//! [find_potential_parents][cumulus_client_consensus_common::find_potential_parents] for parent -//! selection criteria) +//! [find_parent_for_building][cumulus_client_consensus_common::find_parent_for_building] for +//! parent selection criteria) //! 3. Validates that: //! - The parachain has an assigned core on the relay chain //! - No block has been previously built on the target core @@ -73,7 +73,7 @@ use consensus_common::ParachainCandidate; use cumulus_client_collator::service::ServiceInterface as CollatorServiceInterface; use cumulus_client_consensus_common::{self as consensus_common, ParachainBlockImportMarker}; use cumulus_primitives_aura::AuraUnincludedSegmentApi; -use cumulus_primitives_core::RelayParentOffsetApi; +use cumulus_primitives_core::{KeyToIncludeInRelayProof, RelayParentOffsetApi}; use cumulus_relay_chain_interface::RelayChainInterface; use futures::FutureExt; use polkadot_primitives::{ @@ -165,8 +165,10 @@ pub fn run + AuraUnincludedSegmentApi + RelayParentOffsetApi, + Client::Api: AuraApi + + AuraUnincludedSegmentApi + + RelayParentOffsetApi + + KeyToIncludeInRelayProof, Backend: sc_client_api::Backend + 'static, RClient: RelayChainInterface + Clone + 'static, CIDP: CreateInherentDataProviders + 'static, diff --git a/cumulus/client/consensus/aura/src/collators/slot_based/relay_chain_data_cache.rs b/cumulus/client/consensus/aura/src/collators/slot_based/relay_chain_data_cache.rs index b3165bb2d705c..fb22251e4f5c4 100644 --- a/cumulus/client/consensus/aura/src/collators/slot_based/relay_chain_data_cache.rs +++ b/cumulus/client/consensus/aura/src/collators/slot_based/relay_chain_data_cache.rs @@ -91,7 +91,7 @@ where self.relay_client.header(BlockId::Hash(relay_parent)).await else { tracing::warn!(target: crate::LOG_TARGET, "Unable to fetch latest relay chain block header."); - return Err(()) + return Err(()); }; let max_pov_size = match self @@ -103,7 +103,7 @@ where Ok(Some(pvd)) => pvd.max_pov_size, Err(err) => { tracing::error!(target: crate::LOG_TARGET, ?err, "Failed to gather information from relay-client"); - return Err(()) + return Err(()); }, }; diff --git a/cumulus/client/consensus/aura/src/collators/slot_based/slot_timer.rs b/cumulus/client/consensus/aura/src/collators/slot_based/slot_timer.rs index 2ac588c9bfa8a..97e9ca13fd50b 100644 --- a/cumulus/client/consensus/aura/src/collators/slot_based/slot_timer.rs +++ b/cumulus/client/consensus/aura/src/collators/slot_based/slot_timer.rs @@ -177,7 +177,7 @@ fn adjust_authoring_duration( // regardless of authoring duration. if duration_until_deadline == Duration::ZERO { if different_authors { - tracing::warn!( + tracing::debug!( target: LOG_TARGET, ?duration_until_next_slot, ?next_slot, @@ -354,7 +354,7 @@ where Ok(d) => d, Err(error) => { tracing::error!(target: LOG_TARGET, %error, "Failed to fetch slot duration from runtime."); - return Err(()) + return Err(()); }, }; diff --git a/cumulus/client/consensus/aura/src/collators/slot_based/tests.rs b/cumulus/client/consensus/aura/src/collators/slot_based/tests.rs index e0ba35e558afe..ef4ed09c6dc66 100644 --- a/cumulus/client/consensus/aura/src/collators/slot_based/tests.rs +++ b/cumulus/client/consensus/aura/src/collators/slot_based/tests.rs @@ -566,6 +566,15 @@ impl RelayChainInterface for TestRelayClient { unimplemented!("Not needed for test") } + async fn prove_child_read( + &self, + _: RelayHash, + _: &cumulus_relay_chain_interface::ChildInfo, + _: &[Vec], + ) -> RelayChainResult { + unimplemented!("Not needed for test") + } + async fn wait_for_block(&self, _: RelayHash) -> RelayChainResult<()> { unimplemented!("Not needed for test") } diff --git a/cumulus/client/consensus/aura/src/equivocation_import_queue.rs b/cumulus/client/consensus/aura/src/equivocation_import_queue.rs index 100687eb6b538..9bee4b7013cc4 100644 --- a/cumulus/client/consensus/aura/src/equivocation_import_queue.rs +++ b/cumulus/client/consensus/aura/src/equivocation_import_queue.rs @@ -137,7 +137,7 @@ where // was checked/chosen properly, e.g. by warp syncing to this block using a finality proof. if block_params.state_action.skip_execution_checks() || block_params.with_state() { block_params.fork_choice = Some(ForkChoiceStrategy::Custom(block_params.with_state())); - return Ok(block_params) + return Ok(block_params); } let post_hash = block_params.header.hash(); @@ -201,7 +201,7 @@ where return Err(format!( "Rejecting block {:?} due to excessive equivocations at slot", post_hash, - )) + )); } }, Err(aura_internal::SealVerificationError::Deferred(hdr, slot)) => { @@ -217,13 +217,14 @@ where return Err(format!( "Rejecting block ({:?}) from future slot {:?}", post_hash, slot - )) + )); }, - Err(e) => + Err(e) => { return Err(format!( "Rejecting block ({:?}) with invalid seal ({:?})", post_hash, e - )), + )) + }, } } diff --git a/cumulus/client/consensus/aura/src/lib.rs b/cumulus/client/consensus/aura/src/lib.rs index 43e14e3882a4b..bbfa6fe089eb4 100644 --- a/cumulus/client/consensus/aura/src/lib.rs +++ b/cumulus/client/consensus/aura/src/lib.rs @@ -64,14 +64,14 @@ pub(crate) fn export_pov_to_path( ) { if let Err(error) = fs::create_dir_all(&path) { tracing::error!(target: LOG_TARGET, %error, path = %path.display(), "Failed to create PoV export directory"); - return + return; } let mut file = match File::create(path.join(format!("{block_hash:?}_{block_number}.pov"))) { Ok(f) => f, Err(error) => { tracing::error!(target: LOG_TARGET, %error, "Failed to export PoV."); - return + return; }, }; diff --git a/cumulus/client/consensus/common/src/level_monitor.rs b/cumulus/client/consensus/common/src/level_monitor.rs index c00390b0b844c..0311e0347a8a6 100644 --- a/cumulus/client/consensus/common/src/level_monitor.rs +++ b/cumulus/client/consensus/common/src/level_monitor.rs @@ -118,7 +118,7 @@ where "Could not fetch header metadata for leaf: {leaf:?}", ); - continue + continue; }; self.import_counter = self.import_counter.max(meta.number); @@ -128,7 +128,7 @@ where self.freshness.insert(meta.hash, meta.number); self.levels.entry(meta.number).or_default().insert(meta.hash); if meta.number <= self.lowest_level { - break + break; } meta = match self.backend.blockchain().header_metadata(meta.parent) { @@ -140,7 +140,7 @@ where "Could not fetch header metadata for parent: {:?}", meta.parent, ); - break + break; }, } } @@ -170,7 +170,7 @@ where pub fn enforce_limit(&mut self, number: NumberFor) { let level_len = self.levels.get(&number).map(|l| l.len()).unwrap_or_default(); if level_len < self.level_limit { - return + return; } // Sort leaves by freshness only once (less fresh first) and keep track of @@ -275,7 +275,7 @@ where "Unable getting route to any leaf from {:?} (this is a bug)", blk_hash, ); - continue + continue; }, }; @@ -303,7 +303,7 @@ where target_info = Some(candidate_info); if early_stop { // We will never find a candidate with an worst freshest leaf than this. - break + break; } } } @@ -325,7 +325,7 @@ where log::debug!(target: LOG_TARGET, "Removing block (@{}) {:?}", number, hash); if let Err(err) = self.backend.remove_leaf_block(hash) { log::debug!(target: LOG_TARGET, "Remove not possible for {}: {}", hash, err); - return false + return false; } self.levels.get_mut(&number).map(|level| level.remove(&hash)); self.freshness.remove(&hash); @@ -356,7 +356,7 @@ where let to_skip = leaves.len() - target.freshest_leaf_idx; leaves.iter().enumerate().rev().skip(to_skip).for_each(|(leaf_idx, leaf_hash)| { if invalidated_leaves.contains(&leaf_idx) { - return + return; } match sp_blockchain::tree_route(self.backend.blockchain(), target_hash, *leaf_hash) { Ok(route) if route.retracted().is_empty() => { diff --git a/cumulus/client/consensus/common/src/parachain_consensus.rs b/cumulus/client/consensus/common/src/parachain_consensus.rs index 5ed588d4d33da..f3a733af3ffdf 100644 --- a/cumulus/client/consensus/common/src/parachain_consensus.rs +++ b/cumulus/client/consensus/common/src/parachain_consensus.rs @@ -98,7 +98,7 @@ pub async fn finalized_head_stream_worker finalized_heads_stream.fuse(), Err(err) => { tracing::error!(target: LOG_TARGET, error = ?err, "Unable to retrieve finalized heads stream."); - return + return; }, }; @@ -113,7 +113,7 @@ pub async fn finalized_head_stream_worker( Ok(best_heads_stream) => best_heads_stream.fuse(), Err(err) => { tracing::error!(target: LOG_TARGET, error = ?err, "Unable to retrieve best heads stream."); - return + return; }, }; @@ -387,12 +387,12 @@ async fn handle_new_block_imported( }; let unset_hash = if notification.header.number() < unset_best_header.number() { - return + return; } else if notification.header.number() == unset_best_header.number() { let unset_hash = unset_best_header.hash(); if unset_hash != notification.hash { - return + return; } else { unset_hash } @@ -441,7 +441,7 @@ async fn handle_new_best_parachain_head( error = ?err, "Could not decode Parachain header while following best heads.", ); - return + return; }, }; @@ -525,7 +525,7 @@ where "Skipping importing block as new best block, because there already exists a \ best block with an higher number", ); - return + return; } // Make it the new best block diff --git a/cumulus/client/consensus/common/src/parent_search.rs b/cumulus/client/consensus/common/src/parent_search.rs index b037fe0dc9583..1a469d23fde21 100644 --- a/cumulus/client/consensus/common/src/parent_search.rs +++ b/cumulus/client/consensus/common/src/parent_search.rs @@ -26,11 +26,11 @@ use cumulus_relay_chain_interface::{RelayChainError, RelayChainInterface}; use sc_client_api::{Backend, HeaderBackend}; -use sp_blockchain::{Backend as BlockchainBackend, TreeRoute}; +use sp_blockchain::Backend as BlockchainBackend; use sp_runtime::traits::{Block as BlockT, Header as HeaderT}; -const PARENT_SEARCH_LOG_TARGET: &str = "consensus::common::find_potential_parents"; +const LOG_TARGET: &str = "consensus::common::parent_search"; /// Parameters when searching for suitable parents to build on top of. #[derive(Debug)] @@ -42,80 +42,51 @@ pub struct ParentSearchParams { /// A limitation on the age of relay parents for parachain blocks that are being /// considered. This is relative to the `relay_parent` number. pub ancestry_lookback: usize, - /// How "deep" parents can be relative to the included parachain block at the relay-parent. - /// The included block has depth 0. - pub max_depth: usize, - /// Whether to only ignore "alternative" branches, i.e. branches of the chain - /// which do not contain the block pending availability. - pub ignore_alternative_branches: bool, } -/// A potential parent block returned from [`find_potential_parents`] -#[derive(PartialEq)] -pub struct PotentialParent { - /// The hash of the block. - pub hash: B::Hash, - /// The header of the block. - pub header: B::Header, - /// The depth of the block with respect to the included block. - pub depth: usize, - /// Whether the block is the included block, is itself pending on-chain, or descends - /// from the block pending availability. - pub aligned_with_pending: bool, +/// Result of the parent search, containing the included block and the best parent to build on. +pub struct ParentSearchResult { + /// The header of the included block (confirmed on relay chain). + pub included_header: B::Header, + /// The header of the best parent block to build on. + pub best_parent_header: B::Header, } -impl std::fmt::Debug for PotentialParent { +impl std::fmt::Debug for ParentSearchResult { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.debug_struct("PotentialParent") - .field("hash", &self.hash) - .field("depth", &self.depth) - .field("aligned_with_pending", &self.aligned_with_pending) - .field("number", &self.header.number()) + f.debug_struct("ParentSearchResult") + .field("included_number", &self.included_header.number()) + .field("best_parent_hash", &self.best_parent_header.hash()) + .field("best_parent_number", &self.best_parent_header.number()) .finish() } } -/// Perform a recursive search through blocks to find potential -/// parent blocks for a new block. +/// Find the best parent block to build on. /// -/// This accepts a relay-chain block to be used as an anchor and a maximum search depth, -/// along with some arguments for filtering parachain blocks and performs a recursive search -/// for parachain blocks. The search begins at the last included parachain block and returns -/// a set of [`PotentialParent`]s which could be potential parents of a new block with this -/// relay-parent according to the search parameters. +/// This accepts a relay-chain block to be used as an anchor and searches for the best +/// parachain block to use as a parent for a new block. /// -/// A parachain block is a potential parent if it is either the last included parachain block, the -/// pending parachain block (when `max_depth` >= 1), or all of the following hold: -/// * its parent is a potential parent -/// * its relay-parent is within `ancestry_lookback` of the targeted relay-parent. -/// * its relay-parent is within the same session as the targeted relay-parent. -/// * the block number is within `max_depth` blocks of the included block -pub async fn find_potential_parents( +/// The search starts from either the pending block (if one exists) or the included block, +/// and finds the deepest descendant whose relay-parent is within the allowed ancestry. +/// +/// Returns `None` if no suitable parent can be found (e.g., included block unknown locally). +pub async fn find_parent_for_building( params: ParentSearchParams, backend: &impl Backend, relay_client: &impl RelayChainInterface, -) -> Result>, RelayChainError> { +) -> Result>, RelayChainError> { tracing::trace!("Parent search parameters: {params:?}"); + // Get the included block. let Some((included_header, included_hash)) = fetch_included_from_relay_chain(relay_client, backend, params.para_id, params.relay_parent) .await? else { - return Ok(Default::default()) - }; - - let only_included = vec![PotentialParent { - hash: included_hash, - header: included_header.clone(), - depth: 0, - aligned_with_pending: true, - }]; - - if params.max_depth == 0 { - return Ok(only_included) + return Ok(None); }; - // Pending header and hash. + // Fetch the pending block if one exists. let maybe_pending = { // Fetch the most recent pending header from the relay chain. We use // `OccupiedCoreAssumption::Included` so the candidate pending availability gets enacted @@ -130,104 +101,51 @@ pub async fn find_potential_parents( .and_then(|p| B::Header::decode(&mut &p.parent_head.0[..]).ok()) .filter(|x| x.hash() != included_hash); - // If the pending block is not locally known, we can't do anything. + // If the pending block is not locally known, we can't proceed. if let Some(header) = pending_header { let pending_hash = header.hash(); - match backend.blockchain().header(pending_hash) { - // We are supposed to ignore branches that don't contain the pending block, but we - // do not know the pending block locally. - Ok(None) | Err(_) if params.ignore_alternative_branches => { - tracing::warn!( - target: PARENT_SEARCH_LOG_TARGET, - %pending_hash, - "Failed to get header for pending block.", - ); - return Ok(Default::default()) - }, - Ok(Some(_)) => Some((header, pending_hash)), - _ => None, - } + let Ok(Some(header)) = backend.blockchain().header(pending_hash) else { + tracing::warn!( + target: LOG_TARGET, + %pending_hash, + "Failed to get header for pending block.", + ); + return Ok(None); + }; + Some((header, pending_hash)) } else { None } }; - let maybe_route_to_last_pending = maybe_pending - .as_ref() - .map(|(_, pending)| { - sp_blockchain::tree_route(backend.blockchain(), included_hash, *pending) - }) - .transpose()?; - - // If we want to ignore alternative branches there is no reason to start - // the parent search at the included block. We can add the included block and - // the path to the pending block to the potential parents directly (limited by max_depth). - let (frontier, potential_parents) = match ( - &maybe_pending, - params.ignore_alternative_branches, - &maybe_route_to_last_pending, - ) { - (Some((pending_header, pending_hash)), true, Some(ref route_to_pending)) => { - let mut potential_parents = only_included; - - // This is a defensive check, should never happen. - if !route_to_pending.retracted().is_empty() { - tracing::warn!(target: PARENT_SEARCH_LOG_TARGET, "Included block not an ancestor of pending block. This should not happen."); - return Ok(Default::default()) - } - - // Add all items on the path included -> pending - 1 to the potential parents, but - // not more than `max_depth`. - let num_parents_on_path = - route_to_pending.enacted().len().saturating_sub(1).min(params.max_depth); - for (num, block) in - route_to_pending.enacted().iter().take(num_parents_on_path).enumerate() - { - let Ok(Some(header)) = backend.blockchain().header(block.hash) else { continue }; - - potential_parents.push(PotentialParent { - hash: block.hash, - header, - depth: 1 + num, - aligned_with_pending: true, - }); + // Determine the starting point for the search. + let (start_hash, start_header) = match &maybe_pending { + Some((pending_header, pending_hash)) => { + // Verify pending is a descendant of included. + let route = + sp_blockchain::tree_route(backend.blockchain(), included_hash, *pending_hash)?; + if !route.retracted().is_empty() { + tracing::warn!( + target: LOG_TARGET, + "Included block not an ancestor of pending block. This should not happen." + ); + return Ok(None); } - - // The search for additional potential parents should now start at the children of - // the pending block. - ( - vec![PotentialParent { - hash: *pending_hash, - header: pending_header.clone(), - depth: route_to_pending.enacted().len(), - aligned_with_pending: true, - }], - potential_parents, - ) + (*pending_hash, pending_header.clone()) }, - _ => (only_included, Default::default()), + None => (included_hash, included_header.clone()), }; - if potential_parents.len() > params.max_depth { - return Ok(potential_parents); - } - // Build up the ancestry record of the relay chain to compare against. let rp_ancestry = build_relay_parent_ancestry(params.ancestry_lookback, params.relay_parent, relay_client) .await?; - Ok(search_child_branches_for_parents( - frontier, - maybe_route_to_last_pending, - included_header, - maybe_pending.map(|(_, hash)| hash), - backend, - params.max_depth, - params.ignore_alternative_branches, - rp_ancestry, - potential_parents, - )) + // Search for the deepest valid parent starting from the pending/included block. + let best_parent_header = + find_deepest_valid_parent(start_hash, start_header, backend, &rp_ancestry); + + Ok(Some(ParentSearchResult { included_header, best_parent_header })) } /// Fetch the included block from the relay chain. @@ -256,22 +174,13 @@ async fn fetch_included_from_relay_chain( let included_hash = included_header.hash(); // If the included block is not locally known, we can't do anything. match backend.blockchain().header(included_hash) { - Ok(None) => { + Ok(None) | Err(_) => { tracing::warn!( - target: PARENT_SEARCH_LOG_TARGET, + target: LOG_TARGET, %included_hash, "Failed to get header for included block.", ); - return Ok(None) - }, - Err(e) => { - tracing::warn!( - target: PARENT_SEARCH_LOG_TARGET, - %included_hash, - %e, - "Failed to get header for included block.", - ); - return Ok(None) + return Ok(None); }, _ => {}, }; @@ -310,110 +219,66 @@ async fn build_relay_parent_ancestry( // don't iterate back into the genesis block. if header.number == 1 { - break + break; } } Ok(ancestry) } -/// Start search for child blocks that can be used as parents. -pub fn search_child_branches_for_parents( - mut frontier: Vec>, - maybe_route_to_last_pending: Option>, - included_header: Block::Header, - pending_hash: Option, +/// Find the deepest valid parent block starting from `start`. +/// +/// The `start` block (pending or included) is always valid by construction. +/// This function explores its descendants via DFS, returning the deepest block +/// whose relay-parent is within the allowed ancestry. +fn find_deepest_valid_parent( + start_hash: Block::Hash, + start_header: Block::Header, backend: &impl Backend, - max_depth: usize, - ignore_alternative_branches: bool, - rp_ancestry: Vec<(RelayHash, RelayHash)>, - mut potential_parents: Vec>, -) -> Vec> { - let included_hash = included_header.hash(); - let is_hash_in_ancestry = |hash| rp_ancestry.iter().any(|x| x.0 == hash); - let is_root_in_ancestry = |root| rp_ancestry.iter().any(|x| x.1 == root); - - // The distance between pending and included block. Is later used to check if a child - // is aligned with pending when it is between pending and included block. - let pending_distance = maybe_route_to_last_pending.as_ref().map(|route| route.enacted().len()); - - // If a block is on the path included -> pending, we consider it `aligned_with_pending`. - let is_child_pending = |hash| { - maybe_route_to_last_pending - .as_ref() - .map_or(true, |route| route.enacted().iter().any(|x| x.hash == hash)) - }; + rp_ancestry: &[(RelayHash, RelayHash)], +) -> Block::Header { + let mut best = start_header; + + let mut frontier: Vec = + backend.blockchain().children(start_hash).ok().into_iter().flatten().collect(); tracing::trace!( - target: PARENT_SEARCH_LOG_TARGET, - ?included_hash, - included_num = ?included_header.number(), - ?pending_hash , - ?rp_ancestry, - "Searching relay chain ancestry." + target: LOG_TARGET, + ?start_hash, + num_children = frontier.len(), + "Searching for deepest valid parent." ); - while let Some(entry) = frontier.pop() { - let is_pending = pending_hash.as_ref().map_or(false, |h| &entry.hash == h); - let is_included = included_hash == entry.hash; - - // note: even if the pending block or included block have a relay parent - // outside of the expected part of the relay chain, they are always allowed - // because they have already been posted on chain. - let is_potential = is_pending || is_included || { - let digest = entry.header.digest(); - let is_hash_in_ancestry_check = cumulus_primitives_core::extract_relay_parent(digest) - .map_or(false, is_hash_in_ancestry); - let is_root_in_ancestry_check = - cumulus_primitives_core::rpsr_digest::extract_relay_parent_storage_root(digest) - .map(|(r, _n)| r) - .map_or(false, is_root_in_ancestry); - - is_hash_in_ancestry_check || is_root_in_ancestry_check - }; - - let parent_aligned_with_pending = entry.aligned_with_pending; - let child_depth = entry.depth + 1; - let hash = entry.hash; - - tracing::trace!( - target: PARENT_SEARCH_LOG_TARGET, - ?hash, - is_potential, - is_pending, - is_included, - "Checking potential parent." - ); - - if is_potential { - potential_parents.push(entry); - } - - if !is_potential || child_depth > max_depth { - continue - } - - // push children onto search frontier. - for child in backend.blockchain().children(hash).ok().into_iter().flatten() { - tracing::trace!(target: PARENT_SEARCH_LOG_TARGET, ?child, child_depth, ?pending_distance, "Looking at child."); - let aligned_with_pending = parent_aligned_with_pending && - (pending_distance.map_or(true, |dist| child_depth > dist) || - is_child_pending(child)); - - if ignore_alternative_branches && !aligned_with_pending { - tracing::trace!(target: PARENT_SEARCH_LOG_TARGET, ?child, "Child is not aligned with pending block."); - continue - } + while let Some(hash) = frontier.pop() { + let Ok(Some(header)) = backend.blockchain().header(hash) else { continue }; - let Ok(Some(header)) = backend.blockchain().header(child) else { continue }; + if !is_relay_parent_in_ancestry::(&header, rp_ancestry) { + continue; + } - frontier.push(PotentialParent { - hash: child, - header, - depth: child_depth, - aligned_with_pending, - }); + // This block is valid - update best if it's deeper. + if header.number() > best.number() { + best = header.clone(); } + + frontier.extend(backend.blockchain().children(hash).ok().into_iter().flatten()); } - potential_parents + best +} + +/// Check if a block's relay parent is within the allowed ancestry. +fn is_relay_parent_in_ancestry( + header: &Block::Header, + rp_ancestry: &[(RelayHash, RelayHash)], +) -> bool { + let digest = header.digest(); + let relay_parent = cumulus_primitives_core::extract_relay_parent(digest); + let storage_root = + cumulus_primitives_core::rpsr_digest::extract_relay_parent_storage_root(digest) + .map(|(r, _)| r); + + rp_ancestry.iter().any(|(rp_hash, rp_storage_root)| { + relay_parent.map_or(false, |rp| *rp_hash == rp) || + storage_root.map_or(false, |sr| *rp_storage_root == sr) + }) } diff --git a/cumulus/client/consensus/common/src/tests.rs b/cumulus/client/consensus/common/src/tests.rs index ff1c8ec56508b..d82ccd7654503 100644 --- a/cumulus/client/consensus/common/src/tests.rs +++ b/cumulus/client/consensus/common/src/tests.rs @@ -26,8 +26,9 @@ use cumulus_primitives_core::{ CumulusDigestItem, InboundDownwardMessage, InboundHrmpMessage, PersistedValidationData, }; use cumulus_relay_chain_interface::{ - CommittedCandidateReceipt, CoreIndex, OccupiedCoreAssumption, OverseerHandle, PHeader, ParaId, - RelayChainInterface, RelayChainResult, SessionIndex, StorageValue, ValidatorId, + ChildInfo, CommittedCandidateReceipt, CoreIndex, OccupiedCoreAssumption, OverseerHandle, + PHeader, ParaId, RelayChainInterface, RelayChainResult, SessionIndex, StorageValue, + ValidatorId, }; use cumulus_test_client::{ runtime::{Block, Hash, Header}, @@ -135,7 +136,7 @@ impl RelayChainInterface for Relaychain { _ => &inner.relay_chain_hash_to_header, }; let Some(parent_head) = relay_to_header.get(&hash).map(|head| head.encode().into()) else { - return Ok(None) + return Ok(None); }; Ok(Some(PersistedValidationData { parent_head, ..Default::default() })) } @@ -218,6 +219,15 @@ impl RelayChainInterface for Relaychain { unimplemented!("Not needed for test") } + async fn prove_child_read( + &self, + _: PHash, + _: &ChildInfo, + _: &[Vec], + ) -> RelayChainResult { + unimplemented!("Not needed for test") + } + async fn wait_for_block(&self, _: PHash) -> RelayChainResult<()> { Ok(()) } @@ -430,7 +440,7 @@ async fn follow_new_best_works() { loop { Delay::new(Duration::from_millis(100)).await; if block.hash() == client.usage_info().chain.best_hash { - break + break; } } }; @@ -483,7 +493,7 @@ async fn follow_new_best_with_dummy_recovery_works() { status => { assert_eq!(block.hash(), client.usage_info().chain.best_hash); assert_eq!(status, BlockStatus::InChainWithState); - break + break; }, } } @@ -536,7 +546,7 @@ async fn follow_finalized_works() { loop { Delay::new(Duration::from_millis(100)).await; if block.hash() == client.usage_info().chain.finalized_hash { - break + break; } } }; @@ -588,7 +598,7 @@ async fn follow_finalized_does_not_stop_on_unknown_block() { loop { Delay::new(Duration::from_millis(100)).await; if block.hash() == client.usage_info().chain.finalized_hash { - break + break; } } }; @@ -638,7 +648,7 @@ async fn follow_new_best_sets_best_after_it_is_imported() { loop { Delay::new(Duration::from_millis(100)).await; if block.hash() == client.usage_info().chain.best_hash { - break + break; } } @@ -663,7 +673,7 @@ async fn follow_new_best_sets_best_after_it_is_imported() { loop { Delay::new(Duration::from_millis(100)).await; if unknown_block.hash() == client.usage_info().chain.best_hash { - break + break; } } }; @@ -956,8 +966,9 @@ fn restore_limit_monitor() { assert_eq!(*monitor.freshness.get(&block13.header.hash()).unwrap(), monitor.import_counter); } +/// Tests that the best parent is found within allowed ancestry. #[test] -fn find_potential_parents_in_allowed_ancestry() { +fn find_best_parent_in_allowed_ancestry() { sp_tracing::try_init_simple(); let backend = Arc::new(Backend::new_test(1000, 1)); @@ -965,7 +976,7 @@ fn find_potential_parents_in_allowed_ancestry() { let mut para_import = ParachainBlockImport::new(client.clone(), backend.clone()); let relay_parent = relay_hash_from_block_num(10); - let block = build_and_import_block_ext( + let included_block = build_and_import_block_ext( &client, BlockOrigin::Own, true, @@ -978,87 +989,75 @@ fn find_potential_parents_in_allowed_ancestry() { let relay_chain = Relaychain::new(); { let included_map = &mut relay_chain.inner.lock().unwrap().relay_chain_hash_to_header; - included_map.insert(relay_parent, block.header().clone()); + included_map.insert(relay_parent, included_block.header().clone()); } - let potential_parents = block_on(find_potential_parents( - ParentSearchParams { - relay_parent, - para_id: ParaId::from(100), - ancestry_lookback: 0, - max_depth: 0, - ignore_alternative_branches: true, - }, + // When there's only the included block, it should be the best parent. + let result = block_on(find_parent_for_building( + ParentSearchParams { relay_parent, para_id: ParaId::from(100), ancestry_lookback: 0 }, &*backend, &relay_chain, )) - .unwrap(); - assert_eq!(potential_parents.len(), 1); - let parent = &potential_parents[0]; + .unwrap() + .expect("Should find a parent"); - assert_eq!(parent.hash, block.hash()); - assert_eq!(&parent.header, block.header()); - assert_eq!(parent.depth, 0); - assert!(parent.aligned_with_pending); + assert_eq!(result.best_parent_header.hash(), included_block.hash()); + assert_eq!(&result.best_parent_header, included_block.header()); + assert_eq!(&result.included_header, included_block.header()); - // New block is not pending or included. + // Add a child block with a different relay parent. let block_relay_parent = relay_hash_from_block_num(11); let search_relay_parent = relay_hash_from_block_num(13); { let included_map = &mut relay_chain.inner.lock().unwrap().relay_chain_hash_to_header; - included_map.insert(search_relay_parent, block.header().clone()); + included_map.insert(search_relay_parent, included_block.header().clone()); } - let block = build_and_import_block_ext( + let child_block = build_and_import_block_ext( &client, BlockOrigin::Own, true, &mut para_import, - Some(block.header().hash()), + Some(included_block.header().hash()), None, Some(block_relay_parent), ); - let potential_parents = block_on(find_potential_parents( + + // With ancestry_lookback: 2, the child block should be the best parent. + let result = block_on(find_parent_for_building( ParentSearchParams { relay_parent: search_relay_parent, para_id: ParaId::from(100), ancestry_lookback: 2, - max_depth: 1, - ignore_alternative_branches: true, }, &*backend, &relay_chain, )) - .unwrap(); - - assert_eq!(potential_parents.len(), 2); - let parent = &potential_parents[1]; + .unwrap() + .expect("Should find a parent"); - assert_eq!(parent.hash, block.hash()); - assert_eq!(&parent.header, block.header()); - assert_eq!(parent.depth, 1); - assert!(parent.aligned_with_pending); + assert_eq!(result.best_parent_header.hash(), child_block.hash()); + assert_eq!(&result.best_parent_header, child_block.header()); - // Reduce allowed ancestry. - let potential_parents = block_on(find_potential_parents( + // With ancestry_lookback: 0, child block's relay parent is too old, + // so included block should be the best parent. + let result = block_on(find_parent_for_building( ParentSearchParams { relay_parent: search_relay_parent, para_id: ParaId::from(100), - ancestry_lookback: 1, - max_depth: 1, - ignore_alternative_branches: true, + ancestry_lookback: 0, }, &*backend, &relay_chain, )) - .unwrap(); - assert_eq!(potential_parents.len(), 1); - let parent = &potential_parents[0]; - assert_ne!(parent.hash, block.hash()); + .unwrap() + .expect("Should find a parent"); + + assert_eq!(result.best_parent_header.hash(), included_block.hash()); } -/// Tests that pending availability block is always potential parent. +/// Tests that pending availability block is used as starting point for search. #[test] -fn find_potential_pending_parent() { +fn find_best_parent_with_pending() { sp_tracing::try_init_simple(); let backend = Arc::new(Backend::new_test(1000, 1)); @@ -1098,115 +1097,32 @@ fn find_potential_pending_parent() { .insert(search_relay_parent, pending_block.header().clone()); } - let potential_parents = block_on(find_potential_parents( + let result = block_on(find_parent_for_building( ParentSearchParams { relay_parent: search_relay_parent, para_id: ParaId::from(100), ancestry_lookback: 0, - max_depth: 1, - ignore_alternative_branches: true, }, &*backend, &relay_chain, )) - .unwrap(); - assert_eq!(potential_parents.len(), 2); - let included_parent = &potential_parents[0]; - - assert_eq!(included_parent.hash, included_block.hash()); - assert_eq!(&included_parent.header, included_block.header()); - assert_eq!(included_parent.depth, 0); - assert!(included_parent.aligned_with_pending); - - let pending_parent = &potential_parents[1]; - - assert_eq!(pending_parent.hash, pending_block.hash()); - assert_eq!(&pending_parent.header, pending_block.header()); - assert_eq!(pending_parent.depth, 1); - assert!(pending_parent.aligned_with_pending); -} - -#[test] -fn find_potential_parents_with_max_depth() { - sp_tracing::try_init_simple(); - - const NON_INCLUDED_CHAIN_LEN: usize = 5; - - let backend = Arc::new(Backend::new_test(1000, 1)); - let client = Arc::new(TestClientBuilder::with_backend(backend.clone()).build()); - let mut para_import = ParachainBlockImport::new(client.clone(), backend.clone()); - - let relay_parent = relay_hash_from_block_num(10); - let included_block = build_and_import_block_ext( - &client, - BlockOrigin::Own, - true, - &mut para_import, - None, - None, - Some(relay_parent), - ); - - let relay_chain = Relaychain::new(); - { - let included_map = &mut relay_chain.inner.lock().unwrap().relay_chain_hash_to_header; - included_map.insert(relay_parent, included_block.header().clone()); - } - - let mut blocks = Vec::new(); - let mut parent = included_block.header().hash(); - for _ in 0..NON_INCLUDED_CHAIN_LEN { - let block = build_and_import_block_ext( - &client, - BlockOrigin::Own, - true, - &mut para_import, - Some(parent), - None, - Some(relay_parent), - ); - parent = block.header().hash(); - blocks.push(block); - } - for max_depth in 0..=NON_INCLUDED_CHAIN_LEN { - let potential_parents = block_on(find_potential_parents( - ParentSearchParams { - relay_parent, - para_id: ParaId::from(100), - ancestry_lookback: 0, - max_depth, - ignore_alternative_branches: true, - }, - &*backend, - &relay_chain, - )) - .unwrap(); - assert_eq!(potential_parents.len(), max_depth + 1); - let expected_parents: Vec<_> = - std::iter::once(&included_block).chain(blocks.iter().take(max_depth)).collect(); - - for i in 0..(max_depth + 1) { - let parent = &potential_parents[i]; - let expected = &expected_parents[i]; - - assert_eq!(parent.hash, expected.hash()); - assert_eq!(&parent.header, expected.header()); - assert_eq!(parent.depth, i); - assert!(parent.aligned_with_pending); - } - } + .unwrap() + .expect("Should find a parent"); + + // Best parent should be the pending block. + assert_eq!(result.best_parent_header.hash(), pending_block.hash()); + assert_eq!(&result.best_parent_header, pending_block.header()); + // Included header should be the included block. + assert_eq!(&result.included_header, included_block.header()); } #[test] -fn find_potential_parents_unknown_included() { +fn find_best_parent_unknown_included_returns_none() { sp_tracing::try_init_simple(); - const NON_INCLUDED_CHAIN_LEN: usize = 5; - let backend = Arc::new(Backend::new_test(1000, 1)); let client = Arc::new(TestClientBuilder::with_backend(backend.clone()).build()); let relay_parent = relay_hash_from_block_num(10); - // Choose different relay parent for alternative chain to get new hashes. let search_relay_parent = relay_hash_from_block_num(11); let sproof = sproof_with_best_parent(&client); @@ -1220,36 +1136,30 @@ fn find_potential_parents_unknown_included() { .insert(search_relay_parent, included_but_unknown.header().clone()); } - // Ignore alternative branch: - let potential_parents = block_on(find_potential_parents( + let result = block_on(find_parent_for_building( ParentSearchParams { relay_parent: search_relay_parent, para_id: ParaId::from(100), - ancestry_lookback: 1, // aligned chain is in ancestry. - max_depth: NON_INCLUDED_CHAIN_LEN, - ignore_alternative_branches: true, + ancestry_lookback: 1, }, &*backend, &relay_chain, )) .unwrap(); - assert_eq!(potential_parents.len(), 0); + assert!(result.is_none()); } #[test] -fn find_potential_parents_unknown_pending() { +fn find_best_parent_unknown_pending_returns_none() { sp_tracing::try_init_simple(); - const NON_INCLUDED_CHAIN_LEN: usize = 5; - let backend = Arc::new(Backend::new_test(1000, 1)); let client = Arc::new(TestClientBuilder::with_backend(backend.clone()).build()); let mut para_import = ParachainBlockImport::new_with_delayed_best_block(client.clone(), backend.clone()); let relay_parent = relay_hash_from_block_num(10); - // Choose different relay parent for alternative chain to get new hashes. let search_relay_parent = relay_hash_from_block_num(11); let included_block = build_and_import_block_ext( &client, @@ -1281,39 +1191,32 @@ fn find_potential_parents_unknown_pending() { .insert(search_relay_parent, pending_but_unknown.header().clone()); } - // Ignore alternative branch: - let potential_parents = block_on(find_potential_parents( + let result = block_on(find_parent_for_building( ParentSearchParams { relay_parent: search_relay_parent, para_id: ParaId::from(100), - ancestry_lookback: 1, // aligned chain is in ancestry. - max_depth: NON_INCLUDED_CHAIN_LEN, - ignore_alternative_branches: true, + ancestry_lookback: 1, }, &*backend, &relay_chain, )) .unwrap(); - assert!(potential_parents.is_empty()); + assert!(result.is_none()); } +/// Tests that the deepest block is found when there are multiple forks. #[test] -fn find_potential_parents_unknown_pending_include_alternative_branches() { +fn find_best_parent_with_forks_returns_deepest() { sp_tracing::try_init_simple(); - const NON_INCLUDED_CHAIN_LEN: usize = 5; - let backend = Arc::new(Backend::new_test(1000, 1)); let client = Arc::new(TestClientBuilder::with_backend(backend.clone()).build()); let mut para_import = ParachainBlockImport::new_with_delayed_best_block(client.clone(), backend.clone()); let relay_parent = relay_hash_from_block_num(10); - - // Choose different relay parent for alternative chain to get new hashes. - let search_relay_parent = relay_hash_from_block_num(11); - + let search_relay_parent = relay_hash_from_block_num(20); let included_block = build_and_import_block_ext( &client, BlockOrigin::NetworkInitialSync, @@ -1323,25 +1226,14 @@ fn find_potential_parents_unknown_pending_include_alternative_branches() { None, Some(relay_parent), ); - - let alt_block = build_and_import_block_ext( + let pending_block = build_and_import_block_ext( &client, - BlockOrigin::NetworkInitialSync, + BlockOrigin::Own, true, &mut para_import, Some(included_block.header().hash()), None, - Some(search_relay_parent), - ); - - tracing::info!(hash = %alt_block.header().hash(), "Alt block."); - let sproof = sproof_with_parent_by_hash(&client, included_block.header().hash()); - let pending_but_unknown = build_block( - &*client, - sproof, - Some(included_block.header().hash()), - None, - Some(relay_parent), + Some(relay_hash_from_block_num(11)), ); let relay_chain = Relaychain::new(); @@ -1352,207 +1244,99 @@ fn find_potential_parents_unknown_pending_include_alternative_branches() { .insert(search_relay_parent, included_block.header().clone()); relay_inner .relay_chain_hash_to_header_pending - .insert(search_relay_parent, pending_but_unknown.header().clone()); + .insert(search_relay_parent, pending_block.header().clone()); } - // Ignore alternative branch: - let potential_parents = block_on(find_potential_parents( - ParentSearchParams { - relay_parent: search_relay_parent, - para_id: ParaId::from(100), - ancestry_lookback: 1, // aligned chain is in ancestry. - max_depth: NON_INCLUDED_CHAIN_LEN, - ignore_alternative_branches: false, - }, - &*backend, - &relay_chain, - )) - .unwrap(); - - let expected_parents: Vec<_> = vec![&included_block, &alt_block]; - assert_eq!(potential_parents.len(), 2); - assert_eq!(expected_parents[0].hash(), potential_parents[0].hash); - assert_eq!(expected_parents[1].hash(), potential_parents[1].hash); -} - -/// Test where there are multiple pending blocks. -#[test] -fn find_potential_parents_aligned_with_late_pending() { - sp_tracing::try_init_simple(); - - const NON_INCLUDED_CHAIN_LEN: usize = 5; - - let backend = Arc::new(Backend::new_test(1000, 1)); - let client = Arc::new(TestClientBuilder::with_backend(backend.clone()).build()); - let mut para_import = - ParachainBlockImport::new_with_delayed_best_block(client.clone(), backend.clone()); + // Build forked chains from pending using different relay parents to create distinct blocks: + // + // included -> pending -> fork1_block1 -> fork1_block2 (depth 2) + // \-> fork2_block1 -> fork2_block2 -> fork2_block3 (depth 3, deepest) + // \-> fork3_block1 (depth 1) - let relay_parent = relay_hash_from_block_num(10); - // Choose different relay parent for alternative chain to get new hashes. - let search_relay_parent = relay_hash_from_block_num(11); - let included_block = build_and_import_block_ext( + // Fork 1: depth 2 + let fork1_block1 = build_and_import_block_ext( &client, - BlockOrigin::NetworkInitialSync, - true, + BlockOrigin::Own, + false, &mut para_import, + Some(pending_block.header().hash()), None, + Some(relay_hash_from_block_num(12)), + ); + let _fork1_block2 = build_and_import_block_ext( + &client, + BlockOrigin::Own, + false, + &mut para_import, + Some(fork1_block1.header().hash()), None, - Some(relay_parent), + Some(relay_hash_from_block_num(13)), ); - let in_between_block = build_and_import_block_ext( + // Fork 2: depth 3 (deepest) + let fork2_block1 = build_and_import_block_ext( &client, - BlockOrigin::NetworkInitialSync, - true, + BlockOrigin::Own, + false, &mut para_import, - Some(included_block.header().hash()), + Some(pending_block.header().hash()), None, - Some(relay_parent), + Some(relay_hash_from_block_num(14)), ); - - let pending_block = build_and_import_block_ext( + let fork2_block2 = build_and_import_block_ext( &client, BlockOrigin::Own, - true, + false, &mut para_import, - Some(in_between_block.header().hash()), + Some(fork2_block1.header().hash()), None, - Some(relay_parent), + Some(relay_hash_from_block_num(15)), + ); + let fork2_block3 = build_and_import_block_ext( + &client, + BlockOrigin::Own, + false, + &mut para_import, + Some(fork2_block2.header().hash()), + None, + Some(relay_hash_from_block_num(16)), ); - let relay_chain = Relaychain::new(); - { - let relay_inner = &mut relay_chain.inner.lock().unwrap(); - relay_inner - .relay_chain_hash_to_header - .insert(search_relay_parent, included_block.header().clone()); - relay_inner - .relay_chain_hash_to_header_pending - .insert(search_relay_parent, in_between_block.header().clone()); - relay_inner - .relay_chain_hash_to_header_pending - .insert(search_relay_parent, pending_block.header().clone()); - } - - // Build some blocks on the pending block and on the included block. - // We end up with two sibling chains, one is aligned with the pending block, - // the other is not. - let mut aligned_blocks = Vec::new(); - let mut parent = pending_block.header().hash(); - for _ in 2..NON_INCLUDED_CHAIN_LEN { - let block = build_and_import_block_ext( - &client, - BlockOrigin::Own, - true, - &mut para_import, - Some(parent), - None, - Some(relay_parent), - ); - parent = block.header().hash(); - aligned_blocks.push(block); - } - - let mut alt_blocks = Vec::new(); - let mut parent = included_block.header().hash(); - for _ in 0..NON_INCLUDED_CHAIN_LEN { - let block = build_and_import_block_ext( - &client, - BlockOrigin::NetworkInitialSync, - true, - &mut para_import, - Some(parent), - None, - Some(search_relay_parent), - ); - parent = block.header().hash(); - alt_blocks.push(block); - } + // Fork 3: depth 1 + let _fork3_block1 = build_and_import_block_ext( + &client, + BlockOrigin::Own, + false, + &mut para_import, + Some(pending_block.header().hash()), + None, + Some(relay_hash_from_block_num(17)), + ); - // Ignore alternative branch: - for max_depth in 0..=NON_INCLUDED_CHAIN_LEN { - let potential_parents = block_on(find_potential_parents( - ParentSearchParams { - relay_parent: search_relay_parent, - para_id: ParaId::from(100), - ancestry_lookback: 1, // aligned chain is in ancestry. - max_depth, - ignore_alternative_branches: true, - }, - &*backend, - &relay_chain, - )) - .unwrap(); - - assert_eq!(potential_parents.len(), max_depth + 1); - let expected_parents: Vec<_> = [&included_block, &in_between_block, &pending_block] - .into_iter() - .chain(aligned_blocks.iter()) - .take(max_depth + 1) - .collect(); - - for i in 0..(max_depth + 1) { - let parent = &potential_parents[i]; - let expected = &expected_parents[i]; - - assert_eq!(parent.hash, expected.hash()); - assert_eq!(&parent.header, expected.header()); - assert_eq!(parent.depth, i); - assert!(parent.aligned_with_pending); - } - } + let result = block_on(find_parent_for_building( + ParentSearchParams { + relay_parent: search_relay_parent, + para_id: ParaId::from(100), + ancestry_lookback: 10, + }, + &*backend, + &relay_chain, + )) + .unwrap() + .expect("Should find a parent"); - // Do not ignore: - for max_depth in 0..=NON_INCLUDED_CHAIN_LEN { - let potential_parents = block_on(find_potential_parents( - ParentSearchParams { - relay_parent: search_relay_parent, - para_id: ParaId::from(100), - ancestry_lookback: 1, // aligned chain is in ancestry. - max_depth, - ignore_alternative_branches: false, - }, - &*backend, - &relay_chain, - )) - .unwrap(); - - let expected_len = 2 * max_depth + 1; - assert_eq!(potential_parents.len(), expected_len); - let expected_aligned: Vec<_> = [&included_block, &in_between_block, &pending_block] - .into_iter() - .chain(aligned_blocks.iter()) - .take(max_depth + 1) - .collect(); - let expected_alt = alt_blocks.iter().take(max_depth); - - let expected_parents: Vec<_> = - expected_aligned.clone().into_iter().chain(expected_alt).collect(); - // Check correctness. - assert_eq!(expected_parents.len(), expected_len); - - for i in 0..expected_len { - let parent = &potential_parents[i]; - let expected = expected_parents - .iter() - .find(|block| block.header().hash() == parent.hash) - .expect("missing parent"); - - let is_aligned = expected_aligned.contains(&expected); - - assert_eq!(parent.hash, expected.hash()); - assert_eq!(&parent.header, expected.header()); - - assert_eq!(parent.aligned_with_pending, is_aligned); - } - } + // The deepest block (fork2_block3) should be the best parent. + assert_eq!(result.best_parent_header.hash(), fork2_block3.hash()); + assert_eq!(&result.best_parent_header, fork2_block3.header()); + assert_eq!(&result.included_header, included_block.header()); } +/// Tests that the deepest block in a chain is returned as best parent. #[test] -fn find_potential_parents_aligned_with_pending() { +fn find_best_parent_returns_deepest_block() { sp_tracing::try_init_simple(); - const NON_INCLUDED_CHAIN_LEN: usize = 5; + const CHAIN_LEN: usize = 5; let backend = Arc::new(Backend::new_test(1000, 1)); let client = Arc::new(TestClientBuilder::with_backend(backend.clone()).build()); @@ -1560,7 +1344,6 @@ fn find_potential_parents_aligned_with_pending() { ParachainBlockImport::new_with_delayed_best_block(client.clone(), backend.clone()); let relay_parent = relay_hash_from_block_num(10); - // Choose different relay parent for alternative chain to get new hashes. let search_relay_parent = relay_hash_from_block_num(11); let included_block = build_and_import_block_ext( &client, @@ -1592,211 +1375,35 @@ fn find_potential_parents_aligned_with_pending() { .insert(search_relay_parent, pending_block.header().clone()); } - // Build two sibling chains from the included block. - let mut aligned_blocks = Vec::new(); - let mut parent = pending_block.header().hash(); - for _ in 1..NON_INCLUDED_CHAIN_LEN { - let block = build_and_import_block_ext( - &client, - BlockOrigin::Own, - true, - &mut para_import, - Some(parent), - None, - Some(relay_parent), - ); - parent = block.header().hash(); - aligned_blocks.push(block); - } - - let mut alt_blocks = Vec::new(); - let mut parent = included_block.header().hash(); - for _ in 0..NON_INCLUDED_CHAIN_LEN { - let block = build_and_import_block_ext( - &client, - BlockOrigin::NetworkInitialSync, - true, - &mut para_import, - Some(parent), - None, - Some(search_relay_parent), - ); - parent = block.header().hash(); - alt_blocks.push(block); - } - - // Ignore alternative branch: - for max_depth in 0..=NON_INCLUDED_CHAIN_LEN { - let potential_parents = block_on(find_potential_parents( - ParentSearchParams { - relay_parent: search_relay_parent, - para_id: ParaId::from(100), - ancestry_lookback: 1, // aligned chain is in ancestry. - max_depth, - ignore_alternative_branches: true, - }, - &*backend, - &relay_chain, - )) - .unwrap(); - assert_eq!(potential_parents.len(), max_depth + 1); - let expected_parents: Vec<_> = [&included_block, &pending_block] - .into_iter() - .chain(aligned_blocks.iter()) - .take(max_depth + 1) - .collect(); - - for i in 0..(max_depth + 1) { - let parent = &potential_parents[i]; - let expected = &expected_parents[i]; - - assert_eq!(parent.hash, expected.hash()); - assert_eq!(&parent.header, expected.header()); - assert_eq!(parent.depth, i); - assert!(parent.aligned_with_pending); - } - } - - // Do not ignore: - for max_depth in 0..=NON_INCLUDED_CHAIN_LEN { - log::info!("Ran with max_depth = {max_depth}"); - let potential_parents = block_on(find_potential_parents( - ParentSearchParams { - relay_parent: search_relay_parent, - para_id: ParaId::from(100), - ancestry_lookback: 1, // aligned chain is in ancestry. - max_depth, - ignore_alternative_branches: false, - }, - &*backend, - &relay_chain, - )) - .unwrap(); - - let expected_len = 2 * max_depth + 1; - assert_eq!(potential_parents.len(), expected_len); - let expected_aligned: Vec<_> = [&included_block, &pending_block] - .into_iter() - .chain(aligned_blocks.iter()) - .take(max_depth + 1) - .collect(); - let expected_alt = alt_blocks.iter().take(max_depth); - - let expected_parents: Vec<_> = - expected_aligned.clone().into_iter().chain(expected_alt).collect(); - // Check correctness. - assert_eq!(expected_parents.len(), expected_len); - - potential_parents.iter().for_each(|p| log::info!("result: {:?}", p)); - for i in 0..expected_len { - let parent = &potential_parents[i]; - let expected = expected_parents - .iter() - .find(|block| block.header().hash() == parent.hash) - .expect("missing parent"); - - let is_aligned = expected_aligned.contains(&expected); - - assert_eq!(parent.hash, expected.hash()); - assert_eq!(&parent.header, expected.header()); - - log::info!( - "Check hash: {:?} expected: {} is: {}", - parent.hash, - is_aligned, - parent.aligned_with_pending, - ); - assert_eq!(parent.aligned_with_pending, is_aligned); - } - } -} - -/// Tests that no potential parent gets discarded if there's no pending availability block. -#[test] -fn find_potential_parents_aligned_no_pending() { - sp_tracing::try_init_simple(); - - const NON_INCLUDED_CHAIN_LEN: usize = 5; - - let backend = Arc::new(Backend::new_test(1000, 1)); - let client = Arc::new(TestClientBuilder::with_backend(backend.clone()).build()); - let mut para_import = - ParachainBlockImport::new_with_delayed_best_block(client.clone(), backend.clone()); - - let relay_parent = relay_hash_from_block_num(10); - // Choose different relay parent for alternative chain to get new hashes. - let search_relay_parent = relay_hash_from_block_num(11); - let included_block = build_and_import_block_ext( - &client, - BlockOrigin::Own, - true, - &mut para_import, - None, - None, - Some(relay_parent), - ); - - let relay_chain = Relaychain::new(); - { - let included_map = &mut relay_chain.inner.lock().unwrap().relay_chain_hash_to_header; - included_map.insert(search_relay_parent, included_block.header().clone()); - } - - // Build two sibling chains from the included block. - let mut parent = included_block.header().hash(); - for _ in 0..NON_INCLUDED_CHAIN_LEN { + // Build a chain on top of the pending block. + let mut last_block = pending_block; + for _ in 1..CHAIN_LEN { let block = build_and_import_block_ext( &client, BlockOrigin::Own, true, &mut para_import, - Some(parent), + Some(last_block.header().hash()), None, Some(relay_parent), ); - parent = block.header().hash(); + last_block = block; } - let mut parent = included_block.header().hash(); - for _ in 0..NON_INCLUDED_CHAIN_LEN { - let block = build_and_import_block_ext( - &client, - BlockOrigin::NetworkInitialSync, - true, - &mut para_import, - Some(parent), - None, - Some(search_relay_parent), - ); - parent = block.header().hash(); - } + let result = block_on(find_parent_for_building( + ParentSearchParams { + relay_parent: search_relay_parent, + para_id: ParaId::from(100), + ancestry_lookback: 1, + }, + &*backend, + &relay_chain, + )) + .unwrap() + .expect("Should find a parent"); - for max_depth in 0..=NON_INCLUDED_CHAIN_LEN { - let potential_parents_aligned = block_on(find_potential_parents( - ParentSearchParams { - relay_parent: search_relay_parent, - para_id: ParaId::from(100), - ancestry_lookback: 1, // aligned chain is in ancestry. - max_depth, - ignore_alternative_branches: true, - }, - &*backend, - &relay_chain, - )) - .unwrap(); - let potential_parents = block_on(find_potential_parents( - ParentSearchParams { - relay_parent: search_relay_parent, - para_id: ParaId::from(100), - ancestry_lookback: 1, - max_depth, - ignore_alternative_branches: false, - }, - &*backend, - &relay_chain, - )) - .unwrap(); - assert_eq!(potential_parents.len(), 2 * max_depth + 1); - assert_eq!(potential_parents, potential_parents_aligned); - } + // The deepest block should be the best parent. + assert_eq!(result.best_parent_header.hash(), last_block.hash()); + assert_eq!(&result.best_parent_header, last_block.header()); + assert_eq!(&result.included_header, included_block.header()); } diff --git a/cumulus/client/consensus/relay-chain/src/import_queue.rs b/cumulus/client/consensus/relay-chain/src/import_queue.rs index a7be3d7c36cfe..772ba0d8dfe2b 100644 --- a/cumulus/client/consensus/relay-chain/src/import_queue.rs +++ b/cumulus/client/consensus/relay-chain/src/import_queue.rs @@ -58,7 +58,7 @@ where // This is done for example when gap syncing and it is expected that the block after the gap // was checked/chosen properly, e.g. by warp syncing to this block using a finality proof. if block_params.state_action.skip_execution_checks() || block_params.with_state() { - return Ok(block_params) + return Ok(block_params); } if let Some(inner_body) = block_params.body.take() { diff --git a/cumulus/client/network/src/lib.rs b/cumulus/client/network/src/lib.rs index c98cd89e5a32e..e84ffe398b730 100644 --- a/cumulus/client/network/src/lib.rs +++ b/cumulus/client/network/src/lib.rs @@ -98,7 +98,7 @@ impl BlockAnnounceData { h } else { tracing::debug!(target: LOG_TARGET, "`CompactStatement` isn't the candidate variant!",); - return Err(Validation::Failure { disconnect: true }) + return Err(Validation::Failure { disconnect: true }); }; if *candidate_hash != self.receipt.hash() { @@ -106,7 +106,7 @@ impl BlockAnnounceData { target: LOG_TARGET, "Receipt candidate hash doesn't match candidate hash in statement", ); - return Err(Validation::Failure { disconnect: true }) + return Err(Validation::Failure { disconnect: true }); } if HeadData(encoded_header).hash() != self.receipt.descriptor.para_head() { @@ -114,7 +114,7 @@ impl BlockAnnounceData { target: LOG_TARGET, "Receipt para head hash doesn't match the hash of the header in the block announcement", ); - return Err(Validation::Failure { disconnect: true }) + return Err(Validation::Failure { disconnect: true }); } Ok(()) @@ -153,7 +153,7 @@ impl BlockAnnounceData { "Block announcement justification signer is a validator index out of bound", ); - return Ok(Validation::Failure { disconnect: true }) + return Ok(Validation::Failure { disconnect: true }); }, }; @@ -164,7 +164,7 @@ impl BlockAnnounceData { "Block announcement justification signature is invalid.", ); - return Ok(Validation::Failure { disconnect: true }) + return Ok(Validation::Failure { disconnect: true }); } Ok(Validation::Success { is_new_best: true }) @@ -178,7 +178,7 @@ impl TryFrom<&'_ CollationSecondedSignal> for BlockAnnounceData { let receipt = if let Statement::Seconded(receipt) = signal.statement.payload() { receipt.to_plain() } else { - return Err(()) + return Err(()); }; Ok(BlockAnnounceData { @@ -328,7 +328,7 @@ where if best_head == header { tracing::debug!(target: LOG_TARGET, "Announced block matches best block.",); - return Ok(Validation::Success { is_new_best: true }) + return Ok(Validation::Success { is_new_best: true }); } let mut backed_blocks = @@ -380,24 +380,25 @@ where .unwrap_or(false); if relay_chain_is_syncing { - return Ok(Validation::Success { is_new_best: false }) + return Ok(Validation::Success { is_new_best: false }); } if data.is_empty() { - return block_announce_validator.handle_empty_block_announce_data(header).await + return block_announce_validator.handle_empty_block_announce_data(header).await; } let block_announce_data = match BlockAnnounceData::decode_all(&mut data.as_slice()) { Ok(r) => r, - Err(err) => + Err(err) => { return Err(Box::new(BlockAnnounceError(format!( "Can not decode the `BlockAnnounceData`: {:?}", err - ))) as Box<_>), + ))) as Box<_>) + }, }; if let Err(e) = block_announce_data.validate(header_encoded) { - return Ok(e) + return Ok(e); } let relay_parent = block_announce_data.receipt.descriptor.relay_parent(); @@ -478,7 +479,7 @@ async fn wait_to_announce( block = ?block_hash, "Wait to announce stopped, because sender was dropped.", ); - return + return; }, }; diff --git a/cumulus/client/network/src/tests.rs b/cumulus/client/network/src/tests.rs index cfbaba72588e2..a622fe93dd409 100644 --- a/cumulus/client/network/src/tests.rs +++ b/cumulus/client/network/src/tests.rs @@ -20,7 +20,7 @@ use async_trait::async_trait; use cumulus_primitives_core::relay_chain::{BlockId, CoreIndex}; use cumulus_relay_chain_inprocess_interface::{check_block_in_chain, BlockCheckStatus}; use cumulus_relay_chain_interface::{ - OverseerHandle, PHeader, ParaId, RelayChainError, RelayChainResult, + ChildInfo, OverseerHandle, PHeader, ParaId, RelayChainError, RelayChainResult, }; use cumulus_test_service::runtime::{Block, Hash, Header}; use futures::{executor::block_on, poll, task::Poll, FutureExt, Stream, StreamExt}; @@ -245,6 +245,15 @@ impl RelayChainInterface for DummyRelayChainInterface { unimplemented!("Not needed for test") } + async fn prove_child_read( + &self, + _: PHash, + _: &ChildInfo, + _: &[Vec], + ) -> RelayChainResult { + unimplemented!("Not needed for test") + } + async fn wait_for_block(&self, hash: PHash) -> RelayChainResult<()> { let mut listener = match check_block_in_chain( self.relay_backend.clone(), @@ -289,12 +298,13 @@ impl RelayChainInterface for DummyRelayChainInterface { async fn header(&self, block_id: BlockId) -> RelayChainResult> { let hash = match block_id { BlockId::Hash(hash) => hash, - BlockId::Number(num) => + BlockId::Number(num) => { if let Some(hash) = self.relay_client.hash(num)? { hash } else { - return Ok(None) - }, + return Ok(None); + } + }, }; let header = self.relay_client.header(hash)?; diff --git a/cumulus/client/parachain-inherent/src/lib.rs b/cumulus/client/parachain-inherent/src/lib.rs index 5e994cd472f70..62da74ddc2c04 100644 --- a/cumulus/client/parachain-inherent/src/lib.rs +++ b/cumulus/client/parachain-inherent/src/lib.rs @@ -18,31 +18,34 @@ mod mock; +use std::collections::{HashMap, HashSet}; + use codec::Decode; use cumulus_primitives_core::{ relay_chain::{ self, ApprovedPeerId, Block as RelayBlock, Hash as PHash, Header as RelayHeader, HrmpChannelId, }, - ParaId, PersistedValidationData, + ParaId, PersistedValidationData, RelayProofRequest, RelayStorageKey, }; pub use cumulus_primitives_parachain_inherent::{ParachainInherentData, INHERENT_IDENTIFIER}; use cumulus_relay_chain_interface::RelayChainInterface; pub use mock::{MockValidationDataInherentDataProvider, MockXcmConfig}; use sc_network_types::PeerId; +use sp_state_machine::StorageProof; +use sp_storage::ChildInfo; const LOG_TARGET: &str = "parachain-inherent"; -/// Collect the relevant relay chain state in form of a proof for putting it into the validation -/// data inherent. -async fn collect_relay_storage_proof( +/// Builds the list of static relay chain storage keys that are always needed for parachain +/// validation. +async fn get_static_relay_storage_keys( relay_chain_interface: &impl RelayChainInterface, para_id: ParaId, relay_parent: PHash, include_authorities: bool, include_next_authorities: bool, - additional_relay_state_keys: Vec>, -) -> Option { +) -> Option>> { use relay_chain::well_known_keys as relay_well_known_keys; let ingress_channels = relay_chain_interface @@ -102,7 +105,7 @@ async fn collect_relay_storage_proof( .ok()? .unwrap_or_default(); - let mut relevant_keys = vec![ + let mut relevant_keys: HashSet> = HashSet::from([ relay_well_known_keys::CURRENT_BLOCK_RANDOMNESS.to_vec(), relay_well_known_keys::ONE_EPOCH_AGO_RANDOMNESS.to_vec(), relay_well_known_keys::TWO_EPOCHS_AGO_RANDOMNESS.to_vec(), @@ -120,7 +123,7 @@ async fn collect_relay_storage_proof( relay_well_known_keys::upgrade_go_ahead_signal(para_id), relay_well_known_keys::upgrade_restriction_signal(para_id), relay_well_known_keys::para_head(para_id), - ]; + ]); relevant_keys.extend(ingress_channels.into_iter().map(|sender| { relay_well_known_keys::hrmp_channels(HrmpChannelId { sender, recipient: para_id }) })); @@ -129,32 +132,96 @@ async fn collect_relay_storage_proof( })); if include_authorities { - relevant_keys.push(relay_well_known_keys::AUTHORITIES.to_vec()); + relevant_keys.insert(relay_well_known_keys::AUTHORITIES.to_vec()); } if include_next_authorities { - relevant_keys.push(relay_well_known_keys::NEXT_AUTHORITIES.to_vec()); + relevant_keys.insert(relay_well_known_keys::NEXT_AUTHORITIES.to_vec()); } - // Add additional relay state keys - let unique_keys: Vec> = additional_relay_state_keys - .into_iter() - .filter(|key| !relevant_keys.contains(key)) - .collect(); - relevant_keys.extend(unique_keys); + Some(relevant_keys) +} - relay_chain_interface - .prove_read(relay_parent, &relevant_keys) - .await - .map_err(|e| { +/// Collect the relevant relay chain state in form of a proof for putting it into the validation +/// data inherent. +async fn collect_relay_storage_proof( + relay_chain_interface: &impl RelayChainInterface, + para_id: ParaId, + relay_parent: PHash, + include_authorities: bool, + include_next_authorities: bool, + relay_proof_request: RelayProofRequest, +) -> Option { + // Get static keys that are always needed. + let mut all_top_keys = get_static_relay_storage_keys( + relay_chain_interface, + para_id, + relay_parent, + include_authorities, + include_next_authorities, + ) + .await?; + + // Group requested keys by storage type. + let RelayProofRequest { keys } = relay_proof_request; + let mut child_keys: HashMap, HashSet>> = HashMap::new(); + + for key in keys { + match key { + RelayStorageKey::Top(k) => { + all_top_keys.insert(k); + }, + RelayStorageKey::Child { storage_key, key } => { + child_keys.entry(storage_key).or_default().insert(key); + }, + } + } + + // Collect all storage proofs. + let mut all_proofs = Vec::new(); + + // Collect top-level storage proof. + let top_keys_vec: Vec> = all_top_keys.into_iter().collect(); + match relay_chain_interface.prove_read(relay_parent, &top_keys_vec).await { + Ok(top_proof) => { + all_proofs.push(top_proof); + }, + Err(e) => { tracing::error!( target: LOG_TARGET, relay_parent = ?relay_parent, error = ?e, - "Cannot obtain read proof from relay chain.", + "Cannot obtain relay chain storage proof.", ); - }) - .ok() + return None; + }, + } + + // Collect child trie proofs. + for (storage_key, data_keys) in child_keys { + let child_info = ChildInfo::new_default(&storage_key); + let data_keys_vec: Vec> = data_keys.into_iter().collect(); + match relay_chain_interface + .prove_child_read(relay_parent, &child_info, &data_keys_vec) + .await + { + Ok(child_proof) => { + all_proofs.push(child_proof); + }, + Err(e) => { + tracing::error!( + target: LOG_TARGET, + relay_parent = ?relay_parent, + child_trie_id = ?child_info.storage_key(), + error = ?e, + "Cannot obtain child trie proof from relay chain.", + ); + }, + } + } + + // Merge all proofs. + Some(StorageProof::merge(all_proofs)) } pub struct ParachainInherentDataProvider; @@ -169,7 +236,7 @@ impl ParachainInherentDataProvider { validation_data: &PersistedValidationData, para_id: ParaId, relay_parent_descendants: Vec, - additional_relay_state_keys: Vec>, + relay_proof_request: RelayProofRequest, collator_peer_id: PeerId, ) -> Option { let collator_peer_id = ApprovedPeerId::try_from(collator_peer_id.to_bytes()) @@ -194,7 +261,7 @@ impl ParachainInherentDataProvider { relay_parent, !relay_parent_descendants.is_empty(), include_next_authorities, - additional_relay_state_keys, + relay_proof_request, ) .await?; diff --git a/cumulus/client/parachain-inherent/src/mock.rs b/cumulus/client/parachain-inherent/src/mock.rs index 983c2ed89dbda..6c57396f3453b 100644 --- a/cumulus/client/parachain-inherent/src/mock.rs +++ b/cumulus/client/parachain-inherent/src/mock.rs @@ -54,6 +54,8 @@ pub struct MockValidationDataInherentDataProvider { /// The relay block in which this parachain appeared to start. This will be the relay block /// number in para block #P1. pub relay_offset: u32, + /// The relay parent offset that determines how many relay parent descendants are required. + pub relay_parent_offset: u32, /// The number of relay blocks that elapses between each parablock. Probably set this to 1 or 2 /// to simulate optimistic or realistic relay chain behavior. pub relay_blocks_per_para_block: u32, @@ -230,7 +232,7 @@ impl> InherentDataProvider sproof_builder.included_para_head = self.current_para_block_head.clone(); sproof_builder.num_authorities = 2; let (relay_parent_storage_root, proof, relay_parent_descendants) = - sproof_builder.into_state_root_proof_and_descendants(1); + sproof_builder.into_state_root_proof_and_descendants(self.relay_parent_offset.into()); let parachain_inherent_data = ParachainInherentData { validation_data: PersistedValidationData { parent_head: Default::default(), diff --git a/cumulus/client/pov-recovery/src/active_candidate_recovery.rs b/cumulus/client/pov-recovery/src/active_candidate_recovery.rs index 435a7405c7c71..ae9616868fef3 100644 --- a/cumulus/client/pov-recovery/src/active_candidate_recovery.rs +++ b/cumulus/client/pov-recovery/src/active_candidate_recovery.rs @@ -94,7 +94,7 @@ impl ActiveCandidateRecovery { pub async fn wait_for_recovery(&mut self) -> (Block::Hash, Option>) { loop { if let Some(res) = self.recoveries.next().await { - return res + return res; } else { futures::pending!() } diff --git a/cumulus/client/pov-recovery/src/lib.rs b/cumulus/client/pov-recovery/src/lib.rs index 81c71d9b85534..0aefa80a57973 100644 --- a/cumulus/client/pov-recovery/src/lib.rs +++ b/cumulus/client/pov-recovery/src/lib.rs @@ -199,7 +199,7 @@ impl RecoveryQueue { loop { if self.signaling_queue.next().await.is_some() { if let Some(hash) = self.recovery_queue.pop_front() { - return hash + return hash; } else { tracing::error!( target: LOG_TARGET, @@ -283,18 +283,18 @@ where error = ?e, "Failed to decode parachain header from pending candidate", ); - return + return; }, }; if *header.number() <= self.parachain_client.usage_info().chain.finalized_number { - return + return; } let hash = header.hash(); if self.candidates.contains_key(&hash) { - return + return; } tracing::debug!(target: LOG_TARGET, block_hash = ?hash, "Adding outstanding candidate"); @@ -361,7 +361,7 @@ where match ParachainBlockData::::decode_all(&mut &data[..]) { Ok(block_data) => { if block_data.blocks().last().map_or(false, |b| b.hash() == expected_block_hash) { - return Some(block_data) + return Some(block_data); } tracing::debug!( @@ -390,11 +390,11 @@ where self.candidates_in_retry.remove(&block_hash); pov }, - None => + None => { if self.candidates_in_retry.insert(block_hash) { tracing::debug!(target: LOG_TARGET, ?block_hash, "Recovery failed, retrying."); self.candidate_recovery_queue.push_recovery(block_hash); - return + return; } else { tracing::warn!( target: LOG_TARGET, @@ -403,8 +403,9 @@ where ); self.candidates_in_retry.remove(&block_hash); self.reset_candidate(block_hash); - return - }, + return; + } + }, }; let raw_block_data = @@ -414,14 +415,14 @@ where tracing::debug!(target: LOG_TARGET, ?error, "Failed to decompress PoV"); self.reset_candidate(block_hash); - return + return; }, }; let Some(block_data) = Self::decode_parachain_block_data(&raw_block_data, block_hash) else { self.reset_candidate(block_hash); - return + return; }; let blocks = block_data.into_blocks(); @@ -459,7 +460,7 @@ where .or_default() .push(b); }); - return + return; } else { tracing::debug!( target: LOG_TARGET, @@ -469,7 +470,7 @@ where ); self.reset_candidate(block_hash); - return + return; } }, Err(error) => { @@ -481,7 +482,7 @@ where ); self.reset_candidate(block_hash); - return + return; }, // Any other status is fine to "ignore/accept" _ => (), @@ -546,7 +547,7 @@ where block_hash = ?hash, "Could not recover. Block was never announced as candidate" ); - return + return; }, }; @@ -566,12 +567,12 @@ where for hash in to_recover { self.clear_waiting_recovery(&hash); } - return + return; }, } if kind == RecoveryKind::Simple { - break + break; } hash = candidate.parent_hash; @@ -596,7 +597,7 @@ where Ok(pending_candidates_stream) => pending_candidates_stream.fuse(), Err(err) => { tracing::error!(target: LOG_TARGET, error = ?err, "Unable to retrieve pending candidate stream."); - return + return; }, }; diff --git a/cumulus/client/pov-recovery/src/tests.rs b/cumulus/client/pov-recovery/src/tests.rs index 574632c96454d..25de9884ebfb8 100644 --- a/cumulus/client/pov-recovery/src/tests.rs +++ b/cumulus/client/pov-recovery/src/tests.rs @@ -22,7 +22,7 @@ use cumulus_primitives_core::relay_chain::{ BlockId, CandidateCommitments, CandidateDescriptorV2, CoreIndex, CoreState, }; use cumulus_relay_chain_interface::{ - InboundDownwardMessage, InboundHrmpMessage, OccupiedCoreAssumption, PHash, PHeader, + ChildInfo, InboundDownwardMessage, InboundHrmpMessage, OccupiedCoreAssumption, PHash, PHeader, PersistedValidationData, RelayChainResult, StorageValue, ValidationCodeHash, ValidatorId, }; use cumulus_test_client::runtime::{Block, Header}; @@ -470,6 +470,15 @@ impl RelayChainInterface for Relaychain { unimplemented!("Not needed for test") } + async fn prove_child_read( + &self, + _: PHash, + _: &ChildInfo, + _: &[Vec], + ) -> RelayChainResult { + unimplemented!("Not needed for test") + } + async fn wait_for_block(&self, _: PHash) -> RelayChainResult<()> { unimplemented!("Not needed for test"); } diff --git a/cumulus/client/relay-chain-inprocess-interface/src/lib.rs b/cumulus/client/relay-chain-inprocess-interface/src/lib.rs index b989f81efd5dc..e0915c1a09465 100644 --- a/cumulus/client/relay-chain-inprocess-interface/src/lib.rs +++ b/cumulus/client/relay-chain-inprocess-interface/src/lib.rs @@ -33,7 +33,9 @@ use cumulus_primitives_core::{ }, InboundDownwardMessage, ParaId, PersistedValidationData, }; -use cumulus_relay_chain_interface::{RelayChainError, RelayChainInterface, RelayChainResult}; +use cumulus_relay_chain_interface::{ + ChildInfo, RelayChainError, RelayChainInterface, RelayChainResult, +}; use futures::{FutureExt, Stream, StreamExt}; use polkadot_primitives::CandidateEvent; use polkadot_service::{ @@ -109,12 +111,13 @@ impl RelayChainInterface for RelayChainInProcessInterface { async fn header(&self, block_id: BlockId) -> RelayChainResult> { let hash = match block_id { BlockId::Hash(hash) => hash, - BlockId::Number(num) => + BlockId::Number(num) => { if let Some(hash) = self.full_client.hash(num)? { hash } else { - return Ok(None) - }, + return Ok(None); + } + }, }; let header = self.full_client.header(hash)?; @@ -240,6 +243,18 @@ impl RelayChainInterface for RelayChainInProcessInterface { .map_err(RelayChainError::StateMachineError) } + async fn prove_child_read( + &self, + relay_parent: PHash, + child_info: &ChildInfo, + child_keys: &[Vec], + ) -> RelayChainResult { + let state_backend = self.backend.state_at(relay_parent, TrieCacheContext::Untrusted)?; + + sp_state_machine::prove_child_read(state_backend, child_info, child_keys) + .map_err(RelayChainError::StateMachineError) + } + /// Wait for a given relay chain block in an async way. /// /// The caller needs to pass the hash of a block it waits for and the function will return when @@ -351,7 +366,7 @@ pub fn check_block_in_chain( let _lock = backend.get_import_lock().read(); if backend.blockchain().status(hash)? == BlockStatus::InChain { - return Ok(BlockCheckStatus::InChain) + return Ok(BlockCheckStatus::InChain); } let listener = client.import_notification_stream(); @@ -419,6 +434,8 @@ fn build_polkadot_full_node( keep_finalized_for: None, invulnerable_ah_collators: HashSet::new(), collator_protocol_hold_off: None, + experimental_collator_protocol: false, + collator_reputation_persist_interval: None, }; let (relay_chain_full_node, paranode_req_receiver) = match config.network.network_backend { diff --git a/cumulus/client/relay-chain-interface/Cargo.toml b/cumulus/client/relay-chain-interface/Cargo.toml index be19f99526659..db89a573b3537 100644 --- a/cumulus/client/relay-chain-interface/Cargo.toml +++ b/cumulus/client/relay-chain-interface/Cargo.toml @@ -21,6 +21,7 @@ sc-network = { workspace = true, default-features = true } sp-api = { workspace = true, default-features = true } sp-blockchain = { workspace = true, default-features = true } sp-state-machine = { workspace = true, default-features = true } +sp-storage = { workspace = true, default-features = true } sp-version = { workspace = true } async-trait = { workspace = true } diff --git a/cumulus/client/relay-chain-interface/src/lib.rs b/cumulus/client/relay-chain-interface/src/lib.rs index dd03738ed0029..8f87ccc6997b2 100644 --- a/cumulus/client/relay-chain-interface/src/lib.rs +++ b/cumulus/client/relay-chain-interface/src/lib.rs @@ -42,6 +42,7 @@ pub use cumulus_primitives_core::{ }; pub use polkadot_overseer::Handle as OverseerHandle; pub use sp_state_machine::StorageValue; +pub use sp_storage::ChildInfo; pub type RelayChainResult = Result; @@ -213,6 +214,14 @@ pub trait RelayChainInterface: Send + Sync { relevant_keys: &Vec>, ) -> RelayChainResult; + /// Generate a child trie storage read proof. + async fn prove_child_read( + &self, + relay_parent: PHash, + child_info: &ChildInfo, + child_keys: &[Vec], + ) -> RelayChainResult; + /// Returns the validation code hash for the given `para_id` using the given /// `occupied_core_assumption`. async fn validation_code_hash( @@ -354,6 +363,15 @@ where (**self).prove_read(relay_parent, relevant_keys).await } + async fn prove_child_read( + &self, + relay_parent: PHash, + child_info: &ChildInfo, + child_keys: &[Vec], + ) -> RelayChainResult { + (**self).prove_child_read(relay_parent, child_info, child_keys).await + } + async fn wait_for_block(&self, hash: PHash) -> RelayChainResult<()> { (**self).wait_for_block(hash).await } diff --git a/cumulus/client/relay-chain-minimal-node/src/lib.rs b/cumulus/client/relay-chain-minimal-node/src/lib.rs index 8b0c75a6c00db..5e96610268eea 100644 --- a/cumulus/client/relay-chain-minimal-node/src/lib.rs +++ b/cumulus/client/relay-chain-minimal-node/src/lib.rs @@ -108,20 +108,22 @@ async fn build_interface( let collator_pair = CollatorPair::generate().0; let blockchain_rpc_client = Arc::new(BlockChainRpcClient::new(client.clone())); let collator_node = match polkadot_config.network.network_backend { - sc_network::config::NetworkBackendType::Libp2p => + sc_network::config::NetworkBackendType::Libp2p => { new_minimal_relay_chain::>( polkadot_config, collator_pair.clone(), blockchain_rpc_client, ) - .await?, - sc_network::config::NetworkBackendType::Litep2p => + .await? + }, + sc_network::config::NetworkBackendType::Litep2p => { new_minimal_relay_chain::( polkadot_config, collator_pair.clone(), blockchain_rpc_client, ) - .await?, + .await? + }, }; task_manager.add_child(collator_node.task_manager); Ok(( diff --git a/cumulus/client/relay-chain-rpc-interface/src/lib.rs b/cumulus/client/relay-chain-rpc-interface/src/lib.rs index 84d22676789cf..daaf75bc76898 100644 --- a/cumulus/client/relay-chain-rpc-interface/src/lib.rs +++ b/cumulus/client/relay-chain-rpc-interface/src/lib.rs @@ -26,7 +26,8 @@ use cumulus_primitives_core::{ InboundDownwardMessage, ParaId, PersistedValidationData, }; use cumulus_relay_chain_interface::{ - BlockNumber, CoreState, PHeader, RelayChainError, RelayChainInterface, RelayChainResult, + BlockNumber, ChildInfo, CoreIndex, CoreState, PHeader, RelayChainError, RelayChainInterface, + RelayChainResult, }; use futures::{FutureExt, Stream, StreamExt}; use polkadot_overseer::Handle; @@ -89,7 +90,7 @@ impl RelayChainInterface for RelayChainRpcInterface { if let Some(hash) = self.rpc_client.chain_get_block_hash(Some(num)).await? { hash } else { - return Ok(None) + return Ok(None); } }, }; @@ -210,6 +211,24 @@ impl RelayChainInterface for RelayChainRpcInterface { }) } + async fn prove_child_read( + &self, + relay_parent: RelayHash, + child_info: &ChildInfo, + child_keys: &[Vec], + ) -> RelayChainResult { + let child_storage_key = child_info.prefixed_storage_key(); + let storage_keys: Vec = + child_keys.iter().map(|key| StorageKey(key.clone())).collect(); + + self.rpc_client + .state_get_child_read_proof(child_storage_key, storage_keys, Some(relay_parent)) + .await + .map(|read_proof| { + StorageProof::new(read_proof.proof.into_iter().map(|bytes| bytes.to_vec())) + }) + } + /// Wait for a given relay chain block /// /// The hash of the block to wait for is passed. We wait for the block to arrive or return after @@ -224,7 +243,7 @@ impl RelayChainInterface for RelayChainRpcInterface { let mut head_stream = self.rpc_client.get_imported_heads_stream()?; if self.rpc_client.chain_get_header(Some(wait_for_hash)).await?.is_some() { - return Ok(()) + return Ok(()); } let mut timeout = futures_timer::Delay::new(Duration::from_secs(TIMEOUT_IN_SECONDS)).fuse(); @@ -273,9 +292,7 @@ impl RelayChainInterface for RelayChainRpcInterface { async fn claim_queue( &self, relay_parent: RelayHash, - ) -> RelayChainResult< - BTreeMap>, - > { + ) -> RelayChainResult>> { self.rpc_client.parachain_host_claim_queue(relay_parent).await } diff --git a/cumulus/client/relay-chain-rpc-interface/src/reconnecting_ws_client.rs b/cumulus/client/relay-chain-rpc-interface/src/reconnecting_ws_client.rs index ae5f1f5c1abb4..bf6c5b63dcc96 100644 --- a/cumulus/client/relay-chain-rpc-interface/src/reconnecting_ws_client.rs +++ b/cumulus/client/relay-chain-rpc-interface/src/reconnecting_ws_client.rs @@ -67,7 +67,7 @@ fn url_to_string_with_port(url: Url) -> Option { // This is already validated on CLI side, just defensive here if (url.scheme() != "ws" && url.scheme() != "wss") || url.host_str().is_none() { tracing::warn!(target: LOG_TARGET, ?url, "Non-WebSocket URL or missing host."); - return None + return None; } // Either we have a user-supplied port or use the default for 'ws' or 'wss' here @@ -153,7 +153,7 @@ async fn connect_next_available_rpc_server( impl ClientManager { pub async fn new(urls: Vec) -> Result { if urls.is_empty() { - return Err(()) + return Err(()); } let active_client = connect_next_available_rpc_server(&urls, 0).await?; Ok(Self { urls, active_client: active_client.1, active_index: active_client.0 }) @@ -240,7 +240,7 @@ impl ClientManager { // the websocket connection is dead and requires a restart. // Other errors should be forwarded to the request caller. if let Err(JsonRpseeError::RestartNeeded(_)) = resp { - return Err(RpcDispatcherMessage::Request(method, params, response_sender)) + return Err(RpcDispatcherMessage::Request(method, params, response_sender)); } if let Err(err) = response_sender.send(resp) { @@ -302,7 +302,7 @@ impl ReconnectingWebsocketWorker { } if client_manager.connect_to_new_rpc_server().await.is_err() { - return Err("Unable to find valid external RPC server, shutting down.".to_string()) + return Err("Unable to find valid external RPC server, shutting down.".to_string()); }; for item in requests_to_retry.into_iter() { @@ -336,11 +336,11 @@ impl ReconnectingWebsocketWorker { let urls = std::mem::take(&mut self.ws_urls); let Ok(mut client_manager) = ClientManager::new(urls).await else { tracing::error!(target: LOG_TARGET, "No valid RPC url found. Stopping RPC worker."); - return + return; }; let Ok(mut subscriptions) = client_manager.get_subscriptions().await else { tracing::error!(target: LOG_TARGET, "Unable to fetch subscriptions on initial connection."); - return + return; }; let mut imported_blocks_cache = LruMap::new(ByLength::new(40)); @@ -366,7 +366,7 @@ impl ReconnectingWebsocketWorker { message, "Unable to reconnect, stopping worker." ); - return + return; }, } should_reconnect = ConnectionStatus::Connected; diff --git a/cumulus/client/relay-chain-rpc-interface/src/rpc_client.rs b/cumulus/client/relay-chain-rpc-interface/src/rpc_client.rs index 80858a665cfaf..52039a4236a58 100644 --- a/cumulus/client/relay-chain-rpc-interface/src/rpc_client.rs +++ b/cumulus/client/relay-chain-rpc-interface/src/rpc_client.rs @@ -276,6 +276,17 @@ impl RelayChainRpcClient { self.request("state_getReadProof", params).await } + /// Get child trie read proof for `child_keys` + pub async fn state_get_child_read_proof( + &self, + child_storage_key: sp_core::storage::PrefixedStorageKey, + child_keys: Vec, + at: Option, + ) -> Result, RelayChainError> { + let params = rpc_params![child_storage_key, child_keys, at]; + self.request("state_getChildReadProof", params).await + } + /// Retrieve storage item at `storage_key` pub async fn state_get_storage( &self, diff --git a/cumulus/client/relay-chain-streams/src/lib.rs b/cumulus/client/relay-chain-streams/src/lib.rs index 7c54ede472688..c173cc75293d5 100644 --- a/cumulus/client/relay-chain-streams/src/lib.rs +++ b/cumulus/client/relay-chain-streams/src/lib.rs @@ -53,7 +53,7 @@ pub async fn pending_candidates( relay_hash = ?hash, "Skipping candidate due to sync.", ); - return None + return None; } let runtime_api_version = client diff --git a/cumulus/client/service/src/lib.rs b/cumulus/client/service/src/lib.rs index de88f8e21e706..e74d46350c8d2 100644 --- a/cumulus/client/service/src/lib.rs +++ b/cumulus/client/service/src/lib.rs @@ -43,7 +43,9 @@ use sc_network::{ }; use sc_network_sync::SyncingService; use sc_network_transactions::TransactionsHandlerController; -use sc_service::{Configuration, SpawnTaskHandle, TaskManager, WarpSyncConfig}; +use sc_service::{ + Configuration, SpawnEssentialTaskHandle, SpawnTaskHandle, TaskManager, WarpSyncConfig, +}; use sc_telemetry::{log, TelemetryWorkerHandle}; use sc_tracing::block::TracingExecuteBlock; use sc_utils::mpsc::TracingUnboundedSender; @@ -242,14 +244,15 @@ pub async fn build_relay_chain_interface( task_manager, hwbench, ), - cumulus_client_cli::RelayChainMode::ExternalRpc(rpc_target_urls) => + cumulus_client_cli::RelayChainMode::ExternalRpc(rpc_target_urls) => { build_minimal_relay_chain_node_with_rpc( relay_chain_config, parachain_config.prometheus_registry(), task_manager, rpc_target_urls, ) - .await, + .await + }, } } @@ -291,6 +294,7 @@ pub struct BuildNetworkParams< pub para_id: ParaId, pub relay_chain_interface: RCInterface, pub spawn_handle: SpawnTaskHandle, + pub spawn_essential_handle: SpawnEssentialTaskHandle, pub import_queue: IQ, pub sybil_resistance_level: CollatorSybilResistance, pub metrics: sc_network::NotificationMetrics, @@ -305,6 +309,7 @@ pub async fn build_network<'a, Block, Client, RCInterface, IQ, Network>( transaction_pool, para_id, spawn_handle, + spawn_essential_handle, relay_chain_interface, import_queue, sybil_resistance_level, @@ -374,6 +379,7 @@ where client, transaction_pool, spawn_handle, + spawn_essential_handle, import_queue, block_announce_validator_builder: Some(Box::new(move |_| block_announce_validator)), warp_sync_config, @@ -432,7 +438,7 @@ where finalized_header.number(), finalized_header.hash() ); - return Ok(finalized_header) + return Ok(finalized_header); } } @@ -452,7 +458,7 @@ async fn parachain_informant( Ok(import_notifications) => import_notifications, Err(e) => { log::error!("Failed to get import notification stream: {e:?}. Parachain informant will not run!"); - return + return; }, }; let mut last_backed_block_time: Option = None; @@ -461,7 +467,7 @@ async fn parachain_informant( Ok(candidate_events) => candidate_events, Err(e) => { log::warn!("Failed to get candidate events for block {}: {e:?}", n.hash()); - continue + continue; }, }; let mut backed_candidates = Vec::new(); @@ -479,7 +485,7 @@ async fn parachain_informant( log::warn!( "Failed to decode parachain header from backed block: {e:?}" ); - continue + continue; }, }; let backed_block_time = Instant::now(); @@ -502,7 +508,7 @@ async fn parachain_informant( log::warn!( "Failed to decode parachain header from included block: {e:?}" ); - continue + continue; }, }; let unincluded_segment_size = @@ -523,7 +529,7 @@ async fn parachain_informant( log::warn!( "Failed to decode parachain header from timed out block: {e:?}" ); - continue + continue; }, }; timed_out_candidates.push(timed_out_block); diff --git a/cumulus/pallets/aura-ext/src/consensus_hook.rs b/cumulus/pallets/aura-ext/src/consensus_hook.rs index c1e5a14f78a48..d799d1e529a8c 100644 --- a/cumulus/pallets/aura-ext/src/consensus_hook.rs +++ b/cumulus/pallets/aura-ext/src/consensus_hook.rs @@ -151,7 +151,7 @@ impl< // can never author when the unincluded segment is full. if size_after_included >= C { - return false + return false; } // Check that we have not authored more than `V + 1` parachain blocks in the current relay diff --git a/cumulus/pallets/collator-selection/Cargo.toml b/cumulus/pallets/collator-selection/Cargo.toml index dd16585b978e7..cdf6a995fcd75 100644 --- a/cumulus/pallets/collator-selection/Cargo.toml +++ b/cumulus/pallets/collator-selection/Cargo.toml @@ -29,6 +29,7 @@ pallet-session = { workspace = true } sp-runtime = { workspace = true } sp-staking = { workspace = true } +cumulus-pallet-session-benchmarking = { default-features = false, optional = true, workspace = true } frame-benchmarking = { optional = true, workspace = true } [dev-dependencies] @@ -42,6 +43,7 @@ sp-tracing = { workspace = true, default-features = true } [features] default = ["std"] runtime-benchmarks = [ + "cumulus-pallet-session-benchmarking/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", @@ -53,6 +55,7 @@ runtime-benchmarks = [ ] std = [ "codec/std", + "cumulus-pallet-session-benchmarking?/std", "frame-benchmarking/std", "frame-support/std", "frame-system/std", diff --git a/cumulus/pallets/collator-selection/src/benchmarking.rs b/cumulus/pallets/collator-selection/src/benchmarking.rs index 5d34641aee758..7a6315ef231df 100644 --- a/cumulus/pallets/collator-selection/src/benchmarking.rs +++ b/cumulus/pallets/collator-selection/src/benchmarking.rs @@ -22,8 +22,8 @@ use super::*; #[allow(unused)] use crate::Pallet as CollatorSelection; use alloc::vec::Vec; -use codec::Decode; use core::cmp; +use cumulus_pallet_session_benchmarking as session_benchmarking; use frame_benchmarking::{account, v2::*, whitelisted_caller, BenchmarkError}; use frame_support::traits::{Currency, EnsureOrigin, Get, ReservableCurrency}; use frame_system::{pallet_prelude::BlockNumberFor, EventRecord, RawOrigin}; @@ -31,11 +31,11 @@ use pallet_authorship::EventHandler; use pallet_session::{self as session, SessionManager}; pub type BalanceOf = - <::Currency as Currency<::AccountId>>::Balance; + <::Currency as Currency<::AccountId>>::Balance; const SEED: u32 = 0; -fn assert_last_event(generic_event: ::RuntimeEvent) { +fn assert_last_event(generic_event: ::RuntimeEvent) { let events = frame_system::Pallet::::events(); let system_event: ::RuntimeEvent = generic_event.into(); // compare to the last event record @@ -54,36 +54,24 @@ fn create_funded_user( user } -fn keys(c: u32) -> ::Keys { - use rand::{RngCore, SeedableRng}; +fn validator( + c: u32, +) -> (T::AccountId, ::Keys, Vec) { + let validator = create_funded_user::("candidate", c, 1000); + let (keys, proof) = T::generate_session_keys_and_proof(validator.clone()); - let keys = { - let mut keys = [0u8; 128]; - - if c > 0 { - let mut rng = rand::rngs::StdRng::seed_from_u64(c as u64); - rng.fill_bytes(&mut keys); - } - - keys - }; - - Decode::decode(&mut &keys[..]).unwrap() + (validator, keys, proof) } -fn validator(c: u32) -> (T::AccountId, ::Keys) { - (create_funded_user::("candidate", c, 1000), keys::(c)) -} - -fn register_validators(count: u32) -> Vec { +fn register_validators(count: u32) -> Vec { let validators = (0..count).map(|c| validator::(c)).collect::>(); - for (who, keys) in validators.clone() { + for (who, keys, proof) in validators.clone() { >::ensure_can_pay_key_deposit(&who).unwrap(); - >::set_keys(RawOrigin::Signed(who).into(), keys, Vec::new()).unwrap(); + >::set_keys(RawOrigin::Signed(who).into(), keys, proof).unwrap(); } - validators.into_iter().map(|(who, _)| who).collect() + validators.into_iter().map(|(who, _, _)| who).collect() } fn register_candidates(count: u32) { @@ -114,7 +102,7 @@ fn min_invulnerables() -> u32 { min_collators.saturating_sub(candidates_length) } -#[benchmarks(where T: pallet_authorship::Config + session::Config)] +#[benchmarks(where T: pallet_authorship::Config + session_benchmarking::Config)] mod benchmarks { use super::*; @@ -155,16 +143,15 @@ mod benchmarks { // add one more to the list. should not be in `b` (invulnerables) because it's the account // we will _add_ to invulnerables. we want it to be in `candidates` because we need the // weight associated with removing it. - let (new_invulnerable, new_invulnerable_keys) = validator::(b.max(c) + 1); - candidates.push((new_invulnerable.clone(), new_invulnerable_keys)); + let (new_invulnerable, new_invulnerable_keys, new_proof) = validator::(b.max(c) + 1); + candidates.push((new_invulnerable.clone(), new_invulnerable_keys, new_proof)); // set their keys ... - for (who, keys) in candidates.clone() { + for (who, keys, proof) in candidates.clone() { >::ensure_can_pay_key_deposit(&who).unwrap(); - >::set_keys(RawOrigin::Signed(who).into(), keys, Vec::new()) - .unwrap(); + >::set_keys(RawOrigin::Signed(who).into(), keys, proof).unwrap(); } // ... and register them. - for (who, _) in candidates.iter() { + for (who, _, _) in candidates.iter() { let deposit = CandidacyBond::::get(); ::Currency::make_free_balance_be(who, deposit * 1000_u32.into()); CandidateList::::try_mutate(|list| { @@ -299,14 +286,11 @@ mod benchmarks { let caller: T::AccountId = whitelisted_caller(); let bond: BalanceOf = ::Currency::minimum_balance() * 2u32.into(); ::Currency::make_free_balance_be(&caller, bond); + let (keys, proof) = T::generate_session_keys_and_proof(caller.clone()); >::ensure_can_pay_key_deposit(&caller).unwrap(); - >::set_keys( - RawOrigin::Signed(caller.clone()).into(), - keys::(c + 1), - Vec::new(), - ) - .unwrap(); + >::set_keys(RawOrigin::Signed(caller.clone()).into(), keys, proof) + .unwrap(); #[extrinsic_call] _(RawOrigin::Signed(caller.clone())); @@ -328,13 +312,11 @@ mod benchmarks { let bond: BalanceOf = ::Currency::minimum_balance() * 10u32.into(); ::Currency::make_free_balance_be(&caller, bond); + let (keys, proof) = T::generate_session_keys_and_proof(caller.clone()); + >::ensure_can_pay_key_deposit(&caller).unwrap(); - >::set_keys( - RawOrigin::Signed(caller.clone()).into(), - keys::(c + 1), - Vec::new(), - ) - .unwrap(); + >::set_keys(RawOrigin::Signed(caller.clone()).into(), keys, proof) + .unwrap(); let target = CandidateList::::get().iter().last().unwrap().who.clone(); diff --git a/cumulus/pallets/collator-selection/src/lib.rs b/cumulus/pallets/collator-selection/src/lib.rs index ec5f3f6d0a955..40d8248597280 100644 --- a/cumulus/pallets/collator-selection/src/lib.rs +++ b/cumulus/pallets/collator-selection/src/lib.rs @@ -411,7 +411,7 @@ pub mod pallet { Self::deposit_event(Event::InvalidInvulnerableSkipped { account_id: account_id.clone(), }); - continue + continue; } // else condition passes; key is registered }, @@ -420,7 +420,7 @@ pub mod pallet { Self::deposit_event(Event::InvalidInvulnerableSkipped { account_id: account_id.clone(), }); - continue + continue; }, } @@ -699,7 +699,7 @@ pub mod pallet { ); T::Currency::unreserve(&who, old_deposit - new_deposit); } else { - return Err(Error::::IdenticalDeposit.into()) + return Err(Error::::IdenticalDeposit.into()); } // Update the deposit and insert the candidate in the correct spot in the list. diff --git a/cumulus/pallets/collator-selection/src/mock.rs b/cumulus/pallets/collator-selection/src/mock.rs index 034ef2189deab..6c2365ad11e1e 100644 --- a/cumulus/pallets/collator-selection/src/mock.rs +++ b/cumulus/pallets/collator-selection/src/mock.rs @@ -174,6 +174,17 @@ impl Config for Test { type WeightInfo = (); } +#[cfg(feature = "runtime-benchmarks")] +impl cumulus_pallet_session_benchmarking::Config for Test { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + use codec::Encode; + + let keys = MockSessionKeys::generate(&owner.encode(), None); + + (keys.keys, keys.proof.encode()) + } +} + pub fn new_test_ext() -> sp_io::TestExternalities { sp_tracing::try_init_simple(); let mut t = frame_system::GenesisConfig::::default().build_storage().unwrap(); diff --git a/cumulus/pallets/collator-selection/src/tests.rs b/cumulus/pallets/collator-selection/src/tests.rs index e8b2a4e146a2f..a9c6fe56b192e 100644 --- a/cumulus/pallets/collator-selection/src/tests.rs +++ b/cumulus/pallets/collator-selection/src/tests.rs @@ -18,6 +18,7 @@ use crate::{ mock::*, CandidacyBond, CandidateInfo, CandidateList, DesiredCandidates, Error, Invulnerables, LastAuthoredBlock, }; +use codec::Encode; use frame_support::{ assert_noop, assert_ok, traits::{Currency, OnInitialize}, @@ -123,8 +124,13 @@ fn invulnerable_limit_works() { // only keys were registered in mock for 1 to 5 if ii > 5 { Balances::make_free_balance_be(&ii, 100); - let key = MockSessionKeys { aura: UintAuthorityId(ii) }; - Session::set_keys(RuntimeOrigin::signed(ii).into(), key, Vec::new()).unwrap(); + let mut key = MockSessionKeys { aura: UintAuthorityId(ii) }; + Session::set_keys( + RuntimeOrigin::signed(ii).into(), + key.clone(), + key.create_ownership_proof(&ii.encode()).unwrap().encode(), + ) + .unwrap(); } assert_eq!(Balances::free_balance(ii), 100); if ii < 21 { @@ -482,8 +488,13 @@ fn cannot_register_candidate_if_too_many() { // candidates. for i in 6..=23 { Balances::make_free_balance_be(&i, 100); - let key = MockSessionKeys { aura: UintAuthorityId(i) }; - Session::set_keys(RuntimeOrigin::signed(i).into(), key, Vec::new()).unwrap(); + let mut key = MockSessionKeys { aura: UintAuthorityId(i) }; + Session::set_keys( + RuntimeOrigin::signed(i).into(), + key.clone(), + key.create_ownership_proof(&i.encode()).unwrap().encode(), + ) + .unwrap(); } for c in 3..=22 { @@ -765,8 +776,13 @@ fn take_candidate_slot_works() { assert_eq!(CandidateList::::get().iter().count(), 3); Balances::make_free_balance_be(&6, 100); - let key = MockSessionKeys { aura: UintAuthorityId(6) }; - Session::set_keys(RuntimeOrigin::signed(6).into(), key, Vec::new()).unwrap(); + let mut key = MockSessionKeys { aura: UintAuthorityId(6) }; + Session::set_keys( + RuntimeOrigin::signed(6).into(), + key.clone(), + key.create_ownership_proof(&6u64.encode()).unwrap().encode(), + ) + .unwrap(); assert_ok!(CollatorSelection::take_candidate_slot( RuntimeOrigin::signed(6), diff --git a/cumulus/pallets/dmp-queue/src/lib.rs b/cumulus/pallets/dmp-queue/src/lib.rs index ca042e32dadb2..4b2959a1985a8 100644 --- a/cumulus/pallets/dmp-queue/src/lib.rs +++ b/cumulus/pallets/dmp-queue/src/lib.rs @@ -163,7 +163,7 @@ pub mod pallet { if meter.try_consume(Self::on_idle_weight()).is_err() { log::debug!(target: LOG, "Not enough weight for on_idle. {} < {}", Self::on_idle_weight(), limit); - return meter.consumed() + return meter.consumed(); } let state = MigrationStatus::::get(); diff --git a/cumulus/pallets/dmp-queue/src/migration.rs b/cumulus/pallets/dmp-queue/src/migration.rs index 015d73c81db76..1bb606c404171 100644 --- a/cumulus/pallets/dmp-queue/src/migration.rs +++ b/cumulus/pallets/dmp-queue/src/migration.rs @@ -79,13 +79,13 @@ pub(crate) fn migrate_page(p: PageCounter) -> Result<(), ()> { log::debug!(target: LOG, "Migrating page #{p} with {} messages ...", page.len()); if page.is_empty() { log::error!(target: LOG, "Page #{p}: EMPTY - storage corrupted?"); - return Err(()) + return Err(()); } for (m, (block, msg)) in page.iter().enumerate() { let Ok(bound) = BoundedVec::::try_from(msg.clone()) else { log::error!(target: LOG, "[Page {p}] Message #{m}: TOO LONG - dropping"); - continue + continue; }; T::DmpSink::handle_message(bound.as_bounded_slice()); @@ -99,11 +99,11 @@ pub(crate) fn migrate_page(p: PageCounter) -> Result<(), ()> { pub(crate) fn migrate_overweight(i: OverweightIndex) -> Result<(), ()> { let Some((block, msg)) = Overweight::::take(i) else { log::error!(target: LOG, "[Overweight {i}] Message: EMPTY - storage corrupted?"); - return Err(()) + return Err(()); }; let Ok(bound) = BoundedVec::::try_from(msg) else { log::error!(target: LOG, "[Overweight {i}] Message: TOO LONG - dropping"); - return Err(()) + return Err(()); }; T::DmpSink::handle_message(bound.as_bounded_slice()); diff --git a/cumulus/pallets/parachain-system/Cargo.toml b/cumulus/pallets/parachain-system/Cargo.toml index 7c111579f0672..799d9b378efe1 100644 --- a/cumulus/pallets/parachain-system/Cargo.toml +++ b/cumulus/pallets/parachain-system/Cargo.toml @@ -125,3 +125,13 @@ try-runtime = [ "polkadot-runtime-parachains/try-runtime", "sp-runtime/try-runtime", ] + +# Enables `TransactionIndex` host functions for parachain validation +# without requiring maintenance of a transaction index. +# However, the host environment (polkadot-prepare/execute-worker) still expects these functions to exist, +# so we provide a replacement no-op implementation gated by this feature. +# +# Used by: `validate_block::implementation::validate_block`. +# +# Note: The parachain collator software is expected to use/include `transaction_index::HostFunctions`. +transaction-index = [] diff --git a/cumulus/pallets/parachain-system/proc-macro/src/lib.rs b/cumulus/pallets/parachain-system/proc-macro/src/lib.rs index 3a240b2134338..6fc04c061099b 100644 --- a/cumulus/pallets/parachain-system/proc-macro/src/lib.rs +++ b/cumulus/pallets/parachain-system/proc-macro/src/lib.rs @@ -67,7 +67,7 @@ impl Parse for Input { } else if lookahead.peek(keywords::CheckInherents) { return Err(Error::new(input.span(), "`CheckInherents` is not supported anymore!")); } else { - return Err(lookahead.error()) + return Err(lookahead.error()); } } @@ -80,8 +80,9 @@ impl Parse for Input { fn crate_() -> Result { match crate_name("cumulus-pallet-parachain-system") { - Ok(FoundCrate::Itself) => - Ok(syn::Ident::new("cumulus_pallet_parachain_system", Span::call_site())), + Ok(FoundCrate::Itself) => { + Ok(syn::Ident::new("cumulus_pallet_parachain_system", Span::call_site())) + }, Ok(FoundCrate::Name(name)) => Ok(Ident::new(&name, Span::call_site())), Err(e) => Err(Error::new(Span::call_site(), e)), } diff --git a/cumulus/pallets/parachain-system/src/descendant_validation.rs b/cumulus/pallets/parachain-system/src/descendant_validation.rs index 0ef831275fafe..b856d3298b01b 100644 --- a/cumulus/pallets/parachain-system/src/descendant_validation.rs +++ b/cumulus/pallets/parachain-system/src/descendant_validation.rs @@ -69,7 +69,7 @@ pub(crate) fn verify_relay_parent_descendants( } let Ok(mut current_authorities) = relay_state_proof.read_authorities() else { - return Err(RelayParentVerificationError::MissingAuthorities) + return Err(RelayParentVerificationError::MissingAuthorities); }; let mut maybe_next_authorities = relay_state_proof.read_next_authorities().ok().flatten(); @@ -142,10 +142,10 @@ pub(crate) fn verify_relay_parent_descendants( }; let Some(seal) = current_header.digest_mut().pop() else { - return Err(RelayParentVerificationError::MissingSeal { hash: sealed_header_hash }) + return Err(RelayParentVerificationError::MissingSeal { hash: sealed_header_hash }); }; let Some(signature) = seal.as_babe_seal() else { - return Err(RelayParentVerificationError::InvalidSeal { hash: sealed_header_hash }) + return Err(RelayParentVerificationError::InvalidSeal { hash: sealed_header_hash }); }; if !authority_id.0.verify(¤t_header.hash(), &signature) { diff --git a/cumulus/pallets/parachain-system/src/lib.rs b/cumulus/pallets/parachain-system/src/lib.rs index 5ff4af131f565..6f8f37f7b8121 100644 --- a/cumulus/pallets/parachain-system/src/lib.rs +++ b/cumulus/pallets/parachain-system/src/lib.rs @@ -109,6 +109,7 @@ pub use cumulus_pallet_parachain_system_proc_macro::register_validate_block; pub use relay_state_snapshot::{MessagingStateSnapshot, RelayChainStateProof}; pub use unincluded_segment::{Ancestor, UsedBandwidth}; +use crate::parachain_inherent::AbridgedInboundMessagesSizeInfo; pub use pallet::*; const LOG_TARGET: &str = "parachain-system"; @@ -292,7 +293,7 @@ pub mod pallet { false, "host configuration is promised to set until `on_finalize`; qed", ); - return + return; }, }; @@ -307,7 +308,7 @@ pub mod pallet { "relevant messaging state is promised to be set until `on_finalize`; \ qed", ); - return + return; }, }; @@ -328,7 +329,7 @@ pub mod pallet { "relevant messaging state is promised to be set until `on_finalize`; \ qed", ); - return (0, 0) + return (0, 0); }, }; @@ -701,6 +702,10 @@ pub mod pallet { >::put(relevant_messaging_state.clone()); >::put(host_config); + total_weight.saturating_accrue( + ::on_relay_state_proof(&relay_state_proof), + ); + ::on_validation_data(&vfp); if let Some(collator_peer_id) = collator_peer_id { @@ -1066,7 +1071,7 @@ impl GetChannelInfo for Pallet { let channels = match RelevantMessagingState::::get() { None => { log::warn!("calling `get_channel_status` with no RelevantMessagingState?!"); - return ChannelStatus::Closed + return ChannelStatus::Closed; }, Some(d) => d.egress_channels, }; @@ -1083,7 +1088,7 @@ impl GetChannelInfo for Pallet { let meta = &channels[index].1; if meta.msg_count + 1 > meta.max_capacity { // The channel is at its capacity. Skip it for now. - return ChannelStatus::Full + return ChannelStatus::Full; } let max_size_now = meta.max_total_size - meta.total_size; let max_size_ever = meta.max_message_size; @@ -1117,7 +1122,11 @@ impl Pallet { fn messages_collection_size_limit() -> usize { let max_block_weight = ::BlockWeights::get().max_block; let max_block_pov = max_block_weight.proof_size(); - (max_block_pov / 6).saturated_into() + + let remaining_proof_size = + frame_system::Pallet::::remaining_block_weight().remaining().proof_size(); + + (max_block_pov / 6).min(remaining_proof_size).saturated_into() } /// Updates inherent data to only include the messages that weren't already processed @@ -1164,7 +1173,7 @@ impl Pallet { expected_dmq_mqc_head: relay_chain::Hash, downward_messages: AbridgedInboundDownwardMessages, ) -> Weight { - downward_messages.check_enough_messages_included("DMQ"); + downward_messages.check_enough_messages_included_basic("DMQ"); let mut dmq_head = >::get(); @@ -1210,6 +1219,25 @@ impl Pallet { weight_used } + fn get_ingress_channel_or_panic( + ingress_channels: &[(ParaId, cumulus_primitives_core::AbridgedHrmpChannel)], + sender: ParaId, + ) -> &cumulus_primitives_core::AbridgedHrmpChannel { + let maybe_channel_idx = ingress_channels + .binary_search_by_key(&sender, |&(channel_sender, _)| channel_sender) + .ok(); + let maybe_channel = maybe_channel_idx + .and_then(|channel_idx| ingress_channels.get(channel_idx)) + .map(|(_, channel)| channel); + maybe_channel.unwrap_or_else(|| { + panic!( + "One of the messages submitted by the collator was sent from a sender ({}) \ + that doesn't have a channel opened to this parachain", + >::into(sender) + ) + }) + } + fn check_hrmp_mcq_heads( ingress_channels: &[(ParaId, cumulus_primitives_core::AbridgedHrmpChannel)], mqc_heads: &mut BTreeMap, @@ -1243,17 +1271,8 @@ impl Pallet { } *maybe_prev_msg_metadata = Some(msg_metadata); - // Check that the message is sent from an existing channel. The channel exists - // if its MQC head is present in `vfp.hrmp_mqc_heads`. - let sender = msg_metadata.1; - let maybe_channel_idx = - ingress_channels.binary_search_by_key(&sender, |&(channel_sender, _)| channel_sender); - assert!( - maybe_channel_idx.is_ok(), - "One of the messages submitted by the collator was sent from a sender ({}) \ - that doesn't have a channel opened to this parachain", - >::into(sender) - ); + // Check that the message is sent from an existing channel. + Self::get_ingress_channel_or_panic(ingress_channels, msg_metadata.1); } /// Process all inbound horizontal messages relayed by the collator. @@ -1271,18 +1290,34 @@ impl Pallet { horizontal_messages: AbridgedInboundHrmpMessages, relay_parent_number: relay_chain::BlockNumber, ) -> Weight { + let mut mqc_heads = >::get(); + let (messages, hashed_messages) = horizontal_messages.messages(); + // First, check the HRMP advancement rule. - horizontal_messages.check_enough_messages_included("HRMP"); + let maybe_first_hashed_msg_sender = hashed_messages.first().map(|(sender, _msg)| *sender); + if let Some(first_hashed_msg_sender) = maybe_first_hashed_msg_sender { + let channel = + Self::get_ingress_channel_or_panic(ingress_channels, first_hashed_msg_sender); + horizontal_messages.check_enough_messages_included_advanced( + "HRMP", + AbridgedInboundMessagesSizeInfo { + max_full_messages_size: Self::messages_collection_size_limit(), + first_hashed_msg_max_size: channel.max_message_size as usize, + }, + ); + } - let (messages, hashed_messages) = horizontal_messages.messages(); - let mut mqc_heads = >::get(); + Self::prune_closed_mqc_heads(ingress_channels, &mut mqc_heads); if messages.is_empty() { Self::check_hrmp_mcq_heads(ingress_channels, &mut mqc_heads); let last_processed_msg = InboundMessageId { sent_at: relay_parent_number, reverse_idx: 0 }; + LastProcessedHrmpMessage::::put(last_processed_msg); HrmpWatermark::::put(relay_parent_number); + LastHrmpMqcHeads::::put(&mqc_heads); // write back in case of modification + return T::DbWeight::get().reads_writes(1, 2); } @@ -1302,7 +1337,9 @@ impl Pallet { } last_processed_msg.sent_at = msg.sent_at; } - >::put(&mqc_heads); + + LastHrmpMqcHeads::::put(&mqc_heads); + for (sender, msg) in hashed_messages { Self::check_hrmp_message_metadata( ingress_channels, @@ -1334,6 +1371,19 @@ impl Pallet { weight_used.saturating_add(T::DbWeight::get().reads_writes(2, 3)) } + /// Remove all MQC heads that do not correspond to an open channel. + fn prune_closed_mqc_heads( + ingress_channels: &[(ParaId, cumulus_primitives_core::AbridgedHrmpChannel)], + mqc_heads: &mut BTreeMap, + ) { + // Complexity is O(N * lg N) but could be optimized for O(N) + mqc_heads.retain(|para, _| { + ingress_channels + .binary_search_by_key(para, |&(channel_sender, _)| channel_sender) + .is_ok() + }); + } + /// Drop blocks from the unincluded segment with respect to the latest parachain head. fn maybe_drop_included_ancestors( relay_state_proof: &RelayChainStateProof, @@ -1412,7 +1462,6 @@ impl Pallet { /// This adjusts the `RelevantMessagingState` according to the bandwidth limits in the /// unincluded segment. - // // Reads: 2 // Writes: 1 fn adjust_egress_bandwidth_limits() { @@ -1703,7 +1752,7 @@ impl UpwardMessageSender for Pallet { const MAX_CODE_SIZE: u32 = 3 * 1024 * 1024; HostConfiguration::::mutate(|cfg| match cfg { Some(cfg) => cfg.max_upward_message_size = MAX_UPWARD_MESSAGE_SIZE, - None => + None => { *cfg = Some(AbridgedHostConfiguration { max_code_size: MAX_CODE_SIZE, max_head_data_size: 32 * 1024, @@ -1718,7 +1767,8 @@ impl UpwardMessageSender for Pallet { allowed_ancestry_len: 0, max_candidate_depth: 0, }, - }), + }) + }, }) } } @@ -1766,13 +1816,35 @@ impl polkadot_runtime_parachains::EnsureForParachain for Pallet { /// Or like [`on_validation_code_applied`](Self::on_validation_code_applied) that is called /// when the new validation is written to the state. This means that /// from the next block the runtime is being using this new code. -#[impl_trait_for_tuples::impl_for_tuples(30)] pub trait OnSystemEvent { /// Called in each blocks once when the validation data is set by the inherent. fn on_validation_data(data: &PersistedValidationData); /// Called when the validation code is being applied, aka from the next block on this is the new /// runtime. fn on_validation_code_applied(); + /// Called to process keys from the verified relay chain state proof. + fn on_relay_state_proof( + relay_state_proof: &relay_state_snapshot::RelayChainStateProof, + ) -> Weight; +} + +#[impl_trait_for_tuples::impl_for_tuples(30)] +impl OnSystemEvent for Tuple { + fn on_validation_data(data: &PersistedValidationData) { + for_tuples!( #( Tuple::on_validation_data(data); )* ); + } + + fn on_validation_code_applied() { + for_tuples!( #( Tuple::on_validation_code_applied(); )* ); + } + + fn on_relay_state_proof( + relay_state_proof: &relay_state_snapshot::RelayChainStateProof, + ) -> Weight { + let mut weight = Weight::zero(); + for_tuples!( #( weight = weight.saturating_add(Tuple::on_relay_state_proof(relay_state_proof)); )* ); + weight + } } /// Holds the most recent relay-parent state root and block number of the current parachain block. diff --git a/cumulus/pallets/parachain-system/src/parachain_inherent.rs b/cumulus/pallets/parachain-system/src/parachain_inherent.rs index 3dd089a47fe5c..348f1e3a1ff5e 100644 --- a/cumulus/pallets/parachain-system/src/parachain_inherent.rs +++ b/cumulus/pallets/parachain-system/src/parachain_inherent.rs @@ -142,6 +142,14 @@ impl InboundMessagesCollection { } } +/// A struct containing some info about the expected size of the abridged inbound messages. +pub struct AbridgedInboundMessagesSizeInfo { + /// The max size of the full messages collection + pub max_full_messages_size: usize, + /// The max size of the first hashed message + pub first_hashed_msg_max_size: usize, +} + /// A compressed collection of inbound messages. /// /// The first messages in the collection (up to a limit) contain the full message data. @@ -161,29 +169,51 @@ impl AbridgedInboundMessagesCollection { (&self.full_messages, &self.hashed_messages) } - /// Check that the current collection contains as many full messages as possible. + /// Check that the current collection contains at least 1 full message if needed. + pub fn check_enough_messages_included_basic(&self, collection_name: &str) { + if self.hashed_messages.is_empty() { + return; + } + + // Here we just check that there is at least 1 full message. + assert!( + self.full_messages.len() >= 1, + "[{}] Advancement rule violation: full messages missing", + collection_name, + ); + } + + /// Check that the current collection contains as many full messages as possible, taking into + /// consideration the collection constraints. /// /// The `AbridgedInboundMessagesCollection` is provided to the runtime by a collator. /// A malicious collator can provide a collection that contains no full messages or fewer /// full messages than possible, leading to censorship. - pub fn check_enough_messages_included(&self, collection_name: &str) { - if self.hashed_messages.is_empty() { - return; + pub fn check_enough_messages_included_advanced( + &self, + collection_name: &str, + size_info: AbridgedInboundMessagesSizeInfo, + ) { + // We should check that the collection contains as many full messages as possible + // without exceeding the max expected size. + let AbridgedInboundMessagesSizeInfo { max_full_messages_size, first_hashed_msg_max_size } = + size_info; + + let mut full_messages_size = 0usize; + for msg in &self.full_messages { + full_messages_size = full_messages_size.saturating_add(msg.data().len()); } - // Ideally, we should check that the collection contains as many full messages as possible - // without exceeding the max expected size. The worst case scenario is that were the first - // message that had to be hashed is a max size message. So in this case, the min expected - // size would be `max_expected_size - max_msg_size`. However, there are multiple issues: - // 1. The max message size config can change while we still have to process messages with - // the old max message size. - // 2. We can't access the max downward message size from the parachain runtime. - // - // So the safest approach is to check that there is at least 1 full message. + // The worst case scenario is that were the first message that had to be hashed + // is a max size message. assert!( - self.full_messages.len() >= 1, - "[{}] Advancement rule violation: mandatory messages missing", + full_messages_size.saturating_add(first_hashed_msg_max_size) > max_full_messages_size, + "[{}] Advancement rule violation: full messages size smaller than expected. \ + full msgs size: {}, first hashed msg max size: {}, max full msgs size: {}", collection_name, + full_messages_size, + first_hashed_msg_max_size, + max_full_messages_size ); } } @@ -481,7 +511,7 @@ mod tests { } #[test] - fn check_enough_messages_included_works() { + fn check_enough_messages_included_basic_works() { let mut messages = AbridgedInboundHrmpMessages { full_messages: vec![( 1000.into(), @@ -493,13 +523,45 @@ mod tests { )], }; - messages.check_enough_messages_included("Test"); + messages.check_enough_messages_included_basic("Test"); messages.full_messages = vec![]; - let result = std::panic::catch_unwind(|| messages.check_enough_messages_included("Test")); + let result = + std::panic::catch_unwind(|| messages.check_enough_messages_included_basic("Test")); assert!(result.is_err()); messages.hashed_messages = vec![]; - messages.check_enough_messages_included("Test"); + messages.check_enough_messages_included_basic("Test"); + } + + #[test] + fn check_enough_messages_included_advanced_works() { + let mixed_messages = AbridgedInboundHrmpMessages { + full_messages: vec![( + 1000.into(), + InboundHrmpMessage { sent_at: 0, data: vec![1; 50] }, + )], + hashed_messages: vec![( + 2000.into(), + HashedMessage { sent_at: 1, msg_hash: Default::default() }, + )], + }; + let result = std::panic::catch_unwind(|| { + mixed_messages.check_enough_messages_included_advanced( + "Test", + AbridgedInboundMessagesSizeInfo { + max_full_messages_size: 100, + first_hashed_msg_max_size: 50, + }, + ) + }); + assert!(result.is_err()); + mixed_messages.check_enough_messages_included_advanced( + "Test", + AbridgedInboundMessagesSizeInfo { + max_full_messages_size: 100, + first_hashed_msg_max_size: 51, + }, + ); } } diff --git a/cumulus/pallets/parachain-system/src/relay_state_snapshot.rs b/cumulus/pallets/parachain-system/src/relay_state_snapshot.rs index 7138d61edd277..75687d0c3e481 100644 --- a/cumulus/pallets/parachain-system/src/relay_state_snapshot.rs +++ b/cumulus/pallets/parachain-system/src/relay_state_snapshot.rs @@ -172,7 +172,7 @@ impl RelayChainStateProof { ) -> Result { let db = proof.into_memory_db::>(); if !db.contains(&relay_parent_storage_root, EMPTY_PREFIX) { - return Err(Error::RootMismatch) + return Err(Error::RootMismatch); } let trie_backend = TrieBackendBuilder::new(db, relay_parent_storage_root).build(); @@ -383,4 +383,20 @@ impl RelayChainStateProof { { read_optional_entry(&self.trie_backend, key).map_err(Error::ReadOptionalEntry) } + + /// Read a value from a child trie in the relay chain state proof. + /// + /// Returns `Ok(Some(value))` if the key exists in the child trie, + /// `Ok(None)` if the key doesn't exist, + /// or `Err` if there was a proof error. + pub fn read_child_storage( + &self, + child_info: &sp_core::storage::ChildInfo, + key: &[u8], + ) -> Result>, Error> { + use sp_state_machine::Backend; + self.trie_backend + .child_storage(child_info, key) + .map_err(|_| Error::ReadEntry(ReadEntryErr::Proof)) + } } diff --git a/cumulus/pallets/parachain-system/src/tests.rs b/cumulus/pallets/parachain-system/src/tests.rs index 4b69d674e9eca..1242e9e974bf4 100755 --- a/cumulus/pallets/parachain-system/src/tests.rs +++ b/cumulus/pallets/parachain-system/src/tests.rs @@ -415,8 +415,9 @@ fn inherent_messages_are_compressed() { sproof.dmq_mqc_head = Some(dmp_mqc.head()); for (sender, msg) in &hrmp_msgs_clone { - let mqc_head = - sproof.upsert_inbound_channel(*sender).mqc_head.get_or_insert_default(); + let channel = sproof.upsert_inbound_channel(*sender); + channel.max_message_size = 100 * 1024; + let mqc_head = channel.mqc_head.get_or_insert_default(); let mut mqc = MessageQueueChain::new(*mqc_head); mqc.extend_hrmp(msg); *mqc_head = mqc.head(); @@ -1020,7 +1021,7 @@ fn send_upward_message_num_per_candidate() { 2, || { assert_eq!(UnincludedSegment::::get().len(), 0); - /* do nothing within block */ + // do nothing within block }, || { let v = UpwardMessages::::get(); @@ -1095,7 +1096,6 @@ fn send_upward_message_check_size() { fn send_hrmp_message_buffer_channel_close() { BlockTests::new() .with_relay_sproof_builder(|_, relay_block_num, sproof| { - // // Base case setup // sproof.para_id = ParaId::from(200); @@ -1123,7 +1123,6 @@ fn send_hrmp_message_buffer_channel_close() { }, ); - // // Adjustment according to block // match relay_block_num { @@ -1422,6 +1421,100 @@ fn receive_hrmp() { .add(3, || {}); } +// A channel that was force removed from RC state will clean up any remaining state. +#[test] +fn receive_hrmp_channel_suddenly_removed_from_relay_state() { + BlockTests::new() + .with_relay_sproof_builder(|_, relay_block_num, sproof| match relay_block_num { + 1 => { + // 300 - one new message + sproof.upsert_inbound_channel(ParaId::from(300)).mqc_head = + Some(MessageQueueChain::default().extend_hrmp(&mk_hrmp(1, 1)).head()); + }, + 2 => { + // 300 - is gone, this should trigger the cleanup + }, + _ => unreachable!(), + }) + .with_inherent_data(|_, relay_block_num, data| match relay_block_num { + 1 => { + data.horizontal_messages.insert(ParaId::from(300), vec![mk_hrmp(1, 1)]); + }, + 2 => {}, + _ => unreachable!(), + }) + .add(1, || { + HANDLED_XCMP_MESSAGES.with(|m| { + let mut m = m.borrow_mut(); + assert_eq!(&*m, &[(ParaId::from(300), 1, vec![1])], "Received on channel 300"); + m.clear(); + }); + assert!( + LastHrmpMqcHeads::::get().contains_key(&ParaId::from(300)), + "Channel 300 should be present" + ); + }) + .add(2, || { + assert_eq!( + LastHrmpMqcHeads::::get().into_keys().collect::>(), + vec![], + "Channel 300 should be removed" + ); + }); +} + +// Same as above but other code path since another channel contains a message. +#[test] +fn receive_hrmp_channel_suddenly_removed_from_relay_state2() { + BlockTests::new() + .with_relay_sproof_builder(|_, relay_block_num, sproof| match relay_block_num { + 1 => { + // 200 - one new message + sproof.upsert_inbound_channel(ParaId::from(200)).mqc_head = + Some(MessageQueueChain::default().extend_hrmp(&mk_hrmp(1, 1)).head()); + // 300 - one new message + sproof.upsert_inbound_channel(ParaId::from(300)).mqc_head = + Some(MessageQueueChain::default().extend_hrmp(&mk_hrmp(1, 1)).head()); + }, + 2 => { + // 200 - no new messages, mqc stayed the same. + sproof.upsert_inbound_channel(ParaId::from(200)).mqc_head = + Some(MessageQueueChain::default().extend_hrmp(&mk_hrmp(1, 1)).head()); + // 300 - is gone, this should trigger the cleanup + }, + _ => unreachable!(), + }) + .with_inherent_data(|_, relay_block_num, data| match relay_block_num { + 1 => { + data.horizontal_messages.insert(ParaId::from(200), vec![mk_hrmp(1, 1)]); + data.horizontal_messages.insert(ParaId::from(300), vec![mk_hrmp(1, 1)]); + }, + 2 => {}, + _ => unreachable!(), + }) + .add(1, || { + HANDLED_XCMP_MESSAGES.with(|m| { + let mut m = m.borrow_mut(); + assert_eq!( + &*m, + &[(ParaId::from(200), 1, vec![1]), (ParaId::from(300), 1, vec![1])] + ); + m.clear(); + }); + assert!( + LastHrmpMqcHeads::::get().contains_key(&ParaId::from(300)), + "Channel 300 should be present" + ); + }) + .add(2, || { + assert_eq!( + LastHrmpMqcHeads::::get().into_keys().collect::>(), + vec![ParaId::from(200)], + "Channel 300 should be removed but 200 should be present", + ); + }); +} + #[test] fn receive_hrmp_empty_channel() { BlockTests::new() diff --git a/cumulus/pallets/parachain-system/src/unincluded_segment.rs b/cumulus/pallets/parachain-system/src/unincluded_segment.rs index be345f26d78f2..493d8afd97acc 100644 --- a/cumulus/pallets/parachain-system/src/unincluded_segment.rs +++ b/cumulus/pallets/parachain-system/src/unincluded_segment.rs @@ -162,7 +162,7 @@ impl HrmpChannelUpdate { recipient, messages_remaining: limits.messages_remaining, messages_submitted: new.msg_count, - }) + }); } new.total_bytes = new.total_bytes.saturating_add(other.total_bytes); if new.total_bytes > limits.bytes_remaining { @@ -170,7 +170,7 @@ impl HrmpChannelUpdate { recipient, bytes_remaining: limits.bytes_remaining, bytes_submitted: new.total_bytes, - }) + }); } Ok(new) @@ -211,14 +211,14 @@ impl UsedBandwidth { return Err(BandwidthUpdateError::UmpMessagesOverflow { messages_remaining: limits.ump_messages_remaining, messages_submitted: new.ump_msg_count, - }) + }); } new.ump_total_bytes = new.ump_total_bytes.saturating_add(other.ump_total_bytes); if new.ump_total_bytes > limits.ump_bytes_remaining { return Err(BandwidthUpdateError::UmpBytesOverflow { bytes_remaining: limits.ump_bytes_remaining, bytes_submitted: new.ump_total_bytes, - }) + }); } for (id, channel) in other.hrmp_outgoing.iter() { @@ -339,7 +339,7 @@ impl SegmentTracker { limits: &OutboundBandwidthLimits, ) -> Result<(), BandwidthUpdateError> { if self.consumed_go_ahead_signal.is_some() && block.consumed_go_ahead_signal.is_some() { - return Err(BandwidthUpdateError::UpgradeGoAheadAlreadyProcessed) + return Err(BandwidthUpdateError::UpgradeGoAheadAlreadyProcessed); } if let Some(watermark) = self.hrmp_watermark.as_ref() { if let HrmpWatermarkUpdate::Trunk(new) = new_watermark { @@ -347,7 +347,7 @@ impl SegmentTracker { return Err(BandwidthUpdateError::InvalidHrmpWatermark { submitted: new, latest: *watermark, - }) + }); } } } diff --git a/cumulus/pallets/parachain-system/src/validate_block/implementation.rs b/cumulus/pallets/parachain-system/src/validate_block/implementation.rs index 32351a318f3ca..4f913e1aa7bc0 100644 --- a/cumulus/pallets/parachain-system/src/validate_block/implementation.rs +++ b/cumulus/pallets/parachain-system/src/validate_block/implementation.rs @@ -20,7 +20,9 @@ use super::{trie_cache, trie_recorder, MemoryOptimizedValidationParams}; use alloc::vec::Vec; use codec::{Decode, Encode}; use cumulus_primitives_core::{ - relay_chain::{BlockNumber as RNumber, Hash as RHash, UMPSignal, UMP_SEPARATOR}, + relay_chain::{ + BlockNumber as RNumber, Hash as RHash, UMPSignal, MAX_HEAD_DATA_SIZE, UMP_SEPARATOR, + }, ClaimQueueOffset, CoreSelector, ParachainBlockData, PersistedValidationData, }; use frame_support::{ @@ -122,6 +124,10 @@ where sp_io::offchain_index::host_clear.replace_implementation(host_offchain_index_clear), cumulus_primitives_proof_size_hostfunction::storage_proof_size::host_storage_proof_size .replace_implementation(host_storage_proof_size), + #[cfg(feature = "transaction-index")] + sp_io::transaction_index::host_index.replace_implementation(host_transaction_index_index), + #[cfg(feature = "transaction-index")] + sp_io::transaction_index::host_renew.replace_implementation(host_transaction_index_renew), ); let block_data = codec::decode_from_bytes::>(block_data) @@ -156,6 +162,13 @@ where array_bytes::bytes2hex("0x", p.as_ref()), array_bytes::bytes2hex("0x", b.header().parent_hash().as_ref()), ); + let encoded_header_size = b.header().encoded_size(); + assert!( + encoded_header_size <= MAX_HEAD_DATA_SIZE as usize, + "Header size {} exceeds MAX_HEAD_DATA_SIZE {}", + encoded_header_size, + MAX_HEAD_DATA_SIZE + ); b.header().hash() }); @@ -230,7 +243,6 @@ where if overlay.storage(well_known_keys::CODE).is_some() && num_blocks > 1 { panic!("When applying a runtime upgrade, only one block per PoV is allowed. Received {num_blocks}.") } - run_with_externalities_and_recorder::( &backend, &mut Default::default(), @@ -548,3 +560,21 @@ fn host_default_child_storage_next_key(storage_key: &[u8], key: &[u8]) -> Option fn host_offchain_index_set(_key: &[u8], _value: &[u8]) {} fn host_offchain_index_clear(_key: &[u8]) {} + +/// Parachain validation does not require maintaining a transaction index, +/// and indexing transactions does **not** contribute to the parachain state. +/// However, the host environment still expects this function to exist, +/// so we provide a no-op implementation. +#[cfg(feature = "transaction-index")] +fn host_transaction_index_index(_extrinsic: u32, _size: u32, _context_hash: [u8; 32]) { + // No-op host function used during parachain validation. +} + +/// Parachain validation does not require maintaining a transaction index, +/// and indexing transactions does **not** contribute to the parachain state. +/// However, the host environment still expects this function to exist, +/// so we provide a no-op implementation. +#[cfg(feature = "transaction-index")] +fn host_transaction_index_renew(_extrinsic: u32, _context_hash: [u8; 32]) { + // No-op host function used during parachain validation. +} diff --git a/cumulus/pallets/parachain-system/src/validate_block/tests.rs b/cumulus/pallets/parachain-system/src/validate_block/tests.rs index d8c1b3086ede1..9b35968cddcae 100644 --- a/cumulus/pallets/parachain-system/src/validate_block/tests.rs +++ b/cumulus/pallets/parachain-system/src/validate_block/tests.rs @@ -777,3 +777,39 @@ fn rejects_multiple_blocks_per_pov_when_applying_runtime_upgrade() { .contains("only one block per PoV is allowed")); } } + +#[test] +fn validate_block_rejects_huge_header_single_block() { + sp_tracing::try_init_simple(); + + if env::var("RUN_TEST").is_ok() { + let (client, parent_head) = create_test_client(); + + let digest_data_exceeding_max_head_data_size = + vec![0u8; relay_chain::MAX_HEAD_DATA_SIZE as usize + 1]; + let pre_digests = + vec![DigestItem::PreRuntime(*b"TEST", digest_data_exceeding_max_head_data_size)]; + + let TestBlockData { block, validation_data } = build_block_with_witness( + &client, + Vec::new(), + parent_head.clone(), + Default::default(), + pre_digests, + ); + + call_validate_block(parent_head, block, validation_data.relay_parent_storage_root) + .unwrap_err(); + } else { + let output = Command::new(env::current_exe().unwrap()) + .args(["validate_block_rejects_huge_header_single_block", "--", "--nocapture"]) + .env("RUN_TEST", "1") + .output() + .expect("Runs the test"); + assert!(output.status.success()); + + assert!( + dbg!(String::from_utf8(output.stderr).unwrap()).contains("exceeds MAX_HEAD_DATA_SIZE") + ); + } +} diff --git a/cumulus/pallets/parachain-system/src/validate_block/trie_recorder.rs b/cumulus/pallets/parachain-system/src/validate_block/trie_recorder.rs index c7ed8a6a9323d..3e4b854d301ee 100644 --- a/cumulus/pallets/parachain-system/src/validate_block/trie_recorder.rs +++ b/cumulus/pallets/parachain-system/src/validate_block/trie_recorder.rs @@ -43,15 +43,17 @@ impl<'a, H: trie_db::Hasher> trie_db::TrieRecorder for SizeOnlyRecorder< fn record(&mut self, access: TrieAccess<'_, H::Out>) { let mut encoded_size_update = 0; match access { - TrieAccess::NodeOwned { hash, node_owned } => + TrieAccess::NodeOwned { hash, node_owned } => { if self.seen_nodes.insert(hash) { let node = node_owned.to_encoded::>(); encoded_size_update += node.encoded_size(); - }, - TrieAccess::EncodedNode { hash, encoded_node } => + } + }, + TrieAccess::EncodedNode { hash, encoded_node } => { if self.seen_nodes.insert(hash) { encoded_size_update += encoded_node.encoded_size(); - }, + } + }, TrieAccess::Value { hash, value, full_key } => { if self.seen_nodes.insert(hash) { encoded_size_update += value.encoded_size(); diff --git a/cumulus/pallets/session-benchmarking/src/inner.rs b/cumulus/pallets/session-benchmarking/src/inner.rs index be7d7740be6bd..fe8b37050593e 100644 --- a/cumulus/pallets/session-benchmarking/src/inner.rs +++ b/cumulus/pallets/session-benchmarking/src/inner.rs @@ -16,14 +16,20 @@ //! Benchmarking setup for pallet-session. #![cfg(feature = "runtime-benchmarks")] -use alloc::{vec, vec::Vec}; +use alloc::vec::Vec; -use codec::Decode; use frame_benchmarking::v2::*; use frame_system::RawOrigin; use pallet_session::*; pub struct Pallet(pallet_session::Pallet); -pub trait Config: pallet_session::Config {} +pub trait Config: pallet_session::Config { + /// Generate a session key and a proof of ownership. + /// + /// The given `owner` is the account that will call `set_keys` using the returned session keys + /// and proof. This means that the proof should prove the ownership of `owner` over the private + /// keys associated to the session keys. + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec); +} #[benchmarks] mod benchmarks { @@ -33,8 +39,8 @@ mod benchmarks { fn set_keys() -> Result<(), BenchmarkError> { let caller: T::AccountId = whitelisted_caller(); frame_system::Pallet::::inc_providers(&caller); - let keys = T::Keys::decode(&mut sp_runtime::traits::TrailingZeroInput::zeroes()).unwrap(); - let proof: Vec = vec![0, 1, 2, 3]; + let (keys, proof) = T::generate_session_keys_and_proof(caller.clone()); + >::ensure_can_pay_key_deposit(&caller).unwrap(); #[extrinsic_call] @@ -47,9 +53,9 @@ mod benchmarks { fn purge_keys() -> Result<(), BenchmarkError> { let caller: T::AccountId = whitelisted_caller(); frame_system::Pallet::::inc_providers(&caller); - let keys = T::Keys::decode(&mut sp_runtime::traits::TrailingZeroInput::zeroes()).unwrap(); - let proof: Vec = vec![0, 1, 2, 3]; + let (keys, proof) = T::generate_session_keys_and_proof(caller.clone()); >::ensure_can_pay_key_deposit(&caller).unwrap(); + let _t = pallet_session::Pallet::::set_keys( RawOrigin::Signed(caller.clone()).into(), keys, diff --git a/cumulus/pallets/solo-to-para/src/lib.rs b/cumulus/pallets/solo-to-para/src/lib.rs index ff68d1b63fe7f..0d6d82cf4590b 100644 --- a/cumulus/pallets/solo-to-para/src/lib.rs +++ b/cumulus/pallets/solo-to-para/src/lib.rs @@ -103,5 +103,10 @@ pub mod pallet { fn on_validation_code_applied() { crate::Pallet::::set_pending_custom_validation_head_data(); } + fn on_relay_state_proof( + _relay_state_proof: ¶chain_system::relay_state_snapshot::RelayChainStateProof, + ) -> frame_support::weights::Weight { + frame_support::weights::Weight::zero() + } } } diff --git a/cumulus/pallets/weight-reclaim/src/lib.rs b/cumulus/pallets/weight-reclaim/src/lib.rs index 5252544f50505..fdf3097a3ee42 100644 --- a/cumulus/pallets/weight-reclaim/src/lib.rs +++ b/cumulus/pallets/weight-reclaim/src/lib.rs @@ -72,7 +72,6 @@ pub mod pallet { /// /// This extension must wrap all the transaction extensions: #[doc = docify::embed!("./src/tests.rs", Tx)] -/// /// This extension checks the size of the node-side storage proof before and after executing a given /// extrinsic using the proof size host function. The difference between benchmarked and used weight /// is reclaimed. @@ -203,7 +202,7 @@ where let Some(proof_size_after_dispatch) = get_proof_size().defensive_proof( "Proof recording enabled during prepare, now disabled. This should not happen.", ) else { - return Ok(inner_refund) + return Ok(inner_refund); }; // The consumed proof size as measured by the host. @@ -242,8 +241,8 @@ where // If we encounter a situation where the node-side proof size is already higher than // what we have in the runtime bookkeeping, we add the difference to the `BlockWeight`. // This prevents that the proof size grows faster than the runtime proof size. - let extrinsic_len = frame_system::AllExtrinsicsLen::::get().unwrap_or(0); - let node_side_pov_size = proof_size_after_dispatch.saturating_add(extrinsic_len.into()); + let block_size = frame_system::BlockSize::::get().unwrap_or(0); + let node_side_pov_size = proof_size_after_dispatch.saturating_add(block_size.into()); let block_weight_proof_size = current_weight.total().proof_size(); let pov_size_missing_from_node = node_side_pov_size.saturating_sub(block_weight_proof_size); @@ -251,7 +250,7 @@ where log::warn!( target: LOG_TARGET, "Node-side PoV size higher than runtime proof size weight. node-side: \ - {node_side_pov_size} extrinsic_len: {extrinsic_len} runtime: \ + {node_side_pov_size} block_size: {block_size} runtime: \ {block_weight_proof_size}, missing: {pov_size_missing_from_node}. Setting to \ node-side proof size." ); diff --git a/cumulus/pallets/xcmp-queue/src/bridging.rs b/cumulus/pallets/xcmp-queue/src/bridging.rs index 355691a41659d..7cd6229cd722b 100644 --- a/cumulus/pallets/xcmp-queue/src/bridging.rs +++ b/cumulus/pallets/xcmp-queue/src/bridging.rs @@ -35,7 +35,7 @@ impl bp_xcm_bridge_hub_router::XcmChannelStatusProvider // receive congestion reports from the `with` location. So we assume the pipeline is // congested too. if pallet::Pallet::::is_inbound_channel_suspended(sibling_para_id) { - return true + return true; } // if the outbound channel with recipient is suspended, it means that one of further @@ -61,11 +61,11 @@ impl OutXcmpChannelStatusProvider { let Some((outbound_state, queued_pages)) = pallet::Pallet::::outbound_channel_state(sibling_para_id) else { - return false + return false; }; // suspended channel => it is congested if outbound_state == OutboundState::Suspended { - return true + return true; } // It takes some time for target parachain to suspend inbound channel with the target BH and @@ -80,7 +80,7 @@ impl OutXcmpChannelStatusProvider { const MAX_QUEUED_PAGES_BEFORE_DEACTIVATION: u16 = 4; if queued_pages > MAX_QUEUED_PAGES_BEFORE_DEACTIVATION { - return true + return true; } false diff --git a/cumulus/pallets/xcmp-queue/src/lib.rs b/cumulus/pallets/xcmp-queue/src/lib.rs index acb7e8739aeaa..188b47ef63df3 100644 --- a/cumulus/pallets/xcmp-queue/src/lib.rs +++ b/cumulus/pallets/xcmp-queue/src/lib.rs @@ -281,7 +281,7 @@ pub mod pallet { "Not enough weight for on_idle. {} < {}", Self::on_idle_weight(), limit ); - return meter.consumed() + return meter.consumed(); } migration::v3::lazy_migrate_inbound_queue::(); @@ -502,7 +502,7 @@ impl Pallet { .checked_add(format_size) .ok_or(MessageSendError::TooBig)?; if size_to_check > max_message_size { - return Err(MessageSendError::TooBig) + return Err(MessageSendError::TooBig); } let mut all_channels = >::get(); @@ -530,10 +530,10 @@ impl Pallet { |page| { if XcmpMessageFormat::decode(&mut &page[..]) != Ok(format) { defensive!("Bad format in outbound queue; dropping message"); - return Err(()) + return Err(()); } if page.len() + encoded_fragment.len() > max_message_size { - return Err(()) + return Err(()); } for frag in encoded_fragment.iter() { page.try_push(*frag)?; @@ -699,7 +699,7 @@ impl Pallet { let base_weight = T::WeightInfo::take_first_concatenated_xcm(0); if meter.try_consume(base_weight).is_err() { defensive!("Out of weight; could not decode all; dropping"); - return Err(()) + return Err(()); } let input_data = &mut &data[..]; @@ -746,7 +746,7 @@ impl Pallet { Some((xcm_data, remaining_data)) => (xcm_data, remaining_data), None => { tracing::debug!(target: LOG_TARGET, ?xcm_len, "Wrong opaque XCM length"); - return Err(()) + return Err(()); }, }; *data = remaining_data; @@ -778,7 +778,7 @@ impl Pallet { let mut batch = vec![]; loop { if data.is_empty() { - return Ok(batch) + return Ok(batch); } let maybe_xcm = match encoding { @@ -864,7 +864,7 @@ impl OnQueueChanged for Pallet { impl QueuePausedQuery for Pallet { fn is_paused(para: &ParaId) -> bool { if !QueueSuspended::::get() { - return false + return false; } // Make an exception for the superuser queue: @@ -910,7 +910,7 @@ impl XcmpMessageHandler for Pallet { Ok(f) => f, Err(_) => { defensive!("Unknown XCMP message format - dropping"); - continue + continue; }, }; @@ -925,7 +925,7 @@ impl XcmpMessageHandler for Pallet { defensive!( "Not enough weight to process suspend signal - dropping" ); - break + break; } Self::suspend_channel(sender) }, @@ -934,13 +934,13 @@ impl XcmpMessageHandler for Pallet { defensive!( "Not enough weight to process resume signal - dropping" ); - break + break; } Self::resume_channel(sender) }, Err(_) => { defensive!("Undecodable channel signal - dropping"); - break + break; }, } } @@ -952,7 +952,7 @@ impl XcmpMessageHandler for Pallet { XcmpMessageFormat::ConcatenatedOpaqueVersionedXcm => XcmEncoding::Double, _ => { // This branch is unreachable. - continue + continue; }, }; @@ -998,14 +998,14 @@ impl XcmpMessageHandler for Pallet { is_first_sender_batch, &mut meter, ) { - break + break; } is_first_sender_batch = false; } }, XcmpMessageFormat::ConcatenatedEncodedBlob => { defensive!("Blob messages are unhandled - dropping"); - continue + continue; }, } } @@ -1041,7 +1041,7 @@ impl XcmpMessageSource for Pallet { >::remove(para_id); } *status = OutboundChannelDetails::new(para_id); - continue + continue; }, ChannelStatus::Full => continue, ChannelStatus::Ready(n, e) => (n, e), @@ -1051,7 +1051,7 @@ impl XcmpMessageSource for Pallet { if result.len() == max_message_count { // We check this condition in the beginning of the loop so that we don't include // a message where the limit is 0. - break + break; } let page = if signals_exist { @@ -1064,11 +1064,11 @@ impl XcmpMessageSource for Pallet { page } else { defensive!("Signals should fit into a single page"); - continue + continue; } } else if outbound_state == OutboundState::Suspended { // Signals are exempt from suspension. - continue + continue; } else if last_index > first_index { let page = >::get(para_id, first_index); if page.len() < max_size_now { @@ -1076,10 +1076,10 @@ impl XcmpMessageSource for Pallet { first_index += 1; page } else { - continue + continue; } } else { - continue + continue; }; if first_index == last_index { first_index = 0; @@ -1222,10 +1222,12 @@ impl InspectMessageQueues for Pallet { let mut decoded_messages = Vec::new(); while !data.is_empty() { let message_bytes = match decoded_format { - XcmpMessageFormat::ConcatenatedVersionedXcm => - Self::take_first_concatenated_xcm(data, &mut WeightMeter::new()), - XcmpMessageFormat::ConcatenatedOpaqueVersionedXcm => - Self::take_first_concatenated_opaque_xcm(data), + XcmpMessageFormat::ConcatenatedVersionedXcm => { + Self::take_first_concatenated_xcm(data, &mut WeightMeter::new()) + }, + XcmpMessageFormat::ConcatenatedOpaqueVersionedXcm => { + Self::take_first_concatenated_opaque_xcm(data) + }, unexpected_format => { panic!("Unexpected XCMP format: {unexpected_format:?}!") }, diff --git a/cumulus/pallets/xcmp-queue/src/migration.rs b/cumulus/pallets/xcmp-queue/src/migration.rs index 7046ec6ab05b3..d66b743bb2880 100644 --- a/cumulus/pallets/xcmp-queue/src/migration.rs +++ b/cumulus/pallets/xcmp-queue/src/migration.rs @@ -213,12 +213,12 @@ pub mod v3 { pub fn lazy_migrate_inbound_queue() { let Some(mut states) = v3::InboundXcmpStatus::::get() else { tracing::debug!(target: LOG, "Lazy migration finished: item gone"); - return + return; }; let Some(ref mut next) = states.first_mut() else { tracing::debug!(target: LOG, "Lazy migration finished: item empty"); v3::InboundXcmpStatus::::kill(); - return + return; }; tracing::debug!( target: LOG, @@ -230,7 +230,7 @@ pub mod v3 { let Some((block_number, format)) = next.message_metadata.pop() else { states.remove(0); v3::InboundXcmpStatus::::put(states); - return + return; }; if format != XcmpMessageFormat::ConcatenatedVersionedXcm { tracing::warn!( @@ -240,19 +240,19 @@ pub mod v3 { ); v3::InboundXcmpMessages::::remove(&next.sender, &block_number); v3::InboundXcmpStatus::::put(states); - return + return; } let Some(msg) = v3::InboundXcmpMessages::::take(&next.sender, &block_number) else { defensive!("Storage corrupted: HRMP message missing:", (next.sender, block_number)); v3::InboundXcmpStatus::::put(states); - return + return; }; let Ok(msg): Result, _> = msg.try_into() else { tracing::error!(target: LOG, "Message dropped: too big"); v3::InboundXcmpStatus::::put(states); - return + return; }; // Finally! We have a proper message. @@ -279,7 +279,7 @@ pub mod v4 { pre.drop_threshold == pre_default.drop_threshold && pre.resume_threshold == pre_default.resume_threshold { - return QueueConfigData::default() + return QueueConfigData::default(); } // If the previous values are not the default ones, let's leave them as they are. diff --git a/cumulus/pallets/xcmp-queue/src/tests.rs b/cumulus/pallets/xcmp-queue/src/tests.rs index 9520bd8ba6e56..c9942a9f5065d 100644 --- a/cumulus/pallets/xcmp-queue/src/tests.rs +++ b/cumulus/pallets/xcmp-queue/src/tests.rs @@ -1223,7 +1223,7 @@ fn page_not_modified_when_fragment_does_not_fit() { if num_pages == 2 { let new_page_zero = OutboundXcmpMessages::::get(sibling, 0); assert_eq!(old_page_zero, new_page_zero); - break + break; } else if num_pages > 2 { panic!("Too many pages created"); } diff --git a/cumulus/parachains/chain-specs/asset-hub-polkadot.json b/cumulus/parachains/chain-specs/asset-hub-polkadot.json index 5ae97ac5001da..39f2d7c05ee1c 100644 --- a/cumulus/parachains/chain-specs/asset-hub-polkadot.json +++ b/cumulus/parachains/chain-specs/asset-hub-polkadot.json @@ -28,7 +28,8 @@ "/dns/asset-hub-polkadot.bootnodes.polkadotters.com/tcp/30508/p2p/12D3KooWKbfY9a9oywxMJKiALmt7yhrdQkjXMtvxhhDDN23vG93R", "/dns/asset-hub-polkadot.bootnodes.polkadotters.com/tcp/30510/wss/p2p/12D3KooWKbfY9a9oywxMJKiALmt7yhrdQkjXMtvxhhDDN23vG93R", "/dns/boot-polkadot-assethub.luckyfriday.io/tcp/443/wss/p2p/12D3KooWDR9M7CjV1xdjCRbRwkFn1E7sjMaL4oYxGyDWxuLrFc2J", - "/dns/asset-hub-polkadot-01.bootnode.stkd.io/tcp/30633/wss/p2p/12D3KooWJUhizuk3crSvpyKLGycHBtnP93rwjksVueveU6x6k6RY" + "/dns/asset-hub-polkadot-01.bootnode.stkd.io/tcp/30633/wss/p2p/12D3KooWJUhizuk3crSvpyKLGycHBtnP93rwjksVueveU6x6k6RY", + "/dns/boot-asset-hub-polkadot.stakeworld.io/tcp/443/wss/p2p/12D3KooWD8pxR4Ervm4tLsmsxNc82ouSQxaYWYWmVnrT5bYhAxQv" ], "telemetryEndpoints": null, "protocolId": null, diff --git a/cumulus/parachains/chain-specs/bridge-hub-polkadot.json b/cumulus/parachains/chain-specs/bridge-hub-polkadot.json index f3897edbfb767..b011616162a81 100644 --- a/cumulus/parachains/chain-specs/bridge-hub-polkadot.json +++ b/cumulus/parachains/chain-specs/bridge-hub-polkadot.json @@ -28,7 +28,8 @@ "/dns/boot-polkadot-bridgehub.luckyfriday.io/tcp/443/wss/p2p/12D3KooWKf3mBXHjLbwtPqv1BdbQuwbFNcQQYxASS7iQ25264AXH", "/dns/bridge-hub-polkadot.bootnode.amforc.com/tcp/29999/wss/p2p/12D3KooWGT5E56rAHfT5dY1pMLTrpAgV72yfDtD1Y5tPCHaTsifp", "/dns/bridge-hub-polkadot.bootnode.amforc.com/tcp/30010/p2p/12D3KooWGT5E56rAHfT5dY1pMLTrpAgV72yfDtD1Y5tPCHaTsifp", - "/dns/bridge-hub-polkadot-01.bootnode.stkd.io/tcp/30633/wss/p2p/12D3KooWSBpo6fYU8CUr4fwA14CKSDUSj5jSgZzQDBNL1B8Dnmaw" + "/dns/bridge-hub-polkadot-01.bootnode.stkd.io/tcp/30633/wss/p2p/12D3KooWSBpo6fYU8CUr4fwA14CKSDUSj5jSgZzQDBNL1B8Dnmaw", + "/dns/boot-bridge-hub-polkadot.stakeworld.io/tcp/443/wss/p2p/12D3KooWLVZHDjoBQBVj1DvZHKz8pXwgqH1k6gniHCs7F5ZMfaNy" ], "telemetryEndpoints": null, "protocolId": null, diff --git a/cumulus/parachains/chain-specs/collectives-polkadot.json b/cumulus/parachains/chain-specs/collectives-polkadot.json index 76edfe614f674..75beb42ad3923 100644 --- a/cumulus/parachains/chain-specs/collectives-polkadot.json +++ b/cumulus/parachains/chain-specs/collectives-polkadot.json @@ -28,7 +28,8 @@ "/dns/collectives-polkadot.bootnodes.polkadotters.com/tcp/30526/p2p/12D3KooWNohUjvJtGKUa8Vhy8C1ZBB5N8JATB6e7rdLVCioeb3ff", "/dns/collectives-polkadot.bootnodes.polkadotters.com/tcp/30528/wss/p2p/12D3KooWNohUjvJtGKUa8Vhy8C1ZBB5N8JATB6e7rdLVCioeb3ff", "/dns/boot-polkadot-collectives.luckyfriday.io/tcp/443/wss/p2p/12D3KooWCzifnPooTt4kvTnXT7FTKTymVL7xn7DURQLsS2AKpf6w", - "/dns/collectives-polkadot-01.bootnode.stkd.io/tcp/30633/wss/p2p/12D3KooWNscpobBzjPEdjbbjjKRYh9j1whYJvagRJwb9UH68zCPC" + "/dns/collectives-polkadot-01.bootnode.stkd.io/tcp/30633/wss/p2p/12D3KooWNscpobBzjPEdjbbjjKRYh9j1whYJvagRJwb9UH68zCPC", + "/dns/boot-collectives-polkadot.stakeworld.io/tcp/443/wss/p2p/12D3KooWPqVor7DwfKUKNJjuNJk57YXB7nN7SHd5erFBBo2VXo6U" ], "telemetryEndpoints": null, "protocolId": null, diff --git a/cumulus/parachains/chain-specs/coretime-polkadot.json b/cumulus/parachains/chain-specs/coretime-polkadot.json index 175357ad105da..7ee9927922550 100644 --- a/cumulus/parachains/chain-specs/coretime-polkadot.json +++ b/cumulus/parachains/chain-specs/coretime-polkadot.json @@ -15,7 +15,8 @@ "/dns/coretime-polkadot-bootnode.radiumblock.com/tcp/30336/wss/p2p/12D3KooWFsQphSqvqjVyKcEdR1D7LPcXHqjmy6ASuJrTr5isk9JU", "/dns/coretime-polkadot-01.bootnode.stkd.io/tcp/30633/wss/p2p/12D3KooWFG9WQQTf3MX3YQypZjJtoJM5zCQgJcqYdxxTStsbhZGU", "/dns/coretime-polkadot.boot.rotko.net/tcp/31051/p2p/12D3KooWPk5pR5QxWGVJ1YVWnXd4rkVTZ194iay58rAfcSHDpky3", - "/dns/coretime-polkadot.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWPk5pR5QxWGVJ1YVWnXd4rkVTZ194iay58rAfcSHDpky3" + "/dns/coretime-polkadot.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWPk5pR5QxWGVJ1YVWnXd4rkVTZ194iay58rAfcSHDpky3", + "/dns/boot-coretime-polkadot.stakeworld.io/tcp/443/wss/p2p/12D3KooWF2uEx9xYFCJVe8ZdjKXSxsJgL47c5TyW8opEuicpxrnx" ], "telemetryEndpoints": null, "protocolId": null, diff --git a/cumulus/parachains/chain-specs/people-polkadot.json b/cumulus/parachains/chain-specs/people-polkadot.json index fa1e14f9770ee..1af04a70e6217 100644 --- a/cumulus/parachains/chain-specs/people-polkadot.json +++ b/cumulus/parachains/chain-specs/people-polkadot.json @@ -11,7 +11,8 @@ "/dns/people-polkadot-boot-ng.dwellir.com/tcp/30346/p2p/12D3KooWKMYu1L28TkDf1ooMW8D8PHcztLnjV3bausH9eiVTRUYN", "/dns/people-polkadot-01.bootnode.stkd.io/tcp/30633/wss/p2p/12D3KooWDf2aLDKHQyLkDzdEGs6exNzWWw62s2EK9g1wrujJzRZt", "/dns/people-polkadot.boot.rotko.net/tcp/31041/p2p/12D3KooWLg9NPeDFoL54A7WfuHSM3YNxPBGVRAd9ZY6rmVfdT6GJ", - "/dns/people-polkadot.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWLg9NPeDFoL54A7WfuHSM3YNxPBGVRAd9ZY6rmVfdT6GJ" + "/dns/people-polkadot.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWLg9NPeDFoL54A7WfuHSM3YNxPBGVRAd9ZY6rmVfdT6GJ", + "/dns/boot-people-polkadot.stakeworld.io/tcp/443/wss/p2p/12D3KooWCS5ENtYsyHMSpK7LjvhKrKF7hVas7qDBQvRSUtCNnd1Z" ], "telemetryEndpoints": null, "protocolId": null, diff --git a/cumulus/parachains/common/src/impls.rs b/cumulus/parachains/common/src/impls.rs index 00cb9be261c1e..e7da4fe30b08d 100644 --- a/cumulus/parachains/common/src/impls.rs +++ b/cumulus/parachains/common/src/impls.rs @@ -166,7 +166,7 @@ where Some(a) => a, None => { tracing::warn!(target: "xcm::on_unbalanced", "Failed to convert root origin into account id"); - return + return; }, }; let treasury_account: AccountIdOf = TreasuryAccount::get(); @@ -223,7 +223,9 @@ mod tests { ); parameter_types! { - pub BlockLength: limits::BlockLength = limits::BlockLength::max(2 * 1024); + pub BlockLength: limits::BlockLength = limits::BlockLength::builder() + .max_length(2 * 1024) + .build(); pub const AvailableBlockRatio: Perbill = Perbill::one(); } diff --git a/cumulus/parachains/common/src/pay.rs b/cumulus/parachains/common/src/pay.rs index ba76f85dae283..13cae55898150 100644 --- a/cumulus/parachains/common/src/pay.rs +++ b/cumulus/parachains/common/src/pay.rs @@ -50,7 +50,7 @@ pub enum VersionedLocatableAccount { /// /// # Example /// -///,ignore +/// ,ignore /// type FundingSource = PalletIdAsFundingSource< /// TreasuryPalletId, /// Runtime, @@ -140,10 +140,12 @@ impl LocalPay { { // only applicable for the local accounts let account_id = match who { - VersionedLocatableAccount::V4 { location, account_id } if location.is_here() => - &account_id.clone().try_into().map_err(|_| ())?, - VersionedLocatableAccount::V5 { location, account_id } if location.is_here() => - account_id, + VersionedLocatableAccount::V4 { location, account_id } if location.is_here() => { + &account_id.clone().try_into().map_err(|_| ())? + }, + VersionedLocatableAccount::V5 { location, account_id } if location.is_here() => { + account_id + }, _ => return Err(()), }; C::convert_location(account_id).ok_or(()) @@ -151,10 +153,18 @@ impl LocalPay { fn match_asset(asset: &VersionedLocatableAsset) -> Result { match asset { - VersionedLocatableAsset::V4 { location, asset_id } if location.is_here() => - asset_id.clone().try_into().map(|a: xcm::v5::AssetId| a.0).map_err(|_| ()), - VersionedLocatableAsset::V5 { location, asset_id } if location.is_here() => - Ok(asset_id.clone().0), + VersionedLocatableAsset::V3 { location, asset_id } if location.is_here() => { + // Convert V3 asset_id to V5 Location (must go through V4) + let v4_asset_id: xcm::v4::AssetId = (*asset_id).try_into().map_err(|_| ())?; + let v5_asset_id: xcm::v5::AssetId = v4_asset_id.try_into().map_err(|_| ())?; + Ok(v5_asset_id.0) + }, + VersionedLocatableAsset::V4 { location, asset_id } if location.is_here() => { + asset_id.clone().try_into().map(|a: xcm::v5::AssetId| a.0).map_err(|_| ()) + }, + VersionedLocatableAsset::V5 { location, asset_id } if location.is_here() => { + Ok(asset_id.clone().0) + }, _ => Err(()), } } diff --git a/cumulus/parachains/common/src/xcm_config.rs b/cumulus/parachains/common/src/xcm_config.rs index 44c149a01e3b5..81dfa8905f236 100644 --- a/cumulus/parachains/common/src/xcm_config.rs +++ b/cumulus/parachains/common/src/xcm_config.rs @@ -100,7 +100,7 @@ impl, Runtime: parachain_info::Config let self_para_id: u32 = parachain_info::Pallet::::get().into(); if let (0, [Parachain(para_id)]) = l.unpack() { if *para_id == self_para_id { - return false + return false; } } matches!(l.unpack(), (1, [])) || SystemParachainMatcher::contains(l) diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-rococo/src/lib.rs b/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-rococo/src/lib.rs index 5c26e54b49047..c35bba528cb1f 100644 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-rococo/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-rococo/src/lib.rs @@ -27,7 +27,6 @@ use emulated_integration_tests_common::{ impl_assets_helpers_for_parachain, impl_assets_helpers_for_system_parachain, impl_bridge_helpers_for_chain, impl_foreign_assets_helpers_for_parachain, impl_xcm_helpers_for_parachain, impls::Parachain, xcm_emulator::decl_test_parachains, - AuraDigestProvider, }; use rococo_emulated_chain::Rococo; @@ -44,7 +43,6 @@ decl_test_parachains! { LocationToAccountId: asset_hub_rococo_runtime::xcm_config::LocationToAccountId, ParachainInfo: asset_hub_rococo_runtime::ParachainInfo, MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - DigestProvider: AuraDigestProvider, AdditionalInherentCode: (), }, pallets = { diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-westend/src/lib.rs b/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-westend/src/lib.rs index fe8de43d59fb6..0687f5830f42f 100644 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-westend/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-westend/src/lib.rs @@ -27,7 +27,6 @@ use emulated_integration_tests_common::{ impl_assets_helpers_for_parachain, impl_assets_helpers_for_system_parachain, impl_bridge_helpers_for_chain, impl_foreign_assets_helpers_for_parachain, impl_xcm_helpers_for_parachain, impls::Parachain, xcm_emulator::decl_test_parachains, - AuraDigestProvider, }; use westend_emulated_chain::Westend; @@ -44,8 +43,8 @@ decl_test_parachains! { LocationToAccountId: asset_hub_westend_runtime::xcm_config::LocationToAccountId, ParachainInfo: asset_hub_westend_runtime::ParachainInfo, MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - DigestProvider: AuraDigestProvider, AdditionalInherentCode: (), + native_total_supply_tracker: true, }, pallets = { PolkadotXcm: asset_hub_westend_runtime::PolkadotXcm, diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-rococo/src/lib.rs b/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-rococo/src/lib.rs index b91b5be74cceb..43398eb8bd480 100644 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-rococo/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-rococo/src/lib.rs @@ -29,7 +29,6 @@ use frame_support::traits::OnInitialize; use emulated_integration_tests_common::{ impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, impl_xcm_helpers_for_parachain, impls::Parachain, xcm_emulator::decl_test_parachains, - AuraDigestProvider, }; // BridgeHubRococo Parachain declaration @@ -45,7 +44,6 @@ decl_test_parachains! { LocationToAccountId: bridge_hub_rococo_runtime::xcm_config::LocationToAccountId, ParachainInfo: bridge_hub_rococo_runtime::ParachainInfo, MessageOrigin: bridge_hub_common::AggregateMessageOrigin, - DigestProvider: AuraDigestProvider, }, pallets = { PolkadotXcm: bridge_hub_rococo_runtime::PolkadotXcm, diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-westend/src/lib.rs b/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-westend/src/lib.rs index bd3ecd2a20745..5eada9569d5d3 100644 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-westend/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-westend/src/lib.rs @@ -28,7 +28,6 @@ use frame_support::traits::OnInitialize; use emulated_integration_tests_common::{ impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, impl_xcm_helpers_for_parachain, impls::Parachain, xcm_emulator::decl_test_parachains, - AuraDigestProvider, }; // BridgeHubWestend Parachain declaration @@ -44,7 +43,6 @@ decl_test_parachains! { LocationToAccountId: bridge_hub_westend_runtime::xcm_config::LocationToAccountId, ParachainInfo: bridge_hub_westend_runtime::ParachainInfo, MessageOrigin: bridge_hub_common::AggregateMessageOrigin, - DigestProvider: AuraDigestProvider, }, pallets = { PolkadotXcm: bridge_hub_westend_runtime::PolkadotXcm, diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/collectives/collectives-westend/src/lib.rs b/cumulus/parachains/integration-tests/emulated/chains/parachains/collectives/collectives-westend/src/lib.rs index 41b327321fa00..f90d82231a3bb 100644 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/collectives/collectives-westend/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/collectives/collectives-westend/src/lib.rs @@ -23,7 +23,7 @@ use frame_support::traits::OnInitialize; // Cumulus use emulated_integration_tests_common::{ impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, - impls::Parachain, xcm_emulator::decl_test_parachains, AuraDigestProvider, + impls::Parachain, xcm_emulator::decl_test_parachains, }; // CollectivesWestend Parachain declaration @@ -39,7 +39,6 @@ decl_test_parachains! { LocationToAccountId: collectives_westend_runtime::xcm_config::LocationToAccountId, ParachainInfo: collectives_westend_runtime::ParachainInfo, MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - DigestProvider: AuraDigestProvider, }, pallets = { PolkadotXcm: collectives_westend_runtime::PolkadotXcm, diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo/Cargo.toml deleted file mode 100644 index b1d36003b17f2..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo/Cargo.toml +++ /dev/null @@ -1,23 +0,0 @@ -[package] -name = "coretime-rococo-emulated-chain" -version = "0.1.0" -authors.workspace = true -edition.workspace = true -license = "Apache-2.0" -description = "Coretime Rococo emulated chain" -publish = false - -[lints] -workspace = true - -[dependencies] -# Substrate -frame-support = { workspace = true } -sp-core = { workspace = true } - -# Cumulus -coretime-rococo-runtime = { workspace = true, default-features = true } -cumulus-primitives-core = { workspace = true } -emulated-integration-tests-common = { workspace = true } -parachains-common = { workspace = true, default-features = true } -testnet-parachains-constants = { features = ["rococo"], workspace = true, default-features = true } diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo/src/genesis.rs b/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo/src/genesis.rs deleted file mode 100644 index f2035c8654d08..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo/src/genesis.rs +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Substrate -use sp_core::storage::Storage; - -// Cumulus -use emulated_integration_tests_common::{ - accounts, build_genesis_storage, collators, SAFE_XCM_VERSION, -}; -use parachains_common::Balance; - -pub const PARA_ID: u32 = 1005; -pub const ED: Balance = testnet_parachains_constants::rococo::currency::EXISTENTIAL_DEPOSIT; - -pub fn genesis() -> Storage { - let genesis_config = coretime_rococo_runtime::RuntimeGenesisConfig { - system: coretime_rococo_runtime::SystemConfig::default(), - balances: coretime_rococo_runtime::BalancesConfig { - balances: accounts::init_balances().iter().cloned().map(|k| (k, ED * 4096)).collect(), - ..Default::default() - }, - parachain_info: coretime_rococo_runtime::ParachainInfoConfig { - parachain_id: PARA_ID.into(), - ..Default::default() - }, - collator_selection: coretime_rococo_runtime::CollatorSelectionConfig { - invulnerables: collators::invulnerables().iter().cloned().map(|(acc, _)| acc).collect(), - candidacy_bond: ED * 16, - ..Default::default() - }, - session: coretime_rococo_runtime::SessionConfig { - keys: collators::invulnerables() - .into_iter() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - coretime_rococo_runtime::SessionKeys { aura }, // session keys - ) - }) - .collect(), - ..Default::default() - }, - polkadot_xcm: coretime_rococo_runtime::PolkadotXcmConfig { - safe_xcm_version: Some(SAFE_XCM_VERSION), - ..Default::default() - }, - ..Default::default() - }; - - build_genesis_storage( - &genesis_config, - coretime_rococo_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), - ) -} diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo/src/lib.rs b/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo/src/lib.rs deleted file mode 100644 index 8d1ed3870d299..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo/src/lib.rs +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub use coretime_rococo_runtime; - -pub mod genesis; - -// Substrate -use frame_support::traits::OnInitialize; - -// Cumulus -use emulated_integration_tests_common::{ - impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, - impls::Parachain, xcm_emulator::decl_test_parachains, AuraDigestProvider, -}; - -// CoretimeRococo Parachain declaration -decl_test_parachains! { - pub struct CoretimeRococo { - genesis = genesis::genesis(), - on_init = { - coretime_rococo_runtime::AuraExt::on_initialize(1); - }, - runtime = coretime_rococo_runtime, - core = { - XcmpMessageHandler: coretime_rococo_runtime::XcmpQueue, - LocationToAccountId: coretime_rococo_runtime::xcm_config::LocationToAccountId, - ParachainInfo: coretime_rococo_runtime::ParachainInfo, - MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - DigestProvider: AuraDigestProvider, - }, - pallets = { - PolkadotXcm: coretime_rococo_runtime::PolkadotXcm, - Balances: coretime_rococo_runtime::Balances, - Broker: coretime_rococo_runtime::Broker, - } - }, -} - -// CoretimeRococo implementation -impl_accounts_helpers_for_parachain!(CoretimeRococo); -impl_assert_events_helpers_for_parachain!(CoretimeRococo); diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-westend/src/lib.rs b/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-westend/src/lib.rs index 36a2e51d379b8..41949843b02be 100644 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-westend/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-westend/src/lib.rs @@ -23,7 +23,7 @@ use frame_support::traits::OnInitialize; // Cumulus use emulated_integration_tests_common::{ impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, - impls::Parachain, xcm_emulator::decl_test_parachains, AuraDigestProvider, + impls::Parachain, xcm_emulator::decl_test_parachains, }; // CoretimeWestend Parachain declaration @@ -39,7 +39,6 @@ decl_test_parachains! { LocationToAccountId: coretime_westend_runtime::xcm_config::LocationToAccountId, ParachainInfo: coretime_westend_runtime::ParachainInfo, MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - DigestProvider: AuraDigestProvider, }, pallets = { PolkadotXcm: coretime_westend_runtime::PolkadotXcm, diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-rococo/Cargo.toml deleted file mode 100644 index 5b83a4c9e0378..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-rococo/Cargo.toml +++ /dev/null @@ -1,23 +0,0 @@ -[package] -name = "people-rococo-emulated-chain" -version = "0.1.0" -authors.workspace = true -edition.workspace = true -license = "Apache-2.0" -description = "People Rococo emulated chain" -publish = false - -[lints] -workspace = true - -[dependencies] -# Substrate -frame-support = { workspace = true } -sp-core = { workspace = true } - -# Cumulus -cumulus-primitives-core = { workspace = true } -emulated-integration-tests-common = { workspace = true } -parachains-common = { workspace = true, default-features = true } -people-rococo-runtime = { workspace = true } -testnet-parachains-constants = { features = ["rococo"], workspace = true, default-features = true } diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-rococo/src/genesis.rs b/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-rococo/src/genesis.rs deleted file mode 100644 index 9772a64d23b34..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-rococo/src/genesis.rs +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Substrate -use sp_core::storage::Storage; - -// Cumulus -use cumulus_primitives_core::ParaId; -use emulated_integration_tests_common::{ - accounts, build_genesis_storage, collators, SAFE_XCM_VERSION, -}; -use parachains_common::Balance; - -pub const PARA_ID: u32 = 1004; -pub const ED: Balance = testnet_parachains_constants::rococo::currency::EXISTENTIAL_DEPOSIT; - -pub fn genesis() -> Storage { - let genesis_config = people_rococo_runtime::RuntimeGenesisConfig { - system: people_rococo_runtime::SystemConfig::default(), - balances: people_rococo_runtime::BalancesConfig { - balances: accounts::init_balances().iter().cloned().map(|k| (k, ED * 4096)).collect(), - ..Default::default() - }, - parachain_info: people_rococo_runtime::ParachainInfoConfig { - parachain_id: ParaId::from(PARA_ID), - ..Default::default() - }, - collator_selection: people_rococo_runtime::CollatorSelectionConfig { - invulnerables: collators::invulnerables().iter().cloned().map(|(acc, _)| acc).collect(), - candidacy_bond: ED * 16, - ..Default::default() - }, - session: people_rococo_runtime::SessionConfig { - keys: collators::invulnerables() - .into_iter() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - people_rococo_runtime::SessionKeys { aura }, // session keys - ) - }) - .collect(), - ..Default::default() - }, - polkadot_xcm: people_rococo_runtime::PolkadotXcmConfig { - safe_xcm_version: Some(SAFE_XCM_VERSION), - ..Default::default() - }, - ..Default::default() - }; - - build_genesis_storage( - &genesis_config, - people_rococo_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), - ) -} diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-rococo/src/lib.rs b/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-rococo/src/lib.rs deleted file mode 100644 index 8557511816fe0..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-rococo/src/lib.rs +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -pub use people_rococo_runtime; - -pub mod genesis; - -// Substrate -use frame_support::traits::OnInitialize; - -// Cumulus -use emulated_integration_tests_common::{ - impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, - impls::Parachain, xcm_emulator::decl_test_parachains, AuraDigestProvider, -}; - -// PeopleRococo Parachain declaration -decl_test_parachains! { - pub struct PeopleRococo { - genesis = genesis::genesis(), - on_init = { - people_rococo_runtime::AuraExt::on_initialize(1); - }, - runtime = people_rococo_runtime, - core = { - XcmpMessageHandler: people_rococo_runtime::XcmpQueue, - LocationToAccountId: people_rococo_runtime::xcm_config::LocationToAccountId, - ParachainInfo: people_rococo_runtime::ParachainInfo, - MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - DigestProvider: AuraDigestProvider, - }, - pallets = { - PolkadotXcm: people_rococo_runtime::PolkadotXcm, - Balances: people_rococo_runtime::Balances, - Identity: people_rococo_runtime::Identity, - IdentityMigrator: people_rococo_runtime::IdentityMigrator, - } - }, -} - -// PeopleRococo implementation -impl_accounts_helpers_for_parachain!(PeopleRococo); -impl_assert_events_helpers_for_parachain!(PeopleRococo); diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-westend/src/lib.rs b/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-westend/src/lib.rs index bb50b70c0b19d..904ce34d8c08a 100644 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-westend/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-westend/src/lib.rs @@ -22,7 +22,7 @@ use frame_support::traits::OnInitialize; // Cumulus use emulated_integration_tests_common::{ impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, - impls::Parachain, xcm_emulator::decl_test_parachains, AuraDigestProvider, + impls::Parachain, xcm_emulator::decl_test_parachains, }; // PeopleWestend Parachain declaration @@ -38,7 +38,6 @@ decl_test_parachains! { LocationToAccountId: people_westend_runtime::xcm_config::LocationToAccountId, ParachainInfo: people_westend_runtime::ParachainInfo, MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - DigestProvider: AuraDigestProvider, }, pallets = { PolkadotXcm: people_westend_runtime::PolkadotXcm, diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs b/cumulus/parachains/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs index d5a9f1b718990..02b5d860db269 100644 --- a/cumulus/parachains/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs @@ -31,7 +31,6 @@ use emulated_integration_tests_common::{ impl_xcm_helpers_for_parachain, impls::{NetworkId, Parachain}, xcm_emulator::decl_test_parachains, - AuraDigestProvider, }; // Polkadot @@ -54,7 +53,6 @@ decl_test_parachains! { LocationToAccountId: penpal_runtime::xcm_config::LocationToAccountId, ParachainInfo: penpal_runtime::ParachainInfo, MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - DigestProvider: AuraDigestProvider, }, pallets = { PolkadotXcm: penpal_runtime::PolkadotXcm, @@ -79,7 +77,6 @@ decl_test_parachains! { LocationToAccountId: penpal_runtime::xcm_config::LocationToAccountId, ParachainInfo: penpal_runtime::ParachainInfo, MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - DigestProvider: AuraDigestProvider, }, pallets = { PolkadotXcm: penpal_runtime::PolkadotXcm, diff --git a/cumulus/parachains/integration-tests/emulated/common/src/impls.rs b/cumulus/parachains/integration-tests/emulated/common/src/impls.rs index 09b0faf0fecce..273580096e21a 100644 --- a/cumulus/parachains/integration-tests/emulated/common/src/impls.rs +++ b/cumulus/parachains/integration-tests/emulated/common/src/impls.rs @@ -860,7 +860,7 @@ macro_rules! impl_foreign_assets_helpers_for_parachain { ]>::ForeignAssets::set_reserves( owner_origin, id.clone(), - reserves, + reserves.try_into().unwrap(), ) ); }); diff --git a/cumulus/parachains/integration-tests/emulated/common/src/lib.rs b/cumulus/parachains/integration-tests/emulated/common/src/lib.rs index 141853dce1e88..9d5ef9fb5eb16 100644 --- a/cumulus/parachains/integration-tests/emulated/common/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/common/src/lib.rs @@ -17,8 +17,6 @@ pub mod impls; pub mod macros; pub mod xcm_helpers; -use codec::Encode; -use cumulus_primitives_core::relay_chain::Slot; pub use xcm_emulator; pub use xcm_simulator; @@ -30,7 +28,7 @@ use sp_consensus_babe::AuthorityId as BabeId; use sp_consensus_beefy::ecdsa_crypto::AuthorityId as BeefyId; use sp_core::storage::Storage; use sp_keyring::{Ed25519Keyring, Sr25519Keyring}; -use sp_runtime::{traits::AccountIdConversion, BuildStorage, Digest, DigestItem}; +use sp_runtime::{traits::AccountIdConversion, BuildStorage}; // Polkadot use parachains_common::BlockNumber; @@ -40,8 +38,6 @@ use polkadot_runtime_parachains::configuration::HostConfiguration; // Cumulus use parachains_common::{AccountId, AuraId}; use polkadot_primitives::{AssignmentId, ValidatorId}; -use sp_runtime::traits::Convert; -use xcm_emulator::{RelayBlockNumber, AURA_ENGINE_ID}; pub const XCM_V2: u32 = 2; pub const XCM_V3: u32 = 3; @@ -67,17 +63,6 @@ pub const ASSET_HUB_ROCOCO_ID: u32 = 1000; pub const ASSET_HUB_WESTEND_ID: u32 = 1000; pub const ASSETS_PALLET_ID: u8 = 50; -pub struct AuraDigestProvider {} - -impl Convert<(BlockNumber, RelayBlockNumber), Digest> for AuraDigestProvider { - fn convert((_, relay_block_number): (BlockNumber, RelayBlockNumber)) -> Digest { - let slot: Slot = (relay_block_number as u64).into(); - let mut digest = Digest::default(); - digest.logs.push(DigestItem::PreRuntime(AURA_ENGINE_ID, slot.encode())); - digest - } -} - parameter_types! { pub PenpalALocation: xcm::v5::Location = xcm::v5::Location::new(1, [xcm::v5::Junction::Parachain(PENPAL_A_ID)]); diff --git a/cumulus/parachains/integration-tests/emulated/common/src/macros.rs b/cumulus/parachains/integration-tests/emulated/common/src/macros.rs index 9d0e595c47a3c..195e6bf7404a9 100644 --- a/cumulus/parachains/integration-tests/emulated/common/src/macros.rs +++ b/cumulus/parachains/integration-tests/emulated/common/src/macros.rs @@ -149,10 +149,19 @@ macro_rules! test_parachain_is_trusted_teleporter { // So this is just workaround, must be investigated <$sender_para as $crate::macros::TestExt>::execute_with(|| { }); + let receiver_total_issuance_before = <$receiver_para as $crate::macros::TestExt>::execute_with(|| { + <<$receiver_para as [<$receiver_para Pallet>]>::Balances + as $crate::macros::Currency<_>>::total_issuance() + }); // Send XCM message from Origin Parachain <$sender_para as $crate::macros::TestExt>::execute_with(|| { + let total_issuance_source_of_truth = <$sender_para as $crate::macros::Chain>::native_total_issuance_source_of_truth(); + let total_issuance_before = <<$sender_para as [<$sender_para Pallet>]>::Balances + as $crate::macros::Currency<_>>::total_issuance(); let origin = <$sender_para as $crate::macros::Chain>::RuntimeOrigin::signed(sender.clone()); $crate::macros::assert_ok!(<_ as $crate::macros::Dispatchable>::dispatch(call, origin)); + let total_issuance_after = <<$sender_para as [<$sender_para Pallet>]>::Balances + as $crate::macros::Currency<_>>::total_issuance(); type RuntimeEvent = <$sender_para as $crate::macros::Chain>::RuntimeEvent; @@ -166,10 +175,23 @@ macro_rules! test_parachain_is_trusted_teleporter { $crate::macros::cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { .. } ) => {}, RuntimeEvent::Balances( - $crate::macros::pallet_balances::Event::Burned { who: sender, amount } - ) => {}, + $crate::macros::pallet_balances::Event::Withdraw { who, .. } + ) => { + who: *who == sender, + }, ] ); + if total_issuance_source_of_truth { + assert_eq!( + total_issuance_after, total_issuance_before, + "Unexpected change in sender native token total issuance source of truth" + ); + } else { + assert_eq!( + total_issuance_after, total_issuance_before - $amount, + "Native token total issuance should have decreased on sender" + ); + } }); // Receive XCM message in Destination Parachain @@ -180,13 +202,28 @@ macro_rules! test_parachain_is_trusted_teleporter { $receiver_para, vec![ RuntimeEvent::Balances( - $crate::macros::pallet_balances::Event::Minted { who: receiver, .. } - ) => {}, + $crate::macros::pallet_balances::Event::Deposit { who, .. } + ) => { + who: *who == receiver, + }, RuntimeEvent::MessageQueue( $crate::macros::pallet_message_queue::Event::Processed { success: true, .. } ) => {}, ] ); + let receiver_total_issuance_after = <<$receiver_para as [<$receiver_para Pallet>]>::Balances + as $crate::macros::Currency<_>>::total_issuance(); + if <$receiver_para as $crate::macros::Chain>::native_total_issuance_source_of_truth() { + assert_eq!( + receiver_total_issuance_after, receiver_total_issuance_before, + "Unexpected change in receiver native token total issuance source of truth" + ); + } else { + assert!( + receiver_total_issuance_after > receiver_total_issuance_before, + "Native token total issuance should have increased on receiver" + ); + } }); // Check if balances are updated accordingly in Origin and Destination Parachains @@ -303,8 +340,10 @@ macro_rules! test_relay_is_trusted_teleporter { $crate::macros::pallet_xcm::Event::Attempted { outcome: $crate::macros::Outcome::Complete { .. } } ) => {}, RuntimeEvent::Balances( - $crate::macros::pallet_balances::Event::Burned { who: sender, amount } - ) => {}, + $crate::macros::pallet_balances::Event::Withdraw { who, .. } + ) => { + who: *who == sender, + }, RuntimeEvent::XcmPallet( $crate::macros::pallet_xcm::Event::Sent { .. } ) => {}, @@ -320,8 +359,10 @@ macro_rules! test_relay_is_trusted_teleporter { $receiver_para, vec![ RuntimeEvent::Balances( - $crate::macros::pallet_balances::Event::Minted { who: receiver, .. } - ) => {}, + $crate::macros::pallet_balances::Event::Deposit { who, .. } + ) => { + who: *who == receiver, + }, RuntimeEvent::MessageQueue( $crate::macros::pallet_message_queue::Event::Processed { success: true, .. } ) => {}, @@ -468,8 +509,10 @@ macro_rules! test_parachain_is_trusted_teleporter_for_relay { $crate::macros::pallet_xcm::Event::Attempted { outcome: $crate::macros::Outcome::Complete { .. } } ) => {}, RuntimeEvent::Balances( - $crate::macros::pallet_balances::Event::Burned { who: sender, amount } - ) => {}, + $crate::macros::pallet_balances::Event::Withdraw { who, .. } + ) => { + who: *who == sender, + }, RuntimeEvent::PolkadotXcm( $crate::macros::pallet_xcm::Event::Sent { .. } ) => {}, @@ -485,8 +528,10 @@ macro_rules! test_parachain_is_trusted_teleporter_for_relay { $receiver_relay, vec![ RuntimeEvent::Balances( - $crate::macros::pallet_balances::Event::Minted { who: receiver, .. } - ) => {}, + $crate::macros::pallet_balances::Event::Deposit { who, .. } + ) => { + who: *who == receiver, + }, RuntimeEvent::MessageQueue( $crate::macros::pallet_message_queue::Event::Processed { success: true, .. } ) => {}, @@ -511,31 +556,46 @@ macro_rules! test_parachain_is_trusted_teleporter_for_relay { #[macro_export] macro_rules! test_chain_can_claim_assets { - ( $sender_para:ty, $runtime_call:ty, $network_id:expr, $assets:expr, $amount:expr ) => { + ( $sender_para:ty, $xcm_config:ty, $network_id:expr, $asset:expr, $amount:expr ) => { $crate::macros::paste::paste! { + use xcm_executor::traits::TransactAsset; let sender = [<$sender_para Sender>]::get(); let origin = <$sender_para as $crate::macros::Chain>::RuntimeOrigin::signed(sender.clone()); // Receiver is the same as sender let beneficiary: $crate::macros::Location = $crate::macros::Junction::AccountId32 { network: Some($network_id), id: sender.clone().into() }.into(); - let versioned_assets: $crate::macros::VersionedAssets = $assets.clone().into(); + let assets: $crate::macros::Assets = $asset.clone().into(); + let versioned_assets: $crate::macros::VersionedAssets = assets.clone().into(); + let context = $crate::macros::XcmContext { origin: None, message_id: Default::default(), topic: None }; <$sender_para as $crate::macros::TestExt>::execute_with(|| { + // Mint some assets to trap. + let holdings = + <$xcm_config as xcm_executor::Config>::AssetTransactor::mint_asset( + &$asset, &context, + ).unwrap(); + let total_issuance_before = <<$sender_para as [<$sender_para Pallet>]>::Balances + as $crate::macros::Currency<_>>::total_issuance(); // Assets are trapped for whatever reason. // The possible reasons for this might differ from runtime to runtime, so here we just drop them directly. <<$sender_para as [<$sender_para Pallet>]>::PolkadotXcm as $crate::macros::DropAssets>::drop_assets( - &beneficiary, - $assets.clone().into(), - &$crate::macros::XcmContext { origin: None, message_id: [0u8; 32], topic: None }, + &beneficiary, holdings, &context, ); + // assert trapping assets does not alter total issuance + let total_issuance_after = <<$sender_para as [<$sender_para Pallet>]>::Balances + as $crate::macros::Currency<_>>::total_issuance(); + assert_eq!(total_issuance_before, total_issuance_after); type RuntimeEvent = <$sender_para as $crate::macros::Chain>::RuntimeEvent; $crate::macros::assert_expected_events!( $sender_para, vec![ RuntimeEvent::PolkadotXcm( - $crate::macros::pallet_xcm::Event::AssetsTrapped { origin: beneficiary, assets: versioned_assets, .. } - ) => {}, + $crate::macros::pallet_xcm::Event::AssetsTrapped { origin, assets, .. } + ) => { + origin: *origin == beneficiary, + assets: *assets == versioned_assets, + }, ] ); @@ -567,8 +627,11 @@ macro_rules! test_chain_can_claim_assets { $sender_para, vec![ RuntimeEvent::PolkadotXcm( - $crate::macros::pallet_xcm::Event::AssetsClaimed { origin: beneficiary, assets: versioned_assets, .. } - ) => {}, + $crate::macros::pallet_xcm::Event::AssetsClaimed { origin, assets, .. } + ) => { + origin: *origin == beneficiary, + assets: *assets == versioned_assets, + }, ] ); @@ -577,6 +640,11 @@ macro_rules! test_chain_can_claim_assets { as $crate::macros::Currency<_>>::free_balance(&sender); assert_eq!(balance_after, balance_before + $amount); + // assert claiming trapped assets does not alter total issuance + let total_issuance_after = <<$sender_para as [<$sender_para Pallet>]>::Balances + as $crate::macros::Currency<_>>::total_issuance(); + assert_eq!(total_issuance_before, total_issuance_after); + // Claiming the assets again doesn't work. assert!(<$sender_para as [<$sender_para Pallet>]>::PolkadotXcm::claim_assets( origin.clone(), @@ -588,11 +656,15 @@ macro_rules! test_chain_can_claim_assets { as $crate::macros::Currency<_>>::free_balance(&sender); assert_eq!(balance, balance_after); + let holdings = + <$xcm_config as xcm_executor::Config>::AssetTransactor::mint_asset( + &$asset, &context, + ).unwrap(); + let total_issuance_before = <<$sender_para as [<$sender_para Pallet>]>::Balances + as $crate::macros::Currency<_>>::total_issuance(); // You can also claim assets and send them to a different account. <<$sender_para as [<$sender_para Pallet>]>::PolkadotXcm as $crate::macros::DropAssets>::drop_assets( - &beneficiary, - $assets.clone().into(), - &$crate::macros::XcmContext { origin: None, message_id: [0u8; 32], topic: None }, + &beneficiary, holdings, &context, ); let receiver = [<$sender_para Receiver>]::get(); let other_beneficiary: $crate::macros::Location = @@ -607,6 +679,10 @@ macro_rules! test_chain_can_claim_assets { let balance_after = <<$sender_para as [<$sender_para Pallet>]>::Balances as $crate::macros::Currency<_>>::free_balance(&receiver); assert_eq!(balance_after, balance_before + $amount); + // assert claiming trapped assets does not alter total issuance + let total_issuance_after = <<$sender_para as [<$sender_para Pallet>]>::Balances + as $crate::macros::Currency<_>>::total_issuance(); + assert_eq!(total_issuance_before, total_issuance_after); }); } }; diff --git a/cumulus/parachains/integration-tests/emulated/networks/rococo-system/Cargo.toml b/cumulus/parachains/integration-tests/emulated/networks/rococo-system/Cargo.toml deleted file mode 100644 index 2f8889e481626..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/networks/rococo-system/Cargo.toml +++ /dev/null @@ -1,21 +0,0 @@ -[package] -name = "rococo-system-emulated-network" -version = "0.0.0" -authors.workspace = true -edition.workspace = true -license = "Apache-2.0" -description = "Rococo System emulated network" -publish = false - -[lints] -workspace = true - -[dependencies] -# Cumulus -asset-hub-rococo-emulated-chain = { workspace = true } -bridge-hub-rococo-emulated-chain = { workspace = true } -coretime-rococo-emulated-chain = { workspace = true } -emulated-integration-tests-common = { workspace = true } -penpal-emulated-chain = { workspace = true } -people-rococo-emulated-chain = { workspace = true } -rococo-emulated-chain = { workspace = true } diff --git a/cumulus/parachains/integration-tests/emulated/networks/rococo-system/src/lib.rs b/cumulus/parachains/integration-tests/emulated/networks/rococo-system/src/lib.rs deleted file mode 100644 index 53808bc5a8010..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/networks/rococo-system/src/lib.rs +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub use asset_hub_rococo_emulated_chain; -pub use bridge_hub_rococo_emulated_chain; -pub use coretime_rococo_emulated_chain; -pub use penpal_emulated_chain; -pub use people_rococo_emulated_chain; -pub use rococo_emulated_chain; - -use asset_hub_rococo_emulated_chain::AssetHubRococo; -use bridge_hub_rococo_emulated_chain::BridgeHubRococo; -use coretime_rococo_emulated_chain::CoretimeRococo; -use penpal_emulated_chain::{PenpalA, PenpalB}; -use people_rococo_emulated_chain::PeopleRococo; -use rococo_emulated_chain::Rococo; - -// Cumulus -use emulated_integration_tests_common::{ - accounts::{ALICE, BOB}, - xcm_emulator::{decl_test_networks, decl_test_sender_receiver_accounts_parameter_types}, -}; - -decl_test_networks! { - pub struct RococoMockNet { - relay_chain = Rococo, - parachains = vec![ - AssetHubRococo, - BridgeHubRococo, - CoretimeRococo, - PenpalA, - PenpalB, - PeopleRococo, - ], - bridge = () - }, -} - -decl_test_sender_receiver_accounts_parameter_types! { - RococoRelay { sender: ALICE, receiver: BOB }, - AssetHubRococoPara { sender: ALICE, receiver: BOB }, - BridgeHubRococoPara { sender: ALICE, receiver: BOB }, - CoretimeRococoPara { sender: ALICE, receiver: BOB }, - PenpalAPara { sender: ALICE, receiver: BOB }, - PenpalBPara { sender: ALICE, receiver: BOB }, - PeopleRococoPara { sender: ALICE, receiver: BOB } -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/Cargo.toml deleted file mode 100644 index 3e0161aaa8f8f..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/Cargo.toml +++ /dev/null @@ -1,43 +0,0 @@ -[package] -name = "asset-hub-rococo-integration-tests" -version = "1.0.0" -authors.workspace = true -edition.workspace = true -license = "Apache-2.0" -description = "Asset Hub Rococo runtime integration tests with xcm-emulator" -publish = false - -[lints] -workspace = true - -[dependencies] -assert_matches = { workspace = true } -codec = { workspace = true } - -# Substrate -frame-support = { workspace = true } -frame-system = { workspace = true } -pallet-asset-conversion = { workspace = true } -pallet-asset-rewards = { workspace = true } -pallet-assets = { workspace = true } -pallet-balances = { workspace = true } -pallet-message-queue = { workspace = true } -pallet-treasury = { workspace = true } -pallet-utility = { workspace = true } -sp-core = { workspace = true } -sp-runtime = { workspace = true } - -# Polkadot -pallet-xcm = { workspace = true } -polkadot-runtime-common = { workspace = true, default-features = true } -rococo-runtime-constants = { workspace = true, default-features = true } -xcm = { workspace = true } -xcm-executor = { workspace = true } -xcm-runtime-apis = { workspace = true, default-features = true } - -# Cumulus -asset-test-utils = { workspace = true, default-features = true } -cumulus-pallet-parachain-system = { workspace = true } -emulated-integration-tests-common = { workspace = true } -parachains-common = { workspace = true, default-features = true } -rococo-system-emulated-network = { workspace = true } diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/lib.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/lib.rs deleted file mode 100644 index 48fc23b268c4c..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/lib.rs +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#[cfg(test)] -mod imports { - pub(crate) use codec::Encode; - - // Substrate - pub(crate) use frame_support::{ - assert_err, assert_ok, - pallet_prelude::Weight, - sp_runtime::{DispatchError, DispatchResult, ModuleError}, - traits::fungibles::Inspect, - }; - - // Polkadot - pub(crate) use xcm::{ - latest::{ROCOCO_GENESIS_HASH, WESTEND_GENESIS_HASH}, - prelude::{AccountId32 as AccountId32Junction, *}, - }; - pub(crate) use xcm_executor::traits::TransferType; - - // Cumulus - pub(crate) use asset_test_utils::xcm_helpers; - pub(crate) use emulated_integration_tests_common::{ - accounts::DUMMY_EMPTY, - test_parachain_is_trusted_teleporter, test_parachain_is_trusted_teleporter_for_relay, - test_relay_is_trusted_teleporter, test_xcm_fee_querying_apis_work_for_asset_hub, - xcm_emulator::{ - assert_expected_events, bx, Chain, Parachain as Para, RelayChain as Relay, Test, - TestArgs, TestContext, TestExt, - }, - xcm_helpers::{ - fee_asset, get_amount_from_versioned_assets, non_fee_asset, xcm_transact_paid_execution, - }, - PenpalATeleportableAssetLocation, ASSETS_PALLET_ID, RESERVABLE_ASSET_ID, XCM_V3, - }; - pub(crate) use parachains_common::Balance; - pub(crate) use rococo_system_emulated_network::{ - asset_hub_rococo_emulated_chain::{ - asset_hub_rococo_runtime::{ - self, - xcm_config::{ - self as ahr_xcm_config, TokenLocation as RelayLocation, TreasuryAccount, - XcmConfig as AssetHubRococoXcmConfig, - }, - AssetConversionOrigin as AssetHubRococoAssetConversionOrigin, - ExistentialDeposit as AssetHubRococoExistentialDeposit, - }, - genesis::{AssetHubRococoAssetOwner, ED as ASSET_HUB_ROCOCO_ED}, - AssetHubRococoParaPallet as AssetHubRococoPallet, - }, - penpal_emulated_chain::{ - penpal_runtime::xcm_config::{ - CustomizableAssetFromSystemAssetHub as PenpalCustomizableAssetFromSystemAssetHub, - LocalReservableFromAssetHub as PenpalLocalReservableFromAssetHub, - LocalTeleportableToAssetHub as PenpalLocalTeleportableToAssetHub, - UsdtFromAssetHub as PenpalUsdtFromAssetHub, - }, - PenpalAParaPallet as PenpalAPallet, PenpalAssetOwner, - PenpalBParaPallet as PenpalBPallet, ED as PENPAL_ED, - }, - rococo_emulated_chain::{ - genesis::ED as ROCOCO_ED, - rococo_runtime::{ - governance as rococo_governance, - governance::pallet_custom_origins::Origin::Treasurer, - xcm_config::UniversalLocation as RococoUniversalLocation, Dmp, - OriginCaller as RococoOriginCaller, - }, - RococoRelayPallet as RococoPallet, - }, - AssetHubRococoPara as AssetHubRococo, AssetHubRococoParaReceiver as AssetHubRococoReceiver, - AssetHubRococoParaSender as AssetHubRococoSender, BridgeHubRococoPara as BridgeHubRococo, - BridgeHubRococoParaReceiver as BridgeHubRococoReceiver, PenpalAPara as PenpalA, - PenpalAParaReceiver as PenpalAReceiver, PenpalAParaSender as PenpalASender, - PenpalBPara as PenpalB, PenpalBParaReceiver as PenpalBReceiver, RococoRelay as Rococo, - RococoRelayReceiver as RococoReceiver, RococoRelaySender as RococoSender, - }; - - pub(crate) const ASSET_ID: u32 = 3; - pub(crate) const ASSET_MIN_BALANCE: u128 = 1000; - - pub(crate) type RelayToParaTest = Test; - pub(crate) type ParaToRelayTest = Test; - pub(crate) type SystemParaToRelayTest = Test; - pub(crate) type SystemParaToParaTest = Test; - pub(crate) type ParaToSystemParaTest = Test; - pub(crate) type ParaToParaThroughRelayTest = Test; - pub(crate) type ParaToParaThroughAHTest = Test; - pub(crate) type RelayToParaThroughAHTest = Test; -} - -#[cfg(test)] -mod tests; diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/claim_assets.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/claim_assets.rs deleted file mode 100644 index c4d9ef15e4614..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/claim_assets.rs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Tests related to claiming assets trapped during XCM execution. - -use crate::imports::*; - -use emulated_integration_tests_common::test_chain_can_claim_assets; - -#[test] -fn assets_can_be_claimed() { - let amount = AssetHubRococoExistentialDeposit::get(); - let assets: Assets = (Parent, amount).into(); - - test_chain_can_claim_assets!( - AssetHubRococo, - RuntimeCall, - NetworkId::ByGenesis(ROCOCO_GENESIS_HASH), - assets, - amount - ); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/hybrid_transfers.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/hybrid_transfers.rs deleted file mode 100644 index a791c935da168..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/hybrid_transfers.rs +++ /dev/null @@ -1,824 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use super::reserve_transfer::*; -use crate::{ - imports::*, - tests::teleport::do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using_xt, -}; - -fn para_to_para_assethub_hop_assertions(t: ParaToParaThroughAHTest) { - type RuntimeEvent = ::RuntimeEvent; - let sov_penpal_a_on_ah = AssetHubRococo::sovereign_account_id_of( - AssetHubRococo::sibling_location_of(PenpalA::para_id()), - ); - let sov_penpal_b_on_ah = AssetHubRococo::sovereign_account_id_of( - AssetHubRococo::sibling_location_of(PenpalB::para_id()), - ); - - assert_expected_events!( - AssetHubRococo, - vec![ - // Withdrawn from sender parachain SA - RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } - ) => { - who: *who == sov_penpal_a_on_ah, - amount: *amount == t.args.amount, - }, - // Deposited to receiver parachain SA - RuntimeEvent::Balances( - pallet_balances::Event::Minted { who, .. } - ) => { - who: *who == sov_penpal_b_on_ah, - }, - RuntimeEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - ] - ); -} - -fn ah_to_para_transfer_assets(t: SystemParaToParaTest) -> DispatchResult { - let fee_idx = t.args.fee_asset_item as usize; - let fee: Asset = t.args.assets.inner().get(fee_idx).cloned().unwrap(); - let custom_xcm_on_dest = Xcm::<()>(vec![DepositAsset { - assets: Wild(AllCounted(t.args.assets.len() as u32)), - beneficiary: t.args.beneficiary, - }]); - ::PolkadotXcm::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.assets.into()), - bx!(TransferType::LocalReserve), - bx!(fee.id.into()), - bx!(TransferType::LocalReserve), - bx!(VersionedXcm::from(custom_xcm_on_dest)), - t.args.weight_limit, - ) -} - -fn para_to_ah_transfer_assets(t: ParaToSystemParaTest) -> DispatchResult { - let fee_idx = t.args.fee_asset_item as usize; - let fee: Asset = t.args.assets.inner().get(fee_idx).cloned().unwrap(); - let custom_xcm_on_dest = Xcm::<()>(vec![DepositAsset { - assets: Wild(AllCounted(t.args.assets.len() as u32)), - beneficiary: t.args.beneficiary, - }]); - ::PolkadotXcm::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.assets.into()), - bx!(TransferType::DestinationReserve), - bx!(fee.id.into()), - bx!(TransferType::DestinationReserve), - bx!(VersionedXcm::from(custom_xcm_on_dest)), - t.args.weight_limit, - ) -} - -fn para_to_para_transfer_assets_through_ah(t: ParaToParaThroughAHTest) -> DispatchResult { - let fee_idx = t.args.fee_asset_item as usize; - let fee: Asset = t.args.assets.inner().get(fee_idx).cloned().unwrap(); - let asset_hub_location: Location = PenpalA::sibling_location_of(AssetHubRococo::para_id()); - let custom_xcm_on_dest = Xcm::<()>(vec![DepositAsset { - assets: Wild(AllCounted(t.args.assets.len() as u32)), - beneficiary: t.args.beneficiary, - }]); - ::PolkadotXcm::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.assets.into()), - bx!(TransferType::RemoteReserve(asset_hub_location.clone().into())), - bx!(fee.id.into()), - bx!(TransferType::RemoteReserve(asset_hub_location.into())), - bx!(VersionedXcm::from(custom_xcm_on_dest)), - t.args.weight_limit, - ) -} - -fn para_to_asset_hub_teleport_foreign_assets(t: ParaToSystemParaTest) -> DispatchResult { - let fee_idx = t.args.fee_asset_item as usize; - let fee: Asset = t.args.assets.inner().get(fee_idx).cloned().unwrap(); - let custom_xcm_on_dest = Xcm::<()>(vec![DepositAsset { - assets: Wild(AllCounted(t.args.assets.len() as u32)), - beneficiary: t.args.beneficiary, - }]); - ::PolkadotXcm::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.assets.into()), - bx!(TransferType::Teleport), - bx!(fee.id.into()), - bx!(TransferType::DestinationReserve), - bx!(VersionedXcm::from(custom_xcm_on_dest)), - t.args.weight_limit, - ) -} - -fn asset_hub_to_para_teleport_foreign_assets(t: SystemParaToParaTest) -> DispatchResult { - let fee_idx = t.args.fee_asset_item as usize; - let fee: Asset = t.args.assets.inner().get(fee_idx).cloned().unwrap(); - let custom_xcm_on_dest = Xcm::<()>(vec![DepositAsset { - assets: Wild(AllCounted(t.args.assets.len() as u32)), - beneficiary: t.args.beneficiary, - }]); - ::PolkadotXcm::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.assets.into()), - bx!(TransferType::Teleport), - bx!(fee.id.into()), - bx!(TransferType::LocalReserve), - bx!(VersionedXcm::from(custom_xcm_on_dest)), - t.args.weight_limit, - ) -} - -// =========================================================================== -// ======= Transfer - Native + Bridged Assets - AssetHub->Parachain ========== -// =========================================================================== -/// Transfers of native asset plus bridged asset from AssetHub to some Parachain -/// while paying fees using native asset. -#[test] -fn transfer_foreign_assets_from_asset_hub_to_para() { - let destination = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let sender = AssetHubRococoSender::get(); - let native_amount_to_send: Balance = ASSET_HUB_ROCOCO_ED * 10000; - let native_asset_location = RelayLocation::get(); - let receiver = PenpalAReceiver::get(); - let assets_owner = PenpalAssetOwner::get(); - // Foreign asset used: bridged WND - let foreign_amount_to_send = ASSET_HUB_ROCOCO_ED * 10_000_000; - let wnd_at_rococo_parachains = - Location::new(2, [Junction::GlobalConsensus(NetworkId::ByGenesis(WESTEND_GENESIS_HASH))]); - - // Configure destination chain to trust AH as reserve of WND - PenpalA::execute_with(|| { - assert_ok!(::System::set_storage( - ::RuntimeOrigin::root(), - vec![( - PenpalCustomizableAssetFromSystemAssetHub::key().to_vec(), - Location::new(2, [GlobalConsensus(ByGenesis(WESTEND_GENESIS_HASH))]).encode(), - )], - )); - }); - PenpalA::force_create_foreign_asset( - wnd_at_rococo_parachains.clone(), - assets_owner.clone(), - false, - ASSET_MIN_BALANCE, - vec![], - ); - AssetHubRococo::force_create_foreign_asset( - wnd_at_rococo_parachains.clone().try_into().unwrap(), - assets_owner.clone(), - false, - ASSET_MIN_BALANCE, - vec![], - ); - AssetHubRococo::mint_foreign_asset( - ::RuntimeOrigin::signed(assets_owner), - wnd_at_rococo_parachains.clone().try_into().unwrap(), - sender.clone(), - foreign_amount_to_send * 2, - ); - - // Assets to send - let assets: Vec = vec![ - (Parent, native_amount_to_send).into(), - (wnd_at_rococo_parachains.clone(), foreign_amount_to_send).into(), - ]; - let fee_asset_id = AssetId(Parent.into()); - let fee_asset_item = assets.iter().position(|a| a.id == fee_asset_id).unwrap() as u32; - - // Init Test - let test_args = TestContext { - sender: sender.clone(), - receiver: receiver.clone(), - args: TestArgs::new_para( - destination.clone(), - receiver.clone(), - native_amount_to_send, - assets.into(), - None, - fee_asset_item, - ), - }; - let mut test = SystemParaToParaTest::new(test_args); - - // Query initial balances - let sender_balance_before = test.sender.balance; - let sender_wnds_before = AssetHubRococo::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - wnd_at_rococo_parachains.clone().try_into().unwrap(), - &sender, - ) - }); - let receiver_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(native_asset_location.clone(), &receiver) - }); - let receiver_wnds_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(wnd_at_rococo_parachains.clone(), &receiver) - }); - - // Set assertions and dispatchables - test.set_assertion::(system_para_to_para_sender_assertions); - test.set_assertion::(system_para_to_para_receiver_assertions); - test.set_dispatchable::(ah_to_para_transfer_assets); - test.assert(); - - // Query final balances - let sender_balance_after = test.sender.balance; - let sender_wnds_after = AssetHubRococo::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - wnd_at_rococo_parachains.clone().try_into().unwrap(), - &sender, - ) - }); - let receiver_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(native_asset_location, &receiver) - }); - let receiver_wnds_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(wnd_at_rococo_parachains, &receiver) - }); - - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_balance_after < sender_balance_before - native_amount_to_send); - // Sender's balance is reduced by foreign amount sent - assert_eq!(sender_wnds_after, sender_wnds_before - foreign_amount_to_send); - // Receiver's assets is increased - assert!(receiver_assets_after > receiver_assets_before); - // Receiver's assets increased by `amount_to_send - delivery_fees - bought_execution`; - // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but - // should be non-zero - assert!(receiver_assets_after < receiver_assets_before + native_amount_to_send); - // Receiver's balance is increased by foreign amount sent - assert_eq!(receiver_wnds_after, receiver_wnds_before + foreign_amount_to_send); -} - -/// Reserve Transfers of native asset from Parachain to System Parachain should work -// =========================================================================== -// ======= Transfer - Native + Bridged Assets - Parachain->AssetHub ========== -// =========================================================================== -/// Transfers of native asset plus bridged asset from some Parachain to AssetHub -/// while paying fees using native asset. -#[test] -fn transfer_foreign_assets_from_para_to_asset_hub() { - // Init values for Parachain - let destination = PenpalA::sibling_location_of(AssetHubRococo::para_id()); - let sender = PenpalASender::get(); - let native_amount_to_send: Balance = ASSET_HUB_ROCOCO_ED * 10000; - let native_asset_location = RelayLocation::get(); - let assets_owner = PenpalAssetOwner::get(); - - // Foreign asset used: bridged WND - let foreign_amount_to_send = ASSET_HUB_ROCOCO_ED * 10_000_000; - let wnd_at_rococo_parachains = - Location::new(2, [Junction::GlobalConsensus(NetworkId::ByGenesis(WESTEND_GENESIS_HASH))]); - - // Configure destination chain to trust AH as reserve of WND - PenpalA::execute_with(|| { - assert_ok!(::System::set_storage( - ::RuntimeOrigin::root(), - vec![( - PenpalCustomizableAssetFromSystemAssetHub::key().to_vec(), - Location::new(2, [GlobalConsensus(ByGenesis(WESTEND_GENESIS_HASH))]).encode(), - )], - )); - }); - PenpalA::force_create_foreign_asset( - wnd_at_rococo_parachains.clone(), - assets_owner.clone(), - false, - ASSET_MIN_BALANCE, - vec![], - ); - AssetHubRococo::force_create_foreign_asset( - wnd_at_rococo_parachains.clone().try_into().unwrap(), - assets_owner.clone(), - false, - ASSET_MIN_BALANCE, - vec![], - ); - - // fund Parachain's sender account - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(assets_owner.clone()), - native_asset_location.clone(), - sender.clone(), - native_amount_to_send * 2, - ); - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(assets_owner.clone()), - wnd_at_rococo_parachains.clone(), - sender.clone(), - foreign_amount_to_send * 2, - ); - - // Init values for System Parachain - let receiver = AssetHubRococoReceiver::get(); - let penpal_location_as_seen_by_ahr = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let sov_penpal_on_ahr = AssetHubRococo::sovereign_account_id_of(penpal_location_as_seen_by_ahr); - - // fund Parachain's SA on AssetHub with the assets held in reserve - AssetHubRococo::fund_accounts(vec![( - sov_penpal_on_ahr.clone().into(), - native_amount_to_send * 2, - )]); - AssetHubRococo::mint_foreign_asset( - ::RuntimeOrigin::signed(assets_owner), - wnd_at_rococo_parachains.clone().try_into().unwrap(), - sov_penpal_on_ahr, - foreign_amount_to_send * 2, - ); - - // Assets to send - let assets: Vec = vec![ - (Parent, native_amount_to_send).into(), - (wnd_at_rococo_parachains.clone(), foreign_amount_to_send).into(), - ]; - let fee_asset_id = AssetId(Parent.into()); - let fee_asset_item = assets.iter().position(|a| a.id == fee_asset_id).unwrap() as u32; - - // Init Test - let test_args = TestContext { - sender: sender.clone(), - receiver: receiver.clone(), - args: TestArgs::new_para( - destination.clone(), - receiver.clone(), - native_amount_to_send, - assets.into(), - None, - fee_asset_item, - ), - }; - let mut test = ParaToSystemParaTest::new(test_args); - - // Query initial balances - let sender_native_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(native_asset_location.clone(), &sender) - }); - let sender_wnds_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(wnd_at_rococo_parachains.clone(), &sender) - }); - let receiver_native_before = test.receiver.balance; - let receiver_wnds_before = AssetHubRococo::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - wnd_at_rococo_parachains.clone().try_into().unwrap(), - &receiver, - ) - }); - - // Set assertions and dispatchables - test.set_assertion::(para_to_system_para_sender_assertions); - test.set_assertion::(para_to_system_para_receiver_assertions); - test.set_dispatchable::(para_to_ah_transfer_assets); - test.assert(); - - // Query final balances - let sender_native_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(native_asset_location, &sender) - }); - let sender_wnds_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(wnd_at_rococo_parachains.clone(), &sender) - }); - let receiver_native_after = test.receiver.balance; - let receiver_wnds_after = AssetHubRococo::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - wnd_at_rococo_parachains.try_into().unwrap(), - &receiver, - ) - }); - - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_native_after < sender_native_before - native_amount_to_send); - // Sender's balance is reduced by foreign amount sent - assert_eq!(sender_wnds_after, sender_wnds_before - foreign_amount_to_send); - // Receiver's balance is increased - assert!(receiver_native_after > receiver_native_before); - // Receiver's balance increased by `amount_to_send - delivery_fees - bought_execution`; - // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but - // should be non-zero - assert!(receiver_native_after < receiver_native_before + native_amount_to_send); - // Receiver's balance is increased by foreign amount sent - assert_eq!(receiver_wnds_after, receiver_wnds_before + foreign_amount_to_send); -} - -// ============================================================================== -// ===== Transfer - Native + Bridged Assets - Parachain->AssetHub->Parachain ==== -// ============================================================================== -/// Transfers of native asset plus bridged asset from Parachain to Parachain -/// (through AssetHub reserve) with fees paid using native asset. -#[test] -fn transfer_foreign_assets_from_para_to_para_through_asset_hub() { - // Init values for Parachain Origin - let destination = PenpalA::sibling_location_of(PenpalB::para_id()); - let sender = PenpalASender::get(); - let roc_to_send: Balance = ROCOCO_ED * 10000; - let assets_owner = PenpalAssetOwner::get(); - let roc_location = RelayLocation::get(); - let sender_as_seen_by_ah = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let sov_of_sender_on_ah = AssetHubRococo::sovereign_account_id_of(sender_as_seen_by_ah); - let receiver_as_seen_by_ah = AssetHubRococo::sibling_location_of(PenpalB::para_id()); - let sov_of_receiver_on_ah = AssetHubRococo::sovereign_account_id_of(receiver_as_seen_by_ah); - let wnd_to_send = ASSET_HUB_ROCOCO_ED * 10_000_000; - - // Configure source and destination chains to trust AH as reserve of WND - PenpalA::execute_with(|| { - assert_ok!(::System::set_storage( - ::RuntimeOrigin::root(), - vec![( - PenpalCustomizableAssetFromSystemAssetHub::key().to_vec(), - Location::new(2, [GlobalConsensus(ByGenesis(WESTEND_GENESIS_HASH))]).encode(), - )], - )); - }); - PenpalB::execute_with(|| { - assert_ok!(::System::set_storage( - ::RuntimeOrigin::root(), - vec![( - PenpalCustomizableAssetFromSystemAssetHub::key().to_vec(), - Location::new(2, [GlobalConsensus(ByGenesis(WESTEND_GENESIS_HASH))]).encode(), - )], - )); - }); - - // Register WND as foreign asset and transfer it around the Rococo ecosystem - let wnd_at_rococo_parachains = - Location::new(2, [Junction::GlobalConsensus(NetworkId::ByGenesis(WESTEND_GENESIS_HASH))]); - AssetHubRococo::force_create_foreign_asset( - wnd_at_rococo_parachains.clone().try_into().unwrap(), - assets_owner.clone(), - false, - ASSET_MIN_BALANCE, - vec![], - ); - PenpalA::force_create_foreign_asset( - wnd_at_rococo_parachains.clone(), - assets_owner.clone(), - false, - ASSET_MIN_BALANCE, - vec![], - ); - PenpalB::force_create_foreign_asset( - wnd_at_rococo_parachains.clone(), - assets_owner.clone(), - false, - ASSET_MIN_BALANCE, - vec![], - ); - - // fund Parachain's sender account - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(assets_owner.clone()), - roc_location.clone(), - sender.clone(), - roc_to_send * 2, - ); - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(assets_owner.clone()), - wnd_at_rococo_parachains.clone(), - sender.clone(), - wnd_to_send * 2, - ); - // fund the Parachain Origin's SA on Asset Hub with the assets held in reserve - AssetHubRococo::fund_accounts(vec![(sov_of_sender_on_ah.clone().into(), roc_to_send * 2)]); - AssetHubRococo::mint_foreign_asset( - ::RuntimeOrigin::signed(assets_owner), - wnd_at_rococo_parachains.clone().try_into().unwrap(), - sov_of_sender_on_ah.clone(), - wnd_to_send * 2, - ); - - // Init values for Parachain Destination - let receiver = PenpalBReceiver::get(); - - // Assets to send - let assets: Vec = vec![ - (roc_location.clone(), roc_to_send).into(), - (wnd_at_rococo_parachains.clone(), wnd_to_send).into(), - ]; - let fee_asset_id: AssetId = roc_location.clone().into(); - let fee_asset_item = assets.iter().position(|a| a.id == fee_asset_id).unwrap() as u32; - - // Init Test - let test_args = TestContext { - sender: sender.clone(), - receiver: receiver.clone(), - args: TestArgs::new_para( - destination, - receiver.clone(), - roc_to_send, - assets.into(), - None, - fee_asset_item, - ), - }; - let mut test = ParaToParaThroughAHTest::new(test_args); - - // Query initial balances - let sender_rocs_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(roc_location.clone(), &sender) - }); - let sender_wnds_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(wnd_at_rococo_parachains.clone(), &sender) - }); - let rocs_in_sender_reserve_on_ahr_before = - ::account_data_of(sov_of_sender_on_ah.clone()).free; - let wnds_in_sender_reserve_on_ahr_before = AssetHubRococo::execute_with(|| { - type Assets = ::ForeignAssets; - >::balance( - wnd_at_rococo_parachains.clone().try_into().unwrap(), - &sov_of_sender_on_ah, - ) - }); - let rocs_in_receiver_reserve_on_ahr_before = - ::account_data_of(sov_of_receiver_on_ah.clone()).free; - let wnds_in_receiver_reserve_on_ahr_before = AssetHubRococo::execute_with(|| { - type Assets = ::ForeignAssets; - >::balance( - wnd_at_rococo_parachains.clone().try_into().unwrap(), - &sov_of_receiver_on_ah, - ) - }); - let receiver_rocs_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(roc_location.clone(), &receiver) - }); - let receiver_wnds_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(wnd_at_rococo_parachains.clone(), &receiver) - }); - - // Set assertions and dispatchables - test.set_assertion::(para_to_para_through_hop_sender_assertions); - test.set_assertion::(para_to_para_assethub_hop_assertions); - test.set_assertion::(para_to_para_through_hop_receiver_assertions); - test.set_dispatchable::(para_to_para_transfer_assets_through_ah); - test.assert(); - - // Query final balances - let sender_rocs_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(roc_location.clone(), &sender) - }); - let sender_wnds_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(wnd_at_rococo_parachains.clone(), &sender) - }); - let wnds_in_sender_reserve_on_ahr_after = AssetHubRococo::execute_with(|| { - type Assets = ::ForeignAssets; - >::balance( - wnd_at_rococo_parachains.clone().try_into().unwrap(), - &sov_of_sender_on_ah, - ) - }); - let rocs_in_sender_reserve_on_ahr_after = - ::account_data_of(sov_of_sender_on_ah).free; - let wnds_in_receiver_reserve_on_ahr_after = AssetHubRococo::execute_with(|| { - type Assets = ::ForeignAssets; - >::balance( - wnd_at_rococo_parachains.clone().try_into().unwrap(), - &sov_of_receiver_on_ah, - ) - }); - let rocs_in_receiver_reserve_on_ahr_after = - ::account_data_of(sov_of_receiver_on_ah).free; - let receiver_rocs_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(roc_location, &receiver) - }); - let receiver_wnds_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(wnd_at_rococo_parachains, &receiver) - }); - - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_rocs_after < sender_rocs_before - roc_to_send); - assert_eq!(sender_wnds_after, sender_wnds_before - wnd_to_send); - // Sovereign accounts on reserve are changed accordingly - assert_eq!( - rocs_in_sender_reserve_on_ahr_after, - rocs_in_sender_reserve_on_ahr_before - roc_to_send - ); - assert_eq!( - wnds_in_sender_reserve_on_ahr_after, - wnds_in_sender_reserve_on_ahr_before - wnd_to_send - ); - assert!(rocs_in_receiver_reserve_on_ahr_after > rocs_in_receiver_reserve_on_ahr_before); - assert_eq!( - wnds_in_receiver_reserve_on_ahr_after, - wnds_in_receiver_reserve_on_ahr_before + wnd_to_send - ); - // Receiver's balance is increased - assert!(receiver_rocs_after > receiver_rocs_before); - assert_eq!(receiver_wnds_after, receiver_wnds_before + wnd_to_send); -} - -// ============================================================================================== -// ==== Bidirectional Transfer - Native + Teleportable Foreign Assets - Parachain<->AssetHub ==== -// ============================================================================================== -/// Transfers of native asset plus teleportable foreign asset from Parachain to AssetHub and back -/// with fees paid using native asset. -#[test] -fn bidirectional_teleport_foreign_asset_between_para_and_asset_hub_using_explicit_transfer_types() { - do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using_xt( - para_to_asset_hub_teleport_foreign_assets, - asset_hub_to_para_teleport_foreign_assets, - ); -} - -// =============================================================== -// ===== Transfer - Native Asset - Relay->AssetHub->Parachain ==== -// =============================================================== -/// Transfers of native asset Relay to Parachain (using AssetHub reserve). Parachains want to avoid -/// managing SAs on all system chains, thus want all their DOT-in-reserve to be held in their -/// Sovereign Account on Asset Hub. -#[test] -fn transfer_native_asset_from_relay_to_para_through_asset_hub() { - // Init values for Relay - let destination = Rococo::child_location_of(PenpalA::para_id()); - let sender = RococoSender::get(); - let amount_to_send: Balance = ROCOCO_ED * 1000; - - // Init values for Parachain - let relay_native_asset_location = RelayLocation::get(); - let receiver = PenpalAReceiver::get(); - - // Init Test - let test_args = TestContext { - sender, - receiver: receiver.clone(), - args: TestArgs::new_relay(destination.clone(), receiver.clone(), amount_to_send), - }; - let mut test = RelayToParaThroughAHTest::new(test_args); - - let sov_penpal_on_ah = AssetHubRococo::sovereign_account_id_of( - AssetHubRococo::sibling_location_of(PenpalA::para_id()), - ); - // Query initial balances - let sender_balance_before = test.sender.balance; - let sov_penpal_on_ah_before = AssetHubRococo::execute_with(|| { - ::Balances::free_balance(sov_penpal_on_ah.clone()) - }); - let receiver_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &receiver) - }); - - fn relay_assertions(t: RelayToParaThroughAHTest) { - type RuntimeEvent = ::RuntimeEvent; - Rococo::assert_xcm_pallet_attempted_complete(None); - assert_expected_events!( - Rococo, - vec![ - // Amount to teleport is withdrawn from Sender - RuntimeEvent::Balances(pallet_balances::Event::Burned { who, amount }) => { - who: *who == t.sender.account_id, - amount: *amount == t.args.amount, - }, - // Amount to teleport is deposited in Relay's `CheckAccount` - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, amount }) => { - who: *who == ::XcmPallet::check_account(), - amount: *amount == t.args.amount, - }, - ] - ); - } - fn asset_hub_assertions(_: RelayToParaThroughAHTest) { - type RuntimeEvent = ::RuntimeEvent; - let sov_penpal_on_ah = AssetHubRococo::sovereign_account_id_of( - AssetHubRococo::sibling_location_of(PenpalA::para_id()), - ); - assert_expected_events!( - AssetHubRococo, - vec![ - // Deposited to receiver parachain SA - RuntimeEvent::Balances( - pallet_balances::Event::Minted { who, .. } - ) => { - who: *who == sov_penpal_on_ah, - }, - RuntimeEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - ] - ); - } - fn penpal_assertions(t: RelayToParaThroughAHTest) { - type RuntimeEvent = ::RuntimeEvent; - // Assets in t are relative to the relay chain. The asset here should be relative to - // Penpal, so parents: 1. - let expected_id: Location = Location { parents: 1, interior: Here }; - - assert_expected_events!( - PenpalA, - vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { - asset_id: *asset_id == expected_id, - owner: *owner == t.receiver.account_id, - }, - ] - ); - } - fn transfer_assets_dispatchable(t: RelayToParaThroughAHTest) -> DispatchResult { - let fee_idx = t.args.fee_asset_item as usize; - let fee: Asset = t.args.assets.inner().get(fee_idx).cloned().unwrap(); - let asset_hub_location = Rococo::child_location_of(AssetHubRococo::para_id()); - let context = RococoUniversalLocation::get(); - - // reanchor fees to the view of destination (Penpal) - let mut remote_fees = fee.clone().reanchored(&t.args.dest, &context).unwrap(); - if let Fungible(ref mut amount) = remote_fees.fun { - // we already spent some fees along the way, just use half of what we started with - *amount = *amount / 2; - } - let xcm_on_final_dest = Xcm::<()>(vec![ - BuyExecution { fees: remote_fees, weight_limit: t.args.weight_limit.clone() }, - DepositAsset { - assets: Wild(AllCounted(t.args.assets.len() as u32)), - beneficiary: t.args.beneficiary, - }, - ]); - - // reanchor final dest (Penpal) to the view of hop (Asset Hub) - let mut dest = t.args.dest.clone(); - dest.reanchor(&asset_hub_location, &context).unwrap(); - // on Asset Hub, forward assets to Penpal - let xcm_on_hop = Xcm::<()>(vec![DepositReserveAsset { - assets: Wild(AllCounted(t.args.assets.len() as u32)), - dest, - xcm: xcm_on_final_dest, - }]); - - Dmp::make_parachain_reachable(AssetHubRococo::para_id()); - - // First leg is a teleport, from there a local-reserve-transfer to final dest - ::XcmPallet::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(asset_hub_location.into()), - bx!(t.args.assets.into()), - bx!(TransferType::Teleport), - bx!(fee.id.into()), - bx!(TransferType::Teleport), - bx!(VersionedXcm::from(xcm_on_hop)), - t.args.weight_limit, - ) - } - - // Set assertions and dispatchables - test.set_assertion::(relay_assertions); - test.set_assertion::(asset_hub_assertions); - test.set_assertion::(penpal_assertions); - test.set_dispatchable::(transfer_assets_dispatchable); - test.assert(); - - // Query final balances - let sender_balance_after = test.sender.balance; - let sov_penpal_on_ah_after = AssetHubRococo::execute_with(|| { - ::Balances::free_balance(sov_penpal_on_ah) - }); - let receiver_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &receiver) - }); - - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_balance_after < sender_balance_before - amount_to_send); - // SA on AH balance is increased - assert!(sov_penpal_on_ah_after > sov_penpal_on_ah_before); - // Receiver's asset balance is increased - assert!(receiver_assets_after > receiver_assets_before); - // Receiver's asset balance increased by `amount_to_send - delivery_fees - bought_execution`; - // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but - // should be non-zero - assert!(receiver_assets_after < receiver_assets_before + amount_to_send); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/mod.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/mod.rs deleted file mode 100644 index 0c425a7650716..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/mod.rs +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -mod claim_assets; -mod hybrid_transfers; -mod reserve_transfer; -mod reward_pool; -mod send; -mod set_xcm_versions; -mod swap; -mod teleport; -mod treasury; -mod xcm_fee_estimation; - -#[macro_export] -macro_rules! create_pool_with_roc_on { - // default amounts - ( $chain:ident, $asset_id:expr, $is_foreign:expr, $asset_owner:expr ) => { - $crate::create_pool_with_roc_on!( - $chain, - $asset_id, - $is_foreign, - $asset_owner, - 1_000_000_000_000, - 2_000_000_000_000 - ); - }; - - // custom amounts - ( $chain:ident, $asset_id:expr, $is_foreign:expr, $asset_owner:expr, $roc_amount:expr, $asset_amount:expr ) => { - emulated_integration_tests_common::impls::paste::paste! { - <$chain>::execute_with(|| { - type RuntimeEvent = <$chain as Chain>::RuntimeEvent; - let owner = $asset_owner; - let signed_owner = <$chain as Chain>::RuntimeOrigin::signed(owner.clone()); - let roc_location: Location = Parent.into(); - if $is_foreign { - assert_ok!(<$chain as [<$chain Pallet>]>::ForeignAssets::mint( - signed_owner.clone(), - $asset_id.clone().into(), - owner.clone().into(), - 10_000_000_000_000, // For it to have more than enough. - )); - } else { - let asset_id = match $asset_id.interior.last() { - Some(GeneralIndex(id)) => *id as u32, - _ => unreachable!(), - }; - assert_ok!(<$chain as [<$chain Pallet>]>::Assets::mint( - signed_owner.clone(), - asset_id.into(), - owner.clone().into(), - 10_000_000_000_000, // For it to have more than enough. - )); - } - - assert_ok!(<$chain as [<$chain Pallet>]>::AssetConversion::create_pool( - signed_owner.clone(), - Box::new(roc_location.clone()), - Box::new($asset_id.clone()), - )); - - assert_expected_events!( - $chain, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::PoolCreated { .. }) => {}, - ] - ); - - assert_ok!(<$chain as [<$chain Pallet>]>::AssetConversion::add_liquidity( - signed_owner, - Box::new(roc_location), - Box::new($asset_id), - $roc_amount, - $asset_amount, - 0, - 0, - owner.into() - )); - - assert_expected_events!( - $chain, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::LiquidityAdded { .. }) => {}, - ] - ); - }); - } - }; -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/reserve_transfer.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/reserve_transfer.rs deleted file mode 100644 index d349fb459678a..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/reserve_transfer.rs +++ /dev/null @@ -1,1730 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use crate::imports::*; -use sp_core::{crypto::get_public_from_string_or_panic, sr25519}; - -fn relay_to_para_sender_assertions(t: RelayToParaTest) { - type RuntimeEvent = ::RuntimeEvent; - - Rococo::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts(350_000_000, 7000))); - - assert_expected_events!( - Rococo, - vec![ - // Amount to reserve transfer is transferred to Parachain's Sovereign account - RuntimeEvent::Balances( - pallet_balances::Event::Transfer { from, to, amount } - ) => { - from: *from == t.sender.account_id, - to: *to == Rococo::sovereign_account_id_of( - t.args.dest.clone() - ), - amount: *amount == t.args.amount, - }, - ] - ); -} - -fn para_to_relay_sender_assertions(t: ParaToRelayTest) { - type RuntimeEvent = ::RuntimeEvent; - PenpalA::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts(2_000_000_000, 140_000))); - assert_expected_events!( - PenpalA, - vec![ - // Amount to reserve transfer is transferred to Parachain's Sovereign account - RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, balance, .. } - ) => { - asset_id: *asset_id == RelayLocation::get(), - owner: *owner == t.sender.account_id, - balance: *balance == t.args.amount, - }, - ] - ); -} - -pub fn system_para_to_para_sender_assertions(t: SystemParaToParaTest) { - type RuntimeEvent = ::RuntimeEvent; - AssetHubRococo::assert_xcm_pallet_attempted_complete(None); - - let sov_acc_of_dest = AssetHubRococo::sovereign_account_id_of(t.args.dest.clone()); - for asset in t.args.assets.into_inner().into_iter() { - let expected_id = asset.id.0.clone().try_into().unwrap(); - let asset_amount = if let Fungible(a) = asset.fun { Some(a) } else { None }.unwrap(); - if asset.id == AssetId(Location::new(1, [])) { - assert_expected_events!( - AssetHubRococo, - vec![ - // Amount of native asset is transferred to Parachain's Sovereign account - RuntimeEvent::Balances( - pallet_balances::Event::Transfer { from, to, amount } - ) => { - from: *from == t.sender.account_id, - to: *to == sov_acc_of_dest, - amount: *amount == asset_amount, - }, - ] - ); - } else if matches!( - asset.id.0.unpack(), - (0, [PalletInstance(ASSETS_PALLET_ID), GeneralIndex(_)]) - ) { - assert_expected_events!( - AssetHubRococo, - vec![ - // Amount of trust-backed asset is transferred to Parachain's Sovereign account - RuntimeEvent::Assets( - pallet_assets::Event::Transferred { from, to, amount, .. }, - ) => { - from: *from == t.sender.account_id, - to: *to == sov_acc_of_dest, - amount: *amount == asset_amount, - }, - ] - ); - } else { - assert_expected_events!( - AssetHubRococo, - vec![ - // Amount of foreign asset is transferred to Parachain's Sovereign account - RuntimeEvent::ForeignAssets( - pallet_assets::Event::Transferred { asset_id, from, to, amount }, - ) => { - asset_id: *asset_id == expected_id, - from: *from == t.sender.account_id, - to: *to == sov_acc_of_dest, - amount: *amount == asset_amount, - }, - ] - ); - } - } - assert_expected_events!( - AssetHubRococo, - vec![ - // Delivery fees are paid - RuntimeEvent::PolkadotXcm(pallet_xcm::Event::FeesPaid { .. }) => {}, - ] - ); - AssetHubRococo::assert_xcm_pallet_sent(); -} - -pub fn system_para_to_para_receiver_assertions(t: SystemParaToParaTest) { - type RuntimeEvent = ::RuntimeEvent; - - PenpalA::assert_xcmp_queue_success(None); - for asset in t.args.assets.into_inner().into_iter() { - let expected_id = asset.id.0.try_into().unwrap(); - assert_expected_events!( - PenpalA, - vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { - asset_id: *asset_id == expected_id, - owner: *owner == t.receiver.account_id, - }, - ] - ); - } -} - -pub fn system_para_to_penpal_receiver_assertions(t: SystemParaToParaTest) { - type RuntimeEvent = ::RuntimeEvent; - - PenpalA::assert_xcmp_queue_success(None); - for asset in t.args.assets.into_inner().into_iter() { - let mut expected_id: Location = asset.id.0.try_into().unwrap(); - let relative_id = match expected_id { - Location { parents: 1, interior: Here } => expected_id, - _ => { - expected_id - .push_front_interior(Parachain(AssetHubRococo::para_id().into())) - .unwrap(); - Location::new(1, expected_id.interior().clone()) - }, - }; - - assert_expected_events!( - PenpalA, - vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { - asset_id: *asset_id == relative_id, - owner: *owner == t.receiver.account_id, - }, - ] - ); - } -} - -pub fn para_to_system_para_sender_assertions(t: ParaToSystemParaTest) { - type RuntimeEvent = ::RuntimeEvent; - PenpalA::assert_xcm_pallet_attempted_complete(None); - for asset in t.args.assets.into_inner().into_iter() { - let expected_id = asset.id.0; - let asset_amount = if let Fungible(a) = asset.fun { Some(a) } else { None }.unwrap(); - assert_expected_events!( - PenpalA, - vec![ - RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, balance } - ) => { - asset_id: *asset_id == expected_id, - owner: *owner == t.sender.account_id, - balance: *balance == asset_amount, - }, - ] - ); - } -} - -fn para_to_relay_receiver_assertions(t: ParaToRelayTest) { - type RuntimeEvent = ::RuntimeEvent; - let sov_penpal_on_relay = - Rococo::sovereign_account_id_of(Rococo::child_location_of(PenpalA::para_id())); - - Rococo::assert_ump_queue_processed( - true, - Some(PenpalA::para_id()), - Some(Weight::from_parts(306305000, 7_186)), - ); - - assert_expected_events!( - Rococo, - vec![ - // Amount to reserve transfer is withdrawn from Parachain's Sovereign account - RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } - ) => { - who: *who == sov_penpal_on_relay.clone().into(), - amount: *amount == t.args.amount, - }, - RuntimeEvent::Balances(pallet_balances::Event::Minted { .. }) => {}, - RuntimeEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - ] - ); -} - -pub fn para_to_system_para_receiver_assertions(t: ParaToSystemParaTest) { - type RuntimeEvent = ::RuntimeEvent; - AssetHubRococo::assert_xcmp_queue_success(None); - - let sov_acc_of_penpal = AssetHubRococo::sovereign_account_id_of(Location::new( - 1, - Parachain(PenpalA::para_id().into()), - )); - - for (idx, asset) in t.args.assets.into_inner().into_iter().enumerate() { - let expected_id = asset.id.0.clone().try_into().unwrap(); - let asset_amount = if let Fungible(a) = asset.fun { Some(a) } else { None }.unwrap(); - if idx == t.args.fee_asset_item as usize { - assert_expected_events!( - AssetHubRococo, - vec![ - // Amount of native is withdrawn from Parachain's Sovereign account - RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } - ) => { - who: *who == sov_acc_of_penpal.clone().into(), - amount: *amount == asset_amount, - }, - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { - who: *who == t.receiver.account_id, - }, - ] - ); - } else { - assert_expected_events!( - AssetHubRococo, - vec![ - // Amount of foreign asset is transferred from Parachain's Sovereign account - // to Receiver's account - RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, balance }, - ) => { - asset_id: *asset_id == expected_id, - owner: *owner == sov_acc_of_penpal, - balance: *balance == asset_amount, - }, - RuntimeEvent::ForeignAssets( - pallet_assets::Event::Issued { asset_id, owner, amount }, - ) => { - asset_id: *asset_id == expected_id, - owner: *owner == t.receiver.account_id, - amount: *amount == asset_amount, - }, - ] - ); - } - } - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - ] - ); -} - -fn system_para_to_para_assets_sender_assertions(t: SystemParaToParaTest) { - type RuntimeEvent = ::RuntimeEvent; - AssetHubRococo::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts( - 864_610_000, - 8799, - ))); - - assert_expected_events!( - AssetHubRococo, - vec![ - // Amount to reserve transfer is transferred to Parachain's Sovereign account - RuntimeEvent::Assets( - pallet_assets::Event::Transferred { asset_id, from, to, amount } - ) => { - asset_id: *asset_id == RESERVABLE_ASSET_ID, - from: *from == t.sender.account_id, - to: *to == AssetHubRococo::sovereign_account_id_of( - t.args.dest.clone() - ), - amount: *amount == t.args.amount, - }, - // Native asset to pay for fees is transferred to Treasury - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { - who: *who == TreasuryAccount::get(), - }, - // Delivery fees are paid - RuntimeEvent::PolkadotXcm( - pallet_xcm::Event::FeesPaid { .. } - ) => {}, - ] - ); -} - -fn para_to_system_para_assets_sender_assertions(t: ParaToSystemParaTest) { - type RuntimeEvent = ::RuntimeEvent; - let system_para_native_asset_location = RelayLocation::get(); - let reservable_asset_location = PenpalLocalReservableFromAssetHub::get(); - PenpalA::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts(2_000_000_000, 140000))); - assert_expected_events!( - PenpalA, - vec![ - // Fees amount to reserve transfer is burned from Parachains's sender account - RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, .. } - ) => { - asset_id: *asset_id == system_para_native_asset_location, - owner: *owner == t.sender.account_id, - }, - // Amount to reserve transfer is burned from Parachains's sender account - RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, balance } - ) => { - asset_id: *asset_id == reservable_asset_location, - owner: *owner == t.sender.account_id, - balance: *balance == t.args.amount, - }, - // Delivery fees are paid - RuntimeEvent::PolkadotXcm( - pallet_xcm::Event::FeesPaid { .. } - ) => {}, - ] - ); -} - -fn system_para_to_para_assets_receiver_assertions(t: SystemParaToParaTest) { - type RuntimeEvent = ::RuntimeEvent; - let system_para_asset_location = PenpalLocalReservableFromAssetHub::get(); - PenpalA::assert_xcmp_queue_success(None); - assert_expected_events!( - PenpalA, - vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { - asset_id: *asset_id == RelayLocation::get(), - owner: *owner == t.receiver.account_id, - }, - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, amount }) => { - asset_id: *asset_id == system_para_asset_location, - owner: *owner == t.receiver.account_id, - amount: *amount == t.args.amount, - }, - ] - ); -} - -fn para_to_system_para_assets_receiver_assertions(t: ParaToSystemParaTest) { - type RuntimeEvent = ::RuntimeEvent; - let sov_penpal_on_ahr = AssetHubRococo::sovereign_account_id_of( - AssetHubRococo::sibling_location_of(PenpalA::para_id()), - ); - AssetHubRococo::assert_xcmp_queue_success(None); - assert_expected_events!( - AssetHubRococo, - vec![ - // Amount to reserve transfer is burned from Parachain's Sovereign account - RuntimeEvent::Assets(pallet_assets::Event::Burned { asset_id, owner, balance }) => { - asset_id: *asset_id == RESERVABLE_ASSET_ID, - owner: *owner == sov_penpal_on_ahr, - balance: *balance == t.args.amount, - }, - // Fee amount is burned from Parachain's Sovereign account - RuntimeEvent::Balances(pallet_balances::Event::Burned { who, .. }) => { - who: *who == sov_penpal_on_ahr, - }, - // Amount to reserve transfer is issued for beneficiary - RuntimeEvent::Assets(pallet_assets::Event::Issued { asset_id, owner, amount }) => { - asset_id: *asset_id == RESERVABLE_ASSET_ID, - owner: *owner == t.receiver.account_id, - amount: *amount == t.args.amount, - }, - // Remaining fee amount is minted for for beneficiary - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { - who: *who == t.receiver.account_id, - }, - ] - ); -} - -fn relay_to_para_assets_receiver_assertions(t: RelayToParaTest) { - type RuntimeEvent = ::RuntimeEvent; - - assert_expected_events!( - PenpalA, - vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { - asset_id: *asset_id == RelayLocation::get(), - owner: *owner == t.receiver.account_id, - }, - RuntimeEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - ] - ); -} - -pub fn para_to_para_through_hop_sender_assertions(t: Test) { - type RuntimeEvent = ::RuntimeEvent; - - PenpalA::assert_xcm_pallet_attempted_complete(None); - for asset in t.args.assets.into_inner() { - let expected_id = asset.id.0.clone().try_into().unwrap(); - let amount = if let Fungible(a) = asset.fun { Some(a) } else { None }.unwrap(); - assert_expected_events!( - PenpalA, - vec![ - // Amount to reserve transfer is transferred to Parachain's Sovereign account - RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, balance }, - ) => { - asset_id: *asset_id == expected_id, - owner: *owner == t.sender.account_id, - balance: *balance == amount, - }, - ] - ); - } -} - -fn para_to_para_asset_hub_hop_assertions(t: ParaToParaThroughAHTest) { - type RuntimeEvent = ::RuntimeEvent; - let sov_penpal_a_on_ah = AssetHubRococo::sovereign_account_id_of( - AssetHubRococo::sibling_location_of(PenpalA::para_id()), - ); - - let (_, asset_amount) = fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); - - assert_expected_events!( - AssetHubRococo, - vec![ - // Withdrawn from sender parachain SA - RuntimeEvent::Assets( - pallet_assets::Event::Burned { owner, balance, .. } - ) => { - owner: *owner == sov_penpal_a_on_ah, - balance: *balance == asset_amount, - }, - RuntimeEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - ] - ); -} - -fn para_to_para_relay_hop_assertions(t: ParaToParaThroughRelayTest) { - type RuntimeEvent = ::RuntimeEvent; - let sov_penpal_a_on_rococo = - Rococo::sovereign_account_id_of(Rococo::child_location_of(PenpalA::para_id())); - let sov_penpal_b_on_rococo = - Rococo::sovereign_account_id_of(Rococo::child_location_of(PenpalB::para_id())); - - assert_expected_events!( - Rococo, - vec![ - // Withdrawn from sender parachain SA - RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } - ) => { - who: *who == sov_penpal_a_on_rococo, - amount: *amount == t.args.amount, - }, - // Deposited to receiver parachain SA - RuntimeEvent::Balances( - pallet_balances::Event::Minted { who, .. } - ) => { - who: *who == sov_penpal_b_on_rococo, - }, - RuntimeEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - ] - ); -} - -pub fn para_to_para_through_hop_receiver_assertions(t: Test) { - type RuntimeEvent = ::RuntimeEvent; - - PenpalB::assert_xcmp_queue_success(None); - for asset in t.args.assets.into_inner().into_iter() { - let expected_id = asset.id.0.try_into().unwrap(); - assert_expected_events!( - PenpalB, - vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { - asset_id: *asset_id == expected_id, - owner: *owner == t.receiver.account_id, - }, - ] - ); - } -} - -fn relay_to_para_reserve_transfer_assets(t: RelayToParaTest) -> DispatchResult { - let Junction::Parachain(para_id) = *t.args.dest.chain_location().last().unwrap() else { - unimplemented!("Destination is not a parachain?") - }; - - type Runtime = ::Runtime; - let remote_fee_id: AssetId = t - .args - .assets - .clone() - .into_inner() - .get(t.args.fee_asset_item as usize) - .ok_or(pallet_xcm::Error::::Empty)? - .clone() - .id; - - Dmp::make_parachain_reachable(para_id); - ::XcmPallet::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.assets.into()), - bx!(TransferType::LocalReserve), - bx!(remote_fee_id.into()), - bx!(TransferType::LocalReserve), - bx!(VersionedXcm::from( - Xcm::<()>::builder_unsafe() - .deposit_asset(AllCounted(1), t.args.beneficiary) - .build() - )), - t.args.weight_limit, - ) -} - -fn para_to_relay_reserve_transfer_assets(t: ParaToRelayTest) -> DispatchResult { - type Runtime = ::Runtime; - let remote_fee_id: AssetId = t - .args - .assets - .clone() - .into_inner() - .get(t.args.fee_asset_item as usize) - .ok_or(pallet_xcm::Error::::Empty)? - .clone() - .id; - - ::PolkadotXcm::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.assets.into()), - bx!(TransferType::DestinationReserve), - bx!(remote_fee_id.into()), - bx!(TransferType::DestinationReserve), - bx!(VersionedXcm::from( - Xcm::<()>::builder_unsafe() - .deposit_asset(AllCounted(1), t.args.beneficiary) - .build() - )), - t.args.weight_limit, - ) -} - -fn system_para_to_para_reserve_transfer_assets(t: SystemParaToParaTest) -> DispatchResult { - type Runtime = ::Runtime; - let remote_fee_id: AssetId = t - .args - .assets - .clone() - .into_inner() - .get(t.args.fee_asset_item as usize) - .ok_or(pallet_xcm::Error::::Empty)? - .clone() - .id; - - ::PolkadotXcm::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.assets.into()), - bx!(TransferType::LocalReserve), - bx!(remote_fee_id.into()), - bx!(TransferType::LocalReserve), - bx!(VersionedXcm::from( - Xcm::<()>::builder_unsafe() - .deposit_asset(AllCounted(2), t.args.beneficiary) - .build() - )), - t.args.weight_limit, - ) -} - -fn para_to_para_through_asset_hub_limited_reserve_transfer_assets( - t: ParaToParaThroughAHTest, -) -> DispatchResult { - ::PolkadotXcm::limited_reserve_transfer_assets( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.beneficiary.into()), - bx!(t.args.assets.into()), - t.args.fee_asset_item, - t.args.weight_limit, - ) -} - -fn para_to_system_para_reserve_transfer_assets(t: ParaToSystemParaTest) -> DispatchResult { - type Runtime = ::Runtime; - let remote_fee_id: AssetId = t - .args - .assets - .clone() - .into_inner() - .get(t.args.fee_asset_item as usize) - .ok_or(pallet_xcm::Error::::Empty)? - .clone() - .id; - - ::PolkadotXcm::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.assets.into()), - bx!(TransferType::DestinationReserve), - bx!(remote_fee_id.into()), - bx!(TransferType::DestinationReserve), - bx!(VersionedXcm::from( - Xcm::<()>::builder_unsafe() - .deposit_asset(AllCounted(2), t.args.beneficiary) - .build() - )), - t.args.weight_limit, - ) -} - -fn para_to_para_through_relay_limited_reserve_transfer_assets( - t: ParaToParaThroughRelayTest, -) -> DispatchResult { - let Junction::Parachain(para_id) = *t.args.dest.chain_location().last().unwrap() else { - unimplemented!("Destination is not a parachain?") - }; - - type Runtime = ::Runtime; - let remote_fee_id: AssetId = t - .args - .assets - .clone() - .into_inner() - .get(t.args.fee_asset_item as usize) - .ok_or(pallet_xcm::Error::::Empty)? - .clone() - .id; - - let relay_location = VersionedLocation::from(Location::parent()); - - Rococo::ext_wrapper(|| { - Dmp::make_parachain_reachable(para_id); - }); - ::PolkadotXcm::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.assets.into()), - bx!(TransferType::RemoteReserve(relay_location.clone())), - bx!(remote_fee_id.into()), - bx!(TransferType::RemoteReserve(relay_location)), - bx!(VersionedXcm::from( - Xcm::<()>::builder_unsafe() - .deposit_asset(AllCounted(1), t.args.beneficiary) - .build() - )), - t.args.weight_limit, - ) -} - -/// Reserve Transfers of native asset from Relay Chain to the Asset Hub shouldn't work -#[test] -fn reserve_transfer_native_asset_from_relay_to_asset_hub_fails() { - // Init values for Relay Chain - let signed_origin = ::RuntimeOrigin::signed(RococoSender::get().into()); - let destination = Rococo::child_location_of(AssetHubRococo::para_id()); - let beneficiary: Location = - AccountId32Junction { network: None, id: AssetHubRococoReceiver::get().into() }.into(); - let amount_to_send: Balance = ROCOCO_ED * 1000; - let assets: Assets = (Here, amount_to_send).into(); - let fee_asset_item = 0; - - // this should fail - Rococo::execute_with(|| { - let result = ::XcmPallet::limited_reserve_transfer_assets( - signed_origin, - bx!(destination.into()), - bx!(beneficiary.into()), - bx!(assets.into()), - fee_asset_item, - WeightLimit::Unlimited, - ); - assert_err!( - result, - DispatchError::Module(sp_runtime::ModuleError { - index: 99, - error: [2, 0, 0, 0], - message: Some("Filtered") - }) - ); - }); -} - -/// Reserve Transfers of native asset from Asset Hub to Relay Chain shouldn't work -#[test] -fn reserve_transfer_native_asset_from_asset_hub_to_relay_fails() { - // Init values for Asset Hub - let signed_origin = - ::RuntimeOrigin::signed(AssetHubRococoSender::get().into()); - let destination = AssetHubRococo::parent_location(); - let beneficiary_id = RococoReceiver::get(); - let beneficiary: Location = - AccountId32Junction { network: None, id: beneficiary_id.into() }.into(); - let amount_to_send: Balance = ASSET_HUB_ROCOCO_ED * 1000; - - let assets: Assets = (Parent, amount_to_send).into(); - let fee_asset_item = 0; - - // this should fail - AssetHubRococo::execute_with(|| { - let result = - ::PolkadotXcm::limited_reserve_transfer_assets( - signed_origin, - bx!(destination.into()), - bx!(beneficiary.into()), - bx!(assets.into()), - fee_asset_item, - WeightLimit::Unlimited, - ); - assert_err!( - result, - DispatchError::Module(sp_runtime::ModuleError { - index: 31, - error: [2, 0, 0, 0], - message: Some("Filtered") - }) - ); - }); -} - -// ========================================================================= -// ========= Reserve Transfers - Native Asset - Relay<>Parachain =========== -// ========================================================================= -/// Reserve Transfers of native asset from Relay to Parachain should work -#[test] -fn reserve_transfer_native_asset_from_relay_to_para() { - // Init values for Relay - let destination = Rococo::child_location_of(PenpalA::para_id()); - let sender = RococoSender::get(); - let amount_to_send: Balance = ROCOCO_ED * 1000; - - // Init values for Parachain - let relay_native_asset_location = RelayLocation::get(); - let receiver = PenpalAReceiver::get(); - - // Init Test - let test_args = TestContext { - sender, - receiver: receiver.clone(), - args: TestArgs::new_relay(destination.clone(), receiver.clone(), amount_to_send), - }; - let mut test = RelayToParaTest::new(test_args); - - // Query initial balances - let sender_balance_before = test.sender.balance; - let receiver_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &receiver) - }); - - // Set assertions and dispatchables - test.set_assertion::(relay_to_para_sender_assertions); - test.set_assertion::(relay_to_para_assets_receiver_assertions); - test.set_dispatchable::(relay_to_para_reserve_transfer_assets); - test.assert(); - - // Query final balances - let sender_balance_after = test.sender.balance; - let receiver_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &receiver) - }); - - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_balance_after < sender_balance_before - amount_to_send); - // Receiver's asset balance is increased - assert!(receiver_assets_after > receiver_assets_before); - // Receiver's asset balance increased by `amount_to_send - delivery_fees - bought_execution`; - // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but - // should be non-zero - assert!(receiver_assets_after < receiver_assets_before + amount_to_send); -} - -/// Reserve Transfers of native asset from Parachain to Relay should work -#[test] -fn reserve_transfer_native_asset_from_para_to_relay() { - // Init values for Parachain - let destination = PenpalA::parent_location(); - let sender = PenpalASender::get(); - let amount_to_send: Balance = ROCOCO_ED * 1000; - let assets: Assets = (Parent, amount_to_send).into(); - let asset_owner = PenpalAssetOwner::get(); - let relay_native_asset_location = RelayLocation::get(); - - // fund Parachain's sender account - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(asset_owner), - relay_native_asset_location.clone(), - sender.clone(), - amount_to_send * 2, - ); - - // Init values for Relay - let receiver = RococoReceiver::get(); - let penpal_location_as_seen_by_relay = Rococo::child_location_of(PenpalA::para_id()); - let sov_penpal_on_relay = Rococo::sovereign_account_id_of(penpal_location_as_seen_by_relay); - - // fund Parachain's SA on Relay with the native tokens held in reserve - Rococo::fund_accounts(vec![(sov_penpal_on_relay.into(), amount_to_send * 2)]); - - // Init Test - let test_args = TestContext { - sender: sender.clone(), - receiver: receiver.clone(), - args: TestArgs::new_para( - destination.clone(), - receiver, - amount_to_send, - assets.clone(), - None, - 0, - ), - }; - let mut test = ParaToRelayTest::new(test_args); - - // Query initial balances - let sender_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_balance_before = test.receiver.balance; - - // Set assertions and dispatchables - test.set_assertion::(para_to_relay_sender_assertions); - test.set_assertion::(para_to_relay_receiver_assertions); - test.set_dispatchable::(para_to_relay_reserve_transfer_assets); - test.assert(); - - // Query final balances - let sender_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &sender) - }); - let receiver_balance_after = test.receiver.balance; - - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_assets_after < sender_assets_before - amount_to_send); - // Receiver's asset balance is increased - assert!(receiver_balance_after > receiver_balance_before); - // Receiver's asset balance increased by `amount_to_send - delivery_fees - bought_execution`; - // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but - // should be non-zero - assert!(receiver_balance_after < receiver_balance_before + amount_to_send); -} - -// ========================================================================= -// ======= Reserve Transfers - Native Asset - AssetHub<>Parachain ========== -// ========================================================================= -/// Reserve Transfers of native asset from Asset Hub to Parachain should work -#[test] -fn reserve_transfer_native_asset_from_asset_hub_to_para() { - // Init values for Asset Hub - let destination = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let sender = AssetHubRococoSender::get(); - let amount_to_send: Balance = ASSET_HUB_ROCOCO_ED * 10000; - let assets: Assets = (Parent, amount_to_send).into(); - - // Init values for Parachain - let system_para_native_asset_location = RelayLocation::get(); - let receiver = PenpalAReceiver::get(); - - // Init Test - let test_args = TestContext { - sender, - receiver: receiver.clone(), - args: TestArgs::new_para( - destination.clone(), - receiver.clone(), - amount_to_send, - assets.clone(), - None, - 0, - ), - }; - let mut test = SystemParaToParaTest::new(test_args); - - // Query initial balances - let sender_balance_before = test.sender.balance; - let receiver_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location.clone(), &receiver) - }); - - // Set assertions and dispatchables - test.set_assertion::(system_para_to_para_sender_assertions); - test.set_assertion::(system_para_to_penpal_receiver_assertions); - test.set_dispatchable::(system_para_to_para_reserve_transfer_assets); - test.assert(); - - // Query final balances - let sender_balance_after = test.sender.balance; - let receiver_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location, &receiver) - }); - - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_balance_after < sender_balance_before - amount_to_send); - // Receiver's assets is increased - assert!(receiver_assets_after > receiver_assets_before); - // Receiver's assets increased by `amount_to_send - delivery_fees - bought_execution`; - // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but - // should be non-zero - assert!(receiver_assets_after < receiver_assets_before + amount_to_send); -} - -/// Reserve Transfers of native asset from Parachain to Asset Hub should work -#[test] -fn reserve_transfer_native_asset_from_para_to_asset_hub() { - // Init values for Parachain - let destination = PenpalA::sibling_location_of(AssetHubRococo::para_id()); - let sender = PenpalASender::get(); - let amount_to_send: Balance = ASSET_HUB_ROCOCO_ED * 10000; - let assets: Assets = (Parent, amount_to_send).into(); - let system_para_native_asset_location = RelayLocation::get(); - let asset_owner = PenpalAssetOwner::get(); - - // fund Parachain's sender account - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(asset_owner), - system_para_native_asset_location.clone(), - sender.clone(), - amount_to_send * 2, - ); - - // Init values for Asset Hub - let receiver = AssetHubRococoReceiver::get(); - let penpal_location_as_seen_by_ahr = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let sov_penpal_on_ahr = AssetHubRococo::sovereign_account_id_of(penpal_location_as_seen_by_ahr); - - // fund Parachain's SA on Asset Hub with the native tokens held in reserve - AssetHubRococo::fund_accounts(vec![(sov_penpal_on_ahr.into(), amount_to_send * 2)]); - - // Init Test - let test_args = TestContext { - sender: sender.clone(), - receiver: receiver.clone(), - args: TestArgs::new_para( - destination.clone(), - receiver.clone(), - amount_to_send, - assets.clone(), - None, - 0, - ), - }; - let mut test = ParaToSystemParaTest::new(test_args); - - // Query initial balances - let sender_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location.clone(), &sender) - }); - let receiver_balance_before = test.receiver.balance; - - // Set assertions and dispatchables - test.set_assertion::(para_to_system_para_sender_assertions); - test.set_assertion::(para_to_system_para_receiver_assertions); - test.set_dispatchable::(para_to_system_para_reserve_transfer_assets); - test.assert(); - - // Query final balances - let sender_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location, &sender) - }); - let receiver_balance_after = test.receiver.balance; - - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_assets_after < sender_assets_before - amount_to_send); - // Receiver's balance is increased - assert!(receiver_balance_after > receiver_balance_before); - // Receiver's balance increased by `amount_to_send - delivery_fees - bought_execution`; - // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but - // should be non-zero - assert!(receiver_balance_after < receiver_balance_before + amount_to_send); -} - -// ================================================================================== -// ======= Reserve Transfers - Native + Non-system Asset - AssetHub<>Parachain ====== -// ================================================================================== -/// Reserve Transfers of a local asset and native asset from Asset Hub to Parachain should -/// work -#[test] -fn reserve_transfer_multiple_assets_from_asset_hub_to_para() { - // Init values for Asset Hub - let destination = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let sov_penpal_on_ahr = AssetHubRococo::sovereign_account_id_of(destination.clone()); - let sender = AssetHubRococoSender::get(); - let fee_amount_to_send = ASSET_HUB_ROCOCO_ED * 10000; - let asset_amount_to_send = PENPAL_ED * 10000; - let asset_owner = AssetHubRococoAssetOwner::get(); - let asset_owner_signer = ::RuntimeOrigin::signed(asset_owner.clone()); - let assets: Assets = vec![ - (Parent, fee_amount_to_send).into(), - ( - [PalletInstance(ASSETS_PALLET_ID), GeneralIndex(RESERVABLE_ASSET_ID.into())], - asset_amount_to_send, - ) - .into(), - ] - .into(); - let fee_asset_index = assets - .inner() - .iter() - .position(|r| r == &(Parent, fee_amount_to_send).into()) - .unwrap() as u32; - AssetHubRococo::mint_asset( - asset_owner_signer, - RESERVABLE_ASSET_ID, - asset_owner, - asset_amount_to_send * 2, - ); - - // Create SA-of-Penpal-on-AHR with ED. - AssetHubRococo::fund_accounts(vec![(sov_penpal_on_ahr.into(), ASSET_HUB_ROCOCO_ED)]); - - // Init values for Parachain - let receiver = PenpalAReceiver::get(); - let system_para_native_asset_location = RelayLocation::get(); - let system_para_foreign_asset_location = PenpalLocalReservableFromAssetHub::get(); - - // Init Test - let para_test_args = TestContext { - sender: sender.clone(), - receiver: receiver.clone(), - args: TestArgs::new_para( - destination, - receiver.clone(), - asset_amount_to_send, - assets, - None, - fee_asset_index, - ), - }; - let mut test = SystemParaToParaTest::new(para_test_args); - - // Query initial balances - let sender_balance_before = test.sender.balance; - let sender_assets_before = AssetHubRococo::execute_with(|| { - type Assets = ::Assets; - >::balance(RESERVABLE_ASSET_ID, &sender) - }); - let receiver_system_native_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location.clone(), &receiver) - }); - let receiver_foreign_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_foreign_asset_location.clone(), - &receiver, - ) - }); - - // Set assertions and dispatchables - test.set_assertion::(system_para_to_para_assets_sender_assertions); - test.set_assertion::(system_para_to_para_assets_receiver_assertions); - test.set_dispatchable::(system_para_to_para_reserve_transfer_assets); - test.assert(); - - // Query final balances - let sender_balance_after = test.sender.balance; - let sender_assets_after = AssetHubRococo::execute_with(|| { - type Assets = ::Assets; - >::balance(RESERVABLE_ASSET_ID, &sender) - }); - let receiver_system_native_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location.clone(), &receiver) - }); - let receiver_foreign_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_foreign_asset_location, &receiver) - }); - // Sender's balance is reduced - assert!(sender_balance_after < sender_balance_before); - // Receiver's foreign asset balance is increased - assert!(receiver_foreign_assets_after > receiver_foreign_assets_before); - // Receiver's system asset balance increased by `amount_to_send - delivery_fees - - // bought_execution`; `delivery_fees` might be paid from transfer or JIT, also - // `bought_execution` is unknown but should be non-zero - assert!( - receiver_system_native_assets_after < - receiver_system_native_assets_before + fee_amount_to_send - ); - - // Sender's asset balance is reduced by exact amount - assert_eq!(sender_assets_before - asset_amount_to_send, sender_assets_after); - // Receiver's foreign asset balance is increased by exact amount - assert_eq!( - receiver_foreign_assets_after, - receiver_foreign_assets_before + asset_amount_to_send - ); -} - -/// Reserve Transfers of a random asset and native asset from Parachain to Asset Hub should work -/// Receiver is empty account to show deposit works as long as transfer includes enough DOT for ED. -/// Once we have https://github.com/paritytech/polkadot-sdk/issues/5298, -/// we should do equivalent test with USDT instead of DOT. -#[test] -fn reserve_transfer_multiple_assets_from_para_to_asset_hub() { - // Init values for Parachain - let destination = PenpalA::sibling_location_of(AssetHubRococo::para_id()); - let sender = PenpalASender::get(); - let fee_amount_to_send = ASSET_HUB_ROCOCO_ED * 10000; - let asset_amount_to_send = ASSET_HUB_ROCOCO_ED * 10000; - let penpal_asset_owner = PenpalAssetOwner::get(); - let penpal_asset_owner_signer = ::RuntimeOrigin::signed(penpal_asset_owner); - let asset_location_on_penpal = PenpalLocalReservableFromAssetHub::get(); - let system_asset_location_on_penpal = RelayLocation::get(); - let assets: Assets = vec![ - (Parent, fee_amount_to_send).into(), - (asset_location_on_penpal.clone(), asset_amount_to_send).into(), - ] - .into(); - let fee_asset_index = assets - .inner() - .iter() - .position(|r| r == &(Parent, fee_amount_to_send).into()) - .unwrap() as u32; - // Fund Parachain's sender account with some foreign assets - PenpalA::mint_foreign_asset( - penpal_asset_owner_signer.clone(), - asset_location_on_penpal.clone(), - sender.clone(), - asset_amount_to_send * 2, - ); - // Fund Parachain's sender account with some system assets - PenpalA::mint_foreign_asset( - penpal_asset_owner_signer, - system_asset_location_on_penpal.clone(), - sender.clone(), - fee_amount_to_send * 2, - ); - - // Beneficiary is a new (empty) account - let receiver: sp_runtime::AccountId32 = - get_public_from_string_or_panic::(DUMMY_EMPTY).into(); - // Init values for Asset Hub - let penpal_location_as_seen_by_ahr = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let sov_penpal_on_ahr = AssetHubRococo::sovereign_account_id_of(penpal_location_as_seen_by_ahr); - let ah_asset_owner = AssetHubRococoAssetOwner::get(); - let ah_asset_owner_signer = ::RuntimeOrigin::signed(ah_asset_owner); - - // Fund SA-of-Penpal-on-AHR to be able to pay for the fees. - AssetHubRococo::fund_accounts(vec![( - sov_penpal_on_ahr.clone().into(), - ASSET_HUB_ROCOCO_ED * 10000000, - )]); - // Fund SA-of-Penpal-on-AHR to be able to pay for the sent amount. - AssetHubRococo::mint_asset( - ah_asset_owner_signer, - RESERVABLE_ASSET_ID, - sov_penpal_on_ahr, - asset_amount_to_send * 2, - ); - - // Init Test - let para_test_args = TestContext { - sender: sender.clone(), - receiver: receiver.clone(), - args: TestArgs::new_para( - destination, - receiver.clone(), - asset_amount_to_send, - assets, - None, - fee_asset_index, - ), - }; - let mut test = ParaToSystemParaTest::new(para_test_args); - - // Query initial balances - let sender_system_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_asset_location_on_penpal.clone(), &sender) - }); - let sender_foreign_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(asset_location_on_penpal.clone(), &sender) - }); - let receiver_balance_before = test.receiver.balance; - let receiver_assets_before = AssetHubRococo::execute_with(|| { - type Assets = ::Assets; - >::balance(RESERVABLE_ASSET_ID, &receiver) - }); - - // Set assertions and dispatchables - test.set_assertion::(para_to_system_para_assets_sender_assertions); - test.set_assertion::(para_to_system_para_assets_receiver_assertions); - test.set_dispatchable::(para_to_system_para_reserve_transfer_assets); - test.assert(); - - // Query final balances - let sender_system_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_asset_location_on_penpal, &sender) - }); - let sender_foreign_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(asset_location_on_penpal, &sender) - }); - let receiver_balance_after = test.receiver.balance; - let receiver_assets_after = AssetHubRococo::execute_with(|| { - type Assets = ::Assets; - >::balance(RESERVABLE_ASSET_ID, &receiver) - }); - // Sender's system asset balance is reduced - assert!(sender_system_assets_after < sender_system_assets_before); - // Receiver's balance is increased - assert!(receiver_balance_after > receiver_balance_before); - // Receiver's balance increased by `amount_to_send - delivery_fees - bought_execution`; - // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but - // should be non-zero - assert!(receiver_balance_after < receiver_balance_before + fee_amount_to_send); - - // Sender's asset balance is reduced by exact amount - assert_eq!(sender_foreign_assets_before - asset_amount_to_send, sender_foreign_assets_after); - // Receiver's foreign asset balance is increased by exact amount - assert_eq!(receiver_assets_after, receiver_assets_before + asset_amount_to_send); -} - -// ========================================================================= -// ===== Reserve Transfers - Native Asset - Parachain<>Relay<>Parachain ==== -// ========================================================================= -/// Reserve Transfers of native asset from Parachain to Parachain (through Relay reserve) should -/// work -#[test] -fn reserve_transfer_native_asset_from_para_to_para_through_relay() { - // Init values for Parachain Origin - let destination = PenpalA::sibling_location_of(PenpalB::para_id()); - let sender = PenpalASender::get(); - let amount_to_send: Balance = ROCOCO_ED * 10000; - let asset_owner = PenpalAssetOwner::get(); - let assets = (Parent, amount_to_send).into(); - let relay_native_asset_location = RelayLocation::get(); - let sender_as_seen_by_relay = Rococo::child_location_of(PenpalA::para_id()); - let sov_of_sender_on_relay = Rococo::sovereign_account_id_of(sender_as_seen_by_relay); - - // fund Parachain's sender account - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(asset_owner), - relay_native_asset_location.clone(), - sender.clone(), - amount_to_send * 2, - ); - - // fund the Parachain Origin's SA on Relay Chain with the native tokens held in reserve - Rococo::fund_accounts(vec![(sov_of_sender_on_relay.into(), amount_to_send * 2)]); - - // Init values for Parachain Destination - let receiver = PenpalBReceiver::get(); - - // Init Test - let test_args = TestContext { - sender: sender.clone(), - receiver: receiver.clone(), - args: TestArgs::new_para(destination, receiver.clone(), amount_to_send, assets, None, 0), - }; - let mut test = ParaToParaThroughRelayTest::new(test_args); - - // Query initial balances - let sender_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &receiver) - }); - - // Set assertions and dispatchables - test.set_assertion::(para_to_para_through_hop_sender_assertions); - test.set_assertion::(para_to_para_relay_hop_assertions); - test.set_assertion::(para_to_para_through_hop_receiver_assertions); - test.set_dispatchable::(para_to_para_through_relay_limited_reserve_transfer_assets); - test.assert(); - - // Query final balances - let sender_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &receiver) - }); - - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_assets_after < sender_assets_before - amount_to_send); - // Receiver's balance is increased - assert!(receiver_assets_after > receiver_assets_before); -} - -// ============================================================================ -// ==== Reserve Transfers USDT - AssetHub->Parachain - pay fees using pool ==== -// ============================================================================ -#[test] -fn reserve_transfer_usdt_from_asset_hub_to_para() { - let usdt_id = 1984u32; - let penpal_location = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let penpal_sov_account = AssetHubRococo::sovereign_account_id_of(penpal_location.clone()); - - // Create SA-of-Penpal-on-AHW with ED. - // This ED isn't reflected in any derivative in a PenpalA account. - AssetHubRococo::fund_accounts(vec![(penpal_sov_account.clone().into(), ASSET_HUB_ROCOCO_ED)]); - - let sender = AssetHubRococoSender::get(); - let receiver = PenpalAReceiver::get(); - let asset_amount_to_send = 1_000_000_000_000; - - AssetHubRococo::execute_with(|| { - use frame_support::traits::tokens::fungibles::Mutate; - type Assets = ::Assets; - assert_ok!(>::mint_into( - usdt_id.into(), - &AssetHubRococoSender::get(), - asset_amount_to_send + 10_000_000_000_000, // Make sure it has enough. - )); - }); - - let relay_asset_penpal_pov = RelayLocation::get(); - - let usdt_from_asset_hub = PenpalUsdtFromAssetHub::get(); - - // Setup the pool between `relay_asset_penpal_pov` and `usdt_from_asset_hub` on PenpalA. - // So we can swap the custom asset that comes from AssetHubRococo for native asset to pay for - // fees. - PenpalA::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - - assert_ok!(::ForeignAssets::mint( - ::RuntimeOrigin::signed(PenpalAssetOwner::get()), - usdt_from_asset_hub.clone().into(), - PenpalASender::get().into(), - 10_000_000_000_000, // For it to have more than enough. - )); - - assert_ok!(::AssetConversion::create_pool( - ::RuntimeOrigin::signed(PenpalASender::get()), - Box::new(relay_asset_penpal_pov.clone()), - Box::new(usdt_from_asset_hub.clone()), - )); - - assert_expected_events!( - PenpalA, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::PoolCreated { .. }) => {}, - ] - ); - - assert_ok!(::AssetConversion::add_liquidity( - ::RuntimeOrigin::signed(PenpalASender::get()), - Box::new(relay_asset_penpal_pov), - Box::new(usdt_from_asset_hub.clone()), - // `usdt_from_asset_hub` is worth a third of `relay_asset_penpal_pov` - 1_000_000_000_000, - 3_000_000_000_000, - 0, - 0, - PenpalASender::get().into() - )); - - assert_expected_events!( - PenpalA, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::LiquidityAdded { .. }) => {}, - ] - ); - }); - - let assets: Assets = vec![( - [PalletInstance(ASSETS_PALLET_ID), GeneralIndex(usdt_id.into())], - asset_amount_to_send, - ) - .into()] - .into(); - - let test_args = TestContext { - sender: sender.clone(), - receiver: receiver.clone(), - args: TestArgs::new_para( - penpal_location, - receiver.clone(), - asset_amount_to_send, - assets, - None, - 0, - ), - }; - let mut test = SystemParaToParaTest::new(test_args); - - let sender_initial_balance = AssetHubRococo::execute_with(|| { - type Assets = ::Assets; - >::balance(usdt_id, &sender) - }); - let sender_initial_native_balance = AssetHubRococo::execute_with(|| { - type Balances = ::Balances; - Balances::free_balance(&sender) - }); - let receiver_initial_balance = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(usdt_from_asset_hub.clone(), &receiver) - }); - - test.set_assertion::(system_para_to_para_sender_assertions); - test.set_assertion::(system_para_to_penpal_receiver_assertions); - test.set_dispatchable::(system_para_to_para_reserve_transfer_assets); - test.assert(); - - let sender_after_balance = AssetHubRococo::execute_with(|| { - type Assets = ::Assets; - >::balance(usdt_id, &sender) - }); - let sender_after_native_balance = AssetHubRococo::execute_with(|| { - type Balances = ::Balances; - Balances::free_balance(&sender) - }); - let receiver_after_balance = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(usdt_from_asset_hub, &receiver) - }); - - // TODO(https://github.com/paritytech/polkadot-sdk/issues/5160): When we allow payment with different assets locally, this should be the same, since - // they aren't used for fees. - assert!(sender_after_native_balance < sender_initial_native_balance); - // Sender account's balance decreases. - assert_eq!(sender_after_balance, sender_initial_balance - asset_amount_to_send); - // Receiver account's balance increases. - assert!(receiver_after_balance > receiver_initial_balance); - assert!(receiver_after_balance < receiver_initial_balance + asset_amount_to_send); -} - -// =================================================================================== -// == Reserve Transfers USDT - Parachain->AssetHub->Parachain - pay fees using pool == -// =================================================================================== -// -// Transfer USDT From Penpal A to Penpal B with AssetHub as the reserve, while paying fees using -// USDT by making use of existing USDT pools on AssetHub and destination. -#[test] -fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { - let destination = PenpalA::sibling_location_of(PenpalB::para_id()); - let sender = PenpalASender::get(); - let asset_amount_to_send: Balance = ROCOCO_ED * 10000; - let fee_amount_to_send: Balance = ROCOCO_ED * 10000; - let sender_chain_as_seen_by_asset_hub = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let sov_of_sender_on_asset_hub = - AssetHubRococo::sovereign_account_id_of(sender_chain_as_seen_by_asset_hub); - let receiver_as_seen_by_asset_hub = AssetHubRococo::sibling_location_of(PenpalB::para_id()); - let sov_of_receiver_on_asset_hub = - AssetHubRococo::sovereign_account_id_of(receiver_as_seen_by_asset_hub); - - // Create SA-of-Penpal-on-AHW with ED. - // This ED isn't reflected in any derivative in a PenpalA account. - AssetHubRococo::fund_accounts(vec![ - (sov_of_sender_on_asset_hub.clone().into(), ASSET_HUB_ROCOCO_ED), - (sov_of_receiver_on_asset_hub.clone().into(), ASSET_HUB_ROCOCO_ED), - ]); - - // Give USDT to sov account of sender. - let usdt_id = 1984; - AssetHubRococo::execute_with(|| { - use frame_support::traits::tokens::fungibles::Mutate; - type Assets = ::Assets; - assert_ok!(>::mint_into( - usdt_id.into(), - &sov_of_sender_on_asset_hub.clone().into(), - asset_amount_to_send + fee_amount_to_send, - )); - }); - - // We create a pool between WND and USDT in AssetHub. - let native_asset: Location = Parent.into(); - let usdt = Location::new( - 0, - [Junction::PalletInstance(ASSETS_PALLET_ID), Junction::GeneralIndex(usdt_id.into())], - ); - - // set up pool with USDT <> native pair - AssetHubRococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - - assert_ok!(::Assets::mint( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - usdt_id.into(), - AssetHubRococoSender::get().into(), - 10_000_000_000_000, // For it to have more than enough. - )); - - assert_ok!(::AssetConversion::create_pool( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - Box::new(native_asset.clone()), - Box::new(usdt.clone()), - )); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::PoolCreated { .. }) => {}, - ] - ); - - assert_ok!(::AssetConversion::add_liquidity( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - Box::new(native_asset), - Box::new(usdt), - 1_000_000_000_000, - 2_000_000_000_000, // usdt is worth half of `native_asset` - 0, - 0, - AssetHubRococoSender::get().into() - )); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::LiquidityAdded { .. }) => {}, - ] - ); - }); - - let usdt_from_asset_hub = PenpalUsdtFromAssetHub::get(); - - // We also need a pool between WND and USDT on PenpalB. - PenpalB::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - let relay_asset = RelayLocation::get(); - - assert_ok!(::ForeignAssets::mint( - ::RuntimeOrigin::signed(PenpalAssetOwner::get()), - usdt_from_asset_hub.clone().into(), - PenpalBReceiver::get().into(), - 10_000_000_000_000, // For it to have more than enough. - )); - - assert_ok!(::AssetConversion::create_pool( - ::RuntimeOrigin::signed(PenpalBReceiver::get()), - Box::new(relay_asset.clone()), - Box::new(usdt_from_asset_hub.clone()), - )); - - assert_expected_events!( - PenpalB, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::PoolCreated { .. }) => {}, - ] - ); - - assert_ok!(::AssetConversion::add_liquidity( - ::RuntimeOrigin::signed(PenpalBReceiver::get()), - Box::new(relay_asset), - Box::new(usdt_from_asset_hub.clone()), - 1_000_000_000_000, - 2_000_000_000_000, // `usdt_from_asset_hub` is worth half of `relay_asset` - 0, - 0, - PenpalBReceiver::get().into() - )); - - assert_expected_events!( - PenpalB, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::LiquidityAdded { .. }) => {}, - ] - ); - }); - - PenpalA::execute_with(|| { - use frame_support::traits::tokens::fungibles::Mutate; - type ForeignAssets = ::ForeignAssets; - assert_ok!(>::mint_into( - usdt_from_asset_hub.clone(), - &sender, - asset_amount_to_send + fee_amount_to_send, - )); - }); - - // Prepare assets to transfer. - let assets: Assets = - (usdt_from_asset_hub.clone(), asset_amount_to_send + fee_amount_to_send).into(); - // Just to be very specific we're not including anything other than USDT. - assert_eq!(assets.len(), 1); - - // Give the sender enough Relay tokens to pay for local delivery fees. - // TODO(https://github.com/paritytech/polkadot-sdk/issues/5160): When we support local delivery fee payment in other assets, we don't need this. - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(PenpalAssetOwner::get()), - RelayLocation::get(), - sender.clone(), - 10_000_000_000_000, // Large estimate to make sure it works. - ); - - // Init values for Parachain Destination - let receiver = PenpalBReceiver::get(); - - // Init Test - let fee_asset_index = 0; - let test_args = TestContext { - sender: sender.clone(), - receiver: receiver.clone(), - args: TestArgs::new_para( - destination, - receiver.clone(), - asset_amount_to_send, - assets, - None, - fee_asset_index, - ), - }; - let mut test = ParaToParaThroughAHTest::new(test_args); - - // Query initial balances - let sender_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(usdt_from_asset_hub.clone(), &sender) - }); - let receiver_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(usdt_from_asset_hub.clone(), &receiver) - }); - test.set_assertion::(para_to_para_through_hop_sender_assertions); - test.set_assertion::(para_to_para_asset_hub_hop_assertions); - test.set_assertion::(para_to_para_through_hop_receiver_assertions); - test.set_dispatchable::( - para_to_para_through_asset_hub_limited_reserve_transfer_assets, - ); - test.assert(); - - // Query final balances - let sender_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(usdt_from_asset_hub.clone(), &sender) - }); - let receiver_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(usdt_from_asset_hub, &receiver) - }); - - // Sender's balance is reduced by amount - assert!(sender_assets_after < sender_assets_before - asset_amount_to_send); - // Receiver's balance is increased - assert!(receiver_assets_after > receiver_assets_before); -} - -/// Reserve Withdraw Native Asset from AssetHub to Parachain fails. -#[test] -fn reserve_withdraw_from_untrusted_reserve_fails() { - // Init values for Parachain Origin - let destination = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let signed_origin = - ::RuntimeOrigin::signed(AssetHubRococoSender::get().into()); - let roc_to_send: Balance = ROCOCO_ED * 10000; - let roc_location = RelayLocation::get(); - - // Assets to send - let assets: Vec = vec![(roc_location.clone(), roc_to_send).into()]; - let fee_id: AssetId = roc_location.into(); - - // this should fail - AssetHubRococo::execute_with(|| { - let result = ::PolkadotXcm::transfer_assets_using_type_and_then( - signed_origin.clone(), - bx!(destination.clone().into()), - bx!(assets.clone().into()), - bx!(TransferType::DestinationReserve), - bx!(fee_id.into()), - bx!(TransferType::DestinationReserve), - bx!(VersionedXcm::from(Xcm::<()>::new())), - Unlimited, - ); - assert_err!( - result, - DispatchError::Module(sp_runtime::ModuleError { - index: 31, - error: [22, 0, 0, 0], - message: Some("InvalidAssetUnsupportedReserve") - }) - ); - }); - - // this should also fail - AssetHubRococo::execute_with(|| { - let xcm: Xcm = Xcm(vec![ - WithdrawAsset(assets.into()), - InitiateReserveWithdraw { - assets: Wild(All), - reserve: destination, - xcm: Xcm::<()>::new(), - }, - ]); - let result = ::PolkadotXcm::execute( - signed_origin, - bx!(xcm::VersionedXcm::from(xcm)), - Weight::MAX, - ); - assert!(result.is_err()); - }); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/reward_pool.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/reward_pool.rs deleted file mode 100644 index 5840ca28788c4..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/reward_pool.rs +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use crate::imports::*; -use frame_support::{sp_runtime::traits::Dispatchable, traits::schedule::DispatchTime}; -use xcm_executor::traits::ConvertLocation; - -#[test] -fn treasury_creates_asset_reward_pool() { - AssetHubRococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - type Balances = ::Balances; - - let treasurer = - Location::new(1, [Plurality { id: BodyId::Treasury, part: BodyPart::Voice }]); - let treasurer_account = - ahr_xcm_config::LocationToAccountId::convert_location(&treasurer).unwrap(); - - assert_ok!(Balances::force_set_balance( - ::RuntimeOrigin::root(), - treasurer_account.clone().into(), - ASSET_HUB_ROCOCO_ED * 100_000, - )); - - let events = AssetHubRococo::events(); - match events.iter().last() { - Some(RuntimeEvent::Balances(pallet_balances::Event::BalanceSet { who, .. })) => - assert_eq!(*who, treasurer_account), - _ => panic!("Expected Balances::BalanceSet event"), - } - }); - - Rococo::execute_with(|| { - type AssetHubRococoRuntimeCall = ::RuntimeCall; - type AssetHubRococoRuntime = ::Runtime; - type RococoRuntimeCall = ::RuntimeCall; - type RococoRuntime = ::Runtime; - type RococoRuntimeEvent = ::RuntimeEvent; - type RococoRuntimeOrigin = ::RuntimeOrigin; - - Dmp::make_parachain_reachable(AssetHubRococo::para_id()); - - let staked_asset_id = bx!(RelayLocation::get()); - let reward_asset_id = bx!(RelayLocation::get()); - - let reward_rate_per_block = 1_000_000_000; - let lifetime = 1_000_000_000; - let admin = None; - - let create_pool_call = - RococoRuntimeCall::XcmPallet(pallet_xcm::Call::::send { - dest: bx!(VersionedLocation::V4( - xcm::v4::Junction::Parachain(AssetHubRococo::para_id().into()).into() - )), - message: bx!(VersionedXcm::V5(Xcm(vec![ - UnpaidExecution { weight_limit: Unlimited, check_origin: None }, - Transact { - origin_kind: OriginKind::SovereignAccount, - fallback_max_weight: None, - call: AssetHubRococoRuntimeCall::AssetRewards( - pallet_asset_rewards::Call::::create_pool { - staked_asset_id, - reward_asset_id, - reward_rate_per_block, - expiry: DispatchTime::After(lifetime), - admin - } - ) - .encode() - .into(), - } - ]))), - }); - - let treasury_origin: RococoRuntimeOrigin = Treasurer.into(); - assert_ok!(create_pool_call.dispatch(treasury_origin)); - - assert_expected_events!( - Rococo, - vec![ - RococoRuntimeEvent::XcmPallet(pallet_xcm::Event::Sent { .. }) => {}, - ] - ); - }); - - AssetHubRococo::execute_with(|| { - type Runtime = ::Runtime; - type RuntimeEvent = ::RuntimeEvent; - - assert_eq!(1, pallet_asset_rewards::Pools::::iter().count()); - - let events = AssetHubRococo::events(); - match events.iter().last() { - Some(RuntimeEvent::MessageQueue(pallet_message_queue::Event::Processed { - success: true, - .. - })) => (), - _ => panic!("Expected MessageQueue::Processed event"), - } - }); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/send.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/send.rs deleted file mode 100644 index 663615b187ca4..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/send.rs +++ /dev/null @@ -1,195 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use crate::{create_pool_with_roc_on, imports::*}; - -/// Relay Chain should be able to execute `Transact` instructions in System Parachain -/// when `OriginKind::Superuser`. -#[test] -fn send_transact_as_superuser_from_relay_to_asset_hub_works() { - AssetHubRococo::force_create_asset_from_relay_as_root( - ASSET_ID, - ASSET_MIN_BALANCE, - true, - AssetHubRococoSender::get().into(), - Some(Weight::from_parts(144_933_000, 3675)), - ) -} - -/// We tests two things here: -/// - Parachain should be able to send XCM paying its fee at Asset Hub using system asset -/// - Parachain should be able to create a new Foreign Asset at Asset Hub -#[test] -fn send_xcm_from_para_to_asset_hub_paying_fee_with_system_asset() { - let para_sovereign_account = AssetHubRococo::sovereign_account_id_of( - AssetHubRococo::sibling_location_of(PenpalA::para_id()), - ); - let asset_location_on_penpal = Location::new( - 0, - [Junction::PalletInstance(ASSETS_PALLET_ID), Junction::GeneralIndex(ASSET_ID.into())], - ); - let foreign_asset_at_asset_hub = - Location::new(1, [Junction::Parachain(PenpalA::para_id().into())]) - .appended_with(asset_location_on_penpal) - .unwrap(); - - // Encoded `create_asset` call to be executed in AssetHub - let call = AssetHubRococo::create_foreign_asset_call( - foreign_asset_at_asset_hub.clone(), - ASSET_MIN_BALANCE, - para_sovereign_account.clone(), - ); - - let origin_kind = OriginKind::Xcm; - let fee_amount = ASSET_HUB_ROCOCO_ED * 1000000; - let system_asset = (Parent, fee_amount).into(); - - let root_origin = ::RuntimeOrigin::root(); - let system_para_destination = PenpalA::sibling_location_of(AssetHubRococo::para_id()).into(); - let xcm = xcm_transact_paid_execution( - call, - origin_kind, - system_asset, - para_sovereign_account.clone(), - ); - - // SA-of-Penpal-on-AHR needs to have balance to pay for fees and asset creation deposit - AssetHubRococo::fund_accounts(vec![( - para_sovereign_account.clone().into(), - ASSET_HUB_ROCOCO_ED * 10000000000, - )]); - - PenpalA::execute_with(|| { - assert_ok!(::PolkadotXcm::send( - root_origin, - bx!(system_para_destination), - bx!(xcm), - )); - - PenpalA::assert_xcm_pallet_sent(); - }); - - AssetHubRococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - AssetHubRococo::assert_xcmp_queue_success(None); - assert_expected_events!( - AssetHubRococo, - vec![ - // Burned the fee - RuntimeEvent::Balances(pallet_balances::Event::Burned { who, amount }) => { - who: *who == para_sovereign_account, - amount: *amount == fee_amount, - }, - // Foreign Asset created - RuntimeEvent::ForeignAssets(pallet_assets::Event::Created { asset_id, creator, owner }) => { - asset_id: *asset_id == foreign_asset_at_asset_hub, - creator: *creator == para_sovereign_account.clone(), - owner: *owner == para_sovereign_account, - }, - ] - ); - - type ForeignAssets = ::ForeignAssets; - assert!(ForeignAssets::asset_exists(foreign_asset_at_asset_hub)); - }); -} - -/// We tests two things here: -/// - Parachain should be able to send XCM paying its fee at Asset Hub using sufficient asset -/// - Parachain should be able to create a new Asset at Asset Hub -#[test] -fn send_xcm_from_para_to_asset_hub_paying_fee_with_sufficient_asset() { - let para_sovereign_account = AssetHubRococo::sovereign_account_id_of( - AssetHubRococo::sibling_location_of(PenpalA::para_id()), - ); - - // Force create and mint sufficient assets for Parachain's sovereign account - AssetHubRococo::force_create_and_mint_asset( - ASSET_ID, - ASSET_MIN_BALANCE, - true, - para_sovereign_account.clone(), - Some(Weight::from_parts(144_933_000, 3675)), - ASSET_MIN_BALANCE * 1000000000, - ); - - // Just a different `asset_id`` that does not exist yet - let new_asset_id = ASSET_ID + 1; - - // Encoded `create_asset` call to be executed in AssetHub - let call = AssetHubRococo::create_asset_call( - new_asset_id, - ASSET_MIN_BALANCE, - para_sovereign_account.clone(), - ); - - let origin_kind = OriginKind::SovereignAccount; - let fee_amount = ASSET_MIN_BALANCE * 1000000; - let asset = - ([PalletInstance(ASSETS_PALLET_ID), GeneralIndex(ASSET_ID.into())], fee_amount).into(); - let asset_location = - Location::new(0, [PalletInstance(ASSETS_PALLET_ID), GeneralIndex(ASSET_ID.into())]); - - let root_origin = ::RuntimeOrigin::root(); - let system_para_destination = PenpalA::sibling_location_of(AssetHubRococo::para_id()).into(); - let xcm = xcm_transact_paid_execution(call, origin_kind, asset, para_sovereign_account.clone()); - - // SA-of-Penpal-on-AHR needs to have balance to pay for asset creation deposit - AssetHubRococo::fund_accounts(vec![( - para_sovereign_account.clone().into(), - ASSET_HUB_ROCOCO_ED * 10000000000, - )]); - - create_pool_with_roc_on!( - AssetHubRococo, - asset_location, - false, - para_sovereign_account.clone(), - 9_000_000_000_000_000, - 9_000_000_000_000 - ); - - PenpalA::execute_with(|| { - assert_ok!(::PolkadotXcm::send( - root_origin, - bx!(system_para_destination), - bx!(xcm), - )); - - PenpalA::assert_xcm_pallet_sent(); - }); - - AssetHubRococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - AssetHubRococo::assert_xcmp_queue_success(None); - assert_expected_events!( - AssetHubRococo, - vec![ - // Burned the fee - RuntimeEvent::Assets(pallet_assets::Event::Burned { asset_id, owner, balance }) => { - asset_id: *asset_id == ASSET_ID, - owner: *owner == para_sovereign_account, - balance: *balance == fee_amount, - }, - // Asset created - RuntimeEvent::Assets(pallet_assets::Event::Created { asset_id, creator, owner }) => { - asset_id: *asset_id == new_asset_id, - creator: *creator == para_sovereign_account.clone(), - owner: *owner == para_sovereign_account, - }, - ] - ); - }); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/set_xcm_versions.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/set_xcm_versions.rs deleted file mode 100644 index 8da1e56de219f..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/set_xcm_versions.rs +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use crate::imports::*; - -#[test] -fn relay_sets_system_para_xcm_supported_version() { - // Init tests variables - let sudo_origin = ::RuntimeOrigin::root(); - let system_para_destination: Location = Rococo::child_location_of(AssetHubRococo::para_id()); - - // Relay Chain sets supported version for Asset Parachain - Rococo::execute_with(|| { - assert_ok!(::XcmPallet::force_xcm_version( - sudo_origin, - bx!(system_para_destination.clone()), - XCM_V3 - )); - - type RuntimeEvent = ::RuntimeEvent; - - assert_expected_events!( - Rococo, - vec![ - RuntimeEvent::XcmPallet(pallet_xcm::Event::SupportedVersionChanged { - location, - version: XCM_V3 - }) => { location: *location == system_para_destination, }, - ] - ); - }); -} - -#[test] -fn system_para_sets_relay_xcm_supported_version() { - // Init test variables - let parent_location = AssetHubRococo::parent_location(); - let force_xcm_version_call = - ::RuntimeCall::PolkadotXcm(pallet_xcm::Call::< - ::Runtime, - >::force_xcm_version { - location: bx!(parent_location.clone()), - version: XCM_V3, - }) - .encode() - .into(); - - // System Parachain sets supported version for Relay Chain through it - Rococo::send_unpaid_transact_to_parachain_as_root( - AssetHubRococo::para_id(), - force_xcm_version_call, - ); - - // System Parachain receive the XCM message - AssetHubRococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - - AssetHubRococo::assert_dmp_queue_complete(Some(Weight::from_parts(115_294_000, 0))); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::PolkadotXcm(pallet_xcm::Event::SupportedVersionChanged { - location, - version: XCM_V3 - }) => { location: *location == parent_location, }, - ] - ); - }); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/swap.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/swap.rs deleted file mode 100644 index 84506d8ec38dc..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/swap.rs +++ /dev/null @@ -1,395 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use crate::imports::*; - -#[test] -fn swap_locally_on_chain_using_local_assets() { - let asset_native = Box::new(Location::try_from(RelayLocation::get()).unwrap()); - let asset_one = Box::new(Location::new( - 0, - [Junction::PalletInstance(ASSETS_PALLET_ID), Junction::GeneralIndex(ASSET_ID.into())], - )); - - AssetHubRococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - - assert_ok!(::Assets::create( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - ASSET_ID.into(), - AssetHubRococoSender::get().into(), - 1000, - )); - assert!(::Assets::asset_exists(ASSET_ID)); - - assert_ok!(::Assets::mint( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - ASSET_ID.into(), - AssetHubRococoSender::get().into(), - 100_000_000_000_000, - )); - - assert_ok!(::AssetConversion::create_pool( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - asset_native.clone(), - asset_one.clone(), - )); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::PoolCreated { .. }) => {}, - ] - ); - - assert_ok!(::AssetConversion::add_liquidity( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - asset_native.clone(), - asset_one.clone(), - 1_000_000_000_000, - 2_000_000_000_000, - 0, - 0, - AssetHubRococoSender::get().into() - )); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::LiquidityAdded {lp_token_minted, .. }) => { lp_token_minted: *lp_token_minted == 1414213562273, }, - ] - ); - - let path = vec![asset_native.clone(), asset_one.clone()]; - - assert_ok!( - ::AssetConversion::swap_exact_tokens_for_tokens( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - path, - 100, - 1, - AssetHubRococoSender::get().into(), - true - ) - ); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::SwapExecuted { amount_in, amount_out, .. }) => { - amount_in: *amount_in == 100, - amount_out: *amount_out == 199, - }, - ] - ); - - assert_ok!(::AssetConversion::remove_liquidity( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - asset_native, - asset_one, - 1414213562273 - ASSET_HUB_ROCOCO_ED * 2, // all but the 2 EDs can't be retrieved. - 0, - 0, - AssetHubRococoSender::get().into(), - )); - }); -} - -#[test] -fn swap_locally_on_chain_using_foreign_assets() { - let asset_native = Box::new(Location::try_from(RelayLocation::get()).unwrap()); - let asset_location_on_penpal = PenpalA::execute_with(|| { - Location::try_from(PenpalLocalTeleportableToAssetHub::get()).unwrap() - }); - let foreign_asset_at_asset_hub_rococo = - Location::new(1, [Junction::Parachain(PenpalA::para_id().into())]) - .appended_with(asset_location_on_penpal) - .unwrap(); - - let penpal_as_seen_by_ah = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let sov_penpal_on_ahr = AssetHubRococo::sovereign_account_id_of(penpal_as_seen_by_ah); - AssetHubRococo::fund_accounts(vec![ - // An account to swap dot for something else. - (AssetHubRococoSender::get().into(), 5_000_000 * ASSET_HUB_ROCOCO_ED), - // Penpal's sovereign account in AH should have some balance - (sov_penpal_on_ahr.clone().into(), 100_000_000 * ASSET_HUB_ROCOCO_ED), - ]); - - AssetHubRococo::execute_with(|| { - // 0: No need to create foreign asset as it exists in genesis. - // - // 1: Mint foreign asset on asset_hub_rococo: - // - // (While it might be nice to use batch, - // currently that's disabled due to safe call filters.) - - type RuntimeEvent = ::RuntimeEvent; - // 1. Mint foreign asset (in reality this should be a teleport or some such) - assert_ok!(::ForeignAssets::mint( - ::RuntimeOrigin::signed(sov_penpal_on_ahr.clone().into()), - foreign_asset_at_asset_hub_rococo.clone(), - sov_penpal_on_ahr.clone().into(), - ASSET_HUB_ROCOCO_ED * 3_000_000_000_000, - )); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {}, - ] - ); - - // 2. Create pool: - assert_ok!(::AssetConversion::create_pool( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - asset_native.clone(), - Box::new(foreign_asset_at_asset_hub_rococo.clone()), - )); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::PoolCreated { .. }) => {}, - ] - ); - - // 3. Add liquidity: - assert_ok!(::AssetConversion::add_liquidity( - ::RuntimeOrigin::signed(sov_penpal_on_ahr.clone()), - asset_native.clone(), - Box::new(foreign_asset_at_asset_hub_rococo.clone()), - 1_000_000_000_000, - 2_000_000_000_000, - 0, - 0, - sov_penpal_on_ahr.clone().into() - )); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::LiquidityAdded {lp_token_minted, .. }) => { - lp_token_minted: *lp_token_minted == 1414213562273, - }, - ] - ); - - // 4. Swap! - let path = vec![asset_native.clone(), Box::new(foreign_asset_at_asset_hub_rococo.clone())]; - - assert_ok!( - ::AssetConversion::swap_exact_tokens_for_tokens( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - path, - 100000 * ASSET_HUB_ROCOCO_ED, - 1000 * ASSET_HUB_ROCOCO_ED, - AssetHubRococoSender::get().into(), - true - ) - ); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::SwapExecuted { amount_in, amount_out, .. },) => { - amount_in: *amount_in == 333333300000, - amount_out: *amount_out == 498874118173, - }, - ] - ); - - // 5. Remove liquidity - assert_ok!(::AssetConversion::remove_liquidity( - ::RuntimeOrigin::signed(sov_penpal_on_ahr.clone()), - asset_native.clone(), - Box::new(foreign_asset_at_asset_hub_rococo.clone()), - 1414213562273 - ASSET_HUB_ROCOCO_ED * 2, // all but the 2 EDs can't be retrieved. - 0, - 0, - sov_penpal_on_ahr.clone().into(), - )); - }); -} - -#[test] -fn cannot_create_pool_from_pool_assets() { - let asset_native = RelayLocation::get(); - let mut asset_one = ahr_xcm_config::PoolAssetsPalletLocation::get(); - asset_one.append_with(GeneralIndex(ASSET_ID.into())).expect("pool assets"); - - AssetHubRococo::execute_with(|| { - let pool_owner_account_id = AssetHubRococoAssetConversionOrigin::get(); - - assert_ok!(::PoolAssets::create( - ::RuntimeOrigin::signed(pool_owner_account_id.clone()), - ASSET_ID.into(), - pool_owner_account_id.clone().into(), - 1000, - )); - assert!(::PoolAssets::asset_exists(ASSET_ID)); - - assert_ok!(::PoolAssets::mint( - ::RuntimeOrigin::signed(pool_owner_account_id), - ASSET_ID.into(), - AssetHubRococoSender::get().into(), - 3_000_000_000_000, - )); - - assert_matches::assert_matches!( - ::AssetConversion::create_pool( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - Box::new(Location::try_from(asset_native).unwrap()), - Box::new(Location::try_from(asset_one).unwrap()), - ), - Err(DispatchError::Module(ModuleError{index: _, error: _, message})) => assert_eq!(message, Some("Unknown")) - ); - }); -} - -#[test] -fn pay_xcm_fee_with_some_asset_swapped_for_native() { - let asset_native = Location::try_from(RelayLocation::get()).unwrap(); - let asset_one = Location { - parents: 0, - interior: [ - Junction::PalletInstance(ASSETS_PALLET_ID), - Junction::GeneralIndex(ASSET_ID.into()), - ] - .into(), - }; - let penpal = AssetHubRococo::sovereign_account_id_of(AssetHubRococo::sibling_location_of( - PenpalA::para_id(), - )); - - AssetHubRococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - - // set up pool with ASSET_ID <> NATIVE pair - assert_ok!(::Assets::create( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - ASSET_ID.into(), - AssetHubRococoSender::get().into(), - ASSET_MIN_BALANCE, - )); - assert!(::Assets::asset_exists(ASSET_ID)); - - assert_ok!(::Assets::mint( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - ASSET_ID.into(), - AssetHubRococoSender::get().into(), - 3_000_000_000_000, - )); - - assert_ok!(::AssetConversion::create_pool( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - Box::new(asset_native.clone()), - Box::new(asset_one.clone()), - )); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::PoolCreated { .. }) => {}, - ] - ); - - assert_ok!(::AssetConversion::add_liquidity( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - Box::new(asset_native), - Box::new(asset_one), - 1_000_000_000_000, - 2_000_000_000_000, - 0, - 0, - AssetHubRococoSender::get().into() - )); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::LiquidityAdded {lp_token_minted, .. }) => { lp_token_minted: *lp_token_minted == 1414213562273, }, - ] - ); - - // ensure `penpal` sovereign account has no native tokens and mint some `ASSET_ID` - assert_eq!( - ::Balances::free_balance(penpal.clone()), - 0 - ); - - assert_ok!(::Assets::touch_other( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - ASSET_ID.into(), - penpal.clone().into(), - )); - - assert_ok!(::Assets::mint( - ::RuntimeOrigin::signed(AssetHubRococoSender::get()), - ASSET_ID.into(), - penpal.clone().into(), - 10_000_000_000_000, - )); - }); - - PenpalA::execute_with(|| { - // send xcm transact from `penpal` account while paying with `ASSET_ID` tokens on - // `AssetHubRococo` - let call = ::RuntimeCall::System(frame_system::Call::< - ::Runtime, - >::remark { - remark: vec![], - }) - .encode() - .into(); - - let penpal_root = ::RuntimeOrigin::root(); - let fee_amount = 4_000_000_000_000u128; - let asset_one = - ([PalletInstance(ASSETS_PALLET_ID), GeneralIndex(ASSET_ID.into())], fee_amount).into(); - let asset_hub_location = PenpalA::sibling_location_of(AssetHubRococo::para_id()).into(); - let xcm = xcm_transact_paid_execution( - call, - OriginKind::SovereignAccount, - asset_one, - penpal.clone(), - ); - - assert_ok!(::PolkadotXcm::send( - penpal_root, - bx!(asset_hub_location), - bx!(xcm), - )); - - PenpalA::assert_xcm_pallet_sent(); - }); - - AssetHubRococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - - AssetHubRococo::assert_xcmp_queue_success(None); - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::AssetConversion(pallet_asset_conversion::Event::SwapCreditExecuted { .. },) => {}, - RuntimeEvent::MessageQueue(pallet_message_queue::Event::Processed { success: true,.. }) => {}, - ] - ); - }); -} - -#[test] -fn xcm_fee_querying_apis_work() { - test_xcm_fee_querying_apis_work_for_asset_hub!(AssetHubRococo); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/teleport.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/teleport.rs deleted file mode 100644 index 830a351f66097..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/teleport.rs +++ /dev/null @@ -1,653 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use crate::imports::*; - -fn relay_dest_assertions_fail(_t: SystemParaToRelayTest) { - Rococo::assert_ump_queue_processed( - false, - Some(AssetHubRococo::para_id()), - Some(Weight::from_parts(157_718_000, 3_593)), - ); -} - -fn para_origin_assertions(t: SystemParaToRelayTest) { - type RuntimeEvent = ::RuntimeEvent; - - AssetHubRococo::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts( - 730_053_000, - 4_000, - ))); - - AssetHubRococo::assert_parachain_system_ump_sent(); - - assert_expected_events!( - AssetHubRococo, - vec![ - // Amount is withdrawn from Sender's account - RuntimeEvent::Balances(pallet_balances::Event::Burned { who, amount }) => { - who: *who == t.sender.account_id, - amount: *amount == t.args.amount, - }, - ] - ); -} - -fn penpal_to_ah_foreign_assets_sender_assertions(t: ParaToSystemParaTest) { - type RuntimeEvent = ::RuntimeEvent; - let system_para_native_asset_location = RelayLocation::get(); - let expected_asset_id = t.args.asset_id.unwrap(); - let (_, expected_asset_amount) = - non_fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); - - PenpalA::assert_xcm_pallet_attempted_complete(None); - assert_expected_events!( - PenpalA, - vec![ - RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, .. } - ) => { - asset_id: *asset_id == system_para_native_asset_location, - owner: *owner == t.sender.account_id, - }, - RuntimeEvent::Assets(pallet_assets::Event::Burned { asset_id, owner, balance }) => { - asset_id: *asset_id == expected_asset_id, - owner: *owner == t.sender.account_id, - balance: *balance == expected_asset_amount, - }, - ] - ); -} - -fn penpal_to_ah_foreign_assets_receiver_assertions(t: ParaToSystemParaTest) { - type RuntimeEvent = ::RuntimeEvent; - let sov_penpal_on_ahr = AssetHubRococo::sovereign_account_id_of( - AssetHubRococo::sibling_location_of(PenpalA::para_id()), - ); - let (_, expected_foreign_asset_amount) = - non_fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); - let (_, fee_asset_amount) = fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); - - AssetHubRococo::assert_xcmp_queue_success(None); - - assert_expected_events!( - AssetHubRococo, - vec![ - // native asset reserve transfer for paying fees, withdrawn from Penpal's sov account - RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } - ) => { - who: *who == sov_penpal_on_ahr.clone().into(), - amount: *amount == fee_asset_amount, - }, - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { - who: *who == t.receiver.account_id, - }, - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, amount }) => { - asset_id: *asset_id == PenpalATeleportableAssetLocation::get(), - owner: *owner == t.receiver.account_id, - amount: *amount == expected_foreign_asset_amount, - }, - RuntimeEvent::Balances(pallet_balances::Event::Deposit { .. }) => {}, - ] - ); -} - -fn ah_to_penpal_foreign_assets_sender_assertions(t: SystemParaToParaTest) { - type RuntimeEvent = ::RuntimeEvent; - AssetHubRococo::assert_xcm_pallet_attempted_complete(None); - let (expected_foreign_asset_id, expected_foreign_asset_amount) = - non_fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); - let (_, fee_asset_amount) = fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); - assert_expected_events!( - AssetHubRococo, - vec![ - // native asset used for fees is transferred to Parachain's Sovereign account as reserve - RuntimeEvent::Balances( - pallet_balances::Event::Transfer { from, to, amount } - ) => { - from: *from == t.sender.account_id, - to: *to == AssetHubRococo::sovereign_account_id_of( - t.args.dest.clone() - ), - amount: *amount == fee_asset_amount, - }, - // foreign asset is burned locally as part of teleportation - RuntimeEvent::ForeignAssets(pallet_assets::Event::Burned { asset_id, owner, balance }) => { - asset_id: *asset_id == expected_foreign_asset_id, - owner: *owner == t.sender.account_id, - balance: *balance == expected_foreign_asset_amount, - }, - ] - ); -} - -fn ah_to_penpal_foreign_assets_receiver_assertions(t: SystemParaToParaTest) { - type RuntimeEvent = ::RuntimeEvent; - let expected_asset_id = t.args.asset_id.unwrap(); - let (_, expected_asset_amount) = - non_fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); - let checking_account = ::PolkadotXcm::check_account(); - let system_para_native_asset_location = RelayLocation::get(); - - PenpalA::assert_xcmp_queue_success(None); - - assert_expected_events!( - PenpalA, - vec![ - // checking account burns local asset as part of incoming teleport - RuntimeEvent::Assets(pallet_assets::Event::Burned { asset_id, owner, balance }) => { - asset_id: *asset_id == expected_asset_id, - owner: *owner == checking_account, - balance: *balance == expected_asset_amount, - }, - // local asset is teleported into account of receiver - RuntimeEvent::Assets(pallet_assets::Event::Issued { asset_id, owner, amount }) => { - asset_id: *asset_id == expected_asset_id, - owner: *owner == t.receiver.account_id, - amount: *amount == expected_asset_amount, - }, - // native asset for fee is deposited to receiver - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { - asset_id: *asset_id == system_para_native_asset_location, - owner: *owner == t.receiver.account_id, - }, - ] - ); -} - -fn system_para_limited_teleport_assets(t: SystemParaToRelayTest) -> DispatchResult { - ::PolkadotXcm::limited_teleport_assets( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.beneficiary.into()), - bx!(t.args.assets.into()), - t.args.fee_asset_item, - t.args.weight_limit, - ) -} - -fn para_to_system_para_transfer_assets(t: ParaToSystemParaTest) -> DispatchResult { - type Runtime = ::Runtime; - let remote_fee_id: AssetId = t - .args - .assets - .clone() - .into_inner() - .get(t.args.fee_asset_item as usize) - .ok_or(pallet_xcm::Error::::Empty)? - .clone() - .id; - - ::PolkadotXcm::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.assets.into()), - bx!(TransferType::Teleport), - bx!(remote_fee_id.into()), - bx!(TransferType::DestinationReserve), - bx!(VersionedXcm::from( - Xcm::<()>::builder_unsafe() - .deposit_asset(AllCounted(2), t.args.beneficiary) - .build() - )), - t.args.weight_limit, - ) -} - -fn system_para_to_para_transfer_assets(t: SystemParaToParaTest) -> DispatchResult { - type Runtime = ::Runtime; - let remote_fee_id: AssetId = t - .args - .assets - .clone() - .into_inner() - .get(t.args.fee_asset_item as usize) - .ok_or(pallet_xcm::Error::::Empty)? - .clone() - .id; - - ::PolkadotXcm::transfer_assets_using_type_and_then( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.assets.into()), - bx!(TransferType::Teleport), - bx!(remote_fee_id.into()), - bx!(TransferType::LocalReserve), - bx!(VersionedXcm::from( - Xcm::<()>::builder_unsafe() - .deposit_asset(AllCounted(2), t.args.beneficiary) - .build() - )), - t.args.weight_limit, - ) -} - -#[test] -fn teleport_via_limited_teleport_assets_to_other_system_parachains_works() { - let amount = ASSET_HUB_ROCOCO_ED * 100; - let native_asset: Assets = (Parent, amount).into(); - - test_parachain_is_trusted_teleporter!( - AssetHubRococo, // Origin - vec![BridgeHubRococo], // Destinations - (native_asset, amount), - limited_teleport_assets - ); -} - -#[test] -fn teleport_via_transfer_assets_to_other_system_parachains_works() { - let amount = ASSET_HUB_ROCOCO_ED * 100; - let native_asset: Assets = (Parent, amount).into(); - - test_parachain_is_trusted_teleporter!( - AssetHubRococo, // Origin - vec![BridgeHubRococo], // Destinations - (native_asset, amount), - transfer_assets - ); -} - -#[test] -fn teleport_via_limited_teleport_assets_from_and_to_relay() { - let amount = ROCOCO_ED * 100; - let native_asset: Assets = (Here, amount).into(); - - test_relay_is_trusted_teleporter!( - Rococo, - vec![AssetHubRococo], - (native_asset, amount), - limited_teleport_assets - ); - - test_parachain_is_trusted_teleporter_for_relay!( - AssetHubRococo, - Rococo, - amount, - limited_teleport_assets - ); -} - -#[test] -fn teleport_via_transfer_assets_from_and_to_relay() { - let amount = ROCOCO_ED * 100; - let native_asset: Assets = (Here, amount).into(); - - test_relay_is_trusted_teleporter!( - Rococo, - vec![AssetHubRococo], - (native_asset, amount), - transfer_assets - ); - - test_parachain_is_trusted_teleporter_for_relay!( - AssetHubRococo, - Rococo, - amount, - transfer_assets - ); -} - -/// Limited Teleport of native asset from System Parachain to Relay Chain -/// shouldn't work when there is not enough balance in Relay Chain's `CheckAccount` -#[test] -fn limited_teleport_native_assets_from_system_para_to_relay_fails() { - // Init values for Relay Chain - let amount_to_send: Balance = ASSET_HUB_ROCOCO_ED * 1000; - let destination = AssetHubRococo::parent_location().into(); - let beneficiary_id = RococoReceiver::get().into(); - let assets = (Parent, amount_to_send).into(); - - let test_args = TestContext { - sender: AssetHubRococoSender::get(), - receiver: RococoReceiver::get(), - args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), - }; - - let mut test = SystemParaToRelayTest::new(test_args); - - let sender_balance_before = test.sender.balance; - let receiver_balance_before = test.receiver.balance; - - test.set_assertion::(para_origin_assertions); - test.set_assertion::(relay_dest_assertions_fail); - test.set_dispatchable::(system_para_limited_teleport_assets); - test.assert(); - - let sender_balance_after = test.sender.balance; - let receiver_balance_after = test.receiver.balance; - - let delivery_fees = AssetHubRococo::execute_with(|| { - xcm_helpers::teleport_assets_delivery_fees::< - ::XcmSender, - >( - test.args.assets.clone(), 0, test.args.weight_limit, test.args.beneficiary, test.args.dest - ) - }); - - // Sender's balance is reduced - assert_eq!(sender_balance_before - amount_to_send - delivery_fees, sender_balance_after); - // Receiver's balance does not change - assert_eq!(receiver_balance_after, receiver_balance_before); -} - -/// Bidirectional teleports of local Penpal assets to Asset Hub as foreign assets while paying -/// fees using (reserve transferred) native asset. -pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using_xt( - para_to_ah_dispatchable: fn(ParaToSystemParaTest) -> DispatchResult, - ah_to_para_dispatchable: fn(SystemParaToParaTest) -> DispatchResult, -) { - // Init values for Parachain - let fee_amount_to_send: Balance = ASSET_HUB_ROCOCO_ED * 10000; - let asset_location_on_penpal = - PenpalA::execute_with(|| PenpalLocalTeleportableToAssetHub::get()); - let asset_id_on_penpal = match asset_location_on_penpal.last() { - Some(Junction::GeneralIndex(id)) => *id as u32, - _ => unreachable!(), - }; - let asset_amount_to_send = ASSET_HUB_ROCOCO_ED * 1000; - - let asset_owner = PenpalAssetOwner::get(); - let system_para_native_asset_location = RelayLocation::get(); - let sender = PenpalASender::get(); - let penpal_check_account = ::PolkadotXcm::check_account(); - let ah_as_seen_by_penpal = PenpalA::sibling_location_of(AssetHubRococo::para_id()); - let penpal_assets: Assets = vec![ - (Parent, fee_amount_to_send).into(), - (asset_location_on_penpal.clone(), asset_amount_to_send).into(), - ] - .into(); - let fee_asset_index = penpal_assets - .inner() - .iter() - .position(|r| r == &(Parent, fee_amount_to_send).into()) - .unwrap() as u32; - - // fund Parachain's sender account - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(asset_owner.clone()), - system_para_native_asset_location.clone(), - sender.clone(), - fee_amount_to_send * 2, - ); - // No need to create the asset (only mint) as it exists in genesis. - PenpalA::mint_asset( - ::RuntimeOrigin::signed(asset_owner.clone()), - asset_id_on_penpal, - sender.clone(), - asset_amount_to_send, - ); - // fund Parachain's check account to be able to teleport - PenpalA::fund_accounts(vec![(penpal_check_account.clone().into(), ASSET_HUB_ROCOCO_ED * 1000)]); - - // prefund SA of Penpal on AssetHub with enough native tokens to pay for fees - let penpal_as_seen_by_ah = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let sov_penpal_on_ah = AssetHubRococo::sovereign_account_id_of(penpal_as_seen_by_ah); - AssetHubRococo::fund_accounts(vec![( - sov_penpal_on_ah.clone().into(), - ASSET_HUB_ROCOCO_ED * 100_000_000_000, - )]); - - // Init values for System Parachain - let foreign_asset_at_asset_hub_rococo = - Location::new(1, [Junction::Parachain(PenpalA::para_id().into())]) - .appended_with(asset_location_on_penpal) - .unwrap(); - let penpal_to_ah_beneficiary_id = AssetHubRococoReceiver::get(); - - // Penpal to AH test args - let penpal_to_ah_test_args = TestContext { - sender: PenpalASender::get(), - receiver: AssetHubRococoReceiver::get(), - args: TestArgs::new_para( - ah_as_seen_by_penpal, - penpal_to_ah_beneficiary_id, - asset_amount_to_send, - penpal_assets, - Some(asset_id_on_penpal), - fee_asset_index, - ), - }; - let mut penpal_to_ah = ParaToSystemParaTest::new(penpal_to_ah_test_args); - let penpal_sender_balance_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_native_asset_location.clone(), - &PenpalASender::get(), - ) - }); - - let ah_receiver_balance_before = penpal_to_ah.receiver.balance; - - let penpal_sender_assets_before = PenpalA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalASender::get()) - }); - let ah_receiver_assets_before = AssetHubRococo::execute_with(|| { - type Assets = ::ForeignAssets; - >::balance( - foreign_asset_at_asset_hub_rococo.clone().try_into().unwrap(), - &AssetHubRococoReceiver::get(), - ) - }); - - penpal_to_ah.set_assertion::(penpal_to_ah_foreign_assets_sender_assertions); - penpal_to_ah.set_assertion::(penpal_to_ah_foreign_assets_receiver_assertions); - penpal_to_ah.set_dispatchable::(para_to_ah_dispatchable); - penpal_to_ah.assert(); - - let penpal_sender_balance_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_native_asset_location.clone(), - &PenpalASender::get(), - ) - }); - - let ah_receiver_balance_after = penpal_to_ah.receiver.balance; - - let penpal_sender_assets_after = PenpalA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalASender::get()) - }); - let ah_receiver_assets_after = AssetHubRococo::execute_with(|| { - type Assets = ::ForeignAssets; - >::balance( - foreign_asset_at_asset_hub_rococo.clone().try_into().unwrap(), - &AssetHubRococoReceiver::get(), - ) - }); - - // Sender's balance is reduced - assert!(penpal_sender_balance_after < penpal_sender_balance_before); - // Receiver's balance is increased - assert!(ah_receiver_balance_after > ah_receiver_balance_before); - // Receiver's balance increased by `amount_to_send - delivery_fees - bought_execution`; - // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but - // should be non-zero - assert!(ah_receiver_balance_after < ah_receiver_balance_before + fee_amount_to_send); - - // Sender's balance is reduced by exact amount - assert_eq!(penpal_sender_assets_before - asset_amount_to_send, penpal_sender_assets_after); - // Receiver's balance is increased by exact amount - assert_eq!(ah_receiver_assets_after, ah_receiver_assets_before + asset_amount_to_send); - - /////////////////////////////////////////////////////////////////////// - // Now test transferring foreign assets back from AssetHub to Penpal // - /////////////////////////////////////////////////////////////////////// - - // Move funds on AH from AHReceiver to AHSender - AssetHubRococo::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - assert_ok!(ForeignAssets::transfer( - ::RuntimeOrigin::signed(AssetHubRococoReceiver::get()), - foreign_asset_at_asset_hub_rococo.clone().try_into().unwrap(), - AssetHubRococoSender::get().into(), - asset_amount_to_send, - )); - }); - - let ah_to_penpal_beneficiary_id = PenpalAReceiver::get(); - let penpal_as_seen_by_ah = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let ah_assets: Assets = vec![ - (Parent, fee_amount_to_send).into(), - (foreign_asset_at_asset_hub_rococo.clone(), asset_amount_to_send).into(), - ] - .into(); - let fee_asset_index = ah_assets - .inner() - .iter() - .position(|r| r == &(Parent, fee_amount_to_send).into()) - .unwrap() as u32; - - // AH to Penpal test args - let ah_to_penpal_test_args = TestContext { - sender: AssetHubRococoSender::get(), - receiver: PenpalAReceiver::get(), - args: TestArgs::new_para( - penpal_as_seen_by_ah, - ah_to_penpal_beneficiary_id, - asset_amount_to_send, - ah_assets, - Some(asset_id_on_penpal), - fee_asset_index, - ), - }; - - let mut ah_to_penpal = SystemParaToParaTest::new(ah_to_penpal_test_args); - - let ah_sender_balance_before = ah_to_penpal.sender.balance; - let penpal_receiver_balance_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_native_asset_location.clone(), - &PenpalAReceiver::get(), - ) - }); - - let ah_sender_assets_before = AssetHubRococo::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - foreign_asset_at_asset_hub_rococo.clone().try_into().unwrap(), - &AssetHubRococoSender::get(), - ) - }); - let penpal_receiver_assets_before = PenpalA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalAReceiver::get()) - }); - - ah_to_penpal.set_assertion::(ah_to_penpal_foreign_assets_sender_assertions); - ah_to_penpal.set_assertion::(ah_to_penpal_foreign_assets_receiver_assertions); - ah_to_penpal.set_dispatchable::(ah_to_para_dispatchable); - ah_to_penpal.assert(); - - let ah_sender_balance_after = ah_to_penpal.sender.balance; - let penpal_receiver_balance_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_native_asset_location, - &PenpalAReceiver::get(), - ) - }); - - let ah_sender_assets_after = AssetHubRococo::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - foreign_asset_at_asset_hub_rococo.try_into().unwrap(), - &AssetHubRococoSender::get(), - ) - }); - let penpal_receiver_assets_after = PenpalA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalAReceiver::get()) - }); - - // Sender's balance is reduced - assert!(ah_sender_balance_after < ah_sender_balance_before); - // Receiver's balance is increased - assert!(penpal_receiver_balance_after > penpal_receiver_balance_before); - // Receiver's balance increased by `amount_to_send - delivery_fees - bought_execution`; - // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but - // should be non-zero - assert!(penpal_receiver_balance_after < penpal_receiver_balance_before + fee_amount_to_send); - - // Sender's balance is reduced by exact amount - assert_eq!(ah_sender_assets_before - asset_amount_to_send, ah_sender_assets_after); - // Receiver's balance is increased by exact amount - assert_eq!(penpal_receiver_assets_after, penpal_receiver_assets_before + asset_amount_to_send); -} - -/// Bidirectional teleports of local Penpal assets to Asset Hub as foreign assets should work -/// (using native reserve-based transfer for fees) -#[test] -fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { - do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using_xt( - para_to_system_para_transfer_assets, - system_para_to_para_transfer_assets, - ); -} - -/// Teleport Native Asset from AssetHub to Parachain fails. -#[test] -fn teleport_to_untrusted_chain_fails() { - // Init values for Parachain Origin - let destination = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let signed_origin = - ::RuntimeOrigin::signed(AssetHubRococoSender::get().into()); - let roc_to_send: Balance = ROCOCO_ED * 10000; - let roc_location = RelayLocation::get(); - - // Assets to send - let assets: Vec = vec![(roc_location.clone(), roc_to_send).into()]; - let fee_id: AssetId = roc_location.into(); - - // this should fail - AssetHubRococo::execute_with(|| { - let result = ::PolkadotXcm::transfer_assets_using_type_and_then( - signed_origin.clone(), - bx!(destination.clone().into()), - bx!(assets.clone().into()), - bx!(TransferType::Teleport), - bx!(fee_id.into()), - bx!(TransferType::Teleport), - bx!(VersionedXcm::from(Xcm::<()>::new())), - Unlimited, - ); - assert_err!( - result, - DispatchError::Module(sp_runtime::ModuleError { - index: 31, - error: [2, 0, 0, 0], - message: Some("Filtered") - }) - ); - }); - - // this should also fail - AssetHubRococo::execute_with(|| { - let xcm: Xcm = Xcm(vec![ - WithdrawAsset(assets.into()), - InitiateTeleport { assets: Wild(All), dest: destination, xcm: Xcm::<()>::new() }, - ]); - let result = ::PolkadotXcm::execute( - signed_origin, - bx!(xcm::VersionedXcm::from(xcm)), - Weight::MAX, - ); - assert!(result.is_err()); - }); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/treasury.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/treasury.rs deleted file mode 100644 index d974b1b866ed0..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/treasury.rs +++ /dev/null @@ -1,262 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use crate::imports::*; -use emulated_integration_tests_common::{ - accounts::{ALICE, BOB}, - USDT_ID, -}; -use frame_support::{ - dispatch::RawOrigin, - sp_runtime::traits::Dispatchable, - traits::{ - fungible::Inspect, - fungibles::{Inspect as FungiblesInspect, Mutate}, - }, -}; -use parachains_common::AccountId; -use polkadot_runtime_common::impls::VersionedLocatableAsset; -use rococo_runtime_constants::currency::GRAND; -use xcm_executor::traits::ConvertLocation; - -// Fund Treasury account on Asset Hub from Treasury account on Relay Chain with ROCs. -#[test] -fn spend_roc_on_asset_hub() { - // initial treasury balance on Asset Hub in ROCs. - let treasury_balance = 9_000 * GRAND; - // the balance spend on Asset Hub. - let treasury_spend_balance = 1_000 * GRAND; - - let init_alice_balance = AssetHubRococo::execute_with(|| { - <::Balances as Inspect<_>>::balance( - &AssetHubRococo::account_id_of(ALICE), - ) - }); - - Rococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - type RuntimeCall = ::RuntimeCall; - type Runtime = ::Runtime; - type Balances = ::Balances; - type Treasury = ::Treasury; - - // Fund Treasury account on Asset Hub with ROCs. - - let root = ::RuntimeOrigin::root(); - let treasury_account = Treasury::account_id(); - - // Mint assets to Treasury account on Relay Chain. - assert_ok!(Balances::force_set_balance( - root.clone(), - treasury_account.clone().into(), - treasury_balance * 2, - )); - - Dmp::make_parachain_reachable(1000); - let native_asset = Location::here(); - let asset_hub_location: Location = [Parachain(1000)].into(); - let treasury_location: Location = (Parent, PalletInstance(18)).into(); - - let teleport_call = RuntimeCall::Utility(pallet_utility::Call::::dispatch_as { - as_origin: bx!(RococoOriginCaller::system(RawOrigin::Signed(treasury_account))), - call: bx!(RuntimeCall::XcmPallet(pallet_xcm::Call::::teleport_assets { - dest: bx!(VersionedLocation::from(asset_hub_location.clone())), - beneficiary: bx!(VersionedLocation::from(treasury_location)), - assets: bx!(VersionedAssets::from(Assets::from(Asset { - id: native_asset.clone().into(), - fun: treasury_balance.into() - }))), - fee_asset_item: 0, - })), - }); - - // Dispatched from Root to `dispatch_as` `Signed(treasury_account)`. - assert_ok!(teleport_call.dispatch(root)); - - assert_expected_events!( - Rococo, - vec![ - RuntimeEvent::XcmPallet(pallet_xcm::Event::Sent { .. }) => {}, - ] - ); - }); - - Rococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - type RuntimeCall = ::RuntimeCall; - type RuntimeOrigin = ::RuntimeOrigin; - type Runtime = ::Runtime; - type Treasury = ::Treasury; - - // Fund Alice account from Rococo Treasury account on Asset Hub. - - let treasury_origin: RuntimeOrigin = - rococo_governance::pallet_custom_origins::Origin::Treasurer.into(); - - let alice_location: Location = - [Junction::AccountId32 { network: None, id: Rococo::account_id_of(ALICE).into() }] - .into(); - let asset_hub_location: Location = [Parachain(1000)].into(); - let native_asset = Location::parent(); - - let treasury_spend_call = RuntimeCall::Treasury(pallet_treasury::Call::::spend { - asset_kind: bx!(VersionedLocatableAsset::from(( - asset_hub_location.clone(), - native_asset.into() - ))), - amount: treasury_spend_balance, - beneficiary: bx!(VersionedLocation::from(alice_location)), - valid_from: None, - }); - - assert_ok!(treasury_spend_call.dispatch(treasury_origin)); - - // Claim the spend. - - let bob_signed = RuntimeOrigin::signed(Rococo::account_id_of(BOB)); - assert_ok!(Treasury::payout(bob_signed.clone(), 0)); - - assert_expected_events!( - Rococo, - vec![ - RuntimeEvent::Treasury(pallet_treasury::Event::AssetSpendApproved { .. }) => {}, - RuntimeEvent::Treasury(pallet_treasury::Event::Paid { .. }) => {}, - ] - ); - }); - - AssetHubRococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - type Balances = ::Balances; - - // Ensure that the funds deposited to Alice account. - - let alice_account = AssetHubRococo::account_id_of(ALICE); - assert_eq!( - >::balance(&alice_account), - treasury_spend_balance + init_alice_balance - ); - - // Assert events triggered by xcm pay program: - // 1. treasury asset transferred to spend beneficiary; - // 2. response to Relay Chain Treasury pallet instance sent back; - // 3. XCM program completed; - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::Balances(pallet_balances::Event::Transfer { .. }) => {}, - RuntimeEvent::ParachainSystem(cumulus_pallet_parachain_system::Event::UpwardMessageSent { .. }) => {}, - RuntimeEvent::MessageQueue(pallet_message_queue::Event::Processed { success: true ,.. }) => {}, - ] - ); - }); -} - -#[test] -fn create_and_claim_treasury_spend_in_usdt() { - const SPEND_AMOUNT: u128 = 10_000_000; - // treasury location from a sibling parachain. - let treasury_location: Location = Location::new(1, PalletInstance(18)); - // treasury account on a sibling parachain. - let treasury_account = - ahr_xcm_config::LocationToAccountId::convert_location(&treasury_location).unwrap(); - let asset_hub_location = Location::new(0, Parachain(AssetHubRococo::para_id().into())); - let root = ::RuntimeOrigin::root(); - // asset kind to be spent from the treasury. - let asset_kind: VersionedLocatableAsset = - (asset_hub_location, AssetId((PalletInstance(50), GeneralIndex(USDT_ID.into())).into())) - .into(); - // treasury spend beneficiary. - let alice: AccountId = Rococo::account_id_of(ALICE); - let bob: AccountId = Rococo::account_id_of(BOB); - let bob_signed = ::RuntimeOrigin::signed(bob.clone()); - - AssetHubRococo::execute_with(|| { - type Assets = ::Assets; - - // USDT created at genesis, mint some assets to the treasury account. - assert_ok!(>::mint_into(USDT_ID, &treasury_account, SPEND_AMOUNT * 4)); - // beneficiary has zero balance. - assert_eq!(>::balance(USDT_ID, &alice,), 0u128,); - }); - - Rococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - type Treasury = ::Treasury; - type AssetRate = ::AssetRate; - - // create a conversion rate from `asset_kind` to the native currency. - assert_ok!(AssetRate::create(root.clone(), Box::new(asset_kind.clone()), 2.into())); - - Dmp::make_parachain_reachable(1000); - - // create and approve a treasury spend. - assert_ok!(Treasury::spend( - root, - Box::new(asset_kind), - SPEND_AMOUNT, - Box::new(Location::new(0, Into::<[u8; 32]>::into(alice.clone())).into()), - None, - )); - // claim the spend. - assert_ok!(Treasury::payout(bob_signed.clone(), 0)); - - assert_expected_events!( - Rococo, - vec![ - RuntimeEvent::Treasury(pallet_treasury::Event::Paid { .. }) => {}, - ] - ); - }); - - AssetHubRococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - type Assets = ::Assets; - - // assert events triggered by xcm pay program - // 1. treasury asset transferred to spend beneficiary - // 2. response to Relay Chain treasury pallet instance sent back - // 3. XCM program completed - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::Assets(pallet_assets::Event::Transferred { asset_id: id, from, to, amount }) => { - id: id == &USDT_ID, - from: from == &treasury_account, - to: to == &alice, - amount: amount == &SPEND_AMOUNT, - }, - RuntimeEvent::ParachainSystem(cumulus_pallet_parachain_system::Event::UpwardMessageSent { .. }) => {}, - RuntimeEvent::MessageQueue(pallet_message_queue::Event::Processed { success: true ,.. }) => {}, - ] - ); - // beneficiary received the assets from the treasury. - assert_eq!(>::balance(USDT_ID, &alice,), SPEND_AMOUNT,); - }); - - Rococo::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - type Treasury = ::Treasury; - - // check the payment status to ensure the response from the AssetHub was received. - assert_ok!(Treasury::check_status(bob_signed, 0)); - assert_expected_events!( - Rococo, - vec![ - RuntimeEvent::Treasury(pallet_treasury::Event::SpendProcessed { .. }) => {}, - ] - ); - }); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/xcm_fee_estimation.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/xcm_fee_estimation.rs deleted file mode 100644 index 843d1b38c0395..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/xcm_fee_estimation.rs +++ /dev/null @@ -1,295 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Tests for XCM fee estimation in the runtime. - -use crate::imports::*; -use emulated_integration_tests_common::test_can_estimate_and_pay_exact_fees; -use frame_support::dispatch::RawOrigin; -use xcm_runtime_apis::{ - dry_run::runtime_decl_for_dry_run_api::DryRunApiV2, - fees::runtime_decl_for_xcm_payment_api::XcmPaymentApiV2, -}; - -fn sender_assertions(test: ParaToParaThroughAHTest) { - type RuntimeEvent = ::RuntimeEvent; - PenpalA::assert_xcm_pallet_attempted_complete(None); - - assert_expected_events!( - PenpalA, - vec![ - RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, balance } - ) => { - asset_id: *asset_id == Location::new(1, []), - owner: *owner == test.sender.account_id, - balance: *balance == test.args.amount, - }, - ] - ); -} - -fn hop_assertions(test: ParaToParaThroughAHTest) { - type RuntimeEvent = ::RuntimeEvent; - AssetHubRococo::assert_xcmp_queue_success(None); - - assert_expected_events!( - AssetHubRococo, - vec![ - RuntimeEvent::Balances( - pallet_balances::Event::Burned { amount, .. } - ) => { - amount: *amount > test.args.amount * 90/100, - }, - ] - ); -} - -fn receiver_assertions(test: ParaToParaThroughAHTest) { - type RuntimeEvent = ::RuntimeEvent; - PenpalB::assert_xcmp_queue_success(None); - - assert_expected_events!( - PenpalB, - vec![ - RuntimeEvent::ForeignAssets( - pallet_assets::Event::Issued { asset_id, owner, .. } - ) => { - asset_id: *asset_id == Location::new(1, []), - owner: *owner == test.receiver.account_id, - }, - ] - ); -} - -fn transfer_assets_para_to_para_through_ah_call( - test: ParaToParaThroughAHTest, -) -> ::RuntimeCall { - type RuntimeCall = ::RuntimeCall; - - let asset_hub_location: Location = PenpalB::sibling_location_of(AssetHubRococo::para_id()); - let custom_xcm_on_dest = Xcm::<()>(vec![DepositAsset { - assets: Wild(AllCounted(test.args.assets.len() as u32)), - beneficiary: test.args.beneficiary, - }]); - RuntimeCall::PolkadotXcm(pallet_xcm::Call::transfer_assets_using_type_and_then { - dest: bx!(test.args.dest.into()), - assets: bx!(test.args.assets.clone().into()), - assets_transfer_type: bx!(TransferType::RemoteReserve(asset_hub_location.clone().into())), - remote_fees_id: bx!(VersionedAssetId::from(AssetId(Location::new(1, [])))), - fees_transfer_type: bx!(TransferType::RemoteReserve(asset_hub_location.into())), - custom_xcm_on_dest: bx!(VersionedXcm::from(custom_xcm_on_dest)), - weight_limit: test.args.weight_limit, - }) -} - -/// We are able to dry-run and estimate the fees for a multi-hop XCM journey. -/// Scenario: Alice on PenpalA has some DOTs and wants to send them to PenpalB. -/// We want to know the fees using the `DryRunApi` and `XcmPaymentApi`. -#[test] -fn multi_hop_works() { - let destination = PenpalA::sibling_location_of(PenpalB::para_id()); - let sender = PenpalASender::get(); - let amount_to_send = 1_000_000_000_000; - let asset_owner = PenpalAssetOwner::get(); - let assets: Assets = (Parent, amount_to_send).into(); - let relay_native_asset_location = Location::parent(); - let sender_as_seen_by_ah = AssetHubRococo::sibling_location_of(PenpalA::para_id()); - let sov_of_sender_on_ah = AssetHubRococo::sovereign_account_id_of(sender_as_seen_by_ah.clone()); - - // fund Parachain's sender account - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(asset_owner.clone()), - relay_native_asset_location.clone(), - sender.clone(), - amount_to_send * 2, - ); - - // fund the Parachain Origin's SA on AssetHub with the native tokens held in reserve. - AssetHubRococo::fund_accounts(vec![(sov_of_sender_on_ah.clone(), amount_to_send * 2)]); - - // Init values for Parachain Destination - let beneficiary_id = PenpalBReceiver::get(); - - let test_args = TestContext { - sender: PenpalASender::get(), // Bob in PenpalB. - receiver: PenpalBReceiver::get(), // Alice. - args: TestArgs::new_para( - destination, - beneficiary_id.clone(), - amount_to_send, - assets, - None, - 0, - ), - }; - let mut test = ParaToParaThroughAHTest::new(test_args); - - // We get them from the PenpalA closure. - let mut delivery_fees_amount = 0; - let mut remote_message = VersionedXcm::from(Xcm(Vec::new())); - ::execute_with(|| { - type Runtime = ::Runtime; - type OriginCaller = ::OriginCaller; - - let call = transfer_assets_para_to_para_through_ah_call(test.clone()); - let origin = OriginCaller::system(RawOrigin::Signed(sender.clone())); - let result = Runtime::dry_run_call(origin, call, xcm::prelude::XCM_VERSION).unwrap(); - // We filter the result to get only the messages we are interested in. - let (destination_to_query, messages_to_query) = &result - .forwarded_xcms - .iter() - .find(|(destination, _)| { - *destination == VersionedLocation::from(Location::new(1, [Parachain(1000)])) - }) - .unwrap(); - assert_eq!(messages_to_query.len(), 1); - remote_message = messages_to_query[0].clone(); - let asset_id_for_delivery_fees = VersionedAssetId::from(Location::parent()); - let delivery_fees = Runtime::query_delivery_fees( - destination_to_query.clone(), - remote_message.clone(), - asset_id_for_delivery_fees, - ) - .unwrap(); - delivery_fees_amount = get_amount_from_versioned_assets(delivery_fees); - }); - - // These are set in the AssetHub closure. - let mut intermediate_execution_fees = 0; - let mut intermediate_delivery_fees_amount = 0; - let mut intermediate_remote_message = VersionedXcm::from(Xcm::<()>(Vec::new())); - ::execute_with(|| { - type Runtime = ::Runtime; - type RuntimeCall = ::RuntimeCall; - - // First we get the execution fees. - let weight = Runtime::query_xcm_weight(remote_message.clone()).unwrap(); - intermediate_execution_fees = Runtime::query_weight_to_asset_fee( - weight, - VersionedAssetId::from(AssetId(Location::new(1, []))), - ) - .unwrap(); - - // We have to do this to turn `VersionedXcm<()>` into `VersionedXcm`. - let xcm_program = VersionedXcm::from(Xcm::::from( - remote_message.clone().try_into().unwrap(), - )); - - // Now we get the delivery fees to the final destination. - let result = - Runtime::dry_run_xcm(sender_as_seen_by_ah.clone().into(), xcm_program).unwrap(); - let (destination_to_query, messages_to_query) = &result - .forwarded_xcms - .iter() - .find(|(destination, _)| { - *destination == VersionedLocation::from(Location::new(1, [Parachain(2001)])) - }) - .unwrap(); - // There's actually two messages here. - // One created when the message we sent from PenpalA arrived and was executed. - // The second one when we dry-run the xcm. - // We could've gotten the message from the queue without having to dry-run, but - // offchain applications would have to dry-run, so we do it here as well. - intermediate_remote_message = messages_to_query[0].clone(); - let asset_id_for_delivery_fees = VersionedAssetId::from(Location::parent()); - let delivery_fees = Runtime::query_delivery_fees( - destination_to_query.clone(), - intermediate_remote_message.clone(), - asset_id_for_delivery_fees, - ) - .unwrap(); - intermediate_delivery_fees_amount = get_amount_from_versioned_assets(delivery_fees); - }); - - // Get the final execution fees in the destination. - let mut final_execution_fees = 0; - ::execute_with(|| { - type Runtime = ::Runtime; - - let weight = Runtime::query_xcm_weight(intermediate_remote_message.clone()).unwrap(); - final_execution_fees = Runtime::query_weight_to_asset_fee( - weight, - VersionedAssetId::from(AssetId(Location::parent())), - ) - .unwrap(); - }); - - // Dry-running is done. - PenpalA::reset_ext(); - AssetHubRococo::reset_ext(); - PenpalB::reset_ext(); - - // Fund accounts again. - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(asset_owner), - relay_native_asset_location.clone(), - sender.clone(), - amount_to_send * 2, - ); - AssetHubRococo::fund_accounts(vec![(sov_of_sender_on_ah, amount_to_send * 2)]); - - // Actually run the extrinsic. - let sender_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &beneficiary_id) - }); - - test.set_assertion::(sender_assertions); - test.set_assertion::(hop_assertions); - test.set_assertion::(receiver_assertions); - let call = transfer_assets_para_to_para_through_ah_call(test.clone()); - test.set_call(call); - test.assert(); - - let sender_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &beneficiary_id) - }); - - // We know the exact fees on every hop. - assert_eq!( - sender_assets_after, - sender_assets_before - amount_to_send - delivery_fees_amount /* This is charged directly - * from the sender's - * account. */ - ); - assert_eq!( - receiver_assets_after, - receiver_assets_before + amount_to_send - - intermediate_execution_fees - - intermediate_delivery_fees_amount - - final_execution_fees - ); -} - -#[test] -fn multi_hop_pay_fees_works() { - test_can_estimate_and_pay_exact_fees!( - PenpalA, - AssetHubRococo, - PenpalB, - (Parent, 1_000_000_000_000u128), - Penpal - ); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/claim_assets.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/claim_assets.rs index a124cc97a9e86..4685e0d3da500 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/claim_assets.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/claim_assets.rs @@ -16,17 +16,16 @@ //! Tests related to claiming assets trapped during XCM execution. use crate::imports::*; - use emulated_integration_tests_common::test_chain_can_claim_assets; #[test] fn assets_can_be_claimed() { let amount = AssetHubWestendExistentialDeposit::get(); - let assets: Assets = (Parent, amount).into(); + let assets: Asset = (Parent, amount).into(); test_chain_can_claim_assets!( AssetHubWestend, - RuntimeCall, + AssetHubWestendXcmConfig, NetworkId::ByGenesis(WESTEND_GENESIS_HASH), assets, amount diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/exchange_asset.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/exchange_asset.rs index 800fa967aa475..54775178268c3 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/exchange_asset.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/exchange_asset.rs @@ -13,149 +13,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{ - assets_balance_on, create_pool_with_wnd_on, foreign_balance_on, - imports::{ - asset_hub_westend_runtime::{ExistentialDeposit, Runtime}, - *, - }, -}; -use asset_hub_westend_runtime::{ - xcm_config::WestendLocation, Balances, ForeignAssets, PolkadotXcm, RuntimeOrigin, -}; -use emulated_integration_tests_common::{accounts::ALICE, xcm_emulator::TestExt}; -use frame_support::{ - assert_err_ignore_postinfo, assert_ok, - traits::fungible::{Inspect, Mutate}, -}; -use parachains_common::{AccountId, Balance}; -use sp_tracing::capture_test_logs; +use crate::{assets_balance_on, create_pool_with_wnd_on, foreign_balance_on, imports::*}; +use emulated_integration_tests_common::xcm_emulator::TestExt; +use frame_support::assert_ok; use std::convert::Into; -use xcm::latest::{Assets, Error as XcmError, Location, Xcm}; - -const UNITS: Balance = 1_000_000_000; - -#[test] -fn exchange_asset_success() { - test_exchange_asset(true, 500 * UNITS, 665 * UNITS, None); -} - -#[test] -fn exchange_asset_insufficient_liquidity() { - let log_capture = capture_test_logs!({ - test_exchange_asset( - true, - 1_000 * UNITS, - 2_000 * UNITS, - Some(InstructionError { index: 1, error: XcmError::NoDeal }), - ); - }); - assert!(log_capture.contains("NoDeal")); -} - -#[test] -fn exchange_asset_insufficient_balance() { - let log_capture = capture_test_logs!({ - test_exchange_asset( - true, - 5_000 * UNITS, - 1_665 * UNITS, - Some(InstructionError { index: 0, error: XcmError::FailedToTransactAsset("") }), - ); - }); - assert!(log_capture.contains("Funds are unavailable")); -} - -#[test] -fn exchange_asset_pool_not_created() { - test_exchange_asset( - false, - 500 * UNITS, - 665 * UNITS, - Some(InstructionError { index: 1, error: XcmError::NoDeal }), - ); -} - -fn test_exchange_asset( - create_pool: bool, - give_amount: Balance, - want_amount: Balance, - expected_error: Option, -) { - let alice: AccountId = Westend::account_id_of(ALICE); - let native_asset_location = WestendLocation::get(); - let native_asset_id = AssetId(native_asset_location.clone()); - let origin = RuntimeOrigin::signed(alice.clone()); - let asset_location = Location::new(1, [Parachain(2001)]); - let asset_id = AssetId(asset_location.clone()); - - // Setup initial state - AssetHubWestend::execute_with(|| { - assert_ok!(>::mint_into( - &alice, - ExistentialDeposit::get() + (1_000 * UNITS) - )); - - assert_ok!(ForeignAssets::force_create( - RuntimeOrigin::root(), - asset_location.clone().into(), - alice.clone().into(), - true, - 1 - )); - }); - - if create_pool { - create_pool_with_wnd_on!(AssetHubWestend, asset_location.clone(), true, alice.clone()); - } - - // Execute and verify swap - AssetHubWestend::execute_with(|| { - let foreign_balance_before = ForeignAssets::balance(asset_location.clone(), &alice); - let wnd_balance_before = Balances::total_balance(&alice); - - let give: Assets = (native_asset_id, give_amount).into(); - let want: Assets = (asset_id, want_amount).into(); - let xcm = Xcm(vec![ - WithdrawAsset(give.clone().into()), - ExchangeAsset { give: give.into(), want: want.into(), maximal: true }, - DepositAsset { assets: Wild(All), beneficiary: alice.clone().into() }, - ]); - - let result = PolkadotXcm::execute(origin, bx!(xcm::VersionedXcm::from(xcm)), Weight::MAX); - - let foreign_balance_after = ForeignAssets::balance(asset_location, &alice); - let wnd_balance_after = Balances::total_balance(&alice); - - if let Some(InstructionError { index, error }) = expected_error { - assert_err_ignore_postinfo!( - result, - pallet_xcm::Error::::LocalExecutionIncompleteWithError { - index, - error: error.into() - } - ); - assert_eq!( - foreign_balance_after, foreign_balance_before, - "Foreign balance changed unexpectedly: got {foreign_balance_after}, expected {foreign_balance_before}" - ); - assert_eq!( - wnd_balance_after, wnd_balance_before, - "WND balance changed unexpectedly: got {wnd_balance_after}, expected {wnd_balance_before}" - ); - } else { - assert_ok!(result); - assert!( - foreign_balance_after >= foreign_balance_before + want_amount, - "Expected foreign balance to increase by at least {want_amount} units, got {foreign_balance_after} from {foreign_balance_before}" - ); - assert_eq!( - wnd_balance_after, wnd_balance_before - give_amount, - "Expected WND balance to decrease by {give_amount} units, got {wnd_balance_after} from {wnd_balance_before}" - ); - } - }); -} +use xcm::latest::{Location, Xcm}; #[test] fn exchange_asset_from_penpal_via_asset_hub_back_to_penpal() { diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/fellowship_treasury.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/fellowship_treasury.rs index 124ec2ec1f66e..746613aafa677 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/fellowship_treasury.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/fellowship_treasury.rs @@ -42,13 +42,15 @@ fn create_and_claim_treasury_spend() { let bob: AccountId = CollectivesWestend::account_id_of(BOB); let bob_signed = ::RuntimeOrigin::signed(bob.clone()); - AssetHubWestend::execute_with(|| { + let ah_usdt_issuance_before = AssetHubWestend::execute_with(|| { type Assets = ::Assets; // USDT created at genesis, mint some assets to the fellowship treasury account. assert_ok!(>::mint_into(USDT_ID, &treasury_account, SPEND_AMOUNT * 4)); // beneficiary has zero balance. - assert_eq!(>::balance(USDT_ID, &alice,), 0u128,); + assert_eq!(>::balance(USDT_ID, &alice), 0u128); + + >::total_issuance(USDT_ID) }); CollectivesWestend::execute_with(|| { @@ -79,7 +81,7 @@ fn create_and_claim_treasury_spend() { ); }); - AssetHubWestend::execute_with(|| { + let ah_usdt_issuance_after = AssetHubWestend::execute_with(|| { type RuntimeEvent = ::RuntimeEvent; type Assets = ::Assets; @@ -101,9 +103,17 @@ fn create_and_claim_treasury_spend() { ] ); // beneficiary received the assets from the treasury. - assert_eq!(>::balance(USDT_ID, &alice,), SPEND_AMOUNT,); + assert_eq!(>::balance(USDT_ID, &alice), SPEND_AMOUNT); + + >::total_issuance(USDT_ID) }); + assert_eq!( + ah_usdt_issuance_before, ah_usdt_issuance_after, + "Unexpected USDT total issuance change on AH" + ); + assert!(ah_usdt_issuance_after > 0); + CollectivesWestend::execute_with(|| { type RuntimeEvent = ::RuntimeEvent; type FellowshipTreasury = diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/foreign_assets.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/foreign_assets.rs index 992fec92f323c..d4d6023c7238d 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/foreign_assets.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/foreign_assets.rs @@ -14,8 +14,8 @@ // limitations under the License. use crate::{ - assets_balance_on, create_pool_with_wnd_on, foreign_balance_on, imports::*, - tests::send::penpal_register_foreign_asset_on_asset_hub, + assets_balance_on, assets_issuance_on, create_pool_with_wnd_on, foreign_balance_on, + foreign_issuance_on, imports::*, tests::send::penpal_register_foreign_asset_on_asset_hub, }; // Registers a new asset on Penpal, then registers it over XCM as foreign asset on Asset Hub. @@ -114,7 +114,7 @@ pub fn penpal_set_foreign_asset_reserves_on_asset_hub( pallet_assets::Instance2, >::set_reserves { id: asset_id_on_ah.into(), - reserves, + reserves: reserves.try_into().unwrap(), }) .encode() .into(); @@ -164,6 +164,10 @@ fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { let dest = PenpalA::sibling_location_of(AssetHubWestend::para_id()); let assets: Assets = vec![(asset_location_on_penpal.clone(), asset_amount_to_send).into()].into(); + + let penpal_issuance_before = assets_issuance_on!(PenpalA, new_asset_id); + let ah_issuance_before = + foreign_issuance_on!(AssetHubWestend, foreign_asset_location_on_ah.clone()); // execute xcm from penpal to asset hub PenpalA::execute_with(|| { // xcm to be executed at dest @@ -201,6 +205,24 @@ fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { assert!(penpal_sender_balance_after < penpal_sender_balance_before); assert!(ah_receiver_balance_after > ah_receiver_balance_before); + let penpal_issuance_after = assets_issuance_on!(PenpalA, new_asset_id); + let ah_issuance_after = + foreign_issuance_on!(AssetHubWestend, foreign_asset_location_on_ah.clone()); + // Penpal keeps track of its own teleport assets using its checking account. + assert_eq!( + penpal_issuance_before, penpal_issuance_after, + "Unexpected total issuance change on Penpal" + ); + assert!(penpal_issuance_after > 0); + // Issuance on AH is expected to increase because of the foreign asset being teleported in. + assert_eq!( + ah_issuance_after, + ah_issuance_before + asset_amount_to_send, + "Unexpected total issuance on Asset Hub" + ); + + let ah_issuance_before = + foreign_issuance_on!(AssetHubWestend, foreign_asset_location_on_ah.clone()); // reserve-transferring the asset fails PenpalA::execute_with(|| { let xcm = Xcm::<()>(vec![ @@ -237,6 +259,9 @@ fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { ] ); }); + let ah_issuance_after = + foreign_issuance_on!(AssetHubWestend, foreign_asset_location_on_ah.clone()); + assert_eq!(ah_issuance_after, ah_issuance_before); ///////////////////////////////////// // Teleport it back from AH to Penpal @@ -301,11 +326,18 @@ fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { }); let ah_sender_balance_after = - foreign_balance_on!(AssetHubWestend, foreign_asset_location_on_ah, &receiver); + foreign_balance_on!(AssetHubWestend, foreign_asset_location_on_ah.clone(), &receiver); let penpal_receiver_balance_after = assets_balance_on!(PenpalA, new_asset_id, &sender); assert!(ah_sender_balance_after < ah_sender_balance_before); assert!(penpal_receiver_balance_after > penpal_receiver_balance_before); + let ah_issuance_after = foreign_issuance_on!(AssetHubWestend, foreign_asset_location_on_ah); + assert_eq!(ah_issuance_after, ah_issuance_before - asset_amount_to_send); + let penpal_issuance_after = assets_issuance_on!(PenpalA, new_asset_id); + assert_eq!( + penpal_issuance_before, penpal_issuance_after, + "Unexpected total issuance change on Penpal" + ); } // ============================================================================================== @@ -334,6 +366,10 @@ fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { let dest = PenpalA::sibling_location_of(AssetHubWestend::para_id()); let assets: Assets = vec![(asset_location_on_penpal.clone(), asset_amount_to_send).into()].into(); + + let penpal_issuance_before = assets_issuance_on!(PenpalA, new_asset_id); + let ah_issuance_before = + foreign_issuance_on!(AssetHubWestend, foreign_asset_location_on_ah.clone()); // execute xcm from penpal to asset hub PenpalA::execute_with(|| { // xcm to be executed at dest @@ -390,6 +426,21 @@ fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { assert!(penpal_sender_balance_after < penpal_sender_balance_before); assert!(ah_receiver_balance_after > ah_receiver_balance_before); + let penpal_issuance_after = assets_issuance_on!(PenpalA, new_asset_id); + let ah_issuance_after = + foreign_issuance_on!(AssetHubWestend, foreign_asset_location_on_ah.clone()); + assert_eq!( + penpal_issuance_before, penpal_issuance_after, + "Unexpected total issuance change on Penpal" + ); + assert!(penpal_issuance_after > 0); + // Issuance on AH increases because of the foreign asset being reserve-transferred in. + assert_eq!( + ah_issuance_after, + ah_issuance_before + asset_amount_to_send, + "Unexpected total issuance on Asset Hub" + ); + ///////////////////////////////////////////// // Reserve-transfer it back from AH to Penpal ///////////////////////////////////////////// @@ -398,6 +449,8 @@ fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { let ah_sender_balance_before = foreign_balance_on!(AssetHubWestend, foreign_asset_location_on_ah.clone(), &receiver); let penpal_receiver_balance_before = assets_balance_on!(PenpalA, new_asset_id, &sender); + let ah_issuance_before = + foreign_issuance_on!(AssetHubWestend, foreign_asset_location_on_ah.clone()); let dest = AssetHubWestend::sibling_location_of(PenpalA::para_id()); // execute xcm from asset hub to penpal @@ -452,11 +505,18 @@ fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { }); let ah_sender_balance_after = - foreign_balance_on!(AssetHubWestend, foreign_asset_location_on_ah, &receiver); + foreign_balance_on!(AssetHubWestend, foreign_asset_location_on_ah.clone(), &receiver); let penpal_receiver_balance_after = assets_balance_on!(PenpalA, new_asset_id, &sender); assert!(ah_sender_balance_after < ah_sender_balance_before); assert!(penpal_receiver_balance_after > penpal_receiver_balance_before); + let ah_issuance_after = foreign_issuance_on!(AssetHubWestend, foreign_asset_location_on_ah); + assert_eq!(ah_issuance_after, ah_issuance_before - asset_amount_to_send); + let penpal_issuance_after = assets_issuance_on!(PenpalA, new_asset_id); + assert_eq!( + penpal_issuance_before, penpal_issuance_after, + "Unexpected total issuance change on Penpal" + ); } /// Verifies that foreign asset reserves can be only set by signed `Owner` account or through XCM @@ -483,7 +543,7 @@ fn verify_foreign_asset_origin_checks() { ::ForeignAssets::set_reserves( origin, foreign_asset_location_on_ah.clone(), - vec![reserves_data.clone()], + vec![reserves_data.clone()].try_into().unwrap(), ) .unwrap(); assert_expected_events!( @@ -501,7 +561,7 @@ fn verify_foreign_asset_origin_checks() { assert!(::ForeignAssets::set_reserves( origin, foreign_asset_location_on_ah.clone(), - vec![reserves_data], + vec![reserves_data].try_into().unwrap(), ) .is_err()); }); diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/hybrid_transfers.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/hybrid_transfers.rs index 77a4796b553b7..125027cd1b889 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/hybrid_transfers.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/hybrid_transfers.rs @@ -20,7 +20,7 @@ use westend_system_emulated_network::westend_emulated_chain::westend_runtime::Dm use super::reserve_transfer::*; use crate::{ - imports::*, + foreign_issuance_on, imports::*, tests::teleport::do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using_xt, }; @@ -38,14 +38,14 @@ fn para_to_para_assethub_hop_assertions(mut t: ParaToParaThroughAHTest) { vec![ // Withdrawn from sender parachain SA RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } + pallet_balances::Event::Withdraw { who, amount } ) => { who: *who == sov_penpal_a_on_ah, amount: *amount == t.args.amount, }, // Deposited to receiver parachain SA RuntimeEvent::Balances( - pallet_balances::Event::Minted { who, .. } + pallet_balances::Event::Deposit { who, .. } ) => { who: *who == sov_penpal_b_on_ah, }, @@ -254,6 +254,9 @@ fn transfer_foreign_assets_from_asset_hub_to_para() { type ForeignAssets = ::ForeignAssets; >::balance(roc_at_westend_parachains.clone(), &receiver) }); + let penpal_issuance_before = foreign_issuance_on!(PenpalA, roc_at_westend_parachains.clone()); + let ah_issuance_before = + foreign_issuance_on!(AssetHubWestend, roc_at_westend_parachains.clone()); // Set assertions and dispatchables test.set_assertion::(system_para_to_para_sender_assertions); @@ -276,8 +279,10 @@ fn transfer_foreign_assets_from_asset_hub_to_para() { }); let receiver_rocs_after = PenpalA::execute_with(|| { type ForeignAssets = ::ForeignAssets; - >::balance(roc_at_westend_parachains, &receiver) + >::balance(roc_at_westend_parachains.clone(), &receiver) }); + let penpal_issuance_after = foreign_issuance_on!(PenpalA, roc_at_westend_parachains.clone()); + let ah_issuance_after = foreign_issuance_on!(AssetHubWestend, roc_at_westend_parachains); // Sender's balance is reduced by amount sent plus delivery fees assert!(sender_balance_after < sender_balance_before - native_amount_to_send); @@ -291,6 +296,10 @@ fn transfer_foreign_assets_from_asset_hub_to_para() { assert!(receiver_assets_after < receiver_assets_before + native_amount_to_send); // Receiver's balance is increased by foreign amount sent assert_eq!(receiver_rocs_after, receiver_rocs_before + foreign_amount_to_send); + // Penpal mints bridged asset transferred in + assert_eq!(penpal_issuance_after, penpal_issuance_before + foreign_amount_to_send); + // AH supply doesn't change (assets move to sovereign account) + assert_eq!(ah_issuance_after, ah_issuance_before); } /// Reserve Transfers of native asset from Parachain to System Parachain should work @@ -410,6 +419,9 @@ fn transfer_foreign_assets_from_para_to_asset_hub() { &receiver, ) }); + let penpal_issuance_before = foreign_issuance_on!(PenpalA, roc_at_westend_parachains.clone()); + let ah_issuance_before = + foreign_issuance_on!(AssetHubWestend, roc_at_westend_parachains.clone()); // Set assertions and dispatchables test.set_assertion::(para_to_system_para_sender_assertions); @@ -430,10 +442,12 @@ fn transfer_foreign_assets_from_para_to_asset_hub() { let receiver_rocs_after = AssetHubWestend::execute_with(|| { type ForeignAssets = ::ForeignAssets; >::balance( - roc_at_westend_parachains.try_into().unwrap(), + roc_at_westend_parachains.clone().try_into().unwrap(), &receiver, ) }); + let penpal_issuance_after = foreign_issuance_on!(PenpalA, roc_at_westend_parachains.clone()); + let ah_issuance_after = foreign_issuance_on!(AssetHubWestend, roc_at_westend_parachains); // Sender's balance is reduced by amount sent plus delivery fees assert!(sender_native_after < sender_native_before - native_amount_to_send); @@ -447,6 +461,10 @@ fn transfer_foreign_assets_from_para_to_asset_hub() { assert!(receiver_native_after < receiver_native_before + native_amount_to_send); // Receiver's balance is increased by foreign amount sent assert_eq!(receiver_rocs_after, receiver_rocs_before + foreign_amount_to_send); + // Penpal burns bridged asset transferred out + assert_eq!(penpal_issuance_after, penpal_issuance_before - foreign_amount_to_send); + // AH supply doesn't change (assets move from sovereign account) + assert_eq!(ah_issuance_after, ah_issuance_before); } // ============================================================================== @@ -596,6 +614,10 @@ fn transfer_foreign_assets_from_para_to_para_through_asset_hub() { type ForeignAssets = ::ForeignAssets; >::balance(roc_at_westend_parachains.clone(), &receiver) }); + let penpal_1_issuance_before = foreign_issuance_on!(PenpalA, roc_at_westend_parachains.clone()); + let penpal_2_issuance_before = foreign_issuance_on!(PenpalB, roc_at_westend_parachains.clone()); + let ah_issuance_before = + foreign_issuance_on!(AssetHubWestend, roc_at_westend_parachains.clone()); // Set assertions and dispatchables test.set_assertion::(para_to_para_through_hop_sender_assertions); @@ -640,8 +662,11 @@ fn transfer_foreign_assets_from_para_to_para_through_asset_hub() { }); let receiver_rocs_after = PenpalB::execute_with(|| { type ForeignAssets = ::ForeignAssets; - >::balance(roc_at_westend_parachains, &receiver) + >::balance(roc_at_westend_parachains.clone(), &receiver) }); + let penpal_1_issuance_after = foreign_issuance_on!(PenpalA, roc_at_westend_parachains.clone()); + let penpal_2_issuance_after = foreign_issuance_on!(PenpalB, roc_at_westend_parachains.clone()); + let ah_issuance_after = foreign_issuance_on!(AssetHubWestend, roc_at_westend_parachains); // Sender's balance is reduced by amount sent. assert!(sender_wnds_after < sender_wnds_before - wnd_to_send); @@ -663,6 +688,12 @@ fn transfer_foreign_assets_from_para_to_para_through_asset_hub() { // Receiver's balance is increased by amount sent minus delivery fees. assert!(receiver_wnds_after > receiver_wnds_before); assert_eq!(receiver_rocs_after, receiver_rocs_before + roc_to_send); + // PenpalA burns bridged asset transferred out + assert_eq!(penpal_1_issuance_after, penpal_1_issuance_before - roc_to_send); + // AH supply doesn't change (assets move between sovereign accounts) + assert_eq!(ah_issuance_after, ah_issuance_before); + // PenpalB mints bridged asset transferred in + assert_eq!(penpal_2_issuance_after, penpal_2_issuance_before + roc_to_send); } // ============================================================================================== @@ -723,7 +754,7 @@ fn transfer_native_asset_from_relay_to_penpal_through_asset_hub() { Westend, vec![ // Amount to teleport is withdrawn from Sender - RuntimeEvent::Balances(pallet_balances::Event::Burned { who, amount }) => { + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { who, amount }) => { who: *who == t.sender.account_id, amount: *amount == t.args.amount, }, @@ -740,7 +771,7 @@ fn transfer_native_asset_from_relay_to_penpal_through_asset_hub() { vec![ // Deposited to receiver parachain SA RuntimeEvent::Balances( - pallet_balances::Event::Minted { who, .. } + pallet_balances::Event::Deposit { who, .. } ) => { who: *who == sov_penpal_on_ah, }, @@ -755,9 +786,9 @@ fn transfer_native_asset_from_relay_to_penpal_through_asset_hub() { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == Location::new(1, Here), - owner: *owner == t.receiver.account_id, + who: *who == t.receiver.account_id, }, ] ); diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/mod.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/mod.rs index 15946390a6479..eeb4aadbd12b7 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/mod.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/mod.rs @@ -55,6 +55,42 @@ macro_rules! assets_balance_on { }; } +#[macro_export] +macro_rules! foreign_issuance_on { + ( $chain:ident, $id:expr ) => { + emulated_integration_tests_common::impls::paste::paste! { + <$chain>::execute_with(|| { + type ForeignAssets = <$chain as [<$chain Pallet>]>::ForeignAssets; + >::total_issuance($id) + }) + } + }; +} + +#[macro_export] +macro_rules! assets_issuance_on { + ( $chain:ident, $id:expr ) => { + emulated_integration_tests_common::impls::paste::paste! { + <$chain>::execute_with(|| { + type Assets = <$chain as [<$chain Pallet>]>::Assets; + >::total_issuance($id) + }) + } + }; +} + +#[macro_export] +macro_rules! balances_issuance_on { + ( $chain:ident ) => { + emulated_integration_tests_common::impls::paste::paste! { + <$chain>::execute_with(|| { + type Balances = <$chain as [<$chain Pallet>]>::Balances; + >::total_issuance() + }) + } + }; +} + #[macro_export] macro_rules! create_pool_with_wnd_on { // default amounts diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/reserve_transfer.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/reserve_transfer.rs index 7738e36e5d728..1907ac5b39593 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/reserve_transfer.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/reserve_transfer.rs @@ -13,7 +13,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{create_pool_with_wnd_on, foreign_balance_on, imports::*}; +use crate::{ + assets_issuance_on, balances_issuance_on, create_pool_with_wnd_on, foreign_balance_on, + foreign_issuance_on, imports::*, +}; use emulated_integration_tests_common::xcm_helpers::{ find_mq_processed_id, find_xcm_sent_message_id, }; @@ -50,11 +53,11 @@ fn para_to_relay_sender_assertions(t: ParaToRelayTest) { vec![ // Amount to reserve transfer is transferred to Parachain's Sovereign account RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, balance, .. } + pallet_assets::Event::Withdrawn { asset_id, who, amount } ) => { asset_id: *asset_id == RelayLocation::get(), - owner: *owner == t.sender.account_id, - balance: *balance == t.args.amount, + who: *who == t.sender.account_id, + amount: *amount == t.args.amount, }, ] ); @@ -135,9 +138,9 @@ pub fn system_para_to_para_receiver_assertions(t: SystemParaToParaTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == expected_id, - owner: *owner == t.receiver.account_id, + who: *who == t.receiver.account_id, }, ] ); @@ -163,9 +166,9 @@ pub fn system_para_to_penpal_receiver_assertions(t: SystemParaToParaTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == relative_id, - owner: *owner == t.receiver.account_id, + who: *who == t.receiver.account_id, }, ] ); @@ -182,11 +185,11 @@ pub fn para_to_system_para_sender_assertions(t: ParaToSystemParaTest) { PenpalA, vec![ RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, balance } + pallet_assets::Event::Withdrawn { asset_id, who, amount } ) => { asset_id: *asset_id == expected_id, - owner: *owner == t.sender.account_id, - balance: *balance == asset_amount, + who: *who == t.sender.account_id, + amount: *amount == asset_amount, }, ] ); @@ -209,12 +212,12 @@ fn para_to_relay_receiver_assertions(t: ParaToRelayTest) { vec![ // Amount to reserve transfer is withdrawn from Parachain's Sovereign account RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } + pallet_balances::Event::Withdraw { who, amount } ) => { who: *who == sov_penpal_on_relay.clone().into(), amount: *amount == t.args.amount, }, - RuntimeEvent::Balances(pallet_balances::Event::Minted { .. }) => {}, + RuntimeEvent::Balances(pallet_balances::Event::Deposit { .. }) => {}, RuntimeEvent::MessageQueue( pallet_message_queue::Event::Processed { success: true, .. } ) => {}, @@ -239,12 +242,12 @@ pub fn para_to_system_para_receiver_assertions(t: ParaToSystemParaTest) { vec![ // Amount of native is withdrawn from Parachain's Sovereign account RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } + pallet_balances::Event::Withdraw { who, amount } ) => { who: *who == sov_acc_of_penpal.clone().into(), amount: *amount == asset_amount, }, - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == t.receiver.account_id, }, ] @@ -256,17 +259,17 @@ pub fn para_to_system_para_receiver_assertions(t: ParaToSystemParaTest) { // Amount of foreign asset is transferred from Parachain's Sovereign account // to Receiver's account RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, balance }, + pallet_assets::Event::Withdrawn { asset_id, who, amount }, ) => { asset_id: *asset_id == expected_id, - owner: *owner == sov_acc_of_penpal, - balance: *balance == asset_amount, + who: *who == sov_acc_of_penpal, + amount: *amount == asset_amount, }, RuntimeEvent::ForeignAssets( - pallet_assets::Event::Issued { asset_id, owner, amount }, + pallet_assets::Event::Deposited { asset_id, who, amount }, ) => { asset_id: *asset_id == expected_id, - owner: *owner == t.receiver.account_id, + who: *who == t.receiver.account_id, amount: *amount == asset_amount, }, ] @@ -304,7 +307,7 @@ fn system_para_to_para_assets_sender_assertions(t: SystemParaToParaTest) { amount: *amount == t.args.amount, }, // Native asset to pay for fees is transferred to Parachain's Sovereign account - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == TreasuryAccount::get(), }, // Delivery fees are paid @@ -323,20 +326,20 @@ fn para_to_system_para_assets_sender_assertions(t: ParaToSystemParaTest) { assert_expected_events!( PenpalA, vec![ - // Fees amount to reserve transfer is burned from Parachains's sender account + // Fees amount to reserve transfer is withdrawn from Parachains's sender account RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, .. } + pallet_assets::Event::Withdrawn { asset_id, who, .. } ) => { asset_id: *asset_id == system_para_native_asset_location, - owner: *owner == t.sender.account_id, + who: *who == t.sender.account_id, }, - // Amount to reserve transfer is burned from Parachains's sender account + // Amount to reserve transfer is withdrawn from Parachains's sender account RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, balance } + pallet_assets::Event::Withdrawn { asset_id, who, amount } ) => { asset_id: *asset_id == reservable_asset_location, - owner: *owner == t.sender.account_id, - balance: *balance == t.args.amount, + who: *who == t.sender.account_id, + amount: *amount == t.args.amount, }, // Delivery fees are paid RuntimeEvent::PolkadotXcm( @@ -353,13 +356,13 @@ fn system_para_to_para_assets_receiver_assertions(t: SystemParaToParaTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == RelayLocation::get(), - owner: *owner == t.receiver.account_id, + who: *who == t.receiver.account_id, }, - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, amount }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, amount }) => { asset_id: *asset_id == system_para_asset_location, - owner: *owner == t.receiver.account_id, + who: *who == t.receiver.account_id, amount: *amount == t.args.amount, }, ] @@ -375,24 +378,24 @@ fn para_to_system_para_assets_receiver_assertions(t: ParaToSystemParaTest) { assert_expected_events!( AssetHubWestend, vec![ - // Amount to reserve transfer is burned from Parachain's Sovereign account - RuntimeEvent::Assets(pallet_assets::Event::Burned { asset_id, owner, balance }) => { + // Amount to reserve transfer is withdrawn from Parachain's Sovereign account + RuntimeEvent::Assets(pallet_assets::Event::Withdrawn { asset_id, who, amount }) => { asset_id: *asset_id == RESERVABLE_ASSET_ID, - owner: *owner == sov_penpal_on_ahr, - balance: *balance == t.args.amount, + who: *who == sov_penpal_on_ahr, + amount: *amount == t.args.amount, }, - // Fee amount is burned from Parachain's Sovereign account - RuntimeEvent::Balances(pallet_balances::Event::Burned { who, .. }) => { + // Fee amount is withdrawn from Parachain's Sovereign account + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { who, .. }) => { who: *who == sov_penpal_on_ahr, }, - // Amount to reserve transfer is issued for beneficiary - RuntimeEvent::Assets(pallet_assets::Event::Issued { asset_id, owner, amount }) => { + // Amount to reserve transfer is deposited to beneficiary + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, amount }) => { asset_id: *asset_id == RESERVABLE_ASSET_ID, - owner: *owner == t.receiver.account_id, + who: *who == t.receiver.account_id, amount: *amount == t.args.amount, }, - // Remaining fee amount is minted for for beneficiary - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + // Remaining fee amount is deposited to beneficiary + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == t.receiver.account_id, }, ] @@ -405,9 +408,9 @@ fn relay_to_para_assets_receiver_assertions(t: RelayToParaTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == RelayLocation::get(), - owner: *owner == t.receiver.account_id, + who: *who == t.receiver.account_id, }, RuntimeEvent::MessageQueue( pallet_message_queue::Event::Processed { success: true, .. } @@ -425,17 +428,17 @@ pub fn para_to_para_through_hop_sender_assertions(mut t: Test { asset_id: *asset_id == expected_id, - owner: *owner == t.sender.account_id, - balance: *balance == amount, + who: *who == t.sender.account_id, + amount: *amount == expected_amount, }, ] ); @@ -454,14 +457,14 @@ fn para_to_para_relay_hop_assertions(t: ParaToParaThroughRelayTest) { vec![ // Withdrawn from sender parachain SA RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } + pallet_balances::Event::Withdraw { who, amount } ) => { who: *who == sov_penpal_a_on_westend, amount: *amount == t.args.amount, }, // Deposited to receiver parachain SA RuntimeEvent::Balances( - pallet_balances::Event::Minted { who, .. } + pallet_balances::Event::Deposit { who, .. } ) => { who: *who == sov_penpal_b_on_westend, }, @@ -485,10 +488,10 @@ fn para_to_para_asset_hub_hop_assertions(t: ParaToParaThroughAHTest) { vec![ // Withdrawn from sender parachain SA RuntimeEvent::Assets( - pallet_assets::Event::Burned { owner, balance, .. } + pallet_assets::Event::Withdrawn { who, amount, .. } ) => { - owner: *owner == sov_penpal_a_on_ah, - balance: *balance == asset_amount, + who: *who == sov_penpal_a_on_ah, + amount: *amount == asset_amount, }, RuntimeEvent::MessageQueue( pallet_message_queue::Event::Processed { success: true, .. } @@ -512,9 +515,9 @@ pub fn para_to_para_through_hop_receiver_assertions( assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == expected_id, - owner: *owner == t.receiver.account_id, + who: *who == t.receiver.account_id, }, ] ); @@ -787,6 +790,8 @@ fn reserve_transfer_native_asset_from_relay_to_para() { let sender_balance_before = test.sender.balance; let receiver_assets_before = foreign_balance_on!(PenpalA, relay_native_asset_location.clone(), &receiver); + let penpal_issuance_before = foreign_issuance_on!(PenpalA, relay_native_asset_location.clone()); + let relay_issuance_before = balances_issuance_on!(Westend); // Set assertions and dispatchables test.set_assertion::(relay_to_para_sender_assertions); @@ -797,7 +802,9 @@ fn reserve_transfer_native_asset_from_relay_to_para() { // Query final balances let sender_balance_after = test.sender.balance; let receiver_assets_after = - foreign_balance_on!(PenpalA, relay_native_asset_location, &receiver); + foreign_balance_on!(PenpalA, relay_native_asset_location.clone(), &receiver); + let penpal_issuance_after = foreign_issuance_on!(PenpalA, relay_native_asset_location); + let relay_issuance_after = balances_issuance_on!(Westend); // Sender's balance is reduced by amount sent plus delivery fees assert!(sender_balance_after < sender_balance_before - amount_to_send); @@ -807,6 +814,10 @@ fn reserve_transfer_native_asset_from_relay_to_para() { // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but // should be non-zero assert!(receiver_assets_after < receiver_assets_before + amount_to_send); + // Penpal mints native asset transferred in + assert_eq!(penpal_issuance_after, penpal_issuance_before + amount_to_send); + // Relay supply doesn't change (assets move to sovereign account) + assert_eq!(relay_issuance_after, relay_issuance_before); } /// Reserve Transfers of native asset from Parachain to Relay should work @@ -855,6 +866,8 @@ fn reserve_transfer_native_asset_from_para_to_relay() { let sender_assets_before = foreign_balance_on!(PenpalA, relay_native_asset_location.clone(), &sender); let receiver_balance_before = test.receiver.balance; + let penpal_issuance_before = foreign_issuance_on!(PenpalA, relay_native_asset_location.clone()); + let relay_issuance_before = balances_issuance_on!(Westend); // Set assertions and dispatchables test.set_assertion::(para_to_relay_sender_assertions); @@ -863,8 +876,11 @@ fn reserve_transfer_native_asset_from_para_to_relay() { test.assert(); // Query final balances - let sender_assets_after = foreign_balance_on!(PenpalA, relay_native_asset_location, &sender); + let sender_assets_after = + foreign_balance_on!(PenpalA, relay_native_asset_location.clone(), &sender); let receiver_balance_after = test.receiver.balance; + let penpal_issuance_after = foreign_issuance_on!(PenpalA, relay_native_asset_location); + let relay_issuance_after = balances_issuance_on!(Westend); // Sender's balance is reduced by amount sent plus delivery fees assert!(sender_assets_after < sender_assets_before - amount_to_send); @@ -874,6 +890,11 @@ fn reserve_transfer_native_asset_from_para_to_relay() { // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but // should be non-zero assert!(receiver_balance_after < receiver_balance_before + amount_to_send); + // Penpal burns native asset transferred out + assert_eq!(penpal_issuance_after, penpal_issuance_before - amount_to_send); + // Relay supply is reduced only by burnt fees + assert!(relay_issuance_after < relay_issuance_before); + assert!(relay_issuance_after > relay_issuance_before - amount_to_send); } // ========================================================================= @@ -911,6 +932,9 @@ fn reserve_transfer_native_asset_from_asset_hub_to_para() { let sender_balance_before = test.sender.balance; let receiver_assets_before = foreign_balance_on!(PenpalA, system_para_native_asset_location.clone(), &receiver); + let penpal_issuance_before = + foreign_issuance_on!(PenpalA, system_para_native_asset_location.clone()); + let ah_issuance_before = balances_issuance_on!(AssetHubWestend); // Set assertions and dispatchables test.set_assertion::(system_para_to_para_sender_assertions); @@ -921,7 +945,9 @@ fn reserve_transfer_native_asset_from_asset_hub_to_para() { // Query final balances let sender_balance_after = test.sender.balance; let receiver_assets_after = - foreign_balance_on!(PenpalA, system_para_native_asset_location, &receiver); + foreign_balance_on!(PenpalA, system_para_native_asset_location.clone(), &receiver); + let penpal_issuance_after = foreign_issuance_on!(PenpalA, system_para_native_asset_location); + let ah_issuance_after = balances_issuance_on!(AssetHubWestend); // Sender's balance is reduced by amount sent plus delivery fees assert!(sender_balance_after < sender_balance_before - amount_to_send); @@ -931,6 +957,10 @@ fn reserve_transfer_native_asset_from_asset_hub_to_para() { // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but // should be non-zero assert!(receiver_assets_after < receiver_assets_before + amount_to_send); + // Penpal mints native asset transferred in + assert_eq!(penpal_issuance_after, penpal_issuance_before + amount_to_send); + // Asset Hub supply doesn't change (assets move to sovereign account) + assert_eq!(ah_issuance_after, ah_issuance_before); } /// Reserve Transfers of native asset from Parachain to Asset Hub should work @@ -980,6 +1010,9 @@ fn reserve_transfer_native_asset_from_para_to_asset_hub() { let sender_assets_before = foreign_balance_on!(PenpalA, system_para_native_asset_location.clone(), &sender); let receiver_balance_before = test.receiver.balance; + let penpal_issuance_before = + foreign_issuance_on!(PenpalA, system_para_native_asset_location.clone()); + let ah_issuance_before = balances_issuance_on!(AssetHubWestend); // Set assertions and dispatchables test.set_assertion::(para_to_system_para_sender_assertions); @@ -989,8 +1022,10 @@ fn reserve_transfer_native_asset_from_para_to_asset_hub() { // Query final balances let sender_assets_after = - foreign_balance_on!(PenpalA, system_para_native_asset_location, &sender); + foreign_balance_on!(PenpalA, system_para_native_asset_location.clone(), &sender); let receiver_balance_after = test.receiver.balance; + let penpal_issuance_after = foreign_issuance_on!(PenpalA, system_para_native_asset_location); + let ah_issuance_after = balances_issuance_on!(AssetHubWestend); // Sender's balance is reduced by amount sent plus delivery fees assert!(sender_assets_after < sender_assets_before - amount_to_send); @@ -1000,6 +1035,10 @@ fn reserve_transfer_native_asset_from_para_to_asset_hub() { // `delivery_fees` might be paid from transfer or JIT, also `bought_execution` is unknown but // should be non-zero assert!(receiver_balance_after < receiver_balance_before + amount_to_send); + // Penpal burns native asset transferred out + assert_eq!(penpal_issuance_after, penpal_issuance_before - amount_to_send); + // Asset Hub supply doesn't change (assets move from sovereign account) + assert_eq!(ah_issuance_after, ah_issuance_before); } // ========================================================================= @@ -1358,6 +1397,8 @@ fn reserve_transfer_usdt_from_asset_hub_to_para() { }); let receiver_initial_balance = foreign_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &receiver); + let penpal_usdt_issuance_before = foreign_issuance_on!(PenpalA, usdt_from_asset_hub.clone()); + let ah_usdt_issuance_before = assets_issuance_on!(AssetHubWestend, usdt_id); test.set_assertion::(system_para_to_para_sender_assertions); test.set_assertion::(system_para_to_penpal_receiver_assertions); @@ -1372,16 +1413,23 @@ fn reserve_transfer_usdt_from_asset_hub_to_para() { type Balances = ::Balances; Balances::free_balance(&sender) }); - let receiver_after_balance = foreign_balance_on!(PenpalA, usdt_from_asset_hub, &receiver); + let receiver_after_balance = + foreign_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &receiver); + let penpal_usdt_issuance_after = foreign_issuance_on!(PenpalA, usdt_from_asset_hub); + let ah_usdt_issuance_after = assets_issuance_on!(AssetHubWestend, usdt_id); - // TODO(https://github.com/paritytech/polkadot-sdk/issues/5160): When we allow payment with different assets locally, this should be the same, since - // they aren't used for fees. + // TODO(https://github.com/paritytech/polkadot-sdk/issues/5160): When we allow payment with + // different assets locally, this should be the same, since they aren't used for fees. assert!(sender_after_native_balance < sender_initial_native_balance); // Sender account's balance decreases. assert_eq!(sender_after_balance, sender_initial_balance - asset_amount_to_send); // Receiver account's balance increases. assert!(receiver_after_balance > receiver_initial_balance); assert!(receiver_after_balance < receiver_initial_balance + asset_amount_to_send); + // Penpal mints USDT asset transferred in + assert_eq!(penpal_usdt_issuance_after, penpal_usdt_issuance_before + asset_amount_to_send); + // Asset Hub supply doesn't change (assets move to sovereign account) + assert_eq!(ah_usdt_issuance_after, ah_usdt_issuance_before); } // =================================================================================== @@ -1481,6 +1529,9 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { let sender_assets_before = foreign_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); let receiver_assets_before = foreign_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); + let penpal_1_usdt_issuance_before = foreign_issuance_on!(PenpalA, usdt_from_asset_hub.clone()); + let ah_usdt_issuance_before = assets_issuance_on!(AssetHubWestend, usdt_id); + let penpal_2_usdt_issuance_before = foreign_issuance_on!(PenpalB, usdt_from_asset_hub.clone()); test.set_assertion::(para_to_para_through_hop_sender_assertions); test.set_assertion::(para_to_para_asset_hub_hop_assertions); test.set_assertion::(para_to_para_through_hop_receiver_assertions); @@ -1491,12 +1542,29 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { // Query final balances let sender_assets_after = foreign_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); - let receiver_assets_after = foreign_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); + let receiver_assets_after = + foreign_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); + let penpal_1_usdt_issuance_after = foreign_issuance_on!(PenpalA, usdt_from_asset_hub.clone()); + let ah_usdt_issuance_after = assets_issuance_on!(AssetHubWestend, usdt_id); + let penpal_2_usdt_issuance_after = foreign_issuance_on!(PenpalB, usdt_from_asset_hub); // Sender's balance is reduced by amount assert!(sender_assets_after < sender_assets_before - asset_amount_to_send); // Receiver's balance is increased assert!(receiver_assets_after > receiver_assets_before); + // PenpalA burns USDT transferred out + assert_eq!( + penpal_1_usdt_issuance_after, + penpal_1_usdt_issuance_before - asset_amount_to_send - fee_amount_to_send + ); + // Asset Hub supply doesn't change (assets move between sovereign accounts) + assert_eq!(ah_usdt_issuance_after, ah_usdt_issuance_before); + // PenpalB mints USDT asset transferred in (amount plus unspent fees) + assert!(penpal_2_usdt_issuance_after > penpal_2_usdt_issuance_before + asset_amount_to_send); + assert!( + penpal_2_usdt_issuance_after < + penpal_2_usdt_issuance_before + asset_amount_to_send + fee_amount_to_send + ); } /// Reserve Withdraw Native Asset from AssetHub to Parachain fails. diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/reward_pool.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/reward_pool.rs index 4df51abcacebf..9efefea514d68 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/reward_pool.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/reward_pool.rs @@ -37,8 +37,9 @@ fn treasury_creates_asset_reward_pool() { let events = AssetHubWestend::events(); match events.iter().last() { - Some(RuntimeEvent::Balances(pallet_balances::Event::BalanceSet { who, .. })) => - assert_eq!(*who, treasurer_account), + Some(RuntimeEvent::Balances(pallet_balances::Event::BalanceSet { who, .. })) => { + assert_eq!(*who, treasurer_account) + }, _ => panic!("Expected Balances::BalanceSet event"), } }); diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/send.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/send.rs index a941e825bdea6..98666ba58893b 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/send.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/send.rs @@ -79,8 +79,8 @@ pub fn penpal_register_foreign_asset_on_asset_hub(asset_location_on_penpal: Loca assert_expected_events!( AssetHubWestend, vec![ - // Burned the fee - RuntimeEvent::Balances(pallet_balances::Event::Burned { who, amount }) => { + // Withdraw the fee + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { who, amount }) => { who: *who == penpal_sovereign_account, amount: *amount == fee_amount, }, @@ -181,11 +181,11 @@ fn send_xcm_from_para_to_asset_hub_paying_fee_with_sufficient_asset() { assert_expected_events!( AssetHubWestend, vec![ - // Burned the fee - RuntimeEvent::Assets(pallet_assets::Event::Burned { asset_id, owner, balance }) => { + // Withdrawn the fee + RuntimeEvent::Assets(pallet_assets::Event::Withdrawn { asset_id, who, amount }) => { asset_id: *asset_id == ASSET_ID, - owner: *owner == para_sovereign_account, - balance: *balance == fee_amount, + who: *who == para_sovereign_account, + amount: *amount == fee_amount, }, // Asset created RuntimeEvent::Assets(pallet_assets::Event::Created { asset_id, creator, owner }) => { diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/teleport.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/teleport.rs index 34e538f1e1a7e..f494a2afb2869 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/teleport.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/teleport.rs @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{foreign_balance_on, imports::*}; +use crate::{foreign_balance_on, foreign_issuance_on, imports::*}; fn relay_origin_assertions(t: RelayToSystemParaTest) { type RuntimeEvent = ::RuntimeEvent; @@ -22,7 +22,7 @@ fn relay_origin_assertions(t: RelayToSystemParaTest) { Westend, vec![ // Amount to teleport is withdrawn from Sender - RuntimeEvent::Balances(pallet_balances::Event::Burned { who, amount }) => { + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { who, amount }) => { who: *who == t.sender.account_id, amount: *amount == t.args.amount, }, @@ -42,15 +42,15 @@ fn penpal_to_ah_foreign_assets_sender_assertions(t: ParaToSystemParaTest) { PenpalA, vec![ RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, .. } + pallet_assets::Event::Withdrawn { asset_id, who, .. } ) => { asset_id: *asset_id == system_para_native_asset_location, - owner: *owner == t.sender.account_id, + who: *who == t.sender.account_id, }, - RuntimeEvent::Assets(pallet_assets::Event::Burned { asset_id, owner, balance }) => { + RuntimeEvent::Assets(pallet_assets::Event::Withdrawn { asset_id, who, amount }) => { asset_id: *asset_id == expected_asset_id, - owner: *owner == t.sender.account_id, - balance: *balance == expected_asset_amount, + who: *who == t.sender.account_id, + amount: *amount == expected_asset_amount, }, ] ); @@ -72,17 +72,17 @@ fn penpal_to_ah_foreign_assets_receiver_assertions(t: ParaToSystemParaTest) { vec![ // native asset reserve transfer for paying fees, withdrawn from Penpal's sov account RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } + pallet_balances::Event::Withdraw { who, amount } ) => { who: *who == sov_penpal_on_ahr.clone().into(), amount: *amount >= fee_asset_amount / 2, }, - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == t.receiver.account_id, }, - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, amount }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, amount }) => { asset_id: *asset_id == PenpalATeleportableAssetLocation::get(), - owner: *owner == t.receiver.account_id, + who: *who == t.receiver.account_id, amount: *amount == expected_foreign_asset_amount, }, RuntimeEvent::Balances(pallet_balances::Event::Deposit { .. }) => {}, @@ -98,11 +98,11 @@ fn ah_to_penpal_foreign_assets_sender_assertions(t: SystemParaToParaTest) { assert_expected_events!( AssetHubWestend, vec![ - // foreign asset is burned locally as part of teleportation - RuntimeEvent::ForeignAssets(pallet_assets::Event::Burned { asset_id, owner, balance }) => { + // foreign asset is withdrawn and burned locally as part of teleportation + RuntimeEvent::ForeignAssets(pallet_assets::Event::Withdrawn { asset_id, who, amount }) => { asset_id: *asset_id == expected_foreign_asset_id, - owner: *owner == t.sender.account_id, - balance: *balance == expected_foreign_asset_amount, + who: *who == t.sender.account_id, + amount: *amount == expected_foreign_asset_amount, }, ] ); @@ -128,15 +128,15 @@ fn ah_to_penpal_foreign_assets_receiver_assertions(t: SystemParaToParaTest) { balance: *balance == expected_asset_amount, }, // local asset is teleported into account of receiver - RuntimeEvent::Assets(pallet_assets::Event::Issued { asset_id, owner, amount }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, amount }) => { asset_id: *asset_id == expected_asset_id, - owner: *owner == t.receiver.account_id, + who: *who == t.receiver.account_id, amount: *amount == expected_asset_amount, }, // native asset for fee is deposited to receiver - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == system_para_native_asset_location, - owner: *owner == t.receiver.account_id, + who: *who == t.receiver.account_id, }, ] ); @@ -375,7 +375,7 @@ fn limited_teleport_native_assets_from_relay_to_asset_hub_checking_acc_burn_work who: *who == ::PolkadotXcm::check_account(), amount: *amount == t.args.amount, }, - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == t.receiver.account_id, }, RuntimeEvent::MessageQueue( @@ -441,12 +441,11 @@ fn limited_teleport_native_assets_from_asset_hub_to_relay_checking_acc_mint_work AssetHubWestend, vec![ RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } + pallet_balances::Event::Withdraw { who, amount } ) => { who: *who == t.sender.account_id, amount: *amount == t.args.amount, }, - // Amount to teleport is burned from Asset Hub's `CheckAccount` RuntimeEvent::Balances(pallet_balances::Event::Minted { who, amount }) => { who: *who == ::PolkadotXcm::check_account(), amount: *amount == t.args.amount, @@ -463,7 +462,7 @@ fn limited_teleport_native_assets_from_asset_hub_to_relay_checking_acc_mint_work RuntimeEvent::MessageQueue( pallet_message_queue::Event::Processed { success: true, .. } ) => {}, - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == t.receiver.account_id, }, ] @@ -604,6 +603,8 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using foreign_asset_at_asset_hub.clone(), &AssetHubWestendReceiver::get() ); + let ah_issuance_before = + foreign_issuance_on!(AssetHubWestend, foreign_asset_at_asset_hub.clone()); penpal_to_ah.set_assertion::(penpal_to_ah_foreign_assets_sender_assertions); penpal_to_ah.set_assertion::(penpal_to_ah_foreign_assets_receiver_assertions); @@ -627,6 +628,8 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using foreign_asset_at_asset_hub.clone(), &AssetHubWestendReceiver::get() ); + let ah_issuance_after = + foreign_issuance_on!(AssetHubWestend, foreign_asset_at_asset_hub.clone()); // Sender's balance is reduced assert!(penpal_sender_balance_after < penpal_sender_balance_before); @@ -641,6 +644,8 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using assert_eq!(penpal_sender_assets_before - asset_amount_to_send, penpal_sender_assets_after); // Receiver's balance is increased by exact amount assert_eq!(ah_receiver_assets_after, ah_receiver_assets_before + asset_amount_to_send); + // AH foreign asset total supply is increased by exact amount + assert_eq!(ah_issuance_after, ah_issuance_before + asset_amount_to_send); /////////////////////////////////////////////////////////////////////// // Now test transferring foreign assets back from AssetHub to Penpal // @@ -705,6 +710,8 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using type Assets = ::Assets; >::balance(asset_id_on_penpal, &PenpalAReceiver::get()) }); + let ah_issuance_before = + foreign_issuance_on!(AssetHubWestend, foreign_asset_at_asset_hub.clone()); ah_to_penpal.set_assertion::(ah_to_penpal_foreign_assets_sender_assertions); ah_to_penpal.set_assertion::(ah_to_penpal_foreign_assets_receiver_assertions); @@ -724,6 +731,7 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using type Assets = ::Assets; >::balance(asset_id_on_penpal, &PenpalAReceiver::get()) }); + let ah_issuance_after = foreign_issuance_on!(AssetHubWestend, foreign_asset_at_asset_hub); // Sender's balance is reduced assert!(ah_sender_balance_after < ah_sender_balance_before); @@ -738,6 +746,8 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using assert_eq!(ah_sender_assets_before - asset_amount_to_send, ah_sender_assets_after); // Receiver's balance is increased by exact amount assert_eq!(penpal_receiver_assets_after, penpal_receiver_assets_before + asset_amount_to_send); + // AH foreign asset total supply is decreased by exact amount + assert_eq!(ah_issuance_after, ah_issuance_before - asset_amount_to_send); } /// Bidirectional teleports of local Penpal assets to Asset Hub as foreign assets should work diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/transact.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/transact.rs index 6ebcb621f0687..f247cacb2ee7f 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/transact.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/transact.rs @@ -639,9 +639,9 @@ fn asset_hub_hop_assertions(sender_sa: AccountId) { vec![ // Withdrawn from sender parachain SA RuntimeEvent::Assets( - pallet_assets::Event::Burned { owner, .. } + pallet_assets::Event::Withdrawn { who, .. } ) => { - owner: *owner == sender_sa, + who: *who == sender_sa, }, RuntimeEvent::MessageQueue( pallet_message_queue::Event::Processed { success: true, .. } diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/xcm_fee_estimation.rs b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/xcm_fee_estimation.rs index 3fc49ae4e6f20..b95e76a18db81 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/xcm_fee_estimation.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/xcm_fee_estimation.rs @@ -83,11 +83,11 @@ fn sender_assertions(test: ParaToParaThroughAHTest) { PenpalA, vec![ RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, balance } + pallet_assets::Event::Withdrawn { asset_id, who, amount } ) => { asset_id: *asset_id == Location::new(1, []), - owner: *owner == test.sender.account_id, - balance: *balance == test.args.amount, + who: *who == test.sender.account_id, + amount: *amount == test.args.amount, }, ] ); @@ -101,7 +101,7 @@ fn hop_assertions(test: ParaToParaThroughAHTest) { AssetHubWestend, vec![ RuntimeEvent::Balances( - pallet_balances::Event::Burned { amount, .. } + pallet_balances::Event::Withdraw { amount, .. } ) => { amount: *amount >= test.args.amount * 90/100, }, @@ -117,10 +117,10 @@ fn receiver_assertions(test: ParaToParaThroughAHTest) { PenpalB, vec![ RuntimeEvent::ForeignAssets( - pallet_assets::Event::Issued { asset_id, owner, .. } + pallet_assets::Event::Deposited { asset_id, who, .. } ) => { asset_id: *asset_id == Location::new(1, []), - owner: *owner == test.receiver.account_id, + who: *who == test.receiver.account_id, }, ] ); diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml index c44e9c5c91791..846cc340fe15c 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml @@ -39,7 +39,6 @@ asset-hub-rococo-runtime = { workspace = true } cumulus-pallet-xcmp-queue = { workspace = true } emulated-integration-tests-common = { workspace = true } parachains-common = { workspace = true, default-features = true } -rococo-system-emulated-network = { workspace = true } rococo-westend-system-emulated-network = { workspace = true } testnet-parachains-constants = { features = ["rococo", "westend"], workspace = true, default-features = true } diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/lib.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/lib.rs index ecfb48f5752f3..c550c36c78f4a 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/lib.rs @@ -52,6 +52,7 @@ mod imports { AssetHubWestendParaPallet as AssetHubWestendPallet, }, bridge_hub_rococo_emulated_chain::{ + bridge_hub_rococo_runtime::xcm_config::XcmConfig as BridgeHubRococoXcmConfig, genesis::ED as BRIDGE_HUB_ROCOCO_ED, BridgeHubRococoExistentialDeposit, BridgeHubRococoParaPallet as BridgeHubRococoPallet, }, diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/asset_transfers.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/asset_transfers.rs index c3820245526cb..1227d4f52f143 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/asset_transfers.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/asset_transfers.rs @@ -88,12 +88,12 @@ fn send_assets_from_penpal_rococo_through_rococo_ah_to_westend_ah( vec![ // Amount to reserve transfer is withdrawn from Penpal's sovereign account RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, .. } + pallet_balances::Event::Withdraw { who, .. } ) => { who: *who == sov_penpal_on_ahr.clone().into(), }, // Amount deposited in AHW's sovereign account - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == TreasuryAccount::get(), }, RuntimeEvent::XcmpQueue( @@ -144,9 +144,9 @@ fn send_roc_from_asset_hub_rococo_to_asset_hub_westend() { AssetHubWestend, vec![ // issue ROCs on AHW - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == roc, - owner: owner == &receiver, + who: who == &receiver, }, // message processed successfully RuntimeEvent::MessageQueue( @@ -224,13 +224,13 @@ fn send_back_wnds_usdt_and_weth_from_asset_hub_rococo_to_asset_hub_westend() { vec![ // WND is withdrawn from AHR's SA on AHW RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } + pallet_balances::Event::Withdraw { who, amount } ) => { who: *who == sov_ahr_on_ahw, amount: *amount == amount_to_send, }, // WNDs deposited to beneficiary - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: who == &receiver, }, // message processed successfully @@ -417,9 +417,9 @@ fn send_rocs_from_penpal_rococo_through_asset_hub_rococo_to_asset_hub_westend() AssetHubWestend, vec![ // issue ROCs on AHW - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == roc, - owner: owner == &receiver, + who: who == &receiver, }, // message processed successfully RuntimeEvent::MessageQueue( @@ -551,8 +551,8 @@ fn send_back_wnds_from_penpal_rococo_through_asset_hub_rococo_to_asset_hub_weste assert_expected_events!( AssetHubWestend, vec![ - // issue ROCs on AHW - RuntimeEvent::Balances(pallet_balances::Event::Issued { .. }) => {}, + // issue WNDs on AHW + RuntimeEvent::Balances(pallet_balances::Event::Deposit { .. }) => {}, // message processed successfully RuntimeEvent::MessageQueue( pallet_message_queue::Event::Processed { success: true, .. } diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/claim_assets.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/claim_assets.rs index 42581c1ebb241..8581cab581298 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/claim_assets.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/claim_assets.rs @@ -16,17 +16,16 @@ //! Tests related to claiming assets trapped during XCM execution. use crate::imports::*; - use emulated_integration_tests_common::test_chain_can_claim_assets; #[test] fn assets_can_be_claimed() { let amount = BridgeHubRococoExistentialDeposit::get(); - let assets: Assets = (Parent, amount).into(); + let assets: Asset = (Parent, amount).into(); test_chain_can_claim_assets!( - AssetHubRococo, - RuntimeCall, + BridgeHubRococo, + BridgeHubRococoXcmConfig, NetworkId::ByGenesis(ROCOCO_GENESIS_HASH), assets, amount diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/mod.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/mod.rs index 3e7c200eff7cf..8640fdc93ec22 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/mod.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/mod.rs @@ -245,7 +245,7 @@ pub(crate) fn assert_bridge_hub_rococo_message_accepted(expected_processed: bool BridgeHubRococo, vec![ // pay for bridge fees - RuntimeEvent::Balances(pallet_balances::Event::Burned { .. }) => {}, + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { .. }) => {}, // message exported RuntimeEvent::BridgeWestendMessages( pallet_bridge_messages::Event::MessageAccepted { .. } diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/register_bridged_assets.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/register_bridged_assets.rs index 70e7a7a3ddd36..662570abd52fd 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/register_bridged_assets.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/register_bridged_assets.rs @@ -84,8 +84,8 @@ fn register_rococo_asset_on_wah_from_rah() { assert_expected_events!( AssetHubWestend, vec![ - // Burned the fee - RuntimeEvent::Balances(pallet_balances::Event::Burned { who, amount }) => { + // Withdrawn the fee + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { who, amount }) => { who: *who == sa_of_rah_on_wah.clone(), amount: *amount == fee_amount, }, @@ -95,8 +95,8 @@ fn register_rococo_asset_on_wah_from_rah() { creator: *creator == sa_of_rah_on_wah.clone(), owner: *owner == sa_of_rah_on_wah, }, - // Unspent fee minted to origin - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + // Unspent fee deposited to origin + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == sa_of_rah_on_wah.clone(), }, ] diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/send_xcm.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/send_xcm.rs index 64f02ef4baead..8c663e111c312 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/send_xcm.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/send_xcm.rs @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use rococo_system_emulated_network::rococo_emulated_chain::rococo_runtime::Dmp; +use rococo_westend_system_emulated_network::rococo_emulated_chain::rococo_runtime::Dmp; use crate::tests::*; diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/lib.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/lib.rs index acad1acf1583b..8af82781b39e7 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/lib.rs @@ -55,7 +55,10 @@ mod imports { AssetHubWestendParaPallet as AssetHubWestendPallet, }, bridge_hub_westend_emulated_chain::{ - bridge_hub_westend_runtime, genesis::ED as BRIDGE_HUB_WESTEND_ED, + bridge_hub_westend_runtime::{ + self, xcm_config::XcmConfig as BridgeHubWestendXcmConfig, + }, + genesis::ED as BRIDGE_HUB_WESTEND_ED, BridgeHubWestendExistentialDeposit, BridgeHubWestendParaPallet as BridgeHubWestendPallet, BridgeHubWestendRuntimeOrigin, }, diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/asset_transfers.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/asset_transfers.rs index 0a6f82b04a514..3969e1defd11a 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/asset_transfers.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/asset_transfers.rs @@ -100,12 +100,12 @@ fn send_assets_from_penpal_westend_through_westend_ah_to_rococo_ah( vec![ // Amount to reserve transfer is withdrawn from Penpal's sovereign account RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, .. } + pallet_balances::Event::Withdraw { who, .. } ) => { who: *who == sov_penpal_on_ahw.clone().into(), }, // Amount deposited in AHR's sovereign account - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == TreasuryAccount::get(), }, RuntimeEvent::XcmpQueue( @@ -169,9 +169,9 @@ fn send_wnds_usdt_and_weth_from_asset_hub_westend_to_asset_hub_rococo() { AssetHubRococo, vec![ // issue WNDs on AHR - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == bridged_wnd_at_asset_hub_rococo, - owner: *owner == receiver, + who: who == &receiver, }, // message processed successfully RuntimeEvent::MessageQueue( @@ -322,13 +322,13 @@ fn send_back_rocs_from_asset_hub_westend_to_asset_hub_rococo() { vec![ // ROC is withdrawn from AHW's SA on AHR RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } + pallet_balances::Event::Withdraw { who, amount } ) => { who: *who == sov_ahw_on_ahr, amount: *amount == amount_to_send, }, // ROCs deposited to beneficiary - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == receiver, }, // message processed successfully @@ -403,9 +403,9 @@ fn send_wnds_from_penpal_westend_through_asset_hub_westend_to_asset_hub_rococo() AssetHubRococo, vec![ // issue WNDs on AHR - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == wnd_at_asset_hub_rococo.clone(), - owner: owner == &receiver, + who: who == &receiver, }, // message processed successfully RuntimeEvent::MessageQueue( @@ -515,7 +515,7 @@ fn send_wnds_from_penpal_westend_through_asset_hub_westend_to_asset_hub_rococo_t AssetHubRococo, vec![ // issue WNDs on AHR - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {}, + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {}, // message processed successfully RuntimeEvent::MessageQueue( pallet_message_queue::Event::Processed { success: true, .. } @@ -675,7 +675,7 @@ fn send_wnds_from_westend_relay_through_asset_hub_westend_to_asset_hub_rococo_to AssetHubWestend, vec![ // Amount deposited in AHR's sovereign account - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == sov_ahr_on_ahw.clone().into(), }, RuntimeEvent::XcmpQueue( @@ -694,7 +694,7 @@ fn send_wnds_from_westend_relay_through_asset_hub_westend_to_asset_hub_rococo_to AssetHubRococo, vec![ // issue WNDs on AHR - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {}, + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {}, // message processed successfully RuntimeEvent::MessageQueue( pallet_message_queue::Event::Processed { success: true, .. } @@ -834,7 +834,7 @@ fn send_back_rocs_from_penpal_westend_through_asset_hub_westend_to_asset_hub_roc AssetHubRococo, vec![ // issue WNDs on AHR - RuntimeEvent::Balances(pallet_balances::Event::Issued { .. }) => {}, + RuntimeEvent::Balances(pallet_balances::Event::Deposit { .. }) => {}, // message processed successfully RuntimeEvent::MessageQueue( pallet_message_queue::Event::Processed { success: true, .. } @@ -987,10 +987,9 @@ fn send_back_rocs_from_penpal_westend_through_asset_hub_westend_to_asset_hub_roc vec![ // Amount to reserve transfer is withdrawn from Penpal's sovereign account RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, .. } + pallet_assets::Event::Withdrawn { asset_id, .. } ) => { asset_id: asset_id == &roc_at_westend_parachains, - owner: owner == &sov_penpal_on_ahw, }, RuntimeEvent::XcmpQueue( cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { .. } @@ -1013,7 +1012,7 @@ fn send_back_rocs_from_penpal_westend_through_asset_hub_westend_to_asset_hub_roc vec![ // burn ROCs from AHW's SA on AHR RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, .. } + pallet_balances::Event::Withdraw { who, .. } ) => { who: *who == sov_ahw_on_ahr.clone().into(), }, @@ -1186,10 +1185,9 @@ fn send_back_rocs_from_penpal_westend_through_asset_hub_westend_to_asset_hub_roc vec![ // Amount to reserve transfer is withdrawn from Penpal's sovereign account RuntimeEvent::ForeignAssets( - pallet_assets::Event::Burned { asset_id, owner, .. } + pallet_assets::Event::Withdrawn { asset_id, .. } ) => { asset_id: asset_id == &roc_at_westend_parachains, - owner: owner == &sov_penpal_on_ahw, }, RuntimeEvent::XcmpQueue( cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { .. } @@ -1215,7 +1213,7 @@ fn send_back_rocs_from_penpal_westend_through_asset_hub_westend_to_asset_hub_roc vec![ // burn ROCs from AHW's SA on AHR RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, .. } + pallet_balances::Event::Withdraw { who, .. } ) => { who: *who == sov_ahw_on_ahr.clone().into(), }, @@ -1374,13 +1372,13 @@ fn do_send_pens_and_wnds_from_penpal_westend_via_ahw_to_asset_hub_rococo( vec![ // Amount to reserve transfer is withdrawn from Penpal's sovereign account RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } + pallet_balances::Event::Withdraw { who, amount } ) => { who: *who == sov_penpal_on_ahw.clone().into(), amount: *amount == ahw_fee_amount, }, // Amount deposited in AHR's sovereign account - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == sov_ahr_on_ahw.clone().into(), }, RuntimeEvent::XcmpQueue( @@ -1520,9 +1518,9 @@ fn send_pens_and_wnds_from_penpal_westend_via_ahw_to_ahr() { AssetHubRococo, vec![ // issue WNDs on AHR - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == wnd, - owner: *owner == AssetHubRococoReceiver::get(), + who: who == &AssetHubRococoReceiver::get(), }, // message processed successfully RuntimeEvent::MessageQueue( diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/claim_assets.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/claim_assets.rs index ceaa77ab30ea4..a7f933743b9da 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/claim_assets.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/claim_assets.rs @@ -16,17 +16,16 @@ //! Tests related to claiming assets trapped during XCM execution. use crate::imports::*; - use emulated_integration_tests_common::test_chain_can_claim_assets; #[test] fn assets_can_be_claimed() { let amount = BridgeHubWestendExistentialDeposit::get(); - let assets: Assets = (Parent, amount).into(); + let assets: Asset = (Parent, amount).into(); test_chain_can_claim_assets!( - AssetHubWestend, - RuntimeCall, + BridgeHubWestend, + BridgeHubWestendXcmConfig, NetworkId::ByGenesis(WESTEND_GENESIS_HASH), assets, amount diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/mod.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/mod.rs index 549d3dd3aa7a1..989970bbf9925 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/mod.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/mod.rs @@ -199,7 +199,7 @@ pub(crate) fn assert_bridge_hub_westend_message_accepted(expected_processed: boo BridgeHubWestend, vec![ // pay for bridge fees - RuntimeEvent::Balances(pallet_balances::Event::Burned { .. }) => {}, + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { .. }) => {}, // message exported RuntimeEvent::BridgeRococoMessages( pallet_bridge_messages::Event::MessageAccepted { .. } diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/register_bridged_assets.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/register_bridged_assets.rs index 2652197a2490a..03ecbf612b11d 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/register_bridged_assets.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/register_bridged_assets.rs @@ -103,8 +103,8 @@ fn register_asset_on_rah_from_wah(bridged_asset_at_rah: Location) { assert_expected_events!( AssetHubRococo, vec![ - // Burned the fee - RuntimeEvent::Balances(pallet_balances::Event::Burned { who, amount }) => { + // Withdrawn the fee + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { who, amount }) => { who: *who == sa_of_wah_on_rah.clone(), amount: *amount == fee_amount, }, @@ -114,8 +114,8 @@ fn register_asset_on_rah_from_wah(bridged_asset_at_rah: Location) { creator: *creator == sa_of_wah_on_rah.clone(), owner: *owner == sa_of_wah_on_rah, }, - // Unspent fee minted to origin - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + // Unspent fee deposited to origin + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == sa_of_wah_on_rah.clone(), }, ] diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge.rs index 63137cc8b0409..b5eda677a1fba 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge.rs @@ -157,7 +157,7 @@ fn send_weth_token_from_ethereum_to_asset_hub() { assert_expected_events!( AssetHubWestend, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {}, + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {}, ] ); }); @@ -260,7 +260,7 @@ fn send_weth_from_ethereum_to_penpal() { assert_expected_events!( AssetHubWestend, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {}, + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {}, RuntimeEvent::XcmpQueue(cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { .. }) => {}, ] ); @@ -272,7 +272,7 @@ fn send_weth_from_ethereum_to_penpal() { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {}, + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {}, ] ); }); @@ -332,9 +332,9 @@ fn send_eth_asset_from_asset_hub_to_ethereum_and_back() { type RuntimeEvent = ::RuntimeEvent; type RuntimeOrigin = ::RuntimeOrigin; - let _issued_event = RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { + let _issued_event = RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id: origin_location.clone(), - owner: AssetHubWestendReceiver::get().into(), + who: AssetHubWestendReceiver::get().into(), amount: ETH_AMOUNT, }); // Check that AssetHub has issued the foreign asset @@ -370,10 +370,10 @@ fn send_eth_asset_from_asset_hub_to_ethereum_and_back() { ) .unwrap(); - let _burned_event = RuntimeEvent::ForeignAssets(pallet_assets::Event::Burned { + let _burned_event = RuntimeEvent::ForeignAssets(pallet_assets::Event::Withdrawn { asset_id: origin_location.clone(), - owner: AssetHubWestendReceiver::get().into(), - balance: ETH_AMOUNT, + who: AssetHubWestendReceiver::get().into(), + amount: ETH_AMOUNT, }); // Check that AssetHub has issued the foreign asset let _destination = origin_location.clone(); @@ -497,7 +497,7 @@ fn send_weth_from_ethereum_to_existent_account_on_asset_hub() { assert_expected_events!( AssetHubWestend, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {}, + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {}, ] ); }); @@ -514,7 +514,7 @@ fn send_weth_from_ethereum_to_non_existent_account_on_asset_hub() { assert_expected_events!( AssetHubWestend, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {}, + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {}, ] ); }); @@ -599,7 +599,7 @@ fn send_token_from_ethereum_to_asset_hub() { // Check that the token was received and issued as a foreign asset on AssetHub assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {},] ); }); } @@ -644,7 +644,7 @@ fn send_weth_asset_from_asset_hub_to_ethereum() { // Check that AssetHub has issued the foreign asset assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {},] ); let assets = vec![Asset { id: AssetId(Location::new( @@ -781,7 +781,7 @@ fn send_token_from_ethereum_to_penpal() { assert_expected_events!( AssetHubWestend, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {}, + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {}, RuntimeEvent::XcmpQueue(cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { .. }) => {}, ] ); @@ -793,7 +793,7 @@ fn send_token_from_ethereum_to_penpal() { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {}, + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {}, ] ); }); @@ -926,7 +926,7 @@ fn transfer_relay_token() { assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::Balances(pallet_balances::Event::Burned{ .. }) => {},] + vec![RuntimeEvent::Balances(pallet_balances::Event::Withdraw{ .. }) => {},] ); let events = AssetHubWestend::events(); @@ -935,7 +935,7 @@ fn transfer_relay_token() { assert!( events.iter().any(|event| matches!( event, - RuntimeEvent::Balances(pallet_balances::Event::Burned { who, ..}) + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { who, ..}) if *who == ethereum_sovereign.clone(), )), "native token burnt from Ethereum sovereign account." @@ -945,7 +945,7 @@ fn transfer_relay_token() { assert!( events.iter().any(|event| matches!( event, - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, amount }) + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, amount }) if *amount >= TOKEN_AMOUNT && *who == AssetHubWestendReceiver::get() )), "Token minted to beneficiary." @@ -1090,7 +1090,7 @@ fn transfer_ah_token() { assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::Assets(pallet_assets::Event::Burned{..}) => {},] + vec![RuntimeEvent::Assets(pallet_assets::Event::Withdrawn{..}) => {},] ); let events = AssetHubWestend::events(); @@ -1099,7 +1099,7 @@ fn transfer_ah_token() { assert!( events.iter().any(|event| matches!( event, - RuntimeEvent::Assets(pallet_assets::Event::Burned { owner, .. }) + RuntimeEvent::Assets(pallet_assets::Event::Withdrawn { who: owner, .. }) if *owner == ethereum_sovereign.clone(), )), "token burnt from Ethereum sovereign account." @@ -1109,7 +1109,7 @@ fn transfer_ah_token() { assert!( events.iter().any(|event| matches!( event, - RuntimeEvent::Assets(pallet_assets::Event::Issued { owner, .. }) + RuntimeEvent::Assets(pallet_assets::Event::Deposited { who: owner, .. }) if *owner == AssetHubWestendReceiver::get() )), "Token minted to beneficiary." @@ -1194,7 +1194,7 @@ fn send_weth_from_ethereum_to_ahw_to_ahr_back_to_ahw_and_ethereum() { assert_expected_events!( AssetHubWestend, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {}, + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {}, ] ); }); @@ -1253,7 +1253,7 @@ fn send_weth_from_ethereum_to_ahw_to_ahr_back_to_ahw_and_ethereum() { AssetHubRococo, vec![ // Token was issued to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == weth_location, owner: *owner == AssetHubRococoReceiver::get().into(), }, @@ -1303,7 +1303,7 @@ fn send_weth_from_ethereum_to_ahw_to_ahr_back_to_ahw_and_ethereum() { BridgeHubRococo, vec![ // pay for bridge fees - RuntimeEvent::Balances(pallet_balances::Event::Burned { .. }) => {}, + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { .. }) => {}, // message exported RuntimeEvent::BridgeWestendMessages( pallet_bridge_messages::Event::MessageAccepted { .. } @@ -1337,7 +1337,7 @@ fn send_weth_from_ethereum_to_ahw_to_ahr_back_to_ahw_and_ethereum() { AssetHubWestend, vec![ // Token was issued to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == weth_location, owner: *owner == AssetHubWestendReceiver::get().into(), }, @@ -1526,7 +1526,7 @@ fn transfer_penpal_native_asset() { assert_expected_events!( PenpalB, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Burned{ .. }) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Withdrawn{ .. }) => {},] ); }); @@ -1534,7 +1534,7 @@ fn transfer_penpal_native_asset() { type RuntimeEvent = ::RuntimeEvent; assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {},] ); }); @@ -1575,12 +1575,12 @@ fn transfer_penpal_native_asset() { assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Burned{..}) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Withdrawn{..}) => {},] ); assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued{..}) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited{..}) => {},] ); }); @@ -1611,7 +1611,7 @@ fn transfer_penpal_native_asset() { assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Burned{..}) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Withdrawn{..}) => {},] ); }); @@ -1620,7 +1620,7 @@ fn transfer_penpal_native_asset() { assert_expected_events!( PenpalB, - vec![RuntimeEvent::Balances(pallet_balances::Event::Minted{..}) => {},] + vec![RuntimeEvent::Balances(pallet_balances::Event::Deposit{..}) => {},] ); }) } @@ -1735,12 +1735,12 @@ fn transfer_penpal_teleport_enabled_asset() { assert_expected_events!( PenpalB, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Burned{ .. }) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Withdrawn{ .. }) => {},] ); assert_expected_events!( PenpalB, - vec![RuntimeEvent::Assets(pallet_assets::Event::Burned{ .. }) => {},] + vec![RuntimeEvent::Assets(pallet_assets::Event::Withdrawn{ .. }) => {},] ); }); @@ -1748,7 +1748,7 @@ fn transfer_penpal_teleport_enabled_asset() { type RuntimeEvent = ::RuntimeEvent; assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {},] ); }); @@ -1790,12 +1790,12 @@ fn transfer_penpal_teleport_enabled_asset() { assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Burned{..}) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Withdrawn{..}) => {},] ); assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued{..}) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited{..}) => {},] ); }); @@ -1838,7 +1838,7 @@ fn transfer_penpal_teleport_enabled_asset() { assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Burned{..}) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Withdrawn{..}) => {},] ); }); @@ -1847,7 +1847,7 @@ fn transfer_penpal_teleport_enabled_asset() { assert_expected_events!( PenpalB, - vec![RuntimeEvent::Assets(pallet_assets::Event::Issued{..}) => {},] + vec![RuntimeEvent::Assets(pallet_assets::Event::Deposited{..}) => {},] ); }) } @@ -2141,7 +2141,7 @@ fn transfer_roc_from_ah_with_transfer_and_then() { assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued{..}) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited{..}) => {},] ); let events = AssetHubWestend::events(); @@ -2150,7 +2150,7 @@ fn transfer_roc_from_ah_with_transfer_and_then() { assert!( events.iter().any(|event| matches!( event, - RuntimeEvent::ForeignAssets(pallet_assets::Event::Burned { owner, .. }) + RuntimeEvent::ForeignAssets(pallet_assets::Event::Withdrawn { who: owner, .. }) if *owner == ethereum_sovereign.clone(), )), "token burnt from Ethereum sovereign account." @@ -2160,7 +2160,7 @@ fn transfer_roc_from_ah_with_transfer_and_then() { assert!( events.iter().any(|event| matches!( event, - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { owner, .. }) + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { who: owner, .. }) if *owner == AssetHubWestendReceiver::get() )), "Token minted to beneficiary." diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_inbound.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_inbound.rs index 026db448d7271..f16355c39b15a 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_inbound.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_inbound.rs @@ -38,7 +38,7 @@ use rococo_westend_system_emulated_network::penpal_emulated_chain::PARA_ID_B; use snowbridge_core::{reward::MessageId, AssetMetadata, TokenIdOf}; use snowbridge_inbound_queue_primitives::v2::{ EthereumAsset::{ForeignTokenERC20, NativeTokenERC20}, - Message, Network, XcmPayload, + Message, Network, Payload, }; use sp_core::{H160, H256}; use sp_io::hashing::blake2_256; @@ -79,7 +79,7 @@ fn register_token_v2() { nonce: 1, origin, assets: vec![], - xcm: XcmPayload::CreateAsset { token, network: Network::Polkadot }, + payload: Payload::CreateAsset { token, network: Network::Polkadot }, claimer: Some(claimer_bytes), // Used to pay the asset creation deposit. value: 9_000_000_000_000u128, @@ -119,7 +119,7 @@ fn register_token_v2() { owner: *owner == bridge_owner, }, // Check that excess fees were paid to the claimer - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == eth_location(), owner: *owner == receiver.clone().into(), }, @@ -190,7 +190,7 @@ fn send_token_v2() { nonce: 1, origin, assets, - xcm: XcmPayload::Raw(versioned_message_xcm.encode()), + payload: Payload::Raw(versioned_message_xcm.encode()), claimer: Some(claimer_bytes), value: 1_500_000_000_000u128, execution_fee: 1_500_000_000_000u128, @@ -231,12 +231,12 @@ fn send_token_v2() { id: *id == topic_id.into(), }, // Check that the token was received and issued as a foreign asset on AssetHub - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == token_location, owner: *owner == beneficiary_acc_bytes.into(), }, // Check that excess fees were paid to the claimer, which was set by the UX - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == eth_location(), owner: *owner == receiver.clone().into(), }, @@ -300,7 +300,7 @@ fn send_weth_v2() { nonce: 1, origin, assets, - xcm: XcmPayload::Raw(versioned_message_xcm.encode()), + payload: Payload::Raw(versioned_message_xcm.encode()), claimer: Some(claimer_bytes), value: 3_500_000_000_000u128, execution_fee: 1_500_000_000_000u128, @@ -334,12 +334,12 @@ fn send_weth_v2() { pallet_message_queue::Event::Processed { success: true, .. } ) => {}, // Check that the token was received and issued as a foreign asset on AssetHub - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == weth_location(), owner: *owner == beneficiary_acc_bytes.into(), }, // Check that excess fees were paid to the beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == eth_location(), owner: *owner == beneficiary_acc_bytes.into(), }, @@ -457,7 +457,7 @@ fn register_and_send_token_in_one_transaction_fails() { nonce: 1, origin, assets, - xcm: XcmPayload::Raw(versioned_message_xcm.encode()), + payload: Payload::Raw(versioned_message_xcm.encode()), claimer: Some(claimer_bytes), value: 3_500_000_000_000u128, execution_fee: 1_500_000_000_000u128, @@ -610,7 +610,7 @@ fn send_token_to_penpal_v2() { nonce: 1, origin, assets, - xcm: XcmPayload::Raw(versioned_message_xcm.encode()), + payload: Payload::Raw(versioned_message_xcm.encode()), claimer: Some(claimer_bytes), value: 3_500_000_000_000u128, execution_fee: 1_500_000_000_000u128, @@ -649,12 +649,12 @@ fn send_token_to_penpal_v2() { pallet_message_queue::Event::Processed { success: true, .. } ) => {}, // Ether was issued to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == eth_location(), owner: *owner == penpal_sov_on_ah, }, // Token was issued to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == token_location, owner: *owner == penpal_sov_on_ah, }, @@ -684,12 +684,12 @@ fn send_token_to_penpal_v2() { pallet_message_queue::Event::Processed { success: true, .. } ) => {}, // Token was issued to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == token_location, owner: *owner == beneficiary_acc_bytes.into(), }, // Leftover fees was deposited to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == eth_location(), owner: *owner == beneficiary_acc_bytes.into(), }, @@ -794,7 +794,7 @@ fn send_foreign_erc20_token_back_to_polkadot() { nonce: 1, origin, assets, - xcm: XcmPayload::Raw(versioned_message_xcm.encode()), + payload: Payload::Raw(versioned_message_xcm.encode()), claimer: Some(claimer_bytes), value: 1_500_000_000_000u128, execution_fee: 3_500_000_000_000u128, @@ -822,7 +822,7 @@ fn send_foreign_erc20_token_back_to_polkadot() { assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::Assets(pallet_assets::Event::Burned{..}) => {},] + vec![RuntimeEvent::Assets(pallet_assets::Event::Withdrawn{..}) => {},] ); assert_expected_events!( @@ -833,11 +833,11 @@ fn send_foreign_erc20_token_back_to_polkadot() { pallet_message_queue::Event::Processed { success: true, .. } ) => {}, // Check that the native token burnt from some reserved account - RuntimeEvent::Assets(pallet_assets::Event::Burned { owner, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Withdrawn { who: owner, .. }) => { owner: *owner == ethereum_sovereign.clone().into(), }, // Check that the token was minted to beneficiary - RuntimeEvent::Assets(pallet_assets::Event::Issued { owner, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { who: owner, .. }) => { owner: *owner == AssetHubWestendReceiver::get(), }, ] @@ -890,7 +890,7 @@ fn invalid_xcm_traps_funds_on_ah() { nonce: 1, origin, assets, - xcm: XcmPayload::Raw(instructions.to_vec()), + payload: Payload::Raw(instructions.to_vec()), claimer: Some(claimer_bytes), value: 1_500_000_000_000u128, execution_fee: 1_500_000_000_000u128, @@ -957,7 +957,7 @@ fn invalid_claimer_does_not_fail_the_message() { nonce: 1, origin, assets, - xcm: XcmPayload::Raw(versioned_message_xcm.encode()), + payload: Payload::Raw(versioned_message_xcm.encode()), // Set an invalid claimer claimer: Some(hex!("2b7ce7bc7e87e4d6619da21487c7a53f").to_vec()), value: 1_500_000_000_000u128, @@ -989,12 +989,12 @@ fn invalid_claimer_does_not_fail_the_message() { AssetHubWestend, vec![ // Token was issued to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == weth_location(), owner: *owner == beneficiary_acc.into(), }, // Leftover fees deposited to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == eth_location(), owner: *owner == beneficiary_acc.into(), }, diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_inbound_to_rococo.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_inbound_to_rococo.rs index acb067dfa9736..648423d3ca113 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_inbound_to_rococo.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_inbound_to_rococo.rs @@ -35,7 +35,7 @@ use hex_literal::hex; use snowbridge_core::TokenIdOf; use snowbridge_inbound_queue_primitives::v2::{ EthereumAsset::{ForeignTokenERC20, NativeTokenERC20}, - Message, XcmPayload, + Message, Payload, }; use sp_core::{H160, H256}; use xcm::opaque::latest::AssetTransferFilter::{ReserveDeposit, ReserveWithdraw}; @@ -151,7 +151,7 @@ fn send_token_to_rococo_v2() { nonce: 1, origin, assets, - xcm: XcmPayload::Raw(versioned_message_xcm.encode()), + payload: Payload::Raw(versioned_message_xcm.encode()), claimer: Some(claimer_bytes), value: 3_500_000_000_000u128, execution_fee: 1_500_000_000_000u128, @@ -214,12 +214,12 @@ fn send_token_to_rococo_v2() { pallet_message_queue::Event::Processed { success: true, .. } ) => {}, // Token was issued to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == token_location, owner: *owner == beneficiary_acc_bytes.into(), }, // Leftover fees was deposited to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == eth_location(), owner: *owner == beneficiary_acc_bytes.into(), }, @@ -313,7 +313,7 @@ fn send_ether_to_rococo_v2() { nonce: 1, origin, assets: vec![], - xcm: XcmPayload::Raw(versioned_message_xcm.encode()), + payload: Payload::Raw(versioned_message_xcm.encode()), claimer: Some(claimer_bytes), value: 6_500_000_000_000u128, execution_fee: 1_500_000_000_000u128, @@ -376,7 +376,7 @@ fn send_ether_to_rococo_v2() { pallet_message_queue::Event::Processed { success: true, .. } ) => {}, // Ether was deposited to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == eth_location(), owner: *owner == beneficiary_acc_bytes.into(), }, @@ -509,7 +509,7 @@ fn send_roc_from_ethereum_to_rococo() { nonce: 1, origin, assets, - xcm: XcmPayload::Raw(versioned_message_xcm.encode()), + payload: Payload::Raw(versioned_message_xcm.encode()), claimer: Some(claimer_bytes), value: 9_500_000_000_000u128, execution_fee: 3_500_000_000_000u128, @@ -568,13 +568,13 @@ fn send_roc_from_ethereum_to_rococo() { vec![ // ROC is withdrawn from AHW's SA on AHR RuntimeEvent::Balances( - pallet_balances::Event::Burned { who, amount } + pallet_balances::Event::Withdraw { who, amount } ) => { who: *who == sov_ahw_on_ahr, amount: *amount == TOKEN_AMOUNT, }, // ROCs deposited to beneficiary - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, .. }) => { who: *who == AssetHubRococoReceiver::get(), }, // message processed successfully diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_outbound.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_outbound.rs index d89e42a5b9228..dc9a090c31306 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_outbound.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_outbound.rs @@ -390,7 +390,7 @@ fn transfer_relay_token_from_ah() { assert!( events.iter().any(|event| matches!( event, - RuntimeEvent::Balances(pallet_balances::Event::Minted { who, amount}) + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who, amount}) if *who == ethereum_sovereign.clone() && *amount == TOKEN_AMOUNT, )), "native token reserved to Ethereum sovereign account." @@ -781,7 +781,7 @@ fn register_token_from_penpal() { type RuntimeEvent = ::RuntimeEvent; assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Burned { .. }) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Withdrawn { .. }) => {},] ); }); @@ -929,7 +929,7 @@ fn send_message_from_penpal_to_ethereum(sudo: bool) { ); assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { .. }) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {},] ); }); diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_outbound_edge_case.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_outbound_edge_case.rs index a3cab1ad1e931..8df6669b3ef47 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_outbound_edge_case.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_outbound_edge_case.rs @@ -112,7 +112,7 @@ fn register_penpal_a_asset_from_penpal_b_will_fail() { type RuntimeEvent = ::RuntimeEvent; assert_expected_events!( AssetHubWestend, - vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Burned { .. }) => {},] + vec![RuntimeEvent::ForeignAssets(pallet_assets::Event::Withdrawn { .. }) => {},] ); }); diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_outbound_from_rococo.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_outbound_from_rococo.rs index 806092adfc51f..a0e57072f2f6e 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_outbound_from_rococo.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_outbound_from_rococo.rs @@ -96,7 +96,7 @@ pub(crate) fn assert_bridge_hub_rococo_message_accepted(expected_processed: bool BridgeHubRococo, vec![ // pay for bridge fees - RuntimeEvent::Balances(pallet_balances::Event::Burned { .. }) => {}, + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { .. }) => {}, // message exported RuntimeEvent::BridgeWestendMessages( pallet_bridge_messages::Event::MessageAccepted { .. } diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_rewards.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_rewards.rs index c3b9bdc5662ae..fc52596acf4ec 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_rewards.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/snowbridge_v2_rewards.rs @@ -21,7 +21,7 @@ use pallet_bridge_relayers::{Error::FailedToPayReward, RewardLedger}; use crate::imports::*; const INITIAL_FUND: u128 = 5_000_000_000_000; -//1_000_000_000u128 +// 1_000_000_000u128 #[test] fn claim_rewards_works() { let assethub_location = BridgeHubWestend::sibling_location_of(AssetHubWestend::para_id()); @@ -93,7 +93,7 @@ fn claim_rewards_works() { AssetHubWestend, vec![ // Check that the reward was paid on AH - RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who: owner, .. }) => { asset_id: *asset_id == eth_location(), owner: *owner == reward_address.clone().into(), }, diff --git a/cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend/src/lib.rs b/cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend/src/lib.rs index ec71705e6a806..7c548b4651682 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend/src/lib.rs @@ -35,6 +35,7 @@ mod imports { collectives_westend_runtime::{ fellowship as collectives_fellowship, xcm_config::XcmConfig as CollectivesWestendXcmConfig, + ExistentialDeposit as CollectivesWestendExistentialDeposit, }, genesis::ED as COLLECTIVES_WESTEND_ED, CollectivesWestendParaPallet as CollectivesWestendPallet, diff --git a/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/src/tests/claim_assets.rs b/cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend/src/tests/claim_assets.rs similarity index 80% rename from cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/src/tests/claim_assets.rs rename to cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend/src/tests/claim_assets.rs index 32b5537832a45..a684bb5f3b5fe 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/src/tests/claim_assets.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend/src/tests/claim_assets.rs @@ -16,19 +16,18 @@ //! Tests related to claiming assets trapped during XCM execution. use crate::imports::*; - use emulated_integration_tests_common::test_chain_can_claim_assets; #[test] fn assets_can_be_claimed() { - let amount = PeopleRococoExistentialDeposit::get(); - let assets: Assets = (Parent, amount).into(); + let amount = CollectivesWestendExistentialDeposit::get(); + let asset: Asset = (Parent, amount).into(); test_chain_can_claim_assets!( - PeopleRococo, - RuntimeCall, - NetworkId::ByGenesis(ROCOCO_GENESIS_HASH), - assets, + CollectivesWestend, + CollectivesWestendXcmConfig, + NetworkId::ByGenesis(WESTEND_GENESIS_HASH), + asset, amount ); } diff --git a/cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend/src/tests/mod.rs b/cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend/src/tests/mod.rs index 3e8b470d6c284..65619d23dc325 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend/src/tests/mod.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend/src/tests/mod.rs @@ -14,6 +14,7 @@ // limitations under the License. mod aliases; +mod claim_assets; mod collectives_salary; mod fellowship; mod fellowship_treasury; diff --git a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/Cargo.toml deleted file mode 100644 index 51d47f929ad4e..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/Cargo.toml +++ /dev/null @@ -1,28 +0,0 @@ -[package] -name = "coretime-rococo-integration-tests" -version = "0.0.0" -authors.workspace = true -edition.workspace = true -license = "Apache-2.0" -description = "Coretime Rococo runtime integration tests with xcm-emulator" -publish = false - -[lints] -workspace = true - -[dependencies] -# Substrate -frame-support = { workspace = true } -pallet-broker = { workspace = true, default-features = true } -pallet-message-queue = { workspace = true } -sp-runtime = { workspace = true } - -# Polkadot -polkadot-runtime-parachains = { workspace = true, default-features = true } -rococo-runtime-constants = { workspace = true, default-features = true } -xcm = { workspace = true } - -# Cumulus -cumulus-pallet-parachain-system = { workspace = true, default-features = true } -emulated-integration-tests-common = { workspace = true } -rococo-system-emulated-network = { workspace = true } diff --git a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/lib.rs b/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/lib.rs deleted file mode 100644 index 728414f060e15..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/lib.rs +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#[cfg(test)] -mod imports { - - // Substrate - pub(crate) use frame_support::assert_ok; - - // Polkadot - pub(crate) use xcm::{latest::ROCOCO_GENESIS_HASH, prelude::*}; - - // Cumulus - pub(crate) use emulated_integration_tests_common::xcm_emulator::{ - assert_expected_events, Chain, Parachain, TestExt, - }; - pub(crate) use rococo_system_emulated_network::{ - asset_hub_rococo_emulated_chain::genesis::ED as ASSET_HUB_ROCOCO_ED, - coretime_rococo_emulated_chain::{ - coretime_rococo_runtime::ExistentialDeposit as CoretimeRococoExistentialDeposit, - genesis::ED as CORETIME_ROCOCO_ED, CoretimeRococoParaPallet as CoretimeRococoPallet, - }, - rococo_emulated_chain::{genesis::ED as ROCOCO_ED, RococoRelayPallet as RococoPallet}, - AssetHubRococoPara as AssetHubRococo, AssetHubRococoParaReceiver as AssetHubRococoReceiver, - AssetHubRococoParaSender as AssetHubRococoSender, CoretimeRococoPara as CoretimeRococo, - CoretimeRococoParaReceiver as CoretimeRococoReceiver, - CoretimeRococoParaSender as CoretimeRococoSender, RococoRelay as Rococo, - RococoRelayReceiver as RococoReceiver, RococoRelaySender as RococoSender, - }; -} - -#[cfg(test)] -mod tests; diff --git a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/tests/claim_assets.rs b/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/tests/claim_assets.rs deleted file mode 100644 index ba275eaaf8a9b..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/tests/claim_assets.rs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Tests related to claiming assets trapped during XCM execution. - -use crate::imports::*; - -use emulated_integration_tests_common::test_chain_can_claim_assets; - -#[test] -fn assets_can_be_claimed() { - let amount = CoretimeRococoExistentialDeposit::get(); - let assets: Assets = (Parent, amount).into(); - - test_chain_can_claim_assets!( - CoretimeRococo, - RuntimeCall, - NetworkId::ByGenesis(ROCOCO_GENESIS_HASH), - assets, - amount - ); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/tests/coretime_interface.rs b/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/tests/coretime_interface.rs deleted file mode 100644 index 554025e1ecfed..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/tests/coretime_interface.rs +++ /dev/null @@ -1,240 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use crate::imports::*; -use frame_support::traits::OnInitialize; -use pallet_broker::{ConfigRecord, Configuration, CoreAssignment, CoreMask, ScheduleItem}; -use rococo_runtime_constants::system_parachain::coretime::TIMESLICE_PERIOD; -use rococo_system_emulated_network::rococo_emulated_chain::rococo_runtime::Dmp; -use sp_runtime::Perbill; - -#[test] -fn transact_hardcoded_weights_are_sane() { - // There are three transacts with hardcoded weights sent from the Coretime Chain to the Relay - // Chain across the CoretimeInterface which are triggered at various points in the sales cycle. - // - Request core count - triggered directly by `start_sales` or `request_core_count` - // extrinsics. - // - Request revenue info - triggered when each timeslice is committed. - // - Assign core - triggered when an entry is encountered in the workplan for the next - // timeslice. - - // RuntimeEvent aliases to avoid warning from usage of qualified paths in assertions due to - // - type CoretimeEvent = ::RuntimeEvent; - type RelayEvent = ::RuntimeEvent; - - Rococo::execute_with(|| { - Dmp::make_parachain_reachable(CoretimeRococo::para_id()); - }); - - // Reserve a workload, configure broker and start sales. - CoretimeRococo::execute_with(|| { - // Hooks don't run in emulated tests - workaround as we need `on_initialize` to tick things - // along and have no concept of time passing otherwise. - ::Broker::on_initialize( - ::System::block_number(), - ); - - let coretime_root_origin = ::RuntimeOrigin::root(); - - // Create and populate schedule with the worst case assignment on this core. - let mut schedule = Vec::new(); - for i in 0..80 { - schedule.push(ScheduleItem { - mask: CoreMask::void().set(i), - assignment: CoreAssignment::Task(2000 + i), - }) - } - - assert_ok!(::Broker::reserve( - coretime_root_origin.clone(), - schedule.try_into().expect("Vector is within bounds."), - )); - - // Configure broker and start sales. - let config = ConfigRecord { - advance_notice: 1, - interlude_length: 1, - leadin_length: 2, - region_length: 1, - ideal_bulk_proportion: Perbill::from_percent(40), - limit_cores_offered: None, - renewal_bump: Perbill::from_percent(2), - contribution_timeout: 1, - }; - assert_ok!(::Broker::configure( - coretime_root_origin.clone(), - config - )); - assert_ok!(::Broker::start_sales( - coretime_root_origin, - 100, - 0 - )); - assert_eq!( - pallet_broker::Status::<::Runtime>::get() - .unwrap() - .core_count, - 1 - ); - - assert_expected_events!( - CoretimeRococo, - vec![ - CoretimeEvent::Broker( - pallet_broker::Event::ReservationMade { .. } - ) => {}, - CoretimeEvent::Broker( - pallet_broker::Event::CoreCountRequested { core_count: 1 } - ) => {}, - CoretimeEvent::ParachainSystem( - cumulus_pallet_parachain_system::Event::UpwardMessageSent { .. } - ) => {}, - ] - ); - }); - - // Check that the request_core_count message was processed successfully. This will fail if the - // weights are misconfigured. - Rococo::execute_with(|| { - Rococo::assert_ump_queue_processed(true, Some(CoretimeRococo::para_id()), None); - - assert_expected_events!( - Rococo, - vec![ - RelayEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - ] - ); - }); - - // Keep track of the relay chain block number so we can fast forward while still checking the - // right block. - let mut block_number_cursor = Rococo::ext_wrapper(::System::block_number); - - let config = CoretimeRococo::ext_wrapper(|| { - Configuration::<::Runtime>::get() - .expect("Pallet was configured earlier.") - }); - - // Now run up to the block before the sale is rotated. - while block_number_cursor < TIMESLICE_PERIOD - config.advance_notice - 1 { - CoretimeRococo::execute_with(|| { - // Hooks don't run in emulated tests - workaround. - ::Broker::on_initialize( - ::System::block_number(), - ); - }); - - Rococo::ext_wrapper(|| { - block_number_cursor = ::System::block_number(); - }); - } - - // In this block we trigger assign core. - CoretimeRococo::execute_with(|| { - // Hooks don't run in emulated tests - workaround. - ::Broker::on_initialize( - ::System::block_number(), - ); - - assert_expected_events!( - CoretimeRococo, - vec![ - CoretimeEvent::Broker( - pallet_broker::Event::SaleInitialized { .. } - ) => {}, - CoretimeEvent::Broker( - pallet_broker::Event::CoreAssigned { .. } - ) => {}, - CoretimeEvent::ParachainSystem( - cumulus_pallet_parachain_system::Event::UpwardMessageSent { .. } - ) => {}, - ] - ); - }); - - // Check that the assign_core message was processed successfully. - // This will fail if the weights are misconfigured. - Rococo::execute_with(|| { - Rococo::assert_ump_queue_processed(true, Some(CoretimeRococo::para_id()), None); - - assert_expected_events!( - Rococo, - vec![ - RelayEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - RelayEvent::Coretime( - polkadot_runtime_parachains::coretime::Event::CoreAssigned { .. } - ) => {}, - ] - ); - }); - - // In this block we trigger request revenue. - CoretimeRococo::execute_with(|| { - // Hooks don't run in emulated tests - workaround. - ::Broker::on_initialize( - ::System::block_number(), - ); - - assert_expected_events!( - CoretimeRococo, - vec![ - CoretimeEvent::ParachainSystem( - cumulus_pallet_parachain_system::Event::UpwardMessageSent { .. } - ) => {}, - ] - ); - }); - - // Check that the request_revenue_info_at message was processed successfully. - // This will fail if the weights are misconfigured. - Rococo::execute_with(|| { - Rococo::assert_ump_queue_processed(true, Some(CoretimeRococo::para_id()), None); - - assert_expected_events!( - Rococo, - vec![ - RelayEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - ] - ); - }); - - // Here we receive and process the notify_revenue XCM with zero revenue. - CoretimeRococo::execute_with(|| { - // Hooks don't run in emulated tests - workaround. - ::Broker::on_initialize( - ::System::block_number(), - ); - - assert_expected_events!( - CoretimeRococo, - vec![ - CoretimeEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - // Zero revenue in first timeslice so history is immediately dropped. - CoretimeEvent::Broker( - pallet_broker::Event::HistoryDropped { when: 0, revenue: 0 } - ) => {}, - ] - ); - }); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/tests/teleport.rs b/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/tests/teleport.rs deleted file mode 100644 index 3ca72b1e7a662..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/tests/teleport.rs +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use crate::imports::*; -use emulated_integration_tests_common::{ - test_parachain_is_trusted_teleporter, test_parachain_is_trusted_teleporter_for_relay, - test_relay_is_trusted_teleporter, -}; - -#[test] -fn teleport_via_limited_teleport_assets_from_and_to_relay() { - let amount = ROCOCO_ED * 10; - let native_asset: Assets = (Here, amount).into(); - - test_relay_is_trusted_teleporter!( - Rococo, // Origin - vec![CoretimeRococo], // Destinations - (native_asset, amount), - limited_teleport_assets - ); - - test_parachain_is_trusted_teleporter_for_relay!( - CoretimeRococo, // Origin - Rococo, // Destination - amount, - limited_teleport_assets - ); -} - -#[test] -fn teleport_via_transfer_assets_from_and_to_relay() { - let amount = ROCOCO_ED * 10; - let native_asset: Assets = (Here, amount).into(); - - test_relay_is_trusted_teleporter!( - Rococo, // Origin - vec![CoretimeRococo], // Destinations - (native_asset, amount), - transfer_assets - ); - - test_parachain_is_trusted_teleporter_for_relay!( - CoretimeRococo, // Origin - Rococo, // Destination - amount, - transfer_assets - ); -} - -#[test] -fn teleport_via_limited_teleport_assets_from_coretime_to_asset_hub() { - let amount = ASSET_HUB_ROCOCO_ED * 100; - let native_asset: Assets = (Parent, amount).into(); - - test_parachain_is_trusted_teleporter!( - CoretimeRococo, // Origin - vec![AssetHubRococo], // Destinations - (native_asset, amount), - limited_teleport_assets - ); -} - -#[test] -fn teleport_via_transfer_assets_from_coretime_to_asset_hub() { - let amount = ASSET_HUB_ROCOCO_ED * 100; - let native_asset: Assets = (Parent, amount).into(); - - test_parachain_is_trusted_teleporter!( - CoretimeRococo, // Origin - vec![AssetHubRococo], // Destinations - (native_asset, amount), - transfer_assets - ); -} - -#[test] -fn teleport_via_limited_teleport_assets_from_asset_hub_to_coretime() { - let amount = CORETIME_ROCOCO_ED * 100; - let native_asset: Assets = (Parent, amount).into(); - - test_parachain_is_trusted_teleporter!( - AssetHubRococo, // Origin - vec![CoretimeRococo], // Destinations - (native_asset, amount), - limited_teleport_assets - ); -} - -#[test] -fn teleport_via_transfer_assets_from_asset_hub_to_coretime() { - let amount = CORETIME_ROCOCO_ED * 100; - let native_asset: Assets = (Parent, amount).into(); - - test_parachain_is_trusted_teleporter!( - AssetHubRococo, // Origin - vec![CoretimeRococo], // Destinations - (native_asset, amount), - transfer_assets - ); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-westend/src/lib.rs b/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-westend/src/lib.rs index 2df18cb3bc2a4..846536609d8ba 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-westend/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-westend/src/lib.rs @@ -15,7 +15,6 @@ #[cfg(test)] mod imports { - // Substrate pub(crate) use frame_support::assert_ok; @@ -34,8 +33,12 @@ mod imports { collectives_westend_emulated_chain::CollectivesWestendParaPallet as CollectivesWestendPallet, coretime_westend_emulated_chain::{ self, - coretime_westend_runtime::ExistentialDeposit as CoretimeWestendExistentialDeposit, - genesis::ED as CORETIME_WESTEND_ED, CoretimeWestendParaPallet as CoretimeWestendPallet, + coretime_westend_runtime::{ + xcm_config::XcmConfig as CoretimeWestendXcmConfig, + ExistentialDeposit as CoretimeWestendExistentialDeposit, + }, + genesis::ED as CORETIME_WESTEND_ED, + CoretimeWestendParaPallet as CoretimeWestendPallet, }, penpal_emulated_chain::{PenpalAssetOwner, PenpalBParaPallet as PenpalBPallet}, people_westend_emulated_chain::PeopleWestendParaPallet as PeopleWestendPallet, diff --git a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-westend/src/tests/claim_assets.rs b/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-westend/src/tests/claim_assets.rs index 1981b59f4a3f5..ff2cf24d53955 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-westend/src/tests/claim_assets.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-westend/src/tests/claim_assets.rs @@ -16,17 +16,16 @@ //! Tests related to claiming assets trapped during XCM execution. use crate::imports::*; - use emulated_integration_tests_common::test_chain_can_claim_assets; #[test] fn assets_can_be_claimed() { let amount = CoretimeWestendExistentialDeposit::get(); - let assets: Assets = (Parent, amount).into(); + let assets: Asset = (Parent, amount).into(); test_chain_can_claim_assets!( CoretimeWestend, - RuntimeCall, + CoretimeWestendXcmConfig, NetworkId::ByGenesis(WESTEND_GENESIS_HASH), assets, amount diff --git a/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/Cargo.toml deleted file mode 100644 index f6886a4b09268..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/Cargo.toml +++ /dev/null @@ -1,27 +0,0 @@ -[package] -name = "people-rococo-integration-tests" -version = "0.1.0" -authors.workspace = true -edition.workspace = true -license = "Apache-2.0" -description = "People Rococo runtime integration tests with xcm-emulator" -publish = false - -[lints] -workspace = true - -[dependencies] -# Substrate -frame-support = { workspace = true } -pallet-balances = { workspace = true } -sp-runtime = { workspace = true } - -# Polkadot -xcm = { workspace = true } -xcm-executor = { workspace = true } - -# Cumulus -asset-test-utils = { workspace = true, default-features = true } -emulated-integration-tests-common = { workspace = true } -parachains-common = { workspace = true, default-features = true } -rococo-system-emulated-network = { workspace = true } diff --git a/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/src/lib.rs b/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/src/lib.rs deleted file mode 100644 index 0a0a1cb42a346..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/src/lib.rs +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#[cfg(test)] -mod imports { - // Substrate - pub(crate) use frame_support::sp_runtime::DispatchResult; - - // Polkadot - pub(crate) use xcm::{latest::ROCOCO_GENESIS_HASH, prelude::*}; - - // Cumulus - pub(crate) use asset_test_utils::xcm_helpers; - pub(crate) use emulated_integration_tests_common::xcm_emulator::{ - assert_expected_events, bx, Chain, Parachain as Para, Test, TestArgs, TestContext, TestExt, - }; - pub(crate) use parachains_common::Balance; - pub(crate) use rococo_system_emulated_network::{ - people_rococo_emulated_chain::{ - people_rococo_runtime::{ - xcm_config::XcmConfig as PeopleRococoXcmConfig, - ExistentialDeposit as PeopleRococoExistentialDeposit, - }, - PeopleRococoParaPallet as PeopleRococoPallet, - }, - rococo_emulated_chain::{genesis::ED as ROCOCO_ED, RococoRelayPallet as RococoPallet}, - AssetHubRococoPara as AssetHubRococo, AssetHubRococoParaReceiver as AssetHubRococoReceiver, - PeopleRococoPara as PeopleRococo, PeopleRococoParaReceiver as PeopleRococoReceiver, - PeopleRococoParaSender as PeopleRococoSender, RococoRelay as Rococo, - RococoRelayReceiver as RococoReceiver, RococoRelaySender as RococoSender, - }; - - pub(crate) type SystemParaToRelayTest = Test; -} - -#[cfg(test)] -mod tests; diff --git a/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/src/tests/teleport.rs b/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/src/tests/teleport.rs deleted file mode 100644 index 3f0a0f974f834..0000000000000 --- a/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/src/tests/teleport.rs +++ /dev/null @@ -1,161 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use crate::imports::*; -use emulated_integration_tests_common::{ - test_parachain_is_trusted_teleporter, test_parachain_is_trusted_teleporter_for_relay, - test_relay_is_trusted_teleporter, -}; - -#[test] -fn teleport_via_limited_teleport_assets_from_and_to_relay() { - let amount = ROCOCO_ED * 100; - let native_asset: Assets = (Here, amount).into(); - - test_relay_is_trusted_teleporter!( - Rococo, - vec![PeopleRococo], - (native_asset, amount), - limited_teleport_assets - ); - - test_parachain_is_trusted_teleporter_for_relay!( - PeopleRococo, - Rococo, - amount, - limited_teleport_assets - ); -} - -#[test] -fn teleport_via_transfer_assets_from_and_to_relay() { - let amount = ROCOCO_ED * 100; - let native_asset: Assets = (Here, amount).into(); - - test_relay_is_trusted_teleporter!( - Rococo, - vec![PeopleRococo], - (native_asset, amount), - transfer_assets - ); - - test_parachain_is_trusted_teleporter_for_relay!(PeopleRococo, Rococo, amount, transfer_assets); -} - -#[test] -fn teleport_via_limited_teleport_assets_to_other_system_parachains_works() { - let amount = ROCOCO_ED * 100; - let native_asset: Assets = (Parent, amount).into(); - - test_parachain_is_trusted_teleporter!( - PeopleRococo, // Origin - vec![AssetHubRococo], // Destinations - (native_asset, amount), - limited_teleport_assets - ); -} - -#[test] -fn teleport_via_transfer_assets_to_other_system_parachains_works() { - let amount = ROCOCO_ED * 100; - let native_asset: Assets = (Parent, amount).into(); - - test_parachain_is_trusted_teleporter!( - PeopleRococo, // Origin - vec![AssetHubRococo], // Destinations - (native_asset, amount), - transfer_assets - ); -} - -fn relay_dest_assertions_fail(_t: SystemParaToRelayTest) { - Rococo::assert_ump_queue_processed(false, Some(PeopleRococo::para_id()), None); -} - -fn para_origin_assertions(t: SystemParaToRelayTest) { - type RuntimeEvent = ::RuntimeEvent; - - PeopleRococo::assert_xcm_pallet_attempted_complete(None); - - PeopleRococo::assert_parachain_system_ump_sent(); - - assert_expected_events!( - PeopleRococo, - vec![ - // Amount is withdrawn from Sender's account - RuntimeEvent::Balances(pallet_balances::Event::Burned { who, amount }) => { - who: *who == t.sender.account_id, - amount: *amount == t.args.amount, - }, - ] - ); -} - -fn system_para_limited_teleport_assets(t: SystemParaToRelayTest) -> DispatchResult { - ::PolkadotXcm::limited_teleport_assets( - t.signed_origin, - bx!(t.args.dest.into()), - bx!(t.args.beneficiary.into()), - bx!(t.args.assets.into()), - t.args.fee_asset_item, - t.args.weight_limit, - ) -} - -/// Limited Teleport of native asset from System Parachain to Relay Chain -/// shouldn't work when there is not enough balance in Relay Chain's `CheckAccount` -#[test] -fn limited_teleport_native_assets_from_system_para_to_relay_fails() { - // Init values for Relay Chain - let amount_to_send: Balance = ROCOCO_ED * 1000; - let destination = PeopleRococo::parent_location(); - let beneficiary_id = RococoReceiver::get(); - let assets = (Parent, amount_to_send).into(); - - // Fund a sender - PeopleRococo::fund_accounts(vec![(PeopleRococoSender::get(), ROCOCO_ED * 2_000u128)]); - - let test_args = TestContext { - sender: PeopleRococoSender::get(), - receiver: RococoReceiver::get(), - args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), - }; - - let mut test = SystemParaToRelayTest::new(test_args); - - let sender_balance_before = test.sender.balance; - let receiver_balance_before = test.receiver.balance; - - test.set_assertion::(para_origin_assertions); - test.set_assertion::(relay_dest_assertions_fail); - test.set_dispatchable::(system_para_limited_teleport_assets); - test.assert(); - - let sender_balance_after = test.sender.balance; - let receiver_balance_after = test.receiver.balance; - - let delivery_fees = PeopleRococo::execute_with(|| { - xcm_helpers::teleport_assets_delivery_fees::< - ::XcmSender, - >( - test.args.assets.clone(), 0, test.args.weight_limit, test.args.beneficiary, test.args.dest - ) - }); - - // Sender's balance is reduced - assert_eq!(sender_balance_before - amount_to_send - delivery_fees, sender_balance_after); - // Receiver's balance does not change - assert_eq!(receiver_balance_after, receiver_balance_before); -} diff --git a/cumulus/parachains/integration-tests/emulated/tests/people/people-westend/src/tests/claim_assets.rs b/cumulus/parachains/integration-tests/emulated/tests/people/people-westend/src/tests/claim_assets.rs index dca7b8d99ffb4..92377fb40de4c 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/people/people-westend/src/tests/claim_assets.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/people/people-westend/src/tests/claim_assets.rs @@ -16,19 +16,18 @@ //! Tests related to claiming assets trapped during XCM execution. use crate::imports::*; - use emulated_integration_tests_common::test_chain_can_claim_assets; #[test] fn assets_can_be_claimed() { let amount = PeopleWestendExistentialDeposit::get(); - let assets: Assets = (Parent, amount).into(); + let asset: Asset = (Parent, amount).into(); test_chain_can_claim_assets!( PeopleWestend, - RuntimeCall, + PeopleWestendXcmConfig, NetworkId::ByGenesis(WESTEND_GENESIS_HASH), - assets, + asset, amount ); } diff --git a/cumulus/parachains/pallets/collective-content/src/lib.rs b/cumulus/parachains/pallets/collective-content/src/lib.rs index 58c220c0c606f..b70420cda6714 100644 --- a/cumulus/parachains/pallets/collective-content/src/lib.rs +++ b/cumulus/parachains/pallets/collective-content/src/lib.rs @@ -198,7 +198,7 @@ pub mod pallet { Self::deposit_event(Event::::AnnouncementRemoved { cid }); if now >= expire_at { - return Ok(Pays::No.into()) + return Ok(Pays::No.into()); } Ok(Pays::Yes.into()) } diff --git a/cumulus/parachains/pallets/ping/src/lib.rs b/cumulus/parachains/pallets/ping/src/lib.rs index 05919e5077f6e..360abf8e672a6 100644 --- a/cumulus/parachains/pallets/ping/src/lib.rs +++ b/cumulus/parachains/pallets/ping/src/lib.rs @@ -219,8 +219,9 @@ pub mod pallet { fallback_max_weight: None, }]), ) { - Ok((hash, cost)) => - Self::deposit_event(Event::PongSent(para, seq, payload, hash, cost)), + Ok((hash, cost)) => { + Self::deposit_event(Event::PongSent(para, seq, payload, hash, cost)) + }, Err(e) => Self::deposit_event(Event::ErrorSendingPong(e, para, seq, payload)), } Ok(()) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/genesis_config_presets.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/genesis_config_presets.rs index 28eeeda3af154..29a0613f65677 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/genesis_config_presets.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/genesis_config_presets.rs @@ -121,7 +121,7 @@ pub fn get_preset(id: &PresetId) -> Option> { vec![], vec![], ), - sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET => + sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET => { asset_hub_rococo_genesis( // initial collators. vec![ @@ -150,7 +150,8 @@ pub fn get_preset(id: &PresetId) -> Option> { 10_000_000 * 4096 * 4096, ), ], - ), + ) + }, sp_genesis_builder::DEV_RUNTIME_PRESET => asset_hub_rococo_genesis( // initial collators. vec![(Sr25519Keyring::Alice.to_account_id(), Sr25519Keyring::Alice.public().into())], diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs index 85386572af623..9c3cb6b6bcd87 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs @@ -48,6 +48,7 @@ use sp_runtime::{ transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, Permill, }; +use sp_session::OpaqueGeneratedSessionKeys; use testnet_parachains_constants::rococo::snowbridge::EthereumNetwork; #[cfg(feature = "std")] @@ -102,7 +103,7 @@ use polkadot_runtime_common::{BlockHashCount, SlowAdjustingFeeUpdate}; #[cfg(feature = "runtime-benchmarks")] use xcm::latest::prelude::{ Asset, Assets as XcmAssets, Fungible, Here, InteriorLocation, Junction, Junction::*, Location, - NetworkId, NonFungible, ParentThen, Response, WeightLimit, XCM_VERSION, + NetworkId, ParentThen, Response, WeightLimit, XCM_VERSION, }; use xcm::{ latest::prelude::{AssetId, BodyId}, @@ -130,7 +131,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: alloc::borrow::Cow::Borrowed("statemine"), impl_name: alloc::borrow::Cow::Borrowed("statemine"), authoring_version: 1, - spec_version: 1_020_001, + spec_version: 1_021_001, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 16, @@ -145,8 +146,12 @@ pub fn native_version() -> NativeVersion { parameter_types! { pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -1273,8 +1278,8 @@ impl assert_ok!(ForeignAssets::force_create( RuntimeOrigin::root(), asset_id.clone().into(), - account.clone().into(), /* owner */ - true, /* is_sufficient */ + account.clone().into(), // owner + true, // is_sufficient 1, )); @@ -1437,8 +1442,8 @@ impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -1695,7 +1700,14 @@ impl_runtime_apis! { } use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - impl cumulus_pallet_session_benchmarking::Config for Runtime {} + impl cumulus_pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } + + impl pallet_transaction_payment::BenchmarkConfig for Runtime {} use pallet_xcm_bridge_hub_router::benchmarking::{ Pallet as XcmBridgeHubRouterBench, @@ -1889,26 +1901,42 @@ impl_runtime_apis! { fn valid_destination() -> Result { Ok(PeopleLocation::get()) } - fn worst_case_holding(depositable_count: u32) -> XcmAssets { + fn worst_case_holding(depositable_count: u32) -> xcm_executor::AssetsInHolding { + use pallet_xcm_benchmarks::MockCredit; // A mix of fungible, non-fungible, and concrete assets. let holding_non_fungibles = MaxAssetsIntoHolding::get() / 2 - depositable_count; - let holding_fungibles = holding_non_fungibles.saturating_sub(2); // -2 for two `iter::once` bellow + let holding_fungibles = holding_non_fungibles.saturating_sub(2); // -2 for two `iter::once` below let fungibles_amount: u128 = 100; - (0..holding_fungibles) - .map(|i| { - Asset { - id: GeneralIndex(i as u128).into(), - fun: Fungible(fungibles_amount * (i + 1) as u128), // non-zero amount - } - }) - .chain(core::iter::once(Asset { id: Here.into(), fun: Fungible(u128::MAX) })) - .chain(core::iter::once(Asset { id: AssetId(TokenLocation::get()), fun: Fungible(1_000_000 * UNITS) })) - .chain((0..holding_non_fungibles).map(|i| Asset { - id: GeneralIndex(i as u128).into(), - fun: NonFungible(asset_instance_from(i)), - })) - .collect::>() - .into() + + let mut holding = xcm_executor::AssetsInHolding::new(); + + // Add fungible assets with MockCredit + for i in 0..holding_fungibles { + holding.fungible.insert( + AssetId(GeneralIndex(i as u128).into()), + alloc::boxed::Box::new(MockCredit(fungibles_amount * (i + 1) as u128)), + ); + } + + // Add two more fungible assets + holding.fungible.insert( + AssetId(Here.into()), + alloc::boxed::Box::new(MockCredit(u128::MAX)), + ); + holding.fungible.insert( + AssetId(TokenLocation::get()), + alloc::boxed::Box::new(MockCredit(1_000_000 * UNITS)), + ); + + // Add non-fungible assets + for i in 0..holding_non_fungibles { + holding.non_fungible.insert(( + AssetId(GeneralIndex(i as u128).into()), + asset_instance_from(i), + )); + } + + holding } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_assets_foreign.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_assets_foreign.rs index 0c4e92392322f..9f65aec9327e4 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_assets_foreign.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_assets_foreign.rs @@ -49,6 +49,7 @@ use core::marker::PhantomData; /// Weight functions for `pallet_assets`. pub struct WeightInfo(PhantomData); + impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) @@ -109,7 +110,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. - fn destroy_accounts(c: u32, ) -> Weight { + fn destroy_accounts(c: u32) -> Weight { // Proof Size summary in bytes: // Measured: `0 + c * (208 Β±0)` // Estimated: `4273 + c * (3207 Β±0)` @@ -131,7 +132,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. - fn destroy_approvals(a: u32, ) -> Weight { + fn destroy_approvals(a: u32) -> Weight { // Proof Size summary in bytes: // Measured: `413 + a * (86 Β±0)` // Estimated: `4273 + a * (3221 Β±0)` @@ -338,7 +339,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(_n: u32, s: u32, ) -> Weight { + fn set_metadata(_n: u32, s: u32) -> Weight { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` @@ -374,7 +375,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(n: u32, s: u32, ) -> Weight { + fn force_set_metadata(n: u32, s: u32) -> Weight { // Proof Size summary in bytes: // Measured: `81` // Estimated: `4273` @@ -625,9 +626,28 @@ impl pallet_assets::WeightInfo for WeightInfo { .saturating_add(Weight::from_parts(0, 4211)) .saturating_add(T::DbWeight::get().reads(1)) } - fn set_reserves() -> Weight { + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + fn set_reserves(n: u32) -> Weight { Weight::from_parts(31_972_000, 3675) + // Standard Error: 13_748 + .saturating_add(Weight::from_parts(198_975, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } + fn migration_v2_foreign_asset_set_reserve_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `256` + // Estimated: `0` + // Minimum execution time: 9_596_000 picoseconds. + Weight::from_parts(10_031_000, 0) + } + fn get_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `344` + // Estimated: `0` + // Minimum execution time: 10_591_000 picoseconds. + Weight::from_parts(11_121_000, 0) + } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_assets_local.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_assets_local.rs index 912516b0d8bf4..a2cc639b68a63 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_assets_local.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_assets_local.rs @@ -49,6 +49,7 @@ use core::marker::PhantomData; /// Weight functions for `pallet_assets`. pub struct WeightInfo(PhantomData); + impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `Assets::Asset` (r:1 w:1) /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) @@ -107,7 +108,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. - fn destroy_accounts(c: u32, ) -> Weight { + fn destroy_accounts(c: u32) -> Weight { // Proof Size summary in bytes: // Measured: `0 + c * (208 Β±0)` // Estimated: `3675 + c * (2609 Β±0)` @@ -129,7 +130,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. - fn destroy_approvals(a: u32, ) -> Weight { + fn destroy_approvals(a: u32) -> Weight { // Proof Size summary in bytes: // Measured: `451 + a * (86 Β±0)` // Estimated: `3675 + a * (2623 Β±0)` @@ -336,7 +337,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(_n: u32, _s: u32, ) -> Weight { + fn set_metadata(_n: u32, _s: u32) -> Weight { // Proof Size summary in bytes: // Measured: `280` // Estimated: `3675` @@ -370,7 +371,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(n: u32, s: u32, ) -> Weight { + fn force_set_metadata(n: u32, s: u32) -> Weight { // Proof Size summary in bytes: // Measured: `119` // Estimated: `3675` @@ -621,9 +622,28 @@ impl pallet_assets::WeightInfo for WeightInfo { .saturating_add(Weight::from_parts(0, 3613)) .saturating_add(T::DbWeight::get().reads(1)) } - fn set_reserves() -> Weight { + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + fn set_reserves(n: u32) -> Weight { Weight::from_parts(31_972_000, 3675) + // Standard Error: 13_748 + .saturating_add(Weight::from_parts(198_975, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } + fn migration_v2_foreign_asset_set_reserve_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `256` + // Estimated: `0` + // Minimum execution time: 9_596_000 picoseconds. + Weight::from_parts(10_031_000, 0) + } + fn get_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `344` + // Estimated: `0` + // Minimum execution time: 10_591_000 picoseconds. + Weight::from_parts(11_121_000, 0) + } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_assets_pool.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_assets_pool.rs index 54c84d06d35f5..3a98faf63258d 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_assets_pool.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_assets_pool.rs @@ -49,6 +49,7 @@ use core::marker::PhantomData; /// Weight functions for `pallet_assets`. pub struct WeightInfo(PhantomData); + impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `PoolAssets::Asset` (r:1 w:1) /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) @@ -105,7 +106,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. - fn destroy_accounts(c: u32, ) -> Weight { + fn destroy_accounts(c: u32) -> Weight { // Proof Size summary in bytes: // Measured: `0 + c * (208 Β±0)` // Estimated: `3675 + c * (2609 Β±0)` @@ -127,7 +128,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. - fn destroy_approvals(a: u32, ) -> Weight { + fn destroy_approvals(a: u32) -> Weight { // Proof Size summary in bytes: // Measured: `451 + a * (86 Β±0)` // Estimated: `3675 + a * (2623 Β±0)` @@ -334,7 +335,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(n: u32, _s: u32, ) -> Weight { + fn set_metadata(n: u32, _s: u32) -> Weight { // Proof Size summary in bytes: // Measured: `280` // Estimated: `3675` @@ -370,7 +371,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(_n: u32, s: u32, ) -> Weight { + fn force_set_metadata(_n: u32, s: u32) -> Weight { // Proof Size summary in bytes: // Measured: `119` // Estimated: `3675` @@ -615,9 +616,28 @@ impl pallet_assets::WeightInfo for WeightInfo { .saturating_add(Weight::from_parts(0, 3613)) .saturating_add(T::DbWeight::get().reads(1)) } - fn set_reserves() -> Weight { + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + fn set_reserves(n: u32) -> Weight { Weight::from_parts(31_972_000, 3675) + // Standard Error: 13_748 + .saturating_add(Weight::from_parts(198_975, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } + fn migration_v2_foreign_asset_set_reserve_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `256` + // Estimated: `0` + // Minimum execution time: 9_596_000 picoseconds. + Weight::from_parts(10_031_000, 0) + } + fn get_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `344` + // Estimated: `0` + // Minimum execution time: 10_591_000 picoseconds. + Weight::from_parts(11_121_000, 0) + } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/xcm/mod.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/xcm/mod.rs index 3dc3e82a62ff9..1e1fcee8afe5a 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/xcm/mod.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/xcm/mod.rs @@ -44,12 +44,14 @@ impl WeighAssets for AssetFilter { WildFungibility::Fungible => weight, // Magic number 2 has to do with the fact that we could have up to 2 times // MaxAssetsIntoHolding in the worst-case scenario. - WildFungibility::NonFungible => - weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64), + WildFungibility::NonFungible => { + weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64) + }, }, AllCounted(count) => weight.saturating_mul(MAX_ASSETS.min((*count as u64).max(1))), - AllOfCounted { count, .. } => - weight.saturating_mul(MAX_ASSETS.min((*count as u64).max(1))), + AllOfCounted { count, .. } => { + weight.saturating_mul(MAX_ASSETS.min((*count as u64).max(1))) + }, }, } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/xcm_config.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/xcm_config.rs index 66ffddf5c8339..16233421e4592 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/xcm_config.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/xcm_config.rs @@ -394,7 +394,6 @@ impl xcm_executor::Config for XcmConfig { ); type ResponseHandler = PolkadotXcm; type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/tests/tests.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/tests/tests.rs index edfea558bd811..a29eb38a82d88 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/tests/tests.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/tests/tests.rs @@ -35,7 +35,7 @@ use asset_test_utils::{ }; use codec::{Decode, Encode}; use frame_support::{ - assert_noop, assert_ok, parameter_types, + assert_ok, parameter_types, traits::{ fungible::{Inspect, Mutate}, fungibles::{ @@ -56,7 +56,7 @@ use xcm::latest::{ WESTEND_GENESIS_HASH, }; use xcm_builder::WithLatestLocationConverter; -use xcm_executor::traits::{JustTry, WeightTrader}; +use xcm_executor::traits::{JustTry, TransactAsset, WeightTrader}; use xcm_runtime_apis::conversions::LocationToAccountHelper; const ALICE: [u8; 32] = [1u8; 32]; @@ -66,6 +66,25 @@ parameter_types! { pub Governance: GovernanceOrigin = GovernanceOrigin::Location(GovernanceLocation::get()); } +/// Helper to convert a single Asset into AssetsInHolding for tests +/// This creates a proper AssetsInHolding by withdrawing from an account +fn asset_to_holding_withdraw(asset: Asset, who: &AccountId) -> xcm_executor::AssetsInHolding { + use xcm_executor::traits::TransactAsset; + let who_location: Location = + Junction::AccountId32 { network: None, id: who.clone().into() }.into(); + ::AssetTransactor::withdraw_asset( + &asset, + &who_location, + None, + ) + .expect("failed to withdraw asset") +} + +/// Helper to convert a single Asset into AssetsInHolding for tests (mock version for error tests) +fn asset_to_holding(asset: Asset) -> xcm_executor::AssetsInHolding { + xcm_executor::test_helpers::mock_asset_to_holding(asset) +} + type AssetIdForTrustBackedAssetsConvert = assets_common::AssetIdForTrustBackedAssetsConvert; @@ -121,12 +140,15 @@ fn test_buy_and_refund_weight_in_native() { // init trader and buy weight. let mut trader = ::Trader::new(); - let unused_asset = - trader.buy_weight(weight, payment.into(), &ctx).expect("Expected Ok"); + let unused_asset = trader + .buy_weight(weight, asset_to_holding_withdraw(payment, &bob), &ctx) + .expect("Expected Ok"); // assert. - let unused_amount = - unused_asset.fungible.get(&native_location.clone().into()).map_or(0, |a| *a); + let unused_amount = unused_asset + .fungible + .get(&native_location.clone().into()) + .map_or(0, |a| a.amount()); assert_eq!(unused_amount, extra_amount); assert_eq!(Balances::total_issuance(), total_issuance); @@ -136,7 +158,8 @@ fn test_buy_and_refund_weight_in_native() { // refund. let actual_refund = trader.refund_weight(refund_weight, &ctx).unwrap(); - assert_eq!(actual_refund, (native_location, refund).into()); + let expected_refund = asset_to_holding((native_location, refund).into()); + assert_eq!(actual_refund, expected_refund); // assert. assert_eq!(Balances::balance(&staking_pot), initial_balance); @@ -144,7 +167,7 @@ fn test_buy_and_refund_weight_in_native() { // account. drop(trader); assert_eq!(Balances::balance(&staking_pot), initial_balance + fee - refund); - assert_eq!(Balances::total_issuance(), total_issuance + fee - refund); + assert_eq!(Balances::total_issuance(), total_issuance); }) } @@ -191,7 +214,7 @@ fn test_buy_and_refund_weight_with_swap_local_asset_xcm_trader() { pool_liquidity, 1, 1, - bob, + bob.clone(), )); // keep initial total issuance to assert later. @@ -209,14 +232,17 @@ fn test_buy_and_refund_weight_with_swap_local_asset_xcm_trader() { // init trader and buy weight. let mut trader = ::Trader::new(); - let unused_asset = - trader.buy_weight(weight, payment.into(), &ctx).expect("Expected Ok"); + let unused_asset = trader + .buy_weight(weight, asset_to_holding_withdraw(payment, &bob), &ctx) + .expect("Expected Ok"); // assert. - let unused_amount = - unused_asset.fungible.get(&asset_1_location.clone().into()).map_or(0, |a| *a); + let unused_amount = unused_asset + .fungible + .get(&asset_1_location.clone().into()) + .map_or(0, |a| a.amount()); assert_eq!(unused_amount, extra_amount); - assert_eq!(Assets::total_issuance(asset_1), asset_total_issuance + asset_fee); + assert_eq!(Assets::total_issuance(asset_1), asset_total_issuance); // prepare input to refund weight. let refund_weight = Weight::from_parts(1_000_000_000, 0); @@ -231,7 +257,8 @@ fn test_buy_and_refund_weight_with_swap_local_asset_xcm_trader() { // refund. let actual_refund = trader.refund_weight(refund_weight, &ctx).unwrap(); - assert_eq!(actual_refund, (asset_1_location, asset_refund).into()); + let expected_refund = asset_to_holding((asset_1_location, asset_refund).into()); + assert_eq!(actual_refund, expected_refund); // assert. assert_eq!(Balances::balance(&staking_pot), initial_balance); @@ -239,10 +266,7 @@ fn test_buy_and_refund_weight_with_swap_local_asset_xcm_trader() { // account. drop(trader); assert_eq!(Balances::balance(&staking_pot), initial_balance + fee - refund); - assert_eq!( - Assets::total_issuance(asset_1), - asset_total_issuance + asset_fee - asset_refund - ); + assert_eq!(Assets::total_issuance(asset_1), asset_total_issuance); assert_eq!(Balances::total_issuance(), native_total_issuance); }) } @@ -297,7 +321,7 @@ fn test_buy_and_refund_weight_with_swap_foreign_asset_xcm_trader() { pool_liquidity, 1, 1, - bob, + bob.clone(), )); // keep initial total issuance to assert later. @@ -315,16 +339,19 @@ fn test_buy_and_refund_weight_with_swap_foreign_asset_xcm_trader() { // init trader and buy weight. let mut trader = ::Trader::new(); - let unused_asset = - trader.buy_weight(weight, payment.into(), &ctx).expect("Expected Ok"); + let unused_asset = trader + .buy_weight(weight, asset_to_holding_withdraw(payment, &bob), &ctx) + .expect("Expected Ok"); // assert. - let unused_amount = - unused_asset.fungible.get(&foreign_location.clone().into()).map_or(0, |a| *a); + let unused_amount = unused_asset + .fungible + .get(&foreign_location.clone().into()) + .map_or(0, |a| a.amount()); assert_eq!(unused_amount, extra_amount); assert_eq!( ForeignAssets::total_issuance(foreign_location.clone()), - asset_total_issuance + asset_fee + asset_total_issuance ); // prepare input to refund weight. @@ -337,7 +364,8 @@ fn test_buy_and_refund_weight_with_swap_foreign_asset_xcm_trader() { // refund. let actual_refund = trader.refund_weight(refund_weight, &ctx).unwrap(); - assert_eq!(actual_refund, (foreign_location.clone(), asset_refund).into()); + let expected_refund = asset_to_holding((foreign_location.clone(), asset_refund).into()); + assert_eq!(actual_refund, expected_refund); // assert. assert_eq!(Balances::balance(&staking_pot), initial_balance); @@ -345,10 +373,7 @@ fn test_buy_and_refund_weight_with_swap_foreign_asset_xcm_trader() { // account. drop(trader); assert_eq!(Balances::balance(&staking_pot), initial_balance + fee - refund); - assert_eq!( - ForeignAssets::total_issuance(foreign_location), - asset_total_issuance + asset_fee - asset_refund - ); + assert_eq!(ForeignAssets::total_issuance(foreign_location), asset_total_issuance); assert_eq!(Balances::total_issuance(), native_total_issuance); }) } @@ -392,10 +417,40 @@ fn test_asset_xcm_take_first_trader_refund_not_possible_since_amount_less_than_e "we are testing what happens when the amount does not exceed ED" ); - let asset: Asset = (asset_location, amount_bought).into(); + let asset: Asset = (asset_location.clone(), amount_bought).into(); + + // Mint the asset to alice so we can withdraw it + // Need to mint at least ED to satisfy minimum balance requirement + let mint_amount = amount_bought.max(ExistentialDeposit::get() + 1); + assert_ok!(Assets::mint( + RuntimeHelper::origin_of(AccountId::from(ALICE)), + 1.into(), + AccountId::from(ALICE).into(), + mint_amount + )); - // Buy weight should return an error - assert_noop!(trader.buy_weight(bought, asset.into(), &ctx), XcmError::TooExpensive); + // Withdraw to create proper AssetsInHolding + let alice_location: Location = + Junction::AccountId32 { network: None, id: ALICE.into() }.into(); + let asset_holding = + ::AssetTransactor::withdraw_asset( + &asset, + &alice_location, + Some(&ctx), + ) + .expect("Failed to withdraw asset"); + + // Buy weight should return an error (asset is returned in error) + let result = trader.buy_weight(bought, asset_holding, &ctx); + assert!(result.is_err()); + if let Err((returned_asset, xcm_error)) = result { + assert_eq!(xcm_error, XcmError::TooExpensive); + // The asset should be returned (we minted mint_amount, so expect that back) + assert_eq!( + returned_asset.fungible.get(&asset_location.into()).map_or(0, |a| a.amount()), + mint_amount + ); + } // not credited since the ED is higher than this value assert_eq!(Assets::balance(1, AccountId::from(ALICE)), 0); @@ -448,10 +503,38 @@ fn test_asset_xcm_trader_not_possible_for_non_sufficient_assets() { let asset_location = AssetIdForTrustBackedAssetsConvert::convert_back(&1).unwrap(); - let asset: Asset = (asset_location, asset_amount_needed).into(); + let asset: Asset = (asset_location.clone(), asset_amount_needed).into(); + + // Mint additional asset to alice for this test + assert_ok!(Assets::mint( + RuntimeHelper::origin_of(AccountId::from(ALICE)), + 1.into(), + AccountId::from(ALICE).into(), + asset_amount_needed + )); - // Make sure again buy_weight does return an error - assert_noop!(trader.buy_weight(bought, asset.into(), &ctx), XcmError::TooExpensive); + // Withdraw to create proper AssetsInHolding + let alice_location: Location = + Junction::AccountId32 { network: None, id: ALICE.into() }.into(); + let asset_holding = + ::AssetTransactor::withdraw_asset( + &asset, + &alice_location, + Some(&ctx), + ) + .expect("Failed to withdraw asset"); + + // Make sure buy_weight returns an error (asset is returned in error) + let result = trader.buy_weight(bought, asset_holding, &ctx); + assert!(result.is_err()); + if let Err((returned_asset, xcm_error)) = result { + assert_eq!(xcm_error, XcmError::TooExpensive); + // The asset should be returned + assert_eq!( + returned_asset.fungible.get(&asset_location.into()).map_or(0, |a| a.amount()), + asset_amount_needed + ); + } // Drop trader drop(trader); diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml b/cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml index 23bc88a16ccf0..9850ea9dd8c23 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml @@ -63,7 +63,7 @@ pallet-scheduler = { workspace = true } pallet-session = { workspace = true } pallet-staking = { workspace = true } pallet-staking-async = { workspace = true } -pallet-staking-async-rc-client = { workspace = true } +pallet-staking-async-rc-client = { workspace = true, features = ["xcm-sender"] } pallet-staking-runtime-api = { workspace = true } pallet-state-trie-migration = { workspace = true } pallet-sudo = { workspace = true } @@ -94,6 +94,12 @@ sp-storage = { workspace = true } sp-transaction-pool = { workspace = true } sp-version = { workspace = true } +# Consensus primitives for Relay Chain SessionKeys validation +sp-authority-discovery = { workspace = true } +sp-consensus-babe = { workspace = true } +sp-consensus-beefy = { workspace = true } +sp-consensus-grandpa = { workspace = true } + # num-traits feature needed for dex integer sq root: primitive-types = { features = ["codec", "num-traits", "scale-info"], workspace = true } @@ -102,6 +108,7 @@ pallet-xcm = { workspace = true } pallet-xcm-benchmarks = { optional = true, workspace = true } pallet-xcm-precompiles = { workspace = true } polkadot-parachain-primitives = { workspace = true } +polkadot-primitives = { workspace = true } polkadot-runtime-common = { workspace = true } westend-runtime-constants = { workspace = true } xcm = { workspace = true } @@ -121,6 +128,7 @@ cumulus-primitives-aura = { workspace = true } cumulus-primitives-core = { workspace = true } cumulus-primitives-utility = { workspace = true } pallet-collator-selection = { workspace = true } +pallet-dap = { workspace = true } pallet-message-queue = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } @@ -142,6 +150,7 @@ asset-test-utils = { workspace = true, default-features = true } pallet-revive-fixtures = { workspace = true, default-features = true } parachains-runtimes-test-utils = { workspace = true, default-features = true } sp-tracing = { workspace = true, default-features = true } +westend-runtime = { workspace = true, default-features = true } [build-dependencies] substrate-wasm-builder = { optional = true, workspace = true, default-features = true } @@ -174,6 +183,7 @@ runtime-benchmarks = [ "pallet-balances/runtime-benchmarks", "pallet-collator-selection/runtime-benchmarks", "pallet-conviction-voting/runtime-benchmarks", + "pallet-dap/runtime-benchmarks", "pallet-delegated-staking/runtime-benchmarks", "pallet-election-provider-multi-block/runtime-benchmarks", "pallet-fast-unstake/runtime-benchmarks", @@ -209,12 +219,14 @@ runtime-benchmarks = [ "pallet-xcm/runtime-benchmarks", "parachains-common/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", + "polkadot-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "snowbridge-pallet-system-frontend/runtime-benchmarks", "snowbridge-runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "sp-staking/runtime-benchmarks", "westend-runtime-constants/runtime-benchmarks", + "westend-runtime/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", "xcm-runtime-apis/runtime-benchmarks", @@ -248,6 +260,7 @@ try-runtime = [ "pallet-balances/try-runtime", "pallet-collator-selection/try-runtime", "pallet-conviction-voting/try-runtime", + "pallet-dap/try-runtime", "pallet-delegated-staking/try-runtime", "pallet-election-provider-multi-block/try-runtime", "pallet-fast-unstake/try-runtime", @@ -286,6 +299,7 @@ try-runtime = [ "snowbridge-pallet-system-frontend/try-runtime", "snowbridge-runtime-common/try-runtime", "sp-runtime/try-runtime", + "westend-runtime/try-runtime", ] std = [ "alloy-core/std", @@ -329,6 +343,7 @@ std = [ "pallet-balances/std", "pallet-collator-selection/std", "pallet-conviction-voting/std", + "pallet-dap/std", "pallet-delegated-staking/std", "pallet-election-provider-multi-block/std", "pallet-fast-unstake/std", @@ -369,6 +384,7 @@ std = [ "parachain-info/std", "parachains-common/std", "polkadot-parachain-primitives/std", + "polkadot-primitives/std", "polkadot-runtime-common/std", "primitive-types/std", "scale-info/std", @@ -378,8 +394,12 @@ std = [ "snowbridge-runtime-common/std", "sp-api/std", "sp-arithmetic/std", + "sp-authority-discovery/std", "sp-block-builder/std", "sp-consensus-aura/std", + "sp-consensus-babe/std", + "sp-consensus-beefy/std", + "sp-consensus-grandpa/std", "sp-core/std", "sp-genesis-builder/std", "sp-inherents/std", diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/genesis_config_presets.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/genesis_config_presets.rs index 8af83341ffcef..605ec0125d311 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/genesis_config_presets.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/genesis_config_presets.rs @@ -21,12 +21,13 @@ use crate::{ }; use alloc::{vec, vec::Vec}; use cumulus_primitives_core::ParaId; -use frame_support::build_struct_json_patch; +use frame_support::{build_struct_json_patch, sp_runtime::traits::AccountIdConversion}; use hex_literal::hex; use parachains_common::{AccountId, AuraId}; use sp_core::crypto::UncheckedInto; use sp_genesis_builder::PresetId; use sp_keyring::Sr25519Keyring; +use staking::DapPalletId; use testnet_parachains_constants::westend::{ currency::UNITS as WND, xcm_version::SAFE_XCM_VERSION, }; @@ -36,6 +37,10 @@ use xcm_executor::traits::ConvertLocation; const ASSET_HUB_WESTEND_ED: Balance = ExistentialDeposit::get(); +fn dap_buffer_account() -> AccountId { + DapPalletId::get().into_account_truncating() +} + fn asset_hub_westend_genesis( invulnerables: Vec<(AccountId, AuraId)>, endowed_accounts: Vec, @@ -45,10 +50,12 @@ fn asset_hub_westend_genesis( foreign_assets: Vec<(Location, AccountId, Balance)>, foreign_assets_endowed_accounts: Vec<(Location, AccountId, Balance)>, ) -> serde_json::Value { + // Fund DAP buffer account with ED so it can receive slashes. + let mut balances: Vec<_> = endowed_accounts.iter().cloned().map(|k| (k, endowment)).collect(); + balances.push((dap_buffer_account(), ASSET_HUB_WESTEND_ED)); + build_struct_json_patch!(RuntimeGenesisConfig { - balances: BalancesConfig { - balances: endowed_accounts.iter().cloned().map(|k| (k, endowment)).collect(), - }, + balances: BalancesConfig { balances }, parachain_info: ParachainInfoConfig { parachain_id: id }, collator_selection: CollatorSelectionConfig { invulnerables: invulnerables.iter().cloned().map(|(acc, _)| acc).collect(), @@ -138,7 +145,7 @@ pub fn get_preset(id: &PresetId) -> Option> { vec![], vec![], ), - sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET => + sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET => { asset_hub_westend_genesis( // initial collators. vec![ @@ -168,7 +175,8 @@ pub fn get_preset(id: &PresetId) -> Option> { 10_000_000 * 4096 * 4096, ), ], - ), + ) + }, sp_genesis_builder::DEV_RUNTIME_PRESET => asset_hub_westend_genesis( // initial collators. vec![(Sr25519Keyring::Alice.to_account_id(), Sr25519Keyring::Alice.public().into())], diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/governance/mod.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/governance/mod.rs index 24d3845f7bb30..9c00123b55c89 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/governance/mod.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/governance/mod.rs @@ -106,7 +106,6 @@ impl pallet_referenda::Config for Runtime { parameter_types! { pub const SpendPeriod: BlockNumber = 6 * DAYS; - pub const Burn: Permill = Permill::from_perthousand(2); pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry"); pub const PayoutSpendPeriod: BlockNumber = 30 * DAYS; @@ -139,7 +138,7 @@ impl pallet_treasury::Config for Runtime { type RejectOrigin = EitherOfDiverse, Treasurer>; type RuntimeEvent = RuntimeEvent; type SpendPeriod = SpendPeriod; - type Burn = Burn; + type Burn = (); type BurnDestination = (); type MaxApprovals = MaxApprovals; type WeightInfo = weights::pallet_treasury::WeightInfo; diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs index ebbc143e4d9cb..ba7a1da433fae 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs @@ -34,7 +34,7 @@ mod bag_thresholds; pub mod governance; #[cfg(not(feature = "runtime-benchmarks"))] mod migrations; -mod staking; +pub mod staking; use governance::{pallet_custom_origins, FellowshipAdmin, GeneralAdmin, StakingAdmin, Treasurer}; @@ -130,9 +130,25 @@ use frame_support::traits::PalletInfoAccess; #[cfg(feature = "runtime-benchmarks")] use xcm::latest::prelude::{ Asset, Assets as XcmAssets, Fungible, Here, InteriorLocation, Junction, Junction::*, Location, - NetworkId, NonFungible, ParentThen, Response, WeightLimit, XCM_VERSION, + NetworkId, ParentThen, Response, WeightLimit, XCM_VERSION, }; +/// Build with an offset of 1 behind the relay chain. +const RELAY_PARENT_OFFSET: u32 = 1; + +/// The upper limit of how many parachain blocks are processed by the relay chain per +/// parent. Limits the number of blocks authored per slot. This determines the minimum +/// block time of the parachain: +/// `RELAY_CHAIN_SLOT_DURATION_MILLIS/BLOCK_PROCESSING_VELOCITY` +const BLOCK_PROCESSING_VELOCITY: u32 = 3; + +/// Maximum number of blocks simultaneously accepted by the Runtime, not yet included +/// into the relay chain. +const UNINCLUDED_SEGMENT_CAPACITY: u32 = (3 + RELAY_PARENT_OFFSET) * BLOCK_PROCESSING_VELOCITY; + +/// Relay chain slot duration, in milliseconds. +const RELAY_CHAIN_SLOT_DURATION_MILLIS: u32 = 6000; + impl_opaque_keys! { pub struct SessionKeys { pub aura: Aura, @@ -147,7 +163,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: alloc::borrow::Cow::Borrowed("westmint"), impl_name: alloc::borrow::Cow::Borrowed("westmint"), authoring_version: 1, - spec_version: 1_020_004, + spec_version: 1_021_003, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 16, @@ -162,8 +178,12 @@ pub fn native_version() -> NativeVersion { parameter_types! { pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -262,6 +282,7 @@ pub type WeightToFee = pallet_revive::evm::fees::BlockRatioFee< // q { 100 * ExtrinsicBaseWeight::get().ref_time() as u128 }, Runtime, + Balance, >; impl pallet_transaction_payment::Config for Runtime { @@ -691,8 +712,8 @@ pub enum ProxyType { Governance, /// Allows access to staking related calls. /// - /// Contains the `Staking`, `Session`, `Utility`, `FastUnstake`, `VoterList`, `NominationPools` - /// pallets. + /// Contains the `Staking`, `StakingRcClient`, `Session`, `Utility`, `VoterList`, + /// `NominationPools` pallets. Staking, /// Allows access to nomination pools related calls. /// @@ -707,6 +728,13 @@ pub enum ProxyType { OldAuction, /// Placeholder variant to track the state before the Asset Hub Migration. OldParaRegistration, + /// Operator proxy for validators. Can perform operational tasks: validating, chilling, + /// kicking, and managing session keys. Cannot bond/unbond funds, change reward + /// destinations, or nominate. + /// + /// Contains `Staking` (validate, chill, kick), `StakingRcClient` (set_keys, purge_keys), + /// and `Utility` pallets. + StakingOperator, } impl Default for ProxyType { fn default() -> Self { @@ -838,15 +866,34 @@ impl InstanceFilter for ProxyType { matches!( c, RuntimeCall::Staking(..) | + RuntimeCall::StakingRcClient(..) | RuntimeCall::Session(..) | RuntimeCall::Utility(..) | RuntimeCall::NominationPools(..) | - RuntimeCall::VoterList(..) + RuntimeCall::VoterList(..) | + RuntimeCall::Proxy(pallet_proxy::Call::add_proxy { + proxy_type: ProxyType::StakingOperator, + .. + }) | RuntimeCall::Proxy(pallet_proxy::Call::remove_proxy { + proxy_type: ProxyType::StakingOperator, + .. + }) ) }, ProxyType::NominationPools => { matches!(c, RuntimeCall::NominationPools(..) | RuntimeCall::Utility(..)) }, + ProxyType::StakingOperator => matches!( + c, + RuntimeCall::Staking(pallet_staking_async::Call::validate { .. }) | + RuntimeCall::Staking(pallet_staking_async::Call::chill { .. }) | + RuntimeCall::Staking(pallet_staking_async::Call::kick { .. }) | + RuntimeCall::StakingRcClient( + pallet_staking_async_rc_client::Call::set_keys { .. } + ) | RuntimeCall::StakingRcClient( + pallet_staking_async_rc_client::Call::purge_keys { .. } + ) | RuntimeCall::Utility { .. } + ), } } @@ -857,12 +904,14 @@ impl InstanceFilter for ProxyType { (_, ProxyType::Any) => false, (ProxyType::Assets, ProxyType::AssetOwner) => true, (ProxyType::Assets, ProxyType::AssetManager) => true, + (ProxyType::Staking, ProxyType::StakingOperator) => true, ( ProxyType::NonTransfer, ProxyType::Collator | ProxyType::Governance | ProxyType::Staking | - ProxyType::NominationPools, + ProxyType::NominationPools | + ProxyType::StakingOperator, ) => true, _ => false, } @@ -902,7 +951,7 @@ impl cumulus_pallet_parachain_system::Config for Runtime { type ReservedXcmpWeight = ReservedXcmpWeight; type CheckAssociatedRelayNumber = RelayNumberMonotonicallyIncreases; type ConsensusHook = ConsensusHook; - type RelayParentOffset = ConstU32<0>; + type RelayParentOffset = ConstU32; } type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook< @@ -1202,7 +1251,6 @@ impl pallet_revive::Config for Runtime { type AddressMapper = pallet_revive::AccountId32Mapper; type RuntimeMemory = ConstU32<{ 128 * 1024 * 1024 }>; type PVFMemory = ConstU32<{ 512 * 1024 * 1024 }>; - type UnsafeUnstableInterface = ConstBool; type AllowEVMBytecode = ConstBool; type UploadOrigin = EnsureSigned; type InstantiateOrigin = EnsureSigned; @@ -1399,6 +1447,9 @@ construct_runtime!( AssetRate: pallet_asset_rate = 95, MultiAssetBounties: pallet_multi_asset_bounties = 96, + // Dynamic Allocation Pool / Issuance Buffer + Dap: pallet_dap = 100, + // TODO: the pallet instance should be removed once all pools have migrated // to the new account IDs. AssetConversionMigration: pallet_asset_conversion_ops = 200, @@ -1639,8 +1690,8 @@ impl assert_ok!(ForeignAssets::force_create( RuntimeOrigin::root(), asset_id.clone().into(), - account.clone().into(), /* owner */ - true, /* is_sufficient */ + account.clone().into(), // owner + true, // is_sufficient 1, )); @@ -1678,6 +1729,9 @@ impl } } +#[cfg(feature = "runtime-benchmarks")] +type StakingRcClientBench = pallet_staking_async_rc_client::benchmarking::Pallet; + #[cfg(feature = "runtime-benchmarks")] mod benches { frame_benchmarking::define_benchmarks!( @@ -1707,6 +1761,7 @@ mod benches { [pallet_proxy, Proxy] [pallet_session, SessionBench::] [pallet_staking_async, Staking] + [pallet_staking_async_rc_client, StakingRcClientBench::] [pallet_uniques, Uniques] [pallet_utility, Utility] [pallet_timestamp, Timestamp] @@ -1748,7 +1803,7 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( impl cumulus_primitives_core::RelayParentOffsetApi for Runtime { fn relay_parent_offset() -> u32 { - 0 + RELAY_PARENT_OFFSET } } @@ -1839,8 +1894,8 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -2227,9 +2282,16 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( } use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - use xcm_config::{MaxAssetsIntoHolding, WestendLocation}; + impl cumulus_pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } - impl cumulus_pallet_session_benchmarking::Config for Runtime {} + use xcm_config::{MaxAssetsIntoHolding, WestendLocation, PriceForParentDelivery}; + + impl pallet_transaction_payment::BenchmarkConfig for Runtime {} use testnet_parachains_constants::westend::locations::{PeopleParaId, PeopleLocation}; parameter_types! { pub ExistentialDepositAsset: Option = Some(( @@ -2240,6 +2302,48 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( pub RandomParaId: ParaId = ParaId::new(43211234); } + impl pallet_staking_async_rc_client::benchmarking::Config for Runtime { + type DeliveryHelper = cumulus_primitives_utility::ToParentDeliveryHelper< + xcm_config::XcmConfig, + ExistentialDepositAsset, + PriceForParentDelivery, + >; + + fn account_to_location(account: Self::AccountId) -> Location { + [AccountId32 { network: None, id: account.into() }].into() + } + + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Vec, Vec) { + use staking::RelayChainSessionKeys; + let keys = RelayChainSessionKeys::generate(&owner.encode(), None); + (keys.keys.encode(), keys.proof.encode()) + } + + fn setup_validator() -> Self::AccountId { + use frame_benchmarking::account; + use frame_support::traits::fungible::Mutate; + + let stash: Self::AccountId = account("validator", 0, 0); + let balance = 10_000 * UNITS; + + // Fund the account + let _ = Balances::mint_into(&stash, balance); + + // Bond and validate + assert_ok!(Staking::bond( + RuntimeOrigin::signed(stash.clone()), + balance / 2, + pallet_staking_async::RewardDestination::Stash + )); + assert_ok!(Staking::validate( + RuntimeOrigin::signed(stash.clone()), + pallet_staking_async::ValidatorPrefs::default() + )); + + stash + } + } + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; impl pallet_xcm::benchmarking::Config for Runtime { type DeliveryHelper = ( @@ -2424,26 +2528,42 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( fn valid_destination() -> Result { Ok(PeopleLocation::get()) } - fn worst_case_holding(depositable_count: u32) -> XcmAssets { + fn worst_case_holding(depositable_count: u32) -> xcm_executor::AssetsInHolding { + use pallet_xcm_benchmarks::MockCredit; // A mix of fungible, non-fungible, and concrete assets. let holding_non_fungibles = MaxAssetsIntoHolding::get() / 2 - depositable_count; - let holding_fungibles = holding_non_fungibles - 2; // -2 for two `iter::once` bellow + let holding_fungibles = holding_non_fungibles - 2; // -2 for two `iter::once` below let fungibles_amount: u128 = 100; - (0..holding_fungibles) - .map(|i| { - Asset { - id: AssetId(GeneralIndex(i as u128).into()), - fun: Fungible(fungibles_amount * (i + 1) as u128), // non-zero amount - } - }) - .chain(core::iter::once(Asset { id: AssetId(Here.into()), fun: Fungible(u128::MAX) })) - .chain(core::iter::once(Asset { id: AssetId(WestendLocation::get()), fun: Fungible(1_000_000 * UNITS) })) - .chain((0..holding_non_fungibles).map(|i| Asset { - id: AssetId(GeneralIndex(i as u128).into()), - fun: NonFungible(asset_instance_from(i)), - })) - .collect::>() - .into() + + let mut holding = xcm_executor::AssetsInHolding::new(); + + // Add fungible assets with MockCredit + for i in 0..holding_fungibles { + holding.fungible.insert( + AssetId(GeneralIndex(i as u128).into()), + alloc::boxed::Box::new(MockCredit(fungibles_amount * (i + 1) as u128)), + ); + } + + // Add two more fungible assets + holding.fungible.insert( + AssetId(Here.into()), + alloc::boxed::Box::new(MockCredit(u128::MAX)), + ); + holding.fungible.insert( + AssetId(WestendLocation::get()), + alloc::boxed::Box::new(MockCredit(1_000_000 * UNITS)), + ); + + // Add non-fungible assets + for i in 0..holding_non_fungibles { + holding.non_fungible.insert(( + AssetId(GeneralIndex(i as u128).into()), + asset_instance_from(i), + )); + } + + holding } } @@ -2475,7 +2595,7 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( assert_ok!(ForeignAssets::set_reserves( RuntimeOrigin::signed(account), roc_id.clone().into(), - vec![reserves.clone()], + vec![reserves.clone()].try_into().unwrap(), )); (reserves.reserve, roc) }); diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/staking.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/staking.rs index 9571e38a71a3f..8c9b95ba71bc5 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/staking.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/staking.rs @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -///! Staking, and election related pallet configurations. +/// ! Staking, and election related pallet configurations. use super::*; use cumulus_primitives_core::relay_chain::SessionIndex; use frame_election_provider_support::{ElectionDataProvider, SequentialPhragmen}; @@ -261,6 +261,8 @@ parameter_types! { pub const RelaySessionDuration: BlockNumber = 1 * HOURS; // 2 eras for unbonding (12 hours). pub const BondingDuration: sp_staking::EraIndex = 2; + // Nominators can unbond faster when not slashable (2 eras = 12 hours). + pub const NominatorFastUnbondDuration: sp_staking::EraIndex = 2; // 1 era in which slashes can be cancelled (6 hours). pub const SlashDeferDuration: sp_staking::EraIndex = 1; pub const MaxControllersInDeprecationBatch: u32 = 751; @@ -278,10 +280,11 @@ impl pallet_staking_async::Config for Runtime { type RuntimeHoldReason = RuntimeHoldReason; type CurrencyToVote = sp_staking::currency_to_vote::SaturatingCurrencyToVote; type RewardRemainder = (); - type Slash = (); + type Slash = Dap; type Reward = (); type SessionsPerEra = SessionsPerEra; type BondingDuration = BondingDuration; + type NominatorFastUnbondDuration = NominatorFastUnbondDuration; type SlashDeferDuration = SlashDeferDuration; type AdminOrigin = EitherOf, StakingAdmin>; type EraPayout = EraPayout; @@ -302,6 +305,20 @@ impl pallet_staking_async::Config for Runtime { type WeightInfo = weights::pallet_staking_async::WeightInfo; } +// Relay Chain session keys type for validating session keys on AssetHub. +// This must match the exact structure of Westend's `SessionKeys` to ensure +// proper encoding/decoding compatibility. +sp_runtime::impl_opaque_keys! { + pub struct RelayChainSessionKeys { + pub grandpa: sp_consensus_grandpa::AuthorityId, + pub babe: sp_consensus_babe::AuthorityId, + pub para_validator: polkadot_primitives::ValidatorId, + pub para_assignment: polkadot_primitives::AssignmentId, + pub authority_discovery: sp_authority_discovery::AuthorityId, + pub beefy: sp_consensus_beefy::ecdsa_crypto::AuthorityId, + } +} + impl pallet_staking_async_rc_client::Config for Runtime { type RelayChainOrigin = EnsureRoot; type AHStakingInterface = Staking; @@ -309,6 +326,28 @@ impl pallet_staking_async_rc_client::Config for Runtime { type MaxValidatorSetRetries = ConstU32<64>; // export validator session at end of session 4 within an era. type ValidatorSetExportSession = ConstU32<4>; + type RelayChainSessionKeys = RelayChainSessionKeys; + type Balance = Balance; + // | Key | Crypto | Public Key | Signature | + // |---------------------|---------|------------|-----------| + // | grandpa | Ed25519 | 32 bytes | 64 bytes | + // | babe | Sr25519 | 32 bytes | 64 bytes | + // | para_validator | Sr25519 | 32 bytes | 64 bytes | + // | para_assignment | Sr25519 | 32 bytes | 64 bytes | + // | authority_discovery | Sr25519 | 32 bytes | 64 bytes | + // | beefy | ECDSA | 33 bytes | 65 bytes | + // | Total | | 193 bytes | 385 bytes | + // We add some buffer for SCALE encoding overhead and future expansions + type WeightInfo = weights::pallet_staking_async_rc_client::WeightInfo; +} + +parameter_types! { + pub const DapPalletId: frame_support::PalletId = frame_support::PalletId(*b"dap/buff"); +} + +impl pallet_dap::Config for Runtime { + type Currency = Balances; + type PalletId = DapPalletId; } #[derive(Encode, Decode)] @@ -321,9 +360,16 @@ pub enum RelayChainRuntimePallets { #[derive(Encode, Decode)] pub enum AhClientCalls { - // index of `fn validator_set` in `staking-async-ah-client`. It has only one call. + // index of `fn validator_set` in `staking-async-ah-client`. #[codec(index = 0)] ValidatorSet(rc_client::ValidatorSetReport), + // index of `fn set_keys_from_ah` in `staking-async-ah-client`. + // Note: proof is validated on AH side, so only keys are sent to RC. + #[codec(index = 3)] + SetKeys { stash: AccountId, keys: Vec }, + // index of `fn purge_keys_from_ah` in `staking-async-ah-client`. + #[codec(index = 4)] + PurgeKeys { stash: AccountId }, } pub struct ValidatorSetToXcm; @@ -331,30 +377,41 @@ impl sp_runtime::traits::Convert, Xcm<( for ValidatorSetToXcm { fn convert(report: rc_client::ValidatorSetReport) -> Xcm<()> { - Xcm(vec![ - Instruction::UnpaidExecution { - weight_limit: WeightLimit::Unlimited, - check_origin: None, + rc_client::build_transact_xcm( + RelayChainRuntimePallets::AhClient(AhClientCalls::ValidatorSet(report)).encode(), + ) + } +} + +pub struct KeysMessageToXcm; +impl sp_runtime::traits::Convert, Xcm<()>> for KeysMessageToXcm { + fn convert(msg: rc_client::KeysMessage) -> Xcm<()> { + let encoded_call = match msg { + rc_client::KeysMessage::SetKeys { stash, keys } => { + RelayChainRuntimePallets::AhClient(AhClientCalls::SetKeys { stash, keys }).encode() }, - Instruction::Transact { - origin_kind: OriginKind::Native, - fallback_max_weight: None, - call: RelayChainRuntimePallets::AhClient(AhClientCalls::ValidatorSet(report)) - .encode() - .into(), + rc_client::KeysMessage::PurgeKeys { stash } => { + RelayChainRuntimePallets::AhClient(AhClientCalls::PurgeKeys { stash }).encode() }, - ]) + }; + rc_client::build_transact_xcm(encoded_call) } } parameter_types! { pub RelayLocation: Location = Location::parent(); + /// Conservative RC execution cost for set/purge keys operations. + /// Intentionally ~2-3x of benchmarked values to avoid undercharging if RC weights increase. + /// Slight overpaymennt is the price we pay for maintainability here. + pub RemoteKeysExecutionWeight: Weight = Weight::from_parts(200_000_000, 20_000); } pub struct StakingXcmToRelayChain; impl rc_client::SendToRelayChain for StakingXcmToRelayChain { type AccountId = AccountId; + type Balance = Balance; + fn validator_set(report: rc_client::ValidatorSetReport) -> Result<(), ()> { rc_client::XCMSender::< xcm_config::XcmRouter, @@ -363,6 +420,61 @@ impl rc_client::SendToRelayChain for StakingXcmToRelayChain { ValidatorSetToXcm, >::send(report) } + + fn set_keys( + stash: Self::AccountId, + keys: Vec, + max_delivery_and_remote_execution_fee: Option, + ) -> Result> { + let execution_cost = ::weight_to_fee( + &RemoteKeysExecutionWeight::get(), + ); + + rc_client::XCMSender::< + xcm_config::XcmRouter, + RelayLocation, + rc_client::KeysMessage, + KeysMessageToXcm, + >::send_with_fees::< + xcm_executor::XcmExecutor, + RuntimeCall, + AccountId, + rc_client::AccountId32ToLocation, + Self::Balance, + >( + rc_client::KeysMessage::set_keys(stash.clone(), keys), + stash, + max_delivery_and_remote_execution_fee, + execution_cost, + ) + } + + fn purge_keys( + stash: Self::AccountId, + max_delivery_and_remote_execution_fee: Option, + ) -> Result> { + let execution_cost = ::weight_to_fee( + &RemoteKeysExecutionWeight::get(), + ); + + rc_client::XCMSender::< + xcm_config::XcmRouter, + RelayLocation, + rc_client::KeysMessage, + KeysMessageToXcm, + >::send_with_fees::< + xcm_executor::XcmExecutor, + RuntimeCall, + AccountId, + rc_client::AccountId32ToLocation, + Self::Balance, + >( + rc_client::KeysMessage::purge_keys(stash.clone()), + stash, + max_delivery_and_remote_execution_fee, + execution_cost, + ) + } } parameter_types! { @@ -400,7 +512,7 @@ impl pallet_delegated_staking::Config for Runtime { type RuntimeEvent = RuntimeEvent; type PalletId = DelegatedStakingPalletId; type Currency = Balances; - type OnSlash = (); + type OnSlash = Dap; type SlashRewardFraction = SlashRewardFraction; type RuntimeHoldReason = RuntimeHoldReason; type CoreStaking = Staking; diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/mod.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/mod.rs index c8e94609da202..577934fee36cd 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/mod.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/mod.rs @@ -51,6 +51,7 @@ pub mod pallet_referenda; pub mod pallet_scheduler; pub mod pallet_session; pub mod pallet_staking_async; +pub mod pallet_staking_async_rc_client; pub mod pallet_sudo; pub mod pallet_timestamp; pub mod pallet_transaction_payment; diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_foreign.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_foreign.rs index 8e5cd6b9fee21..f15e2ceb61527 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_foreign.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_foreign.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_assets` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-10-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2026-02-11, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `2ee62bdee63c`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `0855fd8aeaa3`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -62,8 +62,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1348` // Estimated: `4273` - // Minimum execution time: 39_569_000 picoseconds. - Weight::from_parts(41_071_000, 0) + // Minimum execution time: 59_584_000 picoseconds. + Weight::from_parts(62_777_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -76,8 +76,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4` // Estimated: `4273` - // Minimum execution time: 12_476_000 picoseconds. - Weight::from_parts(13_054_000, 0) + // Minimum execution time: 14_724_000 picoseconds. + Weight::from_parts(15_329_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -90,8 +90,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `360` // Estimated: `4273` - // Minimum execution time: 19_797_000 picoseconds. - Weight::from_parts(20_726_000, 0) + // Minimum execution time: 27_139_000 picoseconds. + Weight::from_parts(28_917_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -111,13 +111,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `c` is `[0, 1000]`. fn destroy_accounts(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `67849 + c * (419 Β±0)` + // Measured: `68668 + c * (424 Β±0)` // Estimated: `4273 + c * (3207 Β±0)` - // Minimum execution time: 17_360_000 picoseconds. - Weight::from_parts(17_713_000, 0) + // Minimum execution time: 20_782_000 picoseconds. + Weight::from_parts(21_584_000, 0) .saturating_add(Weight::from_parts(0, 4273)) - // Standard Error: 27_481 - .saturating_add(Weight::from_parts(38_560_758, 0).saturating_mul(c.into())) + // Standard Error: 96_300 + .saturating_add(Weight::from_parts(42_841_666, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -135,11 +135,11 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `413 + a * (86 Β±0)` // Estimated: `4273 + a * (3221 Β±0)` - // Minimum execution time: 18_228_000 picoseconds. - Weight::from_parts(18_810_000, 0) + // Minimum execution time: 22_370_000 picoseconds. + Weight::from_parts(23_188_000, 0) .saturating_add(Weight::from_parts(0, 4273)) - // Standard Error: 7_645 - .saturating_add(Weight::from_parts(18_846_821, 0).saturating_mul(a.into())) + // Standard Error: 37_125 + .saturating_add(Weight::from_parts(23_404_063, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -150,15 +150,17 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) /// Storage: `ForeignAssets::Metadata` (r:1 w:0) /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Reserves` (r:0 w:1) + /// Proof: `ForeignAssets::Reserves` (`max_values`: None, `max_size`: Some(3634), added: 6109, mode: `MaxEncodedLen`) fn finish_destroy() -> Weight { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 14_576_000 picoseconds. - Weight::from_parts(15_595_000, 0) + // Minimum execution time: 19_731_000 picoseconds. + Weight::from_parts(20_321_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(T::DbWeight::get().writes(2)) } /// Storage: `ForeignAssets::Asset` (r:1 w:1) /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) @@ -168,8 +170,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 25_596_000 picoseconds. - Weight::from_parts(26_675_000, 0) + // Minimum execution time: 31_339_000 picoseconds. + Weight::from_parts(32_986_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -186,8 +188,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `430` // Estimated: `4273` - // Minimum execution time: 57_339_000 picoseconds. - Weight::from_parts(58_934_000, 0) + // Minimum execution time: 71_271_000 picoseconds. + Weight::from_parts(74_620_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -204,10 +206,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(703), added: 3178, mode: `MaxEncodedLen`) fn transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `1719` + // Measured: `1752` // Estimated: `7404` - // Minimum execution time: 77_390_000 picoseconds. - Weight::from_parts(78_733_000, 0) + // Minimum execution time: 98_412_000 picoseconds. + Weight::from_parts(100_816_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -222,10 +224,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_keep_alive() -> Weight { // Proof Size summary in bytes: - // Measured: `1719` + // Measured: `1752` // Estimated: `7404` - // Minimum execution time: 60_920_000 picoseconds. - Weight::from_parts(62_889_000, 0) + // Minimum execution time: 79_734_000 picoseconds. + Weight::from_parts(82_459_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -242,10 +244,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(703), added: 3178, mode: `MaxEncodedLen`) fn force_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `1719` + // Measured: `1752` // Estimated: `7404` - // Minimum execution time: 77_568_000 picoseconds. - Weight::from_parts(79_253_000, 0) + // Minimum execution time: 101_289_000 picoseconds. + Weight::from_parts(105_933_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -258,8 +260,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `350` // Estimated: `4273` - // Minimum execution time: 19_975_000 picoseconds. - Weight::from_parts(21_006_000, 0) + // Minimum execution time: 24_420_000 picoseconds. + Weight::from_parts(25_826_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -272,8 +274,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `350` // Estimated: `4273` - // Minimum execution time: 19_799_000 picoseconds. - Weight::from_parts(20_563_000, 0) + // Minimum execution time: 24_438_000 picoseconds. + Weight::from_parts(25_840_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -284,8 +286,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `276` // Estimated: `4273` - // Minimum execution time: 13_180_000 picoseconds. - Weight::from_parts(13_836_000, 0) + // Minimum execution time: 18_003_000 picoseconds. + Weight::from_parts(18_679_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -296,8 +298,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `276` // Estimated: `4273` - // Minimum execution time: 12_913_000 picoseconds. - Weight::from_parts(13_453_000, 0) + // Minimum execution time: 17_822_000 picoseconds. + Weight::from_parts(18_390_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -310,8 +312,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 14_898_000 picoseconds. - Weight::from_parts(15_609_000, 0) + // Minimum execution time: 19_406_000 picoseconds. + Weight::from_parts(20_707_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -322,8 +324,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 12_851_000 picoseconds. - Weight::from_parts(13_466_000, 0) + // Minimum execution time: 16_940_000 picoseconds. + Weight::from_parts(18_452_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -331,14 +333,19 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `ForeignAssets::Asset` (r:1 w:0) /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) /// Storage: `ForeignAssets::Reserves` (r:0 w:1) - /// Proof: `ForeignAssets::Reserves` (`max_values`: None, `max_size`: Some(3629), added: 6104, mode: `MaxEncodedLen`) - fn set_reserves() -> Weight { + /// Proof: `ForeignAssets::Reserves` (`max_values`: None, `max_size`: Some(3634), added: 6109, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + fn set_reserves(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 16_752_000 picoseconds. - Weight::from_parts(17_401_000, 0) + // Minimum execution time: 18_753_000 picoseconds. + Weight::from_parts(20_523_011, 0) .saturating_add(Weight::from_parts(0, 4273)) + // Standard Error: 8_765 + .saturating_add(Weight::from_parts(454_824, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -352,15 +359,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(_n: u32, s: u32, ) -> Weight { + fn set_metadata(_n: u32, _s: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 30_005_000 picoseconds. - Weight::from_parts(32_577_235, 0) + // Minimum execution time: 39_968_000 picoseconds. + Weight::from_parts(47_253_215, 0) .saturating_add(Weight::from_parts(0, 4273)) - // Standard Error: 3_006 - .saturating_add(Weight::from_parts(9_047, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -372,8 +377,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `406` // Estimated: `4273` - // Minimum execution time: 32_623_000 picoseconds. - Weight::from_parts(33_415_000, 0) + // Minimum execution time: 43_532_000 picoseconds. + Weight::from_parts(45_842_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -392,13 +397,13 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `81` // Estimated: `4273` - // Minimum execution time: 13_053_000 picoseconds. - Weight::from_parts(14_088_046, 0) + // Minimum execution time: 16_624_000 picoseconds. + Weight::from_parts(17_729_669, 0) .saturating_add(Weight::from_parts(0, 4273)) - // Standard Error: 517 - .saturating_add(Weight::from_parts(322, 0).saturating_mul(n.into())) - // Standard Error: 517 - .saturating_add(Weight::from_parts(20, 0).saturating_mul(s.into())) + // Standard Error: 1_092 + .saturating_add(Weight::from_parts(6_120, 0).saturating_mul(n.into())) + // Standard Error: 1_092 + .saturating_add(Weight::from_parts(5_451, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -410,8 +415,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `406` // Estimated: `4273` - // Minimum execution time: 31_563_000 picoseconds. - Weight::from_parts(32_811_000, 0) + // Minimum execution time: 41_784_000 picoseconds. + Weight::from_parts(42_986_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -422,8 +427,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 11_979_000 picoseconds. - Weight::from_parts(12_490_000, 0) + // Minimum execution time: 15_346_000 picoseconds. + Weight::from_parts(16_320_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -436,8 +441,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `276` // Estimated: `4273` - // Minimum execution time: 35_262_000 picoseconds. - Weight::from_parts(36_597_000, 0) + // Minimum execution time: 42_979_000 picoseconds. + Weight::from_parts(44_376_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -458,8 +463,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1790` // Estimated: `7404` - // Minimum execution time: 101_301_000 picoseconds. - Weight::from_parts(104_810_000, 0) + // Minimum execution time: 131_934_000 picoseconds. + Weight::from_parts(137_154_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(7)) @@ -472,8 +477,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `446` // Estimated: `4273` - // Minimum execution time: 38_707_000 picoseconds. - Weight::from_parts(40_245_000, 0) + // Minimum execution time: 47_232_000 picoseconds. + Weight::from_parts(49_272_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -486,8 +491,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `446` // Estimated: `4273` - // Minimum execution time: 38_675_000 picoseconds. - Weight::from_parts(40_277_000, 0) + // Minimum execution time: 46_957_000 picoseconds. + Weight::from_parts(48_346_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -498,8 +503,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 13_617_000 picoseconds. - Weight::from_parts(14_358_000, 0) + // Minimum execution time: 17_541_000 picoseconds. + Weight::from_parts(18_277_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -514,8 +519,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1549` // Estimated: `4273` - // Minimum execution time: 43_330_000 picoseconds. - Weight::from_parts(44_710_000, 0) + // Minimum execution time: 58_211_000 picoseconds. + Weight::from_parts(60_186_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -528,8 +533,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 34_454_000 picoseconds. - Weight::from_parts(35_648_000, 0) + // Minimum execution time: 41_622_000 picoseconds. + Weight::from_parts(43_046_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -548,8 +553,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1755` // Estimated: `4273` - // Minimum execution time: 56_572_000 picoseconds. - Weight::from_parts(57_480_000, 0) + // Minimum execution time: 74_419_000 picoseconds. + Weight::from_parts(77_715_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) @@ -566,8 +571,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `481` // Estimated: `4273` - // Minimum execution time: 50_510_000 picoseconds. - Weight::from_parts(52_435_000, 0) + // Minimum execution time: 64_008_000 picoseconds. + Weight::from_parts(66_457_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -580,8 +585,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `350` // Estimated: `4273` - // Minimum execution time: 20_003_000 picoseconds. - Weight::from_parts(21_016_000, 0) + // Minimum execution time: 23_822_000 picoseconds. + Weight::from_parts(24_526_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -598,10 +603,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_all() -> Weight { // Proof Size summary in bytes: - // Measured: `1719` + // Measured: `1752` // Estimated: `7404` - // Minimum execution time: 92_770_000 picoseconds. - Weight::from_parts(95_828_000, 0) + // Minimum execution time: 118_962_000 picoseconds. + Weight::from_parts(123_414_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -612,8 +617,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `276` // Estimated: `4273` - // Minimum execution time: 5_967_000 picoseconds. - Weight::from_parts(6_583_000, 0) + // Minimum execution time: 7_387_000 picoseconds. + Weight::from_parts(7_839_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -623,8 +628,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `150` // Estimated: `4197` - // Minimum execution time: 6_885_000 picoseconds. - Weight::from_parts(7_456_000, 0) + // Minimum execution time: 9_156_000 picoseconds. + Weight::from_parts(9_759_000, 0) .saturating_add(Weight::from_parts(0, 4197)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -634,23 +639,34 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `245` // Estimated: `4211` - // Minimum execution time: 9_815_000 picoseconds. - Weight::from_parts(10_386_000, 0) + // Minimum execution time: 13_442_000 picoseconds. + Weight::from_parts(14_180_000, 0) .saturating_add(Weight::from_parts(0, 4211)) .saturating_add(T::DbWeight::get().reads(1)) } /// Storage: `ForeignAssets::Asset` (r:1 w:0) /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) /// Storage: `ForeignAssets::Reserves` (r:0 w:1) - /// Proof: `ForeignAssets::Reserves` (`max_values`: None, `max_size`: Some(3629), added: 6104, mode: `MaxEncodedLen`) + /// Proof: `ForeignAssets::Reserves` (`max_values`: None, `max_size`: Some(3634), added: 6109, mode: `MaxEncodedLen`) fn migration_v2_foreign_asset_set_reserve_weight() -> Weight { // Proof Size summary in bytes: // Measured: `81` // Estimated: `4273` - // Minimum execution time: 9_980_000 picoseconds. - Weight::from_parts(10_607_000, 0) + // Minimum execution time: 12_621_000 picoseconds. + Weight::from_parts(13_500_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } + /// Storage: `ForeignAssets::Metadata` (r:1 w:0) + /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`) + fn get_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `206` + // Estimated: `4203` + // Minimum execution time: 7_850_000 picoseconds. + Weight::from_parts(8_412_000, 0) + .saturating_add(Weight::from_parts(0, 4203)) + .saturating_add(T::DbWeight::get().reads(1)) + } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_local.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_local.rs index 15197c356b88c..21cfc5947fda3 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_local.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_local.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_assets` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-10-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2026-02-11, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `2ee62bdee63c`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `0855fd8aeaa3`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -60,8 +60,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1317` // Estimated: `3675` - // Minimum execution time: 36_240_000 picoseconds. - Weight::from_parts(37_271_000, 0) + // Minimum execution time: 48_929_000 picoseconds. + Weight::from_parts(51_295_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -74,8 +74,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `76` // Estimated: `3675` - // Minimum execution time: 12_758_000 picoseconds. - Weight::from_parts(13_591_000, 0) + // Minimum execution time: 15_738_000 picoseconds. + Weight::from_parts(16_370_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -88,8 +88,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `394` // Estimated: `3675` - // Minimum execution time: 20_380_000 picoseconds. - Weight::from_parts(21_689_000, 0) + // Minimum execution time: 27_623_000 picoseconds. + Weight::from_parts(28_815_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -109,13 +109,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `c` is `[0, 1000]`. fn destroy_accounts(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `67845 + c * (419 Β±0)` + // Measured: `68664 + c * (424 Β±0)` // Estimated: `3675 + c * (2609 Β±0)` - // Minimum execution time: 17_412_000 picoseconds. - Weight::from_parts(18_196_000, 0) + // Minimum execution time: 20_308_000 picoseconds. + Weight::from_parts(20_969_000, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 28_027 - .saturating_add(Weight::from_parts(37_399_962, 0).saturating_mul(c.into())) + // Standard Error: 41_832 + .saturating_add(Weight::from_parts(40_952_678, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -133,11 +133,11 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `485 + a * (86 Β±0)` // Estimated: `3675 + a * (2623 Β±0)` - // Minimum execution time: 20_673_000 picoseconds. - Weight::from_parts(21_507_000, 0) + // Minimum execution time: 22_100_000 picoseconds. + Weight::from_parts(23_205_000, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 13_887 - .saturating_add(Weight::from_parts(19_209_419, 0).saturating_mul(a.into())) + // Standard Error: 15_712 + .saturating_add(Weight::from_parts(20_800_601, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -148,15 +148,17 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) /// Storage: `Assets::Metadata` (r:1 w:0) /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// Storage: `Assets::Reserves` (r:0 w:1) + /// Proof: `Assets::Reserves` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`) fn finish_destroy() -> Weight { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 14_643_000 picoseconds. - Weight::from_parts(15_354_000, 0) + // Minimum execution time: 18_580_000 picoseconds. + Weight::from_parts(19_420_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(T::DbWeight::get().writes(2)) } /// Storage: `Assets::Asset` (r:1 w:1) /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) @@ -166,8 +168,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 24_707_000 picoseconds. - Weight::from_parts(25_927_000, 0) + // Minimum execution time: 30_804_000 picoseconds. + Weight::from_parts(31_662_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -184,8 +186,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `426` // Estimated: `3675` - // Minimum execution time: 52_167_000 picoseconds. - Weight::from_parts(53_906_000, 0) + // Minimum execution time: 63_884_000 picoseconds. + Weight::from_parts(67_308_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -202,10 +204,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `1715` + // Measured: `1748` // Estimated: `6208` - // Minimum execution time: 70_449_000 picoseconds. - Weight::from_parts(72_769_000, 0) + // Minimum execution time: 91_064_000 picoseconds. + Weight::from_parts(93_625_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -220,10 +222,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_keep_alive() -> Weight { // Proof Size summary in bytes: - // Measured: `1715` + // Measured: `1748` // Estimated: `6208` - // Minimum execution time: 55_389_000 picoseconds. - Weight::from_parts(57_855_000, 0) + // Minimum execution time: 71_385_000 picoseconds. + Weight::from_parts(74_930_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -240,10 +242,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn force_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `1715` + // Measured: `1748` // Estimated: `6208` - // Minimum execution time: 70_681_000 picoseconds. - Weight::from_parts(73_029_000, 0) + // Minimum execution time: 91_533_000 picoseconds. + Weight::from_parts(94_322_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -256,8 +258,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `422` // Estimated: `3675` - // Minimum execution time: 19_965_000 picoseconds. - Weight::from_parts(20_799_000, 0) + // Minimum execution time: 27_538_000 picoseconds. + Weight::from_parts(28_801_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -270,8 +272,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `422` // Estimated: `3675` - // Minimum execution time: 20_102_000 picoseconds. - Weight::from_parts(20_896_000, 0) + // Minimum execution time: 26_971_000 picoseconds. + Weight::from_parts(28_843_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -282,8 +284,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `348` // Estimated: `3675` - // Minimum execution time: 14_936_000 picoseconds. - Weight::from_parts(15_698_000, 0) + // Minimum execution time: 16_677_000 picoseconds. + Weight::from_parts(17_523_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -294,8 +296,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `348` // Estimated: `3675` - // Minimum execution time: 15_009_000 picoseconds. - Weight::from_parts(15_790_000, 0) + // Minimum execution time: 16_623_000 picoseconds. + Weight::from_parts(17_300_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -308,8 +310,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 14_900_000 picoseconds. - Weight::from_parts(15_512_000, 0) + // Minimum execution time: 17_568_000 picoseconds. + Weight::from_parts(18_397_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -320,8 +322,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 13_023_000 picoseconds. - Weight::from_parts(13_560_000, 0) + // Minimum execution time: 15_577_000 picoseconds. + Weight::from_parts(16_542_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -330,13 +332,18 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) /// Storage: `Assets::Reserves` (r:0 w:1) /// Proof: `Assets::Reserves` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`) - fn set_reserves() -> Weight { + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + fn set_reserves(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 16_061_000 picoseconds. - Weight::from_parts(17_221_000, 0) + // Minimum execution time: 16_640_000 picoseconds. + Weight::from_parts(18_031_974, 0) .saturating_add(Weight::from_parts(0, 3675)) + // Standard Error: 8_238 + .saturating_add(Weight::from_parts(57_789, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -354,13 +361,13 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 32_184_000 picoseconds. - Weight::from_parts(33_855_081, 0) + // Minimum execution time: 35_408_000 picoseconds. + Weight::from_parts(34_841_997, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 1_335 - .saturating_add(Weight::from_parts(653, 0).saturating_mul(n.into())) - // Standard Error: 1_335 - .saturating_add(Weight::from_parts(6_241, 0).saturating_mul(s.into())) + // Standard Error: 3_579 + .saturating_add(Weight::from_parts(205_682, 0).saturating_mul(n.into())) + // Standard Error: 3_579 + .saturating_add(Weight::from_parts(27_265, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -372,8 +379,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `478` // Estimated: `3675` - // Minimum execution time: 32_613_000 picoseconds. - Weight::from_parts(33_301_000, 0) + // Minimum execution time: 47_060_000 picoseconds. + Weight::from_parts(49_054_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -392,13 +399,13 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `153` // Estimated: `3675` - // Minimum execution time: 13_394_000 picoseconds. - Weight::from_parts(14_359_578, 0) + // Minimum execution time: 16_171_000 picoseconds. + Weight::from_parts(17_594_465, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 1_260 - .saturating_add(Weight::from_parts(1_307, 0).saturating_mul(n.into())) - // Standard Error: 1_260 - .saturating_add(Weight::from_parts(4_527, 0).saturating_mul(s.into())) + // Standard Error: 1_085 + .saturating_add(Weight::from_parts(3_883, 0).saturating_mul(n.into())) + // Standard Error: 1_085 + .saturating_add(Weight::from_parts(2_082, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -410,8 +417,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `478` // Estimated: `3675` - // Minimum execution time: 31_774_000 picoseconds. - Weight::from_parts(32_836_000, 0) + // Minimum execution time: 46_682_000 picoseconds. + Weight::from_parts(47_870_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -422,8 +429,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 12_411_000 picoseconds. - Weight::from_parts(12_974_000, 0) + // Minimum execution time: 15_778_000 picoseconds. + Weight::from_parts(16_779_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -436,8 +443,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `348` // Estimated: `3675` - // Minimum execution time: 37_182_000 picoseconds. - Weight::from_parts(38_197_000, 0) + // Minimum execution time: 49_809_000 picoseconds. + Weight::from_parts(51_133_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -458,8 +465,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1786` // Estimated: `6208` - // Minimum execution time: 94_667_000 picoseconds. - Weight::from_parts(96_802_000, 0) + // Minimum execution time: 128_509_000 picoseconds. + Weight::from_parts(130_762_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(7)) @@ -472,8 +479,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `518` // Estimated: `3675` - // Minimum execution time: 38_834_000 picoseconds. - Weight::from_parts(40_378_000, 0) + // Minimum execution time: 56_523_000 picoseconds. + Weight::from_parts(59_545_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -486,8 +493,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `518` // Estimated: `3675` - // Minimum execution time: 39_037_000 picoseconds. - Weight::from_parts(40_345_000, 0) + // Minimum execution time: 56_236_000 picoseconds. + Weight::from_parts(57_936_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -498,8 +505,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 13_563_000 picoseconds. - Weight::from_parts(14_017_000, 0) + // Minimum execution time: 16_486_000 picoseconds. + Weight::from_parts(18_014_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -514,8 +521,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1621` // Estimated: `3675` - // Minimum execution time: 42_581_000 picoseconds. - Weight::from_parts(43_943_000, 0) + // Minimum execution time: 63_069_000 picoseconds. + Weight::from_parts(64_933_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -528,8 +535,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 35_571_000 picoseconds. - Weight::from_parts(36_953_000, 0) + // Minimum execution time: 46_938_000 picoseconds. + Weight::from_parts(49_543_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -548,8 +555,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1751` // Estimated: `3675` - // Minimum execution time: 53_055_000 picoseconds. - Weight::from_parts(54_859_000, 0) + // Minimum execution time: 72_211_000 picoseconds. + Weight::from_parts(75_565_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) @@ -566,8 +573,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `477` // Estimated: `3675` - // Minimum execution time: 46_865_000 picoseconds. - Weight::from_parts(48_188_000, 0) + // Minimum execution time: 62_995_000 picoseconds. + Weight::from_parts(66_220_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -580,8 +587,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `422` // Estimated: `3675` - // Minimum execution time: 19_593_000 picoseconds. - Weight::from_parts(20_772_000, 0) + // Minimum execution time: 27_541_000 picoseconds. + Weight::from_parts(29_204_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -598,10 +605,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_all() -> Weight { // Proof Size summary in bytes: - // Measured: `1715` + // Measured: `1748` // Estimated: `6208` - // Minimum execution time: 85_303_000 picoseconds. - Weight::from_parts(88_170_000, 0) + // Minimum execution time: 107_324_000 picoseconds. + Weight::from_parts(114_404_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -612,8 +619,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `348` // Estimated: `3675` - // Minimum execution time: 8_403_000 picoseconds. - Weight::from_parts(8_900_000, 0) + // Minimum execution time: 8_597_000 picoseconds. + Weight::from_parts(8_810_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -623,8 +630,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `222` // Estimated: `3599` - // Minimum execution time: 7_462_000 picoseconds. - Weight::from_parts(7_991_000, 0) + // Minimum execution time: 9_847_000 picoseconds. + Weight::from_parts(10_504_000, 0) .saturating_add(Weight::from_parts(0, 3599)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -634,8 +641,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `317` // Estimated: `3613` - // Minimum execution time: 10_763_000 picoseconds. - Weight::from_parts(11_249_000, 0) + // Minimum execution time: 13_274_000 picoseconds. + Weight::from_parts(14_222_000, 0) .saturating_add(Weight::from_parts(0, 3613)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -647,10 +654,21 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `153` // Estimated: `3675` - // Minimum execution time: 8_838_000 picoseconds. - Weight::from_parts(9_234_000, 0) + // Minimum execution time: 10_322_000 picoseconds. + Weight::from_parts(10_726_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } + /// Storage: `Assets::Metadata` (r:1 w:0) + /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn get_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `278` + // Estimated: `3605` + // Minimum execution time: 8_633_000 picoseconds. + Weight::from_parts(9_424_000, 0) + .saturating_add(Weight::from_parts(0, 3605)) + .saturating_add(T::DbWeight::get().reads(1)) + } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_pool.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_pool.rs index d4826ebb81c88..c11d396571de5 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_pool.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_pool.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_assets` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-10-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2026-02-11, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `2ee62bdee63c`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `0855fd8aeaa3`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -58,8 +58,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `109` // Estimated: `3675` - // Minimum execution time: 12_698_000 picoseconds. - Weight::from_parts(13_492_000, 0) + // Minimum execution time: 17_464_000 picoseconds. + Weight::from_parts(18_589_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -72,8 +72,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `109` // Estimated: `3675` - // Minimum execution time: 12_436_000 picoseconds. - Weight::from_parts(13_018_000, 0) + // Minimum execution time: 15_922_000 picoseconds. + Weight::from_parts(16_973_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -84,10 +84,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn start_destroy() -> Weight { // Proof Size summary in bytes: - // Measured: `632` + // Measured: `723` // Estimated: `3675` - // Minimum execution time: 21_355_000 picoseconds. - Weight::from_parts(21_959_000, 0) + // Minimum execution time: 28_885_000 picoseconds. + Weight::from_parts(30_870_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -107,13 +107,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `c` is `[0, 1000]`. fn destroy_accounts(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `67950 + c * (419 Β±0)` + // Measured: `68769 + c * (424 Β±0)` // Estimated: `3675 + c * (2609 Β±0)` - // Minimum execution time: 17_132_000 picoseconds. - Weight::from_parts(17_790_000, 0) + // Minimum execution time: 22_370_000 picoseconds. + Weight::from_parts(22_960_000, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 33_147 - .saturating_add(Weight::from_parts(37_123_218, 0).saturating_mul(c.into())) + // Standard Error: 43_268 + .saturating_add(Weight::from_parts(41_472_320, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -131,11 +131,11 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `518 + a * (86 Β±0)` // Estimated: `3675 + a * (2623 Β±0)` - // Minimum execution time: 20_687_000 picoseconds. - Weight::from_parts(21_205_000, 0) + // Minimum execution time: 25_065_000 picoseconds. + Weight::from_parts(25_411_000, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 8_148 - .saturating_add(Weight::from_parts(7_444_915, 0).saturating_mul(a.into())) + // Standard Error: 11_191 + .saturating_add(Weight::from_parts(9_066_440, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -146,15 +146,17 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) /// Storage: `PoolAssets::Metadata` (r:1 w:0) /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Reserves` (r:0 w:1) + /// Proof: `PoolAssets::Reserves` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`) fn finish_destroy() -> Weight { // Proof Size summary in bytes: // Measured: `347` // Estimated: `3675` - // Minimum execution time: 14_141_000 picoseconds. - Weight::from_parts(15_000_000, 0) + // Minimum execution time: 20_125_000 picoseconds. + Weight::from_parts(20_945_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(T::DbWeight::get().writes(2)) } /// Storage: `PoolAssets::Asset` (r:1 w:1) /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) @@ -164,8 +166,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `347` // Estimated: `3675` - // Minimum execution time: 25_109_000 picoseconds. - Weight::from_parts(26_252_000, 0) + // Minimum execution time: 31_122_000 picoseconds. + Weight::from_parts(32_954_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -182,8 +184,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `531` // Estimated: `3675` - // Minimum execution time: 53_456_000 picoseconds. - Weight::from_parts(55_549_000, 0) + // Minimum execution time: 67_820_000 picoseconds. + Weight::from_parts(70_706_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -200,10 +202,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `1820` + // Measured: `1853` // Estimated: `6208` - // Minimum execution time: 73_553_000 picoseconds. - Weight::from_parts(75_864_000, 0) + // Minimum execution time: 94_173_000 picoseconds. + Weight::from_parts(98_157_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -218,10 +220,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_keep_alive() -> Weight { // Proof Size summary in bytes: - // Measured: `1820` + // Measured: `1853` // Estimated: `6208` - // Minimum execution time: 57_156_000 picoseconds. - Weight::from_parts(59_347_000, 0) + // Minimum execution time: 76_182_000 picoseconds. + Weight::from_parts(80_451_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -238,10 +240,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn force_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `1820` + // Measured: `1853` // Estimated: `6208` - // Minimum execution time: 73_238_000 picoseconds. - Weight::from_parts(75_801_000, 0) + // Minimum execution time: 97_966_000 picoseconds. + Weight::from_parts(117_390_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -254,8 +256,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `455` // Estimated: `3675` - // Minimum execution time: 19_358_000 picoseconds. - Weight::from_parts(20_608_000, 0) + // Minimum execution time: 28_148_000 picoseconds. + Weight::from_parts(29_146_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -268,8 +270,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `455` // Estimated: `3675` - // Minimum execution time: 20_035_000 picoseconds. - Weight::from_parts(20_581_000, 0) + // Minimum execution time: 27_512_000 picoseconds. + Weight::from_parts(28_756_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -280,8 +282,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `381` // Estimated: `3675` - // Minimum execution time: 14_945_000 picoseconds. - Weight::from_parts(15_844_000, 0) + // Minimum execution time: 17_635_000 picoseconds. + Weight::from_parts(18_690_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -292,8 +294,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `381` // Estimated: `3675` - // Minimum execution time: 14_853_000 picoseconds. - Weight::from_parts(15_745_000, 0) + // Minimum execution time: 17_670_000 picoseconds. + Weight::from_parts(18_523_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -306,8 +308,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `347` // Estimated: `3675` - // Minimum execution time: 14_848_000 picoseconds. - Weight::from_parts(15_387_000, 0) + // Minimum execution time: 18_860_000 picoseconds. + Weight::from_parts(19_794_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -318,8 +320,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `347` // Estimated: `3675` - // Minimum execution time: 12_866_000 picoseconds. - Weight::from_parts(13_511_000, 0) + // Minimum execution time: 16_372_000 picoseconds. + Weight::from_parts(17_567_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -328,13 +330,18 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) /// Storage: `PoolAssets::Reserves` (r:0 w:1) /// Proof: `PoolAssets::Reserves` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`) - fn set_reserves() -> Weight { + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + fn set_reserves(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `347` // Estimated: `3675` - // Minimum execution time: 16_429_000 picoseconds. - Weight::from_parts(16_951_000, 0) + // Minimum execution time: 17_021_000 picoseconds. + Weight::from_parts(19_080_884, 0) .saturating_add(Weight::from_parts(0, 3675)) + // Standard Error: 9_240 + .saturating_add(Weight::from_parts(184_743, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -352,11 +359,11 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `347` // Estimated: `3675` - // Minimum execution time: 17_646_000 picoseconds. - Weight::from_parts(19_328_612, 0) + // Minimum execution time: 20_387_000 picoseconds. + Weight::from_parts(22_338_844, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 1_559 - .saturating_add(Weight::from_parts(1_016, 0).saturating_mul(s.into())) + // Standard Error: 1_167 + .saturating_add(Weight::from_parts(3_998, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -368,8 +375,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `511` // Estimated: `3675` - // Minimum execution time: 19_197_000 picoseconds. - Weight::from_parts(19_621_000, 0) + // Minimum execution time: 27_024_000 picoseconds. + Weight::from_parts(28_068_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -388,13 +395,13 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `186` // Estimated: `3675` - // Minimum execution time: 13_460_000 picoseconds. - Weight::from_parts(14_549_675, 0) + // Minimum execution time: 16_831_000 picoseconds. + Weight::from_parts(17_688_163, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 942 - .saturating_add(Weight::from_parts(87, 0).saturating_mul(n.into())) - // Standard Error: 942 - .saturating_add(Weight::from_parts(1_251, 0).saturating_mul(s.into())) + // Standard Error: 829 + .saturating_add(Weight::from_parts(9_938, 0).saturating_mul(n.into())) + // Standard Error: 829 + .saturating_add(Weight::from_parts(10_278, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -406,8 +413,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `511` // Estimated: `3675` - // Minimum execution time: 18_338_000 picoseconds. - Weight::from_parts(19_032_000, 0) + // Minimum execution time: 25_335_000 picoseconds. + Weight::from_parts(26_508_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -418,8 +425,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `347` // Estimated: `3675` - // Minimum execution time: 12_247_000 picoseconds. - Weight::from_parts(13_034_000, 0) + // Minimum execution time: 15_896_000 picoseconds. + Weight::from_parts(16_626_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -432,8 +439,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `381` // Estimated: `3675` - // Minimum execution time: 22_547_000 picoseconds. - Weight::from_parts(23_547_000, 0) + // Minimum execution time: 26_804_000 picoseconds. + Weight::from_parts(28_011_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -454,8 +461,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1891` // Estimated: `6208` - // Minimum execution time: 82_800_000 picoseconds. - Weight::from_parts(86_166_000, 0) + // Minimum execution time: 113_097_000 picoseconds. + Weight::from_parts(117_279_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(7)) @@ -468,8 +475,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `551` // Estimated: `3675` - // Minimum execution time: 24_569_000 picoseconds. - Weight::from_parts(25_721_000, 0) + // Minimum execution time: 34_523_000 picoseconds. + Weight::from_parts(36_615_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -482,8 +489,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `551` // Estimated: `3675` - // Minimum execution time: 24_680_000 picoseconds. - Weight::from_parts(25_400_000, 0) + // Minimum execution time: 35_296_000 picoseconds. + Weight::from_parts(36_560_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -494,8 +501,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `347` // Estimated: `3675` - // Minimum execution time: 13_247_000 picoseconds. - Weight::from_parts(14_016_000, 0) + // Minimum execution time: 17_645_000 picoseconds. + Weight::from_parts(18_262_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -508,8 +515,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `347` // Estimated: `3675` - // Minimum execution time: 19_107_000 picoseconds. - Weight::from_parts(19_878_000, 0) + // Minimum execution time: 24_255_000 picoseconds. + Weight::from_parts(25_893_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -522,8 +529,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `347` // Estimated: `3675` - // Minimum execution time: 21_049_000 picoseconds. - Weight::from_parts(22_003_000, 0) + // Minimum execution time: 25_222_000 picoseconds. + Weight::from_parts(26_047_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -540,8 +547,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `549` // Estimated: `3675` - // Minimum execution time: 33_110_000 picoseconds. - Weight::from_parts(34_194_000, 0) + // Minimum execution time: 44_311_000 picoseconds. + Weight::from_parts(46_063_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -558,8 +565,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `582` // Estimated: `3675` - // Minimum execution time: 32_650_000 picoseconds. - Weight::from_parts(33_752_000, 0) + // Minimum execution time: 45_759_000 picoseconds. + Weight::from_parts(47_530_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -572,8 +579,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `455` // Estimated: `3675` - // Minimum execution time: 20_003_000 picoseconds. - Weight::from_parts(20_790_000, 0) + // Minimum execution time: 27_572_000 picoseconds. + Weight::from_parts(29_544_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -590,10 +597,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_all() -> Weight { // Proof Size summary in bytes: - // Measured: `1820` + // Measured: `1853` // Estimated: `6208` - // Minimum execution time: 87_563_000 picoseconds. - Weight::from_parts(90_470_000, 0) + // Minimum execution time: 113_160_000 picoseconds. + Weight::from_parts(118_580_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -604,8 +611,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `381` // Estimated: `3675` - // Minimum execution time: 8_229_000 picoseconds. - Weight::from_parts(8_668_000, 0) + // Minimum execution time: 8_005_000 picoseconds. + Weight::from_parts(8_691_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -615,8 +622,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `255` // Estimated: `3599` - // Minimum execution time: 7_507_000 picoseconds. - Weight::from_parts(8_014_000, 0) + // Minimum execution time: 9_809_000 picoseconds. + Weight::from_parts(10_517_000, 0) .saturating_add(Weight::from_parts(0, 3599)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -626,8 +633,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `350` // Estimated: `3613` - // Minimum execution time: 10_292_000 picoseconds. - Weight::from_parts(11_057_000, 0) + // Minimum execution time: 14_367_000 picoseconds. + Weight::from_parts(15_237_000, 0) .saturating_add(Weight::from_parts(0, 3613)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -639,10 +646,21 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `186` // Estimated: `3675` - // Minimum execution time: 9_103_000 picoseconds. - Weight::from_parts(9_503_000, 0) + // Minimum execution time: 11_164_000 picoseconds. + Weight::from_parts(11_917_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } + /// Storage: `PoolAssets::Metadata` (r:1 w:0) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn get_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `311` + // Estimated: `3605` + // Minimum execution time: 8_516_000 picoseconds. + Weight::from_parts(9_173_000, 0) + .saturating_add(Weight::from_parts(0, 3605)) + .saturating_add(T::DbWeight::get().reads(1)) + } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_conviction_voting.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_conviction_voting.rs index f40bd4072e991..0cf81cf33ade5 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_conviction_voting.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_conviction_voting.rs @@ -1,5 +1,4 @@ // Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. // SPDX-License-Identifier: Apache-2.0 // Licensed under the Apache License, Version 2.0 (the "License"); @@ -16,27 +15,29 @@ //! Autogenerated weights for `pallet_conviction_voting` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-07-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2026-01-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `runner-xerhrdyb-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! EXECUTION: `Some(Wasm)`, WASM-EXECUTION: `Compiled`, CHAIN: `Some("westend-dev")`, DB CACHE: 1024 +//! HOSTNAME: `de30656a6ec6`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// target/production/polkadot +// frame-omni-bencher +// v1 // benchmark // pallet -// --steps=50 -// --repeat=20 // --extrinsic=* -// --execution=wasm +// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm +// --pallet=pallet_conviction_voting +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights // --wasm-execution=compiled +// --steps=50 +// --repeat=20 // --heap-pages=4096 -// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json -// --pallet=pallet_conviction_voting -// --chain=westend-dev -// --header=./file_header.txt -// --output=./runtime/westend/src/weights/ +// --no-storage-info +// --no-min-squares +// --no-median-slopes #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -58,18 +59,24 @@ impl pallet_conviction_voting::WeightInfo for WeightInf /// Storage: `Balances::Locks` (r:1 w:1) /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) /// Storage: `Balances::Freezes` (r:1 w:0) - /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) - /// Storage: `Scheduler::Agenda` (r:1 w:1) - /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Scheduler::Agenda` (r:2 w:2) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(5982734), added: 5985209, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Retries` (r:0 w:1) + /// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`) fn vote_new() -> Weight { // Proof Size summary in bytes: - // Measured: `13445` - // Estimated: `42428` - // Minimum execution time: 152_223_000 picoseconds. - Weight::from_parts(162_148_000, 0) - .saturating_add(Weight::from_parts(0, 42428)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) + // Measured: `121819` + // Estimated: `11971408` + // Minimum execution time: 3_861_471_000 picoseconds. + Weight::from_parts(4_019_295_000, 0) + .saturating_add(Weight::from_parts(0, 11971408)) + .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().writes(7)) } /// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1) /// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`) @@ -80,34 +87,38 @@ impl pallet_conviction_voting::WeightInfo for WeightInf /// Storage: `Balances::Locks` (r:1 w:1) /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) /// Storage: `Balances::Freezes` (r:1 w:0) - /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) - /// Storage: `Scheduler::Agenda` (r:2 w:2) - /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) fn vote_existing() -> Weight { // Proof Size summary in bytes: - // Measured: `14166` - // Estimated: `83866` - // Minimum execution time: 220_361_000 picoseconds. - Weight::from_parts(236_478_000, 0) - .saturating_add(Weight::from_parts(0, 83866)) + // Measured: `14248` + // Estimated: `30706` + // Minimum execution time: 173_897_000 picoseconds. + Weight::from_parts(192_896_000, 0) + .saturating_add(Weight::from_parts(0, 30706)) .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(6)) + .saturating_add(T::DbWeight::get().writes(4)) } /// Storage: `ConvictionVoting::VotingFor` (r:1 w:1) /// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`) /// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1) /// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`) - /// Storage: `Scheduler::Agenda` (r:2 w:2) - /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) fn remove_vote() -> Weight { // Proof Size summary in bytes: - // Measured: `13918` - // Estimated: `83866` - // Minimum execution time: 198_787_000 picoseconds. - Weight::from_parts(204_983_000, 0) - .saturating_add(Weight::from_parts(0, 83866)) + // Measured: `13299` + // Estimated: `30706` + // Minimum execution time: 124_078_000 picoseconds. + Weight::from_parts(132_341_000, 0) + .saturating_add(Weight::from_parts(0, 30706)) .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(T::DbWeight::get().writes(2)) } /// Storage: `ConvictionVoting::VotingFor` (r:1 w:1) /// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`) @@ -115,10 +126,10 @@ impl pallet_conviction_voting::WeightInfo for WeightInf /// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`) fn remove_other_vote() -> Weight { // Proof Size summary in bytes: - // Measured: `13004` + // Measured: `13110` // Estimated: `30706` - // Minimum execution time: 88_469_000 picoseconds. - Weight::from_parts(95_942_000, 0) + // Minimum execution time: 106_813_000 picoseconds. + Weight::from_parts(110_523_000, 0) .saturating_add(Weight::from_parts(0, 30706)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -127,27 +138,29 @@ impl pallet_conviction_voting::WeightInfo for WeightInf /// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`) /// Storage: `Referenda::ReferendumInfoFor` (r:512 w:512) /// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`) - /// Storage: `Scheduler::Agenda` (r:2 w:2) - /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1) /// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`) /// Storage: `Balances::Locks` (r:1 w:1) /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) /// Storage: `Balances::Freezes` (r:1 w:0) - /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) /// The range of component `r` is `[0, 512]`. fn delegate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `29640 + r * (365 Β±0)` - // Estimated: `83866 + r * (3411 Β±0)` - // Minimum execution time: 79_951_000 picoseconds. - Weight::from_parts(1_844_983_097, 0) - .saturating_add(Weight::from_parts(0, 83866)) - // Standard Error: 160_158 - .saturating_add(Weight::from_parts(43_973_863, 0).saturating_mul(r.into())) + // Measured: `29143 + r * (377 Β±0)` + // Estimated: `60422 + r * (3411 Β±2)` + // Minimum execution time: 93_167_000 picoseconds. + Weight::from_parts(696_699_305, 0) + .saturating_add(Weight::from_parts(0, 60422)) + // Standard Error: 110_625 + .saturating_add(Weight::from_parts(12_063_698, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) - .saturating_add(T::DbWeight::get().writes(6)) + .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) .saturating_add(Weight::from_parts(0, 3411).saturating_mul(r.into())) } @@ -155,40 +168,46 @@ impl pallet_conviction_voting::WeightInfo for WeightInf /// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`) /// Storage: `Referenda::ReferendumInfoFor` (r:512 w:512) /// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`) - /// Storage: `Scheduler::Agenda` (r:2 w:2) - /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// The range of component `r` is `[0, 512]`. fn undelegate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `29555 + r * (365 Β±0)` - // Estimated: `83866 + r * (3411 Β±0)` - // Minimum execution time: 47_976_000 picoseconds. - Weight::from_parts(1_877_857_335, 0) - .saturating_add(Weight::from_parts(0, 83866)) - // Standard Error: 168_477 - .saturating_add(Weight::from_parts(43_303_902, 0).saturating_mul(r.into())) + // Measured: `28358 + r * (377 Β±0)` + // Estimated: `60422 + r * (3411 Β±2)` + // Minimum execution time: 62_705_000 picoseconds. + Weight::from_parts(225_616_050, 0) + .saturating_add(Weight::from_parts(0, 60422)) + // Standard Error: 28_660 + .saturating_add(Weight::from_parts(13_055_114, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) - .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) .saturating_add(Weight::from_parts(0, 3411).saturating_mul(r.into())) } /// Storage: `ConvictionVoting::VotingFor` (r:1 w:1) /// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1) /// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`) /// Storage: `Balances::Locks` (r:1 w:1) /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) /// Storage: `Balances::Freezes` (r:1 w:0) - /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) fn unlock() -> Weight { // Proof Size summary in bytes: - // Measured: `12218` + // Measured: `13133` // Estimated: `30706` - // Minimum execution time: 102_868_000 picoseconds. - Weight::from_parts(110_438_000, 0) + // Minimum execution time: 148_704_000 picoseconds. + Weight::from_parts(169_195_000, 0) .saturating_add(Weight::from_parts(0, 30706)) - .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_staking_async.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_staking_async.rs index bfad4a58691bb..2d2f768d8596f 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_staking_async.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_staking_async.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_staking_async` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-11-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2026-01-17, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `b5e3f48e1195`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `ad005bf13d98`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -50,953 +50,369 @@ use core::marker::PhantomData; /// Weight functions for `pallet_staking_async`. pub struct WeightInfo(PhantomData); impl pallet_staking_async::WeightInfo for WeightInfo { - /// Storage: `Staking::Bonded` (r:1 w:1) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Ledger` (r:1 w:1) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinValidatorBond` (r:1 w:0) - /// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinNominatorBond` (r:1 w:0) - /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::VirtualStakers` (r:1 w:0) - /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) - /// Storage: `Staking::Payee` (r:0 w:1) - /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn bond() -> Weight { // Proof Size summary in bytes: // Measured: `6793` - // Estimated: `4218` - // Minimum execution time: 118_990_000 picoseconds. - Weight::from_parts(122_483_000, 0) - .saturating_add(Weight::from_parts(0, 4218)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `Staking::Bonded` (r:1 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Ledger` (r:1 w:1) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::VirtualStakers` (r:1 w:0) - /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinValidatorBond` (r:1 w:0) - /// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinNominatorBond` (r:1 w:0) - /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListNodes` (r:3 w:3) - /// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`) - /// Storage: `VoterList::Lock` (r:1 w:0) - /// Proof: `VoterList::Lock` (`max_values`: Some(1), `max_size`: Some(0), added: 495, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListBags` (r:2 w:2) - /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 151_823_000 picoseconds. + Weight::from_parts(162_698_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn bond_extra() -> Weight { // Proof Size summary in bytes: // Measured: `8254` - // Estimated: `8877` - // Minimum execution time: 291_845_000 picoseconds. - Weight::from_parts(309_556_000, 0) - .saturating_add(Weight::from_parts(0, 8877)) - .saturating_add(T::DbWeight::get().reads(12)) - .saturating_add(T::DbWeight::get().writes(7)) - } - /// Storage: `Staking::Ledger` (r:1 w:1) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Nominators` (r:1 w:0) - /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinNominatorBond` (r:1 w:0) - /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::ActiveEra` (r:1 w:0) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`) - /// Storage: `Staking::VirtualStakers` (r:1 w:0) - /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:1 w:0) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListNodes` (r:3 w:3) - /// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`) - /// Storage: `VoterList::Lock` (r:1 w:0) - /// Proof: `VoterList::Lock` (`max_values`: Some(1), `max_size`: Some(0), added: 495, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListBags` (r:2 w:2) - /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 9_824_370_000 picoseconds. + Weight::from_parts(13_177_169_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn unbond() -> Weight { // Proof Size summary in bytes: - // Measured: `8402` - // Estimated: `8877` - // Minimum execution time: 261_351_000 picoseconds. - Weight::from_parts(274_219_000, 0) - .saturating_add(Weight::from_parts(0, 8877)) - .saturating_add(T::DbWeight::get().reads(13)) - .saturating_add(T::DbWeight::get().writes(6)) - } - /// Storage: `Staking::Ledger` (r:1 w:1) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::ActiveEra` (r:1 w:0) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`) - /// Storage: `Staking::UnappliedSlashes` (r:1 w:0) - /// Proof: `Staking::UnappliedSlashes` (`max_values`: None, `max_size`: Some(3231), added: 5706, mode: `MaxEncodedLen`) - /// Storage: `Staking::OffenceQueueEras` (r:1 w:0) - /// Proof: `Staking::OffenceQueueEras` (`max_values`: Some(1), `max_size`: Some(9), added: 504, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinValidatorBond` (r:1 w:0) - /// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinNominatorBond` (r:1 w:0) - /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::VirtualStakers` (r:1 w:0) - /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) - /// Storage: `NominationPools::ReversePoolIdLookup` (r:1 w:0) - /// Proof: `NominationPools::ReversePoolIdLookup` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// Storage: `DelegatedStaking::Agents` (r:1 w:0) - /// Proof: `DelegatedStaking::Agents` (`max_values`: None, `max_size`: Some(120), added: 2595, mode: `MaxEncodedLen`) + // Measured: `8415` + // Estimated: `0` + // Minimum execution time: 6_984_740_000 picoseconds. + Weight::from_parts(10_286_473_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn withdraw_unbonded_update() -> Weight { // Proof Size summary in bytes: // Measured: `7393` - // Estimated: `6696` - // Minimum execution time: 132_943_000 picoseconds. - Weight::from_parts(135_591_000, 0) - .saturating_add(Weight::from_parts(0, 6696)) - .saturating_add(T::DbWeight::get().reads(11)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Staking::Ledger` (r:1 w:1) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:1) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::ActiveEra` (r:1 w:0) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`) - /// Storage: `Staking::UnappliedSlashes` (r:1 w:0) - /// Proof: `Staking::UnappliedSlashes` (`max_values`: None, `max_size`: Some(3231), added: 5706, mode: `MaxEncodedLen`) - /// Storage: `Staking::OffenceQueueEras` (r:1 w:0) - /// Proof: `Staking::OffenceQueueEras` (`max_values`: Some(1), `max_size`: Some(9), added: 504, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinValidatorBond` (r:1 w:0) - /// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinNominatorBond` (r:1 w:0) - /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::VirtualStakers` (r:1 w:1) - /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) - /// Storage: `Staking::Validators` (r:1 w:0) - /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - /// Storage: `Staking::Nominators` (r:1 w:1) - /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) - /// Storage: `Staking::CounterForNominators` (r:1 w:1) - /// Proof: `Staking::CounterForNominators` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `VoterList::Lock` (r:1 w:0) - /// Proof: `VoterList::Lock` (`max_values`: Some(1), `max_size`: Some(0), added: 495, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListNodes` (r:2 w:2) - /// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListBags` (r:1 w:1) - /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) - /// Storage: `VoterList::CounterForListNodes` (r:1 w:1) - /// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::Payee` (r:0 w:1) - /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 171_540_000 picoseconds. + Weight::from_parts(181_106_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn withdraw_unbonded_kill() -> Weight { // Proof Size summary in bytes: // Measured: `8340` - // Estimated: `6696` - // Minimum execution time: 302_871_000 picoseconds. - Weight::from_parts(326_117_000, 0) - .saturating_add(Weight::from_parts(0, 6696)) - .saturating_add(T::DbWeight::get().reads(17)) - .saturating_add(T::DbWeight::get().writes(11)) - } - /// Storage: `Staking::Ledger` (r:1 w:0) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinValidatorBond` (r:1 w:0) - /// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinCommission` (r:1 w:0) - /// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::Validators` (r:1 w:1) - /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - /// Storage: `Staking::MaxValidatorsCount` (r:1 w:0) - /// Proof: `Staking::MaxValidatorsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::Nominators` (r:1 w:0) - /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) - /// Storage: `VoterList::Lock` (r:1 w:0) - /// Proof: `VoterList::Lock` (`max_values`: Some(1), `max_size`: Some(0), added: 495, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListNodes` (r:1 w:1) - /// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListBags` (r:1 w:1) - /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) - /// Storage: `VoterList::CounterForListNodes` (r:1 w:1) - /// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::CounterForValidators` (r:1 w:1) - /// Proof: `Staking::CounterForValidators` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 10_719_434_000 picoseconds. + Weight::from_parts(14_830_140_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn validate() -> Weight { // Proof Size summary in bytes: // Measured: `9885` - // Estimated: `4218` - // Minimum execution time: 111_471_000 picoseconds. - Weight::from_parts(118_182_000, 0) - .saturating_add(Weight::from_parts(0, 4218)) - .saturating_add(T::DbWeight::get().reads(12)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `Staking::Ledger` (r:1 w:0) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Nominators` (r:128 w:128) - /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 155_256_000 picoseconds. + Weight::from_parts(161_416_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } /// The range of component `k` is `[1, 128]`. fn kick(k: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `12187 + k * (1121 Β±0)` - // Estimated: `4218 + k * (3033 Β±0)` - // Minimum execution time: 76_259_000 picoseconds. - Weight::from_parts(60_600_586, 0) - .saturating_add(Weight::from_parts(0, 4218)) - // Standard Error: 65_405 - .saturating_add(Weight::from_parts(15_000_929, 0).saturating_mul(k.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into()))) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) - .saturating_add(Weight::from_parts(0, 3033).saturating_mul(k.into())) - } - /// Storage: `Staking::Ledger` (r:1 w:0) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinNominatorBond` (r:1 w:0) - /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::Nominators` (r:1 w:1) - /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) - /// Storage: `Staking::MaxNominatorsCount` (r:1 w:0) - /// Proof: `Staking::MaxNominatorsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::Validators` (r:17 w:0) - /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `VoterList::Lock` (r:1 w:0) - /// Proof: `VoterList::Lock` (`max_values`: Some(1), `max_size`: Some(0), added: 495, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListNodes` (r:2 w:2) - /// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListBags` (r:1 w:1) - /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) - /// Storage: `VoterList::CounterForListNodes` (r:1 w:1) - /// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::CounterForNominators` (r:1 w:1) - /// Proof: `Staking::CounterForNominators` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 98_146_000 picoseconds. + Weight::from_parts(145_793_776, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 55_127 + .saturating_add(Weight::from_parts(17_280_864, 0).saturating_mul(k.into())) + } /// The range of component `n` is `[1, 16]`. fn nominate(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `5074 + n * (68 Β±0)` - // Estimated: `6248 + n * (2520 Β±0)` - // Minimum execution time: 183_345_000 picoseconds. - Weight::from_parts(200_319_329, 0) - .saturating_add(Weight::from_parts(0, 6248)) - // Standard Error: 49_034 - .saturating_add(Weight::from_parts(6_190_799, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(13)) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) - .saturating_add(T::DbWeight::get().writes(6)) - .saturating_add(Weight::from_parts(0, 2520).saturating_mul(n.into())) - } - /// Storage: `Staking::Ledger` (r:1 w:0) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Validators` (r:1 w:0) - /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - /// Storage: `Staking::Nominators` (r:1 w:1) - /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) - /// Storage: `Staking::CounterForNominators` (r:1 w:1) - /// Proof: `Staking::CounterForNominators` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `VoterList::Lock` (r:1 w:0) - /// Proof: `VoterList::Lock` (`max_values`: Some(1), `max_size`: Some(0), added: 495, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListNodes` (r:2 w:2) - /// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListBags` (r:1 w:1) - /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) - /// Storage: `VoterList::CounterForListNodes` (r:1 w:1) - /// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 3_951_847_000 picoseconds. + Weight::from_parts(11_093_536_278, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 12_371_015 + .saturating_add(Weight::from_parts(134_071_422, 0).saturating_mul(n.into())) + } fn chill() -> Weight { // Proof Size summary in bytes: // Measured: `5217` - // Estimated: `6248` - // Minimum execution time: 172_613_000 picoseconds. - Weight::from_parts(181_043_000, 0) - .saturating_add(Weight::from_parts(0, 6248)) - .saturating_add(T::DbWeight::get().reads(10)) - .saturating_add(T::DbWeight::get().writes(6)) - } - /// Storage: `Staking::Ledger` (r:1 w:0) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Payee` (r:0 w:1) - /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 5_461_816_000 picoseconds. + Weight::from_parts(5_964_595_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn set_payee() -> Weight { // Proof Size summary in bytes: // Measured: `4040` - // Estimated: `4218` - // Minimum execution time: 39_387_000 picoseconds. - Weight::from_parts(40_614_000, 0) - .saturating_add(Weight::from_parts(0, 4218)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Staking::Ledger` (r:1 w:0) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Payee` (r:1 w:1) - /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 57_034_000 picoseconds. + Weight::from_parts(61_302_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn update_payee() -> Weight { // Proof Size summary in bytes: // Measured: `5712` - // Estimated: `4218` - // Minimum execution time: 49_294_000 picoseconds. - Weight::from_parts(51_097_000, 0) - .saturating_add(Weight::from_parts(0, 4218)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Staking::Bonded` (r:1 w:1) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Ledger` (r:2 w:2) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 73_677_000 picoseconds. + Weight::from_parts(75_535_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn set_controller() -> Weight { // Proof Size summary in bytes: // Measured: `5383` - // Estimated: `7446` - // Minimum execution time: 50_978_000 picoseconds. - Weight::from_parts(53_037_000, 0) - .saturating_add(Weight::from_parts(0, 7446)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Staking::ValidatorCount` (r:0 w:1) - /// Proof: `Staking::ValidatorCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 73_550_000 picoseconds. + Weight::from_parts(77_231_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn set_validator_count() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_830_000 picoseconds. - Weight::from_parts(3_129_000, 0) + // Minimum execution time: 3_820_000 picoseconds. + Weight::from_parts(4_032_000, 0) .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: `Staking::ForceEra` (r:0 w:1) - /// Proof: `Staking::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) fn force_no_eras() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 15_401_000 picoseconds. - Weight::from_parts(16_194_000, 0) + // Minimum execution time: 20_612_000 picoseconds. + Weight::from_parts(22_653_000, 0) .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: `Staking::ForceEra` (r:0 w:1) - /// Proof: `Staking::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) fn force_new_era() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 15_327_000 picoseconds. - Weight::from_parts(16_018_000, 0) + // Minimum execution time: 20_353_000 picoseconds. + Weight::from_parts(21_738_000, 0) .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: `Staking::ForceEra` (r:0 w:1) - /// Proof: `Staking::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) fn force_new_era_always() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 15_319_000 picoseconds. - Weight::from_parts(15_947_000, 0) + // Minimum execution time: 20_237_000 picoseconds. + Weight::from_parts(22_012_000, 0) .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: `Staking::Ledger` (r:1502 w:1502) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:751 w:751) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Payee` (r:751 w:0) - /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) /// The range of component `u` is `[0, 751]`. fn deprecate_controller_batch(u: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `195432 + u * (1105 Β±0)` - // Estimated: `990 + u * (6456 Β±0)` - // Minimum execution time: 5_745_000 picoseconds. - Weight::from_parts(5_964_000, 0) - .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 75_845 - .saturating_add(Weight::from_parts(51_287_959, 0).saturating_mul(u.into())) - .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(u.into()))) - .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(u.into()))) - .saturating_add(Weight::from_parts(0, 6456).saturating_mul(u.into())) - } - /// Storage: `Staking::Bonded` (r:1 w:1) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Ledger` (r:1 w:1) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::VirtualStakers` (r:1 w:1) - /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Staking::Validators` (r:1 w:0) - /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - /// Storage: `Staking::Nominators` (r:1 w:1) - /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) - /// Storage: `Staking::CounterForNominators` (r:1 w:1) - /// Proof: `Staking::CounterForNominators` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `VoterList::Lock` (r:1 w:0) - /// Proof: `VoterList::Lock` (`max_values`: Some(1), `max_size`: Some(0), added: 495, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListNodes` (r:2 w:2) - /// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListBags` (r:1 w:1) - /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) - /// Storage: `VoterList::CounterForListNodes` (r:1 w:1) - /// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::Payee` (r:0 w:1) - /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 7_164_000 picoseconds. + Weight::from_parts(223_480_099, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 165_663 + .saturating_add(Weight::from_parts(60_652_060, 0).saturating_mul(u.into())) + } fn force_unstake() -> Weight { // Proof Size summary in bytes: // Measured: `8285` - // Estimated: `6248` - // Minimum execution time: 284_163_000 picoseconds. - Weight::from_parts(296_313_000, 0) - .saturating_add(Weight::from_parts(0, 6248)) - .saturating_add(T::DbWeight::get().reads(13)) - .saturating_add(T::DbWeight::get().writes(12)) - } - /// Storage: `Staking::CancelledSlashes` (r:1 w:1) - /// Proof: `Staking::CancelledSlashes` (`max_values`: None, `max_size`: Some(36014), added: 38489, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 10_921_590_000 picoseconds. + Weight::from_parts(16_176_391_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } /// The range of component `s` is `[1, 1000]`. fn cancel_deferred_slash(s: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `633` - // Estimated: `39479` - // Minimum execution time: 16_183_000 picoseconds. - Weight::from_parts(16_584_000, 0) - .saturating_add(Weight::from_parts(0, 39479)) - // Standard Error: 8_521 - .saturating_add(Weight::from_parts(2_997_518, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Staking::ErasStakersOverview` (r:1 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`) - /// Storage: `Staking::ClaimedRewards` (r:1 w:1) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(1462), added: 3937, mode: `MaxEncodedLen`) - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:65 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Ledger` (r:65 w:65) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:65 w:65) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Staking::VirtualStakers` (r:65 w:0) - /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:65 w:65) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) - /// Storage: `Staking::ErasStakersPaged` (r:1 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(3152), added: 5627, mode: `MaxEncodedLen`) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `MaxEncodedLen`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `MaxEncodedLen`) - /// Storage: `Staking::Payee` (r:65 w:0) - /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 21_117_000 picoseconds. + Weight::from_parts(21_937_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 8_007 + .saturating_add(Weight::from_parts(3_054_448, 0).saturating_mul(s.into())) + } /// The range of component `n` is `[0, 64]`. fn payout_stakers_alive_staked(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `32987 + n * (3657 Β±0)` - // Estimated: `39483 + n * (3228 Β±0)` - // Minimum execution time: 341_693_000 picoseconds. - Weight::from_parts(532_937_521, 0) - .saturating_add(Weight::from_parts(0, 39483)) - // Standard Error: 218_096 - .saturating_add(Weight::from_parts(141_756_582, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(13)) - .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(n.into()))) - .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(n.into()))) - .saturating_add(Weight::from_parts(0, 3228).saturating_mul(n.into())) - } - /// Storage: `Staking::Ledger` (r:1 w:1) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinValidatorBond` (r:1 w:0) - /// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinNominatorBond` (r:1 w:0) - /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::VirtualStakers` (r:1 w:0) - /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:1 w:0) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListNodes` (r:3 w:3) - /// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`) - /// Storage: `VoterList::Lock` (r:1 w:0) - /// Proof: `VoterList::Lock` (`max_values`: Some(1), `max_size`: Some(0), added: 495, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListBags` (r:2 w:2) - /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 6_909_131_000 picoseconds. + Weight::from_parts(20_652_651_092, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 8_042_660 + .saturating_add(Weight::from_parts(264_186_902, 0).saturating_mul(n.into())) + } /// The range of component `l` is `[1, 32]`. - fn rebond(l: u32, ) -> Weight { + fn rebond(_l: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `8255 + l * (5 Β±0)` - // Estimated: `8877` - // Minimum execution time: 241_987_000 picoseconds. - Weight::from_parts(264_579_679, 0) - .saturating_add(Weight::from_parts(0, 8877)) - // Standard Error: 22_642 - .saturating_add(Weight::from_parts(371_741, 0).saturating_mul(l.into())) - .saturating_add(T::DbWeight::get().reads(12)) - .saturating_add(T::DbWeight::get().writes(6)) - } - /// Storage: `Staking::VirtualStakers` (r:1 w:1) - /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinValidatorBond` (r:1 w:0) - /// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinNominatorBond` (r:1 w:0) - /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:1) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Ledger` (r:1 w:1) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) - /// Storage: `Staking::Validators` (r:1 w:0) - /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - /// Storage: `Staking::Nominators` (r:1 w:1) - /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) - /// Storage: `Staking::CounterForNominators` (r:1 w:1) - /// Proof: `Staking::CounterForNominators` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `VoterList::Lock` (r:1 w:0) - /// Proof: `VoterList::Lock` (`max_values`: Some(1), `max_size`: Some(0), added: 495, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListNodes` (r:2 w:2) - /// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListBags` (r:1 w:1) - /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) - /// Storage: `VoterList::CounterForListNodes` (r:1 w:1) - /// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::Payee` (r:0 w:1) - /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 6_909_067_000 picoseconds. + Weight::from_parts(10_699_364_610, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn reap_stash() -> Weight { // Proof Size summary in bytes: // Measured: `8348` - // Estimated: `6248` - // Minimum execution time: 293_246_000 picoseconds. - Weight::from_parts(315_724_000, 0) - .saturating_add(Weight::from_parts(0, 6248)) - .saturating_add(T::DbWeight::get().reads(14)) - .saturating_add(T::DbWeight::get().writes(11)) - } - /// Storage: `Staking::MinCommission` (r:0 w:1) - /// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinValidatorBond` (r:0 w:1) - /// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::MaxValidatorsCount` (r:0 w:1) - /// Proof: `Staking::MaxValidatorsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::MaxStakedRewards` (r:0 w:1) - /// Proof: `Staking::MaxStakedRewards` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) - /// Storage: `Staking::ChillThreshold` (r:0 w:1) - /// Proof: `Staking::ChillThreshold` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) - /// Storage: `Staking::MaxNominatorsCount` (r:0 w:1) - /// Proof: `Staking::MaxNominatorsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinNominatorBond` (r:0 w:1) - /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 10_927_055_000 picoseconds. + Weight::from_parts(13_398_080_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn set_staking_configs_all_set() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_121_000 picoseconds. - Weight::from_parts(5_590_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(7)) - } - /// Storage: `Staking::MinCommission` (r:0 w:1) - /// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinValidatorBond` (r:0 w:1) - /// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::MaxValidatorsCount` (r:0 w:1) - /// Proof: `Staking::MaxValidatorsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::MaxStakedRewards` (r:0 w:1) - /// Proof: `Staking::MaxStakedRewards` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) - /// Storage: `Staking::ChillThreshold` (r:0 w:1) - /// Proof: `Staking::ChillThreshold` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) - /// Storage: `Staking::MaxNominatorsCount` (r:0 w:1) - /// Proof: `Staking::MaxNominatorsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinNominatorBond` (r:0 w:1) - /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Minimum execution time: 8_168_000 picoseconds. + Weight::from_parts(8_893_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn set_staking_configs_all_remove() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_823_000 picoseconds. - Weight::from_parts(5_235_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(7)) - } - /// Storage: `Staking::Bonded` (r:1 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Ledger` (r:1 w:0) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Staking::Nominators` (r:1 w:1) - /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) - /// Storage: `Staking::ChillThreshold` (r:1 w:0) - /// Proof: `Staking::ChillThreshold` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) - /// Storage: `Staking::MaxNominatorsCount` (r:1 w:0) - /// Proof: `Staking::MaxNominatorsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::CounterForNominators` (r:1 w:1) - /// Proof: `Staking::CounterForNominators` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinNominatorBond` (r:1 w:0) - /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::Validators` (r:1 w:0) - /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - /// Storage: `VoterList::Lock` (r:1 w:0) - /// Proof: `VoterList::Lock` (`max_values`: Some(1), `max_size`: Some(0), added: 495, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListNodes` (r:2 w:2) - /// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`) - /// Storage: `VoterList::ListBags` (r:1 w:1) - /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) - /// Storage: `VoterList::CounterForListNodes` (r:1 w:1) - /// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Minimum execution time: 7_548_000 picoseconds. + Weight::from_parts(8_120_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn chill_other() -> Weight { // Proof Size summary in bytes: // Measured: `5350` - // Estimated: `6248` - // Minimum execution time: 207_310_000 picoseconds. - Weight::from_parts(216_759_000, 0) - .saturating_add(Weight::from_parts(0, 6248)) - .saturating_add(T::DbWeight::get().reads(13)) - .saturating_add(T::DbWeight::get().writes(6)) - } - /// Storage: `Staking::MinCommission` (r:1 w:0) - /// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::Validators` (r:1 w:1) - /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 8_972_274_000 picoseconds. + Weight::from_parts(12_286_705_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn force_apply_min_commission() -> Weight { // Proof Size summary in bytes: // Measured: `640` - // Estimated: `3510` - // Minimum execution time: 38_347_000 picoseconds. - Weight::from_parts(40_576_000, 0) - .saturating_add(Weight::from_parts(0, 3510)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Staking::MinCommission` (r:0 w:1) - /// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 57_429_000 picoseconds. + Weight::from_parts(67_310_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn set_min_commission() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_840_000 picoseconds. - Weight::from_parts(3_057_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:0) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Staking::VirtualStakers` (r:1 w:0) - /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:1 w:0) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) - /// Storage: `Balances::Locks` (r:1 w:0) - /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:1) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Ledger` (r:1 w:1) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) + // Minimum execution time: 3_827_000 picoseconds. + Weight::from_parts(4_098_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn restore_ledger() -> Weight { // Proof Size summary in bytes: // Measured: `6948` - // Estimated: `4764` - // Minimum execution time: 77_339_000 picoseconds. - Weight::from_parts(80_434_000, 0) - .saturating_add(Weight::from_parts(0, 4764)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Staking::VirtualStakers` (r:1 w:0) - /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:1 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Ledger` (r:1 w:0) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `Balances::Locks` (r:1 w:1) - /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) - /// Storage: `Balances::Freezes` (r:1 w:0) - /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 109_614_000 picoseconds. + Weight::from_parts(114_855_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn migrate_currency() -> Weight { // Proof Size summary in bytes: // Measured: `7019` - // Estimated: `4764` - // Minimum execution time: 127_560_000 picoseconds. - Weight::from_parts(131_931_000, 0) - .saturating_add(Weight::from_parts(0, 4764)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Staking::ActiveEra` (r:1 w:0) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`) - /// Storage: `Staking::CancelledSlashes` (r:1 w:0) - /// Proof: `Staking::CancelledSlashes` (`max_values`: None, `max_size`: Some(36014), added: 38489, mode: `MaxEncodedLen`) - /// Storage: `Staking::UnappliedSlashes` (r:1 w:1) - /// Proof: `Staking::UnappliedSlashes` (`max_values`: None, `max_size`: Some(3231), added: 5706, mode: `MaxEncodedLen`) - /// Storage: `Staking::Bonded` (r:65 w:0) - /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::Ledger` (r:65 w:65) - /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) - /// Storage: `NominationPools::ReversePoolIdLookup` (r:65 w:0) - /// Proof: `NominationPools::ReversePoolIdLookup` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// Storage: `DelegatedStaking::Agents` (r:65 w:65) - /// Proof: `DelegatedStaking::Agents` (`max_values`: None, `max_size`: Some(120), added: 2595, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:65 w:65) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Staking::VirtualStakers` (r:65 w:0) - /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:65 w:65) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) - fn apply_slash() -> Weight { - // Proof Size summary in bytes: - // Measured: `214677` - // Estimated: `210810` - // Minimum execution time: 6_223_489_000 picoseconds. - Weight::from_parts(6_379_349_000, 0) - .saturating_add(Weight::from_parts(0, 210810)) - .saturating_add(T::DbWeight::get().reads(458)) - .saturating_add(T::DbWeight::get().writes(261)) - } - /// Storage: `Staking::ProcessingOffence` (r:1 w:1) - /// Proof: `Staking::ProcessingOffence` (`max_values`: Some(1), `max_size`: Some(85), added: 580, mode: `MaxEncodedLen`) - /// Storage: `Staking::OffenceQueueEras` (r:1 w:1) - /// Proof: `Staking::OffenceQueueEras` (`max_values`: Some(1), `max_size`: Some(9), added: 504, mode: `MaxEncodedLen`) - /// Storage: `Staking::OffenceQueue` (r:2 w:1) - /// Proof: `Staking::OffenceQueue` (`max_values`: None, `max_size`: Some(101), added: 2576, mode: `MaxEncodedLen`) - /// Storage: `Staking::SlashRewardFraction` (r:1 w:0) - /// Proof: `Staking::SlashRewardFraction` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::ErasStakersOverview` (r:1 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`) - /// Storage: `Staking::ErasStakersPaged` (r:1 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(3152), added: 5627, mode: `MaxEncodedLen`) - /// Storage: `Staking::UnappliedSlashes` (r:0 w:1) - /// Proof: `Staking::UnappliedSlashes` (`max_values`: None, `max_size`: Some(3231), added: 5706, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 162_554_000 picoseconds. + Weight::from_parts(169_846_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// The range of component `n` is `[0, 64]`. + fn apply_slash(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `27526 + n * (2979 Β±0)` + // Estimated: `0` + // Minimum execution time: 7_428_074_000 picoseconds. + Weight::from_parts(19_830_764_737, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 7_880_082 + .saturating_add(Weight::from_parts(228_874_767, 0).saturating_mul(n.into())) + } fn process_offence_queue() -> Weight { // Proof Size summary in bytes: // Measured: `3602` - // Estimated: `6617` - // Minimum execution time: 158_328_000 picoseconds. - Weight::from_parts(168_068_000, 0) - .saturating_add(Weight::from_parts(0, 6617)) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `Staking::ActiveEra` (r:1 w:0) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`) - /// Storage: `Staking::BondedEras` (r:1 w:0) - /// Proof: `Staking::BondedEras` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`) - /// Storage: `Staking::ErasStakersOverview` (r:500 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`) - /// Storage: `Staking::ValidatorSlashInEra` (r:500 w:500) - /// Proof: `Staking::ValidatorSlashInEra` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) - /// Storage: `Staking::OffenceQueue` (r:500 w:500) - /// Proof: `Staking::OffenceQueue` (`max_values`: None, `max_size`: Some(101), added: 2576, mode: `MaxEncodedLen`) - /// Storage: `Staking::OffenceQueueEras` (r:1 w:1) - /// Proof: `Staking::OffenceQueueEras` (`max_values`: Some(1), `max_size`: Some(9), added: 504, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 5_027_278_000 picoseconds. + Weight::from_parts(12_923_992_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } /// The range of component `v` is `[2, 500]`. fn rc_on_offence(v: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `667 + v * (96 Β±0)` - // Estimated: `1510 + v * (2576 Β±0)` - // Minimum execution time: 95_622_000 picoseconds. - Weight::from_parts(23_516_576, 0) - .saturating_add(Weight::from_parts(0, 1510)) - // Standard Error: 19_899 - .saturating_add(Weight::from_parts(19_834_052, 0).saturating_mul(v.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(v.into()))) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(v.into()))) - .saturating_add(Weight::from_parts(0, 2576).saturating_mul(v.into())) - } - /// Storage: `Staking::ActiveEra` (r:1 w:1) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:1) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `MaxEncodedLen`) - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `Staking::MaxStakedRewards` (r:1 w:0) - /// Proof: `Staking::MaxStakedRewards` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) - /// Storage: `Staking::BondedEras` (r:1 w:1) - /// Proof: `Staking::BondedEras` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`) - /// Storage: `Staking::ForceEra` (r:1 w:0) - /// Proof: `Staking::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) - /// Storage: UNKNOWN KEY `0x6358acd2035ec4bb863fa981e0c177b9` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6358acd2035ec4bb863fa981e0c177b9` (r:1 w:0) - /// Storage: UNKNOWN KEY `0xc209f5d8eb920681b56c64b8694ea78c` (r:1 w:0) - /// Proof: UNKNOWN KEY `0xc209f5d8eb920681b56c64b8694ea78c` (r:1 w:0) - /// Storage: UNKNOWN KEY `0x48384a816e4f71a936cb76dc9e303f2a` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x48384a816e4f71a936cb76dc9e303f2a` (r:1 w:0) - /// Storage: `Staking::VoterSnapshotStatus` (r:0 w:1) - /// Proof: `Staking::VoterSnapshotStatus` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`) - /// Storage: `Staking::ErasValidatorReward` (r:0 w:1) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `Staking::NextElectionPage` (r:0 w:1) - /// Proof: `Staking::NextElectionPage` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Staking::ElectableStashes` (r:0 w:1) - /// Proof: `Staking::ElectableStashes` (`max_values`: Some(1), `max_size`: Some(32002), added: 32497, mode: `MaxEncodedLen`) + // Estimated: `0` + // Minimum execution time: 3_997_424_000 picoseconds. + Weight::from_parts(28_149_718_556, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 1_586_636 + .saturating_add(Weight::from_parts(57_924_737, 0).saturating_mul(v.into())) + } fn rc_on_session_report() -> Weight { // Proof Size summary in bytes: - // Measured: `1210` - // Estimated: `39483` - // Minimum execution time: 454_212_000 picoseconds. - Weight::from_parts(471_327_000, 0) - .saturating_add(Weight::from_parts(0, 39483)) - .saturating_add(T::DbWeight::get().reads(10)) - .saturating_add(T::DbWeight::get().writes(7)) - } - /// Storage: `Staking::ActiveEra` (r:1 w:0) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:0) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:101 w:100) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(3152), added: 5627, mode: `Measured`) + // Measured: `1190` + // Estimated: `0` + // Minimum execution time: 10_892_087_000 picoseconds. + Weight::from_parts(11_439_807_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } /// The range of component `v` is `[1, 1000]`. fn prune_era_stakers_paged(v: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `7912 + v * (3 Β±0)` - // Estimated: `258665 + v * (4 Β±0)` - // Minimum execution time: 161_987_000 picoseconds. - Weight::from_parts(186_512_175, 0) - .saturating_add(Weight::from_parts(0, 258665)) - // Standard Error: 1_183 - .saturating_add(Weight::from_parts(28_669, 0).saturating_mul(v.into())) - .saturating_add(T::DbWeight::get().reads(103)) - .saturating_add(T::DbWeight::get().writes(100)) - .saturating_add(Weight::from_parts(0, 4).saturating_mul(v.into())) - } - /// Storage: `Staking::ActiveEra` (r:1 w:0) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:0) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:101 w:100) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) + // Estimated: `0` + // Minimum execution time: 233_582_000 picoseconds. + Weight::from_parts(302_127_414, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 3_585 + .saturating_add(Weight::from_parts(83_794, 0).saturating_mul(v.into())) + } /// The range of component `v` is `[1, 1000]`. fn prune_era_stakers_overview(v: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `7425` - // Estimated: `202015 + v * (83 Β±0)` - // Minimum execution time: 35_891_000 picoseconds. - Weight::from_parts(147_563_202, 0) - .saturating_add(Weight::from_parts(0, 202015)) - // Standard Error: 3_885 - .saturating_add(Weight::from_parts(80_872, 0).saturating_mul(v.into())) - .saturating_add(T::DbWeight::get().reads(81)) - .saturating_add(T::DbWeight::get().writes(79)) - .saturating_add(Weight::from_parts(0, 83).saturating_mul(v.into())) - } - /// Storage: `Staking::ActiveEra` (r:1 w:0) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:0) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:101 w:100) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) + // Estimated: `0` + // Minimum execution time: 57_623_000 picoseconds. + Weight::from_parts(308_108_210, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 9_129 + .saturating_add(Weight::from_parts(91_683, 0).saturating_mul(v.into())) + } /// The range of component `v` is `[1, 1000]`. fn prune_era_validator_prefs(v: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `5865` - // Estimated: `200811 + v * (83 Β±0)` - // Minimum execution time: 37_112_000 picoseconds. - Weight::from_parts(144_264_739, 0) - .saturating_add(Weight::from_parts(0, 200811)) - // Standard Error: 3_710 - .saturating_add(Weight::from_parts(81_855, 0).saturating_mul(v.into())) - .saturating_add(T::DbWeight::get().reads(81)) - .saturating_add(T::DbWeight::get().writes(79)) - .saturating_add(Weight::from_parts(0, 83).saturating_mul(v.into())) - } - /// Storage: `Staking::ActiveEra` (r:1 w:0) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:0) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:101 w:100) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(1462), added: 3937, mode: `Measured`) + // Estimated: `0` + // Minimum execution time: 53_173_000 picoseconds. + Weight::from_parts(278_592_462, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 8_591 + .saturating_add(Weight::from_parts(147_948, 0).saturating_mul(v.into())) + } /// The range of component `v` is `[1, 1000]`. fn prune_era_claimed_rewards(v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `8839` - // Estimated: `203118 + v * (84 Β±0)` - // Minimum execution time: 36_854_000 picoseconds. - Weight::from_parts(148_150_061, 0) - .saturating_add(Weight::from_parts(0, 203118)) - // Standard Error: 3_839 - .saturating_add(Weight::from_parts(78_999, 0).saturating_mul(v.into())) - .saturating_add(T::DbWeight::get().reads(81)) - .saturating_add(T::DbWeight::get().writes(79)) - .saturating_add(Weight::from_parts(0, 84).saturating_mul(v.into())) - } - /// Storage: `Staking::ActiveEra` (r:1 w:0) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:0 w:1) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) + // Measured: `8873` + // Estimated: `0` + // Minimum execution time: 55_821_000 picoseconds. + Weight::from_parts(297_039_564, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 8_692 + .saturating_add(Weight::from_parts(122_602, 0).saturating_mul(v.into())) + } fn prune_era_validator_reward() -> Weight { // Proof Size summary in bytes: // Measured: `789` - // Estimated: `4254` - // Minimum execution time: 27_656_000 picoseconds. - Weight::from_parts(28_268_000, 0) - .saturating_add(Weight::from_parts(0, 4254)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Staking::ActiveEra` (r:1 w:0) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) - /// Storage: `Staking::ErasRewardPoints` (r:0 w:1) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) + // Estimated: `0` + // Minimum execution time: 42_821_000 picoseconds. + Weight::from_parts(46_037_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } fn prune_era_reward_points() -> Weight { // Proof Size summary in bytes: // Measured: `789` - // Estimated: `4254` - // Minimum execution time: 27_702_000 picoseconds. - Weight::from_parts(28_336_000, 0) - .saturating_add(Weight::from_parts(0, 4254)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Staking::ActiveEra` (r:1 w:0) - /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:0 w:1) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - fn prune_era_total_stake() -> Weight { + // Estimated: `0` + // Minimum execution time: 41_525_000 picoseconds. + Weight::from_parts(46_113_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn prune_era_single_entry_cleanups() -> Weight { // Proof Size summary in bytes: // Measured: `789` - // Estimated: `4254` - // Minimum execution time: 32_516_000 picoseconds. - Weight::from_parts(34_316_000, 0) - .saturating_add(Weight::from_parts(0, 4254)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Estimated: `0` + // Minimum execution time: 45_910_000 picoseconds. + Weight::from_parts(48_324_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// The range of component `v` is `[1, 1000]`. + fn prune_era_validator_slash_in_era(v: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `5499 + v * (3 Β±0)` + // Estimated: `0` + // Minimum execution time: 60_851_000 picoseconds. + Weight::from_parts(210_957_237, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 9_601 + .saturating_add(Weight::from_parts(206_498, 0).saturating_mul(v.into())) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_staking_async_rc_client.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_staking_async_rc_client.rs new file mode 100644 index 0000000000000..1321d5b5953d5 --- /dev/null +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_staking_async_rc_client.rs @@ -0,0 +1,99 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Autogenerated weights for `pallet_staking_async_rc_client` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2026-01-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `e0677cc1a867`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 + +// Executed Command: +// frame-omni-bencher +// v1 +// benchmark +// pallet +// --extrinsic=* +// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm +// --pallet=pallet_staking_async_rc_client +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights +// --wasm-execution=compiled +// --steps=50 +// --repeat=20 +// --heap-pages=4096 +// --no-storage-info +// --no-min-squares +// --no-median-slopes + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_staking_async_rc_client`. +pub struct WeightInfo(PhantomData); +impl pallet_staking_async_rc_client::WeightInfo for WeightInfo { + /// Storage: `Staking::Validators` (r:1 w:0) + /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::UpwardDeliveryFeeFactor` (r:1 w:0) + /// Proof: `ParachainSystem::UpwardDeliveryFeeFactor` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) + /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) + /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) + /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) + /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn set_keys() -> Weight { + // Proof Size summary in bytes: + // Measured: `4595` + // Estimated: `8060` + // Minimum execution time: 475_261_000 picoseconds. + Weight::from_parts(495_185_000, 0) + .saturating_add(Weight::from_parts(0, 8060)) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `ParachainSystem::UpwardDeliveryFeeFactor` (r:1 w:0) + /// Proof: `ParachainSystem::UpwardDeliveryFeeFactor` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) + /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) + /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) + /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) + /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn purge_keys() -> Weight { + // Proof Size summary in bytes: + // Measured: `2797` + // Estimated: `6262` + // Minimum execution time: 161_373_000 picoseconds. + Weight::from_parts(166_301_000, 0) + .saturating_add(Weight::from_parts(0, 6262)) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(3)) + } +} diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm/mod.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm/mod.rs index 27532ac431e7a..e3d81ea79ecff 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm/mod.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm/mod.rs @@ -47,12 +47,14 @@ impl WeighAssets for AssetFilter { WildFungibility::Fungible => weight, // Magic number 2 has to do with the fact that we could have up to 2 times // MaxAssetsIntoHolding in the worst-case scenario. - WildFungibility::NonFungible => - weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64), + WildFungibility::NonFungible => { + weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64) + }, }, AllCounted(count) => weight.saturating_mul(MAX_ASSETS.min((*count as u64).max(1))), - AllOfCounted { count, .. } => - weight.saturating_mul(MAX_ASSETS.min((*count as u64).max(1))), + AllOfCounted { count, .. } => { + weight.saturating_mul(MAX_ASSETS.min((*count as u64).max(1))) + }, }, } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/xcm_config.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/xcm_config.rs index efeca0fede196..4ec4a5030576b 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/xcm_config.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/xcm_config.rs @@ -238,7 +238,6 @@ pub type AssetTransactors = ( FungibleTransactor, FungiblesTransactor, ForeignFungiblesTransactor, - PoolFungiblesTransactor, UniquesTransactor, ERC20Transactor, ); @@ -451,7 +450,6 @@ impl xcm_executor::Config for XcmConfig { ); type ResponseHandler = PolkadotXcm; type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/tests/tests.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/tests/tests.rs index 300dc145273dc..27099e7144167 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/tests/tests.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/tests/tests.rs @@ -30,13 +30,13 @@ use asset_hub_westend_runtime::{ }, AllPalletsWithoutSystem, Assets, Balances, Block, ExistentialDeposit, ForeignAssets, ForeignAssetsInstance, MetadataDepositBase, MetadataDepositPerByte, ParachainSystem, - PolkadotXcm, Revive, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, SessionKeys, + PolkadotXcm, Proxy, Revive, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, SessionKeys, ToRococoXcmRouterInstance, TrustBackedAssetsInstance, Uniques, WeightToFee, XcmpQueue, }; pub use asset_hub_westend_runtime::{AssetConversion, AssetDeposit, CollatorSelection, System}; use asset_test_utils::{ - test_cases_over_bridge::TestBridgingConfig, CollatorSessionKey, CollatorSessionKeys, - ExtBuilder, GovernanceOrigin, SlotDurations, + test_cases::exchange_asset_on_asset_hub_works, test_cases_over_bridge::TestBridgingConfig, + CollatorSessionKey, CollatorSessionKeys, ExtBuilder, GovernanceOrigin, SlotDurations, }; use assets_common::local_and_foreign_assets::ForeignAssetReserveData; use codec::{Decode, Encode}; @@ -60,14 +60,16 @@ use pallet_revive::{ test_utils::builder::{BareInstantiateBuilder, Contract}, Code, TransactionLimits, }; -use pallet_revive_fixtures::compile_module; +use pallet_revive_fixtures::{compile_module, compile_module_with_type, FixtureType}; use pallet_uniques::{asset_ops::Item, asset_strategies::Attribute}; use parachains_common::{AccountId, AssetIdForTrustBackedAssets, AuraId, Balance}; use sp_consensus_aura::SlotDuration; use sp_core::crypto::Ss58Codec; use sp_runtime::{traits::MaybeEquivalence, Either, MultiAddress}; +use sp_tracing::capture_test_logs; use std::convert::Into; use testnet_parachains_constants::westend::{consensus::*, currency::UNITS}; +use westend_runtime_constants::system_parachain::ASSET_HUB_ID; use xcm::{ latest::{ prelude::{Assets as XcmAssets, *}, @@ -79,23 +81,18 @@ use xcm_builder::{ unique_instances::UniqueInstancesAdapter as NewNftAdapter, MatchInClassInstances, NoChecking, NonFungiblesAdapter as OldNftAdapter, WithLatestLocationConverter, }; -use xcm_executor::traits::{ConvertLocation, JustTry, TransactAsset, WeightTrader}; +use xcm_executor::{ + traits::{ConvertLocation, JustTry, TransactAsset, WeightTrader}, + AssetsInHolding, +}; use xcm_runtime_apis::conversions::LocationToAccountHelper; +use sp_runtime::traits::OpaqueKeys; + const ALICE: [u8; 32] = [1u8; 32]; const BOB: [u8; 32] = [2u8; 32]; const SOME_ASSET_ADMIN: [u8; 32] = [5u8; 32]; -const ERC20_PVM: &[u8] = - include_bytes!("../../../../../../substrate/frame/revive/fixtures/erc20/erc20.polkavm"); - -const FAKE_ERC20_PVM: &[u8] = - include_bytes!("../../../../../../substrate/frame/revive/fixtures/erc20/fake_erc20.polkavm"); - -const EXPENSIVE_ERC20_PVM: &[u8] = include_bytes!( - "../../../../../../substrate/frame/revive/fixtures/erc20/expensive_erc20.polkavm" -); - parameter_types! { pub Governance: GovernanceOrigin = GovernanceOrigin::Origin(RuntimeOrigin::root()); } @@ -150,9 +147,6 @@ fn test_buy_and_refund_weight_in_native() { assert_ok!(Balances::mint_into(&bob, initial_balance)); assert_ok!(Balances::mint_into(&staking_pot, initial_balance)); - // keep initial total issuance to assert later. - let total_issuance = Balances::total_issuance(); - // prepare input to buy weight. let weight = Weight::from_parts(4_000_000_000, 0); let fee = WeightToFee::weight_to_fee(&weight); @@ -160,16 +154,31 @@ fn test_buy_and_refund_weight_in_native() { let ctx = XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; let payment: Asset = (native_location.clone(), fee + extra_amount).into(); + // Withdraw from bob to create proper AssetsInHolding with imbalances + let bob_location: Location = + Junction::AccountId32 { network: None, id: bob.into() }.into(); + let payment_holding = + ::AssetTransactor::withdraw_asset( + &payment, + &bob_location, + Some(&ctx), + ) + .expect("Failed to withdraw payment"); + // init trader and buy weight. let mut trader = ::Trader::new(); let unused_asset = - trader.buy_weight(weight, payment.into(), &ctx).expect("Expected Ok"); + trader.buy_weight(weight, payment_holding, &ctx).expect("Expected Ok"); // assert. - let unused_amount = - unused_asset.fungible.get(&native_location.clone().into()).map_or(0, |a| *a); + let unused_amount = unused_asset + .fungible + .get(&native_location.clone().into()) + .map_or(0, |a| a.amount()); assert_eq!(unused_amount, extra_amount); - assert_eq!(Balances::total_issuance(), total_issuance); + + // Record total_issuance after withdraw for accurate final comparison + let total_issuance_after_withdraw = Balances::total_issuance(); // prepare input to refund weight. let refund_weight = Weight::from_parts(1_000_000_000, 0); @@ -177,7 +186,11 @@ fn test_buy_and_refund_weight_in_native() { // refund. let actual_refund = trader.refund_weight(refund_weight, &ctx).unwrap(); - assert_eq!(actual_refund, (native_location, refund).into()); + let actual_refund_amount = actual_refund + .fungible + .get(&native_location.clone().into()) + .map_or(0, |a| a.amount()); + assert_eq!(actual_refund_amount, refund); // assert. assert_eq!(Balances::balance(&staking_pot), initial_balance); @@ -185,7 +198,8 @@ fn test_buy_and_refund_weight_in_native() { // account. drop(trader); assert_eq!(Balances::balance(&staking_pot), initial_balance + fee - refund); - assert_eq!(Balances::total_issuance(), total_issuance + fee - refund); + // With imbalance accounting, total_issuance should match what it was after withdraw + assert_eq!(Balances::total_issuance(), total_issuance_after_withdraw); }) } @@ -243,11 +257,10 @@ fn test_buy_and_refund_weight_with_swap_local_asset_xcm_trader() { pool_liquidity, 1, 1, - bob, + bob.clone(), )); // keep initial total issuance to assert later. - let asset_total_issuance = Assets::total_issuance(asset_1); let native_total_issuance = Balances::total_issuance(); // prepare input to buy weight. @@ -259,16 +272,31 @@ fn test_buy_and_refund_weight_with_swap_local_asset_xcm_trader() { let ctx = XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; let payment: Asset = (asset_1_location.clone(), asset_fee + extra_amount).into(); + // Withdraw from bob to create proper AssetsInHolding with imbalances + let bob_location: Location = + Junction::AccountId32 { network: None, id: bob.into() }.into(); + let payment_holding = + ::AssetTransactor::withdraw_asset( + &payment, + &bob_location, + Some(&ctx), + ) + .expect("Failed to withdraw payment"); + // init trader and buy weight. let mut trader = ::Trader::new(); let unused_asset = - trader.buy_weight(weight, payment.into(), &ctx).expect("Expected Ok"); + trader.buy_weight(weight, payment_holding, &ctx).expect("Expected Ok"); // assert. - let unused_amount = - unused_asset.fungible.get(&asset_1_location.clone().into()).map_or(0, |a| *a); + let unused_amount = unused_asset + .fungible + .get(&asset_1_location.clone().into()) + .map_or(0, |a| a.amount()); assert_eq!(unused_amount, extra_amount); - assert_eq!(Assets::total_issuance(asset_1), asset_total_issuance + asset_fee); + + // Record total issuance after withdraw for accurate final comparison + let asset_total_issuance_after_withdraw = Assets::total_issuance(asset_1); // prepare input to refund weight. let refund_weight = Weight::from_parts(1_000_000_000, 0); @@ -283,7 +311,11 @@ fn test_buy_and_refund_weight_with_swap_local_asset_xcm_trader() { // refund. let actual_refund = trader.refund_weight(refund_weight, &ctx).unwrap(); - assert_eq!(actual_refund, (asset_1_location, asset_refund).into()); + let actual_refund_amount = actual_refund + .fungible + .get(&asset_1_location.clone().into()) + .map_or(0, |a| a.amount()); + assert_eq!(actual_refund_amount, asset_refund); // assert. assert_eq!(Balances::balance(&staking_pot), initial_balance); @@ -291,10 +323,8 @@ fn test_buy_and_refund_weight_with_swap_local_asset_xcm_trader() { // account. drop(trader); assert_eq!(Balances::balance(&staking_pot), initial_balance + fee - refund); - assert_eq!( - Assets::total_issuance(asset_1), - asset_total_issuance + asset_fee - asset_refund - ); + // With imbalance accounting, total_issuance should match what it was after withdraw + assert_eq!(Assets::total_issuance(asset_1), asset_total_issuance_after_withdraw); assert_eq!(Balances::total_issuance(), native_total_issuance); }) } @@ -354,11 +384,10 @@ fn test_buy_and_refund_weight_with_swap_foreign_asset_xcm_trader() { pool_liquidity, 1, 1, - bob, + bob.clone(), )); // keep initial total issuance to assert later. - let asset_total_issuance = ForeignAssets::total_issuance(foreign_location.clone()); let native_total_issuance = Balances::total_issuance(); // prepare input to buy weight. @@ -370,19 +399,32 @@ fn test_buy_and_refund_weight_with_swap_foreign_asset_xcm_trader() { let ctx = XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; let payment: Asset = (foreign_location.clone(), asset_fee + extra_amount).into(); + // Withdraw from bob to create proper AssetsInHolding with imbalances + let bob_location: Location = + Junction::AccountId32 { network: None, id: bob.into() }.into(); + let payment_holding = + ::AssetTransactor::withdraw_asset( + &payment, + &bob_location, + Some(&ctx), + ) + .expect("Failed to withdraw payment"); + // init trader and buy weight. let mut trader = ::Trader::new(); let unused_asset = - trader.buy_weight(weight, payment.into(), &ctx).expect("Expected Ok"); + trader.buy_weight(weight, payment_holding, &ctx).expect("Expected Ok"); // assert. - let unused_amount = - unused_asset.fungible.get(&foreign_location.clone().into()).map_or(0, |a| *a); + let unused_amount = unused_asset + .fungible + .get(&foreign_location.clone().into()) + .map_or(0, |a| a.amount()); assert_eq!(unused_amount, extra_amount); - assert_eq!( - ForeignAssets::total_issuance(foreign_location.clone()), - asset_total_issuance + asset_fee - ); + + // Record total issuance after withdraw for accurate final comparison + let asset_total_issuance_after_withdraw = + ForeignAssets::total_issuance(foreign_location.clone()); // prepare input to refund weight. let refund_weight = Weight::from_parts(1_000_000_000, 0); @@ -394,7 +436,11 @@ fn test_buy_and_refund_weight_with_swap_foreign_asset_xcm_trader() { // refund. let actual_refund = trader.refund_weight(refund_weight, &ctx).unwrap(); - assert_eq!(actual_refund, (foreign_location.clone(), asset_refund).into()); + let actual_refund_amount = actual_refund + .fungible + .get(&foreign_location.clone().into()) + .map_or(0, |a| a.amount()); + assert_eq!(actual_refund_amount, asset_refund); // assert. assert_eq!(Balances::balance(&staking_pot), initial_balance); @@ -402,9 +448,10 @@ fn test_buy_and_refund_weight_with_swap_foreign_asset_xcm_trader() { // account. drop(trader); assert_eq!(Balances::balance(&staking_pot), initial_balance + fee - refund); + // With imbalance accounting, total_issuance should match what it was after withdraw assert_eq!( ForeignAssets::total_issuance(foreign_location), - asset_total_issuance + asset_fee - asset_refund + asset_total_issuance_after_withdraw ); assert_eq!(Balances::total_issuance(), native_total_issuance); }) @@ -450,10 +497,40 @@ fn test_asset_xcm_take_first_trader_refund_not_possible_since_amount_less_than_e "we are testing what happens when the amount does not exceed ED" ); - let asset: Asset = (asset_location, amount_bought).into(); + let asset: Asset = (asset_location.clone(), amount_bought).into(); + + // Mint the asset to alice so we can withdraw it + // Need to mint at least ED to satisfy minimum balance requirement + let mint_amount = amount_bought.max(ExistentialDeposit::get() + 1); + assert_ok!(Assets::mint( + RuntimeHelper::origin_of(AccountId::from(ALICE)), + 1.into(), + AccountId::from(ALICE).into(), + mint_amount + )); - // Buy weight should return an error - assert_noop!(trader.buy_weight(bought, asset.into(), &ctx), XcmError::TooExpensive); + // Withdraw to create proper AssetsInHolding + let alice_location: Location = + Junction::AccountId32 { network: None, id: ALICE.into() }.into(); + let asset_holding = + ::AssetTransactor::withdraw_asset( + &asset, + &alice_location, + Some(&ctx), + ) + .expect("Failed to withdraw asset"); + + // Buy weight should return an error (asset is returned in error) + let result = trader.buy_weight(bought, asset_holding, &ctx); + assert!(result.is_err()); + if let Err((returned_asset, xcm_error)) = result { + assert_eq!(xcm_error, XcmError::TooExpensive); + // The asset should be returned (we minted mint_amount, so expect that back) + assert_eq!( + returned_asset.fungible.get(&asset_location.into()).map_or(0, |a| a.amount()), + mint_amount + ); + } // not credited since the ED is higher than this value assert_eq!(Assets::balance(1, AccountId::from(ALICE)), 0); @@ -507,10 +584,38 @@ fn test_asset_xcm_take_first_trader_not_possible_for_non_sufficient_assets() { let asset_location = AssetIdForTrustBackedAssetsConvert::convert_back(&1).unwrap(); - let asset: Asset = (asset_location, asset_amount_needed).into(); + let asset: Asset = (asset_location.clone(), asset_amount_needed).into(); - // Make sure again buy_weight does return an error - assert_noop!(trader.buy_weight(bought, asset.into(), &ctx), XcmError::TooExpensive); + // Mint additional asset to alice for this test + assert_ok!(Assets::mint( + RuntimeHelper::origin_of(AccountId::from(ALICE)), + 1.into(), + AccountId::from(ALICE).into(), + asset_amount_needed + )); + + // Withdraw to create proper AssetsInHolding + let alice_location: Location = + Junction::AccountId32 { network: None, id: ALICE.into() }.into(); + let asset_holding = + ::AssetTransactor::withdraw_asset( + &asset, + &alice_location, + Some(&ctx), + ) + .expect("Failed to withdraw asset"); + + // Make sure buy_weight returns an error (asset is returned in error) + let result = trader.buy_weight(bought, asset_holding, &ctx); + assert!(result.is_err()); + if let Err((returned_asset, xcm_error)) = result { + assert_eq!(xcm_error, XcmError::TooExpensive); + // The asset should be returned + assert_eq!( + returned_asset.fungible.get(&asset_location.into()).map_or(0, |a| a.amount()), + asset_amount_needed + ); + } // Drop trader drop(trader); @@ -571,16 +676,19 @@ fn test_nft_asset_transactor_works() { .appended_with(GeneralIndex(collection_id.into())) .unwrap(); let item_asset: Asset = - (collection_location, AssetInstance::Index(item_id.into())).into(); + (collection_location.clone(), AssetInstance::Index(item_id.into())).into(); let alice_account_location: Location = alice.clone().into(); let bob_account_location: Location = bob.clone().into(); - // Can't deposit the token that isn't withdrawn - assert_err!( - T::deposit_asset(&item_asset, &alice_account_location, Some(&ctx),), - XcmError::FailedToTransactAsset("AlreadyExists") + // Can't deposit the token that isn't withdrawn - create AssetsInHolding for NFT + let item_holding = AssetsInHolding::new_from_non_fungible( + collection_location.clone().into(), + AssetInstance::Index(item_id.into()), ); + let deposit_result = + T::deposit_asset(item_holding, &alice_account_location, Some(&ctx)); + assert!(matches!(deposit_result, Err((_, XcmError::FailedToTransactAsset(_))))); // Alice isn't the owner, she can't withdraw the token assert_noop!( @@ -589,7 +697,9 @@ fn test_nft_asset_transactor_works() { ); // Bob, the owner, can withdraw the token - assert_ok!(T::withdraw_asset(&item_asset, &bob_account_location, Some(&ctx),)); + let withdrawn_holding = + T::withdraw_asset(&item_asset, &bob_account_location, Some(&ctx)) + .expect("Withdraw should succeed"); // The token is withdrawn assert_eq!( @@ -612,8 +722,8 @@ fn test_nft_asset_transactor_works() { XcmError::FailedToTransactAsset("UnknownCollection") ); - // Deposit the token to alice - assert_ok!(T::deposit_asset(&item_asset, &alice_account_location, Some(&ctx),)); + // Deposit the token to alice using the withdrawn holding + assert_ok!(T::deposit_asset(withdrawn_holding, &alice_account_location, Some(&ctx),)); // The token is deposited assert_eq!( @@ -630,11 +740,14 @@ fn test_nft_asset_transactor_works() { Ok(attr_value.clone()), ); - // Can't deposit the token twice - assert_err!( - T::deposit_asset(&item_asset, &alice_account_location, Some(&ctx),), - XcmError::FailedToTransactAsset("AlreadyExists") + // Can't deposit the token twice - create new AssetsInHolding for NFT + let item_holding_again = AssetsInHolding::new_from_non_fungible( + collection_location.clone().into(), + AssetInstance::Index(item_id.into()), ); + let deposit_twice_result = + T::deposit_asset(item_holding_again, &alice_account_location, Some(&ctx)); + assert!(matches!(deposit_twice_result, Err((_, XcmError::FailedToTransactAsset(_))))); // Transfer the token directly assert_ok!(T::transfer_asset( @@ -1701,7 +1814,9 @@ fn withdraw_and_deposit_erc20s() { assert_ok!(Revive::map_account(RuntimeOrigin::signed(sender.clone()))); assert_ok!(Revive::map_account(RuntimeOrigin::signed(beneficiary.clone()))); - let code = ERC20_PVM.to_vec(); + let code = compile_module_with_type("MyToken", FixtureType::Resolc) + .expect("compile ERC20") + .0; let initial_amount_u256 = U256::from(1_000_000_000_000u128); let constructor_data = sol_data::Uint::<256>::abi_encode(&initial_amount_u256); @@ -1875,7 +1990,9 @@ fn smart_contract_does_not_return_bool_fails() { assert_ok!(Revive::map_account(RuntimeOrigin::signed(beneficiary.clone()))); // This contract implements the ERC20 interface for `transfer` except it returns a uint256. - let code = FAKE_ERC20_PVM.to_vec(); + let code = compile_module_with_type("MyTokenFake", FixtureType::Resolc) + .expect("compile ERC20") + .0; let initial_amount_u256 = U256::from(1_000_000_000_000u128); let constructor_data = sol_data::Uint::<256>::abi_encode(&initial_amount_u256); @@ -1934,7 +2051,9 @@ fn expensive_erc20_runs_out_of_gas() { assert_ok!(Revive::map_account(RuntimeOrigin::signed(beneficiary.clone()))); // This contract does a lot more storage writes in `transfer`. - let code = EXPENSIVE_ERC20_PVM.to_vec(); + let code = compile_module_with_type("MyTokenExpensive", FixtureType::Resolc) + .expect("compile ERC20") + .0; let initial_amount_u256 = U256::from(1_000_000_000_000u128); let constructor_data = sol_data::Uint::<256>::abi_encode(&initial_amount_u256); @@ -1966,3 +2085,297 @@ fn expensive_erc20_runs_out_of_gas() { .is_err()); }); } + +#[test] +fn exchange_asset_success() { + exchange_asset_on_asset_hub_works::< + Runtime, + RuntimeCall, + RuntimeOrigin, + Block, + ForeignAssetsInstance, + >( + collator_session_keys(), + ASSET_HUB_ID, + AccountId::from(ALICE), + WestendLocation::get(), + true, + 500 * UNITS, + 665 * UNITS, + None, + ); +} + +#[test] +fn exchange_asset_insufficient_liquidity() { + let log_capture = capture_test_logs!({ + exchange_asset_on_asset_hub_works::< + Runtime, + RuntimeCall, + RuntimeOrigin, + Block, + ForeignAssetsInstance, + >( + collator_session_keys(), + ASSET_HUB_ID, + AccountId::from(ALICE), + WestendLocation::get(), + true, + 1_000 * UNITS, + 2_000 * UNITS, + Some(xcm::v5::InstructionError { index: 1, error: xcm::v5::Error::NoDeal }), + ); + }); + assert!(log_capture.contains("NoDeal")); +} + +#[test] +fn exchange_asset_insufficient_balance() { + let log_capture = capture_test_logs!({ + exchange_asset_on_asset_hub_works::< + Runtime, + RuntimeCall, + RuntimeOrigin, + Block, + ForeignAssetsInstance, + >( + collator_session_keys(), + ASSET_HUB_ID, + AccountId::from(ALICE), + WestendLocation::get(), + true, + 5_000 * UNITS, // This amount will be greater than initial balance + 1_665 * UNITS, + Some(xcm::v5::InstructionError { + index: 0, + error: xcm::v5::Error::FailedToTransactAsset(""), + }), + ); + }); + assert!(log_capture.contains("Funds are unavailable")); +} + +#[test] +fn exchange_asset_pool_not_created() { + exchange_asset_on_asset_hub_works::< + Runtime, + RuntimeCall, + RuntimeOrigin, + Block, + ForeignAssetsInstance, + >( + collator_session_keys(), + ASSET_HUB_ID, + AccountId::from(ALICE), + WestendLocation::get(), + false, // Pool not created + 500 * UNITS, + 665 * UNITS, + Some(xcm::v5::InstructionError { index: 1, error: xcm::v5::Error::NoDeal }), + ); +} + +#[test] +fn exchange_asset_from_penpal_via_asset_hub_back_to_penpal() { + exchange_asset_on_asset_hub_works::< + Runtime, + RuntimeCall, + RuntimeOrigin, + Block, + ForeignAssetsInstance, + >( + collator_session_keys(), + ASSET_HUB_ID, + AccountId::from(ALICE), + WestendLocation::get(), + true, + 100_000_000_000u128, + 1_000_000_000u128, + None, + ); +} + +/// Verify that AssetHub's `RelayChainSessionKeys` is compatible with Westend's `SessionKeys`. +#[test] +fn session_keys_are_compatible_between_ah_and_rc() { + use asset_hub_westend_runtime::staking::RelayChainSessionKeys; + + // Verify the key type IDs match in order. + // This ensures that when keys are encoded on AssetHub and decoded on Westend (or vice versa), + // they map to the correct key types. + assert_eq!( + RelayChainSessionKeys::key_ids(), + westend_runtime::SessionKeys::key_ids(), + "Session key type IDs must match between AssetHub and Westend" + ); +} + +#[test] +fn staking_proxy_can_manage_staking_operator() { + use asset_hub_westend_runtime::ProxyType; + use frame_support::traits::InstanceFilter; + + // GIVEN: Staking proxy type + let staking_proxy = ProxyType::Staking; + + // WHEN: checking if Staking can add/remove StakingOperator proxies + let add_call = RuntimeCall::Proxy(pallet_proxy::Call::add_proxy { + delegate: AccountId::from(BOB).into(), + proxy_type: ProxyType::StakingOperator, + delay: 0, + }); + let remove_call = RuntimeCall::Proxy(pallet_proxy::Call::remove_proxy { + delegate: AccountId::from(BOB).into(), + proxy_type: ProxyType::StakingOperator, + delay: 0, + }); + + // THEN: Staking proxy can manage StakingOperator proxies and is its superset + assert!(staking_proxy.filter(&add_call)); + assert!(staking_proxy.filter(&remove_call)); + assert!(staking_proxy.is_superset(&ProxyType::StakingOperator)); +} + +/// Verifies StakingOperator filter allows validator operations and session key management, +/// but forbids fund management. +#[test] +fn staking_operator_filter_allows_validator_ops_and_session_keys() { + use asset_hub_westend_runtime::ProxyType; + use frame_support::traits::InstanceFilter; + use pallet_staking_async::{Call as StakingCall, RewardDestination, ValidatorPrefs}; + use pallet_staking_async_rc_client::Call as RcClientCall; + + let operator = ProxyType::StakingOperator; + + // StakingOperator can perform validator operations + assert!(operator + .filter(&RuntimeCall::Staking(StakingCall::validate { prefs: ValidatorPrefs::default() }))); + assert!(operator.filter(&RuntimeCall::Staking(StakingCall::chill {}))); + assert!(operator.filter(&RuntimeCall::Staking(StakingCall::kick { who: vec![] }))); + + // StakingOperator can manage session keys + assert!(operator.filter(&RuntimeCall::StakingRcClient(RcClientCall::set_keys { + keys: Default::default(), + proof: Default::default(), + max_delivery_and_remote_execution_fee: None, + }))); + assert!(operator.filter(&RuntimeCall::StakingRcClient(RcClientCall::purge_keys { + max_delivery_and_remote_execution_fee: None, + }))); + + // StakingOperator can batch operations + assert!(operator.filter(&RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![] }))); + + // StakingOperator cannot manage funds or nominations + assert!(!operator.filter(&RuntimeCall::Staking(StakingCall::bond { + value: 100, + payee: RewardDestination::Staked + }))); + assert!(!operator.filter(&RuntimeCall::Staking(StakingCall::unbond { value: 100 }))); + assert!(!operator.filter(&RuntimeCall::Staking(StakingCall::nominate { targets: vec![] }))); + assert!(!operator.filter(&RuntimeCall::Staking(StakingCall::set_payee { + payee: RewardDestination::Staked + }))); +} + +/// Test that a pure proxy stash can delegate to a StakingOperator +/// who can then call validate, chill, and manage session keys. +#[test] +fn pure_proxy_stash_can_delegate_to_staking_operator() { + use asset_hub_westend_runtime::ProxyType; + + let controller: AccountId = ALICE.into(); + let operator: AccountId = BOB.into(); + + ExtBuilder::::default() + .with_collators(vec![AccountId::from(ALICE)]) + .with_session_keys(vec![( + AccountId::from(ALICE), + AccountId::from(ALICE), + SessionKeys { aura: AuraId::from(sp_core::sr25519::Public::from_raw(ALICE)) }, + )]) + .build() + .execute_with(|| { + // GIVEN: fund controller and operator + assert_ok!(Balances::mint_into(&controller, 100 * UNITS)); + assert_ok!(Balances::mint_into(&operator, 100 * UNITS)); + + // WHEN: controller creates a pure proxy stash with Staking proxy type + assert_ok!(Proxy::create_pure( + RuntimeOrigin::signed(controller.clone()), + ProxyType::Staking, + 0, + 0 + )); + let pure_stash = Proxy::pure_account(&controller, &ProxyType::Staking, 0, None); + + // Fund the pure proxy stash + assert_ok!(Balances::mint_into(&pure_stash, 100 * UNITS)); + + // WHEN: controller (via Staking proxy) adds StakingOperator proxy for the operator + let add_operator_call = RuntimeCall::Proxy(pallet_proxy::Call::add_proxy { + delegate: operator.clone().into(), + proxy_type: ProxyType::StakingOperator, + delay: 0, + }); + assert_ok!(Proxy::proxy( + RuntimeOrigin::signed(controller.clone()), + pure_stash.clone().into(), + None, + Box::new(add_operator_call), + )); + + // THEN: operator can call chill on behalf of pure proxy stash + let chill_call = RuntimeCall::Staking(pallet_staking_async::Call::chill {}); + assert_ok!(Proxy::proxy( + RuntimeOrigin::signed(operator.clone()), + pure_stash.clone().into(), + None, + Box::new(chill_call), + )); + + // THEN: operator can call validate on behalf of pure proxy stash + let validate_call = RuntimeCall::Staking(pallet_staking_async::Call::validate { + prefs: Default::default(), + }); + assert_ok!(Proxy::proxy( + RuntimeOrigin::signed(operator.clone()), + pure_stash.clone().into(), + None, + Box::new(validate_call), + )); + + // THEN: operator can call purge_keys (session key management on AssetHub) + let purge_keys_call = + RuntimeCall::StakingRcClient(pallet_staking_async_rc_client::Call::purge_keys { + max_delivery_and_remote_execution_fee: None, + }); + assert_ok!(Proxy::proxy( + RuntimeOrigin::signed(operator.clone()), + pure_stash.clone().into(), + None, + Box::new(purge_keys_call), + )); + + // THEN: operator CANNOT call bond (fund management is forbidden) + // Note: Proxy::proxy returns Ok(()) even when the proxied call fails due to filter. + // The actual result is emitted as a ProxyExecuted event. + let bond_call = RuntimeCall::Staking(pallet_staking_async::Call::bond { + value: 10 * UNITS, + payee: pallet_staking_async::RewardDestination::Staked, + }); + assert_ok!(Proxy::proxy( + RuntimeOrigin::signed(operator.clone()), + pure_stash.clone().into(), + None, + Box::new(bond_call), + )); + // Check that the proxied call failed due to filter (CallFiltered error) + System::assert_last_event( + pallet_proxy::Event::ProxyExecuted { + result: Err(frame_system::Error::::CallFiltered.into()), + } + .into(), + ); + }); +} diff --git a/cumulus/parachains/runtimes/assets/common/src/erc20_transactor.rs b/cumulus/parachains/runtimes/assets/common/src/erc20_transactor.rs index e766f903cce37..7982b20b4a7c9 100644 --- a/cumulus/parachains/runtimes/assets/common/src/erc20_transactor.rs +++ b/cumulus/parachains/runtimes/assets/common/src/erc20_transactor.rs @@ -16,9 +16,19 @@ //! The ERC20 Asset Transactor. +use alloc::boxed::Box; use core::marker::PhantomData; use ethereum_standards::IERC20; -use frame_support::traits::{fungible::Inspect, OriginTrait}; +use frame_support::{ + defensive_assert, + traits::{ + fungible::Inspect, + tokens::imbalance::{ + ImbalanceAccounting, UnsafeConstructorDestructor, UnsafeManualAccounting, + }, + OriginTrait, + }, +}; use frame_system::pallet_prelude::OriginFor; use pallet_revive::{ precompiles::alloy::{ @@ -60,6 +70,42 @@ pub struct ERC20Transactor< )>, ); +/// A minimal imbalance tracking type that holds an ERC20 token amount. +/// +/// This type implements the necessary imbalance accounting traits but does not perform +/// runtime-level balance enforcement. It's used to track ERC20 token amounts within XCM +/// asset holdings, where the actual balance constraints are enforced by the ERC20 smart +/// contract itself rather than the runtime. +struct Erc20Credit(u128); +impl UnsafeConstructorDestructor for Erc20Credit { + fn unsafe_clone(&self) -> Box> { + Box::new(Erc20Credit(self.0)) + } + fn forget_imbalance(&mut self) -> u128 { + let amount = self.0; + self.0 = 0; + amount + } +} + +impl UnsafeManualAccounting for Erc20Credit { + fn saturating_subsume(&mut self, mut other: Box>) { + let amount = other.forget_imbalance(); + self.0 = self.0.saturating_add(amount); + } +} + +impl ImbalanceAccounting for Erc20Credit { + fn amount(&self) -> u128 { + self.0 + } + fn saturating_take(&mut self, amount: u128) -> Box> { + let new = self.0.min(amount); + self.0 = self.0 - new; + Box::new(Erc20Credit(new)) + } +} + impl< AccountId: Eq + Clone, T: pallet_revive::Config, @@ -131,7 +177,7 @@ where deposit_limit: StorageDepositLimit::get(), }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); // We need to return this surplus for the executor to allow refunding it. let surplus = weight_limit.saturating_sub(weight_consumed); @@ -148,7 +194,13 @@ where })?; if is_success { tracing::trace!(target: "xcm::transactor::erc20::withdraw", "ERC20 contract was successful"); - Ok((what.clone().into(), surplus)) + Ok(( + AssetsInHolding::new_from_fungible_credit( + what.id.clone(), + Box::new(Erc20Credit(amount)), + ), + surplus, + )) } else { tracing::debug!(target: "xcm::transactor::erc20::withdraw", "contract transfer failed"); Err(XcmError::FailedToTransactAsset("ERC20 contract transfer failed")) @@ -163,18 +215,36 @@ where } } + /// Deposits assets from holding to a beneficiary account via ERC20 transfer. + /// + /// Note: This implementation only handles a single fungible asset at a time. The + /// `AssetsInHolding` parameter is required by the `TransactAsset` trait, but callers + /// should ensure only one asset is passed. If multiple assets are present, only the + /// first fungible asset will be deposited and the rest will be silently ignored. + /// The `defensive_assert!` helps catch misuse during development. fn deposit_asset_with_surplus( - what: &Asset, + what: AssetsInHolding, who: &Location, _context: Option<&XcmContext>, - ) -> Result { + ) -> Result { tracing::trace!( target: "xcm::transactor::erc20::deposit", ?what, ?who, ); - let (asset_id, amount) = Matcher::matches_fungibles(what)?; - let who = AccountIdConverter::convert_location(who) - .ok_or(MatchError::AccountIdConversionFailed)?; + defensive_assert!(what.len() == 1, "Trying to deposit more than one asset!"); + // Check we handle this asset. + let maybe = what + .fungible_assets_iter() + .next() + .and_then(|asset| Matcher::matches_fungibles(&asset).ok()); + let (asset_contract_id, amount) = match maybe { + Some(inner) => inner, + None => return Err((what, MatchError::AssetNotHandled.into())), + }; + let who = match AccountIdConverter::convert_location(who) { + Some(inner) => inner, + None => return Err((what, MatchError::AccountIdConversionFailed.into())), + }; // We need to map the 32 byte beneficiary account to a 20 byte account. let eth_address = T::AddressMapper::to_address(&who); let address = Address::from(Into::<[u8; 20]>::into(eth_address)); @@ -185,14 +255,14 @@ where let ContractResult { result, weight_consumed, storage_deposit, .. } = pallet_revive::Pallet::::bare_call( OriginFor::::signed(TransfersCheckingAccount::get()), - asset_id, + asset_contract_id, U256::zero(), TransactionLimits::WeightAndDeposit { weight_limit, deposit_limit: StorageDepositLimit::get(), }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); // We need to return this surplus for the executor to allow refunding it. let surplus = weight_limit.saturating_sub(weight_consumed); @@ -201,18 +271,29 @@ where tracing::trace!(target: "xcm::transactor::erc20::deposit", ?return_value, "Return value"); if return_value.did_revert() { tracing::debug!(target: "xcm::transactor::erc20::deposit", "Contract reverted"); - Err(XcmError::FailedToTransactAsset("ERC20 contract reverted")) + Err((what, XcmError::FailedToTransactAsset("ERC20 contract reverted"))) } else { - let is_success = IERC20::transferCall::abi_decode_returns_validate(&return_value.data).map_err(|error| { - tracing::debug!(target: "xcm::transactor::erc20::deposit", ?error, "ERC20 contract result couldn't decode"); - XcmError::FailedToTransactAsset("ERC20 contract result couldn't decode") - })?; - if is_success { - tracing::trace!(target: "xcm::transactor::erc20::deposit", "ERC20 contract was successful"); - Ok(surplus) - } else { - tracing::debug!(target: "xcm::transactor::erc20::deposit", "contract transfer failed"); - Err(XcmError::FailedToTransactAsset("ERC20 contract transfer failed")) + match IERC20::transferCall::abi_decode_returns_validate(&return_value.data) { + Ok(true) => { + tracing::trace!(target: "xcm::transactor::erc20::deposit", "ERC20 contract was successful"); + Ok(surplus) + }, + Ok(false) => { + tracing::debug!(target: "xcm::transactor::erc20::deposit", "contract transfer failed"); + Err(( + what, + XcmError::FailedToTransactAsset("ERC20 contract transfer failed"), + )) + }, + Err(error) => { + tracing::debug!(target: "xcm::transactor::erc20::deposit", ?error, "ERC20 contract result couldn't decode"); + Err(( + what, + XcmError::FailedToTransactAsset( + "ERC20 contract result couldn't decode", + ), + )) + }, } } } else { @@ -220,7 +301,7 @@ where // This error could've been duplicate smart contract, out of gas, etc. // If the issue is gas, there's nothing the user can change in the XCM // that will make this work since there's a hardcoded gas limit. - Err(XcmError::FailedToTransactAsset("ERC20 contract execution errored")) + Err((what, XcmError::FailedToTransactAsset("ERC20 contract execution errored"))) } } } diff --git a/cumulus/parachains/runtimes/assets/common/src/foreign_creators.rs b/cumulus/parachains/runtimes/assets/common/src/foreign_creators.rs index 2bb69d6234fee..2af9f6f679dc0 100644 --- a/cumulus/parachains/runtimes/assets/common/src/foreign_creators.rs +++ b/cumulus/parachains/runtimes/assets/common/src/foreign_creators.rs @@ -46,7 +46,7 @@ where let origin_location = EnsureXcm::::try_origin(origin.clone())?; if !IsForeign::contains(asset_location, &origin_location) { tracing::trace!(target: "xcm::try_origin", ?asset_location, ?origin_location, "ForeignCreators: no match"); - return Err(origin) + return Err(origin); } let latest_location: Location = origin_location.clone().try_into().map_err(|_| origin.clone())?; diff --git a/cumulus/parachains/runtimes/assets/common/src/matching.rs b/cumulus/parachains/runtimes/assets/common/src/matching.rs index 5d338ef78f136..d5ab3b687e95a 100644 --- a/cumulus/parachains/runtimes/assets/common/src/matching.rs +++ b/cumulus/parachains/runtimes/assets/common/src/matching.rs @@ -58,8 +58,9 @@ impl, L: TryFrom + TryInto + Clone + // here we check if sibling match a.unpack() { - (1, interior) => - matches!(interior.first(), Some(Parachain(sibling_para_id)) if sibling_para_id.ne(&u32::from(SelfParaId::get()))), + (1, interior) => { + matches!(interior.first(), Some(Parachain(sibling_para_id)) if sibling_para_id.ne(&u32::from(SelfParaId::get()))) + }, _ => false, } } diff --git a/cumulus/parachains/runtimes/assets/common/src/migrations.rs b/cumulus/parachains/runtimes/assets/common/src/migrations.rs index 181839817ae08..e137a719fe655 100644 --- a/cumulus/parachains/runtimes/assets/common/src/migrations.rs +++ b/cumulus/parachains/runtimes/assets/common/src/migrations.rs @@ -113,12 +113,13 @@ pub mod foreign_assets_reserves { // At first, start migrating assets. None => Self::asset_step(None), // Migrate any remaining assets. - Some(MigrationState::Asset(maybe_last_asset)) => - Self::asset_step(Some(maybe_last_asset)), + Some(MigrationState::Asset(maybe_last_asset)) => { + Self::asset_step(Some(maybe_last_asset)) + }, // After the last asset, migration is finished. Some(MigrationState::Finished) => { tracing::info!(target: "runtime::ForeignAssetsReservesMigration", "migration finished"); - return Ok(None) + return Ok(None); }, }; @@ -175,14 +176,24 @@ pub mod foreign_assets_reserves { target: "runtime::ForeignAssetsReservesMigration::asset_step", ?asset_id, ?reserves, "updating reserves for" ); - if let Err(e) = pallet_assets::Pallet::::unchecked_update_reserves( - asset_id.clone(), - reserves, - ) { - tracing::error!( - target: "runtime::ForeignAssetsReservesMigration::asset_step", - ?e, ?asset_id, "failed migrating reserves for asset" - ); + match reserves.try_into() { + Ok(bounded_reserves) => { + if let Err(e) = pallet_assets::Pallet::::unchecked_update_reserves( + asset_id.clone(), + bounded_reserves, + ) { + tracing::error!( + target: "runtime::ForeignAssetsReservesMigration::asset_step", + ?e, ?asset_id, "failed migrating reserves for asset" + ); + } + }, + Err(_) => { + tracing::error!( + target: "runtime::ForeignAssetsReservesMigration::asset_step", + ?asset_id, "too many reserves for asset" + ); + }, } MigrationState::Asset(asset_id) } else { diff --git a/cumulus/parachains/runtimes/assets/test-utils/src/lib.rs b/cumulus/parachains/runtimes/assets/test-utils/src/lib.rs index a84850c652be7..249dba3eb260e 100644 --- a/cumulus/parachains/runtimes/assets/test-utils/src/lib.rs +++ b/cumulus/parachains/runtimes/assets/test-utils/src/lib.rs @@ -73,8 +73,9 @@ pub(crate) fn assert_matches_reserve_asset_deposited_instructions - Ok(()), + DepositAsset { assets: _, beneficiary } if beneficiary == expected_beneficiary => { + Ok(()) + }, _ => Err(ProcessMessageError::BadFormat), }) .expect("expected instruction DepositAsset"); diff --git a/cumulus/parachains/runtimes/assets/test-utils/src/test_cases.rs b/cumulus/parachains/runtimes/assets/test-utils/src/test_cases.rs index fb531afef27a2..7f8869134793f 100644 --- a/cumulus/parachains/runtimes/assets/test-utils/src/test_cases.rs +++ b/cumulus/parachains/runtimes/assets/test-utils/src/test_cases.rs @@ -22,10 +22,11 @@ use codec::Encode; use core::ops::Mul; use cumulus_primitives_core::{UpwardMessageSender, XcmpMessageSource}; use frame_support::{ - assert_noop, assert_ok, + assert_err_ignore_postinfo, assert_noop, assert_ok, traits::{ - fungible::Mutate, fungibles::InspectEnumerable, Currency, Get, OnFinalize, OnInitialize, - OriginTrait, + fungible::Mutate, + fungibles::{Inspect, InspectEnumerable, Mutate as FungiblesMutate}, + Currency, Get, OnFinalize, OnInitialize, OriginTrait, }, weights::Weight, }; @@ -516,7 +517,7 @@ pub fn teleports_for_foreign_assets_works< >::set_reserves( RuntimeHelper::::origin_of(asset_owner.into()), foreign_asset_id_location.clone().into(), - vec![foreign_asset_reserve_data], + vec![foreign_asset_reserve_data].try_into().unwrap(), ) ); @@ -1599,8 +1600,9 @@ pub fn reserve_transfer_native_asset_to_non_teleport_para_works< .into_iter() .filter_map(|e| unwrap_xcmp_queue_event(e.event.encode())) .find_map(|e| match e { - cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { message_hash } => - Some(message_hash), + cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { message_hash } => { + Some(message_hash) + }, _ => None, }); @@ -1927,3 +1929,187 @@ pub fn xcm_payment_api_foreign_asset_pool_works< assert_eq!(execution_fees, expected_weight_foreign_asset_fee); }); } + +pub fn exchange_asset_on_asset_hub_works< + Runtime, + RuntimeCall, + RuntimeOrigin, + Block, + ForeignAssetsPalletInstance, +>( + collator_session_key: CollatorSessionKeys, + runtime_para_id: u32, + account: AccountId, + native_asset_location: Location, + create_pool: bool, + give_amount: Balance, + want_amount: Balance, + expected_error: Option, +) where + Runtime: XcmPaymentApiV2 + + frame_system::Config + + pallet_balances::Config + + pallet_assets::Config< + ForeignAssetsPalletInstance, + AssetId = xcm::v5::Location, + Balance = ::Balance, + > + pallet_asset_conversion::Config< + AssetKind = xcm::v5::Location, + Balance = ::Balance, + > + pallet_session::Config + + pallet_timestamp::Config + + pallet_xcm::Config + + parachain_info::Config + + pallet_collator_selection::Config + + cumulus_pallet_parachain_system::Config, + ValidatorIdOf: From>, + RuntimeOrigin: OriginTrait::AccountId>, + <::Lookup as StaticLookup>::Source: + From<::AccountId>, + Block: BlockT, + ForeignAssetsPalletInstance: 'static, +{ + const UNITS: Balance = 1_000_000_000_000; + + ExtBuilder::::default() + .with_collators(collator_session_key.collators()) + .with_session_keys(collator_session_key.session_keys()) + .with_para_id(runtime_para_id.into()) + .with_tracing() + .build() + .execute_with(|| { + let native_asset_id = xcm::v5::AssetId(native_asset_location.clone()); + let origin = RuntimeOrigin::signed(account.clone()); + let asset_location: Location = Location::new(1, [Parachain(2001)]); + let asset_id = xcm::v5::AssetId(asset_location.clone()); + + let mut total_balance_needed = Balance::from(1_000 * UNITS); + if expected_error.is_none() { + total_balance_needed = total_balance_needed.saturating_add(Balance::from(give_amount)); + } else if give_amount > 1_000_000_000_000u128 * 3 { + total_balance_needed = total_balance_needed + .saturating_add(Balance::from(give_amount).saturating_sub(Balance::from(give_amount / 2))); + } else { + total_balance_needed = total_balance_needed.saturating_add(Balance::from(give_amount)); + } + assert_ok!( as Mutate<_>>::mint_into( + &account, + total_balance_needed + )); + + assert_ok!(pallet_assets::Pallet::::force_create( + RuntimeOrigin::root(), + asset_location.clone().into(), + ::Lookup::unlookup(account.clone()), + true, + 1 + )); + + if create_pool { + assert_ok!(pallet_assets::Pallet::::mint_into( + asset_location.clone(), + &account, + 10_000_000_000_000 + )); + + let native_v5 = xcm::v5::Location::try_from(native_asset_location.clone()) + .expect("conversion works"); + let asset_v5 = xcm::v5::Location::try_from(asset_location.clone()) + .expect("conversion works"); + + assert_ok!(pallet_asset_conversion::Pallet::::create_pool( + RuntimeOrigin::signed(account.clone()), + Box::new(native_v5.clone()), + Box::new(asset_v5.clone()), + )); + assert_ok!(pallet_asset_conversion::Pallet::::add_liquidity( + RuntimeOrigin::signed(account.clone()), + Box::new(native_v5.clone()), + Box::new(asset_v5.clone()), + 1_000_000_000_000, + 2_000_000_000_000, + 0, + 0, + account.clone(), + )); + } + + let foreign_balance_before = pallet_assets::Pallet::::balance(asset_location.clone().into(), &account); + let native_balance_before = pallet_balances::Pallet::::total_balance(&account); + let foreign_issuance_before = pallet_assets::Pallet::::total_issuance(asset_location.clone()); + let native_issuance_before = pallet_balances::Pallet::::total_issuance(); + + let want_amount_min = if create_pool && expected_error.is_none() { + let native_v5 = xcm::v5::Location::try_from(native_asset_location.clone()) + .expect("conversion works"); + let asset_v5 = xcm::v5::Location::try_from(asset_location.clone()) + .expect("conversion works"); + pallet_asset_conversion::Pallet::::quote_price_exact_tokens_for_tokens( + native_v5, + asset_v5, + give_amount, + true, + ) + .map(|quoted| (quoted * 90) / 100) + .unwrap_or(want_amount) + } else { + want_amount + }; + + let give: Assets = (native_asset_id, give_amount).into(); + let want: Assets = (asset_id, want_amount_min).into(); + let xcm = Xcm(vec![ + WithdrawAsset(give.clone().into()), + ExchangeAsset { give: give.into(), want: want.into(), maximal: true }, + DepositAsset { assets: Wild(All), beneficiary: account.clone().into() }, + ]); + + let result = pallet_xcm::Pallet::::execute( + origin, + xcm::VersionedXcm::from(xcm).into(), + Weight::MAX + ); + + let foreign_balance_after = pallet_assets::Pallet::::balance(asset_location.clone().into(), &account); + let native_balance_after = pallet_balances::Pallet::::total_balance(&account); + + if let Some(xcm::v5::InstructionError { index, error }) = expected_error { + assert_err_ignore_postinfo!( + result, + pallet_xcm::Error::::LocalExecutionIncompleteWithError { + index, + error: error.into() + } + ); + assert_eq!( + foreign_balance_after, foreign_balance_before, + "Foreign balance changed unexpectedly: got {foreign_balance_after}, expected {foreign_balance_before}" + ); + assert_eq!( + native_balance_after, native_balance_before, + "Native balance changed unexpectedly: got {native_balance_after}, expected {native_balance_before}" + ); + } else { + assert_ok!(result); + assert!( + foreign_balance_after >= foreign_balance_before + want_amount_min, + "Expected foreign balance to increase by at least {want_amount_min} units, got {foreign_balance_after} from {foreign_balance_before}" + ); + assert_eq!( + native_balance_after, native_balance_before - give_amount, + "Expected WND balance to decrease by {give_amount} units, got {native_balance_after} from {native_balance_before}" + ); + } + let foreign_issuance_after = pallet_assets::Pallet::::total_issuance(asset_location.into()); + let native_issuance_after = pallet_balances::Pallet::::total_issuance(); + assert_eq!( + foreign_issuance_before, foreign_issuance_after, + "Unexpected foreign total issuance change" + ); + assert_eq!( + native_issuance_before, native_issuance_after, + "Unexpected native total issuance change" + ); + assert!(native_issuance_after > 0); + }); +} diff --git a/cumulus/parachains/runtimes/assets/test-utils/src/test_cases_over_bridge.rs b/cumulus/parachains/runtimes/assets/test-utils/src/test_cases_over_bridge.rs index f922beacd68d6..eecf26961f438 100644 --- a/cumulus/parachains/runtimes/assets/test-utils/src/test_cases_over_bridge.rs +++ b/cumulus/parachains/runtimes/assets/test-utils/src/test_cases_over_bridge.rs @@ -220,8 +220,9 @@ pub fn limited_reserve_transfer_assets_for_native_asset_works< .into_iter() .filter_map(|e| unwrap_xcmp_queue_event(e.event.encode())) .find_map(|e| match e { - cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { message_hash } => - Some(message_hash), + cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { message_hash } => { + Some(message_hash) + }, _ => None, }); @@ -268,7 +269,9 @@ pub fn limited_reserve_transfer_assets_for_native_asset_works< // explicit unpaid execution on BridgeHub) UnpaidExecution { weight_limit, check_origin } if weight_limit == &Unlimited && check_origin.is_none() => - Ok(()), + { + Ok(()) + }, _ => Err(ProcessMessageError::BadFormat), }) .expect("contains UnpaidExecution") @@ -414,7 +417,7 @@ pub fn receive_reserve_asset_deposited_from_different_consensus_works< foreign_asset_owner ), foreign_asset_id_location.clone().into(), - vec![foreign_asset_reserve_data], + vec![foreign_asset_reserve_data].try_into().unwrap(), ) ); diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/lib.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/lib.rs index f61813c49a2f2..4b67a7a44631c 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/lib.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/lib.rs @@ -252,7 +252,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: alloc::borrow::Cow::Borrowed("bridge-hub-rococo"), impl_name: alloc::borrow::Cow::Borrowed("bridge-hub-rococo"), authoring_version: 1, - spec_version: 1_020_002, + spec_version: 1_021_001, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 6, @@ -267,8 +267,12 @@ pub fn native_version() -> NativeVersion { parameter_types! { pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -806,8 +810,8 @@ impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -1088,6 +1092,7 @@ impl_runtime_apis! { ) -> Result, alloc::string::String> { use frame_benchmarking::{BenchmarkBatch, BenchmarkError}; use sp_storage::TrackedStorageKey; + use codec::Encode; use frame_system_benchmarking::Pallet as SystemBench; use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench; @@ -1103,7 +1108,14 @@ impl_runtime_apis! { } use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - impl cumulus_pallet_session_benchmarking::Config for Runtime {} + impl cumulus_pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } + + impl pallet_transaction_payment::BenchmarkConfig for Runtime {} use xcm::latest::prelude::*; use xcm_config::TokenLocation; @@ -1178,15 +1190,15 @@ impl_runtime_apis! { fn valid_destination() -> Result { Ok(AssetHubLocation::get()) } - fn worst_case_holding(_depositable_count: u32) -> Assets { + fn worst_case_holding(_depositable_count: u32) -> xcm_executor::AssetsInHolding { + use pallet_xcm_benchmarks::MockCredit; // just concrete assets according to relay chain. - let assets: Vec = vec![ - Asset { - id: AssetId(TokenLocation::get()), - fun: Fungible(1_000_000 * UNITS), - } - ]; - assets.into() + let mut holding = xcm_executor::AssetsInHolding::new(); + holding.fungible.insert( + AssetId(TokenLocation::get()), + alloc::boxed::Box::new(MockCredit(1_000_000 * UNITS)), + ); + holding } } diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/xcm/mod.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/xcm/mod.rs index 21708ec743821..ad4bf6d925811 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/xcm/mod.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/xcm/mod.rs @@ -44,8 +44,9 @@ impl WeighAssets for AssetFilter { WildFungibility::Fungible => weight, // Magic number 2 has to do with the fact that we could have up to 2 times // MaxAssetsIntoHolding in the worst-case scenario. - WildFungibility::NonFungible => - weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64), + WildFungibility::NonFungible => { + weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64) + }, }, AllCounted(count) => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), AllOfCounted { count, .. } => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/xcm_config.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/xcm_config.rs index 8a661ed53236e..d85a9de4b6180 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/xcm_config.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/xcm_config.rs @@ -58,7 +58,7 @@ use xcm_builder::{ }; use xcm_executor::{ traits::{FeeManager, FeeReason, FeeReason::Export}, - XcmExecutor, + AssetsInHolding, XcmExecutor, }; parameter_types! { @@ -218,7 +218,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = PolkadotXcm; type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; @@ -318,13 +317,13 @@ impl, FeeHandler: HandleFee> FeeManager let Some(loc) = origin else { return false }; if let Export { network, destination: Here } = fee_reason { if network == EthereumNetwork::get().into() { - return false + return false; } } WaivedLocations::contains(loc) } - fn handle_fee(fee: Assets, context: Option<&XcmContext>, reason: FeeReason) { + fn handle_fee(fee: AssetsInHolding, context: Option<&XcmContext>, reason: FeeReason) { FeeHandler::handle_fee(fee, context, reason); } } diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/tests/tests.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/tests/tests.rs index 1d5be2a9f537a..86fde3d020cf5 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/tests/tests.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/tests/tests.rs @@ -316,6 +316,7 @@ mod bridge_hub_westend_tests { Runtime, XcmConfig, WithBridgeHubWestendMessagesInstance, + bridge_hub_rococo_runtime::xcm_config::LocationToAccountId, >( collator_session_keys(), bp_bridge_hub_rococo::BRIDGE_HUB_ROCOCO_PARACHAIN_ID, @@ -596,6 +597,7 @@ mod bridge_hub_bulletin_tests { Runtime, XcmConfig, WithRococoBulletinMessagesInstance, + bridge_hub_rococo_runtime::xcm_config::LocationToAccountId, >( collator_session_keys(), bp_bridge_hub_rococo::BRIDGE_HUB_ROCOCO_PARACHAIN_ID, diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/bridge_to_ethereum_config.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/bridge_to_ethereum_config.rs index 384cc7cd84ba0..770ee4c9a22f6 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/bridge_to_ethereum_config.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/bridge_to_ethereum_config.rs @@ -31,7 +31,9 @@ use pallet_xcm::EnsureXcm; use parachains_common::{AccountId, Balance}; use snowbridge_beacon_primitives::{Fork, ForkVersions}; use snowbridge_core::{gwei, meth, AllowSiblingsOnly, PricingParameters, Rewards}; -use snowbridge_inbound_queue_primitives::v2::CreateAssetCallInfo; +use snowbridge_inbound_queue_primitives::v2::{ + CreateAssetCallInfo, MessageToXcm, XcmMessageProcessor as InboundXcmMessageProcessor, +}; use snowbridge_outbound_queue_primitives::{ v1::{ConstantGasMeter, EthereumBlobExporter}, v2::{ConstantGasMeter as ConstantGasMeterV2, EthereumBlobExporter as EthereumBlobExporterV2}, @@ -98,6 +100,7 @@ parameter_types! { set_reserves_call: SetReservesCallIndex::get(), }; pub SnowbridgeFrontendLocation: Location = Location::new(1, [Parachain(ASSET_HUB_ID), PalletInstance(FRONTEND_PALLET_INDEX)]); + pub TargetLocation: Location = Location::new(1, [Parachain(AssetHubParaId::get().into())]); } impl snowbridge_pallet_inbound_queue::Config for Runtime { @@ -130,20 +133,11 @@ impl snowbridge_pallet_inbound_queue::Config for Runtime { type AssetTransactor = ::AssetTransactor; } -impl snowbridge_pallet_inbound_queue_v2::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Verifier = EthereumBeaconClient; - #[cfg(not(feature = "runtime-benchmarks"))] - type XcmSender = crate::XcmRouter; - #[cfg(feature = "runtime-benchmarks")] - type XcmSender = benchmark_helpers::DoNothingRouter; - type GatewayAddress = EthereumGatewayAddress; - #[cfg(feature = "runtime-benchmarks")] - type Helper = Runtime; - type WeightInfo = crate::weights::snowbridge_pallet_inbound_queue_v2::WeightInfo; - type AssetHubParaId = AssetHubParaId; - type XcmExecutor = XcmExecutor; - type MessageConverter = snowbridge_inbound_queue_primitives::v2::MessageToXcm< +pub type XcmMessageProcessor = InboundXcmMessageProcessor< + Runtime, + crate::XcmRouter, + XcmExecutor, + MessageToXcm< CreateAssetCall, EthereumNetwork, RelayNetwork, @@ -152,14 +146,28 @@ impl snowbridge_pallet_inbound_queue_v2::Config for Runtime { AssetHubParaId, EthereumSystem, AccountId, - >; - type AccountToLocation = xcm_builder::AliasesIntoAccountId32< + >, + xcm_builder::AliasesIntoAccountId32< xcm_config::RelayNetwork, ::AccountId, - >; + >, + TargetLocation, +>; + +impl snowbridge_pallet_inbound_queue_v2::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Verifier = EthereumBeaconClient; + type GatewayAddress = EthereumGatewayAddress; + type WeightInfo = crate::weights::snowbridge_pallet_inbound_queue_v2::WeightInfo; + #[cfg(feature = "runtime-benchmarks")] + type MessageProcessor = benchmark_helpers::DummyXcmProcessor; + #[cfg(not(feature = "runtime-benchmarks"))] + type MessageProcessor = XcmMessageProcessor; type RewardKind = BridgeReward; type DefaultRewardKind = SnowbridgeReward; type RewardPayment = BridgeRelayers; + #[cfg(feature = "runtime-benchmarks")] + type Helper = Runtime; } impl snowbridge_pallet_outbound_queue::Config for Runtime { @@ -300,8 +308,9 @@ pub struct AllowFromEthereumFrontend; impl Contains for AllowFromEthereumFrontend { fn contains(location: &Location) -> bool { match location.unpack() { - (1, [Parachain(para_id), PalletInstance(index)]) => - return *para_id == ASSET_HUB_ID && *index == FRONTEND_PALLET_INDEX, + (1, [Parachain(para_id), PalletInstance(index)]) => { + return *para_id == ASSET_HUB_ID && *index == FRONTEND_PALLET_INDEX + }, _ => false, } } @@ -321,21 +330,30 @@ impl snowbridge_pallet_system_v2::Config for Runtime { #[cfg(feature = "runtime-benchmarks")] pub mod benchmark_helpers { use crate::{ - bridge_to_ethereum_config::EthereumGatewayAddress, vec, EthereumBeaconClient, Runtime, - RuntimeOrigin, System, + bridge_to_ethereum_config::{ + CreateAssetCall, EthereumGatewayAddress, InboundQueueV2Location, TargetLocation, + }, + vec, + xcm_config::{RelayNetwork, XcmConfig}, + EthereumBeaconClient, EthereumSystem, Runtime, RuntimeOrigin, System, }; use codec::Encode; use frame_support::assert_ok; use hex_literal::hex; use snowbridge_beacon_primitives::BeaconHeader; - use snowbridge_inbound_queue_primitives::EventFixture; + use snowbridge_inbound_queue_primitives::{ + v2::{MessageToXcm, XcmMessageProcessor as InboundXcmMessageProcessor}, + EventFixture, + }; use snowbridge_pallet_inbound_queue::BenchmarkHelper; use snowbridge_pallet_inbound_queue_fixtures::register_token::make_register_token_message; use snowbridge_pallet_inbound_queue_v2::BenchmarkHelper as InboundQueueBenchmarkHelperV2; use snowbridge_pallet_inbound_queue_v2_fixtures::register_token::make_register_token_message as make_register_token_message_v2; use snowbridge_pallet_outbound_queue_v2::BenchmarkHelper as OutboundQueueBenchmarkHelperV2; use sp_core::H256; + use testnet_parachains_constants::westend::snowbridge::{AssetHubParaId, EthereumNetwork}; use xcm::latest::{Assets, Location, SendError, SendResult, SendXcm, Xcm, XcmHash}; + use xcm_executor::XcmExecutor; impl BenchmarkHelper for Runtime { fn initialize_storage() -> EventFixture { @@ -392,6 +410,27 @@ pub mod benchmark_helpers { } } + pub type DummyXcmProcessor = InboundXcmMessageProcessor< + Runtime, + DoNothingRouter, + XcmExecutor, + MessageToXcm< + CreateAssetCall, + EthereumNetwork, + RelayNetwork, + EthereumGatewayAddress, + InboundQueueV2Location, + AssetHubParaId, + EthereumSystem, + ::AccountId, + >, + xcm_builder::AliasesIntoAccountId32< + RelayNetwork, + ::AccountId, + >, + TargetLocation, + >; + impl snowbridge_pallet_system::BenchmarkHelper for () { fn make_xcm_origin(location: Location) -> RuntimeOrigin { RuntimeOrigin::from(pallet_xcm::Origin::Xcm(location)) diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/lib.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/lib.rs index 65ca1b2a4b49d..95483c44d0c70 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/lib.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/lib.rs @@ -50,6 +50,8 @@ use sp_runtime::{ transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, }; + +use sp_session::OpaqueGeneratedSessionKeys; #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; @@ -242,7 +244,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: alloc::borrow::Cow::Borrowed("bridge-hub-westend"), impl_name: alloc::borrow::Cow::Borrowed("bridge-hub-westend"), authoring_version: 1, - spec_version: 1_020_002, + spec_version: 1_021_001, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 6, @@ -258,7 +260,10 @@ pub fn native_version() -> NativeVersion { parameter_types! { pub const Version: RuntimeVersion = VERSION; pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { *m = NORMAL_DISPATCH_RATIO * *m; }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -757,8 +762,8 @@ impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -1028,6 +1033,7 @@ impl_runtime_apis! { ) -> Result, alloc::string::String> { use frame_benchmarking::{BenchmarkBatch, BenchmarkError}; use sp_storage::TrackedStorageKey; + use codec::Encode; use frame_system_benchmarking::Pallet as SystemBench; use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench; @@ -1043,7 +1049,14 @@ impl_runtime_apis! { } use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - impl cumulus_pallet_session_benchmarking::Config for Runtime {} + impl cumulus_pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } + + impl pallet_transaction_payment::BenchmarkConfig for Runtime {} use xcm::latest::prelude::*; use xcm_config::WestendLocation; @@ -1118,15 +1131,15 @@ impl_runtime_apis! { fn valid_destination() -> Result { Ok(AssetHubLocation::get()) } - fn worst_case_holding(_depositable_count: u32) -> Assets { + fn worst_case_holding(_depositable_count: u32) -> xcm_executor::AssetsInHolding { + use pallet_xcm_benchmarks::MockCredit; // just assets according to relay chain. - let assets: Vec = vec![ - Asset { - id: AssetId(WestendLocation::get()), - fun: Fungible(1_000_000 * UNITS), - } - ]; - assets.into() + let mut holding = xcm_executor::AssetsInHolding::new(); + holding.fungible.insert( + AssetId(WestendLocation::get()), + alloc::boxed::Box::new(MockCredit(1_000_000 * UNITS)), + ); + holding } } diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/xcm/mod.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/xcm/mod.rs index 3706bfe22a3c8..eec6b5bf8c8b3 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/xcm/mod.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/xcm/mod.rs @@ -45,8 +45,9 @@ impl WeighAssets for AssetFilter { WildFungibility::Fungible => weight, // Magic number 2 has to do with the fact that we could have up to 2 times // MaxAssetsIntoHolding in the worst-case scenario. - WildFungibility::NonFungible => - weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64), + WildFungibility::NonFungible => { + weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64) + }, }, AllCounted(count) => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), AllOfCounted { count, .. } => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/xcm_config.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/xcm_config.rs index d1b1e78ef8343..781f0c77d4859 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/xcm_config.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/xcm_config.rs @@ -229,7 +229,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = PolkadotXcm; type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/tests/tests.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/tests/tests.rs index 4b5a60a11bf1f..5caeb7ff54e83 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/tests/tests.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/tests/tests.rs @@ -254,6 +254,7 @@ fn handle_export_message_from_system_parachain_add_to_outbound_queue_works() { Runtime, XcmConfig, WithBridgeHubRococoMessagesInstance, + LocationToAccountId, >( collator_session_keys(), bp_bridge_hub_westend::BRIDGE_HUB_WESTEND_PARACHAIN_ID, diff --git a/cumulus/parachains/runtimes/bridge-hubs/common/src/barriers.rs b/cumulus/parachains/runtimes/bridge-hubs/common/src/barriers.rs index 6b5dee3de3842..218df0e8d5f0e 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/common/src/barriers.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/common/src/barriers.rs @@ -42,13 +42,14 @@ where ) -> Result<(), ProcessMessageError> { // This barrier only cares about messages with `origin` matching `FromOrigin`. if !FromOrigin::contains(origin) { - return Ok(()) + return Ok(()); } message.matcher().match_next_inst_while( |_| true, |inst| match inst { - ExportMessage { network, .. } if ToGlobalConsensus::contains(network) => - Err(ProcessMessageError::Unsupported), + ExportMessage { network, .. } if ToGlobalConsensus::contains(network) => { + Err(ProcessMessageError::Unsupported) + }, _ => Ok(ControlFlow::Continue(())), }, )?; diff --git a/cumulus/parachains/runtimes/bridge-hubs/common/src/message_queue.rs b/cumulus/parachains/runtimes/bridge-hubs/common/src/message_queue.rs index a258b0bd4451e..6f4c7060bd075 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/common/src/message_queue.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/common/src/message_queue.rs @@ -122,8 +122,9 @@ where ) -> Result { use AggregateMessageOrigin::*; match origin { - Here | Parent | Sibling(_) => - XcmpProcessor::process_message(message, origin, meter, id), + Here | Parent | Sibling(_) => { + XcmpProcessor::process_message(message, origin, meter, id) + }, Snowbridge(_) => SnowbridgeProcessor::process_message(message, origin, meter, id), SnowbridgeV2(_) => Err(ProcessMessageError::Unsupported), } @@ -155,8 +156,9 @@ where ) -> Result { use AggregateMessageOrigin::*; match origin { - Here | Parent | Sibling(_) => - XcmpProcessor::process_message(message, origin, meter, id), + Here | Parent | Sibling(_) => { + XcmpProcessor::process_message(message, origin, meter, id) + }, Snowbridge(_) => SnowbridgeProcessor::process_message(message, origin, meter, id), SnowbridgeV2(_) => SnowbridgeProcessorV2::process_message(message, origin, meter, id), } diff --git a/cumulus/parachains/runtimes/bridge-hubs/test-utils/src/test_cases/mod.rs b/cumulus/parachains/runtimes/bridge-hubs/test-utils/src/test_cases/mod.rs index ce2b78990dce1..2e2b3c289a7f7 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/test-utils/src/test_cases/mod.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/test-utils/src/test_cases/mod.rs @@ -36,7 +36,7 @@ use codec::Encode; use frame_support::{ assert_ok, dispatch::GetDispatchInfo, - traits::{Contains, Get, OnFinalize, OnInitialize, OriginTrait}, + traits::{fungible::Mutate, Contains, Get, OnFinalize, OnInitialize, OriginTrait}, }; use frame_system::pallet_prelude::BlockNumberFor; use parachains_common::AccountId; @@ -48,7 +48,7 @@ use sp_runtime::{traits::Zero, AccountId32}; use xcm::{latest::prelude::*, AlwaysLatest}; use xcm_builder::DispatchBlobError; use xcm_executor::{ - traits::{ConvertLocation, TransactAsset, WeightBounds}, + traits::{ConvertLocation, WeightBounds}, XcmExecutor, }; @@ -315,6 +315,7 @@ pub fn handle_export_message_from_system_parachain_to_outbound_queue_works< Runtime, XcmConfig, MessagesPalletInstance, + LocationToAccountId, >( collator_session_key: CollatorSessionKeys, runtime_para_id: u32, @@ -323,13 +324,14 @@ pub fn handle_export_message_from_system_parachain_to_outbound_queue_works< dyn Fn(Vec) -> Option>, >, export_message_instruction: fn() -> Instruction, - existential_deposit: Option, + _existential_deposit: Option, maybe_paid_export_message: Option, prepare_configuration: impl Fn() -> LaneIdOf, ) where Runtime: BasicParachainRuntime + BridgeMessagesConfig, XcmConfig: xcm_executor::Config, MessagesPalletInstance: 'static, + LocationToAccountId: ConvertLocation>, { assert_ne!(runtime_para_id, sibling_parachain_id); let sibling_parachain_location = Location::new(1, [Parachain(sibling_parachain_id)]); @@ -352,22 +354,25 @@ pub fn handle_export_message_from_system_parachain_to_outbound_queue_works< // prepare `ExportMessage` let xcm = if let Some(fee) = maybe_paid_export_message { - // deposit ED to origin (if needed) - if let Some(ed) = existential_deposit { - XcmConfig::AssetTransactor::deposit_asset( - &ed, - &sibling_parachain_location, - Some(&XcmContext::with_message_id([0; 32])), - ) - .expect("deposited ed"); - } - // deposit fee to origin - XcmConfig::AssetTransactor::deposit_asset( - &fee, - &sibling_parachain_location, - Some(&XcmContext::with_message_id([0; 32])), - ) - .expect("deposited fee"); + // Pre-fund the sibling parachain's sovereign account with the fee + // We need to convert the location to an account and mint funds + let sibling_account = + LocationToAccountId::convert_location(&sibling_parachain_location) + .expect("valid location conversion"); + + // Extract the amount from the fee asset + let fee_amount = if let Fungibility::Fungible(amount) = fee.fun { + amount + } else { + panic!("Expected fungible asset for fee"); + }; + + // Mint the fee amount to the sibling account using the runtime's Balances pallet + let balance_amount: BalanceOf = fee_amount + .try_into() + .unwrap_or_else(|_| panic!("Failed to convert fee amount to balance")); + >::mint_into(&sibling_account, balance_amount) + .expect("minting should succeed"); Xcm(vec![ WithdrawAsset(Assets::from(vec![fee.clone()])), diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/ambassador/mod.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/ambassador/mod.rs index 9711a34589de8..6025dc8eea8c9 100644 --- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/ambassador/mod.rs +++ b/cumulus/parachains/runtimes/collectives/collectives-westend/src/ambassador/mod.rs @@ -237,7 +237,7 @@ parameter_types! { /// [`PayOverXcm`] setup to pay the Ambassador salary on the AssetHub in WND. pub type AmbassadorSalaryPaymaster = PayOverXcm< AmbassadorSalaryLocation, - crate::xcm_config::XcmRouter, + crate::xcm_config::XcmConfig, crate::PolkadotXcm, ConstU32<{ 6 * HOURS }>, AccountId, diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/ambassador/tracks.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/ambassador/tracks.rs index aa1f67d18afe4..56638c41c5f82 100644 --- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/ambassador/tracks.rs +++ b/cumulus/parachains/runtimes/collectives/collectives-westend/src/ambassador/tracks.rs @@ -262,7 +262,7 @@ impl pallet_referenda::TracksInfo for TracksInfo { // It is important that this is not available in production! let root: Self::RuntimeOrigin = frame_system::RawOrigin::Root.into(); if &root == id { - return Ok(constants::MASTER_AMBASSADOR_TIER_9) + return Ok(constants::MASTER_AMBASSADOR_TIER_9); } } diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/fellowship/mod.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/fellowship/mod.rs index ceadc131c384e..50d0342f65a3c 100644 --- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/fellowship/mod.rs +++ b/cumulus/parachains/runtimes/collectives/collectives-westend/src/fellowship/mod.rs @@ -227,7 +227,7 @@ const USDT_UNITS: u128 = 1_000_000; /// [`PayOverXcm`] setup to pay the Fellowship salary on the AssetHub in USDT. pub type FellowshipSalaryPaymaster = PayOverXcm< Interior, - crate::xcm_config::XcmRouter, + crate::xcm_config::XcmConfig, crate::PolkadotXcm, ConstU32<{ 6 * HOURS }>, AccountId, @@ -274,7 +274,7 @@ parameter_types! { /// [`PayOverXcm`] setup to pay the Fellowship Treasury. pub type FellowshipTreasuryPaymaster = PayOverXcm< FellowshipTreasuryInteriorLocation, - crate::xcm_config::XcmRouter, + crate::xcm_config::XcmConfig, crate::PolkadotXcm, ConstU32<{ 6 * HOURS }>, VersionedLocation, diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/fellowship/tracks.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/fellowship/tracks.rs index 6c3c88935dd22..4d568924d84b2 100644 --- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/fellowship/tracks.rs +++ b/cumulus/parachains/runtimes/collectives/collectives-westend/src/fellowship/tracks.rs @@ -500,7 +500,7 @@ impl pallet_referenda::TracksInfo for TracksInfo { // It is important that this is not available in production! let root: Self::RuntimeOrigin = frame_system::RawOrigin::Root.into(); if &root == id { - return Ok(tracks::GRAND_MASTERS) + return Ok(tracks::GRAND_MASTERS); } } diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/impls.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/impls.rs index ed5d4870e4a6d..f301ca23ccdb3 100644 --- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/impls.rs +++ b/cumulus/parachains/runtimes/collectives/collectives-westend/src/impls.rs @@ -92,7 +92,7 @@ pub struct EqualOrGreatestRootCmp; impl PrivilegeCmp for EqualOrGreatestRootCmp { fn cmp_privilege(left: &OriginCaller, right: &OriginCaller) -> Option { if left == right { - return Some(Ordering::Equal) + return Some(Ordering::Equal); } match (left, right) { // Root is greater than anything. diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/lib.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/lib.rs index d1f0577c70497..e076f17c04ccc 100644 --- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/lib.rs +++ b/cumulus/parachains/runtimes/collectives/collectives-westend/src/lib.rs @@ -130,7 +130,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: alloc::borrow::Cow::Borrowed("collectives-westend"), impl_name: alloc::borrow::Cow::Borrowed("collectives-westend"), authoring_version: 1, - spec_version: 1_020_001, + spec_version: 1_021_001, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 6, @@ -151,8 +151,12 @@ pub type RootOrAllianceTwoThirdsMajority = EitherOfDiverse< parameter_types! { pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -947,8 +951,8 @@ impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -1147,7 +1151,15 @@ impl_runtime_apis! { } use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - impl cumulus_pallet_session_benchmarking::Config for Runtime {} + impl cumulus_pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } + + impl pallet_transaction_payment::BenchmarkConfig for Runtime {} + use xcm_config::WndLocation; use testnet_parachains_constants::westend::locations::{AssetHubParaId, AssetHubLocation}; @@ -1221,15 +1233,15 @@ impl_runtime_apis! { fn valid_destination() -> Result { Ok(AssetHubLocation::get()) } - fn worst_case_holding(_depositable_count: u32) -> Assets { + fn worst_case_holding(_depositable_count: u32) -> xcm_executor::AssetsInHolding { + use pallet_xcm_benchmarks::MockCredit; // just concrete assets according to relay chain. - let assets: Vec = vec![ - Asset { - id: AssetId(WndLocation::get()), - fun: Fungible(1_000_000 * UNITS), - } - ]; - assets.into() + let mut holding = xcm_executor::AssetsInHolding::new(); + holding.fungible.insert( + AssetId(WndLocation::get()), + alloc::boxed::Box::new(MockCredit(1_000_000 * UNITS)), + ); + holding } } diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/secretary/mod.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/secretary/mod.rs index 3ff98ee9c53cb..a9d70ec3fceb3 100644 --- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/secretary/mod.rs +++ b/cumulus/parachains/runtimes/collectives/collectives-westend/src/secretary/mod.rs @@ -93,7 +93,7 @@ const USDT_UNITS: u128 = 1_000_000; /// [`PayOverXcm`] setup to pay the Secretary salary on the AssetHub in USDT. pub type SecretarySalaryPaymaster = PayOverXcm< SecretarySalaryInteriorLocation, - crate::xcm_config::XcmRouter, + crate::xcm_config::XcmConfig, crate::PolkadotXcm, ConstU32<{ 6 * HOURS }>, AccountId, diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/xcm/mod.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/xcm/mod.rs index 7c44ce449383f..fa7f07044a1b8 100644 --- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/xcm/mod.rs +++ b/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/xcm/mod.rs @@ -44,8 +44,9 @@ impl WeighAssets for AssetFilter { WildFungibility::Fungible => weight, // Magic number 2 has to do with the fact that we could have up to 2 times // MaxAssetsIntoHolding in the worst-case scenario. - WildFungibility::NonFungible => - weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64), + WildFungibility::NonFungible => { + weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64) + }, }, AllCounted(count) => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), AllOfCounted { count, .. } => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/xcm_config.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/xcm_config.rs index b3a7f2bd9af05..273c12f6f6025 100644 --- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/xcm_config.rs +++ b/cumulus/parachains/runtimes/collectives/collectives-westend/src/xcm_config.rs @@ -23,7 +23,7 @@ use frame_support::{ parameter_types, traits::{ fungible::HoldConsideration, tokens::imbalance::ResolveTo, ConstU32, Contains, Equals, - Everything, LinearStoragePrice, Nothing, + Everything, LinearStoragePrice, Nothing, PalletInfoAccess, }, }; use frame_system::EnsureRoot; @@ -63,6 +63,14 @@ parameter_types! { pub UniversalLocation: InteriorLocation = [GlobalConsensus(RelayNetwork::get().unwrap()), Parachain(ParachainInfo::parachain_id().into())].into(); pub RelayTreasuryLocation: Location = (Parent, PalletInstance(westend_runtime_constants::TREASURY_PALLET_ID)).into(); + pub FellowshipTreasuryLocation: Location = + PalletInstance(::index() as u8).into(); + pub FellowshipSalaryLocation: Location = + PalletInstance(::index() as u8).into(); + pub SecretarySalaryLocation: Location = + PalletInstance(::index() as u8).into(); + pub AmbassadorSalaryLocation: Location = + PalletInstance(::index() as u8).into(); pub CheckingAccount: AccountId = PolkadotXcm::check_account(); pub const FellowshipAdminBodyId: BodyId = BodyId::Index(xcm_constants::body::FELLOWSHIP_ADMIN_INDEX); pub AssetHub: Location = (Parent, Parachain(ASSET_HUB_ID)).into(); @@ -190,6 +198,10 @@ pub type Barrier = TrailingSetTopicAsId< pub type WaivedLocations = ( RelayOrOtherSystemParachains, Equals, + Equals, + Equals, + Equals, + Equals, Equals, LocalPlurality, ); @@ -238,7 +250,6 @@ impl xcm_executor::Config for XcmConfig { >; type ResponseHandler = PolkadotXcm; type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/lib.rs b/cumulus/parachains/runtimes/contracts/contracts-rococo/src/lib.rs similarity index 51% rename from cumulus/parachains/runtimes/people/people-rococo/src/lib.rs rename to cumulus/parachains/runtimes/contracts/contracts-rococo/src/lib.rs index 6bca7ae65a65e..f2d6afc4a6432 100644 --- a/cumulus/parachains/runtimes/people/people-rococo/src/lib.rs +++ b/cumulus/parachains/runtimes/contracts/contracts-rococo/src/lib.rs @@ -1,130 +1,128 @@ // Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. // -// http://www.apache.org/licenses/LICENSE-2.0 +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. // -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! # Contracts Parachain +//! +//! A parachain for using FRAME's `pallet-contracts` and ink! contracts. #![cfg_attr(not(feature = "std"), no_std)] #![recursion_limit = "256"] + +// Make the WASM binary available. #[cfg(feature = "std")] include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); -mod genesis_config_presets; -pub mod people; +mod contracts; mod weights; -pub mod xcm_config; +mod xcm_config; extern crate alloc; use alloc::{vec, vec::Vec}; -use codec::{Decode, DecodeWithMemTracking, Encode, MaxEncodedLen}; use cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases; -use cumulus_primitives_core::{AggregateMessageOrigin, ParaId}; +use cumulus_primitives_core::AggregateMessageOrigin; +use sp_api::impl_runtime_apis; +use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; +use sp_runtime::{ + create_runtime_str, generic, impl_opaque_keys, + traits::Block as BlockT, + transaction_validity::{TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, Perbill, +}; + +#[cfg(feature = "std")] +use sp_version::NativeVersion; +use sp_version::RuntimeVersion; + use frame_support::{ construct_runtime, derive_impl, dispatch::DispatchClass, genesis_builder_helper::{build_state, get_preset}, parameter_types, - traits::{ - ConstBool, ConstU32, ConstU64, ConstU8, EitherOfDiverse, Everything, InstanceFilter, - TransformOrigin, - }, - weights::{ConstantMultiplier, Weight}, + traits::{ConstBool, ConstU32, ConstU64, ConstU8}, + weights::{ConstantMultiplier, Weight, WeightToFee as _}, PalletId, }; -use frame_system::{ - limits::{BlockLength, BlockWeights}, - EnsureRoot, -}; -use pallet_xcm::{EnsureXcm, IsVoiceOfBody}; +use frame_system::limits::{BlockLength, BlockWeights}; +pub use parachains_common as common; use parachains_common::{ - impls::DealWithFees, - message_queue::{NarrowOriginToSibling, ParaIdToSibling}, - AccountId, Balance, BlockNumber, Hash, Header, Nonce, Signature, AVERAGE_ON_INITIALIZE_RATIO, - NORMAL_DISPATCH_RATIO, + impls::DealWithFees, message_queue::*, AccountId, BlockNumber, Hash, Header, Nonce, Signature, + AVERAGE_ON_INITIALIZE_RATIO, NORMAL_DISPATCH_RATIO, }; -use polkadot_runtime_common::{identity_migrator, BlockHashCount, SlowAdjustingFeeUpdate}; -use sp_api::impl_runtime_apis; -pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; -#[cfg(any(feature = "std", test))] -pub use sp_runtime::BuildStorage; -use sp_runtime::{ - generic, impl_opaque_keys, - traits::{BlakeTwo256, Block as BlockT}, - transaction_validity::{TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, -}; -pub use sp_runtime::{MultiAddress, Perbill, Permill}; -#[cfg(feature = "std")] -use sp_version::NativeVersion; -use sp_version::RuntimeVersion; +pub use parachains_common::{AuraId, Balance}; use testnet_parachains_constants::rococo::{consensus::*, currency::*, fee::WeightToFee, time::*}; -use weights::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight}; -use xcm::{prelude::*, Version as XcmVersion}; -use xcm_config::{ - FellowshipLocation, GovernanceLocation, PriceForSiblingParachainDelivery, XcmConfig, - XcmOriginToTransactDispatchOrigin, -}; +use xcm::prelude::*; +use xcm_config::CollatorSelectionUpdateOrigin; use xcm_runtime_apis::{ dry_run::{CallDryRunEffects, Error as XcmDryRunApiError, XcmDryRunEffects}, fees::Error as XcmPaymentApiError, }; -/// The address format for describing accounts. -pub type Address = MultiAddress; +#[cfg(any(feature = "std", test))] +pub use sp_runtime::BuildStorage; + +// Polkadot imports +use polkadot_runtime_common::{BlockHashCount, SlowAdjustingFeeUpdate}; + +use weights::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight}; +/// The address format for describing accounts. +pub type Address = sp_runtime::MultiAddress; /// Block type as expected by this runtime. pub type Block = generic::Block; - -/// A Block signed with an [`sp_runtime::Justification`]. +/// A Block signed with a Justification pub type SignedBlock = generic::SignedBlock; - /// BlockId type as expected by this runtime. pub type BlockId = generic::BlockId; - -/// The TransactionExtension to the basic transaction logic. -pub type TxExtension = cumulus_pallet_weight_reclaim::StorageWeightReclaim< - Runtime, - ( - frame_system::AuthorizeCall, - frame_system::CheckNonZeroSender, - frame_system::CheckSpecVersion, - frame_system::CheckTxVersion, - frame_system::CheckGenesis, - frame_system::CheckEra, - frame_system::CheckNonce, - frame_system::CheckWeight, - pallet_transaction_payment::ChargeTransactionPayment, - ), ->; - +/// The SignedExtension to the basic transaction logic. +pub type SignedExtra = ( + frame_system::CheckNonZeroSender, + frame_system::CheckSpecVersion, + frame_system::CheckTxVersion, + frame_system::CheckGenesis, + frame_system::CheckEra, + frame_system::CheckNonce, + frame_system::CheckWeight, + pallet_transaction_payment::ChargeTransactionPayment, + cumulus_primitives_storage_weight_reclaim::StorageWeightReclaim, +); /// Unchecked extrinsic type as expected by this runtime. pub type UncheckedExtrinsic = - generic::UncheckedExtrinsic; + generic::UncheckedExtrinsic; /// Migrations to apply on runtime upgrade. pub type Migrations = ( + pallet_collator_selection::migration::v1::MigrateToV1, pallet_collator_selection::migration::v2::MigrationToV2, + cumulus_pallet_parachain_system::migration::Migration, + cumulus_pallet_xcmp_queue::migration::v2::MigrationToV2, + cumulus_pallet_xcmp_queue::migration::v3::MigrationToV3, + pallet_contracts::Migration, + // unreleased + cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4, cumulus_pallet_xcmp_queue::migration::v5::MigrateV4ToV5, - pallet_session::migrations::v1::MigrateV0ToV1< - Runtime, - pallet_session::migrations::v1::InitOffenceSeverity, - >, // permanent pallet_xcm::migration::MigrateToLatestXcmVersion, - cumulus_pallet_aura_ext::migration::MigrateV0ToV1, ); +type EventRecord = frame_system::EventRecord< + ::RuntimeEvent, + ::Hash, +>; + /// Executive: handles dispatch to the various modules. pub type Executive = frame_executive::Executive< Runtime, @@ -132,6 +130,7 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, + Migrations, >; impl_opaque_keys! { @@ -142,14 +141,14 @@ impl_opaque_keys! { #[sp_version::runtime_version] pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: alloc::borrow::Cow::Borrowed("people-rococo"), - impl_name: alloc::borrow::Cow::Borrowed("people-rococo"), + spec_name: create_runtime_str!("contracts-rococo"), + impl_name: create_runtime_str!("contracts-rococo"), authoring_version: 1, - spec_version: 1_020_001, + spec_version: 1_021_001, impl_version: 0, apis: RUNTIME_API_VERSIONS, - transaction_version: 1, - system_version: 1, + transaction_version: 7, + state_version: 1, }; /// The version information used to identify this runtime when compiled natively. @@ -160,8 +159,12 @@ pub fn native_version() -> NativeVersion { parameter_types! { pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -183,9 +186,9 @@ parameter_types! { pub const SS58Prefix: u8 = 42; } +// Configure FRAME pallets to include in runtime. #[derive_impl(frame_system::config_preludes::ParaChainDefaultConfig)] impl frame_system::Config for Runtime { - type BaseCallFilter = Everything; type BlockWeights = RuntimeBlockWeights; type BlockLength = RuntimeBlockLength; type AccountId = AccountId; @@ -196,17 +199,10 @@ impl frame_system::Config for Runtime { type DbWeight = RocksDbWeight; type Version = Version; type AccountData = pallet_balances::AccountData; - type SystemWeightInfo = weights::frame_system::WeightInfo; - type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo; + type SystemWeightInfo = frame_system::weights::SubstrateWeight; type SS58Prefix = SS58Prefix; type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; type MaxConsumers = ConstU32<16>; - type MultiBlockMigrator = MultiBlockMigrations; - type SingleBlockMigrations = Migrations; -} - -impl cumulus_pallet_weight_reclaim::Config for Runtime { - type WeightInfo = weights::cumulus_pallet_weight_reclaim::WeightInfo; } impl pallet_timestamp::Config for Runtime { @@ -214,7 +210,7 @@ impl pallet_timestamp::Config for Runtime { type Moment = u64; type OnTimestampSet = Aura; type MinimumPeriod = ConstU64<0>; - type WeightInfo = weights::pallet_timestamp::WeightInfo; + type WeightInfo = pallet_timestamp::weights::SubstrateWeight; } impl pallet_authorship::Config for Runtime { @@ -227,24 +223,24 @@ parameter_types! { } impl pallet_balances::Config for Runtime { + type MaxLocks = ConstU32<50>; + /// The type for recording an account's balance. type Balance = Balance; - type DustRemoval = (); + /// The ubiquitous event type. type RuntimeEvent = RuntimeEvent; + type DustRemoval = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; - type WeightInfo = weights::pallet_balances::WeightInfo; - type MaxLocks = ConstU32<50>; + type WeightInfo = pallet_balances::weights::SubstrateWeight; type MaxReserves = ConstU32<50>; type ReserveIdentifier = [u8; 8]; - type RuntimeFreezeReason = RuntimeFreezeReason; type RuntimeHoldReason = RuntimeHoldReason; + type RuntimeFreezeReason = RuntimeFreezeReason; type FreezeIdentifier = (); type MaxFreezes = ConstU32<0>; - type DoneSlashHandler = (); } parameter_types! { - /// Relay Chain `TransactionByteFee` / 10. pub const TransactionByteFee: Balance = MILLICENTS; } @@ -252,32 +248,55 @@ impl pallet_transaction_payment::Config for Runtime { type RuntimeEvent = RuntimeEvent; type OnChargeTransaction = pallet_transaction_payment::FungibleAdapter>; - type OperationalFeeMultiplier = ConstU8<5>; type WeightToFee = WeightToFee; + /// Relay Chain `TransactionByteFee` / 10 type LengthToFee = ConstantMultiplier; type FeeMultiplierUpdate = SlowAdjustingFeeUpdate; - type WeightInfo = weights::pallet_transaction_payment::WeightInfo; + type OperationalFeeMultiplier = ConstU8<5>; +} + +parameter_types! { + // One storage item; key size is 32; value is size 4+4+16+32 bytes = 56 bytes. + pub const DepositBase: Balance = deposit(1, 88); + // Additional storage item size of 32 bytes. + pub const DepositFactor: Balance = deposit(0, 32); +} + +impl pallet_multisig::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type Currency = Balances; + type DepositBase = DepositBase; + type DepositFactor = DepositFactor; + type MaxSignatories = ConstU32<100>; + type WeightInfo = pallet_multisig::weights::SubstrateWeight; +} + +impl pallet_utility::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type PalletsOrigin = OriginCaller; + type WeightInfo = pallet_utility::weights::SubstrateWeight; } parameter_types! { - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; } impl cumulus_pallet_parachain_system::Config for Runtime { + type WeightInfo = (); type RuntimeEvent = RuntimeEvent; type OnSystemEvent = (); type SelfParaId = parachain_info::Pallet; - type OutboundXcmpMessageSource = XcmpQueue; type DmpQueue = frame_support::traits::EnqueueWithOrigin; type ReservedDmpWeight = ReservedDmpWeight; + type OutboundXcmpMessageSource = XcmpQueue; type XcmpMessageHandler = XcmpQueue; type ReservedXcmpWeight = ReservedXcmpWeight; type CheckAssociatedRelayNumber = RelayNumberMonotonicallyIncreases; type ConsensusHook = ConsensusHook; - type WeightInfo = weights::cumulus_pallet_parachain_system::WeightInfo; - type RelayParentOffset = ConstU32<0>; } type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook< @@ -287,13 +306,17 @@ type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook< UNINCLUDED_SEGMENT_CAPACITY, >; +impl pallet_insecure_randomness_collective_flip::Config for Runtime {} + +impl parachain_info::Config for Runtime {} + parameter_types! { - pub MessageQueueServiceWeight: Weight = - Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; + pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; } impl pallet_message_queue::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type WeightInfo = (); #[cfg(feature = "runtime-benchmarks")] type MessageProcessor = pallet_message_queue::mock_helpers::NoopMessageProcessor< cumulus_primitives_core::AggregateMessageOrigin, @@ -301,7 +324,7 @@ impl pallet_message_queue::Config for Runtime { #[cfg(not(feature = "runtime-benchmarks"))] type MessageProcessor = xcm_builder::ProcessXcmMessage< AggregateMessageOrigin, - xcm_executor::XcmExecutor, + xcm_executor::XcmExecutor, RuntimeCall, >; type Size = u32; @@ -312,63 +335,27 @@ impl pallet_message_queue::Config for Runtime { type MaxStale = sp_core::ConstU32<8>; type ServiceWeight = MessageQueueServiceWeight; type IdleMaxServiceWeight = MessageQueueServiceWeight; - type WeightInfo = weights::pallet_message_queue::WeightInfo; } -impl parachain_info::Config for Runtime {} - impl cumulus_pallet_aura_ext::Config for Runtime {} parameter_types! { - // Fellows pluralistic body. - pub const FellowsBodyId: BodyId = BodyId::Technical; + pub const Period: u32 = 10 * MINUTES; + pub const Offset: u32 = 0; } -/// Privileged origin that represents Root or Fellows pluralistic body. -pub type RootOrFellows = EitherOfDiverse< - EnsureRoot, - EnsureXcm>, ->; - -impl cumulus_pallet_xcmp_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type ChannelInfo = ParachainSystem; - type VersionWrapper = PolkadotXcm; - type XcmpQueue = TransformOrigin; - type MaxInboundSuspended = ConstU32<1_000>; - type MaxActiveOutboundChannels = ConstU32<128>; - // Most on-chain HRMP channels are configured to use 102400 bytes of max message size, so we - // need to set the page size larger than that until we reduce the channel size on-chain. - type MaxPageSize = ConstU32<{ 103 * 1024 }>; - type ControllerOrigin = RootOrFellows; - type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; - type PriceForSiblingDelivery = PriceForSiblingParachainDelivery; - type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo; -} - -impl cumulus_pallet_xcmp_queue::migration::v5::V5Config for Runtime { - // This must be the same as the `ChannelInfo` from the `Config`: - type ChannelList = ParachainSystem; -} - -pub const PERIOD: u32 = 6 * HOURS; -pub const OFFSET: u32 = 0; - impl pallet_session::Config for Runtime { type RuntimeEvent = RuntimeEvent; type ValidatorId = ::AccountId; // we don't have stash and controller, thus we don't need the convert as well. type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ShouldEndSession = pallet_session::PeriodicSessions, ConstU32>; - type NextSessionRotation = pallet_session::PeriodicSessions, ConstU32>; + type ShouldEndSession = pallet_session::PeriodicSessions; + type NextSessionRotation = pallet_session::PeriodicSessions; type SessionManager = CollatorSelection; // Essentially just Aura, but let's be pedantic. type SessionHandler = ::KeyTypeIdProviders; type Keys = SessionKeys; - type DisablingStrategy = (); - type WeightInfo = weights::pallet_session::WeightInfo; - type Currency = Balances; - type KeyDeposit = (); + type WeightInfo = pallet_session::weights::SubstrateWeight; } impl pallet_aura::Config for Runtime { @@ -381,198 +368,28 @@ impl pallet_aura::Config for Runtime { parameter_types! { pub const PotId: PalletId = PalletId(*b"PotStake"); - pub const SessionLength: BlockNumber = 6 * HOURS; - // StakingAdmin pluralistic body. - pub const StakingAdminBodyId: BodyId = BodyId::Defense; } -/// We allow Root and the `StakingAdmin` to execute privileged collator selection operations. -pub type CollatorSelectionUpdateOrigin = EitherOfDiverse< - EnsureRoot, - EnsureXcm>, ->; - impl pallet_collator_selection::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Currency = Balances; type UpdateOrigin = CollatorSelectionUpdateOrigin; type PotId = PotId; type MaxCandidates = ConstU32<100>; - type MinEligibleCollators = ConstU32<4>; + type MinEligibleCollators = ConstU32<1>; type MaxInvulnerables = ConstU32<20>; // should be a multiple of session or things will get inconsistent - type KickThreshold = ConstU32; + type KickThreshold = Period; type ValidatorId = ::AccountId; type ValidatorIdOf = pallet_collator_selection::IdentityCollator; type ValidatorRegistration = Session; - type WeightInfo = weights::pallet_collator_selection::WeightInfo; -} - -parameter_types! { - // One storage item; key size is 32; value is size 4+4+16+32 bytes = 56 bytes. - pub const DepositBase: Balance = deposit(1, 88); - // Additional storage item size of 32 bytes. - pub const DepositFactor: Balance = deposit(0, 32); -} - -impl pallet_multisig::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type Currency = Balances; - type DepositBase = DepositBase; - type DepositFactor = DepositFactor; - type MaxSignatories = ConstU32<100>; - type WeightInfo = weights::pallet_multisig::WeightInfo; - type BlockNumberProvider = frame_system::Pallet; -} - -/// The type used to represent the kinds of proxying allowed. -#[derive( - Copy, - Clone, - Eq, - PartialEq, - Ord, - PartialOrd, - Encode, - Decode, - DecodeWithMemTracking, - Debug, - MaxEncodedLen, - scale_info::TypeInfo, -)] -pub enum ProxyType { - /// Fully permissioned proxy. Can execute any call on behalf of _proxied_. - Any, - /// Can execute any call that does not transfer funds or assets. - NonTransfer, - /// Proxy with the ability to reject time-delay proxy announcements. - CancelProxy, - /// Proxy for all Identity pallet calls. - Identity, - /// Proxy for identity registrars. - IdentityJudgement, - /// Collator selection proxy. Can execute calls related to collator selection mechanism. - Collator, -} -impl Default for ProxyType { - fn default() -> Self { - Self::Any - } + type WeightInfo = pallet_collator_selection::weights::SubstrateWeight; } -impl InstanceFilter for ProxyType { - fn filter(&self, c: &RuntimeCall) -> bool { - match self { - ProxyType::Any => true, - ProxyType::NonTransfer => !matches!( - c, - RuntimeCall::Balances { .. } | - // `request_judgement` puts up a deposit to transfer to a registrar - RuntimeCall::Identity(pallet_identity::Call::request_judgement { .. }) - ), - ProxyType::CancelProxy => matches!( - c, - RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement { .. }) | - RuntimeCall::Utility { .. } | - RuntimeCall::Multisig { .. } - ), - ProxyType::Identity => { - matches!( - c, - RuntimeCall::Identity { .. } | - RuntimeCall::Utility { .. } | - RuntimeCall::Multisig { .. } - ) - }, - ProxyType::IdentityJudgement => matches!( - c, - RuntimeCall::Identity(pallet_identity::Call::provide_judgement { .. }) | - RuntimeCall::Utility(..) | - RuntimeCall::Multisig { .. } - ), - ProxyType::Collator => matches!( - c, - RuntimeCall::CollatorSelection { .. } | - RuntimeCall::Utility { .. } | - RuntimeCall::Multisig { .. } - ), - } - } - - fn is_superset(&self, o: &Self) -> bool { - match (self, o) { - (x, y) if x == y => true, - (ProxyType::Any, _) => true, - (_, ProxyType::Any) => false, - (ProxyType::Identity, ProxyType::IdentityJudgement) => true, - (ProxyType::NonTransfer, ProxyType::IdentityJudgement) => true, - (ProxyType::NonTransfer, ProxyType::Collator) => true, - _ => false, - } - } -} - -parameter_types! { - // One storage item; key size 32, value size 8. - pub const ProxyDepositBase: Balance = deposit(1, 40); - // Additional storage item size of 33 bytes. - pub const ProxyDepositFactor: Balance = deposit(0, 33); - pub const MaxProxies: u16 = 32; - // One storage item; key size 32, value size 16. - pub const AnnouncementDepositBase: Balance = deposit(1, 48); - pub const AnnouncementDepositFactor: Balance = deposit(0, 66); - pub const MaxPending: u16 = 32; -} - -impl pallet_proxy::Config for Runtime { - type RuntimeEvent = RuntimeEvent; +impl pallet_sudo::Config for Runtime { type RuntimeCall = RuntimeCall; - type Currency = Balances; - type ProxyType = ProxyType; - type ProxyDepositBase = ProxyDepositBase; - type ProxyDepositFactor = ProxyDepositFactor; - type MaxProxies = MaxProxies; - type WeightInfo = weights::pallet_proxy::WeightInfo; - type MaxPending = MaxPending; - type CallHasher = BlakeTwo256; - type AnnouncementDepositBase = AnnouncementDepositBase; - type AnnouncementDepositFactor = AnnouncementDepositFactor; - type BlockNumberProvider = frame_system::Pallet; -} - -impl pallet_utility::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type PalletsOrigin = OriginCaller; - type WeightInfo = weights::pallet_utility::WeightInfo; -} - -// To be removed after migration is complete. -impl identity_migrator::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type Reaper = EnsureRoot; - type ReapIdentityHandler = (); - type WeightInfo = weights::polkadot_runtime_common_identity_migrator::WeightInfo; -} - -parameter_types! { - pub MbmServiceWeight: Weight = Perbill::from_percent(80) * RuntimeBlockWeights::get().max_block; -} - -impl pallet_migrations::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - #[cfg(not(feature = "runtime-benchmarks"))] - type Migrations = pallet_identity::migration::v2::LazyMigrationV1ToV2; - // Benchmarks need mocked migrations to guarantee that they succeed. - #[cfg(feature = "runtime-benchmarks")] - type Migrations = pallet_migrations::mock_helpers::MockedMigrations; - type CursorMaxLen = ConstU32<65_536>; - type IdentifierMaxLen = ConstU32<256>; - type MigrationStatusHandler = (); - type FailedMigrationHandler = frame_support::migrations::FreezeChainOnFailedMigration; - type MaxServiceWeight = MbmServiceWeight; - type WeightInfo = weights::pallet_migrations::WeightInfo; + type WeightInfo = pallet_sudo::weights::SubstrateWeight; } // Create the runtime by composing the FRAME pallets that were previously configured. @@ -582,9 +399,9 @@ construct_runtime!( // System support stuff. System: frame_system = 0, ParachainSystem: cumulus_pallet_parachain_system = 1, - Timestamp: pallet_timestamp = 2, - ParachainInfo: parachain_info = 3, - WeightReclaim: cumulus_pallet_weight_reclaim = 4, + RandomnessCollectiveFlip: pallet_insecure_randomness_collective_flip = 2, + Timestamp: pallet_timestamp = 3, + ParachainInfo: parachain_info = 4, // Monetary stuff. Balances: pallet_balances = 10, @@ -597,54 +414,39 @@ construct_runtime!( Aura: pallet_aura = 23, AuraExt: cumulus_pallet_aura_ext = 24, - // XCM & related + // XCM helpers. XcmpQueue: cumulus_pallet_xcmp_queue = 30, PolkadotXcm: pallet_xcm = 31, CumulusXcm: cumulus_pallet_xcm = 32, MessageQueue: pallet_message_queue = 34, - // Handy utilities. - Utility: pallet_utility = 40, - Multisig: pallet_multisig = 41, - Proxy: pallet_proxy = 42, - - // The main stage. - Identity: pallet_identity = 50, + // Smart Contracts. + Contracts: pallet_contracts = 40, - // Migrations pallet - MultiBlockMigrations: pallet_migrations = 98, + // Handy utilities. + Utility: pallet_utility = 50, + Multisig: pallet_multisig = 51, - // To migrate deposits - IdentityMigrator: identity_migrator = 248, + // Sudo + Sudo: pallet_sudo = 100, } ); #[cfg(feature = "runtime-benchmarks")] mod benches { frame_benchmarking::define_benchmarks!( - // Substrate [frame_system, SystemBench::] [pallet_balances, Balances] - [pallet_identity, Identity] [pallet_message_queue, MessageQueue] [pallet_multisig, Multisig] - [pallet_proxy, Proxy] [pallet_session, SessionBench::] [pallet_utility, Utility] + [pallet_sudo, Sudo] [pallet_timestamp, Timestamp] - [pallet_migrations, MultiBlockMigrations] - [pallet_transaction_payment, TransactionPayment] - // Polkadot - [polkadot_runtime_common::identity_migrator, IdentityMigrator] - // Cumulus - [cumulus_pallet_parachain_system, ParachainSystem] - [cumulus_pallet_xcmp_queue, XcmpQueue] [pallet_collator_selection, CollatorSelection] - // XCM + [cumulus_pallet_parachain_system, ParachainSystem] + [pallet_contracts, Contracts] [pallet_xcm, PalletXcmExtrinsicsBenchmark::] - [pallet_xcm_benchmarks::fungible, XcmBalances] - [pallet_xcm_benchmarks::generic, XcmGeneric] - [cumulus_pallet_weight_reclaim, WeightReclaim] ); } @@ -659,12 +461,6 @@ impl_runtime_apis! { } } - impl cumulus_primitives_core::RelayParentOffsetApi for Runtime { - fn relay_parent_offset() -> u32 { - 0 - } - } - impl cumulus_primitives_aura::AuraUnincludedSegmentApi for Runtime { fn can_build_upon( included_hash: ::Hash, @@ -679,7 +475,7 @@ impl_runtime_apis! { VERSION } - fn execute_block(block: ::LazyBlock) { + fn execute_block(block: Block) { Executive::execute_block(block) } @@ -716,7 +512,7 @@ impl_runtime_apis! { } fn check_inherents( - block: ::LazyBlock, + block: Block, data: sp_inherents::InherentData, ) -> sp_inherents::CheckInherentsResult { data.check_extrinsics(&block) @@ -740,8 +536,8 @@ impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -808,27 +604,38 @@ impl_runtime_apis! { } fn query_weight_to_asset_fee(weight: Weight, asset: VersionedAssetId) -> Result { - type Trader = ::Trader; - PolkadotXcm::query_weight_to_asset_fee::(weight, asset) + match asset.try_as::() { + Ok(asset_id) if asset_id.0 == xcm_config::RelayLocation::get() => { + // for native token + Ok(WeightToFee::weight_to_fee(&weight)) + }, + Ok(asset_id) => { + log::trace!(target: "xcm::xcm_runtime_apis", "query_weight_to_asset_fee - unhandled asset_id: {asset_id:?}!"); + Err(XcmPaymentApiError::AssetNotFound) + }, + Err(_) => { + log::trace!(target: "xcm::xcm_runtime_apis", "query_weight_to_asset_fee - failed to convert asset: {asset:?}!"); + Err(XcmPaymentApiError::VersionedConversionFailed) + } + } } fn query_xcm_weight(message: VersionedXcm<()>) -> Result { PolkadotXcm::query_xcm_weight(message) } - fn query_delivery_fees(destination: VersionedLocation, message: VersionedXcm<()>, asset_id: VersionedAssetId) -> Result { - type AssetExchanger = ::AssetExchanger; - PolkadotXcm::query_delivery_fees::(destination, message, asset_id) + fn query_delivery_fees(destination: VersionedLocation, message: VersionedXcm<()>) -> Result { + PolkadotXcm::query_delivery_fees(destination, message) } } impl xcm_runtime_apis::dry_run::DryRunApi for Runtime { - fn dry_run_call(origin: OriginCaller, call: RuntimeCall, result_xcms_version: XcmVersion) -> Result, XcmDryRunApiError> { - PolkadotXcm::dry_run_call::(origin, call, result_xcms_version) + fn dry_run_call(origin: OriginCaller, call: RuntimeCall) -> Result, XcmDryRunApiError> { + PolkadotXcm::dry_run_call::(origin, call) } fn dry_run_xcm(origin_location: VersionedLocation, xcm: VersionedXcm) -> Result, XcmDryRunApiError> { - PolkadotXcm::dry_run_xcm::(origin_location, xcm) + PolkadotXcm::dry_run_xcm::(origin_location, xcm) } } @@ -839,7 +646,7 @@ impl_runtime_apis! { > { xcm_runtime_apis::conversions::LocationToAccountHelper::< AccountId, - xcm_config::LocationToAccountId, + xcm_config::LocationToAccountId >::convert_location(location) } } @@ -850,6 +657,74 @@ impl_runtime_apis! { } } + impl pallet_contracts::ContractsApi for Runtime { + fn call( + origin: AccountId, + dest: AccountId, + value: Balance, + gas_limit: Option, + storage_deposit_limit: Option, + input_data: Vec, + ) -> pallet_contracts::ContractExecResult { + let gas_limit = gas_limit.unwrap_or(RuntimeBlockWeights::get().max_block); + Contracts::bare_call( + origin, + dest, + value, + gas_limit, + storage_deposit_limit, + input_data, + contracts::CONTRACTS_DEBUG_OUTPUT, + pallet_contracts::CollectEvents::UnsafeCollect, + pallet_contracts::Determinism::Enforced, + ) + } + + fn instantiate( + origin: AccountId, + value: Balance, + gas_limit: Option, + storage_deposit_limit: Option, + code: pallet_contracts::Code, + data: Vec, + salt: Vec, + ) -> pallet_contracts::ContractInstantiateResult { + let gas_limit = gas_limit.unwrap_or(RuntimeBlockWeights::get().max_block); + Contracts::bare_instantiate( + origin, + value, + gas_limit, + storage_deposit_limit, + code, + data, + salt, + contracts::CONTRACTS_DEBUG_OUTPUT, + pallet_contracts::CollectEvents::UnsafeCollect, + ) + } + + fn upload_code( + origin: AccountId, + code: Vec, + storage_deposit_limit: Option, + determinism: pallet_contracts::Determinism, + ) -> pallet_contracts::CodeUploadResult { + Contracts::bare_upload_code( + origin, + code, + storage_deposit_limit, + determinism, + ) + } + + fn get_storage( + address: AccountId, + key: Vec, + ) -> pallet_contracts::GetStorageResult { + Contracts::get_storage(address, key) + } + } + #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) { @@ -858,7 +733,7 @@ impl_runtime_apis! { } fn execute_block( - block: ::LazyBlock, + block: Block, state_root_check: bool, signature_check: bool, select: frame_try_runtime::TryStateSelect, @@ -875,18 +750,12 @@ impl_runtime_apis! { Vec, Vec, ) { - use frame_benchmarking::BenchmarkList; + use frame_benchmarking::{Benchmarking, BenchmarkList}; use frame_support::traits::StorageInfoTrait; use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; - // This is defined once again in dispatch_benchmark, because list_benchmarks! - // and add_benchmarks! are macros exported by define_benchmarks! macros and those types - // are referenced in that call. - type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; - type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::; - let mut list = Vec::::new(); list_benchmarks!(list, extra); @@ -894,12 +763,12 @@ impl_runtime_apis! { (list, storage_info) } - #[allow(non_local_definitions)] fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig - ) -> Result, alloc::string::String> { - use frame_benchmarking::{BenchmarkBatch, BenchmarkError}; + ) -> Result, sp_runtime::RuntimeString> { + use frame_benchmarking::{Benchmarking, BenchmarkBatch, BenchmarkError}; use sp_storage::TrackedStorageKey; + use codec::Encode; use frame_system_benchmarking::Pallet as SystemBench; impl frame_system_benchmarking::Config for Runtime { @@ -914,177 +783,89 @@ impl_runtime_apis! { } use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - impl cumulus_pallet_session_benchmarking::Config for Runtime {} - use testnet_parachains_constants::rococo::locations::{AssetHubParaId, AssetHubLocation}; + impl pallet_transaction_payment::BenchmarkConfig for Runtime {} + + impl cumulus_pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } + + parameter_types! { + pub ExistentialDepositAsset: Option = Some(( + xcm_config::RelayLocation::get(), + ExistentialDeposit::get() + ).into()); + } + use xcm::latest::prelude::*; use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; impl pallet_xcm::benchmarking::Config for Runtime { - type DeliveryHelper = polkadot_runtime_common::xcm_sender::ToParachainDeliveryHelper< + type DeliveryHelper = cumulus_primitives_utility::ToParentDeliveryHelper< xcm_config::XcmConfig, ExistentialDepositAsset, - PriceForSiblingParachainDelivery, - AssetHubParaId, - ParachainSystem + xcm_config::PriceForParentDelivery, >; fn reachable_dest() -> Option { - Some(AssetHubLocation::get()) + Some(Parent.into()) } fn teleportable_asset_and_dest() -> Option<(Asset, Location)> { - // Relay/native token can be teleported between People and Relay. + // Relay/native token can be teleported between Contracts-System-Para and Relay. Some(( Asset { fun: Fungible(ExistentialDeposit::get()), - id: AssetId(RelayLocation::get()) + id: AssetId(Parent.into()) }, - AssetHubLocation::get(), + Parent.into(), )) } fn reserve_transferable_asset_and_dest() -> Option<(Asset, Location)> { + // Reserve transfers are disabled on Contracts-System-Para. None } - fn set_up_complex_asset_transfer() -> Option<(Assets, u32, Location, alloc::boxed::Box)> { + fn set_up_complex_asset_transfer( + ) -> Option<(Assets, u32, Location, alloc::boxed::Box)> { + // Contracts-System-Para only supports teleports to system parachain. + // Relay/native token can be teleported between Contracts-System-Para and Relay. let native_location = Parent.into(); - let dest = AssetHubLocation::get(); - + let dest = Parent.into(); pallet_xcm::benchmarking::helpers::native_teleport_as_asset_transfer::( native_location, - dest, + dest ) } fn get_asset() -> Asset { Asset { - id: AssetId(RelayLocation::get()), - fun: Fungible(ExistentialDeposit::get()), + id: AssetId(Location::parent()), + fun: Fungible(EXISTENTIAL_DEPOSIT), } } } - use xcm::latest::prelude::*; - use xcm_config::RelayLocation; - - parameter_types! { - pub ExistentialDepositAsset: Option = Some(( - RelayLocation::get(), - ExistentialDeposit::get() - ).into()); - } - - impl pallet_xcm_benchmarks::Config for Runtime { - type XcmConfig = XcmConfig; - type AccountIdConverter = xcm_config::LocationToAccountId; - type DeliveryHelper = polkadot_runtime_common::xcm_sender::ToParachainDeliveryHelper< - xcm_config::XcmConfig, - ExistentialDepositAsset, - PriceForSiblingParachainDelivery, - AssetHubParaId, - ParachainSystem, - >; - fn valid_destination() -> Result { - Ok(AssetHubLocation::get()) - } - fn worst_case_holding(_depositable_count: u32) -> Assets { - // just concrete assets according to relay chain. - let assets: Vec = vec![ - Asset { - id: AssetId(RelayLocation::get()), - fun: Fungible(1_000_000 * UNITS), - } - ]; - assets.into() - } - } - - parameter_types! { - pub TrustedTeleporter: Option<(Location, Asset)> = Some(( - AssetHubLocation::get(), - Asset { fun: Fungible(UNITS), id: AssetId(RelayLocation::get()) }, - )); - pub const CheckedAccount: Option<(AccountId, xcm_builder::MintLocation)> = None; - pub const TrustedReserve: Option<(Location, Asset)> = None; - } - - impl pallet_xcm_benchmarks::fungible::Config for Runtime { - type TransactAsset = Balances; - - type CheckedAccount = CheckedAccount; - type TrustedTeleporter = TrustedTeleporter; - type TrustedReserve = TrustedReserve; - - fn get_asset() -> Asset { - Asset { - id: AssetId(RelayLocation::get()), - fun: Fungible(UNITS), - } - } - } - - impl pallet_xcm_benchmarks::generic::Config for Runtime { - type RuntimeCall = RuntimeCall; - type TransactAsset = Balances; - - fn worst_case_response() -> (u64, Response) { - (0u64, Response::Version(Default::default())) - } - - fn worst_case_asset_exchange() -> Result<(Assets, Assets), BenchmarkError> { - Err(BenchmarkError::Skip) - } - - fn universal_alias() -> Result<(Location, Junction), BenchmarkError> { - Err(BenchmarkError::Skip) - } - - fn transact_origin_and_runtime_call() -> Result<(Location, RuntimeCall), BenchmarkError> { - Ok((AssetHubLocation::get(), frame_system::Call::remark_with_event { remark: vec![] }.into())) - } - - fn subscribe_origin() -> Result { - Ok(AssetHubLocation::get()) - } - - fn claimable_asset() -> Result<(Location, Location, Assets), BenchmarkError> { - let origin = AssetHubLocation::get(); - let assets: Assets = (AssetId(RelayLocation::get()), 1_000 * UNITS).into(); - let ticket = Location::new(0, []); - Ok((origin, ticket, assets)) - } - - fn worst_case_for_trader() -> Result<(Asset, WeightLimit), BenchmarkError> { - Ok((Asset { - id: AssetId(RelayLocation::get()), - fun: Fungible(1_000_000 * UNITS), - }, WeightLimit::Limited(Weight::from_parts(5000, 5000)))) - } - - fn unlockable_asset() -> Result<(Location, Location, Asset), BenchmarkError> { - Err(BenchmarkError::Skip) - } - - fn export_message_origin_and_destination( - ) -> Result<(Location, NetworkId, InteriorLocation), BenchmarkError> { - Err(BenchmarkError::Skip) - } - - fn alias_origin() -> Result<(Location, Location), BenchmarkError> { - Err(BenchmarkError::Skip) - } - } - - type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; - type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::; - - use frame_support::traits::WhitelistedStorageKeys; - let whitelist: Vec = AllPalletsWithSystem::whitelisted_storage_keys(); + let whitelist: Vec = vec![ + // Block Number + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(), + // Total Issuance + hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(), + // Execution Phase + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(), + // Event Count + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(), + // System Events + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(), + ]; let mut batches = Vec::::new(); let params = (&config, &whitelist); add_benchmarks!(params, batches); + if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } Ok(batches) } } @@ -1095,32 +876,11 @@ impl_runtime_apis! { } fn get_preset(id: &Option) -> Option> { - get_preset::(id, &genesis_config_presets::get_preset) + get_preset::(id, |_| None) } fn preset_names() -> Vec { - genesis_config_presets::preset_names() - } - } - - impl xcm_runtime_apis::trusted_query::TrustedQueryApi for Runtime { - fn is_trusted_reserve(asset: VersionedAsset, location: VersionedLocation) -> xcm_runtime_apis::trusted_query::XcmTrustedQueryResult { - PolkadotXcm::is_trusted_reserve(asset, location) - } - fn is_trusted_teleporter(asset: VersionedAsset, location: VersionedLocation) -> xcm_runtime_apis::trusted_query::XcmTrustedQueryResult { - PolkadotXcm::is_trusted_teleporter(asset, location) - } - } - - impl cumulus_primitives_core::GetParachainInfo for Runtime { - fn parachain_id() -> ParaId { - ParachainInfo::parachain_id() - } - } - - impl cumulus_primitives_core::TargetBlockRate for Runtime { - fn target_block_rate() -> u32 { - 1 + vec![] } } } diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/Cargo.toml b/cumulus/parachains/runtimes/coretime/coretime-rococo/Cargo.toml deleted file mode 100644 index 6320dd8ef4400..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/Cargo.toml +++ /dev/null @@ -1,228 +0,0 @@ -[package] -name = "coretime-rococo-runtime" -version = "0.1.0" -authors.workspace = true -edition.workspace = true -description = "Rococo's Coretime parachain runtime" -license = "Apache-2.0" -homepage.workspace = true -repository.workspace = true - -[lints] -workspace = true - -[dependencies] -codec = { features = ["derive"], workspace = true } -scale-info = { features = ["derive"], workspace = true } -serde = { optional = true, features = ["derive"], workspace = true, default-features = true } -serde_json = { features = ["alloc"], workspace = true } -tracing = { workspace = true } - -# Substrate -frame-benchmarking = { optional = true, workspace = true } -frame-executive = { workspace = true } -frame-metadata-hash-extension = { workspace = true } -frame-support = { workspace = true } -frame-system = { workspace = true } -frame-system-benchmarking = { optional = true, workspace = true } -frame-system-rpc-runtime-api = { workspace = true } -frame-try-runtime = { optional = true, workspace = true } -pallet-aura = { workspace = true } -pallet-authorship = { workspace = true } -pallet-balances = { workspace = true } -pallet-broker = { workspace = true } -pallet-message-queue = { workspace = true } -pallet-multisig = { workspace = true } -pallet-proxy = { workspace = true } -pallet-session = { workspace = true } -pallet-sudo = { workspace = true } -pallet-timestamp = { workspace = true } -pallet-transaction-payment = { workspace = true } -pallet-transaction-payment-rpc-runtime-api = { workspace = true } -pallet-utility = { workspace = true } -sp-api = { workspace = true } -sp-block-builder = { workspace = true } -sp-consensus-aura = { workspace = true } -sp-core = { workspace = true } -sp-genesis-builder = { workspace = true } -sp-inherents = { workspace = true } -sp-keyring = { workspace = true } -sp-offchain = { workspace = true } -sp-runtime = { workspace = true } -sp-session = { workspace = true } -sp-storage = { workspace = true } -sp-transaction-pool = { workspace = true } -sp-version = { workspace = true } - -# Polkadot -pallet-xcm = { workspace = true } -pallet-xcm-benchmarks = { optional = true, workspace = true } -polkadot-parachain-primitives = { workspace = true } -polkadot-runtime-common = { workspace = true } -rococo-runtime-constants = { workspace = true } -xcm = { workspace = true } -xcm-builder = { workspace = true } -xcm-executor = { workspace = true } -xcm-runtime-apis = { workspace = true } - -# Cumulus -cumulus-pallet-aura-ext = { workspace = true } -cumulus-pallet-parachain-system = { workspace = true } -cumulus-pallet-session-benchmarking = { workspace = true } -cumulus-pallet-weight-reclaim = { workspace = true } -cumulus-pallet-xcm = { workspace = true } -cumulus-pallet-xcmp-queue = { workspace = true } -cumulus-primitives-aura = { workspace = true } -cumulus-primitives-core = { workspace = true } -cumulus-primitives-utility = { workspace = true } -pallet-collator-selection = { workspace = true } -parachain-info = { workspace = true } -parachains-common = { workspace = true } -testnet-parachains-constants = { features = ["rococo"], workspace = true } - -[dev-dependencies] -parachains-runtimes-test-utils = { workspace = true } - -[build-dependencies] -substrate-wasm-builder = { optional = true, workspace = true, default-features = true } - -[features] -default = ["std"] -std = [ - "codec/std", - "cumulus-pallet-aura-ext/std", - "cumulus-pallet-parachain-system/std", - "cumulus-pallet-session-benchmarking/std", - "cumulus-pallet-weight-reclaim/std", - "cumulus-pallet-xcm/std", - "cumulus-pallet-xcmp-queue/std", - "cumulus-primitives-aura/std", - "cumulus-primitives-core/std", - "cumulus-primitives-utility/std", - "frame-benchmarking?/std", - "frame-executive/std", - "frame-metadata-hash-extension/std", - "frame-support/std", - "frame-system-benchmarking?/std", - "frame-system-rpc-runtime-api/std", - "frame-system/std", - "frame-try-runtime?/std", - "pallet-aura/std", - "pallet-authorship/std", - "pallet-balances/std", - "pallet-broker/std", - "pallet-collator-selection/std", - "pallet-message-queue/std", - "pallet-multisig/std", - "pallet-proxy/std", - "pallet-session/std", - "pallet-sudo/std", - "pallet-timestamp/std", - "pallet-transaction-payment-rpc-runtime-api/std", - "pallet-transaction-payment/std", - "pallet-utility/std", - "pallet-xcm-benchmarks?/std", - "pallet-xcm/std", - "parachain-info/std", - "parachains-common/std", - "parachains-runtimes-test-utils/std", - "polkadot-parachain-primitives/std", - "polkadot-runtime-common/std", - "rococo-runtime-constants/std", - "scale-info/std", - "serde", - "serde_json/std", - "sp-api/std", - "sp-block-builder/std", - "sp-consensus-aura/std", - "sp-core/std", - "sp-genesis-builder/std", - "sp-inherents/std", - "sp-keyring/std", - "sp-offchain/std", - "sp-runtime/std", - "sp-session/std", - "sp-storage/std", - "sp-transaction-pool/std", - "sp-version/std", - "substrate-wasm-builder", - "testnet-parachains-constants/std", - "tracing/std", - "xcm-builder/std", - "xcm-executor/std", - "xcm-runtime-apis/std", - "xcm/std", -] -runtime-benchmarks = [ - "cumulus-pallet-parachain-system/runtime-benchmarks", - "cumulus-pallet-session-benchmarking/runtime-benchmarks", - "cumulus-pallet-weight-reclaim/runtime-benchmarks", - "cumulus-pallet-xcmp-queue/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks", - "cumulus-primitives-utility/runtime-benchmarks", - "frame-benchmarking/runtime-benchmarks", - "frame-support/runtime-benchmarks", - "frame-system-benchmarking/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "pallet-balances/runtime-benchmarks", - "pallet-broker/runtime-benchmarks", - "pallet-collator-selection/runtime-benchmarks", - "pallet-message-queue/runtime-benchmarks", - "pallet-multisig/runtime-benchmarks", - "pallet-proxy/runtime-benchmarks", - "pallet-session/runtime-benchmarks", - "pallet-sudo/runtime-benchmarks", - "pallet-timestamp/runtime-benchmarks", - "pallet-transaction-payment/runtime-benchmarks", - "pallet-utility/runtime-benchmarks", - "pallet-xcm-benchmarks/runtime-benchmarks", - "pallet-xcm/runtime-benchmarks", - "parachains-common/runtime-benchmarks", - "polkadot-parachain-primitives/runtime-benchmarks", - "polkadot-runtime-common/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", - "xcm-builder/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", - "xcm-runtime-apis/runtime-benchmarks", - "xcm/runtime-benchmarks", -] -try-runtime = [ - "cumulus-pallet-aura-ext/try-runtime", - "cumulus-pallet-parachain-system/try-runtime", - "cumulus-pallet-weight-reclaim/try-runtime", - "cumulus-pallet-xcm/try-runtime", - "cumulus-pallet-xcmp-queue/try-runtime", - "frame-executive/try-runtime", - "frame-support/try-runtime", - "frame-system/try-runtime", - "frame-try-runtime/try-runtime", - "pallet-aura/try-runtime", - "pallet-authorship/try-runtime", - "pallet-balances/try-runtime", - "pallet-broker/try-runtime", - "pallet-collator-selection/try-runtime", - "pallet-message-queue/try-runtime", - "pallet-multisig/try-runtime", - "pallet-proxy/try-runtime", - "pallet-session/try-runtime", - "pallet-sudo/try-runtime", - "pallet-timestamp/try-runtime", - "pallet-transaction-payment/try-runtime", - "pallet-utility/try-runtime", - "pallet-xcm/try-runtime", - "parachain-info/try-runtime", - "parachains-common/try-runtime", - "polkadot-runtime-common/try-runtime", - "sp-runtime/try-runtime", -] -fast-runtime = [ - "rococo-runtime-constants/fast-runtime", -] - -# Enable the metadata hash generation in the wasm builder. -metadata-hash = ["substrate-wasm-builder/metadata-hash"] - -# A feature that should be enabled when the runtime should be built for on-chain -# deployment. This will disable stuff that shouldn't be part of the on-chain wasm -# to make it smaller, like logging for example. -on-chain-release-build = ["metadata-hash"] diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/build.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/build.rs deleted file mode 100644 index 368a1e427aaaf..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/build.rs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#[cfg(all(not(feature = "metadata-hash"), feature = "std"))] -fn main() { - substrate_wasm_builder::WasmBuilder::build_using_defaults(); - - substrate_wasm_builder::WasmBuilder::init_with_defaults() - .set_file_name("fast_runtime_binary.rs") - .enable_feature("fast-runtime") - .build(); -} - -#[cfg(all(feature = "metadata-hash", feature = "std"))] -fn main() { - substrate_wasm_builder::WasmBuilder::init_with_defaults() - .enable_metadata_hash("ROC", 12) - .build(); - - substrate_wasm_builder::WasmBuilder::init_with_defaults() - .set_file_name("fast_runtime_binary.rs") - .enable_feature("fast-runtime") - .enable_metadata_hash("ROC", 12) - .build(); -} - -#[cfg(not(feature = "std"))] -fn main() {} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/coretime.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/coretime.rs deleted file mode 100644 index ef78397fb3e63..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/coretime.rs +++ /dev/null @@ -1,321 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use crate::{xcm_config::LocationToAccountId, *}; -use codec::{Decode, Encode}; -use cumulus_pallet_parachain_system::RelaychainDataProvider; -use cumulus_primitives_core::relay_chain; -use frame_support::{ - parameter_types, - traits::{ - fungible::{Balanced, Credit, Inspect}, - tokens::{Fortitude, Preservation}, - DefensiveResult, OnUnbalanced, - }, -}; -use frame_system::Pallet as System; -use pallet_broker::{ - CoreAssignment, CoreIndex, CoretimeInterface, PartsOf57600, RCBlockNumberOf, TaskId, -}; -use parachains_common::{AccountId, Balance}; -use rococo_runtime_constants::system_parachain::coretime; -use sp_runtime::traits::{AccountIdConversion, MaybeConvert}; -use xcm::latest::prelude::*; -use xcm_executor::traits::{ConvertLocation, TransactAsset}; - -pub struct BurnCoretimeRevenue; -impl OnUnbalanced> for BurnCoretimeRevenue { - fn on_nonzero_unbalanced(amount: Credit) { - let acc = RevenueAccumulationAccount::get(); - if !System::::account_exists(&acc) { - System::::inc_providers(&acc); - } - Balances::resolve(&acc, amount).defensive_ok(); - } -} - -type AssetTransactor = ::AssetTransactor; - -fn burn_at_relay(stash: &AccountId, value: Balance) -> Result<(), XcmError> { - let dest = Location::parent(); - let stash_location = - Junction::AccountId32 { network: None, id: stash.clone().into() }.into_location(); - let asset = Asset { id: AssetId(Location::parent()), fun: Fungible(value) }; - let dummy_xcm_context = XcmContext { origin: None, message_id: [0; 32], topic: None }; - - let withdrawn = AssetTransactor::withdraw_asset(&asset, &stash_location, None)?; - - AssetTransactor::can_check_out(&dest, &asset, &dummy_xcm_context)?; - - let parent_assets = Into::::into(withdrawn) - .reanchored(&dest, &Here.into()) - .defensive_map_err(|_| XcmError::ReanchorFailed)?; - - PolkadotXcm::send_xcm( - Here, - Location::parent(), - Xcm(vec![ - Instruction::UnpaidExecution { - weight_limit: WeightLimit::Unlimited, - check_origin: None, - }, - ReceiveTeleportedAsset(parent_assets.clone()), - BurnAsset(parent_assets), - ]), - )?; - - AssetTransactor::check_out(&dest, &asset, &dummy_xcm_context); - - Ok(()) -} - -/// A type containing the encoding of the coretime pallet in the Relay chain runtime. Used to -/// construct any remote calls. The codec index must correspond to the index of `Coretime` in the -/// `construct_runtime` of the Relay chain. -#[derive(Encode, Decode)] -enum RelayRuntimePallets { - #[codec(index = 74)] - Coretime(CoretimeProviderCalls), -} - -/// Call encoding for the calls needed from the relay coretime pallet. -#[derive(Encode, Decode)] -enum CoretimeProviderCalls { - #[codec(index = 1)] - RequestCoreCount(CoreIndex), - #[codec(index = 2)] - RequestRevenueInfoAt(relay_chain::BlockNumber), - #[codec(index = 3)] - CreditAccount(AccountId, Balance), - #[codec(index = 4)] - AssignCore( - CoreIndex, - relay_chain::BlockNumber, - Vec<(CoreAssignment, PartsOf57600)>, - Option, - ), -} - -parameter_types! { - pub const BrokerPalletId: PalletId = PalletId(*b"py/broke"); - pub const MinimumCreditPurchase: Balance = UNITS / 10; - pub RevenueAccumulationAccount: AccountId = BrokerPalletId::get().into_sub_account_truncating(b"burnstash"); - pub const MinimumEndPrice: Balance = UNITS; -} - -/// Type that implements the `CoretimeInterface` for the allocation of Coretime. Meant to operate -/// from the parachain context. That is, the parachain provides a market (broker) for the sale of -/// coretime, but assumes a `CoretimeProvider` (i.e. a Relay Chain) to actually provide cores. -pub struct CoretimeAllocator; -impl CoretimeInterface for CoretimeAllocator { - type AccountId = AccountId; - type Balance = Balance; - type RelayChainBlockNumberProvider = RelaychainDataProvider; - - fn request_core_count(count: CoreIndex) { - use crate::coretime::CoretimeProviderCalls::RequestCoreCount; - let request_core_count_call = RelayRuntimePallets::Coretime(RequestCoreCount(count)); - - let message = Xcm(vec![ - Instruction::UnpaidExecution { - weight_limit: WeightLimit::Unlimited, - check_origin: None, - }, - Instruction::Transact { - origin_kind: OriginKind::Native, - call: request_core_count_call.encode().into(), - fallback_max_weight: Some(Weight::from_parts(1_000_000_000, 200_000)), - }, - ]); - - match PolkadotXcm::send_xcm(Here, Location::parent(), message.clone()) { - Ok(_) => tracing::info!( - target: "runtime::coretime", - "Request to update schedulable cores sent successfully." - ), - Err(e) => tracing::error!( - target: "runtime::coretime", error=?e, - "Failed to send request to update schedulable cores", - ), - } - } - - fn request_revenue_info_at(when: RCBlockNumberOf) { - use crate::coretime::CoretimeProviderCalls::RequestRevenueInfoAt; - let request_revenue_info_at_call = - RelayRuntimePallets::Coretime(RequestRevenueInfoAt(when)); - - let message = Xcm(vec![ - Instruction::UnpaidExecution { - weight_limit: WeightLimit::Unlimited, - check_origin: None, - }, - Instruction::Transact { - origin_kind: OriginKind::Native, - call: request_revenue_info_at_call.encode().into(), - fallback_max_weight: Some(Weight::from_parts(1_000_000_000, 200_000)), - }, - ]); - - match PolkadotXcm::send_xcm(Here, Location::parent(), message.clone()) { - Ok(_) => tracing::info!( - target: "runtime::coretime", - "Request for revenue information sent successfully." - ), - Err(e) => tracing::error!( - target: "runtime::coretime", error=?e, - "Request for revenue information failed to send" - ), - } - } - - fn credit_account(who: Self::AccountId, amount: Self::Balance) { - use crate::coretime::CoretimeProviderCalls::CreditAccount; - let credit_account_call = RelayRuntimePallets::Coretime(CreditAccount(who, amount)); - - let message = Xcm(vec![ - Instruction::UnpaidExecution { - weight_limit: WeightLimit::Unlimited, - check_origin: None, - }, - Instruction::Transact { - origin_kind: OriginKind::Native, - call: credit_account_call.encode().into(), - fallback_max_weight: Some(Weight::from_parts(1_000_000_000, 200_000)), - }, - ]); - - match PolkadotXcm::send_xcm(Here, Location::parent(), message.clone()) { - Ok(_) => tracing::info!( - target: "runtime::coretime", - "Instruction to credit account sent successfully." - ), - Err(e) => tracing::error!( - target: "runtime::coretime", error=?e, - "Instruction to credit account failed to send" - ), - } - } - - fn assign_core( - core: CoreIndex, - begin: RCBlockNumberOf, - assignment: Vec<(CoreAssignment, PartsOf57600)>, - end_hint: Option>, - ) { - use crate::coretime::CoretimeProviderCalls::AssignCore; - - // The relay chain currently only allows `assign_core` to be called with a complete mask - // and only ever with increasing `begin`. The assignments must be truncated to avoid - // dropping that core's assignment completely. - - // This shadowing of `assignment` is temporary and can be removed when the relay can accept - // multiple messages to assign a single core. - let assignment = if assignment.len() > 28 { - let mut total_parts = 0u16; - // Account for missing parts with a new `Idle` assignment at the start as - // `assign_core` on the relay assumes this is sorted. We'll add the rest of the - // assignments and sum the parts in one pass, so this is just initialized to 0. - let mut assignment_truncated = vec![(CoreAssignment::Idle, 0)]; - // Truncate to first 27 non-idle assignments. - assignment_truncated.extend( - assignment - .into_iter() - .filter(|(a, _)| *a != CoreAssignment::Idle) - .take(27) - .inspect(|(_, parts)| total_parts += *parts) - .collect::>(), - ); - - // Set the parts of the `Idle` assignment we injected at the start of the vec above. - assignment_truncated[0].1 = 57_600u16.saturating_sub(total_parts); - assignment_truncated - } else { - assignment - }; - - let assign_core_call = - RelayRuntimePallets::Coretime(AssignCore(core, begin, assignment, end_hint)); - - let message = Xcm(vec![ - Instruction::UnpaidExecution { - weight_limit: WeightLimit::Unlimited, - check_origin: None, - }, - Instruction::Transact { - origin_kind: OriginKind::Native, - call: assign_core_call.encode().into(), - fallback_max_weight: Some(Weight::from_parts(1_000_000_000, 200_000)), - }, - ]); - - match PolkadotXcm::send_xcm(Here, Location::parent(), message.clone()) { - Ok(_) => tracing::info!( - target: "runtime::coretime", - "Core assignment sent successfully." - ), - Err(e) => tracing::error!( - target: "runtime::coretime", error=?e, - "Core assignment failed to send" - ), - } - } - - fn on_new_timeslice(_t: pallet_broker::Timeslice) { - let stash = RevenueAccumulationAccount::get(); - let value = - Balances::reducible_balance(&stash, Preservation::Expendable, Fortitude::Polite); - - if value > 0 { - tracing::debug!(target: "runtime::coretime", %value, "Going to burn stashed tokens at RC"); - match burn_at_relay(&stash, value) { - Ok(()) => { - tracing::debug!(target: "runtime::coretime", %value, "Successfully burnt tokens"); - }, - Err(err) => { - tracing::error!(target: "runtime::coretime", error=?err, "burn_at_relay failed"); - }, - } - } - } -} - -pub struct SovereignAccountOf; -impl MaybeConvert for SovereignAccountOf { - fn maybe_convert(id: TaskId) -> Option { - // Currently all tasks are parachains. - let location = Location::new(1, [Parachain(id)]); - LocationToAccountId::convert_location(&location) - } -} - -impl pallet_broker::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type OnRevenue = BurnCoretimeRevenue; - type TimeslicePeriod = ConstU32<{ coretime::TIMESLICE_PERIOD }>; - type MaxLeasedCores = ConstU32<50>; - type MaxReservedCores = ConstU32<10>; - type Coretime = CoretimeAllocator; - type ConvertBalance = sp_runtime::traits::Identity; - type WeightInfo = weights::pallet_broker::WeightInfo; - type PalletId = BrokerPalletId; - type AdminOrigin = EnsureRoot; - type SovereignAccountOf = SovereignAccountOf; - type MaxAutoRenewals = ConstU32<100>; - type PriceAdapter = pallet_broker::MinimumPrice; - type MinimumCreditPurchase = MinimumCreditPurchase; -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/genesis_config_presets.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/genesis_config_presets.rs deleted file mode 100644 index 296def2ce2769..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/genesis_config_presets.rs +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! # Coretime Rococo Runtime genesis config presets - -use crate::*; -use alloc::{vec, vec::Vec}; -use cumulus_primitives_core::ParaId; -use frame_support::build_struct_json_patch; -use parachains_common::{AccountId, AuraId}; -use sp_genesis_builder::PresetId; -use sp_keyring::Sr25519Keyring; -use testnet_parachains_constants::rococo::{currency::UNITS as ROC, xcm_version::SAFE_XCM_VERSION}; - -const CORETIME_ROCOCO_ED: Balance = ExistentialDeposit::get(); -pub const CORETIME_PARA_ID: ParaId = ParaId::new(1005); - -fn coretime_rococo_genesis( - invulnerables: Vec<(AccountId, AuraId)>, - endowed_accounts: Vec, - endowment: Balance, - id: ParaId, -) -> serde_json::Value { - build_struct_json_patch!(RuntimeGenesisConfig { - balances: BalancesConfig { - balances: endowed_accounts.iter().cloned().map(|k| (k, endowment)).collect(), - }, - parachain_info: ParachainInfoConfig { parachain_id: id }, - collator_selection: CollatorSelectionConfig { - invulnerables: invulnerables.iter().cloned().map(|(acc, _)| acc).collect(), - candidacy_bond: CORETIME_ROCOCO_ED * 16, - }, - session: SessionConfig { - keys: invulnerables - .into_iter() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - SessionKeys { aura }, // session keys - ) - }) - .collect(), - }, - polkadot_xcm: PolkadotXcmConfig { safe_xcm_version: Some(SAFE_XCM_VERSION) }, - sudo: SudoConfig { key: Some(Sr25519Keyring::Alice.to_account_id()) } - }) -} - -/// Provides the JSON representation of predefined genesis config for given `id`. -pub fn get_preset(id: &PresetId) -> Option> { - let patch = match id.as_ref() { - sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET => coretime_rococo_genesis( - // initial collators. - vec![ - (Sr25519Keyring::Alice.to_account_id(), Sr25519Keyring::Alice.public().into()), - (Sr25519Keyring::Bob.to_account_id(), Sr25519Keyring::Bob.public().into()), - ], - Sr25519Keyring::well_known().map(|x| x.to_account_id()).collect(), - ROC * 1_000_000, - CORETIME_PARA_ID, - ), - sp_genesis_builder::DEV_RUNTIME_PRESET => coretime_rococo_genesis( - // initial collators. - vec![(Sr25519Keyring::Alice.to_account_id(), Sr25519Keyring::Alice.public().into())], - vec![ - Sr25519Keyring::Alice.to_account_id(), - Sr25519Keyring::Bob.to_account_id(), - Sr25519Keyring::AliceStash.to_account_id(), - Sr25519Keyring::BobStash.to_account_id(), - ], - ROC * 1_000_000, - CORETIME_PARA_ID, - ), - _ => return None, - }; - - Some( - serde_json::to_string(&patch) - .expect("serialization to json is expected to work. qed.") - .into_bytes(), - ) -} - -/// List of supported presets. -pub fn preset_names() -> Vec { - vec![ - PresetId::from(sp_genesis_builder::DEV_RUNTIME_PRESET), - PresetId::from(sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET), - ] -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/lib.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/lib.rs deleted file mode 100644 index 3edf3c43adef2..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/lib.rs +++ /dev/null @@ -1,1200 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#![cfg_attr(not(feature = "std"), no_std)] -// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. -#![recursion_limit = "256"] - -// Make the WASM binary available. -#[cfg(feature = "std")] -include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); - -/// Provides the `WASM_BINARY` build with `fast-runtime` feature enabled. -/// -/// This is for example useful for local test chains. -#[cfg(feature = "std")] -pub mod fast_runtime_binary { - include!(concat!(env!("OUT_DIR"), "/fast_runtime_binary.rs")); -} - -mod coretime; -mod genesis_config_presets; -mod weights; -pub mod xcm_config; - -extern crate alloc; - -use alloc::{vec, vec::Vec}; -use codec::{Decode, DecodeWithMemTracking, Encode, MaxEncodedLen}; -use cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases; -use cumulus_primitives_core::{AggregateMessageOrigin, ParaId}; -use frame_support::{ - construct_runtime, derive_impl, - dispatch::DispatchClass, - genesis_builder_helper::{build_state, get_preset}, - parameter_types, - traits::{ - ConstBool, ConstU32, ConstU64, ConstU8, EitherOfDiverse, InstanceFilter, TransformOrigin, - }, - weights::{ConstantMultiplier, Weight}, - PalletId, -}; -use frame_system::{ - limits::{BlockLength, BlockWeights}, - EnsureRoot, -}; -use pallet_xcm::{EnsureXcm, IsVoiceOfBody}; -use parachains_common::{ - impls::DealWithFees, - message_queue::{NarrowOriginToSibling, ParaIdToSibling}, - AccountId, AuraId, Balance, BlockNumber, Hash, Header, Nonce, Signature, - AVERAGE_ON_INITIALIZE_RATIO, NORMAL_DISPATCH_RATIO, -}; -use polkadot_runtime_common::{BlockHashCount, SlowAdjustingFeeUpdate}; -use sp_api::impl_runtime_apis; -use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; -#[cfg(any(feature = "std", test))] -pub use sp_runtime::BuildStorage; -use sp_runtime::{ - generic, impl_opaque_keys, - traits::{BlakeTwo256, Block as BlockT, BlockNumberProvider}, - transaction_validity::{TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, Debug, DispatchError, MultiAddress, Perbill, -}; -#[cfg(feature = "std")] -use sp_version::NativeVersion; -use sp_version::RuntimeVersion; -use testnet_parachains_constants::rococo::{consensus::*, currency::*, fee::WeightToFee, time::*}; -use weights::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight}; -use xcm::{prelude::*, Version as XcmVersion}; -use xcm_config::{ - FellowshipLocation, GovernanceLocation, RocRelayLocation, XcmConfig, - XcmOriginToTransactDispatchOrigin, -}; -use xcm_runtime_apis::{ - dry_run::{CallDryRunEffects, Error as XcmDryRunApiError, XcmDryRunEffects}, - fees::Error as XcmPaymentApiError, -}; - -/// The address format for describing accounts. -pub type Address = MultiAddress; - -/// Block type as expected by this runtime. -pub type Block = generic::Block; - -/// A Block signed with a Justification -pub type SignedBlock = generic::SignedBlock; - -/// BlockId type as expected by this runtime. -pub type BlockId = generic::BlockId; - -/// The TransactionExtension to the basic transaction logic. -pub type TxExtension = cumulus_pallet_weight_reclaim::StorageWeightReclaim< - Runtime, - ( - frame_system::AuthorizeCall, - frame_system::CheckNonZeroSender, - frame_system::CheckSpecVersion, - frame_system::CheckTxVersion, - frame_system::CheckGenesis, - frame_system::CheckEra, - frame_system::CheckNonce, - frame_system::CheckWeight, - pallet_transaction_payment::ChargeTransactionPayment, - frame_metadata_hash_extension::CheckMetadataHash, - ), ->; - -/// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = - generic::UncheckedExtrinsic; - -/// Migrations to apply on runtime upgrade. -pub type Migrations = ( - pallet_collator_selection::migration::v2::MigrationToV2, - cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4, - cumulus_pallet_xcmp_queue::migration::v5::MigrateV4ToV5, - pallet_broker::migration::MigrateV0ToV1, - pallet_broker::migration::MigrateV1ToV2, - pallet_broker::migration::MigrateV2ToV3, - pallet_broker::migration::MigrateV3ToV4, - pallet_session::migrations::v1::MigrateV0ToV1< - Runtime, - pallet_session::migrations::v1::InitOffenceSeverity, - >, - // permanent - pallet_xcm::migration::MigrateToLatestXcmVersion, - cumulus_pallet_aura_ext::migration::MigrateV0ToV1, -); - -/// Executive: handles dispatch to the various modules. -pub type Executive = frame_executive::Executive< - Runtime, - Block, - frame_system::ChainContext, - Runtime, - AllPalletsWithSystem, ->; - -impl_opaque_keys! { - pub struct SessionKeys { - pub aura: Aura, - } -} - -#[sp_version::runtime_version] -pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: alloc::borrow::Cow::Borrowed("coretime-rococo"), - impl_name: alloc::borrow::Cow::Borrowed("coretime-rococo"), - authoring_version: 1, - spec_version: 1_020_001, - impl_version: 0, - apis: RUNTIME_API_VERSIONS, - transaction_version: 2, - system_version: 1, -}; - -/// The version information used to identify this runtime when compiled natively. -#[cfg(feature = "std")] -pub fn native_version() -> NativeVersion { - NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } -} - -parameter_types! { - pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); - pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() - .base_block(BlockExecutionWeight::get()) - .for_class(DispatchClass::all(), |weights| { - weights.base_extrinsic = ExtrinsicBaseWeight::get(); - }) - .for_class(DispatchClass::Normal, |weights| { - weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); - }) - .for_class(DispatchClass::Operational, |weights| { - weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); - // Operational transactions have some extra reserved space, so that they - // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`. - weights.reserved = Some( - MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT - ); - }) - .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO) - .build_or_panic(); - pub const SS58Prefix: u8 = 42; -} - -// Configure FRAME pallets to include in runtime. -#[derive_impl(frame_system::config_preludes::ParaChainDefaultConfig)] -impl frame_system::Config for Runtime { - /// The identifier used to distinguish between accounts. - type AccountId = AccountId; - /// The nonce type for storing how many extrinsics an account has signed. - type Nonce = Nonce; - /// The type for hashing blocks and tries. - type Hash = Hash; - /// The block type. - type Block = Block; - /// Maximum number of block number to block hash mappings to keep (oldest pruned first). - type BlockHashCount = BlockHashCount; - /// Runtime version. - type Version = Version; - /// The data to be stored in an account. - type AccountData = pallet_balances::AccountData; - /// The weight of database operations that the runtime can invoke. - type DbWeight = RocksDbWeight; - /// Weight information for the extrinsics of this pallet. - type SystemWeightInfo = weights::frame_system::WeightInfo; - /// Weight information for the extensions of this pallet. - type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo; - /// Block & extrinsics weights: base values and limits. - type BlockWeights = RuntimeBlockWeights; - /// The maximum length of a block (in bytes). - type BlockLength = RuntimeBlockLength; - type SS58Prefix = SS58Prefix; - /// The action to take on a Runtime Upgrade - type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; - type MaxConsumers = ConstU32<16>; - type SingleBlockMigrations = Migrations; -} - -impl cumulus_pallet_weight_reclaim::Config for Runtime { - type WeightInfo = weights::cumulus_pallet_weight_reclaim::WeightInfo; -} - -impl pallet_timestamp::Config for Runtime { - /// A timestamp: milliseconds since the unix epoch. - type Moment = u64; - type OnTimestampSet = Aura; - type MinimumPeriod = ConstU64<0>; - type WeightInfo = weights::pallet_timestamp::WeightInfo; -} - -impl pallet_authorship::Config for Runtime { - type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type EventHandler = (CollatorSelection,); -} - -parameter_types! { - pub const ExistentialDeposit: Balance = EXISTENTIAL_DEPOSIT; -} - -impl pallet_balances::Config for Runtime { - type Balance = Balance; - type DustRemoval = (); - type RuntimeEvent = RuntimeEvent; - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = System; - type WeightInfo = weights::pallet_balances::WeightInfo; - type MaxLocks = ConstU32<50>; - type MaxReserves = ConstU32<50>; - type ReserveIdentifier = [u8; 8]; - type RuntimeHoldReason = RuntimeHoldReason; - type RuntimeFreezeReason = RuntimeFreezeReason; - type FreezeIdentifier = (); - type MaxFreezes = ConstU32<0>; - type DoneSlashHandler = (); -} - -parameter_types! { - /// Relay Chain `TransactionByteFee` / 10 - pub const TransactionByteFee: Balance = MILLICENTS; -} - -impl pallet_transaction_payment::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type OnChargeTransaction = - pallet_transaction_payment::FungibleAdapter>; - type OperationalFeeMultiplier = ConstU8<5>; - type WeightToFee = WeightToFee; - type LengthToFee = ConstantMultiplier; - type FeeMultiplierUpdate = SlowAdjustingFeeUpdate; - type WeightInfo = weights::pallet_transaction_payment::WeightInfo; -} - -parameter_types! { - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); - pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; -} - -impl cumulus_pallet_parachain_system::Config for Runtime { - type WeightInfo = weights::cumulus_pallet_parachain_system::WeightInfo; - type RuntimeEvent = RuntimeEvent; - type OnSystemEvent = (); - type SelfParaId = parachain_info::Pallet; - type DmpQueue = frame_support::traits::EnqueueWithOrigin; - type OutboundXcmpMessageSource = XcmpQueue; - type ReservedDmpWeight = ReservedDmpWeight; - type XcmpMessageHandler = XcmpQueue; - type ReservedXcmpWeight = ReservedXcmpWeight; - type CheckAssociatedRelayNumber = RelayNumberMonotonicallyIncreases; - type ConsensusHook = ConsensusHook; - type RelayParentOffset = ConstU32<0>; -} - -type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook< - Runtime, - RELAY_CHAIN_SLOT_DURATION_MILLIS, - BLOCK_PROCESSING_VELOCITY, - UNINCLUDED_SEGMENT_CAPACITY, ->; - -parameter_types! { - pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; -} - -impl pallet_message_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type WeightInfo = weights::pallet_message_queue::WeightInfo; - #[cfg(feature = "runtime-benchmarks")] - type MessageProcessor = pallet_message_queue::mock_helpers::NoopMessageProcessor< - cumulus_primitives_core::AggregateMessageOrigin, - >; - #[cfg(not(feature = "runtime-benchmarks"))] - type MessageProcessor = xcm_builder::ProcessXcmMessage< - AggregateMessageOrigin, - xcm_executor::XcmExecutor, - RuntimeCall, - >; - type Size = u32; - // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin: - type QueueChangeHandler = NarrowOriginToSibling; - type QueuePausedQuery = NarrowOriginToSibling; - type HeapSize = sp_core::ConstU32<{ 103 * 1024 }>; - type MaxStale = sp_core::ConstU32<8>; - type ServiceWeight = MessageQueueServiceWeight; - type IdleMaxServiceWeight = MessageQueueServiceWeight; -} - -impl parachain_info::Config for Runtime {} - -impl cumulus_pallet_aura_ext::Config for Runtime {} - -parameter_types! { - /// Fellows pluralistic body. - pub const FellowsBodyId: BodyId = BodyId::Technical; -} - -/// Privileged origin that represents Root or Fellows pluralistic body. -pub type RootOrFellows = EitherOfDiverse< - EnsureRoot, - EnsureXcm>, ->; - -parameter_types! { - /// The asset ID for the asset that we use to pay for message delivery fees. - pub FeeAssetId: AssetId = AssetId(RocRelayLocation::get()); - /// The base fee for the message delivery fees. - pub const BaseDeliveryFee: u128 = CENTS.saturating_mul(3); -} - -pub type PriceForSiblingParachainDelivery = polkadot_runtime_common::xcm_sender::ExponentialPrice< - FeeAssetId, - BaseDeliveryFee, - TransactionByteFee, - XcmpQueue, ->; - -impl cumulus_pallet_xcmp_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type ChannelInfo = ParachainSystem; - type VersionWrapper = PolkadotXcm; - type XcmpQueue = TransformOrigin; - type MaxInboundSuspended = ConstU32<1_000>; - type MaxActiveOutboundChannels = ConstU32<128>; - // Most on-chain HRMP channels are configured to use 102400 bytes of max message size, so we - // need to set the page size larger than that until we reduce the channel size on-chain. - type MaxPageSize = ConstU32<{ 103 * 1024 }>; - type ControllerOrigin = RootOrFellows; - type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; - type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo; - type PriceForSiblingDelivery = PriceForSiblingParachainDelivery; -} - -impl cumulus_pallet_xcmp_queue::migration::v5::V5Config for Runtime { - // This must be the same as the `ChannelInfo` from the `Config`: - type ChannelList = ParachainSystem; -} - -pub const PERIOD: u32 = 6 * HOURS; -pub const OFFSET: u32 = 0; - -impl pallet_session::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type ValidatorId = ::AccountId; - // we don't have stash and controller, thus we don't need the convert as well. - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ShouldEndSession = pallet_session::PeriodicSessions, ConstU32>; - type NextSessionRotation = pallet_session::PeriodicSessions, ConstU32>; - type SessionManager = CollatorSelection; - // Essentially just Aura, but let's be pedantic. - type SessionHandler = ::KeyTypeIdProviders; - type Keys = SessionKeys; - type DisablingStrategy = (); - type WeightInfo = weights::pallet_session::WeightInfo; - type Currency = Balances; - type KeyDeposit = (); -} - -impl pallet_aura::Config for Runtime { - type AuthorityId = AuraId; - type DisabledValidators = (); - type MaxAuthorities = ConstU32<100_000>; - type AllowMultipleBlocksPerSlot = ConstBool; - type SlotDuration = ConstU64; -} - -parameter_types! { - pub const PotId: PalletId = PalletId(*b"PotStake"); - pub const SessionLength: BlockNumber = 6 * HOURS; - /// StakingAdmin pluralistic body. - pub const StakingAdminBodyId: BodyId = BodyId::Defense; -} - -/// We allow Root and the `StakingAdmin` to execute privileged collator selection operations. -pub type CollatorSelectionUpdateOrigin = EitherOfDiverse< - EnsureRoot, - EnsureXcm>, ->; - -impl pallet_collator_selection::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type UpdateOrigin = CollatorSelectionUpdateOrigin; - type PotId = PotId; - type MaxCandidates = ConstU32<100>; - type MinEligibleCollators = ConstU32<4>; - type MaxInvulnerables = ConstU32<20>; - // should be a multiple of session or things will get inconsistent - type KickThreshold = ConstU32; - type ValidatorId = ::AccountId; - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ValidatorRegistration = Session; - type WeightInfo = weights::pallet_collator_selection::WeightInfo; -} - -parameter_types! { - /// One storage item; key size is 32; value is size 4+4+16+32 bytes = 56 bytes. - pub const DepositBase: Balance = deposit(1, 88); - /// Additional storage item size of 32 bytes. - pub const DepositFactor: Balance = deposit(0, 32); -} - -impl pallet_multisig::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type Currency = Balances; - type DepositBase = DepositBase; - type DepositFactor = DepositFactor; - type MaxSignatories = ConstU32<100>; - type WeightInfo = weights::pallet_multisig::WeightInfo; - type BlockNumberProvider = frame_system::Pallet; -} - -/// The type used to represent the kinds of proxying allowed. -#[derive( - Copy, - Clone, - Eq, - PartialEq, - Ord, - PartialOrd, - Encode, - Decode, - DecodeWithMemTracking, - Debug, - MaxEncodedLen, - scale_info::TypeInfo, -)] -pub enum ProxyType { - /// Fully permissioned proxy. Can execute any call on behalf of _proxied_. - Any, - /// Can execute any call that does not transfer funds or assets. - NonTransfer, - /// Proxy with the ability to reject time-delay proxy announcements. - CancelProxy, - /// Proxy for all Broker pallet calls. - Broker, - /// Proxy for renewing coretime. - CoretimeRenewer, - /// Proxy able to purchase on-demand coretime credits. - OnDemandPurchaser, - /// Collator selection proxy. Can execute calls related to collator selection mechanism. - Collator, -} -impl Default for ProxyType { - fn default() -> Self { - Self::Any - } -} - -impl InstanceFilter for ProxyType { - fn filter(&self, c: &RuntimeCall) -> bool { - match self { - ProxyType::Any => true, - ProxyType::NonTransfer => !matches!( - c, - RuntimeCall::Balances { .. } | - // `purchase`, `renew`, `transfer` and `purchase_credit` are pretty self explanatory. - RuntimeCall::Broker(pallet_broker::Call::purchase { .. }) | - RuntimeCall::Broker(pallet_broker::Call::renew { .. }) | - RuntimeCall::Broker(pallet_broker::Call::transfer { .. }) | - RuntimeCall::Broker(pallet_broker::Call::purchase_credit { .. }) | - // `pool` doesn't transfer, but it defines the account to be paid for contributions - RuntimeCall::Broker(pallet_broker::Call::pool { .. }) | - // `assign` is essentially a transfer of a region NFT - RuntimeCall::Broker(pallet_broker::Call::assign { .. }) - ), - ProxyType::CancelProxy => matches!( - c, - RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement { .. }) | - RuntimeCall::Utility { .. } | - RuntimeCall::Multisig { .. } - ), - ProxyType::Broker => { - matches!( - c, - RuntimeCall::Broker { .. } | - RuntimeCall::Utility { .. } | - RuntimeCall::Multisig { .. } - ) - }, - ProxyType::CoretimeRenewer => { - matches!( - c, - RuntimeCall::Broker(pallet_broker::Call::renew { .. }) | - RuntimeCall::Utility { .. } | - RuntimeCall::Multisig { .. } - ) - }, - ProxyType::OnDemandPurchaser => { - matches!( - c, - RuntimeCall::Broker(pallet_broker::Call::purchase_credit { .. }) | - RuntimeCall::Utility { .. } | - RuntimeCall::Multisig { .. } - ) - }, - ProxyType::Collator => matches!( - c, - RuntimeCall::CollatorSelection { .. } | - RuntimeCall::Utility { .. } | - RuntimeCall::Multisig { .. } - ), - } - } - - fn is_superset(&self, o: &Self) -> bool { - match (self, o) { - (x, y) if x == y => true, - (ProxyType::Any, _) => true, - (_, ProxyType::Any) => false, - (ProxyType::Broker, ProxyType::CoretimeRenewer) => true, - (ProxyType::Broker, ProxyType::OnDemandPurchaser) => true, - (ProxyType::NonTransfer, ProxyType::Collator) => true, - _ => false, - } - } -} - -parameter_types! { - // One storage item; key size 32, value size 8; . - pub const ProxyDepositBase: Balance = deposit(1, 40); - // Additional storage item size of 33 bytes. - pub const ProxyDepositFactor: Balance = deposit(0, 33); - pub const MaxProxies: u16 = 32; - // One storage item; key size 32, value size 16 - pub const AnnouncementDepositBase: Balance = deposit(1, 48); - pub const AnnouncementDepositFactor: Balance = deposit(0, 66); - pub const MaxPending: u16 = 32; -} - -impl pallet_proxy::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type Currency = Balances; - type ProxyType = ProxyType; - type ProxyDepositBase = ProxyDepositBase; - type ProxyDepositFactor = ProxyDepositFactor; - type MaxProxies = MaxProxies; - type WeightInfo = weights::pallet_proxy::WeightInfo; - type MaxPending = MaxPending; - type CallHasher = BlakeTwo256; - type AnnouncementDepositBase = AnnouncementDepositBase; - type AnnouncementDepositFactor = AnnouncementDepositFactor; - type BlockNumberProvider = frame_system::Pallet; -} - -impl pallet_utility::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type PalletsOrigin = OriginCaller; - type WeightInfo = weights::pallet_utility::WeightInfo; -} - -impl pallet_sudo::Config for Runtime { - type RuntimeCall = RuntimeCall; - type RuntimeEvent = RuntimeEvent; - type WeightInfo = pallet_sudo::weights::SubstrateWeight; -} - -pub struct BrokerMigrationV4BlockConversion; - -impl pallet_broker::migration::v4::BlockToRelayHeightConversion - for BrokerMigrationV4BlockConversion -{ - fn convert_block_number_to_relay_height(input_block_number: u32) -> u32 { - let relay_height = pallet_broker::RCBlockNumberProviderOf::< - ::Coretime, - >::current_block_number(); - let parachain_block_number = frame_system::Pallet::::block_number(); - let offset = relay_height - parachain_block_number * 2; - offset + input_block_number * 2 - } - - fn convert_block_length_to_relay_length(input_block_length: u32) -> u32 { - input_block_length * 2 - } -} - -// Create the runtime by composing the FRAME pallets that were previously configured. -construct_runtime!( - pub enum Runtime - { - // System support stuff. - System: frame_system = 0, - ParachainSystem: cumulus_pallet_parachain_system = 1, - Timestamp: pallet_timestamp = 3, - ParachainInfo: parachain_info = 4, - WeightReclaim: cumulus_pallet_weight_reclaim = 5, - - // Monetary stuff. - Balances: pallet_balances = 10, - TransactionPayment: pallet_transaction_payment = 11, - - // Collator support. The order of these 5 are important and shall not change. - Authorship: pallet_authorship = 20, - CollatorSelection: pallet_collator_selection = 21, - Session: pallet_session = 22, - Aura: pallet_aura = 23, - AuraExt: cumulus_pallet_aura_ext = 24, - - // XCM & related - XcmpQueue: cumulus_pallet_xcmp_queue = 30, - PolkadotXcm: pallet_xcm = 31, - CumulusXcm: cumulus_pallet_xcm = 32, - MessageQueue: pallet_message_queue = 34, - - // Handy utilities. - Utility: pallet_utility = 40, - Multisig: pallet_multisig = 41, - Proxy: pallet_proxy = 42, - - // The main stage. - Broker: pallet_broker = 50, - - // Sudo - Sudo: pallet_sudo = 100, - } -); - -#[cfg(feature = "runtime-benchmarks")] -mod benches { - frame_benchmarking::define_benchmarks!( - [frame_system, SystemBench::] - [cumulus_pallet_parachain_system, ParachainSystem] - [pallet_timestamp, Timestamp] - [pallet_balances, Balances] - [pallet_broker, Broker] - [pallet_collator_selection, CollatorSelection] - [pallet_session, SessionBench::] - [cumulus_pallet_xcmp_queue, XcmpQueue] - [pallet_xcm, PalletXcmExtrinsicsBenchmark::] - [pallet_message_queue, MessageQueue] - [pallet_multisig, Multisig] - [pallet_proxy, Proxy] - [pallet_utility, Utility] - // NOTE: Make sure you point to the individual modules below. - [pallet_xcm_benchmarks::fungible, XcmBalances] - [pallet_xcm_benchmarks::generic, XcmGeneric] - [cumulus_pallet_weight_reclaim, WeightReclaim] - ); -} - -impl_runtime_apis! { - impl sp_consensus_aura::AuraApi for Runtime { - fn slot_duration() -> sp_consensus_aura::SlotDuration { - sp_consensus_aura::SlotDuration::from_millis(SLOT_DURATION) - } - - fn authorities() -> Vec { - pallet_aura::Authorities::::get().into_inner() - } - } - - impl cumulus_primitives_core::RelayParentOffsetApi for Runtime { - fn relay_parent_offset() -> u32 { - 0 - } - } - - impl cumulus_primitives_aura::AuraUnincludedSegmentApi for Runtime { - fn can_build_upon( - included_hash: ::Hash, - slot: cumulus_primitives_aura::Slot, - ) -> bool { - ConsensusHook::can_build_upon(included_hash, slot) - } - } - - impl sp_api::Core for Runtime { - fn version() -> RuntimeVersion { - VERSION - } - - fn execute_block(block: ::LazyBlock) { - Executive::execute_block(block) - } - - fn initialize_block(header: &::Header) -> sp_runtime::ExtrinsicInclusionMode { - Executive::initialize_block(header) - } - } - - impl sp_api::Metadata for Runtime { - fn metadata() -> OpaqueMetadata { - OpaqueMetadata::new(Runtime::metadata().into()) - } - - fn metadata_at_version(version: u32) -> Option { - Runtime::metadata_at_version(version) - } - - fn metadata_versions() -> alloc::vec::Vec { - Runtime::metadata_versions() - } - } - - impl sp_block_builder::BlockBuilder for Runtime { - fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { - Executive::apply_extrinsic(extrinsic) - } - - fn finalize_block() -> ::Header { - Executive::finalize_block() - } - - fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { - data.create_extrinsics() - } - - fn check_inherents( - block: ::LazyBlock, - data: sp_inherents::InherentData, - ) -> sp_inherents::CheckInherentsResult { - data.check_extrinsics(&block) - } - } - - impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { - fn validate_transaction( - source: TransactionSource, - tx: ::Extrinsic, - block_hash: ::Hash, - ) -> TransactionValidity { - Executive::validate_transaction(source, tx, block_hash) - } - } - - impl sp_offchain::OffchainWorkerApi for Runtime { - fn offchain_worker(header: &::Header) { - Executive::offchain_worker(header) - } - } - - impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) - } - - fn decode_session_keys( - encoded: Vec, - ) -> Option, KeyTypeId)>> { - SessionKeys::decode_into_raw_public_keys(&encoded) - } - } - - impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { - fn account_nonce(account: AccountId) -> Nonce { - System::account_nonce(account) - } - } - - impl pallet_broker::runtime_api::BrokerApi for Runtime { - fn sale_price() -> Result { - Broker::current_price() - } - } - - impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime { - fn query_info( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { - TransactionPayment::query_info(uxt, len) - } - fn query_fee_details( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_fee_details(uxt, len) - } - fn query_weight_to_fee(weight: Weight) -> Balance { - TransactionPayment::weight_to_fee(weight) - } - fn query_length_to_fee(length: u32) -> Balance { - TransactionPayment::length_to_fee(length) - } - } - - impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi - for Runtime - { - fn query_call_info( - call: RuntimeCall, - len: u32, - ) -> pallet_transaction_payment::RuntimeDispatchInfo { - TransactionPayment::query_call_info(call, len) - } - fn query_call_fee_details( - call: RuntimeCall, - len: u32, - ) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_call_fee_details(call, len) - } - fn query_weight_to_fee(weight: Weight) -> Balance { - TransactionPayment::weight_to_fee(weight) - } - fn query_length_to_fee(length: u32) -> Balance { - TransactionPayment::length_to_fee(length) - } - } - - impl xcm_runtime_apis::fees::XcmPaymentApi for Runtime { - fn query_acceptable_payment_assets(xcm_version: xcm::Version) -> Result, XcmPaymentApiError> { - let acceptable_assets = vec![AssetId(xcm_config::RocRelayLocation::get())]; - PolkadotXcm::query_acceptable_payment_assets(xcm_version, acceptable_assets) - } - - fn query_weight_to_asset_fee(weight: Weight, asset: VersionedAssetId) -> Result { - type Trader = ::Trader; - PolkadotXcm::query_weight_to_asset_fee::(weight, asset) - } - - fn query_xcm_weight(message: VersionedXcm<()>) -> Result { - PolkadotXcm::query_xcm_weight(message) - } - - fn query_delivery_fees(destination: VersionedLocation, message: VersionedXcm<()>, asset_id: VersionedAssetId) -> Result { - type AssetExchanger = ::AssetExchanger; - PolkadotXcm::query_delivery_fees::(destination, message, asset_id) - } - } - - impl xcm_runtime_apis::dry_run::DryRunApi for Runtime { - fn dry_run_call(origin: OriginCaller, call: RuntimeCall, result_xcms_version: XcmVersion) -> Result, XcmDryRunApiError> { - PolkadotXcm::dry_run_call::(origin, call, result_xcms_version) - } - - fn dry_run_xcm(origin_location: VersionedLocation, xcm: VersionedXcm) -> Result, XcmDryRunApiError> { - PolkadotXcm::dry_run_xcm::(origin_location, xcm) - } - } - - impl xcm_runtime_apis::conversions::LocationToAccountApi for Runtime { - fn convert_location(location: VersionedLocation) -> Result< - AccountId, - xcm_runtime_apis::conversions::Error - > { - xcm_runtime_apis::conversions::LocationToAccountHelper::< - AccountId, - xcm_config::LocationToAccountId, - >::convert_location(location) - } - } - - impl cumulus_primitives_core::CollectCollationInfo for Runtime { - fn collect_collation_info(header: &::Header) -> cumulus_primitives_core::CollationInfo { - ParachainSystem::collect_collation_info(header) - } - } - - #[cfg(feature = "try-runtime")] - impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) { - let weight = Executive::try_runtime_upgrade(checks).unwrap(); - (weight, RuntimeBlockWeights::get().max_block) - } - - fn execute_block( - block: ::LazyBlock, - state_root_check: bool, - signature_check: bool, - select: frame_try_runtime::TryStateSelect, - ) -> Weight { - // NOTE: intentional unwrap: we don't want to propagate the error backwards, and want to - // have a backtrace here. - Executive::try_execute_block(block, state_root_check, signature_check, select).unwrap() - } - } - - #[cfg(feature = "runtime-benchmarks")] - impl frame_benchmarking::Benchmark for Runtime { - fn benchmark_metadata(extra: bool) -> ( - Vec, - Vec, - ) { - use frame_benchmarking::BenchmarkList; - use frame_support::traits::StorageInfoTrait; - use frame_system_benchmarking::Pallet as SystemBench; - use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; - - // This is defined once again in dispatch_benchmark, because list_benchmarks! - // and add_benchmarks! are macros exported by define_benchmarks! macros and those types - // are referenced in that call. - type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; - type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::; - - let mut list = Vec::::new(); - list_benchmarks!(list, extra); - - let storage_info = AllPalletsWithSystem::storage_info(); - (list, storage_info) - } - - #[allow(non_local_definitions)] - fn dispatch_benchmark( - config: frame_benchmarking::BenchmarkConfig - ) -> Result, alloc::string::String> { - use frame_benchmarking::{BenchmarkBatch, BenchmarkError}; - use sp_storage::TrackedStorageKey; - - use frame_system_benchmarking::Pallet as SystemBench; - impl frame_system_benchmarking::Config for Runtime { - fn setup_set_code_requirements(code: &alloc::vec::Vec) -> Result<(), BenchmarkError> { - ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32); - Ok(()) - } - - fn verify_set_code() { - System::assert_last_event(cumulus_pallet_parachain_system::Event::::ValidationFunctionStored.into()); - } - } - - use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - impl cumulus_pallet_session_benchmarking::Config for Runtime {} - - use xcm::latest::prelude::*; - use xcm_config::RocRelayLocation; - - use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; - use testnet_parachains_constants::rococo::locations::{AssetHubParaId, AssetHubLocation}; - - parameter_types! { - pub ExistentialDepositAsset: Option = Some(( - RocRelayLocation::get(), - ExistentialDeposit::get() - ).into()); - } - - impl pallet_xcm::benchmarking::Config for Runtime { - type DeliveryHelper = - polkadot_runtime_common::xcm_sender::ToParachainDeliveryHelper< - xcm_config::XcmConfig, - ExistentialDepositAsset, - PriceForSiblingParachainDelivery, - AssetHubParaId, - ParachainSystem, - >; - - fn reachable_dest() -> Option { - Some(AssetHubLocation::get()) - } - - fn teleportable_asset_and_dest() -> Option<(Asset, Location)> { - // Relay/native token can be teleported between AH and Relay. - Some(( - Asset { - fun: Fungible(ExistentialDeposit::get()), - id: AssetId(RocRelayLocation::get()) - }, - AssetHubLocation::get(), - )) - } - - fn reserve_transferable_asset_and_dest() -> Option<(Asset, Location)> { - // Coretime chain can reserve transfer regions to some random parachain. - - // Properties of a mock region: - let core = 0; - let begin = 0; - let end = 42; - - let region_id = pallet_broker::Pallet::::issue(core, begin, pallet_broker::CoreMask::complete(), end, None, None); - Some(( - Asset { - fun: NonFungible(Index(region_id.into())), - id: AssetId(xcm_config::BrokerPalletLocation::get()) - }, - AssetHubLocation::get(), - )) - } - - fn set_up_complex_asset_transfer() -> Option<(Assets, u32, Location, alloc::boxed::Box)> { - let native_location = Parent.into(); - let dest = AssetHubLocation::get(); - - pallet_xcm::benchmarking::helpers::native_teleport_as_asset_transfer::( - native_location, - dest, - ) - } - - fn get_asset() -> Asset { - Asset { - id: AssetId(RocRelayLocation::get()), - fun: Fungible(ExistentialDeposit::get()), - } - } - } - - impl pallet_xcm_benchmarks::Config for Runtime { - type XcmConfig = xcm_config::XcmConfig; - type DeliveryHelper = polkadot_runtime_common::xcm_sender::ToParachainDeliveryHelper< - xcm_config::XcmConfig, - ExistentialDepositAsset, - PriceForSiblingParachainDelivery, - AssetHubParaId, - ParachainSystem, - >; - type AccountIdConverter = xcm_config::LocationToAccountId; - fn valid_destination() -> Result { - Ok(AssetHubLocation::get()) - } - fn worst_case_holding(_depositable_count: u32) -> Assets { - // just concrete assets according to relay chain. - let assets: Vec = vec![ - Asset { - id: AssetId(RocRelayLocation::get()), - fun: Fungible(1_000_000 * UNITS), - } - ]; - assets.into() - } - } - - parameter_types! { - pub TrustedTeleporter: Option<(Location, Asset)> = Some(( - AssetHubLocation::get(), - Asset { fun: Fungible(UNITS), id: AssetId(RocRelayLocation::get()) }, - )); - pub const CheckedAccount: Option<(AccountId, xcm_builder::MintLocation)> = None; - pub const TrustedReserve: Option<(Location, Asset)> = None; - } - - impl pallet_xcm_benchmarks::fungible::Config for Runtime { - type TransactAsset = Balances; - - type CheckedAccount = CheckedAccount; - type TrustedTeleporter = TrustedTeleporter; - type TrustedReserve = TrustedReserve; - - fn get_asset() -> Asset { - Asset { - id: AssetId(RocRelayLocation::get()), - fun: Fungible(UNITS), - } - } - } - - impl pallet_xcm_benchmarks::generic::Config for Runtime { - type RuntimeCall = RuntimeCall; - type TransactAsset = Balances; - - fn worst_case_response() -> (u64, Response) { - (0u64, Response::Version(Default::default())) - } - - fn worst_case_asset_exchange() -> Result<(Assets, Assets), BenchmarkError> { - Err(BenchmarkError::Skip) - } - - fn universal_alias() -> Result<(Location, Junction), BenchmarkError> { - Err(BenchmarkError::Skip) - } - - fn transact_origin_and_runtime_call() -> Result<(Location, RuntimeCall), BenchmarkError> { - Ok((AssetHubLocation::get(), frame_system::Call::remark_with_event { remark: vec![] }.into())) - } - - fn subscribe_origin() -> Result { - Ok(AssetHubLocation::get()) - } - - fn claimable_asset() -> Result<(Location, Location, Assets), BenchmarkError> { - let origin = AssetHubLocation::get(); - let assets: Assets = (AssetId(RocRelayLocation::get()), 1_000 * UNITS).into(); - let ticket = Location { parents: 0, interior: Here }; - Ok((origin, ticket, assets)) - } - - fn worst_case_for_trader() -> Result<(Asset, WeightLimit), BenchmarkError> { - Ok((Asset { - id: AssetId(RocRelayLocation::get()), - fun: Fungible(1_000_000 * UNITS), - }, WeightLimit::Limited(Weight::from_parts(5000, 5000)))) - } - - fn unlockable_asset() -> Result<(Location, Location, Asset), BenchmarkError> { - Err(BenchmarkError::Skip) - } - - fn export_message_origin_and_destination( - ) -> Result<(Location, NetworkId, InteriorLocation), BenchmarkError> { - Err(BenchmarkError::Skip) - } - - fn alias_origin() -> Result<(Location, Location), BenchmarkError> { - Err(BenchmarkError::Skip) - } - } - - type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; - type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::; - - use frame_support::traits::WhitelistedStorageKeys; - let whitelist: Vec = AllPalletsWithSystem::whitelisted_storage_keys(); - - let mut batches = Vec::::new(); - let params = (&config, &whitelist); - add_benchmarks!(params, batches); - - Ok(batches) - } - } - - impl sp_genesis_builder::GenesisBuilder for Runtime { - fn build_state(config: Vec) -> sp_genesis_builder::Result { - build_state::(config) - } - - fn get_preset(id: &Option) -> Option> { - get_preset::(id, &genesis_config_presets::get_preset) - } - - fn preset_names() -> Vec { - genesis_config_presets::preset_names() - } - } - - impl xcm_runtime_apis::trusted_query::TrustedQueryApi for Runtime { - fn is_trusted_reserve(asset: VersionedAsset, location: VersionedLocation) -> xcm_runtime_apis::trusted_query::XcmTrustedQueryResult { - PolkadotXcm::is_trusted_reserve(asset, location) - } - fn is_trusted_teleporter(asset: VersionedAsset, location: VersionedLocation) -> xcm_runtime_apis::trusted_query::XcmTrustedQueryResult { - PolkadotXcm::is_trusted_teleporter(asset, location) - } - } - - impl cumulus_primitives_core::GetParachainInfo for Runtime { - fn parachain_id() -> ParaId { - ParachainInfo::parachain_id() - } - } - - impl cumulus_primitives_core::TargetBlockRate for Runtime { - fn target_block_rate() -> u32 { - 1 - } - } -} - -cumulus_pallet_parachain_system::register_validate_block! { - Runtime = Runtime, - BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/block_weights.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/block_weights.rs deleted file mode 100644 index 3ff2b3550fbf8..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/block_weights.rs +++ /dev/null @@ -1,53 +0,0 @@ -// This file is part of Cumulus. - -// Copyright (C) 2022 Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub mod constants { - use frame_support::{ - parameter_types, - weights::{constants, Weight}, - }; - - parameter_types! { - /// Importing a block with 0 Extrinsics. - pub const BlockExecutionWeight: Weight = - Weight::from_parts(constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(5_000_000), 0); - } - - #[cfg(test)] - mod test_weights { - use frame_support::weights::constants; - - /// Checks that the weight exists and is sane. - // NOTE: If this test fails but you are sure that the generated values are fine, - // you can delete it. - #[test] - fn sane() { - let w = super::constants::BlockExecutionWeight::get(); - - // At least 100 Β΅s. - assert!( - w.ref_time() >= 100u64 * constants::WEIGHT_REF_TIME_PER_MICROS, - "Weight should be at least 100 Β΅s." - ); - // At most 50 ms. - assert!( - w.ref_time() <= 50u64 * constants::WEIGHT_REF_TIME_PER_MILLIS, - "Weight should be at most 50 ms." - ); - } - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/cumulus_pallet_parachain_system.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/cumulus_pallet_parachain_system.rs deleted file mode 100644 index 73c4b2ba241d2..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/cumulus_pallet_parachain_system.rs +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `cumulus_pallet_parachain_system` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `731f893ee36e`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=cumulus_pallet_parachain_system -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `cumulus_pallet_parachain_system`. -pub struct WeightInfo(PhantomData); -impl cumulus_pallet_parachain_system::WeightInfo for WeightInfo { - /// Storage: `ParachainSystem::LastDmqMqcHead` (r:1 w:1) - /// Proof: `ParachainSystem::LastDmqMqcHead` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ProcessedDownwardMessages` (r:0 w:1) - /// Proof: `ParachainSystem::ProcessedDownwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `MessageQueue::Pages` (r:0 w:1000) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 1000]`. - fn enqueue_inbound_downward_messages(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `48` - // Estimated: `3517` - // Minimum execution time: 2_830_000 picoseconds. - Weight::from_parts(2_936_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - // Standard Error: 276_641 - .saturating_add(Weight::from_parts(362_904_401, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/cumulus_pallet_weight_reclaim.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/cumulus_pallet_weight_reclaim.rs deleted file mode 100644 index 5b84d56a9571f..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/cumulus_pallet_weight_reclaim.rs +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `cumulus_pallet_weight_reclaim` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `731f893ee36e`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=cumulus_pallet_weight_reclaim -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `cumulus_pallet_weight_reclaim`. -pub struct WeightInfo(PhantomData); -impl cumulus_pallet_weight_reclaim::WeightInfo for WeightInfo { - fn storage_weight_reclaim() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_959_000 picoseconds. - Weight::from_parts(4_279_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/cumulus_pallet_xcmp_queue.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/cumulus_pallet_xcmp_queue.rs deleted file mode 100644 index ce4116fe4f00f..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/cumulus_pallet_xcmp_queue.rs +++ /dev/null @@ -1,258 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `cumulus_pallet_xcmp_queue` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-09-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `4e9548205c14`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=cumulus_pallet_xcmp_queue -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `cumulus_pallet_xcmp_queue`. -pub struct WeightInfo(PhantomData); -impl cumulus_pallet_xcmp_queue::WeightInfo for WeightInfo { - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:1) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) - fn set_config_with_u32() -> Weight { - // Proof Size summary in bytes: - // Measured: `76` - // Estimated: `1497` - // Minimum execution time: 5_077_000 picoseconds. - Weight::from_parts(5_373_000, 0) - .saturating_add(Weight::from_parts(0, 1497)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 105467]`. - fn enqueue_n_bytes_xcmp_message(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `82` - // Estimated: `5487` - // Minimum execution time: 13_885_000 picoseconds. - Weight::from_parts(9_450_997, 0) - .saturating_add(Weight::from_parts(0, 5487)) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_035, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 1000]`. - fn enqueue_n_empty_xcmp_messages(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `82` - // Estimated: `5487` - // Minimum execution time: 11_612_000 picoseconds. - Weight::from_parts(15_581_141, 0) - .saturating_add(Weight::from_parts(0, 5487)) - // Standard Error: 228 - .saturating_add(Weight::from_parts(144_913, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `Measured`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `Measured`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `Measured`) - /// The range of component `n` is `[0, 105457]`. - fn enqueue_empty_xcmp_message_at(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `264 + n * (1 Β±0)` - // Estimated: `3727 + n * (1 Β±0)` - // Minimum execution time: 20_945_000 picoseconds. - Weight::from_parts(12_562_806, 0) - .saturating_add(Weight::from_parts(0, 3727)) - // Standard Error: 12 - .saturating_add(Weight::from_parts(2_267, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) - } - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:100) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 100]`. - fn enqueue_n_full_pages(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `117` - // Estimated: `5487` - // Minimum execution time: 12_939_000 picoseconds. - Weight::from_parts(13_222_000, 0) - .saturating_add(Weight::from_parts(0, 5487)) - // Standard Error: 71_657 - .saturating_add(Weight::from_parts(98_108_432, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) - } - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `Measured`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `Measured`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `Measured`) - fn enqueue_1000_small_xcmp_messages() -> Weight { - // Proof Size summary in bytes: - // Measured: `52997` - // Estimated: `56462` - // Minimum execution time: 278_327_000 picoseconds. - Weight::from_parts(289_384_000, 0) - .saturating_add(Weight::from_parts(0, 56462)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - fn suspend_channel() -> Weight { - // Proof Size summary in bytes: - // Measured: `76` - // Estimated: `2767` - // Minimum execution time: 3_254_000 picoseconds. - Weight::from_parts(3_438_000, 0) - .saturating_add(Weight::from_parts(0, 2767)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - fn resume_channel() -> Weight { - // Proof Size summary in bytes: - // Measured: `111` - // Estimated: `2767` - // Minimum execution time: 4_465_000 picoseconds. - Weight::from_parts(4_655_000, 0) - .saturating_add(Weight::from_parts(0, 2767)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// The range of component `n` is `[0, 92]`. - fn take_first_concatenated_xcm(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_058_000 picoseconds. - Weight::from_parts(2_364_575, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 101 - .saturating_add(Weight::from_parts(16_990, 0).saturating_mul(n.into())) - } - /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) - /// Proof: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) - /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6bedc49980ba3aa32b0a189290fd036649` (r:1 w:1) - /// Proof: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6bedc49980ba3aa32b0a189290fd036649` (r:1 w:1) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn on_idle_good_msg() -> Weight { - // Proof Size summary in bytes: - // Measured: `105647` - // Estimated: `109112` - // Minimum execution time: 186_856_000 picoseconds. - Weight::from_parts(198_214_000, 0) - .saturating_add(Weight::from_parts(0, 109112)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) - /// Proof: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) - /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6bedc49980ba3aa32b0a189290fd036649` (r:1 w:1) - /// Proof: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6bedc49980ba3aa32b0a189290fd036649` (r:1 w:1) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn on_idle_large_msg() -> Weight { - // Proof Size summary in bytes: - // Measured: `65716` - // Estimated: `69181` - // Minimum execution time: 121_741_000 picoseconds. - Weight::from_parts(128_847_000, 0) - .saturating_add(Weight::from_parts(0, 69181)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/extrinsic_weights.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/extrinsic_weights.rs deleted file mode 100644 index ab951aea56150..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/extrinsic_weights.rs +++ /dev/null @@ -1,53 +0,0 @@ -// This file is part of Cumulus. - -// Copyright (C) 2022 Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub mod constants { - use frame_support::{ - parameter_types, - weights::{constants, Weight}, - }; - - parameter_types! { - /// Executing a NO-OP `System::remarks` Extrinsic. - pub const ExtrinsicBaseWeight: Weight = - Weight::from_parts(constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(125_000), 0); - } - - #[cfg(test)] - mod test_weights { - use frame_support::weights::constants; - - /// Checks that the weight exists and is sane. - // NOTE: If this test fails but you are sure that the generated values are fine, - // you can delete it. - #[test] - fn sane() { - let w = super::constants::ExtrinsicBaseWeight::get(); - - // At least 10 Β΅s. - assert!( - w.ref_time() >= 10u64 * constants::WEIGHT_REF_TIME_PER_MICROS, - "Weight should be at least 10 Β΅s." - ); - // At most 1 ms. - assert!( - w.ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS, - "Weight should be at most 1 ms." - ); - } - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/frame_system.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/frame_system.rs deleted file mode 100644 index 5c22848528bfd..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/frame_system.rs +++ /dev/null @@ -1,187 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `frame_system` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `731f893ee36e`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=frame_system -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `frame_system`. -pub struct WeightInfo(PhantomData); -impl frame_system::WeightInfo for WeightInfo { - /// The range of component `b` is `[0, 3932160]`. - fn remark(b: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_931_000 picoseconds. - Weight::from_parts(2_108_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 163 - .saturating_add(Weight::from_parts(14_648, 0).saturating_mul(b.into())) - } - /// The range of component `b` is `[0, 3932160]`. - fn remark_with_event(b: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 5_776_000 picoseconds. - Weight::from_parts(5_947_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 164 - .saturating_add(Weight::from_parts(16_193, 0).saturating_mul(b.into())) - } - /// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1) - /// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1) - fn set_heap_pages() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_367_000 picoseconds. - Weight::from_parts(3_583_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::UpgradeRestrictionSignal` (r:1 w:0) - /// Proof: `ParachainSystem::UpgradeRestrictionSignal` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingValidationCode` (r:1 w:1) - /// Proof: `ParachainSystem::PendingValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::NewValidationCode` (r:0 w:1) - /// Proof: `ParachainSystem::NewValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::DidSetValidationCode` (r:0 w:1) - /// Proof: `ParachainSystem::DidSetValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn set_code() -> Weight { - // Proof Size summary in bytes: - // Measured: `164` - // Estimated: `1649` - // Minimum execution time: 196_300_317_000 picoseconds. - Weight::from_parts(199_282_075_000, 0) - .saturating_add(Weight::from_parts(0, 1649)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Skipped::Metadata` (r:0 w:0) - /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `i` is `[0, 1000]`. - fn set_storage(i: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_979_000 picoseconds. - Weight::from_parts(2_095_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 3_006 - .saturating_add(Weight::from_parts(802_213, 0).saturating_mul(i.into())) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) - } - /// Storage: `Skipped::Metadata` (r:0 w:0) - /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `i` is `[0, 1000]`. - fn kill_storage(i: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_059_000 picoseconds. - Weight::from_parts(2_150_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 1_544 - .saturating_add(Weight::from_parts(622_926, 0).saturating_mul(i.into())) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) - } - /// Storage: `Skipped::Metadata` (r:0 w:0) - /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `p` is `[0, 1000]`. - fn kill_prefix(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `87 + p * (69 Β±0)` - // Estimated: `77 + p * (70 Β±0)` - // Minimum execution time: 4_114_000 picoseconds. - Weight::from_parts(4_276_000, 0) - .saturating_add(Weight::from_parts(0, 77)) - // Standard Error: 3_452 - .saturating_add(Weight::from_parts(1_507_698, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into()))) - .saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into())) - } - /// Storage: `System::AuthorizedUpgrade` (r:0 w:1) - /// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`) - fn authorize_upgrade() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 19_331_000 picoseconds. - Weight::from_parts(22_273_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::AuthorizedUpgrade` (r:1 w:1) - /// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::UpgradeRestrictionSignal` (r:1 w:0) - /// Proof: `ParachainSystem::UpgradeRestrictionSignal` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingValidationCode` (r:1 w:1) - /// Proof: `ParachainSystem::PendingValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::NewValidationCode` (r:0 w:1) - /// Proof: `ParachainSystem::NewValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::DidSetValidationCode` (r:0 w:1) - /// Proof: `ParachainSystem::DidSetValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn apply_authorized_upgrade() -> Weight { - // Proof Size summary in bytes: - // Measured: `186` - // Estimated: `1671` - // Minimum execution time: 201_945_687_000 picoseconds. - Weight::from_parts(205_896_056_000, 0) - .saturating_add(Weight::from_parts(0, 1671)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(4)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/frame_system_extensions.rs deleted file mode 100644 index 2b4bbb426032a..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/frame_system_extensions.rs +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `frame_system_extensions` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("coretime-rococo-dev")`, DB CACHE: 1024 - -// Executed Command: -// ./target/release/polkadot-parachain -// benchmark -// pallet -// --wasm-execution=compiled -// --pallet=frame_system_extensions -// --no-storage-info -// --no-median-slopes -// --no-min-squares -// --extrinsic=* -// --steps=2 -// --repeat=2 -// --json -// --header=./cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/ -// --chain=coretime-rococo-dev - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `frame_system_extensions`. -pub struct WeightInfo(PhantomData); -impl frame_system::ExtensionsWeightInfo for WeightInfo { - /// Storage: `System::BlockHash` (r:1 w:0) - /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - fn check_genesis() -> Weight { - // Proof Size summary in bytes: - // Measured: `54` - // Estimated: `3509` - // Minimum execution time: 3_637_000 picoseconds. - Weight::from_parts(6_382_000, 0) - .saturating_add(Weight::from_parts(0, 3509)) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `System::BlockHash` (r:1 w:0) - /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - fn check_mortality_mortal_transaction() -> Weight { - // Proof Size summary in bytes: - // Measured: `92` - // Estimated: `3509` - // Minimum execution time: 5_841_000 picoseconds. - Weight::from_parts(8_776_000, 0) - .saturating_add(Weight::from_parts(0, 3509)) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `System::BlockHash` (r:1 w:0) - /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - fn check_mortality_immortal_transaction() -> Weight { - // Proof Size summary in bytes: - // Measured: `92` - // Estimated: `3509` - // Minimum execution time: 5_841_000 picoseconds. - Weight::from_parts(8_776_000, 0) - .saturating_add(Weight::from_parts(0, 3509)) - .saturating_add(T::DbWeight::get().reads(1)) - } - fn check_non_zero_sender() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 561_000 picoseconds. - Weight::from_parts(2_705_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn check_nonce() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_316_000 picoseconds. - Weight::from_parts(5_771_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn check_spec_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 511_000 picoseconds. - Weight::from_parts(2_575_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn check_tx_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 501_000 picoseconds. - Weight::from_parts(2_595_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// Storage: `System::AllExtrinsicsLen` (r:1 w:1) - /// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `System::BlockWeight` (r:1 w:1) - /// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`) - fn check_weight() -> Weight { - // Proof Size summary in bytes: - // Measured: `24` - // Estimated: `1533` - // Minimum execution time: 3_687_000 picoseconds. - Weight::from_parts(6_192_000, 0) - .saturating_add(Weight::from_parts(0, 1533)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `System::AllExtrinsicsLen` (r:1 w:1) - /// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `System::BlockWeight` (r:1 w:1) - /// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`) - fn weight_reclaim() -> Weight { - // Proof Size summary in bytes: - // Measured: `24` - // Estimated: `1533` - // Minimum execution time: 3_687_000 picoseconds. - Weight::from_parts(6_192_000, 0) - .saturating_add(Weight::from_parts(0, 1533)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/mod.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/mod.rs deleted file mode 100644 index 7fee4a728b9ef..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/mod.rs +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of Cumulus. - -// Copyright (C) 2022 Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Expose the auto generated weight files. - -pub mod block_weights; -pub mod cumulus_pallet_parachain_system; -pub mod cumulus_pallet_weight_reclaim; -pub mod cumulus_pallet_xcmp_queue; -pub mod extrinsic_weights; -pub mod frame_system; -pub mod frame_system_extensions; -pub mod pallet_balances; -pub mod pallet_broker; -pub mod pallet_collator_selection; -pub mod pallet_message_queue; -pub mod pallet_multisig; -pub mod pallet_proxy; -pub mod pallet_session; -pub mod pallet_timestamp; -pub mod pallet_transaction_payment; -pub mod pallet_utility; -pub mod pallet_xcm; -pub mod paritydb_weights; -pub mod rocksdb_weights; -pub mod xcm; - -pub use block_weights::constants::BlockExecutionWeight; -pub use extrinsic_weights::constants::ExtrinsicBaseWeight; -pub use rocksdb_weights::constants::RocksDbWeight; diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_balances.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_balances.rs deleted file mode 100644 index 78bcf7d0821f6..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_balances.rs +++ /dev/null @@ -1,177 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_balances` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `731f893ee36e`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=pallet_balances -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_balances`. -pub struct WeightInfo(PhantomData); -impl pallet_balances::WeightInfo for WeightInfo { - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_allow_death() -> Weight { - // Proof Size summary in bytes: - // Measured: `52` - // Estimated: `3593` - // Minimum execution time: 55_154_000 picoseconds. - Weight::from_parts(57_138_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_keep_alive() -> Weight { - // Proof Size summary in bytes: - // Measured: `52` - // Estimated: `3593` - // Minimum execution time: 41_474_000 picoseconds. - Weight::from_parts(42_241_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_set_balance_creating() -> Weight { - // Proof Size summary in bytes: - // Measured: `103` - // Estimated: `3593` - // Minimum execution time: 15_302_000 picoseconds. - Weight::from_parts(15_983_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_set_balance_killing() -> Weight { - // Proof Size summary in bytes: - // Measured: `103` - // Estimated: `3593` - // Minimum execution time: 22_164_000 picoseconds. - Weight::from_parts(23_054_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_transfer() -> Weight { - // Proof Size summary in bytes: - // Measured: `155` - // Estimated: `6196` - // Minimum execution time: 53_719_000 picoseconds. - Weight::from_parts(54_410_000, 0) - .saturating_add(Weight::from_parts(0, 6196)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_all() -> Weight { - // Proof Size summary in bytes: - // Measured: `52` - // Estimated: `3593` - // Minimum execution time: 52_699_000 picoseconds. - Weight::from_parts(55_436_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_unreserve() -> Weight { - // Proof Size summary in bytes: - // Measured: `103` - // Estimated: `3593` - // Minimum execution time: 17_575_000 picoseconds. - Weight::from_parts(18_203_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:999 w:999) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `u` is `[1, 1000]`. - fn upgrade_accounts(u: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0 + u * (136 Β±0)` - // Estimated: `990 + u * (2603 Β±0)` - // Minimum execution time: 17_805_000 picoseconds. - Weight::from_parts(18_487_000, 0) - .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 23_150 - .saturating_add(Weight::from_parts(16_728_873, 0).saturating_mul(u.into())) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(u.into()))) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(u.into()))) - .saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into())) - } - fn force_adjust_total_issuance() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 6_293_000 picoseconds. - Weight::from_parts(6_504_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn burn_allow_death() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 31_744_000 picoseconds. - Weight::from_parts(32_669_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn burn_keep_alive() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 21_905_000 picoseconds. - Weight::from_parts(22_867_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_broker.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_broker.rs deleted file mode 100644 index 5132691aaa54a..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_broker.rs +++ /dev/null @@ -1,650 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_broker` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `731f893ee36e`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=pallet_broker -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_broker`. -pub struct WeightInfo(PhantomData); -impl pallet_broker::WeightInfo for WeightInfo { - /// Storage: `Broker::Configuration` (r:0 w:1) - /// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`) - fn configure() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_559_000 picoseconds. - Weight::from_parts(2_723_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::Reservations` (r:1 w:1) - /// Proof: `Broker::Reservations` (`max_values`: Some(1), `max_size`: Some(12021), added: 12516, mode: `MaxEncodedLen`) - fn reserve() -> Weight { - // Proof Size summary in bytes: - // Measured: `10888` - // Estimated: `13506` - // Minimum execution time: 25_270_000 picoseconds. - Weight::from_parts(28_036_000, 0) - .saturating_add(Weight::from_parts(0, 13506)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::Reservations` (r:1 w:1) - /// Proof: `Broker::Reservations` (`max_values`: Some(1), `max_size`: Some(12021), added: 12516, mode: `MaxEncodedLen`) - fn unreserve() -> Weight { - // Proof Size summary in bytes: - // Measured: `12090` - // Estimated: `13506` - // Minimum execution time: 25_774_000 picoseconds. - Weight::from_parts(26_297_000, 0) - .saturating_add(Weight::from_parts(0, 13506)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::Leases` (r:1 w:1) - /// Proof: `Broker::Leases` (`max_values`: Some(1), `max_size`: Some(401), added: 896, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) - /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn set_lease() -> Weight { - // Proof Size summary in bytes: - // Measured: `466` - // Estimated: `1951` - // Minimum execution time: 13_685_000 picoseconds. - Weight::from_parts(14_628_000, 0) - .saturating_add(Weight::from_parts(0, 1951)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::Leases` (r:1 w:1) - /// Proof: `Broker::Leases` (`max_values`: Some(1), `max_size`: Some(401), added: 896, mode: `MaxEncodedLen`) - fn remove_lease() -> Weight { - // Proof Size summary in bytes: - // Measured: `470` - // Estimated: `1886` - // Minimum execution time: 10_681_000 picoseconds. - Weight::from_parts(11_120_000, 0) - .saturating_add(Weight::from_parts(0, 1886)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::Configuration` (r:1 w:0) - /// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`) - /// Storage: `Broker::Leases` (r:1 w:1) - /// Proof: `Broker::Leases` (`max_values`: Some(1), `max_size`: Some(401), added: 896, mode: `MaxEncodedLen`) - /// Storage: `Broker::Reservations` (r:1 w:0) - /// Proof: `Broker::Reservations` (`max_values`: Some(1), `max_size`: Some(12021), added: 12516, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) - /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) - /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `Broker::InstaPoolIo` (r:3 w:3) - /// Proof: `Broker::InstaPoolIo` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `Broker::AutoRenewals` (r:1 w:1) - /// Proof: `Broker::AutoRenewals` (`max_values`: Some(1), `max_size`: Some(1002), added: 1497, mode: `MaxEncodedLen`) - /// Storage: `Broker::SaleInfo` (r:0 w:1) - /// Proof: `Broker::SaleInfo` (`max_values`: Some(1), `max_size`: Some(57), added: 552, mode: `MaxEncodedLen`) - /// Storage: `Broker::Status` (r:0 w:1) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `Broker::Workplan` (r:0 w:60) - /// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 1000]`. - fn start_sales(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `12567` - // Estimated: `15033 + n * (1 Β±0)` - // Minimum execution time: 51_814_000 picoseconds. - Weight::from_parts(150_721_297, 0) - .saturating_add(Weight::from_parts(0, 15033)) - // Standard Error: 2_705 - .saturating_add(Weight::from_parts(20_778, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(12)) - .saturating_add(T::DbWeight::get().writes(59)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) - } - /// Storage: `Broker::Status` (r:1 w:0) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `Broker::SaleInfo` (r:1 w:1) - /// Proof: `Broker::SaleInfo` (`max_values`: Some(1), `max_size`: Some(57), added: 552, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Broker::Regions` (r:0 w:1) - /// Proof: `Broker::Regions` (`max_values`: None, `max_size`: Some(86), added: 2561, mode: `MaxEncodedLen`) - fn purchase() -> Weight { - // Proof Size summary in bytes: - // Measured: `437` - // Estimated: `3593` - // Minimum execution time: 64_403_000 picoseconds. - Weight::from_parts(69_856_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Broker::Configuration` (r:1 w:0) - /// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`) - /// Storage: `Broker::Status` (r:1 w:0) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `Broker::SaleInfo` (r:1 w:1) - /// Proof: `Broker::SaleInfo` (`max_values`: Some(1), `max_size`: Some(57), added: 552, mode: `MaxEncodedLen`) - /// Storage: `Broker::PotentialRenewals` (r:1 w:2) - /// Proof: `Broker::PotentialRenewals` (`max_values`: None, `max_size`: Some(1233), added: 3708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `Broker::Workplan` (r:0 w:1) - /// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`) - fn renew() -> Weight { - // Proof Size summary in bytes: - // Measured: `658` - // Estimated: `4698` - // Minimum execution time: 117_679_000 picoseconds. - Weight::from_parts(131_097_000, 0) - .saturating_add(Weight::from_parts(0, 4698)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `Broker::Regions` (r:1 w:1) - /// Proof: `Broker::Regions` (`max_values`: None, `max_size`: Some(86), added: 2561, mode: `MaxEncodedLen`) - fn transfer() -> Weight { - // Proof Size summary in bytes: - // Measured: `358` - // Estimated: `3551` - // Minimum execution time: 21_875_000 picoseconds. - Weight::from_parts(23_688_000, 0) - .saturating_add(Weight::from_parts(0, 3551)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::Regions` (r:1 w:2) - /// Proof: `Broker::Regions` (`max_values`: None, `max_size`: Some(86), added: 2561, mode: `MaxEncodedLen`) - fn partition() -> Weight { - // Proof Size summary in bytes: - // Measured: `358` - // Estimated: `3551` - // Minimum execution time: 23_879_000 picoseconds. - Weight::from_parts(25_354_000, 0) - .saturating_add(Weight::from_parts(0, 3551)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Broker::Regions` (r:1 w:3) - /// Proof: `Broker::Regions` (`max_values`: None, `max_size`: Some(86), added: 2561, mode: `MaxEncodedLen`) - fn interlace() -> Weight { - // Proof Size summary in bytes: - // Measured: `358` - // Estimated: `3551` - // Minimum execution time: 25_199_000 picoseconds. - Weight::from_parts(29_209_000, 0) - .saturating_add(Weight::from_parts(0, 3551)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Broker::Configuration` (r:1 w:0) - /// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`) - /// Storage: `Broker::Status` (r:1 w:0) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `Broker::Regions` (r:1 w:1) - /// Proof: `Broker::Regions` (`max_values`: None, `max_size`: Some(86), added: 2561, mode: `MaxEncodedLen`) - /// Storage: `Broker::Workplan` (r:1 w:1) - /// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`) - fn assign() -> Weight { - // Proof Size summary in bytes: - // Measured: `937` - // Estimated: `4681` - // Minimum execution time: 38_377_000 picoseconds. - Weight::from_parts(41_124_000, 0) - .saturating_add(Weight::from_parts(0, 4681)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Broker::Status` (r:1 w:0) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `Broker::Regions` (r:1 w:1) - /// Proof: `Broker::Regions` (`max_values`: None, `max_size`: Some(86), added: 2561, mode: `MaxEncodedLen`) - /// Storage: `Broker::Workplan` (r:1 w:1) - /// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`) - /// Storage: `Broker::InstaPoolIo` (r:2 w:2) - /// Proof: `Broker::InstaPoolIo` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `Broker::InstaPoolContribution` (r:0 w:1) - /// Proof: `Broker::InstaPoolContribution` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - fn pool() -> Weight { - // Proof Size summary in bytes: - // Measured: `1003` - // Estimated: `5996` - // Minimum execution time: 45_084_000 picoseconds. - Weight::from_parts(46_851_000, 0) - .saturating_add(Weight::from_parts(0, 5996)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `Broker::InstaPoolContribution` (r:1 w:1) - /// Proof: `Broker::InstaPoolContribution` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - /// Storage: `Broker::InstaPoolHistory` (r:3 w:1) - /// Proof: `Broker::InstaPoolHistory` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `m` is `[1, 3]`. - fn claim_revenue(m: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `671` - // Estimated: `6196 + m * (2520 Β±0)` - // Minimum execution time: 72_975_000 picoseconds. - Weight::from_parts(76_716_241, 0) - .saturating_add(Weight::from_parts(0, 6196)) - // Standard Error: 159_873 - .saturating_add(Weight::from_parts(1_699_650, 0).saturating_mul(m.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(m.into()))) - .saturating_add(T::DbWeight::get().writes(5)) - .saturating_add(Weight::from_parts(0, 2520).saturating_mul(m.into())) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) - /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn purchase_credit() -> Weight { - // Proof Size summary in bytes: - // Measured: `261` - // Estimated: `3726` - // Minimum execution time: 73_412_000 picoseconds. - Weight::from_parts(77_554_000, 0) - .saturating_add(Weight::from_parts(0, 3726)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Broker::Status` (r:1 w:0) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `Broker::Regions` (r:1 w:1) - /// Proof: `Broker::Regions` (`max_values`: None, `max_size`: Some(86), added: 2561, mode: `MaxEncodedLen`) - fn drop_region() -> Weight { - // Proof Size summary in bytes: - // Measured: `466` - // Estimated: `3551` - // Minimum execution time: 62_820_000 picoseconds. - Weight::from_parts(85_149_000, 0) - .saturating_add(Weight::from_parts(0, 3551)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::Configuration` (r:1 w:0) - /// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`) - /// Storage: `Broker::Status` (r:1 w:0) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `Broker::InstaPoolContribution` (r:1 w:1) - /// Proof: `Broker::InstaPoolContribution` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - fn drop_contribution() -> Weight { - // Proof Size summary in bytes: - // Measured: `463` - // Estimated: `3533` - // Minimum execution time: 104_501_000 picoseconds. - Weight::from_parts(146_124_000, 0) - .saturating_add(Weight::from_parts(0, 3533)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::Configuration` (r:1 w:0) - /// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`) - /// Storage: `Broker::Status` (r:1 w:0) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `Broker::InstaPoolHistory` (r:1 w:1) - /// Proof: `Broker::InstaPoolHistory` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:0) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn drop_history() -> Weight { - // Proof Size summary in bytes: - // Measured: `979` - // Estimated: `3593` - // Minimum execution time: 132_420_000 picoseconds. - Weight::from_parts(176_072_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::Status` (r:1 w:0) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `Broker::PotentialRenewals` (r:1 w:1) - /// Proof: `Broker::PotentialRenewals` (`max_values`: None, `max_size`: Some(1233), added: 3708, mode: `MaxEncodedLen`) - fn drop_renewal() -> Weight { - // Proof Size summary in bytes: - // Measured: `957` - // Estimated: `4698` - // Minimum execution time: 67_350_000 picoseconds. - Weight::from_parts(84_436_000, 0) - .saturating_add(Weight::from_parts(0, 4698)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) - /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// The range of component `n` is `[0, 1000]`. - fn request_core_count(_n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `42` - // Estimated: `3507` - // Minimum execution time: 21_143_000 picoseconds. - Weight::from_parts(22_691_546, 0) - .saturating_add(Weight::from_parts(0, 3507)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::CoreCountInbox` (r:1 w:1) - /// Proof: `Broker::CoreCountInbox` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 1000]`. - fn process_core_count(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `266` - // Estimated: `1487` - // Minimum execution time: 7_972_000 picoseconds. - Weight::from_parts(8_929_699, 0) - .saturating_add(Weight::from_parts(0, 1487)) - // Standard Error: 44 - .saturating_add(Weight::from_parts(145, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::RevenueInbox` (r:1 w:1) - /// Proof: `Broker::RevenueInbox` (`max_values`: Some(1), `max_size`: Some(20), added: 515, mode: `MaxEncodedLen`) - /// Storage: `Broker::InstaPoolHistory` (r:1 w:1) - /// Proof: `Broker::InstaPoolHistory` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn process_revenue() -> Weight { - // Proof Size summary in bytes: - // Measured: `461` - // Estimated: `6196` - // Minimum execution time: 58_860_000 picoseconds. - Weight::from_parts(63_100_000, 0) - .saturating_add(Weight::from_parts(0, 6196)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `Broker::InstaPoolIo` (r:3 w:3) - /// Proof: `Broker::InstaPoolIo` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `Broker::Reservations` (r:1 w:0) - /// Proof: `Broker::Reservations` (`max_values`: Some(1), `max_size`: Some(12021), added: 12516, mode: `MaxEncodedLen`) - /// Storage: `Broker::Leases` (r:1 w:1) - /// Proof: `Broker::Leases` (`max_values`: Some(1), `max_size`: Some(401), added: 896, mode: `MaxEncodedLen`) - /// Storage: `Broker::AutoRenewals` (r:1 w:1) - /// Proof: `Broker::AutoRenewals` (`max_values`: Some(1), `max_size`: Some(1002), added: 1497, mode: `MaxEncodedLen`) - /// Storage: `Broker::Configuration` (r:1 w:0) - /// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`) - /// Storage: `Broker::Status` (r:1 w:0) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `Broker::PotentialRenewals` (r:100 w:200) - /// Proof: `Broker::PotentialRenewals` (`max_values`: None, `max_size`: Some(1233), added: 3708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:101 w:101) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Broker::SaleInfo` (r:0 w:1) - /// Proof: `Broker::SaleInfo` (`max_values`: Some(1), `max_size`: Some(57), added: 552, mode: `MaxEncodedLen`) - /// Storage: `Broker::Workplan` (r:0 w:1000) - /// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 1000]`. - fn rotate_sale(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `32497` - // Estimated: `233641 + n * (198 Β±9)` - // Minimum execution time: 32_268_000 picoseconds. - Weight::from_parts(2_840_705_550, 0) - .saturating_add(Weight::from_parts(0, 233641)) - // Standard Error: 173_120 - .saturating_add(Weight::from_parts(4_374_189, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(126)) - .saturating_add(T::DbWeight::get().writes(181)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) - .saturating_add(Weight::from_parts(0, 198).saturating_mul(n.into())) - } - /// Storage: `Broker::InstaPoolIo` (r:1 w:0) - /// Proof: `Broker::InstaPoolIo` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `Broker::InstaPoolHistory` (r:0 w:1) - /// Proof: `Broker::InstaPoolHistory` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - fn process_pool() -> Weight { - // Proof Size summary in bytes: - // Measured: `42` - // Estimated: `3493` - // Minimum execution time: 7_959_000 picoseconds. - Weight::from_parts(8_480_000, 0) - .saturating_add(Weight::from_parts(0, 3493)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::Workplan` (r:1 w:1) - /// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`) - /// Storage: `Broker::Workload` (r:1 w:1) - /// Proof: `Broker::Workload` (`max_values`: None, `max_size`: Some(1212), added: 3687, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) - /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn process_core_schedule() -> Weight { - // Proof Size summary in bytes: - // Measured: `1289` - // Estimated: `4754` - // Minimum execution time: 32_507_000 picoseconds. - Weight::from_parts(33_752_000, 0) - .saturating_add(Weight::from_parts(0, 4754)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) - /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn request_revenue_info_at() -> Weight { - // Proof Size summary in bytes: - // Measured: `42` - // Estimated: `3507` - // Minimum execution time: 16_470_000 picoseconds. - Weight::from_parts(17_120_000, 0) - .saturating_add(Weight::from_parts(0, 3507)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::CoreCountInbox` (r:0 w:1) - /// Proof: `Broker::CoreCountInbox` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) - fn notify_core_count() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_503_000 picoseconds. - Weight::from_parts(2_674_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::RevenueInbox` (r:0 w:1) - /// Proof: `Broker::RevenueInbox` (`max_values`: Some(1), `max_size`: Some(20), added: 515, mode: `MaxEncodedLen`) - fn notify_revenue() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_519_000 picoseconds. - Weight::from_parts(2_752_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::Status` (r:1 w:1) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `Broker::Configuration` (r:1 w:0) - /// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`) - /// Storage: `Broker::CoreCountInbox` (r:1 w:0) - /// Proof: `Broker::CoreCountInbox` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`) - /// Storage: `Broker::RevenueInbox` (r:1 w:0) - /// Proof: `Broker::RevenueInbox` (`max_values`: Some(1), `max_size`: Some(20), added: 515, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn do_tick_base() -> Weight { - // Proof Size summary in bytes: - // Measured: `408` - // Estimated: `1893` - // Minimum execution time: 14_229_000 picoseconds. - Weight::from_parts(15_177_000, 0) - .saturating_add(Weight::from_parts(0, 1893)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::SaleInfo` (r:1 w:0) - /// Proof: `Broker::SaleInfo` (`max_values`: Some(1), `max_size`: Some(57), added: 552, mode: `MaxEncodedLen`) - /// Storage: `Broker::Reservations` (r:1 w:1) - /// Proof: `Broker::Reservations` (`max_values`: Some(1), `max_size`: Some(12021), added: 12516, mode: `MaxEncodedLen`) - /// Storage: `Broker::Status` (r:1 w:0) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `Broker::Workplan` (r:0 w:2) - /// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`) - fn force_reserve() -> Weight { - // Proof Size summary in bytes: - // Measured: `11141` - // Estimated: `13506` - // Minimum execution time: 43_203_000 picoseconds. - Weight::from_parts(45_670_000, 0) - .saturating_add(Weight::from_parts(0, 13506)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Broker::Leases` (r:1 w:1) - /// Proof: `Broker::Leases` (`max_values`: Some(1), `max_size`: Some(401), added: 896, mode: `MaxEncodedLen`) - fn swap_leases() -> Weight { - // Proof Size summary in bytes: - // Measured: `470` - // Estimated: `1886` - // Minimum execution time: 7_773_000 picoseconds. - Weight::from_parts(8_304_000, 0) - .saturating_add(Weight::from_parts(0, 1886)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Broker::SaleInfo` (r:1 w:1) - /// Proof: `Broker::SaleInfo` (`max_values`: Some(1), `max_size`: Some(57), added: 552, mode: `MaxEncodedLen`) - /// Storage: `Broker::PotentialRenewals` (r:1 w:2) - /// Proof: `Broker::PotentialRenewals` (`max_values`: None, `max_size`: Some(1233), added: 3708, mode: `MaxEncodedLen`) - /// Storage: `Broker::Configuration` (r:1 w:0) - /// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`) - /// Storage: `Broker::Status` (r:1 w:0) - /// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `Broker::AutoRenewals` (r:1 w:1) - /// Proof: `Broker::AutoRenewals` (`max_values`: Some(1), `max_size`: Some(1002), added: 1497, mode: `MaxEncodedLen`) - /// Storage: `Broker::Workplan` (r:0 w:1) - /// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`) - fn enable_auto_renew() -> Weight { - // Proof Size summary in bytes: - // Measured: `2829` - // Estimated: `6196` - // Minimum execution time: 159_458_000 picoseconds. - Weight::from_parts(174_911_000, 0) - .saturating_add(Weight::from_parts(0, 6196)) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(7)) - } - /// Storage: `Broker::AutoRenewals` (r:1 w:1) - /// Proof: `Broker::AutoRenewals` (`max_values`: Some(1), `max_size`: Some(1002), added: 1497, mode: `MaxEncodedLen`) - fn disable_auto_renew() -> Weight { - // Proof Size summary in bytes: - // Measured: `1307` - // Estimated: `2487` - // Minimum execution time: 31_994_000 picoseconds. - Weight::from_parts(41_143_000, 0) - .saturating_add(Weight::from_parts(0, 2487)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) - /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn on_new_timeslice() -> Weight { - // Proof Size summary in bytes: - // Measured: `261` - // Estimated: `3726` - // Minimum execution time: 59_280_000 picoseconds. - Weight::from_parts(62_361_000, 0) - .saturating_add(Weight::from_parts(0, 3726)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Broker::Workplan` (r:1 w:1) - /// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`) - fn remove_assignment() -> Weight { - // Proof Size summary in bytes: - // Measured: `798` - // Estimated: `4681` - // Minimum execution time: 23_100_000 picoseconds. - Weight::from_parts(24_235_000, 0) - .saturating_add(Weight::from_parts(0, 4681)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_collator_selection.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_collator_selection.rs deleted file mode 100644 index 7c67136f707c3..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_collator_selection.rs +++ /dev/null @@ -1,280 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_collator_selection` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `731f893ee36e`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=pallet_collator_selection -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_collator_selection`. -pub struct WeightInfo(PhantomData); -impl pallet_collator_selection::WeightInfo for WeightInfo { - /// Storage: `Session::NextKeys` (r:20 w:0) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `CollatorSelection::Invulnerables` (r:0 w:1) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// The range of component `b` is `[1, 20]`. - fn set_invulnerables(b: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `164 + b * (79 Β±0)` - // Estimated: `1155 + b * (2555 Β±0)` - // Minimum execution time: 13_048_000 picoseconds. - Weight::from_parts(11_304_712, 0) - .saturating_add(Weight::from_parts(0, 1155)) - // Standard Error: 21_915 - .saturating_add(Weight::from_parts(4_267_551, 0).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into()))) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(Weight::from_parts(0, 2555).saturating_mul(b.into())) - } - /// Storage: `Session::NextKeys` (r:1 w:0) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:1) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `b` is `[1, 19]`. - /// The range of component `c` is `[1, 99]`. - fn add_invulnerable(b: u32, c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `758 + b * (32 Β±0) + c * (53 Β±0)` - // Estimated: `6287 + b * (37 Β±0) + c * (53 Β±0)` - // Minimum execution time: 49_420_000 picoseconds. - Weight::from_parts(52_550_161, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 24_099 - .saturating_add(Weight::from_parts(43_362, 0).saturating_mul(b.into())) - // Standard Error: 4_568 - .saturating_add(Weight::from_parts(309_696, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) - .saturating_add(Weight::from_parts(0, 37).saturating_mul(b.into())) - .saturating_add(Weight::from_parts(0, 53).saturating_mul(c.into())) - } - /// Storage: `CollatorSelection::CandidateList` (r:1 w:0) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:1) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// The range of component `b` is `[5, 20]`. - fn remove_invulnerable(b: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `119 + b * (32 Β±0)` - // Estimated: `6287` - // Minimum execution time: 12_963_000 picoseconds. - Weight::from_parts(13_242_864, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 4_777 - .saturating_add(Weight::from_parts(181_470, 0).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `CollatorSelection::DesiredCandidates` (r:0 w:1) - /// Proof: `CollatorSelection::DesiredCandidates` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - fn set_desired_candidates() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 5_262_000 picoseconds. - Weight::from_parts(5_533_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `CollatorSelection::CandidacyBond` (r:1 w:1) - /// Proof: `CollatorSelection::CandidacyBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:100 w:100) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:100) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// The range of component `c` is `[0, 100]`. - /// The range of component `k` is `[0, 100]`. - fn set_candidacy_bond(c: u32, k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0 + c * (181 Β±0) + k * (113 Β±0)` - // Estimated: `6287 + c * (901 Β±29) + k * (901 Β±29)` - // Minimum execution time: 11_318_000 picoseconds. - Weight::from_parts(11_646_000, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 190_086 - .saturating_add(Weight::from_parts(6_597_738, 0).saturating_mul(c.into())) - // Standard Error: 190_086 - .saturating_add(Weight::from_parts(5_920_183, 0).saturating_mul(k.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into()))) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) - .saturating_add(Weight::from_parts(0, 901).saturating_mul(c.into())) - .saturating_add(Weight::from_parts(0, 901).saturating_mul(k.into())) - } - /// Storage: `CollatorSelection::CandidacyBond` (r:1 w:0) - /// Proof: `CollatorSelection::CandidacyBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// The range of component `c` is `[4, 100]`. - fn update_bond(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `295 + c * (49 Β±0)` - // Estimated: `6287` - // Minimum execution time: 29_899_000 picoseconds. - Weight::from_parts(32_104_137, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 3_628 - .saturating_add(Weight::from_parts(265_696, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `Session::NextKeys` (r:1 w:0) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `CollatorSelection::CandidacyBond` (r:1 w:0) - /// Proof: `CollatorSelection::CandidacyBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:1) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// The range of component `c` is `[1, 99]`. - fn register_as_candidate(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `724 + c * (52 Β±0)` - // Estimated: `6287 + c * (54 Β±0)` - // Minimum execution time: 43_410_000 picoseconds. - Weight::from_parts(47_711_493, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 4_289 - .saturating_add(Weight::from_parts(336_017, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(Weight::from_parts(0, 54).saturating_mul(c.into())) - } - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::CandidacyBond` (r:1 w:0) - /// Proof: `CollatorSelection::CandidacyBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Session::NextKeys` (r:1 w:0) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:2) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// The range of component `c` is `[4, 100]`. - fn take_candidate_slot(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `892 + c * (52 Β±0)` - // Estimated: `6287 + c * (55 Β±0)` - // Minimum execution time: 61_616_000 picoseconds. - Weight::from_parts(67_366_335, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 6_183 - .saturating_add(Weight::from_parts(350_711, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add(Weight::from_parts(0, 55).saturating_mul(c.into())) - } - /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:1) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// The range of component `c` is `[4, 100]`. - fn leave_intent(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `314 + c * (48 Β±0)` - // Estimated: `6287` - // Minimum execution time: 32_929_000 picoseconds. - Weight::from_parts(35_028_430, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 3_778 - .saturating_add(Weight::from_parts(285_010, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:1) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - fn note_author() -> Weight { - // Proof Size summary in bytes: - // Measured: `103` - // Estimated: `6196` - // Minimum execution time: 43_473_000 picoseconds. - Weight::from_parts(44_091_000, 0) - .saturating_add(Weight::from_parts(0, 6196)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `CollatorSelection::CandidateList` (r:1 w:0) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:100 w:0) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::DesiredCandidates` (r:1 w:0) - /// Proof: `CollatorSelection::DesiredCandidates` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:97 w:97) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 100]`. - /// The range of component `c` is `[1, 100]`. - fn new_session(r: u32, c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `2146 + c * (97 Β±0) + r * (113 Β±0)` - // Estimated: `6287 + c * (2519 Β±0) + r * (2603 Β±0)` - // Minimum execution time: 20_505_000 picoseconds. - Weight::from_parts(20_920_000, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 341_718 - .saturating_add(Weight::from_parts(15_760_613, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(c.into()))) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into()))) - .saturating_add(Weight::from_parts(0, 2519).saturating_mul(c.into())) - .saturating_add(Weight::from_parts(0, 2603).saturating_mul(r.into())) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_message_queue.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_message_queue.rs deleted file mode 100644 index 29171099ffef5..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_message_queue.rs +++ /dev/null @@ -1,200 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_message_queue` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `731f893ee36e`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=pallet_message_queue -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_message_queue`. -pub struct WeightInfo(PhantomData); -impl pallet_message_queue::WeightInfo for WeightInfo { - /// Storage: `MessageQueue::ServiceHead` (r:1 w:0) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::BookStateFor` (r:2 w:2) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn ready_ring_knit() -> Weight { - // Proof Size summary in bytes: - // Measured: `223` - // Estimated: `6044` - // Minimum execution time: 14_405_000 picoseconds. - Weight::from_parts(14_797_000, 0) - .saturating_add(Weight::from_parts(0, 6044)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `MessageQueue::BookStateFor` (r:2 w:2) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - fn ready_ring_unknit() -> Weight { - // Proof Size summary in bytes: - // Measured: `218` - // Estimated: `6044` - // Minimum execution time: 12_706_000 picoseconds. - Weight::from_parts(13_539_000, 0) - .saturating_add(Weight::from_parts(0, 6044)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn service_queue_base() -> Weight { - // Proof Size summary in bytes: - // Measured: `6` - // Estimated: `3517` - // Minimum execution time: 4_090_000 picoseconds. - Weight::from_parts(4_371_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn service_page_base_completion() -> Weight { - // Proof Size summary in bytes: - // Measured: `72` - // Estimated: `108986` - // Minimum execution time: 6_532_000 picoseconds. - Weight::from_parts(6_800_000, 0) - .saturating_add(Weight::from_parts(0, 108986)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn service_page_base_no_completion() -> Weight { - // Proof Size summary in bytes: - // Measured: `72` - // Estimated: `108986` - // Minimum execution time: 6_433_000 picoseconds. - Weight::from_parts(6_801_000, 0) - .saturating_add(Weight::from_parts(0, 108986)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::BookStateFor` (r:0 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn service_page_item() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 308_978_000 picoseconds. - Weight::from_parts(320_864_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:0) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn bump_service_head() -> Weight { - // Proof Size summary in bytes: - // Measured: `171` - // Estimated: `3517` - // Minimum execution time: 7_742_000 picoseconds. - Weight::from_parts(8_240_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:0) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:0 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - fn set_service_head() -> Weight { - // Proof Size summary in bytes: - // Measured: `161` - // Estimated: `3517` - // Minimum execution time: 6_237_000 picoseconds. - Weight::from_parts(6_609_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn reap_page() -> Weight { - // Proof Size summary in bytes: - // Measured: `105609` - // Estimated: `108986` - // Minimum execution time: 128_314_000 picoseconds. - Weight::from_parts(135_492_000, 0) - .saturating_add(Weight::from_parts(0, 108986)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn execute_overweight_page_removed() -> Weight { - // Proof Size summary in bytes: - // Measured: `105609` - // Estimated: `108986` - // Minimum execution time: 160_479_000 picoseconds. - Weight::from_parts(171_099_000, 0) - .saturating_add(Weight::from_parts(0, 108986)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn execute_overweight_page_updated() -> Weight { - // Proof Size summary in bytes: - // Measured: `105609` - // Estimated: `108986` - // Minimum execution time: 225_101_000 picoseconds. - Weight::from_parts(245_361_000, 0) - .saturating_add(Weight::from_parts(0, 108986)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_multisig.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_multisig.rs deleted file mode 100644 index 441b4e625dd8c..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_multisig.rs +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_multisig` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-25, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `c8c7296f7413`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=pallet_multisig -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_multisig`. -pub struct WeightInfo(PhantomData); -impl pallet_multisig::WeightInfo for WeightInfo { - /// The range of component `z` is `[0, 10000]`. - fn as_multi_threshold_1(z: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 15_641_000 picoseconds. - Weight::from_parts(16_253_264, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 9 - .saturating_add(Weight::from_parts(490, 0).saturating_mul(z.into())) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - /// The range of component `z` is `[0, 10000]`. - fn as_multi_create(s: u32, z: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `262 + s * (2 Β±0)` - // Estimated: `6811` - // Minimum execution time: 45_641_000 picoseconds. - Weight::from_parts(32_463_659, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_746 - .saturating_add(Weight::from_parts(154_624, 0).saturating_mul(s.into())) - // Standard Error: 17 - .saturating_add(Weight::from_parts(1_972, 0).saturating_mul(z.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[3, 100]`. - /// The range of component `z` is `[0, 10000]`. - fn as_multi_approve(s: u32, z: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `282` - // Estimated: `6811` - // Minimum execution time: 30_242_000 picoseconds. - Weight::from_parts(18_657_028, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_726 - .saturating_add(Weight::from_parts(135_426, 0).saturating_mul(s.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_960, 0).saturating_mul(z.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - /// The range of component `z` is `[0, 10000]`. - fn as_multi_complete(s: u32, z: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `385 + s * (33 Β±0)` - // Estimated: `6811` - // Minimum execution time: 52_084_000 picoseconds. - Weight::from_parts(32_454_224, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 2_509 - .saturating_add(Weight::from_parts(214_513, 0).saturating_mul(s.into())) - // Standard Error: 24 - .saturating_add(Weight::from_parts(2_247, 0).saturating_mul(z.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - fn approve_as_multi_create(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `263 + s * (2 Β±0)` - // Estimated: `6811` - // Minimum execution time: 29_600_000 picoseconds. - Weight::from_parts(30_597_949, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 2_117 - .saturating_add(Weight::from_parts(191_486, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - fn approve_as_multi_approve(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `282` - // Estimated: `6811` - // Minimum execution time: 17_839_000 picoseconds. - Weight::from_parts(18_672_161, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 2_491 - .saturating_add(Weight::from_parts(172_942, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - fn cancel_as_multi(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `454 + s * (1 Β±0)` - // Estimated: `6811` - // Minimum execution time: 31_824_000 picoseconds. - Weight::from_parts(35_736_587, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 3_833 - .saturating_add(Weight::from_parts(187_839, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - fn poke_deposit(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `454 + s * (1 Β±0)` - // Estimated: `6811` - // Minimum execution time: 29_796_000 picoseconds. - Weight::from_parts(35_859_134, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 3_720 - .saturating_add(Weight::from_parts(82_222, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_proxy.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_proxy.rs deleted file mode 100644 index c0fd7f312191d..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_proxy.rs +++ /dev/null @@ -1,242 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_proxy` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `99fc4dfa9c86`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=pallet_proxy -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_proxy`. -pub struct WeightInfo(PhantomData); -impl pallet_proxy::WeightInfo for WeightInfo { - /// Storage: `Proxy::Proxies` (r:1 w:0) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn proxy(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `127 + p * (37 Β±0)` - // Estimated: `4706` - // Minimum execution time: 13_890_000 picoseconds. - Weight::from_parts(14_690_357, 0) - .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_079 - .saturating_add(Weight::from_parts(35_620, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:0) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn proxy_announced(a: u32, p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `454 + a * (68 Β±0) + p * (37 Β±0)` - // Estimated: `5698` - // Minimum execution time: 40_937_000 picoseconds. - Weight::from_parts(41_413_996, 0) - .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 2_304 - .saturating_add(Weight::from_parts(151_878, 0).saturating_mul(a.into())) - // Standard Error: 2_380 - .saturating_add(Weight::from_parts(49_552, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn remove_announcement(a: u32, p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `369 + a * (68 Β±0)` - // Estimated: `5698` - // Minimum execution time: 25_502_000 picoseconds. - Weight::from_parts(26_072_967, 0) - .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 1_715 - .saturating_add(Weight::from_parts(150_032, 0).saturating_mul(a.into())) - // Standard Error: 1_772 - .saturating_add(Weight::from_parts(27_530, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn reject_announcement(a: u32, p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `369 + a * (68 Β±0)` - // Estimated: `5698` - // Minimum execution time: 25_381_000 picoseconds. - Weight::from_parts(25_796_690, 0) - .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 1_798 - .saturating_add(Weight::from_parts(155_598, 0).saturating_mul(a.into())) - // Standard Error: 1_858 - .saturating_add(Weight::from_parts(31_967, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Proxy::Proxies` (r:1 w:0) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn announce(a: u32, p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `386 + a * (68 Β±0) + p * (37 Β±0)` - // Estimated: `5698` - // Minimum execution time: 33_900_000 picoseconds. - Weight::from_parts(37_483_729, 0) - .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 3_283 - .saturating_add(Weight::from_parts(166_328, 0).saturating_mul(a.into())) - // Standard Error: 3_392 - .saturating_add(Weight::from_parts(48_909, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn add_proxy(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `127 + p * (37 Β±0)` - // Estimated: `4706` - // Minimum execution time: 24_003_000 picoseconds. - Weight::from_parts(24_851_370, 0) - .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_101 - .saturating_add(Weight::from_parts(51_924, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn remove_proxy(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `127 + p * (37 Β±0)` - // Estimated: `4706` - // Minimum execution time: 23_865_000 picoseconds. - Weight::from_parts(24_891_590, 0) - .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_213 - .saturating_add(Weight::from_parts(51_884, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn remove_proxies(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `127 + p * (37 Β±0)` - // Estimated: `4706` - // Minimum execution time: 21_419_000 picoseconds. - Weight::from_parts(22_277_152, 0) - .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_286 - .saturating_add(Weight::from_parts(32_631, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn create_pure(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `139` - // Estimated: `4706` - // Minimum execution time: 25_635_000 picoseconds. - Weight::from_parts(26_592_871, 0) - .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_635 - .saturating_add(Weight::from_parts(22_103, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[0, 30]`. - fn kill_pure(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `164 + p * (37 Β±0)` - // Estimated: `4706` - // Minimum execution time: 22_150_000 picoseconds. - Weight::from_parts(23_367_544, 0) - .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_500 - .saturating_add(Weight::from_parts(24_164, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - fn poke_deposit() -> Weight { - // Proof Size summary in bytes: - // Measured: `453` - // Estimated: `5698` - // Minimum execution time: 43_886_000 picoseconds. - Weight::from_parts(45_017_000, 0) - .saturating_add(Weight::from_parts(0, 5698)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_session.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_session.rs deleted file mode 100644 index 55bec98555b3b..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_session.rs +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_session` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `731f893ee36e`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=pallet_session -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_session`. -pub struct WeightInfo(PhantomData); -impl pallet_session::WeightInfo for WeightInfo { - /// Storage: `Session::NextKeys` (r:1 w:1) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Session::KeyOwner` (r:1 w:1) - /// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn set_keys() -> Weight { - // Proof Size summary in bytes: - // Measured: `271` - // Estimated: `3736` - // Minimum execution time: 18_189_000 picoseconds. - Weight::from_parts(18_519_000, 0) - .saturating_add(Weight::from_parts(0, 3736)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Session::NextKeys` (r:1 w:1) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Session::KeyOwner` (r:0 w:1) - /// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn purge_keys() -> Weight { - // Proof Size summary in bytes: - // Measured: `243` - // Estimated: `3708` - // Minimum execution time: 13_124_000 picoseconds. - Weight::from_parts(13_680_000, 0) - .saturating_add(Weight::from_parts(0, 3708)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_timestamp.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_timestamp.rs deleted file mode 100644 index d1bf00506a585..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_timestamp.rs +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_timestamp` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `731f893ee36e`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=pallet_timestamp -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_timestamp`. -pub struct WeightInfo(PhantomData); -impl pallet_timestamp::WeightInfo for WeightInfo { - /// Storage: `Timestamp::Now` (r:1 w:1) - /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) - /// Storage: `Aura::CurrentSlot` (r:1 w:0) - /// Proof: `Aura::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) - fn set() -> Weight { - // Proof Size summary in bytes: - // Measured: `122` - // Estimated: `1493` - // Minimum execution time: 8_672_000 picoseconds. - Weight::from_parts(9_150_000, 0) - .saturating_add(Weight::from_parts(0, 1493)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - fn on_finalize() -> Weight { - // Proof Size summary in bytes: - // Measured: `94` - // Estimated: `0` - // Minimum execution time: 4_545_000 picoseconds. - Weight::from_parts(4_671_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_transaction_payment.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_transaction_payment.rs deleted file mode 100644 index 3832b2726b389..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_transaction_payment.rs +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_transaction_payment` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("coretime-rococo-dev")`, DB CACHE: 1024 - -// Executed Command: -// ./target/release/polkadot-parachain -// benchmark -// pallet -// --wasm-execution=compiled -// --pallet=pallet_transaction_payment -// --no-storage-info -// --no-median-slopes -// --no-min-squares -// --extrinsic=* -// --steps=2 -// --repeat=2 -// --json -// --header=./cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/ -// --chain=coretime-rococo-dev - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_transaction_payment`. -pub struct WeightInfo(PhantomData); -impl pallet_transaction_payment::WeightInfo for WeightInfo { - /// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0) - /// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn charge_transaction_payment() -> Weight { - // Proof Size summary in bytes: - // Measured: `4` - // Estimated: `3593` - // Minimum execution time: 33_363_000 picoseconds. - Weight::from_parts(38_793_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_utility.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_utility.rs deleted file mode 100644 index fe30d3fea52d6..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_utility.rs +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_utility` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `731f893ee36e`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=pallet_utility -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_utility`. -pub struct WeightInfo(PhantomData); -impl pallet_utility::WeightInfo for WeightInfo { - /// The range of component `c` is `[0, 1000]`. - fn batch(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 4_976_000 picoseconds. - Weight::from_parts(6_862_599, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 3_359 - .saturating_add(Weight::from_parts(3_016_767, 0).saturating_mul(c.into())) - } - fn as_derivative() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 4_476_000 picoseconds. - Weight::from_parts(4_633_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// The range of component `c` is `[0, 1000]`. - fn batch_all(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 5_002_000 picoseconds. - Weight::from_parts(1_748_813, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 3_837 - .saturating_add(Weight::from_parts(3_247_545, 0).saturating_mul(c.into())) - } - fn dispatch_as() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 6_845_000 picoseconds. - Weight::from_parts(7_178_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// The range of component `c` is `[0, 1000]`. - fn force_batch(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 5_086_000 picoseconds. - Weight::from_parts(5_214_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_197 - .saturating_add(Weight::from_parts(3_033_800, 0).saturating_mul(c.into())) - } - fn dispatch_as_fallible() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 6_782_000 picoseconds. - Weight::from_parts(7_084_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn if_else() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 8_384_000 picoseconds. - Weight::from_parts(8_737_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_xcm.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_xcm.rs deleted file mode 100644 index a8fc53528ceb0..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_xcm.rs +++ /dev/null @@ -1,406 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_xcm` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-07-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `a49f76527979`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=pallet_xcm -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_xcm`. -pub struct WeightInfo(PhantomData); -impl pallet_xcm::WeightInfo for WeightInfo { - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - /// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - fn send() -> Weight { - // Proof Size summary in bytes: - // Measured: `212` - // Estimated: `3677` - // Minimum execution time: 31_555_000 picoseconds. - Weight::from_parts(32_773_000, 0) - .saturating_add(Weight::from_parts(0, 3677)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) - /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0) - /// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - /// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - fn teleport_assets() -> Weight { - // Proof Size summary in bytes: - // Measured: `244` - // Estimated: `3709` - // Minimum execution time: 116_744_000 picoseconds. - Weight::from_parts(120_244_000, 0) - .saturating_add(Weight::from_parts(0, 3709)) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) - /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0) - /// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `Broker::Regions` (r:1 w:1) - /// Proof: `Broker::Regions` (`max_values`: None, `max_size`: Some(86), added: 2561, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - /// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - fn reserve_transfer_assets() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `3810` - // Minimum execution time: 116_448_000 picoseconds. - Weight::from_parts(118_864_000, 0) - .saturating_add(Weight::from_parts(0, 3810)) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) - /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0) - /// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - /// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - fn transfer_assets() -> Weight { - // Proof Size summary in bytes: - // Measured: `244` - // Estimated: `3709` - // Minimum execution time: 117_177_000 picoseconds. - Weight::from_parts(120_737_000, 0) - .saturating_add(Weight::from_parts(0, 3709)) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0) - /// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn execute() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `1485` - // Minimum execution time: 9_083_000 picoseconds. - Weight::from_parts(9_616_000, 0) - .saturating_add(Weight::from_parts(0, 1485)) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn force_xcm_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 7_808_000 picoseconds. - Weight::from_parts(8_180_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - fn force_default_xcm_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_309_000 picoseconds. - Weight::from_parts(2_495_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1) - /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1) - /// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - /// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::Queries` (r:0 w:1) - /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn force_subscribe_version_notify() -> Weight { - // Proof Size summary in bytes: - // Measured: `212` - // Estimated: `3677` - // Minimum execution time: 38_166_000 picoseconds. - Weight::from_parts(39_769_000, 0) - .saturating_add(Weight::from_parts(0, 3677)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1) - /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:0) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::OutboundXcmpMessages` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::Queries` (r:0 w:1) - /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn force_unsubscribe_version_notify() -> Weight { - // Proof Size summary in bytes: - // Measured: `371` - // Estimated: `108971` - // Minimum execution time: 42_995_000 picoseconds. - Weight::from_parts(44_315_000, 0) - .saturating_add(Weight::from_parts(0, 108971)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `PolkadotXcm::XcmExecutionSuspended` (r:0 w:1) - /// Proof: `PolkadotXcm::XcmExecutionSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn force_suspension() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_409_000 picoseconds. - Weight::from_parts(2_518_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PolkadotXcm::SupportedVersion` (r:6 w:2) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn migrate_supported_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `23` - // Estimated: `15863` - // Minimum execution time: 20_235_000 picoseconds. - Weight::from_parts(20_606_000, 0) - .saturating_add(Weight::from_parts(0, 15863)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PolkadotXcm::VersionNotifiers` (r:6 w:2) - /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn migrate_version_notifiers() -> Weight { - // Proof Size summary in bytes: - // Measured: `27` - // Estimated: `15867` - // Minimum execution time: 20_259_000 picoseconds. - Weight::from_parts(21_120_000, 0) - .saturating_add(Weight::from_parts(0, 15867)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:7 w:0) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn already_notified_target() -> Weight { - // Proof Size summary in bytes: - // Measured: `79` - // Estimated: `18394` - // Minimum execution time: 25_370_000 picoseconds. - Weight::from_parts(25_734_000, 0) - .saturating_add(Weight::from_parts(0, 18394)) - .saturating_add(T::DbWeight::get().reads(7)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:2 w:1) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn notify_current_targets() -> Weight { - // Proof Size summary in bytes: - // Measured: `155` - // Estimated: `6095` - // Minimum execution time: 35_587_000 picoseconds. - Weight::from_parts(37_045_000, 0) - .saturating_add(Weight::from_parts(0, 6095)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:5 w:0) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn notify_target_migration_fail() -> Weight { - // Proof Size summary in bytes: - // Measured: `79` - // Estimated: `13444` - // Minimum execution time: 17_717_000 picoseconds. - Weight::from_parts(18_247_000, 0) - .saturating_add(Weight::from_parts(0, 13444)) - .saturating_add(T::DbWeight::get().reads(5)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:6 w:2) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn migrate_version_notify_targets() -> Weight { - // Proof Size summary in bytes: - // Measured: `34` - // Estimated: `15874` - // Minimum execution time: 20_002_000 picoseconds. - Weight::from_parts(20_802_000, 0) - .saturating_add(Weight::from_parts(0, 15874)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:6 w:1) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn migrate_and_notify_old_targets() -> Weight { - // Proof Size summary in bytes: - // Measured: `155` - // Estimated: `15995` - // Minimum execution time: 45_805_000 picoseconds. - Weight::from_parts(47_379_000, 0) - .saturating_add(Weight::from_parts(0, 15995)) - .saturating_add(T::DbWeight::get().reads(9)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1) - /// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::Queries` (r:0 w:1) - /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn new_query() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `1485` - // Minimum execution time: 2_673_000 picoseconds. - Weight::from_parts(2_817_000, 0) - .saturating_add(Weight::from_parts(0, 1485)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PolkadotXcm::Queries` (r:1 w:1) - /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn take_response() -> Weight { - // Proof Size summary in bytes: - // Measured: `7576` - // Estimated: `11041` - // Minimum execution time: 27_286_000 picoseconds. - Weight::from_parts(28_304_000, 0) - .saturating_add(Weight::from_parts(0, 11041)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0) - /// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::AssetTraps` (r:1 w:1) - /// Proof: `PolkadotXcm::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn claim_assets() -> Weight { - // Proof Size summary in bytes: - // Measured: `24` - // Estimated: `3489` - // Minimum execution time: 39_233_000 picoseconds. - Weight::from_parts(40_152_000, 0) - .saturating_add(Weight::from_parts(0, 3489)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Benchmark::Override` (r:0 w:0) - /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn add_authorized_alias() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 18_446_744_073_709_551_000 picoseconds. - Weight::from_parts(18_446_744_073_709_551_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// Storage: `Benchmark::Override` (r:0 w:0) - /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn remove_authorized_alias() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 18_446_744_073_709_551_000 picoseconds. - Weight::from_parts(18_446_744_073_709_551_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn weigh_message() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 8_233_000 picoseconds. - Weight::from_parts(8_339_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/paritydb_weights.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/paritydb_weights.rs deleted file mode 100644 index db09e9de7bdf4..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/paritydb_weights.rs +++ /dev/null @@ -1,63 +0,0 @@ -// This file is part of Cumulus. - -// Copyright (C) 2022 Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub mod constants { - use frame_support::{ - parameter_types, - weights::{constants, RuntimeDbWeight}, - }; - - parameter_types! { - /// `ParityDB` can be enabled with a feature flag, but is still experimental. These weights - /// are available for brave runtime engineers who may want to try this out as default. - pub const ParityDbWeight: RuntimeDbWeight = RuntimeDbWeight { - read: 8_000 * constants::WEIGHT_REF_TIME_PER_NANOS, - write: 50_000 * constants::WEIGHT_REF_TIME_PER_NANOS, - }; - } - - #[cfg(test)] - mod test_db_weights { - use super::constants::ParityDbWeight as W; - use frame_support::weights::constants; - - /// Checks that all weights exist and have sane values. - // NOTE: If this test fails but you are sure that the generated values are fine, - // you can delete it. - #[test] - fn sane() { - // At least 1 Β΅s. - assert!( - W::get().reads(1).ref_time() >= constants::WEIGHT_REF_TIME_PER_MICROS, - "Read weight should be at least 1 Β΅s." - ); - assert!( - W::get().writes(1).ref_time() >= constants::WEIGHT_REF_TIME_PER_MICROS, - "Write weight should be at least 1 Β΅s." - ); - // At most 1 ms. - assert!( - W::get().reads(1).ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS, - "Read weight should be at most 1 ms." - ); - assert!( - W::get().writes(1).ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS, - "Write weight should be at most 1 ms." - ); - } - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/rocksdb_weights.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/rocksdb_weights.rs deleted file mode 100644 index 855ec356bca93..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/rocksdb_weights.rs +++ /dev/null @@ -1,63 +0,0 @@ -// This file is part of Cumulus. - -// Copyright (C) 2022 Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub mod constants { - use frame_support::{ - parameter_types, - weights::{constants, RuntimeDbWeight}, - }; - - parameter_types! { - /// By default, Substrate uses `RocksDB`, so this will be the weight used throughout - /// the runtime. - pub const RocksDbWeight: RuntimeDbWeight = RuntimeDbWeight { - read: 25_000 * constants::WEIGHT_REF_TIME_PER_NANOS, - write: 100_000 * constants::WEIGHT_REF_TIME_PER_NANOS, - }; - } - - #[cfg(test)] - mod test_db_weights { - use super::constants::RocksDbWeight as W; - use frame_support::weights::constants; - - /// Checks that all weights exist and have sane values. - // NOTE: If this test fails but you are sure that the generated values are fine, - // you can delete it. - #[test] - fn sane() { - // At least 1 Β΅s. - assert!( - W::get().reads(1).ref_time() >= constants::WEIGHT_REF_TIME_PER_MICROS, - "Read weight should be at least 1 Β΅s." - ); - assert!( - W::get().writes(1).ref_time() >= constants::WEIGHT_REF_TIME_PER_MICROS, - "Write weight should be at least 1 Β΅s." - ); - // At most 1 ms. - assert!( - W::get().reads(1).ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS, - "Read weight should be at most 1 ms." - ); - assert!( - W::get().writes(1).ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS, - "Write weight should be at most 1 ms." - ); - } - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/xcm/mod.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/xcm/mod.rs deleted file mode 100644 index ce2279e2ba8e8..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/xcm/mod.rs +++ /dev/null @@ -1,273 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -mod pallet_xcm_benchmarks_fungible; -mod pallet_xcm_benchmarks_generic; - -use crate::{xcm_config::MaxAssetsIntoHolding, Runtime}; -use alloc::vec::Vec; -use frame_support::weights::Weight; -use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight; -use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric; -use sp_runtime::BoundedVec; -use xcm::{ - latest::{prelude::*, AssetTransferFilter}, - DoubleEncoded, -}; - -trait WeighAssets { - fn weigh_assets(&self, weight: Weight) -> Weight; -} - -const MAX_ASSETS: u64 = 100; - -impl WeighAssets for AssetFilter { - fn weigh_assets(&self, weight: Weight) -> Weight { - match self { - Self::Definite(assets) => weight.saturating_mul(assets.inner().iter().count() as u64), - Self::Wild(asset) => match asset { - All => weight.saturating_mul(MAX_ASSETS), - AllOf { fun, .. } => match fun { - WildFungibility::Fungible => weight, - // Magic number 2 has to do with the fact that we could have up to 2 times - // MaxAssetsIntoHolding in the worst-case scenario. - WildFungibility::NonFungible => - weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64), - }, - AllCounted(count) => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), - AllOfCounted { count, .. } => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), - }, - } - } -} - -impl WeighAssets for Assets { - fn weigh_assets(&self, weight: Weight) -> Weight { - weight.saturating_mul(self.inner().iter().count() as u64) - } -} - -pub struct CoretimeRococoXcmWeight(core::marker::PhantomData); -impl XcmWeightInfo for CoretimeRococoXcmWeight { - fn withdraw_asset(assets: &Assets) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::withdraw_asset()) - } - fn reserve_asset_deposited(assets: &Assets) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::reserve_asset_deposited()) - } - fn receive_teleported_asset(assets: &Assets) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::receive_teleported_asset()) - } - fn query_response( - _query_id: &u64, - _response: &Response, - _max_weight: &Weight, - _querier: &Option, - ) -> Weight { - XcmGeneric::::query_response() - } - fn transfer_asset(assets: &Assets, _dest: &Location) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::transfer_asset()) - } - fn transfer_reserve_asset(assets: &Assets, _dest: &Location, _xcm: &Xcm<()>) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::transfer_reserve_asset()) - } - fn transact( - _origin_type: &OriginKind, - _fallback_max_weight: &Option, - _call: &DoubleEncoded, - ) -> Weight { - XcmGeneric::::transact() - } - fn hrmp_new_channel_open_request( - _sender: &u32, - _max_message_size: &u32, - _max_capacity: &u32, - ) -> Weight { - // XCM Executor does not currently support HRMP channel operations - Weight::MAX - } - fn hrmp_channel_accepted(_recipient: &u32) -> Weight { - // XCM Executor does not currently support HRMP channel operations - Weight::MAX - } - fn hrmp_channel_closing(_initiator: &u32, _sender: &u32, _recipient: &u32) -> Weight { - // XCM Executor does not currently support HRMP channel operations - Weight::MAX - } - fn clear_origin() -> Weight { - XcmGeneric::::clear_origin() - } - fn descend_origin(_who: &InteriorLocation) -> Weight { - XcmGeneric::::descend_origin() - } - fn report_error(_query_response_info: &QueryResponseInfo) -> Weight { - XcmGeneric::::report_error() - } - fn deposit_asset(assets: &AssetFilter, _dest: &Location) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::deposit_asset()) - } - fn deposit_reserve_asset(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::deposit_reserve_asset()) - } - fn exchange_asset(_give: &AssetFilter, _receive: &Assets, _maximal: &bool) -> Weight { - Weight::MAX - } - fn initiate_reserve_withdraw( - assets: &AssetFilter, - _reserve: &Location, - _xcm: &Xcm<()>, - ) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::initiate_reserve_withdraw()) - } - fn initiate_teleport(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::initiate_teleport()) - } - fn initiate_transfer( - _dest: &Location, - remote_fees: &Option, - _preserve_origin: &bool, - assets: &BoundedVec, - _xcm: &Xcm<()>, - ) -> Weight { - let mut weight = if let Some(remote_fees) = remote_fees { - let fees = remote_fees.inner(); - fees.weigh_assets(XcmFungibleWeight::::initiate_transfer()) - } else { - Weight::zero() - }; - for asset_filter in assets { - let assets = asset_filter.inner(); - let extra = assets.weigh_assets(XcmFungibleWeight::::initiate_transfer()); - weight = weight.saturating_add(extra); - } - weight - } - fn report_holding(_response_info: &QueryResponseInfo, _assets: &AssetFilter) -> Weight { - XcmGeneric::::report_holding() - } - fn buy_execution(_fees: &Asset, _weight_limit: &WeightLimit) -> Weight { - XcmGeneric::::buy_execution() - } - fn pay_fees(_asset: &Asset) -> Weight { - XcmGeneric::::pay_fees() - } - fn refund_surplus() -> Weight { - XcmGeneric::::refund_surplus() - } - fn set_error_handler(_xcm: &Xcm) -> Weight { - XcmGeneric::::set_error_handler() - } - fn set_appendix(_xcm: &Xcm) -> Weight { - XcmGeneric::::set_appendix() - } - fn clear_error() -> Weight { - XcmGeneric::::clear_error() - } - fn claim_asset(_assets: &Assets, _ticket: &Location) -> Weight { - XcmGeneric::::claim_asset() - } - fn trap(_code: &u64) -> Weight { - XcmGeneric::::trap() - } - fn subscribe_version(_query_id: &QueryId, _max_response_weight: &Weight) -> Weight { - XcmGeneric::::subscribe_version() - } - fn unsubscribe_version() -> Weight { - XcmGeneric::::unsubscribe_version() - } - fn burn_asset(assets: &Assets) -> Weight { - assets.weigh_assets(XcmGeneric::::burn_asset()) - } - fn expect_asset(assets: &Assets) -> Weight { - assets.weigh_assets(XcmGeneric::::expect_asset()) - } - fn expect_origin(_origin: &Option) -> Weight { - XcmGeneric::::expect_origin() - } - fn expect_error(_error: &Option<(u32, XcmError)>) -> Weight { - XcmGeneric::::expect_error() - } - fn expect_transact_status(_transact_status: &MaybeErrorCode) -> Weight { - XcmGeneric::::expect_transact_status() - } - fn query_pallet(_module_name: &Vec, _response_info: &QueryResponseInfo) -> Weight { - XcmGeneric::::query_pallet() - } - fn expect_pallet( - _index: &u32, - _name: &Vec, - _module_name: &Vec, - _crate_major: &u32, - _min_crate_minor: &u32, - ) -> Weight { - XcmGeneric::::expect_pallet() - } - fn report_transact_status(_response_info: &QueryResponseInfo) -> Weight { - XcmGeneric::::report_transact_status() - } - fn clear_transact_status() -> Weight { - XcmGeneric::::clear_transact_status() - } - fn universal_origin(_: &Junction) -> Weight { - Weight::MAX - } - fn export_message(_: &NetworkId, _: &Junctions, _: &Xcm<()>) -> Weight { - Weight::MAX - } - fn lock_asset(_: &Asset, _: &Location) -> Weight { - Weight::MAX - } - fn unlock_asset(_: &Asset, _: &Location) -> Weight { - Weight::MAX - } - fn note_unlockable(_: &Asset, _: &Location) -> Weight { - Weight::MAX - } - fn request_unlock(_: &Asset, _: &Location) -> Weight { - Weight::MAX - } - fn set_fees_mode(_: &bool) -> Weight { - XcmGeneric::::set_fees_mode() - } - fn set_topic(_topic: &[u8; 32]) -> Weight { - XcmGeneric::::set_topic() - } - fn clear_topic() -> Weight { - XcmGeneric::::clear_topic() - } - fn alias_origin(_: &Location) -> Weight { - // XCM Executor does not currently support alias origin operations - Weight::MAX - } - fn unpaid_execution(_: &WeightLimit, _: &Option) -> Weight { - XcmGeneric::::unpaid_execution() - } - fn set_hints(hints: &BoundedVec) -> Weight { - let mut weight = Weight::zero(); - for hint in hints { - match hint { - AssetClaimer { .. } => { - weight = weight.saturating_add(XcmGeneric::::asset_claimer()); - }, - } - } - weight - } - fn execute_with_origin(_: &Option, _: &Xcm) -> Weight { - XcmGeneric::::execute_with_origin() - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs deleted file mode 100644 index ebaf937171245..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs +++ /dev/null @@ -1,215 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_xcm_benchmarks::fungible` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-07-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `a49f76527979`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=pallet_xcm_benchmarks::fungible -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/xcm -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --template=cumulus/templates/xcm-bench-template.hbs -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weights for `pallet_xcm_benchmarks::fungible`. -pub struct WeightInfo(PhantomData); -impl WeightInfo { - // Storage: `System::Account` (r:1 w:1) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - pub fn withdraw_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `101` - // Estimated: `3593` - // Minimum execution time: 31_106_000 picoseconds. - Weight::from_parts(31_668_000, 3593) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - pub fn transfer_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `101` - // Estimated: `6196` - // Minimum execution time: 42_763_000 picoseconds. - Weight::from_parts(43_487_000, 6196) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - // Storage: `System::Account` (r:3 w:3) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn transfer_reserve_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `8799` - // Minimum execution time: 111_295_000 picoseconds. - Weight::from_parts(113_994_000, 8799) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(5)) - } - // Storage: `Benchmark::Override` (r:0 w:0) - // Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) - pub fn reserve_asset_deposited() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 18_446_744_073_709_551_000 picoseconds. - Weight::from_parts(18_446_744_073_709_551_000, 0) - } - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn initiate_reserve_withdraw() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `6196` - // Minimum execution time: 80_772_000 picoseconds. - Weight::from_parts(83_123_000, 6196) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } - pub fn receive_teleported_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_657_000 picoseconds. - Weight::from_parts(2_896_000, 0) - } - // Storage: `System::Account` (r:1 w:1) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - pub fn deposit_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3593` - // Minimum execution time: 23_835_000 picoseconds. - Weight::from_parts(24_763_000, 3593) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `System::Account` (r:1 w:1) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn deposit_reserve_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `244` - // Estimated: `3709` - // Minimum execution time: 69_246_000 picoseconds. - Weight::from_parts(70_977_000, 3709) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(3)) - } - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn initiate_teleport() -> Weight { - // Proof Size summary in bytes: - // Measured: `244` - // Estimated: `3709` - // Minimum execution time: 47_816_000 picoseconds. - Weight::from_parts(49_514_000, 3709) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(2)) - } - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn initiate_transfer() -> Weight { - // Proof Size summary in bytes: - // Measured: `244` - // Estimated: `6196` - // Minimum execution time: 95_244_000 picoseconds. - Weight::from_parts(97_468_000, 6196) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/xcm/pallet_xcm_benchmarks_generic.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/xcm/pallet_xcm_benchmarks_generic.rs deleted file mode 100644 index 2aa90dc75a771..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/xcm/pallet_xcm_benchmarks_generic.rs +++ /dev/null @@ -1,368 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_xcm_benchmarks::generic` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-07-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `a49f76527979`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.wasm -// --pallet=pallet_xcm_benchmarks::generic -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/xcm -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --template=cumulus/templates/xcm-bench-template.hbs -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weights for `pallet_xcm_benchmarks::generic`. -pub struct WeightInfo(PhantomData); -impl WeightInfo { - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn report_holding() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `6196` - // Minimum execution time: 78_005_000 picoseconds. - Weight::from_parts(79_932_000, 6196) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } - // Storage: `System::Account` (r:1 w:1) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - pub fn buy_execution() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3593` - // Minimum execution time: 3_719_000 picoseconds. - Weight::from_parts(4_115_000, 3593) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - // Storage: `System::Account` (r:1 w:1) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - pub fn pay_fees() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3593` - // Minimum execution time: 3_667_000 picoseconds. - Weight::from_parts(3_993_000, 3593) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - pub fn asset_claimer() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 682_000 picoseconds. - Weight::from_parts(783_000, 0) - } - // Storage: `PolkadotXcm::Queries` (r:1 w:0) - // Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) - pub fn query_response() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3465` - // Minimum execution time: 5_687_000 picoseconds. - Weight::from_parts(5_891_000, 3465) - .saturating_add(T::DbWeight::get().reads(1)) - } - pub fn transact() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 7_108_000 picoseconds. - Weight::from_parts(7_371_000, 0) - } - pub fn refund_surplus() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_158_000 picoseconds. - Weight::from_parts(1_245_000, 0) - } - pub fn set_error_handler() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 709_000 picoseconds. - Weight::from_parts(763_000, 0) - } - pub fn set_appendix() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 692_000 picoseconds. - Weight::from_parts(756_000, 0) - } - pub fn clear_error() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 662_000 picoseconds. - Weight::from_parts(721_000, 0) - } - pub fn descend_origin() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 706_000 picoseconds. - Weight::from_parts(754_000, 0) - } - // Storage: `Benchmark::Override` (r:0 w:0) - // Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) - pub fn execute_with_origin() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 18_446_744_073_709_551_000 picoseconds. - Weight::from_parts(18_446_744_073_709_551_000, 0) - } - pub fn clear_origin() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 683_000 picoseconds. - Weight::from_parts(720_000, 0) - } - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn report_error() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `6196` - // Minimum execution time: 74_570_000 picoseconds. - Weight::from_parts(77_129_000, 6196) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } - // Storage: `PolkadotXcm::AssetTraps` (r:1 w:1) - // Proof: `PolkadotXcm::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`) - pub fn claim_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `24` - // Estimated: `3489` - // Minimum execution time: 8_917_000 picoseconds. - Weight::from_parts(9_342_000, 3489) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - pub fn trap() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_270_000 picoseconds. - Weight::from_parts(3_460_000, 0) - } - // Storage: `PolkadotXcm::VersionNotifyTargets` (r:1 w:1) - // Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn subscribe_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `212` - // Estimated: `3677` - // Minimum execution time: 31_710_000 picoseconds. - Weight::from_parts(32_692_000, 3677) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(3)) - } - // Storage: `PolkadotXcm::VersionNotifyTargets` (r:0 w:1) - // Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - pub fn unsubscribe_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_065_000 picoseconds. - Weight::from_parts(3_282_000, 0) - .saturating_add(T::DbWeight::get().writes(1)) - } - pub fn burn_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_063_000 picoseconds. - Weight::from_parts(1_134_000, 0) - } - pub fn expect_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 773_000 picoseconds. - Weight::from_parts(800_000, 0) - } - pub fn expect_origin() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_328_000 picoseconds. - Weight::from_parts(3_437_000, 0) - } - pub fn expect_error() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_234_000 picoseconds. - Weight::from_parts(3_383_000, 0) - } - pub fn expect_transact_status() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 796_000 picoseconds. - Weight::from_parts(873_000, 0) - } - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn query_pallet() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `6196` - // Minimum execution time: 79_173_000 picoseconds. - Weight::from_parts(80_575_000, 6196) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } - pub fn expect_pallet() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_560_000 picoseconds. - Weight::from_parts(3_725_000, 0) - } - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn report_transact_status() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `6196` - // Minimum execution time: 74_574_000 picoseconds. - Weight::from_parts(76_468_000, 6196) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } - pub fn clear_transact_status() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 697_000 picoseconds. - Weight::from_parts(777_000, 0) - } - pub fn set_topic() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 642_000 picoseconds. - Weight::from_parts(711_000, 0) - } - pub fn clear_topic() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 666_000 picoseconds. - Weight::from_parts(702_000, 0) - } - pub fn set_fees_mode() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 653_000 picoseconds. - Weight::from_parts(718_000, 0) - } - pub fn unpaid_execution() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 657_000 picoseconds. - Weight::from_parts(710_000, 0) - } -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/xcm_config.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/xcm_config.rs deleted file mode 100644 index 8cf14d103f1c5..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/xcm_config.rs +++ /dev/null @@ -1,294 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use super::{ - AccountId, AllPalletsWithSystem, Balances, BaseDeliveryFee, Broker, FeeAssetId, ParachainInfo, - ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, - TransactionByteFee, WeightToFee, XcmpQueue, -}; -use frame_support::{ - pallet_prelude::PalletInfoAccess, - parameter_types, - traits::{ - tokens::imbalance::ResolveTo, ConstU32, Contains, Disabled, Equals, Everything, Nothing, - }, -}; -use frame_system::EnsureRoot; -use pallet_collator_selection::StakingPotAccountId; -use pallet_xcm::XcmPassthrough; -use parachains_common::{ - xcm_config::{ - AllSiblingSystemParachains, ConcreteAssetFromSystem, ParentRelayOrSiblingParachains, - RelayOrOtherSystemParachains, - }, - TREASURY_PALLET_ID, -}; -use polkadot_parachain_primitives::primitives::Sibling; -use polkadot_runtime_common::xcm_sender::ExponentialPrice; -use sp_runtime::traits::AccountIdConversion; -use xcm::latest::{prelude::*, ROCOCO_GENESIS_HASH}; -use xcm_builder::{ - AccountId32Aliases, AllowExplicitUnpaidExecutionFrom, AllowHrmpNotificationsFromRelayChain, - AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, - DenyRecursively, DenyReserveTransferToRelayChain, DenyThenTry, DescribeAllTerminal, - DescribeFamily, EnsureXcmOrigin, FrameTransactionalProcessor, FungibleAdapter, - HashedDescription, IsConcrete, NonFungibleAdapter, ParentAsSuperuser, ParentIsPreset, - RelayChainAsNative, SendXcmFeeToAccount, SiblingParachainAsNative, SiblingParachainConvertsVia, - SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, - TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin, WithUniqueTopic, - XcmFeeManagerFromComponents, -}; -use xcm_executor::XcmExecutor; - -parameter_types! { - pub const RootLocation: Location = Location::here(); - pub const RocRelayLocation: Location = Location::parent(); - pub const RelayNetwork: Option = Some(NetworkId::ByGenesis(ROCOCO_GENESIS_HASH)); - pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub UniversalLocation: InteriorLocation = - [GlobalConsensus(RelayNetwork::get().unwrap()), Parachain(ParachainInfo::parachain_id().into())].into(); - pub BrokerPalletLocation: Location = - PalletInstance(::index() as u8).into(); - pub const MaxInstructions: u32 = 100; - pub const MaxAssetsIntoHolding: u32 = 64; - pub const GovernanceLocation: Location = Location::parent(); - pub const FellowshipLocation: Location = Location::parent(); -} - -/// Type for specifying how a `Location` can be converted into an `AccountId`. This is used -/// when determining ownership of accounts for asset transacting and when attempting to use XCM -/// `Transact` in order to determine the dispatch Origin. -pub type LocationToAccountId = ( - // The parent (Relay-chain) origin converts to the parent `AccountId`. - ParentIsPreset, - // Sibling parachain origins convert to AccountId via the `ParaId::into`. - SiblingParachainConvertsVia, - // Straight up local `AccountId32` origins just alias directly to `AccountId`. - AccountId32Aliases, - // Foreign locations alias into accounts according to a hash of their standard description. - HashedDescription>, -); - -/// Means for transacting the native currency on this chain. -pub type FungibleTransactor = FungibleAdapter< - // Use this currency: - Balances, - // Use this currency when it is a fungible asset matching the given location or name: - IsConcrete, - // Do a simple punn to convert an `AccountId32` `Location` into a native chain - // `AccountId`: - LocationToAccountId, - // Our chain's `AccountId` type (we can't get away without mentioning it explicitly): - AccountId, - // We don't track any teleports of `Balances`. - (), ->; - -/// Means for transacting coretime regions on this chain. -pub type RegionTransactor = NonFungibleAdapter< - // Use this non-fungible implementation: - Broker, - // This adapter will handle coretime regions from the broker pallet. - IsConcrete, - // Convert an XCM Location into a local account id: - LocationToAccountId, - // Our chain's account ID type (we can't get away without mentioning it explicitly): - AccountId, - // We don't track any teleports. - (), ->; - -/// Means for transacting assets on this chain. -pub type AssetTransactors = (FungibleTransactor, RegionTransactor); - -/// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance, -/// ready for dispatching a transaction with XCM's `Transact`. There is an `OriginKind` that can -/// bias the kind of local `Origin` it will become. -pub type XcmOriginToTransactDispatchOrigin = ( - // Sovereign account converter; this attempts to derive an `AccountId` from the origin location - // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for - // foreign chains who want to have a local sovereign account on this chain that they control. - SovereignSignedViaLocation, - // Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when - // recognized. - RelayChainAsNative, - // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when - // recognized. - SiblingParachainAsNative, - // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a - // transaction from the Root origin. - ParentAsSuperuser, - // Native signed account converter; this just converts an `AccountId32` origin into a normal - // `RuntimeOrigin::Signed` origin of the same 32-byte value. - SignedAccountId32AsNative, - // XCM origins can be represented natively under the XCM pallet's `Xcm` origin. - XcmPassthrough, -); - -pub struct ParentOrParentsPlurality; -impl Contains for ParentOrParentsPlurality { - fn contains(location: &Location) -> bool { - matches!(location.unpack(), (1, []) | (1, [Plurality { .. }])) - } -} - -pub type Barrier = TrailingSetTopicAsId< - DenyThenTry< - DenyRecursively, - ( - // Allow local users to buy weight credit. - TakeWeightCredit, - // Expected responses are OK. - AllowKnownQueryResponses, - WithComputedOrigin< - ( - // If the message is one that immediately attempts to pay for execution, then - // allow it. - AllowTopLevelPaidExecutionFrom, - // Parent and its pluralities (i.e. governance bodies) get free execution. - AllowExplicitUnpaidExecutionFrom, - // Subscriptions for version tracking are OK. - AllowSubscriptionsFrom, - // HRMP notifications from the relay chain are OK. - AllowHrmpNotificationsFromRelayChain, - ), - UniversalLocation, - ConstU32<8>, - >, - ), - >, ->; - -parameter_types! { - pub TreasuryAccount: AccountId = TREASURY_PALLET_ID.into_account_truncating(); - pub RelayTreasuryLocation: Location = (Parent, PalletInstance(rococo_runtime_constants::TREASURY_PALLET_ID)).into(); -} - -/// Locations that will not be charged fees in the executor, neither for execution nor delivery. -/// We only waive fees for system functions, which these locations represent. -pub type WaivedLocations = ( - Equals, - RelayOrOtherSystemParachains, - Equals, -); - -/// Cases where a remote origin is accepted as trusted Teleporter for a given asset: -/// - ROC with the parent Relay Chain and sibling parachains. -pub type TrustedTeleporters = ConcreteAssetFromSystem; - -pub struct XcmConfig; -impl xcm_executor::Config for XcmConfig { - type RuntimeCall = RuntimeCall; - type XcmSender = XcmRouter; - type XcmEventEmitter = PolkadotXcm; - type AssetTransactor = AssetTransactors; - type OriginConverter = XcmOriginToTransactDispatchOrigin; - // Coretime chain does not recognize a reserve location for any asset. Users must teleport ROC - // where allowed (e.g. with the Relay Chain). - type IsReserve = (); - type IsTeleporter = TrustedTeleporters; - type UniversalLocation = UniversalLocation; - type Barrier = Barrier; - type Weigher = WeightInfoBounds< - crate::weights::xcm::CoretimeRococoXcmWeight, - RuntimeCall, - MaxInstructions, - >; - type Trader = UsingComponents< - WeightToFee, - RocRelayLocation, - AccountId, - Balances, - ResolveTo, Balances>, - >; - type ResponseHandler = PolkadotXcm; - type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; - type SubscriptionService = PolkadotXcm; - type PalletInstancesInfo = AllPalletsWithSystem; - type MaxAssetsIntoHolding = MaxAssetsIntoHolding; - type AssetLocker = (); - type AssetExchanger = (); - type FeeManager = XcmFeeManagerFromComponents< - WaivedLocations, - SendXcmFeeToAccount, - >; - type MessageExporter = (); - type UniversalAliases = Nothing; - type CallDispatcher = RuntimeCall; - type SafeCallFilter = Everything; - type Aliasers = Nothing; - type TransactionalProcessor = FrameTransactionalProcessor; - type HrmpNewChannelOpenRequestHandler = (); - type HrmpChannelAcceptedHandler = (); - type HrmpChannelClosingHandler = (); - type XcmRecorder = PolkadotXcm; -} - -/// Converts a local signed origin into an XCM location. Forms the basis for local origins -/// sending/executing XCMs. -pub type LocalOriginToLocation = SignedToAccountId32; - -pub type PriceForParentDelivery = - ExponentialPrice; - -/// The means for routing XCM messages which are not for local execution into the right message -/// queues. -pub type XcmRouter = WithUniqueTopic<( - // Two routers - use UMP to communicate with the relay chain: - cumulus_primitives_utility::ParentAsUmp, - // ..and XCMP to communicate with the sibling chains. - XcmpQueue, -)>; - -impl pallet_xcm::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - // We want to disallow users sending (arbitrary) XCM programs from this chain. - type SendXcmOrigin = EnsureXcmOrigin; - type XcmRouter = XcmRouter; - // We support local origins dispatching XCM executions. - type ExecuteXcmOrigin = EnsureXcmOrigin; - type XcmExecuteFilter = Everything; - type XcmExecutor = XcmExecutor; - type XcmTeleportFilter = Everything; - type XcmReserveTransferFilter = Everything; - type Weigher = WeightInfoBounds< - crate::weights::xcm::CoretimeRococoXcmWeight, - RuntimeCall, - MaxInstructions, - >; - type UniversalLocation = UniversalLocation; - type RuntimeOrigin = RuntimeOrigin; - type RuntimeCall = RuntimeCall; - const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; - type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; - type Currency = Balances; - type CurrencyMatcher = (); - type TrustedLockers = (); - type SovereignAccountOf = LocationToAccountId; - type MaxLockers = ConstU32<8>; - type WeightInfo = crate::weights::pallet_xcm::WeightInfo; - type AdminOrigin = EnsureRoot; - type MaxRemoteLockConsumers = ConstU32<0>; - type RemoteLockConsumerIdentifier = (); - // Aliasing is disabled: xcm_executor::Config::Aliasers is set to `Nothing`. - type AuthorizedAliasConsideration = Disabled; -} - -impl cumulus_pallet_xcm::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/tests/tests.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/tests/tests.rs deleted file mode 100644 index 10568ea77ae55..0000000000000 --- a/cumulus/parachains/runtimes/coretime/coretime-rococo/tests/tests.rs +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#![cfg(test)] - -use coretime_rococo_runtime::{ - xcm_config::LocationToAccountId, Block, Runtime, RuntimeCall, RuntimeOrigin, -}; -use parachains_common::AccountId; -use sp_core::crypto::Ss58Codec; -use testnet_parachains_constants::rococo::fee::WeightToFee; -use xcm::latest::prelude::*; -use xcm_runtime_apis::conversions::LocationToAccountHelper; - -const ALICE: [u8; 32] = [1u8; 32]; - -#[test] -fn location_conversion_works() { - // the purpose of hardcoded values is to catch an unintended location conversion logic change. - struct TestCase { - description: &'static str, - location: Location, - expected_account_id_str: &'static str, - } - - let test_cases = vec![ - // DescribeTerminus - TestCase { - description: "DescribeTerminus Parent", - location: Location::new(1, Here), - expected_account_id_str: "5Dt6dpkWPwLaH4BBCKJwjiWrFVAGyYk3tLUabvyn4v7KtESG", - }, - TestCase { - description: "DescribeTerminus Sibling", - location: Location::new(1, [Parachain(1111)]), - expected_account_id_str: "5Eg2fnssmmJnF3z1iZ1NouAuzciDaaDQH7qURAy3w15jULDk", - }, - // DescribePalletTerminal - TestCase { - description: "DescribePalletTerminal Parent", - location: Location::new(1, [PalletInstance(50)]), - expected_account_id_str: "5CnwemvaAXkWFVwibiCvf2EjqwiqBi29S5cLLydZLEaEw6jZ", - }, - TestCase { - description: "DescribePalletTerminal Sibling", - location: Location::new(1, [Parachain(1111), PalletInstance(50)]), - expected_account_id_str: "5GFBgPjpEQPdaxEnFirUoa51u5erVx84twYxJVuBRAT2UP2g", - }, - // DescribeAccountId32Terminal - TestCase { - description: "DescribeAccountId32Terminal Parent", - location: Location::new( - 1, - [Junction::AccountId32 { network: None, id: AccountId::from(ALICE).into() }], - ), - expected_account_id_str: "5DN5SGsuUG7PAqFL47J9meViwdnk9AdeSWKFkcHC45hEzVz4", - }, - TestCase { - description: "DescribeAccountId32Terminal Sibling", - location: Location::new( - 1, - [ - Parachain(1111), - Junction::AccountId32 { network: None, id: AccountId::from(ALICE).into() }, - ], - ), - expected_account_id_str: "5DGRXLYwWGce7wvm14vX1Ms4Vf118FSWQbJkyQigY2pfm6bg", - }, - // DescribeAccountKey20Terminal - TestCase { - description: "DescribeAccountKey20Terminal Parent", - location: Location::new(1, [AccountKey20 { network: None, key: [0u8; 20] }]), - expected_account_id_str: "5F5Ec11567pa919wJkX6VHtv2ZXS5W698YCW35EdEbrg14cg", - }, - TestCase { - description: "DescribeAccountKey20Terminal Sibling", - location: Location::new( - 1, - [Parachain(1111), AccountKey20 { network: None, key: [0u8; 20] }], - ), - expected_account_id_str: "5CB2FbUds2qvcJNhDiTbRZwiS3trAy6ydFGMSVutmYijpPAg", - }, - // DescribeTreasuryVoiceTerminal - TestCase { - description: "DescribeTreasuryVoiceTerminal Parent", - location: Location::new(1, [Plurality { id: BodyId::Treasury, part: BodyPart::Voice }]), - expected_account_id_str: "5CUjnE2vgcUCuhxPwFoQ5r7p1DkhujgvMNDHaF2bLqRp4D5F", - }, - TestCase { - description: "DescribeTreasuryVoiceTerminal Sibling", - location: Location::new( - 1, - [Parachain(1111), Plurality { id: BodyId::Treasury, part: BodyPart::Voice }], - ), - expected_account_id_str: "5G6TDwaVgbWmhqRUKjBhRRnH4ry9L9cjRymUEmiRsLbSE4gB", - }, - // DescribeBodyTerminal - TestCase { - description: "DescribeBodyTerminal Parent", - location: Location::new(1, [Plurality { id: BodyId::Unit, part: BodyPart::Voice }]), - expected_account_id_str: "5EBRMTBkDisEXsaN283SRbzx9Xf2PXwUxxFCJohSGo4jYe6B", - }, - TestCase { - description: "DescribeBodyTerminal Sibling", - location: Location::new( - 1, - [Parachain(1111), Plurality { id: BodyId::Unit, part: BodyPart::Voice }], - ), - expected_account_id_str: "5DBoExvojy8tYnHgLL97phNH975CyT45PWTZEeGoBZfAyRMH", - }, - ]; - - for tc in test_cases { - let expected = - AccountId::from_string(tc.expected_account_id_str).expect("Invalid AccountId string"); - - let got = LocationToAccountHelper::::convert_location( - tc.location.into(), - ) - .unwrap(); - - assert_eq!(got, expected, "{}", tc.description); - } -} - -#[test] -fn xcm_payment_api_works() { - parachains_runtimes_test_utils::test_cases::xcm_payment_api_with_native_token_works::< - Runtime, - RuntimeCall, - RuntimeOrigin, - Block, - WeightToFee, - >(); -} diff --git a/cumulus/parachains/runtimes/coretime/coretime-westend/src/coretime.rs b/cumulus/parachains/runtimes/coretime/coretime-westend/src/coretime.rs index c9cd7f80a61ae..02bd0cc2e2d78 100644 --- a/cumulus/parachains/runtimes/coretime/coretime-westend/src/coretime.rs +++ b/cumulus/parachains/runtimes/coretime/coretime-westend/src/coretime.rs @@ -56,11 +56,11 @@ fn burn_at_relay(stash: &AccountId, value: Balance) -> Result<(), XcmError> { let asset = Asset { id: AssetId(Location::parent()), fun: Fungible(value) }; let dummy_xcm_context = XcmContext { origin: None, message_id: [0; 32], topic: None }; - let withdrawn = AssetTransactor::withdraw_asset(&asset, &stash_location, None)?; - AssetTransactor::can_check_out(&dest, &asset, &dummy_xcm_context)?; + let withdrawn = AssetTransactor::withdraw_asset(&asset, &stash_location, None)?; - let parent_assets = Into::::into(withdrawn) + let assets: Assets = withdrawn.into_assets_iter().collect::>().into(); + let parent_assets = assets .reanchored(&dest, &Here.into()) .defensive_map_err(|_| XcmError::ReanchorFailed)?; @@ -319,16 +319,15 @@ impl pallet_broker::Config for Runtime { type Currency = Balances; type OnRevenue = BurnCoretimeRevenue; type TimeslicePeriod = ConstU32<{ coretime::TIMESLICE_PERIOD }>; - // We don't actually need any leases at launch but set to 10 in case we want to sudo some in. - type MaxLeasedCores = ConstU32<10>; - type MaxReservedCores = ConstU32<10>; + type MaxLeasedCores = ConstU32<50>; + type MaxReservedCores = ConstU32<50>; type Coretime = CoretimeAllocator; type ConvertBalance = sp_runtime::traits::Identity; type WeightInfo = weights::pallet_broker::WeightInfo; type PalletId = BrokerPalletId; type AdminOrigin = EnsureRoot; type SovereignAccountOf = SovereignAccountOf; - type MaxAutoRenewals = ConstU32<20>; + type MaxAutoRenewals = ConstU32<50>; type PriceAdapter = pallet_broker::MinimumPrice; type MinimumCreditPurchase = MinimumCreditPurchase; } diff --git a/cumulus/parachains/runtimes/coretime/coretime-westend/src/lib.rs b/cumulus/parachains/runtimes/coretime/coretime-westend/src/lib.rs index a652f560e06af..b4bbe009058a8 100644 --- a/cumulus/parachains/runtimes/coretime/coretime-westend/src/lib.rs +++ b/cumulus/parachains/runtimes/coretime/coretime-westend/src/lib.rs @@ -73,6 +73,7 @@ use sp_runtime::{ transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, Debug, DispatchError, MultiAddress, Perbill, }; +use sp_session::OpaqueGeneratedSessionKeys; #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; @@ -159,7 +160,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: alloc::borrow::Cow::Borrowed("coretime-westend"), impl_name: alloc::borrow::Cow::Borrowed("coretime-westend"), authoring_version: 1, - spec_version: 1_020_001, + spec_version: 1_021_001, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 2, @@ -174,8 +175,12 @@ pub fn native_version() -> NativeVersion { parameter_types! { pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -787,8 +792,8 @@ impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -977,6 +982,7 @@ impl_runtime_apis! { ) -> Result, alloc::string::String> { use frame_benchmarking::{BenchmarkBatch, BenchmarkError}; use sp_storage::TrackedStorageKey; + use codec::Encode; use frame_system_benchmarking::Pallet as SystemBench; impl frame_system_benchmarking::Config for Runtime { @@ -991,7 +997,12 @@ impl_runtime_apis! { } use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - impl cumulus_pallet_session_benchmarking::Config for Runtime {} + impl cumulus_pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } use xcm::latest::prelude::*; use xcm_config::TokenRelayLocation; @@ -1080,15 +1091,15 @@ impl_runtime_apis! { fn valid_destination() -> Result { Ok(AssetHubLocation::get()) } - fn worst_case_holding(_depositable_count: u32) -> Assets { + fn worst_case_holding(_depositable_count: u32) -> xcm_executor::AssetsInHolding { + use pallet_xcm_benchmarks::MockCredit; // just concrete assets according to relay chain. - let assets: Vec = vec![ - Asset { - id: AssetId(TokenRelayLocation::get()), - fun: Fungible(1_000_000 * UNITS), - } - ]; - assets.into() + let mut holding = xcm_executor::AssetsInHolding::new(); + holding.fungible.insert( + AssetId(TokenRelayLocation::get()), + alloc::boxed::Box::new(MockCredit(1_000_000 * UNITS)), + ); + holding } } diff --git a/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/pallet_broker.rs b/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/pallet_broker.rs index 7d3cff7a2f747..d5fe933b9bbcc 100644 --- a/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/pallet_broker.rs +++ b/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/pallet_broker.rs @@ -640,4 +640,16 @@ impl pallet_broker::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } + /// Storage: `Broker::PotentialRenewals` (r:1 w:1) + /// Proof: `Broker::PotentialRenewals` (`max_values`: None, `max_size`: Some(1233), added: 3708, mode: `MaxEncodedLen`) + fn remove_potential_renewal() -> Weight { + // Proof Size summary in bytes: + // Measured: `312` + // Estimated: `4698` + // Minimum execution time: 18_266_000 picoseconds. + Weight::from_parts(19_216_000, 0) + .saturating_add(Weight::from_parts(0, 4698)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } } diff --git a/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/xcm/mod.rs b/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/xcm/mod.rs index 75e0908cb395d..3e5bd7eeb19f0 100644 --- a/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/xcm/mod.rs +++ b/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/xcm/mod.rs @@ -43,8 +43,9 @@ impl WeighAssets for AssetFilter { WildFungibility::Fungible => weight, // Magic number 2 has to do with the fact that we could have up to 2 times // MaxAssetsIntoHolding in the worst-case scenario. - WildFungibility::NonFungible => - weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64), + WildFungibility::NonFungible => { + weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64) + }, }, AllCounted(count) => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), AllOfCounted { count, .. } => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), diff --git a/cumulus/parachains/runtimes/coretime/coretime-westend/src/xcm_config.rs b/cumulus/parachains/runtimes/coretime/coretime-westend/src/xcm_config.rs index 391972f24572c..08ae664ec3887 100644 --- a/cumulus/parachains/runtimes/coretime/coretime-westend/src/xcm_config.rs +++ b/cumulus/parachains/runtimes/coretime/coretime-westend/src/xcm_config.rs @@ -252,7 +252,6 @@ impl xcm_executor::Config for XcmConfig { >; type ResponseHandler = PolkadotXcm; type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/cumulus/parachains/runtimes/glutton/glutton-westend/src/lib.rs b/cumulus/parachains/runtimes/glutton/glutton-westend/src/lib.rs index ac563cb4912dd..bfe3b9816350a 100644 --- a/cumulus/parachains/runtimes/glutton/glutton-westend/src/lib.rs +++ b/cumulus/parachains/runtimes/glutton/glutton-westend/src/lib.rs @@ -61,6 +61,7 @@ use sp_runtime::{ transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, }; +use sp_session::OpaqueGeneratedSessionKeys; #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; @@ -103,7 +104,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: alloc::borrow::Cow::Borrowed("glutton-westend"), impl_name: alloc::borrow::Cow::Borrowed("glutton-westend"), authoring_version: 1, - spec_version: 1_020_001, + spec_version: 1_021_001, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 1, @@ -126,8 +127,12 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); parameter_types! { pub const BlockHashCount: BlockNumber = 4096; pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -418,8 +423,8 @@ impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( diff --git a/cumulus/parachains/runtimes/glutton/glutton-westend/src/xcm_config.rs b/cumulus/parachains/runtimes/glutton/glutton-westend/src/xcm_config.rs index f32cb211444c2..176a894962ea4 100644 --- a/cumulus/parachains/runtimes/glutton/glutton-westend/src/xcm_config.rs +++ b/cumulus/parachains/runtimes/glutton/glutton-westend/src/xcm_config.rs @@ -81,7 +81,6 @@ impl xcm_executor::Config for XcmConfig { type Trader = (); // balances not supported type ResponseHandler = (); // Don't handle responses for now. type AssetTrap = (); // don't trap for now - type AssetClaims = (); // don't claim for now type SubscriptionService = (); // don't handle subscriptions for now type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/cumulus/parachains/runtimes/people/people-rococo/Cargo.toml b/cumulus/parachains/runtimes/people/people-rococo/Cargo.toml deleted file mode 100644 index ade7dee71673c..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/Cargo.toml +++ /dev/null @@ -1,221 +0,0 @@ -[package] -name = "people-rococo-runtime" -version = "0.1.0" -authors.workspace = true -edition.workspace = true -description = "Rococo's People parachain runtime" -license = "Apache-2.0" -homepage.workspace = true -repository.workspace = true - -[lints] -workspace = true - -[dependencies] -codec = { features = ["derive"], workspace = true } -enumflags2 = { workspace = true } -scale-info = { features = ["derive"], workspace = true } -serde = { optional = true, features = ["derive"], workspace = true, default-features = true } -serde_json = { features = ["alloc"], workspace = true } -tracing = { workspace = true } - -# Substrate -frame-benchmarking = { optional = true, workspace = true } -frame-executive = { workspace = true } -frame-support = { workspace = true } -frame-system = { workspace = true } -frame-system-benchmarking = { optional = true, workspace = true } -frame-system-rpc-runtime-api = { workspace = true } -frame-try-runtime = { optional = true, workspace = true } -pallet-aura = { workspace = true } -pallet-authorship = { workspace = true } -pallet-balances = { workspace = true } -pallet-identity = { workspace = true } -pallet-message-queue = { workspace = true } -pallet-migrations = { workspace = true } -pallet-multisig = { workspace = true } -pallet-proxy = { workspace = true } -pallet-session = { workspace = true } -pallet-timestamp = { workspace = true } -pallet-transaction-payment = { workspace = true } -pallet-transaction-payment-rpc-runtime-api = { workspace = true } -pallet-utility = { workspace = true } -sp-api = { workspace = true } -sp-block-builder = { workspace = true } -sp-consensus-aura = { workspace = true } -sp-core = { workspace = true } -sp-genesis-builder = { workspace = true } -sp-inherents = { workspace = true } -sp-keyring = { workspace = true } -sp-offchain = { workspace = true } -sp-runtime = { workspace = true } -sp-session = { workspace = true } -sp-storage = { workspace = true } -sp-transaction-pool = { workspace = true } -sp-version = { workspace = true } - -# Polkadot -pallet-xcm = { workspace = true } -pallet-xcm-benchmarks = { optional = true, workspace = true } -polkadot-parachain-primitives = { workspace = true } -polkadot-runtime-common = { workspace = true } -rococo-runtime-constants = { workspace = true } -xcm = { workspace = true } -xcm-builder = { workspace = true } -xcm-executor = { workspace = true } -xcm-runtime-apis = { workspace = true } - -# Cumulus -cumulus-pallet-aura-ext = { workspace = true } -cumulus-pallet-parachain-system = { workspace = true } -cumulus-pallet-session-benchmarking = { workspace = true } -cumulus-pallet-weight-reclaim = { workspace = true } -cumulus-pallet-xcm = { workspace = true } -cumulus-pallet-xcmp-queue = { workspace = true } -cumulus-primitives-aura = { workspace = true } -cumulus-primitives-core = { workspace = true } -cumulus-primitives-utility = { workspace = true } -pallet-collator-selection = { workspace = true } -parachain-info = { workspace = true } -parachains-common = { workspace = true } -testnet-parachains-constants = { features = ["rococo"], workspace = true } - -[dev-dependencies] -parachains-runtimes-test-utils = { workspace = true, default-features = true } - -[build-dependencies] -substrate-wasm-builder = { optional = true, workspace = true, default-features = true } - -[features] -default = ["std"] -std = [ - "codec/std", - "cumulus-pallet-aura-ext/std", - "cumulus-pallet-parachain-system/std", - "cumulus-pallet-session-benchmarking/std", - "cumulus-pallet-weight-reclaim/std", - "cumulus-pallet-xcm/std", - "cumulus-pallet-xcmp-queue/std", - "cumulus-primitives-aura/std", - "cumulus-primitives-core/std", - "cumulus-primitives-utility/std", - "enumflags2/std", - "frame-benchmarking?/std", - "frame-executive/std", - "frame-support/std", - "frame-system-benchmarking?/std", - "frame-system-rpc-runtime-api/std", - "frame-system/std", - "frame-try-runtime?/std", - "pallet-aura/std", - "pallet-authorship/std", - "pallet-balances/std", - "pallet-collator-selection/std", - "pallet-identity/std", - "pallet-message-queue/std", - "pallet-migrations/std", - "pallet-multisig/std", - "pallet-proxy/std", - "pallet-session/std", - "pallet-timestamp/std", - "pallet-transaction-payment-rpc-runtime-api/std", - "pallet-transaction-payment/std", - "pallet-utility/std", - "pallet-xcm-benchmarks?/std", - "pallet-xcm/std", - "parachain-info/std", - "parachains-common/std", - "polkadot-parachain-primitives/std", - "polkadot-runtime-common/std", - "rococo-runtime-constants/std", - "scale-info/std", - "serde", - "serde_json/std", - "sp-api/std", - "sp-block-builder/std", - "sp-consensus-aura/std", - "sp-core/std", - "sp-genesis-builder/std", - "sp-inherents/std", - "sp-keyring/std", - "sp-offchain/std", - "sp-runtime/std", - "sp-session/std", - "sp-storage/std", - "sp-transaction-pool/std", - "sp-version/std", - "substrate-wasm-builder", - "testnet-parachains-constants/std", - "tracing/std", - "xcm-builder/std", - "xcm-executor/std", - "xcm-runtime-apis/std", - "xcm/std", -] -runtime-benchmarks = [ - "cumulus-pallet-parachain-system/runtime-benchmarks", - "cumulus-pallet-session-benchmarking/runtime-benchmarks", - "cumulus-pallet-weight-reclaim/runtime-benchmarks", - "cumulus-pallet-xcmp-queue/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks", - "cumulus-primitives-utility/runtime-benchmarks", - "frame-benchmarking/runtime-benchmarks", - "frame-support/runtime-benchmarks", - "frame-system-benchmarking/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "pallet-balances/runtime-benchmarks", - "pallet-collator-selection/runtime-benchmarks", - "pallet-identity/runtime-benchmarks", - "pallet-message-queue/runtime-benchmarks", - "pallet-migrations/runtime-benchmarks", - "pallet-multisig/runtime-benchmarks", - "pallet-proxy/runtime-benchmarks", - "pallet-session/runtime-benchmarks", - "pallet-timestamp/runtime-benchmarks", - "pallet-transaction-payment/runtime-benchmarks", - "pallet-utility/runtime-benchmarks", - "pallet-xcm-benchmarks/runtime-benchmarks", - "pallet-xcm/runtime-benchmarks", - "parachains-common/runtime-benchmarks", - "polkadot-parachain-primitives/runtime-benchmarks", - "polkadot-runtime-common/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", - "xcm-builder/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", - "xcm-runtime-apis/runtime-benchmarks", - "xcm/runtime-benchmarks", -] -try-runtime = [ - "cumulus-pallet-aura-ext/try-runtime", - "cumulus-pallet-parachain-system/try-runtime", - "cumulus-pallet-weight-reclaim/try-runtime", - "cumulus-pallet-xcm/try-runtime", - "cumulus-pallet-xcmp-queue/try-runtime", - "frame-executive/try-runtime", - "frame-support/try-runtime", - "frame-system/try-runtime", - "frame-try-runtime/try-runtime", - "pallet-aura/try-runtime", - "pallet-authorship/try-runtime", - "pallet-balances/try-runtime", - "pallet-collator-selection/try-runtime", - "pallet-identity/try-runtime", - "pallet-message-queue/try-runtime", - "pallet-migrations/try-runtime", - "pallet-multisig/try-runtime", - "pallet-proxy/try-runtime", - "pallet-session/try-runtime", - "pallet-timestamp/try-runtime", - "pallet-transaction-payment/try-runtime", - "pallet-utility/try-runtime", - "pallet-xcm/try-runtime", - "parachain-info/try-runtime", - "parachains-common/try-runtime", - "polkadot-runtime-common/try-runtime", - "sp-runtime/try-runtime", -] - -# A feature that should be enabled when the runtime should be built for on-chain -# deployment. This will disable stuff that shouldn't be part of the on-chain wasm -# to make it smaller, like logging for example. -on-chain-release-build = [] diff --git a/cumulus/parachains/runtimes/people/people-rococo/build.rs b/cumulus/parachains/runtimes/people/people-rococo/build.rs deleted file mode 100644 index 60f8a125129ff..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/build.rs +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#[cfg(feature = "std")] -fn main() { - substrate_wasm_builder::WasmBuilder::new() - .with_current_project() - .export_heap_base() - .import_memory() - .build() -} - -#[cfg(not(feature = "std"))] -fn main() {} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/genesis_config_presets.rs b/cumulus/parachains/runtimes/people/people-rococo/src/genesis_config_presets.rs deleted file mode 100644 index 312262d41a9f7..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/genesis_config_presets.rs +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! # People Rococo Runtime genesis config presets - -use crate::*; -use alloc::{vec, vec::Vec}; -use cumulus_primitives_core::ParaId; -use frame_support::build_struct_json_patch; -use parachains_common::{AccountId, AuraId}; -use sp_genesis_builder::PresetId; -use sp_keyring::Sr25519Keyring; -use testnet_parachains_constants::rococo::{currency::UNITS as ROC, xcm_version::SAFE_XCM_VERSION}; - -const PEOPLE_ROCOCO_ED: Balance = ExistentialDeposit::get(); -const PEOPLE_PARA_ID: ParaId = ParaId::new(1004); - -fn people_rococo_genesis( - invulnerables: Vec<(AccountId, AuraId)>, - endowed_accounts: Vec, - endowment: Balance, - id: ParaId, -) -> serde_json::Value { - build_struct_json_patch!(RuntimeGenesisConfig { - balances: BalancesConfig { - balances: endowed_accounts.iter().cloned().map(|k| (k, endowment)).collect(), - }, - parachain_info: ParachainInfoConfig { parachain_id: id }, - collator_selection: CollatorSelectionConfig { - invulnerables: invulnerables.iter().cloned().map(|(acc, _)| acc).collect(), - candidacy_bond: PEOPLE_ROCOCO_ED * 16, - }, - session: SessionConfig { - keys: invulnerables - .into_iter() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - SessionKeys { aura }, // session keys - ) - }) - .collect(), - }, - polkadot_xcm: PolkadotXcmConfig { safe_xcm_version: Some(SAFE_XCM_VERSION) }, - }) -} - -/// Provides the JSON representation of predefined genesis config for given `id`. -pub fn get_preset(id: &PresetId) -> Option> { - let patch = match id.as_ref() { - sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET => people_rococo_genesis( - // initial collators. - vec![ - (Sr25519Keyring::Alice.to_account_id(), Sr25519Keyring::Alice.public().into()), - (Sr25519Keyring::Bob.to_account_id(), Sr25519Keyring::Bob.public().into()), - ], - Sr25519Keyring::well_known().map(|x| x.to_account_id()).collect(), - ROC * 1_000_000, - PEOPLE_PARA_ID, - ), - sp_genesis_builder::DEV_RUNTIME_PRESET => people_rococo_genesis( - // initial collators. - vec![(Sr25519Keyring::Alice.to_account_id(), Sr25519Keyring::Alice.public().into())], - vec![ - Sr25519Keyring::Alice.to_account_id(), - Sr25519Keyring::Bob.to_account_id(), - Sr25519Keyring::AliceStash.to_account_id(), - Sr25519Keyring::BobStash.to_account_id(), - ], - ROC * 1_000_000, - PEOPLE_PARA_ID, - ), - _ => return None, - }; - - Some( - serde_json::to_string(&patch) - .expect("serialization to json is expected to work. qed.") - .into_bytes(), - ) -} - -/// List of supported presets. -pub fn preset_names() -> Vec { - vec![ - PresetId::from(sp_genesis_builder::DEV_RUNTIME_PRESET), - PresetId::from(sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET), - ] -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/people.rs b/cumulus/parachains/runtimes/people/people-rococo/src/people.rs deleted file mode 100644 index 18bde8dc04fec..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/people.rs +++ /dev/null @@ -1,234 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use super::*; -use crate::xcm_config::LocationToAccountId; -use codec::{Decode, Encode, MaxEncodedLen}; -use enumflags2::{bitflags, BitFlags}; -use frame_support::{ - parameter_types, traits::ConstU32, CloneNoBound, DebugNoBound, EqNoBound, PartialEqNoBound, -}; -use pallet_identity::{Data, IdentityInformationProvider}; -use parachains_common::{impls::ToParentTreasury, DAYS}; -use scale_info::TypeInfo; -use sp_runtime::{ - traits::{AccountIdConversion, Verify}, - Debug, -}; - -parameter_types! { - // 27 | Min encoded size of `Registration` - // - 10 | Min encoded size of `IdentityInfo` - // -----| - // 17 | Min size without `IdentityInfo` (accounted for in byte deposit) - pub const BasicDeposit: Balance = deposit(1, 17); - pub const ByteDeposit: Balance = deposit(0, 1); - pub const UsernameDeposit: Balance = deposit(0, 32); - pub const SubAccountDeposit: Balance = deposit(1, 53); - pub RelayTreasuryAccount: AccountId = - parachains_common::TREASURY_PALLET_ID.into_account_truncating(); -} - -impl pallet_identity::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type BasicDeposit = BasicDeposit; - type ByteDeposit = ByteDeposit; - type UsernameDeposit = UsernameDeposit; - type SubAccountDeposit = SubAccountDeposit; - type MaxSubAccounts = ConstU32<100>; - type IdentityInformation = IdentityInfo; - type MaxRegistrars = ConstU32<20>; - type Slashed = ToParentTreasury; - type ForceOrigin = EnsureRoot; - type RegistrarOrigin = EnsureRoot; - type OffchainSignature = Signature; - type SigningPublicKey = ::Signer; - type UsernameAuthorityOrigin = EnsureRoot; - type PendingUsernameExpiration = ConstU32<{ 7 * DAYS }>; - type UsernameGracePeriod = ConstU32<{ 3 * DAYS }>; - type MaxSuffixLength = ConstU32<7>; - type MaxUsernameLength = ConstU32<32>; - #[cfg(feature = "runtime-benchmarks")] - type BenchmarkHelper = (); - type WeightInfo = weights::pallet_identity::WeightInfo; -} - -/// The fields that we use to identify the owner of an account with. Each corresponds to a field -/// in the `IdentityInfo` struct. -#[bitflags] -#[repr(u64)] -#[derive(Clone, Copy, PartialEq, Eq, Debug)] -pub enum IdentityField { - Display, - Legal, - Web, - Matrix, - Email, - PgpFingerprint, - Image, - Twitter, - GitHub, - Discord, -} - -/// Information concerning the identity of the controller of an account. -#[derive( - CloneNoBound, - Encode, - Decode, - DecodeWithMemTracking, - EqNoBound, - MaxEncodedLen, - PartialEqNoBound, - DebugNoBound, - TypeInfo, -)] -#[codec(mel_bound())] -pub struct IdentityInfo { - /// A reasonable display name for the controller of the account. This should be whatever the - /// account is typically known as and should not be confusable with other entities, given - /// reasonable context. - /// - /// Stored as UTF-8. - pub display: Data, - - /// The full legal name in the local jurisdiction of the entity. This might be a bit - /// long-winded. - /// - /// Stored as UTF-8. - pub legal: Data, - - /// A representative website held by the controller of the account. - /// - /// NOTE: `https://` is automatically prepended. - /// - /// Stored as UTF-8. - pub web: Data, - - /// The Matrix (e.g. for Element) handle held by the controller of the account. Previously, - /// this was called `riot`. - /// - /// Stored as UTF-8. - pub matrix: Data, - - /// The email address of the controller of the account. - /// - /// Stored as UTF-8. - pub email: Data, - - /// The PGP/GPG public key of the controller of the account. - pub pgp_fingerprint: Option<[u8; 20]>, - - /// A graphic image representing the controller of the account. Should be a company, - /// organization or project logo or a headshot in the case of a human. - pub image: Data, - - /// The Twitter identity. The leading `@` character may be elided. - pub twitter: Data, - - /// The GitHub username of the controller of the account. - pub github: Data, - - /// The Discord username of the controller of the account. - pub discord: Data, -} - -impl IdentityInformationProvider for IdentityInfo { - type FieldsIdentifier = u64; - - fn has_identity(&self, fields: Self::FieldsIdentifier) -> bool { - self.fields().bits() & fields == fields - } - - #[cfg(feature = "runtime-benchmarks")] - fn create_identity_info() -> Self { - let data = Data::Raw(alloc::vec![0; 32].try_into().unwrap()); - - IdentityInfo { - display: data.clone(), - legal: data.clone(), - web: data.clone(), - matrix: data.clone(), - email: data.clone(), - pgp_fingerprint: Some([0; 20]), - image: data.clone(), - twitter: data.clone(), - github: data.clone(), - discord: data, - } - } - - #[cfg(feature = "runtime-benchmarks")] - fn all_fields() -> Self::FieldsIdentifier { - use enumflags2::BitFlag; - IdentityField::all().bits() - } -} - -impl IdentityInfo { - pub(crate) fn fields(&self) -> BitFlags { - let mut res = >::empty(); - if !self.display.is_none() { - res.insert(IdentityField::Display); - } - if !self.legal.is_none() { - res.insert(IdentityField::Legal); - } - if !self.web.is_none() { - res.insert(IdentityField::Web); - } - if !self.matrix.is_none() { - res.insert(IdentityField::Matrix); - } - if !self.email.is_none() { - res.insert(IdentityField::Email); - } - if self.pgp_fingerprint.is_some() { - res.insert(IdentityField::PgpFingerprint); - } - if !self.image.is_none() { - res.insert(IdentityField::Image); - } - if !self.twitter.is_none() { - res.insert(IdentityField::Twitter); - } - if !self.github.is_none() { - res.insert(IdentityField::GitHub); - } - if !self.discord.is_none() { - res.insert(IdentityField::Discord); - } - res - } -} - -/// A `Default` identity. This is given to users who get a username but have not set an identity. -impl Default for IdentityInfo { - fn default() -> Self { - IdentityInfo { - display: Data::None, - legal: Data::None, - web: Data::None, - matrix: Data::None, - email: Data::None, - pgp_fingerprint: None, - image: Data::None, - twitter: Data::None, - github: Data::None, - discord: Data::None, - } - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/block_weights.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/block_weights.rs deleted file mode 100644 index 3ff2b3550fbf8..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/block_weights.rs +++ /dev/null @@ -1,53 +0,0 @@ -// This file is part of Cumulus. - -// Copyright (C) 2022 Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub mod constants { - use frame_support::{ - parameter_types, - weights::{constants, Weight}, - }; - - parameter_types! { - /// Importing a block with 0 Extrinsics. - pub const BlockExecutionWeight: Weight = - Weight::from_parts(constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(5_000_000), 0); - } - - #[cfg(test)] - mod test_weights { - use frame_support::weights::constants; - - /// Checks that the weight exists and is sane. - // NOTE: If this test fails but you are sure that the generated values are fine, - // you can delete it. - #[test] - fn sane() { - let w = super::constants::BlockExecutionWeight::get(); - - // At least 100 Β΅s. - assert!( - w.ref_time() >= 100u64 * constants::WEIGHT_REF_TIME_PER_MICROS, - "Weight should be at least 100 Β΅s." - ); - // At most 50 ms. - assert!( - w.ref_time() <= 50u64 * constants::WEIGHT_REF_TIME_PER_MILLIS, - "Weight should be at most 50 ms." - ); - } - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/cumulus_pallet_parachain_system.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/cumulus_pallet_parachain_system.rs deleted file mode 100644 index 58aef8cd5ab87..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/cumulus_pallet_parachain_system.rs +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `cumulus_pallet_parachain_system` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=cumulus_pallet_parachain_system -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `cumulus_pallet_parachain_system`. -pub struct WeightInfo(PhantomData); -impl cumulus_pallet_parachain_system::WeightInfo for WeightInfo { - /// Storage: `ParachainSystem::LastDmqMqcHead` (r:1 w:1) - /// Proof: `ParachainSystem::LastDmqMqcHead` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ProcessedDownwardMessages` (r:0 w:1) - /// Proof: `ParachainSystem::ProcessedDownwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `MessageQueue::Pages` (r:0 w:1000) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 1000]`. - fn enqueue_inbound_downward_messages(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `12` - // Estimated: `3517` - // Minimum execution time: 2_235_000 picoseconds. - Weight::from_parts(2_365_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - // Standard Error: 66_419 - .saturating_add(Weight::from_parts(334_432_921, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/cumulus_pallet_weight_reclaim.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/cumulus_pallet_weight_reclaim.rs deleted file mode 100644 index f97376ffdc43c..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/cumulus_pallet_weight_reclaim.rs +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `cumulus_pallet_weight_reclaim` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=cumulus_pallet_weight_reclaim -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `cumulus_pallet_weight_reclaim`. -pub struct WeightInfo(PhantomData); -impl cumulus_pallet_weight_reclaim::WeightInfo for WeightInfo { - fn storage_weight_reclaim() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_983_000 picoseconds. - Weight::from_parts(4_164_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/cumulus_pallet_xcmp_queue.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/cumulus_pallet_xcmp_queue.rs deleted file mode 100644 index 8ed2bc4470d38..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/cumulus_pallet_xcmp_queue.rs +++ /dev/null @@ -1,258 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `cumulus_pallet_xcmp_queue` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-09-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `4e9548205c14`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=cumulus_pallet_xcmp_queue -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `cumulus_pallet_xcmp_queue`. -pub struct WeightInfo(PhantomData); -impl cumulus_pallet_xcmp_queue::WeightInfo for WeightInfo { - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:1) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) - fn set_config_with_u32() -> Weight { - // Proof Size summary in bytes: - // Measured: `76` - // Estimated: `1497` - // Minimum execution time: 5_101_000 picoseconds. - Weight::from_parts(5_445_000, 0) - .saturating_add(Weight::from_parts(0, 1497)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 105467]`. - fn enqueue_n_bytes_xcmp_message(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `82` - // Estimated: `5487` - // Minimum execution time: 13_691_000 picoseconds. - Weight::from_parts(9_579_858, 0) - .saturating_add(Weight::from_parts(0, 5487)) - // Standard Error: 7 - .saturating_add(Weight::from_parts(968, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 1000]`. - fn enqueue_n_empty_xcmp_messages(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `82` - // Estimated: `5487` - // Minimum execution time: 11_450_000 picoseconds. - Weight::from_parts(16_374_477, 0) - .saturating_add(Weight::from_parts(0, 5487)) - // Standard Error: 185 - .saturating_add(Weight::from_parts(141_346, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `Measured`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `Measured`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `Measured`) - /// The range of component `n` is `[0, 105457]`. - fn enqueue_empty_xcmp_message_at(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `264 + n * (1 Β±0)` - // Estimated: `3727 + n * (1 Β±0)` - // Minimum execution time: 20_584_000 picoseconds. - Weight::from_parts(12_592_313, 0) - .saturating_add(Weight::from_parts(0, 3727)) - // Standard Error: 11 - .saturating_add(Weight::from_parts(2_031, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) - } - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:100) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 100]`. - fn enqueue_n_full_pages(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `117` - // Estimated: `5487` - // Minimum execution time: 13_072_000 picoseconds. - Weight::from_parts(13_407_000, 0) - .saturating_add(Weight::from_parts(0, 5487)) - // Standard Error: 48_045 - .saturating_add(Weight::from_parts(92_778_071, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) - } - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `Measured`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `Measured`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `Measured`) - fn enqueue_1000_small_xcmp_messages() -> Weight { - // Proof Size summary in bytes: - // Measured: `52997` - // Estimated: `56462` - // Minimum execution time: 267_839_000 picoseconds. - Weight::from_parts(288_522_000, 0) - .saturating_add(Weight::from_parts(0, 56462)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - fn suspend_channel() -> Weight { - // Proof Size summary in bytes: - // Measured: `76` - // Estimated: `2767` - // Minimum execution time: 3_273_000 picoseconds. - Weight::from_parts(3_456_000, 0) - .saturating_add(Weight::from_parts(0, 2767)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - fn resume_channel() -> Weight { - // Proof Size summary in bytes: - // Measured: `111` - // Estimated: `2767` - // Minimum execution time: 4_640_000 picoseconds. - Weight::from_parts(4_888_000, 0) - .saturating_add(Weight::from_parts(0, 2767)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// The range of component `n` is `[0, 92]`. - fn take_first_concatenated_xcm(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_026_000 picoseconds. - Weight::from_parts(2_467_443, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 218 - .saturating_add(Weight::from_parts(17_664, 0).saturating_mul(n.into())) - } - /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) - /// Proof: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) - /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6bedc49980ba3aa32b0a189290fd036649` (r:1 w:1) - /// Proof: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6bedc49980ba3aa32b0a189290fd036649` (r:1 w:1) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn on_idle_good_msg() -> Weight { - // Proof Size summary in bytes: - // Measured: `105647` - // Estimated: `109112` - // Minimum execution time: 175_346_000 picoseconds. - Weight::from_parts(178_900_000, 0) - .saturating_add(Weight::from_parts(0, 109112)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) - /// Proof: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) - /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6bedc49980ba3aa32b0a189290fd036649` (r:1 w:1) - /// Proof: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6bedc49980ba3aa32b0a189290fd036649` (r:1 w:1) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) - /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn on_idle_large_msg() -> Weight { - // Proof Size summary in bytes: - // Measured: `65716` - // Estimated: `69181` - // Minimum execution time: 117_370_000 picoseconds. - Weight::from_parts(119_465_000, 0) - .saturating_add(Weight::from_parts(0, 69181)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/extrinsic_weights.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/extrinsic_weights.rs deleted file mode 100644 index ab951aea56150..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/extrinsic_weights.rs +++ /dev/null @@ -1,53 +0,0 @@ -// This file is part of Cumulus. - -// Copyright (C) 2022 Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub mod constants { - use frame_support::{ - parameter_types, - weights::{constants, Weight}, - }; - - parameter_types! { - /// Executing a NO-OP `System::remarks` Extrinsic. - pub const ExtrinsicBaseWeight: Weight = - Weight::from_parts(constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(125_000), 0); - } - - #[cfg(test)] - mod test_weights { - use frame_support::weights::constants; - - /// Checks that the weight exists and is sane. - // NOTE: If this test fails but you are sure that the generated values are fine, - // you can delete it. - #[test] - fn sane() { - let w = super::constants::ExtrinsicBaseWeight::get(); - - // At least 10 Β΅s. - assert!( - w.ref_time() >= 10u64 * constants::WEIGHT_REF_TIME_PER_MICROS, - "Weight should be at least 10 Β΅s." - ); - // At most 1 ms. - assert!( - w.ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS, - "Weight should be at most 1 ms." - ); - } - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/frame_system.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/frame_system.rs deleted file mode 100644 index 794f81dcb8f28..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/frame_system.rs +++ /dev/null @@ -1,191 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `frame_system` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=frame_system -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `frame_system`. -pub struct WeightInfo(PhantomData); -impl frame_system::WeightInfo for WeightInfo { - /// The range of component `b` is `[0, 3932160]`. - fn remark(b: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_085_000 picoseconds. - Weight::from_parts(2_147_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 120 - .saturating_add(Weight::from_parts(10_681, 0).saturating_mul(b.into())) - } - /// The range of component `b` is `[0, 3932160]`. - fn remark_with_event(b: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 5_538_000 picoseconds. - Weight::from_parts(5_833_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 120 - .saturating_add(Weight::from_parts(12_003, 0).saturating_mul(b.into())) - } - /// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1) - /// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1) - fn set_heap_pages() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_260_000 picoseconds. - Weight::from_parts(3_516_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0) - /// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::UpgradeRestrictionSignal` (r:1 w:0) - /// Proof: `ParachainSystem::UpgradeRestrictionSignal` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingValidationCode` (r:1 w:1) - /// Proof: `ParachainSystem::PendingValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::NewValidationCode` (r:0 w:1) - /// Proof: `ParachainSystem::NewValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::DidSetValidationCode` (r:0 w:1) - /// Proof: `ParachainSystem::DidSetValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn set_code() -> Weight { - // Proof Size summary in bytes: - // Measured: `169` - // Estimated: `67035` - // Minimum execution time: 160_743_369_000 picoseconds. - Weight::from_parts(164_022_588_000, 0) - .saturating_add(Weight::from_parts(0, 67035)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Skipped::Metadata` (r:0 w:0) - /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `i` is `[0, 1000]`. - fn set_storage(i: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_082_000 picoseconds. - Weight::from_parts(2_202_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_221 - .saturating_add(Weight::from_parts(715_536, 0).saturating_mul(i.into())) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) - } - /// Storage: `Skipped::Metadata` (r:0 w:0) - /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `i` is `[0, 1000]`. - fn kill_storage(i: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_076_000 picoseconds. - Weight::from_parts(2_148_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 880 - .saturating_add(Weight::from_parts(554_607, 0).saturating_mul(i.into())) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) - } - /// Storage: `Skipped::Metadata` (r:0 w:0) - /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `p` is `[0, 1000]`. - fn kill_prefix(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `82 + p * (69 Β±0)` - // Estimated: `78 + p * (70 Β±0)` - // Minimum execution time: 4_139_000 picoseconds. - Weight::from_parts(4_248_000, 0) - .saturating_add(Weight::from_parts(0, 78)) - // Standard Error: 1_318 - .saturating_add(Weight::from_parts(1_312_979, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into()))) - .saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into())) - } - /// Storage: `System::AuthorizedUpgrade` (r:0 w:1) - /// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`) - fn authorize_upgrade() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 10_114_000 picoseconds. - Weight::from_parts(10_379_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::AuthorizedUpgrade` (r:1 w:1) - /// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`) - /// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0) - /// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::UpgradeRestrictionSignal` (r:1 w:0) - /// Proof: `ParachainSystem::UpgradeRestrictionSignal` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingValidationCode` (r:1 w:1) - /// Proof: `ParachainSystem::PendingValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::NewValidationCode` (r:0 w:1) - /// Proof: `ParachainSystem::NewValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::DidSetValidationCode` (r:0 w:1) - /// Proof: `ParachainSystem::DidSetValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn apply_authorized_upgrade() -> Weight { - // Proof Size summary in bytes: - // Measured: `191` - // Estimated: `67035` - // Minimum execution time: 163_855_657_000 picoseconds. - Weight::from_parts(166_326_130_000, 0) - .saturating_add(Weight::from_parts(0, 67035)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(4)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/frame_system_extensions.rs deleted file mode 100644 index 854af60e5679b..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/frame_system_extensions.rs +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `frame_system_extensions` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("people-rococo-dev")`, DB CACHE: 1024 - -// Executed Command: -// ./target/release/polkadot-parachain -// benchmark -// pallet -// --wasm-execution=compiled -// --pallet=frame_system_extensions -// --no-storage-info -// --no-median-slopes -// --no-min-squares -// --extrinsic=* -// --steps=2 -// --repeat=2 -// --json -// --header=./cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights/ -// --chain=people-rococo-dev - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `frame_system_extensions`. -pub struct WeightInfo(PhantomData); -impl frame_system::ExtensionsWeightInfo for WeightInfo { - /// Storage: `System::BlockHash` (r:1 w:0) - /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - fn check_genesis() -> Weight { - // Proof Size summary in bytes: - // Measured: `54` - // Estimated: `3509` - // Minimum execution time: 3_637_000 picoseconds. - Weight::from_parts(6_382_000, 0) - .saturating_add(Weight::from_parts(0, 3509)) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `System::BlockHash` (r:1 w:0) - /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - fn check_mortality_mortal_transaction() -> Weight { - // Proof Size summary in bytes: - // Measured: `92` - // Estimated: `3509` - // Minimum execution time: 5_841_000 picoseconds. - Weight::from_parts(8_776_000, 0) - .saturating_add(Weight::from_parts(0, 3509)) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `System::BlockHash` (r:1 w:0) - /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - fn check_mortality_immortal_transaction() -> Weight { - // Proof Size summary in bytes: - // Measured: `92` - // Estimated: `3509` - // Minimum execution time: 5_841_000 picoseconds. - Weight::from_parts(8_776_000, 0) - .saturating_add(Weight::from_parts(0, 3509)) - .saturating_add(T::DbWeight::get().reads(1)) - } - fn check_non_zero_sender() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 561_000 picoseconds. - Weight::from_parts(2_705_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn check_nonce() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_316_000 picoseconds. - Weight::from_parts(5_771_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn check_spec_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 511_000 picoseconds. - Weight::from_parts(2_575_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn check_tx_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 501_000 picoseconds. - Weight::from_parts(2_595_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// Storage: `System::AllExtrinsicsLen` (r:1 w:1) - /// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `System::BlockWeight` (r:1 w:1) - /// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`) - fn check_weight() -> Weight { - // Proof Size summary in bytes: - // Measured: `24` - // Estimated: `1533` - // Minimum execution time: 3_687_000 picoseconds. - Weight::from_parts(6_192_000, 0) - .saturating_add(Weight::from_parts(0, 1533)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `System::AllExtrinsicsLen` (r:1 w:1) - /// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `System::BlockWeight` (r:1 w:1) - /// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`) - fn weight_reclaim() -> Weight { - // Proof Size summary in bytes: - // Measured: `24` - // Estimated: `1533` - // Minimum execution time: 3_687_000 picoseconds. - Weight::from_parts(6_192_000, 0) - .saturating_add(Weight::from_parts(0, 1533)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/mod.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/mod.rs deleted file mode 100644 index 81906a11fe1c9..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/mod.rs +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Expose the auto generated weight files. - -pub mod block_weights; -pub mod cumulus_pallet_parachain_system; -pub mod cumulus_pallet_weight_reclaim; -pub mod cumulus_pallet_xcmp_queue; -pub mod extrinsic_weights; -pub mod frame_system; -pub mod frame_system_extensions; -pub mod pallet_balances; -pub mod pallet_collator_selection; -pub mod pallet_identity; -pub mod pallet_message_queue; -pub mod pallet_migrations; -pub mod pallet_multisig; -pub mod pallet_proxy; -pub mod pallet_session; -pub mod pallet_timestamp; -pub mod pallet_transaction_payment; -pub mod pallet_utility; -pub mod pallet_xcm; -pub mod paritydb_weights; -pub mod polkadot_runtime_common_identity_migrator; -pub mod rocksdb_weights; -pub mod xcm; - -pub use block_weights::constants::BlockExecutionWeight; -pub use extrinsic_weights::constants::ExtrinsicBaseWeight; -pub use rocksdb_weights::constants::RocksDbWeight; diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_balances.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_balances.rs deleted file mode 100644 index 9ff826775efba..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_balances.rs +++ /dev/null @@ -1,177 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_balances` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_balances -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_balances`. -pub struct WeightInfo(PhantomData); -impl pallet_balances::WeightInfo for WeightInfo { - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_allow_death() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3593` - // Minimum execution time: 49_298_000 picoseconds. - Weight::from_parts(50_120_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_keep_alive() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3593` - // Minimum execution time: 39_382_000 picoseconds. - Weight::from_parts(40_010_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_set_balance_creating() -> Weight { - // Proof Size summary in bytes: - // Measured: `103` - // Estimated: `3593` - // Minimum execution time: 14_405_000 picoseconds. - Weight::from_parts(14_881_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_set_balance_killing() -> Weight { - // Proof Size summary in bytes: - // Measured: `103` - // Estimated: `3593` - // Minimum execution time: 21_280_000 picoseconds. - Weight::from_parts(21_777_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_transfer() -> Weight { - // Proof Size summary in bytes: - // Measured: `103` - // Estimated: `6196` - // Minimum execution time: 51_210_000 picoseconds. - Weight::from_parts(52_101_000, 0) - .saturating_add(Weight::from_parts(0, 6196)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_all() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3593` - // Minimum execution time: 49_150_000 picoseconds. - Weight::from_parts(49_845_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_unreserve() -> Weight { - // Proof Size summary in bytes: - // Measured: `103` - // Estimated: `3593` - // Minimum execution time: 17_103_000 picoseconds. - Weight::from_parts(17_979_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:999 w:999) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `u` is `[1, 1000]`. - fn upgrade_accounts(u: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0 + u * (136 Β±0)` - // Estimated: `990 + u * (2603 Β±0)` - // Minimum execution time: 16_856_000 picoseconds. - Weight::from_parts(17_097_000, 0) - .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 11_810 - .saturating_add(Weight::from_parts(14_844_422, 0).saturating_mul(u.into())) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(u.into()))) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(u.into()))) - .saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into())) - } - fn force_adjust_total_issuance() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 6_069_000 picoseconds. - Weight::from_parts(6_556_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn burn_allow_death() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 31_336_000 picoseconds. - Weight::from_parts(32_468_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn burn_keep_alive() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 21_911_000 picoseconds. - Weight::from_parts(22_357_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_collator_selection.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_collator_selection.rs deleted file mode 100644 index 53f8b691e1ed3..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_collator_selection.rs +++ /dev/null @@ -1,280 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_collator_selection` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_collator_selection -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_collator_selection`. -pub struct WeightInfo(PhantomData); -impl pallet_collator_selection::WeightInfo for WeightInfo { - /// Storage: `Session::NextKeys` (r:20 w:0) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `CollatorSelection::Invulnerables` (r:0 w:1) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// The range of component `b` is `[1, 20]`. - fn set_invulnerables(b: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `164 + b * (79 Β±0)` - // Estimated: `1155 + b * (2555 Β±0)` - // Minimum execution time: 12_804_000 picoseconds. - Weight::from_parts(10_801_718, 0) - .saturating_add(Weight::from_parts(0, 1155)) - // Standard Error: 10_325 - .saturating_add(Weight::from_parts(4_052_639, 0).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into()))) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(Weight::from_parts(0, 2555).saturating_mul(b.into())) - } - /// Storage: `Session::NextKeys` (r:1 w:0) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:1) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `b` is `[1, 19]`. - /// The range of component `c` is `[1, 99]`. - fn add_invulnerable(b: u32, c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `757 + b * (32 Β±0) + c * (53 Β±0)` - // Estimated: `6287 + b * (37 Β±0) + c * (53 Β±0)` - // Minimum execution time: 49_565_000 picoseconds. - Weight::from_parts(50_178_552, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 9_536 - .saturating_add(Weight::from_parts(135_081, 0).saturating_mul(b.into())) - // Standard Error: 1_807 - .saturating_add(Weight::from_parts(133_957, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) - .saturating_add(Weight::from_parts(0, 37).saturating_mul(b.into())) - .saturating_add(Weight::from_parts(0, 53).saturating_mul(c.into())) - } - /// Storage: `CollatorSelection::CandidateList` (r:1 w:0) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:1) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// The range of component `b` is `[5, 20]`. - fn remove_invulnerable(b: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `119 + b * (32 Β±0)` - // Estimated: `6287` - // Minimum execution time: 13_065_000 picoseconds. - Weight::from_parts(13_170_688, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 2_279 - .saturating_add(Weight::from_parts(165_987, 0).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `CollatorSelection::DesiredCandidates` (r:0 w:1) - /// Proof: `CollatorSelection::DesiredCandidates` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - fn set_desired_candidates() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 4_936_000 picoseconds. - Weight::from_parts(5_196_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `CollatorSelection::CandidacyBond` (r:1 w:1) - /// Proof: `CollatorSelection::CandidacyBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:100 w:100) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:100) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// The range of component `c` is `[0, 100]`. - /// The range of component `k` is `[0, 100]`. - fn set_candidacy_bond(c: u32, k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0 + c * (180 Β±0) + k * (112 Β±0)` - // Estimated: `6287 + c * (901 Β±29) + k * (901 Β±29)` - // Minimum execution time: 11_229_000 picoseconds. - Weight::from_parts(11_336_000, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 175_749 - .saturating_add(Weight::from_parts(5_988_803, 0).saturating_mul(c.into())) - // Standard Error: 175_749 - .saturating_add(Weight::from_parts(5_610_271, 0).saturating_mul(k.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into()))) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) - .saturating_add(Weight::from_parts(0, 901).saturating_mul(c.into())) - .saturating_add(Weight::from_parts(0, 901).saturating_mul(k.into())) - } - /// Storage: `CollatorSelection::CandidacyBond` (r:1 w:0) - /// Proof: `CollatorSelection::CandidacyBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// The range of component `c` is `[4, 100]`. - fn update_bond(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `287 + c * (50 Β±0)` - // Estimated: `6287` - // Minimum execution time: 28_393_000 picoseconds. - Weight::from_parts(32_175_700, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 3_970 - .saturating_add(Weight::from_parts(141_768, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `Session::NextKeys` (r:1 w:0) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `CollatorSelection::CandidacyBond` (r:1 w:0) - /// Proof: `CollatorSelection::CandidacyBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:1) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// The range of component `c` is `[1, 99]`. - fn register_as_candidate(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `724 + c * (52 Β±0)` - // Estimated: `6287 + c * (54 Β±0)` - // Minimum execution time: 41_945_000 picoseconds. - Weight::from_parts(47_948_059, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 3_134 - .saturating_add(Weight::from_parts(167_461, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(Weight::from_parts(0, 54).saturating_mul(c.into())) - } - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::CandidacyBond` (r:1 w:0) - /// Proof: `CollatorSelection::CandidacyBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Session::NextKeys` (r:1 w:0) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:2) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// The range of component `c` is `[4, 100]`. - fn take_candidate_slot(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `892 + c * (52 Β±0)` - // Estimated: `6287 + c * (55 Β±0)` - // Minimum execution time: 60_957_000 picoseconds. - Weight::from_parts(66_435_263, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 3_044 - .saturating_add(Weight::from_parts(170_126, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add(Weight::from_parts(0, 55).saturating_mul(c.into())) - } - /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:1) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// The range of component `c` is `[4, 100]`. - fn leave_intent(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `314 + c * (48 Β±0)` - // Estimated: `6287` - // Minimum execution time: 31_777_000 picoseconds. - Weight::from_parts(36_837_543, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 4_164 - .saturating_add(Weight::from_parts(183_495, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:1) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - fn note_author() -> Weight { - // Proof Size summary in bytes: - // Measured: `103` - // Estimated: `6196` - // Minimum execution time: 42_719_000 picoseconds. - Weight::from_parts(43_694_000, 0) - .saturating_add(Weight::from_parts(0, 6196)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `CollatorSelection::CandidateList` (r:1 w:0) - /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:100 w:0) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::DesiredCandidates` (r:1 w:0) - /// Proof: `CollatorSelection::DesiredCandidates` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:97 w:97) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 100]`. - /// The range of component `c` is `[1, 100]`. - fn new_session(r: u32, c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `2180 + c * (97 Β±0) + r * (112 Β±0)` - // Estimated: `6287 + c * (2519 Β±0) + r * (2603 Β±0)` - // Minimum execution time: 19_779_000 picoseconds. - Weight::from_parts(20_188_000, 0) - .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 310_110 - .saturating_add(Weight::from_parts(14_346_415, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(c.into()))) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into()))) - .saturating_add(Weight::from_parts(0, 2519).saturating_mul(c.into())) - .saturating_add(Weight::from_parts(0, 2603).saturating_mul(r.into())) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_identity.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_identity.rs deleted file mode 100644 index a04444994ea13..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_identity.rs +++ /dev/null @@ -1,579 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_identity` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_identity -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_identity`. -pub struct WeightInfo(PhantomData); -impl pallet_identity::WeightInfo for WeightInfo { - /// Storage: `Identity::Registrars` (r:1 w:1) - /// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 19]`. - fn add_registrar(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `32 + r * (57 Β±0)` - // Estimated: `2626` - // Minimum execution time: 9_848_000 picoseconds. - Weight::from_parts(10_466_847, 0) - .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 1_369 - .saturating_add(Weight::from_parts(106_104, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::IdentityOf` (r:1 w:1) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 20]`. - fn set_identity(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `441 + r * (5 Β±0)` - // Estimated: `4269` - // Minimum execution time: 19_928_000 picoseconds. - Weight::from_parts(20_737_832, 0) - .saturating_add(Weight::from_parts(0, 4269)) - // Standard Error: 1_535 - .saturating_add(Weight::from_parts(112_440, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::IdentityOf` (r:1 w:0) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// Storage: `Identity::SubsOf` (r:1 w:1) - /// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`) - /// Storage: `Identity::SuperOf` (r:100 w:100) - /// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`) - /// The range of component `s` is `[0, 100]`. - fn set_subs_new(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `101` - // Estimated: `6723 + s * (2589 Β±0)` - // Minimum execution time: 13_948_000 picoseconds. - Weight::from_parts(27_705_253, 0) - .saturating_add(Weight::from_parts(0, 6723)) - // Standard Error: 6_263 - .saturating_add(Weight::from_parts(3_717_349, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(s.into()))) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) - .saturating_add(Weight::from_parts(0, 2589).saturating_mul(s.into())) - } - /// Storage: `Identity::IdentityOf` (r:1 w:0) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// Storage: `Identity::SubsOf` (r:1 w:1) - /// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`) - /// Storage: `Identity::SuperOf` (r:0 w:100) - /// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`) - /// The range of component `p` is `[0, 100]`. - fn set_subs_old(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `194 + p * (32 Β±0)` - // Estimated: `6723` - // Minimum execution time: 13_719_000 picoseconds. - Weight::from_parts(27_841_625, 0) - .saturating_add(Weight::from_parts(0, 6723)) - // Standard Error: 4_083 - .saturating_add(Weight::from_parts(1_432_686, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into()))) - } - /// Storage: `Identity::SubsOf` (r:1 w:1) - /// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`) - /// Storage: `Identity::IdentityOf` (r:1 w:1) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// Storage: `Identity::SuperOf` (r:0 w:100) - /// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 20]`. - /// The range of component `s` is `[0, 100]`. - fn clear_identity(r: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `533 + r * (5 Β±0) + s * (32 Β±0)` - // Estimated: `6723` - // Minimum execution time: 31_443_000 picoseconds. - Weight::from_parts(31_973_880, 0) - .saturating_add(Weight::from_parts(0, 6723)) - // Standard Error: 26_019 - .saturating_add(Weight::from_parts(190_904, 0).saturating_mul(r.into())) - // Standard Error: 5_077 - .saturating_add(Weight::from_parts(1_416_448, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) - } - /// Storage: `Identity::Registrars` (r:1 w:0) - /// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`) - /// Storage: `Identity::IdentityOf` (r:1 w:1) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 20]`. - fn request_judgement(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `431 + r * (57 Β±0)` - // Estimated: `4269` - // Minimum execution time: 31_044_000 picoseconds. - Weight::from_parts(32_326_692, 0) - .saturating_add(Weight::from_parts(0, 4269)) - // Standard Error: 2_758 - .saturating_add(Weight::from_parts(143_778, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::IdentityOf` (r:1 w:1) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 20]`. - fn cancel_request(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `462` - // Estimated: `4269` - // Minimum execution time: 29_052_000 picoseconds. - Weight::from_parts(29_936_298, 0) - .saturating_add(Weight::from_parts(0, 4269)) - // Standard Error: 2_163 - .saturating_add(Weight::from_parts(111_011, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::Registrars` (r:1 w:1) - /// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 19]`. - fn set_fee(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `89 + r * (57 Β±0)` - // Estimated: `2626` - // Minimum execution time: 6_877_000 picoseconds. - Weight::from_parts(7_427_649, 0) - .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 1_398 - .saturating_add(Weight::from_parts(80_293, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::Registrars` (r:1 w:1) - /// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 19]`. - fn set_account_id(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `89 + r * (57 Β±0)` - // Estimated: `2626` - // Minimum execution time: 7_042_000 picoseconds. - Weight::from_parts(7_602_430, 0) - .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 1_162 - .saturating_add(Weight::from_parts(71_047, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::Registrars` (r:1 w:1) - /// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 19]`. - fn set_fields(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `89 + r * (57 Β±0)` - // Estimated: `2626` - // Minimum execution time: 6_854_000 picoseconds. - Weight::from_parts(7_329_901, 0) - .saturating_add(Weight::from_parts(0, 2626)) - // Standard Error: 1_018 - .saturating_add(Weight::from_parts(75_560, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::Registrars` (r:1 w:0) - /// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`) - /// Storage: `Identity::IdentityOf` (r:1 w:1) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 19]`. - fn provide_judgement(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `509 + r * (57 Β±0)` - // Estimated: `4269` - // Minimum execution time: 21_996_000 picoseconds. - Weight::from_parts(22_871_139, 0) - .saturating_add(Weight::from_parts(0, 4269)) - // Standard Error: 1_805 - .saturating_add(Weight::from_parts(100_041, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::SubsOf` (r:1 w:1) - /// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`) - /// Storage: `Identity::IdentityOf` (r:1 w:1) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) - /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0) - /// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `Identity::SuperOf` (r:0 w:100) - /// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 20]`. - /// The range of component `s` is `[0, 100]`. - fn kill_identity(r: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `742 + r * (5 Β±0) + s * (32 Β±0)` - // Estimated: `6723 + r * (6 Β±0) + s * (32 Β±0)` - // Minimum execution time: 84_637_000 picoseconds. - Weight::from_parts(88_522_543, 0) - .saturating_add(Weight::from_parts(0, 6723)) - // Standard Error: 19_867 - .saturating_add(Weight::from_parts(461_065, 0).saturating_mul(r.into())) - // Standard Error: 3_876 - .saturating_add(Weight::from_parts(1_506_725, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) - .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) - .saturating_add(Weight::from_parts(0, 32).saturating_mul(s.into())) - } - /// Storage: `Identity::IdentityOf` (r:1 w:0) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// Storage: `Identity::SuperOf` (r:1 w:1) - /// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`) - /// Storage: `Identity::SubsOf` (r:1 w:1) - /// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`) - /// The range of component `s` is `[0, 99]`. - fn add_sub(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `475 + s * (36 Β±0)` - // Estimated: `6723` - // Minimum execution time: 29_500_000 picoseconds. - Weight::from_parts(35_101_317, 0) - .saturating_add(Weight::from_parts(0, 6723)) - // Standard Error: 1_634 - .saturating_add(Weight::from_parts(115_225, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Identity::IdentityOf` (r:1 w:0) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// Storage: `Identity::SuperOf` (r:1 w:1) - /// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`) - /// The range of component `s` is `[1, 100]`. - fn rename_sub(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `591 + s * (3 Β±0)` - // Estimated: `4269` - // Minimum execution time: 18_210_000 picoseconds. - Weight::from_parts(20_927_042, 0) - .saturating_add(Weight::from_parts(0, 4269)) - // Standard Error: 768 - .saturating_add(Weight::from_parts(61_741, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::IdentityOf` (r:1 w:0) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// Storage: `Identity::SuperOf` (r:1 w:1) - /// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`) - /// Storage: `Identity::SubsOf` (r:1 w:1) - /// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`) - /// The range of component `s` is `[1, 100]`. - fn remove_sub(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `638 + s * (35 Β±0)` - // Estimated: `6723` - // Minimum execution time: 33_777_000 picoseconds. - Weight::from_parts(41_132_711, 0) - .saturating_add(Weight::from_parts(0, 6723)) - // Standard Error: 1_840 - .saturating_add(Weight::from_parts(108_430, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Identity::SuperOf` (r:1 w:1) - /// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`) - /// Storage: `Identity::SubsOf` (r:1 w:1) - /// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:0) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `s` is `[0, 99]`. - fn quit_sub(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `667 + s * (37 Β±0)` - // Estimated: `6723` - // Minimum execution time: 24_421_000 picoseconds. - Weight::from_parts(28_181_575, 0) - .saturating_add(Weight::from_parts(0, 6723)) - // Standard Error: 2_548 - .saturating_add(Weight::from_parts(148_324, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Identity::AuthorityOf` (r:0 w:1) - /// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn add_username_authority() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 7_053_000 picoseconds. - Weight::from_parts(7_337_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::AuthorityOf` (r:1 w:1) - /// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn remove_username_authority() -> Weight { - // Proof Size summary in bytes: - // Measured: `79` - // Estimated: `3517` - // Minimum execution time: 10_714_000 picoseconds. - Weight::from_parts(11_383_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::AuthorityOf` (r:1 w:1) - /// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `Identity::UsernameInfoOf` (r:1 w:1) - /// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`) - /// Storage: `Identity::PendingUsernames` (r:1 w:0) - /// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(102), added: 2577, mode: `MaxEncodedLen`) - /// Storage: `Identity::UsernameOf` (r:1 w:1) - /// Proof: `Identity::UsernameOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `p` is `[0, 1]`. - fn set_username_for(_p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `182` - // Estimated: `3593` - // Minimum execution time: 68_588_000 picoseconds. - Weight::from_parts(88_797_132, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `Identity::PendingUsernames` (r:1 w:1) - /// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(102), added: 2577, mode: `MaxEncodedLen`) - /// Storage: `Identity::UsernameOf` (r:1 w:1) - /// Proof: `Identity::UsernameOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Identity::UsernameInfoOf` (r:0 w:1) - /// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`) - fn accept_username() -> Weight { - // Proof Size summary in bytes: - // Measured: `116` - // Estimated: `3567` - // Minimum execution time: 21_542_000 picoseconds. - Weight::from_parts(22_436_000, 0) - .saturating_add(Weight::from_parts(0, 3567)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Identity::PendingUsernames` (r:1 w:1) - /// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(102), added: 2577, mode: `MaxEncodedLen`) - /// Storage: `Identity::AuthorityOf` (r:1 w:0) - /// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `p` is `[0, 1]`. - fn remove_expired_approval(_p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `310` - // Estimated: `3593` - // Minimum execution time: 15_593_000 picoseconds. - Weight::from_parts(38_944_828, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Identity::UsernameInfoOf` (r:1 w:0) - /// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`) - /// Storage: `Identity::UsernameOf` (r:0 w:1) - /// Proof: `Identity::UsernameOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - fn set_primary_username() -> Weight { - // Proof Size summary in bytes: - // Measured: `172` - // Estimated: `3563` - // Minimum execution time: 13_891_000 picoseconds. - Weight::from_parts(14_833_000, 0) - .saturating_add(Weight::from_parts(0, 3563)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::UsernameInfoOf` (r:1 w:0) - /// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`) - /// Storage: `Identity::AuthorityOf` (r:1 w:0) - /// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `Identity::UnbindingUsernames` (r:1 w:1) - /// Proof: `Identity::UnbindingUsernames` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`) - fn unbind_username() -> Weight { - // Proof Size summary in bytes: - // Measured: `236` - // Estimated: `3563` - // Minimum execution time: 18_974_000 picoseconds. - Weight::from_parts(19_243_000, 0) - .saturating_add(Weight::from_parts(0, 3563)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::UnbindingUsernames` (r:1 w:1) - /// Proof: `Identity::UnbindingUsernames` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`) - /// Storage: `Identity::UsernameInfoOf` (r:1 w:1) - /// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`) - /// Storage: `Identity::UsernameOf` (r:1 w:1) - /// Proof: `Identity::UsernameOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Identity::AuthorityOf` (r:1 w:0) - /// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn remove_username() -> Weight { - // Proof Size summary in bytes: - // Measured: `297` - // Estimated: `3563` - // Minimum execution time: 23_448_000 picoseconds. - Weight::from_parts(24_410_000, 0) - .saturating_add(Weight::from_parts(0, 3563)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Identity::UsernameInfoOf` (r:1 w:1) - /// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`) - /// Storage: `Identity::UsernameOf` (r:1 w:1) - /// Proof: `Identity::UsernameOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Identity::UnbindingUsernames` (r:1 w:1) - /// Proof: `Identity::UnbindingUsernames` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`) - /// Storage: `Identity::AuthorityOf` (r:1 w:0) - /// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:2 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) - /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0) - /// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// The range of component `p` is `[0, 1]`. - fn kill_username(_p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `540` - // Estimated: `6196` - // Minimum execution time: 21_407_000 picoseconds. - Weight::from_parts(82_016_546, 0) - .saturating_add(Weight::from_parts(0, 6196)) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f99622d1423cdd16f5c33e2b531c34a53d` (r:2 w:0) - /// Proof: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f99622d1423cdd16f5c33e2b531c34a53d` (r:2 w:0) - /// Storage: `Identity::AuthorityOf` (r:0 w:1) - /// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn migration_v2_authority_step() -> Weight { - // Proof Size summary in bytes: - // Measured: `147` - // Estimated: `6087` - // Minimum execution time: 8_850_000 picoseconds. - Weight::from_parts(9_249_000, 0) - .saturating_add(Weight::from_parts(0, 6087)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f97c182fead9255863460affdd63116be3` (r:2 w:0) - /// Proof: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f97c182fead9255863460affdd63116be3` (r:2 w:0) - /// Storage: `Identity::UsernameInfoOf` (r:0 w:1) - /// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`) - fn migration_v2_username_step() -> Weight { - // Proof Size summary in bytes: - // Measured: `159` - // Estimated: `6099` - // Minimum execution time: 8_810_000 picoseconds. - Weight::from_parts(9_163_000, 0) - .saturating_add(Weight::from_parts(0, 6099)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::IdentityOf` (r:2 w:1) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// Storage: `Identity::UsernameOf` (r:0 w:1) - /// Proof: `Identity::UsernameOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - fn migration_v2_identity_step() -> Weight { - // Proof Size summary in bytes: - // Measured: `526` - // Estimated: `7548` - // Minimum execution time: 13_549_000 picoseconds. - Weight::from_parts(14_194_000, 0) - .saturating_add(Weight::from_parts(0, 7548)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Identity::PendingUsernames` (r:2 w:1) - /// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(102), added: 2577, mode: `MaxEncodedLen`) - fn migration_v2_pending_username_step() -> Weight { - // Proof Size summary in bytes: - // Measured: `201` - // Estimated: `6144` - // Minimum execution time: 8_112_000 picoseconds. - Weight::from_parts(8_441_000, 0) - .saturating_add(Weight::from_parts(0, 6144)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::AuthorityOf` (r:2 w:0) - /// Proof: `Identity::AuthorityOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f99622d1423cdd16f5c33e2b531c34a53d` (r:1 w:1) - /// Proof: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f99622d1423cdd16f5c33e2b531c34a53d` (r:1 w:1) - fn migration_v2_cleanup_authority_step() -> Weight { - // Proof Size summary in bytes: - // Measured: `288` - // Estimated: `6044` - // Minimum execution time: 11_749_000 picoseconds. - Weight::from_parts(12_322_000, 0) - .saturating_add(Weight::from_parts(0, 6044)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Identity::UsernameInfoOf` (r:2 w:0) - /// Proof: `Identity::UsernameInfoOf` (`max_values`: None, `max_size`: Some(98), added: 2573, mode: `MaxEncodedLen`) - /// Storage: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f97c182fead9255863460affdd63116be3` (r:1 w:1) - /// Proof: UNKNOWN KEY `0x2aeddc77fe58c98d50bd37f1b90840f97c182fead9255863460affdd63116be3` (r:1 w:1) - fn migration_v2_cleanup_username_step() -> Weight { - // Proof Size summary in bytes: - // Measured: `290` - // Estimated: `6136` - // Minimum execution time: 10_486_000 picoseconds. - Weight::from_parts(11_408_000, 0) - .saturating_add(Weight::from_parts(0, 6136)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(1)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_message_queue.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_message_queue.rs deleted file mode 100644 index b828850163e07..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_message_queue.rs +++ /dev/null @@ -1,200 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_message_queue` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_message_queue -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_message_queue`. -pub struct WeightInfo(PhantomData); -impl pallet_message_queue::WeightInfo for WeightInfo { - /// Storage: `MessageQueue::ServiceHead` (r:1 w:0) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::BookStateFor` (r:2 w:2) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn ready_ring_knit() -> Weight { - // Proof Size summary in bytes: - // Measured: `223` - // Estimated: `6044` - // Minimum execution time: 13_244_000 picoseconds. - Weight::from_parts(14_004_000, 0) - .saturating_add(Weight::from_parts(0, 6044)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `MessageQueue::BookStateFor` (r:2 w:2) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - fn ready_ring_unknit() -> Weight { - // Proof Size summary in bytes: - // Measured: `218` - // Estimated: `6044` - // Minimum execution time: 12_387_000 picoseconds. - Weight::from_parts(12_858_000, 0) - .saturating_add(Weight::from_parts(0, 6044)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn service_queue_base() -> Weight { - // Proof Size summary in bytes: - // Measured: `6` - // Estimated: `3517` - // Minimum execution time: 4_116_000 picoseconds. - Weight::from_parts(4_387_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn service_page_base_completion() -> Weight { - // Proof Size summary in bytes: - // Measured: `72` - // Estimated: `108986` - // Minimum execution time: 6_433_000 picoseconds. - Weight::from_parts(6_823_000, 0) - .saturating_add(Weight::from_parts(0, 108986)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn service_page_base_no_completion() -> Weight { - // Proof Size summary in bytes: - // Measured: `72` - // Estimated: `108986` - // Minimum execution time: 6_457_000 picoseconds. - Weight::from_parts(7_044_000, 0) - .saturating_add(Weight::from_parts(0, 108986)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::BookStateFor` (r:0 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn service_page_item() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 289_599_000 picoseconds. - Weight::from_parts(298_013_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:0) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn bump_service_head() -> Weight { - // Proof Size summary in bytes: - // Measured: `171` - // Estimated: `3517` - // Minimum execution time: 7_791_000 picoseconds. - Weight::from_parts(8_120_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:0) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:0 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - fn set_service_head() -> Weight { - // Proof Size summary in bytes: - // Measured: `161` - // Estimated: `3517` - // Minimum execution time: 6_337_000 picoseconds. - Weight::from_parts(6_671_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn reap_page() -> Weight { - // Proof Size summary in bytes: - // Measured: `105609` - // Estimated: `108986` - // Minimum execution time: 112_313_000 picoseconds. - Weight::from_parts(113_580_000, 0) - .saturating_add(Weight::from_parts(0, 108986)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn execute_overweight_page_removed() -> Weight { - // Proof Size summary in bytes: - // Measured: `105609` - // Estimated: `108986` - // Minimum execution time: 142_383_000 picoseconds. - Weight::from_parts(144_443_000, 0) - .saturating_add(Weight::from_parts(0, 108986)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) - fn execute_overweight_page_updated() -> Weight { - // Proof Size summary in bytes: - // Measured: `105609` - // Estimated: `108986` - // Minimum execution time: 204_483_000 picoseconds. - Weight::from_parts(210_871_000, 0) - .saturating_add(Weight::from_parts(0, 108986)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_migrations.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_migrations.rs deleted file mode 100644 index 15c453d9192bc..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_migrations.rs +++ /dev/null @@ -1,224 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_migrations` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_migrations -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_migrations`. -pub struct WeightInfo(PhantomData); -impl pallet_migrations::WeightInfo for WeightInfo { - /// Storage: `MultiBlockMigrations::Cursor` (r:1 w:1) - /// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`) - /// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - fn onboard_new_mbms() -> Weight { - // Proof Size summary in bytes: - // Measured: `71` - // Estimated: `67035` - // Minimum execution time: 8_430_000 picoseconds. - Weight::from_parts(8_626_000, 0) - .saturating_add(Weight::from_parts(0, 67035)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0) - /// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`) - fn progress_mbms_none() -> Weight { - // Proof Size summary in bytes: - // Measured: `42` - // Estimated: `67035` - // Minimum execution time: 2_717_000 picoseconds. - Weight::from_parts(2_849_000, 0) - .saturating_add(Weight::from_parts(0, 67035)) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - /// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1) - /// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`) - fn exec_migration_completed() -> Weight { - // Proof Size summary in bytes: - // Measured: `29` - // Estimated: `3494` - // Minimum execution time: 5_991_000 picoseconds. - Weight::from_parts(6_200_000, 0) - .saturating_add(Weight::from_parts(0, 3494)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - /// Storage: `MultiBlockMigrations::Historic` (r:1 w:0) - /// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`) - fn exec_migration_skipped_historic() -> Weight { - // Proof Size summary in bytes: - // Measured: `125` - // Estimated: `3731` - // Minimum execution time: 11_447_000 picoseconds. - Weight::from_parts(11_825_000, 0) - .saturating_add(Weight::from_parts(0, 3731)) - .saturating_add(T::DbWeight::get().reads(2)) - } - /// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - /// Storage: `MultiBlockMigrations::Historic` (r:1 w:0) - /// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`) - fn exec_migration_advance() -> Weight { - // Proof Size summary in bytes: - // Measured: `71` - // Estimated: `3731` - // Minimum execution time: 11_096_000 picoseconds. - Weight::from_parts(11_324_000, 0) - .saturating_add(Weight::from_parts(0, 3731)) - .saturating_add(T::DbWeight::get().reads(2)) - } - /// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - /// Storage: `MultiBlockMigrations::Historic` (r:1 w:1) - /// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`) - fn exec_migration_complete() -> Weight { - // Proof Size summary in bytes: - // Measured: `71` - // Estimated: `3731` - // Minimum execution time: 12_627_000 picoseconds. - Weight::from_parts(13_076_000, 0) - .saturating_add(Weight::from_parts(0, 3731)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - /// Storage: `MultiBlockMigrations::Historic` (r:1 w:0) - /// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`) - /// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1) - /// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`) - fn exec_migration_fail() -> Weight { - // Proof Size summary in bytes: - // Measured: `71` - // Estimated: `3731` - // Minimum execution time: 13_532_000 picoseconds. - Weight::from_parts(13_887_000, 0) - .saturating_add(Weight::from_parts(0, 3731)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - fn on_init_loop() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 195_000 picoseconds. - Weight::from_parts(220_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1) - /// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`) - fn force_set_cursor() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_677_000 picoseconds. - Weight::from_parts(2_965_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1) - /// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`) - fn force_set_active_cursor() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_143_000 picoseconds. - Weight::from_parts(3_356_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0) - /// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`) - /// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) - fn force_onboard_mbms() -> Weight { - // Proof Size summary in bytes: - // Measured: `85` - // Estimated: `67035` - // Minimum execution time: 6_844_000 picoseconds. - Weight::from_parts(7_095_000, 0) - .saturating_add(Weight::from_parts(0, 67035)) - .saturating_add(T::DbWeight::get().reads(2)) - } - /// Storage: `MultiBlockMigrations::Historic` (r:256 w:256) - /// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 256]`. - fn clear_historic(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1022 + n * (271 Β±0)` - // Estimated: `3834 + n * (2740 Β±0)` - // Minimum execution time: 16_491_000 picoseconds. - Weight::from_parts(15_159_833, 0) - .saturating_add(Weight::from_parts(0, 3834)) - // Standard Error: 3_053 - .saturating_add(Weight::from_parts(1_456_192, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) - .saturating_add(Weight::from_parts(0, 2740).saturating_mul(n.into())) - } - /// Storage: `Skipped::Metadata` (r:0 w:0) - /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `n` is `[0, 2048]`. - fn reset_pallet_migration(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1642 + n * (38 Β±0)` - // Estimated: `720 + n * (39 Β±0)` - // Minimum execution time: 1_861_000 picoseconds. - Weight::from_parts(8_542_096, 0) - .saturating_add(Weight::from_parts(0, 720)) - // Standard Error: 1_577 - .saturating_add(Weight::from_parts(844_168, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) - .saturating_add(Weight::from_parts(0, 39).saturating_mul(n.into())) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_multisig.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_multisig.rs deleted file mode 100644 index c60c8a657bc55..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_multisig.rs +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_multisig` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-25, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `c8c7296f7413`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_multisig -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_multisig`. -pub struct WeightInfo(PhantomData); -impl pallet_multisig::WeightInfo for WeightInfo { - /// The range of component `z` is `[0, 10000]`. - fn as_multi_threshold_1(z: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 15_740_000 picoseconds. - Weight::from_parts(16_129_400, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 18 - .saturating_add(Weight::from_parts(949, 0).saturating_mul(z.into())) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - /// The range of component `z` is `[0, 10000]`. - fn as_multi_create(s: u32, z: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `262 + s * (2 Β±0)` - // Estimated: `6811` - // Minimum execution time: 47_726_000 picoseconds. - Weight::from_parts(42_770_458, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 5_216 - .saturating_add(Weight::from_parts(92_088, 0).saturating_mul(s.into())) - // Standard Error: 51 - .saturating_add(Weight::from_parts(1_836, 0).saturating_mul(z.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[3, 100]`. - /// The range of component `z` is `[0, 10000]`. - fn as_multi_approve(s: u32, z: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `282` - // Estimated: `6811` - // Minimum execution time: 30_839_000 picoseconds. - Weight::from_parts(17_024_830, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_897 - .saturating_add(Weight::from_parts(152_893, 0).saturating_mul(s.into())) - // Standard Error: 18 - .saturating_add(Weight::from_parts(2_077, 0).saturating_mul(z.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - /// The range of component `z` is `[0, 10000]`. - fn as_multi_complete(s: u32, z: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `385 + s * (33 Β±0)` - // Estimated: `6811` - // Minimum execution time: 51_336_000 picoseconds. - Weight::from_parts(33_150_111, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 2_792 - .saturating_add(Weight::from_parts(210_323, 0).saturating_mul(s.into())) - // Standard Error: 27 - .saturating_add(Weight::from_parts(2_275, 0).saturating_mul(z.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - fn approve_as_multi_create(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `263 + s * (2 Β±0)` - // Estimated: `6811` - // Minimum execution time: 29_377_000 picoseconds. - Weight::from_parts(31_278_890, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_426 - .saturating_add(Weight::from_parts(167_735, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - fn approve_as_multi_approve(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `282` - // Estimated: `6811` - // Minimum execution time: 16_734_000 picoseconds. - Weight::from_parts(18_265_217, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_209 - .saturating_add(Weight::from_parts(133_740, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - fn cancel_as_multi(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `454 + s * (1 Β±0)` - // Estimated: `6811` - // Minimum execution time: 30_167_000 picoseconds. - Weight::from_parts(32_070_456, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_666 - .saturating_add(Weight::from_parts(163_065, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - fn poke_deposit(s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `454 + s * (1 Β±0)` - // Estimated: `6811` - // Minimum execution time: 29_156_000 picoseconds. - Weight::from_parts(30_828_857, 0) - .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_194 - .saturating_add(Weight::from_parts(145_508, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_proxy.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_proxy.rs deleted file mode 100644 index c971e1a96379b..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_proxy.rs +++ /dev/null @@ -1,242 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_proxy` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `99fc4dfa9c86`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_proxy -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_proxy`. -pub struct WeightInfo(PhantomData); -impl pallet_proxy::WeightInfo for WeightInfo { - /// Storage: `Proxy::Proxies` (r:1 w:0) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn proxy(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `127 + p * (37 Β±0)` - // Estimated: `4706` - // Minimum execution time: 14_193_000 picoseconds. - Weight::from_parts(14_814_540, 0) - .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_163 - .saturating_add(Weight::from_parts(25_891, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:0) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn proxy_announced(a: u32, p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `454 + a * (68 Β±0) + p * (37 Β±0)` - // Estimated: `5698` - // Minimum execution time: 40_717_000 picoseconds. - Weight::from_parts(41_406_158, 0) - .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 3_363 - .saturating_add(Weight::from_parts(149_287, 0).saturating_mul(a.into())) - // Standard Error: 3_475 - .saturating_add(Weight::from_parts(53_202, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn remove_announcement(a: u32, p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `369 + a * (68 Β±0)` - // Estimated: `5698` - // Minimum execution time: 25_574_000 picoseconds. - Weight::from_parts(25_943_471, 0) - .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 1_934 - .saturating_add(Weight::from_parts(145_112, 0).saturating_mul(a.into())) - // Standard Error: 1_998 - .saturating_add(Weight::from_parts(31_322, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn reject_announcement(a: u32, p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `369 + a * (68 Β±0)` - // Estimated: `5698` - // Minimum execution time: 25_649_000 picoseconds. - Weight::from_parts(25_882_341, 0) - .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 2_025 - .saturating_add(Weight::from_parts(142_994, 0).saturating_mul(a.into())) - // Standard Error: 2_092 - .saturating_add(Weight::from_parts(34_199, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Proxy::Proxies` (r:1 w:0) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn announce(a: u32, p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `386 + a * (68 Β±0) + p * (37 Β±0)` - // Estimated: `5698` - // Minimum execution time: 37_082_000 picoseconds. - Weight::from_parts(37_886_513, 0) - .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 3_640 - .saturating_add(Weight::from_parts(144_359, 0).saturating_mul(a.into())) - // Standard Error: 3_760 - .saturating_add(Weight::from_parts(45_703, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn add_proxy(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `127 + p * (37 Β±0)` - // Estimated: `4706` - // Minimum execution time: 23_957_000 picoseconds. - Weight::from_parts(24_927_975, 0) - .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_758 - .saturating_add(Weight::from_parts(43_725, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn remove_proxy(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `127 + p * (37 Β±0)` - // Estimated: `4706` - // Minimum execution time: 23_729_000 picoseconds. - Weight::from_parts(24_583_323, 0) - .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_400 - .saturating_add(Weight::from_parts(45_509, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn remove_proxies(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `127 + p * (37 Β±0)` - // Estimated: `4706` - // Minimum execution time: 21_192_000 picoseconds. - Weight::from_parts(21_995_477, 0) - .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_926 - .saturating_add(Weight::from_parts(34_525, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn create_pure(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `139` - // Estimated: `4706` - // Minimum execution time: 25_253_000 picoseconds. - Weight::from_parts(26_188_295, 0) - .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_659 - .saturating_add(Weight::from_parts(22_321, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[0, 30]`. - fn kill_pure(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `164 + p * (37 Β±0)` - // Estimated: `4706` - // Minimum execution time: 22_278_000 picoseconds. - Weight::from_parts(23_226_079, 0) - .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_375 - .saturating_add(Weight::from_parts(23_729, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - fn poke_deposit() -> Weight { - // Proof Size summary in bytes: - // Measured: `453` - // Estimated: `5698` - // Minimum execution time: 43_833_000 picoseconds. - Weight::from_parts(44_489_000, 0) - .saturating_add(Weight::from_parts(0, 5698)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_session.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_session.rs deleted file mode 100644 index 1f93aa756a8ee..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_session.rs +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_session` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_session -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_session`. -pub struct WeightInfo(PhantomData); -impl pallet_session::WeightInfo for WeightInfo { - /// Storage: `Session::NextKeys` (r:1 w:1) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Session::KeyOwner` (r:1 w:1) - /// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn set_keys() -> Weight { - // Proof Size summary in bytes: - // Measured: `271` - // Estimated: `3736` - // Minimum execution time: 18_404_000 picoseconds. - Weight::from_parts(18_873_000, 0) - .saturating_add(Weight::from_parts(0, 3736)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Session::NextKeys` (r:1 w:1) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Session::KeyOwner` (r:0 w:1) - /// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn purge_keys() -> Weight { - // Proof Size summary in bytes: - // Measured: `243` - // Estimated: `3708` - // Minimum execution time: 13_408_000 picoseconds. - Weight::from_parts(13_766_000, 0) - .saturating_add(Weight::from_parts(0, 3708)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_timestamp.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_timestamp.rs deleted file mode 100644 index 7cff044ec2b71..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_timestamp.rs +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_timestamp` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_timestamp -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_timestamp`. -pub struct WeightInfo(PhantomData); -impl pallet_timestamp::WeightInfo for WeightInfo { - /// Storage: `Timestamp::Now` (r:1 w:1) - /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) - /// Storage: `Aura::CurrentSlot` (r:1 w:0) - /// Proof: `Aura::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) - fn set() -> Weight { - // Proof Size summary in bytes: - // Measured: `85` - // Estimated: `1493` - // Minimum execution time: 8_096_000 picoseconds. - Weight::from_parts(8_404_000, 0) - .saturating_add(Weight::from_parts(0, 1493)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - fn on_finalize() -> Weight { - // Proof Size summary in bytes: - // Measured: `94` - // Estimated: `0` - // Minimum execution time: 4_510_000 picoseconds. - Weight::from_parts(4_707_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_transaction_payment.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_transaction_payment.rs deleted file mode 100644 index e8a4d1e583583..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_transaction_payment.rs +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_transaction_payment` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_transaction_payment -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_transaction_payment`. -pub struct WeightInfo(PhantomData); -impl pallet_transaction_payment::WeightInfo for WeightInfo { - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn charge_transaction_payment() -> Weight { - // Proof Size summary in bytes: - // Measured: `101` - // Estimated: `6196` - // Minimum execution time: 44_019_000 picoseconds. - Weight::from_parts(45_193_000, 0) - .saturating_add(Weight::from_parts(0, 6196)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_utility.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_utility.rs deleted file mode 100644 index 4795df9a313bb..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_utility.rs +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_utility` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_utility -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_utility`. -pub struct WeightInfo(PhantomData); -impl pallet_utility::WeightInfo for WeightInfo { - /// The range of component `c` is `[0, 1000]`. - fn batch(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 5_054_000 picoseconds. - Weight::from_parts(5_176_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 715 - .saturating_add(Weight::from_parts(3_005_267, 0).saturating_mul(c.into())) - } - fn as_derivative() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 4_581_000 picoseconds. - Weight::from_parts(4_788_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// The range of component `c` is `[0, 1000]`. - fn batch_all(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 5_037_000 picoseconds. - Weight::from_parts(5_257_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 791 - .saturating_add(Weight::from_parts(3_206_939, 0).saturating_mul(c.into())) - } - fn dispatch_as() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 6_872_000 picoseconds. - Weight::from_parts(7_124_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// The range of component `c` is `[0, 1000]`. - fn force_batch(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 5_060_000 picoseconds. - Weight::from_parts(5_180_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 660 - .saturating_add(Weight::from_parts(2_996_117, 0).saturating_mul(c.into())) - } - fn dispatch_as_fallible() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 6_863_000 picoseconds. - Weight::from_parts(7_157_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn if_else() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 8_589_000 picoseconds. - Weight::from_parts(8_868_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_xcm.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_xcm.rs deleted file mode 100644 index 81b759de27100..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_xcm.rs +++ /dev/null @@ -1,390 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_xcm` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-07-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `a49f76527979`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_xcm -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `pallet_xcm`. -pub struct WeightInfo(PhantomData); -impl pallet_xcm::WeightInfo for WeightInfo { - /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) - /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - /// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - fn send() -> Weight { - // Proof Size summary in bytes: - // Measured: `244` - // Estimated: `3709` - // Minimum execution time: 34_158_000 picoseconds. - Weight::from_parts(35_174_000, 0) - .saturating_add(Weight::from_parts(0, 3709)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) - /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0) - /// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - /// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - fn teleport_assets() -> Weight { - // Proof Size summary in bytes: - // Measured: `244` - // Estimated: `3709` - // Minimum execution time: 116_998_000 picoseconds. - Weight::from_parts(120_674_000, 0) - .saturating_add(Weight::from_parts(0, 3709)) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Benchmark::Override` (r:0 w:0) - /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn reserve_transfer_assets() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 18_446_744_073_709_551_000 picoseconds. - Weight::from_parts(18_446_744_073_709_551_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) - /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0) - /// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - /// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - fn transfer_assets() -> Weight { - // Proof Size summary in bytes: - // Measured: `244` - // Estimated: `3709` - // Minimum execution time: 116_783_000 picoseconds. - Weight::from_parts(121_527_000, 0) - .saturating_add(Weight::from_parts(0, 3709)) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0) - /// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn execute() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `1485` - // Minimum execution time: 9_424_000 picoseconds. - Weight::from_parts(9_737_000, 0) - .saturating_add(Weight::from_parts(0, 1485)) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn force_xcm_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 7_875_000 picoseconds. - Weight::from_parts(8_130_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - fn force_default_xcm_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_381_000 picoseconds. - Weight::from_parts(2_561_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1) - /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1) - /// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - /// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::Queries` (r:0 w:1) - /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn force_subscribe_version_notify() -> Weight { - // Proof Size summary in bytes: - // Measured: `175` - // Estimated: `3640` - // Minimum execution time: 36_927_000 picoseconds. - Weight::from_parts(38_308_000, 0) - .saturating_add(Weight::from_parts(0, 3640)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1) - /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:0) - /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - /// Storage: `XcmpQueue::OutboundXcmpMessages` (r:1 w:1) - /// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::Queries` (r:0 w:1) - /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn force_unsubscribe_version_notify() -> Weight { - // Proof Size summary in bytes: - // Measured: `334` - // Estimated: `108971` - // Minimum execution time: 42_365_000 picoseconds. - Weight::from_parts(43_757_000, 0) - .saturating_add(Weight::from_parts(0, 108971)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `PolkadotXcm::XcmExecutionSuspended` (r:0 w:1) - /// Proof: `PolkadotXcm::XcmExecutionSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn force_suspension() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_365_000 picoseconds. - Weight::from_parts(2_499_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PolkadotXcm::SupportedVersion` (r:6 w:2) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn migrate_supported_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `23` - // Estimated: `15863` - // Minimum execution time: 20_424_000 picoseconds. - Weight::from_parts(21_184_000, 0) - .saturating_add(Weight::from_parts(0, 15863)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PolkadotXcm::VersionNotifiers` (r:6 w:2) - /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn migrate_version_notifiers() -> Weight { - // Proof Size summary in bytes: - // Measured: `27` - // Estimated: `15867` - // Minimum execution time: 20_641_000 picoseconds. - Weight::from_parts(21_383_000, 0) - .saturating_add(Weight::from_parts(0, 15867)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:7 w:0) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn already_notified_target() -> Weight { - // Proof Size summary in bytes: - // Measured: `79` - // Estimated: `18394` - // Minimum execution time: 25_931_000 picoseconds. - Weight::from_parts(26_547_000, 0) - .saturating_add(Weight::from_parts(0, 18394)) - .saturating_add(T::DbWeight::get().reads(7)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:2 w:1) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn notify_current_targets() -> Weight { - // Proof Size summary in bytes: - // Measured: `119` - // Estimated: `6059` - // Minimum execution time: 35_296_000 picoseconds. - Weight::from_parts(36_300_000, 0) - .saturating_add(Weight::from_parts(0, 6059)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:5 w:0) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn notify_target_migration_fail() -> Weight { - // Proof Size summary in bytes: - // Measured: `79` - // Estimated: `13444` - // Minimum execution time: 18_067_000 picoseconds. - Weight::from_parts(18_628_000, 0) - .saturating_add(Weight::from_parts(0, 13444)) - .saturating_add(T::DbWeight::get().reads(5)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:6 w:2) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn migrate_version_notify_targets() -> Weight { - // Proof Size summary in bytes: - // Measured: `34` - // Estimated: `15874` - // Minimum execution time: 20_389_000 picoseconds. - Weight::from_parts(21_258_000, 0) - .saturating_add(Weight::from_parts(0, 15874)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:6 w:1) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - /// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn migrate_and_notify_old_targets() -> Weight { - // Proof Size summary in bytes: - // Measured: `119` - // Estimated: `15959` - // Minimum execution time: 45_440_000 picoseconds. - Weight::from_parts(47_521_000, 0) - .saturating_add(Weight::from_parts(0, 15959)) - .saturating_add(T::DbWeight::get().reads(9)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1) - /// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::Queries` (r:0 w:1) - /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn new_query() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `1485` - // Minimum execution time: 2_671_000 picoseconds. - Weight::from_parts(2_797_000, 0) - .saturating_add(Weight::from_parts(0, 1485)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PolkadotXcm::Queries` (r:1 w:1) - /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn take_response() -> Weight { - // Proof Size summary in bytes: - // Measured: `7576` - // Estimated: `11041` - // Minimum execution time: 27_233_000 picoseconds. - Weight::from_parts(27_764_000, 0) - .saturating_add(Weight::from_parts(0, 11041)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0) - /// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::AssetTraps` (r:1 w:1) - /// Proof: `PolkadotXcm::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn claim_assets() -> Weight { - // Proof Size summary in bytes: - // Measured: `24` - // Estimated: `3489` - // Minimum execution time: 39_700_000 picoseconds. - Weight::from_parts(40_687_000, 0) - .saturating_add(Weight::from_parts(0, 3489)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Benchmark::Override` (r:0 w:0) - /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn add_authorized_alias() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 18_446_744_073_709_551_000 picoseconds. - Weight::from_parts(18_446_744_073_709_551_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// Storage: `Benchmark::Override` (r:0 w:0) - /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn remove_authorized_alias() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 18_446_744_073_709_551_000 picoseconds. - Weight::from_parts(18_446_744_073_709_551_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - fn weigh_message() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 8_080_000 picoseconds. - Weight::from_parts(8_385_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/paritydb_weights.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/paritydb_weights.rs deleted file mode 100644 index db09e9de7bdf4..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/paritydb_weights.rs +++ /dev/null @@ -1,63 +0,0 @@ -// This file is part of Cumulus. - -// Copyright (C) 2022 Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub mod constants { - use frame_support::{ - parameter_types, - weights::{constants, RuntimeDbWeight}, - }; - - parameter_types! { - /// `ParityDB` can be enabled with a feature flag, but is still experimental. These weights - /// are available for brave runtime engineers who may want to try this out as default. - pub const ParityDbWeight: RuntimeDbWeight = RuntimeDbWeight { - read: 8_000 * constants::WEIGHT_REF_TIME_PER_NANOS, - write: 50_000 * constants::WEIGHT_REF_TIME_PER_NANOS, - }; - } - - #[cfg(test)] - mod test_db_weights { - use super::constants::ParityDbWeight as W; - use frame_support::weights::constants; - - /// Checks that all weights exist and have sane values. - // NOTE: If this test fails but you are sure that the generated values are fine, - // you can delete it. - #[test] - fn sane() { - // At least 1 Β΅s. - assert!( - W::get().reads(1).ref_time() >= constants::WEIGHT_REF_TIME_PER_MICROS, - "Read weight should be at least 1 Β΅s." - ); - assert!( - W::get().writes(1).ref_time() >= constants::WEIGHT_REF_TIME_PER_MICROS, - "Write weight should be at least 1 Β΅s." - ); - // At most 1 ms. - assert!( - W::get().reads(1).ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS, - "Read weight should be at most 1 ms." - ); - assert!( - W::get().writes(1).ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS, - "Write weight should be at most 1 ms." - ); - } - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/polkadot_runtime_common_identity_migrator.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/polkadot_runtime_common_identity_migrator.rs deleted file mode 100644 index 7446d57279c3f..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/polkadot_runtime_common_identity_migrator.rs +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `polkadot_runtime_common::identity_migrator` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `afc679a858d4`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=polkadot_runtime_common::identity_migrator -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weight functions for `polkadot_runtime_common::identity_migrator`. -pub struct WeightInfo(PhantomData); -impl polkadot_runtime_common::identity_migrator::WeightInfo for WeightInfo { - /// Storage: `Identity::IdentityOf` (r:1 w:1) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// Storage: `Identity::SubsOf` (r:1 w:1) - /// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Identity::SuperOf` (r:0 w:100) - /// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`) - /// The range of component `r` is `[0, 20]`. - /// The range of component `s` is `[0, 100]`. - fn reap_identity(r: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `673 + r * (5 Β±0) + s * (32 Β±0)` - // Estimated: `6723` - // Minimum execution time: 35_063_000 picoseconds. - Weight::from_parts(34_643_325, 0) - .saturating_add(Weight::from_parts(0, 6723)) - // Standard Error: 15_530 - .saturating_add(Weight::from_parts(259_757, 0).saturating_mul(r.into())) - // Standard Error: 3_181 - .saturating_add(Weight::from_parts(1_506_816, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) - } - /// Storage: `Identity::IdentityOf` (r:1 w:1) - /// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(804), added: 3279, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Identity::SubsOf` (r:1 w:1) - /// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`) - fn poke_deposit() -> Weight { - // Proof Size summary in bytes: - // Measured: `634` - // Estimated: `6723` - // Minimum execution time: 47_179_000 picoseconds. - Weight::from_parts(48_906_000, 0) - .saturating_add(Weight::from_parts(0, 6723)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/rocksdb_weights.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/rocksdb_weights.rs deleted file mode 100644 index 855ec356bca93..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/rocksdb_weights.rs +++ /dev/null @@ -1,63 +0,0 @@ -// This file is part of Cumulus. - -// Copyright (C) 2022 Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub mod constants { - use frame_support::{ - parameter_types, - weights::{constants, RuntimeDbWeight}, - }; - - parameter_types! { - /// By default, Substrate uses `RocksDB`, so this will be the weight used throughout - /// the runtime. - pub const RocksDbWeight: RuntimeDbWeight = RuntimeDbWeight { - read: 25_000 * constants::WEIGHT_REF_TIME_PER_NANOS, - write: 100_000 * constants::WEIGHT_REF_TIME_PER_NANOS, - }; - } - - #[cfg(test)] - mod test_db_weights { - use super::constants::RocksDbWeight as W; - use frame_support::weights::constants; - - /// Checks that all weights exist and have sane values. - // NOTE: If this test fails but you are sure that the generated values are fine, - // you can delete it. - #[test] - fn sane() { - // At least 1 Β΅s. - assert!( - W::get().reads(1).ref_time() >= constants::WEIGHT_REF_TIME_PER_MICROS, - "Read weight should be at least 1 Β΅s." - ); - assert!( - W::get().writes(1).ref_time() >= constants::WEIGHT_REF_TIME_PER_MICROS, - "Write weight should be at least 1 Β΅s." - ); - // At most 1 ms. - assert!( - W::get().reads(1).ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS, - "Read weight should be at most 1 ms." - ); - assert!( - W::get().writes(1).ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS, - "Write weight should be at most 1 ms." - ); - } - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/xcm/mod.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/xcm/mod.rs deleted file mode 100644 index 41c773db7c766..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/xcm/mod.rs +++ /dev/null @@ -1,272 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -mod pallet_xcm_benchmarks_fungible; -mod pallet_xcm_benchmarks_generic; - -use crate::{xcm_config::MaxAssetsIntoHolding, Runtime}; -use alloc::vec::Vec; -use frame_support::weights::Weight; -use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight; -use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric; -use sp_runtime::BoundedVec; -use xcm::{ - latest::{prelude::*, AssetTransferFilter}, - DoubleEncoded, -}; - -trait WeighAssets { - fn weigh_assets(&self, weight: Weight) -> Weight; -} - -const MAX_ASSETS: u64 = 100; - -impl WeighAssets for AssetFilter { - fn weigh_assets(&self, weight: Weight) -> Weight { - match self { - Self::Definite(assets) => weight.saturating_mul(assets.inner().iter().count() as u64), - Self::Wild(asset) => match asset { - All => weight.saturating_mul(MAX_ASSETS), - AllOf { fun, .. } => match fun { - WildFungibility::Fungible => weight, - // Magic number 2 has to do with the fact that we could have up to 2 times - // MaxAssetsIntoHolding in the worst-case scenario. - WildFungibility::NonFungible => - weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64), - }, - AllCounted(count) => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), - AllOfCounted { count, .. } => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), - }, - } - } -} - -impl WeighAssets for Assets { - fn weigh_assets(&self, weight: Weight) -> Weight { - weight.saturating_mul(self.inner().iter().count() as u64) - } -} - -pub struct PeopleRococoXcmWeight(core::marker::PhantomData); -impl XcmWeightInfo for PeopleRococoXcmWeight { - fn withdraw_asset(assets: &Assets) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::withdraw_asset()) - } - fn reserve_asset_deposited(assets: &Assets) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::reserve_asset_deposited()) - } - fn receive_teleported_asset(assets: &Assets) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::receive_teleported_asset()) - } - fn query_response( - _query_id: &u64, - _response: &Response, - _max_weight: &Weight, - _querier: &Option, - ) -> Weight { - XcmGeneric::::query_response() - } - fn transfer_asset(assets: &Assets, _dest: &Location) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::transfer_asset()) - } - fn transfer_reserve_asset(assets: &Assets, _dest: &Location, _xcm: &Xcm<()>) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::transfer_reserve_asset()) - } - fn transact( - _origin_type: &OriginKind, - _fallback_max_weight: &Option, - _call: &DoubleEncoded, - ) -> Weight { - XcmGeneric::::transact() - } - fn hrmp_new_channel_open_request( - _sender: &u32, - _max_message_size: &u32, - _max_capacity: &u32, - ) -> Weight { - // XCM Executor does not currently support HRMP channel operations - Weight::MAX - } - fn hrmp_channel_accepted(_recipient: &u32) -> Weight { - // XCM Executor does not currently support HRMP channel operations - Weight::MAX - } - fn hrmp_channel_closing(_initiator: &u32, _sender: &u32, _recipient: &u32) -> Weight { - // XCM Executor does not currently support HRMP channel operations - Weight::MAX - } - fn clear_origin() -> Weight { - XcmGeneric::::clear_origin() - } - fn descend_origin(_who: &InteriorLocation) -> Weight { - XcmGeneric::::descend_origin() - } - fn report_error(_query_response_info: &QueryResponseInfo) -> Weight { - XcmGeneric::::report_error() - } - fn deposit_asset(assets: &AssetFilter, _dest: &Location) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::deposit_asset()) - } - fn deposit_reserve_asset(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::deposit_reserve_asset()) - } - fn exchange_asset(_give: &AssetFilter, _receive: &Assets, _maximal: &bool) -> Weight { - Weight::MAX - } - fn initiate_reserve_withdraw( - assets: &AssetFilter, - _reserve: &Location, - _xcm: &Xcm<()>, - ) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::initiate_reserve_withdraw()) - } - fn initiate_teleport(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight { - assets.weigh_assets(XcmFungibleWeight::::initiate_teleport()) - } - fn initiate_transfer( - _dest: &Location, - remote_fees: &Option, - _preserve_origin: &bool, - assets: &BoundedVec, - _xcm: &Xcm<()>, - ) -> Weight { - let mut weight = if let Some(remote_fees) = remote_fees { - let fees = remote_fees.inner(); - fees.weigh_assets(XcmFungibleWeight::::initiate_transfer()) - } else { - Weight::zero() - }; - for asset_filter in assets { - let assets = asset_filter.inner(); - let extra = assets.weigh_assets(XcmFungibleWeight::::initiate_transfer()); - weight = weight.saturating_add(extra); - } - weight - } - fn report_holding(_response_info: &QueryResponseInfo, _assets: &AssetFilter) -> Weight { - XcmGeneric::::report_holding() - } - fn buy_execution(_fees: &Asset, _weight_limit: &WeightLimit) -> Weight { - XcmGeneric::::buy_execution() - } - fn pay_fees(_asset: &Asset) -> Weight { - XcmGeneric::::pay_fees() - } - fn refund_surplus() -> Weight { - XcmGeneric::::refund_surplus() - } - fn set_error_handler(_xcm: &Xcm) -> Weight { - XcmGeneric::::set_error_handler() - } - fn set_appendix(_xcm: &Xcm) -> Weight { - XcmGeneric::::set_appendix() - } - fn clear_error() -> Weight { - XcmGeneric::::clear_error() - } - fn claim_asset(_assets: &Assets, _ticket: &Location) -> Weight { - XcmGeneric::::claim_asset() - } - fn trap(_code: &u64) -> Weight { - XcmGeneric::::trap() - } - fn subscribe_version(_query_id: &QueryId, _max_response_weight: &Weight) -> Weight { - XcmGeneric::::subscribe_version() - } - fn unsubscribe_version() -> Weight { - XcmGeneric::::unsubscribe_version() - } - fn burn_asset(assets: &Assets) -> Weight { - assets.weigh_assets(XcmGeneric::::burn_asset()) - } - fn expect_asset(assets: &Assets) -> Weight { - assets.weigh_assets(XcmGeneric::::expect_asset()) - } - fn expect_origin(_origin: &Option) -> Weight { - XcmGeneric::::expect_origin() - } - fn expect_error(_error: &Option<(u32, XcmError)>) -> Weight { - XcmGeneric::::expect_error() - } - fn expect_transact_status(_transact_status: &MaybeErrorCode) -> Weight { - XcmGeneric::::expect_transact_status() - } - fn query_pallet(_module_name: &Vec, _response_info: &QueryResponseInfo) -> Weight { - XcmGeneric::::query_pallet() - } - fn expect_pallet( - _index: &u32, - _name: &Vec, - _module_name: &Vec, - _crate_major: &u32, - _min_crate_minor: &u32, - ) -> Weight { - XcmGeneric::::expect_pallet() - } - fn report_transact_status(_response_info: &QueryResponseInfo) -> Weight { - XcmGeneric::::report_transact_status() - } - fn clear_transact_status() -> Weight { - XcmGeneric::::clear_transact_status() - } - fn universal_origin(_: &Junction) -> Weight { - Weight::MAX - } - fn export_message(_: &NetworkId, _: &Junctions, _: &Xcm<()>) -> Weight { - Weight::MAX - } - fn lock_asset(_: &Asset, _: &Location) -> Weight { - Weight::MAX - } - fn unlock_asset(_: &Asset, _: &Location) -> Weight { - Weight::MAX - } - fn note_unlockable(_: &Asset, _: &Location) -> Weight { - Weight::MAX - } - fn request_unlock(_: &Asset, _: &Location) -> Weight { - Weight::MAX - } - fn set_fees_mode(_: &bool) -> Weight { - XcmGeneric::::set_fees_mode() - } - fn set_topic(_topic: &[u8; 32]) -> Weight { - XcmGeneric::::set_topic() - } - fn clear_topic() -> Weight { - XcmGeneric::::clear_topic() - } - fn alias_origin(_: &Location) -> Weight { - // XCM Executor does not currently support alias origin operations - Weight::MAX - } - fn unpaid_execution(_: &WeightLimit, _: &Option) -> Weight { - XcmGeneric::::unpaid_execution() - } - fn set_hints(hints: &BoundedVec) -> Weight { - let mut weight = Weight::zero(); - for hint in hints { - match hint { - AssetClaimer { .. } => { - weight = weight.saturating_add(XcmGeneric::::asset_claimer()); - }, - } - } - weight - } - fn execute_with_origin(_: &Option, _: &Xcm) -> Weight { - XcmGeneric::::execute_with_origin() - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs deleted file mode 100644 index ddeed67df499e..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs +++ /dev/null @@ -1,215 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_xcm_benchmarks::fungible` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-07-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `a49f76527979`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_xcm_benchmarks::fungible -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights/xcm -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --template=cumulus/templates/xcm-bench-template.hbs -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weights for `pallet_xcm_benchmarks::fungible`. -pub struct WeightInfo(PhantomData); -impl WeightInfo { - // Storage: `System::Account` (r:1 w:1) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - pub fn withdraw_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `101` - // Estimated: `3593` - // Minimum execution time: 30_722_000 picoseconds. - Weight::from_parts(31_547_000, 3593) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - pub fn transfer_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `101` - // Estimated: `6196` - // Minimum execution time: 41_885_000 picoseconds. - Weight::from_parts(42_845_000, 6196) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - // Storage: `System::Account` (r:3 w:3) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn transfer_reserve_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `8799` - // Minimum execution time: 110_100_000 picoseconds. - Weight::from_parts(112_319_000, 8799) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(5)) - } - // Storage: `Benchmark::Override` (r:0 w:0) - // Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) - pub fn reserve_asset_deposited() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 18_446_744_073_709_551_000 picoseconds. - Weight::from_parts(18_446_744_073_709_551_000, 0) - } - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn initiate_reserve_withdraw() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `6196` - // Minimum execution time: 79_690_000 picoseconds. - Weight::from_parts(82_281_000, 6196) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } - pub fn receive_teleported_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_748_000 picoseconds. - Weight::from_parts(2_919_000, 0) - } - // Storage: `System::Account` (r:1 w:1) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - pub fn deposit_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3593` - // Minimum execution time: 24_264_000 picoseconds. - Weight::from_parts(24_701_000, 3593) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `System::Account` (r:1 w:1) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn deposit_reserve_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `244` - // Estimated: `3709` - // Minimum execution time: 68_727_000 picoseconds. - Weight::from_parts(70_944_000, 3709) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(3)) - } - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn initiate_teleport() -> Weight { - // Proof Size summary in bytes: - // Measured: `244` - // Estimated: `3709` - // Minimum execution time: 48_495_000 picoseconds. - Weight::from_parts(49_936_000, 3709) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(2)) - } - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn initiate_transfer() -> Weight { - // Proof Size summary in bytes: - // Measured: `244` - // Estimated: `6196` - // Minimum execution time: 94_270_000 picoseconds. - Weight::from_parts(96_465_000, 6196) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/xcm/pallet_xcm_benchmarks_generic.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/xcm/pallet_xcm_benchmarks_generic.rs deleted file mode 100644 index 37dba06cb564b..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/xcm/pallet_xcm_benchmarks_generic.rs +++ /dev/null @@ -1,368 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_xcm_benchmarks::generic` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-07-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `a49f76527979`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/people-rococo-runtime/people_rococo_runtime.wasm -// --pallet=pallet_xcm_benchmarks::generic -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights/xcm -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --template=cumulus/templates/xcm-bench-template.hbs -// --no-storage-info -// --no-min-squares -// --no-median-slopes - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weights for `pallet_xcm_benchmarks::generic`. -pub struct WeightInfo(PhantomData); -impl WeightInfo { - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn report_holding() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `6196` - // Minimum execution time: 76_734_000 picoseconds. - Weight::from_parts(79_192_000, 6196) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } - // Storage: `System::Account` (r:1 w:1) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - pub fn buy_execution() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3593` - // Minimum execution time: 3_824_000 picoseconds. - Weight::from_parts(4_021_000, 3593) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - // Storage: `System::Account` (r:1 w:1) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - pub fn pay_fees() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3593` - // Minimum execution time: 3_653_000 picoseconds. - Weight::from_parts(3_956_000, 3593) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - pub fn asset_claimer() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 754_000 picoseconds. - Weight::from_parts(805_000, 0) - } - // Storage: `PolkadotXcm::Queries` (r:1 w:0) - // Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) - pub fn query_response() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3465` - // Minimum execution time: 5_858_000 picoseconds. - Weight::from_parts(6_017_000, 3465) - .saturating_add(T::DbWeight::get().reads(1)) - } - pub fn transact() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 7_376_000 picoseconds. - Weight::from_parts(7_673_000, 0) - } - pub fn refund_surplus() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_183_000 picoseconds. - Weight::from_parts(1_246_000, 0) - } - pub fn set_error_handler() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 742_000 picoseconds. - Weight::from_parts(801_000, 0) - } - pub fn set_appendix() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 727_000 picoseconds. - Weight::from_parts(786_000, 0) - } - pub fn clear_error() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 675_000 picoseconds. - Weight::from_parts(729_000, 0) - } - pub fn descend_origin() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 764_000 picoseconds. - Weight::from_parts(793_000, 0) - } - // Storage: `Benchmark::Override` (r:0 w:0) - // Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) - pub fn execute_with_origin() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 18_446_744_073_709_551_000 picoseconds. - Weight::from_parts(18_446_744_073_709_551_000, 0) - } - pub fn clear_origin() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 663_000 picoseconds. - Weight::from_parts(752_000, 0) - } - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn report_error() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `6196` - // Minimum execution time: 73_512_000 picoseconds. - Weight::from_parts(75_381_000, 6196) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } - // Storage: `PolkadotXcm::AssetTraps` (r:1 w:1) - // Proof: `PolkadotXcm::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`) - pub fn claim_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `24` - // Estimated: `3489` - // Minimum execution time: 9_359_000 picoseconds. - Weight::from_parts(9_823_000, 3489) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - pub fn trap() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_402_000 picoseconds. - Weight::from_parts(3_585_000, 0) - } - // Storage: `PolkadotXcm::VersionNotifyTargets` (r:1 w:1) - // Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn subscribe_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `175` - // Estimated: `3640` - // Minimum execution time: 31_686_000 picoseconds. - Weight::from_parts(32_742_000, 3640) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(3)) - } - // Storage: `PolkadotXcm::VersionNotifyTargets` (r:0 w:1) - // Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - pub fn unsubscribe_version() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_091_000 picoseconds. - Weight::from_parts(3_327_000, 0) - .saturating_add(T::DbWeight::get().writes(1)) - } - pub fn burn_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_069_000 picoseconds. - Weight::from_parts(1_126_000, 0) - } - pub fn expect_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 769_000 picoseconds. - Weight::from_parts(847_000, 0) - } - pub fn expect_origin() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_459_000 picoseconds. - Weight::from_parts(3_616_000, 0) - } - pub fn expect_error() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_456_000 picoseconds. - Weight::from_parts(3_631_000, 0) - } - pub fn expect_transact_status() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 846_000 picoseconds. - Weight::from_parts(925_000, 0) - } - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn query_pallet() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `6196` - // Minimum execution time: 77_788_000 picoseconds. - Weight::from_parts(80_423_000, 6196) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } - pub fn expect_pallet() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_723_000 picoseconds. - Weight::from_parts(3_891_000, 0) - } - // Storage: `ParachainInfo::ParachainId` (r:1 w:0) - // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) - // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`) - // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - // Storage: `System::Account` (r:2 w:2) - // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0) - // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) - // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) - // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) - // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`) - pub fn report_transact_status() -> Weight { - // Proof Size summary in bytes: - // Measured: `345` - // Estimated: `6196` - // Minimum execution time: 74_903_000 picoseconds. - Weight::from_parts(76_835_000, 6196) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(4)) - } - pub fn clear_transact_status() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 715_000 picoseconds. - Weight::from_parts(786_000, 0) - } - pub fn set_topic() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 686_000 picoseconds. - Weight::from_parts(741_000, 0) - } - pub fn clear_topic() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 677_000 picoseconds. - Weight::from_parts(738_000, 0) - } - pub fn set_fees_mode() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 687_000 picoseconds. - Weight::from_parts(745_000, 0) - } - pub fn unpaid_execution() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 704_000 picoseconds. - Weight::from_parts(748_000, 0) - } -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/xcm_config.rs b/cumulus/parachains/runtimes/people/people-rococo/src/xcm_config.rs deleted file mode 100644 index 8f2a89a268ee2..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/src/xcm_config.rs +++ /dev/null @@ -1,292 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use super::{ - AccountId, AllPalletsWithSystem, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, - Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue, -}; -use crate::{TransactionByteFee, CENTS}; -use frame_support::{ - parameter_types, - traits::{ - tokens::imbalance::ResolveTo, ConstU32, Contains, Disabled, Equals, Everything, Nothing, - }, -}; -use frame_system::EnsureRoot; -use pallet_collator_selection::StakingPotAccountId; -use pallet_xcm::XcmPassthrough; -use parachains_common::{ - xcm_config::{ - AllSiblingSystemParachains, ConcreteAssetFromSystem, ParentRelayOrSiblingParachains, - RelayOrOtherSystemParachains, - }, - TREASURY_PALLET_ID, -}; -use polkadot_parachain_primitives::primitives::Sibling; -use sp_runtime::traits::AccountIdConversion; -use xcm::latest::{prelude::*, ROCOCO_GENESIS_HASH}; -use xcm_builder::{ - AccountId32Aliases, AllowExplicitUnpaidExecutionFrom, AllowHrmpNotificationsFromRelayChain, - AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, - DenyRecursively, DenyReserveTransferToRelayChain, DenyThenTry, DescribeAllTerminal, - DescribeFamily, DescribeTerminus, EnsureXcmOrigin, FrameTransactionalProcessor, - FungibleAdapter, HashedDescription, IsConcrete, ParentAsSuperuser, ParentIsPreset, - RelayChainAsNative, SendXcmFeeToAccount, SiblingParachainAsNative, SiblingParachainConvertsVia, - SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, - TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin, WithUniqueTopic, - XcmFeeManagerFromComponents, -}; -use xcm_executor::XcmExecutor; - -parameter_types! { - pub const RootLocation: Location = Location::here(); - pub const RelayLocation: Location = Location::parent(); - pub const RelayNetwork: Option = Some(NetworkId::ByGenesis(ROCOCO_GENESIS_HASH)); - pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub UniversalLocation: InteriorLocation = - [GlobalConsensus(RelayNetwork::get().unwrap()), Parachain(ParachainInfo::parachain_id().into())].into(); - pub const MaxInstructions: u32 = 100; - pub const MaxAssetsIntoHolding: u32 = 64; - pub const GovernanceLocation: Location = Location::parent(); - pub const FellowshipLocation: Location = Location::parent(); - /// The asset ID for the asset that we use to pay for message delivery fees. Just ROC. - pub FeeAssetId: AssetId = AssetId(RelayLocation::get()); - /// The base fee for the message delivery fees. - pub const BaseDeliveryFee: u128 = CENTS.saturating_mul(3); - pub TreasuryAccount: AccountId = TREASURY_PALLET_ID.into_account_truncating(); - pub RelayTreasuryLocation: Location = - (Parent, PalletInstance(rococo_runtime_constants::TREASURY_PALLET_ID)).into(); -} - -pub type PriceForParentDelivery = polkadot_runtime_common::xcm_sender::ExponentialPrice< - FeeAssetId, - BaseDeliveryFee, - TransactionByteFee, - ParachainSystem, ->; - -pub type PriceForSiblingParachainDelivery = polkadot_runtime_common::xcm_sender::ExponentialPrice< - FeeAssetId, - BaseDeliveryFee, - TransactionByteFee, - XcmpQueue, ->; - -/// Type for specifying how a `Location` can be converted into an `AccountId`. This is used -/// when determining ownership of accounts for asset transacting and when attempting to use XCM -/// `Transact` in order to determine the dispatch Origin. -pub type LocationToAccountId = ( - // The parent (Relay-chain) origin converts to the parent `AccountId`. - ParentIsPreset, - // Sibling parachain origins convert to AccountId via the `ParaId::into`. - SiblingParachainConvertsVia, - // Straight up local `AccountId32` origins just alias directly to `AccountId`. - AccountId32Aliases, - // Here/local root location to `AccountId`. - HashedDescription, - // Foreign locations alias into accounts according to a hash of their standard description. - HashedDescription>, -); - -/// Means for transacting the native currency on this chain. -pub type FungibleTransactor = FungibleAdapter< - // Use this currency: - Balances, - // Use this currency when it is a fungible asset matching the given location or name: - IsConcrete, - // Do a simple punn to convert an `AccountId32` `Location` into a native chain - // `AccountId`: - LocationToAccountId, - // Our chain's `AccountId` type (we can't get away without mentioning it explicitly): - AccountId, - // We don't track any teleports of `Balances`. - (), ->; - -/// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance, -/// ready for dispatching a transaction with XCM's `Transact`. There is an `OriginKind` that can -/// bias the kind of local `Origin` it will become. -pub type XcmOriginToTransactDispatchOrigin = ( - // Sovereign account converter; this attempts to derive an `AccountId` from the origin location - // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for - // foreign chains who want to have a local sovereign account on this chain that they control. - SovereignSignedViaLocation, - // Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when - // recognized. - RelayChainAsNative, - // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when - // recognized. - SiblingParachainAsNative, - // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a - // transaction from the Root origin. - ParentAsSuperuser, - // Native signed account converter; this just converts an `AccountId32` origin into a normal - // `RuntimeOrigin::Signed` origin of the same 32-byte value. - SignedAccountId32AsNative, - // XCM origins can be represented natively under the XCM pallet's `Xcm` origin. - XcmPassthrough, -); - -pub struct LocalPlurality; -impl Contains for LocalPlurality { - fn contains(location: &Location) -> bool { - matches!(location.unpack(), (0, [Plurality { .. }])) - } -} - -pub struct ParentOrParentsPlurality; -impl Contains for ParentOrParentsPlurality { - fn contains(location: &Location) -> bool { - matches!(location.unpack(), (1, []) | (1, [Plurality { .. }])) - } -} - -pub type Barrier = TrailingSetTopicAsId< - DenyThenTry< - DenyRecursively, - ( - // Allow local users to buy weight credit. - TakeWeightCredit, - // Expected responses are OK. - AllowKnownQueryResponses, - WithComputedOrigin< - ( - // If the message is one that immediately attempts to pay for execution, then - // allow it. - AllowTopLevelPaidExecutionFrom, - // Parent and its pluralities (i.e. governance bodies) get free execution. - AllowExplicitUnpaidExecutionFrom, - // Subscriptions for version tracking are OK. - AllowSubscriptionsFrom, - // HRMP notifications from the relay chain are OK. - AllowHrmpNotificationsFromRelayChain, - ), - UniversalLocation, - ConstU32<8>, - >, - ), - >, ->; - -/// Locations that will not be charged fees in the executor, neither for execution nor delivery. We -/// only waive fees for system functions, which these locations represent. -pub type WaivedLocations = ( - RelayOrOtherSystemParachains, - Equals, - Equals, - LocalPlurality, -); - -pub struct XcmConfig; -impl xcm_executor::Config for XcmConfig { - type RuntimeCall = RuntimeCall; - type XcmSender = XcmRouter; - type XcmEventEmitter = PolkadotXcm; - type AssetTransactor = FungibleTransactor; - type OriginConverter = XcmOriginToTransactDispatchOrigin; - // People chain does not recognize a reserve location for any asset. Users must teleport ROC - // where allowed (e.g. with the Relay Chain). - type IsReserve = (); - /// Only allow teleportation of ROC. - type IsTeleporter = ConcreteAssetFromSystem; - type UniversalLocation = UniversalLocation; - type Barrier = Barrier; - type Weigher = WeightInfoBounds< - crate::weights::xcm::PeopleRococoXcmWeight, - RuntimeCall, - MaxInstructions, - >; - type Trader = UsingComponents< - WeightToFee, - RelayLocation, - AccountId, - Balances, - ResolveTo, Balances>, - >; - type ResponseHandler = PolkadotXcm; - type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; - type SubscriptionService = PolkadotXcm; - type PalletInstancesInfo = AllPalletsWithSystem; - type MaxAssetsIntoHolding = MaxAssetsIntoHolding; - type AssetLocker = (); - type AssetExchanger = (); - type FeeManager = XcmFeeManagerFromComponents< - WaivedLocations, - SendXcmFeeToAccount, - >; - type MessageExporter = (); - type UniversalAliases = Nothing; - type CallDispatcher = RuntimeCall; - type SafeCallFilter = Everything; - type Aliasers = Nothing; - type TransactionalProcessor = FrameTransactionalProcessor; - type HrmpNewChannelOpenRequestHandler = (); - type HrmpChannelAcceptedHandler = (); - type HrmpChannelClosingHandler = (); - type XcmRecorder = PolkadotXcm; -} - -/// Converts a local signed origin into an XCM location. Forms the basis for local origins -/// sending/executing XCMs. -pub type LocalOriginToLocation = SignedToAccountId32; - -/// The means for routing XCM messages which are not for local execution into the right message -/// queues. -pub type XcmRouter = WithUniqueTopic<( - // Two routers - use UMP to communicate with the relay chain: - cumulus_primitives_utility::ParentAsUmp, - // ..and XCMP to communicate with the sibling chains. - XcmpQueue, -)>; - -impl pallet_xcm::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - // We want to disallow users sending (arbitrary) XCM programs from this chain. - type SendXcmOrigin = EnsureXcmOrigin; - type XcmRouter = XcmRouter; - // We support local origins dispatching XCM executions. - type ExecuteXcmOrigin = EnsureXcmOrigin; - type XcmExecuteFilter = Everything; - type XcmExecutor = XcmExecutor; - type XcmTeleportFilter = Everything; - type XcmReserveTransferFilter = Nothing; // This parachain is not meant as a reserve location. - type Weigher = WeightInfoBounds< - crate::weights::xcm::PeopleRococoXcmWeight, - RuntimeCall, - MaxInstructions, - >; - type UniversalLocation = UniversalLocation; - type RuntimeOrigin = RuntimeOrigin; - type RuntimeCall = RuntimeCall; - const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; - type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; - type Currency = Balances; - type CurrencyMatcher = (); - type TrustedLockers = (); - type SovereignAccountOf = LocationToAccountId; - type MaxLockers = ConstU32<8>; - type WeightInfo = crate::weights::pallet_xcm::WeightInfo; - type AdminOrigin = EnsureRoot; - type MaxRemoteLockConsumers = ConstU32<0>; - type RemoteLockConsumerIdentifier = (); - // Aliasing is disabled: xcm_executor::Config::Aliasers is set to `Nothing`. - type AuthorizedAliasConsideration = Disabled; -} - -impl cumulus_pallet_xcm::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; -} diff --git a/cumulus/parachains/runtimes/people/people-rococo/tests/tests.rs b/cumulus/parachains/runtimes/people/people-rococo/tests/tests.rs deleted file mode 100644 index 066fc62129c06..0000000000000 --- a/cumulus/parachains/runtimes/people/people-rococo/tests/tests.rs +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#![cfg(test)] - -use parachains_common::AccountId; -use people_rococo_runtime::{ - xcm_config::LocationToAccountId, Block, Runtime, RuntimeCall, RuntimeOrigin, -}; -use sp_core::crypto::Ss58Codec; -use testnet_parachains_constants::rococo::fee::WeightToFee; -use xcm::latest::prelude::*; -use xcm_runtime_apis::conversions::LocationToAccountHelper; - -const ALICE: [u8; 32] = [1u8; 32]; - -#[test] -fn location_conversion_works() { - // the purpose of hardcoded values is to catch an unintended location conversion logic change. - struct TestCase { - description: &'static str, - location: Location, - expected_account_id_str: &'static str, - } - - let test_cases = vec![ - // DescribeTerminus - TestCase { - description: "DescribeTerminus Parent", - location: Location::new(1, Here), - expected_account_id_str: "5Dt6dpkWPwLaH4BBCKJwjiWrFVAGyYk3tLUabvyn4v7KtESG", - }, - TestCase { - description: "DescribeTerminus Sibling", - location: Location::new(1, [Parachain(1111)]), - expected_account_id_str: "5Eg2fnssmmJnF3z1iZ1NouAuzciDaaDQH7qURAy3w15jULDk", - }, - // DescribePalletTerminal - TestCase { - description: "DescribePalletTerminal Parent", - location: Location::new(1, [PalletInstance(50)]), - expected_account_id_str: "5CnwemvaAXkWFVwibiCvf2EjqwiqBi29S5cLLydZLEaEw6jZ", - }, - TestCase { - description: "DescribePalletTerminal Sibling", - location: Location::new(1, [Parachain(1111), PalletInstance(50)]), - expected_account_id_str: "5GFBgPjpEQPdaxEnFirUoa51u5erVx84twYxJVuBRAT2UP2g", - }, - // DescribeAccountId32Terminal - TestCase { - description: "DescribeAccountId32Terminal Parent", - location: Location::new( - 1, - [Junction::AccountId32 { network: None, id: AccountId::from(ALICE).into() }], - ), - expected_account_id_str: "5DN5SGsuUG7PAqFL47J9meViwdnk9AdeSWKFkcHC45hEzVz4", - }, - TestCase { - description: "DescribeAccountId32Terminal Sibling", - location: Location::new( - 1, - [ - Parachain(1111), - Junction::AccountId32 { network: None, id: AccountId::from(ALICE).into() }, - ], - ), - expected_account_id_str: "5DGRXLYwWGce7wvm14vX1Ms4Vf118FSWQbJkyQigY2pfm6bg", - }, - // DescribeAccountKey20Terminal - TestCase { - description: "DescribeAccountKey20Terminal Parent", - location: Location::new(1, [AccountKey20 { network: None, key: [0u8; 20] }]), - expected_account_id_str: "5F5Ec11567pa919wJkX6VHtv2ZXS5W698YCW35EdEbrg14cg", - }, - TestCase { - description: "DescribeAccountKey20Terminal Sibling", - location: Location::new( - 1, - [Parachain(1111), AccountKey20 { network: None, key: [0u8; 20] }], - ), - expected_account_id_str: "5CB2FbUds2qvcJNhDiTbRZwiS3trAy6ydFGMSVutmYijpPAg", - }, - // DescribeTreasuryVoiceTerminal - TestCase { - description: "DescribeTreasuryVoiceTerminal Parent", - location: Location::new(1, [Plurality { id: BodyId::Treasury, part: BodyPart::Voice }]), - expected_account_id_str: "5CUjnE2vgcUCuhxPwFoQ5r7p1DkhujgvMNDHaF2bLqRp4D5F", - }, - TestCase { - description: "DescribeTreasuryVoiceTerminal Sibling", - location: Location::new( - 1, - [Parachain(1111), Plurality { id: BodyId::Treasury, part: BodyPart::Voice }], - ), - expected_account_id_str: "5G6TDwaVgbWmhqRUKjBhRRnH4ry9L9cjRymUEmiRsLbSE4gB", - }, - // DescribeBodyTerminal - TestCase { - description: "DescribeBodyTerminal Parent", - location: Location::new(1, [Plurality { id: BodyId::Unit, part: BodyPart::Voice }]), - expected_account_id_str: "5EBRMTBkDisEXsaN283SRbzx9Xf2PXwUxxFCJohSGo4jYe6B", - }, - TestCase { - description: "DescribeBodyTerminal Sibling", - location: Location::new( - 1, - [Parachain(1111), Plurality { id: BodyId::Unit, part: BodyPart::Voice }], - ), - expected_account_id_str: "5DBoExvojy8tYnHgLL97phNH975CyT45PWTZEeGoBZfAyRMH", - }, - ]; - - for tc in test_cases { - let expected = - AccountId::from_string(tc.expected_account_id_str).expect("Invalid AccountId string"); - - let got = LocationToAccountHelper::::convert_location( - tc.location.into(), - ) - .unwrap(); - - assert_eq!(got, expected, "{}", tc.description); - } -} - -#[test] -fn xcm_payment_api_works() { - parachains_runtimes_test_utils::test_cases::xcm_payment_api_with_native_token_works::< - Runtime, - RuntimeCall, - RuntimeOrigin, - Block, - WeightToFee, - >(); -} diff --git a/cumulus/parachains/runtimes/people/people-westend/src/lib.rs b/cumulus/parachains/runtimes/people/people-westend/src/lib.rs index ec4cf642d8fef..f0d4d0c82ebc5 100644 --- a/cumulus/parachains/runtimes/people/people-westend/src/lib.rs +++ b/cumulus/parachains/runtimes/people/people-westend/src/lib.rs @@ -65,10 +65,6 @@ use sp_runtime::{ ApplyExtrinsicResult, }; pub use sp_runtime::{MultiAddress, Perbill, Permill}; -use sp_statement_store::{ - runtime_api::{InvalidStatement, StatementSource, ValidStatement}, - SignatureVerificationResult, Statement, -}; #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; @@ -148,7 +144,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: alloc::borrow::Cow::Borrowed("people-westend"), impl_name: alloc::borrow::Cow::Borrowed("people-westend"), authoring_version: 1, - spec_version: 1_020_001, + spec_version: 1_021_001, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 2, @@ -163,8 +159,12 @@ pub fn native_version() -> NativeVersion { parameter_types! { pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -742,8 +742,8 @@ impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -940,7 +940,12 @@ impl_runtime_apis! { } use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - impl cumulus_pallet_session_benchmarking::Config for Runtime {} + impl cumulus_pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } use xcm_config::RelayLocation; use testnet_parachains_constants::westend::locations::{AssetHubParaId, AssetHubLocation}; @@ -1012,15 +1017,15 @@ impl_runtime_apis! { fn valid_destination() -> Result { Ok(AssetHubLocation::get()) } - fn worst_case_holding(_depositable_count: u32) -> Assets { + fn worst_case_holding(_depositable_count: u32) -> xcm_executor::AssetsInHolding { + use pallet_xcm_benchmarks::MockCredit; // just concrete assets according to relay chain. - let assets: Vec = vec![ - Asset { - id: AssetId(RelayLocation::get()), - fun: Fungible(1_000_000 * UNITS), - } - ]; - assets.into() + let mut holding = xcm_executor::AssetsInHolding::new(); + holding.fungible.insert( + AssetId(RelayLocation::get()), + alloc::boxed::Box::new(MockCredit(1_000_000 * UNITS)), + ); + holding } } @@ -1141,39 +1146,6 @@ impl_runtime_apis! { 1 } } - - impl sp_statement_store::runtime_api::ValidateStatement for Runtime { - fn validate_statement( - _source: StatementSource, - statement: Statement, - ) -> Result { - let account = match statement.verify_signature() { - SignatureVerificationResult::Valid(account) => account.into(), - SignatureVerificationResult::Invalid => { - tracing::debug!(target: "runtime", "Bad statement signature."); - return Err(InvalidStatement::BadProof) - }, - SignatureVerificationResult::NoSignature => { - tracing::debug!(target: "runtime", "Missing statement signature."); - return Err(InvalidStatement::NoProof) - }, - }; - - // For now just allow validators to store some statements. - // In the future we will allow people. - if pallet_session::Validators::::get().contains(&account) { - Ok(ValidStatement { - max_count: 2, - max_size: 1024, - }) - } else { - Ok(ValidStatement { - max_count: 0, - max_size: 0, - }) - } - } - } } cumulus_pallet_parachain_system::register_validate_block! { diff --git a/cumulus/parachains/runtimes/people/people-westend/src/weights/xcm/mod.rs b/cumulus/parachains/runtimes/people/people-westend/src/weights/xcm/mod.rs index a7d394b603b2f..731d269438bdb 100644 --- a/cumulus/parachains/runtimes/people/people-westend/src/weights/xcm/mod.rs +++ b/cumulus/parachains/runtimes/people/people-westend/src/weights/xcm/mod.rs @@ -43,8 +43,9 @@ impl WeighAssets for AssetFilter { WildFungibility::Fungible => weight, // Magic number 2 has to do with the fact that we could have up to 2 times // MaxAssetsIntoHolding in the worst-case scenario. - WildFungibility::NonFungible => - weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64), + WildFungibility::NonFungible => { + weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64) + }, }, AllCounted(count) => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), AllOfCounted { count, .. } => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), diff --git a/cumulus/parachains/runtimes/people/people-westend/src/xcm_config.rs b/cumulus/parachains/runtimes/people/people-westend/src/xcm_config.rs index e5203f39c8814..5076c359b697c 100644 --- a/cumulus/parachains/runtimes/people/people-westend/src/xcm_config.rs +++ b/cumulus/parachains/runtimes/people/people-westend/src/xcm_config.rs @@ -258,7 +258,6 @@ impl xcm_executor::Config for XcmConfig { >; type ResponseHandler = PolkadotXcm; type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/cumulus/parachains/runtimes/test-utils/src/lib.rs b/cumulus/parachains/runtimes/test-utils/src/lib.rs index 60e0098217e7a..189025f2ee9f4 100644 --- a/cumulus/parachains/runtimes/test-utils/src/lib.rs +++ b/cumulus/parachains/runtimes/test-utils/src/lib.rs @@ -46,7 +46,7 @@ use xcm::{ prelude::*, VersionedXcm, MAX_XCM_DECODE_DEPTH, }; -use xcm_executor::{traits::TransactAsset, AssetsInHolding}; +use xcm_executor::traits::TransactAsset; pub mod test_cases; @@ -283,7 +283,7 @@ where loop { let block_number = frame_system::Pallet::::block_number(); if block_number >= n.into() { - break + break; } // Set the new block number and author @@ -312,7 +312,7 @@ where loop { let block_number = frame_system::Pallet::::block_number(); if block_number >= n.into() { - break + break; } // Set the new block number and author let header = frame_system::Pallet::::finalize(); @@ -403,7 +403,7 @@ impl from: Location, to: Location, (asset, amount): (Location, u128), - ) -> Result { + ) -> Result { ::transfer_asset( &Asset { id: AssetId(asset), fun: Fungible(amount) }, &from, @@ -522,16 +522,20 @@ impl< match governance_origin { // we are simulating a case of receiving an XCM // and Location::Here() is not a valid destionation for XcmRouter in the fist place - GovernanceOrigin::Location(location) if location == Location::here() => - panic!("Location::here() not supported, use GovernanceOrigin::Origin instead"), - GovernanceOrigin::Location(location) => - execute_xcm(call, location, None).ensure_complete().map_err(Either::Right), - GovernanceOrigin::LocationAndDescendOrigin(location, descend_origin) => + GovernanceOrigin::Location(location) if location == Location::here() => { + panic!("Location::here() not supported, use GovernanceOrigin::Origin instead") + }, + GovernanceOrigin::Location(location) => { + execute_xcm(call, location, None).ensure_complete().map_err(Either::Right) + }, + GovernanceOrigin::LocationAndDescendOrigin(location, descend_origin) => { execute_xcm(call, location, Some(descend_origin)) .ensure_complete() - .map_err(Either::Right), - GovernanceOrigin::Origin(origin) => - call.dispatch(origin).map(|_| ()).map_err(|e| Either::Left(e.error)), + .map_err(Either::Right) + }, + GovernanceOrigin::Origin(origin) => { + call.dispatch(origin).map(|_| ()).map_err(|e| Either::Left(e.error)) + }, } } @@ -639,8 +643,9 @@ impl< .into_iter() .filter_map(|e| unwrap_xcmp_queue_event(e.event.encode())) .find_map(|e| match e { - cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { message_hash } => - Some(message_hash), + cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { message_hash } => { + Some(message_hash) + }, _ => None, }) } diff --git a/cumulus/parachains/runtimes/testing/penpal/src/lib.rs b/cumulus/parachains/runtimes/testing/penpal/src/lib.rs index 01f6dd1700d0d..3324924626d29 100644 --- a/cumulus/parachains/runtimes/testing/penpal/src/lib.rs +++ b/cumulus/parachains/runtimes/testing/penpal/src/lib.rs @@ -324,8 +324,12 @@ parameter_types! { // The `RuntimeBlockLength` and `RuntimeBlockWeights` exist here because the // `DeletionWeightLimit` and `DeletionQueueDepth` depend on those to parameterize // the lazy contract deletion. - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -443,7 +447,7 @@ parameter_types! { impl pallet_transaction_payment::Config for Runtime { type RuntimeEvent = RuntimeEvent; type OnChargeTransaction = pallet_transaction_payment::FungibleAdapter; - type WeightToFee = pallet_revive::evm::fees::BlockRatioFee<1, 1, Self>; + type WeightToFee = pallet_revive::evm::fees::BlockRatioFee<1, 1, Self, Balance>; type LengthToFee = ConstantMultiplier; type FeeMultiplierUpdate = SlowAdjustingFeeUpdate; type OperationalFeeMultiplier = ConstU8<5>; @@ -830,7 +834,6 @@ impl pallet_revive::Config for Runtime { type AddressMapper = pallet_revive::AccountId32Mapper; type RuntimeMemory = ConstU32<{ 128 * 1024 * 1024 }>; type PVFMemory = ConstU32<{ 512 * 1024 * 1024 }>; - type UnsafeUnstableInterface = ConstBool; type AllowEVMBytecode = ConstBool; type UploadOrigin = EnsureSigned; type InstantiateOrigin = EnsureSigned; @@ -1000,8 +1003,8 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -1178,13 +1181,19 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( ) -> Result, alloc::string::String> { use frame_benchmarking::BenchmarkBatch; use sp_storage::TrackedStorageKey; + use codec::Encode; use frame_system_benchmarking::Pallet as SystemBench; use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench; impl frame_system_benchmarking::Config for Runtime {} use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - impl cumulus_pallet_session_benchmarking::Config for Runtime {} + impl cumulus_pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } use frame_support::traits::WhitelistedStorageKeys; let whitelist: Vec = AllPalletsWithSystem::whitelisted_storage_keys(); diff --git a/cumulus/parachains/runtimes/testing/penpal/src/xcm_config.rs b/cumulus/parachains/runtimes/testing/penpal/src/xcm_config.rs index f8a9cdbdf56c8..7493632d98fbf 100644 --- a/cumulus/parachains/runtimes/testing/penpal/src/xcm_config.rs +++ b/cumulus/parachains/runtimes/testing/penpal/src/xcm_config.rs @@ -421,7 +421,6 @@ impl xcm_executor::Config for XcmConfig { ); type ResponseHandler = PolkadotXcm; type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/cumulus/parachains/runtimes/testing/rococo-parachain/Cargo.toml b/cumulus/parachains/runtimes/testing/rococo-parachain/Cargo.toml deleted file mode 100644 index b78a592c59593..0000000000000 --- a/cumulus/parachains/runtimes/testing/rococo-parachain/Cargo.toml +++ /dev/null @@ -1,148 +0,0 @@ -[package] -name = "rococo-parachain-runtime" -version = "0.6.0" -authors.workspace = true -edition.workspace = true -description = "Simple runtime used by the rococo parachain(s)" -license = "Apache-2.0" -homepage.workspace = true -repository.workspace = true - -[lints] -workspace = true - -[dependencies] -codec = { features = ["derive"], workspace = true } -scale-info = { features = ["derive"], workspace = true } -serde_json = { features = ["alloc"], workspace = true } - -# Substrate -frame-benchmarking = { optional = true, workspace = true } -frame-executive = { workspace = true } -frame-support = { workspace = true } -frame-system = { workspace = true } -frame-system-rpc-runtime-api = { workspace = true } -pallet-assets = { workspace = true } -pallet-aura = { workspace = true } -pallet-balances = { workspace = true } -pallet-sudo = { workspace = true } -pallet-timestamp = { workspace = true } -pallet-transaction-payment = { workspace = true } -pallet-transaction-payment-rpc-runtime-api = { workspace = true } -sp-api = { workspace = true } -sp-block-builder = { workspace = true } -sp-consensus-aura = { workspace = true } -sp-core = { workspace = true } -sp-genesis-builder = { workspace = true } -sp-inherents = { workspace = true } -sp-keyring = { workspace = true } -sp-offchain = { workspace = true } -sp-runtime = { workspace = true } -sp-session = { workspace = true } -sp-transaction-pool = { workspace = true } -sp-version = { workspace = true } - -# Polkadot -pallet-xcm = { workspace = true } -polkadot-parachain-primitives = { workspace = true } -polkadot-runtime-common = { workspace = true } -xcm = { workspace = true } -xcm-builder = { workspace = true } -xcm-executor = { workspace = true } - -# Cumulus -cumulus-pallet-aura-ext = { workspace = true } -cumulus-pallet-parachain-system = { workspace = true } -cumulus-pallet-weight-reclaim = { workspace = true } -cumulus-pallet-xcm = { workspace = true } -cumulus-pallet-xcmp-queue = { workspace = true } -cumulus-ping = { workspace = true } -cumulus-primitives-aura = { workspace = true } -cumulus-primitives-core = { workspace = true } -cumulus-primitives-utility = { workspace = true } -pallet-message-queue = { workspace = true } -parachain-info = { workspace = true } -parachains-common = { workspace = true } - -[build-dependencies] -substrate-wasm-builder = { optional = true, workspace = true, default-features = true } - -[features] -default = ["std"] -std = [ - "codec/std", - "cumulus-pallet-aura-ext/std", - "cumulus-pallet-parachain-system/std", - "cumulus-pallet-weight-reclaim/std", - "cumulus-pallet-xcm/std", - "cumulus-pallet-xcmp-queue/std", - "cumulus-ping/std", - "cumulus-primitives-aura/std", - "cumulus-primitives-core/std", - "cumulus-primitives-utility/std", - "frame-benchmarking?/std", - "frame-executive/std", - "frame-support/std", - "frame-system-rpc-runtime-api/std", - "frame-system/std", - "pallet-assets/std", - "pallet-aura/std", - "pallet-balances/std", - "pallet-message-queue/std", - "pallet-sudo/std", - "pallet-timestamp/std", - "pallet-transaction-payment-rpc-runtime-api/std", - "pallet-transaction-payment/std", - "pallet-xcm/std", - "parachain-info/std", - "parachains-common/std", - "polkadot-parachain-primitives/std", - "polkadot-runtime-common/std", - "scale-info/std", - "serde_json/std", - "sp-api/std", - "sp-block-builder/std", - "sp-consensus-aura/std", - "sp-core/std", - "sp-genesis-builder/std", - "sp-inherents/std", - "sp-keyring/std", - "sp-offchain/std", - "sp-runtime/std", - "sp-session/std", - "sp-transaction-pool/std", - "sp-version/std", - "substrate-wasm-builder", - "xcm-builder/std", - "xcm-executor/std", - "xcm/std", -] -runtime-benchmarks = [ - "cumulus-pallet-parachain-system/runtime-benchmarks", - "cumulus-pallet-weight-reclaim/runtime-benchmarks", - "cumulus-pallet-xcmp-queue/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks", - "cumulus-primitives-utility/runtime-benchmarks", - "frame-benchmarking/runtime-benchmarks", - "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "pallet-assets/runtime-benchmarks", - "pallet-balances/runtime-benchmarks", - "pallet-message-queue/runtime-benchmarks", - "pallet-sudo/runtime-benchmarks", - "pallet-timestamp/runtime-benchmarks", - "pallet-transaction-payment/runtime-benchmarks", - "pallet-xcm/runtime-benchmarks", - "parachains-common/runtime-benchmarks", - "polkadot-parachain-primitives/runtime-benchmarks", - "polkadot-runtime-common/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", - "xcm-builder/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", - "xcm/runtime-benchmarks", -] - -# A feature that should be enabled when the runtime should be built for on-chain -# deployment. This will disable stuff that shouldn't be part of the on-chain wasm -# to make it smaller, like logging for example. -on-chain-release-build = [] diff --git a/cumulus/parachains/runtimes/testing/rococo-parachain/src/genesis_config_presets.rs b/cumulus/parachains/runtimes/testing/rococo-parachain/src/genesis_config_presets.rs deleted file mode 100644 index befde799a45fc..0000000000000 --- a/cumulus/parachains/runtimes/testing/rococo-parachain/src/genesis_config_presets.rs +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Rococo Parachain Runtime genesis config presets - -use crate::*; -use alloc::{vec, vec::Vec}; -use cumulus_primitives_core::ParaId; -use frame_support::build_struct_json_patch; -use parachains_common::{AccountId, AuraId}; -use sp_genesis_builder::PresetId; -use sp_keyring::Sr25519Keyring; - -const SAFE_XCM_VERSION: u32 = xcm::prelude::XCM_VERSION; - -const DEFAULT_PARA_ID: ParaId = ParaId::new(1000); -const ENDOWMENT: u128 = 1 << 60; - -fn rococo_parachain_genesis( - root_key: AccountId, - initial_authorities: Vec, - endowed_accounts: Vec, - endowment: Balance, - id: ParaId, -) -> serde_json::Value { - build_struct_json_patch!(RuntimeGenesisConfig { - aura: AuraConfig { authorities: initial_authorities }, - balances: BalancesConfig { - balances: endowed_accounts.iter().cloned().map(|k| (k, endowment)).collect(), - }, - parachain_info: ParachainInfoConfig { parachain_id: id }, - polkadot_xcm: PolkadotXcmConfig { safe_xcm_version: Some(SAFE_XCM_VERSION) }, - sudo: SudoConfig { key: Some(root_key) } - }) -} - -/// Provides the JSON representation of predefined genesis config for given `id`. -pub fn get_preset(id: &PresetId) -> Option> { - let genesis_fn = |authorities| { - rococo_parachain_genesis( - Sr25519Keyring::Alice.to_account_id(), - authorities, - Sr25519Keyring::well_known().map(|x| x.to_account_id()).collect(), - ENDOWMENT, - DEFAULT_PARA_ID, - ) - }; - - let patch = match id.as_ref() { - sp_genesis_builder::DEV_RUNTIME_PRESET => - genesis_fn(vec![Sr25519Keyring::Alice.public().into()]), - sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET => genesis_fn(vec![ - Sr25519Keyring::Alice.public().into(), - Sr25519Keyring::Bob.public().into(), - ]), - _ => return None, - }; - - Some( - serde_json::to_string(&patch) - .expect("serialization to json is expected to work. qed.") - .into_bytes(), - ) -} - -/// List of supported presets. -pub fn preset_names() -> Vec { - vec![ - PresetId::from(sp_genesis_builder::DEV_RUNTIME_PRESET), - PresetId::from(sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET), - ] -} diff --git a/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs b/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs deleted file mode 100644 index 12a322534da5a..0000000000000 --- a/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs +++ /dev/null @@ -1,894 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#![cfg_attr(not(feature = "std"), no_std)] -// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. -#![recursion_limit = "256"] - -// Make the WASM binary available. -#[cfg(feature = "std")] -include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); - -mod genesis_config_presets; - -extern crate alloc; - -use alloc::vec::Vec; -use cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases; -use polkadot_runtime_common::xcm_sender::NoPriceForMessageDelivery; -use sp_api::impl_runtime_apis; -use sp_core::OpaqueMetadata; -use sp_runtime::{ - generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, Hash as HashT}, - transaction_validity::{TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, -}; -#[cfg(feature = "std")] -use sp_version::NativeVersion; -use sp_version::RuntimeVersion; - -// A few exports that help ease life for downstream crates. -pub use frame_support::{ - construct_runtime, derive_impl, - dispatch::DispatchClass, - genesis_builder_helper::{build_state, get_preset}, - parameter_types, - traits::{ - AsEnsureOriginWithArg, ConstBool, ConstU32, ConstU64, ConstU8, Contains, EitherOfDiverse, - Everything, IsInVec, Nothing, Randomness, - }, - weights::{ - constants::{ - BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_REF_TIME_PER_SECOND, - }, - ConstantMultiplier, IdentityFee, Weight, - }, - StorageValue, -}; -use frame_system::{ - limits::{BlockLength, BlockWeights}, - EnsureRoot, EnsureSigned, -}; -pub use pallet_balances::Call as BalancesCall; -pub use pallet_timestamp::Call as TimestampCall; -pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; -#[cfg(any(feature = "std", test))] -pub use sp_runtime::BuildStorage; -pub use sp_runtime::{Perbill, Permill}; - -use cumulus_primitives_core::{AggregateMessageOrigin, ParaId}; -use frame_support::traits::{Disabled, TransformOrigin}; -use parachains_common::{ - impls::{AssetsFrom, NonZeroIssuance}, - message_queue::{NarrowOriginToSibling, ParaIdToSibling}, - AccountId, AssetIdForTrustBackedAssets, Signature, -}; -use xcm_builder::{ - AllowHrmpNotificationsFromRelayChain, AllowKnownQueryResponses, AllowSubscriptionsFrom, - AsPrefixedGeneralIndex, ConvertedConcreteId, FrameTransactionalProcessor, FungiblesAdapter, - LocalMint, TrailingSetTopicAsId, WithUniqueTopic, -}; -use xcm_executor::traits::JustTry; - -// XCM imports -use pallet_xcm::{EnsureXcm, IsMajorityOfBody, XcmPassthrough}; -use polkadot_parachain_primitives::primitives::Sibling; -use xcm::latest::{prelude::*, ROCOCO_GENESIS_HASH}; -use xcm_builder::{ - AccountId32Aliases, AllowExplicitUnpaidExecutionFrom, AllowTopLevelPaidExecutionFrom, - EnsureXcmOrigin, FixedWeightBounds, FungibleAdapter, IsConcrete, NativeAsset, - ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, - SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, - SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, -}; -use xcm_executor::XcmExecutor; - -pub type SessionHandlers = (); - -impl_opaque_keys! { - pub struct SessionKeys { - pub aura: Aura, - } -} - -/// This runtime version. -#[sp_version::runtime_version] -pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: alloc::borrow::Cow::Borrowed("test-parachain"), - impl_name: alloc::borrow::Cow::Borrowed("test-parachain"), - authoring_version: 1, - spec_version: 1_020_001, - impl_version: 0, - apis: RUNTIME_API_VERSIONS, - transaction_version: 6, - system_version: 0, -}; - -pub const MILLISECS_PER_BLOCK: u64 = 6000; - -pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK; - -pub const EPOCH_DURATION_IN_BLOCKS: u32 = 10 * MINUTES; - -// These time units are defined in number of blocks. -pub const MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_BLOCK as BlockNumber); -pub const HOURS: BlockNumber = MINUTES * 60; -pub const DAYS: BlockNumber = HOURS * 24; - -pub const ROC: Balance = 1_000_000_000_000; -pub const MILLIROC: Balance = 1_000_000_000; -pub const MICROROC: Balance = 1_000_000; - -// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks. -pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4); - -/// The version information used to identify this runtime when compiled natively. -#[cfg(feature = "std")] -pub fn native_version() -> NativeVersion { - NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } -} - -/// We assume that ~10% of the block weight is consumed by `on_initialize` handlers. -/// This is used to limit the maximal weight of a single extrinsic. -const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); -/// We allow `Normal` extrinsics to fill up the block up to 75%, the rest can be used -/// by Operational extrinsics. -const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); -/// We allow for 2 seconds of compute with a 6 second average block time. -const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts( - WEIGHT_REF_TIME_PER_SECOND.saturating_mul(2), - cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64, -); - -/// Maximum number of blocks simultaneously accepted by the Runtime, not yet included -/// into the relay chain. -const UNINCLUDED_SEGMENT_CAPACITY: u32 = 3; -/// How many parachain blocks are processed by the relay chain per parent. Limits the -/// number of blocks authored per slot. -const BLOCK_PROCESSING_VELOCITY: u32 = 2; -/// Relay chain slot duration, in milliseconds. -const RELAY_CHAIN_SLOT_DURATION_MILLIS: u32 = 6000; - -parameter_types! { - pub const BlockHashCount: BlockNumber = 250; - pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); - pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() - .base_block(BlockExecutionWeight::get()) - .for_class(DispatchClass::all(), |weights| { - weights.base_extrinsic = ExtrinsicBaseWeight::get(); - }) - .for_class(DispatchClass::Normal, |weights| { - weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); - }) - .for_class(DispatchClass::Operational, |weights| { - weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); - // Operational transactions have some extra reserved space, so that they - // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`. - weights.reserved = Some( - MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT - ); - }) - .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO) - .build_or_panic(); - pub const SS58Prefix: u8 = 42; -} - -#[derive_impl(frame_system::config_preludes::TestDefaultConfig)] -impl frame_system::Config for Runtime { - /// The identifier used to distinguish between accounts. - type AccountId = AccountId; - /// The aggregated dispatch type that is available for extrinsics. - type RuntimeCall = RuntimeCall; - /// The lookup mechanism to get account ID from whatever is passed in dispatchers. - type Lookup = AccountIdLookup; - /// The index type for storing how many extrinsics an account has signed. - type Nonce = Nonce; - /// The type for hashing blocks and tries. - type Hash = Hash; - /// The hashing algorithm used. - type Hashing = BlakeTwo256; - /// The block type. - type Block = Block; - /// The ubiquitous event type. - type RuntimeEvent = RuntimeEvent; - /// The ubiquitous origin type. - type RuntimeOrigin = RuntimeOrigin; - /// Maximum number of block number to block hash mappings to keep (oldest pruned first). - type BlockHashCount = BlockHashCount; - /// Runtime version. - type Version = Version; - /// Converts a module to an index of this module in the runtime. - type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; - type OnNewAccount = (); - type OnKilledAccount = (); - type DbWeight = RocksDbWeight; - type BaseCallFilter = frame_support::traits::Everything; - type SystemWeightInfo = (); - type BlockWeights = RuntimeBlockWeights; - type BlockLength = RuntimeBlockLength; - type SS58Prefix = SS58Prefix; - type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; - type MaxConsumers = frame_support::traits::ConstU32<16>; - type SingleBlockMigrations = RemoveCollectiveFlip; -} - -impl cumulus_pallet_weight_reclaim::Config for Runtime { - type WeightInfo = (); -} - -impl pallet_timestamp::Config for Runtime { - /// A timestamp: milliseconds since the unix epoch. - type Moment = u64; - type OnTimestampSet = Aura; - type MinimumPeriod = ConstU64<0>; - type WeightInfo = (); -} - -parameter_types! { - pub const ExistentialDeposit: u128 = MILLIROC; - pub const TransferFee: u128 = MILLIROC; - pub const CreationFee: u128 = MILLIROC; - pub const TransactionByteFee: u128 = MICROROC; -} - -impl pallet_balances::Config for Runtime { - /// The type for recording an account's balance. - type Balance = Balance; - type DustRemoval = (); - /// The ubiquitous event type. - type RuntimeEvent = RuntimeEvent; - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = System; - type WeightInfo = (); - type MaxLocks = ConstU32<50>; - type MaxReserves = ConstU32<50>; - type ReserveIdentifier = [u8; 8]; - type RuntimeHoldReason = RuntimeHoldReason; - type RuntimeFreezeReason = RuntimeFreezeReason; - type FreezeIdentifier = (); - type MaxFreezes = ConstU32<0>; - type DoneSlashHandler = (); -} - -impl pallet_transaction_payment::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type OnChargeTransaction = pallet_transaction_payment::FungibleAdapter; - type WeightToFee = IdentityFee; - type LengthToFee = ConstantMultiplier; - type FeeMultiplierUpdate = (); - type OperationalFeeMultiplier = ConstU8<5>; - type WeightInfo = (); -} - -impl pallet_sudo::Config for Runtime { - type RuntimeCall = RuntimeCall; - type RuntimeEvent = RuntimeEvent; - type WeightInfo = pallet_sudo::weights::SubstrateWeight; -} - -parameter_types! { - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); - pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; -} - -type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook< - Runtime, - RELAY_CHAIN_SLOT_DURATION_MILLIS, - BLOCK_PROCESSING_VELOCITY, - UNINCLUDED_SEGMENT_CAPACITY, ->; - -impl cumulus_pallet_parachain_system::Config for Runtime { - type WeightInfo = (); - type RuntimeEvent = RuntimeEvent; - type OnSystemEvent = (); - type SelfParaId = parachain_info::Pallet; - type OutboundXcmpMessageSource = XcmpQueue; - type DmpQueue = frame_support::traits::EnqueueWithOrigin; - type ReservedDmpWeight = ReservedDmpWeight; - type XcmpMessageHandler = XcmpQueue; - type ReservedXcmpWeight = ReservedXcmpWeight; - type CheckAssociatedRelayNumber = RelayNumberMonotonicallyIncreases; - type ConsensusHook = ConsensusHook; - type RelayParentOffset = ConstU32<0>; -} - -impl parachain_info::Config for Runtime {} - -parameter_types! { - pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; -} - -impl pallet_message_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type WeightInfo = (); - type MessageProcessor = xcm_builder::ProcessXcmMessage< - AggregateMessageOrigin, - xcm_executor::XcmExecutor, - RuntimeCall, - >; - type Size = u32; - // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin: - type QueueChangeHandler = NarrowOriginToSibling; - type QueuePausedQuery = NarrowOriginToSibling; - type HeapSize = sp_core::ConstU32<{ 103 * 1024 }>; - type MaxStale = sp_core::ConstU32<8>; - type ServiceWeight = MessageQueueServiceWeight; - type IdleMaxServiceWeight = (); -} - -impl cumulus_pallet_aura_ext::Config for Runtime {} - -parameter_types! { - pub const RocLocation: Location = Location::parent(); - pub const RococoNetwork: NetworkId = NetworkId::ByGenesis(ROCOCO_GENESIS_HASH); - pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub UniversalLocation: InteriorLocation = [GlobalConsensus(RococoNetwork::get()), Parachain(ParachainInfo::parachain_id().into())].into(); - pub CheckingAccount: AccountId = PolkadotXcm::check_account(); -} - -/// Type for specifying how a `Location` can be converted into an `AccountId`. This is used -/// when determining ownership of accounts for asset transacting and when attempting to use XCM -/// `Transact` in order to determine the dispatch Origin. -pub type LocationToAccountId = ( - // The parent (Relay-chain) origin converts to the parent `AccountId`. - ParentIsPreset, - // Sibling parachain origins convert to AccountId via the `ParaId::into`. - SiblingParachainConvertsVia, - // Straight up local `AccountId32` origins just alias directly to `AccountId`. - AccountId32Aliases, -); - -/// Means for transacting assets on this chain. -pub type FungibleTransactor = FungibleAdapter< - // Use this currency: - Balances, - // Use this currency when it is a fungible asset matching the given location or name: - IsConcrete, - // Do a simple punn to convert an AccountId32 Location into a native chain account ID: - LocationToAccountId, - // Our chain's account ID type (we can't get away without mentioning it explicitly): - AccountId, - // We don't track any teleports. - (), ->; - -/// Means for transacting assets besides the native currency on this chain. -pub type FungiblesTransactor = FungiblesAdapter< - // Use this fungibles implementation: - Assets, - // Use this currency when it is a fungible asset matching the given location or name: - ConvertedConcreteId< - AssetIdForTrustBackedAssets, - u64, - AsPrefixedGeneralIndex< - SystemAssetHubAssetsPalletLocation, - AssetIdForTrustBackedAssets, - JustTry, - >, - JustTry, - >, - // Convert an XCM Location into a local account id: - LocationToAccountId, - // Our chain's account ID type (we can't get away without mentioning it explicitly): - AccountId, - // We only want to allow teleports of known assets. We use non-zero issuance as an indication - // that this asset is known. - LocalMint>, - // The account to use for tracking teleports. - CheckingAccount, ->; -/// Means for transacting assets on this chain. -pub type AssetTransactors = (FungibleTransactor, FungiblesTransactor); - -/// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance, -/// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can -/// biases the kind of local `Origin` it will become. -pub type XcmOriginToTransactDispatchOrigin = ( - // Sovereign account converter; this attempts to derive an `AccountId` from the origin location - // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for - // foreign chains who want to have a local sovereign account on this chain which they control. - SovereignSignedViaLocation, - // Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when - // recognised. - RelayChainAsNative, - // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when - // recognised. - SiblingParachainAsNative, - // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a - // transaction from the Root origin. - ParentAsSuperuser, - // Native signed account converter; this just converts an `AccountId32` origin into a normal - // `RuntimeOrigin::Signed` origin of the same 32-byte value. - SignedAccountId32AsNative, - // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. - XcmPassthrough, -); - -parameter_types! { - // One XCM operation is 1_000_000_000 weight - almost certainly a conservative estimate. - pub UnitWeightCost: Weight = Weight::from_parts(1_000_000_000, 64 * 1024); - // One ROC buys 1 second of weight. - pub const WeightPrice: (Location, u128) = (Location::parent(), ROC); - pub const MaxInstructions: u32 = 100; -} - -pub struct ParentOrParentsUnitPlurality; -impl Contains for ParentOrParentsUnitPlurality { - fn contains(location: &Location) -> bool { - matches!(location.unpack(), (1, []) | (1, [Plurality { id: BodyId::Unit, .. }])) - } -} - -pub struct AssetHub; -impl Contains for AssetHub { - fn contains(location: &Location) -> bool { - matches!(location.unpack(), (1, [Parachain(1000)])) - } -} - -pub type Barrier = TrailingSetTopicAsId<( - TakeWeightCredit, - AllowTopLevelPaidExecutionFrom, - // Parent & its unit plurality gets free execution. - AllowExplicitUnpaidExecutionFrom, - // The network's Asset Hub gets free execution. - AllowExplicitUnpaidExecutionFrom, - // Expected responses are OK. - AllowKnownQueryResponses, - // Subscriptions for version tracking are OK. - AllowSubscriptionsFrom, - // HRMP notifications from the relay chain are OK. - AllowHrmpNotificationsFromRelayChain, -)>; - -parameter_types! { - pub MaxAssetsIntoHolding: u32 = 64; - pub SystemAssetHubLocation: Location = Location::new(1, [Parachain(1000)]); - // ALWAYS ensure that the index in PalletInstance stays up-to-date with - // the Relay Chain's Asset Hub's Assets pallet index - pub SystemAssetHubAssetsPalletLocation: Location = - Location::new(1, [Parachain(1000), PalletInstance(50)]); -} - -pub type Reserves = (NativeAsset, AssetsFrom); - -pub struct XcmConfig; -impl xcm_executor::Config for XcmConfig { - type RuntimeCall = RuntimeCall; - type XcmSender = XcmRouter; - type XcmEventEmitter = PolkadotXcm; - // How to withdraw and deposit an asset. - type AssetTransactor = AssetTransactors; - type OriginConverter = XcmOriginToTransactDispatchOrigin; - type IsReserve = Reserves; - type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation of ROC - type UniversalLocation = UniversalLocation; - type Barrier = Barrier; - type Weigher = FixedWeightBounds; - type Trader = UsingComponents, RocLocation, AccountId, Balances, ()>; - type ResponseHandler = PolkadotXcm; - type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; - type SubscriptionService = PolkadotXcm; - type PalletInstancesInfo = AllPalletsWithSystem; - type MaxAssetsIntoHolding = MaxAssetsIntoHolding; - type AssetLocker = (); - type AssetExchanger = (); - type FeeManager = (); - type MessageExporter = (); - type UniversalAliases = Nothing; - type CallDispatcher = RuntimeCall; - type SafeCallFilter = Everything; - type Aliasers = Nothing; - type TransactionalProcessor = FrameTransactionalProcessor; - type HrmpNewChannelOpenRequestHandler = (); - type HrmpChannelAcceptedHandler = (); - type HrmpChannelClosingHandler = (); - type XcmRecorder = PolkadotXcm; -} - -/// Converts a local signed origin into an XCM location. Forms the basis for local origins -/// sending/executing XCMs. -pub type LocalOriginToLocation = SignedToAccountId32; - -/// The means for routing XCM messages which are not for local execution into the right message -/// queues. -pub type XcmRouter = WithUniqueTopic<( - // Two routers - use UMP to communicate with the relay chain: - cumulus_primitives_utility::ParentAsUmp, - // ..and XCMP to communicate with the sibling chains. - XcmpQueue, -)>; - -impl pallet_xcm::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type SendXcmOrigin = EnsureXcmOrigin; - type XcmRouter = XcmRouter; - type ExecuteXcmOrigin = EnsureXcmOrigin; - type XcmExecuteFilter = Everything; - type XcmExecutor = XcmExecutor; - type XcmTeleportFilter = Everything; - type XcmReserveTransferFilter = Nothing; - type Weigher = FixedWeightBounds; - type UniversalLocation = UniversalLocation; - type RuntimeOrigin = RuntimeOrigin; - type RuntimeCall = RuntimeCall; - const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; - type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; - type Currency = Balances; - type CurrencyMatcher = (); - type TrustedLockers = (); - type SovereignAccountOf = LocationToAccountId; - type MaxLockers = ConstU32<8>; - type WeightInfo = pallet_xcm::TestWeightInfo; - type AdminOrigin = EnsureRoot; - type MaxRemoteLockConsumers = ConstU32<0>; - type RemoteLockConsumerIdentifier = (); - // Aliasing is disabled: xcm_executor::Config::Aliasers is set to `Nothing`. - type AuthorizedAliasConsideration = Disabled; -} - -impl cumulus_pallet_xcm::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; -} - -impl cumulus_pallet_xcmp_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type ChannelInfo = ParachainSystem; - type VersionWrapper = (); - // Enqueue XCMP messages from siblings for later processing. - type XcmpQueue = TransformOrigin; - type MaxInboundSuspended = ConstU32<1_000>; - type MaxActiveOutboundChannels = ConstU32<128>; - // Most on-chain HRMP channels are configured to use 102400 bytes of max message size, so we - // need to set the page size larger than that until we reduce the channel size on-chain. - type MaxPageSize = ConstU32<{ 103 * 1024 }>; - type ControllerOrigin = EnsureRoot; - type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; - type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight; - type PriceForSiblingDelivery = NoPriceForMessageDelivery; -} - -impl cumulus_ping::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeOrigin = RuntimeOrigin; - type RuntimeCall = RuntimeCall; - type XcmSender = XcmRouter; -} - -parameter_types! { - pub const AssetDeposit: Balance = ROC; - pub const AssetAccountDeposit: Balance = ROC; - pub const ApprovalDeposit: Balance = 100 * MILLIROC; - pub const AssetsStringLimit: u32 = 50; - pub const MetadataDepositBase: Balance = ROC; - pub const MetadataDepositPerByte: Balance = 10 * MILLIROC; - pub const UnitBody: BodyId = BodyId::Unit; -} - -/// A majority of the Unit body from Rococo over XCM is our required administration origin. -pub type AdminOrigin = - EitherOfDiverse, EnsureXcm>>; - -impl pallet_assets::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Balance = u64; - type AssetId = AssetIdForTrustBackedAssets; - type AssetIdParameter = codec::Compact; - type ReserveData = (); - type Currency = Balances; - type CreateOrigin = AsEnsureOriginWithArg>; - type ForceOrigin = AdminOrigin; - type AssetDeposit = AssetDeposit; - type MetadataDepositBase = MetadataDepositBase; - type MetadataDepositPerByte = MetadataDepositPerByte; - type ApprovalDeposit = ApprovalDeposit; - type StringLimit = AssetsStringLimit; - type Holder = (); - type Freezer = (); - type Extra = (); - type WeightInfo = pallet_assets::weights::SubstrateWeight; - type CallbackHandle = (); - type AssetAccountDeposit = AssetAccountDeposit; - type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; - #[cfg(feature = "runtime-benchmarks")] - type BenchmarkHelper = (); -} - -impl pallet_aura::Config for Runtime { - type AuthorityId = AuraId; - type DisabledValidators = (); - type MaxAuthorities = ConstU32<100_000>; - type AllowMultipleBlocksPerSlot = ConstBool; - type SlotDuration = ConstU64; -} - -construct_runtime! { - pub enum Runtime - { - System: frame_system, - Timestamp: pallet_timestamp, - Sudo: pallet_sudo, - TransactionPayment: pallet_transaction_payment, - WeightReclaim: cumulus_pallet_weight_reclaim, - - ParachainSystem: cumulus_pallet_parachain_system = 20, - ParachainInfo: parachain_info = 21, - - Balances: pallet_balances = 30, - Assets: pallet_assets = 31, - - Aura: pallet_aura, - AuraExt: cumulus_pallet_aura_ext, - - // XCM helpers. - XcmpQueue: cumulus_pallet_xcmp_queue = 50, - PolkadotXcm: pallet_xcm = 51, - CumulusXcm: cumulus_pallet_xcm = 52, - // RIP DmpQueue 53 - MessageQueue: pallet_message_queue = 54, - - Spambot: cumulus_ping = 99, - } -} - -/// Balance of an account. -pub type Balance = u128; -/// Index of a transaction in the chain. -pub type Nonce = u32; -/// A hash of some data used by the chain. -pub type Hash = ::Output; -/// An index to a block. -pub type BlockNumber = u32; -/// The address format for describing accounts. -pub type Address = sp_runtime::MultiAddress; -/// Block header type as expected by this runtime. -pub type Header = generic::Header; -/// Block type as expected by this runtime. -pub type Block = generic::Block; -/// A Block signed with a Justification -pub type SignedBlock = generic::SignedBlock; -/// BlockId type as expected by this runtime. -pub type BlockId = generic::BlockId; -/// The extension to the basic transaction logic. -pub type TxExtension = cumulus_pallet_weight_reclaim::StorageWeightReclaim< - Runtime, - ( - frame_system::AuthorizeCall, - frame_system::CheckNonZeroSender, - frame_system::CheckSpecVersion, - frame_system::CheckTxVersion, - frame_system::CheckGenesis, - frame_system::CheckEra, - frame_system::CheckNonce, - frame_system::CheckWeight, - pallet_transaction_payment::ChargeTransactionPayment, - ), ->; - -/// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = - generic::UncheckedExtrinsic; -/// Executive: handles dispatch to the various modules. -pub type Executive = frame_executive::Executive< - Runtime, - Block, - frame_system::ChainContext, - Runtime, - AllPalletsWithSystem, ->; - -pub struct RemoveCollectiveFlip; -impl frame_support::traits::OnRuntimeUpgrade for RemoveCollectiveFlip { - fn on_runtime_upgrade() -> Weight { - use frame_support::storage::migration; - // Remove the storage value `RandomMaterial` from removed pallet `RandomnessCollectiveFlip` - #[allow(deprecated)] - migration::remove_storage_prefix(b"RandomnessCollectiveFlip", b"RandomMaterial", b""); - ::DbWeight::get().writes(1) - } -} - -impl_runtime_apis! { - impl sp_api::Core for Runtime { - fn version() -> RuntimeVersion { - VERSION - } - - fn execute_block(block: ::LazyBlock) { - Executive::execute_block(block); - } - - fn initialize_block(header: &::Header) -> sp_runtime::ExtrinsicInclusionMode { - Executive::initialize_block(header) - } - } - - impl sp_api::Metadata for Runtime { - fn metadata() -> OpaqueMetadata { - OpaqueMetadata::new(Runtime::metadata().into()) - } - - fn metadata_at_version(version: u32) -> Option { - Runtime::metadata_at_version(version) - } - - fn metadata_versions() -> alloc::vec::Vec { - Runtime::metadata_versions() - } - } - - impl sp_block_builder::BlockBuilder for Runtime { - fn apply_extrinsic( - extrinsic: ::Extrinsic, - ) -> ApplyExtrinsicResult { - Executive::apply_extrinsic(extrinsic) - } - - fn finalize_block() -> ::Header { - Executive::finalize_block() - } - - fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { - data.create_extrinsics() - } - - fn check_inherents(block: ::LazyBlock, data: sp_inherents::InherentData) -> sp_inherents::CheckInherentsResult { - data.check_extrinsics(&block) - } - } - - impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { - fn validate_transaction( - source: TransactionSource, - tx: ::Extrinsic, - block_hash: ::Hash, - ) -> TransactionValidity { - Executive::validate_transaction(source, tx, block_hash) - } - } - - impl sp_offchain::OffchainWorkerApi for Runtime { - fn offchain_worker(header: &::Header) { - Executive::offchain_worker(header) - } - } - - impl sp_session::SessionKeys for Runtime { - fn decode_session_keys( - encoded: Vec, - ) -> Option, sp_core::crypto::KeyTypeId)>> { - SessionKeys::decode_into_raw_public_keys(&encoded) - } - - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) - } - } - - impl sp_consensus_aura::AuraApi for Runtime { - fn slot_duration() -> sp_consensus_aura::SlotDuration { - sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) - } - - fn authorities() -> Vec { - pallet_aura::Authorities::::get().into_inner() - } - } - - impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { - fn account_nonce(account: AccountId) -> Nonce { - System::account_nonce(account) - } - } - - impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime { - fn query_info( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { - TransactionPayment::query_info(uxt, len) - } - fn query_fee_details( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_fee_details(uxt, len) - } - fn query_weight_to_fee(weight: Weight) -> Balance { - TransactionPayment::weight_to_fee(weight) - } - fn query_length_to_fee(length: u32) -> Balance { - TransactionPayment::length_to_fee(length) - } - } - - impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi - for Runtime - { - fn query_call_info( - call: RuntimeCall, - len: u32, - ) -> pallet_transaction_payment::RuntimeDispatchInfo { - TransactionPayment::query_call_info(call, len) - } - fn query_call_fee_details( - call: RuntimeCall, - len: u32, - ) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_call_fee_details(call, len) - } - fn query_weight_to_fee(weight: Weight) -> Balance { - TransactionPayment::weight_to_fee(weight) - } - fn query_length_to_fee(length: u32) -> Balance { - TransactionPayment::length_to_fee(length) - } - } - - impl cumulus_primitives_core::CollectCollationInfo for Runtime { - fn collect_collation_info(header: &::Header) -> cumulus_primitives_core::CollationInfo { - ParachainSystem::collect_collation_info(header) - } - } - - impl sp_genesis_builder::GenesisBuilder for Runtime { - fn build_state(config: Vec) -> sp_genesis_builder::Result { - build_state::(config) - } - - fn get_preset(id: &Option) -> Option> { - get_preset::(id, &genesis_config_presets::get_preset) - } - - fn preset_names() -> Vec { - genesis_config_presets::preset_names() - } - } - - impl cumulus_primitives_core::RelayParentOffsetApi for Runtime { - fn relay_parent_offset() -> u32 { - 0 - } - } - - impl cumulus_primitives_aura::AuraUnincludedSegmentApi for Runtime { - fn can_build_upon( - included_hash: ::Hash, - slot: cumulus_primitives_aura::Slot, - ) -> bool { - ConsensusHook::can_build_upon(included_hash, slot) - } - } - - impl cumulus_primitives_core::GetParachainInfo for Runtime { - fn parachain_id() -> ParaId { - ParachainInfo::parachain_id() - } - } -} - -cumulus_pallet_parachain_system::register_validate_block! { - Runtime = Runtime, - BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, -} diff --git a/cumulus/parachains/runtimes/testing/yet-another-parachain/src/lib.rs b/cumulus/parachains/runtimes/testing/yet-another-parachain/src/lib.rs index 92df3d950cb0e..6ff855eccd488 100644 --- a/cumulus/parachains/runtimes/testing/yet-another-parachain/src/lib.rs +++ b/cumulus/parachains/runtimes/testing/yet-another-parachain/src/lib.rs @@ -48,6 +48,8 @@ use sp_runtime::{ transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, MultiSignature, MultiSigner, }; +use sp_session::OpaqueGeneratedSessionKeys; + #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; @@ -153,8 +155,12 @@ const RELAY_CHAIN_SLOT_DURATION_MILLIS: u32 = 6000; parameter_types! { pub const BlockHashCount: BlockNumber = 250; pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -665,9 +671,10 @@ impl_runtime_apis! { SessionKeys::decode_into_raw_public_keys(&encoded) } - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } + } impl sp_consensus_aura::AuraApi for Runtime { diff --git a/cumulus/parachains/runtimes/testing/yet-another-parachain/src/xcm_config.rs b/cumulus/parachains/runtimes/testing/yet-another-parachain/src/xcm_config.rs index c1b83f5dbd74e..ad926a032034d 100644 --- a/cumulus/parachains/runtimes/testing/yet-another-parachain/src/xcm_config.rs +++ b/cumulus/parachains/runtimes/testing/yet-another-parachain/src/xcm_config.rs @@ -148,7 +148,6 @@ impl xcm_executor::Config for XcmConfig { UsingComponents>; type ResponseHandler = PolkadotXcm; type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/cumulus/polkadot-omni-node/Cargo.toml b/cumulus/polkadot-omni-node/Cargo.toml index 4e942ebc41ab4..a21336899afb1 100644 --- a/cumulus/polkadot-omni-node/Cargo.toml +++ b/cumulus/polkadot-omni-node/Cargo.toml @@ -16,8 +16,12 @@ workspace = true color-eyre = { workspace = true } # Local +polkadot-jemalloc-shim = { workspace = true } polkadot-omni-node-lib = { workspace = true, features = ["rococo-native", "westend-native"] } +[target.'cfg(target_os = "linux")'.dependencies] +polkadot-jemalloc-shim = { workspace = true, features = ["jemalloc-allocator"] } + [dev-dependencies] assert_cmd = { workspace = true } @@ -26,6 +30,7 @@ substrate-build-script-utils = { workspace = true, default-features = true } [features] default = [] +jemalloc-allocator = ["polkadot-jemalloc-shim/jemalloc-allocator"] runtime-benchmarks = [ "polkadot-omni-node-lib/runtime-benchmarks", ] diff --git a/cumulus/polkadot-omni-node/lib/Cargo.toml b/cumulus/polkadot-omni-node/lib/Cargo.toml index 3e01fa6ec1680..4ee8b868988be 100644 --- a/cumulus/polkadot-omni-node/lib/Cargo.toml +++ b/cumulus/polkadot-omni-node/lib/Cargo.toml @@ -80,6 +80,7 @@ sp-statement-store = { workspace = true, default-features = true } sp-storage = { workspace = true, default-features = true } sp-timestamp = { workspace = true, default-features = true } sp-transaction-pool = { workspace = true, default-features = true } +sp-transaction-storage-proof = { workspace = true, default-features = true } sp-version = { workspace = true, default-features = true } sp-weights = { workspace = true, default-features = true } substrate-frame-rpc-system = { workspace = true, default-features = true } diff --git a/cumulus/polkadot-omni-node/lib/src/cli.rs b/cumulus/polkadot-omni-node/lib/src/cli.rs index ba519a8920f8d..6abbb297ed2f2 100644 --- a/cumulus/polkadot-omni-node/lib/src/cli.rs +++ b/cumulus/polkadot-omni-node/lib/src/cli.rs @@ -218,11 +218,17 @@ pub struct Cli { /// Enable the statement store. /// - /// The statement store is a store for statements validated using the runtime API - /// `validate_statement`. It should be enabled for chains that provide this runtime API. + /// The statement store reads the storage of the chain to determine if users are allowed to + /// store statements or not. #[arg(long)] pub enable_statement_store: bool, + /// Number of concurrent workers for statement validation from the network. + /// + /// Only relevant when `--enable-statement-store` is used. + #[arg(long, default_value_t = 1)] + pub statement_network_workers: usize, + #[arg(skip)] pub(crate) _phantom: PhantomData, } @@ -268,6 +274,7 @@ impl Cli { export_pov: self.export_pov_to_path.clone(), max_pov_percentage: self.run.experimental_max_pov_percentage, enable_statement_store: self.enable_statement_store, + statement_network_workers: self.statement_network_workers, storage_monitor: self.storage_monitor.clone(), } } diff --git a/cumulus/polkadot-omni-node/lib/src/command.rs b/cumulus/polkadot-omni-node/lib/src/command.rs index 4ac7f6ef82bab..192ba32ad7231 100644 --- a/cumulus/polkadot-omni-node/lib/src/command.rs +++ b/cumulus/polkadot-omni-node/lib/src/command.rs @@ -88,10 +88,12 @@ fn new_node_spec( Ok(match runtime { Runtime::Omni(block_number, consensus) => match (block_number, consensus) { - (BlockNumber::U32, Consensus::Aura(aura_id)) => - new_aura_node_spec::>(aura_id, extra_args), - (BlockNumber::U64, Consensus::Aura(aura_id)) => - new_aura_node_spec::>(aura_id, extra_args), + (BlockNumber::U32, Consensus::Aura(aura_id)) => { + new_aura_node_spec::>(aura_id, extra_args) + }, + (BlockNumber::U64, Consensus::Aura(aura_id)) => { + new_aura_node_spec::>(aura_id, extra_args) + }, }, }) } @@ -188,8 +190,9 @@ where node.prepare_revert_cmd(config, cmd) }) }, - Some(Subcommand::ChainSpecBuilder(cmd)) => - cmd.run().map_err(|err| sc_cli::Error::Application(err.into())), + Some(Subcommand::ChainSpecBuilder(cmd)) => { + cmd.run().map_err(|err| sc_cli::Error::Application(err.into())) + }, Some(Subcommand::PurgeChain(cmd)) => { let runner = cli.create_runner(cmd)?; diff --git a/cumulus/polkadot-omni-node/lib/src/common/aura.rs b/cumulus/polkadot-omni-node/lib/src/common/aura.rs index 9ca725ff3279a..b6f156f96dfdb 100644 --- a/cumulus/polkadot-omni-node/lib/src/common/aura.rs +++ b/cumulus/polkadot-omni-node/lib/src/common/aura.rs @@ -18,6 +18,7 @@ use codec::Codec; use cumulus_primitives_aura::AuraUnincludedSegmentApi; +use cumulus_primitives_core::KeyToIncludeInRelayProof; use sp_consensus_aura::AuraApi; use sp_runtime::{ app_crypto::{AppCrypto, AppPair, AppSignature, Pair}, @@ -53,6 +54,7 @@ pub trait AuraRuntimeApi: sp_api::ApiExt + AuraApi::Public> + AuraUnincludedSegmentApi + + KeyToIncludeInRelayProof + Sized { /// Check if the runtime has the Aura API. @@ -66,5 +68,6 @@ impl AuraRuntimeApi for T wher T: sp_api::ApiExt + AuraApi::Public> + AuraUnincludedSegmentApi + + KeyToIncludeInRelayProof { } diff --git a/cumulus/polkadot-omni-node/lib/src/common/mod.rs b/cumulus/polkadot-omni-node/lib/src/common/mod.rs index aaa37486f2c58..e62100a5de915 100644 --- a/cumulus/polkadot-omni-node/lib/src/common/mod.rs +++ b/cumulus/polkadot-omni-node/lib/src/common/mod.rs @@ -40,8 +40,8 @@ use sp_runtime::{ OpaqueExtrinsic, }; use sp_session::SessionKeys; -use sp_statement_store::runtime_api::ValidateStatement; use sp_transaction_pool::runtime_api::TaggedTransactionQueue; +use sp_transaction_storage_proof::runtime_api::TransactionStorageApi; use std::{fmt::Debug, path::PathBuf, str::FromStr}; pub trait NodeBlock: @@ -72,8 +72,8 @@ pub trait NodeRuntimeApi: + TaggedTransactionQueue + OffchainWorkerApi + CollectCollationInfo - + ValidateStatement + GetParachainInfo + + TransactionStorageApi + RelayParentOffsetApi + Sized { @@ -88,8 +88,8 @@ impl NodeRuntimeApi for T where + OffchainWorkerApi + RelayParentOffsetApi + CollectCollationInfo - + ValidateStatement + GetParachainInfo + + TransactionStorageApi { } @@ -127,6 +127,9 @@ pub struct NodeExtraArgs { /// If true then the statement store will be enabled. pub enable_statement_store: bool, + /// Number of concurrent workers for statement validation from the network. + pub statement_network_workers: usize, + /// Parameters for storage monitoring. pub storage_monitor: sc_storage_monitor::StorageMonitorParams, } diff --git a/cumulus/polkadot-omni-node/lib/src/common/rpc.rs b/cumulus/polkadot-omni-node/lib/src/common/rpc.rs index c97af2c9d7ae6..51841a3516dee 100644 --- a/cumulus/polkadot-omni-node/lib/src/common/rpc.rs +++ b/cumulus/polkadot-omni-node/lib/src/common/rpc.rs @@ -41,6 +41,7 @@ pub(crate) trait BuildRpcExtensions { backend: Arc, pool: Arc, statement_store: Option>, + spawn_handle: Arc, ) -> sc_service::error::Result; } @@ -66,6 +67,7 @@ where sc_transaction_pool::TransactionPoolHandle>, >, statement_store: Option>, + spawn_handle: Arc, ) -> sc_service::error::Result { let build = || -> Result> { let mut module = RpcExtension::new(()); @@ -74,7 +76,7 @@ where module.merge(TransactionPayment::new(client.clone()).into_rpc())?; module.merge(StateMigration::new(client.clone(), backend).into_rpc())?; if let Some(statement_store) = statement_store { - module.merge(StatementStore::new(statement_store).into_rpc())?; + module.merge(StatementStore::new(statement_store, spawn_handle).into_rpc())?; } module.merge(Dev::new(client).into_rpc())?; diff --git a/cumulus/polkadot-omni-node/lib/src/common/runtime.rs b/cumulus/polkadot-omni-node/lib/src/common/runtime.rs index 420d30bf0ebf8..8d65813fe6d1e 100644 --- a/cumulus/polkadot-omni-node/lib/src/common/runtime.rs +++ b/cumulus/polkadot-omni-node/lib/src/common/runtime.rs @@ -31,7 +31,7 @@ pub const DEFAULT_PARACHAIN_SYSTEM_PALLET_NAME: &str = "ParachainSystem"; pub const DEFAULT_FRAME_SYSTEM_PALLET_NAME: &str = "System"; /// The Aura ID used by the Aura consensus -#[derive(PartialEq)] +#[derive(Debug, PartialEq)] pub enum AuraConsensusId { /// Ed25519 Ed25519, @@ -39,6 +39,36 @@ pub enum AuraConsensusId { Sr25519, } +/// Determines the appropriate Aura consensus ID based on the chain spec ID. +/// +/// Most parachains use Sr25519 for Aura consensus, but Asset Hub Polkadot +/// (formerly Statemint) uses Ed25519. +/// +/// # Returns +/// +/// Returns `AuraConsensusId::Ed25519` for chain spec IDs starting with +/// `asset-hub-polkadot` or `statemint`, and `AuraConsensusId::Sr25519` for all +/// other chains. +pub fn aura_id_from_chain_spec_id(id: &str) -> AuraConsensusId { + let id_normalized = id.replace('_', "-"); + if id_normalized.starts_with("asset-hub-polkadot") || id_normalized.starts_with("statemint") { + log::warn!( + "⚠️ Aura authority id type is assumed to be `ed25519` because the chain spec id \ + starts with `asset-hub-polkadot` or `statemint`. This is a known special case for \ + Asset Hub Polkadot (formerly Statemint). If this assumption is wrong for your runtime, \ + the node may not work correctly." + ); + AuraConsensusId::Ed25519 + } else { + log::warn!( + "⚠️ Aura authority id type is assumed to be `sr25519` by default. Runtimes using \ + `ed25519` for Aura are not yet supported (except for `asset-hub-polkadot` / `statemint`). \ + If your runtime uses `ed25519` for Aura, it may not work correctly with this node." + ); + AuraConsensusId::Sr25519 + } +} + /// The choice of consensus for the parachain omni-node. #[derive(PartialEq)] pub enum Consensus { @@ -103,33 +133,32 @@ pub struct DefaultRuntimeResolver; impl RuntimeResolver for DefaultRuntimeResolver { fn runtime(&self, chain_spec: &dyn ChainSpec) -> sc_cli::Result { + let aura_id = aura_id_from_chain_spec_id(chain_spec.id()); + let Ok(metadata_inspector) = MetadataInspector::new(chain_spec) else { log::info!("Unable to check metadata. Skipping metadata checks. Metadata checks are supported for metadata versions v14 and higher."); - return Ok(Runtime::Omni(BlockNumber::U32, Consensus::Aura(AuraConsensusId::Sr25519))) + return Ok(Runtime::Omni(BlockNumber::U32, Consensus::Aura(aura_id))); }; - let block_number = match metadata_inspector.block_number() { - Some(inner) => inner, - None => { - log::warn!( + let block_number = metadata_inspector.block_number().unwrap_or_else(|| { + log::warn!( r#"⚠️ There isn't a runtime type named `System`, corresponding to the `frame-system` pallet (https://docs.rs/frame-system/latest/frame_system/). Please check Omni Node docs for runtime conventions: https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/reference_docs/omni_node/index.html#runtime-conventions. Note: We'll assume a block number size of `u32`."# ); - BlockNumber::U32 - }, - }; + BlockNumber::U32 + }); if !metadata_inspector.pallet_exists(DEFAULT_PARACHAIN_SYSTEM_PALLET_NAME) { log::warn!( r#"⚠️ The parachain system pallet (https://docs.rs/crate/cumulus-pallet-parachain-system/latest) is - missing from the runtime’s metadata. Please check Omni Node docs for runtime conventions: + missing from the runtime's metadata. Please check Omni Node docs for runtime conventions: https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/reference_docs/omni_node/index.html#runtime-conventions."# ); } - Ok(Runtime::Omni(block_number, Consensus::Aura(AuraConsensusId::Sr25519))) + Ok(Runtime::Omni(block_number, Consensus::Aura(aura_id))) } } @@ -210,4 +239,18 @@ mod tests { let metadata_inspector = MetadataInspector(cumulus_test_runtime_metadata()); assert_eq!(metadata_inspector.block_number().unwrap(), BlockNumber::U32); } + + #[test] + fn test_aura_id_from_chain_spec_id() { + use crate::runtime::{aura_id_from_chain_spec_id, AuraConsensusId}; + + // Asset Hub Polkadot uses Ed25519 + assert_eq!(aura_id_from_chain_spec_id("asset-hub-polkadot"), AuraConsensusId::Ed25519); + assert_eq!(aura_id_from_chain_spec_id("statemint"), AuraConsensusId::Ed25519); + + // Other chains use Sr25519 + assert_eq!(aura_id_from_chain_spec_id("asset-hub-kusama"), AuraConsensusId::Sr25519); + assert_eq!(aura_id_from_chain_spec_id("penpal-rococo-1000"), AuraConsensusId::Sr25519); + assert_eq!(aura_id_from_chain_spec_id("collectives-westend"), AuraConsensusId::Sr25519); + } } diff --git a/cumulus/polkadot-omni-node/lib/src/common/spec.rs b/cumulus/polkadot-omni-node/lib/src/common/spec.rs index bc4acf3ba9cf5..f6d9dc43db95b 100644 --- a/cumulus/polkadot-omni-node/lib/src/common/spec.rs +++ b/cumulus/polkadot-omni-node/lib/src/common/spec.rs @@ -39,7 +39,7 @@ use cumulus_client_service::{ use cumulus_primitives_core::{BlockT, GetParachainInfo, ParaId}; use cumulus_relay_chain_interface::{OverseerHandle, RelayChainInterface}; use futures::FutureExt; -use log::info; +use log::{debug, info}; use parachains_common_types::Hash; use polkadot_primitives::CollatorPair; use prometheus_endpoint::Registry; @@ -61,6 +61,13 @@ use sp_keystore::KeystorePtr; use sp_runtime::traits::AccountIdConversion; use std::{future::Future, pin::Pin, sync::Arc, time::Duration}; +// Override default idle connection timeout of 10 seconds to give IPFS clients more +// time to query data over Bitswap. This is needed when manually adding our node +// to a swarm of an IPFS node, because the IPFS node doesn't keep any active +// substreams with us and our node closes a connection after +// `idle_connection_timeout`. +const IPFS_WORKAROUND_TIMEOUT: Duration = Duration::from_secs(3600); + pub(crate) trait BuildImportQueue< Block: BlockT, RuntimeApi, @@ -110,7 +117,7 @@ fn warn_if_slow_hardware(hwbench: &sc_sysinfo::HwBench) { { log::warn!( "⚠️ The hardware does not meet the minimal requirements {} for role 'Authority' find out more at:\n\ - https://wiki.polkadot.network/docs/maintain-guides-how-to-validate-polkadot#reference-hardware", + https://docs.polkadot.com/infrastructure/running-a-validator/requirements/#minimum-hardware-requirements", err ); } @@ -241,6 +248,7 @@ pub(crate) trait BaseNodeSpec { telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), executor, true, + Default::default(), )?; let client = Arc::new(client); @@ -326,7 +334,16 @@ pub(crate) trait NodeSpec: BaseNodeSpec { Net: NetworkBackend, { let fut = async move { - let parachain_config = prepare_node_config(parachain_config); + let mut parachain_config = prepare_node_config(parachain_config); + + // Some additional customization in relation to starting the node as an ipfs server. + if parachain_config.network.idle_connection_timeout < IPFS_WORKAROUND_TIMEOUT && + parachain_config.network.ipfs_server + { + debug!("Overriding `config.network.idle_connection_timeout` to allow long-lived connections with IPFS nodes. The old value: {:?} is replaced by: {:?}.", parachain_config.network.idle_connection_timeout, IPFS_WORKAROUND_TIMEOUT); + parachain_config.network.idle_connection_timeout = IPFS_WORKAROUND_TIMEOUT; + } + let parachain_public_addresses = parachain_config.network.public_addresses.clone(); let parachain_fork_id = parachain_config.chain_spec.fork_id().map(ToString::to_string); let advertise_non_global_ips = parachain_config.network.allow_non_globals_in_dht; @@ -378,6 +395,7 @@ pub(crate) trait NodeSpec: BaseNodeSpec { transaction_pool: transaction_pool.clone(), para_id, spawn_handle: task_manager.spawn_handle(), + spawn_essential_handle: task_manager.spawn_essential_handle(), relay_chain_interface: relay_chain_interface.clone(), import_queue: params.import_queue, sybil_resistance_level: Self::SYBIL_RESISTANCE, @@ -396,6 +414,7 @@ pub(crate) trait NodeSpec: BaseNodeSpec { sync_service.clone(), params.keystore_container.local_keystore(), statement_handler_proto, + node_extra_args.statement_network_workers, ) }) .transpose()?; @@ -433,18 +452,20 @@ pub(crate) trait NodeSpec: BaseNodeSpec { ); } + let spawn_handle = Arc::new(task_manager.spawn_handle()); + let rpc_builder = { let client = client.clone(); let transaction_pool = transaction_pool.clone(); let backend_for_rpc = backend.clone(); let statement_store = statement_store.clone(); - Box::new(move |_| { Self::BuildRpcExtensions::build_rpc_extensions( client.clone(), backend_for_rpc.clone(), transaction_pool.clone(), statement_store.clone(), + spawn_handle.clone(), ) }) }; @@ -615,22 +636,24 @@ where node_extra_args: NodeExtraArgs, ) -> Pin>>> { match parachain_config.network.network_backend { - sc_network::config::NetworkBackendType::Libp2p => + sc_network::config::NetworkBackendType::Libp2p => { ::start_node::>( parachain_config, polkadot_config, collator_options, hwbench, node_extra_args, - ), - sc_network::config::NetworkBackendType::Litep2p => + ) + }, + sc_network::config::NetworkBackendType::Litep2p => { ::start_node::( parachain_config, polkadot_config, collator_options, hwbench, node_extra_args, - ), + ) + }, } } } diff --git a/cumulus/polkadot-omni-node/lib/src/common/statement_store.rs b/cumulus/polkadot-omni-node/lib/src/common/statement_store.rs index 754e9d1a75d0e..9e34e60962607 100644 --- a/cumulus/polkadot-omni-node/lib/src/common/statement_store.rs +++ b/cumulus/polkadot-omni-node/lib/src/common/statement_store.rs @@ -63,6 +63,7 @@ pub(crate) fn build_statement_store< sync_service: Arc>, local_keystore: Arc, statement_handler_proto: sc_network_statement::StatementHandlerPrototype, + statement_network_workers: usize, ) -> sc_service::error::Result> { let statement_store = sc_statement_store::Store::new_shared( ¶chain_config.data_path, @@ -70,7 +71,7 @@ pub(crate) fn build_statement_store< client, local_keystore, parachain_config.prometheus_registry(), - &task_manager.spawn_handle(), + Box::new(task_manager.spawn_handle()), ) .map_err(|e| sc_service::Error::Application(Box::new(e) as Box<_>))?; let statement_protocol_executor = { @@ -85,6 +86,7 @@ pub(crate) fn build_statement_store< statement_store.clone(), parachain_config.prometheus_registry(), statement_protocol_executor, + statement_network_workers, )?; task_manager.spawn_handle().spawn( "network-statement-handler", diff --git a/cumulus/polkadot-omni-node/lib/src/extra_subcommand.rs b/cumulus/polkadot-omni-node/lib/src/extra_subcommand.rs index dc714423625a5..9ceab8abf987e 100644 --- a/cumulus/polkadot-omni-node/lib/src/extra_subcommand.rs +++ b/cumulus/polkadot-omni-node/lib/src/extra_subcommand.rs @@ -48,7 +48,7 @@ use crate::RunConfig; /// /// #[derive(Debug, Clone, Subcommand)] /// pub enum ExtraCmd { -/// NewCmd, +/// NewCmd, /// } /// /// impl ExtraSubcommand for ExtraCmd { diff --git a/cumulus/polkadot-omni-node/lib/src/fake_runtime_api/utils.rs b/cumulus/polkadot-omni-node/lib/src/fake_runtime_api/utils.rs index f609f13446354..9dcb807571e04 100644 --- a/cumulus/polkadot-omni-node/lib/src/fake_runtime_api/utils.rs +++ b/cumulus/polkadot-omni-node/lib/src/fake_runtime_api/utils.rs @@ -15,7 +15,7 @@ // limitations under the License. pub(crate) mod imports { - pub use cumulus_primitives_core::ParaId; + pub use cumulus_primitives_core::{ParaId, RelayProofRequest}; pub use parachains_common_types::{AccountId, Balance, Nonce}; pub use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; pub use sp_runtime::{ @@ -124,7 +124,7 @@ macro_rules! impl_node_runtime_apis { } impl sp_session::SessionKeys<$block> for $runtime { - fn generate_session_keys(_: Option>) -> Vec { + fn generate_session_keys(_owner: Vec, _seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { unimplemented!() } @@ -133,6 +133,7 @@ macro_rules! impl_node_runtime_apis { ) -> Option, KeyTypeId)>> { unimplemented!() } + } impl @@ -174,6 +175,13 @@ macro_rules! impl_node_runtime_apis { unimplemented!() } } + + impl cumulus_primitives_core::KeyToIncludeInRelayProof<$block> for $runtime { + fn keys_to_prove() -> RelayProofRequest { + unimplemented!() + } + } + #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime<$block> for $runtime { fn on_runtime_upgrade( @@ -233,17 +241,14 @@ macro_rules! impl_node_runtime_apis { } } - impl sp_statement_store::runtime_api::ValidateStatement<$block> for $runtime { - fn validate_statement( - _source: sp_statement_store::runtime_api::StatementSource, - _statement: sp_statement_store::Statement, - ) -> Result { + impl cumulus_primitives_core::TargetBlockRate<$block> for $runtime { + fn target_block_rate() -> u32 { unimplemented!() } } - impl cumulus_primitives_core::TargetBlockRate<$block> for $runtime { - fn target_block_rate() -> u32 { + impl sp_transaction_storage_proof::runtime_api::TransactionStorageApi<$block> for $runtime { + fn retention_period() -> sp_runtime::traits::NumberFor<$block> { unimplemented!() } } diff --git a/cumulus/polkadot-omni-node/lib/src/nodes/aura.rs b/cumulus/polkadot-omni-node/lib/src/nodes/aura.rs index bbdce78d0121d..6b9f5bb835121 100644 --- a/cumulus/polkadot-omni-node/lib/src/nodes/aura.rs +++ b/cumulus/polkadot-omni-node/lib/src/nodes/aura.rs @@ -50,6 +50,7 @@ use cumulus_client_parachain_inherent::MockValidationDataInherentDataProvider; use cumulus_client_service::CollatorSybilResistance; use cumulus_primitives_core::{ relay_chain::ValidationCode, CollectCollationInfo, GetParachainInfo, ParaId, + RelayParentOffsetApi, }; use cumulus_relay_chain_interface::{OverseerHandle, RelayChainInterface}; use futures::{prelude::*, FutureExt}; @@ -67,7 +68,7 @@ use sc_service::{Configuration, Error, PartialComponents, TaskManager}; use sc_telemetry::TelemetryHandle; use sc_transaction_pool::TransactionPoolHandle; use sc_transaction_pool_api::OffchainTransactionPoolFactory; -use sp_api::ProvideRuntimeApi; +use sp_api::{ApiExt, ProvideRuntimeApi}; use sp_consensus::Environment; use sp_core::traits::SpawnEssentialNamed; use sp_inherents::CreateInherentDataProviders; @@ -76,7 +77,8 @@ use sp_runtime::{ app_crypto::AppCrypto, traits::{Block as BlockT, Header as HeaderT, UniqueSaturatedInto}, }; -use std::{marker::PhantomData, sync::Arc, time::Duration}; +use sp_transaction_storage_proof::runtime_api::TransactionStorageApi; +use std::{marker::PhantomData, ops::Sub, sync::Arc, time::Duration}; struct Verifier { client: Arc, @@ -240,6 +242,7 @@ where client: client.clone(), transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), + spawn_essential_handle: task_manager.spawn_essential_handle(), import_queue, net_config, block_announce_validator_builder: None, @@ -349,7 +352,7 @@ where ); }, } - + let spawn_handle = Arc::new(task_manager.spawn_handle()); let rpc_extensions_builder = { let client = client.clone(); let transaction_pool = transaction_pool.clone(); @@ -361,6 +364,7 @@ where backend_for_rpc.clone(), transaction_pool.clone(), None, + spawn_handle.clone(), )?; Ok(module) }) @@ -412,6 +416,16 @@ where >, > + Send + Sync { + const RELAY_CHAIN_SLOT_DURATION_MILLIS: u64 = 6000; + + // Start 2 hours in the past to avoid timestamps immediately running into the future. + let initial_relay_slot = std::time::SystemTime::now() + .duration_since(std::time::UNIX_EPOCH) + .expect("Current time is always after UNIX_EPOCH; qed") + .sub(Duration::from_secs(2 * 60 * 60)) + .as_millis() as u64 / + RELAY_CHAIN_SLOT_DURATION_MILLIS; + move |block: Hash, ()| { let current_para_head = client .header(block) @@ -430,11 +444,27 @@ where UniqueSaturatedInto::::unique_saturated_into(*current_para_head.number()) + 1; log::info!("Current block number: {current_block_number}"); + let relay_parent_offset = + client.runtime_api().relay_parent_offset(block).unwrap_or_default(); + + let relay_blocks_per_para_block = + (slot_duration.as_millis() / RELAY_CHAIN_SLOT_DURATION_MILLIS).max(1) as u32; + + // Each para block gets a unique relay slot: initial_relay_slot + + // relay_blocks_per_para_block * block_number + let target_relay_slot = initial_relay_slot + + u64::from(current_block_number) * u64::from(relay_blocks_per_para_block); + + let relay_offset = (target_relay_slot as u32) + .saturating_sub(relay_blocks_per_para_block * current_block_number); + let mocked_parachain = MockValidationDataInherentDataProvider::<()> { current_para_block: current_block_number, para_id, current_para_block_head, - relay_blocks_per_para_block: 1, + relay_blocks_per_para_block, + relay_offset, + relay_parent_offset, para_blocks_per_relay_epoch: 10, upgrade_go_ahead: should_send_go_ahead.then(|| { log::info!("Detected pending validation code, sending go-ahead signal."); @@ -443,9 +473,9 @@ where ..Default::default() }; - let timestamp_provider = sp_timestamp::InherentDataProvider::new( - (slot_duration.as_millis() * current_block_number as u64).into(), - ); + let timestamp = target_relay_slot * RELAY_CHAIN_SLOT_DURATION_MILLIS; + + let timestamp_provider = sp_timestamp::InherentDataProvider::new(timestamp.into()); futures::future::ready(Ok((timestamp_provider, mocked_parachain))) } @@ -591,8 +621,28 @@ where ); let client_for_aura = client.clone(); + let client_clone = client.clone(); let params = SlotBasedParams { - create_inherent_data_providers: move |_, ()| async move { Ok(()) }, + create_inherent_data_providers: move |parent, ()| { + let client_clone = client_clone.clone(); + async move { + let has_tx_storage_api = client_clone + .runtime_api() + .has_api::>(parent) + .unwrap_or(false); + if has_tx_storage_api { + let storage_proof = + sp_transaction_storage_proof::registration::new_data_provider( + &*client_clone, + &parent, + client_clone.runtime_api().retention_period(parent)?, + )?; + Ok(vec![storage_proof]) + } else { + Ok(vec![]) + } + } + }, block_import, para_client: client.clone(), para_backend: backend.clone(), @@ -618,7 +668,6 @@ where // We have a separate function only to be able to use `docify::export` on this piece of // code. - Self::launch_slot_based_collator(params); Ok(()) @@ -716,10 +765,30 @@ where client.clone(), ); + let client_clone = client.clone(); let params = aura::ParamsWithExport { export_pov: node_extra_args.export_pov, params: AuraParams { - create_inherent_data_providers: move |_, ()| async move { Ok(()) }, + create_inherent_data_providers: move |parent, ()| { + let client_clone = client_clone.clone(); + async move { + let has_tx_storage_api = client_clone + .runtime_api() + .has_api::>(parent) + .unwrap_or(false); + if has_tx_storage_api { + let storage_proof = + sp_transaction_storage_proof::registration::new_data_provider( + &*client_clone, + &parent, + client_clone.runtime_api().retention_period(parent)?, + )?; + Ok(vec![storage_proof]) + } else { + Ok(vec![]) + } + } + }, block_import, para_client: client.clone(), para_backend: backend, diff --git a/cumulus/polkadot-omni-node/lib/src/nodes/mod.rs b/cumulus/polkadot-omni-node/lib/src/nodes/mod.rs index 373afac5b1010..5d91202d5cb6b 100644 --- a/cumulus/polkadot-omni-node/lib/src/nodes/mod.rs +++ b/cumulus/polkadot-omni-node/lib/src/nodes/mod.rs @@ -19,4 +19,4 @@ pub mod aura; /// The current node version for cumulus official binaries, which takes the basic /// SemVer form `..`. It should correspond to the latest /// `polkadot` version of a stable release. -pub const NODE_VERSION: &'static str = "1.20.2"; +pub const NODE_VERSION: &'static str = "1.21.1"; diff --git a/cumulus/polkadot-omni-node/src/main.rs b/cumulus/polkadot-omni-node/src/main.rs index 9bc669504d8cc..8dde8f7fd6836 100644 --- a/cumulus/polkadot-omni-node/src/main.rs +++ b/cumulus/polkadot-omni-node/src/main.rs @@ -21,6 +21,10 @@ #![warn(missing_docs)] #![warn(unused_extern_crates)] +// Force the linker to keep the polkadot_jemalloc_shim crate (and its #[global_allocator]). +#[cfg(target_os = "linux")] +extern crate polkadot_jemalloc_shim; + use polkadot_omni_node_lib::{ chain_spec::DiskChainSpecLoader, extra_subcommand::NoExtraSubcommand, run_with_custom_cli, runtime::DefaultRuntimeResolver, CliConfig as CliConfigT, RunConfig, NODE_VERSION, diff --git a/cumulus/polkadot-parachain/Cargo.toml b/cumulus/polkadot-parachain/Cargo.toml index 668e9748b7aeb..8405a77c66e14 100644 --- a/cumulus/polkadot-parachain/Cargo.toml +++ b/cumulus/polkadot-parachain/Cargo.toml @@ -29,18 +29,15 @@ asset-hub-westend-runtime = { workspace = true, default-features = true } bridge-hub-rococo-runtime = { workspace = true, default-features = true } bridge-hub-westend-runtime = { workspace = true, default-features = true } collectives-westend-runtime = { workspace = true } -coretime-rococo-runtime = { workspace = true } coretime-westend-runtime = { workspace = true } glutton-westend-runtime = { workspace = true } parachains-common = { workspace = true, default-features = true } penpal-runtime = { workspace = true } -people-rococo-runtime = { workspace = true } people-westend-runtime = { workspace = true } polkadot-omni-node-lib = { features = [ "rococo-native", "westend-native", ], workspace = true } -rococo-parachain-runtime = { workspace = true } # Substrate sc-chain-spec = { workspace = true, default-features = true } @@ -51,6 +48,7 @@ sp-genesis-builder = { workspace = true, default-features = true } sp-keyring = { workspace = true, default-features = true } # Polkadot +polkadot-jemalloc-shim = { workspace = true } xcm = { workspace = true, default-features = true } # Cumulus @@ -58,6 +56,9 @@ cumulus-client-consensus-aura = { workspace = true } cumulus-primitives-core = { workspace = true, default-features = true } yet-another-parachain-runtime = { workspace = true } +[target.'cfg(target_os = "linux")'.dependencies] +polkadot-jemalloc-shim = { workspace = true, features = ["jemalloc-allocator"] } + [dev-dependencies] assert_cmd = { workspace = true } @@ -66,6 +67,7 @@ substrate-build-script-utils = { workspace = true, default-features = true } [features] default = [] +jemalloc-allocator = ["polkadot-jemalloc-shim/jemalloc-allocator"] runtime-benchmarks = [ "cumulus-primitives-core/runtime-benchmarks", "parachains-common/runtime-benchmarks", @@ -77,13 +79,10 @@ runtime-benchmarks = [ "bridge-hub-rococo-runtime/runtime-benchmarks", "bridge-hub-westend-runtime/runtime-benchmarks", "collectives-westend-runtime/runtime-benchmarks", - "coretime-rococo-runtime/runtime-benchmarks", "coretime-westend-runtime/runtime-benchmarks", "glutton-westend-runtime/runtime-benchmarks", "penpal-runtime/runtime-benchmarks", - "people-rococo-runtime/runtime-benchmarks", "people-westend-runtime/runtime-benchmarks", - "rococo-parachain-runtime/runtime-benchmarks", "xcm/runtime-benchmarks", "yet-another-parachain-runtime/runtime-benchmarks", ] @@ -95,17 +94,14 @@ try-runtime = [ "bridge-hub-rococo-runtime/try-runtime", "bridge-hub-westend-runtime/try-runtime", "collectives-westend-runtime/try-runtime", - "coretime-rococo-runtime/try-runtime", "coretime-westend-runtime/try-runtime", "glutton-westend-runtime/try-runtime", "parachains-common/try-runtime", "penpal-runtime/try-runtime", - "people-rococo-runtime/try-runtime", "people-westend-runtime/try-runtime", ] fast-runtime = [ "bridge-hub-rococo-runtime/fast-runtime", "bridge-hub-westend-runtime/fast-runtime", - "coretime-rococo-runtime/fast-runtime", "coretime-westend-runtime/fast-runtime", ] diff --git a/cumulus/polkadot-parachain/src/chain_spec/coretime.rs b/cumulus/polkadot-parachain/src/chain_spec/coretime.rs index 5fff267995d1b..cefa3586ef1ea 100644 --- a/cumulus/polkadot-parachain/src/chain_spec/coretime.rs +++ b/cumulus/polkadot-parachain/src/chain_spec/coretime.rs @@ -27,13 +27,6 @@ pub enum CoretimeRuntimeType { Polkadot, PolkadotLocal, - // Live - Rococo, - // Local - RococoLocal, - // Benchmarks - RococoDevelopment, - // Live Westend, // Local @@ -51,9 +44,6 @@ impl FromStr for CoretimeRuntimeType { kusama::CORETIME_KUSAMA_LOCAL => Ok(CoretimeRuntimeType::KusamaLocal), polkadot::CORETIME_POLKADOT => Ok(CoretimeRuntimeType::Polkadot), polkadot::CORETIME_POLKADOT_LOCAL => Ok(CoretimeRuntimeType::PolkadotLocal), - rococo::CORETIME_ROCOCO => Ok(CoretimeRuntimeType::Rococo), - rococo::CORETIME_ROCOCO_LOCAL => Ok(CoretimeRuntimeType::RococoLocal), - rococo::CORETIME_ROCOCO_DEVELOPMENT => Ok(CoretimeRuntimeType::RococoDevelopment), westend::CORETIME_WESTEND => Ok(CoretimeRuntimeType::Westend), westend::CORETIME_WESTEND_LOCAL => Ok(CoretimeRuntimeType::WestendLocal), westend::CORETIME_WESTEND_DEVELOPMENT => Ok(CoretimeRuntimeType::WestendDevelopment), @@ -69,9 +59,6 @@ impl From for &str { CoretimeRuntimeType::KusamaLocal => kusama::CORETIME_KUSAMA_LOCAL, CoretimeRuntimeType::Polkadot => polkadot::CORETIME_POLKADOT, CoretimeRuntimeType::PolkadotLocal => polkadot::CORETIME_POLKADOT_LOCAL, - CoretimeRuntimeType::Rococo => rococo::CORETIME_ROCOCO, - CoretimeRuntimeType::RococoLocal => rococo::CORETIME_ROCOCO_LOCAL, - CoretimeRuntimeType::RococoDevelopment => rococo::CORETIME_ROCOCO_DEVELOPMENT, CoretimeRuntimeType::Westend => westend::CORETIME_WESTEND, CoretimeRuntimeType::WestendLocal => westend::CORETIME_WESTEND_LOCAL, CoretimeRuntimeType::WestendDevelopment => westend::CORETIME_WESTEND_DEVELOPMENT, @@ -84,14 +71,11 @@ impl From for ChainType { match runtime_type { CoretimeRuntimeType::Kusama | CoretimeRuntimeType::Polkadot | - CoretimeRuntimeType::Rococo | CoretimeRuntimeType::Westend => ChainType::Live, CoretimeRuntimeType::KusamaLocal | CoretimeRuntimeType::PolkadotLocal | - CoretimeRuntimeType::RococoLocal | CoretimeRuntimeType::WestendLocal => ChainType::Local, - CoretimeRuntimeType::RococoDevelopment | CoretimeRuntimeType::WestendDevelopment => - ChainType::Development, + CoretimeRuntimeType::WestendDevelopment => ChainType::Development, } } } @@ -107,20 +91,15 @@ impl CoretimeRuntimeType { CoretimeRuntimeType::Polkadot => Ok(Box::new(GenericChainSpec::from_json_bytes( &include_bytes!("../../chain-specs/coretime-polkadot.json")[..], )?)), - CoretimeRuntimeType::Rococo => Ok(Box::new(GenericChainSpec::from_json_bytes( - &include_bytes!("../../chain-specs/coretime-rococo.json")[..], - )?)), - CoretimeRuntimeType::RococoLocal => - Ok(Box::new(rococo::local_config(*self, "rococo-local"))), - CoretimeRuntimeType::RococoDevelopment => - Ok(Box::new(rococo::local_config(*self, "rococo-dev"))), CoretimeRuntimeType::Westend => Ok(Box::new(GenericChainSpec::from_json_bytes( &include_bytes!("../../../parachains/chain-specs/coretime-westend.json")[..], )?)), - CoretimeRuntimeType::WestendLocal => - Ok(Box::new(westend::local_config(*self, "westend-local"))), - CoretimeRuntimeType::WestendDevelopment => - Ok(Box::new(westend::local_config(*self, "westend-dev"))), + CoretimeRuntimeType::WestendLocal => { + Ok(Box::new(westend::local_config(*self, "westend-local"))) + }, + CoretimeRuntimeType::WestendDevelopment => { + Ok(Box::new(westend::local_config(*self, "westend-dev"))) + }, other => Err(std::format!( "No default config present for {:?}, you should provide a chain-spec as json file!", other @@ -140,51 +119,6 @@ pub fn chain_type_name(chain_type: &ChainType) -> Cow<'_, str> { .into() } -/// Sub-module for Rococo setup. -pub mod rococo { - use super::{chain_type_name, CoretimeRuntimeType}; - use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec}; - use sc_chain_spec::ChainType; - - pub(crate) const CORETIME_ROCOCO: &str = "coretime-rococo"; - pub(crate) const CORETIME_ROCOCO_LOCAL: &str = "coretime-rococo-local"; - pub(crate) const CORETIME_ROCOCO_DEVELOPMENT: &str = "coretime-rococo-dev"; - - pub fn local_config(runtime_type: CoretimeRuntimeType, relay_chain: &str) -> GenericChainSpec { - // Rococo defaults - let mut properties = sc_chain_spec::Properties::new(); - properties.insert("ss58Format".into(), 42.into()); - properties.insert("tokenSymbol".into(), "ROC".into()); - properties.insert("tokenDecimals".into(), 12.into()); - - let chain_type = runtime_type.into(); - let chain_name = format!("Coretime Rococo {}", chain_type_name(&chain_type)); - - let wasm_binary = if matches!(chain_type, ChainType::Local | ChainType::Development) { - coretime_rococo_runtime::fast_runtime_binary::WASM_BINARY - .expect("WASM binary was not built, please build it!") - } else { - coretime_rococo_runtime::WASM_BINARY - .expect("WASM binary was not built, please build it!") - }; - - GenericChainSpec::builder( - wasm_binary, - Extensions::new_with_relay_chain(relay_chain.to_string()), - ) - .with_name(&chain_name) - .with_id(runtime_type.into()) - .with_chain_type(chain_type.clone()) - .with_genesis_config_preset_name(match chain_type { - ChainType::Development => sp_genesis_builder::DEV_RUNTIME_PRESET, - ChainType::Local => sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET, - _ => panic!("chain_type: {chain_type:?} not supported here!"), - }) - .with_properties(properties) - .build() - } -} - /// Sub-module for Westend setup. pub mod westend { use super::{chain_type_name, CoretimeRuntimeType, GenericChainSpec}; diff --git a/cumulus/polkadot-parachain/src/chain_spec/mod.rs b/cumulus/polkadot-parachain/src/chain_spec/mod.rs index cfcafbfa57783..c8e1891f395c4 100644 --- a/cumulus/polkadot-parachain/src/chain_spec/mod.rs +++ b/cumulus/polkadot-parachain/src/chain_spec/mod.rs @@ -15,12 +15,7 @@ // limitations under the License. use cumulus_primitives_core::ParaId; -use polkadot_omni_node_lib::{ - chain_spec::{GenericChainSpec, LoadSpec}, - runtime::{ - AuraConsensusId, BlockNumber, Consensus, Runtime, RuntimeResolver as RuntimeResolverT, - }, -}; +use polkadot_omni_node_lib::chain_spec::{GenericChainSpec, LoadSpec}; use sc_chain_spec::{ChainSpec, ChainType}; use yet_another_parachain::yet_another_parachain_config; @@ -31,7 +26,6 @@ pub mod coretime; pub mod glutton; pub mod penpal; pub mod people; -pub mod rococo_parachain; pub mod yet_another_parachain; /// Extracts the normalized chain id and parachain id from the input chain id. @@ -58,7 +52,7 @@ impl LoadSpec for ChainSpecLoader { fn load_spec(&self, id: &str) -> Result, String> { Ok(match id { // - Default-like - "staging" => Box::new(rococo_parachain::staging_rococo_parachain_local_config()), + "staging" => Box::new(penpal::staging_penpal_local_config()), "tick" => Box::new(GenericChainSpec::from_json_bytes( &include_bytes!("../../chain-specs/tick.json")[..], )?), @@ -89,13 +83,16 @@ impl LoadSpec for ChainSpecLoader { )?), // -- Asset Hub Westend - "asset-hub-westend-dev" | "westmint-dev" => - Box::new(asset_hubs::asset_hub_westend_development_config()), - "asset-hub-westend-local" | "westmint-local" => - Box::new(asset_hubs::asset_hub_westend_local_config()), + "asset-hub-westend-dev" | "westmint-dev" => { + Box::new(asset_hubs::asset_hub_westend_development_config()) + }, + "asset-hub-westend-local" | "westmint-local" => { + Box::new(asset_hubs::asset_hub_westend_local_config()) + }, // the chain spec as used for generating the upgrade genesis values - "asset-hub-westend-genesis" | "westmint-genesis" => - Box::new(asset_hubs::asset_hub_westend_config()), + "asset-hub-westend-genesis" | "westmint-genesis" => { + Box::new(asset_hubs::asset_hub_westend_config()) + }, // the shell-based chain spec as used for syncing "asset-hub-westend" | "westmint" => Box::new(GenericChainSpec::from_json_bytes( &include_bytes!("../../chain-specs/asset-hub-westend.json")[..], @@ -107,10 +104,12 @@ impl LoadSpec for ChainSpecLoader { )?), // -- Westend Collectives - "collectives-westend-dev" => - Box::new(collectives::collectives_westend_development_config()), - "collectives-westend-local" => - Box::new(collectives::collectives_westend_local_config()), + "collectives-westend-dev" => { + Box::new(collectives::collectives_westend_development_config()) + }, + "collectives-westend-local" => { + Box::new(collectives::collectives_westend_local_config()) + }, "collectives-westend" => Box::new(GenericChainSpec::from_json_bytes( &include_bytes!("../../chain-specs/collectives-westend.json")[..], )?), @@ -118,18 +117,22 @@ impl LoadSpec for ChainSpecLoader { // -- BridgeHub bridge_like_id if bridge_like_id.starts_with(bridge_hubs::BridgeHubRuntimeType::ID_PREFIX) => + { bridge_like_id .parse::() .expect("invalid value") - .load_config()?, + .load_config()? + }, // -- Coretime coretime_like_id if coretime_like_id.starts_with(coretime::CoretimeRuntimeType::ID_PREFIX) => + { coretime_like_id .parse::() .expect("invalid value") - .load_config()?, + .load_config()? + }, // -- Penpal id if id.starts_with("penpal-rococo") => { @@ -194,16 +197,19 @@ impl LoadSpec for ChainSpecLoader { }, // -- People - people_like_id if people_like_id.starts_with(people::PeopleRuntimeType::ID_PREFIX) => + people_like_id if people_like_id.starts_with(people::PeopleRuntimeType::ID_PREFIX) => { people_like_id .parse::() .expect("invalid value") - .load_config()?, + .load_config()? + }, // -- Fallback (generic chainspec) "" => { - log::warn!("No ChainSpec.id specified, so using default one, based on rococo-parachain runtime"); - Box::new(rococo_parachain::rococo_parachain_local_config()) + log::warn!( + "No ChainSpec.id specified, so using default one, based on Penpal runtime" + ); + Box::new(penpal::staging_penpal_local_config()) }, // -- Loading a specific spec from disk @@ -211,135 +217,3 @@ impl LoadSpec for ChainSpecLoader { }) } } - -/// Helper enum that is used for better distinction of different parachain/runtime configuration -/// (it is based/calculated on ChainSpec's ID attribute) -#[derive(Debug, PartialEq)] -enum LegacyRuntime { - Omni, - AssetHubPolkadot, - AssetHub, - Penpal, - Collectives, - Glutton, - BridgeHub(bridge_hubs::BridgeHubRuntimeType), - Coretime(coretime::CoretimeRuntimeType), - People(people::PeopleRuntimeType), -} - -impl LegacyRuntime { - fn from_id(id: &str) -> LegacyRuntime { - let id = id.replace('_', "-"); - - if id.starts_with("asset-hub-polkadot") | id.starts_with("statemint") { - LegacyRuntime::AssetHubPolkadot - } else if id.starts_with("asset-hub-kusama") | - id.starts_with("statemine") | - id.starts_with("asset-hub-rococo") | - id.starts_with("rockmine") | - id.starts_with("asset-hub-westend") | - id.starts_with("westmint") - { - LegacyRuntime::AssetHub - } else if id.starts_with("penpal") { - LegacyRuntime::Penpal - } else if id.starts_with("collectives-polkadot") || id.starts_with("collectives-westend") { - LegacyRuntime::Collectives - } else if id.starts_with(bridge_hubs::BridgeHubRuntimeType::ID_PREFIX) { - LegacyRuntime::BridgeHub( - id.parse::().expect("Invalid value"), - ) - } else if id.starts_with(coretime::CoretimeRuntimeType::ID_PREFIX) { - LegacyRuntime::Coretime( - id.parse::().expect("Invalid value"), - ) - } else if id.starts_with("glutton") { - LegacyRuntime::Glutton - } else if id.starts_with(people::PeopleRuntimeType::ID_PREFIX) { - LegacyRuntime::People(id.parse::().expect("Invalid value")) - } else { - log::warn!( - "No specific runtime was recognized for ChainSpec's id: '{}', \ - so Runtime::Omni(Consensus::Aura) will be used", - id - ); - LegacyRuntime::Omni - } - } -} - -#[derive(Debug)] -pub(crate) struct RuntimeResolver; - -impl RuntimeResolverT for RuntimeResolver { - fn runtime(&self, chain_spec: &dyn ChainSpec) -> sc_cli::Result { - let legacy_runtime = LegacyRuntime::from_id(chain_spec.id()); - Ok(match legacy_runtime { - LegacyRuntime::AssetHubPolkadot => - Runtime::Omni(BlockNumber::U32, Consensus::Aura(AuraConsensusId::Ed25519)), - LegacyRuntime::AssetHub | - LegacyRuntime::BridgeHub(_) | - LegacyRuntime::Collectives | - LegacyRuntime::Coretime(_) | - LegacyRuntime::People(_) | - LegacyRuntime::Glutton | - LegacyRuntime::Penpal | - LegacyRuntime::Omni => - Runtime::Omni(BlockNumber::U32, Consensus::Aura(AuraConsensusId::Sr25519)), - }) - } -} - -#[cfg(test)] -mod tests { - use super::*; - use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup, ChainType, Extension}; - use serde::{Deserialize, Serialize}; - - #[derive( - Debug, Clone, PartialEq, Serialize, Deserialize, ChainSpecGroup, ChainSpecExtension, Default, - )] - #[serde(deny_unknown_fields)] - pub struct Extensions1 { - pub attribute1: String, - pub attribute2: u32, - } - - #[derive( - Debug, Clone, PartialEq, Serialize, Deserialize, ChainSpecGroup, ChainSpecExtension, Default, - )] - #[serde(deny_unknown_fields)] - pub struct Extensions2 { - pub attribute_x: String, - pub attribute_y: String, - pub attribute_z: u32, - } - - pub type DummyChainSpec = sc_service::GenericChainSpec; - - pub fn create_default_with_extensions( - id: &str, - extension: E, - ) -> DummyChainSpec { - DummyChainSpec::builder( - rococo_parachain_runtime::WASM_BINARY - .expect("WASM binary was not built, please build it!"), - extension, - ) - .with_name("Dummy local testnet") - .with_id(id) - .with_chain_type(ChainType::Local) - .with_genesis_config_preset_name(sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET) - .build() - } - - #[test] - fn test_legacy_runtime_for_different_chain_specs() { - let chain_spec = - create_default_with_extensions("penpal-rococo-1000", Extensions2::default()); - assert_eq!(LegacyRuntime::Penpal, LegacyRuntime::from_id(chain_spec.id())); - - let chain_spec = crate::chain_spec::rococo_parachain::rococo_parachain_local_config(); - assert_eq!(LegacyRuntime::Omni, LegacyRuntime::from_id(chain_spec.id())); - } -} diff --git a/cumulus/polkadot-parachain/src/chain_spec/penpal.rs b/cumulus/polkadot-parachain/src/chain_spec/penpal.rs index 2d9cda5b68f42..750e2ff243fb5 100644 --- a/cumulus/polkadot-parachain/src/chain_spec/penpal.rs +++ b/cumulus/polkadot-parachain/src/chain_spec/penpal.rs @@ -15,8 +15,11 @@ // limitations under the License. use cumulus_primitives_core::ParaId; +use hex_literal::hex; +use parachains_common::{AccountId, AuraId}; use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec}; use sc_service::ChainType; +use sp_core::crypto::UncheckedInto; pub fn get_penpal_chain_spec(id: ParaId, relay_chain: &str) -> GenericChainSpec { // Give your base currency a unit name and decimal places @@ -40,3 +43,46 @@ pub fn get_penpal_chain_spec(id: ParaId, relay_chain: &str) -> GenericChainSpec })) .build() } + +pub fn staging_penpal_local_config() -> GenericChainSpec { + GenericChainSpec::builder( + penpal_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), + Extensions::new_with_relay_chain("rococo-local".into()), + ) + .with_name("Staging Rococo Penpal Local") + .with_id("staging_testnet") + .with_chain_type(ChainType::Live) + .with_genesis_config_preset_name(sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET) + .with_genesis_config_patch(testnet_genesis_patch( + hex!["9ed7705e3c7da027ba0583a22a3212042f7e715d3c168ba14f1424e2bc111d00"].into(), + vec![ + // $secret//one + hex!["aad9fa2249f87a210a0f93400b7f90e47b810c6d65caa0ca3f5af982904c2a33"] + .unchecked_into(), + // $secret//two + hex!["d47753f0cca9dd8da00c70e82ec4fc5501a69c49a5952a643d18802837c88212"] + .unchecked_into(), + ], + vec![hex!["9ed7705e3c7da027ba0583a22a3212042f7e715d3c168ba14f1424e2bc111d00"].into()], + 1000.into(), + )) + .build() +} + +pub(crate) fn testnet_genesis_patch( + root_key: AccountId, + initial_authorities: Vec, + endowed_accounts: Vec, + id: ParaId, +) -> serde_json::Value { + serde_json::json!({ + "balances": { + "balances": endowed_accounts.iter().cloned().map(|k| (k, 1u64 << 60)).collect::>(), + }, + "sudo": { "key": Some(root_key) }, + "parachainInfo": { + "parachainId": id, + }, + "aura": { "authorities": initial_authorities }, + }) +} diff --git a/cumulus/polkadot-parachain/src/chain_spec/people.rs b/cumulus/polkadot-parachain/src/chain_spec/people.rs index 6735a15973df9..306676832ebca 100644 --- a/cumulus/polkadot-parachain/src/chain_spec/people.rs +++ b/cumulus/polkadot-parachain/src/chain_spec/people.rs @@ -25,9 +25,6 @@ pub enum PeopleRuntimeType { KusamaLocal, Polkadot, PolkadotLocal, - Rococo, - RococoLocal, - RococoDevelopment, Westend, WestendLocal, WestendDevelopment, @@ -42,9 +39,6 @@ impl FromStr for PeopleRuntimeType { kusama::PEOPLE_KUSAMA_LOCAL => Ok(PeopleRuntimeType::KusamaLocal), polkadot::PEOPLE_POLKADOT => Ok(PeopleRuntimeType::Polkadot), polkadot::PEOPLE_POLKADOT_LOCAL => Ok(PeopleRuntimeType::PolkadotLocal), - rococo::PEOPLE_ROCOCO => Ok(PeopleRuntimeType::Rococo), - rococo::PEOPLE_ROCOCO_LOCAL => Ok(PeopleRuntimeType::RococoLocal), - rococo::PEOPLE_ROCOCO_DEVELOPMENT => Ok(PeopleRuntimeType::RococoDevelopment), westend::PEOPLE_WESTEND => Ok(PeopleRuntimeType::Westend), westend::PEOPLE_WESTEND_LOCAL => Ok(PeopleRuntimeType::WestendLocal), westend::PEOPLE_WESTEND_DEVELOPMENT => Ok(PeopleRuntimeType::WestendDevelopment), @@ -64,21 +58,6 @@ impl PeopleRuntimeType { PeopleRuntimeType::Polkadot => Ok(Box::new(GenericChainSpec::from_json_bytes( &include_bytes!("../../chain-specs/people-polkadot.json")[..], )?)), - PeopleRuntimeType::Rococo => Ok(Box::new(GenericChainSpec::from_json_bytes( - &include_bytes!("../../chain-specs/people-rococo.json")[..], - )?)), - PeopleRuntimeType::RococoLocal => Ok(Box::new(rococo::local_config( - rococo::PEOPLE_ROCOCO_LOCAL, - "Rococo People Local", - "rococo-local", - ChainType::Local, - ))), - PeopleRuntimeType::RococoDevelopment => Ok(Box::new(rococo::local_config( - rococo::PEOPLE_ROCOCO_DEVELOPMENT, - "Rococo People Development", - "rococo-development", - ChainType::Development, - ))), PeopleRuntimeType::Westend => Ok(Box::new(GenericChainSpec::from_json_bytes( &include_bytes!("../../chain-specs/people-westend.json")[..], )?)), @@ -115,44 +94,6 @@ fn ensure_id(id: &str) -> Result<&str, String> { } } -/// Sub-module for Rococo setup. -pub mod rococo { - use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec}; - use sc_chain_spec::ChainType; - - pub(crate) const PEOPLE_ROCOCO: &str = "people-rococo"; - pub(crate) const PEOPLE_ROCOCO_LOCAL: &str = "people-rococo-local"; - pub(crate) const PEOPLE_ROCOCO_DEVELOPMENT: &str = "people-rococo-dev"; - - pub fn local_config( - spec_id: &str, - chain_name: &str, - relay_chain: &str, - chain_type: ChainType, - ) -> GenericChainSpec { - let mut properties = sc_chain_spec::Properties::new(); - properties.insert("ss58Format".into(), 42.into()); - properties.insert("tokenSymbol".into(), "ROC".into()); - properties.insert("tokenDecimals".into(), 12.into()); - - GenericChainSpec::builder( - people_rococo_runtime::WASM_BINARY - .expect("WASM binary was not built, please build it!"), - Extensions::new_with_relay_chain(relay_chain.to_string()), - ) - .with_name(chain_name) - .with_id(super::ensure_id(spec_id).expect("invalid id")) - .with_chain_type(chain_type.clone()) - .with_genesis_config_preset_name(match chain_type { - ChainType::Development => sp_genesis_builder::DEV_RUNTIME_PRESET, - ChainType::Local => sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET, - _ => panic!("chain_type: {chain_type:?} not supported here!"), - }) - .with_properties(properties) - .build() - } -} - /// Sub-module for Westend setup. pub mod westend { use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec}; diff --git a/cumulus/polkadot-parachain/src/chain_spec/rococo_parachain.rs b/cumulus/polkadot-parachain/src/chain_spec/rococo_parachain.rs deleted file mode 100644 index dc6a3b6666277..0000000000000 --- a/cumulus/polkadot-parachain/src/chain_spec/rococo_parachain.rs +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! ChainSpecs dedicated to Rococo parachain setups (for testing and example purposes) - -use cumulus_primitives_core::ParaId; -use hex_literal::hex; -use parachains_common::AccountId; -use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec}; -use rococo_parachain_runtime::AuraId; -use sc_chain_spec::ChainType; -use sp_core::crypto::UncheckedInto; - -pub fn rococo_parachain_local_config() -> GenericChainSpec { - GenericChainSpec::builder( - rococo_parachain_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), - Extensions::new_with_relay_chain("rococo-local".into()), - ) - .with_name("Rococo Parachain Local") - .with_id("local_testnet") - .with_chain_type(ChainType::Local) - .with_genesis_config_preset_name(sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET) - .build() -} - -pub fn staging_rococo_parachain_local_config() -> GenericChainSpec { - GenericChainSpec::builder( - rococo_parachain_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), - Extensions::new_with_relay_chain("rococo-local".into()), - ) - .with_name("Staging Rococo Parachain Local") - .with_id("staging_testnet") - .with_chain_type(ChainType::Live) - .with_genesis_config_preset_name(sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET) - .with_genesis_config_patch(testnet_genesis_patch( - hex!["9ed7705e3c7da027ba0583a22a3212042f7e715d3c168ba14f1424e2bc111d00"].into(), - vec![ - // $secret//one - hex!["aad9fa2249f87a210a0f93400b7f90e47b810c6d65caa0ca3f5af982904c2a33"] - .unchecked_into(), - // $secret//two - hex!["d47753f0cca9dd8da00c70e82ec4fc5501a69c49a5952a643d18802837c88212"] - .unchecked_into(), - ], - vec![hex!["9ed7705e3c7da027ba0583a22a3212042f7e715d3c168ba14f1424e2bc111d00"].into()], - 1000.into(), - )) - .build() -} - -pub(crate) fn testnet_genesis_patch( - root_key: AccountId, - initial_authorities: Vec, - endowed_accounts: Vec, - id: ParaId, -) -> serde_json::Value { - serde_json::json!({ - "balances": { - "balances": endowed_accounts.iter().cloned().map(|k| (k, 1u64 << 60)).collect::>(), - }, - "sudo": { "key": Some(root_key) }, - "parachainInfo": { - "parachainId": id, - }, - "aura": { "authorities": initial_authorities }, - }) -} diff --git a/cumulus/polkadot-parachain/src/main.rs b/cumulus/polkadot-parachain/src/main.rs index 13fc7224f28bd..52ba1944e3655 100644 --- a/cumulus/polkadot-parachain/src/main.rs +++ b/cumulus/polkadot-parachain/src/main.rs @@ -19,9 +19,15 @@ #![warn(missing_docs)] #![warn(unused_extern_crates)] +// Force the linker to keep the polkadot_jemalloc_shim crate (and its #[global_allocator]). +#[cfg(target_os = "linux")] +extern crate polkadot_jemalloc_shim; + mod chain_spec; -use polkadot_omni_node_lib::{run, CliConfig as CliConfigT, RunConfig, NODE_VERSION}; +use polkadot_omni_node_lib::{ + run, runtime::DefaultRuntimeResolver, CliConfig as CliConfigT, RunConfig, NODE_VERSION, +}; struct CliConfig; @@ -46,10 +52,8 @@ impl CliConfigT for CliConfig { fn main() -> color_eyre::eyre::Result<()> { color_eyre::install()?; - let config = RunConfig::new( - Box::new(chain_spec::RuntimeResolver), - Box::new(chain_spec::ChainSpecLoader), - ); + let config = + RunConfig::new(Box::new(DefaultRuntimeResolver), Box::new(chain_spec::ChainSpecLoader)); // This enables polkadot-parachain to support additional subcommands like `export-chain-spec`. // To add more, extend the `ExtraSubcommands` enum in // `cumulus/polkadot-omni-node/lib/src/extra_subcommand` and handle them in diff --git a/cumulus/primitives/core/src/lib.rs b/cumulus/primitives/core/src/lib.rs index 774961b6b7e6b..f16598e6e0224 100644 --- a/cumulus/primitives/core/src/lib.rs +++ b/cumulus/primitives/core/src/lib.rs @@ -280,7 +280,7 @@ impl CumulusDigestItem { let Ok(CumulusDigestItem::CoreInfo(core_info)) = CumulusDigestItem::decode_all(&mut &val[..]) else { - return None + return None; }; Some(core_info) @@ -326,7 +326,7 @@ impl CumulusDigestItem { let Ok(CumulusDigestItem::RelayParent(hash)) = CumulusDigestItem::decode_all(&mut &val[..]) else { - return None + return None; }; Some(RelayBlockIdentifier::ByHash(hash)) @@ -335,7 +335,7 @@ impl CumulusDigestItem { let Ok((storage_root, block_number)) = rpsr_digest::RpsrType::decode_all(&mut &val[..]) else { - return None + return None; }; Some(RelayBlockIdentifier::ByStorageRoot { @@ -348,16 +348,16 @@ impl CumulusDigestItem { } } -/// /// If there are multiple valid digests, this returns the value of the first one, although /// well-behaving runtimes should not produce headers with more than one. pub fn extract_relay_parent(digest: &Digest) -> Option { digest.convert_first(|d| match d { - DigestItem::Consensus(id, val) if id == &CUMULUS_CONSENSUS_ID => + DigestItem::Consensus(id, val) if id == &CUMULUS_CONSENSUS_ID => { match CumulusDigestItem::decode(&mut &val[..]) { Ok(CumulusDigestItem::RelayParent(hash)) => Some(hash), _ => None, - }, + } + }, _ => None, }) } @@ -466,6 +466,33 @@ pub struct CollationInfo { pub head_data: HeadData, } +/// A relay chain storage key to be included in the storage proof. +#[derive(Clone, Debug, Encode, Decode, TypeInfo, PartialEq, Eq)] +pub enum RelayStorageKey { + /// Top-level relay chain storage key. + Top(Vec), + /// Child trie storage key. + Child { + /// Unprefixed storage key identifying the child trie root location. + /// Prefix `:child_storage:default:` is added when accessing storage. + /// Used to derive `ChildInfo` for reading child trie data. + /// Usage: let child_info = ChildInfo::new_default(&storage_key); + storage_key: Vec, + /// Key within the child trie. + key: Vec, + }, +} + +/// Request for proving relay chain storage data. +/// +/// Contains a list of storage keys (either top-level or child trie keys) +/// to be included in the relay chain state proof. +#[derive(Clone, Debug, Encode, Decode, TypeInfo, PartialEq, Eq, Default)] +pub struct RelayProofRequest { + /// Storage keys to include in the relay chain state proof. + pub keys: Vec, +} + sp_api::decl_runtime_apis! { /// Runtime api to collect information about a collation. /// @@ -513,4 +540,15 @@ sp_api::decl_runtime_apis! { /// Returns the target number of blocks per relay chain slot. fn target_block_rate() -> u32; } + + /// API for specifying which relay chain storage data to include in storage proofs. + /// + /// This API allows parachains to request both top-level relay chain storage keys + /// and child trie storage keys to be included in the relay chain state proof. + pub trait KeyToIncludeInRelayProof { + /// Returns relay chain storage proof requests. + /// + /// The collator will include them in the relay chain proof that is passed alongside the parachain inherent into the runtime. + fn keys_to_prove() -> RelayProofRequest; + } } diff --git a/cumulus/primitives/core/src/parachain_block_data.rs b/cumulus/primitives/core/src/parachain_block_data.rs index 471b70b1f2765..85ec566960541 100644 --- a/cumulus/primitives/core/src/parachain_block_data.rs +++ b/cumulus/primitives/core/src/parachain_block_data.rs @@ -180,7 +180,7 @@ impl ParachainBlockData { Self::V0 { .. } => Some(self.clone()), Self::V1 { blocks, proof } => { if blocks.len() != 1 { - return None + return None; } blocks diff --git a/cumulus/primitives/storage-weight-reclaim/src/lib.rs b/cumulus/primitives/storage-weight-reclaim/src/lib.rs index 0e4afc439de64..bb8bf1360ac51 100644 --- a/cumulus/primitives/storage-weight-reclaim/src/lib.rs +++ b/cumulus/primitives/storage-weight-reclaim/src/lib.rs @@ -176,7 +176,7 @@ where target: LOG_TARGET, "Proof recording enabled during pre-dispatch, now disabled. This should not happen." ); - return Ok(Weight::zero()) + return Ok(Weight::zero()); }; // Unspent weight according to the `actual_weight` from `PostDispatchInfo` // This unspent weight will be refunded by the `CheckWeight` extension, so we need to @@ -187,8 +187,8 @@ where let storage_size_diff = benchmarked_weight.abs_diff(consumed_weight as u64); - let extrinsic_len = frame_system::AllExtrinsicsLen::::get().unwrap_or(0); - let node_side_pov_size = post_dispatch_proof_size.saturating_add(extrinsic_len.into()); + let block_size = frame_system::BlockSize::::get().unwrap_or(0); + let node_side_pov_size = post_dispatch_proof_size.saturating_add(block_size.into()); // This value will be reclaimed by [`frame_system::CheckWeight`], so we need to calculate // that in. @@ -217,7 +217,7 @@ where if missing_from_node > 0 { log::debug!( target: LOG_TARGET, - "Node-side PoV size higher than runtime proof size weight. node-side: {node_side_pov_size} extrinsic_len: {extrinsic_len} runtime: {block_weight_proof_size}, missing: {missing_from_node}. Setting to node-side proof size." + "Node-side PoV size higher than runtime proof size weight. node-side: {node_side_pov_size} block_size: {block_size} runtime: {block_weight_proof_size}, missing: {missing_from_node}. Setting to node-side proof size." ); current.accrue(Weight::from_parts(0, missing_from_node), info.class); } diff --git a/cumulus/primitives/utility/src/lib.rs b/cumulus/primitives/utility/src/lib.rs index 60b925c69453b..4c52c20069119 100644 --- a/cumulus/primitives/utility/src/lib.rs +++ b/cumulus/primitives/utility/src/lib.rs @@ -21,32 +21,36 @@ extern crate alloc; -use alloc::{vec, vec::Vec}; +use alloc::{boxed::Box, vec, vec::Vec}; use codec::Encode; use core::marker::PhantomData; use cumulus_primitives_core::{MessageSendError, UpwardMessageSender}; use frame_support::{ defensive, - traits::{tokens::fungibles, Get, OnUnbalanced as OnUnbalancedT}, + traits::{ + tokens::{fungibles, imbalance::UnsafeManualAccounting}, + Get, OnUnbalanced as OnUnbalancedT, + }, weights::{Weight, WeightToFee as WeightToFeeT}, - CloneNoBound, }; -use pallet_asset_conversion::SwapCredit as SwapCreditT; +use pallet_asset_conversion::{QuotePrice, SwapCredit as SwapCreditT}; use polkadot_runtime_common::xcm_sender::PriceForMessageDelivery; -use sp_runtime::{ - traits::{Saturating, Zero}, - SaturatedConversion, -}; +use sp_runtime::traits::Zero; use xcm::{latest::prelude::*, VersionedLocation, VersionedXcm, WrapVersion}; -use xcm_builder::{InspectMessageQueues, TakeRevenue}; +use xcm_builder::InspectMessageQueues; use xcm_executor::{ - traits::{MatchesFungibles, TransactAsset, WeightTrader}, + traits::{MatchesFungibles, WeightTrader}, AssetsInHolding, }; #[cfg(test)] mod tests; +#[cfg(test)] +mod test_helpers { + pub use xcm_executor::test_helpers::mock_asset_to_holding as asset_to_holding; +} + /// Xcm router which recognises the `Parent` destination and handles it by sending the message into /// the given UMP `UpwardMessageSender` implementation. Thus this essentially adapts an /// `UpwardMessageSender` trait impl into a `SendXcm` trait impl. @@ -55,6 +59,7 @@ mod tests; /// to UMP eventually and when we do, the pallet which implements the queuing will be responsible /// for the `SendXcm` implementation. pub struct ParentAsUmp(PhantomData<(T, W, P)>); + impl SendXcm for ParentAsUmp where T: UpwardMessageSender, @@ -123,15 +128,6 @@ impl InspectMessageQueues } } -/// Contains information to handle refund/payment for xcm-execution -#[derive(Clone, Eq, PartialEq, Debug)] -struct AssetTraderRefunder { - // The amount of weight bought minus the weigh already refunded - weight_outstanding: Weight, - // The concrete asset containing the asset location and outstanding balance - outstanding_concrete_asset: Asset, -} - /// Charges for execution in the first asset of those selected for fee payment /// Only succeeds for Concrete Fungible Assets /// First tries to convert the this Asset into a local assetId @@ -140,28 +136,35 @@ struct AssetTraderRefunder { /// later refund purposes /// Important: Errors if the Trader is being called twice by 2 BuyExecution instructions /// Alternatively we could just return payment in the aforementioned case -#[derive(CloneNoBound)] pub struct TakeFirstAssetTrader< AccountId: Eq, - FeeCharger: ChargeWeightInFungibles, - Matcher: MatchesFungibles, - ConcreteAssets: fungibles::Mutate + fungibles::Balanced, - HandleRefund: TakeRevenue, ->( - Option, - PhantomData<(AccountId, FeeCharger, Matcher, ConcreteAssets, HandleRefund)>, -); + FeeCharger: ChargeWeightInFungibles, + Matcher: MatchesFungibles, + Fungibles: fungibles::Balanced, + OnUnbalanced: OnUnbalancedT>, +> { + /// Accumulated fee paid for XCM execution. + outstanding_credit: Option>, + /// The amount of weight bought minus the weight already refunded + weight_outstanding: Weight, + _phantom_data: PhantomData<(AccountId, FeeCharger, Matcher, Fungibles, OnUnbalanced)>, +} + impl< AccountId: Eq, - FeeCharger: ChargeWeightInFungibles, - Matcher: MatchesFungibles, - ConcreteAssets: fungibles::Mutate + fungibles::Balanced, - HandleRefund: TakeRevenue, - > WeightTrader - for TakeFirstAssetTrader + FeeCharger: ChargeWeightInFungibles, + Matcher: MatchesFungibles, + Fungibles: fungibles::Inspect + 'static> + + fungibles::Balanced, + OnUnbalanced: OnUnbalancedT>, + > WeightTrader for TakeFirstAssetTrader { fn new() -> Self { - Self(None, PhantomData) + Self { + outstanding_credit: None, + weight_outstanding: Weight::zero(), + _phantom_data: PhantomData, + } } // We take first asset // Check whether we can convert fee to asset_fee (is_sufficient, min_deposit) @@ -169,156 +172,157 @@ impl< fn buy_weight( &mut self, weight: Weight, - payment: xcm_executor::AssetsInHolding, + mut payment: AssetsInHolding, context: &XcmContext, - ) -> Result { + ) -> Result { log::trace!(target: "xcm::weight", "TakeFirstAssetTrader::buy_weight weight: {:?}, payment: {:?}, context: {:?}", weight, payment, context); // Make sure we don't enter twice - if self.0.is_some() { - return Err(XcmError::NotWithdrawable) + if self.outstanding_credit.is_some() { + return Err((payment, XcmError::NotWithdrawable)); } // We take the very first asset from payment - // (assets are sorted by fungibility/amount after this conversion) - let assets: Assets = payment.clone().into(); - - // Take the first asset from the selected Assets - let first = assets.get(0).ok_or(XcmError::AssetNotFound)?; + let Some(used) = payment.fungible_assets_iter().next() else { + return Err((payment, XcmError::AssetNotFound)); + }; // Get the local asset id in which we can pay for fees - let (local_asset_id, _) = - Matcher::matches_fungibles(first).map_err(|_| XcmError::AssetNotFound)?; + let Ok((fungibles_asset_id, _)) = Matcher::matches_fungibles(&used) else { + return Err((payment, XcmError::AssetNotFound)); + }; // Calculate how much we should charge in the asset_id for such amount of weight // Require at least a payment of minimum_balance // Necessary for fully collateral-backed assets - let asset_balance: u128 = - FeeCharger::charge_weight_in_fungibles(local_asset_id.clone(), weight) - .map(|amount| { - let minimum_balance = ConcreteAssets::minimum_balance(local_asset_id); - if amount < minimum_balance { - minimum_balance - } else { - amount - } - })? - .try_into() - .map_err(|_| XcmError::Overflow)?; + let required_amount: u128 = + match FeeCharger::charge_weight_in_fungibles(fungibles_asset_id.clone(), weight) + .map(|amount| amount.max(Fungibles::minimum_balance(fungibles_asset_id.clone()))) + { + Ok(a) => a, + Err(_) => return Err((payment, XcmError::Overflow)), + }; // Convert to the same kind of asset, with the required fungible balance - let required = first.id.clone().into_asset(asset_balance.into()); - - // Subtract payment - let unused = payment.checked_sub(required.clone()).map_err(|_| XcmError::TooExpensive)?; + let required = used.id.into_asset(required_amount.into()); + + // Subtract required from payment. + // Note: `payment` may contain multiple assets, but we only take from the first fungible + // asset that was matched above. Any remaining assets stay in `payment` and are returned. + let Some(imbalance) = payment + .try_take(required.into()) + .ok() + .and_then(|taken| taken.fungible.into_iter().next().map(|(_, v)| v)) + else { + return Err((payment, XcmError::TooExpensive)); + }; + // "manually" build the concrete credit and move the imbalance there. + let mut credit = fungibles::Credit::::zero(fungibles_asset_id); + credit.saturating_subsume(imbalance); - // record weight and asset - self.0 = Some(AssetTraderRefunder { - weight_outstanding: weight, - outstanding_concrete_asset: required, - }); + // Record weight and credit. + self.outstanding_credit = Some(credit); + self.weight_outstanding = weight; - Ok(unused) + // return the unused payment + Ok(payment) } - fn refund_weight(&mut self, weight: Weight, context: &XcmContext) -> Option { + /// Refunds unused weight back to holding. + /// + /// Note: This is a best-effort refund. The actual refunded amount may differ from the + /// weight-equivalent amount due to existential deposit (ED) constraints. Specifically: + /// - If refunding the full amount would leave less than ED in outstanding credit, we only + /// refund enough to keep ED for the drop handler. + /// - This ensures collateral-backed assets always have sufficient balance for proper cleanup. + fn refund_weight(&mut self, weight: Weight, context: &XcmContext) -> Option { log::trace!(target: "xcm::weight", "TakeFirstAssetTrader::refund_weight weight: {:?}, context: {:?}", weight, context); - if let Some(AssetTraderRefunder { - mut weight_outstanding, - outstanding_concrete_asset: Asset { id, fun }, - }) = self.0.clone() - { - // Get the local asset id in which we can refund fees - let (local_asset_id, outstanding_balance) = - Matcher::matches_fungibles(&(id.clone(), fun).into()).ok()?; - - let minimum_balance = ConcreteAssets::minimum_balance(local_asset_id.clone()); - - // Calculate asset_balance - // This read should have already be cached in buy_weight - let (asset_balance, outstanding_minus_subtracted) = - FeeCharger::charge_weight_in_fungibles(local_asset_id, weight).ok().map( - |asset_balance| { - // Require at least a drop of minimum_balance - // Necessary for fully collateral-backed assets - if outstanding_balance.saturating_sub(asset_balance) > minimum_balance { - (asset_balance, outstanding_balance.saturating_sub(asset_balance)) - } - // If the amount to be refunded leaves the remaining balance below ED, - // we just refund the exact amount that guarantees at least ED will be - // dropped - else { - (outstanding_balance.saturating_sub(minimum_balance), minimum_balance) - } - }, - )?; - - // Convert balances into u128 - let outstanding_minus_subtracted: u128 = outstanding_minus_subtracted.saturated_into(); - let asset_balance: u128 = asset_balance.saturated_into(); - - // Construct outstanding_concrete_asset with the same location id and subtracted - // balance - let outstanding_concrete_asset: Asset = - (id.clone(), outstanding_minus_subtracted).into(); - - // Subtract from existing weight and balance - weight_outstanding = weight_outstanding.saturating_sub(weight); - - // Override AssetTraderRefunder - self.0 = Some(AssetTraderRefunder { weight_outstanding, outstanding_concrete_asset }); + if weight.is_zero() { + return None; + } + let outstanding_credit = self.outstanding_credit.as_mut()?; + let id = outstanding_credit.asset(); + let fun = Fungible(outstanding_credit.peek()); + let asset = (id.clone(), fun).into(); + + // Get the local asset id in which we can refund fees. + let (fungibles_asset_id, _) = Matcher::matches_fungibles(&asset).ok()?; + let minimum_balance = Fungibles::minimum_balance(fungibles_asset_id.clone()); + + // Calculate how much to refund based on unused weight. + // This read should have already been cached in buy_weight. + let refund_credit = FeeCharger::charge_weight_in_fungibles(fungibles_asset_id, weight) + .ok() + .map(|refund_balance| { + // Ensure at least minimum_balance remains for the drop handler. + // This is necessary for fully collateral-backed assets. + if outstanding_credit.peek().saturating_sub(refund_balance) >= minimum_balance { + outstanding_credit.extract(refund_balance) + } else { + // If refunding would leave less than ED, we refund ED to ensure the + // OnUnbalanced handler receives at least ED when this trader is dropped. + // This prevents dust amounts that can't be properly handled. + outstanding_credit.extract(minimum_balance) + } + })?; + // Subtract the refunded weight from existing weight. + self.weight_outstanding = self.weight_outstanding.saturating_sub(weight); - // Only refund if positive - if asset_balance > 0 { - Some((id, asset_balance).into()) - } else { - None - } + // Only return refund if non-zero. + if refund_credit.peek() != Zero::zero() { + Some(AssetsInHolding::new_from_fungible_credit(asset.id, Box::new(refund_credit))) } else { None } } -} -impl< - AccountId: Eq, - FeeCharger: ChargeWeightInFungibles, - Matcher: MatchesFungibles, - ConcreteAssets: fungibles::Mutate + fungibles::Balanced, - HandleRefund: TakeRevenue, - > Drop for TakeFirstAssetTrader -{ - fn drop(&mut self) { - if let Some(asset_trader) = self.0.clone() { - HandleRefund::take_revenue(asset_trader.outstanding_concrete_asset); + fn quote_weight( + &mut self, + weight: Weight, + given_id: AssetId, + context: &XcmContext, + ) -> Result { + log::trace!( + target: "xcm::weight", + "TakeFirstAssetTrader::quote_weight weight: {:?}, given_id: {:?}, context: {:?}", + weight, given_id, context + ); + if weight.is_zero() { + return Err(XcmError::NoDeal); } + + let give_matcher: Asset = (given_id.clone(), 1).into(); + // Get the local asset id in which we can pay for fees + let (give_fungibles_id, _) = + Matcher::matches_fungibles(&give_matcher).map_err(|_| XcmError::AssetNotFound)?; + + // Calculate how much we should charge in the asset_id for such amount of weight + // Require at least a payment of minimum_balance + // Necessary for fully collateral-backed assets + let required_amount: u128 = + FeeCharger::charge_weight_in_fungibles(give_fungibles_id.clone(), weight) + .map(|amount| amount.max(Fungibles::minimum_balance(give_fungibles_id.clone()))) + .map_err(|_| XcmError::Overflow)?; + + // Convert to the same kind of asset, with the required fungible balance + let required = given_id.into_asset(required_amount.into()); + Ok(required) } } -/// XCM fee depositor to which we implement the `TakeRevenue` trait. -/// It receives a `Transact` implemented argument and a 32 byte convertible `AccountId`, and the fee -/// receiver account's `FungiblesMutateAdapter` should be identical to that implemented by -/// `WithdrawAsset`. -pub struct XcmFeesTo32ByteAccount( - PhantomData<(FungiblesMutateAdapter, AccountId, ReceiverAccount)>, -); impl< - FungiblesMutateAdapter: TransactAsset, - AccountId: Clone + Into<[u8; 32]>, - ReceiverAccount: Get>, - > TakeRevenue for XcmFeesTo32ByteAccount + AccountId: Eq, + FeeCharger: ChargeWeightInFungibles, + Matcher: MatchesFungibles, + Fungibles: fungibles::Balanced, + OnUnbalanced: OnUnbalancedT>, + > Drop for TakeFirstAssetTrader { - fn take_revenue(revenue: Asset) { - if let Some(receiver) = ReceiverAccount::get() { - let ok = FungiblesMutateAdapter::deposit_asset( - &revenue, - &([AccountId32 { network: None, id: receiver.into() }].into()), - None, - ) - .is_ok(); - - debug_assert!(ok, "`deposit_asset` cannot generally fail; qed"); - } + fn drop(&mut self) { + self.outstanding_credit + .take() + .filter(|credit| !credit.peek().is_zero()) + .map(OnUnbalanced::on_unbalanced); } } @@ -350,18 +354,18 @@ pub trait ChargeWeightInFungibles, SwapCredit: SwapCreditT< - AccountId, - Balance = Fungibles::Balance, - AssetKind = Fungibles::AssetId, - Credit = fungibles::Credit, - >, + AccountId, + Balance = Fungibles::Balance, + AssetKind = Fungibles::AssetId, + Credit = fungibles::Credit, + > + QuotePrice, WeightToFee: WeightToFeeT, Fungibles: fungibles::Balanced, FungiblesAssetMatcher: MatchesFungibles, OnUnbalanced: OnUnbalancedT>, AccountId, > where - Fungibles::Balance: Into, + Fungibles::Balance: From + Into, { /// Accumulated fee paid for XCM execution. total_fee: fungibles::Credit, @@ -381,13 +385,18 @@ pub struct SwapFirstAssetTrader< impl< Target: Get, SwapCredit: SwapCreditT< + AccountId, + Balance = Fungibles::Balance, + AssetKind = Fungibles::AssetId, + Credit = fungibles::Credit, + > + QuotePrice, + WeightToFee: WeightToFeeT, + Fungibles: fungibles::Balanced< AccountId, - Balance = Fungibles::Balance, - AssetKind = Fungibles::AssetId, - Credit = fungibles::Credit, + AssetId: 'static, + OnDropCredit: 'static, + OnDropDebt: 'static, >, - WeightToFee: WeightToFeeT, - Fungibles: fungibles::Balanced, FungiblesAssetMatcher: MatchesFungibles, OnUnbalanced: OnUnbalancedT>, AccountId, @@ -402,7 +411,7 @@ impl< AccountId, > where - Fungibles::Balance: Into, + Fungibles::Balance: From + Into, { fn new() -> Self { Self { @@ -417,54 +426,66 @@ where weight: Weight, mut payment: AssetsInHolding, _context: &XcmContext, - ) -> Result { + ) -> Result { log::trace!( target: "xcm::weight", "SwapFirstAssetTrader::buy_weight weight: {:?}, payment: {:?}", weight, payment, ); - let first_asset: Asset = - payment.fungible.pop_first().ok_or(XcmError::AssetNotFound)?.into(); - let (fungibles_asset, balance) = FungiblesAssetMatcher::matches_fungibles(&first_asset) - .map_err(|error| { - log::trace!( - target: "xcm::weight", - "SwapFirstAssetTrader::buy_weight asset {:?} didn't match. Error: {:?}", - first_asset, - error, - ); - XcmError::AssetNotFound - })?; + let Some((id, given_credit)) = payment.fungible.first_key_value() else { + return Err((payment, XcmError::AssetNotFound)); + }; + let id = id.clone(); + let given_credit_amount = given_credit.amount(); + let first_asset: Asset = (id.clone(), given_credit_amount).into(); + let Ok((fungibles_id, _)) = FungiblesAssetMatcher::matches_fungibles(&first_asset) else { + log::trace!( + target: "xcm::weight", + "SwapFirstAssetTrader::buy_weight asset {:?} didn't match", + first_asset, + ); + return Err((payment, XcmError::AssetNotFound)); + }; - let swap_asset = fungibles_asset.clone().into(); + let swap_asset = fungibles_id.clone().into(); if Target::get().eq(&swap_asset) { log::trace!( target: "xcm::weight", "SwapFirstAssetTrader::buy_weight Asset was same as Target, swap not needed.", ); // current trader is not applicable. - return Err(XcmError::FeesNotMet) + return Err((payment, XcmError::FeesNotMet)); } + // Subtract required from payment + let Some(imbalance) = payment.fungible.remove(&first_asset.id) else { + return Err((payment, XcmError::TooExpensive)); + }; + // "manually" build the concrete credit and move the imbalance there. + let mut credit_in = fungibles::Credit::::zero(fungibles_id); + credit_in.saturating_subsume(imbalance); - let credit_in = Fungibles::issue(fungibles_asset, balance); let fee = WeightToFee::weight_to_fee(&weight); - // swap the user's asset for the `Target` asset. - let (credit_out, credit_change) = SwapCredit::swap_tokens_for_exact_tokens( + let (credit_out, credit_change) = match SwapCredit::swap_tokens_for_exact_tokens( vec![swap_asset, Target::get()], credit_in, fee, - ) - .map_err(|(credit_in, error)| { - log::trace!( - target: "xcm::weight", - "SwapFirstAssetTrader::buy_weight swap couldn't be done. Error was: {:?}", - error, - ); - drop(credit_in); - XcmError::FeesNotMet - })?; + ) { + Ok(a) => a, + Err((credit_in, error)) => { + log::trace!( + target: "xcm::weight", + "SwapFirstAssetTrader::buy_weight swap couldn't be done. Error was: {:?}", + error, + ); + // put back the taken credit + let taken = + AssetsInHolding::new_from_fungible_credit(id.clone(), Box::new(credit_in)); + payment.subsume_assets(taken); + return Err((payment, XcmError::FeesNotMet)); + }, + }; match self.total_fee.subsume(credit_out) { Err(credit_out) => { @@ -474,38 +495,38 @@ where "`total_fee.asset` must be equal to `credit_out.asset`", (self.total_fee.asset(), credit_out.asset()) ); - return Err(XcmError::FeesNotMet) + return Err((payment, XcmError::FeesNotMet)); }, _ => (), }; - self.last_fee_asset = Some(first_asset.id.clone()); + self.last_fee_asset = Some(id.clone()); - payment.fungible.insert(first_asset.id, credit_change.peek().into()); - drop(credit_change); + let unspent = AssetsInHolding::new_from_fungible_credit(id, Box::new(credit_change)); + payment.subsume_assets(unspent); Ok(payment) } - fn refund_weight(&mut self, weight: Weight, _context: &XcmContext) -> Option { + fn refund_weight(&mut self, weight: Weight, _context: &XcmContext) -> Option { log::trace!( target: "xcm::weight", "SwapFirstAssetTrader::refund_weight weight: {:?}, self.total_fee: {:?}", weight, self.total_fee, ); - if self.total_fee.peek().is_zero() { - // noting yet paid to refund. - return None + if weight.is_zero() || self.total_fee.peek().is_zero() { + // noting to refund. + return None; } - let mut refund_asset = if let Some(asset) = &self.last_fee_asset { + let refund_asset = if let Some(asset) = &self.last_fee_asset { // create an initial zero refund in the asset used in the last `buy_weight`. (asset.clone(), Fungible(0)).into() } else { - return None + return None; }; let refund_amount = WeightToFee::weight_to_fee(&weight); if refund_amount >= self.total_fee.peek() { // not enough was paid to refund the `weight`. - return None + return None; } let refund_swap_asset = FungiblesAssetMatcher::matches_fungibles(&refund_asset) @@ -529,24 +550,61 @@ where (self.total_fee.asset(), refund.asset()) ); }); - return None + return None; }, }; - refund_asset.fun = refund.peek().into().into(); - drop(refund); - Some(refund_asset) + let refund = AssetsInHolding::new_from_fungible_credit(refund_asset.id, Box::new(refund)); + Some(refund) + } + + fn quote_weight( + &mut self, + weight: Weight, + given_id: AssetId, + _context: &XcmContext, + ) -> Result { + log::trace!( + target: "xcm::weight", + "SwapFirstAssetTrader::quote_weight weight: {:?}, given_id: {:?}", + weight, + given_id, + ); + if weight.is_zero() { + return Err(XcmError::NoDeal); + } + + let give_matcher: Asset = (given_id.clone(), 1).into(); + let (give_fungibles_id, _) = FungiblesAssetMatcher::matches_fungibles(&give_matcher) + .map_err(|_| XcmError::AssetNotFound)?; + let want_fungibles_id = Target::get(); + if give_fungibles_id.eq(&want_fungibles_id.clone().into()) { + return Err(XcmError::FeesNotMet); + } + + let want_amount = WeightToFee::weight_to_fee(&weight); + // The `give` amount required to obtain `want`. + let necessary_give: u128 = ::quote_price_tokens_for_exact_tokens( + give_fungibles_id, + want_fungibles_id, + want_amount, + true, // Include fee. + ) + .filter(|amount| *amount > 0u128.into()) + .ok_or(XcmError::FeesNotMet)? + .into(); + Ok((given_id, necessary_give).into()) } } impl< Target: Get, SwapCredit: SwapCreditT< - AccountId, - Balance = Fungibles::Balance, - AssetKind = Fungibles::AssetId, - Credit = fungibles::Credit, - >, + AccountId, + Balance = Fungibles::Balance, + AssetKind = Fungibles::AssetId, + Credit = fungibles::Credit, + > + QuotePrice, WeightToFee: WeightToFeeT, Fungibles: fungibles::Balanced, FungiblesAssetMatcher: MatchesFungibles, @@ -563,11 +621,11 @@ impl< AccountId, > where - Fungibles::Balance: Into, + Fungibles::Balance: From + Into, { fn drop(&mut self) { if self.total_fee.peek().is_zero() { - return + return; } let total_fee = self.total_fee.extract(self.total_fee.peek()); OnUnbalanced::on_unbalanced(total_fee); @@ -583,6 +641,7 @@ mod test_xcm_router { /// Validates [`validate`] for required Some(destination) and Some(message) struct OkFixedXcmHashWithAssertingRequiredInputsSender; + impl OkFixedXcmHashWithAssertingRequiredInputsSender { const FIXED_XCM_HASH: [u8; 32] = [9; 32]; @@ -594,6 +653,7 @@ mod test_xcm_router { Ok((Self::FIXED_XCM_HASH, Self::fixed_delivery_asset())) } } + impl SendXcm for OkFixedXcmHashWithAssertingRequiredInputsSender { type Ticket = (); @@ -613,6 +673,7 @@ mod test_xcm_router { /// Impl [`UpwardMessageSender`] that return `Ok` for `can_send_upward_message`. struct CanSendUpwardMessageSender; + impl UpwardMessageSender for CanSendUpwardMessageSender { fn send_upward_message(_: UpwardMessage) -> Result<(u32, XcmHash), MessageSendError> { Err(MessageSendError::Other) @@ -646,7 +707,7 @@ mod test_xcm_router { OkFixedXcmHashWithAssertingRequiredInputsSender::expected_delivery_result(), send_xcm::<(ParentAsUmp<(), (), ()>, OkFixedXcmHashWithAssertingRequiredInputsSender)>( dest.into(), - message + message, ) ); } @@ -662,7 +723,7 @@ mod test_xcm_router { let mut msg_wrapper = Some(message.clone()); assert!( as SendXcm>::validate( &mut dest_wrapper, - &mut msg_wrapper + &mut msg_wrapper, ) .is_ok()); @@ -703,9 +764,10 @@ mod test_xcm_router { ); } } + #[cfg(test)] mod test_trader { - use super::*; + use super::{test_helpers::asset_to_holding, *}; use frame_support::{ assert_ok, traits::tokens::{ @@ -713,7 +775,8 @@ mod test_trader { }, }; use sp_runtime::DispatchError; - use xcm_executor::{traits::Error, AssetsInHolding}; + use xcm_builder::TakeRevenue; + use xcm_executor::traits::Error; #[test] fn take_first_asset_trader_buy_weight_called_twice_throws_error() { @@ -721,13 +784,16 @@ mod test_trader { // prepare prerequisites to instantiate `TakeFirstAssetTrader` type TestAccountId = u32; - type TestAssetId = u32; + type TestAssetId = Location; // Use Location directly as AssetId type TestBalance = u128; + struct TestAssets; impl MatchesFungibles for TestAssets { fn matches_fungibles(a: &Asset) -> Result<(TestAssetId, TestBalance), Error> { match a { - Asset { fun: Fungible(amount), id: AssetId(_id) } => Ok((1, *amount)), + Asset { fun: Fungible(amount), id: AssetId(_id) } => { + Ok((Location::new(0, [GeneralIndex(1)]), *amount)) + }, _ => Err(Error::AssetNotHandled), } } @@ -737,7 +803,7 @@ mod test_trader { type Balance = TestBalance; fn total_issuance(_: Self::AssetId) -> Self::Balance { - todo!() + 0 } fn minimum_balance(_: Self::AssetId) -> Self::Balance { @@ -745,11 +811,11 @@ mod test_trader { } fn balance(_: Self::AssetId, _: &TestAccountId) -> Self::Balance { - todo!() + 0 } fn total_balance(_: Self::AssetId, _: &TestAccountId) -> Self::Balance { - todo!() + 0 } fn reducible_balance( @@ -758,7 +824,7 @@ mod test_trader { _: Preservation, _: Fortitude, ) -> Self::Balance { - todo!() + 0 } fn can_deposit( @@ -767,7 +833,7 @@ mod test_trader { _: Self::Balance, _: Provenance, ) -> DepositConsequence { - todo!() + DepositConsequence::Success } fn can_withdraw( @@ -775,11 +841,11 @@ mod test_trader { _: &TestAccountId, _: Self::Balance, ) -> WithdrawConsequence { - todo!() + WithdrawConsequence::Success } fn asset_exists(_: Self::AssetId) -> bool { - todo!() + true } } impl fungibles::Mutate for TestAssets {} @@ -788,20 +854,16 @@ mod test_trader { type OnDropDebt = fungibles::IncreaseIssuance; } impl fungibles::Unbalanced for TestAssets { - fn handle_dust(_: fungibles::Dust) { - todo!() - } + fn handle_dust(_: fungibles::Dust) {} fn write_balance( _: Self::AssetId, _: &TestAccountId, _: Self::Balance, ) -> Result, DispatchError> { - todo!() + Ok(None) } - fn set_total_issuance(_: Self::AssetId, _: Self::Balance) { - todo!() - } + fn set_total_issuance(_: Self::AssetId, _: Self::Balance) {} } struct FeeChargerAssetsHandleRefund; @@ -814,7 +876,15 @@ mod test_trader { } } impl TakeRevenue for FeeChargerAssetsHandleRefund { - fn take_revenue(_: Asset) {} + fn take_revenue(_: AssetsInHolding) {} + } + + // Implement OnUnbalanced for the test + struct HandleFees; + impl OnUnbalancedT> for HandleFees { + fn on_unbalanced(_: fungibles::Credit) { + // Just drop it for tests + } } // create new instance @@ -823,21 +893,170 @@ mod test_trader { FeeChargerAssetsHandleRefund, TestAssets, TestAssets, - FeeChargerAssetsHandleRefund, + HandleFees, >; let mut trader = ::new(); let ctx = XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; // prepare test data let asset: Asset = (Here, AMOUNT).into(); - let payment = AssetsInHolding::from(asset); + let payment1 = asset_to_holding(asset.clone()); + let payment2 = asset_to_holding(asset); let weight_to_buy = Weight::from_parts(1_000, 1_000); // lets do first call (success) - assert_ok!(trader.buy_weight(weight_to_buy, payment.clone(), &ctx)); + assert_ok!(trader.buy_weight(weight_to_buy, payment1, &ctx)); // lets do second call (error) - assert_eq!(trader.buy_weight(weight_to_buy, payment, &ctx), Err(XcmError::NotWithdrawable)); + let (_, error) = trader.buy_weight(weight_to_buy, payment2, &ctx).unwrap_err(); + assert_eq!(error, XcmError::NotWithdrawable); + } + + #[test] + fn take_first_asset_trader_returns_unused_amount() { + // Regression test for fix: buy_weight should only take the required amount, + // not the entire balance from payment + const REQUIRED_AMOUNT: u128 = 100; + const TOTAL_AMOUNT: u128 = 500; // More than required + + // prepare prerequisites to instantiate `TakeFirstAssetTrader` + type TestAccountId = u32; + type TestAssetId = Location; + type TestBalance = u128; + + struct TestAssets; + impl MatchesFungibles for TestAssets { + fn matches_fungibles(a: &Asset) -> Result<(TestAssetId, TestBalance), Error> { + match a { + Asset { fun: Fungible(amount), id: AssetId(_id) } => { + Ok((Location::new(0, [GeneralIndex(1)]), *amount)) + }, + _ => Err(Error::AssetNotHandled), + } + } + } + impl fungibles::Inspect for TestAssets { + type AssetId = TestAssetId; + type Balance = TestBalance; + + fn total_issuance(_: Self::AssetId) -> Self::Balance { + 0 + } + + fn minimum_balance(_: Self::AssetId) -> Self::Balance { + 0 + } + + fn balance(_: Self::AssetId, _: &TestAccountId) -> Self::Balance { + 0 + } + + fn total_balance(_: Self::AssetId, _: &TestAccountId) -> Self::Balance { + 0 + } + + fn reducible_balance( + _: Self::AssetId, + _: &TestAccountId, + _: Preservation, + _: Fortitude, + ) -> Self::Balance { + 0 + } + + fn can_deposit( + _: Self::AssetId, + _: &TestAccountId, + _: Self::Balance, + _: Provenance, + ) -> DepositConsequence { + DepositConsequence::Success + } + + fn can_withdraw( + _: Self::AssetId, + _: &TestAccountId, + _: Self::Balance, + ) -> WithdrawConsequence { + WithdrawConsequence::Success + } + + fn asset_exists(_: Self::AssetId) -> bool { + true + } + } + impl fungibles::Mutate for TestAssets {} + impl fungibles::Balanced for TestAssets { + type OnDropCredit = fungibles::DecreaseIssuance; + type OnDropDebt = fungibles::IncreaseIssuance; + } + impl fungibles::Unbalanced for TestAssets { + fn handle_dust(_: fungibles::Dust) {} + fn write_balance( + _: Self::AssetId, + _: &TestAccountId, + _: Self::Balance, + ) -> Result, DispatchError> { + Ok(None) + } + + fn set_total_issuance(_: Self::AssetId, _: Self::Balance) {} + } + + struct FeeChargerAssetsHandleRefund; + impl ChargeWeightInFungibles for FeeChargerAssetsHandleRefund { + fn charge_weight_in_fungibles( + _: >::AssetId, + _: Weight, + ) -> Result<>::Balance, XcmError> { + Ok(REQUIRED_AMOUNT) + } + } + impl TakeRevenue for FeeChargerAssetsHandleRefund { + fn take_revenue(_: AssetsInHolding) {} + } + + struct HandleFees; + impl OnUnbalancedT> for HandleFees { + fn on_unbalanced(_: fungibles::Credit) {} + } + + // create new instance + type Trader = TakeFirstAssetTrader< + TestAccountId, + FeeChargerAssetsHandleRefund, + TestAssets, + TestAssets, + HandleFees, + >; + let mut trader = ::new(); + let ctx = XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; + + // prepare test data - payment with MORE than required + let asset: Asset = (Here, TOTAL_AMOUNT).into(); + let payment = asset_to_holding(asset.clone()); + let weight_to_buy = Weight::from_parts(1_000, 1_000); + + // call buy_weight - should succeed and return the excess + let result = trader.buy_weight(weight_to_buy, payment, &ctx); + assert_ok!(&result); + + let unused_payment = result.unwrap(); + + // verify that the unused payment contains the excess amount + let expected_excess = TOTAL_AMOUNT - REQUIRED_AMOUNT; + let unused_assets: Vec = unused_payment.fungible_assets_iter().collect(); + + // should have exactly one asset remaining + assert_eq!(unused_assets.len(), 1); + + // verify it's the correct amount (excess) + match &unused_assets[0] { + Asset { fun: Fungible(amount), .. } => { + assert_eq!(*amount, expected_excess, "Expected excess amount to be returned"); + }, + _ => panic!("Expected fungible asset"), + } } } @@ -865,7 +1084,10 @@ impl< fee_reason: xcm_executor::traits::FeeReason, ) -> (Option, Option) { use xcm::{latest::MAX_ITEMS_IN_ASSETS, MAX_INSTRUCTIONS_TO_DECODE}; - use xcm_executor::{traits::FeeManager, FeesMode}; + use xcm_executor::{ + traits::{FeeManager, TransactAsset}, + FeesMode, + }; // check if the destination is relay/parent if dest.ne(&Location::parent()) { @@ -878,10 +1100,13 @@ impl< let mut fees_mode = None; if !XcmConfig::FeeManager::is_waived(Some(origin_ref), fee_reason) { // if not waived, we need to set up accounts for paying and receiving fees + let context = XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; // mint ED to origin if needed if let Some(ed) = ExistentialDeposit::get() { - XcmConfig::AssetTransactor::deposit_asset(&ed, &origin_ref, None).unwrap(); + let holdings = XcmConfig::AssetTransactor::mint_asset(&ed, &context).unwrap(); + XcmConfig::AssetTransactor::deposit_asset(holdings, &origin_ref, Some(&context)) + .unwrap(); } // overestimate delivery fee @@ -895,7 +1120,9 @@ impl< // mint overestimated fee to origin for fee in overestimated_fees.inner() { - XcmConfig::AssetTransactor::deposit_asset(&fee, &origin_ref, None).unwrap(); + let holdings = XcmConfig::AssetTransactor::mint_asset(fee, &context).unwrap(); + XcmConfig::AssetTransactor::deposit_asset(holdings, &origin_ref, Some(&context)) + .unwrap(); } // expected worst case - direct withdraw diff --git a/cumulus/primitives/utility/src/tests/swap_first.rs b/cumulus/primitives/utility/src/tests/swap_first.rs index 6da3cd7a84e87..dab52401505ef 100644 --- a/cumulus/primitives/utility/src/tests/swap_first.rs +++ b/cumulus/primitives/utility/src/tests/swap_first.rs @@ -14,14 +14,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::*; +use crate::{test_helpers::asset_to_holding, *}; use frame_support::{parameter_types, traits::fungibles::Inspect}; use mock::{setup_pool, AccountId, AssetId, Balance, Fungibles}; use xcm::latest::AssetId as XcmAssetId; use xcm_executor::AssetsInHolding; fn create_holding_asset(asset_id: AssetId, amount: Balance) -> AssetsInHolding { - create_asset(asset_id, amount).into() + asset_to_holding(create_asset(asset_id, amount)) } fn create_asset(asset_id: AssetId, amount: Balance) -> Asset { @@ -72,16 +72,14 @@ fn holding_asset_swap_for_target() { let client_total = Fungibles::total_issuance(CLIENT_ASSET); let mut trader = Trader::new(); - assert_eq!( - trader.buy_weight(weight_worth_of(fee), holding_asset, &xcm_context()).unwrap(), - holding_change - ); + let change = trader.buy_weight(weight_worth_of(fee), holding_asset, &xcm_context()).unwrap(); + assert_eq!(&change, &holding_change); assert_eq!(trader.total_fee.peek(), fee); assert_eq!(trader.last_fee_asset, Some(create_asset_id(CLIENT_ASSET))); assert_eq!(Fungibles::total_issuance(TARGET_ASSET), target_total); - assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total + fee); + assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total); } #[test] @@ -100,22 +98,18 @@ fn holding_asset_swap_for_target_twice() { let client_total = Fungibles::total_issuance(CLIENT_ASSET); let mut trader = Trader::new(); - assert_eq!( - trader.buy_weight(weight_worth_of(fee1), holding_asset, &xcm_context()).unwrap(), - holding_change1 - ); - assert_eq!( - trader - .buy_weight(weight_worth_of(fee2), holding_change1, &xcm_context()) - .unwrap(), - holding_change2 - ); + let change1 = trader.buy_weight(weight_worth_of(fee1), holding_asset, &xcm_context()).unwrap(); + assert_eq!(&change1, &holding_change1); + let change2 = trader + .buy_weight(weight_worth_of(fee2), holding_change1, &xcm_context()) + .unwrap(); + assert_eq!(&change2, &holding_change2); assert_eq!(trader.total_fee.peek(), fee1 + fee2); assert_eq!(trader.last_fee_asset, Some(create_asset_id(CLIENT_ASSET))); assert_eq!(Fungibles::total_issuance(TARGET_ASSET), target_total); - assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total + fee1 + fee2); + assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total); } #[test] @@ -131,21 +125,20 @@ fn buy_and_refund_twice_for_target() { let holding_asset = create_holding_asset(CLIENT_ASSET, client_asset_total); let holding_change = create_holding_asset(CLIENT_ASSET, client_asset_total - fee); - let refund_asset = create_asset(CLIENT_ASSET, refund1); + let refund_asset = create_holding_asset(CLIENT_ASSET, refund1); let target_total = Fungibles::total_issuance(TARGET_ASSET); let client_total = Fungibles::total_issuance(CLIENT_ASSET); let mut trader = Trader::new(); - assert_eq!( - trader.buy_weight(weight_worth_of(fee), holding_asset, &xcm_context()).unwrap(), - holding_change - ); + let change = trader.buy_weight(weight_worth_of(fee), holding_asset, &xcm_context()).unwrap(); + assert_eq!(&change, &holding_change); assert_eq!(trader.total_fee.peek(), fee); assert_eq!(trader.last_fee_asset, Some(create_asset_id(CLIENT_ASSET))); - assert_eq!(trader.refund_weight(weight_worth_of(refund1), &xcm_context()), Some(refund_asset)); + let refund = trader.refund_weight(weight_worth_of(refund1), &xcm_context()); + assert_eq!(refund.as_ref(), Some(&refund_asset)); assert_eq!(trader.total_fee.peek(), fee - refund1); assert_eq!(trader.last_fee_asset, Some(create_asset_id(CLIENT_ASSET))); @@ -156,7 +149,7 @@ fn buy_and_refund_twice_for_target() { assert_eq!(trader.last_fee_asset, Some(create_asset_id(CLIENT_ASSET))); assert_eq!(Fungibles::total_issuance(TARGET_ASSET), target_total); - assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total + fee - refund1); + assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total); } #[test] @@ -178,55 +171,48 @@ fn buy_with_various_assets_and_refund_for_target() { let holding_change = create_holding_asset(CLIENT_ASSET, client_asset_total - fee1); let holding_change_2 = create_holding_asset(CLIENT_ASSET_2, client_asset_2_total - fee2); // both refunds in the latest buy asset (`CLIENT_ASSET_2`). - let refund_asset = create_asset(CLIENT_ASSET_2, refund1); - let refund_asset_2 = create_asset(CLIENT_ASSET_2, refund2); + let refund_asset = create_holding_asset(CLIENT_ASSET_2, refund1); + let refund_asset_2 = create_holding_asset(CLIENT_ASSET_2, refund2); let target_total = Fungibles::total_issuance(TARGET_ASSET); let client_total = Fungibles::total_issuance(CLIENT_ASSET); let client_total_2 = Fungibles::total_issuance(CLIENT_ASSET_2); let mut trader = Trader::new(); + // first purchase with `CLIENT_ASSET`. - assert_eq!( - trader.buy_weight(weight_worth_of(fee1), holding_asset, &xcm_context()).unwrap(), - holding_change - ); + let change1 = trader.buy_weight(weight_worth_of(fee1), holding_asset, &xcm_context()).unwrap(); + assert_eq!(&change1, &holding_change); assert_eq!(trader.total_fee.peek(), fee1); assert_eq!(trader.last_fee_asset, Some(create_asset_id(CLIENT_ASSET))); // second purchase with `CLIENT_ASSET_2`. - assert_eq!( - trader - .buy_weight(weight_worth_of(fee2), holding_asset_2, &xcm_context()) - .unwrap(), - holding_change_2 - ); + let change2 = trader + .buy_weight(weight_worth_of(fee2), holding_asset_2, &xcm_context()) + .unwrap(); + assert_eq!(&change2, &holding_change_2); assert_eq!(trader.total_fee.peek(), fee1 + fee2); assert_eq!(trader.last_fee_asset, Some(create_asset_id(CLIENT_ASSET_2))); // first refund in the last asset used with `buy_weight`. - assert_eq!(trader.refund_weight(weight_worth_of(refund1), &xcm_context()), Some(refund_asset)); + let refund_holding1 = trader.refund_weight(weight_worth_of(refund1), &xcm_context()); + assert_eq!(refund_holding1.as_ref(), Some(&refund_asset)); assert_eq!(trader.total_fee.peek(), fee1 + fee2 - refund1); assert_eq!(trader.last_fee_asset, Some(create_asset_id(CLIENT_ASSET_2))); // second refund in the last asset used with `buy_weight`. - assert_eq!( - trader.refund_weight(weight_worth_of(refund2), &xcm_context()), - Some(refund_asset_2) - ); + let refund_holding2 = trader.refund_weight(weight_worth_of(refund2), &xcm_context()); + assert_eq!(refund_holding2.as_ref(), Some(&refund_asset_2)); assert_eq!(trader.total_fee.peek(), fee1 + fee2 - refund1 - refund2); assert_eq!(trader.last_fee_asset, Some(create_asset_id(CLIENT_ASSET_2))); assert_eq!(Fungibles::total_issuance(TARGET_ASSET), target_total); - assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total + fee1); - assert_eq!( - Fungibles::total_issuance(CLIENT_ASSET_2), - client_total_2 + fee2 - refund1 - refund2 - ); + assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total); + assert_eq!(Fungibles::total_issuance(CLIENT_ASSET_2), client_total_2); } #[test] @@ -244,10 +230,9 @@ fn not_enough_to_refund() { let client_total = Fungibles::total_issuance(CLIENT_ASSET); let mut trader = Trader::new(); - assert_eq!( - trader.buy_weight(weight_worth_of(fee), holding_asset, &xcm_context()).unwrap(), - holding_change - ); + let refund_holding = + trader.buy_weight(weight_worth_of(fee), holding_asset, &xcm_context()).unwrap(); + assert_eq!(&refund_holding, &holding_change); assert_eq!(trader.total_fee.peek(), fee); assert_eq!(trader.last_fee_asset, Some(create_asset_id(CLIENT_ASSET))); @@ -255,7 +240,7 @@ fn not_enough_to_refund() { assert_eq!(trader.refund_weight(weight_worth_of(refund), &xcm_context()), None); assert_eq!(Fungibles::total_issuance(TARGET_ASSET), target_total); - assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total + fee); + assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total); } #[test] @@ -267,15 +252,18 @@ fn not_exchangeable_to_refund() { setup_pool(CLIENT_ASSET, 1000, TARGET_ASSET, 1000); let holding_asset = create_holding_asset(CLIENT_ASSET, client_asset_total); - let holding_change = create_holding_asset(CLIENT_ASSET, client_asset_total - fee); + let expected_change = client_asset_total - fee; let target_total = Fungibles::total_issuance(TARGET_ASSET); let client_total = Fungibles::total_issuance(CLIENT_ASSET); let mut trader = Trader::new(); + let holding_change = + trader.buy_weight(weight_worth_of(fee), holding_asset, &xcm_context()).unwrap(); + assert_eq!(holding_change.len(), 1); assert_eq!( - trader.buy_weight(weight_worth_of(fee), holding_asset, &xcm_context()).unwrap(), - holding_change + holding_change.fungible.get(&create_asset_id(CLIENT_ASSET)).unwrap().amount(), + expected_change ); assert_eq!(trader.total_fee.peek(), fee); @@ -283,8 +271,9 @@ fn not_exchangeable_to_refund() { assert_eq!(trader.refund_weight(weight_worth_of(refund), &xcm_context()), None); + // swapping does not change total issuance assert_eq!(Fungibles::total_issuance(TARGET_ASSET), target_total); - assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total + fee); + assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total); } #[test] @@ -303,12 +292,10 @@ fn holding_asset_not_exchangeable_for_target() { let client_total = Fungibles::total_issuance(CLIENT_ASSET); let mut trader = Trader::new(); - assert_eq!( - trader - .buy_weight(Weight::from_all(10), holding_asset, &xcm_context()) - .unwrap_err(), - XcmError::FeesNotMet - ); + let (_, error) = trader + .buy_weight(Weight::from_all(10), holding_asset, &xcm_context()) + .unwrap_err(); + assert_eq!(error, XcmError::FeesNotMet); assert_eq!(Fungibles::total_issuance(TARGET_ASSET), target_total); assert_eq!(Fungibles::total_issuance(CLIENT_ASSET), client_total); @@ -317,36 +304,30 @@ fn holding_asset_not_exchangeable_for_target() { #[test] fn empty_holding_asset() { let mut trader = Trader::new(); - assert_eq!( - trader - .buy_weight(Weight::from_all(10), AssetsInHolding::new(), &xcm_context()) - .unwrap_err(), - XcmError::AssetNotFound - ); + let (_, error) = trader + .buy_weight(Weight::from_all(10), AssetsInHolding::new(), &xcm_context()) + .unwrap_err(); + assert_eq!(error, XcmError::AssetNotFound); } #[test] fn fails_to_match_holding_asset() { let mut trader = Trader::new(); let holding_asset = Asset { id: AssetId(Location::new(1, [Parachain(1)])), fun: Fungible(10) }; - assert_eq!( - trader - .buy_weight(Weight::from_all(10), holding_asset.into(), &xcm_context()) - .unwrap_err(), - XcmError::AssetNotFound - ); + let (_, error) = trader + .buy_weight(Weight::from_all(10), asset_to_holding(holding_asset), &xcm_context()) + .unwrap_err(); + assert_eq!(error, XcmError::AssetNotFound); } #[test] fn holding_asset_equal_to_target_asset() { let mut trader = Trader::new(); let holding_asset = create_holding_asset(TargetAsset::get(), 10); - assert_eq!( - trader - .buy_weight(Weight::from_all(10), holding_asset, &xcm_context()) - .unwrap_err(), - XcmError::FeesNotMet - ); + let (_, error) = trader + .buy_weight(Weight::from_all(10), holding_asset, &xcm_context()) + .unwrap_err(); + assert_eq!(error, XcmError::FeesNotMet); } pub mod mock { @@ -362,6 +343,7 @@ pub mod mock { }, }, }; + use pallet_asset_conversion::QuotePrice; use sp_runtime::{traits::One, DispatchError}; use std::collections::HashMap; use xcm::latest::Junction; @@ -378,6 +360,44 @@ pub mod mock { } pub struct Swap {} + + impl QuotePrice for Swap { + type Balance = Balance; + type AssetKind = AssetId; + + fn quote_price_tokens_for_exact_tokens( + asset1: Self::AssetKind, + asset2: Self::AssetKind, + amount: Self::Balance, + _include_fee: bool, + ) -> Option { + // Check if pool exists + let pool_exists = SWAP.with(|b| b.borrow().get(&(asset1, asset2)).is_some()); + if pool_exists { + // 1:1 swap in this mock + Some(amount) + } else { + None + } + } + + fn quote_price_exact_tokens_for_tokens( + asset1: Self::AssetKind, + asset2: Self::AssetKind, + amount: Self::Balance, + _include_fee: bool, + ) -> Option { + // Check if pool exists + let pool_exists = SWAP.with(|b| b.borrow().get(&(asset1, asset2)).is_some()); + if pool_exists { + // 1:1 swap in this mock + Some(amount) + } else { + None + } + } + } + impl SwapCreditT for Swap { type Balance = Balance; type AssetKind = AssetId; @@ -538,12 +558,14 @@ pub mod mock { a: &Asset, ) -> core::result::Result<(AssetId, Balance), xcm_executor::traits::Error> { match a { - Asset { fun: Fungible(amount), id: AssetId(inner_location) } => + Asset { fun: Fungible(amount), id: AssetId(inner_location) } => { match inner_location.unpack() { - (0, [Junction::GeneralIndex(id)]) => - Ok(((*id).try_into().unwrap(), *amount)), + (0, [Junction::GeneralIndex(id)]) => { + Ok(((*id).try_into().unwrap(), *amount)) + }, _ => Err(xcm_executor::traits::Error::AssetNotHandled), - }, + } + }, _ => Err(xcm_executor::traits::Error::AssetNotHandled), } } diff --git a/cumulus/scripts/create_coretime_rococo_spec.sh b/cumulus/scripts/create_coretime_rococo_spec.sh deleted file mode 100755 index 877e8ee36c7d9..0000000000000 --- a/cumulus/scripts/create_coretime_rococo_spec.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/env bash - -usage() { - echo Usage: - echo "$1 " - echo "$2 " - echo "e.g.: ./cumulus/scripts/create_coretime_rococo_spec.sh ./target/release/wbuild/coretime-rococo-runtime/coretime_rococo_runtime.compact.compressed.wasm 1005" - exit 1 -} - -if [ -z "$1" ]; then - usage -fi - -if [ -z "$2" ]; then - usage -fi - -set -e - -rt_path=$1 -para_id=$2 - -echo "Generating chain spec for runtime: $rt_path and para_id: $para_id" - -binary="./target/release/polkadot-parachain" - -# build the chain spec we'll manipulate -$binary build-spec --chain coretime-rococo-dev > chain-spec-plain.json - -# convert runtime to hex -cat $rt_path | od -A n -v -t x1 | tr -d ' \n' > rt-hex.txt - -# replace the runtime in the spec with the given runtime and set some values to production -# Related issue for bootNodes, invulnerables, and session keys: https://github.com/paritytech/devops/issues/2725 -cat chain-spec-plain.json | jq --rawfile code rt-hex.txt '.genesis.runtimeGenesis.code = ("0x" + $code)' \ - | jq '.name = "Rococo Coretime"' \ - | jq '.id = "coretime-rococo"' \ - | jq '.chainType = "Live"' \ - | jq '.bootNodes = [ - "/dns/rococo-coretime-collator-node-0.polkadot.io/tcp/30333/p2p/12D3KooWHBUH9wGBx1Yq1ZePov9VL3AzxRPv5DTR4KadiCU6VKxy", - "/dns/rococo-coretime-collator-node-1.polkadot.io/tcp/30333/p2p/12D3KooWB3SKxdj6kpwTkdMnHJi6YmadojCzmEqFkeFJjxN812XX" - ]' \ - | jq '.relay_chain = "rococo"' \ - | jq --argjson para_id $para_id '.para_id = $para_id' \ - | jq --argjson para_id $para_id '.genesis.runtimeGenesis.patch.parachainInfo.parachainId = $para_id' \ - | jq '.genesis.runtimeGenesis.patch.balances.balances = []' \ - | jq '.genesis.runtimeGenesis.patch.collatorSelection.invulnerables = [ - "5G6Zua7Sowmt6ziddwUyueQs7HXDUVvDLaqqJDXXFyKvQ6Y6", - "5C8aSedh7ShpWEPW8aTNEErbKkMbiibdwP8cRzVRNqLmzAWF" - ]' \ - | jq '.genesis.runtimeGenesis.patch.session.keys = [ - [ - "5G6Zua7Sowmt6ziddwUyueQs7HXDUVvDLaqqJDXXFyKvQ6Y6", - "5G6Zua7Sowmt6ziddwUyueQs7HXDUVvDLaqqJDXXFyKvQ6Y6", - { - "aura": "5G6Zua7Sowmt6ziddwUyueQs7HXDUVvDLaqqJDXXFyKvQ6Y6" - } - ], - [ - "5C8aSedh7ShpWEPW8aTNEErbKkMbiibdwP8cRzVRNqLmzAWF", - "5C8aSedh7ShpWEPW8aTNEErbKkMbiibdwP8cRzVRNqLmzAWF", - { - "aura": "5C8aSedh7ShpWEPW8aTNEErbKkMbiibdwP8cRzVRNqLmzAWF" - } - ] - ]' \ - > edited-chain-spec-plain.json - -# build a raw spec -$binary build-spec --chain edited-chain-spec-plain.json --raw > chain-spec-raw.json -cp edited-chain-spec-plain.json coretime-rococo-spec.json -cp chain-spec-raw.json ./cumulus/parachains/chain-specs/coretime-rococo.json -cp chain-spec-raw.json coretime-rococo-spec-raw.json - -# build genesis data -$binary export-genesis-state --chain chain-spec-raw.json > coretime-rococo-genesis-head-data - -# build genesis wasm -$binary export-genesis-wasm --chain chain-spec-raw.json > coretime-rococo-wasm - -# cleanup -rm -f rt-hex.txt -rm -f chain-spec-plain.json -rm -f chain-spec-raw.json -rm -f edited-chain-spec-plain.json diff --git a/cumulus/scripts/create_people_rococo_spec.sh b/cumulus/scripts/create_people_rococo_spec.sh deleted file mode 100755 index 264408b20bce3..0000000000000 --- a/cumulus/scripts/create_people_rococo_spec.sh +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env bash - -usage() { - echo Usage: - echo "$1 " - echo "$2 " - echo "e.g.: ./cumulus/scripts/create_people_rococo_spec.sh ./target/release/wbuild/people-rococo-runtime/people_rococo_runtime.compact.compressed.wasm 1004" - exit 1 -} - -if [ -z "$1" ]; then - usage -fi - -if [ -z "$2" ]; then - usage -fi - -set -e - -rt_path=$1 -para_id=$2 - -echo "Generating chain spec for runtime: $rt_path and para_id: $para_id" - -binary="./target/release/polkadot-parachain" - -# build the chain spec we'll manipulate -$binary build-spec --chain people-rococo-local > chain-spec-plain.json - -# convert runtime to hex -cat $rt_path | od -A n -v -t x1 | tr -d ' \n' > rt-hex.txt - -# replace the runtime in the spec with the given runtime and set some values to production -# Boot nodes, invulnerables, and session keys from https://github.com/paritytech/devops/issues/2847 -# -# Note: This is a testnet runtime. Each invulnerable's Aura key is also used as its AccountId. This -# is not recommended in value-bearing networks. -cat chain-spec-plain.json | jq --rawfile code rt-hex.txt '.genesis.runtimeGenesis.code = ("0x" + $code)' \ - | jq '.name = "Rococo People"' \ - | jq '.id = "people-rococo"' \ - | jq '.chainType = "Live"' \ - | jq '.bootNodes = [ - "/dns/rococo-people-collator-node-0.parity-testnet.parity.io/tcp/30333/p2p/12D3KooWDZg5jMYhKXTu6RU491V5sxsFnP4oaEmZJEUfcRkYzps5", - "/dns/rococo-people-collator-node-0.parity-testnet.parity.io/tcp/443/wss/p2p/12D3KooWDZg5jMYhKXTu6RU491V5sxsFnP4oaEmZJEUfcRkYzps5", - "/dns/rococo-people-collator-node-1.parity-testnet.parity.io/tcp/30333/p2p/12D3KooWGGR5i6qQqfo7iDNp7vjDRKPWuDk53idGV6nFLwS12X5H", - "/dns/rococo-people-collator-node-1.parity-testnet.parity.io/tcp/443/wss/p2p/12D3KooWGGR5i6qQqfo7iDNp7vjDRKPWuDk53idGV6nFLwS12X5H", - "/dns/rococo-people-collator-node-2.parity-testnet.parity.io/tcp/30333/p2p/12D3KooWBvA9BmBfrsVMcAcqVXGYFCpMTvkSk2igNXpmoareYbeT", - "/dns/rococo-people-collator-node-2.parity-testnet.parity.io/tcp/443/wss/p2p/12D3KooWBvA9BmBfrsVMcAcqVXGYFCpMTvkSk2igNXpmoareYbeT", - "/dns/rococo-people-collator-node-3.parity-testnet.parity.io/tcp/30333/p2p/12D3KooWQ7Q9jLcJTPXy7KEp5hSZ8YMY9pHx9CnQVz3T8TKQ81UG", - "/dns/rococo-people-collator-node-3.parity-testnet.parity.io/tcp/443/wss/p2p/12D3KooWQ7Q9jLcJTPXy7KEp5hSZ8YMY9pHx9CnQVz3T8TKQ81UG" - ]' \ - | jq '.relay_chain = "rococo"' \ - | jq --argjson para_id $para_id '.para_id = $para_id' \ - | jq --argjson para_id $para_id '.genesis.runtimeGenesis.patch.parachainInfo.parachainId = $para_id' \ - | jq '.genesis.runtimeGenesis.patch.balances.balances = []' \ - | jq '.genesis.runtimeGenesis.patch.collatorSelection.invulnerables = [ - "5Gnjmw1iuF2kV4PecFgetJed7B8quBKfLiRM99ELcXvFH9Vn", - "5FLZRxyeRPhG69zo4ZPqCJSYboSKaRBUjBvQc1nkuWoBpZ5P", - "5DNnmPH2MT6SXpfqbJZbTz4eERmuZegssfxc4ysL8PWrHaNN", - "5DkKcSP5MboNMpXScW1CyRqaktKMXH8QLP4Mn49TwS5vhL6k" - ]' \ - | jq '.genesis.runtimeGenesis.patch.session.keys = [ - [ - "5Gnjmw1iuF2kV4PecFgetJed7B8quBKfLiRM99ELcXvFH9Vn", - "5Gnjmw1iuF2kV4PecFgetJed7B8quBKfLiRM99ELcXvFH9Vn", - { - "aura": "5Gnjmw1iuF2kV4PecFgetJed7B8quBKfLiRM99ELcXvFH9Vn" - } - ], - [ - "5FLZRxyeRPhG69zo4ZPqCJSYboSKaRBUjBvQc1nkuWoBpZ5P", - "5FLZRxyeRPhG69zo4ZPqCJSYboSKaRBUjBvQc1nkuWoBpZ5P", - { - "aura": "5FLZRxyeRPhG69zo4ZPqCJSYboSKaRBUjBvQc1nkuWoBpZ5P" - } - ], - [ - "5DNnmPH2MT6SXpfqbJZbTz4eERmuZegssfxc4ysL8PWrHaNN", - "5DNnmPH2MT6SXpfqbJZbTz4eERmuZegssfxc4ysL8PWrHaNN", - { - "aura": "5DNnmPH2MT6SXpfqbJZbTz4eERmuZegssfxc4ysL8PWrHaNN" - } - ], - [ - "5DkKcSP5MboNMpXScW1CyRqaktKMXH8QLP4Mn49TwS5vhL6k", - "5DkKcSP5MboNMpXScW1CyRqaktKMXH8QLP4Mn49TwS5vhL6k", - { - "aura": "5DkKcSP5MboNMpXScW1CyRqaktKMXH8QLP4Mn49TwS5vhL6k" - } - ] - ]' \ - > edited-chain-spec-plain.json - -# build a raw spec -$binary build-spec --chain edited-chain-spec-plain.json --raw > chain-spec-raw.json -cp edited-chain-spec-plain.json people-rococo-spec.json -cp chain-spec-raw.json ./cumulus/parachains/chain-specs/people-rococo.json -cp chain-spec-raw.json people-rococo-spec-raw.json - -# build genesis data -$binary export-genesis-state --chain chain-spec-raw.json > people-rococo-genesis-head-data - -# build genesis wasm -$binary export-genesis-wasm --chain chain-spec-raw.json > people-rococo-wasm diff --git a/cumulus/test/relay-sproof-builder/Cargo.toml b/cumulus/test/relay-sproof-builder/Cargo.toml index 553210a044ac0..a7ea2472bb290 100644 --- a/cumulus/test/relay-sproof-builder/Cargo.toml +++ b/cumulus/test/relay-sproof-builder/Cargo.toml @@ -17,6 +17,8 @@ codec = { features = ["derive"], workspace = true } # Substrate sp-consensus-babe = { workspace = true } sp-core = { workspace = true } +sp-io = { workspace = true } +sp-keyring = { workspace = true } sp-runtime = { workspace = true } sp-state-machine = { workspace = true } sp-trie = { workspace = true } @@ -27,6 +29,9 @@ polkadot-primitives = { workspace = true } # Cumulus cumulus-primitives-core = { workspace = true } +[dev-dependencies] +proptest = { workspace = true } + [features] default = ["std"] std = [ @@ -35,6 +40,8 @@ std = [ "polkadot-primitives/std", "sp-consensus-babe/std", "sp-core/std", + "sp-io/std", + "sp-keyring/std", "sp-runtime/std", "sp-state-machine/std", "sp-trie/std", diff --git a/cumulus/test/relay-sproof-builder/src/lib.rs b/cumulus/test/relay-sproof-builder/src/lib.rs index ad3998e99cf05..919fb8250b4d2 100644 --- a/cumulus/test/relay-sproof-builder/src/lib.rs +++ b/cumulus/test/relay-sproof-builder/src/lib.rs @@ -306,7 +306,7 @@ pub fn build_relay_parent_descendants( let mut previous_hash = None; - for block_number in 0..=num_headers as u32 { + for block_number in 0..num_headers as u32 { let mut header = Header { number: block_number, parent_hash: previous_hash.unwrap_or_default(), @@ -329,3 +329,255 @@ pub fn build_relay_parent_descendants( headers } + +#[cfg(test)] +mod tests { + use super::*; + use codec::Decode; + use proptest::prelude::*; + use sp_consensus_babe::{ + digests::{PreDigest, PrimaryPreDigest}, + AuthorityId, AuthorityPair, BabeAuthorityWeight, + }; + use sp_core::{crypto::Pair, sr25519::Signature, H256}; + use sp_runtime::{ + generic::{Digest, Header}, + DigestItem, + }; + + /// Tests for `generate_authority_pairs` + #[test] + fn test_generate_authority_pairs_count() { + // Test case 1: Zero authorities + assert_eq!(generate_authority_pairs(0).len(), 0); + + // Test case 2: A small number of authorities + assert_eq!(generate_authority_pairs(5).len(), 5); + + // Test case 3: A larger number of authorities + assert_eq!(generate_authority_pairs(100).len(), 100); + + // Test case 4: Uniqueness of generated authorities + let pairs = generate_authority_pairs(10); + let public_keys: std::collections::HashSet<_> = + pairs.iter().map(|pair| pair.public()).collect(); + + assert_eq!(pairs.len(), public_keys.len()); + } + + /// Tests for `convert_to_authority_weight_pair` + #[test] + fn test_convert_to_authority_weight_pair() { + let num_authorities = 3; + let authorities = generate_authority_pairs(num_authorities); + let converted_pairs = convert_to_authority_weight_pair(&authorities); + + // Check the count is correct + assert_eq!(converted_pairs.len(), num_authorities as usize); + + for (i, (authority_id, weight)) in converted_pairs.iter().enumerate() { + // Check that the AuthorityId is derived correctly from the public key + let expected_id: AuthorityId = authorities[i].public().into(); + assert_eq!(*authority_id, expected_id); + + // Check that the weight is the default (usually 1) + assert_eq!(*weight, BabeAuthorityWeight::default()); + } + } + + /// Tests for `add_babe_pre_digest` + #[test] + fn test_add_babe_pre_digest() { + let mut header = Header { + number: 0, + parent_hash: H256::default(), + state_root: H256::default(), + extrinsics_root: H256::default(), + digest: Digest::default(), + }; + let authority_index = 42; + let block_number = 100; + + add_babe_pre_digest(&mut header, authority_index, block_number); + + // Ensure exactly one digest item was added + assert_eq!(header.digest().logs.len(), 1); + + // Check if the added digest item is the correct type and data + let digest_item = &header.digest().logs[0]; + + let pre_digest_data = match digest_item { + DigestItem::PreRuntime(id, data) if id == &sp_consensus_babe::BABE_ENGINE_ID => { + PreDigest::decode(&mut &data[..]).unwrap() + }, + _ => panic!("Expected a BABE pre-digest"), + }; + + match pre_digest_data { + PreDigest::Primary(PrimaryPreDigest { + authority_index: auth_idx, + slot, + vrf_signature: _, + }) => { + assert_eq!(auth_idx, authority_index); + assert_eq!(slot, relay_chain::Slot::from(block_number)); + }, + _ => panic!("Expected a Primary PreDigest"), + } + } + + proptest! { + // Proptest for `build_relay_parent_descendants` to ensure general properties hold. + #[test] + fn prop_test_build_relay_parent_descendants( + num_headers in 1..20u64, // Test a reasonable range of headers + seed_bytes: [u8; 32], + num_authorities in 1..5u64, + ) { + let state_root = H256::from(seed_bytes); + let authorities = generate_authority_pairs(num_authorities); + + // Skip test if no authorities are generated (proptest range ensures at least 1) + if authorities.is_empty() { + return Ok(()); + } + + let headers = build_relay_parent_descendants(num_headers, state_root, authorities.clone()); + + // 1. Check the correct number of headers are generated + prop_assert_eq!(headers.len(), num_headers as usize); + + let mut previous_hash: Option = None; + + for (i, header) in headers.iter().enumerate() { + let block_number = i as u32; + let expected_authority_index = block_number % (num_authorities as u32); + let authority_pair = &authorities[expected_authority_index as usize]; + + // 2. Check block number and parent hash linkage + prop_assert_eq!(header.number, block_number); + prop_assert_eq!(header.parent_hash, previous_hash.unwrap_or_default()); + prop_assert_eq!(header.state_root, state_root); + + // 3. Check for the presence of Babe Pre-Digest and Seal (should be exactly 2 items) + prop_assert_eq!(header.digest().logs.len(), 2); + + let pre_digest_item = &header.digest().logs[0]; + let seal_item = &header.digest().logs[1]; + + // 4. Validate Pre-Digest content + let pre_digest_data = match pre_digest_item { + DigestItem::PreRuntime(id, data) if id == &sp_consensus_babe::BABE_ENGINE_ID => { + PreDigest::decode(&mut &data[..]).unwrap() + } + _ => panic!("Expected a BABE pre-digest"), + }; + + if let PreDigest::Primary(PrimaryPreDigest { authority_index, slot, .. }) = pre_digest_data { + prop_assert_eq!(authority_index, expected_authority_index); + prop_assert_eq!(slot, relay_chain::Slot::from(block_number as u64)); + } else { + panic!("Pre-Digest should be Primary"); + } + + // 5. Validate Seal content (check signature) + let signature = match seal_item { + DigestItem::Seal(id, data) if id == &sp_consensus_babe::BABE_ENGINE_ID => { + let raw_sig = Signature::decode(&mut &data[..]).expect("Valid signature"); + sp_consensus_babe::AuthoritySignature::from(raw_sig) + } + _ => panic!("Expected a BABE seal"), + }; + + // The signature must be valid for the header's hash without the seal, signed by the expected authority + // We need to create a copy of the header without the seal to get the correct hash for verification. + let mut header_without_seal = header.clone(); + header_without_seal.digest_mut().pop(); // Remove the seal + let header_hash_for_verification = header_without_seal.hash(); + prop_assert!(AuthorityPair::verify(&signature, header_hash_for_verification.as_bytes(), &authority_pair.public())); + + let header_hash = header.hash(); + + previous_hash = Some(header_hash); + } + } + } + + /// Test to ensure that when num_authorities is populated, the authorities are included in the + /// proof + #[test] + fn test_authorities_included_in_proof() { + let mut builder = RelayStateSproofBuilder::default(); + builder.num_authorities = 3; + + let (state_root, proof) = builder.into_state_root_and_proof(); + + // Verify that the proof contains the authorities keys + let authorities_key = relay_chain::well_known_keys::AUTHORITIES; + let next_authorities_key = relay_chain::well_known_keys::NEXT_AUTHORITIES; + + // At minimum, we should be able to verify that authorities data exists in the storage + // by reconstructing the storage and checking if the keys exist + use sp_runtime::traits::HashingFor; + use sp_state_machine::{Backend, TrieBackendBuilder}; + let db = proof.into_memory_db::>(); + let backend = TrieBackendBuilder::new(db, state_root).build(); + + // Verify authorities key exists and contains 3 authorities + let authorities_data = backend.storage(authorities_key).unwrap().unwrap(); + let authorities: Vec<(AuthorityId, BabeAuthorityWeight)> = + codec::Decode::decode(&mut &authorities_data[..]).unwrap(); + assert_eq!(authorities.len(), 3); + + // Verify next_authorities key exists and contains the same 3 authorities + let next_authorities_data = backend.storage(next_authorities_key).unwrap().unwrap(); + let next_authorities: Vec<(AuthorityId, BabeAuthorityWeight)> = + codec::Decode::decode(&mut &next_authorities_data[..]).unwrap(); + assert_eq!(next_authorities.len(), 3); + + // Verify they are the same authorities + assert_eq!(authorities, next_authorities); + } + + /// Test to ensure into_state_root_proof_and_descendants generates relay_parent_offset+1 headers + #[test] + fn test_into_state_root_proof_and_descendants_generates_correct_number_of_headers() { + let mut builder = RelayStateSproofBuilder::default(); + builder.num_authorities = 2; + + // Test with different relay_parent_offsets + let test_cases = vec![0, 1, 5, 10]; + + for relay_parent_offset in test_cases { + let builder_clone = builder.clone(); + let (state_root, _proof, descendants) = + builder_clone.into_state_root_proof_and_descendants(relay_parent_offset); + + // Should generate relay_parent_offset + 1 headers + let expected_num_headers = relay_parent_offset + 1; + assert_eq!( + descendants.len(), + expected_num_headers as usize, + "Failed for relay_parent_offset {}: expected {} headers, got {}", + relay_parent_offset, + expected_num_headers, + descendants.len() + ); + + // Verify the headers are properly linked + for (i, header) in descendants.iter().enumerate() { + assert_eq!(header.number, i as u32); + assert_eq!(header.state_root, state_root.into()); + } + + // Verify each header has proper digest items (pre-digest and seal) + for header in &descendants { + assert_eq!( + header.digest().logs.len(), + 2, + "Each header should have pre-digest and seal" + ); + } + } + } +} diff --git a/cumulus/test/runtime/Cargo.toml b/cumulus/test/runtime/Cargo.toml index cc8142ff2dedb..703e346582891 100644 --- a/cumulus/test/runtime/Cargo.toml +++ b/cumulus/test/runtime/Cargo.toml @@ -41,6 +41,9 @@ sp-session = { workspace = true } sp-transaction-pool = { workspace = true } sp-version = { workspace = true } +# Polkadot +polkadot-primitives = { workspace = true } + # Cumulus cumulus-pallet-aura-ext = { workspace = true } cumulus-pallet-parachain-system = { workspace = true } @@ -75,6 +78,7 @@ std = [ "pallet-timestamp/std", "pallet-transaction-payment/std", "parachain-info/std", + "polkadot-primitives/std", "scale-info/std", "serde_json/std", "sp-api/std", diff --git a/cumulus/test/runtime/src/genesis_config_presets.rs b/cumulus/test/runtime/src/genesis_config_presets.rs index 84ba71ae795fd..ba96ec03f8f9b 100644 --- a/cumulus/test/runtime/src/genesis_config_presets.rs +++ b/cumulus/test/runtime/src/genesis_config_presets.rs @@ -60,8 +60,9 @@ pub fn preset_names() -> Vec { pub fn get_preset(id: &PresetId) -> Option> { let patch = match id.as_ref() { sp_genesis_builder::DEV_RUNTIME_PRESET | - sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET => - testnet_genesis_with_default_endowed(100.into()), + sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET => { + testnet_genesis_with_default_endowed(100.into()) + }, _ => return None, }; Some( diff --git a/cumulus/test/runtime/src/lib.rs b/cumulus/test/runtime/src/lib.rs index 8acbc49a33834..8d17cdfe9b711 100644 --- a/cumulus/test/runtime/src/lib.rs +++ b/cumulus/test/runtime/src/lib.rs @@ -87,7 +87,7 @@ use sp_runtime::{ use sp_version::NativeVersion; use sp_version::RuntimeVersion; -use cumulus_primitives_core::ParaId; +use cumulus_primitives_core::{ParaId, RelayProofRequest}; // A few exports that help ease life for downstream crates. pub use frame_support::{ @@ -240,7 +240,7 @@ parameter_types! { pub const BlockHashCount: BlockNumber = 250; pub const Version: RuntimeVersion = VERSION; pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + BlockLength::builder().max_length(10 * 1024 * 1024).max_header_size(5 * 1024 * 1024).build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -374,7 +374,7 @@ impl cumulus_pallet_parachain_system::Config for Runtime { type WeightInfo = (); type SelfParaId = parachain_info::Pallet; type RuntimeEvent = RuntimeEvent; - type OnSystemEvent = (); + type OnSystemEvent = TestPallet; type OutboundXcmpMessageSource = (); // Ignore all DMP messages by enqueueing them into `()`: type DmpQueue = frame_support::traits::EnqueueWithOrigin<(), sp_core::ConstU8<0>>; @@ -598,8 +598,8 @@ impl_runtime_apis! { SessionKeys::decode_into_raw_public_keys(&encoded) } - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } } @@ -641,6 +641,19 @@ impl_runtime_apis! { 1 } } + + impl cumulus_primitives_core::KeyToIncludeInRelayProof for Runtime { + fn keys_to_prove() -> cumulus_primitives_core::RelayProofRequest { + use cumulus_primitives_core::RelayStorageKey; + + RelayProofRequest { + keys: vec![ + // Request a key to verify its inclusion in the proof. + RelayStorageKey::Top(test_pallet::relay_alice_account_key()), + ], + } + } + } } cumulus_pallet_parachain_system::register_validate_block! { diff --git a/cumulus/test/runtime/src/test_pallet.rs b/cumulus/test/runtime/src/test_pallet.rs index a972198c300d9..81a31b15ab970 100644 --- a/cumulus/test/runtime/src/test_pallet.rs +++ b/cumulus/test/runtime/src/test_pallet.rs @@ -17,10 +17,25 @@ /// A special pallet that exposes dispatchables that are only useful for testing. pub use pallet::*; +use codec::Encode; + /// Some key that we set in genesis and only read in [`TestOnRuntimeUpgrade`] to ensure that /// [`OnRuntimeUpgrade`] works as expected. pub const TEST_RUNTIME_UPGRADE_KEY: &[u8] = b"+test_runtime_upgrade_key+"; +/// Generates the storage key for Alice's account on the relay chain. +pub fn relay_alice_account_key() -> alloc::vec::Vec { + use sp_keyring::Sr25519Keyring; + + let alice = Sr25519Keyring::Alice.to_account_id(); + + let mut key = sp_io::hashing::twox_128(b"System").to_vec(); + key.extend_from_slice(&sp_io::hashing::twox_128(b"Account")); + key.extend_from_slice(&sp_io::hashing::blake2_128(&alice.encode())); + key.extend_from_slice(&alice.encode()); + key +} + #[frame_support::pallet(dev_mode)] pub mod pallet { use crate::test_pallet::TEST_RUNTIME_UPGRADE_KEY; @@ -121,3 +136,30 @@ pub mod pallet { } } } + +impl cumulus_pallet_parachain_system::OnSystemEvent for Pallet { + fn on_validation_data(_data: &cumulus_primitives_core::PersistedValidationData) { + // Nothing to do here for tests + } + + fn on_validation_code_applied() { + // Nothing to do here for tests + } + + fn on_relay_state_proof( + relay_state_proof: &cumulus_pallet_parachain_system::relay_state_snapshot::RelayChainStateProof, + ) -> frame_support::weights::Weight { + use crate::{Balance, Nonce}; + use frame_system::AccountInfo; + use pallet_balances::AccountData; + + let alice_key = crate::test_pallet::relay_alice_account_key(); + + // Verify that Alice's account is included in the relay proof. + relay_state_proof + .read_optional_entry::>>(&alice_key) + .expect("Invalid relay chain state proof"); + + frame_support::weights::Weight::zero() + } +} diff --git a/cumulus/test/service/src/lib.rs b/cumulus/test/service/src/lib.rs index a8b3a028ce2bb..18f3896772ba5 100644 --- a/cumulus/test/service/src/lib.rs +++ b/cumulus/test/service/src/lib.rs @@ -196,6 +196,7 @@ pub fn new_partial( None, executor, enable_import_proof_record, + Default::default(), )?; let client = Arc::new(client); @@ -270,7 +271,7 @@ async fn build_relay_chain_interface( Some("Relaychain"), ) .map_err(|e| RelayChainError::Application(Box::new(e) as Box<_>))?, - cumulus_client_cli::RelayChainMode::ExternalRpc(rpc_target_urls) => + cumulus_client_cli::RelayChainMode::ExternalRpc(rpc_target_urls) => { return build_minimal_relay_chain_node_with_rpc( relay_chain_config, parachain_prometheus_registry, @@ -278,7 +279,8 @@ async fn build_relay_chain_interface( rpc_target_urls, ) .await - .map(|r| r.0), + .map(|r| r.0) + }, }; task_manager.add_child(relay_chain_node.task_manager); @@ -362,6 +364,7 @@ where transaction_pool: transaction_pool.clone(), para_id, spawn_handle: task_manager.spawn_handle(), + spawn_essential_handle: task_manager.spawn_essential_handle(), relay_chain_interface: relay_chain_interface.clone(), import_queue: params.import_queue, metrics: Net::register_notification_metrics( @@ -713,7 +716,7 @@ impl TestNodeBuilder { let (task_manager, client, network, rpc_handlers, transaction_pool, backend) = match relay_chain_config.network.network_backend { - sc_network::config::NetworkBackendType::Libp2p => + sc_network::config::NetworkBackendType::Libp2p => { start_node_impl::<_, sc_network::NetworkWorker<_, _>>( parachain_config, self.collator_key, @@ -726,8 +729,9 @@ impl TestNodeBuilder { false, ) .await - .expect("could not create Cumulus test service"), - sc_network::config::NetworkBackendType::Litep2p => + .expect("could not create Cumulus test service") + }, + sc_network::config::NetworkBackendType::Litep2p => { start_node_impl::<_, sc_network::Litep2pNetworkBackend>( parachain_config, self.collator_key, @@ -740,7 +744,8 @@ impl TestNodeBuilder { false, ) .await - .expect("could not create Cumulus test service"), + .expect("could not create Cumulus test service") + }, }; let peer_id = network.local_peer_id(); let multiaddr = polkadot_test_service::get_listen_address(network.clone()).await; diff --git a/cumulus/test/service/src/main.rs b/cumulus/test/service/src/main.rs index c8fdeb46ca615..000e4fe2f6f8f 100644 --- a/cumulus/test/service/src/main.rs +++ b/cumulus/test/service/src/main.rs @@ -100,7 +100,7 @@ fn main() -> Result<(), sc_cli::Error> { let (mut task_manager, _, _, _, _, _) = tokio_runtime .block_on(async move { match relay_chain_config.network.network_backend { - sc_network::config::NetworkBackendType::Libp2p => + sc_network::config::NetworkBackendType::Libp2p => { cumulus_test_service::start_node_impl::< _, sc_network::NetworkWorker<_, _>, @@ -115,8 +115,9 @@ fn main() -> Result<(), sc_cli::Error> { true, use_slot_based_collator, ) - .await, - sc_network::config::NetworkBackendType::Litep2p => + .await + }, + sc_network::config::NetworkBackendType::Litep2p => { cumulus_test_service::start_node_impl::< _, sc_network::Litep2pNetworkBackend, @@ -131,7 +132,8 @@ fn main() -> Result<(), sc_cli::Error> { true, use_slot_based_collator, ) - .await, + .await + }, } }) .expect("could not create Cumulus test service"); diff --git a/cumulus/xcm/xcm-emulator/src/lib.rs b/cumulus/xcm/xcm-emulator/src/lib.rs index 44fd383dc263a..6894e9b391390 100644 --- a/cumulus/xcm/xcm-emulator/src/lib.rs +++ b/cumulus/xcm/xcm-emulator/src/lib.rs @@ -94,6 +94,10 @@ use xcm_simulator::helpers::TopicIdTracker; pub type AccountIdOf = ::AccountId; +/// Relay chain slot duration in milliseconds (6 seconds). +/// This is used to calculate timestamps and derive parachain slots from relay chain slots. +pub const RELAY_CHAIN_SLOT_DURATION_MILLIS: u64 = 6000; + thread_local! { /// Downward messages, each message is: `(to_para_id, [(relay_block_number, msg)])` #[allow(clippy::type_complexity)] @@ -257,6 +261,9 @@ pub trait Chain: TestExt { fn account_data_of(account: AccountIdOf) -> AccountData; fn events() -> Vec<::RuntimeEvent>; + + /// Whether the local Total Issuance can be treated as authoritative. + fn native_total_issuance_source_of_truth() -> bool; } pub trait RelayChain: Chain { @@ -284,10 +291,6 @@ pub trait Parachain: Chain { type ParachainInfo: Get; type ParachainSystem; type MessageProcessor: ProcessMessage + ServiceQueues; - type DigestProvider: Convert< - (BlockNumberFor, BlockNumberFor), - Digest, - >; type AdditionalInherentCode: AdditionalInherentCode; fn init(); @@ -419,6 +422,10 @@ macro_rules! decl_test_relay_chains { .map(|record| record.event.clone()) .collect() } + + fn native_total_issuance_source_of_truth() -> bool { + false + } } impl $crate::RelayChain for $name { @@ -624,8 +631,8 @@ macro_rules! decl_test_parachains { LocationToAccountId: $location_to_account:path, ParachainInfo: $parachain_info:path, MessageOrigin: $message_origin:path, - $( DigestProvider: $digest_provider:ty,)? $( AdditionalInherentCode: $additional_inherent_code:ty,)? + $( native_total_supply_tracker: $total_supply_tracker:expr,)? }, pallets = { $($pallet_name:ident: $pallet_path:path,)* @@ -658,6 +665,10 @@ macro_rules! decl_test_parachains { .map(|record| record.event.clone()) .collect() } + + fn native_total_issuance_source_of_truth() -> bool { + $crate::decl_test_parachains!(@inner_total_supply_tracker $($total_supply_tracker)?) + } } impl $crate::Parachain for $name { @@ -666,7 +677,6 @@ macro_rules! decl_test_parachains { type ParachainSystem = $crate::ParachainSystemPallet<::Runtime>; type ParachainInfo = $parachain_info; type MessageProcessor = $crate::DefaultParaMessageProcessor<$name, $message_origin>; - $crate::decl_test_parachains!(@inner_digest_provider $($digest_provider)?); $crate::decl_test_parachains!(@inner_additional_inherent_code $($additional_inherent_code)?); // We run an empty block during initialisation to open HRMP channels @@ -688,15 +698,21 @@ macro_rules! decl_test_parachains { fn new_block() { use $crate::{ - Dispatchable, Chain, Convert, TestExt, Zero, AdditionalInherentCode + Dispatchable, Chain, TestExt, Zero, AdditionalInherentCode, + RELAY_CHAIN_SLOT_DURATION_MILLIS }; let para_id = Self::para_id().into(); Self::ext_wrapper(|| { - // Increase Relay Chain block number + let slot_duration = $crate::pallet_aura::Pallet::<$runtime::Runtime>::slot_duration(); + + let relay_blocks_per_para_block = + (slot_duration / RELAY_CHAIN_SLOT_DURATION_MILLIS).max(1) as u32; + + // Increase Relay Chain block number by relay_blocks_per_para_block let mut relay_block_number = N::relay_block_number(); - relay_block_number += 1; + relay_block_number += relay_blocks_per_para_block; N::set_relay_block_number(relay_block_number); // Initialize a new Parachain block @@ -710,9 +726,16 @@ macro_rules! decl_test_parachains { .clone() ); - // Initialze `System`. - let digest = ::DigestProvider::convert((block_number, relay_block_number)); - let slot_duration = $crate::pallet_aura::Pallet::<$runtime::Runtime>::slot_duration(); + // Build aura digest: derive para slot from relay block number and slot durations. + let aura_slot: $crate::Slot = (relay_block_number as u64 + * RELAY_CHAIN_SLOT_DURATION_MILLIS + / slot_duration) + .into(); + let mut digest = $crate::Digest::default(); + digest.logs.push($crate::DigestItem::PreRuntime( + $crate::AURA_ENGINE_ID, + $crate::Encode::encode(&aura_slot), + )); ::System::initialize(&block_number, &parent_head_data.hash(), &digest); // Process `on_initialize` for all pallets except `System`. @@ -724,9 +747,7 @@ macro_rules! decl_test_parachains { // 1. inherent: pallet_timestamp::Call::set (we expect the parachain has `pallet_timestamp`) let timestamp_set: ::RuntimeCall = $crate::TimestampCall::set { - // We need to satisfy `pallet_timestamp::on_finalize`. - // The timestamp must match the relay chain slot since Aura uses the relay chain slot from the digest. - now: relay_block_number as u64 * slot_duration, + now: relay_block_number as u64 * RELAY_CHAIN_SLOT_DURATION_MILLIS, }.into(); $crate::assert_ok!( timestamp_set.dispatch(::RuntimeOrigin::none()) @@ -814,10 +835,10 @@ macro_rules! decl_test_parachains { $crate::__impl_check_assertion!($name, N); )+ }; - ( @inner_digest_provider $digest_provider:ty ) => { type DigestProvider = $digest_provider; }; - ( @inner_digest_provider /* none */ ) => { type DigestProvider = (); }; ( @inner_additional_inherent_code $additional_inherent_code:ty ) => { type AdditionalInherentCode = $additional_inherent_code; }; ( @inner_additional_inherent_code /* none */ ) => { type AdditionalInherentCode = (); }; + ( @inner_total_supply_tracker $total_supply_tracker:expr ) => { $total_supply_tracker }; + ( @inner_total_supply_tracker /* none */ ) => { false }; } #[macro_export] @@ -1443,6 +1464,7 @@ macro_rules! decl_test_sender_receiver_accounts_parameter_types { } pub struct DefaultParaMessageProcessor(PhantomData<(T, M)>); + // Process HRMP messages from sibling paraids impl ProcessMessage for DefaultParaMessageProcessor where @@ -1475,6 +1497,7 @@ where Ok(true) } } + impl ServiceQueues for DefaultParaMessageProcessor where M: MaxEncodedLen, @@ -1501,6 +1524,7 @@ pub type MessageOriginFor = <<::Runtime as MessageQueueConfig>::MessageProcessor as ProcessMessage>::Origin; pub struct DefaultRelayMessageProcessor(PhantomData); + // Process UMP messages on the relay impl ProcessMessage for DefaultRelayMessageProcessor where @@ -1657,6 +1681,7 @@ where self.topic_id_tracker.lock().unwrap().insert_and_assert_unique(chain, id); } } + impl Test where Args: Clone, diff --git a/cumulus/zombienet/zombienet-sdk-helpers/src/lib.rs b/cumulus/zombienet/zombienet-sdk-helpers/src/lib.rs index da25b8df0a0b3..d15e5aa93deb5 100644 --- a/cumulus/zombienet/zombienet-sdk-helpers/src/lib.rs +++ b/cumulus/zombienet/zombienet-sdk-helpers/src/lib.rs @@ -71,8 +71,15 @@ pub async fn assert_para_throughput( let expected_candidate_ranges = expected_candidate_ranges.into(); let valid_para_ids: Vec = expected_candidate_ranges.keys().cloned().collect(); + log::info!( + "Asserting parachain throughput for para_ids: {:?}. Wait for the first session change", + valid_para_ids + ); // Wait for the first session, block production on the parachain will start after that. wait_for_first_session_change(&mut blocks_sub).await?; + log::info!( + "First session change detected. Counting {stop_after} finalized relay chain blocks." + ); while let Some(block) = blocks_sub.next().await { let block = block?; @@ -81,7 +88,7 @@ pub async fn assert_para_throughput( // Do not count blocks with session changes, no backed blocks there. if is_session_change(&block).await? { - continue + continue; } current_block_count += 1; @@ -116,12 +123,12 @@ pub async fn assert_para_throughput( for (para_id, expected_candidate_range) in expected_candidate_ranges { let actual = candidate_count .get(¶_id) - .ok_or_else(|| anyhow!("ParaId did not have any backed candidates"))?; + .ok_or_else(|| anyhow!("ParaId {} did not have any backed candidates", para_id))?; if !expected_candidate_range.contains(actual) { return Err(anyhow!( "Candidate count {actual} not within range {expected_candidate_range:?}" - )) + )); } } @@ -240,8 +247,9 @@ fn identifier_matches_header( let header_hash = BlakeTwo256::hash(&header.encode()); header_hash == *hash }, - RelayBlockIdentifier::ByStorageRoot { storage_root, .. } => - header.state_root == *storage_root, + RelayBlockIdentifier::ByStorageRoot { storage_root, .. } => { + header.state_root == *storage_root + }, } } @@ -358,7 +366,7 @@ pub async fn submit_extrinsic_and_wait_for_finalization_success { tx_in_block.wait_for_success().await?; log::info!("[Finalized] In block: {:#?}", tx_in_block.block_hash()); - return Ok(tx_in_block.block_hash()) + return Ok(tx_in_block.block_hash()); }, TxStatus::Error { message } | TxStatus::Invalid { message } | @@ -546,7 +554,7 @@ pub async fn wait_for_runtime_upgrade( { log::info!("Runtime upgraded in block {:?}", block.hash()); - return Ok(block.hash()) + return Ok(block.hash()); } } diff --git a/cumulus/zombienet/zombienet-sdk/Cargo.toml b/cumulus/zombienet/zombienet-sdk/Cargo.toml index 52f1a6e6364fb..65bc1ed53eb51 100644 --- a/cumulus/zombienet/zombienet-sdk/Cargo.toml +++ b/cumulus/zombienet/zombienet-sdk/Cargo.toml @@ -21,7 +21,7 @@ zombienet-orchestrator = { workspace = true } zombienet-configuration = { workspace = true } cumulus-zombienet-sdk-helpers = { workspace = true } cumulus-test-runtime = { workspace = true } -sp-statement-store = { workspace = true, default-features = true } +sp-statement-store = { workspace = true, default-features = true, features = ["serde"] } sc-statement-store = { workspace = true, default-features = true } sp-keyring = { workspace = true, default-features = true } sp-core = { workspace = true, default-features = true } @@ -30,3 +30,4 @@ rstest = { workspace = true } [features] zombie-ci = [] +generate-snapshots = [] diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/bootnodes.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/bootnodes.rs index 4c5a55ad3823b..69b5b0717d1a1 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/bootnodes.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/bootnodes.rs @@ -27,10 +27,12 @@ async fn build_network_config() -> Result { // Not strictly necessary for the test, but to keep it consistent // with the parachain part we also pass `--no-mdns` to the relaychain. .with_default_args(vec!["-lparachain=debug".into(), "--no-mdns".into()]) - // Have to set a `with_node` outside of the loop below, so that `r` has the right - // type. - .with_node(|node| node.with_name("validator-0")); - (1..3).fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) + // Have to set a `with_validator` outside of the loop below, so that `r` has the + // right type. + .with_validator(|node| node.with_name("validator-0")); + (1..3).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }) }) .with_parachain(|p| { p.with_id(1000) diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/asset_hub_westend.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/asset_hub_westend.rs new file mode 100644 index 0000000000000..ea18fb310b322 --- /dev/null +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/asset_hub_westend.rs @@ -0,0 +1,101 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +use crate::utils::initialize_network; + +use anyhow::anyhow; +use cumulus_zombienet_sdk_helpers::{assert_para_throughput, assign_cores}; +use polkadot_primitives::Id as ParaId; +use serde_json::json; +use zombienet_sdk::{ + subxt::{OnlineClient, PolkadotConfig}, + NetworkConfig, NetworkConfigBuilder, +}; + +const PARA_ID: u32 = 1000; + +async fn build_network_config() -> Result { + // images are not relevant for `native`, but we leave it here in case we use `k8s` some day + let images = zombienet_sdk::environment::get_images_from_env(); + log::info!("Using images: {images:?}"); + + NetworkConfigBuilder::new() + .with_relaychain(|r| { + let r = r + .with_chain("westend-local") + .with_default_command("polkadot") + .with_default_image(images.polkadot.as_str()) + .with_default_args(vec![("-lparachain=trace").into()]) + .with_default_resources(|resources| { + // These settings are applicable only for `k8s` provider. + // Leaving them in case we switch to `k8s` some day. + resources.with_request_cpu(4).with_request_memory("4G") + }) + .with_genesis_overrides(json!({ + "configuration": { + "config": { + "scheduler_params": { + "num_cores": 3, + "max_validators_per_core": 1 + } + } + } + })) + // Have to set a `with_validator` outside of the loop below, so that `r` has the right + // type. + .with_validator(|node| node.with_name("validator-0")); + (1..9).fold(r, |acc, i| acc.with_validator(|node| node.with_name(&format!("validator-{i}")))) + }) + .with_parachain(|p| { + p.with_id(PARA_ID) + .with_default_command("polkadot-parachain") + .with_default_image(images.cumulus.as_str()) + .with_chain("asset-hub-westend-local") + .with_default_args(vec![ + ("-laura=trace,runtime=info,cumulus-consensus=trace,consensus::common=trace,parachain::collation-generation=trace,parachain::collator-protocol=trace,parachain=debug").into(), + ("--force-authoring").into(), + ("--authoring", "slot-based").into(), + ]) + .with_collator(|n| n.with_name("collator-0")) + .with_collator(|n| n.with_name("collator-1")) + .with_collator(|n| n.with_name("collator-2")) + }) + .with_global_settings(|global_settings| match std::env::var("ZOMBIENET_SDK_BASE_DIR") { + Ok(val) => global_settings.with_base_dir(val), + _ => global_settings, + }) + .build() + .map_err(|e| { + let errs = e.into_iter().map(|e| e.to_string()).collect::>().join(" "); + anyhow!("config errs: {errs}") + }) +} + +#[tokio::test(flavor = "multi_thread")] +async fn elastic_scaling_asset_hub_westend() -> Result<(), anyhow::Error> { + let _ = env_logger::try_init_from_env( + env_logger::Env::default().filter_or(env_logger::DEFAULT_FILTER_ENV, "info"), + ); + + log::info!("Spawning network"); + let config = build_network_config().await?; + let network = initialize_network(config).await?; + + let relay_node = network.get_node("validator-0")?; + let relay_client: OnlineClient = relay_node.wait_client().await?; + + assign_cores(&relay_client, PARA_ID, vec![0]).await?; + + assert_para_throughput(&relay_client, 10, [(ParaId::from(PARA_ID), 3..18)]).await?; + + // 1 core is assigned by default, we are assigning 2 more cores: 0 and 1. + assign_cores(&relay_client, PARA_ID, vec![1]).await?; + + log::info!("Ensure elastic scaling works, 3 blocks should be produced in each 6s slot"); + + assert_para_throughput(&relay_client, 20, [(ParaId::from(PARA_ID), 50..61)]).await?; + + log::info!("Test finished successfully."); + + Ok(()) +} diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/mod.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/mod.rs index e6ffdcbea19bf..3ad06efbfae90 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/mod.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/mod.rs @@ -1,6 +1,7 @@ // Copyright (C) Parity Technologies (UK) Ltd. // SPDX-License-Identifier: Apache-2.0 +mod asset_hub_westend; mod multiple_blocks_per_slot; mod pov_recovery; mod slot_based_authoring; diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/multiple_blocks_per_slot.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/multiple_blocks_per_slot.rs index c44d49cf470dc..c39b9ebde5c7c 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/multiple_blocks_per_slot.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/multiple_blocks_per_slot.rs @@ -77,10 +77,12 @@ async fn build_network_config() -> Result { } } })) - // Have to set a `with_node` outside of the loop below, so that `r` has the right - // type. - .with_node(|node| node.with_name("validator-0")); - (1..9).fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) + // Have to set a `with_validator` outside of the loop below, so that `r` has the + // right type. + .with_validator(|node| node.with_name("validator-0")); + (1..9).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }) }) .with_parachain(|p| { p.with_id(PARA_ID) diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/pov_recovery.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/pov_recovery.rs index 3a3e1ba06b0ee..e0cef3218741a 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/pov_recovery.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/pov_recovery.rs @@ -136,12 +136,12 @@ async fn build_network_config() -> Result { } } })) - // Have to set a `with_node` outside of the loop below, so that `r` has the right + // Have to set a `with_validator` outside of the loop below, so that `r` has the right // type. - .with_node(|node| node.with_name("alice").with_args(vec![])); + .with_validator(|node| node.with_name("alice").with_args(vec![])); (0..4).fold(r, |acc, i| { - acc.with_node(|node| { + acc.with_validator(|node| { node.with_name(&format!("validator-{i}")).with_args(vec![ ("-lruntime=debug,parachain=trace").into(), ("--reserved-only").into(), diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/slot_based_authoring.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/slot_based_authoring.rs index ebff882a878a6..bcb88722f7c98 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/slot_based_authoring.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/slot_based_authoring.rs @@ -107,12 +107,12 @@ async fn build_network_config() -> Result { } } })) - // Have to set a `with_node` outside of the loop below, so that `r` has the right + // Have to set a `with_validator` outside of the loop below, so that `r` has the right // type. - .with_node(|node| node.with_name("alice").with_args(vec![])); + .with_validator(|node| node.with_name("alice").with_args(vec![])); (0..5).fold(r, |acc, i| { - acc.with_node(|node| { + acc.with_validator(|node| { node.with_name(&format!("validator-{i}")).with_args(vec![ ("-lruntime=debug,parachain=trace").into(), ]) diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/slot_based_rp_offset.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/slot_based_rp_offset.rs index 0a2355c6cbe26..79275ad99bf50 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/slot_based_rp_offset.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/slot_based_rp_offset.rs @@ -40,11 +40,13 @@ async fn elastic_scaling_slot_based_relay_parent_offset_test() -> Result<(), any } } })) - // Have to set a `with_node` outside of the loop below, so that `r` has the right - // type. - .with_node(|node| node.with_name("validator-0")); + // Have to set a `with_validator` outside of the loop below, so that `r` has the + // right type. + .with_validator(|node| node.with_name("validator-0")); - (1..6).fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) + (1..6).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }) }) .with_parachain(|p| { p.with_id(2400) diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/upgrade_to_3_cores.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/upgrade_to_3_cores.rs index 570932e8e82b6..e7cc473f924ac 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/upgrade_to_3_cores.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/elastic_scaling/upgrade_to_3_cores.rs @@ -127,34 +127,23 @@ async fn build_network_config(async_backing: bool) -> Result global_settings.with_base_dir(val), diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_catching_up.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_catching_up.rs index 1c260926aaeac..1c80f90c26d8f 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_catching_up.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_catching_up.rs @@ -79,8 +79,8 @@ async fn build_network_config() -> Result { .with_default_command("polkadot") .with_default_image(images.polkadot.as_str()) .with_default_args(vec![("-lparachain=debug").into()]) - .with_node(|node| node.with_name("alice")) - .with_node(|node| node.with_name("bob")) + .with_validator(|node| node.with_name("alice")) + .with_validator(|node| node.with_name("bob")) }) .with_parachain(|p| { p.with_id(PARA_ID) diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync.rs deleted file mode 100644 index ce7021b96608e..0000000000000 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync.rs +++ /dev/null @@ -1,249 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Test for warp syncing nodes. -//! -//! ## How to update this test? -//! -//! Usually, this action is required after changes suffered by `cumulus-test-runtime` or -//! `rococo-local`. The test starts a relaychain + parachain network, where a few nodes are started -//! based on existing db snapshots, while the rest of the nodes are warp synced to the latest -//! state. Updating the test means updating the chain specs used to start both relaychain and -//! parachain nodes, but also the snapshots. -//! -//! ### Updating chain specs -//! -//! Existing chain specs are found under [./warp-sync-parachain-spec.json] and -//! [./warp-sync-relaychain-spec.json]. We need to replace them with the updated chain specs. -//! -//! #### For parachain -//! -//! 1. We need to rebuild `cumulus-test-runtime`: -//! -//! ```bash -//! cargo build -p cumulus-test-runtime --release -//! ``` -//! -//! 2. Build `chain-spec-builder`: -//! -//! ```bash -//! cargo build -p staging-chain-spec-builder --release -//! ``` -//! -//! 3. Generate the chain spec: -//! ```bash -//! target/release/chain-spec-builder create -r target/release/wbuild/cumulus-test-runtime/cumulus_test_runtime.wasm named-preset development -//! ``` -//! -//! 4. Replace the chain spec: -//! ```bash -//! mv chain_spec.json cumulus/zombienet/zombienet-sdk/tests/zombie_ci/warp-sync-parachain-spec.json -//! ``` -//! -//! #### For relaychain -//! -//! 1. Build the `polkadot` binary -//! ```bash -//! cargo build -p polkadot --release -//! ``` -//! -//! 2. Export `rococo-local` chainspec: -//! ```bash -//! polkadot export-chain-spec --chain rococo-local > chain_spec.json -//! ``` -//! -//! 3. Replace the chain spec: -//! ```bash -//! mv chain_spec.json cumulus/zombienet/zombienet-sdk/tests/zombie_ci/warp-sync-relaychain-spec.json -//! ``` -//! -//! ### Update snapshots -//! -//! For this we need to have the zombienet network running from genesis for a while, with same -//! nodes, and archive final db states of `alice` and `eve`. Actual steps below: -//! -//! #### Modify the test -//! -//! 1. Comment the `with_db_snapshot` setters. -//! 2. make `alice` and `eve` archive nodes by adding: -//! ```ignore -//! .with_args(vec![("--state-pruning", "archive")]) -//! ``` -//! 3. Increase the `wait_metric_with_timeout(.., .., 225u64)` timeout parameter to something like -//! `86400u64` (a day worth of running, which should be sufficient time for the node to reach the -//! 930th best block on `eve`). -//! -//! #### Run the test -//! ```bash -//! ZOMBIENET_SDK_BASE_DIR= ZOMBIE_PROVIDER=native cargo nextest run --release \ -//! -p cumulus-zombienet-sdk-tests --features zombie-ci --no-capture -- full_node_warp_sync -//! ``` -//! -//! #### Archive/compress the databases -//! -//! 1. For relaychain: -//! -//! ```bash -//! cd $ZOMBIENET_SDK_BASE_DIR/alice -//! tar -czf alice-db.tgz data/ -//! ``` -//! -//! 2. For parachain: -//! -//! ```bash -//! cd $ZOMBIENET_SDK_BASE_DIR/eve -//! tar -czf eve-db.tgz data/ relay-data/ -//! ``` -//! -//! 3. Upload the archives to public URL (CI/CD team can help), and update the const's in this file -//! to point to them. - -use anyhow::anyhow; - -use polkadot_primitives::Id as ParaId; - -use crate::utils::{initialize_network, BEST_BLOCK_METRIC}; -use cumulus_zombienet_sdk_helpers::assert_para_is_registered; -use zombienet_sdk::{ - subxt::{OnlineClient, PolkadotConfig}, - NetworkConfig, NetworkConfigBuilder, -}; - -const PARA_ID: u32 = 2000; - -const DB_SNAPSHOT_RELAYCHAIN: &str = "https://storage.googleapis.com/zombienet-db-snaps/zombienet/0007-full_node_warp_sync_db/alice-db.tgz"; -const DB_SNAPSHOT_PARACHAIN: &str = "https://storage.googleapis.com/zombienet-db-snaps/zombienet/0007-full_node_warp_sync_db/eve-db.tgz"; - -#[tokio::test(flavor = "multi_thread")] -async fn full_node_warp_sync() -> Result<(), anyhow::Error> { - let _ = env_logger::try_init_from_env( - env_logger::Env::default().filter_or(env_logger::DEFAULT_FILTER_ENV, "info"), - ); - - log::info!("Spawning network"); - let config = build_network_config().await?; - let network = initialize_network(config).await?; - - let alice = network.get_node("alice")?; - let alice_client: OnlineClient = alice.wait_client().await?; - - log::info!("Ensuring parachain is registered"); - assert_para_is_registered(&alice_client, ParaId::from(PARA_ID), 10).await?; - - for name in ["two", "three", "four"] { - log::info!("Checking full node {name} is syncing"); - assert!(network - .get_node(name)? - .wait_metric_with_timeout(BEST_BLOCK_METRIC, |b| b >= 930.0, 225u64) - .await - .is_ok()); - } - - Ok(()) -} - -async fn build_network_config() -> Result { - // images are not relevant for `native`, but we leave it here in case we use `k8s` some day - let images = zombienet_sdk::environment::get_images_from_env(); - log::info!("Using images: {images:?}"); - - // Network setup: - // - relaychain nodes: - // - alice - validator - // - bob - validator - // - charlie - validator - // - dave - validator - // - parachain nodes - // - eve - collator - // - ferdie - collator - // - one - collator - // - two - full node - // - three - full node - // - four - full node - let config = NetworkConfigBuilder::new() - .with_relaychain(|r| { - r.with_chain("rococo-local") - .with_default_command("polkadot") - .with_default_image(images.polkadot.as_str()) - .with_chain_spec_path("tests/zombie_ci/warp-sync-relaychain-spec.json") - .with_default_args(vec![("-lparachain=debug").into()]) - .with_node(|node| node.with_name("alice").with_db_snapshot(DB_SNAPSHOT_RELAYCHAIN)) - .with_node(|node| node.with_name("bob").with_db_snapshot(DB_SNAPSHOT_RELAYCHAIN)) - .with_node(|node| { - node.with_name("charlie").with_db_snapshot(DB_SNAPSHOT_RELAYCHAIN) - }) - .with_node(|node| { - node.with_name("dave").with_args(vec![ - ("-lparachain=debug,sync=trace").into(), - ("--no-beefy").into(), - ("--reserved-only").into(), - ( - "--reserved-nodes", - vec![ - "{{ZOMBIE:alice:multiaddr}}", - "{{ZOMBIE:bob:multiaddr}}", - "{{ZOMBIE:charlie:multiaddr}}", - ], - ) - .into(), - ("--sync", "warp").into(), - ]) - }) - }) - .with_parachain(|p| { - p.with_id(PARA_ID) - .with_default_command("test-parachain") - .with_default_image(images.cumulus.as_str()) - .with_chain_spec_path("tests/zombie_ci/warp-sync-parachain-spec.json") - .with_default_args(vec![("-lparachain=debug").into()]) - .with_collator(|n| n.with_name("eve").with_db_snapshot(DB_SNAPSHOT_PARACHAIN)) - .with_collator(|n| n.with_name("ferdie").with_db_snapshot(DB_SNAPSHOT_PARACHAIN)) - .with_collator(|n| n.with_name("one").with_db_snapshot(DB_SNAPSHOT_PARACHAIN)) - .with_collator(|n| { - n.with_name("two").validator(false).with_args(vec![ - ("-lsync=trace").into(), - ("--sync", "warp").into(), - ("--").into(), - ("--sync", "warp").into(), - ]) - }) - .with_collator(|n| { - n.with_name("three").validator(false).with_args(vec![ - ("-lsync=trace").into(), - ("--sync", "warp").into(), - ("--relay-chain-rpc-urls", "{{ZOMBIE:alice:ws_uri}}").into(), - ]) - }) - .with_collator(|n| { - n.with_name("four").validator(false).with_args(vec![ - ("-lsync=trace").into(), - ("--sync", "warp").into(), - ("--relay-chain-rpc-urls", "{{ZOMBIE:dave:ws_uri}}").into(), - ]) - }) - }) - .with_global_settings(|global_settings| match std::env::var("ZOMBIENET_SDK_BASE_DIR") { - Ok(val) => global_settings.with_base_dir(val), - _ => global_settings, - }) - .build() - .map_err(|e| { - let errs = e.into_iter().map(|e| e.to_string()).collect::>().join(" "); - anyhow!("config errs: {errs}") - })?; - - Ok(config) -} diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/README.md b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/README.md new file mode 100644 index 0000000000000..767cbc3338b0c --- /dev/null +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/README.md @@ -0,0 +1,50 @@ +# Full Node Warp Sync Test + +Integration test verifying warp sync functionality for relay chain and parachain nodes using Zombienet. + +## Updating Test Artifacts + +Test maintenance involves updating chain specs and database snapshots after runtime changes to `cumulus-test-runtime` +or `rococo-local`. + +### Using `generate-snapshots.sh` script + +Use the automation script for all steps: + +```bash +cd cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync + +# Run all phases (~24h) +./generate-snapshots.sh all + +# Or run individual phases +./generate-snapshots.sh build # Build binaries +./generate-snapshots.sh chainspec-parachain # Generate parachain spec +./generate-snapshots.sh chainspec-relaychain # Generate relaychain spec +./generate-snapshots.sh snapshots-generate # Run snapshot generation +./generate-snapshots.sh snapshots-archive # Create snapshot tarballs +./generate-snapshots.sh snapshots-test-local # Validate with local snapshots +``` + +Once the snapshots are validated they are ready to upload to google storage. + +## Testing local snapshots + +```bash +DB_SNAPSHOT_RELAYCHAIN_OVERRIDE=$(realpath relaychain-db.tgz) \ +DB_SNAPSHOT_PARACHAIN_OVERRIDE=$(realpath parachain-db.tgz) \ +TARGET_DIR=$(dirname "$(cargo locate-project --workspace --message-format plain)")/target/release \ +PATH="$TARGET_DIR:$PATH" \ +RUST_LOG=info,zombienet_orchestrator=debug \ +ZOMBIE_PROVIDER=native \ +cargo nextest run --release \ + -p cumulus-zombienet-sdk-tests \ + --features zombie-ci \ + --no-capture \ + -- full_node_warp_sync +``` + +Exactly these steps are performed with command: +```bash +./generate-snapshots.sh snapshots-test-local +``` diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/common.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/common.rs new file mode 100644 index 0000000000000..2ef541911b09e --- /dev/null +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/common.rs @@ -0,0 +1,221 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Cumulus. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use anyhow::anyhow; +#[cfg(not(feature = "generate-snapshots"))] +use zombienet_sdk::{AddNodeOptions, LocalFileSystem, Network}; +use zombienet_sdk::{NetworkConfig, NetworkConfigBuilder}; + +pub const PARA_ID: u32 = 2000; + +pub const PARA_BEST_BLOCK_TO_WAIT_FOR: f64 = 930.0; + +const DB_SNAPSHOT_RELAYCHAIN: &str = "https://storage.googleapis.com/zombienet-db-snaps/zombienet/full_node_warp_sync_db/relaychain-db.tgz"; +const DB_SNAPSHOT_PARACHAIN: &str = + "https://storage.googleapis.com/zombienet-db-snaps/zombienet/full_node_warp_sync_db/parachain-db.tgz"; + +// Helper to support local snapshot testing via environment variables +fn get_snapshot_url(default: &str, env_var: &str) -> String { + std::env::var(env_var).unwrap_or_else(|_| default.to_string()) +} + +pub(crate) async fn build_network_config( + with_snapshot: bool, +) -> Result { + // images are not relevant for `native`, but we leave it here in case we use `k8s` some day + let images = zombienet_sdk::environment::get_images_from_env(); + log::info!("Using images: {images:?}"); + + // Get snapshot URLs (with optional local override via env vars) + let relaychain_snapshot = + get_snapshot_url(DB_SNAPSHOT_RELAYCHAIN, "DB_SNAPSHOT_RELAYCHAIN_OVERRIDE"); + let parachain_snapshot = + get_snapshot_url(DB_SNAPSHOT_PARACHAIN, "DB_SNAPSHOT_PARACHAIN_OVERRIDE"); + + // Network setup: + // - relaychain nodes: + // - alice - validator + // - bob - validator + // - charlie - validator + // - dave - validator + // - eve - full node + // - parachain nodes + // - one - collator + // - two - collator + // - three - collator + // - four - full node + // - five - full node + let config = NetworkConfigBuilder::new() + .with_relaychain(|r| { + r.with_chain("rococo-local") + .with_default_command("polkadot") + .with_default_image(images.polkadot.as_str()) + .with_chain_spec_path( + "tests/zombie_ci/full_node_warp_sync/warp-sync-relaychain-spec-raw.json", + ) + .with_default_args(vec![("-lparachain=debug").into()]) + .with_validator(|node| { + let n = node.with_name("alice"); + if with_snapshot { + n.with_db_snapshot(relaychain_snapshot.as_str()) + } else { + n.with_args(vec![ + ("-lparachain=debug").into(), + ("--state-pruning", "archive").into(), + ]) + } + }) + .with_validator(|node| { + let n = node.with_name("bob"); + if with_snapshot { + n.with_db_snapshot(relaychain_snapshot.as_str()) + } else { + n + } + }) + .with_validator(|node| { + let n = node.with_name("charlie"); + if with_snapshot { + n.with_db_snapshot(relaychain_snapshot.as_str()) + } else { + n + } + }) + .with_validator(|node| { + node.with_name("dave").with_args(vec![ + ("-lparachain=debug,sync=trace").into(), + ("--no-beefy").into(), + ("--reserved-only").into(), + ( + "--reserved-nodes", + vec![ + "{{ZOMBIE:alice:multiaddr}}", + "{{ZOMBIE:bob:multiaddr}}", + "{{ZOMBIE:charlie:multiaddr}}", + ], + ) + .into(), + ("--sync", "warp").into(), + ("--blocks-pruning", "256").into(), + ]) + }) + .with_fullnode(|node| { + node.with_name("eve").with_args(vec![ + ("-lparachain=debug,sync=trace").into(), + ("--no-beefy").into(), + ("--sync", "warp").into(), + ]) + }) + }) + .with_parachain(|p| { + p.with_id(PARA_ID) + .with_default_command("test-parachain") + .with_default_image(images.cumulus.as_str()) + .with_chain_spec_path( + "tests/zombie_ci/full_node_warp_sync/warp-sync-parachain-spec-raw.json", + ) + .with_default_args(vec![("-lparachain=debug").into(), ("--").into()]) + .with_collator(|n| { + let n = n.with_name("one"); + + if with_snapshot { + n.with_db_snapshot(parachain_snapshot.as_str()) + } else { + n.with_args(vec![ + ("-lparachain=debug").into(), + ("--state-pruning", "archive").into(), + ("--").into(), + ]) + } + }) + .with_collator(|n| { + let n = n.with_name("two"); + if with_snapshot { + n.with_db_snapshot(parachain_snapshot.as_str()) + } else { + n + } + }) + .with_collator(|n| { + let n = n.with_name("three"); + if with_snapshot { + n.with_db_snapshot(parachain_snapshot.as_str()) + } else { + n + } + }) + .with_collator(|n| { + n.with_name("four").validator(false).with_args(vec![ + ("-lsync=trace").into(), + ("--sync", "warp").into(), + ("--").into(), + ("--sync", "warp").into(), + ]) + }) + .with_collator(|n| { + n.with_name("five").validator(false).with_args(vec![ + ("-lsync=trace").into(), + ("--sync", "warp").into(), + ("--relay-chain-rpc-urls", "{{ZOMBIE:charlie:ws_uri}}").into(), + ]) + }) + }) + .with_global_settings(|global_settings| match std::env::var("ZOMBIENET_SDK_BASE_DIR") { + Ok(val) => global_settings.with_base_dir(val), + _ => global_settings, + }) + .build() + .map_err(|e| { + let errs = e.into_iter().map(|e| e.to_string()).collect::>().join(" "); + anyhow!("config errs: {errs}") + })?; + + Ok(config) +} + +/// Add a relaychain node to the network. +/// +/// # Arguments +/// * `network` - The zombienet network +/// * `name` - Name of the node to add +/// * `is_validator` - Whether the node is a validator +#[cfg(not(feature = "generate-snapshots"))] +pub async fn add_relaychain_node( + network: &mut Network, + name: &str, + is_validator: bool, +) -> Result<(), anyhow::Error> { + log::info!("Adding {} node to the network", name); + let images = zombienet_sdk::environment::get_images_from_env(); + let base_dir = network.base_dir().ok_or(anyhow!("failed to get base dir"))?; + + let options = AddNodeOptions { + image: Some(images.polkadot.as_str().try_into()?), + command: Some("polkadot".try_into()?), + chain_spec: Some(format!("{base_dir}/rococo-local.json").into()), + args: vec![ + "-lparachain=debug,sync=trace".into(), + "--no-beefy".into(), + ("--sync", "warp").into(), + ], + is_validator, + ..Default::default() + }; + + network.add_node(name, options).await?; + + Ok(()) +} diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/full_node_warp_sync.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/full_node_warp_sync.rs new file mode 100644 index 0000000000000..1e6475bb98412 --- /dev/null +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/full_node_warp_sync.rs @@ -0,0 +1,241 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Cumulus. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use anyhow::anyhow; +use std::time::Duration; + +use polkadot_primitives::Id as ParaId; + +use crate::{ + utils::{initialize_network, BEST_BLOCK_METRIC}, + zombie_ci::full_node_warp_sync::common::{ + add_relaychain_node, build_network_config, PARA_BEST_BLOCK_TO_WAIT_FOR, PARA_ID, + }, +}; +use cumulus_zombienet_sdk_helpers::assert_para_is_registered; +use zombienet_orchestrator::network::node::LogLineCountOptions; +use zombienet_sdk::{ + subxt::{OnlineClient, PolkadotConfig}, + NetworkNode, +}; + +pub const RELAY_BEST_BLOCK_TO_WAIT_FOR: f64 = 70.0; + +// Asserting Warp sync requires at least sync=debug level +async fn assert_warp_sync(node: &NetworkNode) -> Result<(), anyhow::Error> { + let option_1_line = LogLineCountOptions::new(|n| n == 1, Duration::from_secs(20), false); + + log::info!("Asserting Warp sync for node {}", node.name()); + // We are interested only in Relaychain Warp sync (relaychain and parachain nodes), + // thus exclude exclude lines containing "[Parachain]" + let result = node + .wait_log_line_count_with_timeout( + r"(? Result<(), anyhow::Error> { + let option_1_line = LogLineCountOptions::new(|n| n == 1, Duration::from_secs(5), false); + let option_at_least_5_lines = + LogLineCountOptions::new(|n| n >= 5, Duration::from_secs(20), false); + + log::info!("Asserting Gap sync for node {}", node.name()); + // We are interested only in Relaychain Gap sync (relaychain and parachain nodes), + // thus exclude exclude lines containing "[Parachain]" + let result = node + .wait_log_line_count_with_timeout( + r"(? Result<(), anyhow::Error> { + let _ = env_logger::try_init_from_env( + env_logger::Env::default().filter_or(env_logger::DEFAULT_FILTER_ENV, "info"), + ); + + log::info!("Spawning network"); + let config = build_network_config(true).await?; + let mut network = initialize_network(config).await?; + + let alice = network.get_node("alice")?; + let alice_client: OnlineClient = alice.wait_client().await?; + + log::info!("Ensuring parachain is registered"); + assert_para_is_registered(&alice_client, ParaId::from(PARA_ID), 10).await?; + + // Assert warp and gap syncs only for relaychain. + // "five" is not warp syncing the relaychain + // dave is non-archive (--blocks-pruning 256), eve and four use default (archive-canonical) + for (name, is_archive) in [("dave", false), ("eve", true), ("four", true)] { + assert_warp_sync(network.get_node(name)?).await?; + assert_gap_sync(network.get_node(name)?, is_archive).await?; + } + + // Check relaychain progress + for name in ["dave", "eve"] { + log::info!("Checking full node {name} is syncing"); + network + .get_node(name)? + .wait_metric_with_timeout( + BEST_BLOCK_METRIC, + |b| b >= RELAY_BEST_BLOCK_TO_WAIT_FOR, + 225u64, + ) + .await?; + } + + // Check parachain progress + for name in ["one", "two", "three", "four", "five"] { + log::info!("Checking full node {name} is syncing"); + network + .get_node(name)? + .wait_metric_with_timeout( + BEST_BLOCK_METRIC, + |b| b >= PARA_BEST_BLOCK_TO_WAIT_FOR, + 225u64, + ) + .await?; + } + + // Pause some nodes (to prevent below added nodes syncing from them) + for name in ["alice", "bob", "one", "two"] { + log::info!("Pausing node {name}"); + network.get_node(name)?.pause().await?; + } + + // Add ferdie dynamically + log::info!("Adding ferdie to the network"); + add_relaychain_node(&mut network, "ferdie", true).await?; + + log::info!("Waiting for ferdie to be up"); + network.get_node("ferdie")?.wait_until_is_up(60u64).await?; + + // Assert warp and gap sync for ferdie (uses default archive-canonical) + assert_warp_sync(network.get_node("ferdie")?).await?; + assert_gap_sync(network.get_node("ferdie")?, true).await?; + + // Check progress for ferdie + log::info!("Checking full node ferdie is syncing"); + network + .get_node("ferdie")? + .wait_metric_with_timeout(BEST_BLOCK_METRIC, |b| b >= RELAY_BEST_BLOCK_TO_WAIT_FOR, 225u64) + .await?; + + Ok(()) +} diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/generate-snapshots.sh b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/generate-snapshots.sh new file mode 100755 index 0000000000000..2061587bca60c --- /dev/null +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/generate-snapshots.sh @@ -0,0 +1,147 @@ +#!/usr/bin/env bash +# Automation script for updating the full_node_warp_sync test +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +RELAYCHAIN_DB="relaychain-db.tgz" +PARACHAIN_DB="parachain-db.tgz" + +# Config +PARACHAIN_SPEC="$SCRIPT_DIR/warp-sync-parachain-spec-raw.json" +RELAYCHAIN_SPEC="$SCRIPT_DIR/warp-sync-relaychain-spec-raw.json" +TARGET_DIR=$(dirname "$(cargo locate-project --workspace --message-format plain)")/target/release +SNAPSHOT_DIR="${ZOMBIENET_SDK_BASE_DIR:-/tmp/zombienet-warp-sync}" + +usage() { + cat < + +Phases: + build Build all required binaries + chainspec-parachain Generate parachain chain spec + chainspec-relaychain Generate relaychain chain spec + snapshots-run Run test to generate snapshots (24h) + snapshots-archive Archive databases into tarballs + snapshots-test-local Test with local snapshots + all Run all phases + +Environment: + SNAPSHOT_DIR Snapshot directory (default: /tmp/zombienet-warp-sync) +EOF + exit 1 +} + +build_binaries() { + echo "==> Building all required binaries" + cargo build --release -p cumulus-test-runtime + cargo build --release -p staging-chain-spec-builder + cargo build --release -p polkadot --bin polkadot-prepare-worker --bin polkadot-execute-worker --bin polkadot + cargo build --release -p cumulus-test-service --bin test-parachain + echo "Build complete" +} + +chainspec_parachain() { + echo "==> Generating parachain chain spec" + + local wasm_path="$TARGET_DIR/wbuild/cumulus-test-runtime/cumulus_test_runtime.wasm" + [[ -f "$wasm_path" ]] || { echo "Error: WASM runtime not found at $wasm_path" >&2; exit 1; } + + "$TARGET_DIR/chain-spec-builder" create -s -r "$wasm_path" named-preset development + [[ -f "$PARACHAIN_SPEC" ]] && cp "$PARACHAIN_SPEC" "$PARACHAIN_SPEC.backup" + mv chain_spec.json "$PARACHAIN_SPEC" + echo "Created: $PARACHAIN_SPEC" +} + +chainspec_relaychain() { + echo "==> Generating relaychain chain spec" + + "$TARGET_DIR/polkadot" build-spec --chain rococo-local --disable-default-bootnode --raw > chain_spec.json + [[ -f "$RELAYCHAIN_SPEC" ]] && cp "$RELAYCHAIN_SPEC" "$RELAYCHAIN_SPEC.backup" + mv chain_spec.json "$RELAYCHAIN_SPEC" + echo "Created: $RELAYCHAIN_SPEC" +} + +snapshots_run() { + echo "==> Running test to generate snapshots (24h)" + echo "Output directory: $SNAPSHOT_DIR" + + mkdir -p "$SNAPSHOT_DIR" + + export PATH="$TARGET_DIR:$PATH" + export RUST_LOG=info,zombienet_orchestrator=debug + export ZOMBIE_PROVIDER=native + export ZOMBIENET_SDK_BASE_DIR=$SNAPSHOT_DIR + + cargo test --release \ + -p cumulus-zombienet-sdk-tests \ + --features zombie-ci,generate-snapshots \ + -- full_node_warp_sync::generate_snapshots + unset ZOMBIENET_SDK_BASE_DIR + + echo "Snapshots ready in: $SNAPSHOT_DIR" +} + +snapshots_archive() { + echo "==> Archiving databases" + + [[ -d "$SNAPSHOT_DIR/alice/data" ]] || { echo "Error: alice database not found" >&2; exit 1; } + [[ -d "$SNAPSHOT_DIR/one/data" ]] || { echo "Error: one database not found" >&2; exit 1; } + + cd "$SCRIPT_DIR" + tar -czf $RELAYCHAIN_DB -C "$SNAPSHOT_DIR/alice" data/ + tar -czf $PARACHAIN_DB -C "$SNAPSHOT_DIR/one" data/ relay-data/ + + echo "Created: ${SCRIPT_DIR}/${RELAYCHAIN_DB} ($(du -h $RELAYCHAIN_DB | cut -f1))" + echo "Created: ${SCRIPT_DIR}/${PARACHAIN_DB} ($(du -h $PARACHAIN_DB | cut -f1))" + echo + echo "Next: $0 snapshots-test-local" +} + +snapshots_test_local() { + echo "==> Testing with local snapshots:" + echo "- ${SCRIPT_DIR}/${RELAYCHAIN_DB}" + echo "- ${SCRIPT_DIR}/${PARACHAIN_DB}" + + [[ -f "${SCRIPT_DIR}/${RELAYCHAIN_DB}" ]] || { echo "Error: $RELAYCHAIN_DB not found" >&2; exit 1; } + [[ -f "${SCRIPT_DIR}/${PARACHAIN_DB}" ]] || { echo "Error: $PARACHAIN_DB not found" >&2; exit 1; } + + export DB_SNAPSHOT_RELAYCHAIN_OVERRIDE="${SCRIPT_DIR}/${RELAYCHAIN_DB}" + export DB_SNAPSHOT_PARACHAIN_OVERRIDE="${SCRIPT_DIR}/${PARACHAIN_DB}" + export PATH="$TARGET_DIR:$PATH" + export RUST_LOG=info,zombienet_orchestrator=debug + export ZOMBIE_PROVIDER=native + + cargo test --release \ + -p cumulus-zombienet-sdk-tests \ + --features zombie-ci \ + -- full_node_warp_sync + + echo "Test passed - snapshots validated" + echo "Snapshots ready to upload to google storage:" + echo "- ${SCRIPT_DIR}/${RELAYCHAIN_DB}" + echo "- ${SCRIPT_DIR}/${PARACHAIN_DB}" +} + +all() { + build_binaries + chainspec_parachain + chainspec_relaychain + snapshots_run + snapshots_archive + snapshots_test_local + echo "All phases complete" +} + +# Main +[[ $# -eq 0 ]] && usage + +case "$1" in + build) build_binaries ;; + chainspec-parachain) chainspec_parachain ;; + chainspec-relaychain) chainspec_relaychain ;; + snapshots-run) snapshots_run;; + snapshots-archive) snapshots_archive ;; + snapshots-test-local) snapshots_test_local ;; + all) all ;; + *) echo "Unknown phase: $1" >&2; usage ;; +esac diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/generate_snapshots.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/generate_snapshots.rs new file mode 100644 index 0000000000000..077ae315e82b9 --- /dev/null +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/generate_snapshots.rs @@ -0,0 +1,55 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Cumulus. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Test for warp syncing nodes. +//! +//! This test starts a relaychain + parachain network where some nodes run from db snapshots +//! while others warp sync to the latest state. +//! +//! ## Updating Test Artifacts +//! +//! To update chain specs and snapshots after changes to `cumulus-test-runtime` or `rococo-local`, +//! see `README.md` and use the `generate-snapshots.sh` automation script. +use crate::{ + utils::{initialize_network, BEST_BLOCK_METRIC}, + zombie_ci::full_node_warp_sync::common::{build_network_config, PARA_BEST_BLOCK_TO_WAIT_FOR}, +}; + +#[tokio::test(flavor = "multi_thread")] +async fn generate_snapshots() -> Result<(), anyhow::Error> { + let _ = env_logger::try_init_from_env( + env_logger::Env::default().filter_or(env_logger::DEFAULT_FILTER_ENV, "info"), + ); + + log::info!("Spawning network"); + let config = build_network_config(false).await?; + let network = initialize_network(config).await?; + + log::info!("Checking progress"); + for name in ["one", "two"] { + log::info!("Checking full node {name} is syncing"); + network + .get_node(name)? + .wait_metric_with_timeout( + BEST_BLOCK_METRIC, + |b| b >= PARA_BEST_BLOCK_TO_WAIT_FOR, + 86000u64, // Wait up to 24h + ) + .await?; + } + + Ok(()) +} diff --git a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/tests/mod.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/mod.rs similarity index 72% rename from cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/tests/mod.rs rename to cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/mod.rs index f5e5b167de831..bc42e5acd3e66 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo/src/tests/mod.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/mod.rs @@ -1,11 +1,12 @@ // Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Cumulus. // SPDX-License-Identifier: Apache-2.0 // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // -// http://www.apache.org/licenses/LICENSE-2.0 +// http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, @@ -13,6 +14,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -mod claim_assets; -mod coretime_interface; -mod teleport; +mod common; +#[cfg(not(feature = "generate-snapshots"))] +mod full_node_warp_sync; +#[cfg(feature = "generate-snapshots")] +mod generate_snapshots; diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/warp-sync-parachain-spec-raw.json b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/warp-sync-parachain-spec-raw.json new file mode 100644 index 0000000000000..d198c6482d574 --- /dev/null +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/warp-sync-parachain-spec-raw.json @@ -0,0 +1,66 @@ +{ + "bootNodes": [ + "/ip4/127.0.0.1/tcp/60920/ws/p2p/12D3KooWHvLp7Pb2jCaeugAkUGW1XgqNPimeE2TiqGZF8kCvPZJP" + ], + "chainType": "Live", + "codeSubstitutes": {}, + "genesis": { + "raw": { + "childrenDefault": {}, + "top": { + "0x0d715f2646c8f85767b5d2764bb2782604a74d81251e398fd8a0a4d55023bb3f": "0xd0070000", + "0x0d715f2646c8f85767b5d2764bb278264e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x26aa394eea5630e07c48ae0c9558cef74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x26aa394eea5630e07c48ae0c9558cef75684a022a34dd8bfa2baaf44f172b710": "0x01", + "0x26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc": "0x4545454545454545454545454545454545454545454545454545454545454545", + "0x26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746b4def25cfda6ef3a00000000": "0x4545454545454545454545454545454545454545454545454545454545454545", + "0x26aa394eea5630e07c48ae0c9558cef7a7fd6c28836b9a28522dc924110cf439": "0x01", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9007cbc1270b5b091758f9c42f5915b3e8ac59e11963af19174d0b94d5d78041c233f55d2e19324665bafdfb62925af2d": "0x0000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da923a05cabf6d3bde7ca3ef0d11596b5611cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c": "0x0000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da932a5935f6edc617ae178fef9eb1e211fbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0x0000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da94f9aea1afa791265fae359272badc1cf8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0x0000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da96f2e33376834a63c86a195bcf685aebbfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0x0000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da98578796c363c105114787203e4d93ca6101191192fc877c24d725b337120fa3edc63d227bbc92705db1e2cb65f56981a": "0x0000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b0edae20838083f2cde1c4080db8cf8090b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22": "0x0000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b321d16960ce1d9190b61e2421cc60131e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625": "0x0000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9de1e86a9a8c739864cf3cc5ec2bea59fd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0x0000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9e5e802737cce3a54b0bc9e3d3e6be26e306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20": "0x0000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9edeaa42c2163f68084a988529a0e2ec5e659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e": "0x0000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9f3f619a1c2956443880db9cc9a13d058e860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c": "0x0000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8": "0x085863756d756c75732d746573742d70617261636861696e", + "0x2b746573745f72756e74696d655f757067726164655f6b65792b": "0x01020304", + "0x3a63": "0x", + "0x3a636f6465": "0x0061736d0100000001b7044560037f7f7f017f60017f0060017f017f60047f7f7f7f0060027f7f017f60077f7f7f7f7f7f7f0060037f7f7f0060057f7f7f7f7f0060087f7f7f7f7f7f7f7f0060047f7f7f7f017f60097f7f7f7f7f7f7f7f7f0060027f7f006000017e60067f7f7f7f7f7f0060000060047f7f7e7e006000017f60037f7e7f017f60027f7f017e60027f7e017f60027e7e0060037e7e7e017e60027e7e017f60027e7e017e60047e7e7e7f017e60027e7f017e60037e7e7e0060017e0060017e017e60017e017f60037f7e7e0060037e7e7f017e60017f017e60027e7f017f60087f7f7f7e7e7f7f7f0060037e7f7f0060047e7e7f7f017f60037e7f7f017f60057f7f7f7f7f017f60097f7f7f7f7f7f7e7e7e0060047f7c7f7f017f60037f7c7f017f60087f7c7f7f7f7f7f7f0060067f7f7f7f7f7f017f60137f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f017f60177f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f017f60077f7f7f7f7f7f7f017f60097f7f7f7f7f7f7f7f7f017f600a7f7f7f7f7f7f7f7f7f7f00600b7f7f7f7f7f7f7f7f7f7f7f0060087f7f7e7e7e7e7f7f0060047e7f7f7f017e60047f7e7f7f0060027e7f0060057f7e7e7f7f0060057f7f7f7e7f0060047f7f7f7e0060067f7f7e7e7f7f0060037f7f7f017e60077f7f7e7e7f7f7f0060057f7f7e7e7f0060067f7f7f7e7e7f00600b7f7f7f7e7e7e7e7e7e7e7e017f60027f7e0060077f7f7e7e7e7e7e017e60027c7f017f60077f7e7e7e7e7e7e0060057f7e7e7e7e0060047f7e7e7f0002eb0d2b03656e76066d656d6f727902001603656e76336578745f73746f726167655f70726f6f665f73697a655f73746f726167655f70726f6f665f73697a655f76657273696f6e5f31000c03656e76236578745f63727970746f5f656432353531395f7665726966795f76657273696f6e5f31001103656e76376578745f63727970746f5f736563703235366b315f65636473615f7265636f7665725f636f6d707265737365645f76657273696f6e5f32001203656e76256578745f63727970746f5f737232353531395f67656e65726174655f76657273696f6e5f31001303656e76236578745f63727970746f5f737232353531395f7665726966795f76657273696f6e5f32001103656e76296578745f64656661756c745f6368696c645f73746f726167655f636c6561725f76657273696f6e5f31001403656e76306578745f64656661756c745f6368696c645f73746f726167655f636c6561725f7072656669785f76657273696f6e5f32001503656e762a6578745f64656661756c745f6368696c645f73746f726167655f6578697374735f76657273696f6e5f31001603656e76276578745f64656661756c745f6368696c645f73746f726167655f6765745f76657273696f6e5f31001703656e762c6578745f64656661756c745f6368696c645f73746f726167655f6e6578745f6b65795f76657273696f6e5f31001703656e76286578745f64656661756c745f6368696c645f73746f726167655f726561645f76657273696f6e5f31001803656e76286578745f64656661756c745f6368696c645f73746f726167655f726f6f745f76657273696f6e5f32001903656e76276578745f64656661756c745f6368696c645f73746f726167655f7365745f76657273696f6e5f31001a03656e76306578745f64656661756c745f6368696c645f73746f726167655f73746f726167655f6b696c6c5f76657273696f6e5f33001703656e761c6578745f6d6973635f7072696e745f6865785f76657273696f6e5f31001b03656e761d6578745f6d6973635f7072696e745f757466385f76657273696f6e5f31001b03656e76226578745f6d6973635f72756e74696d655f76657273696f6e5f76657273696f6e5f31001c03656e76206578745f68617368696e675f626c616b65325f3132385f76657273696f6e5f31001d03656e76206578745f68617368696e675f626c616b65325f3235365f76657273696f6e5f31001d03656e76206578745f68617368696e675f6b656363616b5f3235365f76657273696f6e5f31001d03656e761e6578745f68617368696e675f74776f785f3132385f76657273696f6e5f31001d03656e761e6578745f68617368696e675f74776f785f3235365f76657273696f6e5f31001d03656e761d6578745f68617368696e675f74776f785f36345f76657273696f6e5f31001d03656e76226578745f6f6666636861696e5f696e6465785f636c6561725f76657273696f6e5f31001b03656e76206578745f6f6666636861696e5f696e6465785f7365745f76657273696f6e5f31001403656e76196578745f6c6f6767696e675f6c6f675f76657273696f6e5f31001e03656e761f6578745f6c6f6767696e675f6d61785f6c6576656c5f76657273696f6e5f31001003656e761c6578745f73746f726167655f617070656e645f76657273696f6e5f31001403656e761b6578745f73746f726167655f636c6561725f76657273696f6e5f31001b03656e76226578745f73746f726167655f636c6561725f7072656669785f76657273696f6e5f32001703656e76286578745f73746f726167655f636f6d6d69745f7472616e73616374696f6e5f76657273696f6e5f31000e03656e761c6578745f73746f726167655f6578697374735f76657273696f6e5f31001d03656e76196578745f73746f726167655f6765745f76657273696f6e5f31001c03656e761e6578745f73746f726167655f6e6578745f6b65795f76657273696f6e5f31001c03656e761a6578745f73746f726167655f726561645f76657273696f6e5f31001f03656e762a6578745f73746f726167655f726f6c6c6261636b5f7472616e73616374696f6e5f76657273696f6e5f31000e03656e761a6578745f73746f726167655f726f6f745f76657273696f6e5f32002003656e76196578745f73746f726167655f7365745f76657273696f6e5f31001403656e76276578745f73746f726167655f73746172745f7472616e73616374696f6e5f76657273696f6e5f31000e03656e762a6578745f747269655f626c616b65325f3235365f6f7264657265645f726f6f745f76657273696f6e5f32002103656e761c6578745f616c6c6f6361746f725f667265655f76657273696f6e5f31000103656e761e6578745f616c6c6f6361746f725f6d616c6c6f635f76657273696f6e5f31000203dc17da17040b0401000401040b0004060b010b060307040b0606020b040d05040409060706060b0b060f22000d0404060303030206030d030303030603030306020303030206040e230424040404030706040004000425040b06060106070507060600042600040301072706060606060601040401010e040204010604282907040404070426052a2a0604002b260004002c2d2e2f040004040404040407072e02050b0b0b0b0606030606030b0003060602060402060403000403060203040401010101010101060b06060604010b0b3031080b0b0b0b0507070703060b0b0b0101060d060d06030304040b070d0306040b0c0b0706060e0e0e07080d030709050307010b00010001010009090603030707030b0101040404040505060b010101010b0b0601020601010107070707030001010b0b0b0b01010101010101010101030101030b0b0b0701010b0101010107060306060307060401010c06060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060203060d0b0d0b0d0b070b0d0b070b0d0b070b0b0b0b060606060606060603030b03030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030b0b0b0b0b0b0b0b0b0b0b0b0b0b0b060b0b0b010101010101010101010b01010b0b0b0b0b0b0b0b030b0b06030b0b030b060b0b0b0b0b0b0b0b01010101010b0b010b0b0b0b0b0b0b010b0b0b0b0b0b04040404040404040404040404040404040404040404040404040109090909090909000004060104040b0b260101010101000606060b0101010b010106040406060606060606060606040606060604060606060606040606010b03000106070b0b0b0b0b020b060b060b010808040404040404030b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0704040404040401010b06060b0b0b0401010101010b0406010101060b01040104010b080b050b0b0b041b070b01010104010b040101010b0b0b020b01010404010104010b0b0b0b0b060b0b0b0b0104010704010b0b060606060606060606060603060104040401320101010b040b1001010b0b01010101010b0b0b0b0e0b0b0b0706020607040404040404040401010101010101010707070604060b04040f0f01010101010b01010b0b0b0b0b0b0b0b0b0b0404010406060606060b06060b01020101020106040e01010403060703003304000b033404130b030b0101010101070404040404010101010106010404040b06033307033404020303030004060b0b0b010b0b0b0b0b0b010b0b010b0b010b0b010b0b01010101010101010101010b0b0b010b0b0b0b0b0b0b060606060606060606010101010101010b1401010101013514010b01010b010b0101010101010120010b1401010e06010b0e010b060b060606060b060b0b04040404040404060101060606060606060606060606040303040606060b0b060b0309060d0d0b06060b0b0b0b0b0b0b0b0b0b06360101010101010101010b0b0606010b06010b0b0b0b0b010101010101010401010103030406030d0703060607030606060607050705030d030d07060705050b03030b0e03050503050503030706070707070701010d0d030301010603030d0703000b040404020900040b020b040b0b0d0b260b0d0b0b260b040004373737370638070600040202030307060300000b0b0d030300000600070207070d0301070707070902040402070303030b06010603030307070707070707070606060b040404040404040101010101010104040006070402040d0b0b0b0b04040b0b0b0b0b060d26260d0d0d04000100000004390606030330013004010101040505050505050505050505050505050505050504030b0b08080303060607070b060b0000060603030b0b070703030a0a050503090907070701010b0b070102020301010101030303000b0b030b0b0b04040404040d01010d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d04060b0b0b0b0b03030707070707073a05030b040b010101010b0b0b010401040701010b040402010b3b030f3c3d0f3b01020b010b0b0b040b0101010b3e0f0b04010103010b0b0b020b040b0101010b0b0b06060f0b0404040404040404040404043031080b0b0b0101050404040002020004020202040404040409060b040b0b0b0b0b0b070d0b05070b04040b01010101010101090909090909090909090909091e09090904020601010601060606060606000e040b04040e060104010b01010b020101010b0b0b060101010b010e0f010f0104010b04040404040404040000040404000000000000000000000101040404090909090909090909090909090909090b010b060b010b0b0b0112121212121212121212121212121212121212121212121212120b0b010101010101010101010101010101010101010101010101010b0b0b0b0b0606060306060606010b0b0b0b0b0b0b0b0404040404040404040404040401010106060b0b0b0b0b0b0603070404040404060401010101010101010101070b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b060b0b060606060606060306060606060606060606060606060306120301030301010303030b0b0b0b0b0b0707010b0b0b0b0404040101010b0b060606060b03030303030303070707070707070808080830303030303030303131030303000000030307060300000b0b0b0b0b060b0606060b0b06060b0b0b0b0606060b06060b0b3f010e4004040404060606060b0b0b0b0b0b0b0b0b0b0d0d0101010606060606060b060b0b0b0b060603070b0b03060b0b0b0b060b0b0b0b0b0b0d0606020b0b0b0b0b0b0b020b0b0909000b06050606020d0d0b0303070705050b0b0b0b0b0b0b01010101010b0b0b060306010104040404040406060401010b0404010401010b0903070107010301010107060604030101010101010b0b010402010303040e0b040b01070407060607070d0101010101010403060b000604060b040404200101010307030701030101010106060606010b0b01030706060b040401010435413b0b0d0b0b06060b050606060606060b01030101030b0b0704040107040404010f070506010101010101010406040b0b0b0d0d010106010b0107070b04040404040404040e00040b3f1e0407030b04010504040400001004040404020200040000040b060404000301060606040406060b0604040104000606010101060606030b0707420307010606010101030b07060b060406010101010304010b0d040604040404040401010b07040601060604070304010101010101010101063f3f3f3f3f060302030b0b090606090b0b0b030509070708030d070b0b060606060606060b030b0b0b071004040b010b060b070e0406060d0e0b030e0601020d010101060606060606060606060606060b060b01010b0b060b0d0d060303070701060305050b09090b0b0b0b0b03070b0b06060603030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030101060b0b0b01010b010b01010101010106060604030b070601010101010b04010400040b01010101010101010d0b070b070b0d0b0b0b0b0606030603030404040401010103050202020207030b070704070b0404060b01010403060b0b010103070301010601010101010101040101070406060307020606010404040404030b040b060b06040b04040b0b0b090b0b01041e1e000043000000000043444344444443430407017001ed05ed050619037f01418080c0000b7f0041c983d4000b7f0041d083d4000b0799071e195f5f696e6469726563745f66756e6374696f6e5f7461626c6501000c436f72655f76657273696f6e00b40e12436f72655f657865637574655f626c6f636b00b50e15436f72655f696e697469616c697a655f626c6f636b00b60e2741757261556e696e636c756465645365676d656e744170695f63616e5f6275696c645f75706f6e00b70e2852656c6179506172656e744f66667365744170695f72656c61795f706172656e745f6f666673657400b80e15417572614170695f736c6f745f6475726174696f6e00b90e13417572614170695f617574686f72697469657300ba0e114d657461646174615f6d6574616461746100bb0e1c4d657461646174615f6d657461646174615f61745f76657273696f6e00bc0e1a4d657461646174615f6d657461646174615f76657273696f6e7300bd0e1d4163636f756e744e6f6e63654170695f6163636f756e745f6e6f6e636500be0e1c426c6f636b4275696c6465725f6170706c795f65787472696e73696300bf0e1b426c6f636b4275696c6465725f66696e616c697a655f626c6f636b00c00e20426c6f636b4275696c6465725f696e686572656e745f65787472696e7369637300c10e1c426c6f636b4275696c6465725f636865636b5f696e686572656e747300c20e2b5461676765645472616e73616374696f6e51756575655f76616c69646174655f7472616e73616374696f6e00c30e214f6666636861696e576f726b65724170695f6f6666636861696e5f776f726b657200c40e1f53657373696f6e4b6579735f6465636f64655f73657373696f6e5f6b65797300c50e2153657373696f6e4b6579735f67656e65726174655f73657373696f6e5f6b65797300c60e234765744c61737454696d657374616d705f6765745f6c6173745f74696d657374616d7000c70e2b436f6c6c656374436f6c6c6174696f6e496e666f5f636f6c6c6563745f636f6c6c6174696f6e5f696e666f00c80e1a47656e657369734275696c6465725f6275696c645f737461746500c90e1947656e657369734275696c6465725f6765745f70726573657400ca0e1b47656e657369734275696c6465725f7072657365745f6e616d657300cb0e1d47657450617261636861696e496e666f5f70617261636861696e5f696400cc0e21546172676574426c6f636b526174655f7461726765745f626c6f636b5f7261746500cd0e0e76616c69646174655f626c6f636b00d90f0a5f5f646174615f656e6403010b5f5f686561705f62617365030209b90b010041010bec052a2d2e2f2c79303334314253565758595a5b5d5f666162636465546768696a6bbe0172c201c001b001bf01c101880189018c01990198019f01bd01e602e502c502e202ff02c512c602bf02fb01fc01f901fa01c7129b128602e901d7029912a902c402be02ba028112e302ae02eb16eb019002bc02f201bd02ff11ec01ea01e701e601d802bf17e801c702de02df028912e402cb02e902d502d6028012f402f302f502ef02f0028103ce179907e704c412b706b413c912d10ee80eeb0d8a17d011e50ec108f30dbe08e10efb169913bf11f30cd906be0ce20cec0d9b07fd16b90dea0dbf12ca12d80e8b12f50cde0e9a07c6078a12c2088a07f011ef11ba138e07d706d806e604d50eee11e10cf40cc812e504e002e102ba0db30ee804bb02bc08bf08bb06e004da0edb0ee204d30ee104e60edd0edc0ea913e00ee40ee30eb505820fb6059d0f8f0c9a128e0cd905da05b305cd17f60ed405d111d70eaf05b405b306f6068717b406b506eb04df048c17cb17aa13ab13d90ebd08d913da13bd0cfc16bc0cbb08c008f202ba08e20ebf0c8e068d06b206c905cb05ca05c708c807c707c805bd06c3067bcc068905c405e206850faa05f406bc0688058a058605b50d8705d2059a13f111d80895058d05c30887028812b908dd02b407e506ac07fd11b007a605b607c007b507bd07b2079e0f8e09820d8608840eb3079b0f880fb8079c0f810fb107e106c006c107c106ad07ae078708900991099209a505b707fc11d607d707d907f506ea07c710ee079302940295029602970299029a029b029c029d029e029f02a002a102a202a302a402a502a602a702a802fd07fe079802c0059f05ad05c3058508a10888088c088b08e407940891089308c207b00bc307f20b830cd70be70bdb0bb10bb30bb20bb40bdf0bf10be30bf30bed0bd40beb0bdd0bef0bd90bea0be10bfa0bfc0bfb0bf90bfd0bff0b800ce60bf60bdc0bde0bd30bf70b820cd60be80bda0be00bf00be40bf40bee0bd50bec0bd80be90be20bfe0b810ce50bf50bd20bf80b9208ab058908f00f8003b70de916d705d40ed60edf0e96099f08a008f10fd409d509d609d709d309800adf09e3128b0ff9126f840b8a0bfa12a40aa50a8c0bd30ad60a9b109c10d40ad50a870bf307f207f107f507880bf707f607810b820be212890b900b8f0b860b8e0bff0d8b0b930b950b850b830b850e870d8c06af07b917bb0bb90bba0bd00ba90baf0ba70c8a0fbc0bc40cc60cb213cb0ccc0ce70cba0cbb0da701a8019f0d8f0d8f09800bff0e900da10db005a205870f860f950d940d920d880d8d09a00d8906930d9d058e0dae0d8c0d8d0da50d860db80dfe0cde0ddf0d77e30df405e70ed211d605db11cf17d811c612ea04ed16c507fb0dbd11af11f811970e990e800f830ff70dfb0cac05890e9309880e980e950eb513e404d00ee3048617c407ec11d20eb60ded11a00fe30fe60fc90acf0acb0acd0acc0ae40fe50fca0ace0af50ff30ff40ff20ffd0ca710a8109f10a510a110a310a210a610a910a010a41099109d109a109e10c110c610c510c410b211b311b111b011ae11ba11bb11c411b811b711ca11c811d411c911d511d311d911ce11de11e111e211e31171e511f211fb118612931290129d129c12b812cb12b912bb017de112dc12a601dd12de12e512e612df12f812f212ea12fe129213ef12f412f3129313f112941396139513a613c213b913b613b713bf13c313cb13bd13c013c413c113c513ce13c613c913d113d313d513d813d613d713d4138714e213e313e1139814fa13fb13fc13fd13fe13ff13f713f813f913ee13ef13f013f113f213f313f413f513f613e713e813e913ea13801481148514861488148c148d148e148f149014911492149314941495149614971499149a149b13e116f0168917fa16e716e616f91688178b17ec16ee16e016ef16f416801782178117ff16831784178517a0179f179e17a117c417c317be17c717c817c617c917ca17cc17d117dd17db17da17de17dc17f1170aaf998a01da171e002001280200418080c08000410b200128020428020c118080808000000b0d002001200010bf90808000000b1200200041c482c08000200110b1818080000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110bb80808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110bb80808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b1e00200128020041dc82c080004105200128020428020c118080808000000bd90301077f23808080800041106b22022480808080000240024002400240024020012802042203450d00200128020021042003410371210502400240200341044f0d0041002103410021060c010b2004411c6a21072003417c712108410021034100210603402007280200200741786a280200200741706a280200200741686a28020020036a6a6a6a2103200741206a21072008200641046a2206470d000b0b02402005450d00200641037420046a41046a21070340200728020020036a2103200741086a21072005417f6a22050d000b0b200128020c450d022003410f4b0d0120042802040d010c030b41002103200128020c450d020b20034100200341004a1b41017421030b410021070240024020034100480d002003450d0241002d008083d480001a200341002802f482d480001182808080000022070d01410121070b2007200341ec83c0800010b980808000000b2007417e6a41003b00000c010b41012107410021030b2002410036020820022007360204200220033602000240200241e482c08000200110b181808000450d00418c84c0800041d6002002410f6a41fc83c0800041d085c0800010a981808000000b20002002290200370200200041086a200241086a280200360200200241106a2480808080000b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110bb80808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110bb80808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410336020c2003419087c08000360208200342023702142003418680808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210fe80808000000bb90102017f017e23808080800041306b22022480808080002002200036020c418680808000ad4220862002410c6aad842103024041002d008183d480000d0020024102360214200241cc87c080003602102002420137021c200220033703282002200241286a360218200241106a410041cc88c0800010ff80808000000b20024102360214200241cc87c080003602102002420137021c200220033703282002200241286a360218200241106a41dc88c0800010fe80808000000b4301017f23808080800041206b2201248080808000200141003602182001410136020c2001418089c0800036020820014204370210200141086a200010fe80808000000bbc0101047f23808080800041206b220224808080800002402000280200220341017422044108200441084b1b220441004e0d0041004100200110b980808000000b4100210502402003450d002002200336021c20022000280204360214410121050b20022005360218200241086a41012004200241146a10ba80808000024020022802084101470d00200228020c2002280210200110b980808000000b200228020c21032000200436020020002003360204200241206a2480808080000b1e0002402000450d002000200110ab80808000000b200210b780808000000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10ba8080800020052802084101470d0120052802102102200528020c21060b2006200241808ac0800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000bbf0201047f23808080800041306b22022480808080002002200028020036020c410121000240200128020022034194e3c1800041122001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110c6808080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10c6808080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000bbe04010c7f20012d001d210220012802182103200128021021042001280204210520012d001c2106200128021421072001280208210820012802002109024003402009210a4100210b02402002410171450d000c020b0240024020042007460d0003402003210c02400240200422032c00002202417f4c0d00200341016a2104200241ff017121020c010b20032d0001413f7121042002411f71210902402002415f4b0d0020094106742004722102200341026a21040c010b200441067420032d0002413f717221040240200241704f0d0020042009410c74722102200341036a21040c010b200441067420032d0003413f71722009411274418080f00071722102200341046a21040b200420036b200c6a2103024002400240200241776a220941174b0d004101200974419f808004710d010b2002418001490d01024002400240024020024108762209416a6a0e1b030505050505050505050105050505050505050505050505050500020b20024180e000470d040c030b200241ff017141f4a4c280006a2d0000410271450d030c020b20090d02200241ff017141f4a4c280006a2d00004101710d010c020b200241802d470d010b20012003360218200120043602102001200336020041002102200321090c030b20042007470d000b20012003360218200120043602100b41012102200141013a001d02402006410171450d00200a21092005210c0c010b200a21092005210c2005200a460d020b200c200a6b220d450d000b2008200a6a210b0b2000200d3602042000200b3602000bd00601047f41beb6c0800020012002410620024106491b10f5978080002203410620026b20031b410148410a742204418004722103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b2204418002722103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b2204418001722103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441c0006a2103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441206a2103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441106a2103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441086a2103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441046a2103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441026a2103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441016a21032000200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b2205410374220341b8e1c080006a2802002001200341bce1c080006a2802002203200220032002491b10f5978080002201200320026b20011b220241004736020020002002411f7620056a3602040b800f010f7f23808080800041e0046b2203248080808000200341013b016c4100210420034100360268200320013602602003200236025c2003200136025820032002360254200341003602502003200120026a2205360264417f21060340200641016a2106200441016a2104200341186a200341d0006a10bd8080800020032802180d000b2004417f6a220741036e2108200641036e210602400240024002400240024002400240200441666a4173490d00200641036c41016a2004470d00200341c8006a427f370300200341c0006a427f370300200341206a41186a427f370300200341206a41106a427f370300200341206a41086a427f3703002003427f370320200341d0006a410041880210fa978080001a2003410036029804200320053602940420032001360290042003200236028c0420032001360288042003200236028404200342003702fc03200341013b019c04200341106a200341fc036a41046a220210bd80808000024020032802102204450d00200341d0006a410a6a2105200341d0006a41096a2109200341d0006a41086a210a200341d0006a41076a210b200341d0006a41066a210c200341d0006a41056a210d200341d0006a41046a210e200341d0006a41036a210f200341d0006a41026a2110200341d0006a41016a2111200328021421060c020b200341d8026a41186a4200370300200341d8026a41106a4200370300200341d8026a41086a4200370300200342003703d802200741ff017141036e220841027421050c020b20002007360208200041003a0004200041013b01000c030b0240024002400340200320032802fc03220141016a3602fc03200341086a2004200610be8080800020032802084101710d01200141174b0d02200341d0006a2001410b6c22066a200328020c2204410a764101713a0000200341206a20014101746a20043b0100201120066a20044109764101713a0000201020066a20044108764101713a0000200f20066a2004418001714107763a0000200e20066a20044106764101713a0000200d20066a20044105764101713a0000200c20066a20044104764101713a0000200b20066a20044103764101713a0000200a20066a20044102764101713a0000200920066a20044101764101713a0000200520066a20044101713a00002003200210bd808080002003280204210620032802002204450d030c000b0b200041013a0004200041013b010020002001ad3702080c040b2001411841f8e1c18000108281808000000b200341f0026a4200370300200341e8026a4200370300200341e0026a4200370300200342003703d8022008410274210520074103490d010b410021064100210203400240024020024120490d0020064188024f0d060240200341d0006a20066a22042d00000d00200441016a2d00000d00200441026a2d00000d00200441036a2d00000d00200441046a2d00000d00200441056a2d00000d00200441066a2d00000d00200441076a2d00004101470d020b2002412041e8e1c18000108281808000000b20064187024b0d05200341d8026a20026a21040240200341d0006a20066a22012d00004101470d00200420042d0000418001733a00000b0240200141016a2d00004101470d00200420042d000041c0006a3a00000b0240200141026a2d00004101470d00200420042d000041206a3a00000b0240200141036a2d00004101470d00200420042d000041106a3a00000b0240200141046a2d00004101470d00200420042d000041086a3a00000b0240200141056a2d00004101470d00200420042d000041046a3a00000b0240200141066a2d00004101470d00200420042d000041026a3a00000b200141076a2d00004101470d00200420042d000041016a3a00000b200641086a2106200241016a22022005490d000b2007411b4f0d040b200341d0036a4200370300200341c8036a4200370300200341c0036a4200370300200341b8036a4200370300200341b0036a4200370300200341a8036a4200370300200341a0036a4200370300200342003703980341002104200341003602f803200342abb38ffc91a3b3f0db003703f003200342ffa4b988c591da829b7f3703e803200342f2e6bbe3a3a7fda7a57f3703e003200342e7cca7d0d6d0ebb3bb7f3703d80320034198036a200341d8026a200510ce80808000200341fc036a20034198036a41e40010f4978080001a200341d0006a200841057422056a2109200341f8026a200341fc036a10cd808080000240034020082004460d01200520046a4188024f0d032004417f73210620044103762101200920046a2102200441016a21042001200341f8026a6a2d000020064107717620022d000073410171450d000b200041013b0100200041033a00040c010b20002003290320370102200041003b01002000412a6a200341c8006a290300370100200041226a200341c0006a2903003701002000411a6a200341386a290300370100200041126a200341306a2903003701002000410a6a200341286a2903003701000b200341e0046a2480808080000f0b200541880220054188024b1b41880241c8e1c18000108281808000000b200641880241d8e1c18000108281808000000b2005412041b8e1c18000109181808000000baf0300024020002f010041ffff03470d0041000f0b024020002f010241ffff03470d0041010f0b024020002f010441ffff03470d0041020f0b024020002f010641ffff03470d0041030f0b024020002f010841ffff03470d0041040f0b024020002f010a41ffff03470d0041050f0b024020002f010c41ffff03470d0041060f0b024020002f010e41ffff03470d0041070f0b024020002f011041ffff03470d0041080f0b024020002f011241ffff03470d0041090f0b024020002f011441ffff03470d00410a0f0b024020002f011641ffff03470d00410b0f0b024020002f011841ffff03470d00410c0f0b024020002f011a41ffff03470d00410d0f0b024020002f011c41ffff03470d00410e0f0b024020002f011e41ffff03470d00410f0f0b024020002f012041ffff03470d0041100f0b024020002f012241ffff03470d0041110f0b024020002f012441ffff03470d0041120f0b024020002f012641ffff03470d0041130f0b024020002f012841ffff03470d0041140f0b024020002f012a41ffff03470d0041150f0b024020002f012c41ffff03470d0041160f0b4117411820002f012e41ffff03461b0be405010b7f23808080800041c0006b220224808080800041002103024020012f0100220441ffff03460d00024020044180104f0d00410021032004410374220441bce1c080006a2802002205450d01200241106a200441b8e1c080006a280200200510be808080004101210320022802104101710d0141002106200241386a41003a0000200241186a41186a4200370300200241286a4200370300200241186a41086a420037030020024200370318200110c0808080002107410021054100210341002108024002400340200120086a2f0100220441ffff03460d01024002400240024020044180104f0d00200241086a2004410374220441b8e1c080006a280200200441bce1c080006a28020010be8080800020022802084101710d012005410b6a2109200228020c41157420057620037221032005417d4e0d02200921050c030b200441801041ec8ac08000108281808000000b4198e2c18000411041a8e2c1800010a181808000000b20064121200641214b1b220a20066b2104200541036a41037641016a220b20066a210c200241186a20066a210503402004450d04200520034118763a00002004417f6a2104200541016a2105200941786a210920034108742103200b417f6a220b0d000b20092105200c21060b200841026a22084130470d000b0b024002402005450d00200641214f0d01200241186a20066a20034118763a00000b20002002290318370000200041206a200241186a41206a2d00003a0000200041186a200241186a41186a290300370000200041106a200241186a41106a290300370000200041086a200241186a41086a2903003700002000200741036e410274360224200241c0006a2480808080000f0b200641214188e2c18000108281808000000b200a412141b8e2c18000108281808000000b200441801041ec8ac08000108281808000000b2002410036021c200241013a0019200220033a001841d8e2c18000412b200241186a41c8e2c180004184e3c1800010a981808000000bb30901047f23808080800041306b220224808080800002400240024002400240024020002d00000e050001020304000b2002200041046a36020c410121032001280200220041a6e3c18000410c2001280204220428020c2205118080808000000d040240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d062002410c6a200110c580808000450d010c060b200041e080c2800041022005118080808000000d0541012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10c5808080000d05200228022041da80c280004102200228022428020c118080808000000d050b200128020041e280c280004101200128020428020c1180808080000021030c040b2002200041046a36020c410121032001280200220041b2e3c18000410b2001280204220428020c2205118080808000000d030240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d052002410c6a200110c580808000450d010c050b200041e080c2800041022005118080808000000d0441012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10c5808080000d04200228022041da80c280004102200228022428020c118080808000000d040b200128020041e280c280004101200128020428020c1180808080000021030c030b2002200041046a36020c410121032001280200220041bde3c1800041122001280204220428020c2205118080808000000d020240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d042002410c6a200110c580808000450d010c040b200041e080c2800041022005118080808000000d0341012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10c5808080000d03200228022041da80c280004102200228022428020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021030c020b200128020041cfe3c18000410f200128020428020c1180808080000021030c010b410121032002200041016a36020c200128020022004194e3c1800041122001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d022002410c6a200110bc80808000450d010c020b200041e080c2800041022005118080808000000d0141012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10bc808080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021030b200241306a24808080800020030bb70b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041786a210b200041106a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41037422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b024002400240024020132d0008221620132d00004922170d004102211520144102460d04200c20126a2118410221150340201641ff0171211920182d000022162019490d03201841086a21182014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a2118410221150340201641ff0171211920182d0000221620194f0d02201841086a21182014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b201841017121102013201541037422146a210f41002116024020184101460d00201841feffffff0771211a200020146a211841002116200021190340201820126a221441786a221729020021072014417c6a201920126a221441046a280200360200201720142d00003a000020142007370200200f201641feffffff01734103746a22172902002107201741046a2014410c6a2802003602002017201441086a22142d00003a000020142007370200201841706a2118201941106a2119201a201641026a2216470d000b0b2010450d00201320164103746a22142d00002118201428020421192014200f2016417f734103746a221629020037020020162019360204201620183a00000b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510c480808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41037422146a211b200020146a211a03402006418e026a200e417f6a22166a2d0000200f490d010240024002400240200641046a20164102746a280200220e4101762215200941017622186a221220034b0d00200e200972410171450d010b2000200d20126b4103746a21140240200e4101710d002014201520022003201541017267410174413e734100200510c4808080000b20094101710d01201420154103746a201820022003201841017267410174413e734100200510c4808080000c010b201241017421090c010b024020094102490d00200e4102490d002003201820152018201549220e1b2219490d002002201420154103746a22092014200e1b2019410374220e10f4978080002213200e6a210e024002400240201820154f0d00201b211503402015200941786a2209200e41786a220e200e2d0000221820092d000022194922171b290200370200200e20174103746a210e2009201820194f4103746a22092014460d02201541786a2115200e2013470d000c020b0b024020190d00201321150c020b20132115034020142009201520092d0000221820152d000022194922171b290200370200201441086a21142015201820194f4103746a2215200e460d02200920174103746a2209201a470d000c020b0b20092114201321150b20142015200e20156b10f4978080001a0b201241017441017221090b410121142016210e201641014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c4808080000b200641d0026a2480808080000bfa0d010f7f23808080800041206b220724808080800002400240200141214f0d002000200120022003200610c9808080000c010b200241786a210802400340024020040d0020002001200220034101200610c3808080000c030b20002001410376220941386c6a210a200020094105746a210b02400240200141c000490d002000200b200a200910c780808000210c0c010b2000200a200b20002d00002209200b2d0000220d49220e200d200a2d0000220f49731b200e2009200f49731b210c0b2004417f6a21042007200c2802043602042007200c2d000022093a0000200c20006b410376211002400240024002402005450d0020052d0000200941ff01714f0d010b20032001490d044100210b200941ff0171210d200021092002200141037422116a2212210a20102113034002402009200041002013417d6a220e200e20134b1b4103746a22144f0d0003402002200a41786a20092d0000200d49220e1b200b4103746a20092902003702002002200a41706a200941086a220f2d0000200d4922151b200b200e6a220b4103746a200f2902003702002002200a41686a200941106a220e2d0000200d49220f1b200b20156a220b4103746a200e2902003702002002200a41606a220a200941186a220e2d0000200d4922151b200b200f6a220b4103746a200e290200370200200b20156a210b200941206a22092014490d000b0b02402009200020134103746a220f4f0d0003402002200a41786a220a20092d0000200d49220e1b200b4103746a2009290200370200200b200e6a210b200941086a2209200f490d000b0b024020132001460d00200a41786a220a200b4103746a2009290200370200200941086a2109200121130c010b0b20002002200b410374221310f49780800021142001200b6b211502402001200b460d002015410371210e4100210a0240200b20016b417c4b0d00201420136a21092015417c71210f200820116a210d4100210a03402009200d290200370200200941086a2012200a41feffffff01734103746a290200370200200941106a2012200a41fdffffff01734103746a290200370200200941186a2012200a41fcffffff01734103746a290200370200200d41606a210d200941206a2109200f200a41046a220a470d000b0b200e450d0020082011200a410374220a6b6a21092014200a6a20136a210a0340200a2009290200370200200941786a2109200a41086a210a200e417f6a220e0d000b0b200b450d00200b20014d0d01200741003602182007410136020c200741e8e3c1800036020820074204370210200741086a41f4e4c1800010fe80808000000b20032001490d034100210b200021092002200141037422056a2213210a034002402009200041002010417d6a220d200d20104b1b4103746a22144f0d00200c2d000041ff0171210d03402002200a41786a200d20092d00004f220e1b200b4103746a20092902003702002002200a41706a200d200941086a220f2d00004f22151b200b200e6a220b4103746a200f2902003702002002200a41686a200d200941106a220e2d00004f220f1b200b20156a220b4103746a200e2902003702002002200a41606a220a200d200941186a220e2d00004f22151b200b200f6a220b4103746a200e290200370200200b20156a210b200941206a22092014490d000b0b02402009200020104103746a220e4f0d00200c2d000041ff0171210f03402002200a41786a220a200f20092d00004f220d1b200b4103746a2009290200370200200b200d6a210b200941086a2209200e490d000b0b024020102001460d002002200b4103746a2009290200370200200941086a2109200b41016a210b200a41786a210a200121100c010b0b20002002200b410374221210f497808000211402402001200b460d002001200b6b2215410371210e201420126a21104100210a0240200b20016b417c4b0d002015417c71210f200820056a210d4100210a2010210903402009200d290200370200200941086a2013200a41feffffff01734103746a290200370200200941106a2013200a41fdffffff01734103746a290200370200200941186a2013200a41fcffffff01734103746a290200370200200d41606a210d200941206a2109200f200a41046a220a470d000b0b0240200e450d002008200a410374220a6b20056a21092014200a6a20126a210a0340200a2009290200370200200941786a2109200a41086a210a200e417f6a220e0d000b0b200b20014d0d02200b20014184e5c18000109281808000000b201420014103746a410020022003200610c9808080000c040b201420136a20152002200320042007200610c480808000200b2101200b41214f0d012014200b20022003200610c9808080000c030b410021052010210020152101201541214f0d000b2010201520022003200610c9808080000c010b000b200741206a2480808080000bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000bd21502067f017e23808080800041206b220224808080800020002802002103024002402001280200220441e580c2800041012001280204220528020c220611808080800000450d00410121000c010b0240024002400240200128020822074180808004710d004101210020032d00004101470d01200141b9a8c28000410410b481808000450d030c040b41012100200441e380c2800041012006118080808000000d032002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d00002100200220023602100240024020004101470d00200241106a41b9a8c28000410410b4818080000d010c030b200241106a41b4a8c28000410510b481808000450d020b410121000c030b200141b4a8c28000410510b4818080000d020c010b0240200241da80c280004102108881808000450d00410121000c020b2008a721070b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00014101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0001210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00024101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0002210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00034101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0003210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00044101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0004210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00054101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0005210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00064101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0006210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00074101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0007210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00084101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0008210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b024002400240024020074180808004710d0041012100200441d380c2800041022006118080808000000d044101210020032d00094101470d01200141b9a8c28000410410b481808000450d030c040b2002200536020420022004360200200241013a000f200241b480c280003602142002200129020837021820022002410f6a36020820032d00092101200220023602100240024020014101470d00200241106a41b9a8c28000410410b4818080000d010c030b200241106a41b4a8c28000410510b481808000450d020b410121000c030b200141b4a8c28000410510b4818080000d020c010b200241da80c280004102108881808000450d00410121000c010b200441e680c28000410120061180808080000021000b200241206a24808080800020000b8b0101037f024020034108490d00200020002003410376220341057422046a2000200341386c22056a200310c78080800021002001200120046a200120056a200310c78080800021012002200220046a200220056a200310c78080800021020b20002002200120002d0000220320012d00002204492205200420022d0000220649731b20052003200649731b0be006040a7f027e017f027e200020002d0008220320002d00002204494103746a220520004118411020002d001820002d00104922061b6a22072000200320044f4103746a220320004110411820061b6a22042d000020032d00004922061b20072d000020052d00004922081b22092d0000210a20042003200720081b20061b220b2d0000210c20022007200520081b290200220d3702002002200b2009200c200a4922071b29020037020820022009200b20071b290200370210200241186a220a2003200420061b290200220e370200200041206a220720002d0028220320002d00202204494103746a220520074118411020002d003820002d00304922061b6a22002007200320044f4103746a220320074110411820061b6a22072d000020032d00004922041b20002d000020052d00004922061b22082d0000210c20072003200020061b20041b22092d0000210f200241206a220b2000200520061b2902002210370200200241286a20092008200f200c4922001b290200370200200241306a2008200920001b290200370200200241386a22052003200720041b29020022113702002001200b20022010a741ff01712207200da741ff017122034922001b29020037020020012002411841382011a741ff01712204200ea741ff017122064922081b6a2902003702382001200b20004103746a22002002200720034f4103746a220220002d0000220920022d0000220b49220c1b2902003702082001200a4178410020081b6a2207200541784100200420064f1b6a220320032d0000220520072d000022044922061b29020037023020012000200c4103746a220020022009200b4f4103746a220220002d0000220820022d0000220949220b1b290200370210200120074178410020061b6a2207200341784100200520044f1b6a220320032d0000220420072d0000220649220a1b29020037022820012000200b4103746a22052002200820094f4103746a220020052d0000220820002d0000220949220b1b2902003702182001200741784100200a1b6a2202200341784100200420064f1b6a220720072d0000220420022d000022064922031b290200370220024002402000200820094f4103746a20024178410020031b6a41086a470d002005200b4103746a200741784100200420064f1b6a41086a460d010b109c81808000000b0bef08020f7f017e23808080800041106b2205248080808000024020014102490d000240024002402003200141106a490d00200141017621062001410f4b0d010240200141074d0d00200220004118411020002d001820002d00104922071b6a2203200020002d0008220820002d00002209494103746a220a20032d0000200a2d000049220b1b29020037020020022000200820094f4103746a220820004110411820071b6a220720072d000020082d00004922091b2902003702182002200720082003200b1b20091b2207200a2003200820091b200b1b220320072d000020032d00004922081b29020037020820022003200720081b2902003702102002200641037422036a2208200020036a22034118411020032d001820032d00104922091b6a220a200320032d0008220c20032d0000220d494103746a220b200a2d0000200b2d00004922071b290200370200200820034110411820091b6a22092003200c200d4f4103746a2203200a20071b20092d000020032d000049220c1b220d200b200a2003200c1b20071b220a200d2d0000200a2d000049220b1b2902003702082008200a200d200b1b290200370210200820032009200c1b2902003702184104210e0c030b200220002902003702002002200641037422036a200020036a2902003702004101210e0c020b000b20002002200220014103746a220310c8808080002000200641037422086a200220086a200341c0006a10c8808080004108210e0b20054202370204200e410374210b2005200636020c200120066b210f200541086a2110410021034102210703402005200341016a22083602002003410274210a200821030240200e200f20062010200a6a28020022081b22114f0d002000200841037422036a21124108210c200220036a2213210d200e210903402013200941037422036a2208201220036a29020022143702000240200841786a2d00002014a741ff017122074d0d00200c2108200d2103024003402003200b6a220a200a41786a2902003702000240200b2008470d00201321030c020b200841086a2108200341786a2103200a41706a2d000020074b0d000b2003200b6a21030b2003201442ff81808070833702000b200c41786a210c200d41086a210d200941016a22092011470d000b20052802002103200528020421070b20072003470d000b200220064103746a220341786a21082002200141037441786a220b6a210a2000200b6a210b034020002003200220032d0000220720022d0000220949220c1b290200370200200b2008200a200a2d0000220d20082d000022134922111b290200370200200b41786a210b200041086a210020084178410020111b6a2108200a41784100200d20134f1b6a210a2002200720094f4103746a21022003200c4103746a21032006417f6a22060d000b200841086a210802402001410171450d002000200220032002200849220b1b2902003702002003200220084f4103746a21032002200b4103746a21020b024020022008470d002003200a41086a460d010b109c81808000000b200541106a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141c0843d200141c0843d491b2204200120014101766b2205200420054b1b2204418104490d0020044103742106410021070240200541ffffffff014b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b200720064184e6c1800010b980808000000b200020012003418004200141c10049200210c3808080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210c38080800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000bb90201047f024002402002280204450d000240200228020822030d00024020010d00410421020c030b4100210241002d008083d480001a200141002802f482d48000118280808000002204450d022004200441036a417c7120046b22056a2202417e6a20053b00000c020b2002280200210441002102200141002802f482d48000118280808000002205450d012005200541036a417c7120056b22066a2202417e6a20063b000020022004200310f4978080001a20042004417e6a2f00006b41002802ec82d48000118180808000000c010b024020010d00410421020c010b4100210241002d008083d480001a200141002802f482d48000118280808000002204450d002004200441036a417c7120046b22056a2202417e6a20053b00000b2000200136020820002002410420021b36020420002002453602000be00101077f23808080800041206b22022480808080004100210302402000280200220441ffffffff004d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410374220741fcffffff074b0d004100210502402004450d002002200441037436021c20022000280204360214410421050b20022005360218200241086a2007200241146a10cb8080800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000b880503017f017e027f23808080800041c0006b220224808080800020013502602103200241306a4200370300200241286a4200370300200241206a4200370300200241186a4200370300200241106a4200370300200241086a42003703002002420037030020014194e6c18000410110ce80808000024002402001280260413f71220441384b0d00413820046b21040c010b20012002413810ce8080800041382001280260413f7122056b210420054139490d002004413841fce6c18000109181808000000b20012002200410ce80808000200220034205884280808038832003423b862003422b8642808080808080c0ff0083842003421b86428080808080e03f832003420b864280808080f01f838484843703382001200241386a410810ce808080002000200128025c220441187420044180fe03714108747220044108764180fe03712004411876727236001c20002001280258220441187420044180fe03714108747220044108764180fe03712004411876727236001820002001280254220441187420044180fe03714108747220044108764180fe03712004411876727236001420002001280250220441187420044180fe03714108747220044108764180fe0371200441187672723600102000200128024c220441187420044180fe03714108747220044108764180fe03712004411876727236000c20002001280248220441187420044180fe03714108747220044108764180fe03712004411876727236000820002001280244220441187420044180fe03714108747220044108764180fe03712004411876727236000420002001280240220141187420014180fe03714108747220014108764180fe037120014118767272360000200241c0006a2480808080000bdf3e01477f02402002450d00034020002000280260413f7122036a2001200241c00020036b220320022003491b220310f4978080001a2000200320002802606a220436026002402004413f710d002000200028023c220441187420044180fe03714108747220044108764180fe03712004411876727222054119772005410e77732005410376732000280238220441187420044180fe03714108747220044108764180fe03712004411876727222066a2000280220220441187420044180fe03714108747220044108764180fe03712004411876727222074119772007410e7773200741037673200028021c220441187420044180fe03714108747220044108764180fe03712004411876727222086a2000280204220441187420044180fe03714108747220044108764180fe03712004411876727222094119772009410e77732009410376732000280200220441187420044180fe03714108747220044108764180fe037120044118767272220a6a2000280224220441187420044180fe03714108747220044108764180fe037120044118767272220b6a2006410f772006410d77732006410a76736a220c6a2000280218220441187420044180fe03714108747220044108764180fe037120044118767272220d411977200d410e7773200d410376732000280214220441187420044180fe03714108747220044108764180fe037120044118767272220e6a20066a2000280210220441187420044180fe03714108747220044108764180fe037120044118767272220f411977200f410e7773200f41037673200028020c220441187420044180fe03714108747220044108764180fe03712004411876727222106a2000280230220441187420044180fe03714108747220044108764180fe03712004411876727222116a2000280208220441187420044180fe03714108747220044108764180fe03712004411876727222124119772012410e777320124103767320096a2000280228220441187420044180fe03714108747220044108764180fe03712004411876727222136a2005410f772005410d77732005410a76736a2214410f772014410d77732014410a76736a2215410f772015410d77732015410a76736a2216410f772016410d77732016410a76736a22176a2000280234220441187420044180fe03714108747220044108764180fe03712004411876727222184119772018410e777320184103767320116a20166a200028022c220441187420044180fe03714108747220044108764180fe03712004411876727222194119772019410e777320194103767320136a20156a200b411977200b410e7773200b4103767320076a20146a20084119772008410e7773200841037673200d6a20056a200e411977200e410e7773200e41037673200f6a20186a20104119772010410e777320104103767320126a20196a200c410f77200c410d7773200c410a76736a221a410f77201a410d7773201a410a76736a221b410f77201b410d7773201b410a76736a221c410f77201c410d7773201c410a76736a221d410f77201d410d7773201d410a76736a221e410f77201e410d7773201e410a76736a221f410f77201f410d7773201f410a76736a22204119772020410e777320204103767320064119772006410e777320064103767320186a201c6a20114119772011410e777320114103767320196a201b6a20134119772013410e7773201341037673200b6a201a6a2017410f772017410d77732017410a76736a2221410f772021410d77732021410a76736a2222410f772022410d77732022410a76736a22236a20174119772017410e7773201741037673201c6a200c411977200c410e7773200c4103767320056a201d6a2023410f772023410d77732023410a76736a22246a20164119772016410e7773201641037673201b6a20236a20154119772015410e7773201541037673201a6a20226a20144119772014410e7773201441037673200c6a20216a2020410f772020410d77732020410a76736a2225410f772025410d77732025410a76736a2226410f772026410d77732026410a76736a2227410f772027410d77732027410a76736a22286a201f411977201f410e7773201f4103767320226a20276a201e411977201e410e7773201e4103767320216a20266a201d411977201d410e7773201d4103767320176a20256a201c411977201c410e7773201c4103767320166a20206a201b411977201b410e7773201b4103767320156a201f6a201a411977201a410e7773201a4103767320146a201e6a2024410f772024410d77732024410a76736a2229410f772029410d77732029410a76736a222a410f77202a410d7773202a410a76736a222b410f77202b410d7773202b410a76736a222c410f77202c410d7773202c410a76736a222d410f77202d410d7773202d410a76736a222e410f77202e410d7773202e410a76736a222f411977202f410e7773202f4103767320234119772023410e7773202341037673201f6a202b6a20224119772022410e7773202241037673201e6a202a6a20214119772021410e7773202141037673201d6a20296a2028410f772028410d77732028410a76736a2230410f772030410d77732030410a76736a2231410f772031410d77732031410a76736a22326a20284119772028410e7773202841037673202b6a20244119772024410e777320244103767320206a202c6a2032410f772032410d77732032410a76736a22336a20274119772027410e7773202741037673202a6a20326a20264119772026410e777320264103767320296a20316a20254119772025410e777320254103767320246a20306a202f410f77202f410d7773202f410a76736a2234410f772034410d77732034410a76736a2235410f772035410d77732035410a76736a2236410f772036410d77732036410a76736a22376a202e411977202e410e7773202e4103767320316a20366a202d411977202d410e7773202d4103767320306a20356a202c411977202c410e7773202c4103767320286a20346a202b411977202b410e7773202b4103767320276a202f6a202a411977202a410e7773202a4103767320266a202e6a20294119772029410e777320294103767320256a202d6a2033410f772033410d77732033410a76736a2238410f772038410d77732038410a76736a2239410f772039410d77732039410a76736a223a410f77203a410d7773203a410a76736a223b410f77203b410d7773203b410a76736a223c410f77203c410d7773203c410a76736a223d410f77203d410d7773203d410a76736a223e203c203a20382032203020272025201f201d201b200c20112007200f2000280250223f411a77203f41157773203f41077773200028025c22406a200a6a200028025822412000280254224273203f712041736a4198dfa894046a220a200028024c22436a22046a203f20106a204220126a204120096a20042042203f73712042736a2004411a772004411577732004410777736a419189dd89076a2244200028024822456a220f2004203f7371203f736a200f411a77200f41157773200f410777736a41cff783ae7b6a2246200028024422476a2210200f200473712004736a2010411a772010411577732010410777736a41a5b7d7cd7e6a2248200028024022046a22122010200f7371200f736a2012411a772012411577732012410777736a41db84dbca036a224920452047200472712047200471722004411e772004411377732004410a77736a200a6a22096a220a6a200820126a200d20106a200e200f6a200a2012201073712010736a200a411a77200a41157773200a410777736a41f1a3c4cf056a220d2009411e772009411377732009410a777320092004722047712009200471726a20446a220f6a2207200a201273712012736a2007411a772007411577732007410777736a41a485fe91796a220e200f411e77200f41137773200f410a7773200f200972200471200f200971726a20466a22106a22122007200a7371200a736a2012411a772012411577732012410777736a41d5bdf1d87a6a22442010411e772010411377732010410a77732010200f722009712010200f71726a20486a22096a220a2012200773712007736a200a411a77200a41157773200a410777736a4198d59ec07d6a22462009411e772009411377732009410a77732009201072200f712009201071726a20496a220f6a22086a2019200a6a201320126a200b20076a2008200a201273712012736a2008411a772008411577732008410777736a4181b68d94016a220b200f411e77200f41137773200f410a7773200f200972201071200f200971726a200d6a22106a22122008200a7371200a736a2012411a772012411577732012410777736a41be8bc6a1026a22112010411e772010411377732010410a77732010200f722009712010200f71726a200e6a22096a220a2012200873712008736a200a411a77200a41157773200a410777736a41c3fbb1a8056a22132009411e772009411377732009410a77732009201072200f712009201071726a20446a220f6a2207200a201273712012736a2007411a772007411577732007410777736a41f4baf995076a2219200f411e77200f41137773200f410a7773200f200972201071200f200971726a20466a22106a22086a200520076a2006200a6a201820126a20082007200a7371200a736a2008411a772008411577732008410777736a41fee3fa86786a220a2010411e772010411377732010410a77732010200f722009712010200f71726a200b6a22056a22092008200773712007736a2009411a772009411577732009410777736a41a78df0de796a22072005411e772005411377732005410a77732005201072200f712005201071726a20116a22066a220f2009200873712008736a200f411a77200f41157773200f410777736a41f4e2ef8c7c6a22082006411e772006411377732006410a777320062005722010712006200571726a20136a220c6a2210200f200973712009736a2010411a772010411577732010410777736a41c1d3eda47e6a220b200c411e77200c41137773200c410a7773200c200672200571200c200671726a20196a22056a22126a201520106a201a200f6a201420096a20122010200f7371200f736a2012411a772012411577732012410777736a41868ff9fd7e6a22092005411e772005411377732005410a77732005200c722006712005200c71726a200a6a22066a22142012201073712010736a2014411a772014411577732014410777736a41c6bb86fe006a220f2006411e772006411377732006410a77732006200572200c712006200571726a20076a220c6a22152014201273712012736a2015411a772015411577732015410777736a41ccc3b2a0026a2210200c411e77200c41137773200c410a7773200c200672200571200c200671726a20086a22056a221a2015201473712014736a201a411a77201a41157773201a410777736a41efd8a4ef026a22122005411e772005411377732005410a77732005200c722006712005200c71726a200b6a22066a221b6a2017201a6a201c20156a201620146a201b201a201573712015736a201b411a77201b41157773201b410777736a41aa89d2d3046a221c2006411e772006411377732006410a77732006200572200c712006200571726a20096a220c6a2214201b201a7371201a736a2014411a772014411577732014410777736a41dcd3c2e5056a221a200c411e77200c41137773200c410a7773200c200672200571200c200671726a200f6a22056a22152014201b7371201b736a2015411a772015411577732015410777736a41da91e6b7076a221b2005411e772005411377732005410a77732005200c722006712005200c71726a20106a22066a22162015201473712014736a2016411a772016411577732016410777736a41d2a2f9c1796a221d2006411e772006411377732006410a77732006200572200c712006200571726a20126a220c6a22176a202220166a201e20156a202120146a20172016201573712015736a2017411a772017411577732017410777736a41ed8cc7c17a6a221e200c411e77200c41137773200c410a7773200c200672200571200c200671726a201c6a22056a22142017201673712016736a2014411a772014411577732014410777736a41c8cf8c807b6a221c2005411e772005411377732005410a77732005200c722006712005200c71726a201a6a22066a22152014201773712017736a2015411a772015411577732015410777736a41c7ffe5fa7b6a221a2006411e772006411377732006410a77732006200572200c712006200571726a201b6a220c6a22162015201473712014736a2016411a772016411577732016410777736a41f39780b77c6a221b200c411e77200c41137773200c410a7773200c200672200571200c200671726a201d6a22056a22176a202420166a202020156a202320146a20172016201573712015736a2017411a772017411577732017410777736a41c7a29ead7d6a221d2005411e772005411377732005410a77732005200c722006712005200c71726a201e6a22066a22142017201673712016736a2014411a772014411577732014410777736a41d1c6a9366a221e2006411e772006411377732006410a77732006200572200c712006200571726a201c6a220c6a22152014201773712017736a2015411a772015411577732015410777736a41e7d2a4a1016a221c200c411e77200c41137773200c410a7773200c200672200571200c200671726a201a6a22056a22162015201473712014736a2016411a772016411577732016410777736a418595dcbd026a221a2005411e772005411377732005410a77732005200c722006712005200c71726a201b6a22066a22176a202a20166a202620156a202920146a20172016201573712015736a2017411a772017411577732017410777736a41b8c2ecf0026a221b2006411e772006411377732006410a77732006200572200c712006200571726a201d6a220c6a22142017201673712016736a2014411a772014411577732014410777736a41fcdbb1e9046a221d200c411e77200c41137773200c410a7773200c200672200571200c200671726a201e6a22056a22152014201773712017736a2015411a772015411577732015410777736a41939ae099056a221e2005411e772005411377732005410a77732005200c722006712005200c71726a201c6a22066a22162015201473712014736a2016411a772016411577732016410777736a41d4e6a9a8066a221c2006411e772006411377732006410a77732006200572200c712006200571726a201a6a220c6a22176a202c20166a202820156a202b20146a20172016201573712015736a2017411a772017411577732017410777736a41bb95a8b3076a221a200c411e77200c41137773200c410a7773200c200672200571200c200671726a201b6a22056a22142017201673712016736a2014411a772014411577732014410777736a41ae928b8e786a221b2005411e772005411377732005410a77732005200c722006712005200c71726a201d6a22066a22152014201773712017736a2015411a772015411577732015410777736a4185d9c893796a221d2006411e772006411377732006410a77732006200572200c712006200571726a201e6a220c6a22162015201473712014736a2016411a772016411577732016410777736a41a1d1ff957a6a221e200c411e77200c41137773200c410a7773200c200672200571200c200671726a201c6a22056a22176a202e20166a203120156a202d20146a20172016201573712015736a2017411a772017411577732017410777736a41cbcce9c07a6a221c2005411e772005411377732005410a77732005200c722006712005200c71726a201a6a22066a22142017201673712016736a2014411a772014411577732014410777736a41f096ae927c6a221a2006411e772006411377732006410a77732006200572200c712006200571726a201b6a220c6a22152014201773712017736a2015411a772015411577732015410777736a41a3a3b1bb7c6a221b200c411e77200c41137773200c410a7773200c200672200571200c200671726a201d6a22056a22162015201473712014736a2016411a772016411577732016410777736a4199d0cb8c7d6a221d2005411e772005411377732005410a77732005200c722006712005200c71726a201e6a22066a22176a203420166a203320156a202f20146a20172016201573712015736a2017411a772017411577732017410777736a41a48ce4b47d6a221e2006411e772006411377732006410a77732006200572200c712006200571726a201c6a220c6a22142017201673712016736a2014411a772014411577732014410777736a4185ebb8a07f6a221c200c411e77200c41137773200c410a7773200c200672200571200c200671726a201a6a22056a22152014201773712017736a2015411a772015411577732015410777736a41f0c0aa83016a221a2005411e772005411377732005410a77732005200c722006712005200c71726a201b6a22066a22162015201473712014736a2016411a772016411577732016410777736a41968293cd016a221b2006411e772006411377732006410a77732006200572200c712006200571726a201d6a220c6a22176a203620166a203920156a203520146a20172016201573712015736a2017411a772017411577732017410777736a4188d8ddf1016a221d200c411e77200c41137773200c410a7773200c200672200571200c200671726a201e6a22056a22142017201673712016736a2014411a772014411577732014410777736a41cceea1ba026a221e2005411e772005411377732005410a77732005200c722006712005200c71726a201c6a22066a22152014201773712017736a2015411a772015411577732015410777736a41b5f9c2a5036a221c2006411e772006411377732006410a77732006200572200c712006200571726a201a6a220c6a22162015201473712014736a2016411a772016411577732016410777736a41b399f0c8036a221a200c411e77200c41137773200c410a7773200c200672200571200c200671726a201b6a22056a22176a20304119772030410e7773203041037673202c6a20386a2037410f772037410d77732037410a76736a221b20166a203b20156a203720146a20172016201573712015736a2017411a772017411577732017410777736a41cad4e2f6046a221f2005411e772005411377732005410a77732005200c722006712005200c71726a201d6a22066a22142017201673712016736a2014411a772014411577732014410777736a41cf94f3dc056a221d2006411e772006411377732006410a77732006200572200c712006200571726a201e6a220c6a22152014201773712017736a2015411a772015411577732015410777736a41f3dfb9c1066a221e200c411e77200c41137773200c410a7773200c200672200571200c200671726a201c6a22056a22162015201473712014736a2016411a772016411577732016410777736a41ee85bea4076a22202005411e772005411377732005410a77732005200c722006712005200c71726a201a6a22066a22176a20324119772032410e7773203241037673202e6a203a6a20314119772031410e7773203141037673202d6a20396a201b410f77201b410d7773201b410a76736a221a410f77201a410d7773201a410a76736a221c20166a203d20156a201a20146a20172016201573712015736a2017411a772017411577732017410777736a41efc695c5076a22142006411e772006411377732006410a77732006200572200c712006200571726a201f6a220c6a22152017201673712016736a2015411a772015411577732015410777736a4194f0a1a6786a221f200c411e77200c41137773200c410a7773200c200672200571200c200671726a201d6a22056a22162015201773712017736a2016411a772016411577732016410777736a4188849ce6786a221d2005411e772005411377732005410a77732005200c722006712005200c71726a201e6a22066a22172016201573712015736a2017411a772017411577732017410777736a41fafffb85796a221e2006411e772006411377732006410a77732006200572200c712006200571726a20206a220c6a221a20406a36025c20002043200c411e77200c41137773200c410a7773200c200672200571200c200671726a20146a2205411e772005411377732005410a77732005200c722006712005200c71726a201f6a2206411e772006411377732006410a77732006200572200c712006200571726a201d6a220c411e77200c41137773200c410a7773200c200672200571200c200671726a201e6a22146a36024c2000204120334119772033410e7773203341037673202f6a203b6a201c410f77201c410d7773201c410a76736a221c20156a201a2017201673712016736a201a411a77201a41157773201a410777736a41ebd9c1a27a6a221d20056a22156a360258200020452014411e772014411377732014410a77732014200c722006712014200c71726a201d6a22056a36024820002042203320344119772034410e77732034410376736a201b6a203e410f77203e410d7773203e410a76736a20166a2015201a201773712017736a2015411a772015411577732015410777736a41f7c7e6f77b6a221b20066a22166a360254200020472005411e772005411377732005410a77732005201472200c712005201471726a201b6a22066a3602442000200c203f6a203420384119772038410e77732038410376736a203c6a201c410f77201c410d7773201c410a76736a20176a20162015201a7371201a736a2016411a772016411577732016410777736a41f2f1c5b37c6a220c6a3602502000200420062005722014712006200571726a2006411e772006411377732006410a77736a200c6a3602400b200120036a2101200220036b22020d000b0b0bee2d01297e200020002903102204200129002022057c200029033022067c2207200129002822087c200220078542ebfa86dabfb5f6c11f85422089220942abf0d3f4afeebcb73c7c220a200685422889220b7c220c200129006022027c2000290318220d200129003022077c2000290338220e7c220f200129003822107c2003200f8542f9c2f89b91a3b3f0db0085422089220342f1edf4f8a5a7fda7a57f7c220f200e8542288922117c22122003854230892213200f7c221420118542018922157c2216200129006822037c2016200029030822172001290010220f7c200029032822187c2219200129001822117c2019429fd8f9d9c291da829b7f85422089221942bbceaaa6d8d0ebb3bb7f7c221a201885422889221b7c221c201985423089221d85422089221e2000290300221f200129000022167c200029032022207c2221200129000822197c200029034020218542d1859aeffacf9487d100854220892221428892f39dffccf984ea007c222220208542288922237c2224202185423089222520227c22227c222620158542288922277c2228200129004822157c201c200129005022217c200c200985423089220c200a7c221c200b85420189220a7c220b200129005822097c200b202585422089220b20147c2214200a85422889220a7c2225200b85423089222920147c2214200a85420189222a7c222b2001290078220a7c202b20122001290070220b7c202220238542018922127c2222200a7c2022200c85422089220c201d201a7c221a7c221d20128542288922127c2222200c85423089222385422089222b20242001290040220c7c201a201b85420189221a7c221b20157c201b2013854220892213201c7c221b201a85422889221a7c221c2013854230892213201b7c221b7c2224202a85422889222a7c222c20097c202220037c2028201e85423089221e20267c222220278542018922267c222720077c2027201385422089221320147c221420268542288922267c2227201385423089221320147c221420268542018922267c222820107c2028202520057c201b201a85420189221a7c221b200c7c201b201e85422089221b2023201d7c221d7c221e201a85422889221a7c2223201b85423089221b854220892225201c200b7c201d20128542018922127c221c20217c201c202985422089221c20227c221d20128542288922127c2222201c85423089221c201d7c221d7c222820268542288922267c222920087c202320167c202c202b85423089222320247c2224202a85420189222a7c222b200f7c202b201c85422089221c20147c2214202a85422889222a7c222b201c85423089221c20147c2214202a85420189222a7c222c200f7c202c202720087c201d20128542018922127c221d20117c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892227202220197c201b201a85420189221a7c221b20027c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c2224202a85422889222a7c222c20107c2023200a7c2029202585423089222320287c222520268542018922267c222820037c2028201385422089221320147c221420268542288922267c2228201385423089221320147c221420268542018922267c222920197c2029202b20027c201b201a85420189221a7c221b20167c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892229202220097c201d20128542018922127c221d200c7c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20037c202320117c202c202785423089222320247c2224202a8542018922277c222a20077c202a201c85422089221c20147c221420278542288922277c222a201c85423089221c20147c221420278542018922277c222c20027c202c202820157c201d20128542018922127c221d20057c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892228202220217c201b201a85420189221a7c221b200b7c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20057c202320097c202b202985423089222320257c222520268542018922267c2229200b7c2029201385422089221320147c221420268542288922267c2229201385423089221320147c221420268542018922267c222b20167c202b202a20117c201b201a85420189221a7c221b20197c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b85422089222a202220107c201d20128542018922127c221d20157c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b200f7c202320087c202c202885423089222320247c222420278542018922277c222820217c2028201c85422089221c20147c221420278542288922277c2228201c85423089221c20147c221420278542018922277c222c20057c202c2029200a7c201d20128542018922127c221d200c7c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d8542208922292022200f7c201b201a85420189221a7c221b20077c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20077c202320217c202b202a85423089222320257c222520268542018922267c222a200a7c202a201385422089221320147c221420268542288922267c222a201385423089221320147c221420268542018922267c222b200c7c202b202820087c201b201a85420189221a7c221b20107c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892228202220157c201d20128542018922127c221d20167c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20167c202320097c202c202985423089222320247c222420278542018922277c222920027c2029201c85422089221c20147c221420278542288922277c2229201c85423089221c20147c221420278542018922277c222c20097c202c202a20117c201d20128542018922127c221d20037c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d85422089222a2022200b7c201b201a85420189221a7c221b20197c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c200a7c2023200c7c202b202885423089222320257c222520268542018922267c222820117c2028201385422089221320147c221420268542288922267c2228201385423089221320147c221420268542018922267c222b200b7c202b202920077c201b201a85420189221a7c221b20217c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b8542208922292022200f7c201d20128542018922127c221d20027c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b200b7c202320107c202c202a85423089222320247c222420278542018922277c222a20087c202a201c85422089221c20147c221420278542288922277c222a201c85423089221c20147c221420278542018922277c222c20037c202c202820197c201d20128542018922127c221d20157c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892228202220057c201b201a85420189221a7c221b20037c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20157c202320057c202b202985423089222320257c222520268542018922267c222920217c2029201385422089221320147c221420268542288922267c2229201385423089221320147c221420268542018922267c222b200f7c202b202a20197c201b201a85420189221a7c221b200a7c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b85422089222a202220027c201d20128542018922127c221d20087c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20027c202320077c202c202885423089222320247c222420278542018922277c222820117c2028201c85422089221c20147c221420278542288922277c2228201c85423089221c20147c221420278542018922277c222c20197c202c2029200c7c201d20128542018922127c221d20097c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892229202220167c201b201a85420189221a7c221b20107c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c200c7c202320117c202b202a85423089222320257c222520268542018922267c222a20157c202a201385422089221320147c221420268542288922267c222a201385423089221320147c221420268542018922267c222b20077c202b202820107c201b201a85420189221a7c221b200b7c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892228202220037c201d20128542018922127c221d20097c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20097c2023200a7c202c202985423089222320247c222420278542018922277c222920057c2029201c85422089221c20147c221420278542288922277c2229201c85423089221c20147c221420278542018922277c222c20117c202c202a200f7c201d20128542018922127c221d20217c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d85422089222a202220087c201b201a85420189221a7c221b20167c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20197c202320167c202b202885423089222320257c222520268542018922267c2228200c7c2028201385422089221320147c221420268542288922267c2228201385423089221320147c221420268542018922267c222b20057c202b2029200b7c201b201a85420189221a7c221b20157c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892229202220077c201d20128542018922127c221d200a7c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20107c202320037c202c202a85423089222320247c222420278542018922277c222a20107c202a201c85422089221c20147c221420278542288922277c222a201c85423089221c20147c221420278542018922277c222c20077c202c202820217c201d20128542018922127c221d20087c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892228202220027c201b201a85420189221a7c221b200f7c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20117c202320197c202b202985423089222320257c222520268542018922267c222920087c2029201385422089221320147c221420268542288922267c2229201385423089221320147c221420268542018922267c222b20027c202b202a200c7c201b201a85420189221a7c221b20057c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b85422089222a202220217c201d20128542018922127c221d200f7c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20057c202320157c202c202885423089222320247c222420278542018922277c2228200b7c2028201c85422089221c20147c221420278542288922277c2228201c85423089221c20147c221420278542018922277c222c20087c202c202920037c201d20128542018922127c221d20167c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d8542208922292022200a7c201b201a85420189221a7c221b20097c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20027c202320077c202b202a85423089222320257c222520268542018922267c222a20107c202a201385422089221320147c221420268542288922267c222a201385423089221320147c221420268542018922267c222b20037c202b2028200f7c201b201a85420189221a7c221b20117c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892228202220167c201d20128542018922127c221d20197c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20157c202320217c202c202985423089222320247c222420278542018922277c222920097c2029201c85422089221c20147c221420278542288922277c2229201c85423089221c20147c221420278542018922277c222c200a7c202c202a200b7c201d20128542018922127c221d200a7c201d202385422089220a201b201e7c221b7c221d20128542288922127c221e200a85423089220a8542208922232022200c7c201b201a85420189221a7c221b20157c201b201385422089221520247c2213201a85422889221a7c221b201585423089221520137c22137c222220278542288922247c222720097c201e20037c202b202885423089220320257c2209202685420189221e7c222520077c2025201585422089220720147c2215201e8542288922147c221e200785423089220720157c221520148542018922147c222520107c2025202920057c2013201a8542018922057c2210200c7c20102003854220892210200a201d7c22037c220a20058542288922057c220c2010854230892210854220892213201b200b7c200320128542018922037c220b20217c200b201c85422089222120097c220920038542288922037c220b202185423089222120097c22097c221220148542288922147c221a200485200b20197c2010200a7c221020058542018922057c221920027c201920078542208922022027202385423089220720227c22197c220a20058542288922057c220b2002854230892202200a7c220a853703102000200d2011201e20087c200920038542018922087c22037c2003200785422089220720107c221020088542288922087c220385200f200c20167c201920248542018922117c22167c2016202185422089220f20157c221620118542288922117c2219200f85423089220f20167c221685370318200020192017852003200785423089220720107c2210853703082000200b201f85201a201385423089220320127c22198537030020002018200a200585420189852003853703282000200e2019201485420189852002853703382000200620162011854201898520078537033020002020201020088542018985200f853703200bdf3004017f087e067f257e2380808080004180016b2208248080808000200229033821092002290330210a2002290328210b2002290320210c2002290318210d2002290310210e2002290308210f20022903002110410021112008410041800110fa9780800021122000200141807c41807f20071b41002001417f6a2208200820014b1b71220820012008491b22136a211402400240200120136b221341ff004d0d0041800121130c010b20122014201310f49780800021140b41800441800120071b221520086a21162006ad427f7c21172005200672ad427f7c2118024002400340201821192017211a2013210620142107024020082011460d00201141807f460d0220114180016a20014b0d03200020116a21074180012106420021194200211a0b200c2007290038221b200d20097c2007290030221c7c221d7c2019201d8542f9c2f89b91a3b3f0db0085422089221e42f1edf4f8a5a7fda7a57f7c221f20098542288922207c2221200729000822192010200c7c2007290000221d7c22227c202220032006ad7c22238542d1859aeffacf9487d100854220892222428892f39dffccf984ea007c2224200c8542288922257c2226202285423089222720247c222820258542018922297c200729007022227c222a200729007822247c202a20072900282225200e200a7c2007290020222b7c222c7c201a202c8542ebfa86dabfb5f6c11f85422089221a42abf0d3f4afeebcb73c7c222c200a85422889222d7c222e201a85423089222f8542208922302007290018221a200f200b7c2007290010222a7c22317c203120042023200354ad7c220485429fd8f9d9c291da829b7f85422089220342bbceaaa6d8d0ebb3bb7f7c2231200b8542288922327c2233200385423089223420317c22317c223520298542288922367c2237200729006822037c20072900602229202e7c2021201e854230892221201f7c222e202085420189221e7c221f20037c201f203485422089221f20287c2220201e85422889221e7c2228201f85423089223420207c2238201e8542018922397c2220201c7c202020262007290040221e7c203120328542018922267c22312007290048221f7c20312021854220892221202f202c7c222c7c222f20268542288922267c2231202185423089223285422089223a2007290050222020337c202c202d85420189222c7c222d200729005822217c202d2027854220892227202e7c222d202c85422889222c7c222e2027854230892227202d7c222d7c223320398542288922397c223b20257c203120227c2037203085423089223020357c223120368542018922357c223620207c2036202785422089222720387c223620358542288922357c2237202785423089222720367c223620358542018922357c2238201a7c20382028201f7c202d202c8542018922287c222c20247c202c203085422089222c2032202f7c222d7c222f20288542288922287c2230202c85423089222c854220892232202e202b7c202d20268542018922267c222d201e7c202d203485422089222d20317c222e20268542288922267c2231202d85423089222d202e7c222e7c223420358542288922357c223820247c203020217c203b203a85423089223020337c223320398542018922397c223a201b7c203a202d85422089222d20367c223620398542288922397c223a202d85423089222d20367c223620398542018922397c223b20037c203b203720197c202e20268542018922267c222e20297c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e8542208922372031201d7c202c20288542018922287c222c202a7c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320398542288922397c223b201f7c203020217c2038203285423089223020347c223220358542018922347c2235201e7c2035202785422089222720367c223520348542288922347c2236202785423089222720357c223520348542018922347c2238202b7c2038203a20257c202c20288542018922287c222c202a7c202c203085422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c854220892238203120297c202e20268542018922267c222e201d7c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a20217c2030201b7c203b203785423089223020337c223320398542018922377c223920197c2039202d85422089222d20357c223520378542288922377c2239202d85423089222d20357c223520378542018922377c223b20227c203b203620207c202e20268542018922267c222e20227c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e8542208922362031201a7c202c20288542018922287c222c201c7c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320378542288922377c223b20247c2030201b7c203a203885423089223020327c223220348542018922347c2238201f7c2038202785422089222720357c223520348542288922347c2238202785423089222720357c223520348542018922347c223a201e7c203a203920037c202c20288542018922287c222c20297c202c203085422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c8542208922392031201a7c202e20268542018922267c222e20197c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a20207c2030202b7c203b203685423089223020337c223320378542018922367c2237201d7c2037202d85422089222d20357c223520368542288922367c2237202d85423089222d20357c223520368542018922367c223b20247c203b2038202a7c202e20268542018922267c222e201c7c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e854220892238203120257c202c20288542018922287c222c20207c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b201a7c2030201f7c203a203985423089223020327c223220348542018922347c2239201d7c2039202785422089222720357c223520348542288922347c2239202785423089222720357c223520348542018922347c223a20037c203a2037202a7c202c20288542018922287c222c202b7c202c203085422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c854220892237203120257c202e20268542018922267c222e201b7c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a201e7c2030201c7c203b203885423089223020337c223320368542018922367c2238201e7c2038202d85422089222d20357c223520368542288922367c2238202d85423089222d20357c223520368542018922367c223b201a7c203b203920227c202e20268542018922267c222e20197c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e854220892239203120217c202c20288542018922287c222c20297c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b20197c2030202a7c203a203785423089223020327c223220348542018922347c223720297c2037202785422089222720357c223520348542288922347c2237202785423089222720357c223520348542018922347c223a201f7c203a2038201d7c202c20288542018922287c222c20217c202c203085422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c8542208922382031201c7c202e20268542018922267c222e20207c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a202b7c203020247c203b203985423089223020337c223320368542018922367c223920227c2039202d85422089222d20357c223520368542288922367c2239202d85423089222d20357c223520368542018922367c223b20207c203b2037202b7c202e20268542018922267c222e20037c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e8542208922372031201b7c202c20288542018922287c222c20257c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b201e7c203020297c203a203885423089223020327c223220348542018922347c223820257c2038202785422089222720357c223520348542288922347c2238202785423089222720357c223520348542018922347c223a20217c203a203920227c202c20288542018922287c222c20037c202c203085422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c854220892239203120197c202e20268542018922267c222e20247c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a201a7c2030201f7c203b203785423089223020337c223320368542018922367c2237202a7c2037202d85422089222d20357c223520368542288922367c2237202d85423089222d20357c223520368542018922367c223b201f7c203b2038201d7c202e20268542018922267c222e201b7c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e8542208922382031201c7c202c20288542018922287c222c201a7c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b202a7c203020037c203a203985423089223020327c223220348542018922347c223920217c2039202785422089222720357c223520348542288922347c2239202785423089222720357c223520348542018922347c223a20207c203a203720297c202c20288542018922287c222c20197c202c203085422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c8542208922372031201b7c202e20268542018922267c222e20227c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a201d7c2030201e7c203b203885423089223020337c223320368542018922367c2238201c7c2038202d85422089222d20357c223520368542288922367c2238202d85423089222d20357c223520368542018922367c223b201e7c203b203920257c202e20268542018922267c222e201d7c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e854220892239203120247c202c20288542018922287c222c202b7c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b20207c2030201c7c203a203785423089223020327c223220348542018922347c223720247c2037202785422089222720357c223520348542288922347c2237202785423089222720357c223520348542018922347c223a20257c203a203820217c202c20288542018922287c222c201a7c2030202c85422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c854220892238203120227c202e20268542018922267c222e201f7c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a20197c203020197c203b203985423089223020337c223320368542018922367c2239202b7c2039202d85422089222d20357c223520368542288922367c2239202d85423089222d20357c223520368542018922367c223b20257c203b203720297c202e20268542018922267c222e202a7c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e854220892237203120037c202c20288542018922287c222c201b7c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b20037c203020207c203a203885423089223020327c223220348542018922347c2238202a7c2038202785422089222720357c223520348542288922347c2238202785423089222720357c223520348542018922347c223a201d7c203a2039201b7c202c20288542018922287c222c201c7c2030202c85422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c8542208922392031201e7c202e20268542018922267c222e202b7c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a201c7c2030201a7c203b203785423089223020337c223320368542018922367c223720297c2037202d85422089222d20357c223520368542288922367c2237202d85423089222d20357c223520368542018922367c223b201b7c203b203820247c202e20268542018922267c222e20217c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e8542208922382031201f7c202c20288542018922287c222c20227c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b20227c2030201d7c203a203985423089223020327c223220348542018922347c223920197c2039202785422089222720357c223520348542288922347c2239202785423089222720357c223520348542018922347c223a20247c203a2037202b7c202c20288542018922287c222c20257c2030202c85422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c8542208922372031202a7c202e20268542018922267c222e201a7c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a20037c203020297c203b203885423089223020337c223320368542018922367c223820037c2038202d85422089220320357c222d20368542288922357c22362003854230892203202d7c222d20358542018922357c2238201c7c20382039201e7c202e202685420189221c7c2226201f7c20262030854220892226202c202f7c222c7c222e201c85422889221c7c222f2026854230892226854220892230203120207c202c20288542018922287c222c20217c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320358542288922357c223820257c202f20227c203a203785423089222220327c2225203485420189222f7c223220207c20322027854220892220202d7c2227202f85422889222d7c222f202085423089222020277c2227202d85420189222d7c2232201a7c20322036201f7c202c202885420189221a7c221f20247c2022201f8542208922222026202e7c22247c221f201a85422889221a7c222620228542308922228542208922282031202b7c2024201c85420189221c7c2224201e7c2024200385422089222420257c2225201c85422889221c7c222b202485423089222420257c22257c2203202d85422889221e7c222c202885423089222820037c2203201e8542018985202b201d7c2022201f7c221d201a8542018922227c222b202a7c202b202085422089222b2038203085423089221a20337c222a7c221e20228542288922227c221f202b85423089222b85210c200b202f20197c2025201c85420189221c7c221920297c2019201a854220892219201d7c221d201c85422889221c7c22252019854230892219201d7c221d201c8542018985202620217c202a203585420189221c7c221a201b7c201a202485422089221b20277c2224201c85422889221c7c221a201b85423089221b85210b202b201e7c222b200d85202c85210d201f200f85200385210f2025201085201b20247c221b8521102009201b201c85420189852019852109202b202285420189200a85202885210a201a200e85201d85210e202321032016201120156a2211470d000b200220093703382002200a3703302002200b3703282002200c3703202002200d3703182002200e3703102002200f3703082002201037030020124180016a2480808080000f0b41807f20114180016a41f0e7c18000109581808000000b20114180016a200141f0e7c18000109181808000000b8b0402047f027e024002400240024002400240024020002d00d00122030d0041002103200221040c010b200241800120036b220520022005491b220420036a22062004490d0120064180014b0d02200020036a2001200410f4978080001a200020002d00d00120046a22033a00d001200120046a2101200220046b2104200220054d0d0041002103200041800120004180016a20002903c00120002903c80120002d00d2014101410010d080808000200041003a00d001200020002903c00122074280017c22083703c001200020002903c8012008200754ad7c3703c8010b024041002004417f6a2202200220044b1b41807f712202450d0020042002490d052001200220004180016a20002903c00120002903c80120002d00d2014101410010d080808000200020002903c00122072002ad7c22083703c001200020002903c8012008200754ad7c3703c801200120026a2101200420026b210420002d00d00121030b2004418001200341ff017122026b220320042003491b220420026a22032004490d0220034180014b0d03200020026a2001200410f4978080001a200020002d00d00120046a3a00d00120000f0b2003200641e0e8c18000109581808000000b200641800141e0e8c18000109181808000000b2002200341e0e8c18000109581808000000b200341800141e0e8c18000109181808000000b2002200441f0e8c18000109181808000000b9b0601097f024002400240024020020d00410021060c010b200120026a210720052d0080012108200141016a21094101210a410021062001210b4100210c0340200c210d200b210e2009210b200a210c02400240200e2c0000220e4100480d002005200e6a2d0000220a41ff01470d012000200d3602042000200e3602000f0b2000200d3602042000418280c4003602000f0b02400240200620044b0d00200320066a210d2006450d0102400240200641037122090d002003210e0c010b2003210e0340200e200e2d0000413a6c200a6a220a3a0000200e41016a210e200a410876210a2009417f6a22090d000b0b20064104490d010340200e200e2d0000413a6c200a6a220a3a0000200e41016a220920092d0000413a6c200a4108766a220a3a0000200e41026a220920092d0000413a6c200a4108766a220a3a0000200e41036a220920092d0000413a6c200a4108766a220a3a0000200a410876210a200e41046a220e200d470d000c020b0b20062004418ceac18000109181808000000b0240200a450d00200620044f0d03200d200a3a0000200641016a21060b200c200b200747220e6a210a200b200e6a2109200e0d000b20062004200620044b1b2109200841ff0171210a0240034020012d0000200a470d01200320066a410020062004491b210e024020092006470d002000200e3602042000418080c4003602000f0b200141016a2101200e41003a0000200641016a21062002417f6a22020d000b0b200620044b0d0220064102490d00200320066a210c4100210e0240200641017622094101460d002006417f6a210a200941feffffff077121044100210e03402003200a6a220d2d0000210b200d2003200e6a22092d00003a00002009200b3a0000200c200e417e736a220d2d0000210b200d200941016a22092d00003a00002009200b3a0000200a417e6a210a2004200e41026a220e470d000b0b2006410271450d002003200e6a220a2d00002109200a200c200e417f736a220e2d00003a0000200e20093a00000b2000418380c400360200200020063602040f0b2000428080c4003702000f0b2006200441fce9c18000109181808000000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b1e002001280200419ceac18000410b200128020428020c118080808000000bf50202027f017e23808080800041c0006b22032480808080002003200236020c024002400240200220012802082204460d0020020d0120004200370208200041a8ebc18000360200200020012802043602040c020b20012902002105200141a8ebc1800036020020002005370200200141086a2204290200210520044200370200200041086a20053702002001200128020420026a3602040c010b0240200220044b0d00200341106a2001410c6a20012802042004200128020028020011838080800000200341106a41086a22042002360200200020032902103702002001200128020820026b3602082001200128020420026a360204200041086a20042902003702000c010b20034102360214200341b4ecc180003602102003420237021c2003200436023c2003418c80808000ad42208622052003413c6aad84370330200320052003410c6aad843703282003200341286a360218200341106a41c4ecc1800010fe80808000000b200341c0006a2480808080000b22002000410036020c2000200336020820002002360204200041a8ebc180003602000b870101017f4100210402400240024020034100480d00024020030d00410121040c030b41002d008083d480001a200341002802f482d480001182808080000022040d01410121040b200420034198ebc1800010b980808000000b2004417e6a41003b00000b20042002200310f49780800021042000200336020820002004360204200020033602000ba30101017f4100210402400240024020034100480d00024020030d00410121040c030b41002d008083d480001a200341002802f482d480001182808080000022040d01410121040b20042003419cefc1800010b980808000000b2004417e6a41003b00000b20042002200310f49780800021042000200336020820002003360204200020043602002000411d4181012003410a76674102746b200341ffff074b1b36020c0b040041000b02000b6b01017f024020012802002204410171450d002000200120042004417e712002200310dc808080000f0b20042004280208220141016a36020802402001417f4c0d002000200436020c2000200336020820002002360204200041d8edc180003602000f0b10ed80808000000b810201037f41002d008083d480001a02400240410c41002802f482d48000118280808000002206450d002006200641036a417c7120066b22076a22064102360208200620033602002006200420036b20056a3602042006417e6a220820073b00002001200620012802002203200320024622021b360200024020020d0020032003280208220141016a3602082001417f4c0d022000200336020c2000200536020820002004360204200041d8edc18000360200200620082f00006b41002802ec82d48000118180808000000f0b2000200636020c2000200536020820002004360204200041d8edc180003602000f0b4104410c10ab80808000000b10ed80808000000b4d00024020012802002201410171450d002001417e712002200310f997808000210120002003360208200020013602042000200320026a20016b3602000f0b200020012002200310de808080000b810301037f23808080800041106b220424808080800041002105200141002001280208220620064101461b36020802400240024020064101470d00200128020421052001280200210620012001417e6a2f00006b41002802ec82d480001181808080000020062002200310f9978080001a0c010b02400240024020034100480d00410121062003450d0241002d008083d480001a200341002802f482d480001182808080000022060d01410121050b200520034198ebc1800010b980808000000b2006417e6a41003b00000b20062002200310f4978080001a200120012802082202417f6a3602082003210520024101470d00200141046a280200417f4c0d01200128020022052005417e6a2f00006b41002802ec82d480001181808080000020012001417e6a2f00006b41002802ec82d4800011818080800000200321050b200020033602082000200636020420002005360200200441106a2480808080000f0b418cedc18000412b2004410f6a41fcecc1800041c8edc1800010a981808000000bbc0201067f02400240024020012802002201410171450d00411d41810120022001417e7122046b220520036a2201410a76674102746b200141ffff074b1b2106024020022004470d0020062102200121030c030b02402006410576220720056a220241808080c000490d0041002d008083d480001a0240411441002802f482d48000118280808000002202450d002002200241036a417c7120026b22086a220241013602102002200720016a22093602082002200420076b360204200220093602002002200641027641077136020c2002417e6a20083b00000c030b4104411410ab80808000000b20024105742006411d717221020c010b200020012002200310e0808080000f0b4100200120056b2206200620014b1b2101200420056a21040b2000200236020c2000200336020820002001360204200020043602000bfc0401067f23808080800041106b220424808080800002400240024020012802084101470d00200128020021052001280204210620012001417e6a2f00006b41002802ec82d4800011818080800000411d4181012006410a76674102746b200641ffff074b1b2107200220056b220820036a2103024020022005470d00200721010c030b02402007410576220220086a220141808080c000490d0041002d008083d480001a0240411441002802f482d48000118280808000002201450d002001200141036a417c7120016b22096a220141013602102001200220036a3602082001200520026b3602042001200220066a3602002001200741027641077136020c2001417e6a20093b00000c030b4104411410ab80808000000b20014105742007411d717221010c010b4100210502400240024020034100480d00410121052003450d0241002d008083d480001a200341002802f482d480001182808080000022050d01410121050b200520034198ebc1800010b980808000000b2005417e6a41003b00000b20052002200310f4978080001a200120012802082206417f6a3602080240024020064101470d00200141046a280200417f4c0d01200128020022062006417e6a2f00006b41002802ec82d480001181808080000020012001417e6a2f00006b41002802ec82d48000118180808000000b411d4181012003410a76674102746b200341ffff074b1b2101200321060c020b418cedc18000412b2004410f6a41fcecc1800041c8edc1800010a981808000000b4100200320086b2202200220034b1b2103200620086b2106200520086a21050b2000200136020c200020063602082000200336020420002005360200200441106a2480808080000b870201017f23808080800041106b2203248080808000024002400240024020002802002200410171450d00200220016a2000417e7122006b417f4c0d0220002000417e6a2f01006b41002802ec82d48000118180808000000c010b200020002802082202417f6a36020820024101470d00200041046a280200417f4c0d02200028020022022002417e6a2f00006b41002802ec82d480001181808080000020002000417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000f0b418cedc18000412b2003410f6a41fcecc1800041b8edc1800010a981808000000b418cedc18000412b2003410f6a41fcecc1800041c8edc1800010a981808000000b6801017f024020012802002204410171450d0020002001200420042002200310dc808080000f0b20042004280208220141016a36020802402001417f4c0d002000200436020c2000200336020820002002360204200041d8edc180003602000f0b10ed80808000000b4a00024020012802002201410171450d0020012002200310f997808000210120002003360208200020013602042000200320026a20016b3602000f0b200020012002200310de808080000bb70201067f02400240024020012802002201410171450d00411d418101200220016b220420036a2205410a76674102746b200541ffff074b1b2106024020022001470d0020062102200521030c030b02402006410576220720046a220241808080c000490d0041002d008083d480001a0240411441002802f482d48000118280808000002202450d002002200241036a417c7120026b22086a220241013602102002200720056a22093602082002200120076b360204200220093602002002200641027641077136020c2002417e6a20083b00000c030b4104411410ab80808000000b20024105742006411d717221020c010b200020012002200310e0808080000f0b4100200520046b2206200620054b1b2105200120046a21010b2000200236020c2000200336020820002005360204200020013602000b820201017f23808080800041106b2203248080808000024002400240024020002802002200410171450d00200220016a20006b417f4c0d0220002000417e6a2f00006b41002802ec82d48000118180808000000c010b200020002802082202417f6a36020820024101470d00200041046a280200417f4c0d02200028020022022002417e6a2f00006b41002802ec82d480001181808080000020002000417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000f0b418cedc18000412b2003410f6a41fcecc1800041b8edc1800010a981808000000b418cedc18000412b2003410f6a41fcecc1800041c8edc1800010a981808000000b2301017f410121010240200028020022004101710d00200028020841014621010b20010b4901017f200128020022012001280208220441016a36020802402004417f4a0d0010ed80808000000b2000200136020c2000200336020820002002360204200041d8edc180003602000b1300200020012802002002200310de808080000b1300200020012802002002200310e0808080000b0d0020002802002802084101460baa0101027f23808080800041106b22032480808080002000280200220020002802082204417f6a3602080240024020044101470d00200041046a280200417f4c0d01200028020022042004417e6a2f00006b41002802ec82d480001181808080000020002000417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000f0b418cedc18000412b2003410f6a41fcecc1800041c8edc1800010a981808000000bd70402067f027e23808080800041306b22022480808080004101210302402001280200220441ecedc1800041022001280204220528020c2206118080808000000d00024020002802042207450d002000280200210141a180808000ad4220862002410c6aad84210841a280808000ad4220862002410b6aad8421090340200220012d000022033a000b02400240024002400240024002400240024020030e230305050505050505050200050501050505050505050505050505050505050505050506040b200441efedc1800041022006118080808000000d060c070b200441f1edc180004102200611808080800000450d060c050b200441f3edc180004102200611808080800000450d050c040b20044180eec180004102200611808080800000450d040c030b200341dc00460d010b0240200341606a41ff017141df00490d00200241013602242002418ceec180003602202002410136021420024184eec180003602102002410136021c200220093703282002200241286a36021820042005200241106a10b181808000450d030c020b20024101360214200241a4eec180003602102002420137021c200220083703282002200336020c2002200241286a36021820042005200241106a10b181808000450d020c010b20024101360214200241f8edc180003602102002420137021c200220083703282002200336020c2002200241286a36021820042005200241106a10b181808000450d010b410121030c030b200141016a21012007417f6a22070d000b0b200441eeedc18000410120061180808080000021030b200241306a24808080800020030b170041acefc180004105418cf0c18000108081808000000bc20603037f027e027f02402002280200220341134d0d0002400240200042808084fea6dee111540d002001200341706a22046a22052000200042808084fea6dee11180220642808084fea6dee1117e7d2200428080e983b1de1680a741017441a0f1c180006a2f00003b00002005410c6a200042e40080220742e40082a741017441a0f1c180006a2f00003b00002005410a6a20004290ce008042e40082a741017441a0f1c180006a2f00003b0000200541086a200042c0843d8042e40082a741017441a0f1c180006a2f00003b0000200541066a20004280c2d72f80a741e4007041017441a0f1c180006a2f00003b0000200541046a20004280c8afa02580a741e4007041017441a0f1c180006a2f00003b00002005410e6a2000200742e4007e7da741017441a0f1c180006a2f00003b0000200541026a20004280a094a58d1d80a741ffff037141e4007041017441a0f1c180006a2f00003b00002006a721050c010b0240024020004280c2d72f5a0d00200021060c010b2002200341786a2203360200200120036a2205200020004280c2d72f8022064280c2d72f7e7da7220441c0843d6e41017441a0f1c180006a2f00003b0000200541046a200441e4006e220841e4007041017441a0f1c180006a2f00003b0000200541066a2004200841e4006c6b41017441a0f1c180006a2f00003b0000200541026a20044190ce006e41ffff037141e4007041017441a0f1c180006a2f00003b00000b2006a72108024020064290ce005a0d0020032104200821050c010b20012003417c6a22046a200820084190ce006e22054190ce006c6b220841ffff037141e4006e220941017441a0f1c180006a2f00003b0000200120036a417e6a2008200941e4006c6b41ffff037141017441a0f1c180006a2f00003b00000b02400240200541e4004f0d00200521030c010b20012004417e6a22046a2005200541ffff037141e4006e220341e4006c6b41ffff037141017441a0f1c180006a2f00003b00000b0240200341ffff03712205410a490d0020012004417e6a22036a200541017441a0f1c180006a2f00003b0000200220033602000f0b20012004417f6a22056a20034130723a0000200220053602000f0b41e8f2c18000411c4184f3c18000108081808000000b1600200029030020002903084101200110f0808080000be00403017f027e017f23808080800041a0016b22042480808080002004412736029c0102400240200142808020540d00200441306a2000420042f3b2d8c19e9ebdcc957f420010fc97808000200441c0006a2001420042f3b2d8c19e9ebdcc957f420010fc97808000200441206a2000420042d2e1aadaeda7c987f600420010fc97808000200441d0006a2001420042d2e1aadaeda7c987f600420010fc97808000200441e0006a200020014200420010fc97808000200429035820042903482004290340220120042903387c2205200154ad7c220120042903282004290320220620057c200654ad7c7c2205200154ad7c2004290350220620057c2201200654ad7c20042903687c200120042903607c2206200154ad7c2201423e8821052006423e8820014202868421010c010b20004213882001422d868442bda282a38eab04802101420021050b200441106a20012005428080e0b0b79fb79cf500420010fc97808000200429031020007c200441f5006a2004419c016a10ee80808000200428029c012107024020012005844200510d00200441f5006a41146a41302007416c6a10fa978080001a2004411436029c01200420014213882005422d8684220042bda282a38eab048022052001428080e0b0b79fb79cf500420010fc97808000200429030020017c200441f5006a2004419c016a10ee80808000200428029c012107200042bda282a38eab04540d00200441f6006a41302007417f6a10fa978080001a20042005a741306a3a0075410021070b2003200241014100200441f5006a20076a412720076b10b2818080002107200441a0016a24808080800020070be80201037f2380808080004180016b2202248080808000200220002d000022004101714130723a007f200041017622036741686a210402400240200041024f0d00200241ff006a21000c010b200220034101714130723a007e024020044107470d00200241fe006a21000c010b200220004102764101714130723a007d024020044106470d00200241fd006a21000c010b200220004103764101714130723a007c024020044105470d00200241fc006a21000c010b200220004104764101714130723a007b024020044104470d00200241fb006a21000c010b200220004105764101714130723a007a024020044103470d00200241fa006a21000c010b200220004106764101714130723a0079024020044102470d00200241f9006a21000c010b200220004107764130723a0078200241f8006a21000b20014101419ef1c1800041022000418101200441f8006a41ff01716b10b281808000210020024180016a24808080800020000b910101037f2380808080004180016b220224808080800020002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b281808000210020024180016a24808080800020000bef0e02067f037e23808080800041a0016b22022480808080000240024002400240024002400240024002400240024002400240024020014108490d0020014107712203450d0520002802a001220441294f0d01024020040d00200041003602a0010c060b2004417f6a41ffffffff0371220541016a2206410371210720034102744194f3c180006a280200200376ad210802400240200541034f0d0042002109200021030c010b200641fcffffff07712105420021092000210303402003200335020020087e20097c22093e0200200341046a2206200635020020087e20094220887c22093e0200200341086a2206200635020020087e20094220887c22093e02002003410c6a2206200635020020087e20094220887c220a3e0200200a4220882109200341106a21032005417c6a22050d000b0b02402007450d0003402003200335020020087e20097c220a3e0200200341046a2103200a42208821092007417f6a22070d000b0b0240200a428080808010540d0020044128460d03200020044102746a2009a7360200200441016a21040b200020043602a0010c050b20002802a001220641294f0d02024020060d00200041003602a0010c060b20014102744194f3c180006a35020021082006417f6a41ffffffff0371220341016a2205410371210702400240200341034f0d0042002109200021030c010b200541fcffffff07712105420021092000210303402003200335020020087e20097c22093e0200200341046a2201200135020020087e20094220887c22093e0200200341086a2201200135020020087e20094220887c22093e02002003410c6a2201200135020020087e20094220887c220a3e0200200a4220882109200341106a21032005417c6a22050d000b0b02402007450d0003402003200335020020087e20097c220a3e0200200341046a2103200a42208821092007417f6a22070d000b0b0240200a428080808010540d0020064128460d04200020064102746a2009a7360200200641016a21060b200020063602a0010c050b2004412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b2006412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b02402001410871450d0020002802a001220441294f0d020240024020040d00410021040c010b2004417f6a41ffffffff0371220341016a2205410371210702400240200341034f0d0042002108200021030c010b200541fcffffff07712105420021082000210303402003200335020042e1eb177e20087c22083e0200200341046a2206200635020042e1eb177e20084220887c22083e0200200341086a2206200635020042e1eb177e20084220887c22083e02002003410c6a2206200635020042e1eb177e20084220887c22093e020020094220882108200341106a21032005417c6a22050d000b0b02402007450d0003402003200335020042e1eb177e20087c22093e0200200341046a2103200942208821082007417f6a22070d000b0b2009428080808010540d0020044128460d04200020044102746a2008a7360200200441016a21040b200020043602a0010b02402001411071450d002002410041a00110fa9780800021030240024020002802a00122074102490d00200741294f0d06200341bcf3c1800041022000200710ab8180800021070c010b20032000200741bcf3c18000410210ab8180800021070b2000200341a00110f49780800020073602a0010b02402001412071450d002002410041a00110fa9780800021030240024020002802a00122074103490d00200741294f0d07200341c4f3c1800041032000200710ab8180800021070c010b20032000200741c4f3c18000410310ab8180800021070b2000200341a00110f49780800020073602a0010b0240200141c00071450d002002410041a00110fa9780800021030240024020002802a00122074105490d00200741294f0d08200341d0f3c1800041052000200710ab8180800021070c010b20032000200741d0f3c18000410510ab8180800021070b2000200341a00110f49780800020073602a0010b0240200141800171450d002002410041a00110fa9780800021030240024020002802a0012207410a490d00200741294f0d09200341e4f3c18000410a2000200710ab8180800021070c010b20032000200741e4f3c18000410a10ab8180800021070b2000200341a00110f49780800020073602a0010b0240200141800271450d002002410041a00110fa9780800021030240024020002802a00122074113490d00200741294f0d0a2003418cf4c1800041132000200710ab8180800021070c010b200320002007418cf4c18000411310ab8180800021070b2000200341a00110f49780800020073602a0010b2000200110aa818080001a0b200241a0016a24808080800020000f0b2004412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b2007412841dca0c28000109181808000000b2007412841dca0c28000109181808000000b2007412841dca0c28000109181808000000b2007412841dca0c28000109181808000000b2007412841dca0c28000109181808000000bfe3003017f047e1c7f23808080800041a00a6b22042480808080000240024002400240200129030022054200510d000240200129030822064200510d000240200129031022074200510d000240200520077c22082005540d00024020052006540d000240200341104d0d0020012c001a210920012e01182101200420053e0200200441014102200542808080801054220a1b3602a001200441002005422088a7200a1b360204200441086a410041980110fa978080001a200420063e02a401200441014102200642808080801054220a1b3602c402200441002006422088a7200a1b3602a801200441a4016a41086a410041980110fa978080001a200420073e02c802200441014102200742808080801054220a1b3602e803200441002007422088a7200a1b3602cc02200441c8026a41086a410041980110fa978080001a200441f0036a4100419c0110fa978080001a200441013602ec032004410136028c052001ad4230864230872008427f7c797d42c29ac1e8047e4280a1cda0b4027c422088a7220a411074411075210b0240024020014100480d002004200110aa818080001a200441a4016a200110aa818080001a200441c8026a200110aa818080001a0c010b200441ec036a410020016b41107441107510aa818080001a0b02400240200b417f4a0d0020044100200b6b41ffff0371220110f3808080001a200441a4016a200110f3808080001a200441c8026a200110f3808080001a0c010b200441ec036a200a41ffff017110f3808080001a0b200441fc086a200441a40110f4978080001a024020042802e803220c200428029c0a2201200c20014b1b220d41294f0d00024002400240200d0d004100210d0c010b200d410171210e02400240200d4101470d004100210f410021100c010b200d413e7121114100210f200441fc086a2101200441c8026a210a410021100340200120012802002212200a2802006a2213200f4101716a2214360200200141046a220f200f2802002215200a41046a2802006a220f20132012492014201349726a2213360200200f2015492013200f4972210f200a41086a210a200141086a21012011201041026a2210470d000b0b0240200e450d00200441fc086a201041027422016a220a200a280200220a200441c8026a20016a2802006a2201200f6a22133602002001200a49201320014972210f0b200f410171450d00200d4128460d01200441fc086a200d4102746a4101360200200d41016a210d0b2004200d36029c0a0240200d200428028c052201200d20014b1b220141294f0d00200141027421010240024003402001450d012001417c6a2201200441ec036a6a280200220a2001200441fc086a6a2802002213460d000b200a20134b200a2013496b21010c010b417f410020011b21010b024002400240024002400240024020012009480d0020042802a001221041294f0d060240024020100d00410021100c010b2010417f6a41ffffffff0371220141016a2213410371210a02400240200141034f0d0020042101420021060c010b201341fcffffff077121132004210142002106034020012001350200420a7e20067c22053e0200200141046a220f200f350200420a7e20054220887c22053e0200200141086a220f200f350200420a7e20054220887c22053e02002001410c6a220f200f350200420a7e20054220887c22053e020020054220882106200141106a21012013417c6a22130d000b0b0240200a450d00034020012001350200420a7e20067c22053e0200200141046a210120054220882106200a417f6a220a0d000b0b2005428080808010540d0020104128460d06200420104102746a2006a7360200201041016a21100b200420103602a00120042802c402221041294f0d04410021124100210102402010450d002010417f6a41ffffffff0371220141016a2213410371210a02400240200141034f0d00200441a4016a2101420021050c010b201341fcffffff07712113200441a4016a210142002105034020012001350200420a7e20057c22053e0200200141046a220f200f350200420a7e20054220887c22053e0200200141086a220f200f350200420a7e20054220887c22053e02002001410c6a220f200f350200420a7e20054220887c22063e020020064220882105200141106a21012013417c6a22130d000b0b0240200a450d00034020012001350200420a7e20057c22063e0200200141046a210120064220882105200a417f6a220a0d000b0b024020064280808080105a0d00201021010c010b20104128460d04200441a4016a20104102746a2005a7360200201041016a21010b200420013602c4020240200c450d00200c417f6a41ffffffff0371220141016a2213410371210a02400240200141034f0d00200441c8026a2101420021050c010b201341fcffffff07712113200441c8026a210142002105034020012001350200420a7e20057c22053e0200200141046a220f200f350200420a7e20054220887c22053e0200200141086a220f200f350200420a7e20054220887c22053e02002001410c6a220f200f350200420a7e20054220887c22063e020020064220882105200141106a21012013417c6a22130d000b0b0240200a450d00034020012001350200420a7e20057c22063e0200200141046a210120064220882105200a417f6a220a0d000b0b024020064280808080105a0d002004200c3602e8030c030b200c4128460d03200441c8026a200c4102746a2005a7360200200c41016a21120b200420123602e8030c010b200b41016a210b0b20044190056a200441ec036a41a40110f4978080001a20044190056a410110aa818080002116200441b4066a200441ec036a41a40110f4978080001a200441b4066a410210aa818080002117200441d8076a200441ec036a41a40110f4978080001a024002400240024002400240024002400240024002400240024002400240024002400240200441d8076a410310aa8180800022182802a001221920042802a0012210201920104b1b220e41284b0d0020044190056a417c6a210c200441b4066a417c6a210d200441d8076a417c6a211120162802a001211a20172802a001211b200428028c05211c4100211d0340201d211e200e4102742101024002400240024003402001450d01201120016a210a2001417c6a220120046a2802002213200a280200220a460d000b2013200a490d010c020b2001450d010b4100211f2010210e0c010b0240200e450d004101210f200e410171211f410021100240200e4101460d00200e413e712120410021104101210f20042101200441d8076a210a0340200120012802002212200a280200417f736a2213200f4101716a2214360200200141046a220f200f2802002215200a41046a280200417f736a220f20132012492014201349726a2213360200200f2015492013200f4972210f200a41086a210a200141086a21012020201041026a2210470d000b0b0240201f450d002004201041027422016a220a200a280200220a201820016a280200417f736a2201200f6a22133602002001200a49201320014972210f0b200f410171450d050b2004200e3602a0014108211f0b201b200e201b200e4b1b222041294f0d042020410274210102400240024003402001450d01200d20016a210a2001417c6a220120046a2802002213200a280200220a460d000b2013200a4f0d01200e21200c020b2001450d00200e21200c010b02402020450d004101210f2020410171212141002110024020204101460d002020413e71210e410021104101210f20042101200441b4066a210a0340200120012802002212200a280200417f736a2213200f4101716a2214360200200141046a220f200f2802002215200a41046a280200417f736a220f20132012492014201349726a2213360200200f2015492013200f4972210f200a41086a210a200141086a2101200e201041026a2210470d000b0b02402021450d002004201041027422016a220a200a280200220a201720016a280200417f736a2201200f6a22133602002001200a49201320014972210f0b200f410171450d070b200420203602a001201f410472211f0b201a2020201a20204b1b220e41294f0d06200e410274210102400240024003402001450d01200c20016a210a2001417c6a220120046a2802002213200a280200220a460d000b2013200a4f0d012020210e0c020b2001450d002020210e0c010b0240200e450d004101210f200e4101712121410021100240200e4101460d00200e413e712120410021104101210f2004210120044190056a210a0340200120012802002212200a280200417f736a2213200f4101716a2214360200200141046a220f200f2802002215200a41046a280200417f736a220f20132012492014201349726a2213360200200f2015492013200f4972210f200a41086a210a200141086a21012020201041026a2210470d000b0b02402021450d002004201041027422016a220a200a280200220a201620016a280200417f736a2201200f6a22133602002001200a49201320014972210f0b200f410171450d090b2004200e3602a001201f41026a211f0b201c200e201c200e4b1b222041294f0d082020410274210102400240024003402001450d012001417c6a220120046a280200220a2001200441ec036a6a2802002213460d000b200a20134f0d01200e21200c020b2001450d00200e21200c010b02402020450d004101210f2020410171212141002110024020204101460d002020413e71210e410021104101210f20042101200441ec036a210a0340200120012802002212200a280200417f736a2213200f4101716a2214360200200141046a220f200f2802002215200a41046a280200417f736a220f20132012492014201349726a2213360200200f2015492013200f4972210f200a41086a210a200141086a2101200e201041026a2210470d000b0b02402021450d002004201041027422016a220a200a280200220a200441ec036a20016a280200417f736a2201200f6a22133602002001200a49201320014972210f0b200f410171450d0b0b200420203602a001201f41016a211f0b201e2003460d0e2002201e6a201f41306a3a000020042802c40222222020202220204b1b220141294f0d0a201e41016a211d200141027421010240024003402001450d012001417c6a220120046a280200220a2001200441a4016a6a2802002213460d000b200a20134b200a2013496b21230c010b417f410020011b21230b200441fc086a200441a40110f4978080001a20042802e8032221200428029c0a2201202120014b1b221f41294f0d0b02400240201f0d004100211f0c010b201f41017121244100210f410021100240201f4101460d00201f413e71210e4100210f200441fc086a2101200441c8026a210a410021100340200120012802002212200a2802006a2213200f4101716a2214360200200141046a220f200f2802002215200a41046a2802006a220f20132012492014201349726a2213360200200f2015492013200f4972210f200a41086a210a200141086a2101200e201041026a2210470d000b0b02402024450d00200441fc086a201041027422016a220a200a280200220a200441c8026a20016a2802006a2201200f6a22133602002001200a49201320014972210f0b200f410171450d00201f4128460d0d200441fc086a201f4102746a4101360200201f41016a211f0b2004201f36029c0a201f201c201f201c4b1b220141294f0d0d200141027421010240024003402001450d012001417c6a2201200441ec036a6a280200220a2001200441fc086a6a2802002213460d000b200a20134b200a2013496b21010c010b417f410020011b21010b024002402023200948220a0d00200120094e0d010b200120094e0d24200a0d030c230b410021124100211002402020450d002020417f6a41ffffffff0371220141016a2213410371210a02400240200141034f0d0020042101420021050c010b201341fcffffff077121132004210142002105034020012001350200420a7e20057c22053e0200200141046a220f200f350200420a7e20054220887c22053e0200200141086a220f200f350200420a7e20054220887c22053e02002001410c6a220f200f350200420a7e20054220887c22063e020020064220882105200141106a21012013417c6a22130d000b0b0240200a450d00034020012001350200420a7e20057c22063e0200200141046a210120064220882105200a417f6a220a0d000b0b024020064280808080105a0d00202021100c010b20204128460d10200420204102746a2005a7360200202041016a21100b200420103602a00102402022450d002022417f6a41ffffffff0371220141016a2213410371210a02400240200141034f0d00200441a4016a2101420021060c010b201341fcffffff07712113200441a4016a210142002106034020012001350200420a7e20067c22053e0200200141046a220f200f350200420a7e20054220887c22053e0200200141086a220f200f350200420a7e20054220887c22053e02002001410c6a220f200f350200420a7e20054220887c22053e020020054220882106200141106a21012013417c6a22130d000b0b0240200a450d00034020012001350200420a7e20067c22053e0200200141046a210120054220882106200a417f6a220a0d000b0b024020054280808080105a0d00202221120c010b20224128460d11200441a4016a20224102746a2006a7360200202241016a21120b200420123602c4020240024020210d00410021210c010b2021417f6a41ffffffff0371220141016a2213410371210a02400240200141034f0d00200441c8026a2101420021050c010b201341fcffffff07712113200441c8026a210142002105034020012001350200420a7e20057c22053e0200200141046a220f200f350200420a7e20054220887c22053e0200200141086a220f200f350200420a7e20054220887c22053e02002001410c6a220f200f350200420a7e20054220887c22063e020020064220882105200141106a21012013417c6a22130d000b0b0240200a450d00034020012001350200420a7e20057c22063e0200200141046a210120064220882105200a417f6a220a0d000b0b2006428080808010540d0020214128460d12200441c8026a20214102746a2005a7360200202141016a21210b200420213602e80320192010201920104b1b220e41284d0d000b0b200e412841dca0c28000109181808000000b2004410110aa818080001a200428028c05220120042802a001220a2001200a4b1b220141294f0d0f200141027421012004417c6a210f200441ec036a417c6a211003402001450d1f201020016a210a200f20016a21132001417c6a210120132802002213200a280200220a460d000b2013200a4f0d1f0c200b41eca0c28000411a41dca0c28000108081808000000b2020412841dca0c28000109181808000000b41eca0c28000411a41dca0c28000108081808000000b200e412841dca0c28000109181808000000b41eca0c28000411a41dca0c28000108081808000000b2020412841dca0c28000109181808000000b41eca0c28000411a41dca0c28000108081808000000b2001412841dca0c28000109181808000000b201f412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b2001412841dca0c28000109181808000000b2003200341a4f7c18000108281808000000b4128412841dca0c28000108281808000000b4128412841dca0c28000108281808000000b4128412841dca0c28000108281808000000b2001412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b4128412841dca0c28000108281808000000b2010412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b2010412841dca0c28000109181808000000b2001412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b200d412841dca0c28000109181808000000b41e4f6c18000412d4194f7c18000108081808000000b41d4f7c180004137418cf8c18000108081808000000b419cf8c18000413641d4f8c18000108081808000000b41b8f6c18000411c41d4f6c18000108081808000000b4188f6c18000411d41a8f6c18000108081808000000b41dcf5c18000411c41f8f5c18000108081808000000b20010d010b2002201d6a2110201e2101417f210a024003402001417f460d01200a41016a210a200220016a21132001417f6a220f210120132d00004139460d000b2002200f6a221341016a220120012d000041016a3a0000200f41026a201d4f0d01201341026a4130200a10fa978080001a0c010b02400240201d0d00413121010c010b200241313a00000240201e0d00413021010c010b41302101200241016a4130201e10fa978080001a0b0240201d20034f0d00201020013a0000200b41016a210b201e41026a211d0c010b201d200341b4f7c18000108281808000000b0240201d20034b0d002000200b3b01082000201d36020420002002360200200441a00a6a2480808080000f0b201d200341c4f7c18000109181808000000be82903017f037e1b7f23808080800041c0066b220524808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240200129030022064200510d00200129030822074200510d01200129031022084200510d02200620087c2006540d0320062007540d0420012e01182101200520063e020c20054101410220064280808080105422091b3602ac01200541002006422088a720091b360210200541146a410041980110fa978080001a200541b4016a4100419c0110fa978080001a200541013602b001200541013602d0022001ad4230864230872006427f7c797d42c29ac1e8047e4280a1cda0b4027c422088a72209411074411075210a0240024020014100480d002005410c6a200110aa818080001a0c010b200541b0016a410020016b41107441107510aa818080001a0b02400240200a417f4a0d002005410c6a4100200a6b41ffff037110f3808080001a0c010b200541b0016a200941ffff017110f3808080001a0b2005419c056a200541b0016a41a40110f4978080001a2003210b02402003410a490d002005419c056a41786a210c2003210b034020052802bc06220141294f0d0702402001450d00200141ffffffff036a210d200141027421090240024020014101470d002005419c056a20096a2101420021060c010b200c20096a2101200d41ffffffff037141016a41feffffff07712109420021060340200141046a220e2006422086200e350200842206428094ebdc038022073e0200200120062007428094ebdc037e7d4220862001350200842206428094ebdc038022073e020020062007428094ebdc037e7d2106200141786a21012009417e6a22090d000b200141086a2101200642208621060b200d4101710d002001417c6a22012006200135020084428094ebdc03803e02000b200b41776a220b41094b0d000b0b200b4102744194f3c180006a2802004101742209450d0620052802bc06220141294f0d070240024020010d00410021010c010b200141ffffffff036a210b2001410274210e2009ad21060240024020014101470d002005419c056a200e6a2101420021070c010b200e2005419c056a6a41786a2101200b41ffffffff037141016a41feffffff07712109420021070340200141046a220e2007422086200e35020084220720068022083e020020012007200820067e7d422086200135020084220720068022083e02002007200820067e7d2107200141786a21012009417e6a22090d000b200141086a2101200742208621070b0240200b4101710d002001417c6a220120072001350200842006803e02000b20052802bc0621010b20052802ac01220f2001200f20014b1b221041294f0d080240024020100d00410021100c010b201041017121110240024020104101470d004100210b4100210d0c010b2010413e7121124100210b2005419c056a21012005410c6a21094100210d034020012001280200220c20092802006a220e200b4101716a2213360200200141046a220b200b2802002214200941046a2802006a220b200e200c492013200e49726a220e360200200b201449200e200b4972210b200941086a2109200141086a21012012200d41026a220d470d000b0b02402011450d002005419c056a200d41027422016a2209200928020022092005410c6a20016a2802006a2201200b6a220e3602002001200949200e20014972210b0b200b410171450d0020104128460d0a2005419c056a20104102746a4101360200201041016a21100b200520103602bc0620052802d002220c2010200c20104b1b220141294f0d0a200141027421010240024003402001450d012001417c6a22012005419c056a6a28020022092001200541b0016a6a280200220e460d000b2009200e4f0d010c0d0b20010d0c0b200a41016a210a0c0c0b41dcf5c18000411c41e4f8c18000108081808000000b4188f6c18000411d41f4f8c18000108081808000000b41b8f6c18000411c4184f9c18000108081808000000b419cf8c18000413641f4f9c18000108081808000000b41d4f7c18000413741e4f9c18000108081808000000b2001412841dca0c28000109181808000000b41a3a1c28000411b41dca0c28000108081808000000b2001412841dca0c28000109181808000000b2010412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b2001412841dca0c28000109181808000000b0240200f0d004100210f200541003602ac010c010b200f417f6a41ffffffff0371220141016a220e410371210902400240200141034f0d002005410c6a2101420021060c010b200e41fcffffff0771210e2005410c6a210142002106034020012001350200420a7e20067c22063e0200200141046a220b200b350200420a7e20064220887c22063e0200200141086a220b200b350200420a7e20064220887c22063e02002001410c6a220b200b350200420a7e20064220887c22073e020020074220882106200141106a2101200e417c6a220e0d000b0b02402009450d00034020012001350200420a7e20067c22073e0200200141046a2101200742208821062009417f6a22090d000b0b02402007428080808010540d00200f4128460d022005410c6a200f4102746a2006a7360200200f41016a210f0b2005200f3602ac010b4100210b41012113200a411074411075220120044110744110752209480d0d200a20046b4110744110752003200120096b2003491b2215450d0d200541d4026a200541b0016a41a40110f4978080001a200541d4026a410110aa818080002116200541f8036a200541b0016a41a40110f4978080001a200541f8036a410210aa8180800021172005419c056a200541b0016a41a40110f4978080001a200341016a2118200541b0016a417c6a2112200541d4026a417c6a2114200541f8036a417c6a21132005419c056a417c6a210d2005419c056a410310aa81808000211920162802a001211a20172802a001211b20192802a001211c4100211d20052802d002210c20052802ac01210f41012101024003402001211e200f41294f0d03200f410274210e410021010240024002400340200e2001460d012005410c6a20016a2109200141046a21012009280200450d000b201c200f201c200f4b1b221f41294f0d07201f4102742101024003402001450d01200d20016a21092001417c6a22012005410c6a6a280200220e20092802002209460d000b200e20094f0d02410021200c030b2001450d01410021200c020b201520034b0d0702402015201d460d002002201d6a41302015201d6b10fa978080001a0b2000200a3b0108200020153602040c120b4101210b201f41017121204100210f0240201f4101460d00201f413e7121214100210f4101210b2005410c6a21012005419c056a210903402001200128020022102009280200417f736a220e200b4101716a2211360200200141046a220b200b2802002222200941046a280200417f736a220b200e2010492011200e49726a220e360200200b202249200e200b4972210b200941086a2109200141086a21012021200f41026a220f470d000b0b02402020450d002005410c6a200f41027422016a220920092802002209201920016a280200417f736a2201200b6a220e3602002001200949200e20014972210b0b200b410171450d072005201f3602ac0141082120201f210f0b201b200f201b200f4b1b222141294f0d072021410274210102400240024003402001450d01201320016a21092001417c6a22012005410c6a6a280200220e20092802002209460d000b200e20094f0d01200f21210c020b2001450d00200f21210c010b02402021450d004101210b202141017121234100210f024020214101460d002021413e71211f4100210f4101210b2005410c6a2101200541f8036a210903402001200128020022102009280200417f736a220e200b4101716a2211360200200141046a220b200b2802002222200941046a280200417f736a220b200e2010492011200e49726a220e360200200b202249200e200b4972210b200941086a2109200141086a2101201f200f41026a220f470d000b0b02402023450d002005410c6a200f41027422016a220920092802002209201720016a280200417f736a2201200b6a220e3602002001200949200e20014972210b0b200b410171450d0a0b200520213602ac01202041047221200b201a2021201a20214b1b221f41294f0d09201f410274210102400240024003402001450d01201420016a21092001417c6a22012005410c6a6a280200220e20092802002209460d000b200e20094f0d012021211f0c020b2001450d002021211f0c010b0240201f450d004101210b201f41017121234100210f0240201f4101460d00201f413e7121214100210f4101210b2005410c6a2101200541d4026a210903402001200128020022102009280200417f736a220e200b4101716a2211360200200141046a220b200b2802002222200941046a280200417f736a220b200e2010492011200e49726a220e360200200b202249200e200b4972210b200941086a2109200141086a21012021200f41026a220f470d000b0b02402023450d002005410c6a200f41027422016a220920092802002209201620016a280200417f736a2201200b6a220e3602002001200949200e20014972210b0b200b410171450d0c0b2005201f3602ac01202041026a21200b200c201f200c201f4b1b220f41294f0d0b200f410274210102400240024003402001450d01201220016a21092001417c6a22012005410c6a6a280200220e20092802002209460d000b200e20094f0d01201f210f0c020b2001450d00201f210f0c010b0240200f450d004101210b200f4101712123410021100240200f4101460d00200f413e71211f410021104101210b2005410c6a2101200541b0016a210903402001200128020022112009280200417f736a220e200b4101716a2222360200200141046a220b200b2802002221200941046a280200417f736a220b200e2011492022200e49726a220e360200200b202149200e200b4972210b200941086a2109200141086a2101201f201041026a2210470d000b0b02402023450d002005410c6a201041027422016a220920092802002209200541b0016a20016a280200417f736a2201200b6a220e3602002001200949200e20014972210b0b200b410171450d0e0b2005200f3602ac01202041016a21200b201e2018460d012002201d6a202041306a3a0000200f41294f0d0d02400240200f0d004100210f0c010b200f417f6a41ffffffff0371220141016a220e410371210902400240200141034f0d002005410c6a2101420021070c010b200e41fcffffff0771210e2005410c6a210142002107034020012001350200420a7e20077c22063e0200200141046a220b200b350200420a7e20064220887c22063e0200200141086a220b200b350200420a7e20064220887c22063e02002001410c6a220b200b350200420a7e20064220887c22063e020020064220882107200141106a2101200e417c6a220e0d000b0b02402009450d00034020012001350200420a7e20077c22063e0200200141046a2101200642208821072009417f6a22090d000b0b2006428080808010540d00200f4128460d0f2005410c6a200f4102746a2007a7360200200f41016a210f0b2005200f3602ac01201d41016a211d201e41016a2101201e2015470d000b410021132015210b0c0e0b2003200341c4f9c18000108281808000000b4128412841dca0c28000108281808000000b200f412841dca0c28000109181808000000b201f412841dca0c28000109181808000000b2015200341d4f9c18000109181808000000b41eca0c28000411a41dca0c28000108081808000000b2021412841dca0c28000109181808000000b41eca0c28000411a41dca0c28000108081808000000b201f412841dca0c28000109181808000000b41eca0c28000411a41dca0c28000108081808000000b200f412841dca0c28000109181808000000b41eca0c28000411a41dca0c28000108081808000000b200f412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b024002400240024002400240200c41294f0d0002400240200c0d004100210c0c010b200c417f6a41ffffffff0371220141016a220e410371210902400240200141034f0d00200541b0016a2101420021060c010b200e41fcffffff0771210e200541b0016a21014200210603402001200135020042057e20067c22063e0200200141046a220d200d35020042057e20064220887c22063e0200200141086a220d200d35020042057e20064220887c22063e02002001410c6a220d200d35020042057e20064220887c22073e020020074220882106200141106a2101200e417c6a220e0d000b0b02402009450d0003402001200135020042057e20067c22073e0200200141046a2101200742208821062009417f6a22090d000b0b2007428080808010540d00200c4128460d02200541b0016a200c4102746a2006a7360200200c41016a210c0b2005200c3602d002200c200f200c200f4b1b220141294f0d02200141027421012005410c6a417c6a210d200541b0016a417c6a210c0240024003402001450d01200c20016a2109200d20016a210e2001417c6a2101200e280200220e20092802002209460d000b200e20094b200e2009496b21010c010b417f410020011b21010b0240200141ff01710e020004050b4100210120130d050240200b417f6a220120034f0d00200220016a2d00004101710d040c050b200120034194f9c18000108281808000000b200c412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b2001412841dca0c28000109181808000000b0240200b20034b0d002002200b6a210d410021012002210902400340200b2001460d01200141016a21012009417f6a2209200b6a220e2d00004139460d000b200e200e2d000041016a3a0000200b20016b41016a200b4f0d02200e41016a41302001417f6a10fa978080001a0c020b02400240200b0d00413121090c010b200241313a00000240200b4101470d00413021090c010b41302109200241016a4130200b417f6a10fa978080001a0b200a4110742101200a41016a210a20014110752004411074411075480d01200b20034f0d01200d20093a0000200b41016a210b0c010b200b200341a4f9c18000109181808000000b200b20034b0d02200b21010b2000200a3b0108200020013602040b20002002360200200541c0066a2480808080000f0b200b200341b4f9c18000109181808000000bf50503057f027e017f02402002450d004100200241796a2203200320024b1b2104200141036a417c7120016b21054100210303400240024002400240200120036a2d0000220641187441187522074100480d00200520036b4103710d01200320044f0d020340200120036a220641046a280200200628020072418081828478710d03200341086a22032004490d000c030b0b428080808080202108428080808010210902400240024002400240024002400240024002400240024020064194fac180006a2d0000417e6a0e030001020a0b200341016a22062002490d0242002108420021090c090b42002108200341016a220a2002490d02420021090c080b42002108200341016a220a2002490d02420021090c070b4280808080802021084280808080102109200120066a2c000041bf7f4a0d060c070b2001200a6a2c0000210a024002400240200641a07e6a0e0e0002020202020202020202020201020b200a41607141a07f460d040c030b200a419f7f4a0d020c030b02402007411f6a41ff0171410c490d002007417e71416e470d02200a4140480d030c020b200a4140480d020c010b2001200a6a2c0000210a0240024002400240200641907e6a0e050100000002000b2007410f6a41ff017141024b0d03200a41404e0d030c020b200a41f0006a41ff017141304f0d020c010b200a418f7f4a0d010b0240200341026a22062002490d00420021090c050b200120066a2c000041bf7f4a0d0242002109200341036a220620024f0d04200120066a2c00004140480d05428080808080e00021080c030b4280808080802021080c020b42002109200341026a220620024f0d02200120066a2c000041bf7f4c0d030b428080808080c00021080b42808080801021090b200020082003ad84200984370204200041013602000f0b200641016a21030c020b200341016a21030c010b200320024f0d000340200120036a2c00004100480d012002200341016a2203470d000c030b0b20032002490d000b0b2000200236020820002001360204200041003602000bc50101047f23808080800041106b22022480808080004103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff0171410174220541a1f1c180006a2d00003a000f2002200541a0f1c180006a2d00003a000e0b024002402000450d002004450d010b2002410d6a2003417f6a22036a200441017441fe017141a1f1c180006a2d00003a00000b20014101410141002002410d6a20036a410320036b10b2818080002103200241106a24808080800020030bdd0201067f23808080800041106b220324808080800002400240200041ffff0371220441e807490d00410121052003200020044190ce006e22064190ce006c6b220441ffff037141e4006e2207410174220841a1f1c180006a2d00003a000d2003200841a0f1c180006a2d00003a000c20032004200741e4006c6b41ffff0371410174220441a1f1c180006a2d00003a000f2003200441a0f1c180006a2d00003a000e0c010b41052105200021062004410a490d0020032000200041ffff037141e4006e220641e4006c6b41ffff0371410174220541a1f1c180006a2d00003a000f2003200541a0f1c180006a2d00003a000e410321050b02400240200041ffff0371450d00200641ffff0371450d010b2003410b6a2005417f6a22056a2006410174411e7141a1f1c180006a2d00003a00000b20022001410141002003410b6a20056a410520056b10b2818080002100200341106a24808080800020000b110020002802004101200110fa808080000b970301087f23808080800041106b2203248080808000410a2104200021050240200041e807490d00410a2104200021060340200341066a20046a2207417d6a200620064190ce006e22054190ce006c6b220841ffff037141e4006e2209410174220a41a1f1c180006a2d00003a00002007417c6a200a41a0f1c180006a2d00003a00002007417f6a2008200941e4006c6b41ffff0371410174220841a1f1c180006a2d00003a00002007417e6a200841a0f1c180006a2d00003a00002004417c6a2104200641fface2044b21072005210620070d000b0b02400240200541094b0d00200521060c010b200341066a20046a417f6a2005200541ffff037141e4006e220641e4006c6b41ffff0371410174220741a1f1c180006a2d00003a0000200341066a2004417e6a22046a200741a0f1c180006a2d00003a00000b024002402000450d002006450d010b200341066a2004417f6a22046a2006410174411e7141a1f1c180006a2d00003a00000b2002200141014100200341066a20046a410a20046b10b2818080002106200341106a24808080800020060b110020002903004101200110fc808080000b9c0303027f027e047f23808080800041206b220324808080800041142104200021050240200042e807540d00411421042000210603402003410c6a20046a2207417d6a200620064290ce008022054290ce007e7da7220841ffff037141e4006e2209410174220a41a1f1c180006a2d00003a00002007417c6a200a41a0f1c180006a2d00003a00002007417f6a2008200941e4006c6b41ffff0371410174220841a1f1c180006a2d00003a00002007417e6a200841a0f1c180006a2d00003a00002004417c6a2104200642fface2045621072005210620070d000b0b024020054209580d002003410c6a20046a417f6a2005a72207200741ffff037141e4006e220741e4006c6b41ffff0371410174220841a1f1c180006a2d00003a00002003410c6a2004417e6a22046a200841a0f1c180006a2d00003a00002007ad21050b024002402000500d002005500d010b2003410c6a2004417f6a22046a2005a7410174411e7141a1f1c180006a2d00003a00000b20022001410141002003410c6a20046a411420046b10b2818080002107200341206a24808080800020070b2301027e200029030022022002423f8722038520037d2002427f55200110fc808080000b3601017f23808080800041106b2202248080808000200241013b010c2002200136020820022000360204200241046a108a94808000000b7001017f23808080800041306b2203248080808000200341086a41106a200041106a290200370300200341086a41086a200041086a29020037030020032000290200370308200320013a002d200341003a002c200320023602282003200341086a360224200341246a108a94808000000b4d01017f23808080800041206b22032480808080002003410036021020034101360204200342043702082003200136021c200320003602182003200341186a3602002003200210fe80808000000b5a01017f23808080800041206b220124808080800020014101360204200141acfcc180003602002001420137020c200141a380808000ad42208641a4fcc18000ad843703182001200141186a3602082001200010fe80808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410236020c200341e8fcc18000360208200342023702142003418680808000ad42208622042003ad8437032820032004200341046aad843703202003200341206a360210200341086a200210fe80808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41f8fcc180002005410c6a41f8fcc1800020032004108481808000000b8c0302017f017e23808080800041f0006b22072480808080002007200236020c2007200136020820072004360214200720033602102007200041ff0171410274220241a0ffc180006a28020036021c200720024194ffc180006a28020036021802402005280200450d00200741206a41106a200541106a290200370300200741206a41086a200541086a290200370300200720052902003703202007410436025c20074188fec1800036025820074204370264200741a480808000ad4220862208200741106aad8437035020072008200741086aad84370348200741a580808000ad422086200741206aad84370340200741a380808000ad422086200741186aad843703382007200741386a360260200741d8006a200610fe80808000000b2007410336025c200741d4fdc1800036025820074203370264200741a480808000ad4220862208200741106aad8437034820072008200741086aad84370340200741a380808000ad422086200741186aad843703382007200741386a360260200741d8006a200610fe80808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a4188fdc180002005410c6a4188fdc1800020032004108481808000000b0f00200120002002108781808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410336020c200341fcfec18000360208200342023702142003418680808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210fe80808000000bc504010c7f2001417f6a21032000280204210420002802002105200028020821064100210741002108410021094100210a02400340200a4101710d010240024020022009490d000340200120096a210a02400240200220096b220b41074b0d00024020022009470d00200221090c040b4100210c0340200a200c6a2d0000410a460d02200b200c41016a220c470d000b200221090c030b024002400240200a41036a417c712200200a460d002000200a6b21004100210c0340200a200c6a2d0000410a460d042000200c41016a220c470d000b2000200b41786a220d4b0d020c010b200b41786a210d410021000b03404180828408200a20006a220c280200220e418a94a8d000736b200e724180828408200c41046a280200220c418a94a8d000736b200c727141808182847871418081828478470d01200041086a2200200d4d0d000b0b0240200b2000470d00200221090c030b03400240200a20006a2d0000410a470d002000210c0c020b200b200041016a2200470d000b200221090c020b2009200c6a220041016a21090240200020024f0d00200a200c6a2d0000410a470d004100210a2009210b200921000c030b200220094f0d000b0b20022008460d024101210a2008210b200221000b0240024020062d0000450d00200541cc80c280004104200428020c118080808000000d010b200020086b210e4100210c024020002008460d00200320006a2d0000410a46210c0b200120086a21002006200c3a0000200b210820052000200e200428020c11808080800000450d010b0b410121070b20070b5801027f20002802042102200028020021030240200028020822002d0000450d00200341cc80c280004104200228020c11808080800000450d0041010f0b20002001410a463a0000200320012002280210118480808000000b930301047f23808080800041206b220524808080800041012106024020002d00040d0020002d000521070240200028020022082d000a418001710d0041012106200828020041d380c2800041d080c28000200741017122071b4102410320071b200828020428020c118080808000000d01200828020020012002200828020428020c118080808000000d01200828020041d580c280004102200828020428020c118080808000000d0120032008200428020c1184808080000021060c010b41012106024020074101710d00200828020041d780c280004103200828020428020c118080808000000d010b41012106200541013a000f200541b480c28000360214200520082902003702002005200829020837021820052005410f6a360208200520053602102005200120021088818080000d00200541d580c2800041021088818080000d002003200541106a200428020c118480808000000d00200528021041da80c280004102200528021428020c1180808080000021060b200041013a0005200020063a0004200541206a24808080800020000bb60201047f23808080800041206b220324808080800041012104024020002d00040d0020002d0005210502400240200028020022062d000a418001710d00410121042005410171450d01200628020041d380c280004102200628020428020c11808080800000450d010c020b41012104024020054101710d00200628020041e380c280004101200628020428020c118080808000000d020b41012104200341013a000f200341b480c28000360214200320062902003702002003200629020837021820032003410f6a360208200320033602102001200341106a200228020c118480808000000d01200328021041da80c280004102200328021428020c1180808080000021040c010b20012006200228020c1184808080000021040b200041013a0005200020043a0004200341206a24808080800020000b1200200041b480c28000200110b1818080000b840e08017f067e017f0a7e027f017e047f017e23808080800041e0006b2204248080808000024002400240024002400240024002400240024002400240200129030022054200510d00200129030822064200510d01200129031022074200510d02200520077c22072005540d0320052006540d04200341104d0d052007428080808080808080205a0d06200420012f011822013b01382004200520067d2208370330200420082007792206862209200688220a370340200a2008520d07200420013b013820042005370330200420052006423f83220886220a200888220837034020082005520d0841a07f20012006a76b220b6b41107441107541d0006c41b0a7056a41ce106d220141d1004f0d09200441206a2001410474220141e880c280006a290300220542002007200686420010fc97808000200441106a200542002009420010fc97808000200420054200200a420010fc9780800042014100200b200141f080c280006a2f01006a6b413f71ad220686220c427f7c210d2004290310423f87210e2004290300423f88210f20042903082110200141f280c280006a2f010021012004290318211102402004290320423f882212200429032822137c221442017c2215200688a722164190ce00490d00201641c0843d490d0b024020164180c2d72f490d00410841092016418094ebdc0349220b1b21174180c2d72f418094ebdc03200b1b210b0c0d0b4106410720164180ade20449220b1b211741c0843d4180ade204200b1b210b0c0c0b0240201641e400490d0041024103201641e80749220b1b211741e40041e807200b1b210b0c0c0b410a4101201641094b22171b210b0c0b0b418c8cc28000411c41a88cc28000108081808000000b41b88cc28000411d41d88cc28000108081808000000b41e88cc28000411c41848dc28000108081808000000b418c8fc28000413641c48fc28000108081808000000b41c48ec28000413741fc8ec28000108081808000000b41948dc28000412d41c48dc28000108081808000000b41d48dc28000412d41848ec28000108081808000000b200441003602484100200441c0006a200441306a200441c8006a41a480c28000108581808000000b200441003602484100200441c0006a200441306a200441c8006a41a480c28000108581808000000b200141d10041fc8bc28000108281808000000b41044105201641a08d0649220b1b21174190ce0041a08d06200b1b210b0b200d2015832105200f20107c2118201720016b41016a2119200e20117d20147c42027c220a200d8321084100210102400240024002400240024002400240024003402016200b6e211a20032001460d02200220016a221b201a41306a221c3a000002400240200a2016201a200b6c6b2216ad200686220920057c2207560d0020172001470d01200141016a21014201210703402007210a20082109200120034f0d06200220016a2005420a7e2205200688a741306a220b3a0000200141016a2101200a420a7e21072009420a7e22082005200d832205580d000b2007201520187d7e220620077c2114200820057d200c5422160d082005200620077d220d540d030c080b200a20077d220d200bad200686220654210b201520187d220842017c211d20072008427f7c220c5a0d05200d2006540d05201420187d200920057c7d21182014200e7c20117d200520067c220520097c7d42027c21152005200f7c20107c20127d20137d20097c21094200210503400240200720067c2208200c540d00201820057c20095a0d004100210b0c070b201b201c417f6a221c3a0000201520057c220d200654210b2008200c5a0d07200920067c2109200520067d210520082107200d2006540d070c000b0b200141016a2101200b410a49211a200b410a6e210b201a450d000b41948ec28000108e81808000000b200220016a417f6a211a200c200d7d2118420020057d21062009420a7e200c7d2115034002402005200c7c2207200d540d00200d20067c201820057c5a0d00410021160c060b201a200b417f6a220b3a0000201520067c2209200c5421162007200d5a0d062006200c7d2106200721052009200c540d060c000b0b2003200341a48ec28000108281808000000b2001200341b48ec28000108281808000000b200721080b0240201d2008580d00200b0d000240200820067c2205201d540d00201d20087d2005201d7d540d010b200041003602000c040b0240024020084202540d002008200a427c7c580d010b200041003602000c040b200020193b01082000200141016a3602040c020b200521070b024020142007580d0020160d0002402007200c7c22052014540d00201420077d200520147d540d010b200041003602000c020b02400240200a42147e2007560d002007200a42587e20087c580d010b200041003602000c020b200020193b0108200020013602040b200020023602000b200441e0006a2480808080000b4301017f23808080800041206b2201248080808000200141003602182001410136020c200141f091c2800036020820014204370210200141086a200010fe80808000000bd30708017f027e027f017e017f027e057f017e23808080800041106b220524808080800002400240024002400240024002400240200129030022064200510d002006428080808080808080205a0d012003450d0241a07f20012f01182006792207a76b22086b41107441107541d0006c41b0a7056a41ce106d220141d1004f0d0320052001410474220141e880c280006a29030042002006200786420010fc978080002005290300423f8820052903087c220641402008200141f080c280006a2f01006a6b2209413f71ad220a88a7210b200141f280c280006a2f0100210102404201200a86220c427f7c220d20068322074200520d002003410a4b0d07200341027441c890c280006a280200200b4b0d070b0240200b4190ce00490d00200b41c0843d490d050240200b4180c2d72f490d0041084109200b418094ebdc034922081b210e4180c2d72f418094ebdc0320081b21080c070b41064107200b4180ade2044922081b210e41c0843d4180ade20420081b21080c060b0240200b41e400490d0041024103200b41e8074922081b210e41e40041e80720081b21080c060b410a4101200b41094b220e1b21080c050b418c8cc28000411c41f88fc28000108081808000000b418890c28000412441ac90c28000108081808000000b41d48fc28000412141bc90c28000108081808000000b200141d10041fc8bc28000108281808000000b41044105200b41a08d064922081b210e4190ce0041a08d0620081b21080b02400240024002400240200e20016b411074418080046a411075220f200441107441107522014c0d00200941ffff03712110200f20046b4110744110752003200f20016b2003491b2211417f6a2112410021010340200b20086e210920032001460d03200b200920086c6b210b200220016a200941306a3a000020122001460d04200e2001460d02200141016a21012008410a4921092008410a6e21082009450d000b41f490c28000108e81808000000b2000200220034100200f20042006420a802008ad200a86200c1090818080000c050b200141016a21012010417f6a413f71ad211342012106034002402006201388500d00200041003602000c060b200120034f0d03200220016a2007420a7e2207200a88a741306a3a00002006420a7e21062007200d8321072011200141016a2201470d000b2000200220032011200f20042007200c20061090818080000c040b20032003418491c28000108281808000000b2000200220032011200f2004200bad200a8620077c2008ad200a86200c1090818080000c020b20012003419491c28000108281808000000b200041003602000b200541106a2480808080000bb10301047f02400240024002400240024002400240024020072008580d00200720087d2008580d04024002400240200720067d2006580d00200720064201867d20084201865a0d010b20062008560d010c0a0b200320024b0d060c080b2007200620087d22087d2008560d08200320024b0d06200120036a21094100210a2001210b024003402003200a460d01200a41016a210a200b417f6a220b20036a220c2d00004139460d000b200c200c2d000041016a3a00002003200a6b41016a20034f0d04200c41016a4130200a417f6a10fa978080001a0c040b024020030d004131210a0c030b200141313a000020034101470d014130210a0c020b200041003602000f0b4130210a200141016a41302003417f6a10fa978080001a0b2004411074418080046a4110752104200320024f0d00200420054110744110754c0d002009200a3a0000200341016a21030b200320024d0d032003200241b491c28000109181808000000b200041003602000f0b2003200241c491c28000109181808000000b2003200241a491c28000109181808000000b200020043b010820002003360204200020013602000f0b200041003602000b0f00200020012002109481808000000b0f00200020012002109381808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410236020c200341f092c28000360208200342023702142003418680808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210fe80808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410236020c2003419093c28000360208200342023702142003418680808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210fe80808000000b0f00200020012002109681808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410236020c200341c493c28000360208200342023702142003418680808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210fe80808000000b4301017f23808080800041206b2201248080808000200141003602182001410136020c200141b492c2800036020820014204370210200141086a200010fe80808000000b1e00200128020041c399c28000410b200128020428020c118080808000000b1e00200128020041ce99c28000410e200128020428020c118080808000000b5c01017f23808080800041306b22012480808080002001410136020c200141f099c2800036020820014201370214200141ab80808000ad4220862001412f6aad843703202001200141206a360210200141086a200010fe80808000000b5c01017f23808080800041306b22012480808080002001410136020c200141949ac2800036020820014201370214200141ac80808000ad4220862001412f6aad843703202001200141206a360210200141086a200010fe80808000000b4701017f23808080800041206b2200248080808000200041003602182000410136020c200041e89ac2800036020820004204370210200041086a41f49bc2800010fe80808000000bf50601087f024002402001200041036a417c71220220006b2203490d00200120036b22044104490d002004410371210541002106410021010240200220004622070d004100210102400240200020026b2208417c4d0d00410021090c010b4100210903402001200020096a22022c000041bf7f4a6a200241016a2c000041bf7f4a6a200241026a2c000041bf7f4a6a200241036a2c000041bf7f4a6a2101200941046a22090d000b0b20070d00200020096a21020340200120022c000041bf7f4a6a2101200241016a2102200841016a22080d000b0b200020036a210002402005450d0020002004417c716a22022c000041bf7f4a210620054101460d00200620022c000141bf7f4a6a210620054102460d00200620022c000241bf7f4a6a21060b20044102762108200620016a21030340200021062008450d02200841c001200841c001491b220441037121052004410274210741002102024020084104490d00200441027641047421004100210220062101034020012802002209417f7341077620094106767241818284087120026a200141046a2802002202417f734107762002410676724181828408716a200141086a2802002202417f734107762002410676724181828408716a2001410c6a2802002202417f734107762002410676724181828408716a2102200141106a2101200041706a22000d000b0b200820046b2108200620076a2100200241087641ff81fc0771200241ff81fc07716a418180046c41107620036a21032005450d000b2006200441fc01714102746a22022802002201417f734107762001410676724181828408712101024020054101460d0020022802042200417f7341077620004106767241818284087120016a210120054102460d0020022802082202417f7341077620024106767241818284087120016a21010b200141087641ff811c71200141ff81fc07716a418180046c41107620036a0f0b024020010d0041000f0b2001410371210902400240200141044f0d0041002103410021020c010b2001417c712108410021034100210203402003200020026a22012c000041bf7f4a6a200141016a2c000041bf7f4a6a200141026a2c000041bf7f4a6a200141036a2c000041bf7f4a6a21032008200241046a2202470d000b0b2009450d00200020026a21010340200320012c000041bf7f4a6a2103200141016a21012009417f6a22090d000b0b20030be50201057f4100210141004111200041afb004491b220220024108722202200241027441849cc280006a280200410b742000410b7422024b1b220320034104722203200341027441849cc280006a280200410b7420024b1b220320034102722203200341027441849cc280006a280200410b7420024b1b2203200341016a2203200341027441849cc280006a280200410b7420024b1b2203200341016a2203200341027441849cc280006a280200410b7420024b1b220341027441849cc280006a280200410b74220420024620042002496a20036a220341027441849cc280006a2205280200411576210241ef05210402400240200341204b0d00200528020441157621042003450d010b2005417c6a28020041ffffff007121010b024020042002417f736a450d00200020016b21032004417f6a21044100210003402000200241d493c280006a2d00006a220020034b0d012004200241016a2202470d000b0b20024101710bec0401047f2380808080004180016b2202248080808000024002400240200128020822034180808010710d00024020034180808020710d004101210320002802004101200110fa80808000450d020c030b20002802002103410021040340200220046a41ff006a2003410f712205413072200541376a2005410a491b3a00002004417f6a21042003410f4b21052003410476210320050d000b4101210320014101419cf1c180004102200220046a4180016a410020046b10b281808000450d010c020b20002802002103410021040340200220046a41ff006a2003410f712205413072200541d7006a2005410a491b3a00002004417f6a21042003410f4b21052003410476210320050d000b4101210320014101419cf1c180004102200220046a4180016a410020046b10b2818080000d010b410121032001280200418c9dc280004102200128020428020c118080808000000d0002400240200128020822034180808010710d0020034180808020710d0120002802044101200110fa8080800021030c020b20002802042103410021040340200220046a41ff006a2003410f712205413072200541d7006a2005410a491b3a00002004417f6a21042003410f4b21052003410476210320050d000b20014101419cf1c180004102200220046a4180016a410020046b10b28180800021030c010b20002802042103410021040340200220046a41ff006a2003410f712205413072200541376a2005410a491b3a00002004417f6a21042003410f4b21052003410476210320050d000b20014101419cf1c180004102200220046a4180016a410020046b10b28180800021030b20024180016a24808080800020030b1300418e9dc28000412b2000108081808000000b6a01017f23808080800041306b22032480808080002003200136020c2003200036020820034101360214200341bc9dc280003602102003420137021c200341a380808000ad422086200341086aad843703282003200341286a360218200341106a200210fe80808000000b9b0202057f017e23808080800041306b22022480808080004101210302402001280200220441e09dc28000410c2001280204220528020c2206118080808000000d002000280204210120024103360204200241c89dc280003602002002420337020c200241a380808000ad4220862001ad843703182002418680808000ad42208622072001410c6aad8437032820022007200141086aad843703202002200241186a36020820042005200210b1818080000d00200441ec9dc2800041022006118080808000000d00200241186a41086a2000280200220141086a290200370300200241186a41106a200141106a2902003703002002200129020037031820042005200241186a10b18180800021030b200241306a24808080800020030b5801017f23808080800041c0086b2204248080808000200441b0086a20012002200341ffff0371200441800820044180086a410410ae818080002000200441b0086a10b5818080002103200441c0086a24808080800020030b5401017f23808080800041e0006b2203248080808000200341d0006a2001200241002003410f6a4111200341206a410410ad818080002000200341d0006a10b5818080002102200341e0006a24808080800020020b990c03097f017e017f024020040d002000410036023c200020033602382000200236023420002001360230200041003a000e20004181023b010c20002002360208200042003703000f0b41012105410021064101210741002108024002400240024002400240024002400240024020044101460d0041012109410021064101210a4100210b410121050340200a210c200b20066a220a20044f0d0202400240200320096a2d000041ff017122092003200a6a2d0000220a4f0d00200c200b6a41016a220a20066b21054100210b0c010b02402009200a460d0041012105200c41016a210a4100210b200c21060c010b4100200b41016a220a200a20054622091b210b200a410020091b200c6a210a0b200a200b6a22092004490d000b41012109410021084101210a4100210b410121070340200a210c200b20086a220a20044f0d0302400240200320096a2d000041ff017122092003200a6a2d0000220a4d0d00200c200b6a41016a220a20086b21074100210b0c010b02402009200a460d0041012107200c41016a210a4100210b200c21080c010b4100200b41016a220a200a20074622091b210b200a410020091b200c6a210a0b200a200b6a22092004490d000b0b200420062008200620084b220b1b220d490d0220052007200b1b220a200d6a220b200a490d03200b20044b0d040240024020032003200a6a200d10f597808000450d002004410371210c024002402004417f6a41034f0d004100210a4200210e0c010b2004417c7121094100210a4200210e034042012003200a6a220b41036a310000864201200b41026a310000864201200b41016a310000864201200b31000086200e84848484210e2009200a41046a220a470d000b0b0240200c450d002003200a6a210b03404201200b31000086200e84210e200b41016a210b200c417f6a220c0d000b0b2004200d6b220b200d200b200d4b1b41016a210a417f2108200d2105417f210b0c010b410121064100210b4101210941002105024003402009220c200b6a220720044f0d012004200b6b200c417f736a220920044f0d082004200b417f736a20056b220820044f0d0902400240200320096a2d000041ff01712209200320086a2d000022084f0d00200741016a220920056b21064100210b0c010b024020092008460d00200c41016a21094100210b41012106200c21050c010b4100200b41016a2209200920064622081b210b2009410020081b200c6a21090b2006200a470d000b0b410121064100210b4101210941002107024003402009220c200b6a220f20044f0d012004200b6b200c417f736a220920044f0d0a2004200b417f736a20076b220820044f0d0b02400240200320096a2d000041ff01712209200320086a2d000022084d0d00200f41016a220920076b21064100210b0c010b024020092008460d00200c41016a21094100210b41012106200c21070c010b4100200b41016a2209200920064622081b210b2009410020081b200c6a21090b2006200a470d000b0b200420072005200720054b1b6b210502400240200a0d004200210e4100210a410021080c010b200a41037121094100210802400240200a41044f0d004200210e4100210c0c010b200a417c7121064100210c4200210e034042012003200c6a220b41036a310000864201200b41026a310000864201200b41016a310000864201200b31000086200e84848484210e2006200c41046a220c470d000b0b2009450d002003200c6a210b03404201200b31000086200e84210e200b41016a210b2009417f6a22090d000b0b2004210b0b2000200436023c2000200336023820002002360234200020013602302000200b36022820002008360224200020023602202000410036021c2000200a360218200020053602142000200d3602102000200e370308200041013602000f0b200a200441849fc28000108281808000000b200a200441849fc28000108281808000000b200d200441e49ec28000109181808000000b200a200b41f49ec28000109581808000000b200b200441f49ec28000109181808000000b2009200441949fc28000108281808000000b2008200441a49fc28000108281808000000b2009200441949fc28000108281808000000b2008200441a49fc28000108281808000000b4e02027f017c20012802082202418080800171210320002b0300210402402002418080808001710d0020012004200341004710a4818080000f0b20012004200341004720012f010e10a3818080000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000ba60201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120004101200110fa8080800021000c020b410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b8f0101017f23808080800041c0006b22052480808080002005200136020c2005200036020820052003360214200520023602102005410236021c200541d89fc2800036021820054202370224200541a480808000ad422086200541106aad84370338200541a380808000ad422086200541086aad843703302005200541306a360220200541186a200410fe80808000000bc10401097f0240024002400240200141800a4f0d00200141057621020240024020002802a0012203450d00200341284b0d032002417f6a2104200341027420006a417c6a2105200320026a41027420006a417c6a21060340200420036a41274b0d02200620052802003602002006417c6a21062005417c6a21052003417f6a22030d000b0b2001411f712106024020014120490d0020004100200241027410fa978080001a0b20002802a001220320026a2105024020060d00200020053602a00120000f0b2005417f6a220441274b0d0320052107200020044102746a280200410020016b2201762204450d040240200541274b0d00200020054102746a2004360200200541016a21070c050b2005412841dca0c28000108281808000000b200220036a417f6a412841dca0c28000108281808000000b4186a1c28000411d41dca0c28000108081808000000b2003417f6a412841dca0c28000108281808000000b2004412841dca0c28000108281808000000b0240200241016a220820054f0d002001411f712104024020034101710d002005410274210120002005417f6a22054102746a22092001200041786a6a2802002004762009280200200674723602000b20034102460d00200541027420006a41746a21030340200341086a2201200341046a2209280200220a20047620012802002006747236020020092003280200200476200a20067472360200200341786a210320082005417e6a2205490d000b0b200020024102746a22032003280200200674360200200020073602a00120000bb503040b7f027e017f017e200120024102746a21050240024020040d004100210641002102034020012005460d02200241016a210220012802002107200141046a220821012007450d0020062002417f6a2201200620014b1b2106200821010c000b0b200441016a2109200320044102746a210a41002107200320044100474102746a210b2004417f6a41ffffffff0371210c4100210602400340200020074102746a210803402007210d2008210220012005460d03200241046a2108200d41016a21072001280200210e200141046a220f2101200e450d000b200ead211042002111417f2108200b210e200321120340200e2101200720086a220e41284f0d022002201120023502007c201235020020107e7c22133e020020134220882111200241046a210220012001200a474102746a210e20012112200c200841016a2208470d000b20042101024002402013428080808010540d00200d20046a220141284f0d01200020014102746a2011a7360200200921010b20062001200d6a2201200620014b1b2106200f21010c010b0b2001412841dca0c28000108281808000000b200e412841dca0c28000108281808000000b20060ba603000240024002402002450d0020012d000041304d0d01200641034d0d02200541023b0100024002400240024002400240200341107441107522064101480d00200520013602042002200341ffff037122034b0d01200541003b010c200520023602082005200320026b36021020040d02410221010c050b200520023602202005200136021c200541023b0118200541003b010c20054102360208200541cda3c280003602042005410020066b220336021041032101200420024d0d04200420026b220220034d0d04200220066a21040c030b200541023b011820054101360214200541cca3c28000360210200541023b010c200520033602082005200220036b22023602202005200120036a36021c200420024b0d01410321010c030b20054101360220200541cca3c2800036021c200541023b01180c010b200420026b21040b20052004360228200541003b0124410421010b20002001360204200020053602000f0b41b6a2c28000412141d8a2c28000108081808000000b41e8a2c28000411f4188a3c28000108081808000000b4198a3c28000412241bca3c28000108081808000000b8a0607017f017e017f027e017f027e027f23808080800041c0006b22082480808080000240024002400240200741034d0d00200541104d0d012001bd21090240024020019944000000000000f07f620d004103210a0c010b024020094280808080808080f8ff0083220b4280808080808080f8ff00520d004102210a0c010b200942ffffffffffffff0783220c42808080808080800884200942018642feffffffffffff0f832009423488a741ff0f71220d1b220e420183210f0240200b4200520d000240200c50450d004104210a0c020b200d41cd776a210d200fa7410173210a4201210b0c010b428080808080808020200e420186200e4280808080808080085122101b210e4202420120101b210b200fa7410173210a41cb7741cc7720101b200d6a210d0b2008200d3b01202008200b370318200842013703102008200e3703082008200a3a00220240024002400240200a417e6a220d450d004101210a41a0a4c2800041a1a4c280002009423f88a722111b41a0a4c28000410120111b20021b21104101201120021b2102200d4103200d4103491b417f6a0e03010302010b20064103360208200641a2a4c28000360204200641023b010041012110410021024101210a0c060b20064103360208200641a5a4c28000360204200641023b01000c050b200841346a200841086a20042005108d81808000024002402008280234450d00200841286a41086a200841346a41086a280200360200200820082902343703280c010b200841286a200841086a2004200510f4808080000b20082008280228200828022c20082f013020032006200710ac818080002008280204210a200828020021060c040b4102210a200641023b01002003450d0220062003360210200641003b010c20064102360208200641cda3c280003602040c030b4198a3c28000412241d0a3c28000108081808000000b41e0a3c28000412d4190a4c28000108081808000000b4101210a20064101360208200641a8a4c280003602040b2000200a36020c200020063602082000200236020420002010360200200841c0006a2480808080000b980705027f037e017f027e037f23808080800041c0006b2208248080808000410321090240024002400240200741034d0d002001bd210a0240024020019944000000000000f07f620d000c010b0240200a4280808080808080f8ff0083220b4280808080808080f8ff00520d00410221090c010b200a42ffffffffffffff0783220c42808080808080800884200a42018642feffffffffffff0f83200a423488a741ff0f71220d1b220e420183210f0240200b4200520d000240200c50450d00410421090c020b200d41cd776a2110200fa741017321094201210b0c010b428080808080808020200e420186200e4280808080808080085122101b210e4202420120101b210b200fa7410173210941cb7741cc7720101b200d6a21100b200820103b01202008200b370318200842013703102008200e370308200820093a00220240024002402009417e6a220d450d004101210941a0a4c2800041a1a4c28000200a423f88a722111b41a0a4c28000410120111b20021b21124101201120021b21020240200d4103200d4103491b417f6a0e03000203000b20064103360208200641a5a4c28000360204200641023b01000c060b20064103360208200641a2a4c28000360204200641023b01004101211241002102410121090c050b41022109200641023b01002003450d0320062003360210200641003b010c20064102360208200641cda3c280003602040c040b200541744105201041107441107522094100481b20096c41047641156a2209490d01200841346a200841086a20042009410020036b4180807e200341808002491b220d108f81808000200d411074411075210d024002402008280234450d00200841286a41086a200841346a41086a280200360200200820082902343703280c010b200841286a200841086a20042009200d10f5808080000b024020082e01302209200d4c0d0020082008280228200828022c200920032006200710ac8180800020082802042109200828020021060c040b41022109200641023b0100024020030d004101210920064101360208200641a8a4c280003602040c040b20062003360210200641003b010c20064102360208200641cda3c280003602040c030b4198a3c28000412241aca4c28000108081808000000b41bca4c28000412541e4a4c28000108081808000000b4101210920064101360208200641a8a4c280003602040b2000200936020c200020063602082000200236020420002012360200200841c0006a2480808080000b8a0701027f23808080800041206b220324808080800002400240024002400240024002400240024002400240024020010e2806010101010101010102040101030101010101010101010101010101010101010101080101010107000b200141dc00460d040b2002410171450d07200141ff054d0d072001109e81808000450d072003410c6a41026a41003a0000200341003b010c200320014114764184fac180006a2d00003a000f20032001410476410f714184fac180006a2d00003a001320032001410876410f714184fac180006a2d00003a001220032001410c76410f714184fac180006a2d00003a001120032001411076410f714184fac180006a2d00003a00102003410c6a20014101726741027622026a220441fb003a00002004417f6a41f5003a00002003410c6a2002417e6a22026a41dc003a00002003410c6a41086a22042001410f714184fac180006a2d00003a00002000410a3a000b200020023a000a2000200329010c370000200341fd003a0015200041086a20042f01003b00000c090b20004180043b010a20004200370102200041dce8013b01000c080b20004180043b010a20004200370102200041dce4013b01000c070b20004180043b010a20004200370102200041dcdc013b01000c060b20004180043b010a20004200370102200041dcb8013b01000c050b20004180043b010a20004200370102200041dce0003b01000c040b200241800271450d0120004180043b010a20004200370102200041dcce003b01000c030b200241ffffff0771418080044f0d010b0240200110c6818080000d00200341166a41026a41003a0000200341003b0116200320014114764184fac180006a2d00003a001920032001410476410f714184fac180006a2d00003a001d20032001410876410f714184fac180006a2d00003a001c20032001410c76410f714184fac180006a2d00003a001b20032001411076410f714184fac180006a2d00003a001a200341166a20014101726741027622026a220441fb003a00002004417f6a41f5003a0000200341166a2002417e6a22026a41dc003a0000200341166a41086a22042001410f714184fac180006a2d00003a00002000410a3a000b200020023a000a20002003290116370000200341fd003a001f200041086a20042f01003b00000c020b2000200136020420004180013a00000c010b20004180043b010a20004200370102200041dcc4003b01000b200341206a2480808080000b140020012802002001280204200010b1818080000b9d0501087f23808080800041106b22032480808080002003200136020420032000360200200342a08080800e3702080240024002400240024020022802102201450d00200228021422000d010c020b200228020c2201450d012002280208220420014103746a2105200441086a21062001417f6a41ffffffff017141016a210720022802002100410021080340200621010240200041046a2802002206450d00200328020020002802002006200328020428020c11808080800000450d00410121010c050b024020042802002003200428020411848080800000450d00410121010c050b200041086a2100200120012005474103746a2106200121042007200841016a2208460d030c000b0b2001200041186c6a2109200141186a21062000417f6a41ffffffff017141016a21072002280208210a20022802002104410021050340200621000240200441046a2802002206450d00200328020020042802002006200328020428020c11808080800000450d00410121010c040b410021064100210802400240024020012f01080e03000102000b20012f010a21080c010b200a200128020c4103746a2f010421080b02400240024020012f01000e03000102000b20012f010221060c010b200a20012802044103746a2f010421060b200320063b010e200320083b010c200320012802143602080240200a20012802104103746a22012802002003200128020411848080800000450d00410121010c040b200441086a210420004100411820002009461b6a2106200021012007200541016a2205460d020c000b0b410021070b0240200720022802044f0d002003280200200228020020074103746a22012802002001280204200328020428020c11808080800000450d00410121010c010b410021010b200341106a24808080800020010b990602087f017e0240024020010d00200541016a210620002802082107412d21080c010b412b418080c4002000280208220741808080017122011b2108200141157620056a21060b0240024020074180808004710d00410021020c010b0240024020034110490d0020022003109d8180800021010c010b024020030d00410021010c010b2003410371210902400240200341044f0d00410021014100210a0c010b2003410c71210b410021014100210a034020012002200a6a220c2c000041bf7f4a6a200c41016a2c000041bf7f4a6a200c41026a2c000041bf7f4a6a200c41036a2c000041bf7f4a6a2101200b200a41046a220a470d000b0b2009450d002002200a6a210c03402001200c2c000041bf7f4a6a2101200c41016a210c2009417f6a22090d000b0b200120066a21060b02400240200620002f010c220b4f0d00024020074180808008710d00200b20066b210d410021014100210b0240024002402007411d764103710e0402000100020b200d210b0c010b200d41feff0371410176210b0b200741ffffff00712106200028020421092000280200210a02400340200141ffff0371200b41ffff03714f0d014101210c200141016a2101200a2006200928021011848080800000450d000c040b0b4101210c200a200920082002200310b3818080000d02200a20042005200928020c118080808000000d0241002101200d200b6b41ffff037121000340200141ffff03712202200049210c200220004f0d03200141016a2101200a2006200928021011848080800000450d000c030b0b20002000290208220ea741808080ff797141b080808002723602084101210c2000280200220a2000280204220920082002200310b3818080000d0141002101200b20066b41ffff0371210202400340200141ffff037120024f0d014101210c200141016a2101200a4130200928021011848080800000450d000c030b0b4101210c200a20042005200928020c118080808000000d012000200e37020841000f0b4101210c200028020022012000280204220a20082002200310b3818080000d00200120042005200a28020c11808080800000210c0b200c0b410002402002418080c400460d0020002002200128021011848080800000450d0041010f0b024020030d0041000f0b200020032004200128020c118080808000000ba20501077f024002402000280208220341808080c00171450d0002400240024002400240200341808080800171450d0020002f010e22040d01410021020c020b024020024110490d0020012002109d8180800021050c040b024020020d0041002102410021050c040b2002410371210602400240200241044f0d0041002105410021070c010b2002410c712104410021054100210703402005200120076a22082c000041bf7f4a6a200841016a2c000041bf7f4a6a200841026a2c000041bf7f4a6a200841036a2c000041bf7f4a6a21052004200741046a2207470d000b0b2006450d03200120076a21080340200520082c000041bf7f4a6a2105200841016a21082006417f6a22060d000c040b0b200120026a21064100210220042107200121080340200822052006460d020240024020052c00002208417f4c0d00200541016a21080c010b0240200841604f0d00200541026a21080c010b0240200841704f0d00200541036a21080c010b200541046a21080b200820056b20026a21022007417f6a22070d000b0b410021070b200420076b21050b200520002f010c22084f0d00200820056b210941002105410021040240024002402003411d764103710e0402000102020b200921040c010b200941feff037141017621040b200341ffffff00712106200028020421072000280200210002400340200541ffff0371200441ffff03714f0d0141012108200541016a2105200020062007280210118480808000000d030c000b0b41012108200020012002200728020c118080808000000d0141002105200920046b41ffff037121020340200541ffff037122042002492108200420024f0d02200541016a2105200020062007280210118480808000000d020c000b0b200028020020012002200028020428020c1180808080000021080b20080b920503027f017e067f23808080800041106b22022480808080000240024020002f010c22030d0020002802002000280204200110b68180800021010c010b200241086a200141086a29020037030020022001290200370300024002400240024020002902082204a722054180808008710d00200228020421060c010b2000280200200228020020022802042201200028020428020c118080808000000d012000200541808080ff797141b080808002722205360208200242013703004100210641002003200141ffff03716b2201200120034b1b21030b0240200228020c2207450d00200228020821012007410c6c21080340024002400240024020012f01000e03000201000b200141046a28020021070c020b200141086a28020021070c010b0240200141026a2f0100220941e807490d004104410520094190ce00491b21070c010b410121072009410a490d0041024103200941e400491b21070b2001410c6a2101200720066a2106200841746a22080d000b0b2006200341ffff03714f0d01200320066b210a41002101410021090240024002402005411d764103710e0402000100020b200a21090c010b200a41feff037141017621090b200541ffffff00712108200028020421062000280200210702400340200141ffff0371200941ffff03714f0d01200141016a210120072008200628021011848080800000450d000c020b0b20072006200210b6818080000d0041002103200a20096b41ffff0371210902400340200341ffff037122052009492101200520094f0d01200341016a210320072008200628021011848080800000450d000b0b200020043702080c020b410121010c010b20002802002000280204200210b6818080002101200020043702080b200241106a24808080800020010bad0501077f23808080800041106b22032480808080000240024020022802042204450d00200020022802002004200128020c11808080800000450d00410121050c010b0240200228020c22040d00410021050c010b200228020822062004410c6c6a21072006410c6a210403402006210220042106024002400240024020022f01000e03000201000b024002402002280204220241c100490d002001410c6a280200210403400240200041f4a6c2800041c000200411808080800000450d00410121050c080b200241406a220241c0004b0d000c020b0b2002450d032001410c6a28020021040b200041f4a6c280002002200411808080800000450d02410121050c040b2000200228020420022802082001410c6a28020011808080800000450d01410121050c030b20022f0102210541042104200341086a41046a41003a0000200341003602080240024002400240024020022f01000e03020001020b024020022f0102220241e807490d004104410520024190ce00491b21080c030b410121082002410a490d0241024103200241e400491b21080c020b410821040b0240200220046a280200220841064f0d0020080d01410021080c020b2008410541a4a8c28000109181808000000b200341086a20086a21020240024020084101710d00200521040c010b2002417f6a22022005200541ffff0371410a6e2204410a6c6b4130723a00000b20084101460d002002417e6a210203402002200441ffff03712205410a6e2209410a704130723a0000200241016a20042009410a6c6b4130723a0000200541e4006e21042002200341086a4721052002417e6a210220050d000b0b2000200341086a20082001410c6a28020011808080800000450d00410121050c020b4100210520064100410c200620074622021b6a21042002450d000b0b200341106a24808080800020050b860201017f23808080800041106b2213248080808000200028020020012002200028020428020c118080808000002102201341003a000d201320023a000c20132000360208201341086a2003200420052006108a81808000200720082009200a108a81808000200b200c200d200e108a81808000200f201020112012108a81808000211220132d000d220220132d000c2201722100024020024101470d0020014101710d000240201228020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c010b200028020041dc80c280004101200028020428020c1180808080000021000b201341106a24808080800020004101710b940201017f23808080800041106b2217248080808000200028020020012002200028020428020c118080808000002102201741003a000d201720023a000c20172000360208201741086a2003200420052006108a81808000200720082009200a108a81808000200b200c200d200e108a81808000200f201020112012108a818080002013201420152016108a81808000211620172d000d220220172d000c2201722100024020024101470d0020014101710d000240201628020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c010b200028020041dc80c280004101200028020428020c1180808080000021000b201741106a24808080800020004101710bf70301037f23808080800041206b2207248080808000024002402000280200220820012002200028020428020c220911808080800000450d00410121020c010b0240024020002d000a418001710d0041012102200841df80c2800041012009118080808000000d0220032000200428020c11848080800000450d010c020b0240200841e080c280004102200911808080800000450d00410121020c020b41012102200741013a000f200741b480c28000360214200720002902003702002007200029020837021820072007410f6a360208200720073602102003200741106a200428020c118480808000000d01200728021041da80c280004102200728021428020c118080808000000d010b0240024020002d000a418001710d000240200028020041d380c280004102200028020428020c11808080800000450d00410121020c030b4101210220052000200628020c11848080800000450d010c020b41012102200741013a000f200741b480c28000360214200720002902003702002007200029020837021820072007410f6a360208200720073602102005200741106a200628020c118480808000000d01200728021041da80c280004102200728021428020c118080808000000d010b200028020041e280c280004101200028020428020c1180808080000021020b200741206a24808080800020020bb70501037f23808080800041206b2209248080808000024002402000280200220a20012002200028020428020c220b11808080800000450d00410121020c010b0240024020002d000a418001710d0041012102200a41df80c280004101200b118080808000000d0220032000200428020c11848080800000450d010c020b0240200a41e080c280004102200b11808080800000450d00410121020c020b41012102200941013a000f200941b480c28000360214200920002902003702002009200029020837021820092009410f6a360208200920093602102003200941106a200428020c118480808000000d01200928021041da80c280004102200928021428020c118080808000000d010b0240024020002d000a418001710d000240200028020041d380c280004102200028020428020c11808080800000450d00410121020c030b20052000200628020c11848080800000450d01410121020c020b41012102200941013a000f200941b480c28000360214200920002902003702002009200029020837021820092009410f6a360208200920093602102005200941106a200628020c118480808000000d01200928021041da80c280004102200928021428020c118080808000000d010b0240024020002d000a418001710d000240200028020041d380c280004102200028020428020c11808080800000450d00410121020c030b4101210220072000200828020c11848080800000450d010c020b41012102200941013a000f200941b480c28000360214200920002902003702002009200029020837021820092009410f6a360208200920093602102007200941106a200828020c118480808000000d01200928021041da80c280004102200928021428020c118080808000000d010b200028020041e280c280004101200028020428020c1180808080000021020b200941206a24808080800020020b2d00024020002d00000d00200141b4a8c28000410510b4818080000f0b200141b9a8c28000410410b4818080000bc007010e7f23808080800041106b2203248080808000410121040240200228020022054122200228020422062802102207118480808000000d000240024020010d0041002101410021080c010b41002108410020016b21094100210a2000210b2001210c024002400340200b200c6a210d4100210202400340200b20026a220e2d0000220f41817f6a41ff017141a101490d01200f4122460d01200f41dc00460d01200c200241016a2202470d000b200c200a6a21020c030b200e41016a210b02400240200e2c0000220f417f4c0d00200f41ff0171210f0c010b200b2d0000413f71210c200f411f712110200e41026a210b0240200f415f4b0d002010410674200c72210f0c010b200c410674200b2d0000413f7172210c200e41036a210b0240200f41704f0d00200c2010410c7472210f0c010b200c410674200b2d0000413f71722010411274418080f0007172210f200e41046a210b0b200341046a200f4181800410af818080000240024020032d0004418001460d0020032d000f20032d000e6b41ff01714101460d00024002402008200a20026a220e4b0d0002402008450d00024020082001490d0020082001470d020c010b200020086a2c000041bf7f4c0d010b0240200e450d000240200e2001490d00200e20096a450d010c020b2000200a6a20026a2c00004140480d010b2005200020086a200a20086b20026a200628020c220e11808080800000450d010c030b200020012008200e41c0a8c2800010c381808000000b0240024020032d0004418001470d00200520032802082007118480808000000d030c010b2005200341046a20032d000e220c6a20032d000f200c6b200e118080808000000d020b02400240200f4180014f0d004101210e0c010b0240200f4180104f0d004102210e0c010b41034104200f41808004491b210e0b200e200a6a20026a21080b02400240200f4180014f0d004101210f0c010b0240200f4180104f0d004102210f0c010b41034104200f41808004491b210f0b200f200a6a220f20026a210a200d200b6b220c450d020c010b0b410121040c030b200f20026a21020b0240200820024b0d0002402008450d00024020082001490d0020082001470d020c010b200020086a2c000041bf7f4c0d010b024020020d00410021010c020b024020022001490d0020022001460d020c010b200020026a2c000041bf7f4c0d00200221010c010b200020012008200241d0a8c2800010c381808000000b2005200020086a200120086b200628020c118080808000000d002005412220071184808080000021040b200341106a24808080800020040bbf0101047f23808080800041106b2202248080808000410121030240200128020022044127200128020422052802102201118480808000000d00200241046a200028020041810210af818080000240024020022d0004418001470d0020042002280208200111848080800000450d01410121030c020b2004200241046a20022d000e22036a20022d000f20036b200528020c11808080800000450d00410121030c010b2004412720011184808080000021030b200241106a24808080800020030bb40201017f23808080800041106b2202248080808000200028020021000240024020012d000b4118710d002001280200200020012802042802101184808080000021000c010b2002410036020c0240024002402000418001490d002000418010490d010240200041808004490d0020022000413f71418001723a000f2002200041127641f001723a000c20022000410676413f71418001723a000e20022000410c76413f71418001723a000d410421000c030b20022000413f71418001723a000e20022000410c7641e001723a000c20022000410676413f71418001723a000d410321000c020b200220003a000c410121000c010b20022000413f71418001723a000d2002200041067641c001723a000c410221000b20012002410c6a200010b48180800021000b200241106a24808080800020000bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b180020002802002001200028020428020c118480808000000bbb0202027f017e2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002903004101200110fc8080800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000b140020012000280200200028020410b4818080000b13002000200120022003200410c481808000000b9b0902047f017e23808080800041f0006b22052480808080002005200336020c20052002360208024002400240024020014181024f0d004100210641012107200121080c010b4105210641d0a9c280002107024020002c00800241bf7f4c0d0041800221080c010b024020002c00ff0141bf7f4c0d0041ff0121080c010b200041fe0141fd0120002c00fe0141bf7f4a1b22086a2c000041bf7f4c0d014105210641d0a9c2800021070b20052008360214200520003602102005200636021c200520073602180240200220014b22060d00200320014d0d020b20052002200320061b3602282005410336023420054198abc280003602302005420337023c200541a380808000ad4220862209200541186aad8437035820052009200541106aad843703502005418680808000ad422086200541286aad843703482005200541c8006a360238200541306a200410fe80808000000b2000200141002008200410c381808000000b024002400240200220034b0d0002402002450d00200220014f0d0020032002200020026a2c000041bf7f4a1b21030b20052003360220200121020240200320014f0d00200341016a220641002003417d6a2202200220034b1b2202490d02200620026b210702400240200020036a2c000041bf7f4c0d002007417f6a21030c010b0240200020066a2203417e6a2c000041bf7f4c0d002007417e6a21030c010b02402003417d6a2c000041bf7f4c0d002007417d6a21030c010b2007417c417b2003417c6a2c000041bf7f4a1b6a21030b200320026a21020b02402002450d00024020022001490d0020022001460d010c040b200020026a2c000041bf7f4c0d030b02400240024020022001460d00024002400240200020026a22032c00002201417f4a0d0020032d0001413f7121002001411f7121062001415f4b0d01200641067420007221010c020b2005200141ff0171360224410121010c040b200041067420032d0002413f717221000240200141704f0d0020002006410c747221010c010b200041067420032d0003413f71722006411274418080f00071722201418080c400460d010b2005200136022420014180014f0d01410121010c020b200410a081808000000b024020014180104f0d00410221010c010b41034104200141808004491b21010b200520023602282005200120026a36022c20054105360234200541d8aac280003602302005420537023c200541a380808000ad4220862209200541186aad8437036820052009200541106aad84370360200541ad80808000ad422086200541286aad84370358200541ae80808000ad422086200541246aad843703502005418680808000ad422086200541206aad843703482005200541c8006a360238200541306a200410fe80808000000b20054104360234200541f8a9c280003602302005420437023c200541a380808000ad4220862209200541186aad8437036020052009200541106aad843703582005418680808000ad42208622092005410c6aad8437035020052009200541086aad843703482005200541c8006a360238200541306a200410fe80808000000b2002200641b0abc28000109581808000000b2000200120022001200410c381808000000be90201067f200120024101746a210720004180fe0371410876210841002109200041ff0171210a02400240024002400340200141026a210b200920012d000122026a210c024020012d000022012008460d00200120084b0d04200c2109200b2101200b2007470d010c040b200c2009490d01200c20044b0d02200320096a21010340024020020d00200c2109200b2101200b2007470d020c050b2002417f6a210220012d00002109200141016a21012009200a470d000b0b410021020c030b2009200c41bcacc28000109581808000000b200c200441bcacc28000109181808000000b200041ffff03712109200520066a210c410121020340200541016a210a0240024020052c000022014100480d00200a21050c010b0240200a200c460d00200141ff007141087420052d0001722101200541026a21050c010b41ccacc2800010a081808000000b200920016b22094100480d01200241017321022005200c470d000b0b20024101710bef01000240200041204f0d0041000f0b0240200041ff004f0d0041010f0b0240200041808004490d000240200041808008490d00200041e0ffff007141e0cd0a47200041feffff0071419ef00a4771200041c091756a417a4971200041d0e2746a4172497120004190a8746a417149712000418090746a41de6c49712000418080746a419e744971200041b0d9736a417b497120004180fe476a41b0c5544971200041f0833849710f0b200041dcacc28000412c41b4adc2800041d0014184afc2800041e60310c5818080000f0b200041eab2c28000412841bab3c2800041a20241dcb5c2800041a90210c5818080000bc417010e7f23808080800041306b2207248080808000024002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022082f018a012209410b490d00200128020421092001280208210a41002d008083d480001a418c0141002802f482d48000118280808000002201450d0b2001200141036a417c7120016b220b6a220c41003b018a01200c4100360258200c417e6a200b3b0000200a4105490d01200a417b6a0e020304020b200841dc006a220d2001280208220a4102746a210c200a41016a220b20094d0d07200c20023602000c080b200c20082f018a01417b6a22013b018a012001410c4f0d0a200841ec006a210b200841206a210d200841246a210e4104210f4128211041f000211120092112200821130c040b200c20082f018a0141796a22013b018a012001410c4f0d0a200a41796a210a200841f4006a210b200841306a210d200841346a210e410021124106210f4138211041f80021110c020b200c20082f018a01417a6a22013b018a012001410c4f0d0a2008280270210b2008280228210d200828022c210e200c41dc006a200841f4006a200141027410f4978080001a200c200841306a200141037410f4978080001a200841063b018a012008200436022c20082003360228200820023602704105210a20092112200821130c030b200c20082f018a01417a6a22013b018a012001410c4f0d0a200841f0006a210b200841286a210d2008412c6a210e4100210a4105210f4130211041f4002111410021120b200c21130b200e280200210e200d280200210d200b280200210b200c41dc006a200820116a200141027410f4978080001a200c200820106a200141037410f4978080001a2008200f3b018a01201341dc006a2210200a4102746a21010240024020132f018a01220f200a4b0d00200120023602000c010b2010200a41016a22114102746a2001200f200a6b221041027410f9978080001a20012002360200201320114103746a2013200a4103746a201041037410f9978080001a0b2013200a4103746a22012003360200200120043602042013200f41016a3b018a010b200828025822010d02410021040c090b200d200b4102746a200c2009200a6b220d41027410f9978080001a200c20023602002008200b4103746a2008200a4103746a200d41037410f9978080001a0b2008200a4103746a220c2003360200200c20043602042008200941016a3b018a0120012802042112200821130c080b41002104034020042009470d0620082f0188012108024002400240024002400240024020012f018a012204410b490d00200941016a210420084105490d0141002109410521032008417b6a0e020204030b200141dc006a220f200841027422106a2103200841016a2109200441016a21020240024020082004490d002003200b360200200120084103746a220b200e360204200b200d3602000c010b200f200941027422116a2003200420086b220f410274221410f9978080001a2003200b360200200120094103746a200120084103746a220b200f41037410f9978080001a200b200e360204200b200d3602002001418c016a220b20106a41086a200b20116a201410f9978080001a0b200120023b018a01200120094102746a200c36028c012009200441026a220b4f0d0e0240200420086b220d41016a4103712204450d00200120084102746a4190016a210803402008280200220c20093b018801200c2001360258200841046a2108200941016a21092004417f6a22040d000b0b200d4103490d0e200941027420016a4198016a21080340200841746a280200220420093b01880120042001360258200841786a2802002204200941016a3b018801200420013602582008417c6a2802002204200941026a3b0188012004200136025820082802002204200941036a3b01880120042001360258200841106a2108200b200941046a2209470d000c0f0b0b200741043602102007200436020c20072001360208200741146a200741086a10c88180800020072802142101200821090c030b200741053602102007200436020c20072001360208200741146a200741086a10c881808000200728021422082f018a01220141016a21090240024020014106490d00200841f4006a200841f0006a2001417b6a220441027410f9978080001a2008200b360270200841306a200841286a200441037410f9978080001a2008200e36022c2008200d360228200841a8016a200841a4016a2001410274416c6a10f9978080001a200820093b018a012008200c3602a4010c010b2008200c3602a4012008200e36022c2008200d3602282008200b360270200820093b018a0120014105470d040b2001410371210c4106210902402001417b6a41ffff03714103490d00200141fcff037141786a210d41062101410021040340200820046a220941a4016a280200220b20013b018801200b2008360258200941a8016a280200220b200141016a3b018801200b2008360258200941ac016a280200220b200141026a3b018801200b2008360258200941b0016a2802002209200141036a3b01880120092008360258200441106a21042001417a6a210b200141046a22092101200b200d470d000b0b200c450d03200820094102746a418c016a210103402001280200220420093b01880120042008360258200141046a2101200941016a2109200c417f6a220c0d000c040b0b200841796a2109410621030b200720033602102007200436020c20072001360208200741146a200741086a10c881808000200728021c21010b200141dc006a22102009410274220f6a2103200941016a210820012f018a01220441016a210202400240200420094b0d002003200b360200200120094103746a220b200e360204200b200d3602000c010b2010200841027422116a2003200420096b2210410274221410f9978080001a2003200b360200200120084103746a200120094103746a220b201041037410f9978080001a200b200e360204200b200d3602002001418c016a220b200f6a41086a200b20116a201410f9978080001a0b200120023b018a01200120084102746a200c36028c0102402008200441026a220b4f0d000240200420096b220d41016a4103712204450d002001200f6a4190016a210903402009280200220c20083b018801200c2001360258200941046a2109200841016a21082004417f6a22040d000b0b200d4103490d00200120084102746a4198016a21090340200941746a280200220420083b01880120042001360258200941786a2802002204200841016a3b018801200420013602582009417c6a2802002204200841026a3b0188012004200136025820092802002204200841036a3b01880120042001360258200941106a2109200b200841046a2208470d000b0b20072802142208450d090b200728022c210e2007280228210d2007280224210b20072802202104200728021c210c2007280218210920082802582201450d070c000b0b4104418c0110ab80808000000b2001410b419cbec28000109181808000000b2001410b419cbec28000109181808000000b2001410b419cbec28000109181808000000b2001410b419cbec28000109181808000000b41bcbec28000413541f4bec28000108081808000000b02400240200528020022012802002209450d002001280204210341002d008083d480001a41bc0141002802f482d48000118280808000002208450d032008200841036a417c7120086b22026a2208200936028c01200841003b018a01200841003602582008417e6a20023b0000200941003b018801200920083602582001200341016a3602042001200836020020042003470d0420082f018a012201410b490d0141d8bbc28000412041c8bcc28000108081808000000b41c8bbc2800010a081808000000b2008200141016a22093b018a01200820014102746a200b36025c200820014103746a2201200e3602042001200d3602002008418c016a20094102746a200c360200200c20093b018801200c20083602580b2000200a3602082000201236020420002013360200200741306a2480808080000f0b410441bc0110ab80808000000b4188bcc28000413041b8bcc28000108081808000000b8804010a7f200128020022022f018a01210341002d008083d480001a0240024002400240024041bc0141002802f482d48000118280808000002204450d002004200441036a417c7120046b22056a220641003b018a01200641003602582006417e6a20053b0000200620022f018a01220720012802082204417f736a22053b018a012005410c4f0d012007200441016a22086b2005470d02200241dc006a220720044102746a2802002109200220044103746a220a280204210b200a280200210a200641dc006a200720084102746a200541027410f4978080001a2006200220084103746a200541037410f4978080002108200220043b018a0120082f018a01220641016a21052006410c4f0d03200320046b22072005470d042008418c016a200220044102746a4190016a200741027410f4978080002107200128020421014100210402400340200720044102746a280200220520043b01880120052008360258200420064f0d01200420042006496a220420064d0d000b0b2000200b3602182000200a3602142000200936021020002001360204200020023602002000200136020c200020083602080f0b410441bc0110ab80808000000b2005410b419cbec28000109181808000000b41e4bdc280004128418cbec28000108081808000000b2005410c41acbec28000109181808000000b41e4bdc280004128418cbec28000108081808000000bc005020e7f027e02400240024002402001200028021422022f018a0122036a2204410c4f0d00200028020c22052f018a0122062001490d012005200620016b22073b018a01200220043b018a01200241dc006a220820014102746a20082003410274220910f9978080001a200220014103746a2002200341037410f9978080001a2006200741016a22036b22062001417f6a470d022008200541dc006a220a20034102746a2006410274220b10f49780800021082002200520034103746a2006410374220610f49780800021022000280200220c2000280208220d4102746a220e28025c210f200520074103746a2902002110200e200a20074102746a28020036025c200c200d4103746a22072902002111200720103702002008200b6a200f360200200220066a201137020020002802182107024002402000280210450d002007450d012002418c016a2200200141027422016a2000200941046a10f9978080001a2000200520034102746a418c016a200110f4978080001a200441016a2207410371210541002101024020044103490d0020024198016a21002007413c712103410021010340200041746a280200220720013b01880120072002360258200041786a2802002207200141016a3b018801200720023602582000417c6a2802002207200141026a3b0188012007200236025820002802002207200141036a3b01880120072002360258200041106a21002003200141046a2201470d000b0b2005450d05200141027420026a418c016a210003402000280200220720013b01880120072002360258200041046a2100200141016a21012005417f6a22050d000c060b0b2007450d040b4180c0c28000412841a8c0c28000108081808000000b4184bfc28000413341b8bfc28000108081808000000b41c8bfc28000412741f0bfc28000108081808000000b41e4bdc280004128418cbec28000108081808000000b0bcf06020b7f027e0240024002402001200028020c22022f018a0122036a2204410c4f0d00200028021422052f018a0122062001490d01200220043b018a012005200620016b22043b018a0120002802002207200028020822084102746a220928025c210a20052001417f6a220b410374220c6a290200210d2009200541dc006a2206200b410274220b6a28020036025c200720084103746a2207290200210e2007200d370200200241dc006a220820034102746a200a360200200220034103746a200e3702002008200341016a22074102746a2006200b10f4978080001a200220074103746a2005200c10f4978080001a2006200620014102746a2004410274220810f9978080001a2005200520014103746a200441037410f997808000210520002802182106024002402000280210450d002006450d012002418c016a220a20074102746a2005418c016a22002001410274220610f49780800021092000200020066a200841046a10f9978080001a2009280200220020073b01880120002002360258024020014101460d00200a200341026a22004102746a280200220620003b0188012006200236025820014102460d00200a200341036a22004102746a280200220620003b0188012006200236025820014103460d00200a200341046a22004102746a280200220620003b0188012006200236025820014104460d00200a200341056a22014102746a280200220020013b018801200020023602580b200441016a2203410371210241002101024020044103490d0020054198016a21002003417c712104410021010340200041746a280200220320013b01880120032005360258200041786a2802002203200141016a3b018801200320053602582000417c6a2802002203200141026a3b0188012003200536025820002802002203200141036a3b01880120032005360258200041106a21002004200141046a2201470d000b0b2002450d04200141027420056a418c016a210003402000280200220320013b01880120032005360258200041046a2100200141016a21012002417f6a22020d000c050b0b2006450d030b4180c0c28000412841b4c1c28000108081808000000b41b8c0c28000413241ecc0c28000108081808000000b41fcc0c28000412841a4c1c28000108081808000000b0b8307020e7f017e02400240200128020c22022f018a01220341016a2204200128021422052f018a0122066a2207410c4f0d0020012802102108200128020421092001280200220a2f018a01210b200220073b018a01200a2001280208220c4102746a220128025c210d200141dc006a200141e0006a200b200c417f736a220e410274220f10f9978080001a200241dc006a220120034102746a200d360200200120044102746a200541dc006a200641027410f4978080001a200a200c4103746a220129020021102001200141086a200e41037410f9978080001a200220034103746a2010370200200220044103746a2005200641037410f4978080001a200a200c41016a22014102746a220d418c016a200d4190016a200f10f9978080001a02402001200b4f0d00200b200c6b417e6a210f0240200e410371220e450d00200c410274200a6a4190016a210c0340200c280200220d20013b018801200d200a360258200c41046a210c200141016a2101200e417f6a220e0d000b0b200f4103490d002001410274200a6a4198016a210c0340200c41746a280200220e20013b018801200e200a360258200c41786a280200220e200141016a3b018801200e200a360258200c417c6a280200220e200141026a3b018801200e200a360258200c280200220e200141036a3b018801200e200a360258200c41106a210c200b200141046a2201470d000b0b200a200a2f018a01417f6a3b018a01024020094102490d00200641016a2201200720036b470d022002418c016a20044102746a2005418c016a200141027410f4978080001a02402001410371220a450d00200341027420026a4190016a210103402001280200220c20043b018801200c2002360258200141046a2101200441016a2104200a417f6a220a0d000b0b20064103490d002004410274210a03402002200a6a2201418c016a280200220c20043b018801200c200236025820014190016a280200220c200441016a3b018801200c200236025820014194016a280200220c200441026a3b018801200c200236025820014198016a2802002201200441036a220c3b01880120012002360258200441046a2104200a41106a210a200c2007470d000b0b20052005417e6a2f00006b41002802ec82d480001181808080000020002008360204200020023602000f0b41e4c2c28000412a4190c3c28000108081808000000b41e4bdc280004128418cbec28000108081808000000bf10e07087f017e027f017e017f017e037f20002802002103024020002802042204450d0002400240200441037122050d00200421060c010b2004210603402006417f6a2106200320032f018a014102746a28028c0121032005417f6a22050d000b0b20044104490d000340200320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c0121032006417c6a22060d000b0b200128021c210720012802182108200128021421092001280210210a2001290208210b2001280204210c2001280200210d0240034002400240200d4102460d00200b210e200c210f200d4101710d010c030b20092007460d022009280200210f2009290204210e2009410c6a21090b4100210d024020092007460d002009410c6a2106200929020421104101210d0240200f2009280200220c460d002010210b200621090c010b024020062007470d002010210b200f210c200621092010210e4100210d0c010b200941186a21062009290210210b0240200f200928020c220c460d00200621092010210e0c010b0340200b210e024020062007470d00200e210b200f210c200621094100210d0c020b2006280200210c200641046a290200210b2006410c6a22092106200f200c460d000b0b200e422088a72111200ea72112024002400240024002400240024020032f018a012206410b490d0041002113024003400240200328025822030d00200028020421052000280200210641002d008083d480001a41bc0141002802f482d48000118280808000002203450d042003200341036a417c7120036b22016a2203200636028c01200341003b018a01200341003602582003417e6a20013b00002000200541016a221336020420002003360200200641003b018801200620033602580c020b201341016a211320032f018a01410a4b0d000b0b41002d008083d480001a418c0141002802f482d48000118280808000002206450d022006200641036a417c7120066b22016a220541003b018a01200541003602582005417e6a20013b00002013417f6a2201450d04034041002d008083d480001a41bc0141002802f482d48000118280808000002206450d042006200641036a417c7120066b22046a2206200536028c01200641003b018a01200641003602582006417e6a20043b0000200541003b01880120052006360258200621052001417f6a2201450d050c000b0b2003200641016a3b018a01200320064102746a200f36025c200320064103746a22062011360204200620123602000c040b410441bc0110ab80808000000b4104418c0110ab80808000000b410441bc0110ab80808000000b20032f018a012206410b4f0d012003200641016a22013b018a01200320064102746a200f36025c200320064103746a2206201136020420062012360200200320014102746a200536028c01200520013b018801200520033602582013450d0002400240201341037122050d00201321060c010b2013210603402006417f6a2106200320032f018a014102746a28028c0121032005417f6a22050d000b0b20134104490d000340200320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c0121032006417c6a22060d000b0b2002200228020041016a3602000c010b0b41d8bbc28000412041c8bcc28000108081808000000b02402008450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b024020002802042204450d00200028020021050340024002400240024020052f018a012203450d0020052003417f6a220f4102746a22132802900122062f018a01220341054f0d03410520036b41ffff03712209201328028c0122012f018a0122074b0d012001200720096b220c3b018a01200641053b018a01200641dc006a220d200941027422026a200d2003410274220010f9978080001a200620094103746a2006200341037410f9978080001a2007200c41016a22036b22072009417f6a470d02200d200141dc006a22092003410274220a6a2007410274221110f497808000210d2006200120034103746a2007410374220710f4978080002103201328025c21122001200c4103746a290200210e20132009200c4102746a28020036025c2005200f4103746a2205290200210b2005200e370200200d20116a2012360200200320076a200b37020020044101460d052003418c016a220520026a2005200041046a10f9978080001a20052001200a6a418c016a200210f4978080001a200328028c01220541003b01880120052003360258200328029001220541013b01880120052003360258200328029401220541023b01880120052003360258200328029801220541033b01880120052003360258200328029c01220541043b0188012005200336025820032802a001220541053b018801200520033602580c030b4185b8c28000411941a0b9c28000108081808000000b41c8bfc28000412741f0bfc28000108081808000000b41e4bdc280004128418cbec28000108081808000000b200621052004417f6a22040d000b0b0bd20f02157f017e23808080800041a0016b220324808080800020012802002204200128020822054102746a220628025c2107200641dc006a200641e0006a20042f018a0122082005417f736a220941027410f9978080001a200420054103746a2206280204210a2006280200210b2006200641086a200941037410f9978080001a20042008417f6a22063b018a012001280204210c0240200641ffff037141044b0d00024020042802582201450d00200c41016a2108024002400240024020042f01880122090d0020012f018a010d012003410136026c20034198bdc280003602682003420037027420032003419c016a360270200341e8006a41a0bdc2800010fe80808000000b2003200c36022c200320043602282003200c3602242003200836021820032009417f6a220836021c200320013602142003200120084102746a28028c012201360220024020012f018a012208200641ffff037122016a41016a410c490d00200341146a410110c981808000200541016a21050c040b200520014b0d01200520086a41016a2105200341086a200341146a10cb8180800020032802082104200328020c210c0c030b2003200c3602482003200c3602402003200436023c200341003602382003200836023420032001360230200320012802900122013602440240200641ffff0371220620012f018a016a41016a410c490d00200341306a410110ca818080000c030b200520064b0d012003200341306a10cb81808000200328020021042003280204210c0c020b41c4c1c28000418e0141d4c2c28000108081808000000b41c4c1c28000418e0141d4c2c28000108081808000000b20042802582209450d0020092f018a01220641044b0d00200c41016a210d0240024002400340200d21012009220e2802582209450d01200641ffff0371210f200141016a210d0240024002400240200e2f01880122060d00024020092f018a0122100d00200341013602880120034198bdc2800036028401200342003702900120032003419c016a36028c0120034184016a41a0bdc2800010fe80808000000b2003200136028001200320013602782003200e36027441002111200341003602702003200d36026c200320093602682003200928029001220636027c200f41016a220120062f018a0122126a2213410c4f0d01200e21082006210e200f21142012210f0c030b200320013602642003200e3602602003200136025c2003200d36025020032006417f6a22113602542003200936024c2003200920114102746a28028c012208360258200f20082f018a0122146a41016a410c490d01200341cc006a4105200f6b10c9818080000c070b200341e8006a4105200f6b10ca818080000c060b201441016a2201200f6a211320092f018a0121100b200820133b018a01200920114102746a220628025c2112200641dc006a200641e0006a201041ffff037122152011417f736a2210410274221610f9978080001a200841dc006a220620144102746a20123602002006200141027422176a200e41dc006a200f41027410f4978080001a200920114103746a220629020021182006200641086a201041037410f9978080001a200820144103746a2018370200200820014103746a200e200f41037410f4978080001a2009201141016a22064102746a2212418c016a221020124190016a201610f9978080001a0240201520064d0d00201520116b417e6a21160240201520066b4103712211450d0003402010280200221220063b01880120122009360258201041046a2110200641016a21062011417f6a22110d000b0b20164103490d00200920064102746a4198016a21100340201041746a280200221120063b01880120112009360258201041786a2802002211200641016a3b018801201120093602582010417c6a2802002211200641026a3b0188012011200936025820102802002211200641036a3b01880120112009360258201041106a21102015200641046a2206470d000b0b200920092f018a01417f6a3b018a010240200d4102490d00200f41016a2206201320146b470d032008418c016a20176a200e418c016a200641027410f4978080001a0240201320016b221241016a4103712210450d00200820176a418c016a210603402006280200221120013b01880120112008360258200641046a2106200141016a21012010417f6a22100d000b0b20124103490d00200141027421100340200820106a2206418c016a280200221120013b0188012011200836025820064190016a2802002211200141016a3b0188012011200836025820064194016a2802002211200141026a3b0188012011200836025820064198016a2802002206200141036a22113b01880120062008360258200141046a2101201041106a211020112013470d000b0b200e200e417e6a2f00006b41002802ec82d480001181808080000020092f018a01220641044d0d000c040b0b200641ffff0371450d010c020b41e4bdc280004128418cbec28000108081808000000b024002402002450d00200228020422060d0141b0bdc28000412141d4bdc28000108081808000000b41b0bac2800010a081808000000b2002280200220128028c012208410036025820022006417f6a3602042002200836020020012001417e6a2f00006b41002802ec82d48000118180808000000b200020053602142000200c3602102000200436020c2000200a3602082000200b36020420002007360200200341a0016a2480808080000b8b0501087f23808080800041306b2204248080808000200128020821052001280200210602400240200128020422070d0020042005360208200441003602042004200636020020002004200228020010cd818080000c010b20022802002108200620054102746a28028c01210102402007417f6a2202450d002007417e6a2105024020024103712207450d0003402002417f6a2102200120012f018a014102746a28028c0121012007417f6a22070d000b0b20054103490d000340200120012f018a014102746a28028c01220120012f018a014102746a28028c01220120012f018a014102746a28028c01220120012f018a014102746a28028c0121012002417c6a22020d000b0b2004200136020c2004200133018a014220864280808080707c370210200441186a2004410c6a200810cd818080002004280228210220042802202108200428021c2109200428021821050240200428022c2207200428022422012f018a01490d000340200241016a210220012f0188012207200128025822012f018a014f0d000b0b200120074102746a220628025c210a2006200536025c200120074103746a2205280204210b2005200836020420052802002108200520093602000240024020020d00200741016a21050c010b20064190016a2802002101410021052002417f6a2207450d002002417e6a2106024020074107712202450d0003402007417f6a2107200128028c0121012002417f6a22020d000b0b20064107490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200741786a22070d000b0b20002005360214200041003602102000200136020c2000200b360208200020083602042000200a3602000b200441306a2480808080000ba50402097f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c02400240024002402002450d0020012802042105200128020021064180202107034002402002200720022007491b2208200328020c220920046b4d0d00024002400240200820046a220441ffffffff014d0d00410021030c010b2004410274210a4100210b02402009450d00200320032802103602242003200941027436022c4104210b0b2003200b360228200341186a4104200a200341246a10ea8280800020032802184101470d0120032802202105200328021c21030b20032005419cc5c2800010b980808000000b2003200328021c3602102003200436020c0b024002402007450d0020082109200621070240034020054104490d0120012005417c6a22053602042001200741046a220636020020072800002104024020032802142207200328020c470d002003410c6a41acc5c2800010ec828080000b200328021020074102746a20043602002003200741016a2204360214200621072009417f6a22090d000c030b0b200328020c450d05200328021022052005417e6a2f00006b41002802ec82d48000118180808000000c050b200328021421040b20042107200220086b22020d000b200328020c2205418080808078460d022003290210210c0c010b2003290210210c410021050b2000200c370204200020053602000c010b20004180808080783602000b200341306a2480808080000b980303037f017e077f23808080800041206b220324808080800002400240200128020422042002490d000240024020020d0041002105420121060c010b20012802002107418080012108410021094101210a41002105034002402002200820022008491b220b200520096b4d0d004100210c02400240200b20096a22084100480d004100210c02402005450d002003200536021c2003200a3602144101210c0b2003200c360218200341086a41012008200341146a10ea8280800020032802084101470d012003280210210d200328020c210c0b200c200d419cc5c2800010b980808000000b200328020c210a200821050b02402004200b4f0d002005450d03200a200a417e6a2f00006b41002802ec82d48000118180808000000c030b200a20096a2007200b10f4978080001a20012004200b6b220436020420012007200b6a2207360200200b20096a220921082002200b6b22020d000b2005418080808078460d012009ad422086200aad8421060b20002006370204200020053602000c010b20004180808080783602000b200341206a2480808080000bf30401047f23808080800041106b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d00200420012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020037020c200141146a200441086a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510d2938080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021422052005417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200429020037020c200141146a200441086a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d032001200641016a36020c02400240200128021822070d0020004181808080783602002001200636020c0c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536020020052802080d062005417f3602082000200528020c20022003200528021041c4006a280200118380808000002005200528020841016a36020820052005280200417f6a2206360200024020060d00200410d2938080000b2001280204417f6a21050b20012005360204200441106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bf90401057f23808080800041106b22022480808080000240024002400240024002402001280204220341ffffffff074f0d00024020012802080d00200220012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200229020037020c200141146a200241086a290200370200410021030c010b024020012802182204450d00200128021421030340200328020022052005280200417f6a2205360200024020050d00200310af828080000b200341046a21032004417f6a22040d000b0b02402001280210450d00200128021422032003417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200229020037020c200141146a200241086a2902003702002001200128020441016a2203360204200341ffffffff074f0d030b2001200341016a360204200128020c220441ffffffff074f0d032001200441016a36020c02400240200128021822050d002001200436020c410021040c010b200128021420054102746a417c6a2802002203200328020041016a22043602002004450d052001200128020c417f6a36020c2002200336020020032802080d062003417f360208200328020c2003280210410c6a280200118280808000002105410121042003200328020841016a36020820032003280200417f6a2206360200024020060d00200210af828080000b2001280204417f6a21030b200120033602042000200536020420002004360200200241106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bed0401047f23808080800041106b22032480808080000240024002400240024002402000280204220441ffffffff074f0d00024020002802080d00200320002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200329020037020c200041146a200341086a290200370200410021040c010b024020002802182205450d00200028021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402000280210450d00200028021422042004417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200329020037020c200041146a200341086a2902003702002000200028020441016a2204360204200441ffffffff074f0d030b2000200441016a360204200028020c220541ffffffff074f0d032000200541016a36020c02400240200028021822060d002000200536020c410221050c010b200028021420064102746a417c6a2802002204200428020041016a22053602002005450d052000200028020c417f6a36020c2003200436020020042802080d062004417f360208200428020c200120022004280210413c6a2802001180808080000021052004200428020841016a36020820042004280200417f6a2206360200024020060d00200310d2938080000b2000280204417f6a21040b20002004360204200341106a24808080800020050f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000be10501057f23808080800041206b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d00200441086a20012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020837020c200141146a200441106a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510d2938080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021422052005417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200429020837020c200141146a200441106a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d0320032802042108200328020021032001200641016a36020c02400240200128021822070d002001200636020c410221060c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536020420052802080d062005417f360208200441086a200528020c20022003200841002005200528021041cc006a28020011858080800000200428021c2107024020042802082206418080808078460d002006450d00200428020c22032003417e6a2f00006b41002802ec82d48000118180808000000b2005200528020841016a36020820052005280200417f6a2203360200024020030d00200441046a10d2938080000b20064180808080784721062001280204417f6a21050b200120053602042000200736020420002006360200200441206a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bfb0401047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d0320022d000021022001200541016a36020c02400240200128021822060d0020004180808080783602002001200536020c0c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020020042802080d062004417f3602082000200428020c2002410171200428021041e0006a280200118680808000002004200428020841016a36020820042004280200417f6a2205360200024020050d00200310d2938080000b2001280204417f6a21040b20012004360204200341106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bfd0401047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d032001200541016a36020c02400240200128021822060d0020004181808080783602002001200536020c0c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020020042802080d062004417f3602082000200428020c200228020020022802042002280208200428021041286a280200118780808000002004200428020841016a36020820042004280200417f6a2205360200024020050d00200310d2938080000b2001280204417f6a21040b20012004360204200341106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000be70401047f23808080800041106b22012480808080000240024002400240024002402000280204220241ffffffff074f0d00024020002802080d00200120002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200129020037020c200041146a200141086a290200370200410021020c010b024020002802182203450d00200028021421020340200228020022042004280200417f6a2204360200024020040d00200210d2938080000b200241046a21022003417f6a22030d000b0b02402000280210450d00200028021422022002417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200129020037020c200041146a200141086a2902003702002000200028020441016a2202360204200241ffffffff074f0d030b2000200241016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822030d002000200436020c0c010b200028021420034102746a417c6a2802002202200228020041016a22043602002004450d052000200028020c417f6a36020c2001200236020020022802080d062002417f360208200228020c200228021041ec006a280200118180808000002002200228020841016a36020820022002280200417f6a2204360200024020040d00200110d2938080000b2000280204417f6a21020b20002002360204200141106a24808080800020034100470f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000be60501047f23808080800041206b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200341086a20012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020837020c200141146a200341106a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020837020c200141146a200341106a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d032001200541016a36020c02400240200128021822060d002001200536020c410221050c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020420042802080d062004417f360208200341086a200428020c2002280200200228020420022802082205280200200528020441002004200428021041d0006a28020011888080800000200328021c2106024020032802082205418080808078460d002005450d00200328020c22022002417e6a2f00006b41002802ec82d48000118180808000000b2004200428020841016a36020820042004280200417f6a2202360200024020020d00200341046a10d2938080000b20054180808080784721052001280204417f6a21040b200120043602042000200636020420002005360200200341206a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bf90401047f23808080800041106b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310d2938080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021422032003417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822050d002000200436020c410221040c010b200028021420054102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c2002200336020020032802080d062003417f360208200328020c200128020020012802042001280208200328021041c0006a2802001189808080000021042003200328020841016a36020820032003280200417f6a2205360200024020050d00200210d2938080000b2000280204417f6a21030b20002003360204200241106a24808080800020040f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bf10401047f23808080800041106b22012480808080000240024002400240024002402000280204220241ffffffff074f0d00024020002802080d00200120002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200129020037020c200041146a200141086a290200370200410021020c010b024020002802182203450d00200028021421020340200228020022042004280200417f6a2204360200024020040d00200210d2938080000b200241046a21022003417f6a22030d000b0b02402000280210450d00200028021422022002417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200129020037020c200041146a200141086a2902003702002000200028020441016a2202360204200241ffffffff074f0d030b2000200241016a360204200028020c220341ffffffff074f0d032000200341016a36020c02400240200028021822040d002000200336020c410221030c010b200028021420044102746a417c6a2802002202200228020041016a22033602002003450d052000200028020c417f6a36020c2001200236020020022802080d062002417f360208200228020c200228021041f4006a2802001182808080000021032002200228020841016a36020820022002280200417f6a2204360200024020040d00200110d2938080000b200341017321032000280204417f6a21020b20002002360204200141106a24808080800020030f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bfe0401047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d032001200541016a36020c02400240200128021822060d0020004181808080783602002001200536020c0c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020020042802080d062004417f3602082000200428020c200228020020022802042002280208200428021041c8006a280200118780808000002004200428020841016a36020820042004280200417f6a2205360200024020050d00200310d2938080000b2001280204417f6a21040b20012004360204200341106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000b9a0601087f23808080800041206b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310d2938080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021422032003417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822050d002000200436020c0c010b200028021420054102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c2001280208210420012802042106200128020021072002200336021020032802080d062003417f3602084100210102400240024020044100480d00200328021041dc006a2802002108200328020c2109410121012004450d0241002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441c4c8c2800010b980808000000b2001417e6a41003b00000b20012006200410f49780800021012002200436021c2002200136021820022004360214200241808080807836020020092007200241146a20022008118380808000002003200328020841016a36020820032003280200417f6a2204360200024020040d00200241106a10d2938080000b2000280204417f6a21030b20002003360204200241206a24808080800020054100470f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bf20401047f23808080800041106b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d00200420012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020037020c200141146a200441086a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510d2938080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021422052005417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200429020037020c200141146a200441086a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d032001200641016a36020c02400240200128021822070d0020004181808080783602002001200636020c0c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536020020052802080d062005417f3602082000200528020c200220032005280210411c6a280200118380808000002005200528020841016a36020820052005280200417f6a2206360200024020060d00200410d2938080000b2001280204417f6a21050b20012005360204200441106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000b830601067f23808080800041206b22032480808080000240024002400240024002402000280204220441ffffffff074f0d00024020002802080d00200320002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200329020037020c200041146a200341086a290200370200410021040c010b024020002802182205450d00200028021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402000280210450d00200028021422042004417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200329020037020c200041146a200341086a2902003702002000200028020441016a2204360204200441ffffffff074f0d030b2000200441016a360204200028020c220641ffffffff074f0d032000200641016a36020c02400240200028021822050d002000200636020c0c010b200028021420054102746a417c6a2802002204200428020041016a22063602002006450d052000200028020c417f6a36020c2003200436021020042802080d062004417f3602084100210602400240024020024100480d00200428021041d8006a2802002107200428020c2108410121062002450d0241002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241c4c8c2800010b980808000000b2006417e6a41003b00000b20062001200210f49780800021062003200236021c200320063602182003200236021420034180808080783602002008200341146a20032007118680808000002004200428020841016a36020820042004280200417f6a2206360200024020060d00200341106a10d2938080000b2000280204417f6a21040b20002004360204200341206a24808080800020054100470f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000ba007010a7f23808080800041206b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310d2938080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021422032003417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822060d002000200436020c0c010b200028021420064102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c20012802102105200128020c21072001280208210420012802042108200128020021092002200336021020032802080d062003417f3602084100210102400240024020044100480d00200328021041dc006a280200210a200328020c210b024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441c4c8c2800010b980808000000b2001417e6a41003b00000b20012008200410f49780800021012002200436021c20022001360218200220043602144100210402400240024020054100480d00410121042005450d0241002d008083d480001a200541002802f482d480001182808080000022040d01410121040b2004200541c4c8c2800010b980808000000b2004417e6a41003b00000b20042007200510f4978080002104200220053602082002200436020420022005360200200b2009200241146a2002200a118380808000002003200328020841016a36020820032003280200417f6a2204360200024020040d00200241106a10d2938080000b2000280204417f6a21030b20002003360204200241206a24808080800020064100470f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bfd0401047f23808080800041106b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d00200420012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020037020c200141146a200441086a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510d2938080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021422052005417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200429020037020c200141146a200441086a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d0320032d000021032001200641016a36020c02400240200128021822070d0020004180808080783602002001200636020c0c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536020020052802080d062005417f3602082000200528020c20022003410171200528021041e4006a280200118380808000002005200528020841016a36020820052005280200417f6a2206360200024020060d00200410d2938080000b2001280204417f6a21050b20012005360204200441106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000beb0501047f23808080800041206b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200341086a20012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020837020c200141146a200341106a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020837020c200141146a200341106a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d032001200541016a36020c02400240200128021822060d002001200536020c410221050c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020420042802080d062004417f360208200341086a200428020c200228020020022802042002280208200228020c2205280200200528020441002004200428021041d4006a280200118a8080800000200328021c2106024020032802082205418080808078460d002005450d00200328020c22022002417e6a2f00006b41002802ec82d48000118180808000000b2004200428020841016a36020820042004280200417f6a2202360200024020020d00200341046a10d2938080000b20054180808080784721052001280204417f6a21040b200120043602042000200636020420002005360200200341206a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bf10401047f23808080800041106b22012480808080000240024002400240024002402000280204220241ffffffff074f0d00024020002802080d00200120002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200129020037020c200041146a200141086a290200370200410021020c010b024020002802182203450d00200028021421020340200228020022042004280200417f6a2204360200024020040d00200210d2938080000b200241046a21022003417f6a22030d000b0b02402000280210450d00200028021422022002417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200129020037020c200041146a200141086a2902003702002000200028020441016a2202360204200241ffffffff074f0d030b2000200241016a360204200028020c220341ffffffff074f0d032000200341016a36020c02400240200028021822040d002000200336020c410221030c010b200028021420044102746a417c6a2802002202200228020041016a22033602002003450d052000200028020c417f6a36020c2001200236020020022802080d062002417f360208200228020c200228021041f0006a2802001182808080000021032002200228020841016a36020820022002280200417f6a2204360200024020040d00200110d2938080000b200341017321032000280204417f6a21020b20002002360204200141106a24808080800020030f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000b800701057f23808080800041206b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d002004410c6a20012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020c37020c200141146a200441146a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510d2938080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021422052005417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200429020c37020c200141146a200441146a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d032001200641016a36020c02400240200128021822070d00200041003602002001200636020c0c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536021c20052802080d062005417f3602082004410c6a200528020c200220032005280210411c6a2802001183808080000002400240200428020c2202418080808078470d00410021080c010b200428021021070240024002400240200428021422032002460d0041002d008083d480001a410c41002802f482d48000118280808000002206450d012006200641036a417c7120066b22086a2206410136020820062002360204200620073602002006417e6a20083b000041d8edc1800021080c040b024020020d0041a8ebc1800021084101210741002106410021030c040b41e8ecc1800021082007410171450d01200721060c020b4104410c10ab80808000000b2007410172210641d4ecc1800021080b200221030b200020063602102000200336020c2000200736020820002008360204200041013602002005200528020841016a36020820052005280200417f6a2206360200024020060d002004411c6a10d2938080000b2001280204417f6a21050b20012005360204200441206a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000b970701097f23808080800041206b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310d2938080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021422032003417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822060d002000200436020c0c010b200028021420064102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c200128020c21052001280208210720012802042104200128020021082002200336021020032802080d062003417f3602084100210102400240024020044100480d00200328021041d8006a2802002109200328020c210a024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441c4c8c2800010b980808000000b2001417e6a41003b00000b20012008200410f49780800021012002200436021c20022001360218200220043602144100210402400240024020054100480d00410121042005450d0241002d008083d480001a200541002802f482d480001182808080000022040d01410121040b2004200541c4c8c2800010b980808000000b2004417e6a41003b00000b20042007200510f4978080002104200220053602082002200436020420022005360200200a200241146a20022009118680808000002003200328020841016a36020820032003280200417f6a2204360200024020040d00200241106a10d2938080000b2000280204417f6a21030b20002003360204200241206a24808080800020064100470f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bc10601087f23808080800041206b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310d2938080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021422032003417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220341ffffffff074f0d032000200341016a36020c02400240200028021822050d002000200336020c2001280200450d01200128020422032003417e6a2f00006b41002802ec82d48000118180808000000c010b200028021420054102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c20012802102104200128020c21062002200336021020032802080d062003417f3602084100210702400240024020044100480d00200328021041e8006a2802002108200328020c2109410121072004450d0241002d008083d480001a200441002802f482d480001182808080000022070d01410121070b2007200441c4c8c2800010b980808000000b2007417e6a41003b00000b20072006200410f49780800021072002200436021c2002200736021820022004360214200241086a200141086a280200360200200220012902003703002009200241146a20022008118680808000002003200328020841016a36020820032003280200417f6a220436020020040d00200241106a10d2938080000b20002000280204417f6a360204200241206a24808080800020054100470f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041af80808000360218200042a186ccffc3b6a3f8b07f37031020004297dab08be4eb9bc800370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b080808000360218200042a8b2b4aef4dcada3bc7f370310200042a481aa97ccf184c9d700370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b18080800036021820004283b0d291daeebdba827f370310200042eab2a8f28eb5b7f134370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b280808000360218200042b28b808aa3a98bcea47f37031020004299a097a5d68bf4be8d7f370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b380808000360218200042bd939dd6b2ebc5fc2b37031020004299b3aba887f2f0b3907f370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b58080800036021820004298bba9be9de4aafe9d7f370310200042d69fe9f4d2dbfcf067370308200041023a00000b8f0e03047f017e027f2380808080004180016b22032480808080002003410c6a200110ee81808000024002402003280210418080808078460d00410021042001280244200128023c6b410476410020012802381b200128023020012802286b410476410020012802241b6a22054103200541034b1b41016a2206ad42147e2207a721050240024002402007422088a70d00200541fcffffff074b0d00024020050d0041042102410021060c030b41002d008083d480001a200541002802f482d480001182808080000022040d01410421040b20042005200210b980808000000b2004200441036a417c71220220046b22056a417e6a20053b00000b2002200329020c370200200241106a2003410c6a41106a280200360200200241086a2003410c6a41086a290200370200200341013602082003200236020420032006360200200341206a200141cc0010f4978080001a200341ec006a200341206a10ee8180800002402003280270418080808078460d0041142101410121050340024020052003280200470d0020032005200328025020032802486b410476410020032802441b2003280264200328025c6b41047641016a410120032802581b6a4104411410ee82808000200328020421020b200220016a2204200329026c370200200441106a200341ec006a41106a280200360200200441086a200341ec006a41086a2902003702002003200541016a2205360208200141146a2101200341ec006a200341206a10ee818080002003280270418080808078470d000b0b024020032802204102460d00200341206a10d0828080000b024020032802442206450d0002402003280250220520032802482208460d00410021010240200520086b220941047622054101460d00200541feffffff007121022008210541002101034002402005280200450d00200541046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052002200141026a2201470d000b0b2009411071450d00200820014104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b200328024c450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b024020032802582206450d00024020032802642205200328025c2208460d00410021010240200520086b220941047622054101460d00200541feffffff007121022008210541002101034002402005280200450d00200541046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052002200141026a2201470d000b0b2009411071450d00200820014104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b2003280260450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20002003290200370200200041086a200341086a2802003602000c010b2000410036020820004280808080c000370200024020012802004102460d00200110d0828080000b024020012802242206450d0002402001280230220520012802282208460d00410021040240200520086b220941047622054101460d00200541feffffff007121002008210541002104034002402005280200450d00200541046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052000200441026a2204470d000b0b2009411071450d00200820044104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b200128022c450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20012802382206450d00024020012802442205200128023c2208460d00410021040240200520086b220941047622054101460d00200541feffffff007121002008210541002104034002402005280200450d00200541046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052000200441026a2204470d000b0b2009411071450d00200820044104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b2001280240450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20034180016a2480808080000b940a010c7f23808080800041106b2202248080808000024002402001280224450d002001280228210320012802302104410021050c010b410121050b0240024002400340024002400240024020050e020001010b0240024020032004470d00200321060c010b2001200341106a220636022820032802002205418080808078470d020b024020042006460d00410021070240200420066b220841047622054101460d00200541feffffff007121092006210541002107034002402005280200450d00200541046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052009200741026a2207470d000b0b2008411071450d00200620074104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b0240200128022c450d00200128022422052005417e6a2f00006b41002802ec82d48000118180808000000b20014100360224410121050c030b024020012802004102460d002002200110c88280800020022802042206418080808078460d0020022802082203200228020c4104746a21042002280200210802402001280224220b450d000240200128023022052001280228220c460d004100210702402005200c6b220d41047622054101460d00200541feffffff00712109200c210541002107034002402005280200450d00200541046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052009200741026a2207470d000b0b200d411071450d00200c20074104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b200128022c450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b20012008360234200120043602302001200636022c20012003360228200120033602240c020b024020012802382204450d000240200128023c22052001280244220a470d00200521030c050b2001200541106a220336023c20052802002207418080808078460d04200241086a2005410c6a28020036020020022005290204370300200128024821050c050b20004180808080783602040c050b200020053602042000200329020437020820002001280234360200200041106a2003410c6a2802003602000c040b410021050c000b0b0240200a2003460d00410021070240200a20036b220641047622054101460d00200541feffffff007121092003210541002107034002402005280200450d00200541046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052009200741026a2207470d000b0b2006411071450d00200320074104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b02402001280240450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2001410036023841808080807821070b200020073602042000200536020020002002290300370208200041106a200241086a2802003602000b200241106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010ee828080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741246e2208200128020822014101764f0d01410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a410020084104412410ee828080002003280208210a200328020c21090b200a200941246c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41246e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810ee828080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bf70101067f23808080800041106b22022480808080002000280200280200220041086a2802002103200041046a2802002100410121042001280200220541e580c280004101200128020428020c2206118080808000002107200241003a0009200220073a0008200220013602040240024002402003450d0003402002200036020c200241046a2002410c6a41f4e2c28000108b818080001a200041016a21002003417f6a22030d000b4101210420022d00084101710d02200228020422002802002105200028020428020c21060c010b20070d010b200541e680c28000410120061180808080000021040b200241106a24808080800020040bc60501037f0240024002400240024002402000280200417e6a2201410420014106491b0e050501020304000b2000280204220120012802002201417f6a36020020014101470d04200041046a10f0978080000c040b0240200028022c4129490d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802342201450d03200120012802002202417f6a36020020024101470d03200041346a10f0978080000f0b024020002802504129490d00200028022822012001417e6a2f00006b41002802ec82d48000118180808000000b20002d0004450d022000280208220110f38180800020012001417e6a2f00006b41002802ec82d48000118180808000000f0b024020002802382202450d00200028023421010340024020012d000022034102460d002003450d00200141046a280200220310f38180800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b02402000280230450d00200028023422012001417e6a2f00006b41002802ec82d48000118180808000000b2000280204450d0120002802082201450d01200120012802002202417f6a36020020024101470d01200041086a10f0978080000f0b024020002802604129490d00200028023822012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802342202450d00200028023021010340024020012d000022034102460d002003450d00200141046a280200220310f38180800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b0240200028022c450d00200028023022012001417e6a2f00006b41002802ec82d48000118180808000000b2000280200450d0020002802042201450d00200120012802002202417f6a36020020024101470d00200041046a10f0978080000f0b0ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610cf818080000f0b20030d020c030b200541027621020b20002001200210cf818080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610cf818080000f0b20004180808080783602000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610d0818080000f0b20030d020c030b200541027621020b20002001200210d0818080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610d0818080000f0b20004180808080783602000be00101017f23808080800041d0006b220a248080808000200a41c4006a200141206a290200370200200a413c6a200141186a290200370200200a41346a200141106a290200370200200a412c6a200141086a290200370200200a41086a200241086a280200360200200a2008360220200a200736021c200a2005360214200a2004360210200a200336020c200a2001290200370224200a2002290200370300200a2006360218200a200936024c2000200a41246a200a2003200420052006280214200720082009280200200928020410f781808000200a41d0006a2480808080000b920701027f2380808080004180016b220b248080808000200b2008360214200b20073602100240024002400240200128020022080d00200b41186a41186a200141046a220841186a2201290000370300200b41186a41106a200841106a2207290000370300200b41186a41086a200841086a220c290000370300200b2008290000370318200b41c8006a41186a2001290000370300200b41c8006a41106a2007290000370300200b41c8006a41086a200c290000370300200b2008290000370348200b2002360244200b200b41186a360240200b200b41106a36023c200b41086a2005200b41c8006a200b413c6a41d4cac28000200611878080800000200b28020c2108200b280208410171450d0120004100360200200020083602040c030b200b2008360218200b2001280204220736021c02402009450d00200b2004360250200b200336024c200b4184808080783602482009200b41c8006a200a28020c118b80808000000b20082008280200220941016a36020020094100480d0120002007360204200020083602002000200141086a2201290200370208200041206a200141186a290200370200200041186a200141106a290200370200200041106a200141086a290200370200200820082802002200417f6a36020020004101470d02200b41186a10f0978080000c020b02400240024002400240024020082802002207417e6a2201410420014106491b0e06050005030201050b20082802342201450d04200841346a21070c030b200841046a2107200828020421010c020b2007410171450d0220082802042201450d02200841046a21070c010b2008280204450d0120082802082201450d01200841086a21070b20012001280200220841016a36020020084100480d01200728020421012007280200210802402009450d00200b41f4006a200b41306a290300370200200b41ec006a200b41286a290300370200200b41e4006a200b41186a41086a290300370200200b200b29031837025c200b2004360258200b2003360254200b2001360250200b418080808078360248200b200841086a36024c2009200b41c8006a200a28020c118b80808000000b2000200b2903183700082000200136020420002008360200200041206a200b41186a41186a290300370000200041186a200b41186a41106a290300370000200041106a200b41206a2903003700000c020b41e8cac2800041ec0041d4cbc2800010a1818080000b000b200b4180016a2480808080000b920803027f017e027f23808080800041a0016b2208248080808000200841086a41086a200141086a28020022093602002008411c6a200241086a28020036020020082001290200220a370308200820053602282008200436022420082003360220200820022902003702142008200736023020072802042102200728020021012008200636022c200828020c2107024002400240024002400240024002400240200aa7410171450d0020094120470d07200628020c2109200841386a41186a2206200741186a290000370300200841386a41106a220b200741106a290000370300200841386a41086a220c200741086a29000037030020082007290000370338200841dc006a2005200841386a200841146a200911838080800000200828025c2205418080808078460d01200828026421092008280260210702402001450d0020084194016a200841d0006a2903003702002008418c016a200841c8006a29030037020020084184016a200841c0006a2903003702002008200829033837027c2008200436027820082003360274200820093602702008200736026c20084180808080783602682001200841e8006a200228020c118b80808000000b4100210120094100480d0320090d02410121010c050b02402001450d00200820043602702008200336026c20084184808080783602682001200841e8006a200228020c118b80808000000b4100210102400240024020094100480d00024020090d00410121010c030b41002d008083d480001a200941002802f482d480001182808080000022010d01410121010b2001200941bcf2c2800010b980808000000b2001417e6a41003b00000b20012007200910f49780800021072000200936020820002007360204200020093602000c050b200841e8006a41186a2006290300370300200841e8006a41106a200b290300370300200841e8006a41086a200c2903003703002008200829033837036841002d008083d480001a413041002802f482d48000118280808000002209450d062009200941036a417c7120096b22076a2209418580808078360200200920082903683702042009417e6a20073b00002009410c6a200841f0006a290300370200200941146a200841f8006a2903003702002009411c6a20084180016a2903003702002000418080808078360200200020093602040c040b41002d008083d480001a200941002802f482d480001182808080000022010d01410121010b2001200941bcf2c2800010b980808000000b2001417e6a41003b00000b20012007200910f49780800021012000200936020820002001360204200020093602002005450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200841a0016a2480808080000f0b4120200941c4cac28000108681808000000b4104413010ab80808000000b0c002000200110fa818080000bce0701087f23808080800041e0036b2202248080808000200128020421032001280200280200220428020421052004280200210620012802082207280208200128020c2802006a22084101762104200728020421092007280200210702400240024002400240024020084101710d00200420094b0d02200241003a00e001200220043602dc01200220073602d8010c010b200420094b0d02200420094f0d03200241013a00e001200220073602d801200220043602dc012002200720046a2d000041f001713a00e1010b200220062003200241d8016a200528020c118380808000000240024020022802002204418080808078460d00200241d8016a200228020422072002280208108c8280800020022802d8014107460d0120002002200241d8016a41d80110f49780800010db828080002004450d0520072007417e6a2f00006b41002802ec82d48000118180808000000c050b200241d8016a41086a2204200341086a290000370300200241d8016a41106a2207200341106a290000370300200241d8016a41186a2209200341186a290000370300200220032900003703d8012001280210280200210341002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22086a220141858080807841848080807820031b360200200120022903d8013702042001417e6a20083b00002001410c6a2004290300370200200141146a20072903003702002001411c6a200929030037020020004108360200200020013602040c050b4104413010ab80808000000b200241b0036a41086a2209200241e4016a290200370300200241b0036a41186a2208200341086a290000370300200241b0036a41206a2205200341106a290000370300200241b0036a41286a2206200341186a290000370300200220022902dc013703b003200220032900003703c00341002d008083d480001a02400240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22036a220120022903b0033702002001417e6a20033b0000200141086a2009290300370200200141106a200241b0036a41106a290300370200200141186a2008290300370200200141206a2005290300370200200141286a2006290300370200200041083602002000200136020420040d010c050b4104413010ab80808000000b20072007417e6a2f00006b41002802ec82d48000118180808000000c030b2004200941fce4cd8000109181808000000b20042009418ce5cd8000109181808000000b20042009419ce5cd8000108281808000000b200241e0036a2480808080000bc70401067f23808080800041206b22022480808080002001280204210320012802002204280200210520042802042104200241106a41086a2001280208220141086a28020036020020022001290200370310200241046a20052003200241106a200428020c118380808000000240024002400240024020022802042206418080808078460d00200228020c220141f5ffffff074f0d022002280208210541002d008083d480001a2001410b6a41fcffffff0771220741002802f482d48000118280808000002204450d032004200441036a417c7120046b22076a22044281808080103702002004417e6a20073b0000200441086a2005200110f4978080001a02402006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b2000200136020820002004360204200041073602002000200329000037000c200041246a200341186a2900003700002000411c6a200341106a290000370000200041146a200341086a2900003700000c010b41002d008083d480001a413041002802f482d48000118280808000002201450d032001200141036a417c7120016b22046a22014185808080783602002001417e6a20043b0000200120032900003700042001410c6a200341086a290000370000200141146a200341106a2900003700002001411c6a200341186a29000037000020004108360200200020013602040b200241206a2480808080000f0b419c80c08000412b200241106a418c80c0800041b482c0800010a981808000000b4104200710ab80808000000b4104413010ab80808000000bc70401067f23808080800041206b22022480808080002001280204210320012802002204280200210520042802042104200241106a41086a2001280208220141086a28020036020020022001290200370310200241046a20052003200241106a200428020c118380808000000240024002400240024020022802042206418080808078460d00200228020c220141f5ffffff074f0d022002280208210541002d008083d480001a2001410b6a41fcffffff0771220741002802f482d48000118280808000002204450d032004200441036a417c7120046b22076a22044281808080103702002004417e6a20073b0000200441086a2005200110f4978080001a02402006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b2000200136020820002004360204200041073602002000200329000037000c200041246a200341186a2900003700002000411c6a200341106a290000370000200041146a200341086a2900003700000c010b41002d008083d480001a413041002802f482d48000118280808000002201450d032001200141036a417c7120016b22046a22014185808080783602002001417e6a20043b0000200120032900003700042001410c6a200341086a290000370000200141146a200341106a2900003700002001411c6a200341186a29000037000020004108360200200020013602040b200241206a2480808080000f0b419c80c08000412b200241106a418c80c0800041b482c0800010a981808000000b4104200710ab80808000000b4104413010ab80808000000bc51d04027f017e0b7f027e23808080800041d0026b2207248080808000200741d0006a41086a200141086a2208280200360200200720012902003703502007200436025c200741e0006a41086a20082802002208360200200720012902002209370360200741f0006a41186a220a200441206a290000370300200741f0006a41106a220b200441186a290000370300200741f0006a41086a220c200441106a290000370300200720042900083703704100210d20074100360290012007280264220e410174210f20074180026a41086a21012009a72110200628021421110240024003402007200d3602940120074180026a41186a200a29030037030020074180026a41106a200b2903003703002001200c2903003703002007200729037037038002200720074194016a3602e801200720074190016a3602e4012007200741d0006a3602e0012007200741f0006a3602dc012007200741dc006a3602d801200741086a200520074180026a200741d8016a41d8ccc28000201111878080800000200728020c210420072802084101710d010240200728025c221241306a2802002213450d00201241346a2802002112200141186a200a290300370000200141106a200b290300370000200141086a200c290300370000200120072903703700002007200436028402200741818080807836028002201320074180026a201228020c118b80808000000b200d41016a210d0240034002400240024002400240024002400240024002400240024002400240024002400240024002402004280200417e6a2212410420124106491b0e06000203040501000b200728025c220441306a2802002208450d0b200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c0b0b2007410136028402200741e4cec28000360280022007420137028c02200741b680808000ad42208641b0cec28000ad843703d8012007200741d8016a3602880220074180026a41eccec2800010fe80808000000b0240200741e0006a200441046a10e9978080000d00200728025c220441306a2802002208450d0a200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c0a0b02400240200428023422080d00200741a0016a200441c4006a290000370300200741a8016a200441cc006a290000370300200741b0016a200441d4006a2800003602002007200429003c370398012004280038210d0c010b20082008280200220141016a36020020014100480d0e200741a0016a200441c4006a290000370300200741a8016a200441cc006a290000370300200741b0016a200441d4006a2900003703002007200429003c370398012004280238210d0b200728025c220428020021012004280204211220072903502109200741b4026a20074198016a41086a290300370200200741bc026a20074198016a41106a290300370200200741c4026a20074198016a41186a2903003702002007200d3602a802200720083602a40220072007290398013702ac022007200441306a3602cc02200720123602a0022007200136029c022007200636029802200720053602940220072003360290022007200236028c02200741003a0088022007200937028002200741d8016a200741a4026a20074180026a2002200320052011200120122004280230200428023410f78180800020072802d80122010d030c110b0240200741e0006a200441286a10e8978080000d00200728025c220441306a2802002208450d09200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c090b200441046a2112200428025421040c0d0b024002400240200f2008460d0020084101762212200e4f0d012004280238201020126a2d00002212410f71201241047620084101711b22124d0d022004280234201241246c6a22122d00004102460d02410121040c0f0b20042802040d0741002101200728025c220441306a2802002208450d06200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c060b2012200e41c8ccc28000108281808000000b200728025c220441306a2802002208450d07200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c070b0240200741e0006a200441386a10e8978080000d00200728025c220441306a2802002208450d07200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c070b0240200f20086b20042802642213460d00201320086a22144101762212200e4f0d0202402004280234201020126a2d00002212410f71201241047620144101711b22124d0d002004280230201241246c6a22122d00004102460d00201341016a220420086a21080c0e0b200728025c220441306a2802002208450d07200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c070b20042802000d0241002101200728025c220441306a2802002208450d03200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c030b200741306a41086a200741d8016a41106a2902002209370300200741306a41106a200741d8016a41186a2902002215370300200741306a41186a200741f8016a2902002216370300200741106a41086a2009370300200741106a41106a2015370300200741106a41186a2016370300200720072902e00122093703302007200937031020072802dc01210d0c060b2012200e41c8ccc28000108281808000000b02400240200428020422080d0020042802082101200741d0016a200441246a280200360200200741c8016a2004411c6a290200370300200741c0016a200441146a2902003703002007200429020c3703b8010c010b20082008280200220141016a36020020014100480d0820042802082101200741d0016a200441246a290200370300200741c8016a2004411c6a290200370300200741c0016a200441146a2902003703002007200429020c3703b8010b200741b4026a200741b8016a41086a290300370200200741bc026a200741b8016a41106a290300370200200741c4026a200741b8016a41186a290300370200200720013602a802200720083602a402200720072903b8013702ac022007200636029802200720053602940220072003360290022007200236028c02200741003a00880220072007290350370280022007200728025c220441306a22083602cc022007200428020422013602a00220072004280200220436029c02200741d8016a200741a4026a20074180026a200220032005200620042001200810f68180800020072802d8012201450d0b200741306a41086a200741d8016a41106a290200370300200741306a41106a200741d8016a41186a290200370300200741306a41186a200741f8016a290200370300200720072902e00137033020072802dc01210d0c020b0c010b02400240200428020822080d00200428020c2101200741b8016a41186a200441286a280200360200200741c8016a200441206a290200370300200741c0016a200441186a290200370300200720042902103703b8010c010b20082008280200220141016a36020020014100480d06200428020c2101200741b8016a41186a200441286a290200370300200741c8016a200441206a290200370300200741c0016a200441186a290200370300200720042902103703b8010b200741b4026a200741b8016a41086a290300370200200741bc026a200741b8016a41106a290300370200200741c4026a200741b8016a41186a290300370200200720013602a802200720083602a402200720072903b8013702ac022007200636029802200720053602940220072003360290022007200236028c02200741003a00880220072007290350370280022007200728025c220441306a22083602cc022007200428020422013602a00220072004280200220436029c02200741d8016a200741a4026a20074180026a200220032005200620042001200810f68180800020072802d8012201450d09200741306a41086a200741d8016a41106a290200370300200741306a41106a200741d8016a41186a290200370300200741306a41186a200741f8016a290200370300200720072902e00137033020072802dc01210d0b200741106a41086a200741306a41086a290300370300200741106a41106a200741306a41106a290300370300200741106a41186a200741306a41186a2903003703002007200729033037031020010d010b41002101410021040c010b20012001280200220441016a36020020044100480d0220074199026a200741286a29030037000020074191026a200741206a29030037000020074189026a200741186a29030037000020072007290310370081022007200d3602dc01200720013602d80103402001280204210403402004417f460d012004417f4c0d032001200441016a2001280204220820082004461b360204200820044721122008210420120d000b0b20072802dc012104200120012802002208417f6a360200024020084101470d00200741d8016a10f0978080000b200720043602a802200720013602a402410221040b200720043a00800220052002200320074180026a2006280210118380808000002000200d36020820002001360204410021040c080b41c8e8cd800041c0e9cd800010ef978080000b000b200820046a21080b20072008360268200720072802900120046a36029001024020122d0000450d00201228020421040c010b0b201241096a2900002109201241116a290000211520122900012116200a201241196a290000370300200b2015370300200c2009370300200720163703700c010b0b20072802dc0121040b20002004360204410121040b20002004360200200741d0026a2480808080000be92804037f017e1e7f017e23808080800041d0046b22052480808080002001280228210620014100360228024002400240024002400240024002400240024002400240024002400240024002402006450d00200128022c2107200541f0006a41306a200141306a2902002208370300200541f0006a41286a200141286a290200370300200541f0006a41206a200141206a290200370300200541f0006a41186a200141186a290200370300200541f0006a41106a200141106a290200370300200541f0006a41086a200141086a290200370300200520012902003703704101210902400240024002400240024002402008a7220a450d000240200a2002200320052802a4012802101180808080000041ff01710e03010002010b410021090b200620022003200728020c11808080800000220b0d010b200541cc026a200420022003200541f0006a2006200710fd8180800020052802d002210c20052802cc020d010c120b418080808078210d200b2d00000e03130201130b20004181808080783602002000200c3602040c130b200b280224220c417f460d01200b41016a210e200c280200210103402001450d022001417f4c0d04200c200141016a200c280200220f200f200146220d1b360200200f2101200d450d000b200b280228210d200a450d102009200d412149720d1020052802a4012101200541f8026a200e41186a290000370200200541f0026a200e41106a290000370200200541e8026a200e41086a290000370200200520033602dc02200520023602d8022005200d3602d4022005200c41086a3602d00220054180808080783602cc022005200e2900003702e002200a200541cc026a200128020c118b80808000000c100b200541e8026a200b41196a290000370200200541e0026a200b41116a290000370200200541d8026a200b41096a290000370200200541003602cc022005200b2900013702d002200541003a005820052004290200370250200541086a200541cc026a200541d0006a200220032006200728021420052802702005280274200a20052802a40110f781808000200528020c210d2005280208220c450d0d20054198046a41186a220f200541286a29020037030020054198046a41106a2204200541086a41186a290200370300200541a0046a220b200541086a41106a2902003703002005200529021037039804200c200c280200220141016a360200024020014100480d00200541e5026a200f290300370000200541dd026a2004290300370000200541d5026a200b29030037000020052005290398043700cd022005200d36020c2005200c3602080340200c280204210103402001417f460d012001417f4c0d06200c200141016a200c280204220f200f2001461b360204200f2001472104200f210120040d000b0b200528020c2101200c200c280200220f417f6a3602000240200f4101470d00200541086a10f0978080000b200520013602f4022005200c3602f002200541023a00cc02200620022003200541cc026a2007280210118380808000000c100b000b200541cc026a200420022003200541f0006a2006200710fd8180800020052802d002210c20052802cc02450d0d20004181808080783602002000200c3602040c100b200541086a41306a2210200141306a290200370300200541086a41286a200141286a290200370300200541086a41206a200141206a220c290200370300200541086a41186a200141186a220f290200370300200541086a41106a200141106a2206290200370300200541086a41086a200141086a220d29020037030020052001290200370308200541c0006a41086a200441086a22072802002201360200200520042902002208370340200541d0006a41186a2211200c290000370300200541d0006a41106a2212200f290000370300200541d0006a41086a221320062900003703002005200d29000037035020052802442214410174211520072802002116200541d0006a4107722117200541f0006a41186a2118200541f0006a410c6a21192005418c016a2109200541f0006a41106a2106200541f0006a41046a211a2008a7211b2004280204211c2004280200211d2010280200211e200528023c211f200528020c21202005280208212141002122410021070340200720166a220f410176210c02400240200f4101710d00200c201c4b0d05200541003a00782005200c3602742005201d3602700c010b200c201c4b0d05200c201c4f0d06200541013a00782005201d3602702005200c3602742005201d200c6a2d000041f001713a00790b20054198046a2021200541d0006a200541f0006a202028020c11838080800000024002402005280298042223418080808078460d0020052802a004210c200528029c0421240240201e450d0020062005290350370000200641186a2011290300370000200641106a2012290300370000200641086a20132903003700002005200c36027c200520243602782005428280808088808080807f370270201e200541f0006a201f28020c118b80808000000b200541f0006a2024200c108c828080002005280270220d4107460d0b202241016a21220c010b200541f0006a41186a220c200541d0006a41186a290300370300200541f0006a41106a220f200541d0006a41106a290300370300200541f0006a41086a2204200541d0006a41086a2903003703002005200529035037037041002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22066a220141858080807841848080807820221b360200200120052903703702042001417e6a20063b00002001410c6a2004290300370200200141146a200f2903003702002001411c6a200c2903003702002000418180808078360200200020013602040c120b4104413010ab80808000000b0240024002400340200541f0036a41086a220a200641086a2225280200360200200520062902003703f003200528027c21042005280278210c2005280274210f200541cc026a200941a40110f4978080001a20052902b802210820052802b402212620052802b002210e0240024002400240200d417d6a220b4104200b4104491b0e05100f000102100b20052802f403210b20052802f803210a0240200541c0006a200541f0036a10e697808000220d200b410174200a6b460d000240201e450d00200528023c210120052003360278200520023602742005418680808078360270201e200541f0006a200128020c118b80808000000b20004180808080783602000c120b20052001200d6a22013602480c020b201920052903f003370200201941086a200a280200360200200520043602782005200c3602742005200f3602702018200541cc026a41a40110f4978080001a2005200e3602ac0202400240024020152001460d002001410176220c20144f0d01200541f0006a201b200c6a2d0000220c410f71200c41047620014101711b410c6c6a220c280200220f4102460d024101210d2005200141016a2201360248200c2802082104200c280204210c0c040b0240024020264102460d00200520103602c004200520203602bc04200520213602b804200520033602b404200520023602b004200541003a00ac042005201c3602a8042005201d3602a4042005200837029c0420052026360298042005418c046a20054198046a200541a4046a2002200320212020201010f881808000200528028c04418080808078470d01200020052802900436020420004181808080783602000c140b0240201e450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201e20054198046a200128020c118b80808000000b20004180808080783602000c130b2000200529028c04370200200041086a2005418c046a41086a2802003602000c120b200c201441c8ccc28000108281808000000b0240201e450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201e20054198046a200128020c118b80808000000b20004180808080783602000c100b20052902c0022127200520084220883e0280042005202737028404200620052903f0033702002025200a2802003602002005200436027c2005200c3602782005200f3602742005200d3602702009200541cc026a41a40110f4978080001a0240200541c0006a20054180046a10e697808000220c2027a74101742027422088a76b460d000240201e450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201e20054198046a200128020c118b80808000000b20004180808080783602000c100b201520016b200c460d042001200c6a2204410176220f20144f0d0b200541f0006a201b200f6a2d0000220f410f71200f41047620044101711b410c6c6a220b280200220f4102460d0220052001200c41016a220d6a2201360248200b2802082104200b280204210c0b200d20076a2107200f410171450d02200541f0006a200c2004108c828080002005280270220d4107460d0d0c000b0b0240201e450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201e20054198046a200128020c118b80808000000b20004180808080783602000c0c0b024020044120460d004100210102400240024020044100480d00024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441eccfc2800010b980808000000b2001417e6a41003b00000b2001200c200410f497808000210c41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b220f6a2201200436020c2001200c3602082001200436020420014188808080783602002001417e6a200f3b000020004181808080783602002000200136020420012005290350370010200141186a200541d8006a290300370000200141206a200541e0006a290300370000200141286a200541d0006a41186a2903003700000c0d0b4104413010ab80808000000b200c41026a2d0000210f200c410f6a2900002108200c41176a2900002127200c411f6a2d00002104200c2f0000210d200c280003210b2017200c290007370000201741186a20043a0000201741106a2027370000201741086a20083700002005200b3600532005200f3a00522005200d3b01502023450d0120242024417e6a2f00006b41002802ec82d48000118180808000000c010b0b02400240200e4102460d00200520103602c004200520203602bc04200520213602b804200520033602b404200520023602b004200541003a00ac042005201c3602a8042005201d3602a404200520083e02a0042005202636029c042005200e360298042005418c046a20054198046a200541a4046a2002200320212020201010f881808000200528028c04418080808078470d01200020052802900436020420004181808080783602000c0b0b0240201e450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201e20054198046a200128020c118b80808000000b20004180808080783602000c0a0b2000200529028c04370200200041086a2005418c046a41086a2802003602000c090b41c8e8cd800041d8e9cd800010ef97808000000b41c8e8cd800041c0e9cd800010ef97808000000b200c201c41fce4cd8000109181808000000b200c201c418ce5cd8000109181808000000b200c201c419ce5cd8000108281808000000b200f201441c8ccc28000108281808000000b0240024020052802f40341017420052802f8036b201520016b2201470d00200541f0036a200541c0006a10e6978080002001460d010b0240201e450d00200528023c210120052003360278200520023602742005418680808078360270201e200541f0006a200128020c118b80808000000b20004180808080783602000c030b2005201036029801200520203602940120052021360290012005200336028c012005200236028801200541003a0084012005201c360280012005201d36027c200520043602782005200c3602742005200f36027020054198046a200541f0006a200541fc006a2002200320212020201010f8818080000240200528029804418080808078470d002000200528029c0436020420004181808080783602000c030b2000200529029804370200200041086a20054198046a41086a2802003602000c020b0240201e450d00200528023c210120052003360278200520023602742005418680808078360270201e200541f0006a200128020c118b80808000000b20004180808080783602000c010b20054198046a41086a220c201a41086a29020037030020054198046a41186a220f200541d0006a41086a29030037030020054198046a41206a2204200541d0006a41106a29030037030020054198046a41286a2206200541d0006a41186a290300370300200520052903503703a8042005201a2902003703980441002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b220d6a22012005290398043702002001417e6a200d3b0000200141086a200c290300370200200141106a20054198046a41106a290300370200200141186a200f290300370200200141206a2004290300370200200141286a20062903003702002000418180808078360200200020013602040b2023450d0520242024417e6a2f00006b41002802ec82d48000118180808000000c050b4104413010ab80808000000b20004181808080783602002000200d3602040c030b20052802d402210d200c0d00418080808078210d0c010b2005200c3602cc022005200d3602d00241002101024002400240200d4100480d0041012101200d450d0241002d008083d480001a200d41002802f482d480001182808080000022010d01410121010b2001200d41bcf2c2800010b980808000000b2001417e6a41003b00000b2001200c41086a200d10f4978080002101200c200c280200220f417f6a3602000240200f4101470d00200541cc026a10f0978080000b200dad4220862001ad8421080b200020083702042000200d3602000b200541d0046a2480808080000bc50601097f23808080800041d0006b2205248080808000200520012002200310e7828080000240024020052802002201418180808078470d0041022103410021020c010b024002402001418080808078460d0020052f0005200541076a2d00004110747241087420052d00047221064102210302400240200528020822024104490d002002417c7122074104460d0020074108460d002007410c460d0020074110460d002002416c6a2207450d00200628000021022006280004210820062800082109200628000c210a2006280010210b0240024020062d0014220c0e020100020b20074121490d01200541186a200641156a220341186a290000370300200541106a200341106a290000370300200541086a200341086a290000370300200520032900003703000b200541286a41186a200541186a290300370300200541286a41106a200541106a290300370300200541286a41086a200541086a29030037030020052005290300370328200241087621074100210d200c21030c010b4101210d410121020b02402001450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b0240200d450d00410221030c030b20034102460d002005411f6a200541286a411f6a280000360000200541186a200541286a41186a290300370300200541106a200541286a41106a290300370300200541086a200541286a41086a290300370300200520052903283703000c010b200541086a2004411d6a290000370300200541106a200441256a290000370300200541186a2004412d6a2900003703002005411f6a200441346a28000036000020052004290015370300410221024102210320042d001422014102460d0120042f0001200441036a2d00004110747221072004280210210b200428020c210a200428020821092004280204210820042d00002102200121030b200020073b00012000200b3602102000200a36020c200020093602082000200836020420002005290300370015200041036a20074110763a00002000411d6a200541086a290300370000200041256a200541106a2903003700002000412d6a200541186a290300370000200041346a2005411f6a2800003600000b200020033a0014200020023a0000200541d0006a2480808080000bd70302027f047e23808080800041206b22052480808080002005410c6a20012002200310e782808000024002400240200528020c2203418180808078470d00410021030c010b0240024002402003418080808078460d00200541136a2d0000210220052f0011210120052d001021062005200528021436021c2005200620012002411074724108747222013602182005410c6a200541186a10f481808000200541156a3300002107200541176a3100002108200535001121092005310010210a200528020c210202402003450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b410121032002418080808078460d032009200842308620074220868484420886200a842107200428020041808080807872418080808078460d01200428020422042004417e6a2f00006b41002802ec82d48000118180808000000c010b20042802002202418080808078460d01200429020421070b20002007370204200020023602000c020b2000418080808078360200200041023a00040c010b2000418080808078360200200020033a000420042802002200418080808078460d002000450d00200428020422002000417e6a2f00006b41002802ec82d48000118180808000000b200541206a2480808080000be50502027f027e2380808080004180026b2204248080808000200441e0016a41086a2205200341086a280200360200200420032902003703e0012004200441e0016a109182808000200310ce82808000024002402002200441206a412010f597808000450d00200441e0016a41186a200241186a290000370300200441e0016a41106a200241106a2900003703002005200241086a290000370300200420022900003703e00102402004200441e0016a108f828080002203450d00200328022c41004a0d010b200041808080807836028802200041003a0000024020042802042201450d000240200428020c2205450d002004280200220041086a21022000290300427f8542808182848890a0c0807f8321060340024020064200520d000340200041807d6a210020022903002106200241086a22032102200642808182848890a0c0807f83220642808182848890a0c0807f510d000b200642808182848890a0c0807f852106200321020b2006427f7c210702402000410020067aa74103766b41306c6a220341706a280200450d00200341746a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200720068321062005417f6a22050d000b0b2001200141306c41376a41707122026a4177460d00200428020020026b22022002417e6a2f00006b41002802ec82d48000118180808000000b2004280240450d01200428024422022002417e6a2f00006b41002802ec82d48000118180808000000c010b20044190016a200441d00010f4978080001a200441d0006a41206a41fccfc28000410141002802c480d48000118680808000002000428080808080808080807f370300200441d0006a41186a200241186a290000370300200441d0006a41106a200241106a290000370300200441d0006a41086a200241086a2900003703002004200229000037035020004188016a200441d0006a41900110f4978080001a200020013602a002200041003b0198020b20044180026a2480808080000b862605127f017e017f047e087f23808080800041d0016b220324808080800020012802a00221044100210520034180016a41002900d095cb8000370300200341e8006a41106a41002900c895cb8000370300200341e8006a41086a41002900c095cb8000370300200341002900b895cb80003703682003200436020c200341186a2003410c6a410441002802e480d480001186808080000020032003410c6a41046a36023c2003200341186a41086a360234200320034188016a36022c2003410136022420032003410c6a3602382003200341186a3602302003200341e8006a360228200341dc006a200341246a418094cb8000108c92808000200341246a200120032802602204200328026410e782808000024002400240024020032802242206418180808078460d002006418080808078460d0120032f00292003412b6a2d00004110747241087420032d002872210702400240200328022c220841204f0d00410121050c010b200341186a41086a2007410d6a2f00003b0100200341e8006a41086a200741176a290000370300200341f8006a2007411f6a2d00003a0000200320072900053703182003200729000f37036820072d0004210920072d0003210a20072f0001210b20072d000021050b02402006450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b20084120490d00200341b8016a41086a200341186a41086a2f01003b0100200341a0016a41086a200341e8006a41086a290300370300200341a0016a41106a200341e8006a41106a2d00003a0000200320032903183703b801200320032903683703a0010c020b200020053a0005200041073a00042000418080808078360200200328025c450d0220042004417e6a2f00006b41002802ec82d48000118180808000000c020b4100210b200341b8016a41086a41003b0100200341a0016a41086a4200370300200341b0016a41003a0000200342003703b801200342003703a0014100210a41002109410021050b0240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20012802a002210641002d008083d480001a02400240412c41002802f482d48000118280808000002204450d00200420063600282004417e6a220641003b0000200441002900b094cb8000370000200441086a41002900b894cb8000370000200441106a41002900c094cb8000370000200441186a41002900c894cb8000370000200441206a41002900d094cb8000370000200341e8006a20012004412c10e7828080000240024020032802682207418180808078470d004100210c4101210d41002108410121070c010b024002402007418080808078470d004100210c410221084101210d0c010b20032f006d200341ef006a2d00004110747241087420032d006c72210d02400240200328027022084104492008417c7141044672220c450d004100210e0c010b200d280004210e200d28000021080b02402007450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b0240200c450d004101210d4100210c41012108410121070c020b200841807e71210c4100210d0b410021070b200420062f00006b41002802ec82d480001181808080000002402007450d00200020083a0005200041083a000420004180808080783602000c030b02400240200d0d00200c200841ff017172210f0c010b20012802a00221044100210620034180016a41002900a894cb8000370300200341e8006a41106a41002900a094cb8000370300200341e8006a41086a410029009894cb80003703002003410029009094cb80003703682003200436020c200341186a2003410c6a410441002802e480d480001186808080000020032003410c6a41046a36023c2003200341186a41086a360234200320034188016a36022c2003410136022420032003410c6a3602382003200341186a3602302003200341e8006a360228200341dc006a200341246a418094cb8000108c92808000200341e8006a200120032802602204200328026410e78280800002400240024020032802682207418180808078470d00410021070c010b410021082007418080808078460d0120032f006d200341ef006a2d00004110747241087420032d006c72210d02402003280270220c410449200c417c7141044672220c0d00200d2800042106200d28000021080b02402007450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b41012107200c450d010b200020073a0005200041083a00042000418080808078360200200328025c450d0420042004417e6a2f00006b41002802ec82d48000118180808000000c040b0240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b41002002280214220420066b2206200620044b1b210e41002002280210220420086b2206200620044b1b210f0b20012802a002210420034180016a410029009095cb8000370300200341f8006a410029008895cb8000370300200341e8006a41086a410029008095cb8000370300200341002900f894cb8000370368200320043602c8012003410c6a200341c8016a410441002802e480d48000118680808000002003200341c8016a41046a36023c20032003410c6a41086a360234200320034188016a36022c200341013602242003200341c8016a36023820032003410c6a3602302003200341e8006a360228200341dc006a200341246a418094cb8000108c9280800020032802602104200328026421062003410036027020034280808080c000370268200341186a200120042006200341e8006a108082808000024020032802182210418080808078470d00200020032d001c3a0005200041093a00042000418080808078360200200328025c450d0320042004417e6a2f00006b41002802ec82d48000118180808000000c030b20032802202106200328021c21110240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20012802a002210420034180016a41002900b095cb8000370300200341f8006a41002900a895cb8000370300200341e8006a41086a41002900a095cb80003703002003410029009895cb8000370368200320043602c8012003410c6a200341c8016a410441002802e480d48000118680808000002003200341c8016a41046a36023c20032003410c6a41086a360234200320034188016a36022c200341013602242003200341c8016a36023820032003410c6a3602302003200341e8006a360228200341dc006a200341246a418094cb8000108c9280800020032802602104200328026421072003410036027020034280808080c000370268200341186a200120042007200341e8006a108082808000024020032802182212418080808078470d00200020032d001c3a00052000410a3a000420004180808080783602000240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2010450d0320112011417e6a2f00006b41002802ec82d48000118180808000000c030b20032802202113200328021c21140240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2006ad423c7e2215a72104410021070240024002402015422088a70d00200441fcffffff074b0d00024020040d0041042104410021070c030b41002d008083d480001a200441002802f482d480001182808080000022070d01410421070b2007200441e4d0c2800010b980808000000b2007200741036a417c71220420076b22026a417e6a20023b0000200621070b20034100360214200320043602102003200736020c2006450d0120064102742116200341396a210641002900f094cb80002117200341e8006a41186a210241002900e894cb80002118200341e8006a41106a210841002900e094cb80002119200341e8006a41086a210d41002900d894cb8000211a2011210c0340200c2802002107200320012802a00236021c200320073602182002201737030020082018370300200d20193703002003201a370368200341dc006a200341186a200341e8006a109692808000200328026021042003280264211b200341023a007c200341246a20012004201b200341e8006a10ff8180800020032d0024211c024020032d0038221d4102470d00200020012802a00236020c200020073602082000201c3a00052000410b3a000420004180808080783602000240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402010450d0020112011417e6a2f00006b41002802ec82d48000118180808000000b0240200328020c450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b2012450d0420142014417e6a2f00006b41002802ec82d48000118180808000000c040b20032902302115200328022c211e2003280228211f20032f0126212020032d00252121200341e8006a411f6a22222006411f6a2800003600002002200641186a2900003703002008200641106a290000370300200d200641086a290000370300200320062900003703680240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402003280214221b200328020c470d002003410c6a4194d1c2800010eb828080000b200c41046a210c2003280210201b413c6c6a2204201d3a0018200420153702102004201e36020c2004201f360208200420203b0106200420213a00052004201c3a00042004200736020020042003290368370019200441216a200d290300370000200441296a2008290300370000200441316a2002290300370000200441386a20222800003600002003201b41016a3602142016417c6a22160d000c020b0b4101412c10ab80808000000b02402010450d0020112011417e6a2f00006b41002802ec82d48000118180808000000b2013ad423c7e2215a72104410021060240024002402015422088a70d00200441fcffffff074b0d00024020040d0041042104410021060c030b41002d008083d480001a200441002802f482d480001182808080000022060d01410421060b2006200441f4d0c2800010b980808000000b2006200641036a417c71220420066b22076a417e6a20073b0000201321060b200341003602202003200436021c2003200636021802402013450d0020134102742116200341396a210641002900f094cb80002117200341e8006a41186a210741002900e894cb80002118200341e8006a41106a210241002900e094cb80002119200341e8006a41086a210841002900d894cb8000211a2014210d034020012802a00221042003200d280200221b3602cc01200320043602c8012007201737030020022018370300200820193703002003201a370368200341dc006a200341c8016a200341e8006a109692808000200328026021042003280264210c200341023a007c200341246a20012004200c200341e8006a10ff8180800020032d0024211c024020032d0038221d4102470d0020012802a00221012000201b36020c200020013602082000201c3a00052000410b3a000420004180808080783602000240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402012450d0020142014417e6a2f00006b41002802ec82d48000118180808000000b02402003280218450d00200328021c22012001417e6a2f00006b41002802ec82d48000118180808000000b200328020c450d03200328021022012001417e6a2f00006b41002802ec82d48000118180808000000c030b20032902302115200328022c211e2003280228211f20032f0126212020032d00252121200341e8006a411f6a22222006411f6a2800003600002007200641186a2900003703002002200641106a2900003703002008200641086a290000370300200320062900003703680240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402003280220220c2003280218470d00200341186a4184d1c2800010eb828080000b200d41046a210d200328021c200c413c6c6a2204201d3a0018200420153702102004201e36020c2004201f360208200420203b0106200420213a00052004201c3a00042004201b36020020042003290368370019200441216a2008290300370000200441296a2002290300370000200441316a2007290300370000200441386a20222800003600002003200c41016a3602202016417c6a22160d000b0b02402012450d0020142014417e6a2f00006b41002802ec82d48000118180808000000b200020032903b80137001d200020032903a001370027200341e8006a41086a22012003410c6a41086a280200360200200341fc006a200341186a41086a280200360200200041256a200341b8016a41086a2f01003b00002000412f6a200341a0016a41086a290300370000200041376a200341a0016a41106a2d00003a00002003200329020c37036820032003290218370274200020053a00182000200b3b00192000200a3a001b200020093a001c2000200e36023c2000200f360238200041106a200341e8006a41106a290300370200200041086a2001290300370200200020032903683702000b200341d0016a2480808080000bc90402057f047e23808080800041e0006b220224808080800020012802a002210341002104200241306a41002900f892cb8000370300200241186a41106a41002900f092cb8000370300200241186a41086a41002900e892cb8000370300200241002900e092cb800037031820022003360238200241d8006a200241386a410441002802e480d48000118680808000002002200241386a41046a3602542002200241d8006a41086a36024c2002200241386a3602442002410136023c2002200241386a3602502002200241d8006a3602482002200241186a3602402002410c6a2002413c6a418094cb8000108c92808000200241186a200120022802102203200228021410e78280800002400240024020022802182201418180808078460d0002402001418080808078470d00410221040c010b2002411f6a2d0000210420022f001d210520022d001c21062002200228022036024020022006200520044110747241087472220536023c200241186a2002413c6a10f581808000200241216a3300002107200241236a3100002108200235001d2109200231001c210a2002280218210402402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b2004418080808078470d01410121040b200020043a00052000410c3a0004410121010c010b2000200436020420002009200842308620074220868484420886200a84370208410021010b200020013602000240200228020c450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241e0006a2480808080000b820401067f23808080800041e0006b220224808080800020012802a002210341002104200241306a41002900f095cb8000370300200241186a41106a41002900e895cb8000370300200241186a41086a41002900e095cb8000370300200241002900d895cb800037031820022003360238200241d8006a200241386a410441002802e480d48000118680808000002002200241386a41046a3602542002200241d8006a41086a36024c2002200241386a3602442002410136023c2002200241386a3602502002200241d8006a3602482002200241186a3602402002410c6a2002413c6a418094cb8000108c92808000200241186a200120022802102203200228021410e7828080000240024020022802182201418180808078460d004102210502402001418080808078460d0020022f001d2002411f6a2d00004110747241087420022d001c72210602400240200228022022050d000c010b20062d000021070b4101210420054541014102200741ff017122054101461b410020051b220541ff017141024672210702402001450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20070d010b2000410f3a0000200020053a00010c010b200020043a0001200041043a00000b0240200228020c450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241e0006a2480808080000be60301047f23808080800041e0006b220224808080800020012802a002210341002104200241306a410029009096cb8000370300200241186a41106a410029008896cb8000370300200241186a41086a410029008096cb8000370300200241002900f895cb800037031820022003360238200241d8006a200241386a410441002802e480d48000118680808000002002200241386a41046a3602542002200241d8006a41086a36024c2002200241386a3602442002410136023c2002200241386a3602502002200241d8006a3602482002200241186a3602402002410c6a2002413c6a418094cb8000108c92808000200241186a200120022802102203200228021410e7828080000240024020022802182201418180808078460d0002402001418080808078460d0020022f001d2002411f6a2d00004110747241087420022d001c7221040240024020022802200d00410121050c010b20042d000041004721050b02402001450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b4101210420050d010b2000410f3a000020002001418080808078473a00010c010b200020043a0001200041053a00000b0240200228020c450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241e0006a2480808080000bf30503057f017e027f23808080800041d0006b2201248080808000200141286a41e4d1c2800041234187d2c2800041354104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141c0006a41086a220841013602002007420437022c2007420337022420074194d7c280003602202007410f36021c200741c5d8c28000360218200741bb80808000360210200120012902103703400240200828020022072001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200741386c22086a2207420437022c2007420337022420074194d7c280003602202007410e36021c200741d4d8c28000360218200741bb80808000360210200742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc133703002001280244210720012001280240360248200120073602402001200720086a41386a36024c20012007360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000ba80804057f017e037f017e23808080800041d0006b2201248080808000200141286a41bcd2c2800041164187d2c2800041354104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a22074100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220842ec8ca7e0e2f0c7e6bf7f370308200842e6e2dea393f0baf43a370300200141c0006a41086a220941013602002008420437022c20084211370224200841eed8c280003602202008410c36021c200841e2d8c28000360218200841bc80808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200941386c6a2208420437022c20084223370224200841a6d9c280003602202008412736021c200841ffd8c28000360218200841bd80808000360210200842b9f1ce80eeb88293b07f370308200842c4dabada959dcfb3603703002007200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41d8d5c2800010b5928080000b2001280214200941386c6a2208420437022c20084222370224200841d9d9c280003602202008411036021c200841c9d9c28000360218200841be808080003602102008429c9de6d685dab187c600370308200842ccccc7ebb1e3b6dfe400370300200141c8006a200941016a220836020020012001290310220a37034002402008200aa7470d00200141c0006a41d8d5c2800010b5928080000b2001280244200841386c22096a2208420437022c20084222370224200841d9d9c280003602202008410f36021c200841fbd9c28000360218200841be808080003602102008429c9de6d685dab187c600370308200842ccccc7ebb1e3b6dfe4003703002001280244210820012001280240360248200120083602402001200820096a41386a36024c20012008360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000ba90203037f017e027f2380808080004180206b220324808080800002400240200141aad828200141aad828491b2204200120014101766b2205200420054b1b220441d602490d002004ad420c7e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541c4c9c2800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210898280800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341d502200141c1004920021089828080000b20034180206a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041746a210b200041186a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410c6c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201328020c221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d032018410c6a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d022018410c6a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b2015410c6c20126a6a21140340201328020021162013201428020036020020142016360200201341046a221629020021072016201441046a221929020037020020192007370200201441746a21142013410c6a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510c182808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d410c6c22136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b410c6c6a210e024020134101710d00200e201820022003201841017267410174413e734100200510c1828080000b20094101710d01200e2018410c6c6a201620022003201641017267410174413e734100200510c1828080000c010b201741017421090c010b024020094102490d0020134102490d00200320162018201620184922141b2213490d002002200e2018410c6c6a2209200e20141b2013410c6c221410f497808000221c20146a2114024002400240201620184f0d00201a211303402013200941746a2209201441746a221420142802002218200928020022164922191b2212290200370200201341086a201241086a28020036020020142019410c6c6a21142009201820164f410c6c6a2209200e460d02201341746a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a280200360200200e410c6a210e2013201820164f410c6c6a22132014460d0220092012410c6c6a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10f4978080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c1828080000b200641d0026a2480808080000ba90203037f017e027f2380808080004180206b22032480808080000240024020014180b51820014180b518491b2204200120014101766b2205200420054b1b220441cd01490d002004ad42147e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541c4c9c2800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c100492002108b8280800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341cc01200141c100492002108b828080000b20034180206a2480808080000bf20b03017f027e127f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b2000416c6a210b200041386a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41146c22126a210f024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240200f2802142215200f28020049200f41246a2802002216200f41106a28020022174920162017461b22180d004102211420134102460d04200c20126a2117410221140340201741706a28020022192015492017280200221520164920152016461b0d03201741146a211720152116201921152013201441016a2214470d000c020b0b410221144101211920134102460d02200c20126a2117410221140340201741706a28020022192015492017280200221520164920152016461b4101470d02201741146a211720152116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621190b200b201441146c6a2115200021170340201720126a221641086a220f2902002107200f201520126a221341086a221829020037020020182007370200201629020021072016201329020037020020132007370200201341106a2213280200210f2013201641106a22162802003602002016200f3602002015416c6a2115201741146a21172019417f6a22190d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b200f2013412020134120491b22162002200341004100200510c082808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41146c22166a211a200020166a211803402006418e026a200e417f6a22126a2d0000200f490d010240024002400240200641046a20124102746a280200220e4101762215200941017622176a221420034b0d00200e200972410171450d010b2000200d20146b41146c6a21160240200e4101710d002016201520022003201541017267410174413e734100200510c0828080000b20094101710d012016201541146c6a201720022003201741017267410174413e734100200510c0828080000c010b201441017421090c010b024020094102490d00200e4102490d00200320172015201720154922131b220e490d0020022016201541146c6a2209201620131b200e41146c221310f497808000221920136a2113024002400240201720154f0d00201a210e0340200e2009416c6a22152013416c6a221720172802002015280200492013417c6a28020022132009417c6a28020022094920132009461b22091b2213290200370200200e41086a201341086a290200370200200e41106a201341106a2802003602002017200941146c6a21132015200941017341146c6a22092016460d02200e416c6a210e20132019470d000c020b0b0240200e0d002019210e0c020b2019210e034020162009200e2009280200200e28020049200941106a2802002215200e41106a28020022174920152017461b22171b2215290200370200201641086a201541086a290200370200201641106a201541106a280200360200201641146a2116200e201741017341146c6a220e2013460d022009201741146c6a22092018470d000c020b0b200921162019210e0b2016200e2013200e6b10f4978080001a0b201441017441017221090b410121162012210e201241014b0d000c020b0b200e21160b2006418e026a20166a200f3a0000200641046a20164102746a200936020002402011450d00201641016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c0828080000b200641d0026a2480808080000b9d0905047f017e027f017e087f23808080800041b0036b220324808080800041002104200341003602ac03200320023602a803200320013602a4032003411c6a200341a4036a10c3828080002003280220210520032d001d21064281808080082107024002400240024020032d001c2208417d6a0e03000002010b410121040b410321094200210a02400240024002400240024002400240024020080e050701020002070b410121060b4280808080082107200220032802ac03220b41016a490d072005410171220c0d010c040b4280808080082107200220032802ac03220d41016a490d062005410171220e0d010c020b0240200b20024f0d002001200b6a2d00004110490d030c060b200b200241a8d3c28000108281808000000b0240200d20024f0d002001200d6a2d00004110490d010c050b200d200241c8d3c28000108281808000000b2005410176200e6a200d6a220f20032802a80322084b0d022003200f3602ac03024020040d00200341106a200341a4036a10aa8280800020032802104101710d03428180808008210720032802ac03221020032802146a221120032802a8034b0d04410421090c020b4281808080082107200f41206a221120084b0d03410421094201210a200f21100c010b2005410176200c6a200b6a221220032802a80322084b0d01201241026a220520084b0d01200320053602ac03024002400240024002402012417d4b0d00200520024b0d01200120126a2f0000220f450d06410221092006410171450d04024020040d00200341086a200341a4036a10aa8280800020032802084101710d0720032802ac032205200328020c6a220420032802a8034b0d07410021090c040b201241226a220420084d0d020c060b2012200541b8d3c28000109581808000000b2005200241b8d3c28000109181808000000b410121090b200320043602ac032004ad4220862005ad8421070b200341023602d001200341023602c401200341023602b801200341023602ac01200341023602a001200341023602940120034102360288012003410236027c2003410236027020034102360264200341023602582003410236024c2003410236024020034102360234200341023602282003410236021c410021042003411c6a210803400240200f200441ffff037176410171450d002003200341a4036a10aa8280800020032802004101710d0320032802ac03220d2003280204220e6a220520032802a8034b0d03200841086a2005360200200841046a200d3602002008200e412047360200200320053602ac030b2008410c6a2108200441016a22044110470d000b2003280228210e2003280224210f2003280220210d200328021c2111200341f4016a2003412c6a41b00110f4978080001a200742ffffffff0f83210a2007422088a721100b2003200e3602342003200f3602302003200d36022c200320113602282003200936021c20032010ad422086200a84370220200341386a200341f4016a41b00110f4978080001a2003200c3602f001200320123602ec012003200b3602e80120002003411c6a2001200210df978080000c020b42818080800821070b20004107360200200020073702040b200341b0036a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41d8d5c2800010b5928080002004280208220542bca38dd6aec8d4ff043703002005410036023020054280808080c0003703282005410036022020054100360218200541bf80808000360210200542e2fdfabeb18d8d864a37030820042802042106200428020821070240200128020822082001280200470d00200141b8d4c2800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bd90201017f0240024002402002200141206a412010f597808000450d00418080808078210420012002108f8280800022010d010c020b4100210202400240200128024822044100480d0020012802442102024020040d004101210141012002200410f4978080001a0c040b41002d008083d480001a200441002802f482d480001182808080000022010d01410121020b2002200441d4c9c2800010b980808000000b2001417e6a41003b000020012002200410f4978080001a0c010b0240200128022c41014e0d000c010b41002102024002400240200128022822044100480d0020012802242102024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121020b2002200441d4c9c2800010b980808000000b2001417e6a41003b00000b20012002200410f4978080001a0b2000200436020820002001360204200020043602000bc80406037e017f037e017f017e037f0240200028020c0d0041000f0b410029039083d480002102410029038883d48000210320002903102104024020002802182205450d002005290008200285220642208822072005290000200442308985220442208822087e200642ffffffff0f832206200442ffffffff0f8322047e85200620087e200720047e854220898521040b20002802042209200129001020038522064220882207200129000020044220892204852208422088220a7e200642ffffffff0f832206200842ffffffff0f8322087e852006200a7e200720087e85422089852001290018200385220342208822062001290008200420027c85220442208822027e200342ffffffff0f832203200442ffffffff0f8322047e85200320027e200620047e854220898585220442208822034288d5fda1027e200442ffffffff0f83220442d3918cad087e85200342d3918cad087e20044288d5fda1027e85422088852204a7712105200442198842ff0083428182848890a0c080017e21022000280200220b41506a21004100210c0240024003400240200b20056a29000022032002852204427f85200442fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832204500d00034020012000410020047aa741037620056a2009716b220d41306c6a412010f597808000450d032004427f7c200483220450450d000b0b0240200320034201868342808182848890a0c0807f83500d00410021050c030b200c41086a220c20056a20097121050c000b0b200b200d41306c6a21050b200541506a410020051b0b8e0101017f23808080800041306b22022480808080002002200028020036020c20024101360224200241989bcb800036022020024101360214200241909bcb80003602102002410136021c200241c080808000ad4220862002410c6aad843703282002200241286a36021820012802002001280204200241106a10b1818080002101200241306a24808080800020010be71307017f017e027f017e087f057e037f23808080800041a0016b22022480808080004100410035028483d4800042c4e6c11b85200241106aad22037e200342ae94e698017e4220898522033e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002104024002400240410141002802f482d48000118280808000002205450d00200541003a00002005417e6a41003b0000200241306a41fccfc28000410141002802c480d4800011868080800000200241186a41002903f8ddc28000370300200241013602582002200536025420024101360250200241b883d480004100200441ff01714102461b36022820022003422088220642a2f0a4a00a7e200342ffffffff0f83220342d0e3fccc027e85200642d0e3fccc027e200342a2f0a4a00a7e8542208985370320200241002903f0ddc28000370310024020012802002205450d0020012802082207450d00200241e0006a41086a2108200128020421094100210a034002400240200a450d00200921042005210b200a21050c010b4100210402402009450d002009210102402009410771220b450d0003402001417f6a2101200528028c012105200b417f6a220b0d000b0b20094108490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200141786a22010d000b0b4100210b0b02400240200420052f018a014f0d00200521010c010b034020052802002201450d05200b41016a210b20052f018801210420012105200420012f018a014f0d000b0b02400240200b0d00200441016a21092001210a0c010b200120044102746a4190016a280200210a41002109200b417f6a2205450d00200b417e6a210c02402005410771220b450d0003402005417f6a2105200a28028c01210a200b417f6a220b0d000b0b200c4107490d000340200a28028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c01210a200541786a22050d000b0b4100210b0240024002400240024020012004410c6c6a220528020c220c4100480d0020052802082105200c450d0241002d008083d480001a200c41002802f482d480001182808080000022010d014101210b0b200b200c41d4c9c2800010b980808000000b2001417e6a41003b000020012005200c10f49780800021012002280254210402400240200c2002280258220b470d0020012004200c10f597808000210d200141002802ec82d4800011818080800000200d0d010c040b200141002802ec82d48000118180808000000b200241e0006a2005200c41002802c480d480001186808080000041002d008083d480001a200c41002802f482d4800011828080800000220e450d07200e417e6a41003b0000200e2005200c10f4978080002105200c200b470d0120052004200c10f5978080000d01200541002802ec82d48000118180808000000c020b2002280258450d01200241e0006a2005410041002802c480d48000118680808000004101210e0b20024180016a41186a200241e0006a41186a29000037030020024180016a41106a200241e0006a41106a29000037030020024180016a41086a20082900003703002002200229006037038001410029039083d48000210f410029038883d48000210620022903202103024020022802282205450d002005290008200f85221042208822112005290000200342308985220342208822127e201042ffffffff0f832210200342ffffffff0f8322037e85201020127e201120037e854220898521030b200229039001200685221042208822112002290380012003422089220385221242208822137e201042ffffffff0f832210201242ffffffff0f8322127e85201020137e201120127e8542208985200229039801200685220642208822102002290388012003200f7c852203422088220f7e200642ffffffff0f832206200342ffffffff0f8322037e852006200f7e201020037e854220898585220342208822064288d5fda1027e200342ffffffff0f83220342d3918cad087e85200642d3918cad087e20034288d5fda1027e85422088852203421988221042ff0083428182848890a0c080017e210f2002280210220d41506a210441002114200228021422012003a722157122162105024003400240200d20056a2900002206200f852203427f85200342fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832203500d00034020024180016a2004410020037aa741037620056a2001716b41306c220b6a412010f597808000450d032003427f7c200383220350450d000b0b0240200620064201868342808182848890a0c0807f8350450d00201441086a221420056a20017121050c010b0b0240200d20166a29000042808182848890a0c0807f8322034200520d00410821050340201620056a2104200541086a2105200d200420017122166a29000042808182848890a0c0807f832203500d000b0b0240200d20037aa741037620166a20017122056a2c00002204417f4c0d00200d200d29030042808182848890a0c0807f837aa741037622056a2d000021040b200228028401210b200228028001211402402004410171450d0020022802180d00200241086a200241106a4101200241106a41106a410110d48280800002402002280210220d2002280214220120157122046a29000042808182848890a0c0807f8322034200520d00410821050340200420056a2104200541086a2105200d200420017122046a29000042808182848890a0c0807f832203500d000b0b200d20037aa741037620046a20017122056a2c00002204417f4c0d00200d200d29030042808182848890a0c0807f837aa741037622056a2d000021040b200d20056a2010a741ff007122163a0000200d200541786a2001716a41086a20163a0000200d410020056b41306c6a220541506a2014360200200541706a200c360200200541746a200e360200200541786a200c3602002005417c6a41013602002002200228021c41016a36021c2002200228021820044101716b360218200541586a220141106a200841106a290000370000200141086a200841086a29000037000020012008290000370000200541546a200b3602000c010b0240200d200b6a2205417c6a220428020022014101480d002004200141016a360200200c450d01200e200e417e6a2f00006b41002802ec82d48000118180808000000c010b0240200541706a220b280200450d00200541746a28020022012001417e6a2f00006b41002802ec82d4800011818080800000200428020021010b200b200c360200200541786a200c360200200541746a200e3602002004200141016a3602000b410021052007417f6a22070d000b0b2000200241106a41d00010f4978080001a200241a0016a2480808080000f0b4101410110ab80808000000b41d8ddc2800010a081808000000b4101200c41d4c9c2800010b980808000000bd40201027f23808080800041306b22052480808080002005200236020c20052001360208200520033602102005200036021402400240024020022000280208470d00200120002802042206200210f5978080000d002003200028020c470d012004200041106a2202412010f5978080000d0202402000280200450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200541306a2480808080000f0b2005420037022420054281808080c00037021c200541c0dfc280003602184100200541086a200541146a200541186a41c8dfc2800010d282808000000b2005420037022420054281808080c00037021c200541fcdfc280003602184100200541106a2000410c6a200541186a4184e0c2800010d382808000000b2005420037022420054281808080c00037021c200541bce0c28000360218410020042002200541186a41c4e0c2800010d182808000000be40102027f017e23808080800041106b2206248080808000200641046a419880d480002001200210dd818080000240024020062802042201418180808078460d0002402001418080808078470d00410021050c020b20062802082107200320062902082208a72008422088a72202200520022005491b22056a2004200220056b220520042005491b10f4978080001a410121052001450d0120072007417e6a2f00006b41002802ec82d48000118180808000000c010b4180dec2800041244194dfc2800010a181808000000b2000200236020420002005360200200641106a2480808080000b6401017f23808080800041106b22042480808080002004200336020c2004200236020820042001360204200420003602000240419880d48000200410e4818080000d004180dec2800041244194dfc2800010a181808000000b200441106a2480808080000b6e01017f23808080800041206b22032480808080002003410c6a419880d480002001200210e3818080000240200328020c0d004180dec2800041244194dfc2800010a181808000000b20002003290210370200200041086a200341186a290200370200200341206a2480808080000b3a000240419880d480002000200110d38180800041ff017122014102470d004180dec2800041244194dfc2800010a181808000000b20014101710b2c000240419880d480002000200110de818080000d004180dec2800041244194dfc2800010a181808000000b0b5f01027f23808080800041106b2200248080808000200041086a41ccffd3800010d28180800002402000280208410171450d00200028020c2101200041106a2480808080002001ad0f0b41d4e0c28000411b41f0e0c2800010a181808000000b800101017f23808080800041106b2202248080808000200220013a0003200241046a419880d48000200241036a10d58180800002402002280204418080808078470d004180dec2800041244194dfc2800010a181808000000b20002002290204370200200041086a200241046a41086a280200360200200241106a2480808080000b920101017f23808080800041206b2205248080808000200520043602102005200336020c200520023602182005200136021420052005410c6a36021c2005419880d48000200541146a10d8818080000240200528020022044102470d004180dec2800041244194dfc2800010a181808000000b200528020421032000200436020020002003360204200541206a2480808080000b7601017f23808080800041206b2203248080808000200341086a41086a200241086a2802003602002003200136021820032000360214200320022902003703080240419880d48000200341086a10e5818080000d004180dec2800041244194dfc2800010a181808000000b200341206a2480808080000b7801017f23808080800041106b2203248080808000200341046a419880d480002001200210d18180800002402003280204418180808078470d004180dec2800041244194dfc2800010a181808000000b20002003290204370200200041086a200341046a41086a280200360200200341106a2480808080000b28000240419880d4800010d7818080000d004180dec2800041244194dfc2800010a181808000000b0b5201017f02400240419880d4800010e28180800041ff017122004102460d0020004101710d014180e1c28000412c41ace1c2800010a181808000000b4180dec2800041244194dfc2800010a181808000000b0b5201017f02400240419880d4800010da8180800041ff017122004102460d0020004101710d0141bce1c28000412a41e8e1c2800010a181808000000b4180dec2800041244194dfc2800010a181808000000b0bc00201027f23808080800041306b22052480808080004100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241b0c7cd800010b980808000000b2006417e6a41003b00000b20062001200210f497808000210620052002360214200520063602102005200236020c2005200436022c2005200336022820052005410c6a360224200541186a419880d48000200541246a10d68180800002402005280218418180808078460d0020002005290218370200200041086a200541186a41086a2802003602000240200528020c450d00200528021022022002417e6a2f00006b41002802ec82d48000118180808000000b200541306a2480808080000f0b4180dec2800041244194dfc2800010a181808000000bab0302027f017e23808080800041306b22082480808080004100210902400240024020024100480d00024020020d00410121090c030b41002d008083d480001a200241002802f482d480001182808080000022090d01410121090b2009200241b0c7cd800010b980808000000b2009417e6a41003b00000b20092001200210f497808000210920082002360214200820093602102008200236020c2008200436022c2008200336022820082008410c6a360224200841186a419880d48000200841246a10d6818080000240024020082802182209418180808078460d0002402009418080808078470d00410021040c020b200828021c21032005200829021c220aa7200a422088a72202200720022007491b22046a2006200220046b220420062004491b10f4978080001a410121042009450d0120032003417e6a2f00006b41002802ec82d48000118180808000000c010b4180dec2800041244194dfc2800010a181808000000b0240200828020c450d00200828021022092009417e6a2f00006b41002802ec82d48000118180808000000b2000200236020420002004360200200841306a2480808080000b9e0201027f23808080800041206b22062480808080004100210702400240024020014100480d00024020010d00410121070c030b41002d008083d480001a200141002802f482d480001182808080000022070d01410121070b2007200141b0c7cd800010b980808000000b2007417e6a41003b00000b20072000200110f49780800021072006200136020820062007360204200620013602002006200536021c2006200436021820062003360214200620023602102006200636020c0240419880d480002006410c6a10df81808000450d0002402006280200450d00200628020422012001417e6a2f00006b41002802ec82d48000118180808000000b200641206a2480808080000f0b4180dec2800041244194dfc2800010a181808000000b930201027f23808080800041206b22042480808080004100210502400240024020014100480d00024020010d00410121050c030b41002d008083d480001a200141002802f482d480001182808080000022050d01410121050b2005200141b0c7cd800010b980808000000b2005417e6a41003b00000b20052000200110f4978080002105200420013602102004200536020c200420013602082004200336021c200420023602182004200441086a3602140240419880d48000200441146a10dc81808000450d0002402004280208450d00200428020c22012001417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000f0b4180dec2800041244194dfc2800010a181808000000ba60201017f23808080800041206b2205248080808000200520043602102005200336020c4100210402400240024020024100480d00024020020d00410121040c030b41002d008083d480001a200241002802f482d480001182808080000022040d01410121040b2004200241b0c7cd800010b980808000000b2004417e6a41003b00000b20042001200210f49780800021042005200236021c20052004360218200520023602142005419880d48000200541146a2005410c6a10d4818080000240200528020022034102460d002005280204210102402002450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2000200136020420002003360200200541206a2480808080000f0b4180dec2800041244194dfc2800010a181808000000ba00201027f23808080800041206b22042480808080004100210502400240024020014100480d00024020010d00410121050c030b41002d008083d480001a200141002802f482d480001182808080000022050d01410121050b2005200141b0c7cd800010b980808000000b2005417e6a41003b00000b20052000200110f4978080002105200420013602102004200536020c200420013602082004200336021c200420023602182004200441086a3602140240419880d48000200441146a10d98180800041ff017122014102460d0002402004280208450d00200428020c22052005417e6a2f00006b41002802ec82d48000118180808000000b200441206a24808080800020014101710f0b4180dec2800041244194dfc2800010a181808000000bcb0201017f23808080800041306b2207248080808000200720063602102007200536020c4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241b0c7cd800010b980808000000b2006417e6a41003b00000b20062001200210f49780800021062007200236021c2007200636021820072002360214200720043602282007200336022420072007410c6a36022c2007200741146a3602202007419880d48000200741206a10e1818080000240200728020022024102460d002007280204210602402007280214450d00200728021822052005417e6a2f00006b41002802ec82d48000118180808000000b2000200636020420002002360200200741306a2480808080000f0b4180dec2800041244194dfc2800010a181808000000bac0201017f23808080800041206b2204248080808000200420033a00074100210302400240024020024100480d00024020020d00410121030c030b41002d008083d480001a200241002802f482d480001182808080000022030d01410121030b2003200241b0c7cd800010b980808000000b2003417e6a41003b00000b20032001200210f4978080002103200420023602102004200336020c20042002360208200441146a419880d48000200441086a200441076a10e08180800002402004280214418080808078460d0020002004290214370200200041086a200441146a41086a28020036020002402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000f0b4180dec2800041244194dfc2800010a181808000000bc00201027f23808080800041306b22052480808080004100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241b0c7cd800010b980808000000b2006417e6a41003b00000b20062001200210f497808000210620052002360214200520063602102005200236020c2005200436022c2005200336022820052005410c6a360224200541186a419880d48000200541246a10db8180800002402005280218418180808078460d0020002005290218370200200041086a200541186a41086a2802003602000240200528020c450d00200528021022022002417e6a2f00006b41002802ec82d48000118180808000000b200541306a2480808080000f0b4180dec2800041244194dfc2800010a181808000000b100020004204370208200042003702000b880301077f4101210202400240024002402001280208220341016a2204200128020422054d0d000c010b200320054f0d012001200436020802400240024002400240024002402001280200220620036a2d000022074103710e0400010203000b20074102762108410021020c060b0240200341026a220320054d0d000c060b200120033602082004417f470d02417f200341f0cbcd8000109581808000000b200341046a220320054b0d04200120033602082004417d490d022004200341f0cbcd8000109581808000000b20074104490d020c030b0240200620046a2d000022010d000c030b20014108742007724102762108410021020c020b200620046a22012f0000200141026a2d0000411074722201418002492102200141087420077241027621080c010b200341056a220320054b0d00200120033602082004417c4f0d02200620046a28000022084180808080044921020b20002008360204200020023602000f0b200320054180cccd8000108281808000000b2004200341f0cbcd8000109581808000000bc50501097f23808080800041f0006b220324808080800002400240200028020022042000280204470d00410221040c010b20002004410c6a36020002400240024020002802082205200028020c2802004b0d002000280210210641022107024020042802004102460d00200341cc006a200410da82808000200341c8006a41026a220420032d004f3a0000200341286a41086a2208200341cc006a41106a290200370300200341286a41106a2209200341cc006a41186a290200370300200341286a41186a220a200341ec006a280200360200200320032f004d3b0148200320032902543703282003280250210b20032d004c22074102460d02200341246a41026a20042d00003a0000200341086a41086a2008290300370300200341086a41106a2009290300370300200341086a41186a200a280200360200200320032f01483b0124200320032903283703080b0240200628020822022006280200470d00200641d4e2c2800010ed828080000b2006280204200241246c6a220420032f01243b0001200420073a00002004200b36020420042003290308370208200441036a200341266a2d00003a0000200441106a200341106a290300370200200441186a200341086a41106a290300370200200441206a200341086a41186a2802003602002006200241016a3602080b410121040c010b024020022802002204450d000240024002400240200428020041fcffffff076a2206410320064105491b0e0403030102000b2004280204450d02200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2004280204450d01200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200410ac828080000b20042004417e6a2f01006b41002802ec82d48000118180808000000b2002200b360200410021040b2000200541016a3602080b200341f0006a24808080800020040bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b200010ac828080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0bc50501097f23808080800041f0006b220324808080800002400240200028020022042000280204470d00410221040c010b20002004410c6a36020002400240024020002802082205200028020c2802004b0d002000280210210641022107024020042802004102460d00200341cc006a200410da82808000200341c8006a41026a220420032d004f3a0000200341286a41086a2208200341cc006a41106a290200370300200341286a41106a2209200341cc006a41186a290200370300200341286a41186a220a200341ec006a280200360200200320032f004d3b0148200320032902543703282003280250210b20032d004c22074102460d02200341246a41026a20042d00003a0000200341086a41086a2008290300370300200341086a41106a2009290300370300200341086a41186a200a280200360200200320032f01483b0124200320032903283703080b0240200628020822022006280200470d00200641e4e2c2800010ed828080000b2006280204200241246c6a220420032f01243b0001200420073a00002004200b36020420042003290308370208200441036a200341266a2d00003a0000200441106a200341106a290300370200200441186a200341086a41106a290300370200200441206a200341086a41186a2802003602002006200241016a3602080b410121040c010b024020022802002204450d000240024002400240200428020041fcffffff076a2206410320064105491b0e0403030102000b2004280204450d02200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2004280204450d01200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200410ac828080000b20042004417e6a2f01006b41002802ec82d48000118180808000000b2002200b360200410021040b2000200541016a3602080b200341f0006a24808080800020040ba20101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141e4f4c2800010ef818080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041bb80808000360218200042d7c9cb8fc1cf97db3e370310200042e88488d0c0e3aebc13370308200041063a0000200141106a2480808080000b4101017f024020002802002200417f460d0020002000280204417f6a220136020420010d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141016a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10be828080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510be8280800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510be8280800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10be82808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741016a22072002470d000b0b200341306a24808080800020000bcc0101057f024020034108490d00200020002003410376220341d0006c22046a20002003418c016c22056a200310b18280800021002001200120046a200120056a200310b18280800021012002200220046a200220056a200310b18280800021020b0240200028020022052001280200220649200041106a2802002203200141106a28020022044920032004461b2207200520022802002208492003200241106a28020022054920032005461b470d002002200120072006200849200420054920042005461b731b21000b20000b8c0101037f024020034108490d00200020002003410376220341306c22046a2000200341d4006c22056a200310b28280800021002001200120046a200120056a200310b28280800021012002200220046a200220056a200310b28280800021020b200020022001200028020022032001280200220449220520042002280200220649731b20052003200649731b0bef08010a7f2000200028020c22032000280200220449410c6c6a2205200041244118200028022420002802184922061b6a22072000200320044f410c6c6a220320004118412420061b6a220428020020032802004922061b200728020020052802004922081b2209280200210a20042003200720081b20061b220b280200210c200241086a2007200520081b220741086a280200360200200220072902003702002002200b2009200c200a4922071b220529020037020c200241146a200541086a280200360200200241206a2009200b20071b220741086a280200360200200220072902003702182002412c6a2003200420061b220341086a280200360200200241246a22072003290200370200200041306a220341184124200028025420002802484922051b6a22042003200028023c2206200028023022084f410c6c6a220020034124411820051b6a2205200528020020032006200849410c6c6a22032802004922061b200428020020002802004922081b2209280200210a20032005200020081b20061b220b280200210c200241386a2005200320061b220541086a280200360200200241306a220320052902003702002002413c6a2009200b200a200c4922051b2206290200370200200241c4006a200641086a280200360200200241c8006a200b200920051b2205290200370200200241d0006a200541086a280200360200200241d4006a22052000200420081b2200290200370200200241dc006a200041086a28020036020020012003200220032802002204200228020022064922001b2208290200370200200141086a200841086a280200360200200120072005200528020022082007280200220949220b1b220a290200370254200141dc006a200a41086a280200360200200120032000410c6c6a22002002200420064f410c6c6a2202200028020022042002280200220649220a1b220329020037020c200141146a200341086a2802003602002001200741744100200b1b6a2207200541744100200820094f1b6a220320032802002205200728020022084922091b220b290200370248200141d0006a200b41086a28020036020020012000200a410c6c6a22002002200420064f410c6c6a2202200028020022042002280200220649220b1b220a290200370218200141206a200a41086a280200360200200120074174410020091b6a2207200341744100200520084f1b6a2203200328020022082007280200220949220a1b220529020037023c200141c4006a200541086a28020036020020012000200b410c6c6a22052002200420064f410c6c6a2202200528020022042002280200220649220b1b22002902003702242001412c6a200041086a2802003602002001200741744100200a1b6a2200200341744100200820094f1b6a2207200728020022092000280200220a4922031b2208290200370230200141386a200841086a280200360200024002402002200420064f410c6c6a20004174410020031b6a410c6a470d002005200b410c6c6a2007417441002009200a4f1b6a410c6a460d010b109c81808000000b0bd00103047f017e017f02402002417f6a20014f0d00024020022001460d0020002001410c6c6a210420002002410c6c22056a21060340024020062802002207200641746a2802004f0d00200629020421082005210202400340200020026a2201200141746a2209290200370200200141086a200941086a28020036020002402002410c470d00200021020c020b200241746a21022007200141686a280200490d000b200020026a21020b20022008370204200220073602000b2005410c6a21052006410c6a22062004470d000b0b0f0b000bc60201087f23808080800041106b210402402002417f6a20014f0d00024020022001460d002000200141146c6a21052000200241146c22066a2107200441086a210803400240200728020022092007416c6a28020049200741106a280200220a2007417c6a280200220249200a2002461b4101470d0020082007410c6a280200360200200420072902043703002006210102400340200020016a22022002416c6a220b290200370200200241106a200b41106a280200360200200241086a200b41086a290200370200024020014114470d00200021020c020b2001416c6a21012009200241586a28020049200a200241686a280200220249200a2002461b0d000b200020016a21020b20022009360200200220042903003702042002200a3602102002410c6a20082802003602000b200641146a2106200741146a22072005470d000b0b0f0b000bdf0b020c7f017e0240024020014102490d000240024002402003200141106a490d00200141017621052001410f4b0d010240200141074d0d002002200041244118200028022420002802184922061b6a22032000200028020c22072000280200220849410c6c6a22092003280200200928020049220a1b220b290200370200200241086a200b41086a280200360200200220004118412420061b6a220b2000200720084f410c6c6a22062003200a1b200b28020020062802004922071b220820092003200620071b200a1b2203200828020020032802004922091b220a29020037020c200241146a200a41086a280200360200200241206a2003200820091b220341086a280200360200200220032902003702182002412c6a2006200b20071b220341086a2802003602002002200329020037022420002005410c6c220c6a220341184124200328022420032802184922091b6a220a2003200328020c220b200328020022074f410c6c6a220620034124411820091b6a220920092802002003200b200749410c6c6a220b2802004922071b200a28020020062802004922081b220d280200210e200b2009200620081b20071b220f28020021102002200c6a220341086a2009200b20071b220941086a280200360200200320092902003702002003200d200f200e20104922091b220b29020037020c200341146a200b41086a280200360200200341206a200f200d20091b220941086a280200360200200320092902003702182003412c6a2006200a20081b220641086a280200360200200320062902003702244104210d0c030b20022000290200370200200241086a200041086a28020036020020022005410c6c22036a2206200020036a2203290200370200200641086a200341086a2802003602004101210d0c020b000b2000200220022001410c6c6a220310b38280800020002005410c6c22066a200220066a200341e0006a10b3828080004108210d0b200120056b210e0240200d20054f0d00200d410c6c2107200d210b03402002200b410c6c22066a2203200020066a22062902002211370200200341086a200641086a28020036020002402011a7220a200341746a2802004f0d00200329020421112007210302400340200220036a2206200641746a2209290200370200200641086a200941086a28020036020002402003410c470d00200221030c020b200341746a2103200a200641686a280200490d000b200220036a21030b200320113702042003200a3602000b2007410c6a2107200b41016a220b2005470d000b0b20022005410c6c22036a21070240200d200e4f0d00200020036a2110200d410c6c210a410c210f2007210c03402007200d410c6c22066a2203201020066a22062902002211370200200341086a200641086a28020036020002402011a72208200341746a2802004f0d0020032902042111200f2109200c2106024003402006200a6a2203200341746a220b290200370200200341086a200b41086a2802003602000240200a2009470d00200721030c020b2009410c6a2109200641746a21062008200341686a280200490d000b2006200a6a21030b20032011370204200320083602000b200f41746a210f200c410c6a210c200d41016a220d200e470d000b0b200741746a210320022001410c6c41746a22096a2106200020096a210903402000200720022007280200220a2002280200220b4922081b220d290200370200200041086a200d41086a2802003602002009200320062006280200220d2003280200220f49220c1b220e290200370200200941086a200e41086a280200360200200941746a21092000410c6a2100200341744100200c1b6a2103200641744100200d200f4f1b6a21062002200a200b4f410c6c6a210220072008410c6c6a21072005417f6a22050d000b2003410c6a210302402001410171450d00200020022007200220034922091b220a290200370200200041086a200a41086a2802003602002007200220034f410c6c6a210720022009410c6c6a21020b20022003470d0120072006410c6a470d010b0f0b109c81808000000bc911020f7f017e23808080800041106b22052480808080000240024020014102490d00024002402003200141106a490d00410121062001410176210702400240200141074d0d0020004128413c200028023c200028022849200041cc006a2802002203200041386a28020022084920032008461b22081b6a220920002000280214200028020049200041246a2802002203200041106a280200220a492003200a461b220a41017341146c6a22032000413c412820081b6a220820082802002000200a41146c6a220a28020049200841106a280200220b200a41106a280200220c49200b200c461b220d1b2009280200200328020049200941106a280200220b200341106a280200220c49200b200c461b220e1b220b41106a2802002106200a20082003200e1b200d1b220c41106a280200210f200b2802002110200c2802002111200241106a2008200a200d1b220841106a280200360200200241086a200841086a290200370200200220082902003702002002200b200c20102011492006200f492006200f461b220a1b22082902003702142002200c200b200a1b220a2902003702282002411c6a200841086a290200370200200241246a200841106a280200360200200241306a200a41086a290200370200200241386a200a41106a280200360200200241cc006a20032009200e1b220341106a280200360200200241c4006a200341086a2902003702002002200329020037023c2000200741146c22116a22034128413c200328023c200328022849200341cc006a2802002208200341386a28020022094920082009461b22091b6a220a20032003280214200328020049200341246a2802002208200341106a280200220b492008200b461b220b41017341146c6a22082003413c412820091b6a220920092802002003200b41146c6a220b28020049200941106a2802002203200b41106a280200220c492003200c461b220e1b200a280200200828020049200a41106a2802002203200841106a280200220c492003200c461b22061b220c41106a280200210f200b2009200820061b200e1b220d41106a2802002110200c2802002112200d2802002113200220116a220341106a2009200b200e1b220941106a280200360200200341086a200941086a290200370200200320092902003702002003200c200d2012201349200f201049200f2010461b220b1b22092902003702142003200d200c200b1b220b2902003702282003411c6a200941086a290200370200200341246a200941106a280200360200200341306a200b41086a290200370200200341386a200b41106a280200360200200341cc006a2008200a20061b220841106a280200360200200341c4006a200841086a2902003702002003200829020037023c410421060c010b20022000290200370200200241106a200041106a280200360200200241086a200041086a2902003702002002200741146c22086a2203200020086a2208290200370200200341086a200841086a290200370200200341106a200841106a2802003602000b200120076b2111200620074f0d01200641146c210d2006210c03402002200c41146c22086a2203200020086a22082902002214370200200341106a200841106a280200220a360200200341086a200841086a29020037020002402014a7220b2003416c6a28020049200a2003417c6a280200220349200a2003461b4101470d00200541086a220e2008410c6a28020036020020052008290204370300200d210802400340200220086a22032003416c6a2209290200370200200341106a200941106a280200360200200341086a200941086a290200370200024020084114470d00200221030c020b2008416c6a2108200b200341586a28020049200a200341686a280200220349200a2003461b0d000b200220086a21030b2003200b360200200320052903003702042003200a3602102003410c6a200e2802003602000b200d41146a210d200c41016a220c2007470d000c020b0b000b2002200741146c22036a210d0240200620114f0d00200020036a2112200641146c210c4114210f200d21100340200d200641146c22086a2203201220086a22082902002214370200200341106a200841106a280200220b360200200341086a200841086a29020037020002402014a7220e2003416c6a28020049200b2003417c6a280200220349200b2003461b4101470d00200541086a22132008410c6a28020036020020052008290204370300200f210a20102108024003402008200c6a22032003416c6a2209290200370200200341106a200941106a280200360200200341086a200941086a2902003702000240200c200a470d00200d21030c020b200a41146a210a2008416c6a2108200e200341586a28020049200b200341686a280200220349200b2003461b0d000b2008200c6a21030b2003200e360200200320052903003702042003200b3602102003410c6a20132802003602000b200f416c6a210f201041146a2110200641016a22062011470d000b0b200d416c6a21032002200141146c416c6a22096a2108200020096a210903402000200d2002200d280200200228020049200d41106a280200220a200241106a280200220b49200a200b461b220a1b220b290200370200200041086a200b41086a290200370200200041106a200b41106a280200360200200941106a200320082008280200200328020049200841106a280200220b200341106a280200220c49200b200c461b220b1b220c41106a280200360200200941086a200c41086a2902003702002009200c290200370200200d200a41146c6a210d20034100200b6b41146c6a2103200b41146c20086a416c6a21082002200a41017341146c6a21022009416c6a2109200041146a21002007417f6a22070d000b200341146a210302402001410171450d0020002002200d2002200349220a1b2209290200370200200041106a200941106a280200360200200041086a200941086a290200370200200d200220034f41146c6a210d2002200a41146c6a21020b20022003470d01200d200841146a470d010b200541106a2480808080000f0b109c81808000000b9c0b01147f23808080800041306b2204248080808000200441106a210520012802042106200128020021070240024002400240024020012802100d0020044100360218200441003602100c010b20012802082208450d0120052008200128020c10cd828080000b2004200636020c2004417f200720022802006a220120012007491b2201360208410c2108410821094104210a02402001200328020022074d0d00410221060c020b2004417f200620022802046a220120012006491b220136020c02402001200328020422074d0d00410321060c020b024020022802082201450d002002280210220b450d002001410047210c200328020c210d2003280208210e200228020c210f41002102034002400240024020020d00200c410171450d004101210c200f450d01200f21020240200f4107712207450d0003402002417f6a2102200128028c0121012007417f6a22070d000b0b200f4108490d010340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200241786a22020d000c020b0b200c4101710d014198e4c2800010a081808000000b20012102410021014100210f0b02400240024002400240200f20022f018a014f0d0020022107200f21090c010b034020022802582207450d02200141016a210120022f018801210920072102200920072f018a014f0d000b0b20010d01200941016a210f200721020c020b4188e4c2800010a081808000000b200720094102746a4190016a28020021024100210f2001417f6a2206450d002001417e6a2103024020064107712201450d0003402006417f6a2106200228028c0121022001417f6a22010d000b0b20034107490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200641786a22060d000b0b200720094102746a221028025c210302400240024002402004280210220a450d0020042802142111034002400240200a2f018a0122120d00410021060c010b201241027421134100210141002106034002402003200a20016a41dc006a28020022084b20032008496b41ff017122084101460d0020080d022004200536022c20042006360228200420113602242004200a3602202004410036021c0c070b200641016a21062013200141046a2201470d000b201221060b2011450d022011417f6a2111200a20064102746a28028c01210a0c000b0b200441003602240c010b2004200636022c200441003602282004200a3602240b200420033602202004200536021c0b2004411c6a10cc8280800021120240024002400240200e450d00200b417f6a210b200720094103746a220141046a2802002114200128020021152012280204211620122802002117201041dc006a2802002106200d2113200e210a034002400240200a2f018a0122110d00410021070c010b20114102742109200a41dc006a210141002107200a2103034002402006200128020022084b20062008496b41ff017122084101460d0020080d02417f201720156a220120012017491b2201200341046a28020022074d0d05410021020c060b200341086a2103200141046a2101200741016a21072009417c6a22090d000b201121070b2013450d012013417f6a2113200a20074102746a28028c01210a0c000b0b41a8e4c28000413441c0e5c2800010a181808000000b417f201620146a220720072016491b2208200328020022074d0d0141012102200821010b2000200236020441102108410c21094108210a0c040b201220083602042012200136020041002101200b0d000b0b2000200429020837020420004100360200200041146a200441186a2802003602002000410c6a200441106a2902003702000c020b41ccebc2800010a081808000000b2000200a6a2006360200200020096a2007360200200020086a200136020020004101360200200510cf828080000b200441306a2480808080000b8708010f7f23808080800041306b22022480808080002000200028020020012802006b3602002000200028020420012802046b36020402400240024020012802082203450d00200128021022040d010b200028020821050c010b4100210620034100472107200128020c2108034002400240024020060d002007410171450d00410121072008450d0120082106024020084107712201450d0003402006417f6a2106200328028c0121032001417f6a22010d000b0b20084108490d010340200328028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012103200641786a22060d000c020b0b20074101710d014198e4c2800010a081808000000b2003210641002103410021080b02400240024002400240200820062f018a014f0d0020062101200821090c010b034020062802582201450d02200341016a210320062f018801210920012106200920012f018a014f0d000b0b20030d01200941016a2108200121060c020b4188e4c2800010a081808000000b200120094102746a4190016a2802002106410021082003417f6a220a450d002003417e6a210b0240200a4107712203450d000340200a417f6a210a200628028c0121062003417f6a22030d000b0b200b4107490d000340200628028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012106200a41786a220a0d000b0b024020002802082205450d002004417f6a2104200120094103746a210c200120094102746a28025c210a200028020c210d2005210e034002400240200e2f018a01220f0d00410021010c010b200f4102742110200e41dc006a210341002101200e210903400240200a2003280200220b4b200a200b496b41ff0171220b4101460d00200b0d0220092009280200200c2802006b360200200941046a22032003280200200c2802046b360200410021032004450d060c050b200941086a2109200341046a2103200141016a21012010417c6a22100d000b200f21010b200d450d01200d417f6a210d200e20014102746a28028c01210e0c000b0b0b41d0e5c2800041304180e6c2800010a181808000000b024002402005450d00200041086a21090240200028020c2201450d0002400240200141077122060d00200121030c010b2001210303402003417f6a2103200528028c0121052006417f6a22060d000b0b20014108490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200341786a22030d000b0b20024200370214200220053602102002200936020c2002200041106a36020820022002412f6a3602040c010b2002420037020c2002200041106a36020820022002412f6a3602040b03402002411c6a200241046a10c982808000200228021c0d000b200241306a2480808080000bf60503057f017e027f23808080800041d0006b2201248080808000200141286a4190e6c28000411141a1e6c2800041334104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141c0006a41086a220841013602002007420437022c2007420337022420074194d7c280003602202007410936021c200741e5d7c28000360218200741bb80808000360210200120012902103703400240200828020022072001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200741386c22086a2207420437022c2007420337022420074194d7c280003602202007410b36021c200741eed7c28000360218200741bb80808000360210200742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc133703002001280244210720012001280240360248200120073602402001200720086a41386a36024c20012007360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef81808000200141106a410b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b8b0704057f017e037f017e23808080800041d0006b2201248080808000200141286a41d4e6c28000410d41a1e6c2800041334104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a22074100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a220941013602002008420437022c2008420337022420084194d7c280003602202008410d36021c200841f9d7c28000360218200841bb80808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200941386c6a2208420437022c2008420337022420084194d7c280003602202008410f36021c20084186d8c28000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc133703002007200941016a220836020020012001290340220a37031002402008200aa7470d00200141106a41d8d5c2800010b5928080000b2001280214200841386c22096a2208420437022c20084223370224200841a2d8c280003602202008410d36021c20084195d8c28000360218200841c280808000360210200842a9bed5f4ac86fabc7237030820084289f1e0e084fdeb9fe8003703002001280214210820012001280210360248200120083602402001200820096a41386a36024c20012008360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bb00101047f23808080800041106b22022480808080002000280200220041046a28020021032000280200210041012104200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2000200020036a10b0828080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021040b200241106a24808080800020040bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000bc70301047f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff0171410174220541a1f1c180006a2d00003a00022002200541a0f1c180006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe017141a1f1c180006a2d00003a00000b2001410141014100200220036a410320036b10b28180800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000b140020012000280200200028020410b4818080000bdc0c01127f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610b7828080000c010b2002416c6a21080340024020040d00200020012002200341012006108b828080000c020b200020014103762209418c016c6a210a2000200941d0006c6a210b02400240200141c000490d002000200b200a200910b182808000210c0c010b2000210c2000280200220d200b280200220e49200041106a2802002209200b41106a280200220f492009200f461b2210200d200a2802002211492009200a41106a280200220d492009200d461b470d00200a200b2010200e201149200f200d49200f200d461b731b210c0b2004417f6a2104200741106a200c41106a2211280200360200200741086a200c41086a2902003703002007200c290200370300200c20006b41146e2112024002400240024002402005450d002005280200200c2802004f200541106a280200220a2011280200220b4f200a200b461b0d010b20032001490d014100210b2000210a2002200141146c22136a2214210d2012211503400240200a2000201541146c6a22104f0d0003402002200d416c6a220d200a280200200c28020049200a41106a28020022092011280200220f492009200f461b220e1b200b41146c6a220f200a290200370200200f41106a2009360200200f41086a200a41086a290200370200200b200e6a210b200a41146a220a2010490d000b0b024020152001460d00200d416c6a220d200b41146c6a2209200a290200370200200941106a200a41106a280200360200200941086a200a41086a290200370200200a41146a210a200121150c010b0b20002002200b41146c221510f49780800021162001200b6b211002402001200b460d0020104101712117201620156a21184100210f02402001200b41016a460d002010417e71210e200820136a21094100210f2018210a0340200a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200a41146a2014200f41feffffff037341146c6a220d290200370200200a411c6a200d41086a290200370200200a41246a200d41106a280200360200200941586a2109200a41286a210a200e200f41026a220f470d000b0b2017450d002018200f41146c6a220a2014200f417f7341146c6a2209290200370200200a41106a200941106a280200360200200a41086a200941086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c200741f0e7c2800036021820074204370220200741186a41f8e7c2800010fe80808000000b20032001490d00410021092000210a2002200141146c22146a2215210d03400240200a2000201241146c6a22104f0d0003402002200d416c6a220d200c280200200a2802004f2011280200220f200a41106a280200220b4f200f200b461b220e1b200941146c6a220f200a290200370200200f41106a200b360200200f41086a200a41086a2902003702002009200e6a2109200a41146a220a2010490d000b0b024020122001460d002002200941146c6a220b200a290200370200200b41106a200a41106a280200360200200b41086a200a41086a290200370200200a41146a210a200941016a2109200d416c6a210d200121120c010b0b20002002200941146c220f10f497808000210a0240024020012009460d00200120096b220b4101712110200a200f6a21004100210d02402001200941016a460d00200b417e71210c200820146a210f4100210d2000210a0340200a200f290200370200200a41106a200f41106a280200360200200a41086a200f41086a290200370200200a41146a2015200d41feffffff037341146c6a220e290200370200200a411c6a200e41086a290200370200200a41246a200e41106a280200360200200f41586a210f200a41286a210a200c200d41026a220d470d000b0b02402010450d002000200d41146c6a220a2015200d417f7341146c6a220f290200370200200a41106a200f41106a280200360200200a41086a200f41086a2902003702000b200120094f0d01200920014188e8c28000109281808000000b200a200141146c6a410020022003200610b7828080000c050b41002105200b2101200b41214f0d030c020b000b201620156a20102002200320042007200610c082808000200b2101200b41214f0d010b0b2000200b20022003200610b7828080000b200741306a2480808080000b890f01117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610b6828080000c010b200241746a21080340024020040d002000200120022003410120061089828080000c020b20002001410376220941d4006c6a210a2000200941306c6a210b02400240200141c000490d002000200b200a200910b282808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2802003602002007200c290200370308200c20006b410c6e210f024002400240024002402005450d002005280200200c2802004f0d010b20032001490d014100210b2000210920022001410c6c22106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b410c6c6a22134f0d0003402002200a41746a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a2009410c6a220e280200200c2802004922141b200b200d6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200941186a220d280200200c28020049220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200941246a220d280200200c2802004922141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210b200941306a22092013490d000b0b0240200920002012410c6c6a22144f0d0003402002200a41746a220a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a280200360200200b200d6a210b2009410c6a22092014490d000b0b024020122001460d00200a41746a220a200b410c6c6a220d2009290200370200200d41086a200941086a2802003602002009410c6a2109200121120c010b0b20002002200b410c6c221210f49780800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2011200d41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200d41026a220d470d000b0b2016450d002017200d410c6c6a22092011200d417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b200b450d002001200b4f0d02200741003602282007410136021c200741f0e7c2800036021820074204370220200741186a41f8e7c2800010fe80808000000b20032001490d004100210d2000210920022001410c6c22116a2212210a03400240200920004100200f417d6a220b200b200f4b1b410c6c6a22134f0d0003402002200a41746a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a200c2802002009410c6a220e2802004f22141b200d200b6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200c280200200941186a220d2802004f220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200c280200200941246a220d2802004f22141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210d200941306a22092013490d000b0b024020092000200f410c6c6a22144f0d0003402002200a41746a220a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a280200360200200d200b6a210d2009410c6a22092014490d000b0b0240200f2001460d002002200d410c6c6a220b2009290200370200200b41086a200941086a2802003602002009410c6a2109200d41016a210d200a41746a210a2001210f0c010b0b20002002200d410c6c220a10f4978080002109024002402001200d460d002001200d6b220b41017121132009200a6a21004100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2000210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2012200c41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200c41026a220c470d000b0b02402013450d002000200c410c6c6a22092012200c417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b2001200d4f0d01200d20014188e8c28000109281808000000b20092001410c6c6a410020022003200610b6828080000c050b41002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610c182808000200b2101200b41214f0d010b0b2000200b20022003200610b6828080000b200741306a2480808080000bbe0101077f41002103024002402001410f712204410f470d00410121032002280208220541016a200228020422064b0d0020022802002107410f2108200521010340200120064f0d022002200141016a3602080240200720016a2d0000220941ff01470d00200841ff016a210841012103200141026a2109200141016a2101200920064d0d010c020b0b200920086a2104410021030b20002004360204200020033602000f0b20052006200520064b1b20064180cccd8000108281808000000b840701097f23808080800041106b220224808080800002400240024002400240024002402001280208220341016a2204200128020422054b22060d0020032005490d01200320054180cccd8000108281808000000b200041053a00000c010b20012004360208024002400240024002400240024002400240024002402001280200220720036a2d00002208450d0020084106764102730e0403020a01030b200041003a00000c0a0b2008413f712208413f470d030240200341026a20054b0d00413f2108200421030340200320054f0d0c2001200341016a2209360208200720036a2d0000220a41ff01470d04200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c090b2008413f712208413f470d040240200341026a20054b0d00413f2108200421030340200320054f0d0c2001200341016a2209360208200720036a2d0000220a41ff01470d05200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c080b2008413f712208413f470d050240200341026a20054b0d00413f2108200421030340200320054f0d0c2001200341016a2209360208200720036a2d0000220a41ff01470d06200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c070b200a20086a21080b20002008360204200041023a00000c050b200a20086a21080b2000200836020420004181023b01000c030b200a20086a21080b20002008360204200041013b01000c010b0240024002400240200841e001714120460d00200841f001714110460d01200041053a00000c040b2008411f712208411f470d020240200341026a20054b0d00411f2108200421030340200320054f0d092001200341016a2209360208200720036a2d0000220a41ff01470d03200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c030b200241086a2008200110c28280800002402002280208410171450d00200041053a00000c030b200228020c2101200041033a0000200020013602040c020b200a20086a21080b20002008360204200041043a00000b200241106a2480808080000f0b2004200520061b20054180cccd8000108281808000000b2004200520061b20054180cccd8000108281808000000b2004200520061b20054180cccd8000108281808000000b2004200520061b20054180cccd8000108281808000000b850603057f017e017f23808080800041d0006b2201248080808000200141286a4198e8c28000410810c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241c480808000360238200242d6e8a8f093e8c4c621370330200242bd8ad681c9f684cc6737032820024101360224200241a1e8c28000360220200241c580808000360218200242cdd1c1cbe3b5a3c444370310200242b9e0ddc2f1d2dbbf4c37030820024101360204200241a0e8c280003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a28020036020020012002290200370300200128021021042001280214210320012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242e6f88efbb4bfaab03b3703002002410036023020024280808080c0003703282002410036022020024100360218200241c68080800036021020024293b7eef0c7c58193a97f3703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002007418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000bee0a04077f017e017f017e23808080800041d0006b2201248080808000200141286a41b1e8c28000410641b7e8c28000411b4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024104360224200241d8e8c28000360220200241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc1337030820024106360204200241d2e8c280003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421052001280218210620012802282107200129022c2108200141106a41086a22094100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c0006a41086a220341013602002002420437022c2002420c370224200241a2d6c280003602202002410b36021c200241aed6c28000360218200241bc80808000360210200120012902103703400240200328020022032001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200341386c6a2202420437022c20024206370224200241ced6c280003602202002410636021c200241c8d6c28000360218200241c7808080003602102002428f9096e9a7fcdea318370308200242a1b7c9b2e6acc3d92a3703002009200341016a220336020020012001290340220a37031002402003200aa7470d00200141106a41d8d5c2800010b5928080000b2001280214200341386c6a2202420437022c2002420c370224200241a2d6c280003602202002410a36021c20024198d6c28000360218200241bc80808000360210200242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c0006a41086a200341016a220336020020012001290310220a37034002402003200aa7470d00200141c0006a41d8d5c2800010b5928080000b2001280244200341386c6a2202420437022c2002420c370224200241a2d6c280003602202002410f36021c200241b9d6c28000360218200241bc80808000360210200242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141106a41086a200341016a220236020020012001290340220a37031002402002200aa7470d00200141106a41d8d5c2800010b5928080000b2001280214200241386c22036a2202420437022c2002420637022420024192d6c280003602202002410636021c2002418cd6c28000360218200241c8808080003602102002428d8cb3f8c0c2e5ae72370308200242e2cda9ec8fb5f7cd103703002001280214210220012001280210360248200120023602402001200220036a41386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002007418080808078460d012001200436021820012005360210200120053602142001200520064105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200837023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000b880703067f017e017f23808080800041d0006b2201248080808000200141106a41186a4191e9c28000411641eee8c2800041184104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc133703082002410b36020420024186e9c280003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a220841013602002002420437022c2002420b370224200241b1d7c280003602202002410736021c200241aad7c28000360218200241bb80808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200241386c22086a2202420437022c2002420f370224200241d6d7c280003602202002410336021c200241d3d7c28000360218200241c98080800036021020024296e397c6bfa5aeee46370308200242aceff0b4f2bd8f8fe4003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000be50503067f017e027f23808080800041d0006b2201248080808000200141286a41a2e8c28000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bf80808000360218200242e2fdfabeb18d8d864a370310200242bca38dd6aec8d4ff0437030820024101360204200241a8e8c280003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a41b8d4c2800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241a9e8c28000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41ade8c280004104108d828080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a41c8d5c2800010f0818080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000bb50601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802b80121022004417f6a22040d000b0b20034108490d00034020022802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012102200541786a22050d000b0b034020022002417e6a2f00006b210520022802002102200541002802ec82d480001181808080000020020d000b0b20004180808080783602040f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802b80121022004417f6a22040d000b0b20034108490d00034020022802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082103024002400240200128020c2204200128020422022f01b6014f0d00200221050c010b034020022802002205450d0220022f01b401210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01b6014f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41bc016a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802b80121022003417f6a22030d000b0b20084107490d00034020022802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012102200741786a22070d000b0b2001200636020c2001410036020820012002360204200020052004410c6c6a22022902303702042000200520044102746a2802043602002000410c6a200241386a2802003602000f0b20022002417e6a2f00006b41002802ec82d480001181808080000041a4c4c2800010a081808000000b41aceac2800010a081808000000b860403047f017e047f23808080800041306b2202248080808000200128020c2103410021042001410036020c02402003450d002001410c6a21052001290210210603402006a721070240024020064220882206200333018a015a0d002006a721080c010b20032109034020092802582203450d03200741016a210720092f018801210820032109200820032f018a014f0d000b0b0240200320084103746a2209280200200941046a28020072450d000240024020070d00200841016a21080c010b200320084102746a4190016a2802002103410021082007417f6a2209450d002007417e6a210a024020094107712207450d0003402009417f6a2109200328028c0121032007417f6a22070d000b0b200a4107490d000340200328028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012103200941786a22090d000b0b200120083602142001420037020c200129021021060c010b0b200128020422092009280200417f6a360200200220083602282002200736022420022003360220200241086a200241206a200141086a2002412f6a10ce818080002000410c6a200241086a41086a28020036020020002002290208370204200241206a41086a2002411c6a2802002203360200200220022902142206370320200541086a200336020020052006370200410121040b20002004360200200241306a2480808080000b8e0401077f23808080800041306b2203248080808000200220016b2204413c6e210502400240024002400240024020022001460d0041002d008083d480001a2005410c6c220641002802f482d48000118280808000002202450d032002200241036a417c71220720026b22066a417e6a20063b00002007210220052106034020022001280200360200200241086a4100200141046a2802002208200141106a2802006b2209200920084b1b360200200241046a4100200141086a2802002208200141146a2802006b2209200920084b1b3602002001413c6a21012002410c6a21022006417f6a22060d000b20032003412f6a36020c2004413c460d02200441ec09490d01200720052003410c6a1088828080000c020b20004100360208200041003602000c040b2007200541012003410c6a10b4828080000b41002d008083d480001a418c0141002802f482d48000118280808000002201450d012001200141036a417c7120016b22026a220141003b018a01200141003602582001417e6a20023b0000200320013602002003410036020420034100360208200320073602202003200736021c2003410236020c20032005360224200320072005410c6c6a36022820032003410c6a200341086a10cc8180800020002003280208360208200020032902003702000c020b4104200610ab80808000000b4104418c0110ab80808000000b200341306a2480808080000b880703067f017e017f23808080800041d0006b2201248080808000200141106a41186a41dce8c28000411241eee8c2800041184104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc133703082002410b36020420024186e9c280003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a220841013602002002420437022c2002420b370224200241b1d7c280003602202002410736021c200241aad7c28000360218200241bb80808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200241386c22086a2202420437022c20024213370224200241c0d7c280003602202002410436021c200241bcd7c28000360218200241c98080800036021020024296e397c6bfa5aeee46370308200242aceff0b4f2bd8f8fe4003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000ba40303027f017e017f23808080800041306b2201248080808000024002400240024020002802000d002000280204200028020c4103746a21000c010b200141106a200041106a2202280200360200200141086a200041086a290200220337030020012000290200370300024002402003a7450d00200141206a41086a200228020036020020012000290208370320200141146a200141206a2001280204410041002001200141146a10c781808000200128021c210420012802142100200128020021020c010b41002d008083d480001a20012802002102418c0141002802f482d48000118280808000002200450d022000200041036a417c7120006b22046a220041003b018a01200041003602582000417e6a20043b0000200241003602042002200036020020002f018a012204410b4f0d032000200441016a3b018a01200020044102746a200128020436025c200020044103746a42003702000b2002200228020841016a360208200020044103746a21000b200141306a24808080800020000f0b4104418c0110ab80808000000b41d8bbc28000412041f8bbc28000108081808000000bbf0703067f017e0a7f23808080800041206b22032480808080000240024002400240024002400240024002400240024020020d004100210441002d008083d480001a418c0141002802f482d48000118280808000002202450d062002200241036a417c7120026b22056a220641003b018a01200641003602582006417e6a20053b0000024020012f018a01450d00200641dc006a2107200141dc006a21054100210420012108034020062f018a012202410b4f0d03200829020021092005280200210a2006200241016a3b018a01200720024102746a200a360200200620024103746a2009370200200541046a2105200841086a2108200441016a220420012f018a01490d000b0b2000200436020820004100360204200020063602000c0a0b200341086a200128028c012002417f6a220b10cd8280800020032802082202450d0841002d008083d480001a200328020c210c41bc0141002802f482d48000118280808000002206450d012006200641036a417c7120066b22056a2206200236028c01200641003b018a01200641003602582006417e6a20053b0000200241003b018801200220063602582003200c41016a36020c2003200636020820012f018a01450d072006418c016a210d200641dc006a210e200141dc006a210520032802102107200121084100210f0340200841046a28020021102008280200211120052802002112200341146a200541346a280200200b10cd82808000200328021c21130240024020032802142202450d00200328021821040c010b41002d008083d480001a418c0141002802f482d48000118280808000002202450d04410021042002200241036a417c7120026b220a6a220241003b018a01200241003602582002417e6a200a3b00000b2004200c470d0420062f018a012204410b4f0d052006200441016a220a3b018a01200e20044102746a2012360200200620044103746a2204201036020420042011360200200d200a4102746a20023602002002200a3b01880120022006360258200541046a2105200841086a2108201320076a41016a2107200f41016a220f20012f018a014f0d070c000b0b41d8bbc28000412041f8bbc28000108081808000000b410441bc0110ab80808000000b4104418c0110ab80808000000b4188bcc28000413041b8bcc28000108081808000000b41d8bbc28000412041c8bcc28000108081808000000b4104418c0110ab80808000000b200320073602100b20002003290208370200200041086a200341086a41086a2802003602000c010b41bcebc2800010a081808000000b200341206a2480808080000bd10501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a2100200128028c0121012005417f6a22050d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200041786a22000d000b0b20012100410021020b024002400240200220002f018a014f0d0020022105200021010c010b034020002802002201450d0220002f018801210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f018a014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4190016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a2106200028028c0121002004417f6a22040d000b0b20074107490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200641786a22060d000b0b024020012005410c6c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d480001181808080000041a4c4c2800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a2104200028028c0121002005417f6a22050d000b0b20024108490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b034020002000417e6a2f00006b210120002802002100200141002802ec82d480001181808080000020000d000b0b0b970501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a2100200128028c0121012004417f6a22040d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200041786a22000d000b0b20012104410021020b024002400240200220042f018a014f0d00200421000c010b034020042802582200450d0220042f018801210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f018a014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a4190016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a2104200028028c0121002005417f6a22050d000b0b20014107490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d480001181808080000041a4c4c2800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a2104200028028c0121002005417f6a22050d000b0b20024108490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b034020002000417e6a2f00006b210420002802582100200441002802ec82d480001181808080000020000d000b0b0ba10801077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802b80121012003417f6a22030d000b0b20024108490d00034020012802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f01b6014f0d00200121040c010b034020012802002204450d0220012f01b401210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f01b6014f0d000b0b0240024020030d00200241016a2105200421010c010b200420024102746a41bc016a2802002101410021052003417f6a2206450d002003417e6a2107024020064107712203450d0003402006417f6a210620012802b80121012003417f6a22030d000b0b20074107490d00034020012802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012101200641786a22060d000b0b2000200536020c200041003602082000200136020420042002410c6c6a220141306a2106024020012802382203450d00200128023421052003410171210741002104024020034101460d002003417e7121024100210420052101034002402001280200450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012002200441026a2204470d000b0b2007450d00200520044104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402006280200450d00200628020422012001417e6a2f00006b41002802ec82d48000118180808000000b200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d480001181808080000041a4c4c2800010a081808000000b41aceac2800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802b80121012003417f6a22030d000b0b20024108490d00034020012802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012101200441786a22040d000b0b034020012001417e6a2f00006b210420012802002101200441002802ec82d480001181808080000020010d000b0b0b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a419cedc280002005410c6a419cedc2800020032004108481808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41acedc280002005410c6a41bcedc2800020032004108481808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41ccedc280002005410c6a41ccedc2800020032004108481808000000b8d1807087f017e057f037e027f057e077f23808080800041206b2205248080808000024002400240024002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c220a20074108491b220b4101764b0d01410021022001280200210b0240200920084107714100476a2209450d002009410171210c024020094101460d00200941feffffff03712104410021020340200b20026a22092009290300220d427f85420788428182848890a0c0800183200d42fffefdfbf7efdfbfff00847c370300200941086a22092009290300220d427f85420788428182848890a0c0800183200d42fffefdfbf7efdfbfff00847c370300200241106a21022004417e6a22040d000b0b200c450d00200b20026a22022002290300220d427f85420788428182848890a0c0800183200d42fffefdfbf7efdfbfff00847c3703000b20084108490d02200b20086a200b2900003700000c030b20040d040c050b02400240024002400240200b41016a22092002200920024b1b2202410f490d00200241ffffffff014b0d02417f200241037441076e417f6a677641016a21090c010b41044108411020024108491b20024104491b21090b024002402009ad42307e220d422088a70d00200da7220b200941086a220c6a2202200b490d00200241f8ffffff074b0d0041002d008083d480001a200241002802f482d4800011828080800000220a450d01200a200a41076a417871200a6b22026a2204417e6a20023b00002004200b6a41ff01200c10fa97808000210a2009417f6a220c200941037641076c200c4108491b210e20060d032001280200210f0c040b2004450d08200541003602182005410136020c200541f8edc2800036020820054204370210200541086a41e4eec2800010fe80808000000b410821092004450d094108200210ab80808000000b2004450d06200541003602182005410136020c200541f8edc2800036020820054204370210200541086a41e4eec2800010fe80808000000b200a41506a2110200a41086a21112001280200220f41506a2112200329030022134230892114200f290300427f8542808182848890a0c0807f832115200328020821164100210b20062117200f21040340024020154200520d000340200b41086a210b200441086a220429030042808182848890a0c0807f83220d42808182848890a0c0807f510d000b200d42808182848890a0c0807f8521150b20157aa7410376200b6a2103410029039083d48000210d2013211802402016450d002016290008200d85221842208822192016290000201485221a422088221b7e201842ffffffff0f832218201a42ffffffff0f83221a7e852018201b7e2019201a7e854220898521180b0240200a200c200f410020036b41306c6a220241586a29000020184220892218200d7c85220d4220882219200241686a290000410029038883d48000221a85221b422088221c7e200d42ffffffff0f83220d201b42ffffffff0f83221b7e852019201b7e200d201c7e8542208985200241506a290000201885220d42ffffffff0f832218200241606a290000201a85221942ffffffff0f83221a7e85200d422088220d201942208822197e85200d201a7e201820197e8542208985220d42208822184288d5fda1027e200d42ffffffff0f83220d42d3918cad087e85201842d3918cad087e200d4288d5fda1027e8542208885a7221d7122096a29000042808182848890a0c0807f83220d4200520d00410821020340200920026a2109200241086a2102200a2009200c7122096a29000042808182848890a0c0807f83220d500d000b0b2015427f7c21180240200a200d7aa741037620096a200c7122026a2c0000417f4c0d00200a29030042808182848890a0c0807f837aa741037621020b20182015832115200a20026a201d41197622093a00002011200241786a200c716a20093a00002010200241506c6a220241286a2012200341506c6a220941286a290000370000200241206a200941206a290000370000200241186a200941186a290000370000200241106a200941106a290000370000200241086a200941086a290000370000200220092900003700002017417f6a22170d000b0b2001200c3602042001200a3602002001200e20066b36020841818080807821092007450d052007200741306c41376a41707122026a4177460d05200f20026b22022002417e6a2f00006b41002802ec82d48000118180808000000c050b200b41086a200b200810f9978080001a2008450d010b2003290300221c42308921132003280208210c410121024100211e0340201e211f2002211e0240200b201f6a2d0000418001470d00200b201f41506c6a2202417c6a2117200241786a211d200241746a210f200241706a21072002416c6a2106200241686a2110200241646a2111200241606a21122002415c6a210e200241586a2120200241546a2121200241506a21034100201f6b41306c212202400340200b20226a220241506a2109410029039083d480002115410029038883d48000210d201c21180240200c450d00200c29000820158522184220882219200c290000201385221a422088221b7e201842ffffffff0f832218201a42ffffffff0f83221a7e852018201b7e2019201a7e854220898521180b20012802042204200241586a2900002018422089221820157c8522154220882219200241686a290000200d85221a422088221b7e201542ffffffff0f832215201a42ffffffff0f83221a7e852019201a7e2015201b7e85422089852009290000201885221542ffffffff0f832218200241606a290000200d85220d42ffffffff0f8322197e8520154220882215200d422088220d7e85201520197e2018200d7e8542208985220d42208822154288d5fda1027e200d42ffffffff0f83220d42d3918cad087e85201542d3918cad087e200d4288d5fda1027e8542208885a7221671220a21090240200b200a6a29000042808182848890a0c0807f83220d4200520d0041082102200a21090340200920026a2109200241086a2102200b200920047122096a29000042808182848890a0c0807f83220d500d000b0b0240200b200d7aa741037620096a20047122026a2c0000417f4c0d00200b29030042808182848890a0c0807f837aa741037621020b02402002200a6b201f200a6b732004714108490d00200b20026a22092d0000210a2009201641197622163a000020012802002223200241786a2004716a41086a20163a0000200b200241506c6a220241506a2109200a41ff01460d022003280000210b200320092800003600002009200b360000202128000021092021200241546a220b280000360000200b2009360000202028000021092020200241586a220b280000360000200b2009360000200e2800002109200e2002415c6a220b280000360000200b2009360000201228000021092012200241606a220b280000360000200b2009360000201128000021092011200241646a220b280000360000200b2009360000201028000021092010200241686a220b280000360000200b20093600002006280000210920062002416c6a220b280000360000200b2009360000200728000021092007200241706a220b280000360000200b2009360000200f2800002109200f200241746a220b280000360000200b2009360000201d2800002109201d200241786a220b280000360000200b20093600002017280000210920172002417c6a2202280000360000200220093600002001280200210b0c010b0b200b201f6a201641197622023a00002001280200220b2004201f41786a716a41086a20023a00000c010b2023201f6a41ff013a000020232001280204201f41786a716a41086a41ff013a0000200941286a200341286a290000370000200941206a200341206a290000370000200941186a200341186a290000370000200941106a200341106a290000370000200941086a200341086a290000370000200920032900003700002023210b0b201e201e20084922096a210220090d000b20012802042202200241016a41037641076c20024108491b210a200128020c21060b2001200a20066b36020841818080807821090c020b200541003602182005410136020c200541f8edc2800036020820054204370210200541086a41e4eec2800010fe80808000000b410021090b0b2000200236020420002009360200200541206a2480808080000be60101017f23808080800041106b220424808080800002400240024002402002200141206a412010f597808000450d00200441046a200141c0006a20022003108e828080002004280204418180808078470d0120004180808080783602000c020b41002d008083d480001a410141002802f482d48000118280808000002201450d02200141003a00002000410136020820002001360204200041013602002001417e6a41003b00000c010b20002004290204370200200041086a200441046a41086a2802003602000b200441106a2480808080000f0b4101410141bcf2c2800010b980808000000bfc0101017f23808080800041106b22032480808080000240024002400240024002402001200041206a412010f597808000450d00200341046a200041c0006a20012002108e8280800020032802042200418180808078470d01410021000c040b4100210141002d008083d480001a410141002802f482d48000118280808000002200450d04200041003a00002000417e6a41003b00000c010b02402000418080808078470d00410021000c030b2000450d0120032802082200417e6a2f000021010b200020016b41002802ec82d48000118180808000000b410121000b200341106a24808080800020000f0b4101410141bcf2c2800010b980808000000bee0503067f017e017f23808080800041d0006b2201248080808000200141286a4184f0c28000410a418ef0c2800041204104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024101360224200241aff0c28000360220200241b480808000360218200242dbd791d5c2919eaecd00370310200242e6ed8d82cc91adcb0537030820024101360204200241aef0c280003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242aceff0b4f2bd8f8fe4003703002002420437022c20024206370224200241d4d6c2800036022020024100360218200241c98080800036021020024296e397c6bfa5aeee463703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000bf30904077f017e017f017e23808080800041d0006b2201248080808000200141286a41b0f0c28000411741c7f0c2800041174104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bb80808000360238200242d7c9cb8fc1cf97db3e370330200242e88488d0c0e3aebc1337032820024101360224200241dff0c28000360220200241bc80808000360218200242ec8ca7e0e2f0c7e6bf7f370310200242e6e2dea393f0baf43a37030820024101360204200241def0c280003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421052001280218210620012802282107200129022c2108200141106a41086a22094100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242cdcabc9d9cf3be8d0337030820024289ece2a6cba888f82b370300200141c0006a41086a220341013602002002420437022c20024208370224200241a2d7c280003602202002410b36021c20024197d7c28000360218200241ce80808000360210200120012902103703400240200328020022032001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200341386c6a2202420437022c20024201370224200241edd6c280003602202002411336021c200241dad6c28000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002009200341016a220336020020012001290340220a37031002402003200aa7470d00200141106a41d8d5c2800010b5928080000b2001280214200341386c6a2202420437022c2002420137022420024187d7c280003602202002411936021c200241eed6c28000360218200241bc80808000360210200242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c8006a200341016a220236020020012001290310220a37034002402002200aa7470d00200141c0006a41d8d5c2800010b5928080000b2001280244200241386c22036a2202420437022c2002420337022420024194d7c280003602202002410c36021c20024188d7c28000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002001280244210220012001280240360248200120023602402001200220036a41386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002007418080808078460d012001200436021820012005360210200120053602142001200520064105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200837023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000bf303010d7f410121020240200128020422034104490d0020012003417c6a220436020420012001280200220541046a36020020044104490d00200528000021062001200341786a22043602042001200541086a36020020044104490d00200528000421072001200341746a220436020420012005410c6a36020020044104490d00200528000821082001200341706a22043602042001200541106a36020020044104490d00200528000c210920012003416c6a22043602042001200541146a36020020044104490d002005280010210a2001200341686a22043602042001200541186a36020020044104490d002005280014210b2001200341646a220436020420012005411c6a36020020044104490d002005280018210c2001200341606a22043602042001200541206a36020020044104490d00200528001c210d20012003415c6a22043602042001200541246a36020020044104490d002005280020210e2001200341586a22043602042001200541286a36020020044104490d00200528002421022000200e36022c2000200d3602282000200c3602242000200b3602202000200a36021c2000200936021820002008360214200020073602102000200636020c200020023602042001200341546a36020420012005412c6a36020020002005280028360208410021020b200020023602000bc80701067f2380808080004180056b22022480808080000240024002400240024020012802004101470d00200241086a20012802042001280208108c8280800020022802084107470d01200241e0016a41186a22034200370300200241e0016a41206a22044200370300200241e0016a41286a22054200370300200241e0016a41086a2206200241146a2902003703002002200229020c3703e001200242003703f00141002d008083d480001a413041002802f482d48000118280808000002201450d022001200141036a417c7120016b22076a220120022903e0013702002001417e6a20073b0000200141086a2006290300370200200141106a200241e0016a41106a290300370200200141186a2003290300370200200141206a2004290300370200200141286a2005290300370200200041023a0000200020013602040c040b200128020421030240200128020822044120470d00200041003a0000200020032f00003b00012000200329000737000820002003280003360204200041036a200341026a2d00003a0000200041106a2003410f6a290000370000200041186a200341176a290000370000200041206a2003411f6a2d00003a00000c040b4100210102400240024020044100480d00024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441bcf2c2800010b980808000000b2001417e6a41003b00000b20012003200410f497808000210341002d008083d480001a413041002802f482d48000118280808000002201450d02200041023a00002001200141036a417c7120016b22056a220142003702102001200436020c20012003360208200120043602042001418880808078360200200020013602042001417e6a20053b0000200141186a4200370200200141206a4200370200200141286a42003702000c030b200241e0016a200241086a41d80110f4978080001a200241b8036a200241e0016a10db8280800020022802bc032103024020022802b80322044108470d00200041023a0000200020033602040c030b200241a0046a200241b8036a41086a41e00010f4978080001a41002d008083d480001a024041e80041002802f482d48000118280808000002201450d002001200141036a417c7120016b22056a22012003360204200120043602002001417e6a20053b0000200141086a200241a0046a41e00010f4978080001a20002001360204200041013a00000c030b410441e80010ab80808000000b4104413010ab80808000000b4104413010ab80808000000b20024180056a2480808080000b891d02077f017e2380808080004180026b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802002203417d6a2204410420044104491b0e050300040102030b200241f8006a200141106a10ee978080000240024020012802044101470d00200128020c22044120470d0c200241246a2001280208220141086a2900003702002002412c6a200141106a290000370200200241346a200141186a290000370200200241003602182002200129000037021c0c010b200128020c2204417f4c0d0c200441f5ffffff074f0d0d2001280208210341002d008083d480001a2004410b6a41fcffffff0771220541002802f482d48000118280808000002201450d0e2001200141036a417c7120016b22056a22014281808080103702002001417e6a20053b0000200141086a2003200410f4978080001a200241186a41086a2003200441002802c480d48000118680808000002002200436021c200220013602180b200020022902783702042000412c6a200241a0016a290200370200200041246a200241f8006a41206a2902003702002000411c6a200241f8006a41186a290200370200200041146a200241f8006a41106a2902003702002000410c6a200241f8006a41086a29020037020020004103360200200020022902183702342000413c6a200241186a41086a290200370200200041c4006a200241186a41106a290200370200200041cc006a200241186a41186a290200370200200041d4006a200241186a41206a2902003702000c150b200141c4016a2105200141046a2106024020012802b8014102460d0041102103410f21040c050b024020012802ac014102460d00410f2103410e21040c050b024020012802a0014102460d00410e2103410d21040c050b02402001280294014102460d00410d2103410c21040c050b02402001280288014102460d00410c2103410b21040c050b0240200128027c4102460d00410b2103410a21040c050b024020012802704102460d00410a2103410921040c050b024020012802644102460d0041092103410821040c050b024020012802584102460d0041082103410721040c050b0240200128024c4102460d0041072103410621040c050b024020012802404102460d0041062103410521040c050b024020012802344102460d0041052103410421040c050b41022104024020012802284102460d0041042103410321040c050b0240200128021c4102460d00410321030c050b41022103024020012802104102460d00410121040c050b410421074100210420062802004102470d03410021060c050b024020012802b4014102460d0041102105410f21040c070b024020012802a8014102460d00410f2105410e21040c070b0240200128029c014102460d00410e2105410d21040c070b02402001280290014102460d00410d2105410c21040c070b02402001280284014102460d00410c2105410b21040c070b024020012802784102460d00410b2105410a21040c070b0240200128026c4102460d00410a2105410921040c070b024020012802604102460d0041092105410821040c070b024020012802544102460d0041082105410721040c070b024020012802484102460d0041072105410621040c070b0240200128023c4102460d0041062105410521040c070b024020012802304102460d0041052105410421040c070b41022104024020012802244102460d0041042105410321040c070b024020012802184102460d00410321050c070b410221050240200128020c4102460d00410121040c070b410421054100210420034102470d05410021060c070b200041023602000c120b200241f8006a200141106a10ee97808000200241c0006a200141046a10da8280800020022d004022014102460d10200020022f00413b00052000200229024837020c200041076a20022d00433a0000200041146a200241c0006a41106a2902003702002000411c6a200241c0006a41186a290200370200200041246a200241c0006a41206a28020036020020022802442104200041d0006a200241a0016a290200370200200041c8006a200241f8006a41206a290200370200200041c0006a200241f8006a41186a290200370200200041386a200241f8006a41106a290200370200200041306a20024180016a2902003702002000200229027837022820002004360208200020013a0004200041043602000c110b410121030b2002200436026441002d008083d480001a200341246c220741002802f482d48000118280808000002204450d082004200441036a417c71220720046b22086a417e6a20083b000020024100360274200220073602702002200336026c200241003602f8012002410036024820022005360244200220063602402002200241f8016a3602542002200241ec006a3602502002200241e4006a36024c0240200241c0006a200241ff016a200241f8016a10ad8280800041fd01714101470d00200241f8006a41106a200241c0006a41106a290200370300200241f8006a41086a200241c0006a41086a29020037030020022002290240370378200241f8006a200241ff016a200228028c0110ad8280800041fd01714101470d00417f210403402004417f6a2204450d0b200241f8006a200241ff016a200228028c0110ad8280800041fd01710d000b0b024020022802f8012204450d002000410836020020002004360204024020022802742201450d002002280270210003400240024020002d00000e03010001000b200041046a280200220410f38180800020042004417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002001417f6a22010d000b0b200228026c450d10200228027022002000417e6a2f00006b41002802ec82d48000118180808000000c100b2002280274210420022802702107200228026c21060b410021030240200528020022054102460d004101210302402005410171450d0020012802cc0122054120470d0b200241b4016a20012802c801220141086a290000370200200241bc016a200141106a290000370200200241c4016a200141186a290000370200200241003602a801200220012900003702ac010c010b200241086a20012802c801220520012802cc01220110e39780800020022903082109200241b0016a2005200141002802c480d4800011868080800000200220093702a8010b2000200336020420004105360200200020022902a801370208200020043602382000200736023420002006360230200041106a200241b0016a290200370200200041186a200241a8016a41106a290200370200200041206a200241a8016a41186a290200370200200041286a200241a8016a41206a2902003702000c0e0b410121050b2002200436026841002d008083d480001a200541246c220341002802f482d48000118280808000002204450d082004200441036a417c71220320046b22066a417e6a20063b000020024100360274200220033602702002200536026c200241003602f801200241003602482002200141c0016a360244200220013602402002200241f8016a3602542002200241ec006a3602502002200241e8006a36024c0240200241c0006a200241ff016a200241f8016a10ab8280800041fd01714101470d00200241f8006a41106a200241c0006a41106a290200370300200241f8006a41086a200241c0006a41086a29020037030020022002290240370378200241f8006a200241ff016a200228028c0110ab8280800041fd01714101470d00417f210403402004417f6a2204450d0b200241f8006a200241ff016a200228028c0110ab8280800041fd01710d000b0b024020022802f8012204450d002000410836020020002004360204024020022802742201450d002002280270210003400240024020002d00000e03010001000b200041046a280200220410f38180800020042004417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002001417f6a22010d000b0b200228026c450d0d200228027022002000417e6a2f00006b41002802ec82d48000118180808000000c0d0b2002280274210620022802702105200228026c21040b200241f8006a200141cc016a10ee9780800041002103024020012802c00122074102460d004101210302402007410171450d0020012802c80122074120470d0b200241dc016a20012802c401220141086a290000370200200241e4016a200141106a290000370200200241ec016a200141186a290000370200200241003602d001200220012900003702d4010c010b200241106a20012802c401220720012802c801220110e39780800020022903102109200241d8016a2007200141002802c480d4800011868080800000200220093702d0010b20002002290278370238200041e0006a200241a0016a290200370200200041d8006a200241f8006a41206a290200370200200041d0006a200241f8006a41186a290200370200200041c8006a200241f8006a41106a290200370200200041c0006a200241f8006a41086a29020037020020002003360200200020022902d0013702042000410c6a200241d0016a41086a290200370200200041146a200241d0016a41106a2902003702002000411c6a200241d0016a41186a290200370200200041246a200241d0016a41206a29020037020020002006360234200020053602302000200436022c0c0b0b4120200441bcf1c28000108681808000000b41f8e9cd8000412b200241ff016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ff016a418c80c0800041b482c0800010a981808000000b4104200510ab80808000000b4104200710ab80808000000b41fcf6c2800010b780808000000b4120200541bcf1c28000108681808000000b4104200310ab80808000000b41fcf6c2800010b780808000000b4120200741bcf1c28000108681808000000b20022802442101200041083602002000200136020420022802a0014129490d00200228027822002000417e6a2f00006b41002802ec82d48000118180808000000b20024180026a2480808080000ba00401047f23808080800041c0016b2202248080808000200241086a41d4006a200141e0006a280200360200200241086a413c6a200141c8006a280200360200200241086a41c8006a200141d4006a280200360200200241086a41086a200141086a290200370300200241086a41106a200141106a290200370300200241086a41186a200141186a290200370300200241086a41206a200141206a290200370300200241086a41286a200141286a290200370300200241086a41306a200141306a280200360200200220012902583702542002200129024037023c2002200129024c3703482002200129020037030820012802682103200128026c210420012802642105200241003602a401200241003602900120022004410020051b36028c0120022003360288012002200536028401200241003602800120022005410047220436027c2002200336027820022005360274200241003602702002200436026c200241e0006a200241ec006a41f4efc2800010ed8180800020022802682105200228026421032002200241bf016a3602b801024020054102490d00024020054115490d0020032005200241b8016a108a828080000c010b200320054101200241b8016a10b5828080000b2000200241086a41d80010f497808000220541e0006a2001413c6a2802003602002005200129023437025820052002290260370264200541ec006a200241e0006a41086a280200360200200241c0016a2480808080000bf60503057f017e027f23808080800041d0006b2201248080808000200141286a41ccf2c28000411041dcf2c2800041334104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141c0006a41086a220841013602002007420437022c2007420b370224200741b1d7c280003602202007410736021c200741aad7c28000360218200741bb80808000360210200120012902103703400240200828020022072001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200741386c22086a2207420437022c2007420337022420074194d7c280003602202007410b36021c2007418adac28000360218200741bb80808000360210200742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc133703002001280244210720012001280240360248200120073602402001200720086a41386a36024c20012007360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef81808000200141106a410b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b880703067f017e017f23808080800041d0006b2201248080808000200141286a418ff3c28000412141dcf2c2800041334104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241b58080800036021820024298bba9be9de4aafe9d7f370310200242d69fe9f4d2dbfcf06737030820024107360204200241b0f3c280003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242f0a5a9bebbb2e0d57a370308200242f4d6f0d0a6c28ba9917f370300200141c0006a41086a220841013602002002420437022c2002420c370224200241a2dac280003602202002410d36021c20024195dac28000360218200241cf80808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200241386c22086a2202420437022c2002421f370224200241bddac280003602202002410f36021c200241aedac28000360218200241d080808000360210200242acdbfe9bdb95b3fb857f37030820024289898785e4ea8494f2003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000b880703067f017e017f23808080800041d0006b2201248080808000200141286a418ff3c28000412141dcf2c2800041334104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241b080808000360218200242a8b2b4aef4dcada3bc7f370310200242a481aa97ccf184c9d70037030820024107360204200241b0f3c280003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b59280800020012802142202429a8cd6b2a3b99b8d8a7f370308200242bfc3dae4c6b1f2c2e900370300200141c0006a41086a220841013602002002420437022c2002420c370224200241a2dac280003602202002410d36021c20024195dac28000360218200241d180808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200241386c22086a2202420437022c2002421f370224200241bddac280003602202002410f36021c200241aedac28000360218200241d280808000360210200242ec90f0e5cc9495cd6237030820024288e8b5f5c7dcc6c41f3703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000ba50804057f017e037f017e23808080800041d0006b2201248080808000200141286a41b7f3c28000411a41dcf2c2800041334104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a22074100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220842ebd7fefbd5c0f891683703082008429dab84f7bcfdc8eab97f370300200141c0006a41086a220941013602002008420437022c20084217370224200841ebdac280003602202008410f36021c200841dcdac28000360218200841d380808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200941386c6a2208420437022c2008421537022420084193dbc280003602202008411136021c20084182dbc28000360218200841d4808080003602102008428382d1e2e5ecafee3b370308200842959bacd4a8e780e8a67f3703002007200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41d8d5c2800010b5928080000b2001280214200941386c6a2208420437022c20084210370224200841c0dbc280003602202008411836021c200841a8dbc28000360218200841d580808000360210200842a3eac7f48db3bc9652370308200842d6f4c29ad1ead2a230370300200141c8006a200941016a220836020020012001290310220a37034002402008200aa7470d00200141c0006a41d8d5c2800010b5928080000b2001280244200841386c22096a2208420437022c20084216370224200841e0dbc280003602202008411036021c200841d0dbc28000360218200841d680808000360210200842b7cac1abd0a1b482463703082008428fc596abb7a7bbd4f8003703002001280244210820012001280240360248200120083602402001200820096a41386a36024c20012008360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bf50503057f017e027f23808080800041d0006b2201248080808000200141286a41d1f3c28000411341dcf2c2800041334104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220742acfbf0919cb1a8f1783703082007429688c99cd4cce5a0fc00370300200141c0006a41086a220841013602002007420437022c2007421f37022420074187dcc280003602202007411136021c200741f6dbc28000360218200741d780808000360210200120012902103703400240200828020022072001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200741386c22086a2207420437022c2007421b370224200741b9dcc280003602202007411336021c200741a6dcc28000360218200741d88080800036021020074285b4e7b6f1e4d4ecdd00370308200742a1ee9da78299a7ee323703002001280244210720012001280240360248200120073602402001200720086a41386a36024c20012007360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bf20101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a220141d980808000360228200141c580808000360210200142cdd1c1cbe3b5a3c444370308200142b9e0ddc2f1d2dbbf4c370300200142b0d48982effd8bb063370320200142fdb7ea88e1c5f0a94f370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041da80808000360218200042d3ae8adeb0b197a4917f370310200042f7aebf86e9c3a8c979370308200041023a00000bf20101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a220141c480808000360228200141c580808000360210200142cdd1c1cbe3b5a3c444370308200142b9e0ddc2f1d2dbbf4c370300200142d6e8a8f093e8c4c621370320200142bd8ad681c9f684cc67370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0bf20101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a220141db80808000360228200141c580808000360210200142cdd1c1cbe3b5a3c444370308200142b9e0ddc2f1d2dbbf4c370300200142f3b6f6dec087b78b73370320200142b4ebc2fde5dcfca426370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0bf30101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a220141b380808000360228200141c580808000360210200142cdd1c1cbe3b5a3c444370308200142b9e0ddc2f1d2dbbf4c370300200142bd939dd6b2ebc5fc2b37032020014299b3aba887f2f0b3907f370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0bdb0301017f23808080800041d0006b22042480808080000240024020012d0098024101460d0020012d0099024101460d01200420014188016a220136020c2004410c6a41106a200141086a2902003702002004410c6a41186a200141106a2902003702002004412c6a200141186a2902003702002004418cf7c280003602102004410036023c20044100360234200420012902003702142004410036024c200420033602482004200236024420042004410c6a20022003200441c4006a10fe81808000024002402004280200418180808078470d0002400240024002402004280204220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110e8828080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c010b20002004290200370200200041086a200441086a2802003602000b200441d0006a2480808080000f0b41f4f4c28000410f41f4f5c28000108081808000000b41f4f4c28000410f41e4f5c28000108081808000000bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b200010e8828080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0bdd0204047f017e017f017e024020002802442201450d000240200028024c2202450d002000280240220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341807d6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2005427f7c210702402003410020057aa74103766b41306c6a220641706a280200450d00200641746a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200720058321052002417f6a22020d000b0b2001200141306c41376a41707122046a4177460d00200028024020046b22042004417e6a2f00006b41002802ec82d48000118180808000000b0240200028028001450d0020002802840122042004417e6a2f00006b41002802ec82d48000118180808000000b0b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad423c7e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d0020022004413c6c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10ea8280800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be20101077f23808080800041206b22022480808080004100210302402000280200220441ffffffff014d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410274220741fcffffff074b0d004100210502402004450d002002200441027436021c20022000280204360214410421050b20022005360218200241086a41042007200241146a10ea8280800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42247e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441246c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10ea8280800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10ea8280800020052802084101470d0120052802102102200528020c21060b2006200241fcf6c2800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b840603047f017e037f23808080800041c0006b2201248080808000200141246a41d4f9c28000410610c3928080002001410036022020014280808080c00037021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220441df80808000360218200442a8d0be9494d1a5c301370310200442e9d08be496b5fe8c9d7f37030820044101360204200441daf9c280003602002004417e6a20033b0000200141086a200141186a220241086a2802003602002001200229020037030020012802242103200129022821052001410c6a41086a410036020020014280808080c00037020c2001410c6a4180f8c2800010a093808000200128021022024100360208200242808080808001370200200241003a00202002410436021c200241dbf9c280003602182002410036021420024280808080c00037020c200141306a41086a220641013602002001200129020c3703302001410036021420014280808080800137020c2001410c6a41a0f9c2800010b5928080002001280210220242e9d08be496b5fe8c9d7f3703002002410036023020024280808080c0003703282002410036022020024100360218200241df80808000360210200242a8d0be9494d1a5c301370308200128020c2107200128021021080240200628020022022001280230470d00200141306a4180f8c2800010a0938080000b2001280234200241246c22066a220241013a00202002410436021c200241dff9c28000360218200242043702102002420137020820022008360204200220073602002003418080808078460d0120012802342102200128023021072000410136024c20002004360248200041013602442000200537023c200020033602382000200236020820002007360204200041013a0000200020012903003702502000200220066a41246a20026b41246e36020c200041d8006a200141086a280200360200200141c0006a2480808080000f0b4108412010ab80808000000b41b0f9c28000411141c4f9c2800010a181808000000b930603047f017e017f23808080800041d0006b2201248080808000200141106a41186a41dcfbc28000411341effbc2800041184104410010c2928080002001410036022420014280808080c00037021c41002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220441c580808000360218200442cdd1c1cbe3b5a3c444370310200442b9e0ddc2f1d2dbbf4c3703082004410236020420044187fcc280003602002004417e6a20033b0000200141086a2001411c6a220241086a2802003602002001200229020037030020012802282103200129022c2105200141106a41086a4100360200200142808080808001370210200141106a41a0f9c2800010b5928080002001280214220242cdd1c1cbe3b5a3c444370308200242b9e0ddc2f1d2dbbf4c370300200141c0006a41086a220641013602002002420437022c20024202370224200241ecf9c280003602202002410936021c200241e3f9c28000360218200241c580808000360210200120012902103703400240200628020022022001280240470d00200141c0006a41a0f9c2800010b5928080000b2001280244200241386c22066a2202420437022c20024213370224200241f2f9c280003602202002410436021c200241eef9c28000360218200241e08080800036021020024296e397c6bfa5aeee46370308200242aceff0b4f2bd8f8fe4003703002001280244210220012001280240360218200120023602102001200220066a41386a36021c20012002360214200141346a200141106a4190f9c2800010f7828080002003418080808078460d012000410136024c2000200436024820004101360244200141cb006a200141346a41086a2802003600002000200537023c20002003360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437004320002001290040370001200041086a200141c7006a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41b0f9c28000411141c4f9c2800010a181808000000be60301077f0240200128020422020d00200041023a00000f0b20012002417f6a220336020420012001280200220441016a22053602000240024002400240024002400240024020042d00000e020001020b41022103024020024121490d0020012002415f6a3602042001200441216a36020020002005290000370001200041096a200541086a290000370000200041116a200541106a290000370000200041196a200541186a290000370000410021030b200020033a00000f0b2003450d0420012002417e6a22053602042001200441026a3602002005450d0420042d0001210320012002417d6a22053602042001200441036a3602002005450d0420042d0002210620012002417c6a22073602042001200441046a360200024020042d000322084103710e0403020005030b20054104490d042001200241796a3602042001200441076a360200200441066a2d000041187420042f00044108747222014180807c6a41ffff0b4b0d04200120087241027621010c050b200041023a00000f0b20070d010c020b200841027621010c020b20012002417b6a3602042001200441056a36020020042d00042201450d00200141087420087241027621010c010b200041023a00000f0b200041013a000020002003411074200141ffff0371722006411874723601020bd10904027f017e037f017e23808080800041d0006b2201248080808000200141286a41a0fcc28000410d4189fcc2800041174104410010c292808000200141086a410036020020014280808080c00037030020012802282102200129022c2103200141106a41086a22044100360200200142808080808001370210200141106a41a0f9c2800010b5928080002001280214220542d0eeea8fe2e880c510370308200542b1b9bbf6d09c8ca47b370300200141c0006a41086a220641013602002005420437022c2005421237022420054194fac280003602202005410f36021c20054185fac28000360218200541e180808000360210200120012902103703400240200628020022062001280240470d00200141c0006a41a0f9c2800010b5928080000b2001280244200641386c6a2205420437022c20054218370224200541b9fac280003602202005411336021c200541a6fac28000360218200541e280808000360210200542a2c1f9b6deb49cf541370308200542b8d5d99ddee3cff4cf003703002004200641016a2206360200200120012903402207370310024020062007a7470d00200141106a41a0f9c2800010b5928080000b2001280214200641386c6a2205420437022c20054223370224200541e4fac280003602202005411336021c200541d1fac28000360218200541e380808000360210200542e694e2a5b0cdcbc01e370308200542eab196fb99fac6c7c200370300200141c0006a41086a200641016a2206360200200120012903102207370340024020062007a7470d00200141c0006a41a0f9c2800010b5928080000b2001280244200641386c6a2205420437022c20054203370224200541a2fbc280003602202005411b36021c20054187fbc28000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141106a41086a200641016a2206360200200120012903402207370310024020062007a7470d00200141106a41a0f9c2800010b5928080000b2001280214200641386c6a2205420437022c20054218370224200541b3fbc280003602202005410e36021c200541a5fbc28000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141c8006a200641016a2205360200200120012903102207370340024020052007a7470d00200141c0006a41a0f9c2800010b5928080000b2001280244200541386c22066a2205420437022c20054208370224200541d4fbc280003602202005410936021c200541cbfbc28000360218200541ce80808000360210200542cdcabc9d9cf3be8d0337030820054289ece2a6cba888f82b3703002001280244210520012001280240360218200120053602102001200520066a41386a36021c20012005360214200141346a200141106a4190f9c2800010f78280800002402002418080808078470d0041b0f9c28000411141c4f9c2800010a181808000000b2000410036024c200042808080808001370244200141cb006a200141346a41086a2802003600002000200337023c20002002360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437004320002001290040370001200041086a200141c7006a290000370000200141d0006a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041e08080800036021820004296e397c6bfa5aeee46370310200042aceff0b4f2bd8f8fe400370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041e480808000360218200042dd9e8ba3fdc9dcc444370310200042c0a9abfad0e0adf726370308200041023a00000b900203037f017e017f23808080800041206b2205248080808000024002400240200120026a220220014f0d00410021060c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024104200241044b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10f88280800020052802084101470d0120052802102102200528020c21060b2006200241a4fdc2800010b980808000000b200528020c21032000200736020020002003360204200541206a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810f6828080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010fc828080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810fc828080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10fb8280800020052802084101470d0120052802102102200528020c21060b20062002418881c3800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b860401047f23808080800041106b220324808080800041002104024002400240024002400240200241046a22054100480d002005450d0241002d008083d480001a200541002802f482d480001182808080000022040d01410121040b20042005418082c3800010b980808000000b200320043602082004417e6a41003b00002003410036020c2003200536020402402002413f4b0d00200420024102743a0000410121050c040b200241ffff004b0d0141022105200420024102744101723b00000c030b2003410036020c2003428080808010370204200341046a4100410110f4918080002003280204210520032802082104200328020c21060c010b0240200241ffffffff034b0d0020042002410274410272360000410421050c020b410021060b200420066a41033a00002003200641016a220636020c0240200520066b41034b0d00200341046a2006410410f49180800020032802082104200328020c21060b200420066a2002360000200641046a21050b2003200536020c024020022003280204220620056b4d0d00200341046a2005200210f49180800020032802042106200328020c21050b2003280208220420056a2001200210f4978080001a20002004200520026a41002802c480d480001186808080000002402006450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000b9b06010a7f23808080800041206b22022480808080002001280220210341002d008083d480001a024002400240410441002802f482d48000118280808000002204450d00200220043602042004417e6a41003b0000200241003602082002410436020041002d008083d480001a412041002802f482d48000118280808000002204450d012004417e6a220541003b000020042000290000370000200441086a2206200041086a290000370000200441106a2207200041106a290000370000200441186a2208200041186a29000037000020024100412010f491808000200228020422092002280208220a6a220b2004290000370000200b41086a2006290000370000200b41106a2007290000370000200b41186a20082900003700002002200a41206a220b360208200420052f00006b41002802ec82d480001181808080000002402002280200200b6b41034b0d002002200b410410f491808000200228020421092002280208210b0b2009200b6a20033600002002200b41046a220b36020841002d008083d480001a412041002802f482d48000118280808000002204450d022004417e6a220541003b000020042001290000370000200441086a2206200141086a290000370000200441106a2207200141106a290000370000200441186a2208200141186a290000370000024020022802002203200b6b411f4b0d002002200b412010f49180800020022802002103200228020421092002280208210b0b2009200b6a22012004290000370000200141186a2008290000370000200141106a2007290000370000200141086a2006290000370000200420052f00006b41002802ec82d480001181808080000020022009200b41206a41002802c480d480001186808080000002402003450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20002002290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a290000370000200241206a24808080800020000f0b41014104418082c3800010b980808000000b4101412010ab80808000000b4101412010ab80808000000bce0503057f017e027f23808080800041d0006b2201248080808000200141246a41b582c38000410d419082c3800041254104410010c2928080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a4194ffc2800010f982808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080800137020c2001410c6a41a4ffc2800010b5928080002001280210220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141306a41086a220841013602002007420437022c20074215370224200741dfffc280003602202007410736021c200741d8ffc28000360218200741bb808080003602102001200129020c3703300240200828020022072001280230470d00200141306a41a4ffc2800010b5928080000b2001280234200741386c22086a2207420437022c2007420d370224200741fcffc280003602202007410836021c200741f4ffc28000360218200741bc80808000360210200742ec8ca7e0e2f0c7e6bf7f370308200742e6e2dea393f0baf43a37030020012802342107200120012802303602142001200736020c2001200720086a41386a36021820012007360210200141c4006a2001410c6a4194ffc2800010fa8280800002402005418080808078470d0041b4ffc28000411141c8ffc2800010a181808000000b2001413b6a200141c4006a41086a2802003600002000200436024c20002003360248200020023602442000200637023c20002005360238200041003a0000200020012903003702502001200129024437003320002001290030370001200041d8006a200141086a280200360200200041086a200141376a290000370000200141d0006a2480808080000b9c0403057f017e027f23808080800041d0006b2201248080808000200141286a41c282c380004111419082c3800041254104410010c292808000200142043702202001420037021820014280808080800137021020014288808080800137023420014280808080800137023c200141106a200141346a4194ffc2800010f982808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a41a4ffc2800010b5928080002001280214220842e6e2dea393f0baf43a3703002008420437022c200842093702242008418980c3800036022020084100360218200841bc80808000360210200842ec8ca7e0e2f0c7e6bf7f3703082001280214210820012001280210360218200120083602102001200841386a36021c20012008360214200141c4006a200141106a4194ffc2800010fa8280800002402007418080808078470d0041b4ffc28000411141c8ffc2800010a181808000000b2001413f6a200141c4006a41086a2802003600002000200536024c20002004360248200020033602442000200637023c20002007360238200041003a0000200020012903003702502001200129024437003720002001290034370001200041d8006a2002280200360200200041086a2001413b6a290000370000200141d0006a2480808080000b08001080808080000bb80702097f017e23808080800041306b22032480808080002003410036021420034280808080c00037020c0240024002402002450d0041800821044100210502400240034002402002200420022004491b2206200328020c220720056b4d0d00024002400240200620056a220541ffffff3f4d0d00410021030c010b200541047421084100210902402007450d0020032003280210360224410421092003200741047436022c0b20032009360228200341186a41042008200341246a108f8680800020032802184101470d0120032802202105200328021c21030b2003200541bc83c3800010b980808000000b2003200328021c3602102003200536020c0b200621080240024020040d00200328021421050c010b03402003200110d08480800020032802004101710d03200341246a2001200328020410838380800020032802242205418080808078460d03200328022821070240024002400240200328022c220a2005460d0041002d008083d480001a410c41002802f482d48000118280808000002204450d012004200441036a417c7120046b22096a2204410136020820042005360204200420073602002004417e6a20093b000041d8edc18000210b0c030b024020050d0041a8ebc18000210b41002104410121070c030b2007410171450d0141e8ecc18000210b200721040c020b4104410c10ab80808000000b2007410172210441d4ecc18000210b0b024020032802142209200328020c470d002003410c6a41cc83c380001093868080000b200328021020094104746a2205200436020c2005200a360208200520073602042005200b3602002003200941016a22053602142008417f6a22080d000b0b20052104200220066b22020d000b200328020c2205418080808078460d012003290210210c0c030b024020032802142205450d00200328021021092005410171210141002104024020054101460d002005417e712107410021042009210503402005410c6a200541046a280200200541086a2802002005280200280210118680808000002005411c6a200541146a280200200541186a280200200541106a28020028021011868080800000200541206a21052007200441026a2204470d000b0b2001450d00200920044104746a2205410c6a200528020420052802082005280200280210118680808000000b200328020c450d00200328021022052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290210210c410021050b2000200c370204200020053602000b200341306a2480808080000ba70303057f017e037f23808080800041206b22032480808080004100210402400240417f2001280208220541086a280200200541106a2802006b2205410020012802042206200128020c6b2207200720064b1b6a220620062005491b2002490d000240024020020d00420121080c010b418080012107410021054101210941002104034002402002200720022007491b2206200420056b4d0d004100210a02400240200620056a22074100480d004100210a02402004450d002003200436021c200320093602144101210a0b2003200a360218200341086a41012007200341146a108f8680800020032802084101470d012003280210210b200328020c210a0b200a200b41bc83c3800010b980808000000b200328020c2109200721040b02402001200920056a200610858c808000450d002004450d0320092009417e6a2f00006b41002802ec82d48000118180808000000c030b200620056a22052107200220066b22020d000b2004418080808078460d012005ad4220862009ad8421080b20002008370204200020043602000c010b20004180808080783602000b200341206a2480808080000ba70602077f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d00418008210502400240034002402002200520022005491b2206200328020c220720046b4d0d00024002400240200620046a220441ffffff3f4d0d00410021030c010b200441047421084100210902402007450d0020032003280210360224410421092003200741047436022c0b20032009360228200341186a41042008200341246a108f8680800020032802184101470d0120032802202101200328021c21030b2003200141bc83c3800010b980808000000b2003200328021c3602102003200436020c0b200621070240024020050d00200328021421040c010b0340200128020422044104490d0320012004417c6a36020420012001280200220441046a36020020042800002109200341246a200110fe8e80800020032802242208418080808078460d032003290228210a024020032802142204200328020c470d002003410c6a41cc83c380001093868080000b200328021020044104746a2205200936020c2005200a370204200520083602002003200441016a22043602142007417f6a22070d000b0b20042105200220066b22020d000b200328020c2201418080808078460d012003290210210a0c030b024020032802142201450d00200328021021092001410171210841002104024020014101460d002001417e7121072009210141002104034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012007200441026a2204470d000b0b2008450d00200920044104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200328020c450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290210210a410021010b2000200a370204200020013602000b200341306a2480808080000bdd0602077f017e23808080800041306b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041d50a210502400240024003402001417f200128020422062002200520022005491b2207410c6c6a220820082006491b2206360204200620012802084f0d02024020072003280208220620046b4d0d00024002400240200420076a220441aad5aad5004d0d00410021030c010b2004410c6c21094100210802402006450d002003200328020c36022020032006410c6c360228410421080b20032008360224200341146a41042009200341206a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b2003200328021836020c200320043602080b200721060240024020050d00200328021021040c010b03402003200110cf8480800020032802004101710d03200341146a200120032802041086838080002003280214418080808078460d03200341206a41086a2205200341146a41086a280200360200200320032902143703200240200328021022042003280208470d00200341086a41cc83c380001096868080000b200328020c2004410c6c6a22082003290320370200200841086a20052802003602002003200441016a22043602102006417f6a22060d000b0b20042105200220076b22020d000b20032802082204418080808078460d02200329020c210a0c040b200328021021040b02402004450d00200328020c21082004410171210241002101024020044101460d002004417e7121052008210441002101034002402004280200450d00200441046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402004410c6a280200450d00200441106a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200441186a21042005200141026a2201470d000b0b2002450d0020082001410c6c6a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210a410021040b2000200a370204200020043602000b200341306a2480808080000bb80404037f017e087f017e23808080800041206b22032480808080000240024002402001280200220428020c28020841046a2802002002490d00024020020d0041002105420121060c020b418080012107410021084101210941002105024003402001417f2001280204220a2002200720022007491b220b6a22072007200a491b2207360204200720012802084f0d01200b20086a21070240200b200520086b4d0d004100210a0240024020074100480d004100210a02402005450d002003200536021c200320093602144101210a0b2003200a360218200341086a41012007200341146a108f8680800020032802084101470d012003280210210c200328020c210a0b200a200c41bc83c3800010b980808000000b200328020c2109200721050b200428020c220c280208220a280204220d200b490d01200920086a200a2802002208200b10f497808000210e200a200d200b6b360204200a2008200b6a360200200c427f200c2903002206200bad7c220f200f2006541b3703000240200b2004280200200428020822086b4d0d0020042008200b4101410110a386808000200428020821080b200428020420086a200e200b10f4978080001a20042004280208200b6a360208200721082002200b6b22020d000b2005418080808078460d012007ad4220862009ad8421060c020b2005450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002006370204200020053602000b200341206a2480808080000ba70602077f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d00418008210502400240034002402002200520022005491b2206200328020c220720046b4d0d00024002400240200620046a220441ffffff3f4d0d00410021030c010b200441047421084100210902402007450d0020032003280210360224410421092003200741047436022c0b20032009360228200341186a41042008200341246a108f8680800020032802184101470d0120032802202101200328021c21030b2003200141bc83c3800010b980808000000b2003200328021c3602102003200436020c0b200621070240024020050d00200328021421040c010b0340200128020422044104490d0320012004417c6a36020420012001280200220441046a36020020042800002109200341246a200110fe8e80800020032802242208418080808078460d032003290228210a024020032802142204200328020c470d002003410c6a41cc83c380001093868080000b200328021020044104746a2205200936020c2005200a370204200520083602002003200441016a22043602142007417f6a22070d000b0b20042105200220066b22020d000b200328020c2201418080808078460d012003290210210a0c030b024020032802142201450d00200328021021092001410171210841002104024020014101460d002001417e7121072009210141002104034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012007200441026a2204470d000b0b2008450d00200920044104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200328020c450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290210210a410021010b2000200a370204200020013602000b200341306a2480808080000bfc0502087f017e23808080800041f0016b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d0041920121054104210602400240034002402002200520022005491b22072003280204220820046b4d0d00024002400240200720046a220441c9a492094d0d00410021040c010b200441f0006c21094100210a02402008450d0020032006360280012003200841f0006c360288014104210a0b2003200a36028401200341106a4104200920034180016a108f8680800020032802104101470d0120032802182108200328021421040b2004200841bc83c3800010b980808000000b200320032802142206360208200320043602040b200721080240024020050d00200328020c21040c010b0340200341106a200110f0848080002003280210418080808078460d0320034180016a200341106a41f00010f4978080001a0240200328020c22042003280204470d00200341046a41cc83c380001094868080000b20032802082206200441f0006c6a20034180016a41f00010f4978080001a2003200441016a220436020c2008417f6a22080d000b0b20042105200220076b22020d000b20032802042204418080808078460d012003290208210b0c030b0240200328020c2205450d002003280208210741002102034002402007200241f0006c6a22062802082208450d00200628020421040340024020042d0000220141034b0d002004200141027441ec83c380006a2802006a2201280200450d00200141046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200441146a21042008417f6a22080d000b0b02402006280200450d00200628020422042004417e6a2f00006b41002802ec82d48000118180808000000b200241016a22022005470d000b0b2003280204450d00200328020822042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021040b2000200b370204200020043602000b200341f0016a2480808080000bbe0404037f017e087f017e23808080800041206b22032480808080000240024002402001280200220428020c28020828020041046a2802002002490d00024020020d0041002105420121060c020b418080012107410021084101210941002105024003402001417f2001280204220a2002200720022007491b220b6a22072007200a491b2207360204200720012802084f0d01200b20086a21070240200b200520086b4d0d004100210a0240024020074100480d004100210a02402005450d002003200536021c200320093602144101210a0b2003200a360218200341086a41012007200341146a108f8680800020032802084101470d012003280210210c200328020c210a0b200a200c41bc83c3800010b980808000000b200328020c2109200721050b200428020c220c280208280200220a280204220d200b490d01200920086a200a2802002208200b10f497808000210e200a200d200b6b360204200a2008200b6a360200200c427f200c2903002206200bad7c220f200f2006541b3703000240200b2004280200200428020822086b4d0d0020042008200b4101410110a386808000200428020821080b200428020420086a200e200b10f4978080001a20042004280208200b6a360208200721082002200b6b22020d000b2005418080808078460d012007ad4220862009ad8421060c020b2005450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002006370204200020053602000b200341206a2480808080000b980303037f017e077f23808080800041206b220324808080800002400240200128020422042002490d000240024020020d0041002105420121060c010b20012802002107418080012108410021094101210a41002105034002402002200820022008491b220b200520096b4d0d004100210c02400240200b20096a22084100480d004100210c02402005450d002003200536021c2003200a3602144101210c0b2003200c360218200341086a41012008200341146a108f8680800020032802084101470d012003280210210d200328020c210c0b200c200d41bc83c3800010b980808000000b200328020c210a200821050b02402004200b4f0d002005450d03200a200a417e6a2f00006b41002802ec82d48000118180808000000c030b200a20096a2007200b10f4978080001a20012004200b6b220436020420012007200b6a2207360200200b20096a220921082002200b6b22020d000b2005418080808078460d012009ad422086200aad8421060b20002006370204200020053602000c010b20004180808080783602000b200341206a2480808080000bce0602087f017e23808080800041c0006b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021062003410036021020034280808080c000370208024002402002450d0041b30621044104210502400240024003402001417f200128020422072002200420022004491b220841146c6a220920092007491b2207360204200720012802084f0d02024020082003280208220720066b4d0d00024002400240200620086a220641e6cc99334d0d00410021030c010b200641146c210a4100210902402007450d00200320053602282003200741146c360230410421090b2003200936022c200341146a4104200a200341286a108f8680800020032802144101470d01200328021c2105200328021821030b2003200541bc83c3800010b980808000000b20032003280218220536020c200320063602080b200821070240024020040d00200328021021060c010b0340200341146a200110a98c80800020032d00144105460d03200341286a41106a2209200341146a41106a280200360200200341286a41086a220a200341146a41086a290200370300200320032902143703280240200328021022062003280208470d00200341086a41cc83c3800010f6968080000b200328020c2205200641146c6a22042003290328370200200441086a200a290300370200200441106a20092802003602002003200641016a22063602102007417f6a22070d000b0b20062104200220086b22020d000b20032802082205418080808078460d02200329020c210b200128020021040c040b20032802102106200328020c21050b02402006450d000340024020052d0000220441034b0d002005200441027441ec83c380006a2802006a2204280200450d00200441046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200541146a21052006417f6a22060d000b0b2003280208450d00200328020c22052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210b410021050b2000200b37020420002005360200200428020c28020822052005280204417f6a3602040b200341c0006a2480808080000bbf0703087f027e037f23808080800041e0006b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021052003410036020c20034280808080c000370204024002402002450d00200341386a41046a210641990321040240024003402001417f200128020422072002200420022004491b220841286c6a220920092007491b2207360204200720012802084f0d01024020082003280204220720056b4d0d00024002400240200520086a220541b3e6cc194d0d00410021030c010b200541286c210a4100210902402007450d00200320032802083602382003200741286c360240410421090b2003200936023c200341106a4104200a200341386a108f8680800020032802104101470d0120032802182105200328021421030b2003200541bc83c3800010b980808000000b20032003280214360208200320053602040b200821090240024020040d00200328020c21050c010b03402001280200220528020c22072802082802002204280204220a4104490d032004200a417c6a36020420042004280200220a41046a3602002007427f2007290300220b42047c220c200c200b541b370300200a280000210402402005280200200528020822076b41034b0d002005200741044101410110a386808000200528020821070b200528020420076a20043600002005200528020841046a360208200341386a200110988580800020032802384101460d03200341106a41206a220a200641206a280200360200200341106a41186a220d200641186a290200370300200341106a41106a220e200641106a290200370300200341106a41086a220f200641086a290200370300200320062902003703100240200328020c22072003280204470d00200341046a41cc83c38000109c868080000b2003280208200741286c6a22052003290310370204200520043602002005410c6a200f290300370200200541146a200e2903003702002005411c6a200d290300370200200541246a200a2802003602002003200741016a220536020c2009417f6a22090d000b0b20052104200220086b22020d000b20032802042205418080808078460d012003290208210b200128020021040c030b2003280204450d00200328020822052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021050b2000200b37020420002005360200200428020c28020822052005280204417f6a3602040b200341e0006a2480808080000bc90304047f017e057f017e23808080800041206b220324808080800002400240024020012802082204280200220541046a2802002002490d00024020020d0041002106420121070c020b20012903002107418080012108410021094101210a410021060240034002402002200820022008491b220b200620096b4d0d004100210502400240200b20096a22084100480d004100210502402006450d002003200636021c2003200a360214410121050b20032005360218200341086a41012008200341146a108f8680800020032802084101470d012003280210210c200328020c21050b2005200c41bc83c3800010b980808000000b200328020c210a20042802002105200821060b20052802042208200b490d01200a20096a2005280200220c200b10f4978080001a20052008200b6b3602042005200c200b6a3602002001427f2007200bad7c220d200d2007541b2207370300200b20096a220921082002200b6b22020d000b2006418080808078460d012009ad422086200aad8421070c020b2006450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002007370204200020063602000b200341206a2480808080000bbd06020e7f017e2380808080004190016b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d00200341ed006a2105419102210602400240034002402002200620022006491b2207200328020c220820046b4d0d00024002400240200720046a220441a2c488114d0d00410021030c010b2004413c6c21094100210a02402008450d002003200328021036025820032008413c6c3602604104210a0b2003200a36025c200341186a41042009200341d8006a108f8680800020032802184101470d0120032802202104200328021c21030b2003200441bc83c3800010b980808000000b2003200328021c3602102003200436020c0b200721080240024020060d00200328021421040c010b0340200128020422044104490d0320012004417c6a36020420012001280200220441046a3602002004280000210a200341d8006a2001108b8580800020032d006c22094102460d03200341c0006a41106a220b200341d8006a41106a280200360200200341c0006a41086a220c200341d8006a41086a290200370300200341186a41086a220d200541086a290000370300200341186a41106a220e200541106a290000370300200341186a41186a220f200541186a290000370300200341186a411f6a22102005411f6a2800003600002003200329025837034020032005290000370318024020032802142206200328020c470d002003410c6a41cc83c3800010eb828080000b20032802102006413c6c6a220420032903403702042004200a360200200420093a0018200420032903183700192004410c6a200c290300370200200441146a200b280200360200200441216a200d290300370000200441296a200e290300370000200441316a200f290300370000200441386a20102800003600002003200641016a22043602142008417f6a22080d000b0b20042106200220076b22020d000b200328020c2204418080808078460d01200329021021110c030b200328020c450d00200328021022042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b20032902102111410021040b20002011370204200020043602000b20034190016a2480808080000b970602077f017e23808080800041306b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041d50a210502400240034002402002200520022005491b22062003280208220720046b4d0d00024002400240200620046a220441aad5aad5004d0d00410021030c010b2004410c6c21084100210902402007450d002003200328020c36022020032007410c6c360228410421090b20032009360224200341146a41042008200341206a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b2003200328021836020c200320043602080b200621070240024020050d00200328021021040c010b0340200341146a200110fe8e8080002003280214418080808078460d03200341206a41086a2205200341146a41086a280200360200200320032902143703200240200328021022042003280208470d00200341086a41cc83c380001096868080000b200328020c2004410c6c6a22092003290320370200200941086a20052802003602002003200441016a22043602102007417f6a22070d000b0b20042105200220066b22020d000b20032802082204418080808078460d01200329020c210a0c030b024020032802102204450d00200328020c21012004410171210241002107024020044101460d002004417e7121092001210441002107034002402004280200450d00200441046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402004410c6a280200450d00200441106a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200441186a21042009200741026a2207470d000b0b2002450d0020012007410c6c6a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210a410021040b2000200a370204200020043602000b200341306a2480808080000baf0702077f017e23808080800041306b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021052003410036021020034280808080c000370208024002402002450d0041d50a210402400240024003402001417f200128020422062002200420022004491b2207410c6c6a220820082006491b2206360204200620012802084f0d02024020072003280208220620056b4d0d00024002400240200520076a220541aad5aad5004d0d00410021030c010b2005410c6c21094100210802402006450d002003200328020c36022020032006410c6c360228410421080b20032008360224200341146a41042009200341206a108f8680800020032802144101470d01200328021c2101200328021821030b2003200141bc83c3800010b980808000000b2003200328021836020c200320053602080b200721060240024020040d00200328021021050c010b03402003200110ce8480800020032802004101710d03200341146a200120032802041089838080002003280214418080808078460d03200341206a41086a2204200341146a41086a280200360200200320032902143703200240200328021022052003280208470d00200341086a41cc83c380001096868080000b200328020c2005410c6c6a22082003290320370200200841086a20042802003602002003200541016a22053602102006417f6a22060d000b0b20052104200220076b22020d000b20032802082205418080808078460d02200329020c210a200128020021040c040b200328021021050b02402005450d00200328020c21082005410171210241002106024020054101460d002005417e7121042008210141002106034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012004200641026a2206470d000b0b2002450d0020082006410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b2003280208450d00200328020c22012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210a410021050b2000200a37020420002005360200200428020c28020822012001280204417f6a3602040b200341306a2480808080000bb00602077f017e23808080800041306b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041d50a210502400240034002402002200520022005491b22062003280208220720046b4d0d00024002400240200620046a220441aad5aad5004d0d00410021030c010b2004410c6c21084100210902402007450d002003200328020c36022020032007410c6c360228410421090b20032009360224200341146a41042008200341206a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b2003200328021836020c200320043602080b200621070240024020050d00200328021021040c010b03402003200110d08480800020032802004101710d03200341146a200120032802041083838080002003280214418080808078460d03200341206a41086a2205200341146a41086a280200360200200320032902143703200240200328021022042003280208470d00200341086a41cc83c380001096868080000b200328020c2004410c6c6a22092003290320370200200941086a20052802003602002003200441016a22043602102007417f6a22070d000b0b20042105200220066b22020d000b20032802082204418080808078460d01200329020c210a0c030b024020032802102204450d00200328020c21092004410171210241002101024020044101460d002004417e7121052009210441002101034002402004280200450d00200441046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402004410c6a280200450d00200441106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200441186a21042005200141026a2201470d000b0b2002450d0020092001410c6c6a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210a410021040b2000200a370204200020043602000b200341306a2480808080000bea0603087f027e037f23808080800041e0006b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d00200341386a41046a210541990321060240024003402001417f200128020422072002200620022006491b220841286c6a220920092007491b2207360204200720012802084f0d01024020082003280204220720046b4d0d00024002400240200420086a220441b3e6cc194d0d00410021030c010b200441286c210a4100210902402007450d00200320032802083602382003200741286c360240410421090b2003200936023c200341106a4104200a200341386a108f8680800020032802104101470d0120032802182104200328021421030b2003200441bc83c3800010b980808000000b20032003280214360208200320043602040b200821090240024020060d00200328020c21040c010b03402001280200220428020c22072802082206280204220a4104490d032006200a417c6a36020420062006280200220a41046a3602002007427f2007290300220b42047c220c200c200b541b370300200a280000210602402004280200200428020822076b41034b0d002004200741044101410110a386808000200428020821070b200428020420076a20063600002004200428020841046a360208200341386a200110998580800020032802384101460d03200341106a41206a220a200541206a280200360200200341106a41186a220d200541186a290200370300200341106a41106a220e200541106a290200370300200341106a41086a220f200541086a290200370300200320052902003703100240200328020c22072003280204470d00200341046a41cc83c38000109c868080000b2003280208200741286c6a22042003290310370204200420063602002004410c6a200f290300370200200441146a200e2903003702002004411c6a200d290300370200200441246a200a2802003602002003200741016a220436020c2009417f6a22090d000b0b20042106200220086b22020d000b20032802042204418080808078460d012003290208210b0c030b2003280204450d00200328020822042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021040b2000200b370204200020043602000b200341e0006a2480808080000b820602087f017e23808080800041306b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d00200341206a41046a2105418008210602400240034002402002200620022006491b22072003280204220820046b4d0d00024002400240200720046a220441ffffff3f4d0d00410021030c010b200441047421094100210a02402008450d00200320032802083602204104210a200320084104743602280b2003200a360224200341106a41042009200341206a108f8680800020032802104101470d0120032802182104200328021421030b2003200441bc83c3800010b980808000000b20032003280214360208200320043602040b200721080240024020060d00200328020c21040c010b0340200341206a200110f5918080002003280220220a450d03200341106a41086a2209200541086a280200360200200320052902003703100240200328020c22042003280204470d00200341046a41cc83c380001093868080000b200328020820044104746a220620032903103702042006200a3602002006410c6a20092802003602002003200441016a220436020c2008417f6a22080d000b0b20042106200220076b22020d000b20032802042204418080808078460d012003290208210b0c030b0240200328020c2204450d00200328020821052004410171210a41002106024020044101460d002004417e712108410021062005210403402004410c6a200441046a280200200441086a2802002004280200280210118680808000002004411c6a200441146a280200200441186a280200200441106a28020028021011868080800000200441206a21042008200641026a2206470d000b0b200a450d00200520064104746a2204410c6a200428020420042802082004280200280210118680808000000b2003280204450d00200328020822042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021040b2000200b370204200020043602000b200341306a2480808080000bfc0703087f027e017f23808080800041306b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d00200341206a41046a210541b306210602400240024003402001417f200128020422072002200620022006491b220841146c6a220920092007491b2207360204200720012802084f0d02024020082003280204220720046b4d0d00024002400240200420086a220441e6cc99334d0d00410021030c010b200441146c210a4100210902402007450d00200320032802083602202003200741146c360228410421090b20032009360224200341106a4104200a200341206a108f8680800020032802104101470d0120032802182106200328021421030b2003200641bc83c3800010b980808000000b20032003280214360208200320043602040b200821090240024020060d00200328020c21040c010b03402001280200220628020c22072802082204280204220a4104490d032004200a417c6a36020420042004280200220a41046a3602002007427f2007290300220b42047c220c200c200b541b370300200a280000210402402006280200200628020822076b41034b0d002006200741044101410110a386808000200628020821070b200628020420076a20043600002006200628020841046a360208200341206a20011094858080002003280220220a418080808078460d03200341106a41086a220d200541086a280200360200200320052902003703100240200328020c22072003280204470d00200341046a41cc83c380001091868080000b2003280208200741146c6a2206200a3602042006200436020020062003290310370208200641106a200d2802003602002003200741016a220436020c2009417f6a22090d000b0b20042106200220086b22020d000b20032802042206418080808078460d022003290208210b0c040b200328020c21040b02402004450d00200328020821092004410171210a41002107024020044101460d002009411c6a21062004417e7121014100210703400240200641686a280200450d002006416c6a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b02402006417c6a280200450d00200628020022042004417e6a2f00006b41002802ec82d48000118180808000000b200641286a21062001200741026a2207470d000b0b200a450d002009200741146c6a2206280204450d00200641046a28020422062006417e6a2f00006b41002802ec82d48000118180808000000b2003280204450d00200328020822062006417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021060b2000200b370204200020063602000b200341306a2480808080000baa0602087f017e23808080800041f0016b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d0041920121054104210602400240024003402001417f200128020422072002200520022005491b220841f0006c6a220920092007491b2207360204200720012802084f0d02024020082003280204220720046b4d0d00024002400240200420086a220441c9a492094d0d00410021050c010b200441f0006c210a4100210902402007450d0020032006360280012003200741f0006c36028801410421090b2003200936028401200341106a4104200a20034180016a108f8680800020032802104101470d0120032802182107200328021421050b2005200741bc83c3800010b980808000000b200320032802142206360208200320043602040b200821070240024020050d00200328020c21040c010b0340200341106a200110f2848080002003280210418080808078460d0320034180016a200341106a41f00010f4978080001a0240200328020c22052003280204470d00200341046a41cc83c380001094868080000b20032802082206200541f0006c6a20034180016a41f00010f4978080001a2003200541016a220436020c2007417f6a22070d000b0b20042105200220086b22020d000b20032802042205418080808078460d022003290208210b0c040b200328020c2104200328020821060b02402004450d0041002108034002402006200841f0006c6a22022802082207450d00200228020421050340024020052d0000220141034b0d002005200141027441ec83c380006a2802006a2201280200450d00200141046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200541146a21052007417f6a22070d000b0b02402002280200450d00200228020422052005417e6a2f00006b41002802ec82d48000118180808000000b200841016a22082004470d000b0b2003280204450d00200328020822052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021050b2000200b370204200020053602000b200341f0016a2480808080000bcf0502087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b30621054104210602400240034002402002200520022005491b22072003280208220820046b4d0d00024002400240200720046a220441e6cc99334d0d00410021030c010b200441146c21094100210a02402008450d00200320063602282003200841146c3602304104210a0b2003200a36022c200341146a41042009200341286a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b20032003280218220636020c200320043602080b200721080240024020050d00200328021021040c010b0340200341146a200110ab8c80800020032d00144105460d03200341286a41106a220a200341146a41106a280200360200200341286a41086a2209200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a41cc83c3800010f6968080000b200328020c2206200441146c6a22052003290328370200200541086a2009290300370200200541106a200a2802003602002003200441016a22043602102008417f6a22080d000b0b20042105200220076b22020d000b20032802082204418080808078460d01200329020c210b0c030b024020032802102205450d00200328020c21040340024020042d0000220841034b0d002004200841027441ec83c380006a2802006a2208280200450d00200841046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200441146a21042005417f6a22050d000b0b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210b410021040b2000200b370204200020043602000b200341c0006a2480808080000bfc0602087f017e23808080800041f0016b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021072003410036020c20034280808080c000370204024002402002450d0041920121054104210802400240024003402001417f200128020422062002200520022005491b220441f0006c6a220920092006491b2206360204200620012802084f0d02024020042003280204220620076b4d0d00024002400240200720046a220741c9a492094d0d00410021050c010b200741f0006c210a4100210902402006450d0020032008360280012003200641f0006c36028801410421090b2003200936028401200341106a4104200a20034180016a108f8680800020032802104101470d0120032802182106200328021421050b2005200641bc83c3800010b980808000000b200320032802142208360208200320073602040b200421060240024020050d00200328020c21070c010b0340200341106a200110f1848080002003280210418080808078460d0320034180016a200341106a41f00010f4978080001a0240200328020c22052003280204470d00200341046a41cc83c380001094868080000b20032802082208200541f0006c6a20034180016a41f00010f4978080001a2003200541016a220736020c2006417f6a22060d000b0b20072105200220046b22020d000b20032802042205418080808078460d022003290208210b200128020021040c040b200328020c2107200328020821080b02402007450d0041002104034002402008200441f0006c6a22022802082206450d00200228020421050340024020052d0000220141034b0d002005200141027441ec83c380006a2802006a2201280200450d00200141046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200541146a21052006417f6a22060d000b0b02402002280200450d00200228020422052005417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042007470d000b0b2003280204450d00200328020822052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021050b2000200b37020420002005360200200428020c28020822052005280204417f6a3602040b200341f0016a2480808080000b9c0603047f017e077f23808080800041e0006b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021062003410036020c20034280808080c000370204024002400240024020020d0020032902082107410021050c010b200341106a41046a210541c70321044104210803402001417f200128020422092002200420022004491b220a41246c6a220b200b2009491b2209360204200920012802084f0d020240200a2003280204220920066b4d0d000240024002402006200a6a220641e3f1b81c4d0d00410021030c010b200641246c210c4100210b02402009450d00200320083602102003200941246c3602184104210b0b2003200b360214200341386a4104200c200341106a108f8680800020032802384101470d0120032802402105200328023c21030b2003200541bc83c3800010b980808000000b2003200328023c2208360208200320063602040b200a21090240024020040d00200328020c21060c010b0340200341106a200110988580800020032802100d04200341386a41206a220b200541206a280200360200200341386a41186a220c200541186a290200370300200341386a41106a220d200541106a290200370300200341386a41086a220e200541086a290200370300200320052902003703380240200328020c22042003280204470d00200341046a41cc83c38000109e868080000b20032802082208200441246c6a22062003290338370200200641086a200e290300370200200641106a200d290300370200200641186a200c290300370200200641206a200b2802003602002003200441016a220636020c2009417f6a22090d000b0b200621042002200a6b22020d000b20032802042205418080808078460d0220032902082107200128020021040b2000200737020420002005360200200428020c28020822052005280204417f6a3602040c020b2003280204450d00200328020822052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b200341e0006a2480808080000bde07020d7f047e23808080800041d0006b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021052003410036020c200342808080801037020402400240024002402002450d00200128020421072001280208210841800421064101210903402001417f20072002200620022006491b220a4105746a220b200b2007491b2207360204200720084f0d030240200a2003280204220b20056b4d0d004100210c024002402005200a6a220d410574220e4100480d00410021050240200b450d00200320093602302003200b410574360238410121050b20032005360234200341106a4101200e200341306a108f8680800020032802104101470d012003280218210f2003280214210c0b200c200f41bc83c3800010b980808000000b2003200328021422093602082003200d3602040b024002402006450d00200a210e200428020c220b280208280200220628020422054120490d0503402006200541606a36020420062006280200220541206a360200200341306a41086a2206200541086a290000370300200341306a41106a220d200541106a290000370300200341306a41186a220c200541186a290000370300200b427f200b290300221042207c221120112010541b3703002003200529000037033002402004280200200428020822056b411f4b0d002004200541204101410110a386808000200428020821050b200428020420056a220520032903302210370000200541186a200c2903002211370000200541106a200d2903002212370000200541086a200629030022133700002004200428020841206a360208200341106a41086a220b2013370300200341106a41106a220d2012370300200341106a41186a220c2011370300200320103703100240200328020c22062003280204470d00200341046a41cc83c380001090868080000b2003280208220920064105746a22052003290310370000200541086a200b290300370000200541106a200d290300370000200541186a200c2903003700002003200641016a220536020c200e417f6a220e450d02200428020c220b280208280200220628020422054120490d060c000b0b200328020c21050b200521062002200a6b22020d000b20032802042205418080808078460d03200329020821100c010b20032902082110410021050b2000201037020420002005360200200428020c28020822042004280204417f6a3602040c020b2003280204450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b200341d0006a2480808080000bd10803087f027e017f23808080800041306b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021062003410036020c20034280808080c000370204024002402002450d00200341206a41046a210741b306210502400240024003402001417f200128020422042002200520022005491b220841146c6a220920092004491b2204360204200420012802084f0d02024020082003280204220420066b4d0d00024002400240200620086a220641e6cc99334d0d00410021030c010b200641146c210a4100210902402004450d00200320032802083602202003200441146c360228410421090b20032009360224200341106a4104200a200341206a108f8680800020032802104101470d0120032802182105200328021421030b2003200541bc83c3800010b980808000000b20032003280214360208200320063602040b200821090240024020050d00200328020c21060c010b03402001280200220528020c22042802082802002206280204220a4104490d032006200a417c6a36020420062006280200220a41046a3602002004427f2004290300220b42047c220c200c200b541b370300200a280000210602402005280200200528020822046b41034b0d002005200441044101410110a386808000200528020821040b200528020420046a20063600002005200528020841046a360208200341206a20011093858080002003280220220a418080808078460d03200341106a41086a220d200741086a280200360200200320072902003703100240200328020c22042003280204470d00200341046a41cc83c380001091868080000b2003280208200441146c6a2205200a3602042005200636020020052003290310370208200541106a200d2802003602002003200441016a220636020c2009417f6a22090d000b0b20062105200220086b22020d000b20032802042205418080808078460d022003290208210b200128020021040c040b200328020c21060b02402006450d00200328020821092006410171210a41002104024020064101460d002009411c6a21052006417e7121014100210403400240200541686a280200450d002005416c6a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402005417c6a280200450d00200528020022062006417e6a2f00006b41002802ec82d48000118180808000000b200541286a21052001200441026a2204470d000b0b200a450d002009200441146c6a2205280204450d00200541046a28020422052005417e6a2f00006b41002802ec82d48000118180808000000b2003280204450d00200328020822052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021050b2000200b37020420002005360200200428020c28020822052005280204417f6a3602040b200341306a2480808080000bcf0502087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b30621054104210602400240034002402002200520022005491b22072003280208220820046b4d0d00024002400240200720046a220441e6cc99334d0d00410021030c010b200441146c21094100210a02402008450d00200320063602282003200841146c3602304104210a0b2003200a36022c200341146a41042009200341286a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b20032003280218220636020c200320043602080b200721080240024020050d00200328021021040c010b0340200341146a200110ac8c80800020032d00144105460d03200341286a41106a220a200341146a41106a280200360200200341286a41086a2209200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a41cc83c3800010f6968080000b200328020c2206200441146c6a22052003290328370200200541086a2009290300370200200541106a200a2802003602002003200441016a22043602102008417f6a22080d000b0b20042105200220076b22020d000b20032802082204418080808078460d01200329020c210b0c030b024020032802102205450d00200328020c21040340024020042d0000220841034b0d002004200841027441ec83c380006a2802006a2208280200450d00200841046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200441146a21042005417f6a22050d000b0b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210b410021040b2000200b370204200020043602000b200341c0006a2480808080000bb90402087f017e2380808080004190026b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d0041840121054104210602400240034002402002200520022005491b2207200328020c220820046b4d0d00024002400240200720046a2204419084a1084d0d00410021030c010b200441fc006c21094100210a02402008450d0020032006360294012003200841fc006c36029c014104210a0b2003200a36029801200341186a4104200920034194016a108f8680800020032802184101470d0120032802202104200328021c21030b2003200441bc83c3800010b980808000000b2003200328021c22063602102003200436020c0b200721080240024020050d00200328021421040c010b0340200341186a200110ec848080002003280218418080808078460d0320034194016a200341186a41fc0010f4978080001a024020032802142204200328020c470d002003410c6a41cc83c380001098868080000b20032802102206200441fc006c6a20034194016a41fc0010f4978080001a2003200441016a22043602142008417f6a22080d000b0b20042105200220076b22020d000b200328020c2204418080808078460d012003290210210b0c030b2003410c6a10a78f808000200328020c450d00200328021022042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290210210b410021040b2000200b370204200020043602000b20034190026a2480808080000bcf0502087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b30621054104210602400240034002402002200520022005491b22072003280208220820046b4d0d00024002400240200720046a220441e6cc99334d0d00410021030c010b200441146c21094100210a02402008450d00200320063602282003200841146c3602304104210a0b2003200a36022c200341146a41042009200341286a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b20032003280218220636020c200320043602080b200721080240024020050d00200328021021040c010b0340200341146a200110ad8c80800020032d00144105460d03200341286a41106a220a200341146a41106a280200360200200341286a41086a2209200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a41cc83c3800010f6968080000b200328020c2206200441146c6a22052003290328370200200541086a2009290300370200200541106a200a2802003602002003200441016a22043602102008417f6a22080d000b0b20042105200220076b22020d000b20032802082204418080808078460d01200329020c210b0c030b024020032802102205450d00200328020c21040340024020042d0000220841034b0d002004200841027441ec83c380006a2802006a2208280200450d00200841046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200441146a21042005417f6a22050d000b0b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210b410021040b2000200b370204200020043602000b200341c0006a2480808080000bc806020d7f027e2380808080004190106b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021052003410036020c200342808080801037020402400240024002402002450d002001280204210720012802082108411021064101210903402001417f20072002200620022006491b220a410a746a220b200b2007491b2207360204200720084f0d030240200a2003280204220b20056b4d0d004100210c024002402005200a6a220d410a74220e4100480d00410021050240200b450d0020032009360290082003200b410a7436029808410121050b2003200536029408200341106a4101200e20034190086a108f8680800020032802104101470d012003280218210f2003280214210c0b200c200f41bc83c3800010b980808000000b2003200328021422093602082003200d3602040b024002402006450d00200a210b200428020c22062802082802002205280204220e418008490d05034020034190086a2005280200220941800810f4978080001a2005200e4180786a360204200520094180086a3602002006427f200629030022104280087c221120112010541b37030002402004280200200428020822056b41ff074b0d00200420054180084101410110a386808000200428020821050b200428020420056a20034190086a41800810f4978080001a200420042802084180086a360208200341106a20034190086a41800810f4978080001a0240200328020c22052003280204470d00200341046a41cc83c3800010a1868080000b200328020822092005410a746a200341106a41800810f4978080001a2003200541016a220536020c200b417f6a220b450d02200428020c22062802082802002205280204220e418008490d060c000b0b200328020c21050b200521062002200a6b22020d000b20032802042205418080808078460d03200329020821100c010b20032902082110410021050b2000201037020420002005360200200428020c28020822042004280204417f6a3602040c020b2003280204450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b20034190106a2480808080000bcc0503027f017e097f23808080800041e0006b2203248080808000410021042003410036020c20034280808080c00037020402400240024020020d0020032902082105410021060c010b200341106a41046a210641c7032107410421080240024003402001417f200128020422092002200720022007491b220a41246c6a220b200b2009491b2209360204200920012802084f0d010240200a2003280204220920046b4d0d000240024002402004200a6a220441e3f1b81c4d0d00410021030c010b200441246c210c4100210b02402009450d00200320083602102003200941246c3602184104210b0b2003200b360214200341386a4104200c200341106a108f8680800020032802384101470d0120032802402106200328023c21030b2003200641bc83c3800010b980808000000b2003200328023c2208360208200320043602040b200a21090240024020070d00200328020c21040c010b0340200341106a200110998580800020032802100d03200341386a41206a220b200641206a280200360200200341386a41186a220c200641186a290200370300200341386a41106a220d200641106a290200370300200341386a41086a220e200641086a290200370300200320062902003703380240200328020c22072003280204470d00200341046a41cc83c38000109e868080000b20032802082208200741246c6a22042003290338370200200441086a200e290300370200200441106a200d290300370200200441186a200c290300370200200441206a200b2802003602002003200741016a220436020c2009417f6a22090d000b0b200421072002200a6b22020d000b20032802042206418080808078460d01200329020821050c020b2003280204450d00200328020822062006417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002005370204200020063602000b200341e0006a2480808080000bc80602087f017e23808080800041306b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d0041800821054104210602400240024003402001417f200128020422072002200520022005491b22084104746a220920092007491b2207360204200720012802084f0d02024020082003280204220720046b4d0d00024002400240200420086a220441ffffff3f4d0d00410021030c010b2004410474210a4100210902402007450d002003200636022041042109200320074104743602280b20032009360224200341106a4104200a200341206a108f8680800020032802104101470d0120032802182104200328021421030b2003200441bc83c3800010b980808000000b200320032802142206360208200320043602040b200821070240024020050d00200328020c21040c010b0340200341106a20011094858080002003280210418080808078460d03200341206a41086a2205200341106a41086a290200370300200320032902103703200240200328020c22042003280204470d00200341046a41cc83c380001093868080000b2003280208220620044104746a22092003290320370200200941086a20052903003702002003200441016a220436020c2007417f6a22070d000b0b20042105200220086b22020d000b20032802042204418080808078460d022003290208210b0c040b200328020c2104200328020821060b02402004450d002004410171210141002107024020044101460d002004417e7121092006210441002107034002402004280200450d00200441046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200441106a280200450d00200441146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200441206a21042009200741026a2207470d000b0b2001450d00200620074104746a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b2003280204450d00200328020822042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021040b2000200b370204200020043602000b200341306a2480808080000bd10303047f017e077f23808080800041206b22032480808080000240024020012802082204200128021022056b2002490d0002400240024020020d0041002106420121070c010b200128020421084180800121094100210a4101210b4100210603402002200920022009491b220c200a6a21090240200c2006200a6b4d0d004100210d0240024020094100480d004100210d02402006450d002003200636021c2003200b3602144101210d0b2003200d360218200341086a41012009200341146a108f8680800020032802084101470d012003280210210e200328020c210d0b200d200e41bc83c3800010b980808000000b200328020c210b200921060b02400240200c200420056b4b0d002005200c6a220d2005490d04200d20044d0d01200d2004418486cb8000109181808000000b2006450d04200b200b417e6a2f00006b41002802ec82d48000118180808000000c040b200b200a6a200820056a200c10f4978080001a2001200d360210200d21052009210a2002200c6b22020d000b2006418080808078460d022009ad422086200bad8421070b20002007370204200020063602000c020b2005200d418486cb8000109581808000000b20004180808080783602000b200341206a2480808080000beb04020a7f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c024002400240024002402002450d00200128020421052001280200210641d50a2107034002402002200720022007491b2208200328020c220920046b4d0d00024002400240200820046a220441aad5aad5004d0d00410021030c010b2004410c6c210a4100210b02402009450d002003200328021036022420032009410c6c36022c4104210b0b2003200b360228200341186a4104200a200341246a108f8680800020032802184101470d0120032802202101200328021c21030b2003200141bc83c3800010b980808000000b2003200328021c3602102003200436020c0b024002402007450d002008210c03402006210702402005220a41074b0d00200328020c210b0c070b2001200a41786a22043602042001200741086a2209360200200328020c210b20044104490d062007290000210d20012004417c6a22053602042001200941046a220636020020092800002109024020032802142204200b470d002003410c6a41cc83c380001096868080000b20032802102004410c6c6a220b2009360208200b200d3702002003200441016a2204360214200c417f6a220c0d000b2007410c6a2106200a41746a21050c010b200328021421040b20042107200220086b22020d000b200328020c2201418080808078460d032003290210210d0c010b2003290210210d410021010b2000200d370204200020013602000c020b200b450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b200341306a2480808080000b9a0702087f017e23808080800041306b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021052003410036020c20034280808080c000370204024002402002450d0041800821044104210702400240024003402001417f200128020422062002200420022004491b22084104746a220920092006491b2206360204200620012802084f0d02024020082003280204220620056b4d0d00024002400240200520086a220541ffffff3f4d0d00410021030c010b2005410474210a4100210902402006450d002003200736022041042109200320064104743602280b20032009360224200341106a4104200a200341206a108f8680800020032802104101470d0120032802182105200328021421030b2003200541bc83c3800010b980808000000b200320032802142207360208200320053602040b200821060240024020040d00200328020c21050c010b0340200341106a20011093858080002003280210418080808078460d03200341206a41086a2204200341106a41086a290200370300200320032902103703200240200328020c22052003280204470d00200341046a41cc83c380001093868080000b2003280208220720054104746a22092003290320370200200941086a20042903003702002003200541016a220536020c2006417f6a22060d000b0b20052104200220086b22020d000b20032802042205418080808078460d022003290208210b200128020021040c040b200328020c2105200328020821070b02402005450d002005410171210141002106024020054101460d002005417e7121092007210541002106034002402005280200450d00200541046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052009200641026a2206470d000b0b2001450d00200720064104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b2003280204450d00200328020822052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021050b2000200b37020420002005360200200428020c28020822052005280204417f6a3602040b200341306a2480808080000bfc0502087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b30621054104210602400240024003402001417f200128020422072002200520022005491b220841146c6a220920092007491b2207360204200720012802084f0d02024020082003280208220720046b4d0d00024002400240200420086a220441e6cc99334d0d00410021030c010b200441146c210a4100210902402007450d00200320063602282003200741146c360230410421090b2003200936022c200341146a4104200a200341286a108f8680800020032802144101470d01200328021c2106200328021821030b2003200641bc83c3800010b980808000000b20032003280218220636020c200320043602080b200821070240024020050d00200328021021040c010b0340200341146a200110aa8c80800020032d00144105460d03200341286a41106a2209200341146a41106a280200360200200341286a41086a220a200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a41cc83c3800010f6968080000b200328020c2206200441146c6a22052003290328370200200541086a200a290300370200200541106a20092802003602002003200441016a22043602102007417f6a22070d000b0b20042105200220086b22020d000b20032802082206418080808078460d02200329020c210b0c040b20032802102104200328020c21060b02402004450d000340024020062d0000220541034b0d002006200541027441ec83c380006a2802006a2205280200450d00200541046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200641146a21062004417f6a22040d000b0b2003280208450d00200328020c22062006417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210b410021060b2000200b370204200020063602000b200341c0006a2480808080000bd70702077f017e23808080800041d0006b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021052003410036022420034280808080c00037021c02400240024002402002450d0041aa05210603402001417f200128020422042002200620022006491b220741186c6a220820082004491b2204360204200420012802084f0d0302402007200328021c220420056b4d0d00024002400240200520076a220541d5aad52a4d0d00410021030c010b200541186c21094100210802402004450d00200320032802203602442003200441186c36024c410421080b20032008360248200341386a41042009200341c4006a108f8680800020032802384101470d0120032802402101200328023c21030b2003200141bc83c3800010b980808000000b2003200328023c3602202003200536021c0b200721040240024020060d00200328022421050c010b0340200341106a200110ce848080000240024020032802104101710d00200341386a2001200328021410898380800020032802382208418080808078460d00200328023c2105200341086a200110ce84808000024020032802084101710d00200341c4006a2001200328020c1089838080002003280244418080808078470d020b2008450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200328022421050c060b200341286a41086a2209200341c4006a41086a28020036020020032003290244370328200329023c210a024020032802242206200328021c470d002003411c6a41cc83c3800010e5938080000b2003280220200641186c6a2205200a370204200520083602002005200329032837020c200541146a20092802003602002003200641016a22053602242004417f6a22040d000b0b20052106200220076b22020d000b200328021c2205418080808078460d032003290220210a200128020021040c010b2003290220210a410021050b2000200a37020420002005360200200428020c28020822012001280204417f6a3602040c020b02402005450d0020032802202101034002402001280200450d00200141046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012005417f6a22050d000b0b200328021c450d00200328022022012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b200341d0006a2480808080000b850702077f017e23808080800041d0006b2203248080808000410021042003410036022420034280808080c00037021c024002400240024002402002450d0041aa05210503402001417f200128020422062002200520022005491b220741186c6a220820082006491b2206360204200620012802084f0d0302402007200328021c220620046b4d0d00024002400240200420076a220441d5aad52a4d0d00410021030c010b200441186c21094100210802402006450d00200320032802203602442003200641186c36024c410421080b20032008360248200341386a41042009200341c4006a108f8680800020032802384101470d0120032802402101200328023c21030b2003200141bc83c3800010b980808000000b2003200328023c3602202003200436021c0b200721060240024020050d00200328022421040c010b0340200341106a200110cf848080000240024020032802104101710d00200341386a2001200328021410868380800020032802382208418080808078460d00200328023c2104200341086a200110cf84808000024020032802084101710d00200341c4006a2001200328020c1086838080002003280244418080808078470d020b2008450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200328022421040c060b200341286a41086a2209200341c4006a41086a28020036020020032003290244370328200329023c210a024020032802242205200328021c470d002003411c6a41cc83c3800010e5938080000b2003280220200541186c6a2204200a370204200420083602002004200329032837020c200441146a20092802003602002003200541016a22043602242006417f6a22060d000b0b20042105200220076b22020d000b200328021c2201418080808078460d032003290220210a0c010b2003290220210a410021010b2000200a370204200020013602000c020b02402004450d0020032802202101034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012004417f6a22040d000b0b200328021c450d00200328022022012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b200341d0006a2480808080000ba305020c7f037e23808080800041c0006b2203248080808000410021042003410036020c200342808080801037020402400240024002402002450d00200128020421052001280200210641800421074101210841012109034002402002200720022007491b220a2003280204220b20046b4d0d004100210c02400240200a20046a220d41057422084100480d00410021040240200b450d00200320093602102003200b410574360218410121040b20032004360214200341346a41012008200341106a108f8680800020032802344101470d01200328023c210e2003280238210c0b200c200e41bc83c3800010b980808000000b2003200328023822083602082003200d360204200821090b024002402007450d00200a210b200621070240034020054120490d012001200541606a22053602042001200741206a2206360200200741086a290000210f200741106a290000211020072900002111200341106a41186a2209200741186a290000370300200341106a41106a220d2010370300200341106a41086a220c200f370300200320113703100240200328020c22042003280204470d00200341046a41cc83c38000109086808000200328020821080b200820044105746a22072003290310370000200741186a2009290300370000200741106a200d290300370000200741086a200c2903003700002003200441016a220436020c2006210720082109200b417f6a220b0d000c030b0b2003280204450d0520082008417e6a2f00006b41002802ec82d48000118180808000000c050b200328020c21040b200421072002200a6b22020d000b20032802042207418080808078460d022003290208210f0c010b2003290208210f410021070b2000200f370204200020073602000c010b20004180808080783602000b200341c0006a2480808080000bac0603027f017e0a7f2380808080004180016b2203248080808000410021042003410036020c20034280808080c00037020402400240024020020d0020032902082105410021040c010b41a40221064104210702400240034002402002200620022006491b22082003280204220920046b4d0d00024002400240200820046a22044192c9a4124d0d00410021030c010b200441386c210a4100210b02402009450d00200320073602482003200941386c3602504104210b0b2003200b36024c200341106a4104200a200341c8006a108f8680800020032802104101470d0120032802182104200328021421030b2003200441bc83c3800010b980808000000b200320032802142207360208200320043602040b200821090240024020060d00200328020c21040c010b0340200341106a200110968580800020032d00244102460d03200341c8006a41306a220b200341106a41306a290200370300200341c8006a41286a220a200341106a41286a290200370300200341c8006a41206a220c200341106a41206a290200370300200341c8006a41186a220d200341106a41186a290200370300200341c8006a41106a220e200341106a41106a290200370300200341c8006a41086a220f200341106a41086a290200370300200320032902103703480240200328020c22062003280204470d00200341046a41cc83c380001097868080000b20032802082207200641386c6a22042003290348370200200441086a200f290300370200200441106a200e290300370200200441186a200d290300370200200441206a200c290300370200200441286a200a290300370200200441306a200b2903003702002003200641016a220436020c2009417f6a22090d000b0b20042106200220086b22020d000b20032802042204418080808078460d01200329020821050c020b0240200328020c2206450d00200328020841086a21040340200410ad88808000200441386a21042006417f6a22060d000b0b2003280204450d00200328020822042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002005370204200020043602000b20034180016a2480808080000bb00602077f017e23808080800041306b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041d50a210502400240034002402002200520022005491b22062003280208220720046b4d0d00024002400240200620046a220441aad5aad5004d0d00410021030c010b2004410c6c21084100210902402007450d002003200328020c36022020032007410c6c360228410421090b20032009360224200341146a41042008200341206a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b2003200328021836020c200320043602080b200621070240024020050d00200328021021040c010b03402003200110cd8480800020032802004101710d03200341146a2001200328020410a1838080002003280214418080808078460d03200341206a41086a2205200341146a41086a280200360200200320032902143703200240200328021022042003280208470d00200341086a41cc83c380001096868080000b200328020c2004410c6c6a22092003290320370200200941086a20052802003602002003200441016a22043602102007417f6a22070d000b0b20042105200220066b22020d000b20032802082204418080808078460d01200329020c210a0c030b024020032802102204450d00200328020c21092004410171210241002101024020044101460d002004417e7121052009210441002101034002402004280200450d00200441046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402004410c6a280200450d00200441106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200441186a21042005200141026a2201470d000b0b2002450d0020092001410c6c6a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210a410021040b2000200a370204200020043602000b200341306a2480808080000b9f0702097f017e23808080800041306b22032480808080002003410036021420034280808080c00037020c0240024002402002450d0041800821044100210502400240034002402002200420022004491b2206200328020c220720056b4d0d00024002400240200620056a220541ffffff3f4d0d00410021030c010b200541047421084100210902402007450d0020032003280210360224410421092003200741047436022c0b20032009360228200341186a41042008200341246a108f8680800020032802184101470d0120032802202105200328021c21030b2003200541bc83c3800010b980808000000b2003200328021c3602102003200536020c0b200621080240024020040d00200328021421050c010b0340200341246a200110fe8e80800020032802242205418080808078460d03200328022821070240024002400240200328022c220a2005460d0041002d008083d480001a410c41002802f482d48000118280808000002204450d012004200441036a417c7120046b22096a2204410136020820042005360204200420073602002004417e6a20093b000041d8edc18000210b0c030b024020050d0041a8ebc18000210b41002104410121070c030b2007410171450d0141e8ecc18000210b200721040c020b4104410c10ab80808000000b2007410172210441d4ecc18000210b0b024020032802142209200328020c470d002003410c6a41cc83c380001093868080000b200328021020094104746a2205200436020c2005200a360208200520073602042005200b3602002003200941016a22053602142008417f6a22080d000b0b20052104200220066b22020d000b200328020c2205418080808078460d012003290210210c0c030b024020032802142205450d00200328021021092005410171210841002104024020054101460d002005417e712107410021042009210503402005410c6a200541046a280200200541086a2802002005280200280210118680808000002005411c6a200541146a280200200541186a280200200541106a28020028021011868080800000200541206a21052007200441026a2204470d000b0b2008450d00200920044104746a2205410c6a200528020420052802082005280200280210118680808000000b200328020c450d00200328021022052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290210210c410021050b2000200c370204200020053602000b200341306a2480808080000ba70602077f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d00418008210502400240034002402002200520022005491b2206200328020c220720046b4d0d00024002400240200620046a220441ffffff3f4d0d00410021030c010b200441047421084100210902402007450d0020032003280210360224410421092003200741047436022c0b20032009360228200341186a41042008200341246a108f8680800020032802184101470d0120032802202101200328021c21030b2003200141bc83c3800010b980808000000b2003200328021c3602102003200436020c0b200621070240024020050d00200328021421040c010b0340200128020422044104490d0320012004417c6a36020420012001280200220441046a36020020042800002109200341246a200110fe8e80800020032802242208418080808078460d032003290228210a024020032802142204200328020c470d002003410c6a41cc83c380001093868080000b200328021020044104746a2205200936020c2005200a370204200520083602002003200441016a22043602142007417f6a22070d000b0b20042105200220066b22020d000b200328020c2201418080808078460d012003290210210a0c030b024020032802142201450d00200328021021092001410171210841002104024020014101460d002001417e7121072009210141002104034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012007200441026a2204470d000b0b2008450d00200920044104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200328020c450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290210210a410021010b2000200a370204200020013602000b200341306a2480808080000bca0304047f017e067f017e23808080800041206b22032480808080000240024002402001280208220441046a28020022052002490d00024020020d0041002106420121070c020b2001290300210741808001210841002109200441046a210a4101210b410021060240034002402002200820022008491b220c200620096b4d0d004100210502400240200c20096a22084100480d004100210502402006450d002003200636021c2003200b360214410121050b20032005360218200341086a41012008200341146a108f8680800020032802084101470d012003280210210d200328020c21050b2005200d41bc83c3800010b980808000000b200328020c210b200a2802002105200821060b2005200c490d01200b20096a20042802002208200c10f4978080001a200a2005200c6b220536020020042008200c6a3602002001427f2007200cad7c220e200e2007541b2207370300200c20096a220921082002200c6b22020d000b2006418080808078460d012009ad422086200bad8421070c020b2006450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002007370204200020063602000b200341206a2480808080000bfe05020d7f027e2380808080004190106b2203248080808000410021042003410036020c2003428080808010370204024002400240024002402002450d00200128020021052001280204210620012802082107411021084101210903402001417f20062002200820022008491b220a410a746a220b200b2006491b2206360204200620074f0d030240200a2003280204220b20046b4d0d004100210c024002402004200a6a220d410a74220e4100480d00410021040240200b450d0020032009360290082003200b410a7436029808410121040b2003200436029408200341106a4101200e20034190086a108f8680800020032802104101470d012003280218210f2003280214210c0b200c200f41bc83c3800010b980808000000b2003200328021422093602082003200d3602040b024002402008450d00200a210b200528020c22082802082204280204220e418008490d05034020034190086a2004280200220941800810f4978080001a2004200e4180786a360204200420094180086a3602002008427f200829030022104280087c221120112010541b37030002402005280200200528020822046b41ff074b0d00200520044180084101410110a386808000200528020821040b200528020420046a20034190086a41800810f4978080001a200520052802084180086a360208200341106a20034190086a41800810f4978080001a0240200328020c22042003280204470d00200341046a41cc83c3800010a1868080000b200328020822092004410a746a200341106a41800810f4978080001a2003200441016a220436020c200b417f6a220b450d02200528020c22082802082204280204220e418008490d060c000b0b200328020c21040b200421082002200a6b22020d000b20032802042205418080808078460d03200329020821100c010b20032902082110410021050b20002010370204200020053602000c020b2003280204450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b20034190106a2480808080000b9407020d7f047e23808080800041d0006b2203248080808000410021042003410036020c2003428080808010370204024002400240024002402002450d0020012802002105200128020421062001280208210741800421084101210903402001417f20062002200820022008491b220a4105746a220b200b2006491b2206360204200620074f0d030240200a2003280204220b20046b4d0d004100210c024002402004200a6a220d410574220e4100480d00410021040240200b450d00200320093602302003200b410574360238410121040b20032004360234200341106a4101200e200341306a108f8680800020032802104101470d012003280218210f2003280214210c0b200c200f41bc83c3800010b980808000000b2003200328021422093602082003200d3602040b024002402008450d00200a210e200528020c220b280208220828020422044120490d0503402008200441606a36020420082008280200220441206a360200200341306a41086a2208200441086a290000370300200341306a41106a220d200441106a290000370300200341306a41186a220c200441186a290000370300200b427f200b290300221042207c221120112010541b3703002003200429000037033002402005280200200528020822046b411f4b0d002005200441204101410110a386808000200528020821040b200528020420046a220420032903302210370000200441186a200c2903002211370000200441106a200d2903002212370000200441086a200829030022133700002005200528020841206a360208200341106a41086a220b2013370300200341106a41106a220d2012370300200341106a41186a220c2011370300200320103703100240200328020c22082003280204470d00200341046a41cc83c380001090868080000b2003280208220920084105746a22042003290310370000200441086a200b290300370000200441106a200d290300370000200441186a200c2903003700002003200841016a220436020c200e417f6a220e450d02200528020c220b280208220828020422044120490d060c000b0b200328020c21040b200421082002200a6b22020d000b20032802042205418080808078460d03200329020821100c010b20032902082110410021050b20002010370204200020053602000c020b2003280204450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b200341d0006a2480808080000b880201047f23808080800041106b220324808080800002402001450d0020014104742104200041086a2101200228020821000340200141046a28020021050240200228020020006b41034b0d0020022000410410f491808000200228020821000b2002200041046a360208200228020420006a20053600002001417c6a28020021062003200128020022003602082003200341086a36020c2003410c6a200210dc84808000024020002002280200200228020822056b4d0d0020022005200010f491808000200228020821050b200228020420056a2006200010f4978080001a2002200520006a2200360208200141106a2101200441706a22040d000b0b200341106a2480808080000bfd0101047f23808080800041106b220324808080800002402001450d00200141047421042000410c6a21010340200141786a280200210520032001417c6a28020022003602082003200341086a36020c2003410c6a200210dc84808000024020002002280200200228020822066b4d0d0020022006200010f491808000200228020821060b200228020420066a2005200010f4978080001a2002200620006a22003602080240200228020020006b41034b0d0020022000410410f491808000200228020821000b2002200041046a360208200228020420006a2001280000360000200141106a2101200441706a22040d000b0b200341106a2480808080000b800302027f017e4100210141002d008083d480001a0240412041002802f482d48000118280808000002202450d002002417e6a41003b0000200220002900002203370000200241086a200041086a290000370000200241106a200041106a290000370000200241186a200041186a29000037000002402003a741ff01710d0020022d00010d0020022d00020d0020022d00030d0020022d00040d0020022d00050d0020022d00060d0020022d00070d0020022d00080d0020022d00090d0020022d000a0d0020022d000b0d0020022d000c0d0020022d000d0d0020022d000e0d0020022d000f0d0020022d00100d0020022d00110d0020022d00120d0020022d00130d0020022d00140d0020022d00150d0020022d00160d0020022d00170d0020022d00180d0020022d00190d0020022d001a0d0020022d001b0d0020022d001c0d0020022d001d0d0020022d001e0d0020022d001f4521010b200241002802ec82d480001181808080000020010f0b4101412041dc83c3800010b980808000000bc30201037f23808080800041206b220424808080800041002105024002400240200141046a22064100480d00024020060d00410121050c030b41002d008083d480001a200641002802f482d480001182808080000022050d01410121050b2005200641dc83c3800010b980808000000b2005417e6a41003b00000b20044100360214200420053602102004200636020c200420013602182004200441186a36021c2004411c6a2004410c6a10dc8480800002402001200428020c200428021422066b4d0d002004410c6a2006200110f491808000200428021421060b200428021020066a2000200110f4978080001a200428020c21002002200320042802102205200620016a41002802dc82d480001183808080000002402000450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000bcf0201047f23808080800041206b2203248080808000410021040240024002402000280204220541046a22064100480d0020002802002104024020060d00410121000c030b41002d008083d480001a200641002802f482d480001182808080000022000d01410121040b2004200641dc83c3800010b980808000000b2000417e6a41003b00000b20034100360214200320003602102003200636020c200320053602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402005200328020c200328021422066b4d0d002003410c6a2006200510f491808000200328021421060b200328021020066a2004200510f4978080001a200328020c21042001200220032802102200200620056a41002802dc82d480001183808080000002402004450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000be61d03087f017e057f23808080800041e0006b220624808080800002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01ba022208410b490d00200128020421082001280208210941002d008083d480001a41bc0241002802f482d48000118280808000002201450d0c2001200141036a417c7120016b220a6a220b41003b01ba02200b41003602b001200b417e6a200a3b000020094105490d012009417b6a0e020304020b200741b4016a220c20012802082209410c6c6a210b02400240200941016a220a20084d0d00200b2002290200370200200b41086a200241086a2802003602000c010b200c200a410c6c6a200b200820096b220c410c6c10f9978080001a200b41086a200241086a280200360200200b20022902003702002007200a4104746a200720094104746a200c41047410f9978080001a0b200720094104746a220b41086a200341086a290200370200200b20032902003702002007200841016a3b01ba022001280204210d0c0e0b200b20072f01ba02417b6a22013b01ba02200641306a41086a220c200741c8006a290200370300200620072902403703302001410c4f0d0920072902e801210e20072802e401210a200b41b4016a200741f0016a2001410c6c10f4978080001a200b200741d0006a200141047410f4978080001a200741043b01ba02200641206a41086a200c290300370300200620062903303703202008210d2007210f0c040b200b20072f01ba0241796a22013b01ba02200641306a41086a220c200741e8006a290200370300200620072902603703302001410c4f0d07200729028002210e20072802fc01210a200b41b4016a20074188026a2001410c6c10f4978080001a200b200741f0006a200141047410f4978080001a200741063b01ba02200641206a41086a200c29030037030020062006290330370320200941796a21090c020b200b20072f01ba02417a6a22013b01ba02200641306a41086a2209200741d8006a290200370300200620072902503703302001410c4f0d0520072902f401210e20072802f001210a200b41b4016a200741fc016a2001410c6c10f4978080001a200b200741e0006a200141047410f4978080001a200641206a41086a200929030037030020062006290330370320200741063b01ba02200741f0016a220141086a200241086a28020036020020012002290200370200200741d0006a22012003290200370200200141086a200341086a290200370200410521092008210d2007210f0c030b200b20072f01ba02417a6a22013b01ba02200641306a41086a2209200741d8006a290200370300200620072902503703302001410c4f0d0320072902f401210e20072802f001210a200b41b4016a200741fc016a2001410c6c10f4978080001a200b200741e0006a200141047410f4978080001a200741053b01ba02200641206a41086a200929030037030020062006290330370320410021090b4100210d200b210f0b200f41b4016a22102009410c6c6a210102400240200f2f01ba02220c20094b0d0020012002290200370200200141086a200241086a2802003602000c010b2010200941016a2211410c6c6a2001200c20096b2210410c6c10f9978080001a200141086a200241086a28020036020020012002290200370200200f20114104746a200f20094104746a201041047410f9978080001a0b200f20094104746a220141086a200341086a29020037020020012003290200370200200f200c41016a3b01ba020b200641086a2201200641206a41086a290300370300200620062903203703000240200a418080808078470d00200f21070c080b200641106a41086a200129030037030020062006290300370310024020072802b00122010d00410021030c070b200641d4006a2112200641cc006a2113200641306a410c6a210c4100210303400240024020032008470d0020072f01b802210702400240024020012f01ba022203410b490d00200841016a2103200741054f0d014104210220132110200721080c020b200141b4016a22102007410c6c6a2102200741016a2108200341016a210c0240024020072003490d002002200e3702042002200a360200200120074104746a22022006290310370200200241086a200641106a41086a2903003702000c010b20102008410c6c6a2002200320076b2210410c6c10f9978080001a2002200e3702042002200a360200200120084104746a200120074104746a2202201041047410f9978080001a200241086a200641106a41086a29030037020020022006290310370200200141bc026a220220074102746a41086a200220084102746a201041027410f9978080001a0b2001200c3b01ba02200120084102746a200b3602bc022008200341026a22024f0d0a0240200320076b220a41016a410371220b450d00200120074102746a41c0026a210703402007280200220320083b01b802200320013602b001200741046a2107200841016a2108200b417f6a220b0d000b0b200a4103490d0a200841027420016a41c8026a21070340200741746a280200220b20083b01b802200b20013602b001200741786a280200220b200841016a3b01b802200b20013602b0012007417c6a280200220b200841026a3b01b802200b20013602b0012007280200220b200841036a3b01b802200b20013602b001200741106a21072002200841046a2208470d000c0b0b0b410021084105210220122110024002402007417b6a0e020002010b200641053602082006200336020420062001360200200641306a200610b583808000200628024c22072f01ba02220141016a210802400240024020014106490d00200741fc016a200741f0016a2001417b6a2203410c6c10f9978080001a2007200e3702f4012007200a3602f001200741e0006a200741d0006a200341047410f9978080001a200741d8006a200641106a41086a29030037020020072006290310370250200741d8026a200741d4026a2001410274416c6a10f9978080001a200720083b01ba022007200b3602d4020c010b2007200e3702f4012007200a3602f001200720062903103702502007200b3602d402200720083b01ba02200741d8006a200641106a41086a29030037020020014105470d010b200141037121034106210802402001417b6a41ffff03714103490d00200141fcff037141786a210a410621014100210b03402007200b6a220841d4026a280200220220013b01b802200220073602b001200841d8026a2802002202200141016a3b01b802200220073602b001200841dc026a2802002202200141026a3b01b802200220073602b001200841e0026a2802002208200141036a3b01b802200820073602b001200b41106a210b2001417a6a2102200141046a220821012002200a470d000b0b2003450d00200720084102746a41bc026a210103402001280200220b20083b01b802200b20073602b001200141046a2101200841016a21082003417f6a22030d000b0b200641206a41086a200c41086a2902003703002006200c2902003703200c030b200741796a210841062102201221100b200620023602082006200336020420062001360200200641306a200610b5838080002010280200220141b4016a22112008410c6c6a2102200841016a210720012f01ba02220341016a211002400240200320084b0d002002200e3702042002200a360200200120084104746a22022006290310370200200241086a200641106a41086a2903003702000c010b20112007410c6c6a2002200320086b2211410c6c10f9978080001a2002200e3702042002200a360200200120074104746a200120084104746a2202201141047410f9978080001a200241086a200641106a41086a29030037020020022006290310370200200141bc026a220220084102746a41086a200220074102746a201141027410f9978080001a0b200120103b01ba02200120074102746a200b3602bc0202402007200341026a22024f0d000240200320086b220a41016a410371220b450d00200120084102746a41c0026a210803402008280200220320073b01b802200320013602b001200841046a2108200741016a2107200b417f6a220b0d000b0b200a4103490d00200120074102746a41c8026a21080340200841746a280200220b20073b01b802200b20013602b001200841786a280200220b200741016a3b01b802200b20013602b0012008417c6a280200220b200741026a3b01b802200b20013602b0012008280200220b200741036a3b01b802200b20013602b001200841106a21082002200741046a2207470d000b0b200641206a41086a200c41086a2902003703002006200c290200370320200628024c21070c010b41a489c38000413541dc89c38000108081808000000b2006290234210e2006280230220a418080808078460d06200628025821032006280254210b20062802502108200641106a41086a200641206a41086a2903003703002006200629032037031020072802b0012201450d070c000b0b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b410441bc0210ab80808000000b200020093602082000200d3602042000200f3602000c020b0240024002400240200428020022012802002208450d002001280204210241002d008083d480001a41ec0241002802f482d48000118280808000002207450d022007200741036a417c7120076b220c6a220720083602bc02200741003b01ba02200741003602b0012007417e6a200c3b0000200841003b01b802200820073602b0012001200241016a3602042001200736020020032002470d0320072f01ba022201410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2007200141016a22083b01ba0220072001410c6c6a2203200e3702b8012003200a3602b401200720014104746a220141086a200641106a41086a29030037020020012006290310370200200741bc026a20084102746a200b360200200020093602082000200d3602042000200f360200200b20083b01b802200b20073602b0010c030b410441ec0210ab80808000000b41f086c38000413041a087c38000108081808000000b200020093602082000200d360204200020073602000b200641e0006a2480808080000bae05010a7f23808080800041c0006b2202248080808000200128020022032f01ba02210441002d008083d480001a0240024002400240024041ec0241002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01ba02200741003602b0012007417e6a20063b0000200241206a41086a200341b4016a220820012802082205410c6c6a220941086a280200360200200241306a41086a200320054104746a220a41086a290200370300200720032f01ba02220b2005417f736a22063b01ba02200220092902003703202002200a2902003703302006410c4f0d01200b200541016a22096b2006470d02200741b4016a20082009410c6c6a2006410c6c10f4978080001a2007200320094104746a200641047410f4978080002109200320053b01ba02200241086a200241206a41086a280200360200200241146a200241306a41086a290300370200200220022903203703002002200229033037020c20092f01ba02220741016a21062007410c4f0d03200420056b220a2006470d04200941bc026a200320054102746a41c0026a200a41027410f497808000210a200128020421014100210502400340200a20054102746a280200220620053b01b802200620093602b001200520074f0d01200520052007496a220520074d0d000b0b200020013602202000200336021c200020022903003702002000200136022820002009360224200041086a200241086a290300370200200041106a200241106a290300370200200041186a200241186a280200360200200241c0006a2480808080000f0b410441ec0210ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000baf1c03087f017e057f23808080800041a0076b2206248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01aa142208410b490d00200128020421082001280208210941002d008083d480001a41ac1441002802f482d48000118280808000002201450d082001200141036a417c7120016b220a6a220b41003b01aa14200b41003602a013200b417e6a200a3b000020094105490d012009417b6a0e020304020b200741a4136a220c20012802082209410c6c6a210b02400240200941016a220a20084d0d00200b2002290200370200200b41086a200241086a2802003602000c010b200c200a410c6c6a200b200820096b220c410c6c10f9978080001a200b41086a200241086a280200360200200b20022902003702002007200a41e0016c6a2007200941e0016c6a200c41e0016c10f9978080001a0b2007200941e0016c6a200341e00110f4978080001a2007200841016a3b01aa142001280204210d0c0f0b200b20072f01aa14417b6a22013b01aa1420072802d413210a20072902d813210e200641a4056a20074180076a41e00110f4978080001a2001410c4f0d07200b41a4136a200741e0136a2001410c6c10f4978080001a200b200741e0086a200141e0016c10f4978080001a200741043b01aa14200641c4036a200641a4056a41e00110f4978080001a2008210d2007210f0c040b200b20072f01aa1441796a22013b01aa1420072802ec13210a20072902f013210e200641a4056a200741c00a6a41e00110f4978080001a2001410c4f0d07200b41a4136a200741f8136a2001410c6c10f4978080001a200b200741a00c6a200141e0016c10f4978080001a200741063b01aa14200641c4036a200641a4056a41e00110f4978080001a200941796a21090c020b200b20072f01aa14417a6a22013b01aa1420072802e013210a20072902e413210e200641a4056a200741e0086a220941e00110f4978080001a2001410c4f0d07200b41a4136a200741ec136a2001410c6c10f4978080001a200b200741c00a6a200141e0016c10f4978080001a200641c4036a200641a4056a41e00110f4978080001a200741e0136a220141086a200241086a280200360200200120022902003702002009200341e00110f4978080001a200741063b01aa14410521092008210d2007210f0c030b200b20072f01aa14417a6a22013b01aa1420072802e013210a20072902e413210e200641a4056a200741e0086a41e00110f4978080001a2001410c4f0d07200b41a4136a200741ec136a2001410c6c10f4978080001a200b200741c00a6a200141e0016c10f4978080001a200741053b01aa14200641c4036a200641a4056a41e00110f4978080001a410021090b4100210d200b210f0b200f41a4136a2009410c6c6a210102400240200f2f01aa14220c20094b0d0020012002290200370200200141086a200241086a2802003602000c010b2001410c6a2001200c20096b2210410c6c10f9978080001a200141086a200241086a28020036020020012002290200370200200f200941e0016c6a220141e0016a2001201041e0016c10f9978080001a0b200f200941e0016c6a200341e00110f4978080001a200f200c41016a3b01aa140b200641046a200641c4036a41e00110f4978080001a0240200a418080808078470d00200f21070c090b200641e4016a200641046a41e00110f4978080001a024020072802a01322010d00410021020c080b20064198076a211120064190076a2112200641a4056a410c6a211341002102034020022008470d0620072f01a8142107024002400240024020012f01aa142202410b490d00200841016a2102200741054f0d01410421032012210c200721080c020b200141a4136a22102007410c6c6a2103200741016a2108200241016a210c0240024020072002490d002003200e3702042003200a3602002001200741e0016c6a200641e4016a41e00110f4978080001a0c010b20102008410c6c6a2003200220076b2210410c6c10f9978080001a2003200e3702042003200a3602002001200841e0016c6a2001200741e0016c6a220a201041e0016c10f9978080001a200a200641e4016a41e00110f4978080001a200141ac146a220a20074102746a41086a200a20084102746a201041027410f9978080001a0b2001200c3b01aa14200120084102746a200b3602ac142008200241026a22034f0d0a0240200220076b220241016a410371220b450d00200120074102746a41b0146a210703402007280200220a20083b01a814200a20013602a013200741046a2107200841016a2108200b417f6a220b0d000b0b20024103490d0a200841027420016a41b8146a21070340200741746a280200220b20083b01a814200b20013602a013200741786a280200220b200841016a3b01a814200b20013602a0132007417c6a280200220b200841026a3b01a814200b20013602a0132007280200220b200841036a3b01a814200b20013602a013200741106a21072003200841046a2208470d000c0b0b0b41002108410521032011210c024002402007417b6a0e020002010b2006410536020c2006200236020820062001360204200641a4056a200641046a10b78380800020062802900722072f01aa14220141016a210802400240024020014106490d00200741ec136a200741e0136a2001417b6a2202410c6c10f9978080001a2007200e3702e4132007200a3602e013200741c00a6a200741e0086a220a200241e0016c10f9978080001a200a200641e4016a41e00110f4978080001a200741c8146a200741c4146a2001410274416c6a10f9978080001a200720083b01aa142007200b3602c4140c010b2007200e3702e4132007200a3602e013200741e0086a200641e4016a41e00110f4978080001a200720083b01aa142007200b3602c41420014105470d010b2001410371210a4106210802402001417b6a41ffff03714103490d00200141fcff037141786a2103410621014100210b03402007200b6a220841c4146a280200220220013b01a814200220073602a013200841c8146a2802002202200141016a3b01a814200220073602a013200841cc146a2802002202200141026a3b01a814200220073602a013200841d0146a2802002208200141036a3b01a814200820073602a013200b41106a210b2001417a6a2102200141046a2208210120022003470d000b0b200a450d00200720084102746a41ac146a210103402001280200220b20083b01a814200b20073602a013200141046a2101200841016a2108200a417f6a220a0d000b0b20062902a805210e20062802a405210a200641c4036a201341e00110f4978080001a0c020b200741796a2108410621032011210c0b2006200336020c2006200236020820062001360204200641a4056a200641046a10b783808000200c280200220141a4136a22102008410c6c6a2102200841016a210720012f01aa14220341016a210c02400240200320084b0d002002200e3702042002200a3602002001200841e0016c6a200641e4016a41e00110f4978080001a0c010b20102007410c6c6a2002200320086b2210410c6c10f9978080001a2002200e3702042002200a3602002001200741e0016c6a2001200841e0016c6a220a201041e0016c10f9978080001a200a200641e4016a41e00110f4978080001a200141ac146a220a20084102746a41086a200a20074102746a201041027410f9978080001a0b2001200c3b01aa14200120074102746a200b3602ac1402402007200341026a22024f0d000240200320086b220341016a410371220b450d00200120084102746a41b0146a210803402008280200220a20073b01a814200a20013602a013200841046a2108200741016a2107200b417f6a220b0d000b0b20034103490d00200120074102746a41b8146a21080340200841746a280200220b20073b01a814200b20013602a013200841786a280200220b200741016a3b01a814200b20013602a0132008417c6a280200220b200741026a3b01a814200b20013602a0132008280200220b200741036a3b01a814200b20013602a013200841106a21082002200741046a2207470d000b0b20062902a805210e20062802a405210a200641c4036a201341e00110f4978080001a20062802900721070b200a418080808078460d07200628029c072102200628029807210b2006280294072108200641e4016a200641c4036a41e00110f4978080001a20072802a0132201450d080c000b0b410441ac1410ab80808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b41a489c38000413541dc89c38000108081808000000b200020093602082000200d3602042000200f3602000c020b0240024002400240200428020022012802002208450d002001280204210341002d008083d480001a41dc1441002802f482d48000118280808000002207450d022007200741036a417c7120076b220c6a220720083602ac14200741003b01aa14200741003602a0132007417e6a200c3b0000200841003b01a814200820073602a0132001200341016a3602042001200736020020022003470d0320072f01aa142201410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2007200141016a22083b01aa1420072001410c6c6a2202200e3702a8132002200a3602a4132007200141e0016c6a200641e4016a41e00110f4978080001a200741ac146a20084102746a200b360200200020093602082000200d3602042000200f360200200b20083b01a814200b20073602a0130c030b410441dc1410ab80808000000b41f086c38000413041a087c38000108081808000000b200020093602082000200d360204200020073602000b200641a0076a2480808080000bf70401097f23808080800041e0036b2202248080808000200128020022032f01aa14210441002d008083d480001a0240024002400240024041dc1441002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01aa14200741003602a0132007417e6a20063b0000200241f0016a41086a200341a4136a220820012802082205410c6c6a220941086a280200360200200720032f01aa14220a2005417f736a22063b01aa14200220092902003703f00120024180026a2003200541e0016c6a41e00110f4978080001a2006410c4f0d01200a200541016a22096b2006470d02200741a4136a20082009410c6c6a2006410c6c10f4978080001a20072003200941e0016c6a200641e0016c10f4978080002109200320053b01aa14200241086a200241f0016a41086a280200360200200220022903f0013703002002410c6a20024180026a41e00110f4978080001a20092f01aa14220741016a21062007410c4f0d03200420056b220a2006470d04200941ac146a200320054102746a41b0146a200a41027410f497808000210a200128020421014100210502400340200a20054102746a280200220620053b01a814200620093602a013200520074f0d01200520052007496a220520074d0d000b0b200020013602f001200020033602ec012000200241ec0110f497808000220520013602f801200520093602f401200241e0036a2480808080000f0b410441dc1410ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000bf31705017f017e0b7f027e017f23808080800041c0006b22062480808080002002290000210702400240024002400240024002400240024002400240024002400240024002400240200128020022022f01e2012208410b490d00200128020421082001280208210941002d008083d480001a41e40141002802f482d48000118280808000002201450d0c2001200141036a417c7120016b220a6a220b41003b01e201200b4100360258200b417e6a200a3b000020094105490d012009417b6a0e020304020b2002200128020822094103746a210b02400240200941016a220a20084d0d00200b20073700000c010b2002200a4103746a200b200820096b220c41037410f9978080001a200b2007370000200241dc006a220b200a410c6c6a200b2009410c6c6a200c410c6c10f9978080001a0b20022009410c6c6a220b200329020037025c200b41e4006a200341086a2802003602002002200841016a3b01e2012001280204210d2002210e0c0d0b200b20022f01e201417b6a22013b01e2012001410c4f0d09200241206a210c2002418c016a210a20024190016a210f410421104198012111412821122008210d2002210e0c040b200b20022f01e20141796a22013b01e2012001410c4f0d07200941796a2109200241306a210c200241a4016a210a200241a8016a210f4100210d4106211041b0012111413821120c020b200b20022f01e201417a6a22013b01e2012001410c4f0d0520022900282113200228029801210a200229029c012114200b200241306a200141037410f49780800041dc006a200241a4016a2001410c6c10f4978080001a20022007370028200241063b01e2012002200329020037029801200241a0016a200341086a280200360200410521092008210d2002210e0c030b200b20022f01e201417a6a22013b01e2012001410c4f0d03200241286a210c20024198016a210a2002419c016a210f410021094105211041a4012111413021124100210d0b200b210e0b200a280200210a200f2902002114200c2900002113200b200220126a200141037410f49780800041dc006a200220116a2001410c6c10f4978080001a200220103b01e201200e20094103746a21010240200e2f01e201220c20094d0d00200141086a2001200c20096b220f41037410f9978080001a200e2009410c6c6a221041e8006a201041dc006a200f410c6c10f9978080001a0b20012007370000200e2009410c6c6a2201200329020037025c200141e4006a200341086a280200360200200e200c41016a3b01e2010b200a418080808078460d060240200228025822010d00410021030c060b200641346a21122006412c6a21154100210303400240024020032008470d0020022f01e001210202400240024020012f01e2012203410b490d00200841016a2103200241054f0d014104210c2015210f200221080c020b200241016a2108200341016a210f200120024103746a210c0240024020022003490d00200c201337000020012002410c6c6a220c2014370260200c200a36025c0c010b200120084103746a200c200320026b221041037410f9978080001a200141dc006a22112008410c6c6a20112002410c6c6a22112010410c6c10f9978080001a201120143702042011200a360200200c2013370000200141e4016a220a20024102746a41086a200a20084102746a201041027410f9978080001a0b2001200f3b01e201200120084102746a200b3602e4012008200341026a220a4f0d0b0240200320026b220c41016a410371220b450d00200120024102746a41e8016a210203402002280200220320083b01e00120032001360258200241046a2102200841016a2108200b417f6a220b0d000b0b200c4103490d0b200841027420016a41f0016a21020340200241746a280200220b20083b01e001200b2001360258200241786a280200220b200841016a3b01e001200b20013602582002417c6a280200220b200841026a3b01e001200b20013602582002280200220b200841036a3b01e001200b2001360258200241106a2102200a200841046a2208470d000c0c0b0b410021084105210c2012210f024002402002417b6a0e020002010b20064105360214200620033602102006200136020c200641186a2006410c6a10b983808000200628022c22022f01e201220141016a21080240024020014106490d00200241306a200241286a2001417b6a220341037410f9978080001a200241a4016a20024198016a2003410c6c10f9978080001a2002201437029c012002200a360298012002201337002820024180026a200241fc016a2001410274416c6a10f9978080001a200220083b01e2012002200b3602fc010c010b2002200b3602fc012002201437029c012002200a3602980120022013370028200220083b01e20120014105470d040b200141037121034106210802402001417b6a41ffff03714103490d00200141fcff037141786a210c410621014100210b03402002200b6a220841fc016a280200220a20013b01e001200a200236025820084180026a280200220a200141016a3b01e001200a200236025820084184026a280200220a200141026a3b01e001200a200236025820084188026a2802002208200141036a3b01e00120082002360258200b41106a210b2001417a6a210a200141046a22082101200a200c470d000b0b2003450d03200220084102746a41e4016a210103402001280200220b20083b01e001200b2002360258200141046a2101200841016a21082003417f6a22030d000c040b0b200241796a21084106210c2012210f0b2006200c360214200620033602102006200136020c200841016a2102200641186a2006410c6a10b983808000200f280200220120084103746a210c20012f01e201220341016a210f02400240200320084b0d00200c201337000020012008410c6c6a220c2014370260200c200a36025c0c010b200120024103746a200c200320086b221041037410f9978080001a200141dc006a22112002410c6c6a20112008410c6c6a22112010410c6c10f9978080001a201120143702042011200a360200200c2013370000200141e4016a220a20084102746a41086a200a20024102746a201041027410f9978080001a0b2001200f3b01e201200120024102746a200b3602e40102402002200341026a220a4f0d000240200320086b220c41016a410371220b450d00200120084102746a41e8016a210803402008280200220320023b01e00120032001360258200841046a2108200241016a2102200b417f6a220b0d000b0b200c4103490d00200120024102746a41f0016a21080340200841746a280200220b20023b01e001200b2001360258200841786a280200220b200241016a3b01e001200b20013602582008417c6a280200220b200241026a3b01e001200b20013602582008280200220b200241036a3b01e001200b2001360258200841106a2108200a200241046a2202470d000b0b200628022c21020c010b41a489c38000413541dc89c38000108081808000000b200629022421142006280220220a418080808078460d0720062903182113200628023821032006280234210b2006280230210820022802582201450d060c000b0b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b410441e40110ab80808000000b02400240200428020022012802002208450d002001280204210c41002d008083d480001a41940241002802f482d48000118280808000002202450d032002200241036a417c7120026b220f6a220220083602e401200241003b01e201200241003602582002417e6a200f3b0000200841003b01e001200820023602582001200c41016a360204200120023602002003200c470d0420022f01e2012201410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2002200141016a22083b01e20120022001410c6c6a22032014370260200220014103746a20133700002003200a36025c200241e4016a20084102746a200b360200200b20083b01e001200b20023602580b200020093602082000200d3602042000200e360200200641c0006a2480808080000f0b410441940210ab80808000000b41f086c38000413041a087c38000108081808000000bdc04020a7f017e23808080800041206b2202248080808000200128020022032f01e201210441002d008083d480001a0240024002400240024041940241002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01e201200741003602582007417e6a20063b0000200241106a41086a200341dc006a220820012802082205410c6c6a220941086a280200360200200720032f01e201220a2005417f736a22063b01e201200220092902003703102006410c4f0d01200a200541016a220b6b2006470d02200320054103746a290000210c20072003200b4103746a200641037410f497808000220941dc006a2008200b410c6c6a2006410c6c10f4978080001a200320053b01e201200241086a200241106a41086a2802003602002002200229031037030020092f01e201220741016a21062007410c4f0d03200420056b220b2006470d04200941e4016a200320054102746a41e8016a200b41027410f497808000210b200128020421014100210502400340200b20054102746a280200220620053b01e00120062009360258200520074f0d01200520052007496a220520074d0d000b0b20002001360218200020033602142000200c37020020002002290300370208200020013602202000200936021c200041106a200241086a280200360200200241206a2480808080000f0b410441940210ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000baf1c010d7f23808080800041e0026b2205248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f01f6062207410b490d00200128020421072001280208210841002d008083d480001a41f80641002802f482d48000118280808000002201450d082001200141036a417c7120016b22096a220a41003b01f606200a41003602f006200a417e6a20093b000020084105490d012008417b6a0e020304020b02402001280208220841016a220a20074b0d002006200a41d0006c6a2006200841d0006c6a200720086b41d0006c10f9978080001a0b2006200841d0006c6a200241d00010f4978080001a2006200741016a3b01f6062001280204210b0c0f0b200a20062f01f606417b6a22013b01f60620054180026a200641c0026a41cc0010f4978080001a200541fc016a41026a220c2006418f036a2d00003a0000200520062f008d033b01fc012001410c4f0d0720062d008c032109200a20064190036a200141d0006c10f4978080001a200641043b01f606200541b0016a20054180026a41cc0010f4978080001a200541ac016a41026a200c2d00003a0000200520052f01fc013b01ac012007210b2006210d0c040b200a20062f01f60641796a22013b01f60620054180026a200641e0036a41cc0010f4978080001a200541fc016a41026a220c200641af046a2d00003a0000200520062f00ad043b01fc012001410c4f0d0720062d00ac042109200a200641b0046a200141d0006c10f4978080001a200641063b01f606200541b0016a20054180026a41cc0010f4978080001a200541ac016a41026a200c2d00003a0000200520052f01fc013b01ac01200841796a21080c020b200a20062f01f606417a6a22013b01f60620054180026a20064190036a220841cc0010f4978080001a200541fc016a41026a220c200641df036a2d00003a0000200520062f00dd033b01fc012001410c4f0d0720062d00dc032109200a200641e0036a200141d0006c10f4978080001a200541b0016a20054180026a41cc0010f4978080001a200541ac016a41026a200c2d00003a0000200520052f01fc013b01ac012008200241d00010f4978080001a200641063b01f606410521082007210b2006210d0c030b200a20062f01f606417a6a22013b01f60620054180026a20064190036a41cc0010f4978080001a200541fc016a41026a2208200641df036a2d00003a0000200520062f00dd033b01fc012001410c4f0d0720062d00dc032109200a200641e0036a200141d0006c10f4978080001a200641053b01f606200541b0016a20054180026a41cc0010f4978080001a200541ac016a41026a20082d00003a0000200520052f01fc013b01ac01410021080b4100210b200a210d0b0240200d2f01f606220120084d0d00200d200841d0006c6a220c41d0006a200c200120086b41d0006c10f9978080001a0b200d200841d0006c6a200241d00010f4978080001a200d200141016a3b01f6060b200541106a200541b0016a41cc0010f4978080001a2005410c6a41026a2201200541ac016a41026a2d00003a0000200520052f01ac013b010c0240200941ff01714102470d00200d21060c090b200541e0006a200541106a41cc0010f4978080001a200541dc006a41026a20012d00003a0000200520052f010c3b015c024020062802f00622010d00410021020c080b200541dd026a210e20054180026a41106a210f41002102034020022007470d0620062f01f4062106024002400240024002400240024020012f01f6062202410b490d00200741016a210220064105490d01410021074105210c2006417b6a0e020204030b200641016a21070240200620024f220e0d002001200741d0006c6a2001200641d0006c6a200220066b41d0006c10f9978080001a0b200241016a21102001200641d0006c6a200541e0006a41cc0010f497808000220c20093a004c200c20052f015c3b004d200c41cf006a200541dc006a41026a2d00003a0000200141f8066a210c200241026a21090240200e0d00200c20064102746a41086a200c20074102746a200220066b41027410f9978080001a0b200120103b01f606200c20074102746a200a360200200720094f0d0d0240200220066b220c41016a410371220a450d00200120064102746a41fc066a210603402006280200220220073b01f406200220013602f006200641046a2106200741016a2107200a417f6a220a0d000b0b200c4103490d0d200741027420016a4184076a21060340200641746a280200220a20073b01f406200a20013602f006200641786a280200220a200741016a3b01f406200a20013602f0062006417c6a280200220a200741026a3b01f406200a20013602f0062006280200220a200741036a3b01f406200a20013602f006200641106a21062009200741046a2207470d000c0e0b0b20054104360218200520023602142005200136021020054180026a200541106a10bb838080002005280280022101200621070c030b20054105360218200520023602142005200136021020054180026a200541106a10bb8380800020052802800222064190036a210720062f01f606220141016a21020240024020014106490d00200641e0036a2007200141d0006c41f07c6a10f9978080001a2007200541e0006a41cc0010f4978080001a200620093a00dc03200620052f015c3b00dd03200641df036a200541dc006a41026a2d00003a000020064194076a20064190076a2001410274416c6a10f9978080001a200620023b01f6062006200a360290070c010b2007200541e0006a41cc0010f4978080001a200620093a00dc032006200a36029007200620023b01f606200620052f015c3b00dd03200641df036a200541dc006a41026a2d00003a000020014105470d040b200141037121024106210702402001417b6a41ffff03714103490d00200141fcff037141786a210c410621014100210a03402006200a6a22074190076a280200220920013b01f406200920063602f00620074194076a2802002209200141016a3b01f406200920063602f00620074198076a2802002209200141026a3b01f406200920063602f0062007419c076a2802002207200141036a3b01f406200720063602f006200a41106a210a2001417a6a2109200141046a220721012009200c470d000b0b2002450d03200620074102746a41f8066a210103402001280200220a20073b01f406200a20063602f006200141046a2101200741016a21072002417f6a22020d000c040b0b200641796a21074106210c0b2005200c360218200520023602142005200136021020054180026a200541106a10bb8380800020052802880221010b200741016a21062001200741d0006c6a210c20012f01f606220241016a211002400240200220074b0d00200c200541e0006a41cc0010f497808000220c20093a004c200c20052f015c3b004d200c41cf006a200541dc006a41026a2d00003a00000c010b2001200641d0006c6a200c200220076b221141d0006c10f9978080001a200c200541e0006a41cc0010f497808000220c20093a004c200c20052f015c3b004d200c41cf006a200541dc006a41026a2d00003a0000200141f8066a220920074102746a41086a200920064102746a201141027410f9978080001a0b200120103b01f606200120064102746a200a3602f80602402006200241026a22094f0d000240200220076b220c41016a410371220a450d00200120074102746a41fc066a210703402007280200220220063b01f406200220013602f006200741046a2107200641016a2106200a417f6a220a0d000b0b200c4103490d00200120064102746a4184076a21070340200741746a280200220a20063b01f406200a20013602f006200741786a280200220a200641016a3b01f406200a20013602f0062007417c6a280200220a200641026a3b01f406200a20013602f0062007280200220a200641036a3b01f406200a20013602f006200741106a21072009200641046a2206470d000b0b20052802800221060b200528028c022102200528028802210a2005280284022107200541b0016a200f41cc0010f4978080001a200541fc016a41026a2201200e41026a2d00003a00002005200e2f00003b01fc0120052d00dc0222094102460d07200541e0006a200541b0016a41cc0010f4978080001a200541dc006a41026a20012d00003a0000200520052f01fc013b015c20062802f0062201450d080c000b0b410441f80610ab80808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b41a489c38000413541dc89c38000108081808000000b200020083602082000200b3602042000200d3602000c020b0240024002400240200328020022012802002207450d002001280204210c41002d008083d480001a41a80741002802f482d48000118280808000002206450d022006200641036a417c7120066b220e6a220620073602f806200641003b01f606200641003602f0062006417e6a200e3b0000200741003b01f406200720063602f0062001200c41016a360204200120063602002002200c470d0320062f01f6062201410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2006200141016a22073b01f6062006200141d0006c6a200541e0006a41cc0010f497808000220120093a004c200120052f015c3b004d200141cf006a200541dc006a41026a2d00003a0000200641f8066a20074102746a200a360200200020083602082000200b3602042000200d360200200a20073b01f406200a20063602f0060c030b410441a80710ab80808000000b41f086c38000413041a087c38000108081808000000b200020083602082000200b360204200020063602000b200541e0026a2480808080000b8f0401087f23808080800041a0016b2202248080808000200128020022032f01f606210441002d008083d480001a0240024002400240024041a80741002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01f606200741003602f0062007417e6a20063b0000200720032f01f606220820012802082205417f736a22063b01f606200241d0006a2003200541d0006c6a41d00010f4978080001a2006410c4f0d012008200541016a22096b2006470d0220072003200941d0006c6a200641d0006c10f4978080002108200320053b01f6062002200241d0006a41d00010f497808000210920082f01f606220741016a21062007410c4f0d03200420056b22022006470d04200841f8066a200320054102746a41fc066a200241027410f4978080002102200128020421014100210502400340200220054102746a280200220620053b01f406200620083602f006200520074f0d01200520052007496a220520074d0d000b0b2000200136020420002003360200200041106a200941d00010f4978080001a2000200136020c20002008360208200941a0016a2480808080000f0b410441a80710ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000bca2101147f2380808080004190016b22062480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f0192032208410b490d00200128020421092001280208210a41002d008083d480001a41940341002802f482d48000118280808000002201450d0b2001200141036a417c7120016b220b6a220841003b019203200841003602e0022008417e6a200b3b0000200a4105490d01200a417b6a0e020304020b200741e4026a220c200128020822094102746a210b200941016a220d20084d0d07200b20023602000c080b200820072f019203417b6a22013b019203200641d8006a41086a220d20074188016a290000370300200641d8006a41106a220c20074190016a290000370300200641d8006a41186a220e20074198016a29000037030020062007290080013703582001410c4f0d0a20072802f402210b200841e4026a200741f8026a200141027410f4978080001a2008200741a0016a200141057410f4978080001a200741043b019203200641286a41086a200d290300370300200641286a41106a200c290300370300200641286a41186a200e290300370300200620062903583703282009210f200721100c040b200820072f01920341796a22013b019203200641d8006a41086a220d200741c8016a290000370300200641d8006a41106a220c200741d0016a290000370300200641d8006a41186a220e200741d8016a290000370300200620072900c0013703582001410c4f0d0a20072802fc02210b200841e4026a20074180036a200141027410f4978080001a2008200741e0016a200141057410f4978080001a200741063b019203200641286a41086a200d290300370300200641286a41106a200c290300370300200641286a41186a200e29030037030020062006290358370328200a41796a210a0c020b200820072f019203417a6a22013b019203200641d8006a41086a220d200741a8016a290000370300200641d8006a41106a220c200741b0016a290000370300200641d8006a41186a220e200741b8016a290000370300200620072900a0013703582001410c4f0d0a20072802f802210b200841e4026a200741fc026a200141027410f4978080001a4105210a2008200741c0016a200141057410f4978080001a200641286a41186a200e290300370300200641286a41106a200c290300370300200641286a41086a200d29030037030020062006290358370328200720023602f802200741063b019203200741a0016a22012003290000370000200141086a200341086a290000370000200141106a200341106a290000370000200141186a200341186a2900003700002009210f200721100c030b200820072f019203417a6a22013b019203200641d8006a41086a220d200741a8016a290000370300200641d8006a41106a220c200741b0016a290000370300200641d8006a41186a220e200741b8016a290000370300200620072900a0013703582001410c4f0d0a20072802f802210b200841e4026a200741fc026a200141027410f4978080001a2008200741c0016a200141057410f4978080001a200741053b019203200641286a41086a200d290300370300200641286a41106a200c290300370300200641286a41186a200e290300370300200620062903583703284100210a0b4100210f200821100b201041e4026a220c200a4102746a21010240024020102f019203220d200a4b0d00200120023602000c010b200c200a41016a220e4102746a2001200d200a6b220c41027410f9978080001a200120023602002010200e4105746a2010200a4105746a200c41057410f9978080001a0b2010200a4105746a220141186a200341186a290000370000200141106a200341106a29000037000020012003290000370000200141086a200341086a2900003700002010200d41016a3b0192030b200641086a41186a220c200641286a41186a220e290300370300200641086a41106a2211200641286a41106a2212290300370300200641086a41086a2213200641286a41086a22142903003703002006200629032837030820072802e00222030d02410021010c0a0b200c200d4102746a200b200820096b220c41027410f9978080001a200b20023602002007200d4105746a200720094105746a200c41057410f9978080001a0b200720094105746a220b41186a200341186a290000370000200b41106a200341106a290000370000200b2003290000370000200b41086a200341086a2900003700002007200841016a3b019203200128020421032000200936020820002003360204200020073602000c090b200641ec006a210241002101034020012009470d0620072f0190032107024002400240024002400240024020032f0192032201410b490d00200941016a210120074105490d01410021094105210d2007417b6a0e020204030b200341e4026a220c2007410274220e6a2102200741016a2109200141016a210d0240024020072001490d002002200b360200200320074105746a220b2006290308370000200b41186a200641086a41186a290300370000200b41106a200641086a41106a290300370000200b41086a200641086a41086a2903003700000c010b200c200941027422116a2002200120076b220c410274221210f9978080001a2002200b360200200320094105746a200320074105746a220b200c41057410f9978080001a200b41186a200641086a41186a290300370000200b41106a200641086a41106a290300370000200b41086a200641086a41086a290300370000200b200629030837000020034194036a220b200e6a41086a200b20116a201210f9978080001a0b2003200d3b019203200320094102746a2008360294032009200141026a220b4f0d0d0240200120076b220241016a4103712201450d00200320074102746a4198036a210703402007280200220820093b019003200820033602e002200741046a2107200941016a21092001417f6a22010d000b0b20024103490d0d200941027420036a41a0036a21070340200741746a280200220120093b019003200120033602e002200741786a2802002201200941016a3b019003200120033602e0022007417c6a2802002201200941026a3b019003200120033602e00220072802002201200941036a3b019003200120033602e002200741106a2107200b200941046a2209470d000c0e0b0b20064104360254200620013602502006200336024c200641d8006a200641cc006a10bd8380800020062802582103200721090c030b20064105360254200620013602502006200336024c200641d8006a200641cc006a10bd83808000200628025822072f019203220341016a210902400240024020034106490d00200741fc026a200741f8026a2003417b6a220141027410f9978080001a2007200b3602f802200741c0016a200741a0016a200141057410f9978080001a200741b8016a200c290300370000200741b0016a2011290300370000200741a8016a2013290300370000200720062903083700a001200741b0036a200741ac036a2003410274416c6a10f9978080001a200720093b019203200720083602ac030c010b2007200b3602f802200720062903083700a001200720083602ac03200720093b019203200741a8016a2013290300370000200741b0016a2011290300370000200741b8016a200c29030037000020034105470d010b200341037121084106210902402003417b6a41ffff03714103490d00200341fcff037141786a210d41062103410021010340200720016a220941ac036a280200220b20033b019003200b20073602e002200941b0036a280200220b200341016a3b019003200b20073602e002200941b4036a280200220b200341026a3b019003200b20073602e002200941b8036a2802002209200341036a3b019003200920073602e002200141106a21012003417a6a210b200341046a22092103200b200d470d000b0b2008450d00200720094102746a4194036a210303402003280200220120093b019003200120073602e002200341046a2103200941016a21092008417f6a22080d000b0b2014200241086a2902003703002012200241106a290200370300200e200241186a290200370300200620022902003703280c030b200741796a21094106210d0b2006200d360254200620013602502006200336024c200641d8006a200641cc006a10bd83808000200628026021030b200341e4026a2215200941027422166a210d200941016a210720032f019203220141016a211702400240200120094b0d00200d200b360200200320094105746a220b2006290308370000200b41186a200c290300370000200b41106a2011290300370000200b41086a20132903003700000c010b2015200741027422186a200d200120096b2215410274221910f9978080001a200d200b360200200320074105746a200320094105746a220b201541057410f9978080001a200b41186a200c290300370000200b41106a2011290300370000200b41086a2013290300370000200b200629030837000020034194036a220b20166a41086a200b20186a201910f9978080001a0b200320173b019203200320074102746a20083602940302402007200141026a220b4f0d000240200120096b220d41016a4103712201450d00200320166a4198036a210903402009280200220820073b019003200820033602e002200941046a2109200741016a21072001417f6a22010d000b0b200d4103490d00200320074102746a41a0036a21090340200941746a280200220120073b019003200120033602e002200941786a2802002201200741016a3b019003200120033602e0022009417c6a2802002201200741026a3b019003200120033602e00220092802002201200741036a3b019003200120033602e002200941106a2109200b200741046a2207470d000b0b2014200241086a2902003703002012200241106a290200370300200e200241186a2902003703002006200229020037032820062802582207450d080b2006280268210b2006280264210120062802602108200628025c2109200c200e29030037030020112012290300370300201320142903003703002006200629032837030820072802e0022203450d080c000b0b410441940310ab80808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b41a489c38000413541dc89c38000108081808000000b2000200a3602082000200f360204200020103602000c010b02400240200428020022032802002209450d002003280204210241002d008083d480001a41c40341002802f482d48000118280808000002207450d032007200741036a417c7120076b220d6a2207200936029403200741003b019203200741003602e0022007417e6a200d3b0000200941003b019003200920073602e0022003200241016a3602042003200736020020012002470d0420072f0192032203410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2007200341016a22093b019203200720034102746a200b3602e402200720034105746a220341186a200641086a41186a290300370200200341106a200641086a41106a290300370200200341086a200641086a41086a2903003702002003200629030837020020074194036a20094102746a2008360200200820093b019003200820073602e002200020103602002000200f3602042000200a3602080b20064190016a2480808080000f0b410441c40310ab80808000000b41f086c38000413041a087c38000108081808000000bcc0501097f23808080800041c0006b2202248080808000200128020022032f019203210441002d008083d480001a0240024002400240024041c40341002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b019203200741003602e0022007417e6a20063b0000200241206a41086a2003200128020822054105746a220841086a290000370300200241206a41106a200841106a290000370300200241206a41186a200841186a290000370300200720032f01920322092005417f736a22063b019203200220082900003703202006410c4f0d012009200541016a22086b2006470d02200341e4026a220920054102746a280200210a200741e4026a200920084102746a200641027410f4978080001a2007200320084105746a200641057410f4978080002108200320053b019203200241086a200241206a41086a290300370300200241106a200241206a41106a290300370300200241186a200241206a41186a2903003703002002200229032037030020082f019203220741016a21062007410c4f0d03200420056b22092006470d0420084194036a200320054102746a4198036a200941027410f4978080002109200128020421014100210502400340200920054102746a280200220620053b019003200620083602e002200520074f0d01200520052007496a220520074d0d000b0b2000200a3602102000200136020420002003360200200020022903003702142000200136020c200020083602082000411c6a200241086a290300370200200041246a200241106a2903003702002000412c6a200241186a290300370200200241c0006a2480808080000f0b410441c40310ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b8515030c7f017e017f23808080800041306b2205248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f018a012207410b490d00200128020421072001280208210841002d008083d480001a418c0141002802f482d48000118280808000002201450d082001200141036a417c7120016b22096a220a41003b018a01200a4100360200200a417e6a20093b000020084105490d012008417b6a0e020304020b200641046a210a02402001280208220841016a220920074b0d00200a2009410c6c6a200a2008410c6c6a200720086b410c6c10f9978080001a0b200a2008410c6c6a220a2002290200370200200a41086a200241086a2802003602002006200741016a3b018a012001280204210b2006210c0c0e0b200a20062f018a01417b6a22013b018a012001410c4f0d07200641346a2109200641386a210d4104210e41c000210f2007210b2006210c0c040b200a20062f018a0141796a22013b018a012001410c4f0d07200841796a2108200641cc006a2109200641d0006a210d4100210b4106210e41d800210f0c020b200a20062f018a01417a6a22013b018a012001410c4f0d072006280240211020062902442111200a41046a200641cc006a2001410c6c10f4978080001a200641063b018a01200641c8006a200241086a28020036020020062002290200370240410521082007210b2006210c0c030b200a20062f018a01417a6a22013b018a012001410c4f0d07200641c0006a2109200641c4006a210d410021084105210e41cc00210f4100210b0b200a210c0b20092802002110200d2902002111200a41046a2006200f6a2001410c6c10f4978080001a2006200e3b018a01200c41046a21010240200c2f018a01220920084d0d0020012008410c6c6a220d410c6a200d200920086b410c6c10f9978080001a0b20012008410c6c6a22012002290200370200200141086a200241086a280200360200200c200941016a3b018a010b2010418080808078460d070240200628020022010d00410021020c070b200541286a210f200541206a211241002102034020022007470d0620062f0188012106024002400240024020012f018a012202410b490d00200741016a2102200641054f0d01410421092012210d200621070c020b200141046a220e2006410c6c6a2109200641016a2107200241016a210d0240024020062002490d0020092011370204200920103602000c010b200e2007410c6c6a2009200220066b220e410c6c10f9978080001a20092011370204200920103602002001418c016a220920064102746a41086a200920074102746a200e41027410f9978080001a0b2001200d3b018a01200120074102746a200a36028c012007200241026a22094f0d0b0240200220066b221041016a410371220a450d00200120064102746a4190016a210603402006280200220220073b01880120022001360200200641046a2106200741016a2107200a417f6a220a0d000b0b20104103490d0b200741027420016a4198016a21060340200641746a280200220a20073b018801200a2001360200200641786a280200220a200741016a3b018801200a20013602002006417c6a280200220a200741026a3b018801200a20013602002006280200220a200741036a3b018801200a2001360200200641106a21062009200741046a2207470d000c0c0b0b4100210741052109200f210d024002402006417b6a0e020002010b200541053602102005200236020c20052001360208200541146a200541086a10bf83808000200528022022062f018a01220741016a21010240024020074106490d00200641cc006a200641c0006a2007410c6c41446a10f9978080001a2006201137024420062010360240200641a8016a200641a4016a2007410274416c6a10f9978080001a200620013b018a012006200a3602a4010c010b2006200a3602a4012006201137024420062010360240200620013b018a0120074105470d030b200741037121024106210102402007417b6a41ffff03714103490d00200741fcff037141786a2110410621074100210a03402006200a6a220141a4016a280200220920073b01880120092006360200200141a8016a2802002209200741016a3b01880120092006360200200141ac016a2802002209200741026a3b01880120092006360200200141b0016a2802002201200741036a3b01880120012006360200200a41106a210a2007417a6a2109200741046a2201210720092010470d000b0b2002450d02200620014102746a418c016a210703402007280200220a20013b018801200a2006360200200741046a2107200141016a21012002417f6a22020d000c030b0b200641796a210741062109200f210d0b200520093602102005200236020c20052001360208200541146a200541086a10bf83808000200d280200220141046a220e2007410c6c6a2109200741016a210620012f018a01220241016a210d02400240200220074b0d0020092011370204200920103602000c010b200e2006410c6c6a2009200220076b220e410c6c10f9978080001a20092011370204200920103602002001418c016a220920074102746a41086a200920064102746a200e41027410f9978080001a0b2001200d3b018a01200120064102746a200a36028c0102402006200241026a22094f0d000240200220076b221041016a410371220a450d00200120074102746a4190016a210703402007280200220220063b01880120022001360200200741046a2107200641016a2106200a417f6a220a0d000b0b20104103490d00200120064102746a4198016a21070340200741746a280200220a20063b018801200a2001360200200741786a280200220a200641016a3b018801200a20013602002007417c6a280200220a200641026a3b018801200a20013602002007280200220a200641036a3b018801200a2001360200200741106a21072009200641046a2206470d000b0b200528022021060b2005290218211120052802142210418080808078460d08200528022c21022005280228210a2005280224210720062802002201450d070c000b0b4104418c0110ab80808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b41a489c38000413541dc89c38000108081808000000b02400240200328020022072802002201450d002007280204210941002d008083d480001a41bc0141002802f482d48000118280808000002206450d032006200641036a417c7120066b220d6a2206200136028c01200641003b018a01200641003602002006417e6a200d3b0000200141003b018801200120063602002007200941016a3602042007200636020020022009470d0420062f018a012207410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2006200741016a22013b018a0120062007410c6c6a22072011370208200720103602042006418c016a20014102746a200a360200200a20013b018801200a20063602000b200020083602082000200b3602042000200c360200200541306a2480808080000f0b410441bc0110ab80808000000b41f086c38000413041a087c38000108081808000000baf0401097f23808080800041206b2202248080808000200128020022032f018a01210441002d008083d480001a0240024002400240024041bc0141002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b018a01200741003602002007417e6a20063b0000200241106a41086a200341046a220820012802082205410c6c6a220941086a280200360200200720032f018a01220a2005417f736a22063b018a01200220092902003703102006410c4f0d01200a200541016a22096b2006470d02200741046a20082009410c6c6a2006410c6c10f4978080001a200320053b018a01200241086a200241106a41086a2802003602002002200229031037030020072f018a01220641016a21092006410c4f0d03200420056b220a2009470d042007418c016a200320054102746a4190016a200a41027410f49780800021092001280204210a4100210502400340200920054102746a280200220120053b01880120012007360200200520064f0d01200520052006496a220520064d0d000b0b2000200a3602102000200336020c200020022903003702002000200a36021820002007360214200041086a200241086a280200360200200241206a2480808080000f0b410441bc0110ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2009410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000baf1c03087f017e057f23808080800041a0036b2206248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01aa092208410b490d00200128020421082001280208210941002d008083d480001a41ac0941002802f482d48000118280808000002201450d082001200141036a417c7120016b220a6a220b41003b01aa09200b41003602a008200b417e6a200a3b000020094105490d012009417b6a0e020304020b200741a4086a220c20012802082209410c6c6a210b02400240200941016a220a20084d0d00200b2002290200370200200b41086a200241086a2802003602000c010b200c200a410c6c6a200b200820096b220c410c6c10f9978080001a200b41086a200241086a280200360200200b20022902003702002007200a41e0006c6a2007200941e0006c6a200c41e0006c10f9978080001a0b2007200941e0006c6a200341e00010f4978080001a2007200841016a3b01aa092001280204210d0c0f0b200b20072f01aa09417b6a22013b01aa0920072802d408210a20072902d808210e200641a4026a20074180036a41e00010f4978080001a2001410c4f0d07200b41a4086a200741e0086a2001410c6c10f4978080001a200b200741e0036a200141e0006c10f4978080001a200741043b01aa09200641c4016a200641a4026a41e00010f4978080001a2008210d2007210f0c040b200b20072f01aa0941796a22013b01aa0920072802ec08210a20072902f008210e200641a4026a200741c0046a41e00010f4978080001a2001410c4f0d07200b41a4086a200741f8086a2001410c6c10f4978080001a200b200741a0056a200141e0006c10f4978080001a200741063b01aa09200641c4016a200641a4026a41e00010f4978080001a200941796a21090c020b200b20072f01aa09417a6a22013b01aa0920072802e008210a20072902e408210e200641a4026a200741e0036a220941e00010f4978080001a2001410c4f0d07200b41a4086a200741ec086a2001410c6c10f4978080001a200b200741c0046a200141e0006c10f4978080001a200641c4016a200641a4026a41e00010f4978080001a200741e0086a220141086a200241086a280200360200200120022902003702002009200341e00010f4978080001a200741063b01aa09410521092008210d2007210f0c030b200b20072f01aa09417a6a22013b01aa0920072802e008210a20072902e408210e200641a4026a200741e0036a41e00010f4978080001a2001410c4f0d07200b41a4086a200741ec086a2001410c6c10f4978080001a200b200741c0046a200141e0006c10f4978080001a200741053b01aa09200641c4016a200641a4026a41e00010f4978080001a410021090b4100210d200b210f0b200f41a4086a2009410c6c6a210102400240200f2f01aa09220c20094b0d0020012002290200370200200141086a200241086a2802003602000c010b2001410c6a2001200c20096b2210410c6c10f9978080001a200141086a200241086a28020036020020012002290200370200200f200941e0006c6a220141e0006a2001201041e0006c10f9978080001a0b200f200941e0006c6a200341e00010f4978080001a200f200c41016a3b01aa090b200641046a200641c4016a41e00010f4978080001a0240200a418080808078470d00200f21070c090b200641e4006a200641046a41e00010f4978080001a024020072802a00822010d00410021020c080b20064198036a211120064190036a2112200641a4026a410c6a211341002102034020022008470d0620072f01a8092107024002400240024020012f01aa092202410b490d00200841016a2102200741054f0d01410421032012210c200721080c020b200141a4086a22102007410c6c6a2103200741016a2108200241016a210c0240024020072002490d002003200e3702042003200a3602002001200741e0006c6a200641e4006a41e00010f4978080001a0c010b20102008410c6c6a2003200220076b2210410c6c10f9978080001a2003200e3702042003200a3602002001200841e0006c6a2001200741e0006c6a220a201041e0006c10f9978080001a200a200641e4006a41e00010f4978080001a200141ac096a220a20074102746a41086a200a20084102746a201041027410f9978080001a0b2001200c3b01aa09200120084102746a200b3602ac092008200241026a22034f0d0a0240200220076b220241016a410371220b450d00200120074102746a41b0096a210703402007280200220a20083b01a809200a20013602a008200741046a2107200841016a2108200b417f6a220b0d000b0b20024103490d0a200841027420016a41b8096a21070340200741746a280200220b20083b01a809200b20013602a008200741786a280200220b200841016a3b01a809200b20013602a0082007417c6a280200220b200841026a3b01a809200b20013602a0082007280200220b200841036a3b01a809200b20013602a008200741106a21072003200841046a2208470d000c0b0b0b41002108410521032011210c024002402007417b6a0e020002010b2006410536020c2006200236020820062001360204200641a4026a200641046a10c18380800020062802900322072f01aa09220141016a210802400240024020014106490d00200741ec086a200741e0086a2001417b6a2202410c6c10f9978080001a2007200e3702e4082007200a3602e008200741c0046a200741e0036a220a200241e0006c10f9978080001a200a200641e4006a41e00010f4978080001a200741c8096a200741c4096a2001410274416c6a10f9978080001a200720083b01aa092007200b3602c4090c010b2007200e3702e4082007200a3602e008200741e0036a200641e4006a41e00010f4978080001a200720083b01aa092007200b3602c40920014105470d010b2001410371210a4106210802402001417b6a41ffff03714103490d00200141fcff037141786a2103410621014100210b03402007200b6a220841c4096a280200220220013b01a809200220073602a008200841c8096a2802002202200141016a3b01a809200220073602a008200841cc096a2802002202200141026a3b01a809200220073602a008200841d0096a2802002208200141036a3b01a809200820073602a008200b41106a210b2001417a6a2102200141046a2208210120022003470d000b0b200a450d00200720084102746a41ac096a210103402001280200220b20083b01a809200b20073602a008200141046a2101200841016a2108200a417f6a220a0d000b0b20062902a802210e20062802a402210a200641c4016a201341e00010f4978080001a0c020b200741796a2108410621032011210c0b2006200336020c2006200236020820062001360204200641a4026a200641046a10c183808000200c280200220141a4086a22102008410c6c6a2102200841016a210720012f01aa09220341016a210c02400240200320084b0d002002200e3702042002200a3602002001200841e0006c6a200641e4006a41e00010f4978080001a0c010b20102007410c6c6a2002200320086b2210410c6c10f9978080001a2002200e3702042002200a3602002001200741e0006c6a2001200841e0006c6a220a201041e0006c10f9978080001a200a200641e4006a41e00010f4978080001a200141ac096a220a20084102746a41086a200a20074102746a201041027410f9978080001a0b2001200c3b01aa09200120074102746a200b3602ac0902402007200341026a22024f0d000240200320086b220341016a410371220b450d00200120084102746a41b0096a210803402008280200220a20073b01a809200a20013602a008200841046a2108200741016a2107200b417f6a220b0d000b0b20034103490d00200120074102746a41b8096a21080340200841746a280200220b20073b01a809200b20013602a008200841786a280200220b200741016a3b01a809200b20013602a0082008417c6a280200220b200741026a3b01a809200b20013602a0082008280200220b200741036a3b01a809200b20013602a008200841106a21082002200741046a2207470d000b0b20062902a802210e20062802a402210a200641c4016a201341e00010f4978080001a20062802900321070b200a418080808078460d07200628029c032102200628029803210b2006280294032108200641e4006a200641c4016a41e00010f4978080001a20072802a0082201450d080c000b0b410441ac0910ab80808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b41a489c38000413541dc89c38000108081808000000b200020093602082000200d3602042000200f3602000c020b0240024002400240200428020022012802002208450d002001280204210341002d008083d480001a41dc0941002802f482d48000118280808000002207450d022007200741036a417c7120076b220c6a220720083602ac09200741003b01aa09200741003602a0082007417e6a200c3b0000200841003b01a809200820073602a0082001200341016a3602042001200736020020022003470d0320072f01aa092201410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2007200141016a22083b01aa0920072001410c6c6a2202200e3702a8082002200a3602a4082007200141e0006c6a200641e4006a41e00010f4978080001a200741ac096a20084102746a200b360200200020093602082000200d3602042000200f360200200b20083b01a809200b20073602a0080c030b410441dc0910ab80808000000b41f086c38000413041a087c38000108081808000000b200020093602082000200d360204200020073602000b200641a0036a2480808080000bf10401097f23808080800041e0016b2202248080808000200128020022032f01aa09210441002d008083d480001a0240024002400240024041dc0941002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01aa09200741003602a0082007417e6a20063b0000200241f0006a41086a200341a4086a220820012802082205410c6c6a220941086a280200360200200720032f01aa09220a2005417f736a22063b01aa092002200929020037037020024180016a2003200541e0006c6a41e00010f4978080001a2006410c4f0d01200a200541016a22096b2006470d02200741a4086a20082009410c6c6a2006410c6c10f4978080001a20072003200941e0006c6a200641e0006c10f4978080002109200320053b01aa09200241086a200241f0006a41086a280200360200200220022903703703002002410c6a20024180016a41e00010f4978080001a20092f01aa09220741016a21062007410c4f0d03200420056b220a2006470d04200941ac096a200320054102746a41b0096a200a41027410f497808000210a200128020421014100210502400340200a20054102746a280200220620053b01a809200620093602a008200520074f0d01200520052007496a220520074d0d000b0b200020013602702000200336026c2000200241ec0010f4978080002205200136027820052009360274200241e0016a2480808080000f0b410441dc0910ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000bd71c010f7f23808080800041f0006b2205248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f018e022207410b490d00200128020421072001280208210841002d008083d480001a41900241002802f482d48000118280808000002201450d082001200141036a417c7120016b22096a220a41003b018e02200a410036028802200a417e6a20093b000020084105490d012008417b6a0e020304020b02402001280208220841016a220a20074b0d002006200a41186c6a2006200841186c6a200720086b41186c10f9978080001a0b2006200841186c6a220a2002290200370200200a41106a200241106a290200370200200a41086a200241086a2902003702002006200741016a3b018e022001280204210b0c0f0b200a20062f018e02417b6a22013b018e02200541c8006a41086a220c200641ec006a290200370300200541c8006a41106a220d200641f4006a280200360200200520062902643703482001410c4f0d0720062802602109200a200641f8006a200141186c10f4978080001a200641043b018e02200541306a41086a200c290300370300200541306a41106a200d280200360200200520052903483703302007210b2006210e0c040b200a20062f018e0241796a22013b018e02200541c8006a41086a220c2006419c016a290200370300200541c8006a41106a220d200641a4016a28020036020020052006290294013703482001410c4f0d072006280290012109200a200641a8016a200141186c10f4978080001a200641063b018e02200541306a41086a200c290300370300200541306a41106a200d28020036020020052005290348370330200841796a21080c020b200a20062f018e02417a6a22013b018e02200541c8006a41086a220c20064184016a290200370300200541c8006a41106a22082006418c016a2802003602002005200629027c3703482001410c4f0d0720062802782109200a20064190016a200141186c10f4978080001a200541306a41106a2008280200360200200541306a41086a200c29030037030020052005290348370330200641063b018e02200641f8006a220141106a200241106a290200370200200141086a200241086a29020037020020012002290200370200410521082007210b2006210e0c030b200a20062f018e02417a6a22013b018e02200541c8006a41086a220c20064184016a290200370300200541c8006a41106a22082006418c016a2802003602002005200629027c3703482001410c4f0d0720062802782109200a20064190016a200141186c10f4978080001a200641053b018e02200541306a41086a200c290300370300200541306a41106a200828020036020020052005290348370330410021080b4100210b200a210e0b0240200e2f018e02220c20084d0d00200e200841186c6a220141186a2001200c20086b41186c10f9978080001a0b200e200841186c6a22012002290200370200200141106a200241106a290200370200200141086a200241086a290200370200200e200c41016a3b018e020b200541106a2201200541306a41106a280200360200200541086a2202200541306a41086a2903003703002005200529033037030002402009418080808078470d00200e21060c090b200541186a41106a2001280200360200200541186a41086a200229030037030020052005290300370318024020062802880222010d00410021020c080b200541e8006a210f200541e0006a2110200541c8006a41046a210d41002102200541186a41106a2111034020022007470d0620062f018c022106024002400240024020012f018e022202410b490d00200741016a2102200641054f0d014104210c20102112200621070c020b200641016a2107200241016a210d2001200641186c6a210c0240024020062002490d00200c2009360200200c2005290318370204200c410c6a200541206a290300370200200c41146a200541286a2802003602000c010b2001200741186c6a200c200220066b221141186c10f9978080001a200c2009360200200c2005290318370204200c410c6a200541186a41086a290300370200200c41146a200541286a28020036020020014190026a220920064102746a41086a200920074102746a201141027410f9978080001a0b2001200d3b018e02200120074102746a200a360290022007200241026a22094f0d0a0240200220066b220c41016a4103712202450d00200120064102746a4194026a210603402006280200220a20073b018c02200a200136028802200641046a2106200741016a21072002417f6a22020d000b0b200c4103490d0a200741027420016a419c026a21060340200641746a280200220220073b018c022002200136028802200641786a2802002202200741016a3b018c0220022001360288022006417c6a2802002202200741026a3b018c02200220013602880220062802002202200741036a3b018c022002200136028802200641106a21062009200741046a2207470d000c0b0b0b410021074105210c200f2112024002402006417b6a0e020002010b200541053602082005200236020420052001360200200541c8006a200510c383808000200528026022062f018e02220741016a210102400240024020074106490d0020064190016a200641f8006a200741186c41887f6a10f9978080001a200620093602782006200529031837027c20064184016a200541186a41086a2903003702002006418c016a2011280200360200200641ac026a200641a8026a2007410274416c6a10f9978080001a200620013b018e022006200a3602a8020c010b200620093602782006200529031837027c2006200a3602a802200620013b018e0220064184016a200541186a41086a2903003702002006418c016a201128020036020020074105470d010b2007410371210a4106210102402007417b6a41ffff03714103490d00200741fcff037141786a210c41062107410021020340200620026a220141a8026a280200220920073b018c022009200636028802200141ac026a2802002209200741016a3b018c022009200636028802200141b0026a2802002209200741026a3b018c022009200636028802200141b4026a2802002201200741036a3b018c022001200636028802200241106a21022007417a6a2109200741046a220121072009200c470d000b0b200a450d00200620014102746a4190026a210703402007280200220220013b018c022002200636028802200741046a2107200141016a2101200a417f6a220a0d000b0b200541306a41086a200d41086a290200370300200541306a41106a200d41106a2802003602002005200d2902003703300c020b200641796a21074106210c200f21120b2005200c3602082005200236020420052001360200200741016a2106200541c8006a200510c38380800020122802002201200741186c6a210220012f018e02220c41016a211202400240200c20074b0d0020022009360200200220052903183702042002410c6a200541186a41086a290300370200200241146a20112802003602000c010b2001200641186c6a2002200c20076b221341186c10f9978080001a20022009360200200220052903183702042002410c6a200541186a41086a290300370200200241146a201128020036020020014190026a220220074102746a41086a200220064102746a201341027410f9978080001a0b200120123b018e02200120064102746a200a3602900202402006200c41026a22094f0d000240200c20076b220c41016a4103712202450d00200120074102746a4194026a210703402007280200220a20063b018c02200a200136028802200741046a2107200641016a21062002417f6a22020d000b0b200c4103490d00200120064102746a419c026a21070340200741746a280200220220063b018c022002200136028802200741786a2802002202200641016a3b018c0220022001360288022007417c6a2802002202200641026a3b018c02200220013602880220072802002202200641036a3b018c022002200136028802200741106a21072009200641046a2206470d000b0b200541306a41086a200d41086a290200370300200541306a41106a200d41106a2802003602002005200d290200370330200528026021060b20052802482209418080808078460d07200528026c21022005280268210a200528026421072011200541306a41106a280200360200200541186a41086a200541306a41086a290300370300200520052903303703182006280288022201450d080c000b0b410441900210ab80808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b41a489c38000413541dc89c38000108081808000000b200020083602082000200b3602042000200e3602000c020b0240024002400240200328020022072802002201450d002007280204210c41002d008083d480001a41c00241002802f482d48000118280808000002206450d022006200641036a417c7120066b220d6a2206200136029002200641003b018e0220064100360288022006417e6a200d3b0000200141003b018c0220012006360288022007200c41016a360204200720063602002002200c470d0320062f018e022207410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2006200741016a22013b018e022006200741186c6a22072009360200200720052903183702042007410c6a200541206a290300370200200741146a200541286a28020036020020064190026a20014102746a200a360200200020083602082000200b3602042000200e360200200a20013b018c02200a2006360288020c030b410441c00210ab80808000000b41f086c38000413041a087c38000108081808000000b200020083602082000200b360204200020063602000b200541f0006a2480808080000be00401087f23808080800041306b2202248080808000200128020022032f018e02210441002d008083d480001a0240024002400240024041c00241002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b018e0220074100360288022007417e6a20063b0000200241186a41086a20032001280208220541186c6a220841086a290200370300200241186a41106a200841106a290200370300200720032f018e0222092005417f736a22063b018e02200220082902003703182006410c4f0d012009200541016a22086b2006470d0220072003200841186c6a200641186c10f4978080002108200320053b018e02200241086a200241186a41086a290300370300200241106a200241186a41106a2903003703002002200229031837030020082f018e02220741016a21062007410c4f0d03200420056b22092006470d0420084190026a200320054102746a4194026a200941027410f4978080002109200128020421014100210502400340200920054102746a280200220620053b018c022006200836028802200520074f0d01200520052007496a220520074d0d000b0b2000200136021c20002003360218200020022903003702002000200136022420002008360220200041086a200241086a290300370200200041106a200241106a290300370200200241306a2480808080000f0b410441c00210ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b9607030d7f037e027f23808080800041a0026b220224808080800002400240024002402001200028021422032f01e20c22046a2205410c4f0d00200028020c22062f01e20c22072001490d012006200720016b22083b01e20c200320053b01e20c2003200141186c6a2003200441186c10f9978080001a2003418c026a2209200141fc006c6a2009200441fc006c10f9978080001a2007200841016a220a6b22072001417f6a470d0220032006200a41186c6a200741186c220b10f497808000210320092006418c026a220c200a41fc006c6a200741fc006c220d10f49780800021092002410c6a200c200841fc006c6a41fc0010f4978080001a2000280200220c2000280208220e41186c6a2207290200210f2006200841186c6a220841106a2902002110200841086a29020021112007200829020037020020024188016a41106a2212200741106a220829020037030020024188016a41086a2213200741086a220729020037030020072011370200200820103702002002200f37038801200241a4016a200c200e41fc006c6a418c026a220841fc0010f4978080001a20082002410c6a41fc0010f4978080001a2003200b6a220841106a2012290300370200200841086a201329030037020020082002290388013702002009200d6a200241a4016a41fc0010f4978080001a20002802182108024002402000280210450d002008450d01200341e40c6a2200200141027422016a2000200441027441046a10f9978080001a20002006200a4102746a41e40c6a200110f4978080001a200541016a2208410371210641002101024020054103490d00200341f00c6a21002008413c712107410021010340200041746a280200220820013b01e00c2008200336028802200041786a2802002208200141016a3b01e00c20082003360288022000417c6a2802002208200141026a3b01e00c200820033602880220002802002208200141036a3b01e00c2008200336028802200041106a21002007200141046a2201470d000b0b2006450d05200141027420036a41e40c6a210003402000280200220820013b01e00c2008200336028802200041046a2100200141016a21012006417f6a22060d000c060b0b2008450d040b41e88ac38000412841908bc38000108081808000000b41ec89c38000413341a08ac38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200241a0026a2480808080000ba708050b7f017e037f027e027f23808080800041a0026b22022480808080000240024002402001200028020c22032f01e20c22046a2205410c4f0d00200028021422062f01e20c22072001490d01200320053b01e20c2006200720016b22053b01e20c2002410c6a2006418c026a2207200141fc006c220841847f6a22096a41fc0010f4978080001a2000280200220a2000280208220b41186c6a220c290200210d2006200141186c220e41686a220f6a221041106a2902002111201041086a2902002112200c201029020037020020024188016a41106a2210200c41106a221329020037030020024188016a41086a2214200c41086a220c290200370300200c2012370200201320113702002002200d37038801200241a4016a200a200b41fc006c6a418c026a220c41fc0010f4978080001a200c2002410c6a41fc0010f4978080001a2003200441186c6a220c41106a2010290300370200200c41086a2014290300370200200c2002290388013702002003200441fc006c6a2210418c026a200241a4016a41fc0010f4978080001a200c41186a2006200f10f4978080001a20104188036a2007200910f4978080001a20062006200e6a200541186c10f99780800021062007200720086a200541fc006c10f9978080001a20002802182107024002402000280210450d002007450d01200341e40c6a2208200441016a22074102746a200641e40c6a22002001410274220c10f497808000211020002000200c6a200541027441046a10f9978080001a2010280200220020073b01e00c2000200336028802024020014101460d002008200441026a22004102746a280200220720003b01e00c200720033602880220014102460d002008200441036a22004102746a280200220720003b01e00c200720033602880220014103460d002008200441046a22004102746a280200220720003b01e00c200720033602880220014104460d002008200441056a22014102746a280200220020013b01e00c20002003360288020b200541016a2204410371210341002101024020054103490d00200641f00c6a21002004417c712104410021010340200041746a280200220520013b01e00c2005200636028802200041786a2802002205200141016a3b01e00c20052006360288022000417c6a2802002205200141026a3b01e00c200520063602880220002802002205200141036a3b01e00c2005200636028802200041106a21002004200141046a2201470d000b0b2003450d04200141027420066a41e40c6a210003402000280200220520013b01e00c2005200636028802200041046a2100200141016a21012003417f6a22030d000c050b0b2007450d030b41e88ac380004128419c8cc38000108081808000000b41a08bc38000413241d48bc38000108081808000000b41e48bc380004128418c8cc38000108081808000000b200241a0026a2480808080000b8608010f7f2380808080004180016b220224808080800002400240200128020c22032f01e20c220441016a2205200128021422062f01e20c22076a2208410c4f0d00200128021021092001280204210a2001280200220b2f01e20c210c200320083b01e20c200241106a220d200b2001280208220e41186c6a220141106a290200370300200241086a220f200141086a290200370300200220012902003703002001200141186a200c200e417f736a221041186c10f9978080001a2003200441186c6a220141106a200d290300370200200141086a200f290300370200200120022903003702002003200541186c6a2006200741186c10f4978080001a2002200b200e41fc006c6a2201418c026a220f41fc0010f497808000210d200f20014188036a201041fc006c10f9978080001a2003418c026a2201200441fc006c6a200d41fc0010f4978080001a2001200541fc006c6a2006418c026a200741fc006c10f4978080001a200b200e41016a22014102746a220241e40c6a200241e80c6a201041027410f9978080001a02402001200c4f0d00200c200e6b417e6a210f024020104103712210450d00200e410274200b6a41e80c6a210203402002280200220e20013b01e00c200e200b36028802200241046a2102200141016a21012010417f6a22100d000b0b200f4103490d002001410274200b6a41f00c6a21020340200241746a280200221020013b01e00c2010200b36028802200241786a2802002210200141016a3b01e00c2010200b360288022002417c6a2802002210200141026a3b01e00c2010200b3602880220022802002210200141036a3b01e00c2010200b36028802200241106a2102200c200141046a2201470d000b0b200b200b2f01e20c417f6a3b01e20c0240200a4102490d00200741016a2201200820046b470d02200341e40c6a20054102746a200641e40c6a200141027410f4978080001a02402001410371220b450d00200441027420036a41e80c6a210103402001280200220220053b01e00c2002200336028802200141046a2101200541016a2105200b417f6a220b0d000b0b20074103490d002005410274210b03402003200b6a220141e40c6a280200220220053b01e00c2002200336028802200141e80c6a2802002202200541016a3b01e00c2002200336028802200141ec0c6a2802002202200541026a3b01e00c2002200336028802200141f00c6a2802002201200541036a22023b01e00c2001200336028802200541046a2105200b41106a210b20022008470d000b0b20062006417e6a2f00006b41002802ec82d48000118180808000002000200936020420002003360200200d4180016a2480808080000f0b41cc8dc38000412a41f88dc38000108081808000000b41cc88c38000412841f488c38000108081808000000bf10e07087f017e027f017e017f017e037f20002802002103024020002802042204450d0002400240200441037122050d00200421060c010b2004210603402006417f6a2106200320032f018a014102746a28028c0121032005417f6a22050d000b0b20044104490d000340200320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c0121032006417c6a22060d000b0b200128021c210720012802182108200128021421092001280210210a2001290208210b2001280204210c2001280200210d0240034002400240200d4102460d00200b210e200c210f200d4101710d010c030b20092007460d022009280200210f2009290204210e2009410c6a21090b4100210d024020092007460d002009410c6a2106200929020421104101210d0240200f2009280200220c460d002010210b200621090c010b024020062007470d002010210b200f210c200621092010210e4100210d0c010b200941186a21062009290210210b0240200f200928020c220c460d00200621092010210e0c010b0340200b210e024020062007470d00200e210b200f210c200621094100210d0c020b2006280200210c200641046a290200210b2006410c6a22092106200f200c460d000b0b200e422088a72111200ea72112024002400240024002400240024020032f018a012206410b490d0041002113024003400240200328025822030d00200028020421052000280200210641002d008083d480001a41bc0141002802f482d48000118280808000002203450d042003200341036a417c7120036b22016a2203200636028c01200341003b018a01200341003602582003417e6a20013b00002000200541016a221336020420002003360200200641003b018801200620033602580c020b201341016a211320032f018a01410a4b0d000b0b41002d008083d480001a418c0141002802f482d48000118280808000002206450d022006200641036a417c7120066b22016a220541003b018a01200541003602582005417e6a20013b00002013417f6a2201450d04034041002d008083d480001a41bc0141002802f482d48000118280808000002206450d042006200641036a417c7120066b22046a2206200536028c01200641003b018a01200641003602582006417e6a20043b0000200541003b01880120052006360258200621052001417f6a2201450d050c000b0b2003200641016a3b018a01200320064102746a200f36025c200320064103746a22062011360204200620123602000c040b410441bc0110ab80808000000b4104418c0110ab80808000000b410441bc0110ab80808000000b20032f018a012206410b4f0d012003200641016a22013b018a01200320064102746a200f36025c200320064103746a2206201136020420062012360200200320014102746a200536028c01200520013b018801200520033602582013450d0002400240201341037122050d00201321060c010b2013210603402006417f6a2106200320032f018a014102746a28028c0121032005417f6a22050d000b0b20134104490d000340200320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c0121032006417c6a22060d000b0b2002200228020041016a3602000c010b0b41c086c38000412041b087c38000108081808000000b02402008450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b024020002802042204450d00200028020021050340024002400240024020052f018a012203450d0020052003417f6a220f4102746a22132802900122062f018a01220341054f0d03410520036b41ffff03712209201328028c0122012f018a0122074b0d012001200720096b220c3b018a01200641053b018a01200641dc006a220d200941027422026a200d2003410274220010f9978080001a200620094103746a2006200341037410f9978080001a2007200c41016a22036b22072009417f6a470d02200d200141dc006a22092003410274220a6a2007410274221110f497808000210d2006200120034103746a2007410374220710f4978080002103201328025c21122001200c4103746a290200210e20132009200c4102746a28020036025c2005200f4103746a2205290200210b2005200e370200200d20116a2012360200200320076a200b37020020044101460d052003418c016a220520026a2005200041046a10f9978080001a20052001200a6a418c016a200210f4978080001a200328028c01220541003b01880120052003360258200328029001220541013b01880120052003360258200328029401220541023b01880120052003360258200328029801220541033b01880120052003360258200328029c01220541043b0188012005200336025820032802a001220541053b018801200520033602580c030b41fc83c380004119419885c38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200621052004417f6a22040d000b0b0bea12050b7f017e017f037e047f23808080800041306b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01e2014102746a2802e40121042006417f6a22060d000b0b20054104490d000340200420042f01e2014102746a2802e401220420042f01e2014102746a2802e401220420042f01e2014102746a2802e401220420042f01e2014102746a2802e40121042007417c6a22070d000b0b20012802202108200128021c2109200128021821052001280214210a2001280210210b200128020c210c2001280208210d2001290200210e03402001210f20112110200bad422086200cad84211203400240024002400240200d418180808078460d0020052107200d2106200e21110c010b024020052008470d004180808080782113200341106a2106418180808078210d20102111200f21010c020b200541146a2107200529020c211220052802082106200529020021110b418080808078211302402006418080808078470d00200341106a2106418180808078210d2010211120072105200f21010c010b2012a721010240024020072008470d00418080808078210d200721050c010b200741146a21052007280210210b200728020c210c2007290200210e2007280208220d418080808078460d002011200e510d020b200320063602102012422088a721132003410c6a21060b20062013360200024020032802102214418080808078460d00200328020c2115024002400240024002400240024020042f01e2012207410b490d0041002116024003400240200428025822040d00200028020421062000280200210741002d008083d480001a41940241002802f482d48000118280808000002204450d042004200441036a417c7120046b22136a220420073602e401200441003b01e201200441003602582004417e6a20133b00002000200641016a221636020420002004360200200741003b01e001200720043602580c020b201641016a211620042f01e201410a4b0d000b0b41002d008083d480001a41e40141002802f482d48000118280808000002207450d022007200741036a417c7120076b22136a220641003b01e201200641003602582006417e6a20133b00002016417f6a2213450d04034041002d008083d480001a41940241002802f482d48000118280808000002207450d042007200741036a417c7120076b220f6a220720063602e401200741003b01e201200741003602582007417e6a200f3b0000200641003b01e00120062007360258200721062013417f6a2213450d050c000b0b2004200741016a3b01e20120042007410c6c6a22062015360264200620013602602006201436025c200420074103746a20113700000c040b410441940210ab80808000000b410441e40110ab80808000000b410441940210ab80808000000b20042f01e2012207410b4f0d012004200741016a22133b01e20120042007410c6c6a220f2001360260200420074103746a2011370000200f201436025c200f2015360264200420134102746a20063602e401200620133b01e001200620043602582016450d0002400240201641037122060d00201621070c010b2016210703402007417f6a2107200420042f01e2014102746a2802e40121042006417f6a22060d000b0b20164104490d000340200420042f01e2014102746a2802e401220420042f01e2014102746a2802e401220420042f01e2014102746a2802e401220420042f01e2014102746a2802e40121042007417c6a22070d000b0b2002200228020041016a3602000c040b41c086c38000412041b087c38000108081808000000b024020082005460d00200820056b220741146e220641017121134100210402402007416c6a4114490d00200541206a2107200641feffffff007121014100210403400240200741686a280200450d002007416c6a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402007417c6a280200450d00200728020022062006417e6a2f00006b41002802ec82d48000118180808000000b200741286a21072001200441026a2204470d000b0b2013450d002005200441146c6a2207280208450d00200741086a28020422072007417e6a2f00006b41002802ec82d48000118180808000000b02402009450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200d418280808078480d00200d450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b024020002802042213450d00200028020021060340024002400240024020062f01e2012207450d0020062007417f6a220f4102746a22042802e80122072f01e201220541054f0d03410520056b41ffff0371220d20042802e40122012f01e20122044b0d0120012004200d6b22163b01e201200741053b01e2012007200d4103746a2007200541037410f9978080001a200741dc006a220c200d410c6c6a200c2005410c6c10f9978080001a2004201641016a22086b220b200d417f6a470d022007200120084103746a200b410374220210f4978080002104200c200141dc006a22142008410c6c6a200b410c6c220b10f497808000210c200341106a41086a20142016410c6c6a221441086a28020022153602002014290200210e2006200f4103746a221429000021112014200120164103746a2900003700002003200e3703102006200f410c6c6a220629025c21122006200e37025c200641e4006a2206280200210f20062015360200200420026a2011370000200c200b6a22062012370200200641086a200f36020020134101460d03200441e4016a2206200d410274220d6a2006200541027441046a10f9978080001a2006200120084102746a41e4016a200d10f4978080001a20042802e401220641003b01e0012006200436025820042802e801220641013b01e0012006200436025820042802ec01220641023b01e0012006200436025820042802f001220641033b01e0012006200436025820042802f401220641043b01e0012006200436025820042802f801220641053b01e001200620043602580c030b41fc83c380004119419885c38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200721062013417f6a22130d000b0b200341306a2480808080000f0b200729020c21122011210e2006450d0020012001417e6a2f00006b41002802ec82d48000118180808000002011210e0c000b0b0ba21508107f017e017f017e017f017e017f017e23808080800041a0016b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f0192034102746a2802940321042006417f6a22060d000b0b20054104490d000340200420042f0192034102746a28029403220420042f0192034102746a28029403220420042f0192034102746a28029403220420042f0192034102746a2802940321042007417c6a22070d000b0b200341086a2208200141106a290200370300200341106a2209200141186a290200370300200341186a220a200141206a290200370300200320012902083703002001280234210b2001280230210c200128022c210d2001280228210e2001280204210f20012802002110024003400240024020104102460d0020034180016a41186a200a29030037030020034180016a41106a200929030037030020034180016a41086a20082903003703002003200329030037038001200f211120104101710d010c030b200d200b460d02200d280200211120034180016a41186a200d411c6a29020037030020034180016a41106a200d41146a29020037030020034180016a41086a200d410c6a2902003703002003200d29020437038001200d41246a210d0b200341e0006a41186a220620034180016a41186a290300370300200341e0006a41106a220120034180016a41106a290300370300200341e0006a41086a220520034180016a41086a2903003703002003200329038001370360410021100240200d200b460d00200d280200210f200a200d411c6a2902003703002009200d41146a2902003703002008200d410c6a2902003703002003200d290204370300200d41246a210d02402011200f460d00410121100c010b20052008290300370300200120092903003703002006200a290300370300200320032903003703602011210f200d200b460d00024002400340200d2207280200210f200a2007411c6a2902003703002009200741146a29020037030020082007410c6a2902003703002003200741046a2902003703002011200f470d0120052008290300370300200120092903003703002006200a29030037030020032003290300370360200741246a220d200b470d000b410021102011210f0c010b410121100b200741246a210d0b200341206a41186a221220062903002213370300200341206a41106a221420012903002215370300200341206a41086a221620052903002217370300200341c0006a41086a22062017370300200341c0006a41106a22012015370300200341c0006a41186a2205201337030020032003290360221337032020032013370340024002400240024002400240024020042f0192032207410b490d004100211802400340024020042802e00222040d00200028020421062000280200210741002d008083d480001a41c40341002802f482d48000118280808000002204450d042004200441036a417c7120046b22016a2204200736029403200441003b019203200441003602e0022004417e6a20013b00002000200641016a221836020420002004360200200741003b019003200720043602e0020c020b201841016a211820042f019203410a4b0d000b0b41002d008083d480001a41940341002802f482d48000118280808000002207450d022007200741036a417c7120076b22016a220641003b019203200641003602e0022006417e6a20013b00002018417f6a2201450d04034041002d008083d480001a41c40341002802f482d48000118280808000002207450d042007200741036a417c7120076b22056a2207200636029403200741003b019203200741003602e0022007417e6a20053b0000200641003b019003200620073602e002200721062001417f6a2201450d050c000b0b2004200741016a3b019203200420074102746a20113602e402200420074105746a220741186a2005290300370000200741106a2001290300370000200741086a2006290300370000200720032903403700000c040b410441c40310ab80808000000b410441940310ab80808000000b410441c40310ab80808000000b20042f0192032207410b4f0d012004200741016a22013b019203200420074102746a20113602e402200420074105746a220741186a2012290300370000200741106a2014290300370000200741086a201629030037000020072003290320370000200420014102746a200636029403200620013b019003200620043602e0022018450d0002400240201841037122060d00201821070c010b2018210703402007417f6a2107200420042f0192034102746a2802940321042006417f6a22060d000b0b20184104490d000340200420042f0192034102746a28029403220420042f0192034102746a28029403220420042f0192034102746a28029403220420042f0192034102746a2802940321042007417c6a22070d000b0b2002200228020041016a3602000c010b0b41c086c38000412041b087c38000108081808000000b0240200c450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b024020002802042205450d00200028020021060340024002400240024020062f0192032204450d0020062004417f6a22084102746a22182802980322042f019203220741054f0d03410520076b41ffff0371220d20182802940322012f01920322094b0d0120012009200d6b220f3b019203200441053b019203200441e4026a220a200d41027422116a200a2007410274220010f9978080001a2004200d4105746a2004200741057410f9978080001a2009200f41016a22076b2209200d417f6a470d02200a200141e4026a220b2007410274220e6a2009410274221010f497808000210a2004200120074105746a2009410574220910f4978080002107200341e0006a41086a22022001200f4105746a220d41086a290000370300200341e0006a41106a2212200d41106a290000370300200341e0006a41186a2214200d41186a29000037030020182802e4022116200d29000021132018200b200f4102746a2802003602e4022003201337036020034180016a41186a200620084105746a220641186a2218290000221337030020034180016a41106a200641106a220d290000221537030020034180016a41086a200641086a220f29000022173703002003200629000022193703800120062003290360370000200f2002290300370000200d201229030037000020182014290300370000200a20106a2016360200200720096a220641186a2013370000200641106a2015370000200641086a20173700002006201937000020054101460d0320074194036a220620116a2006200041046a10f9978080001a20062001200e6a4194036a201110f4978080001a200728029403220641003b019003200620073602e002200728029803220641013b019003200620073602e002200728029c03220641023b019003200620073602e00220072802a003220641033b019003200620073602e00220072802a403220641043b019003200620073602e00220072802a803220641053b019003200620073602e0020c030b41fc83c380004119419885c38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200421062005417f6a22050d000b0b200341a0016a2480808080000bf613020e7f057e23808080800041c0016b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01e6024102746a2802e80221042006417f6a22060d000b0b20054104490d000340200420042f01e6024102746a2802e802220420042f01e6024102746a2802e802220420042f01e6024102746a2802e802220420042f01e6024102746a2802e80221042007417c6a22070d000b0b200341086a41306a200141306a280200360200200341086a41286a200141286a290200370300200341086a41206a200141206a290200370300200341086a41186a200141186a290200370300200341086a41106a200141106a290200370300200341086a41086a200141086a29020037030020032001290200370308200341196a21080240034020032802142109200328020c21070240024020032d001822064102460d00200341a0016a41186a200841186a290000370300200341a0016a41106a200841106a290000370300200341a0016a41086a200841086a290000370300200320082900003703a00120064101710d010c030b20072009460d02200341a0016a41086a200741086a290000370300200341a0016a41106a200741106a290000370300200341a0016a41186a200741186a2900003703002003200741206a220636020c200320072900003703a001200621070b20034180016a41186a220a200341a0016a41186a29030037030020034180016a41106a220b200341a0016a41106a29030037030020034180016a41086a220c200341a0016a41086a290300370300200320032903a001370380010240024020072009470d00410021010c010b20082007290000370000200841086a2201200741086a220d290000370000200841106a2205200741106a220e290000370000200841186a220f200741186a22102900003700002003200741206a220636020c024020034180016a2008412010f597808000450d00410121010c010b200c200d290000370300200b200e290000370300200a201029000037030020032007290000370380010240024020062009470d00410021010c010b024002400340200820062207290000370000200f200741186a2900003700002005200741106a2900003700002001200741086a29000037000020034180016a2008412010f5978080000d01200c2001290000370300200b2005290000370300200a200f2900003703002003200829000037038001200741206a22062009470d000b410021010c010b410121010b200741206a21060b2003200636020c0b200341c0006a41086a2209200c290300370300200341c0006a41106a220c200b290300370300200341c0006a41186a220b200a290300370300200320013a00182003200329038001370340024002400240024002400240024020042f01e6022207410b490d004100210f02400340024020042802e00222040d00200028020421062000280200210741002d008083d480001a41980341002802f482d48000118280808000002204450d042004200441036a417c7120046b22016a220420073602e802200441003b01e602200441003602e0022004417e6a20013b00002000200641016a220f36020420002004360200200741003b01e402200720043602e0020c020b200f41016a210f20042f01e602410a4b0d000b0b41002d008083d480001a41e80241002802f482d48000118280808000002207450d022007200741036a417c7120076b22016a220641003b01e602200641003602e0022006417e6a20013b0000200f417f6a2201450d04034041002d008083d480001a41980341002802f482d48000118280808000002207450d042007200741036a417c7120076b22056a220720063602e802200741003b01e602200741003602e0022007417e6a20053b0000200641003b01e402200620073602e002200721062001417f6a2201450d050c000b0b2004200741016a3b01e602200420074105746a22072003290340370000200741186a200b290300370000200741106a200c290300370000200741086a20092903003700000c040b410441980310ab80808000000b410441e80210ab80808000000b410441980310ab80808000000b20042f01e6022207410b4f0d012004200741016a22013b01e602200420074105746a22072003290340370000200741186a200b290300370000200741106a200c290300370000200741086a2009290300370000200420014102746a20063602e802200620013b01e402200620043602e002200f450d0002400240200f41037122060d00200f21070c010b200f210703402007417f6a2107200420042f01e6024102746a2802e80221042006417f6a22060d000b0b200f4104490d000340200420042f01e6024102746a2802e802220420042f01e6024102746a2802e802220420042f01e6024102746a2802e802220420042f01e6024102746a2802e80221042007417c6a22070d000b0b2002200228020041016a3602000c010b0b41c086c38000412041b087c38000108081808000000b02402003280210450d00200328020822042004417e6a2f00006b41002802ec82d48000118180808000000b024020002802042201450d00200028020021060340024002400240024020062f01e6022204450d0020062004417f6a22094102746a22042802ec0222072f01e602220541054f0d03410520056b41ffff0371220f20042802e80222082f01e60222044b0d0120082004200f6b220a3b01e602200741053b01e6022007200f4105746a2007200541057410f9978080001a2004200a41016a220b6b2204200f417f6a470d0220072008200b4105746a2004410574220c10f4978080002104200620094105746a220629000021112008200a4105746a220941086a2900002112200941106a2900002113200941186a290000211420062009290000370000200641186a2209290000211520092014370000200641106a2209290000211420092013370000200641086a22062900002113200620123700002004200c6a220641186a2015370000200641106a2014370000200641086a20133700002006201137000020014101460d05200441e8026a2206200f410274220f6a2006200541027441046a10f9978080001a20062008200b4102746a41e8026a200f10f4978080001a20042802e802220641003b01e402200620043602e00220042802ec02220641013b01e402200620043602e00220042802f002220641023b01e402200620043602e00220042802f402220641033b01e402200620043602e00220042802f802220641043b01e402200620043602e00220042802fc02220641053b01e402200620043602e0020c030b41fc83c380004119419885c38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200721062001417f6a22010d000b0b200341c0016a2480808080000bb810040a7f017e067f017e23808080800041106b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f018a014102746a28028c0121042006417f6a22060d000b0b20054104490d000340200420042f018a014102746a28028c01220420042f018a014102746a28028c01220420042f018a014102746a28028c01220420042f018a014102746a28028c0121042007417c6a22070d000b0b200128021821082001280214210920012802102107200128020c210a2001280208210b2001280204210c200128020021050340200bad422086200cad84210d02400340024002400240024020054180808080786a0e020100030b20072008460d002007410c6a210620072802002205418080808078470d01200621070b024020082007460d00200820076b2204410c6e2201410171210e410021060240200441746a410c490d00200141feffffff017121052007210441002106034002402004280200450d00200441046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b02402004410c6a280200450d00200441106a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200441186a21042005200641026a2206470d000b0b200e450d0020072006410c6c6a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b02402009450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b024020002802042206450d00200028020021070340024002400240024020072f018a012204450d0020072004417f6a220f4102746a220e2802900122042f018a01220141054f0d03410520016b41ffff03712205200e28028c01220e2f018a0122104b0d01200e201020056b22113b018a01200441053b018a01200441046a22122005410c6c6a20122001410c6c10f9978080001a2010201141016a22136b22102005417f6a470d022012200e41046a22082013410c6c6a2010410c6c221010f497808000211220082011410c6c6a221141086a28020021082007200f410c6c6a2207290204210d200720112902003702042007410c6a2207280200210f20072008360200201220106a220741086a200f3602002007200d37020020064101460d052004418c016a2207200541027422056a2007200141027441046a10f9978080001a2007200e20134102746a418c016a200510f4978080001a200428028c01220741003b01880120072004360200200428029001220741013b01880120072004360200200428029401220741023b01880120072004360200200428029801220741033b01880120072004360200200428029c01220741043b0188012007200436020020042802a001220741053b018801200720043602000c030b41fc83c380004119419885c38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200421072006417f6a22060d000b0b200341106a2480808080000f0b2007290204210d200621070b20052113200d4220882214a72112200da7210e024020072008460d002007410c6a2106024020072802002205418080808078470d00200621070c010b2007280208210b2007280204210c024020142007290204220d422088510d00200621070c030b0240200e200da7201210f597808000450d00200621070c030b200621072013450d01200e200e417e6a2f00006b41002802ec82d4800011818080800000200621070c010b0b41808080807821050b024002400240024002400240024020042f018a012206410b490d0041002111024003400240200428020022040d00200028020421012000280200210641002d008083d480001a41bc0141002802f482d48000118280808000002204450d042004200441036a417c7120046b220f6a2204200636028c01200441003b018a01200441003602002004417e6a200f3b00002000200141016a221136020420002004360200200641003b018801200620043602000c020b201141016a211120042f018a01410a4b0d000b0b41002d008083d480001a418c0141002802f482d48000118280808000002206450d022006200641036a417c7120066b220f6a220141003b018a01200141003602002001417e6a200f3b00002011417f6a220f450d04034041002d008083d480001a41bc0141002802f482d48000118280808000002206450d042006200641036a417c7120066b22106a2206200136028c01200641003b018a01200641003602002006417e6a20103b0000200141003b0188012001200636020020062101200f417f6a220f450d050c000b0b2004200641016a3b018a0120042006410c6c6a2206201236020c2006200e360208200620133602040c040b410441bc0110ab80808000000b4104418c0110ab80808000000b410441bc0110ab80808000000b20042f018a012206410b4f0d012004200641016a220f3b018a0120042006410c6c6a2206200e360208200620133602042006201236020c2004200f4102746a200136028c012001200f3b018801200120043602002011450d0002400240201141037122010d00201121060c010b2011210603402006417f6a2106200420042f018a014102746a28028c0121042001417f6a22010d000b0b20114104490d000340200420042f018a014102746a28028c01220420042f018a014102746a28028c01220420042f018a014102746a28028c01220420042f018a014102746a28028c0121042006417c6a22060d000b0b2002200228020041016a3602000c010b0b41c086c38000412041b087c38000108081808000000bf51605107f027e017f017e017f23808080800041306b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01b6014102746a2802b80121042006417f6a22060d000b0b20054104490d000340200420042f01b6014102746a2802b801220620062f01b6014102746a2802b801220620062f01b6014102746a2802b801220620062f01b6014102746a2802b80121042007417c6a22070d000b0b200128021c2108200128021821092001280214210a2001280210210b200128020c210c2001280208210d2001280204210e2001280200210103402010210f20122111200cad422086200dad842113200121120340201221010240024002400240200e418180808078460d00200a210720132114200e2115200121120c010b0240200a2008470d004180808080782105200341106a2106418180808078210e20112112200f21100c020b200a41106a2107200a2902082114200a2802042115200a28020021120b418080808078210502402015418080808078470d00200341106a2106418180808078210e201121122007210a200f21100c010b20144220882216a721052014a721100240024020072008470d00418080808078210e2007210a0c010b200741106a210a200728020c210c2007280208210d200728020021012007280204220e418080808078460d0020122001460d020b200320153602102003410c6a21060b2006200536020002402003280210220f418080808078460d00200328020c2111024002400240024002400240024020042f01b6012207410b490d0041002117024003400240200428020022040d00200028020421052000280200210741002d008083d480001a41e80141002802f482d48000118280808000002206450d042006200641036a417c7120066b22156a220420073602b801200441003b01b601200441003602002004417e6a20153b00002000200541016a221736020420002004360200200741003b01b401200720043602000c020b201741016a211720042f01b601410a4b0d000b0b41002d008083d480001a41b80141002802f482d48000118280808000002207450d022007200741036a417c7120076b22056a220641003b01b601200641003602002006417e6a20053b00002017417f6a2205450d04034041002d008083d480001a41e80141002802f482d48000118280808000002207450d042007200741036a417c7120076b22156a220720063602b801200741003b01b601200741003602002007417e6a20153b0000200641003b01b40120062007360200200721062005417f6a2205450d050c000b0b2004200741016a3b01b60120042007410c6c6a22062011360238200620103602342006200f360230200420074102746a20123602040c040b410441e80110ab80808000000b410441b80110ab80808000000b410441e80110ab80808000000b20042f01b6012207410b4f0d012004200741016a22053b01b60120042007410c6c6a221520103602342015200f360230200420074102746a201236020420152011360238200420054102746a20063602b801200620053b01b401200620043602002017450d0002400240201741037122060d00201721070c010b2017210703402007417f6a2107200420042f01b6014102746a2802b80121042006417f6a22060d000b0b20174104490d000340200420042f01b6014102746a2802b801220620062f01b6014102746a2802b801220620062f01b6014102746a2802b801220620062f01b6014102746a2802b80121042007417c6a22070d000b0b2002200228020041016a3602000c040b41c086c38000412041b087c38000108081808000000b02402008200a460d002008200a6b4104762117410021040340200a20044104746a220741046a21120240200728020c2201450d00200728020821152001410171211041002106024020014101460d002001417e7121054100210620152107034002402007280200450d00200741046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b0240200741106a280200450d00200741146a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200741206a21072005200641026a2206470d000b0b2010450d00201520064104746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b02402012280200450d00201228020422072007417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042017470d000b0b02402009450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200e418280808078480d000240200c450d00200c4101712104410021060240200c4101460d00200c417e712105200d210741002106034002402007280200450d00200741046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b0240200741106a280200450d00200741146a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200741206a21072005200641026a2206470d000b0b2004450d00200d20064104746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b200e450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b024020002802042201450d00200028020021060340024002400240024020062f01b6012205450d0020062005417f6a22104102746a22122802bc0122072f01b601220441054f0d03410520046b41ffff0371220a20122802b80122122f01b601220e4b0d012012200e200a6b22153b01b601200741053b01b601200741046a2217200a410274220c6a20172004410274220d10f9978080001a200741306a2208200a410c6c6a20082004410c6c10f9978080001a200e201541016a22046b220e200a417f6a470d022017201241046a220a200441027422026a200e41027410f4978080001a2008201241306a22172004410c6c6a200e410c6c220410f497808000210e200341106a41086a20172015410c6c6a221741086a280200220836020020172902002114200620054102746a220528020021172005200a20154102746a2802003602002003201437031020062010410c6c6a2206290230211320062014370230200641386a22062802002105200620083602002007200c6a2017360200200e20046a22062013370200200641086a200536020020014101460d03200741b8016a2206200c6a2006200d41046a10f9978080001a2006201220026a41b8016a200c10f4978080001a20072802b801220641003b01b4012006200736020020072802bc01220641013b01b4012006200736020020072802c001220641023b01b4012006200736020020072802c401220641033b01b4012006200736020020072802c801220641043b01b4012006200736020020072802cc01220641053b01b401200620073602000c030b41fc83c380004119419885c38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200721062001417f6a22010d000b0b200341306a2480808080000f0b2007290208211302402014428080808010540d002005410171211741002106024020164201510d002005417e7121054100210620102107034002402007280200450d00200741046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b0240200741106a280200450d00200741146a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200741206a21072005200641026a2206470d000b0b2017450d00201020064104746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b2015450d0020102010417e6a2f00006b41002802ec82d48000118180808000000c000b0b0baa1001127f23808080800041a0036b2203248080808000200341d0006a41086a200128020022042001280208220541186c6a220641086a290200370300200341d0006a41106a200641106a290200370300200320062902003703502006200641186a20042f01e20c22072005417f736a220841186c10f9978080001a200341d0006a41186a2004200541fc006c6a2206418c026a220941fc0010f4978080001a200920064188036a200841fc006c10f9978080001a20042007417f6a22063b01e20c2001280204210a0240200641ffff037141044b0d0002402004280288022201450d00200a41016a2107024002400240024020042f01e00c22080d0020012f01e20c0d01200341013602a4022003418088c380003602a002200342003702ac0220032003419c036a3602a802200341a0026a418888c3800010fe80808000000b2003200a3602302003200436022c2003200a3602282003200736021c20032008417f6a2207360220200320013602182003200120074102746a2802e40c2201360224024020012f01e20c2201200641ffff037122066a41016a410c490d00200341186a410110c483808000200541016a21050c040b200520064b0d01200520016a41016a2105200341106a200341186a10c683808000200328021021042003280214210a0c030b2003200a36024c2003200a360244200320043602402003410036023c2003200736023820032001360234200320012802e80c22013602480240200641ffff0371220620012f01e20c6a41016a410c490d00200341346a410110c5838080000c030b200520064b0d01200341086a200341346a10c68380800020032802082104200328020c210a0c020b41ac8cc38000418e0141bc8dc38000108081808000000b41ac8cc38000418e0141bc8dc38000108081808000000b2004280288022208450d0020082f01e20c220141044b0d00200a41016a210b0240024002400340200b21062008220c280288022208450d01200141ffff0371210d200641016a210b0240024002400240200c2f01e00c22010d00024020082f01e20c22090d00200341013602a4022003418088c380003602a002200342003702ac0220032003419c036a3602a802200341a0026a418888c3800010fe80808000000b2003200636029c0220032006360294022003200c360290024100210e2003410036028c022003200b360288022003200836028402200320082802e80c220136029802200d41016a220620012f01e20c220f6a2210410c4f0d01200c21072001210c200d2111200f210d0c030b20032006360280022003200c3602fc01200320063602f8012003200b3602ec0120032001417f6a220e3602f001200320083602e80120032008200e4102746a2802e40c22073602f401200d20072f01e20c22116a41016a410c490d01200341e8016a4105200d6b10c4838080000c070b20034184026a4105200d6b10c5838080000c060b201141016a2206200d6a211020082f01e20c21090b200720103b01e20c200341a0026a41106a22122008200e41186c6a220141106a290200370300200341a0026a41086a2213200141086a290200370300200320012902003703a0022001200141186a200941ffff03712214200e417f736a220f41186c10f9978080001a2007201141186c6a220141106a2012290300370200200141086a2013290300370200200120032903a0023702002007200641186c6a200c200d41186c10f4978080001a200341a0026a2008200e41fc006c6a2201418c026a220941fc0010f4978080001a200920014188036a200f41fc006c10f9978080001a2007418c026a2201201141fc006c6a200341a0026a41fc0010f4978080001a2001200641fc006c6a200c418c026a200d41fc006c10f4978080001a2008200e41016a22014102746a221241e40c6a2209201241e80c6a200f41027410f9978080001a0240201420014d0d002014200e6b417e6a21120240201420016b410371220e450d0003402009280200220f20013b01e00c200f200836028802200941046a2109200141016a2101200e417f6a220e0d000b0b20124103490d00200820014102746a41f00c6a21090340200941746a280200220e20013b01e00c200e200836028802200941786a280200220e200141016a3b01e00c200e2008360288022009417c6a280200220e200141026a3b01e00c200e2008360288022009280200220e200141036a3b01e00c200e200836028802200941106a21092014200141046a2201470d000b0b200820082f01e20c417f6a3b01e20c0240200b4102490d00200d41016a2201201020116b470d03200741e40c6a2006410274220e6a200c41e40c6a200141027410f4978080001a0240201020066b220f41016a4103712209450d002007200e6a41e40c6a210103402001280200220e20063b01e00c200e200736028802200141046a2101200641016a21062009417f6a22090d000b0b200f4103490d00200641027421090340200720096a220141e40c6a280200220e20063b01e00c200e200736028802200141e80c6a280200220e200641016a3b01e00c200e200736028802200141ec0c6a280200220e200641026a3b01e00c200e200736028802200141f00c6a2802002201200641036a220e3b01e00c2001200736028802200641046a2106200941106a2109200e2010470d000b0b200c200c417e6a2f00006b41002802ec82d480001181808080000020082f01e20c220141044d0d000c040b0b200141ffff0371450d010c020b41cc88c38000412841f488c38000108081808000000b200241013a00000b2000200341d0006a41940110f4978080002206200536029c012006200a360298012006200436029401200341a0036a2480808080000b9b0603087f017e017f23808080800041d0026b2203248080808000200128020821042001280200210502400240200128020422060d0020032004360208200341003602042003200536020020002003200210cd838080000c010b200520044102746a2802e40c210102402006417f6a2204450d002006417e6a2105024020044103712206450d0003402004417f6a2104200120012f01e20c4102746a2802e40c21012006417f6a22060d000b0b20054103490d000340200120012f01e20c4102746a2802e40c220120012f01e20c4102746a2802e40c220120012f01e20c4102746a2802e40c220120012f01e20c4102746a2802e40c21012004417c6a22040d000b0b2003200136020c200320013301e20c4220864280808080707c370210200341186a2003410c6a200210cd83808000200341b8016a41106a2205200341186a41106a2207290200370300200341b8016a41086a2208200341186a41086a2209290200370300200320032902183703b801200341d4016a200341186a41186a220a41fc0010f4978080001a20032802b0012104024020032802b401220620032802ac0122012f01e20c490d000340200441016a210420012f01e00c220620012802880222012f01e20c4f0d000b0b2001200641186c6a2202290200210b200220032903b8013702002007200241106a220c2902003703002009200241086a220229020037030020022008290300370200200c20052903003702002003200b370318200a2001200641fc006c6a418c026a220241fc0010f4978080001a2002200341d4016a41fc0010f4978080001a0240024020040d00200641016a21020c010b200120064102746a41e80c6a2802002101410021022004417f6a2206450d002004417e6a2105024020064107712204450d0003402006417f6a210620012802e40c21012004417f6a22040d000b0b20054107490d00034020012802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2101200641786a22060d000b0b2000200341186a41940110f4978080002204200236029c01200441003602980120042001360294010b200341d0026a2480808080000bbb0201097f2003280214210420032802102105200328020821062003280204210703404100210802400240024020012f01e20c2209450d00200141146a2103200941186c210a410021080340024002402007200341706a2802002006200341746a280200220b2006200b491b10f597808000220c2006200b6b200c1b220b450d00200b41004a200b4100486b210b0c010b20052003417c6a28020020042003280200220b2004200b491b10f597808000220c2004200b6b200c1b220b41004a200b4100486b210b0b0240200b4101460d00200b41ff01710d02410021030c030b200341186a2103200841016a2108200a41686a220a0d000b200921080b20020d01410121030b2000200836020c2000200236020820002001360204200020033602000f0b2002417f6a2102200120084102746a2802e40c21010c000b0b9a05010b7f2003280220200341206a2003280248220441284b22051b21062003280224200420051b2107024002400240024020032d004c4101710d00034041002104024020012f01f6062208450d00200841d0006c210941002105410021040340024002402003200120056a220a412010f597808000220b450d00200b41004a200b4100486b210a0c010b02402006200a41206a220b280200200b200a41c8006a280200220c41284b220d1b2007200a41246a280200200c200d1b220b2007200b491b10f597808000220c2007200b6b200c1b220b450d00200b41004a200b4100486b210a0c010b4100200a41cc006a2d00004101716b210a0b0240200a4101460d00200a41ff01710d020c050b200441016a21042009200541d0006a2205470d000b200821040b2002450d032002417f6a2102200120044102746a2802f80621010c000b0b20032d004d41ff0171210e034041002104024020012f01f6062208450d00200841d0006c2109410021054100210403400240024002402003200120056a220a412010f597808000220b450d00200b41004a200b4100486b210a0c010b02402006200a41206a220b280200200b200a41c8006a280200220c41284b220d1b2007200a41246a280200200c200d1b220b2007200b491b10f597808000220c2007200b6b200c1b220b450d00200b41004a200b4100486b210a0c010b200a41cc006a2d0000410171450d01200e200a41cd006a2d0000220a4b200e200a496b210a0b200a4101460d00200a41ff01710d020c040b200441016a21042009200541d0006a2205470d000b200821040b2002450d022002417f6a2102200120044102746a2802f80621010c000b0b410021050c010b41012105410021020b2000200436020c2000200236020820002001360204200020053602000bb90201077f2001280204210202400240024020012802082203200128020022042f01aa094f0d00200421050c010b034020042802a0082205450d02200241016a210220042f01a809210320052104200320052f01aa094f0d000b0b0240024020020d00200341016a2106200521040c010b200520034102746a41b0096a2802002104410021062002417f6a2207450d002002417e6a2108024020074107712202450d0003402007417f6a210720042802ac0921042002417f6a22020d000b0b20084107490d00034020042802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092104200741786a22070d000b0b20012006360208200141003602042001200436020020002005200341e0006c6a360204200020052003410c6c6a41a4086a3602000f0b419c8fc3800010a081808000000ba40501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542e1c1c0fddab9f88065370308200542d0b0c2c0bfa6f4d53c370300200441086a41086a220641013602002005420437022c20054206370224200541b898c380003602202005410b36021c200541e381c48000360218200541e68080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054211370224200541a881c480003602202005410836021c200541a081c48000360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f370308200542e6e2dea393f0baf43a3703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c20054211370224200541a881c480003602202005410836021c200541a081c48000360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f370308200542e6e2dea393f0baf43a37030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b000020094100290390ffc3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541043a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054287d0cd9288f5e99eb57f3703002005420437022c200542f400370224200541c688c4800036022020054100360218200541e78080800036021020054299b8f6c4f2aeb99b4d37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8b0601077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca00370300200441086a41086a220641013602002005420437022c2005420a370224200541e6d6c380003602202005410536021c200541e1d6c38000360218200541e88080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c20054204370224200541f29cc380003602202005410a36021c200541f0d6c38000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba1743703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c20054204370224200541f29cc380003602202005410a36021c200541f0d6c38000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba17437030020042802082108200428020c21090b41002d008083d480001a0240413841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220a6a417e6a200a3b0000200541306a41002902e4d0c38000370200200541286a41002902dcd0c38000370200200541206a41002902d4d0c38000370200200541186a41002902ccd0c38000370200200541106a41002902c4d0c38000370200200541086a41002902bcd0c38000370200200541002902b4d0c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a2206410a3a00202006200336021c2006200236021820064107360214200620053602102006410736020c2006200741016a3602082006200936020420062008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104413841e082c4800010b980808000000bcd0703047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b5928080002004280214220642bfedf48291abd3ae3a370308200642b0b4d4ade1aceba9ad7f370300200441086a220741013602002006420437022c2006421437022420064194ebc380003602202006410636021c2006418eebc38000360218200641ea80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410636021c20064183d7c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a2207360200200420042903002208370310024020072008a7470d00200441106a41ac91c3800010b5928080000b2004280214200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410436021c200641fad6c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc651370300200441086a200741016a22073602002004200429031022083703000240024020072008a72209460d002004280204220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410b36021c200641b6ebc38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441ac91c3800010b5928080002004280204200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410b36021c200641b6ebc38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428020021092004280204210a0b41002d008083d480001a0240410841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b000020054100290398ddc3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a2206411b3a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541fc91c3800036022020054100360218200541ed8080800036021020054296e397c6bfa5aeee4637030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e987d8bed5a3d0fbfb003703002005420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903d8dfc380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541113a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542ec8ca7e0e2f0c7e6bf7f370308200542e6e2dea393f0baf43a370300200441086a41086a220641013602002005420437022c20054207370224200541ff9cc380003602202005410936021c200541f69cc38000360218200541bc8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054204370224200541f29cc380003602202005410d36021c200541e59cc38000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba1743703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c20054204370224200541f29cc380003602202005410d36021c200541e59cc38000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba17437030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903b8b2c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541063a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000bfa0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d6eed5b5f78482842237030820054297c889b7d487feb0dd00370300200441086a41086a220641013602002005420437022c200542143702242005419e98c380003602202005410436021c200541fad6c38000360218200541ee8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410536021c200541e1d6c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca003703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410536021c200541e1d6c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca0037030020042802082108200428020c21090b41002d008083d480001a0240413041002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641286a41002902b4cbc38000370200200641206a41002902accbc38000370200200641186a41002902a4cbc38000370200200641106a410029029ccbc38000370200200641086a4100290294cbc380003702002006410029028ccbc3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541033a00202005200336021c2005200236021820054106360214200520063602102005410636020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104413041e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c8e1c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541073a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b000020094100290380e6c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541143a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542fb80c2929ddabcc4827f3703002005420437022c2005421c370224200541cb8ec4800036022020054100360218200541ef8080800036021020054284cfffc1db8584ab2f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba60501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542c4f3c7ded6c68693897f370308200542ba96ded3aed6fd9dff00370300200441086a41086a220641013602002005420437022c2005420d37022420054189b4c380003602202005410e36021c200541fbb3c38000360218200541f08080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054211370224200541e4b3c380003602202005410d36021c200541d7b3c38000360218200541f180808000360210200542fef2818aadabae862f370308200542f2bdf58c84bfb680ac7f3703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c20054211370224200541e4b3c380003602202005410d36021c200541d7b3c38000360218200541f180808000360210200542fef2818aadabae862f370308200542f2bdf58c84bfb680ac7f37030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903a0b3c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541013a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b950301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205428ffeefe2f2ba81f4af7f3703002005420437022c2005420d370224200541faaac380003602202005410536021c200541f5aac38000360218200541f280808000360210200542fffce1ce8cb4e9fc827f37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290380a1c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541043a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b8e0401067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e6e2dea393f0baf43a3703002005420437022c20054207370224200541ff9cc380003602202005410936021c200541f69cc38000360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f37030841002d008083d480001a2004280204210620042802082107024041c00041002802f482d48000118280808000002208450d002008200841036a417c71220520086b22096a417e6a20093b0000200541386a41002902bcaac38000370200200541306a41002902b4aac38000370200200541286a41002902acaac38000370200200541206a41002902a4aac38000370200200541186a410029029caac38000370200200541106a4100290294aac38000370200200541086a410029028caac3800037020020054100290284aac380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a2208410a3a00202008200336021c2008200236021820084108360214200820053602102008428180808080013702082008200736020420082006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441c00041e082c4800010b980808000000bf80601077f23808080800041206b220424808080800041002d008083d480001a2004410036021c200442808080808001370214024002400240410841002802f482d48000118280808000002205450d002005200541036a417c71220620056b22076a417e6a20073b0000200641002903f89bc38000370200200441146a41ac91c3800010b5928080002004280218220542a7bdf8b3b19a92e0ea003703082005428ebdf091d8bec6ff1b370300200541013602302005200636022c2005429480808010370224200541b39bc380003602202005410336021c200541b09bc38000360218200541f380808000360210200441086a41086a41013602002004200429021437030841002d008083d480001a410841002802f482d48000118280808000002205450d012005200541036a417c71220620056b22076a417e6a20073b0000200641002903d89ac38000370200024002402004280210220720042802082208460d00200428020c2209200741386c6a220541013602302005200636022c2005428c80808010370224200541a89ac380003602202005410336021c200541be98c38000360218200541eb8080800036021020054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc6513703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a220541013602302005200636022c2005428c80808010370224200541a89ac380003602202005410336021c200541be98c38000360218200541eb8080800036021020054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc65137030020042802082108200428020c21090b41002d008083d480001a410841002802f482d48000118280808000002205450d022005200541036a417c71220620056b220a6a417e6a200a3b0000200641002903d099c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541013a00202005200336021c2005200236021820054101360214200520063602102005410136020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b4104410841e082c4800010b980808000000b4104410841e082c4800010b980808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542cacaacd6f5b19dd6f7003703002005420437022c200542ee00370224200541ba89c4800036022020054100360218200541f480808000360210200542cdf3f0ebd0f7bfeb927f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bc70501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d6eed5b5f78482842237030820054297c889b7d487feb0dd00370300200441086a41086a220641013602002005420437022c200542143702242005419e98c380003602202005410336021c2005419b98c38000360218200541ee8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082108200428020c21090b41002d008083d480001a0240411841002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641106a4100290280c2c38000370200200641086a41002902f8c1c38000370200200641002902f0c1c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541053a00202005200336021c2005200236021820054103360214200520063602102005410336020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104411841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903d8e3c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541093a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542d7a08acbbeecbda19a7f3703002005420437022c2005420f3702242005418c81c480003602202005410c36021c2005418081c48000360218200541f580808000360210200542c5e4a0ede5f2bae65637030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290398fec380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541053a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e6e2dea393f0baf43a3703002005410036023020054280808080c0003703282005410036022020054100360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205429e8eaae68bb9afc6513703002005420437022c2005420c370224200541a89ac380003602202005410736021c200541d0b3c38000360218200541eb8080800036021020054298a593acd1ceffcb9c7f37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903e0b1c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541043a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200441086a41086a220641013602002005420437022c2005420a370224200541e6d6c380003602202005410336021c200541b09bc38000360218200541ec8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410336021c200541be98c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410336021c200541be98c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b000020094100290388e1c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541173a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e88488d0c0e3aebc133703002005410036023020054280808080c0003703282005410036022020054100360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bb60301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541fc91c380003602202005410636021c200541d2aac38000360218200541ed8080800036021020054296e397c6bfa5aeee4637030841002d008083d480001a20042802042106200428020821070240411841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841106a410029029ca2c38000370200200841086a4100290294a2c380003702002008410029028ca2c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541033602142005200836021020054281808080303702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104411841e082c4800010b980808000000bab0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c2005420d37022420054193f9c380003602202005410736021c2005418cf9c38000360218200541ed8080800036021020054296e397c6bfa5aeee4637030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8e0401067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542ee9bf0c2c3c9bda6c2003703002005420437022c20054211370224200541d0d6c380003602202005410336021c2005419b98c38000360218200541f680808000360210200542fae9c5abfdd1fd830837030841002d008083d480001a2004280204210620042802082107024041c00041002802f482d48000118280808000002208450d002008200841036a417c71220520086b22096a417e6a20093b0000200541386a41002902acd6c38000370200200541306a41002902a4d6c38000370200200541286a410029029cd6c38000370200200541206a4100290294d6c38000370200200541186a410029028cd6c38000370200200541106a4100290284d6c38000370200200541086a41002902fcd5c38000370200200541002902f4d5c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220841063a00202008200336021c2008200236021820084108360214200820053602102008428180808080013702082008200736020420082006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441c00041e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542ffa2b2ec89e3f8c2dd003703002005410036023020054280808080c0003703282005410036022020054100360218200541f780808000360210200542a09485e896f4dad27537030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903b8ddc3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541153a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000bb60501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410736021c200541d0b3c38000360218200541eb8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082108200428020c21090b41002d008083d480001a0240411041002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641086a4100290288e5c3800037020020064100290280e5c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541013a00202005200336021c2005200236021820054102360214200520063602102005410236020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104411041e082c4800010b980808000000bfb0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542f08ae39db3eef7cb917f3703002005420437022c20054208370224200541f8bdc380003602202005410736021c200541a8bec38000360218200541f880808000360210200542deb6b7a2defce4d03c37030841002d008083d480001a20042802042106200428020821070240413841002802f482d48000118280808000002208450d002008200841036a417c71220520086b22096a417e6a20093b0000200541306a41002902d8b7c38000370200200541286a41002902d0b7c38000370200200541206a41002902c8b7c38000370200200541186a41002902c0b7c38000370200200541106a41002902b8b7c38000370200200541086a41002902b0b7c38000370200200541002902a8b7c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220841023a00202008200336021c20082002360218200841073602142008200536021020084281808080f0003702082008200736020420082006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104413841e082c4800010b980808000000bde0703047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b592808000200428021422064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc651370300200441086a220741013602002006420437022c2006420c370224200641a89ac380003602202006410436021c200641c1ebc38000360218200641eb80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410236021c20064180ebc38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a2207360200200420042903002208370310024020072008a7470d00200441106a41ac91c3800010b5928080000b2004280214200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200441086a200741016a22073602002004200429031022083703000240024020072008a72209460d002004280204220a200741386c6a2206420437022c20064206370224200641d7ebc380003602202006411236021c200641c5ebc38000360218200641f980808000360210200642f59accfaf8d38db94c370308200642fec4a5abe1828ecea77f3703000c010b200441ac91c3800010b5928080002004280204200741386c6a2206420437022c20064206370224200641d7ebc380003602202006411236021c200641c5ebc38000360218200641f980808000360210200642f59accfaf8d38db94c370308200642fec4a5abe1828ecea77f370300200428020021092004280204210a0b41002d008083d480001a0240411041002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b0000200541086a41002902e4e2c38000370200200541002902dce2c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a220641063a00202006200336021c2006200236021820064102360214200620053602102006410236020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104411041e082c4800010b980808000000bac0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d6eed5b5f78482842237030820054297c889b7d487feb0dd00370300200441086a41086a220641013602002005420437022c200542143702242005419e98c380003602202005410436021c200541fad6c38000360218200541ee8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054204370224200541f29cc380003602202005410a36021c200541f0d6c38000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba1743703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c20054204370224200541f29cc380003602202005410a36021c200541f0d6c38000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba17437030020042802082107200428020c21080b41002d008083d480001a024041f80041002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941b0c8c3800041f80010f497808000210a0240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541043a00202005200336021c200520023602182005410f3602142005200a3602102005410f36020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b410441f80041e082c4800010b980808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542f88f9dc2b1d3efe4c8003703002005420437022c200542ed003702242005419a8bc4800036022020054100360218200541fa80808000360210200542b8eae6a09ffddbe6c30037030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c0eac3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a2205410f3a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542808addd4dbb4c9d7123703002005420437022c2005421b370224200541d890c4800036022020054100360218200541fb80808000360210200542e7c293a7a1e3e1b7a77f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541053a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bb90603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b592808000200428021422064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc651370300200441086a220741013602002006420437022c2006420c370224200641a89ac380003602202006410436021c200641c1ebc38000360218200641eb80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410236021c20064180ebc38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441106a41ac91c3800010b5928080002004280214200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428021021092004280214210a0b41002d008083d480001a0240410841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b0000200541002903c8dcc3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a220641023a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205429e8eaae68bb9afc6513703002005410036023020054280808080c0003703282005410036022020054100360218200541eb8080800036021020054298a593acd1ceffcb9c7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054284c6f3a094c493c0c4003703002005410036023020054280808080c0003703282005410036022020054100360218200541fc80808000360210200542f0bda1a084bdddc89f7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542a4b691acadf9b7f2283703002005420437022c2005421e370224200541d08fc4800036022020054100360218200541fd80808000360210200542f2b59da2ef82b0965537030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903a8dec3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a2205410e3a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903d0e0c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541133a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542a5f3cb9df58cabcbda003703002005420437022c2005421c370224200541ee8fc4800036022020054100360218200541fe80808000360210200542e9d7d39dd1c1dd980e37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b930301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e88488d0c0e3aebc133703002005420437022c20054203370224200541cfaac380003602202005410736021c2005419087c48000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b00002008410029038887c480003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410436021c200541eebfc38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410436021c200541eebfc38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903e8e8c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541033a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000bc70501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d6eed5b5f78482842237030820054297c889b7d487feb0dd00370300200441086a41086a220641013602002005420437022c200542143702242005419e98c380003602202005410336021c2005419b98c38000360218200541ee8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410836021c20054189d7c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca003703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410836021c20054189d7c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca0037030020042802082108200428020c21090b41002d008083d480001a0240411841002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641106a41002902a4ccc38000370200200641086a410029029cccc3800037020020064100290294ccc3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541083a00202005200336021c2005200236021820054103360214200520063602102005410336020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104411841e082c4800010b980808000000bea0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542f08ae39db3eef7cb917f3703002005420437022c20054208370224200541f8bdc380003602202005410c36021c20054180bec38000360218200541f880808000360210200542deb6b7a2defce4d03c37030841002d008083d480001a20042802042106200428020821070240413041002802f482d48000118280808000002208450d002008200841036a417c71220520086b22096a417e6a20093b0000200541286a4100290294bcc38000370200200541206a410029028cbcc38000370200200541186a4100290284bcc38000370200200541106a41002902fcbbc38000370200200541086a41002902f4bbc38000370200200541002902ecbbc380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220841043a00202008200336021c20082002360218200841063602142008200536021020084281808080e0003702082008200736020420082006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104413041e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005410036023020054280808080c0003703282005410036022020054100360218200541ed8080800036021020054296e397c6bfa5aeee4637030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e987d8bed5a3d0fbfb003703002005420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290390e7c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a2205410b3a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000bca0603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b5928080002004280214220642d6eed5b5f78482842237030820064297c889b7d487feb0dd00370300200441086a220741013602002006420437022c200642143702242006419e98c380003602202006410636021c20064183d7c38000360218200641ee80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c200642143702242006419e98c380003602202006410436021c200641fad6c38000360218200641ee80808000360210200642d6eed5b5f78482842237030820064297c889b7d487feb0dd003703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410536021c200641e1d6c38000360218200641e880808000360210200642d08eb4e8cbd188dc53370308200642b6c682a983f2c9f6ca003703000c010b200441106a41ac91c3800010b5928080002004280214200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410536021c200641e1d6c38000360218200641e880808000360210200642d08eb4e8cbd188dc53370308200642b6c682a983f2c9f6ca00370300200428021021092004280214210a0b41002d008083d480001a0240411041002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b0000200541086a41002902a0c1c3800037020020054100290298c1c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a220641023a00202006200336021c2006200236021820064102360214200620053602102006410236020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104411041e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542dd9f93df8387e1c0f2003703002005420437022c2005422f3702242005418a90c4800036022020054100360218200541ff80808000360210200542d1a3fdcbebd0f4bc1a37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205429e8eaae68bb9afc6513703002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020054298a593acd1ceffcb9c7f37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290388e9c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541103a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b8c0201037f41002d008083d480001a0240411841002802f482d48000118280808000002204450d002004200441036a417c71220520046b22066a417e6a20063b0000200541106a41002902c486c48000370200200541086a41002902bc86c48000370200200541002902b486c480003702000240200128020822062001280200470d002001418c90c3800010a0938080000b2001280204200641246c6a220441023a00202004200336021c2004200236021820044103360214200420053602102004428080808030370208200442808080808001370200200041086a200641016a2204360200200141086a2004360200200020012902003702000f0b4104411841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542a5f4d0c295cad9e04b3703002005410036023020054280808080c00037032820054100360220200541003602182005418081808000360210200542afc3dcb6fbd0bf9afb0037030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542bbeefa98e893a7ad023703002005420437022c20054208370224200541e091c38000360220200541003602182005418181808000360210200542eef8e7b09dc4b6b53f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e68d8c93e1ea9be30a3703002005420437022c200542eb00370224200541db87c4800036022020054100360218200541828180800036021020054283a382fae2cccab7897f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542efc9c9edb5e7b3a6c7003703002005410036023020054280808080c00037032820054100360220200541003602182005418381808000360210200542acf6debeefe0d9c8d30037030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542bb82a2f99fad8c91c1003703002005410036023020054280808080c00037032820054100360220200541003602182005418481808000360210200542d9d1a5958acddccda77f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bfd0301067f23808080800041106b22042480808080002004410036020c20044280808080800137020441002d008083d480001a02400240410841002802f482d48000118280808000002205450d002005200541036a417c71220620056b22076a417e6a20073b0000200641002903a89bc38000370200200441046a41ac91c3800010b592808000200428020822054284c6f3a094c493c0c400370300200541013602302005200636022c2005428e80808010370224200541eb9ac380003602202005410b36021c200541e09ac38000360218200541fc80808000360210200542f0bda1a084bdddc89f7f37030841002d008083d480001a2004280204210820042802082109410841002802f482d48000118280808000002205450d012005200541036a417c71220620056b22076a417e6a20073b0000200641002903a899c380003702000240200128020822072001280200470d002001418c90c3800010a0938080000b2001280204200741246c6a220541033a00202005200336021c20052002360218200541013602142005200636021020054281808080103702082005200936020420052008360200200041086a200741016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b4104410841e082c4800010b980808000000b930301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542b1b9bbf6d09c8ca47b3703002005420437022c20054208370224200541dcaac380003602202005410436021c200541d8aac380003602182005418581808000360210200542d0eeea8fe2e880c51037030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290390a8c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541053a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542d99be088f9e680c0693703002005410036023020054280808080c00037032820054100360220200541003602182005418681808000360210200542d992b6b99794ddc84b37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542b9addbd9b5d7e88c8c7f3703002005420437022c2005421f370224200541b990c48000360220200541003602182005418781808000360210200542b49ecfc5fbddf48cd40037030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8c0201037f41002d008083d480001a0240411841002802f482d48000118280808000002204450d002004200441036a417c71220520046b22066a417e6a20063b0000200541106a41002902f895c38000370200200541086a41002902f095c38000370200200541002902e895c380003702000240200128020822062001280200470d002001418c90c3800010a0938080000b2001280204200641246c6a220441043a00202004200336021c2004200236021820044103360214200420053602102004428080808030370208200442808080808001370200200041086a200641016a2204360200200141086a2004360200200020012902003702000f0b4104411841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542f3fee5add4c78eeadc003703002005420437022c2005421537022420054193bec380003602202005410736021c2005418cbec380003602182005418881808000360210200542a4b8dcf3ae80abbe5e37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903c8bdc380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000bca0603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b592808000200428021422064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc651370300200441086a220741013602002006420437022c2006420c370224200641a89ac380003602202006410336021c2006419b98c38000360218200641eb80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641e1f3c380003602202006410a36021c200641eff4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420c370224200641e1f3c380003602202006410336021c200641ecf4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441106a41ac91c3800010b5928080002004280214200741386c6a2206420437022c2006420c370224200641e1f3c380003602202006410336021c200641ecf4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428021021092004280214210a0b41002d008083d480001a0240411041002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b0000200541086a41002902e4f4c38000370200200541002902dcf4c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a220641003a00202006200336021c2006200236021820064102360214200620053602102006410236020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104411041e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410736021c200541d0b3c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410c36021c20054182ebc38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410c36021c20054182ebc38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903f8e7c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541003a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b8b0601077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d6eed5b5f78482842237030820054297c889b7d487feb0dd00370300200441086a41086a220641013602002005420437022c200542143702242005419e98c380003602202005410436021c200541fad6c38000360218200541ee8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410536021c200541e1d6c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca003703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410536021c200541e1d6c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca0037030020042802082108200428020c21090b41002d008083d480001a0240413841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220a6a417e6a200a3b0000200541306a41002902d4d3c38000370200200541286a41002902ccd3c38000370200200541206a41002902c4d3c38000370200200541186a41002902bcd3c38000370200200541106a41002902b4d3c38000370200200541086a41002902acd3c38000370200200541002902a4d3c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220641003a00202006200336021c2006200236021820064107360214200620053602102006410736020c2006200741016a3602082006200936020420062008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104413841e082c4800010b980808000000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542bf8b8beab7e6bab9333703002005420437022c2005422f370224200541e78ec48000360220200541003602182005418981808000360210200542b5cbb5899befc5af0537030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410636021c200541f5b3c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054207370224200541ff9cc380003602202005410436021c2005419bb4c38000360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f370308200542e6e2dea393f0baf43a3703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c20054207370224200541ff9cc380003602202005410436021c2005419bb4c38000360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f370308200542e6e2dea393f0baf43a37030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c8b3c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541053a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054213370224200541cef3c380003602202005410d36021c200541c083c48000360218200541ed8080800036021020054296e397c6bfa5aeee4637030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903b883c480003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000bd60501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d6eed5b5f78482842237030820054297c889b7d487feb0dd00370300200441086a41086a220641013602002005420437022c200542143702242005419e98c380003602202005410336021c2005419b98c38000360218200541ee8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005421f370224200541fc97c380003602202005410436021c200541f897c380003602182005418a81808000360210200542cc8e8fa3bac0d9ce17370308200542b5cb9ae1a0c5fe9d7e3703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005421f370224200541fc97c380003602202005410436021c200541f897c380003602182005418a81808000360210200542cc8e8fa3bac0d9ce17370308200542b5cb9ae1a0c5fe9d7e37030020042802082108200428020c21090b41002d008083d480001a0240412041002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641186a410029028497c38000370200200641106a41002902fc96c38000370200200641086a41002902f496c38000370200200641002902ec96c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541033a00202005200336021c2005200236021820054104360214200520063602102005410436020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104412041e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542c3ffb3a5afef9985857f3703002005410036023020054280808080c00037032820054100360220200541003602182005418b81808000360210200542cff88daa958699865137030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bf70501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200441086a41086a220641013602002005420437022c20054203370224200541cfaac380003602202005410936021c200541d0bdc38000360218200541bb8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420b370224200541e6bdc380003602202005410d36021c200541d9bdc380003602182005418c81808000360210200542eba3adccb5ca80f460370308200542d4e0dcb5cef8a2d3693703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420b370224200541e6bdc380003602202005410d36021c200541d9bdc380003602182005418c81808000360210200542eba3adccb5ca80f460370308200542d4e0dcb5cef8a2d36937030020042802082108200428020c21090b41002d008083d480001a0240413041002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641286a41002902acbac38000370200200641206a41002902a4bac38000370200200641186a410029029cbac38000370200200641106a4100290294bac38000370200200641086a410029028cbac3800037020020064100290284bac3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541003a00202005200336021c2005200236021820054106360214200520063602102005410636020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104413041e082c4800010b980808000000bc80301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e6e2dea393f0baf43a3703002005420437022c20054207370224200541ff9cc380003602202005410936021c200541f69cc38000360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f37030841002d008083d480001a20042802042106200428020821070240412041002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841186a41002902a0a6c38000370200200841106a4100290298a6c38000370200200841086a4100290290a6c3800037020020084100290288a6c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541093a00202005200336021c20052002360218200541043602142005200836021020054281808080c0003702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104412041e082c4800010b980808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542c1b4e2ac94ff84c2e5003703002005420437022c200542f200370224200541a88ac48000360220200541003602182005418d81808000360210200542c7d5bd83edd8f5c0dd0037030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054295fe9ce7d0c9c5c6123703002005420437022c200542153702242005419d91c48000360220200541003602182005418e8180800036021020054295f3c2a6d3fce5b12e37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b890301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542ace0c9ab81d6baf01b3703002005420437022c2005420e370224200541a8ebc38000360220200541003602182005418f81808000360210200542ded2abd6bea6d3bab07f37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903f8eac380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a2205411d3a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000bb90603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b5928080002004280214220642bfedf48291abd3ae3a370308200642b0b4d4ade1aceba9ad7f370300200441086a220741013602002006420437022c2006421437022420064194ebc380003602202006410636021c2006418eebc38000360218200641ea80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410336021c2006419b98c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441106a41ac91c3800010b5928080002004280214200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428021021092004280214210a0b41002d008083d480001a0240410841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b000020054100290390e3c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a2206411c3a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b930301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542b5cb9ae1a0c5fe9d7e3703002005420437022c2005421f370224200541fc97c380003602202005410436021c200541f897c380003602182005418a81808000360210200542cc8e8fa3bac0d9ce1737030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b00002008410029038096c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054293e9bbb0a4a897e1093703002005410036023020054280808080c000370328200541003602202005410036021820054190818080003602102005429091d8d1efb08fcfac7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bb90603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b5928080002004280214220642bfedf48291abd3ae3a370308200642b0b4d4ade1aceba9ad7f370300200441086a220741013602002006420437022c2006421437022420064194ebc380003602202006410636021c2006418eebc38000360218200641ea80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410336021c2006419b98c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441106a41ac91c3800010b5928080002004280214200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428021021092004280214210a0b41002d008083d480001a0240410841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b000020054100290380e0c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a220641183a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000bd60501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe400370300200441086a41086a220641013602002005420437022c20054203370224200541eaaac380003602202005410636021c200541e4aac38000360218200541ed8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c20054203370224200541cfaac380003602202005410736021c200541c8aac38000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc133703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c20054203370224200541cfaac380003602202005410736021c200541c8aac38000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc1337030020042802082108200428020c21090b41002d008083d480001a0240412041002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641186a41002902a0a4c38000370200200641106a4100290298a4c38000370200200641086a4100290290a4c3800037020020064100290288a4c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541063a00202005200336021c2005200236021820054104360214200520063602102005410436020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104412041e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054297c0f1c4c7c0b080c5003703002005420437022c2005422a370224200541f390c48000360220200541003602182005419181808000360210200542f790c2b8cbf6d6e6ba7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541063a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bc80301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541fc91c380003602202005410436021c200541c4aac38000360218200541ed8080800036021020054296e397c6bfa5aeee4637030841002d008083d480001a20042802042106200428020821070240412041002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841186a41002902e4a7c38000370200200841106a41002902dca7c38000370200200841086a41002902d4a7c38000370200200841002902cca7c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541043602142005200836021020054281808080c0003702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104412041e082c4800010b980808000000bcd0703047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b5928080002004280214220642bfedf48291abd3ae3a370308200642b0b4d4ade1aceba9ad7f370300200441086a220741013602002006420437022c2006421437022420064194ebc380003602202006410636021c2006418eebc38000360218200641ea80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410636021c20064183d7c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a2207360200200420042903002208370310024020072008a7470d00200441106a41ac91c3800010b5928080000b2004280214200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410436021c200641fad6c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc651370300200441086a200741016a22073602002004200429031022083703000240024020072008a72209460d002004280204220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441ac91c3800010b5928080002004280204200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428020021092004280204210a0b41002d008083d480001a0240410841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b0000200541002903d0e6c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a2206411a3a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b930301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e88488d0c0e3aebc133703002005420437022c20054203370224200541cfaac380003602202005410336021c200541d887c48000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903d087c480003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541043a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000be60501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542cc8e8fa3bac0d9ce17370308200542b5cb9ae1a0c5fe9d7e370300200441086a41086a220641013602002005420437022c2005421f370224200541fc97c380003602202005410436021c200541f897c380003602182005418a8180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c20054206370224200541b898c380003602202005410636021c200541b298c38000360218200541e680808000360210200542e1c1c0fddab9f88065370308200542d0b0c2c0bfa6f4d53c3703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c20054206370224200541b898c380003602202005410636021c200541b298c38000360218200541e680808000360210200542e1c1c0fddab9f88065370308200542d0b0c2c0bfa6f4d53c37030020042802082108200428020c21090b41002d008083d480001a0240412841002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641206a41002902a495c38000370200200641186a410029029c95c38000370200200641106a410029029495c38000370200200641086a410029028c95c380003702002006410029028495c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541013a00202005200336021c2005200236021820054105360214200520063602102005410536020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104412841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e987d8bed5a3d0fbfb003703002005420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290388eac380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a2205410d3a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b9c0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541fc91c380003602202005410436021c200541c4aac38000360218200541ed8080800036021020054296e397c6bfa5aeee4637030841002d008083d480001a2004280204210620042802082107024041c80041002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b00002008419ca0c3800041c80010f49780800021090240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a2205410b3a00202005200336021c2005200236021820054109360214200520093602102005428180808090013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441c80041e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c0e7c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a2205410c3a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e987d8bed5a3d0fbfb003703002005420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290380dfc380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541123a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba50301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054297c889b7d487feb0dd003703002005420437022c200542143702242005419e98c380003602202005410336021c200541be98c38000360218200541ee80808000360210200542d6eed5b5f78482842237030841002d008083d480001a20042802042106200428020821070240411041002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841086a41002902f097c38000370200200841002902e897c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541023a00202005200336021c20052002360218200541023602142005200836021020054281808080203702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104411041e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542fbd6e6a3c68cb3c8303703002005420437022c200542e900370224200541878cc48000360220200541003602182005419281808000360210200542bbc0eee3b882f9d3bd7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541053a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541fc91c380003602202005410636021c200541d2aac38000360218200541ed8080800036021020054296e397c6bfa5aeee4637030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903d8a4c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541073a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000bb60301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542f08ae39db3eef7cb917f3703002005420437022c20054208370224200541f8bdc380003602202005410736021c200541f1bdc38000360218200541f880808000360210200542deb6b7a2defce4d03c37030841002d008083d480001a20042802042106200428020821070240411841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841106a41002902fcbcc38000370200200841086a41002902f4bcc38000370200200841002902ecbcc380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541013a00202005200336021c20052002360218200541033602142005200836021020054281808080303702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104411841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542d4db98a5bcd685f19f7f3703002005420437022c2005421b370224200541b58fc48000360220200541003602182005419381808000360210200542909fc38ce7eaec979e7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541053a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205428fe7aef583e480eb6c3703002005420437022c2005420c370224200541e891c38000360220200541003602182005419481808000360210200542ebedcef8bc82ebb7be7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b930301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e88488d0c0e3aebc133703002005420437022c20054215370224200541ce81c480003602202005411536021c200541b981c48000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903b880c480003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541013a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542f2bdf58c84bfb680ac7f3703002005420437022c20054211370224200541e4b3c380003602202005410d36021c200541d7b3c38000360218200541f180808000360210200542fef2818aadabae862f37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290390b2c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054285ded1bd85cbe2dc8b7f3703002005410036023020054280808080c00037032820054100360220200541003602182005419581808000360210200542eeb2b382fcbac9a41a37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bea0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d9c2b3e3b7d1fb8df60037030820054281bba5b6a6c2d0d5e600370300200441086a41086a220641013602002005420437022c20054213370224200541bdd6c380003602202005410936021c200541b4d6c38000360218200541968180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410536021c200541fed6c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca003703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410536021c200541fed6c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca0037030020042802082108200428020c21090b41002d008083d480001a0240412841002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641206a41002902c4cdc38000370200200641186a41002902bccdc38000370200200641106a41002902b4cdc38000370200200641086a41002902accdc38000370200200641002902a4cdc3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541093a00202005200336021c2005200236021820054105360214200520063602102005410536020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104412841e082c4800010b980808000000b930301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e88488d0c0e3aebc133703002005420437022c20054203370224200541cfaac380003602202005410536021c2005419b81c48000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903d8ffc380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205429ecaaca1b6f2c7884b3703002005420437022c200542ec00370224200541df8dc48000360220200541003602182005419781808000360210200542c6c8dbd5f3a3e89aed0037030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c8e9c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541043a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541fc91c380003602202005410436021c200541c4aac38000360218200541ed8080800036021020054296e397c6bfa5aeee4637030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290380a5c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541023a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542bbeefa98e893a7ad023703002005410036023020054280808080c00037032820054100360220200541003602182005418181808000360210200542eef8e7b09dc4b6b53f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba70501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542ec8ca7e0e2f0c7e6bf7f370308200542e6e2dea393f0baf43a370300200441086a41086a220641013602002005420437022c20054207370224200541ff9cc380003602202005410936021c200541f69cc38000360218200541bc8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420d37022420054189b4c380003602202005410536021c20054196b4c38000360218200541f080808000360210200542c4f3c7ded6c68693897f370308200542ba96ded3aed6fd9dff003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420d37022420054189b4c380003602202005410536021c20054196b4c38000360218200541f080808000360210200542c4f3c7ded6c68693897f370308200542ba96ded3aed6fd9dff0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c0b1c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541073a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903d8e5c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541083a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205429e8eaae68bb9afc6513703002005420437022c2005420c370224200541a89ac380003602202005410736021c200541d0b3c38000360218200541eb8080800036021020054298a593acd1ceffcb9c7f37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290380b3c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903d8ddc3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541163a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c0e8c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541053a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054291e592c5bbf1ede3887f3703002005420437022c2005421f370224200541968fc480003602202005410036021820054198818080003602102005428fcfabb3df92c7ae6237030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054293888c8f89fdc6ec9e7f3703002005420437022c20054203370224200541f2aac380003602202005410536021c200541edaac380003602182005419981808000360210200542a5e9e3ab9e929adc2c37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903c8a1c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541013a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b8c0201037f41002d008083d480001a0240411841002802f482d48000118280808000002204450d002004200441036a417c71220520046b22066a417e6a20063b0000200541106a41002902a885c48000370200200541086a41002902a085c480003702002005410029029885c480003702000240200128020822062001280200470d002001418c90c3800010a0938080000b2001280204200641246c6a220441013a00202004200336021c2004200236021820044103360214200420053602102004428080808030370208200442808080808001370200200041086a200641016a2204360200200141086a2004360200200020012902003702000f0b4104411841e082c4800010b980808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542ba96ded3aed6fd9dff003703002005410036023020054280808080c0003703282005410036022020054100360218200541f080808000360210200542c4f3c7ded6c68693897f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9b0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542928ad285e9ded197493703002005420437022c20054209370224200541eff2c380003602202005410336021c200541ecf2c380003602182005419a8180800036021020054289b1efa9e5f09dc10137030841002d008083d480001a2004280204210620042802082107024041980141002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841d4f1c3800041980110f49780800021090240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c20052002360218200541133602142005200936021020054281808080b0023702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441980141e082c4800010b980808000000bb90603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b5928080002004280214220642bfedf48291abd3ae3a370308200642b0b4d4ade1aceba9ad7f370300200441086a220741013602002006420437022c2006421437022420064194ebc380003602202006410636021c2006418eebc38000360218200641ea80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410336021c2006419b98c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441106a41ac91c3800010b5928080002004280214200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428021021092004280214210a0b41002d008083d480001a0240410841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b0000200541002903b0e0c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a220641193a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000bab0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b59280800020042802182205429ebee0b28db0a5c2c400370308200542bebd998688aaacb5e700370300200441086a41086a220641013602002005420437022c2005421a370224200541a0f9c380003602202005410436021c2005418b9cc380003602182005419b8180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054213370224200541cff9c380003602202005411536021c200541baf9c380003602182005419c81808000360210200542e8ddfc89b4a1ebea42370308200542fd8490f5babc95be413703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c20054213370224200541cff9c380003602202005411536021c200541baf9c380003602182005419c81808000360210200542e8ddfc89b4a1ebea42370308200542fd8490f5babc95be4137030020042802082107200428020c21080b41002d008083d480001a024041c80041002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941c4f8c3800041c80010f497808000210a0240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541093602142005200a3602102005410936020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b410441c80041e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b000020094100290388e4c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a2205410a3a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542a8b7e4fc879093e7ac7f3703002005420437022c20054208370224200541f491c38000360220200541003602182005419d81808000360210200542a6ebd886b799bbb94f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205429e8eaae68bb9afc6513703002005420437022c200542093702242005418392c3800036022020054100360218200541eb8080800036021020054298a593acd1ceffcb9c7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bfd0301067f23808080800041106b22042480808080002004410036020c20044280808080800137020441002d008083d480001a02400240410841002802f482d48000118280808000002205450d002005200541036a417c71220620056b22076a417e6a20073b0000200641002903a89bc38000370200200441046a41ac91c3800010b592808000200428020822054284c6f3a094c493c0c400370300200541013602302005200636022c2005428e80808010370224200541eb9ac380003602202005410b36021c200541e09ac38000360218200541fc80808000360210200542f0bda1a084bdddc89f7f37030841002d008083d480001a2004280204210820042802082109410841002802f482d48000118280808000002205450d012005200541036a417c71220620056b22076a417e6a20073b0000200641002903a09ac380003702000240200128020822072001280200470d002001418c90c3800010a0938080000b2001280204200741246c6a220541003a00202005200336021c20052002360218200541013602142005200636021020054281808080103702082005200936020420052008360200200041086a200741016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542a9e392f9b4d79e842e3703002005420437022c200542ef00370224200541f08cc48000360220200541003602182005419e81808000360210200542f2c3d8b6f1b38382a37f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541073a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b880301077f4101210202400240024002402001280208220341016a2204200128020422054d0d000c010b200320054f0d012001200436020802400240024002400240024002402001280200220620036a2d000022074103710e0400010203000b20074102762108410021020c060b0240200341026a220320054d0d000c060b200120033602082004417f470d02417f200341f0cbcd8000109581808000000b200341046a220320054b0d04200120033602082004417d490d022004200341f0cbcd8000109581808000000b20074104490d020c030b0240200620046a2d000022010d000c030b20014108742007724102762108410021020c020b200620046a22012f0000200141026a2d0000411074722201418002492102200141087420077241027621080c010b200341056a220320054b0d00200120033602082004417c4f0d02200620046a28000022084180808080044921020b20002008360204200020023602000f0b200320054180cccd8000108281808000000b2004200341f0cbcd8000109581808000000b870401067f024002402001280208220220012802102203460d00024002400240024002400240200341016a2204450d0020022004490d0120012802042105200120043602100240024002400240024002400240200520036a2d000022064103710e0400010203000b20064102762106410021070c0d0b41012107024020022004470d000c0d0b200341026a21032004417f460d07200320024d0d0220032002418486cb8000109181808000000b200220046b4103490d0a200341046a21032004417c4b0d07200320024d0d0220032002418486cb8000109181808000000b4101210720064104490d020c0a0b200120033602100240200520046a2d000022010d000c0a0b20014108742006724102762106410021070c090b20012003360210200520046a22012f0000200141026a2d0000411074722201418002492107200141087420067241027621060c080b200220046b4104490d07200341056a21032004417b4b0d04200320024b0d0520012003360210200520046a28000022064180808080044921070c070b417f2004418486cb8000109581808000000b20042002418486cb8000109181808000000b417f2003418486cb8000109581808000000b20042003418486cb8000109581808000000b20042003418486cb8000109581808000000b20032002418486cb8000109181808000000b410121070b20002006360204200020073602000bf60504037f017e037f017e024002402001280200220128020c220228020828020022032802042204450d0020032004417f6a36020420032003280200220441016a3602002002427f200229030042017c22052005501b37030020042d000021030240200128020020012802082202470d002001200241014101410110a386808000200128020821020b2001200241016a2204360208200128020420026a20033a000002400240024002400240024020034103710e0400010203000b20034102762103410021020c060b200128020c220628020828020022072802042202450d0420072002417f6a3602044101210220072007280200220841016a3602002006427f200629030042017c22052005501b37030020082d00002107024020012802002004470d002001200441014101410110a386808000200128020821040b2001200441016a360208200128020420046a20073a000020070d020c050b200128020c2207280208280200220228020422064103490d0320022006417d6a36020420022002280200220641036a3602002007427f2007290300220542037c220920092005541b37030020062f0000200641026a2d00004110747221070240200128020020046b41024b0d002001200441034101410110a386808000200128020821040b2001200441036a360208200128020420046a220120073b0000200141026a20074110763a0000200741ffffff0771418002492102200741087420037241027621030c040b4101210220034104490d010c030b20074108742003724102762103410021020c020b200128020c2206280208280200220728020422084104490d0120072008417c6a36020420072007280200220341046a3602002006427f2006290300220542047c220920092005541b370300200328000021030240200128020020046b41034b0d002001200441044101410110a386808000200128020821040b2001200441046a360208200128020420046a200336000020034180808080044921020c010b410121020b20002003360204200020023602000bea0504037f017e037f017e024002402001280200220128020c220228020822032802042204450d0020032004417f6a36020420032003280200220441016a3602002002427f200229030042017c22052005501b37030020042d000021030240200128020020012802082202470d002001200241014101410110a386808000200128020821020b2001200241016a2204360208200128020420026a20033a000002400240024002400240024020034103710e0400010203000b20034102762103410021020c060b200128020c220628020822072802042202450d0420072002417f6a3602044101210220072007280200220841016a3602002006427f200629030042017c22052005501b37030020082d00002107024020012802002004470d002001200441014101410110a386808000200128020821040b2001200441016a360208200128020420046a20073a000020070d020c050b200128020c2207280208220228020422064103490d0320022006417d6a36020420022002280200220641036a3602002007427f2007290300220542037c220920092005541b37030020062f0000200641026a2d00004110747221070240200128020020046b41024b0d002001200441034101410110a386808000200128020821040b2001200441036a360208200128020420046a220120073b0000200141026a20074110763a0000200741ffffff0771418002492102200741087420037241027621030c040b4101210220034104490d010c030b20074108742003724102762103410021020c020b200128020c2206280208220728020422084104490d0120072008417c6a36020420072007280200220341046a3602002006427f2006290300220542047c220920092005541b370300200328000021030240200128020020046b41034b0d002001200441044101410110a386808000200128020821040b2001200441046a360208200128020420046a200336000020034180808080044921020c010b410121020b20002003360204200020023602000bc10301057f23808080800041106b220224808080800002400240024002400240024002402001280204200128020c22034b0d00024020012802082203280208220420032802102205470d00410121050c070b200541016a2206450d02200620044b0d032003280204210420032006360210200420056a2d000021030c010b2001200341016a36020c200128020020036a2d000021030b0240024002400240024020034103710e0400020301000b200341fc01714102762101410021050c080b41012105200341ff01714104490d020c060b200241003b010a200220033a000a4101210520012002410a6a410172410110858c8080000d0520022f010a2203418002490d0620034102762101410021050c060b20024100360204200220033a0004410121052001200241046a410172410310858c8080000d032002280204220341027621012003418080044921050c050b2002410036020c024020012002410c6a410410858c808000450d000c050b200228020c22014180808080044921050c040b417f2006418486cb8000109581808000000b20062004418486cb8000109181808000000b0c010b0b2000200136020420002005360200200241106a2480808080000be90304047f017e017f017e410121020240024020012802082203280200220428020422050d00410121040c010b20042005417f6a36020420042004280200220541016a3602002001427f200129030042017c22062006501b37030020052d00002105410021040b024002402004410171450d000c010b02400240024002400240024020054103710e0400010402000b200541fc01714102762104410021020c050b2003280200220428020422030d010c040b200541ff01714104490d020c030b20042003417f6a3602044101210220042004280200220341016a3602002001427f200129030042017c22062006501b370300024020032d000022010d000c030b2001410874200541fc0171724102762104410021020c020b2003280200220328020422074103490d0120032007417d6a36020420032003280200220441036a3602002001427f2001290300220642037c220820082006541b37030020042f0000200441026a2d0000411074722201410874200541fc017172410276210420014180024921020c010b2003280200220528020422034104490d0020052003417c6a36020420052005280200220441046a3602002001427f2001290300220642047c220820082006541b370300200428000022044180808080044921020b20002004360204200020023602000bcc0304047f017e017f017e41012102024002402001280208220328020422040d0041002105410121040c010b20032004417f6a220536020420032003280200220441016a3602002001427f200129030042017c22062006501b37030020042d00002107410021040b024002402004410171450d000c010b02400240024002400240024020074103710e0400010402000b200741fc01714102762104410021020c050b20050d010c040b200741ff01714104490d020c030b20032005417f6a3602044101210220032003280200220441016a3602002001427f200129030042017c22062006501b370300024020042d000022010d000c030b2001410874200741fc0171724102762104410021020c020b20054103490d0120032005417d6a36020420032003280200220241036a3602002001427f2001290300220642037c220820082006541b37030020022f0000200241026a2d0000411074722201410874200741fc017172410276210420014180024921020c010b20054104490d0020032005417c6a36020420032003280200220241046a3602002001427f2001290300220642047c220820082006541b370300200228000022044180808080044921020b20002004360204200020023602000be90905037f017e017f037e047f02402001280200220128020c2202280208280200220328020422040d00200042013703000f0b20032004417f6a36020420032003280200220441016a3602002002427f200229030042017c22052005501b37030020042d00002203ad21050240200128020020012802082204470d002001200441014101410110a386808000200128020821040b200542ff018321052001200441016a2202360208200128020420046a20033a0000024002400240024002400240024002400240024020034103710e0403000102030b0240200128020c2204280208280200220328020422060d00200042013703000f0b20032006417f6a36020420032003280200220641016a360200420121072004427f200429030042017c22082008501b37030020062d00002103024020012802002002470d002001200241014101410110a386808000200128020821020b2001200241016a360208200128020420026a20033a0000200341ff0171450d072003ad42ff018342088620058442028821050c080b42012107200128020c2204280208280200220328020422064103490d0620032006417d6a36020420032003280200220641036a3602002004427f2004290300220842037c220920092008541b37030020062f0000200641026a2d00004110747221030240200128020020026b41024b0d002001200241034101410110a386808000200128020821020b2001200241036a360208200128020420026a220120033b0000200141026a20034110763a0000200341ffffff0771418002490d062003ad42ffffff078342088620058442028821050c070b2003410276413f71220a0e050201010103010b200341fc0171410276ad21050c050b200341ff017141134d0d02200042013703000f0b42012107200128020c2204280208280200220328020422064104490d0220032006417c6a36020420032003280200220641046a3602002004427f2004290300220542047c220820082005541b370300200628000021030240200128020020026b41034b0d002001200241044101410110a386808000200128020821020b2001200241046a360208200128020420026a20033600002003418080808004490d022003ad21050c030b42012107200128020c2204280208280200220328020422064108490d012003200641786a36020420032003280200220641086a3602002004427f2004290300220542087c220820082005541b370300200629000021050240200128020020026b41074b0d002001200241084101410110a386808000200128020821020b2001200241086a360208200128020420026a2005370000200542ffffffffffffffff00560d020c010b200a41046a210b420021054100210c4201210741012104034020042103200128020c22062802082802002204280204220d450d012004200d417f6a36020420042004280200220d41016a3602002006427f200629030042017c22082008501b370300200d2d00002206ad42ff018321080240024020012802002002460d00200221040c010b2001200241014101410110a386808000200128020821040b2001200441016a2202360208200128020420046a20063a0000200341016a21042008200c410374413871ad8620058421052003210c200341ff0171200b490d000b2005427f4128200a4103746b413871ad88560d010b200020073703000f0b20002005370308200042003703000bf30303057f027e037f0240024020012802042202450d0020012002417f6a220336020420012001280200220441016a220536020020042d00002206ad2107024002400240024002400240024020064103710e0403000102030b2003450d0620012002417e6a3602042001200441026a36020020043100012208500d06200842088620078442028821070c070b20024104490d0520012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722201418002490d052001ad42088620078442028821070c060b200641027622090e050201010103010b2006410276ad21070c040b200641134b0d02200941046a210a2002417e6a21024200210741002103410121060340200621042002417f460d03200120023602042001200541016a220b3602002002417f6a2102200441016a210620053100002003410374413871ad862007842107200b210520042103200441ff0171200a490d000b2007427f412820094103746b413871ad88560d030c020b20024105490d0120012002417b6a3602042001200441056a36020020042800012201418080808004490d012001ad21070c020b20024109490d002001200241776a3602042001200441096a3602002004290001220742ffffffffffffffff00560d010b200042013703000f0b20002007370308200042003703000bd70905037f017e017f037e047f02402001280200220128020c2202280208220328020422040d00200042013703000f0b20032004417f6a36020420032003280200220441016a3602002002427f200229030042017c22052005501b37030020042d00002203ad21050240200128020020012802082204470d002001200441014101410110a386808000200128020821040b200542ff018321052001200441016a2202360208200128020420046a20033a0000024002400240024002400240024002400240024020034103710e0403000102030b0240200128020c2204280208220328020422060d00200042013703000f0b20032006417f6a36020420032003280200220641016a360200420121072004427f200429030042017c22082008501b37030020062d00002103024020012802002002470d002001200241014101410110a386808000200128020821020b2001200241016a360208200128020420026a20033a0000200341ff0171450d072003ad42ff018342088620058442028821050c080b42012107200128020c2204280208220328020422064103490d0620032006417d6a36020420032003280200220641036a3602002004427f2004290300220842037c220920092008541b37030020062f0000200641026a2d00004110747221030240200128020020026b41024b0d002001200241034101410110a386808000200128020821020b2001200241036a360208200128020420026a220120033b0000200141026a20034110763a0000200341ffffff0771418002490d062003ad42ffffff078342088620058442028821050c070b2003410276413f71220a0e050201010103010b200341fc0171410276ad21050c050b200341ff017141134d0d02200042013703000f0b42012107200128020c2204280208220328020422064104490d0220032006417c6a36020420032003280200220641046a3602002004427f2004290300220542047c220820082005541b370300200628000021030240200128020020026b41034b0d002001200241044101410110a386808000200128020821020b2001200241046a360208200128020420026a20033600002003418080808004490d022003ad21050c030b42012107200128020c2204280208220328020422064108490d012003200641786a36020420032003280200220641086a3602002004427f2004290300220542087c220820082005541b370300200629000021050240200128020020026b41074b0d002001200241084101410110a386808000200128020821020b2001200241086a360208200128020420026a2005370000200542ffffffffffffffff00560d020c010b200a41046a210b420021054100210c4201210741012104034020042103200128020c22062802082204280204220d450d012004200d417f6a36020420042004280200220d41016a3602002006427f200629030042017c22082008501b370300200d2d00002206ad42ff018321080240024020012802002002460d00200221040c010b2001200241014101410110a386808000200128020821040b2001200441016a2202360208200128020420046a20063a0000200341016a21042008200c410374413871ad8620058421052003210c200341ff0171200b490d000b2005427f4128200a4103746b413871ad88560d010b200020073703000f0b20002005370308200042003703000b810805047f047e027f017e037f23808080800041206b22022480808080000240024020012802082203280200220428020422050d00410121040c010b20042005417f6a36020420042004280200220541016a3602002001427f200129030042017c22062006501b37030020052d00002105410021040b4200210742012106024020044101710d00024002400240024002400240024002400240024020054103710e0403000102030b200328020022042802042203450d0920042003417f6a36020420042004280200220341016a360200420121062001427f200129030042017c22082008501b37030020032d00002201450d092001410874200541fc017172410276ad21090c070b2003280200220428020422034103490d0820042003417d6a36020420042004280200220341036a3602002001427f2001290300220842037c220920092008541b37030020032f0000200341026a2d0000411074722201418002490d082001410874200541fc017172410276ad21090c060b2005410276413f71220a0e0d04010101030101010101010102010b200541fc0171410276ad21090c040b200541ff017141334b0d05200a41046a210b2001290300210c2003280200220d28020421054100210e4101210342002109420021080340200321040240024020050d0041002105410121030c010b200d2005417f6a2205360204200d200d280200220341016a3602002001427f200c42017c22062006501b220c37030020032d0000210f410021030b420021074201210620034101710d06200241106a200fad42ff01834200200e41037441f8007110fd97808000200441016a210320022903182008842108200229031020098421092004210e200441ff0171200b490d000b2002427f427f41e800200a4103746b41f80071108198808000200920022903005620082002290308220c562008200c511b0d040c050b2003280200220428020422054110490d042004200541706a36020420042004280200220541106a3602002001427f2001290300220842107c220920092008541b3703002005290008220842ffffffffffffffff00580d04200529000021090c030b2003280200220428020422054108490d032004200541786a36020420042004280200220541086a3602002001427f2001290300220842087c220920092008541b37030020052900002209428080808080808080015a0d010c030b2003280200220428020422054104490d0220042005417c6a36020420042004280200220541046a3602002001427f2001290300220842047c220920092008541b37030020052800002201418080808004490d022001ad21090b420021080b200020093703102000200837031842002106420021070b2000200637030020002007370308200241206a2480808080000b850c08017f017e037f017e027f027e037f017e23808080800041206b220224808080800042002103024002402001280200220128020c2204280208280200220528020422060d00420121070c010b20052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021050240200128020020012802082206470d002001200641014101410110a386808000200128020821060b2001200641016a2204360208200128020420066a20053a00000240024002400240024002400240024002400240024020054103710e0403000102030b0240200128020c2208280208280200220628020422090d00420121070c0b0b20062009417f6a36020420062006280200220941016a360200420121072008427f200829030042017c220a200a501b37030020092d00002106024020012802002004470d002001200441014101410110a386808000200128020821040b2001200441016a360208200128020420046a20063a0000200641ff0171450d0a200641087420057241fcff0371410276ad210a0c080b42012107200128020c2208280208280200220628020422094103490d0920062009417d6a36020420062006280200220941036a3602002008427f2008290300220a42037c220b200b200a541b37030020092f0000200941026a2d00004110747221060240200128020020046b41024b0d002001200441034101410110a386808000200128020821040b2001200441036a360208200128020420046a220120063b0000200141026a20064110763a0000200641ffffff0771418002490d092006410874200572410276ad210a0c070b2005410276220c0e0d02010101030101010101010104010b2005410276ad210a0c050b200541334d0d03420121070c060b42012107200128020c2206280208280200220528020422084104490d0520052008417c6a36020420052005280200220841046a3602002006427f2006290300220a42047c220b200b200a541b370300200828000021050240200128020020046b41034b0d002001200441044101410110a386808000200128020821040b2001200441046a360208200128020420046a20053600002005418080808004490d052005ad210a0c030b42012107200128020c2206280208280200220528020422084108490d042005200841786a36020420052005280200220841086a3602002006427f2006290300220a42087c220b200b200a541b3703002008290000210a0240200128020020046b41074b0d002001200441084101410110a386808000200128020821040b2001200441086a360208200128020420046a200a370000200a428080808080808080015a0d020c040b42012107200128020c2206280208280200220528020422084110490d032005200841706a36020420052005280200220841106a3602002006427f2006290300220a42107c220b200b200a541b3703002008290008210b2008290000210a0240200128020020046b410f4b0d002001200441104101410110a386808000200128020821040b2001200441106a360208200128020420046a2201200b3700082001200a370000200b42ffffffffffffffff00560d020c030b200c41046a210d420021034100210942012107410121064200210a4200210b034020062105200128020c22082802082802002206280204220e450d032006200e417f6a36020420062006280200220e41016a3602002008427f200829030042017c220f200f501b370300200e2d000021060240024020012802002004460d00200421080c010b2001200441014101410110a386808000200128020821080b2001200841016a2204360208200128020420086a20063a0000200241106a2006ad42ff01834200200941037441f8007110fd97808000200541016a21062002290318200b84210b2002290310200a84210a20052109200541ff0171200d490d000b2002427f427f41e800200c4103746b41f80071108198808000200a200229030056200b2002290308220f56200b200f511b0d010c020b4200210b0b2000200a3703102000200b37031842002107420021030b2000200737030020002003370308200241206a2480808080000bf00b08017f017e037f017e027f027e037f017e23808080800041206b220224808080800042002103024002402001280200220128020c2204280208220528020422060d00420121070c010b20052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021050240200128020020012802082206470d002001200641014101410110a386808000200128020821060b2001200641016a2204360208200128020420066a20053a00000240024002400240024002400240024002400240024020054103710e0403000102030b0240200128020c2208280208220628020422090d00420121070c0b0b20062009417f6a36020420062006280200220941016a360200420121072008427f200829030042017c220a200a501b37030020092d00002106024020012802002004470d002001200441014101410110a386808000200128020821040b2001200441016a360208200128020420046a20063a0000200641ff0171450d0a200641087420057241fcff0371410276ad210a0c080b42012107200128020c2208280208220628020422094103490d0920062009417d6a36020420062006280200220941036a3602002008427f2008290300220a42037c220b200b200a541b37030020092f0000200941026a2d00004110747221060240200128020020046b41024b0d002001200441034101410110a386808000200128020821040b2001200441036a360208200128020420046a220120063b0000200141026a20064110763a0000200641ffffff0771418002490d092006410874200572410276ad210a0c070b2005410276220c0e0d02010101030101010101010104010b2005410276ad210a0c050b200541334d0d03420121070c060b42012107200128020c2206280208220528020422084104490d0520052008417c6a36020420052005280200220841046a3602002006427f2006290300220a42047c220b200b200a541b370300200828000021050240200128020020046b41034b0d002001200441044101410110a386808000200128020821040b2001200441046a360208200128020420046a20053600002005418080808004490d052005ad210a0c030b42012107200128020c2206280208220528020422084108490d042005200841786a36020420052005280200220841086a3602002006427f2006290300220a42087c220b200b200a541b3703002008290000210a0240200128020020046b41074b0d002001200441084101410110a386808000200128020821040b2001200441086a360208200128020420046a200a370000200a428080808080808080015a0d020c040b42012107200128020c2206280208220528020422084110490d032005200841706a36020420052005280200220841106a3602002006427f2006290300220a42107c220b200b200a541b3703002008290008210b2008290000210a0240200128020020046b410f4b0d002001200441104101410110a386808000200128020821040b2001200441106a360208200128020420046a2201200b3700082001200a370000200b42ffffffffffffffff00560d020c030b200c41046a210d420021034100210942012107410121064200210a4200210b034020062105200128020c22082802082206280204220e450d032006200e417f6a36020420062006280200220e41016a3602002008427f200829030042017c220f200f501b370300200e2d000021060240024020012802002004460d00200421080c010b2001200441014101410110a386808000200128020821080b2001200841016a2204360208200128020420086a20063a0000200241106a2006ad42ff01834200200941037441f8007110fd97808000200541016a21062002290318200b84210b2002290310200a84210a20052109200541ff0171200d490d000b2002427f427f41e800200c4103746b41f80071108198808000200a200229030056200b2002290308220f56200b200f511b0d010c020b4200210b0b2000200a3703102000200b37031842002107420021030b2000200737030020002003370308200241206a2480808080000bc80707047f017e017f037e027f017e027f23808080800041206b2202248080808000024002402001280208220328020422040d0041002105410121040c010b20032004417f6a220536020420032003280200220441016a3602002001427f200129030042017c22062006501b37030020042d00002107410021040b4200210842012106024020044101710d00024002400240024002400240024002400240024020074103710e0403000102030b2005450d0920032005417f6a36020420032003280200220441016a360200420121062001427f200129030042017c22092009501b37030020042d00002201450d092001410874200741fc017172410276ad210a0c070b20054103490d0820032005417d6a36020420032003280200220441036a3602002001427f2001290300220942037c220a200a2009541b37030020042f0000200441026a2d0000411074722201418002490d082001410874200741fc017172410276ad210a0c060b2007410276413f71220b0e0d04010101030101010101010102010b200741fc0171410276ad210a0c040b200741ff017141334b0d05200b41046a210c2001290300210d4100210e410121074200210a420021090340200721040240024020050d0041002105410121070c010b20032005417f6a220536020420032003280200220741016a3602002001427f200d42017c22062006501b220d37030020072d0000210f410021070b420021084201210620074101710d06200241106a200fad42ff01834200200e41037441f8007110fd97808000200441016a2107200229031820098421092002290310200a84210a2004210e200441ff0171200c490d000b2002427f427f41e800200b4103746b41f80071108198808000200a20022903005620092002290308220d562009200d511b0d040c050b20054110490d042003200541706a36020420032003280200220441106a3602002001427f2001290300220942107c220a200a2009541b3703002004290008220942ffffffffffffffff00580d042004290000210a0c030b20054108490d032003200541786a36020420032003280200220441086a3602002001427f2001290300220942087c220a200a2009541b3703002004290000220a428080808080808080015a0d010c030b20054104490d0220032005417c6a36020420032003280200220441046a3602002001427f2001290300220942047c220a200a2009541b37030020042800002201418080808004490d022001ad210a0b420021090b2000200a3703102000200937031842002106420021080b2000200637030020002008370308200241206a2480808080000bb904010d7f23808080800041206b22022480808080000240024020002802042203200028020c2204460d002001280208210520012802042106200128020021070340200020032201410c6a2203360204200241086a41086a2208200141086a2802002209360200200220012902003703082001280204210a2001280200210b02400240024002402009450d0020072d0000450d022006280204210c02402006280208220d450d00200d410c6c210e200c41086a21010340024020012802002009470d002001417c6a280200200a200910f597808000450d040b2001410c6a2101200e41746a220e0d000b0b0240200d2006280200470d00200641a09ac480001096868080002006280204210c0b200c200d410c6c6a22012002290308370200200141086a20082802003602002006200d41016a3602080c030b200741013a00000b200b450d01200a200a417e6a2f00006b41002802ec82d48000118180808000000c010b200b418080808078460d002005280208220141ffff004b0d03024020012005280200470d00200541a497c480001096868080000b20052802042001410c6c6a220e2009360208200e200a360204200e200b3602002005200141016a3602080b20032004470d000b0b02402000280208450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000f0b2002200936021c2002200a3602182002200b36021441d498c4800041cd00200241146a41c498c4800041909ac4800010a981808000000bbb1901137f2380808080004180036b2203248080808000024020012802042204200128020c2205460d00200241c1006a210620022d00402107200341206a41016a2108034020012004220941216a2204360204200341e0006a41386a200241386a220a290000370300200341e0006a41306a200241306a220b290000370300200341e0006a41286a200241286a220c290000370300200341e0006a41206a200241206a220d290000370300200341e0006a41186a200241186a220e290000370300200341e0006a41106a200241106a220f290000370300200341e0006a41086a200241086a221029000037030020032002290000370360200320022d00413a00bf01200320022d00423a00be01200320022d00433a00bd01200320022d00443a00bc01200320022d00453a00bb01200320022d00463a00ba01200320022d00473a00b901200320022d00483a00b801200320022d00493a00b701200320022d004a3a00b601200320022d004b3a00b501200320022d004c3a00b401200320022d004d3a00b301200320022d004e3a00b201200320022d004f3a00b101200320022d00503a00b001200320022d00513a00af01200320022d00523a00ae01200320022d00533a00ad01200320022d00543a00ac01200320022d00553a00ab01200320022d00563a00aa01200320022d00573a00a901200320022d00583a00a801200320022d00593a00a701200320022d005a3a00a601200320022d005b3a00a501200320022d005c3a00a401200320022d005d3a00a301200320022d005e3a00a201200320022d005f3a00a101200320022d00603a00a001200941016a211102400240024020092d0000410171450d0020082011290000370000200841186a201141186a290000370000200841106a201141106a290000370000200841086a201141086a290000370000200341013a0020200341c0016a200341e0006a200341206a410110b893808000200341a0026a41086a2211200341c0016a41086a2212290000370300200341a0026a41106a2209200341c0016a41106a2213290000370300200341a0026a41186a2214200341c0016a41186a2215290000370300200320032900c0013703a002200341c0016a200341a0026a410110d592808000200320032d00a0023a00e002200320032d00a1023a00df02200320032d00a2023a00de02200320032d00a3023a00dd02200320032d00a4023a00dc02200320032d00a5023a00db02200320032d00a6023a00da02200320032d00a7023a00d902200320112d00003a00d802200320032d00a9023a00d702200320032d00aa023a00d602200320032d00ab023a00d502200320032d00ac023a00d402200320032d00ad023a00d302200320032d00ae023a00d202200320032d00af023a00d102200320092d00003a00d002200320032d00b1023a00cf02200320032d00b2023a00ce02200320032d00b3023a00cd02200320032d00b4023a00cc02200320032d00b5023a00cb02200320032d00b6023a00ca02200320032d00b7023a00c902200320142d00003a00c802200320032d00b9023a00c702200320032d00ba023a00c602200320032d00bb023a00c502200320032d00bc023a00c402200320032d00bd023a00c302200320032d00be023a00c202200320032d00bf023a00c1022007410171450d01200320022d00423a00ff02200320022d00433a00fe02200320022d00443a00fd02200320022d00453a00fc02200320022d00463a00fb02200320022d00473a00fa02200320022d00483a00f902200320022d00493a00f802200320022d004a3a00f702200320022d004b3a00f602200320022d004c3a00f502200320022d004d3a00f402200320022d004e3a00f302200320022d004f3a00f202200320022d00503a00f102200320022d00513a00f002200320022d00523a00ef02200320022d00533a00ee02200320022d00543a00ed02200320022d00553a00ec02200320022d00563a00eb02200320022d00573a00ea02200320022d00583a00e902200320022d00593a00e802200320022d005a3a00e702200320022d005b3a00e602200320022d005c3a00e502200320022d005d3a00e402200320022d005e3a00e302200320022d005f3a00e202200320022d00603a00e102200341186a2014290300370300200341106a2009290300370300200341086a2011290300370300200320032903a002370300200341003a0020200341003a00ff02200341003a00fe02200341003a00fd02200341003a00fc02200341003a00fb02200341003a00fa02200341003a00f902200341003a00f802200341003a00f702200341003a00f602200341003a00f502200341003a00f402200341003a00f302200341003a00f202200341003a00f102200341003a00f002200341003a00ef02200341003a00ee02200341003a00ed02200341003a00ec02200341003a00eb02200341003a00ea02200341003a00e902200341003a00e802200341003a00e702200341003a00e602200341003a00e502200341003a00e402200341003a00e302200341003a00e202200341003a00e102200341206a41386a200341c0016a41386a290000370300200341206a41306a200341c0016a41306a290000370300200341206a41286a200341c0016a41286a290000370300200341206a41206a200341c0016a41206a290000370300200341206a41186a2015290000370300200341206a41106a2013290000370300200341206a41086a2012290000370300200320032900c001370320410121070c020b200341a0026a41186a201141186a290000370300200341a0026a41106a201141106a290000370300200341a0026a41086a201141086a290000370300200320112900003703a002200341c0016a200341e0006a200341a0026a410110848c808000200341206a41086a200341c0016a41086a290000370300200341206a41106a200341c0016a41106a290000370300200341206a41186a200341c0016a41186a290000370300200341206a41206a200341c0016a41206a290000370300200341206a41286a200341c0016a41286a290000370300200341206a41306a200341c0016a41306a290000370300200341206a41386a200341c0016a41386a290000370300200320032900c001370320200741ff01712111410021072011450d0141002107200341003a00bf01200341003a00be01200341003a00bd01200341003a00bc01200341003a00bb01200341003a00ba01200341003a00b901200341003a00b801200341003a00b701200341003a00b601200341003a00b501200341003a00b401200341003a00b301200341003a00b201200341003a00b101200341003a00b001200341003a00af01200341003a00ae01200341003a00ad01200341003a00ac01200341003a00ab01200341003a00aa01200341003a00a901200341003a00a801200341003a00a701200341003a00a601200341003a00a501200341003a00a401200341003a00a301200341003a00a201200341003a00a101200341003a00a0010c010b41002107200341003a00e002200341003a00df02200341003a00de02200341003a00dd02200341003a00dc02200341003a00db02200341003a00da02200341003a00d902200341003a00d802200341003a00d702200341003a00d602200341003a00d502200341003a00d402200341003a00d302200341003a00d202200341003a00d102200341003a00d002200341003a00cf02200341003a00ce02200341003a00cd02200341003a00cc02200341003a00cb02200341003a00ca02200341003a00c902200341003a00c802200341003a00c702200341003a00c602200341003a00c502200341003a00c402200341003a00c302200341003a00c202200341003a00c102200341206a41386a200341c0016a41386a290000370300200341206a41306a200341c0016a41306a290000370300200341206a41286a200341c0016a41286a290000370300200341206a41206a200341c0016a41206a290000370300200341206a41186a2015290000370300200341206a41106a2013290000370300200341206a41086a2012290000370300200320032900c0013703200b200341e0006a10d892808000200a200341206a41386a290300370000200b200341206a41306a290300370000200c200341206a41286a290300370000200d200341206a41206a290300370000200e200341206a41186a290300370000200f200341206a41106a2903003700002010200341206a41086a29030037000020022003290320370000200220073a004020062003290300370000200641086a200341086a290300370000200641106a200341106a290300370000200641186a200341186a29030037000020042005470d000b0b2000200241e10010f4978080001a02402001280208450d00200128020022022002417e6a2f00006b41002802ec82d48000118180808000000b20034180036a2480808080000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000bbb0404027f017e047f017e23808080800041206b220224808080800002400240200028020022032903002204423f560d002004a741027421030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20033a00000c010b0240200442ffff00560d002004a7410274410172210302402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20033b00000c010b0240200442ffffffff03560d002004a7410274410272210302402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20033600000c010b4113200479a741037622054102746b21060240200128020020012802082207470d0020012007410110f491808000200128020821070b2001200741016a22003602082001280204220820076a20063a0000200541786a2107200329030021090340200921040240024020012802002000460d00200021030c010b20012000410110f49180800020012802042108200128020821030b2001200341016a2200360208200820036a2004a73a000020044208882109200741016a22070d000b200220093703002004428002540d002002420037021420024281808080c00037020c200241a893c480003602084100200241e092c48000200241086a41b093c48000108581808000000b200241206a2480808080000b8b0504027f027e047f027e23808080800041306b220224808080800002400240200028020022032903002204423f5620032903082205420052220620055022001b0d002004a741027421030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20033a00000c010b0240200442ffff0056200620001b0d002004a7410274410172210302402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20033b00000c010b0240200442ffffffff03562005420052220620001b0d002004a7410274410272210302402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20033600000c010b413320057920047942c0007c20061ba741037622074102746b21080240200128020020012802082206470d0020012006410110f491808000200128020821060b2001200641016a22003602082001280204220920066a20083a0000200741706a21062003290308210a2003290300210b0340200a2104200b21050240024020012802002000460d00200021030c010b20012000410110f49180800020012802042109200128020821030b2001200341016a2200360208200920036a2005a73a00002005420888200442388684210b2004420888210a200641016a22060d000b2002200b3703002002200a37030820054280025441002004501b0d002002420037022420024281808080c00037021c200241a893c480003602184100200241e093c48000200241186a41f093c4800010d097808000000b200241306a2480808080000b0a00200010e0848080000bee0a04077f017e017f017e23808080800041d0006b2201248080808000200141286a419f94c48000410641b794c48000411b4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024104360224200241d894c48000360220200241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc1337030820024106360204200241d294c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421052001280218210620012802282107200129022c2108200141106a41086a22094100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c0006a41086a220341013602002002420437022c2002420c370224200241ce92c380003602202002410b36021c200241da92c38000360218200241bc80808000360210200120012902103703400240200328020022032001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c200242063702242002418693c380003602202002410636021c2002418093c380003602182002419f818080003602102002428f9096e9a7fcdea318370308200242a1b7c9b2e6acc3d92a3703002009200341016a220336020020012001290340220a37031002402003200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200341386c6a2202420437022c2002420c370224200241ce92c380003602202002410a36021c200241c492c38000360218200241bc80808000360210200242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c0006a41086a200341016a220336020020012001290310220a37034002402003200aa7470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c2002420c370224200241ce92c380003602202002410f36021c200241e592c38000360218200241bc80808000360210200242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141106a41086a200341016a220236020020012001290340220a37031002402002200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200241386c22036a2202420437022c20024206370224200241fa92c380003602202002410636021c200241f492c38000360218200241c8808080003602102002428d8cb3f8c0c2e5ae72370308200242e2cda9ec8fb5f7cd103703002001280214210220012001280210360248200120023602402001200220036a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002007418080808078460d012001200436021820012005360210200120053602142001200520064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200837023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bc60703067f017e017f23808080800041d0006b2201248080808000200141286a41dc94c48000410841e494c4800041234104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241ec80808000360238200242e2e68fceaa92ce9c7b370330200242e987d8bed5a3d0fbfb00370328200241073602242002418995c48000360220200241ea80808000360218200242bfedf48291abd3ae3a370310200242b0b4d4ade1aceba9ad7f370308200241023602042002418795c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242bfedf48291abd3ae3a370308200242b0b4d4ade1aceba9ad7f370300200141c0006a41086a220841013602002002420437022c20024202370224200241aeb4c380003602202002410236021c200241acb4c38000360218200241ea80808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22086a2202420437022c20024207370224200241a5b4c380003602202002410636021c2002419fb4c38000360218200241ec80808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bc80703067f017e017f23808080800041d0006b2201248080808000200141286a41dc94c48000410841e494c4800041234104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241ec80808000360238200242e2e68fceaa92ce9c7b370330200242e987d8bed5a3d0fbfb00370328200241073602242002418995c480003602202002418481808000360218200242d9d1a5958acddccda77f370310200242bb82a2f99fad8c91c100370308200241023602042002418795c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242d9d1a5958acddccda77f370308200242bb82a2f99fad8c91c100370300200141c0006a41086a220841013602002002420437022c20024202370224200241aeb4c380003602202002410236021c200241acb4c380003602182002418481808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22086a2202420437022c20024207370224200241a5b4c380003602202002410636021c2002419fb4c38000360218200241ec80808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000b880703067f017e017f23808080800041d0006b2201248080808000200141106a41186a419798c48000411341aa98c4800041184104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241c580808000360218200242cdd1c1cbe3b5a3c444370310200242b9e0ddc2f1d2dbbf4c370308200241023602042002418795c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242cdd1c1cbe3b5a3c444370308200242b9e0ddc2f1d2dbbf4c370300200141c0006a41086a220841013602002002420437022c20024202370224200241aeb4c380003602202002410936021c200241c5f3c38000360218200241c580808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22086a2202420437022c20024213370224200241cef3c380003602202002410436021c2002418b9cc38000360218200241ed8080800036021020024296e397c6bfa5aeee46370308200242aceff0b4f2bd8f8fe4003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000b9e0804067f017e017f017e23808080800041d0006b2201248080808000200141286a41b09ac48000410841b89ac4800041334104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bc80808000360218200242ec8ca7e0e2f0c7e6bf7f370310200242e6e2dea393f0baf43a370308200241013602042002419598c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242f2f6c78492f5abbf17370308200242cb8af4fff0fbf9c26b370300200141c0006a41086a220841013602002002420437022c2002420d37022420024188f5c380003602202002410e36021c200241faf4c38000360218200241a081808000360210200120012902103703400240200828020022082001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200841386c6a2202420437022c20024209370224200241a3f5c380003602202002410e36021c20024195f5c38000360218200241a18180800036021020024290f3c1b99dc0eac8cb00370308200242c1de9bfecdd1dee810370300200141186a200841016a2202360200200120012903402209370310024020022009a7470d00200141106a41ac91c3800010b5928080000b2001280214200241386c22086a2202420437022c20024223370224200241c4f5c380003602202002411836021c200241acf5c38000360218200241a281808000360210200242f6bce8febfd4f3d40137030820024298a897bdf0be82e33d3703002001280214210220012001280210360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000ba30101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000419981808000360218200042a5e9e3ab9e929adc2c37031020004293888c8f89fdc6ec9e7f370308200041063a0000200141106a2480808080000ba40101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000418481808000360218200042d9d1a5958acddccda77f370310200042bb82a2f99fad8c91c100370308200041063a0000200141106a2480808080000ba30101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041ec80808000360218200042e2e68fceaa92ce9c7b370310200042e987d8bed5a3d0fbfb00370308200041063a0000200141106a2480808080000ba20101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041bb80808000360218200042d7c9cb8fc1cf97db3e370310200042e88488d0c0e3aebc13370308200041063a0000200141106a2480808080000be609010b7f23808080800041206b220224808080800002400240200128022c220341c0004f0d00410521030c010b02402003418080014f0d00410621030c010b410841092003418080808004491b21030b410021040240024020032001280208220541146c6a22064100480d0041002d008083d480001a200641002802f482d480001182808080000022040d01410121040b2004200641f895c4800010b980808000000b200220043602082004417e6a41003b00002002410036020c2002200636020441002d008083d480001a024002400240412041002802f482d48000118280808000002203450d002001412c6a21072003417e6a220841003b00002003200129000c370000200341086a2209200141146a290000370000200341106a220a2001411c6a290000370000200341186a220b200141246a2900003700004100210c02402006411f4b0d00200241046a4100412010f49180800020022802082104200228020c210c0b2004200c6a22042003290000370000200441186a200b290000370000200441106a200a290000370000200441086a20092900003700002002200c41206a36020c200320082f00006b41002802ec82d480001181808080000020022007360214200241146a200241046a10dc8480800041002d008083d480001a412041002802f482d48000118280808000002203450d012003417e6a220741003b000020032001290030370000200341086a2208200141386a290000370000200341106a2209200141c0006a290000370000200341186a220a200141c8006a29000037000002402002280204200228020c22066b411f4b0d00200241046a2006412010f491808000200228020c21060b2002280208220c20066a22042003290000370000200441086a2008290000370000200441106a2009290000370000200441186a200a2900003700002002200641206a220436020c200320072f00006b41002802ec82d480001181808080000041002d008083d480001a412041002802f482d48000118280808000002203450d022003417e6a220741003b000020032001290050370000200341086a2208200141d8006a290000370000200341106a2209200141e0006a290000370000200341186a220a200141e8006a2900003700000240200228020420046b411f4b0d00200241046a2004412010f4918080002002280208210c200228020c21040b200c20046a22062003290000370000200641186a200a290000370000200641106a2009290000370000200641086a20082900003700002002200441206a36020c200320072f00006b41002802ec82d480001181808080000020012802042104200220053602102002200241106a360214200241146a200241046a10dc8480800002402005450d00200541146c2105200228020c21010340200241146a200410e896808000200228021821030240200228021c2206200228020420016b4d0d00200241046a2001200610f491808000200228020c21010b200228020820016a2003200610f4978080001a2002200120066a220136020c02402002280214450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200441146a21042005416c6a22050d000b0b20002002290204370200200041086a200241046a41086a280200360200200241206a2480808080000f0b4101412010ab80808000000b4101412010ab80808000000b4101412010ab80808000000bc60703067f017e017f23808080800041d0006b2201248080808000200141286a418094c480004105418594c48000411a4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241a381808000360238200242f38d9e99aae6a6ce6c370330200242cad8edf1c6aacd9b2837032820024109360224200241a594c48000360220200241a48180800036021820024283b0d291daeebdba827f370310200242eab2a8f28eb5b7f134370308200241063602042002419f94c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b592808000200128021422024283b0d291daeebdba827f370308200242eab2a8f28eb5b7f134370300200141c0006a41086a220841013602002002420437022c20024206370224200241aa92c380003602202002410636021c200241a492c38000360218200241a481808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22086a2202420437022c2002420e3702242002419692c380003602202002410a36021c2002418c92c38000360218200241a581808000360210200242baa0bf87b8e4a48dae7f370308200242b5ffdaf2ae8ca6f8dd003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bc60703067f017e017f23808080800041d0006b2201248080808000200141286a41ae94c480004109418594c48000411a4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241a381808000360238200242f38d9e99aae6a6ce6c370330200242cad8edf1c6aacd9b2837032820024109360224200241a594c48000360220200241a48180800036021820024283b0d291daeebdba827f370310200242eab2a8f28eb5b7f134370308200241063602042002419f94c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b592808000200128021422024283b0d291daeebdba827f370308200242eab2a8f28eb5b7f134370300200141c0006a41086a220841013602002002420437022c20024206370224200241aa92c380003602202002410636021c200241a492c38000360218200241a481808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22086a2202420437022c20024214370224200241b092c380003602202002410a36021c2002418c92c38000360218200241a681808000360210200242bdd2f0ecfbe4cfe3ca00370308200242a1e4c5efa2f7a29b9f7f3703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000b8e0301047f23808080800041e0016b2202248080808000200241f0006a200110ed848080000240024020022802702203418080808078470d0020004180808080783602000c010b20022802782104200228027421052002410c6a200241fc006a41e40010f4978080001a2002200110cd848080000240024020022802004101710d00200241f0006a200120022802041093838080002002280270418080808078470d010b200041808080807836020002402004450d00200521010340024020012d0000220041034b0d002001200041027441949ec480006a2802006a2200280200450d00200041046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012004417f6a22040d000b0b2003450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b20002002290270370270200041f8006a200241f8006a2802003602002000410c6a2002410c6a41e40010f4978080001a2000200436020820002005360204200020033602000b200241e0016a2480808080000ba60702077f017e2380808080004180016b220224808080800002400240024002400240024020012802082203200128021022046b4120490d00200441206a21052004415f4b0d03200520034d0d0120052003418486cb8000109181808000000b20004180808080783602000c010b2001280204210320012005360210200241106a41086a200320046a220441086a290000370300200241106a41106a200441106a290000370300200241106a41186a200441186a29000037030020022004290000370310200241086a200110cd8480800002402002280208410171450d0020004180808080783602000c010b0240024020012802082205200128021022046b4120490d00200441206a21032004415f4b0d04200520034f0d0120032005418486cb8000109181808000000b20004180808080783602000c010b200228020c21062001280204210720012003360210200241306a41086a200720046a220841086a290000370300200241306a41106a200841106a290000370300200241306a41186a200841186a2900003703002002200829000037033002400240200520036b4120490d00200441c0006a21042003415f4b0d05200420054d0d0120042005418486cb8000109181808000000b20004180808080783602000c010b20012004360210200241d0006a41086a200720036a220441086a290000370300200241d0006a41106a200441106a290000370300200241d0006a41186a200441186a290000370300200220042900003703502002200110cd848080000240024020022802004101710d00200241f4006a20012002280204109b8380800020022802742201418080808078470d010b20004180808080783602000c010b200229027821092000200229031037000c20002002290330370030200041246a200241106a41186a2903003700002000411c6a200241106a41106a290300370000200041146a200241106a41086a290300370000200041386a200241306a41086a290300370000200041c0006a200241306a41106a290300370000200041c8006a200241306a41186a29030037000020002002290350370050200041d8006a200241d0006a41086a290300370000200041e0006a200241d0006a41106a290300370000200041e8006a200241d0006a41186a2903003700002000200636022c20002009370204200020013602000b20024180016a2480808080000f0b20042005418486cb8000109581808000000b20042003418486cb8000109581808000000b20032004418486cb8000109581808000000bd30702057f017e23808080800041f0026b2202248080808000200241206a41186a22034200370300200241206a41106a22044200370300200241206a41086a22054200370300200242003703200240024002402001200241206a412010858c8080000d0020024190026a41186a200329030037030020024190026a41106a200429030037030020024190026a41086a20052903003703002002200229032037039002200241186a200110d08480800020022802184101710d00200228021c2106200241206a41186a22034200370300200241206a41106a22044200370300200241206a41086a22054200370300200242003703202001200241206a412010858c8080000d00200241b0026a41186a2003290300370300200241b0026a41106a2004290300370300200241b0026a41086a2005290300370300200220022903203703b002200342003703002004420037030020054200370300200242003703202001200241206a412010858c8080000d00200241d0026a41186a200241206a41186a290300370300200241d0026a41106a200241206a41106a290300370300200241d0026a41086a200241206a41086a290300370300200220022903203703d002200241106a200110d08480800020022802104101710d00200241206a2001200228021410968380800020022802202203418080808078470d010b20004180808080783602000c010b200241b4016a20024190026a41086a290300370200200241bc016a20024190026a41106a290300370200200241c4016a20024190026a41186a290300370200200241d8016a200241b0026a41086a290300370200200241e0016a200241b0026a41106a290300370200200241e8016a200241b0026a41186a29030037020020022002290390023702ac01200220022903b0023702d0012002290224210720024188026a200241d0026a41186a29030037020020024180026a200241d0026a41106a290300370200200241f8016a200241d0026a41086a290300370200200220022903d0023702f001200220033602a001200220073702a401200220063602cc01200241086a200110d0848080000240024020022802084101710d00200241d0026a2001200228020c10828380800020022802d002418080808078470d010b2000418080808078360200200241a0016a10a58f8080002003450d012007a722012001417e6a2f00006b41002802ec82d48000118180808000000c010b20024198016a200241d8026a280200360200200220022902d00237029001200241206a200241a0016a41f00010f4978080001a2000200241206a41fc0010f4978080001a0b200241f0026a2480808080000bf50201047f23808080800041e0016b2202248080808000200241f0006a200110f0848080000240024020022802702203418080808078470d0020004180808080783602000c010b20022802782104200228027421052002410c6a200241f0006a410c6a41e40010f4978080001a200241f0006a200110b68f80800002402002280270418080808078470d00200041808080807836020002402004450d00200521000340024020002d0000220141034b0d002000200141027441949ec480006a2802006a2201280200450d00200141046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200041146a21002004417f6a22040d000b0b2003450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b20002002290270370270200041f8006a200241f8006a2802003602002000410c6a2002410c6a41e40010f4978080001a2000200436020820002005360204200020033602000b200241e0016a2480808080000b9d0702077f017e23808080800041f0006b22022480808080000240024020012802042203411f4b0d0020004180808080783602000c010b2001200341606a220436020420012001280200220541206a360200200241086a200541086a290000370300200241106a200541106a290000370300200241186a200541186a29000037030020022005290000370300024002402004450d0020012003415f6a22063602042001200541216a22073602000240024002400240024020052d002022084103710e0403020100030b200841044f0d0420044105490d0420012003415b6a22063602042001200541256a220736020020052800212203418080808004490d040c050b20044104490d0320012003415c6a22063602042001200541246a220736020020052f0021200541236a2d000041107472220541ff014d0d03200541087420087241027621030c040b20060d010c020b200841027621030c020b20012003415e6a22063602042001200541226a220736020020052d00212205450d00200541087420087241027621030c010b20004180808080783602000c010b02402006411f4b0d0020004180808080783602000c010b2001200641606a22043602042001200741206a2205360200200241206a41086a200741086a290000370300200241206a41106a200741106a290000370300200241206a41186a200741186a2900003703002002200729000037032002402004411f4b0d0020004180808080783602000c010b2001200641406a3602042001200741c0006a360200200241c0006a41086a200541086a290000370300200241c0006a41106a200541106a290000370300200241c0006a41186a200541186a29000037030020022005290000370340200241e4006a200110ad8f808000024020022802642201418080808078470d0020004180808080783602000c010b200229026821092000200229030037000c20002002290320370030200041246a200241186a2903003700002000411c6a200241106a290300370000200041146a200241086a290300370000200041386a200241206a41086a290300370000200041c0006a200241206a41106a290300370000200041c8006a200241206a41186a29030037000020002002290340370050200041d8006a200241c0006a41086a290300370000200041e0006a200241c0006a41106a290300370000200041e8006a200241c0006a41186a2903003700002000200336022c20002009370204200020013602000b200241f0006a2480808080000b820a03067f047e037f2380808080004180016b220224808080800002400240024002402001280200220328020c2204280208280200220528020422064120490d002005280200220741186a2900002108200741106a2900002109200741086a290000210a2007290000210b2005200741206a3602002005200641606a360204200241206a41086a2206200a370300200241206a41106a220c2009370300200241206a41186a220d20083703002004427f2004290300220842207c220920092008541b3703002002200b37032002402003280200200328020822076b411f4b0d002003200741204101410110a386808000200328020821070b200328020420076a22052002290320370000200541186a200d290300370000200541106a200c290300370000200541086a20062903003700002003200741206a360208200241086a200110ce8480800002402002280208410171450d0020004180808080783602000c040b200328020c2204280208280200220528020422064120490d01200228020c210e2005280200220741186a2900002108200741106a2900002109200741086a290000210a2007290000210b2005200741206a3602002005200641606a360204200241c0006a41086a2206200a370300200241c0006a41106a220c2009370300200241c0006a41186a220d20083703002004427f2004290300220842207c220920092008541b3703002002200b37034002402003280200200328020822076b411f4b0d002003200741204101410110a386808000200328020821070b200328020420076a22052002290340370000200541186a200d290300370000200541106a200c290300370000200541086a20062903003700002003200741206a2205360208200328020c22062802082802002207280204220c4120490d022007280200220441186a2900002108200441106a2900002109200441086a290000210a2004290000210b2007200441206a3602002007200c41606a360204200241e0006a41086a2204200a370300200241e0006a41106a220c2009370300200241e0006a41186a220d20083703002006427f2006290300220842207c220920092008541b3703002002200b3703600240200328020020056b411f4b0d002003200541204101410110a386808000200328020821050b200328020420056a22072002290360370000200741186a200d290300370000200741106a200c290300370000200741086a20042903003700002003200541206a3602082002200110ce848080000240024020022802004101710d00200241146a20012002280204108b8380800020022802142203418080808078470d010b20004180808080783602000c040b200229021821082000200229032037000c20002002290340370030200041246a200241206a41186a2903003700002000411c6a200241206a41106a290300370000200041146a200241206a41086a290300370000200041386a200241c0006a41086a290300370000200041c0006a200241c0006a41106a290300370000200041c8006a200241c0006a41186a29030037000020002002290360370050200041d8006a200241e0006a41086a290300370000200041e0006a200241e0006a41106a290300370000200041e8006a200241e0006a41186a2903003700002000200e36022c20002008370204200020033602000c030b20004180808080783602000c020b20004180808080783602000c010b20004180808080783602000b20024180016a2480808080000bf90903067f047e037f2380808080004180016b220224808080800002400240024002402001280200220328020c2204280208220528020422064120490d002005280200220741186a2900002108200741106a2900002109200741086a290000210a2007290000210b2005200741206a3602002005200641606a360204200241206a41086a2206200a370300200241206a41106a220c2009370300200241206a41186a220d20083703002004427f2004290300220842207c220920092008541b3703002002200b37032002402003280200200328020822076b411f4b0d002003200741204101410110a386808000200328020821070b200328020420076a22052002290320370000200541186a200d290300370000200541106a200c290300370000200541086a20062903003700002003200741206a360208200241086a200110cf8480800002402002280208410171450d0020004180808080783602000c040b200328020c2204280208220528020422064120490d01200228020c210e2005280200220741186a2900002108200741106a2900002109200741086a290000210a2007290000210b2005200741206a3602002005200641606a360204200241c0006a41086a2206200a370300200241c0006a41106a220c2009370300200241c0006a41186a220d20083703002004427f2004290300220842207c220920092008541b3703002002200b37034002402003280200200328020822076b411f4b0d002003200741204101410110a386808000200328020821070b200328020420076a22052002290340370000200541186a200d290300370000200541106a200c290300370000200541086a20062903003700002003200741206a2205360208200328020c22062802082207280204220c4120490d022007280200220441186a2900002108200441106a2900002109200441086a290000210a2004290000210b2007200441206a3602002007200c41606a360204200241e0006a41086a2204200a370300200241e0006a41106a220c2009370300200241e0006a41186a220d20083703002006427f2006290300220842207c220920092008541b3703002002200b3703600240200328020020056b411f4b0d002003200541204101410110a386808000200328020821050b200328020420056a22072002290360370000200741186a200d290300370000200741106a200c290300370000200741086a20042903003700002003200541206a3602082002200110cf848080000240024020022802004101710d00200241146a2001200228020410a48380800020022802142203418080808078470d010b20004180808080783602000c040b200229021821082000200229032037000c20002002290340370030200041246a200241206a41186a2903003700002000411c6a200241206a41106a290300370000200041146a200241206a41086a290300370000200041386a200241c0006a41086a290300370000200041c0006a200241c0006a41106a290300370000200041c8006a200241c0006a41186a29030037000020002002290360370050200041d8006a200241e0006a41086a290300370000200041e0006a200241e0006a41106a290300370000200041e8006a200241e0006a41186a2903003700002000200e36022c20002008370204200020033602000c030b20004180808080783602000c020b20004180808080783602000c010b20004180808080783602000b20024180016a2480808080000b8b0801097f23808080800041106b220224808080800041002d008083d480001a024002400240412041002802f482d48000118280808000002203450d002003417e6a220441003b00002003200029000c370000200341086a2205200041146a290000370000200341106a22062000411c6a290000370000200341186a2207200041246a29000037000002402001280200200128020822086b411f4b0d0020012008412010f491808000200128020821080b200128020420086a22092003290000370000200941086a2005290000370000200941106a2006290000370000200941186a20072900003700002001200841206a360208200320042f00006b41002802ec82d480001181808080000020022000412c6a360204200241046a200110dc8480800041002d008083d480001a412041002802f482d48000118280808000002203450d012003417e6a220541003b000020032000290030370000200341086a2206200041386a290000370000200341106a2207200041c0006a290000370000200341186a220a200041c8006a29000037000002402001280200200128020822086b411f4b0d0020012008412010f491808000200128020821080b2001280204220420086a22092003290000370000200941086a2006290000370000200941106a2007290000370000200941186a200a2900003700002001200841206a2209360208200320052f00006b41002802ec82d480001181808080000041002d008083d480001a412041002802f482d48000118280808000002203450d022003417e6a220541003b000020032000290050370000200341086a2206200041d8006a290000370000200341106a2207200041e0006a290000370000200341186a220a200041e8006a2900003700000240200128020020096b411f4b0d0020012009412010f49180800020012802042104200128020821090b200420096a22082003290000370000200841186a200a290000370000200841106a2007290000370000200841086a20062900003700002001200941206a360208200320052f00006b41002802ec82d48000118180808000002000280204210920022000280208220036020020022002360204200241046a200110dc8480800002402000450d00200041146c2104200128020821000340200241046a200910e896808000200228020821030240200228020c2208200128020020006b4d0d0020012000200810f491808000200128020821000b200128020420006a2003200810f4978080001a2001200020086a220036020802402002280204450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200941146a21092004416c6a22040d000b0b200241106a2480808080000f0b4101412010ab80808000000b4101412010ab80808000000b4101412010ab80808000000ba10701117f23808080800041106b2204248080808000200441046a200110fe8e80800002400240024020042802042205418080808078460d00200441046a20042802082206200428020c220710f68080800020042802044101470d012005450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c010b200441046a200110fe8e80800002400240024020042802042208418080808078460d00200441046a20042802082209200428020c220a10f68080800020042802044101470d012008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c010b024002402001280204220b41034b0d0020004181808080783602000c010b2001200b417c6a220c36020420012001280200220d41046a3602000240200c41034b0d0020004181808080783602000c010b200d280000210e2001200b41786a220c3602042001200d41086a3602000240200c41034b0d0020004181808080783602000c010b200d280004210f2001200b41746a3602042001200d410c6a360200200d2800082110200441046a200110b28f808000024020042802042211418080808078470d0020004181808080783602000c010b200428020c21122004280208211302400240024020020d002012410c6c21032013417c6a2102024003404100210d024020030d004100210b0c020b200341746a2103200241046a210b2002410c6a220c2102200b29000042dfd5adc696f381b09b7f520d000b200c28020021034101210b0b41012102200b410171450d010b4100210d4101210220034103490d002001280204220b4104490d012001200b417c6a221436020420012001280200220c41046a360200200c280000210220034103460d002014450d012001200b417b6a3602042001200c41056a360200200c2d0004210d0b2000200d3a0034200020023602302000201036022c2000200f3602282000200e360224200020123602202000201336021c200020113602182000200a360214200020093602102000200836020c2000200736020820002006360204200020053602000c030b2000418180808078360200201141808080807872418080808078460d0020132013417e6a2f00006b41002802ec82d48000118180808000000b2008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2005450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200441106a2480808080000bfd0102057f027e23808080800041106b2202248080808000200241046a108686808000200228020821030240200228020c22042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b2001280204220620056a2003200410f4978080001a2001200520046a220536020802402002280204450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20002903082107200029030021080240200128020020056b410f4b0d0020012005411010f49180800020012802042106200128020821050b200620056a22032007370008200320083700002001200541106a360208200241106a2480808080000bb90601087f23808080800041c0026b2202248080808000200241d0016a200110f08480800002400240024020022802d0012203418080808078460d0020022802d801210420022802d4012105200241ec006a200241dc016a41e40010f4978080001a200241d0016a200110b68f80800020022802d0012206418080808078470d0102402004450d00200521010340024020012d0000220741034b0d002001200741027441949ec480006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012004417f6a22040d000b0b2003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20022802d401210820022802d8012109200241086a200241ec006a41e40010f4978080001a200241d0016a200110ae88808000024020022802d0014101470d00200041808080807836020002402004450d00200521010340024020012d0000220741034b0d002001200741027441949ec480006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012004417f6a22040d000b0b02402003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b02402009450d002009410171210041002104024020094101460d002009417e712107410021042008210103402001410c6a200141046a280200200141086a2802002001280200280210118680808000002001411c6a200141146a280200200141186a280200200141106a28020028021011868080800000200141206a21012007200441026a2204470d000b0b2000450d00200820044104746a2201410c6a200128020420012802082001280200280210118680808000000b2006450d0120082008417e6a2f00006b41002802ec82d48000118180808000000c010b200020022902d40137027c20004184016a200241d0016a410c6a2802003602002000410c6a200241086a41e40010f4978080001a2000200936027820002008360274200020063602702000200436020820002005360204200020033602000b200241c0026a2480808080000b9f0301057f23808080800041206b22032480808080002000280208210441002d008083d480001a02402004410574410472220541002802f482d48000118280808000002206450d00200320063602102006417e6a41003b0000200341003602142003200536020c20002802042100200320043602182003200341186a36021c2003411c6a2003410c6a10dc848080000240024020040d0020032802142104200328021021070c010b200441057421052003280214210403400240200328020c20046b411f4b0d002003410c6a2004412010f491808000200328021421040b2003280210220720046a22062000290000370000200641086a200041086a290000370000200641106a200041106a290000370000200641186a200041186a2900003700002003200441206a2204360214200041206a2100200541606a22050d000b0b200328020c2100200120022007200441002802dc82d480001183808080000002402000450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000f0b4101200541f895c4800010b980808000000b970201037f23808080800041206b220424808080800041002d008083d480001a0240200141386c410472220541002802f482d48000118280808000002206450d002006417e6a41003b000020044100360214200420063602102004200536020c200420013602182004200441186a36021c2004411c6a2004410c6a10dc8480800002402001450d00200141386c2101034020002004410c6a10f984808000200041386a2100200141486a22010d000b0b200428020c21012002200320042802102200200428021441002802dc82d480001183808080000002402001450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000f0b4101200541f895c4800010b980808000000bfa0201057f20002802002102024020012802002203200128020822046b41034b0d0020012004410410f49180800020012802002103200128020821040b2001200441046a22053602082001280204220620046a2002360000200028020421040240200320056b41034b0d0020012005410410f49180800020012802042106200128020821050b2001200541046a360208200620056a2004360000200041086a200110b788808000200041146a200110be898080000240024020002d003522044102460d0002402001280200220320012802082205470d0020012005410110f49180800020012802002103200128020821050b2001200541016a22003602082001280204220620056a41013a0000024020032000470d0020012003410110f49180800020012802042106200128020821000b200620006a20043a00000c010b0240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41003a00000b2001200041016a3602080bb00601057f20002802082102024020012802002203200128020822046b41034b0d0020012004410410f49180800020012802002103200128020821040b2001200441046a22053602082001280204220620046a2002360000200028020c21020240200320056b41034b0d0020012005410410f4918080002001280200210320012802042106200128020821050b2001200541046a2204360208200620056a2002360000200028021021050240200320046b41034b0d0020012004410410f49180800020012802042106200128020821040b200620046a20053600002001200441046a22053602082000280214210202402001280200220320056b41034b0d0020012005410410f49180800020012802002103200128020821050b2001200541046a22043602082001280204220620056a2002360000200028021821020240200320046b41034b0d0020012004410410f4918080002001280200210320012802042106200128020821040b2001200441046a2205360208200620046a2002360000200028021c21040240200320056b41034b0d0020012005410410f49180800020012802042106200128020821050b200620056a20043600002001200541046a22053602082000280220210202402001280200220320056b41034b0d0020012005410410f49180800020012802002103200128020821050b2001200541046a22043602082001280204220620056a2002360000200028022421020240200320046b41034b0d0020012004410410f4918080002001280200210320012802042106200128020821040b2001200441046a2205360208200620046a2002360000200028022821040240200320056b41034b0d0020012005410410f49180800020012802042106200128020821050b200620056a20043600002001200541046a22053602082000280200210202402001280200220320056b41034b0d0020012005410410f49180800020012802002103200128020821050b2001200541046a22043602082001280204220620056a2002360000200028020421000240200320046b41034b0d0020012004410410f49180800020012802042106200128020821040b2001200441046a360208200620046a20003600000bf70101037f23808080800041206b220424808080800041002d008083d480001a02402001410474410472220541002802f482d48000118280808000002206450d002006417e6a41003b000020044100360214200420063602102004200536020c200420013602182004200441186a36021c2004411c6a2004410c6a10dc84808000200020012004410c6a10af83808000200428020c21062002200320042802102201200428021441002802dc82d480001183808080000002402006450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000f0b4101200541f895c4800010b980808000000bf10303027f017e037f23808080800041106b2202248080808000410021030240417f417f410b417f2001350218420c7e2204a72205410c6a22062006200541046a491b2004422088a71b22054105410120012802001b6a220620062005491b22054101410220012d001c22074102461b6a220620062005491b22064100480d0041002d008083d480001a41012103200641002802f482d48000118280808000002205450d002005417e6a41003b00002002200536020820022006360204200520012802083600002002410436020c2005200128020c3600042002410836020c200141106a200241046a10b7888080002001200241046a10bb898080000240024020074102460d00024020022802042205200228020c2201470d00200241046a2001410110f49180800020022802042105200228020c21010b2002280208220620016a41013a00002002200141016a220136020c024020052001470d00200241046a2005410110f49180800020022802082106200228020c21010b200620016a20073a00000c010b02402002280204200228020c2201470d00200241046a2001410110f491808000200228020c21010b200228020820016a41003a00000b20002002290204370200200041086a200141016a360200200241106a2480808080000f0b2003200641f895c4800010b980808000000b9f0301057f23808080800041206b22032480808080002000280204210441002d008083d480001a02402004410574410472220541002802f482d48000118280808000002206450d00200320063602102006417e6a41003b0000200341003602142003200536020c20002802002100200320043602182003200341186a36021c2003411c6a2003410c6a10dc848080000240024020040d0020032802142104200328021021070c010b200441057421052003280214210403400240200328020c20046b411f4b0d002003410c6a2004412010f491808000200328021421040b2003280210220720046a22062000290000370000200641086a200041086a290000370000200641106a200041106a290000370000200641186a200041186a2900003700002003200441206a2204360214200041206a2100200541606a22050d000b0b200328020c2100200120022007200441002802dc82d480001183808080000002402000450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000f0b4101200541f895c4800010b980808000000bdd0303027f017e037f23808080800041106b2202248080808000410021030240417f410c417f2001350210420c7e2204a72205410d6a22062006200541046a491b2004422088a71b22054101410220012d003522074102461b6a220620062005491b22064100480d0041002d008083d480001a41012103200641002802f482d48000118280808000002205450d002005417e6a41003b00002002200536020820022006360204200520012802003600002002410436020c200520012802043600042002410836020c200141086a200241046a10b788808000200141146a200241046a10be898080000240024020074102460d00024020022802042205200228020c2201470d00200241046a2001410110f49180800020022802042105200228020c21010b2002280208220620016a41013a00002002200141016a220136020c024020052001470d00200241046a2005410110f49180800020022802082106200228020c21010b200620016a20073a00000c010b02402002280204200228020c2201470d00200241046a2001410110f491808000200228020c21010b200228020820016a41003a00000b20002002290204370200200041086a200141016a360200200241106a2480808080000f0b2003200641f895c4800010b980808000000bf20401067f23808080800041206b2202248080808000410021030240024002400240024002400240024041032001280208220441056a220520012802002206418080808078461b22074100480d002007450d0141002d008083d480001a200741002802f482d480001182808080000022030d02410121030b2003200741f895c4800010b980808000000b20024100360214200242808080801037020c2006418080808078470d012002410c6a4100410110f491808000200228020c210420022802102103200228021421070c040b200220033602102003417e6a41003b0000200241003602142002200736020c2006418080808078460d024100210720050d010b2002410c6a4100410110f49180800020022802102103200228021421070b200320076a41013a00002002200741016a36021420012802042103200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2003200410f4978080001a2002200120046a3602140c020b41002107410321040b200320076a41003a00002002200741016a220736021420012d00042106024020042007470d002002410c6a2004410110f49180800020022802102103200228021421070b200320076a20063a00002002200741016a220336021420012d000521010240200228020c2003470d002002410c6a2003410110f491808000200228021421030b200228021020036a20013a00002002200341016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000bf80101047f23808080800041206b22022480808080002001280208210341002d008083d480001a02402003410474410472220441002802f482d48000118280808000002205450d00200220053602102005417e6a41003b0000200241003602142002200436020c20012802042101200220033602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402003450d0020034104742103034020012002410c6a10f584808000200141106a2101200341706a22030d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b4101200441f895c4800010b980808000000bca0202047f027e23808080800041206b22022480808080002001280208210341002d008083d480001a02402003410474410472220441002802f482d48000118280808000002205450d00200220053602102005417e6a41003b0000200241003602142002200436020c20012802042101200220033602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402003450d002003410474210520022802142103034020012903082106200129030021070240200228020c20036b410f4b0d002002410c6a2003411010f491808000200228021421030b200141106a2101200228021020036a22042006370008200420073700002002200341106a2203360214200541706a22050d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b4101200441f895c4800010b980808000000be60201047f23808080800041206b22022480808080002001280208210341002d008083d480001a02402003410574410472220441002802f482d48000118280808000002205450d00200220053602102005417e6a41003b0000200241003602142002200436020c20012802042101200220033602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402003450d00200341057421042002280214210303400240200228020c20036b411f4b0d002002410c6a2003412010f491808000200228021421030b200228021020036a22052001290000370000200541086a200141086a290000370000200541106a200141106a290000370000200541186a200141186a2900003700002002200341206a2203360214200141206a2101200441606a22040d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b4101200441f895c4800010b980808000000bab0801077f23808080800041206b22022480808080004100210302400240417f417f20012802202204410c6c417f417f200128021422052001280208220641046a22076a41046a220820082007491b2207410c6a220820082007491b22076a41046a220820082007491b220741056a220820082007491b22074100480d0041002d008083d480001a200741002802f482d480001182808080000022080d01410121030b2003200741f895c4800010b980808000000b200220083602102008417e6a41003b0000200241003602142002200736020c20012802042108200220063602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402006200228020c200228021422076b4d0d002002410c6a2007200610f491808000200228021421070b200228021020076a2008200610f4978080001a2002200720066a36021420012802102103200220053602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402005200228020c2206200228021422076b4d0d002002410c6a2007200510f491808000200228020c2106200228021421070b2002280210220820076a2003200510f4978080001a2002200720056a2205360214200128022421070240200620056b41034b0d002002410c6a2005410410f491808000200228020c210620022802102108200228021421050b200820056a20073600002002200541046a2205360214200128022821070240200620056b41034b0d002002410c6a2005410410f49180800020022802102108200228021421050b200820056a20073600002002200541046a2205360214200128022c21060240200228020c20056b41034b0d002002410c6a2005410410f491808000200228021421050b200228021020056a20063600002002200541046a360214200128021c2106200220043602182002200241186a36021c2002411c6a2002410c6a10dc848080002002280214210502402004450d0020062004410c6c6a210303400240200228020c220420056b41074b0d002002410c6a2005410810f491808000200228020c2104200228021421050b2002280210220720056a20062900003700002002200541086a2205360214200641086a28020021080240200420056b41034b0d002002410c6a2005410410f49180800020022802102107200228021421050b200720056a20083600002002200541046a22053602142006410c6a22062003470d000b0b200128023021070240200228020c220620056b41034b0d002002410c6a2005410410f491808000200228020c2106200228021421050b2002280210220420056a20073600002002200541046a220536021420012d00342107024020062005470d002002410c6a2006410110f49180800020022802102104200228021421050b2000200229020c370200200420056a20073a0000200041086a200541016a360200200241206a2480808080000bfa0201057f23808080800041106b22022480808080000240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024002400240024020052d000022064103710e0403020100030b200641044f0d0720034105490d0720012003417b6a3602042001200541056a3602002005280001418080808004490d070c050b20034104490d0620012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d06200341087420067241027621030c020b20040d020c050b200641027621030b200341204b0d01200241046a2001200310a7838080002002280204418080808078470d0220004180808080783602000c040b20012003417e6a3602042001200541026a36020020052d0001450d020b20004180808080783602000c020b20002002290204370200200041086a200241046a41086a2802003602000c010b20004180808080783602000b200241106a2480808080000b8e0301057f23808080800041106b220224808080800002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a36020002400240024002400240024020052d000022064103710e0400030201000b200641027621030c060b200641044f0d0420034105490d0420012003417b6a3602042001200541056a3602002005280001418080808004490d040c030b20034104490d0320012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d03200341087420067221030c010b2004450d0220012003417e6a3602042001200541026a36020020052d00012203450d02200341087420067221030b20034183024b0d00200341027621030c020b20004180808080783602000c020b20004180808080783602000c010b200241046a20012003108a8380800002402002280204418080808078470d0020004180808080783602000c010b20002002290204370200200041086a200241046a41086a2802003602000b200241106a2480808080000bef0503067f017e017f23808080800041d0006b2201248080808000200141286a418896c48000410a419296c4800041204104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024101360224200241b396c48000360220200241a78180800036021820024294d99591b4d8b0febc7f370310200242acd9c6f2aeb5bdf11237030820024101360204200241b296c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242d6edf8a5dd8add85dc003703002002420437022c20024206370224200241cf9cc3800036022020024100360218200241a8818080003602102002428399afcb8aa1f8d5b17f3703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bee0503067f017e017f23808080800041d0006b2201248080808000200141286a418896c48000410a419296c4800041204104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024101360224200241b396c48000360220200241a981808000360218200242f3dec6d0f9d8dfcce900370310200242a1a9c4c0eed0efc42b37030820024101360204200241b296c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242c88af8fec48aa6b0753703002002420437022c20024206370224200241cf9cc3800036022020024100360218200241aa81808000360210200242e8d5a6c3c5aee9b6e3003703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bef0503067f017e017f23808080800041d0006b2201248080808000200141286a418896c48000410a419296c4800041204104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024101360224200241b396c48000360220200241ab81808000360218200242cba29aa1e2e6d7e3947f370310200242b19ed2bab88fbfd3a37f37030820024101360204200241b296c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242f7a696d4e6b29eff113703002002420437022c20024206370224200241cf9cc3800036022020024100360218200241ac81808000360210200242aae2e2faedc2c1f5e4003703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bee0503067f017e017f23808080800041d0006b2201248080808000200141286a418896c48000410a419296c4800041204104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024101360224200241b396c48000360220200241ad81808000360218200242c2bd98c186cbe8c32f370310200242d6c7f28481b698b82437030820024101360204200241b296c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242daa1c8eabe88efa2da003703002002420437022c20024206370224200241cf9cc3800036022020024100360218200241ae81808000360210200242a7bcf9c3b39ae0eee0003703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bee0503067f017e017f23808080800041d0006b2201248080808000200141286a41b497c48000410e41c297c4800041254104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024101360224200241b396c48000360220200241af81808000360218200242db9fafba9ac2b092113703102002428cd1b5a4bf89f39cf20037030820024101360204200241b296c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242e785abc48bc5a4cbd7003703002002420437022c20024206370224200241cf9cc3800036022020024100360218200241b0818080003602102002428df699f297caddb71f3703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bf503010b7f23808080800041206b210202402001280204220341034b0d00200041023a00140f0b20012003417c6a220436020420012001280200220541046a3602000240200441034b0d00200041023a00140f0b200528000021062001200341786a22043602042001200541086a3602000240200441034b0d00200041023a00140f0b200528000421072001200341746a220436020420012005410c6a3602000240200441034b0d00200041023a00140f0b200528000821082001200341706a22043602042001200541106a3602000240200441034b0d00200041023a00140f0b200528000c210920012003416c6a22043602042001200541146a36020002402004450d002005280010210a20012003416b6a3602042001200541156a220b3602000240024020052d0014220c0e020100020b20044121490d0120012003414b6a3602042001200541356a360200200241086a200b41086a290000370300200241106a200b41106a290000370300200241186a200b41186a2900003703002002200b2900003703000b2000200c3a0014200020022903003700152000411d6a200241086a290300370000200041256a200241106a2903003700002000412d6a200241186a2903003700002000200a3602102000200936020c2000200836020820002007360204200020063602000f0b200041023a00140b830301047f20002802002102024020012802002203200128020822046b41034b0d0020012004410410f49180800020012802002103200128020821040b2001280204220520046a20023600002001200441046a2204360208200028020421020240200320046b41034b0d0020012004410410f4918080002001280200210320012802042105200128020821040b200520046a20023600002001200441046a2204360208200028020821020240200320046b41034b0d0020012004410410f49180800020012802042105200128020821040b200520046a20023600002001200441046a2204360208200028020c210202402001280200220320046b41034b0d0020012004410410f49180800020012802002103200128020821040b2001280204220520046a20023600002001200441046a2204360208200028021021020240200320046b41034b0d0020012004410410f49180800020012802042105200128020821040b2001200441046a360208200520046a2002360000200041146a200110be898080000bf30904077f017e017f017e23808080800041d0006b2201248080808000200141286a41e797c48000411741fe97c4800041174104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bb80808000360238200242d7c9cb8fc1cf97db3e370330200242e88488d0c0e3aebc13370328200241013602242002419698c48000360220200241bc80808000360218200242ec8ca7e0e2f0c7e6bf7f370310200242e6e2dea393f0baf43a370308200241013602042002419598c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421052001280218210620012802282107200129022c2108200141106a41086a22094100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242cdcabc9d9cf3be8d0337030820024289ece2a6cba888f82b370300200141c0006a41086a220341013602002002420437022c20024208370224200241a3f3c380003602202002410b36021c20024198f3c38000360218200241ce80808000360210200120012902103703400240200328020022032001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c200242013702242002418bf3c380003602202002411336021c200241f8f2c38000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002009200341016a220336020020012001290340220a37031002402003200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200341386c6a2202420437022c20024201370224200241c4f3c380003602202002411936021c200241abf3c38000360218200241bc80808000360210200242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c8006a200341016a220236020020012001290310220a37034002402002200aa7470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22036a2202420437022c20024203370224200241cfaac380003602202002410c36021c2002418cf3c38000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002001280244210220012001280240360248200120023602402001200220036a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002007418080808078460d012001200436021820012005360210200120053602142001200520064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200837023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bf303010d7f410121020240200128020422034104490d0020012003417c6a220436020420012001280200220541046a36020020044104490d00200528000021062001200341786a22043602042001200541086a36020020044104490d00200528000421072001200341746a220436020420012005410c6a36020020044104490d00200528000821082001200341706a22043602042001200541106a36020020044104490d00200528000c210920012003416c6a22043602042001200541146a36020020044104490d002005280010210a2001200341686a22043602042001200541186a36020020044104490d002005280014210b2001200341646a220436020420012005411c6a36020020044104490d002005280018210c2001200341606a22043602042001200541206a36020020044104490d00200528001c210d20012003415c6a22043602042001200541246a36020020044104490d002005280020210e2001200341586a22043602042001200541286a36020020044104490d00200528002421022000200e36022c2000200d3602282000200c3602242000200b3602202000200a36021c2000200936021820002008360214200020073602102000200636020c200020023602042001200341546a36020420012005412c6a36020020002005280028360208410021020b200020023602000be30605087f027e027f027e027f23808080800041c0006b2202248080808000200241086a200110ce8480800002400240024020022802084101710d00200241146a2001200228020c10898380800020022802142203418080808078470d010b20004180808080783602000c010b2002280218210402402001280200220528020c2206280208280200220728020422084104490d00200228021c210920072008417c6a36020420072007280200220841046a3602002006427f2006290300220a42047c220b200b200a541b3703002008280000210802402005280200200528020822076b41034b0d002005200741044101410110a386808000200528020821070b2005200741046a360208200528020420076a20083600002001280200220528020c220c2802082802002207280204220d4120490d002007280200220641186a290000210a200641106a290000210b200641086a290000210e2006290000210f2007200641206a3602002007200d41606a360204200241206a41086a220d200e370300200241206a41106a2210200b370300200241206a41186a2211200a370300200c427f200c290300220a42207c220b200b200a541b3703002002200f37032002402005280200200528020822066b411f4b0d002005200641204101410110a386808000200528020821060b200528020420066a22072002290320370000200741186a2011290300370000200741106a2010290300370000200741086a200d2903003700002005200641206a3602082001280200220128020c2207280208280200220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002007427f2007290300220a42047c220b200b200a541b3703002006280000210702402001280200200128020822056b41034b0d002001200541044101410110a386808000200128020821050b20002009360208200020043602042000200336020020002002290320370010200020073602302000200836020c2001200541046a360208200128020420056a2007360000200041186a200241286a290300370000200041206a200241306a290300370000200041286a200241206a41186a2903003700000c010b20004180808080783602002003450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000bda0605087f027e027f027e027f23808080800041c0006b2202248080808000200241086a200110cf8480800002400240024020022802084101710d00200241146a2001200228020c10868380800020022802142203418080808078470d010b20004180808080783602000c010b2002280218210402402001280200220528020c2206280208220728020422084104490d00200228021c210920072008417c6a36020420072007280200220841046a3602002006427f2006290300220a42047c220b200b200a541b3703002008280000210802402005280200200528020822076b41034b0d002005200741044101410110a386808000200528020821070b2005200741046a360208200528020420076a20083600002001280200220528020c220c2802082207280204220d4120490d002007280200220641186a290000210a200641106a290000210b200641086a290000210e2006290000210f2007200641206a3602002007200d41606a360204200241206a41086a220d200e370300200241206a41106a2210200b370300200241206a41186a2211200a370300200c427f200c290300220a42207c220b200b200a541b3703002002200f37032002402005280200200528020822066b411f4b0d002005200641204101410110a386808000200528020821060b200528020420066a22072002290320370000200741186a2011290300370000200741106a2010290300370000200741086a200d2903003700002005200641206a3602082001280200220128020c2207280208220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002007427f2007290300220a42047c220b200b200a541b3703002006280000210702402001280200200128020822056b41034b0d002001200541044101410110a386808000200128020821050b20002009360208200020043602042000200336020020002002290320370010200020073602302000200836020c2001200541046a360208200128020420056a2007360000200041186a200241286a290300370000200041206a200241306a290300370000200041286a200241206a41186a2903003700000c010b20004180808080783602002003450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000ba10401087f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110dc848080000240200420012802002205200128020822066b4d0d0020012006200410f49180800020012802002105200128020821060b2001280204220720066a2003200410f4978080001a2001200620046a2204360208200028020c21060240200520046b41034b0d0020012004410410f49180800020012802042107200128020821040b200720046a20063600002001200441046a220636020841002d008083d480001a0240412041002802f482d48000118280808000002204450d002004417e6a220541003b000020042000290010370000200441086a2203200041186a290000370000200441106a2208200041206a290000370000200441186a2209200041286a2900003700000240200128020020066b411f4b0d0020012006412010f49180800020012802042107200128020821060b200720066a22072004290000370000200741186a2009290000370000200741106a2008290000370000200741086a20032900003700002001200641206a2206360208200420052f00006b41002802ec82d4800011818080800000200028023021000240200128020020066b41034b0d0020012006410410f491808000200128020821060b2001200641046a360208200128020420066a2000360000200241106a2480808080000f0b4101412010ab80808000000b9b0401057f23808080800041106b220224808080800002400240200128020422030d0020004181808080783602000c010b20012003417f6a220436020420012001280200220541016a36020002400240024002400240024020052d00000e020001020b02402004450d0020012003417e6a22043602042001200541026a3602002004450d00200020052d00013a0004200041808080807836020020012003417d6a3602042001200541036a360200200020052d00023a00050c060b20004181808080783602000c050b2004450d0320012003417e6a22063602042001200541026a36020002400240024020052d000122044103710e0400040102000b20044102762103410021050c040b20034105490d0420012003417b6a3602042001200541056a36020020052f0002200541046a2d0000411074722203418002492105200341087420047241027621030c030b200441044f0d0320034106490d0320012003417a6a3602042001200541066a360200200528000222034180808080044921050c020b20004181808080783602000c030b2006450d0120012003417d6a3602042001200541036a36020020052d00022203450d0120034108742004724102762103410021050b20050d00200341c0004b0d00200241046a20012003108a8380800020022802042201418080808078460d0020002002290208370204200020013602000c010b20004181808080783602000b200241106a2480808080000bbd0202057f027e23808080800041206b2202248080808000024002402001280200220328020c2204280208280200220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002004427f2004290300220742047c220820082007541b3703002006280000210402402003280200200328020822056b41034b0d002003200541044101410110a386808000200328020821050b2003200541046a360208200328020420056a2004360000200241086a200110ce848080000240024020022802084101710d00200241146a2001200228020c1089838080002002280214418080808078470d010b20004180808080783602000c020b20002002290214370200200041086a200241146a41086a2802003602002000200436020c0c010b20004180808080783602000b200241206a2480808080000bba0202057f027e23808080800041206b2202248080808000024002402001280200220328020c2204280208220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002004427f2004290300220742047c220820082007541b3703002006280000210402402003280200200328020822056b41034b0d002003200541044101410110a386808000200328020821050b2003200541046a360208200328020420056a2004360000200241086a200110cf848080000240024020022802084101710d00200241146a2001200228020c1086838080002002280214418080808078470d010b20004180808080783602000c020b20002002290214370200200041086a200241146a41086a2802003602002000200436020c0c010b20004180808080783602000b200241206a2480808080000b9c0804067f017e027f017e23808080800041d0006b2201248080808000200141286a41eb9ac48000410e41b89ac4800041334104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bc80808000360218200242ec8ca7e0e2f0c7e6bf7f370310200242e6e2dea393f0baf43a370308200241013602042002419598c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a22084100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242f2f6c78492f5abbf17370308200242cb8af4fff0fbf9c26b370300200141c0006a41086a220941013602002002420437022c2002420d37022420024188f5c380003602202002410e36021c200241faf4c38000360218200241a081808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200941386c6a2202420437022c20024220370224200241f5f5c380003602202002410e36021c200241e7f5c380003602182002418c81808000360210200242eba3adccb5ca80f460370308200242d4e0dcb5cef8a2d3693703002008200941016a220236020020012001290340220a37031002402002200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200241386c22096a2202420437022c20024223370224200241c4f5c380003602202002411836021c200241acf5c38000360218200241a281808000360210200242f6bce8febfd4f3d40137030820024298a897bdf0be82e33d3703002001280214210220012001280210360248200120023602402001200220096a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bdf0401067f23808080800041d0006b2202248080808000024002400240200128020422034104490d0020012003417c6a220436020420012001280200220541046a36020020044104490d00200528000021042001200341786a3602042001200541086a36020020052800042103200241c0006a200110ab8880800020022802404101470d010b200041023a00140c010b2002411c6a200241cc006a28020036020020022002290244370214200220033602102002200436020c024020012802042203450d0020012003417f6a220636020420012001280200220441016a22053602000240024020042d000022070e020100020b20034121490d0120012003415f6a22063602042001200441216a2203360200200241206a41086a200541086a290000370300200241206a41106a200541106a290000370300200241206a41186a200541186a29000037030020022005290000370320200321050b2006450d0020012006417f6a22043602042001200541016a360200410221030240024020052d00000e020100020b2004450d0120012006417e6a3602042001200541026a3602004101410220052d000122014101461b410020011b22034102460d010b2000200229020c37020020002002290320370015200041106a2002410c6a41106a280200360200200041086a2002410c6a41086a2902003702002000411d6a200241206a41086a290300370000200041256a200241206a41106a2903003700002000412d6a200241386a290300370000200020033a0035200020073a00140c010b200041023a00142002410c6a41086a10ad888080000b200241d0006a2480808080000be30301077f23808080800041306b2202248080808000024002400240200128020422034104490d0020012003417c6a220436020420012001280200220541046a36020020044104490d00200528000021042001200341786a3602042001200541086a36020020052800042103200241206a200110ab8880800020022802204101470d010b200041023602000c010b2002411c6a2002412c6a28020036020020022002290224370214200220033602102002200436020c024020012802042203450d0020012003417f6a220436020420012001280200220541016a22063602000240024020052d000022070e020100020b20034105490d0120012003417b6a22043602042001200541056a220636020020052800012108410121070b2004450d0020012004417f6a22053602042001200641016a360200410221030240024020062d00000e020100020b2005450d0120012004417e6a3602042001200641026a3602004101410220062d000122014101461b410020011b22034102460d010b2000200229020c370208200041186a2002410c6a41106a280200360200200041106a200241146a290200370200200020033a001c20002008360204200020073602000c010b200041023602002002410c6a41086a10ad888080000b200241306a2480808080000bfd0304057f027e037f017e23808080800041206b22022480808080004101210302402001280200220128020c2204280208280200220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002004427f2004290300220742047c220820082007541b3703002006280000210602402001280200200128020822056b41034b0d002001200541044101410110a386808000200128020821050b2001200541046a2204360208200128020420056a2006360000200128020c22092802082802002205280204220a4120490d002005200a41606a36020420052005280200220341206a360200200241086a2205200341086a290000370300200241106a220a200341106a290000370300200241186a220b200341186a2900003703002009427f2009290300220742207c220820082007541b370300200220032900003703000240200128020020046b411f4b0d002001200441204101410110a386808000200128020821040b2000200229030022073700042001200441206a360208200128020420046a220120073700002000410c6a20052903002207370000200041146a200a29030022083700002000411c6a200b290300220c370000200141086a2007370000200141106a2008370000200141186a200c37000020002006360224410021030b20002003360200200241206a2480808080000bf70304057f027e037f017e23808080800041206b22022480808080004101210302402001280200220128020c2204280208220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002004427f2004290300220742047c220820082007541b3703002006280000210602402001280200200128020822056b41034b0d002001200541044101410110a386808000200128020821050b2001200541046a2204360208200128020420056a2006360000200128020c22092802082205280204220a4120490d002005200a41606a36020420052005280200220341206a360200200241086a2205200341086a290000370300200241106a220a200341106a290000370300200241186a220b200341186a2900003703002009427f2009290300220742207c220820082007541b370300200220032900003703000240200128020020046b411f4b0d002001200441204101410110a386808000200128020821040b2000200229030022073700042001200441206a360208200128020420046a220120073700002000410c6a20052903002207370000200041146a200a29030022083700002000411c6a200b290300220c370000200141086a2007370000200141106a2008370000200141186a200c37000020002006360224410021030b20002003360200200241206a2480808080000bcc0201077f2000280220210202402001280200200128020822036b41034b0d0020012003410410f491808000200128020821030b2001280204220420036a20023600002001200341046a220236020841002d008083d480001a0240412041002802f482d48000118280808000002203450d002003417e6a220541003b000020032000290000370000200341086a2206200041086a290000370000200341106a2207200041106a290000370000200341186a2208200041186a2900003700000240200128020020026b411f4b0d0020012002412010f49180800020012802042104200128020821020b200420026a22002003290000370000200041186a2008290000370000200041106a2007290000370000200041086a20062900003700002001200241206a360208200320052f00006b41002802ec82d48000118180808000000f0b4101412010ab80808000000bbf0a020c7f017e23808080800041f0006b2202248080808000200241d0006a200110fe8e80800002400240024020022802502203418080808078460d00200228025421040240200128020422054104490d002002280258210620012005417c6a220736020420012001280200220841046a220936020020074120490d002008280000210a20012005415c6a22073602042001200841246a360200200241d0006a41086a220b200941086a290000370300200241d0006a41106a220c200941106a290000370300200241d0006a41186a220d200941186a29000037030020022009290000370350200741034b0d020b2003450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b2001200541586a3602042001200841286a360200200241086a200b290300370300200241106a200c290300370300200241186a200d2903003703002002200229035037030020082800242105200241d0006a200110a7888080000240024020022802504101470d0020004180808080783602000c010b200241286a200241dc006a28020036020020022002290254370320200241d0006a200110ae8f8080000240024020022802502208418080808078470d0020004180808080783602000c010b2002280254210720022802582109200241d0006a200110b4888080000240024020022802504101470d0020004180808080783602000c010b200241306a41086a200241dc006a28020036020020022002290254370330200241d0006a200110b98f808000024002402002280250418080808078470d0020004180808080783602000c010b200241c0006a41086a200241d0006a41086a2802003602002002200229025037034002402001280204220b450d002001200b417f6a36020420012001280200220b41016a360200418080808078210c02400240200b2d00000e020100020b200241d0006a20011085858080002002280250220c418080808078460d012002290254210e0b20002002290300370210200020022903203702582000200229033037026420002002290340370240200041286a200241186a290300370200200041206a200241106a290300370200200041186a200241086a290300370200200041e0006a200241206a41086a280200360200200041ec006a200241306a41086a280200360200200041c8006a200241c0006a41086a2802003602002000200e3702502000200c36024c2000200936023c2000200736023820002008360234200020053602302000200a36020c2000200636020820002004360204200020033602000c050b2000418080808078360200200241c0006a10a28f8080002002280240450d00200228024422012001417e6a2f00006b41002802ec82d48000118180808000000b200241306a10b6888080000b02402009450d002009410171210641002100024020094101460d002009417e7121092007210141002100034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012009200041026a2200470d000b0b2006450d00200720004104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b2008450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200241206a10a6888080000b2003450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241f0006a2480808080000b1200200141f09bc48000410210b4818080000bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000ba20101037f23808080800041106b22022480808080002000280200210041012103200128020041e580c280004101200128020428020c118080808000002104200241003a000d200220043a000c20022001360208200241086a200020004180086a10948e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030b8d0401047f23808080800041306b2202248080808000200028020021002001280200220341014100200128020428020c2204118080808000002105200220003602082002200041016a36020c024002402005450d00410121000c010b0240024020012d000a418001710d0041012100200341df80c2800041012004118080808000000d02200241086a200110a085808000450d010c020b0240200341e080c280004102200411808080800000450d00410121000c020b41012100200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a360220200241086a200241206a10a0858080000d01200228022041da80c280004102200228022428020c118080808000000d010b0240024020012d000a418001710d000240200128020041d380c280004102200128020428020c11808080800000450d00410121000c030b410121002002410c6a200110a185808000450d010c020b41012100200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a1858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000bbf0201047f23808080800041306b22022480808080002002200028020036020c4101210002402001280200220341f29bc48000410c2001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110aa858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000bbf0201047f23808080800041306b22022480808080002002200028020036020c41012100024020012802002203418a9cc4800041102001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110aa858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000b3000024020002802002d00000d00200141b4a8c28000410510b4818080000f0b200141b9a8c28000410410b4818080000b3400200128020041839cc4800041fe9bc4800020002802002d000022001b4107410520001b200128020428020c118080808000000ba00101017f23808080800041106b220224808080800020022000280200220036020c2001419f94c48000410641e49dc48000410b2000410c6a41c49dc4800041ef9dc4800041062000412c6a41b491c4800041f59dc48000410a200041306a41c49dc4800041ff9dc48000410f200041d0006a41c49dc48000418e9ec4800041062002410c6a41d49dc4800010b8818080002100200241106a24808080800020000bbd0201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002f01004101200110f88080800021000c020b20002f01002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ffff0371220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002f01002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ffff0371220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b1900200028020022002802002000280204200110bc818080000ba10101037f23808080800041106b22022480808080002000280200210041012103200128020041e580c280004101200128020428020c118080808000002104200241003a000d200220043a000c20022001360208200241086a2000200041146a10948e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030b950201027f23808080800041106b2202248080808000200220002802002200360204200128020041c093c480004116200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41e691c4800041072000410c6a41b491c48000108a818080001a200241086a41d693c480004103200241046a41c491c48000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bc70301047f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff0171410174220541a1f1c180006a2d00003a00022002200541a0f1c180006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe017141a1f1c180006a2d00003a00000b2001410141014100200220036a410320036b10b28180800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000bbb0202027f017e2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002903004101200110fc8080800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000ba10101037f23808080800041106b22022480808080002000280200210041012103200128020041e580c280004101200128020428020c118080808000002104200241003a000d200220043a000c20022001360208200241086a2000200041086a10948e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030bd80502047f017e23808080800041a0016b22022480808080002000280200210341012100024020012802002204418896c48000410a200128020428020c2205118080808000000d000240024020012d000a418001710d0041012100200441df80c2800041012005118080808000000d0220032001109d8f808000450d010c020b200441e080c2800041022005118080808000000d0141012100200241013a0000200241b480c280003602242002200129020037021020022001290208370228200220023602182002200241106a3602202003200241206a109d8f8080000d01200228022041da80c280004102200228022428020c118080808000000d010b024002400240024020012d000a418001710d0041012100200128020041d380c280004102200128020428020c118080808000000d04200128020822004180808010710d01024020004180808020710d004101210041c0004101200110fa80808000450d030c050b200241b4e0003b009e014101210020014101419cf1c1800041022002419e016a410210b281808000450d020c040b200241013a000f200241b480c280003602142002200129020037020020022001290208220637021820022002410f6a36020820022002360210024002402006a722004180808010710d00024020004180808020710d0041c0004101200241106a10fa808080000d050c020b200241b4e0003b009e01200241106a4101419cf1c1800041022002419e016a410210b281808000450d010c040b200241b4e0003b009e01200241106a4101419cf1c1800041022002419e016a410210b2818080000d030b41012100200228021041da80c280004102200228021428020c118080808000000d030c010b200241b4e0003b009e014101210020014101419cf1c1800041022002419e016a410210b2818080000d020b200128020041e280c280004101200128020428020c1180808080000021000c010b410121000b200241a0016a24808080800020000b950201027f23808080800041106b2202248080808000200220002802002200360204200128020041ac9dc48000410d200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41e691c480004107200041206a41b491c48000108a818080001a200241086a41b99dc480004108200241046a419c9dc48000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b140020002802002000280204200110bc818080000bd30303027f037e017f2380808080004180016b22022480808080002000280200210002400240024002400240200128020822034180808010710d0020034180808020710d01200029030020002903084101200110f08080800021000c020b2000290308210420002903002105410021000340200041ff006a41ff004b0d03200220006a41ff006a2005a7410f712203413072200341d7006a2003410a491b3a00002004423c8621062005421054210320045021072000417f6a210020044204882104200620054204888421052003410020071b450d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b2000290308210420002903002105410021000340200041ff006a41ff004b0d03200220006a41ff006a2005a7410f712203413072200341376a2003410a491b3a00002004423c8621062005421054210320045021072000417f6a210020044204882104200620054204888421052003410020071b450d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000f0b200041ff006a418001418cf1c18000108281808000000b200041ff006a418001418cf1c18000108281808000000ba10101037f23808080800041106b22022480808080002000280200210041012103200128020041e580c280004101200128020428020c118080808000002104200241003a000d200220043a000c20022001360208200241086a2000200041206a10948e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030b950201027f23808080800041106b2202248080808000200220002802002200360204200128020041d491c480004112200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41e691c4800041072000410c6a41b491c48000108a818080001a200241086a41ed91c480004104200241046a41c491c48000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b140020002802002802004101200110fa808080000b140020012000280200200028020410b4818080000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b8d0101037f024020034108490d0020002000200341037622034190016c22046a2000200341fc016c22056a200310b78580800021002001200120046a200120056a200310b78580800021012002200220046a200220056a200310b78580800021020b200020022001200028020022032001280200220449220520042002280200220649731b20052003200649731b0bfd0101067f024020034108490d00200020002003410376220341067422046a2000200341f0006c22056a200310b88580800021002001200120046a200120056a200310b88580800021012002200220046a200220056a200310b88580800021020b2000280200220620012802002207200041046a2802002203200141046a280200220420032004491b10f597808000210802402006200228020022092003200241046a280200220520032005491b10f5978080002206200320056b20061b2008200320046b20081b2203734100480d0020022001200720092004200520042005491b10f5978080002200200420056b20001b2003734100481b21000b20000b9e0101027f024020034108490d00200020002003410376220341077422046a2000200341e0016c22056a200310b98580800021002001200120046a200120056a200310b98580800021012002200220046a200220056a200310b98580800021020b024020002001412010f597808000220320002002412010f597808000734100480d002002200120012002412010f5978080002003734100481b21000b20000b9f0101027f024020034108490d00200020002003410376220341d0006c22046a20002003418c016c22056a200310ba8580800021002001200120046a200120056a200310ba8580800021012002200220046a200220056a200310ba8580800021020b024020002001410810f597808000220320002002410810f597808000734100480d002002200120012002410810f5978080002003734100481b21000b20000b8c0101037f024020034108490d00200020002003410376220341067422046a2000200341f0006c22056a200310bb8580800021002001200120046a200120056a200310bb8580800021012002200220046a200220056a200310bb8580800021020b200020022001200028020022032001280200220449220520042002280200220649731b20052003200649731b0ba70201067f024020034108490d00200020002003410376220341306c22046a2000200341d4006c22056a200310bc8580800021002001200120046a200120056a200310bc8580800021012002200220046a200220056a200310bc8580800021020b200041046a2802002206200141046a2802002207200041086a2802002203200141086a280200220420032004491b10f597808000210802402006200241046a28020022092003200241086a280200220520032005491b10f5978080002206200320056b20061b220641004a20064100486b2008200320046b20081b220341004a20034100486b2203734100480d0020022001200720092004200520042005491b10f5978080002200200420056b20001b220041004a20004100486b2003734100481b21000b20000b8c0101037f024020034108490d00200020002003410376220341306c22046a2000200341d4006c22056a200310bd8580800021002001200120046a200120056a200310bd8580800021012002200220046a200220056a200310bd8580800021020b200020022001200028020022032001280200220449220520042002280200220649731b20052003200649731b0bee0101097f024020014108490d0020002001410376220341f0006c6a2104200020034106746a210502400240200141c000490d00200020052004200310b88580800021060c010b2000280200220720052802002208200041046a2802002201200541046a280200220320012003491b10f59780800021092000210620072004280200220a2001200441046a280200220b2001200b491b10f59780800022072001200b6b20071b2009200120036b20091b2201734100480d00200420052008200a2003200b2003200b491b10f59780800022062003200b6b20061b2001734100481b21060b200620006b4104760f0b000b980201097f024020014108490d0020002001410376220341d4006c6a21042000200341306c6a210502400240200141c000490d00200020052004200310bc8580800021060c010b200041046a2802002207200541046a2802002208200041086a2802002201200541086a280200220320012003491b10f5978080002109200021062007200441046a280200220a2001200441086a280200220b2001200b491b10f59780800022072001200b6b20071b220741004a20074100486b2009200120036b20091b220141004a20014100486b2201734100480d00200420052008200a2003200b2003200b491b10f59780800022062003200b6b20061b220341004a20034100486b2001734100481b21060b200620006b410c6e0f0b000b860401047f23808080800041306b22022480808080002001280200220341014100200128020428020c2204118080808000002105200220003602082002200041016a36020c024002402005450d00410121000c010b0240024020012d000a418001710d0041012100200341df80c2800041012004118080808000000d02200241086a200110a085808000450d010c020b0240200341e080c280004102200411808080800000450d00410121000c020b41012100200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a360220200241086a200241206a10a0858080000d01200228022041da80c280004102200228022428020c118080808000000d010b0240024020012d000a418001710d000240200128020041d380c280004102200128020428020c11808080800000450d00410121000c030b410121002002410c6a200110a185808000450d010c020b41012100200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a1858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000bf605010a7f23808080800041206b22032480808080004100210402400240417f200028020022002802082205410c6a22062006200541046a491b22054100480d0041002d008083d480001a200541002802f482d480001182808080000022060d01410121040b2004200541f895c4800010b980808000000b200320063602102006417e6a41003b0000200341003602142003200536020c200028020421072003200028020822053602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402005200328020c2208200328021422046b4d0d002003410c6a2004200510f491808000200328020c2108200328021421040b2003280210220620046a2007200510f4978080001a2003200420056a2205360214200028020c21040240200820056b41034b0d002003410c6a2005410410f49180800020032802102106200328021421050b200620056a20043600002003200541046a220436021441002d008083d480001a0240412041002802f482d48000118280808000002205450d002005417e6a220941003b000020052000290010370000200541086a220a200041186a290000370000200541106a220b200041206a290000370000200541186a220c200041286a2900003700000240200328020c220720046b411f4b0d002003410c6a2004412010f491808000200328020c210720032802102106200328021421040b200620046a22082005290000370000200841186a200c290000370000200841106a200b290000370000200841086a200a2900003700002003200441206a2204360214200520092f00006b41002802ec82d4800011818080800000200028023021000240200720046b41034b0d002003410c6a2004410410f49180800020032802102106200328021421040b200620046a2000360000200328020c2100200120022006200441046a41002802dc82d480001183808080000002402000450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000f0b4101412010ab80808000000bf70301097f200028020c2201200028020422026b41fc006e2103024020012002460d0041002104034002402002200441fc006c6a22052802082206450d00200528020421010340024020012d0000220741034b0d002001200741027441949ec480006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012006417f6a22060d000b0b02402005280200450d00200528020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020052802782201450d00200528027421082001410171210941002106024020014101460d002001417e712107410021062008210103402001410c6a200141046a280200200141086a2802002001280200280210118680808000002001411c6a200141146a280200200141186a280200200141106a28020028021011868080800000200141206a21012007200641026a2206470d000b0b2009450d00200820064104746a2201410c6a200128020420012802082001280200280210118680808000000b02402005280270450d00200528027422012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280208450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b0bd10502047f017e23808080800041a0016b220224808080800041012103024020012802002204418896c48000410a200128020428020c2205118080808000000d000240024020012d000a418001710d0041012103200441df80c2800041012005118080808000000d0220002001109d8f808000450d010c020b200441e080c2800041022005118080808000000d0141012103200241013a0000200241b480c280003602242002200129020037021020022001290208370228200220023602182002200241106a3602202000200241206a109d8f8080000d01200228022041da80c280004102200228022428020c118080808000000d010b024002400240024020012d000a418001710d0041012103200128020041d380c280004102200128020428020c118080808000000d04200128020822034180808010710d01024020034180808020710d004101210341c0004101200110fa80808000450d030c050b200241b4e0003b009e014101210320014101419cf1c1800041022002419e016a410210b281808000450d020c040b200241013a000f200241b480c280003602142002200129020037020020022001290208220637021820022002410f6a36020820022002360210024002402006a722034180808010710d00024020034180808020710d0041c0004101200241106a10fa808080000d050c020b200241b4e0003b009e01200241106a4101419cf1c1800041022002419e016a410210b281808000450d010c040b200241b4e0003b009e01200241106a4101419cf1c1800041022002419e016a410210b2818080000d030b41012103200228021041da80c280004102200228021428020c118080808000000d030c010b200241b4e0003b009e014101210320014101419cf1c1800041022002419e016a410210b2818080000d020b200128020041e280c280004101200128020428020c1180808080000021030c010b410121030b200241a0016a24808080800020030bcf0502047f017e23808080800041a0016b220224808080800041012103024020012802002204418896c48000410a200128020428020c2205118080808000000d000240024020012d000a418001710d0041012103200441df80c2800041012005118080808000000d0220002001109a8f808000450d010c020b200441e080c2800041022005118080808000000d0141012103200241013a0000200241b480c280003602242002200129020037021020022001290208370228200220023602182002200241106a3602202000200241206a109a8f8080000d01200228022041da80c280004102200228022428020c118080808000000d010b024002400240024020012d000a418001710d0041012103200128020041d380c280004102200128020428020c118080808000000d04200128020822034180808010710d01024020034180808020710d004101210341204101200110fa80808000450d030c050b200241b2e0003b009e014101210320014101419cf1c1800041022002419e016a410210b281808000450d020c040b200241013a000f200241b480c280003602142002200129020037020020022001290208220637021820022002410f6a36020820022002360210024002402006a722034180808010710d00024020034180808020710d0041204101200241106a10fa808080000d050c020b200241b2e0003b009e01200241106a4101419cf1c1800041022002419e016a410210b281808000450d010c040b200241b2e0003b009e01200241106a4101419cf1c1800041022002419e016a410210b2818080000d030b41012103200228021041da80c280004102200228021428020c118080808000000d030c010b200241b2e0003b009e014101210320014101419cf1c1800041022002419e016a410210b2818080000d020b200128020041e280c280004101200128020428020c1180808080000021030c010b410121030b200241a0016a24808080800020030b830503017f017e057f23808080800041106b22022480808080002000290300210302402001280200200128020822046b41074b0d0020012004410810f491808000200128020821040b2001200441086a360208200128020420046a2003370000200028021421052002200028021822043602082002200241086a36020c2002410c6a200110dc8480800002402004450d002004410c6c2106200541086a210403402004417c6a28020021072002200428020022053602082002200241086a36020c2002410c6a200110dc84808000024020052001280200200128020822086b4d0d0020012008200510f491808000200128020821080b200128020420086a2007200510f4978080001a2001200820056a3602082004410c6a2104200641746a22060d000b0b200028022021052002200028022422043602082002200241086a36020c2002410c6a200110dc84808000024002402004450d002004410c6c2106200541086a210403402004417c6a28020021072002200428020022053602082002200241086a36020c2002410c6a200110dc84808000024020052001280200200128020822086b4d0d0020012008200510f491808000200128020821080b200128020420086a2007200510f4978080001a2001200820056a22053602082004410c6a2104200641746a22060d000c020b0b200128020821050b200029030821030240200128020020056b41074b0d0020012005410810f491808000200128020821050b200128020420056a20033700002001200541086a220436020820002d00282105024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20053a0000200241106a2480808080000bd80801027f0240024020002d00004101470d000240200128020020012802082202470d0020012002410110f491808000200128020821020b2001200241016a2203360208200128020420026a41013a000002400240024020002d00010e03000102000b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41003a00000c030b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41013a00000c020b20002d00022100024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41023a00002001200341016a2203360208024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a20003a00000c010b0240200128020020012802082202470d0020012002410110f491808000200128020821020b2001200241016a2203360208200128020420026a41003a0000024002400240024002400240024002400240024002400240024020002d00010e0d000102030405060708090a0b0c000b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41003a00000c0c0b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41013a00000c0b0b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41023a00000c0a0b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41033a00000c090b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41043a00000c080b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41053a00000c070b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41063a00000c060b20002d00022100024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41073a00002001200341016a2203360208024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a20003a00000c050b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41083a00000c040b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41093a00000c030b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a410a3a00000c020b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a410b3a00000c010b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a410c3a00000b2001200341016a3602080b980602017f097e23808080800041b0016b22052480808080004200210602400240024002402000290300220742028520002903082208844200520d0020002903182106200029031021090c010b2000290328210a2000290320210b200541186a200041c8006a290000370300200541106a200041c0006a290000370300200541086a200041386a290000370300200520002900303703002000290318210c2000290310210d200541d0006a2002200110b491808000200541d0006a200320052903502005290358200b200a20012d002120022d00187241017120012d0020108b878080004200210902402005280250410171450d00427f427f2005290368220620052903787c2005290360220920052903707c220e2009542203ad7c22092003200920065420092006511b22031b22062005290388017c427f200e20031b22092005290380017c220e2009542203ad7c22092003200920065420092006511b22031b2109427f200e20031b21060b200520012002427f20062005290390017c220e200e200654220320092005290398017c2003ad7c220620095420062009511b22031b2209427f200620031b2206200b200a20072008200d200c10e48c808000220141ff01714102470d01200541c8006a200041306a220041186a2900002207370000200541c0006a200041106a290000370000200541386a200041086a29000037000020052000290000370030200541e1006a200541216a41106a290000370000200541e9006a200541216a41186a290000370000200541f1006a200541c1006a290000370000200541f8006a20073700002005200a370398012005200b3703900120052006370388012005200937038001200541223a0050200520052900213700512005200541216a41086a29000037005941014100200541d0006a10d28d80800042002106420021090b41022101024020022802004101470d00200242002002290310220a20067d22062006200a561b370310200242002002290308220620097d220920092006561b3703080b0c010b20014180feff077141087621000b200541b0016a2480808080002000410874200141ff0171720ba90402067f017e23808080800041d0006b2201248080808000200141286a41a59ec48000411241c8a7c48000412f4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241b3a4c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c210720012802282103200142808080808001370248200142888080808001370240200141346a200141c0006a419c91c3800010f58e8080002003418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002003360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bb20503067f017e017f23808080800041d0006b2201248080808000200141106a41186a41b79ec48000411841f0d7c48000411a4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241b3a4c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242b6c682a983f2c9f6ca003703002002420437022c2002420c370224200241e1f3c3800036022020024100360218200241e880808000360210200242d08eb4e8cbd188dc533703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bae0503067f017e017f23808080800041d0006b2201248080808000200141286a41cf9ec48000410a418ea4c4800041254104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241b3a4c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242a1b7c9b2e6acc3d92a3703002002420437022c20024208370224200241809cc38000360220200241003602182002419f818080003602102002428f9096e9a7fcdea3183703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000ba90402067f017e23808080800041d0006b2201248080808000200141286a41d99ec48000410b41b4a4c4800041264104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241b3a4c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c210720012802282103200142808080808001370248200142888080808001370240200141346a200141c0006a419c91c3800010f58e8080002003418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002003360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bd80201037f23808080800041c0006b2201248080808000200141086a41efe2c48000411a41002802b482d480001186808080000041002d008083d480001a02400240410441002802f482d48000118280808000002202450d0020024181848c203600002002417e6a41003b0000200120022002410172200241017122031b360224200141043602202001200236021c200141e8ecc1800041d4ecc1800020031b3602182001280208450d0120012802104104470d01200128020c2800002002280000470d01200141246a20024104419a8080800041968080800020031b11868080800000024020012802082202450d00200141146a200128020c20012802102002280210118680808000000b2000420037030820004201370300200141c0006a2480808080000f0b4101410410ab80808000000b200141003602284100200141086a200141186a200141286a41d4e3c4800010bb87808000000bc51402057f047e23808080800041e0086b2203248080808000200342f89aef8eef91e1ce967f3700d006200342b4d6d6dfccc6b592c3003700c806200342fc90b9e5d09296e7773700c006200342a6d4e6f1a4dd9598603700b80620034190036a200341b8066a412010ce85808000024002402003280290034101470d00200341086a41286a200341c0036a290300370300200341086a41206a20034190036a41286a290300370300200341086a41186a20034190036a41206a290300370300200341086a41106a20034190036a41186a290300370300200341106a20034190036a41106a29030037030020032003290398033703080c010b200341306a4200370300200341086a41206a4200370300200341206a4200370300200341186a4200370300200341106a4200370300200342003703080b20034198066a41086a22044200370300200341e8056a41086a22054200370300200341d8056a41086a22064200370300200341c0056a41086a22074200370300200341c0056a41106a410036020020034190036a41106a200341a8066a41086a2903003703002003420037039806200342003703e805200342003703d805200342003703c0052003420037039003200320032903a80637039803200342013703c003200341d0036a200429030037030020032003290398063703c803200342003703e803200342003703e003200342c8b0c9333703d803200341f8036a20034188066a41086a29030037030020032003290388063703f003200342003703c004200342003703b804200342c8b0c9333703b004200341d0046a200341f8056a41086a290300370300200320032903f8053703c804200342003703d804200341e8046a2005290300370300200320032903e8053703e004200342003703f00420034180056a2006290300370300200320032903d8053703f804200342003703a005200342b0d0e7cd01370398052003420037039005200342c8b0c93337038805200341b0056a2007290300370300200320032903c0053703a8052003428180808080a0f8fa053703b8052003428080a0013703a8042003428088a5a9a3073703a0042003420137039804200342808080053703900420034280a094a58d1d3703880420034201370380042003428080e0033703b8032003428098effbe9153703b003200342013703a803200341b8066a20034190036a10d7918080000240024002400240024002400240024020032903b8064202510d00200341386a200341b8066a41a80210f4978080001a427f2000290308220820002903187c220920092008541b2108427f2000290300220920002903107c220a200a2009541b2109024002400240024020002d002022050e03000102000b427f427f20082003290388017c220a200a2008541b22082001ad7c220a200a2008541b210a427f20092003290380017c220820082009541b2108200341386a21040c020b427f427f200820032903e0017c220a200a2008541b22082001ad7c220a200a2008541b210a427f200920032903d8017c220820082009541b210820034190016a21040c010b427f427f200820032903b8027c220a200a2008541b22082001ad7c220a200a2008541b210a427f200920032903b0027c220820082009541b2108200341e8016a21040b2004290318502206450d0120042802300d01200341086a210002400240024020050e03020001020b200341186a21000c010b200341286a21000b2000427f20002903082209200a7c220a200a2009541b3703082000427f2000290300220920087c220820082009541b3703000c020b200320032d00c0063a003841bae9ca800041e000200341386a41dce8ca8000419ceaca800010a981808000000b200341086a210002400240024020050e03020001020b200341186a21000c010b200341286a21000b2000290300220920087c22082009540d0120002903082209200a7c220a2009540d012000200a370308200020083703000b200341086a210020050e03030102030b4100210041002802b483d480004104490d0341002100410028029080d480002104410028028c80d48000210541002802b083d480002106200342003702c80320034281808080c0003702c003200341c0a7c480003602bc032003410f3602b803200341eba5c480003602b403200341043602b0032003418ca5c48000ad4280808080f00b843702a803200341003602a403200341b4a4c48000ad4280808080e0048437029c03200341003602980320034281808080e01537029003200541b4f4ca8000200641024622061b20034190036a2004419cf4ca800020061b280210118b80808000000c030b200341186a21000c010b200341286a21000b200029030821092000290300210802400240024020060d0020082004290320560d0120092004290328560d010b0240427f427f2003290308220a20032903187c220b200b200a541b220a20032903287c220b200b200a541b20032903d002560d00427f427f2003290310220a20032903207c220b200b200a541b220a20032903307c220b200b200a541b20032903d802580d020b20042802304101470d01024020082004290338560d0020092004290340580d020b4100210041002802b483d480004104490d0241002100410028029080d480002104410028028c80d48000210541002802b083d480002106200342003702c80320034281808080c0003702c00320034198a7c480003602bc032003410f3602b803200341eba5c480003602b403200341043602b0032003418ca5c48000ad4280808080f00b843702a803200341003602a403200341b4a4c48000ad4280808080e0048437029c03200341003602980320034281808080e01937029003200541b4f4ca8000200641024622061b20034190036a2004419cf4ca800020061b280210118b80808000000c020b4100210041002802b483d480004104490d0141002100410028029080d480002104410028028c80d48000210541002802b083d480002106200342003702c80320034281808080c0003702c003200341f0a6c480003602bc032003410f3602b803200341eba5c480003602b403200341043602b0032003418ca5c48000ad4280808080f00b843702a803200341003602a403200341b4a4c48000ad4280808080e0048437029c03200341003602980320034281808080c01737029003200541b4f4ca8000200641024622061b20034190036a2004419cf4ca800020061b280210118b80808000000c010b200341e0026a41286a200341086a41286a290300370300200341e0026a41206a200341086a41206a290300370300200341e0026a41186a200341086a41186a290300370300200341e0026a41106a200341086a41106a290300370300200341e0026a41086a200341086a41086a290300370300200320032903083703e00220034295f38cfcb699a3c4ef003700a803200342a8db95cdaa86daa7193700a003200342fc90b9e5d09296e77737009803200342a6d4e6f1a4dd95986037009003200320023602b80620034190036a4120200341b8066a410441002802dc82d4800011838080800000200341e0026a10e388808000410221000b200341e0086a248080808000200041800c720bf90505017f017e027f047e017f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10d48480800002400240024020032802484101460d0020032903502104200341c8006a200341206a10d48480800020032802484101460d0020032903502107200341c8006a200341206a10d48480800020032802484101460d0020032903502108200341c8006a200341206a10d48480800020032802484101460d0020032903502109200341c8006a200341206a10d48480800020032802484101460d002003290350210a200341c8006a200341206a10d48480800020032802484101470d010b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d48000210b200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200b410246220b1b28021021022003200341286a36027c200141b4f4ca8000200b1b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200042003703000c010b200020032903503703302000200a37032820002009370320200020083703182000200737031020002004370308200042013703000b2003411c6a200620052003280210280210118680808000000c010b200042003703000b20034190016a2480808080000bff0d02077f057e2380808080004180086b220324808080800020012d002021042003418080c0023602102003428080f0818080802837020820034295f38cfcb699a3c4ef003700c802200342a8db95cdaa86daa7193700c002200342fc90b9e5d09296e7773700b802200342a6d4e6f1a4dd9598603700b0022003200341b0026a412010d0858080002003417f2003280204220520026a220620062005491b200220032802004101711b22053602c805200341106a21072003410c6a2108200341086a210602400240024020040e03020001020b200821060c010b200721060b024002400240200520062802004d0d00024041002802b483d480004104490d00200341086a210102400240024020040e03020001020b200821010c010b200721010b200320013602e004200341ba81808000ad422086200341e0046aad843703e0052003418680808000ad422086200341c8056aad843703d805410028029080d480002101410028028c80d48000210541002802b083d480002102200342023702e802200341fca4c480003602dc022003410f3602d802200341eba5c480003602d402200341043602d0022003418ca5c48000ad4280808080f00b843702c802200341003602c402200341b4a4c48000ad4280808080e004843702bc02200341003602b80220034281808080d00a3702b002200341023602e0022001419cf4ca8000200241024622021b28021021012003200341d8056a3602e402200541b4f4ca800020021b200341b0026a2001118b80808000000b200041800c3b01000c010b200341b8056a41086a2206420037030020034188056a41086a22074200370300200341f8046a41086a22084200370300200341e0046a41086a22094200370300200341e0046a41106a4100360200200341b0026a41106a200341c8056a41086a290300370300200342003703b8052003420037038805200342003703f804200342003703e004200342003703b002200320032903c8053703b802200342013703e002200341f0026a2006290300370300200320032903b8053703e80220034200370388032003420037038003200342c8b0c9333703f80220034198036a200341a8056a41086a290300370300200320032903a80537039003200342003703e003200342003703d803200342c8b0c9333703d003200341f0036a20034198056a41086a29030037030020032003290398053703e803200342003703f80320034188046a20072903003703002003200329038805370380042003420037039004200341a0046a2008290300370300200320032903f80437039804200342003703c004200342b0d0e7cd013703b804200342003703b004200342c8b0c9333703a804200341d0046a2009290300370300200320032903e0043703c8042003428180808080a0f8fa053703d8042003428080a0013703c8032003428088a5a9a3073703c003200342013703b803200342808080053703b00320034280a094a58d1d3703a803200342013703a0032003428080e0033703d8022003428098effbe9153703d002200342013703c802200341d8056a200341b0026a10d791808000024020032903d8054202510d00200341086a200341d8056a41a80210f4978080001a200341086a210602400240024020040e03020001020b200341e0006a21060c010b200341b8016a21060b2006290310210a2006290308210b200628020021042003427f2001290300220c20012903107c220d200d200c541b220e3703e0042003427f427f2001290308220c20012903187c220d200d200c541b220c2002ad7c220d200d200c541b220c3703e80402402004410171450d000240200e200b560d00200c200a580d010b2003200a3703102003200b370308024041002802b483d480004104490d00200341bb81808000ad422086220c200341086aad843703e0052003200c200341e0046aad843703d805410028029080d480002101410028028c80d48000210541002802b083d480002102200342023702e802200341bca6c480003602dc022003410f3602d802200341eba5c480003602d402200341043602d0022003418ca5c48000ad4280808080f00b843702c802200341003602c402200341b4a4c48000ad4280808080e004843702bc02200341003602b80220034281808080c0073702b002200341023602e0022001419cf4ca8000200241024622021b28021021012003200341d8056a3602e402200541b4f4ca800020021b200341b0026a2001118b80808000000b200041063b0001200041003a00000c020b200041013a0028200042043703202000420037031820004280808080c0003703102000427f37030820004200370300413021010c020b200320032d00e0053a000841bae9ca800041e000200341086a41dce8ca8000419ceaca800010a981808000000b4180808080782105411021010b200020016a200536020020034180086a2480808080000b8c0403027f017e037f2380808080004190016b220324808080800041002104200341086a2001200241002802b482d48000118680808000000240024020032802080d000c010b200341186a41086a200341086a41086a290200220537030020032003290208370318200328021c2106024002402005a7220741034b0d0041002104024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002108200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200841024622081b28021021022003200341286a36027c200141b4f4ca800020081b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b0c010b20062800002102410121040b200341246a200620072003280218280210118680808000000b200020023602042000200436020020034190016a2480808080000bc10601057f0240024002400240200028026c0e03000102000b02402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41003a0000200028027021060240200220046b41034b0d0020012004410410f49180800020012802042105200128020821040b2001200441046a2203360208200520046a20063600000c020b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a22033602082001280204220520046a41013a00000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a22033602082001280204220520046a41023a00000b024002400240024002400240024020002d000041626a22044102200441ff01714106491b41ff01710e06000102030405000b200041086a2104024020012802002003470d0020012003410110f49180800020012802042105200128020821030b2001200341016a360208200520036a41003a00002004200110e88d8080000c050b200041086a2104024020012802002003470d0020012003410110f49180800020012802042105200128020821030b2001200341016a360208200520036a41013a000020042001109f878080000c040b024020012802002003470d0020012003410110f49180800020012802042105200128020821030b2001200341016a360208200520036a41043a00002000200110f08c8080000c030b200041046a2104024020012802002003470d0020012003410110f49180800020012802042105200128020821030b2001200341016a360208200520036a41053a00002004200110de868080000c020b200041106a2104024020012802002003470d0020012003410110f49180800020012802042105200128020821030b2001200341016a360208200520036a41063a000020042001108f878080000c010b200041086a2104024020012802002003470d0020012003410110f49180800020012802042105200128020821030b2001200341016a360208200520036a41083a00002004200110e38c8080000b20002802642000280268200110a88c8080000b920b04077f017e017f017e23808080800041d0006b2201248080808000200141286a41f7a7c48000410b4182a8c48000410c4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bc8180800036023820024281d8c6a0dcc1f1abf500370330200242fcbbed9ecfd6e6994c3703282002410b36022420024193a8c48000360220200241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc13370308200241053602042002418ea8c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a200141106a410c6a220241086a2802003602002001200229020037030020012802102104200128021421052001280218210620012802282107200129022c2108200141106a41086a22094100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a220341013602002002420437022c20024205370224200241b99cc380003602202002410536021c200241b49cc38000360218200241bb80808000360210200120012902103703400240200328020022032001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c20024208370224200241a39cc380003602202002410936021c200241ab9cc38000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002009200341016a220336020020012001290340220a37031002402003200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200341386c6a2202420437022c20024208370224200241a39cc380003602202002410936021c2002419a9cc38000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a200341016a220336020020012001290310220a37034002402003200aa7470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c20024208370224200241a39cc380003602202002410b36021c200241be9cc38000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141106a41086a200341016a220236020020012001290340220a37031002402002200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200241386c22036a2202420437022c2002420b3702242002418f9cc380003602202002410436021c2002418b9cc38000360218200241bc8180800036021020024281d8c6a0dcc1f1abf500370308200242fcbbed9ecfd6e6994c3703002001280214210220012001280210360248200120023602402001200220036a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002007418080808078460d012001200436021820012005360210200120053602142001200520064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200837023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000be10804067f017e027f017e23808080800041d0006b2201248080808000200141286a419ea8c48000410b4182a8c48000410c4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bc80808000360238200242ec8ca7e0e2f0c7e6bf7f370330200242e6e2dea393f0baf43a37032820024101360224200241b3a4c48000360220200241bd81808000360218200242ae9de2a68d94fca925370310200242ced4d890f69ef9a0867f37030820024101360204200241a9a8c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a200141106a410c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a22084100360200200142808080808001370210200141106a41ac91c3800010b59280800020012802142202428cdef7a0f8fa82fb18370308200242fec8b8df95a6c9bddf00370300200141c0006a41086a220941013602002002420437022c20024205370224200241da9cc380003602202002410536021c200241d59cc38000360218200241be81808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200941386c6a2202420437022c20024201370224200241e49cc380003602202002410536021c200241df9cc38000360218200241bd81808000360210200242ae9de2a68d94fca925370308200242ced4d890f69ef9a0867f3703002008200941016a220236020020012001290340220a37031002402002200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200241386c22096a2202420437022c20024206370224200241cf9cc380003602202002410636021c200241c99cc38000360218200241bf81808000360210200242a7ab90cfd8eccda713370308200242dbbef7a79bdbf286a17f3703002001280214210220012001280210360248200120023602402001200220096a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000b810503057f017e027f23808080800041d0006b2201248080808000200141286a41baeac48000410c41f8e3c4800041144104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a419c91c3800010f38e808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41f8e7c48000410610fb83808000200141106a200141c0006a41e9e7c48000410f108384808000200141c0006a200141106a41cbe7c480004108108e84808000200141106a200141c0006a41c7e7c48000410410f483808000200141c0006a200141106a41b5e7c48000411210a384808000200141346a200141c0006a41a4e7c480004107109c848080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a419c91c3800010f48e80800002402007418080808078470d0041bc91c38000411141d091c3800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bce0101037f23808080800041106b220224808080800020022000360208200241086a200110dd848080002002200041086a36020c2002410c6a200110dd8480800020002d001021030240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a20033a00002001200441016a220436020820002d00112100024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a0000200241106a2480808080000bea0603067f017e017f23808080800041d0006b2201248080808000200141106a41186a41aaa8c4800041184182a8c48000410c4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241b3a4c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a200141106a410c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c0006a41086a220841013602002002420437022c20024207370224200241ff9cc380003602202002410936021c200241f69cc38000360218200241bc80808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22086a2202420437022c20024204370224200241f29cc380003602202002410d36021c200241e59cc38000360218200241e980808000360210200242febac4ad81b6fafcb37f37030820024298848fa1dab08ba1743703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000b920603067f017e017f23808080800041d0006b2201248080808000200141286a41c2a8c48000410941cba8c4800041324104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041e00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241003602582002410e36024420024184a9c480003602402002410036023820024106360224200241fea8c48000360220200241ec80808000360218200242e2e68fceaa92ce9c7b370310200242e987d8bed5a3d0fbfb0037030820024101360204200241fda8c480003602002002417e6a20033b000020014103360248200120023602402001200241e0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242e987d8bed5a3d0fbfb003703002002420437022c20024201370224200241b0b4c380003602202002410636021c2002419fb4c38000360218200241ec80808000360210200242e2e68fceaa92ce9c7b3703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841e00010ab80808000000b41bc91c38000411141d091c3800010a181808000000b930403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a7220641ff074b0d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041003a00000c010b200041016a200541800810f4978080001a200041013a00000b200341246a200520062003280218280210118680808000000c010b200041003a00000b20034190016a2480808080000b1e0020012802004191dbc480004105200128020428020c118080808000000b140020012000280204200028020810b4818080000baa0403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a72206410f4b0d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004200370308200042003703000c010b200042003703082000420137030020002005290008370318200020052900003703100b200341246a200520062003280218280210118680808000000c010b20004200370308200042003703000b20034190016a2480808080000bf00603017f017e067f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a722053602242003200328021422063602200240024002402005450d0020032005417f6a22073602242003200641016a3602200240024002400240024020062d000022084103710e0400010302000b200841027621070c030b2007450d0320032005417e6a3602242003200641026a36022020062d00012207450d03200741087420087241027621070c020b200841044f0d0220054105490d0220032005417b6a3602242003200641056a360220200628000122074180808080044f0d010c020b20054104490d0120032005417c6a3602242003200641046a36022020062f0001200641036a2d0000411074722207418002490d01200741087420087241027621070b200341c8006a200341206a10fe8e80800020032802482208418080808078460d00200341c8006a200328024c22092003280250220a10f68080800020032802484101470d012008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002108200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200841024622081b28021021022003200341286a36027c200141b4f4ca800020081b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c010b2000200736020c2000200a36020820002009360204200020083602000b2003411c6a200620052003280210280210118680808000000c010b20004181808080783602000b20034190016a2480808080000bda0403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c210502400240024002402004a722064120490d0020064120460d004100210720052d00200e020201000b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041023a00000c020b410121070b200020073a000020002005290000370001200041196a200541186a290000370000200041116a200541106a290000370000200041096a200541086a2900003700000b200341246a200520062003280218280210118680808000000c010b200041023a00000b20034190016a2480808080000bbb0403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a72206411f4b0d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041003a00000c010b200041013a000020002005290000370001200041196a200541186a290000370000200041116a200541106a290000370000200041096a200541086a2900003700000b200341246a200520062003280218280210118680808000000c010b200041003a00000b20034190016a2480808080000bbe0403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10af8f808000024002402003280248418080808078470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002003290248370200200041086a200341c8006a41086a2802003602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000baa0403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a72206410f4b0d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004200370308200042003703000c010b200042003703082000420137030020002005290008370318200020052900003703100b200341246a200520062003280218280210118680808000000c010b20004200370308200042003703000b20034190016a2480808080000b980403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c21050240024002402004a722064104490d002006417c714104470d010b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041003602000c010b20004101360200200020052900003702040b200341246a200520062003280218280210118680808000000c010b200041003602000b20034190016a2480808080000bbe0403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10bd8f808000024002402003280248418080808078470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002003290248370200200041086a200341c8006a41086a2802003602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000bc10503017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c21050240024002402004a722064104490d002006417c7122074104460d0020074108460d002007410c460d00200641706a413f4b0d010b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004200370308200042003703000c010b200528000021022005280004210120052800082107200042003703082000420137030020002007360258200020013602542000200236025020002005290048370348200020052900403703402000200529003837033820002005290030370330200020052900283703282000200529002037032020002005290018370318200020052900103703102000200528000c36025c0b200341246a200520062003280218280210118680808000000c010b20004200370308200042003703000b20034190016a2480808080000bb90403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10b1888080000240024020032802484101470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041003602000c010b2000200329024c3702042000410c6a200341c8006a410c6a280200360200200041013602000b2003411c6a200620052003280210280210118680808000000c010b200041003602000b20034190016a2480808080000ba40403027f017e027f2380808080004190016b2202248080808000200241086a2000200141002802b482d48000118680808000000240024020022802080d00410321030c010b200241186a41086a200241086a41086a290200220437030020022002290208370318200228021c2105024002402004a72206450d0041022103024020052d00000e020200010b20064101460d004101410220052d000122034101461b410020031b22034102470d010b024041002802b483d48000450d002002413c6a4192a9c4800041022000200110c78c808000200241b881808000ad4220862002418f016aad84370330200241b981808000ad4220862002413c6aad84370328410028029080d480002103410028028c80d48000210141002802b083d480002100200242023702800120024102360278200241aca9c480003602742002411036027020024195aac4800036026c20024101360268200241bca9c48000ad4280808080900b843702602002410036025c200241a5aac48000ad42808080808004843702542002410036025020024281808080c0033702482003419cf4ca8000200041024622001b28021021032002200241286a36027c200141b4f4ca800020001b200241c8006a2003118b8080800000200228023c450d00200228024022032003417e6a2f00006b41002802ec82d48000118180808000000b410321030b200241246a200520062002280218280210118680808000000b20024190016a24808080800020030bb30403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10ad8f8080000240024020032802482207418080808078470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b2000200329024c370204200020073602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000bbe0403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10fe8e808000024002402003280248418080808078470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002003290248370200200041086a200341c8006a41086a2802003602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000bbe0403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a108485808000024002402003280248418080808078470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002003290248370200200041086a200341c8006a41086a2802003602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000b8b0403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a7220641074b0d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200042003703000c010b20004201370300200020052900003703080b200341246a200520062003280218280210118680808000000c010b200042003703000b20034190016a2480808080000b8c0403027f017e027f2380808080004190016b2202248080808000200241086a2000200141002802b482d48000118680808000000240024020022802080d00410221030c010b200241186a41086a200241086a41086a290200220437030020022002290208370318200228021c2105024002402004a72206450d004101410220052d000022034101461b410020031b22034102470d010b024041002802b483d48000450d002002413c6a4192a9c4800041022000200110c78c808000200241b881808000ad4220862002418f016aad84370330200241b981808000ad4220862002413c6aad84370328410028029080d480002101410028028c80d48000210041002802b083d480002103200242023702800120024102360278200241aca9c480003602742002411036027020024195aac4800036026c20024101360268200241bca9c48000ad4280808080900b843702602002410036025c200241a5aac48000ad42808080808004843702542002410036025020024281808080c0033702482001419cf4ca8000200341024622031b28021021012002200241286a36027c200041b4f4ca800020031b200241c8006a2001118b8080800000200228023c450d00200228024022012001417e6a2f00006b41002802ec82d48000118180808000000b410221030b200241246a200520062002280218280210118680808000000b20024190016a24808080800020030b990703017f017e077f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a7220536022420032003280214220636022002400240024020054120490d00200341c8006a41086a200641086a290000370300200341c8006a41106a200641106a290000370300200341c8006a41186a200641186a2900003703002003200641206a360220200320062900003703482003200541606a220736022420074104490d002003200641246a36022020032005415c6a220736022420074104490d00200628002021082003200541586a3602242003200641286a36022020062800242109200341286a200341206a10b08f80800020032802282207418080808078460d002003280230210a200328022c210b200341286a200341206a10b08f8080002003280228418080808078470d012007450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b2000200329022837020c200041146a200341286a41086a280200360200200041306a200341e0006a290300370000200041286a200341d8006a290300370000200041206a200341c8006a41086a290300370000200020032903483700182000200936023c200020083602382000200a3602082000200b360204200020073602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000bda0403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a1097858080000240024020032802484102470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041023602000c010b20002003290248370200200041186a200341c8006a41186a290200370200200041106a200341c8006a41106a290200370200200041086a200341c8006a41086a2902003702000b2003411c6a200620052003280210280210118680808000000c010b200041023602000b20034190016a2480808080000bd10403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10d48480800002400240024020032802484101460d0020032903502104200341c8006a200341206a10d48480800020032802484101470d010b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200042003703000c010b2000200329035037031020002004370308200042013703000b2003411c6a200620052003280210280210118680808000000c010b200042003703000b20034190016a2480808080000bad0403027f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d48000118680808000000240024020032802080d00410321040c010b200341186a41086a200341086a41086a290200220537030020032003290208370318200328021c21060240024002402005a72207450d000240024020062d000022040e03000401020b20074105490d0120062800012108410021040c030b410221040c010b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002104410028028c80d48000210841002802b083d480002102200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482004419cf4ca8000200241024622021b28021021042003200341286a36027c200841b4f4ca800020021b200341c8006a2004118b8080800000200328023c450d00200328024022042004417e6a2f00006b41002802ec82d48000118180808000000b410321040b0b200341246a200620072003280218280210118680808000000b200020083602042000200436020020034190016a2480808080000bbe0403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10ba8f808000024002402003280248418080808078470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002003290248370200200041086a200341c8006a41086a2802003602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000ba20403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c21050240024002402004a722064108490d002006417c714108470d010b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200042003703000c010b2000420137030020002005280008360210200020052900003703080b200341246a200520062003280218280210118680808000000c010b200042003703000b20034190016a2480808080000b930403027f017e027f2380808080004190016b2202248080808000200241086a2000200141002802b482d48000118680808000000240024020022802080d00410221030c010b200241186a41086a200241086a41086a290200220437030020022002290208370318200228021c2105024002402004a72206450d00024020052d000022030e020200010b4101210320064101460d0020052d0001450d010b024041002802b483d48000450d002002413c6a4192a9c4800041022000200110c78c808000200241b881808000ad4220862002418f016aad84370330200241b981808000ad4220862002413c6aad84370328410028029080d480002103410028028c80d48000210141002802b083d480002100200242023702800120024102360278200241aca9c480003602742002411036027020024195aac4800036026c20024101360268200241bca9c48000ad4280808080900b843702602002410036025c200241a5aac48000ad42808080808004843702542002410036025020024281808080c0033702482003419cf4ca8000200041024622001b28021021032002200241286a36027c200141b4f4ca800020001b200241c8006a2003118b8080800000200228023c450d00200228024022032003417e6a2f00006b41002802ec82d48000118180808000000b410221030b200241246a200520062002280218280210118680808000000b20024190016a24808080800020030b8c0603017f017e097f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10fe8e80800002400240024020032802482207418080808078460d00200328024c21080240200328022422094104490d002003280250210a20032003280220220b41046a220c36022020032009417c6a220d360224200d4120490d00200b280000210d2003200b41246a220b36022020032009415c6a2209360224200941034b0d020b2007450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b2000200d36020c2000200a36020820002008360204200020073602002000200c2900003700102000200b280000360230200041186a200c41086a290000370000200041206a200c41106a290000370000200041286a200c41186a2900003700000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000b890503017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a108e858080000240024020032802484101470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041003602000c010b2000200329024c3702042000412c6a200341c8006a412c6a280200360200200041246a200341c8006a41246a2902003702002000411c6a200341c8006a411c6a290200370200200041146a200341c8006a41146a2902003702002000410c6a200341c8006a410c6a290200370200200041013602000b2003411c6a200620052003280210280210118680808000000c010b200041003602000b20034190016a2480808080000b9b0804067f017e027f017e23808080800041d0006b2201248080808000200141286a41c5aac48000411041d5aac4800041174104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241e680808000360218200242e1c1c0fddab9f88065370310200242d0b0c2c0bfa6f4d53c37030820024101360204200241b3a4c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a22084100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242e1c1c0fddab9f88065370308200242d0b0c2c0bfa6f4d53c370300200141c0006a41086a220941013602002002420437022c20024201370224200241b1b4c380003602202002410636021c200241b2b4c38000360218200241e680808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200941386c6a2202420437022c20024201370224200241b1b4c380003602202002410b36021c200241b8b4c38000360218200241e680808000360210200242e1c1c0fddab9f88065370308200242d0b0c2c0bfa6f4d53c3703002008200941016a220236020020012001290340220a37031002402002200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200241386c22096a2202420437022c20024201370224200241b1b4c380003602202002410936021c200241c3b4c38000360218200241e680808000360210200242e1c1c0fddab9f88065370308200242d0b0c2c0bfa6f4d53c3703002001280214210220012001280210360248200120023602402001200220096a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000ba80201017f23808080800041106b22022480808080002002200041c8006a36020c2002410c6a200110dd848080002002200041d0006a36020c2002410c6a200110dd848080002000200110ba89808000200041186a200110ba89808000200041306a200110ba898080002002200041a0016a36020c2002410c6a200110dd848080002002200041a8016a36020c2002410c6a200110dd84808000200041d8006a200110ba89808000200041f0006a200110ba8980800020004188016a200110ba898080002002200041f8016a36020c2002410c6a200110dd84808000200220004180026a36020c2002410c6a200110dd84808000200041b0016a200110ba89808000200041c8016a200110ba89808000200041e0016a200110ba89808000200241106a2480808080000bf21003017f017e047f2380808080004180036b220424808080800002400240024002400240024002400240024002400240024002402001290300427e7c2205a7410120054203541b0e03000102000b200141d0006a210620012802500d02200141d8006a10ce8d808000220141ff01714102460d0220014180feff077141087621020c030b200441dd016a200141c8006a290000370000200441d5016a200141c0006a290000370000200441cd016a200141386a290000370000200441e0006a41106a200141106a290300370300200441e0006a41186a200141186a290300370300200441e0006a41206a200141206a290300370300200441e0006a41286a200141286a290300370300200420012900303700c501200420012903003703602004200141086a29030037036841002d008083d480001a411041002802f482d48000118280808000002206450d052006200641036a417c7120066b22076a220641f4e6c4800036020c2006410136020820064281808080103702002006417e6a20073b0000200420063602c001200441013a00c40141002d008083d480001a411041002802f482d48000118280808000002207450d062007200741036a417c7120076b22086a220741dce6c4800036020c2007410136020820074281808080103702002007417e6a20083b000020062006280200417f6a2208360200024020080d00200441c0016a10ca878080000b200441d8026a41086a200441c0016a41086a290200370300200441d8026a41106a200441c0016a41106a290200370300200441d8026a41186a200441c0016a41186a290200370300200441d8026a41206a200441c0016a41206a290200370300200420073602c001200420042902c0013703d802200441c0016a200141d0006a41900110f4978080001a2000200441e0006a200441d8026a200441c0016a20022003410010c8868080000c040b20044190016a41106a200141206a29030037030020044190016a41186a200141286a29030037030020044190016a41206a200141306a29030037030020044190016a41286a200141386a29030037030020042001290310370390012004200141186a2903003703980120012d0040210841002d008083d480001a411041002802f482d48000118280808000002206450d062006200641036a417c7120066b22076a220641f4e6c4800036020c2006410136020820064281808080103702002006417e6a20073b0000200420063602c001200441023a00c40141002d008083d480001a411041002802f482d48000118280808000002207450d072007200741036a417c7120076b22096a220741dce6c4800036020c2007410136020820074281808080103702002007417e6a20093b000020062006280200417f6a2209360200024020090d00200441c0016a10ca878080000b200441d8026a41086a200441c0016a41086a290200370300200441d8026a41106a200441c0016a41106a290200370300200441d8026a41186a200441c0016a41186a290200370300200441d8026a41206a200441c0016a41206a290200370300200420073602c001200420042902c0013703d802200441c0016a200141d0006a41900110f4978080001a200020044190016a200441d8026a200441c0016a20022003200810c8868080000c030b20042002200310f785808000220141ff01714102460d0120014180feff077141087621020b200020023b0009200020013a000820004203370300200610f8858080000c010b200441c0016a200641900110f4978080001a41002d008083d480001a411041002802f482d48000118280808000002201450d052001200141036a417c7120016b22036a220141f4e6c4800036020c2001410136020820014281808080103702002001417e6a20033b0000200420013602d802200441023a00dc0241002d008083d480001a411041002802f482d48000118280808000002203450d062003200341036a417c7120036b22076a220341dce6c4800036020c2003410136020820034281808080103702002003417e6a20073b000020012001280200417f6a2207360200024020070d00200441d8026a10ca878080000b200441386a41086a200441d8026a41086a290200370300200441386a41106a200441d8026a41106a290200370300200441386a41186a200441d8026a41186a290200370300200441386a41206a200441d8026a41206a290200370300200420033602d802200420042902d8023703380240024020042d003c450d0020042802382201280208200441c0016a200128020c280214118480808000000d00200441206a410610cf8c80800020012001280200417f6a2206360200200441003a001820044200370300024020060d00200441386a10ca878080000b200441c0016a10f885808000200421010c010b20042006200441386a10f985808000200420042903004202514103746a21010b200441c0016a41186a200141186a290300370300200441c0016a41106a200141106a290300370300200441c0016a41086a200141086a290300370300200420012903003703c0010240024002402002200441c0016a10dc8d808000220141ff01714102460d0020014180feff077141087621060c010b2002200441c0016a10dc8d808000220141ff01714102460d0120014180feff077141087621060b200020063b0009200020013a0008200042033703000c010b20002004290300370300200041306a200441306a290300370300200041286a200441286a290300370300200041206a200441206a290300370300200041186a200441186a290300370300200041106a200441106a290300370300200041086a200441086a2903003703000b20044180036a2480808080000f0b4104411010ab80808000000b4104411010ab80808000000b4104411010ab80808000000b4104411010ab80808000000b4104411010ab80808000000b4104411010ab80808000000b8305010c7f23808080800041c0006b2203248080808000200341086a2001200210cf858080000240024020032802182204418080808078470d0020032f010820032d000a4110747221050c010b200328023821062003280228210720032802242108200328021c2109200328022c210a024020032802202205450d002005410171210b4100210c024020054101460d002005417e71210d200921054100210c034002402005280200450d00200541046a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b02402005410c6a280200450d00200541106a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b200541186a2105200d200c41026a220c470d000b0b200b450d002009200c410c6c6a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b02402004450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b0240200a450d00200a41017121044100210c0240200a4101460d00200a417e71210d200721054100210c034002402005280200450d00200541046a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b02402005410c6a280200450d00200541106a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b200541186a2105200d200c41026a220c470d000b0b2004450d002007200c410c6c6a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b02402008450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b20012002200610cd8580800021050b200341c0006a24808080800020050bb20d01077f024002400240024002400240024002400240024020002802000e080102090903040500010b20002802084104470d08200028020c450d080c060b0240024002400240024002400240024020002d0008417f6a0e0a010f0203040506070f0f000b200028020c0d0c0c0e0b200028020c0d0b0c0d0b200028020c0d0a0c0c0b200028020c0d090c0b0b2000410c6a10a68f808000200028020c0d080c0a0b2000410c6a10aa8f808000200028020c0d070c090b2000280210450d08200028021421010c070b200028020c0d050c070b024020002802042201450d0002402001418080808078470d002000280208450d08410821010c050b200028020822012001417e6a2f00006b41002802ec82d48000118180808000000b200041d0006a10a688808000200028023c2102024020002802402203450d0041002104034002402002200441f0006c6a22052802082206450d00200528020421010340024020012d0000220741034b0d00200120074102744188ecc480006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012006417f6a22060d000b0b02402005280200450d00200528020422012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280238450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b0240200028024441808080807872418080808078460d00200028024822012001417e6a2f00006b41002802ec82d48000118180808000000b20002802602104024020002802642201450d002001410171210241002106024020014101460d002001417e7121052004210141002106034002402001280200450d00200141046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012005200641026a2206470d000b0b2002450d00200420064104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200028025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402000280268450d00200028026c22012001417e6a2f00006b41002802ec82d48000118180808000000b200028027821040240200028027c2207450d002007410171210241002106024020074101460d002004411c6a21012007417e7121054100210603400240200141686a280200450d002001416c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141286a21012005200641026a2206470d000b0b2002450d002004200641146c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402000280274450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200028028001450d0641800121010c030b024002400240024002400240024020002d0010417f6a0e07000102030405060c0b20002d00144102470d0b2000280218450d0b200028021c21010c0a0b024020002d00144102470d002000280218450d00200028021c22012001417e6a2f00006b41002802ec82d48000118180808000000b20002d00384102470d0a200028023c450d0a200028024021010c090b20002d00144102470d092000280218450d09200028021c21010c080b20002d00144102470d082000280218450d08200028021c21010c070b20002d00144102470d072000280218450d07200028021c21010c060b2000280214450d06200028021821010c050b20002d00144102470d052000280218450d05200028021c21010c040b024002400240024020002d00082201417c6a41042001417b6a41ff01714105491b417f6a0e0400010203080b200028020c220110f8858080000c060b2000280220220110f8858080000c050b20002d000c4102470d052000280210450d05200028021421010c040b024020014102470d00200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b200028022c220110f8858080000c030b20002802042201418480808078480d032001450d03200028020821010c020b200041046a20016a28020021010c010b200028021021010b20012001417e6a2f00006b41002802ec82d48000118180808000000b0bb50d01077f2380808080004180036b220324808080800002400240024002400240024002400240024020012802000e080102030004050607010b000b200341c8006a200141286a290300370300200341c0006a200141206a290300370300200341386a200141186a290300370300200341306a200141106a290300370300200341086a200241086a290200370300200341106a200241106a290200370300200341186a200241186a290200370300200341206a200241206a2902003703002003200129030837032820032002290200370300200341003602f802200341003602f0022003200341f0026a3602fc02200341b0016a200341d00010f4978080001a2003200341fc026a36028002200041f0ffd38000200341b0016a10dc87808000200341f0026a10c5898080000c060b2003200141046a41880110f497808000220141a8016a200241206a290200370200200141a0016a200241186a29020037020020014198016a200241106a29020037020020014190016a200241086a2902003702002001200229020037028801200141003602f802200141003602f0022001200141f0026a3602fc02200141b0016a200141b00110f4978080001a2001200141fc026a3602e002200041f0ffd38000200141b0016a10e187808000200141f0026a10c5898080000c050b200320012903083703f0022003410036020820034100360200200320033602fc02200341b0016a41206a200241206a290200370300200341b0016a41186a200241186a290200370300200341b0016a41106a200241106a290200370300200341b0016a41086a200241086a290200370300200320022902003703b0012003200341fc026a3602dc012003200341f0026a3602d801200041f0ffd38000200341b0016a10e087808000200310c5898080000c040b2003200141106a41e00010f49780800022014180016a200241206a290200370300200141f8006a200241186a290200370300200141f0006a200241106a290200370300200141e8006a200241086a29020037030020012002290200370360200141003602f802200141003602f0022001200141f0026a3602fc02200141b0016a200141900110f4978080001a2001200141fc026a3602c002200041f0ffd38000200141b0016a10dd87808000200141f0026a10c5898080000c030b200341c8006a200141286a290300370300200341c0006a200141206a290300370300200341386a200141186a290300370300200341306a200141106a290300370300200341086a200241086a290200370300200341106a200241106a290200370300200341186a200241186a290200370300200341206a200241206a2902003703002003200129030837032820032002290200370300200341003602f802200341003602f0022003200341f0026a3602fc02200341b0016a200341d00010f4978080001a2003200341fc026a36028002200041f0ffd38000200341b0016a10da87808000200341f0026a10c5898080000c020b200341086a22042001410c6a280200360200200341146a200241086a2902003702002003411c6a200241106a290200370200200341246a200241186a2902003702002003412c6a200241206a290200370200200320012902043703002003200229020037020c200341003602f802200341003602f0022003200341f0026a3602fc02200341b0016a41306a200341306a280200360200200341b0016a41286a200341286a290300370300200341b0016a41206a200341206a290300370300200341b0016a41186a200341186a290300370300200341b0016a41106a200341106a290300370300200341b0016a41086a2004290300370300200320032903003703b0012003200341fc026a3602e401200041f0ffd38000200341b0016a10de87808000200341f0026a10c5898080000c010b200341106a22042002290200370300200341086a2205200141106a290300370300200341186a2206200241086a290200370300200341206a2207200241106a290200370300200341286a2208200241186a290200370300200341306a2209200241206a29020037030020032001290308370300200341003602f802200341003602f0022003200341f0026a3602fc02200341b0016a41306a2009290300370300200341b0016a41286a2008290300370300200341b0016a41206a2007290300370300200341b0016a41186a2006290300370300200341b0016a41106a2004290300370300200341b0016a41086a2005290300370300200320032903003703b0012003200341fc026a3602e801200041f0ffd38000200341b0016a10db87808000200341f0026a10c5898080000b20034180036a2480808080000bfe1204017f017e077f017e2380808080004190056b220524808080800002400240024002400240024002400240024002400240024002402001290300427e7c2206a7410120064203541b0e03000102000b2001280250450d0220054181023b0190030c030b200541ad036a200141c8006a290000370000200541a5036a200141c0006a2900003700002005419d036a200141386a290000370000200520012900303700950341002d008083d480001a411041002802f482d48000118280808000002207450d062007200741036a417c7120076b22086a220741f4e6c4800036020c2007410136020820074281808080103702002007417e6a20083b00002005200736029003200541013a00940341002d008083d480001a411041002802f482d48000118280808000002208450d072008200841036a417c7120086b22096a220841dce6c4800036020c2008410136020820084281808080103702002008417e6a20093b000020072007280200417f6a2209360200024020090d0020054190036a10ca878080000b200541386a41086a20054190036a41086a290200370300200541386a41106a20054190036a41106a290200370300200541386a41186a20054190036a41186a290200370300200541386a41206a20054190036a41206a29020037030020052008360290032005200529029003370338200541e0006a2001200541386a200141d0006a200320042002410010c68680800020052903b00142028520052903b8018450450d04200020052f01603b01002000418080808078360210200041026a20052d00623a00000c0a0b20012d0040210941002d008083d480001a411041002802f482d48000118280808000002207450d072007200741036a417c7120076b22086a220741f4e6c4800036020c2007410136020820074281808080103702002007417e6a20083b00002005200736029003200541023a00940341002d008083d480001a411041002802f482d48000118280808000002208450d08200141106a210a2008200841036a417c7120086b220b6a220841dce6c4800036020c2008410136020820084281808080103702002008417e6a200b3b000020072007280200417f6a220b3602000240200b0d0020054190036a10ca878080000b200541e8026a41086a20054190036a41086a290200370300200541e8026a41106a20054190036a41106a290200370300200541e8026a41186a20054190036a41186a290200370300200541e8026a41206a20054190036a41206a290200370300200520083602900320052005290290033703e802200541e0006a200a200541e8026a200141d0006a200320042002200910c68680800020052903b00142028520052903b8018450450d04200020052f01603b01002000418080808078360210200041026a20052d00623a00000c090b20054190036a2002200141d8006a10cf8d80800020052802a0032208418080808078470d010b200520052d00920322013a0062200520052f01900322073b0160200041026a20013a0000200020073b010020004180808080783602100c070b200541e8026a41086a220c20054190036a41086a220229030037030020052005290390033703e80220052802a403210a20052802ac03210d20052802b003210b20052903b803210620052802a803210720052802b403210920054190036a200141d0006a20032004108487808000024020052802a0032201418080808078470d00200520052d00920322013a0062200520052f01900322023b0160200041026a20013a0000200020023b0100200041808080807836021002402007450d002007410171210441002100024020074101460d002007417e712102200a210141002100034002402001280200450d00200141046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012002200041026a2200470d000b0b2004450d00200a2000410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402008450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402009450d002009410171210441002100024020094101460d002009417e712102200b210141002100034002402001280200450d00200141046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012002200041026a2200470d000b0b2004450d00200b2000410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200d450d07200b200b417e6a2f00006b41002802ec82d48000118180808000000c070b200541e0006a41086a2002290300220e370300200541086a411c6a20054190036a411c6a290200370200200541086a41246a20054190036a41246a290200370200200541086a412c6a20054190036a412c6a280200360200200541086a41086a200e370300200520052902a40337021c2005200529039003370308200520013602182002200c290300370300200520063703b803200520093602b4032005200b3602b0032005200d3602ac03200520073602a8032005200a3602a403200520083602a003200520052903e802370390032000200541086a20054190036a10f8968080000c060b20054190036a200541e0006a41800210f4978080001a20052802e00422012001280200417f6a220736020020054180026a2101024020070d00200541e0046a10ca878080000b20002001290300370300200041286a200141286a290300370300200041206a200141206a290300370300200041186a200141186a290300370300200041106a200141106a290300370300200041086a200141086a2903003703000c050b20054190036a200541e0006a41800210f4978080001a20052802e00422012001280200417f6a220736020020054180026a2101024020070d00200541e0046a10ca878080000b20002001290300370300200041286a200141286a290300370300200041206a200141206a290300370300200041186a200141186a290300370300200041106a200141106a290300370300200041086a200141086a2903003703000c040b4104411010ab80808000000b4104411010ab80808000000b4104411010ab80808000000b4104411010ab80808000000b20054190056a2480808080000be401000240024002400240024002400240024020012802000e080102030004050607010b000b2000200141086a10aa8e8080000f0b20004200370308200041003a0021200041106a4200370300200041186a4200370300200042e807420020012802044180808080784622011b37030020004101410220011b3a00200f0b20004200370310200042d50b370308200042c097acc900370300200041023b0120200041186a42003703000f0b2000200141106a10bb8c8080000f0b2000200141086a10bf878080000f0b2000200141046a10ae8e8080000f0b2000200141086a10b18d8080000baa0301047f2380808080004180056b220224808080800002400240024020012802042203450d0020012003417f6a36020420012001280200220341016a36020020032d000022034103490d010b200042053703000c010b200241c0026a200110f786808000024020022903c0024205520d00200042053703000c010b2002200241c0026a41c00210f4978080002104024020012802042205411f4b0d002000420537030002402004290300427e7c4203540d0020042d003041ff01714102470d002004280234450d00200428023822012001417e6a2f00006b41002802ec82d48000118180808000000b200441a0016a10f88580800020042802b00241808080807872418080808078460d0120042802b40222012001417e6a2f00006b41002802ec82d48000118180808000000c010b2001200541606a36020420012001280200220541206a360200200020052900003700c102200041c9026a200541086a290000370000200041d1026a200541106a290000370000200041d9026a200541186a2900003700002000200441c0026a41c00210f49780800020033a00c0020b20024180056a2480808080000bf90c02057f047e23808080800041d0026b22022480808080000240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000002400240024002400240024002400240024020040e09000102030405070608070b20024190016a200110ee8d8080000240024020022d0090010d00410821030c010b200241f0016a41206a20024190016a41206a2903002207370300200241f0016a41186a20024190016a41186a2903002208370300200241f0016a41106a20024190016a41106a2903002209370300200241f0016a41086a20024190016a41086a290300220a370300200241086a410c6a200a370200200241086a41146a2009370200200241086a411c6a2008370200200241086a41246a2007370200200220022903900122073703f0012002200737020c200020022902083702042000410c6a200241086a41086a290200370200200041146a200241086a41106a2902003702002000411c6a200241086a41186a290200370200200041246a200241086a41206a2902003702002000412c6a200241306a280200360200410021030b200020033602000c0a0b200241086a2001109d878080004108210302402002280208418180808078460d00200041046a200241086a41880110f4978080001a410121030b200020033602000c090b024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a0000200441ff01710d00200241086a200110d38480800020022802084101470d010b200041083602000c090b20002002290310370308200041023602000c080b02402001280200220328020c220128020828020022052802042204450d0020052004417f6a36020420052005280200220441016a3602002001427f200129030042017c22072007501b37030020042d000021010240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20013a00000b200041083602000c070b20024190016a200110ed8c808000024020022d0090010d00200041083602000c070b200241f0016a20024190016a41e00010f4978080001a200241146a200241f0016a41e00010f4978080001a200041046a200241086a41ec0010f4978080001a200041043602000c060b20024190016a200110db86808000024020022d009001410a470d00200041083602000c060b200241f0016a41206a20024190016a41206a2903002207370300200241f0016a41186a20024190016a41186a2903002208370300200241f0016a41106a20024190016a41106a2903002209370300200241f0016a41086a20024190016a41086a290300220a370300200241086a410c6a200a370200200241086a41146a2009370200200241086a411c6a2008370200200241086a41246a2007370200200220022903900122073703f0012002200737020c200020022902083702042000410c6a200241086a41086a290200370200200041146a200241086a41106a2902003702002000411c6a200241086a41186a290200370200200041246a200241086a41206a2902003702002000412c6a200241306a280200360200200041053602000c050b200241086a200110b18e8080004108210302402002280208418480808078460d00200020022902083702042000410c6a200241106a280200360200410621030b200020033602000c040b200041083602000c030b20024190016a200110dc8c808000200228029001450d01200241f0016a41086a20024190016a41086a2903002207370300200241086a410c6a2007370200200220022903900122073703f0012002200737020c200020022902083702042000410c6a200241086a41086a290200370200200041146a200241186a280200360200200041073602000c020b200041083602000c010b200041083602000b200241d0026a2480808080000bf00c02057f047e23808080800041d0026b22022480808080000240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000002400240024002400240024002400240024020040e09000102030405070608070b20024190016a200110ed8d8080000240024020022d0090010d00410821030c010b200241f0016a41206a20024190016a41206a2903002207370300200241f0016a41186a20024190016a41186a2903002208370300200241f0016a41106a20024190016a41106a2903002209370300200241f0016a41086a20024190016a41086a290300220a370300200241086a410c6a200a370200200241086a41146a2009370200200241086a411c6a2008370200200241086a41246a2007370200200220022903900122073703f0012002200737020c200020022902083702042000410c6a200241086a41086a290200370200200041146a200241086a41106a2902003702002000411c6a200241086a41186a290200370200200041246a200241086a41206a2902003702002000412c6a200241306a280200360200410021030b200020033602000c0a0b200241086a2001109c878080004108210302402002280208418180808078460d00200041046a200241086a41880110f4978080001a410121030b200020033602000c090b024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a0000200441ff01710d00200241086a200110d58480800020022802084101470d010b200041083602000c090b20002002290310370308200041023602000c080b02402001280200220328020c220128020822052802042204450d0020052004417f6a36020420052005280200220441016a3602002001427f200129030042017c22072007501b37030020042d000021010240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20013a00000b200041083602000c070b20024190016a200110ec8c808000024020022d0090010d00200041083602000c070b200241f0016a20024190016a41e00010f4978080001a200241146a200241f0016a41e00010f4978080001a200041046a200241086a41ec0010f4978080001a200041043602000c060b20024190016a200110da86808000024020022d009001410a470d00200041083602000c060b200241f0016a41206a20024190016a41206a2903002207370300200241f0016a41186a20024190016a41186a2903002208370300200241f0016a41106a20024190016a41106a2903002209370300200241f0016a41086a20024190016a41086a290300220a370300200241086a410c6a200a370200200241086a41146a2009370200200241086a411c6a2008370200200241086a41246a2007370200200220022903900122073703f0012002200737020c200020022902083702042000410c6a200241086a41086a290200370200200041146a200241086a41106a2902003702002000411c6a200241086a41186a290200370200200041246a200241086a41206a2902003702002000412c6a200241306a280200360200200041053602000c050b200241086a200110b28e8080004108210302402002280208418480808078460d00200020022902083702042000410c6a200241106a280200360200410621030b200020033602000c040b200041083602000c030b20024190016a200110db8c808000200228029001450d01200241f0016a41086a20024190016a41086a2903002207370300200241086a410c6a2007370200200220022903900122073703f0012002200737020c200020022902083702042000410c6a200241086a41086a290200370200200041146a200241186a280200360200200041073602000c020b200041083602000c010b200041083602000b200241d0026a2480808080000ba50201047f23808080800041106b220224808080800041002103024002400240200010808680800022044100480d00024020040d00410121030c030b41002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b0b1c4800010b980808000000b2003417e6a41003b00000b2002410036020c20022003360208200220043602042000200241046a10818680800020022802082104200228020421050240200228020c22032001280200200128020822006b4d0d0020012000200310f491808000200128020821000b200128020420006a2004200310f4978080001a2001200020036a36020802402005450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241106a2480808080000bdf0503027f017e017f024002400240024002400240024002400240024020002802000e080102030004050607010b000b41082101024002400240024002400240024002400240024020002d0008417f6a0e0b0009010203040506070708000b200028021441046a21010c080b200028021441046a21010c070b200028021441046a21010c060b200028021441186c41047221010c050b2000280214410c6c41046a21010c040b417f2000280218220041086a22012001200041046a491b21010c030b200028021441046a21010c020b410021010c010b200028021441046a21010b200141016a21010c070b024002402000280204418080808078460d00417f417f417f417f417f200028020c2201410c6a22022002200141046a491b220141032000350258420c7e2203a741046a2003422088a71b6a220220022001491b2201200028024041f0006c6a41046a220220022001491b22014101200028024c41056a2000280244418080808078461b6a220220022001491b2201417f417f200028027041246c200028026441047441047222026a41046a220420042002491b2202417f200028027c41146c41046a220420002802880141286c6a41046a220020002004491b6a220020002002491b6a220020002001491b21000c010b200028021041046a21000b200041016a21010c060b02402000290308220342c0005a0d00410221010c060b2003428080015a0d04410321010c050b200041106a10ef8c80800021010c040b200041086a10dd8680800021010c030b4101210102400240200028020422024182808080786a41012002418480808078481b417f6a0e050004040101000b200028020c41056a21010c030b410521010c020b410821010240024002402000280208417f6a0e050002020102000b4109410520002802101b21010c010b2000280214410a7441047221010b200141016a21010c010b024020034280808080045a0d00410521010c010b410a200379a74103766b21010b200141016a0bb60501037f23808080800041106b220224808080800002400240024002400240024002400240024020002802000e080102030004050607010b000b200041086a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00002003200110ef8d8080000c060b200041046a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a000020032001109e878080000c050b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041086a2104200128020420036a41023a00002001200341016a2200360208024020012802002000470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00002002200436020c2002410c6a200110dd848080000c040b200041106a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41043a00002003200110ee8c8080000c030b200041086a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41053a00002003200110dc868080000c020b200041046a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41073a00002003200110b08e8080000c010b200041086a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41083a00002003200110dd8c8080000b200241106a2480808080000ba10301057f23808080800041206b220324808080800002400240200028020c220441c0004f0d00410121050c010b0240200441ffff004b0d00410221050c010b410441052004418080808004491b21050b4100210602400240417f2000280208220420056a41046a220720072005491b22054100480d0041002d008083d480001a200541002802f482d480001182808080000022070d01410121060b2006200541b0b1c4800010b980808000000b2007417e6a41003b000020034100360214200320073602102003200536020c20032000410c6a36021c2003411c6a2003410c6a10dc8480800020002802042105200320043602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402004200328020c200328021422006b4d0d002003410c6a2000200410f491808000200328021421000b200328021020006a2005200410f4978080001a200328020c21072001200220032802102205200020046a41002802dc82d480001183808080000002402007450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000bd10503037f017e047f23808080800041106b2202248080808000410121034101210402402001290300220542c000540d0002400240200542808001540d0020054280808080045a0d01410421040c020b410221040c010b4109200579a74103766b21040b02402001290308220542c000540d0002400240200542808001540d0020054280808080045a0d01410421030c020b410221030c010b4109200579a74103766b21030b410121064101210702402001290310220542c000540d0002400240200542808001540d0020054280808080045a0d01410421070c020b410221070c010b4109200579a74103766b21070b02402001290318220542c000540d0002400240200542808001540d0020054280808080045a0d01410421060c020b410221060c010b4109200579a74103766b21060b410121084101210902402001290320220542c000540d0002400240200542808001540d0020054280808080045a0d01410421090c020b410221090c010b4109200579a74103766b21090b02402001290328220542c000540d0002400240200542808001540d0020054280808080045a0d01410421080c020b410221080c010b4109200579a74103766b21080b41002d008083d480001a0240200320046a20076a20066a20096a20086a220441002802f482d48000118280808000002203450d002003417e6a41003b0000200241086a2206410036020020022003360204200220043602002002200136020c2002410c6a200210dd848080002002200141086a36020c2002410c6a200210dd848080002002200141106a36020c2002410c6a200210dd848080002002200141186a36020c2002410c6a200210dd848080002002200141206a36020c2002410c6a200210dd848080002002200141286a36020c2002410c6a200210dd84808000200041086a200628020036020020002002290200370200200241106a2480808080000f0b4101200441b0b1c4800010b980808000000bdf0301097f23808080800041106b220324808080800041002d008083d480001a02400240410141002802f482d48000118280808000002204450d00200320043602082004417e6a41003b00002003410036020c2003410136020441002d008083d480001a412041002802f482d48000118280808000002204450d012004417e6a220541003b000020042000290001370000200441086a2206200041096a290000370000200441106a2207200041116a290000370000200441186a2208200041196a290000370000200341046a4100412010f49180800020032802082209200328020c220a6a220b2004290000370000200b41086a2006290000370000200b41106a2007290000370000200b41186a20082900003700002003200a41206a220b36020c200420052f00006b41002802ec82d480001181808080000020002d00002100024020032802042204200b470d00200341046a200b410110f4918080002003280204210420032802082109200328020c210b0b2009200b6a20003a0000200120022009200b41016a41002802dc82d480001183808080000002402004450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000f0b4101410110ab80808000000b4101412010ab80808000000bfb0402057f017e23808080800041106b220224808080800041014105200128026c1b210341c100210402400240024002400240024002400240024020012d0000220541626a22064102200641ff01714106491b41ff01710e06000104020803000b200141086a10e98d80800021040c070b4100210402400240024020012d00080e06080008000102080b410421040c070b41012106410121042001290310220742c000540d052007428080015a0d04410221040c050b4121410120012d00091b21040c050b4101210402400240024020012d00040e0400010802000b20012d000841027441c8ebc480006a28020021040c070b41c200412220012d00251b21040c060b20012d000841027441c8ebc480006a28020021040c050b4109410220012d00081b21040c040b200541027441d0eac480006a28020021040c030b024020074280808080045a0d00410421040c010b4109200779a74103766b21040b02402001290318220742c000540d0002400240200742808001540d0020074280808080045a0d01410420046a21040c030b410220046a21040c020b4109200779a74103766b21060b200620046a21040b200441016a21040b4100210602400240417f417f200420036a41016a220420042003491b220320012802684105746a41046a220420042003491b22034100480d0041002d008083d480001a200341002802f482d480001182808080000022040d01410121060b2006200341b0b1c4800010b980808000000b2004417e6a41003b0000200241046a41086a2206410036020020022004360208200220033602042001200241046a10d185808000200041086a200628020036020020002002290204370200200241106a2480808080000bd30101057f23808080800041206b220124808080800041002102200141003602102001428080808010370208200141146a10868680800041012103200128021821040240200128021c2205450d00200141086a4100200510f491808000200128020c2103200128021021020b200320026a2004200510f4978080001a2001200220056a36021002402001280214450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20002001290208370200200041086a200141086a41086a280200360200200141206a2480808080000bcb09010a7f23808080800041f0006b22082480808080004101210902400240024002400240024020022d00044101470d002001280200210a200841e4006a200241056a220110c98680800020082008280268220b200828026c10e3858080004100210c02402008280200410171450d002008280258200828025c724521092008280250210c0b02402008280264450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b0240024002402009450d0041800221090c010b200a200c4f0d0141800621090b200020093b01002000418080808078360210200041026a41003a0000200228020022002000280200417f6a220036020020000d02200210ca878080000c020b41002d008083d480001a410c41002802f482d48000118280808000002209450d022009200941036a220d417c71220e20096b220f6a220b417e6a200f3b0000200841186a220f200141186a290000370300200841106a2210200141106a290000370300200841086a2211200141086a2900003703002008200129000037030041002d008083d480001a412441002802f482d48000118280808000002209450d03200920082903003700002009200a3600202009417e6a41003b0000200941086a2011290300370000200941106a2010290300370000200941186a200f290300370000200b4124360208200b2009360204200b4124360200410421094100210b0240200c200a4f0d0041002d008083d480001a410c41002802f482d48000118280808000002209450d052009200941036a417c7120096b220b6a2209417e6a200b3b0000200841186a220c200141186a290000370300200841106a220f200141106a290000370300200841086a2210200141086a2900003703002008200129000037030041002d008083d480001a412441002802f482d4800011828080800000220b450d06200b2008290300370000200b417e6a41003b0000200b200a417f6a360020200b41086a2010290300370000200b41106a200f290300370000200b41186a200c290300370000200941243602082009200b360204200941243602004101210b0b2000200129000037003120002002290200370258200041c9006a200141186a290000370000200041c1006a200141106a290000370000200041396a200141086a290000370000200041e0006a200241086a290200370200200041e8006a200241106a290200370200200041f0006a200241186a290200370200200041f8006a200241206a290200370200200041226a200e4110763a00002000200e3b0120200041003a0030200041013a0028200041013602242000200d4118763a00232000410136021c2000200b360218200020093602142000200b3602102000427f370308200042003703000c010b200042891c37034020004288c9883f370338200041013a0030200041013a0028200042043703202000420037031820004280808080c0003703102000427f3703082000420037030020002002290200370258200041f8006a200241206a290200370200200041f0006a200241186a290200370200200041e8006a200241106a290200370200200041e0006a200241086a2902003702000b200841f0006a2480808080000f0b4104410c10ab80808000000b4101412410ab80808000000b4104410c10ab80808000000b4101412410ab80808000000bdf1406047f017e017f017e017f077e23808080800041e0066b2208248080808000024020022d000422094101470d00200841c8046a2002411d6a290000370300200841c0046a200241156a290000370300200841b8046a2002410d6a290000370300200820022900053703b0040b2002280200220a200a28020041016a220b3602000240024002400240024002400240200b450d002008418d016a200841b8046a220b290300220c37000020084195016a200841c0046a220d290300220e3700002008419d016a200841c8046a220f2903002210370000200820093a008401200820082903b0042211370085012008200a36028001200b200c370300200d200e370300200f2010370300200a200a280200417f6a220b360200200820113703b0040240200b0d0020084180016a10ca878080000b024020094101460d002000420037030820004201370300200041013a0078200042043703702000420037036820004280808080c0003703602000427f37035820004200370350200041a0016a200241206a29020037020020004198016a200241186a29020037020020004190016a200241106a29020037020020004188016a200241086a29020037020020002002290200370280010c060b200841e0006a41186a200841b0046a41186a290300370300200841e0006a41106a200841b0046a41106a290300370300200841e0006a41086a200841b0046a41086a290300370300200820082903b00437036020084180016a2005427f2004290300220c20042903107c220e200e200c541b2212427f2004290308220c20042903187c220e200e200c541b2213200129030022142001290308221520042d002120042d00202204108b878080004200210e4200210c0240200828028001410171450d00427f427f200829039801220c20082903a8017c200829039001220e20082903a0017c2210200e542209ad7c220e2009200e200c54200e200c511b22091b220c20082903b8017c427f201020091b220e20082903b0017c2210200e542209ad7c220e2009200e200c54200e200c511b22091b210c427f201020091b210e0b0240427f200e20082903c0017c22102010200e542209200c20082903c8017c2009ad7c220e200c54200e200c511b22091b2210427f200e20091b221184500d0020084180016a200841e0006a2010201110d58c80800020082903800142078520082903880184500d002000420037030820004202370300200041013b0011200041003a0010200a200a280200417f6a220036020020000d06200210ca878080000c060b20084190046a41086a220a4200370300200841e0036a41086a22094200370300200841d0036a41086a220b4200370300200841b8036a41086a22014200370300200841b8036a41106a410036020020084180016a41106a200841a0046a41086a2903003703002008420037039004200842003703e003200842003703d003200842003703b8032008420037038001200820082903a00437038801200842013703b001200841c0016a200a29030037030020082008290390043703b801200842003703d801200842003703d001200842c8b0c9333703c801200841e8016a20084180046a41086a29030037030020082008290380043703e001200842003703b002200842003703a802200842c8b0c9333703a002200841c0026a200841f0036a41086a290300370300200820082903f0033703b802200842003703c802200841d8026a2009290300370300200820082903e0033703d002200842003703e002200841f0026a200b290300370300200820082903d0033703e8022008420037039003200842b0d0e7cd01370388032008420037038003200842c8b0c9333703f802200841a0036a2001290300370300200820082903b803370398032008428180808080a0f8fa053703a8032008428080a001370398022008428088a5a9a307370390022008420137038802200842808080053703800220084280a094a58d1d3703f801200842013703f0012008428080e0033703a8012008428098effbe9153703a0012008420137039801200841b0046a20084180016a10d79180800020082903b0044202510d0120082903d006210c2005418080c002418080f001200441ff01711b220a2005200a491b410120051b21090240024020082903c806220e4200520d00427f210e200c500d010c040b200e200e2012420120124201561b2212200e2012541b80210e200c50450d03427f210c0c040b2008411f3602bc03200841e2d8c480003602b8034201210c41002802b483d48000450d04200841c081808000ad422086200841b8036aad843703b804200841c181808000ad42208641a09dc68000ad843703b004410028029080d480002105410028028c80d48000210b41002802b083d480002101200842023702b801200841ac9dc680003602ac01200841123602a801200841909ec680003602a401200841013602a001200841bc9dc68000ad4280808080c00a84370298012008410036029401200841a29ec68000ad4280808080b0038437028c01200841003602880120084281808080902037028001200841023602b0012005419cf4ca8000200141024622011b28021021052008200841b0046a3602b401200b41b4f4ca800020011b20084180016a2005118b80808000000c040b000b200820082d00b8043a00df0641bae9ca800041e000200841df066a41dce8ca8000419ceaca800010a981808000000b200c200c2013420120134201561b2212200c2012541b80210c0b200e200c200e200c541b210c0b2009450d01200841c0006a427f2015201442017c220e50ad7c2212200e2012845022051b4200200c200a20096ead2212200c2012541b2212420010fc97808000200841d0006a427f200e20051b42002012420010fc97808000427f2008290358220c20082903407c220e2008290348420052200e200c5472220a1b210c427f2008290350200a1b210e0240200441ff01714101470d002008201142004205420010fc97808000200841306a201042004205420010fc97808000200841106a427f2008290338221320082903007c22162008290308420052201620135472220a1b42002012420010fc97808000200841206a427f2008290330200a1b42002012420010fc97808000427f427f200c2008290328221220082903107c22137c200e20082903207c2216200e54220aad7c220e200a200e200c54200e200c511b220a1b200829031842005220132012547222041b210c427f427f2016200a1b20041b210e0b200020082903603700302000200229020037028001200041c8006a200841e0006a41186a290300370000200041c0006a200841e0006a41106a290300370000200041386a200841e0006a41086a29030037000020004188016a200241086a29020037020020004190016a200241106a29020037020020004198016a200241186a290200370200200041a0016a200241206a290200370200200020113703282000201037032020002015370318200020143703102000420037030820004200370300200041013a0078200042043703702000420037036820004280808080c0003703602000427f3703582000200e427f200c501b3703500b200841e0066a2480808080000f0b4184d9c48000108e81808000000b34002001280200418fdbc48000418cdbc4800020002802002d000022001b4102410320001b200128020428020c118080808000000b980301047f23808080800041306b22022480808080000240024002400240200028020022032d00000e03000102000b200128020041d0e2c48000410c200128020428020c1180808080000021000c020b200128020041dce2c480004113200128020428020c1180808080000021000c010b410121002002200341016a36020c200128020022034180e2c4800041062001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110aa858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000b800601047f23808080800041306b220224808080800002400240024002400240024002400240024002400240024002400240200028020022032d00000e0d000102030405060708090a0b0c000b200128020041c0e1c480004104200128020428020c1180808080000021000c0c0b200128020041c4e1c480004107200128020428020c1180808080000021000c0b0b200128020041cbe1c480004106200128020428020c1180808080000021000c0a0b200128020041d1e1c480004105200128020428020c1180808080000021000c090b200128020041d6e1c480004108200128020428020c1180808080000021000c080b200128020041dee1c480004111200128020428020c1180808080000021000c070b200128020041efe1c480004111200128020428020c1180808080000021000c060b410121002002200341016a36020c200128020022034180e2c4800041062001280204220428020c2205118080808000000d050240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d072002410c6a200110aa858080000d0720012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0641012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa858080000d06200228022041da80c280004102200228022428020c118080808000000d060b200341e280c28000410120051180808080000021000c050b20012802004186e2c48000410c200128020428020c1180808080000021000c040b20012802004192e2c480004113200128020428020c1180808080000021000c030b200128020041a5e2c480004109200128020428020c1180808080000021000c020b200128020041aee2c480004115200128020428020c1180808080000021000c010b200128020041c3e2c48000410d200128020428020c1180808080000021000b200241306a24808080800020000b1e0020012802004188eac48000411b200128020428020c118080808000000b040041010b040041010b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bdd0101077f23808080800041206b22022480808080004100210302402000280200220441ffffff1f4d0d0041004100200110b980808000000b4100210502400240200441017422064104200641044b1b220741057422064100480d0002402004450d002002200441057436021c20022000280204360214410121050b20022005360218200241086a41012006200241146a108f8680800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200736020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42147e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441146c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be10101077f23808080800041206b22022480808080004100210302402000280200220441ffffff074d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410774220741fcffffff074b0d004100210502402004450d002002200441077436021c20022000280204360214410421050b20022005360218200241086a41042007200241146a108f8680800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be10101077f23808080800041206b22022480808080004100210302402000280200220441ffffff3f4d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410474220741fcffffff074b0d004100210502402004450d00410421052002200441047436021c200220002802043602140b20022005360218200241086a41042007200241146a108f8680800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bea0103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42f0007e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441f0006c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bea0103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42c0027e2207422088a7450d0041004100200110b980808000000b024002402007a7220841f0ffffff074b0d004100210502402004450d002002200441c0026c36021c20022000280204360214411021050b20022005360218200241086a41102008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad420c7e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d0020022004410c6c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42387e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441386c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bea0103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42fc007e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441fc006c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42307e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441306c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be20101077f23808080800041206b22022480808080004100210302402000280200220441ffffffff014d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410274220741fcffffff074b0d004100210502402004450d002002200441027436021c20022000280204360214410421050b20022005360218200241086a41042007200241146a108f8680800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42307e2207422088a7450d0041004100200110b980808000000b024002402007a7220841f0ffffff074b0d004100210502402004450d002002200441306c36021c20022000280204360214411021050b20022005360218200241086a41102008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42287e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441286c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42387e2207422088a7450d0041004100200110b980808000000b024002402007a7220841f8ffffff074b0d004100210502402004450d002002200441386c36021c20022000280204360214410821050b20022005360218200241086a41082008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42247e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441246c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bea0103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42f0017e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441f0016c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bea0103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42f8007e2207422088a7450d0041004100200110b980808000000b024002402007a7220841f8ffffff074b0d004100210502402004450d002002200441f8006c36021c20022000280204360214410821050b20022005360218200241086a41082008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bdd0101077f23808080800041206b22022480808080004100210302402000280200220441ffffff004d0d0041004100200110b980808000000b4100210502400240200441017422064104200641044b1b2207410a7422064100480d0002402004450d0020022004410a7436021c20022000280204360214410121050b20022005360218200241086a41012006200241146a108f8680800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200736020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42187e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441186c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a108f8680800020052802084101470d0120052802102102200528020c21060b2006200241fcdac4800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b5d01017f23808080800041106b22022480808080000240024020002d00000d00200041e4e3c480004104200110c68d80800021000c010b2002410d360204200241046a4100410010f59280800021000b200241106a24808080800020000b5d01017f23808080800041106b22022480808080000240024020002d00000d00200041aee9c480004107200110c38d80800021000c010b2002410d360204200241046a4100410010f59280800021000b200241106a24808080800020000b5d01017f23808080800041106b22022480808080000240024020002d00000d002000418be9c480004112200110be8d80800021000c010b2002410d360204200241046a4100410010f59280800021000b200241106a24808080800020000b5d01017f23808080800041106b22022480808080000240024020002d00000d00200041a7e9c480004107200110cb8d80800021000c010b2002410d360204200241046a4100410010f59280800021000b200241106a24808080800020000b5d01017f23808080800041106b22022480808080000240024020002d00000d002000419de9c48000410a200110c38d80800021000c010b2002410d360204200241046a4100410010f59280800021000b200241106a24808080800020000b5d01017f23808080800041106b22022480808080000240024020002d00000d0020004190e8c480004104200110c18d80800021000c010b2002410d360204200241046a4100410010f59280800021000b200241106a24808080800020000b960501057f23808080800041a0066b2201248080808000200141b8036a41086a22024200370300200141d8026a41086a22034200370300200141c8026a41086a22044200370300200141b0026a41086a22054200370300200141b0026a41106a4100360200200141106a200141c8036a41086a290300370300200142003703b803200142003703d802200142003703c802200142003703b00220014200370300200120012903c80337030820014201370330200141c0006a2002290300370300200120012903b8033703382001420037035820014200370350200142c8b0c933370348200141e8006a200141f8026a41086a290300370300200120012903f802370360200142003703b001200142003703a801200142c8b0c9333703a001200141c0016a200141e8026a41086a290300370300200120012903e8023703b801200142003703c801200141d8016a2003290300370300200120012903d8023703d001200142003703e001200141f0016a2004290300370300200120012903c8023703e8012001420037039002200142b0d0e7cd01370388022001420037038002200142c8b0c9333703f801200141a0026a2005290300370300200120012903b002370398022001428180808080a0f8fa053703a8022001428080a001370398012001428088a5a9a307370390012001420137038801200142808080053703800120014280a094a58d1d370378200142013703702001428080e0033703282001428098effbe91537032020014201370318200141f0036a200110d791808000024020012903f0034202520d00200120012d00f8033a009f0641bae9ca800041e0002001419f066a41dce8ca8000419ceaca800010a981808000000b2000200141f0036a41a80210f4978080001a200141a0066a2480808080000bf23a010e7f23808080800041e0066b220124808080800041002d008083d480001a0240024002400240024002400240024002400240024041801541002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202417e6a20033b0000200141c0006a10e48d808000200141306a10e68d808000200141246a10e78d80800020014190016a10978780800020014180016a109887808000200141d0016a10f18d808000200141c0016a10f28d80800041002d008083d480001a413041002802f482d48000118280808000002203450d012003200341076a41787120036b22046a2205417e6a20043b000041002d008083d480001a410841002802f482d48000118280808000002203450d022003200341036a417c7120036b22046a22034126360204200341a1f8c780003602002003417e6a20043b00002005410136022820052003360224200541013602202005419981808000360218200542a5e9e3ab9e929adc2c37031020054293888c8f89fdc6ec9e7f37030820054106360204200541c7f8c78000360200200141003602980620014280808080800137029006200141c8066a410441004101410110859280800020012802cc06210420012802c8064101460d0320012802d006220641e40036000020014190066a41c884c6800010a08680800020014198036a41086a4101360200200128029406220341013a00742003420437026c20034204370264200320063602602003200436025c2003420b370244200341888ac68000360240200341c580808000360218200342cdd1c1cbe3b5a3c444370210200342b9e0ddc2f1d2dbbf4c37020820034100360200200120012902900637039803200141a8046a10e88c80800020014198046a10e98c8080002001418c046a10eb8c808000200141003602e8052001428080808080013702e005200141003602c80641002d008083d480001a410841002802f482d48000118280808000002203450d042003200341036a417c7120036b22046a22034121360204200341f3fec480003602002003417e6a20043b0000200141013602980620014101360290062001200336029406200141c8066a20014190066a200141e0056a108889808000200141d8046a41086a200141e0056a41086a280200360200200120012902e0053703d80441002d008083d480001a413041002802f482d48000118280808000002203450d052003200341076a41787120036b22046a2203417e6a20043b000041002d008083d480001a410841002802f482d48000118280808000002204450d062004200441036a417c7120046b22066a2204411236020420044194ffc480003602002004417e6a20063b0000200341013602282003200436022420034101360220200341c281808000360218200342cc8e8fa3bac0d9ce17370310200342b5cb9ae1a0c5fe9d7e3703082003410b360204200341a6ffc4800036020020014180056a108c87808000200141f0046a108d87808000200141c0056a10af8e808000200141e0056a10da8c80800020014190066a10d18680800020014180066a10d28680800041002d008083d480001a413041002802f482d48000118280808000002204450d072004200441076a41787120046b22066a2204417e6a20063b000041002d008083d480001a410841002802f482d48000118280808000002206450d082006200641036a417c7120066b22076a22064126360204200641e3fdc480003602002006417e6a20073b0000200441013602282004200636022420044101360220200441ad81808000360218200442c2bd98c186cbe8c32f370310200442d6c7f28481b698b8243703082004410b36020420044189fec48000360200200141c8066a10f58d80800041002d008083d480001a411041002802f482d48000118280808000002206450d092006200641036a417c7120066b22076a2206412336020c200641d4e6c58000360208200641e000360204200641f4e5c580003602002006417e6a20073b00002002410636027c200241f8e7c480003602782002410036027020024100360268200241ef8080800036026020024284cfffc1db8584ab2f370358200242fb80c2929ddabcc4827f3703502002410036024820024100360240200241fe80808000360238200242e9d7d39dd1c1dd980e370330200242a5f3cb9df58cabcbda003703282002410036022020024100360218200241828180800036021020024283a382fae2cccab7897f370308200242e68d8c93e1ea9be30a3703002002410036029c0120024280808080800137029401200220012903403703800120024188016a200141c0006a41086a29030037030020024190016a200141c0006a41106a280200360200200220012903303703a001200241a8016a200141306a41086a280200360200200242003703c00120024280808080c0003703b801200220012902243702ac01200241b4016a200141246a41086a280200360200200241d0016a200141146a41086a290200370200200220012902143702c801200241003a00d801200241dc016a2001410d6a41036a2800003600002002200128000d3600d9012002410f3602dc02200241e9e7c480003602d802200241003602d002200241003602c80220024189818080003602c002200242b5cbb5899befc5af053703b802200242bf8b8beab7e6bab9333703b002200241003602a802200241003602a002200241ff8080800036029802200242d1a3fdcbebd0f4bc1a37039002200242dd9f93df8387e1c0f200370388022002410036028002200241003602f801200241e7808080003602f00120024299b8f6c4f2aeb99b4d3703e80120024287d0cd9288f5e99eb57f3703e001200241003602fc022002428080808080013702f402200241003602a40320024280808080800137028c0320024200370294032002420437029c03200241f0026a20014190016a41106a280200360200200241e8026a20014190016a41086a29030037030020022001290390013703e00220022001290380013703800320024188036a20014180016a41086a280200360200200220012903703703a803200241b0036a200141f0006a41086a290300370300200241013a00b803200241003602e003200241003602d803200241f4808080003602d003200242cdf3f0ebd0f7bfeb927f3703c803200242cacaacd6f5b19dd6f7003703c003200241003602f803200220012800693600b903200241bc036a200141e9006a41036a280000360000200220012903a0023703e803200241f0036a200141a0026a41086a2903003703002002418c046a2001418c026a41106a28020036020020024184046a2001418c026a41086a2902003702002002200129028c023702fc0320024198046a200141f8016a41086a290300370300200220012903f80137039004200241003602a004200241b4046a200141e4016a41106a280200360200200241ac046a200141e4016a41086a290200370200200220012902e4013702a404200241093602bc04200241e0e7c480003602b804200241d0046a200141d0016a41106a280200360200200241c8046a200141d0016a41086a290300370300200220012903d0013703c004200241003602dc042002428080808080013702d404200241e8046a200141c0016a41086a280200360200200220012903c0013703e0042002410036028405200242043702fc04200242013702f404200220053602f004200241013602ec0420024190056a200141b0016a41086a290300370300200220012903b00137038805200241023a0098052002419c056a200141a9016a41036a280000360000200220012800a90136009905200241003602c005200241003602b8052002418d818080003602b005200242c7d5bd83edd8f5c0dd003703a805200242c1b4e2ac94ff84c2e5003703a005200241d0056a200141e0036a41086a290300370300200220012903e0033703c805200241003602d805200241ec056a200141cc036a41106a280200360200200241e4056a200141cc036a41086a290200370200200220012902cc033702dc05200241f8056a200141b8036a41086a290300370300200220012903b8033703f005200241003602800620024194066a200141a4036a41106a2802003602002002418c066a200141a4036a41086a290200370200200220012902a403370284062002410d36029c06200241d3e7c4800036029806200241a8066a20014198036a41086a28020036020020022001290398033703a006200242003703e00620024280808080c0003703d806200242083702d006200242003703c8062002428080808080013703c006200242083702b8062002420d3703b006200241d3e7c480003602ac06200241f0066a20014188036a41086a29030037030020022001290388033703e806200241033a00f806200241fc066a20014181036a41036a28000036000020022001280081033600f906200241083602fc07200241cbe7c480003602f807200241003602f007200241003602e80720024198818080003602e0072002428fcfabb3df92c7ae623703d80720024291e592c5bbf1ede3887f3703d007200241003602c807200241003602c00720024187818080003602b807200242b49ecfc5fbddf48cd4003703b007200242b9addbd9b5d7e88c8c7f3703a807200241003602a0072002410036029807200241fa8080800036029007200242b8eae6a09ffddbe6c30037038807200242f88f9dc2b1d3efe4c800370380072002410036029c082002428080808080013702940820024280808080c0003703b808200242003703c00820024190086a200141a8046a41106a28020036020020024188086a200141a8046a41086a290300370300200220012903a8043703800820022001290398043703a008200241a8086a20014198046a41086a2802003602002002200129028c043702ac08200241b4086a2001418c046a41086a280200360200200241043a00d808200241043602dc09200241c7e7c480003602d809200241003602d009200241003602c80920024193818080003602c009200242909fc38ce7eaec979e7f3703b809200242d4db98a5bcd685f19f7f3703b009200241003602a809200241003602a009200241fb8080800036029809200242e7c293a7a1e3e1b7a77f37039009200242808addd4dbb4c9d712370388092002410036028009200241003602f80820024192818080003602f008200242bbc0eee3b882f9d3bd7f3703e808200242fbd6e6a3c68cb3c8303703e008200241d0086a200141f8036a41086a290300370300200220012903f8033703c808200220012800f1033600d908200241dc086a200141f1036a41036a280000360000200241c7e7c480003602ec09200220033602900a200241003602a40a200242043703f009200242083702f8092002428080808080013703800a20024280808080103703880a200242013702940a2002420437029c0a200241053a00b80a200241e8096a200141d8046a41086a280200360200200220012903d8043703e009200220012903c8043703a80a200241b00a6a200141c8046a41086a290300370300200241003602d00a200241003602880b200241003602800b20024191818080003602f80a200242f790c2b8cbf6d6e6ba7f3703f00a20024297c0f1c4c7c0b080c5003703e80a200241bc0a6a200141c1046a41036a280000360000200220012800c1043600b90a200241c80a6a200141a8056a41086a2208290300370300200220012903a8053703c00a200241e40a6a20014194056a41106a2209280200360200200241dc0a6a20014194056a41086a220a29020037020020022001290294053702d40a200241980b6a200141f0026a41086a2205290300370300200220012903f0023703900b200241003602a00b200241b40b6a200141dc026a41106a2207280200360200200241ac0b6a200141dc026a41086a220b290200370200200220012902dc023702a40b200241123602bc0b200241b5e7c480003602b80b200241d00b6a20014180056a41106a280200360200200241c80b6a20014180056a41086a29030037030020022001290380053703c00b200241003602dc0b2002428080808080013702d40b200241e80b6a200141f0046a41086a280200360200200220012903f0043703e00b200241003602840c200242043702fc0b200242003702f40b2002428080808080013702ec0b200241900c6a200141d8006a41086a2203290300370300200220012903583703880c200241063a00980c2002419c0c6a200141e9046a41036a280000360000200220012800e9043600990c200241003602c00c200241003602b80c2002419e818080003602b00c200242f2c3d8b6f1b38382a37f3703a80c200242a9e392f9b4d79e842e3703a00c200241d00c6a200141c8026a41086a220c290300370300200220012903c8023703c80c200241003602d80c200241ec0c6a200141b4026a41106a220d280200360200200241e40c6a200141b4026a41086a220e290200370200200220012902b4023702dc0c200241f80c6a2005290300370300200220012903f0023703f00c200241003602800d200241940d6a20072802003602002002418c0d6a200b290200370200200220012902dc023702840d2002410a36029c0d200241abe7c480003602980d200241b00d6a200141c0056a41106a280200360200200241a80d6a200141c0056a41086a290300370300200220012903c0053703a00d200241003602e40d200242043702dc0d200242003702d40d2002428080808080013702cc0d200242083702c40d200242003702bc0d2002428080808080013702b40d200241f00d6a2003290300370300200220012903583703e80d200241073a00f80d200241fc0d6a200141b9056a41036a280000360000200220012800b9053600f90d200241073602fc0e200241a4e7c480003602f80e200241003602f00e200241003602e80e200241fd808080003602e00e200242f2b59da2ef82b096553703d80e200242a4b691acadf9b7f2283703d00e200241003602c80e200241003602c00e2002418e818080003602b80e20024295f3c2a6d3fce5b12e3703b00e20024295fe9ce7d0c9c5c6123703a80e200241003602a00e200241003602980e20024197818080003602900e200242c6c8dbd5f3a3e89aed003703880e2002429ecaaca1b6f2c7884b3703800e200241003602c40f2002428080808080013702940f2002420037029c0f200242083702a40f2002428080808080013702ac0f200242003702b40f200242043702bc0f200241083a00d80f200241900f6a200141e0056a41106a280200360200200241880f6a200141e0056a41086a290300370300200220012903e0053703800f200220012903583703c80f200241d00f6a2003290300370300200241003602f00f200241dc0f6a200141d9056a41036a280000360000200220012800d9053600d90f200241e80f6a2008290300370300200220012903a8053703e00f20024184106a2009280200360200200241fc0f6a200a29020037020020022001290294053702f40f20024190106a200c290300370300200220012903c802370388102002410036029810200241ac106a200d280200360200200241a4106a200e290200370200200220012902b40237029c10200241b8106a2005290300370300200220012903f0023703b010200241003602c010200241d4106a2007280200360200200241cc106a200b290200370200200220012902dc023702c410200241043602dc10200241a0e7c480003602d810200241f0106a20014190066a41106a280200360200200241e8106a20014190066a41086a29030037030020022001290390063703e010200241003602fc102002428080808080013702f41020024188116a20014180066a41086a280200360200200220012903800637038011200241003602a4112002420437029c11200242013702941120022004360290112002410136028c11200241b0116a2003290300370300200220012903583703a811200241093a00b811200241bc116a200141f9056a41036a280000360000200220012800f9053600b911200241c8116a2008290300370300200220012903a8053703c011200241003602d011200241e4116a2009280200360200200241dc116a200a29020037020020022001290294053702d411200241f0116a200c290300370300200220012903c8023703e811200241003602f8112002418c126a200d28020036020020024184126a200e290200370200200220012902b4023702fc1120024198126a2005290300370300200220012903f00237039012200241003602a012200241b4126a2007280200360200200241ac126a200b290200370200200220012902dc023702a412200241073602bc1220024199e7c480003602b812200241d0126a200141c8066a41106a280200360200200241c8126a200141c8066a41086a290300370300200220012903c8063703c0122002410036028413200242043702fc12200242003702f4122002428080808080013702ec12200242083702e412200242003702dc122002428080808080013702d41220024190136a200329030037030020022001290358370388132002410a3a0098132002419c136a200141aa066a41036a280000360000200220012800aa0636009913200241a8136a2008290300370300200220012903a8053703a013200241003602b013200241c4136a2009280200360200200241bc136a200a29020037020020022001290294053702b413200241d0136a200c290300370300200220012903c8023703c813200241003602d813200241ec136a200d280200360200200241e4136a200e290200370200200220012902b4023702dc13200241f8136a2005290300370300200220012903f0023703f013200241003602801420024194146a20072802003602002002418c146a200b290200370200200220012902dc02370284142002428d80808080808080807f37029c142002418ce7c4800036029814200241ac146a200141b8066a41086a290200370200200220012902b8063702a414200242023703e014200220063602dc1420024280808080203702d4142002428080808080013702cc14200242083702c414200242003702bc142002428080808080013702b414200241f0146a2003290300370300200220012903583703e8142002410b3a00f814200241fc146a200141b1066a41036a280000360000200220012800b1063600f91441002d008083d480001a410241002802f482d48000118280808000002203450d0a200041023602e001200020033602dc01200041023602d8012003417e6a4180809028360000200141c8066a10868780800020012802c806210720012802cc0622042105024020012802d0062206450d00200641386c210b2006417f6a41ffffffff0171210820042103024020064103712205450d00200421030340200341386a21032005417f6a22050d000b0b2004200b6a210520084103490d000340200341e0016a22032005470d000b0b200020043602e801200020073602e4012000200520046b41386e3602ec01200041fc016a200210b0868080002000410c3602f801200020023602f4012000410c3602f001200041c3818080003602d001200042c7e5d4cefcfb8ae85b3703c801200042aa98a18e868390a7e2003703c001200041c4818080003602b801200042d8d5ffd5ad9feab1793703b001200042efd6c9f6c7c9e7f5ac7f3703a801200041c2818080003602a001200042cc8e8fa3bac0d9ce1737039801200042b5cb9ae1a0c5fe9d7e37039001200041ee8080800036028801200042d6eed5b5f7848284223703800120004297c889b7d487feb0dd00370378200041a381808000360270200042f38d9e99aae6a6ce6c370368200042cad8edf1c6aacd9b28370360200041c581808000360258200042bc9c9fc28e8686d417370350200042c98fe79ff2aaa2cacc00370348200041bd81808000360240200042ae9de2a68d94fca925370338200042ced4d890f69ef9a0867f370330200041c281808000360228200042cc8e8fa3bac0d9ce17370320200042b5cb9ae1a0c5fe9d7e370318200041c681808000360210200042e194d089a9acf7d7a57f370308200042bbf9e8e4c28df8bb1f370300200141e0066a2480808080000f0b410841801510ab80808000000b4108413010ab80808000000b4104410810ab80808000000b200420012802d006418887cb800010b980808000000b4104410810ab80808000000b4108413010ab80808000000b4104410810ab80808000000b4108413010ab80808000000b4104410810ab80808000000b4104411010ab80808000000b4101410210ab80808000000b9e0402037f017e23808080800041d0016b2202248080808000410021032002410036020c200242808080808002370204200241106a200110c5868080004110210402402002280210418180808078460d00200241046a4180e8c48000109586808000410121032002280208220441013602a001200441053a000820044202370300200441a4016a200241106a41880110f4978080001a20044180808080783602b0022002410136020c0b20024198016a200110b48d80800002402002280298014101470d0020022903a0012105024020032002280204470d00200241046a4180e8c48000109586808000200228020821040b2004200341c0026c6a22044180808080783602b002200420053703a801200441023602a001200441053a0008200442023703002002200341016a220336020c0b200241a8016a200110b98c808000024020022802a801450d00200241c8016a200241a8016a41086a290300370200200220022903a8013702c001024020032002280204470d00200241046a4180e8c480001095868080000b2002280208200341c0026c6a220441073602a001200441053a000820044202370300200420022902bc013702a40120044180808080783602b002200441ac016a200241bc016a41086a290200370200200441b4016a200241cc016a2802003602002002200341016a36020c0b20002002290204370200200041086a200241046a41086a280200360200200241d0016a2480808080000b9f0301037f20002002200110ae86808000200210b08880800020012802042103024020012802082200450d00200321020340024020022d0000220441034b0d00200220044102744188ecc480006a2802006a2204280200450d00200441046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200241146a21022000417f6a22000d000b0b02402001280200450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20012802742103024020012802782202450d002002410171210541002100024020024101460d002002417e712104410021002003210203402002410c6a200241046a280200200241086a2802002002280200280210118680808000002002411c6a200241146a280200200241186a280200200241106a28020028021011868080800000200241206a21022004200041026a2200470d000b0b2005450d00200320004104746a2202410c6a200228020420022802082002280200280210118680808000000b02402001280270450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b0bb70802077f017e23808080800041c0056b22032480808080002003410036021020034100360208200341013b01140240024020022802782204450d0020044104742105200228027441086a2102200341f8036a2106200341f0036a2107200341d0026a410872210402400240024003402002417c6a280200210820032002280200220936021c20032008360218200341d0026a200341186a200910be8680800020032903d002210a200341186a200441b80210f4978080001a200a4205510d012003200a3703d0022004200341186a41b80210f4978080001a200a427e7c220a4200520d030240024002400240024020032802f0032208417e6a0e06000202020201020b02402006200110b38d80800041ff017122084102470d0020032903d002427e7c210a0c040b20034180023b01142003410036021020034100360208200341003602a4052003410036029c052003419c056a10b088808000200342003702a805200342f4d2b59bc7ae98b8303702a00541002d008083d480001a2003200341086a36029c05410141002802f482d48000118280808000002202450d06200220083a00002002417e6a41003b0000200341013602bc05200320023602b805200341013602b4052003419c056a200341b4056a109d8d8080001a200041086a200341086a41086a29020037020020002003290208370200024020032903d002427e7c4203540d0020032d00800341ff01714102470d00200328028403450d0020032802880322022002417e6a2f00006b41002802ec82d48000118180808000000b200710f88580800020032802800541808080807872418080808078460d0920032802840522022002417e6a2f00006b41002802ec82d48000118180808000000c090b20032802f8034104460d010c060b20084101470d0520032802f403418080808078460d050b4200210a0b0240200a4203540d0020032d00800341ff01714102470d00200328028403450d0020032802880322082008417e6a2f00006b41002802ec82d48000118180808000000b200710f885808000024020032802800541808080807872418080808078460d0020032802840522082008417e6a2f00006b41002802ec82d48000118180808000000b200241106a2102200541706a22050d000c040b0b200341003602e002200341013602d402200341c8e8c480003602d002200342043702d802200341d0026a4180e8c4800010fe80808000000b4101410110ab80808000000b0240200a4203540d0020032d00800341ff01714102470d00200328028403450d0020032802880322022002417e6a2f00006b41002802ec82d48000118180808000000b200710f88580800020032802800541808080807872418080808078460d0020032802840522022002417e6a2f00006b41002802ec82d48000118180808000000b20002003290208370200200041086a200341086a41086a2902003702000b200341c0056a2480808080000bb90301057f23808080800041306b22022480808080000240024020012802002203418080808078460d0041002104024002400240200128020822054100480d0020012802042106024020050d00410121040c030b41002d008083d480001a200541002802f482d480001182808080000022040d01410121040b2004200541a8b2c8800010b980808000000b2004417e6a41003b00000b20042006200510f49780800021042002200536022c20022004360228200220053602240c010b20024180808080783602240b200241046a41e1eac98b06200241246a41002802dc81d480001186808080000041002d008083d480001a0240412041002802f482d48000118280808000002205450d00200520022900043700002000412036020820002005360204200041203602002005417e6a41003b0000200541086a200241046a41086a290000370000200541106a200241046a41106a290000370000200541186a200241046a41186a2900003700000240200341808080807872418080808078460d00200128020422052005417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000f0b4101412010ab80808000000bd16701137f23808080800041a0066b220224808080800041002d008083d480001a0240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024041c80641002802f482d48000118280808000002203450d002003200341036a417c7120036b22046a2203417e6a20043b000041002d008083d480001a410841002802f482d48000118280808000002204450d012004200441036a417c7120046b22056a2206412436020420064196dbc480003602002006417e6a20053b000041002d008083d480001a412041002802f482d48000118280808000002204450d022004200441076a41787120046b22056a220441c781808000360218200442ace3e28a9ae5b09fca00370310200442bce7dcece2f78ef4353703082004410536020420044192adc480003602002004417e6a20053b000041002d008083d480001a410841002802f482d48000118280808000002205450d032005200541036a417c7120056b22076a22084119360204200841c1dbc480003602002008417e6a20073b000041002d008083d480001a412041002802f482d48000118280808000002205450d042005200541076a41787120056b22076a220541c88180800036021820054283b0d291daeebdba827f370310200542eab2a8f28eb5b7f134370308200541063602042005419da3c480003602002005417e6a20073b000041002d008083d480001a410841002802f482d48000118280808000002207450d052007200741036a417c7120076b22096a220741d000360204200741e7dbc480003602002007417e6a20093b00002002420137029c052002428180808010370390052002200536028c052002410136028805200241c981808000360280052002429adff0c0b9fb82d3b17f3703f804200242eeb1aecedfcfb1965c3703f004200241103602ec04200241b7dcc480003602e804200242013702cc04200220083602c80420024281808080103703c004200220043602bc04200241013602b80420024184818080003602b004200242d9d1a5958acddccda77f3703a804200242bb82a2f99fad8c91c1003703a0042002410d36029c04200241dadbc4800036029804200242013702fc03200220063602f80320024280808080103703f0032002428080808080013703e803200241ca818080003602e003200242f8eee7c886bf81d5703703d80320024295c1ad8e90b4e6e9413703d003200241073602cc03200241badbc480003602c80320024280808080303703c00320022007360298052002418c066a200241c0036a41e8a2c4800010d18f80800041002d008083d480001a410841002802f482d48000118280808000002204450d062004200441036a417c7120046b22056a220a41c800360204200a41c7dcc48000360200200a417e6a20053b0000200241086a41086a2002418c066a41086a2802003602002002200229028c0637030841002d008083d480001a41c00041002802f482d48000118280808000002204450d072004200441076a41787120046b22066a220541cb81808000360238200542ada9e8dffceda4b57d3703302005429b9e90f4939ac781bb7f37032820054104360224200541f0c2c48000360220200541bc80808000360218200542ec8ca7e0e2f0c7e6bf7f370310200542e6e2dea393f0baf43a3703082005410d360204200541e3c2c480003602002005417e6a20063b000041002d008083d480001a41d00041002802f482d48000118280808000002204450d082004200441036a417c7120046b22066a2204412f36024c200441bdc6c48000360248200441d800360244200441e5c5c48000360240200441d80036023c2004418dc5c48000360238200441003602342004428e8080801037022c200441ffc4c48000360228200441d400360224200441abc4c480003602202004410036021c2004429c808080103702142004418fc4c48000360210200441cd0036020c200441c2c3c48000360208200441ce00360204200441f4c2c480003602002004417e6a20063b00002002420a3702fc03200220043602f80320024282808080a0013703f003200220053602ec03200241023602e803200241e9808080003602e003200242febac4ad81b6fafcb37f3703d80320024298848fa1dab08ba1743703d0032002410e3602cc03200241ecc6c480003602c80320024280808080103703c0032002418c066a200241c0036a41e8a2c4800010d38f80800041002d008083d480001a41e80041002802f482d48000118280808000002204450d092004200441036a417c7120046b22066a220541e400360264200541b7cbc480003602602005410936025c200541aecbc4800036025820054100360254200542aa8080801037024c20054184cbc48000360248200541d700360244200541adcac48000360240200541d80036023c200541d5c9c48000360238200541003602342005428d8080801037022c200541c8c9c48000360228200541db00360224200541edc8c48000360220200541dd0036021c20054190c8c4800036021820054100360214200542c98080801037020c200541c7c7c48000360208200541cd00360204200541fac6c480003602002005417e6a20063b0000200241286a41086a2002418c066a41086a2802003602002002200229028c0637032841002d008083d480001a410841002802f482d48000118280808000002204450d0a2004200441036a417c7120046b22066a2204413d360204200441a5d5c480003602002004417e6a20063b0000200242013702fc0320024280808080103703f0032002428080808080013703e803200241bb808080003602e003200242d7c9cb8fc1cf97db3e3703d803200242e88488d0c0e3aebc133703d003200241133602cc03200241e2d5c480003602c80320024280808080103703c003200220043602f8032002418c066a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a412041002802f482d48000118280808000002204450d0b2004200441036a417c7120046b22066a220741cc0036021c20074190d7c48000360218200741da00360214200741b6d6c480003602102007410036020c200742c180808010370204200741f5d5c480003602002007417e6a20063b0000200241c8006a41086a2002418c066a41086a2802003602002002200229028c0637034841002d008083d480001a411841002802f482d48000118280808000002204450d0c2004200441036a417c7120046b22066a220441c9003602142004418bafc480003602102004410036020c200442a480808010370204200441e7aec480003602002004417e6a20063b000041002d008083d480001a410841002802f482d48000118280808000002206450d0d2006200641036a417c7120066b22086a22064127360204200641e1afc480003602002006417e6a20083b0000200242013702cc0420024280808080103703c0042002428080808080013703b804200241ae818080003602b004200242a7bcf9c3b39ae0eee0003703a804200242daa1c8eabe88efa2da003703a0042002410b36029c0420024188b0c4800036029804200242033702fc03200220043602f80320024280808080303703f0032002428080808080013703e803200241cc818080003602e003200242e8f1ab89dc9bd5cbcd003703d8032002428088dcdfd8a6a6f7f4003703d0032002410d3602cc03200241d4afc480003602c80320024280808080203703c003200220063602c8042002418c066a200241c0036a41e8a2c4800010d08f80800041002d008083d480001a410841002802f482d48000118280808000002204450d0e2004200441036a417c7120046b22066a220b412e360204200b4193b0c48000360200200b417e6a20063b0000200241e8006a41086a2002418c066a41086a2802003602002002200229028c0637036841002d008083d480001a410841002802f482d48000118280808000002204450d0f2004200441036a417c7120046b22066a2209412336020420094193ddc480003602002009417e6a20063b000041002d008083d480001a412041002802f482d48000118280808000002204450d102004200441076a41787120046b22086a220641bb80808000360218200642d7c9cb8fc1cf97db3e370310200642e88488d0c0e3aebc1337030820064107360204200641badbc480003602002006417e6a20083b000041002d008083d480001a412041002802f482d48000118280808000002204450d112004200441036a417c7120046b22086a220441dd0036021c200441a8dec48000360218200441c100360214200441e7ddc480003602102004410036020c200442a980808010370204200441beddc480003602002004417e6a20083b000041002d008083d480001a411841002802f482d48000118280808000002208450d122008200841036a417c7120086b220c6a22084130360214200841c1dfc480003602102008410036020c200842a98080801037020420084198dfc480003602002008417e6a200c3b00002002420337029c0520024280808080303703900520024280808080800137038805200241cd8180800036028005200242d0fa9baea08488e9363703f804200242cf8ac1f6c5e79f97fc003703f004200241113602ec04200241f1dfc480003602e804200242043702cc04200220043602c80420024281808080c0003703c004200220063602bc04200241013602b804200241ce818080003602b004200242aec89194c3c1d181323703a804200242ccf2f9caccd1d8e4043703a0042002411336029c0420024185dfc4800036029804200242013702fc03200220093602f80320024280808080103703f0032002428080808080013703e80320024190818080003602e0032002429091d8d1efb08fcfac7f3703d80320024293e9bbb0a4a897e1093703d003200241083602cc03200241b6ddc480003602c80320024280808080303703c00320022008360298052002418c066a200241c0036a41e8a2c4800010c68f80800041002d008083d480001a410841002802f482d48000118280808000002204450d132004200441036a417c7120046b22066a220d41c000360204200d4182e0c48000360200200d417e6a20063b000020024188016a41086a2002418c066a41086a2802003602002002200229028c063703880141002d008083d480001a412041002802f482d48000118280808000002204450d142004200441076a41787120046b22066a220441eb8080800036021820044298a593acd1ceffcb9c7f3703102004429e8eaae68bb9afc6513703082004410736020420044194d9c480003602002004417e6a20063b000041002d008083d480001a410841002802f482d48000118280808000002206450d152006200641036a417c7120066b22086a220641303602042006419bd9c480003602002006417e6a20083b0000200242013702fc0320024281808080103703f003200220043602ec03200241013602e803200241bb808080003602e003200242d7c9cb8fc1cf97db3e3703d803200242e88488d0c0e3aebc133703d0032002410d3602cc03200241cbd9c480003602c80320024280808080103703c003200220063602f8032002418c066a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a410841002802f482d48000118280808000002204450d162004200441036a417c7120046b22066a220e4120360204200e41d8d9c48000360200200e417e6a20063b0000200241a8016a41086a2002418c066a41086a2802003602002002200229028c063703a80141002d008083d480001a412041002802f482d48000118280808000002204450d172004200441076a41787120046b22066a220841a381808000360218200842f38d9e99aae6a6ce6c370310200842cad8edf1c6aacd9b2837030820084109360204200841ecaac480003602002008417e6a20063b000041002d008083d480001a412041002802f482d48000118280808000002204450d182004200441036a417c7120046b22096a2206411336021c200641deabc48000360218200641ce0036021420064190abc480003602102006410036020c2006429b80808010370204200641f5aac480003602002006417e6a20093b000041002d008083d480001a410841002802f482d48000118280808000002204450d192004200441036a417c7120046b22096a220c411a360204200c4180acc48000360200200c417e6a20093b000041002d008083d480001a412041002802f482d48000118280808000002204450d1a2004200441076a41787120046b220f6a220941cf8180800036021820094299a499cca1fa87eb73370310200942a8b2cff08de2a4964a37030820094108360204200941a8acc480003602002009417e6a200f3b000041002d008083d480001a410841002802f482d48000118280808000002204450d1b2004200441036a417c7120046b22106a220f41cf00360204200f41b0acc48000360200200f417e6a20103b000041002d008083d480001a41c00041002802f482d48000118280808000002204450d1c2004200441076a41787120046b22106a220441cf8180800036023820044299a499cca1fa87eb73370330200442a8b2cff08de2a4964a3703282004410436022420044197adc48000360220200441c781808000360218200442ace3e28a9ae5b09fca00370310200442bce7dcece2f78ef4353703082004410536020420044192adc480003602002004417e6a20103b000041002d008083d480001a410841002802f482d48000118280808000002210450d1d2010201041036a417c7120106b22116a221041d5003602042010419badc480003602002010417e6a20113b0000200242013702ec05200220103602e80520024282808080103703e005200220043602dc05200241023602d805200241d0818080003602d00520024290f2eaa099f686cf0d3703c805200242e282bdd097c882cf9c7f3703c0052002410f3602bc05200241f0adc480003602b8052002420137029c052002200f360298052002428180808010370390052002200936028c052002410136028805200241a58180800036028005200242baa0bf87b8e4a48dae7f3703f804200242b5ffdaf2ae8ca6f8dd003703f004200241133602ec04200241ffacc480003602e804200242013702cc042002200c3602c80420024280808080103703c0042002428080808080013703b804200241a4818080003602b00420024283b0d291daeebdba827f3703a804200242eab2a8f28eb5b7f1343703a0042002410e36029c042002419aacc4800036029804200242043702fc03200220063602f80320024281808080c0003703f003200220083602ec03200241013602e803200241d1818080003602e003200242de90e486fea28889643703d8032002429dc894df91a9c8930b3703d0032002410f3602cc03200241f1abc480003602c80320024280808080c0003703c00320024184066a2002419c066a280200360200200241fc056a2002418c066a41086a2902003702002002200229028c063702f4052002418c066a200241c0036a41e8a2c4800010cf8f80800041002d008083d480001a410841002802f482d48000118280808000002204450d1e2004200441036a417c7120046b22066a221041dc00360204201041ffadc480003602002010417e6a20063b0000200241c8016a41086a2002418c066a41086a2802003602002002200229028c063703c80141002d008083d480001a41e00041002802f482d48000118280808000002204450d1f2004200441076a41787120046b22086a220641bc80808000360258200642ec8ca7e0e2f0c7e6bf7f370350200642e6e2dea393f0baf43a3703482006410a360244200641acbec48000360240200641a381808000360238200642f38d9e99aae6a6ce6c370330200642cad8edf1c6aacd9b2837032820064102360224200641aabec48000360220200641d281808000360218200642a4dcac8d98b3aee3d500370310200642f79e8faeb18d8189b27f37030820064106360204200641a4bec480003602002006417e6a20083b000041002d008083d480001a41c80041002802f482d48000118280808000002204450d202004200441036a417c7120046b22086a22044129360244200441bdc1c48000360240200441d10036023c200441ecc0c48000360238200441003602342004429f8080801037022c200441cdc0c48000360228200441d300360224200441fabfc48000360220200441d10036021c200441a9bfc48000360218200441d900360214200441d0bec480003602102004410036020c2004429a80808010370204200441b6bec480003602002004417e6a20083b0000200242093702fc03200220043602f8032002428380808090013703f003200220063602ec03200241d3818080003602e003200242fcd8a68dacf8d1e1a97f3703d803200242ebf5bacdbfc2d7eae4003703d003200241143602cc03200241e6c1c480003602c80320024280808080103703c003200241033602e8032002418c066a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a410841002802f482d48000118280808000002204450d212004200441036a417c7120046b22066a221141d300360204201141fac1c480003602002011417e6a20063b0000200241e8016a41086a2002418c066a41086a2802003602002002200229028c063703e80141002d008083d480001a412041002802f482d48000118280808000002204450d222004200441076a41787120046b22066a220441c88180800036021820044283b0d291daeebdba827f370310200442eab2a8f28eb5b7f134370308200441063602042004419da3c480003602002004417e6a20063b000041002d008083d480001a410841002802f482d48000118280808000002206450d232006200641036a417c7120066b22086a22064132360204200641a3a3c480003602002006417e6a20083b0000200242013702fc0320024281808080103703f003200220043602ec03200241013602e80320024184818080003602e003200242d9d1a5958acddccda77f3703d803200242bb82a2f99fad8c91c1003703d0032002410f3602cc03200241d5a3c480003602c80320024280808080103703c003200220063602f8032002418c066a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a410841002802f482d48000118280808000002204450d242004200441036a417c7120046b22066a22124119360204201241e4a3c480003602002012417e6a20063b000020024188026a41086a2002418c066a41086a2802003602002002200229028c063703880241002d008083d480001a412041002802f482d48000118280808000002204450d252004200441076a41787120046b22086a220641d48180800036021820064298b9c5cab1e2b7fc957f370310200642d0ead0b9d59684fe7337030820064104360204200641e49ec480003602002006417e6a20083b000041002d008083d480001a413841002802f482d48000118280808000002204450d262004200441036a417c7120046b22086a22044134360234200441aaa0c480003602302004410036022c200442ac80808010370224200441fe9fc480003602202004410036021c2004428f80808010370214200441ef9fc48000360210200441c20036020c200441ad9fc48000360208200441c500360204200441e89ec480003602002004417e6a20083b000041002d008083d480001a412041002802f482d48000118280808000002208450d272008200841076a41787120086b22096a220841ed8080800036021820084296e397c6bfa5aeee46370310200842aceff0b4f2bd8f8fe40037030820084107360204200841f3a0c480003602002008417e6a20093b000041002d008083d480001a411841002802f482d48000118280808000002209450d282009200941036a417c7120096b220c6a22094137360214200941a0a1c480003602102009410036020c200942a680808010370204200941faa0c480003602002009417e6a200c3b0000200242033702cc0420024281808080303703c004200220083602bc04200241013602b804200241d5818080003602b004200242e3c6cbf5efa783cc947f3703a804200242f5bafcd493b8fad7543703a0042002411336029c04200241d7a1c4800036029804200242073702fc03200220043602f80320024281808080f0003703f003200220063602ec03200241013602e803200241ed808080003602e00320024296e397c6bfa5aeee463703d803200242aceff0b4f2bd8f8fe4003703d003200241153602cc03200241dea0c480003602c80320024280808080203703c003200220093602c8042002418c066a200241c0036a41e8a2c4800010d08f80800041002d008083d480001a410841002802f482d48000118280808000002204450d292004200441036a417c7120046b22066a2213411a360204201341f8a2c480003602002013417e6a20063b0000200241a8026a41086a2002418c066a41086a2802003602002002200229028c063703a80241002d008083d480001a410841002802f482d48000118280808000002204450d2a2004200441036a417c7120046b22066a2204412936020420044190e6c480003602002004417e6a20063b0000200242013702fc0320024280808080103703f0032002428080808080013703e80320024199818080003602e003200242a5e9e3ab9e929adc2c3703d80320024293888c8f89fdc6ec9e7f3703d003200241123602cc03200241b9e6c480003602c80320024280808080103703c003200220043602f803200241c4026a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a412041002802f482d48000118280808000002204450d2b2004200441076a41787120046b22086a220641c88180800036021820064283b0d291daeebdba827f370310200642eab2a8f28eb5b7f134370308200641063602042006419da3c480003602002006417e6a20083b000041002d008083d480001a412041002802f482d48000118280808000002204450d2c2004200441036a417c7120046b22086a2204412a36021c200441fdd2c480003602182004413d360214200441c0d2c480003602102004410036020c200442a78080801037020420044199d2c480003602002004417e6a20083b0000200242043702fc0320024281808080c0003703f003200220063602ec03200241013602e803200241d6818080003602e00320024280f4889199f9eab9ea003703d803200242a29a9da8a1f3edd6de003703d003200241163602cc03200241a7d3c480003602c80320024280808080103703c003200220043602f8032002418c066a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a412841002802f482d48000118280808000002204450d2d2004200441036a417c7120046b22066a220841cd00360224200841c4d4c48000360220200841c00036021c20084184d4c4800036021820084111360214200841f3d3c480003602102008410036020c200842b680808010370204200841bdd3c480003602002008417e6a20063b0000200241e0026a41086a2002418c066a41086a2802003602002002200229028c063703e00241002d008083d480001a412041002802f482d48000118280808000002204450d2e2004200441076a41787120046b22066a220c41ed80808000360218200c4296e397c6bfa5aeee46370310200c42aceff0b4f2bd8f8fe400370308200c4104360204200c41c0b1c48000360200200c417e6a20063b000041002d008083d480001a41d00041002802f482d48000118280808000002204450d2f2004200441036a417c7120046b22096a2206411736024c200641feb4c48000360248200641d700360244200641a7b4c480003602402006410036023c2006428d808080103702342006419ab4c48000360230200641d50036022c200641c5b3c48000360228200641d500360224200641f0b2c48000360220200641ca0036021c200641a6b2c4800036021820064100360214200642898080801037020c2006419db2c48000360208200641d900360204200641c4b1c480003602002006417e6a20093b000041002d008083d480001a412041002802f482d48000118280808000002204450d302004200441076a41787120046b22096a220f41d781808000360218200f42b7a9abed8fb290f454370310200f42a0d7dbf0a295ea9810370308200f4102360204200f41a0b5c48000360200200f417e6a20093b000041002d008083d480001a41f00041002802f482d48000118280808000002204450d312004200441036a417c7120046b22096a2204412136026c200441b7bbc48000360268200441d800360264200441dfbac48000360260200441d90036025c20044186bac48000360258200441d300360254200441b3b9c48000360250200441d80036024c200441dbb8c48000360248200441d40036024420044187b8c48000360240200441c80036023c200441bfb7c4800036023820044100360234200442988080801037022c200441a7b7c48000360228200441d200360224200441d5b6c48000360220200441d50036021c20044180b6c4800036021820044100360214200442868080801037020c200441fab5c48000360208200441d800360204200441a2b5c480003602002004417e6a20093b000041002d008083d480001a412041002802f482d48000118280808000002209450d322009200941036a417c7120096b22146a220941c00036021c2009418ebdc48000360218200941d800360214200941b6bcc480003602102009410036020c200942d480808010370204200941e2bbc480003602002009417e6a20143b00002002420437029c0520024280808080c0003703900520024280808080800137038805200241d88180800036028005200242f0c489e8f6a6c3a5db003703f804200242e4ece5f3a7b7f1862d3703f0042002410c3602ec04200241cebdc480003602e8042002420e3702cc04200220043602c80420024281808080e0013703c0042002200f3602bc04200241013602b804200241d4818080003602b00420024298b9c5cab1e2b7fc957f3703a804200242d0ead0b9d59684fe733703a0042002410a36029c04200241d8bbc48000360298042002420a3702fc03200220063602f80320024281808080a0013703f0032002200c3602ec03200241013602e803200241d9818080003602e003200242cc95d4c5e6fafd8e413703d803200242a8bcd1c1dcdb86ac3f3703d0032002410b3602cc0320024195b5c480003602c80320024280808080303703c0032002200936029805200241b4056a2002419c066a280200360200200241ac056a2002418c066a41086a22092902003702002002200229028c063702a4052002418c066a200241c0036a41e8a2c4800010c68f80800041002d008083d480001a410841002802f482d48000118280808000002204450d332004200441036a417c7120046b220c6a2206413c360204200641dabdc480003602002006417e6a200c3b000020024180036a41086a20092802003602002002200229028c063703800341002d008083d480001a410841002802f482d48000118280808000002204450d342004200441036a417c7120046b22096a2204412c3602042004418ed1c480003602002004417e6a20093b0000200242013702fc0320024280808080103703f0032002428080808080013703e803200241c5808080003602e003200242cdd1c1cbe3b5a3c4443703d803200242b9e0ddc2f1d2dbbf4c3703d0032002410c3602cc03200241bad1c480003602c80320024280808080103703c003200220043602f8032002418c066a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a410841002802f482d48000118280808000002204450d352004200441036a417c7120046b220c6a220941c300360204200941c6d1c480003602002009417e6a200c3b0000200241a0036a41086a2002418c066a41086a2802003602002002200229028c063703a00341002d008083d480001a411841002802f482d48000118280808000002204450d362004200441036a417c7120046b220c6a2204413a360214200441e1ccc480003602102004410036020c200442ae80808010370204200441b3ccc480003602002004417e6a200c3b0000200242033702fc0320024280808080303703f0032002428080808080013703e803200241bb808080003602e003200242d7c9cb8fc1cf97db3e3703d803200242e88488d0c0e3aebc133703d003200241113602cc032002419bcdc480003602c80320024280808080103703c003200220043602f8032002418c066a200241c0036a41e8a2c4800010d38f80800041002d008083d480001a41c00041002802f482d480001182808080000022040d37410441c00010ab80808000000b410441c80610ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b410841c00010ab80808000000b410441d00010ab80808000000b410441e80010ab80808000000b4104410810ab80808000000b4104412010ab80808000000b4104411810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104412010ab80808000000b4104411810ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104412010ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104410810ab80808000000b410841c00010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b410841e00010ab80808000000b410441c80010ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104413810ab80808000000b4108412010ab80808000000b4104411810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104412010ab80808000000b4104412810ab80808000000b4108412010ab80808000000b410441d00010ab80808000000b4108412010ab80808000000b410441f00010ab80808000000b4104412010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104411810ab80808000000b2004200441036a417c7120046b220c6a220441c90036023c200441b6d0c48000360238200441de00360234200441d8cfc48000360230200441dd0036022c200441fbcec4800036022820044100360224200442d78080801037021c200441a4cec48000360218200441d300360214200441d1cdc480003602102004410036020c200442a580808010370204200441accdc480003602002004417e6a200c3b0000200241b0036a41086a220c2002418c066a41086a220f2802003602002002200229028c063703b00320034100360200200320022902183702042003410c6a200241186a41086a290200370200200320022903083702142003411c6a200241086a41086a2802003602002003410036023820034284808080d0003702302003418fddc4800036022c200341013602282003200a360224200341013602202003200229023837023c200341c4006a200241386a41086a290200370200200341d4006a200241286a41086a2802003602002003200229032837024c2003410036027020034298808080203702682003419bccc480003602642003410d3602602003200536025c2003410d360258200341fc006a200241d8006a41086a290200370200200320022902583702742003418c016a200241c8006a41086a2802003602002003200229034837028401200341003602a80120034294808080103702a001200341dcd7c4800036029c01200341043602980120032007360294012003410436029001200341b4016a200241f8006a41086a290200370200200320022902783702ac01200341c4016a200241e8006a41086a280200360200200320022903683702bc01200341003602e00120034287808080103702d801200341c1b0c480003602d401200341013602d0012003200b3602cc01200341013602c801200341ec016a20024198016a41086a29020037020020032002290298013702e401200341fc016a20024188016a41086a28020036020020032002290388013702f4012003410036029802200342888080802037029002200341c2e0c4800036028c0220034101360288022003200d360284022003410136028002200341a4026a200241b8016a41086a290200370200200320022902b80137029c02200341b4026a200241a8016a41086a280200360200200320022903a8013702ac02200341003602d0022003428f808080103702c802200341f8d9c480003602c402200341013602c0022003200e3602bc02200341013602b802200341dc026a200241d8016a41086a290200370200200320022902d8013702d402200341ec026a200241c8016a41086a280200360200200320022903c8013702e40220034100360288032003428c808080e00037028003200341dbaec480003602fc02200341013602f802200320103602f402200341013602f00220034194036a200241f8016a41086a290200370200200320022902f80137028c03200341a4036a200241e8016a41086a280200360200200320022903e80137029c03200341003602c00320034296808080303702b803200341cdc2c480003602b403200341013602b003200320113602ac03200341013602a803200341cc036a20024198026a41086a29020037020020032002290298023702c403200341dc036a20024188026a41086a28020036020020032002290388023702d403200341003602f80320034291808080203702f003200341fda3c480003602ec03200341013602e803200320123602e403200341013602e00320034184046a200241b4026a41086a290200370200200320022902b4023702fc0320034194046a200241a8026a41086a280200360200200320022903a80237028c04200341003602b0042003428b808080103702a80420034192a3c480003602a404200341013602a0042003201336029c042003410136029804200341bc046a200241d0026a41086a290200370200200320022902d0023702b404200341cc046a200241c4026a41086a280200360200200320022902c4023702c404200341003602e80420034290808080103702e004200341cbe6c480003602dc04200341003602d80420034280808080c0003702d004200341f4046a200241f0026a41086a290200370200200320022902f0023702ec0420034184056a200241e0026a41086a280200360200200320022903e0023702fc04200341003602a00520034294808080303702980520034191d5c480003602940520034105360290052003200836028c052003410536028805200341ac056a20024190036a41086a29020037020020032002290290033702a405200341bc056a20024180036a41086a28020036020020032002290380033702b405200341003602d8052003428e808080103702d00520034196bec480003602cc05200341013602c805200320063602c405200341013602c005200341e4056a200f2902003702002003200229028c063702dc05200341f4056a200241a0036a41086a280200360200200320022903a0033702ec05200341003602900620034290808080103702880620034189d2c48000360284062003410136028006200320093602fc05200341013602f8052003419c066a200241c0036a41086a290200370200200320022902c00337029406200341ac066a200c280200360200200320022903b0033702a4062003428f808080103702c006200341ffd0c480003602bc06200341083602b806200320043602b406200341083602b0062000410f360208200020033602042000410f360200200241a0066a2480808080000bbc0301037f23808080800041306b220224808080800041002d008083d480001a02400240411041002802f482d48000118280808000002203450d002003200341036a417c7120036b22046a220341f4e6c4800036020c2003410136020820034281808080103702002003417e6a20043b00002002412c6a200141206a2d00003a0000200241246a200141186a2900003702002002411c6a200141106a290000370200200241146a200141086a2900003702002002200129000037020c2002200336020841002d008083d480001a411041002802f482d48000118280808000002201450d012001200141036a417c7120016b22046a220141dce6c4800036020c2001410136020820014281808080103702002001417e6a20043b000020032003280200417f6a2204360200024020040d00200241086a10ca878080000b2002200136020820002002290208370200200041086a200241086a41086a290200370200200041106a200241086a41106a290200370200200041186a200241086a41186a290200370200200041206a200241086a41206a290200370200200241306a2480808080000f0b4104411010ab80808000000b4104411010ab80808000000b040041010bb60503057f017e027f23808080800041d0006b2201248080808000200141286a41a3eac48000410b41f8e3c4800041144104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a419c91c3800010f38e808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41f8e7c480004106108884808000200141106a200141c0006a41e9e7c48000410f10d383808000200141c0006a200141106a41e0e7c48000410910e183808000200141106a200141c0006a41d3e7c48000410d109b84808000200141c0006a200141106a41cbe7c48000410810f283808000200141106a200141c0006a41c7e7c48000410410ad84808000200141c0006a200141106a41abe7c48000410a10cb84808000200141346a200141c0006a41a4e7c48000410710b7848080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a419c91c3800010f48e80800002402007418080808078470d0041bc91c38000411141d091c3800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a0e0c6800010f38e808000200141106a410b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000be70403057f017e027f23808080800041d0006b2201248080808000200141286a41aeeac48000410c41f8e3c4800041144104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a419c91c3800010f38e808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41f8e7c48000410610dc83808000200141106a200141c0006a41e9e7c48000410f109484808000200141c0006a200141106a41cbe7c48000410810c084808000200141106a200141c0006a41c7e7c48000410410b084808000200141346a200141106a41a4e7c48000410710f8838080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a419c91c3800010f48e80800002402007418080808078470d0041bc91c38000411141d091c3800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bc20303057f017e017f23808080800041d0006b2201248080808000200141286a41c6eac48000410741f8e3c4800041144104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a419c91c3800010f38e808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c210620012802282107200142808080808001370248200142888080808001370240200141346a200141c0006a419c91c3800010f58e80800002402007418080808078470d0041bc91c38000411141d091c3800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bf40502027f027e23808080800041c0006b220124808080800020004191016a10d08d8080004194e8c4800041024101410041002802dc82d4800011838080800000200028026c2102200142d8c192ad8deac8dd3f37002720014284ceb68ad8c4c79c8f7f37001f200142e7eacab6b7c9acbc263700172001428de2fdb2e288b2fcd70037000f200120023602302001410f6a4120200141306a410441002802dc82d4800011838080800000200010c98c80800041002102024020002d00704101470d00200141286a20004189016a290000370000200141206a20004181016a290000370000200141186a200041f9006a29000037000020012000290071370010410121020b200120023a000f2001410f6a10f088808000410110ed888080002000290330210320002903382104200142e3e3aca5e7a8ebef5c370027200142bfdcfcdef39bce8e6b37001f200142dbd4b188d8cab88410370017200142bfa89c83ea92efeb1a37000f20012004370338200120033703302001410f6a4120200141306a411041002802dc82d480001183808080000041efe2c48000411a4196e8c48000410441002802dc82d4800011838080800000200041c0006a10c38c8080002000280264200028026810cf8680800020014282fceae49dd9e2861d370027200142de8c84a1ecd0a6d30c37001f20014289df9d82f381819238370017200142d7f0f3fea28baccae70037000f200141306a2001410f6a412010e885808000024002402001280230418080808078460d00200141086a200141306a41086a2802003602002001200129023022033703002003a74521000c010b200141003602082001428080808010370300410121000b20014282fceae49dd9e2861d370027200142de8c84a1ecd0a6d30c37001f20014284c2b1b3ef9292841e370017200142bce2f4b8c5daf6fa2937000f20012001410f6a412010f784808000024020000d00200128020422002000417e6a2f00006b41002802ec82d48000118180808000000b10f68d808000200141c0006a2480808080000bbd0303057f017e017f23808080800041c0006b2201248080808000200141246a41d0e8c48000411141f8e3c4800041144104410010c2928080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a419c91c3800010f38e808000200141086a22022001410c6a41146a28020036020020012001290218370300200128020c21032001280210210420012802142105200129022821062001280224210720014284808080c00037020c20014280808080c000370214200141306a2001410c6a419c91c3800010f48e80800002402007418080808078470d0041bc91c38000411141d091c3800010a181808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41a0e0c6800010f38e808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bd50601037f23808080800041c0006b2202248080808000200241003602142002410036020c200241808080807836020002400240200241e1e8c48000410620014191016a2203109b8e80800022040d00200241e7e8c48000410f2003109c8e80800022040d00200241f6e8c48000410d200141ec006a10a78e80800022040d0020024183e9c4800041082001109a8e80800022040d0020024190e8c480004104200141f0006a10a48e80800022040d002002418be9c480004112200141306a10a18e80800022040d002002419de9c48000410a2003109b8e80800022040d00200241a7e9c480004107200141c0006a10a98e80800022040d00200241e4e3c480004104200141e0006a10a08e80800022040d00200241aee9c4800041072003109b8e80800022040d00200241186a41106a200241106a290200370300200241186a41086a200241086a290200370300200220022902003703182000200241186a1090938080000c010b200041063a00002000200436020402402002280200418180808078460d0002400240200228020c22000d0041002100410021040c010b200220022802102204360234200220003602302002410036022c20022004360224200220003602202002410036021c41012100200228021421040b200220043602382002200036022820022000360218200241186a10c789808000200228020041808080807872418080808078460d01200228020422002000417e6a2f00006b41002802ec82d48000118180808000000c010b024002400240024020022d00040e0704040102030004000b02400240200228020822000d0041002100410021040c010b2002200228020c2204360234200220003602302002410036022c20022004360224200220003602202002410036021c41012100200228021021040b200220043602382002200036022820022000360218200241186a10c7898080000c030b2002280208450d02200228020c22002000417e6a2f00006b41002802ec82d48000118180808000000c020b2002280208450d01200228020c22002000417e6a2f00006b41002802ec82d48000118180808000000c010b200241086a10a18f8080002002280208450d00200228020c22002000417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000b880401037f23808080800041206b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136021020024180023b010c02402002410c6a41e1e8c48000410620004191016a220410c38d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a41e7e8c48000410f200410c08d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a41f6e8c48000410d200041ec006a10c28d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a4183e9c480004108200010c48d80800022030d002002410c6a200041f0006a10a98680800022030d002002410c6a200041306a10a68680800022030d002002410c6a200410a88680800022030d002002410c6a200041c0006a10a78680800022030d002002410c6a200041e0006a10a48680800022030d002002410c6a200410a58680800022030d0041002103200228020c22044180fe0371450d0020044101710d00200228021028020041a49ec48000410141b0e1c4800010988f8080000b200241206a24808080800020030ba003000240024002400240024002400240024002400240024002402002417c6a0e0f050807060208040808010800080803080b200141e7e8c48000410f10f5978080000d07200041013a0001200041003a00000f0b200141f6e8c48000410d10f5978080000d06200041023a0001200041003a00000f0b200129000042e2c2b18be6edd8b2f300520d05200041033a0001200041003a00000f0b2001418be9c48000411210f5978080000d04200041053a0001200041003a00000f0b2001419de9c48000200210f5978080000d03200041063a0001200041003a00000f0b200128000041f3ea91fb06460d04200128000041e1eac98b06470d02200041083a0001200041003a00000f0b200141a7e9c48000200210f597808000450d02200141aee9c48000200210f5978080000d01200041093a0001200041003a00000f0b200141e1e8c48000410610f597808000450d030b20002001200241b8e9c48000410a10a88a808000360204200041013a00000f0b200041073a0001200041003a00000f0b200041043a0001200041003a00000f0b200041003a0001200041003a00000b850703067f017e017f23808080800041d0006b2201248080808000200141286a41c48bc58000411241888cc58000412810c192808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041800141002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241c381808000360278200242c7e5d4cefcfb8ae85b370370200242aa98a18e868390a7e20037036820024105360264200241c08cc58000360260200241c481808000360258200242d8d5ffd5ad9feab179370350200242efd6c9f6c7c9e7f5ac7f37034820024109360244200241b78cc58000360240200241c281808000360238200242cc8e8fa3bac0d9ce17370330200242b5cb9ae1a0c5fe9d7e37032820024104360224200241cf80c58000360220200241ee80808000360218200242d6eed5b5f78482842237031020024297c889b7d487feb0dd0037030820024107360204200241b08cc580003602002002417e6a20033b00002001410436024820012002360240200120024180016a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242aceff0b4f2bd8f8fe4003703002002410036023020024280808080c0003703282002410036022020024100360218200241ed8080800036021020024296e397c6bfa5aeee463703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841800110ab80808000000b41bc91c38000411141d091c3800010a181808000000bd50702047f027e23808080800041106b220124808080800041002d008083d480001a024041c00141002802f482d48000118280808000002202450d002002200241076a417871220320026b22046a220241dd818080003602b801200242a585c7bdbbd6f584867f3703b001200242a9b3dfe8d4c9cd89a97f3703a801200241de818080003602a001200242de8bd9ffa7fab0d56a37039801200242a2bae48de7f687ed0b37039001200241df8180800036028801200242cfaac1e1eabd91b70237038001200242eca4dfafe394e4be70370378200241e081808000360270200242c5f685f793b1e6e2ad7f370368200242c2c9d9b5a4d0d8f8a67f370360200241e181808000360258200242c0dd8cbdc2bffaba2e37035020024282eb90ef9fd2db9eb37f370348200241e281808000360240200241e381808000360228200241e4818080003602102002417e6a20043b0000200242fe86b386a79ebd9ac000370308200242f48590aaeaaefbb3213703002002428484bbd38cc2a7d167370318200242d0aeacd8f79afcc705370320200242f888b0f8c4dc91b1b07f370330200242e8d49ab3fb86eeaca17f37033820022903502105024002402002290348220642f6a1d3feb29c80da987f520d00200542d08f91acc69ac4b069520d00200241c8006a21040c010b2002200537035020022006370348200241e0006a21040b20022903682105024002402002290360220642f6a1d3feb29c80da987f520d00200542d08f91acc69ac4b069510d010b200420063703002004200229037037031020042005370308200441186a21040b2002290380012105024002402002290378220642f6a1d3feb29c80da987f520d00200542d08f91acc69ac4b069510d010b20042002290388013703102004200537030820042006370300200441186a21040b200229039801210502400240200229039001220642f6a1d3feb29c80da987f520d00200542d08f91acc69ac4b069510d010b200420022903a0013703102004200537030820042006370300200441186a21040b20022903b00121050240024020022903a801220642f6a1d3feb29c80da987f520d00200542d08f91acc69ac4b069510d010b200420022903b8013703102004200537030820042006370300200441186a21040b200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200420036b41186e36020c2000200236020820004108360204200041043a0000200141106a2480808080000f0b410841c00110ab80808000000ba90402067f017e23808080800041d0006b2201248080808000200141286a41ffeec48000410d41c486c5800041284104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c210720012802282103200142808080808001370248200142888080808001370240200141346a200141c0006a419c91c3800010f58e8080002003418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002003360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bbe1105037f017e027f027e037f23808080800041a0046b2203248080808000200342003703002003200136020802400240200128020422040d004100210542012106410121070c010b20012004417f6a220536020420012001280200220441016a3602002003420137030020042d0000210441002107420221060b024002400240024020074101710d002004413f71210702400240200441fe01714104470d00420221060c010b024002402007417c6a0e020100030b200441407141ff017141c000470d020240024020050d00410121010c010b20012005417f6a36020420012001280200220441016a3602002003200637030020042d00002108410021010b20014101710d02200341a0016a200310bf8680800020032903a0014202510d02200341106a41186a200341a0016a41186a2903002206370300200341106a41106a200341a0016a41106a290300220937030020034196036a200341c3016a2d00003a0000200341a7036a20032903a801220a370000200341b7036a2006370000200341af036a20093700002003200a370318200320032903a0012206370310200320032f00c1013b0194032003200637009f0320032d00c001210420032802c401210520032802c801210120032802cc01210b420421060c010b200441187441187541404e0d01200341a0016a200310ec8e80800020032d00a00122044105460d01200341b2026a20032d00a3013a0000200341c8036a200341b9016a290000370300200341cf036a200341c0016a280000360000200320032f00a1013b01b002200320032900b1013703c003024002402003280208220728020422010d004100210c410121080c010b20072001417f6a220c36020420072007280200220141016a3602002003427f200329030042017c22062006501b37030020012d0000210d410021080b20032802a401210520032802a8012101024020084101710d0020032802ac01210b20032d00b001210802400240024002400240200d41ff01710e0400010203050b200c41c000490d042007200c41406a36020420072007280200220c41c0006a360200200341d8036a41106a200c41106a290000370300200341d8036a41186a200c41186a290000370300200341d8036a41206a200c41206a290000370300200341d8036a41286a200c41286a290000370300200341d8036a41306a200c41306a290000370300200341d8036a41386a200c41386a2900003703002003427f2003290300220642c0007c220920092006541b370300200341d8036a41086a200c41086a2900003703002003200c2900003703d8030c030b200c41c000490d032007200c41406a36020420072007280200220c41c0006a360200200341d8036a41106a200c41106a290000370300200341d8036a41186a200c41186a290000370300200341d8036a41206a200c41206a290000370300200341d8036a41286a200c41286a290000370300200341d8036a41306a200c41306a290000370300200341d8036a41386a200c41386a2900003703002003427f2003290300220642c0007c220920092006541b370300200341d8036a41086a200c41086a2900003703002003200c2900003703d8030c020b200c41c100490d022007200c41bf7f6a36020420072007280200220c41c1006a3602002003427f2003290300220642c1007c220920092006541b370300200341d8036a200c41c10010f4978080001a0c010b200c41c100490d012007200c41bf7f6a36020420072007280200220c41c1006a3602002003427f2003290300220642c1007c220920092006541b370300200341d8036a200c41c10010f4978080001a0b200341a0016a200310bf8680800020032903a00122064202510d0020034198036a41086a200341b1016a290000370300200341a8036a200341b9016a290000370300200341b0036a200341c1016a290000370300200341b7036a200341c8016a29000037000020034180036a41086a200341c0036a41086a29030037030020034180036a410f6a200341c0036a410f6a280000360000200320032900a90137039803200320032903c0033703800320032d00a8012107200341bf026a200341d8036a41c10010f4978080001a20034194036a41026a200341b0026a41026a2d00003a0000200320032f01b0023b0194030c010b20044102470d012005450d0120012001417e6a2f00006b41002802ec82d48000118180808000000c010b200341003602c80320034280808080103702c003200320033602cc032003428080808090808080013702b4022003200341c0036a3602b002200341a0016a200341b0026a10fe8580800020032802a0014108470d012000420537030020032802c003450d0220032802c40322002000417e6a2f00006b41002802ec82d48000118180808000000c020b200042053703000c020b200341106a200341a0016a41900110f4978080001a024020032903002002ad520d002000200329039803370009200020032f0194033b00312000200329038003370041200041286a200341b7036a290000370000200041216a200341b0036a290300370000200041196a200341a8036a290300370000200041116a20034198036a41086a290300370000200041336a20034196036a2d00003a0000200041c9006a20034180036a41086a290300370000200041d0006a2003418f036a280000360000200041d5006a200341bf026a41c10010f4978080001a200041a0016a200341106a41900110f4978080001a2000200d3a0054200020083a00402000200b36023c2000200136023820002005360234200020043a0030200020073a000820002006370300200041b8026a200341c0036a41086a280200360200200020032902c0033702b0020c020b20032802c403210720004205370300024020032802c00341808080807872418080808078460d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200341106a10c0868080000b2006427e7c4203540d00200441ff01714102470d002005450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200341a0046a2480808080000ba50304047f017e017f037e23808080800041306b2202248080808000024002402001280208220328020422040d0041002105410121040c010b20032004417f6a220536020420032003280200220441016a3602002001427f200129030042017c22062006501b37030020042d00002107410021040b02400240024020044101710d0002400240200741ff01710d00420021080c010b0240024020050d00410121030c010b20032005417f6a36020420032003280200220441016a3602002001427f200129030042017c22062006501b37030020042d00002104410021030b20034101710d012007ad2206420f832209500d01420121082004ad42ff0183420886200642f001838442048842022009862206420c8842012009420b561b7e220920065a0d010b200241086a200110d28480800020022802084101710d00200228020c2103200241106a200110d9848080002002280210410171450d010b200042023703000c010b2002290320210a200020022903283703282000200a370320200020093703102000200637030820002003360218200020083703000b200241306a2480808080000bd90d01077f0240024002400240024002400240024020002802000e080102070703040500010b20002802084104470d06200028020c450d06200028021021010c050b0240024002400240024002400240024020002d0008417f6a0e0a010d0203040506070d0d000b200028020c450d0c200028021021010c0b0b200028020c450d0b200028021021010c0a0b200028020c450d0a200028021021010c090b200028020c450d09200028021021010c080b2000410c6a10a68f808000200028020c450d08200028021021010c070b2000410c6a10aa8f808000200028020c450d07200028021021010c060b2000280210450d06200028021421010c050b200028020c450d05200028021021010c040b024020002802042201418080808078470d002000280208450d05200028020c21010c040b02402001450d00200028020822012001417e6a2f00006b41002802ec82d48000118180808000000b200041d0006a10a688808000200028023c2102024020002802402203450d0041002104034002402002200441f0006c6a22052802082206450d00200528020421010340024020012d0000220741034b0d00200120074102744184cfc580006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012006417f6a22060d000b0b02402005280200450d00200528020422012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280238450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802442201418080808078460d002001450d00200028024822012001417e6a2f00006b41002802ec82d48000118180808000000b20002802602104024020002802642201450d002001410171210241002106024020014101460d002001417e7121052004210141002106034002402001280200450d00200141046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012005200641026a2206470d000b0b2002450d00200420064104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200028025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402000280268450d00200028026c22012001417e6a2f00006b41002802ec82d48000118180808000000b200028027821040240200028027c2207450d002007410171210241002106024020074101460d002004411c6a21012007417e7121054100210603400240200141686a280200450d002001416c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141286a21012005200641026a2206470d000b0b2002450d002004200641146c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402000280274450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200028028001450d0420002802840121010c030b024002400240024002400240024020002d0010417f6a0e07000102030405060a0b20002d00144102470d092000280218450d09200028021c21010c080b024020002d00144102470d002000280218450d00200028021c22012001417e6a2f00006b41002802ec82d48000118180808000000b20002d00384102470d08200028023c450d08200028024021010c070b20002d00144102470d072000280218450d07200028021c21010c060b20002d00144102470d062000280218450d06200028021c21010c050b20002d00144102470d052000280218450d05200028021c21010c040b2000280214450d04200028021821010c030b20002d00144102470d032000280218450d03200028021c21010c020b024002400240024020002d00082201417c6a41042001417b6a41ff01714105491b417f6a0e0400010203060b200028020c220110c0868080000c040b2000280220220110c0868080000c030b20002d000c4102470d032000280210450d03200028021421010c020b024020014102470d00200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b200028022c220110c0868080000c010b20002802042201418480808078480d012001450d01200028020821010b20012001417e6a2f00006b41002802ec82d48000118180808000000b0ba00a01037f23808080800041106b2202248080808000024002400240024002400240024020002802000e06000102030405000b20022000410c6a360204200128020041a8f0c480004114200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41bcf0c480004109200041046a41f8efc48000108a8180800041c5f0c480004112200041086a4188f0c48000108a8180800041d7f0c480004112200241046a4198f0c48000108a81808000210420022d000d220120022d000c220372210020014101470d0520034101710d050240200428020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c060b200028020041dc80c280004101200028020428020c1180808080000021000c050b20022000410c6a360204200128020041e9f0c480004111200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41bcf0c480004109200041046a41f8efc48000108a8180800041faf0c48000410f200041086a4188f0c48000108a818080004189f1c48000410f200241046a4198f0c48000108a81808000210420022d000d220120022d000c220372210020014101470d0420034101710d040240200428020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c050b200028020041dc80c280004101200028020428020c1180808080000021000c040b2002200041086a36020420012802004198f1c480004113200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41c5f0c480004112200041046a4188f0c48000108a8180800041d7f0c480004112200241046a4198f0c48000108a81808000210420022d000d220120022d000c220372210020014101470d0320034101710d030240200428020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c040b200028020041dc80c280004101200028020428020c1180808080000021000c030b2002200041086a360204200128020041abf1c480004110200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41faf0c48000410f200041046a4188f0c48000108a818080004189f1c48000410f200241046a4198f0c48000108a81808000210420022d000d220120022d000c220372210020014101470d0220034101710d020240200428020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c030b200028020041dc80c280004101200028020428020c1180808080000021000c020b2002200041086a360204200128020041bbf1c480004114200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41cff1c480004109200041046a4188f0c48000108a8180800041d8f1c480004106200241046a4198f0c48000108a81808000210420022d000d220120022d000c220372210020014101470d0120034101710d010240200428020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c020b200028020041dc80c280004101200028020428020c1180808080000021000c010b200128020041def1c48000411e200128020428020c1180808080000021000b200241106a24808080800020004101710be40501047f2380808080004190016b220124808080800020014289df9d82f381819238370016200142d7f0f3fea28baccae70037000e200141cc006a2001410e6a411041002802bc82d480001186808080000002400240200128024c2202418080808078460d0020012802502103024020012802544110490d002001410e6a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d0120004200370300200041086a42003703000c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b011e41002102024041002802b483d4800041024d0d0020014104360224200141a0e7c48000360220200141e581808000ad4220862001411e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370284012001410336027c20014184f3c4800036027820014116360274200141a1edc480003602702001410336026c200141d8ecc48000ad428080808090098437026420014100360260200141b7edc48000ad4280808080b002843702582001410036025420014281808080f00937024c2002419cf4ca8000200441024622041b28021021022001200141286a36028001200341b4f4ca800020041b200141cc006a2002118b808080000020012f011e21020b200141cc006a41a0e7c48000410441002802d480d4800011868080800000200141cc006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141cc006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141cc006a41086a2900003703002001200129004c370328200120023b014c200141286a4120200141cc006a410241002802dc82d4800011838080800000200041086a4200370300200042003703000b20014190016a2480808080000bbc0201047f23808080800041306b22022480808080002002200036020c4101210002402001280200220341a8ccc58000410e2001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110a5858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a5858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000be40501047f2380808080004190016b2201248080808000200142a988d1e9f0b7bbcf9c7f370016200142dc9ac4b0d794dae07937000e200141cc006a2001410e6a411041002802bc82d480001186808080000002400240200128024c2202418080808078460d0020012802502103024020012802544110490d002001410e6a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d0120004200370300200041086a42003703000c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b011e41002102024041002802b483d4800041024d0d0020014104360224200141c7e7c48000360220200141e581808000ad4220862001411e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370284012001410336027c20014184f3c4800036027820014116360274200141a1edc480003602702001410336026c200141caedc48000ad42808080809009843702642001410036026020014193eec48000ad4280808080b002843702582001410036025420014281808080c01237024c2002419cf4ca8000200441024622041b28021021022001200141286a36028001200341b4f4ca800020041b200141cc006a2002118b808080000020012f011e21020b200141cc006a41c7e7c48000410441002802d480d4800011868080800000200141cc006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141cc006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141cc006a41086a2900003703002001200129004c370328200120023b014c200141286a4120200141cc006a410241002802dc82d4800011838080800000200041086a4200370300200042003703000b20014190016a2480808080000b8926030a7f027e0b7f2380808080004190056b220224808080800002400240024002400240024020012802002203450d002001280204210420032105034041002106024020052f01e2012207450d00200541e4006a210820074103742109410021062005210a0340024041baf5c48000200a410810f597808000220b41004a200b4100486b41ff0171220b4101460d00200b0d0220022008417c6a290200370228200241e8026a200241286a109b8580800020022802e802220a418080808078460d0620024190016a41086a200241fd026a290000370300200241a0016a20024185036a290000370300200241a8016a2002418d036a290000370300200241b0016a20024195036a290000370300200241b8016a2002419d036a290000370300200241bf016a200241a4036a280000360000200220022900f5023703900120022900ed02210c20022d00ec02210520022802a803210920022802ac03210820022802b003210b20022802b403210620022902b803210d200241386a41086a200241c8036a280200360200200241d8026a41086a200241d4036a280200360200200220022902c003370338200220022902cc033703d8020c050b2008410c6a2108200a41086a210a200641016a2106200941786a22090d000b200721060b2004450d012004417f6a2104200520064102746a2802e40121050c000b0b418080808078210a0b20024180026a411f6a220420024190016a411f6a29000037000020024180026a41186a220720024190016a41186a29030037030020024180026a41106a220e20024190016a41106a29030037030020024180026a41086a220f20024190016a41086a29030037030020024180016a41086a2210200241bf016a280000360200200241f0006a41086a2211200241386a41086a2212280200360200200220022903900137038002200220022900b7013703800120022002290338370370200241e0006a41086a2213200241d8026a41086a280200360200200220022903d802370360200a418080808078460d00200241386a411f6a2004290000370000200241386a41186a2007290300370300200241386a41106a200e2903003703002012200f290300370300200241286a41086a2010280200360200200241186a41086a20112802003602002002200229038002370338200220022903800137032820022002290370370318200241086a41086a2013280200360200200220022903603703080c010b02402003450d0020012802042105034041002106024020032f01e2012204450d00200341e4006a210820044103742109410021062003210a0340024041c2f5c48000200a410810f597808000220b41004a200b4100486b41ff0171220b4101460d00200b0d0220022008417c6a2902003702d802200241e8026a200241d8026a10fd8e808000418080808078210620022802e802220a418080808078460d0420022900ed02210c20022d00ec02210520024190016a200241f5026a41cb0010f4978080001a200241386a41086a20024190016a41086a290000370300200241386a41106a20024190016a41106a290000370300200241386a41186a20024190016a41186a290000370300200241386a411f6a20024190016a411f6a290000370000200241186a41086a200241cb016a280000360200200241286a41086a200241bf016a2800003602002002200229009001370338200220022900c301370318200220022900b701370328200241086a41086a200241d7016a280000360200200220022900cf0137030841042108410021094100210b0c050b2008410c6a2108200a41086a210a200641016a2106200941786a22090d000b200421060b2005450d012005417f6a2105200320064102746a2802e40121030c000b0b20004181808080783602000c010b200241a5016a200241386a41086a290300370000200241ad016a200241c8006a290300370000200241b5016a200241d0006a290300370000200241bc016a200241d7006a2900003700002002200c37009501200220053a0094012002200a360290012002200229033837009d01200241cc016a200241286a41086a2802003602002002200d3702e001200220063602dc012002200b3602d801200220083602d401200220093602d001200220022903283702c401200241f0016a200241186a41086a280200360200200220022903183702e801200241fc016a200241086a41086a280200360200200220022903083702f401200241e8026a20024190016a10dc8280800020024180026a200241e8026a41d80010f4978080001a20022802d403210720022802d003210e20022802cc03211420022802c003211520022802c403210120022802c8032105200242cce78dfda8f884f6bd7f37008003200242a2f98685b9fa9aec343700f802200242b9e088b7b6cdc2d1133700f002200242c5e4f4b9cff9d18a0b3700e8022002200241e8026a412010d0858080002002280204210a20022802002106200241e8026a10aa86808000200229038805210d200242e9d5b48babef9efb523700800320024289f8dca7dfdb9eba113700f802200242b9e088b7b6cdc2d1133700f002200242c5e4f4b9cff9d18a0b3700e802200241d8026a200241e8026a412010e18580800020022802e002410020022802d802220b1b2109200d420680220d42ffffffff0f200d42ffffffff0f541ba7210f20022802dc02200a410020064101711b2216200b1b210b20012005410474220a6a210602400240024002400240024002400240024002400240024002400240024002400240024002400340200a450d022006417c6a2802002208200b460d01200641706a2106200a41706a210a2008200b4f0d000b200a41047621090c020b200a41706a410476220a2009490d00200a20096b21090c010b2005450d010c030b200941016a2103200920054f0d070240024020090d00410021060c010b200941016a417e7121082001210a4100210603400240200a280200450d00200a41046a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200a41106a280200450d00200a41146a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41206a210a2008200641026a2206470d000b0b200520036b2105024020094101710d00200120064104746a220a280200450d00200a280204220a200a417e6a2f00006b41002802ec82d48000118180808000000b20050d010b41002105200f2109410021030c020b2001200120034104746a200541047410f9978080001a0b0240200141086a280200220a200f4d0d00200f2109200521030c010b2005417f6a41ffffffff007141016a2108200141186a210b200541047441706a210641002103200f21090240024003402009200a6b21092006450d01200641706a2106200341016a2103200b280200210a200b41106a210b2009200a490d020c000b0b200821030b200320054b0d010b200520036b2205410474210a410021060240200541ffffffff004b0d00200a41fcffffff074b0d00410021124100211141042106200a450d0341002d008083d480001a200a41002802f482d4800011828080800000220b0d02410421060b2006200a41e8a2c5800010b980808000000b2003200541e8a2c5800010b580808000000b200b200b41036a417c712206200b6b22086a417e6a20083b0000200521110b2006200120034104746a200a10f4978080002104200541ffffffff00712210ad42247e220da7210a024002400240200d422088a70d00200a41fcffffff074b0d00410021120240200a0d0041042113410021170c030b41002d008083d480001a200a41002802f482d480001182808080000022060d01410421120b2012200a418ca0c5800010b980808000000b2006200641036a417c71221320066b220a6a417e6a200a3b0000201021170b02402005450d00200441086a21062013210a2010210b0340200641046a2802002108200241e8026a2006417c6a280200200628020010fd82808000200a41206a2008360200200a20022902e802370200200a41086a200241e8026a41086a290200370200200a41106a200241e8026a41106a290200370200200a41186a200241e8026a41186a290200370200200641106a2106200a41246a210a200b417f6a220b0d000b2005410171211241002106024020054101460d002005417e7121082004210a4100210603400240200a280200450d00200a41046a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200a41106a280200450d00200a41146a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41206a210a2008200641026a2206470d000b0b02402012450d00200420064104746a220a280200450d00200a280204220a200a417e6a2f00006b41002802ec82d48000118180808000000b201021120b02402011450d0020042004417e6a2f01006b41002802ec82d48000118180808000000b2002429eadbde691ac81d83e37008003200242e29e95bab8beb5d5a77f3700f802200242b9e088b7b6cdc2d1133700f002200242c5e4f4b9cff9d18a0b3700e802200241d8026a200241e8026a412010e18580800020022802e002410020022802d802220a1b210520022802dc022016200a1b210b200e200741146c220a6a2106024002400340200a450d022006417c6a2802002208200b460d012006416c6a2106200a416c6a210a2008200b4f0d000b200a41146e21050c030b200a416c6a41146e220a2005490d00200a20056b21050c020b2007450d020c040b2003200541ecabc88000109181808000000b200541016a2104200520074f0d080240024020050d00410021060c010b200e411c6a210a200541016a417e7121084100210603400240200a41686a280200450d00200a416c6a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200a417c6a280200450d00200a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41286a210a2008200641026a2206470d000b0b200720046b2107024020054101710d00200e200641146c6a220a280204450d00200a41046a280204220a200a417e6a2f00006b41002802ec82d48000118180808000000b20070d010b41002107410021040c020b200e200e200441146c6a200741146c10f9978080001a0b0240417f2009200f6a220a200a2009491b220a200e410c6a28020022064f0d00200721040c010b2007417f6a41ffffffff037141016a2109200e41206a2108200741146c416c6a210b41002104024002400340200b450d01200b416c6a210b200441016a2104200a20066b210a20082802002106200841146a2108200a2006490d020c000b0b200921040b200420074b0d010b200720046b2207ad42147e220da7210a410021060240200d422088a70d00200a41fcffffff074b0d00410021080240200a0d004104210a410021160c040b41002d008083d480001a200a41002802f482d480001182808080000022060d02410421060b2006200a41e8a2c5800010b980808000000b2004200741e8a2c5800010b580808000000b2006200641036a417c71220a20066b220b6a417e6a200b3b0000200721160b200a200e200441146c6a200741146c220610f497808000210f200641146e2210ad42287e220da7210a024002400240200d422088a70d00200a41fcffffff074b0d00410021060240200a0d0041042111410021180c030b41002d008083d480001a200a41002802f482d4800011828080800000220b0d01410421080b2008200a418ca0c5800010b980808000000b200b200b41036a417c712211200b6b220a6a417e6a200a3b0000201021180b02402007450d00200241ec026a2105200f21062011210a2010210b0340200641106a2802002108200628020021092005200641086a2802002006410c6a28020010fd82808000200a41086a200241e8026a41086a290200370200200a41106a200241e8026a41106a290200370200200a41186a200241e8026a41186a290200370200200220093602e802200a20022902e8023702002002200836028c03200a41206a200241e8026a41206a290200370200200641146a2106200a41286a210a200b417f6a220b0d000b2007410171210941002106024020074101460d00200f411c6a210a2007417e7121084100210603400240200a41686a280200450d00200a416c6a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200a417c6a280200450d00200a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41286a210a2008200641026a2206470d000b0b02402009450d00200f200641146c6a220a280204450d00200a41046a280204220a200a417e6a2f00006b41002802ec82d48000118180808000000b201021060b02402016450d00200f200f417e6a2f01006b41002802ec82d48000118180808000000b200020024180026a41d80010f497808000220a200636028401200a201136028001200a201836027c200a2004360278200a200e360274200a2014360270200a201236026c200a2013360268200a2017360264200a2003360260200a200136025c200a20153602580b20024190056a2480808080000f0b2004200741ecabc88000109181808000000bf93306027f017e067f017e087f027e23808080800041900d6b220824808080800020084190026a41206a200241206a29020037030020084190026a41186a200241186a29020037030020084190026a41106a200241106a29020037030020084190026a41086a200241086a290200370300200820022902003703900220084180076a410010c786808000200841106a200828028407220920082802880710de858080000240200828028007450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841106a2001108c8980800002400240024020082d00104101470d00200841c0026a41026a200841136a2d000022023a0000200820082f001122013b01c002200041026a20023a0000200020013b0000200042003703582000420237035020082802900222022002280200417f6a220236020020020d0120084190026a10ca878080000c010b200820033602bc02200820073a00b80241002802e8ffd38000118c8080800000210a200841f0086a41086a2209200241086a290200370300200841f0086a41106a2207200241106a290200370300200841f0086a41186a220b200241186a290200370300200841f0086a41206a220c200241206a290200370300200841013a00e808200842043703e008200842003703d80820084280808080c0003703d0082008427f3703c808200842003703c008200820022902003703f008200841013a0038200842043703302008420037032820084280808080c0003703202008427f37031820084200370310200841b0046a200841106a200841c0086a10f8968080000240024002400240024020082d00f4084101470d00200841f0086a41057210b183808000450d0020082802f00822022002280200417f6a2202360200024020020d00200841f0086a10ca878080000b41002101200841003a00c20220084180143b01c00220082802c4042105024020082802c8042202450d0020024101712104024020024101460d002002417e7121032005210241002101034002402002280200450d00200241046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022003200141026a2201470d000b0b2004450d0020052001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b024020082802c004450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20082802d0042105024020082802d4042202450d002002410171210441002101024020024101460d002002417e7121032005210241002101034002402002280200450d00200241046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022003200141026a2201470d000b0b2004450d0020052001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b20082802cc04450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b200841106a410f6a220d2009290300370000200841106a41176a220e2007290300370000200841106a411f6a220f200b290300370000200841106a41276a2210200c290300221137000020084180076a41276a22022011370000200820082903f00837001720084180076a41086a200841106a41086a220929000037030020084180076a41106a200841106a41106a220729000037030020084180076a41186a200841106a41186a220b29000037030020084180076a41206a200841106a41206a220c2900003703002008200829001037038007200841013a00c009200842043703b809200842003703b00920084280808080c0003703a8092008427f3703a009200842003703980920084198096a412c6a20082800830736000020082008280280073600c109200841c8096a41206a22122002290000370300200841c8096a41186a221320084180076a411f6a2214290000370300200841c8096a41106a221520084180076a41176a2216290000370300200841c8096a41086a221720084180076a410f6a221829000037030020082008290087073703c809200841106a41286a2219200841b0046a41286a290300370300200c200841b0046a41206a290300370300200b200841b0046a41186a2903003703002007200841b0046a41106a2903003703002009200841b0046a41086a290300370300200820082903b00437031020084180076a200841106a20084198096a10f896808000200841013a00980a200842043703900a200842003703880a20084280808080c0003703800a2008427f3703f809200842003703f009200841106a20084180076a200841f0096a10f896808000200841e1046a410f6a2017290300370000200841e1046a41176a2015290300370000200841e1046a411f6a2013290300370000200841e1046a41276a2012290300370000200841a00a6a412c6a200841e4046a280000360000200841013a00c80a200842043703c00a200842003703b80a20084280808080c0003703b00a2008427f3703a80a200842003703a00a200820082903c8093700e804200820082800e1043600c90a20084190056a200841106a200841a00a6a10f896808000200842d3d8c5d2a9b9d2c1ac7f37002820084282ca868eabf3add0cf00370020200842fc90b9e5d09296e777370018200842a6d4e6f1a4dd959860370010200841086a200841106a412010d085808000200835020c420020082802084101711b211a427f2111024020012802004101470d00200129030822114200510d062001290310221b20117c4200201a201b7d221b201b201a561b221b2011827d201b7c21110b200d200841c8096a41086a290300370000200e200841c8096a41106a290300370000200f200841c8096a41186a2903003700002010200841c8096a41206a290300221b3700002002201b370000200820082903c80937001720084180076a41086a2212200841106a41086a220929000037030020084180076a41106a2213200841106a41106a220729000037030020084180076a41186a2215200841106a41186a220b29000037030020084180076a41206a200841106a41206a220c2900003703002008200829001037038007200841013a00f80a200842043703f00a200842003703e80a20084280808080c0003703e00a200842002011201a7d221a201a2011561b3703d80a200842003703d00a200841d00a6a412c6a20082800830736000020082008280280073600f90a200841800b6a41206a2002290000370300200841800b6a41186a2014290000370300200841800b6a41106a2016290000370300200841800b6a41086a201829000037030020082008290087073703800b201920084190056a41286a290300370300200c20084190056a41206a290300370300200b20084190056a41186a290300370300200720084190056a41106a290300370300200920084190056a41086a2903003703002008200829039005370310200841c0056a200841106a200841d00a6a10f8968080002008200141206a22173602f40520082001411c6a3602f005200841013602e006200841013602d80620082008418f0d6a3602dc062008200841f0056a3602d4062008200841b8026a3602d006200841106a200141186a200841800b6a200320042005200841d0066a2006108786808000024020082802202202418080808078460d00200841f8056a41086a22012009290300370300200820082903103703f80520084180076a200841246a41c40010f4978080001a200841d80b6a41206a20084188016a290300370300200841d80b6a41186a20084180016a290300370300200841d80b6a41106a200841f8006a290300370300200841d80b6a41086a200841f0006a290300370300200841a80b6a41086a2001290300370300200841a80b6a411c6a2012290200370200200841a80b6a41246a2013290200370200200841a80b6a412c6a2015280200360200200820082903683703d80b200820023602b80b200820082903f8053703a80b20082008290280073702bc0b200841a8066a41206a200841bc076a290200370300200841a8066a41186a200841b4076a290200370300200841a8066a41106a20084180076a412c6a290200370300200841a8066a41086a20084180076a41246a2902003703002008200829029c073703a806200841106a41286a2202200841c0056a41286a290300370300200c200841c0056a41206a290300370300200b200841c0056a41186a2903003703002007200841c0056a41106a2903003703002009200841c0056a41086a290300370300200820082903c005370310200841f8056a200841106a200841a80b6a10f896808000200841106a2004200510cf85808000024020082802202201418080808078470d00200820082f01103b01d006200820082d00123a00d20620082802d80b22022002280200417f6a2202360200024020020d00200841d80b6a10ca878080000b200820082f01d0063b01c002200820082d00d2063a00c202200828028c06210502402008280290062202450d002002410171210441002101024020024101460d002002417e7121032005210241002101034002402002280200450d00200241046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022003200141026a2201470d000b0b2004450d0020052001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200828028806450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20082802980621050240200828029c062202450d002002410171210441002101024020024101460d002002417e7121032005210241002101034002402002280200450d00200241046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022003200141026a2201470d000b0b2004450d0020052001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b200828029406450d0220052005417e6a2f00006b41002802ec82d48000118180808000000c020b200841800c6a411c6a200841106a411c6a290200370200200841800c6a41246a200841106a41246a290200370200200841800c6a412c6a200841106a412c6a280200360200200841d0066a41086a2209200841106a41086a2207290300370300200841b00c6a41206a200841d80b6a41206a290300370300200841b00c6a41186a200841d80b6a41186a290300370300200841b00c6a41106a200841d80b6a41106a290300370300200841b00c6a41086a200841d80b6a41086a290300370300200820082902243702940c200820082903103703d006200820082903d80b3703b00c2008280240210c20084190086a41086a220b2009290300370300200820082903d00637039008200841800c6a41086a200b29030037030020082008290390083703800c200820013602900c2002200841f8056a41286a290300370300200841106a41206a2201200841f8056a41206a290300370300200841106a41186a220b200841f8056a41186a290300370300200841106a41106a2202200841f8056a41106a2903003703002007200841f8056a41086a290300370300200820082903f805370310200841d0066a200841106a200841800c6a10f8968080002008410136028c08200841013602840820082008418f0d6a3602880820082008418f0d6a360280082008200841b8026a3602fc07200841106a2017200841b00c6a200320042005200841fc076a2006108886808000200820082f01203b01f0072008200841226a2d00003a00f207200829031022114202852008290318221a844200520d02200820082f01f0073b01c002200820082d00f2073a00c202200841d0066a41106a10aa8f808000024020082802e006450d0020082802e40622022002417e6a2f00006b41002802ec82d48000118180808000000b200841ec066a10aa8f80800020082802ec06450d0120082802f00622022002417e6a2f00006b41002802ec82d48000118180808000000c010b200820082f01103b01c002200820082d00123a00c20220082802d4052105024020082802d8052202450d002002410171210441002101024020024101460d002002417e7121032005210241002101034002402002280200450d00200241046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022003200141026a2201470d000b0b2004450d0020052001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b024020082802d005450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20082802e0052105024020082802e4052202450d002002410171210441002101024020024101460d002002417e7121032005210241002101034002402002280200450d00200241046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022003200141026a2201470d000b0b2004450d0020052001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b20082802dc05450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200820082f01c0023b0110200820082d00c2023a001220084200370368200842023703600c010b20084180076a200841236a41ed0010f4978080001a20084190086a41206a2203200841106a41a0016a29030037030020084190086a41186a2205200841106a4198016a29030037030020084190086a41106a2204200841106a4190016a290300370300200841d80c6a41086a200841c5076a290000370300200841d80c6a41106a200841cd076a290000370300200841d80c6a41186a200841d5076a290000370300200841d80c6a41206a200841dd076a290000370300200841d80c6a41286a200841e5076a2900003703002008200841106a4188016a29030037039808200820082903900137039008200820082900bd073703d80c20084192036a20082d00f2073a0000200820082f01f0073b019003200841c0026a4188016a200841b5076a290000370000200841c3036a20084180076a41306a290000370000200841bb036a20084180076a41286a290000370000200841b3036a20084180076a41206a290000370000200841ab036a20084180076a41186a290000370000200841a3036a20084180076a41106a2900003700002008419b036a20084180076a41086a290000370000200820082900800737009303200841106a41286a200841d0066a41286a2903003703002001200841d0066a41206a290300370300200b200841d0066a41186a2903003703002002200841d0066a41106a29030037030020072009290300370300200820082903d006370310200841c0026a4190016a200841106a200841d80c6a10f896808000200841c0026a41306a4200370300200841c0026a41106a200841a8066a41106a290300370300200841c0026a41186a200841a8066a41186a290300370300200841c0026a41206a200841a8066a41206a290300370300200841c0026a41c8016a2201200829039808370300200841c0026a41d0016a22092004290300370300200841c0026a41d8016a22042005290300370300200841c0026a41e0016a220520032903003703002008201a370388032008201137038003200842003703e8022008200c3602f802200820082903a8063703c0022008200841a8066a41086a2903003703c802200820082903900837038004200841106a41c8016a200841c0026a41b8016a290300370300200841d0016a200841c0026a41b0016a290300370300200841106a41b8016a200841c0026a41a8016a290300370300200841106a41b0016a200841c0026a41a0016a290300370300200841106a41a8016a200841c0026a4198016a290300370300200820082903d0033703b0012002200841c0026a41900110f4978080001a20084180026a2005290300370300200841f8016a2004290300370300200841106a41e0016a2009290300370300200841106a41d8016a200129030037030020082008290380043703e0012008200a3703182008200a427f52ad3703102008290360420285200829036884500d0020082d00e40141ff01714102460d010b2000200841106a41800210f4978080001a0c010b200841c0026a41206a200841106a41d0016a220241206a290200370300200841c0026a41186a200241186a290200370300200841c0026a41106a200241106a290200370300200841c0026a41086a200241086a290200370300200042003703582000420237035020004180183b01002008200229020022113703c0022011a722022002280200417f6a2202360200024020020d00200841c0026a10ca878080000b200841c0016a10aa8f808000024020082802c001450d0020082802c40122022002417e6a2f00006b41002802ec82d48000118180808000000b200841cc016a10aa8f80800020082802cc01450d0020082802d00122022002417e6a2f00006b41002802ec82d48000118180808000000b200841900d6a2480808080000f0b41a488cd8000108e81808000000bd80401057f23808080800041d0006b220224808080800041002103200241146a41f8e7c48000410641002802d480d4800011868080800000200241246a41808fc58000410941002802d480d480001186808080000020022001360234200241c8006a200241346a410441002802e480d48000118680808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a4190e3ca800010ab9180800002400240024002402002280210220141206a22044100480d00200228020c2105024020040d002002410036024020024280808080103702380c030b4100210641002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48bc5800010b980808000000b2002200336023c2003417e6a41003b0000200241003602402002200436023820014160490d010b200241386a410041204101410110a386808000200228023c2103200228024021060b200320066a22042002290014370000200441186a200241146a41186a290000370000200441106a200241146a41106a290000370000200441086a200241146a41086a2900003700002002200641206a220436024002402001200228023820046b4d0d00200241386a200420014101410110a386808000200228023c2103200228024021040b200320046a2005200110f4978080001a200041086a200420016a3602002000200229023837020002402002280208450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000be81f04027f087e0a7f0b7e23808080800041d0056b2207248080808000200741f0026a200120022003200420054100200610c68680800020072f01f00220072d00f2024110747221080240024020072903c003220942028520072903c803844200510d0020072903f802210a200741206a200741a0036a290300370300200741186a200741f0026a41286a290300370300200741106a200741f0026a41206a290300370300200741a0026a41106a20074180046a290300370300200741a0026a41186a20074188046a290300370300200720072903f0033703a00220072007290380033703002007200741f0026a41186a2903003703082007200741f8036a2903003703a80220072903d803210b20072903d003210c20072903e803210d20072903e003210e20072903a803210f20072903b003211020072802b8032111200741c8006a2202200741c0046a290300370300200741c0006a41106a2212200741c8046a290300370300200741c0006a41186a2213200741d0046a290300370300200741c0006a41206a2214200741d8046a290300370300200741c0006a41286a2215200741e0046a290300370300200720072903b80437034020072802b004211620072802ac04211720072802a404211820072802a004211920072802a804210620072802b404211a200741c0026a41206a2015290300370300200741c0026a41186a2014290300370300200741c0026a41106a2013290300370300200720122903003703c802200720022903003703c00202402006450d002006410171211441002102024020064101460d002006417e7121132018210641002102034002402006280200450d00200641046a28020022122012417e6a2f00006b41002802ec82d48000118180808000000b02402006410c6a280200450d00200641106a28020022122012417e6a2f00006b41002802ec82d48000118180808000000b200641186a21062013200241026a2202470d000b0b2014450d0020182002410c6c6a2206280200450d00200628020422062006417e6a2f00006b41002802ec82d48000118180808000000b02402019450d0020182018417e6a2f00006b41002802ec82d48000118180808000000b0240201a450d00201a4101712118410021020240201a4101460d00201a417e7121132016210641002102034002402006280200450d00200641046a28020022122012417e6a2f00006b41002802ec82d48000118180808000000b02402006410c6a280200450d00200641106a28020022122012417e6a2f00006b41002802ec82d48000118180808000000b200641186a21062013200241026a2202470d000b0b2018450d0020162002410c6c6a2206280200450d00200628020422062006417e6a2f00006b41002802ec82d48000118180808000000b02402017450d0020162016417e6a2f00006b41002802ec82d48000118180808000000b2001290328211b2001290320211c02400240024002400240024020072d000022124101470d002007290308221d4280feff0783211e201d42ff0183211f201d428080807883211d200729031021200c010b20012802182106200741c0006a2007410172220110c986808000200741f0026a20072802442202200728024810e38580800020072802c003410020072802f0024101711b211302402007280240450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200620134b0d012007200641016a3602d8012001200741d8016a10ca86808000428004211e4200211f4200211d0b41800c210220042005201110cd85808000220641ff01714102470d0302400240024002400240024002402009a7410171450d00420021214202210d41fec900211a41f801211642891c211c420221090c010b200741c8006a20072903a802370300200741c0006a41186a200741a0026a41186a2202290300370300200741c0006a41106a200741a0026a41106a2213290300370300200720072903a0023703404200212102400240200e200d8450450d004200211c4200210d0c010b41002106200741f0026a200741c0006a200e200d41004102410010d08c80800020072802f0020d022007290380032109200729038803210d200741a8036a200741b8026a290300370300200741a0036a200741b0026a29030037030020074198036a20072903a8023703002007200d370388032007200937038003200720072903a00237039003200741083a00f00241014100200741f0026a10d28d8080002009201c2009201c200954201b200d54201b200d511b22061b220e7d200d201b200d20061b221c7d2009200e54ad7d10f9888080004201210d0b200741f0046a41186a2002290300370300200741f0046a41106a2013290300370300200720072903a8023703f804200720072903a0023703f004200e4218882109200e420888a7211a200ea721160b200741f0016a41206a200741c0026a41206a290300370300200741f0016a41186a200741c0026a41186a290300370300200741f0016a41106a200741c0026a41106a290300370300200720072903c8023703f801200720072903c0023703f001200741c0006a200341900110f4978080001a20072d00f401450d0120072802f0012206280208200741c0006a200628020c280214118480808000000d01200741206a410610cf8c80800020062006280200417f6a2202360200200741003a001820074200370300024020020d00200741f0016a10ca878080000b200741c0006a10f8858080000c020b41800221020c070b200741f0026a200741c0006a41900110f4978080001a2007200741f0026a200741f0016a10f98580800020072903004202510d010b200741e8016a200741306a280200360200200741e0016a200741286a290300370300200720072903203703d80120072106410021030c010b200741086a21062007410f3a00d801410121030b2006280200211320064201370300200641106a2202427f200229030020042903082222201341017122011b220e200429031822237c221b201b200e541b370300200641086a2213427f20132903002004290300222420011b220e200429031022257c221b201b200e541b370300200741c0026a41186a200641186a290300370300200741c0026a41106a2002290300370300200741c0026a41086a201329030037030020072006290300220e3703c0020240200ea7410171450d0020074200420020072903d002220e20107d221b201b200e561b220e20207d221b201b200e561b200e20121b3703d00220074200420020072903c802220e200f7d221b201b200e561b220e201e201f84201d847d221d201d200e561b200e20121b3703c8020b0240024002402004200741c0026a10dc8d808000220241ff01714102470d00200741a8036a20072903f804370300200720093e00830320074187036a20094220883c0000200741b0036a20074180056a290300370300200741b8036a20074188056a2903003703002007200c370390032007200d3703f0022007201c370388032007201a3b008103200720163a008003200720072903f0043703a0032007200b37039803200720213703f802200741f0026a2004200741c0026a2005200741d8016a10c785808000220241ff01714102460d0220024180feff077141087621060c010b20024180feff077141087621060240200da722124103714103460d0020120e03010001010b201aad42ffff03834208862016ad42ff0183842009421886842209201c84500d00200741c0006a10d78c808000200741f0026a200741c0006a412010db85808000200729038803211d200729038003210b20072802f0022112200741f0026a10d78c80800020074200201d201c7d200b200954ad7d220c200b20097d220d200b56200c201d56200c201d511b22131b4200201241017122121b37034820074200200d20131b420020121b370340200741f0026a4120200741c0006a411041002802dc82d48000118380808000002007201c3703880320072009370380032007410d3a00f00241014100200741f0026a10d28d8080000b200020063b0009200020023a0008200042033703000c060b420021090240024020062802004101710d004200211d0c010b4200211d20072802c002410171450d00420020072903182007290310221d20031b220920072903d0027d220b200b2009561b21094200201d200729030820031b221d20072903c8027d220b200b201d561b211d0b2008410171450d02200741f0026a41002802e8ffd38000118c8080800000220b427f52ad200b41a28fc5800041cd0010c18980800020072802f0024101470d02200720072903f802220937039805200742002009200a7d221d201d2009561b22093703a005200741f0026a200741c0026a200410b49180800020072903f002211d200720072903f802220b3703a80541002802b483d4800021020240200b2009540d00200241044d0d02200741023602f402200741a890c580003602f002200742023702fc02200741e681808000ad4220862209200741a0056aad843703b80520072009200741a8056aad843703b0052007200741b0056a3602f8022007418c91c580003602502007411d36024c200741bb91c580003602482007411f3602442007419c91c58000360240200741f0026a4105200741c0006a4100200710e4918080000c020b2002450d01200741023602f402200741b492c580003602f002200742023702fc02200741e681808000ad4220862209200741a0056aad843703b80520072009200741a8056aad843703b0052007200741b0056a3602f802200741c492c580003602502007411d36024c200741bb91c580003602482007411f3602442007419c91c58000360240200741f0026a4101200741c0006a4100200710e4918080000c010b4100210641800421020c020b200720072903a0053703c8052007201d3703c005200720043602f002200720074198056a3602f8022007200741c0056a3602f402200741f0026a10f68880800021094200427f202420257c221d201d2024541b221d20072903c0057d220b200b201d561b221d42004200427f202220237c220b200b2022541b220b20072903c8057d220c200c200b561b220b20097d22092009200b561b220910e088808000200741f0026a2006200410b5918080004200200920072903f8027d220b200b2009561b21094200201d20072903f0027d220b200b201d561b211d0b024020062802004101470d00200642002006290310220b20097d22092009200b561b3703102006420020062903082209201d7d221d201d2009561b3703080b20002007290300370300200041306a200741306a290300370300200041286a200741286a290300370300200041206a200741206a290300370300200041186a200741186a290300370300200041106a200741106a290300370300200041086a200741086a2903003703000c020b20072802c00222122012280200417f6a2212360200200641ff01712106024020120d00200741c0026a10ca878080000b200220067221080b200020083b0108200042033703002000410a6a20084110763a0000200310c0868080000b200741d0056a2480808080000bde0501057f23808080800041d0006b220224808080800041002103200241106a41f8e7c48000410641002802d480d4800011868080800000200241106a41106a41f98ec58000410741002802d480d480001186808080000041002d008083d480001a0240412041002802f482d48000118280808000002204450d00200420012900003700002004417e6a220541003b0000200441186a200141186a290000370000200441106a200141106a290000370000200441086a200141086a290000370000200241c0006a2004412041002802bc80d48000118680808000002002200441206a36023c200220043602382002200241c0006a41106a3602342002200241c0006a360230200241046a200241306a4190e3ca800010ab91808000200420052f00006b41002802ec82d48000118180808000000240024002400240200228020c220441206a22054100480d0020022802082103024020050d002002410036024820024280808080103702400c030b4100210641002d008083d480001a200541002802f482d480001182808080000022010d01410121030b2003200541b48bc5800010b980808000000b200220013602442001417e6a41003b0000200241003602482002200536024020044160490d010b200241c0006a410041204101410110a38680800020022802442101200228024821060b200120066a22052002290010370000200541186a200241106a41186a290000370000200541106a200241106a41106a290000370000200541086a200241106a41086a2900003700002002200641206a220536024802402004200228024020056b4d0d00200241c0006a200520044101410110a38680800020022802442101200228024821050b200120056a2003200410f4978080001a200041086a200520046a3602002000200229024037020002402002280204450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000f0b4101412010ab80808000000b860602037f027e23808080800041c0016b220224808080800020012802002103200241046a200010c986808000200241d0006a20022802082200200228020c220410e385808000024002402002280250410171450d00200241206a41286a20024188016a290300370300200241206a41206a20024180016a290300370300200241206a41186a200241d0006a41286a290300370300200241306a200241d0006a41206a290300370300200241186a200241ac016a28020036020020022002290360370320200220022902a4013703102002200241d0006a41186a290300370328200229039801210520022903900121060c010b42002106200241c8006a4200370300200241c0006a4200370300200241386a4200370300200241306a4200370300200241186a4100360200200242003703282002420037032020024200370310428080808080808080807f21050b200241d0006a41186a200229032837030020024188016a200241206a41286a29030037030020024180016a200241206a41206a290300370300200241d0006a41286a200241206a41186a290300370300200241d0006a41206a200241206a41106a290300370300200241ac016a200241186a2802003602002002200537039801200220063703900120022002290320370360200220033602a001200220022903103702a401200242003703582002420137035041002d008083d480001a024041d00041002802f482d48000118280808000002201450d002001417e6a41003b0000200120022903a801370008200220013602b801200120022802a401360004200241d0003602b40120012003360000200241103602bc01200241d0006a41106a200241b4016a10f78e80800020022802b40121032000200420022802b801220120022802bc0141002802dc82d480001183808080000002402003450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b02402002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241c0016a2480808080000f0b410141d00010ab80808000000bd20905037f047e037f017e027f23808080800041e0086b220224808080800020022001280210200128021441002802bc82d48000118680808000000240024020022802002203418080808078460d0041b481808000ad4220862001410c6a2204ad84210541e781808000ad422086200241df086aad84210641d0f6c48000ad4280808080e00284210741fcf5c48000ad4280808080c00a8421082002410c6a210903402002280204210a0240024020022802082001280208220b490d002001280204200a200b10f597808000450d010b2003450d02200a200a417e6a2f00006b41002802ec82d48000118180808000000c020b2002290204210c02402004280200450d002001280210220a200a417e6a2f00006b41002802ec82d48000118180808000000b2001200c3702102001200336020c20024198086a200ca7200c422088a741002802b482d48000118680808000000240024002400240200228029808450d00200241086a20024198086a41086a290200220c37030020022002290298083703004100210a024002400240200ca722034100480d002002280204210b024020030d004101210a0c030b41002d008083d480001a200341002802f482d4800011828080800000220a0d014101210a0b200a200341c0d9ca800010b980808000000b200a417e6a41003b00000b200a200b200310f497808000210a2009200b200320022802002802101186808080000020012d001c0d010c020b41002802b483d48000450d022002200537039808410028029080d480002103410028028c80d48000210a41002802b083d48000210b2002420137023820024101360230200241f4f5c4800036022c20024116360228200241d0f6c480003602242002410136022020022008370218200241003602142002200737020c2002410036020820024281808080c089013702002003419cf4ca8000200b410246220b1b2802102103200220024198086a360234200a41b4f4ca8000200b1b20022003118b80808000000c020b20012802102001280214410028029482d48000118b80808000000b02400240024002402001280214220d2001280208220b490d0020022001280210200b6a200d200b6b200a20032001280218118780808000002002280200450d0141002802b483d480000d020c030b200b200d419cf7c48000109281808000000b200041046a200241046a41840810f4978080001a200041013602002003450d05200a200a417e6a2f00006b41002802ec82d48000118180808000000c050b20022006370390082002200537038808410028029080d48000210b410028028c80d48000210d41002802b083d48000210e200242023702d0082002418cf7c480003602c408200241163602c008200241d0f6c480003602bc08200241013602b808200220083702b008200241003602ac08200220073702a408200241003602a00820024281808080b08b0137029808200241023602c808200b419cf4ca8000200e410246220e1b280210210b200220024188086a3602cc08200d41b4f4ca8000200e1b20024198086a200b118b80808000000b2003450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b20022001280210200128021441002802bc82d480001186808080000020022802002203418080808078470d000b0b200041003602000b200241e0086a2480808080000b1e00200128020041d181c580004105200128020428020c118080808000000bd70102017f017e23808080800041c0006b22012480808080002001200042f02e802200370300200142e9c5fea9cdfbc4d26d37002820014286aaece2939beae46537002020014289df9d82f381819238370018200142d7f0f3fea28baccae700370010200141306a200141106a412010e98580800020012001290338420020012802301b2202370308024020022000510d002001420037021c20014281808080c000370214200141e8f9c480003602104100200141086a2001200141106a41f0f9c4800010ce86808000000b200141c0006a2480808080000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a419cc9c580002005410c6a419cc9c5800020032004108481808000000bc10301027f23808080800041c0006b22022480808080000240024002402001450d0020024282fceae49dd9e2861d370038200242de8c84a1ecd0a6d30c37003020024289df9d82f381819238370028200242d7f0f3fea28baccae700370020200241146a200241206a412010e885808000024002402002280214418080808078470d0020024280808080103703080c010b200241086a41086a200241146a41086a28020022033602002002200229021437030820030d020b02402002280208450d00200228020c22032003417e6a2f00006b41002802ec82d48000118180808000000b200141214f0d02200220013602182002200036021420024282fceae49dd9e2861d370038200242de8c84a1ecd0a6d30c37003020024289df9d82f381819238370028200242d7f0f3fea28baccae700370020200241146a200241206a412010fd848080000b200241c0006a2480808080000f0b200241086a10d086808000200241003602302002410136022420024180fbc4800036022020024204370228200241206a4188fbc4800010fe80808000000b20022001360224200220003602204190fac480004139200241206a4180fac4800041ccfac4800010a981808000000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0bcc0501057f23808080800041306b22012480808080002001410036021420014280808080800137020c41002d008083d480001a024002400240410841002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a2204411b360204200441ddfbc480003602002004417e6a20033b00002001410036022c2001428080808010370224200141186a200141246a1082858080002001410c6a41c884c6800010a0868080002001280210220242f59cb3daaca19ade5f370208200241003602002002420b370244200241a286c68000360240200241e881808000360218200242f38afbbdb6eeb8f8ce003702102002200129021837025c200241013a0074200241013602702002200436026c20024101360268200241e4006a200141186a41086a2802003602002001410136021441002d008083d480001a411841002802f482d48000118280808000002202450d012002200241036a417c7120026b22036a22044125360214200441b8fbc480003602102004410036020c200442a08080801037020420044198fbc480003602002004417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002203450d02200342003700002003417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241033602702002200436026c2002428880808030370264200220033602602002410836025c2002420b370244200241fd8ac68000360240200241cb81808000360218200242ada9e8dffceda4b57d3702102002429b9e90f4939ac781bb7f37020820024100360200200041086a200541016a3602002000200129020c37020020004104360210200041a0e7c4800036020c200141306a2480808080000f0b4104410810ab80808000000b4104411810ab80808000000b4101410810ab80808000000b940301047f41002d008083d480001a02400240024041d00041002802f482d48000118280808000002201450d002001200141076a41787120016b22026a2201417e6a20023b000041002d008083d480001a410841002802f482d48000118280808000002203450d01200342f02e3700002003417e6a41003b000041002d008083d480001a412041002802f482d480001182808080000022020d024104412010ab80808000000b410841d00010ab80808000000b4101410810ab80808000000b2002200241036a417c7120026b22046a220241cd0036021c2002418afdc4800036021820024100360214200242cf8080801037020c200241bbfcc48000360208200241c300360204200241f8fbc480003602002002417e6a20043b00002001200336022420014108360220200142043702342001200236023020014288808080c0003703282001419981808000360218200142a5e9e3ab9e929adc2c37031020014293888c8f89fdc6ec9e7f3703082001410c360204200141d7fdc480003602002000410136020820002001360204200041013602000bf20101037f23808080800041106b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136020c20024180023b01080240200241086a4194fec48000410b200010ca8d80800022030d00200228020822044180fe0371450d0020044101710d000240200228020c280200220428020020042802082201470d002004200141014101410110a386808000200428020821010b2004200141016a360208200428020420016a41fd003a00000b200241106a24808080800020030bf20301047f23808080800041306b22012480808080000240024020002802002202418180808078460d0002400240200028020c22030d0041002103410021040c010b200120033602242001410036022020012003360214200141003602102001200028021022033602282001200336021820002802142104410121030b2001200436022c2001200336021c2001200336020c2001410c6a10c7898080002002418080808078460d012002450d01200028020422002000417e6a2f00006b41002802ec82d48000118180808000000c010b024002400240024020002d00040e0704040102030004000b02400240200028020822020d0041002100410021020c010b200120023602242001410036022020012002360214200141003602102001200028020c22023602282001200236021820002802102102410121000b2001200236022c2001200036021c2001200036020c2001410c6a10c7898080000c030b2000280208450d02200028020c22002000417e6a2f00006b41002802ec82d48000118180808000000c020b2000280208450d01200028020c22002000417e6a2f00006b41002802ec82d48000118180808000000c010b200041086a10a18f8080002000280208450d00200028020c22002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bfd0201037f23808080800041f0006b2202248080808000200241306a2001410d6a290000370300200241386a200141156a290000370300200241c0006a2001411d6a290000370300200128020022032003280200417f6a22033602002002200129000537032820012d00042104024020030d00200110ca878080000b024002400240024020040e020102000b200041023a00000c020b2000410f3a00000c010b200241086a41186a200241286a41186a290300370300200241086a41106a200241286a41106a290300370300200241086a41086a200241286a41086a29030037030020022002290328370308200242e7adb0ba9bbab2f2fb00370068200242d39cf0bdba80f2ac10370060200242a988d1e9f0b7bbcf9c7f370058200242dc9ac4b0d794dae079370050200241286a200241d0006a412010de858080000240024020022d0028450d00200241296a200241086a412010f597808000450d010b200010c88c8080000c010b2000410f3a00000b200241f0006a2480808080000bf20101037f23808080800041106b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136020c20024180023b01080240200241086a41b1ffc480004103200010bc8d80800022030d00200228020822044180fe0371450d0020044101710d000240200228020c280200220428020020042802082201470d002004200141014101410110a386808000200428020821010b2004200141016a360208200428020420016a41fd003a00000b200241106a24808080800020030bea0503067f017e027f23808080800041c0006b2201248080808000200141186a41cf80c5800041044193eec4800041134104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b00002008410029039881c580003702002001410036020820014280808080c000370200200141306a200141a081c580004104109f848080002001200141306a41a481c58000411510a784808000200141306a200141b981c58000410710ac848080002001200141306a41c081c580004107109784808000200141246a200141c781c58000410a108f848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b41bc91c38000411141d091c3800010a181808000000bb40603067f017e037f23808080800041c0006b2201248080808000200141246a41d181c5800041054193eec4800041134104410010c2928080002001420437021c2001420037021420014280808080800137020c41002d008083d480001a0240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a419c91c3800010f38e80800041002d008083d480001a200128020c210420012802102103200128021421052001280224210620012902282107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903f081c5800037020041002d008083d480001a2001410036021420014280808080c00037020c410841002802f482d48000118280808000002202450d022002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902e898c380003702002001410c6a418c90c3800010a0938080002001280210220242808080808001370200200241003a00202002410b36021c200241f881c5800036021820024101360214200220093602102002428080808010370208200128021021022001200128020c3602142001200236020c2001200241246a36021820012002360210200141306a2001410c6a419c91c3800010f48e8080002006418080808078460d03200120043602142001200336020c200120033602102001200320054105746a360218200041c4006a2001410c6a41a0e0c6800010f38e8080002001410c6a410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000b990703067f017e037f23808080800041c0006b2201248080808000200141186a418382c5800041054193eec4800041134104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a0240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903a882c580003702002001410036020820014280808080c000370200200141306a200141b082c58000410510ca848080002001200141306a41b582c58000410a10e08380800041002d008083d480001a410841002802f482d48000118280808000002202450d022002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902f899c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220241023a00202002410a36021c200241bf82c5800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a2209200a41016a36020020012001290200370330200141246a200141306a41c982c58000410a108b848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d032001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a20092802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000bc50c03057f037e027f23808080800041d0026b22022480808080000240024002400240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000002400240024002400240024020040e050001020304050b2001417f200128020422034190016a220520052003491b220336020402400240200320012802084f0d0041002d008083d480001a41980141002802f482d48000118280808000002203450d0820032003410f6a41707120036b22056a2203417e6a220420053b0000200241306a200110fe8580800020022802304108470d01200320042f00006b41002802ec82d48000118180808000000b2000410a3a00000c0b0b200241c0016a200241306a41900110f4978080001a20002003200241c0016a41900110f497808000360204200041053a00000c0a0b2001417f200128020422034190016a220520052003491b220336020402400240200320012802084f0d0041002d008083d480001a41980141002802f482d48000118280808000002203450d0820032003410f6a41707120036b22056a2203417e6a220420053b0000200241306a200110fe8580800020022802304108470d01200320042f00006b41002802ec82d48000118180808000000b2000410a3a00000c0a0b200241c0016a200241306a41900110f4978080001a2003200241c0016a41900110f4978080002103200241c0016a200110d5848080000240024020022802c0014101460d0020022903c8012107200241c0016a200110d58480800020022802c0014101470d010b2000410a3a0000200310c086808000200320042f00006b41002802ec82d48000118180808000000c0a0b20022903c8012108200020033602182000200837031020002007370308200041063a00000c090b200241086a200110ea8e808000024020022d00084105470d002000410a3a00000c090b200241306a41206a200241086a41206a2802002203360200200241306a41186a200241086a41186a2902002207370300200241306a41106a200241086a41106a2902002208370300200241306a41086a200241086a41086a2902002209370300200241cb016a2009370000200241d3016a2008370000200241db016a2007370000200241e3016a2003360000200220022902082207370330200220073700c301200020022900c001370001200041096a200241c0016a41086a290000370000200041116a200241c0016a41106a290000370000200041196a200241c0016a41186a290000370000200041206a200241df016a290000370000200041073a00000c080b200241c0016a200110ea8e808000024020022d00c00122034105470d002000410a3a00000c080b2002412c6a41026a20022d00c3013a0000200241106a200241d4016a290200370300200241186a200241dc016a290200370300200220022f00c1013b012c200220022902cc0137030820022802c401210a20022802c80121062001417f200128020422054190016a220420042005491b22053602040240200520012802084f0d0041002d008083d480001a41980141002802f482d48000118280808000002205450d0620052005410f6a41707120056b22046a2205417e6a220b20043b0000200241306a200110fe8580800020022802304108470d072005200b2f00006b41002802ec82d48000118180808000000b2000410a3a000020034102470d07200a450d0720062006417e6a2f00006b41002802ec82d48000118180808000000c070b200041093a00000c060b2000410a3a00000c050b2000410a3a00000c040b411041900110ab80808000000b411041900110ab80808000000b411041900110ab80808000000b200241c0016a200241306a41900110f4978080001a2005200241c0016a41900110f4978080002101200020033a0000200020022f012c3b0001200041036a2002412e6a2d00003a0000200020063602082000200a3602042000200229030837020c200041146a200241086a41086a2903003702002000411c6a200241186a290300370200200020013602240b200241d0026a2480808080000bf90703057f037e027f2380808080004180016b22022480808080000240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000002400240024002400240024020040e050001020304050b02402001109c8880800022030d002000410a3a00000c080b20002003360204200041053a00000c070b02402001109c8880800022030d002000410a3a00000c070b200241086a200110d3848080000240024020022802084101460d0020022903102107200241086a200110d38480800020022802084101470d010b2000410a3a0000200310c08680800020032003417e6a2f01006b41002802ec82d48000118180808000000c070b20022903102108200020033602182000200837031020002007370308200041063a00000c060b200241346a200110e98e808000024020022d00344105470d002000410a3a00000c060b200241d8006a41206a200241346a41206a2802002203360200200241d8006a41186a200241346a41186a2902002207370300200241d8006a41106a200241346a41106a2902002208370300200241d8006a41086a200241346a41086a2902002209370300200241136a20093700002002411b6a2008370000200241236a20073700002002412b6a20033600002002200229023422073703582002200737000b20002002290008370001200041096a200241086a41086a290000370000200041116a200241086a41106a290000370000200041196a200241086a41186a290000370000200041206a200241276a290000370000200041073a00000c050b200241086a200110e98e808000024020022d000822034105470d002000410a3a00000c050b200241346a41026a220620022d000b3a0000200241e0006a220a200241086a41146a290200370300200241e8006a220b200241086a411c6a290200370300200220022f00093b013420022002290214370358200228020c2104200228021021052001109c8880800022010d032000410a3a000020034102470d042004450d0420052005417e6a2f00006b41002802ec82d48000118180808000000c040b200041093a00000c030b2000410a3a00000c020b2000410a3a00000c010b200020033a0000200020022f01343b000120002005360208200020043602042000200229035837020c200041036a20062d00003a0000200041146a200a2903003702002000411c6a200b290300370200200020013602240b20024180016a2480808080000bfe0301037f23808080800041106b220224808080800002400240024002400240024020002d00002203417c6a41042003417b6a41ff01714105491b417f6a0e050001020304000b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41003a00002001200341016a360208200028020420011081868080000c040b200041086a21040240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41013a00002001200341016a3602082000280218200110818680800020022004360208200241086a200110dd848080002002200041106a36020c2002410c6a200110dd848080000c030b200041046a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41023a00002003200110ed8e8080000c020b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41033a00002000200110ed8e808000200028022420011081868080000c010b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41043a00000b200241106a2480808080000bfc0202037f017e41002101024002400240024002400240024020002d00002202417c6a41042002417b6a41ff01714105491b417f6a0e050001020306000b200028020410808680800021010c050b2000280218108086808000210141012102410121032000290308220442c000540d032004428080015a0d02410221030c030b4121210102400240024020002d00040e050600010602060b410121010c050b200028021041056a21010c040b411521010c030b41212101024002400240024020020e050300010302030b410121010c020b200028020c41056a21010c010b411521010b417f200120002802241080868080006a220020002001491b21010c020b024020044280808080045a0d00410421030c010b4109200479a74103766b21030b02402000290310220442c000540d0002400240200442808001540d0020044280808080045a0d01410421020c020b410221020c010b4109200479a74103766b21020b417f2001200220036a6a220020002001491b21010b200141016a0bb90501027f024002400240024020002d00000e0400010203000b200041046a21020240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41003a00002001200041016a2200360208024020022d0000410f460d00024020012802002000470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00002002200110c08c8080000f0b024020012802002000470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000f0b200041216a21030240200128020020012802082202470d0020012002410110f491808000200128020821020b200041016a21002001200241016a360208200128020420026a41013a00002003200110bc8980800002402001280200200128020822026b411f4b0d0020012002412010f491808000200128020821020b2001200241206a360208200128020420026a22012000290000370000200141086a200041086a290000370000200141106a200041106a290000370000200141186a200041186a2900003700000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41023a00000f0b200041046a21020240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41033a00002001200041016a2200360208024020022d0000410f460d00024020012802002000470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00002002200110c08c8080000f0b024020012802002000470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000be40501047f2380808080004190016b2201248080808000200142e7eacab6b7c9acbc263700162001428de2fdb2e288b2fcd70037000e200141cc006a2001410e6a411041002802bc82d480001186808080000002400240200128024c2202418080808078460d0020012802502103024020012802544110490d002001410e6a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d0120004200370300200041086a42003703000c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b011e41002102024041002802b483d4800041024d0d002001410d360224200141d3e7c48000360220200141e581808000ad4220862001411e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370284012001410336027c20014184f3c4800036027820014116360274200141a1edc480003602702001410336026c2001419cf3c48000ad4280808080e00b8437026420014100360260200141faf3c48000ad4280808080e003843702582001410036025420014281808080f00237024c2002419cf4ca8000200441024622041b28021021022001200141286a36028001200341b4f4ca800020041b200141cc006a2002118b808080000020012f011e21020b200141cc006a41d3e7c48000410d41002802d480d4800011868080800000200141cc006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141cc006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141cc006a41086a2900003703002001200129004c370328200120023b014c200141286a4120200141cc006a410241002802dc82d4800011838080800000200041086a4200370300200042003703000b20014190016a2480808080000bb30a02097f017e23808080800041f0016b220124808080800020014282fceae49dd9e2861d370037200142de8c84a1ecd0a6d30c37002f20014284c2b1b3ef9292841e370027200142bce2f4b8c5daf6fa2937001f200141e0006a2001411f6a412010e885808000024002402001280260418080808078460d00200141106a41086a200141e0006a41086a280200360200200120012902603703100c010b2001410036021820014280808080103703100b200141003a001f20012001411f6a3602602000200141e0006a10968f8080000240024020012d001f410171450d0020014198016a200141d8006a29000037030020014190016a200141d0006a29000037030020014188016a200141c8006a29000037030020014180016a2001411f6a41216a290000370300200141f8006a200141386a290000370300200141e0006a41106a200141306a290000370300200141e8006a200141286a2900003703002001200129002037036020002802082202450d0120002802042103200241146c416c6a2104410021020340200141c0016a2105200141a8016a210641102107410c210802400240024002400240200320026a22092d00000e050301010002030b200141a8016a2105200141d0016a2106410c2107410821080b20062003200820026a6a28020036020020052003200720026a6a2802003602000b20042002460d040c010b0240200941016a28000041e1eac98b06460d0020042002470d010c040b200941106a2802004108490d032009410c6a280200290000210a20014282fceae49dd9e2861d3700e801200142de8c84a1ecd0a6d30c3700e00120014289df9d82f3818192383700d801200142d7f0f3fea28baccae7003700d001200141ac016a41003a0000200141003602a801200141086a200141d0016a4120200141a8016a4105410041002802c482d48000118d8080800000024002402001280208410171450d00200128020c2203450d000240024002400240024020012d00a80122024103710e0400030201000b20024102762102410021030c030b20034105490d03200241034b0d0320012800a90122024180808080044921030c020b20034104490d0220012f00a90120012d00ab01411074722205418002492103200541087420027241027621020c010b20034101460d0120012d00a9012203450d0120034108742002724102762102410021030b20030d002002450d002001200a2002ad82a722023602a401200141a8016a200010e984808000200141d0016a20012802ac01220320012802b00141002802c480d4800011868080800000024020012802a801450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200128021820024b0d01200141023602ac01200141b085c580003602a801200142023702b401200141e981808000ad422086200141106aad843703c8012001418680808000ad422086200141a4016aad843703c0012001200141c0016a3602b001200141a8016a41c085c5800010fe80808000000b41a8f8c48000109781808000000b0240200141e0006a200141d0016a41202001280214220320024105746a41002802e481d4800011898080800000450d0002402001280210450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141f0016a2480808080000f0b200141003602b801200141013602ac01200141e485c580003602a801200142043702b001200141a8016a41ec85c5800010fe80808000000b200241146a21020c000b0b41cf83c58000412341c084c5800010a181808000000b41d084c58000412141f484c5800010a181808000000bd70202017f017e23808080800041306b220224808080800002400240024002402000290300427e7c2203a7410120034203541b0e03000102000b200128020041fc85c580004104200128020428020c1180808080000021000c020b2002200041306a360200200220003602042002410336020c2002418c86c5800036020820024202370214200241ea81808000ad422086200241046aad84370328200241eb81808000ad4220862002ad843703202002200241206a36021020012802002001280204200241086a10b18180800021000c010b2002200041c0006a3602002002200041106a3602042002410336020c200241ac86c5800036020820024202370214200241ea81808000ad422086200241046aad84370328200241ec81808000ad4220862002ad843703202002200241206a36021020012802002001280204200241086a10b18180800021000b200241306a24808080800020000b210020012802004198ecc480004123200128020428020c118080808000001a41000be30501047f2380808080004190016b2201248080808000200142dbd4b188d8cab88410370016200142bfa89c83ea92efeb1a37000e200141cc006a2001410e6a411041002802bc82d480001186808080000002400240200128024c2202418080808078460d0020012802502103024020012802544110490d002001410e6a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d0120004200370300200041086a42003703000c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b011e41002102024041002802b483d4800041024d0d0020014112360224200141b5e7c48000360220200141e581808000ad4220862001411e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370284012001410336027c20014184f3c4800036027820014116360274200141a1edc480003602702001410336026c200141acf7c48000ad4280808080800b843702642001410036026020014184f8c48000ad4280808080a004843702582001410036025420014281808080802837024c2002419cf4ca8000200441024622041b28021021022001200141286a36028001200341b4f4ca800020041b200141cc006a2002118b808080000020012f011e21020b200141cc006a41b5e7c48000411241002802d480d4800011868080800000200141cc006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141cc006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141cc006a41086a2900003703002001200129004c370328200120023b014c200141286a4120200141cc006a410241002802dc82d4800011838080800000200041086a4200370300200042003703000b20014190016a2480808080000bb20501047f2380808080004180016b2201248080808000200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b3700002001413c6a2001411041002802bc82d480001186808080000002400240200128023c2202418080808078460d0020012802402103024020012802444110490d0020012003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d010c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b024041002802b483d4800041024d0d002001410f360214200141e9e7c48000360210200141e581808000ad42208641c888c58000ad84370320200141c081808000ad422086200141106aad84370318410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370274200141c489c5800036026820014116360264200141a1edc480003602602001410336025c200141d382c58000ad4280808080d00a8437025420014100360250200141a883c58000ad4280808080f004843702482001410036024420014281808080c01737023c2001410236026c2002419cf4ca8000200441024622041b28021021022001200141186a360270200341b4f4ca800020041b2001413c6a2002118b80808000000b2001413c6a41e9e7c48000410f41002802d480d48000118680808000002001413c6a41106a22024199d3c68000411541002802d480d4800011868080800000200141186a41186a2001413c6a41186a290000370300200141186a41106a2002290000370300200141186a41086a2001413c6a41086a2900003703002001200129003c370318200141023b013c200141186a41202001413c6a410241002802dc82d48000118380808000000b20004200370300200041086a420037030020014180016a2480808080000b8b0201037f23808080800041106b220224808080800020022000410c6a360204200128020041f489c580004121200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41958ac58000410d200041b48ac58000108a8180800041a28ac58000410f200241046a41c48ac58000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710beb0e07017f0b7e017f017e027f087e017f2380808080004180016b22012480808080004200210202400240024020002903002203420285200029030822048450450d00420221054200210642002103420021040c010b42002106200042003703082000200320048450ad420186220537030020002903102207210820002903182209210a2003a74101710d010b024002402000290320220b4202852000290328220c8450450d004200210c0c010b20004200370328200042003703202000290338210a20002903302108200b21020b02402003200484500d000240200720098450450d0042002107420021090c010b200141e0006a10d78c8080002001200141e0006a412010db8580800020012903182103200129031021042001280200210d200110d78c80800020014200200320097d2004200754ad7d220b200420077d220e200456200b200356200b2003511b220f1b4200200d410171220d1b37036820014200200e200f1b4200200d1b37036020014120200141e0006a411041002802dc82d480001183808080000020012009370318200120073703102001410d3a000041014100200110d28d8080000b20022103200c21040b2005a7210f024002402003a722104101710d000c010b2000290338211120002903302112200029031821132000290310211420002903282104200029032021032008210c200a210203404202210b024002400240200542028520068450450d004202210e4200211542002105420021060c010b42002115200042003703082000200520068450ad420186220e370300200ea7210f20142107201321092005a7410171450d002003210b200421162014210720132109201421082013210a20052103200621040c010b02400240200342028520048450450d004200211642002103420021040c010b4200210b200042003703282000420037032042002116201221082011210a0b2005200684500d000240200720098450450d0042002107420021090c010b200141e0006a10d78c8080002001200141e0006a412010db8580800020012903182105200129031021062001280200210d200110d78c80800020014200200520097d2006200754ad7d2217200620077d2218200656201720055620172005511b22191b4200200d410171220d1b37036820014200201820191b4200200d1b37036020014120200141e0006a411041002802dc82d480001183808080000020012009370318200120073703102001410d3a000041014100200110d28d8080000b2003a7410171450d01427f2002200a7c200c20087c2206200c54220dad7c2205200d200520025420052002511b220d1b2102427f2006200d1b210c200b210320162104200e2105201521060c000b0b02402003200484500d002008200a84500d00200141e0006a10d78c8080002001200141e0006a412010db8580800020012903182105200129031021062001280200210d200110d78c808000200142002005200a7d2006200854ad7d2203200620087d2204200656200320055620032005511b22191b4200200d410171220d1b37036820014200200420191b4200200d1b37036020014120200141e0006a411041002802dc82d48000118380808000002001200a370318200120083703102001410d3a000041014100200110d28d8080000b02402010200c20028442005271450d00200141e0006a10d78c8080002001200141e0006a412010db8580800020012903182105200129031021062001280200210d200110d78c80800020014200200520027d2006200c54ad7d22032006200c7d2204200656200320055620032005511b22191b4200200d410171220d1b37036820014200200420191b4200200d1b37036020014120200141e0006a411041002802dc82d4800011838080800000200120023703182001200c3703102001410d3a000041014100200110d28d8080000b02400240200f410371220d4103460d00200d0e03010001010b200029031022052000290318220384500d00200141e0006a10d78c8080002001200141e0006a412010db8580800020012903182102200129031021062001280200210d200110d78c80800020014200200220037d2006200554ad7d220c200620057d2204200656200c200256200c2002511b220f1b4200200d410171220d1b370368200142002004200f1b4200200d1b37036020014120200141e0006a411041002802dc82d480001183808080000020012003370318200120053703102001410d3a000041014100200110d28d8080000b024002402000280220220d4103714103460d00200d0e03010001010b200029033022052000290338220384500d00200141e0006a10d78c8080002001200141e0006a412010db85808000200129031821022001290310210620012802002100200110d78c80800020014200200220037d2006200554ad7d220c200620057d2204200656200c200256200c2002511b220d1b4200200041017122001b370368200142002004200d1b420020001b37036020014120200141e0006a411041002802dc82d480001183808080000020012003370318200120053703102001410d3a000041014100200110d28d8080000b20014180016a2480808080000bd80401057f23808080800041d0006b220224808080800041002103200241146a41f8e7c48000410641002802d480d4800011868080800000200241246a41dc8ec58000410d41002802d480d480001186808080000020022001360234200241c8006a200241346a410441002802e480d48000118680808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a4190e3ca800010ab9180800002400240024002402002280210220141206a22044100480d00200228020c2105024020040d002002410036024020024280808080103702380c030b4100210641002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48bc5800010b980808000000b2002200336023c2003417e6a41003b0000200241003602402002200436023820014160490d010b200241386a410041204101410110a386808000200228023c2103200228024021060b200320066a22042002290014370000200441186a200241146a41186a290000370000200441106a200241146a41106a290000370000200441086a200241146a41086a2900003700002002200641206a220436024002402001200228023820046b4d0d00200241386a200420014101410110a386808000200228023c2103200228024021040b200320046a2005200110f4978080001a200041086a200420016a3602002000200229023837020002402002280208450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000bd80401057f23808080800041d0006b220224808080800041002103200241146a41abe7c48000410a41002802d480d4800011868080800000200241246a41d08ec58000410741002802d480d480001186808080000020022001360234200241c8006a200241346a410441002802e480d48000118680808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a4190e3ca800010ab9180800002400240024002402002280210220141206a22044100480d00200228020c2105024020040d002002410036024020024280808080103702380c030b4100210641002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48bc5800010b980808000000b2002200336023c2003417e6a41003b0000200241003602402002200436023820014160490d010b200241386a410041204101410110a386808000200228023c2103200228024021060b200320066a22042002290014370000200441186a200241146a41186a290000370000200441106a200241146a41106a290000370000200441086a200241146a41086a2900003700002002200641206a220436024002402001200228023820046b4d0d00200241386a200420014101410110a386808000200228023c2103200228024021040b200320046a2005200110f4978080001a200041086a200420016a3602002000200229023837020002402002280208450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000bd80401057f23808080800041d0006b220224808080800041002103200241146a41a4e7c48000410741002802d480d4800011868080800000200241246a41f08ec58000410941002802d480d480001186808080000020022001360234200241c8006a200241346a410441002802e480d48000118680808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a4190e3ca800010ab9180800002400240024002402002280210220141206a22044100480d00200228020c2105024020040d002002410036024020024280808080103702380c030b4100210641002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48bc5800010b980808000000b2002200336023c2003417e6a41003b0000200241003602402002200436023820014160490d010b200241386a410041204101410110a386808000200228023c2103200228024021060b200320066a22042002290014370000200441186a200241146a41186a290000370000200441106a200241146a41106a290000370000200441086a200241146a41086a2900003700002002200641206a220436024002402001200228023820046b4d0d00200241386a200420014101410110a386808000200228023c2103200228024021040b200320046a2005200110f4978080001a200041086a200420016a3602002000200229023837020002402002280208450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000bd20503047f027e037f23808080800041b0016b2202248080808000200241046a200110c986808000200241c0006a20022802082201200228020c220310e38580800002400240024020022802404101710d00410521030c010b200241106a41286a200241f8006a290300370300200241106a41206a200241f0006a290300370300200241106a41186a200241c0006a41286a290300370300200241206a200241c0006a41206a290300370300200220022903503703102002200241c0006a41186a290300370318024020022802980122040d00410521030c010b02402002280294012205410f4d0d00410621030c010b200229038801210620022903800121072002280290012108200228029c012109200241c0006a41186a2002290318370300200241f8006a200241106a41286a290300370300200241f0006a200241106a41206a290300370300200241c0006a41286a200241106a41186a290300370300200241c0006a41206a200241106a41106a29030037030020022007370380012002420037034820024201370340200220022903103703502002200936029c012002200436029801200220083602900120022006370388012002200541016a220a3602940141002d008083d480001a41d00041002802f482d48000118280808000002205450d012005417e6a41003b000020052004360008200220053602a8012005200a360004200241d0003602a401200520083600002005200936000c200241103602ac01200241c0006a41106a200241a4016a10f78e80800020022802a40121042001200320022802a801220520022802ac0141002802dc82d480001183808080000002402004450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410f21030b200020033a000002402002280204450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200241b0016a2480808080000f0b410141d00010ab80808000000bab05030c7f027e037f23808080800041b0016b2202248080808000200241046a200110c986808000200241c0006a20022802082201200228020c220310e38580800002400240024020022802404101710d00410521040c010b200241106a41286a2204200241f8006a2205290300370300200241106a41206a2206200241f0006a2207290300370300200241106a41186a2208200241c0006a41286a2209290300370300200241106a41106a220a200241c0006a41206a220b290300370300200220022903503703102002200241c0006a41186a220c2903003703180240200228029801220d0d00410521040c010b200229038801210e200229038001210f20022802900121102002280294012111200228029c012112200c2002290318370300200520042903003703002007200629030037030020092008290300370300200b200a2903003703002002200f370380012002420037034820024201370340200220022903103703502002201236029c012002200d3602980120022010360290012002200e370388012002201141016a2204417f20041b22053602940141002d008083d480001a41d00041002802f482d48000118280808000002204450d012004417e6a41003b00002004200d360008200220043602a80120042005360004200241d0003602a401200420103600002004201236000c200241103602ac01200241c0006a41106a200241a4016a10f78e80800020022802a401210d2001200320022802a801220420022802ac0141002802dc82d48000118380808000000240200d450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b410f21040b200020043a000002402002280204450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200241b0016a2480808080000f0b410141d00010ab80808000000bbd0801087f23808080800041a0026b2203248080808000200341046a200110c986808000200341106a20032802082204200328020c220510e385808000200342003703182003280210210120034200370310024002400240024002402001410171450d00200328026c21062003280268210720032802642101200341f0006a200341206a220841c40010f4978080001a0240024002400240024020070e020001020b41002802b483d48000450d00410028029080d480002107410028028c80d48000210941002802b083d48000210a200342003702f80120034281808080c0003702f0012003418088c580003602ec012003410f3602e801200341ac87c580003602e401200341013602e001200341a8fec48000ad4280808080b009843702d801200341003602d401200341bb87c58000ad4280808080c001843702cc01200341003602c80120034281808080b0ce013702c001200941b4f4ca8000200a410246220a1b200341c0016a2007419cf4ca8000200a1b280210118b80808000000b2006200172450d0120010d02410121070b20034200370318200342013703102008200341f0006a41c40010f49780800021022000418f023b01002003200636026c20032007417f6a22073602682003200136026441002d008083d480001a41d00041002802f482d48000118280808000002200450d032000417e6a41003b000020002007360008200320003602c40120002001360004200341d0003602c001200020032802603600002000200636000c200341103602c8012002200341c0016a10f78e80800020032802c00121002004200520032802c401220120032802c80141002802dc82d48000118380808000002000450d0620012001417e6a2f00006b41002802ec82d48000118180808000000c060b200341d1016a200241086a290000370000200341d9016a200241106a290000370000200341e1016a200241186a290000370000200341043a00c8012003411e3a00c001200320022900003700c90141014100200341c0016a10d28d8080000c040b200041043a00000c040b41002802b483d480000d010c020b410141d00010ab80808000000b410028029080d480002101410028028c80d48000210241002802b083d480002107200342003702f80120034281808080c0003702f001200341c088c580003602ec012003410f3602e801200341ac87c580003602e401200341013602e001200341a8fec48000ad4280808080b009843702d801200341003602d401200341bb87c58000ad4280808080c001843702cc01200341003602c80120034281808080d0d1013702c001200241b4f4ca8000200741024622071b200341c0016a2001419cf4ca800020071b280210118b80808000000b2000410f3b010020042005410028029482d48000118b80808000000b02402003280204450d00200328020822012001417e6a2f00006b41002802ec82d48000118180808000000b200341a0026a2480808080000b810701057f23808080800041a0016b220224808080800041002103200241f0006a41f8e7c48000410641002802d480d4800011868080800000200241f0006a41106a41f98ec58000410741002802d480d480001186808080000041002d008083d480001a0240412041002802f482d48000118280808000002204450d00200420012900003700002004417e6a220541003b0000200441186a200141186a290000370000200441106a200141106a290000370000200441086a200141086a29000037000020022004412041002802bc80d48000118680808000002002200441206a36029c0120022004360298012002200241106a360294012002200236029001200241e4006a20024190016a4190e3ca800010ab91808000200420052f00006b41002802ec82d48000118180808000000240024002400240200228026c220141206a22054100480d0020022802682103024020050d002002410036020820024280808080103702000c030b4100210641002d008083d480001a200541002802f482d480001182808080000022040d01410121030b2003200541b48bc5800010b980808000000b200220043602042004417e6a41003b0000200241003602082002200536020020014160490d010b2002410041204101410110a38680800020022802042104200228020821060b200420066a22052002290070370000200541186a200241f0006a41186a290000370000200541106a200241f0006a41106a290000370000200541086a200241f0006a41086a2900003700002002200641206a220536020802402001200228020020056b4d0d002002200520014101410110a38680800020022802042104200228020821050b200420056a2003200110f4978080001a200520016a21012002280200210502402002280264450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20022004200110e385808000024002402002280200410171450d002000200241106a41d00010f4978080001a0c010b2000428080808080808080807f370338200042003703302000420037030020004200370340200041286a4200370300200041206a4200370300200041186a4200370300200041106a4200370300200041086a4200370300200041c8006a42003703000b02402005450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241a0016a2480808080000f0b4101412010ab80808000000be60601057f23808080800041d0006b220224808080800041002103200241106a41f8e7c48000410641002802d480d4800011868080800000200241106a41106a41d08dc58000410b41002802d480d480001186808080000041002d008083d480001a02400240412041002802f482d48000118280808000002204450d00200420002900003700002004417e6a220541003b0000200441186a200041186a290000370000200441106a200041106a290000370000200441086a200041086a290000370000200241c0006a2004412041002802bc80d48000118680808000002002200441206a36023c200220043602382002200241c0006a41106a3602342002200241c0006a360230200241046a200241306a4190e3ca800010ab91808000200420052f00006b41002802ec82d48000118180808000000240024002400240200228020c220041206a22054100480d0020022802082103024020050d002002410036024820024280808080103702400c030b4100210641002d008083d480001a200541002802f482d480001182808080000022040d01410121030b2003200541b48bc5800010b980808000000b200220043602442004417e6a41003b0000200241003602482002200536024020004160490d010b200241c0006a410041204101410110a38680800020022802442104200228024821060b200420066a22052002290010370000200541186a200241106a41186a290000370000200541106a200241106a41106a290000370000200541086a200241106a41086a2900003700002002200641206a220536024802402000200228024020056b4d0d00200241c0006a200520004101410110a38680800020022802442104200228024821050b200420056a2003200010f4978080001a2002280240210602402002280204450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b41002d008083d480001a410841002802f482d48000118280808000002203450d012003417e6a41003b0000200320012902003700002002410836024820022003360244200241083602402004200520006a200241c0006a410028028c82d480001186808080000002402006450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000f0b4101412010ab80808000000b4101410810ab80808000000b970601067f23808080800041d0006b220224808080800041002103200241146a41f8e7c48000410641002802d480d4800011868080800000200241246a41808fc58000410941002802d480d480001186808080000020022000280200360234200241c8006a200241346a410441002802e480d48000118680808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a4190e3ca800010ab9180800002400240024002402002280210220441206a22004100480d00200228020c2105024020000d002002410036024020024280808080103702380c030b4100210641002d008083d480001a200041002802f482d480001182808080000022030d01410121030b2003200041b48bc5800010b980808000000b2002200336023c2003417e6a41003b0000200241003602402002200036023820044160490d010b200241386a410041204101410110a386808000200228023c2103200228024021060b200320066a22002002290014370000200041186a200241146a41186a290000370000200041106a200241146a41106a290000370000200041086a200241146a41086a2900003700002002200641206a220636024002402004200228023820066b4d0d00200241386a200620044101410110a386808000200228023c2103200228024021060b200320066a2005200410f4978080001a2002280238210702402002280208450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b41002d008083d480001a0240412041002802f482d48000118280808000002200450d00200020012900003700002000417e6a220541003b0000200041086a200141086a290000370000200041106a200141106a290000370000200041186a200141186a2900003700002003200620046a2000412041002802dc82d4800011838080800000200020052f00006b41002802ec82d480001181808080000002402007450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000f0b4101412010ab80808000000bbf0608017f037e027f017e017f017e017f037e23808080800041c0016b2202248080808000200129034821032001290340210420012903002105200241046a200010c986808000200241d0006a20022802082200200228020c220610e385808000024002402002280250410171450d00200220022903a0013703102002200241a8016a2903003703180c010b20024200370318200242003703100b024002402005a7410171450d00200241d0006a41286a200141386a290300370300200241d0006a41206a200141306a290300370300200241d0006a41186a200141286a290300370300200241e0006a200141206a290300370300200220012903103703502002200141186a2903003703580c010b42002104200241f8006a4200370300200241f0006a4200370300200241e8006a4200370300200241e0006a42003703002002420037035820024200370350428080808080808080807f21030b200241206a41286a200241d0006a41286a22012903002205370300200241206a41206a200241d0006a41206a22072903002208370300200241206a41186a200241d0006a41186a2209290300220a370300200241206a41106a200241d0006a41106a220b290300220c37030020022002290358220d37032820022002290350220e37032020024188016a200537030020024180016a20083703002001200a3703002007200c3703002009200d370300200220033703980120022004370390012002200e370360200241a8016a20022903183703002002420037035820024201370350200220022903103703a00141002d008083d480001a024041d00041002802f482d48000118280808000002201450d002001417e6a41003b0000200120022903a801370008200220013602b801200241d0003602b401200120022903a001370000200241103602bc01200b200241b4016a10f78e80800020022802b40121072000200620022802b801220120022802bc0141002802dc82d480001183808080000002402007450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b02402002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241c0016a2480808080000f0b410141d00010ab80808000000bdb0705037f027e017f017e037f23808080800041b0016b2201248080808000200141046a200010c986808000200141c0006a20012802082202200128020c220310e385808000024002400240024020012802404101710d0042002104200141386a4200370300200141306a4200370300200141286a4200370300200141206a42003703002001420037031820014200370310428080808080808080807f210541002106420021070c010b200141106a41286a200141f8006a290300370300200141106a41206a200141f0006a290300370300200141106a41186a200141c0006a41286a290300370300200141206a200141c0006a41206a290300370300200120012903503703102001200141c0006a41186a290300370318200129038801210520012903800121042001280290012106200129039801210720012802940122000d010b4100210841002802b483d48000450d0141002108410028029080d480002100410028028c80d48000210941002802b083d48000210a2001420037027820014281808080c000370270200141a487c5800036026c2001410f360268200141ac87c5800036026420014101360260200141a8fec48000ad4280808080b0098437025820014100360254200141bb87c58000ad4280808080c0018437024c2001410036024820014281808080f0df01370240200941b4f4ca8000200a410246220a1b200141c0006a2000419cf4ca8000200a1b280210118b80808000000c010b2000417f6a21080b200141c0006a41186a2001290318370300200141f8006a200141106a41286a290300370300200141f0006a200141106a41206a290300370300200141c0006a41286a200141106a41186a290300370300200141c0006a41206a200141106a41106a2903003703002001200437038001200142003703482001420137034020012001290310370350200120073703980120012008360294012001200636029001200120053703880141002d008083d480001a024041d00041002802f482d48000118280808000002200450d002000417e6a41003b0000200020073e0008200120003602a80120002008360004200141d0003602a40120002006360000200020074220883e000c200141103602ac01200141c0006a41106a200141a4016a10f78e80800020012802a40121082002200320012802a801220020012802ac0141002802dc82d480001183808080000002402008450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b02402001280204450d00200128020822002000417e6a2f00006b41002802ec82d48000118180808000000b200141b0016a2480808080000f0b410141d00010ab80808000000bf70605037f027e017f017e017f23808080800041b0016b2202248080808000200241046a200010c986808000200241c0006a20022802082203200228020c220410e385808000024002402002280240410171450d00200241106a41286a200241f8006a290300370300200241106a41206a200241f0006a290300370300200241106a41186a200241c0006a41286a290300370300200241206a200241c0006a41206a290300370300200220022903503703102002200241c0006a41186a29030037031820022903880121052002290380012106200228029c012100200228029801210720022903900121080c010b42002108200241386a4200370300200241306a4200370300200241286a4200370300200241206a42003703002002420037031820024200370310428080808080808080807f21054100210741002100420021060b02400240200720007222090d00200241d1006a200141086a290000370000200241d9006a200141106a290000370000200241e1006a200141186a290000370000200241033a00482002411e3a0040200220012900003700494101210741014100200241c0006a10d28d8080000c010b200741016a2201417f20011b21070b200241c0006a41186a2002290318370300200241f8006a200241106a41286a290300370300200241f0006a200241106a41206a290300370300200241c0006a41286a200241106a41186a290300370300200241c0006a41206a200241106a41106a29030037030020022006370380012002420037034820024201370340200220022903103703502002200036029c0120022007360298012002200837039001200220053703880141002d008083d480001a024041d00041002802f482d48000118280808000002201450d002001417e6a41003b000020012007360008200220013602a801200120084220883e0004200241d0003602a401200120083e00002001200036000c200241103602ac01200241c0006a41106a200241a4016a10f78e80800020022802a40121002003200420022802a801220120022802ac0141002802dc82d480001183808080000002402000450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b2009410047210102402002280204450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241b0016a24808080800020010f0b410141d00010ab80808000000bb60201027f41002d008083d480001a02400240412041002802f482d48000118280808000002201450d00200142c2d5a39edcfaf091cd003700002001417e6a41003b00002001428fd982e48187ca80be7f3700182001428a85bedcc9a5d68d07370010200142c0c38addfcd9c9c1c40037000841002d008083d480001a412041002802f482d48000118280808000002202450d012002417e6a41003b0000200041003a001c2000412036021420002001360210200042a080808080043702082000200236020420004120360200200041ed8180800036021820022001290000370000200241086a200141086a290000370000200241106a200141106a290000370000200241186a200141186a2900003700000f0b4101412041bccdc5800010b980808000000b4101412041a8b2c8800010b980808000000bcd0201027f23808080800041d0006b220524808080800002400240200241074b0d00024041002802b483d480000d00410121060c020b410028029080d480002102410028028c80d48000210441002802b083d4800021032005420037024420054281808080c00037023c20054194e4ca800036023820054113360234410121062005410136022c200541a0e3ca8000ad4280808080d00984370224200541003602202005410036021420054281808080900e37020c2005419ce4ca80003602302005419ce4ca8000ad4280808080b00284370218200441b4f4ca8000200341024622031b2005410c6a2002419cf4ca800020031b280210118b80808000000c010b410121062002417c714108460d002004418008490d0020012800082102200041086a200341800810f4978080001a20002002360204410021060b20002006360200200541d0006a2480808080000b820201037f23808080800041106b2202248080808000200128020041c48bc580004112200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41e88bc580004108200041d88bc58000108a8180800041808cc580004108200041a0016a41f08bc58000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bf00503067f017e017f23808080800041d0006b2201248080808000200141286a41d492c58000411441bb91c58000411d4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241ee81808000360238200242f5aa82f3958f93df817f37033020024283c8d3a0bca3e6ceb37f3703282002410136022420024180a2c580003602202002410036021820024101360204200241d380c580003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b592808000200128021422024283c8d3a0bca3e6ceb37f3703002002420437022c20024201370224200241f9f4c3800036022020024100360218200241ee81808000360210200242f5aa82f3958f93df817f3703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610be868080000f0b20030d020c030b200541027621020b20002001200210be868080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610be868080000f0b200042053703000baa0e04027f027e057f017e23808080800041206b2202248080808000410121030240024002400240024002400240024020012903002204427e7c2205a7410120054203541b22060e03050001050b41212107024002400240024020012d00300e050300010302030b410121070c020b200128023c41056a21070c010b411521070b41012108200741016a2207417f20071b220741c10041c20020012d00544102491b6a220920074921074101210302402001280218220a41c000490d0041022103200a41808001490d0041044105200a418080808004491b21030b417f200920071b21074100210a2001290320220542c0005441002001290328220b5022091b0d0220054280800154410020091b0d010240200542808080800454410020091b450d00410421080c030b4111200b7920057942c0007c200b4200521ba74103766b21080c020b024002402001280228220741c0004f0d00410321070c010b02402007418080014f0d00410421070c010b410641072007418080808004491b21070b02402001290330220542c0005441002001290338220b5022031b450d00200741016a21030c040b20054280800154410020031b450d02200741026a21030c030b410221080b417f2007200820036a6a220320032007491b22034100480d020c010b0240200542808080800454410020031b450d00200741046a21030c010b20074111200b7920057942c0007c200b4200521ba74103766b6a21030b41002d008083d480001a200341002802f482d480001182808080000022070d014101210a0b200a200341c08dc5800010b980808000000b2007417e6a41003b00002002200736021820022003360214024002400240024020060e03020100020b200741c5003a00002002410136021c20012d0040210341012107024020022802144101470d00200241146a4101410110f491808000200228021c21070b200228021820076a20033a00002002200741016a220736021c200141306a2103200141286a21060240024020012802104101470d00200129031822057aa7417f6a2208410f2008410f491b410120081b2001290320200542ff3f200542ff3f561b420c8880a74104747221080240200228021420076b41014b0d00200241146a2007410210f491808000200228021c21070b200228021820076a20083b0000200741026a21070c010b024020022802142007470d00200241146a2007410110f491808000200228021c21070b200228021820076a41003a0000200741016a21070b2002200736021c20022006360208200241086a200241146a10dc8480800020022003360208200241086a200241146a10de848080000c020b20074184013a00002002410136021c200141306a200241146a10ed8e808000200141d4006a200241146a10c28c808000200141206a2107200141186a2103024002402004a7410171450d00200129030822057aa7417f6a2206410f2006410f491b410120061b2001290310200542ff3f200542ff3f561b420c8880a741047472210802402002280214200228021c22066b41014b0d00200241146a2006410210f491808000200228021c21060b200228021820066a20083b0000200641026a21060c010b02402002280214200228021c2206470d00200241146a2006410110f491808000200228021c21060b200228021820066a41003a0000200641016a21060b2002200636021c20022003360208200241086a200241146a10dc8480800020022007360208200241086a200241146a10de848080000c010b200720012d00083a00002002410136021c0b200241086a41086a200241146a41086a280200360200200220022902143703080240024020012802b002418080808078460d0020012802b4022106024020012802b80222032002280208200228021022016b4d0d00200241086a200120034101410110a386808000200228021021010b200228020c220720016a2006200310f4978080001a200120036a21010c010b200141a0016a200241086a108186808000200228020c2107200228021021010b200228020821082002200136020402400240200141c0004f0d00410121030c010b02402001418080014f0d00410221030c010b410441052001418080808004491b21030b4100210602400240200320016a22034100480d0041002d008083d480001a200341002802f482d480001182808080000022060d01410121060b2006200341c88cc5800010b980808000000b2006417e6a41003b00002002410036021c20022006360218200220033602142002200241046a360208200241086a200241146a10dc84808000024020012002280214200228021c22036b4d0d00200241146a200320014101410110a386808000200228021c21030b200228021820036a2007200110f4978080001a2002200320016a36021c02402008450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b20002002290214370200200041086a200241146a41086a280200360200200241206a2480808080000bec0201047f23808080800041206b220324808080800041002d008083d480001a0240200241c0026c410472220441002802f482d48000118280808000002205450d002005417e6a41003b00002003410036020c2003200536020820032004360204200320023602102003200341106a360214200341146a200341046a10dc8480800002402002450d00200241c0026c2106200328020c21020340200341146a200110f886808000200328021821050240200328021c2204200328020420026b4d0d00200341046a2002200410f491808000200328020c21020b200328020820026a2005200410f4978080001a2003200220046a220236020c02402003280214450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200141c0026a2101200641c07d6a22060d000b0b20002003290204370200200041086a200341046a41086a280200360200200341206a2480808080000f0b4101200441c08dc5800010b980808000000ba51905017f017e037f047e057f23808080800041b00a6b220324808080800002400240024002400240024002402001290300427e7c2204a7410120044203541b0e03000102000b200042023703000c020b200128023821052001280234210620012d003021072003410e6a200141d4006a41c20010f4978080001a0240024020070e03040100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20004205370300200041013b0108200141a0016a10c08680800020012802b0022200418080808078460d032000450d0320012802b40222012001417e6a2f00006b41002802ec82d48000118180808000000c030b20004204370300200020032903800637030820034188066a20012903102204370300200041106a200437030020034180066a41106a200141186a290300220437030020034180066a41186a200141206a290300220837030020034180066a41206a200141286a290300220937030020034180066a41286a200141306a290300220a37030020034180066a41306a200141386a290300220b370300200041186a2004370300200041206a2008370300200041286a2009370300200041306a200a370300200041386a200b370300200020012d00403a00400b200041d0006a200141a0016a41900110f4978080001a20012802b0022200418080808078460d012000450d0120012802b40222012001417e6a2f00006b41002802ec82d48000118180808000000c010b200341d2006a200141336a2d00003a0000200341e3006a200141c4006a290000370000200341d0006a41186a200141c9006a2900003700002003200536005720032006360053200320012f00313b01502003200129003c37005b200341b8046a200141b8026a280200360200200320012903b0023703b004200341a0036a200141a0016a41900110f4978080001a20012903002104200341a40a6a410010c786808000200341830a6a20032802a80a220720032802ac0a10de858080000240024020032d00830a4101470d00200341c0096a41186a2003419c0a6a290000370300200341d0096a200341940a6a290000370300200341c8096a2003418c0a6a290000370300200320032900840a3703c0090c010b200341c0096a41186a4200370300200341d0096a4200370300200341c8096a4200370300200342003703c0090b024020032802a40a450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200341830a6a2001108c89808000200341830a6a41016a210702400240024020032d00830a4101470d00200320072f00003b0198032003200741026a2d00003a009a03024020032802b0042201418080808078460d002001450d0020032802b40422012001417e6a2f00006b41002802ec82d48000118180808000000b200341a0036a10c0868080000c010b200341e0096a41186a200741186a2900002208370300200341e0096a41106a200741106a2900002209370300200341e0096a41086a200741086a290000220a37030020034180096a41086a2205200341c0096a41086a29030037030020034180096a41106a2206200341c0096a41106a29030037030020034180096a41186a220c200341c0096a41186a29030037030020032007290000220b3703e009200320032903c0093703800920034180096a41386a2207200837030020034180096a41306a220d200937030020034180096a41286a220e200a37030020034180096a41206a220f200b370300200341b8066a41386a22102007290300370300200341b8066a41306a2207200d290300370300200341b8066a41286a220d200e290300370300200341b8066a41206a220e200f290300370300200341b8066a41186a220f200c290300370300200341b8066a41106a220c2006290300370300200341b8066a41086a2206200529030037030020032003290380093703b806200341f5086a2010290300370000200341ed086a2007290300370000200341e5086a200d290300370000200341dd086a200e290300370000200341d5086a200f290300370000200341cd086a200c290300370000200341c5086a2006290300370000200320032903b8063700bd082003419d076a200341a0036a41a00110f4978080001a200341f8066a41086a200141136a290000370300200341f8066a41106a2001411b6a290000370300200341f8066a41186a200141236a29000037030020034195076a200141286a29000037000020032001410a6a22072d00003a009a03200320012f01083b0198032003200129000b3703f80620044202520d010b200020032f0198033b01082000410a6a20032d009a033a0000200042053703000c010b200341f0006a410b72200341f8066a41850210f4978080001a200341023602800320032004370370200320012f01083b0178200320072d00003a007a02400240200328028801220141c0004f0d00410521010c010b02402001418080014f0d00410621010c010b410841092001418080808004491b21010b02400240200329039001220442c00054410020032903980122085022071b450d00410121070c010b024020044280800154410020071b450d00410221070c010b0240200442808080800454410020071b450d00410421070c010b411120087920047942c0007c20084200521ba74103766b21070b41002d008083d480001a200120076a220741002802f482d48000118280808000002201450d01410021052001417e6a41003b0000200341003602a803200320013602a403200320073602a0030240024020032802b002418080808078460d0020032802b402210c024020032802b802220620074d0d00200341a0036a4100200610f49180800020032802a403210120032802a80321050b200120056a200c200610f4978080001a2003200520066a3602a8030c010b200341a0016a200341a0036a10ff858080000b200341f0006a41206a2101200341f0006a41186a2107200341c0026a21050240024020032802704101470d00200329037822047aa7417f6a2206410f2006410f491b410120061b200329038001200442ff3f200442ff3f561b420c8880a741047472210c024020032802a00320032802a80322066b41014b0d00200341a0036a2006410210f49180800020032802a80321060b20032802a40320066a200c3b0000200641026a21060c010b024020032802a00320032802a8032206470d00200341a0036a2006410110f49180800020032802a80321060b20032802a40320066a41003a0000200641016a21060b200320063602a803200320073602800920034180096a200341a0036a10dc84808000200320013602800920034180096a200341a0036a10de848080002005200341a0036a10878c80800020032802a403210120032802a00321070240024020032802a80322054180024b0d002003410e6a20012005200341d0006a10a28d80800021050c010b200341a0036a2001200541002802c480d48000118680808000002003410e6a200341a0036a4120200341d0006a10a28d80800021050b02402007450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b024020050d002000420537030020004180083b0108024020032802b0022201418080808078460d002001450d0020032802b40222012001417e6a2f00006b41002802ec82d48000118180808000000b200341a0016a10c0868080000c010b200341d8056a41086a2207200341f0006a410872220141086a290300370300200341d8056a41106a2205200141106a290300370300200341d8056a41186a2206200141186a290300370300200341d8056a41206a220c200141206a290300370300200320012903003703d8052003290370210420032802b402210d20032802b0022101200341c0046a200341f0006a41306a41900110f4978080001a0240200141808080807872418080808078460d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b2000200329006137004120034180066a41286a2201200329015037030020034180066a41306a220d200341d0006a41086a290100370300200041c8006a200341d0006a41186a29000037000020034180066a41086a220e200729030037030020034180066a41106a2207200529030037030020034180066a41186a2205200629030037030020034180066a41206a2206200c290300370300200320032903d8053703800620032d0060210c200020043703002000200329038006370308200041106a200e290300370300200041186a2007290300370300200041206a2005290300370300200041286a2006290300370300200041306a2001290300370300200041386a200d2903003703002000200c3a0040200041d0006a200341c0046a41900110f4978080001a0b200341b00a6a2480808080000f0b4101200741c08dc5800010b980808000000b900401057f23808080800041306b220324808080800041002d008083d480001a02400240410141002802f482d48000118280808000002204450d00200441023a00002004417e6a41003b00002003410036022020034280808080800237021841002d008083d480001a410441002802f482d48000118280808000002205450d012005417e6a41003b0000200341246a41086a220641003602002003200536022820034104360224200341186a200341246a10938f808000200341086a41086a22072006280200360200200320032902243703080240200228020822062002280200470d00200241c08ec5800010a0868080000b2002280204200641f8006c6a22054108360244200541db8dc58000360240200541ef818080003602382005428cf5cae0a9e980ae05370330200542938583eab9b6dee628370328200541eb8080800036022020054298a593acd1ceffcb9c7f3703182005429e8eaae68bb9afc6513703102005410136020c20052004360208200542818080801037030020052000290200370248200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541013a0074200520012902003702682005200329030837025c200541e4006a2007280200360200200541f0006a200141086a2802003602002002200641016a360208200341306a2480808080000f0b4101410110ab80808000000b4101410410ab80808000000b8d0401057f23808080800041206b220324808080800041002d008083d480001a02400240410141002802f482d48000118280808000002204450d00200441023a00002004417e6a41003b000041002d008083d480001a410441002802f482d48000118280808000002205450d012005417e6a41003b00002003410c6a41086a22064100360200200320053602102003410436020c200341003602182003200341186a36021c2003411c6a2003410c6a10dc84808000200341086a220720062802003602002003200329020c3703000240200228020822062002280200470d00200241c08ec5800010a0868080000b2002280204200641f8006c6a22054105360244200541d78ec58000360240200541f081808000360238200542deffc89fa4ad9980bd7f370330200542fb9eda9cddbb92baac7f370328200541eb8080800036022020054298a593acd1ceffcb9c7f3703182005429e8eaae68bb9afc6513703102005410136020c20052004360208200542818080801037030020052000290200370248200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541013a0074200520012902003702682005200329030037025c200541e4006a2007280200360200200541f0006a200141086a2802003602002002200641016a360208200341206a2480808080000f0b4101410110ab80808000000b4101410410ab80808000000ba30301047f23808080800041206b220324808080800041002d008083d480001a0240410141002802f482d48000118280808000002204450d00200441053a00002004417e6a41003b00002003410036021c2003428080808010370214200341086a200341146a10928f8080000240200228020822052002280200470d00200241c08ec5800010a0868080000b2002280204200541f8006c6a2206410d360244200641dc8ec58000360240200641ed8080800036023820064296e397c6bfa5aeee46370330200642aceff0b4f2bd8f8fe400370328200641bb80808000360220200642d7c9cb8fc1cf97db3e370318200642e88488d0c0e3aebc133703102006410136020c20062004360208200642818080801037030020062000290200370248200641d0006a200041086a290200370200200641d8006a200041106a280200360200200641013a0074200620012902003702682006200329020837025c200641e4006a200341086a41086a280200360200200641f0006a200141086a2802003602002002200541016a360208200341206a2480808080000f0b4101410110ab80808000000ba50301047f23808080800041206b220324808080800041002d008083d480001a0240410141002802f482d48000118280808000002204450d00200441023a00002004417e6a41003b00002003410036021c200342808080808002370214200341086a200341146a1081858080000240200228020822052002280200470d00200241c08ec5800010a0868080000b2002280204200541f8006c6a22064107360244200641e98ec58000360240200641f181808000360238200642ad9991ef8bd1b4f6d400370330200642c5f3a8ef92f1adb469370328200641eb8080800036022020064298a593acd1ceffcb9c7f3703182006429e8eaae68bb9afc6513703102006410136020c20062004360208200642818080801037030020062000290200370248200641d0006a200041086a290200370200200641d8006a200041106a280200360200200641013a0074200620012902003702682006200329020837025c200641e4006a200341086a41086a280200360200200641f0006a200141086a2802003602002002200541016a360208200341206a2480808080000f0b4101410110ab80808000000b9c0301047f41002d008083d480001a02400240410141002802f482d48000118280808000002203450d00200341053a00002003417e6a41003b000041002d008083d480001a410141002802f482d48000118280808000002204450d01200441003a00002004417e6a41003b00000240200228020822052002280200470d00200241c08ec5800010a0868080000b2002280204200541f8006c6a22064109360244200641f08ec58000360240200641f281808000360238200642b1c9f8f0b68ca3b1a67f370330200642a480a1cbceaeb2f67a370328200641bb80808000360220200642d7c9cb8fc1cf97db3e370318200642e88488d0c0e3aebc133703102006410136020c2006200336020820064281808080103703002006200029020037024820064101360264200620043602602006410136025c200641d0006a200041086a290200370200200641d8006a200041106a280200360200200641003a0074200641f0006a200141086a280200360200200620012902003702682002200541016a3602080f0b4101410110ab80808000000b4101410110ab80808000000bed0301047f41002d008083d480001a02400240410141002802f482d48000118280808000002203450d00200341023a00002003417e6a41003b000041002d008083d480001a41c00041002802f482d48000118280808000002204450d012004428080808080808080807f370038200442003700302004412e6a41003b0000200441266a42003700002004411e6a4200370000200441166a42003700002004410e6a4200370000200441066a42003700002004417e6a42003700000240200228020822052002280200470d00200241c08ec5800010a0868080000b2002280204200541f8006c6a22064107360244200641f98ec58000360240200641bc8180800036023820064281d8c6a0dcc1f1abf500370330200642fcbbed9ecfd6e6994c370328200641eb8080800036022020064298a593acd1ceffcb9c7f3703182006429e8eaae68bb9afc6513703102006410136020c20062003360208200642818080801037030020062000290200370248200641c00036026420062004360260200641c00036025c200641d0006a200041086a290200370200200641d8006a200041106a280200360200200641013a0074200641f0006a200141086a280200360200200620012902003702682002200541016a3602080f0b4101410110ab80808000000b410141c00010ab80808000000b8c0501077f23808080800041206b220324808080800041002d008083d480001a02400240410141002802f482d48000118280808000002204450d00200441053a00002004417e6a41003b000041002d008083d480001a2003410036021c2003428080808010370214412041002802f482d48000118280808000002205450d012005411e6a41003b0000200541166a42003700002005410e6a4200370000200541066a42003700002005417e6a22064200370000200341146a4100412010f4918080002003280218200341146a41086a220728020022086a22092005290000370000200941086a200541086a290000370000200941106a200541106a290000370000200941186a200541186a2900003700002007200841206a360200200520062f00006b41002802ec82d4800011818080800000200341086a41086a22062007280200360200200320032902143703080240200228020822092002280200470d00200241c08ec5800010a0868080000b2002280204200941f8006c6a22054109360244200541808fc58000360240200541bc80808000360238200542ec8ca7e0e2f0c7e6bf7f370330200542e6e2dea393f0baf43a370328200541bb80808000360220200542d7c9cb8fc1cf97db3e370318200542e88488d0c0e3aebc133703102005410136020c20052004360208200542818080801037030020052000290200370248200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541013a0074200520012902003702682005200329030837025c200541e4006a2006280200360200200541f0006a200141086a2802003602002002200941016a360208200341206a2480808080000f0b4101410110ab80808000000b4101412010ab80808000000ba40301047f23808080800041206b220324808080800041002d008083d480001a0240410141002802f482d48000118280808000002204450d00200441023a00002004417e6a41003b00002003410036021c200342808080808002370214200341086a200341146a1080858080000240200228020822052002280200470d00200241c08ec5800010a0868080000b2002280204200541f8006c6a22064105360244200641898fc58000360240200641f381808000360238200642b3e38cadeecce7c04e370330200642bbb98fd096fedce372370328200641eb8080800036022020064298a593acd1ceffcb9c7f3703182006429e8eaae68bb9afc6513703102006410136020c20062004360208200642818080801037030020062000290200370248200641d0006a200041086a290200370200200641d8006a200041106a280200360200200641013a0074200620012902003702682006200329020837025c200641e4006a200341086a41086a280200360200200641f0006a200141086a2802003602002002200541016a360208200341206a2480808080000f0b4101410110ab80808000000bf50401057f23808080800041f0006b220324808080800041002d008083d480001a02400240410141002802f482d48000118280808000002204450d00200441023a00002004417e6a41003b0000200341386a4200370300200341306a4200370300200341286a4200370300200341106a41106a4200370300200341d8006a42003703002003428080808080808080807f3703482003420037034020034200370318200342003703102003420037035041002d008083d480001a41d00041002802f482d48000118280808000002205450d012005417e6a41003b000020032005360268200341d00036026420054200370000200541086a4200370000200341e4006a41086a22054110360200200341106a200341e4006a10f78e808000200341086a22062005280200360200200320032902643703000240200228020822072002280200470d00200241c08ec5800010a0868080000b2002280204200741f8006c6a22054107360244200541f98ec58000360240200541f48180800036023820054299bdaef7b3a4a0cdb07f370330200542b699d4e8d2c3b5f60d370328200541eb8080800036022020054298a593acd1ceffcb9c7f3703182005429e8eaae68bb9afc6513703102005410136020c20052004360208200542818080801037030020052000290200370248200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541013a0074200520012902003702682005200329030037025c200541e4006a2006280200360200200541f0006a200141086a2802003602002002200741016a360208200341f0006a2480808080000f0b4101410110ab80808000000b410141d00010ab80808000000b8b0c03017f017e037f23808080800041b0046b2204248080808000200441013a0030200442043703282004420037032020044280808080c0003703182004427f37031020044200370308200441013a00f003200442043703e803200442003703e00320044280808080c0003703d8032004427f3703d003200442003703c803200441f8036a200441c8036a200441086a10f896808000200441013a0060200442043703582004420037035020044280808080c0003703482004427f37034020044200370338200441c8036a200441f8036a200441386a10f896808000200441013a0090012004420437038801200442003703800120044280808080c0003703782004427f37037020044200370368200441f8036a200441c8036a200441e8006a10f896808000200441013a00c001200442043703b801200442003703b00120044280808080c0003703a8012004427f3703a0012004420037039801200441c8036a200441f8036a20044198016a10f896808000200441013a00f001200442043703e801200442003703e00120044280808080c0003703d8012004427f3703d001200442003703c801200441f8036a200441c8036a200441c8016a10f896808000200441013a00a0022004420437039802200442003703900220044280808080c000370388022004427f37038002200442003703f801200441a8026a200441f8036a200441f8016a10f896808000200441f8036a2002200310cf85808000024002402004280288042203418080808078460d00200441e8026a411c6a200441f8036a411c6a290200370200200441e8026a41246a200441f8036a41246a290200370200200441e8026a412c6a200441f8036a412c6a280200360200200441d8026a41086a200441f8036a41086a2903002205370300200441e8026a41086a20053703002004200429028c043702fc02200420042903f80322053703d802200420053703e802200420033602f80220044198036a41286a200441a8026a41286a29030037030020044198036a41206a200441a8026a41206a29030037030020044198036a41186a200441a8026a41186a29030037030020044198036a41106a200441a8026a41106a29030037030020044198036a41086a200441a8026a41086a290300370300200420042903a80237039803200441f8036a20044198036a200441e8026a10f896808000200441013a00f003200442043703e803200442003703e00320044280808080c0003703d8032004427f3703d003200442003703c8032000200441f8036a200441c8036a10f8968080000c010b200420042f01f80322033b01d802200420042d00fa0322023a00da02200041026a20023a0000200020033b0100200041808080807836021020042802bc022106024020042802c0022200450d002000410171210741002103024020004101460d002000417e7121082006210041002103034002402000280200450d00200041046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002008200341026a2203470d000b0b2007450d0020062003410c6c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b024020042802b802450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20042802c8022106024020042802cc022200450d002000410171210741002103024020004101460d002000417e7121082006210041002103034002402000280200450d00200041046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002008200341026a2203470d000b0b2007450d0020062003410c6c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b20042802c402450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200441b0046a2480808080000b2b00200042923842c7d30020012903005022011b370308200042b0e580f0004280e386f00020011b3703000b8c15020c7f017e23808080800041206b220124808080800041002d008083d480001a2001410036021c20014280808080800137021402400240024002400240024002400240413841002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410d360204200241ffeec48000360200200241306a2204418481808000360200200241286a220542d9d1a5958acddccda77f370300200241206a220642bb82a2f99fad8c91c100370300200241186a220741e481808000360200200241106a220842fe86b386a79ebd9ac000370300200241086a220942f48590aaeaaefbb3213703002002417e6a220a20033b0000200141146a410041014108413810a38680800020012802182203200128021c220b41386c6a220c2002290300370300200c41086a2009290300370300200c41106a2008290300370300200c41186a2007290300370300200c41206a2006290300370300200c41286a2005290300370300200c41306a20042903003703002001200b41016a220c36021c2002200a2f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d012002200241076a417871220420026b22056a2202418481808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c100370320200241e381808000360218200242d0aeacd8f79afcc7053703102002428484bbd38cc2a7d16737030820024112360204200241a59ec480003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a2001200c20046a220c36021c200220062f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d022002200241076a417871220420026b22056a220241bb80808000360230200242d7c9cb8fc1cf97db3e370328200242e88488d0c0e3aebc13370320200241e281808000360218200242e8d49ab3fb86eeaca17f370310200242f888b0f8c4dc91b1b07f370308200241103602042002419cd0c580003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a2001200c20046a220c36021c200220062f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d032002200241076a417871220420026b22056a220241bc80808000360230200242ec8ca7e0e2f0c7e6bf7f370328200242e6e2dea393f0baf43a370320200241e181808000360218200242c0dd8cbdc2bffaba2e37031020024282eb90ef9fd2db9eb37f3703082002410c360204200241acd0c580003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a2001200c20046a220c36021c200220062f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d042002200241076a417871220420026b22056a220241bc80808000360230200242ec8ca7e0e2f0c7e6bf7f370328200242e6e2dea393f0baf43a370320200241e081808000360218200242c5f685f793b1e6e2ad7f370310200242c2c9d9b5a4d0d8f8a67f3703082002410e360204200241e081c680003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a2001200c20046a220c36021c200220062f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d052002200241076a417871220420026b22056a2202418481808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c100370320200241df81808000360218200242cfaac1e1eabd91b702370310200242eca4dfafe394e4be703703082002410a360204200241cf9ec480003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a2001200c20046a220c36021c200220062f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d062002200241076a417871220420026b22056a2202418481808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c100370320200241de81808000360218200242de8bd9ffa7fab0d56a370310200242a2bae48de7f687ed0b3703082002410b360204200241d99ec480003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a2001200c20046a220c36021c200220062f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d072002200241076a417871220420026b22056a2202418481808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c100370320200241dd81808000360218200242a585c7bdbbd6f584867f370310200242a9b3dfe8d4c9cd89a97f37030820024118360204200241b79ec480003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a200141146a41086a2203200c20046a360200200220062f00006b41002802ec82d4800011818080800000200141086a41086a2003280200220336020020012001290214220d37030802402003200da7470d00200141086a41e892c58000109d868080000b200128020c200341386c6a2202418481808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c1003703202002418481808000360218200242d9d1a5958acddccda77f370310200242bb82a2f99fad8c91c10037030820024114360204200241d492c58000360200200041086a200341016a36020020002001290308370200200141206a2480808080000f0b4108413810ab80808000000b4108413810ab80808000000b4108413810ab80808000000b4108413810ab80808000000b4108413810ab80808000000b4108413810ab80808000000b4108413810ab80808000000b4108413810ab80808000000b3e01017f024002402001410b470d0041002102200041f892c58000410b10f597808000450d010b20002001418493c58000410110a88a80800021020b20020b3e01017f024002402001410a470d00410021022000418c93c58000410a10f597808000450d010b20002001419893c58000410110a88a80800021020b20020bf20101037f23808080800041106b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136020c20024180023b01080240200241086a41f892c58000410b200010c78d80800022030d00200228020822044180fe0371450d0020044101710d000240200228020c280200220428020020042802082201470d002004200141014101410110a386808000200428020821010b2004200141016a360208200428020420016a41fd003a00000b200241106a24808080800020030be20403067f017e027f23808080800041c0006b2201248080808000200141246a41cf80c58000410441faf3c48000411e4104410010c2928080002001420437021c2001420037021420014280808080800137020c41002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a419c91c3800010f38e80800041002d008083d480001a200128020c210420012802102103200128021421052001280224210620012902282107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b00002008410029039881c5800037020020014284808080c00037020c20014280808080c000370214200141306a2001410c6a419c91c3800010f48e8080002006418080808078460d02200120043602142001200336020c200120033602102001200320054105746a360218200041c4006a2001410c6a41a0e0c6800010f38e808000200141176a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b41bc91c38000411141d091c3800010a181808000000bfe0302017f037e2380808080004180056b22082480808080000240024002400240024020060d00200841d0026a10aa8680800020082903e8042109200842e3e3aca5e7a8ebef5c370040200842bfdcfcdef39bce8e6b370038200842dbd4b188d8cab88410370030200842bfa89c83ea92efeb1a370028200841d0026a200841286a412010db85808000200841106a20082903e00242808090bbbad6adf00d20082802d00241017122061b42002009200220092002541b2202420010fc97808000200820082903e802420020061b42002002420010fc97808000200841d0026a200829030822022008290318220920082903007c220a200954ad7c22092009200254ad2008290310200a42808090bbbad6adf00d420010a39380800020082903e802427f20082903d00220082903d802845022061b210a20082903e002427f20061b210b200841286a10aa86808000200841286a2106200741ff01710e03030102030b20004200370308200042003703000c030b20084180016a21060c010b200841d8016a21060b20062903482102200841d0026a10aa8680800020082903e80421092000420037031820002009200220092002541b3703102000200a3703382000200b3703302000420037032820002001ad37032020004200370308200042013703000b200020043703402000200537034820084180056a2480808080000be80601057f23808080800041206b220124808080800020014100360210200142808080808001370208200141146a411041004101410110a19380800020012802182102024002400240024020012802144101460d00200128021c22034200370008200342808090bbbad6adf00d370000200141086a41c884c6800010a086808000200128020c220442e0d6b2aeeaa8dd867337020820044100360200200441013a00742004420437026c20044210370264200420033602602004200236025c20044211370244200441bc88c68000360240200441f581808000360218200442f78f81f8aec1fcd6103702102001410136021041002d008083d480001a410141002802f482d48000118280808000002203450d01200341003a00002003417e6a41003b0000024020012802084101470d00200141086a41c884c6800010a0868080000b200128020c220441013a00ec01200442043702e401200442013702dc01200420033602d801200441013602d4012004420e3702bc01200441e784c680003602b801200441f68180800036029001200442bc94928980add6aff40037028801200442eee2d7eda6c1d0c7ed0037028001200441003602782001410236021041002d008083d480001a411841002802f482d48000118280808000002204450d022004200441036a417c7120046b22026a220341cd003602142003419c94c580003602102003410036020c200342bc80808010370204200341e093c580003602002003417e6a20023b000041002d008083d480001a410141002802f482d48000118280808000002202450d03200241003a00002002417e6a41003b00000240200128021022052001280208470d00200141086a41c884c6800010a0868080000b200128020c200541f8006c6a220441003a0074200441033602702004200336026c2004428180808030370264200420023602602004410136025c2004420f370244200441ad86c68000360240200441f781808000360218200442ea95e8c78c8baee65537021020044283c4cbbefec597902537020820044100360200200041086a200541016a3602002000200129020837020020004112360210200041b5e7c4800036020c200141206a2480808080000f0b2002200128021c41d4c8cc800010b980808000000b4101410110ab80808000000b4104411810ab80808000000b4101410110ab80808000000bc00501047f41002d008083d480001a02400240024041d00041002802f482d48000118280808000002201450d002001200141076a41787120016b22026a2203417e6a20023b000041002d008083d480001a410141002802f482d48000118280808000002202450d01200241053a00002002417e6a41003b000041002d008083d480001a41a80141002802f482d480001182808080000022010d02410441a80110ab80808000000b410841d00010ab80808000000b4101410110ab80808000000b2001200141036a417c7120016b22046a2201410e3602a401200141d19bc580003602a001200141d80036029c01200141f99ac5800036029801200141d70036029401200141a29ac5800036029001200141d40036028c01200141ce99c58000360288012001410036028401200142848080801037027c200141ca99c58000360278200141313602742001419999c58000360270200141c40036026c200141d598c5800036026820014115360264200141c098c580003602602001410036025c200142a3808080103702542001419d98c580003602502001411036024c2001418d98c580003602482001410f360244200141fe97c580003602402001410036023c200142d080808010370234200141ae97c58000360230200141d30036022c200141db96c580003602282001413d3602242001419e96c58000360220200141d40036021c200141ca95c58000360218200141003602142001428b8080801037020c200141bf95c58000360208200141d600360204200141e994c580003602002001417e6a20043b00002003200236022420034101360220200342153702342003200136023020034281808080d002370328200341b480808000360218200342dbd791d5c2919eaecd00370310200342e6ed8d82cc91adcb0537030820034118360204200341df9bc580003602002000410136020020002003360204200041013602080b960503067f017e027f23808080800041c0006b2201248080808000200141186a418382c5800041054184f8c4800041224104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903a882c580003702002001410036020820014280808080c000370200200141246a200141f79bc5800041121091848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b41bc91c38000411141d091c3800010a181808000000bed0202047f027e02402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41003a00000240200220046b411f4b0d0020012004412010f4918080002001280200210220012802042105200128020821040b200520046a220320002900003700002001200441206a2204360208200341186a200041186a290000370000200341106a200041106a290000370000200341086a200041086a29000037000020002903282106200029032021070240200220046b410f4b0d0020012004411010f49180800020012802042105200128020821040b200520046a22032006370008200320073700002001200441106a220436020820002903382106200029033021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000bf20101037f23808080800041106b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136020c20024180023b01080240200241086a418c93c58000410a200010c58d80800022030d00200228020822044180fe0371450d0020044101710d000240200228020c280200220428020020042802082201470d002004200141014101410110a386808000200428020821010b2004200141016a360208200428020420016a41fd003a00000b200241106a24808080800020030b9d08020b7f017e23808080800041c0006b2202248080808000200242f4fa97f89782c7a62d37003820024299cfe7ffe3b8eac708370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241106a200241206a412010e685808000024020022802102203418080808078460d002002280214210402400240200228021822050d00410021060c010b200541146c416c6a21074100210802400240024003402002410c6a2109200241106a2106410c210a4110210b02400240024002400240200420086a220c2d00000e050301010002030b200241106a2109200241206a2106410c210b4108210a0b20062004200a20086a6a28020036020020092004200b20086a6a2802003602000b20072008470d010c040b200c41016a28000041e1eac98b06460d0220072008460d030b200841146a21080c000b0b200c41106a2802004108490d00200c410c6a280200290000210d410121060c010b410021060b200421080340024020082d0000220941034b0d00200820094102744184cfc580006a2802006a2209280200450d00200941046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200841146a21082005417f6a22050d000b0b02402003450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2006450d00200242e9c5fea9cdfbc4d26d37003820024286aaece2939beae46537003020024289df9d82f381819238370028200242d7f0f3fea28baccae700370020200241106a200241206a412010e985808000024002400240024020022802104101470d002002290318200d560d010b200242e9c5fea9cdfbc4d26d37003820024286aaece2939beae46537003020024289df9d82f381819238370028200242d7f0f3fea28baccae7003700202002200d370310200241206a4120200241106a410841002802dc82d480001183808080000020024282fceae49dd9e2861d370038200242de8c84a1ecd0a6d30c37003020024289df9d82f381819238370028200242d7f0f3fea28baccae700370020200241146a41003a0000200241003602102002200241206a4120200241106a4105410041002802c482d48000118d80808000002002280200410171450d0320022802042208450d030240024020022d001022054103710e0400050301000b20054102762105410021080c030b20084105490d03200541034b0d03200228001122054180808080044921080c020b2002410036023020024101360224200241b893c5800036022020024204370228200241206a41c093c5800010fe80808000000b20084104490d0120022f001120022d0013411074722204418002492108200441087420057241027621050b20080d0020050d0041d093c58000109781808000000b20004200370300200041086a4200370300200241c0006a2480808080000be00404017f027e017f037e2380808080004180016b22002480808080002000428fa48ce9f7dcc49a887f370048200042cbb1ef82aade92ce26370040200042b9e088b7b6cdc2d113370038200042c5e4f4b9cff9d18a0b370030200041d0006a200041306a412010db8580800042808090bbbad6adf00d21014200210202400240200029036042808090bbbad6adf00d200028025041017122031b220442808090bbbad6adf00d852000290368420020031b2205842206500d00200041206a2004420042808090bbbad6adf00d420010fc97808000200041106a2005420042808090bbbad6adf00d420010fc97808000200020054200420042808090bbbad6adf00d10fc97808000200041d0006a200029031822052000290320220220002903007c220420025422032000290328220220002903087c2003ad7c220120025420012002511bad7c22022002200554ad20042001428080a4b1fdad96c90e420010a393808000200029035020002903588450450d012000290360220142808090bbbad6adf00d200142808090bbbad6adf00d561b200142808090bbbad6adf00d200029036822024200521b2002501b21010b2000428fa48ce9f7dcc49a887f370068200042cbb1ef82aade92ce26370060200042b9e088b7b6cdc2d113370058200042c5e4f4b9cff9d18a0b3700502000200237033820002001370330200041d0006a4120200041306a411041002802dc82d480001183808080000020004180016a24808080800020064200520f0b20004100360260200041013602542000418cc2cc800036025020004204370258200041d0006a41ecc2cc800010fe80808000000bca0404017f027e037f047e2380808080004180016b220124808080800010fc88808000200142c1aedeeddec9cdd9763700782001428c849fcce4a5fda3da00370070200142dbd4b188d8cab88410370068200142bfa89c83ea92efeb1a3700602001200141e0006a412010e085808000024020012903002001290308844200510d002001290318210220012903102103200141e0006a4120410028029482d48000118b8080800000024041002802b483d48000450d00410028029080d480002104410028028c80d48000210541002802b083d4800021062001420037023820014281808080c000370230200141c89cc5800036022c20014112360228200141d09cc5800036022420014101360220200141acf7c48000ad4280808080800b843702182001410036021420014184f8c48000ad4280808080a0048437020c2001410036020820014281808080903a370200200541b4f4ca8000200641024622061b20012004419cf4ca800020061b280210118b80808000000b2003200284500d00200141e0006a10d78c8080002001200141e0006a412010db85808000200129031821072001290310210820012802002104200110d78c80800020014200200720027d2008200354ad7d2209200820037d220a200856200920075620092007511b22051b4200200441017122041b37036820014200200a20051b420020041b37036020014120200141e0006a411041002802dc82d480001183808080000020012002370318200120033703102001410d3a000041014100200110d28d8080000b20014180016a2480808080000bce1303087f017e037f23808080800041c0026b22012480808080002001429588f09ae5e2ecacca00370078200142a49ffa80bdc6acab63370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200141e0006a4120410028029482d48000118b8080800000200142db94c397a39dc1eaea00370078200142f2f7edb5a4809cb22b370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200141e0006a4120410028029482d48000118b808080000020014281ffa0ee9dfeb487a57f370078200142e8f5928beff0b7b005370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060410221020240200141e0006a412010e58580800041ff017122034103460d00200141e0006a4120410028029482d48000118b8080800000200321020b200142a9a5c4bef894cdeee7003700f401200142d4c584efa7e5bfee643700ec01200142b9e088b7b6cdc2d1133700e401200142c5e4f4b9cff9d18a0b3700dc01200141e0006a200141dc016a412010f2858080000240024020012802602204418080808078460d0020012802642105200128026c2103200142cce78dfda8f884f6bd7f370078200142a2f98685b9fa9aec34370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200120033602dc01200141e0006a4120200141dc016a410441002802dc82d4800011838080800000200142d684ecb8c888e883c3003700f401200142c5c58cc181f088c50c3700ec01200142b9e088b7b6cdc2d1133700e401200142c5e4f4b9cff9d18a0b3700dc01200141e0006a200141dc016a412010f38580800002402001280260450d00200141386a200141fc006a290200370300200141306a200141f4006a290200370300200141206a41086a200141ec006a2902003703002001200129026437032020012001290288013702442001200128028401360240200142e68dc38d9b83b9ae283700f401200142aa8ec1edcdf9d3663700ec01200142b9e088b7b6cdc2d1133700e401200142c5e4f4b9cff9d18a0b3700dc01200141e0006a200141dc016a412010eb8580800020012802602206418080808078460d00200128026c2107200128026421082001290298012109200141cc006a41086a220a2001280270220b200b2001280274413c6c6a10ca828080002001200937024c02402006450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b02402007450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200142dff88396b8eeb3817c37007820014283e3ced79d99b9c6c400370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200141dc016a200141e0006a412010ec85808000024020012802dc014102460d00200141e0006a41186a200141dc016a41186a290200370300200141e0006a41106a220b200141dc016a41106a290200370300200141e0006a41086a200141dc016a41086a290200370300200120012902dc01370360200141e0006a10fb88808000200b10ad888080000b200141186a200141346a2001413c6a10fd88808000200128021c210b200128021821062001428f9dab92a2fc9bd272370078200142e2f097f0d8d3f1adf300370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200141106a200141e0006a412010d085808000024020012802104101470d00200141e0006a4120410028029482d48000118b80808000000b200141003602a80120014280808080c0003702a001200141ac016a4104410410d388808000200142dff88396b8eeb3817c37007820014283e3ced79d99b9c6c400370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200141dc016a200141e0006a412010ec858080000240024020012802dc014102460d00200141b8016a41186a200141dc016a41186a290200370300200141b8016a41106a200141dc016a41106a290200370300200141b8016a41086a200141dc016a41086a290200370300200120012902dc013703b8012002410220012d00d40141024622081b21020c010b200141003602d001200141003602c801200142003703c001200141023a00d401200141003602b801410121080b200141ec016a200141b4016a2802003602002001200b3602e001200120063602dc01200120012902ac013702e401200120023a009102200141003a00f001200142939685e2c5afc3c644370078200142dbfcc3e0bc84a3df01370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200141086a200141e0006a412010d0858080002001280208210b200128020c2106024020080d0020024102460d00410521030c030b20064100200b4101711b220b2003200b2003491b2106024020012802b8014101470d00200b20034f0d00200620012802bc01220b4f0d0041042103200621070c030b200141e0006a200141c0016a200141dc016a200141cc006a10b88280800020012802702108200128026c210b20012802682107200128026421030240024020012802600d002001280274210c200141c8016a10ad888080002001200c3602d001200120083602cc012001200b3602c801200120073602c401200120033602c001024020024102460d00200120023a00d4010b200120063602bc01200141013602b8010c010b20034106470d030b200141e0006a41186a2202200141b8016a41186a290300370300200141e0006a41106a220b200141b8016a41106a290300370300200141e0006a41086a2203200141b8016a41086a290300370300200120012903b801370360200141e0006a10e488808000200141e0006a41306a200141dc016a41306a290200370300200141e0006a41286a200141dc016a41286a290200370300200141e0006a41206a200141dc016a41206a2902003703002002200141dc016a41186a290200370300200b200141dc016a41106a2902003703002003200141dc016a41086a290200370300200120012902dc01370360200142b58ab3f59aafe8bb263700ac022001428197ddb2f4a682d8dd003700a402200142b9e088b7b6cdc2d11337009c02200142c5e4f4b9cff9d18a0b37009402200141b4026a200141e0006a10fe8480800020014194026a4120200141b4026a410028028c82d4800011868080800000200310ad88808000200141a0016a10db88808000200a10ad888080000b02402004450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200141c0026a2480808080000f0b41e29cc58000419a0241fc9ec5800010a181808000000b2001200836026c2001200b360268200120073602642001200336026041aca0c580004122200141e0006a419ca0c5800041d0a0c5800010a981808000000be00c010b7f23808080800041f0006b22022480808080002002429588f09ae5e2ecacca0037002c200242a49ffa80bdc6acab63370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b3700140240200241146a412010ea8580800041fd01710d00200242bdb9c185ebd5beb6e00037002c2002428ab9b2f0b1fbfe8ab77f370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241146a4120410028029482d48000118b80808000000b108089808000200242a9a5c4bef894cdeee70037002c200242d4c584efa7e5bfee64370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241146a4120410028029482d48000118b8080800000200242efe0d69cf8bda6cb5d37002c200242d6e9cddfbec0b7fd78370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241146a4120410028029482d48000118b8080800000200242908cf1f9cc86e8f85137002c200242d4a4d2bc9ca3a4d768370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241146a4120410028029482d48000118b8080800000200242e3d488ecd2ee88dde30037002c200242ce80d7eca9b9a7a316370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241146a4120410028029482d48000118b80808000002002428ba4f08ac7ad89c4ad7f37002c200242d7c9cea6cfa8b4c4a47f370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241146a4120410028029482d48000118b8080800000200242939685e2c5afc3c64437002c200242dbfcc3e0bc84a3df01370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241086a200241146a412010d085808000200242d684ecb8c888e883c300370068200242c5c58cc181f088c50c370060200242b9e088b7b6cdc2d113370058200242c5e4f4b9cff9d18a0b370050200241146a200241d0006a412010f38580800020022802142103200228023821042002428f9dab92a2fc9bd27237002c200242e2f097f0d8d3f1adf300370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b37001420022004410020031b360250200241146a4120200241d0006a410441002802dc82d4800011838080800000200242f4fa97f89782c7a62d37002c20024299cfe7ffe3b8eac708370024200242fc90b9e5d09296e77737001c200242a6d4e6f1a4dd959860370014200241d0006a200241146a412010e6858080000240024020022802502205418080808078460d0020022802542106024020022802582204450d004100210720062103200421084100210903400240024020032d0000450d004100210a0c010b0240200341016a2d000041ff017141c300460d004100210a0c010b0240200341026a2d000041ff017141cd00460d004100210a0c010b0240200341036a2d000041ff017141cc00460d004100210a0c010b0240200341046a2d000041ff017141d300460d004100210a0c010b20022003410c6a290200370250200241146a200241d0006a10f182808000024020022d0014220b4102470d004100210a0c010b4100210a20022802540d00200b410171450d002002280116210c410121074101210a0b200341146a2103200a20096a21092008417f6a22080d000b024002400240200941014b0d0020074101710d01200621030c020b2002410036022420024101360218200241e8a1c580003602142002420437021c200241146a41f0a1c5800010fe80808000000b200241003a004b2002200c36024420062103200c41ffffff074b0d030b0340024020032d0000220941034b0d00200320094102744184cfc580006a2802006a2209280200450d00200941046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032004417f6a22040d000b0b2005450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20004200370300200041086a4200370300200241f0006a2480808080000f0b200242013702202002410236021820024190a1c580003602142002410036024c2002418680808000ad422086200241cc006aad843703502002200241d0006a36021c4100200241c4006a410372200241cb006a200241146a41a0a1c5800010e691808000000baa0302047f047e23808080800041306b22022480808080000240024020012802082203280200220428020422050d00410121040c010b20042005417f6a36020420042004280200220541016a3602002001427f200129030042017c22062006501b37030020052d00002105410021040b02400240024020044101710d0002400240200541ff01710d00420021070c010b024002402003280200220428020422030d00410121040c010b20042003417f6a36020420042004280200220341016a3602002001427f200129030042017c22062006501b37030020032d00002103410021040b20044101710d012005ad2206420f832208500d01420121072003ad42ff0183420886200642f001838442048842022008862206420c8842012008420b561b7e220820065a0d010b200241086a200110d18480800020022802084101710d00200228020c2104200241106a200110d6848080002002280210410171450d010b200042023703000c010b200229032021092000200229032837032820002009370320200020083703102000200637030820002004360218200020073703000b200241306a2480808080000b9d4801067f23808080800041c0006b22012480808080002001410036021420014280808080800137020c2001410036021841002d008083d480001a024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240413041002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a2202410f36022c200241e7bec58000360228200241dd003602242002418abec580003602202002410036021c2002429380808010370214200241f7bdc58000360210200241d80036020c2002419fbdc58000360208200241d200360204200241cdbcc580003602002002417e6a20033b00002001410636023c2001410636023420012002360238200141186a200141346a2001410c6a10868980800041002d008083d480001a411841002802f482d48000118280808000002202450d012002200241036a417c7120026b22046a2203412436021420034183b8c58000360210200341cb0036020c200341b8b7c58000360208200341da00360204200341deb6c580003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d02200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241033602702002200336026c2002428180808030370264200220043602602002410136025c2002421b370244200241fb87c68000360240200241f881808000360218200242c4a8f2ba93b1af9f9e7f370210200242c2b4c89cf0acfc99e8003702082002410036020041002d008083d480001a2001200541016a360214413041002802f482d48000118280808000002202450d032002200241036a417c7120026b22036a220241c20036022c200241dfaec58000360228200241dc0036022420024183aec58000360220200241cf0036021c200241b4adc5800036021820024100360214200242898080801037020c200241abadc58000360208200241d600360204200241d5acc580003602002002417e6a20033b0000200141003602202001428080808010370218200141346a200141186a10928f808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a220342153702442003418287c68000360240200341ed8080800036021820034296e397c6bfa5aeee46370210200342aceff0b4f2bd8f8fe400370208200341003602002003200129023437025c200341013a0074200341063602702003200236026c20034106360268200341e4006a2001413c6a2802003602002001200441016a36021441002d008083d480001a412841002802f482d48000118280808000002202450d042002200241036a417c7120026b22046a2203410b360224200341ecc0c58000360220200341d90036021c20034193c0c58000360218200341003602142003429e8080801037020c200341f5bfc58000360208200341d7003602042003419ebfc580003602002003417e6a20043b00002001418080808078360218200141346a200141186a108989808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024211370244200241e888c68000360240200241ed8080800036021820024296e397c6bfa5aeee46370210200242aceff0b4f2bd8f8fe400370208200241003602002002200129023437025c200241003a0074200241053602702002200336026c20024105360268200241e4006a2001413c6a2802003602002001200441016a36021441002d008083d480001a411841002802f482d48000118280808000002202450d052002200241036a417c7120026b22046a220341dc003602142003419cb1c580003602102003410036020c200342b480808010370204200341e8b0c580003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d06200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241033602702002200336026c2002428180808030370264200220043602602002410136025c2002420e370244200241a48bc68000360240200241f981808000360218200242ebd7fefbd5c0f891683702102002429dab84f7bcfdc8eab97f3702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d072002200241036a417c7120026b22046a2203413836020420034195bcc580003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d08200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024214370244200241dc89c68000360240200241e980808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba1743702082002410036020041002d008083d480001a2001200541016a360214411841002802f482d48000118280808000002202450d092002200241036a417c7120026b22046a22034122360214200341b6b4c580003602102003410036020c200342c780808010370204200341efb3c580003602002003417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002204450d0a200441003600002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241033602702002200336026c2002428480808030370264200220043602602002410436025c20024219370244200241cd8ac68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc133702082002410036020041002d008083d480001a2001200541016a360214413841002802f482d48000118280808000002202450d0b2002200241036a417c7120026b22036a22024118360234200241c6b6c58000360230200241db0036022c200241ebb5c58000360228200241dc003602242002418fb5c580003602202002410036021c2002429b80808010370214200241e5bac58000360210200241d80036020c2002418dbac58000360208200241dd00360204200241b0b9c580003602002002417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002204450d0c200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220341013a0074200341073602702003200236026c20034281808080f000370264200320043602602003410136025c20034218370244200341dc85c68000360240200341fa81808000360218200342818bb0b4d5b0dbb754370210200342ea84f3f6cec9a29e1d3702082003410036020041002d008083d480001a2001200541016a360214412841002802f482d48000118280808000002202450d0d2002200241036a417c7120026b22046a22034118360224200341c6b6c58000360220200341db0036021c200341ebb5c58000360218200341dc003602142003418fb5c580003602102003410036020c200342b780808010370204200341d8b4c580003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d0e200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241053602702002200336026c20024281808080d000370264200220043602602002410136025c2002420e370244200241ae88c68000360240200241a281808000360218200242f6bce8febfd4f3d40137021020024298a897bdf0be82e33d3702082002410036020041002d008083d480001a2001200541016a360214413041002802f482d48000118280808000002202450d0f2002200241036a417c7120026b22036a2202412b36022c200241b5a9c5800036022820024100360224200242d38080801037021c200241e2a8c58000360218200241db0036021420024187a8c580003602102002410036020c200242b1808080103702042002419db3c580003602002002417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002204450d10200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220341003a0074200341063602702003200236026c20034281808080e000370264200320043602602003410136025c2003420f370244200341d884c68000360240200341d4808080003602182003428382d1e2e5ecafee3b370210200342959bacd4a8e780e8a67f3702082003410036020041002d008083d480001a2001200541016a360214413841002802f482d48000118280808000002202450d112002200241036a417c7120026b22036a2202412b360234200241b5a9c580003602302002410036022c200242d380808010370224200241e2a8c58000360220200241db0036021c20024187a8c5800036021820024100360214200242928080801037020c200241f5a7c58000360208200241d9003602042002419ca7c580003602002002417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002204450d12200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220341003a0074200341073602702003200236026c20034281808080f000370264200320043602602003410136025c20034216370244200341a889c68000360240200341fb81808000360218200342e3e8dcaaa1969c9ca87f3702102003428aa5eae59ccaf8c71d3702082003410036020041002d008083d480001a2001200541016a360214413041002802f482d48000118280808000002202450d132002200241036a417c7120026b22036a2202412b36022c200241b5a9c5800036022820024100360224200242d38080801037021c200241e2a8c58000360218200241db0036021420024187a8c580003602102002410036020c200242ca808080103702042002419eabc580003602002002417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002204450d14200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220341003a0074200341063602702003200236026c20034281808080e000370264200320043602602003410136025c200342113702442003419985c68000360240200341fc81808000360218200342c8ede7d5c2b3838ae400370210200342c6e3d7948e8e968b7d370208200341003602002001200541016a3602142001410036021841002d008083d480001a412041002802f482d48000118280808000002202450d152002200241036a417c7120026b22036a2202411836021c20024184a7c58000360218200241d900360214200241aba6c580003602102002410036020c200242bd80808010370204200241f3b8c580003602002002417e6a20033b00002001410436023c2001410436023420012002360238200141186a200141346a2001410c6a10858980800041002d008083d480001a412041002802f482d48000118280808000002202450d162002200241036a417c7120026b22046a2203411836021c20034184a7c58000360218200341d900360214200341aba6c580003602102003410036020c200342d280808010370204200341d9a5c580003602002003417e6a20043b00002001410036022020014100360218200141346a200141186a10ec88808000200141186a10b388808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024210370244200241aa85c68000360240200241fd81808000360218200242e1d8b6c5fae9c8d4d100370210200242bbccd1d4d3b8b5beed00370208200241003602002002200129023437025c200241013a0074200241043602702002200336026c20024104360268200241e4006a2001413c6a2802003602002001200441016a36021441002d008083d480001a411841002802f482d48000118280808000002202450d172002200241036a417c7120026b22046a2203413b3602142003419aacc580003602102003410036020c200342b280808010370204200341e8abc580003602002003417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002204450d18200441003600002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241033602702002200336026c2002428480808030370264200220043602602002410436025c20024219370244200241d183c68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc133702082002410036020041002d008083d480001a2001200541016a360214411841002802f482d48000118280808000002202450d192002200241036a417c7120026b22046a220341d700360214200341c6b2c580003602102003410036020c200342a580808010370204200341a1b2c580003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d1a200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241033602702002200336026c2002428180808030370264200220043602602002410136025c2002421c370244200241888bc68000360240200241fe81808000360218200242b285d9e2bc9db8ee66370210200242fccaccb8ace7c2c60b3702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d1b2002200241036a417c7120026b22046a22034128360204200341f6bec580003602002003417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002204450d1c200441003600002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428480808010370264200220043602602002410436025c2002420d370244200241bc86c68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc133702082002410036020041002d008083d480001a2001200541016a360214411841002802f482d48000118280808000002202450d1d2002200241036a417c7120026b22046a220341d700360214200341c6b2c580003602102003410036020c200342a180808010370204200341ceb3c580003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d1e200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241033602702002200336026c2002428180808030370264200220043602602002410136025c20024218370244200241f089c68000360240200241fe81808000360218200242b285d9e2bc9db8ee66370210200242fccaccb8ace7c2c60b370208200241003602002001200541016a3602142001410036021841002d008083d480001a411841002802f482d48000118280808000002202450d1f2002200241036a417c7120026b22036a2202413b3602142002419aacc580003602102002410036020c200242a980808010370204200241f8b1c580003602002002417e6a20033b00002001410336023c2001410336023420012002360238200141186a200141346a2001410c6a10878980800041002d008083d480001a411841002802f482d48000118280808000002202450d202002200241036a417c7120026b22046a2203413c3602142003418baac580003602102003410036020c200342ab80808010370204200341e0a9c580003602002003417e6a20043b00002001410036022020014280808080c000370218200141346a200141186a10918f808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a2202420e3702442002419189c680003602402002418581808000360218200242d0eeea8fe2e880c510370210200242b1b9bbf6d09c8ca47b370208200241003602002002200129023437025c200241013a0074200241033602702002200336026c20024103360268200241e4006a200141346a41086a2802003602002001200441016a36021441002d008083d480001a410841002802f482d48000118280808000002202450d212002200241036a417c7120026b22046a220341cc00360204200341a7b8c580003602002003417e6a20043b00002001410036022020014280808080c000370218200141346a200141186a10918f808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024215370244200241b28ac680003602402002418581808000360218200242d0eeea8fe2e880c510370210200242b1b9bbf6d09c8ca47b370208200241003602002002200129023437025c200241013a0074200241013602702002200336026c20024101360268200241e4006a2001413c6a2802003602002001200441016a36021441002d008083d480001a411841002802f482d48000118280808000002202450d222002200241036a417c7120026b22046a22034136360214200341a3a5c580003602102003410036020c200342cb80808010370204200341d8a4c580003602002003417e6a20043b00002001410036022020014280808080c000370218200141346a200141186a10918f808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024214370244200241cd88c680003602402002418581808000360218200242d0eeea8fe2e880c510370210200242b1b9bbf6d09c8ca47b370208200241003602002002200129023437025c200241013a0074200241033602702002200336026c20024103360268200241e4006a200141346a41086a2802003602002001200441016a36021441002d008083d480001a410841002802f482d48000118280808000002202450d232002200241036a417c7120026b22046a22034139360204200341afb0c580003602002003417e6a20043b0000200141186a411041004101410110a193808000200128021c210620012802180d24200128022022044200370008200442808090bbbad6adf00d370000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002429080808010370264200220043602602002200636025c20024217370244200241b28bc68000360240200241f581808000360218200242f78f81f8aec1fcd610370210200242e0d6b2aeeaa8dd86733702082002410036020041002d008083d480001a2001200541016a360214411041002802f482d48000118280808000002202450d252002200241036a417c7120026b22046a2203413c36020c200341d9bbc58000360208200341d90036020420034180bbc580003602002003417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002204450d26200441003600002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241023602702002200336026c2002428480808020370264200220043602602002410436025c200242213702442002419787c68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc133702082002410036020041002d008083d480001a2001200541016a360214411041002802f482d48000118280808000002202450d272002200241036a417c7120026b22046a2203412e36020c200341aaa4c58000360208200341d700360204200341c7aac580003602002003417e6a20043b000020014200370318200141346a200141186a108489808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a2202421a370244200241ff84c68000360240200241e680808000360218200242e1c1c0fddab9f88065370210200242d0b0c2c0bfa6f4d53c370208200241003602002002200129023437025c200241003a0074200241023602702002200336026c20024102360268200241e4006a2001413c6a2802003602002001200441016a36021441002d008083d480001a411041002802f482d48000118280808000002202450d282002200241036a417c7120026b22046a2203412e36020c200341aaa4c58000360208200341d600360204200341d4a3c580003602002003417e6a20043b000020014200370318200141346a200141186a108489808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024219370244200241c986c68000360240200241e680808000360218200242e1c1c0fddab9f88065370210200242d0b0c2c0bfa6f4d53c370208200241003602002002200129023437025c200241003a0074200241023602702002200336026c20024102360268200241e4006a2001413c6a2802003602002001200441016a36021441002d008083d480001a411841002802f482d48000118280808000002202450d292002200241036a417c7120026b22046a220341c400360214200341ebafc580003602102003410036020c200342ca80808010370204200341a1afc580003602002003417e6a20043b00002001418080808078360218200141346a200141186a108989808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024218370244200241d58bc68000360240200241ed8080800036021820024296e397c6bfa5aeee46370210200242aceff0b4f2bd8f8fe400370208200241003602002002200129023437025c200241003a0074200241033602702002200336026c20024103360268200241e4006a200141346a41086a2802003602002001410c6a41086a200441016a2202360200200041086a20023602002000200129020c3702002000410f360210200041e9e7c4800036020c200141c0006a2480808080000f0b4104413010ab80808000000b4104411810ab80808000000b4101410110ab80808000000b4104413010ab80808000000b4104412810ab80808000000b4104411810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104411810ab80808000000b4101410410ab80808000000b4104413810ab80808000000b4101410110ab80808000000b4104412810ab80808000000b4101410110ab80808000000b4104413010ab80808000000b4101410110ab80808000000b4104413810ab80808000000b4101410110ab80808000000b4104413010ab80808000000b4101410110ab80808000000b4104412010ab80808000000b4104412010ab80808000000b4104411810ab80808000000b4101410410ab80808000000b4104411810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4101410410ab80808000000b4104411810ab80808000000b4101410110ab80808000000b4104411810ab80808000000b4104411810ab80808000000b4104410810ab80808000000b4104411810ab80808000000b4104410810ab80808000000b2006200128022041d4c8cc800010b980808000000b4104411010ab80808000000b4101410410ab80808000000b4104411010ab80808000000b4104411010ab80808000000b4104411810ab80808000000be30301057f23808080800041306b220124808080800041002d008083d480001a02400240024041d00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202417e6a20033b0000200142d8c192ad8deac8dd3f37002820014284ceb68ad8c4c79c8f7f370020200142e7eacab6b7c9acbc263700182001428de2fdb2e288b2fcd700370010200141086a200141106a412010d085808000200128020c21042001280208210541002d008083d480001a410441002802f482d48000118280808000002203450d012003417e6a41003b00002003200441e40020054101711b36000041002d008083d480001a410841002802f482d480001182808080000022040d024104410810ab80808000000b410841d00010ab80808000000b4101410410ab80808000000b2004200441036a417c7120046b22056a2204412e360204200441f7c0c580003602002004417e6a20053b0000200041013602082000200236020420004101360200200220033602242002410436022020024201370234200220043602302002428480808010370328200241c580808000360218200242cdd1c1cbe3b5a3c444370310200242b9e0ddc2f1d2dbbf4c3703082002410a360204200241a5c1c58000360200200141306a2480808080000bae0503067f017e027f23808080800041c0006b2201248080808000200141186a41cf80c58000410441a883c5800041274104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b00002008410029039881c580003702002001410036020820014280808080c000370200200141306a200141b7c2c58000411310c684808000200141246a200141306a41cac2c58000411810ea838080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b41bc91c38000411141d091c3800010a181808000000b950f03077f017e027f23808080800041c0006b2201248080808000200141206a41d181c58000410541a883c5800041274104410010c292808000200142043702182001420037021020014280808080800137020841002d008083d480001a024002400240024002400240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c20012002360234200141086a200141306a419c91c3800010f38e80800041002d008083d480001a20012802082104200128020c2105200128021021062001280220210720012902242108410841002802f482d48000118280808000002202450d012002200241036a417c71220920026b22036a417e6a20033b000020094100290388c3c5800037020041002d008083d480001a2001410036021020014280808080c000370208410841002802f482d48000118280808000002202450d022002200241036a417c71220320026b220a6a417e6a200a3b000020034100290290fcc38000370200200141086a418c90c3800010a093808000200128020c2202428080808010370208200242808080808001370200200241003a00202002411336021c20024190c3c580003602182002410136021420022003360210200141306a41086a41013602002001200129020837033041002d008083d480001a410841002802f482d48000118280808000002202450d032002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902f0fcc3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241013a00202002411436021c200241a3c3c5800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a411041002802f482d48000118280808000002202450d042002200241036a417c71220320026b220a6a417e6a200a3b0000200341086a41002902e0fdc38000370200200341002902d8fdc3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241023a00202002410636021c200241b7c3c5800036021820024102360214200220033602102002428080808020370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d052002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902c0fbc3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241033a00202002411a36021c200241bdc3c5800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d062002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902f0fac3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241043a00202002411d36021c200241d7c3c5800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d072002200241036a417c71220320026b220a6a417e6a200a3b000020034100290298fac380003702000240200128023822022001280230470d00200141306a418c90c3800010a0938080000b2001280234200241246c220a6a220241053a00202002410c36021c200241f4c3c580003602182002410136021420022003360210200242808080801037020820024280808080800137020020012802342102200120012802303602102001200236020820012002200a6a41246a3602142001200236020c200141306a200141086a419c91c3800010f48e8080002007418080808078460d0820012004360210200120053602082001200536020c2001200520064105746a360214200041c4006a200141086a41a0e0c6800010f38e808000200141136a200141306a41086a2802003600002000200837023c20002007360238200041013a00002000410136025820002009360254200041013602502001200129023037000b20002001290008370001200041086a2001410f6a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b4104410810ab80808000000b4104410810ab80808000000b4104411010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000bed0803067f017e037f23808080800041c0006b2201248080808000200141186a418382c58000410541a883c5800041274104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a02400240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903a882c5800037020041002d008083d480001a2001410036020820014280808080c000370200410841002802f482d48000118280808000002202450d022002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902f880c480003702002001418c90c3800010a0938080002001280204220242808080808001370200200141306a41086a4101360200200241003a00202002411836021c20024180c4c5800036021820024101360214200220093602102002428080808010370208200120012902003703302001200141306a4198c4c58000411910b28480800041002d008083d480001a410841002802f482d48000118280808000002202450d032002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902d0fec3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220241023a00202002411b36021c200241b1c4c5800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a2209200a41016a360200200120012902003703302001200141306a41ccc4c58000411810b684808000200141306a200141e4c4c58000411910d283808000200141246a200141306a41fdc4c58000411110e4838080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d042001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a20092802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b4104410810ab80808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000b951003057f017e017f23808080800041f0016b220224808080800002400240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a00000240024020040e020001040b2002419c016a200110908580800002400240200228029c012203418080808078460d00200241f8006a2002419c016a41106a290200370300200241f0006a41106a2002419c016a41186a290200370300200241f0006a41186a2002419c016a41206a290200370300200241f0006a41206a2002419c016a41286a290200370300200241f0006a41286a200241cc016a280200360200200220022902a40137037020022802a0012105200241086a200110cf84808000024020022802084101710d0002400240200228020c22040d00410021060c010b02402004410a4f0d00418c0121060c010b417f2004410a6ead42bc017e2207a72007422088a71b21060b2001417f2001280204220820066a220620062008491b2206360204200620012802084f0d00200241003a00df01200220043602a401200241003602a0012002200136029c012002200241df016a3602a801200241e0016a2002419c016a10a988808000024020022d00df014101470d00200241e0016a10a6888080000c010b200241d0016a41086a200241e0016a41086a280200360200200220022902e0013703d0012002200110cf84808000024020022802004101710d002002419c016a20012002280204109583808000200228029c01418080808078460d00200241e0016a41086a22042002419c016a41086a22062802003602002002200229029c013703e0012002419c016a200110b989808000200228029c01418180808078470d03200241e0016a10a28f80800020022802e001450d0020022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000b200241d0016a10a6888080000b2003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c050b200241e0006a2006280200360200200241186a41106a200241f0006a41086a290300370200200241186a41186a200241f0006a41106a290300370200200241186a41206a200241f0006a41186a290300370200200241186a41286a200241f0006a41206a290300370200200241c8006a200241f0006a41286a2802003602002002200229029c0137025820022002290370370220200241ec006a200241d0016a41086a280200360200200220022903d001370264200241d4006a2004280200360200200220022903e00137024c2002200536021c20022003360218200241f0006a200110b78f80800002402002280270418080808078460d00200241e0016a41086a200241f0006a41086a2204280200360200200220022902703703e001200241f0006a200110b38f80800002402002280270418080808078470d00200241e0016a10a98f80800020022802e001450d0120022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000c010b200241d0016a41086a2004280200360200200220022902703703d00120022802e0012204418080808078460d0020022902e4012107200241b0016a200241d0016a41086a280200360200200220022903d0013702a8012002200436029c01200220073702a001200241f0006a200110b88f80800002402002280270418080808078460d00200241e0016a41086a200241f0006a41086a280200360200200220022902703703e001200241f0006a200110b18f80800002402002280270418080808078470d00200241e0016a10a48f80800020022802e001450d0120022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000c010b200241d0016a41086a2201200241f0006a41086a280200360200200220022902703703d00120022802e0012206418080808078470d040b2002419c016a10a98f80800002402004450d002007a722012001417e6a2f00006b41002802ec82d48000118180808000000b20022802a801450d0020022802ac0122012001417e6a2f00006b41002802ec82d48000118180808000000b200241cc006a2101200241e4006a2104200041818080807836020002402003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200410a688808000200110a28f8080000240200228024c450d00200228025022032003417e6a2f00006b41002802ec82d48000118180808000000b20022802582203418080808078460d042003450d04200228025c22032003417e6a2f00006b41002802ec82d48000118180808000000c040b200241106a200110cf848080004181808080782103024020022802104101710d00200241186a200120022802141086838080002002280218418080808078460d00200020022902183702042000410c6a200241206a28020036020041808080807821030b200020033602000c030b20004181808080783602000c020b20022902e4012107200020022903d00137027c20004184016a2001280200360200200041ec006a200241a0016a220341106a280200360200200041e4006a200341086a2902003702002000200329020037025c2000200241186a41d80010f4978080002203200737027420032006360270200320043602580c010b20004181808080783602000b200241f0016a2480808080000bde0e02057f017e23808080800041f0016b220224808080800002400240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a00000240024020040e020001040b2002419c016a2001108f8580800002400240200228029c012203418080808078460d00200241f0006a41086a2002419c016a41106a290200370300200241f0006a41106a2002419c016a41186a290200370300200241f0006a41186a2002419c016a41206a290200370300200241f0006a41206a2002419c016a41286a290200370300200241f0006a41286a200241cc016a280200360200200220022902a40137037020022802a00121052002419c016a200110a4888080000240200228029c014101460d00200241d0016a41086a200241a8016a280200360200200220022902a0013703d001200241086a200110ce84808000024020022802084101710d002002419c016a2001200228020c109783808000200228029c01418080808078460d00200241e0016a41086a22042002419c016a41086a22062802003602002002200229029c013703e0012002419c016a200110b789808000200228029c01418180808078470d03200241e0016a10a28f80800020022802e001450d0020022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000b200241d0016a10a6888080000b2003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c050b200241e0006a2006280200360200200241186a41106a200241f0006a41086a290300370200200241186a41186a200241f0006a41106a290300370200200241186a41206a200241f0006a41186a290300370200200241186a41286a200241f0006a41206a290300370200200241c8006a200241f0006a41286a2802003602002002200229029c0137025820022002290370370220200241ec006a200241d0016a41086a280200360200200220022903d001370264200241d4006a2004280200360200200220022903e00137024c2002200536021c20022003360218200241f0006a200110ac8f80800002402002280270418080808078460d00200241e0016a41086a200241f0006a41086a2204280200360200200220022902703703e001200241f0006a200110b48f80800002402002280270418080808078470d00200241e0016a10a98f80800020022802e001450d0120022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000c010b200241d0016a41086a2004280200360200200220022902703703d00120022802e0012204418080808078460d0020022902e4012107200241b0016a200241d0016a41086a280200360200200220022903d0013702a8012002200436029c01200220073702a001200241f0006a200110bb8f80800002402002280270418080808078460d00200241e0016a41086a200241f0006a41086a280200360200200220022902703703e001200241f0006a200110bc8f80800002402002280270418080808078470d00200241e0016a10a48f80800020022802e001450d0120022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000c010b200241d0016a41086a2201200241f0006a41086a280200360200200220022902703703d00120022802e0012206418080808078470d040b2002419c016a10a98f80800002402004450d002007a722012001417e6a2f00006b41002802ec82d48000118180808000000b20022802a801450d0020022802ac0122012001417e6a2f00006b41002802ec82d48000118180808000000b200241cc006a2101200241e4006a2104200041818080807836020002402003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200410a688808000200110a28f8080000240200228024c450d00200228025022032003417e6a2f00006b41002802ec82d48000118180808000000b20022802582203418080808078460d042003450d04200228025c22032003417e6a2f00006b41002802ec82d48000118180808000000c040b200241106a200110ce848080004181808080782103024020022802104101710d00200241186a200120022802141089838080002002280218418080808078460d00200020022902183702042000410c6a200241206a28020036020041808080807821030b200020033602000c030b20004181808080783602000c020b20022902e4012107200020022903d00137027c20004184016a2001280200360200200041ec006a200241a0016a220341106a280200360200200041e4006a200341086a2902003702002000200329020037025c2000200241186a41d80010f4978080002203200737027420032006360270200320043602580c010b20004181808080783602000b200241f0016a2480808080000b9b0601047f23808080800041106b2202248080808000024002402000280200418080808078460d000240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41003a000020002001109185808000200041cc006a200110aa88808000200028023821032002200028023c22043602082002200241086a36020c2002410c6a200110dc8480800002402004450d00200441f0006c210403402003200110f384808000200341f0006a2103200441907f6a22040d000b0b200041c0006a200110bd89808000200028025c21032002200028026022043602082002200241086a36020c2002410c6a200110dc8480800020032004200110af83808000200028026821032002200028026c22043602082002200241086a36020c2002410c6a200110dc8480800002402004450d00200441246c2104034020032001109a85808000200341246a21032004415c6a22040d000b0b200028027421032002200028027822043602082002200241086a36020c2002410c6a200110dc8480800002402004450d00200441146c210403402003200110f48d808000200341146a21032004416c6a22040d000b0b2000280280012103200220002802840122043602082002200241086a36020c2002410c6a200110dc848080002004450d012003200441286c6a210503402003280200210002402001280200200128020822046b41034b0d0020012004410410f491808000200128020821040b2001200441046a360208200128020420046a2000360000200341046a2001109a85808000200341286a22032005470d000c020b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41013a00002001200341016a360208200028020821052002200028020c22033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822046b4d0d0020012004200310f491808000200128020821040b200128020420046a2005200310f4978080001a2001200420036a3602080b200241106a2480808080000bfe0601067f23808080800041106b22022480808080000240024002400240024002400240024020002d00000e06000102030405000b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000c050b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41013a00002001200341016a2203360208200028020421000240200128020020036b41034b0d0020012003410410f491808000200128020821030b2001200341046a360208200128020420036a20003600000c040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41023a00000c030b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41033a00002001200341016a2203360208200028020421000240200128020020036b41034b0d0020012003410410f491808000200128020821030b2001200341046a360208200128020420036a20003600000c020b200041086a21040240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41043a000020022004360208200241086a200110dd848080002002200041106a36020c2002410c6a200110dd8480800041002d008083d480001a412041002802f482d48000118280808000002203450d022003417e6a220541003b000020032000290018370000200341086a2206200041206a290000370000200341106a200041286a290000370000200341186a2207200041306a29000037000002402001280200200128020822046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22002003290000370000200041086a2006290000370000200041106a200341106a290000370000200041186a20072900003700002001200441206a360208200320052f00006b41002802ec82d48000118180808000000c010b200041016a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41053a00002003200110bf898080000b200241106a2480808080000f0b4101412010ab80808000000bcf0201067f23808080800041306b2200248080808000200042f6b9cba3a9fbc4e719370018200042a88cac81f28dabe5ea00370010200042b9e088b7b6cdc2d113370008200042c5e4f4b9cff9d18a0b370000200041246a2000412010ef85808000024020002802242201418080808078460d0020004120410028029482d48000118b8080800000200028022821020240200028022c2203450d00200041086a22044100280298c5c5800036020020004100290290c5c580003703002003410c6c2105200010f4888080002002210303402004200341086a280200360200200020032902003703002003410c6a2103200010f488808000200541746a22050d000b2001450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b2001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200041306a2480808080000b9710020b7f067e23808080800041d0026b220224808080800020012802082103200242d684ecb8c888e883c3003700e801200242c5c58cc181f088c50c3700e001200242b9e088b7b6cdc2d1133700d801200242c5e4f4b9cff9d18a0b3700d00120024180016a200241d0016a412010f385808000410121040240024002400240024002400240024002402002280280014101470d002003200228029c014b0d042002280298012105200128020421064101210402402003450d0041002d008083d480001a200341002802f482d48000118280808000002204450d072004417e6a41003b00000b20042006200310f4978080002104200220033602d801200220043602d401200220033602d001200241d0016a10f288808000200242e7db9c91c4f3a8dcb07f3700e8012002428ad8bd86f0dea2e4243700e001200242b9e088b7b6cdc2d1133700d801200242c5e4f4b9cff9d18a0b3700d001200241b0026a200241d0016a412010ef8580800020022802b0022207418080808078460d0720022802b402210820022802b8022209450d032009410371210a200941044f0d01410021064100210b0c020b2001280204210602402003450d0041002d008083d480001a200341002802f482d48000118280808000002204450d052004417e6a41003b00000b20042006200310f4978080002104200220033602d801200220043602d401200220033602d001200241d0016a10f2888080000c060b2008412c6a21042009417c71210c410021064100210b03402004280200200441746a280200200441686a2802002004415c6a28020020066a6a6a6a2106200441306a2104200c200b41046a220b470d000b0b2005410176210c0240200a450d00200b410c6c20086a41086a21040340200428020020066a21062004410c6a2104200a417f6a220a0d000b0b02402006200c4d0d002002428fa48ce9f7dcc49a887f3700c802200242cbb1ef82aade92ce263700c002200242b9e088b7b6cdc2d1133700b802200242c5e4f4b9cff9d18a0b3700b002200241d0016a200241b0026a412010db85808000200241f0006a2003410a76ad420042808090bbbad6adf00d420010fc97808000200241e0006a2002290370428080708342004280809aa6eaafe301420010fc97808000200241d0006a2002290378220d42004280809aa6eaafe301420010fc97808000200241c0006a200d420042004280809aa6eaafe30110fc9780800020022903e801210e20022903e001210f20022802d0012104200241d0016a200229035822102002290360220d20022903407c2211200d5422062002290368220d20022903487c2006ad7c2212200d542012200d511bad7c220d200d201054ad2011201242808090bbbad6adf00d420010a393808000200241306a427f20022903e001220d428080a4b1fdad96c90e7c22122012200d54220620022903e80122102006ad7c22112010542012200d5a1b22061b427f20022903d00120022903d8018450220a1b220d4200200f42808090bbbad6adf00d200441017122041b2212420010fc97808000200241106a427f201120061b427f200a1b220f42002012420010fc97808000200241206a200d4200200e420020041b2212420010fc978080002002200f42002012420010fc97808000200241d0016a2002290328221020022903007c220d20022903187c22122002290338220f20022903207c220e200f54ad7c220f200e20022903107c2211200e54ad7c220e2002290308200d201054ad7c2012200d54ad7c200f201254ad7c200e200f54ad7c2002290330201142808090bbbad6adf00d420010a39380800020022903e001210d20022903e801211220022903d801210e20022903d001210f2002428fa48ce9f7dcc49a887f3700e801200242cbb1ef82aade92ce263700e001200242b9e088b7b6cdc2d1133700d801200242c5e4f4b9cff9d18a0b3700d00120022012427f200f200e845022041b3703b8022002200d427f20041b3703b002200241d0016a4120200241b0026a411041002802dc82d48000118380808000000b2009410171210c41002106024020094101460d002009417e71210b2008210441002106034002402004280200450d00200441046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b02402004410c6a280200450d00200441106a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200441186a2104200b200641026a2206470d000b0b200c450d0020082006410c6c6a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b2007450d0320082008417e6a2f00006b41002802ec82d48000118180808000000c030b20004181043b01002001280200450d03200128020422042004417e6a2f00006b41002802ec82d48000118180808000000c030b4101200341a8b2c8800010b980808000000b4101200341a8b2c8800010b980808000000b200241b0016a20012802042204200341002802c480d4800011868080800000200241e2016a200241b8016a2206290200370100200241ea016a200241b0016a41106a2203290200370100200241f2016a200241b0016a41186a220a29020037010020024185023b01d8012002411f3a00d001200220022902b0013701da0141014100200241d0016a10d28d80800020004100360204200020022902b001370208200041106a2006290200370200200041186a2003290200370200200041206a200a290200370200200041003a00002001280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241d0026a2480808080000bb70601037f2380808080004180016b2202248080808000200242a9a5c4bef894cdeee700370018200242d4c584efa7e5bfee64370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b3700000240024002402002412041002802ac82d48000118480808000000d00410421030c010b200242db94c397a39dc1eaea00370018200242f2f7edb5a4809cb22b370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b3700004101210302402002412010f18580800041fd01714101470d00410221030c010b20024286f68fbaaaa6a6a63237001820024290a3c7c38f88c6c34f370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b3700002002412041002802ac82d48000118480808000000d00200242d684ecb8c888e883c300370078200242c5c58cc181f088c50c370070200242b9e088b7b6cdc2d113370068200242c5e4f4b9cff9d18a0b3700602002200241e0006a412010f3858080000240024020022802004101470d0020012802082204200228020c4d0d01410321030c020b410521030c010b200128020421032002200436026420022003360260200242bdb9c185ebd5beb6e0003700182002428ab9b2f0b1fbfe8ab77f370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241e0006a2002412010b3838080002002429588f09ae5e2ecacca00370018200242a49ffa80bdc6acab63370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241013a006020024120200241e0006a410141002802dc82d48000118380808000002001280200210120024286f68fbaaaa6a6a63237001820024290a3c7c38f88c6c34f370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200320042002412010b28380800002402001450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241003a00082002411f3a000041014100200210d28d8080002000410f3a00000c010b2000200310fc8c8080002001280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20024180016a2480808080000bb406020c7f017e23808080800041d0006b2202248080808000200242939685e2c5afc3c644370048200242dbfcc3e0bc84a3df01370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241106a200241306a412010d0858080002002280214210320022802102104200242e3d488ecd2ee88dde300370048200242ce80d7eca9b9a7a316370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a412010df858080002002280224210520022802282106200228022c2107200242908cf1f9cc86e8f851370048200242d4a4d2bc9ca3a4d768370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a412010ef858080002002280224210820022802282109200228022c210a200242efe0d69cf8bda6cb5d370048200242d6e9cddfbec0b7fd78370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241086a200241306a412010d085808000200228020c210b2002280208210c200242bdb9c185ebd5beb6e0003700482002428ab9b2f0b1fbfe8ab77f370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a412010e7858080002002280224210d2002290228210e2002428ba4f08ac7ad89c4ad7f370048200242d7c9cea6cfa8b4c4a47f370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a412010e785808000024002402002280224418080808078460d00200241186a41086a200241246a41086a280200360200200220022902243703180c010b200241186a200110e9848080000b2000200e3702282000200d3602242000200229031837021820002003410020044101711b3602342000200b4100200c4101711b36023020004100200720054180808080784622031b36021420004104200620031b36021020004100200520031b36020c20004100200a20084180808080784622051b36020820004104200920051b36020420004100200820051b360200200041206a200241206a280200360200200241d0006a2480808080000bbf0201027f23808080800041306b220524808080800002400240024020022802004101470d00200420022802084f2003200228020422064f20032006461b4101470d010b2002200436020820022003360204200241013602004100210202400240024020010e020201000b41002102034020022001410176220320026a220620002006413c6c6a28020020044b1b2102200120036b220141014b0d000b0b20002002413c6c6a2802002004460d020b2005410236020c200541fcc6c58000360208200542013702142005200436022c2005418680808000ad4220862005412c6aad843703202005200541206a360210200541086a418cc7c5800010fe80808000000b200541003602182005410136020c200541e8c5c5800036020820054204370210200541086a41f0c5c5800010fe80808000000b200541306a2480808080000bd60c02037f017e23808080800041c0016b2203248080808000200341f8006a200110838280800002400240200328027822010d0041002104200328027c2201418080808078460d012003280280012105200341086a2003290280012206a72006422088a741002802c480d4800011868080800000410121042001450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b024020010d00200328027c450d0020032802800122012001417e6a2f00006b41002802ec82d48000118180808000000b410021040b200342b58ab3f59aafe8bb26370090012003428197ddb2f4a682d8dd0037008801200342b9e088b7b6cdc2d11337008001200342c5e4f4b9cff9d18a0b37007841002101200341a4016a41003a0000200341003602a0012003200341f8006a4120200341a0016a4105410041002802c482d48000118d808080000002402003280200410171450d00024020032802042201450d00024002400240024020032d00a00122054103710e0400030201000b200541027621010c040b20014105490d02200541034b0d0220032800a1012201418080808004490d020c030b20014104490d0120032f00a10120032d00a30141107472220141ffffff077141ff014d0d01200141087420057241027621010c020b20014101460d0020032d00a1012201450d00200141087420057241027621010c010b410021010b024002400240024002402004450d002002450d01200341286a41186a200341086a41186a290000370300200341286a41106a200341086a41106a290000370300200341286a41086a200341086a41086a290000370300200320032900083703280c040b20020d01200342bb88f596f8cbf6cf4c3700b8012003428a85cd9fb3e4b2ae6d3700b001200342fc90b9e5d09296e7773700a801200342a6d4e6f1a4dd9598603700a001200341f8006a200341a0016a412010de85808000024020032d00784101470d00200341c0006a20034191016a290000370300200341386a20034189016a290000370300200341306a20034181016a290000370300200320032900793703280c040b200341c0006a4200370300200341386a4200370300200341306a4200370300200342003703280c030b200341c8006a41186a200341086a41186a290000370300200341c8006a41106a200341086a41106a290000370300200341c8006a41086a200341086a41086a29000037030020032003290008370348200342bb88f596f8cbf6cf4c3700b8012003428a85cd9fb3e4b2ae6d3700b001200342fc90b9e5d09296e7773700a801200342a6d4e6f1a4dd9598603700a001200341f8006a200341a0016a412010de858080000240024020032d00784101470d00200341a0016a41186a20034191016a290000370300200341a0016a41106a20034189016a290000370300200341a0016a41086a20034181016a290000370300200320032900793703a0010c010b200341a0016a41186a4200370300200341a0016a41106a4200370300200341a0016a41086a4200370300200342003703a0010b200341c8006a200341a0016a412010f5978080000d01200341286a41086a200341086a41086a290000370300200341286a41106a200341086a41106a290000370300200341286a41186a200341086a41186a290000370300200320032900083703280c020b20034100360288012003410136027c200341ccc7c580003602782003420437028001200341f8006a41d4c7c5800010fe80808000000b200342003702840120034281808080c00037027c20034184c8c580003602784100200341c8006a200341a0016a200341f8006a418cc8c5800010d182808000000b200341f8006a41186a200341286a41186a290300370300200341f8006a41106a200341286a41106a290300370300200341f8006a41086a200341286a41086a29030037030020032003290328370378200341ec006a200341f8006a1082898080002001200328027422046b21010240024020040d00200328026c450d01200328027022042004417e6a2f00006b41002802ec82d48000118180808000000c010b200341ec006a10fa888080000b0240200120024101200241014b1b4f0d0020004200370300200041086a4200370300200341c0016a2480808080000f0b20034100360288012003410136027c200341d4c8c580003602782003420437028001200341f8006a41dcc8c5800010fe80808000000bc90201077f23808080800041306b2201248080808000200142b58ab3f59aafe8bb263700282001428197ddb2f4a682d8dd00370020200142b9e088b7b6cdc2d113370018200142c5e4f4b9cff9d18a0b370010200141046a200141106a412010e2858080000240024020012802042202418080808078470d00410021030c010b2001280208210402400240200128020c22050d00410021030c010b200541386c2106200441156a21074101210302400240034002402007417f6a2d00004101470d0020072000412010f597808000450d020b200741386a2107200341016a2103200641486a22060d000b200521030c010b200520036b21030b200441086a21070340200710ad88808000200741386a21072005417f6a22050d000b0b2002450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200141306a24808080800020030bb40a03037f017e067f23808080800041a0016b220324808080800020022802142104200228020821052003410336020c200341ecc8c580003602080240024002402004450d002005450d010b200342fd98e88aaae0e9ab793700980120034291b5f49a9dbec5afdb0037009001200342b9e088b7b6cdc2d11337008801200342c5e4f4b9cff9d18a0b37008001200341206a20034180016a412010de858080000240024020032d00204101470d0020034198016a200341396a29000037030020034190016a200341316a29000037030020034188016a200341296a29000037030020032003290021370380010c010b20034198016a420037030020034190016a420037030020034188016a420037030020034200370380010b200042cd3e37030820002005ad428c99880c7e42d8bc9fef017c2206370300200228021021072002280204210802402005450d00200341033a00282003411f3a00202003200536022c4100210941014100200341206a10d28d80800020082005410474220a6a210b0240200541ffffffff0071450d00200841086a21000340200041046a280200210c200341206a2000417c6a280200200028020010fd828080002003200c360240200041106a210020034180016a200341206a10fe828080001a200a41706a220a0d000b0b20034180016a10ea88808000200341d8006a20034198016a290300370300200341d0006a20034190016a290300370300200341c8006a20034188016a2903003703002003200329038001370340200342cd3e37033820032006370330200341043a00282003411f3a002041014100200341206a10d28d808000200b417c6a280200210a02402004450d002007200441246c6a210c4100210920072100034020034180016a200010fe828080001a2009200041206a280200200a466a2109200041246a2200200c470d000b0b200a200910ee888080000b200341206a41186a20034180016a41186a290300370300200341206a41106a20034180016a41106a290300370300200341206a41086a20034180016a41086a290300370300200320032903800137032020034180016a2001412010f5978080000d01200342efe0d69cf8bda6cb5d370038200342d6e9cddfbec0b7fd78370030200342b9e088b7b6cdc2d113370028200342c5e4f4b9cff9d18a0b3700202003200536020841002109200341206a4120200341086a410441002802dc82d480001183808080000002402005450d0020054101712104024020054101460d002005417e71210c2008210041002109034002402000280200450d00200041046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200041106a280200450d00200041146a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200041206a2100200c200941026a2209470d000b0b2004450d00200820094104746a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b02402002280200450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b0240200228020c450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200341a0016a2480808080000f0b20034102360224200341b4a3c580003602202003420137022c200341c181808000ad422086200341086aad8437038001200320034180016a360228200341206a41c4a3c5800010fe80808000000b2003420037021420034281808080c00037020c20034180c9c580003602084100200341206a2001200341086a4188c9c5800010d182808000000bed1801107f2380808080004190016b220524808080800020032802142106200328020821072005410436025420054198c9c58000360250024002400240024002402006450d002007450d010b20032802102108200328020421092005429ecfa7cc9cf7bd852c37008001200542bd948bf28d9682e3d500370078200542b9e088b7b6cdc2d113370070200542c5e4f4b9cff9d18a0b370068200541306a200541e8006a412010e4858080000240024020052802304101470d00200541186a2005413c6a280200360200200520052902343703100c010b20054100360218200541003602100b024020070d0002402002450d0020012002413c6c6a210a03402001280200210b0240024002402005280210220c450d002005280214210d034002400240200c2f019203220e0d004100210f0c010b200e4102742110410021114100210f03400240200b200c20116a41e4026a28020022124b200b2012496b41ff017122124101460d0020120d022005200f3602742005200d3602702005200c36026c200541003602682005200541106a3602780c060b200f41016a210f2010201141046a2211470d000b200e210f0b200d450d02200d417f6a210d200c200f4102746a28029403210c0c000b0b200541003602702005200b36026c2005200541106a3602680c010b2005200f360278200541003602742005200c3602702005200b36026c2005200541106a3602680b200541306a41086a200541e8006a10968d808000221141086a290000370300200541306a41106a201141106a290000370300200541306a41186a201141186a290000370300200520112900003703300240024020012d0018410171450d00200541e8006a41186a200141316a290000370300200541e8006a41106a200141296a290000370300200541e8006a41086a200141216a290000370300200520012900193703680c010b200541e8006a41186a4200370300200541e8006a41106a4200370300200541e8006a41086a4200370300200542003703680b200541306a200541e8006a412010f5978080000d042001413c6a2201200a470d000b0b2004410010df88808000200542939685e2c5afc3c64437008001200542dbfcc3e0bc84a3df01370078200542b9e088b7b6cdc2d113370070200542c5e4f4b9cff9d18a0b37006820052004360230200541e8006a4120200541306a410441002802dc82d4800011838080800000200041086a4200370300200042003703000c040b2005410036021c200542939685e2c5afc3c64437008001200542dbfcc3e0bc84a3df01370078200542b9e088b7b6cdc2d113370070200542c5e4f4b9cff9d18a0b370068200541086a200541e8006a412010d085808000200528020c21112005280208210f2005420037022820114100200f4101711b21132009200741146c6a21144100210e200921110340200e2104200120022005411c6a2011220d280210200d28020010a487808000200d280200210b0240024002402005280210220c450d002005280214210e034002400240200c2f019203220a0d004100210f0c010b200a4102742110410021114100210f03400240200b200c20116a41e4026a28020022124b200b2012496b41ff017122124101460d0020120d022005200f3602742005200e3602702005200c36026c200541003602682005200541106a3602780c060b200f41016a210f2010201141046a2211470d000b200a210f0b200e450d02200e417f6a210e200c200f4102746a28029403210c0c000b0b200541003602702005200b36026c2005200541106a3602680c010b2005200f360278200541003602742005200c3602702005200b36026c2005200541106a3602680b200541e8006a10968d8080002111200d280210210f200541e8006a200d280208200d28020c10fd828080002005200f360288012011200541e8006a10fe828080001a2005200d280210220e36022820042013200e20044b1b201320041b2113200d41146a22112014470d000b200541106a10eb888080004101211402402006450d002008200641286c6a2106200841286a211141002114034020112104200120022005411c6a2008280224200828020010a4878080002008280200210b0240024002402005280210220c450d002005280214210d034002400240200c2f019203220a0d004100210f0c010b200a4102742110410021114100210f03400240200b200c20116a41e4026a28020022124b200b2012496b41ff017122124101460d0020120d022005200f3602742005200d3602702005200c36026c200541003602682005200541106a3602780c060b200f41016a210f2010201141046a2211470d000b200a210f0b200d450d02200d417f6a210d200c200f4102746a28029403210c0c000b0b200541003602702005200b36026c2005200541106a3602680c010b2005200f360278200541003602742005200c3602702005200b36026c2005200541106a3602680b200541e8006a10968d808000200841046a10fe828080001a02402008280224200e470d002005201441016a221436022c0b2004410041282004200646220f1b6a211120042108200f450d000b20144521140b200541286a10e28880800002402002450d0020012002413c6c6a210403402001280200210b0240024002402005280210220c450d002005280214210d034002400240200c2f019203220a0d004100210f0c010b200a4102742110410021114100210f03400240200b200c20116a41e4026a28020022124b200b2012496b41ff017122124101460d0020120d022005200f3602742005200d3602702005200c36026c200541003602682005200541106a3602780c060b200f41016a210f2010201141046a2211470d000b200a210f0b200d450d02200d417f6a210d200c200f4102746a28029403210c0c000b0b200541003602702005200b36026c2005200541106a3602680c010b2005200f360278200541003602742005200c3602702005200b36026c2005200541106a3602680b200541306a41086a200541e8006a10968d808000221141086a290000370300200541306a41106a201141106a290000370300200541306a41186a201141186a290000370300200520112900003703300240024020012d0018410171450d00200541e8006a41186a200141316a290000370300200541e8006a41106a200141296a290000370300200541e8006a41086a200141216a290000370300200520012900193703680c010b200541e8006a41186a4200370300200541e8006a41106a4200370300200541e8006a41086a4200370300200542003703680b200541306a200541e8006a412010f5978080000d042001413c6a22012004470d000b0b200542e2dda6cfa7f49787b17f37008001200542facefdaea4d4b6b9d500370078200542b9e088b7b6cdc2d113370070200542c5e4f4b9cff9d18a0b370068200541306a200541e8006a412010ed85808000200542939685e2c5afc3c64437008001200542dbfcc3e0bc84a3df01370078200542b9e088b7b6cdc2d113370070200542c5e4f4b9cff9d18a0b3700682005200e201320144101711b2013200e1b360230200541e8006a4120200541306a410441002802dc82d4800011838080800000200041086a4200370300200042003703000c030b2005410236026c200541b4a3c5800036026820054201370274200541c181808000ad422086200541d0006aad843703302005200541306a360270200541e8006a41c4a3c5800010fe80808000000b2005420037025c20054281808080c000370254200541b0c5c580003602504100200541306a200541e8006a200541d0006a41b8c5c5800010d182808000000b2005420037025c20054281808080c000370254200541b0c5c580003602504100200541306a200541e8006a200541d0006a41b8c5c5800010d182808000000b200541106a10b38880800002402007450d002007410171210c4100210f024020074101460d002009411c6a21112007417e7121124100210f03400240201141686a280200450d002011416c6a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b02402011417c6a280200450d002011280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b201141286a21112012200f41026a220f470d000b0b200c450d002009200f41146c6a2211280204450d00201141046a28020422112011417e6a2f00006b41002802ec82d48000118180808000000b02402003280200450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b0240200328020c450d00200328021022112011417e6a2f00006b41002802ec82d48000118180808000000b20054190016a2480808080000bf70701037f23808080800041106b2202248080808000024002400240024002400240200028020022002d00002203417c6a41042003417b6a41ff01714105491b417f6a0e050001020304000b2002200041046a360204200128020041bcffc48000410a200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41d8ffc480004104200241046a41c8ffc48000108a81808000210420022d000d220020022d000c220372210120004101470d0420034101710d040240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c050b200128020041dc80c280004101200128020428020c1180808080000021010c040b2002200041186a3602002002200041086a360204200128020041dcffc48000411b200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41d8ffc480004104200241c8ffc48000108a81808000418880c580004106200241046a41f8ffc48000108a81808000210420022d000d220020022d000c220372210120004101470d0320034101710d030240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c040b200128020041dc80c280004101200128020428020c1180808080000021010c030b2002200041046a3602042001280200418e80c58000410d200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41ac80c580004103200241046a419c80c58000108a81808000210420022d000d220020022d000c220372210120004101470d0220034101710d020240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c030b200128020041dc80c280004101200128020428020c1180808080000021010c020b200220003602002002200041246a360204200128020041af80c58000410d200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41bc80c5800041032002419c80c58000108a8180800041d8ffc480004104200241046a41c8ffc48000108a81808000210420022d000d220020022d000c220372210120004101470d0120034101710d010240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b200128020041bf80c580004110200128020428020c1180808080000021010b200241106a24808080800020014101710bf80301037f23808080800041106b22022480808080000240024020002802002200280200418080808078460d00200220003602002002200041d8006a360204200128020041afc1c580004119200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41d8c1c580004104200241c8c1c58000108a8180800041ecc1c580004115200241046a41dcc1c58000108a81808000210320022d000d220020022d000c220472210120004101470d0120044101710d010240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b2002200041046a36020420012802004181c2c58000411e200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41b0c2c580004107200241046a41a0c2c58000108a81808000210320022d000d220020022d000c220472210120004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bf50101037f23808080800041106b220224808080800020022000280200360204200128020041b6ccc580004111200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c7ccc580004106200241046a4198ccc58000108a81808000210320022d000d220020022d000c2204722101024020004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b900201037f23808080800041106b2202248080808000200220002802002200410c6a360204200128020041f489c580004121200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41958ac58000410d200041d489c58000108a8180800041a28ac58000410f200241046a41e489c58000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b8e0101017f23808080800041106b220224808080800020022000280200220041c0006a36020c200141d8f4c48000411a41f2f4c48000410f20004198f4c480004181f5c480004111200041cc006a41a8f4c480004192f5c480004118200041346a41b8f4c4800041aaf5c4800041102002410c6a41c8f4c4800010b7818080002100200241106a24808080800020000b900201037f23808080800041106b220224808080800020022000280200220041186a360204200128020041c8eec480004113200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41dbeec480004111200041a8eec48000108a8180800041eceec480004113200241046a41b8eec48000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b1e002001280200418e8fc580004114200128020428020c118080808000000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b480002402000290300427e7c4203540d0020002d003041ff01714102470d002000280234450d00200028023822002000417e6a2f00006b41002802ec82d48000118180808000000b0bf80101077f20002802042101024020002802082202450d0041002103034002402001200341f0006c6a22042802082205450d00200428020421060340024020062d0000220741034b0d00200620074102744184cfc580006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200641146a21062005417f6a22050d000b0b02402004280200450d00200428020422062006417e6a2f00006b41002802ec82d48000118180808000000b200341016a22032002470d000b0b02402000280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b920201067f20002802042101024020002802082202450d002002410171210341002104024020024101460d002001411c6a21052002417e7121064100210403400240200541686a280200450d002005416c6a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b02402005417c6a280200450d00200528020022022002417e6a2f00006b41002802ec82d48000118180808000000b200541286a21052006200441026a2204470d000b0b2003450d002001200441146c6a2205280204450d00200541046a28020422052005417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0bb70201067f20002802042101024020002802082202450d002002410171210341002104024020024101460d002002417e7121052001210241002104034002402002280200450d00200241046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200241106a280200450d00200241146a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200241206a21022005200441026a2204470d000b0b2003450d00200120044104746a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0240200028020c450d00200028021022022002417e6a2f00006b41002802ec82d48000118180808000000b0b0a00200010a6888080000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b8c0201067f20002802042101024020002802082202450d002002410171210341002104024020024101460d002002417e7121052001210241002104034002402002280200450d00200241046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200241106a280200450d00200241146a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200241206a21022005200441026a2204470d000b0b2003450d00200120044104746a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41acc9c580002005410c6a41acc9c5800020032004108481808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41a0c2c580002005410c6a41a0c2c5800020032004108481808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41bcc9c580002005410c6a41bcc9c5800020032004108481808000000be70e04067f017e017f027e23808080800041b0056b2203248080808000200320013602cc02200341003602c802200320023602c40202400240024020022802042201450d0020022001417f6a220436020420022002280200220541016a22063602000240024002400240024020052d000022074103710e0400010302000b200741027621070c030b2004450d0320022001417e6a22043602042002200541026a220636020020052d00012201450d03200141087420077241027621070c020b200741044f0d0220014105490d0220022001417b6a22043602042002200541056a2206360200200528000122074180808080044f0d010c020b20014104490d0120022001417c6a22043602042002200541046a220636020020052f0001200541036a2d0000411074722201418002490d01200141087420077241027621070b200342003703d0022003200341c4026a3602d8020240024020040d004100210842012109410121050c010b20022004417f6a22083602042002200641016a2204360200200342013703d00220062d000021014100210542022109200421060b20054101710d002001413f71210502400240200141fe01714104470d00420221090c010b024002402005417c6a0e020001030b200141187441187541404e0d022003200341d0026a10eb8e80800020032d000022044105460d022003418e056a20032d00033a000020034180056a200341196a29000037030020034187056a200341206a280000360000200320032f00013b018c05200320032900113703f8042003280204210620032802082101200328020c210a20032d001021082003200341d0026a10c18c808000024020032d00004104460d00200341e0026a200341c20010f4978080001a2003200341d0026a109687808000200329030022094202510d00200341d0046a41086a200341116a290000370300200341e0046a200341196a290000370300200341e8046a200341216a290000370300200341ef046a200341286a290000370000200341f0036a41086a200341f8046a41086a290300370300200341f0036a410f6a200341f8046a410f6a280000360000200320032900093703d004200320032903f8043703f00320032d0008210520034183046a200341e0026a41c20010f4978080001a200341cc046a41026a2003418c056a41026a2d00003a0000200320032f018c053b01cc040c020b20044102470d022006450d0220012001417e6a2f00006b41002802ec82d48000118180808000000c020b200141407141ff017141c000470d010240024020080d00410121010c010b20022008417f6a3602042002200641016a360200200320093703d00220062d00002108410021010b20014101710d012003200341d0026a10968780800020032903004202510d0120034190056a41186a200341186a290300220937030020034190056a41106a200341106a290300220b370300200341ce046a200341236a2d00003a0000200341df046a2003290308220c370000200341ef046a2009370000200341e7046a200b3700002003200c3703980520032003290300220937039005200320032f00213b01cc04200320093700d70420032d002021042003280224210620032802282101200328022c210a420421090b20034100360298052003428080808010370290052003200341d0026a36029c052003428080808090808080013702fc04200320034190056a3602f8042003200341f8046a10fd858080000240024020032802004108470d00200328029005450d0120032802940522022002417e6a2f00006b41002802ec82d48000118180808000000c010b200341e0026a200341900110f4978080001a20032903d0022007ad510d02024020032802900541808080807872418080808078460d0020032802940522022002417e6a2f00006b41002802ec82d48000118180808000000b200341e0026a10c0868080000b2009427e7c4203540d00200441ff01714102470d002006450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200042053703000c010b200341286a200341ef046a290000370000200341216a200341e8046a290300370000200341196a200341e0046a290300370000200341116a200341d0046a41086a290300370000200341336a200341ce046a2d00003a0000200320032903d004370009200320032f01cc043b0031200341c1006a200341f0036a41d50010f4978080001a200341a0016a200341e0026a41900110f4978080002107200341b8026a20034190056a41086a28020036020020032003290290053703b002200320083a00402003200a36023c2003200136023820032006360234200320043a0030200320053a000820032009370300024020022802040d002000200341c00210f4978080001a0c010b2000420537030002402009427e7c4203540d00200441ff01714102470d002006450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200710c08680800020032802b0022202418080808078460d002002450d0020032802b40222022002417e6a2f00006b41002802ec82d48000118180808000000b200341b0056a2480808080000bf20101037f23808080800041106b22022480808080002002200036020420012802004180cbc58000410c200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a418ccbc58000410a200241046a41f0cac58000108a81808000210320022d000d220020022d000c2204722101024020004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bda04010b7f23808080800041106b2203248080808000200220012f010022046a2202410374210541002106024002400240200241ffffffff014b0d00200541fcffffff074b0d00024020050d0041042107410021020c030b41002d008083d480001a200541002802f482d480001182808080000022060d01410421060b2006200541f8cbc5800010b980808000000b2006200641036a417c71220720066b22056a417e6a20053b00000b2003410036020c20032007360208200320023602040240200441054f0d000240024020022004490d00410021080c010b200341046a410020044104410810a38680800020032802082107200328020c21080b02402004450d00200441017121090240024020044101470d00410021040c010b410020044106716b210a200720084103746a210b41002106410021040340200120046a220241086a2205280200210c20054100360200200241046a22052d0000210d200541003a0000200b20046a220541046a200c3602002005200d3a00002002410c6a220c2d0000210d200c41003a0000200241106a2202280200210c200241003602002005410c6a200c360200200541086a200d3a0000200441106a2104200a2006417e6a2206470d000b410020066b2104200820066b21080b2009450d00200141046a20044103746a220428020421022004410036020420042d00002105200441003a0000200720084103746a22042002360204200420053a0000200841016a21080b200141003b010020002003290204370200200041086a2008360200200341106a2480808080000f0b200441044188ccc58000109181808000000bec0302027f037e23808080800041306b220224808080800002400240024002400240024020012d00002203417c6a41042003417b6a41ff01714105491b417f6a0e050001020304000b200241086a200128020410fb85808000200229030821042002290310210520022d0028210120004200370310200041186a4200370300200041003a0021200020013a00202000427f200542ed0b7c220620062005541b3703082000427f200442b8c7e4037c220520052004541b3703000c040b2001290308210420012903102105200241086a200128021810fb8580800020022d00282101200042003703102000200537030820002004370300200041186a4200370300200041003a0021200020013a00200c030b20004200370310200042ed0b37030820004288dbb903370300200041186a4200370300200041206a41003b01000c020b200241086a200128022410fb85808000200229030821042002290310210520022d0028210120004200370310200041186a4200370300200041003a0021200020013a00202000427f200542ed0b7c220620062005541b3703082000427f200442b0ace0037c220520052004541b3703000c010b20004200370310200042ed0b370308200042e8d48703370300200041186a4200370300200041206a41003b01000b200241306a2480808080000b870101017f23808080800041106b22022480808080002002200041306a36020c200141eccdc5800041174183cec58000410b200041cccdc58000418ecec5800041132000410c6a4188f0c4800041a1cec580004119200041106a41dccdc5800041bacec58000410c2002410c6a4198f0c4800010b7818080002100200241106a24808080800020000bdf0f01047f23808080800041306b220224808080800002400240024002400240024002400240024020002802000e080102030004050607010b000b2002200041086a36020c410121002001280200220341c6cec5800041062001280204220428020c2205118080808000000d060240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d082002410c6a200110fe8d808000450d010c080b200341e080c2800041022005118080808000000d0741012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10fe8d8080000d07200228022041da80c280004102200228022428020c118080808000000d070b200128020041e280c280004101200128020428020c1180808080000021000c060b2002200041046a36020c410121002001280200220341cccec58000410f2001280204220428020c2205118080808000000d050240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d072002410c6a200110aa87808000450d010c070b200341e080c2800041022005118080808000000d0641012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa878080000d06200228022041da80c280004102200228022428020c118080808000000d060b200128020041e280c280004101200128020428020c1180808080000021000c050b2002200041086a36020c410121002001280200220341dbcec5800041092001280204220428020c2205118080808000000d040240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d062002410c6a200110828e808000450d010c060b200341e080c2800041022005118080808000000d0541012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10828e8080000d05200228022041da80c280004102200228022428020c118080808000000d050b200128020041e280c280004101200128020428020c1180808080000021000c040b2002200041106a36020c410121002001280200220341e4cec5800041082001280204220428020c2205118080808000000d030240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d052002410c6a200110858d808000450d010c050b200341e080c2800041022005118080808000000d0441012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10858d8080000d04200228022041da80c280004102200228022428020c118080808000000d040b200128020041e280c280004101200128020428020c1180808080000021000c030b2002200041086a36020c410121002001280200220341eccec5800041042001280204220428020c2205118080808000000d020240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d042002410c6a200110a987808000450d010c040b200341e080c2800041022005118080808000000d0341012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a9878080000d03200228022041da80c280004102200228022428020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021000c020b2002200041046a36020c410121002001280200220341f0cec58000410a2001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110838e808000450d010c030b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10838e8080000d02200228022041da80c280004102200228022428020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021000c010b2002200041086a36020c410121002001280200220341facec5800041072001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110818d808000450d010c020b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10818d8080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000b0900200041003602000b0900200041013602000b0a00200010d3858080000bb40201047f23808080800041106b220124808080800041002d008083d480001a0240413041002802f482d480001182808080000022020d004108413010ab80808000000b2002200241076a417871220320026b22046a220241bb80808000360228200241cb81808000360210200242ada9e8dffceda4b57d3703082002429b9e90f4939ac781bb7f370300200242d7c9cb8fc1cf97db3e370320200242e88488d0c0e3aebc133703182002417e6a20043b0000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200220036b41306a41186e36020c2000200236020820004102360204200041043a0000200141106a2480808080000b0a00200010b3868080000ba90402067f017e23808080800041d0006b2201248080808000200141286a419cd0c580004110418ed2c58000412c4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a22024100360218200241013602042002418dd2c580003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c210720012802282103200142808080808001370248200142888080808001370240200141346a200141c0006a419c91c3800010f58e8080002003418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002003360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bac0402067f017e23808080800041d0006b2201248080808000200141286a41acd0c58000410c41e6d1c5800041274104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a22024100360218200241013602042002418dd2c580003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2204200141106a410c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c210720012802282103200142808080808001370248200142888080808001370240200141346a200141c0006a419c91c3800010f58e8080002003418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002003360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bf326010a7f23808080800041e0056b220224808080800002400240024002400240024002400240024002400240024020012d00282203417c6a41042003417b6a41ff01714105491b417f6a0e050001020304000b200128022c2103200241a8016a41206a200141206a2204290200370300200241a8016a41186a200141186a2205290200370300200241a8016a41106a200141106a2206290200370300200241a8016a41086a200141086a2207290200370300200220033602d001200220012902003703a801200241a8016a41286a2108024041afe4ca8000411310b691808000220941ff01490d0020022802a80122012001280200417f6a2201360200024020010d00200241a8016a10ca878080000b200810cb8780800041002103410921010c060b2002200941016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241e0036a41206a2004290200370300200241e0036a41186a2005290200370300200241e0036a41106a2006290200370300200241e0036a41086a2007290200370300200220012902003703e003200241d8006a200241e0036a10d586808000410f210420022d00582201410f470d04200241e0036a200341900110f4978080001a200241003a00a803200241d8006a200241a8036a10b186808000200241d8026a200241e0036a200241d8006a10f985808000024020022903d8024202510d0020024180026a20024181036a29000037030020024187026a20024188036a280000360000200220022900f9023703f80120022d00f80221040b200241f1036a20024180026a290300370000200241f8036a20024187026a280000360000200220043a00e803200241003a00e403200241213a00e003200220022903f8013700e90341014100200241e0036a10d28d80800020032003417e6a2f01006b41002802ec82d480001181808080000041002802a482d48000118e8080800000200241df056a10c691808000200041013a0020200041003a001820004200370308200042023703000c0a0b20012802402103200241a8016a41206a200141206a2204290200370300200241a8016a41186a200141186a2205290200370300200241a8016a41106a200141106a2206290200370300200241a8016a41086a200141086a2207290200370300200220033602d001200220012902003703a801200241a8016a41286a2108024041afe4ca8000411310b691808000220941ff01490d0020022802a80122012001280200417f6a2201360200024020010d00200241a8016a10ca878080000b200810cb8780800041002103410921010c070b2002200941016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241e0036a41206a2004290200370300200241e0036a41186a2005290200370300200241e0036a41106a2006290200370300200241e0036a41086a2007290200370300200220012902003703e003200241d8006a200241e0036a10d586808000410f210420022d00582201410f470d05200241e0036a200341900110f4978080001a200241003a00a803200241d8006a200241a8036a10b186808000200241d8026a200241e0036a200241d8006a10f985808000024020022903d8024202510d0020024198026a20024181036a2900003703002002419f026a20024188036a280000360000200220022900f9023703900220022d00f80221040b200241f1036a20024198026a290300370000200241f8036a2002419f026a280000360000200220043a00e803200241003a00e403200241213a00e00320022002290390023700e90341014100200241e0036a10d28d80800020032003417e6a2f01006b41002802ec82d480001181808080000041002802a482d48000118e8080800000200241df056a10c691808000200041013a0020200041003a001820004200370308200042023703000c090b200241a0036a200141cc006a28020036020020024198036a200141c4006a29020037030020024190036a2001413c6a29020037030020024188036a2203200141346a290200370300200241d8026a41086a200141086a2208290200370300200241d8026a41106a200141106a2207290200370300200241d8026a41186a200141186a2209290200370300200241d8026a41206a200141206a220a2902003703002002200129022c37038003200220012902003703d80220032802002104200228028403210620022d008003210520022802d80221030240024041afe4ca8000411310b691808000220b41ff01490d0020032003280200417f6a2201360200024020010d00200241d8026a10ca878080000b4100210841092103200541ff01714102470d012006450d014100210820042004417e6a2f00006b41002802ec82d48000118180808000000c010b410121032002200b41016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241e0036a41206a200a290200370300200241e0036a41186a2009290200370300200241e0036a41106a2007290200370300200241e0036a41086a2008290200370300200220012902003703e003200241a8016a200241e0036a10d586808000024002400240024020022d00a8012207410f460d00200241b0026a200241b2016a290100370300200241b8026a200241ba016a2f01003b0100200220022901aa013703a80220022d00a9012108200541ff01714102470d022007210320060d010c030b2001280234210420012802302105024020012d002c0e030b0300030b41012107410121032005450d020b20042004417e6a2f00006b41002802ec82d48000118180808000000b200721030b41002802cc82d48000118e8080800000200241df056a10c6918080000b20004200370300200041003a0018200041086a4200370300200020083a0021200020033a0020200020022903a8023700222000412a6a200241a8026a41086a290300370000200041326a200241b8026a2f01003b00000c080b200241a0016a200141286a220841206a28020036020020024198016a200841186a29020037030020024190016a200841106a29020037030020024188016a200841086a290200370300200241d8006a41086a200141086a2204290200370300200241d8006a41106a200141106a2205290200370300200241d8006a41186a200141186a2206290200370300200241d8006a41206a200141206a2207290200370300200220082902003703800120022001290200370358200128024c2108200241a8016a200241d8006a41cc0010f4978080001a200220083602f4010240024041afe4ca8000411310b691808000220941ff01490d0020022802a80122012001280200417f6a2201360200024020010d00200241a8016a10ca878080000b200241a8016a41cc006a2101024020022d00d0014102470d0020022802d401450d0020022802d80122032003417e6a2f00006b41002802ec82d48000118180808000000b200110cb8780800041002104410921080c010b410121082002200941016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241d8026a200241a8016a41d00010f4978080001a200241e0036a41206a2007290200370300200241e0036a41186a2006290200370300200241e0036a41106a2005290200370300200241e0036a41086a2004290200370300200220012902003703e003200241fc046a200241e0036a10d586808000024002400240024020022d00fc042206410f460d00200241c8026a20024186056a290100370300200241d0026a2002418e056a2f01003b0100200220022901fe043703c00220022d00fd042104024020022d0080034102460d00200621080c040b2002280284030d01200621080c030b20012802302105200128022c21060240024020030e03010400040b4101210820060d020c030b200241a7056a41036a2001412b6a2d00003a0000200241bb056a2001413c6a290000370000200241c0056a200141c1006a290000370000200220053600af05200220063600ab05200220012f00293b00a805200220012900343700b305200241e0036a20022802a403220141900110f4978080001a200241013a00a705200241fc046a200241a7056a10b186808000200241a8036a200241e0036a200241fc046a10f985808000410f2103024020022903a8034202510d00200241d0056a200241d1036a290000370300200241d7056a200241d8036a280000360000200220022900c9033703c80520022d00c80321030b200241f1036a200241d0056a290300370000200241f8036a200241d7056a280000360000200220033a00e803200241213a00e003200220022903c8053700e903200241033a00e40341014100200241e0036a10d28d80800020012001417e6a2f01006b41002802ec82d480001181808080000041002802a482d48000118e8080800000200241df056a10c691808000200041003a001820004200370308200020022800393600192000411c6a200241396a41036a280000360000200041013a0020200020022802c002360022200041266a20022f01c4023b0000200042023703000c0b0b2002280288032105200621080b20052005417e6a2f00006b41002802ec82d48000118180808000000b200241a4036a10cb8780800041002802cc82d48000118e8080800000200241df056a10c6918080000b20004200370300200041003a0018200041086a4200370300200020022800393600192000411c6a2002413c6a280000360000200020043a0021200020083a0020200020022903c0023700222000412a6a200241c0026a41086a290300370000200041326a200241d0026a2f01003b00000c070b0240024041afe4ca8000411310b691808000220341ff01490d00200128020022032003280200417f6a2204360200410921034100210820040d01200110ca878080000c010b2002200341016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241e0036a41206a200141206a290200370300200241e0036a41186a200141186a290200370300200241e0036a41106a200141106a290200370300200241e0036a41086a200141086a290200370300200220012902003703e003200241d8026a200241e0036a10d58680800020022d00d8022203410f460d06200241c0006a41086a200241e2026a290100370300200241c0006a41106a200241ea026a2f01003b0100200220022901da0237034020022d00d902210841002802cc82d48000118e8080800000200241df056a10c6918080000b20004200370300200041003a0018200020083a0021200020033a002020002002290340370022200041086a42003703002000412a6a200241c0006a41086a290300370000200041326a200241d0006a2f01003b00000c060b200241106a200241e2006a290100370300200241186a200241ea006a2f01003b01002002200229015a37030820022d00592103200810cb8780800041002802cc82d48000118e8080800000200241df056a10c6918080000b20004200370300200041003a0018200041086a4200370300200020033a0021200020013a0020200020022903083700222000412a6a200241086a41086a290300370000200041326a200241186a2f01003b00000c040b200241286a200241e2006a290100370300200241306a200241ea006a2f01003b01002002200229015a37032020022d00592103200810cb8780800041002802cc82d48000118e8080800000200241df056a10c6918080000b20004200370300200041003a0018200041086a4200370300200020033a0021200020013a0020200020022903203700222000412a6a200241206a41086a290300370000200041326a200241306a2f01003b00000c020b200241aa036a2001412f6a2d00003a0000200241bb036a200141c0006a290000370000200241c0036a2203200141c5006a290000370000200220043600af03200220053600ab03200220012f002d3b01a803200220012900383700b303200242e7adb0ba9bbab2f2fb003700f803200242d39cf0bdba80f2ac103700f003200242a988d1e9f0b7bbcf9c7f3700e803200242dc9ac4b0d794dae0793700e003200241d8006a41216a200241e0036a412010de85808000200241e1006a200241b0036a290100370000200241e9006a200241b8036a290100370000200241f1006a2003290100370000200241013a0058200220022901a803370059200241ab016a200241d8006a41c40010f4978080001a200241213a00e003200241e0036a410172200241a8016a41c70010f4978080001a41014100200241e0036a10d28d808000200241a8036a10dc8880800041002802a482d48000118e8080800000200241df056a10c691808000200041013a0020200041003a001820004200370308200042023703000c010b200241023a00e403200241213a00e00341014100200241e0036a10d28d808000200242e7adb0ba9bbab2f2fb003700f803200242d39cf0bdba80f2ac103700f003200242a988d1e9f0b7bbcf9c7f3700e803200242dc9ac4b0d794dae0793700e003200241e0036a4120410028029482d48000118b808080000041002802a482d48000118e8080800000200241df056a10c691808000200041013a0020200041003a001820004200370308200042023703000b200241e0056a2480808080000b8e0101037f20002802002200280208210102402000410c6a28020022022802002203450d0020012003118180808000000b02402002280204450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b02402000417f460d0020002000280204417f6a220136020420010d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0b950301017f0240024002400240024002400240200028020022002802000e080102060603040500010b20002802084104470d05200028020c450d05200028021022012001417e6a2f00006b41002802ec82d48000118180808000000c050b200041086a108d888080000c040b200041046a108a888080000c030b200041106a108e888080000c020b024002400240024020002d00082201417c6a41042001417b6a41ff01714105491b417f6a0e0400010203050b2000410c6a10cb878080000c040b200041206a10cb878080000c030b20002d000c4102470d022000280210450d02200028021422012001417e6a2f00006b41002802ec82d48000118180808000000c020b024020014102470d00200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b2000412c6a10cb878080000c010b20002802042201418480808078480d002001450d00200028020822012001417e6a2f00006b41002802ec82d48000118180808000000b20002000417e6a2f00006b41002802ec82d48000118180808000000bec3d04057f017e047f037e23808080800041e0066b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012d0028417f6a0e0b000102030405060708090a000b20012802302103200128022c21040240024041afe4ca8000411310b691808000220541fe014d0d0041092106420021070c010b2002200541016a3602e0034100210641afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e808080000041002802a482d48000118e8080800000200241df066a10c691808000420221070b02402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200128020022032003280200417f6a2203360200024020030d00200110ca878080000b200541ff01490d0a200041003a0021200020063a0020200041003a001820004200370308200020073703000c1b0b2002200129033037039006200241e0036a41206a200141206a290200370300200241e0036a41186a200141186a290200370300200241e0036a41106a200141106a290200370300200241e0036a41086a200141086a290200370300200220012902003703e003200220024190066a36028804024041afe4ca8000411310b691808000220541ff01490d0020022802e00322012001280200417f6a22053602004109210120050d0c200241e0036a10ca878080000c0c0b2002200541016a3602a80341afe4ca80004113200241a8036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022052005280200417f6a220536020020012d00042103024020050d00200110ca878080000b200341ff01710d0a41002d008083d480001a410841002802f482d480001182808080000022010d0c4101410810ab80808000000b200128022c21032001280230210520012802342104200241bc036a200141086a290200370200200241c4036a200141106a290200370200200241cc036a200141186a290200370200200241a8036a412c6a200141206a290200370200200220043602b003200220053602ac03200220033602a803200220012902003702b403024041afe4ca8000411310b691808000220641ff01490d0020022802b40322012001280200417f6a2201360200024020010d00200241b4036a10ca878080000b4109210420030d0d410021010c0e0b2002200641016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022062006280200417f6a220636020020012d00042108024020060d00200110ca878080000b0240024002400240200841ff0171450d00410221040c010b410721060240024020052004410110da8d808000220841766a41ff01712204410220044102491b0e03030100030b200821060b200241e0036a200610cf8c80800020022d00e0032204410f460d0120024180036a200241ea036a29010037030020024188036a200241f2036a2f01003b0100200220022901e2033703f80220022d00e10321010b2003450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b20024190066a41086a2001412c6a220141086a2802003602002002200129020037039006200241e0036a20024190066a10a28780800020022d00e0032204410f460d0f200241f8026a41086a200241ea036a29010037030020024188036a200241f2036a2f01003b0100200220022901e2033703f80220022d00e10321010b41002802cc82d48000118e8080800000200241df066a10c6918080000c0d0b200128022c21032001280230210520012802342104200241bc036a200141086a290200370200200241c4036a200141106a290200370200200241cc036a200141186a290200370200200241a8036a412c6a200141206a290200370200200220043602b003200220053602ac03200220033602a803200220012902003702b403024041afe4ca8000411310b691808000220641ff01490d0020022802b40322012001280200417f6a2201360200024020010d00200241b4036a10ca878080000b4109210420030d0f410021010c100b2002200641016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022062006280200417f6a220636020020012d00042108024020060d00200110ca878080000b0240024002400240200841ff0171450d00410221040c010b410721060240024020052004410010da8d808000220841766a41ff01712204410220044102491b0e03030100030b200821060b200241e0036a200610cf8c80800020022d00e0032204410f460d0120024198036a200241ea036a290100370300200241a0036a200241f2036a2f01003b0100200220022901e2033703900320022d00e10321010b2003450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b20024190066a41086a2001412c6a220141086a2802003602002002200129020037039006200241e0036a20024190066a10a28780800020022d00e0032204410f460d1120024190036a41086a200241ea036a290100370300200241a0036a200241f2036a2f01003b0100200220022901e2033703900320022d00e10321010b41002802cc82d48000118e8080800000200241df066a10c6918080000c0f0b200241086a41086a2205200141346a2802003602002002200129022c370308200241e0036a41206a200141206a290200370300200241e0036a41186a200141186a290200370300200241e0036a41106a200141106a290200370300200241e0036a41086a200141086a290200370300200220012902003703e0032002200241086a36028804200241186a200241e0036a10cd87808000024020052802002205450d00200228020c2101034002402001280200450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012005417f6a22050d000b0b02402002280208450d00200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000b20022903184202510d1020002002290318370300200041306a200241186a41306a290300370300200041286a200241186a41286a290300370300200041206a200241186a41206a290300370300200041186a200241186a41186a290300370300200041106a200241186a41106a290300370300200041086a200241186a41086a2903003703000c170b200241d0006a41086a2205200141346a2802003602002002200129022c370350200241e0036a41206a200141206a290200370300200241e0036a41186a200141186a290200370300200241e0036a41106a200141106a290200370300200241e0036a41086a200141086a290200370300200220012902003703e0032002200241d0006a36028804200241e0006a200241e0036a10ce87808000024020052802002201450d00200228025421062001410171210841002105024020014101460d002001417e7121042006210141002105034002402001280200450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012004200541026a2205470d000b0b2008450d0020062005410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402002280250450d00200228025422012001417e6a2f00006b41002802ec82d48000118180808000000b20022903604202510d1020002002290360370300200041306a200241e0006a41306a290300370300200041286a200241e0006a41286a290300370300200041206a200241e0006a41206a290300370300200041186a200241e0006a41186a290300370300200041106a200241e0006a41106a290300370300200041086a200241e0006a41086a2903003703000c160b20024198016a41086a200141386a28020036020020022001290230370398012002200128022c3602a803200241e0036a41206a200141206a290200370300200241e0036a41186a200141186a290200370300200241e0036a41106a200141106a290200370300200241e0036a41086a200141086a290200370300200220012902003703e0032002200241a8036a36028c04200220024198016a36028804200241a8016a200241e0036a10cf878080000240200228029801450d00200228029c0122012001417e6a2f00006b41002802ec82d48000118180808000000b20022903a8014202510d10200020022903a801370300200041306a200241a8016a41306a290300370300200041286a200241a8016a41286a290300370300200041206a200241a8016a41206a290300370300200041186a200241a8016a41186a290300370300200041106a200241a8016a41106a290300370300200041086a200241a8016a41086a2903003703000c150b200241e0016a41086a200141346a2802003602002002200129022c3703e001200241e0036a41206a200141206a290200370300200241e0036a41186a200141186a290200370300200241e0036a41106a200141106a290200370300200241e0036a41086a200141086a290200370300200220012902003703e0032002200241e0016a36028804200241f0016a200241e0036a10d087808000024020022802e001450d0020022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000b20022903f0014202510d10200020022903f001370300200041306a200241f0016a41306a290300370300200041286a200241f0016a41286a290300370300200041206a200241f0016a41206a290300370300200041186a200241f0016a41186a290300370300200041106a200241f0016a41106a290300370300200041086a200241f0016a41086a2903003703000c140b200241a8026a41186a200141c1006a290000370300200241a8026a41106a200141396a290000370300200241a8026a41086a200141316a290000370300200220012900293703a802200241a8036a41206a200141206a290200370300200241a8036a41186a200141186a290200370300200241a8036a41106a200141106a290200370300200241a8036a41086a200141086a290200370300200220012902003703a8032002200241a8026a3602d0030240024041afe4ca8000411310b691808000220541ff01490d0020022802a80322012001280200417f6a22053602004109210120050d01200241a8036a10ca878080000c010b2002200541016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022052005280200417f6a220536020020012d00042103024020050d00200110ca878080000b200341ff0171450d1141002802cc82d48000118e8080800000200241df066a10c691808000410221010b200041003a0021200020013a0020200041003a0018200042003703000c130b200241a8026a41186a200141c1006a290000370300200241a8026a41106a200141396a290000370300200241a8026a41086a200141316a290000370300200220012900293703a802200241a8036a41206a200141206a290200370300200241a8036a41186a200141186a290200370300200241a8036a41106a200141106a290200370300200241a8036a41086a200141086a290200370300200220012902003703a8032002200241a8026a3602d0030240024041afe4ca8000411310b691808000220541ff01490d0020022802a80322012001280200417f6a22053602004109210120050d01200241a8036a10ca878080000c010b2002200541016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022052005280200417f6a220536020020012d00042103024020050d00200110ca878080000b200341ff0171450d1141002802cc82d48000118e8080800000200241df066a10c691808000410221010b200041003a0030200041003a0021200020013a0020200041003a0018200042003703000c120b20012802302105200128022c21030240024041afe4ca8000411310b691808000220441ff01490d004109210442002107024020030d0041002103410021050c020b4100210320052005417e6a2f00006b41002802ec82d4800011818080800000410021050c010b2002200441016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241e0036a20052001280234220410e18d808000024002400240024020022d00e0034101470d00200241d0036a200241ec036a290200370300200241d8036a200241f4036a280200360200200220022902e4033703c8030c010b20024190066a41086a2208200241ea036a29010037030020024190066a41106a2209200241f2036a290100370300200241a8066a220a200241fa036a290100370300200220022901e2033703900620022d00e1032106200242f7b6fccfd083b2cf4d3700f803200242afd2c6ffdbc495bc083700f003200242fc90b9e5d09296e7773700e803200242a6d4e6f1a4dd9598603700e003200241e0036a4120410028029482d48000118b8080800000024002400240024020052004200610da8d808000220b41766a41ff01712206410220064102491b0e03010300010b200241a8036a200b10cf8c808000200241c3066a200241a8036a41086a290200370000200241cb066a200241a8036a41106a28020036000020024181046a200a290300370000200241f9036a2009290300370000200241f1036a2008290300370000200220022902a8033700bb0620024191046a200241b8066a41086a29000037000020024198046a200241c7066a29000037000020022002290390063700e903200241073a00e803200220022900b806370089042002411e3a00e00341014100200241e0036a10d28d808000200242003703b00302402003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b0c010b200220043602b003200220053602ac03200220033602a803200241e0036a200241a8036a10a287808000024020022d00e003410f460d00200241d8036a200241f0036a280200360200200241d0036a200241e8036a290200370300200220022902e0033703c8030c040b200241e0036a10aa86808000200242013703b003200220022903800622073703c003200220022903f8053703b8032007a721030b200241b8066a41086a200241a8036a41106a290300370300200241e0036a41086a200241d2036a290100370300200241e0036a41106a200241da036a2f01003b0100200220022903b0033703b806200220022800c1033602a802200220022901ca033703e0032002200241c4036a2800003600ab02410121044202210741a482d4800021060c030b200241a8036a41206a410710cf8c8080000b2003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241b8066a41086a200241a8036a41106a290300370300200241e0036a41086a200241d2036a290100370300200241e0036a41106a200241da036a2f01003b0100200220022903b0033703b806200220022800c1033602a802200220022901ca033703e0032002200241c4036a2800003600ab02420021074100210341cc82d48000210620022802dc03210820022d00c903210520022d00c80321040b200241e8026a41086a200241b8066a41086a290300370300200241c8026a41086a200241e0036a41086a290300370300200241c8026a41106a200241e0036a41106a2f01003b0100200220022903b8063703e802200220022802a8023602e002200220022800ab023600e302200220022903e0033703c8022006280200118e8080800000200241df066a10c6918080000b200128020022062006280200417f6a2206360200024020060d00200110ca878080000b20074202510d1020002007370300200020022903e802370308200020033a0018200020022802e002360019200020053a0021200020043a0020200020022903c8023700222000411c6a20022800e302360000200041106a200241e8026a41086a2903003703002000412a6a200241c8026a41086a290300370000200041326a200241c8026a41106a2f01003b0000200020083602340c110b200041003a0021200020063a0020200041003a001820004200370308200042023703000c100b41002802cc82d48000118e8080800000200241df066a10c691808000410221010b20004200370300200041003a0018200041086a4200370300200041003a0021200020013a00200c0e0b20012002290390063700002001417e6a220541003b000041bad2c58000410a2001410841002802dc82d4800011838080800000200120052f00006b41002802ec82d4800011818080800000200241043a00a803200241a8036a10f58880800041002802a482d48000118e8080800000200241df066a10c691808000200041003b0120200041003a001820004200370308200042023703000c0d0b4100210120052005417e6a2f00006b41002802ec82d48000118180808000000b200020013a0021200020043a0020200042003703182000420137030820004200370300200020022903f8023700222000412a6a20024180036a290300370000200041326a20024188036a2f01003b00000c0b0b200241e0036a10aa8680800020022903f8052107200229038006210c41002802a482d48000118e8080800000200241df066a10c691808000200041003a00202000200c3703182000200737031020004201370308200042023703000c0a0b4100210120052005417e6a2f00006b41002802ec82d48000118180808000000b200020013a0021200020043a002020004200370318200042013703082000420037030020002002290390033700222000412a6a20024198036a290300370000200041326a200241a0036a2f01003b00000c080b200241e0036a10aa8680800020022903f8052107200229038006210c41002802a482d48000118e8080800000200241df066a10c691808000200041003a00202000200c3703182000200737031020004201370308200042023703000c070b2000200229032037030820004202370300200041206a200241186a41206a290300370300200041186a200241186a41186a290300370300200041106a200241186a41106a2903003703000c060b2000200229036837030820004202370300200041206a200241e0006a41206a290300370300200041186a200241e0006a41186a290300370300200041106a200241e0006a41106a2903003703000c050b200020022903b00137030820004202370300200041206a200241a8016a41206a290300370300200041186a200241a8016a41186a290300370300200041106a200241a8016a41106a2903003703000c040b200020022903f80137030820004202370300200041206a200241f0016a41206a290300370300200041186a200241f0016a41186a290300370300200041106a200241f0016a41106a2903003703000c030b20024181046a200241c0026a2903002207370000200241e0036a41196a200241b8026a290300220c370000200241e0036a41116a200241b0026a290300220d370000200220022903a802220e3700e90320024190066a41196a200737000020024190066a41116a200c37000020024199066a200d3700002002200e37009106200241013a009006200242f7b6fccfd083b2cf4d3700d006200242afd2c6ffdbc495bc083700c806200242fc90b9e5d09296e7773700c006200242a6d4e6f1a4dd9598603700b80620024190066a200241b8066a4120108486808000200241013a008904200241063a00e8032002411e3a00e00341014100200241e0036a10d28d80800041002802a482d48000118e8080800000200241df066a10c691808000200041003a002020004200370308200042023703000c020b20024181046a200241c0026a2903002207370000200241e0036a41196a200241b8026a290300220c370000200241e0036a41116a200241b0026a290300220d370000200220022903a802220e3700e90320024190066a41196a200737000020024190066a41116a200c37000020024199066a200d3700002002200e37009106200241003a009006200242f7b6fccfd083b2cf4d3700d006200242afd2c6ffdbc495bc083700c806200242fc90b9e5d09296e7773700c006200242a6d4e6f1a4dd9598603700b80620024190066a200241b8066a4120108486808000200241003a008904200241063a00e8032002411e3a00e00341014100200241e0036a10d28d80800041002802a482d48000118e8080800000200241df066a10c691808000200041003a00202000410f3b011020004200370308200042023703000c010b200020022903e802370308200020033a0018200020022802e002360019200020053a0021200020043a0020200020022802c802360022200042023703002000411c6a20022800e302360000200041266a20022f01cc023b0000200041106a200241f0026a2903003703000b200241e0066a2480808080000ba70401047f23808080800041106b22022480808080000240024041afe4ca8000411310b691808000220341ff01490d00200041093b0120200041003a001820004200370300200128020022002000280200417f6a220036020020000d01200110ca878080000c010b2002200341016a36020841afe4ca80004113200241086a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022032003280200417f6a220336020020012d0004210420012802282105024020030d00200110ca878080000b02400240200441ff01710d00024020052802082203450d0020052802042204210102402003410171450d00200428020420042802082004280210200428021441002802dc82d4800011838080800000200441186a21010b200341ffffffff01714101460d002004200341186c6a21030340200141046a280200200141086a280200200141106a280200200141146a28020041002802dc82d48000118380808000002001411c6a280200200141206a280200200141286a2802002001412c6a28020041002802dc82d4800011838080800000200141306a22012003470d000b0b4100210141002802a482d48000118e8080800000200041003a001820004200370308200042023703000c010b41002802cc82d48000118e808080000020004200370300200041003a0018200041086a4200370300410221010b200020013a00202002410f6a10c6918080000b200241106a2480808080000bdc0401057f23808080800041106b22022480808080000240024041afe4ca8000411310b691808000220341ff01490d00200041093b0120200041003a001820004200370300200128020022032003280200417f6a220336020020030d01200110ca878080000c010b2002200341016a36020841afe4ca80004113200241086a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022032003280200417f6a220336020020012d0004210420012802282105024020030d00200110ca878080000b02400240200441ff01710d00024020052802082204450d002004417f6a41ffffffff03712106200528020422052101024020044103712203450d00200521010340200141046a280200200141086a280200410028029482d48000118b80808000002001410c6a21012003417f6a22030d000b0b20064103490d0020052004410c6c6a21030340200141046a280200200141086a280200410028029482d48000118b8080800000200141106a280200200141146a280200410028029482d48000118b80808000002001411c6a280200200141206a280200410028029482d48000118b8080800000200141286a2802002001412c6a280200410028029482d48000118b8080800000200141306a22012003470d000b0b4100210141002802a482d48000118e8080800000200041003a001820004200370308200042023703000c010b41002802cc82d48000118e808080000020004200370300200041003a0018200041086a4200370300410221010b200020013a00202002410f6a10c6918080000b200241106a2480808080000b920401057f23808080800041106b22022480808080000240024041afe4ca8000411310b691808000220341ff01490d00200041093b0120200041003a001820004200370300200128020022002000280200417f6a220036020020000d01200110ca878080000c010b2002200341016a36020841afe4ca80004113200241086a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022032003280200417f6a220336020020012d00042104200128022c210520012802282106024020030d00200110ca878080000b0240024002400240200441ff01710d00410021012002200628020422042006280208220341012005280200410028029c82d48000118780808000002002280200410171450d0241002106024020034100480d00024020030d0041012004200310f4978080001a0c040b41002d008083d480001a200341002802f482d480001182808080000022060d02410121060b2006200341c0d9ca800010b980808000000b41002802cc82d48000118e808080000020004200370300200041003a0018200041086a4200370300410221010c020b2006417e6a41003b000020062004200310f49780800041002802ec82d48000118180808000000b41002802a482d48000118e8080800000200041003a001820004200370308200042023703000b200020013a00202002410f6a10c6918080000b200241106a2480808080000bbd0302047f017e23808080800041f0006b22022480808080000240024041afe4ca8000411310b691808000220341ff01490d00200041093b0120200041003a001820004200370300200128020022002000280200417f6a220036020020000d01200110ca878080000c010b2002200341016a36020041afe4ca800041132002410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022032003280200417f6a220336020020012d0004210420012802282105024020030d00200110ca878080000b02400240200441ff01714101460d004102210141cc82d480002103420021060c010b200241216a200141056a220141186a290000370000200241196a200141106a290000370000200241116a200141086a2900003700002002200129000037000941002101200241296a2005280204200528020841002802c480d48000118680808000002002411e3a0000200241053a000841014100200210d28d8080004202210641a482d4800021030b2003280200118e8080800000200020013a0020200041003a00182000420037030820002006370300200241ef006a10c6918080000b200241f0006a2480808080000bd72303017f017e067f2380808080004190116b2202248080808000024002400240024002400240024002400240024002400240024002402001280200417f6a0e050001020304000b2001290308210320012802042104200241386a41206a200141306a290200370300200241386a41186a200141286a290200370300200241386a41106a200141206a290200370300200241c0006a200141186a290200370300200220012902103703382002200436022c2002200337023020022002412c6a3602642002200241306a3602600240024041afe4ca8000411310b691808000220441ff01490d00200228023822012001280200417f6a22053602004100210441092101024020050d00200241386a10ca878080000b0c010b2002200441016a3602800941afe4ca8000411320024180096a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128021021040240024020012d00142205450d00200241a4096a200141346a28000036000020024180096a411d6a2001412d6a29000037000020024195096a200141256a2900003700002002418d096a2001411d6a29000037000020042004280200417f6a2206360200200220053a00840920022004360280092002200129001537008509024020060d0020024180096a10ca878080000b410221010c010b20042004280200417f6a2205360200024020050d00200141106a10ca878080000b2002428fc293ebfcb2d6924037009809200242a697eca999a192e81737009009200242c0c38addfcd9c9c1c40037008809200242c2d5a39edcfaf091cd0037008009200241086a20024180096a412010d0858080000240200228020c410020022802084101711b22072002280234410020022802301b470d0002400240200228022c220820074d0d00034020024180096a410041800810fa978080001a2007220941016a210720024180096a210141002105034041002d008083d480001a410841002802f482d48000118280808000002204450d0d200420093600002004417e6a220641003b00002004200536000420024180016a2004410841002802dc80d4800011868080800000200420062f00006b41002802ec82d4800011818080800000200141186a20024180016a41186a290000370000200141106a20024180016a41106a290000370000200141086a20024180016a41086a2900003700002001200229008001370000200141206a2101200541016a22054120470d000b20024180016a20024180096a41800810f4978080001a20024180096a200910e98680800041002d008083d480001a2002280288092105200228028409210141800841002802f482d48000118280808000002204450d0d2004417e6a220641003b000020012005200420024180016a41800810f497808000220441800841002802dc82d4800011838080800000200420062f00006b41002802ec82d48000118180808000000240200228028009450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b20072008470d000c020b0b200820074f0d00034020024180096a200810e9868080002002280284092201200228028809410028029482d48000118b80808000000240200228028009450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b2007200841016a2208470d000b0b200220022802303a008909200241003a008809200241233a0080094101410020024180096a10d28d808000200228022c21012002428fc293ebfcb2d6924037009809200242a697eca999a192e81737009009200242c0c38addfcd9c9c1c40037008809200242c2d5a39edcfaf091cd0037008009200220013602800120024180096a412020024180016a410441002802dc82d48000118380808000000c0e0b200241e8006a410110d98c80800020022d00682201410f460d0d20022d0078210520022d006921040b200241166a200241fb006a2d00003a00002002200229016a370318200220022f00793b01142002200241f0006a29010037011e41002802cc82d48000118e80808000002002418f116a10c6918080000b200041286a200229011e37010020002002290318370122200020022f01143b0031200041336a200241166a2d00003a0000200020053a0030200020043a0021200020013a0020200041003a0018200042003703000c0c0b2001290308210320024180016a41206a200141306a29020037030020024180016a41186a200141286a29020037030020024180016a41106a200141206a29020037030020024188016a200141186a2902003703002002200129021037038001200220033703302002200241306a3602a8010240024041afe4ca8000411310b691808000220441ff01490d0020022802800122012001280200417f6a22053602004100210441092101024020050d0020024180016a10ca878080000b0c010b2002200441016a3602800941afe4ca8000411320024180096a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128021021040240024020012d00142205450d00200241a4096a200141346a28000036000020024180096a411d6a2001412d6a29000037000020024195096a200141256a2900003700002002418d096a2001411d6a29000037000020042004280200417f6a2206360200200220053a00840920022004360280092002200129001537008509024020060d0020024180096a10ca878080000b410221010c010b20042004280200417f6a2205360200024020050d00200141106a10ca878080000b0240200229033022034280c8afa025560d00200242ecefd7e4f19abeaecc0037009809200242c98dcdf1f0adada9c40037009009200242c0c38addfcd9c9c1c40037008809200242c2d5a39edcfaf091cd00370080092002200337031820024180096a4120200241186a410841002802dc82d48000118380808000002002200229033037039009200241013a008809200241233a0080094101410020024180096a10d28d8080000c0c0b200241386a410210d98c80800020022d00382201410f460d0b20022d0048210520022d003921040b2002412e6a200241cb006a2d00003a00002002200229013a370368200220022f00493b012c2002200241c0006a29010037016e41002802cc82d48000118e80808000002002418f116a10c6918080000b200041286a200229016e37010020002002290368370122200020022f012c3b0031200041336a2002412e6a2d00003a0000200020053a0030200020043a0021200020013a0020200041003a0018200042003703000c0b0b2001290308210320024180016a41206a200141306a29020037030020024180016a41186a200141286a29020037030020024180016a41106a200141206a29020037030020024188016a200141186a2902003703002002200129021037038001200220033703302002200241306a3602a8010240024041afe4ca8000411310b691808000220441ff01490d0020022802800122012001280200417f6a22053602004100210441092101024020050d0020024180016a10ca878080000b0c010b2002200441016a3602800941afe4ca8000411320024180096a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128021021040240024020012d00142205450d00200241a4096a200141346a28000036000020024180096a411d6a2001412d6a29000037000020024195096a200141256a2900003700002002418d096a2001411d6a29000037000020042004280200417f6a2206360200200220053a00840920022004360280092002200129001537008509024020060d0020024180096a10ca878080000b410221010c010b20042004280200417f6a2205360200024020050d00200141106a10ca878080000b0240200229033022034280c8afa025560d00200242988af5b38bd59ae3ad7f37009809200242958ff2c2ebc1eefc7937009009200242c0c38addfcd9c9c1c40037008809200242c2d5a39edcfaf091cd00370080092002200337031820024180096a4120200241186a410841002802dc82d48000118380808000002002200229033037039009200241023a008809200241233a0080094101410020024180096a10d28d8080000c0a0b200241386a410210d98c80800020022d00382201410f460d0920022d0048210520022d003921040b2002412e6a200241cb006a2d00003a00002002200229013a370368200220022f00493b012c2002200241c0006a29010037016e41002802cc82d48000118e80808000002002418f116a10c6918080000b200041286a200229016e37010020002002290368370122200020022f012c3b0031200041336a2002412e6a2d00003a0000200020053a0030200020043a0021200020013a0020200041003a0018200042003703000c0a0b20012802102104200128020821092001280204210741092105024041afe4ca8000411310b691808000220641fe014b0d002002200641016a3602800941afe4ca8000411320024180096a410441002802dc82d480001183808080000041002802e482d48000118e808080000041002802a482d48000118e80808000002002418f116a10c691808000410f21050b02402007450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20042004280200417f6a2209360200024020090d00200141106a10ca878080000b200641ff01490d01200041003a0018200041003a0021420021030c020b2001290308210320024180016a41206a200141306a29020037030020024180016a41186a200141286a29020037030020024180016a41106a200141206a29020037030020024188016a200141186a2902003703002002200129021037038001200220033703302002200241306a3602a8010240024041afe4ca8000411310b691808000220441ff01490d0020022802800122012001280200417f6a22053602004100210441092101024020050d0020024180016a10ca878080000b0c010b2002200441016a3602800941afe4ca8000411320024180096a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128021021040240024020012d00142205450d00200241a4096a200141346a28000036000020024180096a411d6a2001412d6a29000037000020024195096a200141256a2900003700002002418d096a2001411d6a29000037000020042004280200417f6a2206360200200220053a00840920022004360280092002200129001537008509024020060d0020024180096a10ca878080000b410221010c010b20042004280200417f6a2205360200024020050d00200141106a10ca878080000b0240200229033022034280c8afa025560d00200242cfc4f4d18decb3a8d80037009809200242e8afb0b6b9e781b59d7f37009009200242c0c38addfcd9c9c1c40037008809200242c2d5a39edcfaf091cd00370080092002200337031820024180096a4120200241186a410841002802dc82d48000118380808000002002200229033037039009200241033a008809200241233a0080094101410020024180096a10d28d8080000c070b200241386a410210d98c80800020022d00382201410f460d0620022d0048210520022d003921040b2002412e6a200241cb006a2d00003a00002002200229013a370368200220022f00493b012c2002200241c0006a29010037016e41002802cc82d48000118e80808000002002418f116a10c6918080000b200041286a200229016e37010020002002290368370122200020022f012c3b0031200041336a2002412e6a2d00003a0000200020053a0030200020043a0021200020013a0020200041003a0018200042003703000c080b2000420037030842022103410021050b20002003370300200020053a00200c060b4101410810ab80808000000b410141800810ab80808000000b41002802a482d48000118e80808000002002418f116a10c691808000200041003a002020004200370308200042023703000c030b41002802a482d48000118e80808000002002418f116a10c691808000200041003a002020004200370308200042023703000c020b41002802a482d48000118e80808000002002418f116a10c691808000200041003a002020004200370308200042023703000c010b41002802a482d48000118e80808000002002418f116a10c691808000200041003a002020004200370308200042023703000b20024190116a2480808080000bc20702037f027e23808080800041f0006b220224808080800020022001280228290300370300200241086a41206a200141206a290200370300200241086a41186a200141186a290200370300200241086a41106a200141106a290200370300200241086a41086a200141086a29020037030020022001290200370308200220023602300240024002400240024041afe4ca8000411310b691808000220341ff01490d00200228020822012001280200417f6a22033602004109210120030d01200241086a10ca878080000c010b2002200341016a36024c41afe4ca80004113200241cc006a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022032003280200417f6a220336020020012d00042104024020030d00200110ca878080000b410221010240200441ff01714102470d0020024287fabfddaff098b0e500370064200242bba3a3a09cb1a6b27737005c200242ebe5e9f6a0afd08944370054200242f087979bfcb996ebf10037004c200241cc006a412041002802ac82d48000118480808000000d0420024284c1c7b7cda097febb7f3700642002429fbf94a8c1ded8e64f37005c200242ebe5e9f6a0afd08944370054200242f087979bfcb996ebf10037004c200241386a200241cc006a412010e9858080002002290300210520022802384101470d0220022903402206500d02200520065a0d022002410036025c2002410136025020024198e0c5800036024c20024204370254200241cc006a41a0e0c5800010fe80808000000b41002802cc82d48000118e8080800000200241ef006a10c6918080000b200041003a0021200020013a0020200041003a0018200042003703000c010b20024284c1c7b7cda097febb7f3700642002429fbf94a8c1ded8e64f37005c200242ebe5e9f6a0afd08944370054200242f087979bfcb996ebf10037004c20022005370338200241cc006a4120200241386a410841002802dc82d480001183808080000020024287fabfddaff098b0e500370064200242bba3a3a09cb1a6b27737005c200242ebe5e9f6a0afd08944370054200242f087979bfcb996ebf10037004c200241013a0038200241cc006a4120200241386a410141002802dc82d4800011838080800000200229030010cd8680800041002802a482d48000118e8080800000200241ef006a10c691808000200041003a002020004200370308200042023703000b200241f0006a2480808080000f0b2002410036025c20024101360250200241e0e0c5800036024c20024204370254200241cc006a41e8e0c5800010fe80808000000b8c4804017f027e087f037e23808080800041c0046b220224808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012d0000417f6a0e09000102030405060708000b200241b8026a200141246a280200360200200241b0026a2001411c6a290200370300200241a8026a200141146a290200370300200241a0026a2001410c6a29020037030020022001290204370398022001290330210320012903382104200241f8016a200141e8006a29020037030020024180026a200141f0006a29020037030020024188026a200141f8006a29020037030020024190026a20014180016a290200370300200220012902603703f0012002200437037820022003370370200241e0026a200241f0016a41cc0010f4978080001a2002200241f0006a3602ac03024041afe4ca8000411310b691808000220541ff01490d0020022802e00222012001280200417f6a2201360200024020010d00200241e0026a10ca878080000b4100210141092105024020022d0088034102470d00200228028c03450d004100210120022802900322062006417e6a2f00006b41002802ec82d48000118180808000000b0c220b2002200541016a3602a00141afe4ca80004113200241a0016a410441002802dc82d480001183808080000041002802e482d48000118e808080000020022d0088032107200228028c032108200228029003210920012d00642105200128026022062006280200417f6a2206360200024020060d00200141e0006a10ca878080000b0240200541ff01714101460d0041022105200741ff01714102470d202008450d2020092009417e6a2f00006b41002802ec82d48000118180808000000c210b200241e0036a41186a200141fd006a290000370300200241f0036a200141f5006a290000370300200241e8036a200141ed006a290000370300200220012900653703e003200128020c21052001280208210602400240024020012d00040e03020100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410121050c210b20024192046a200141076a2d00003a0000200241a3046a200141186a29000037000020024190046a41186a2001411d6a29000037000020022005360097042002200636009304200220012f00053b0190042002200129001037009b04200241a0016a200241e0036a20024190046a20022903702002290378410010d48c80800020022802a0014101470d0820024188046a20022f01ae013b0100200220022901a6013703800420022d00a4012205410f460d0820022d00a501210120022903b00121030c200b200241f0016a41c8006a200141246a280200360200200241f0016a41c0006a2001411c6a290200370300200241f0016a41386a200141146a290200370300200241f0016a41306a2001410c6a290200370300200241c4026a200141306a290200370200200241cc026a200141386a290200370200200241d4026a200141c0006a290200370200200241dc026a200141c8006a2802003602002002200129020437039802200220012902283702bc022001290350210320012903582104200241f8016a200141e8006a29020037030020024180026a200141f0006a29020037030020024188026a200141f8006a29020037030020024190026a20014180016a290200370300200220012902603703f0012002200437037820022003370370200241e0026a200241f0016a41f00010f4978080001a2002200241f0006a3602d003024041afe4ca8000411310b691808000220541ff01490d0020022802e00222012001280200417f6a2201360200024020010d00200241e0026a10ca878080000b024020022d0088034102470d00200228028c03450d0020022802900322012001417e6a2f00006b41002802ec82d48000118180808000000b4100210141092105024020022d00ac034102470d0020022802b003450d004100210120022802b40322062006417e6a2f00006b41002802ec82d48000118180808000000b0c1e0b2002200541016a3602a00141afe4ca80004113200241a0016a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012d00642105200128026022062006280200417f6a220636020020022802b403210920022802b003210820022d00ac032107200228029003210a200228028c03210b20022d008803210c024020060d00200141e0006a10ca878080000b0240200541ff0171450d0041022105200c41ff01714102470d1b200b450d1b200a200a417e6a2f00006b41002802ec82d48000118180808000000c1b0b200128020c21052001280208210602400240024020012d00040e03020100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410121050c1b0b200241e0036a41026a200141076a2d00003a0000200241e0036a41136a200141186a290000370000200241e0036a41186a2001411d6a290000370000200220053600e703200220063600e303200220012f00053b01e003200220012900103700eb0302400240024020070e03020100010b2008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b410121050c1c0b20024190046a41026a200141296a220541026a2d00003a000020024190046a41136a200141346a220141086a29000037000020024190046a41186a2001410d6a29000037000020022009360097042002200836009304200220052f00003b0190042002200129000037009b04200241a0016a200241e0036a20024190046a20022903702002290378410010d48c80800020022802a0010d180c190b200241b8026a200141246a280200360200200241b0026a2001411c6a290200370300200241a8026a200141146a290200370300200241a0026a2001410c6a29020037030020022001290204370398022001290330210320012903382104200241f8016a200141e8006a29020037030020024180026a200141f0006a29020037030020024188026a200141f8006a29020037030020024190026a20014180016a290200370300200220012902603703f0012002200437037820022003370370200241e0026a200241f0016a41cc0010f4978080001a2002200241f0006a3602ac03024041afe4ca8000411310b691808000220541ff01490d0020022802e00222012001280200417f6a2201360200024020010d00200241e0026a10ca878080000b4100210141092105024020022d0088034102470d00200228028c03450d004100210120022802900322062006417e6a2f00006b41002802ec82d48000118180808000000b0c170b2002200541016a3602a00141afe4ca80004113200241a0016a410441002802dc82d480001183808080000041002802e482d48000118e808080000020022d0088032107200228028c032108200228029003210920012d00642105200128026022062006280200417f6a2206360200024020060d00200141e0006a10ca878080000b0240200541ff01714101460d0041022105200741ff01714102470d152008450d1520092009417e6a2f00006b41002802ec82d48000118180808000000c160b200241e0036a41186a200141fd006a290000370300200241f0036a200141f5006a290000370300200241e8036a200141ed006a290000370300200220012900653703e003200128020c21052001280208210602400240024020012d00040e03020100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410121050c160b20024190046a41026a200141076a2d00003a0000200241a3046a200141186a29000037000020024190046a41186a2001411d6a29000037000020022005360097042002200636009304200220012f00053b0190042002200129001037009b04200241a0016a200241e0036a20024190046a20022903702002290378410210d48c80800020022802a0014101470d0720024188046a20022f01ae013b0100200220022901a6013703800420022d00a4012205410f460d0720022d00a501210120022903b00121030c150b200241b8026a200141246a280200360200200241b0026a2001411c6a290200370300200241a8026a200141146a290200370300200241a0026a2001410c6a290200370300200220012902043703980220012d00012105200241f8016a200141e8006a29020037030020024180026a200141f0006a29020037030020024188026a200141f8006a29020037030020024190026a20014180016a290200370300200220012902603703f001200220053a0008200241e0026a200241f0016a41cc0010f4978080001a2002200241086a3602ac03024041afe4ca8000411310b691808000220541ff01490d0020022802e00222012001280200417f6a2201360200024020010d00200241e0026a10ca878080000b4100210141092105024020022d0088034102470d00200228028c03450d004100210120022802900322062006417e6a2f00006b41002802ec82d48000118180808000000b0c130b2002200541016a3602a00141afe4ca80004113200241a0016a410441002802dc82d480001183808080000041002802e482d48000118e808080000020022d0088032107200228028c032108200228029003210920012d00642105200128026022062006280200417f6a2206360200024020060d00200141e0006a10ca878080000b0240200541ff01714101460d0041022105200741ff01714102470d112008450d1120092009417e6a2f00006b41002802ec82d48000118180808000000c120b200241e0036a41186a200141fd006a290000370300200241f0036a200141f5006a290000370300200241e8036a200141ed006a290000370300200220012900653703e003200241a0016a200241e0036a4102410020022d00081b2207410010d18c808000200128020c21052001280208210602400240024020012d00040e03020100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410121050c120b20022903a801210320022903a001210420024190046a41026a200141076a2d00003a0000200241a3046a200141186a29000037000020024190046a41186a2001411d6a29000037000020022005360097042002200636009304200220012f00053b0190042002200129001037009b04200241a0016a200241e0036a20024190046a20042003200710d48c80800020022802a0014101470d07200241f8006a20022f01ae013b0100200220022901a60137037020022d00a4012205410f460d0720022d00a501210120022903b00121030c110b200241b8026a200141246a280200360200200241b0026a2001411c6a290200370300200241a8026a200141146a290200370300200241a0026a2001410c6a290200370300200241f8016a200141e8006a29020037030020024180026a200141f0006a29020037030020024188026a200141f8006a29020037030020024190026a20014180016a2902003703002002200129020437039802200220012902603703f00120012903302103200220012903383703e803200220033703e003200241e0026a200241f0016a41cc0010f4978080001a2002200241e0036a3602ac030240024041afe4ca8000411310b691808000220541ff01490d0020022802e00222012001280200417f6a2201360200024020010d00200241e0026a10ca878080000b4109210120022d0088034102470d01200228028c03450d0120022802900322052005417e6a2f00006b41002802ec82d48000118180808000000c010b2002200541016a3602a00141afe4ca80004113200241a0016a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012d00642105200128026022062006280200417f6a22063602002002280290032107200228028c03210820022d0088032109024020060d00200141e0006a10ca878080000b02400240200541ff0171450d0041022101200941ff01714102470d012008450d0120072007417e6a2f00006b41002802ec82d48000118180808000000c010b200128020c2105200128020821060240024020012d00040e030b0100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410121010b41002802cc82d48000118e8080800000200241bf046a10c6918080000b200041003a0030200041003a0021200020013a0020200041003a0018200042003703000c1e0b200241186a41086a2001410c6a2802003602002002200129020437031820024180036a20014180016a290200370300200241f8026a200141f8006a290200370300200241f0026a200141f0006a290200370300200241e0026a41086a200141e8006a290200370300200220012902603703e0022002200241186a36028803200241286a200241e0026a10d48780800002402002280218450d00200228021c22012001417e6a2f00006b41002802ec82d48000118180808000000b20022903284202510d0720002002290328370300200041306a200241286a41306a290300370300200041286a200241286a41286a290300370300200041206a200241286a41206a290300370300200041186a200241286a41186a290300370300200041106a200241286a41106a290300370300200041086a200241286a41086a2903003703000c1d0b200241e8016a200141246a280200360200200241e0016a2001411c6a290200370300200241d8016a200141146a290200370300200241d0016a2001410c6a290200370300200241a8016a200141e8006a290200370300200241b0016a200141f0006a290200370300200241b8016a200141f8006a290200370300200241c0016a20014180016a290200370300200220012902043703c801200220012902603703a001200129033021032002200129033837037820022003370370200241f0016a200241a0016a41cc0010f4978080001a2002200241f0006a3602bc02024041afe4ca8000411310b691808000220541ff01490d0020022802f00122012001280200417f6a2201360200024020010d00200241f0016a10ca878080000b4100210141092105024020022d0098024102470d00200228029c02450d004100210120022802a00222062006417e6a2f00006b41002802ec82d48000118180808000000b0c0d0b2002200541016a3602e00241afe4ca80004113200241e0026a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012d00642105200128026022062006280200417f6a220636020020022802a0022107200228029c02210820022d0098022109024020060d00200141e0006a10ca878080000b0240200541ff0171450d0041022105200941ff01714102470d0b2008450d0b20072007417e6a2f00006b41002802ec82d48000118180808000000c0c0b200128020c21052001280208210602400240024020012d00040e03020100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410121050c0c0b20024192046a200141076a2d00003a0000200241a3046a200141186a29000037000020024190046a41186a2001411d6a29000037000020022005360097042002200636009304200220012f00053b0190042002200129001037009b0420024200200229037822032002290370220442f4035441002003501b22011b22033703e80320024200200420011b22043703e003200241e0026a20024190046a4100200241e0036a10ea8c808000024002400240024020022802e0020d00200420022903f002220d56200320022903f802220e562003200e5122011b0d012004200d542003200e5420011b450d022002200d20047d3703e0022002200e20037d200d200454ad7d3703e802200241e0026a10d18d8080000c020b20024188046a20022f01ee023b0100200220022901e6023703800420022d00e4022205410f460d0220022d00e502210120022903f00221030c0e0b20022004200d7d3703e00220022003200e7d2004200d54ad7d3703e802200241e0026a10d38d8080000b20024198036a200241a8046a29010037030020024190036a200241a0046a29010037030020024188036a20024198046a290100370300200220022903e8033703f802200220022903e0033703f002200220022901900437038003200241033a00e00241014100200241e0026a10d28d8080000b41002802a482d48000118e8080800000200241bf046a10c6918080002000411a6a200241e8006a2f01003b010020002002290160370112200041003a00202000410f3a001020004200370308200042023703000c1c0b200129031021032001290318210420012d0001210520024190026a20014180016a29020037030020024188026a200141f8006a29020037030020024180026a200141f0006a290200370300200241f8016a200141e8006a290200370300200220012902603703f001200220053a00e003200220043703980420022003370390042002200241e0036a36029c02200220024190046a360298020240024041afe4ca8000411310b691808000220541ff01490d0020022802f00122012001280200417f6a22063602004100210541092101024020060d00200241f0016a10ca878080000b0c010b2002200541016a3602e00241afe4ca80004113200241e0026a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012d00642105200128026022062006280200417f6a2206360200024020060d00200141e0006a10ca878080000b410221010240200541ff01710d00024002402002290390042002290398048450450d00410c21010c010b200241e0026a10d98880800020022903e802210320022903e0022104200229039804210d200229039004210e0240024020022d00e0034101470d0042002003200d7d2004200e54ad7d220d2004200e7d220f200456200d200356200d2003511b22011b210e4200200f20011b210d0c010b427f2003200d7c2004200e7c220d2004542201ad7c220e2001200e200354200e2003511b22011b210e427f200d20011b210d0b200241e0026a10da8880800020022903e002200d5620022903e802220f200e56200f200e511b450d09410b21010b200241a0016a200110e68c80800020022d00a0012201410f460d090b2002418e016a200241b3016a2d00003a0000200220022901a20137039001200220022f00b1013b018c012002200241a8016a2901003701960120022d00a101210520022d00b001210641002802cc82d48000118e8080800000200241bf046a10c6918080000b200041286a2002290196013701002000200229039001370122200020022f018c013b0031200041336a2002418e016a2d00003a0000200020063a0030200020053a0021200020013a0020200041003a0018200042003703000c1b0b20012d00012105200129031021032001290318210420024180036a20014180016a290200370300200241f8026a200141f8006a290200370300200241f0026a200141f0006a290200370300200241e8026a200141e8006a290200370300200220012902603703e00220022004370398042002200337039004200220053a008004200220024190046a36028c03200220024180046a360288030240024041afe4ca8000411310b691808000220541ff01490d0020022802e00222012001280200417f6a22063602004100210541092101024020060d00200241e0026a10ca878080000b0c010b2002200541016a3602f00141afe4ca80004113200241f0016a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012d00642105200128026022062006280200417f6a2206360200024020060d00200141e0006a10ca878080000b02400240200541ff01714101460d00410221010c010b200241b8016a200141fd006a290000370300200241b0016a200141f5006a290000370300200241a0016a41086a200141ed006a290000370300200220012900653703a001200241f0016a200241a0016a2002290390042002290398044102410020022d0080041b4100410010d68c80800020022802f0014101470d09200241e0036a41086a20022f01fe013b0100200220022901f6013703e00320022d00f4012201410f460d0920022d00f501210520022903800221030b200241f0006a41086a200241e0036a41086a2f01003b0100200220022903e00337037041002802cc82d48000118e8080800000200241bf046a10c6918080000b2000412a6a200241f8006a2f01003b010020002002290370370122200041336a2003422888a722064110763a0000200020063b0031200020034220883c0030200020033e022c200020053a0021200020013a0020200041003a0018200042003703000c1a0b41002802a482d48000118e8080800000200241bf046a10c691808000200041003a002020004200370308200042023703000c190b41002802a482d48000118e8080800000200241bf046a10c691808000200041003a002020004200370308200042023703000c180b41002802a482d48000118e8080800000200241bf046a10c691808000200041003a00202000410f3a001020004200370308200042023703000c170b200241a2016a200141076a2d00003a0000200241b3016a200141186a290000370000200241a0016a41186a2001411d6a290000370000200220053600a701200220063600a301200220012f00053b01a001200220012900103700ab0120024190046a200241a0016a20022903e00320022903e80310e58c80800041002802a482d48000118e8080800000200241bf046a10c691808000200041003a00202000410f3b011020004200370308200042023703000c160b2000200229033037030820004202370300200041206a200241286a41206a290300370300200041186a200241286a41186a290300370300200041106a200241286a41106a2903003703000c150b200d200e10e7888080002002200e370388032002200d37038003200220033703f802200220043703f002200241173a00e00241014100200241e0026a10d28d8080000b41002802a482d48000118e8080800000200241bf046a10c691808000200041003a00202000410f3a001020004200370308200042023703000c130b41002802a482d48000118e8080800000200241bf046a10c691808000200041003a00202000410f3a001020004200370308200042023703000c120b0b200241e0006a41086a20024180046a41086a2f01003b0100200220022903800437036041002802cc82d48000118e8080800000200241bf046a10c6918080000b200041336a2003422888a722064110763a0000200020063b00312000412a6a200241e8006a2f01003b010020002002290360370122200020034220883c0030200020033e022c200020013a0021200020053a0020200041003a0018200042003703000c0f0b0b20024180046a41086a200241f0006a41086a2f01003b0100200220022903703703800441002802cc82d48000118e8080800000200241bf046a10c6918080000b2000412a6a20024188046a2f01003b01002000200229038004370122200041336a2003422888a722064110763a0000200020063b0031200020034220883c0030200020033e022c200020013a0021200020053a0020200041003a0018200042003703000c0c0b0b200241086a41086a20024180046a41086a2f01003b0100200220022903800437030841002802cc82d48000118e8080800000200241bf046a10c6918080000b2000412a6a200241106a2f01003b010020002002290308370122200041336a2003422888a722064110763a0000200020063b0031200020034220883c0030200020033e022c200020013a0021200020053a0020200041003a0018200042003703000c090b20024180046a41086a20022f01ae013b0100200220022901a6013703800420022d00a4012205410f460d0020022d00a501210120022903b00121030c030b41002802a482d48000118e8080800000200241bf046a10c691808000200041003a002020004200370308200042023703000c070b20074102470d002008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000c010b0b200241086a41086a20024180046a41086a2f01003b0100200220022903800437030841002802cc82d48000118e8080800000200241bf046a10c6918080000b2000412a6a200241106a2f01003b010020002002290308370122200041336a2003422888a722064110763a0000200020063b0031200020034220883c0030200020033e022c200020013a0021200020053a0020200041003a0018200042003703000c030b0b200241086a41086a20024180046a41086a2f01003b0100200220022903800437030841002802cc82d48000118e8080800000200241bf046a10c6918080000b2000412a6a200241106a2f01003b010020002002290308370122200041336a2003422888a722064110763a0000200020063b0031200020034220883c0030200020033e022c200020013a0021200020053a0020200041003a0018200042003703000b200241c0046a2480808080000bce0301057f23808080800041106b22022480808080000240024041afe4ca8000411310b691808000220341ff01490d00200041093b0120200041003a001820004200370300200128020022032003280200417f6a220336020020030d01200110ca878080000c010b2002200341016a36020841afe4ca80004113200241086a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022032003280200417f6a220336020020012d0004210420012802282105024020030d00200110ca878080000b02400240200441ff01714101470d0041002103024020052802082201450d002001410574210420052802042103410021010340200141016a2206417f20061b2001200310cd8c8080001b2101200341206a2103200441606a22040d000b4101210320052802082204450d00200120044b0d002001ad428094ebdc037e2004ad8042ffd193ad035621030b41002802a482d48000118e8080800000200041003a001820004200370308200042023703000c010b41002802cc82d48000118e808080000020004200370300200041003a0018200041086a4200370300410221030b200020033a00202002410f6a10c6918080000b200241106a2480808080000b844f060a7f017e027f047e0e7f027e23808080800041b00b6b220224808080800002400240024002400240024002400240024002400240024002402001280200418080808078460d00200241ec016a200141d4006a280200360200200241c0006a413c6a2001413c6a280200360200200241c0006a41f8006a200141c8006a280200360200200241c0006a41c8006a200141e0006a29020037030020024190016a200141e8006a2902003703002002200129024c3702e40120022001290234370274200220012902403703b0012002200129025837038001200241c0006a41e8006a20014180016a290200370300200241c0006a41e0006a200141f8006a290200370300200241c4016a20014190016a290200370200200241cc016a20014198016a290200370200200241d4016a200141a0016a290200370200200241dc016a200141a8016a290200370200200241c0006a41086a200141086a290200370300200241c0006a41106a200141106a290200370300200241c0006a41186a200141186a290200370300200241c0006a41206a200141206a290200370300200241c0006a41286a200141286a290200370300200241c0006a41306a200141306a280200360200200220012902703703980120022001290288013702bc0120022001290200370340200241f0016a200241c0006a41b00110f4978080001a02400240024041afe4ca8000411310b691808000220341ff01490d0020022802ec0222012001280200417f6a2201360200024020010d00200241ec026a10ca878080000b024020022802f001450d0020022802f40122012001417e6a2f00006b41002802ec82d48000118180808000000b20024194036a10a68880800020022802a8022104024020022802ac022205450d0041002106034002402004200641f0006c6a22072802082203450d00200728020421010340024020012d0000220841034b0d002001200841027441d080c680006a2802006a2208280200450d00200841046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012003417f6a22030d000b0b02402007280200450d00200728020422012001417e6a2f00006b41002802ec82d48000118180808000000b200641016a22062005470d000b0b024020022802a402450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b024020022802e0022201418080808078460d002001450d0020022802e40222012001417e6a2f00006b41002802ec82d48000118180808000000b20022802b4022106024020022802b8022201450d002001410171210441002103024020014101460d002001417e7121072006210141002103034002402001280200450d00200141046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012007200341026a2203470d000b0b2004450d00200620034104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802b002450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b024020022802bc02450d0020022802c00222012001417e6a2f00006b41002802ec82d48000118180808000000b20022802cc022106024020022802d0022208450d002008410171210441002103024020084101460d002006411c6a21012008417e7121074100210303400240200141686a280200450d002001416c6a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141286a21012007200341026a2203470d000b0b2004450d002006200341146c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802c802450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b4109210120022802d402450d0120022802d80222032003417e6a2f00006b41002802ec82d48000118180808000000c010b2002200341016a3602b00741afe4ca80004113200241b0076a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241a0036a200241c0006a41b00110f4978080001a20012802880122032003280200417f6a220336020020012d008c012108024020030d0020014188016a10ca878080000b200841ff01714102460d01024020022802a003450d0020022802a40322012001417e6a2f00006b41002802ec82d48000118180808000000b200241c4046a10a68880800020022802d8032104024020022802dc032205450d0041002106034002402004200641f0006c6a22072802082203450d00200728020421010340024020012d0000220841034b0d002001200841027441d080c680006a2802006a2208280200450d00200841046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012003417f6a22030d000b0b02402007280200450d00200728020422012001417e6a2f00006b41002802ec82d48000118180808000000b200641016a22062005470d000b0b024020022802d403450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402002280290042201418080808078460d002001450d0020022802940422012001417e6a2f00006b41002802ec82d48000118180808000000b20022802e4032106024020022802e8032201450d002001410171210441002103024020014101460d002001417e7121072006210141002103034002402001280200450d00200141046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012007200341026a2203470d000b0b2004450d00200620034104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802e003450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b024020022802ec03450d0020022802f00322012001417e6a2f00006b41002802ec82d48000118180808000000b20022802fc03210602402002280280042208450d002008410171210441002103024020084101460d002006411c6a21012008417e7121074100210303400240200141686a280200450d002001416c6a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141286a21012007200341026a2203470d000b0b2004450d002006200341146c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802f803450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b0240200228028404450d0020022802880422012001417e6a2f00006b41002802ec82d48000118180808000000b41002802cc82d48000118e8080800000200241af0b6a10c691808000410221010b200041286a200241386a29010037010020002002290132370122200020022f002f3b0031200041336a200241316a2d00003a0000200041003a0021200020013a0020200041003a0018200042003703000c0c0b200242a9a5c4bef894cdeee7003700c807200242d4c584efa7e5bfee643700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b007200241b0076a412041002802ac82d48000118480808000000d03200241d0046a41086a200141086a290200370300200241d0046a41306a200141306a280200360200200241d0046a41286a200141286a290200370300200241d0046a41206a200141206a290200370300200241d0046a41186a200141186a290200370300200241d0046a41106a2203200141106a290200370300200220012902003703d004200128024c210820012802502109200128025421072001280234210a20012802382104200128023c2105200228029004210b200229029404210c20022802dc04210d200242cce78dfda8f884f6bd7f3700c807200242a2f98685b9fa9aec343700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b007200241206a200241b0076a412010d08580800002402002280220410171450d002002280224200d4b0d020b200242d8c192ad8deac8dd3f3700c80720024284ceb68ad8c4c79c8f7f3700c007200242e7eacab6b7c9acbc263700b8072002428de2fdb2e288b2fcd7003700b007200241186a200241b0076a412010d08580800020022802182101200228021c21060240024020070d00200241003602900520024100360288050c010b2008450d0320024188056a2008200910c0898080000b200241b0076a200641e40020014101711b200241a0036a41106a20024188056a10818280800020022802b809418080808078460d0420024188056a200241b0076a41a80210f4978080001a200241013602b40a200241b0076a20024188056a41c4d1c28000412010e78280800002400240024020022802b0072201418180808078470d00410021010c010b02402001418080808078470d00410221010c010b20022f00b507200241b7076a2d00004110747241087420022d00b407722106024020022802b807220e4108490d002006290000210f0b02402001450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200e41074b0d01410121010b200220013a00b107200241033a00b00741cce4c58000411f200241b0076a41bce4c5800041ece4c5800010a981808000000b2002200f3703b80a200242b0f2f7f283ece7d10b3700c807200242cbf2abd1d7a8b9e0d7003700c00720024284c2b1b3ef9292841e3700b807200242bce2f4b8c5daf6fa293700b007200241d80a6a200241b0076a412010f0858080000240024020022802d80a4101470d00024020022903e00a2210200f520d0020022802e80a21012002200f3703c00a200220013602cc0a200141014d0d02200241033602dc0a20024194e4c580003602d80a200242033702e40a200241a382808000ad422086220f200241b40a6aad843703c0072002200f200241cc0a6aad843703b807200241a482808000ad422086200241c00a6aad843703b0072002200241b0076a3602e00a200241d80a6a41ace4c5800010fe80808000000b2010200f5a0d070b2002200f3703c00a410021010b200f200141016a10e688808000200242e9c5fea9cdfbc4d26d3700c80720024286aaece2939beae4653700c00720024289df9d82f3818192383700b807200242d7f0f3fea28baccae7003700b007200241d80a6a200241b0076a412010e9858080002002200f420042f02e420010fc97808000200220022903e00a420020022802d80a1b220f3703d00a200242d2e2d98fbe86bb05200229030042f02e8020022903084200521b22103703880b200f2010520d06200241b0076a20024188056a410310a58780800020022903b807211120022903b0072112200241b0076a41186a200341186a290200370300200241b0076a41106a200341106a290200370300200241b0076a41086a2201200341086a2902003703002002200d3602d007200220032902003703b007200241d80a6a41086a2203200241b0076a108b8c808000200241013a00d80a200241d2a0cd92053600d90a200241d80a6a10f588808000200241d80a6a20024188056a10848280800020022d00d80a410f470d07200220022d00d90a22013a00e209200242dff88396b8eeb3817c3700c80720024283e3ced79d99b9c6c4003700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b007200241d80a6a200241b0076a412010ec85808000024020022802d80a4102460d0020022d00f40a2103200241e80a6a10ad8880800020034102460d00200220033a00e3090240200141ff01714102460d0020014101712003460d0c0b200241003602b0074100200241e2096a200241e3096a200241b0076a41d8f5c5800010b987808000000b200141ff01714102460d0a2001410171450d0820024286f68fbaaaa6a6a6323700c80720024290a3c7c38f88c6c34f3700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b00741002106200241b0076a412041002802ac82d4800011848080800000450d0920024286f68fbaaaa6a6a6323700c80720024290a3c7c38f88c6c34f3700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b007200241d80a6a200241b0076a412010e785808000410121034101210e024020022802d80a2213418080808078460d00200241b0076a4120410028029482d48000118b8080800000201345210e20022802e00a210620022802dc0a21030b41c8cfc7800041052003200641002802dc82d4800011838080800000200241043a00b007200241b0076a10f5888080002002411e3a00b007200241023a00b80741014100200241b0076a10d28d8080002002200d3602bc07200241013a00b8072002411f3a00b00741014100200241b0076a10d28d808000200e0d0a20032003417e6a2f00006b41002802ec82d48000118180808000000c0a0b2001280204210820012802082103200128020c2107200241dc076a200141a8016a290200370200200241d4076a200141a0016a290200370200200241cc076a20014198016a290200370200200241c4076a20014190016a290200370200200220073602b807200220033602b407200220083602b00720022001290288013702bc0702400240024041afe4ca8000411310b691808000220741ff01490d0020022802bc0722012001280200417f6a2201360200024020010d00200241bc076a10ca878080000b410921012008450d0120032003417e6a2f00006b41002802ec82d48000118180808000000c010b2002200741016a3602880541afe4ca8000411320024188056a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012802880122072007280200417f6a220736020020012d008c012106024020070d0020014188016a10ca878080000b200641ff0171450d0102402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b41002802cc82d48000118e8080800000200241af0b6a10c691808000410221010b200041003a0021200020013a0020200041003a0018200042003703000c0b0b200241a0036a41086a200141046a220141086a280200360200200220012902003703a00320024188056a200241a0036a10a18780800041002802a482d48000118e8080800000200241af0b6a10c691808000200041003a002020004200370308200042023703000c0a0b200241003602c007200241013602b40720024184edc280003602b007200242043702b807200241b0076a418cedc2800010fe80808000000b41949cc6800010a081808000000b200241003602c007200241013602b407200241a0f9c580003602b007200242043702b807200241b0076a41a8f9c5800010fe80808000000b20024188056a41086a200241b0076a41086a280200360200200220022903b0073703880541bcf8c58000411f20024188056a41bce4c5800041dcf8c5800010a981808000000b200220103703d00a200241023602b407200241b0e1c580003602b007200242023702bc07200241a482808000ad422086220f200241b80a6aad843703900b2002200f200241d00a6aad843703880b2002200241880b6a3602b807200241b0076a4198e2c5800010fe80808000000b200241043602dc0a2002418ce3c580003602d80a200242043702e40a200241a482808000ad422086220f200241c00a6aad843703c807200241a382808000ad422086200241b40a6aad843703c0072002200f200241880b6aad843703b8072002200f200241d00a6aad843703b0072002200241b0076a3602e00a200241d80a6a41ace3c5800010fe80808000000b20012003280200360200200220022902d80a3703b007418cf8c58000411f200241b0076a41bce4c5800041acf8c5800010a981808000000b20024286f68fbaaaa6a6a6323700c80720024290a3c7c38f88c6c34f3700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b007200241b0076a4120410028029482d48000118b8080800000200241023a00b8072002411f3a00b00741014100200241b0076a10d28d8080000c010b200241003602c007200241013602b407200241b4f6c580003602b007200242043702b807200241b0076a41bcf6c5800010fe80808000000b200241d80a6a20024188056a108582808000024020022d00d80a410f460d00200241b0076a41086a200241d80a6a41086a280200360200200220022902d80a3703b00741d8f7c580004122200241b0076a41bce4c5800041fcf7c5800010a981808000000b20022d00d90a10ef88808000200110e588808000200241b0076a20024188056a41a4d1c28000412010e78280800002400240024020022802b0072201418180808078470d00410021010c010b02402001418080808078470d00410221010c010b200241b7076a2d0000210320022f00b507210620022d00b407210d200220022802b80736028c0b2002200d200620034110747241087472220d3602880b200241b0076a200241880b6a10d982808000024020022802b007220e0d00200241d80a6a41086a200241be076a290100370300200241e80a6a200241c6076a290100370300200241f00a6a200241ce076a290100370300200241f80a6a200241d6076a290100370300200241800b6a200241de076a2f01003b0100200220022901b6073703d80a20022d00b507210320022d00b40721060b02402001450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b200e450d01410121010b200220013a00b107200241063a00b0074190f7c580004135200241b0076a41bce4c5800041c8f7c5800010a981808000000b2002418e0a6a200241d80a6a41286a2f01003b0100200241860a6a200241d80a6a41206a290300370100200241fe096a200241d80a6a41186a290300370100200241f6096a200241d80a6a41106a290300370100200241ee096a200241d80a6a41086a2201290300370100200220022903d80a3701e609200220033a00e509200220063a00e409200241b0076a20024188056a200241e4096a10828280800020022802b0072214418080808078460d01200241900a6a41086a2201200241b0076a41206a2203290200370300200241900a6a41106a2206200241b0076a41286a220d290200370300200241900a6a41186a220e200241e0076a2213290200370300200220022902c8073703900a20022802c407211520022802c007211620022802bc07211720022802b407211820022802e807211920022802ec07211a20022802b807211b2002200241d0046a3602d80a200242a9a5c4bef894cdeee7003700c807200242d4c584efa7e5bfee643700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b007200241d80a6a200241b0076a412010c185808000200220073602b807200220093602b407200220083602b007200241b0076a10de888080002013200e290300370200200d200629030037020020032001290300370200200220022903900a3702c807201bad423c7e220fa7211c41002101024002400240200f422088a70d00201c41fcffffff074b0d000240201c0d004104211d0c030b41002d008083d480001a201c41002802f482d480001182808080000022010d01410421010b2001201c41b8b2c8800010b980808000000b2001200141036a417c71221d20016b22036a417e6a20033b0000201b450d00201841196a211e4100210820182103201b21060340201c2008460d012003280214210d20032802102109200328020c210e200328020821132003280204211f2003280200212041002107024020032d00184101470d00200241d80a6a41186a201e20086a220141186a290000370300200241d80a6a41106a200141106a290000370300200241d80a6a41086a200141086a290000370300200220012900003703d80a410121070b2003413c6a2103200241880b6a41186a200241d80a6a41186a290300220f370300200241880b6a41106a200241d80a6a41106a2903002210370300200241880b6a41086a200241d80a6a41086a2903002221370300200220022903d80a22223703880b201d20086a22012020360200200141186a20073a0000200141146a200d360200200141106a20093602002001410c6a200e360200200141086a2013360200200141046a201f360200200141196a2022370000200141216a2021370000200141296a2010370000200141316a200f3700002008413c6a21082006417f6a22060d000b0b2002201b3602b8072002201d3602b4072002201b3602b0072015ad423c7e220fa7211c41002101024002400240200f422088a70d00201c41fcffffff074b0d000240201c0d004104211d0c030b41002d008083d480001a201c41002802f482d480001182808080000022010d01410421010b2001201c41b8b2c8800010b980808000000b2001200141036a417c71221d20016b22036a417e6a20033b00002015450d00201641196a211e4100210820162103201521060340201c2008460d012003280214210d20032802102109200328020c210e200328020821132003280204211f2003280200212041002107024020032d00184101470d00200241d80a6a41186a201e20086a220141186a290000370300200241d80a6a41106a200141106a290000370300200241d80a6a41086a200141086a290000370300200220012900003703d80a410121070b2003413c6a2103200241880b6a41186a200241d80a6a41186a290300220f370300200241880b6a41106a200241d80a6a41106a2903002210370300200241880b6a41086a200241d80a6a41086a2903002221370300200220022903d80a22223703880b201d20086a22012020360200200141186a20073a0000200141146a200d360200200141106a20093602002001410c6a200e360200200141086a2013360200200141046a201f360200200141196a2022370000200141216a2021370000200141296a2010370000200141316a200f3700002008413c6a21082006417f6a22060d000b0b2002201a3602ec07200220193602e807200220153602c4072002201d3602c007200220153602bc07200241b0076a10e188808000200241b0076a41286a200241e4096a41286a280200360200200241b0076a41206a200241e4096a41206a290200370300200241b0076a41186a200241e4096a41186a290200370300200241b0076a41106a2201200241e4096a41106a290200370300200241b0076a41086a2203200241e4096a41086a290200370300200220022902e4093703b007200241b0076a10e8888080000240200b418080808078460d002002200c3702b4072002200b3602b007200241d80a6a200241b0076a10ff84808000200241d80a6a10f38880800020022802b0072208418080808078460d002008450d0020022802b40722082008417e6a2f00006b41002802ec82d48000118180808000000b2001200241f0036a2902003703002003200241e8036a290200370300200220022902e0033703b007200241d80a6a200241900a6a200241b0076a10a78780800020022903d80a210f20022903e00a2110200120024188046a290200370300200320024180046a290200370300200220022902f8033703b007200241d80a6a2018201b200241b0076a20022802dc0410a88780800020022903d80a21212002427f427f201120107c221020102011541b221020022903e00a7c222220222010541b3703b8072002427f2021427f2012200f7c220f200f2012541b220f7c22102010200f541b3703b007200241023a00d80a200241b0076a200241d80a6a10ff8880800002402014450d0020182018417e6a2f00006b41002802ec82d48000118180808000000b02402017450d0020162016417e6a2f00006b41002802ec82d48000118180808000000b024020022802d4062206450d00024020022802dc062207450d0020022802d006220341086a21012003290300427f8542808182848890a0c0807f83210f03400240200f4200520d000340200341807d6a21032001290300210f200141086a22082101200f42808182848890a0c0807f83220f42808182848890a0c0807f510d000b200f42808182848890a0c0807f85210f200821010b200f427f7c2110024020034100200f7aa74103766b41306c6a220841706a280200450d00200841746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b2010200f83210f2007417f6a22070d000b0b2006200641306c41376a41707122016a4177460d0020022802d00620016b22012001417e6a2f00006b41002802ec82d48000118180808000000b0240200228029007450d0020022802940722012001417e6a2f00006b41002802ec82d48000118180808000000b0240200228028c052201418080808078460d0002402001450d0020022802900522012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802d4052201418080808078460d002001450d0020022802d80522012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802e0052201418080808078460d002001450d0020022802e40522012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802a0052203450d00200228029c0541086a210103402001280200220820082802002208417f6a360200024020084101470d00200110de8f8080000b200141306a21012003417f6a22030d000b0b0240200228029805450d00200228029c0522012001417e6a2f00006b41002802ec82d48000118180808000000b20022802cc054129490d0020022802a40522012001417e6a2f00006b41002802ec82d48000118180808000000b02402005450d0041002106034002402004200641f0006c6a22072802082203450d00200728020421010340024020012d0000220841034b0d002001200841027441d080c680006a2802006a2208280200450d00200841046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012003417f6a22030d000b0b02402007280200450d00200728020422012001417e6a2f00006b41002802ec82d48000118180808000000b200641016a22062005470d000b0b0240200a450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b024020022802d004450d0020022802d40422012001417e6a2f00006b41002802ec82d48000118180808000000b41002802a482d48000118e8080800000200241af0b6a10c6918080002000420037030820002002290132370112200041186a200241386a290100370100200041003a0020200020022f002f3b0021200041236a200241316a2d00003a0000200042023703000b200241b00b6a2480808080000f0b2001200241bc076a280200360200200220022902b4073703d80a41ccf6c580004132200241d80a6a41bce4c580004180f7c5800010a981808000000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000bbc0201047f23808080800041306b22022480808080002002200036020c410121000240200128020022034184fbc5800041042001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110ab858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ab858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000be40501047f2380808080004190016b22012480808080002001429fc0cdd7f5aecec98b7f370016200142f5cdd4baf8c9bf885937000e200141cc006a2001410e6a411041002802bc82d480001186808080000002400240200128024c2202418080808078460d0020012802502103024020012802544110490d002001410e6a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d0120004200370300200041086a42003703000c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b011e41002102024041002802b483d4800041024d0d002001410d3602242001418ce7c48000360220200141a582808000ad4220862001411e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370284012001410336027c200141ccd3c5800036027820014116360274200141abd1c580003602702001410336026c200141d8d0c58000ad4280808080b00a8437026420014100360260200141c1d1c58000ad4280808080d004843702582001410036025420014281808080a00737024c2002419cf4ca8000200441024622041b28021021022001200141286a36028001200341b4f4ca800020041b200141cc006a2002118b808080000020012f011e21020b200141cc006a418ce7c48000410d41002802d480d4800011868080800000200141cc006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141cc006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141cc006a41086a2900003703002001200129004c370328200120023b014c200141286a4120200141cc006a410241002802dc82d4800011838080800000200041086a4200370300200042003703000b20014190016a2480808080000bbc0201047f23808080800041306b22022480808080002002200036020c4101210002402001280200220341ccfbc58000410e2001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110a5858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a5858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000b870601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c2002280250280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210c987808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210c9878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b870601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c2002280238280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210d187808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210d1878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b870601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c2002280250280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210cc87808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210cc878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b880601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c200228029001280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210d387808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210d3878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b870601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c2002280234280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210df87808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210df878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b8b1102067f017e23808080800041f0006b220224808080800002400240024002400240024002400240024002400240024002400240024002400240200128020022034182808080786a41012003418480808078481b417f6a0e05000102030c000b200128020c21040240024041afe4ca8000411310b691808000220541ff01490d00410921062003450d01200128020422032003417e6a2f00006b41002802ec82d48000118180808000000c010b2002200541016a36022041afe4ca80004113200241206a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012802082107200128020421062002428ba4f08ac7ad89c4ad7f370038200242d7c9cea6cfa8b4c4a47f370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b37002020062007200241206a412010b28380800002402003450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b41002802a482d48000118e8080800000200241ef006a10c691808000410f21060b20042004280200417f6a2203360200024020030d002001410c6a10ca878080000b200541fe014d0d03200041003a0021200041003a0018420021080c040b200128020c210341092104024041afe4ca8000411310b691808000220541fe014b0d002002200541016a36022041afe4ca80004113200241206a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241c8006a41f0fec58000410610f791808000200241d4006a41f6fec58000410610f791808000200241e0006a41e5fec58000410541e0fec580004105410028029c81d480001187808080000002402002280260418080808078460d00200241086a41086a200241e0006a41086a280200220436020020022002290260370308200420022802502206470d0d200228024c200228020c2204200610f5978080000d0d2002280208450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241e0006a41eafec58000410641e0fec580004105410028029c81d4800011878080800000024002402002280260418080808078470d00200228025c2106200228025821040c010b200241086a41086a200241e0006a41086a2802002204360200200220022902603703082004200228025c2206470d0e20022802582204200228020c2207200610f5978080000d0e2002280208450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b41e5fec58000410541e0fec580004105200228024c200228025041002802bc81d48000118d808080000041eafec58000410641e0fec5800041052004200641002802bc81d48000118d808080000002402002280254450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402002280248450d00200228024c22042004417e6a2f00006b41002802ec82d48000118180808000000b41002802a482d48000118e8080800000200241ef006a10c691808000410f21040b20032003280200417f6a2206360200024020060d002001410c6a10ca878080000b200541fe014d0d04200041003a0021200041003a0018420021080c050b200128020c210341092104024041afe4ca8000411310b691808000220541fe014b0d002002200541016a36022041afe4ca80004113200241206a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241206a41f0ffc58000411141002802b482d4800011868080800000024020022802202204450d002002412c6a200228022420022802282004280210118680808000000b41002d008083d480001a418080c00241002802f482d48000118280808000002204450d0d2004417e6a4100418280c00210fa97808000210641f0ffc5800041112004418080c00241002802dc82d4800011838080800000200420062f00006b41002802ec82d480001181808080000041002802a482d48000118e8080800000200241ef006a10c691808000410f21040b20032003280200417f6a2206360200024020060d002001410c6a10ca878080000b200541fe014d0d05200041003a0021200041003a0018420021080c060b200128020c210320022001280204360208200241206a200241086a10e28780800020032003280200417f6a2204360200024020040d002001410c6a10ca878080000b20022d0020410f460d0620002002290220370220200020022f00313b0031200041286a200241286a290200370200200041336a200241336a2d00003a000020022d00302101200041003a001842002108413021030c070b2000420037030841002106420221080b200020063a0020200020083703000c0a0b2000420037030841002104420221080b200020043a0020200020083703000c080b2000420037030841002104420221080b200020043a0020200020083703000c060b200042003703084202210841002101412021030b20002008370300200020036a20013a00000c040b2001280204210441202103200241206a41206a2001412c6a290200370300200241386a200141246a290200370300200241306a2001411c6a290200370300200241206a41086a200141146a2902003703002002200129020c370320200241086a200241206a200410ad8e8080000240024020022d0008410f460d0020002002290208370220200020022f00193b0031200041286a200241086a41086a290200370200200041336a2002411b6a2d00003a000020022d00182101200041003a001842002108413021030c010b2000420037030842022108410021010b20002008370300200020036a20013a00000c030b200241003602204100200241c8006a200241086a200241206a41d0ffc5800010ba87808000000b200241003602204100200241d4006a200241086a200241206a41e0ffc5800010ba87808000000b4101418080c002418480c6800010b980808000000b200241f0006a2480808080000b870601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c200228022c280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210d287808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210d2878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b880601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c20022802b001280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210d587808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210d5878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b940201037f23808080800041106b22022480808080000240024041afe4ca8000411310b691808000220341ff01490d00200041093b01000c010b2002200341016a36020041afe4ca800041132002410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020021034100210103402002200110e8868080002002280204220420022802084101410041002802dc82d480001183808080000002402002280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b0240200120034f0d00200120012003496a220120034d0d010b0b41002802a482d48000118e80808000002000410f3a00002002410f6a10c6918080000b200241106a2480808080000ba20603037f037e027f23808080800041206b220124808080800041002d008083d480001a024002400240413041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202417e6a20033b00004100410035028483d4800042c4e6c11b85200141086aad22047e200442ae94e698017e4220898522053e028483d480002005422088220642a2f0a4a00a7e200542ffffffff0f83220542d0e3fccc027e85200642d0e3fccc027e200542a2f0a4a00a7e85422089852105024041002d00a883d480004102460d0010c2908080000b200141146a4100290388e7c5800037020041002d00c883d480002103200241003602082002428180808010370300200220053703202002411c6a200141086a41106a28020036020020014100290380e7c5800037020c200241146a200141106a2902003702002002200129020837020c200241b883d48000410020034102461b36022841002d008083d480001a411041002802f482d48000118280808000002203450d012003200341036a417c7120036b22076a2208420037020820084281808080103702002008417e6a20073b000041002d008083d480001a413041002802f482d48000118280808000002203450d022003200341076a41787120036b22076a2203417e6a20073b00004100410035028483d4800042c4e6c11b8520047e200442ae94e698017e4220898522043e028483d48000024041002d00a883d480004102460d0010c2908080000b200141146a4100290388e7c5800037020041002d00c883d48000210720034100360208200342818080801037030020014100290380e7c5800037020c2003200129020837020c200341146a200141106a2902003702002003411c6a200141186a280200360200200341b883d48000410020074102461b36022820032004422088220542a2f0a4a00a7e200442ffffffff0f83220442d0e3fccc027e85200542d0e3fccc027e200442a2f0a4a00a7e8542208985370320200020033602082000200836020420002002360200200141206a2480808080000f0b4108413010ab80808000000b4104411010ab80808000000b4108413010ab80808000000b2a0002402000280204220028020841ffffffff07490d00419cd7c58000109b81808000000b200028020c0bf40202017f077e23808080800041d0026b2201248080808000200142f89aef8eef91e1ce967f3700c802200142b4d6d6dfccc6b592c3003700c002200142fc90b9e5d09296e7773700b802200142a6d4e6f1a4dd9598603700b002200141086a200141b0026a412010ce85808000420021024200210342002104420021054200210642002107024020012802084101470d002001290338210720012903302106200129032821052001290320210420012903182103200129031021020b200141086a10aa86808000024020012903a0022208427f427f200220047c220420042002541b220220067c220420042002541b2202580d0020012903a8022206427f427f200320057c220420042003541b220320077c220420042003541b2203580d00200141086a2000200820027d200620037d10f98d808000200129030821022001200129031037031020012002370308200141023a00b002200141086a200141b0026a10ff888080000b200141d0026a2480808080000bc01605037f047e0a7f017e027f23808080800041b0086b2201248080808000200010e7878080001a0240024002400240200028022c2202450d00200141106a2002417f6a10c786808000200141b0056a20012802142202200128021810de858080000240024020012d00b0054101470d00200141e8026a200141c9056a290000370300200141e0026a200141c1056a290000370300200141d8026a200141b9056a290000370300200120012900b1053703d0020c010b200141e8026a4200370300200141e0026a4200370300200141d8026a4200370300200142003703d0020b02402001280210450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200141d0026a2000410c6a412010f5978080000d00024020002802782202450d0020024104742103200028027441086a210241b4dac58000ad4280808080f0018421044198d8c58000ad4280808080e00984210541a682808000ad422086200141d0026aad2206842107200141f0036a2108200141d0026a41146a2109200141d0026a410972210a200141b0056a41146a210b200141b0056a410972220c41076a210d4100210e4100210f03402002417c6a28020021102001200228020022113602d402200120103602d002200141b0056a200141d0026a201110be8680800020012903b00522124206510d012001200c2900003703c0022001200d2800003600c70220012d00b8052110200141106a200b41ac0210f4978080001a2001200f36020c024020124205520d00410021020c050b200a20012903c002370000200a41076a20012800c7023600002009200141106a41ac0210f4978080001a200120103a00d802200120123703d00241002110024002400240024020124202520d0002400240024020012802f003417f6a0e0700020303030301030b20012802f403418080808078470d010c020b20012802f8034104470d010b200f200e470d0141012110200e41016a210e0b41002802b483d4800041034b0d010c020b200810e887808000410121022001280280052210418080808078460d072010450d0720012802840522102010417e6a2f00006b41002802ec82d48000118180808000000c070b2001200737039808410028029080d480002111410028028c80d48000211341002802b083d480002114200142013702e805200141013602e00520014194dcc580003602dc05200141123602d8052001419cdcc580003602d405200141043602d005200120053702c805200141003602c405200120043702bc05200141003602b8052001428180808080e0003702b0052011419cf4ca8000201441024622141b2802102111200120014198086a3602e405201341b4f4ca800020141b200141b0056a2011118b80808000000b200141b0056a200141d0026a41c00210f4978080001a200120103a00f0072001419c056a200141b0056a201010e987808000024020012d009c054110470d0020014184086a41026a220220012d009f053a0000200120012f009d053b01840841002802b483d48000450d04200141033602b405200141f8dcc580003602b005200142023702bc05200141a782808000ad42208620014184086aad84370390082001418680808000ad4220862001410c6aad8437038808200120014188086a3602b80520014190ddc580003602a8082001410f3602a408200141b4dac580003602a0082001411236029c082001419cdcc5800036029808200141b0056a410120014198086a4100200110e4918080000c040b200f41016a210f200241106a2102200341706a22030d000b0b200142beee8ae9ce8fa2b1977f3700c80520014295d4f9afa2868fb8643700c005200142fc90b9e5d09296e7773700b805200142a6d4e6f1a4dd9598603700b0050240200141b0056a412010ea8580800041fd01710d0010eb878080000b10e08d808000200028022c10e587808000200028022c10fc8d808000200141b0056a10e28d80800020012000280208220c36029808200120012802b80522023602100240200c2002470d000240024002400240200c450d002000280204210f20012802b4052110410021020340200f20026a2211201020026a220a10ea9680800020112d0000220d200a2d0000470d02410c21034108210b024002400240024002400240200d0e050001020405000b201141016a280000200a41016a280000470d070c020b201141016a280000200a41016a280000460d010c060b201141016a280000200a41016a280000470d050b41102103410c210b0b200f200320026a22116a280200220a201020116a280200470d03200f200b20026a22116a280200201020116a280200200a10f5978080000d030b200241146a2102200c417f6a220c0d000b0b0240200041306a2202200141b0056a41306a220f412010f597808000450d0041b4a1cd8000410e41002802f480d48000118b80808000002002412041002802ec80d48000118b8080800000200f412041002802ec80d48000118b80808000000b2002200f412010f5978080000d02200041d0006a200141b0056a41d0006a412010f597808000450d01200141003602e002200141013602d402200141dcd9c580003602d002200142043702d802200141d0026a41e4d9c5800010fe80808000000b200141003602e002200141013602d4022001419cdac580003602d002200142043702d802200141d0026a41a4dac5800010fe80808000000b024020012802b805220f450d0020012802b40521020340024020022d0000221041034b0d002002201041027441d080c680006a2802006a2210280200450d00201041046a28020022102010417e6a2f00006b41002802ec82d48000118180808000000b200241146a2102200f417f6a220f0d000b0b024020012802b005450d0020012802b40522022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280208220f450d00200028020421020340024020022d0000221041034b0d002002201041027441d080c680006a2802006a2210280200450d00201041046a28020022102010417e6a2f00006b41002802ec82d48000118180808000000b200241146a2102200f417f6a220f0d000b0b02402000280200450d00200028020422022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802782202450d00200028027421112002410171210a4100210f024020024101460d002002417e7121104100210f2011210203402002410c6a200241046a280200200241086a2802002002280200280210118680808000002002411c6a200241146a280200200241186a280200200241106a28020028021011868080800000200241206a21022010200f41026a220f470d000b0b200a450d002011200f4104746a2202410c6a200228020420022802082002280200280210118680808000000b02402000280270450d00200028027422022002417e6a2f00006b41002802ec82d48000118180808000000b200141b0086a2480808080000f0b200141003602e002200141013602d402200141a0d9c580003602d002200142043702d802200141d0026a41a8d9c5800010fe80808000000b200142003702dc0220014281808080c0003702d40220014190d8c580003602d002410020014198086a200141106a200141d0026a41e8d8c58000108381808000000b200141003602c005200141013602b405200141f8dac580003602b005200142043702b805200141b0056a4180dbc5800010fe80808000000b20014198086a41026a20022d00003a0000200120012f0184083b019808410321020b0b200120023a00d002200120012f0198083b00d10220012001419a086a2d00003a00d3022001200f3602d402200141013602b405200141c4dac580003602b005200142013702bc05200141a882808000ad4220862006843703102001200141106a3602b805200141b0056a41ccdac5800010fe80808000000bc70c02087f067e23808080800041e0026b220124808080800020002802082102200028020421032001410036023020014280808080c00037022802402002450d00200241146c21020340200141086a2104200141186a2105410c210641102107024002400240024020032d00000e050201010003020b200141186a2104200141d0026a2105410c2107410821060b2005200320066a2802003602002004200320076a2802003602000c010b41002105024002400240200341106a28020022044100480d002003410c6a2802002106200341016a2800002107024020040d00410121050c030b41002d008083d480001a200441002802f482d480001182808080000022050d01410121050b2005200441a8b2c8800010b980808000000b2005417e6a41003b00000b20052006200410f49780800021080240200128023022062001280228470d00200141286a41e086cd800010f6968080000b200128022c200641146c6a220520043602102005200836020c2005200436020820052007360001200541003a00002001200641016a3602300b200341146a21032002416c6a22020d000b0b200141086a41086a200141286a41086a2802003602002001200129022837030820012000412c6a220336021410db8d808000200141186a41086a420037030020014200370318200142a0b9ab8f9ae5999778370040200142f999a7c78cd1d1cdb17f370038200142fc90b9e5d09296e777370030200142a6d4e6f1a4dd959860370028200141d0026a200141286a412010dc858080002000410c6a21020240024020012802d0022204418180808078460d004101210520012802d4022106024020012802dc024102490d0020012802d8024116470d00418ce4c480002006411610f59780800041004721050b02400240200441808080807872418080808078460d0020062006417e6a2f00006b41002802ec82d48000118180808000002005450d010c020b20050d010b420021094200210a0c010b200141286a10fa8d8080002001290330210b2001290328210a200141286a10cc85808000200129033021092001290328210c200141286a10f88d8080002001290330210d2001290328210e200141d8026a41002802e0e5c48000360200200141023602dc02200141002902d8e5c480003703d002200142a0b9ab8f9ae5999778370040200142f999a7c78cd1d1cdb17f370038200142fc90b9e5d09296e777370030200142a6d4e6f1a4dd959860370028200141d0026a200141286a4120108286808000427f200a427f200c200e7c220e200e200c541b7c220c200c200a541b210a427f200b427f2009200d7c220c200c2009541b7c22092009200b541b21090b20032002200141086a10d98d808000200141286a10aa8680800020012903b802210b2001427f20012903b002220c200a7c220a200a200c541b220a3703282001427f200b20097c22092009200b541b220b370330200141023a00d002200141286a200141d0026a10ff88808000200141286a200328020010fd8d8080002001427f200b20012903307c22092009200b541b3703202001427f200a20012903287c220b200b200a541b370318024041002802b483d4800041034d0d00200141a982808000ad422086200141186aad843703d8022001418482808000ad422086200141146aad843703d002410028029080d480002103410028028c80d48000210241002802b083d48000210420014202370260200141d0ddc58000360254200141123602502001419cdcc5800036024c2001410436024820014198d8c58000ad4280808080e009843702402001410036023c200141b4dac58000ad4280808080f001843702342001410036023020014281808080d0d200370228200141023602582003419cf4ca8000200441024622041b28021021032001200141d0026a36025c200241b4f4ca800020041b200141286a2003118b80808000000b4100410010e988808000024020012802102202450d00200128020c21030340024020032d0000220441034b0d002003200441027441d080c680006a2802006a2204280200450d00200441046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032002417f6a22020d000b0b02402001280208450d00200128020c22032003417e6a2f00006b41002802ec82d48000118180808000000b200141e0026a24808080800041000bef0201017f024002400240024002400240024020002802000e080102060603040500010b20002802084104470d05200028020c450d05200028021022002000417e6a2f00006b41002802ec82d48000118180808000000f0b200041086a108d888080000f0b200041046a108a888080000c030b200041106a108e888080000f0b024002400240024020002d00082201417c6a41042001417b6a41ff01714105491b417f6a0e0400010203050b2000410c6a10cb878080000f0b200041206a10cb878080000f0b20002d000c4102470d022000280210450d02200028021422002000417e6a2f00006b41002802ec82d48000118180808000000f0b024020014102470d00200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b2000412c6a10cb878080000f0b20002802042201418480808078480d002001450d00200028020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b0bbc0d04037f017e027f027e23808080800041a0086b2203248080808000200341146a200110f8868080002003200328021c22043602e4022003200328021822053602e002200341206a418002200341e0026a10bc87808000024002400240024002400240200329032022064205520d00200041003a0002200041103b01000c010b20032f01282107200341c0056a410a72200341206a410a7241b60210f4978080001a200320073b01c805200320063703c00520032003419f086a36028008200341206a200341c0056a2003419f086a10fa86808000200320032f01283b01e804200320032d002a3a00ea04200329032022064205520d01200020032f01e8043b0001200041103a0000200041036a20032d00ea043a00000b2003280214450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b200341e0026a410b72200341206a410b7241d50110f4978080001a200320032f01e8043b01e802200320032d00ea043a00ea02200320063703e002200341c0056a200341b0036a220810fb85808000200341e0026a2107420021094200210a0240024002402006427e7c2206a7410120064203541b0e03020100020b200341f0026a21070b200341206a20072008108587808000200329032821092003290320210a0b200341c0046a41106a200a370300200341d8046a2009370300200341c0046a41086a200341c0056a41086a290300370300200341c0046a41206a200341c0056a41206a290300370300200320032903c0053703c004024020020d00200342beee8ae9ce8fa2b1977f3700d80520034295d4f9afa2868fb8643700d005200342fc90b9e5d09296e7773700c805200342a6d4e6f1a4dd9598603700c005200341c0056a412010ea8580800041fd01714101460d0010eb878080000b20032802142107200341086a41bcc8c78000411010d085808000200341c0056a200328020c410020032802084101711b10e7868080002005200420032802c405220220032802c80510b283808000024020032802c005450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b02402007450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200341c0056a200341e0026a41e00110f4978080001a200341206a200341c0056a200341c0046a200410f685808000200320032f01283b01a0052003200341206a410a6a2d00003a00a2050240200329032022064203520d00200020032f01a0053b0001200041103a0000200041036a20032d00a2053a00000c010b200341e8046a41186a200341206a41186a290000370000200341e8046a41136a200341206a41136a290000370000200341a8056a41086a2205200341206a41296a290000370300410f2107200341a8056a410f6a2204200341206a41306a280000360000200341e8046a410a6a20032d00a2053a00002003200329002b3700f304200320032900413703a805200320032f01a0053b01f00420032802542102200320032d004022083a008805200320063703e804200341e8046a41306a2004280000360000200341e8046a41296a2005290300370000200320032903a805370089052003200236029c050240024020064202510d0020032d00e00441ff01714102460d010b200341c0056a41206a200341c0046a41206a290300370300200341c0056a41186a200341c0046a41186a290300370300200341c0056a41106a200341c0046a41106a290300370300200341c0056a41086a200341c0046a41086a290300370300200320032903c0043703c005200341e8046a200341c0056a10dd8d808000024020064202510d00200341c0056a410f6a200341a8056a410f6a280000360000200341c0056a41086a200341a8056a41086a290300370300200320032903a8053703c005200821070b200020073a0000200020032903c005370001200041096a200341c8056a290300370000200041106a200341cf056a28000036000002402001290300427e7c4203540d0020012d003041ff01714102470d002001280234450d00200128023822002000417e6a2f00006b41002802ec82d48000118180808000000b200141a0016a10e88780800020012802b0022200418080808078460d030c020b200041083a0002200041103b01000b02402001290300427e7c4203540d0020012d003041ff01714102470d002001280234450d00200128023822002000417e6a2f00006b41002802ec82d48000118180808000000b200141a0016a10e88780800020012802b0022200418080808078460d010b2000450d0020012802b40222012001417e6a2f00006b41002802ec82d48000118180808000000b200341a0086a2480808080000bdb0401047f23808080800041306b220224808080800041012103200041016a21040240024020002d00004101470d002002200436020c410121032001280200220041befcc5800041072001280204220528020c2204118080808000000d010240024020012d000a418001710d0041012103200041df80c2800041012004118080808000000d032002410c6a2001108a86808000450d010c030b200041e080c2800041022004118080808000000d0241012103200241013a001f2002200536021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a108a868080000d02200228022041da80c280004102200228022428020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021030c010b2002200436020c2001280200220041b7fcc5800041072001280204220528020c2204118080808000000d000240024020012d000a418001710d0041012103200041df80c2800041012004118080808000000d022002410c6a2001108b86808000450d010c020b200041e080c2800041022004118080808000000d0141012103200241013a001f2002200536021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a108b868080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021030b200241306a24808080800020030bff0302017f067e23808080800041d0026b2200248080808000200042beee8ae9ce8fa2b1977f37002020004295d4f9afa2868fb864370018200042fc90b9e5d09296e777370010200042a6d4e6f1a4dd959860370008200041013a00b002200041086a4120200041b0026a410141002802dc82d4800011838080800000200042d3d8c5d2a9b9d2c1ac7f37002020004282ca868eabf3add0cf00370018200042fc90b9e5d09296e777370010200042a6d4e6f1a4dd9598603700082000200041086a412010d085808000200042f89aef8eef91e1ce967f3700c802200042b4d6d6dfccc6b592c3003700c002200042fc90b9e5d09296e7773700b802200042a6d4e6f1a4dd9598603700b002200041086a200041b0026a412010ce85808000420021014200210242002103420021044200210542002106024020002802084101470d002000290338210620002903302105200029032821042000290320210320002903182102200029031021010b200041086a10aa86808000024020002903a002427f427f200120037c220320032001541b220120057c220320032001541b580d0020002903a802427f427f200220047c220120012002541b220120067c220220022001541b580d00200041106a420037030020004200370308200041023a00b002200041086a200041b0026a10ff888080000b200041d0026a2480808080000bf70101027f23808080800041306b2201248080808000200142beee8ae9ce8fa2b1977f37002820014295d4f9afa2868fb864370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd9598603700100240200141106a412010ea8580800041fd01710d0010eb878080000b10e08d808000200142d3d8c5d2a9b9d2c1ac7f37002820014282ca868eabf3add0cf00370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141086a200141106a412010d085808000200128020c410020012802084101711b220210e587808000200210fc8d808000200010e28d808000200141306a2480808080000bd00c01117f23808080800041c0006b2201248080808000200141086a200041ecdbc58000109f8f808000200142f4fa97f89782c7a62d37002c20014299cfe7ffe3b8eac708370024200142fc90b9e5d09296e77737001c200142a6d4e6f1a4dd959860370014200141346a200141146a412010e68580800041042001280238200128023422024180808080784622031b21044100200128023c20031b2105200128020c2106024020012802102207450d002006200741146c6a2108200541146c21092006210a03400240024020050d00200a2d0000210b200a210c200a41146a210a0c010b0340200a220c41146a210a200c280001210d200c2d0000210b2009210e2004210302400340024020032d0000200b470d00410c210f4108211002400240024002400240200b0e050001020407000b200341016a280000200d470d040c020b200341016a280000200d470d030c010b200341016a280000200d470d020b4110210f410c21100b2003200f6a2802002211200c200f6a280200470d00200320106a280200200c20106a280200201110f597808000450d020b200341146a2103200e416c6a220e450d030c000b0b200a2008460d030c000b0b02400240024002400240200b41ff01710e050001020304000b4100210e024002400240200c28021022034100480d00200c28020c210f200c2800012110024020030d004101210e0c030b41002d008083d480001a200341002802f482d4800011828080800000220e0d014101210e0b200e200341a8b2c8800010b980808000000b200e417e6a41003b00000b200e200f200310f497808000210e200120033602242001200e3602202001200336021c200120103600150c030b4100210e024002400240200c28021022034100480d00200c28020c210f200c2800012110024020030d004101210e0c030b41002d008083d480001a200341002802f482d4800011828080800000220e0d014101210e0b200e200341a8b2c8800010b980808000000b200e417e6a41003b00000b200e200f200310f497808000210e200120033602242001200e3602202001200336021c200120103600150c020b4100210e024002400240200c28021022034100480d00200c28020c210f200c2800012110024020030d004101210e0c030b41002d008083d480001a200341002802f482d4800011828080800000220e0d014101210e0b200e200341a8b2c8800010b980808000000b200e417e6a41003b00000b200e200f200310f497808000210e200120033602242001200e3602202001200336021c200120103600150c010b4100210e024002400240200c28020c22034100480d00200c280208210f024020030d004101210e0c030b41002d008083d480001a200341002802f482d4800011828080800000220e0d014101210e0b200e200341a8b2c8800010b980808000000b200e417e6a41003b00000b200e200f200310f497808000210e200120033602202001200e36021c200120033602180b2001200b3a0014200141146a10f588808000200a2008470d000b0b20012000410c6a360238200141cdcfc78000360234200141146a200141346a108a8c80800041e5cfc780004113200141146a412041002802dc82d4800011838080800000200141346a200010e984808000200141146a20012802382203200128023c41002802c480d48000118680808000002000412c6a210e02402001280234450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200e200141146a10ef8680800002402005450d00200421030340024020032d0000220e41034b0d002003200e41027441d080c680006a2802006a220e280200450d00200e41046a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032005417f6a22050d000b0b0240200241808080807872418080808078460d0020042004417e6a2f00006b41002802ec82d480001181808080000020012802102107200128020c21060b02402007450d00200621030340024020032d0000220e41034b0d002003200e41027441d080c680006a2802006a220e280200450d00200e41046a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032007417f6a22070d000b0b02402001280208450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a2480808080000b900201027f23808080800041106b22022480808080002002200041086a36020420012802004198fbc580004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a419efbc58000410820004188fbc58000108a818080001a200241086a41a6fbc58000410a200241046a41f4fac58000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bcc0904037f017e017f027e23808080800041c0076b2204248080808000200442d3d8c5d2a9b9d2c1ac7f37003820044282ca868eabf3add0cf00370030200442fc90b9e5d09296e777370028200442a6d4e6f1a4dd959860370020200441086a200441206a412010d0858080002004200428020c41016a410120042802084101711b3602a0052004410036022820044280808080c000370220200441a0056a2003200441206a10d98d808000024020042802282205450d00200428022421030340024020032d0000220641034b0d002003200641027441d080c680006a2802006a2206280200450d00200641046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032005417f6a22050d000b0b02402004280220450d00200428022422032003417e6a2f00006b41002802ec82d48000118180808000000b200441146a200210f8868080002004200428021c22053602a4052004200428021822033602a005200441206a418002200441a0056a10bc878080000240024002400240200429032022074205520d002000418080808078360210200041003b01000c010b20042f01282106200441e0026a410a72200441206a410a7241b60210f4978080001a200420063b01e802200420073703e002200441206a200441e0026a200441bf076a10fa86808000200420042f01283b018007200420042d002a3a0082070240200429032022074205520d00200020042f0180073b01002000418080808078360210200041026a20042d0082073a00000c010b200441a0056a410b72200441206a410b7241d50110f4978080001a200420042f0180073b01a805200420042d0082073a00aa05200420073703a005200441206a200441f0056a220610fb85808000200441a0056a2108420021094200210a0240024002402007427e7c2207a7410120074203541b0e03020100020b200441b0056a21080b200441a8076a2008200610858780800020042903b007210920042903a807210a0b20044190076a200a37030020044198076a200937030020044180076a41086a200441206a41086a29030037030020044180076a41206a200441206a41206a2903002207370300200420042903203703800702402007a741ff01714102470d00200041808080807836021020004180123b0100200610e8878080000c010b2000200441a0056a200120044180076a200510fa85808000200610e88780800002402004280214450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b02402002290300427e7c4203540d0020022d003041ff01714102470d002002280234450d00200228023822032003417e6a2f00006b41002802ec82d48000118180808000000b200241a0016a10e88780800020022802b0022203418080808078460d020c010b02402004280214450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b02402002290300427e7c4203540d0020022d003041ff01714102470d002002280234450d00200228023822032003417e6a2f00006b41002802ec82d48000118180808000000b200241a0016a10e88780800020022802b0022203418080808078460d010b2003450d0020022802b40222032003417e6a2f00006b41002802ec82d48000118180808000000b200441c0076a2480808080000be80b05017f037e017f037e0a7f23808080800041306b22032480808080000240024020012802280d002001417f360228410029039083d480002104410029038883d48000210520012903402106024020012802482207450d00200741086a2900002004852208422088220920072900002006423089852206422088220a7e200842ffffffff0f832208200642ffffffff0f8322067e852008200a7e200920067e854220898521060b200141286a210b2001280234220c20022900082006422089220820047c852206422088220420022900182005852209422088220a7e200642ffffffff0f832206200942ffffffff0f8322097e85200420097e2006200a7e854220898520022900002206200885220442ffffffff0f8322082002290010200585220542ffffffff0f8322097e8520044220882204200542208822057e85200420097e200820057e8542208985220542208822044288d5fda1027e200542ffffffff0f83220542d3918cad087e85200442d3918cad087e20054288d5fda1027e85422088852205a7220d7121072005421988220842ff0083428182848890a0c080017e2104200241086a210e2001280230220f41406a21102006422088a721112006a72112410021130240024003400240200f20076a29000022052004852206427f85200642fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832206500d0003402002201020067aa741037620076a200c7122144106746b412010f597808000450d032006427f7c200683220650450d000b0b0240200520054201868342808182848890a0c0807f8350450d00201341086a221320076a200c7121070c010b0b200341106a41106a200e41106a290000370300200341106a41086a200e41086a2900003703004100410035028483d4800042c4e6c11b85200341286aad22067e200642ae94e698017e4220898522063e028483d480002003200e290000370310200642ffffffff0f83220542a2f0a4a00a7e21042006422088220642d0e3fccc027e2109024041002d00a883d480004102460d0010c2908080000b200542d0e3fccc027e2105200642a2f0a4a00a7e210a2009200485210441002d00c883d48000211402402001280230220c20012802342210200d7122026a29000042808182848890a0c0807f8322064200520d00410821070340200220076a2102200741086a2107200c200220107122026a29000042808182848890a0c0807f832206500d000b0b200a200585210520044220892104201441024621140240200c20067aa741037620026a20107122076a2c00002202417f4c0d00200c200c29030042808182848890a0c0807f837aa741037622076a2d000021020b2005200485210641b883d48000410020141b211402402002410171450d0020012802380d00200341086a200141306a4101200141c0006a410110b18c80800002402001280230220c20012802342210200d7122026a29000042808182848890a0c0807f8322054200520d00410821070340200220076a2102200741086a2107200c200220107122026a29000042808182848890a0c0807f832205500d000b0b200c20057aa741037620026a20107122076a2c00002202417f4c0d00200c200c29030042808182848890a0c0807f837aa741037622076a2d000021020b200c20076a2008a741ff007122133a0000200c200741786a2010716a41086a20133a00002001200128023820024101716b3602382001200128023c41016a36023c200c20074106746b220741406a2012360200200741706a2006370300200741786a2014360200200741606a220241086a4100290388e7c5800037030020024100290380e7c58000370300200741486a220241106a200341106a41106a290300370300200241086a200341106a41086a29030037030020022003290310370300200741446a20113602000c010b200f410020146b4106746a21070b20012802000d012000200b36020c200020013602042001417f3602002000200741606a3602082000200141086a360200200341306a2480808080000f0b41ccdec58000109a81808000000b41dcdec58000109a81808000000bf40905017f027e017f047e097f23808080800041d0016b2205248080808000410029039083d480002106410029038883d480002107200128020022082903102109024020082802182201450d00200141086a290000200685220a422088220b20012900002009423089852209422088220c7e200a42ffffffff0f83220a200942ffffffff0f8322097e85200a200c7e200b20097e854220898521090b2008280204220d20022900082009422089220a20067c85220942208822062002290018200785220b422088220c7e200942ffffffff0f832209200b42ffffffff0f83220b7e852006200b7e2009200c7e854220898520022900002209200a85220642ffffffff0f83220a2002290010200785220742ffffffff0f83220b7e8520064220882206200742208822077e852006200b7e200a20077e8542208985220742208822064288d5fda1027e200742ffffffff0f83220742d3918cad087e85200642d3918cad087e20074288d5fda1027e85422088852207a7220e7121012007421988220a42ff0083428182848890a0c080017e2106200241086a210f2008280200221041f87e6a21112009422088a721122009a7211341002114024002400240024003400240201020016a29000022072006852209427f85200942fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832209500d00034020022011410020097aa741037620016a200d716b22154188016c6a412010f597808000450d032009427f7c200983220950450d000b0b200720074201868342808182848890a0c0807f8350450d02201441086a221420016a200d7121010c000b0b201020154188016c6a21010c010b200541086a20032004280210118b8080800000200528020c21020240200528020822144108460d00200541f0006a200541086a41086a41e00010f4978080001a02402008280200221120082802042215200e71220d6a29000042808182848890a0c0807f8322094200520d00410821010340200d20016a210d200141086a21012011200d201571220d6a29000042808182848890a0c0807f832209500d000b0b0240201120097aa7410376200d6a20157122016a2c0000220d417f4c0d002011201129030042808182848890a0c0807f837aa741037622016a2d0000210d0b0240200d410171450d0020082802080d00200520084101200841106a410110b08c80800002402008280200221120082802042215200e71220d6a29000042808182848890a0c0807f8322094200520d00410821010340200d20016a210d200141086a21012011200d201571220d6a29000042808182848890a0c0807f832209500d000b0b201120097aa7410376200d6a20157122016a2c0000220d417f4c0d002011201129030042808182848890a0c0807f837aa741037622016a2d0000210d0b201120016a200aa741ff007122103a00002011200141786a2015716a41086a20103a000020082008280208200d4101716b3602082008200828020c41016a36020c2011410020016b4188016c6a220141f87e6a2013360200200141987f6a20143602002001419c7f6a2002360200200141807f6a220241106a200f41106a290000370000200241086a200f41086a2900003700002002200f290000370000200141fc7e6a2012360200200141a07f6a200541f0006a41e00010f4978080001a0c010b410121010c010b200141987f6a2102410021010b2000200236020420002001360200200541d0016a2480808080000be00d05037f057e027f017e037f23808080800041106b220424808080800002400240024002400240024020002802082205450d004100210002400240024020024100480d00024020020d00410121000c030b41002d008083d480001a200241002802f482d480001182808080000022000d01410121000b20002002418cd0c5800010b980808000000b2000417e6a41003b00000b20002001200210f4978080002106410029039083d48000210720052903102108024020052802182200450d00200041086a2900002007852209422088220a20002900002008423089852208422088220b7e200942ffffffff0f832209200842ffffffff0f8322087e852009200b7e200a20087e854220898521080b410029038883d48000210920082002ad8a2108024020024111490d00200820077c210702402002418002490d0020062002200820072008410029039883d480007c200841002903a083d480007c200910c39080800021080c060b200241f00171210120062002410f716a210c20062100024003402000200c20016a220d4f0d01200d41786a290000200985220a422088220b200041086a2900002007852207422088220e7e200a42ffffffff0f83220a200742ffffffff0f8322077e85200a200e7e200b20077e85422089852107200d41706a290000200985220a422088220b20002900002008852208422088220e7e200a42ffffffff0f83220a200842ffffffff0f8322087e85200a200e7e200b20087e85422089852108200041106a2100200141706a22010d000b0b200820078521080c050b200241074b0d01200241034b0d022002450d03200620026a417f6a310000420886200620024101766a310000842007852107200820063100008521080c030b20032d00004102490d0420032802242202417f460d0420032802282101200220022802042200417f6a36020420004101470d042001410b6a4104490d0420022002417e6a2f00006b41002802ec82d48000118180808000000c040b20062900002008852108200620026a41786a29000020078521070c010b200820063500008521082007200620026a417c6a3500008521070b2008422088220a2007422088220b7e200842ffffffff0f832208200742ffffffff0f8322077e85200a20077e2008200b7e854220898521080b200942ffffffff0f83220720022008a773ad220a7e20084220882208200942208822097e852009200a7e200820077e8542208985220842208822094288d5fda1027e200842ffffffff0f83220842d3918cad087e85200942d3918cad087e20084288d5fda1027e85422088852108024020052802080d00200441086a20054101200541106a410110b38c8080000b2005280204220c2008a77121012008421988220a42ff0083428182848890a0c080017e21072005280200210d4100210f4100211003400240024002400240200d20016a29000022092007852208427f85200842fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832208500d00034002402002200d410020087aa741037620016a200c716b41346c6a220041506a280200470d0020062000414c6a280200200210f597808000450d030b2008427f7c200883220850450d000b0b200942808182848890a0c0807f832108024020104101460d002008500d0220087aa741037620016a200c7121110b024020082009420186834200520d00410121100c030b0240200d20116a2c000022004100480d00200d200d29030042808182848890a0c0807f837aa741037622116a2d000021000b200d20116a200aa741ff007122013a0000200d201141786a200c716a41086a20013a00002005200528020820004101716b3602082005200528020c41016a36020c200d410020116b41346c6a2201414c6a2006360200200141546a220041286a200341286a280200360200200041206a200341206a290200370200200041186a200341186a290200370200200041106a200341106a290200370200200041086a200341086a29020037020020002003290200370200200141506a20023602000c040b200041546a22012d0000210c20012003290200370200200141086a200341086a290200370200200141106a200341106a290200370200200141186a200341186a290200370200200041786a280200210d200141206a200341206a2902003702002000417c6a2802002100200141286a200341286a28020036020002402002450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200c41ff01714102470d03200d417f460d03200d200d2802042202417f6a36020420024101470d032000410b6a4104490d03200d200d417e6a2f00006b41002802ec82d48000118180808000000c030b410021100b2001200f41086a220f6a200c7121010c000b0b200441106a2480808080000bbd0206017f017e017f017e027f017e0240200028020822000d0041000f0b410021030240200028020c450d00200029031020002802182001200210f4878080002104200028020422052004a7712103200442198842ff0083428182848890a0c080017e210620002802002107410021080340024002400240200720036a29000022092006852204427f85200442fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832204500d000340024020022007410020047aa741037620036a2005716b41346c6a220041506a280200470d0020012000414c6a280200200210f597808000450d030b2004427f7c200483220450450d000b0b200920094201868342808182848890a0c0807f83500d01410021000b2000414c6a410020001b21030c020b200841086a220820036a20057121030c000b0b200341086a410020031b0bbe0503047e027f017e410029039083d48000210402402001450d00200141086a290000200485220542208822062001290000200042308985220042208822077e200542ffffffff0f832205200042ffffffff0f8322007e85200520077e200620007e854220898521000b410029038883d48000210520002003ad8a21000240024020034111490d00200020047c210402402003418002490d0020022003200020042000410029039883d480007c200041002903a083d480007c200510c39080800021000c020b200341f00171210120022003410f716a2108024003402002200820016a22094f0d01200941786a29000020058522064220882207200241086a2900002004852204422088220a7e200642ffffffff0f832206200442ffffffff0f8322047e852006200a7e200720047e85422089852104200941706a2900002005852206422088220720022900002000852200422088220a7e200642ffffffff0f832206200042ffffffff0f8322007e852006200a7e200720007e85422089852100200241106a2102200141706a22010d000b0b200020048521000c010b024002400240200341074b0d00200341034b0d012003450d02200220036a417f6a310000420886200220034101766a310000842004852104200020023100008521000c020b20022900002000852100200220036a41786a29000020048521040c010b200020023500008521002004200220036a417c6a3500008521040b20004220882206200442208822077e200042ffffffff0f832200200442ffffffff0f8322047e85200620047e200020077e854220898521000b200542ffffffff0f83220420032000a773ad22067e20004220882200200542208822057e85200520067e200020047e8542208985220042208822054288d5fda1027e200042ffffffff0f83220042d3918cad087e85200542d3918cad087e20004288d5fda1027e85422089850bdc0403027f067e037f4100210202402000280200220328020c450d00410029039083d480002104410029038883d48000210520032903102106024020032802182202450d00200241086a290000200485220742208822082002290000200642308985220642208822097e200742ffffffff0f832207200642ffffffff0f8322067e85200720097e200820067e854220898521060b2003280204220020012900082006422089220620047c85220442208822072001290018200585220842208822097e200442ffffffff0f832204200842ffffffff0f8322087e85200720087e200420097e85422089852001290000200685220642ffffffff0f8322042001290010200585220542ffffffff0f8322077e8520064220882206200542208822057e85200620077e200420057e8542208985220642208822054288d5fda1027e200642ffffffff0f83220642d3918cad087e85200542d3918cad087e20064288d5fda1027e85422088852206a7712102200642198842ff0083428182848890a0c080017e21042003280200220a41f87e6a21034100210b0240024003400240200a20026a29000022052004852206427f85200642fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832206500d00034020012003410020067aa741037620026a2000716b220c4188016c6a412010f597808000450d032006427f7c200683220650450d000b0b0240200520054201868342808182848890a0c0807f83500d00410021020c030b200b41086a220b20026a20007121020c000b0b200a200c4188016c6a21020b200241f87e6a410020021b21020b200241206a410020021b0ba40206017f017e027f017e027f017e4102210302402000280210220028020c450d00200029031020002802182001200210f4878080002104200028020422052004a7712106200442198842ff0083428182848890a0c080017e21072000280200210841002109024003400240200820066a290000220a2007852204427f85200442fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832204500d000340024020022008410020047aa741037620066a2005716b410c6c6a220041786a280200470d002001200041746a28020041086a200210f597808000450d040b2004427f7c200483220450450d000b0b200a200a4201868342808182848890a0c0807f8350450d02200941086a220920066a20057121060c000b0b2000417c6a2d000021030b20030bd40e03057f017e037f23808080800041306b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002402001280200220341ffffffff076a2204410220044106491b0e06030405000102030b20012802082204417f4c0d05200441f5ffffff074f0d06200128020421032000280210210541002d008083d480001a2004410b6a41fcffffff0771220641002802f482d48000118280808000002201450d072001200141036a417c7120016b22066a22014281808080103702002001417e6a20063b0000200141086a2003200410f4978080001a200241086a20052001200410f887808000024020022802082203450d002002290310210720022802182101200228020c210541002104200241003a00102002200536020c2002200336020820012007200241086a200141106a10f9878080000c110b410021042002280218417c6a41003a00000c100b20012802082204417f4c0d07200441f5ffffff074f0d08200128020421032000280210210541002d008083d480001a2004410b6a41fcffffff0771220641002802f482d48000118280808000002201450d092001200141036a417c7120016b22066a22014281808080103702002001417e6a20063b0000200141086a2003200410f4978080001a200241086a20052001200410f887808000024020022802082204450d002002290310210720022802182101200228020c2103200241013a002c200220033602282002200436022420012007200241246a200141106a10f9878080000b410021040c0f0b20012802082204417f4c0d09200441f5ffffff074f0d0a200128020421032000280210210541002d008083d480001a2004410b6a41fcffffff0771220641002802f482d48000118280808000002201450d0b2001200141036a417c7120016b22066a22014281808080103702002001417e6a20063b0000200141086a2003200410f4978080001a200241086a20052001200410f887808000024020022802082203450d002002290310210720022802182101200228020c210541002104200241003a00102002200536020c2002200336020820012007200241086a200141106a10f9878080000c0f0b410021042002280218417c6a41003a00000c0e0b20012802042103410021042000280200200141086a10fa878080000d0d200241086a200310aa8d808000024002402002280210220141c0004f0d00410121040c010b02402001418080014f0d00410221040c010b410441052001418080808004491b21040b02402002280208450d00200228020c22032003417e6a2f00006b41002802ec82d48000118180808000000b200420016a21040c0d0b200128020c21032001280208210620012802042105410021042000280200200141106a10fa878080000d0b0240200341c0004f0d00410120036a21040c0c0b02402003418080014f0d00410220036a21040c0c0b410441052003418080808004491b20036a21040c0b0b20012802102105200128020c2108410021042000280200200141146a10fa878080000d0902402001280208220441c0004f0d00410120046a21040c0a0b02402004418080014f0d00410220046a21040c0a0b410441052004418080808004491b20046a21040c090b41ccf9c58000412b200241246a41bcf9c5800041e4fac5800010a981808000000b419c80c08000412b200241246a418c80c0800041b481c0800010a981808000000b4104200610ab80808000000b41ccf9c58000412b200241246a41bcf9c5800041e4fac5800010a981808000000b419c80c08000412b200241246a418c80c0800041b481c0800010a981808000000b4104200610ab80808000000b41ccf9c58000412b200241246a41bcf9c5800041e4fac5800010a981808000000b419c80c08000412b200241246a418c80c0800041b481c0800010a981808000000b4104200610ab80808000000b0240024002402005417f4c0d00200541f5ffffff074f0d012000280210210941002d008083d480001a2005410b6a41fcffffff0771220a41002802f482d48000118280808000002206450d022006200641036a417c7120066b220a6a22064281808080103702002006417e6a200a3b0000200641086a2008200510f4978080001a200241086a20092006200510f8878080000240024020022802082206450d002002290310210720022802182105200228020c2108200241003a00102002200836020c2002200636020820052007200241086a200541106a10f9878080000c010b2002280218417c6a41003a00000b2003418080808078460d042003450d04200128020422012001417e6a2f00006b41002802ec82d48000118180808000000c040b41ccf9c58000412b200241246a41bcf9c5800041e4fac5800010a981808000000b419c80c08000412b200241246a418c80c0800041b481c0800010a981808000000b4104200a10ab80808000000b200541808080807872418080808078460d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20002802082201200128020020046a360200200241306a2480808080000bc50807017f027e017f037e047f017e017f23808080800041106b22042480808080002004200336020c20042002360208410029039083d48000210520012903102106024020012802182207450d00200741086a2900002005852208422088220920072900002006423089852206422088220a7e200842ffffffff0f832208200642ffffffff0f8322067e852008200a7e200920067e854220898521060b410029038883d480002108200241086a210b20062003ad8a21060240024020034111490d00200620057c210502402003418002490d00200b2003200620052006410029039883d480007c200641002903a083d480007c200810c39080800021060c020b200341f00171210c20022003410f716a210d200b2107024003402007200d200c6a220e41086a4f0d01200e2900002008852209422088220a200741086a2900002005852205422088220f7e200942ffffffff0f832209200542ffffffff0f8322057e852009200f7e200a20057e85422089852105200e41786a2900002008852209422088220a20072900002006852206422088220f7e200942ffffffff0f832209200642ffffffff0f8322067e852009200f7e200a20067e85422089852106200741106a2107200c41706a220c0d000b0b200620058521060c010b024002400240200341074b0d00200341034b0d012003450d02200b20036a417f6a310000420886200b20034101766a3100008420058521052006200b3100008521060c020b200b2900002006852106200b20036a41786a29000020058521050c010b2006200b3500008521062005200b20036a417c6a3500008521050b200642208822092005422088220a7e200642ffffffff0f832206200542ffffffff0f8322057e85200920057e2006200a7e854220898521060b2001280204220d200842ffffffff0f83220520032006a773ad22097e20064220882206200842208822087e85200820097e200620057e8542208985220642208822084288d5fda1027e200642ffffffff0f83220642d3918cad087e85200842d3918cad087e20064288d5fda1027e85422089852209a771210c200942198842ff0083428182848890a0c080017e21052001280200210e4100211002400240024003400240200e200c6a29000022082005852206427f85200642fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832206500d00034002402003200e410020067aa7410376200c6a200d716b410c6c6a220741786a280200470d00200b200741746a28020041086a200310f597808000450d040b2006427f7c200683220650450d000b0b200820084201868342808182848890a0c0807f8350450d02201041086a2210200c6a200d71210c0c000b0b2000200136021420002007360210200020093703082000410036020020022002280200417f6a220336020020030d01200441086a1090888080000c010b200020013602102000200937030820002003360204200020023602000b200441106a2480808080000bea0301067f23808080800041106b2204248080808000024020002802002205200028020422062001a722077122086a29000042808182848890a0c0807f8322014200520d00410821090340200820096a2108200941086a21092005200820067122086a29000042808182848890a0c0807f832201500d000b0b0240200520017aa741037620086a20067122096a2c00002208417f4c0d002005200529030042808182848890a0c0807f837aa741037622096a2d000021080b02402008410171450d0020002802080d00200441086a200041012003410110b28c8080000240200028020022052000280204220620077122086a29000042808182848890a0c0807f8322014200520d00410821090340200820096a2108200941086a21092005200820067122086a29000042808182848890a0c0807f832201500d000b0b200520017aa741037620086a20067122096a2c00002208417f4c0d002005200529030042808182848890a0c0807f837aa741037622096a2d000021080b200520096a200741197622073a00002005200941786a2006716a41086a20073a00002000200028020820084101716b3602082000200028020c41016a36020c2005410020096b410c6c6a41746a220941086a200241086a28020036020020092002290200370200200441106a2480808080000bd90605017f037e017f037e067f23808080800041106b2202248080808000410029039083d480002103410029038883d48000210420002903102105024020002802182206450d00200641086a290000200385220742208822082006290000200542308985220542208822097e200742ffffffff0f832207200542ffffffff0f8322057e85200720097e200820057e854220898521050b20012900082005422089220520037c85220342208822072001290018200485220842208822097e200342ffffffff0f832203200842ffffffff0f8322087e85200720087e200320097e85422089852001290000200585220542ffffffff0f8322032001290010200485220442ffffffff0f8322077e8520054220882205200442208822047e85200520077e200320047e8542208985220542208822044288d5fda1027e200542ffffffff0f83220542d3918cad087e85200442d3918cad087e20054288d5fda1027e85422088852105024020002802080d00200241086a20004101200041106a410110b48c8080000b2000280200220a41606a210b2000280204220c2005a77121062005421988220742ff0083428182848890a0c080017e21034100210d4100210e037f0240024002400240200a20066a29000022042003852205427f85200542fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832205500d00034002402001200b20057aa741037620066a200c714105746b412010f5978080000d00410121060c030b2005427f7c200583220550450d000b0b200442808182848890a0c0807f8321050240200e4101460d002005500d0220057aa741037620066a200c71210f0b024020052004420186834200520d004101210e0c030b410021060240200a200f6a2c0000220b4100480d00200a200a29030042808182848890a0c0807f837aa7410376220f6a2d0000210b0b200a200f6a2007a741ff0071220e3a0000200a200f41786a200c716a41086a200e3a000020002000280208200b4101716b3602082000200028020c41016a36020c200a200f4105746b41606a220c41186a200141186a290000370000200c41106a200141106a290000370000200c41086a200141086a290000370000200c20012900003700000b200241106a24808080800020060f0b4100210e0b2006200d41086a220d6a200c7121060c000b0bb70102037f017e23808080800041c0006b2202248080808000200242b0f2f7f283ece7d10b370038200242cbf2abd1d7a8b9e0d70037003020024284c2b1b3ef9292841e370028200242bce2f4b8c5daf6fa29370020200241086a200241206a412010f08580800041012103024020022802084101470d00200228021821042002290310210541002103200010a68780800041024b0d002004410249200520015420052001511b21030b200241c0006a24808080800020030b86a60105257f057e1d7f017e107f23808080800041f0116b2202248080808000200241f0086a41086a200141186a290200370300200220012902103703f008200241106a41086a200141086a290200370300200241206a41086a2001412c6a290000370300200241306a200141346a290000370300200241206a41186a2001413c6a290000370300200220012902003703102002200129002437032002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024041002d00c882d480004101460d0020012802202103410041013a00c882d4800041002802c482d480002104410041aa828080003602c482d4800041002d00e082d480004101460d01410041013a00e082d4800041002802dc82d480002105410041ab828080003602dc82d4800041002d00b882d480004101460d02410041013a00b882d4800041002802b482d480002106410041ac828080003602b482d4800041002d00b082d480004101460d03410041013a00b082d4800041002802ac82d480002107410041ad828080003602ac82d4800041002d009882d480004101460d04410041013a009882d48000410028029482d480002108410041ae8280800036029482d4800041002d00d882d480004101460d05410041013a00d882d4800041002802d482d480002109410041af828080003602d482d4800041002d00a082d480004101460d06410041013a00a082d48000410028029c82d48000210a410041b08280800036029c82d4800041002d009082d480004101460d07410041013a009082d48000410028028c82d48000210b410041b18280800036028c82d4800041002d00c082d480004101460d08410041013a00c082d4800041002802bc82d48000210c410041b2828080003602bc82d4800041002d00e882d480004101460d09410041013a00e882d4800041002802e482d48000210d410041b3828080003602e482d4800041002d00d082d480004101460d0a410041013a00d082d4800041002802cc82d48000210e410041b4828080003602cc82d4800041002d00a882d480004101460d0b410041013a00a882d4800041002802a482d48000210f410041b5828080003602a482d4800041002d00a081d480004101460d0c410041013a00a081d48000410028029c81d480002110410041b68280800036029c81d4800041002d00b081d480004101460d0d410041013a00b081d4800041002802ac81d480002111410041b7828080003602ac81d4800041002d00c081d480004101460d0e410041013a00c081d4800041002802bc81d480002112410041b8828080003602bc81d4800041002d008881d480004101460d0f410041013a008881d48000410028028481d480002113410041b98280800036028481d4800041002d00c881d480004101460d10410041013a00c881d4800041002802c481d480002114410041ba828080003602c481d4800041002d009881d480004101460d11410041013a009881d48000410028029481d480002115410041bb8280800036029481d4800041002d009081d480004101460d12410041013a009081d48000410028028c81d480002116410041bc8280800036028c81d4800041002d00b881d480004101460d13410041013a00b881d4800041002802b481d480002117410041bd828080003602b481d4800041002d00a881d480004101460d14410041013a00a881d4800041002802a481d480002118410041be828080003602a481d4800041002d00f881d480004101460d15410041013a00f881d4800041002802f481d480002119410041bf828080003602f481d4800041002d00f081d480004101460d16410041013a00f081d4800041002802ec81d48000211a410041c0828080003602ec81d4800041002d00ecffd380004101460d174100211b410041013a00ecffd3800041002802e8ffd38000211c410041c1828080003602e8ffd380002002410036028009200241e80b6a200241f0086a10868c808000200241fc086a20022802f40820022802f80820022802f0082802101186808080000020022802e80b418180808078460d18200241c0006a200241e80b6a41880110f4978080001a024002400240200228024c221d41057441206a41c0002002280240221e418080808078461b221f4100480d000240201f0d00200241003602980720024280808080103702900720024190076a410041204101410110a3868080002002280294072120200228029807211b0c030b4100211b41002d008083d480001a201f41002802f482d480001182808080000022200d014101211b0b201b201f41b0f2c5800010b980808000000b20022020360294072020417e6a41003b00002002201f360290070b2020201b6a221f200141246a2201290000370000201f41186a200141186a290000370000201f41106a200141106a290000370000201f41086a200141086a2900003700002002201b41206a2201360298070240201d4101201e41808080807846221f1b221b450d002002280248200241c0006a201f1b211f201b41fc006c211d0340200241f0086a201f10e984808000200241e80b6a20022802f408220120022802f80841002802c480d4800011868080800000024020022802f008450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0240200228029007200228029807221b6b411f4b0d0020024190076a201b41204101410110a386808000200228029807211b0b201f41fc006a211f2002280294072220201b6a220120022900e80b370000200141086a200241e80b6a41086a290000370000200141106a200241e80b6a41106a290000370000200141186a200241e80b6a41186a2900003700002002201b41206a220136029807201d41847f6a221d0d000b0b200241f0086a2020200141002802bc80d48000118680808000000240200228029007450d0020022802940722012001417e6a2f00006b41002802ec82d48000118180808000000b410041002d00c883d480002201410120011b3a00c883d4800020010d19410020022900f0083700b883d48000410041023a00c883d480004100200241f0086a41086a22012900003700c083d4800020024190076a200241106a410c6a222120022802142002280218200228021028020011838080800000200120024190076a41086a29020037030020022002290290073703f0082002410036028009200241e80b6a200241f0086a10ed84808000200241f0086a410c6a20022802f408200128020020022802f0082802101186808080000020022802e80b418080808078460d1a200241c8016a200241e80b6a41f00010f4978080001a2002280244212220022802482120200228024c211e200241d0006a2101024002402002280240221b418080808078460d0020024190076a41086a221d200141086a2802003602002002200129020037039007200241e80b6a200241c0006a411c6a41e00010f4978080001a200241f0086a41086a2223200241c4016a280200360200200220022902bc013703f00841002d008083d480001a41fc0041002802f482d4800011828080800000221f450d1d201f201f41036a417c712201201f6b22246a417e6a20243b00002001201e36020c20012020360208200120223602042001201b3602002001200229039007370210200141186a201d2802003602002001411c6a200241e80b6a41e00010f4978080001a200241b8026a41086a2023280200360200200220022903f0083703b80241012122200121204101211e0c010b200241b8026a41086a200141086a280200360200200220012902003703b802201e450d1d0b200241f0086a200241c8016a10e984808000200241e80b6a20022802f408220120022802f80841002802c480d48000118680808000002020410c6a211f024020022802f008450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b201f200241e80b6a412010f5978080000d1d200241e80b6a200241c8016a10e984808000200241f0086a20022802ec0b220120022802f00b41002802c480d4800011868080800000201e41fc006c211f024020022802e80b450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b2020201f6a2124200241e80b6a41186a211d20202101201e211b0340201d200241f0086a41186a290000370300200241e80b6a41106a200241f0086a41106a290000370300200241e80b6a41086a200241f0086a41086a290000370300200220022900f0083703e80b200220013602880c200241e80b6a2001410c6a412010f5978080000d1f20024190076a200110e984808000200241f0086a200228029407221f20022802980741002802c480d48000118680808000000240200228029007450d00201f201f417e6a2f00006b41002802ec82d48000118180808000000b200141fc006a2101201b417f6a221b0d000b200241003602d00220024280808080c0003702c802200241003602dc0220024280808080c0003702d402200241003602e80220024280808080c0003702e0022002201e3602ec02200241e80b6a200241b8026a200241f8016a222510a98980800020022802e80b4101460d1f200241f0026a200241f00b6a41d00010f4978080001a20022802bc02211e20022802b8022123024020022802c0022201450d00200141017121264100211f024020014101460d002001417e71211d201e21014100211f034002402001280200450d00200141046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141186a2101201d201f41026a221f470d000b0b2026450d00201e201f410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402023450d00201e201e417e6a2f00006b41002802ec82d48000118180808000000b4100410035028483d4800042c4e6c11b85200241e80b6aad22277e202742ae94e698017e42208922288522293e028483d480002029422088222a42a2f0a4a00a7e202942ffffffff0f83222942d0e3fccc027e85212b202a42d0e3fccc027e202942a2f0a4a00a7e854220892129024041002d00a883d480004102460d0010c2908080000b202b202985212a200241f0086a410c6a4100290388e7c580003702004100410035028483d4800042c4e6c11b8520277e20288522293e028483d4800020024100290380e7c580003702f4082029422088222842a2f0a4a00a7e202942ffffffff0f83222942d0e3fccc027e85202842d0e3fccc027e202942a2f0a4a00a7e8542208985212941b883d48000410041002d00c883d480004102461b2101024041002d00a883d480004102460d0010c2908080000b200241e80b6a410c6a4100290388e7c58000370200200241c0036a410c6a200241f0086a41086a290200370200200241d4036a200241f0086a41106a28020036020020024100290380e7c580003702ec0b200241f4036a200241e80b6a41086a290200370200200241fc036a200241e80b6a41106a280200360200200241003602c003200220022902f0083702c403200241003602e803200220013602e0032002202a3703d803200220022902e80b3702ec03200241b883d48000410041002d00c883d480004102461b36028804200220293703800441002d008083d480001a413041002802f482d48000118280808000002201450d202001200141076a41787120016b221f6a2223417e6a201f3b00004100410035028483d4800042c4e6c11b8520277e202742ae94e698017e4220898522293e028483d480002029422088222842a2f0a4a00a7e202942ffffffff0f83222942d0e3fccc027e85202842d0e3fccc027e202942a2f0a4a00a7e85422089852129024041002d00a883d480004102460d0010c2908080000b4100212c200241e80b6a410c6a222d4100290388e7c5800037020041002d00c883d4800021012023410036020820234281808080103703002023202937032020024100290380e7c580003702ec0b202320022902e80b37020c202341146a200241e80b6a41086a222e2902003702002023411c6a200241e80b6a41106a222f280200360200202341b883d48000410020014102461b3602282002202336029404200241003602a804200220243602a404200220223602a00420022020360298042002202041fc006a36029c0441808080807821300240024020202802002201418080808078470d0042002129418080808078213142002128410021320c010b202341106a2133200241e00e6a41086a2134200241e00e6a41046a2135200241d0116a41086a2136200241d0116a41046a2137200241e80b6a41a4016a2138200241e80b6a41c0006a2139200241e80b6a41d0006a213a200241ac046a41d0006a213b200241e80b6a41306a213c200241ac046a41306a213d200241ac046a410c6a213e200241f0086a41a4016a213f200241f0086a41c0006a214020024190076a41246a214120024190076a41046a214220024184076a41086a214320024184076a41046a2144200241ec056a2145200241a8056a41246a2146200241a8056a41046a2147200241ac046a41046a2148202742ae94e698017e42208821494100212c420021284200212a418080808078213141808080807821300340200241ec0e6a202041046a41f80010f9978080001a200220022802a80441016a22243602a8042048200241ec0e6a41f80010f4978080001a200220013602ac04200241e80b6a41186a221d202541186a290200370300202f202541106a290200370300202e202541086a290200370300200220252902003703e80b200241f0086a41fccfc28000410141002802c480d4800011868080800000204720022903e80b370200204741086a221e202e290300370200204741106a2222202f290300370200204741186a2226201d290300370200204620022902f008370200204641086a200241f0086a41086a2201290200370200204641106a200241f0086a41106a221f290200370200204641186a200241f0086a41186a221b2902003702002002428080808080808080807f3702fc05200241003602f0052002200241f0026a3602a8052002200241c0036a3602ec052023202328020041016a22203602002020450d23200241e80b6a10e3878080002002202336028407200220022902ec0b3702880720022802e80b22202020280200417f6a2220360200024020200d00200241e80b6a10ff878080000b201b2026290200370300201f20222902003703002001201e2902003703002047290200212920022802ec0521262002280284072220202028020041016a221e360200200220293703f008201e450d23200228028807221e201e28020041016a22223602002022450d23200228028c072222202228020041016a224a360200204a450d23201d201b290300370300202f201f290300370300202e2001290300370300200220022903f0083703e80b200241f0086a41fccfc28000410141002802c480d4800011868080800000204220022903e80b370200204241086a202e290300370200204241106a202f290300370200204241186a201d290300370200204120022902f008370200204141086a2001290200370200204141106a201f290200370200204141186a201b2902003702002002428080808080808080807f3702e407200220223602e0072002201e3602dc07200220203602d80720022045410020261b3602d4072002200241a8056a36029007200241003a00fc0a200241003602f80a200242003702b40a200242003703a80a200241003a00e00b200241003602dc0b20024280808080c0003702d40b200241003a00d00b200241003602cc0b200242003703880b200241003602800b200241003602a00a200242003703a809200241003602a0092002420037039809200241003602900920024200370388092002410036028009200242003703f808200241003602f0082040200241f00f6a41e00010f4978080001a203f20022902e40f370200203f41086a200241e40f6a41086a222028020036020020024180808080783602900a202d41186a203e41186a290200370200202d41106a203e41106a290200370200202d41086a203e41086a290200370200202d203e290200370200203c203d290200370200203c41086a203d41086a290200370200203c41106a203d41106a290200370200203c41186a203d41186a290200370200203a203b290200370200203a41086a203b41086a290200370200203a41106a203b41106a290200370200203a41186a203b41186a29020037020020022802d8042101200241e80b6a200241ac046a41ecdbc58000109f8f808000200220013602940c024020022802d001221f450d0020022802cc0121010340024020012d0000221b41034b0d002001201b41027441d080c680006a2802006a221b280200450d00201b41046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141146a2101201f417f6a221f0d000b0b024020022802c801450d0020022802cc0122012001417e6a2f00006b41002802ec82d48000118180808000000b200241c8016a200241e80b6a41f00010f4978080001a200241d0116a10e387808000200241003a00f40d200241003602f00d200242003702ac0d200241003a00d80e200241003602d40e20024280808080c0003702cc0e200241003a00c80e200241003602c40e200242003703800e200241003602f80d200242003703a00d200241003602980d200242003703a00c200241003602980c200242003703900c200241003602880c200242003703800c200241003602f80b200242003703f00b200241003602e80b2039200241f00f6a41e00010f4978080001a203820022902e40f370200203841086a202028020036020020024180808080783602880d200241003b01e81141002802d0ffd3800021012002200241a8056a3602e4112002200241e80b6a3602e011200141ffffffff074f0d24024041002802d4ffd380000d00200241d0106a41002802ccffd380001181808080000041002802d0ffd380000d264100417f3602d0ffd38000024041002802d4ffd380000d0041002101410041013602d4ffd38000410020022902d0103702d8ffd380004100200241d0106a41086a2902003702e0ffd380000c010b024041002802e4ffd38000221f450d0041002802e0ffd38000210103402001280200221b201b280200417f6a221b3602000240201b0d00200110af828080000b200141046a2101201f417f6a221f0d000b0b024041002802dcffd38000450d0041002802e0ffd3800022012001417e6a2f00006b41002802ec82d48000118180808000000b410041013602d4ffd38000410020022902d0103702d8ffd380004100200241d0106a41086a2902003702e0ffd38000410041002802d0ffd3800041016a22013602d0ffd38000200141ffffffff074f0d270b4100200141016a3602d0ffd3800041002802d8ffd380000d274100417f3602d8ffd3800041002d008083d480001a411441002802f482d48000118280808000002201450d282001200141036a417c7120016b221f6a220141acebc580003602102001410036020820014281808080103702002001417e6a201f3b00002001200241d0116a36020c024041002802e4ffd38000221f41002802dcffd38000470d0041dcffd380004184d5c58000109a868080000b41002802e0ffd38000201f4102746a20013602004100201f41016a3602e4ffd38000410041002802d8ffd3800041016a3602d8ffd38000410028029c80d48000220141ffffffff074f0d29024041002802a080d480000d00200241d0106a410028029880d4800011818080800000410028029c80d480000d2b4100417f36029c80d48000024041002802a080d480000d0041002101410041013602a080d48000410020022902d0103702a480d480004100200241d0106a41086a2902003702ac80d480000c010b024041002802b080d48000221f450d0041002802ac80d48000210103402001280200221b201b280200417f6a221b3602000240201b0d00200110d2938080000b200141046a2101201f417f6a221f0d000b0b024041002802a880d48000450d0041002802ac80d4800022012001417e6a2f00006b41002802ec82d48000118180808000000b410041013602a080d48000410020022902d0103702a480d480004100200241d0106a41086a2902003702ac80d480004100410028029c80d4800041016a220136029c80d48000200141ffffffff074f0d2c0b4100200141016a36029c80d4800041002802a480d480000d2c4100417f3602a480d4800041002d008083d480001a411441002802f482d48000118280808000002201450d2d2001200141036a417c7120016b221f6a220141c0f2c580003602102001410036020820014281808080103702002001417e6a201f3b00002001200241e0116a36020c024041002802b080d48000221f41002802a880d48000470d0041a880d480004184d5c58000109a868080000b41002802ac80d48000201f4102746a20013602004100201f41016a3602b080d48000410041002802a480d4800041016a3602a480d48000200241ac046a10e08680800041002802a480d480000d2e4100417f3602a480d48000024041002802b080d480002201450d0041002001417f6a22013602b080d48000200241002802ac80d4800020014102746a28020022013602d01020012001280200417f6a221f360200201f0d00200241d0106a10d2938080000b410041002802a480d4800041016a3602a480d480004100410028029c80d48000417f6a36029c80d4800041002802d8ffd380000d2f4100417f3602d8ffd38000024041002802e4ffd380002201450d0041002001417f6a22013602e4ffd38000200241002802e0ffd3800020014102746a28020022013602d01020012001280200417f6a221f360200201f0d00200241d0106a10af828080000b410041002802d8ffd3800041016a3602d8ffd38000410041002802d0ffd38000417f6a3602d0ffd38000200241e80b6a10808880800020022802d01122012001280200417f6a2201360200024020010d00200241d0116a10ff878080000b20022802d41122012001280200417f6a2201360200024020010d0020371081888080000b20022802d81122012001280200417f6a2201360200024020010d0020361082888080000b200241d0106a200241ac046a41fc0010f4978080001a200241003b01e81141002802d0ffd380002101200220024190076a3602e4112002200241f0086a3602e011200141ffffffff074f0d30024041002802d4ffd380000d00200241e80b6a41002802ccffd380001181808080000041002802d0ffd380000d324100417f3602d0ffd38000024041002802d4ffd380000d0041002101410041013602d4ffd38000410020022902e80b3702d8ffd380004100202e2902003702e0ffd380000c010b024041002802e4ffd38000221f450d0041002802e0ffd38000210103402001280200221b201b280200417f6a221b3602000240201b0d00200110af828080000b200141046a2101201f417f6a221f0d000b0b024041002802dcffd38000450d0041002802e0ffd3800022012001417e6a2f00006b41002802ec82d48000118180808000000b410041013602d4ffd38000410020022902e80b3702d8ffd380004100202e2902003702e0ffd38000410041002802d0ffd3800041016a22013602d0ffd38000200141ffffffff074f0d330b4100200141016a3602d0ffd3800041002802d8ffd380000d334100417f3602d8ffd3800041002d008083d480001a411441002802f482d48000118280808000002201450d342001200141036a417c7120016b221f6a220141acebc580003602102001410036020820014281808080103702002001417e6a201f3b0000200120024184076a36020c024041002802e4ffd38000221f41002802dcffd38000470d0041dcffd380004184d5c58000109a868080000b41002802e0ffd38000201f4102746a20013602004100201f41016a3602e4ffd38000410041002802d8ffd3800041016a3602d8ffd38000410028029c80d48000220141ffffffff074f0d35024041002802a080d480000d00200241e80b6a410028029880d4800011818080800000410028029c80d480000d374100417f36029c80d48000024041002802a080d480000d0041002101410041013602a080d48000410020022902e80b3702a480d480004100202e2902003702ac80d480000c010b024041002802b080d48000221f450d0041002802ac80d48000210103402001280200221b201b280200417f6a221b3602000240201b0d00200110d2938080000b200141046a2101201f417f6a221f0d000b0b024041002802a880d48000450d0041002802ac80d4800022012001417e6a2f00006b41002802ec82d48000118180808000000b410041013602a080d48000410020022902e80b3702a480d480004100202e2902003702ac80d480004100410028029c80d4800041016a220136029c80d48000200141ffffffff074f0d380b4100200141016a36029c80d4800041002802a480d480000d384100417f3602a480d4800041002d008083d480001a411441002802f482d48000118280808000002201450d392001200141036a417c7120016b221f6a220141e0f3c580003602102001410036020820014281808080103702002001417e6a201f3b00002001200241e0116a36020c024041002802b080d48000221f41002802a880d48000470d0041a880d480004184d5c58000109a868080000b41002802ac80d48000201f4102746a20013602004100201f41016a3602b080d48000410041002802a480d4800041016a3602a480d48000200241e80b6a200241d0106a41fc0010f4978080001a200241e80b6a10e68780800041002802a480d480000d3a4100417f3602a480d48000024041002802b080d480002201450d0041002001417f6a22013602b080d48000200241002802ac80d4800020014102746a28020022013602e80b20012001280200417f6a221f360200201f0d00200241e80b6a10d2938080000b410041002802a480d4800041016a3602a480d480004100410028029c80d48000417f6a36029c80d4800041002802d8ffd380000d3b4100417f3602d8ffd38000024041002802e4ffd380002201450d0041002001417f6a22013602e4ffd38000200241002802e0ffd3800020014102746a28020022013602e80b20012001280200417f6a221f360200201f0d00200241e80b6a10af828080000b410041002802d8ffd3800041016a3602d8ffd38000410041002802d0ffd38000417f6a3602d0ffd38000200241e80b6a200241f0086a41c8ebc58000410510ec8a808000024020022802e80b450d0020022802ec0241014d0d00200241023602ec0b2002419cecc580003602e80b200242013702f40b2002418680808000ad422086200241ec026aad843703d0102002200241d0106a3602f00b200241e80b6a41acecc5800010fe80808000000b200241e00e6a10e387808000200241003b01d81141002802d0ffd3800021012002200241a8056a3602d4112002200241f0086a3602d011200141ffffffff074f0d40024041002802d4ffd380000d00200241e80b6a41002802ccffd380001181808080000041002802d0ffd380000d424100417f3602d0ffd38000024041002802d4ffd380000d0041002101410041013602d4ffd38000410020022902e80b3702d8ffd380004100202e2902003702e0ffd380000c010b024041002802e4ffd38000221f450d0041002802e0ffd38000210103402001280200221b201b280200417f6a221b3602000240201b0d00200110af828080000b200141046a2101201f417f6a221f0d000b0b024041002802dcffd38000450d0041002802e0ffd3800022012001417e6a2f00006b41002802ec82d48000118180808000000b410041013602d4ffd38000410020022902e80b3702d8ffd380004100202e2902003702e0ffd38000410041002802d0ffd3800041016a22013602d0ffd38000200141ffffffff074f0d430b4100200141016a3602d0ffd3800041002802d8ffd380000d434100417f3602d8ffd3800041002d008083d480001a411441002802f482d48000118280808000002201450d442001200141036a417c7120016b221f6a220141acebc580003602102001410036020820014281808080103702002001417e6a201f3b00002001200241e00e6a36020c024041002802e4ffd38000221f41002802dcffd38000470d0041dcffd380004184d5c58000109a868080000b41002802e0ffd38000201f4102746a20013602004100201f41016a3602e4ffd38000410041002802d8ffd3800041016a3602d8ffd38000410028029c80d48000220141ffffffff074f0d45024041002802a080d480000d00200241e80b6a410028029880d4800011818080800000410028029c80d480000d474100417f36029c80d48000024041002802a080d480000d0041002101410041013602a080d48000410020022902e80b3702a480d480004100202e2902003702ac80d480000c010b024041002802b080d48000221f450d0041002802ac80d48000210103402001280200221b201b280200417f6a221b3602000240201b0d00200110d2938080000b200141046a2101201f417f6a221f0d000b0b024041002802a880d48000450d0041002802ac80d4800022012001417e6a2f00006b41002802ec82d48000118180808000000b410041013602a080d48000410020022902e80b3702a480d480004100202e2902003702ac80d480004100410028029c80d4800041016a220136029c80d48000200141ffffffff074f0d480b4100200141016a36029c80d4800041002802a480d480000d484100417f3602a480d4800041002d008083d480001a411441002802f482d48000118280808000002201450d492001200141036a417c7120016b221f6a220141c0f2c580003602102001410036020820014281808080103702002001417e6a201f3b00002001200241d0116a36020c024041002802b080d48000221f41002802a880d48000470d0041a880d480004184d5c58000109a868080000b41002802ac80d48000201f4102746a20013602004100201f41016a3602b080d48000410041002802a480d4800041016a3602a480d48000200242a9a5c4bef894cdeee7003700e810200242d4c584efa7e5bfee643700e010200242b9e088b7b6cdc2d1133700d810200242c5e4f4b9cff9d18a0b3700d010200241e80b6a200241d0106a412010f28580800020022802e80b418080808078460d4a200241d0106a41306a203c280200360200200241d0106a41286a200241e80b6a41286a290200370300200241d0106a41206a200241e80b6a41206a290200370300200241d0106a41186a201d290200370300200241d0106a41106a202f290200370300200241d0106a41086a202e290200370300200220022902e80b3703d010200241d0106a200228021420022802182003200241206a109282808000200242bdb9c185ebd5beb6e0003700800c2002428ab9b2f0b1fbfe8ab77f3700f80b200242b9e088b7b6cdc2d1133700f00b200242c5e4f4b9cff9d18a0b3700e80b200241d0106a200241e80b6a412010e78580800020022802d0102101024002402031418080808078460d002028202a42ffffffff0f8384212a2001418080808078460d012001450d0120022802d41022012001417e6a2f00006b41002802ec82d48000118180808000000c010b20022902d410212a200121310b200241003a00df11200242908cf1f9cc86e8f8513700800c200242d4a4d2bc9ca3a4d7683700f80b200242b9e088b7b6cdc2d1133700f00b200242c5e4f4b9cff9d18a0b3700e80b200241e0116a200241e80b6a412010ef858080002002410020022802e011220120014180808080784622011b3602d8102002410420022802e41120011b221f3602d0102002201f3602d4102002201f410020022802e81120011b410c6c6a3602dc102002200241c8026a3602f00b2002200241d4026a3602ec0b2002200241df116a3602e80b200241d0106a200241e80b6a10da84808000200242efe0d69cf8bda6cb5d3700800c200242d6e9cddfbec0b7fd783700f80b200242b9e088b7b6cdc2d1133700f00b200242c5e4f4b9cff9d18a0b3700e80b200241086a200241e80b6a412010d085808000200228020c214b2002280208214c200242e3d488ecd2ee88dde3003700800c200242ce80d7eca9b9a7a3163700f80b200242b9e088b7b6cdc2d1133700f00b200242c5e4f4b9cff9d18a0b3700e80b200241e0116a200241e80b6a412010df85808000410420022802e41120022802e011221f4180808080784622011b21204100201f20011b211e024002400240024020022802e802221f410020022802e81120011b22016a221b418180014922220d0002402001450d00200141017121264100211f024020014101460d00200141feffff3f71211d4100211f20202101034002402001280200450d00200141046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141206a2101201d201f41026a221f470d000b0b2026450d002020201f4104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b201e0d010c020b2001410474211d0240200120022802e002201f6b4d0d00200241e0026a201f20014104411010a38680800020022802e802221f20016a211b0b20022802e402201f4104746a2020201d10f4978080001a2002201b3602e802201e450d020b20202020417e6a2f00006b41002802ec82d48000118180808000000b2022450d4c0b200242939685e2c5afc3c6443700800c200242dbfcc3e0bc84a3df013700f80b200242b9e088b7b6cdc2d1133700f00b200242c5e4f4b9cff9d18a0b3700e80b2002200241e80b6a412010d0858080002002280204214d2002280200214e0240202420022802ec022201470d002002428ba4f08ac7ad89c4ad7f3700800c200242d7c9cea6cfa8b4c4a47f3700f80b200242b9e088b7b6cdc2d1133700f00b200242c5e4f4b9cff9d18a0b3700e80b200241e0116a200241e80b6a412010e7858080000240024020022802e011418080808078460d00202e200241e0116a41086a280200360200200220022902e0113703e80b0c010b200241e80b6a200241c8016a10e9848080000b0240203041808080807872418080808078460d00204f204f417e6a2f00006b41002802ec82d48000118180808000000b20022802f00b215020022802ec0b214f20022802e80b21300b41002802a480d480000d4c4100417f3602a480d48000024041002802b080d48000221f450d004100201f417f6a221f3602b080d48000200241002802ac80d48000201f4102746a280200221f3602e80b201f201f280200417f6a221b360200201b0d00200241e80b6a10d2938080000b410041002802a480d4800041016a3602a480d480004100410028029c80d48000417f6a36029c80d4800041002802d8ffd380000d4d4100417f3602d8ffd38000024041002802e4ffd38000221f450d004100201f417f6a221f3602e4ffd38000200241002802e0ffd38000201f4102746a280200221f3602e80b201f201f280200417f6a221b360200201b0d00200241e80b6a10af828080000b410041002802d8ffd3800041016a3602d8ffd38000410041002802d0ffd38000417f6a3602d0ffd3800020022802e00e221f201f280200417f6a221f3602000240201f0d00200241e00e6a10ff878080000b20022802e40e221f201f280200417f6a221f3602000240201f0d0020351081888080000b20022802e80e221f201f280200417f6a221f3602000240201f0d0020341082888080000b02400240024020242001460d00200241e80b6a200241f0086a200241a8056a410110ea8a80800020022802f00c2251418080808078470d0141ccecc580004135200241ef116a41bcecc580004184edc5800010a981808000000b200241f0086a10808880800020024190076a10838880800020022802840722012001280200417f6a2201360200024020010d0020024184076a10ff878080000b20022802880722012001280200417f6a2201360200024020010d0020441081888080000b200228028c0722012001280200417f6a2201360200024020010d0020431082888080000b200241a8056a1083888080000c010b20022802f80c211e20022802f40c215220022802ec0c214a20022802e80c212420022802e40c215320022802e00c212020022802dc0c215420022802d80c215520022802cc0c215620022802c80c215720022802940c211d200228028c0c215820022802880c211f200241e80b6a200241a8056a41dc0110f4978080001a200241e80b6a1083888080004100410028028483d4800041c4e6c11b73ad20277e2049853e028483d48000024041002d00a883d480004102460d0010c2908080000b201f29030021290240024020580d004200212b0c010b201f2058411c6c41236a41787122016bad422086205820016a41096aad84212b0b0240201d450d00201f41086a21012029427f8542808182848890a0c0807f8321290340024020294200520d000340201f41a07e6a211f20012903002129200141086a221b2101202942808182848890a0c0807f83222942808182848890a0c0807f510d000b202942808182848890a0c0807f852129201b21010b201d417f6a211d2029427f7c20298321280240201f410020297aa74103766b411c6c6a221b41646a2802002232418080808078460d00201b41746a2802002122201b41706a2802002159201b41686a28020021260240201b417c6a2802004101480d00200241e80b6a200241f0026a20012022201b41786a280200221b108488808000200241e80b6a2022201b41002802c480d480001186808080000020232802080d532023417f3602082033200241e80b6a10fa878080001a2023202328020841016a3602080b02402059450d0020222022417e6a2f00006b41002802ec82d48000118180808000000b02402032450d0020262026417e6a2f00006b41002802ec82d48000118180808000000b20282129201d0d010c020b0b201d450d000340024020284200520d000340201f41a07e6a211f20012903002129200141086a221b2101202942808182848890a0c0807f83222942808182848890a0c0807f510d000b202942808182848890a0c0807f852128201b21010b0240201f410020287aa74103766b411c6c6a221b41646a280200450d00201b41686a28020022222022417e6a2f00006b41002802ec82d48000118180808000000b2028427f7c21290240201b41706a280200450d00201b41746a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b20292028832128201d417f6a221d0d000b0b02402058450d00202b42ffffffff0f83500d00202b422088a722012001417e6a2f00006b41002802ec82d48000118180808000000b02402020450d0020542101034002402001280200450d00200141046a280200221f201f417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200221f418080808078460d00201f450d00200141106a280200221f201f417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012020417f6a22200d000b0b02402055450d0020542054417e6a2f00006b41002802ec82d48000118180808000000b0240204a450d0041002120034002402024202041186c6a221d280200450d00201d28020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240201d280214221f450d00201d2802102101034002402001280200450d00200141046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200221b418080808078460d00201b450d00200141106a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141186a2101201f417f6a221f0d000b0b0240201d28020c450d00201d28021022012001417e6a2f00006b41002802ec82d48000118180808000000b202041016a2220204a470d000b0b02402053450d0020242024417e6a2f00006b41002802ec82d48000118180808000000b0240201e450d0020522101034002402001280200450d00200141046a280200221f201f417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a280200221f201f417e6a2f00006b41002802ec82d48000118180808000000b0240200141186a280200221f418080808078460d00201f450d002001411c6a280200221f201f417e6a2f00006b41002802ec82d48000118180808000000b200141246a2101201e417f6a221e0d000b0b02402051450d0020522052417e6a2f00006b41002802ec82d48000118180808000000b02402057450d0020562056417e6a2f00006b41002802ec82d48000118180808000000b200241f0086a10808880800020024190076a10838880800020022802840722012001280200417f6a2201360200024020010d0020024184076a10ff878080000b20022802880722012001280200417f6a2201360200024020010d0020441081888080000b200228028c0722012001280200417f6a220136020020010d0020431082888080000b204b4100204c4101711b202c6a212c0240200228029c04222020022802a404460d00202a4280808080708321282002202041fc006a36029c0420202802002201418080808078470d010b0b204d4100204e4101711b2132202a42ffffffff0f832129202a4280808080708321280b20024198046a10c285808000024020022802dc02224a450d00200241003a00e01120024180808080783602a805204a410c6c211d20022802d80241086a2101200241e0116a41016a212620024190076a41066a2124200241e80b6a41066a211b034020022001417c6a2902003702d010200241e80b6a200241d0106a10928580800020022802e80b221f418180808078460d3c200241ac046a41046a2222201b41046a2f01003b01002002201b2801003602ac0420022d00ed0b211e20022d00ec0b212002400240024002400240201f418080808078460d00202420022802ac04360100202441046a20222f01003b01002002201e3a009507200220203a0094072002201f3602900720022802a805418080808078460d01200228029807211e20022802b00521202002200241a8056a360298042020201e470d0220022802ac05200228029407221e202010f5978080000d02201f450d04201e201e417e6a2f00006b41002802ec82d48000118180808000000c040b20022d00e0114101470d022002202636029007024020022d00e111202041ff0171470d0020022d00e21141ff0171201e41ff0171460d040b200241023602ec0b20024188f1c580003602e80b200242023702f40b2002201e3a009904200220203a009804200241c282808000ad42208620024198046aad843703f808200241c382808000ad42208620024190076aad843703f0082002200241f0086a3602f00b200241e80b6a4198f1c5800010fe80808000000b200241a8056a41086a20024190076a41086a28020036020020022002290290073703a8050c020b200241023602ec0b200241e4f1c580003602e80b200242023702f40b200241c482808000ad42208620024198046aad843703f808200241c582808000ad42208620024190076aad843703f0082002200241f0086a3602f00b200241e80b6a41f4f1c5800010fe80808000000b2002201e3a00e211200220203a00e111200241013a00e0110b2001410c6a2101201d41746a221d0d000b20022802d002220141ffff004b0d3c0240200120022802c802470d00200241c8026a41a497c480001096868080000b20022802cc022001410c6c6a221f4100290298eac58000370200201f41086a41002802a0eac580003602002002200141016a221f3602d00220022802d402212220022802d80221200240024002400240201f20022802dc0222016a221e41818001490d0002402001450d00200141017121244100211f024020014101460d00200141feffffff0071211d202021014100211f034002402001280200450d00200141046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141186a2101201d201f41026a221f470d000b0b2024450d002020201f410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20220d010c020b2001410c6c211b02400240200120022802c802201f6b4b0d00201e21010c010b200241c8026a201f20014104410c10a38680800020022802d002221f20016a21010b20022802cc02201f410c6c6a2020201b10f4978080001a200220013602d0022022450d020b20202020417e6a2f00006b41002802ec82d48000118180808000000b201e418180014f0d3e0b20022802a8052201418080808078460d002001450d0020022802ac0522012001417e6a2f00006b41002802ec82d48000118180808000000b2030418080808078460d3d200020022902c80237020c200020022902e002370218200020323602342000202c36023020002031360224200020503602082000204f3602042000203036020020002028202984370228200041146a200241c8026a41086a280200360200200041206a200241e0026a41086a28020036020020232023280200417f6a2201360200024020010d0020024194046a10ff878080000b024020022802cc032220450d00024020022802d403221d450d0020022802c803221f41086a2101201f290300427f8542808182848890a0c0807f8321290340024020294200520d000340201f41c0776a211f20012903002129200141086a221b2101202942808182848890a0c0807f83222942808182848890a0c0807f510d000b202942808182848890a0c0807f852129201b21010b201f410020297aa74103766b4188016c6a41987f6a10938c8080002029427f7c2029832129201d417f6a221d0d000b0b202020204188016c418f016a41787122016a4177460d0020022802c80320016b22012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802f4032220450d00024020022802fc03221d450d0020022802f003221f41086a2101201f290300427f8542808182848890a0c0807f8321290340024020294200520d000340201f41807c6a211f20012903002129200141086a221b2101202942808182848890a0c0807f83222942808182848890a0c0807f510d000b202942808182848890a0c0807f852129201b21010b201f20297aa741037441c007716b41406a10928c8080002029427f7c2029832129201d417f6a221d0d000b0b2020202041067441c7006a41407122016a4177460d0020022802f00320016b22012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802f4022220450d00024020022802fc02221d450d0020022802f002221f41086a2101201f290300427f8542808182848890a0c0807f8321290340024020294200520d000340201f41807d6a211f20012903002129200141086a221b2101202942808182848890a0c0807f83222942808182848890a0c0807f510d000b202942808182848890a0c0807f852129201b21010b2029427f7c21280240201f410020297aa74103766b41306c6a221b41706a280200450d00201b41746a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b20282029832129201d417f6a221d0d000b0b2020202041306c41376a41707122016a4177460d0020022802f00220016b22012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802b003450d0020022802b40322012001417e6a2f00006b41002802ec82d48000118180808000000b204a0d4d024020022802dc022201450d0020022802d80221202001410171211e4100211f024020014101460d002001417e71211d202021014100211f034002402001280200450d00200141046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141186a2101201d201f41026a221f470d000b0b201e450d002020201f410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20022802d402450d4d20022802d80222012001417e6a2f00006b41002802ec82d48000118180808000000c4d0b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b4180eec58000411c200241ef116a41ccedc58000419ceec5800010a981808000000b200241003602f80b200241013602ec0b200241a0cacd80003602e80b200242043702f00b200241e80b6a4188cbcd800010fe80808000000b41dcedc580004113200241ef116a41ccedc5800041f0edc5800010a981808000000b410441fc004190e8c5800010b980808000000b41a0e8c58000412841b8e9c5800010a181808000000b200242003702fc0820024281808080c0003702f40820024180eac580003602f0084100201f200241e80b6a200241f0086a4188eac5800010d182808000000b200241ac046a41f0efc580004102200241e80b6a412010c78c808000200241d0106a41f0efc5800041022001410c6a2201412010c78c808000200241c682808000ad4220862229200241d0106aad843703b00520022029200241ac046aad843703a8052002420237029c072002410336029407200241a4f0c58000360290072002200241a8056a360298074100200241e80b6a200120024190076a41bcf0c5800010d182808000000b2002410036028009200241013602f408200241b4edc580003602f008200242043702f808200241f0086a41bcedc5800010fe80808000000b4108413010ab808080000b000b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41f4d4c58000109a81808000000b4104411410ab80808000000b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41f4d4c58000109a81808000000b4104411410ab80808000000b41e8afc88000109a81808000000b41e8afc88000109a81808000000b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41f4d4c58000109a81808000000b4104411410ab80808000000b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41f4d4c58000109a81808000000b4104411410ab80808000000b41e8afc88000109a81808000000b41e8afc88000109a81808000000b4184f2c58000411c200241ef116a41ccedc5800041a0f2c5800010a981808000000b200242013702ec0b200241003602e80b41d4eac580004126200241e80b6a418cebc58000419cebc5800010a981808000000b41d4eac580004126200241ef116a41c4eac5800041fceac5800010a981808000000b41a4eac58000411041b4eac5800010a181808000000b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41f4d4c58000109a81808000000b4104411410ab80808000000b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41f4d4c58000109a81808000000b4104411410ab80808000000b41aceec58000413941e8eec5800010a181808000000b41f8eec5800041d500200241ef116a41c4eac5800041d0efc5800010a981808000000b41e8afc88000109a81808000000b41e8afc88000109a81808000000b41e0efc58000109a81808000000b024020022802d001221f450d0020022802cc0121010340024020012d0000221b41034b0d002001201b41027441d080c680006a2802006a221b280200450d00201b41046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141146a2101201f417f6a221f0d000b0b024020022802c801450d0020022802cc0122012001417e6a2f00006b41002802ec82d48000118180808000000b410020043602c482d48000410020053602dc82d48000410020063602b482d48000410020073602ac82d480004100200836029482d48000410020093602d482d480004100200a36029c82d480004100200b36028c82d480004100200c3602bc82d48000410041003a00c882d48000410041003a00e082d48000410041003a00b882d48000410041003a00b082d48000410041003a009882d48000410041003a00d882d48000410041003a00a082d48000410041003a009082d48000410041003a00c082d480004100200d3602e482d480004100200e3602cc82d480004100200f3602a482d480004100201036029c81d48000410020113602ac81d48000410020123602bc81d480004100201336028481d48000410020143602c481d480004100201536029481d48000410041003a00e882d48000410041003a00d082d48000410041003a00a882d48000410041003a00a081d48000410041003a00b081d48000410041003a00c081d48000410041003a008881d48000410041003a00c881d48000410041003a009881d480004100201636028c81d48000410020173602b481d48000410020183602a481d48000410020193602f481d480004100201a3602ec81d480004100201c3602e8ffd38000410041003a009081d48000410041003a00b881d48000410041003a00a881d48000410041003a00f881d48000410041003a00f081d48000410041003a00ecffd38000202120022802142002280218200228021028021011868080800000200241f0116a2480808080000b02000b02000b860101027f0240200028020022002802142201450d002001200141057441276a41607122026a4177460d00200028021020026b22012001417e6a2f00006b41002802ec82d48000118180808000000b02402000417f460d0020002000280204417f6a220136020420010d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0bfe0501057f23808080800041306b22012480808080000240024020002802bc0122020d0041002102410021030c010b20012002360224200141003602202001200236021420014100360210200120002802c00122023602282001200236021820002802c4012103410121020b2001200336022c2001200236021c2001200236020c2001410c6a10c6898080000240024020002802c801220341054b0d002003450d01200041cc016a21020340200210a6888080002002410c6a21022003417f6a22030d000c020b0b200041cc016a2802002104024020002802d0012203450d00200421020340200210a6888080002002410c6a21022003417f6a22030d000b0b20042004417e6a2f00006b41002802ec82d48000118180808000000b410021024100210341002104024020002802b0012205450d0020012005360224200141003602202001200536021420014100360210200120002802b40122033602282001200336021820002802b8012104410121030b2001200436022c2001200336021c2001200336020c2001410c6a10c8898080004100210302402000280290022204450d002001200436022420014100360220200120043602142001410036021020012000280294022202360228200120023602182000280298022103410121020b2001200336022c2001200236021c2001200236020c2001410c6a10c3898080002000419c026a10e289808000024020002802ec022203450d0020002802e80221020340024020022002280200418080808078464102746a2204280200450d00200441046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200241146a21022003417f6a22030d000b0b024020002802e402450d0020002802e80222022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802a001418080808078460d00200041e0006a200041f0006a411c410810ae8c80800020002802a001450d0020002802a40122022002417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000b4101017f024020002802002200417f460d0020002000280204417f6a220136020420010d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0be20204047f017e027f017e0240200028020022012802142202450d000240200128021c2203450d002001280210220441086a21002004290300427f8542808182848890a0c0807f8321050340024020054200520d000340200441a07f6a210420002903002105200041086a22062100200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621000b2004410020057aa74103766b410c6c6a41746a220728020022062006280200417f6a22063602002005427f7c2108024020060d0020071090888080000b200820058321052003417f6a22030d000b0b20022002410c6c41136a41787122006a4177460d00200128021020006b22002000417e6a2f00006b41002802ec82d48000118180808000000b02402001417f460d0020012001280204417f6a220036020420000d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0bd20301047f024020002802482201450d0020012001280200417f6a2202360200024020020d00200041c8006a10ff878080000b200028024c22012001280200417f6a2201360200024020010d00200041cc006a1081888080000b200028025022012001280200417f6a220136020020010d00200041d0006a1082888080000b024020002802582201418080808078460d0002402001450d00200028025c22012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802a0012201418080808078460d002001450d0020002802a40122012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802ac012201418080808078460d002001450d0020002802b00122012001417e6a2f00006b41002802ec82d48000118180808000000b200028026821030240200028026c2202450d00200341086a210103402001280200220420042802002204417f6a360200024020044101470d00200110de8f8080000b200141306a21012002417f6a22020d000b0b02402000280264450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b2000280298014129490d00200028027022012001417e6a2f00006b41002802ec82d48000118180808000000b0b9f0e03067f067e057f23808080800041d0006b22052480808080004100210602400240024002400240024002400240024020044100480d002004450d0241002d008083d480001a200441002802f482d480001182808080000022060d01410121060b2006200441a8b2c8800010b980808000000b2006417e6a41003b000020062003200410f49780800021062001280244210702400240200420012802482208470d0020062007200410f5978080002109200641002802ec82d480001181808080000020090d010c030b200641002802ec82d48000118180808000000b200541106a2003200441002802c480d480001186808080000041002d008083d480001a200441002802f482d4800011828080800000220a450d02200a417e6a41003b0000200a2003200410f497808000210320042008470d0420032007200410f5978080000d04200341002802ec82d48000118180808000000c050b20012802480d020b200141206a21030c040b4101200441a8b2c8800010b980808000000b200541106a2003410041002802c480d48000118680808000004101210a0b200541306a41186a200541106a41186a290000370300200541306a41106a200541106a41106a290000370300200541306a41086a200541106a41086a29000037030020052005290010370330410029039083d48000210b410029038883d48000210c2001290310210d024020012802182203450d00200341086a290000200b85220e422088220f2003290000200d42308985220d42208822107e200e42ffffffff0f83220e200d42ffffffff0f83220d7e85200e20107e200f200d7e8542208985210d0b2005290338200d422089220e200b7c85220d422088220b2005290348200c85220f42208822107e200d42ffffffff0f83220d200f42ffffffff0f83220f7e85200b200f7e200d20107e85422089852005290330220d200e85220b42ffffffff0f83220e2005290340200c85220c42ffffffff0f83220f7e85200b422088220b200c422088220c7e85200b200f7e200e200c7e8542208985220c422088220b4288d5fda1027e200c42ffffffff0f83220c42d3918cad087e85200b42d3918cad087e200c4288d5fda1027e8542208885220c421988220e42ff0083428182848890a0c080017e210b2001280200220941506a2107200d422088a72111200da7211220012802042206200ca72213712214210341002115024003400240200920036a290000220c200b85220d427f85200d42fffdfbf7efdfbfff7e7c8342808182848890a0c0807f83220d500d000340200541306a20074100200d7aa741037620036a2006716b220841306c6a412010f597808000450d03200d427f7c200d83220d50450d000b0b0240200c200c4201868342808182848890a0c0807f8350450d00201541086a221520036a20067121030c010b0b0240200920146a29000042808182848890a0c0807f83220d4200520d00410821030340201420036a2107200341086a21032009200720067122146a29000042808182848890a0c0807f83220d500d000b0b02402009200d7aa741037620146a20067122036a2c00002208417f4c0d002009200929030042808182848890a0c0807f837aa741037622036a2d000021080b200541106a41086a210702402008410171450d0020012802080d00200541086a20014101200141106a410110d4828080000240200128020022092001280204220620137122086a29000042808182848890a0c0807f83220d4200520d00410821030340200820036a2108200341086a21032009200820067122086a29000042808182848890a0c0807f83220d500d000b0b2009200d7aa741037620086a20067122036a2c00002208417f4c0d002009200929030042808182848890a0c0807f837aa741037622036a2d000021080b200920036a200ea741ff007122153a00002009200341786a2006716a41086a20153a00002001200128020820084101716b3602082001200128020c41016a36020c2009410020036b41306c6a220341506a2012360200200341706a2004360200200341746a200a360200200341786a20043602002003417c6a4101360200200341586a220641106a200741106a290000370000200641086a200741086a29000037000020062007290000370000200341546a20113602000c010b02402009200841306c6a2203417c6a220728020022064101480d002007200641016a3602002004450d01200a200a417e6a2f00006b41002802ec82d48000118180808000000c010b0240200341706a2208280200450d00200341746a28020022062006417e6a2f00006b41002802ec82d4800011818080800000200728020021060b20082004360200200341786a2004360200200341746a200a3602002007200641016a3602000b200541106a21030b20002003290000370000200041186a200341186a290000370000200041106a200341106a290000370000200041086a200341086a290000370000200541d0006a2480808080000b140020002802042000280208200110bc818080000be70f01047f23808080800041306b2202248080808000024002400240024002400240024002400240200028020028020022002802000e080102030004050607010b000b2002200041086a36020c4101210020012802002203419480c6800041062001280204220428020c2205118080808000000d060240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d082002410c6a200110fe8d808000450d010c080b200341e080c2800041022005118080808000000d0741012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10fe8d8080000d07200228022041da80c280004102200228022428020c118080808000000d070b200128020041e280c280004101200128020428020c1180808080000021000c060b2002200041046a36020c4101210020012802002203419a80c68000410f2001280204220428020c2205118080808000000d050240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d072002410c6a200110aa87808000450d010c070b200341e080c2800041022005118080808000000d0641012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa878080000d06200228022041da80c280004102200228022428020c118080808000000d060b200128020041e280c280004101200128020428020c1180808080000021000c050b2002200041086a36020c410121002001280200220341a980c6800041092001280204220428020c2205118080808000000d040240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d062002410c6a200110828e808000450d010c060b200341e080c2800041022005118080808000000d0541012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10828e8080000d05200228022041da80c280004102200228022428020c118080808000000d050b200128020041e280c280004101200128020428020c1180808080000021000c040b2002200041106a36020c410121002001280200220341b280c6800041082001280204220428020c2205118080808000000d030240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d052002410c6a200110858d808000450d010c050b200341e080c2800041022005118080808000000d0441012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10858d8080000d04200228022041da80c280004102200228022428020c118080808000000d040b200128020041e280c280004101200128020428020c1180808080000021000c030b2002200041086a36020c410121002001280200220341ba80c6800041042001280204220428020c2205118080808000000d020240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d042002410c6a200110a987808000450d010c040b200341e080c2800041022005118080808000000d0341012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a9878080000d03200228022041da80c280004102200228022428020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021000c020b2002200041046a36020c410121002001280200220341be80c68000410a2001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110838e808000450d010c030b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10838e8080000d02200228022041da80c280004102200228022428020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021000c010b2002200041086a36020c410121002001280200220341c880c6800041072001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110818d808000450d010c020b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10818d8080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000bbf0201047f23808080800041306b22022480808080002002200028020036020c410121000240200128020022034184fbc5800041042001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110ab858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ab858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000b1200200141b8f9c58000410210b4818080000bb40202027f017e2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002903004101200110fc8080800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000bfc0701077f02400240024020002802002201418080808078470d002000280204450d02410821010c010b02402001450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b200041cc006a10a688808000200028023821020240200028023c2203450d0041002104034002402002200441f0006c6a22052802082206450d00200528020421010340024020012d0000220741034b0d002001200741027441d080c680006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012006417f6a22060d000b0b02402005280200450d00200528020422012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280234450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802402201418080808078460d002001450d00200028024422012001417e6a2f00006b41002802ec82d48000118180808000000b200028025c2104024020002802602201450d002001410171210241002106024020014101460d002001417e7121052004210141002106034002402001280200450d00200141046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012005200641026a2206470d000b0b2002450d00200420064104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402000280258450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402000280264450d00200028026822012001417e6a2f00006b41002802ec82d48000118180808000000b20002802742104024020002802782207450d002007410171210241002106024020074101460d002004411c6a21012007417e7121054100210603400240200141686a280200450d002001416c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141286a21012005200641026a2206470d000b0b2002450d002004200641146c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402000280270450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200028027c450d0141800121010b200020016a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b0b7301017f200028020022012001280200417f6a2201360200024020010d00200010ff878080000b200028020422012001280200417f6a2201360200024020010d00200041046a1081888080000b200028020822012001280200417f6a2201360200024020010d00200041086a1082888080000b0b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b980401067f0240024002400240024002400240024002400240024020002d0000417f6a0e0a010a0203040506070a0a000b2000280204450d090c070b20002802040d060c080b20002802040d050c070b20002802040d040c060b200028020821010240200028020c2202450d0020012103034002402003280200450d00200341046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032002417f6a22020d000b0b20002802040d040c050b200028020821010240200028020c2203450d002003410171210541002102024020034101460d002003417e7121062001210341002102034002402003280200450d00200341046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032006200241026a2202470d000b0b2005450d0020012002410c6c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b20002802040d030c040b2000280208450d03200028020c21010c020b2000280204450d020b200028020821010b20012001417e6a2f00006b41002802ec82d48000118180808000000b0ba50201017f02400240024002400240024002400240024020002d0000417f6a0e0700010203040506080b20002d00044102470d072000280208450d07410c21010c060b024020002d00044102470d002000280208450d00200028020c22012001417e6a2f00006b41002802ec82d48000118180808000000b20002d00284102470d06200028022c450d06413021010c050b20002d00044102470d052000280208450d05410c21010c040b20002d00044102470d042000280208450d04410c21010c030b20002d00044102470d032000280208450d03410c21010c020b2000280204450d02410821010c010b20002d00044102470d012000280208450d01410c21010b200020016a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b0bf90303027e027f047e20022903102001ad8a2103024020014111490d00200229032020037c210402402001418002490d0020022000200120032004200229032820037c200229033020037c200229031810c3908080003703100f0b200141f00171210520002001410f716a210620022903182107024003402000200620056a22014f0d01200141786a29000020078522084220882209200041086a2900002004852204422088220a7e200842ffffffff0f832208200442ffffffff0f8322047e852008200a7e200920047e85422089852104200141706a2900002007852208422088220920002900002003852203422088220a7e200842ffffffff0f832208200342ffffffff0f8322037e852008200a7e200920037e85422089852103200041106a2100200541706a22050d000b0b200220032004853703100f0b20022903202104024002400240200141074b0d00200141034b0d012001450d02200020016a417f6a310000420886200020014101766a310000842004852104200320003100008521030c020b20002900002003852103200020016a41786a29000020048521040c010b200320003500008521032004200020016a417c6a3500008521040b200220034220882207200442208822087e200342ffffffff0f832203200442ffffffff0f8322047e85200720047e200320087e85422089853703100b4e01027f024020002802002201417f460d0020012001280204417f6a22023602042000280204410b6a4104490d0020020d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b1e00200128020041b0fbc58000410c200128020428020c118080808000000b1e00200128020041bcfbc58000410b200128020428020c118080808000000b1e00200128020041c7fbc580004105200128020428020c118080808000000b02000bd90301067f23808080800041106b22032480808080004100210402400240024002402002280204220541216a22064100480d0020022802002107024020060d002003410036020c20034280808080103702040c030b4100210841002d008083d480001a200641002802f482d480001182808080000022040d01410121040b2004200641c0fec5800010b980808000000b2004417e6a41003b00002003410036020c20032004360208200320063602042005415f490d010b200341046a410020054101410110a3868080002003280204210620032802082104200328020c21080b200420086a2007200510f4978080001a2003200820056a220536020c024020022d00084101470d0020022d00092102024020052006470d00200341046a41d0fec5800010b880808000200328020821040b200420056a20023a00002003200541016a220536020c200328020421060b0240200620056b411f4b0d00200341046a200541204101410110a386808000200328020c21050b200328020820056a22062001290000370000200041086a200541206a360200200641086a200141086a290000370000200641106a200141106a290000370000200641186a200141186a29000037000020002003290204370200200341106a2480808080000bc40506027f017e017f017e027f017e23808080800041106b22042480808080000240024002400240024002402002200141206a412010f597808000450d00200441046a2002200310958880800020042802082105200128020c450d02200129031020012802182005200428020c22021097888080002106200128020422072006a7712103200642198842ff0083428182848890a0c080017e2108200128020021094100210a03400240200920036a290000220b2008852206427f85200642fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832206500d000340024020022009410020067aa741037620036a2007716b411c6c6a2201416c6a280200470d002005200141686a280200200210f597808000450d050b2006427f7c200683220650450d000b0b200b200b4201868342808182848890a0c0807f8350450d03200a41086a220a20036a20077121030c000b0b41002103024002400240200128024822024100480d0020012802442103024020020d00410121010c030b41002d008083d480001a200241002802f482d480001182808080000022010d01410121030b2003200241a8b2c8800010b980808000000b2001417e6a41003b00000b20012003200210f49780800021012000200236020820002001360204200020023602000c040b410021032001417c6a28020041004a0d010b20004180808080783602000c010b024002400240200141786a28020022024100480d00200141746a2802002103024020020d00410121010c030b41002d008083d480001a200241002802f482d480001182808080000022010d01410121030b2003200241a8b2c8800010b980808000000b2001417e6a41003b00000b20012003200210f49780800021012000200236020820002001360204200020023602000b2004280204450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200441106a2480808080000bbe0503047e027f017e410029039083d48000210402402001450d00200141086a290000200485220542208822062001290000200042308985220042208822077e200542ffffffff0f832205200042ffffffff0f8322007e85200520077e200620007e854220898521000b410029038883d48000210520002003ad8a21000240024020034111490d00200020047c210402402003418002490d0020022003200020042000410029039883d480007c200041002903a083d480007c200510c39080800021000c020b200341f00171210120022003410f716a2108024003402002200820016a22094f0d01200941786a29000020058522064220882207200241086a2900002004852204422088220a7e200642ffffffff0f832206200442ffffffff0f8322047e852006200a7e200720047e85422089852104200941706a2900002005852206422088220720022900002000852200422088220a7e200642ffffffff0f832206200042ffffffff0f8322007e852006200a7e200720007e85422089852100200241106a2102200141706a22010d000b0b200020048521000c010b024002400240200341074b0d00200341034b0d012003450d02200220036a417f6a310000420886200220034101766a310000842004852104200020023100008521000c020b20022900002000852100200220036a41786a29000020048521040c010b200020023500008521002004200220036a417c6a3500008521040b20004220882206200442208822077e200042ffffffff0f832200200442ffffffff0f8322047e85200620047e200020077e854220898521000b200542ffffffff0f83220420032000a773ad22067e20004220882200200542208822057e85200520067e200020047e8542208985220042208822054288d5fda1027e200042ffffffff0f83220042d3918cad087e85200542d3918cad087e20004288d5fda1027e85422089850bdc0301037f23808080800041306b220524808080800041002106024002400240024002400240024020044100480d002004450d0241002d008083d480001a200441002802f482d480001182808080000022060d01410121060b2006200441a8b2c8800010b980808000000b2006417e6a41003b000020062003200410f49780800021060240024020042001280248470d0020062001280244200410f5978080002107200641002802ec82d480001181808080000020070d010c030b200641002802ec82d48000118180808000000b200541046a2003200441002802c480d480001186808080000041002d008083d480001a0240200441002802f482d48000118280808000002206450d002006417e6a41003b00000c040b4101200441a8b2c8800010b980808000000b20012802480d010b200141206a21040c020b200541046a2003410041002802c480d4800011868080800000410121060b20062003200410f49780800021032005200436022c20052003360228200520043602242001200541046a2002200541246a109988808000200541046a21040b20002004290000370000200041186a200441186a290000370000200041106a200441106a290000370000200041086a200441086a290000370000200541306a2480808080000bad0506047f017e017f017e037f027e23808080800041306b22042480808080002003280204210502400240024002400240200328020822062000280248470d0020052000280244200610f597808000450d010b200441086a2001200210958880800020002903102000280218200428020c2207200428021022011097888080002108200028020422092008a7712106200842198842ff0083428182848890a0c080017e210a200041106a210b2000280200210c4100210d024003400240200c20066a290000220e200a85220f427f85200f42fffdfbf7efdfbfff7e7c8342808182848890a0c0807f83220f500d00034002402001200c4100200f7aa741037620066a2009716b411c6c6a2202416c6a280200470d002007200241686a280200200110f597808000450d040b200f427f7c200f83220f50450d000b0b200e200e4201868342808182848890a0c0807f8350450d03200d41086a220d20066a20097121060c000b0b02402004280208450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b2002417c6a220128020022064101480d022001200641016a3602002003280200450d0320052005417e6a2f00006b41002802ec82d48000118180808000000c030b2003280200450d0220052005417e6a2f00006b41002802ec82d48000118180808000000c020b20042802082102200441286a200341086a2802003602002004200136021c20042007360218200420023602142004410136022c2004200329020037022020002008200441146a200b109a888080000c010b0240200241706a220c280200450d00200241746a28020022022002417e6a2f00006b41002802ec82d4800011818080800000200128020021060b200c20032902003702002001200641016a360200200c41086a200341086a2802003602000b200441306a2480808080000b8a0401067f23808080800041106b2204248080808000024020002802002205200028020422062001a722077122086a29000042808182848890a0c0807f8322014200520d00410821090340200820096a2108200941086a21092005200820067122086a29000042808182848890a0c0807f832201500d000b0b0240200520017aa741037620086a20067122096a2c00002208417f4c0d002005200529030042808182848890a0c0807f837aa741037622096a2d000021080b02402008410171450d0020002802080d00200441086a200041012003410110b58c8080000240200028020022052000280204220620077122086a29000042808182848890a0c0807f8322014200520d00410821090340200820096a2108200941086a21092005200820067122086a29000042808182848890a0c0807f832201500d000b0b200520017aa741037620086a20067122096a2c00002208417f4c0d002005200529030042808182848890a0c0807f837aa741037622096a2d000021080b200520096a200741197622073a00002005200941786a2006716a41086a20073a00002000200028020820084101716b3602082000200028020c41016a36020c2005410020096b411c6c6a41646a220941186a200241186a280200360200200941106a200241106a290200370200200941086a200241086a29020037020020092002290200370200200441106a2480808080000bc70404037e017f037e047f0240200028020c0d0041000f0b410029039083d480002102410029038883d48000210320002903102104024020002802182205450d00200541086a290000200285220642208822072005290000200442308985220442208822087e200642ffffffff0f832206200442ffffffff0f8322047e85200620087e200720047e854220898521040b2000280204220920012900082004422089220420027c85220242208822062001290018200385220742208822087e200242ffffffff0f832202200742ffffffff0f8322077e85200620077e200220087e85422089852001290000200485220442ffffffff0f8322022001290010200385220342ffffffff0f8322067e8520044220882204200342208822037e85200420067e200220037e8542208985220442208822034288d5fda1027e200442ffffffff0f83220442d3918cad087e85200342d3918cad087e20044288d5fda1027e85422088852204a7712105200442198842ff0083428182848890a0c080017e21022000280200220a41506a21004100210b0240024003400240200a20056a29000022032002852204427f85200442fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832204500d00034020012000410020047aa741037620056a2009716b220c41306c6a412010f597808000450d032004427f7c200483220450450d000b0b0240200320034201868342808182848890a0c0807f83500d00410021050c030b200b41086a220b20056a20097121050c000b0b200a200c41306c6a21050b200541506a410020051b0bb80201047f23808080800041a0026b2201248080808000200028020028020c2802082202200228020441016a22033602044100210402400240200320022802084b0d002000417f200028020422024190016a220320032002491b2202360204200220002802084f0d0041002d008083d480001a41980141002802f482d48000118280808000002202450d0120022002410f6a41707120026b22036a2204417e6a220220033b00002001200010fd85808000024020012802004108470d00200420022f00006b210041002104200041002802ec82d48000118180808000000c010b20014190016a200141900110f4978080001a200420014190016a41900110f4978080001a200028020028020c28020822002000280204417f6a3602040b200141a0026a24808080800020040f0b411041900110ab80808000000be10201017f02400240024020022001280200280200220441206a412010f597808000450d00418080808078210120042002109b8880800022020d010c020b4100210202400240200428024822014100480d0020042802442104024020010d004101210241012004200110f4978080001a0c040b41002d008083d480001a200141002802f482d480001182808080000022020d01410121020b2002200141a8b2c8800010b980808000000b2002417e6a41003b000020022004200110f4978080001a0c010b0240200228022c41014e0d000c010b41002104024002400240200228022822014100480d0020022802242104024020010d00410121020c030b41002d008083d480001a200141002802f482d480001182808080000022020d01410121040b2004200141a8b2c8800010b980808000000b2002417e6a41003b00000b20022004200110f4978080001a0b2000200136020820002002360204200020013602000bde0201017f02400240024020022001280200220441206a412010f597808000450d00418080808078210120042002109b8880800022020d010c020b4100210202400240200428024822014100480d0020042802442104024020010d004101210241012004200110f4978080001a0c040b41002d008083d480001a200141002802f482d480001182808080000022020d01410121020b2002200141a8b2c8800010b980808000000b2002417e6a41003b000020022004200110f4978080001a0c010b0240200228022c41014e0d000c010b41002104024002400240200228022822014100480d0020022802242104024020010d00410121020c030b41002d008083d480001a200141002802f482d480001182808080000022020d01410121040b2004200141a8b2c8800010b980808000000b2002417e6a41003b00000b20022004200110f4978080001a0b2000200136020820002002360204200020013602000be30201017f024002402002200141206a412010f597808000450d00024020012002109b888080002201450d0041002104200128022c41004a0d020b20004180808080783602000f0b41002104024002400240200128024822024100480d0020012802442104024020020d00410121010c030b41002d008083d480001a200241002802f482d480001182808080000022010d01410121040b2004200241a8b2c8800010b980808000000b2001417e6a41003b00000b20012004200210f49780800021012000200236020820002001360204200020023602000f0b024002400240200128022822024100480d0020012802242104024020020d00410121010c030b41002d008083d480001a200241002802f482d480001182808080000022010d01410121040b2004200241a8b2c8800010b980808000000b2001417e6a41003b00000b20012004200210f49780800021012000200236020820002001360204200020023602000b350002402001200041206a412010f5978080000d0041010f0b024020002001109b8880800022000d0041000f0b200028022c41004a0bd71d01047f23808080800041306b2202248080808000024002400240024002400240024002400240024002400240024002400240024020002d00000e0f000102030405060708090a0b0c0d0e000b200128020041c5fcc58000410c200128020428020c1180808080000021030c0e0b410121032002200041016a36020c2001280200220041e4fcc5800041092001280204220428020c2205118080808000000d0d0240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0f2002410c6a200110f08f808000450d010c0f0b200041e080c2800041022005118080808000000d0e41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d0e200228022041da80c280004102200228022428020c118080808000000d0e0b200128020041e280c280004101200128020428020c1180808080000021030c0d0b410121032002200041016a36020c2001280200220041edfcc5800041112001280204220428020c2205118080808000000d0c0240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0e2002410c6a200110f08f808000450d010c0e0b200041e080c2800041022005118080808000000d0d41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d0d200228022041da80c280004102200228022428020c118080808000000d0d0b200128020041e280c280004101200128020428020c1180808080000021030c0c0b410121032002200041016a36020c200128020022004184fbc5800041042001280204220428020c2205118080808000000d0b0240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0d2002410c6a200110f08f808000450d010c0d0b200041e080c2800041022005118080808000000d0c41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d0c200228022041da80c280004102200228022428020c118080808000000d0c0b200128020041e280c280004101200128020428020c1180808080000021030c0b0b410121032002200041016a36020c2001280200220041fefcc58000410e2001280204220428020c2205118080808000000d0a0240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0c2002410c6a200110f08f808000450d010c0c0b200041e080c2800041022005118080808000000d0b41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d0b200228022041da80c280004102200228022428020c118080808000000d0b0b200128020041e280c280004101200128020428020c1180808080000021030c0a0b410121032002200041016a36020c20012802002200418cfdc5800041122001280204220428020c2205118080808000000d090240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0b2002410c6a200110f08f808000450d010c0b0b200041e080c2800041022005118080808000000d0a41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d0a200228022041da80c280004102200228022428020c118080808000000d0a0b200128020041e280c280004101200128020428020c1180808080000021030c090b410121032002200041016a36020c20012802002200419efdc5800041062001280204220428020c2205118080808000000d080240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0a2002410c6a200110f08f808000450d010c0a0b200041e080c2800041022005118080808000000d0941012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d09200228022041da80c280004102200228022428020c118080808000000d090b200128020041e280c280004101200128020428020c1180808080000021030c080b410121032002200041016a36020c2001280200220041a4fdc58000410a2001280204220428020c2205118080808000000d070240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d092002410c6a200110f08f808000450d010c090b200041e080c2800041022005118080808000000d0841012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d08200228022041da80c280004102200228022428020c118080808000000d080b200128020041e280c280004101200128020428020c1180808080000021030c070b410121032002200041016a36020c2001280200220041aefdc5800041232001280204220428020c2205118080808000000d060240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d082002410c6a200110f08f808000450d010c080b200041e080c2800041022005118080808000000d0741012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d07200228022041da80c280004102200228022428020c118080808000000d070b200128020041e280c280004101200128020428020c1180808080000021030c060b410121032002200041016a36020c2001280200220041d1fdc5800041172001280204220428020c2205118080808000000d050240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d072002410c6a200110f08f808000450d010c070b200041e080c2800041022005118080808000000d0641012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d06200228022041da80c280004102200228022428020c118080808000000d060b200128020041e280c280004101200128020428020c1180808080000021030c050b410121032002200041016a36020c2001280200220041e8fdc5800041162001280204220428020c2205118080808000000d040240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d062002410c6a200110f08f808000450d010c060b200041e080c2800041022005118080808000000d0541012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d05200228022041da80c280004102200228022428020c118080808000000d050b200128020041e280c280004101200128020428020c1180808080000021030c040b2002200041016a36022020014190fec58000410b200041046a4180fec58000200041086a4180fec58000200241206a41d4fcc5800010ba8180800021030c030b410121032002200041016a36020c20012802002200419bfec5800041082001280204220428020c2205118080808000000d020240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d042002410c6a200110f08f808000450d010c040b200041e080c2800041022005118080808000000d0341012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d03200228022041da80c280004102200228022428020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021030c020b410121032002200041016a36020c2001280200220041a3fec58000410b2001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d032002410c6a200110f08f808000450d010c030b200041e080c2800041022005118080808000000d0241012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d02200228022041da80c280004102200228022428020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021030c010b410121032002200041016a36020c2001280200220041aefec58000410f2001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d022002410c6a200110f08f808000450d010c020b200041e080c2800041022005118080808000000d0141012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021030b200241306a24808080800020030b820307027f017e027f017e027f027e017f2001290310200128021820022802042203200228020822041097888080002105200128020422062005a7712107200542198842ff0083428182848890a0c080017e2108200128020021094100210a02400240024003400240200920076a290000220b200885220c427f85200c42fffdfbf7efdfbfff7e7c8342808182848890a0c0807f83220c500d0003400240200420094100200c7aa741037620076a2006716b411c6c6a220d416c6a280200470d002003200d41686a280200200410f597808000450d040b200c427f7c200c83220c50450d000b0b200b200b4201868342808182848890a0c0807f8350450d02200a41086a220a20076a20067121070c000b0b200020013602142000200d36021020002005370308200042003703002002280200450d0120032003417e6a2f00006b41002802ec82d48000118180808000000f0b2000200136021c200020053703082000420137030020002002290200370210200041186a200241086a2802003602000b0b9d090b017f027e037f017e027f017e097f017e027f017e017f23808080800041206b22022480808080004100410035028483d4800042c4e6c11b852002ad22037e200342ae94e698017e4220898522033e028483d480002003422088220442a2f0a4a00a7e200342ffffffff0f83220342d0e3fccc027e85200442d0e3fccc027e200342a2f0a4a00a7e85422089852103024041002d00a883d480004102460d0010c2908080000b20012003370310200128020421052001280200210620014100290380e7c58000370300200128020c2107200141086a4100290388e7c58000370300200141b883d48000410041002d00c883d480004102461b3602180240024020050d00420021080c010b20062005411c6c41236a41787122096bad422086200520096a41096aad8421080b02402007450d00200641086a210a2006290300427f8542808182848890a0c0807f83210b200041106a210c03400240200b4200520d000340200641a07e6a2106200a2903002103200a41086a2209210a200342808182848890a0c0807f83220342808182848890a0c0807f510d000b200342808182848890a0c0807f85210b2009210a0b4100210d20064100200b7aa74103766b411c6c6a220941786a280200210e200941746a280200210f200941706a2802002110200941646a28020021112009417c6a280200211220002903102000280218200941686a28020022132009416c6a28020022141097888080002115200028020422162015a7712117201542198842ff0083428182848890a0c080017e21182007417f6a2107200b427f7c200b83210b2000280200211902400240024003400240201920176a29000022042018852203427f85200342fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832203500d000340024020142019410020037aa741037620176a2016716b411c6c6a2209416c6a280200470d002013200941686a280200201410f597808000450d040b2003427f7c200383220350450d000b0b200420044201868342808182848890a0c0807f8350450d02200d41086a220d20176a20167121170c000b0b02402011450d0020132013417e6a2f00006b41002802ec82d48000118180808000000b2009417c6a22142802002217417f4a0d010240200941706a2219280200450d00200941746a28020022172017417e6a2f00006b41002802ec82d4800011818080800000201428020021170b20192010360200200941786a200e360200200941746a200f3602002014201720126a36020020070d020c030b200220123602182002200e3602142002200f3602102002201036020c200220143602082002201336020420022011360200200020152002200c109a8880800020070d010c020b2014201720126a36020002402010450d00200f200f417e6a2f00006b41002802ec82d48000118180808000000b20070d000b0b200141106a210902402005450d00200842ffffffff0f83500d002008422088a722142014417e6a2f00006b41002802ec82d48000118180808000000b20012009411c410810ae8c80800002402001280240450d00200128024422092009417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000bfe0202047f017e23808080800041306b2202248080808000200241086a200110ce84808000024002402002280208410171450d00200041013602000c010b200228020c2103200128020028020c2802082204200428020441016a22053602040240200520042802084d0d00200041013602000c010b0240024020030d00410021040c010b02402003410a4f0d00418c0121040c010b417f2003410a6ead42bc017e2206a72006422088a71b21040b2001417f2001280204220520046a220420042005491b2204360204024020042001280208490d00200041013602000c010b200241003a00132002200336022820024100360224200220013602202002200241136a36022c200241146a200241206a10a588808000410121040240024020022d00134101470d00200241146a10a6888080000c010b200020022902143702042000410c6a2002411c6a280200360200410021040b20002004360200200128020028020c28020822012001280204417f6a3602040b200241306a2480808080000baa0302057f017e23808080800041c0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a418c91c6800010ca8f80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c2101024020034101460d00024020034115490d00200120032002413f6a10d1888080000c010b2001200341012002413f6a1082908080000b2002280208210441002d008083d480001a0240418c0141002802f482d480001182808080000022050d004104418c0110ab80808000000b2005200541036a417c7120056b22066a220541003b018a01200541003602002005417e6a20063b000020022005360214200241003602182002410036021c200220012003410c6c6a36023820022004360234200220013602302002200136022c2002418180808078360220200241146a200241206a2002411c6a10cb83808000200229021421072000200228021c360208200020073702000b200241c0006a2480808080000bd10501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a2100200128028c0121012005417f6a22050d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200041786a22000d000b0b20012100410021020b024002400240200220002f018a014f0d0020022105200021010c010b034020002802002201450d0220002f018801210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f018a014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4190016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a2106200028028c0121002004417f6a22040d000b0b20074107490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200641786a22060d000b0b024020012005410c6c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a2104200028028c0121002005417f6a22050d000b0b20024108490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b034020002000417e6a2f00006b210120002802002100200141002802ec82d480001181808080000020000d000b0b0ba60301057f23808080800041206b220224808080800002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0403020100030b200641044f0d0420034105490d0420012003417b6a3602042001200541056a36020020052800012203418080808004490d040c050b20034104490d0320012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d03200341087420067241027621030c040b20040d010c020b200641027621030c020b20012003417e6a3602042001200541026a36020020052d00012203450d00200341087420067241027621030c010b200041013602000c010b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10a888808000410121010240024020022d00034101470d00200241046a10a6888080000c010b200020022902043702042000410c6a2002410c6a280200360200410021010b200020013602000b200241206a2480808080000baa0302057f017e23808080800041c0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a418c91c6800010cc8f80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c2101024020034101460d00024020034115490d00200120032002413f6a10d1888080000c010b2001200341012002413f6a1082908080000b2002280208210441002d008083d480001a0240418c0141002802f482d480001182808080000022050d004104418c0110ab80808000000b2005200541036a417c7120056b22066a220541003b018a01200541003602002005417e6a20063b000020022005360214200241003602182002410036021c200220012003410c6c6a36023820022004360234200220013602302002200136022c2002418180808078360220200241146a200241206a2002411c6a10cb83808000200229021421072000200228021c360208200020073702000b200241c0006a2480808080000baa0302057f017e23808080800041c0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a418c91c6800010d48f80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c2101024020034101460d00024020034115490d00200120032002413f6a10d1888080000c010b2001200341012002413f6a1082908080000b2002280208210441002d008083d480001a0240418c0141002802f482d480001182808080000022050d004104418c0110ab80808000000b2005200541036a417c7120056b22066a220541003b018a01200541003602002005417e6a20063b000020022005360214200241003602182002410036021c200220012003410c6c6a36023820022004360234200220013602302002200136022c2002418180808078360220200241146a200241206a2002411c6a10cb83808000200229021421072000200228021c360208200020073702000b200241c0006a2480808080000b830501097f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110dc8480800002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a2105200428028c0121042000417f6a22000d000b0b20074108490d010340200428028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012104200541786a22050d000c020b0b20064101710d01418892c6800010a081808000000b2004210541002104410021070b02400240024002400240200720052f018a014f0d0020052100200721080c010b034020052802002200450d02200441016a210420052f018801210820002105200820002f018a014f0d000b0b20040d01200841016a2107200021050c020b41f891c6800010a081808000000b200020084102746a4190016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a2109200528028c0121052004417f6a22040d000b0b200a4107490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200941786a22090d000b0b20002008410c6c6a220428020821082002200428020c22043602082002200241086a36020c2002410c6a200110dc84808000024020042001280200200128020822006b4d0d0020012000200410f491808000200128020821000b200128020420006a2008200410f4978080001a2001200020046a360208410021042003417f6a22030d000b0b200241106a2480808080000ba60301057f23808080800041206b220224808080800002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0403020100030b200641044f0d0420034105490d0420012003417b6a3602042001200541056a36020020052800012203418080808004490d040c050b20034104490d0320012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d03200341087420067241027621030c040b20040d010c020b200641027621030c020b20012003417e6a3602042001200541026a36020020052d00012203450d00200341087420067241027621030c010b200041013602000c010b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10ac88808000410121010240024020022d00034101470d00200241046a10ad888080000c010b200020022902043702042000410c6a2002410c6a280200360200410021010b200020013602000b200241206a2480808080000ba70301057f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a418c91c6800010cd8f80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020422012001417e6a2f00006b41002802ec82d48000118180808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a10d2888080000c010b200120034101200241186a10fd8f8080000b2002280200210441002d008083d480001a0240418c0141002802f482d480001182808080000022050d004104418c0110ab80808000000b2005200541036a417c7120056b22066a220541003b018a01200541003602582005417e6a20063b00002002200536020c2002410036021020024100360214200220012003410c6c6a360234200220043602302002200136022c20022001360228200241023602182002410c6a200241186a200241146a10c783808000200020022802143602082000200229020c3702000b200241c0006a2480808080000b970501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a2100200128028c0121012004417f6a22040d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200041786a22000d000b0b20012104410021020b024002400240200220042f018a014f0d00200421000c010b034020042802582200450d0220042f018801210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f018a014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a4190016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a2104200028028c0121002005417f6a22050d000b0b20014107490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a2104200028028c0121002005417f6a22050d000b0b20024108490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b034020002000417e6a2f00006b210420002802582100200441002802ec82d480001181808080000020000d000b0b0ba60301057f23808080800041206b220224808080800002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0403020100030b200641044f0d0420034105490d0420012003417b6a3602042001200541056a36020020052800012203418080808004490d040c050b20034104490d0320012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d03200341087420067241027621030c040b20040d010c020b200641027621030c020b20012003417e6a3602042001200541026a36020020052d00012203450d00200341087420067241027621030c010b200041013602000c010b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10af88808000410121010240024020022d00034101470d00200241046a10b0888080000c010b200020022902043702042000410c6a2002410c6a280200360200410021010b200020013602000b200241206a2480808080000bab0301057f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a418c91c6800010d28f80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020422012001417e6a2f00006b41002802ec82d48000118180808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a10d7888080000c010b200120034101200241186a1081908080000b2002280200210441002d008083d480001a024041e40141002802f482d480001182808080000022050d00410441e40110ab80808000000b2005200541036a417c7120056b22066a220541003b01e201200541003602582005417e6a20063b00002002200536020c200241003602102002410036021420022001200341146c6a36023820022004360234200220013602302002200136022c20024181808080783602202002410c6a200241186a200241146a10c883808000200020022802143602082000200229020c3702000b200241c0006a2480808080000bd20501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802e40121012005417f6a22050d000b0b20024108490d00034020012802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012101200041786a22000d000b0b20012100410021020b024002400240200220002f01e2014f0d0020022105200021010c010b034020002802582201450d0220002f01e001210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f01e2014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a41e8016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802e40121002004417f6a22040d000b0b20074107490d00034020002802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012100200641786a22060d000b0b024020012005410c6c6a220128025c450d00200141dc006a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802e40121002005417f6a22050d000b0b20024108490d00034020002802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012100200441786a22040d000b0b034020002000417e6a2f00006b210120002802582100200141002802ec82d480001181808080000020000d000b0b0ba60301057f23808080800041206b220224808080800002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0403020100030b200641044f0d0420034105490d0420012003417b6a3602042001200541056a36020020052800012203418080808004490d040c050b20034104490d0320012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d03200341087420067241027621030c040b20040d010c020b200641027621030c020b20012003417e6a3602042001200541026a36020020052d00012203450d00200341087420067241027621030c010b200041013602000c010b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10b288808000410121010240024020022d00034101470d00200241046a10b3888080000c010b200020022902043702042000410c6a2002410c6a280200360200410021010b200020013602000b200241206a2480808080000bac0301057f23808080800041e0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a418c91c6800010d58f80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c21012002200241df006a360220024020034101460d00024020034115490d0020012003200241206a10d6888080000c010b200120034101200241206a10fe8f8080000b2002280208210441002d008083d480001a024041940341002802f482d480001182808080000022050d00410441940310ab80808000000b2005200541036a417c7120056b22066a220541003b019203200541003602e0022005417e6a20063b000020022005360214200241003602182002410036021c20022001200341246c6a360254200220043602502002200136024c2002200136024820024102360220200241146a200241206a2002411c6a10c9838080002000200228021c360208200020022902143702000b200241e0006a2480808080000b990501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802940321012004417f6a22040d000b0b20024108490d000340200128029403280294032802940328029403280294032802940328029403280294032101200041786a22000d000b0b20012104410021020b024002400240200220042f0192034f0d00200421000c010b034020042802e0022200450d0220042f019003210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f0192034f0d000b0b0240024020050d00200241016a21020c010b200020024102746a4198036a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802940321002005417f6a22050d000b0b20014107490d000340200028029403280294032802940328029403280294032802940328029403280294032100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802940321002005417f6a22050d000b0b20024108490d000340200028029403280294032802940328029403280294032802940328029403280294032100200441786a22040d000b0b034020002000417e6a2f00006b210420002802e0022100200441002802ec82d480001181808080000020000d000b0b0ba60301057f23808080800041206b220224808080800002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0403020100030b200641044f0d0420034105490d0420012003417b6a3602042001200541056a36020020052800012203418080808004490d040c050b20034104490d0320012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d03200341087420067241027621030c040b20040d010c020b200641027621030c020b20012003417e6a3602042001200541026a36020020052d00012203450d00200341087420067241027621030c010b200041013602000c010b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10b588808000410121010240024020022d00034101470d00200241046a10b6888080000c010b200020022902043702042000410c6a2002410c6a280200360200410021010b200020013602000b200241206a2480808080000bab0301057f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a418c91c6800010cb8f80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020422012001417e6a2f00006b41002802ec82d48000118180808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a10d5888080000c010b200120034101200241186a1083908080000b2002280200210441002d008083d480001a024041b80141002802f482d480001182808080000022050d00410441b80110ab80808000000b2005200541036a417c7120056b22066a220541003b01b601200541003602002005417e6a20063b00002002200536020c20024100360210200241003602142002200120034104746a360234200220043602302002200136022c20022001360228200241818080807836021c2002410c6a200241186a200241146a10cc83808000200020022802143602082000200229020c3702000b200241c0006a2480808080000bbb0701097f024020002802002201450d0020002802042102024002400240200028020822030d00200121000c010b4100210002400340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802b80121012005417f6a22050d000b0b20024108490d00034020012802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012101200041786a22000d000b0b20012100410021020b024002400240200220002f01b6014f0d0020022105200021010c010b034020002802002201450d0220002f01b401210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f01b6014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a41bc016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802b80121002004417f6a22040d000b0b20074107490d00034020002802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012100200641786a22060d000b0b20012005410c6c6a220141306a2107024020012802382205450d00200128023421082005410171210941002104024020054101460d002005417e7121064100210420082101034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012006200441026a2204470d000b0b2009450d00200820044104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402007280200450d00200728020422012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a2203450d020c010b0b20002000417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b20000d01410021000b2002450d0002400240200241077122040d00200221010c010b2002210103402001417f6a210120002802b80121002004417f6a22040d000b0b20024108490d00034020002802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012100200141786a22010d000b0b034020002000417e6a2f00006b210120002802002100200141002802ec82d480001181808080000020000d000b0b0bf405010a7f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110dc8480800002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a2105200428028c0121042000417f6a22000d000b0b20074108490d010340200428028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012104200541786a22050d000c020b0b20064101710d01418892c6800010a081808000000b2004210541002104410021070b02400240024002400240200720052f018a014f0d0020052100200721080c010b034020052802582200450d02200441016a210420052f018801210820002105200820002f018a014f0d000b0b20040d01200841016a2107200021050c020b41f891c6800010a081808000000b200020084102746a4190016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a2109200528028c0121052004417f6a22040d000b0b200a4107490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200941786a22090d000b0b200020084103746a2109200020084102746a28025c210002402001280200200128020822046b41034b0d0020012004410410f491808000200128020821040b200128020420046a20003600002001200441046a22043602082009280200210b02402001280200220820046b41034b0d0020012004410410f49180800020012802002108200128020821040b2001200441046a22003602082001280204220a20046a200b360000200928020421040240200820006b41034b0d0020012000410410f4918080002001280204210a200128020821000b2001200041046a360208200a20006a2004360000410021042003417f6a22030d000b0b200241106a2480808080000bd50501097f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110dc8480800002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a210520042802e40121042000417f6a22000d000b0b20074108490d01034020042802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012104200541786a22050d000c020b0b20064101710d01418892c6800010a081808000000b2004210541002104410021070b02400240024002400240200720052f01e2014f0d0020052100200721080c010b034020052802582200450d02200441016a210420052f01e001210820002105200820002f01e2014f0d000b0b20040d01200841016a2107200021050c020b41f891c6800010a081808000000b200020084102746a41e8016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a210920052802e40121052004417f6a22040d000b0b200a4107490d00034020052802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012105200941786a22090d000b0b200020084103746a210920002008410c6c6a41dc006a210002402001280200200128020822046b41074b0d0020012004410810f491808000200128020821040b2001200441086a360208200128020420046a2009290000370000200028020421082002200028020822043602082002200241086a36020c2002410c6a200110dc84808000024020042001280200200128020822006b4d0d0020012000200410f491808000200128020821000b200128020420006a2008200410f4978080001a2001200020046a360208410021042003417f6a22030d000b0b200241106a2480808080000b870603057f017e017f23808080800041d0006b2201248080808000200141286a41c781c68000410810c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418c83808000360238200242fadefdbfd8c483f821370330200242eccaa8be8cb9a691ff0037032820024101360224200241d081c68000360220200241c580808000360218200242cdd1c1cbe3b5a3c444370310200242b9e0ddc2f1d2dbbf4c37030820024101360204200241cf81c680003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a28020036020020012002290200370300200128021021042001280214210320012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242fafaa99bd4c9939cab7f3703002002410036023020024280808080c00037032820024100360220200241003602182002418d83808000360210200242bfe0a5c0a1acfab28c7f3703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002007418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000be70503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418381808000360218200242acf6debeefe0d9c8d300370310200242efc9c9edb5e7b3a6c70037030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c6800041041089848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be60503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241ed8080800036021820024296e397c6bfa5aeee46370310200242aceff0b4f2bd8f8fe40037030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c6800041041080848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be60503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bc80808000360218200242ec8ca7e0e2f0c7e6bf7f370310200242e6e2dea393f0baf43a37030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c68000410410e5838080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be60503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a22024190818080003602182002429091d8d1efb08fcfac7f37031020024293e9bbb0a4a897e10937030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c68000410410a0848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be50503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418181808000360218200242eef8e7b09dc4b6b53f370310200242bbeefa98e893a7ad0237030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c68000410410ba848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be50503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418681808000360218200242d992b6b99794ddc84b370310200242d99be088f9e680c06937030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c680004104108d848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be60503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202419581808000360218200242eeb2b382fcbac9a41a37031020024285ded1bd85cbe2dc8b7f37030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c68000410410b4848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be60503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241eb8080800036021820024298a593acd1ceffcb9c7f3703102002429e8eaae68bb9afc65137030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c68000410410f6838080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be50503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc1337030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c68000410410e8838080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be60503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418b81808000360218200242cff88daa9586998651370310200242c3ffb3a5afef9985857f37030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c6800041041098848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bac0403067f017e017f23808080800041306b220224808080800002400240024020012802142203200128021022044f0d00200128020c2105024002400340200520036a2d0000220641776a220741174b0d014101200774419380800471450d012001200341016a220336021420042003470d000b42002108200421030c010b42800221080b20082006ad42108684428082b803510d010b200241106a2001410310a28b80800002402002280224418180808078470d002000418280808078360214200020022802103602000c020b20002002290310370300200041086a2002290318370300200041186a200241106a41186a290300370300200041106a200241106a41106a2903003703000c010b2001200341016a220736021420072004200720044b1b2109200128020c210502400240200720044f0d002001200341026a220636021402400240200520076a2d000041f500470d0020062009460d022001200341036a22073602140240200520066a2d000041ec00460d00200721060c010b20072009460d022001200341046a2206360214200520076a2d000041ec00460d010b20024109360210200241086a200520042006108793808000200241106a2002280208200228020c10f59280800021030c020b20004181808080783602140c020b200241053602102002200520042009108793808000200241106a2002280200200228020410f59280800021030b2000418280808078360214200020033602000b200241306a2480808080000baa0403067f017e017f23808080800041c0006b220224808080800002400240024020012802142203200128021022044f0d00200128020c2105024002400340200520036a2d0000220641776a220741174b0d014101200774419380800471450d012001200341016a220336021420042003470d000b42002108200421030c010b42800221080b20082006ad42108684428082b803510d010b2002411c6a200110a48d808000024020022d001c4101470d0020002002280220360204200041013a00000c020b2000200229001d370002200041013a00012000411a6a200241356a290000370000200041126a2002412d6a2900003700002000410a6a200241256a290000370000200041003a00000c010b2001200341016a220736021420072004200720044b1b2109200128020c210502400240200720044f0d002001200341026a220636021402400240200520076a2d000041f500470d0020062009460d022001200341036a22073602140240200520066a2d000041ec00460d00200721060c010b20072009460d022001200341046a2206360214200520076a2d000041ec00460d010b2002410936021c200241106a2005200420061087938080002002411c6a2002280210200228021410f59280800021030c020b200041003b01000c020b2002410536021c200241086a2005200420091087938080002002411c6a2002280208200228020c10f59280800021030b200041013a0000200020033602040b200241c0006a2480808080000b8a0403067f017e017f23808080800041206b220224808080800002400240024020012802142203200128021022044f0d00200128020c2105024002400340200520036a2d0000220641776a220741174b0d014101200774419380800471450d012001200341016a220336021420042003470d000b42002108200421030c010b42800221080b20082006ad42108684428082b803510d010b200241146a200110ab8a80800002402002280214418080808078470d002000200228021836020420004181808080783602000c020b20002002290214370200200041086a200241146a41086a2802003602000c010b2001200341016a220736021420072004200720044b1b2109200128020c210502400240200720044f0d002001200341026a220636021402400240200520076a2d000041f500470d0020062009460d022001200341036a22073602140240200520066a2d000041ec00460d00200721060c010b20072009460d022001200341046a2206360214200520076a2d000041ec00460d010b20024109360214200241086a200520042006108793808000200241146a2002280208200228020c10f59280800021030c020b20004180808080783602000c020b200241053602142002200520042009108793808000200241146a2002280200200228020410f59280800021030b2000418180808078360200200020033602040b200241206a2480808080000baf0503067f017e017f23808080800041d0006b2201248080808000200141286a41e081c68000410e418483c6800041294104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242e0faa999f589aae1583703002002420437022c20024203370224200241889cc38000360220200241003602182002418e83808000360210200242f484c384a886c5e1d9003703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000ba40401077f0240024002400240200128022022020d00410021020c010b20012002417f6a36022002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac1421022004417f6a22040d000b0b20034108490d00034020022802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d020b2001280208210302400240200128020c2204200128020422052f01aa144f0d00200521020c010b034020052802a0132202450d04200341016a210320052f01a814210420022105200420022f01aa144f0d000b0b0240024020030d00200441016a2106200221050c010b200220044102746a41b0146a2802002105410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720052802ac1421052003417f6a22030d000b0b20084107490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200741786a22070d000b0b2001200636020c20014100360208200120053602042002200441e0016c6a210520022004410c6c6a41a4136a21020b20002005360204200020023602000f0b41f482c6800010a081808000000b419c8fc3800010a081808000000bd30601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802e40c21022004417f6a22040d000b0b20034108490d00034020022802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2102200541786a22050d000b0b034020022002417e6a2f00006b21052002280288022102200541002802ec82d480001181808080000020020d000b0b20004180808080783602000f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802e40c21022004417f6a22040d000b0b20034108490d00034020022802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082103024002400240200128020c2204200128020422022f01e20c4f0d00200221050c010b03402002280288022205450d0220022f01e00c210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01e20c4f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41e80c6a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802e40c21022003417f6a22030d000b0b20084107490d00034020022802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2102200741786a22070d000b0b2001200636020c200141003602082001200236020420002005200441186c6a2202290200370200200041086a200241086a290200370200200041106a200241106a290200370200200041186a2005200441fc006c6a418c026a41fc0010f4978080001a0f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000bc10601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac0921022004417f6a22040d000b0b20034108490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200541786a22050d000b0b034020022002417e6a2f00006b210520022802a0082102200541002802ec82d480001181808080000020020d000b0b20004180808080783602000f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac0921022004417f6a22040d000b0b20034108490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082103024002400240200128020c2204200128020422022f01aa094f0d00200221050c010b034020022802a0082205450d0220022f01a809210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01aa094f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41b0096a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802ac0921022003417f6a22030d000b0b20084107490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200741786a22070d000b0b2001200636020c2001410036020820012002360204200020052004410c6c6a22022902a408370200200041086a200241ac086a2802003602002000410c6a2005200441e0006c6a41e00010f4978080001a0f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000bc10601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac1421022004417f6a22040d000b0b20034108490d00034020022802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142102200541786a22050d000b0b034020022002417e6a2f00006b210520022802a0132102200541002802ec82d480001181808080000020020d000b0b20004180808080783602000f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac1421022004417f6a22040d000b0b20034108490d00034020022802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082103024002400240200128020c2204200128020422022f01aa144f0d00200221050c010b034020022802a0132205450d0220022f01a814210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01aa144f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41b0146a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802ac1421022003417f6a22030d000b0b20084107490d00034020022802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142102200741786a22070d000b0b2001200636020c2001410036020820012002360204200020052004410c6c6a22022902a413370200200041086a200241ac136a2802003602002000410c6a2005200441e0016c6a41e00110f4978080001a0f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000bc10601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802900221022004417f6a22040d000b0b20034108490d000340200228029002280290022802900228029002280290022802900228029002280290022102200541786a22050d000b0b034020022002417e6a2f00006b210520022802002102200541002802ec82d480001181808080000020020d000b0b20004180808080783602000f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802900221022004417f6a22040d000b0b20034108490d000340200228029002280290022802900228029002280290022802900228029002280290022102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082104024002400240200128020c2203200128020422022f018e024f0d00200221050c010b034020022802002205450d0220022f018c02210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f018e024f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a4194026a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a210720022802900221022004417f6a22040d000b0b20084107490d000340200228029002280290022802900228029002280290022802900228029002280290022102200741786a22070d000b0b2001200636020c2001410036020820012002360204200020052003410c6c6a2202290204370200200020022902880137020c200041086a2002410c6a280200360200200041146a20024190016a2802003602000f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000bb70601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802900221022004417f6a22040d000b0b20034108490d000340200228029002280290022802900228029002280290022802900228029002280290022102200541786a22050d000b0b034020022002417e6a2f00006b21052002280288022102200541002802ec82d480001181808080000020020d000b0b20004180808080783602000f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802900221022004417f6a22040d000b0b20034108490d000340200228029002280290022802900228029002280290022802900228029002280290022102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082104024002400240200128020c2203200128020422022f018e024f0d00200221050c010b03402002280288022205450d0220022f018c02210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f018e024f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a4194026a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a210720022802900221022004417f6a22040d000b0b20084107490d000340200228029002280290022802900228029002280290022802900228029002280290022102200741786a22070d000b0b2001200636020c200141003602082001200236020420002005200341186c6a2202290200370200200041086a200241086a290200370200200041106a200241106a2902003702000f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b960601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802f80621022004417f6a22040d000b0b20034108490d00034020022802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062102200541786a22050d000b0b034020022002417e6a2f00006b210520022802f0062102200541002802ec82d480001181808080000020020d000b0b200041023a004c0f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802f80621022004417f6a22040d000b0b20034108490d00034020022802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082104024002400240200128020c2203200128020422022f01f6064f0d00200221050c010b034020022802f0062205450d0220022f01f406210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f01f6064f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a41fc066a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a210720022802f80621022004417f6a22040d000b0b20084107490d00034020022802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062102200741786a22070d000b0b2001200636020c200141003602082001200236020420002005200341d0006c6a41d00010f4978080001a0f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b880302047f017e23808080800041d0006b2203248080808000200320012002418c91c6800010d78f80800002400240200328020822040d0020004100360208200041003602002003280200450d01200328020422002000417e6a2f00006b41002802ec82d48000118180808000000c010b20032802042102024020044101460d00024020044115490d0020022004200341cf006a10d0888080000c010b200220044101200341cf006a10ff8f8080000b2003280200210541002d008083d480001a024041e80241002802f482d480001182808080000022010d00410441e80210ab80808000000b2001200141036a417c7120016b22066a220141003b01e602200141003602e0022001417e6a20063b00002003200136020c2003410036021020034100360214200341023a00282003200220044105746a360224200320053602202003200236021c200320023602182003410c6a200341186a200341146a10ca83808000200329020c210720002003280214360208200020073702000b200341d0006a2480808080000bfa0101057f2380808080004180206b220324808080800002400240024020014190a10f20014190a10f491b2204200120014101766b2205200420054b1b2204418101490d0020044105742106410021070240200541ffffff3f4b0d0020064100480d0041002d008083d480001a200641002802f482d480001182808080000022050d02410121070b2007200641ecacc8800010b980808000000b200020012003418001200141c100492002109a8c8080000c010b2005417e6a220641003b00002000200120052004200141c100492002109a8c808000200520062f00006b41002802ec82d48000118180808000000b20034180206a2480808080000ba90203037f017e027f2380808080004180206b220324808080800002400240200141aad828200141aad828491b2204200120014101766b2205200420054b1b220441d602490d002004ad420c7e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541ecacc8800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210a18c80800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341d502200141c10049200210a18c8080000b20034180206a2480808080000ba90203037f017e027f2380808080004180206b220324808080800002400240200141aad828200141aad828491b2204200120014101766b2205200420054b1b220441d602490d002004ad420c7e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541ecacc8800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210968c80800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341d502200141c10049200210968c8080000b20034180206a2480808080000b8e0501087f23808080800041306b22032480808080000240024002400240024002400240200220016b220441a0d5aad57a4d0d00410021020c010b20022001460d024100210541002d008083d480001a20044104762206410c6c220741002802f482d480001182808080000022020d01410421020b20022007418c91c6800010b980808000000b2002200241036a417c71220820026b22076a417e6a20073b0000024020064101460d002001411c6a2107200641feffffff0071210941002105200821020340200741706a280200210a200241086a2007416c6a280200360200200241046a41013602002002200a3602002007280200210a200241146a2007417c6a280200360200200241106a41013602002002410c6a200a360200200241186a2102200741206a21072009200541026a2205470d000b0b02402004411071450d00200120054104746a2207410c6a280200210a20082005410c6c6a2202200741086a280200360208200241013602042002200a3602000b20032003412f6a36020c20044110460d02200441d002490d01200820062003410c6a10d4888080000c020b20004100360208200041003602000c020b2008200641012003410c6a10fd8f8080000b41002d008083d480001a0240418c0141002802f482d480001182808080000022020d004104418c0110ab80808000000b2002200241036a417c7120026b22076a220241003b018a01200241003602582002417e6a20073b0000200320023602002003410036020420034100360208200320083602202003200836021c2003410236020c20032006360224200320082006410c6c6a36022820032003410c6a200341086a10c78380800020002003280208360208200020032902003702000b200341306a2480808080000ba90203037f017e027f2380808080004180206b220324808080800002400240200141aad828200141aad828491b2204200120014101766b2205200420054b1b220441d602490d002004ad420c7e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541ecacc8800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c100492002109e8c80800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341d502200141c100492002109e8c8080000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210998c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210998c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000ba90203037f017e027f2380808080004180206b2203248080808000024002402001418ec80d2001418ec80d491b2204200120014101766b2205200420054b1b220441f200490d002004ad42247e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541ecacc8800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210a38c80800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341f100200141c10049200210a38c8080000b20034180206a2480808080000ba90203037f017e027f2380808080004180206b22032480808080000240024020014180b51820014180b518491b2204200120014101766b2205200420054b1b220441cd01490d002004ad42147e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541ecacc8800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210958c80800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341cc01200141c10049200210958c8080000b20034180206a2480808080000bd20503067f017e017f23808080800041d0006b2201248080808000200141286a41ad83c68000410641b383c68000411e4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418f83808000360218200242fe878f8dfceff2e9dd0037031020024286d8b2bfde95f3e67737030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b592808000200128021422024286d8b2bfde95f3e6773703002002420437022c20024201370224200241b1b4c38000360220200241003602182002418f83808000360210200242fe878f8dfceff2e9dd003703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000b9e0103017f017e017f23808080800041c0006b2201248080808000200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a2001412010db8580800020012903302102200020012903384200200128022041017122031b37030820002002420020031b370300200141c0006a2480808080000b9d0103017f017e017f23808080800041c0006b2201248080808000200142a2bba4efe3ffa586553700182001429c9a9bbf88a5a0fc937f37001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a2001412010db8580800020012903302102200020012903384200200128022041017122031b37030820002002420020031b370300200141c0006a2480808080000bf10201077f23808080800041206b2201248080808000200142e3d488ecd2ee88dde300370018200142ce80d7eca9b9a7a316370010200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b37000020002802042202200028020822032001412010fb8480800002402003450d002003410171210441002105024020034101460d002003417e7121062002210341002105034002402003280200450d00200341046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200341106a280200450d00200341146a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200341206a21032006200541026a2205470d000b0b2004450d00200220054104746a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200141206a2480808080000b820201037f23808080800041206b2201248080808000200142e7adb0ba9bbab2f2fb00370018200142d39cf0bdba80f2ac10370010200142a988d1e9f0b7bbcf9c7f370008200142dc9ac4b0d794dae07937000041002d008083d480001a0240412041002802f482d480001182808080000022020d004101412010ab80808000000b200220002900003700002002417e6a220341003b0000200241086a200041086a290000370000200241106a200041106a290000370000200241186a200041186a290000370000200141202002412041002802dc82d4800011838080800000200220032f00006b41002802ec82d4800011818080800000200141206a2480808080000b800201037f23808080800041206b2201248080808000200142bb88f596f8cbf6cf4c3700182001428a85cd9fb3e4b2ae6d370010200142fc90b9e5d09296e777370008200142a6d4e6f1a4dd95986037000041002d008083d480001a0240412041002802f482d480001182808080000022020d004101412010ab80808000000b200220002900003700002002417e6a220341003b0000200241086a200041086a290000370000200241106a200041106a290000370000200241186a200041186a290000370000200141202002412041002802dc82d4800011838080800000200220032f00006b41002802ec82d4800011818080800000200141206a2480808080000bd00203027f017e017f23808080800041306b2201248080808000200142e4a4ce9096c6ccc1ed0037001c20014283b3bacea5969fd4847f370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b3700044100210202400240024041032000350208420c7e2203a741046a2003422088a71b22044100480d00024020040d00410121020c030b41002d008083d480001a200441002802f482d480001182808080000022020d01410121020b2002200441f08bc6800010b980808000000b2002417e6a41003b00000b20012002360228200120043602242001410036022c2000200141246a10aa8880800020012802242102200141046a412020012802282204200128022c41002802dc82d480001183808080000002402002450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200010a688808000200141306a2480808080000bd50101027f23808080800041206b22022480808080002002429eadbde691ac81d83e370018200242e29e95bab8beb5d5a77f370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b37000041002d008083d480001a0240410841002802f482d480001182808080000022030d004101410810ab80808000000b200320003600002003417e6a220041003b000020032001360004200241202003410841002802dc82d4800011838080800000200320002f00006b41002802ec82d4800011818080800000200241206a2480808080000bc40101027f23808080800041c0006b2202248080808000200220013703082002200037030020024291cdeec7c8fdb89eac7f37002c2002428c9e97b8b5e8dcc5fa00370024200242fc90b9e5d09296e77737001c200242a6d4e6f1a4dd959860370014200241346a200210e58d808000200241146a412020022802382203200228023c41002802dc82d480001183808080000002402002280234450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000b870201027f23808080800041306b2201248080808000200142e68dc38d9b83b9ae2837001c200142aa8ec1edcdf9d366370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010ed8f808000200141046a412020012802282202200128022c41002802dc82d480001183808080000002402001280224450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d00200028020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200028020c450d00200028021022002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bd10101037f23808080800041206b22012480808080002001429eadbde691ac81d83e370018200142e29e95bab8beb5d5a77f370010200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b37000041002d008083d480001a0240410841002802f482d480001182808080000022020d004101410810ab80808000000b2002417e6a220341003b000020022000290200370000200141202002410841002802dc82d4800011838080800000200220032f00006b41002802ec82d4800011818080800000200141206a2480808080000bb40101017f23808080800041306b2201248080808000200142f89aef8eef91e1ce967f37001c200142b4d6d6dfccc6b592c300370014200142fc90b9e5d09296e77737000c200142a6d4e6f1a4dd959860370004200141246a2000108386808000200141046a412020012802282200200128022c41002802dc82d480001183808080000002402001280224450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bbe0101027f23808080800041306b2201248080808000200142dff88396b8eeb3817c37001c20014283e3ced79d99b9c6c400370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010fc84808000200141046a412020012802282202200128022c41002802dc82d480001183808080000002402001280224450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200041106a10ad88808000200141306a2480808080000bfe0101067f23808080800041206b220124808080800020014281ffa0ee9dfeb487a57f370018200142e8f5928beff0b7b005370010200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b370000410121024100210341002d008083d480001a024041014102200041ff017141024622041b220541002802f482d48000118280808000002206450d002006417e6a220541003b0000024020040d00200620003a000141022102410121030b200620033a0000200141202006200241002802dc82d4800011838080800000200620052f00006b41002802ec82d4800011818080800000200141206a2480808080000f0b4101200510ab80808000000bd50101037f23808080800041206b2202248080808000200242b0f2f7f283ece7d10b370018200242cbf2abd1d7a8b9e0d70037001020024284c2b1b3ef9292841e370008200242bce2f4b8c5daf6fa2937000041002d008083d480001a0240410c41002802f482d480001182808080000022030d004101410c10ab80808000000b200320003700002003417e6a220441003b000020032001360008200241202003410c41002802dc82d4800011838080800000200320042f00006b41002802ec82d4800011818080800000200241206a2480808080000b880101017f23808080800041306b2202248080808000200242e4c5bdb4b2e9a5a6807f370018200242d790d7a3fef9fda0c80037001020024298d5afd2c6aeacae2f370008200242c2cdc8b0c7b9e78f857f370000200220013703282002200037032020024120200241206a411041002802dc82d4800011838080800000200241306a2480808080000b860201027f23808080800041306b2201248080808000200142d684ecb8c888e883c30037001c200142c5c58cc181f088c50c370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b37000441002d008083d480001a0240412c41002802f482d48000118280808000002202450d002002417e6a41003b00002001410036022c200120023602282001412c3602242000200141246a10fa8480800020012802242100200141046a412020012802282202200128022c41002802dc82d480001183808080000002402000450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000f0b4101412c10ab80808000000b8f0201037f23808080800041206b220224808080800020024293bb8a9cbb9ab6b31a370018200242ffabedd185d3d8d216370010200242fc90b9e5d09296e777370008200242a6d4e6f1a4dd95986037000041002d008083d480001a02404101410520001b220341002802f482d48000118280808000002204450d002004417e6a220341003b0000024002400240024020000e03000102000b20042001360001200441003a0000410521000c020b41012100200441013a00000c010b200441023a0000410121000b200241202004200041002802dc82d4800011838080800000200420032f00006b41002802ec82d4800011818080800000200241206a2480808080000f0b4101200310ab80808000000b810201037f23808080800041206b2201248080808000200142fd98e88aaae0e9ab7937001820014291b5f49a9dbec5afdb00370010200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b37000041002d008083d480001a0240412041002802f482d480001182808080000022020d004101412010ab80808000000b200220002900003700002002417e6a220341003b0000200241086a200041086a290000370000200241106a200041106a290000370000200241186a200041186a290000370000200141202002412041002802dc82d4800011838080800000200220032f00006b41002802ec82d4800011818080800000200141206a2480808080000bb30101017f23808080800041306b22012480808080002001429ecfa7cc9cf7bd852c37001c200142bd948bf28d9682e3d500370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010ec88808000200141046a412020012802282200200128022c41002802dc82d480001183808080000002402001280224450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000b920803037f017e087f23808080800041206b220224808080800041002103024002400240410320012802082204ad42247e2205a741046a2005422088a71b22064100480d00024020060d00410121030c030b41002d008083d480001a200641002802f482d480001182808080000022030d01410121030b2003200641f08bc6800010b980808000000b2003417e6a41003b00000b20024100360214200220033602102002200636020c200220043602182002200241186a36021c2002411c6a2002410c6a10dc84808000024002402004450d0020012802002203450d00200341004721072001280204210841002106034002400240024020060d002007410171450d00410121072008450d0120082106024020084107712201450d0003402006417f6a210620032802940321032001417f6a22010d000b0b20084108490d010340200328029403280294032802940328029403280294032802940328029403280294032103200641786a22060d000c020b0b20074101710d01418892c6800010a081808000000b2003210641002103410021080b02400240024002400240200820062f0192034f0d0020062101200821090c010b034020062802e0022201450d02200341016a210320062f019003210920012106200920012f0192034f0d000b0b20030d01200941016a2108200121060c020b41f891c6800010a081808000000b200120094102746a4198036a2802002106410021082003417f6a220a450d002003417e6a210b0240200a4107712203450d000340200a417f6a210a20062802940321062003417f6a22030d000b0b200b4107490d000340200628029403280294032802940328029403280294032802940328029403280294032106200a41786a220a0d000b0b200120094102746a2802e402210a0240200228020c200228021422036b41034b0d002002410c6a2003410410f491808000200228021421030b200228021020036a200a3600002002200341046a220336021441002d008083d480001a412041002802f482d4800011828080800000220a450d02200a417e6a220b41003b0000200a200120094105746a2201290000370000200a41086a2209200141086a290000370000200a41106a220c200141106a290000370000200a41186a220d200141186a2900003700000240200228020c20036b411f4b0d002002410c6a2003412010f491808000200228021421030b200228021020036a2201200a290000370000200141086a2009290000370000200141106a200c290000370000200141186a200d2900003700002002200341206a36021441002103200a200b2f00006b41002802ec82d48000118180808000002004417f6a22040d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b4101412010ab80808000000bcf0101027f23808080800041206b220124808080800020014282f1a7edb4d8f4c2a17f370018200142b098a68fd68bf8bbda00370010200142dbd4b188d8cab88410370008200142bfa89c83ea92efeb1a37000041002d008083d480001a0240410141002802f482d480001182808080000022020d004101410110ab80808000000b200220003a00002002417e6a220041003b0000200141202002410141002802dc82d4800011838080800000200220002f00006b41002802ec82d4800011818080800000200141206a2480808080000bd40101027f23808080800041206b2202248080808000200242e9d5b48babef9efb5237001820024289f8dca7dfdb9eba11370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b37000041002d008083d480001a0240410841002802f482d480001182808080000022030d004101410810ab80808000000b200320003600002003417e6a220041003b000020032001360004200241202003410841002802dc82d4800011838080800000200320002f00006b41002802ec82d4800011818080800000200241206a2480808080000bf60101057f23808080800041206b2201248080808000200142db94c397a39dc1eaea00370018200142f2f7edb5a4809cb22b370010200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b370000410121024100210341002d008083d480001a02404102410120001b220441002802f482d48000118280808000002205450d002005417e6a220441003b000002402000450d00200541003a000141022102410121030b200520033a0000200141202005200241002802dc82d4800011838080800000200520042f00006b41002802ec82d4800011818080800000200141206a2480808080000f0b4101200410ab80808000000be90201037f23808080800041206b220124808080800002400240024020002d0000410171450d00200142e7adb0ba9bbab2f2fb00370018200142d39cf0bdba80f2ac10370010200142a988d1e9f0b7bbcf9c7f370008200142dc9ac4b0d794dae07937000041002d008083d480001a412041002802f482d48000118280808000002202450d02200220002900013700002002417e6a220341003b0000200241086a200041096a290000370000200241106a200041116a290000370000200241186a200041196a290000370000200141202002412041002802dc82d4800011838080800000200220032f00006b41002802ec82d48000118180808000000c010b200142e7adb0ba9bbab2f2fb00370018200142d39cf0bdba80f2ac10370010200142a988d1e9f0b7bbcf9c7f370008200142dc9ac4b0d794dae07937000020014120410028029482d48000118b80808000000b200141206a2480808080000f0b4101412010ab80808000000bb10101017f23808080800041306b2201248080808000200142bc8986ab88c2dce45737001c20014280a9fbf0e5a2c1b3e500370014200142fc90b9e5d09296e77737000c200142a6d4e6f1a4dd959860370004200141246a2000108586808000200141046a4120200141246a410028028c82d480001186808080000002402000280260450d00200028026422002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bb10101017f23808080800041306b2201248080808000200142e7db9c91c4f3a8dcb07f37001c2001428ad8bd86f0dea2e424370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010928f808000200141046a4120200141246a410028028c82d480001186808080000002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bb10101017f23808080800041306b2201248080808000200142f6b9cba3a9fbc4e71937001c200142a88cac81f28dabe5ea00370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010928f808000200141046a4120200141246a410028028c82d480001186808080000002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bb00101017f23808080800041306b2201248080808000200142908cf1f9cc86e8f85137001c200142d4a4d2bc9ca3a4d768370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010928f808000200141046a4120200141246a410028028c82d480001186808080000002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000b9a0301077f23808080800041c0006b2201248080808000200142f4fa97f89782c7a62d37001c20014299cfe7ffe3b8eac708370014200142fc90b9e5d09296e77737000c200142a6d4e6f1a4dd9598603700042001413c6a2102200141386a210302400240024002400240024020002d000022040e050001020305000b2001200041016a36023420002802102105200028020c210641002104200321070c030b410121042001200041016a36023420002802102105200028020c2106200321070c020b2001200041016a36023420002802102105200028020c210641022104200321070c010b200141346a2107200028020c21052000280208210641032104200321020b20022005360200200720063602000b20012004360230200141246a200141306a10e596808000200141046a4120200141246a410028028c82d4800011868080800000024020002d0000220441034b0d002000200441027441c89ec680006a2802006a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a2480808080000bed0d04047f027e027f037e23808080800041d0016b2201248080808000200028020821022000280204210320002802002100200142f89aef8eef91e1ce967f370028200142b4d6d6dfccc6b592c300370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141f8006a200141106a412010ce858080000240024020012802784101470d00200141106a41286a200141a8016a290300370300200141106a41206a200141f8006a41286a290300370300200141106a41186a200141f8006a41206a290300370300200141106a41106a200141f8006a41186a290300370300200141186a200141f8006a41106a29030037030020012001290380013703100c010b200141386a4200370300200141106a41206a4200370300200141286a4200370300200141206a4200370300200141186a4200370300200142003703100b20014291cdeec7c8fdb89eac7f370090012001428c9e97b8b5e8dcc5fa0037008801200142fc90b9e5d09296e77737008001200142a6d4e6f1a4dd959860370078200141d8006a200141f8006a412010ed85808000200128025821042001290360210520012903682106200141106a210702400240024020002d002022080e03020001020b200141206a21070c010b200141106a41206a21070b2007427f2007290308220920067c220620062009541b2009200441017122041b3703082007427f2007290300220920057c220520052009541b200920041b370300427f2000290308220920002903187c220520052009541b2109427f2000290300220520002903107c220620062005541b2105024002400240024020080e03000102000b200142002001290318220620097d220920092006561b370318200142002001290310220920057d220520052009561b2209370310200141106a21070c020b200142002001290328220620097d220920092006561b370328200142002001290320220920057d220520052009561b2209370320200141206a21070c010b200142002001290338220620097d220920092006561b370338200142002001290330220920057d220520052009561b2209370330200141306a21070b2007427f2007290308220520032903087c220620062005541b3703082007427f200920032903007c220520052009541b37030020014295f38cfcb699a3c4ef0037009001200142a8db95cdaa86daa71937008801200142fc90b9e5d09296e77737008001200142a6d4e6f1a4dd959860370078200141086a200141f8006a412010d08580800020012903282106200129031821052001290338210a2001200128020c410020012802084101711b22073602442001427f200229030022092007ad7c220b200b2009541b22093703482001427f200a427f200520067c220620062005541b22057c220620062005541b220537035020014200200920057d220620062009561b22063703c001024020092005580d00024041002802b483d4800041014d0d00200141e681808000ad4220862209200141c0016aad8437037020012009200141d0006aad843703682001418680808000ad422086200141c4006aad8437036020012009200141c8006aad84370358410028029080d480002107410028028c80d48000210341002802b083d480002102200142043702b001200141053602a8012001418c8dc680003602a4012001411f3602a001200141878ec6800036029c01200141b48dc68000ad4280808080b00a84370290012001410036028c01200141a68ec68000ad4280808080d0038437028401200141003602800120014281808080b01f37027820014102360298012007419cf4ca8000200241024622021b28021021072001200141d8006a3602ac01200341b4f4ca800020021b200141f8006a2007118b808080000020012903c00121060b200141106a210702400240024020002d00200e03020001020b200141106a41106a21070c010b200141106a41206a21070b2007427f2007290308220920067c220520052009541b3703080b200141a8016a200141106a41286a290300370300200141f8006a41286a200141106a41206a290300370300200141f8006a41206a200141106a41186a290300370300200141f8006a41186a200141106a41106a290300370300200141f8006a41106a200141106a41086a290300370300200120012903103703800120014201370378200142f89aef8eef91e1ce967f370070200142b4d6d6dfccc6b592c300370068200142fc90b9e5d09296e777370060200142a6d4e6f1a4dd959860370058200141c0016a200141f8006a41086a108386808000200141d8006a412020012802c401220020012802c80141002802dc82d4800011838080800000024020012802c001450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200141d0016a24808080800020060bb80203017f057e017f23808080800041c0006b22012480808080002000290300210220002903082103200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a2001412010db85808000200128022021002001290330210420012903382105200142e4c5bdb4b2e9a5a6807f370038200142d790d7a3fef9fda0c80037003020014298d5afd2c6aeacae2f370028200142c2cdc8b0c7b9e78f857f3700202001427f200520037c200420027c22062004542207ad7c22042007200420055420042005511b22071b2003200041017122001b3703082001427f200620071b200220001b370300200141206a41202001411041002802dc82d4800011838080800000200141c0006a2480808080000bc20502017f037e23808080800041a0016b220224808080800020012d002021012000290308210320002903002104200242f89aef8eef91e1ce967f370020200242b4d6d6dfccc6b592c300370018200242fc90b9e5d09296e777370010200242a6d4e6f1a4dd959860370008200241386a200241086a412010ce858080000240024020022802384101470d00200241086a41286a200241e8006a290300370300200241086a41206a200241386a41286a290300370300200241086a41186a200241386a41206a290300370300200241086a41106a200241386a41186a290300370300200241106a200241386a41106a290300370300200220022903403703080c010b200241306a4200370300200241086a41206a4200370300200241206a4200370300200241186a4200370300200241106a4200370300200242003703080b200241086a210002400240024020010e03020001020b200241186a21000c010b200241286a21000b200042002000290300220520047d220420042005561b370300200042002000290308220420037d220320032004561b370308200241e8006a200241086a41286a290300370300200241386a41286a200241086a41206a290300370300200241386a41206a200241086a41186a290300370300200241386a41186a200241086a41106a290300370300200241386a41106a200241086a41086a2903003703002002200229030837034020024201370338200242f89aef8eef91e1ce967f37008c01200242b4d6d6dfccc6b592c30037008401200242fc90b9e5d09296e77737007c200242a6d4e6f1a4dd95986037007420024194016a200241386a41086a108386808000200241f4006a41202002280298012200200228029c0141002802dc82d48000118380808000000240200228029401450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241a0016a2480808080000bfd0205017f037e027f017e027f23808080800041c0006b2202248080808000200242c1aedeeddec9cdd9763700182002428c849fcce4a5fda3da00370010200242dbd4b188d8cab88410370008200242bfa89c83ea92efeb1a370000200241206a2002412010e085808000200229033821032002290330210420022903202105200242c1aedeeddec9cdd9763700382002428c849fcce4a5fda3da00370030200242dbd4b188d8cab88410370028200242bfa89c83ea92efeb1a37002041002d008083d480001a0240411041002802f482d480001182808080000022060d004101411010ab80808000000b2006417e6a220741003b00002006427f200320017c200420007c22082004542209ad7c22042009200420035420042003511b22091b20012005a7410171220a1b3700082006427f200820091b2000200a1b370000200241206a41202006411041002802dc82d4800011838080800000200620072f00006b41002802ec82d4800011818080800000200241c0006a2480808080000bd807020c7f017e2380808080004190016b2201248080808000200028020821022000280204210320002802002104200142dff88396b8eeb3817c37006020014283e3ced79d99b9c6c400370058200142b9e088b7b6cdc2d113370050200142c5e4f4b9cff9d18a0b370048200141086a200141c8006a412010ec858080000240024020012802084102460d00200241386c210520032100024002402002450d00200141086a41086a2106200141c8006a41086a2107200141c8006a41156a220241186a21082002411f6a21092005210a2003210002400340200041146a2d0000220b4102460d01200141c8006a41106a200041106a2802003602002007200041086a290200370300200120002902003703482001200b3a005c2002200041156a290000370000200241086a2000411d6a290000370000200241106a200041256a29000037000020082000412d6a2900003700002009200041346a2800003600002006200141c8006a10b982808000024020012d007d220b4102460d00200120012d0024220c3a0083012001200b3a008401200141023a0024200c4102460d06200c410171200b470d060b200041386a2100200710ad88808000200a41486a220a0d000c030b0b200041386a21000b200320056a220720006b41386e210220072000460d00200041086a21000340200010ad88808000200041386a21002002417f6a22020d000b0b02402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141286a41186a200141086a41186a290200370300200141286a41106a200141086a41106a290200370300200141286a41086a200141086a41086a29020037030020012001290208220d37032802400240200da74102470d00200142dff88396b8eeb3817c37006020014283e3ced79d99b9c6c400370058200142b9e088b7b6cdc2d113370050200142c5e4f4b9cff9d18a0b370048200141c8006a4120410028029482d48000118b80808000000c010b200142dff88396b8eeb3817c37006020014283e3ced79d99b9c6c400370058200142b9e088b7b6cdc2d113370050200142c5e4f4b9cff9d18a0b37004820014184016a200141286a10fc84808000200141c8006a41202001280288012200200128028c0141002802dc82d48000118380808000000240200128028401450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b20012802284102460d00200141386a10ad888080000b20014190016a2480808080000f0b41b88fc6800041c10041fc8fc6800010a181808000000b20014100360228410020014183016a20014184016a200141286a41e09bc4800010b987808000000bdc0d020e7f017e23808080800041b0016b2201248080808000200142e68dc38d9b83b9ae28370058200142aa8ec1edcdf9d366370050200142b9e088b7b6cdc2d113370048200142c5e4f4b9cff9d18a0b3700402001200141c0006a412010eb85808000024002400240024002402001280200418080808078460d00024020002802102202450d0020002802182203450d00410021042002410047210520002802142106024020012802142207450d0020012802102108034002400240024020040d002005410171450d00410121052006450d0120062104024020064107712209450d0003402004417f6a2104200228028c0121022009417f6a22090d000b0b20064108490d010340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200441786a22040d000c020b0b2005410171450d080c010b2002210441002102410021060b02400240200620042f018a014f0d002006210a200421090c010b034020042802582209450d06200241016a210220042f018801210a20092104200a20092f018a014f0d000b0b0240024020020d00200a41016a2106200921040c010b2009200a4102746a4190016a2802002104410021062002417f6a220b450d002002417e6a210c0240200b4107712202450d000340200b417f6a210b200428028c0121042002417f6a22020d000b0b200c4107490d000340200428028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012104200b41786a220b0d000b0b2009200a4102746a28025c210d41002102024020074101460d00410021022007210b03402002200b410176220c20026a220e2008200e413c6c6a280200200d4b1b2102200b200c6b220b41014b0d000b0b024020082002413c6c6a2202280200200d470d0020022002280208220b2009200a4103746a220928020420022802146a220a200b200a491b36021420022002280204220b200928020020022802106a2209200b2009491b3602100b410021022003417f6a22030d000c020b0b41002104034002400240024020040d002005410171450d00410121052006450d0120062104024020064107712209450d0003402004417f6a2104200228028c0121022009417f6a22090d000b0b20064108490d010340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200441786a22040d000c020b0b2005410171450d070c010b2002210441002102410021060b02400240200620042f018a014f0d00200421090c010b034020042802582209450d05200241016a210220042f018801210620092104200620092f018a014f0d000b0b0240024020020d00200641016a2106200921040c010b200920064102746a4190016a2802002104410021062002417f6a2209450d002002417e6a210b024020094107712202450d0003402009417f6a2109200428028c0121042002417f6a22020d000b0b200b4107490d000340200428028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012104200941786a22090d000b0b410021022003417f6a22030d000b0b200141002001280238220220002802086b2204200420024b1b36023820014100200128023c2202200028020c6b2204200420024b1b36023c0b200141c0006a41386a200141386a290200370300200141c0006a41306a200141306a290200370300200141c0006a41286a200141286a290200370300200141c0006a41206a200141206a290200370300200141c0006a41186a200141186a290200370300200141c0006a41106a200141106a290200370300200141c0006a41086a200141086a29020037030020012001290200220f370340200fa7418080808078460d01200142e68dc38d9b83b9ae2837009c01200142aa8ec1edcdf9d36637009401200142b9e088b7b6cdc2d11337008c01200142c5e4f4b9cff9d18a0b37008401200141a4016a200141c0006a10ed8f80800020014184016a412020012802a801220220012802ac0141002802dc82d4800011838080800000024020012802a401450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20012802402202418080808078460d0302402002450d00200128024422022002417e6a2f00006b41002802ec82d48000118180808000000b200128024c450d03200128025022022002417e6a2f00006b41002802ec82d48000118180808000000c030b41f891c6800010a081808000000b200142e68dc38d9b83b9ae2837009c01200142aa8ec1edcdf9d36637009401200142b9e088b7b6cdc2d11337008c01200142c5e4f4b9cff9d18a0b3700840120014184016a4120410028029482d48000118b80808000000c010b418892c6800010a081808000000b200141b0016a2480808080000bd20101017f23808080800041c0006b2200248080808000200042e3e3aca5e7a8ebef5c370018200042bfdcfcdef39bce8e6b370010200042dbd4b188d8cab88410370008200042bfa89c83ea92efeb1a370000200041206a2000412010db85808000200042e3e3aca5e7a8ebef5c370038200042bfdcfcdef39bce8e6b370030200042dbd4b188d8cab88410370028200042bfa89c83ea92efeb1a3700202000420037030820004200370300200041206a41202000411041002802dc82d4800011838080800000200041c0006a2480808080000b9b12010d7f2380808080004180016b22032480808080002002280200210420012802002105200342e7db9c91c4f3a8dcb07f3700202003428ad8bd86f0dea2e424370018200342b9e088b7b6cdc2d113370010200342c5e4f4b9cff9d18a0b370008200341e0006a200341086a412010ef85808000200328026821062003280264210720032802602102200342e68dc38d9b83b9ae28370078200342aa8ec1edcdf9d366370070200342b9e088b7b6cdc2d113370068200342c5e4f4b9cff9d18a0b370060200341086a200341e0006a412010eb85808000410021084100200220024180808080784622011b21094104200720011b210a4100200620011b210b024002400240024020032802082202418080808078460d002003280244210c20032802402101200328021821062003280214210702402002450d00200328020c22022002417e6a2f00006b41002802ec82d48000118180808000000b02402007450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b4100210d02400240200b0d00410021080c010b02402004200120042001491b220e0d00410021080c010b41002108200c200a41086a2802002202490d00410121080240200b4101460d00200a41146a2101200b410c6c41746a2107410121080340200e200841016a2206417f20061b2206490d01200c417f200220012802006a220420042002491b2204490d012001410c6a21012004210220062108200741746a22070d000b0b2008200b4b0d022002210d0b200320083602642003200a360260200342908cf1f9cc86e8f851370020200342d4a4d2bc9ca3a4d768370018200342b9e088b7b6cdc2d113370010200342c5e4f4b9cff9d18a0b370008200341e0006a200341086a412010908f808000200b20086b2204410c6c21020240024020040d004104210c0c010b41002d008083d480001a200241002802f482d48000118280808000002201450d032001200141036a417c71220c20016b22066a417e6a20063b00000b200c200a2008410c6c6a200210f497808000210e02402008450d002008410171210f41002101024020084101460d002008417e712107200a210241002101034002402002280200450d00200241046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022007200141026a2201470d000b0b200f450d00200a2001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402009450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b200342f4fa97f89782c7a62d37002020034299cfe7ffe3b8eac708370018200342fc90b9e5d09296e777370010200342a6d4e6f1a4dd959860370008200341e0006a200341086a412010e685808000024020032802602209418080808078460d002003280264210a024020032802682201450d00200a200141146c6a2106200a2102024002400340024020022d00000d00200241016a28000041c39ab19a05470d0020032002410c6a290200370260200341086a200341e0006a10f18280800020032d000822074102460d0020032802640d0020074101710d020b200241146a22022006470d000c020b0b2003200328010a22024118763a0059200320024110763a00582003418080808078360254200341c8006a200341d4006a10ff84808000200342f6b9cba3a9fbc4e719370020200342a88cac81f28dabe5ea00370018200342b9e088b7b6cdc2d113370010200342c5e4f4b9cff9d18a0b370008200341e0006a200341c8006a10928f808000200341086a4120200341e0006a410028028c82d480001186808080000002402003280248450d00200328024c22022002417e6a2f00006b41002802ec82d48000118180808000000b20032802542202418080808078460d002002450d00200328025822022002417e6a2f00006b41002802ec82d48000118180808000000b200a21020340024020022d0000220641034b0d002002200641027441c89ec680006a2802006a2206280200450d00200641046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200241146a21022001417f6a22010d000b0b2009450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b10a087808000024002402004450d0020044103712106024002402008200b6b417c4d0d0041002101410021070c010b200e412c6a2102200441fcffffff0071210b410021014100210703402002280200200241746a280200200241686a2802002002415c6a28020020016a6a6a6a2101200241306a2102200b200741046a2207470d000b0b2005410176210b02402006450d002007410c6c200e6a41086a21020340200228020020016a21012002410c6a21022006417f6a22060d000b0b2001200b4b0d010b1092878080001a0b2004210b0c030b20092104200a210c4100210d0c020b2008200b41988fc68000109181808000000b4104200241a88fc6800010b980808000000b2003200b3602682003200c360264200320043602602003200341e0006a360254200342e7db9c91c4f3a8dcb07f3700202003428ad8bd86f0dea2e424370018200342b9e088b7b6cdc2d113370010200342c5e4f4b9cff9d18a0b370008200341d4006a200341086a4120108f8f808000024020032802602202418080808078460d00024020032802682206450d002003280264210b2006410171210441002101024020064101460d002006417e712107200b210241002101034002402002280200450d00200241046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022007200141026a2201470d000b0b02402004450d00200b2001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b200328026021020b2002450d00200328026422022002417e6a2f00006b41002802ec82d48000118180808000000b2000200d3602042000200836020020034180016a2480808080000bb90203017f047e017f23808080800041c0006b22012480808080002000290300210220002903082103200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a2001412010db85808000200128022021002001290330210420012903382105200142e4c5bdb4b2e9a5a6807f370038200142d790d7a3fef9fda0c80037003020014298d5afd2c6aeacae2f370028200142c2cdc8b0c7b9e78f857f37002020014200200520037d2004200254ad7d2203200420027d2202200456200320055620032005511b22061b4200200041017122001b37030820014200200220061b420020001b370300200141206a41202001411041002802dc82d4800011838080800000200141c0006a2480808080000bc20502017f037e23808080800041a0016b220224808080800020012d000021012000290308210320002903002104200242f89aef8eef91e1ce967f370020200242b4d6d6dfccc6b592c300370018200242fc90b9e5d09296e777370010200242a6d4e6f1a4dd959860370008200241386a200241086a412010ce858080000240024020022802384101470d00200241086a41286a200241e8006a290300370300200241086a41206a200241386a41286a290300370300200241086a41186a200241386a41206a290300370300200241086a41106a200241386a41186a290300370300200241106a200241386a41106a290300370300200220022903403703080c010b200241306a4200370300200241086a41206a4200370300200241206a4200370300200241186a4200370300200241106a4200370300200242003703080b200241086a210002400240024020010e03020001020b200241186a21000c010b200241286a21000b2000427f2000290300220520047c220420042005541b3703002000427f2000290308220420037c220320032004541b370308200241e8006a200241086a41286a290300370300200241386a41286a200241086a41206a290300370300200241386a41206a200241086a41186a290300370300200241386a41186a200241086a41106a290300370300200241386a41106a200241086a41086a2903003703002002200229030837034020024201370338200242f89aef8eef91e1ce967f37008c01200242b4d6d6dfccc6b592c30037008401200242fc90b9e5d09296e77737007c200242a6d4e6f1a4dd95986037007420024194016a200241386a41086a108386808000200241f4006a41202002280298012200200228029c0141002802dc82d48000118380808000000240200228029401450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241a0016a2480808080000bf30401057f23808080800041d0006b2200248080808000200042b58ab3f59aafe8bb263700272000428197ddb2f4a682d8dd0037001f200042b9e088b7b6cdc2d113370017200042c5e4f4b9cff9d18a0b37000f200041306a2000410f6a412010e2858080000240024020002802302201418080808078470d00410421024100210141012103410021040c010b200028023421020240200028023822040d0041002104410121030c010b200042bb88f596f8cbf6cf4c3700482000428a85cd9fb3e4b2ae6d370040200042fc90b9e5d09296e777370038200042a6d4e6f1a4dd9598603700302000410f6a200041306a412010de858080002002200441386c6a21030240024020002d000f4101470d00200041c8006a200041286a290000370300200041c0006a200041206a290000370300200041386a200041186a290000370300200020002900103703300c010b200041c8006a4200370300200041c0006a4200370300200041386a4200370300200042003703300b2003415c6a41013a00002003415d6a22032000290330370000200341086a200041306a41086a290300370000200341106a200041306a41106a290300370000200341186a200041306a41186a290300370000410021030b200042b58ab3f59aafe8bb263700272000428197ddb2f4a682d8dd0037001f200042b9e088b7b6cdc2d113370017200042c5e4f4b9cff9d18a0b37000f200220042000410f6a412010f884808000024020030d00200241086a21030340200310ad88808000200341386a21032004417f6a22040d000b0b02402001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200041d0006a2480808080000be80102017f027e23808080800041c0006b22012480808080002000290300210220002903082103200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a2001412010db85808000200142e4c5bdb4b2e9a5a6807f370038200142d790d7a3fef9fda0c80037003020014298d5afd2c6aeacae2f370028200142c2cdc8b0c7b9e78f857f3700202001200337030820012002370300200141206a41202001411041002802dc82d4800011838080800000200141c0006a2480808080000bba0501077f23808080800041d0006b2202248080808000200242b58ab3f59aafe8bb263700482002428197ddb2f4a682d8dd00370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a412010e28580800002400240024002402002280224418080808078470d00410021032002410036021020024280808080c000370308410421040c010b200241086a41086a200241246a41086a280200220336020020022002290224370308200228020c2104024020030d00410021030c010b200341386c210541002106410121070340200420066a220841146a2d0000450d03200841156a2001412010f597808000450d02200741016a21072005200641386a2206470d000b0b410021070b200241003602102002200736023c2002200320076b3602402002200436023020022004200741386c6a3602342002200241086a360238200241186a200241306a418c91c6800010c58f8080000240024020022802082204418080808078470d00200242b58ab3f59aafe8bb263700482002428197ddb2f4a682d8dd00370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241306a4120410028029482d48000118b80808000000c010b20022802102107200228020c2108200242b58ab3f59aafe8bb263700482002428197ddb2f4a682d8dd00370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b37003020082007200241306a412010f88480800002402007450d00200841086a21060340200610ad88808000200641386a21062007417f6a22070d000b0b2004450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b20002002290218370200200041086a200241186a41086a280200360200200241d0006a2480808080000f0b419c91c68000413a41d891c6800010a181808000000b910401067f23808080800041206b22032480808080002003410036021c200342808080801037021441002d008083d480001a0240412041002802f482d48000118280808000002204450d002004411e6a41003b0000200441166a42003700002004410e6a4200370000200441066a42003700002004417e6a22054200370000200341146a4100412010f4918080002003280218200341146a41086a220628020022076a22082004290000370000200841086a200441086a290000370000200841106a200441106a290000370000200841186a200441186a2900003700002006200741206a360200200420052f00006b41002802ec82d4800011818080800000200341086a41086a22052006280200360200200320032902143703080240200228020822082002280200470d00200241c884c6800010a0868080000b2002280204200841f8006c6a2204410a360244200441f584c68000360240200441bc80808000360218200442ec8ca7e0e2f0c7e6bf7f370210200442e6e2dea393f0baf43a37020820044100360200200420002902003702482004200329030837025c20042001290200370268200441d0006a200041086a290200370200200441d8006a200041106a280200360200200441e4006a2005280200360200200441f0006a200141086a280200360200200441013a00742002200841016a360208200341206a2480808080000f0b4101412010ab80808000000b960303037f017e017f23808080800041106b2202248080808000410121030240200128020022044101470d00024002402001290308220542c0005a0d00410221060c010b02402005428080015a0d00410321060c010b024020054280808080045a0d00410521060c010b410a200579a74103766b21060b024002402001290310220542c0005a0d00410121030c010b02402005428080015a0d00410221030c010b024020054280808080045a0d00410421030c010b4109200579a74103766b21030b200620036a21030b41002d008083d480001a0240200341002802f482d48000118280808000002206450d002006417e6a41003b00002002200636020420022003360200024002402004410171450d00200641013a0000200241013602082002200141086a36020c2002410c6a200210dd848080002002200141106a36020c2002410c6a200210dd848080000c010b200641003a0000200241013602080b20002002290200370200200041086a200241086a280200360200200241106a2480808080000f0b4101200341f08bc6800010b980808000000b910401067f23808080800041206b22032480808080002003410036021c200342808080801037021441002d008083d480001a0240412041002802f482d48000118280808000002204450d002004411e6a41003b0000200441166a42003700002004410e6a4200370000200441066a42003700002004417e6a22054200370000200341146a4100412010f4918080002003280218200341146a41086a220628020022076a22082004290000370000200841086a200441086a290000370000200841106a200441106a290000370000200841186a200441186a2900003700002006200741206a360200200420052f00006b41002802ec82d4800011818080800000200341086a41086a22052006280200360200200320032902143703080240200228020822082002280200470d00200241c884c6800010a0868080000b2002280204200841f8006c6a2204410e360244200441ba85c680003602402004418c83808000360218200442fadefdbfd8c483f821370210200442eccaa8be8cb9a691ff0037020820044100360200200420002902003702482004200329030837025c20042001290200370268200441d0006a200041086a290200370200200441d8006a200041106a280200360200200441e4006a2005280200360200200441f0006a200141086a280200360200200441013a00742002200841016a360208200341206a2480808080000f0b4101412010ab80808000000b900301047f23808080800041206b220324808080800041002d008083d480001a0240410441002802f482d48000118280808000002204450d002004417e6a41003b00002003410c6a41086a22054100360200200320043602102003410436020c200341003602182003200341186a36021c2003411c6a2003410c6a10dc84808000200341086a220620052802003602002003200329020c3703000240200228020822052002280200470d00200241c884c6800010a0868080000b2002280204200541f8006c6a22044111360244200441c885c680003602402004419083808000360218200442bc98f887dbbbf4e7b27f37021020044285d784bdd9d9e9af4e37020820044100360200200420002902003702482004200329030037025c20042001290200370268200441d0006a200041086a290200370200200441d8006a200041106a280200360200200441e4006a2006280200360200200441f0006a200141086a280200360200200441013a00742002200541016a360208200341206a2480808080000f0b4101410410ab80808000000b9f0301047f23808080800041206b220324808080800041002d008083d480001a0240410441002802f482d48000118280808000002204450d002004417e6a41003b00002003410c6a41086a22054100360200200320043602102003410436020c200341003602182003200341186a36021c2003411c6a2003410c6a10dc84808000410441002003410c6a10af83808000200341086a220620052802003602002003200329020c3703000240200228020822052002280200470d00200241c884c6800010a0868080000b2002280204200541f8006c6a22044114360244200441c587c680003602402004419183808000360218200442a2c1f9b6deb49cf541370210200442b8d5d99ddee3cff4cf0037020820044100360200200420002902003702482004200329030037025c20042001290200370268200441d0006a200041086a290200370200200441d8006a200041106a280200360200200441e4006a2006280200360200200441f0006a200141086a280200360200200441013a00742002200541016a360208200341206a2480808080000f0b4101410410ab80808000000ba70201037f41002d008083d480001a0240410141002802f482d48000118280808000002203450d00200341003a00002003417e6a41003b00000240200228020822042002280200470d00200241c884c6800010a0868080000b2002280204200441f8006c6a22054103360244200541ab88c68000360240200541eb8080800036021820054298a593acd1ceffcb9c7f3702102005429e8eaae68bb9afc651370208200541003602002005200029020037024820054101360264200520033602602005410136025c20052001290200370268200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541f0006a200141086a280200360200200541003a00742002200441016a3602080f0b4101410141f08bc6800010b980808000000bb30301057f23808080800041206b220224808080800041002103024002400240024002400240024041012001280208220441056a20012802002205418080808078461b22064100480d002006450d0141002d008083d480001a200641002802f482d480001182808080000022030d02410121030b2003200641f08bc6800010b980808000000b20024100360214200242808080801037020c2002410c6a4100410110f49180800020022802102103200228021421062005418080808078470d010c030b2003417e6a41003b0000200220033602102002200636020c2005418080808078460d01410021060b200320066a41013a00002002200641016a36021420012802042103200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004200228020c200228021422066b4d0d002002410c6a2006200410f491808000200228021421060b200228021020066a2003200410f4978080001a2002200620046a3602140c020b410021060b200320066a41003a00002002200641016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b960301047f23808080800041206b220324808080800041002d008083d480001a0240410441002802f482d48000118280808000002204450d002004417e6a41003b00002003410c6a41086a22054100360200200320043602102003410436020c200341003602182003200341186a36021c2003411c6a2003410c6a10dc84808000200341086a220620052802003602002003200329020c3703000240200228020822052002280200470d00200241c884c6800010a0868080000b2002280204200541f8006c6a22044106360244200441d689c680003602402004419283808000360218200442c3f3a2cbf9af8ce138370210200442a2b6c4bdfcbfd28d947f37020820044100360200200420002902003702482004200329030037025c20042001290200370268200441d0006a200041086a290200370200200441d8006a200041106a280200360200200441e4006a2006280200360200200441f0006a200141086a280200360200200441013a00742002200541016a360208200341206a2480808080000f0b4101410441e4e5c5800010b980808000000bb30301057f23808080800041206b220224808080800041002103024002400240024002400240024041012001280208220441056a20012802002205418080808078461b22064100480d002006450d0141002d008083d480001a200641002802f482d480001182808080000022030d02410121030b2003200641f08bc6800010b980808000000b20024100360214200242808080801037020c2002410c6a4100410110f49180800020022802102103200228021421062005418080808078470d010c030b2003417e6a41003b0000200220033602102002200636020c2005418080808078460d01410021060b200320066a41013a00002002200641016a36021420012802042103200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004200228020c200228021422066b4d0d002002410c6a2006200410f491808000200228021421060b200228021020066a2003200410f4978080001a2002200620046a3602140c020b410021060b200320066a41003a00002002200641016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b9c0403017f037e027f23808080800041c0006b2202248080808000200242d3d8c5d2a9b9d2c1ac7f37002820024282ca868eabf3add0cf00370020200242fc90b9e5d09296e777370018200242a6d4e6f1a4dd959860370010200241086a200241106a412010d085808000420021030240024020012802004101470d0020012903082203500d01200129031022044200200235020c220520047d220420042005561b420020022802084101711b22042003827d20047c21030b200241106a200342ffffffff0f200342ffffffff0f541ba7220610c78680800020022802142201200228021841002802ac82d4800011848080800000210702402002280210450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b410121010240024020070d00200041800a3b00010c010b200041016a2101200241346a200610c786808000200241106a20022802382207200228023c10de858080000240024020022d00104101470d0020012002290011370000200141186a200241296a290000370000200141106a200241216a290000370000200141086a200241196a2900003700000c010b20014200370000200141186a4200370000200141106a4200370000200141086a42003700000b02402002280234450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b410021010b200020013a0000200241c0006a2480808080000f0b41a488cd8000108e81808000000bec0201047f23808080800041306b22022480808080000240024020002802002200280200450d002002200036020c410121002001280200220341dc81c6800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110a7858080000d0320012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a7858080000d02200228022041da80c280004102200228022428020c118080808000000d020b200341e280c28000410120051180808080000021000c010b200128020041d881c680004104200128020428020c1180808080000021000b200241306a24808080800020000bf20201047f23808080800041306b22022480808080000240024020002802002200280200418080808078460d002002200036020c410121002001280200220341dc81c6800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110ad858080000d0320012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ad858080000d02200228022041da80c280004102200228022428020c118080808000000d020b200341e280c28000410120051180808080000021000c010b200128020041d881c680004104200128020428020c1180808080000021000b200241306a24808080800020000bf10201047f23808080800041306b22022480808080004101210302400240200028020022002802004101470d002002200041046a36020c2001280200220041dc81c6800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d032002410c6a200110a6858080000d0320012802002100200128020428020c21050c010b200041e080c2800041022005118080808000000d0241012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a6858080000d02200228022041da80c280004102200228022428020c118080808000000d020b200041e280c28000410120051180808080000021030c010b200128020041d881c680004104200128020428020c1180808080000021030b200241306a24808080800020030bee0201047f23808080800041306b220224808080800002400240200028020022002d00004102460d002002200036020c410121002001280200220341dc81c6800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110a3858080000d0320012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a3858080000d02200228022041da80c280004102200228022428020c118080808000000d020b200341e280c28000410120051180808080000021000c010b200128020041d881c680004104200128020428020c1180808080000021000b200241306a24808080800020000bec0201047f23808080800041306b22022480808080000240024020002802002200280200450d002002200036020c410121002001280200220341dc81c6800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110908c8080000d0320012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10908c8080000d02200228022041da80c280004102200228022428020c118080808000000d020b200341e280c28000410120051180808080000021000c010b200128020041d881c680004104200128020428020c1180808080000021000b200241306a24808080800020000bf50101037f23808080800041306b22022480808080002000280200210041012103200128020041e480c280004101200128020428020c118080808000002104200241003a0009200220043a0008200220013602042002410036022020024100360210200220002802042204360228200220002802002201360224200220043602182002200136021420022000280208410020011b36022c20022001410047220136021c2002200136020c200241046a2002410c6a108a8e8080002101024020022d00080d002001280200220128020041dc80c280004101200128020428020c1180808080000021030b200241306a24808080800020030bf10201047f23808080800041306b22022480808080004101210302400240200028020022002d00004101470d002002200041016a36020c2001280200220041dc81c6800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d032002410c6a200110aa858080000d0320012802002100200128020428020c21050c010b200041e080c2800041022005118080808000000d0241012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa858080000d02200228022041da80c280004102200228022428020c118080808000000d020b200041e280c28000410120051180808080000021030c010b200128020041d881c680004104200128020428020c1180808080000021030b200241306a24808080800020030ba10301087f23808080800041106b2203248080808000024020022802082204200428020041054b22054103746a2802002206450d00200228020421072002280200210802402004280204200441046a20051b2006412c6c6a220441546a2206280200220241014b0d00200441586a2209280200210a200441706a280200210502402002410171450d00200a2005460d010b2003200441646a36020c2003410c6a2002200a200510a5978080002009200536020041012102200641013602000b4158210502400240024002402002417e6a2202410220024102491b0e03010200010b416421050b200420056a450d004100210202400240024020074100480d00024020070d00410121020c030b41002d008083d480001a200741002802f482d480001182808080000022020d01410121020b2002200741f49ac6800010b980808000000b2002417e6a41003b000020022008200710f4978080001a0b2000200736020820002002360204200020073602000c010b20004180808080783602000b200341106a2480808080000f0b4198bdcd800041fc004184bfcd800010a181808000000bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b20001095898080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0bdb0204047f017e017f017e024020002802042201450d000240200028020c2202450d002000280200220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341807d6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2005427f7c210702402003410020057aa74103766b41306c6a220641706a280200450d00200641746a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200720058321052002417f6a22020d000b0b2001200141306c41376a41707122046a4177460d00200028020020046b22042004417e6a2f00006b41002802ec82d48000118180808000000b02402000280240450d00200028024422042004417e6a2f00006b41002802ec82d48000118180808000000b0b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210988c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210988c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210a28c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210a28c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210978c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210978c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210a48c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210a48c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c100492002109c8c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c100492002109c8c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c100492002109f8c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c100492002109f8c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c100492002109d8c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c100492002109d8c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c100492002109b8c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c100492002109b8c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210a68c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210a68c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210948c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210948c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210a58c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210a58c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210a08c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210a08c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b8503020c7f017e23808080800041206b220224808080800002400240024020002802002203450d00200141046a2104200128020821052001280204210620002802042107034041002108024020032f018a012209450d002009410c6c210a2003410c6a210b41002108034002402006200b417c6a2802002005200b280200220c2005200c491b10f597808000220d2005200c6b200d1b220c41004a200c4100486b41ff0171220c4101460d00200c0d024101210b2001280200450d0620062006417e6a2f00006b41002802ec82d48000118180808000000c060b200b410c6a210b200841016a2108200a41746a220a0d000b200921080b02402007450d002007417f6a2107200320084102746a28028c0121030c010b0b2008ad422086210e0c010b200141046a2104410021030b4101210b20012802002205418080808078460d002002200e37021820022003360214200220003602102002200536020420022004290200370208200241046a109c8d8080001a4100210b0b200241206a248080808000200b0bf303020b7f027e23808080800041306b22042480808080000240024002400240024020012802002205450d00200228020821062002280204210720012802042108034041002109024020052f01ba02220a450d00200a410c6c210b4100210c410021090340024020072005200c6a220d41b8016a2802002006200d41bc016a280200220d2006200d491b10f597808000220e2006200d6b200e1b220d41004a200d4100486b41ff0171220d4101460d00200d0d0220042008360224200420053602202004290320210f2002280200450d0620072007417e6a2f00006b41002802ec82d48000118180808000000c060b200941016a2109200b200c410c6a220c470d000b200a21090b02402008450d002008417f6a2108200520094102746a2802bc0221050c010b0b2004200936022820044100360224200228020021062002290204210f200429022421100c010b2002290204210f20022802002106410021050b2006418080808078470d01200121090b2000200fa720094104746a220629020037020020062003290200370200200041086a200641086a22062902003702002006200341086a2902003702000c010b2004201037021820042005360214200420013602102004200f37020820042006360204200441046a2003109e8d8080001a200041063a00000b200441306a2480808080000be103020b7f027e23808080800041306b22042480808080000240024002400240024020012802002205450d00200228020821062002280204210720012802042108034041002109024020052f01aa09220a450d00200a410c6c210b4100210c410021090340024020072005200c6a220d41a8086a2802002006200d41ac086a280200220d2006200d491b10f597808000220e2006200d6b200e1b220d41004a200d4100486b41ff0171220d4101460d00200d0d0220042008360224200420053602202004290320210f2002280200450d0620072007417e6a2f00006b41002802ec82d48000118180808000000c060b200941016a2109200b200c410c6a220c470d000b200a21090b02402008450d002008417f6a2108200520094102746a2802ac0921050c010b0b2004200936022820044100360224200228020021062002290204210f200429022421100c010b2002290204210f20022802002106410021050b2006418080808078470d01200121090b2000200fa7200941e0006c6a220641e00010f4978080001a2006200341e00010f4978080001a0c010b2004201037021820042005360214200420013602102004200f37020820042006360204200441046a200310998d8080001a20004180808080783602540b200441306a2480808080000b9d04020d7f017e23808080800041306b220224808080800002400240024020002802002203450d002001280214210420012802102105200128020821062001280204210720002802042108034041002109024020032f018e02220a450d00200a41186c210b200341146a210c410021090340024002402007200c41706a2802002006200c41746a280200220d2006200d491b10f597808000220e2006200d6b200e1b220d450d00200d41004a200d4100486b210d0c010b2005200c417c6a2802002004200c280200220d2004200d491b10f597808000220e2004200d6b200e1b220d41004a200d4100486b210d0b0240200d4101460d00200d41ff01710d0202402001280200450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b4101210c200128020c450d0620052005417e6a2f00006b41002802ec82d48000118180808000000c060b200c41186a210c200941016a2109200b41686a220b0d000b200a21090b02402008450d002008417f6a2108200320094102746a2802900221030c010b0b2009ad422086210f0c010b200128021421042001280210210520012802042107410021030b4101210c20012802002206418080808078460d002002200f37022820022003360224200220003602202002200436021c200220053602182002200736020c2002200636020820022001290208370210200241086a109b8d8080001a4100210c0b200241306a248080808000200c0bdc05010d7f23808080800041c0026b220324808080800002400240200128020022040d00410021050c010b20022802142106200228021021072002280208210520022802042108200128020421090240024003404100210a024020042f01e20c220b450d00200b41186c210c4100210d4100210a03400240024020082004200d6a220e41046a2802002005200e41086a280200220220052002491b10f597808000220f200520026b200f1b2202450d00200241004a20024100486b21020c010b2007200e41106a2802002006200e41146a280200220220062002491b10f597808000220e200620026b200e1b220241004a20024100486b21020b024020024101460d00200241ff01710d02200320013602182003200a360214200320093602102003200436020c41002105200341003a001f200341a0016a2003410c6a2003411f6a10ce8380800020032802a001210220032802a401210e20032802ac01210f20032802b001210a200341206a200341b4016a41800110f4978080001a20012001280208417f6a360208024020032d001f4101470d002001280200220d450d0620012802042204450d05200d2802e40c220641003602880220012004417f6a36020420012006360200200d200d417e6a2f00006b41002802ec82d48000118180808000000b200341a0016a200341206a41800110f4978080001a2002418080808078460d06200041046a200341a0016a41046a41fc0010f4978080001a02402002450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b41012105200f450d06200a200a417e6a2f00006b41002802ec82d48000118180808000000c060b200a41016a210a200c200d41186a220d470d000b200b210a0b024020090d00410021050c040b2009417f6a21092004200a4102746a2802e40c21040c000b0b419888c38000412141bc88c38000108081808000000b41b4adc7800010a081808000000b20002005360200200341c0026a2480808080000bc10101057f02400240200128020822032002490d00200320026b220441306c210541042106024020032002460d0041002d008083d480001a200541002802f482d48000118280808000002203450d022003200341036a417c71220620036b22076a417e6a20073b00000b2001200236020820062001280204200241306c6a200510f49780800021022000200436020820002002360204200020043602000f0b2002200341f897c6800010b580808000000b4104200541f897c6800010b980808000000bc55a07017f017e027f017e137f017e0b7f23808080800041b00e6b22032480808080004100410035028483d4800042c4e6c11b85200341d80c6aad22047e200442ae94e698017e4220898522043e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d00c883d480002105200341286a22064101410041002802c480d4800011868080800000200341086a41086a4100290388e7c5800037030020034100360250200342808080801037034820034100290380e7c58000370308200341b883d48000410020054102461b36022020032004422088220742a2f0a4a00a7e200442ffffffff0f83220442d0e3fccc027e85200742d0e3fccc027e200442a2f0a4a00a7e85422089853703182001280204210820012802082101200341003602d80220034280808080c0003702d002200342003702b00520082001410c6c6a21090240024002400240024002402001450d0020034188056a41286a210a20034188056a41046a210b200341f00a6a41046a210c200341f00a6a41146a210d200341d80c6a41146a210e200341d80c6a41046a210f200341d80c6a41016a21052003418c036a41086a2110200341b8056a41086a2111200341b8056a41046a2112024002400240024002400240024002400240024002400340200841046a2802002113410021140240200841086a2802002201450d0020132d000041014621140b024002400240024020012014490d002008410c6a2115200341d80c6a201320146a2213200120146b220110e689808000200341a8016a41086a2216200f41086a2902003703002003200f2902003703a80120032802d80c22174107470d01201220032903a801370200201241086a200341a8016a41086a2903003702000c020b2014410041ac94c68000109281808000000b200d200e41c40110f4978080001a200c41086a2016290300370200200c20032903a801370200200320173602f00a200341b8056a200341f00a6a2013200110df9780800020032802b80522184107470d010b200341d80c6a41186a22054200370300200341d80c6a41206a22134200370300200341d80c6a41286a22164200370300200341d80c6a41086a2208201241086a290200370300200342003703e80c200320122902003703d80c41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22176a221420032903d80c3702002014417e6a20173b0000201441086a2008290300370200201441106a200341d80c6a41106a290300370200201441186a2005290300370200201441206a2013290300370200201441286a201629030037020041012117201521080c0f0b4104413010ab80808000000b20032802bc05211920034190076a201141d00110f4978080001a4104211a410121174100210141002113024002400240024002402018417d6a2216410420164104491b0e050202010000020b41102117410121010b41002d008083d480001a201741286c221641002802f482d48000118280808000002213450d012013201341036a417c71221a20136b22166a417e6a20163b00000240024020010d0041012113201a21010c010b2017417f6a2201417871211320014107712116201a21010340200141023a000020014198026a41023a0000200141f0016a41023a0000200141c8016a41023a0000200141a0016a41023a0000200141f8006a41023a0000200141d0006a41023a0000200141286a41023a0000200141c0026a2101201341786a22130d000b02402016450d00201641286c2116410021130340200120136a41023a00002016201341286a2213470d000b200120136a21010b201721130b200141023a0000201721010b200320133602ec042003201a3602e804200320013602e40420032019360290032003201836028c03201020034190076a41d00110f4978080001a200342003702f004024020140d00201521080c020b024020152009460d002003200841106a2902003702f404200841186a21080c020b41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22056a2214420037020420144185808080783602002014417e6a20053b00002014410c6a4200370200201441146a42003702002014411c6a4200370200200921080c0e0b4104413010ab80808000000b4104201610ab80808000000b200341d80c6a2003418c036a10aa89808000024020032d00d80c450d0020032802dc0c21140c0c0b20032d00d90c21010340024020014101710d002003418c036a20034188056a10ab89808000024020032802d802220120032802d002470d00200341d0026a418c94c68000109f868080000b20032802d402200141f0016c6a2003418c036a41f00110f4978080001a2003200141016a3602d80220082009470d02200921080c0e0b0240024020032802f40422130d00410021010c010b20032802b405221641017621010240024020164101710d002001200328028c0520032802b0052216201641284b22161b22144b0d0720032802880520034188056a20161b2116410021140c010b2001200328028c0520032802b0052216201641284b22141b22164b0d07200120164f0d08200320032802880520034188056a20141b221620016a2d000041f001713a00c105410121140b200320143a00c005200320013602bc05200320163602b805200341f00a6a200341086a200341b8056a201320032802f804108488808000200541186a200341f00a6a41186a290000370000200541106a200341f00a6a41106a290000370000200541086a200341f00a6a41086a290000370000200520032900f00a370000410121010b200320013a00d80c200341b8056a2003418c036a2005410020011b10ac8980800020032802b405221341017621010240024020134101710d002001200328028c0520032802b0052213201341284b22131b22164b0d0920032802880520034188056a20131b2113410021160c010b2001200328028c0520032802b0052213201341284b22161b22134b0d09200120134f0d0a200320032802880520034188056a20161b221320016a2d000041f001713a00f90a410121160b200320163a00f80a200320013602f40a200320133602f00a2003418c026a200341086a200341f00a6a20032802bc05221620032802c00510848880800020032802d8022201450d0220032001417f6a22013602d80220032802d402200141f0016c6a22012802004107460d022003418c036a200141f00110f4978080001a0240024002400240200328028c03417d6a2201410420014104491b0e050302020001030b20032802b4052201450d0220034188056a4104412820032802b00541284b22141b6a2217280200221a450d0d20032802880521132017201a417f6a221a360200201320034188056a20141b201a6a2d0000211420032001417f6a22013602b4052001410171450d02201441f00171211a0240024020034188056a4104412820032802b005221441284b22011b6a28020022172014412820011b460d00200b200a20011b2114201320034188056a20011b21010c010b20034188056a10d997808000200328028c0521172003280288052101200b21140b200120176a201a3a00002014201428020041016a3602000c020b20032802e004210120032802dc042113024020032802b4052214450d0020034188056a4104412820032802b00541284b221a1b6a22182802002215450d0e200328028805211720182015417f6a2215360200201720034188056a201a1b20156a2d0000211a20032014417f6a22143602b4052014410171450d00201a41f0017121150240024020034188056a4104412820032802b005221a41284b22141b6a2802002218201a412820141b460d00200b200a20141b211a201720034188056a20141b21140c010b20034188056a10d997808000200328028c0521182003280288052114200b211a0b201420186a20153a0000201a201a28020041016a3602000b20034188056a201341017420016b10ea978080000c010b20034188056a20032802a00341017420032802a4036b10ea978080000b20032802f004221320032802ec0422014f0d0320032802e804201341286c6a220141003a00002001200329028c02370001200141096a2003418c026a41086a290200370000200141116a2003418c026a41106a290200370000200141196a2003418c026a41186a2902003700002003201341016a3602f004024020032802b805450d0020162016417e6a2f00006b41002802ec82d48000118180808000000b200341d80c6a2003418c036a10aa8980800020032d00d90c210120032d00d80c450d000b0b20032802dc0c21140c0a0b200341d80a6a20034198026a290200370300200341e00a6a200341a0026a290200370300200341e80a6a200341a8026a28020036020020032003290290023703d00a200328028c022114024020032802b805450d0020162016417e6a2f00006b41002802ec82d48000118180808000000b410021170c0b0b20132001419c94c68000108281808000000b2001201441b4e7cd8000109181808000000b2001201641c4e7cd8000109181808000000b2001201641d4e7cd8000108281808000000b2001201641b4e7cd8000109181808000000b2001201341c4e7cd8000109181808000000b2001201341d4e7cd8000108281808000000b41f0e6cd800041224194e7cd800010a181808000000b41f0e6cd800041224194e7cd800010a181808000000b4101211720032802e404450d0120032802e80422012001417e6a2f00006b41002802ec82d48000118180808000000c010b41002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b22056a2214420037020420144185808080783602002014417e6a20053b00002014410c6a4200370200201441146a42003702002014411c6a4200370200410121170b024020032802b0054129490d0020032802880522012001417e6a2f00006b41002802ec82d48000118180808000000b024020032802d8022213450d0020032802d402211a2013410171211841002105024020134101460d00201a41cc036a21012013417e71211641002105034002402001418c7e6a280200450d00200141907e6a28020022132013417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022132013417e6a2f00006b41002802ec82d48000118180808000000b200141e0036a21012016200541026a2205470d000b0b2018450d00201a200541f0016c6a22012802d801450d00200141d8016a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020032802d002450d0020032802d40222012001417e6a2f00006b41002802ec82d48000118180808000000b2017450d01410521050c020b4104413010ab80808000000b200341f0026a41186a200341d00a6a41186a2802002201360200200341f0026a41106a200341d00a6a41106a2903002204370300200341f0026a41086a200341d00a6a41086a2903002207370300200320032903d00a221b3703f002200341b4016a2007370200200341bc016a2004370200200341c4016a2001360200200320143602a8012003201b3702ac0102402002450d002002200341a8016a412010f597808000450d00200341a6016a20032d00aa013a000020034198016a41086a20034183036a280000360200200341f4006a2003418b036a2d00003a0000200341fd006a200241086a29000037000020034185016a200241106a2900003700002003418d016a200241186a290000370000200320032f01a8013b01a401200320032900fb02370398012003200328008703360270200320022900003700754100210520032900af01210420032800ab0121140c010b200341003602d40120034280808080103702cc012003419892c680003602dc05200341003602c805200341003602b8052003200341a8016a3602e0052003200341086a3602d805200341d80c6a200341b8056a10ad8980800020032802dc0c21140240024020032802d80c2205418080808078470d00410521050c010b200341f00a6a41306a2213200341d80c6a41386a280200360200200341f00a6a41286a2216200341d80c6a41306a290200370300200341f00a6a41206a2202200341d80c6a41286a290200370300200341f00a6a41186a2217200341d80c6a41206a290200370300200341f00a6a41106a221a200341d80c6a41186a290200370300200341f80a6a2218200341d80c6a41106a290200370300200320032902e00c3703f00a41002d008083d480001a02400240024041c00041002802f482d48000118280808000002201450d002001200141036a417c7120016b220f6a2201201436020420012005360200200120032903f00a3702082001417e6a220c200f3b0000200141106a2018290300370200200141186a201a290300370200200141206a2017290300370200200141286a2002290300370200200141306a2016290300370200200141386a20132802003602002001200341b8056a36023c200141ac92c68000411710a28a80800022050d01200341fc0a6a21150340200341f00a6a200110a38a8080000240024002400240024020032802f00a22144180808080786a0e020108000b20032802f40a210520032802f80a4117490d0141ac92c680002005411710f5978080000d01024020032802840b4120470d0020032802fc0a2117200341d80c6a41186a221a20032802800b221341186a290000370300200341d80c6a41106a2218201341106a290000370300200341d80c6a41086a220f201341086a290000370300200320132900003703d80c024020032802d401220220032802cc01470d00200341cc016a419893c680001090868080000b20032802d00120024105746a221620032903d80c370000201641086a200f290300370000201641106a2018290300370000201641186a201a2903003700002003200241016a3602d40102402017450d0020132013417e6a2f00006b41002802ec82d48000118180808000000b2014450d050c040b20034198016a41086a201541086a28020036020020032015290200370398014104210520032902f40a21040c020b20032802f40a2205280200418580808078460d02200341d8016a41286a2216200541286a290200370300200341d8016a41206a2208200541206a290200370300200341d8016a41186a2202200541186a290200370300200341d8016a41106a2217200541106a290200370300200341d8016a41086a221a200541086a290200370300200320052902003703d80141002d008083d480001a0240413041002802f482d48000118280808000002213450d002013201341036a417c7120136b22096a221420032903d8013702002014417e6a20093b0000201441086a201a290300370200201441106a2017290300370200201441186a2002290300370200201441206a2008290300370200201441286a201629030037020020052005417e6a2f01006b41002802ec82d4800011818080800000410521050c020b4104413010ab80808000000b02402014450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20032802fc0a450d0520032802800b22052005417e6a2f00006b41002802ec82d48000118180808000000c050b200110da898080002001200c2f00006b41002802ec82d48000118180808000000c050b20052005417e6a2f00006b41002802ec82d48000118180808000000c000b0b410441c00010ab80808000000b0240024002400240200528020041fcffffff076a2213410320134105491b0e0403030102000b2005280204450d02200528020822132013417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822132013417e6a2f00006b41002802ec82d48000118180808000000c010b20051095898080000b20052005417e6a2f01006b41002802ec82d48000118180808000000b200110da898080002001200c2f00006b41002802ec82d48000118180808000000240200341a8016a2006412010f597808000450d00200341d80c6a41186a200341a8016a41186a290200370300200341d80c6a41106a200341a8016a41106a290200370300200341d80c6a41086a200341a8016a41086a290200370300200320032902a8013703d80c0240200341086a200341d80c6a109b8880800022010d00410121050c020b41012105200128022c41014e0d000c010b200341003a008c0220032802d001211c20032802cc01211d02400240024002400240024020032802d4012201450d00201c20014105746a210e200341d80c6a41106a211e20034188056a41046a211f200341f00a6a41046a210a200341f00a6a41146a2120200341d80c6a41146a2121200341d80c6a41046a210b200341d80c6a41016a21052003418c026a41056a210c2003418c026a41016a2111200341d00a6a41046a2106200341e0086a41086a2122200341b8056a41086a2123200341b8056a41046a212420034188056a41286a212541002101201c2102410021130340200341b0026a41186a221a200241186a290000370300200341b0026a41106a2218200241106a290000370300200341b0026a41086a220f200241086a290000370300200320022900003703b0020240024002402001410171450d00200821170c010b02400240024002402013410171450d002010450d01200821170c030b20082009470d01410121130b41002101410021100c030b2008410c6a2117200841086a2802002126200841046a28020021100b200341003602840520034280808080c0003702fc04200342003702b005410121012017211402400240024002400240024002400240024002400240024002400240024002400340024002400240024002402001410171450d0020262101201021130c010b20142009460d01201441086a2802002101201441046a28020021132014410c6a221721140b20010d01410021080c020b41002d008083d480001a413041002802f482d48000118280808000002201450d062001200141036a417c7120016b22136a2214420037020420144185808080783602002014417e6a20133b00002014410c6a4200370200201441146a42003702002014411c6a42003702000c110b20132d000041014621080b024002400240024020012008490d00200341d80c6a201320086a2213200120086b221610e689808000200341c80c6a41086a2201200b41086a2902003703002003200b2902003703c80c20032802d80c22154107470d01202420032903c80c370200202441086a20012903003702000c020b2008410041ac94c68000109281808000000b2020202141c40110f4978080001a200a41086a2001290300370200200a20032903c80c370200200320153602f00a200341b8056a200341f00a6a2013201610df9780800020032802b805220d4107470d010b201e4200370200201e41086a4200370200201e41106a4200370200201e41186a4200370200200341d80c6a41086a2213202441086a290200370300200320242902003703d80c41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22166a221420032903d80c3702002014417e6a20163b0000201441086a2013290300370200201441106a201e290300370200201441186a200341d80c6a41186a290300370200201441206a200341d80c6a41206a290300370200201441286a200341d80c6a41286a2903003702000c110b4104413010ab80808000000b20032802bc05211220034190076a202341d00110f4978080001a41042119410121154100210141002113024002400240200d417d6a2216410420164104491b0e050202010000020b41102115410121010b41002d008083d480001a201541286c221641002802f482d48000118280808000002213450d062013201341036a417c71221920136b22166a417e6a20163b00000240024020010d0041012113201921010c010b2015417f6a2201417871211320014107712116201921010340200141023a000020014198026a41023a0000200141f0016a41023a0000200141c8016a41023a0000200141a0016a41023a0000200141f8006a41023a0000200141d0006a41023a0000200141286a41023a0000200141c0026a2101201341786a22130d000b02402016450d00201641286c2116410021130340200120136a41023a00002016201341286a2213470d000b200120136a21010b201521130b200141023a0000201521010b200320133602c00a200320193602bc0a200320013602b80a200320123602e4082003200d3602e008202220034190076a41d00110f4978080001a200342003702c40a0240024002402008450d0020142009460d012003201441046a2902003702c80a2014410c6a221721140b200341d80c6a200341e0086a10aa8980800020032d00d80c450d0120032802dc0c21140c100b41002d008083d480001a413041002802f482d48000118280808000002201450d042001200141036a417c7120016b22136a2214420037020420144185808080783602002014417e6a20133b00002014410c6a4200370200201441146a42003702002014411c6a42003702000c0f0b20032d00d90c21010340024020014101710d00200341e0086a20034188056a10ab898080000240200328028405220120032802fc04470d00200341fc046a418c94c68000109f868080000b200328028005200141f0016c6a200341e0086a41f00110f4978080001a2003200141016a36028405410021010c020b0240024020032802c80a22130d00410021010c010b20032802b405221641017621010240024020164101710d002001200328028c0520032802b0052216201641284b22161b22084b0d0a20032802880520034188056a20161b2116410021080c010b2001200328028c0520032802b0052216201641284b22081b22164b0d0a200120164f0d0b200320032802880520034188056a20081b221620016a2d000041f001713a00c105410121080b200320083a00c005200320013602bc05200320163602b805200341f00a6a200341086a200341b8056a201320032802cc0a108488808000200541186a200341f00a6a41186a290000370000200541106a200341f00a6a41106a290000370000200541086a200341f00a6a41086a290000370000200520032900f00a370000410121010b200320013a00d80c200341b8056a200341e0086a2005410020011b10ac8980800020032802b405221341017621010240024020134101710d002001200328028c0520032802b0052213201341284b22131b22164b0d0c20032802880520034188056a20131b2113410021160c010b2001200328028c0520032802b0052213201341284b22161b22134b0d0c200120134f0d0d200320032802880520034188056a20161b221320016a2d000041f001713a00f90a410121160b200320163a00f80a200320013602f40a200320133602f00a200341d00a6a200341086a200341f00a6a20032802bc05221620032802c0051084888080002003280284052201450d0220032001417f6a220136028405200328028005200141f0016c6a22012802004107460d02200341e0086a200141f00110f4978080001a024002400240024020032802e008417d6a2201410420014104491b0e050302020001030b20032802b4052201450d0220034188056a4104412820032802b00541284b22081b6a22152802002219450d10200328028805211320152019417f6a2219360200201320034188056a20081b20196a2d0000210820032001417f6a22013602b4052001410171450d02200841f0017121190240024020034188056a4104412820032802b005220841284b22011b6a28020022152008412820011b460d00201f202520011b2108201320034188056a20011b21010c010b20034188056a10d997808000200328028c0521152003280288052101201f21080b200120156a20193a00002008200828020041016a3602000c020b20032802b40a210120032802b00a2113024020032802b4052208450d0020034188056a4104412820032802b00541284b22191b6a220d2802002212450d112003280288052115200d2012417f6a2212360200201520034188056a20191b20126a2d0000211920032008417f6a22083602b4052008410171450d00201941f0017121120240024020034188056a4104412820032802b005221941284b22081b6a280200220d2019412820081b460d00201f202520081b2119201520034188056a20081b21080c010b20034188056a10d997808000200328028c05210d2003280288052108201f21190b2008200d6a20123a00002019201928020041016a3602000b20034188056a201341017420016b10ea978080000c010b20034188056a20032802f40841017420032802f8086b10ea978080000b20032802c40a221320032802c00a22014f0d0320032802bc0a201341286c6a220141003a0000200120032902d00a370001200141096a200341d00a6a41086a290200370000200141116a200341d00a6a41106a290200370000200141196a200341d00a6a41186a2902003700002003201341016a3602c40a024020032802b805450d0020162016417e6a2f00006b41002802ec82d48000118180808000000b200341d80c6a200341e0086a10aa8980800020032d00d90c210120032d00d80c450d000b0b20032802dc0c21140c0d0b200341d0026a41086a200641086a290200370300200341d0026a41106a200641106a290200370300200341d0026a41186a200641186a280200360200200320062902003703d00220032802d00a2114024020032802b805450d0020162016417e6a2f00006b41002802ec82d48000118180808000000b410021150c0e0b20132001419c94c68000108281808000000b4104413010ab80808000000b4104413010ab80808000000b4104201610ab80808000000b2001200841b4e7cd8000109181808000000b2001201641c4e7cd8000109181808000000b2001201641d4e7cd8000108281808000000b2001201641b4e7cd8000109181808000000b2001201341c4e7cd8000109181808000000b2001201341d4e7cd8000108281808000000b41f0e6cd800041224194e7cd800010a181808000000b41f0e6cd800041224194e7cd800010a181808000000b4101211520032802b80a450d0120032802bc0a22012001417e6a2f00006b41002802ec82d48000118180808000000c010b410121150b024020032802b0054129490d0020032802880522012001417e6a2f00006b41002802ec82d48000118180808000000b02402003280284052216450d0020032802800521192016410171210d41002113024020164101460d00201941cc036a21012016417e71210841002113034002402001418c7e6a280200450d00200141907e6a28020022162016417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022162016417e6a2f00006b41002802ec82d48000118180808000000b200141e0036a21012008201341026a2213470d000b0b200d450d002019201341f0016c6a22012802d801450d00200141d8016a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020032802fc04450d0020032802800522012001417e6a2f00006b41002802ec82d48000118180808000000b02402015450d00410521050240201d450d00201c201c417e6a2f00006b41002802ec82d48000118180808000000b0c0b0b200341d80c6a41186a200341d0026a41186a2802002201360200201e200341d0026a41106a2903002204370300200341d80c6a41086a200341d0026a41086a2903002207370300200320032903d002221b3703d80c200c201b370000200c41086a2007370000200c41106a2004370000200c41186a20013600002003201436008d02200341013a008c02410021130b200520032903b002370000200541086a200f290300370000200541106a2018290300370000200541186a201a29030037000041012101200341013a00d80c024020052011412010f5978080000d0041002101200341003a008c020b201721080b200241206a2202200e460d020c000b0b201d450d01201c201c417e6a2f00006b41002802ec82d48000118180808000000c010b0240201d450d00201c201c417e6a2f00006b41002802ec82d48000118180808000000b02402001450d00200341a4016a41026a201141026a2d00003a0000200341a0016a200341a4026a280000360200200341f4006a200341ac026a2d00003a00002003200329009c0237039801200320032800a802360270200320112f00003b01a40141032105200329009402210420032800900221140c060b20134101710d010b20082009460d010c020b20100d010b200341a4016a41026a220120032d00aa013a000020034198016a41086a2205200341bf016a280000360200200341f0006a41046a2213200341c7016a2d00003a0000200320032f01a8013b01a401200320032900b70137039801200320032800c30136027020032800ab01211620032900af012104200341ec006a41026a220820012d00003a0000200320032f01a4013b016c200341e0006a41086a220120052802003602002003200329039801370360200341d8006a41046a220520132d00003a000020032003280270360258200341aa0d6a20082d00003a0000200320032f016c3b01a80d20002003290360370067200041ef006a200128020036000020002003280258360073200041f7006a20052d00003a0000200341d80c6a200341086a41d00010f4978080001a200041086a200341d80c6a41d30010f4978080001a2000200437005f2000201636005b200041003602000c030b410221050c010b20032802cc01450d0020032802d00122012001417e6a2f00006b41002802ec82d48000118180808000000b200341ec006a41026a2201200341a4016a41026a2d00003a0000200341e0006a41086a221320034198016a41086a280200360200200341d8006a41046a2216200341f0006a41046a2d00003a0000200020032900753700252000412d6a200341fd006a290000370000200041356a20034185016a2900003700002000413d6a2003418d016a290000370000200041c4006a200341f0006a41246a280000360000200320032f01a4013b016c200320032903980137036020032003280270360258200041076a20012d00003a0000200020032f016c3b0005200020032903603700142000411c6a201328020036000020002003280258360020200041246a20162d00003a00002000200437020c20002014360208200020053a0004200041013602000240200328020c2216450d00024020032802142200450d002003280208220541086a21012005290300427f8542808182848890a0c0807f8321040340024020044200520d000340200541807d6a210520012903002104200141086a22132101200442808182848890a0c0807f83220442808182848890a0c0807f510d000b200442808182848890a0c0807f852104201321010b2004427f7c210702402005410020047aa74103766b41306c6a221341706a280200450d00201341746a28020022132013417e6a2f00006b41002802ec82d48000118180808000000b200720048321042000417f6a22000d000b0b2016201641306c41376a41707122016a4177460d00200328020820016b22012001417e6a2f00006b41002802ec82d48000118180808000000b2003280248450d00200328024c22012001417e6a2f00006b41002802ec82d48000118180808000000b200341b00e6a2480808080000bb60f010d7f23808080800041a0026b2202248080808000024002400240024002400240024002400240024002402001280200417d6a2203410420034104491b417e6a0e03030001040b200141046a21030c010b200121030b200241206a200341c00110f4978080001a20012802e4012204410f4b0d012004410c6c210520012802dc01200441286c6a210320024180026a41086a210620012802e001210720024180026a41186a210802400240024002400240024003400240200241206a20056a2209280200220a4102460d0002400240200a410171450d00200941086a280200220b450d06200941046a280200210a2008420037030020024180026a41106a4200370300200642003703002002420037038002200b41204b0d0520024180026a200a200b10f4978080001a200241e0016a41086a200641086a290200370300200241e0016a41106a200641106a290200370300200220062902003703e0012002280284022109200228028002210c4101210a0c010b200941046a280200210a200941086a280200220b4120470d03200241f8016a41026a200a41026a2d00003a0000200241e0016a41086a200a41176a290000370300200241e0016a41106a200a411f6a2d00003a00002002200a2f00003b01f8012002200a29000f3703e001200a28000b2109200a280007210c200a280003210b4100210a0b200241fc016a41026a220d200241f8016a41026a2d00003a0000200220022f01f8013b01fc0120024180026a41106a220e200241e0016a41106a2903003703002006200241e0016a41086a290300370300200220022903e00137038002200420074f0d072003200a3a0000200341016a20022f01fc013b00002003410c6a2009360200200341086a200c360200200341046a200b360200200341106a200229038002370200200341036a200d2d00003a0000200341186a2006290300370200200341206a200e2903003702000b2001200441016a22043602e4012005410c6a2105200341286a210320044110470d000c080b0b4100210302400240200b4100480d000240200b0d00410121044101200a200b10f4978080001a0c060b41002d008083d480001a200b41002802f482d480001182808080000022040d01410121030b2003200b4194adc6800010b980808000000b2004417e6a41003b00002004200a200b10f4978080001a0c030b410021030240200b4100480d0041002d008083d480001a200b41002802f482d480001182808080000022040d02410121030b2003200b4194adc6800010b980808000000b200041003a0001200041003a00000c0a0b2004417e6a41003b00002004200a200b10f4978080001a0b41002d008083d480001a0240413041002802f482d48000118280808000002203450d002003200341036a417c7120036b22056a220342003702102003200b36020c200320043602082003200b36020420034188808080783602002003417e6a20053b0000200341186a4200370200200341206a4200370200200341286a420037020020002003360204200041013a00000c090b4104413010ab80808000000b20042007419095c68000108281808000000b20012802e4010d00200128020c210320012802082104024002402001280204410171450d002003450d07200241386a22054200370300200241206a41106a220a4200370300200241206a41086a420037030020024200370320200341204b0d04200241206a2004200310f4978080001a200241086a200a290300370300200241106a200529030037030020022002290328370300200228022421052002280220210a410121090c010b20034120470d022002411c6a41026a200441026a2d00003a0000200241086a200441176a290000370300200241106a2004411f6a2d00003a0000200220042f00003b011c2002200429000f370300200428000b21052004280007210a20042800032103410021090b20012802e001450d04200141013602e40120012802dc01220420093a0000200420022f011c3b00012004200536020c2004200a3602082004200336020420042002290300370210200441036a2002411e6a2d00003a0000200441186a200241086a290300370200200441206a200241106a2903003702000b20004180023b01000c050b410021050240024020034100480d00024020030d004101210541012004200310f4978080001a0c040b41002d008083d480001a200341002802f482d480001182808080000022050d01410121050b200520034194adc6800010b980808000000b2005417e6a41003b000020052004200310f4978080001a0c010b410021050240024020034100480d0041002d008083d480001a200341002802f482d480001182808080000022050d01410121050b200520034194adc6800010b980808000000b2005417e6a41003b000020052004200310f4978080001a0b41002d008083d480001a0240413041002802f482d48000118280808000002204450d00200041013a00002004200441036a417c7120046b220a6a220442003702102004200336020c20042005360208200420033602042004418880808078360200200020043602042004417e6a200a3b0000200441186a4200370200200441206a4200370200200441286a42003702000c030b4104413010ab80808000000b41004100418095c68000108281808000000b200041003b01000b200241a0026a2480808080000b990701077f23808080800041106b2202248080808000024002400240024002400240024002402000280200417d6a2203410420034104491b0e050702020001070b20002802e40121030240024020012d002c4101710d00200141046a210020034104742104024002402001410441282001280228220541284b22031b6a28020022062005412820031b460d002000200141286a20031b21002001280200200120031b21030c010b200110d99780800020012802042106200128020021030b200320066a20043a00002000200028020041016a3602000c010b200128020420012802282200200041284b22001b2206450d032001280200200120001b20066a417f6a220020002d00002003723a00000b2001200128022c41016a36022c0c060b20002802d4012204410176210320002802d001210620002802cc0121050240024020044101710d00410021070240200320064b0d0041002108200321040c020b2003200641dce4cd8000109281808000000b200320064f0d0341012107200341016a2104200520036a2d0000410f7121080b200220083a0005200220073a00042002200620046b36020c2002200520046a3602082001200241046a10ec9780800020002802e40121030240024020012d002c4101710d00200141046a210020034104742104024002402001410441282001280228220541284b22031b6a28020022062005412820031b460d002000200141286a20031b21002001280200200120031b21030c010b200110d99780800020012802042106200128020021030b200320066a20043a00002000200028020041016a3602000c010b200128020420012802282200200041284b22001b2206450d042001280200200120001b20066a417f6a220020002d00002003723a00000b2001200128022c41016a36022c0c050b20002802182205410176210320002802142106200028021021040240024020054101710d00410021050240200320064b0d0041002107200321000c020b2003200641dce4cd8000109281808000000b200320064f0d0441012105200341016a2100200420036a2d0000410f7121070b200220073a0005200220053a00042002200620006b36020c2002200420006a3602082001200241046a10ec978080000c040b41a4e6cd8000413a41e0e6cd800010a181808000000b2003200641ece4cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b2003200641ece4cd8000108281808000000b200241106a2480808080000bae0901097f23808080800041c0006b22032480808080002001280200417d6a2204410420044104491b2104024002400240024002400240024002400240024002400240024002400240024002402002450d004101210520040e050104060703010b4102210520040e050001050602000b41002d008083d480001a410141002802f482d48000118280808000002202450d09200241003a00002000410136020820002002360204200041013602002002417e6a41003b00000c080b20012802182205410176210420012802142102200128021021060240024020054101710d00410021070240200420024b0d0041002108200421090c020b2004200241dce4cd8000109281808000000b200420024f0d0a41012107200441016a2109200620046a2d0000410f7121080b200320083a0025200320073a0024200341003602202003200220096b36021c2003200620096a360218200341086a41086a200141046a220441086a28020036020020032004290200370308200241017420056b21020c020b20012802d4012206410176210920012802d001210420012802cc0121080240024020064101710d004100210a0240200920044b0d004100210b200921070c020b2009200441dce4cd8000109281808000000b200920044f0d0a4101210a200941016a2107200820096a2d0000410f71210b0b2003200b3a00252003200a3a0024200341003602202003200420076b36021c2003200820076a360218200441017420066b210420012802dc01220920012802e00141286c6a21062002450d042003200536020820032002ad428080808080048437020c0c050b20012802182209410176210520012802142104200128021021070240024020094101710d00410021080240200520044b0d004100210a200521060c020b2005200441dce4cd8000109281808000000b200520044f0d0a41012108200541016a2106200720056a2d0000410f71210a0b2003200a3a0025200320083a0024200341003602202003200420066b36021c2003200720066a36021820032002ad428080808080048437020c20034101360208200441017420096b21020b2000200341186a2002200341086a10828a8080000c040b2001280218210220012802142104200341086a200141106a10e79780800020012802e001450d0820012802dc012d00004102470d0941cc94c68000412441f094c6800010a181808000000b024002402002450d002003200536020820032002ad428080808080048437020c0c010b200341106a200141cc016a280200360200200320012902c4013703080b2000200341186a200341086a109c8a808000000b200341106a200141c8016a280200360200200320012902c0013703080b2000200341186a200420092006200341086a109f8a8080000b024020012802d801450d0020012802dc0122012001417e6a2f00006b41002802ec82d48000118180808000000b200341c0006a2480808080000f0b4101410141f49ac6800010b980808000000b2004200241ece4cd8000108281808000000b2009200441ece4cd8000108281808000000b2005200441ece4cd8000108281808000000b4100410041bc94c68000108281808000000b2000200341086a200441017420026b200341186a109d8a808000000bcc0501057f23808080800041c0066b220224808080800041002d008083d480001a0240024041800341002802f482d48000118280808000002203450d002003200341036a417c71220420036b22056a417e6a20053b000020024190046a41086a2001280228220341086a29000037030020024190046a41106a200341106a29000037030020024190046a41186a200341186a2900003703002002200329000037039004200241203602b804200220033602b404200241003602b00420024188026a200120024190046a200241b0046a41a0f1ca8000410110e889808000200228028c0221010240024020022802880222054107470d0020004180808080783602002000200136020420042004417e6a2f01006b41002802ec82d48000118180808000000c010b200241086a20024188026a41086a41fd0110f4978080001a200241bc046a200241086a41dc0110f4978080001a20024198066a41206a20024184026a2d00003a000020024198066a41186a200241fc016a29020037030020024198066a41106a200241086a41ec016a29020037030020024198066a41086a200241ec016a290200370300200220022902e4013703980641002d008083d480001a41ec0141002802f482d48000118280808000002203450d022003200341036a417c7120036b22066a2203200136020c2003200536020820034281808080103702002003417e6a20063b0000200341106a200241bc046a41dc0110f4978080001a200420033602082004410036020020004200370234200041013602082000200436020420004108360200200420022903980637000c200441146a20024198066a41086a2903003700002004411c6a20024198066a41106a290300370000200441246a200241b0066a2903003700002004412c6a200241b8066a2d00003a00000b200241c0066a2480808080000f0b4104418003418898c6800010b980808000000b410441ec0110ab80808000000bcc0401097f2380808080004180016b2204248080808000200441c4006a200110ad89808000200428024821050240024020042802442206418080808078470d002000418080808078360200200020053602040c010b200441086a41386a2207200441c4006a41386a280200360200200441086a41306a2208200441c4006a41306a290200370200200441086a41286a2209200441c4006a41286a290200370200200441086a41206a220a200441c4006a41206a290200370200200441086a41186a220b200441c4006a41186a290200370200200441086a41106a220c200441c4006a41106a2902003702002004200429024c3702102004200536020c200420063602080240200441086a20012002200310af898080002201450d00200041808080807836020020002001360204024020042802102201450d00200428020c41086a210003402000280200220520052802002205417f6a360200024020054101470d00200010de8f8080000b200041306a21002001417f6a22010d000b0b02402004280208450d00200428020c22002000417e6a2f00006b41002802ec82d48000118180808000000b200428023c4129490d01200428021422002000417e6a2f00006b41002802ec82d48000118180808000000c010b20002004290208370200200041386a2007280200360200200041306a2008290200370200200041286a2009290200370200200041206a200a290200370200200041186a200b290200370200200041106a200c290200370200200041086a200441086a41086a2902003702000b20044180016a2480808080000bda0402037f017e23808080800041c0006b2204248080808000200441086a2000200120022003410110b2898080000240024020042d00084101470d00200428020c21010c010b024020042d00090d002000280208210241002101200041003602082002450d01200028020441086a210303402003280200220020002802002200417f6a360200024020004101470d00200310de8f8080000b200341306a21032002417f6a22020d000c020b0b4100210120002802082203450d0020002003417f6a220236020820002802042205200241306c6a22032802004105460d0020002802002106200441106a41286a200341286a290200370300200441106a41206a200341206a290200370300200441106a41186a200341186a290200370300200441106a41106a200341106a290200370300200441106a41086a200341086a2902003703002003290200210741002101200041003602082004200737031002402002450d00200541086a210303402003280200220120012802002201417f6a360200024020014101470d00200310de8f8080000b200341306a21032002417f6a22020d000b20002802002106200028020821010b024020012006470d00200041e499c680001099868080000b2000280204200141306c6a22032004290310370200200341286a200441106a41286a290300370200200341206a200441106a41206a290300370200200341186a200441106a41186a290300370200200341106a200441106a41106a290300370200200341086a200441106a41086a2903003702002000200141016a360208410021010b200441c0006a24808080800020010b8b2a01167f23808080800041d0026b22032480808080000240024020012802082204450d0020012802042205200441306c6a220641506a2207450d00200141106a2108200141346a21092001410c6a210a200341306a41086a210b200341306a41046a210c200341306a41e4016a220d41206a210e0340200641546a210f200641586a221028020022112802e801211220112802e4012113024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020072802000e05030001020f030b2011280208417d6a2204410420044104491b417e6a0e03040506030b200f2802002104411821052011280208417d6a2214410420144104491b417d6a0e020908020b2011280208417d6a2206410420064104491b0e052525090a0b250b2007410141032011280208417d6a2201410420014104491b417e6a4103491b3602002000201036020c2000200a3602042000410136020020002006415d6a41002006415c6a2d00001b3602080c320b41f096c6800041e60041d897c68000108081808000000b201128021c220420112802182205490d0a200420124b0d0b201320056a2115200420056b21052011280220221441017621040240024020144101710d00410021160240200420054b0d0041002117200421140c020b2004200541dce4cd8000109281808000000b200420054f0d0d41012116200441016a2114201520046a2d0000410f7121170b200320173a0031200320163a00302003200520146b3602382003201520146a360234200a200341306a10ec978080002006415c6a2d0000410171450d02200341186a2006415d6a220641186a290000370300200341106a200641106a290000370300200341086a200641086a290000370300200320062900003703000c030b2001280234211102400240200128023822064101710d000240024020082009201141284b22041b220628020022122011412820041b460d00200a280200200a20041b21110c010b200a10d99780800020082802002112200a2802002111200821060b201120126a41003a00002006200628020041016a360200200128023821060c010b20082802002011201141284b1b450d0d0b2001200641016a36023820102802002104410421110240024002400240024020072802000e050001023003000b2004280208417d6a2211410420114104491b417e6a41034f0d02410121110c030b410221112004280208417d6a2206410420064104491b417d6a41024f0d01410021060c2e0b200f2802002111024002402004280208417d6a2206410420064104491b417d6a0e020001020b2011410e4b0d010c2d0b2011410f490d2c0b410321110b0c2b0b20112802d801220620112802d4012204490d0c200620124b0d0d201320046a2112200620046b210620112802dc01220441017621110240024020044101710d00410021130240201120064b0d0041002105201121040c020b2011200641dce4cd8000109281808000000b201120064f0d0f41012113201141016a2104201220116a2d0000410f7121050b200320053a0031200320133a00302003200620046b3602382003201220046a360234200a200341306a10ec978080002001280234211102400240200128023822064101710d000240024020082009201141284b22041b220628020022122011412820041b460d00200a280200200a20041b21110c010b200a10d99780800020082802002112200a2802002111200821060b201120126a41003a00002006200628020041016a360200200128023821060c010b20082802002011201141284b1b450d100b2001200641016a36023820102802002104410421110240024002400240024020072802000e050001022d03000b2004280208417d6a2211410420114104491b417e6a41034f0d02410121110c030b410221112004280208417d6a2206410420064104491b417d6a41024f0d01410021060c2b0b200f2802002111024002402004280208417d6a2206410420064104491b417d6a0e020001020b2011410e4b0d010c2a0b2011410f490d290b410321110b0c280b200341186a4200370300200341106a4200370300200341086a4200370300200342003703000b2011280214210620112802102104024002400240024002400240201128020c4101470d000240024020062004490d00200620124b0d01410121110c030b2004200641f8ddcd8000109581808000000b2006201241f8ddcd8000109181808000000b20062004490d01200620124b0d02410021110b200320113602b8022003200620046b3602c0022003201320046a3602bc0220012802382206410176211120064101710d022011200828020020092802002206200641284b22061b22044b0d12200a280200200a20061b2106410021040c030b2004200641e8ddcd8000109581808000000b2006201241e8ddcd8000109181808000000b2011200828020020092802002206200641284b22041b22064b0d10201120064f0d112003200a280200200a20041b220620116a2d000041f001713a00cd02410121040b200320043a00cc02200320113602c802200320063602c402200341306a20022003200341b8026a200341c4026a410110e889808000024020032802304107470d0020102802002104410421012003280234210602400240024020072802000e050002012826000b2004280208417d6a2201410420014104491b417e6a41034f0d25410121010c270b200f2802002101024002402004280208417d6a2211410420114104491b417d6a0e020001260b2001410e4b0d250c260b2001410f490d250c240b41022101410021112004280208417d6a2204410420044104491b417d6a41024f0d230c250b41002d008083d480001a41ec0141002802f482d48000118280808000002211450d112011201141036a417c7120116b22076a22064281808080103702002006417e6a20073b0000200641086a200341306a41e40110f4978080001a0240200128020822072001280200470d00200141f499c680001099868080000b2001280204200741306c6a22112006360208201141003602002011200d29020037020c201141146a200d41086a2902003702002011411c6a200d41106a290200370200201141246a200d41186a2902003702002011412c6a200e2d00003a00002001200741016a3602080c290b411421050b2004410f4b0d10201120056a2004410c6c6a22112802004102460d1302400240024020012802382214450d0020082009200928020041284b22051b2802002216450d14200a280200211520014110413420051b6a2016417f6a22163602002015200a20051b20166a2d0000211620012014417f6a220536023802402005410171450d00201641f00171211702400240200820092009280200221841284b22141b220528020022162018412820141b460d002015200a20141b21140c010b200a10d99780800020082802002116200a2802002114200821050b201420166a20173a00002005200528020041016a360200200128023821050b20054101710d010b2004410474211502400240200820092009280200221641284b22051b220428020022142016412820051b460d00200a280200200a20051b21050c010b200a10d99780800020082802002114200a2802002105200821040b200520146a20153a00002004200428020041016a3602000c010b200828020020092802002205200541284b22051b2214450d13200a280200200a20051b20146a417f6a220520052d00002004723a00000b20012001280238220541016a2214360238024002402006415c6a2d0000410171450d00200341186a2006415d6a220641186a290000370300200341106a200641106a290000370300200341086a200641086a290000370300200320062900003703000c010b200341186a4200370300200341106a4200370300200341086a4200370300200342003703000b201128020821062011280204210402400240024002400240024020112802004101470d000240024020062004490d00200620124b0d01410121110c030b2004200641f8ddcd8000109581808000000b2006201241f8ddcd8000109181808000000b20062004490d01200620124b0d02410021110b200320113602b8022003200620046b3602c0022003201320046a3602bc02201441017621112005410171450d022011200828020020092802002206200641284b22061b22044b0d18200a280200200a20061b2106410021040c030b2004200641e8ddcd8000109581808000000b2006201241e8ddcd8000109181808000000b2011200828020020092802002206200641284b22041b22064b0d16201120064f0d172003200a280200200a20041b220620116a2d000041f001713a00cd02410121040b200320043a00cc02200320113602c802200320063602c402200341306a20022003200341b8026a200341c4026a410110e889808000024020032802304107470d0020102802002104410421012003280234210602400240024020072802000e050002012321000b2004280208417d6a2201410420014104491b417e6a41034f0d20410121010c220b200f2802002101024002402004280208417d6a2211410420114104491b417d6a0e020001210b2001410e4b0d200c210b2001410f490d200c1f0b41022101410021112004280208417d6a2204410420044104491b417d6a41024f0d1e0c200b41002d008083d480001a41ec0141002802f482d48000118280808000002211450d172011201141036a417c7120116b22076a22064281808080103702002006417e6a20073b0000200641086a200341306a41e40110f4978080001a0240200128020822072001280200470d00200141f499c680001099868080000b2001280204200741306c6a22112006360208201141003602002011200d29020037020c201141146a200d41086a2902003702002011411c6a200d41106a290200370200201141246a200d41186a2902003702002011412c6a200e2d00003a00002001200741016a3602080c270b200a201128021c20112802186b41017420112802206b10ea978080000c1b0b20012802382206450d1a20082009200928020041284b22111b2802002204450d16200a280200210720014110413420111b6a2004417f6a22043602002007200a20111b20046a2d0000210420012006417f6a22113602382011410171450d1a200441f00171210f02400240200820092009280200221241284b22061b221128020022042012412820061b460d002007200a20061b21060c010b200a10d99780800020082802002104200a2802002106200821110b200620046a200f3a00002011201128020041016a3602000c1a0b200a20112802d80120112802d4016b41017420112802dc016b41016a10ea978080000c190b20012004417f6a2211360208200341086a22062005201141306c6a2211410c6a290200370300200341106a2207201141146a290200370300200341186a22042011411c6a290200370300200341206a220f201141246a290200370300200341286a22122011412c6a28020036020020032011290204370300201128020022114105460d15200c2003290300370200200c41286a2012280200360200200c41206a200f290300370200200c41186a2004290300370200200c41106a2007290300370200200c41086a2006290300370200200320113602302003280238221120112802002211417f6a360200024020114101470d00200b10de8f8080000b0240024020012802082211450d002001280204201141306c6a221141506a22060d010b200041003602000c270b201141586a280200210f201141546a2104410421110240024002400240024020062802000e050001021c03000b200f280208417d6a2211410420114104491b417e6a41034f0d02410121110c030b41022111200f280208417d6a2207410420074104491b417d6a41024f0d01410021070c1a0b2004280200211102400240200f280208417d6a2207410420074104491b417d6a0e020001020b2011410e4b0d010c190b2011410f490d180b410321110b0c170b200520044188decd8000109581808000000b200420124188decd8000109181808000000b2004200541ece4cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b200420064188decd8000109581808000000b200620124188decd8000109181808000000b2011200641ece4cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b2011200441b4e7cd8000109181808000000b2011200641c4e7cd8000109181808000000b2011200641d4e7cd8000108281808000000b410441ec0110ab80808000000b2004411041e096c68000108281808000000b41f0e6cd800041224194e7cd800010a181808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b2007410341022004410f461b360200200f200441016a3602000c130b2011200441b4e7cd8000109181808000000b2011200641c4e7cd8000109181808000000b2011200641d4e7cd8000108281808000000b410441ec0110ab80808000000b41f0e6cd800041224194e7cd800010a181808000000b419096c6800041cd0041e897c6800010a181808000000b201141016a2107410221110b20042007360200200620113602000c0b0b0240024020012802082211450d002001280204201141306c6a221141506a22060d010b200041003602000c0e0b201141586a280200210f201141546a210441042111024002400240024002400240024020062802000e050001020603000b200f280208417d6a2211410420114104491b417e6a41034f0d02410121110c030b41022111200f280208417d6a2207410420074104491b417d6a41024f0d01410021070c040b2004280200211102400240200f280208417d6a2207410420074104491b417d6a0e020001020b2011410e4b0d010c030b2011410f490d020b410321110b0c010b201141016a2107410221110b20042007360200200620113602000c0a0b410321010c010b200141016a2111410221010b200720013602002000200636020820004201370200200f20113602000c0a0b410321010c010b200141016a2111410221010b200720013602002000200636020820004201370200200f20113602000c070b201141016a2106410221110b20072011360200200f20063602000c020b201141016a2106410221110b20072011360200200f20063602000b20012802082204450d0120012802042205200441306c6a220641506a22070d000b0b200041003602000b200341d0026a2480808080000b800b01047f2380808080004180016b2206248080808000200641c4006a200110ad89808000200628024821070240024020062802442208418080808078470d002000418080808078360200200020073602040c010b200641086a41386a200641c4006a41386a280200360200200641086a41306a200641c4006a41306a290200370200200641086a41286a200641c4006a41286a290200370200200641086a41206a200641c4006a41206a290200370200200641086a41186a200641c4006a41186a290200370200200641086a41106a200641c4006a41106a2902003702002006200629024c3702102006200736020c2006200836020802400240024020030d00200641c4006a200641086a200120042005410110b28980800020062d0044450d02200628024821010c010b02402005450d002004200220052003200520034922091b10f5978080002208200520036b20081b4101480d000240024020090d0020022004200310f597808000450d010b20062802102103200641003602102003450d03200741086a210103402001280200220520052802002205417f6a360200024020054101470d00200110de8f8080000b200141306a21012003417f6a22030d000c040b0b200641c4006a200641086a200120022003410110b289808000024020062d0044450d00200628024821010c020b024020062d00454101710d0020062802102103200641003602102003450d03200628020c41086a210103402001280200220520052802002205417f6a360200024020054101470d00200110de8f8080000b200141306a21012003417f6a22030d000c040b0b200641c4006a200641086a200120042005410110b289808000024020062d0044450d00200628024821010c020b200628020c220941086a2105200341017421044100210720062802102108410021010340024020082001470d00200641003602102008450d04200941086a210103402001280200220320032802002203417f6a360200024020034101470d00200110de8f8080000b200141306a21012008417f6a2208450d050c000b0b0240024002400240024020052802002203280208417d6a2202410420024104491b0e050400010203040b200720032802206b200328021c20032802186b4101746a21070c030b200720032802206b200328021c20032802186b4101746a21070c020b200741016a21070c010b200720032802dc016b20032802d80120032802d4016b4101746a41016a21070b200141016a2101200541306a2105200720044d0d000b200641c4006a200641086a2001417f6a10a889808000200641086a10a38f80800002402006280208450d00200628020c22012001417e6a2f00006b41002802ec82d48000118180808000000b200641086a41086a200641c4006a41086a280200360200200620062902443703080c020b200641086a20012002200310af898080002201450d010b200041808080807836020020002001360204024020062802102200450d00200628020c41086a210103402001280200220320032802002203417f6a360200024020034101470d00200110de8f8080000b200141306a21012000417f6a22000d000b0b02402006280208450d00200628020c22012001417e6a2f00006b41002802ec82d48000118180808000000b200628023c4129490d01200628021422012001417e6a2f00006b41002802ec82d48000118180808000000c010b20002006290308370200200041386a200641086a41386a280200360200200041306a200641086a41306a290300370200200041286a200641086a41286a290300370200200041206a200641086a41206a290300370200200041186a200641086a41186a290300370200200041106a200641086a41106a290300370200200041086a200641086a41086a2903003702000b20064180016a2480808080000b8b2a01187f23808080800041e0066b2206248080808000200128020821072001410036020802402007450d00200128020441086a210803402008280200220920092802002209417f6a360200024020094101470d00200810de8f8080000b200841306a21082007417f6a22070d000b0b200141346a210a200141106a210b0240200141104134200128023441284b22081b6a280200450d00200b200a20081b41003602000b20014100360238200641e0046a41186a4200370300200641e0046a41106a4200370300200641e0046a41086a4200370300200642003703e004200641203602c806200641003602c006200620022802283602c406200641a0026a2002200641e0046a200641c0066a41a0f1ca8000410110e88980800020062802a402210c0240024020062802a002220d4107470d00200041013a00002000200c3602040c010b2006410c6a200641a0026a41086a220e41dc0110f4978080001a200641e8016a41086a2006418d046a290000370300200641e8016a41106a220f20064195046a290000370300200641e8016a41186a2006419d046a29000037030020062006290085043703e80120062d008404211020064100360290022006200436028c02200620033602880241002d008083d480001a024002400240024002400240024002400240024002400240024041ec0141002802f482d48000118280808000002208450d002001410c6a2111200841036a417c7120086b211220064185046a211320044101742114200641e8016a41086a2115200641e8016a41186a211641002117410021090340200820126a2207200c36020c2007200d36020820074281808080103702002007417e6a20123b0000200741106a2006410c6a41dc0110f4978080001a0240200128020822122001280200470d00200141f499c680001099868080000b2001280204201241306c220c6a220820103a000c2008200736020820084100360200200820062903e80137000d200841156a20152903003700002008411d6a200f290300370000200841256a20162903003700002001201241016a220836020802400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002402008450d00200c20012802046a2207450d00200741306a221841586a28020022082802e801211220082802e401210c2008280208417d6a220d4104200d4104491b0e051501020316150b419898c6800041c70041e098c6800010a181808000000b200828021c220120082802182213490d02200120124b0d032006200828022022083602a8022006200120136b22103602a4022006200c20136a22173602a002024002400240200441017420096b220f201041017420086b2215200f2015491b2201450d0003402008410176221320104f0d022009410176221220044f0d03201720136a2d00002213410f71201341047620084101711b220c200320126a2d00002213410f71201341047620094101711b2213470d15200841016a2108200941016a21092001417f6a22010d000b0b2015200f4b2015200f496b21082005450d140c230b2013201041f0e2cd8000108281808000000b2012200441f0e2cd8000108281808000000b200828021c221820082802182219490d03201820124b0d0420062008280220220d36029c022006201820196b2218360298022006200c20196a221a36029402024020064188026a20064194026a10e69780800022192018410174200d6b221b460d000240024002400240200441017420096b2210201b2010201b491b2208450d000340200d410176220120184f0d032009410176221320044f0d040240201a20016a2d00002201410f712001410476200d4101711b2212200320136a2d00002201410f71200141047620094101711b2201460d00201220014b20122001496b21082005450d030c230b200d41016a210d200941016a21092008417f6a22080d000b0b201b20104b201b2010496b210820050d200b200841004a0d200c210b2001201841f0e2cd8000108281808000000b2013200441f0e2cd8000108281808000000b200741013602002006200920196a220936029002200d410176210702400240200d4101710d004100211b0240200720184b0d004100211c2007210d0c020b2007201841dce4cd8000109281808000000b200720184f0d064101211b200741016a210d201a20076a2d0000410f71211c0b2006201c3a00a1022006201b3a00a00220062018200d6b3602a8022006201a200d6a3602a4022011200641a0026a10ec97808000024002402010410171450d00200641a8046a41186a2016290300370300200641a8046a41106a200f290300370300200641a8046a41086a2015290300370300200620062903e8013703a8040c010b200641a8046a41186a4200370300200641a8046a41106a4200370300200641a8046a41086a4200370300200642003703a8040b2008280214210720082802102110024002400240024002400240200828020c4101470d000240024020072010490d00200720124b0d01410121080c030b2010200741f8ddcd8000109581808000000b2007201241f8ddcd8000109181808000000b20072010490d01200720124b0d02410021080b200620083602c8042006200720106b3602d0042006200c20106a3602cc04201920176a2217410176210820174101710d02200820044b0d0a200641003a00dc04200620083602d804200620033602d4040c030b2010200741e8ddcd8000109581808000000b2007201241e8ddcd8000109181808000000b200820044b0d08200820044f0d09200641013a00dc04200620033602d404200620083602d8042006200320086a2d000041f001713a00dd040b200641a0026a2002200641a8046a200641c8046a200641d4046a410110e88980800020062802a402210c024020062802a002220d4107470d00200041013a00002000200c3602040c250b200641e0046a200e41dc0110f4978080001a200641c0066a41086a201341086a290000370300200641c0066a41106a201341106a290000370300200641c0066a41186a201341186a290000370300200620132900003703c0060c140b20142009460d0e2009410176220d20044f0d092003200d6a2d0000210d20074102360200201841546a200d410f71200d41047620094101711b22073602000240024020012d00384101710d002007410474211a02400240200b200a200a280200221b41284b22181b220d2802002219201b412820181b460d002011280200201120181b21180c010b201110d997808000200b280200211920112802002118200b210d0b201820196a201a3a0000200d200d28020041016a3602000c010b200b280200200a280200220d200d41284b220d1b2218450d0920112802002011200d1b20186a417f6a220d200d2d00002007723a00000b2001200128023841016a36023820082007410c6c6a2208280218220d4102460d0a200841186a21072006200941016a220936029002024002402010410171450d00200641a8046a41186a2016290300370300200641a8046a41106a200f290300370300200641a8046a41086a2015290300370300200620062903e8013703a8040c010b200641a8046a41186a4200370300200641a8046a41106a4200370300200641a8046a41086a4200370300200642003703a8040b2007280208210820072802042107024002400240024002400240200d410171450d000240024020082007490d00200820124b0d01410121120c030b2007200841f8ddcd8000109581808000000b2008201241f8ddcd8000109181808000000b20082007490d01200820124b0d02410021120b200620123602c8042006200820076b3602d0042006200c20076a3602cc04201741016a220741017621082017410171450d02200820044b0d0f200641003a00dc04200620083602d804200620033602d4040c030b2007200841e8ddcd8000109581808000000b2008201241e8ddcd8000109181808000000b200820044b0d0d200820044f0d0e200641013a00dc04200620033602d404200620083602d8042006200320086a2d000041f001713a00dd040b200641a0026a2002200641a8046a200641c8046a200641d4046a410110e88980800020062802a402210c024020062802a002220d4107470d00200041013a00002000200c3602040c240b200641e0046a200e41dc0110f4978080001a200641c0066a41086a201341086a290000370300200641c0066a41106a201341106a290000370300200641c0066a41186a201341186a290000370300200620132900003703c00620062d0084042110200721170c140b201320014188decd8000109581808000000b200120124188decd8000109181808000000b201920184188decd8000109581808000000b201820124188decd8000109181808000000b2007201841ece4cd8000108281808000000b2008200441fce4cd8000109181808000000b20082004418ce5cd8000109181808000000b20082004419ce5cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b200d200441d499c68000108281808000000b200041003b01000c180b2008200441fce4cd8000109181808000000b20082004418ce5cd8000109181808000000b20082004419ce5cd8000108281808000000b20004180023b01000c140b200c20134b200c2013496b210820050d0f0b200841004a0d0f0c100b024020044101742009460d0020074103360200200041003b01000c120b20004180023b01000c110b02400240024002400240024002400240024020082802d801221920082802d401221a490d00201920124b0d01200620082802dc01220d36029c0220062019201a6b2219360298022006200c201a6a221c36029402024020064188026a20064194026a10e697808000221a2019410174200d6b221b460d000240024002400240200441017420096b2210201b2010201b491b2208450d000340200d410176220120194f0d032009410176221320044f0d040240201c20016a2d00002201410f712001410476200d4101711b2212200320136a2d00002201410f71200141047620094101711b2201460d00201220014b20122001496b21082005450d030c140b200d41016a210d200941016a21092008417f6a22080d000b0b201b20104b201b2010496b210820050d110b200841004a0d110c120b2001201941f0e2cd8000108281808000000b2013200441f0e2cd8000108281808000000b20142009201a6a2209460d082009410176221b20044f0d042003201b6a2d0000211b20074102360200201841546a201b410f71201b41047620094101711b2218360200200d410176210702400240200d4101710d004100211b0240200720194b0d004100211d2007210d0c020b2007201941dce4cd8000109281808000000b200720194f0d034101211b200741016a210d201c20076a2d0000410f71211d0b2006201d3a00a1022006201b3a00a00220062019200d6b3602a8022006201c200d6a3602a4022011200641a0026a10ec978080000240024020012d00384101710d002018410474211b02400240200b200a200a280200221c41284b220d1b22072802002219201c4128200d1b460d0020112802002011200d1b210d0c010b201110d997808000200b28020021192011280200210d200b21070b200d20196a201b3a00002007200728020041016a3602000c010b200b280200200a2802002207200741284b22071b220d450d042011280200201120071b200d6a417f6a220720072d00002018723a00000b2001200128023841016a3602380240024020082018410c6c6a2208280214220d4102460d00200841146a21072006200941016a220936029002024002402010410171450d00200641a8046a41186a2016290300370300200641a8046a41106a200f290300370300200641a8046a41086a2015290300370300200620062903e8013703a8040c010b200641a8046a41186a4200370300200641a8046a41106a4200370300200641a8046a41086a4200370300200642003703a8040b2007280208210820072802042107024002400240024002400240200d410171450d000240024020082007490d00200820124b0d01410121120c030b2007200841f8ddcd8000109581808000000b2008201241f8ddcd8000109181808000000b20082007490d01200820124b0d02410021120b200620123602c8042006200820076b3602d0042006200c20076a3602cc042017201a6a41016a2217410176210820174101710d02200820044b0d0b200641003a00dc04200620083602d804200620033602d4040c030b2007200841e8ddcd8000109581808000000b2008201241e8ddcd8000109181808000000b200820044b0d09200820044f0d0a200641013a00dc04200620033602d404200620083602d8042006200320086a2d000041f001713a00dd040b200641a0026a2002200641a8046a200641c8046a200641d4046a410110e88980800020062802a402210c024020062802a002220d4107470d002000200c360204410121080c020b200641e0046a200e41dc0110f4978080001a200641c0066a41086a201341086a290000370300200641c0066a41106a201341106a290000370300200641c0066a41186a201341186a290000370300200620132900003703c0060c0b0b41002108200041003a00010b200020083a00000c190b201a20194188decd8000109581808000000b201920124188decd8000109181808000000b2007201941ece4cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b201b200441d499c68000108281808000000b2008200441fce4cd8000109181808000000b20082004418ce5cd8000109181808000000b20082004419ce5cd8000108281808000000b200041013a00010c070b20062d00840421100b2006410c6a200641e0046a41dc0110f4978080001a2016200641c0066a41186a290300370300200f200641c0066a41106a2903003703002015200641c0066a41086a290300370300200620062903c0063703e80141002d008083d480001a41ec0141002802f482d4800011828080800000220841036a417c7120086b211220080d000b0b410441ec0110ab80808000000b200841004e0d010b200041003a0001200741043602000c010b200020064194026a20064188026a10e6978080002010463a00010b200041003a00000c080b200841004e0d010b200041003a0001200741043602000c010b200020064194026a20064188026a10e6978080002010463a00010b200041003a00000c040b200841004e0d010b200041003a0001200741043602000c010b2000200641a0026a20064188026a10e697808000200f463a00010b200041003a00000b200641e0066a2480808080000bd10902077f017e23808080800041a0026b2202248080808000024002400240024002400240200128020022030d0020004102360210200020012802043602000c010b200128020821042003280200210520032802042106200328022821012002413c6a41286a220741003602002002413c6a20052003200141284b22081b220520052006200120081b6a10cd89808000200241086a41286a2007280200360200200241086a41206a2002413c6a41206a290200370300200241086a41186a2002413c6a41186a290200370300200241086a41106a2002413c6a41106a290200370300200241086a41086a2002413c6a41086a2902003703002002200229023c3703082002200328022c3602342002413c6a2004280200220341086a20032802e40120032802e80110df9780800002400240024002400240024002400240200228023c417d6a2203410420034104491b417f6a0e0400030201030b200228025422054101762103200229024421092002280240210120022802502104200228024c21060240024020054101710d00410021070240200320044b0d0041002108200321050c020b2003200441dce4cd8000109281808000000b200320044f0d0441012107200341016a2105200620036a2d0000410f7121080b200220083a009502200220073a0094022002200420056b36029c022002200620056a36029802200241086a20024194026a10ec978080000c060b20022802900222054101762103200229028002210920022802fc012101200228028c02210420022802880221060240024020054101710d00410021070240200320044b0d0041002108200321050c020b2003200441dce4cd8000109281808000000b200320044f0d0441012107200341016a2105200620036a2d0000410f7121080b200220083a009502200220073a0094022002200420056b36029c022002200620056a36029802200241086a20024194026a10ec9780800020014102460d010c050b20022802800222014102470d030b2000410336021020022802304129490d04200228020822002000417e6a2f00006b41002802ec82d48000118180808000000c040b2003200441ece4cd8000108281808000000b2003200441ece4cd8000108281808000000b20022902840221090b2002280234220441017621030240024020044101710d002003200228020c20022802302205200541284b22051b22064b0d032002280208200241086a20051b2105410021060c010b2003200228020c20022802302205200541284b1b22064b0d03200320064f0d042002280208200241086a200541284b1b220520036a2d00004170712107410121060b02400240200441024f0d0041012104410021080c010b41002d008083d480001a200341002802f482d48000118280808000002204450d052004417e6a41003b0000200321080b20042005200310f49780800021042000200937021420002001360210200020073a000d200020063a000c20002003360208200020043602042000200836020020022802304129490d00200228020822002000417e6a2f00006b41002802ec82d48000118180808000000b200241a0026a2480808080000f0b2003200641b4e7cd8000109181808000000b2003200641c4e7cd8000109181808000000b2003200641d4e7cd8000108281808000000b4101200341f49ac6800010b980808000000bb90401037f23808080800041c0006b2203248080808000200341046a2001200210b089808000024002400240200328020422044101470d00200341086a21050340200341146a200510b3898080000240200328022422044103460d0020044102470d032000200328021436020420004180808080783602000c040b200341046a2001200210b089808000200328020422040d000b0b02402004450d0020032802080d000240024002400240200328020c220228020041fcffffff076a2201410320014105491b0e0403030102000b2002280204450d02200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b20021095898080000b20022002417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c010b200341306a41086a2202200341146a41086a28020036020020032003290214370330024020032d00204101470d0020032d0021210141002d008083d480001a0240413041002802f482d48000118280808000002202450d0020004180808080783602002002200241036a417c7120026b22046a220241868080807836020020022003290330370204200220013a0010200020023602042002417e6a20043b00002002410c6a200341386a2802003602000c020b4104413010ab80808000000b20002003290330370200200041086a20022802003602000b200341c0006a2480808080000ba70701067f23808080800041d0006b2203248080808000200341086a2001200210b089808000024002400240200328020822044101470d002003410c6a21050340200341306a200510b3898080000240200328024022044103460d0020044102470d032000200328023036020420004180808080783602000c040b200341086a2001200210b089808000200328020822040d000b0b02402004450d00200328020c0d0002400240024002402003280210220228020041fcffffff076a2201410320014105491b0e0403030102000b2002280204450d02200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b20021095898080000b20022002417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c010b200328023821062003280234210520032802302107024020032d003c4101470d0020032d003d210141002d008083d480001a0240413041002802f482d48000118280808000002202450d0020004180808080783602002002200241036a417c7120026b22046a220220013a00102002200636020c20022005360208200220073602042002418680808078360200200020023602042002417e6a20043b00000c020b4104413010ab80808000000b20032802482101200328024421080240024020044101710d004100210202400240024020014100480d00024020010d00410121020c030b41002d008083d480001a200141002802f482d480001182808080000022020d01410121020b2002200141f49ac6800010b980808000000b2002417e6a41003b00000b20022008200110f4978080001a200121040c010b200341003a002c20032006360228200320053602240240024020014120470d00200341306a41186a200841186a290000370300200341306a41106a200841106a290000370300200341306a41086a200841086a29000037030020032008290000370330200341186a2002200341306a200341246a10e789808000200328021c210220032802182204418080808078470d012000200236020420004180808080783602002007450d0320052005417e6a2f00006b41002802ec82d48000118180808000000c030b41202001418096c68000108681808000000b200328022021010b20002001360214200020023602102000200436020c2000200636020820002005360204200020073602000b200341d0006a2480808080000bdd0204047f017e027f017e41022102024002402001280200220128020c2203280208280200220428020422050d000c010b20042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d000021030240200128020020012802082204470d002001200441014101410110a386808000200128020821040b2001200441016a2205360208200128020420046a20033a00000240024020030e020001020b410021020c010b200128020c2207280208280200220328020422084104490d0020032008417c6a36020420032003280200220441046a3602002007427f2007290300220642047c220920092006541b370300200428000021040240200128020020056b41034b0d002001200541044101410110a386808000200128020821050b2001200541046a360208200128020420056a2004360000410121020b20002004360204200020023602000bc40202057f017e23808080800041206b2202248080808000024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000002400240024020040e020102000b20004181808080783602000c030b20004180808080783602000c020b200241086a200110ce8480800020022802084101710d00200228020c220341c0004b0d00200241146a2001200310898380800020022802142203418080808078460d0020002002290218370204200020033602000c010b20004181808080783602000b200241206a2480808080000bd70204047f017e027f017e41022102024002402001280200220128020c2203280208220428020422050d000c010b20042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d000021030240200128020020012802082204470d002001200441014101410110a386808000200128020821040b2001200441016a2205360208200128020420046a20033a00000240024020030e020001020b410021020c010b200128020c2207280208220328020422084104490d0020032008417c6a36020420032003280200220441046a3602002007427f2007290300220642047c220920092006541b370300200428000021040240200128020020056b41034b0d002001200541044101410110a386808000200128020821050b2001200541046a360208200128020420056a2004360000410121020b20002004360204200020023602000bc10202057f017e23808080800041206b2202248080808000024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000002400240024020040e020102000b20004181808080783602000c030b20004180808080783602000c020b200241086a200110cf8480800020022802084101710d00200228020c220341c0004b0d00200241146a2001200310868380800020022802142203418080808078460d0020002002290218370204200020033602000c010b20004181808080783602000b200241206a2480808080000bdc0101037f23808080800041106b22022480808080000240024020002802004101470d00200041086a21030240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a000020022003360208200241086a200110dd848080002002200041106a36020c2002410c6a200110dd848080000c010b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000b200241106a2480808080000bd90101047f024020002802004101470d0002402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41013a0000200028020421000240200220046b41034b0d0020012004410410f49180800020012802042105200128020821040b2001200441046a360208200520046a20003600000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000b8e0201047f024020002d00004101470d0002402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b200041016a21002001200341016a22043602082001280204220520036a41013a00000240200220046b411f4b0d0020012004412010f49180800020012802042105200128020821040b200520046a220320002900003700002001200441206a360208200341186a200041186a290000370000200341106a200041106a290000370000200341086a200041086a2900003700000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000b9e0201037f23808080800041106b2202248080808000024002402000280200418080808078460d000240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41013a0000200028020421042002200028020822003602082002200241086a36020c2002410c6a200110dc84808000024020002001280200200128020822036b4d0d0020012003200010f491808000200128020821030b200128020420036a2004200010f4978080001a200320006a21000c010b0240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41003a0000200041016a21000b20012000360208200241106a2480808080000b910301077f0240024020002d00004101470d000240200128020020012802082202470d0020012002410110f491808000200128020821020b2001280204220320026a41013a00002001200241016a220436020841002d008083d480001a412041002802f482d48000118280808000002202450d012002417e6a220541003b00002002200041016a2200290000370000200241086a2206200041086a290000370000200241106a2207200041106a290000370000200241186a2208200041186a2900003700000240200128020020046b411f4b0d0020012004412010f49180800020012802042103200128020821040b200320046a22002002290000370000200041186a2008290000370000200041106a2007290000370000200041086a20062900003700002001200441206a360208200220052f00006b41002802ec82d48000118180808000000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b2001200241016a360208200128020420026a41003a00000f0b4101412010ab80808000000b8e0201047f024020002d00004101470d0002402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b200041016a21002001200341016a22043602082001280204220520036a41013a00000240200220046b411f4b0d0020012004412010f49180800020012802042105200128020821040b200520046a220320002900003700002001200441206a360208200341186a200041186a290000370000200341106a200041106a290000370000200341086a200041086a2900003700000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000bfe0801107f23808080800041206b22032480808080000240024002400240024002400240024002400240024020020d004100210441002d008083d480001a418c0141002802f482d48000118280808000002202450d062002200241036a417c7120026b22056a220641003b018a01200641003602002006417e6a20053b0000024020012f018a01450d002001410c6a2105200641046a210741002108410021040340024002400240200528020022024100480d002005417c6a2802002109024020020d004101210a0c030b41002d008083d480001a200241002802f482d4800011828080800000220a0d01410121080b2008200241a8b2c8800010b980808000000b200a417e6a41003b00000b200a2009200210f497808000210920062f018a01220a410b4f0d032006200a41016a3b018a012007200a410c6c6a220a2002360208200a2009360204200a20023602002005410c6a2105200441016a220420012f018a01490d000b0b2000200436020820004100360204200020063602000c0a0b200341086a200128028c012002417f6a220b10c08980800020032802082202450d0841002d008083d480001a200328020c210c41bc0141002802f482d48000118280808000002205450d012005200541036a417c7120056b220a6a2206200236028c01200641003b018a01200641003602002006417e6a200a3b0000200241003b018801200220063602002003200c41016a36020c2003200636020820012f018a01450d072006418c016a210d20014190016a21042001410c6a210a200641046a210e4100210f20032802102108410021100340024002400240200a28020022024100480d00200a417c6a2802002109024020020d00410121050c030b41002d008083d480001a200241002802f482d480001182808080000022050d014101210f0b200f200241a8b2c8800010b980808000000b2005417e6a41003b00000b20052009200210f4978080002111200341146a2004280200200b10c089808000200328021c21120240024020032802142205450d00200328021821090c010b41002d008083d480001a418c0141002802f482d48000118280808000002205450d04410021092005200541036a417c7120056b22076a220541003b018a01200541003602002005417e6a20073b00000b2009200c470d0420062f018a012209410b4f0d052006200941016a22073b018a01200e2009410c6c6a220920113602042009200236020020092002360208200d20074102746a2005360200200520073b01880120052006360200200441046a2104200a410c6a210a201220086a41016a2108201041016a221020012f018a014f0d070c000b0b41c086c38000412041e086c38000108081808000000b410441bc0110ab80808000000b4104418c0110ab80808000000b41f086c38000413041a087c38000108081808000000b41c086c38000412041b087c38000108081808000000b4104418c0110ab80808000000b200320083602100b20002003290208370200200041086a200341086a41086a2802003602000c010b41849cc6800010a081808000000b200341206a2480808080000bca0201027f23808080800041e0006b220524808080800020052004360204200520033602000240200150450d0041002802b483d48000450d00200541c081808000ad4220862005ad84370310200541c181808000ad42208641a09dc68000ad84370308410028029080d480002104410028028c80d48000210341002802b083d48000210620054202370254200541ac9dc6800036024820054112360244200541909ec680003602402005410136023c200541bc9dc68000ad4280808080c00a8437023420054100360230200541a29ec68000ad4280808080b003843702282005410036022420054281808080902037021c2005410236024c2004419cf4ca8000200641024622061b28021021042005200541086a360250200341b4f4ca800020061b2005411c6a2004118b80808000000b2000200237030820002001370300200541e0006a2480808080000b990501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802e80221012004417f6a22040d000b0b20024108490d00034020012802e8022802e8022802e8022802e8022802e8022802e8022802e8022802e8022101200041786a22000d000b0b20012104410021020b024002400240200220042f01e6024f0d00200421000c010b034020042802e0022200450d0220042f01e402210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f01e6024f0d000b0b0240024020050d00200241016a21020c010b200020024102746a41ec026a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802e80221002005417f6a22050d000b0b20014107490d00034020002802e8022802e8022802e8022802e8022802e8022802e8022802e8022802e8022100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802e80221002005417f6a22050d000b0b20024108490d00034020002802e8022802e8022802e8022802e8022802e8022802e8022802e8022802e8022100200441786a22040d000b0b034020002000417e6a2f00006b210420002802e0022100200441002802ec82d480001181808080000020000d000b0b0b800701077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802e40c21012003417f6a22030d000b0b20024108490d00034020012802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082102024002400240200028020c2203200028020422012f01e20c4f0d00200121040c010b03402001280288022204450d0220012f01e00c210320012001417e6a2f00006b41002802ec82d4800011818080800000200241016a210220042101200320042f01e20c4f0d000b0b0240024020020d00200341016a2105200421010c010b200420034102746a41e80c6a2802002101410021052002417f6a2206450d002002417e6a2107024020064107712202450d0003402006417f6a210620012802e40c21012002417f6a22020d000b0b20074107490d00034020012802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2101200641786a22060d000b0b2000200536020c20004100360208200020013602042004200341fc006c6a210202402004200341186c6a2201280200450d00200128020422042004417e6a2f00006b41002802ec82d48000118180808000000b2002418c026a21040240200128020c450d00200128021022012001417e6a2f00006b41002802ec82d48000118180808000000b200410e189808000200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802e40c21012003417f6a22030d000b0b20024108490d00034020012802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2101200441786a22040d000b0b034020012001417e6a2f00006b21042001280288022101200441002802ec82d480001181808080000020010d000b0b0be50601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802900221012003417f6a22030d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f018e024f0d00200121040c010b03402001280288022204450d0220012f018c02210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f018e024f0d000b0b0240024020030d00200241016a2105200421010c010b200420024102746a4194026a2802002101410021052003417f6a2206450d002003417e6a2107024020064107712203450d0003402006417f6a210620012802900221012003417f6a22030d000b0b20074107490d000340200128029002280290022802900228029002280290022802900228029002280290022101200641786a22060d000b0b2000200536020c200041003602082000200136020402402004200241186c6a2201280200450d00200128020422042004417e6a2f00006b41002802ec82d48000118180808000000b0240200128020c450d00200128021022012001417e6a2f00006b41002802ec82d48000118180808000000b200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802900221012003417f6a22030d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200441786a22040d000b0b034020012001417e6a2f00006b21042001280288022101200441002802ec82d480001181808080000020010d000b0b0bf40501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802900221012005417f6a22050d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200041786a22000d000b0b20012100410021020b024002400240200220002f018e024f0d0020022105200021010c010b03402000280288022201450d0220002f018c02210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f018e024f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4194026a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802900221002004417f6a22040d000b0b20074107490d000340200028029002280290022802900228029002280290022802900228029002280290022100200641786a22060d000b0b200120054103746a22042802b00121010240200441b4016a28020022042802002205450d0020012005118180808000000b02402004280204450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802900221002005417f6a22050d000b0b20024108490d000340200028029002280290022802900228029002280290022802900228029002280290022100200441786a22040d000b0b034020002000417e6a2f00006b21012000280288022100200141002802ec82d480001181808080000020000d000b0b0bd20601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802ac1421012003417f6a22030d000b0b20024108490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082102024002400240200028020c2203200028020422012f01aa144f0d00200121040c010b034020012802a0132204450d0220012f01a814210320012001417e6a2f00006b41002802ec82d4800011818080800000200241016a210220042101200320042f01aa144f0d000b0b0240024020020d00200341016a2105200421010c010b200420034102746a41b0146a2802002101410021052002417f6a2206450d002002417e6a2107024020064107712202450d0003402006417f6a210620012802ac1421012002417f6a22020d000b0b20074107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200641786a22060d000b0b2000200536020c20004100360208200020013602042004200341e0016c6a2101024020042003410c6c6a22042802a413450d00200441a4136a28020422042004417e6a2f00006b41002802ec82d48000118180808000000b200110e089808000200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802ac1421012003417f6a22030d000b0b20024108490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200441786a22040d000b0b034020012001417e6a2f00006b210420012802a0132101200441002802ec82d480001181808080000020010d000b0b0b9e0b01087f23808080800041306b2201248080808000024020002802202202450d000240034020002002417f6a36022002400240200028020022024101470d0020002802040d00200028020821020240200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802bc0221022004417f6a22040d000b0b20034108490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200541786a22050d000b0b2000420037020820002002360204200041013602000c010b2002450d020b20002802082103024002400240200028020c2204200028020422022f01ba024f0d00200221050c010b034020022802b0012205450d0220022f01b802210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01ba024f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41c0026a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802bc0221022003417f6a22030d000b0b20084107490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200741786a22070d000b0b2000200636020c2000410036020820002002360204200520044104746a2103024020052004410c6c6a22022802b401450d00200241b4016a28020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020032d00000e050404010203000b02400240200328020422020d0041002102410021050c010b2001200236022420014100360220200120023602142001410036021020012003280208220236022820012002360218200328020c2105410121020b2001200536022c2001200236021c2001200236020c2001410c6a10c7898080000c030b2003280204450d02200328020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2003280204450d01200328020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b0240200328020c2205450d002003280208210203400240024002400240024020022d00000e050404010203000b02400240200241046a28020022040d0041002104410021070c010b200120043602242001410036022020012004360214200141003602102001200241086a2802002204360228200120043602182002410c6a2802002107410121040b2001200736022c2001200436021c2001200436020c2001410c6a10c7898080000c030b200241046a280200450d02200241086a28020022042004417e6a2f00006b41002802ec82d48000118180808000000c020b200241046a280200450d01200241086a28020022042004417e6a2f00006b41002802ec82d48000118180808000000c010b200241046a108d8f8080000b200241106a21022005417f6a22050d000b0b2003280204450d00200328020822022002417e6a2f00006b41002802ec82d48000118180808000000b200028022022020d010c030b0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b200028020021022000410036020002402002410171450d000240200028020422020d0020002802082102200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802bc0221022004417f6a22040d000b0b20034108490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200541786a22050d000b0b034020022002417e6a2f00006b210520022802b0012102200541002802ec82d480001181808080000020020d000b0b200141306a2480808080000ba314010d7f23808080800041306b2201248080808000024020002802202202450d000240034020002002417f6a36022002400240200028020022024101470d0020002802040d00200028020821020240200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac0921022004417f6a22040d000b0b20034108490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200541786a22050d000b0b2000420037020820002002360204200041013602000c010b2002450d020b2000280208210302400240024002400240200028020c2204200028020422022f01aa094f0d00200221050c010b034020022802a0082205450d0220022f01a809210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01aa094f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41b0096a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802ac0921022003417f6a22030d000b0b20084107490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200741786a22070d000b0b2000200636020c20004100360208200020023602042005200441e0006c6a2109024020052004410c6c6a22022802a408450d00200241a4086a28020422022002417e6a2f00006b41002802ec82d48000118180808000000b02400240200928020022020d0041002102410021050c010b200120023602242001410036022020012002360214200141003602102001200928020422023602282001200236021820092802082105410121020b2001200536022c2001200236021c2001200236020c2001410c6a10c689808000200928020c220a41054b0d01200a450d02200941106a210b4100210c03400240200b200c410c6c6a22022802002205450d00200228020421060240024020022802082208450d00410021020340024002402002450d00200521040c010b4100210402402006450d0020062102024020064107712203450d0003402002417f6a2102200528028c0121052003417f6a22030d000b0b20064108490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200241786a22020d000b0b20052102410021060b024002400240200620022f018a014f0d0020062103200221050c010b034020022802002205450d0220022f018801210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f018a014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a4190016a2802002102410021062004417f6a2207450d002004417e6a210d024020074107712204450d0003402007417f6a2107200228028c0121022004417f6a22040d000b0b200d4107490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200741786a22070d000b0b024020052003410c6c6a2205280204450d00200541046a28020422052005417e6a2f00006b41002802ec82d48000118180808000000b410021052008417f6a22080d010c030b0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020060d00200521020c010b02400240200641077122030d0020062104200521020c010b200621042005210203402004417f6a2104200228028c0121022003417f6a22030d000b0b20064108490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200441786a22040d000b0b034020022002417e6a2f00006b210520022802002102200541002802ec82d480001181808080000020020d000b0b200c41016a220c200a470d000c030b0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b2009280210210a02402009280214220b450d004100210c03400240200a200c410c6c6a22022802002205450d00200228020421060240024020022802082208450d00410021020340024002402002450d00200521040c010b4100210402402006450d0020062102024020064107712203450d0003402002417f6a2102200528028c0121052003417f6a22030d000b0b20064108490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200241786a22020d000b0b20052102410021060b024002400240200620022f018a014f0d0020062103200221050c010b034020022802002205450d0220022f018801210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f018a014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a4190016a2802002102410021062004417f6a2207450d002004417e6a210d024020074107712204450d0003402007417f6a2107200228028c0121022004417f6a22040d000b0b200d4107490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200741786a22070d000b0b024020052003410c6c6a2205280204450d00200541046a28020422052005417e6a2f00006b41002802ec82d48000118180808000000b410021052008417f6a22080d010c030b0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020060d00200521020c010b02400240200641077122030d0020062104200521020c010b200621042005210203402004417f6a2104200228028c0121022003417f6a22030d000b0b20064108490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200441786a22040d000b0b034020022002417e6a2f00006b210520022802002102200541002802ec82d480001181808080000020020d000b0b200c41016a220c200b470d000b0b200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402009280254450d00200928025822022002417e6a2f00006b41002802ec82d48000118180808000000b200028022022020d000c020b0b41e891c6800010a081808000000b200028020021022000410036020002402002410171450d000240200028020422020d0020002802082102200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac0921022004417f6a22040d000b0b20034108490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200541786a22050d000b0b034020022002417e6a2f00006b210520022802a0082102200541002802ec82d480001181808080000020020d000b0b200141306a2480808080000bc00601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802f80621012003417f6a22030d000b0b20024108490d00034020012802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f01f6064f0d00200121040c010b034020012802f0062204450d0220012f01f406210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f01f6064f0d000b0b0240024020030d00200241016a2105200421010c010b200420024102746a41fc066a2802002101410021052003417f6a2206450d002003417e6a2107024020064107712203450d0003402006417f6a210620012802f80621012003417f6a22030d000b0b20074107490d00034020012802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062101200641786a22060d000b0b2000200536020c200041003602082000200136020402402004200241d0006c6a22012802484129490d00200141206a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802f80621012003417f6a22030d000b0b20024108490d00034020012802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062101200441786a22040d000b0b034020012001417e6a2f00006b210420012802f0062101200441002802ec82d480001181808080000020010d000b0b0bee0601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802900221012003417f6a22030d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f018e024f0d00200121040c010b034020012802002204450d0220012f018c02210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f018e024f0d000b0b0240024020030d00200241016a2105200421010c010b200420024102746a4194026a2802002101410021052003417f6a2206450d002003417e6a2107024020064107712203450d0003402006417f6a210620012802900221012003417f6a22030d000b0b20074107490d000340200128029002280290022802900228029002280290022802900228029002280290022101200641786a22060d000b0b2000200536020c200041003602082000200136020420042002410c6c6a22014188016a210402402001280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402004280200450d00200428020422012001417e6a2f00006b41002802ec82d48000118180808000000b200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802900221012003417f6a22030d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200441786a22040d000b0b034020012001417e6a2f00006b210420012802002101200441002802ec82d480001181808080000020010d000b0b0b110020002001200128023c10b4898080000bfb0201057f23808080800041106b2202248080808000200128020821032001280204210402400240024002400240024020012802004101470d0020034120470d0220002004290000370001200041196a200441186a290000370000200041116a200441106a290000370000200041096a200441086a290000370000410121010c010b2003417f4c0d02200341f5ffffff074f0d034100210141002d008083d480001a2003410b6a41fcffffff0771220541002802f482d48000118280808000002206450d042006200641036a417c7120066b22056a22064281808080103702002006417e6a20053b0000200641086a2004200310f4978080001a20002003360208200020063602040b200020013a0000200241106a2480808080000f0b412020034198a0c68000108681808000000b41f8e9cd8000412b2002410f6a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b2002410f6a418c80c0800041b482c0800010a981808000000b4104200510ab80808000000be50301077f23808080800041106b2203248080808000200041286a2104024002400240200028022822054128200541284b22061b22072000280204200520061b22066b200220016b22084f0d0002400240200620086a22052006490d004100417f2005417f6a677620054102491b2205417f460d00200341086a2000200541016a10ce8980800020032802082205418180808078460d0120050d030b41f0adc6800041114184aec68000108081808000000b200428020022054128200541284b1b21070b200041046a22092004200541284b22061b21080240024020004104412820061b6a280200220520074f0d002000280200200020061b2106034020012002460d02200620056a20012d00003a0000200141016a21012007200541016a2205470d000b200721050b2008200536020020012002460d02034020012d00002108024002402000410441282000280228220741284b22051b6a28020022062007412820051b460d002009200420051b21072000280200200020051b21050c010b200010cf898080002000280204210620002802002105200921070b200520066a20083a00002007200728020041016a360200200141016a22012002470d000c030b0b200820053602000c010b2005200328020c10ab80808000000b200341106a2480808080000bea0301077f23808080800041106b22032480808080000240024002400240024020022001280204220420012802282205200541284b22061b2207490d002005412820061b210820012802002109024020024129490d00418180808078210620052002460d040240200241004e0d00410021060c060b02400240024020054129490d002008417f4a0d0120082102410021060c080b41002d008083d480001a200241002802f482d480001182808080000022040d01410121060c070b0240200241002802f482d480001182808080000022040d00410121060c070b2004417e6a41003b0000200420092002200820022008491b10f4978080001a20092009417e6a2f00006b41002802ec82d48000118180808000000c040b2004417e6a41003b000020042001200510f4978080001a0c030b418180808078210620054129490d0320012009200410f49780800020043602282008417f4c0d0120092009417e6a2f00006b41002802ec82d48000118180808000000c030b41a4aec68000412041c4aec68000108081808000000b2003200836020c2003410036020841b4adc68000412b200341086a41a4adc6800041e0adc6800010a981808000000b2001200236022820012007360204200120043602000b0b2000200236020420002006360200200341106a2480808080000bb90101027f23808080800041106b22012480808080000240024002400240200028020420002802282202200241284b1b220241016a0e020201000b2002672202450d01417f20027621020b200141086a2000200241016a10ce89808000024020012802082200418180808078460d0020000d0241f0adc6800041114184aec68000108081808000000b200141106a2480808080000f0b41f0adc6800041114194aec6800010a181808000000b2000200128020c10ab80808000000bc20803067f017e057f23808080800041d0006b2202248080808000200241106a41086a200141086a29020037030020022001290200370310024002400240024002400240200028020022034105200341054b22011b2204200020014103746a28020022056b200228021c22014f0d0002400240200520016a22032005490d004100417f2003417f6a677620034102491b2203417f460d00200241086a2000200341016a10d18980800020022802082203418180808078460d0120030d030b41f0adc6800041114184aec68000108081808000000b200028020022034105200341054b1b21040b200041046a210602402000200341054b22034103746a220728020022052004490d00200521040c030b2000280204200620031b21030240024020022802180d0020032005410c6c6a210303402001450d02200241206a41086a410036020020024100360234200220022902342208370320200341086a4100360200200320083702002003410c6a21032001417f6a21012004200541016a2205470d000c040b0b024020022802102209450d002002280214210a20032005410c6c6a210303402001450d02200241346a2009200a10c089808000200241206a41086a200241346a41086a280200220b360200200220022902342208370320200341086a200b360200200320083702002003410c6a21032001417f6a21012004200541016a2205460d040c000b0b2001450d0041949cc6800010a081808000000b2002410036021c20072005360200200241106a10a6888080000c030b2003200228020c10ab80808000000b2002200136021c0b20072004360200200241206a41086a200241106a41086a290300370300200220022903103703200240200228022c2203450d00200041086a210c200241386a21010240024020022802280d00200141086a210b0340200b410036020020024100360244200120022902443702000240024020002000280200220a41054b22044103746a22052802002209200a410520041b460d002000280204200620041b21040c010b200010d2898080002000280208210920002802042104200c21050b20042009410c6c6a22042001290200370200200441086a200b2802003602002005200528020041016a3602002003417f6a22030d000c020b0b20022802202207450d032002280224210d0340200241c4006a2007200d10c089808000200141086a2209200241c4006a41086a280200360200200120022902443702000240024020002000280200220a41054b22044103746a2205280200220b200a410520041b460d002000280204200620041b21040c010b200010d2898080002000280208210b20002802042104200c21050b2004200b410c6c6a22042001290200370200200441086a20092802003602002005200528020041016a3602002003417f6a22030d000b0b2002410036022c0b200241206a10a6888080000b200241d0006a2480808080000f0b41949cc6800010a081808000000beb0402087f017e23808080800041106b2203248080808000024002400240200220012001280200220441054b22054103746a2802002206490d002004410520051b2107200141046a210820012802042109024002400240024020024106490d00418180808078210a20042002460d032002ad420c7e220ba72105200b422088a7450d014100210a0c060b418180808078210a20044106490d02200820092006410c6c10f4978080001a200120063602002007ad420c7e220ba721010240200b422088a70d00200141fdffffff07490d020b2003200136020c2003410036020841b4adc68000412b200341086a41a4adc6800041e0adc6800010a981808000000b0240200541fcffffff074d0d004100210a0c050b02400240024020044106490d002007ad420c7e220ba72104200b422088a70d06200441fcffffff074b0d06200541002802f482d480001182808080000022070d014104210a0c070b41002d008083d480001a0240200541002802f482d480001182808080000022040d004104210a0c070b2004200441036a417c7120046b22056a2207417e6a20053b0000200720082006410c6c10f4978080001a0c010b2007200741036a417c7120076b22086a2207417e6a20083b0000200720092005200420052004491b10f4978080001a20092009417e6a2f00006b41002802ec82d48000118180808000000b2001200636020820012007360204200120023602000c010b20092009417e6a2f00006b41002802ec82d48000118180808000000b0c020b41a4aec68000412041c4aec68000108081808000000b200421054100210a0b200020053602042000200a360200200341106a2480808080000bb90101027f23808080800041106b22012480808080000240024002400240200028020820002802002202200241054b1b220241016a0e020201000b2002672202450d01417f20027621020b200141086a2000200241016a10d189808000024020012802082200418180808078460d0020000d0241f0adc6800041114184aec68000108081808000000b200141106a2480808080000f0b41f0adc6800041114194aec6800010a181808000000b2000200128020c10ab80808000000b810101037f200128020421022001280200220328020022012001280200220441016a36020002402004417f4a0d00000b20002001360204200041073602002000200229000037000c20002003280204360208200041146a200241086a2900003700002000411c6a200241106a290000370000200041246a200241186a2900003700000b3701017f23808080800041106b22022480808080002002200128020036020c20002002410c6a10d589808000200241106a2480808080000b940301047f23808080800041a0056b2202248080808000200241c8036a2001280200220128020022032001280204220410e689808000200241c0036a2201200241c8036a410c6a290200370300200220022902cc033703b80302400240024020022802c80322054107470d00200241086a410c6a2001290300370200200220022903b80337020c200241073602080c010b200241e0016a41146a200241c8036a41146a41c40110f4978080001a200241e0016a410c6a2001290300370200200220053602e001200220022903b8033702e401200241086a200241e0016a2003200410df97808000200228020822014107460d00200241c8036a41046a200241086a41046a41d40110f4978080001a200220013602c803200241e0016a200241c8036a10a78d808000024020022802e00122014108470d00200241e0016a10dc898080000c020b200041046a200241e0016a41046a41e40010f4978080001a20002001360200200241a0056a2480808080000f0b2002410c6a10de898080000b41bca7c6800041c2004180a8c6800010a181808000000b3701017f23808080800041106b22022480808080002002200128020036020c20002002410c6a10d789808000200241106a2480808080000b940301047f23808080800041a0056b2202248080808000200241c8036a2001280200220128020022032001280204220410e689808000200241c0036a2201200241c8036a410c6a290200370300200220022902cc033703b80302400240024020022802c80322054107470d00200241086a410c6a2001290300370200200220022903b80337020c200241073602080c010b200241e0016a41146a200241c8036a41146a41c40110f4978080001a200241e0016a410c6a2001290300370200200220053602e001200220022903b8033702e401200241086a200241e0016a2003200410df97808000200228020822014107460d00200241c8036a41046a200241086a41046a41d40110f4978080001a200220013602c803200241e0016a200241c8036a10a98d808000024020022802e00122014108470d00200241e0016a10dc898080000c020b200041046a200241e0016a41046a41e40010f4978080001a20002001360200200241a0056a2480808080000f0b2002410c6a10de898080000b41bca7c6800041c2004180a8c6800010a181808000000ba60401017f0240024002400240024020002d0000417c6a41ff01712201410420014104491b0e0404010203000b0240200028025c4129490d00200028023422012001417e6a2f00006b41002802ec82d48000118180808000000b200028022c22012001417e6a2f00006b41002802ec82d480001181808080000020002d000022014103460d0302400240024020010e020106000b2000280224220120012802002201417f6a36020020014101470d05200041246a21000c010b2000280204220120012802002201417f6a36020020014101470d04200041046a21000b200010f0978080000c030b0240200028025c4129490d00200028023422012001417e6a2f00006b41002802ec82d48000118180808000000b0240024020002d00040e020104000b2000280228220120012802002201417f6a36020020014101470d03200041286a10f0978080000f0b2000280208220120012802002201417f6a36020020014101470d02200041086a10f0978080000f0b20002802544129490d01200028022c22002000417e6a2f00006b41002802ec82d48000118180808000000f0b200028023022012001417e6a2f00006b41002802ec82d480001181808080000020002d000422014103460d000240024020010e020102000b2000280228220120012802002201417f6a36020020014101470d01200041286a10f0978080000f0b2000280208220120012802002201417f6a36020020014101470d00200041086a10f0978080000f0b0b6801017f024002400240024020002d00000e020103000b2000280224220120012802002201417f6a36020020014101470d02200041246a21000c010b2000280204220120012802002201417f6a36020020014101470d01200041046a21000b200010f0978080000b0bab0101047f20002802042101024020002802082202450d00200141086a210303402003280200220420042802002204417f6a360200024020044101470d00200310de8f8080000b200341306a21032002417f6a22020d000b0b02402000280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802344129490d00200028020c22032003417e6a2f00006b41002802ec82d48000118180808000000b0b7101017f024020002d000022014103460d0002400240024020010e020103000b2000280224220120012802002201417f6a36020020014101470d02200041246a21000c010b2000280204220120012802002201417f6a36020020014101470d01200041046a21000b200010f0978080000b0bbf0101017f024020002802004108460d00200010dd898080000f0b02400240024002402000280204220028020041fcffffff076a2201410320014105491b0e0403030102000b2000280204450d02200028020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2000280204450d01200028020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200010de898080000b20002000417e6a2f00006b41002802ec82d48000118180808000000bc00501037f0240024002400240024002402000280200417e6a2201410420014106491b0e050501020304000b2000280204220120012802002201417f6a36020020014101470d04200041046a10f0978080000c040b0240200028022c4129490d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802342201450d03200120012802002202417f6a36020020024101470d03200041346a10f0978080000f0b024020002802504129490d00200028022822012001417e6a2f00006b41002802ec82d48000118180808000000b20002d0004450d022000280208220110dd8980800020012001417e6a2f00006b41002802ec82d48000118180808000000f0b024020002802382202450d002000280234210103400240024020012d00000e03010001000b200141046a2802002203108e8f80800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b02402000280230450d00200028023422012001417e6a2f00006b41002802ec82d48000118180808000000b2000280204450d0120002802082201450d01200120012802002202417f6a36020020024101470d01200041086a10f0978080000f0b024020002802604129490d00200028023822012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802342202450d002000280230210103400240024020012d00000e03010001000b200141046a2802002203108e8f80800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b0240200028022c450d00200028023022012001417e6a2f00006b41002802ec82d48000118180808000000b2000280200450d0020002802042201450d00200120012802002202417f6a36020020024101470d00200041046a10f0978080000f0b0bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b200010de898080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0b9c0201027f23808080800041106b2202248080808000024002402000280200450d0020022000360204200128020041f4a1c680004108200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41fca1c680004106200241046a41e4a1c68000108a818080001a20022d000d220020022d000c220372210120004101470d0120034101710d010240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b200128020041d4a1c680004110200128020428020c1180808080000021010b200241106a24808080800020014101710b9f0701047f024002400240024002402000280200220141054b0d002001450d0441102102200041046a2203280200417e6a2204410220044102491b0e020103020b20002802042103024020002802082201450d00200321000340411021020240024002402000280200417e6a2204410220044102491b0e020002010b410421020b200020026a2202280200450d00200241046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200041206a280200450d00200041246a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b2000412c6a21002001417f6a22010d000b0b20032003417e6a2f00006b41002802ec82d48000118180808000000f0b410421020b200320026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280224450d00200028022822022002417e6a2f00006b41002802ec82d48000118180808000000b20014101460d00411021020240024002402000280230417e6a2204410220044102491b0e020002010b410421020b200041306a20026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280250450d00200028025422022002417e6a2f00006b41002802ec82d48000118180808000000b20014102460d0041102102024002400240200028025c417e6a2204410220044102491b0e020002010b410421020b200041dc006a20026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200028027c450d0020002802800122022002417e6a2f00006b41002802ec82d48000118180808000000b20014103460d0041102102024002400240200028028801417e6a2204410220044102491b0e020002010b410421020b20004188016a20026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802a801450d0020002802ac0122022002417e6a2f00006b41002802ec82d48000118180808000000b20014104460d004110210102400240024020002802b401417e6a2202410220024102491b0e020002010b410421010b200041b4016a20016a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802d401450d0020002802d80122002000417e6a2f00006b41002802ec82d48000118180808000000b0bd60501037f024002402000280278220141054b0d002001450d010240200028020c2202418080808078460d002002450d00200028021022022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d00200028020422022002417e6a2f00006b41002802ec82d48000118180808000000b20014101460d01024020002802242202418080808078460d002002450d00200028022822022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280218450d00200028021c22022002417e6a2f00006b41002802ec82d48000118180808000000b20014102460d010240200028023c2202418080808078460d002002450d00200028024022022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280230450d00200028023422022002417e6a2f00006b41002802ec82d48000118180808000000b20014103460d01024020002802542202418080808078460d002002450d00200028025822022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280248450d00200028024c22022002417e6a2f00006b41002802ec82d48000118180808000000b20014104460d010240200028026c2201418080808078460d002001450d00200028027022012001417e6a2f00006b41002802ec82d48000118180808000000b2000280260450d01200028026422002000417e6a2f00006b41002802ec82d48000118180808000000f0b20002802002103024020002802042201450d0020032100034002402000410c6a2802002202418080808078460d002002450d00200041106a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d00200041046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002001417f6a22010d000b0b20032003417e6a2f00006b41002802ec82d48000118180808000000b0b830301067f23808080800041306b2201248080808000024002402000280200220241054b0d002002450d01200041086a21000340410021034100210402402000417c6a2802002205450d002001200536022420014100360220200120053602142001410036021020012000280200220336022820012003360218200041046a2802002104410121030b2001200436022c2001200336021c2001200336020c2000410c6a21002001410c6a10c4898080002002417f6a22020d000c020b0b20002802042106024020002802082202450d002006210003404100210341002104024020002802002205450d00200120053602242001410036022020012005360214200141003602102001200041046a280200220336022820012003360218200041086a2802002104410121030b2001200436022c2001200336021c2001200336020c2000410c6a21002001410c6a10c4898080002002417f6a22020d000b0b20062006417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bae03010b7f23808080800041d0006b2204248080808000410021054100210602400240024020012802004101470d0020012802040d01200141046a21072001417f360204200141086a21060b024020012802104101470d0020012802140d02200141146a21082001417f360214200141186a21050b410021090240024020060d004100210a0c010b2006280204210b2006280200210a0b2001280228210c2001280224210d200128022021010240024020050d000c010b2005280204210e200528020021090b2004410c6a41106a200c41086a2900003702002004410c6a41186a200c41106a2900003702002004412c6a200c41186a2900003702002004200d3602102004200136020c2004200e3602402004200936023c2004200b3602382004200a3602342004200c2900003702142004410036024c200420033602482004200236024420002004410c6a20022003200441c4006a10ac8d80800002402005450d002008200828020041016a3602000b02402006450d002007200728020041016a3602000b200441d0006a2480808080000f0b41e0a2c68000109a81808000000b41f0a2c68000109a81808000000bae03010b7f23808080800041d0006b2204248080808000410021054100210602400240024020012802004101470d0020012802040d01200141046a21072001417f360204200141086a21060b024020012802104101470d0020012802140d02200141146a21082001417f360214200141186a21050b410021090240024020060d004100210a0c010b2006280204210b2006280200210a0b2001280228210c2001280224210d200128022021010240024020050d000c010b2005280204210e200528020021090b2004410c6a41106a200c41086a2900003702002004410c6a41186a200c41106a2900003702002004412c6a200c41186a2900003702002004200d3602102004200136020c2004200e3602402004200936023c2004200b3602382004200a3602342004200c2900003702142004410036024c200420033602482004200236024420002004410c6a20022003200441c4006a10b08d80800002402005450d002008200828020041016a3602000b02402006450d002007200728020041016a3602000b200441d0006a2480808080000f0b4180a3c68000109a81808000000b4190a3c68000109a81808000000bbf0101027f41002102024020002d0000220320012d0000470d0002400240024020030e03000102000b200028020822032001280208470d02200028020441086a200128020441086a200310f597808000450f0b200041016a200141016a412010f5978080004521020c010b0240024020002d0001450d0020012d00010d010b200028022822032001280228470d01200028022441086a200128022441086a200310f597808000450f0b200041026a200141026a412010f597808000450f0b20020bb50a020a7f017e23808080800041f0016b2203248080808000410021042003410036022c2003200236022820032001360224200341306a200341246a10bf8f8080002003280234210520032d00312106024002400240024020032d00302207417d6a0e03010100020b2000428780808090808080807f3702000c020b410121040b024002400240024002400240024002400240024020070e050002030103000b200041033602000c090b410121060b2002200328022c220741016a490d0120054101712208450d06200720024f0d02200120076a2d00004110490d062000428780808080808080807f3702000c070b2002200328022c220741016a490d0220054101712206450d04200720024f0d03200120076a2d00004110490d042000428780808080808080807f3702000c060b2000428780808080808080807f3702000c050b2007200241acafc68000108281808000000b2000428780808080808080807f3702000c030b2007200241ccafc68000108281808000000b024002400240024002400240200541017620066a20076a2202200328022822014b0d002003200236022c20040d01200341186a200341246a10cc848080002003280218410171450d022000428780808090808080807f3702000c070b2000428780808090808080807f3702000c060b200241206a220420014b0d0241012105200221010c010b200328022c2201200328021c6a220420032802284b0d02410021050b2000200636021820002002360214200020073602102000200436020c2000200136020820002005360204200041043602000c030b2000428780808090808080807f3702000c020b2000428780808090808080807f3702000c010b02400240200541017620086a20076a2205200328022822094b0d00200541026a220a20094d0d012000428780808090808080807f3702000c020b2000428780808090808080807f3702000c010b2003200a36022c02400240024002402005417d4b0d00200a20024b0d010240200120056a2f0000220b0d002000428780808090808080807f3702000c050b4102210c2006410171450d0302400240024020040d00200341106a200341246a10cc848080002003280210410171450d012000428780808090808080807f3702000c070b200541226a220220094b0d014101210c0c040b0240200328022c220a20032802146a220220032802284b0d004100210c0c040b2000428780808090808080807f3702000c050b2000428780808090808080807f3702000c040b2005200a41bcafc68000109581808000000b200a200241bcafc68000109181808000000b2003200236022c2002ad422086200aad84210d0b200341023602e401200341023602d801200341023602cc01200341023602c001200341023602b401200341023602a8012003410236029c0120034102360290012003410236028401200341023602782003410236026c2003410236026020034102360254200341023602482003410236023c2003410236023041002101200341306a2102024003400240200b200141ffff037176410171450d00200341086a200341246a10cc8480800020032802084101710d02200328022c2206200328020c22096a220420032802284b0d02200241086a2004360200200241046a2006360200200220094120473602002003200436022c0b2002410c6a2102200141016a22014110470d000b2000410c6a200341306a41c00110f4978080001a200020083602d401200020053602d001200020073602cc012000200d3702042000200c3602000c010b2000428780808090808080807f3702000b200341f0016a2480808080000bf80301067f23808080800041d0006b220424808080800020012802202105200128022428020c2106200441186a41086a200341086a280200360200200420032902003703182004410c6a20052002200441186a2006118380808000000240024002400240200428020c2205418080808078460d00200428021421062004280210210702402001280210450d0020012802140d042001417f36021420012802182108200128021c2109200441c4006a200241186a2900003702002004413c6a200241106a290000370200200441346a200241086a290000370200200420063602202004200736021c20044180808080783602182004200229000037022c200420032902003702242008200441186a200928020c118b80808000002001200128021441016a3602140b2000200636020820002007360204200020053602000c010b41002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b22036a22014185808080783602002001417e6a20033b0000200120022900003700042001410c6a200241086a290000370000200141146a200241106a2900003700002001411c6a200241186a2900003700002000418080808078360200200020013602040b200441d0006a2480808080000f0b4104413010ab80808000000b4198a4c68000109a81808000000b870f01077f23808080800041b0056b22062480808080002003280208210720032802042108024002400240024020032802004101470d004100210302400240024020074100480d00024020070d00410121030c030b41002d008083d480001a200741002802f482d480001182808080000022030d01410121030b200320074194adc6800010b980808000000b2003417e6a41003b00000b20032008200710f4978080001a41002108200721040c010b024020074120460d004100210302400240024020074100480d00024020070d00410121030c030b41002d008083d480001a200741002802f482d480001182808080000022030d01410121030b200320074194adc6800010b980808000000b2003417e6a41003b00000b20032008200710f497808000210841002d008083d480001a0240413041002802f482d48000118280808000002203450d002003200341036a417c7120036b22016a2203200736020c20032008360208200320073602042003418880808078360200200320022900003700102003417e6a20013b0000200341186a200241086a290000370000200341206a200241106a290000370000200341286a200241186a2900003700000c030b4104413010ab80808000000b200641286a41026a200841026a2d00003a00002008280003210720082f00002103200641286a410f6a2008410f6a290000370000200641286a41176a200841176a290000370000200641286a411f6a2008411f6a2d00003a0000200620033b01282006200736002b2006200829000737002f20012802202107200128022428020c2103200641086a200441086a28020036020020062004290200370300200641c8036a2007200641286a2006200311838080800000024020062802c8032207418080808078470d000240024002400240024020042802040d0020042d00084101470d010b41002d008083d480001a413041002802f482d48000118280808000002207450d032007200741036a417c7120076b22086a22034185808080783602002003417e6a20083b00000c010b41002d008083d480001a413041002802f482d48000118280808000002207450d012007200741036a417c7120076b22086a22034184808080783602002003417e6a20083b00000b200320062901283700042003411c6a200641c0006a290100370000200341146a200641386a2901003700002003410c6a200641306a2901003700000c040b4104413010ab80808000000b4104413010ab80808000000b200641d8036a41086a200641286a41086a290100370300200641d8036a41106a200641286a41106a290100370300200641d8036a41186a200641286a41186a290100370300200620062901283703d80320062802d003210420062802cc032103410121080b200641096a200641d8036a41086a290300370000200641116a200641e8036a2209290300370000200641196a200641f0036a290300370000200620083a0000200620062903d803370001200641d8036a2003200410e689808000200641c8036a41086a220a2009280200360200200620062902e0033703c803200641016a210b20062802dc032109024020062802d803220c4107470d00200641286a41086a200a280200360200200620062903c80337032802402007450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200641d8036a41186a2203200b200220081b220741186a290000370300200641d8036a41106a2208200741106a290000370300200641d8036a41086a2202200741086a290000370300200620072900003703d80341002d008083d480001a0240413041002802f482d48000118280808000002207450d002007200741036a417c7120076b22016a2207200936020020072006290328370204200720062903d8033702102007417e6a20013b00002007410c6a200641286a41086a280200360200200741186a2002290300370200200741206a2008290300370200200741286a200329030037020020004107360200200020073602040c030b4104413010ab80808000000b200641346a200641ec036a41c40110f4978080001a200641286a41086a200a280200360200200620062903c803370328200641f8016a200641286a41d00110f4978080001a02402005450d002008450d0020012802104101470d0002402001280214450d0041a8a4c68000109a81808000000b2001417f36021420012802182108200128021c210220064180046a200b41186a290000370200200641f8036a200b41106a290000370200200641d8036a41186a200b41086a290000370200200620043602e403200620033602e0032006428280808088808080807f3702d8032006200b2900003702e8032008200641d8036a200228020c118b80808000002001200128021441016a3602140b200020062900003700e40120004184026a200641206a2d00003a0000200041fc016a200641186a290000370000200041f4016a200641106a290000370000200041ec016a200641086a290000370000200041086a200641f8016a41d00110f4978080001a200020043602e001200020033602dc01200020093602042000200c360200200020073602d8010c010b20004107360200200020033602040b200641b0056a2480808080000bc46107057f017e017f027e047f017e1a7f23808080800041a00f6b22052480808080002005200436020c200541b80d6a2002200310e68980800020054190076a2204200541b80d6a410c6a290200370300200520052902bc0d37038807024002400240024020052802b80d22064107470d00200541106a410c6a200429030037020020052005290388073702140c010b200541e00b6a41146a200541b80d6a41146a41c40110f4978080001a200541e00b6a410c6a2004290300370200200520063602e00b20052005290388073702e40b200541106a200541e00b6a2002200310df97808000200528021022034107470d010b200541b80d6a41086a22032005411c6a290200370300200541b80d6a41186a2202200141086a290000370300200541b80d6a41206a2204200141106a290000370300200541b80d6a41286a2206200141186a290000370300200520052902143703b80d200520012900003703c80d41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22076a220120052903b80d3702002001417e6a20073b0000200141086a2003290300370200200141106a200541b80d6a41106a290300370200200141186a2002290300370200200141206a2004290300370200200141286a2006290300370200200041083a0000200020013602040c020b4104413010ab80808000000b200528022821042005280224210820052802202102200528021421092005290218210a200541e8016a200541106a411c6a41a40110f4978080001a4104210b200a422088220ca7210620052902d801210d20052802d401210e20052802d001210f02400240024002400240024002400240024002400240024002400240024002402003417d6a2210410420104104491b0e050900030102090b200541003602e00d200541b80d6a2002200220086a10d797808000200541e00b6a41186a200541b80d6a41186a290200370300200541e00b6a41106a200541b80d6a41106a290200370300200541e00b6a41086a200541b80d6a41086a290200370300200520052902b80d3703e00b20052802d80d211120052902dc0d2112200aa72101024002402009410171450d00200c4220520d0c200541c00b6a41026a200141026a2d00003a0000200541b00b6a200141136a290000370300200541b50b6a200141186a290000370000200520012f00003b01c00b2005200129000b3703a80b2001280007210620012800032113410121140c010b200a427f570d0c200a4280808080d0feffffff005a0d0d4100211441002d008083d480001a2006410b6a41fcffffff0771220241002802f482d48000118280808000002203450d0e2003200341036a417c7120036b22026a22134281808080103702002013417e6a20023b0000201341086a2001200610f4978080001a0b200541880b6a41186a200541e00b6a41186a290300370300200541880b6a41106a200541e00b6a41106a290300370300200541880b6a41086a200541e00b6a41086a290300370300200520052903e00b3703880b4105210b0c080b200520043602cc0d200520083602c80d200520023602c40d2005200a3702bc0d200520093602b80d200541b80d6a41186a200541e8016a41a40110f49780800021032005200f3602f40e20052001360280074102210620052005410c6a360284072005200541b80d6a3602fc060240024020094102470d00410221070c010b200541900f6a41086a200541b80d6a41086a280200360200200520052902b80d3703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22074102460d05200541b4036a41026a20052d00e30b3a000020054198036a41086a200541e00b6a41106a29020037030020054198036a41106a200541e00b6a41186a29020037030020054198036a41186a200541800c6a280200360200200520052f00e10b3b01b403200520052902e80b3703980320052802e40b211020052802c40d21020b024020024102460d00200541900f6a41086a200541c40d6a220241086a280200360200200520022902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22064102460d05200541d4036a41026a20052d00e30b3a0000200541b8036a41086a200541e00b6a41106a290200370300200541b8036a41106a200541e00b6a41186a290200370300200541b8036a41186a200541800c6a280200360200200520052f00e10b3b01d403200520052902e80b3703b80320052802e40b21090b41022102024020052802d00d4102460d00200541900f6a41086a200341086a280200360200200520032902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22024102460d05200541f4036a41026a20052d00e30b3a0000200541d8036a41086a200541e00b6a41106a290200370300200541d8036a41106a200541e00b6a41186a290200370300200541d8036a41186a200541800c6a280200360200200520052f00e10b3b01f403200520052902e80b3703d80320052802e40b21110b200541e00b6a200541fc066a410310eb8980800020052d00e00b22014103460d0420054194046a41026a20052d00e30b3a0000200541f8036a41086a200541e00b6a41106a2203290200370300200541f8036a41106a200541e00b6a41186a2204290200370300200541f8036a41186a200541800c6a2213280200360200200520052f00e10b3b019404200520052902e80b3703f80320052802e40b2108200541e00b6a200541fc066a410410eb8980800020052d00e00b220b4103460d04200541b4046a41026a20052d00e30b3a000020054198046a41086a200329020037030020054198046a41106a200429020037030020054198046a41186a2013280200360200200520052f00e10b3b01b404200520052902e80b3703980420052802e40b2103200541e00b6a200541fc066a410510eb8980800020052d00e00b22134103460d04200541d4046a41026a20052d00e30b3a0000200541b8046a41086a200541e00b6a41106a2204290200370300200541b8046a41106a200541e00b6a41186a2214290200370300200541b8046a41186a200541800c6a2215280200360200200520052f00e10b3b01d404200520052902e80b3703b80420052802e40b210f200541e00b6a200541fc066a410610eb8980800020052d00e00b22164103460d04200541f4046a41026a20052d00e30b3a0000200541d8046a41086a2004290200370300200541d8046a41106a2014290200370300200541d8046a41186a2015280200360200200520052f00e10b3b01f404200520052902e80b3703d80420052802e40b2115200541e00b6a200541fc066a410710eb8980800020052d00e00b22174103460d0420054194056a41026a20052d00e30b3a0000200541f8046a41086a200541e00b6a41106a2204290200370300200541f8046a41106a200541e00b6a41186a2214290200370300200541f8046a41186a200541800c6a2218280200360200200520052f00e10b3b019405200520052902e80b3703f80420052802e40b2119200541e00b6a200541fc066a410810eb8980800020052d00e00b221a4103460d04200541b4056a41026a20052d00e30b3a000020054198056a41086a200429020037030020054198056a41106a201429020037030020054198056a41186a2018280200360200200520052f00e10b3b01b405200520052902e80b3703980520052802e40b2118200541e00b6a200541fc066a410910eb8980800020052d00e00b221b4103460d04200541d4056a41026a20052d00e30b3a0000200541b8056a41086a200541e00b6a41106a2204290200370300200541b8056a41106a200541e00b6a41186a2214290200370300200541b8056a41186a200541800c6a221c280200360200200520052f00e10b3b01d405200520052902e80b3703b80520052802e40b211d200541e00b6a200541fc066a410a10eb8980800020052d00e00b221e4103460d04200541f4056a41026a20052d00e30b3a0000200541d8056a41086a2004290200370300200541d8056a41106a2014290200370300200541d8056a41186a201c280200360200200520052f00e10b3b01f405200520052902e80b3703d80520052802e40b211c200541e00b6a200541fc066a410b10eb8980800020052d00e00b221f4103460d0420054194066a41026a20052d00e30b3a0000200541f8056a41086a200541e00b6a41106a2204290200370300200541f8056a41106a200541e00b6a41186a2214290200370300200541f8056a41186a200541800c6a2220280200360200200520052f00e10b3b019406200520052902e80b3703f80520052802e40b2121200541e00b6a200541fc066a410c10eb8980800020052d00e00b22224103460d04200541b4066a41026a20052d00e30b3a000020054198066a41086a200429020037030020054198066a41106a201429020037030020054198066a41186a2020280200360200200520052f00e10b3b01b406200520052902e80b3703980620052802e40b2120200541e00b6a200541fc066a410d10eb8980800020052d00e00b22234103460d04200541d4066a41026a20052d00e30b3a0000200541b8066a41086a200541e00b6a41106a2204290200370300200541b8066a41106a200541e00b6a41186a2214290200370300200541b8066a41186a200541800c6a2224280200360200200520052f00e10b3b01d406200520052902e80b3703b80620052802e40b2125200541e00b6a200541fc066a410e10eb8980800020052d00e00b22264103460d04200541f8066a41026a20052d00e30b3a0000200541d8066a41086a2004290200370300200541d8066a41106a2014290200370300200541d8066a41186a2024280200360200200520052f00e10b3b01f806200520052902e80b3703d80620052802e40b2124200541e00b6a200541fc066a410f10eb8980800020052d00e00b22274103460d04200541a4076a41026a222820052d00e30b3a000020054188076a41086a2229200541e00b6a41106a29020037030020054188076a41106a222a200541e00b6a41186a29020037030020054188076a41186a222b200541e00b6a41206a280200360200200520052f00e10b3b01a407200520052902e80b3703880720052802e40b212c41002d008083d480001a41c00441002802f482d48000118280808000002204450d022004200441036a417c7120046b22146a220420073a0000200420052f01b4033b0001200420103602042004200529039803370208200420063a0024200420052f01d4033b00252004417e6a20143b000041032114200441036a200541b4036a41026a2d00003a0000200441106a20054198036a41086a290300370200200441186a20054198036a41106a290300370200200441206a20054198036a41186a280200360200200441276a200541d4036a41026a2d00003a000020042009360228200420023a00482004201136024c200420052903b80337022c200441346a200541b8036a41086a2903003702002004413c6a200541b8036a41106a290300370200200441c4006a200541b8036a41186a280200360200200420052f01f4033b0049200441cb006a200541f4036a41026a2d00003a0000200420052903d803370250200441d8006a200541d8036a41086a290300370200200441e0006a200541d8036a41106a290300370200200441e8006a200541d8036a41186a280200360200200420013a006c200420083602702004200b3a009001200420052f0194043b006d200441ef006a20054194046a41026a2d00003a00002004418c016a200541f8036a41186a28020036020020044184016a200541f8036a41106a290300370200200441fc006a200541f8036a41086a290300370200200420052903f803370274200420052f01b4043b00910120044193016a200541b4046a41026a2d00003a00002004200336029401200441b0016a20054198046a41186a280200360200200441a8016a20054198046a41106a290300370200200441a0016a20054198046a41086a290300370200200420052903980437029801200420133a00b401200441b7016a200541d4046a41026a2d00003a0000200420052f01d4043b00b5012004200f3602b801200441d4016a200541b8046a41186a280200360200200441cc016a200541b8046a41106a290300370200200441c4016a200541b8046a41086a290300370200200420052903b8043702bc01200420163a00d801200441db016a200541f4046a41026a2d00003a0000200420052f01f4043b00d901200420153602dc01200441f8016a200541d8046a41186a280200360200200441f0016a200541d8046a41106a290300370200200441e8016a200541d8046a41086a290300370200200420052903d8043702e001200420173a00fc01200441ff016a20054194056a41026a2d00003a0000200420052f0194053b00fd0120042019360280022004419c026a200541f8046a41186a28020036020020044194026a200541f8046a41106a2903003702002004418c026a200541f8046a41086a290300370200200420052903f804370284022004201a3a00a002200441a3026a200541b4056a41026a2d00003a0000200420052f01b4053b00a102200420183602a402200441c0026a20054198056a41186a280200360200200441b8026a20054198056a41106a290300370200200441b0026a20054198056a41086a29030037020020042005290398053702a8022004201b3a00c402200441c7026a200541d4056a41026a2d00003a0000200420052f01d4053b00c5022004201d3602c802200441e4026a200541b8056a41186a280200360200200441dc026a200541b8056a41106a290300370200200441d4026a200541b8056a41086a290300370200200420052903b8053702cc022004201e3a00e802200441eb026a200541f4056a41026a2d00003a0000200420052f01f4053b00e9022004201c3602ec0220044188036a200541d8056a41186a28020036020020044180036a200541d8056a41106a290300370200200441f8026a200541d8056a41086a290300370200200420052903d8053702f0022004201f3a008c032004418f036a20054194066a41026a2d00003a0000200420052f0194063b008d032004202136029003200441ac036a200541f8056a41186a280200360200200441a4036a200541f8056a41106a2903003702002004419c036a200541f8056a41086a290300370200200420052903f80537029403200420223a00b003200441b3036a200541b4066a41026a2d00003a0000200420052f01b4063b00b103200420203602b403200441d0036a20054198066a41186a280200360200200441c8036a20054198066a41106a290300370200200441c0036a20054198066a41086a29030037020020042005290398063702b803200420233a00d403200441d7036a200541d4066a41026a2d00003a0000200420052f01d4063b00d503200420253602d803200441f4036a200541b8066a41186a280200360200200441ec036a200541b8066a41106a290300370200200441e4036a200541b8066a41086a290300370200200420052903b8063702dc03200420263a00f803200441fb036a200541f8066a41026a2d00003a0000200420052f01f8063b00f903200420243602fc0320044198046a200541d8066a41186a28020036020020044190046a200541d8066a41106a29030037020020044188046a200541d8066a41086a290300370200200420052903d80637028004200420273a009c042004419f046a20282d00003a0000200420052f01a4073b009d042004202c3602a004200441bc046a202b280200360200200441b4046a202a290300370200200441ac046a202929030037020020042005290388073702a404200e4102470d034107210b0c070b20052902e0012112200520043602d00d200520083602cc0d200520023602c80d2005200a3702c00d200520093602bc0d200520033602b80d200541b80d6a411c6a200541e8016a41a40110f4978080001a20052001360280074102210220052005410c6a360284072005200541b80d6a3602fc0620034102460d04200541900f6a41086a200541b80d6a41086a280200360200200520052902b80d3703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22034102460d07200541c6076a20052d00e30b3a0000200541a8076a41086a200541e00b6a41106a290200370300200541a8076a41106a200541e00b6a41186a290200370300200541a8076a41186a200541800c6a280200360200200520052f00e10b3b01c407200520052902e80b3703a80720052802e40b211120052802c40d2106200321020c050b2005200a370290032005200936028c03200541003602e00d200541b80d6a2002200220086a10d797808000200541106a41086a2203200541b80d6a41106a290200370300200541106a41106a2202200541b80d6a41186a290200370300200541106a41186a2206200541d80d6a290200370300200520052902c00d37031020052802bc0d210920052802b80d210720052802e00d2111200541e00b6a41186a200141186a290000370300200541e00b6a41106a200141106a290000370300200541e00b6a41086a200141086a290000370300200520012900003703e00b200541b80d6a200541e00b6a2005418c036a200528020c10ea8980800020052d00b80d22144102460d0b200541c00b6a41026a20052d00bb0d3a0000200541a80b6a41086a200541cc0d6a290200370300200541a80b6a41106a200541d40d6a290200370300200541880b6a41086a2003290300370300200541880b6a41106a2002290300370300200541880b6a41186a2006290300370300200520052f00b90d3b01c00b200520052902c40d3703a80b200520052903103703880b20052802bc0d211320052802c00d21064106210b20042115200921040c050b410441c00410ab80808000000b2005200d3702cc0b2005200e3602c80b200541e00b6a200541c80b6a10cc89808000200541c20b6a20052d00e30b3a0000200541b00b6a200541f40b6a290200370300200541b80b6a200541fc0b6a290200370300200520052f00e10b3b01c00b200520052902ec0b3703a80b20052d00e00b211420052802e40b211320052802e80b210620052802840c211520052802880c21074107210b0c030b20052802e40b2101200041083a0000200020013602040c090b0b4102210941022103024020064102460d00200541900f6a41086a200541cc0d6a280200360200200520052902c40d3703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22034102460d02200541e4076a41026a20052d00e30b3a0000200541c8076a41086a200541e00b6a41106a290200370300200541c8076a41106a200541e00b6a41186a290200370300200541c8076a41186a200541800c6a280200360200200520052f00e10b3b01e407200520052902e80b3703c80720052802e40b21100b024020052802d00d4102460d00200541900f6a41086a200541b80d6a41186a220441086a280200360200200520042902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22094102460d0220054184086a41026a20052d00e30b3a0000200541e8076a41086a200541e00b6a41106a290200370300200541e8076a41106a200541e00b6a41186a290200370300200541e8076a41186a200541800c6a280200360200200520052f00e10b3b018408200520052902e80b3703e80720052802e40b21060b41022113024020052802dc0d4102460d00200541900f6a41086a200541dc0d6a220441086a280200360200200520042902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22134102460d02200541a4086a41026a20052d00e30b3a000020054188086a41086a200541e00b6a41106a29020037030020054188086a41106a200541e00b6a41186a29020037030020054188086a41186a200541800c6a280200360200200520052f00e10b3b01a408200520052902e80b3703880820052802e40b21140b200541e00b6a200541fc066a410410ec8980800020052d00e00b22014103460d01200541c4086a41026a20052d00e30b3a0000200541a8086a41086a200541e00b6a41106a2204290200370300200541a8086a41106a200541e00b6a41186a2207290200370300200541a8086a41186a200541800c6a2208280200360200200520052f00e10b3b01c408200520052902e80b3703a80820052802e40b2115200541e00b6a200541fc066a410510ec8980800020052d00e00b22164103460d01200541e4086a41026a20052d00e30b3a0000200541c8086a41086a2004290200370300200541c8086a41106a2007290200370300200541c8086a41186a2008280200360200200520052f00e10b3b01e408200520052902e80b3703c80820052802e40b2108200541e00b6a200541fc066a410610ec8980800020052d00e00b22174103460d0120054184096a41026a20052d00e30b3a0000200541e8086a41086a200541e00b6a41106a2204290200370300200541e8086a41106a200541e00b6a41186a2207290200370300200541e8086a41186a200541800c6a220b280200360200200520052f00e10b3b018409200520052902e80b3703e80820052802e40b2118200541e00b6a200541fc066a410710ec8980800020052d00e00b22194103460d01200541a4096a41026a20052d00e30b3a000020054188096a41086a200429020037030020054188096a41106a200729020037030020054188096a41186a200b280200360200200520052f00e10b3b01a409200520052902e80b3703880920052802e40b211a200541e00b6a200541fc066a410810ec8980800020052d00e00b221b4103460d01200541c4096a41026a20052d00e30b3a0000200541a8096a41086a200541e00b6a41106a2204290200370300200541a8096a41106a200541e00b6a41186a2207290200370300200541a8096a41186a200541800c6a220b280200360200200520052f00e10b3b01c409200520052902e80b3703a80920052802e40b211c200541e00b6a200541fc066a410910ec8980800020052d00e00b221d4103460d01200541e4096a41026a20052d00e30b3a0000200541c8096a41086a2004290200370300200541c8096a41106a2007290200370300200541c8096a41186a200b280200360200200520052f00e10b3b01e409200520052902e80b3703c80920052802e40b211e200541e00b6a200541fc066a410a10ec8980800020052d00e00b221f4103460d01200541840a6a41026a20052d00e30b3a0000200541e8096a41086a200541e00b6a41106a2204290200370300200541e8096a41106a200541e00b6a41186a2207290200370300200541e8096a41186a200541800c6a220b280200360200200520052f00e10b3b01840a200520052902e80b3703e80920052802e40b2120200541e00b6a200541fc066a410b10ec8980800020052d00e00b22214103460d01200541a40a6a41026a20052d00e30b3a0000200541880a6a41086a2004290200370300200541880a6a41106a2007290200370300200541880a6a41186a200b280200360200200520052f00e10b3b01a40a200520052902e80b3703880a20052802e40b2122200541e00b6a200541fc066a410c10ec8980800020052d00e00b22234103460d01200541c40a6a41026a20052d00e30b3a0000200541a80a6a41086a200541e00b6a41106a2204290200370300200541a80a6a41106a200541e00b6a41186a2207290200370300200541a80a6a41186a200541800c6a220b280200360200200520052f00e10b3b01c40a200520052902e80b3703a80a20052802e40b2124200541e00b6a200541fc066a410d10ec8980800020052d00e00b22254103460d01200541e40a6a41026a20052d00e30b3a0000200541c80a6a41086a2004290200370300200541c80a6a41106a2007290200370300200541c80a6a41186a200b280200360200200520052f00e10b3b01e40a200520052902e80b3703c80a20052802e40b2126200541e00b6a200541fc066a410e10ec8980800020052d00e00b22274103460d01200541840b6a41026a20052d00e30b3a0000200541e80a6a41086a200541e00b6a41106a2204290200370300200541e80a6a41106a200541e00b6a41186a2207290200370300200541e80a6a41186a200541800c6a220b280200360200200520052f00e10b3b01840b200520052902e80b3703e80a20052802e40b2128200541e00b6a200541fc066a410f10ec8980800020052d00e00b22294103460d01200541a4076a41026a20052d00e30b3a000020054188076a41086a200429020037030020054188076a41106a200729020037030020054188076a41186a200b280200360200200520052f00e10b3b01a407200520052902e80b3703880720052802e40b212a41002d008083d480001a0240024041c00441002802f482d48000118280808000002207450d002012422088a721044103210b2007200741036a417c7120076b222b6a220720023a0000200720052f01c4073b000120072011360204200720052903a807370208200720033a0024200720052f01e4073b00252007417e6a202b3b0000200741036a200541c4076a41026a2d00003a0000200741106a200541a8076a41086a290300370200200741186a200541a8076a41106a290300370200200741206a200541a8076a41186a280200360200200741276a200541e4076a41026a2d00003a000020072010360228200720093a00482007200636024c200720052903c80737022c200741346a200541c8076a41086a2903003702002007413c6a200541c8076a41106a290300370200200741c4006a200541c8076a41186a280200360200200720052f0184083b0049200741cb006a20054184086a41026a2d00003a0000200720052903e807370250200741d8006a200541e8076a41086a290300370200200741e0006a200541e8076a41106a290300370200200741e8006a200541e8076a41186a280200360200200720133a006c20072014360270200720013a009001200720052f01a4083b006d200741ef006a200541a4086a41026a2d00003a00002007418c016a20054188086a41186a28020036020020074184016a20054188086a41106a290300370200200741fc006a20054188086a41086a2903003702002007200529038808370274200720052f01c4083b00910120074193016a200541c4086a41026a2d00003a00002007201536029401200741b0016a200541a8086a41186a280200360200200741a8016a200541a8086a41106a290300370200200741a0016a200541a8086a41086a290300370200200720052903a80837029801200720163a00b401200741b7016a200541e4086a41026a2d00003a0000200720052f01e4083b00b501200720083602b801200741d4016a200541c8086a41186a280200360200200741cc016a200541c8086a41106a290300370200200741c4016a200541c8086a41086a290300370200200720052903c8083702bc01200720173a00d801200741db016a20054184096a41026a2d00003a0000200720052f0184093b00d901200720183602dc01200741f8016a200541e8086a41186a280200360200200741f0016a200541e8086a41106a290300370200200741e8016a200541e8086a41086a290300370200200720052903e8083702e001200720193a00fc01200741ff016a200541a4096a41026a2d00003a0000200720052f01a4093b00fd012007201a360280022007419c026a20054188096a41186a28020036020020074194026a20054188096a41106a2903003702002007418c026a20054188096a41086a2903003702002007200529038809370284022007201b3a00a002200741a3026a200541c4096a41026a2d00003a0000200720052f01c4093b00a1022007201c3602a402200741c0026a200541a8096a41186a280200360200200741b8026a200541a8096a41106a290300370200200741b0026a200541a8096a41086a290300370200200720052903a8093702a8022007201d3a00c402200741c7026a200541e4096a41026a2d00003a0000200720052f01e4093b00c5022007201e3602c802200741e4026a200541c8096a41186a280200360200200741dc026a200541c8096a41106a290300370200200741d4026a200541c8096a41086a290300370200200720052903c8093702cc022007201f3a00e802200741eb026a200541840a6a41026a2d00003a0000200720052f01840a3b00e902200720203602ec0220074188036a200541e8096a41186a28020036020020074180036a200541e8096a41106a290300370200200741f8026a200541e8096a41086a290300370200200720052903e8093702f002200720213a008c032007418f036a200541a40a6a41026a2d00003a0000200720052f01a40a3b008d032007202236029003200741ac036a200541880a6a41186a280200360200200741a4036a200541880a6a41106a2903003702002007419c036a200541880a6a41086a290300370200200720052903880a37029403200720233a00b003200741b3036a200541c40a6a41026a2d00003a0000200720052f01c40a3b00b103200720243602b403200741d0036a200541a80a6a41186a280200360200200741c8036a200541a80a6a41106a290300370200200741c0036a200541a80a6a41086a290300370200200720052903a80a3702b803200720253a00d403200741d7036a200541e40a6a41026a2d00003a0000200720052f01e40a3b00d503200720263602d803200741f4036a200541c80a6a41186a280200360200200741ec036a200541c80a6a41106a290300370200200741e4036a200541c80a6a41086a290300370200200720052903c80a3702dc03200720273a00f803200741fb036a200541840b6a41026a2d00003a0000200720052f01840b3b00f903200720283602fc0320074198046a200541e80a6a41186a28020036020020074190046a200541e80a6a41106a29030037020020074188046a200541e80a6a41086a290300370200200720052903e80a37028004200720293a009c042007419f046a200541a4076a41026a2d00003a0000200720052f01a4073b009d042007202a3602a004200741bc046a20054188076a41186a280200360200200741b4046a20054188076a41106a290300370200200741ac046a20054188076a41086a29030037020020072005290388073702a404200541003602880c200541e00b6a200d422088a7220120012012a76a10d797808000200541880b6a41186a200541e00b6a41186a2201290200370300200541880b6a41106a200541e00b6a41106a290200370300200541880b6a41086a200541e00b6a41086a290200370300200520052902e00b3703880b20052802800c211120052902840c2112200f4102470d010c020b410441c00410ab80808000000b2005200da73602dc0b2005200e3602d80b2005200f3602d40b200541e00b6a200541d40b6a10cc89808000200541c40b6a41026a20052d00e30b3a0000200541c00b6a41026a200541e70b6a2d00003a0000200541a80b6a41086a2001290200370300200541a80b6a41106a200541e00b6a41206a290200370300200520052f00e10b3b01c40b200520052f00e50b3b01c00b200520052902f00b3703a80b20052d00e00b210b20052d00e40b211420052802e80b211320052802ec0b210620052802880c21150b2000200b3a0000200020052f01c40b3b0001200020143a0004200020052f01c00b3b00052000200636020c20002013360208200020052903a80b370210200041036a200541c40b6a41026a2d00003a0000200041076a200541c00b6a41026a2d00003a0000200041186a200541a80b6a41086a290300370200200041206a200541a80b6a41106a290300370200200020043602302000200736022c200020153602282000201237025820002011360254200020052903880b3702342000413c6a200541880b6a41086a290300370200200041c4006a200541880b6a41106a290300370200200041cc006a200541880b6a41186a2903003702000c060b20052802e40b2101200041083a0000200020013602040c050b412020064198a0c68000108681808000000b41f8e9cd8000412b200541b80d6a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200541b80d6a418c80c0800041b482c0800010a981808000000b4104200210ab80808000000b20052802bc0d2101200041083a00002000200136020420114129490d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200541a00f6a2480808080000bc60801057f23808080800041e0016b22042480808080002002280208210520022802042106024002400240024020022802004101470d0020044180016a41186a200141186a29000037030020044180016a41106a200141106a29000037030020044180016a41086a200141086a2900003703002004200129000037038001200441206a20044180016a20062005200310e98980800020042d002022054108470d0120042802242102200041023a0000200020023602040c030b024020054120470d002004411c6a41026a200641026a2d00003a0000200441086a2006410f6a290000370300200441106a200641176a290000370300200441186a2006411f6a2d00003a0000200420062f00003b011c2004200629000737030020062800032102410121060c020b4100210202400240024020054100480d00024020050d00410121020c030b41002d008083d480001a200541002802f482d480001182808080000022020d01410121020b200220054194adc6800010b980808000000b2002417e6a41003b00000b20022006200510f497808000210641002d008083d480001a0240413041002802f482d48000118280808000002202450d00200041023a00002002200241036a417c7120026b22036a2202200536020c2002200636020820022005360204200241888080807836020020022001290000370010200020023602042002417e6a20033b0000200241186a200141086a290000370000200241206a200141106a290000370000200241286a200141186a2900003700000c030b4104413010ab80808000000b200441dc016a41026a20042d00233a0000200420042f00213b01dc012004280224210720044180016a200441206a41086a41d80010f4978080001a024020032802182202450d0020032002417f6a3602184100210620032003280214220241016a22014100200328020c220820012008491b6b3602140240200328021020024102746a2802002202200328020822014f0d00200328020420024107746a220120012d00004108464102746a10d889808000200120053a0004200141083a000020012007360208200120042f01dc013b0005200141076a200441dc016a41026a2d00003a00002001410c6a20044180016a41d80010f4978080001a0c020b2002200141e4abc68000108281808000000b0240200328020822022003280200470d00200341f4abc680001092868080000b200328020420024107746a220120053a0004200141083a0000200120042f01dc013b000520012007360208200141076a200441de016a2d00003a00002001410c6a20044180016a41d80010f4978080001a2003200241016a360208410021060b200020063a0000200020042f011c3b00012000200236020420002004290300370208200041036a2004411e6a2d00003a0000200041106a200441086a290300370200200041186a200441106a290300370200200041206a200441186a2802003602000b200441e0016a2480808080000bd50201017f23808080800041d0006b2203248080808000024002402002410f4b0d000240024020012802002002410c6c6a22022802004102460d00200341086a200241086a28020036020020032002290200370300200341306a41086a2001280204220241086a290000370300200341306a41106a200241106a290000370300200341306a41186a200241186a290000370300200320022900003703302003410c6a200341306a2003200128020828020010ea8980800020032d000c4102470d0120002003280210360204200041033a00000c030b200041023a00000c020b2000200329020c370200200041206a2003410c6a41206a280200360200200041186a2003410c6a41186a290200370200200041106a2003410c6a41106a290200370200200041086a2003410c6a41086a2902003702000c010b2002411041b8a4c68000108281808000000b200341d0006a2480808080000bd50201017f23808080800041d0006b2203248080808000024002402002410f4b0d000240024020012802002002410c6c6a22022802004102460d00200341086a200241086a28020036020020032002290200370300200341306a41086a2001280204220241086a290000370300200341306a41106a200241106a290000370300200341306a41186a200241186a290000370300200320022900003703302003410c6a200341306a2003200128020828020010ea8980800020032d000c4102470d0120002003280210360204200041033a00000c030b200041023a00000c020b2000200329020c370200200041206a2003410c6a41206a280200360200200041186a2003410c6a41186a290200370200200041106a2003410c6a41106a290200370200200041086a2003410c6a41086a2902003702000c010b2002411041c8a4c68000108281808000000b200341d0006a2480808080000bc46107057f017e017f027e047f017e1a7f23808080800041a00f6b22052480808080002005200436020c200541b80d6a2002200310e68980800020054190076a2204200541b80d6a410c6a290200370300200520052902bc0d37038807024002400240024020052802b80d22064107470d00200541106a410c6a200429030037020020052005290388073702140c010b200541e00b6a41146a200541b80d6a41146a41c40110f4978080001a200541e00b6a410c6a2004290300370200200520063602e00b20052005290388073702e40b200541106a200541e00b6a2002200310df97808000200528021022034107470d010b200541b80d6a41086a22032005411c6a290200370300200541b80d6a41186a2202200141086a290000370300200541b80d6a41206a2204200141106a290000370300200541b80d6a41286a2206200141186a290000370300200520052902143703b80d200520012900003703c80d41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22076a220120052903b80d3702002001417e6a20073b0000200141086a2003290300370200200141106a200541b80d6a41106a290300370200200141186a2002290300370200200141206a2004290300370200200141286a2006290300370200200041083a0000200020013602040c020b4104413010ab80808000000b200528022821042005280224210820052802202102200528021421092005290218210a200541e8016a200541106a411c6a41a40110f4978080001a4104210b200a422088220ca7210620052902d801210d20052802d401210e20052802d001210f02400240024002400240024002400240024002400240024002400240024002402003417d6a2210410420104104491b0e050900030102090b200541003602e00d200541b80d6a2002200220086a10d797808000200541e00b6a41186a200541b80d6a41186a290200370300200541e00b6a41106a200541b80d6a41106a290200370300200541e00b6a41086a200541b80d6a41086a290200370300200520052902b80d3703e00b20052802d80d211120052902dc0d2112200aa72101024002402009410171450d00200c4220520d0c200541c00b6a41026a200141026a2d00003a0000200541b00b6a200141136a290000370300200541b50b6a200141186a290000370000200520012f00003b01c00b2005200129000b3703a80b2001280007210620012800032113410121140c010b200a427f570d0c200a4280808080d0feffffff005a0d0d4100211441002d008083d480001a2006410b6a41fcffffff0771220241002802f482d48000118280808000002203450d0e2003200341036a417c7120036b22026a22134281808080103702002013417e6a20023b0000201341086a2001200610f4978080001a0b200541880b6a41186a200541e00b6a41186a290300370300200541880b6a41106a200541e00b6a41106a290300370300200541880b6a41086a200541e00b6a41086a290300370300200520052903e00b3703880b4105210b0c080b200520043602cc0d200520083602c80d200520023602c40d2005200a3702bc0d200520093602b80d200541b80d6a41186a200541e8016a41a40110f49780800021032005200f3602f40e20052001360280074102210620052005410c6a360284072005200541b80d6a3602fc060240024020094102470d00410221070c010b200541900f6a41086a200541b80d6a41086a280200360200200520052902b80d3703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22074102460d05200541b4036a41026a20052d00e30b3a000020054198036a41086a200541e00b6a41106a29020037030020054198036a41106a200541e00b6a41186a29020037030020054198036a41186a200541800c6a280200360200200520052f00e10b3b01b403200520052902e80b3703980320052802e40b211020052802c40d21020b024020024102460d00200541900f6a41086a200541c40d6a220241086a280200360200200520022902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22064102460d05200541d4036a41026a20052d00e30b3a0000200541b8036a41086a200541e00b6a41106a290200370300200541b8036a41106a200541e00b6a41186a290200370300200541b8036a41186a200541800c6a280200360200200520052f00e10b3b01d403200520052902e80b3703b80320052802e40b21090b41022102024020052802d00d4102460d00200541900f6a41086a200341086a280200360200200520032902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22024102460d05200541f4036a41026a20052d00e30b3a0000200541d8036a41086a200541e00b6a41106a290200370300200541d8036a41106a200541e00b6a41186a290200370300200541d8036a41186a200541800c6a280200360200200520052f00e10b3b01f403200520052902e80b3703d80320052802e40b21110b200541e00b6a200541fc066a410310ef8980800020052d00e00b22014103460d0420054194046a41026a20052d00e30b3a0000200541f8036a41086a200541e00b6a41106a2203290200370300200541f8036a41106a200541e00b6a41186a2204290200370300200541f8036a41186a200541800c6a2213280200360200200520052f00e10b3b019404200520052902e80b3703f80320052802e40b2108200541e00b6a200541fc066a410410ef8980800020052d00e00b220b4103460d04200541b4046a41026a20052d00e30b3a000020054198046a41086a200329020037030020054198046a41106a200429020037030020054198046a41186a2013280200360200200520052f00e10b3b01b404200520052902e80b3703980420052802e40b2103200541e00b6a200541fc066a410510ef8980800020052d00e00b22134103460d04200541d4046a41026a20052d00e30b3a0000200541b8046a41086a200541e00b6a41106a2204290200370300200541b8046a41106a200541e00b6a41186a2214290200370300200541b8046a41186a200541800c6a2215280200360200200520052f00e10b3b01d404200520052902e80b3703b80420052802e40b210f200541e00b6a200541fc066a410610ef8980800020052d00e00b22164103460d04200541f4046a41026a20052d00e30b3a0000200541d8046a41086a2004290200370300200541d8046a41106a2014290200370300200541d8046a41186a2015280200360200200520052f00e10b3b01f404200520052902e80b3703d80420052802e40b2115200541e00b6a200541fc066a410710ef8980800020052d00e00b22174103460d0420054194056a41026a20052d00e30b3a0000200541f8046a41086a200541e00b6a41106a2204290200370300200541f8046a41106a200541e00b6a41186a2214290200370300200541f8046a41186a200541800c6a2218280200360200200520052f00e10b3b019405200520052902e80b3703f80420052802e40b2119200541e00b6a200541fc066a410810ef8980800020052d00e00b221a4103460d04200541b4056a41026a20052d00e30b3a000020054198056a41086a200429020037030020054198056a41106a201429020037030020054198056a41186a2018280200360200200520052f00e10b3b01b405200520052902e80b3703980520052802e40b2118200541e00b6a200541fc066a410910ef8980800020052d00e00b221b4103460d04200541d4056a41026a20052d00e30b3a0000200541b8056a41086a200541e00b6a41106a2204290200370300200541b8056a41106a200541e00b6a41186a2214290200370300200541b8056a41186a200541800c6a221c280200360200200520052f00e10b3b01d405200520052902e80b3703b80520052802e40b211d200541e00b6a200541fc066a410a10ef8980800020052d00e00b221e4103460d04200541f4056a41026a20052d00e30b3a0000200541d8056a41086a2004290200370300200541d8056a41106a2014290200370300200541d8056a41186a201c280200360200200520052f00e10b3b01f405200520052902e80b3703d80520052802e40b211c200541e00b6a200541fc066a410b10ef8980800020052d00e00b221f4103460d0420054194066a41026a20052d00e30b3a0000200541f8056a41086a200541e00b6a41106a2204290200370300200541f8056a41106a200541e00b6a41186a2214290200370300200541f8056a41186a200541800c6a2220280200360200200520052f00e10b3b019406200520052902e80b3703f80520052802e40b2121200541e00b6a200541fc066a410c10ef8980800020052d00e00b22224103460d04200541b4066a41026a20052d00e30b3a000020054198066a41086a200429020037030020054198066a41106a201429020037030020054198066a41186a2020280200360200200520052f00e10b3b01b406200520052902e80b3703980620052802e40b2120200541e00b6a200541fc066a410d10ef8980800020052d00e00b22234103460d04200541d4066a41026a20052d00e30b3a0000200541b8066a41086a200541e00b6a41106a2204290200370300200541b8066a41106a200541e00b6a41186a2214290200370300200541b8066a41186a200541800c6a2224280200360200200520052f00e10b3b01d406200520052902e80b3703b80620052802e40b2125200541e00b6a200541fc066a410e10ef8980800020052d00e00b22264103460d04200541f8066a41026a20052d00e30b3a0000200541d8066a41086a2004290200370300200541d8066a41106a2014290200370300200541d8066a41186a2024280200360200200520052f00e10b3b01f806200520052902e80b3703d80620052802e40b2124200541e00b6a200541fc066a410f10ef8980800020052d00e00b22274103460d04200541a4076a41026a222820052d00e30b3a000020054188076a41086a2229200541e00b6a41106a29020037030020054188076a41106a222a200541e00b6a41186a29020037030020054188076a41186a222b200541e00b6a41206a280200360200200520052f00e10b3b01a407200520052902e80b3703880720052802e40b212c41002d008083d480001a41c00441002802f482d48000118280808000002204450d022004200441036a417c7120046b22146a220420073a0000200420052f01b4033b0001200420103602042004200529039803370208200420063a0024200420052f01d4033b00252004417e6a20143b000041032114200441036a200541b4036a41026a2d00003a0000200441106a20054198036a41086a290300370200200441186a20054198036a41106a290300370200200441206a20054198036a41186a280200360200200441276a200541d4036a41026a2d00003a000020042009360228200420023a00482004201136024c200420052903b80337022c200441346a200541b8036a41086a2903003702002004413c6a200541b8036a41106a290300370200200441c4006a200541b8036a41186a280200360200200420052f01f4033b0049200441cb006a200541f4036a41026a2d00003a0000200420052903d803370250200441d8006a200541d8036a41086a290300370200200441e0006a200541d8036a41106a290300370200200441e8006a200541d8036a41186a280200360200200420013a006c200420083602702004200b3a009001200420052f0194043b006d200441ef006a20054194046a41026a2d00003a00002004418c016a200541f8036a41186a28020036020020044184016a200541f8036a41106a290300370200200441fc006a200541f8036a41086a290300370200200420052903f803370274200420052f01b4043b00910120044193016a200541b4046a41026a2d00003a00002004200336029401200441b0016a20054198046a41186a280200360200200441a8016a20054198046a41106a290300370200200441a0016a20054198046a41086a290300370200200420052903980437029801200420133a00b401200441b7016a200541d4046a41026a2d00003a0000200420052f01d4043b00b5012004200f3602b801200441d4016a200541b8046a41186a280200360200200441cc016a200541b8046a41106a290300370200200441c4016a200541b8046a41086a290300370200200420052903b8043702bc01200420163a00d801200441db016a200541f4046a41026a2d00003a0000200420052f01f4043b00d901200420153602dc01200441f8016a200541d8046a41186a280200360200200441f0016a200541d8046a41106a290300370200200441e8016a200541d8046a41086a290300370200200420052903d8043702e001200420173a00fc01200441ff016a20054194056a41026a2d00003a0000200420052f0194053b00fd0120042019360280022004419c026a200541f8046a41186a28020036020020044194026a200541f8046a41106a2903003702002004418c026a200541f8046a41086a290300370200200420052903f804370284022004201a3a00a002200441a3026a200541b4056a41026a2d00003a0000200420052f01b4053b00a102200420183602a402200441c0026a20054198056a41186a280200360200200441b8026a20054198056a41106a290300370200200441b0026a20054198056a41086a29030037020020042005290398053702a8022004201b3a00c402200441c7026a200541d4056a41026a2d00003a0000200420052f01d4053b00c5022004201d3602c802200441e4026a200541b8056a41186a280200360200200441dc026a200541b8056a41106a290300370200200441d4026a200541b8056a41086a290300370200200420052903b8053702cc022004201e3a00e802200441eb026a200541f4056a41026a2d00003a0000200420052f01f4053b00e9022004201c3602ec0220044188036a200541d8056a41186a28020036020020044180036a200541d8056a41106a290300370200200441f8026a200541d8056a41086a290300370200200420052903d8053702f0022004201f3a008c032004418f036a20054194066a41026a2d00003a0000200420052f0194063b008d032004202136029003200441ac036a200541f8056a41186a280200360200200441a4036a200541f8056a41106a2903003702002004419c036a200541f8056a41086a290300370200200420052903f80537029403200420223a00b003200441b3036a200541b4066a41026a2d00003a0000200420052f01b4063b00b103200420203602b403200441d0036a20054198066a41186a280200360200200441c8036a20054198066a41106a290300370200200441c0036a20054198066a41086a29030037020020042005290398063702b803200420233a00d403200441d7036a200541d4066a41026a2d00003a0000200420052f01d4063b00d503200420253602d803200441f4036a200541b8066a41186a280200360200200441ec036a200541b8066a41106a290300370200200441e4036a200541b8066a41086a290300370200200420052903b8063702dc03200420263a00f803200441fb036a200541f8066a41026a2d00003a0000200420052f01f8063b00f903200420243602fc0320044198046a200541d8066a41186a28020036020020044190046a200541d8066a41106a29030037020020044188046a200541d8066a41086a290300370200200420052903d80637028004200420273a009c042004419f046a20282d00003a0000200420052f01a4073b009d042004202c3602a004200441bc046a202b280200360200200441b4046a202a290300370200200441ac046a202929030037020020042005290388073702a404200e4102470d034107210b0c070b20052902e0012112200520043602d00d200520083602cc0d200520023602c80d2005200a3702c00d200520093602bc0d200520033602b80d200541b80d6a411c6a200541e8016a41a40110f4978080001a20052001360280074102210220052005410c6a360284072005200541b80d6a3602fc0620034102460d04200541900f6a41086a200541b80d6a41086a280200360200200520052902b80d3703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22034102460d07200541c6076a20052d00e30b3a0000200541a8076a41086a200541e00b6a41106a290200370300200541a8076a41106a200541e00b6a41186a290200370300200541a8076a41186a200541800c6a280200360200200520052f00e10b3b01c407200520052902e80b3703a80720052802e40b211120052802c40d2106200321020c050b2005200a370290032005200936028c03200541003602e00d200541b80d6a2002200220086a10d797808000200541106a41086a2203200541b80d6a41106a290200370300200541106a41106a2202200541b80d6a41186a290200370300200541106a41186a2206200541d80d6a290200370300200520052902c00d37031020052802bc0d210920052802b80d210720052802e00d2111200541e00b6a41186a200141186a290000370300200541e00b6a41106a200141106a290000370300200541e00b6a41086a200141086a290000370300200520012900003703e00b200541b80d6a200541e00b6a2005418c036a200528020c10ee8980800020052d00b80d22144102460d0b200541c00b6a41026a20052d00bb0d3a0000200541a80b6a41086a200541cc0d6a290200370300200541a80b6a41106a200541d40d6a290200370300200541880b6a41086a2003290300370300200541880b6a41106a2002290300370300200541880b6a41186a2006290300370300200520052f00b90d3b01c00b200520052902c40d3703a80b200520052903103703880b20052802bc0d211320052802c00d21064106210b20042115200921040c050b410441c00410ab80808000000b2005200d3702cc0b2005200e3602c80b200541e00b6a200541c80b6a10cc89808000200541c20b6a20052d00e30b3a0000200541b00b6a200541f40b6a290200370300200541b80b6a200541fc0b6a290200370300200520052f00e10b3b01c00b200520052902ec0b3703a80b20052d00e00b211420052802e40b211320052802e80b210620052802840c211520052802880c21074107210b0c030b20052802e40b2101200041083a0000200020013602040c090b0b4102210941022103024020064102460d00200541900f6a41086a200541cc0d6a280200360200200520052902c40d3703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22034102460d02200541e4076a41026a20052d00e30b3a0000200541c8076a41086a200541e00b6a41106a290200370300200541c8076a41106a200541e00b6a41186a290200370300200541c8076a41186a200541800c6a280200360200200520052f00e10b3b01e407200520052902e80b3703c80720052802e40b21100b024020052802d00d4102460d00200541900f6a41086a200541b80d6a41186a220441086a280200360200200520042902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22094102460d0220054184086a41026a20052d00e30b3a0000200541e8076a41086a200541e00b6a41106a290200370300200541e8076a41106a200541e00b6a41186a290200370300200541e8076a41186a200541800c6a280200360200200520052f00e10b3b018408200520052902e80b3703e80720052802e40b21060b41022113024020052802dc0d4102460d00200541900f6a41086a200541dc0d6a220441086a280200360200200520042902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22134102460d02200541a4086a41026a20052d00e30b3a000020054188086a41086a200541e00b6a41106a29020037030020054188086a41106a200541e00b6a41186a29020037030020054188086a41186a200541800c6a280200360200200520052f00e10b3b01a408200520052902e80b3703880820052802e40b21140b200541e00b6a200541fc066a410410f08980800020052d00e00b22014103460d01200541c4086a41026a20052d00e30b3a0000200541a8086a41086a200541e00b6a41106a2204290200370300200541a8086a41106a200541e00b6a41186a2207290200370300200541a8086a41186a200541800c6a2208280200360200200520052f00e10b3b01c408200520052902e80b3703a80820052802e40b2115200541e00b6a200541fc066a410510f08980800020052d00e00b22164103460d01200541e4086a41026a20052d00e30b3a0000200541c8086a41086a2004290200370300200541c8086a41106a2007290200370300200541c8086a41186a2008280200360200200520052f00e10b3b01e408200520052902e80b3703c80820052802e40b2108200541e00b6a200541fc066a410610f08980800020052d00e00b22174103460d0120054184096a41026a20052d00e30b3a0000200541e8086a41086a200541e00b6a41106a2204290200370300200541e8086a41106a200541e00b6a41186a2207290200370300200541e8086a41186a200541800c6a220b280200360200200520052f00e10b3b018409200520052902e80b3703e80820052802e40b2118200541e00b6a200541fc066a410710f08980800020052d00e00b22194103460d01200541a4096a41026a20052d00e30b3a000020054188096a41086a200429020037030020054188096a41106a200729020037030020054188096a41186a200b280200360200200520052f00e10b3b01a409200520052902e80b3703880920052802e40b211a200541e00b6a200541fc066a410810f08980800020052d00e00b221b4103460d01200541c4096a41026a20052d00e30b3a0000200541a8096a41086a200541e00b6a41106a2204290200370300200541a8096a41106a200541e00b6a41186a2207290200370300200541a8096a41186a200541800c6a220b280200360200200520052f00e10b3b01c409200520052902e80b3703a80920052802e40b211c200541e00b6a200541fc066a410910f08980800020052d00e00b221d4103460d01200541e4096a41026a20052d00e30b3a0000200541c8096a41086a2004290200370300200541c8096a41106a2007290200370300200541c8096a41186a200b280200360200200520052f00e10b3b01e409200520052902e80b3703c80920052802e40b211e200541e00b6a200541fc066a410a10f08980800020052d00e00b221f4103460d01200541840a6a41026a20052d00e30b3a0000200541e8096a41086a200541e00b6a41106a2204290200370300200541e8096a41106a200541e00b6a41186a2207290200370300200541e8096a41186a200541800c6a220b280200360200200520052f00e10b3b01840a200520052902e80b3703e80920052802e40b2120200541e00b6a200541fc066a410b10f08980800020052d00e00b22214103460d01200541a40a6a41026a20052d00e30b3a0000200541880a6a41086a2004290200370300200541880a6a41106a2007290200370300200541880a6a41186a200b280200360200200520052f00e10b3b01a40a200520052902e80b3703880a20052802e40b2122200541e00b6a200541fc066a410c10f08980800020052d00e00b22234103460d01200541c40a6a41026a20052d00e30b3a0000200541a80a6a41086a200541e00b6a41106a2204290200370300200541a80a6a41106a200541e00b6a41186a2207290200370300200541a80a6a41186a200541800c6a220b280200360200200520052f00e10b3b01c40a200520052902e80b3703a80a20052802e40b2124200541e00b6a200541fc066a410d10f08980800020052d00e00b22254103460d01200541e40a6a41026a20052d00e30b3a0000200541c80a6a41086a2004290200370300200541c80a6a41106a2007290200370300200541c80a6a41186a200b280200360200200520052f00e10b3b01e40a200520052902e80b3703c80a20052802e40b2126200541e00b6a200541fc066a410e10f08980800020052d00e00b22274103460d01200541840b6a41026a20052d00e30b3a0000200541e80a6a41086a200541e00b6a41106a2204290200370300200541e80a6a41106a200541e00b6a41186a2207290200370300200541e80a6a41186a200541800c6a220b280200360200200520052f00e10b3b01840b200520052902e80b3703e80a20052802e40b2128200541e00b6a200541fc066a410f10f08980800020052d00e00b22294103460d01200541a4076a41026a20052d00e30b3a000020054188076a41086a200429020037030020054188076a41106a200729020037030020054188076a41186a200b280200360200200520052f00e10b3b01a407200520052902e80b3703880720052802e40b212a41002d008083d480001a0240024041c00441002802f482d48000118280808000002207450d002012422088a721044103210b2007200741036a417c7120076b222b6a220720023a0000200720052f01c4073b000120072011360204200720052903a807370208200720033a0024200720052f01e4073b00252007417e6a202b3b0000200741036a200541c4076a41026a2d00003a0000200741106a200541a8076a41086a290300370200200741186a200541a8076a41106a290300370200200741206a200541a8076a41186a280200360200200741276a200541e4076a41026a2d00003a000020072010360228200720093a00482007200636024c200720052903c80737022c200741346a200541c8076a41086a2903003702002007413c6a200541c8076a41106a290300370200200741c4006a200541c8076a41186a280200360200200720052f0184083b0049200741cb006a20054184086a41026a2d00003a0000200720052903e807370250200741d8006a200541e8076a41086a290300370200200741e0006a200541e8076a41106a290300370200200741e8006a200541e8076a41186a280200360200200720133a006c20072014360270200720013a009001200720052f01a4083b006d200741ef006a200541a4086a41026a2d00003a00002007418c016a20054188086a41186a28020036020020074184016a20054188086a41106a290300370200200741fc006a20054188086a41086a2903003702002007200529038808370274200720052f01c4083b00910120074193016a200541c4086a41026a2d00003a00002007201536029401200741b0016a200541a8086a41186a280200360200200741a8016a200541a8086a41106a290300370200200741a0016a200541a8086a41086a290300370200200720052903a80837029801200720163a00b401200741b7016a200541e4086a41026a2d00003a0000200720052f01e4083b00b501200720083602b801200741d4016a200541c8086a41186a280200360200200741cc016a200541c8086a41106a290300370200200741c4016a200541c8086a41086a290300370200200720052903c8083702bc01200720173a00d801200741db016a20054184096a41026a2d00003a0000200720052f0184093b00d901200720183602dc01200741f8016a200541e8086a41186a280200360200200741f0016a200541e8086a41106a290300370200200741e8016a200541e8086a41086a290300370200200720052903e8083702e001200720193a00fc01200741ff016a200541a4096a41026a2d00003a0000200720052f01a4093b00fd012007201a360280022007419c026a20054188096a41186a28020036020020074194026a20054188096a41106a2903003702002007418c026a20054188096a41086a2903003702002007200529038809370284022007201b3a00a002200741a3026a200541c4096a41026a2d00003a0000200720052f01c4093b00a1022007201c3602a402200741c0026a200541a8096a41186a280200360200200741b8026a200541a8096a41106a290300370200200741b0026a200541a8096a41086a290300370200200720052903a8093702a8022007201d3a00c402200741c7026a200541e4096a41026a2d00003a0000200720052f01e4093b00c5022007201e3602c802200741e4026a200541c8096a41186a280200360200200741dc026a200541c8096a41106a290300370200200741d4026a200541c8096a41086a290300370200200720052903c8093702cc022007201f3a00e802200741eb026a200541840a6a41026a2d00003a0000200720052f01840a3b00e902200720203602ec0220074188036a200541e8096a41186a28020036020020074180036a200541e8096a41106a290300370200200741f8026a200541e8096a41086a290300370200200720052903e8093702f002200720213a008c032007418f036a200541a40a6a41026a2d00003a0000200720052f01a40a3b008d032007202236029003200741ac036a200541880a6a41186a280200360200200741a4036a200541880a6a41106a2903003702002007419c036a200541880a6a41086a290300370200200720052903880a37029403200720233a00b003200741b3036a200541c40a6a41026a2d00003a0000200720052f01c40a3b00b103200720243602b403200741d0036a200541a80a6a41186a280200360200200741c8036a200541a80a6a41106a290300370200200741c0036a200541a80a6a41086a290300370200200720052903a80a3702b803200720253a00d403200741d7036a200541e40a6a41026a2d00003a0000200720052f01e40a3b00d503200720263602d803200741f4036a200541c80a6a41186a280200360200200741ec036a200541c80a6a41106a290300370200200741e4036a200541c80a6a41086a290300370200200720052903c80a3702dc03200720273a00f803200741fb036a200541840b6a41026a2d00003a0000200720052f01840b3b00f903200720283602fc0320074198046a200541e80a6a41186a28020036020020074190046a200541e80a6a41106a29030037020020074188046a200541e80a6a41086a290300370200200720052903e80a37028004200720293a009c042007419f046a200541a4076a41026a2d00003a0000200720052f01a4073b009d042007202a3602a004200741bc046a20054188076a41186a280200360200200741b4046a20054188076a41106a290300370200200741ac046a20054188076a41086a29030037020020072005290388073702a404200541003602880c200541e00b6a200d422088a7220120012012a76a10d797808000200541880b6a41186a200541e00b6a41186a2201290200370300200541880b6a41106a200541e00b6a41106a290200370300200541880b6a41086a200541e00b6a41086a290200370300200520052902e00b3703880b20052802800c211120052902840c2112200f4102470d010c020b410441c00410ab80808000000b2005200da73602dc0b2005200e3602d80b2005200f3602d40b200541e00b6a200541d40b6a10cc89808000200541c40b6a41026a20052d00e30b3a0000200541c00b6a41026a200541e70b6a2d00003a0000200541a80b6a41086a2001290200370300200541a80b6a41106a200541e00b6a41206a290200370300200520052f00e10b3b01c40b200520052f00e50b3b01c00b200520052902f00b3703a80b20052d00e00b210b20052d00e40b211420052802e80b211320052802ec0b210620052802880c21150b2000200b3a0000200020052f01c40b3b0001200020143a0004200020052f01c00b3b00052000200636020c20002013360208200020052903a80b370210200041036a200541c40b6a41026a2d00003a0000200041076a200541c00b6a41026a2d00003a0000200041186a200541a80b6a41086a290300370200200041206a200541a80b6a41106a290300370200200020043602302000200736022c200020153602282000201237025820002011360254200020052903880b3702342000413c6a200541880b6a41086a290300370200200041c4006a200541880b6a41106a290300370200200041cc006a200541880b6a41186a2903003702000c060b20052802e40b2101200041083a0000200020013602040c050b412020064198a0c68000108681808000000b41f8e9cd8000412b200541b80d6a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200541b80d6a418c80c0800041b482c0800010a981808000000b4104200210ab80808000000b20052802bc0d2101200041083a00002000200136020420114129490d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200541a00f6a2480808080000bc60801057f23808080800041e0016b22042480808080002002280208210520022802042106024002400240024020022802004101470d0020044180016a41186a200141186a29000037030020044180016a41106a200141106a29000037030020044180016a41086a200141086a2900003703002004200129000037038001200441206a20044180016a20062005200310ed8980800020042d002022054108470d0120042802242102200041023a0000200020023602040c030b024020054120470d002004411c6a41026a200641026a2d00003a0000200441086a2006410f6a290000370300200441106a200641176a290000370300200441186a2006411f6a2d00003a0000200420062f00003b011c2004200629000737030020062800032102410121060c020b4100210202400240024020054100480d00024020050d00410121020c030b41002d008083d480001a200541002802f482d480001182808080000022020d01410121020b200220054194adc6800010b980808000000b2002417e6a41003b00000b20022006200510f497808000210641002d008083d480001a0240413041002802f482d48000118280808000002202450d00200041023a00002002200241036a417c7120026b22036a2202200536020c2002200636020820022005360204200241888080807836020020022001290000370010200020023602042002417e6a20033b0000200241186a200141086a290000370000200241206a200141106a290000370000200241286a200141186a2900003700000c030b4104413010ab80808000000b200441dc016a41026a20042d00233a0000200420042f00213b01dc012004280224210720044180016a200441206a41086a41d80010f4978080001a024020032802182202450d0020032002417f6a3602184100210620032003280214220241016a22014100200328020c220820012008491b6b3602140240200328021020024102746a2802002202200328020822014f0d00200328020420024107746a220120012d00004108464102746a10d889808000200120053a0004200141083a000020012007360208200120042f01dc013b0005200141076a200441dc016a41026a2d00003a00002001410c6a20044180016a41d80010f4978080001a0c020b2002200141e4abc68000108281808000000b0240200328020822022003280200470d00200341f4abc680001092868080000b200328020420024107746a220120053a0004200141083a0000200120042f01dc013b000520012007360208200141076a200441de016a2d00003a00002001410c6a20044180016a41d80010f4978080001a2003200241016a360208410021060b200020063a0000200020042f011c3b00012000200236020420002004290300370208200041036a2004411e6a2d00003a0000200041106a200441086a290300370200200041186a200441106a290300370200200041206a200441186a2802003602000b200441e0016a2480808080000bd50201017f23808080800041d0006b2203248080808000024002402002410f4b0d000240024020012802002002410c6c6a22022802004102460d00200341086a200241086a28020036020020032002290200370300200341306a41086a2001280204220241086a290000370300200341306a41106a200241106a290000370300200341306a41186a200241186a290000370300200320022900003703302003410c6a200341306a2003200128020828020010ee8980800020032d000c4102470d0120002003280210360204200041033a00000c030b200041023a00000c020b2000200329020c370200200041206a2003410c6a41206a280200360200200041186a2003410c6a41186a290200370200200041106a2003410c6a41106a290200370200200041086a2003410c6a41086a2902003702000c010b2002411041b8a4c68000108281808000000b200341d0006a2480808080000bd50201017f23808080800041d0006b2203248080808000024002402002410f4b0d000240024020012802002002410c6c6a22022802004102460d00200341086a200241086a28020036020020032002290200370300200341306a41086a2001280204220241086a290000370300200341306a41106a200241106a290000370300200341306a41186a200241186a290000370300200320022900003703302003410c6a200341306a2003200128020828020010ee8980800020032d000c4102470d0120002003280210360204200041033a00000c030b200041023a00000c020b2000200329020c370200200041206a2003410c6a41206a280200360200200041186a2003410c6a41186a290200370200200041106a2003410c6a41106a290200370200200041086a2003410c6a41086a2902003702000c010b2002411041c8a4c68000108281808000000b200341d0006a2480808080000bd69c0101247f23808080800041c00c6b220324808080800002400240024002400240024002400240024002400240024002400240024002400240024020012802002204417e6a2205410420054106491b0e06050001020304050b200341d80b6a200141046a10e29780800002400240200128023422020d00200341fa016a2001413a6a2d00003a0000200341800b6a200141cb006a290000370300200341850b6a200141d0006a290000370000200320012f00383b01f801200320012900433703f80a200128003f2104200128003b2102410121050c010b20022002280200220441016a3602004100210520044100480d10200128023821040b200020032902d80b370230200020053a0004200020032f01f8013b0005200041d8006a200341d80b6a41286a290200370200200041d0006a200341d80b6a41206a290200370200200041c8006a200341d80b6a41186a290200370200200041c0006a200341d80b6a41106a290200370200200041386a200341d80b6a41086a290200370200200041076a200341fa016a2d00003a00002000200436020c20002002360208200041053a0000200020032903f80a370210200041186a200341f80a6a41086a290300370200200041206a200341f80a6a41106a290300370200200041286a200341f80a6a41186a2903003702000c100b200341f8016a200141286a10e297808000410121050240024020012d00044101470d00200341f80a6a2001280208200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a024020022802182201450d0020022001417f6a3602184100210520022002280214220141016a22044100200228020c220620042006491b6b3602140240200228021020014102746a2802002201200228020822044f0d00200228020420014107746a220220022d00004108464102746a10d889808000200241083a0000200241016a200341d80b6a41e30010f4978080001a0c030b2001200441e4abc68000108281808000000b0240200228020822012002280200470d00200241f4abc680001092868080000b200228020420014107746a220541083a0000200541016a200341d80b6a41e30010f4978080001a2002200141016a360208410021050c010b200341fa0a6a200141076a2d00003a0000200341e00b6a200141146a290200370300200341e80b6a2001411c6a290200370300200341f00b6a200141246a2d00003a0000200320012f00053b01f80a2003200129020c3703d80b200128020821010b200020032902f801370228200020053a0004200020032f01f80a3b000520002001360208200041d0006a200341a0026a290200370200200041c8006a20034198026a290200370200200041c0006a200341f8016a41186a290200370200200041386a200341f8016a41106a290200370200200041306a200341f8016a41086a290200370200200041076a200341fa0a6a2d00003a0000200041063a0000200041246a200341d80b6a41186a2802003602002000411c6a200341d80b6a41106a290300370200200041146a200341d80b6a41086a290300370200200020032903d80b37020c0c0f0b024002400240200128023822070d004102210441022108410221094102210a4102210b4102210c4102210d4102210e0c010b410221044102210e0240200128023422052d0000220f4102460d004101210e0240200f410171450d00200341f80a6a2005280204200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a024020022802182206450d0020022006417f6a3602184100210e20022002280214220641016a220f4100200228020c2210200f2010491b6b3602140240200228021020064102746a28020022062002280208220f4f0d00200228020420064107746a220f200f2d00004108464102746a10d889808000200f41083a0000200f41016a200341d80b6a41e30010f4978080001a0c030b2006200f41e4abc68000108281808000000b0240200228020822062002280200470d00200241f4abc680001092868080000b200228020420064107746a220e41083a0000200e41016a200341d80b6a41e30010f4978080001a2002200641016a3602084100210e0c010b20034196036a200541036a2d00003a000020034180036a200541106a290000370300200341f8026a41106a200541186a290000370300200341f8026a41186a200541206a2d00003a0000200320052f00013b019403200320052900083703f802200528000421060b20074101470d0141022108410221094102210a4102210b4102210c4102210d0b410221100c090b4102210441022110024020052d002422114102460d004101211002402011410171450d00200341f80a6a2005280228200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341f8006a2002410c6a10958f8080002002280208210f02402003280278410171450d000240200328027c2211200f4f0d00200228020420114107746a220f200f2d00004108464102746a10d889808000200f41083a0000200f41016a200341d80b6a41e30010f4978080001a410021102011210f0c030b2011200f41e4abc68000108281808000000b0240200f2002280200470d00200241f4abc680001092868080000b2002280204200f4107746a221041083a0000201041016a200341d80b6a41e30010f4978080001a2002200f41016a360208410021100c010b200341b6036a200541276a2d00003a0000200341a0036a200541346a290000370300200341a8036a2005413c6a290000370300200341b0036a200541c4006a2d00003a0000200320052f00253b01b4032003200529002c370398032005280028210f0b0240200741034f0d0041022108410221094102210a4102210b4102210c4102210d0c090b410221044102210d024020052d004822124102460d004101210d02402012410171450d00200341f80a6a200528024c200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341f0006a2002410c6a10958f8080002002280208211102402003280270410171450d0002402003280274221220114f0d00200228020420124107746a221120112d00004108464102746a10d889808000201141083a0000201141016a200341d80b6a41e30010f4978080001a4100210d201221110c030b2012201141e4abc68000108281808000000b024020112002280200470d00200241f4abc680001092868080000b200228020420114107746a220d41083a0000200d41016a200341d80b6a41e30010f4978080001a2002201141016a3602084100210d0c010b200341d6036a200541cb006a2d00003a0000200341c0036a200541d8006a290000370300200341c8036a200541e0006a290000370300200341d0036a200541e8006a2d00003a0000200320052f00493b01d403200320052900503703b803200528004c21110b024020074103470d0041022108410221094102210a4102210b4102210c0c090b4102210441022113024020052d006c22144102460d004101211302402014410171450d00200341f80a6a2005280270200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341e8006a2002410c6a10958f8080002002280208211202402003280268410171450d000240200328026c221420124f0d00200228020420144107746a221220122d00004108464102746a10d889808000201241083a0000201241016a200341d80b6a41e30010f4978080001a41002113201421120c030b2014201241e4abc68000108281808000000b024020122002280200470d00200241f4abc680001092868080000b200228020420124107746a221341083a0000201341016a200341d80b6a41e30010f4978080001a2002201241016a360208410021130c010b200341f6036a200541ef006a2d00003a0000200341e0036a200541fc006a290000370300200341e8036a20054184016a290000370300200341f0036a2005418c016a2d00003a0000200320052f006d3b01f403200320052900743703d803200528007021120b0240200741054f0d0041022108410221094102210a4102210b4102210c0c0a0b410221044102210c024020052d00900122154102460d004101210c02402015410171450d00200341f80a6a200528029401200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341e0006a2002410c6a10958f8080002002280208211402402003280260410171450d0002402003280264221520144f0d00200228020420154107746a221420142d00004108464102746a10d889808000201441083a0000201441016a200341d80b6a41e30010f4978080001a4100210c201521140c030b2015201441e4abc68000108281808000000b024020142002280200470d00200241f4abc680001092868080000b200228020420144107746a220c41083a0000200c41016a200341d80b6a41e30010f4978080001a2002201441016a3602084100210c0c010b20034196046a20054193016a2d00003a000020034180046a200541a0016a29000037030020034188046a200541a8016a29000037030020034190046a200541b0016a2d00003a0000200320052f0091013b01940420032005290098013703f80320052800940121140b024020074105470d0041022108410221094102210a4102210b0c0a0b4102210441022116024020052d00b40122174102460d004101211602402017410171450d00200341f80a6a20052802b801200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341d8006a2002410c6a10958f8080002002280208211502402003280258410171450d000240200328025c221720154f0d00200228020420174107746a221520152d00004108464102746a10d889808000201541083a0000201541016a200341d80b6a41e30010f4978080001a41002116201721150c030b2017201541e4abc68000108281808000000b024020152002280200470d00200241f4abc680001092868080000b200228020420154107746a221641083a0000201641016a200341d80b6a41e30010f4978080001a2002201541016a360208410021160c010b200341b6046a200541b7016a2d00003a0000200341a0046a200541c4016a290000370300200341a8046a200541cc016a290000370300200341b0046a200541d4016a2d00003a0000200320052f00b5013b01b404200320052900bc013703980420052800b80121150b0240200741074f0d0041022108410221094102210a4102210b0c0b0b410221044102210b024020052d00d80122184102460d004101210b02402018410171450d00200341f80a6a20052802dc01200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341d0006a2002410c6a10958f8080002002280208211702402003280250410171450d0002402003280254221820174f0d00200228020420184107746a221720172d00004108464102746a10d889808000201741083a0000201741016a200341d80b6a41e30010f4978080001a4100210b201821170c030b2018201741e4abc68000108281808000000b024020172002280200470d00200241f4abc680001092868080000b200228020420174107746a220b41083a0000200b41016a200341d80b6a41e30010f4978080001a2002201741016a3602084100210b0c010b200341d6046a200541db016a2d00003a0000200341c0046a200541e8016a290000370300200341c8046a200541f0016a290000370300200341d0046a200541f8016a2d00003a0000200320052f00d9013b01d404200320052900e0013703b80420052800dc0121170b024020074107470d0041022108410221094102210a0c0b0b4102210441022119024020052d00fc01221a4102460d00410121190240201a410171450d00200341f80a6a200528028002200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341c8006a2002410c6a10958f8080002002280208211802402003280248410171450d000240200328024c221a20184f0d002002280204201a4107746a221820182d00004108464102746a10d889808000201841083a0000201841016a200341d80b6a41e30010f4978080001a41002119201a21180c030b201a201841e4abc68000108281808000000b024020182002280200470d00200241f4abc680001092868080000b200228020420184107746a221941083a0000201941016a200341d80b6a41e30010f4978080001a2002201841016a360208410021190c010b200341f6046a200541ff016a2d00003a0000200341e0046a2005418c026a290000370300200341e8046a20054194026a290000370300200341f0046a2005419c026a2d00003a0000200320052f00fd013b01f40420032005290084023703d80420052800800221180b0240200741094f0d0041022108410221094102210a0c0c0b410221044102210a024020052d00a002221b4102460d004101210a0240201b410171450d00200341f80a6a20052802a402200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341c0006a2002410c6a10958f8080002002280208211a02402003280240410171450d0002402003280244221b201a4f0d002002280204201b4107746a221a201a2d00004108464102746a10d889808000201a41083a0000201a41016a200341d80b6a41e30010f4978080001a4100210a201b211a0c030b201b201a41e4abc68000108281808000000b0240201a2002280200470d00200241f4abc680001092868080000b2002280204201a4107746a220a41083a0000200a41016a200341d80b6a41e30010f4978080001a2002201a41016a3602084100210a0c010b20034196056a200541a3026a2d00003a000020034180056a200541b0026a29000037030020034188056a200541b8026a29000037030020034190056a200541c0026a2d00003a0000200320052f00a1023b019405200320052900a8023703f80420052800a402211a0b024020074109470d0041022108410221090c0c0b410221044102211c024020052d00c402221d4102460d004101211c0240201d410171450d00200341f80a6a20052802c802200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341386a2002410c6a10958f8080002002280208211b02402003280238410171450d000240200328023c221d201b4f0d002002280204201d4107746a221b201b2d00004108464102746a10d889808000201b41083a0000201b41016a200341d80b6a41e30010f4978080001a4100211c201d211b0c030b201d201b41e4abc68000108281808000000b0240201b2002280200470d00200241f4abc680001092868080000b2002280204201b4107746a221c41083a0000201c41016a200341d80b6a41e30010f4978080001a2002201b41016a3602084100211c0c010b200341b6056a200541c7026a2d00003a0000200341a0056a200541d4026a290000370300200341a8056a200541dc026a290000370300200341b0056a200541e4026a2d00003a0000200320052f00c5023b01b405200320052900cc023703980520052800c802211b0b02402007410b4f0d0041022108410221094102211e4102211f410221200c0d0b4102210441022109024020052d00e80222214102460d004101210902402021410171450d00200341f80a6a20052802ec02200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341306a2002410c6a10958f8080002002280208211d02402003280230410171450d00024020032802342221201d4f0d00200228020420214107746a221d201d2d00004108464102746a10d889808000201d41083a0000201d41016a200341d80b6a41e30010f4978080001a410021092021211d0c030b2021201d41e4abc68000108281808000000b0240201d2002280200470d00200241f4abc680001092868080000b2002280204201d4107746a220941083a0000200941016a200341d80b6a41e30010f4978080001a2002201d41016a360208410021090c010b200341d6056a200541eb026a2d00003a0000200341c0056a200541f8026a290000370300200341c8056a20054180036a290000370300200341d0056a20054188036a2d00003a0000200320052f00e9023b01d405200320052900f0023703b80520052800ec02211d0b02402007410b470d00410221084102211e4102211f410221200c0d0b410221044102211e024020052d008c0322224102460d004101211e02402022410171450d00200341f80a6a200528029003200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341286a2002410c6a10958f8080002002280208212102402003280228410171450d000240200328022c222220214f0d00200228020420224107746a222120212d00004108464102746a10d889808000202141083a0000202141016a200341d80b6a41e30010f4978080001a4100211e202221210c030b2022202141e4abc68000108281808000000b024020212002280200470d00200241f4abc680001092868080000b200228020420214107746a221e41083a0000201e41016a200341d80b6a41e30010f4978080001a2002202141016a3602084100211e0c010b200341f6056a2005418f036a2d00003a0000200341e0056a2005419c036a290000370300200341e8056a200541a4036a290000370300200341f0056a200541ac036a2d00003a0000200320052f008d033b01f40520032005290094033703d80520052800900321210b02402007410d4f0d00410221084102211f410221200c0d0b4102210441022108024020052d00b00322234102460d004101210802402023410171450d00200341f80a6a20052802b403200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341206a2002410c6a10958f8080002002280208212202402003280220410171450d0002402003280224222320224f0d00200228020420234107746a222220222d00004108464102746a10d889808000202241083a0000202241016a200341d80b6a41e30010f4978080001a41002108202321220c030b2023202241e4abc68000108281808000000b024020222002280200470d00200241f4abc680001092868080000b200228020420224107746a220841083a0000200841016a200341d80b6a41e30010f4978080001a2002202241016a360208410021080c010b20034196066a200541b3036a2d00003a000020034180066a200541c0036a29000037030020034188066a200541c8036a29000037030020034190066a200541d0036a2d00003a0000200320052f00b1033b019406200320052900b8033703f80520052800b40321220b02402007410d470d004102211f410221200c0d0b410221044102211f024020052d00d40322244102460d004101211f02402024410171450d00200341f80a6a20052802d803200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341186a2002410c6a10958f8080002002280208212302402003280218410171450d000240200328021c222420234f0d00200228020420244107746a222320232d00004108464102746a10d889808000202341083a0000202341016a200341d80b6a41e30010f4978080001a4100211f202421230c030b2024202341e4abc68000108281808000000b024020232002280200470d00200241f4abc680001092868080000b200228020420234107746a221f41083a0000201f41016a200341d80b6a41e30010f4978080001a2002202341016a3602084100211f0c010b200341b6066a200541d7036a2d00003a0000200341a0066a200541e4036a290000370300200341a8066a200541ec036a290000370300200341b0066a200541f4036a2d00003a0000200320052f00d5033b01b406200320052900dc033703980620052800d80321230b02402007410f4f0d00410221200c0d0b4102212041022104024020052d00f80322254102460d004101210402402025410171450d00200341f80a6a20052802fc03200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341106a2002410c6a10958f8080002002280208212402402003280210410171450d0002402003280214222520244f0d00200228020420254107746a220420042d00004108464102746a10d889808000200441083a0000200441016a200341d80b6a41e30010f4978080001a41002104202521240c030b2025202441e4abc68000108281808000000b024020242002280200470d00200241f4abc680001092868080000b200228020420244107746a220441083a0000200441016a200341d80b6a41e30010f4978080001a2002202441016a360208410021040c010b200341d6066a200541fb036a2d00003a0000200341c0066a20054188046a290000370300200341c8066a20054190046a290000370300200341d0066a20054198046a2d00003a0000200320052f00f9033b01d40620032005290080043703b80620052800fc0321240b02402007410f470d000c0d0b41022120024020052d009c0422074102470d000c0d0b4101212002402007410171450d00200341f80a6a20052802a004200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341086a2002410c6a10958f8080002002280208210502402003280208410171450d000240200328020c220720054f0d00200228020420074107746a220220022d00004108464102746a10d889808000200241083a0000200241016a200341d80b6a41e30010f4978080001a41002120200721050c0f0b2007200541e4abc68000108281808000000b024020052002280200470d00200241f4abc680001092868080000b200228020420054107746a220741083a0000200741016a200341d80b6a41e30010f4978080001a2002200541016a360208410021200c0d0b200341f6066a2005419f046a2d00003a0000200341e0066a200541ac046a290000370300200341e8066a200541b4046a290000370300200341f0066a200541bc046a2d00003a0000200320052f009d043b01f406200320052900a4043703d80620052800a00421050c0c0b0240024002402001280234220e0d004102210641022123410221214102211b4102211841022115410221124102210f0c010b410221064102210f0240200128023022052d000022104102460d004101210f02402010410171450d00200341f80a6a2005280204200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a024020022802182207450d0020022007417f6a3602184100210f20022002280214220741016a22104100200228020c221120102011491b6b3602140240200228021020074102746a2802002207200228020822104f0d00200228020420074107746a221020102d00004108464102746a10d889808000201041083a0000201041016a200341d80b6a41e30010f4978080001a0c030b2007201041e4abc68000108281808000000b0240200228020822072002280200470d00200241f4abc680001092868080000b200228020420074107746a220f41083a0000200f41016a200341d80b6a41e30010f4978080001a2002200741016a3602084100210f0c010b20034196076a200541036a2d00003a000020034180076a200541106a290000370300200341f8066a41106a200541186a290000370300200341f8066a41186a200541206a2d00003a0000200320052f00013b019407200320052900083703f806200528000421070b200e4101470d0141022123410221214102211b4102211841022115410221120b410221110c030b4102210641022111024020052d0024220d4102460d00410121110240200d410171450d00200341f80a6a2005280228200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341f0016a2002410c6a10958f80800020022802082110024020032802f001410171450d00024020032802f401220d20104f0d002002280204200d4107746a221020102d00004108464102746a10d889808000201041083a0000201041016a200341d80b6a41e30010f4978080001a41002111200d21100c030b200d201041e4abc68000108281808000000b024020102002280200470d00200241f4abc680001092868080000b200228020420104107746a221141083a0000201141016a200341d80b6a41e30010f4978080001a2002201041016a360208410021110c010b200341b6076a200541276a2d00003a0000200341a0076a200541346a290000370300200341a8076a2005413c6a290000370300200341b0076a200541c4006a2d00003a0000200320052f00253b01b4072003200529002c37039807200528002821100b0240200e41034f0d0041022123410221214102211b4102211841022115410221120c030b4102210641022112024020052d004822134102460d004101211202402013410171450d00200341f80a6a200528024c200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341e8016a2002410c6a10958f8080002002280208210d024020032802e801410171450d00024020032802ec012213200d4f0d00200228020420134107746a220d200d2d00004108464102746a10d889808000200d41083a0000200d41016a200341d80b6a41e30010f4978080001a410021122013210d0c030b2013200d41e4abc68000108281808000000b0240200d2002280200470d00200241f4abc680001092868080000b2002280204200d4107746a221241083a0000201241016a200341d80b6a41e30010f4978080001a2002200d41016a360208410021120c010b200341d6076a200541cb006a2d00003a0000200341c0076a200541d8006a290000370300200341c8076a200541e0006a290000370300200341d0076a200541e8006a2d00003a0000200320052f00493b01d407200320052900503703b807200528004c210d0b0240200e4103470d0041022123410221214102211b41022118410221150c030b4102210641022114024020052d006c220c4102460d00410121140240200c410171450d00200341f80a6a2005280270200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341e0016a2002410c6a10958f80800020022802082113024020032802e001410171450d00024020032802e401220c20134f0d002002280204200c4107746a221320132d00004108464102746a10d889808000201341083a0000201341016a200341d80b6a41e30010f4978080001a41002114200c21130c030b200c201341e4abc68000108281808000000b024020132002280200470d00200241f4abc680001092868080000b200228020420134107746a221441083a0000201441016a200341d80b6a41e30010f4978080001a2002201341016a360208410021140c010b200341f6076a200541ef006a2d00003a0000200341e0076a200541fc006a290000370300200341e8076a20054184016a290000370300200341f0076a2005418c016a2d00003a0000200320052f006d3b01f407200320052900743703d807200528007021130b0240200e41054f0d0041022123410221214102211b41022118410221150c040b4102210641022115024020052d00900122164102460d004101211502402016410171450d00200341f80a6a200528029401200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341d8016a2002410c6a10958f8080002002280208210c024020032802d801410171450d00024020032802dc012216200c4f0d00200228020420164107746a220c200c2d00004108464102746a10d889808000200c41083a0000200c41016a200341d80b6a41e30010f4978080001a410021152016210c0c030b2016200c41e4abc68000108281808000000b0240200c2002280200470d00200241f4abc680001092868080000b2002280204200c4107746a221541083a0000201541016a200341d80b6a41e30010f4978080001a2002200c41016a360208410021150c010b20034196086a20054193016a2d00003a000020034180086a200541a0016a29000037030020034188086a200541a8016a29000037030020034190086a200541b0016a2d00003a0000200320052f0091013b01940820032005290098013703f807200528009401210c0b0240200e4105470d0041022123410221214102211b410221180c040b4102210641022117024020052d00b401220b4102460d00410121170240200b410171450d00200341f80a6a20052802b801200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341d0016a2002410c6a10958f80800020022802082116024020032802d001410171450d00024020032802d401220b20164f0d002002280204200b4107746a221620162d00004108464102746a10d889808000201641083a0000201641016a200341d80b6a41e30010f4978080001a41002117200b21160c030b200b201641e4abc68000108281808000000b024020162002280200470d00200241f4abc680001092868080000b200228020420164107746a221741083a0000201741016a200341d80b6a41e30010f4978080001a2002201641016a360208410021170c010b200341b6086a200541b7016a2d00003a0000200341a0086a200541c4016a290000370300200341a8086a200541cc016a290000370300200341b0086a200541d4016a2d00003a0000200320052f00b5013b01b408200320052900bc013703980820052800b80121160b0240200e41074f0d0041022123410221214102211b410221180c050b4102210641022118024020052d00d80122194102460d004101211802402019410171450d00200341f80a6a20052802dc01200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341c8016a2002410c6a10958f8080002002280208210b024020032802c801410171450d00024020032802cc012219200b4f0d00200228020420194107746a220b200b2d00004108464102746a10d889808000200b41083a0000200b41016a200341d80b6a41e30010f4978080001a410021182019210b0c030b2019200b41e4abc68000108281808000000b0240200b2002280200470d00200241f4abc680001092868080000b2002280204200b4107746a221841083a0000201841016a200341d80b6a41e30010f4978080001a2002200b41016a360208410021180c010b200341d6086a200541db016a2d00003a0000200341c0086a200541e8016a290000370300200341c8086a200541f0016a290000370300200341d0086a200541f8016a2d00003a0000200320052f00d9013b01d408200320052900e0013703b80820052800dc01210b0b0240200e4107470d0041022123410221214102211b0c050b410221064102211a024020052d00fc01220a4102460d004101211a0240200a410171450d00200341f80a6a200528028002200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341c0016a2002410c6a10958f80800020022802082119024020032802c001410171450d00024020032802c401220a20194f0d002002280204200a4107746a221920192d00004108464102746a10d889808000201941083a0000201941016a200341d80b6a41e30010f4978080001a4100211a200a21190c030b200a201941e4abc68000108281808000000b024020192002280200470d00200241f4abc680001092868080000b200228020420194107746a221a41083a0000201a41016a200341d80b6a41e30010f4978080001a2002201941016a3602084100211a0c010b200341f6086a200541ff016a2d00003a0000200341e0086a2005418c026a290000370300200341e8086a20054194026a290000370300200341f0086a2005419c026a2d00003a0000200320052f00fd013b01f40820032005290084023703d80820052800800221190b0240200e41094f0d0041022123410221214102211b0c060b410221064102211b024020052d00a002221c4102460d004101211b0240201c410171450d00200341f80a6a20052802a402200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341b8016a2002410c6a10958f8080002002280208210a024020032802b801410171450d00024020032802bc01221c200a4f0d002002280204201c4107746a220a200a2d00004108464102746a10d889808000200a41083a0000200a41016a200341d80b6a41e30010f4978080001a4100211b201c210a0c030b201c200a41e4abc68000108281808000000b0240200a2002280200470d00200241f4abc680001092868080000b2002280204200a4107746a221b41083a0000201b41016a200341d80b6a41e30010f4978080001a2002200a41016a3602084100211b0c010b20034196096a200541a3026a2d00003a000020034180096a200541b0026a29000037030020034188096a200541b8026a29000037030020034190096a200541c0026a2d00003a0000200320052f00a1023b019409200320052900a8023703f80820052800a402210a0b0240200e4109470d0041022123410221210c060b410221064102211d024020052d00c40222094102460d004101211d02402009410171450d00200341f80a6a20052802c802200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341b0016a2002410c6a10958f8080002002280208211c024020032802b001410171450d00024020032802b4012209201c4f0d00200228020420094107746a221c201c2d00004108464102746a10d889808000201c41083a0000201c41016a200341d80b6a41e30010f4978080001a4100211d2009211c0c030b2009201c41e4abc68000108281808000000b0240201c2002280200470d00200241f4abc680001092868080000b2002280204201c4107746a221d41083a0000201d41016a200341d80b6a41e30010f4978080001a2002201c41016a3602084100211d0c010b200341b6096a200541c7026a2d00003a0000200341a0096a200541d4026a290000370300200341a8096a200541dc026a290000370300200341b0096a200541e4026a2d00003a0000200320052f00c5023b01b409200320052900cc023703980920052800c802211c0b0240200e410b4f0d0041022123410221214102212241022124410221250c070b4102210641022121024020052d00e802221e4102460d00410121210240201e410171450d00200341f80a6a20052802ec02200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341a8016a2002410c6a10958f80800020022802082109024020032802a801410171450d00024020032802ac01221e20094f0d002002280204201e4107746a220920092d00004108464102746a10d889808000200941083a0000200941016a200341d80b6a41e30010f4978080001a41002121201e21090c030b201e200941e4abc68000108281808000000b024020092002280200470d00200241f4abc680001092868080000b200228020420094107746a222141083a0000202141016a200341d80b6a41e30010f4978080001a2002200941016a360208410021210c010b200341d6096a200541eb026a2d00003a0000200341c0096a200541f8026a290000370300200341c8096a20054180036a290000370300200341d0096a20054188036a2d00003a0000200320052f00e9023b01d409200320052900f0023703b80920052800ec0221090b0240200e410b470d00410221234102212241022124410221250c070b4102210641022122024020052d008c0322084102460d004101212202402008410171450d00200341f80a6a200528029003200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341a0016a2002410c6a10958f8080002002280208211e024020032802a001410171450d00024020032802a4012208201e4f0d00200228020420084107746a221e201e2d00004108464102746a10d889808000201e41083a0000201e41016a200341d80b6a41e30010f4978080001a410021222008211e0c030b2008201e41e4abc68000108281808000000b0240201e2002280200470d00200241f4abc680001092868080000b2002280204201e4107746a222241083a0000202241016a200341d80b6a41e30010f4978080001a2002201e41016a360208410021220c010b200341f6096a2005418f036a2d00003a0000200341e0096a2005419c036a290000370300200341e8096a200541a4036a290000370300200341f0096a200541ac036a2d00003a0000200320052f008d033b01f40920032005290094033703d809200528009003211e0b0240200e410d4f0d004102212341022124410221250c070b4102210641022123024020052d00b003221f4102460d00410121230240201f410171450d00200341f80a6a20052802b403200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a20034198016a2002410c6a10958f808000200228020821080240200328029801410171450d000240200328029c01221f20084f0d002002280204201f4107746a220820082d00004108464102746a10d889808000200841083a0000200841016a200341d80b6a41e30010f4978080001a41002123201f21080c030b201f200841e4abc68000108281808000000b024020082002280200470d00200241f4abc680001092868080000b200228020420084107746a222341083a0000202341016a200341d80b6a41e30010f4978080001a2002200841016a360208410021230c010b200341960a6a200541b3036a2d00003a0000200341800a6a200541c0036a290000370300200341880a6a200541c8036a290000370300200341900a6a200541d0036a2d00003a0000200320052f00b1033b01940a200320052900b8033703f80920052800b40321080b0240200e410d470d0041022124410221250c070b4102210641022124024020052d00d40322204102460d004101212402402020410171450d00200341f80a6a20052802d803200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a20034190016a2002410c6a10958f8080002002280208211f0240200328029001410171450d0002402003280294012220201f4f0d00200228020420204107746a221f201f2d00004108464102746a10d889808000201f41083a0000201f41016a200341d80b6a41e30010f4978080001a410021242020211f0c030b2020201f41e4abc68000108281808000000b0240201f2002280200470d00200241f4abc680001092868080000b2002280204201f4107746a222441083a0000202441016a200341d80b6a41e30010f4978080001a2002201f41016a360208410021240c010b200341b60a6a200541d7036a2d00003a0000200341a00a6a200541e4036a290000370300200341a80a6a200541ec036a290000370300200341b00a6a200541f4036a2d00003a0000200320052f00d5033b01b40a200320052900dc033703980a20052800d803211f0b0240200e410f4f0d00410221250c070b4102212541022106024020052d00f80322264102460d004101210602402026410171450d00200341f80a6a20052802fc03200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a20034188016a2002410c6a10958f808000200228020821200240200328028801410171450d000240200328028c01222620204f0d00200228020420264107746a220620062d00004108464102746a10d889808000200641083a0000200641016a200341d80b6a41e30010f4978080001a41002106202621200c030b2026202041e4abc68000108281808000000b024020202002280200470d00200241f4abc680001092868080000b200228020420204107746a220641083a0000200641016a200341d80b6a41e30010f4978080001a2002202041016a360208410021060c010b200341d60a6a200541fb036a2d00003a0000200341c00a6a20054188046a290000370300200341c80a6a20054190046a290000370300200341d00a6a20054198046a2d00003a0000200320052f00f9033b01d40a20032005290080043703b80a20052800fc0321200b0240200e410f470d000c070b41022125024020052d009c04220e4102470d000c070b410121250240200e410171450d00200341f80a6a20052802a004200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a20034180016a2002410c6a10958f808000200228020821050240200328028001410171450d000240200328028401220e20054f0d002002280204200e4107746a220220022d00004108464102746a10d889808000200241083a0000200241016a200341d80b6a41e30010f4978080001a41002125200e21050c090b200e200541e4abc68000108281808000000b024020052002280200470d00200241f4abc680001092868080000b200228020420054107746a220e41083a0000200e41016a200341d80b6a41e30010f4978080001a2002200541016a360208410021250c070b200341f60a6a2005419f046a2d00003a0000200341e00a6a200541ac046a290000370300200341e80a6a200541b4046a290000370300200341f00a6a200541bc046a2d00003a0000200320052f009d043b01f40a200320052900a4043703d80a20052800a00421050c060b200341013602dc0b200341cca5c680003602d80b200342013702e40b200341c181808000ad4220864198a5c68000ad843703f80a2003200341f80a6a3602e00b200341d80b6a41d4a5c6800010fe80808000000b200041043a00000c0b0b410221140b410221170b4102211a0b4102211d4102212241022124410221250b41002d008083d480001a02400240024041c00441002802f482d48000118280808000002202450d004103210e2002200241036a417c7120026b22266a2202200f3a0000200220032f0194073b000120022007360004200220032903f806370208200220113a0024200220032f01b4073b00252002417e6a20263b0000200241036a20034194076a41026a2d00003a0000200241106a200341f8066a41086a290300370200200241186a200341f8066a41106a290300370200200241206a200341f8066a41186a280200360200200241276a200341b4076a41026a2d00003a000020022010360028200220123a00482002200d36004c200220032903980737022c200241346a20034198076a41086a2903003702002002413c6a20034198076a41106a290300370200200241c4006a20034198076a41186a280200360200200220032f01d4073b0049200241cb006a200341d4076a41026a2d00003a0000200220032903b807370250200241d8006a200341b8076a41086a290300370200200241e0006a200341b8076a41106a290300370200200241e8006a200341b8076a41186a280200360200200220143a006c20022013360070200220153a009001200220032f01f4073b006d200241ef006a200341f4076a41026a2d00003a00002002418c016a200341d8076a41186a28020036020020024184016a200341d8076a41106a290300370200200241fc006a200341d8076a41086a290300370200200220032903d807370274200220032f0194083b00910120024193016a20034194086a41026a2d00003a00002002200c36009401200241b0016a200341f8076a41186a280200360200200241a8016a200341f8076a41106a290300370200200241a0016a200341f8076a41086a290300370200200220032903f80737029801200220173a00b401200241b7016a200341b4086a41026a2d00003a0000200220032f01b4083b00b501200220163600b801200241d4016a20034198086a41186a280200360200200241cc016a20034198086a41106a290300370200200241c4016a20034198086a41086a29030037020020022003290398083702bc01200220183a00d801200241db016a200341d4086a41026a2d00003a0000200220032f01d4083b00d9012002200b3600dc01200241f8016a200341b8086a41186a280200360200200241f0016a200341b8086a41106a290300370200200241e8016a200341b8086a41086a290300370200200220032903b8083702e0012002201a3a00fc01200241ff016a200341f4086a41026a2d00003a0000200220032f01f4083b00fd0120022019360080022002419c026a200341d8086a41186a28020036020020024194026a200341d8086a41106a2903003702002002418c026a200341d8086a41086a290300370200200220032903d808370284022002201b3a00a002200241a3026a20034194096a41026a2d00003a0000200220032f0194093b00a1022002200a3600a402200241c0026a200341f8086a41186a280200360200200241b8026a200341f8086a41106a290300370200200241b0026a200341f8086a41086a290300370200200220032903f8083702a8022002201d3a00c402200241c7026a200341b4096a41026a2d00003a0000200220032f01b4093b00c5022002201c3600c802200241e4026a20034198096a41186a280200360200200241dc026a20034198096a41106a290300370200200241d4026a20034198096a41086a29030037020020022003290398093702cc02200220213a00e802200241eb026a200341d4096a41026a2d00003a0000200220032f01d4093b00e902200220093600ec0220024188036a200341b8096a41186a28020036020020024180036a200341b8096a41106a290300370200200241f8026a200341b8096a41086a290300370200200220032903b8093702f002200220223a008c032002418f036a200341f4096a41026a2d00003a0000200220032f01f4093b008d032002201e36009003200241ac036a200341d8096a41186a280200360200200241a4036a200341d8096a41106a2903003702002002419c036a200341d8096a41086a290300370200200220032903d80937029403200220233a00b003200241b3036a200341940a6a41026a2d00003a0000200220032f01940a3b00b103200220083600b403200241d0036a200341f8096a41186a280200360200200241c8036a200341f8096a41106a290300370200200241c0036a200341f8096a41086a290300370200200220032903f8093702b803200220243a00d403200241d7036a200341b40a6a41026a2d00003a0000200220032f01b40a3b00d5032002201f3600d803200241f4036a200341980a6a41186a280200360200200241ec036a200341980a6a41106a290300370200200241e4036a200341980a6a41086a290300370200200220032903980a3702dc03200220063a00f803200241fb036a200341d40a6a41026a2d00003a0000200220032f01d40a3b00f903200220203600fc0320024198046a200341b80a6a41186a28020036020020024190046a200341b80a6a41106a29030037020020024188046a200341b80a6a41086a290300370200200220032903b80a37028004200220253a009c042002419f046a200341f40a6a41026a2d00003a0000200220032f01f40a3b009d04200220053600a004200241bc046a200341d80a6a41186a280200360200200241b4046a200341d80a6a41106a290300370200200241ac046a200341d80a6a41086a290300370200200220032903d80a3702a404200341d80b6a200141386a10e29780800020044101710d010c020b410441c00410ab80808000000b0240200128020422050d00200341f6026a2001410a6a2d00003a0000200341d8026a2001411b6a290000370300200341dd026a200141206a290000370000200320012f00083b01f402200320012900133703d002200128000f2104200128000b21054101210e0c010b20052005280200220441016a3602004100210e20044100480d06200128020821040b200020032902d80b3702302000200236022c2000200e3a0000200020032f01f4023b0001200041d8006a200341800c6a290200370200200041d0006a200341d80b6a41206a290200370200200041c8006a200341d80b6a41186a290200370200200041c0006a200341d80b6a41106a290200370200200041386a200341d80b6a41086a290200370200200041036a200341f4026a41026a2d00003a00002000200436020820002005360204200020032903d00237020c200041146a200341d0026a41086a2903003702002000411c6a200341d0026a41106a290300370200200041246a200341d0026a41186a2903003702000c060b410221130b410221160b410221190b4102211c4102211e4102211f410221200b41002d008083d480001a02400240024041c00441002802f482d48000118280808000002202450d00410321072002200241036a417c7120026b22256a2202200e3a0000200220032f0194033b000120022006360004200220032903f802370208200220103a0024200220032f01b4033b00252002417e6a20253b0000200241036a20034194036a41026a2d00003a0000200241106a200341f8026a41086a290300370200200241186a200341f8026a41106a290300370200200241206a200341f8026a41186a280200360200200241276a200341b4036a41026a2d00003a00002002200f3600282002200d3a00482002201136004c200220032903980337022c200241346a20034198036a41086a2903003702002002413c6a20034198036a41106a290300370200200241c4006a20034198036a41186a280200360200200220032f01d4033b0049200241cb006a200341d4036a41026a2d00003a0000200220032903b803370250200241d8006a200341b8036a41086a290300370200200241e0006a200341b8036a41106a290300370200200241e8006a200341b8036a41186a280200360200200220133a006c200220123600702002200c3a009001200220032f01f4033b006d200241ef006a200341f4036a41026a2d00003a00002002418c016a200341d8036a41186a28020036020020024184016a200341d8036a41106a290300370200200241fc006a200341d8036a41086a290300370200200220032903d803370274200220032f0194043b00910120024193016a20034194046a41026a2d00003a00002002201436009401200241b0016a200341f8036a41186a280200360200200241a8016a200341f8036a41106a290300370200200241a0016a200341f8036a41086a290300370200200220032903f80337029801200220163a00b401200241b7016a200341b4046a41026a2d00003a0000200220032f01b4043b00b501200220153600b801200241d4016a20034198046a41186a280200360200200241cc016a20034198046a41106a290300370200200241c4016a20034198046a41086a29030037020020022003290398043702bc012002200b3a00d801200241db016a200341d4046a41026a2d00003a0000200220032f01d4043b00d901200220173600dc01200241f8016a200341b8046a41186a280200360200200241f0016a200341b8046a41106a290300370200200241e8016a200341b8046a41086a290300370200200220032903b8043702e001200220193a00fc01200241ff016a200341f4046a41026a2d00003a0000200220032f01f4043b00fd0120022018360080022002419c026a200341d8046a41186a28020036020020024194026a200341d8046a41106a2903003702002002418c026a200341d8046a41086a290300370200200220032903d804370284022002200a3a00a002200241a3026a20034194056a41026a2d00003a0000200220032f0194053b00a1022002201a3600a402200241c0026a200341f8046a41186a280200360200200241b8026a200341f8046a41106a290300370200200241b0026a200341f8046a41086a290300370200200220032903f8043702a8022002201c3a00c402200241c7026a200341b4056a41026a2d00003a0000200220032f01b4053b00c5022002201b3600c802200241e4026a20034198056a41186a280200360200200241dc026a20034198056a41106a290300370200200241d4026a20034198056a41086a29030037020020022003290398053702cc02200220093a00e802200241eb026a200341d4056a41026a2d00003a0000200220032f01d4053b00e9022002201d3600ec0220024188036a200341b8056a41186a28020036020020024180036a200341b8056a41106a290300370200200241f8026a200341b8056a41086a290300370200200220032903b8053702f0022002201e3a008c032002418f036a200341f4056a41026a2d00003a0000200220032f01f4053b008d032002202136009003200241ac036a200341d8056a41186a280200360200200241a4036a200341d8056a41106a2903003702002002419c036a200341d8056a41086a290300370200200220032903d80537029403200220083a00b003200241b3036a20034194066a41026a2d00003a0000200220032f0194063b00b103200220223600b403200241d0036a200341f8056a41186a280200360200200241c8036a200341f8056a41106a290300370200200241c0036a200341f8056a41086a290300370200200220032903f8053702b8032002201f3a00d403200241d7036a200341b4066a41026a2d00003a0000200220032f01b4063b00d503200220233600d803200241f4036a20034198066a41186a280200360200200241ec036a20034198066a41106a290300370200200241e4036a20034198066a41086a29030037020020022003290398063702dc03200220043a00f803200241fb036a200341d4066a41026a2d00003a0000200220032f01d4063b00f903200220243600fc0320024198046a200341b8066a41186a28020036020020024190046a200341b8066a41106a29030037020020024188046a200341b8066a41086a290300370200200220032903b80637028004200220203a009c042002419f046a200341f4066a41026a2d00003a0000200220032f01f4063b009d04200220053600a004200241bc046a200341d8066a41186a280200360200200241b4046a200341d8066a41106a290300370200200241ac046a200341d8066a41086a290300370200200220032903d8063702a40420012802040d010c020b410441c00410ab80808000000b0240200128020822050d00200341ce026a2001410e6a2d00003a0000200341b0026a2001411f6a290000370300200341b5026a200141246a290000370000200320012f000c3b01cc02200320012900173703a80220012800132104200128000f2105410121070c010b20052005280200220441016a3602004100210720044100480d01200128020c21040b200020073a000420002002360230200020032f01cc023b00052000200436020c20002005360208200020032903a802370210200041073a0000200041076a200341cc026a41026a2d00003a0000200041186a200341a8026a41086a290300370200200041206a200341a8026a41106a290300370200200041286a200341a8026a41186a2903003702000c010b000b200341c00c6a2480808080000bd69c0101247f23808080800041c00c6b220324808080800002400240024002400240024002400240024002400240024002400240024002400240024020012802002204417e6a2205410420054106491b0e06050001020304050b200341d80b6a200141046a10e29780800002400240200128023422020d00200341fa016a2001413a6a2d00003a0000200341800b6a200141cb006a290000370300200341850b6a200141d0006a290000370000200320012f00383b01f801200320012900433703f80a200128003f2104200128003b2102410121050c010b20022002280200220441016a3602004100210520044100480d10200128023821040b200020032902d80b370230200020053a0004200020032f01f8013b0005200041d8006a200341d80b6a41286a290200370200200041d0006a200341d80b6a41206a290200370200200041c8006a200341d80b6a41186a290200370200200041c0006a200341d80b6a41106a290200370200200041386a200341d80b6a41086a290200370200200041076a200341fa016a2d00003a00002000200436020c20002002360208200041053a0000200020032903f80a370210200041186a200341f80a6a41086a290300370200200041206a200341f80a6a41106a290300370200200041286a200341f80a6a41186a2903003702000c100b200341f8016a200141286a10e297808000410121050240024020012d00044101470d00200341f80a6a2001280208200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a024020022802182201450d0020022001417f6a3602184100210520022002280214220141016a22044100200228020c220620042006491b6b3602140240200228021020014102746a2802002201200228020822044f0d00200228020420014107746a220220022d00004108464102746a10d889808000200241083a0000200241016a200341d80b6a41e30010f4978080001a0c030b2001200441e4abc68000108281808000000b0240200228020822012002280200470d00200241f4abc680001092868080000b200228020420014107746a220541083a0000200541016a200341d80b6a41e30010f4978080001a2002200141016a360208410021050c010b200341fa0a6a200141076a2d00003a0000200341e00b6a200141146a290200370300200341e80b6a2001411c6a290200370300200341f00b6a200141246a2d00003a0000200320012f00053b01f80a2003200129020c3703d80b200128020821010b200020032902f801370228200020053a0004200020032f01f80a3b000520002001360208200041d0006a200341a0026a290200370200200041c8006a20034198026a290200370200200041c0006a200341f8016a41186a290200370200200041386a200341f8016a41106a290200370200200041306a200341f8016a41086a290200370200200041076a200341fa0a6a2d00003a0000200041063a0000200041246a200341d80b6a41186a2802003602002000411c6a200341d80b6a41106a290300370200200041146a200341d80b6a41086a290300370200200020032903d80b37020c0c0f0b024002400240200128023822070d004102210441022108410221094102210a4102210b4102210c4102210d4102210e0c010b410221044102210e0240200128023422052d0000220f4102460d004101210e0240200f410171450d00200341f80a6a2005280204200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a024020022802182206450d0020022006417f6a3602184100210e20022002280214220641016a220f4100200228020c2210200f2010491b6b3602140240200228021020064102746a28020022062002280208220f4f0d00200228020420064107746a220f200f2d00004108464102746a10d889808000200f41083a0000200f41016a200341d80b6a41e30010f4978080001a0c030b2006200f41e4abc68000108281808000000b0240200228020822062002280200470d00200241f4abc680001092868080000b200228020420064107746a220e41083a0000200e41016a200341d80b6a41e30010f4978080001a2002200641016a3602084100210e0c010b20034196036a200541036a2d00003a000020034180036a200541106a290000370300200341f8026a41106a200541186a290000370300200341f8026a41186a200541206a2d00003a0000200320052f00013b019403200320052900083703f802200528000421060b20074101470d0141022108410221094102210a4102210b4102210c4102210d0b410221100c090b4102210441022110024020052d002422114102460d004101211002402011410171450d00200341f80a6a2005280228200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341f8006a2002410c6a10958f8080002002280208210f02402003280278410171450d000240200328027c2211200f4f0d00200228020420114107746a220f200f2d00004108464102746a10d889808000200f41083a0000200f41016a200341d80b6a41e30010f4978080001a410021102011210f0c030b2011200f41e4abc68000108281808000000b0240200f2002280200470d00200241f4abc680001092868080000b2002280204200f4107746a221041083a0000201041016a200341d80b6a41e30010f4978080001a2002200f41016a360208410021100c010b200341b6036a200541276a2d00003a0000200341a0036a200541346a290000370300200341a8036a2005413c6a290000370300200341b0036a200541c4006a2d00003a0000200320052f00253b01b4032003200529002c370398032005280028210f0b0240200741034f0d0041022108410221094102210a4102210b4102210c4102210d0c090b410221044102210d024020052d004822124102460d004101210d02402012410171450d00200341f80a6a200528024c200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341f0006a2002410c6a10958f8080002002280208211102402003280270410171450d0002402003280274221220114f0d00200228020420124107746a221120112d00004108464102746a10d889808000201141083a0000201141016a200341d80b6a41e30010f4978080001a4100210d201221110c030b2012201141e4abc68000108281808000000b024020112002280200470d00200241f4abc680001092868080000b200228020420114107746a220d41083a0000200d41016a200341d80b6a41e30010f4978080001a2002201141016a3602084100210d0c010b200341d6036a200541cb006a2d00003a0000200341c0036a200541d8006a290000370300200341c8036a200541e0006a290000370300200341d0036a200541e8006a2d00003a0000200320052f00493b01d403200320052900503703b803200528004c21110b024020074103470d0041022108410221094102210a4102210b4102210c0c090b4102210441022113024020052d006c22144102460d004101211302402014410171450d00200341f80a6a2005280270200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341e8006a2002410c6a10958f8080002002280208211202402003280268410171450d000240200328026c221420124f0d00200228020420144107746a221220122d00004108464102746a10d889808000201241083a0000201241016a200341d80b6a41e30010f4978080001a41002113201421120c030b2014201241e4abc68000108281808000000b024020122002280200470d00200241f4abc680001092868080000b200228020420124107746a221341083a0000201341016a200341d80b6a41e30010f4978080001a2002201241016a360208410021130c010b200341f6036a200541ef006a2d00003a0000200341e0036a200541fc006a290000370300200341e8036a20054184016a290000370300200341f0036a2005418c016a2d00003a0000200320052f006d3b01f403200320052900743703d803200528007021120b0240200741054f0d0041022108410221094102210a4102210b4102210c0c0a0b410221044102210c024020052d00900122154102460d004101210c02402015410171450d00200341f80a6a200528029401200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341e0006a2002410c6a10958f8080002002280208211402402003280260410171450d0002402003280264221520144f0d00200228020420154107746a221420142d00004108464102746a10d889808000201441083a0000201441016a200341d80b6a41e30010f4978080001a4100210c201521140c030b2015201441e4abc68000108281808000000b024020142002280200470d00200241f4abc680001092868080000b200228020420144107746a220c41083a0000200c41016a200341d80b6a41e30010f4978080001a2002201441016a3602084100210c0c010b20034196046a20054193016a2d00003a000020034180046a200541a0016a29000037030020034188046a200541a8016a29000037030020034190046a200541b0016a2d00003a0000200320052f0091013b01940420032005290098013703f80320052800940121140b024020074105470d0041022108410221094102210a4102210b0c0a0b4102210441022116024020052d00b40122174102460d004101211602402017410171450d00200341f80a6a20052802b801200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341d8006a2002410c6a10958f8080002002280208211502402003280258410171450d000240200328025c221720154f0d00200228020420174107746a221520152d00004108464102746a10d889808000201541083a0000201541016a200341d80b6a41e30010f4978080001a41002116201721150c030b2017201541e4abc68000108281808000000b024020152002280200470d00200241f4abc680001092868080000b200228020420154107746a221641083a0000201641016a200341d80b6a41e30010f4978080001a2002201541016a360208410021160c010b200341b6046a200541b7016a2d00003a0000200341a0046a200541c4016a290000370300200341a8046a200541cc016a290000370300200341b0046a200541d4016a2d00003a0000200320052f00b5013b01b404200320052900bc013703980420052800b80121150b0240200741074f0d0041022108410221094102210a4102210b0c0b0b410221044102210b024020052d00d80122184102460d004101210b02402018410171450d00200341f80a6a20052802dc01200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341d0006a2002410c6a10958f8080002002280208211702402003280250410171450d0002402003280254221820174f0d00200228020420184107746a221720172d00004108464102746a10d889808000201741083a0000201741016a200341d80b6a41e30010f4978080001a4100210b201821170c030b2018201741e4abc68000108281808000000b024020172002280200470d00200241f4abc680001092868080000b200228020420174107746a220b41083a0000200b41016a200341d80b6a41e30010f4978080001a2002201741016a3602084100210b0c010b200341d6046a200541db016a2d00003a0000200341c0046a200541e8016a290000370300200341c8046a200541f0016a290000370300200341d0046a200541f8016a2d00003a0000200320052f00d9013b01d404200320052900e0013703b80420052800dc0121170b024020074107470d0041022108410221094102210a0c0b0b4102210441022119024020052d00fc01221a4102460d00410121190240201a410171450d00200341f80a6a200528028002200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341c8006a2002410c6a10958f8080002002280208211802402003280248410171450d000240200328024c221a20184f0d002002280204201a4107746a221820182d00004108464102746a10d889808000201841083a0000201841016a200341d80b6a41e30010f4978080001a41002119201a21180c030b201a201841e4abc68000108281808000000b024020182002280200470d00200241f4abc680001092868080000b200228020420184107746a221941083a0000201941016a200341d80b6a41e30010f4978080001a2002201841016a360208410021190c010b200341f6046a200541ff016a2d00003a0000200341e0046a2005418c026a290000370300200341e8046a20054194026a290000370300200341f0046a2005419c026a2d00003a0000200320052f00fd013b01f40420032005290084023703d80420052800800221180b0240200741094f0d0041022108410221094102210a0c0c0b410221044102210a024020052d00a002221b4102460d004101210a0240201b410171450d00200341f80a6a20052802a402200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341c0006a2002410c6a10958f8080002002280208211a02402003280240410171450d0002402003280244221b201a4f0d002002280204201b4107746a221a201a2d00004108464102746a10d889808000201a41083a0000201a41016a200341d80b6a41e30010f4978080001a4100210a201b211a0c030b201b201a41e4abc68000108281808000000b0240201a2002280200470d00200241f4abc680001092868080000b2002280204201a4107746a220a41083a0000200a41016a200341d80b6a41e30010f4978080001a2002201a41016a3602084100210a0c010b20034196056a200541a3026a2d00003a000020034180056a200541b0026a29000037030020034188056a200541b8026a29000037030020034190056a200541c0026a2d00003a0000200320052f00a1023b019405200320052900a8023703f80420052800a402211a0b024020074109470d0041022108410221090c0c0b410221044102211c024020052d00c402221d4102460d004101211c0240201d410171450d00200341f80a6a20052802c802200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341386a2002410c6a10958f8080002002280208211b02402003280238410171450d000240200328023c221d201b4f0d002002280204201d4107746a221b201b2d00004108464102746a10d889808000201b41083a0000201b41016a200341d80b6a41e30010f4978080001a4100211c201d211b0c030b201d201b41e4abc68000108281808000000b0240201b2002280200470d00200241f4abc680001092868080000b2002280204201b4107746a221c41083a0000201c41016a200341d80b6a41e30010f4978080001a2002201b41016a3602084100211c0c010b200341b6056a200541c7026a2d00003a0000200341a0056a200541d4026a290000370300200341a8056a200541dc026a290000370300200341b0056a200541e4026a2d00003a0000200320052f00c5023b01b405200320052900cc023703980520052800c802211b0b02402007410b4f0d0041022108410221094102211e4102211f410221200c0d0b4102210441022109024020052d00e80222214102460d004101210902402021410171450d00200341f80a6a20052802ec02200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341306a2002410c6a10958f8080002002280208211d02402003280230410171450d00024020032802342221201d4f0d00200228020420214107746a221d201d2d00004108464102746a10d889808000201d41083a0000201d41016a200341d80b6a41e30010f4978080001a410021092021211d0c030b2021201d41e4abc68000108281808000000b0240201d2002280200470d00200241f4abc680001092868080000b2002280204201d4107746a220941083a0000200941016a200341d80b6a41e30010f4978080001a2002201d41016a360208410021090c010b200341d6056a200541eb026a2d00003a0000200341c0056a200541f8026a290000370300200341c8056a20054180036a290000370300200341d0056a20054188036a2d00003a0000200320052f00e9023b01d405200320052900f0023703b80520052800ec02211d0b02402007410b470d00410221084102211e4102211f410221200c0d0b410221044102211e024020052d008c0322224102460d004101211e02402022410171450d00200341f80a6a200528029003200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341286a2002410c6a10958f8080002002280208212102402003280228410171450d000240200328022c222220214f0d00200228020420224107746a222120212d00004108464102746a10d889808000202141083a0000202141016a200341d80b6a41e30010f4978080001a4100211e202221210c030b2022202141e4abc68000108281808000000b024020212002280200470d00200241f4abc680001092868080000b200228020420214107746a221e41083a0000201e41016a200341d80b6a41e30010f4978080001a2002202141016a3602084100211e0c010b200341f6056a2005418f036a2d00003a0000200341e0056a2005419c036a290000370300200341e8056a200541a4036a290000370300200341f0056a200541ac036a2d00003a0000200320052f008d033b01f40520032005290094033703d80520052800900321210b02402007410d4f0d00410221084102211f410221200c0d0b4102210441022108024020052d00b00322234102460d004101210802402023410171450d00200341f80a6a20052802b403200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341206a2002410c6a10958f8080002002280208212202402003280220410171450d0002402003280224222320224f0d00200228020420234107746a222220222d00004108464102746a10d889808000202241083a0000202241016a200341d80b6a41e30010f4978080001a41002108202321220c030b2023202241e4abc68000108281808000000b024020222002280200470d00200241f4abc680001092868080000b200228020420224107746a220841083a0000200841016a200341d80b6a41e30010f4978080001a2002202241016a360208410021080c010b20034196066a200541b3036a2d00003a000020034180066a200541c0036a29000037030020034188066a200541c8036a29000037030020034190066a200541d0036a2d00003a0000200320052f00b1033b019406200320052900b8033703f80520052800b40321220b02402007410d470d004102211f410221200c0d0b410221044102211f024020052d00d40322244102460d004101211f02402024410171450d00200341f80a6a20052802d803200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341186a2002410c6a10958f8080002002280208212302402003280218410171450d000240200328021c222420234f0d00200228020420244107746a222320232d00004108464102746a10d889808000202341083a0000202341016a200341d80b6a41e30010f4978080001a4100211f202421230c030b2024202341e4abc68000108281808000000b024020232002280200470d00200241f4abc680001092868080000b200228020420234107746a221f41083a0000201f41016a200341d80b6a41e30010f4978080001a2002202341016a3602084100211f0c010b200341b6066a200541d7036a2d00003a0000200341a0066a200541e4036a290000370300200341a8066a200541ec036a290000370300200341b0066a200541f4036a2d00003a0000200320052f00d5033b01b406200320052900dc033703980620052800d80321230b02402007410f4f0d00410221200c0d0b4102212041022104024020052d00f80322254102460d004101210402402025410171450d00200341f80a6a20052802fc03200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341106a2002410c6a10958f8080002002280208212402402003280210410171450d0002402003280214222520244f0d00200228020420254107746a220420042d00004108464102746a10d889808000200441083a0000200441016a200341d80b6a41e30010f4978080001a41002104202521240c030b2025202441e4abc68000108281808000000b024020242002280200470d00200241f4abc680001092868080000b200228020420244107746a220441083a0000200441016a200341d80b6a41e30010f4978080001a2002202441016a360208410021040c010b200341d6066a200541fb036a2d00003a0000200341c0066a20054188046a290000370300200341c8066a20054190046a290000370300200341d0066a20054198046a2d00003a0000200320052f00f9033b01d40620032005290080043703b80620052800fc0321240b02402007410f470d000c0d0b41022120024020052d009c0422074102470d000c0d0b4101212002402007410171450d00200341f80a6a20052802a004200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341086a2002410c6a10958f8080002002280208210502402003280208410171450d000240200328020c220720054f0d00200228020420074107746a220220022d00004108464102746a10d889808000200241083a0000200241016a200341d80b6a41e30010f4978080001a41002120200721050c0f0b2007200541e4abc68000108281808000000b024020052002280200470d00200241f4abc680001092868080000b200228020420054107746a220741083a0000200741016a200341d80b6a41e30010f4978080001a2002200541016a360208410021200c0d0b200341f6066a2005419f046a2d00003a0000200341e0066a200541ac046a290000370300200341e8066a200541b4046a290000370300200341f0066a200541bc046a2d00003a0000200320052f009d043b01f406200320052900a4043703d80620052800a00421050c0c0b0240024002402001280234220e0d004102210641022123410221214102211b4102211841022115410221124102210f0c010b410221064102210f0240200128023022052d000022104102460d004101210f02402010410171450d00200341f80a6a2005280204200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a024020022802182207450d0020022007417f6a3602184100210f20022002280214220741016a22104100200228020c221120102011491b6b3602140240200228021020074102746a2802002207200228020822104f0d00200228020420074107746a221020102d00004108464102746a10d889808000201041083a0000201041016a200341d80b6a41e30010f4978080001a0c030b2007201041e4abc68000108281808000000b0240200228020822072002280200470d00200241f4abc680001092868080000b200228020420074107746a220f41083a0000200f41016a200341d80b6a41e30010f4978080001a2002200741016a3602084100210f0c010b20034196076a200541036a2d00003a000020034180076a200541106a290000370300200341f8066a41106a200541186a290000370300200341f8066a41186a200541206a2d00003a0000200320052f00013b019407200320052900083703f806200528000421070b200e4101470d0141022123410221214102211b4102211841022115410221120b410221110c030b4102210641022111024020052d0024220d4102460d00410121110240200d410171450d00200341f80a6a2005280228200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341f0016a2002410c6a10958f80800020022802082110024020032802f001410171450d00024020032802f401220d20104f0d002002280204200d4107746a221020102d00004108464102746a10d889808000201041083a0000201041016a200341d80b6a41e30010f4978080001a41002111200d21100c030b200d201041e4abc68000108281808000000b024020102002280200470d00200241f4abc680001092868080000b200228020420104107746a221141083a0000201141016a200341d80b6a41e30010f4978080001a2002201041016a360208410021110c010b200341b6076a200541276a2d00003a0000200341a0076a200541346a290000370300200341a8076a2005413c6a290000370300200341b0076a200541c4006a2d00003a0000200320052f00253b01b4072003200529002c37039807200528002821100b0240200e41034f0d0041022123410221214102211b4102211841022115410221120c030b4102210641022112024020052d004822134102460d004101211202402013410171450d00200341f80a6a200528024c200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341e8016a2002410c6a10958f8080002002280208210d024020032802e801410171450d00024020032802ec012213200d4f0d00200228020420134107746a220d200d2d00004108464102746a10d889808000200d41083a0000200d41016a200341d80b6a41e30010f4978080001a410021122013210d0c030b2013200d41e4abc68000108281808000000b0240200d2002280200470d00200241f4abc680001092868080000b2002280204200d4107746a221241083a0000201241016a200341d80b6a41e30010f4978080001a2002200d41016a360208410021120c010b200341d6076a200541cb006a2d00003a0000200341c0076a200541d8006a290000370300200341c8076a200541e0006a290000370300200341d0076a200541e8006a2d00003a0000200320052f00493b01d407200320052900503703b807200528004c210d0b0240200e4103470d0041022123410221214102211b41022118410221150c030b4102210641022114024020052d006c220c4102460d00410121140240200c410171450d00200341f80a6a2005280270200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341e0016a2002410c6a10958f80800020022802082113024020032802e001410171450d00024020032802e401220c20134f0d002002280204200c4107746a221320132d00004108464102746a10d889808000201341083a0000201341016a200341d80b6a41e30010f4978080001a41002114200c21130c030b200c201341e4abc68000108281808000000b024020132002280200470d00200241f4abc680001092868080000b200228020420134107746a221441083a0000201441016a200341d80b6a41e30010f4978080001a2002201341016a360208410021140c010b200341f6076a200541ef006a2d00003a0000200341e0076a200541fc006a290000370300200341e8076a20054184016a290000370300200341f0076a2005418c016a2d00003a0000200320052f006d3b01f407200320052900743703d807200528007021130b0240200e41054f0d0041022123410221214102211b41022118410221150c040b4102210641022115024020052d00900122164102460d004101211502402016410171450d00200341f80a6a200528029401200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341d8016a2002410c6a10958f8080002002280208210c024020032802d801410171450d00024020032802dc012216200c4f0d00200228020420164107746a220c200c2d00004108464102746a10d889808000200c41083a0000200c41016a200341d80b6a41e30010f4978080001a410021152016210c0c030b2016200c41e4abc68000108281808000000b0240200c2002280200470d00200241f4abc680001092868080000b2002280204200c4107746a221541083a0000201541016a200341d80b6a41e30010f4978080001a2002200c41016a360208410021150c010b20034196086a20054193016a2d00003a000020034180086a200541a0016a29000037030020034188086a200541a8016a29000037030020034190086a200541b0016a2d00003a0000200320052f0091013b01940820032005290098013703f807200528009401210c0b0240200e4105470d0041022123410221214102211b410221180c040b4102210641022117024020052d00b401220b4102460d00410121170240200b410171450d00200341f80a6a20052802b801200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341d0016a2002410c6a10958f80800020022802082116024020032802d001410171450d00024020032802d401220b20164f0d002002280204200b4107746a221620162d00004108464102746a10d889808000201641083a0000201641016a200341d80b6a41e30010f4978080001a41002117200b21160c030b200b201641e4abc68000108281808000000b024020162002280200470d00200241f4abc680001092868080000b200228020420164107746a221741083a0000201741016a200341d80b6a41e30010f4978080001a2002201641016a360208410021170c010b200341b6086a200541b7016a2d00003a0000200341a0086a200541c4016a290000370300200341a8086a200541cc016a290000370300200341b0086a200541d4016a2d00003a0000200320052f00b5013b01b408200320052900bc013703980820052800b80121160b0240200e41074f0d0041022123410221214102211b410221180c050b4102210641022118024020052d00d80122194102460d004101211802402019410171450d00200341f80a6a20052802dc01200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341c8016a2002410c6a10958f8080002002280208210b024020032802c801410171450d00024020032802cc012219200b4f0d00200228020420194107746a220b200b2d00004108464102746a10d889808000200b41083a0000200b41016a200341d80b6a41e30010f4978080001a410021182019210b0c030b2019200b41e4abc68000108281808000000b0240200b2002280200470d00200241f4abc680001092868080000b2002280204200b4107746a221841083a0000201841016a200341d80b6a41e30010f4978080001a2002200b41016a360208410021180c010b200341d6086a200541db016a2d00003a0000200341c0086a200541e8016a290000370300200341c8086a200541f0016a290000370300200341d0086a200541f8016a2d00003a0000200320052f00d9013b01d408200320052900e0013703b80820052800dc01210b0b0240200e4107470d0041022123410221214102211b0c050b410221064102211a024020052d00fc01220a4102460d004101211a0240200a410171450d00200341f80a6a200528028002200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341c0016a2002410c6a10958f80800020022802082119024020032802c001410171450d00024020032802c401220a20194f0d002002280204200a4107746a221920192d00004108464102746a10d889808000201941083a0000201941016a200341d80b6a41e30010f4978080001a4100211a200a21190c030b200a201941e4abc68000108281808000000b024020192002280200470d00200241f4abc680001092868080000b200228020420194107746a221a41083a0000201a41016a200341d80b6a41e30010f4978080001a2002201941016a3602084100211a0c010b200341f6086a200541ff016a2d00003a0000200341e0086a2005418c026a290000370300200341e8086a20054194026a290000370300200341f0086a2005419c026a2d00003a0000200320052f00fd013b01f40820032005290084023703d80820052800800221190b0240200e41094f0d0041022123410221214102211b0c060b410221064102211b024020052d00a002221c4102460d004101211b0240201c410171450d00200341f80a6a20052802a402200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341b8016a2002410c6a10958f8080002002280208210a024020032802b801410171450d00024020032802bc01221c200a4f0d002002280204201c4107746a220a200a2d00004108464102746a10d889808000200a41083a0000200a41016a200341d80b6a41e30010f4978080001a4100211b201c210a0c030b201c200a41e4abc68000108281808000000b0240200a2002280200470d00200241f4abc680001092868080000b2002280204200a4107746a221b41083a0000201b41016a200341d80b6a41e30010f4978080001a2002200a41016a3602084100211b0c010b20034196096a200541a3026a2d00003a000020034180096a200541b0026a29000037030020034188096a200541b8026a29000037030020034190096a200541c0026a2d00003a0000200320052f00a1023b019409200320052900a8023703f80820052800a402210a0b0240200e4109470d0041022123410221210c060b410221064102211d024020052d00c40222094102460d004101211d02402009410171450d00200341f80a6a20052802c802200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341b0016a2002410c6a10958f8080002002280208211c024020032802b001410171450d00024020032802b4012209201c4f0d00200228020420094107746a221c201c2d00004108464102746a10d889808000201c41083a0000201c41016a200341d80b6a41e30010f4978080001a4100211d2009211c0c030b2009201c41e4abc68000108281808000000b0240201c2002280200470d00200241f4abc680001092868080000b2002280204201c4107746a221d41083a0000201d41016a200341d80b6a41e30010f4978080001a2002201c41016a3602084100211d0c010b200341b6096a200541c7026a2d00003a0000200341a0096a200541d4026a290000370300200341a8096a200541dc026a290000370300200341b0096a200541e4026a2d00003a0000200320052f00c5023b01b409200320052900cc023703980920052800c802211c0b0240200e410b4f0d0041022123410221214102212241022124410221250c070b4102210641022121024020052d00e802221e4102460d00410121210240201e410171450d00200341f80a6a20052802ec02200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341a8016a2002410c6a10958f80800020022802082109024020032802a801410171450d00024020032802ac01221e20094f0d002002280204201e4107746a220920092d00004108464102746a10d889808000200941083a0000200941016a200341d80b6a41e30010f4978080001a41002121201e21090c030b201e200941e4abc68000108281808000000b024020092002280200470d00200241f4abc680001092868080000b200228020420094107746a222141083a0000202141016a200341d80b6a41e30010f4978080001a2002200941016a360208410021210c010b200341d6096a200541eb026a2d00003a0000200341c0096a200541f8026a290000370300200341c8096a20054180036a290000370300200341d0096a20054188036a2d00003a0000200320052f00e9023b01d409200320052900f0023703b80920052800ec0221090b0240200e410b470d00410221234102212241022124410221250c070b4102210641022122024020052d008c0322084102460d004101212202402008410171450d00200341f80a6a200528029003200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341a0016a2002410c6a10958f8080002002280208211e024020032802a001410171450d00024020032802a4012208201e4f0d00200228020420084107746a221e201e2d00004108464102746a10d889808000201e41083a0000201e41016a200341d80b6a41e30010f4978080001a410021222008211e0c030b2008201e41e4abc68000108281808000000b0240201e2002280200470d00200241f4abc680001092868080000b2002280204201e4107746a222241083a0000202241016a200341d80b6a41e30010f4978080001a2002201e41016a360208410021220c010b200341f6096a2005418f036a2d00003a0000200341e0096a2005419c036a290000370300200341e8096a200541a4036a290000370300200341f0096a200541ac036a2d00003a0000200320052f008d033b01f40920032005290094033703d809200528009003211e0b0240200e410d4f0d004102212341022124410221250c070b4102210641022123024020052d00b003221f4102460d00410121230240201f410171450d00200341f80a6a20052802b403200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a20034198016a2002410c6a10958f808000200228020821080240200328029801410171450d000240200328029c01221f20084f0d002002280204201f4107746a220820082d00004108464102746a10d889808000200841083a0000200841016a200341d80b6a41e30010f4978080001a41002123201f21080c030b201f200841e4abc68000108281808000000b024020082002280200470d00200241f4abc680001092868080000b200228020420084107746a222341083a0000202341016a200341d80b6a41e30010f4978080001a2002200841016a360208410021230c010b200341960a6a200541b3036a2d00003a0000200341800a6a200541c0036a290000370300200341880a6a200541c8036a290000370300200341900a6a200541d0036a2d00003a0000200320052f00b1033b01940a200320052900b8033703f80920052800b40321080b0240200e410d470d0041022124410221250c070b4102210641022124024020052d00d40322204102460d004101212402402020410171450d00200341f80a6a20052802d803200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a20034190016a2002410c6a10958f8080002002280208211f0240200328029001410171450d0002402003280294012220201f4f0d00200228020420204107746a221f201f2d00004108464102746a10d889808000201f41083a0000201f41016a200341d80b6a41e30010f4978080001a410021242020211f0c030b2020201f41e4abc68000108281808000000b0240201f2002280200470d00200241f4abc680001092868080000b2002280204201f4107746a222441083a0000202441016a200341d80b6a41e30010f4978080001a2002201f41016a360208410021240c010b200341b60a6a200541d7036a2d00003a0000200341a00a6a200541e4036a290000370300200341a80a6a200541ec036a290000370300200341b00a6a200541f4036a2d00003a0000200320052f00d5033b01b40a200320052900dc033703980a20052800d803211f0b0240200e410f4f0d00410221250c070b4102212541022106024020052d00f80322264102460d004101210602402026410171450d00200341f80a6a20052802fc03200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a20034188016a2002410c6a10958f808000200228020821200240200328028801410171450d000240200328028c01222620204f0d00200228020420264107746a220620062d00004108464102746a10d889808000200641083a0000200641016a200341d80b6a41e30010f4978080001a41002106202621200c030b2026202041e4abc68000108281808000000b024020202002280200470d00200241f4abc680001092868080000b200228020420204107746a220641083a0000200641016a200341d80b6a41e30010f4978080001a2002202041016a360208410021060c010b200341d60a6a200541fb036a2d00003a0000200341c00a6a20054188046a290000370300200341c80a6a20054190046a290000370300200341d00a6a20054198046a2d00003a0000200320052f00f9033b01d40a20032005290080043703b80a20052800fc0321200b0240200e410f470d000c070b41022125024020052d009c04220e4102470d000c070b410121250240200e410171450d00200341f80a6a20052802a004200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a20034180016a2002410c6a10958f808000200228020821050240200328028001410171450d000240200328028401220e20054f0d002002280204200e4107746a220220022d00004108464102746a10d889808000200241083a0000200241016a200341d80b6a41e30010f4978080001a41002125200e21050c090b200e200541e4abc68000108281808000000b024020052002280200470d00200241f4abc680001092868080000b200228020420054107746a220e41083a0000200e41016a200341d80b6a41e30010f4978080001a2002200541016a360208410021250c070b200341f60a6a2005419f046a2d00003a0000200341e00a6a200541ac046a290000370300200341e80a6a200541b4046a290000370300200341f00a6a200541bc046a2d00003a0000200320052f009d043b01f40a200320052900a4043703d80a20052800a00421050c060b200341013602dc0b200341cca5c680003602d80b200342013702e40b200341c181808000ad4220864198a5c68000ad843703f80a2003200341f80a6a3602e00b200341d80b6a41d4a5c6800010fe80808000000b200041043a00000c0b0b410221140b410221170b4102211a0b4102211d4102212241022124410221250b41002d008083d480001a02400240024041c00441002802f482d48000118280808000002202450d004103210e2002200241036a417c7120026b22266a2202200f3a0000200220032f0194073b000120022007360004200220032903f806370208200220113a0024200220032f01b4073b00252002417e6a20263b0000200241036a20034194076a41026a2d00003a0000200241106a200341f8066a41086a290300370200200241186a200341f8066a41106a290300370200200241206a200341f8066a41186a280200360200200241276a200341b4076a41026a2d00003a000020022010360028200220123a00482002200d36004c200220032903980737022c200241346a20034198076a41086a2903003702002002413c6a20034198076a41106a290300370200200241c4006a20034198076a41186a280200360200200220032f01d4073b0049200241cb006a200341d4076a41026a2d00003a0000200220032903b807370250200241d8006a200341b8076a41086a290300370200200241e0006a200341b8076a41106a290300370200200241e8006a200341b8076a41186a280200360200200220143a006c20022013360070200220153a009001200220032f01f4073b006d200241ef006a200341f4076a41026a2d00003a00002002418c016a200341d8076a41186a28020036020020024184016a200341d8076a41106a290300370200200241fc006a200341d8076a41086a290300370200200220032903d807370274200220032f0194083b00910120024193016a20034194086a41026a2d00003a00002002200c36009401200241b0016a200341f8076a41186a280200360200200241a8016a200341f8076a41106a290300370200200241a0016a200341f8076a41086a290300370200200220032903f80737029801200220173a00b401200241b7016a200341b4086a41026a2d00003a0000200220032f01b4083b00b501200220163600b801200241d4016a20034198086a41186a280200360200200241cc016a20034198086a41106a290300370200200241c4016a20034198086a41086a29030037020020022003290398083702bc01200220183a00d801200241db016a200341d4086a41026a2d00003a0000200220032f01d4083b00d9012002200b3600dc01200241f8016a200341b8086a41186a280200360200200241f0016a200341b8086a41106a290300370200200241e8016a200341b8086a41086a290300370200200220032903b8083702e0012002201a3a00fc01200241ff016a200341f4086a41026a2d00003a0000200220032f01f4083b00fd0120022019360080022002419c026a200341d8086a41186a28020036020020024194026a200341d8086a41106a2903003702002002418c026a200341d8086a41086a290300370200200220032903d808370284022002201b3a00a002200241a3026a20034194096a41026a2d00003a0000200220032f0194093b00a1022002200a3600a402200241c0026a200341f8086a41186a280200360200200241b8026a200341f8086a41106a290300370200200241b0026a200341f8086a41086a290300370200200220032903f8083702a8022002201d3a00c402200241c7026a200341b4096a41026a2d00003a0000200220032f01b4093b00c5022002201c3600c802200241e4026a20034198096a41186a280200360200200241dc026a20034198096a41106a290300370200200241d4026a20034198096a41086a29030037020020022003290398093702cc02200220213a00e802200241eb026a200341d4096a41026a2d00003a0000200220032f01d4093b00e902200220093600ec0220024188036a200341b8096a41186a28020036020020024180036a200341b8096a41106a290300370200200241f8026a200341b8096a41086a290300370200200220032903b8093702f002200220223a008c032002418f036a200341f4096a41026a2d00003a0000200220032f01f4093b008d032002201e36009003200241ac036a200341d8096a41186a280200360200200241a4036a200341d8096a41106a2903003702002002419c036a200341d8096a41086a290300370200200220032903d80937029403200220233a00b003200241b3036a200341940a6a41026a2d00003a0000200220032f01940a3b00b103200220083600b403200241d0036a200341f8096a41186a280200360200200241c8036a200341f8096a41106a290300370200200241c0036a200341f8096a41086a290300370200200220032903f8093702b803200220243a00d403200241d7036a200341b40a6a41026a2d00003a0000200220032f01b40a3b00d5032002201f3600d803200241f4036a200341980a6a41186a280200360200200241ec036a200341980a6a41106a290300370200200241e4036a200341980a6a41086a290300370200200220032903980a3702dc03200220063a00f803200241fb036a200341d40a6a41026a2d00003a0000200220032f01d40a3b00f903200220203600fc0320024198046a200341b80a6a41186a28020036020020024190046a200341b80a6a41106a29030037020020024188046a200341b80a6a41086a290300370200200220032903b80a37028004200220253a009c042002419f046a200341f40a6a41026a2d00003a0000200220032f01f40a3b009d04200220053600a004200241bc046a200341d80a6a41186a280200360200200241b4046a200341d80a6a41106a290300370200200241ac046a200341d80a6a41086a290300370200200220032903d80a3702a404200341d80b6a200141386a10e29780800020044101710d010c020b410441c00410ab80808000000b0240200128020422050d00200341f6026a2001410a6a2d00003a0000200341d8026a2001411b6a290000370300200341dd026a200141206a290000370000200320012f00083b01f402200320012900133703d002200128000f2104200128000b21054101210e0c010b20052005280200220441016a3602004100210e20044100480d06200128020821040b200020032902d80b3702302000200236022c2000200e3a0000200020032f01f4023b0001200041d8006a200341800c6a290200370200200041d0006a200341d80b6a41206a290200370200200041c8006a200341d80b6a41186a290200370200200041c0006a200341d80b6a41106a290200370200200041386a200341d80b6a41086a290200370200200041036a200341f4026a41026a2d00003a00002000200436020820002005360204200020032903d00237020c200041146a200341d0026a41086a2903003702002000411c6a200341d0026a41106a290300370200200041246a200341d0026a41186a2903003702000c060b410221130b410221160b410221190b4102211c4102211e4102211f410221200b41002d008083d480001a02400240024041c00441002802f482d48000118280808000002202450d00410321072002200241036a417c7120026b22256a2202200e3a0000200220032f0194033b000120022006360004200220032903f802370208200220103a0024200220032f01b4033b00252002417e6a20253b0000200241036a20034194036a41026a2d00003a0000200241106a200341f8026a41086a290300370200200241186a200341f8026a41106a290300370200200241206a200341f8026a41186a280200360200200241276a200341b4036a41026a2d00003a00002002200f3600282002200d3a00482002201136004c200220032903980337022c200241346a20034198036a41086a2903003702002002413c6a20034198036a41106a290300370200200241c4006a20034198036a41186a280200360200200220032f01d4033b0049200241cb006a200341d4036a41026a2d00003a0000200220032903b803370250200241d8006a200341b8036a41086a290300370200200241e0006a200341b8036a41106a290300370200200241e8006a200341b8036a41186a280200360200200220133a006c200220123600702002200c3a009001200220032f01f4033b006d200241ef006a200341f4036a41026a2d00003a00002002418c016a200341d8036a41186a28020036020020024184016a200341d8036a41106a290300370200200241fc006a200341d8036a41086a290300370200200220032903d803370274200220032f0194043b00910120024193016a20034194046a41026a2d00003a00002002201436009401200241b0016a200341f8036a41186a280200360200200241a8016a200341f8036a41106a290300370200200241a0016a200341f8036a41086a290300370200200220032903f80337029801200220163a00b401200241b7016a200341b4046a41026a2d00003a0000200220032f01b4043b00b501200220153600b801200241d4016a20034198046a41186a280200360200200241cc016a20034198046a41106a290300370200200241c4016a20034198046a41086a29030037020020022003290398043702bc012002200b3a00d801200241db016a200341d4046a41026a2d00003a0000200220032f01d4043b00d901200220173600dc01200241f8016a200341b8046a41186a280200360200200241f0016a200341b8046a41106a290300370200200241e8016a200341b8046a41086a290300370200200220032903b8043702e001200220193a00fc01200241ff016a200341f4046a41026a2d00003a0000200220032f01f4043b00fd0120022018360080022002419c026a200341d8046a41186a28020036020020024194026a200341d8046a41106a2903003702002002418c026a200341d8046a41086a290300370200200220032903d804370284022002200a3a00a002200241a3026a20034194056a41026a2d00003a0000200220032f0194053b00a1022002201a3600a402200241c0026a200341f8046a41186a280200360200200241b8026a200341f8046a41106a290300370200200241b0026a200341f8046a41086a290300370200200220032903f8043702a8022002201c3a00c402200241c7026a200341b4056a41026a2d00003a0000200220032f01b4053b00c5022002201b3600c802200241e4026a20034198056a41186a280200360200200241dc026a20034198056a41106a290300370200200241d4026a20034198056a41086a29030037020020022003290398053702cc02200220093a00e802200241eb026a200341d4056a41026a2d00003a0000200220032f01d4053b00e9022002201d3600ec0220024188036a200341b8056a41186a28020036020020024180036a200341b8056a41106a290300370200200241f8026a200341b8056a41086a290300370200200220032903b8053702f0022002201e3a008c032002418f036a200341f4056a41026a2d00003a0000200220032f01f4053b008d032002202136009003200241ac036a200341d8056a41186a280200360200200241a4036a200341d8056a41106a2903003702002002419c036a200341d8056a41086a290300370200200220032903d80537029403200220083a00b003200241b3036a20034194066a41026a2d00003a0000200220032f0194063b00b103200220223600b403200241d0036a200341f8056a41186a280200360200200241c8036a200341f8056a41106a290300370200200241c0036a200341f8056a41086a290300370200200220032903f8053702b8032002201f3a00d403200241d7036a200341b4066a41026a2d00003a0000200220032f01b4063b00d503200220233600d803200241f4036a20034198066a41186a280200360200200241ec036a20034198066a41106a290300370200200241e4036a20034198066a41086a29030037020020022003290398063702dc03200220043a00f803200241fb036a200341d4066a41026a2d00003a0000200220032f01d4063b00f903200220243600fc0320024198046a200341b8066a41186a28020036020020024190046a200341b8066a41106a29030037020020024188046a200341b8066a41086a290300370200200220032903b80637028004200220203a009c042002419f046a200341f4066a41026a2d00003a0000200220032f01f4063b009d04200220053600a004200241bc046a200341d8066a41186a280200360200200241b4046a200341d8066a41106a290300370200200241ac046a200341d8066a41086a290300370200200220032903d8063702a40420012802040d010c020b410441c00410ab80808000000b0240200128020822050d00200341ce026a2001410e6a2d00003a0000200341b0026a2001411f6a290000370300200341b5026a200141246a290000370000200320012f000c3b01cc02200320012900173703a80220012800132104200128000f2105410121070c010b20052005280200220441016a3602004100210720044100480d01200128020c21040b200020073a000420002002360230200020032f01cc023b00052000200436020c20002005360208200020032903a802370210200041073a0000200041076a200341cc026a41026a2d00003a0000200041186a200341a8026a41086a290300370200200041206a200341a8026a41106a290300370200200041286a200341a8026a41186a2903003702000c010b000b200341c00c6a2480808080000b860401017f2380808080004180016b22052480808080000240024002400240024002400240024020012d00000e03020100020b200541003a005420052002360250200541023a002c200520012802283602342005200128022441086a3602302005200320042005412c6a20024100200510f48980800020052d00004101460d05200541f0006a2202200541196a290000370300200541e8006a2204200541116a290000370300200541d8006a41086a200541096a2900003703002005200529000137035820012d000122030d02200141013a0001200120052903583700022001410a6a200541e0006a290300370000200141126a20042903003700002001411a6a20022903003700000c030b41012102200141016a2104412021010c050b200128020441086a210420012802082101410021020c040b2003450d010b200141026a210441202101410121020c020b20054101360230200541cca5c6800036022c20054201370238200541c181808000ad42208641dca6c68000ad84370300200520053602342005412c6a41e4a6c6800010fe80808000000b20054101360230200541cca5c6800036022c20054201370238200541c181808000ad4220864188a6c68000ad843703782005200541f8006a3602342005412c6a4190a6c6800010fe80808000000b20002001360208200020043602042000200236020020054180016a2480808080000bce0401067f23808080800041c0006b2207248080808000200120042005200610ed9780800021060240024002400240024020032d00004102460d00200020022802002003200110858a8080002001200610ea978080000c010b200328020821052003280204210420022802002203280254210820032802502109200128022c220a410176210302400240200a4101710d00200320012802042001280228220a200a41284b220a1b220b4b0d0320012802002001200a1b210a4100210b0c010b200320012802042001280228220a200a41284b1b220b4b0d032003200b4f0d04200720012802002001200a41284b1b220a20036a2d000041f001713a00294101210b0b2007200b3a0028200720033602242007200a36022020072009200741206a20042005200828021c11878080800000200228020021032001280200210a2001280204210820012802282102200741206a41186a200741186a2209290000370300200741206a41106a200741106a220b290000370300200741206a41086a200741086a220c29000037030020072007290000370320200341e8006a280200200341ec006a280200200a2001200241284b22031b2008200220031b20042005200741206a10fe898080002001200610ea97808000200041003a0000200041196a2009290000370000200041116a200b290000370000200041096a200c290000370000200020072900003700010b200741c0006a2480808080000f0b2003200b41b4e7cd8000109181808000000b2003200b41c4e7cd8000109181808000000b2003200b41d4e7cd8000108281808000000b860401017f2380808080004180016b22052480808080000240024002400240024002400240024020012d00000e03020100020b200541003a005420052002360250200541023a002c200520012802283602342005200128022441086a3602302005200320042005412c6a20024100200510f68980800020052d00004101460d05200541f0006a2202200541196a290000370300200541e8006a2204200541116a290000370300200541d8006a41086a200541096a2900003703002005200529000137035820012d000122030d02200141013a0001200120052903583700022001410a6a200541e0006a290300370000200141126a20042903003700002001411a6a20022903003700000c030b41012102200141016a2104412021010c050b200128020441086a210420012802082101410021020c040b2003450d010b200141026a210441202101410121020c020b20054101360230200541cca5c6800036022c20054201370238200541c181808000ad42208641dca6c68000ad84370300200520053602342005412c6a41e4a6c6800010fe80808000000b20054101360230200541cca5c6800036022c20054201370238200541c181808000ad4220864188a6c68000ad843703782005200541f8006a3602342005412c6a4190a6c6800010fe80808000000b20002001360208200020043602042000200236020020054180016a2480808080000bce0401067f23808080800041c0006b2207248080808000200120042005200610ed9780800021060240024002400240024020032d00004102460d00200020022802002003200110818a8080002001200610ea978080000c010b200328020821052003280204210420022802002203280254210820032802502109200128022c220a410176210302400240200a4101710d00200320012802042001280228220a200a41284b220a1b220b4b0d0320012802002001200a1b210a4100210b0c010b200320012802042001280228220a200a41284b1b220b4b0d032003200b4f0d04200720012802002001200a41284b1b220a20036a2d000041f001713a00294101210b0b2007200b3a0028200720033602242007200a36022020072009200741206a20042005200828021c11878080800000200228020021032001280200210a2001280204210820012802282102200741206a41186a200741186a2209290000370300200741206a41106a200741106a220b290000370300200741206a41086a200741086a220c29000037030020072007290000370320200341e8006a280200200341ec006a280200200a2001200241284b22031b2008200220031b20042005200741206a10ff898080002001200610ea97808000200041003a0000200041196a2009290000370000200041116a200b290000370000200041096a200c290000370000200020072900003700010b200741c0006a2480808080000f0b2003200b41b4e7cd8000109181808000000b2003200b41c4e7cd8000109181808000000b2003200b41d4e7cd8000108281808000000b840401027f2380808080004180016b22042480808080000240024002400240024002400240024020012d00000e03020100020b200441003a005420042002360250200441023a002c200420012802283602342004200128022441086a360230200420032004412c6a20024100200410f88980800020042d00004101460d05200441f0006a2202200441196a290000370300200441e8006a2203200441116a290000370300200441d8006a41086a200441096a2900003703002004200429000137035820012d000122050d02200141013a0001200120042903583700022001410a6a200441e0006a290300370000200141126a20032903003700002001411a6a20022903003700000c030b41012102200141016a2103412021010c050b200128020441086a210320012802082101410021020c040b2005450d010b200141026a210341202101410121020c020b20044101360230200441cca5c6800036022c20044201370238200441c181808000ad42208641dca6c68000ad84370300200420043602342004412c6a41e4a6c6800010fe80808000000b20044101360230200441cca5c6800036022c20044201370238200441c181808000ad4220864188a6c68000ad843703782004200441f8006a3602342004412c6a4190a6c6800010fe80808000000b20002001360208200020033602042000200236020020044180016a2480808080000bf10401087f23808080800041c0006b22062480808080002001280200220728020020032004200510ed9780800021050240024002400240024020022d00004102460d00200020012802042802002002200728020010818a8080002007280200200510ea978080000c010b200228020821042002280204210320012802042208280200220228025421092002280250210a2007280200220228022c220b410176210102400240200b4101710d00200120022802042002280228220b200b41284b220b1b220c4b0d0320022802002002200b1b21024100210b0c010b200120022802042002280228220b200b41284b1b220c4b0d032001200c4f0d04200620022802002002200b41284b1b220220016a2d000041f001713a00294101210b0b2006200b3a002820062001360224200620023602202006200a200641206a20032004200928021c1187808080000020082802002101200728020022022802002108200228020421092002280228210b200641206a41186a200641186a220a290000370300200641206a41106a200641106a220c290000370300200641206a41086a200641086a220d29000037030020062006290000370320200141e8006a280200200141ec006a28020020082002200b41284b22011b2009200b20011b20032004200641206a10ff898080002007280200200510ea97808000200041003a0000200041196a200a290000370000200041116a200c290000370000200041096a200d290000370000200020062900003700010b200641c0006a2480808080000f0b2001200c41b4e7cd8000109181808000000b2001200c41c4e7cd8000109181808000000b2001200c41d4e7cd8000108281808000000b840401027f2380808080004180016b22042480808080000240024002400240024002400240024020012d00000e03020100020b200441003a005420042002360250200441023a002c200420012802283602342004200128022441086a360230200420032004412c6a20024100200410fa8980800020042d00004101460d05200441f0006a2202200441196a290000370300200441e8006a2203200441116a290000370300200441d8006a41086a200441096a2900003703002004200429000137035820012d000122050d02200141013a0001200120042903583700022001410a6a200441e0006a290300370000200141126a20032903003700002001411a6a20022903003700000c030b41012102200141016a2103412021010c050b200128020441086a210320012802082101410021020c040b2005450d010b200141026a210341202101410121020c020b20044101360230200441cca5c6800036022c20044201370238200441c181808000ad42208641dca6c68000ad84370300200420043602342004412c6a41e4a6c6800010fe80808000000b20044101360230200441cca5c6800036022c20044201370238200441c181808000ad4220864188a6c68000ad843703782004200441f8006a3602342004412c6a4190a6c6800010fe80808000000b20002001360208200020033602042000200236020020044180016a2480808080000bf10401087f23808080800041c0006b22062480808080002001280200220728020020032004200510ed9780800021050240024002400240024020022d00004102460d00200020012802042802002002200728020010858a8080002007280200200510ea978080000c010b200228020821042002280204210320012802042208280200220228025421092002280250210a2007280200220228022c220b410176210102400240200b4101710d00200120022802042002280228220b200b41284b220b1b220c4b0d0320022802002002200b1b21024100210b0c010b200120022802042002280228220b200b41284b1b220c4b0d032001200c4f0d04200620022802002002200b41284b1b220220016a2d000041f001713a00294101210b0b2006200b3a002820062001360224200620023602202006200a200641206a20032004200928021c1187808080000020082802002101200728020022022802002108200228020421092002280228210b200641206a41186a200641186a220a290000370300200641206a41106a200641106a220c290000370300200641206a41086a200641086a220d29000037030020062006290000370320200141e8006a280200200141ec006a28020020082002200b41284b22011b2009200b20011b20032004200641206a10fe898080002007280200200510ea97808000200041003a0000200041196a200a290000370000200041116a200c290000370000200041096a200d290000370000200020062900003700010b200641c0006a2480808080000f0b2001200c41b4e7cd8000109181808000000b2001200c41c4e7cd8000109181808000000b2001200c41d4e7cd8000108281808000000bb70f010c7f23808080800041d0016b2205248080808000200520033602102005200236020c0240024002400240200028026822030d0020042802002106410021030c010b200028026c210220052005410c6a360250200520032001200541d0006a41f4a6c68000200228021411878080800000200528020421070240200528020022084101710d002005410036021c20054280808080c0003702140240200428020022064101470d00200541206a41286a2004412c6a290200370300200541206a41206a200441246a290200370300200541206a41186a2004411c6a290200370300200541206a41106a200441146a290200370300410c2102200541206a41086a2004410c6a29020037030020052004290204370320024002400240024002400240024020072802002201417e6a2203410420034106491b0e06060006020103060b2007280234450d05200741346a2109413c21020c040b2001410171450d042007280204450d04200741046a21090c030b20072802040d010c030b200741046a21090c010b2007280208450d01200741086a2109411021020b20054180016a41186a200720026a220341186a29020037030020054180016a41106a200341106a29020037030020054180016a41086a200341086a290200370300200520032902003703800141002101024002400240200528022420052802482203200341284b22021b220a4100480d002005280220210141012103200a450d0241002d008083d480001a200a41002802f482d480001182808080000022030d01410121010b2001200a4194adc6800010b980808000000b2003417e6a41003b00000b20032001200541206a20021b200a10f497808000210b200928020022032003280200220341016a360200024020034100480d00200928020021012005200928020436025420052001360250024003402001280204210303402003417f460d012003417f4c0d022001200341016a2001280204220220022003461b360204200220034721092002210320090d000b0b20052802542109200120012802002203417f6a360200024020034101470d00200541d0006a10f0978080000b0240200528021c22022005280214470d00200541146a41aca7c680001097868080000b2005280218200241386c6a220341023a000c2003200a3602082003200b3602042003200a360200200320052903800137000d2003200936023420032001360230200341156a20054188016a2903003700002003411d6a20054190016a290300370000200341256a20054198016a2903003700002005200241016a36021c0c020b41c8e8cd800041c0e9cd800010ef978080000b000b200541a4016a41286a22034100360200200541a4016a2005280220200541206a2005280248220241284b22011b220920092005280224200220011b6a10cd89808000200541d0006a41086a200541a4016a41086a290200370300200541d0006a41106a200541a4016a41106a290200370300200541d0006a41186a200541a4016a41186a290200370300200541d0006a41206a200541a4016a41206a290200370300200541d0006a41286a2003280200360200200520052902a4013703502005200528024c36027c2007200541146a200541d0006a10fc89808000024020052802484129490d00200528022022032003417e6a2f00006b41002802ec82d48000118180808000000b2005280218210c2005280214210d0240200528021c2203450d00200c200341386c6a21092000280268210a200028026c2802102100200541e0006a210b200541e8006a210e200541f0006a210f200541f8006a2110200c21030340200541d0006a41086a200341146a290200370300200b2003411c6a290200370300200e200341246a290200370300200f2003412c6a2902003703002010200341346a28020036020020052003410c6a29020037035020032802002101200a200341046a2802002202200341086a280200200541d0006a20001183808080000002402001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200341386a22032009470d000b0b200d450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b024020080d00200621030c020b0240024002400240200728020041fcffffff076a2203410320034105491b0e0403030102000b2007280204450d02200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2007280204450d01200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200710de898080000b20072007417e6a2f00006b41002802ec82d4800011818080800000200621030c010b02402008450d000240024002400240200728020041fcffffff076a2203410320034105491b0e0403030102000b2007280204450d02200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2007280204450d01200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200710de898080000b20072007417e6a2f00006b41002802ec82d48000118180808000000b2004280200450d02200428022c41284d0d020c010b2006410171450d0120030d01200428022c41284d0d010b200428020422032003417e6a2f00006b41002802ec82d48000118180808000000b200541d0016a2480808080000bc70c011c7f2380808080004180016b220324808080800002400240024002400240024002402000280200417e6a2204410420044106491b0e06030302000103030b200041306a21050c030b2000412c6a21050c020b200041046a2100410021060c020b200241286a21070c020b41012106410021000b200241286a2107200341046a2108200341286a21094100210a0240024003400240024020060d00200a4101710d054101210a2000210420002d0000410171450d050c010b200020052802082204200020044b1b210b200041246c21040340200b2000460d05200041016a21002005280204220c20046a210d200441246a220e2104200d2d0000220d4102460d000b2000417f6a210f200d410171450d01200c200e6a415c6a21040b2004280204210e2002280200210d2002280204210b20022802282104200341d0006a41286a22104100360200200341d0006a200d2002200441284b220c1b220d200d200b2004200c1b6a10cd8980800020092010280200360200200341206a2211200341d0006a41206a2212290200370300200341186a2213200341d0006a41186a2214290200370300200341106a2215200341d0006a41106a2216290200370300200341086a2217200341d0006a41086a2218290200370300200320032902503703002003200228022c220436022c024002402006450d000240024020044101710d00200f410474210c024002402003410441282003280228220d41284b22041b6a280200220b200d412820041b460d002008200920041b210d2003280200200320041b21040c010b200310d9978080002003280204210b200328020021042008210d0b2004200b6a200c3a0000200d200d28020041016a3602000c010b200328020420032802282204200441284b22041b220d450d022003280200200320041b200d6a417f6a220420042d0000200f723a00000b2003200328022c41016a36022c0b4104210d0240024002400240200e280200220b417e6a2204410420044106491b0e06030200030103030b4128210d0c010b4138210d0b2003200e200d6a10eb97808000200e280200220b417e6a21040b0240024002400240024002402004410420044106491b0e06050005010203050b200e280234450d04200e41346a210d413c21040c030b200e280204450d03200e280208450d03200e41086a210d411021040c020b200b410171450d02200e280204450d020b200e41046a210d410c21040b200341306a41186a2219200e20046a220441186a290200370300200341306a41106a221a200441106a290200370300200341306a41086a221b200441086a290200370300200320042902003703304100210b024002400240200328020420032802282204200441284b22041b221c4100480d002003280200210b0240201c0d004101211d0c030b41002d008083d480001a201c41002802f482d4800011828080800000221d0d014101210b201c211d0b200b201d4194adc6800010b980808000000b201d417e6a41003b00000b201d200b200320041b201c10f497808000211e200d28020022042004280200220441016a36020020044100480d04200d280200210b2003200d2802043602542003200b3602500340200b280204210403402004417f460d012004417f4c0d05200b200441016a200b280204220d200d2004461b360204200d200447210c200d2104200c0d000b0b2003280254210c200b200b2802002204417f6a360200024020044101470d00200341d0006a10f0978080000b02402001280208220d2001280200470d002001419ca7c680001097868080000b2001280204200d41386c6a220441023a000c2004201c3602082004201e3602042004201c3602002004200329033037000d2004200c3602342004200b360230200441156a201b2903003700002004411d6a201a290300370000200441256a20192903003700002001200d41016a3602080b201020092903003703002012201129030037030020142013290300370300201620152903003703002018201729030037030020032003290300370350200e2001200341d0006a10fc898080000c010b0b41a4e6cd8000413a41e0e6cd800010a181808000000b41c8e8cd800041c0e9cd800010ef978080000b000b024020072802004129490d00200228020022002000417e6a2f00006b41002802ec82d48000118180808000000b20034180016a2480808080000bb70f010c7f23808080800041d0016b2205248080808000200520033602102005200236020c0240024002400240200028026822030d0020042802002106410021030c010b200028026c210220052005410c6a360250200520032001200541d0006a4188a7c68000200228021411878080800000200528020421070240200528020022084101710d002005410036021c20054280808080c0003702140240200428020022064101470d00200541206a41286a2004412c6a290200370300200541206a41206a200441246a290200370300200541206a41186a2004411c6a290200370300200541206a41106a200441146a290200370300410c2102200541206a41086a2004410c6a29020037030020052004290204370320024002400240024002400240024020072802002201417e6a2203410420034106491b0e06060006020103060b2007280234450d05200741346a2109413c21020c040b2001410171450d042007280204450d04200741046a21090c030b20072802040d010c030b200741046a21090c010b2007280208450d01200741086a2109411021020b20054180016a41186a200720026a220341186a29020037030020054180016a41106a200341106a29020037030020054180016a41086a200341086a290200370300200520032902003703800141002101024002400240200528022420052802482203200341284b22021b220a4100480d002005280220210141012103200a450d0241002d008083d480001a200a41002802f482d480001182808080000022030d01410121010b2001200a4194adc6800010b980808000000b2003417e6a41003b00000b20032001200541206a20021b200a10f497808000210b200928020022032003280200220341016a360200024020034100480d00200928020021012005200928020436025420052001360250024003402001280204210303402003417f460d012003417f4c0d022001200341016a2001280204220220022003461b360204200220034721092002210320090d000b0b20052802542109200120012802002203417f6a360200024020034101470d00200541d0006a10f0978080000b0240200528021c22022005280214470d00200541146a41aca7c680001097868080000b2005280218200241386c6a220341023a000c2003200a3602082003200b3602042003200a360200200320052903800137000d2003200936023420032001360230200341156a20054188016a2903003700002003411d6a20054190016a290300370000200341256a20054198016a2903003700002005200241016a36021c0c020b41c8e8cd800041c0e9cd800010ef978080000b000b200541a4016a41286a22034100360200200541a4016a2005280220200541206a2005280248220241284b22011b220920092005280224200220011b6a10cd89808000200541d0006a41086a200541a4016a41086a290200370300200541d0006a41106a200541a4016a41106a290200370300200541d0006a41186a200541a4016a41186a290200370300200541d0006a41206a200541a4016a41206a290200370300200541d0006a41286a2003280200360200200520052902a4013703502005200528024c36027c2007200541146a200541d0006a10fc89808000024020052802484129490d00200528022022032003417e6a2f00006b41002802ec82d48000118180808000000b2005280218210c2005280214210d0240200528021c2203450d00200c200341386c6a21092000280268210a200028026c2802102100200541e0006a210b200541e8006a210e200541f0006a210f200541f8006a2110200c21030340200541d0006a41086a200341146a290200370300200b2003411c6a290200370300200e200341246a290200370300200f2003412c6a2902003703002010200341346a28020036020020052003410c6a29020037035020032802002101200a200341046a2802002202200341086a280200200541d0006a20001183808080000002402001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200341386a22032009470d000b0b200d450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b024020080d00200621030c020b0240024002400240200728020041fcffffff076a2203410320034105491b0e0403030102000b2007280204450d02200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2007280204450d01200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200710de898080000b20072007417e6a2f00006b41002802ec82d4800011818080800000200621030c010b02402008450d000240024002400240200728020041fcffffff076a2203410320034105491b0e0403030102000b2007280204450d02200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2007280204450d01200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200710de898080000b20072007417e6a2f00006b41002802ec82d48000118180808000000b2004280200450d02200428022c41284d0d020c010b2006410171450d0120030d01200428022c41284d0d010b200428020422032003417e6a2f00006b41002802ec82d48000118180808000000b200541d0016a2480808080000bf70701037f23808080800041d0006b2207248080808000024002400240024002402000450d002005417f4c0d01200541f5ffffff074f0d0241002d008083d480001a2005410b6a41fcffffff0771220841002802f482d48000118280808000002209450d032009200941036a417c7120096b22086a22094281808080103702002009417e6a20083b0000200941086a2004200510f4978080001a2007200536021420072009360210200741186a41186a200641186a290000370300200741186a41106a200641106a290000370300200741186a41086a200641086a290000370300200720062900003703182007200636024c2007200741106a360248200741086a2000200741186a200741c8006a4190a8c68000200128021411878080800000200728020c2205280200210902400240024020072802084101710d00024002400240024002402009417e6a2204410420044106491b0e06070007020301070b20052802342209450d06200541346a21040c030b200541046a2104200528020421090c020b2005280204450d0420052802082209450d04200541086a21040c010b2009410171450d0320052802042209450d03200541046a21040b20092009280200220541016a3602002005417f4a0d01000b0240024002400240200941fcffffff076a2206410320064105491b0e0403030102000b2005280204450d02200528020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200510de898080000b20052005417e6a2f00006b41002802ec82d48000118180808000000c010b2004280200210920042802042105200741316a200641186a290000370000200741296a200641106a290000370000200741216a200641086a290000370000200720062900003700192007200536024c2007200936024803402009280204210603402006417f460d012006417f4c0d072009200641016a2009280204220520052006461b360204200520064721042005210620040d000b0b200728024c2106200920092802002205417f6a360200024020054101470d00200741c8006a10f0978080000b200720063602402007200936023c200741023a0018200020022003200741186a2001280210118380808000000b2007280210220620062802002206417f6a36020020064101470d00200741106a10f0978080000b200741d0006a2480808080000f0b41f8e9cd8000412b200741186a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200741186a418c80c0800041b482c0800010a981808000000b4104200810ab80808000000b41c8e8cd800041c0e9cd800010ef97808000000bf70701037f23808080800041d0006b2207248080808000024002400240024002402000450d002005417f4c0d01200541f5ffffff074f0d0241002d008083d480001a2005410b6a41fcffffff0771220841002802f482d48000118280808000002209450d032009200941036a417c7120096b22086a22094281808080103702002009417e6a20083b0000200941086a2004200510f4978080001a2007200536021420072009360210200741186a41186a200641186a290000370300200741186a41106a200641106a290000370300200741186a41086a200641086a290000370300200720062900003703182007200636024c2007200741106a360248200741086a2000200741186a200741c8006a41a4a8c68000200128021411878080800000200728020c2205280200210902400240024020072802084101710d00024002400240024002402009417e6a2204410420044106491b0e06070007020301070b20052802342209450d06200541346a21040c030b200541046a2104200528020421090c020b2005280204450d0420052802082209450d04200541086a21040c010b2009410171450d0320052802042209450d03200541046a21040b20092009280200220541016a3602002005417f4a0d01000b0240024002400240200941fcffffff076a2206410320064105491b0e0403030102000b2005280204450d02200528020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200510de898080000b20052005417e6a2f00006b41002802ec82d48000118180808000000c010b2004280200210920042802042105200741316a200641186a290000370000200741296a200641106a290000370000200741216a200641086a290000370000200720062900003700192007200536024c2007200936024803402009280204210603402006417f460d012006417f4c0d072009200641016a2009280204220520052006461b360204200520064721042005210620040d000b0b200728024c2106200920092802002205417f6a360200024020054101470d00200741c8006a10f0978080000b200720063602402007200936023c200741023a0018200020022003200741186a2001280210118380808000000b2007280210220620062802002206417f6a36020020064101470d00200741106a10f0978080000b200741d0006a2480808080000f0b41f8e9cd8000412b200741186a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200741186a418c80c0800041b482c0800010a981808000000b4104200810ab80808000000b41c8e8cd800041c0e9cd800010ef97808000000b7901027f2001280200220228020022032003280200220341016a360200024020034100480d00200041073602002000200229020037020420002001280204220129000037000c200041146a200141086a2900003700002000411c6a200141106a290000370000200041246a200141186a2900003700000f0b000bbb33030f7f017e087f23808080800041f0046b22042480808080002004200336020c2004200136020802400240024002400240024020022d00004101470d00200041003a000020002002290001370001200041196a200241196a290000370000200041116a200241116a290000370000200041096a200241096a2900003700000c010b20022802042102024020012802282205200128021c2203470d002001411c6a4184acc6800010948f808000200128021c2103200128022821050b2001280220200128022420056a22054100200320052003491b6b4102746a20023602002001200128022841016a3602280240024002400240024002400240024002402002200128021822034f0d00200441106a200128021420024107746a220141800110f4978080001a200141043a0004200141083a0000024020042d00104108460d00200041003a000020002001290060370001200041196a200141f8006a290000370000200041116a200141f0006a290000370000200041096a200141e8006a2900003700000c090b20044190016a200441106a41046a41e00010f4978080001a02400240200428020828026822060d00410021070c010b200441c0016a2102200428020c2101200441c0046a41286a22034100360200200441c0046a200128020020012001280228220541284b22081b220920092001280204200520081b6a10cd89808000200441c0026a41086a200441c0046a41086a290200370300200441c0026a41106a2205200441c0046a41106a290200370300200441c0026a41186a2208200441c0046a41186a290200370300200441c0026a41206a2209200441c0046a41206a290200370300200441c0026a41286a2003280200360200200420042902c0043703c0022004200128022c220a3602ec0202400240024020042d009001417c6a41ff01712201410420014104491b0e050201000201020b200441b8016a21020b2002280204200241046a200228022c220141284b22031b210b2002280208200120031b21032002280200220241017621010240024020024101710d004100210c0240200120034b0d004100210d200121020c020b2001200341dce4cd8000109281808000000b200120034f0d044101210c200141016a2102200b20016a2d0000410f71210d0b2004200d3a00a1032004200c3a00a0032004200320026b3602a8032004200b20026a3602a403200441c0026a200441a0036a10ec9780800020042802ec02210a0b200441f0016a41086a2005290300370300200441f0016a41106a2008290300370300200441f0016a41186a2009290300370300200420042903c8023703f00120042802c402210e20042802c002210f20042802e8022110410121070b20042d009001210320042802b801210820042802bc01211120042802c00121022004200441086a36029c0320042004410c6a36029803200441c4016a210102400240024002400240024002402003417c6a41ff01712205410420054104491b0e050001020403000b41002d008083d480001a410141002802f482d48000118280808000002201450d08200141003a00002001417e6a41003b00002004410136029802200420013602940220044101360290020c0d0b200441c0026a410c6a200141086a290200370200200441c0026a41146a200141106a290200370200200441c0026a411c6a200141186a290200370200200441c0026a41246a200141206a290200370200200441ec026a2203200141286a280200360200200420023602c002200420012902003702c402200441c0046a41206a20044190016a41246a280200360200200441c0046a41186a20044190016a411c6a290200370300200441c0046a41106a20044190016a41146a290200370300200441c0046a41086a20044190016a410c6a29020037030020042004290294013703c004200420113602e804200420083602e404200420023602bc04200420042802c80220032802002201200141284b22011b22083602b804200420042802c402200441c0026a41046a20011b3602b4042004418c046a200441c0046a200441b4046a20044198036a10f78980800020042802bc042205410176210120042802b80421030240024020054101710d000240200120034b0d0020042802b40420016a2105410021094100210b0c020b2001200341dce4cd8000109281808000000b200120034f0d094101210920042802b404220b200141016a220c6a2105200b20016a2d0000410f71210b200c21010b2004200b3a00ad03200420093a00ac03200441003602a803200420053602a0032004200320016b3602a40320044190026a200441a0036a200841017420026b2004418c046a10828a808000024002400240024020042d00c0040e020103000b20042802e404220120012802002201417f6a36020020014101470d02200441c0046a41246a21010c010b20042802c404220120012802002201417f6a36020020014101470d01200441c0046a41047221010b200110f0978080000b20042802ec024129490d0c20042802c40222012001417e6a2f00006b41002802ec82d48000118180808000000c0c0b200441c0026a41146a200141086a290200370200200441c0026a411c6a200141106a290200370200200441c0026a41246a200141186a290200370200200441ec026a200141206a280200360200200420023602c802200420113602c402200420083602c002200420012902003702cc02200441c0046a41206a20044190016a41246a280200360200200441c0046a41186a20044190016a411c6a290200370300200441c0046a41106a20044190016a41146a290200370300200441c0046a41086a2004419c016a29020037030020042004290294013703c0042004200441c0026a41046a10838a808000200420083602bc04200420042903003702b4042004418c046a200441b4046a10e797808000200441003a00e8042004200441b4046a3602e404200441a0036a20044198036a200441c0046a200441b4046a4100200410f889808000200441013602c40420044194afc680003602c004200442003702cc042004200441d8036a3602c804200441c0046a41dcafc6800010fe80808000000b200441cc026a200141086a290200370200200441d4026a200141106a290200370200200441dc026a200141186a290200370200200441e4026a200141206a290200370200200441ec026a2205200141286a280200360200200420023602c002200420012902003702c402200441a0036a41096a20044190016a41096a290000370000200441a0036a41116a20044190016a41116a290000370000200441a0036a41196a20044190016a41196a290000370000200441a0036a41206a20044190016a41206a29000037000020042004290091013700a103200420083602c803200420033a00a003200420023602d403200420042802c80220052802002201200141284b22011b22083602d003200420042802c402200441c0026a41046a221220011b3602cc03200341ff01714103470d014102210920082105200221010c020b200441e0026a200441b4016a280200360200200441d8026a200441ac016a290200370300200441d0026a200441a4016a290200370300200441c8026a2004419c016a290200370300200420042902940122133703c002200420113602e802200420083602e40202402013a741ff01714103460d00200441c0046a200441c0026a410020044198036a10f7898080000b10848a808000000b200441c0046a200441a0036a200441cc036a20044198036a10f78980800020042902c404211320042802c004210920042802d003210520042802d40321010b20014101762103024002402001410171220b0d000240200320054b0d0020042802cc0320036a21144100210c0c020b2003200541dce4cd8000109281808000000b200320054f0d0520042802cc032201200341016a220d6a2114200120036a2d0000410f71210c200d21030b200520036b210d200841017420026b220241017641046a2101024002400240024020094102460d0020094101460d0241002108024020014100480d004100211541002d008083d480001a200141002802f482d480001182808080000022080d02410121080b2008200141f8a3c6800010b980808000000b410021080240024020014100480d004100211541002d008083d480001a200141002802f482d480001182808080000022080d01410121080b2008200141f8a3c6800010b980808000000b2008417e6a41003b0000200441003602c804200420083602c404200420013602c0042004200236029004200441013b018c042004418c046a200441c0046a10c08f80800002400240200b0d0020052003460d0120142d0000210c410121150b024020042802c804220120042802c004470d00200441c0046a200141014101410110a3868080000b20042802c404220820016a200c3a00002004200141016a22013602c8042015200d4f0d00201420156a2102200520156b20036b2103034020022d000021050240200120042802c004470d00200441c0046a200141014101410110a38680800020042802c40421080b200820016a20053a00002004200141016a22013602c804200241016a21022003417f6a22030d000b0b200441d8036a41086a200441c0046a41086a280200360200200420042902c0043703d8030c020b2008417e6a41003b0000200441003602c804200420083602c404200420013602c004200420023602900420044181023b018c042004418c046a200441c0046a10c08f80800002400240200b0d0020052003460d0120142d0000210c410121150b024020042802c804220120042802c004470d00200441c0046a200141014101410110a3868080000b20042802c404220820016a200c3a00002004200141016a22013602c8042015200d4f0d00201420156a2102200520156b20036b2103034020022d000021050240200120042802c004470d00200441c0046a200141014101410110a38680800020042802c40421080b200820016a20053a00002004200141016a22013602c804200241016a21022003417f6a22030d000b0b200441d8036a41086a200441c0046a41086a280200360200200420042902c0043703d8030c010b410021080240024020014100480d004100211541002d008083d480001a200141002802f482d480001182808080000022080d01410121080b2008200141f8a3c6800010b980808000000b2008417e6a41003b0000200441003602c804200420083602c404200420013602c004200441033a008c0420042002360290042004418c046a200441c0046a10c08f80800002400240200b0d0020052003460d0120142d0000210c410121150b024020042802c804220120042802c004470d00200441c0046a200141014101410110a3868080000b20042802c404220820016a200c3a00002004200141016a22013602c8042015200d4f0d00201420156a2102200520156b20036b2103034020022d000021050240200120042802c004470d00200441c0046a200141014101410110a38680800020042802c40421080b200820016a20053a00002004200141016a22013602c804200241016a21022003417f6a22030d000b0b200441d8036a41086a200441c0046a41086a280200360200200420042902c0043703d8030b024020042802e003221620042802d803470d00200441d8036a41fcafc6800010b8808080000b20042802dc0320166a41003a00002004201641016a22013602e0030240200120042802d803470d00200441d8036a41fcafc6800010b8808080000b20042802dc0320016a41003a00002004201641026a22173602e00320094102460d062013422088a721012017210220094101710d052004200136028c0420042004418c046a3602c004200441c0046a200441d8036a10dc8480800020042802e00321020c050b200220034194acc68000108281808000000b2001200341ece4cd8000108281808000000b410141014194adc6800010b980808000000b2001200341ece4cd8000108281808000000b2003200541ece4cd8000108281808000000b2013a721030240200120042802d80320026b4d0d00200441d8036a200220014101410110a38680800020042802e00321020b20042802dc0320026a2003200110f4978080001a200420042802e00320016a3602e0030b2004418c046a41086a210c2004418c046a410172211441002109200441c0046a410172220d411f6a21184101210841002105410021030240024002400340201120036a22012d00002102200141023a000020024103460d014100210b024020024102460d002018200141206a280000360000200d41186a200141196a290000370000200d41106a200141116a290000370000200d41086a200141096a290000370000200d200141016a290000370000200420042802c0023602bc04200420042802c80220042802ec022201200141284b22011b3602b804200420042802c402201220011b3602b404200420053a00e904200441013a00e804200420023a00c0042004200441b4046a3602e4042004418c046a20044198036a200441c0046a200441b4046a4101200510f88980800020044188046a41026a2219201441026a2d00003a0000200441e8036a41086a2201200c41086a290200370300200441e8036a41106a2202200c41106a290200370300200441e8036a41186a2215200c41186a290200370300200420142f00003b0188042004200c2902003703e803024020042d008c04221a417e6a0e020104000b200428029004210b02400240201a410171450d00200441c0046a41186a2015290300370300200441c0046a41106a2002290300370300200441c0046a41086a2001290300370300200420042903e8033703c004200b41214f0d0a2004200b3602b4042004200441b4046a36028c042004418c046a200441d8036a10dc848080000240200b20042802d80320042802e00322016b4d0d00200441d8036a2001200b10f49180800020042802e00321010b20042802dc0320016a200441c0046a200b10f4978080001a20042001200b6a3602e0030c010b2004412036028c0420042004418c046a3602c004200441c0046a200441d8036a10dc84808000024020042802d80320042802e003221b6b411f4b0d00200441d8036a201b412010f49180800020042802e003211b0b20042802dc03201b6a221a20042903e803370007201a20042f0188043b0000201a41026a20192d00003a0000201a200b360003201a410f6a2001290300370000201a41176a2002290300370000201a411f6a20152d00003a00002004201b41206a3602e0030b2008210b0b200541016a210520084101742108200b2009722109200341246a220341c004470d000b20094180fe037141087621010c020b20094180fe037141087621010c010b20094180fe037141087621010b0240201720042802e00322024d0d002017200241ecafc68000109181808000000b20042802dc0320166a2001410874200941ff0171723b000020044190026a41086a200441d8036a41086a280200360200200420042903d80337039002024020042d00a00322014103460d0002400240024020010e020103000b20042802c403220120012802002201417f6a36020020014101470d02200441c4036a21010c010b20042802a403220120012802002201417f6a36020020014101470d01200441a4036a21010b200110f0978080000b20112011417e6a2f00006b41002802ec82d480001181808080000020042802ec024129490d0020042802c40222012001417e6a2f00006b41002802ec82d48000118180808000000b024002402004280298022201411f4b0d00200441f8026a41186a22034200370300200441f8026a41106a2205420037030020044180036a22084200370300200442003703f802200441f8026a2004280294022202200110f4978080001a20002001360204200041013a0000200041206a2003290300370000200041186a2005290300370000200041106a2008290300370000200020042903f8023700080240200428029002450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b2006450d0120104129490d01200f200f417e6a2f00006b41002802ec82d48000118180808000000c010b20042802082202280254210820022802502109200428020c220228022c220541017621030240024020054101710d002003200228020420022802282205200541284b22051b220b4b0d062002280200200220051b2102410021050c010b2003200228020420022802282205200541284b1b220b4b0d062003200b4f0d07200420022802002002200541284b1b220220036a2d000041f001713a00c902410121050b200420053a00c802200420033602c402200420023602c002200441a0026a2009200441c0026a20042802940222022001200828021c1187808080000020042802082103200441d4026a200441f0016a41086a290300370200200441dc026a200441f0016a41106a290300370200200441e4026a200441f0016a41186a2903003702002004200e3602c8022004200f3602c402200420073602c002200420042903f0013702cc022004200a3602f002200420103602ec02200441c0046a41186a200441a0026a41186a2205290000370300200441c0046a41106a200441a0026a41106a2208290000370300200441c0046a41086a200441a0026a41086a2209290000370300200420042900a0023703c0042003200441c0046a20022001200441c0026a10fd89808000200041196a2005290000370000200041116a2008290000370000200041096a2009290000370000200020042900a002370001200041003a0000200428029002450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20042d00104108460d010b200441106a10d8898080000b200441f0046a2480808080000f0b200b4120418cb0c68000109181808000000b2003200b41b4e7cd8000109181808000000b2003200b41c4e7cd8000109181808000000b2003200b41d4e7cd8000108281808000000b830502047f017e23808080800041206b2204248080808000200241017641046a210502400240024020032802000d0041002106024020054100480d0041002d008083d480001a200541002802f482d480001182808080000022060d02410121060b2006200541f8a3c6800010b980808000000b410021060240024020054100480d0041002d008083d480001a200541002802f482d480001182808080000022060d01410121060b2006200541f8a3c6800010b980808000000b2006417e6a41003b0000200441146a41086a220741003602002004200636021820042005360214200441043a0000200420023602042004200441146a10c08f808000200441146a20014188a4c6800010c18f808000200441086a20072802002205360200200420042902142208370300200328020421020240200328020822032008a720056b4d0d002004200520034101410110a386808000200428020821050b200428020420056a2002200310f4978080001a2004200520036a3602080c010b2006417e6a41003b0000200441146a41086a220741003602002004200636021820042005360214200441023a0000200420023602042004200441146a10c08f808000200441146a20014188a4c6800010c18f808000200441086a2202200728020036020020042004290214370300200328020421012004200328020822053602102004200441106a360214200441146a200410dc84808000024020052004280200200228020022036b4d0d002004200320054101410110a386808000200428020821030b200428020420036a2001200510f4978080001a2004200428020820056a3602080b20002004290300370200200041086a200441086a280200360200200441206a2480808080000b2c01017f2000200128020420012802282202200241284b22021b36020420002001280200200120021b3602000b4a01017f23808080800041206b22002480808080002000410136020820004194afc680003602042000420037021020002000411c6a36020c200041046a419cafc6800010fe80808000000bbb33030f7f017e087f23808080800041f0046b22042480808080002004200336020c2004200136020802400240024002400240024020022d00004101470d00200041003a000020002002290001370001200041196a200241196a290000370000200041116a200241116a290000370000200041096a200241096a2900003700000c010b20022802042102024020012802282205200128021c2203470d002001411c6a4184acc6800010948f808000200128021c2103200128022821050b2001280220200128022420056a22054100200320052003491b6b4102746a20023602002001200128022841016a3602280240024002400240024002400240024002402002200128021822034f0d00200441106a200128021420024107746a220141800110f4978080001a200141043a0004200141083a0000024020042d00104108460d00200041003a000020002001290060370001200041196a200141f8006a290000370000200041116a200141f0006a290000370000200041096a200141e8006a2900003700000c090b20044190016a200441106a41046a41e00010f4978080001a02400240200428020828026822060d00410021070c010b200441c0016a2102200428020c2101200441c0046a41286a22034100360200200441c0046a200128020020012001280228220541284b22081b220920092001280204200520081b6a10cd89808000200441c0026a41086a200441c0046a41086a290200370300200441c0026a41106a2205200441c0046a41106a290200370300200441c0026a41186a2208200441c0046a41186a290200370300200441c0026a41206a2209200441c0046a41206a290200370300200441c0026a41286a2003280200360200200420042902c0043703c0022004200128022c220a3602ec0202400240024020042d009001417c6a41ff01712201410420014104491b0e050201000201020b200441b8016a21020b2002280204200241046a200228022c220141284b22031b210b2002280208200120031b21032002280200220241017621010240024020024101710d004100210c0240200120034b0d004100210d200121020c020b2001200341dce4cd8000109281808000000b200120034f0d044101210c200141016a2102200b20016a2d0000410f71210d0b2004200d3a00a1032004200c3a00a0032004200320026b3602a8032004200b20026a3602a403200441c0026a200441a0036a10ec9780800020042802ec02210a0b200441f0016a41086a2005290300370300200441f0016a41106a2008290300370300200441f0016a41186a2009290300370300200420042903c8023703f00120042802c402210e20042802c002210f20042802e8022110410121070b20042d009001210320042802b801210820042802bc01211120042802c00121022004200441086a36029c0320042004410c6a36029803200441c4016a210102400240024002400240024002402003417c6a41ff01712205410420054104491b0e050001020403000b41002d008083d480001a410141002802f482d48000118280808000002201450d08200141003a00002001417e6a41003b00002004410136029802200420013602940220044101360290020c0d0b200441c0026a410c6a200141086a290200370200200441c0026a41146a200141106a290200370200200441c0026a411c6a200141186a290200370200200441c0026a41246a200141206a290200370200200441ec026a2203200141286a280200360200200420023602c002200420012902003702c402200441c0046a41206a20044190016a41246a280200360200200441c0046a41186a20044190016a411c6a290200370300200441c0046a41106a20044190016a41146a290200370300200441c0046a41086a20044190016a410c6a29020037030020042004290294013703c004200420113602e804200420083602e404200420023602bc04200420042802c80220032802002201200141284b22011b22083602b804200420042802c402200441c0026a41046a20011b3602b4042004418c046a200441c0046a200441b4046a20044198036a10f98980800020042802bc042205410176210120042802b80421030240024020054101710d000240200120034b0d0020042802b40420016a2105410021094100210b0c020b2001200341dce4cd8000109281808000000b200120034f0d094101210920042802b404220b200141016a220c6a2105200b20016a2d0000410f71210b200c21010b2004200b3a00ad03200420093a00ac03200441003602a803200420053602a0032004200320016b3602a40320044190026a200441a0036a200841017420026b2004418c046a10828a808000024002400240024020042d00c0040e020103000b20042802e404220120012802002201417f6a36020020014101470d02200441c0046a41246a21010c010b20042802c404220120012802002201417f6a36020020014101470d01200441c0046a41047221010b200110f0978080000b20042802ec024129490d0c20042802c40222012001417e6a2f00006b41002802ec82d48000118180808000000c0c0b200441c0026a41146a200141086a290200370200200441c0026a411c6a200141106a290200370200200441c0026a41246a200141186a290200370200200441ec026a200141206a280200360200200420023602c802200420113602c402200420083602c002200420012902003702cc02200441c0046a41206a20044190016a41246a280200360200200441c0046a41186a20044190016a411c6a290200370300200441c0046a41106a20044190016a41146a290200370300200441c0046a41086a2004419c016a29020037030020042004290294013703c0042004200441c0026a41046a10838a808000200420083602bc04200420042903003702b4042004418c046a200441b4046a10e797808000200441003a00e8042004200441b4046a3602e404200441a0036a20044198036a200441c0046a200441b4046a4100200410fa89808000200441013602c40420044194afc680003602c004200442003702cc042004200441d8036a3602c804200441c0046a41dcafc6800010fe80808000000b200441cc026a200141086a290200370200200441d4026a200141106a290200370200200441dc026a200141186a290200370200200441e4026a200141206a290200370200200441ec026a2205200141286a280200360200200420023602c002200420012902003702c402200441a0036a41096a20044190016a41096a290000370000200441a0036a41116a20044190016a41116a290000370000200441a0036a41196a20044190016a41196a290000370000200441a0036a41206a20044190016a41206a29000037000020042004290091013700a103200420083602c803200420033a00a003200420023602d403200420042802c80220052802002201200141284b22011b22083602d003200420042802c402200441c0026a41046a221220011b3602cc03200341ff01714103470d014102210920082105200221010c020b200441e0026a200441b4016a280200360200200441d8026a200441ac016a290200370300200441d0026a200441a4016a290200370300200441c8026a2004419c016a290200370300200420042902940122133703c002200420113602e802200420083602e40202402013a741ff01714103460d00200441c0046a200441c0026a410020044198036a10f9898080000b10848a808000000b200441c0046a200441a0036a200441cc036a20044198036a10f98980800020042902c404211320042802c004210920042802d003210520042802d40321010b20014101762103024002402001410171220b0d000240200320054b0d0020042802cc0320036a21144100210c0c020b2003200541dce4cd8000109281808000000b200320054f0d0520042802cc032201200341016a220d6a2114200120036a2d0000410f71210c200d21030b200520036b210d200841017420026b220241017641046a2101024002400240024020094102460d0020094101460d0241002108024020014100480d004100211541002d008083d480001a200141002802f482d480001182808080000022080d02410121080b2008200141f8a3c6800010b980808000000b410021080240024020014100480d004100211541002d008083d480001a200141002802f482d480001182808080000022080d01410121080b2008200141f8a3c6800010b980808000000b2008417e6a41003b0000200441003602c804200420083602c404200420013602c0042004200236029004200441013b018c042004418c046a200441c0046a10c08f80800002400240200b0d0020052003460d0120142d0000210c410121150b024020042802c804220120042802c004470d00200441c0046a200141014101410110a3868080000b20042802c404220820016a200c3a00002004200141016a22013602c8042015200d4f0d00201420156a2102200520156b20036b2103034020022d000021050240200120042802c004470d00200441c0046a200141014101410110a38680800020042802c40421080b200820016a20053a00002004200141016a22013602c804200241016a21022003417f6a22030d000b0b200441d8036a41086a200441c0046a41086a280200360200200420042902c0043703d8030c020b2008417e6a41003b0000200441003602c804200420083602c404200420013602c004200420023602900420044181023b018c042004418c046a200441c0046a10c08f80800002400240200b0d0020052003460d0120142d0000210c410121150b024020042802c804220120042802c004470d00200441c0046a200141014101410110a3868080000b20042802c404220820016a200c3a00002004200141016a22013602c8042015200d4f0d00201420156a2102200520156b20036b2103034020022d000021050240200120042802c004470d00200441c0046a200141014101410110a38680800020042802c40421080b200820016a20053a00002004200141016a22013602c804200241016a21022003417f6a22030d000b0b200441d8036a41086a200441c0046a41086a280200360200200420042902c0043703d8030c010b410021080240024020014100480d004100211541002d008083d480001a200141002802f482d480001182808080000022080d01410121080b2008200141f8a3c6800010b980808000000b2008417e6a41003b0000200441003602c804200420083602c404200420013602c004200441033a008c0420042002360290042004418c046a200441c0046a10c08f80800002400240200b0d0020052003460d0120142d0000210c410121150b024020042802c804220120042802c004470d00200441c0046a200141014101410110a3868080000b20042802c404220820016a200c3a00002004200141016a22013602c8042015200d4f0d00201420156a2102200520156b20036b2103034020022d000021050240200120042802c004470d00200441c0046a200141014101410110a38680800020042802c40421080b200820016a20053a00002004200141016a22013602c804200241016a21022003417f6a22030d000b0b200441d8036a41086a200441c0046a41086a280200360200200420042902c0043703d8030b024020042802e003221620042802d803470d00200441d8036a41fcafc6800010b8808080000b20042802dc0320166a41003a00002004201641016a22013602e0030240200120042802d803470d00200441d8036a41fcafc6800010b8808080000b20042802dc0320016a41003a00002004201641026a22173602e00320094102460d062013422088a721012017210220094101710d052004200136028c0420042004418c046a3602c004200441c0046a200441d8036a10dc8480800020042802e00321020c050b200220034194acc68000108281808000000b2001200341ece4cd8000108281808000000b410141014194adc6800010b980808000000b2001200341ece4cd8000108281808000000b2003200541ece4cd8000108281808000000b2013a721030240200120042802d80320026b4d0d00200441d8036a200220014101410110a38680800020042802e00321020b20042802dc0320026a2003200110f4978080001a200420042802e00320016a3602e0030b2004418c046a41086a210c2004418c046a410172211441002109200441c0046a410172220d411f6a21184101210841002105410021030240024002400340201120036a22012d00002102200141023a000020024103460d014100210b024020024102460d002018200141206a280000360000200d41186a200141196a290000370000200d41106a200141116a290000370000200d41086a200141096a290000370000200d200141016a290000370000200420042802c0023602bc04200420042802c80220042802ec022201200141284b22011b3602b804200420042802c402201220011b3602b404200420053a00e904200441013a00e804200420023a00c0042004200441b4046a3602e4042004418c046a20044198036a200441c0046a200441b4046a4101200510fa8980800020044188046a41026a2219201441026a2d00003a0000200441e8036a41086a2201200c41086a290200370300200441e8036a41106a2202200c41106a290200370300200441e8036a41186a2215200c41186a290200370300200420142f00003b0188042004200c2902003703e803024020042d008c04221a417e6a0e020104000b200428029004210b02400240201a410171450d00200441c0046a41186a2015290300370300200441c0046a41106a2002290300370300200441c0046a41086a2001290300370300200420042903e8033703c004200b41214f0d0a2004200b3602b4042004200441b4046a36028c042004418c046a200441d8036a10dc848080000240200b20042802d80320042802e00322016b4d0d00200441d8036a2001200b10f49180800020042802e00321010b20042802dc0320016a200441c0046a200b10f4978080001a20042001200b6a3602e0030c010b2004412036028c0420042004418c046a3602c004200441c0046a200441d8036a10dc84808000024020042802d80320042802e003221b6b411f4b0d00200441d8036a201b412010f49180800020042802e003211b0b20042802dc03201b6a221a20042903e803370007201a20042f0188043b0000201a41026a20192d00003a0000201a200b360003201a410f6a2001290300370000201a41176a2002290300370000201a411f6a20152d00003a00002004201b41206a3602e0030b2008210b0b200541016a210520084101742108200b2009722109200341246a220341c004470d000b20094180fe037141087621010c020b20094180fe037141087621010c010b20094180fe037141087621010b0240201720042802e00322024d0d002017200241ecafc68000109181808000000b20042802dc0320166a2001410874200941ff0171723b000020044190026a41086a200441d8036a41086a280200360200200420042903d80337039002024020042d00a00322014103460d0002400240024020010e020103000b20042802c403220120012802002201417f6a36020020014101470d02200441c4036a21010c010b20042802a403220120012802002201417f6a36020020014101470d01200441a4036a21010b200110f0978080000b20112011417e6a2f00006b41002802ec82d480001181808080000020042802ec024129490d0020042802c40222012001417e6a2f00006b41002802ec82d48000118180808000000b024002402004280298022201411f4b0d00200441f8026a41186a22034200370300200441f8026a41106a2205420037030020044180036a22084200370300200442003703f802200441f8026a2004280294022202200110f4978080001a20002001360204200041013a0000200041206a2003290300370000200041186a2005290300370000200041106a2008290300370000200020042903f8023700080240200428029002450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b2006450d0120104129490d01200f200f417e6a2f00006b41002802ec82d48000118180808000000c010b20042802082202280254210820022802502109200428020c220228022c220541017621030240024020054101710d002003200228020420022802282205200541284b22051b220b4b0d062002280200200220051b2102410021050c010b2003200228020420022802282205200541284b1b220b4b0d062003200b4f0d07200420022802002002200541284b1b220220036a2d000041f001713a00c902410121050b200420053a00c802200420033602c402200420023602c002200441a0026a2009200441c0026a20042802940222022001200828021c1187808080000020042802082103200441d4026a200441f0016a41086a290300370200200441dc026a200441f0016a41106a290300370200200441e4026a200441f0016a41186a2903003702002004200e3602c8022004200f3602c402200420073602c002200420042903f0013702cc022004200a3602f002200420103602ec02200441c0046a41186a200441a0026a41186a2205290000370300200441c0046a41106a200441a0026a41106a2208290000370300200441c0046a41086a200441a0026a41086a2209290000370300200420042900a0023703c0042003200441c0046a20022001200441c0026a10fb89808000200041196a2005290000370000200041116a2008290000370000200041096a2009290000370000200020042900a002370001200041003a0000200428029002450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20042d00104108460d010b200441106a10d8898080000b200441f0046a2480808080000f0b200b4120418cb0c68000109181808000000b2003200b41b4e7cd8000109181808000000b2003200b41c4e7cd8000109181808000000b2003200b41d4e7cd8000108281808000000b976903087f027e037f23808080800041a0096b2207248080808000200741086a200341086a28020036020020072003290200370300024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020022d0000417c6a41ff01712208410420084104491b0e050001020304000b200728020822084101762202200728020422014b0d0441002103200741e4056a41286a22094100360200200741e4056a2007280200220620026a200620016a10d797808000200741f0086a41286a2009280200360200200741f0086a41206a200741e4056a41206a290200370300200741f0086a41186a200741e4056a41186a290200370300200741f0086a41106a200741e4056a41106a290200370300200741f0086a41086a200741e4056a41086a290200370300200720072902e4053703f00820084101712109200541204b410174210a41052108410021012005210b200421024100210c0c250b200741e8026a41286a200241d8006a290200370300200741e8026a41206a200241d0006a290200370300200741e8026a41186a200241c8006a290200370300200741e8026a41106a200241c0006a290200370300200741e8026a41086a2208200241386a290200370300200720022902303703e802200741a0016a41286a2002412c6a280200360200200741a0016a41206a200241246a290200370300200741a0016a41186a2002411c6a290200370300200741a0016a41106a200241146a290200370300200741a0016a41086a2002410c6a290200370300200720022902043703a001200720072802e8023602d401200720082802002007280294032208200841284b22081b3602d001200720072802ec02200741e8026a410472220d20081b3602cc01200241046a21082007200741cc016a10e697808000210920072802cc01210e200920072802d001220c41017420072802d401220a6b2202460d160c170b200741e8026a41286a200241d0006a29020037030020074188036a200241c8006a29020037030020074180036a200241c0006a290200370300200741f8026a200241386a290200370300200741e8026a41086a200241306a290200220f3703002007200229022822103703e80220022d0004210a2002280208210e200720103e02a8012007200fa72007280294032208200841284b22081b3602a401200720072802ec02200741e8026a41047220081b3602a001200241046a21090240024002402007200741a0016a10e697808000220c450d00200c20072802a401220241017420072802a80122086b470d0120032003280208200c6a36020820074180056a20012009200320042005200610878a808000200728028005210220072d00840522034102470d02200221080c170b20072802a401220d410174221120072802a801220c460d15024002400240200c4101762208200d4f0d0020072802a001221220086a2d0000210b41002d008083d480001a024041c00441002802f482d48000118280808000002208450d002008200841036a417c7120086b22136a220841023a009c04200841023a00f803200841023a00d403200841023a00b003200841023a008c03200841023a00e802200841023a00c402200841023a00a002200841023a00fc01200841023a00d801200841023a00b401200841023a009001200841023a006c200841023a0048200841023a0024200841023a00002008417e6a20133b00002011200c6b4101470d02200741c0036a41026a200241076a2d00003a000020074188056a200241146a29020037030020074190056a2002411c6a29020037030020074198056a200241246a280200360200200720022f00053b01c0032007200229020c370380050c030b410441c00410ab80808000000b2008200d419ca9c68000108281808000000b200c41016a220e4101762202200d4b0d062007410036029007200741e8066a201220026a2012200d6a10d797808000200741bc036a200941206a280000360000200741b4036a200941186a290000370000200741ac036a200941106a290000370000200741a4036a200941086a2900003700002007200929000037009c03200e41017121090240024020012802282202450d0020012002417f6a36022820012001280224220241016a220e4100200128021c220a200e200a491b6b3602240240200128022020024102746a280200220e200128021822024f0d002001280214200e4107746a220220022d00004108464102746a10d889808000200241063a0004200241083a00002002200936022c20022007290099033700052002410d6a20074199036a41086a290000370000200241156a20074199036a41106a2900003700002002411d6a20074199036a41186a290000370000200241246a200741b8036a290000370000200220072902e806370230200241386a200741e8066a41086a290200370200200241c0006a200741e8066a41106a290200370200200241c8006a200741e8066a41186a290200370200200241d0006a20074188076a290200370200200241d8006a20074190076a2802003602000c020b200e200241e4abc68000108281808000000b02402001280218220e2001280210470d00200141106a41f4abc680001092868080000b2001280214200e4107746a220241063a0004200241083a000020022007290099033700052002200936022c200220072902e8063702302002410d6a20074199036a41086a290000370000200241156a20074199036a41106a2900003700002002411d6a20074199036a41186a290000370000200241246a200741b8036a290000370000200241386a200741e8066a41086a290200370200200241c0006a200741e8066a41106a290200370200200241c8006a200741e8066a41186a290200370200200241d0006a20074188076a290200370200200241d8006a20074190076a2802003602002001200e41016a3602180b4100210a0b2008200b410f71200b410476200c4101711b41246c6a2202200a3a0000200220072f01c0033b00012002200e3602042002200729038005370208200241036a200741c0036a41026a2d00003a0000200241106a20074180056a41086a290300370200200241186a20074180056a41106a290300370200200241206a20074180056a41186a280200360200200741033a00c403200720083602f003200741073a00c00320074180056a2001200741c0036a200320042005200610868a80800020072802840521082007280280054102460d16200741106a41086a2007419c056a290200370300200741106a41106a20074180056a41246a280200360200200741f0086a41086a200741c0056a290200370300200741f0086a41106a200741c8056a290200370300200741f0086a41186a200741d0056a290200370300200741f0086a41206a200741d8056a29020037030020074198096a200741e0056a2802003602002007200729029405370310200720072902b8053703f0082008411076210d2008410876210e20072f0089052007418b056a2d0000411074722103200728029005210b200728028c05210220072d008805210a20072802a805210120072802ac05210420072802b005210520072802b40521090c130b2008200c6a220a410176220e20024b0d0520072802a0012108200741a8056a220d410036020020074180056a2008200e6a200820026a10d797808000200741f4046a200d280200360200200741ec046a20074180056a41206a290200370200200741e4046a20074180056a41186a290200370200200741dc046a20074180056a41106a290200370200200741d4046a20074180056a41086a220229020037020020072007290280053702cc04200741ac046a200941086a290200370200200741b4046a200941106a290200370200200741bc046a200941186a290200370200200741c4046a200941206a28020036020020032003280208200c6a3602082007200a4101713602c804200720092902003702a404200741063a00a00420074180056a2001200741a0046a200320042005200610868a80800020072802840521082007280280054102460d15200741c0036a200241dc0010f4978080001a20074180056a200741a0016a200c10e5978080000240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c220520032005491b6b3602240240200128022020024102746a2802002202200128021822034f0d00200128021420024107746a220320032d00004108464102746a10d88980800020032008360204200341083a0000200341086a200741c0036a41dc0010f4978080001a0c020b2002200341e4abc68000108281808000000b0240200128021822022001280210470d00200141106a41f4abc680001092868080000b200128021420024107746a22032008360204200341083a0000200341086a200741c0036a41dc0010f4978080001a2001200241016a3602180b200741f8086a20074194056a29020037030020074180096a2007419c056a29020037030020074188096a200741a4056a29020037030020074190096a200741ac056a2802003602002007200729028c053703f0082007280280052104200728028405210520072802880521094100210a410621080c120b20072802a8012208410176220120072802a40122044b0d0520072802a00121054100210a200741a8056a2209410036020020074180056a200520016a200520046a10d797808000200741f8086a20074180056a41106a290200370300200741f0086a41106a20074180056a41186a290200370300200741f0086a41186a20074180056a41206a290200370300200741f0086a41206a200928020036020020072007290288053703f0082003410173210c2008410171210420072802840521092007280280052105410621080c120b20022802302109200741c0036a41286a2002412c6a280200360200200741c0036a41206a200241246a290200370300200741d8036a2002411c6a290200370300200741d0036a200241146a290200370300200741c0036a41086a2002410c6a290200370300200720022902043703c003200241046a210e0240024002400240024002400240024002400240024002402007280204220c41017420072802082208460d002008410176220a200c4f0d012007280200200a6a2d0000210c2003200328020841016a3602082009200c410f71200c41047620084101711b41246c6a22082d0000210c200841023a0000200c4102460d02200741286a41096a200841096a290000370000200741286a41116a200841116a290000370000200741286a41196a200841196a290000370000200741286a41206a200841206a2800003600002007200c3a00282007200829000137002920074180056a2001200741286a200320042005200610878a808000200728028005210320072d00840522054102470d07200041023602002000200336020420072d00c00322004103460d0620000e020406030b200720053602a805200720043602a405200720053602880520072004360284054100210c200741003a0081052007200541204b410174220a3a00800520072d00c0034103460d1a200741c0036a20074180056a10e589808000210c0c1a0b200a200c419ca9c68000108281808000000b2003280208220e41017622062003280204220c4b0d0e200541204b410174210a200741003602bc0720074194076a2003280200220320066a2003200c6a10d797808000200e410171210c20012802282203450d0620012003417f6a36022820012001280224220341016a22064100200128021c220e2006200e491b6b360224200128022020034102746a2802002206200128021822034f0d05200128021420064107746a220320032d00004108464102746a10d8898080002003200c360234200320053602302003200436022c200320053602102003200436020c200341003a00092003200a3a0008200341053a0004200341083a00002003200729029407370238200341c0006a20074194076a41086a290200370200200341c8006a200741a4076a290200370200200341d0006a200741ac076a290200370200200341d8006a200741b4076a290200370200200341e0006a200741bc076a2802003602000c070b20072802e403220020002802002200417f6a36020020004101470d02200741e4036a21000c010b20072802c403220020002802002200417f6a36020020004101470d01200741c0036a41047221000b200010f0978080000b20092009417e6a2f01006b41002802ec82d48000118180808000000c280b20082003360204200841003a000020054101710d03200741d8006a200e41086a290000370000200741e0006a200e41106a290000370000200741e8006a200e41186a290000370000200741f0006a200e41206a290000370000200741f8006a200e41286a280000360000200041073a0004200041013602002007200e2900003700502000200729004d3700052000410d6a200741cd006a41086a290000370000200041156a200741cd006a41106a2900003700002000411d6a200741cd006a41186a290000370000200041256a200741cd006a41206a2900003700002000412c6a200741f4006a290000370000200020093602340c270b2006200341e4abc68000108281808000000b0240200128021822062001280210470d00200141106a41f4abc680001092868080000b200128021420064107746a2203200c360234200320053602302003200436022c200320053602102003200436020c200341003a00092003200a3a0008200341053a0004200341083a00002003200729029407370238200341c0006a20074194076a41086a290200370200200341c8006a200741a4076a290200370200200341d0006a200741ac076a290200370200200341d8006a200741b4076a290200370200200341e0006a200741bc076a2802003602002001200641016a3602180b20082006360204200841003a00000b200741186a200241186a290200370300200741106a41106a200241206a2802003602002007200229021037031020072f00c10320072d00c3034110747221034100210c20072802e803210520072802e403210420072802e003210120072802c803210b20072802c403210220072d00c003210a410721080c220b200741c0036a41286a200241d8006a290200370300200741c0036a41206a200241d0006a290200370300200741c0036a41186a200241c8006a290200370300200741c0036a41106a200241c0006a290200370300200741c0036a41086a2208200241386a290200370300200720022902303703c003200228022c2111200741e8026a41286a200241286a280200360200200741e8026a41206a200241206a290200370300200741e8026a41186a200241186a290200370300200741e8026a41106a200241106a290200370300200741e8026a41086a200241086a290200370300200720022902003703e802200720072802c0033602d4012007200828020020072802ec032208200841284b22081b3602d001200720072802c403200741c0036a41047220081b3602cc012007200741cc016a10e697808000210920072802cc01210a02400240200920072802d001220e41017420072802d401220d6b2208470d002009200728020441017420072802086b460d010b02400240024002400240024002400240024020092008490d00200728020820096a220c41017622082007280204220e4f0d01200728020020086a2d000021082003200920032802086a41016a36020820112008410f712008410476200c4101711b41246c6a22082d00002109200841023a000020094102460d02200741fc006a41096a200841096a290000370000200741fc006a41116a200841116a290000370000200741fc006a41196a200841196a290000370000200741fc006a41206a200841206a280000360000200720093a007c2007200829000137007d20074180056a2001200741fc006a200320042005200610878a808000200728028005210320072d00840522054102470d032000410236020020002003360204200741e8026a10db8980800020112011417e6a2f01006b41002802ec82d48000118180808000000c040b200d200941016a220b6a22064101762203200e4b0d0e200741003602e807200741c0076a200a20036a200a200e6a10d797808000200d20096a220c4101762203200e490d072003200e419ca9c68000108281808000000b2008200e419ca9c68000108281808000000b2003280208220c4101762209200328020422064b0d0d200541204b410174210e2007410036029408200741ec076a2003280200220320096a200320066a10d797808000200c410171210620012802282203450d0320012003417f6a36022820012001280224220341016a22094100200128021c220c2009200c491b6b360224200128022020034102746a2802002209200128021822034f0d02200128021420094107746a220320032d00004108464102746a10d88980800020032006360234200320053602302003200436022c200320053602102003200436020c200341003a00092003200e3a0008200341053a0004200341083a0000200320072902ec07370238200341c0006a200741ec076a41086a290200370200200341c8006a200741fc076a290200370200200341d0006a20074184086a290200370200200341d8006a2007418c086a290200370200200341e0006a20074194086a2802003602000c040b20082003360204200841003a000020054101710d11200041346a200741cc016a10e49780800020002011360230200041013602002000412c6a200241286a280200360200200041246a200241206a2902003702002000411c6a200241186a290200370200200041146a200241106a2902003702002000410c6a200241086a290200370200200020022902003702040b20072802ec034129490d2720072802c40322002000417e6a2f00006b41002802ec82d48000118180808000000c270b2009200341e4abc68000108281808000000b0240200128021822092001280210470d00200141106a41f4abc680001092868080000b200128021420094107746a22032006360234200320053602302003200436022c200320053602102003200436020c200341003a00092003200e3a0008200341053a0004200341083a0000200320072902ec07370238200341c0006a200741ec076a41086a290200370200200341c8006a200741fc076a290200370200200341d0006a20074184086a290200370200200341d8006a2007418c086a290200370200200341e0006a20074194086a2802003602002001200941016a3602180b20082009360204200841003a00000c0d0b200a20036a2d0000210841002d008083d480001a41c00441002802f482d48000118280808000002203450d082006410171210a2003200341036a417c7120036b220e6a220641023a009c04200641023a00f803200641023a00d403200641023a00b003200641023a008c03200641023a00e802200641023a00c402200641023a00a002200641023a00fc01200641023a00d801200641023a00b401200641023a009001200641023a006c200641023a0048200641023a0024200641023a00002006417e6a200e3b0000200741ab056a200241286a280000360000200741a3056a200241206a2900003700002007419b056a200241186a29000037000020074193056a200241106a2900003700002007418b056a200241086a2900003700002007200229000037008305200141106a210d0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c220e2003200e491b6b3602240240200128022020024102746a2802002203200128021822024f0d00200141186a2113200128021420034107746a220220022d00004108464102746a10d889808000200241083a00002002200a360234200220113602302002200729008005370001200241096a20074180056a41086a290000370000200241116a20074180056a41106a290000370000200241196a20074180056a41186a290000370000200241216a20074180056a41206a290000370000200241286a200741a7056a290000370000200220072902c007370238200241c0006a200741c0076a41086a290200370200200241c8006a200741c0076a41106a290200370200200241d0006a200741c0076a41186a290200370200200241d8006a200741c0076a41206a290200370200200241e0006a200741c0076a41286a2802003602000c020b2003200241e4abc68000108281808000000b0240200128021822032001280210470d00200d41f4abc680001092868080000b200141186a2113200128021420034107746a220241083a000020022007290080053700012002200a36023420022011360230200220072902c007370238200241096a20074180056a41086a290000370000200241116a20074180056a41106a290000370000200241196a20074180056a41186a290000370000200241216a20074180056a41206a290000370000200241286a200741a7056a290000370000200241c0006a200741c0076a41086a290200370200200241c8006a200741c0076a41106a290200370200200241d0006a200741c0076a41186a290200370200200241d8006a200741c0076a41206a290200370200200241e0006a200741c0076a41286a2802003602002001200341016a3602180b20062008410f712008410476200c4101711b41246c6a220220033602044100210e200241003a0000200541204b410174210802400240200728020422024101742007280208220c20096a2203470d0020074180056a200741cc016a200910e597808000200741f0086a41086a2007418c056a29020037030020074180096a20074194056a29020037030020074188096a2007419c056a290200370300200741f0086a41206a20074180056a41246a29020037030020074198096a200741ac056a28020036020020072007290284053703f00820044108762103200728028005210920052113200521022004210a0c010b2003410176220e20024f0d0b200c200b6a220b410176220a20024b0d0a2007280200220c200e6a2d0000210e200741003602ec08200741c4086a200c200a6a200c20026a10d797808000200b410171210a0240024020012802282202450d0020012002417f6a36022820012001280224220241016a220c4100200128021c220d200c200d491b6b3602240240200128022020024102746a280200220c200128021822024f0d002001280214200c4107746a220220022d00004108464102746a10d8898080002002200a360234200220053602302002200436022c200220053602102002200436020c200241003a0009200220083a0008200241053a0004200241083a0000200220072902c408370238200241c0006a200741c4086a41086a290200370200200241c8006a200741d4086a290200370200200241d0006a200741dc086a290200370200200241d8006a200741e4086a290200370200200241e0006a200741ec086a2802003602000c020b200c200241e4abc68000108281808000000b02402013280200220c200d280200470d00200d41f4abc680001092868080000b2001280214200c4107746a2202200a360234200220053602302002200436022c200220053602102002200436020c200241003a0009200220083a0008200241053a0004200241083a0000200220072902c408370238200241c0006a200741c4086a41086a290200370200200241c8006a200741d4086a290200370200200241d0006a200741dc086a290200370200200241d8006a200741e4086a290200370200200241e0006a200741ec086a2802003602002001200c41016a3602180b2006200e410f71200e41047620034101711b41246c6a2202200c3602044100210e200241003a000020074180056a200741cc016a200910e597808000200741f8086a2007418c056a29020037030020074180096a20074194056a29020037030020074188096a2007419c056a29020037030020074190096a20074180056a41246a29020037030020074198096a200741ac056a28020036020020072007290284053703f0082007280280052109410321080b4100210c0c0d0b200720053602a805200720043602a405200720053602880520072004360284054100210c200741003a0081052007200541204b41017422083a00800520072d00e8024103460d0a200741e8026a20074180056a10e589808000210c0c0a0b2002200141ece3cd8000109281808000000b2002200d41ece3cd8000109281808000000b200e200241ece3cd8000109281808000000b2001200441ece3cd8000109281808000000b2006200c41ece3cd8000109281808000000b2003200e41ece3cd8000109281808000000b2009200641ece3cd8000109281808000000b410441c00410ab80808000000b200a200241ece3cd8000109281808000000b200e2002419ca9c68000108281808000000b0240024002400240200d410176220b200e4b0d002007410036029809200741f0086a200a200b6a200a200e6a10d797808000200328020820096a220a41017621092003280204210e2003280200210302400240200a4101710d002009200e4b0d03200741003a00a801200720093602a401200720033602a0010c010b2009200e4b0d032009200e4f0d04200741013a00a801200720033602a001200720093602a4012007200320096a2d000041f001713a00a9010b20044108762103200d4101712109200120062002200741a0016a10888a8080004100210e2011210620052113200521022004210a0c050b200b200e41ece3cd8000109281808000000b2009200e41fce4cd8000109181808000000b2009200e418ce5cd8000109181808000000b2009200e419ce5cd8000108281808000000b20072802d4012201410176220320072802d00122054b0d014100210c20074198086a41286a2204410036020020074198086a20072802cc01220820036a200820056a10d797808000200741106a41086a200241186a290200370300200741106a41106a200241206a280200360200200741f0086a41086a20074198086a41086a290200370300200741f0086a41106a20074198086a41106a290200370300200741f0086a41186a20074198086a41186a290200370300200741f0086a41206a20074198086a41206a290200370300200741f0086a41286a20042802003602002007200229021037031020072007290298083703f0082001410171210920072f00ed0220072d00ef024110747221032007280290032113200728028c03210420072802f402210b20072802f002210220072d00ec02210a20072f01ea02210d20072d00e902210e20072d00e8022108201121060b024020072802ec034129490d0020072802c40322052005417e6a2f00006b41002802ec82d48000118180808000000b2004210120062105201321040c140b2003200541ece3cd8000109281808000000b20072d008305210d20072f008105210b2003280208220841017621020240024002400240024020084101710d002002200328020422084b0d02200741003a00f002200720023602ec02200720032802003602e8020c010b2002200328020422084b0d02200220084f0d0320032802002103200741013a00f002200720033602e802200720023602ec022007200320026a2d000041f001713a00f1020b200b200d41107472210320012006200e200741e8026a10888a808000410721082005210b200421020c150b2002200841fce4cd8000109181808000000b20022008418ce5cd8000109181808000000b20022008419ce5cd8000108281808000000b4100210c0b2007280294034129490d1020072802ec0222062006417e6a2f00006b41002802ec82d48000118180808000000c100b41aca9c68000412a41d8a9c68000108081808000000b20004102360200200020083602042007280294034129490d0f20072802ec0222002000417e6a2f00006b41002802ec82d48000118180808000000c0f0b2009200728020441017420072802086b470d00200541204b0d0120074180056a41046a210220074180056a41086a210c4100210e0c020b024020092002490d00200a4101762202200c4b0d03200741003602b80620074190066a200e20026a200e200c6a10d79780800041002d008083d480001a41c00441002802f482d48000118280808000002202450d042002200241036a417c7120026b22096a220241023a009c04200241023a00f803200241023a00d403200241023a00b003200241023a008c03200241023a00e802200241023a00c402200241023a00a002200241023a00fc01200241023a00d801200241023a00b401200241023a009001200241023a006c200241023a0048200241023a0024200241023a00002002417e6a20093b000020074188026a41086a200841086a29020037030020074188026a41106a200841106a29020037030020074188026a41186a200841186a29020037030020074188026a41206a200841206a29020037030020074188026a41286a200841286a2802003602002007200829020037038802200741c4026a20074190066a41086a290200370200200741cc026a20074190066a41106a290200370200200741d4026a20074190066a41186a290200370200200741dc026a20074190066a41206a290200370200200741e4026a20074190066a41286a2802003602002007200a4101713602b802200720023602b40220072007290290063702bc0220074180056a200120074188026a200320042005200610868a80800020072802840521082007280280054102460d0c200741106a41086a2007419c056a290200370300200741106a41106a200741a4056a280200360200200741f0086a41086a200741c0056a290200370300200741f0086a41106a200741c8056a290200370300200741f0086a41186a200741d0056a290200370300200741f0086a41206a200741d8056a290200370300200741f0086a41286a200741e0056a2802003602002007200729029405370310200720072902b8053703f0082008411076210d2008410876210e20072f0089052007418b056a2d0000411074722103200728029005210b200728028c05210220072d008805210a20072802a805210120072802ac05210420072802b005210520072802b40521094100210c0c0b0b41002d008083d480001a41c00441002802f482d48000118280808000002202450d042002200241036a417c7120026b220d6a220241023a009c04200241023a00f803200241023a00d403200241023a00b003200241023a008c03200241023a00e802200241023a00c402200241023a00a002200241023a00fc01200241023a00d801200241023a00b401200241023a009001200241023a006c200241023a0048200241023a0024200241023a00002002417e6a200d3b0000200a20096a220a410176220d200c4f0d06200a41016a2211410176220b200c4b0d05200e200d6a2d0000210d200741003602e406200741bc066a200e200b6a200e200c6a10d79780800020074184026a200841286a280000360000200741fc016a200841206a290000370000200741f4016a200841186a290000370000200741ec016a200841106a290000370000200741e4016a200841086a290000370000200720082900003700dc012011410171210e0240024020012802282208450d0020012008417f6a36022820012001280224220841016a220c4100200128021c220b200c200b491b6b3602240240200128022020084102746a280200220c200128021822084f0d002001280214200c4107746a220820082d00004108464102746a10d889808000200841053a0004200841083a00002008200e360234200820072900d9013700052008410d6a200741d9016a41086a290000370000200841156a200741d9016a41106a2900003700002008411d6a200741d9016a41186a290000370000200841256a200741d9016a41206a2900003700002008412c6a20074180026a290000370000200820072902bc06370238200841c0006a200741bc066a41086a290200370200200841c8006a200741bc066a41106a290200370200200841d0006a200741bc066a41186a290200370200200841d8006a200741bc066a41206a290200370200200841e0006a200741e4066a2802003602000c020b200c200841e4abc68000108281808000000b02402001280218220c2001280210470d00200141106a41f4abc680001092868080000b2001280214200c4107746a220841053a0004200841083a0000200820072900d9013700052008200e360234200820072902bc063702382008410d6a200741d9016a41086a290000370000200841156a200741d9016a41106a2900003700002008411d6a200741d9016a41186a290000370000200841256a200741d9016a41206a2900003700002008412c6a20074180026a290000370000200841c0006a200741bc066a41086a290200370200200841c8006a200741bc066a41106a290200370200200841d0006a200741bc066a41186a290200370200200841d8006a200741bc066a41206a290200370200200841e0006a200741e4066a2802003602002001200c41016a3602180b2002200d410f71200d410476200a4101711b41246c6a2208200c3602044100210c200841003a0000200741f0036a2007200910e597808000200720023602ec03200741033a00c00320074180056a2001200741c0036a200320042005200610868a80800020072802840521082007280280054102460d0b200741106a41086a2007419c056a290200370300200741106a41106a20074180056a41246a280200360200200741f0086a41086a200741c0056a290200370300200741f0086a41106a200741c8056a29020037030020074188096a200741d0056a29020037030020074190096a200741d8056a29020037030020074198096a200741e0056a2802003602002007200729029405370310200720072902b8053703f0082008411076210d2008410876210e20072f0089052007418b056a2d0000411074722103200728029005210b200728028c05210220072d008805210a20072802a805210120072802ac05210420072802b005210520072802b40521090c0a0b20074180056a41246a210220074180056a41286a210c200741003a0081054102210e0b200c2005360200200220043602002007200e3a008005200741a0016a20074180056a10e589808000210c200328020820096a2204410176210220032802042105200328020021030240024020044101710d00200220054b0d07200741003a00c803200720023602c403200720033602c0030c010b200220054b0d07200220054f0d08200741013a00c803200720033602c003200720023602c4032007200320026a2d000041f001713a00c9030b200120062008200741c0036a10888a808000200741003602980920072802e8022109200741f0086a20072802ec02200d200728029403220241284b22031b2205200520072802f002200220031b6a10cd89808000200741186a20074194056a290200370300200741106a41106a2007419c056a2802003602002007200729028c0537031020072f00810520072d008305411074722103200728028805210b200728028405210220072d008005210a20072802a005210120072802a405210420072802a8052105410521080c080b2002200c41ece3cd8000109281808000000b410441c00410ab80808000000b410441c00410ab80808000000b200b200c41ece3cd8000109281808000000b200d200c419ca9c68000108281808000000b2002200541fce4cd8000109181808000000b20022005418ce5cd8000109181808000000b20022005419ce5cd8000108281808000000b2007280294034129490d0120072802ec0222062006417e6a2f00006b41002802ec82d48000118180808000000c010b20004102360200200020083602042007280294034129490d0120072802ec0222002000417e6a2f00006b41002802ec82d48000118180808000000c010b200020033b00092000200b3602102000200236020c2000200a3a00082000200d3b01062000200e3a0005200020083a00042000200c3602002000200729031037021420002009360234200020053602302000200436022c200020013602282000410b6a20034110763a00002000411c6a200741106a41086a290300370200200041246a200741106a41106a280200360200200041e0006a20074198096a280200360200200041d8006a20074190096a290300370200200041d0006a20074188096a290300370200200041c8006a200741f0086a41106a290300370200200041c0006a200741f0086a41086a290300370200200020072903f0083702380b200741a0096a2480808080000bf41606067f017e127f017e017f017e23808080800041f0036b22072480808080002007200536021420072004360210024002400240024002400240024002400240024020022d00004101470d00200741306a200241196a290000370300200741286a200241116a290000370300200741206a200241096a290000370300200720022900013703182003280208220841017621020240024020084101710d002002200328020422084b0d04200741003a00dc01200720023602d801200720032802003602d4010c010b2002200328020422084b0d04200220084f0d0520032802002108200741013a00dc01200720083602d401200720023602d8012007200820026a2d000041f001713a00dd010b200741086a2001200741186a200741d4016a108c8a808000200728020c21022007280208410171450d01200041023a000420002002360200200420042802002201417f6a36020020014101470d09200741106a10f0978080000c090b200228020421020b024020012802282209200128021c2208470d002001411c6a4184acc6800010948f808000200128021c2108200128022821090b2001280220200128022420096a22094100200820092008491b6b4102746a20023602002001200128022841016a3602282002200128021822084f0d03200128021420024107746a22022d00002108200741396a200241016a41df0010f4978080001a200241043a0004200241083a00002002280260210902400240024020084108460d002003280208210a2003280204210b2003280200210c200741d4016a410172200741396a41df0010f4978080001a200741d0016a200241fc006a280000360200200741c8016a200241f4006a290000370300200741b8016a41086a200241ec006a290000370300200720013602b402200720033602b802200720083a00d401200720022900643703b801200741bc026a2001200741d4016a200320042005200610868a80800020072802c002210320072802bc0222024102460d09200729029803210d200728029403210e2007280290032105200728028c0321082007280288032106200728028403210f200728028003211020072802fc02211120072802f802211220072802f402211320072802f002211420072802ec02211520072802e802211620072802e402211720072802e002211820072802dc02211920072802d802211a20072802d402211b20072802d002211c20072802cc02211d20072802c802211e20072802c402211f2002410171450d0120074198016a41186a200741b8016a41186a28020036020020074198016a41106a200741b8016a41106a29030037030020074198016a41086a200741b8016a41086a290300370300200720072903b80137039801200341ff01712102200341807e7121044100210c201e210a201d211e201c211d201b211c201a211b2019211a20182119201721182016211720152116201421152013211420122113201f21032011211220102111200f21102006210f2008210620052108200e21050c020b200741d4016a2007413c6a41dc0010f4978080001a200720033602b802200720093602b002200720013602b402200741bc026a2001200741d4016a200320042005200610868a80800020072802c002210320072802bc0222024102460d082002417f73410171210c200728029c032109200729029403210d2007280290032105200728028c0321082007280288032106200728028403210f200728028003211020072802fc02211120072802f802211220072802f402211320072802f002211420072802ec02211520072802e802211620072802e402211720072802e002211820072802dc02211920072802d802211a20072802d402211b20072802d002211c20072802cc02211d20072802c802211e20072802c402210a41082102410021040c010b200a410176210202400240200a4101710d0002402002200b4b0d00410021040c020b2002200b41fce4cd8000109181808000000b2002200b4b0d062002200b4f0d07200c20026a2d0000417071210a410121040b200d42208821204100210b200741d4016a41286a22214100360200200741d4016a200c200c20026a10d797808000200741dc026a220241286a2021280200360200200241206a200741d4016a41206a290200370200200241186a200741d4016a41186a290200370200200241106a200741d4016a41106a290200370200200241086a200741d4016a41086a290200370200200220072902d401370200200741c8026a200741b8016a41086a290300370200200741d0026a200741b8016a41106a290300370200200741d8026a200741b8016a41186a2802003602002007200a3a008903200720043a008803200720093602bc02200720072903b8013702c00220074189036a2102024002400240200128025c2209450d00200741d4016a20092001280260200741bc026a10d083808000024020072802d401450d0020072802d801210b20072902dc012122200741a4036a200741bc026a41cc0010f4978080001a200741a0036a41026a200241026a2d00003a0000200720022f00003b01a0030c020b2007280284034129490d0220072802dc0222022002417e6a2f00006b41002802ec82d48000118180808000000c020b200741a4036a200741bc026a41cc0010f4978080001a200741a0036a41026a200241026a2d00003a0000200720022f00003b01a0030b2007200141dc006a3602e001200720223702d8012007200b3602d401200741e4016a200741a4036a41cc0010f4978080001a200741b3026a200741a2036a2d00003a0000200720043a00b002200720072f01a0033b00b102200741d4016a109a8d8080001a0b2020a72109200d422086200ead84210d4101210c4108210241002104201f210a0b2002200472210b0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22044100200128021c221f2004201f491b6b3602240240200128022020024102746a2802002204200128021822024f0d00200128021420044107746a220120012d00004108464102746a10d889808000200120093602602001200d37025820012005360254200120083602502001200636024c2001200f36024820012010360244200120113602402001201236023c2001201336023820012014360234200120153602302001201636022c2001201736022820012018360224200120193602202001201a36021c2001201b3602182001201c3602142001201d3602102001201e36020c2001200a360208200120033602042001200b360200200141fc006a200741b0016a280200360200200141f4006a200741a8016a290300370200200141ec006a20074198016a41086a29030037020020012007290398013702640c020b2004200241e4abc68000108281808000000b0240200128021822042001280210470d00200141106a41f4abc680001092868080000b200128021420044107746a220220093602602002200d37025820022005360254200220083602502002200636024c2002200f36024820022010360244200220113602402002201236023c2002201336023820022014360234200220153602302002201636022c2002201736022820022018360224200220193602202002201a36021c2002201b3602182002201c3602142002201d3602102002201e36020c2002200a360208200220033602042002200b360200200241fc006a200741b0016a280200360200200241f4006a200741a8016a290300370200200241ec006a200741a0016a29030037020020022007290398013702642001200441016a3602180b2000200c3a0004200020043602000c070b2002200841fce4cd8000109181808000000b20022008418ce5cd8000109181808000000b20022008419ce5cd8000108281808000000b200220084194acc68000108281808000000b2002200b418ce5cd8000109181808000000b2002200b419ce5cd8000108281808000000b200041023a0004200020033602000b200741f0036a2480808080000bb70602047f017e23808080800041b0026b220424808080800002400240024020022d000022050e0402010002020b4102210520022d00014101470d010b41002106200441d4006a41286a22074100360200200441186a200220056a220541186a290000370300200441106a200541106a290000370300200441086a200541086a29000037030020042005290000370300200441d4006a20032802002205200520032802046a10cd89808000200441286a200441d4006a41086a290200370300200441306a200441d4006a41106a290200370300200441386a200441d4006a41186a290200370300200441c0006a200441f4006a290200370300200441c8006a200728020036020020042004290254370320200420032d00093a004d200420032d000822053a004c200441cd006a210302400240200028025c2207450d00200441d0016a20072000280260200410d083808000024020042802d0010d0020042802484129490d03200428022022032003417e6a2f00006b41002802ec82d48000118180808000000c030b20042802d401210620042902d801210820044184016a200441cc0010f4978080001a20044180016a41026a200341026a2d00003a0000200420032f00003b0180010c010b20044184016a200441cc0010f4978080001a20044180016a41026a200341026a2d00003a0000200420032f00003b0180010b2004200041dc006a3602dc01200420083702d401200420063602d001200441e0016a20044184016a41cc0010f4978080001a200441af026a20044182016a2d00003a0000200420053a00ac02200420042f0180013b00ad02200441d0016a109a8d8080001a0b024020012d000022034103460d0002400240024020030e020103000b2001280224220320032802002203417f6a36020020034101470d02200141246a21030c010b2001280204220320032802002203417f6a36020020034101470d01200141046a21030b200310f0978080000b20012002290200370200200141286a200241286a280200360200200141206a200241206a290200370200200141186a200241186a290200370200200141106a200241106a290200370200200141086a200241086a290200370200200441b0026a2480808080000be36703087f027e037f23808080800041a0096b2207248080808000200741086a200341086a2802003602002007200329020037030002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020022d0000417c6a41ff01712208410420084104491b0e050001020304000b200728020822084101762202200728020422014b0d0441002103200741e4056a41286a22064100360200200741e4056a2007280200220920026a200920016a10d797808000200741f0086a41286a2006280200360200200741f0086a41206a200741e4056a41206a290200370300200741f0086a41186a200741e4056a41186a290200370300200741f0086a41106a200741e4056a41106a290200370300200741f0086a41086a200741e4056a41086a290200370300200720072902e4053703f0082008410171210841052102410021012005210a2004210b4100210c410021090c240b200741e8026a41286a200241d8006a290200370300200741e8026a41206a200241d0006a290200370300200741e8026a41186a200241c8006a290200370300200741e8026a41106a200241c0006a290200370300200741e8026a41086a2208200241386a290200370300200720022902303703e802200741a0016a41286a2002412c6a280200360200200741a0016a41206a200241246a290200370300200741a0016a41186a2002411c6a290200370300200741a0016a41106a200241146a290200370300200741a0016a41086a2002410c6a290200370300200720022902043703a001200720072802e8023602d401200720082802002007280294032208200841284b22081b3602d001200720072802ec02200741e8026a410472220a20081b3602cc01200241046a21082007200741cc016a10e697808000210b20072802cc01210d200b20072802d001220941017420072802d401220e6b2202460d170c180b200741e8026a41286a200241d0006a29020037030020074188036a200241c8006a29020037030020074180036a200241c0006a290200370300200741f8026a200241386a290200370300200741e8026a41086a200241306a290200220f3703002007200229022822103703e80220022d0004210e2002280208210b200720103e02a8012007200fa72007280294032208200841284b22081b3602a401200720072802ec02200741e8026a41047220081b3602a001200241046a21090240024002402007200741a0016a10e6978080002208450d00200820072802a401220241017420072802a801220b6b470d012003200328020820086a36020820074180056a200120092003200420052006108a8a808000200728028005210b20072d00840522024102470d02200b21020c180b20072802a401220a410174221120072802a801220d460d16024002400240200d4101762208200a4f0d0020072802a001221220086a2d0000210c41002d008083d480001a024041c00441002802f482d48000118280808000002208450d002008200841036a417c7120086b22136a220841023a009c04200841023a00f803200841023a00d403200841023a00b003200841023a008c03200841023a00e802200841023a00c402200841023a00a002200841023a00fc01200841023a00d801200841023a00b401200841023a009001200841023a006c200841023a0048200841023a0024200841023a00002008417e6a20133b00002011200d6b4101470d02200741c0036a41026a200241076a2d00003a000020074188056a200241146a29020037030020074190056a2002411c6a29020037030020074198056a200241246a280200360200200720022f00053b01c0032007200229020c370380050c030b410441c00410ab80808000000b2008200a419ca9c68000108281808000000b200d41016a220b4101762202200a4b0d062007410036029007200741e8066a201220026a2012200a6a10d797808000200741bc036a200941206a280000360000200741b4036a200941186a290000370000200741ac036a200941106a290000370000200741a4036a200941086a2900003700002007200929000037009c03200b41017121090240024020012802282202450d0020012002417f6a36022820012001280224220241016a220b4100200128021c220e200b200e491b6b3602240240200128022020024102746a280200220b200128021822024f0d002001280214200b4107746a220220022d00004108464102746a10d889808000200241063a0004200241083a00002002200936022c20022007290099033700052002410d6a20074199036a41086a290000370000200241156a20074199036a41106a2900003700002002411d6a20074199036a41186a290000370000200241246a200741b8036a290000370000200220072902e806370230200241386a200741e8066a41086a290200370200200241c0006a200741e8066a41106a290200370200200241c8006a200741e8066a41186a290200370200200241d0006a20074188076a290200370200200241d8006a20074190076a2802003602000c020b200b200241e4abc68000108281808000000b02402001280218220b2001280210470d00200141106a41f4abc680001092868080000b2001280214200b4107746a220241063a0004200241083a000020022007290099033700052002200936022c200220072902e8063702302002410d6a20074199036a41086a290000370000200241156a20074199036a41106a2900003700002002411d6a20074199036a41186a290000370000200241246a200741b8036a290000370000200241386a200741e8066a41086a290200370200200241c0006a200741e8066a41106a290200370200200241c8006a200741e8066a41186a290200370200200241d0006a20074188076a290200370200200241d8006a20074190076a2802003602002001200b41016a3602180b4100210e0b2008200c410f71200c410476200d4101711b41246c6a2202200e3a0000200220072f01c0033b00012002200b3602042002200729038005370208200241036a200741c0036a41026a2d00003a0000200241106a20074180056a41086a290300370200200241186a20074180056a41106a290300370200200241206a20074180056a41186a280200360200200741033a00c403200720083602f003200741073a00c00320074180056a2001200741c0036a200320042005200610898a80800020072802840521022007280280054102460d17200741106a41086a2007419c056a290200370300200741106a41106a20074180056a41246a280200360200200741f0086a41086a200741c0056a290200370300200741f0086a41106a200741c8056a290200370300200741f0086a41186a200741d0056a290200370300200741f0086a41206a200741d8056a29020037030020074198096a200741e0056a2802003602002007200729029405370310200720072902b8053703f0082002411076210e2002410876210d20072f0089052007418b056a2d0000411074722103200728029005210a200728028c05210b20072d008805210c20072802a805210120072802ac05210420072802b005210520072802b40521080c140b200b20086a220e410176220d20024b0d0520072802a001210b200741a8056a220a410036020020074180056a200b200d6a200b20026a10d797808000200741f4046a200a280200360200200741ec046a20074180056a41206a290200370200200741e4046a20074180056a41186a290200370200200741dc046a20074180056a41106a290200370200200741d4046a20074180056a41086a220b29020037020020072007290280053702cc04200741ac046a200941086a290200370200200741b4046a200941106a290200370200200741bc046a200941186a290200370200200741c4046a200941206a2802003602002003200328020820086a3602082007200e4101713602c804200720092902003702a404200741063a00a00420074180056a2001200741a0046a200320042005200610898a80800020072802840521022007280280054102460d16200741c0036a200b41dc0010f4978080001a20074180056a200741a0016a200810e5978080000240024020012802282203450d0020012003417f6a36022820012001280224220341016a22044100200128021c220520042005491b6b3602240240200128022020034102746a280200220b200128021822034f0d002001280214200b4107746a220320032d00004108464102746a10d88980800020032002360204200341083a0000200341086a200741c0036a41dc0010f4978080001a0c020b200b200341e4abc68000108281808000000b02402001280218220b2001280210470d00200141106a41f4abc680001092868080000b2001280214200b4107746a22032002360204200341083a0000200341086a200741c0036a41dc0010f4978080001a2001200b41016a3602180b200741f8086a20074194056a29020037030020074180096a2007419c056a29020037030020074188096a200741a4056a29020037030020074190096a200741ac056a2802003602002007200729028c053703f0082007280280052104200728028405210520072802880521084100210c410621020c130b20072802a8012205410176220120072802a40122044b0d0520072802a00121034100210c200741a8056a2208410036020020074180056a200320016a200320046a10d797808000200741f8086a20074180056a41106a290200370300200741f0086a41106a20074180056a41186a290200370300200741f0086a41186a20074180056a41206a290200370300200741f0086a41206a200828020036020020072007290288053703f008200241017321092005410171210420072802840521082007280280052105410621020c130b20022802302108200741e8036a2002412c6a280200360200200741e0036a200241246a290200370300200741d8036a2002411c6a290200370300200741d0036a200241146a290200370300200741c0036a41086a2002410c6a290200370300200720022902043703c003200241046a210b024002400240024002400240024002402007280204220d41017420072802082209460d002009410176220e200d4f0d012007280200200e6a2d0000210d2003200328020841016a3602082008200d410f71200d41047620094101711b41246c6a22092d0000210d200941023a0000200d4102460d02200741286a41096a200941096a290000370000200741286a41116a200941116a290000370000200741286a41196a200941196a290000370000200741286a41206a200941206a2800003600002007200d3a00282007200929000137002920074180056a2001200741286a2003200420052006108a8a808000200728028005210320072d00840522014102470d07200041023602002000200336020420072d00c00322004103460d0620000e020406030b200720053602a805200720043602a4052007200536028805200720043602840541002109200741003b01800520072d00c0034103460d17200741c0036a20074180056a10e58980800021090c170b200e200d419ca9c68000108281808000000b2003280208220d41017622062003280204220b4b0d0a200741003602bc0720074194076a2003280200220320066a2003200b6a10d797808000200d410171210b0240024020012802282203450d0020012003417f6a36022820012001280224220341016a22064100200128021c220d2006200d491b6b3602240240200128022020034102746a2802002206200128021822034f0d00200128021420064107746a220320032d00004108464102746a10d8898080002003200b360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a00002003200729029407370238200341c0006a20074194076a41086a290200370200200341c8006a200741a4076a290200370200200341d0006a200741ac076a290200370200200341d8006a200741b4076a290200370200200341e0006a200741bc076a2802003602000c020b2006200341e4abc68000108281808000000b0240200128021822062001280210470d00200141106a41f4abc680001092868080000b200128021420064107746a2203200b360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a00002003200729029407370238200341c0006a20074194076a41086a290200370200200341c8006a200741a4076a290200370200200341d0006a200741ac076a290200370200200341d8006a200741b4076a290200370200200341e0006a200741bc076a2802003602002001200641016a3602180b20092006360204200941003a00000c140b20072802e403220020002802002200417f6a36020020004101470d02200741e4036a21000c010b20072802c403220020002802002200417f6a36020020004101470d01200741c0036a41047221000b200010f0978080000b20082008417e6a2f01006b41002802ec82d48000118180808000000c230b20092003360204200941003a000020014101710d0f200741d8006a200b41086a290000370000200741e0006a200b41106a290000370000200741e8006a200b41186a290000370000200741f0006a200b41206a290000370000200741f8006a200b41286a280000360000200041073a0004200041013602002007200b2900003700502000200729004d3700052000410d6a200741cd006a41086a290000370000200041156a200741cd006a41106a2900003700002000411d6a200741cd006a41186a290000370000200041256a200741cd006a41206a2900003700002000412c6a200741f4006a290000370000200020083602340c220b200741c0036a41286a200241d8006a290200370300200741c0036a41206a200241d0006a290200370300200741c0036a41186a200241c8006a290200370300200741c0036a41106a200241c0006a290200370300200741c0036a41086a2208200241386a290200370300200720022902303703c003200228022c2111200741e8026a41286a200241286a280200360200200741e8026a41206a200241206a290200370300200741e8026a41186a200241186a290200370300200741e8026a41106a200241106a290200370300200741e8026a41086a200241086a290200370300200720022902003703e802200720072802c0033602d4012007200828020020072802ec032208200841284b22081b3602d001200720072802c403200741c0036a41047220081b3602cc012007200741cc016a10e697808000210820072802cc01210d02400240200820072802d001220b41017420072802d401220e6b2209470d002008200728020441017420072802086b460d010b02400240024002400240024020082009490d00200728020820086a220b41017622092007280204220d4f0d01200728020020096a2d000021092003200820032802086a41016a36020820112009410f712009410476200b4101711b41246c6a22082d00002109200841023a000020094102460d02200741fc006a41096a200841096a290000370000200741fc006a41116a200841116a290000370000200741fc006a41196a200841196a290000370000200741fc006a41206a200841206a280000360000200720093a007c2007200829000137007d20074180056a2001200741fc006a2003200420052006108a8a808000200728028005210320072d00840522014102470d032000410236020020002003360204200741e8026a10db8980800020112011417e6a2f01006b41002802ec82d48000118180808000000c040b200e200841016a220a6a22064101762203200b4b0d0b200741003602e807200741c0076a200d20036a200d200b6a10d797808000200e20086a220e4101762203200b490d042003200b419ca9c68000108281808000000b2009200d419ca9c68000108281808000000b2003280208220b4101762206200328020422094b0d0a2007410036029408200741ec076a2003280200220320066a200320096a10d797808000200b41017121090240024020012802282203450d0020012003417f6a36022820012001280224220341016a22064100200128021c220b2006200b491b6b3602240240200128022020034102746a2802002206200128021822034f0d00200128021420064107746a220320032d00004108464102746a10d88980800020032009360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a0000200320072902ec07370238200341c0006a200741ec076a41086a290200370200200341c8006a200741fc076a290200370200200341d0006a20074184086a290200370200200341d8006a2007418c086a290200370200200341e0006a20074194086a2802003602000c020b2006200341e4abc68000108281808000000b0240200128021822062001280210470d00200141106a41f4abc680001092868080000b200128021420064107746a22032009360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a0000200320072902ec07370238200341c0006a200741ec076a41086a290200370200200341c8006a200741fc076a290200370200200341d0006a20074184086a290200370200200341d8006a2007418c086a290200370200200341e0006a20074194086a2802003602002001200641016a3602180b20082006360204200841003a00000c0f0b20082003360204200841003a000020014101710d0e200041346a200741cc016a10e49780800020002011360230200041013602002000412c6a200241286a280200360200200041246a200241206a2902003702002000411c6a200241186a290200370200200041146a200241106a2902003702002000410c6a200241086a290200370200200020022902003702040b20072802ec034129490d2320072802c40322002000417e6a2f00006b41002802ec82d48000118180808000000c230b200d20036a2d0000210941002d008083d480001a41c00441002802f482d48000118280808000002203450d082006410171210d2003200341036a417c7120036b220b6a220641023a009c04200641023a00f803200641023a00d403200641023a00b003200641023a008c03200641023a00e802200641023a00c402200641023a00a002200641023a00fc01200641023a00d801200641023a00b401200641023a009001200641023a006c200641023a0048200641023a0024200641023a00002006417e6a200b3b0000200741ab056a200241286a280000360000200741a3056a200241206a2900003700002007419b056a200241186a29000037000020074193056a200241106a2900003700002007418b056a200241086a2900003700002007200229000037008305200141106a210c0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c220b2003200b491b6b3602240240200128022020024102746a2802002203200128021822024f0d00200141186a2113200128021420034107746a220220022d00004108464102746a10d889808000200241083a00002002200d360234200220113602302002200729008005370001200241096a20074180056a41086a290000370000200241116a20074180056a41106a290000370000200241196a20074180056a41186a290000370000200241216a20074180056a41206a290000370000200241286a200741a7056a290000370000200220072902c007370238200241c0006a200741c0076a41086a290200370200200241c8006a200741c0076a41106a290200370200200241d0006a200741c0076a41186a290200370200200241d8006a200741c0076a41206a290200370200200241e0006a200741c0076a41286a2802003602000c020b2003200241e4abc68000108281808000000b0240200128021822032001280210470d00200c41f4abc680001092868080000b200141186a2113200128021420034107746a220241083a000020022007290080053700012002200d36023420022011360230200220072902c007370238200241096a20074180056a41086a290000370000200241116a20074180056a41106a290000370000200241196a20074180056a41186a290000370000200241216a20074180056a41206a290000370000200241286a200741a7056a290000370000200241c0006a200741c0076a41086a290200370200200241c8006a200741c0076a41106a290200370200200241d0006a200741c0076a41186a290200370200200241d8006a200741c0076a41206a290200370200200241e0006a200741c0076a41286a2802003602002001200341016a3602180b20062009410f712009410476200e4101711b41246c6a220220033602044100210d200241003a000002400240200728020422024101742007280208220920086a2203470d0020074180056a200741cc016a200810e597808000200741f0086a41086a2007418c056a29020037030020074180096a20074194056a29020037030020074188096a2007419c056a29020037030020074190096a20074180056a41246a29020037030020074198096a200741ac056a28020036020020072007290284053703f008200441087621032007280280052108200521132005210b2004210c410021020c010b2003410176220b20024f0d0b2009200a6a220e410176220d20024b0d0a20072802002209200b6a2d0000210b200741003602ec08200741c4086a2009200d6a200920026a10d797808000200e410171210d0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22094100200128021c220e2009200e491b6b3602240240200128022020024102746a2802002209200128021822024f0d00200128021420094107746a220220022d00004108464102746a10d8898080002002200d360234200220053602302002200436022c200220053602102002200436020c200241003b0108200241053a0004200241083a0000200220072902c408370238200241c0006a200741c4086a41086a290200370200200241c8006a200741d4086a290200370200200241d0006a200741dc086a290200370200200241d8006a200741e4086a290200370200200241e0006a200741ec086a2802003602000c020b2009200241e4abc68000108281808000000b024020132802002209200c280200470d00200c41f4abc680001092868080000b200128021420094107746a2202200d360234200220053602302002200436022c200220053602102002200436020c200241003b0108200241053a0004200241083a0000200220072902c408370238200241c0006a200741c4086a41086a290200370200200241c8006a200741d4086a290200370200200241d0006a200741dc086a290200370200200241d8006a200741e4086a290200370200200241e0006a200741ec086a2802003602002001200941016a3602180b2006200b410f71200b41047620034101711b41246c6a220220093602044100210d200241003a000020074180056a200741cc016a200810e597808000200741f8086a2007418c056a29020037030020074180096a20074194056a29020037030020074188096a2007419c056a29020037030020074190096a20074180056a41246a29020037030020074198096a200741ac056a28020036020020072007290284053703f0082007280280052108410321020b410021090c0d0b200720053602a805200720043602a4052007200536028805200720043602840541002109200741003b01800520072d00e8024103460d0a200741e8026a20074180056a10e58980800021090c0a0b2002200141ece3cd8000109281808000000b2002200a41ece3cd8000109281808000000b200d200241ece3cd8000109281808000000b2001200441ece3cd8000109281808000000b2006200b41ece3cd8000109281808000000b2003200b41ece3cd8000109281808000000b2006200941ece3cd8000109281808000000b410441c00410ab80808000000b200d200241ece3cd8000109281808000000b200b2002419ca9c68000108281808000000b0240024002400240200e410176220a200b4b0d002007410036029809200741f0086a200d200a6a200d200b6a10d797808000200328020820086a220d41017621082003280204210b2003280200210302400240200d4101710d002008200b4b0d03200741003a00a801200720083602a401200720033602a0010c010b2008200b4b0d032008200b4f0d04200741013a00a801200720033602a001200720083602a4012007200320086a2d000041f001713a00a9010b20044108762103200e4101712108200120062002200741a0016a10888a8080004100210d20112106200521132005210b2004210c410021020c050b200a200b41ece3cd8000109281808000000b2008200b41fce4cd8000109181808000000b2008200b418ce5cd8000109181808000000b2008200b419ce5cd8000108281808000000b20072802d4012204410176220320072802d00122014b0d014100210920074198086a41286a2205410036020020074198086a20072802cc01220820036a200820016a10d797808000200741106a41086a200241186a290200370300200741106a41106a200241206a280200360200200741f0086a41086a20074198086a41086a290200370300200741f0086a41106a20074198086a41106a290200370300200741f0086a41186a20074198086a41186a290200370300200741f0086a41206a20074198086a41206a290200370300200741f0086a41286a20052802003602002007200229021037031020072007290298083703f0082004410171210820072f00ed0220072d00ef024110747221032007280290032113200728028c03210420072802f402210a20072802f002210b20072d00ec02210c20072f01ea02210e20072d00e902210d20072d00e8022102201121060b024020072802ec034129490d0020072802c40322012001417e6a2f00006b41002802ec82d48000118180808000000b2004210120062105201321040c130b2003200141ece3cd8000109281808000000b200741186a200241186a290200370300200741106a41106a200241206a2802003602002007200229021037031020072f00c10320072d00c3034110747221034100210920072802e803210520072802e403210420072802e003210120072802c803210a20072802c403210b20072d00c003210c410721020c110b20072d008305210e20072f008105210a2003280208220d410176210202400240024002400240200d4101710d0020022003280204220d4b0d02200741003a00f002200720023602ec02200720032802003602e8020c010b20022003280204220d4b0d022002200d4f0d0320032802002103200741013a00f002200720033602e802200720023602ec022007200320026a2d000041f001713a00f1020b200a200e41107472210320012006200b200741e8026a10888a8080004100210c410721022005210a2004210b0c130b2002200d41fce4cd8000109181808000000b2002200d418ce5cd8000109181808000000b2002200d419ce5cd8000108281808000000b410021090b2007280294034129490d0e20072802ec0222062006417e6a2f00006b41002802ec82d48000118180808000000c0e0b41aca9c68000412a41d8a9c68000108081808000000b20004102360200200020023602042007280294034129490d0d20072802ec0222002000417e6a2f00006b41002802ec82d48000118180808000000c0d0b200b200728020441017420072802086b470d0020072005360288052007200436028405200741003a008005200741a0016a20074180056a10e58980800021092003280208200b6a2205410176210220032802042104200328020021030240024020054101710d00200220044b0d04200741003a00c803200720023602c403200720033602c0030c010b200220044b0d04200220044f0d05200741013a00c803200720033602c003200720023602c4032007200320026a2d000041f001713a00c9030b200120062008200741c0036a10888a808000200741003602980920072802e8022108200741f0086a20072802ec02200a200728029403220241284b22031b2201200120072802f002200220031b6a10cd89808000200741186a20074194056a290200370300200741106a41106a2007419c056a2802003602002007200729028c0537031020072f00810520072d008305411074722103200728028805210a200728028405210b20072d008005210c20072802a005210120072802a405210420072802a8052105410521020c010b0240200b2002490d00200e410176220220094b0d05200741003602b80620074190066a200d20026a200d20096a10d79780800041002d008083d480001a41c00441002802f482d48000118280808000002202450d062002200241036a417c7120026b22096a220241023a009c04200241023a00f803200241023a00d403200241023a00b003200241023a008c03200241023a00e802200241023a00c402200241023a00a002200241023a00fc01200241023a00d801200241023a00b401200241023a009001200241023a006c200241023a0048200241023a0024200241023a00002002417e6a20093b000020074188026a41086a200841086a29020037030020074188026a41106a200841106a29020037030020074188026a41186a200841186a29020037030020074188026a41206a200841206a29020037030020074188026a41286a200841286a2802003602002007200829020037038802200741c4026a20074190066a41086a290200370200200741cc026a20074190066a41106a290200370200200741d4026a20074190066a41186a290200370200200741dc026a20074190066a41206a290200370200200741e4026a20074190066a41286a2802003602002007200e4101713602b802200720023602b40220072007290290063702bc0220074180056a200120074188026a200320042005200610898a80800020072802840521022007280280054102460d0a200741106a41086a2007419c056a290200370300200741106a41106a200741a4056a280200360200200741f0086a41086a200741c0056a290200370300200741f0086a41106a200741c8056a290200370300200741f0086a41186a200741d0056a290200370300200741f0086a41206a200741d8056a290200370300200741f0086a41286a200741e0056a2802003602002007200729029405370310200720072902b8053703f0082002411076210e2002410876210d20072f0089052007418b056a2d0000411074722103200728029005210a200728028c05210b20072d008805210c20072802a805210120072802ac05210420072802b005210520072802b4052108410021090c010b41002d008083d480001a41c00441002802f482d48000118280808000002202450d062002200241036a417c7120026b220a6a220241023a009c04200241023a00f803200241023a00d403200241023a00b003200241023a008c03200241023a00e802200241023a00c402200241023a00a002200241023a00fc01200241023a00d801200241023a00b401200241023a009001200241023a006c200241023a0048200241023a0024200241023a00002002417e6a200a3b0000200e200b6a220e410176220a20094f0d08200e41016a2211410176220c20094b0d07200d200a6a2d0000210a200741003602e406200741bc066a200d200c6a200d20096a10d79780800020074184026a200841286a280000360000200741fc016a200841206a290000370000200741f4016a200841186a290000370000200741ec016a200841106a290000370000200741e4016a200841086a290000370000200720082900003700dc012011410171210d0240024020012802282208450d0020012008417f6a36022820012001280224220841016a22094100200128021c220c2009200c491b6b3602240240200128022020084102746a2802002209200128021822084f0d00200128021420094107746a220820082d00004108464102746a10d889808000200841053a0004200841083a00002008200d360234200820072900d9013700052008410d6a200741d9016a41086a290000370000200841156a200741d9016a41106a2900003700002008411d6a200741d9016a41186a290000370000200841256a200741d9016a41206a2900003700002008412c6a20074180026a290000370000200820072902bc06370238200841c0006a200741bc066a41086a290200370200200841c8006a200741bc066a41106a290200370200200841d0006a200741bc066a41186a290200370200200841d8006a200741bc066a41206a290200370200200841e0006a200741e4066a2802003602000c020b2009200841e4abc68000108281808000000b0240200128021822092001280210470d00200141106a41f4abc680001092868080000b200128021420094107746a220841053a0004200841083a0000200820072900d9013700052008200d360234200820072902bc063702382008410d6a200741d9016a41086a290000370000200841156a200741d9016a41106a2900003700002008411d6a200741d9016a41186a290000370000200841256a200741d9016a41206a2900003700002008412c6a20074180026a290000370000200841c0006a200741bc066a41086a290200370200200841c8006a200741bc066a41106a290200370200200841d0006a200741bc066a41186a290200370200200841d8006a200741bc066a41206a290200370200200841e0006a200741e4066a2802003602002001200941016a3602180b2002200a410f71200a410476200e4101711b41246c6a2208200936020441002109200841003a0000200741f0036a2007200b10e597808000200720023602ec03200741033a00c00320074180056a2001200741c0036a200320042005200610898a80800020072802840521022007280280054102460d09200741106a41086a2007419c056a290200370300200741106a41106a20074180056a41246a280200360200200741f0086a41086a200741c0056a290200370300200741f0086a41106a200741c8056a29020037030020074188096a200741d0056a29020037030020074190096a200741d8056a29020037030020074198096a200741e0056a2802003602002007200729029405370310200720072902b8053703f0082002411076210e2002410876210d20072f0089052007418b056a2d0000411074722103200728029005210a200728028c05210b20072d008805210c20072802a805210120072802ac05210420072802b005210520072802b40521080b2007280294034129490d0920072802ec0222062006417e6a2f00006b41002802ec82d48000118180808000000c090b2002200441fce4cd8000109181808000000b20022004418ce5cd8000109181808000000b20022004419ce5cd8000108281808000000b2002200941ece3cd8000109281808000000b410441c00410ab80808000000b410441c00410ab80808000000b200c200941ece3cd8000109281808000000b200a2009419ca9c68000108281808000000b20004102360200200020023602042007280294034129490d0120072802ec0222002000417e6a2f00006b41002802ec82d48000118180808000000c010b200020033b00092000200a3602102000200b36020c2000200c3a00082000200e3b01062000200d3a0005200020023a0004200020093602002000200729031037021420002008360234200020053602302000200436022c200020013602282000410b6a20034110763a00002000411c6a200741106a41086a290300370200200041246a200741106a41106a280200360200200041e0006a20074198096a280200360200200041d8006a20074190096a290300370200200041d0006a20074188096a290300370200200041c8006a200741f0086a41106a290300370200200041c0006a200741f0086a41086a290300370200200020072903f0083702380b200741a0096a2480808080000bf41606067f017e127f017e017f017e23808080800041f0036b22072480808080002007200536021420072004360210024002400240024002400240024002400240024020022d00004101470d00200741306a200241196a290000370300200741286a200241116a290000370300200741206a200241096a290000370300200720022900013703182003280208220841017621020240024020084101710d002002200328020422084b0d04200741003a00dc01200720023602d801200720032802003602d4010c010b2002200328020422084b0d04200220084f0d0520032802002108200741013a00dc01200720083602d401200720023602d8012007200820026a2d000041f001713a00dd010b200741086a2001200741186a200741d4016a108b8a808000200728020c21022007280208410171450d01200041023a000420002002360200200420042802002201417f6a36020020014101470d09200741106a10f0978080000c090b200228020421020b024020012802282209200128021c2208470d002001411c6a4184acc6800010948f808000200128021c2108200128022821090b2001280220200128022420096a22094100200820092008491b6b4102746a20023602002001200128022841016a3602282002200128021822084f0d03200128021420024107746a22022d00002108200741396a200241016a41df0010f4978080001a200241043a0004200241083a00002002280260210902400240024020084108460d002003280208210a2003280204210b2003280200210c200741d4016a410172200741396a41df0010f4978080001a200741d0016a200241fc006a280000360200200741c8016a200241f4006a290000370300200741b8016a41086a200241ec006a290000370300200720013602b402200720033602b802200720083a00d401200720022900643703b801200741bc026a2001200741d4016a200320042005200610898a80800020072802c002210320072802bc0222024102460d09200729029803210d200728029403210e2007280290032105200728028c0321082007280288032106200728028403210f200728028003211020072802fc02211120072802f802211220072802f402211320072802f002211420072802ec02211520072802e802211620072802e402211720072802e002211820072802dc02211920072802d802211a20072802d402211b20072802d002211c20072802cc02211d20072802c802211e20072802c402211f2002410171450d0120074198016a41186a200741b8016a41186a28020036020020074198016a41106a200741b8016a41106a29030037030020074198016a41086a200741b8016a41086a290300370300200720072903b80137039801200341ff01712102200341807e7121044100210c201e210a201d211e201c211d201b211c201a211b2019211a20182119201721182016211720152116201421152013211420122113201f21032011211220102111200f21102006210f2008210620052108200e21050c020b200741d4016a2007413c6a41dc0010f4978080001a200720033602b802200720093602b002200720013602b402200741bc026a2001200741d4016a200320042005200610898a80800020072802c002210320072802bc0222024102460d082002417f73410171210c200728029c032109200729029403210d2007280290032105200728028c0321082007280288032106200728028403210f200728028003211020072802fc02211120072802f802211220072802f402211320072802f002211420072802ec02211520072802e802211620072802e402211720072802e002211820072802dc02211920072802d802211a20072802d402211b20072802d002211c20072802cc02211d20072802c802211e20072802c402210a41082102410021040c010b200a410176210202400240200a4101710d0002402002200b4b0d00410021040c020b2002200b41fce4cd8000109181808000000b2002200b4b0d062002200b4f0d07200c20026a2d0000417071210a410121040b200d42208821204100210b200741d4016a41286a22214100360200200741d4016a200c200c20026a10d797808000200741dc026a220241286a2021280200360200200241206a200741d4016a41206a290200370200200241186a200741d4016a41186a290200370200200241106a200741d4016a41106a290200370200200241086a200741d4016a41086a290200370200200220072902d401370200200741c8026a200741b8016a41086a290300370200200741d0026a200741b8016a41106a290300370200200741d8026a200741b8016a41186a2802003602002007200a3a008903200720043a008803200720093602bc02200720072903b8013702c00220074189036a2102024002400240200128025c2209450d00200741d4016a20092001280260200741bc026a10d083808000024020072802d401450d0020072802d801210b20072902dc012122200741a4036a200741bc026a41cc0010f4978080001a200741a0036a41026a200241026a2d00003a0000200720022f00003b01a0030c020b2007280284034129490d0220072802dc0222022002417e6a2f00006b41002802ec82d48000118180808000000c020b200741a4036a200741bc026a41cc0010f4978080001a200741a0036a41026a200241026a2d00003a0000200720022f00003b01a0030b2007200141dc006a3602e001200720223702d8012007200b3602d401200741e4016a200741a4036a41cc0010f4978080001a200741b3026a200741a2036a2d00003a0000200720043a00b002200720072f01a0033b00b102200741d4016a109a8d8080001a0b2020a72109200d422086200ead84210d4101210c4108210241002104201f210a0b2002200472210b0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22044100200128021c221f2004201f491b6b3602240240200128022020024102746a2802002204200128021822024f0d00200128021420044107746a220120012d00004108464102746a10d889808000200120093602602001200d37025820012005360254200120083602502001200636024c2001200f36024820012010360244200120113602402001201236023c2001201336023820012014360234200120153602302001201636022c2001201736022820012018360224200120193602202001201a36021c2001201b3602182001201c3602142001201d3602102001201e36020c2001200a360208200120033602042001200b360200200141fc006a200741b0016a280200360200200141f4006a200741a8016a290300370200200141ec006a20074198016a41086a29030037020020012007290398013702640c020b2004200241e4abc68000108281808000000b0240200128021822042001280210470d00200141106a41f4abc680001092868080000b200128021420044107746a220220093602602002200d37025820022005360254200220083602502002200636024c2002200f36024820022010360244200220113602402002201236023c2002201336023820022014360234200220153602302002201636022c2002201736022820022018360224200220193602202002201a36021c2002201b3602182002201c3602142002201d3602102002201e36020c2002200a360208200220033602042002200b360200200241fc006a200741b0016a280200360200200241f4006a200741a8016a290300370200200241ec006a200741a0016a29030037020020022007290398013702642001200441016a3602180b2000200c3a0004200020043602000c070b2002200841fce4cd8000109181808000000b20022008418ce5cd8000109181808000000b20022008419ce5cd8000108281808000000b200220084194acc68000108281808000000b2002200b418ce5cd8000109181808000000b2002200b419ce5cd8000108281808000000b200041023a0004200020033602000b200741f0036a2480808080000bed0901057f2380808080004180026b220424808080800002400240024002400240024020012802682205450d0020052002200128026c2802181184808080000022050d010b20044180016a20012802502002200320012802542802141183808080000002402004280280012206418080808078470d0041002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22036a22054185808080783602002005417e6a20033b0000200520022900003700042005410c6a200241086a290000370000200541146a200241106a2900003700002005411c6a200241186a290000370000410121010c060b4104413010ab80808000000b20042802880121052004280284012103024020012802004101470d0020012802040d022001417f36020420012802082107200128020c2108200441a8016a200241186a290000370200200441a0016a200241106a29000037020020044180016a41186a200241086a2900003702002004200536028c0120042003360288012004428280808088808080807f370280012004200229000037029001200720044180016a200828020c118b80808000002001200128020441016a3602040b200441e0006a41186a200241186a290000370300200441e0006a41106a200241106a290000370300200441e0006a41086a200241086a2900003703002004200229000037036020044180016a200441e0006a20032005200141106a10ed89808000024020042d00800122054108470d002004280284012105410121012006450d0520032003417e6a2f00006b41002802ec82d48000118180808000000c050b200420042d0083013a0003200420042f0081013b00012004280284012107200441086a20044180016a41086a41d80010f4978080001a20042007360204200420053a00002006450d0320032003417e6a2f00006b41002802ec82d48000118180808000000c030b02402001280200450d0020012802040d022001417f36020420012802082103200128020c2106200441a0016a200241186a29000037020020044180016a41186a200241106a29000037020020044180016a41106a200241086a29000037020020042005360284012004418180808078360280012004200229000037028801200320044180016a200628020c118b80808000002001200128020441016a3602040b20042005200141106a10f1898080000c020b41e8a9c68000109a81808000000b41f8a9c68000109a81808000000b200441f8016a200241186a290000370200200441f0016a200241106a290000370200200441e8016a200241086a290000370200200420022900003702e00120044180016a200441e00010f4978080001a0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22054100200128021c220320052003491b6b3602240240200128022020024102746a2802002205200128021822024f0d00200128021420054107746a220120012d00004108464102746a10d889808000200120044180016a41800110f4978080001a0c020b2005200241e4abc68000108281808000000b0240200128021822052001280210470d00200141106a41f4abc680001092868080000b200128021420054107746a20044180016a41800110f4978080001a2001200541016a3602180b410021010b200020053602042000200136020020044180026a2480808080000bed0901057f2380808080004180026b220424808080800002400240024002400240024020012802682205450d0020052002200128026c2802181184808080000022050d010b20044180016a20012802502002200320012802542802141183808080000002402004280280012206418080808078470d0041002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22036a22054185808080783602002005417e6a20033b0000200520022900003700042005410c6a200241086a290000370000200541146a200241106a2900003700002005411c6a200241186a290000370000410121010c060b4104413010ab80808000000b20042802880121052004280284012103024020012802004101470d0020012802040d022001417f36020420012802082107200128020c2108200441a8016a200241186a290000370200200441a0016a200241106a29000037020020044180016a41186a200241086a2900003702002004200536028c0120042003360288012004428280808088808080807f370280012004200229000037029001200720044180016a200828020c118b80808000002001200128020441016a3602040b200441e0006a41186a200241186a290000370300200441e0006a41106a200241106a290000370300200441e0006a41086a200241086a2900003703002004200229000037036020044180016a200441e0006a20032005200141106a10e989808000024020042d00800122054108470d002004280284012105410121012006450d0520032003417e6a2f00006b41002802ec82d48000118180808000000c050b200420042d0083013a0003200420042f0081013b00012004280284012107200441086a20044180016a41086a41d80010f4978080001a20042007360204200420053a00002006450d0320032003417e6a2f00006b41002802ec82d48000118180808000000c030b02402001280200450d0020012802040d022001417f36020420012802082103200128020c2106200441a0016a200241186a29000037020020044180016a41186a200241106a29000037020020044180016a41106a200241086a29000037020020042005360284012004418180808078360280012004200229000037028801200320044180016a200628020c118b80808000002001200128020441016a3602040b20042005200141106a10f2898080000c020b41e8a9c68000109a81808000000b41f8a9c68000109a81808000000b200441f8016a200241186a290000370200200441f0016a200241106a290000370200200441e8016a200241086a290000370200200420022900003702e00120044180016a200441e00010f4978080001a0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22054100200128021c220320052003491b6b3602240240200128022020024102746a2802002205200128021822024f0d00200128021420054107746a220120012d00004108464102746a10d889808000200120044180016a41800110f4978080001a0c020b2005200241e4abc68000108281808000000b0240200128021822052001280210470d00200141106a41f4abc680001092868080000b200128021420054107746a20044180016a41800110f4978080001a2001200541016a3602180b410021010b200020053602042000200136020020044180026a2480808080000bb69301030e7f017e3b7f23808080800041b00b6b220524808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020022d00002206417c6a41ff01712207410420074104491b417e6a0e03030102000b2000200241e00010f4978080001a0c1f0b200241056a210820022d000421092002280230220a2d00004102460d0241002106410121070c030b200541e8036a200241c4006a290200370300200541f0036a200241cc006a290200370300200541f8036a200241d4006a2902003703002005200229023c3703e00341012107200241016a2108200241306a2109200228025c210b2002280238210c2002280234210d2002280230210e200228022c220a2d00004102460d064100210f0c070b20054190036a41286a200241d0006a290200370300200541b0036a200241c8006a29020037030020054190036a41186a200241c0006a29020037030020054190036a41106a200241386a29020037030020054190036a41086a200241306a2902003703002005200229022837039003200541de036a200241076a2d00003a0000200541c0036a41086a200241146a290200370300200541c0036a41106a2002411c6a290200370300200541c0036a41186a200241246a280200360200200520022f00053b01dc032005200229020c3703c00320022d00042106200228020821102003280200210a2003280204210820032802082109024002400240024002400240024002400240024020040d0020052802980320052802bc032204200441284b1b2207417f6a210f2007450d13200741017420096a200528029003417f736a2209410176210720052802940320054190036a410472200441284b1b200f6a2d0000410f71210f024020094101710d00200720084d0d032007200841fce4cd8000109181808000000b200720084b0d1420072008490d0120072008419ce5cd8000108281808000000b2009410176210702400240200941017122040d0041002109200720084d0d012007200841fce4cd8000109181808000000b200720084b0d15200720084f0d16200a20076a2d000041047621090b2005420037029801200541003602d80a200520073602d40a2005200a3602d00a200541f0006a200541d00a6a4100200510ed978080001a2004450d0620052d009c014101710d04200541f0006a41046a21042009410474210f200541f0006a41044128200528029801220b41284b22081b6a2802002209200b412820081b460d022004200541f0006a41286a20081b21042005280270200541f0006a20081b21080c030b200a20076a22042d0000210941002108200541f0006a41286a220b4100360200200541f0006a200a200410cd89808000200541d00a6a41286a220c200b280200220b360200200541d00a6a41206a220e200541f0006a41206a290200370300200541d00a6a41186a220d200541f0006a41186a290200370300200541d00a6a41106a2211200541f0006a41106a290200370300200541d00a6a41086a2212200541f0006a41086a2902003703002005200529027022133703d00a200541d00a6a41047221042009417071200f72211402400240200541d00a6a41044128200b41284b22091b6a280200220f200b412820091b460d002004200c20091b21042013a7200541d00a6a20091b21090c010b200541d00a6a10cf8980800020052802d40a210f20052802d00a21090b2009200f6a20143a00002004200428020041016a360200200541f8056a41086a2012290300370300200541f8056a41106a2011290300370300200541f8056a41186a200d290300370300200541f8056a41206a200e290300370300200541f8056a41286a200c280200360200200520052903d00a3703f8050c060b41002104200541003602e003200f4104742115410121080c060b200541f0006a10d99780800020052802742109200528027021080b200820096a200f3a00002004200428020041016a3602000c010b20052802742005280298012204200441284b22041b2208450d112005280270200541f0006a20041b20086a417f6a220420042d00002009723a00000b2005200528029c0141016a36029c010b20052005280290033602d80a200520052802980320052802bc032204200441284b22041b3602d40a200520052802940320054190036a41047220041b3602d00a200541f0006a200541d00a6a4100200510ed978080001a200528029c01220841017621040240024020084101710d00200420052802742005280298012209200941284b22091b220f4b0d122005280270200541f0006a20091b21090c010b200420052802742005280298012209200941284b1b220f4b0d122004200f4f0d132005280270200541f0006a200941284b1b220920046a2d000041707121150b200541d00a6a41286a220f4100360200200541d00a6a2009200920046a10cd89808000200541f8056a41286a200f280200360200200541f8056a41206a200541d00a6a41206a290200370300200541f8056a41186a200541d00a6a41186a290200370300200541f8056a41106a200541d00a6a41106a290200370300200541f8056a41086a200541d00a6a41086a290200370300200520052902d00a3703f8052005280298014129490d00200528027022042004417e6a2f00006b41002802ec82d48000118180808000000b200541ec036a20054180066a290300370200200541f4036a20054188066a290300370200200541fc036a20054190066a29030037020020054184046a20054198066a2903003702002005418c046a200541f8056a41286a2802002204360200200520052903f80522133702e403200541013602e00320052802e8032004200441284b220f1b21092013a7200541e4036a200f1b21040b2009200720041b2116200841017121172004200a20041b2118024002402006410171450d0020054190046a41026a200541dc036a41026a2d00003a00002005419f046a200541c0036a41086a290300370000200541a7046a200541d0036a290300370000200541af046a200541d8036a2d00003a0000200520052f01dc033b0190042005201036009304200520052903c00337009704200520153a0079200520173a007820052016360274200520183602702005200120054190046a200541f0006a108b8a808000200528020421102005280200410171450d01200041083a000020002010360204024020052802e003450d00200528028c044129490d0020052802e40322072007417e6a2f00006b41002802ec82d48000118180808000000b20052802bc034129490d1c20052802940322072007417e6a2f00006b41002802ec82d48000118180808000000c1c0b024020012802282204200128021c2207470d002001411c6a4184acc6800010948f808000200128021c2107200128022821040b2001280220200128022420046a22044100200720042007491b6b4102746a20103602002001200128022841016a3602282010200128021822074f0d120c190b024020012802282204200128021c2207470d002001411c6a4184acc6800010948f808000200128021c2107200128022821040b2001280220200128022420046a22044100200720042007491b6b4102746a20103602002001200128022841016a3602282001280218220720104b0d18201020074194acc68000108281808000000b0240200a2d00244102460d0041012106410221070c010b410221060240200a2d00484102460d00410321070c010b0240200a2d006c4102460d0041032106410421070c010b0240200a2d0090014102460d0041042106410521070c010b0240200a2d00b4014102460d0041052106410621070c010b0240200a2d00d8014102460d0041062106410721070c010b0240200a2d00fc014102460d0041072106410821070c010b0240200a2d00a0024102460d0041082106410921070c010b0240200a2d00c4024102460d0041092106410a21070c010b0240200a2d00e8024102460d00410a2106410b21070c010b0240200a2d008c034102460d00410b2106410c21070c010b0240200a2d00b0034102460d00410c2106410d21070c010b0240200a2d00d4034102460d00410d2106410e21070c010b0240200a2d00f8034102460d00410e2106410f21070c010b200a2d009c044102460d01410f2106411021070b200741246c2107024002400340200741246a220441e404460d01200a20076a21102004210720102d00004102460d000c020b0b200941ff01714103460d020b2000200a360230200020093a0004200041073a0000200020082900003700052000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a2900003700000c170b0240200941ff01714103460d00200020082900003700052000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a2900003700002005410036027820054201370270200041306a200541f0006a10e497808000200020093a0004200041053a00000c020b4198aac68000412f41c8aac68000108081808000000b200541003602800a200520063a0070200541d8096a200541f0006a200541f0006a41016a10d797808000200a200641246c6a22072d00002104200741023a000020044102460d0e200541106a41246a200741206a2800003600002005412d6a200741196a290000370000200541256a200741116a2900003700002005411d6a200741096a290000370000200541c4006a200541e0096a290200370200200541cc006a200541e8096a290200370200200541d4006a200541f0096a290200370200200541dc006a200541d8096a41206a290200370200200541e4006a200541800a6a28020036020020054101360238200520052902d80937023c20052007290001370015200541063a0010200520043a001420002001200541106a20034100108d8a8080000b200a200a417e6a2f01006b41002802ec82d48000118180808000000c140b0240200a2d00244102460d004101210f410221070c010b4102210f0240200a2d00484102460d00410321070c010b0240200a2d006c4102460d004103210f410421070c010b0240200a2d0090014102460d004104210f410521070c010b0240200a2d00b4014102460d004105210f410621070c010b0240200a2d00d8014102460d004106210f410721070c010b0240200a2d00fc014102460d004107210f410821070c010b0240200a2d00a0024102460d004108210f410921070c010b0240200a2d00c4024102460d004109210f410a21070c010b0240200a2d00e8024102460d00410a210f410b21070c010b0240200a2d008c034102460d00410b210f410c21070c010b0240200a2d00b0034102460d00410c210f410d21070c010b0240200a2d00d4034102460d00410d210f410e21070c010b0240200a2d00f8034102460d00410e210f410f21070c010b200a2d009c044102460d01410f210f411021070b200741246c2107024002400340200741246a220441e404460d01200a20076a21102004210720102d00004102460d000c020b0b200641ff01714103460d020b2000200929020037023020002008290000370001200041d8006a200941286a290200370200200041d0006a200941206a290200370200200041c8006a200941186a290200370200200041c0006a200941106a290200370200200041386a200941086a290200370200200041096a200841086a290000370000200041116a200841106a290000370000200041196a200841186a290000370000200041216a200841206a290000370000200041286a200841276a2800003600002000200a36022c200020063a00000c120b0240200641ff01714103460d0020002008290000370005200020092902003702302000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a290000370000200041386a200941086a290200370200200041c0006a200941106a290200370200200041c8006a200941186a290200370200200041d0006a200941206a290200370200200041d8006a200941286a290200370200200020063a0004200041053a00000c100b4198aac68000412f418cabc68000108081808000000b200a200f41246c6a22072d00002110200741023a000002400240024002400240024020104102460d0020072802042108200541d4096a41026a200741036a2d00003a000020054198036a200741106a29020037030020054190036a41106a200741186a29020037030020054190036a41186a200741206a280200360200200520072f00013b01d40920052007290208370390032003280208200c200b200b41284b1b410174200e6b6a2209410176210720032802042104200328020021030240200941017122090d00200720044d0d032007200441fce4cd8000109181808000000b200720044b0d1020072004490d0120072004419ce5cd8000108281808000000b41d8aac680004124419cabc6800010a181808000000b200541003602a409200320076a22042d00002106200541fc086a2003200410cd89808000200541fc086a41286a2111200541fc086a41046a21042006417071200f722114200541fc086a4104412820052802a409221941284b22061b6a28020022122019412820061b460d012004201120061b210420052802fc08200541fc086a20061b21060c020b41002104200541003602f804200f41047421110c020b200541fc086a10cf89808000200528028009211220052802fc0821060b200620126a20143a00002004200428020041016a36020020054184056a20054184096a2902003702002005418c056a2005418c096a29020037020020054194056a20054194096a2902003702002005419c056a2005419c096a290200370200200541a4056a20112802002206360200200520052902fc0822133702fc04200541013602f8042013a7200541f8046a41046a200641284b22111b2104200528028005200620111b21060b2006200720041b2106200941017321092004200320041b210702402010410171450d00200541f0016a41026a200541d4096a41026a2d00003a0000200541ff016a20054190036a41086a29030037000020054187026a20054190036a41106a2903003700002005418f026a200541a8036a2d00003a0000200520052f01d4093b01f001200520083600f30120052005290390033700f701200520113a00d90a200520093a00d80a200520063602d40a200520073602d00a200541086a2001200541f0016a200541d00a6a108b8a808000200528020c21042005280208410171450d0d200041083a000020002004360204024020052802f804450d0020052802a4054129490d0020052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000b200a200a417e6a2f01006b41002802ec82d4800011818080800000200b4129490d12200d200d417e6a2f00006b41002802ec82d48000118180808000000c120b024020012802282210200128021c2204470d002001411c6a4184acc6800010948f808000200128021c2104200128022821100b2001280220200128022420106a22104100200420102004491b6b4102746a20083602002001200128022841016a3602282008200128021822044f0d0b200541f0006a200128021420084107746a220441800110f4978080001a200441043a0004200441083a00000c0d0b200f41004188aac68000108281808000000b20072008418ce5cd8000109181808000000b20072008418ce5cd8000109181808000000b20072008419ce5cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b2004200f41b4e7cd8000109181808000000b2004200f41c4e7cd8000109181808000000b2004200f41d4e7cd8000108281808000000b201020074194acc68000108281808000000b41d8aac68000412441fcaac6800010a181808000000b20072004418ce5cd8000109181808000000b200820044194acc68000108281808000000b200541f0006a200141106a2004108e8a8080000b024002400240024020052d007022104108460d00200541e7026a200541f0006a41286a280000360000200541c0026a41206a20054191016a290000370300200541c0026a41186a20054189016a290000370300200541c0026a41106a20054181016a290000370300200541c0026a41086a200541f9006a29000037030020054190026a41086a200541f0006a41306a220441086a29020037030020054190026a41106a200441106a29020037030020054190026a41186a200441186a29020037030020054190026a41206a200441206a29020037030020054190026a41286a200441286a290200370300200520052900713703c0022005200429020037039002200528029c012104200541f0026a41186a2203200541e8016a290200370300200541f0026a41106a2208200541e0016a290200370300200541f0026a41086a2212200541d8016a29020037030041002114200541a8096a41286a22194100360200200520052902d0013703f002200541a8096a2007200720066a10cd89808000200541f8056a41186a2003290300370300200541f8056a41106a2008290300370300200541f8056a41086a2012290300370300200541f8056a41286a200541a8096a41086a290200370300200541f8056a41306a200541a8096a41106a290200370300200541b0066a200541a8096a41186a290200370300200541b8066a200541a8096a41206a290200370300200541c0066a2019280200360200200520052903f0023703f805200520052902a80937039806200520113a00c506200520093a00c406200541c5066a2107200128025c2203450d01200541d00a6a20032001280260200541f8056a10d083808000024020052802d00a0d0020052802c0064129490d0420052802980622072007417e6a2f00006b41002802ec82d48000118180808000000c040b20052802d40a211420052902d80a2113200541840a6a200541f8056a41cc0010f4978080001a200541c0036a41026a200741026a2d00003a0000200520072f00003b01c0030c020b200541c0026a41086a200541fd006a290000370300200541c0026a41106a20054185016a290000370300200541c0026a41186a2005418d016a290000370300200541c0026a41206a20054195016a290000370300200541e7026a2005419c016a28000036000020054190026a41086a200541ac016a29020037030020054190026a41106a200541b4016a29020037030020054190026a41186a200541bc016a29020037030020054190026a41206a200541c4016a290200370300200541b8026a200541cc016a290200370300200520052900753703c002200520052902a4013703900220052802a001210420052d007421100c020b200541840a6a200541f8056a41cc0010f4978080001a200541c0036a41026a200741026a2d00003a0000200520072f00003b01c0030b2005200141dc006a3602dc0a200520133702d40a200520143602d00a200541e00a6a200541840a6a41cc0010f4978080001a200541af0b6a200541c2036a2d00003a0000200520093a00ac0b200520052f01c0033b00ad0b200541d00a6a109a8d8080001a0b02400240024002402010417c6a41ff01712207410420074104491b417f6a0e0401000002000b41acabc68000412841d4abc68000108081808000000b200541f8056a41286a20054190026a41286a290300370300200541f8056a41206a20054190026a41206a290300370300200541f8056a41186a20054190026a41186a290300370300200541f8056a41106a20054190026a41106a290300370300200541f8056a41086a220720054190026a41086a29030037030020052005290390023703f805200541d00a6a41086a2210200c360200200541e40a6a200541e0036a41086a290300370200200541ec0a6a200541e0036a41106a290300370200200541f40a6a200541e0036a41186a2903003702002005200d3602d40a2005200e3602d00a200520052903e0033702dc0a2005200b3602fc0a2005410136028c0a200541013602840a2005200f3a00c0032005200541c0036a3602880a200541d00a6a200541840a6a10e0978080002005200728020020052802a4062207200741284b22071b36028c0a200520052802fc05200541f8056a41047220071b3602880a200520052802f8053602840a200541d00a6a200541840a6a10e097808000200041d8006a200541d00a6a41286a290200370200200041d0006a200541d00a6a41206a290200370200200041c8006a200541d00a6a41186a290200370200200041c0006a200541d00a6a41106a290200370200200041386a2010290200370200200020052902d00a370230200541840a6a410b6a200541c0026a410b6a290000370000200541840a6a41136a200541c0026a41136a290000370000200541840a6a411b6a200541c0026a411b6a290000370000200541840a6a41236a200541c0026a41236a290000370000200520052900c3023700870a200041053a00002000200436022c200020052900840a370001200041096a200541840a6a41086a290000370000200041116a200541840a6a41106a290000370000200041196a200541840a6a41186a290000370000200041216a200541840a6a41206a290000370000200041286a200541ab0a6a28000036000020052802a4064129490d0120052802fc0522072007417e6a2f00006b41002802ec82d48000118180808000000c010b200020103a0000200020052903c002370001200541f8056a41286a20054190026a41286a290300370300200541f8056a41206a20054190026a41206a290300370300200541f8056a41186a20054190026a41186a290300370300200541f8056a41106a20054190026a41106a290300370300200541f8056a41086a220720054190026a41086a290300370300200041096a200541c0026a41086a290300370000200041116a200541c0026a41106a290300370000200041196a200541c0026a41186a290300370000200041216a200541c0026a41206a290300370000200041286a200541e7026a28000036000020052005290390023703f805200541d00a6a41086a2210200c360200200541e40a6a200541e0036a41086a290300370200200541ec0a6a200541e0036a41106a290300370200200541f40a6a200541e0036a41186a2903003702002005200d3602d40a2005200e3602d00a200520052903e0033702dc0a2005200b3602fc0a2005410136028c0a200541013602840a2005200f3a00c0032005200541c0036a3602880a200541d00a6a200541840a6a10e0978080002005200728020020052802a4062207200741284b22071b36028c0a200520052802fc05200541f8056a41047220071b3602880a200520052802f8053602840a200541d00a6a200541840a6a10e097808000200041d8006a200541d00a6a41286a290200370200200041d0006a200541d00a6a41206a290200370200200041c8006a200541d00a6a41186a290200370200200041c0006a200541d00a6a41106a290200370200200041386a2010290200370200200020052902d00a3702302000200436022c20052802a4064129490d0020052802fc0522072007417e6a2f00006b41002802ec82d48000118180808000000b20052802f804450d0020052802a4054129490d0020052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000b200a200a417e6a2f01006b41002802ec82d48000118180808000000c010b200128021420104107746a22072d0060211a20072d005c210420072d0058211020072d0054210a20072d0050210820072d004c210920072d0048210620072d0044210f20072d0040210b20072d003c210c20072d0038210e20072d0034210d20072d0030211120072d002c211220072d0028211420072d0024211920072d0020211b20072d001c211c20072d0018211d20072d0014211e20072d0010211f20072d000c212020072d0008212120072d0004212220072d00002123200741043a0004200741083a0000200741e1006a2124200741dd006a2125200741d9006a2126200741d5006a2127200741d1006a2128200741cd006a2129200741c9006a212a200741c5006a212b200741c1006a212c2007413d6a212d200741396a212e200741356a212f200741316a21302007412d6a2131200741296a2132200741256a2133200741216a21342007411d6a2135200741196a2136200741156a2137200741116a21382007410d6a2139200741096a213a200741056a213b0240024020234108460d00200541f0006a41026a200741036a2d00003a0000200541f8056a41026a203b41026a2d00003a0000200541840a6a41026a203a41026a2d00003a0000200541f8046a41026a203941026a2d00003a0000200541d4096a41026a203841026a2d00003a0000200520072f00013b01702005203b2f00003b01f8052005203a2f00003b01840a200520392f00003b01f804200520382f00003b01d409200541fc076a41026a203741026a2d00003a0000200541f8076a41026a203641026a2d00003a0000200541f4076a41026a203541026a2d00003a0000200541f0076a41026a203441026a2d00003a0000200541ec076a41026a203341026a2d00003a0000200520372f00003b01fc07200520362f00003b01f807200520352f00003b01f407200520342f00003b01f007200520332f00003b01ec07200541e8076a41026a203241026a2d00003a0000200520322f00003b01e807200541e4076a41026a203141026a2d00003a0000200520312f00003b01e407200541e0076a41026a203041026a2d00003a0000200520302f00003b01e007200541dc076a41026a202f41026a2d00003a00002005202f2f00003b01dc07200541d8076a41026a202e41026a2d00003a00002005202e2f00003b01d807200541d4076a41026a202d41026a2d00003a00002005202d2f00003b01d407200541d0076a41026a202c41026a2d00003a00002005202c2f00003b01d007200541cc076a41026a202b41026a2d00003a00002005202b2f00003b01cc07200541c8076a41026a202a41026a2d00003a00002005202a2f00003b01c807200541c4076a41026a202941026a2d00003a0000200520292f00003b01c407200541c0076a41026a202841026a2d00003a0000200520282f00003b01c007200541bc076a41026a202741026a2d00003a0000200520272f00003b01bc07200541b8076a41026a202641026a2d00003a0000200520262f00003b01b807200541b4076a41026a202541026a2d00003a0000200520252f00003b01b407200541a0086a41026a202441026a2d00003a0000200520242f00003b01a00820054198086a200741fc006a28000036020020054190086a200741f4006a29000037030020054180086a41086a200741ec006a29000037030020052007290064370380082010212520232124200a21102008210a2009210820062109200f2106200b210f200c210b200e210c200d210e2011210d201221112014211220192114201b2119201c211b0c010b200541f0006a41026a203b41026a2d00003a0000200541f8056a41026a203a41026a2d00003a0000200541840a6a41026a203941026a2d00003a0000200541f8046a41026a203841026a2d00003a0000200541d4096a41026a203741026a2d00003a00002005203b2f00003b01702005203a2f00003b01f805200520392f00003b01840a200520382f00003b01f804200520372f00003b01d409200541fc076a41026a203641026a2d00003a0000200541f8076a41026a203541026a2d00003a0000200541f4076a41026a203441026a2d00003a0000200541f0076a41026a203341026a2d00003a0000200541ec076a41026a203241026a2d00003a0000200520362f00003b01fc07200520352f00003b01f807200520342f00003b01f407200520332f00003b01f007200520322f00003b01ec07200541e8076a41026a203141026a2d00003a0000200520312f00003b01e807200541e4076a41026a203041026a2d00003a0000200520302f00003b01e407200541e0076a41026a202f41026a2d00003a00002005202f2f00003b01e007200541dc076a41026a202e41026a2d00003a00002005202e2f00003b01dc07200541d8076a41026a202d41026a2d00003a00002005202d2f00003b01d807200541d4076a41026a202c41026a2d00003a00002005202c2f00003b01d407200541d0076a41026a202b41026a2d00003a00002005202b2f00003b01d007200541cc076a41026a202a41026a2d00003a00002005202a2f00003b01cc07200541c8076a41026a202941026a2d00003a0000200520292f00003b01c807200541c4076a41026a202841026a2d00003a0000200520282f00003b01c407200541c0076a41026a202741026a2d00003a0000200520272f00003b01c007200541bc076a41026a202641026a2d00003a0000200520262f00003b01bc07200541b8076a41026a202541026a2d00003a0000200520252f00003b01b807200541b4076a41026a202441026a2d00003a0000200520242f00003b01b40720042125201a2104202221242021212220202121201f2120201e211f201d211e201c211d0b200541d70a6a200541f8056a41026a2d00003a0000200541db0a6a200541840a6a41026a2d00003a0000200541df0a6a200541f8046a41026a2d00003a0000200520052f01703b00d10a200520223a00d40a200520052f01f8053b00d50a200520213a00d80a200520052f01840a3b00d90a200520203a00dc0a200520052f01f8043b00dd0a2005200541f0006a41026a2d00003a00d30a200520243a00d00a200541e30a6a200541d4096a41026a2d00003a0000200541e70a6a200541fc076a41026a2d00003a0000200541eb0a6a200541f8076a41026a2d00003a0000200541ef0a6a200541f4076a41026a2d00003a00002005201f3a00e00a2005201e3a00e40a2005201d3a00e80a2005201b3a00ec0a200520052f01d4093b00e10a200520052f01fc073b00e50a200520052f01f8073b00e90a200520052f01f4073b00ed0a200541f30a6a200541f0076a41026a2d00003a0000200541f70a6a200541ec076a41026a2d00003a0000200541fb0a6a200541e8076a41026a2d00003a0000200541ff0a6a200541e4076a41026a2d00003a0000200520193a00f00a200520143a00f40a200520123a00f80a200520113a00fc0a200520052f01f0073b00f10a200520052f01ec073b00f50a200520052f01e8073b00f90a200520052f01e4073b00fd0a2005200d3a00800b200541830b6a200541e0076a41026a2d00003a0000200520052f01e0073b00810b2005200e3a00840b200541870b6a200541dc076a41026a2d00003a0000200520052f01dc073b00850b2005200c3a00880b2005418b0b6a200541d8076a41026a2d00003a0000200520052f01d8073b00890b2005200b3a008c0b2005418f0b6a200541d4076a41026a2d00003a0000200520052f01d4073b008d0b2005200f3a00900b200541930b6a200541d0076a41026a2d00003a0000200520052f01d0073b00910b200520063a00940b200541970b6a200541cc076a41026a2d00003a0000200520052f01cc073b00950b200520093a00980b2005419b0b6a200541c8076a41026a2d00003a0000200520052f01c8073b00990b200520083a009c0b2005419f0b6a200541c4076a41026a2d00003a0000200520052f01c4073b009d0b2005200a3a00a00b200541a30b6a200541c0076a41026a2d00003a0000200520052f01c0073b00a10b200520103a00a40b200541a70b6a200541bc076a41026a2d00003a0000200520052f01bc073b00a50b200520253a00a80b200541ab0b6a200541b8076a41026a2d00003a0000200520052f01b8073b00a90b200520043a00ac0b200541af0b6a200541b4076a41026a2d00003a0000200520052f01b4073b00ad0b200541d00a6a41046a210702400240024002400240024002400240024002400240024002402024417c6a41ff01712226410420264104491b417f6a0e020102000b200541ad0b6a2107200541a90b6a2103200541a50b6a2126200541a10b6a21272005419d0b6a2128200541990b6a2129200541950b6a212a200541910b6a212b2005418d0b6a212c200541890b6a212d200541850b6a212e200541810b6a212f200541fd0a6a2130200541f90a6a2131200541f50a6a2132200541f10a6a2133200541ed0a6a2134200541e90a6a2135200541e50a6a2136200541e10a6a2137200541dd0a6a2138200541d90a6a2139200541d50a6a213a200541d00a6a410172213b20234108470d02200541e8066a2123200541ec066a2118200541ef066a2117200541f2066a2115200541f5066a2116200541f8066a211c200541fb066a213c200541fe066a213d20054181076a213e20054184076a213f20054187076a21402005418a076a21412005418d076a214220054190076a214320054193076a214420054196076a214520054199076a21462005419c076a21472005419f076a2148200541a2076a2149200541a5076a214a200541a8076a214b200541ab076a214c200541ae076a214d4108214e0c030b200541f8046a41286a200541800b6a220441286a290200370300200541f8046a41206a200441206a290200370300200541f8046a41186a200441186a290200370300200541f8046a41106a200441106a290200370300200541f8046a41086a200441086a290200370300200541a8056a41086a2210200741086a290200370300200541a8056a41106a220a200741106a290200370300200541a8056a41186a2203200741186a290200370300200541a8056a41206a2208200741206a290200370300200541a8056a41286a200741286a280200360200200520042902003703f804200520072902003703a80520234108460d08200541f4056a41026a2207200541a0086a41026a2d00003a0000200541d8056a41086a220420054180086a41086a290300370300200541d8056a41106a220920054180086a41106a290300370300200541d8056a41186a220620054180086a41186a2802003602004100210f200541a4086a41286a220b4100360200200520052f01a0083b01f40520052005290380083703d805200541a4086a2018201820166a10cd8980800020054184066a20042903003702002005418c066a200929030037020020054194066a2006280200360200200541f8056a41286a200541a4086a41086a290200370200200541a8066a200541a4086a41106a290200370200200541b0066a200541a4086a41186a290200370200200541b8066a200541a4086a41206a290200370200200541c0066a200b2802003602002005201a3a00f805200520052f01f4053b00f905200520072d00003a00fb05200520052903d8053702fc05200520052902a40837029806200520153a00c506200520173a00c406200541c5066a2107200128025c2204450d03200541f0006a20042001280260200541f8056a10d083808000024020052802700d0020052802c0064129490d0920052802980622072007417e6a2f00006b41002802ec82d48000118180808000000c090b2005280274210f20052902782113200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090c070b200541f8046a41286a200541d00a6a41286a220441286a290200370300200541f8046a41206a200441206a290200370300200541f8046a41186a200441186a290200370300200541f8046a41106a200441106a290200370300200541f8046a41086a200441086a290200370300200541b0046a41086a2210200741086a290200370300200541b0046a41106a220a200741106a290200370300200541b0046a41186a2208200741186a290200370300200541b0046a41206a2209200741206a280200360200200520042902003703f804200520072902003703b00420234108460d05200541f4046a41026a2207200541a0086a41026a2d00003a0000200541d8046a41086a220420054180086a41086a290300370300200541d8046a41106a220620054180086a41106a290300370300200541d8046a41186a220f20054180086a41186a2802003602004100210b200541d0086a41286a220c4100360200200520052f01a0083b01f40420052005290380083703d804200541d0086a2018201820166a10cd8980800020054184066a20042903003702002005418c066a200629030037020020054194066a200f280200360200200541f8056a41286a200541d0086a41086a290200370200200541a8066a200541d0086a41106a290200370200200541b0066a200541d0086a41186a290200370200200541b8066a200541d0086a41206a290200370200200541c0066a200c2802003602002005201a3a00f805200520052f01f4043b00f905200520072d00003a00fb05200520052903d8043702fc05200520052902d00837029806200520153a00c506200520173a00c406200541c5066a2107200128025c2204450d03200541f0006a20042001280260200541f8056a10d083808000024020052802700d0020052802c0064129490d0620052802980622072007417e6a2f00006b41002802ec82d48000118180808000000c060b2005280274210b20052902782113200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090c040b200541e8066a41026a200541a0086a41026a2d00003a0000200541c8066a41086a20054180086a41086a290300370300200541c8066a41106a20054180086a41106a290300370300200541c8066a41186a20054180086a41186a280200360200200520052f01a0083b01e80620052005290380083703c806200541ec066a2123200541ef066a2118200541f2066a2117200541f5066a2115200541f8066a2116200541fb066a211c200541fe066a213c20054181076a213d20054184076a213e20054187076a213f2005418a076a21402005418d076a214120054190076a214220054193076a214320054196076a214420054199076a21452005419c076a21462005419f076a2147200541a2076a2148200541a5076a2149200541a8076a214a200541ab076a214b200541ae076a214c200541b1076a214d2024214e202221242021212220202121201f2120201e211f201d211e201b211d2019211b201421192012211420112112200d2111200e210d200c210e200b210c200f210b2006210f2009210620082109200a21082010210a2025211020042125201a21040b204d203b2f00003b0000204c203a2f00003b0000204b20392f00003b0000204a20382f00003b0000204920372f00003b0000204d41026a203b41026a2d00003a0000204c41026a203a41026a2d00003a0000204b41026a203941026a2d00003a0000204a41026a203841026a2d00003a0000204941026a203741026a2d00003a0000204841026a203641026a2d00003a0000204820362f00003b0000204720352f00003b0000204741026a203541026a2d00003a0000204620342f00003b0000204641026a203441026a2d00003a0000204520332f00003b0000204541026a203341026a2d00003a0000204441026a203241026a2d00003a0000204420322f00003b0000204341026a203141026a2d00003a0000204320312f00003b0000204241026a203041026a2d00003a0000204220302f00003b0000204141026a202f41026a2d00003a00002041202f2f00003b0000204041026a202e41026a2d00003a00002040202e2f00003b0000203f41026a202d41026a2d00003a0000203f202d2f00003b0000203e41026a202c41026a2d00003a0000203e202c2f00003b0000203d41026a202b41026a2d00003a0000203d202b2f00003b0000203c41026a202a41026a2d00003a0000203c202a2f00003b0000201c41026a202941026a2d00003a0000201c20292f00003b0000201641026a202841026a2d00003a0000201620282f00003b0000201541026a202741026a2d00003a0000201520272f00003b0000201741026a202641026a2d00003a0000201720262f00003b0000201841026a200341026a2d00003a0000201820032f00003b0000202341026a200741026a2d00003a0000202320072f00003b0000200541f0006a41286a20054190036a41286a290300370300200541f0006a41206a20054190036a41206a290300370300200541f0006a41186a20054190036a41186a290300370300200541f0006a41106a20054190036a41106a290300370300200541f0006a41086a20054190036a41086a29030037030020052005290390033703700240024020012802282207450d0020012007417f6a36022820012001280224220741016a22034100200128021c222320032023491b6b3602240240200128022020074102746a2802002203200128021822074f0d00200128021420034107746a220720072d00004108464102746a10d8898080002007204e3a0000200720243a0004200720223a0008200720213a000c200720052f00b1073b0001200741036a200541b1076a41026a2d00003a0000200720052f00ae073b0005200741076a200541ae076a41026a2d00003a0000200720052f00ab073b00092007410b6a200541ab076a41026a2d00003a0000200720052f00a8073b000d2007410f6a200541a8076a41026a2d00003a0000200720203a00102007201f3a00142007201e3a00182007201d3a001c200720052f00a5073b0011200741136a200541a5076a41026a2d00003a0000200720052f00a2073b0015200741176a200541a2076a41026a2d00003a0000200720052f009f073b00192007411b6a2005419f076a41026a2d00003a0000200720052f009c073b001d2007411f6a2005419c076a41026a2d00003a00002007201b3a0020200720193a0024200720143a0028200720123a002c200720052f0099073b0021200741236a20054199076a41026a2d00003a0000200720052f0096073b0025200741276a20054196076a41026a2d00003a0000200720052f0093073b00292007412b6a20054193076a41026a2d00003a0000200720052f0090073b002d2007412f6a20054190076a41026a2d00003a0000200720113a0030200741336a2005418d076a41026a2d00003a0000200720052f008d073b00312007200d3a0034200741376a2005418a076a41026a2d00003a0000200720052f008a073b00352007200e3a00382007413b6a20054187076a41026a2d00003a0000200720052f0087073b00392007200c3a003c2007413f6a20054184076a41026a2d00003a0000200720052f0084073b003d2007200b3a0040200741c3006a20054181076a41026a2d00003a0000200720052f0081073b00412007200f3a0044200741c7006a200541fe066a41026a2d00003a0000200720052f00fe063b0045200720063a0048200741cb006a200541fb066a41026a2d00003a0000200720052f00fb063b0049200720093a004c200741cf006a200541f8066a41026a2d00003a0000200720052f00f8063b004d200720083a0050200741d3006a200541f5066a41026a2d00003a0000200720052f00f5063b00512007200a3a0054200741d7006a200541f2066a41026a2d00003a0000200720052f00f2063b0055200720103a0058200741db006a200541ef066a41026a2d00003a0000200720052f00ef063b0059200720253a005c200741df006a200541ec066a41026a2d00003a0000200720052f00ec063b005d200720043a0060200741e3006a200541e8066a41026a2d00003a0000200720052f01e8063b0061200741fc006a200541e0066a280200360200200741f4006a200541d8066a290300370200200741ec006a200541c8066a41086a290300370200200720052903c8063702640c020b2003200741e4abc68000108281808000000b0240200128021822032001280210470d00200141106a41f4abc680001092868080000b200128021420034107746a2207204e3a0000200720052f00b1073b0001200720243a0004200720052f00ae073b0005200720223a0008200720052f00ab073b0009200720213a000c200720052f00a8073b000d200741036a200541b1076a41026a2d00003a0000200741076a200541ae076a41026a2d00003a00002007410b6a200541ab076a41026a2d00003a00002007410f6a200541a8076a41026a2d00003a0000200720203a00102007201f3a00142007201e3a00182007201d3a001c200720052f00a5073b0011200741136a200541a5076a41026a2d00003a0000200720052f00a2073b0015200741176a200541a2076a41026a2d00003a0000200720052f009f073b00192007411b6a2005419f076a41026a2d00003a0000200720052f009c073b001d2007411f6a2005419c076a41026a2d00003a00002007201b3a0020200741236a20054199076a41026a2d00003a0000200720052f0099073b0021200720193a0024200741276a20054196076a41026a2d00003a0000200720052f0096073b0025200720143a00282007412b6a20054193076a41026a2d00003a0000200720052f0093073b0029200720123a002c2007412f6a20054190076a41026a2d00003a0000200720052f0090073b002d200720113a0030200741336a2005418d076a41026a2d00003a0000200720052f008d073b00312007200d3a0034200741376a2005418a076a41026a2d00003a0000200720052f008a073b00352007200e3a00382007413b6a20054187076a41026a2d00003a0000200720052f0087073b00392007200c3a003c2007413f6a20054184076a41026a2d00003a0000200720052f0084073b003d2007200b3a0040200741c3006a20054181076a41026a2d00003a0000200720052f0081073b00412007200f3a0044200741c7006a200541fe066a41026a2d00003a0000200720052f00fe063b0045200720063a0048200741cb006a200541fb066a41026a2d00003a0000200720052f00fb063b0049200720093a004c200741cf006a200541f8066a41026a2d00003a0000200720052f00f8063b004d200720083a0050200741d3006a200541f5066a41026a2d00003a0000200720052f00f5063b00512007200a3a0054200741d7006a200541f2066a41026a2d00003a0000200720052f00f2063b0055200720103a0058200741db006a200541ef066a41026a2d00003a0000200720052f00ef063b0059200720253a005c200741df006a200541ec066a41026a2d00003a0000200720052f00ec063b005d200720043a0060200741e3006a200541e8066a41026a2d00003a0000200720052f01e8063b0061200741fc006a200541e0066a280200360200200741f4006a200541d8066a290300370200200741ec006a200541d0066a290300370200200720052903c8063702642001200341016a3602180b20002005290370370228200041d0006a20054198016a290300370200200041c8006a20054190016a290300370200200041c0006a20054188016a290300370200200041386a20054180016a290300370200200041306a200541f8006a290300370200200041063a0000200020052f00703b0001200041036a200541f2006a2d00003a000020002003360208200041003a00040c070b200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090c030b200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090b2005200141dc006a36027c200520133702742005200b36027020054180016a200541840a6a41cc0010f4978080001a200541cf016a200541d6096a2d00003a0000200520173a00cc01200520052f01d4093b00cd01200541f0006a109a8d8080001a0b200541f8056a41286a220720054190036a41286a290300370300200541f8056a41206a220420054190036a41206a290300370300200541f8056a41186a220620054190036a41186a290300370300200541f8056a41106a220f20054190036a41106a290300370300200541f8056a41086a220b20054190036a41086a29030037030020052005290390033703f805200520052802800520052802a405220c200c41284b220c1b360278200520052802fc04200541f8046a410472200c1b360274200520052802f804360270200541f8056a200541f0006a10e097808000200541c0016a2007290300370200200541b8016a2004290300370200200541b0016a2006290300370200200541a8016a200f290300370200200541a0016a200b290300370200200541fc006a201029030037020020054184016a200a2903003702002005418c016a200829030037020020054194016a2009280200360200200520052903f80537029801200520052903b004370274200541063a007020002001200541f0006a20034101108d8a80800020052802a4054129490d0220052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000c020b2005200141dc006a36027c200520133702742005200f36027020054180016a200541840a6a41cc0010f4978080001a200541cf016a200541d6096a2d00003a0000200520173a00cc01200520052f01d4093b00cd01200541f0006a109a8d8080001a0b200541f0006a41286a220720054190036a41286a290300370300200541f0006a41206a220420054190036a41206a290300370300200541f0006a41186a220120054190036a41186a290300370300200541f0006a41106a220920054190036a41106a290300370300200541f0006a41086a220620054190036a41086a2903003703002005200529039003370370200520052802800520052802a405220f200f41284b220f1b36028006200520052802fc04200541f8046a410472200f1b3602fc05200520052802f8043602f805200541f0006a200541f8056a10e097808000200041d8006a2007290300370200200041d0006a2004290300370200200041c8006a2001290300370200200041c0006a2009290300370200200041386a20062903003702002000200529037037023020054183066a20102903003700002005418b066a200a29030037000020054193066a20032903003700002005419b066a2008290300370000200541a3066a200541a8056a41286a280200360000200520052903a8053700fb05200041053a0000200020052900f805370001200041096a200541f8056a41086a290000370000200041116a200541f8056a41106a290000370000200041196a200541f8056a41186a290000370000200041216a200541f8056a41206a290000370000200041286a2005419f066a29000037000020052802a4054129490d0020052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000b20052d00d00a417c6a41ff01712207410420074104491b417f6a41ff01714102490d00200541d00a6a10d8898080000b20052802e003450d00200528028c044129490d0020052802e40322072007417e6a2f00006b41002802ec82d48000118180808000000b20022d0000417c6a41ff01712207410420074104491b417e6a41ff017141034f0d010c020b20022d0000417c6a41ff01712207410420074104491b417e6a41ff01714103490d010b200210d8898080000b200541b00b6a2480808080000baf0101027f024020012802182203200128020c2204470d002001410c6a4184acc6800010948f808000200128020c2104200128021821030b2001280210200128021420036a22034100200420032004491b6b4102746a20023602002001200128021841016a36021802402002200128020822044f0d002000200128020420024107746a220141800110f4978080001a200141043a0004200141083a00000f0b200220044194acc68000108281808000000bb69301030e7f017e3b7f23808080800041b00b6b220524808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020022d00002206417c6a41ff01712207410420074104491b417e6a0e03030102000b2000200241e00010f4978080001a0c1f0b200241056a210820022d000421092002280230220a2d00004102460d0241002106410121070c030b200541e8036a200241c4006a290200370300200541f0036a200241cc006a290200370300200541f8036a200241d4006a2902003703002005200229023c3703e00341012107200241016a2108200241306a2109200228025c210b2002280238210c2002280234210d2002280230210e200228022c220a2d00004102460d064100210f0c070b20054190036a41286a200241d0006a290200370300200541b0036a200241c8006a29020037030020054190036a41186a200241c0006a29020037030020054190036a41106a200241386a29020037030020054190036a41086a200241306a2902003703002005200229022837039003200541de036a200241076a2d00003a0000200541c0036a41086a200241146a290200370300200541c0036a41106a2002411c6a290200370300200541c0036a41186a200241246a280200360200200520022f00053b01dc032005200229020c3703c00320022d00042106200228020821102003280200210a2003280204210820032802082109024002400240024002400240024002400240024020040d0020052802980320052802bc032204200441284b1b2207417f6a210f2007450d13200741017420096a200528029003417f736a2209410176210720052802940320054190036a410472200441284b1b200f6a2d0000410f71210f024020094101710d00200720084d0d032007200841fce4cd8000109181808000000b200720084b0d1420072008490d0120072008419ce5cd8000108281808000000b2009410176210702400240200941017122040d0041002109200720084d0d012007200841fce4cd8000109181808000000b200720084b0d15200720084f0d16200a20076a2d000041047621090b2005420037029801200541003602d80a200520073602d40a2005200a3602d00a200541f0006a200541d00a6a4100200510ed978080001a2004450d0620052d009c014101710d04200541f0006a41046a21042009410474210f200541f0006a41044128200528029801220b41284b22081b6a2802002209200b412820081b460d022004200541f0006a41286a20081b21042005280270200541f0006a20081b21080c030b200a20076a22042d0000210941002108200541f0006a41286a220b4100360200200541f0006a200a200410cd89808000200541d00a6a41286a220c200b280200220b360200200541d00a6a41206a220e200541f0006a41206a290200370300200541d00a6a41186a220d200541f0006a41186a290200370300200541d00a6a41106a2211200541f0006a41106a290200370300200541d00a6a41086a2212200541f0006a41086a2902003703002005200529027022133703d00a200541d00a6a41047221042009417071200f72211402400240200541d00a6a41044128200b41284b22091b6a280200220f200b412820091b460d002004200c20091b21042013a7200541d00a6a20091b21090c010b200541d00a6a10cf8980800020052802d40a210f20052802d00a21090b2009200f6a20143a00002004200428020041016a360200200541f8056a41086a2012290300370300200541f8056a41106a2011290300370300200541f8056a41186a200d290300370300200541f8056a41206a200e290300370300200541f8056a41286a200c280200360200200520052903d00a3703f8050c060b41002104200541003602e003200f4104742115410121080c060b200541f0006a10d99780800020052802742109200528027021080b200820096a200f3a00002004200428020041016a3602000c010b20052802742005280298012204200441284b22041b2208450d112005280270200541f0006a20041b20086a417f6a220420042d00002009723a00000b2005200528029c0141016a36029c010b20052005280290033602d80a200520052802980320052802bc032204200441284b22041b3602d40a200520052802940320054190036a41047220041b3602d00a200541f0006a200541d00a6a4100200510ed978080001a200528029c01220841017621040240024020084101710d00200420052802742005280298012209200941284b22091b220f4b0d122005280270200541f0006a20091b21090c010b200420052802742005280298012209200941284b1b220f4b0d122004200f4f0d132005280270200541f0006a200941284b1b220920046a2d000041707121150b200541d00a6a41286a220f4100360200200541d00a6a2009200920046a10cd89808000200541f8056a41286a200f280200360200200541f8056a41206a200541d00a6a41206a290200370300200541f8056a41186a200541d00a6a41186a290200370300200541f8056a41106a200541d00a6a41106a290200370300200541f8056a41086a200541d00a6a41086a290200370300200520052902d00a3703f8052005280298014129490d00200528027022042004417e6a2f00006b41002802ec82d48000118180808000000b200541ec036a20054180066a290300370200200541f4036a20054188066a290300370200200541fc036a20054190066a29030037020020054184046a20054198066a2903003702002005418c046a200541f8056a41286a2802002204360200200520052903f80522133702e403200541013602e00320052802e8032004200441284b220f1b21092013a7200541e4036a200f1b21040b2009200720041b2116200841017121172004200a20041b2118024002402006410171450d0020054190046a41026a200541dc036a41026a2d00003a00002005419f046a200541c0036a41086a290300370000200541a7046a200541d0036a290300370000200541af046a200541d8036a2d00003a0000200520052f01dc033b0190042005201036009304200520052903c00337009704200520153a0079200520173a007820052016360274200520183602702005200120054190046a200541f0006a108c8a808000200528020421102005280200410171450d01200041083a000020002010360204024020052802e003450d00200528028c044129490d0020052802e40322072007417e6a2f00006b41002802ec82d48000118180808000000b20052802bc034129490d1c20052802940322072007417e6a2f00006b41002802ec82d48000118180808000000c1c0b024020012802282204200128021c2207470d002001411c6a4184acc6800010948f808000200128021c2107200128022821040b2001280220200128022420046a22044100200720042007491b6b4102746a20103602002001200128022841016a3602282010200128021822074f0d120c190b024020012802282204200128021c2207470d002001411c6a4184acc6800010948f808000200128021c2107200128022821040b2001280220200128022420046a22044100200720042007491b6b4102746a20103602002001200128022841016a3602282001280218220720104b0d18201020074194acc68000108281808000000b0240200a2d00244102460d0041012106410221070c010b410221060240200a2d00484102460d00410321070c010b0240200a2d006c4102460d0041032106410421070c010b0240200a2d0090014102460d0041042106410521070c010b0240200a2d00b4014102460d0041052106410621070c010b0240200a2d00d8014102460d0041062106410721070c010b0240200a2d00fc014102460d0041072106410821070c010b0240200a2d00a0024102460d0041082106410921070c010b0240200a2d00c4024102460d0041092106410a21070c010b0240200a2d00e8024102460d00410a2106410b21070c010b0240200a2d008c034102460d00410b2106410c21070c010b0240200a2d00b0034102460d00410c2106410d21070c010b0240200a2d00d4034102460d00410d2106410e21070c010b0240200a2d00f8034102460d00410e2106410f21070c010b200a2d009c044102460d01410f2106411021070b200741246c2107024002400340200741246a220441e404460d01200a20076a21102004210720102d00004102460d000c020b0b200941ff01714103460d020b2000200a360230200020093a0004200041073a0000200020082900003700052000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a2900003700000c170b0240200941ff01714103460d00200020082900003700052000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a2900003700002005410036027820054201370270200041306a200541f0006a10e497808000200020093a0004200041053a00000c020b4198aac68000412f41c8aac68000108081808000000b200541003602800a200520063a0070200541d8096a200541f0006a200541f0006a41016a10d797808000200a200641246c6a22072d00002104200741023a000020044102460d0e200541106a41246a200741206a2800003600002005412d6a200741196a290000370000200541256a200741116a2900003700002005411d6a200741096a290000370000200541c4006a200541e0096a290200370200200541cc006a200541e8096a290200370200200541d4006a200541f0096a290200370200200541dc006a200541d8096a41206a290200370200200541e4006a200541800a6a28020036020020054101360238200520052902d80937023c20052007290001370015200541063a0010200520043a001420002001200541106a20034100108f8a8080000b200a200a417e6a2f01006b41002802ec82d48000118180808000000c140b0240200a2d00244102460d004101210f410221070c010b4102210f0240200a2d00484102460d00410321070c010b0240200a2d006c4102460d004103210f410421070c010b0240200a2d0090014102460d004104210f410521070c010b0240200a2d00b4014102460d004105210f410621070c010b0240200a2d00d8014102460d004106210f410721070c010b0240200a2d00fc014102460d004107210f410821070c010b0240200a2d00a0024102460d004108210f410921070c010b0240200a2d00c4024102460d004109210f410a21070c010b0240200a2d00e8024102460d00410a210f410b21070c010b0240200a2d008c034102460d00410b210f410c21070c010b0240200a2d00b0034102460d00410c210f410d21070c010b0240200a2d00d4034102460d00410d210f410e21070c010b0240200a2d00f8034102460d00410e210f410f21070c010b200a2d009c044102460d01410f210f411021070b200741246c2107024002400340200741246a220441e404460d01200a20076a21102004210720102d00004102460d000c020b0b200641ff01714103460d020b2000200929020037023020002008290000370001200041d8006a200941286a290200370200200041d0006a200941206a290200370200200041c8006a200941186a290200370200200041c0006a200941106a290200370200200041386a200941086a290200370200200041096a200841086a290000370000200041116a200841106a290000370000200041196a200841186a290000370000200041216a200841206a290000370000200041286a200841276a2800003600002000200a36022c200020063a00000c120b0240200641ff01714103460d0020002008290000370005200020092902003702302000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a290000370000200041386a200941086a290200370200200041c0006a200941106a290200370200200041c8006a200941186a290200370200200041d0006a200941206a290200370200200041d8006a200941286a290200370200200020063a0004200041053a00000c100b4198aac68000412f418cabc68000108081808000000b200a200f41246c6a22072d00002110200741023a000002400240024002400240024020104102460d0020072802042108200541d4096a41026a200741036a2d00003a000020054198036a200741106a29020037030020054190036a41106a200741186a29020037030020054190036a41186a200741206a280200360200200520072f00013b01d40920052007290208370390032003280208200c200b200b41284b1b410174200e6b6a2209410176210720032802042104200328020021030240200941017122090d00200720044d0d032007200441fce4cd8000109181808000000b200720044b0d1020072004490d0120072004419ce5cd8000108281808000000b41d8aac680004124419cabc6800010a181808000000b200541003602a409200320076a22042d00002106200541fc086a2003200410cd89808000200541fc086a41286a2111200541fc086a41046a21042006417071200f722114200541fc086a4104412820052802a409221941284b22061b6a28020022122019412820061b460d012004201120061b210420052802fc08200541fc086a20061b21060c020b41002104200541003602f804200f41047421110c020b200541fc086a10cf89808000200528028009211220052802fc0821060b200620126a20143a00002004200428020041016a36020020054184056a20054184096a2902003702002005418c056a2005418c096a29020037020020054194056a20054194096a2902003702002005419c056a2005419c096a290200370200200541a4056a20112802002206360200200520052902fc0822133702fc04200541013602f8042013a7200541f8046a41046a200641284b22111b2104200528028005200620111b21060b2006200720041b2106200941017321092004200320041b210702402010410171450d00200541f0016a41026a200541d4096a41026a2d00003a0000200541ff016a20054190036a41086a29030037000020054187026a20054190036a41106a2903003700002005418f026a200541a8036a2d00003a0000200520052f01d4093b01f001200520083600f30120052005290390033700f701200520113a00d90a200520093a00d80a200520063602d40a200520073602d00a200541086a2001200541f0016a200541d00a6a108c8a808000200528020c21042005280208410171450d0d200041083a000020002004360204024020052802f804450d0020052802a4054129490d0020052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000b200a200a417e6a2f01006b41002802ec82d4800011818080800000200b4129490d12200d200d417e6a2f00006b41002802ec82d48000118180808000000c120b024020012802282210200128021c2204470d002001411c6a4184acc6800010948f808000200128021c2104200128022821100b2001280220200128022420106a22104100200420102004491b6b4102746a20083602002001200128022841016a3602282008200128021822044f0d0b200541f0006a200128021420084107746a220441800110f4978080001a200441043a0004200441083a00000c0d0b200f41004188aac68000108281808000000b20072008418ce5cd8000109181808000000b20072008418ce5cd8000109181808000000b20072008419ce5cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b2004200f41b4e7cd8000109181808000000b2004200f41c4e7cd8000109181808000000b2004200f41d4e7cd8000108281808000000b201020074194acc68000108281808000000b41d8aac68000412441fcaac6800010a181808000000b20072004418ce5cd8000109181808000000b200820044194acc68000108281808000000b200541f0006a200141106a2004108e8a8080000b024002400240024020052d007022104108460d00200541e7026a200541f0006a41286a280000360000200541c0026a41206a20054191016a290000370300200541c0026a41186a20054189016a290000370300200541c0026a41106a20054181016a290000370300200541c0026a41086a200541f9006a29000037030020054190026a41086a200541f0006a41306a220441086a29020037030020054190026a41106a200441106a29020037030020054190026a41186a200441186a29020037030020054190026a41206a200441206a29020037030020054190026a41286a200441286a290200370300200520052900713703c0022005200429020037039002200528029c012104200541f0026a41186a2203200541e8016a290200370300200541f0026a41106a2208200541e0016a290200370300200541f0026a41086a2212200541d8016a29020037030041002114200541a8096a41286a22194100360200200520052902d0013703f002200541a8096a2007200720066a10cd89808000200541f8056a41186a2003290300370300200541f8056a41106a2008290300370300200541f8056a41086a2012290300370300200541f8056a41286a200541a8096a41086a290200370300200541f8056a41306a200541a8096a41106a290200370300200541b0066a200541a8096a41186a290200370300200541b8066a200541a8096a41206a290200370300200541c0066a2019280200360200200520052903f0023703f805200520052902a80937039806200520113a00c506200520093a00c406200541c5066a2107200128025c2203450d01200541d00a6a20032001280260200541f8056a10d083808000024020052802d00a0d0020052802c0064129490d0420052802980622072007417e6a2f00006b41002802ec82d48000118180808000000c040b20052802d40a211420052902d80a2113200541840a6a200541f8056a41cc0010f4978080001a200541c0036a41026a200741026a2d00003a0000200520072f00003b01c0030c020b200541c0026a41086a200541fd006a290000370300200541c0026a41106a20054185016a290000370300200541c0026a41186a2005418d016a290000370300200541c0026a41206a20054195016a290000370300200541e7026a2005419c016a28000036000020054190026a41086a200541ac016a29020037030020054190026a41106a200541b4016a29020037030020054190026a41186a200541bc016a29020037030020054190026a41206a200541c4016a290200370300200541b8026a200541cc016a290200370300200520052900753703c002200520052902a4013703900220052802a001210420052d007421100c020b200541840a6a200541f8056a41cc0010f4978080001a200541c0036a41026a200741026a2d00003a0000200520072f00003b01c0030b2005200141dc006a3602dc0a200520133702d40a200520143602d00a200541e00a6a200541840a6a41cc0010f4978080001a200541af0b6a200541c2036a2d00003a0000200520093a00ac0b200520052f01c0033b00ad0b200541d00a6a109a8d8080001a0b02400240024002402010417c6a41ff01712207410420074104491b417f6a0e0401000002000b41acabc68000412841d4abc68000108081808000000b200541f8056a41286a20054190026a41286a290300370300200541f8056a41206a20054190026a41206a290300370300200541f8056a41186a20054190026a41186a290300370300200541f8056a41106a20054190026a41106a290300370300200541f8056a41086a220720054190026a41086a29030037030020052005290390023703f805200541d00a6a41086a2210200c360200200541e40a6a200541e0036a41086a290300370200200541ec0a6a200541e0036a41106a290300370200200541f40a6a200541e0036a41186a2903003702002005200d3602d40a2005200e3602d00a200520052903e0033702dc0a2005200b3602fc0a2005410136028c0a200541013602840a2005200f3a00c0032005200541c0036a3602880a200541d00a6a200541840a6a10e0978080002005200728020020052802a4062207200741284b22071b36028c0a200520052802fc05200541f8056a41047220071b3602880a200520052802f8053602840a200541d00a6a200541840a6a10e097808000200041d8006a200541d00a6a41286a290200370200200041d0006a200541d00a6a41206a290200370200200041c8006a200541d00a6a41186a290200370200200041c0006a200541d00a6a41106a290200370200200041386a2010290200370200200020052902d00a370230200541840a6a410b6a200541c0026a410b6a290000370000200541840a6a41136a200541c0026a41136a290000370000200541840a6a411b6a200541c0026a411b6a290000370000200541840a6a41236a200541c0026a41236a290000370000200520052900c3023700870a200041053a00002000200436022c200020052900840a370001200041096a200541840a6a41086a290000370000200041116a200541840a6a41106a290000370000200041196a200541840a6a41186a290000370000200041216a200541840a6a41206a290000370000200041286a200541ab0a6a28000036000020052802a4064129490d0120052802fc0522072007417e6a2f00006b41002802ec82d48000118180808000000c010b200020103a0000200020052903c002370001200541f8056a41286a20054190026a41286a290300370300200541f8056a41206a20054190026a41206a290300370300200541f8056a41186a20054190026a41186a290300370300200541f8056a41106a20054190026a41106a290300370300200541f8056a41086a220720054190026a41086a290300370300200041096a200541c0026a41086a290300370000200041116a200541c0026a41106a290300370000200041196a200541c0026a41186a290300370000200041216a200541c0026a41206a290300370000200041286a200541e7026a28000036000020052005290390023703f805200541d00a6a41086a2210200c360200200541e40a6a200541e0036a41086a290300370200200541ec0a6a200541e0036a41106a290300370200200541f40a6a200541e0036a41186a2903003702002005200d3602d40a2005200e3602d00a200520052903e0033702dc0a2005200b3602fc0a2005410136028c0a200541013602840a2005200f3a00c0032005200541c0036a3602880a200541d00a6a200541840a6a10e0978080002005200728020020052802a4062207200741284b22071b36028c0a200520052802fc05200541f8056a41047220071b3602880a200520052802f8053602840a200541d00a6a200541840a6a10e097808000200041d8006a200541d00a6a41286a290200370200200041d0006a200541d00a6a41206a290200370200200041c8006a200541d00a6a41186a290200370200200041c0006a200541d00a6a41106a290200370200200041386a2010290200370200200020052902d00a3702302000200436022c20052802a4064129490d0020052802fc0522072007417e6a2f00006b41002802ec82d48000118180808000000b20052802f804450d0020052802a4054129490d0020052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000b200a200a417e6a2f01006b41002802ec82d48000118180808000000c010b200128021420104107746a22072d0060211a20072d005c210420072d0058211020072d0054210a20072d0050210820072d004c210920072d0048210620072d0044210f20072d0040210b20072d003c210c20072d0038210e20072d0034210d20072d0030211120072d002c211220072d0028211420072d0024211920072d0020211b20072d001c211c20072d0018211d20072d0014211e20072d0010211f20072d000c212020072d0008212120072d0004212220072d00002123200741043a0004200741083a0000200741e1006a2124200741dd006a2125200741d9006a2126200741d5006a2127200741d1006a2128200741cd006a2129200741c9006a212a200741c5006a212b200741c1006a212c2007413d6a212d200741396a212e200741356a212f200741316a21302007412d6a2131200741296a2132200741256a2133200741216a21342007411d6a2135200741196a2136200741156a2137200741116a21382007410d6a2139200741096a213a200741056a213b0240024020234108460d00200541f0006a41026a200741036a2d00003a0000200541f8056a41026a203b41026a2d00003a0000200541840a6a41026a203a41026a2d00003a0000200541f8046a41026a203941026a2d00003a0000200541d4096a41026a203841026a2d00003a0000200520072f00013b01702005203b2f00003b01f8052005203a2f00003b01840a200520392f00003b01f804200520382f00003b01d409200541fc076a41026a203741026a2d00003a0000200541f8076a41026a203641026a2d00003a0000200541f4076a41026a203541026a2d00003a0000200541f0076a41026a203441026a2d00003a0000200541ec076a41026a203341026a2d00003a0000200520372f00003b01fc07200520362f00003b01f807200520352f00003b01f407200520342f00003b01f007200520332f00003b01ec07200541e8076a41026a203241026a2d00003a0000200520322f00003b01e807200541e4076a41026a203141026a2d00003a0000200520312f00003b01e407200541e0076a41026a203041026a2d00003a0000200520302f00003b01e007200541dc076a41026a202f41026a2d00003a00002005202f2f00003b01dc07200541d8076a41026a202e41026a2d00003a00002005202e2f00003b01d807200541d4076a41026a202d41026a2d00003a00002005202d2f00003b01d407200541d0076a41026a202c41026a2d00003a00002005202c2f00003b01d007200541cc076a41026a202b41026a2d00003a00002005202b2f00003b01cc07200541c8076a41026a202a41026a2d00003a00002005202a2f00003b01c807200541c4076a41026a202941026a2d00003a0000200520292f00003b01c407200541c0076a41026a202841026a2d00003a0000200520282f00003b01c007200541bc076a41026a202741026a2d00003a0000200520272f00003b01bc07200541b8076a41026a202641026a2d00003a0000200520262f00003b01b807200541b4076a41026a202541026a2d00003a0000200520252f00003b01b407200541a0086a41026a202441026a2d00003a0000200520242f00003b01a00820054198086a200741fc006a28000036020020054190086a200741f4006a29000037030020054180086a41086a200741ec006a29000037030020052007290064370380082010212520232124200a21102008210a2009210820062109200f2106200b210f200c210b200e210c200d210e2011210d201221112014211220192114201b2119201c211b0c010b200541f0006a41026a203b41026a2d00003a0000200541f8056a41026a203a41026a2d00003a0000200541840a6a41026a203941026a2d00003a0000200541f8046a41026a203841026a2d00003a0000200541d4096a41026a203741026a2d00003a00002005203b2f00003b01702005203a2f00003b01f805200520392f00003b01840a200520382f00003b01f804200520372f00003b01d409200541fc076a41026a203641026a2d00003a0000200541f8076a41026a203541026a2d00003a0000200541f4076a41026a203441026a2d00003a0000200541f0076a41026a203341026a2d00003a0000200541ec076a41026a203241026a2d00003a0000200520362f00003b01fc07200520352f00003b01f807200520342f00003b01f407200520332f00003b01f007200520322f00003b01ec07200541e8076a41026a203141026a2d00003a0000200520312f00003b01e807200541e4076a41026a203041026a2d00003a0000200520302f00003b01e407200541e0076a41026a202f41026a2d00003a00002005202f2f00003b01e007200541dc076a41026a202e41026a2d00003a00002005202e2f00003b01dc07200541d8076a41026a202d41026a2d00003a00002005202d2f00003b01d807200541d4076a41026a202c41026a2d00003a00002005202c2f00003b01d407200541d0076a41026a202b41026a2d00003a00002005202b2f00003b01d007200541cc076a41026a202a41026a2d00003a00002005202a2f00003b01cc07200541c8076a41026a202941026a2d00003a0000200520292f00003b01c807200541c4076a41026a202841026a2d00003a0000200520282f00003b01c407200541c0076a41026a202741026a2d00003a0000200520272f00003b01c007200541bc076a41026a202641026a2d00003a0000200520262f00003b01bc07200541b8076a41026a202541026a2d00003a0000200520252f00003b01b807200541b4076a41026a202441026a2d00003a0000200520242f00003b01b40720042125201a2104202221242021212220202121201f2120201e211f201d211e201c211d0b200541d70a6a200541f8056a41026a2d00003a0000200541db0a6a200541840a6a41026a2d00003a0000200541df0a6a200541f8046a41026a2d00003a0000200520052f01703b00d10a200520223a00d40a200520052f01f8053b00d50a200520213a00d80a200520052f01840a3b00d90a200520203a00dc0a200520052f01f8043b00dd0a2005200541f0006a41026a2d00003a00d30a200520243a00d00a200541e30a6a200541d4096a41026a2d00003a0000200541e70a6a200541fc076a41026a2d00003a0000200541eb0a6a200541f8076a41026a2d00003a0000200541ef0a6a200541f4076a41026a2d00003a00002005201f3a00e00a2005201e3a00e40a2005201d3a00e80a2005201b3a00ec0a200520052f01d4093b00e10a200520052f01fc073b00e50a200520052f01f8073b00e90a200520052f01f4073b00ed0a200541f30a6a200541f0076a41026a2d00003a0000200541f70a6a200541ec076a41026a2d00003a0000200541fb0a6a200541e8076a41026a2d00003a0000200541ff0a6a200541e4076a41026a2d00003a0000200520193a00f00a200520143a00f40a200520123a00f80a200520113a00fc0a200520052f01f0073b00f10a200520052f01ec073b00f50a200520052f01e8073b00f90a200520052f01e4073b00fd0a2005200d3a00800b200541830b6a200541e0076a41026a2d00003a0000200520052f01e0073b00810b2005200e3a00840b200541870b6a200541dc076a41026a2d00003a0000200520052f01dc073b00850b2005200c3a00880b2005418b0b6a200541d8076a41026a2d00003a0000200520052f01d8073b00890b2005200b3a008c0b2005418f0b6a200541d4076a41026a2d00003a0000200520052f01d4073b008d0b2005200f3a00900b200541930b6a200541d0076a41026a2d00003a0000200520052f01d0073b00910b200520063a00940b200541970b6a200541cc076a41026a2d00003a0000200520052f01cc073b00950b200520093a00980b2005419b0b6a200541c8076a41026a2d00003a0000200520052f01c8073b00990b200520083a009c0b2005419f0b6a200541c4076a41026a2d00003a0000200520052f01c4073b009d0b2005200a3a00a00b200541a30b6a200541c0076a41026a2d00003a0000200520052f01c0073b00a10b200520103a00a40b200541a70b6a200541bc076a41026a2d00003a0000200520052f01bc073b00a50b200520253a00a80b200541ab0b6a200541b8076a41026a2d00003a0000200520052f01b8073b00a90b200520043a00ac0b200541af0b6a200541b4076a41026a2d00003a0000200520052f01b4073b00ad0b200541d00a6a41046a210702400240024002400240024002400240024002400240024002402024417c6a41ff01712226410420264104491b417f6a0e020102000b200541ad0b6a2107200541a90b6a2103200541a50b6a2126200541a10b6a21272005419d0b6a2128200541990b6a2129200541950b6a212a200541910b6a212b2005418d0b6a212c200541890b6a212d200541850b6a212e200541810b6a212f200541fd0a6a2130200541f90a6a2131200541f50a6a2132200541f10a6a2133200541ed0a6a2134200541e90a6a2135200541e50a6a2136200541e10a6a2137200541dd0a6a2138200541d90a6a2139200541d50a6a213a200541d00a6a410172213b20234108470d02200541e8066a2123200541ec066a2118200541ef066a2117200541f2066a2115200541f5066a2116200541f8066a211c200541fb066a213c200541fe066a213d20054181076a213e20054184076a213f20054187076a21402005418a076a21412005418d076a214220054190076a214320054193076a214420054196076a214520054199076a21462005419c076a21472005419f076a2148200541a2076a2149200541a5076a214a200541a8076a214b200541ab076a214c200541ae076a214d4108214e0c030b200541f8046a41286a200541800b6a220441286a290200370300200541f8046a41206a200441206a290200370300200541f8046a41186a200441186a290200370300200541f8046a41106a200441106a290200370300200541f8046a41086a200441086a290200370300200541a8056a41086a2210200741086a290200370300200541a8056a41106a220a200741106a290200370300200541a8056a41186a2203200741186a290200370300200541a8056a41206a2208200741206a290200370300200541a8056a41286a200741286a280200360200200520042902003703f804200520072902003703a80520234108460d08200541f4056a41026a2207200541a0086a41026a2d00003a0000200541d8056a41086a220420054180086a41086a290300370300200541d8056a41106a220920054180086a41106a290300370300200541d8056a41186a220620054180086a41186a2802003602004100210f200541a4086a41286a220b4100360200200520052f01a0083b01f40520052005290380083703d805200541a4086a2018201820166a10cd8980800020054184066a20042903003702002005418c066a200929030037020020054194066a2006280200360200200541f8056a41286a200541a4086a41086a290200370200200541a8066a200541a4086a41106a290200370200200541b0066a200541a4086a41186a290200370200200541b8066a200541a4086a41206a290200370200200541c0066a200b2802003602002005201a3a00f805200520052f01f4053b00f905200520072d00003a00fb05200520052903d8053702fc05200520052902a40837029806200520153a00c506200520173a00c406200541c5066a2107200128025c2204450d03200541f0006a20042001280260200541f8056a10d083808000024020052802700d0020052802c0064129490d0920052802980622072007417e6a2f00006b41002802ec82d48000118180808000000c090b2005280274210f20052902782113200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090c070b200541f8046a41286a200541d00a6a41286a220441286a290200370300200541f8046a41206a200441206a290200370300200541f8046a41186a200441186a290200370300200541f8046a41106a200441106a290200370300200541f8046a41086a200441086a290200370300200541b0046a41086a2210200741086a290200370300200541b0046a41106a220a200741106a290200370300200541b0046a41186a2208200741186a290200370300200541b0046a41206a2209200741206a280200360200200520042902003703f804200520072902003703b00420234108460d05200541f4046a41026a2207200541a0086a41026a2d00003a0000200541d8046a41086a220420054180086a41086a290300370300200541d8046a41106a220620054180086a41106a290300370300200541d8046a41186a220f20054180086a41186a2802003602004100210b200541d0086a41286a220c4100360200200520052f01a0083b01f40420052005290380083703d804200541d0086a2018201820166a10cd8980800020054184066a20042903003702002005418c066a200629030037020020054194066a200f280200360200200541f8056a41286a200541d0086a41086a290200370200200541a8066a200541d0086a41106a290200370200200541b0066a200541d0086a41186a290200370200200541b8066a200541d0086a41206a290200370200200541c0066a200c2802003602002005201a3a00f805200520052f01f4043b00f905200520072d00003a00fb05200520052903d8043702fc05200520052902d00837029806200520153a00c506200520173a00c406200541c5066a2107200128025c2204450d03200541f0006a20042001280260200541f8056a10d083808000024020052802700d0020052802c0064129490d0620052802980622072007417e6a2f00006b41002802ec82d48000118180808000000c060b2005280274210b20052902782113200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090c040b200541e8066a41026a200541a0086a41026a2d00003a0000200541c8066a41086a20054180086a41086a290300370300200541c8066a41106a20054180086a41106a290300370300200541c8066a41186a20054180086a41186a280200360200200520052f01a0083b01e80620052005290380083703c806200541ec066a2123200541ef066a2118200541f2066a2117200541f5066a2115200541f8066a2116200541fb066a211c200541fe066a213c20054181076a213d20054184076a213e20054187076a213f2005418a076a21402005418d076a214120054190076a214220054193076a214320054196076a214420054199076a21452005419c076a21462005419f076a2147200541a2076a2148200541a5076a2149200541a8076a214a200541ab076a214b200541ae076a214c200541b1076a214d2024214e202221242021212220202121201f2120201e211f201d211e201b211d2019211b201421192012211420112112200d2111200e210d200c210e200b210c200f210b2006210f2009210620082109200a21082010210a2025211020042125201a21040b204d203b2f00003b0000204c203a2f00003b0000204b20392f00003b0000204a20382f00003b0000204920372f00003b0000204d41026a203b41026a2d00003a0000204c41026a203a41026a2d00003a0000204b41026a203941026a2d00003a0000204a41026a203841026a2d00003a0000204941026a203741026a2d00003a0000204841026a203641026a2d00003a0000204820362f00003b0000204720352f00003b0000204741026a203541026a2d00003a0000204620342f00003b0000204641026a203441026a2d00003a0000204520332f00003b0000204541026a203341026a2d00003a0000204441026a203241026a2d00003a0000204420322f00003b0000204341026a203141026a2d00003a0000204320312f00003b0000204241026a203041026a2d00003a0000204220302f00003b0000204141026a202f41026a2d00003a00002041202f2f00003b0000204041026a202e41026a2d00003a00002040202e2f00003b0000203f41026a202d41026a2d00003a0000203f202d2f00003b0000203e41026a202c41026a2d00003a0000203e202c2f00003b0000203d41026a202b41026a2d00003a0000203d202b2f00003b0000203c41026a202a41026a2d00003a0000203c202a2f00003b0000201c41026a202941026a2d00003a0000201c20292f00003b0000201641026a202841026a2d00003a0000201620282f00003b0000201541026a202741026a2d00003a0000201520272f00003b0000201741026a202641026a2d00003a0000201720262f00003b0000201841026a200341026a2d00003a0000201820032f00003b0000202341026a200741026a2d00003a0000202320072f00003b0000200541f0006a41286a20054190036a41286a290300370300200541f0006a41206a20054190036a41206a290300370300200541f0006a41186a20054190036a41186a290300370300200541f0006a41106a20054190036a41106a290300370300200541f0006a41086a20054190036a41086a29030037030020052005290390033703700240024020012802282207450d0020012007417f6a36022820012001280224220741016a22034100200128021c222320032023491b6b3602240240200128022020074102746a2802002203200128021822074f0d00200128021420034107746a220720072d00004108464102746a10d8898080002007204e3a0000200720243a0004200720223a0008200720213a000c200720052f00b1073b0001200741036a200541b1076a41026a2d00003a0000200720052f00ae073b0005200741076a200541ae076a41026a2d00003a0000200720052f00ab073b00092007410b6a200541ab076a41026a2d00003a0000200720052f00a8073b000d2007410f6a200541a8076a41026a2d00003a0000200720203a00102007201f3a00142007201e3a00182007201d3a001c200720052f00a5073b0011200741136a200541a5076a41026a2d00003a0000200720052f00a2073b0015200741176a200541a2076a41026a2d00003a0000200720052f009f073b00192007411b6a2005419f076a41026a2d00003a0000200720052f009c073b001d2007411f6a2005419c076a41026a2d00003a00002007201b3a0020200720193a0024200720143a0028200720123a002c200720052f0099073b0021200741236a20054199076a41026a2d00003a0000200720052f0096073b0025200741276a20054196076a41026a2d00003a0000200720052f0093073b00292007412b6a20054193076a41026a2d00003a0000200720052f0090073b002d2007412f6a20054190076a41026a2d00003a0000200720113a0030200741336a2005418d076a41026a2d00003a0000200720052f008d073b00312007200d3a0034200741376a2005418a076a41026a2d00003a0000200720052f008a073b00352007200e3a00382007413b6a20054187076a41026a2d00003a0000200720052f0087073b00392007200c3a003c2007413f6a20054184076a41026a2d00003a0000200720052f0084073b003d2007200b3a0040200741c3006a20054181076a41026a2d00003a0000200720052f0081073b00412007200f3a0044200741c7006a200541fe066a41026a2d00003a0000200720052f00fe063b0045200720063a0048200741cb006a200541fb066a41026a2d00003a0000200720052f00fb063b0049200720093a004c200741cf006a200541f8066a41026a2d00003a0000200720052f00f8063b004d200720083a0050200741d3006a200541f5066a41026a2d00003a0000200720052f00f5063b00512007200a3a0054200741d7006a200541f2066a41026a2d00003a0000200720052f00f2063b0055200720103a0058200741db006a200541ef066a41026a2d00003a0000200720052f00ef063b0059200720253a005c200741df006a200541ec066a41026a2d00003a0000200720052f00ec063b005d200720043a0060200741e3006a200541e8066a41026a2d00003a0000200720052f01e8063b0061200741fc006a200541e0066a280200360200200741f4006a200541d8066a290300370200200741ec006a200541c8066a41086a290300370200200720052903c8063702640c020b2003200741e4abc68000108281808000000b0240200128021822032001280210470d00200141106a41f4abc680001092868080000b200128021420034107746a2207204e3a0000200720052f00b1073b0001200720243a0004200720052f00ae073b0005200720223a0008200720052f00ab073b0009200720213a000c200720052f00a8073b000d200741036a200541b1076a41026a2d00003a0000200741076a200541ae076a41026a2d00003a00002007410b6a200541ab076a41026a2d00003a00002007410f6a200541a8076a41026a2d00003a0000200720203a00102007201f3a00142007201e3a00182007201d3a001c200720052f00a5073b0011200741136a200541a5076a41026a2d00003a0000200720052f00a2073b0015200741176a200541a2076a41026a2d00003a0000200720052f009f073b00192007411b6a2005419f076a41026a2d00003a0000200720052f009c073b001d2007411f6a2005419c076a41026a2d00003a00002007201b3a0020200741236a20054199076a41026a2d00003a0000200720052f0099073b0021200720193a0024200741276a20054196076a41026a2d00003a0000200720052f0096073b0025200720143a00282007412b6a20054193076a41026a2d00003a0000200720052f0093073b0029200720123a002c2007412f6a20054190076a41026a2d00003a0000200720052f0090073b002d200720113a0030200741336a2005418d076a41026a2d00003a0000200720052f008d073b00312007200d3a0034200741376a2005418a076a41026a2d00003a0000200720052f008a073b00352007200e3a00382007413b6a20054187076a41026a2d00003a0000200720052f0087073b00392007200c3a003c2007413f6a20054184076a41026a2d00003a0000200720052f0084073b003d2007200b3a0040200741c3006a20054181076a41026a2d00003a0000200720052f0081073b00412007200f3a0044200741c7006a200541fe066a41026a2d00003a0000200720052f00fe063b0045200720063a0048200741cb006a200541fb066a41026a2d00003a0000200720052f00fb063b0049200720093a004c200741cf006a200541f8066a41026a2d00003a0000200720052f00f8063b004d200720083a0050200741d3006a200541f5066a41026a2d00003a0000200720052f00f5063b00512007200a3a0054200741d7006a200541f2066a41026a2d00003a0000200720052f00f2063b0055200720103a0058200741db006a200541ef066a41026a2d00003a0000200720052f00ef063b0059200720253a005c200741df006a200541ec066a41026a2d00003a0000200720052f00ec063b005d200720043a0060200741e3006a200541e8066a41026a2d00003a0000200720052f01e8063b0061200741fc006a200541e0066a280200360200200741f4006a200541d8066a290300370200200741ec006a200541d0066a290300370200200720052903c8063702642001200341016a3602180b20002005290370370228200041d0006a20054198016a290300370200200041c8006a20054190016a290300370200200041c0006a20054188016a290300370200200041386a20054180016a290300370200200041306a200541f8006a290300370200200041063a0000200020052f00703b0001200041036a200541f2006a2d00003a000020002003360208200041003a00040c070b200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090c030b200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090b2005200141dc006a36027c200520133702742005200b36027020054180016a200541840a6a41cc0010f4978080001a200541cf016a200541d6096a2d00003a0000200520173a00cc01200520052f01d4093b00cd01200541f0006a109a8d8080001a0b200541f8056a41286a220720054190036a41286a290300370300200541f8056a41206a220420054190036a41206a290300370300200541f8056a41186a220620054190036a41186a290300370300200541f8056a41106a220f20054190036a41106a290300370300200541f8056a41086a220b20054190036a41086a29030037030020052005290390033703f805200520052802800520052802a405220c200c41284b220c1b360278200520052802fc04200541f8046a410472200c1b360274200520052802f804360270200541f8056a200541f0006a10e097808000200541c0016a2007290300370200200541b8016a2004290300370200200541b0016a2006290300370200200541a8016a200f290300370200200541a0016a200b290300370200200541fc006a201029030037020020054184016a200a2903003702002005418c016a200829030037020020054194016a2009280200360200200520052903f80537029801200520052903b004370274200541063a007020002001200541f0006a20034101108f8a80800020052802a4054129490d0220052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000c020b2005200141dc006a36027c200520133702742005200f36027020054180016a200541840a6a41cc0010f4978080001a200541cf016a200541d6096a2d00003a0000200520173a00cc01200520052f01d4093b00cd01200541f0006a109a8d8080001a0b200541f0006a41286a220720054190036a41286a290300370300200541f0006a41206a220420054190036a41206a290300370300200541f0006a41186a220120054190036a41186a290300370300200541f0006a41106a220920054190036a41106a290300370300200541f0006a41086a220620054190036a41086a2903003703002005200529039003370370200520052802800520052802a405220f200f41284b220f1b36028006200520052802fc04200541f8046a410472200f1b3602fc05200520052802f8043602f805200541f0006a200541f8056a10e097808000200041d8006a2007290300370200200041d0006a2004290300370200200041c8006a2001290300370200200041c0006a2009290300370200200041386a20062903003702002000200529037037023020054183066a20102903003700002005418b066a200a29030037000020054193066a20032903003700002005419b066a2008290300370000200541a3066a200541a8056a41286a280200360000200520052903a8053700fb05200041053a0000200020052900f805370001200041096a200541f8056a41086a290000370000200041116a200541f8056a41106a290000370000200041196a200541f8056a41186a290000370000200041216a200541f8056a41206a290000370000200041286a2005419f066a29000037000020052802a4054129490d0020052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000b20052d00d00a417c6a41ff01712207410420074104491b417f6a41ff01714102490d00200541d00a6a10d8898080000b20052802e003450d00200528028c044129490d0020052802e40322072007417e6a2f00006b41002802ec82d48000118180808000000b20022d0000417c6a41ff01712207410420074104491b417e6a41ff017141034f0d010c020b20022d0000417c6a41ff01712207410420074104491b417e6a41ff01714103490d010b200210d8898080000b200541b00b6a2480808080000b831d04057f017e167f027e23808080800041e0036b2205248080808000024002400240024002400240024002400240024002400240024020022d00004101470d00200541a0016a200241196a29000037030020054198016a200241116a29000037030020054190016a200241096a29000037030020052002290001370388012003280208220641017621020240024020064101710d002002200328020422064b0d04200541003a00b002200520023602ac02200520032802003602a8020c010b2002200328020422064b0d04200220064f0d0520032802002106200541013a00b002200520063602a802200520023602ac022005200620026a2d000041f001713a00b1020b2005200120054188016a200541a8026a108c8a8080002005280204210220052802004101710d0b024020012802282207200128021c2206470d002001411c6a4184acc6800010948f808000200128021c2106200128022821070b2001280220200128022420076a22074100200620072006491b6b4102746a20023602002001200128022841016a3602282001280218220620024b0d01200220064194acc68000108281808000000b20022802042102024020012802282207200128021c2206470d002001411c6a4184acc6800010948f808000200128021c2106200128022821070b2001280220200128022420076a22074100200620072006491b6b4102746a20023602002001200128022841016a3602282002200128021822064f0d040b200128021420024107746a22022d00002106200541296a200241016a41df0010f4978080001a200241043a0004200241083a0000200541086a41086a200241ec006a290200370300200541186a200241f4006a290200370300200541206a200241fc006a2802003602002005200229026437030820022802602107024002400240024020064108460d00200328020821082003280204210920032802002102200541a8026a410172200541296a41df0010f4978080001a20052001360288032005200336028c03200520063a00a802200541c4016a20042001200541a8026a200310918a80800020052802c801210620052802c40122034103470d010c0c0b200541a8026a200541296a41036a41dc0010f4978080001a20052001360288032005200336028c032005200736028403200541c4016a20042001200541a8026a200310918a80800020052802c801210620052802c40122044103460d0b20052802a4022107200529029c02210a200528029802210b200528029402210c200528029002210d200528028c02210e200528028802210f2005280284022110200528028002211120052802fc01211220052802f801211320052802f401211420052802f001211520052802ec01211620052802e801211720052802e401211820052802e001211920052802dc01211a20052802d801211b20052802d401211c20052802d001211d20052802cc01211e41022103410121084108210920040e0302010d020b20052902a002210a200528029c02211f200528029802210b200528029402210c200528029002210d200528028c02210e200528028802210f2005280284022110200528028002211120052802fc01211220052802f801211320052802f401211420052802f001211520052802ec01211620052802e801211720052802e401211820052802e001211920052802dc01211a20052802d801211b20052802d401211c20052802d001211d20052802cc01212002400240024020030e03000102000b200841017621030240024020084101710d000240200320094b0d00410021040c020b2003200941fce4cd8000109181808000000b200320094b0d09200320094f0d0a200220036a2d00004170712108410121040b200a422088212141002109200541a8026a41286a221e4100360200200541a8026a2002200220036a10d797808000200541e4016a220241286a201e280200360200200241206a200541a8026a41206a290200370200200241186a200541a8026a41186a290200370200200241106a200541a8026a41106a290200370200200241086a200541a8026a41086a290200370200200220052902a802370200200541d0016a200541086a41086a290300370200200541d8016a200541086a41106a290300370200200541e0016a200541086a41186a280200360200200520083a009102200520043a009002200520073602c401200520052903083702c80120054191026a2102024002400240200128025c2203450d00200541a8026a20032001280260200541c4016a10d083808000024020052802a802450d0020052802ac02210920052902b002212220054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030c020b200528028c024129490d0220052802e40122022002417e6a2f00006b41002802ec82d48000118180808000000c020b20054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030b2005200141dc006a3602b402200520223702ac02200520093602a802200541b8026a20054194036a41cc0010f4978080001a20054187036a20054192036a2d00003a0000200520043a008403200520052f0190033b008503200541a8026a109a8d8080001a0b2021a72107200a422086201fad84210a4101210841082109410021042020211e0c030b200541a8016a41186a200541086a41186a280200360200200541a8016a41106a200541086a41106a290300370300200541a8016a41086a200541086a41086a290300370300200520052903083703a801200641ff01712109200641807e71210441002108201d211e201c211d201b211c201a211b2019211a20182119201721182016211720152116201421152013211420122113201121122020210620102111200f2110200e210f200d210e200c210d200b210c201f210b0c020b200841017621030240024020084101710d000240200320094b0d00410021060c020b2003200941fce4cd8000109181808000000b200320094b0d09200320094f0d0a200220036a2d00004170712104410121060b4100210b200541a8026a41286a220c4100360200200541a8026a2002200220036a10d797808000200541e4016a220241286a200c280200360200200241206a200541a8026a41206a290200370200200241186a200541a8026a41186a290200370200200241106a200541a8026a41106a290200370200200241086a200541a8026a41086a290200370200200220052902a802370200200541d0016a200541086a41086a290300370200200541d8016a200541086a41106a290300370200200541e0016a200541086a41186a280200360200200520043a009102200520063a009002200520073602c401200520052903083702c80120054191026a2102024002400240200128025c2203450d00200541a8026a20032001280260200541c4016a10d083808000024020052802a802450d0020052802ac02210b20052902b002210a20054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030c020b200528028c024129490d0220052802e40122012001417e6a2f00006b41002802ec82d4800011818080800000410221030c0f0b20054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030b2005200141dc006a3602b4022005200a3702ac022005200b3602a802200541b8026a20054194036a41cc0010f4978080001a20054187036a20054192036a2d00003a0000200520063a008403200520052f0190033b008503200541a8026a109a8d8080001a0b410221030c0c0b41002104410021080b200920047221040240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c220920032009491b6b3602240240200128022020024102746a2802002202200128021822034f0d00200128021420024107746a220120012d00004108464102746a10d889808000200120073602602001200a3702582001200b3602542001200c3602502001200d36024c2001200e3602482001200f360244200120103602402001201136023c2001201236023820012013360234200120143602302001201536022c2001201636022820012017360224200120183602202001201936021c2001201a3602182001201b3602142001201c3602102001201d36020c2001201e3602082001200636020420012004360200200141fc006a200541c0016a280200360200200141f4006a200541b8016a290300370200200141ec006a200541a8016a41086a290300370200200120052903a8013702640c020b2002200341e4abc68000108281808000000b0240200128021822022001280210470d00200141106a41f4abc680001092868080000b200128021420024107746a220320073602602003200a3702582003200b3602542003200c3602502003200d36024c2003200e3602482003200f360244200320103602402003201136023c2003201236023820032013360234200320143602302003201536022c2003201636022820032017360224200320183602202003201936021c2003201a3602182003201b3602142003201c3602102003201d36020c2003201e3602082003200636020420032004360200200341fc006a200541c0016a280200360200200341f4006a200541b8016a290300370200200341ec006a200541b0016a290300370200200320052903a8013702642001200241016a3602180b200821030c0a0b2002200641fce4cd8000109181808000000b20022006418ce5cd8000109181808000000b20022006419ce5cd8000108281808000000b200220064194acc68000108281808000000b20032009418ce5cd8000109181808000000b20032009419ce5cd8000108281808000000b20032009418ce5cd8000109181808000000b20032009419ce5cd8000108281808000000b200621020b410321030b200020033a000420002002360200200541e0036a2480808080000bc04205027f017e077f017e057f23808080800041a0046b2205248080808000200541086a200441086a280200220636020020052004290200220737030020052802042108200541e4006a200341e00010f4978080001a200520062008410174220946220a3a00c401200920066b210b2007a7210c024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020052d0064220d417c6a41ff01712209410420094104491b220e0e050001020304000b200041023602000c200b200541c0036a41286a200341d8006a290200370300200541c0036a41206a200341d0006a290200370300200541c0036a41186a200341c8006a290200370300200541c0036a41106a200341c0006a290200370300200541c0036a41086a200341386a290200220737030020052003290230220f3703c003200541eb006a2d0000210620052d0068210a200528026c2108200528028c012110200528029001211120052f006921122005200fa722093602d001200520052802c403200541c0036a410472220c20052802ec03221341284b22141b3602c80120052007a7201320141b22133602cc012003410c6a210320122006411074722106024002400240201341017420096b200b470d00200541c8016a200510e697808000200b460d0120052802c00321090b200541106a41286a200c41286a280200360200200541106a41206a200c41206a290200370300200541106a41186a200c41186a290200370300200541106a41106a200c41106a290200370300200541106a41086a200c41086a290200370300200541c0006a41086a200341086a290200370300200541c0006a41106a200341106a290200370300200541c0006a41186a200341186a2802003602002005200c29020037031020052003290200370340410121030c010b200428020421092004280200210c20042802082104200541e0026a41106a200341086a290200370200200541e0026a41186a200341106a29020037020020054180036a200341186a280200360200200520083602e4022005200a3a00e00220052011360288032005201036028403200520032902003702e802200520063b00e102200520064110763a00e302200b20046a220441017621030240024020044101710d00200320094b0d06200541003a00b802200520033602b4022005200c3602b0020c010b200320094b0d06200320094f0d07200541013a00b8022005200c3602b002200520033602b4022005200c20036a2d000041f001713a00b9020b20022001200541e0026a200541b0026a10888a80800041022103024020052802ec034129490d0020052802c40322042004417e6a2f00006b41002802ec82d48000118180808000000b0b4105210c0c1d0b200541b0026a41286a200341d0006a290200370300200541b0026a41206a200341c8006a290200370300200541b0026a41186a200341c0006a290200370300200541b0026a41106a200341386a290200370300200541b0026a41086a200341306a290200220737030020052003290228220f3703b002200341076a2d0000210b20032d0004210a2003280208210820032f00052111200520052802b402200541b0026a41047220052802dc02220641284b22091b3602c00320052007a7200620091b22063602c4032005200fa722093602c803200541c0036a200510e697808000220c200641017420096b460d052011200b411074722106200541106a41086a200541b0026a41146a290200370300200541106a41106a200541b0026a411c6a290200370300200541106a41186a200541b0026a41246a290200370300200541106a41206a200541dc026a280200360200200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a280200360200200520052902bc023703102005200329020c370340410121034106210c20052802b802210920052802b402211120052802b00221100c1c0b0240200a0d002005280294012109200541d8026a2003412c6a280200360200200541d0026a200341246a290200370300200541c8026a2003411c6a290200370300200541c0026a200341146a290200370300200541b8026a2003410c6a290200370300200520032902043703b0022006410176220b20084f0d062009200c200b6a2d00002208410f71200841047620064101711b41246c6a22062d00002108200641023a0000024002400240024020084102460d00200541c8016a41096a200641096a290000370000200541c8016a41116a200641116a290000370000200541c8016a41196a200641196a290000370000200541c8016a41206a200641206a280000360000200541f8016a41086a200441086a220b280200220a36020020062900012107200b200a41016a360200200520083a00c801200520073700c901200520042902003703f801200541c0036a2002200541c8016a2004200110908a80800020052802c003210420052d00c4032208417e6a0e020301020b200541c8006a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541d8006a200341246a2802003602002005200329020c37034020052f00b10220052d00b302411074722106410121030c1a0b2000410336020020002004360204200541b0026a10db8980800020092009417e6a2f01006b41002802ec82d48000118180808000000c200b20062004360204200641003a0000200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541d8006a200341246a2802003602002005200329020c3703402008410173210320052f00b10220052d00b3024110747221060c180b200541ec036a200341046a220341286a280200360200200541c0036a41246a200341206a290200370200200541c0036a411c6a200341186a290200370200200541c0036a41146a200341106a290200370200200541cc036a200341086a290200370200200520093602f003200541073a00c003200520032902003702c40341002103200541e0026a2002200541c0036a200541f8016a4100108f8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c1f0b200541e2006a20052d00e3023a0000200541c0006a41086a200541e0026a41146a290200370300200541c0006a41106a200541e0026a411c6a290200370300200541c0006a41186a200541e0026a41246a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c180b200528029401210620052d00684103460d092004280208220941017621080240024020094101710d002008200428020422094b0d08200541003a00c803200520083602c403200520042802003602c0030c010b2008200428020422094b0d08200820094f0d0920042802002109200541013a00c803200520093602c003200520083602c4032005200920086a2d000041f001713a00c9030b20022001200341046a200541c0036a10888a808000200541033a00c403200520063602f003200541073a00c003200541b0026a41086a200441086a280200360200200520042902003703b00241002104200541e0026a2002200541c0036a200541b0026a4100108f8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c1e0b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541386a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621064101210b410021030c1c0b02400240024002400240024002400240024002400240200a0d00200541b0026a41286a200341d8006a290200370300200541b0026a41206a200341d0006a290200370300200541b0026a41186a200341c8006a290200370300200541b0026a41106a200341c0006a290200370300200541b0026a41086a2209200341386a290200370300200520032902303703b0022005280290012111200541c8016a41286a200341286a280200360200200541c8016a41206a200341206a290200370300200541c8016a41186a200341186a290200370300200541c8016a41106a200341106a290200370300200541c8016a41086a200341086a290200370300200520032902003703c801200520052802b0023602c8032005200928020020052802dc022209200941284b220a1b3602c403200520052802b402200541b0026a4104722209200a1b3602c003200541c0036a200510e697808000210a20052802c40341017420052802c8036b21100240200a200b470d00200a2010460d070b200a2010490d01200a20066a220b410176220620084f0d022011200c20066a2d00002206410f712006410476200b4101711b41246c6a22062d00002108200641023a000020084102460d03200541f8016a41096a200641096a290000370000200541f8016a41116a200641116a290000370000200541f8016a41196a200641196a290000370000200541f8016a41206a200641206a280000360000200541a0026a41086a200441086a220b280200220c36020020062900012107200b200a200c6a41016a360200200520083a00f801200520073700f901200520042902003703a002200541c0036a2002200541f8016a2004200110908a80800020052802c003210420052d00c4032208417e6a0e020509040b200d4103470d092000200529029001370230200041033a00042000410136020020002003290234370238200041c0006a2003413c6a290200370200200041c8006a200341c4006a290200370200200041d0006a200341cc006a290200370200200041d8006a200341d4006a290200370200200041e0006a200341dc006a2802003602000c260b200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200541e2006a200341036a2d00003a000020052009290200370310200520032f00013b016020052802b002210920052d00c801210c200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a2802003602002005200329020c37034020052f00cd0120052d00cf014110747221060c1b0b20062008419ca9c68000108281808000000b200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200541e0006a41026a200341036a2d00003a000020052009290200370310200520032f00013b016020052802b002210920052d00c801210c200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a2802003602002005200329020c37034020052f00cd0120052d00cf014110747221060c190b20062004360204200641003a0000200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200541e2006a200341036a2d00003a0000200520032f00013b01602005200929020037031020052802b002210920052d00c801210c200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a2802003602002005200329020c3703402008410173210320052f00cd0120052d00cf014110747221060c190b20054198046a200541b0026a41286a29030037030020054190046a200541b0026a41206a29030037030020054188046a200541b0026a41186a29030037030020054180046a200541b0026a41106a290300370300200541f8036a200541b0026a41086a290300370300200541c0036a41086a200341086a290200370300200541c0036a41106a200341106a290200370300200541c0036a41186a200341186a290200370300200541c0036a41206a200341206a290200370300200541c0036a41286a200341286a280200360200200520052903b0023703f003200520032902003703c003200520113602ec0341002103200541e0026a2002200541c0036a200541a0026a4100108f8a80800020052d00e002220c4108460d01200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c190b4103210c20052d00c8014103460d152004280208200b6a220b4101762106200428020421082004280200210902400240200b4101710d00200620084b0d0f200541003a00c803200520063602c403200520093602c0030c010b200620084b0d0f200620084f0d10200541013a00c803200520093602c003200520063602c4032005200920066a2d000041f001713a00c9030b200220012003200541c0036a10888a80800020054198046a200541b0026a41286a29030037020020054190046a200541b0026a41206a29030037020020054188046a200541b0026a41186a29030037020020054180046a200541b0026a41106a290300370200200541f8036a200541b0026a41086a290300370200200520052903b0023702f003200520113602ec03200541033a00c003200541f8016a41086a200441086a280200360200200520042902003703f80141002103200541e0026a2002200541c0036a200541f8016a4100108f8a80800020052d00e002220c4108460d01200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541106a41206a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c180b20052802e402210320004103360200200020033602040c1f0b200020052802e402360204200041033602000c1e0b200041033602002000200436020420052d00c8014103470d100c110b200541c0036a41d8006a200341d8006a290200370200200541c0036a41d0006a200341d0006a290200370200200541c0036a41c8006a200341c8006a290200370200200541c0036a41c0006a200341c0006a290200370200200541c0036a41386a200341386a290200370200200520032902303702f00320052802900121092004280208220841017621060240024020084101710d002006200428020422084b0d0e200541003a00e802200520063602e402200520042802003602e0020c010b2006200428020422084b0d0e200620084f0d0f20042802002108200541013a00e802200520083602e002200520063602e4022005200820066a2d000041f001713a00e9020b200220012003200541e0026a10888a808000200520093602ec03200541033a00c003200541b0026a41086a200441086a280200360200200520042902003703b0024100210b200541e0026a2002200541c0036a200541b0026a4100108f8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c1d0b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541386a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a410876210641012104410021030c1b0b2003200941fce4cd8000109181808000000b20032009418ce5cd8000109181808000000b20032009419ce5cd8000108281808000000b200541c8016a41086a200441086a2206280200220836020020062008200c6a360200200520042902003703c801200541c0036a2002200341046a2004200110908a80800020052802c003210820052d00c4032204417e6a0e021315140b200b2008419ca9c68000108281808000000b2008200941fce4cd8000109181808000000b20082009418ce5cd8000109181808000000b20082009419ce5cd8000108281808000000b20002006360234200041033a0008200041073a0004200041013602000c130b2006200841fce4cd8000109181808000000b20062008418ce5cd8000109181808000000b20062008419ce5cd8000108281808000000b2006200841fce4cd8000109181808000000b20062008418ce5cd8000109181808000000b20062008419ce5cd8000108281808000000b200541c8016a10d9898080000b20112011417e6a2f01006b41002802ec82d480001181808080000020052802dc024129490d0b20052802b40222002000417e6a2f00006b41002802ec82d48000118180808000000c0b0b200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200520092902003703104101210320052802b00221090c020b410121030b20052802f001211020052802d001210820052d00cc01210a0b4100210b410121040c060b4107210c20052802d802211120052802d402211020052802b402210820052d00b002210a0b4101210b410021040c040b41022103024020052802dc0241294f0d000c030b20052802b40222042004417e6a2f00006b41002802ec82d48000118180808000000c020b41012103024020044101710d00200541186a200541c4026a290200370300200541206a200541cc026a290200370300200541286a200541d4026a290200370300200541306a200541dc026a280200360200200520052902bc023703104106210c4100210a20052802b802210920052802b402211120052802b00221100c020b20054190046a200541b0026a41286a29030037020020054188046a200541b0026a41206a29030037020020054180046a200541b0026a41186a290300370200200541f8036a200541b0026a41106a290300370200200541f0036a200541b0026a41086a290300370200200520052903b0023702e803200520083602c80341002103200541003a00c403200541063a00c003200541e0026a2002200541c0036a200541c8016a4100108f8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c040b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541106a41206a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c010b200041033602002000200836020420052802dc024129490d0220052802b40222002000417e6a2f00006b41002802ec82d48000118180808000000c020b410121044101210b0b200020063b00092000200c3a000420002003360200200020052f01603b00052000200836020c2000200a3a0008200020052903403702102000201036022c20002011360230200020093602342000410b6a20064110763a0000200041076a200541e2006a2d00003a0000200041186a200541c0006a41086a290300370200200041206a200541c0006a41106a290300370200200041286a200541c0006a41186a280200360200200041e0006a200541106a41286a280200360200200041d8006a200541106a41206a290300370200200041d0006a200541106a41186a290300370200200041c8006a200541106a41106a290300370200200041c0006a200541106a41086a2903003702002000200529031037023802400240200e417d6a0e020100020b200b450d01200d4103460d0102400240200d0e020103000b200528028801220020002802002200417f6a36020020004101470d0220054188016a10f0978080000c020b2005280268220020002802002200417f6a36020020004101470d01200541e8006a10f0978080000c010b2004450d0020052d006822004103460d000240024020000e020102000b200528028c01220020002802002200417f6a36020020004101470d012005418c016a10f0978080000c010b200528026c220020002802002200417f6a36020020004101470d00200541ec006a10f0978080000b200541a0046a2480808080000b831d04057f017e167f027e23808080800041e0036b2205248080808000024002400240024002400240024002400240024002400240024020022d00004101470d00200541a0016a200241196a29000037030020054198016a200241116a29000037030020054190016a200241096a29000037030020052002290001370388012003280208220641017621020240024020064101710d002002200328020422064b0d04200541003a00b002200520023602ac02200520032802003602a8020c010b2002200328020422064b0d04200220064f0d0520032802002106200541013a00b002200520063602a802200520023602ac022005200620026a2d000041f001713a00b1020b2005200120054188016a200541a8026a108b8a8080002005280204210220052802004101710d0b024020012802282207200128021c2206470d002001411c6a4184acc6800010948f808000200128021c2106200128022821070b2001280220200128022420076a22074100200620072006491b6b4102746a20023602002001200128022841016a3602282001280218220620024b0d01200220064194acc68000108281808000000b20022802042102024020012802282207200128021c2206470d002001411c6a4184acc6800010948f808000200128021c2106200128022821070b2001280220200128022420076a22074100200620072006491b6b4102746a20023602002001200128022841016a3602282002200128021822064f0d040b200128021420024107746a22022d00002106200541296a200241016a41df0010f4978080001a200241043a0004200241083a0000200541086a41086a200241ec006a290200370300200541186a200241f4006a290200370300200541206a200241fc006a2802003602002005200229026437030820022802602107024002400240024020064108460d00200328020821082003280204210920032802002102200541a8026a410172200541296a41df0010f4978080001a20052001360288032005200336028c03200520063a00a802200541c4016a20042001200541a8026a200310938a80800020052802c801210620052802c40122034103470d010c0c0b200541a8026a200541296a41036a41dc0010f4978080001a20052001360288032005200336028c032005200736028403200541c4016a20042001200541a8026a200310938a80800020052802c801210620052802c40122044103460d0b20052802a4022107200529029c02210a200528029802210b200528029402210c200528029002210d200528028c02210e200528028802210f2005280284022110200528028002211120052802fc01211220052802f801211320052802f401211420052802f001211520052802ec01211620052802e801211720052802e401211820052802e001211920052802dc01211a20052802d801211b20052802d401211c20052802d001211d20052802cc01211e41022103410121084108210920040e0302010d020b20052902a002210a200528029c02211f200528029802210b200528029402210c200528029002210d200528028c02210e200528028802210f2005280284022110200528028002211120052802fc01211220052802f801211320052802f401211420052802f001211520052802ec01211620052802e801211720052802e401211820052802e001211920052802dc01211a20052802d801211b20052802d401211c20052802d001211d20052802cc01212002400240024020030e03000102000b200841017621030240024020084101710d000240200320094b0d00410021040c020b2003200941fce4cd8000109181808000000b200320094b0d09200320094f0d0a200220036a2d00004170712108410121040b200a422088212141002109200541a8026a41286a221e4100360200200541a8026a2002200220036a10d797808000200541e4016a220241286a201e280200360200200241206a200541a8026a41206a290200370200200241186a200541a8026a41186a290200370200200241106a200541a8026a41106a290200370200200241086a200541a8026a41086a290200370200200220052902a802370200200541d0016a200541086a41086a290300370200200541d8016a200541086a41106a290300370200200541e0016a200541086a41186a280200360200200520083a009102200520043a009002200520073602c401200520052903083702c80120054191026a2102024002400240200128025c2203450d00200541a8026a20032001280260200541c4016a10d083808000024020052802a802450d0020052802ac02210920052902b002212220054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030c020b200528028c024129490d0220052802e40122022002417e6a2f00006b41002802ec82d48000118180808000000c020b20054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030b2005200141dc006a3602b402200520223702ac02200520093602a802200541b8026a20054194036a41cc0010f4978080001a20054187036a20054192036a2d00003a0000200520043a008403200520052f0190033b008503200541a8026a109a8d8080001a0b2021a72107200a422086201fad84210a4101210841082109410021042020211e0c030b200541a8016a41186a200541086a41186a280200360200200541a8016a41106a200541086a41106a290300370300200541a8016a41086a200541086a41086a290300370300200520052903083703a801200641ff01712109200641807e71210441002108201d211e201c211d201b211c201a211b2019211a20182119201721182016211720152116201421152013211420122113201121122020210620102111200f2110200e210f200d210e200c210d200b210c201f210b0c020b200841017621030240024020084101710d000240200320094b0d00410021060c020b2003200941fce4cd8000109181808000000b200320094b0d09200320094f0d0a200220036a2d00004170712104410121060b4100210b200541a8026a41286a220c4100360200200541a8026a2002200220036a10d797808000200541e4016a220241286a200c280200360200200241206a200541a8026a41206a290200370200200241186a200541a8026a41186a290200370200200241106a200541a8026a41106a290200370200200241086a200541a8026a41086a290200370200200220052902a802370200200541d0016a200541086a41086a290300370200200541d8016a200541086a41106a290300370200200541e0016a200541086a41186a280200360200200520043a009102200520063a009002200520073602c401200520052903083702c80120054191026a2102024002400240200128025c2203450d00200541a8026a20032001280260200541c4016a10d083808000024020052802a802450d0020052802ac02210b20052902b002210a20054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030c020b200528028c024129490d0220052802e40122012001417e6a2f00006b41002802ec82d4800011818080800000410221030c0f0b20054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030b2005200141dc006a3602b4022005200a3702ac022005200b3602a802200541b8026a20054194036a41cc0010f4978080001a20054187036a20054192036a2d00003a0000200520063a008403200520052f0190033b008503200541a8026a109a8d8080001a0b410221030c0c0b41002104410021080b200920047221040240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c220920032009491b6b3602240240200128022020024102746a2802002202200128021822034f0d00200128021420024107746a220120012d00004108464102746a10d889808000200120073602602001200a3702582001200b3602542001200c3602502001200d36024c2001200e3602482001200f360244200120103602402001201136023c2001201236023820012013360234200120143602302001201536022c2001201636022820012017360224200120183602202001201936021c2001201a3602182001201b3602142001201c3602102001201d36020c2001201e3602082001200636020420012004360200200141fc006a200541c0016a280200360200200141f4006a200541b8016a290300370200200141ec006a200541a8016a41086a290300370200200120052903a8013702640c020b2002200341e4abc68000108281808000000b0240200128021822022001280210470d00200141106a41f4abc680001092868080000b200128021420024107746a220320073602602003200a3702582003200b3602542003200c3602502003200d36024c2003200e3602482003200f360244200320103602402003201136023c2003201236023820032013360234200320143602302003201536022c2003201636022820032017360224200320183602202003201936021c2003201a3602182003201b3602142003201c3602102003201d36020c2003201e3602082003200636020420032004360200200341fc006a200541c0016a280200360200200341f4006a200541b8016a290300370200200341ec006a200541b0016a290300370200200320052903a8013702642001200241016a3602180b200821030c0a0b2002200641fce4cd8000109181808000000b20022006418ce5cd8000109181808000000b20022006419ce5cd8000108281808000000b200220064194acc68000108281808000000b20032009418ce5cd8000109181808000000b20032009419ce5cd8000108281808000000b20032009418ce5cd8000109181808000000b20032009419ce5cd8000108281808000000b200621020b410321030b200020033a000420002002360200200541e0036a2480808080000bc04205027f017e077f017e057f23808080800041a0046b2205248080808000200541086a200441086a280200220636020020052004290200220737030020052802042108200541e4006a200341e00010f4978080001a200520062008410174220946220a3a00c401200920066b210b2007a7210c024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020052d0064220d417c6a41ff01712209410420094104491b220e0e050001020304000b200041023602000c200b200541c0036a41286a200341d8006a290200370300200541c0036a41206a200341d0006a290200370300200541c0036a41186a200341c8006a290200370300200541c0036a41106a200341c0006a290200370300200541c0036a41086a200341386a290200220737030020052003290230220f3703c003200541eb006a2d0000210620052d0068210a200528026c2108200528028c012110200528029001211120052f006921122005200fa722093602d001200520052802c403200541c0036a410472220c20052802ec03221341284b22141b3602c80120052007a7201320141b22133602cc012003410c6a210320122006411074722106024002400240201341017420096b200b470d00200541c8016a200510e697808000200b460d0120052802c00321090b200541106a41286a200c41286a280200360200200541106a41206a200c41206a290200370300200541106a41186a200c41186a290200370300200541106a41106a200c41106a290200370300200541106a41086a200c41086a290200370300200541c0006a41086a200341086a290200370300200541c0006a41106a200341106a290200370300200541c0006a41186a200341186a2802003602002005200c29020037031020052003290200370340410121030c010b200428020421092004280200210c20042802082104200541e0026a41106a200341086a290200370200200541e0026a41186a200341106a29020037020020054180036a200341186a280200360200200520083602e4022005200a3a00e00220052011360288032005201036028403200520032902003702e802200520063b00e102200520064110763a00e302200b20046a220441017621030240024020044101710d00200320094b0d06200541003a00b802200520033602b4022005200c3602b0020c010b200320094b0d06200320094f0d07200541013a00b8022005200c3602b002200520033602b4022005200c20036a2d000041f001713a00b9020b20022001200541e0026a200541b0026a10888a80800041022103024020052802ec034129490d0020052802c40322042004417e6a2f00006b41002802ec82d48000118180808000000b0b4105210c0c1d0b200541b0026a41286a200341d0006a290200370300200541b0026a41206a200341c8006a290200370300200541b0026a41186a200341c0006a290200370300200541b0026a41106a200341386a290200370300200541b0026a41086a200341306a290200220737030020052003290228220f3703b002200341076a2d0000210b20032d0004210a2003280208210820032f00052111200520052802b402200541b0026a41047220052802dc02220641284b22091b3602c00320052007a7200620091b22063602c4032005200fa722093602c803200541c0036a200510e697808000220c200641017420096b460d052011200b411074722106200541106a41086a200541b0026a41146a290200370300200541106a41106a200541b0026a411c6a290200370300200541106a41186a200541b0026a41246a290200370300200541106a41206a200541dc026a280200360200200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a280200360200200520052902bc023703102005200329020c370340410121034106210c20052802b802210920052802b402211120052802b00221100c1c0b0240200a0d002005280294012109200541d8026a2003412c6a280200360200200541d0026a200341246a290200370300200541c8026a2003411c6a290200370300200541c0026a200341146a290200370300200541b8026a2003410c6a290200370300200520032902043703b0022006410176220b20084f0d062009200c200b6a2d00002208410f71200841047620064101711b41246c6a22062d00002108200641023a0000024002400240024020084102460d00200541c8016a41096a200641096a290000370000200541c8016a41116a200641116a290000370000200541c8016a41196a200641196a290000370000200541c8016a41206a200641206a280000360000200541f8016a41086a200441086a220b280200220a36020020062900012107200b200a41016a360200200520083a00c801200520073700c901200520042902003703f801200541c0036a2002200541c8016a2004200110928a80800020052802c003210420052d00c4032208417e6a0e020301020b200541c8006a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541d8006a200341246a2802003602002005200329020c37034020052f00b10220052d00b302411074722106410121030c1a0b2000410336020020002004360204200541b0026a10db8980800020092009417e6a2f01006b41002802ec82d48000118180808000000c200b20062004360204200641003a0000200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541d8006a200341246a2802003602002005200329020c3703402008410173210320052f00b10220052d00b3024110747221060c180b200541ec036a200341046a220341286a280200360200200541c0036a41246a200341206a290200370200200541c0036a411c6a200341186a290200370200200541c0036a41146a200341106a290200370200200541cc036a200341086a290200370200200520093602f003200541073a00c003200520032902003702c40341002103200541e0026a2002200541c0036a200541f8016a4100108d8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c1f0b200541e2006a20052d00e3023a0000200541c0006a41086a200541e0026a41146a290200370300200541c0006a41106a200541e0026a411c6a290200370300200541c0006a41186a200541e0026a41246a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c180b200528029401210620052d00684103460d092004280208220941017621080240024020094101710d002008200428020422094b0d08200541003a00c803200520083602c403200520042802003602c0030c010b2008200428020422094b0d08200820094f0d0920042802002109200541013a00c803200520093602c003200520083602c4032005200920086a2d000041f001713a00c9030b20022001200341046a200541c0036a10888a808000200541033a00c403200520063602f003200541073a00c003200541b0026a41086a200441086a280200360200200520042902003703b00241002104200541e0026a2002200541c0036a200541b0026a4100108d8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c1e0b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541386a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621064101210b410021030c1c0b02400240024002400240024002400240024002400240200a0d00200541b0026a41286a200341d8006a290200370300200541b0026a41206a200341d0006a290200370300200541b0026a41186a200341c8006a290200370300200541b0026a41106a200341c0006a290200370300200541b0026a41086a2209200341386a290200370300200520032902303703b0022005280290012111200541c8016a41286a200341286a280200360200200541c8016a41206a200341206a290200370300200541c8016a41186a200341186a290200370300200541c8016a41106a200341106a290200370300200541c8016a41086a200341086a290200370300200520032902003703c801200520052802b0023602c8032005200928020020052802dc022209200941284b220a1b3602c403200520052802b402200541b0026a4104722209200a1b3602c003200541c0036a200510e697808000210a20052802c40341017420052802c8036b21100240200a200b470d00200a2010460d070b200a2010490d01200a20066a220b410176220620084f0d022011200c20066a2d00002206410f712006410476200b4101711b41246c6a22062d00002108200641023a000020084102460d03200541f8016a41096a200641096a290000370000200541f8016a41116a200641116a290000370000200541f8016a41196a200641196a290000370000200541f8016a41206a200641206a280000360000200541a0026a41086a200441086a220b280200220c36020020062900012107200b200a200c6a41016a360200200520083a00f801200520073700f901200520042902003703a002200541c0036a2002200541f8016a2004200110928a80800020052802c003210420052d00c4032208417e6a0e020509040b200d4103470d092000200529029001370230200041033a00042000410136020020002003290234370238200041c0006a2003413c6a290200370200200041c8006a200341c4006a290200370200200041d0006a200341cc006a290200370200200041d8006a200341d4006a290200370200200041e0006a200341dc006a2802003602000c260b200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200541e2006a200341036a2d00003a000020052009290200370310200520032f00013b016020052802b002210920052d00c801210c200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a2802003602002005200329020c37034020052f00cd0120052d00cf014110747221060c1b0b20062008419ca9c68000108281808000000b200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200541e0006a41026a200341036a2d00003a000020052009290200370310200520032f00013b016020052802b002210920052d00c801210c200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a2802003602002005200329020c37034020052f00cd0120052d00cf014110747221060c190b20062004360204200641003a0000200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200541e2006a200341036a2d00003a0000200520032f00013b01602005200929020037031020052802b002210920052d00c801210c200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a2802003602002005200329020c3703402008410173210320052f00cd0120052d00cf014110747221060c190b20054198046a200541b0026a41286a29030037030020054190046a200541b0026a41206a29030037030020054188046a200541b0026a41186a29030037030020054180046a200541b0026a41106a290300370300200541f8036a200541b0026a41086a290300370300200541c0036a41086a200341086a290200370300200541c0036a41106a200341106a290200370300200541c0036a41186a200341186a290200370300200541c0036a41206a200341206a290200370300200541c0036a41286a200341286a280200360200200520052903b0023703f003200520032902003703c003200520113602ec0341002103200541e0026a2002200541c0036a200541a0026a4100108d8a80800020052d00e002220c4108460d01200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c190b4103210c20052d00c8014103460d152004280208200b6a220b4101762106200428020421082004280200210902400240200b4101710d00200620084b0d0f200541003a00c803200520063602c403200520093602c0030c010b200620084b0d0f200620084f0d10200541013a00c803200520093602c003200520063602c4032005200920066a2d000041f001713a00c9030b200220012003200541c0036a10888a80800020054198046a200541b0026a41286a29030037020020054190046a200541b0026a41206a29030037020020054188046a200541b0026a41186a29030037020020054180046a200541b0026a41106a290300370200200541f8036a200541b0026a41086a290300370200200520052903b0023702f003200520113602ec03200541033a00c003200541f8016a41086a200441086a280200360200200520042902003703f80141002103200541e0026a2002200541c0036a200541f8016a4100108d8a80800020052d00e002220c4108460d01200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541106a41206a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c180b20052802e402210320004103360200200020033602040c1f0b200020052802e402360204200041033602000c1e0b200041033602002000200436020420052d00c8014103470d100c110b200541c0036a41d8006a200341d8006a290200370200200541c0036a41d0006a200341d0006a290200370200200541c0036a41c8006a200341c8006a290200370200200541c0036a41c0006a200341c0006a290200370200200541c0036a41386a200341386a290200370200200520032902303702f00320052802900121092004280208220841017621060240024020084101710d002006200428020422084b0d0e200541003a00e802200520063602e402200520042802003602e0020c010b2006200428020422084b0d0e200620084f0d0f20042802002108200541013a00e802200520083602e002200520063602e4022005200820066a2d000041f001713a00e9020b200220012003200541e0026a10888a808000200520093602ec03200541033a00c003200541b0026a41086a200441086a280200360200200520042902003703b0024100210b200541e0026a2002200541c0036a200541b0026a4100108d8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c1d0b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541386a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a410876210641012104410021030c1b0b2003200941fce4cd8000109181808000000b20032009418ce5cd8000109181808000000b20032009419ce5cd8000108281808000000b200541c8016a41086a200441086a2206280200220836020020062008200c6a360200200520042902003703c801200541c0036a2002200341046a2004200110928a80800020052802c003210820052d00c4032204417e6a0e021315140b200b2008419ca9c68000108281808000000b2008200941fce4cd8000109181808000000b20082009418ce5cd8000109181808000000b20082009419ce5cd8000108281808000000b20002006360234200041033a0008200041073a0004200041013602000c130b2006200841fce4cd8000109181808000000b20062008418ce5cd8000109181808000000b20062008419ce5cd8000108281808000000b2006200841fce4cd8000109181808000000b20062008418ce5cd8000109181808000000b20062008419ce5cd8000108281808000000b200541c8016a10d9898080000b20112011417e6a2f01006b41002802ec82d480001181808080000020052802dc024129490d0b20052802b40222002000417e6a2f00006b41002802ec82d48000118180808000000c0b0b200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200520092902003703104101210320052802b00221090c020b410121030b20052802f001211020052802d001210820052d00cc01210a0b4100210b410121040c060b4107210c20052802d802211120052802d402211020052802b402210820052d00b002210a0b4101210b410021040c040b41022103024020052802dc0241294f0d000c030b20052802b40222042004417e6a2f00006b41002802ec82d48000118180808000000c020b41012103024020044101710d00200541186a200541c4026a290200370300200541206a200541cc026a290200370300200541286a200541d4026a290200370300200541306a200541dc026a280200360200200520052902bc023703104106210c4100210a20052802b802210920052802b402211120052802b00221100c020b20054190046a200541b0026a41286a29030037020020054188046a200541b0026a41206a29030037020020054180046a200541b0026a41186a290300370200200541f8036a200541b0026a41106a290300370200200541f0036a200541b0026a41086a290300370200200520052903b0023702e803200520083602c80341002103200541003a00c403200541063a00c003200541e0026a2002200541c0036a200541c8016a4100108d8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c040b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541106a41206a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c010b200041033602002000200836020420052802dc024129490d0220052802b40222002000417e6a2f00006b41002802ec82d48000118180808000000c020b410121044101210b0b200020063b00092000200c3a000420002003360200200020052f01603b00052000200836020c2000200a3a0008200020052903403702102000201036022c20002011360230200020093602342000410b6a20064110763a0000200041076a200541e2006a2d00003a0000200041186a200541c0006a41086a290300370200200041206a200541c0006a41106a290300370200200041286a200541c0006a41186a280200360200200041e0006a200541106a41286a280200360200200041d8006a200541106a41206a290300370200200041d0006a200541106a41186a290300370200200041c8006a200541106a41106a290300370200200041c0006a200541106a41086a2903003702002000200529031037023802400240200e417d6a0e020100020b200b450d01200d4103460d0102400240200d0e020103000b200528028801220020002802002200417f6a36020020004101470d0220054188016a10f0978080000c020b2005280268220020002802002200417f6a36020020004101470d01200541e8006a10f0978080000c010b2004450d0020052d006822004103460d000240024020000e020102000b200528028c01220020002802002200417f6a36020020004101470d012005418c016a10f0978080000c010b200528026c220020002802002200417f6a36020020004101470d00200541ec006a10f0978080000b200541a0046a2480808080000bf62f05047f027e027f017e0e7f2380808080004190056b22012480808080000240024020002d0070450d00200028025c21022000410036025c20002802642103200041003602642001200036020c2000280260210420012003410020021b3602940220012004360290022001200236028c022001410036028802200120024100472203360284022001200436028002200120023602fc01200141003602f801200120033602f401200141106a200141f4016a10ce88808000024020012d005c4102460d0020014194016a41206a2102034020014194016a200141106a41d00010f4978080001a200141f8026a41186a20014194016a41186a290200370300200141f8026a41106a20014194016a41106a290200370300200141f8026a41086a20014194016a41086a29020037030020012001290294013703f802200141106a41286a2204200241286a2902002205370300200141106a41206a200241206a290200370300200141106a41186a200241186a290200370300200141106a41106a200241106a290200370300200141106a41086a200241086a2902003703002001200229020022063703102000280250210320002802542107200120012f013c3b01b002200120012802142005a72208200841284b22081b3602ac0220012006a7200141106a20081b3602a8022003200141f8026a200141a8026a200728022411868080800000024020042802004129490d00200128021022042004417e6a2f00006b41002802ec82d48000118180808000000b200141106a200141f4016a10ce8880800020012d005c4102470d000b0b200141f4016a10c98980800020002d002c0d0020002802302102024020002802282203200028021c2204470d002000411c6a4184acc6800010948f808000200028021c2104200028022821030b2000280220200028022420036a22034100200420032004491b6b4102746a20023602002000200028022841016a36022802400240024002400240024002402002200028021822044f0d00200028021420024107746a22022d00002104200141106a200241016a41ff0010f4978080001a200241043a0004200241083a0000024020044108460d00200241e8006a2900002105200241f0006a2900002106200229006021092000280258220341186a200241f8006a290000370000200341106a2006370000200341086a2005370000200320093700000240024020002802282202450d0020002002417f6a36022820002000280224220241016a22034100200028021c220720032007491b6b3602240240200028022020024102746a2802002202200028021822034f0d00200028021420024107746a220320032d00004108464102746a10d889808000200320043a0000200341016a200141106a41ff0010f4978080001a0c020b2002200341e4abc68000108281808000000b0240200028021822022000280210470d00200041106a41f4abc680001092868080000b200028021420024107746a220320043a0000200341016a200141106a41ff0010f4978080001a2000200241016a3602180b20002002360230200041003a002c0c080b200141c4016a210220014194016a200141136a41e00010f4978080001a4100210720012d009401210402402000280268450d0020022103024002402004417c6a41ff01712208410420084104491b0e050201000201020b200141bc016a21030b200120032802003602800320012003280208200328022c2204200441284b22041b3602fc0220012003280204200341046a20041b3602f802200141f4016a41046a200141f8026a10ee978080004101210720012d00940121040b200120073602f401200142003702d00220012802bc01210720012802c001210a02400240024002400240024002402004417c6a41ff01712203410420034104491b0e050001020403000b41002d008083d480001a410141002802f482d48000118280808000002202450d07200241003a00002002417e6a41003b0000200141013602d804200120023602d404200141013602d0040c0c0b200141f8026a41286a200241286a290200370300200141f8026a41206a200241206a290200370300200141f8026a41186a200241186a290200370300200141f8026a41106a200241106a290200370300200141f8026a41086a2204200241086a290200370300200120022902003703f802200141e0046a41206a20014194016a41246a280200360200200141e0046a41186a200141b0016a290200370300200141e0046a41106a200141a8016a290200370300200141e0046a41086a200141a0016a29020037030020012001290298013703e0042001200a360288052001200736028405200120012802f80222023602e8032001200428020020012802a4032204200441284b22031b22043602e403200120012802fc02200141f8026a41047220031b22083602e00320024101762103200141a8046a200141e0046a200141e0036a200141a8026a2001410c6a10f5898080000240024020024101710d004100210b0240200320044b0d004100210c200321070c020b2003200441dce4cd8000109281808000000b200320044f0d084101210b200341016a2107200820036a2d0000410f71210c0b2001200c3a00b5032001200b3a00b403200141003602b0032001200420076b3602ac032001200820076a3602a803200141d0046a200141a8036a200441017420026b200141a8046a10828a808000024002400240024020012d00e0040e020103000b200128028405220220022802002202417f6a36020020024101470d02200141e0046a41246a21020c010b20012802e404220220022802002202417f6a36020020024101470d01200141e0046a41047221020b200210f0978080000b20012802a4034129490d0b20012802fc0222022002417e6a2f00006b41002802ec82d48000118180808000000c0b0b200141f8026a41106a200241086a290200370200200141f8026a41186a200241106a290200370200200141f8026a41206a200241186a290200370200200141f8026a41286a200241206a290200370200200120073602f80220012002290200370280032001200a3602fc02200141e0046a41206a200141b8016a280200360200200141e0046a41186a200141b0016a290200370300200141e0046a41106a200141a8016a290200370300200141e0046a41086a200141a0016a29020037030020012001290298013703e004200120073602e803200120012802800320012802a4032202200241284b22021b3602e4032001200a200141f8026a41046a20021b3602e003200141a8046a200141e0036a10e797808000200141003a0088052001200141e0036a36028405200141a8036a200141a8026a2001410c6a200141e0046a200141e0036a4100200110f689808000200141013602e40420014194afc680003602e004200142003702ec042001200141d0046a3602e804200141e0046a41dcafc6800010fe80808000000b200141f8026a41286a200241286a290200370300200141f8026a41206a200241206a290200370300200141f8026a41186a200241186a290200370300200141f8026a41106a200241106a290200370300200141f8026a41086a2203200241086a290200370300200120022902003703f802200141a8036a41096a20014194016a41096a290000370000200141a8036a41116a20014194016a41116a290000370000200141a8036a41196a20014194016a41196a290000370000200141a8036a41206a20014194016a41206a29000037000020012001290095013700a903200120073602d003200120043a00a803200120012802f80222083602dc032001200328020020012802a4032202200241284b22021b220c3602d803200120012802fc02200141f8026a410472220d20021b3602d403200441ff01714103470d014102210b200c2107200821020c020b20014198036a200141b8016a28020036020020014190036a200141b0016a29020037030020014188036a200141a8016a29020037030020014180036a200141a0016a290200370300200120012902980122053703f8022001200a3602a0032001200736029c0302402005a741ff01714103460d00200141e0046a200141f8026a4100200141a8026a2001410c6a10f5898080000b10848a808000000b200141e0046a200141a8036a200141d4036a200141a8026a2001410c6a10f58980800020012902e404210520012802e004210b20012802d803210720012802dc0321020b20024101762103024002402002410171220e0d000240200320074b0d0020012802d40320036a210f41002102410021040c020b2003200741dce4cd8000109281808000000b200320074f0d044101210220012802d4032204200341016a22106a210f200420036a2d0000410f712104201021030b200120043a00ed03200120023a00ec0341002111200141003602e8032001200f3602e0032001200720036b22103602e403200c41017420086b220841017641046a21020240024002400240200b4102460d00200b4101460d0241002104024020024100480d0041002d008083d480001a200241002802f482d480001182808080000022040d02410121040b2004200241f8a3c6800010b980808000000b0240024020024100480d0041002d008083d480001a200241002802f482d4800011828080800000220c0d01410121110b2011200241f8a3c6800010b980808000000b200c417e6a41003b0000200141003602e8042001200c3602e404200120023602e004200120083602ac04200141013b01a804200141a8046a200141e0046a10c08f808000024002400240200e450d004100210c200141003a00ec030c010b20072003460d014101210c200141013602e803200f2d000021040b024020012802e804220220012802e004470d00200141e0046a200241014101410110a3868080000b20012802e404220820026a20043a00002001200241016a22023602e804200c20104f0d00200f200c6a21042007200c6b20036b2103034020042d000021070240200220012802e004470d00200141e0046a200241014101410110a38680800020012802e40421080b200820026a20073a00002001200241016a22023602e804200441016a21042003417f6a22030d000b200120103602e8030b200141f0036a41086a200141e0046a41086a280200360200200120012902e0043703f0030c020b2004417e6a41003b0000200141e0046a41086a22034100360200200120043602e404200120023602e004200120083602ac0420014181023b01a804200141a8046a200141e0046a10c08f808000200141e0046a200141e0036a4188a4c6800010c18f808000200141f0036a41086a2003280200360200200120012902e0043703f0030c010b410021040240024020024100480d0041002d008083d480001a200241002802f482d480001182808080000022040d01410121040b2004200241f8a3c6800010b980808000000b2004417e6a41003b0000200141e0046a41086a22034100360200200120043602e404200120023602e004200141033a00a804200120083602ac04200141a8046a200141e0046a10c08f808000200141e0046a200141e0036a4188a4c6800010c18f808000200141f0036a41086a2003280200360200200120012902e0043703f0030b024020012802f803221220012802f003470d00200141f0036a41fcafc6800010b8808080000b20012802f40320126a41003a00002001201241016a22023602f8030240200220012802f003470d00200141f0036a41fcafc6800010b8808080000b20012802f40320026a41003a00002001201241026a22133602f803200b4102460d052005422088a7210220132104200b4101710d04200120023602a8042001200141a8046a3602e004200141e0046a200141f0036a10dc8480800020012802f80321040c040b200220044194acc68000108281808000000b410141014194adc6800010b980808000000b2003200441ece4cd8000108281808000000b2003200741ece4cd8000108281808000000b2005a72103024020012802f00320046b20024f0d00200141f0036a200420024101410110a38680800020012802f80321040b20012802f40320046a2003200210f4978080001a200120012802f80320026a3602f8030b200141a8046a41086a210c200141a8046a41017221104100210b200141e0046a410172220f411f6a21144101210841002103410021070240024002400340200a20036a22022d00002104200241023a000020044103460d010240024020044102470d00410021020c010b2014200241206a280000360000200f41186a200241196a290000370000200f41106a200241116a290000370000200f41086a200241096a290000370000200f200241016a290000370000200120012802f8023602d804200120012802800320012802a4032202200241284b22021b3602d404200120012802fc02200d20021b3602d004200120073a008905200141013a008805200120043a00e0042001200141d0046a36028405200141a8046a200141a8026a2001410c6a200141e0046a200141d0046a4101200710f689808000200141a4046a41026a2215201041026a2d00003a000020014180046a41086a2204200c41086a29020037030020014180046a41106a220e200c41106a29020037030020014180046a41186a2211200c41186a290200370300200120102f00003b01a4042001200c2902003703800441002102024020012d00a8042216417e6a0e020104000b20012802ac042102024002402016410171450d00200141e0046a41186a2011290300370300200141e0046a41106a200e290300370300200141e0046a41086a200429030037030020012001290380043703e004200241214f0d09200120023602d0042001200141d0046a3602a804200141a8046a200141f0036a10dc848080000240200220012802f00320012802f80322046b4d0d00200141f0036a2004200210f49180800020012802f80321040b20012802f40320046a200141e0046a200210f4978080001a2001200420026a3602f8030c010b200141203602a8042001200141a8046a3602e004200141e0046a200141f0036a10dc84808000024020012802f00320012802f80322176b411f4b0d00200141f0036a2017412010f49180800020012802f80321170b20012802f40320176a2216200129038004370007201620012f01a4043b0000201641026a20152d00003a0000201620023600032016410f6a2004290300370000201641176a200e2903003700002016411f6a20112d00003a00002001201741206a3602f8030b200821020b200741016a2107200841017421082002200b72210b200341246a220341c004470d000b200b4180fe037141087621020c020b200b4180fe037141087621020c010b200b4180fe037141087621020b0240201320012802f80322044d0d002013200441ecafc68000109181808000000b20012802f40320126a2002410874200b41ff0171723b0000200141d0046a41086a200141f0036a41086a280200360200200120012903f0033703d004024020012d00a80322024103460d0002400240024020020e020103000b20012802cc03220220022802002202417f6a36020020024101470d02200141cc036a21020c010b20012802ac03220220022802002202417f6a36020020024101470d01200141ac036a21020b200210f0978080000b200a200a417e6a2f00006b41002802ec82d480001181808080000020012802a4034129490d0020012802fc0222022002417e6a2f00006b41002802ec82d48000118180808000000b2000280250210220002802542103200141e0046a41086a41002802a8f1ca8000360200200141002902a0f1ca80003703e004200141f8026a2002200141e0046a20012802d404220420012802d8042207200328021c118780808000002000280258220220012900f802370000200241186a200141f8026a41186a2203290000370000200241106a200141f8026a41106a2208290000370000200241086a200141f8026a41086a220b290000370000200b2000280258220241086a2900003703002008200241106a2900003703002003200241186a290000370300200120022900003703f8022000200141f8026a20042007200141f4016a10fd898080002000280258220241186a2900002105200241106a2900002106200241086a29000021092000200229000037002d200041013a002c200041356a20093700002000413d6a2006370000200041c5006a2005370000024020012802d004450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20012802d0024129490d0020012802a80222022002417e6a2f00006b41002802ec82d48000118180808000000b20014190056a2480808080000f0b20024120418cb0c68000109181808000000bf62f05047f027e027f017e0e7f2380808080004190056b22012480808080000240024020002d0070450d00200028025c21022000410036025c20002802642103200041003602642001200036020c2000280260210420012003410020021b3602940220012004360290022001200236028c022001410036028802200120024100472203360284022001200436028002200120023602fc01200141003602f801200120033602f401200141106a200141f4016a10ce88808000024020012d005c4102460d0020014194016a41206a2102034020014194016a200141106a41d00010f4978080001a200141f8026a41186a20014194016a41186a290200370300200141f8026a41106a20014194016a41106a290200370300200141f8026a41086a20014194016a41086a29020037030020012001290294013703f802200141106a41286a2204200241286a2902002205370300200141106a41206a200241206a290200370300200141106a41186a200241186a290200370300200141106a41106a200241106a290200370300200141106a41086a200241086a2902003703002001200229020022063703102000280250210320002802542107200120012f013c3b01b002200120012802142005a72208200841284b22081b3602ac0220012006a7200141106a20081b3602a8022003200141f8026a200141a8026a200728022411868080800000024020042802004129490d00200128021022042004417e6a2f00006b41002802ec82d48000118180808000000b200141106a200141f4016a10ce8880800020012d005c4102470d000b0b200141f4016a10c98980800020002d002c0d0020002802302102024020002802282203200028021c2204470d002000411c6a4184acc6800010948f808000200028021c2104200028022821030b2000280220200028022420036a22034100200420032004491b6b4102746a20023602002000200028022841016a36022802400240024002400240024002402002200028021822044f0d00200028021420024107746a22022d00002104200141106a200241016a41ff0010f4978080001a200241043a0004200241083a0000024020044108460d00200241e8006a2900002105200241f0006a2900002106200229006021092000280258220341186a200241f8006a290000370000200341106a2006370000200341086a2005370000200320093700000240024020002802282202450d0020002002417f6a36022820002000280224220241016a22034100200028021c220720032007491b6b3602240240200028022020024102746a2802002202200028021822034f0d00200028021420024107746a220320032d00004108464102746a10d889808000200320043a0000200341016a200141106a41ff0010f4978080001a0c020b2002200341e4abc68000108281808000000b0240200028021822022000280210470d00200041106a41f4abc680001092868080000b200028021420024107746a220320043a0000200341016a200141106a41ff0010f4978080001a2000200241016a3602180b20002002360230200041003a002c0c080b200141c4016a210220014194016a200141136a41e00010f4978080001a4100210720012d009401210402402000280268450d0020022103024002402004417c6a41ff01712208410420084104491b0e050201000201020b200141bc016a21030b200120032802003602800320012003280208200328022c2204200441284b22041b3602fc0220012003280204200341046a20041b3602f802200141f4016a41046a200141f8026a10ee978080004101210720012d00940121040b200120073602f401200142003702d00220012802bc01210720012802c001210a02400240024002400240024002402004417c6a41ff01712203410420034104491b0e050001020403000b41002d008083d480001a410141002802f482d48000118280808000002202450d07200241003a00002002417e6a41003b0000200141013602d804200120023602d404200141013602d0040c0c0b200141f8026a41286a200241286a290200370300200141f8026a41206a200241206a290200370300200141f8026a41186a200241186a290200370300200141f8026a41106a200241106a290200370300200141f8026a41086a2204200241086a290200370300200120022902003703f802200141e0046a41206a20014194016a41246a280200360200200141e0046a41186a200141b0016a290200370300200141e0046a41106a200141a8016a290200370300200141e0046a41086a200141a0016a29020037030020012001290298013703e0042001200a360288052001200736028405200120012802f80222023602e8032001200428020020012802a4032204200441284b22031b22043602e403200120012802fc02200141f8026a41047220031b22083602e00320024101762103200141a8046a200141e0046a200141e0036a200141a8026a2001410c6a10f3898080000240024020024101710d004100210b0240200320044b0d004100210c200321070c020b2003200441dce4cd8000109281808000000b200320044f0d084101210b200341016a2107200820036a2d0000410f71210c0b2001200c3a00b5032001200b3a00b403200141003602b0032001200420076b3602ac032001200820076a3602a803200141d0046a200141a8036a200441017420026b200141a8046a10828a808000024002400240024020012d00e0040e020103000b200128028405220220022802002202417f6a36020020024101470d02200141e0046a41246a21020c010b20012802e404220220022802002202417f6a36020020024101470d01200141e0046a41047221020b200210f0978080000b20012802a4034129490d0b20012802fc0222022002417e6a2f00006b41002802ec82d48000118180808000000c0b0b200141f8026a41106a200241086a290200370200200141f8026a41186a200241106a290200370200200141f8026a41206a200241186a290200370200200141f8026a41286a200241206a290200370200200120073602f80220012002290200370280032001200a3602fc02200141e0046a41206a200141b8016a280200360200200141e0046a41186a200141b0016a290200370300200141e0046a41106a200141a8016a290200370300200141e0046a41086a200141a0016a29020037030020012001290298013703e004200120073602e803200120012802800320012802a4032202200241284b22021b3602e4032001200a200141f8026a41046a20021b3602e003200141a8046a200141e0036a10e797808000200141003a0088052001200141e0036a36028405200141a8036a200141a8026a2001410c6a200141e0046a200141e0036a4100200110f489808000200141013602e40420014194afc680003602e004200142003702ec042001200141d0046a3602e804200141e0046a41dcafc6800010fe80808000000b200141f8026a41286a200241286a290200370300200141f8026a41206a200241206a290200370300200141f8026a41186a200241186a290200370300200141f8026a41106a200241106a290200370300200141f8026a41086a2203200241086a290200370300200120022902003703f802200141a8036a41096a20014194016a41096a290000370000200141a8036a41116a20014194016a41116a290000370000200141a8036a41196a20014194016a41196a290000370000200141a8036a41206a20014194016a41206a29000037000020012001290095013700a903200120073602d003200120043a00a803200120012802f80222083602dc032001200328020020012802a4032202200241284b22021b220c3602d803200120012802fc02200141f8026a410472220d20021b3602d403200441ff01714103470d014102210b200c2107200821020c020b20014198036a200141b8016a28020036020020014190036a200141b0016a29020037030020014188036a200141a8016a29020037030020014180036a200141a0016a290200370300200120012902980122053703f8022001200a3602a0032001200736029c0302402005a741ff01714103460d00200141e0046a200141f8026a4100200141a8026a2001410c6a10f3898080000b10848a808000000b200141e0046a200141a8036a200141d4036a200141a8026a2001410c6a10f38980800020012902e404210520012802e004210b20012802d803210720012802dc0321020b20024101762103024002402002410171220e0d000240200320074b0d0020012802d40320036a210f41002102410021040c020b2003200741dce4cd8000109281808000000b200320074f0d044101210220012802d4032204200341016a22106a210f200420036a2d0000410f712104201021030b200120043a00ed03200120023a00ec0341002111200141003602e8032001200f3602e0032001200720036b22103602e403200c41017420086b220841017641046a21020240024002400240200b4102460d00200b4101460d0241002104024020024100480d0041002d008083d480001a200241002802f482d480001182808080000022040d02410121040b2004200241f8a3c6800010b980808000000b0240024020024100480d0041002d008083d480001a200241002802f482d4800011828080800000220c0d01410121110b2011200241f8a3c6800010b980808000000b200c417e6a41003b0000200141003602e8042001200c3602e404200120023602e004200120083602ac04200141013b01a804200141a8046a200141e0046a10c08f808000024002400240200e450d004100210c200141003a00ec030c010b20072003460d014101210c200141013602e803200f2d000021040b024020012802e804220220012802e004470d00200141e0046a200241014101410110a3868080000b20012802e404220820026a20043a00002001200241016a22023602e804200c20104f0d00200f200c6a21042007200c6b20036b2103034020042d000021070240200220012802e004470d00200141e0046a200241014101410110a38680800020012802e40421080b200820026a20073a00002001200241016a22023602e804200441016a21042003417f6a22030d000b200120103602e8030b200141f0036a41086a200141e0046a41086a280200360200200120012902e0043703f0030c020b2004417e6a41003b0000200141e0046a41086a22034100360200200120043602e404200120023602e004200120083602ac0420014181023b01a804200141a8046a200141e0046a10c08f808000200141e0046a200141e0036a4188a4c6800010c18f808000200141f0036a41086a2003280200360200200120012902e0043703f0030c010b410021040240024020024100480d0041002d008083d480001a200241002802f482d480001182808080000022040d01410121040b2004200241f8a3c6800010b980808000000b2004417e6a41003b0000200141e0046a41086a22034100360200200120043602e404200120023602e004200141033a00a804200120083602ac04200141a8046a200141e0046a10c08f808000200141e0046a200141e0036a4188a4c6800010c18f808000200141f0036a41086a2003280200360200200120012902e0043703f0030b024020012802f803221220012802f003470d00200141f0036a41fcafc6800010b8808080000b20012802f40320126a41003a00002001201241016a22023602f8030240200220012802f003470d00200141f0036a41fcafc6800010b8808080000b20012802f40320026a41003a00002001201241026a22133602f803200b4102460d052005422088a7210220132104200b4101710d04200120023602a8042001200141a8046a3602e004200141e0046a200141f0036a10dc8480800020012802f80321040c040b200220044194acc68000108281808000000b410141014194adc6800010b980808000000b2003200441ece4cd8000108281808000000b2003200741ece4cd8000108281808000000b2005a72103024020012802f00320046b20024f0d00200141f0036a200420024101410110a38680800020012802f80321040b20012802f40320046a2003200210f4978080001a200120012802f80320026a3602f8030b200141a8046a41086a210c200141a8046a41017221104100210b200141e0046a410172220f411f6a21144101210841002103410021070240024002400340200a20036a22022d00002104200241023a000020044103460d010240024020044102470d00410021020c010b2014200241206a280000360000200f41186a200241196a290000370000200f41106a200241116a290000370000200f41086a200241096a290000370000200f200241016a290000370000200120012802f8023602d804200120012802800320012802a4032202200241284b22021b3602d404200120012802fc02200d20021b3602d004200120073a008905200141013a008805200120043a00e0042001200141d0046a36028405200141a8046a200141a8026a2001410c6a200141e0046a200141d0046a4101200710f489808000200141a4046a41026a2215201041026a2d00003a000020014180046a41086a2204200c41086a29020037030020014180046a41106a220e200c41106a29020037030020014180046a41186a2211200c41186a290200370300200120102f00003b01a4042001200c2902003703800441002102024020012d00a8042216417e6a0e020104000b20012802ac042102024002402016410171450d00200141e0046a41186a2011290300370300200141e0046a41106a200e290300370300200141e0046a41086a200429030037030020012001290380043703e004200241214f0d09200120023602d0042001200141d0046a3602a804200141a8046a200141f0036a10dc848080000240200220012802f00320012802f80322046b4d0d00200141f0036a2004200210f49180800020012802f80321040b20012802f40320046a200141e0046a200210f4978080001a2001200420026a3602f8030c010b200141203602a8042001200141a8046a3602e004200141e0046a200141f0036a10dc84808000024020012802f00320012802f80322176b411f4b0d00200141f0036a2017412010f49180800020012802f80321170b20012802f40320176a2216200129038004370007201620012f01a4043b0000201641026a20152d00003a0000201620023600032016410f6a2004290300370000201641176a200e2903003700002016411f6a20112d00003a00002001201741206a3602f8030b200821020b200741016a2107200841017421082002200b72210b200341246a220341c004470d000b200b4180fe037141087621020c020b200b4180fe037141087621020c010b200b4180fe037141087621020b0240201320012802f80322044d0d002013200441ecafc68000109181808000000b20012802f40320126a2002410874200b41ff0171723b0000200141d0046a41086a200141f0036a41086a280200360200200120012903f0033703d004024020012d00a80322024103460d0002400240024020020e020103000b20012802cc03220220022802002202417f6a36020020024101470d02200141cc036a21020c010b20012802ac03220220022802002202417f6a36020020024101470d01200141ac036a21020b200210f0978080000b200a200a417e6a2f00006b41002802ec82d480001181808080000020012802a4034129490d0020012802fc0222022002417e6a2f00006b41002802ec82d48000118180808000000b2000280250210220002802542103200141e0046a41086a41002802a8f1ca8000360200200141002902a0f1ca80003703e004200141f8026a2002200141e0046a20012802d404220420012802d8042207200328021c118780808000002000280258220220012900f802370000200241186a200141f8026a41186a2203290000370000200241106a200141f8026a41106a2208290000370000200241086a200141f8026a41086a220b290000370000200b2000280258220241086a2900003703002008200241106a2900003703002003200241186a290000370300200120022900003703f8022000200141f8026a20042007200141f4016a10fb898080002000280258220241186a2900002105200241106a2900002106200241086a29000021092000200229000037002d200041013a002c200041356a20093700002000413d6a2006370000200041c5006a2005370000024020012802d004450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20012802d0024129490d0020012802a80222022002417e6a2f00006b41002802ec82d48000118180808000000b20014190056a2480808080000f0b20024120418cb0c68000109181808000000bb30601037f2380808080004190016b2206248080808000200641033a000c0240024002402005417f4c0d00200541f5ffffff074f0d0141002d008083d480001a2005410b6a41fcffffff0771220741002802f482d48000118280808000002208450d022008200841036a417c7120086b22076a22084281808080103702002008417e6a20073b0000200841086a2004200510f4978080001a410121040240024020012d002c4101470d00200641d6006a2001412f6a2d00003a0000200641386a41086a2001413c6a290200370300200641c8006a200141c4006a290200370300200641d0006a200141cc006a2d00003a0000200620012f002d3b015420062001290234370338200128023021070c010b20012802302107410021040b200641e0006a41106a200641386a41086a290300370200200641e0006a41186a200641386a41106a290300370200200641e0006a41206a200641386a41186a280200360200200620043a0060200620062f01543b006120062007360264200620062903383702682006200641d4006a41026a2d00003a00632006410036028c0120062003360288012006200236028401200641d8006a2001200641e0006a20064184016a200820052006410c6a108a8a8080000240024020062d005c4102470d0020062802582101200041043a00002000200136020420062d000c22014103460d010240024020010e020103000b2006280230220120012802002201417f6a36020020014101470d02200641306a10f0978080000c020b2006280210220120012802002201417f6a36020020014101470d01200641106a10f0978080000c010b20012006280258360230200141003a002c2000200629020c370200200041086a2006410c6a41086a290200370200200041106a2006410c6a41106a290200370200200041186a2006410c6a41186a290200370200200041206a2006410c6a41206a290200370200200041286a2006410c6a41286a2802003602000b20064190016a2480808080000f0b41f8e9cd8000412b200641e0006a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200641e0006a418c80c0800041b482c0800010a981808000000b4104200710ab80808000000bb30601037f2380808080004190016b2206248080808000200641033a000c0240024002402005417f4c0d00200541f5ffffff074f0d0141002d008083d480001a2005410b6a41fcffffff0771220741002802f482d48000118280808000002208450d022008200841036a417c7120086b22076a22084281808080103702002008417e6a20073b0000200841086a2004200510f4978080001a410121040240024020012d002c4101470d00200641d6006a2001412f6a2d00003a0000200641386a41086a2001413c6a290200370300200641c8006a200141c4006a290200370300200641d0006a200141cc006a2d00003a0000200620012f002d3b015420062001290234370338200128023021070c010b20012802302107410021040b200641e0006a41106a200641386a41086a290300370200200641e0006a41186a200641386a41106a290300370200200641e0006a41206a200641386a41186a280200360200200620043a0060200620062f01543b006120062007360264200620062903383702682006200641d4006a41026a2d00003a00632006410036028c0120062003360288012006200236028401200641d8006a2001200641e0006a20064184016a200820052006410c6a10878a8080000240024020062d005c4102470d0020062802582101200041043a00002000200136020420062d000c22014103460d010240024020010e020103000b2006280230220120012802002201417f6a36020020014101470d02200641306a10f0978080000c020b2006280210220120012802002201417f6a36020020014101470d01200641106a10f0978080000c010b20012006280258360230200141003a002c2000200629020c370200200041086a2006410c6a41086a290200370200200041106a2006410c6a41106a290200370200200041186a2006410c6a41186a290200370200200041206a2006410c6a41206a290200370200200041286a2006410c6a41286a2802003602000b20064190016a2480808080000f0b41f8e9cd8000412b200641e0006a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200641e0006a418c80c0800041b482c0800010a981808000000b4104200710ab80808000000bab0601037f2380808080004190016b2204248080808000410121050240024020012d002c4101470d002004412a6a2001412f6a2d00003a0000200441106a2001413c6a290200370300200441186a200141c4006a290200370300200441206a200141cc006a2d00003a0000200420012f002d3b012820042001290234370308200128023021060c010b20012802302106410021050b20044100360234200420033602302004200236022c200441033a0038200441ec006a41106a200441106a290300370200200441ec006a41186a200441086a41106a2903003702002004418c016a200441086a41186a280200360200200420053a006c200420042f01283b006d2004200441286a41026a2d00003a006f2004200636027020042004290308370274200441e4006a2001200441ec006a2004412c6a200441386a10908a8080000240024020042d006822054103470d0020042802642101200041043a00002000200136020420042d003822014103460d010240024020010e020103000b200428025c220120012802002201417f6a36020020014101470d02200441dc006a10f0978080000c020b200428023c220120012802002201417f6a36020020014101470d012004413c6a10f0978080000c010b0240024020054102460d0020012004280264360230200141003a002c0c010b200441ec006a41fccfc28000410141002802c480d4800011868080800000200141013a002c2001200429006c37002d200141356a200441ec006a41086a22052900003700002001413d6a200441ec006a41106a2203290000370000200141c5006a200441ec006a41186a2202290000370000200441ec006a41fccfc28000410141002802c480d480001186808080000020012802582201200429006c370000200141186a2002290000370000200141106a2003290000370000200141086a20052900003700000b20002004290238370200200041286a200441386a41286a280200360200200041206a200441386a41206a290200370200200041186a200441386a41186a290200370200200041106a200441386a41106a290200370200200041086a200441386a41086a2902003702000b20044190016a2480808080000bab0601037f2380808080004190016b2204248080808000410121050240024020012d002c4101470d002004412a6a2001412f6a2d00003a0000200441106a2001413c6a290200370300200441186a200141c4006a290200370300200441206a200141cc006a2d00003a0000200420012f002d3b012820042001290234370308200128023021060c010b20012802302106410021050b20044100360234200420033602302004200236022c200441033a0038200441ec006a41106a200441106a290300370200200441ec006a41186a200441086a41106a2903003702002004418c016a200441086a41186a280200360200200420053a006c200420042f01283b006d2004200441286a41026a2d00003a006f2004200636027020042004290308370274200441e4006a2001200441ec006a2004412c6a200441386a10928a8080000240024020042d006822054103470d0020042802642101200041043a00002000200136020420042d003822014103460d010240024020010e020103000b200428025c220120012802002201417f6a36020020014101470d02200441dc006a10f0978080000c020b200428023c220120012802002201417f6a36020020014101470d012004413c6a10f0978080000c010b0240024020054102460d0020012004280264360230200141003a002c0c010b200441ec006a41fccfc28000410141002802c480d4800011868080800000200141013a002c2001200429006c37002d200141356a200441ec006a41086a22052900003700002001413d6a200441ec006a41106a2203290000370000200141c5006a200441ec006a41186a2202290000370000200441ec006a41fccfc28000410141002802c480d480001186808080000020012802582201200429006c370000200141186a2002290000370000200141106a2003290000370000200141086a20052900003700000b20002004290238370200200041286a200441386a41286a280200360200200041206a200441386a41206a290200370200200041186a200441386a41186a290200370200200041106a200441386a41106a290200370200200041086a200441386a41086a2902003702000b20044190016a2480808080000b850502087f017e23808080800041106b2201248080808000200028020421020240024002400240024002400240200028020820002802002203200341054b22041b220541016a0e020201000b2005672205450d01417f20057621050b200541016a2206200020044103746a2802002207490d01200041046a21082003410520041b2104024020054105490d0020032006460d0402402006ad422c7e2209422088a70d002009a7220541fcffffff074b0d0002400240024020034106490d002004ad422c7e2209422088a70d032009a7220441fcffffff074b0d03200541002802f482d48000118280808000002203450d022003200341036a417c7120036b22086a2203417e6a20083b0000200320022005200420052004491b10f4978080001a20022002417e6a2f00006b41002802ec82d48000118180808000000c010b41002d008083d480001a200541002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a2203417e6a20053b0000200320082007412c6c10f4978080001a0b2000200736020820002003360204200020063602000c060b4104200510ab80808000000b41f0adc6800041114184aec68000108081808000000b200341064f0d020c030b41f0adc6800041114194aec6800010a181808000000b41a4aec68000412041c4aec68000108081808000000b200820022007412c6c10f4978080001a200020073602002004ad422c7e2209a721002009422088a70d01200041fdffffff074f0d0120022002417e6a2f00006b41002802ec82d48000118180808000000b200141106a2480808080000f0b2001200036020c2001410036020841b4adc68000412b200141086a41a4adc6800041e0adc6800010a981808000000b850502087f017e23808080800041106b2201248080808000200028020421020240024002400240024002400240200028020820002802002203200341054b22041b220541016a0e020201000b2005672205450d01417f20057621050b200541016a2206200020044103746a2802002207490d01200041046a21082003410520041b2104024020054105490d0020032006460d0402402006ad420c7e2209422088a70d002009a7220541fcffffff074b0d0002400240024020034106490d002004ad420c7e2209422088a70d032009a7220441fcffffff074b0d03200541002802f482d48000118280808000002203450d022003200341036a417c7120036b22086a2203417e6a20083b0000200320022005200420052004491b10f4978080001a20022002417e6a2f00006b41002802ec82d48000118180808000000c010b41002d008083d480001a200541002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a2203417e6a20053b0000200320082007410c6c10f4978080001a0b2000200736020820002003360204200020063602000c060b4104200510ab80808000000b41f0adc6800041114184aec68000108081808000000b200341064f0d020c030b41f0adc6800041114194aec6800010a181808000000b41a4aec68000412041c4aec68000108081808000000b200820022007410c6c10f4978080001a200020073602002004ad420c7e2209a721002009422088a70d01200041fdffffff074f0d0120022002417e6a2f00006b41002802ec82d48000118180808000000b200141106a2480808080000f0b2001200036020c2001410036020841b4adc68000412b200141086a41a4adc6800041e0adc6800010a981808000000b4a01017f23808080800041206b22032480808080002003410136020820034194afc680003602042003420037021020032003411c6a36020c200341046a419cafc6800010fe80808000000b4a01017f23808080800041206b22042480808080002004410136020820044194afc680003602042004420037021020042004411c6a36020c200441046a41dcafc6800010fe80808000000b4a01017f23808080800041206b22042480808080002004410136020820044194afc680003602042004420037021020042004411c6a36020c200441046a41dcafc6800010fe80808000000b940b01057f23808080800041c0006b2206248080808000200241017641046a21070240024002400240200528020022084102460d0020084101460d0241002109024020074100480d0041002d008083d480001a200741002802f482d480001182808080000022090d02410121090b2009200741f8a3c6800010b980808000000b410021090240024020074100480d0041002d008083d480001a200741002802f482d480001182808080000022090d01410121090b2009200741f8a3c6800010b980808000000b2009417e6a41003b0000200641186a41086a220a41003602002006200936021c2006200736021820062002360214200641013b0110200641106a200641186a10c08f808000200641186a20014188a4c6800010c18f808000200641086a200a280200360200200620062902183703000c020b2009417e6a41003b0000200641186a41086a220a41003602002006200936021c200620073602182006200236021420064181023b0110200641106a200641186a10c08f808000200641186a20014188a4c6800010c18f808000200641086a200a280200360200200620062902183703000c010b410021090240024020074100480d0041002d008083d480001a200741002802f482d480001182808080000022090d01410121090b2009200741f8a3c6800010b980808000000b2009417e6a41003b0000200641186a41086a220a41003602002006200936021c20062007360218200641033a001020062002360214200641106a200641186a10c08f808000200641186a20014188a4c6800010c18f808000200641086a200a280200360200200620062902183703000b0240200628020822092006280200470d00200641fcafc6800010b8808080000b200628020420096a41003a00002006200941016a2207360208024020072006280200470d00200641fcafc6800010b8808080000b200628020420076a41003a00002006200941026a220a360208200a2101024020084102460d002005280208210720052802042105200a2102024020084101710d00200620073602102006200641106a360218200641186a200610dc84808000200628020821020b02402007200628020020026b4d0d002006200220074101410110a386808000200628020821020b200628020420026a2005200710f4978080001a2006200628020820076a22013602080b024002400240024020032004470d0041002105410021030c010b4100210541012107034041002102024020032d000022084102460d00024002402008410171450d00200641186a41186a200341206a290000370300200641186a41106a200341186a290000370300200641186a41086a200341106a2900003703002006200341086a290000370318200341046a280200220241214f0d052006200236023c20062006413c6a360210200641106a200610dc84808000024020022006280200200628020822086b4d0d0020062008200210f491808000200628020821080b200628020420086a200641186a200210f4978080001a200820026a21010c010b200641203602102006200641106a360218200641186a200610dc8480800002402006280200200628020822016b411f4b0d0020062001412010f491808000200628020821010b200628020420016a2202200341016a2208290000370000200241086a200841086a290000370000200241106a200841106a290000370000200241186a200841186a290000370000200141206a21010b20062001360208200721020b2007410174210720022005722105200341286a22032004470d000b20054180fe037141087621030b200a20014b0d01200628020420096a2003410874200541ff0171723b000020002006290300370200200041086a200641086a280200360200200641c0006a2480808080000f0b20024120418cb0c68000109181808000000b200a200141ecafc68000109181808000000b9110010f7f2380808080004190016b2205248080808000200241017641046a21060240024002400240200428020022074102460d0020074101460d0241002108024020064100480d0041002d008083d480001a200641002802f482d480001182808080000022080d02410121080b2008200641f8a3c6800010b980808000000b410021080240024020064100480d0041002d008083d480001a200641002802f482d480001182808080000022080d01410121080b2008200641f8a3c6800010b980808000000b2008417e6a41003b0000200541f0006a41086a22094100360200200520083602742005200636027020052002360244200541013b0140200541c0006a200541f0006a10c08f808000200541f0006a20014188a4c6800010c28f808000200541086a41086a2009280200360200200520052902703703080c020b2008417e6a41003b0000200541f0006a41086a2209410036020020052008360274200520063602702005200236024420054181023b0140200541c0006a200541f0006a10c08f808000200541f0006a20014188a4c6800010c28f808000200541086a41086a2009280200360200200520052902703703080c010b410021080240024020064100480d0041002d008083d480001a200641002802f482d480001182808080000022080d01410121080b2008200641f8a3c6800010b980808000000b2008417e6a41003b0000200541f0006a41086a220941003602002005200836027420052006360270200541033a004020052002360244200541c0006a200541f0006a10c08f808000200541f0006a20014188a4c6800010c28f808000200541086a41086a2009280200360200200520052902703703080b02402005280210220a2005280208470d00200541086a41fcafc6800010b8808080000b200528020c200a6a41003a00002005200a41016a2206360210024020062005280208470d00200541086a41fcafc6800010b8808080000b200528020c20066a41003a00002005200a41026a220b360210200b210c024020074102460d002004280208210620042802042104200b2102024020074101710d00200520063602402005200541c0006a360270200541f0006a200541086a10dc84808000200528021021020b02402006200528020820026b4d0d00200541086a200220064101410110a386808000200528021021020b200528020c20026a2004200610f4978080001a2005200528021020066a220c3602100b0240024002400240200328020c22010d0041002104410021060c010b200328020821082003280204210d20032802002106200541f0006a41186a210e200541f0006a41106a210f200541f0006a41086a2110410021044101210203400240024002402006450d00200641246a41002006200d4722071b21092006200820071b21032007450d01200921060c020b410021062008210320080d0120044180fe037141087621060c030b2009210620080d0020044180fe037141087621060c020b0240024020032d000022074102470d00410021030c010b02400240024020074101712209450d00200541e4006a200328020410aa8d808000200e4200370300200f42003703002010420037030020054200370370200528026c220741204f0d01200541f0006a20052802682203200710f4978080001a200541c0006a41186a200e290300370300200541c0006a41106a200f290300370300200541c0006a41086a2010290300370300200520052903703703402005280264450d0220032003417e6a2f00006b41002802ec82d48000118180808000000c020b200541e0006a41026a200341036a2d00003a00002003280004210720032f0001210c200541c0006a41086a200341106a290000370300200541c0006a41106a200341186a290000370300200541c0006a41186a200341206a2d00003a00002005200c3b0160200520032900083703400c010b41c0b7c78000411a41dcb7c78000108081808000000b2005413c6a41026a2211200541e0006a41026a2d00003a0000200541186a41086a220c200541c0006a41086a290300370300200541186a41106a2212200541c0006a41106a290300370300200541186a41186a2213200541c0006a41186a290300370300200520052f01603b013c20052005290340370318024002402009450d00200e2013290300370300200f20122903003703002010200c29030037030020052005290318370370200741214f0d05200520073602642005200541e4006a360240200541c0006a200541086a10dc84808000024020072005280208200528021022036b4d0d00200541086a2003200710f491808000200528021021030b200528020c20036a200541f0006a200710f4978080001a200320076a210c0c010b200541203602402005200541c0006a360270200541f0006a200541086a10dc8480800002402005280208200528021022096b411f4b0d00200541086a2009412010f491808000200528021021090b200528020c20096a22032005290318370007200320052f013c3b000020032007360003200341026a20112d00003a00002003410f6a200c290300370000200341176a20122903003700002003411f6a20132d00003a0000200941206a210c0b2005200c360210200221030b20024101742102200320047221042001417f6a22010d000b20044180fe037141087621060b200b200c4b0d01200528020c200a6a2006410874200441ff0171723b000020002005290308370200200041086a200541086a41086a28020036020020054190016a2480808080000f0b20074120418cb0c68000109181808000000b200b200c41ecafc68000109181808000000b830502047f017e23808080800041206b2204248080808000200241017641046a210502400240024020032802000d0041002106024020054100480d0041002d008083d480001a200541002802f482d480001182808080000022060d02410121060b2006200541f8a3c6800010b980808000000b410021060240024020054100480d0041002d008083d480001a200541002802f482d480001182808080000022060d01410121060b2006200541f8a3c6800010b980808000000b2006417e6a41003b0000200441146a41086a220741003602002004200636021820042005360214200441043a0000200420023602042004200441146a10c08f808000200441146a20014188a4c6800010c28f808000200441086a20072802002205360200200420042902142208370300200328020421020240200328020822032008a720056b4d0d002004200520034101410110a386808000200428020821050b200428020420056a2002200310f4978080001a2004200520036a3602080c010b2006417e6a41003b0000200441146a41086a220741003602002004200636021820042005360214200441023a0000200420023602042004200441146a10c08f808000200441146a20014188a4c6800010c28f808000200441086a2202200728020036020020042004290214370300200328020421012004200328020822053602102004200441106a360214200441146a200410dc84808000024020052004280200200228020022036b4d0d002004200320054101410110a386808000200428020821030b200428020420036a2001200510f4978080001a2004200428020820056a3602080b20002004290300370200200041086a200441086a280200360200200441206a2480808080000b4d01017f23808080800041106b2203248080808000200341086a2000200028023c20012002410110b28980800020032d00082100200328020c2102200341106a2480808080002002410020001b0b110020002001200128023c10b5898080000b1e002001280200419cb0c680004110200128020428020c118080808000000b1e00200128020041acb0c680004111200128020428020c118080808000000b7601017f23808080800041306b22022480808080002002200136020c2002200036020820024102360214200241d0b0c680003602102002420137021c200241c181808000ad422086200241086aad843703282002200241286a360218200241106a10a78a8080002101200241306a24808080800020010b8d0201037f23808080800041106b2201248080808000200028020c210202400240024002400240024020002802040e020001020b20020d014101210341002100410121020c030b2002450d010b200141046a200010b2808080000c020b41002103024002402000280200220228020422004100480d0020022802002103024020000d0041012102410021000c030b41002d008083d480001a200041002802f482d480001182808080000022020d01410121030b2003200041d8cec6800010b980808000000b2002417e6a41003b00000b20022003200010f49780800021022001200036020c20012002360208200120003602040b200141046a10fc928080002100200141106a24808080800020000bee0101017f23808080800041c0006b22042480808080002004200136020c200420003602080240024020030d002004410236021420044188b1c680003602102004420137021c200441c181808000ad422086200441086aad843703282004200441286a360218200441106a10a78a80800021030c010b20044102360214200441a4b1c680003602102004420237021c2004200336023c200420023602382004419e83808000ad422086200441386aad84370330200441c181808000ad422086200441086aad843703282004200441286a360218200441106a10a78a80800021030b200441c0006a24808080800020030b950101017f23808080800041c0006b220324808080800020032002360214200320013602102003200036020c2003410236021c200341d0b1c68000360218200342023702242003419f83808000ad422086200341106aad843703382003418680808000ad4220862003410c6aad843703302003200341306a360220200341186a10a78a8080002102200341c0006a24808080800020020b7601017f23808080800041306b22022480808080002002200136020c2002200036020820024102360214200241f4b1c680003602102002420137021c200241c181808000ad422086200241086aad843703282002200241286a360218200241106a10a78a8080002101200241306a24808080800020010bea0401067f23808080800041206b2202248080808000200128020c2103024002400240024020012802142204200128021022054f0d002001410c6a21060340200320046a2d000041776a220741194b0d02024041012007744193808004710d0020074119470d03200141003602082001200441016a360214200241146a2006200110899380800020022802182101200228021422074102470d042000418080808078360200200020013602040c050b2001200441016a220436021420052004470d000b200521040b20024105360214200241086a20032005200441016a2204200520042005491b108793808000200241146a2002280208200228020c10f59280800021042000418080808078360200200020043602040c020b2001200241146a41b0d0c6800010c58a808000200110c68a80800021042000418080808078360200200020043602040c010b200228021c210402400240024002402007410171450d0041002107024020044100480d00024020040d00410121070c040b41002d008083d480001a200441002802f482d480001182808080000022070d02410121070b2007200441d8cec6800010b980808000000b4100210702400240024020044100480d00024020040d00410121070c030b41002d008083d480001a200441002802f482d480001182808080000022070d01410121070b2007200441d8cec6800010b980808000000b2007417e6a41003b000020072001200410f4978080001a0b20002004360208200020073602040c020b2007417e6a41003b000020072001200410f4978080001a0b20002004360208200020073602040b200020043602000b200241206a2480808080000b7901037f23808080800041206b22012480808080002001410b3a0008200141086a2001411f6a4184b2c6800010fd928080002102024020002802002203418080808078460d002003450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b200141206a24808080800020020bae0502057f027e23808080800041306b2202248080808000200128020c21030240024002400240024020012802142204200128021022054f0d0003400240200320046a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030305030b2001200441016a220436021420052004470d000b200521040b20024103360224200241086a20032005200441016a2204200520042005491b108793808000200241246a2002280208200228020c10f59280800021040c010b20024106360224200220032005200441016a2204200520042005491b108793808000200241246a2002280200200228020410f59280800021040b20004101360200200020043602040c010b2001200441016a360214200241246a200110ab8a80800020022802282105024020022802242206418080808078470d0020004101360200200020053602040c010b0240024002400240024002400240200228022c22030e020400010b410121012005210420052d000041556a0e03030103010b024020052d0000412b470d002003417f6a2101200541016a210420034112490d010c020b2005210420032101200341114f0d010b42002107034020042d000041506a220341094b0d02200441016a21042007420a7e2003ad7c21072001417f6a22010d000c030b0b4200210703402001450d02200241106a20074200420a420010fc9780800020022903184200520d0120042d000041506a220341094b0d01200441016a21042001417f6a2101200229031022082003ad7c220720085a0d000b0b2000419cc2cc8000412b10ae8a808000360204410121040c010b20002007370308410021040b200020043602002006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000bb20101027f23808080800041106b22022480808080004100210302400240024020014100480d00024020010d00410121030c030b41002d008083d480001a200141002802f482d480001182808080000022030d01410121030b2003200141d8cec6800010b980808000000b2003417e6a41003b00000b20032000200110f49780800021032002200136020c2002200336020820022001360204200241046a10fc928080002101200241106a24808080800020010be50101017f23808080800041306b2202248080808000200241086a200110b08a8080000240024020022d00084101470d002000200228020c360208200042023703000c010b024020022d00090d00200042003703000c010b200241086a2001280200200220022002200210b18a808000024020022802084101470d002000200228020c360208200042023703000c010b2000200229031037030820004201370300200041206a200241086a41206a290300370300200041186a200241086a41186a290300370300200041106a200241086a41106a2903003703000b200241306a2480808080000bc50401077f23808080800041306b22022480808080002001280200220328020c210402400240024020032802142205200328021022064f0d000340200420056a2d0000220741776a220841174b0d024101200874419380800471450d022003200541016a220536021420062005470d000b200621050b2002410236022441012108200241186a20042006200541016a2205200620052006491b1087938080002000200241246a2002280218200228021c10f5928080003602040c010b0240200741dd00470d0041002108200041003a00010c010b02400240024020012d00040d002007412c470d01410121082003200541016a22053602140240200520064f0d000340200420056a2d0000220141776a220741174b0d044101200774419380800471450d042003200541016a220536021420062005470d000b200621050b20024105360224200220042006200541016a2205200620052006491b1087938080002000200241246a2002280200200228020410f5928080003602040c030b200041013a000141002108200141003a00040c020b2002410736022441012108200241106a20042006200541016a2205200620052006491b1087938080002000200241246a2002280210200228021410f5928080003602040c010b0240200141dd00470d002002411536022441012108200241086a20042006200541016a2205200620052006491b1087938080002000200241246a2002280208200228020c10f5928080003602040c010b200041013a0001410021080b200020083a0000200241306a2480808080000bf81503067f067e017f2380808080004180016b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b2006410536026041012101200641086a20072009200841016a2208200920082009491b1087938080002000200641e0006a2006280208200628020c10f5928080003602040c010b0240024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641ff006a4190d1c6800010c58a808000210a0c0b0b200120012d0018417f6a220b3a00180240200b41ff0171450d00410121072001200841016a360214200641013a007820062001360274200641e0006a200641f4006a10b08a80800020062d00604101460d07024020062d00614101470d00200641e0006a200628027410ab8a8080002006280264210a20062802602209418080808078460d07024002400240200628026822070e020700010b4101210b200a2108200a2d000041556a0e03060106010b0240200a2d0000412b470d002007417f6a210b200a41016a210820074112490d010c050b200a21082007210b200741114f0d040b4200210c034020082d000041506a220741094b0d05200841016a2108200c420a7e2007ad7c210c200b417f6a220b450d060c000b0b41012107410041acc6c6800041d4c5c6800010a98a808000210a0c080b20064118360260200641106a20072009200841016a2208200920082009491b1087938080002000200641e0006a2006280210200628021410f5928080003602040c0b0b200120012d0018417f6a220b3a00180240200b41ff0171450d00410121092001200841016a360214200641013a005c20062001360258200641e0006a200641d8006a10988b8080000240024002400240024020062d00600d004200210d4200210e410021074200210f03400240024002400240024020062d00614101470d002006280258220841003602082008200828021441016a360214200641e0006a2008410c6a20081089938080002006280264210a024020062802604102470d00410121090c0a0b200641f4006a200a200628026810fa8c808000024020062d0074410171450d002006280278210a410121090c0a0b024002400240024020062d00750e0400010203000b200d4201510d0b200641e0006a200810ad8a80800020062802604101460d0a2006290368210c4201210d0c070b200e4201510d05200641e0006a200810ad8a80800020062802604101460d09200629036821104201210e0c060b20074101460d03200828020c210a02400240024002402008280214220b200828021022074f0d0003400240200a200b6a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200b41016a220b3602142007200b470d000b2007210b0b20064103360260200641c8006a200a2007200b41016a2208200720082007491b108793808000200641e0006a2006280248200628024c10f592808000210b410121080c020b20064106360260200641c0006a200a2007200b41016a2208200720082007491b108793808000200641e0006a2006280240200628024410f592808000210b410121080c010b2008200b41016a360214200641d0006a200810a18b8080002006280254210b200628025021080b410121072008410171450d05200b210a410121090c0b0b200f4201510d01200641e0006a200810ad8a80800020062802600d07200629036821114201210f0c040b410121090240200da74101710d0041e7c5c68000410710a68a808000210a0c090b410121090240200ea74101710d004180bac68000410710a68a808000210a0c090b41012109024020074101710d0041eec5c68000410e10a68a808000210a0c090b410121090240200fa7410171450d00410021090c0a0b41fcc5c68000410b10a68a808000210a0c080b4101210941fcc5c68000410b10aa8a808000210a0c070b4101210941eec5c68000410e10aa8a808000210a0c060b410121094180bac68000410710aa8a808000210a0c050b200641e0006a200641d8006a10988b80800020062d0060450d000b0b2006280264210a0c020b2006280264210a410121090c010b4101210941e7c5c68000410710aa8a808000210a0b0b200120012d001841016a3a0018200110c78a8080002108024020090d002008210a20080d0b0c0a0b2008450d0a024020082802000d002008280208450d002008280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20082008417e6a2f01006b41002802ec82d48000118180808000000c0a0b20064118360260200641386a20072009200841016a2208200920082009491b1087938080002000200641e0006a2006280238200628023c10f5928080003602040c0a0b4200210c0340200b450d02200641206a200c4200420a420010fc9780800020062903284200520d0120082d000041506a220741094b0d01200841016a2108200b417f6a210b200629032022102007ad7c220c20105a0d000b0b41012108419cc2cc8000412b10ae8a80800021120c010b410021080b02402009450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402008450d00410121072012210a0c040b200641e0006a200641f4006a10b08a8080004101210720062d00604101460d01024002400240024020062d00614101470d00200641e0006a200628027410ab8a8080002006280264210a20062802602208418080808078460d04200641e0006a200a2006280268109893808000024002402006280260220b4101470d002006280264200628026810ae8a80800021090c010b200629036821100b02402008450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200b450d00410121072009210a0c080b200641e0006a200641f4006a10b08a8080004101210720062d00604101460d0520062d00614101470d02200641186a200628027410a18b80800041012107200628021c210b2006280218410171450d01200b210a0c070b41012107410141acc6c6800041d4c5c6800010a98a808000210a0c050b200641e0006a200641f4006a10b08a8080004101210720062d00604101460d0320062d00614101470d01200641e0006a200628027410ab8a80800020062802642108024020062802602207418080808078470d002008210a410121070c050b200641e0006a2008200628026810989380800002400240200628026022094101470d002006280264200628026810ae8a808000210a0c010b200629036821110b02402007450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b20090d02410021070c050b41012107410241acc6c6800041d4c5c6800010a98a808000210a0c030b41012107410341acc6c6800041d4c5c6800010a98a808000210a0c020b410121070c010b2006280264210a0b0b200120012d001841016a3a0018200110c88a8080002108024020070d002008210a2008450d010c020b2008450d01024020082802000d002008280208450d002008280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20082008417e6a2f01006b41002802ec82d48000118180808000000c010b2000200b36022020002011370318200020103703102000200c370308410021010c020b2000200a200110c68a8080003602040b410121010b2000200136020020064180016a2480808080000b960101017f23808080800041106b2202248080808000200241086a200110b08a8080000240024020022d00084101470d002000200228020c360204200041013a00000c010b024020022d00090d00200041003b01000c010b02402001280200200220022002200210b38a8080002201450d00200041013a0000200020013602040c010b20004180023b01000b200241106a2480808080000bed0501067f23808080800041306b2205248080808000200028020c210602400240024020002802142207200028021022084f0d000340200620076a2d0000220941776a220a41174b0d024101200a74419380800471450d022000200741016a220736021420082007470d000b200821070b20054105360220200520062008200741016a2207200820072008491b108793808000200541206a2005280200200528020410f59280800021070c010b0240024002400240200941db00460d00200941fb00460d0120002005412f6a41c0d0c6800010c58a808000200010c68a80800021070c040b200020002d00182209417f6a220a3a0018200a41ff0171450d02200020093a00182000200741016a360214200010c88a808000210a0c010b200020002d0018417f6a220a3a00180240200a41ff0171450d002000200741016a360214200541013a001c20052000360218200541206a200541186a10988b8080000240024020052d00204101470d00200528022421070c010b4100210720052d00214101470d002005280218220741003602082007200728021441016a360214200541206a2007410c6a20071089938080002005280224210720052802204102460d00200720052802284104410010a88a80800021070b200020002d001841016a3a00182007200010c78a808000220920071b210a2007450d012009450d01024020092802000d002009280208450d00200928020422072007417e6a2f00006b41002802ec82d48000118180808000000b20092009417e6a2f01006b41002802ec82d48000118180808000000c010b20054118360220200541106a20062008200741016a2207200820072008491b108793808000200541206a2005280210200528021410f59280800021070c020b41002107200a450d01200a200010c68a80800021070c010b20054118360220200541086a20062008200741016a2207200820072008491b108793808000200541206a2005280208200528020c10f59280800021070b200541306a24808080800020070bc80101017f23808080800041106b2202248080808000200241046a200110b08a8080000240024020022d00044101470d002000200228020836020420004181808080783602000c010b024020022d00050d0020004180808080783602000c010b200241046a2001280200200220022002200210b58a80800002402002280204418080808078470d002000200228020836020420004181808080783602000c010b20002002290204370200200041086a200241046a41086a2802003602000b200241106a2480808080000ba40e01087f23808080800041d0006b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b20064105360240200620072009200841016a2208200920082009491b108793808000200641c0006a2006280200200628020410f59280800021082000418080808078360200200020083602040c010b024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641cf006a4180d1c6800010c58a808000210a0c090b200120012d0018417f6a220b3a001802400240200b41ff0171450d002001200841016a360214200641013a003820062001360234200641c0006a200641346a10b08a80800002400240024020062d00404101470d002006280244210a41808080807821080c010b024020062d00414101470d00200641c0006a2006280234109f8b80800041808080807821082006280244210a20062802402207418080808078460d012006280248210b200721080c020b4180808080782108410041ccc5c6800041d4c5c6800010a98a808000210a0b0b200120012d001841016a3a0018200110c88a80800021072008418080808078460d012007450d0820080d032007210a0c0a0b20064118360240200641086a20072009200841016a2208200920082009491b108793808000200641c0006a2006280208200628020c10f59280800021080c0b0b2007450d08024020072802000d002007280208450d00200728020422082008417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c080b200120012d0018417f6a220b3a0018200b41ff0171450d082001200841016a360214200641013a00302006200136022c200641c0006a2006412c6a10988b808000024020062d0040450d0041808080807821092006280244210a0c020b024020062d00414101460d0041808080807821080c040b41808080807821080340200628022c220b4100360208200b200b28021441016a360214200641c0006a200b410c6a200b108993808000200628024421070240024020062802404102460d0002402006280248220c410b470d0020074194fec48000410b10f597808000450d020b20082109200a210d2007200c41a0fec48000410110a88a808000210a0c040b2007450d0020082109200a210d2007210a0c030b02402008418080808078460d0020082109200a210d419cc5c68000410b10aa8a808000210a0c040b200b28020c210a024002400240200b2802142208200b28021022074f0d0003400240200a20086a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b200b200841016a220836021420072008470d000b200721080b20064103360240200641206a200a2007200841016a2208200720082007491b108793808000200641c0006a2006280220200628022410f592808000210a41808080807821080c070b20064106360240200641186a200a2007200841016a2208200720082007491b108793808000200641c0006a2006280218200628021c10f592808000210a41808080807821080c060b200b200841016a360214200641346a200b109f8b8080002006280238210a024020062802342208418080808078470d0041808080807821080c060b200628023c210b200641c0006a2006412c6a10988b808000024020062d00400d0020062d00414101470d050c010b0b20082109200a210d2006280244210a0c010b200a200a417e6a2f00006b41002802ec82d48000118180808000002007210a0c060b41808080807821082009418080808078460d020b418080808078210802402009450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b0c010b2008418080808078470d004180808080782108419cc5c68000410b10a68a808000210a0b200120012d001841016a3a0018200110c78a808000210702402008418080808078460d002007450d0120080d022007210a0c030b2007450d02024020072802000d002007280208450d00200728020422082008417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c020b2000200b3602082000200a360204200020083602000c040b200a200a417e6a2f00006b41002802ec82d48000118180808000002007210a0b200a200110c68a80800021082000418080808078360200200020083602040c020b20064118360240200641106a20072009200841016a2208200920082009491b108793808000200641c0006a2006280210200628021410f59280800021080b2000418080808078360200200020083602040b200641d0006a2480808080000be50a02097f047e2380808080004180016b2202248080808000200241f4006a200110b08a8080000240024020022d00744101470d002000420037030820004202370300200020022802783602100c010b024020022d00750d0020004200370308200042003703000c010b2001280200220328020c2104024002400240024020032802142201200328021022054f0d0003400240200420016a22062d0000220741776a0e2500000404000404040404040404040404040404040404040004040404040404040404040403040b2003200141016a220136021420012005470d000b200521010b20024105360274200241d8006a20042005200141016a2201200520012005491b108793808000200241f4006a2002280258200228025c10f59280800021010c020b2002410e360274200241e0006a20042005200141016a2201200520012005491b108793808000200241f4006a2002280260200228026410f59280800021010c010b200241003602702002428080808010370268024002400240024002400240024002400240200520014d0d002003200141016a2208360214024020074130470d00200241e8006a410041014101410110a386808000200228026c220920022802706a41303a000020024101360270200820054f0d03200420086a2d000041506a41ff017141094b0d032002410d360274200241086a200328020c20032802102201200328021441016a2205200120052001491b108793808000200241f4006a2002280208200228020c10f59280800021010c090b2007414f6a41ff01714109490d01200821010b2002410d360274200241d0006a200420052001108793808000200241f4006a2002280250200228025410f5928080002101410121090c070b200241e8006a410041014101410110a386808000200228026c220920022802706a20073a000020024101360270200820054f0d002005417f6a2104200520016b210a4101210502400340200620056a2d0000220741506a41ff017141094b0d012003200120056a41016a36021420052108024020052002280268470d00200241e8006a200541014101410110a38680800020022802702108200228026c21090b200920086a20073a00002002200541016a220536027020012004417f6a2204470d000b200a21050b200228026c210920054101470d010b410121052009210120092d000041556a0e03030103010b024020092d0000412b470d002005417f6a2104200941016a2101200541224f0d02200421050c010b2005210420092101200541204b0d01200921010b4200210b4200210c034020012d000041506a220441094b0d02200241106a200b200c420a420010fc97808000200141016a210120022903182002290310220c2004ad7c220b200c54ad7c210c2005417f6a22050d000c030b0b4200210b4200210c03402004450d02200241306a200c4200420a420010fc97808000200241c0006a200b4200420a420010fc9780800020022903384200522002290348220b20022903307c220d200b54720d0120012d000041506a220541094b0d01200141016a21012004417f6a21042002290340220e2005ad7c220b200e542205200d2005ad7c220c200d54200b200e5a1b450d000b0b2002410e360274200241286a200328020c20032802102003280214108793808000200241f4006a2002280228200228022c10f59280800021010c010b02402002280268450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2000200b37031020004200370308200042013703002000200c3703180c020b2002280268450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2000420037030820004202370300200020013602100b20024180016a2480808080000b960101017f23808080800041106b2202248080808000200241086a200110b08a8080000240024020022d00084101470d002000200228020c360204200041013a00000c010b024020022d00090d00200041003b01000c010b02402001280200200220022002200210b88a8080002201450d00200041013a0000200020013602040c010b20004180023b01000b200241106a2480808080000bed0501067f23808080800041306b2205248080808000200028020c210602400240024020002802142207200028021022084f0d000340200620076a2d0000220941776a220a41174b0d024101200a74419380800471450d022000200741016a220736021420082007470d000b200821070b20054105360220200520062008200741016a2207200820072008491b108793808000200541206a2005280200200528020410f59280800021070c010b0240024002400240200941db00460d00200941fb00460d0120002005412f6a41e0d0c6800010c58a808000200010c68a80800021070c040b200020002d00182209417f6a220a3a0018200a41ff0171450d02200020093a00182000200741016a360214200010c88a808000210a0c010b200020002d0018417f6a220a3a00180240200a41ff0171450d002000200741016a360214200541013a001c20052000360218200541206a200541186a10988b8080000240024020052d00204101470d00200528022421070c010b4100210720052d00214101470d002005280218220741003602082007200728021441016a360214200541206a2007410c6a20071089938080002005280224210720052802204102460d00200720052802284104410010a88a80800021070b200020002d001841016a3a00182007200010c78a808000220920071b210a2007450d012009450d01024020092802000d002009280208450d00200928020422072007417e6a2f00006b41002802ec82d48000118180808000000b20092009417e6a2f01006b41002802ec82d48000118180808000000c010b20054118360220200541106a20062008200741016a2207200820072008491b108793808000200541206a2005280210200528021410f59280800021070c020b41002107200a450d01200a200010c68a80800021070c010b20054118360220200541086a20062008200741016a2207200820072008491b108793808000200541206a2005280208200528020c10f59280800021070b200541306a24808080800020070ba70204017f017c017f017e23808080800041206b22022480808080000240024002400240024020012802000e0400010203000b20012b03082103200241033a000820022003390310200241086a2002411f6a4184b2c6800010fd928080002101410121040c030b02402001290308220542ffffffff0f560d002005a72101410021040c030b41012104200241013a000820022005370310200241086a2002411f6a4184b2c6800010ff9280800021010c020b024020012903082205428080808010540d00200241023a000820022005370310200241086a2002411f6a4184b2c6800010ff928080002101410121040c020b2005a72101410021040c010b41012104200141046a10ac8a80800021010b2000200136020420002004360200200241206a2480808080000bc404010a7f23808080800041206b220224808080800041002103024020002802142204200028021022054f0d000240200028020c220620046a2d0000220741e500460d00200741c500460d002007412e470d012000200441016a2208360214200128020822072109024020012802002007470d002001200741014101410110a386808000200128020821090b2001200741016a220a3602082001280204220b20096a412e3a00000240200820054f0d000240200620086a2d0000220841506a41ff017141094b0d002000200441026a220436021402402001280200200a470d002001200a41014101410110a3868080002001280208210a2001280204210b0b2001200741026a2207360208200b200a6a20083a0000200420054f0d0303400240200620046a2d0000220841506a41ff0171410a490d00200841207241e500470d0520002008200110bb8a80800021030c050b2000200441016a22043602142007210a024020072001280200470d002001200741014101410110a3868080002001280208210a2001280204210b0b200b200a6a20083a00002001200741016a220736020820052004470d000c040b0b2002410d360214200220062005200441026a2200200520002005491b108793808000200241146a2002280200200228020410f59280800021030c020b20024105360214200241086a20062005200441026a2200200520002005491b108793808000200241146a2002280208200228020c10f59280800021030c010b20002007200110bb8a80800021030b200241206a24808080800020030bc60501097f23808080800041206b220324808080800020002000280214220441016a220536021420022802082206210702404101410220014180014922081b2209200228020020066b4d0d002002200620094101410110a386808000200228020821070b2002280204220a20076a2107024020080d0020072001413f71418001723a0001200141067641407221010b200720013a00002002200620096a220636020802402005200028021022094f0d000240200028020c20056a2d0000220141556a0e03000100010b2000200441026a220536021420062107024020022802002006470d002002200641014101410110a386808000200228020821072002280204210a0b2002200641016a2206360208200a20076a20013a00000b0240024002400240200520094f0d002000200541016a220136021420062104024041014102200028020c220820056a2c00002207417f4a220b1b2205200228020020066b4d0d002002200620054101410110a386808000200228020821042002280204210a0b200a20046a2105200b0d012005200741bf01713a00012005200741c0017141067641c001723a00002002200641026a3602080c020b20034105360214200341086a200028020c20092005108793808000200341146a2003280208200328020c10f592808000210a0c020b200520073a00002002200641016a2205360208200741506a41ff017141094b0d004100210a200120094f0d010340200820016a2d0000220641506a41ff017141094b0d022000200141016a220136021420052107024020052002280200470d002002200541014101410110a386808000200228020821070b2002200541016a2205360208200228020420076a20063a000020092001470d000c020b0b2003410d3602142003200820002802102000280214108793808000200341146a2003280200200328020410f592808000210a0b200341206a248080808000200a0bd104010a7f23808080800041306b2202248080808000024002400240024020002802142203200028021022044f0d002000200341016a2205360214200128020822062107024041014102200028020c220820036a2c00002209417f4a220a1b220b200128020020066b4d0d0020012006200b4101410110a386808000200128020821070b2001280204220b20076a2107200a0d012007200941bf01713a00012001200641026a3602082007200941c0017141067641c001723a00000c020b20024105360224200241186a200028020c20042003108793808000200241246a2002280218200228021c10f59280800021050c020b200720093a00002001200641016a22063602080240024020094130470d000240200520044f0d00200820056a2d000041506a41ff0171410a490d020b2000200110ba8a80800021050c030b2009414f6a41ff017141084b0d010240200520044f0d000340200820056a2d0000220941506a41ff017141094b0d012000200541016a220536021420062103024020062001280200470d002001200641014101410110a386808000200128020821032001280204210b0b200b20036a20093a00002001200641016a220636020820042005470d000b0b2000200110ba8a80800021050c020b2002410d360224200241086a20082004200341026a2205200420052004491b108793808000200241246a2002280208200228020c10f59280800021050c010b2002410d360224200241106a200820042005108793808000200241246a2002280210200228021410f59280800021050b200241306a24808080800020050be103010a7f23808080800041206b220524808080800020012001280214220641016a2207360214024002402007200128021022084f0d00200128020c20076a2109200620086b41016a210a4100210b0240034002402009200b6a2d0000220c41506a220d41ff0171220e410a490d000240200b0d002006200b6a41016a21070c040b2004200b6b210b0240200c41207241e500460d002000200120022003200b10be8a8080000c050b2000200120022003200b10bf8a8080000c040b024020034298b3e6cc99b3e6cc19580d0020034299b3e6cc99b3e6cc19520d02200e41054b0d020b20012006200b6a41026a3602142003420a7e200dad42ff01837c2103200a200b41016a220b6a0d000b2000200120022003200720046a20086b10be8a8080000c020b20002001200220032004200b6b10c08a8080000c010b200741016a220b2008200b2008491b210b0240200720084f0d002005410d3602142005200128020c2008200b108793808000200541146a2005280200200528020410f592808000210b200041013602002000200b3602040c010b20054105360214200541086a200128020c2008200b108793808000200541146a2005280208200528020c10f592808000210b200041013602002000200b3602040b200541206a2480808080000bdb0204017f017c017f017c23808080800041206b22052480808080002003ba210602400240024002400240024020042004411f7522077320076b220741b502490d0003402006440000000000000000610d052004417f4a0d02200644a0c8eb85f3cce17fa32106200441b4026a22042004411f7522077320076b220741b5024f0d000b0b200741037441a09ecc80006a2b030021082004417f4a0d0120062008a321060c030b2005410e360214200541086a200128020c200128021020012802141087938080002000200541146a2005280208200528020c10f5928080003602040c010b20062008a222069944000000000000f07f620d012005410e3602142005200128020c200128021020012802141087938080002000200541146a2005280200200528020410f5928080003602040b410121040c010b2000200620069a20021b390308410021040b20002004360200200541206a2480808080000bfd0301077f23808080800041206b22052480808080004101210620012001280214220741016a220836021402402008200128021022094f0d004101210602400240200128020c20086a2d000041556a0e03010200020b410021060b2001200741026a22083602140b024002400240200820094f0d002001200841016a22073602140240200128020c220a20086a2d000041506a41ff01712208410a490d002005410d3602142005200a20092007108793808000200541146a2005280200200528020410f592808000210720004101360200200020073602040c030b200720094f0d010340200a20076a2d000041506a41ff0171220b410a4f0d022001200741016a220736021402400240200841cb99b3e6004c0d00200841cc99b3e600470d01200b41074b0d010b2008410a6c200b6a210820092007470d010c030b0b200020012002200350200610c38a8080000c020b20054105360214200541086a200128020c20092008108793808000200541146a2005280208200528020c10f592808000210720004101360200200020073602040c010b0240024020060d00200420086b2207411f75418080808078732007200841004a2007200448731b21070c010b200420086a2207411f7541808080807873200720084100482007200448731b21070b2000200120022003200710be8a8080000b200541206a2480808080000b7f01047f0240024020012802142205200128021022064f0d00200128020c210702400340200720056a2d0000220841506a41ff017141094b0d012001200541016a220536021420062005470d000c020b0b200841207241e500460d010b2000200120022003200410be8a8080000f0b2000200120022003200410bf8a8080000bc00704067f017e017f017e23808080800041306b2203248080808000024002400240024002400240024002400240024002400240024020012802142204200128021022054f0d002001200441016a22063602140240200128020c220720046a2d000022084130470d000240024002400240200620054f0d00200720066a2d0000220641506a41ff0171410a490d032006412e460d01200641c500460d02200641e500460d020b4200428080808080808080807f20021b21090c0e0b200341206a200120024200410010bd8a80800020032802200d0e0c0c0b200341206a200120024200410010bf8a8080002003280220450d0b20002003280224360204200041043602000c0e0b2003410d360220200341086a20072005200441026a2206200520062005491b108793808000200341206a2003280208200328020c10f592808000210620004104360200200020063602040c0d0b02402008414f6a41ff01714109490d002003410d360220200341106a200720052006108793808000200341206a2003280210200328021410f592808000210620004104360200200020063602040c0d0b200841506aad42ff01832109200620054f0d020c010b20034105360220200341186a200128020c20052004108793808000200341206a2003280218200328021c10f592808000210620004104360200200020063602040c0b0b02400340200720066a2d0000220a41506a220441ff01712208410a4f0d010240024020094299b3e6cc99b3e6cc19540d0020094299b3e6cc99b3e6cc19520d01200841054b0d010b2001200641016a22063602142009420a7e2004ad42ff01837c210920052006460d030c010b0b200341206a20012002200910c28a808000024020032802204101470d0020002003280224360204200041043602000c0c0b200020032b0328390308200041003602000c0b0b200a412e460d01200a41c500460d02200a41e500460d020b2002450d02410121060c040b41002106200341206a200120022009410010bd8a80800020032802200d040c020b41002106200341206a200120022009410010bf8a8080002003280220450d0120002003280224360204200041043602000c070b0240420020097d220b4200590d0041022106200b21090c020b2009babd428080808080808080807f842109410021060c010b200329032821090b20002009370308200020063602000c040b20002003280224360204200041043602000c030b20032903282109410021020b20002009370308200020023602000c010b20002003280224360204200041043602000b200341306a2480808080000bbd0101057f410021040240024020012802102205200128021422064d0d00200641016a2107200520066b2108200128020c20066a21054100210403400240200520046a2d0000220641506a41ff0171410a490d002006412e460d030240200641c500460d00200641e500470d030b2000200120022003200410bf8a8080000f0b2001200720046a3602142008200441016a2204470d000b200821040b2000200120022003200410be8a8080000f0b2000200120022003200410bd8a8080000bde0101027f23808080800041206b2205248080808000024002400240024020030d0020040d010b20012802142203200128021022044f0d01200128020c21060340200620036a2d000041506a41ff0171410a4f0d022001200341016a220336021420042003470d000c020b0b2005410e360214200541086a200128020c200128021020012802141087938080002000200541146a2005280208200528020c10f592808000360204410121030c010b200044000000000000000044000000000000008020021b390308410021030b20002003360200200541206a2480808080000b820802027f027e23808080800041c0006b220324808080800041002d008083d480001a024002400240024002400240024002400240411041002802f482d48000118280808000002204450d00200320043602382004417e6a41003b00002003410036023c2003411036023402400240024002400240024020020d002004412d3a00002003410136023c2001200341346a10bc8a80800022040d0120032802382104200328023c22020e020b02030b2001200341346a10bc8a8080002204450d040b20004104360200200020043602040c0b0b20042d0000220141556a0e03080108010b20042d000021010b0240024002400240200141ff017141556a0e03000201020b2002417f6a2101200441016a210420024111490d02200121020c080b2002417f6a2101200441016a2104024020024111490d004200210503402001450d0b200341206a20052005423f87420a420010fc9780800020042d000041506a220241094b0d0a200329032820032903202206423f87520d0a200441016a21042001417f6a21012002ad2205420055200620057d220520065373450d000c0a0b0b420021052001450d09034020042d000041506a220241094b0d09200441016a21042005420a7e2002ad7d21052001417f6a22010d000c0a0b0b2002410f4b0d060c050b2001210220010d04420021050c070b20032802382104024002400240200328023c22010e020800010b4101210220042d000041556a0e03070107010b024020042d0000412b470d002001417f6a2102200441016a210420014112490d010c030b20012102200141114f0d020b42002105034020042d000041506a220141094b0d06200441016a21042005420a7e2001ad7c21052002417f6a22020d000c030b0b410141104184b3c6800010b980808000000b4200210503402002450d01200320054200420a420010fc9780800020032903084200520d0420042d000041506a220141094b0d04200441016a21042002417f6a2102200329030022062001ad7c22052006540d040c000b0b20002005370308200041013602000c040b42002105034020042d000041506a220141094b0d02200441016a21042005420a7e2001ad7c21052002417f6a2202450d030c000b0b4200210503402002450d02200341106a20052005423f87420a420010fc97808000200329031820032903102206423f87520d0120042d000041506a220141094b0d01200441016a21042002417f6a21022001ad2205420053200620057c220520065373450d000b0b20002003290234370204200041033602002000410c6a2003413c6a2802003602000c020b20002005370308200041023602000b2003280234450d00200328023822042004417e6a2f00006b41002802ec82d48000118180808000000b200341c0006a2480808080000bd90b01087f2380808080004180016b2203248080808000200028020c2104024002400240024002400240024020002802142205200028021022064f0d00024002400240024002400240024002400240024002400240200420056a2d0000220741a57f6a0e21040b0b0b0b0b0b0b0b0b0b030b0b0b0b0b0b0b010b0b0b0b0b020b0b0b0b0b0b05000b2007415e6a0e0c090a0a0a0a0a0a0a0a0a0a080a0b2000200541016a2207360214200720064f0d0c2000200541026a22083602140240200420076a2d000041f500470d002006210720062008460d0d2000200541036a22093602140240200420086a2d000041ec00460d00200921080c010b2006210720092006460d0d2000200541046a2208360214200420096a2d000041ec00460d050b20034109360270200341186a200420062008108793808000200341f0006a2003280218200328021c10f59280800021050c100b2000200541016a2207360214200720064f0d0c2000200541026a22083602140240200420076a2d000041f200470d002006210720062008460d0d2000200541036a22093602140240200420086a2d000041f500460d00200921080c010b2006210720092006460d0d2000200541046a2208360214200420096a2d000041e500460d050b20034109360270200341286a200420062008108793808000200341f0006a2003280228200328022c10f59280800021050c0f0b2000200541016a2207360214200720064f0d0c2000200541026a22083602140240200420076a2d000041e100470d002006210720062008460d0d2000200541036a22093602140240200420086a2d000041ec00460d00200921080c010b2006210720092006460d0d2000200541046a220a3602140240200420096a2d000041f300460d00200a21080c010b20062107200a2006460d0d2000200541056a22083602142004200a6a2d000041e500460d050b20034109360270200341386a200420062008108793808000200341f0006a2003280238200328023c10f59280800021050c0e0b2003410a3a0070200341f0006a2001200210fd92808000200010c68a80800021050c0d0b2003410b3a0070200341f0006a2001200210fd92808000200010c68a80800021050c0c0b200341073a0070200341f0006a2001200210fd92808000200010c68a80800021050c0b0b20034180023b0170200341f0006a2001200210fd92808000200010c68a80800021050c0a0b200341003b0170200341f0006a2001200210fd92808000200010c68a80800021050c090b2000200541016a360214200341f0006a2000410010c48a80800020032802704104460d07200341c0006a41086a200341f0006a41086a29030037030020032003290370370340200341c0006a20012002108093808000200010c68a80800021050c080b200041003602082000200541016a360214200341e4006a2000410c6a20001089938080002003280268210520032802644102460d072003200328026c36027820032005360274200341053a0070200341f0006a2001200210fd92808000200010c68a80800021050c070b200741506a41ff0171410a490d010b2003410a360270200341086a20042006200541016a2205200620052006491b108793808000200341f0006a2003280208200328020c10f592808000200010c68a80800021050c050b200341f0006a2000410110c48a808000024020032802704104470d00200328027421050c050b200341d0006a41086a200341f0006a41086a29030037030020032003290370370350200341d0006a20012002108093808000200010c68a80800021050c040b20034105360270200341106a200420062007108793808000200341f0006a2003280210200328021410f59280800021050c030b20034105360270200341206a200420062007108793808000200341f0006a2003280220200328022410f59280800021050c020b20034105360270200341306a200420062007108793808000200341f0006a2003280230200328023410f59280800021050c010b200328027421050b20034180016a24808080800020050b7f01017f23808080800041106b220224808080800002400240200028020c450d00200021010c010b200241086a200128020c2001280210200128021410879380800020002002280208200228020c10f592808000210120002000417e6a2f01006b41002802ec82d48000118180808000000b200241106a24808080800020010bed0201057f23808080800041306b2201248080808000200028020c210202400240024002400240024020002802142203200028021022044f0d0003400240200220036a2d0000220541776a0e24000004040004040404040404040404040404040404040400040404040404040404040406030b2000200341016a220336021420042003470d000b200421030b20014103360224200141106a20022004200341016a2203200420032004491b108793808000200141246a2001280210200128021410f59280800021030c040b200541fd00460d010b20014116360224200141086a20022004200341016a2203200420032004491b108793808000200141246a2001280208200128020c10f59280800021030c020b2000200341016a360214410021030c010b20014115360224200141186a20022004200341016a2203200420032004491b108793808000200141246a2001280218200128021c10f59280800021030b200141306a24808080800020030ba10402067f017e23808080800041306b2201248080808000200028020c210202400240024002400240024020002802142203200028021022044f0d0003400240200220036a2d0000220541776a0e24000004040004040404040404040404040404040404040400040404040404040404040406030b2000200341016a220336021420042003470d000b200421030b20014102360224200141086a20022004200341016a2203200420032004491b108793808000200141246a2001280208200128020c10f59280800021030c040b200541dd00460d010b20014116360224200120022004200341016a2203200420032004491b108793808000200141246a2001280200200128020410f59280800021030c020b2000200341016a360214410021030c010b2000200341016a220336021402400240200320044f0d00024002400340200220036a2d0000220641776a220541174b0d014101200574419380800471450d012000200341016a220336021420042003470d000b42002107200421030c010b42800221070b20072006ad42108684428082f402510d010b20014116360224200141186a20022004200341016a2203200420032004491b108793808000200141246a2001280218200128021c10f59280800021030c010b20014115360224200141106a20022004200341016a2203200420032004491b108793808000200141246a2001280210200128021410f59280800021030b200141306a24808080800020030bb60101017f23808080800041206b2204248080808000200441086a200128020420022003109688808000024002402004280208418080808078460d0020002004290208370200200041086a200441086a41086a2802003602000c010b200441146a200128020020022003109e8880800002402004280214418180808078470d0020004180808080783602000c010b20002004290214370200200041086a200441146a41086a2802003602000b200441206a2480808080000bb60101017f23808080800041206b2204248080808000200441086a200128020420022003109688808000024002402004280208418080808078460d0020002004290208370200200041086a200441086a41086a2802003602000c010b200441146a200128020020022003109d8880800002402004280214418180808078470d0020004180808080783602000c010b20002004290214370200200041086a200441146a41086a2802003602000b200441206a2480808080000b1500200020012802042002200320041098888080000bd30102017f017e23808080800041d0006b2203248080808000024020012000280204220041206a412010f597808000450d00200341046a20012002109588808000200341106a2000200341046a10a288808000024020032802104101470d0020032903182104200341386a200341286a280200360200200320032903203703302003428080808070370244200342808080801037023c200328022c22012004200341306a200141106a109a888080000c010b2003280220417c6a22012001280200417f6a3602000b200341d0006a2480808080000b130020002802042001200220031099888080000bbf0101027f23808080800041206b2203248080808000200341086a20002802042001200210968880800002400240024020032802082204418080808078460d00200328020c21020c010b200341146a200028020020012002109d88808000024020032802142204418180808078470d00410021000c020b410021002004418080808078460d01200328021821020b410121002004450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200341206a24808080800020000bbf0101027f23808080800041206b2203248080808000200341086a20002802042001200210968880800002400240024020032802082204418080808078460d00200328020c21020c010b200341146a200028020020012002109e88808000024020032802142204418180808078470d00410021000c020b410021002004418080808078460d01200328021821020b410121002004450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200341206a24808080800020000bf40401047f23808080800041b0016b220224808080800020012802002103200241c8006a4200370300200241d0006a4200370300200241d8006a410036020020024200370338200242808090bbbad6adf00d370330200241003a0070200241003602282002428080808080023703202002418180808078360214200241e40036026c20024100360260200242003703402002420137026441002d008083d480001a0240024041800141002802f482d48000118280808000002204450d002004417e6a41003b0000200241003602a801200220043602a40120024180013602a0012002200241a0016a3602ac0102402002200241ac016a10b9868080002204450d0020022802a001450d0220022802a40122002000417e6a2f00006b41002802ec82d48000118180808000000c020b20022802a401210420022802a0012205418080808078460d01024002402003418080808078460d002000200110ac8e8080002005450d0120042004417e6a2f00006b41002802ec82d48000118180808000000c010b200020022802a80136020820002004360204200020053602000b02402002280220450d00200228022422042004417e6a2f00006b41002802ec82d48000118180808000000b024020022802142204418280808078480d002004450d00200228021822042004417e6a2f00006b41002802ec82d48000118180808000000b02402002280260450d00200228026422042004417e6a2f00006b41002802ec82d48000118180808000000b200241b0016a2480808080000f0b410141800141f4b3c6800010b980808000000b200220043602a0014194b5c68000412f200241a0016a4184b5c6800041a4b6c6800010a981808000000bbd0903047f017e087f23808080800041f0026b22022480808080002001280204210320012802082104200241003602b801200220043602b401200220033602b00120024180013a00bc01200241003602ac0120024280808080103702a401200241c0016a200241a4016a200220022002200210d28a8080000240024020022802e0012205418080808078470d0020024190016a200241d4016a29020037030020024198016a200241dc016a280200360200200220022902cc013703880120022902c401210620022802c00121042002410c6a200241e4016a41fc0010f4978080001a41808080807821050c010b0240024020022802b801220420022802b40122074f0d0020022802a402210820022802a002210920022802e401210a20022802d801210b20022802d401210c20022802b001210d0340200d20046a2d000041776a220e41174b0d024101200e74419380800471450d022007200441016a2204470d000b200220073602b8010b20024190016a200241d4016a29020037030020024198016a200241dc016a280200360200200220022902cc013703880120022902c401210620022802c00121042002410c6a200241e4016a41fc0010f4978080001a0c010b200220043602b801200241163602e0022002200d2007200441016a2204200720042007491b108793808000200241e0026a2002280200200228020410f592808000210402402005450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200c418280808078480d00200c450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b418080808078210502402009450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b0b024020022802a401450d0020022802a801220e200e417e6a2f00006b41002802ec82d48000118180808000000b024002402005418080808078470d00200220043602a001200241013602c401200241c8b6c680003602c001200242013702cc01200241a083808000ad422086200241a0016aad843703e0022002200241e0026a3602c801200241a4016a200241c0016a10b280808000024020022802a00122042802000d002004280208450d002004280204220e200e417e6a2f00006b41002802ec82d48000118180808000000b20042004417e6a2f00006b41002802ec82d480001181808080000020022802a4012104200020022902a801370204200020043602000c010b200241dc016a20024198016a280200360200200241d4016a20024190016a29030037020020022002290388013702cc01200241e4016a2002410c6a41fc0010f4978080001a200220053602e001200220063702c401200220043602c001200241c0016a10b686808000200041808080807836020002402005450d0020022802e40122042004417e6a2f00006b41002802ec82d48000118180808000000b024020022802d4012204418280808078480d002004450d0020022802d80122042004417e6a2f00006b41002802ec82d48000118180808000000b20022802a002450d0020022802a40222042004417e6a2f00006b41002802ec82d48000118180808000000b02402001280200450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241f0026a2480808080000bc643070a7f017e057f037e017f017e0c7f2380808080004180056b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b200641053602c004200641c0016a20072009200841016a2208200920082009491b108793808000200641c0046a20062802c00120062802c40110f59280800021082000418080808078360220200020083602000c010b02400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641ff046a41f0d0c6800010c58a808000210c0c180b200120012d0018417f6a220b3a00180240200b41ff0171450d002001200841016a360214200641013a00d403200620013602d003200641c0046a200641d0036a10b08a808000024020062d00c0044101470d0020062802c404210c418080808078210d0c150b20062d00c1044101470d04418080808078210d20062802d003200820082008200810a48b808000220c0d13200641c0046a200641d0036a10b08a80800020062d00c0044101460d1220062d00c1044101470d0320062802d003200820082008200810a58b808000220c0d13200641c0046a200641d0036a10b08a80800020062d00c0044101460d120240024002400240024002400240024020062d00c1044101470d00200641086a20062802d003200820082008200810a68b808000200628020c210c20062802084101710d1b200641c0046a200641d0036a10b08a80800020062d00c0044101460d1a20062d00c1044101470d02200641c0046a20062802d003200820082008200810a38b808000418080808078210d20062802c004210820062802e0042207418080808078470d012008210c0c1c0b4102419cd2c6800041d4c5c6800010a98a808000210c0c1b0b200641e8036a20062902cc04370300200620062902c4043703e00320062802d404210920062802d804210e20062802dc04210f20062802e404210a20062903e8042110200641c0046a200641d0036a10b08a808000024020062d00c0044101470d0020062802c404210b0c180b20062d00c1044101470d02200641c0046a20062802d003200820082008200810a78b80800020062d00c0044101470d0120062802c404210b0c170b4103419cd2c6800041d4c5c6800010a98a808000210c0c190b200641a0046a41086a220b200641c0046a41106a290200370300200641a0046a41106a2211200641c0046a41186a290200370300200641a0046a41186a2212200641e0046a2f01003b0100200620062902c8043703a00420062d00c10422134102460d0020062802c404211420062f01c204211520064180046a41186a20122f01003b010020064180046a41106a201129030037030020064180046a41086a200b290300370300200620062903a00437038004200641c0046a200641d0036a10b08a808000024020062d00c0044101470d0020062802c404210b0c160b20062d00c1044101470d02200641c0046a20062802d003200820082008200810a88b80800020062802c0044101470d0120062802c404210b0c150b4104419cd2c6800041d4c5c6800010a98a808000210b0c140b20062902d4042116200641dc046a350200211720063502d0042118200641c0046a200641d0036a10b28a80800020062d00c004450d0120062802c404210b0c130b4105419cd2c6800041d4c5c6800010a98a808000210b0c120b20062d00c104410171450d02200641c0046a200641d0036a10af8a80800020062802c8042119024020062903c004221a4202520d002019210b0c120b200641b8046a200641e4046a280200360200200641b0046a200641dc046a290200370300200641a8046a200641d4046a290200370300200620062902cc043703a00402400240024002400240201aa7410171450d00200641c0046a200641d0036a10b48a80800020062802c404210b20062802c00422114180808080786a0e020216010b4107419cd2c6800041d4c5c6800010a98a808000210b0c150b20062802c804211b200641c0046a200641d0036a10b78a80800020062d00c004450d0120062802c40421080c020b4108419cd2c6800041d4c5c6800010a98a808000210b0c130b024020062d00c104410171450d002017422086201642208884211720164220862018842116200641e8026a41086a200641e0036a41086a290300370300200641a8026a41086a20064180046a41086a290300370300200641a8026a41106a20064180046a41106a290300370300200641a8026a41186a20064180046a41186a2f01003b0100200641c8026a41086a200641a0046a41086a290300370300200641c8026a41106a200641a0046a41106a290300370300200641c8026a41186a200641a0046a41186a280200360200200620062903e0033703e80220062006290380043703a802200620062903a0043703c802200c21122007210d2008210c0c160b4109419cd2c6800041d4c5c6800010a98a80800021080b02402011450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b2008210b0c110b200641183602c004200620072009200841016a2208200920082009491b108793808000200641c0046a2006280200200628020410f59280800021080c0f0b200120012d0018417f6a220b3a0018200b41ff0171450d0d2001200841016a360214200641013a00cc03200620013602c803200641c0046a200641c8036a10988b808000024020062d00c004450d00418080808078210d41808080807821110c090b200641c0046a410472211c200641c0046a41086a211d200641c0046a410c6a211e420021184100211f4100212041002121410221134100212241002123410021244180808080782111418080808078210d0340024002400240024002400240024002400240024002400240024020062d00c1044101470d0020062802c803220841003602082008200828021441016a360214200641c0046a2008410c6a200810899380800020062802c4042107024020062802c0044102470d00410021080c180b200641a0046a200720062802c80410ba86808000024020062d00a004410171450d0020062802a4042107410021080c180b024002400240024002400240024002400240024020062d00a1040e0a00010203040506070809000b201f4101710d0a200828020c212502400240024020082802142207200828021022264f0d0003400240202520076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420262007470d000b202621070b200641033602c004200641306a20252026200741016a2208202620082026491b108793808000200641c0046a2006280230200628023410f5928080002107410021080c220b200641063602c004200641286a20252026200741016a2208202620082026491b108793808000200641c0046a2006280228200628022c10f5928080002107410021080c210b4101211f2008200741016a3602142008200820082008200810a48b8080002207450d15410021080c200b20204101710d1d200828020c212502400240024020082802142207200828021022264f0d0003400240202520076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420262007470d000b202621070b200641033602c004200641c0006a20252026200741016a2208202620082026491b108793808000200641c0046a2006280240200628024410f5928080002107410021080c210b200641063602c004200641386a20252026200741016a2208202620082026491b108793808000200641c0046a2006280238200628023c10f5928080002107410021080c200b410121202008200741016a3602142008200820082008200810a58b8080002207450d14410021080c1f0b20214101460d1b200828020c2112024002400240024020082802142207200828021022254f0d0003400240201220076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420252007470d000b202521070b200641033602c004200641d0006a20122025200741016a2208202520082025491b108793808000200641c0046a2006280250200628025410f5928080002112410121080c020b200641063602c004200641c8006a20122025200741016a2208202520082025491b108793808000200641c0046a2006280248200628024c10f5928080002112410121080c010b2008200741016a360214200641d8006a2008200820082008200810a68b808000200628025c2112200628025821080b410121212008410171450d1341002108201221070c1e0b0240200d418080808078460d004100210841b4c6c68000410810aa8a80800021070c1e0b200828020c210f02400240024002400240200828021422072008280210220c4f0d0003400240200f20076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a2207360214200c2007470d000b200c21070b200641033602a004200641e8006a200f200c200741016a2208200c2008200c491b108793808000200641a0046a2006280268200628026c10f59280800021070c020b200641063602a004200641e0006a200f200c200741016a2208200c2008200c491b108793808000200641a0046a2006280260200628026410f59280800021070c010b2008200741016a360214200641c0046a2008200820082008200810a38b80800020062802c004210c20062802e004220d418080808078470d01200c21070b418080808078210d410021080c1e0b200641d0036a41086a201c41086a2902003703002006201c2902003703d00320062802d404210920062802d804210e20062802dc04210f20062802e404210a20062903e80421100c120b0240201341ff01714102460d004100210841c6d2c68000410410aa8a80800021070c1d0b200828020c211402400240024020082802142207200828021022154f0d0003400240201420076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420152007470d000b201521070b200641033602f004200641f8006a20142015200741016a2208201520082015491b108793808000200641f0046a2006280278200628027c10f5928080002107410021080c1e0b200641063602f004200641f0006a20142015200741016a2208201520082015491b108793808000200641f0046a2006280270200628027410f5928080002107410021080c1d0b2008200741016a360214200641c0046a2008200820082008200810a78b80800020062d00c0044101710d1b200641a0046a41106a201d41106a290200221a370300200641e0036a41086a201d41086a290200370300200641e0036a41106a201a370300200641e0036a41186a201d41186a2f01003b01002006201d2902003703e00320062802c404211420062f01c204211520062d00c10421130c110b20224101460d17200828020c212502400240024020082802142207200828021022264f0d0003400240202520076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420262007470d000b202621070b200641033602a00420064188016a20252026200741016a2208202620082026491b108793808000200641a0046a200628028801200628028c0110f5928080002107410021080c1d0b200641063602a00420064180016a20252026200741016a2208202620082026491b108793808000200641a0046a20062802800120062802840110f5928080002107410021080c1c0b410121222008200741016a360214200641c0046a2008200820082008200810a88b80800020062802c0044101710d1a20062903d804211720062903d00421160c100b20234101710d15200828020c212502400240024020082802142207200828021022264f0d0003400240202520076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420262007470d000b202621070b200641033602c00420064198016a20252026200741016a2208202620082026491b108793808000200641c0046a200628029801200628029c0110f5928080002107410021080c1c0b200641063602c00420064190016a20252026200741016a2208202620082026491b108793808000200641c0046a20062802900120062802940110f5928080002107410021080c1b0b410121232008200741016a3602142008200820082008200810b38a8080002207450d0f410021080c1a0b20184201510d13200828020c211902400240024020082802142207200828021022254f0d0003400240201920076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420252007470d000b202521070b200641033602a004200641a8016a20192025200741016a2208202520082025491b108793808000200641a0046a20062802a80120062802ac0110f5928080002107410021080c1b0b200641063602a004200641a0016a20192025200741016a2208202520082025491b108793808000200641a0046a20062802a00120062802a40110f5928080002107410021080c1a0b2008200741016a360214200641c0046a2008200820082008200810b18a80800020062802c0044101710d1820064180046a41086a201e41086a29020037030020064180046a41106a201e41106a29020037030020064180046a41186a201e41186a2802003602002006201e2902003703800420062802c8042119420121180c0e0b02402011418080808078460d004100210841edd2c68000410410aa8a80800021070c190b200828020c2107024002402008280214220b200828021022114f0d00034002402007200b6a2d000041776a0e320000080800080808080808080808080808080808080808000808080808080808080808080808080808080808080808080803080b2008200b41016a220b3602142011200b470d000b2011210b0b200641033602c004200641b8016a20072011200b41016a2208201120082011491b108793808000200641c0046a20062802b80120062802bc0110f592808000210b0c060b2008200b41016a360214200641a0046a2008200820082008200810b58a80800020062802a404210b20062802a0042211418080808078460d0520062802a804211b0c0d0b20244101710d0b200828020c212502400240024020082802142207200828021022264f0d0003400240202520076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420262007470d000b202621070b200641033602c004200641206a20252026200741016a2208202620082026491b108793808000200641c0046a2006280220200628022410f5928080002107410021080c190b200641063602c004200641186a20252026200741016a2208202620082026491b108793808000200641c0046a2006280218200628021c10f5928080002107410021080c180b410121242008200741016a3602142008200820082008200810b88a8080002207450d0c410021080c170b201f4101710d014100210841a4d2c68000410610a68a80800021070c160b4100210841a4d2c68000410610aa8a80800021070c150b024020204101710d004100210841aad2c68000410f10a68a80800021070c150b024020214101710d004100210841b9d2c68000410d10a68a80800021070c150b200d418080808078460d022006200c3602c004200620062902d0033702c404200620103703e8042006200a3602e4042006200d3602e0042006200f3602dc042006200e3602d804200620093602d4042006200641d8036a2902003702cc04201341ff01714102460d03024020224101710d0041cad2c68000411210a68a80800021070c080b2023410171450d042018a7410171450d052011418080808078460d0602402024410171450d00200641b8036a41086a200641d0036a41086a290200370300200641f8026a41086a200641e0036a41086a290000370300200641f8026a41106a200641e0036a41106a290000370300200641f8026a41186a200641e0036a41186a2f00003b010020064198036a41086a20064180046a41086a29020037030020064198036a41106a20064180046a41106a29020037030020064198036a41186a20064180046a41186a280200360200200620062902d0033703b803200620062900e0033703f8022006200629028004370398030c180b41f1d2c68000410710a68a808000210c02402011450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200641c0046a108d8b808000418080808078210d0c160b200641063602c004200641b0016a20072011200b41016a2208201120082011491b108793808000200641c0046a20062802b00120062802b40110f592808000210b0b410021080c130b41b4c6c68000410810a68a808000210741002108418080808078210d0c110b41c6d2c68000410410a68a80800021070c030b41dcd2c68000410a10a68a80800021070c020b41e6d2c68000410710a68a80800021070c010b41edd2c68000410410a68a80800021070b200641c0046a108d8b808000410121080c0c0b4100210841f1d2c68000410710aa8a80800021070c0b0b200641c0046a200641c8036a10988b80800020062d00c0040d090c000b0b4106419cd2c6800041d4c5c6800010a98a808000210b0c0e0b4101419cd2c6800041d4c5c6800010a98a808000210c0c100b418080808078210d4100419cd2c6800041d4c5c6800010a98a808000210c0c0f0b4100210841e6d2c68000410710aa8a80800021070c050b4100210841dcd2c68000410a10aa8a80800021070c040b4100210841cad2c68000411210aa8a80800021070c030b4100210841b9d2c68000410d10aa8a80800021070c020b4100210841aad2c68000410f10aa8a80800021070c010b20062802c4042107410021080b0240201141808080807872418080808078470d002007210b0c010b200b200b417e6a2f00006b41002802ec82d48000118180808000002007210b0b0240200d418080808078460d0020080d000240200d450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b2009418280808078480d002009450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b418080808078210d200b210c0b0b200120012d001841016a3a00184180808080782108200110c78a808000210702400240200d418080808078460d0020070d0120064198026a41086a200641b8036a41086a290300370300200641f8016a41086a20064198036a41086a290300370300200641f8016a41106a20064198036a41106a290300370300200641f8016a41186a20064198036a41186a280200360200200641d8016a41086a200641f8026a41086a290300370300200641d8016a41106a200641f8026a41106a290300370300200641d8016a41186a200641f8026a41186a2f01003b0100200620062903b8033703980220062006290398033703f801200620062903f8023703d801200d21080c0a0b2007450d07024020072802000d002007280208450d002007280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c090b0240200d450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402009418280808078480d002009450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b4180808080782108024020110d002007210c0c090b200b200b417e6a2f00006b41002802ec82d48000118180808000002007210c0c080b200641183602c004200641106a20072009200841016a2208200920082009491b108793808000200641c0046a2006280210200628021410f59280800021080b2000418080808078360220200020083602000c090b02402007450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b418080808078210d02402009418280808078480d002009450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b200b210c0c020b20062802c404210c0c010b0b200120012d001841016a3a00184180808080782108200110c88a8080002107200d418080808078470d012007450d00024020072802000d002007280208450d002007280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000b0c010b024020070d0020064198026a41086a200641e8026a41086a290300370300200641f8016a41086a200641c8026a41086a290300370300200641f8016a41106a200641c8026a41106a290300370300200641f8016a41186a200641c8026a41186a280200360200200641d8016a41086a200641a8026a41086a290300370300200641d8016a41106a200641a8026a41106a290300370300200641d8016a41186a200641a8026a41186a2f01003b0100200620062903e80237039802200620062903c8023703f801200620062903a8023703d801200d21080c010b0240200d450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402009418280808078480d002009450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b4180808080782108024020110d002007210c0c010b200b200b417e6a2f00006b41002802ec82d48000118180808000002007210c0b2008418080808078460d0020002016370330200020062903980237020420002019360240200020103703282000200a3602242000200f36021c2000200e36021820002009360214200020062903f801370244200020173703382000410c6a20064198026a41086a290300370200200041cc006a200641f8016a41086a290300370200200041d4006a200641f8016a41106a290300370200200041dc006a200641f8016a41186a28020036020020002014360073200020153b0071200020133a00702000201236026c2000201b3602682000200b36026420002011360260200020062903d801370077200041ff006a200641d8016a41086a29030037000020004187016a200641d8016a41106a2903003700002000418f016a200641d8016a41186a2f01003b0000200020062900c9013700910120004198016a200641d0016a2900003700000c010b4180808080782108200c200110c68a808000210c0b200020083602202000200c3602000b20064180056a2480808080000be20101017f23808080800041106b220424808080800002400240024002402002200141246a412010f597808000450d00200441046a200120022003109e888080002004280204418180808078470d0120004180808080783602000c020b41002d008083d480001a410141002802f482d48000118280808000002201450d02200141003a00002000410136020820002001360204200041013602002001417e6a41003b00000c010b20002004290204370200200041086a200441046a41086a2802003602000b200441106a2480808080000f0b4101410141d8cec6800010b980808000000be20101017f23808080800041106b220424808080800002400240024002402002200141246a412010f597808000450d00200441046a200120022003109d888080002004280204418180808078470d0120004180808080783602000c020b41002d008083d480001a410141002802f482d48000118280808000002201450d02200141003a00002000410136020820002001360204200041013602002001417e6a41003b00000c010b20002004290204370200200041086a200441046a41086a2802003602000b200441106a2480808080000f0b4101410141d8cec6800010b980808000000bf80101017f23808080800041106b22032480808080000240024002400240024002402001200041246a412010f597808000450d00200341046a200020012002109d8880800020032802042200418180808078470d01410021000c040b4100210141002d008083d480001a410141002802f482d48000118280808000002200450d04200041003a00002000417e6a41003b00000c010b02402000418080808078470d00410021000c030b2000450d0120032802082200417e6a2f000021010b200020016b41002802ec82d48000118180808000000b410121000b200341106a24808080800020000f0b4101410141d8cec6800010b980808000000bf80101017f23808080800041106b22032480808080000240024002400240024002402001200041246a412010f597808000450d00200341046a200020012002109e8880800020032802042200418180808078470d01410021000c040b4100210141002d008083d480001a410141002802f482d48000118280808000002200450d04200041003a00002000417e6a41003b00000c010b02402000418080808078470d00410021000c030b2000450d0120032802082200417e6a2f000021010b200020016b41002802ec82d48000118180808000000b410121000b200341106a24808080800020000f0b4101410141d8cec6800010b980808000000bfb0603027f017e087f23808080800041106b2203248080808000024020002802a0012204418080808078460d00200041e0006a200041f0006a411c410810ae8c8080002004450d0020002802a40122042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602a0014200210502402002280200418080808078460d00200235020821050b0240024002400240024002400240024020002802200d002000200029032842017c37032820002802300d012000200029033820057c37033841012104024020002d00f0024101460d00410021040c080b024020002802bc0122060d00417f21070c080b20002802c00121080240024002400240034041002109024020062f01aa14220a450d00200a410c6c210b200641ac136a2104410021092006210c0340024041e8b8c680002004417c6a28020020042802002207411020074110491b10f597808000220d411020076b200d1b220741004a20074100486b41ff017122074101460d0020070d02200c200c28020041054b22044103746a2802002207450d0a0240200c41046a2209280200200920041b2007412c6c6a220741546a220c280200220441014b0d00200741586a220b280200210d200741706a280200210902402004410171450d00200d2009460d010b2003200741646a36020c2003410c6a2004200d200910a597808000200b200936020041012104200c41013602000b415821092004417e6a2204410220044102491b0e03050604050b200c41e0016a210c2004410c6a2104200941016a2109200b41746a220b0d000b200a21090b2008450d0b2008417f6a2108200620094102746a2802ac1421060c000b0b416421090b200720096a2207450d0020002802000d05200735020821052000200029030842017c37030820002802100d062000200029031820057c37031841012104200728020841044f0d01417f21070c090b20002802000d062000200029030842017c3703082000280210450d0741fcc4cd8000109a81808000000b200728020428000021070c070b418cc5cd8000109a81808000000b419cc5cd8000109a81808000000b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b417f2107410121040b200041bc016a200120022004200710b197808000200341106a2480808080000bfa0c030b7f017e037f23808080800041206b2203248080808000024020002802a001418080808078460d00200041e0006a200041f0006a411c410810ae8c80800020002802a001450d0020002802a40122042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602a0014100210541002106024020002d00f0024101470d00024020002802bc0122070d00417f2108410121060c010b20002802c0012108024002400240024002400240024002400240034041002109024020072f01aa142206450d002006410c6c210a200741ac136a2104410021092007210b0340024041e8b8c680002004417c6a2802002004280200220c4110200c4110491b10f597808000220d4110200c6b200d1b220c41004a200c4100486b41ff0171220c4101460d00200c0d02200b200b28020041054b22044103746a280200220c450d080240200b41046a2209280200200920041b200c412c6c6a220c41546a220b280200220441014b0d00200c41586a220a280200210d200c41706a280200210902402004410171450d00200d2009460d010b2003200c41646a360214200341146a2004200d200910a597808000200a200936020041012104200b41013602000b415821092004417e6a2204410220044102491b0e03050604050b200b41e0016a210b2004410c6a2104200941016a2109200a41746a220a0d000b200621090b2008450d092008417f6a2108200720094102746a2802ac1421070c000b0b416421090b200c20096a2204450d0020002802000d032004350208210e2000200029030842017c37030820002802100d0420002000290318200e7c37031841012106200428020841044f0d01417f21080c070b20002802000d042000200029030842017c3703082000280210450d0541fcc4cd8000109a81808000000b200428020428000021080c050b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41012106417f21080b024020002802bc012204450d0020002802c401220a450d00200041cc016a210f200041c8016a211020002802c0012100410021054100210d034002400240200d450d00200021092004210b200d21040c010b4100210902402000450d002000210c02402000410771220b450d000340200c417f6a210c20042802ac142104200b417f6a220b0d000b0b20004108490d00034020042802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142104200c41786a220c0d000b0b4100210b0b02400240024002400240200920042f01aa144f0d002004210c0c010b034020042802a013220c450d02200b41016a210b20042f01a8142109200c21042009200c2f01aa144f0d000b0b02400240200b0d00200941016a2100200c210d0c010b200c20094102746a41b0146a280200210d41002100200b417f6a2204450d00200b417e6a210702402004410771220b450d0003402004417f6a2104200d2802ac14210d200b417f6a220b0d000b0b20074107490d000340200d2802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac14210d200441786a22040d000b0b200a417f6a210a200c2009410c6c6a22042802ac132002490d022001200441a4136a2204280204200210f5978080000d02200c200941e0016c6a22092802082009280200220c200c41054b220c1b220b450d012009280204200941046a200c1b200b412c6c6a41546a280200210b2003418080808078360208410021070240024002402004280208220c4100480d00200428020421070240200c0d00410121040c030b41002d008083d480001a200c41002802f482d480001182808080000022040d01410121070b2007200c41a8b2c8800010b980808000000b2004417e6a41003b00000b200b410347210b20042007200c10f4978080002104024002402010201028020041054b22074103746a28020022110d000240200c0d004100210c0c020b4100210c20042004417e6a2f00006b41002802ec82d48000118180808000000c010b2003200c36021c200320043602182003200c360214200f280200200f20071b2011410c6c6a41746a200341146a10a389808000410173210c0b2005200b6a21052009200341086a200c2006200810ae978080000c020b419c8fc3800010a081808000000b41dfbcc6800041fc00419cbec6800010a181808000000b41002104200a0d000b0b200341206a24808080800020050bfb06020b7f017e23808080800041106b220524808080800002400240024002400240024020012802b00122060d00410021020c010b200228020821072002280204210820012802b4012109024003404100210a024020062f01aa09220b450d00200b410c6c210c200641ac086a21024100210a2006210d0340024020082002417c6a28020020072002280200220e2007200e491b10f597808000220f2007200e6b200f1b220e41004a200e4100486b41ff0171220e4101460d00200e0d02200d280200220c0d04410021020c050b200d41e0006a210d2002410c6a2102200a41016a210a200c41746a220c0d000b200b210a0b024020090d00410021020c030b2009417f6a21092006200a4102746a2802ac0921060c000b0b200d41046a2802002108024003404100210e0240200c2f01aa142206450d002006410c6c210f200c41ac136a21024100210e200c210a0340024020032002417c6a28020020042002280200220720042007491b10f597808000220d200420076b200d1b220741004a20074100486b41ff017122074101460d0020070d02200a200a28020041054b22024103746a28020022070d044198bdcd800041fc004184bfcd800010a181808000000b200a41e0016a210a2002410c6a2102200e41016a210e200f41746a220f0d000b2006210e0b024020080d00410021020c030b2008417f6a2108200c200e4102746a2802ac14210c0c000b0b0240200a41046a220e280200200e20021b2007412c6c6a220741546a220a280200220241014b0d00200741586a220f280200210d200741706a280200210e02402002410171450d00200d200e460d010b2005200741646a36020c2005410c6a2002200d200e10a597808000200f200e36020041012102200a41013602000b4158210e02400240024002402002417e6a2202410220024102491b0e03010200010b4164210e0b2007200e6a2207450d0020012802000d03200735020821102001200129030842017c37030820012802100d042001200129031820107c37031820072802082102200728020421070c010b20012802000d042001200129030842017c37030820012802100d05410021070b2000200236020820002007360204410121020b20002002360200200541106a2480808080000f0b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000bca05010a7f23808080800041106b22012480808080000240024020002d008c0222020d00200041013a008c02200020002802d00120002802c8012203200341054b1b36028802024020002802b0012203450d0020002802b8012204450d002003410047210520002802b4012106410021070340024002402005410171450d00024002402007450d002006210820032109200721030c010b4100210802402006450d0020062105024020064107712209450d0003402005417f6a210520032802ac0921032009417f6a22090d000b0b20064108490d00034020032802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092103200541786a22050d000b0b410021090b024002400240200820032f01aa094f0d00200321050c010b034020032802a0082205450d02200941016a210920032f01a809210820052103200820052f01aa094f0d000b0b024020090d00200841016a2106200521070c030b200520084102746a41b0096a2802002107410021062009417f6a2203450d022009417e6a210a024020034107712209450d0003402003417f6a210320072802ac0921072009417f6a22090d000b0b200a4107490d02034020072802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092107200341786a22030d000c030b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b02402005200841e0006c6a22032d0050450d004194b8c6800041c1002001410f6a41d0b6c6800041d8b8c6800010a981808000000b41012105200341013a005020032003280214200328020c2208200841054b1b36024c410021032004417f6a22040d000b0b20002d00e0024101460d01200041013a00e002200020002802a402200028029c022203200341054b1b3602dc020b200141106a24808080800020020f0b41e0b6c6800041382001410f6a41d0b6c680004184b8c6800010a981808000000bee22040c7f017e047f017e23808080800041d0006b2205248080808000024002400240024002400240024002400240024020002d00f00222064101470d00024020002802bc0122070d00417f21080c010b20002802c0012109024002400240024003404100210a024020072f01aa14220b450d00200b410c6c210c200741ac136a210d4100210a2007210e0340024041e8b8c68000200d417c6a280200200d280200220f4110200f4110491b10f59780800022104110200f6b20101b220f41004a200f4100486b41ff0171220f4101460d00200f0d02200e200e28020041054b220d4103746a280200220f450d090240200e41046a220a280200200a200d1b200f412c6c6a220f41546a220e280200220d41014b0d00200f41586a220c2802002110200f41706a280200210a0240200d410171450d002010200a460d010b2005200f41646a360208200541086a200d2010200a10a597808000200c200a3602004101210d200e41013602000b4158210a200d417e6a220d4102200d4102491b0e03050604050b200e41e0016a210e200d410c6a210d200a41016a210a200c41746a220c0d000b200b210a0b024020090d00417f21080c060b2009417f6a21092007200a4102746a2802ac1421070c000b0b4164210a0b200f200a6a220d450d0020002802000d04200d35020821112000200029030842017c37030820002802100d052000200029031820117c370318200d28020841044f0d01417f21080c020b20002802000d052000200029030842017c370308024020002802100d00417f21080c020b41fcc4cd8000109a81808000000b200d28020428000021080b20002802200d04200235020821112000200029032842017c37032820002802300d052000200029033820117c3703384100210f0240024002402001280208220d4100480d002004280204211220042802082113200128020421140240200d0d004101210f0c030b41002d008083d480001a200d41002802f482d4800011828080800000220f0d014101210f0b200f200d41a8b2c8800010b980808000000b200f417e6a41003b00000b200f2014200d10f49780800021070240200041bc016a2215280200220c450d0020002802c001210403404100210e0240200c2f01aa14220b450d00200b410c6c21094100210a4100210e034002402007200c200a6a220f41a8136a280200200d200f41ac136a280200220f200d200f491b10f5978080002210200d200f6b20101b220f41004a200f4100486b41ff0171220f4101460d00200f0d02200520153602182005200e360214200520043602102005200c36020c2005418080808078360208200d450d0d20072007417e6a2f00006b41002802ec82d48000118180808000000c0d0b200e41016a210e2009200a410c6a220a470d000b200b210e0b2004450d082004417f6a2104200c200e4102746a2802ac14210c0c000b0b200541003602180c070b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b418cc5cd8000109a81808000000b419cc5cd8000109a81808000000b2005200e3602202005410036021c2005200c3602180b200520153602142005200d3602102005200736020c2005200d3602080b200541086a10978d808000210d02400240200041c8016a20002802c80141054b220f4103746a280200220a0d00024020012802000d004100210e0c020b4100210e20142014417e6a2f00006b41002802ec82d48000118180808000000c010b200541086a41086a200141086a2802003602002005200129020037030820002802cc01200041cc016a200f1b200a410c6c6a41746a200541086a10a389808000410173210e0b200d41086a2107200d41046a210f0240024002400240024002400240024002400240024002400240024002400240024002400240200d280208200d280200220a200a41054b22101b0d00200541086a20032012201310e18f8080002005280208220e418180808078460d010240200e418080808078470d004100210e2005410036022c20054280808080103702244101210c0c100b200529020c21112005200e360224200520113702282011a7210c2011428080808010540d0f2011422088211602400240024002400240200c2d0000220a4103710e0403000102030b20164201510d13200c2d00012210450d132010410874200a7241027621100c030b20114280808080c000540d12200c2f0001200c41036a2d000041107472221041ffffff077141ff014d0d122010410874200a7241027621100c020b20114280808080d000540d11200a41034b0d11200c280001221041ffffffff034d0d110c010b200a41027621100b2002280204210a024020022802082209200e2016a722006b4d0d00200541246a200020094101410110ab978080002005280228210c200528022c21000b200c20006a200a200910f4978080001a200241003602082005200528022c20096a36022c02402002280200450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b200541146a200541246a41086a2802003602002005200529022437020c201041016a210902400240200d200d280200220041054b220a4103746a220e280200220c20004105200a1b460d00200d280204200f200a1b210a0c010b200d109a8a808000200d280208210c200d280204210a2007210e0b200a200c412c6c6a220a4100360208200a2010360204200a4101360200200a200529020837020c200a4100360228200a4280808080c000370220200a200936021c200a41146a200541086a41086a290200370200200e200e28020041016a36020020060d100c110b200d280204210c200d20104103746a211002400240024002400240024002400240024002400240200e0d002010280200220e450d0c200c200f200a41054b1b200e412c6c6a220a41546a2210280200417e6a220e4102200e4102491b0e03010203010b2010280200220e450d0c200c200f200a41054b1b200e412c6c6a220a41546a220c280200417e6a220e4102200e4102491b0e03050607050b200a41606a22002802002207450d1302400240200a415c6a220b28020022092d0000220c4103710e0405040100050b20074105490d14200c41034b0d142009280001220c41ffffffff034d0d140c150b20074104490d1320092f0001200941036a2d000041107472220441ffffff077141ff014d0d132004410874200c72410276210c0c140b200541c0006a41086a200241086a280200360200200520022902003703400c140b2002280204210e024020022802082210200a41646a2209280200200a416c6a220c28020022076b4d0d002009200720104101410110ab97808000200c28020021070b200a41686a28020020076a200e201010f4978080001a20024100360208200c200c28020020106a36020002402002280200450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b200a41706a220a200a28020041016a36020020060d160c170b20074101470d0f0c100b200c410276210c0c100b200a41606a280200220e450d0902400240200a415c6a280200220a2d000022104103710e0404050100040b200e4105490d0a201041034b0d0a200a280001221041ffffffff034b0d090c0a0b200e4104490d09200a2f0001200a41036a2d000041107472220c41ffffff077141ff014d0d09200c41087420107241027621100c080b200541306a41086a200241086a280200360200200520022902003703300c090b200a41646a220e2902002111200e428080808010370200200541306a41086a200e41086a280200220e360200200a416c6a221028020021092010410036020020052011370330200228020421100240200228020822002011a7200e6b4d0d00200541306a200e20004101410110ab978080002005280238210e0b2005280234200e6a2010200010f4978080001a200241003602082005200e20006a36023802402002280200450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b41012100200a41706a28020041016a2104200a41586a2802002110200c280200210b0c0a0b201041027621100c050b200e4101470d030c050b41f8cec680004130200541cf006a41e8cec680004180d0c6800010a981808000000b41dfbcc6800041fc00418cbec6800010a181808000000b41dfbcc6800041fc00418cbec6800010a181808000000b200a2d0001220c450d01200c41087420107241027621100b4100210c02400240200e4100480d0041002d008083d480001a200e41002802f482d4800011828080800000220c0d014101210c0b200c200e41a8b2c8800010b980808000000b200c417e6a41003b0000200c200a200e10f497808000210a2005200e3602382005200a3602342005200e3602302002280204210a024020022802082209450d00200541306a200e20094101410110ab978080002005280234210c2005280238210e0b200c200e6a200a200910f4978080001a41002100200241003602082005200e20096a36023802402002280200450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b4101210b201041016a21040c020b200541306a41086a200241086a280200360200200520022902003703300b4100210b41012104410021000b0b02400240200d200d280200220141054b220a4103746a220e280200220c20014105200a1b460d00200d280204200f200a1b210a0c010b200d109a8a808000200d280208210c200d280204210a2007210e0b200a200c412c6c6a220a200936020c200a2000360208200a2010360204200a200b360200200a2005290330370210200a4100360228200a4280808080c000370220200a200436021c200a41186a200541386a280200360200200e200e28020041016a3602002006450d070c060b20092d00012204450d002004410874200c72410276210c0c010b200541c0006a41086a200241086a280200360200200520022902003703400c010b20022802042104024020022802082201200a41586a220e28020020076b4d0d00200e200720014101410110ab97808000200b2802002109200028020021070b200920076a2004200110f4978080001a200241003602082000200028020020016a36020002402002280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200e2902002111200e4100360200200541c0006a41086a200e41086a28020036020041012109200b41013602002000410036020020052011370340200c41016a21072010280200417e6a210e0c010b41012107410021090b41102100024002400240200e4102200e4102491b0e020002010b410421000b201020006a220e280200450d00200e280204220e200e417e6a2f00006b41002802ec82d48000118180808000000b20102009360200200a415c6a4100360200200a41586a200c360200200a41646a220e2005290340370200200a41706a2007360200200e41086a200541c0006a41086a28020036020020060d010c020b200541146a200241086a2802003602002005200229020037020c02400240200d200d280200220041054b220a4103746a2210280200220920004105200a1b460d00200d280204200f200a1b210a0c010b200d109a8a808000200d2802082109200d280204210a200721100b200a2009412c6c6a220a4100360208200a4100360200200a200529020837020c200a4204370224200a420137021c200a41146a200541086a41086a2902003702002010201028020041016a3602000240200e450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b2006450d010b200d200d28020041054b220a4103746a280200220d450d01200f280200200f200a1b200d412c6c6a220f41786a210a0240200f417c6a220e280200220d450d002008200a280200200d4102746a417c6a280200460d010b0240200d200f41746a220f280200470d00200f41e4b8cd800010ad978080000b200a280200200d4102746a2008360200200e200d41016a3602000b200541d0006a2480808080000f0b41dfbcc6800041fc0041fcbdc6800010a181808000000bee22040c7f017e047f017e23808080800041d0006b2205248080808000024002400240024002400240024002400240024020002d00f00222064101470d00024020002802bc0122070d00417f21080c010b20002802c0012109024002400240024003404100210a024020072f01aa14220b450d00200b410c6c210c200741ac136a210d4100210a2007210e0340024041e8b8c68000200d417c6a280200200d280200220f4110200f4110491b10f59780800022104110200f6b20101b220f41004a200f4100486b41ff0171220f4101460d00200f0d02200e200e28020041054b220d4103746a280200220f450d090240200e41046a220a280200200a200d1b200f412c6c6a220f41546a220e280200220d41014b0d00200f41586a220c2802002110200f41706a280200210a0240200d410171450d002010200a460d010b2005200f41646a360208200541086a200d2010200a10a597808000200c200a3602004101210d200e41013602000b4158210a200d417e6a220d4102200d4102491b0e03050604050b200e41e0016a210e200d410c6a210d200a41016a210a200c41746a220c0d000b200b210a0b024020090d00417f21080c060b2009417f6a21092007200a4102746a2802ac1421070c000b0b4164210a0b200f200a6a220d450d0020002802000d04200d35020821112000200029030842017c37030820002802100d052000200029031820117c370318200d28020841044f0d01417f21080c020b20002802000d052000200029030842017c370308024020002802100d00417f21080c020b41fcc4cd8000109a81808000000b200d28020428000021080b20002802200d04200235020821112000200029032842017c37032820002802300d052000200029033820117c3703384100210f0240024002402001280208220d4100480d002004280204211220042802082113200128020421140240200d0d004101210f0c030b41002d008083d480001a200d41002802f482d4800011828080800000220f0d014101210f0b200f200d41a8b2c8800010b980808000000b200f417e6a41003b00000b200f2014200d10f49780800021070240200041bc016a2215280200220c450d0020002802c001210403404100210e0240200c2f01aa14220b450d00200b410c6c21094100210a4100210e034002402007200c200a6a220f41a8136a280200200d200f41ac136a280200220f200d200f491b10f5978080002210200d200f6b20101b220f41004a200f4100486b41ff0171220f4101460d00200f0d02200520153602182005200e360214200520043602102005200c36020c2005418080808078360208200d450d0d20072007417e6a2f00006b41002802ec82d48000118180808000000c0d0b200e41016a210e2009200a410c6a220a470d000b200b210e0b2004450d082004417f6a2104200c200e4102746a2802ac14210c0c000b0b200541003602180c070b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b418cc5cd8000109a81808000000b419cc5cd8000109a81808000000b2005200e3602202005410036021c2005200c3602180b200520153602142005200d3602102005200736020c2005200d3602080b200541086a10978d808000210d02400240200041c8016a20002802c80141054b220f4103746a280200220a0d00024020012802000d004100210e0c020b4100210e20142014417e6a2f00006b41002802ec82d48000118180808000000c010b200541086a41086a200141086a2802003602002005200129020037030820002802cc01200041cc016a200f1b200a410c6c6a41746a200541086a10a389808000410173210e0b200d41086a2107200d41046a210f0240024002400240024002400240024002400240024002400240024002400240024002400240200d280208200d280200220a200a41054b22101b0d00200541086a20032012201310e28f8080002005280208220e418180808078460d010240200e418080808078470d004100210e2005410036022c20054280808080103702244101210c0c100b200529020c21112005200e360224200520113702282011a7210c2011428080808010540d0f2011422088211602400240024002400240200c2d0000220a4103710e0403000102030b20164201510d13200c2d00012210450d132010410874200a7241027621100c030b20114280808080c000540d12200c2f0001200c41036a2d000041107472221041ffffff077141ff014d0d122010410874200a7241027621100c020b20114280808080d000540d11200a41034b0d11200c280001221041ffffffff034d0d110c010b200a41027621100b2002280204210a024020022802082209200e2016a722006b4d0d00200541246a200020094101410110ab978080002005280228210c200528022c21000b200c20006a200a200910f4978080001a200241003602082005200528022c20096a36022c02402002280200450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b200541146a200541246a41086a2802003602002005200529022437020c201041016a210902400240200d200d280200220041054b220a4103746a220e280200220c20004105200a1b460d00200d280204200f200a1b210a0c010b200d109a8a808000200d280208210c200d280204210a2007210e0b200a200c412c6c6a220a4100360208200a2010360204200a4101360200200a200529020837020c200a4100360228200a4280808080c000370220200a200936021c200a41146a200541086a41086a290200370200200e200e28020041016a36020020060d100c110b200d280204210c200d20104103746a211002400240024002400240024002400240024002400240200e0d002010280200220e450d0c200c200f200a41054b1b200e412c6c6a220a41546a2210280200417e6a220e4102200e4102491b0e03010203010b2010280200220e450d0c200c200f200a41054b1b200e412c6c6a220a41546a220c280200417e6a220e4102200e4102491b0e03050607050b200a41606a22002802002207450d1302400240200a415c6a220b28020022092d0000220c4103710e0405040100050b20074105490d14200c41034b0d142009280001220c41ffffffff034d0d140c150b20074104490d1320092f0001200941036a2d000041107472220441ffffff077141ff014d0d132004410874200c72410276210c0c140b200541c0006a41086a200241086a280200360200200520022902003703400c140b2002280204210e024020022802082210200a41646a2209280200200a416c6a220c28020022076b4d0d002009200720104101410110ab97808000200c28020021070b200a41686a28020020076a200e201010f4978080001a20024100360208200c200c28020020106a36020002402002280200450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b200a41706a220a200a28020041016a36020020060d160c170b20074101470d0f0c100b200c410276210c0c100b200a41606a280200220e450d0902400240200a415c6a280200220a2d000022104103710e0404050100040b200e4105490d0a201041034b0d0a200a280001221041ffffffff034b0d090c0a0b200e4104490d09200a2f0001200a41036a2d000041107472220c41ffffff077141ff014d0d09200c41087420107241027621100c080b200541306a41086a200241086a280200360200200520022902003703300c090b200a41646a220e2902002111200e428080808010370200200541306a41086a200e41086a280200220e360200200a416c6a221028020021092010410036020020052011370330200228020421100240200228020822002011a7200e6b4d0d00200541306a200e20004101410110ab978080002005280238210e0b2005280234200e6a2010200010f4978080001a200241003602082005200e20006a36023802402002280200450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b41012100200a41706a28020041016a2104200a41586a2802002110200c280200210b0c0a0b201041027621100c050b200e4101470d030c050b41f8cec680004130200541cf006a41e8cec680004180d0c6800010a981808000000b41dfbcc6800041fc00418cbec6800010a181808000000b41dfbcc6800041fc00418cbec6800010a181808000000b200a2d0001220c450d01200c41087420107241027621100b4100210c02400240200e4100480d0041002d008083d480001a200e41002802f482d4800011828080800000220c0d014101210c0b200c200e41a8b2c8800010b980808000000b200c417e6a41003b0000200c200a200e10f497808000210a2005200e3602382005200a3602342005200e3602302002280204210a024020022802082209450d00200541306a200e20094101410110ab978080002005280234210c2005280238210e0b200c200e6a200a200910f4978080001a41002100200241003602082005200e20096a36023802402002280200450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b4101210b201041016a21040c020b200541306a41086a200241086a280200360200200520022902003703300b4100210b41012104410021000b0b02400240200d200d280200220141054b220a4103746a220e280200220c20014105200a1b460d00200d280204200f200a1b210a0c010b200d109a8a808000200d280208210c200d280204210a2007210e0b200a200c412c6c6a220a200936020c200a2000360208200a2010360204200a200b360200200a2005290330370210200a4100360228200a4280808080c000370220200a200436021c200a41186a200541386a280200360200200e200e28020041016a3602002006450d070c060b20092d00012204450d002004410874200c72410276210c0c010b200541c0006a41086a200241086a280200360200200520022902003703400c010b20022802042104024020022802082201200a41586a220e28020020076b4d0d00200e200720014101410110ab97808000200b2802002109200028020021070b200920076a2004200110f4978080001a200241003602082000200028020020016a36020002402002280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200e2902002111200e4100360200200541c0006a41086a200e41086a28020036020041012109200b41013602002000410036020020052011370340200c41016a21072010280200417e6a210e0c010b41012107410021090b41102100024002400240200e4102200e4102491b0e020002010b410421000b201020006a220e280200450d00200e280204220e200e417e6a2f00006b41002802ec82d48000118180808000000b20102009360200200a415c6a4100360200200a41586a200c360200200a41646a220e2005290340370200200a41706a2007360200200e41086a200541c0006a41086a28020036020020060d010c020b200541146a200241086a2802003602002005200229020037020c02400240200d200d280200220041054b220a4103746a2210280200220920004105200a1b460d00200d280204200f200a1b210a0c010b200d109a8a808000200d2802082109200d280204210a200721100b200a2009412c6c6a220a4100360208200a4100360200200a200529020837020c200a4204370224200a420137021c200a41146a200541086a41086a2902003702002010201028020041016a3602000240200e450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b2006450d010b200d200d28020041054b220a4103746a280200220d450d01200f280200200f200a1b200d412c6c6a220f41786a210a0240200f417c6a220e280200220d450d002008200a280200200d4102746a417c6a280200460d010b0240200d200f41746a220f280200470d00200f41e4b8cd800010ad978080000b200a280200200d4102746a2008360200200e200d41016a3602000b200541d0006a2480808080000f0b41dfbcc6800041fc0041fcbdc6800010a181808000000b930301097f23808080800041306b220624808080800041002107024020012802b0012208450d0020012802b4012109024003404100210a024020082f01aa09220b450d00200b410c6c210c200841ac086a21014100210a2008210d0340024020022001417c6a28020020032001280200220720032007491b10f597808000220e200320076b200e1b220741004a20074100486b41ff017122074101460d0020070d02200d2802002201450d04200d41046a280200210320064102360224200620053602202006200436021c4101210720064101360218200620012003200641186a109d978080000c050b200d41e0006a210d2001410c6a2101200a41016a210a200c41746a220c0d000b200b210a0b024020090d00410021070c030b2009417f6a21092008200a4102746a2802ac0921080c000b0b2006410036020c20064100360200410121070b200020073602382000410036021c200041003602002000200629020037023c200041c4006a200641086a290200370200200041cc006a200641106a290200370200200641306a2480808080000bd80a030c7f017e027f23808080800041206b2204248080808000024020002802a0012205418080808078460d00200041e0006a200041f0006a411c410810ae8c8080002005450d0020002802a40122052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602a001410121060240024020002d00f0024101460d00410021060c010b024020002802bc0122070d00417f21080c010b20002802c001210902400240024002400240024002400240024003404100210a024020072f01aa14220b450d00200b410c6c210c200741ac136a21054100210a2007210d0340024041e8b8c680002005417c6a2802002005280200220e4110200e4110491b10f597808000220f4110200e6b200f1b220e41004a200e4100486b41ff0171220e4101460d00200e0d02200d200d28020041054b22054103746a280200220e450d080240200d41046a220a280200200a20051b200e412c6c6a220e41546a220d280200220541014b0d00200e41586a220c280200210f200e41706a280200210a02402005410171450d00200f200a460d010b2004200e41646a360204200441046a2005200f200a10a597808000200c200a36020041012105200d41013602000b4158210a2005417e6a2205410220054102491b0e03050604050b200d41e0016a210d2005410c6a2105200a41016a210a200c41746a220c0d000b200b210a0b2009450d092009417f6a21092007200a4102746a2802ac1421070c000b0b4164210a0b200e200a6a2205450d0020002802000d03200535020821102000200029030842017c37030820002802100d042000200029031820107c37031841012106200528020841044f0d01417f21080c070b20002802000d042000200029030842017c3703082000280210450d0541fcc4cd8000109a81808000000b200528020428000021080c050b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41012106417f21080b4200211002402003280200418080808078460d00200335020821100b024002400240024020002802200d002000200029032842017c37032820002802300d012000200029033820107c3703384100210e024002400240200128020822054100480d002001280204210a024020050d004101210e0c030b41002d008083d480001a200541002802f482d4800011828080800000220e0d014101210e0b200e200541d8cec6800010b980808000000b200e417e6a41003b00000b200e200a200510f4978080002107200041b0016a21110240024020002802b001220c450d0020002802b401210b03404100210d0240200c2f01aa092212450d002012410c6c21094100210a4100210d034002402007200c200a6a220e41a8086a2802002005200e41ac086a280200220e2005200e491b10f597808000220f2005200e6b200f1b220e41004a200e4100486b41ff0171220e4101460d00200e0d02200420113602142004200d3602102004200b36020c2004200c36020820044180808080783602042005450d0920072007417e6a2f00006b41002802ec82d48000118180808000000c090b200d41016a210d2009200a410c6a220a470d000b2012210d0b200b450d02200b417f6a210b200c200d4102746a2802ac09210c0c000b0b200441003602140c030b2004200d36021c200441003602182004200c3602140c020b418cc5cd8000109a81808000000b419cc5cd8000109a81808000000b200420113602102004200536020c20042007360208200420053602040b200441046a200041bc016a200110988d808000200220032006200810b197808000200441206a2480808080000bed0601097f02400240200041c8016a220120002802c801220241054b22034103746a220428020022052002410520031b460d0020002802cc01200041cc016a20031b21030c010b200110d289808000200041d0016a210420002802d001210520002802cc0121030b20032005410c6c6a22034100360208200341003602002004200428020041016a360200024020002802b0012204450d0020002802b8012206450d002004410047210520002802b4012107410021010340024002402005410171450d00024002402001450d002007210520042102200121040c010b4100210502402007450d0020072103024020074107712202450d0003402003417f6a210320042802ac0921042002417f6a22020d000b0b20074108490d00034020042802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092104200341786a22030d000b0b410021020b024002400240200520042f01aa094f0d00200421030c010b034020042802a0082203450d02200241016a210220042f01a809210520032104200520032f01aa094f0d000b0b024020020d00200541016a2107200321010c030b200320054102746a41b0096a2802002101410021072002417f6a2204450d022002417e6a2108024020044107712202450d0003402004417f6a210420012802ac0921012002417f6a22020d000b0b20084107490d02034020012802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092101200441786a22040d000c030b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b024002402003200541e0006c6a2204410c6a2209200428020c220841054b22054103746a220328020022022008410520051b460d002004280210200441106a20051b21050c010b200910d289808000200441146a210320042802142102200428021021050b4100210420052002410c6c6a2205410036020820054100360200410121052003200328020041016a3602002006417f6a22060d000b0b024002402000419c026a2201200028029c02220241054b22034103746a220428020022052002410520031b460d0020002802a002200041a0026a20031b21030c010b2001109b8a808000200041a4026a210420002802a402210520002802a00221030b20032005410c6c6a22034100360208200341003602002004200428020041016a3602000bb319020b7f027e2380808080004190026b22052480808080002002280208210620022802042107200541046a200210bc97808000024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802a001418080808078460d00200528020c21022005280208210720012802bc012208450d0220012802c001210902400240024003404100210a024020082f01aa14220b450d00200b410c6c210c200841ac136a21064100210a2008210d0340024020072006417c6a28020020022006280200220e2002200e491b10f597808000220f2002200e6b200f1b220e41004a200e4100486b41ff0171220e4101460d00200e0d02200d200d28020041054b22064103746a2802002202450d140240200d41046a220e280200200e20061b2002412c6c6a220241546a220a280200220641014b0d00200241586a220f280200210d200241706a280200210e02402006410171450d00200d200e460d010b2005200241646a360230200541306a2006200d200e10a597808000200f200e36020041012106200a41013602000b4158210e2006417e6a2206410220064102491b0e03050604050b200d41e0016a210d2006410c6a2106200a41016a210a200c41746a220c0d000b200b210a0b2009450d062009417f6a21092008200a4102746a2802ac1421080c000b0b4164210e0b2002200e6a22020d020b20012802000d0e2001200129030842017c3703082001280210450d0441fcc4cd8000109a81808000000b20012802b001220c450d0720012802b401210903404100210a0240200c2f01aa09220b450d00200b41e0006c21084100210e4100210f4100210a034002402007200c200e6a220241a8086a2802002006200241ac086a280200220220062002491b10f597808000220d200620026b200d1b220241004a20024100486b41ff017122024101460d0020020d02200c200f6a220628020022020d094100210e4100210d0c0a0b200e410c6a210e200a41016a210a2008200f41e0006a220f470d000b200b210a0b2009450d082009417f6a2109200c200a4102746a2802ac09210c0c000b0b20012802000d0d200235020821102001200129030842017c37030820012802100d0e2001200129031820107c3703184100210e024002400240200228020822064100480d002002280204210e024020060d00410121020c030b41002d008083d480001a200641002802f482d480001182808080000022020d014101210e0b200e200641d8cec6800010b980808000000b2002417e6a41003b00000b2006ad4220862002200e200610f497808000ad8421100c010b200541306a20032007200210e18f808000024020052802302206418180808078470d00200041023a00200c110b2006418080808078460d01200529023421100b2010a721020240201042808080808004540d00200541106a41186a200241186a290000370300200541106a41106a200241106a290000370300200541106a41086a200241086a290000370300200520022900003703102006450d0220022002417e6a2f00006b41002802ec82d48000118180808000000c020b2006450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200541106a41014101412110b88c8080000b20002005290310370000200041013a0020200041186a200541106a41186a290300370000200041106a200541106a41106a290300370000200041086a200541106a41086a2903003700000c0d0b200641086a280200210d200641046a280200210a4101210e0b2005200d3602cc012005200a3602c801200520023602c401200541003602c0012005200e3602bc012005200a3602b801200520023602b401200541003602b0012005200e3602ac01200541306a2003200641d4006a200541ac016a200410e18a80800020054198016a210c200528029801418080808078460d01200541306a410172210620052d0030450d0220054180808080783602d0010c030b20054180808080783602980120054198016a210c0b20054184026a20032005280208200528020c10e18f8080002005280284022206418180808078470d02200041023a0020200528029801418080808078460d090240200528025c220f450d0002402005280264220a450d002005280258220241086a21062002290300427f8542808182848890a0c0807f8321100340024020104200520d000340200241a07e6a210220062903002110200641086a220e2106201042808182848890a0c0807f83221042808182848890a0c0807f510d000b201042808182848890a0c0807f852110200e21060b02402002410020107aa74103766b411c6c6a220e41646a280200450d00200e41686a280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b2010427f7c21110240200e41706a280200450d00200e41746a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b20112010832110200a417f6a220a0d000b0b200f200f411c6c41236a41787122066a4177460d00200528025820066b22062006417e6a2f00006b41002802ec82d48000118180808000000b200528029801450d09200528029c0122062006417e6a2f00006b41002802ec82d48000118180808000000c090b2005410036028c0220054280808080103702840241002d008083d480001a412041002802f482d48000118280808000002202450d062002417e6a220d41003b000020022006290000370000200241086a220f200641086a290000370000200241106a2207200641106a290000370000200241186a2208200641186a29000037000020054184026a4100412010f49180800020052802880220054184026a41086a220a28020022096a220e2002290000370000200e41086a200f290000370000200e41106a2007290000370000200e41186a2008290000370000200a200941206a3602002002200d2f00006b41002802ec82d4800011818080800000200541d0016a41086a200a28020036020020052005290284023703d0010b2001200541046a200541d0016a10d78a808000024020012802a001418080808078460d00200141e0006a200141f0006a411c410810ae8c80800020012802a001450d0020012802a40122022002417e6a2f00006b41002802ec82d48000118180808000000b20014180808080783602a001200541e0016a41086a200641086a290000370300200541e0016a41106a200641106a290000370300200541e0016a41186a200641186a290000370300200520062900003703e0014101210f0c060b02402006418080808078460d0020052802880221020240200529028802221042808080808004540d00200541e0016a41186a2010a7220e41186a290000370300200541e0016a41106a200e41106a290000370300200541e0016a41086a200e41086a2900003703002005200e2900003703e001024020060d004100210f0c080b4100210f20022002417e6a2f00006b41002802ec82d48000118180808000000c070b2006450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200541e0016a41014101412110b88c8080004100210f0c050b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b4101412010ab80808000000b200020052903e001370000200041003a0020200041186a200541e0016a41186a290300370000200041106a200541e0016a41106a290300370000200041086a200541e0016a41086a2903003700000240200528029801418080808078460d000240200528025c2207450d0002402005280264220a450d002005280258220241086a21062002290300427f8542808182848890a0c0807f8321100340024020104200520d000340200241a07e6a210220062903002110200641086a220e2106201042808182848890a0c0807f83221042808182848890a0c0807f510d000b201042808182848890a0c0807f852110200e21060b02402002410020107aa74103766b411c6c6a220e41646a280200450d00200e41686a280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b2010427f7c21110240200e41706a280200450d00200e41746a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b20112010832110200a417f6a220a0d000b0b20072007411c6c41236a41787122066a4177460d00200528025820066b22062006417e6a2f00006b41002802ec82d48000118180808000000b200528029801450d00200c28020422062006417e6a2f00006b41002802ec82d48000118180808000000b200f200528020445720d020c010b2005280204450d010b200528020822062006417e6a2f00006b41002802ec82d48000118180808000000b20054190026a2480808080000b891505017f017e037f017e027f23808080800041d0026b2205248080808000200541014101412110b88c8080004100410035028483d4800042c4e6c11b85200541206aad22067e200642ae94e698017e4220898522063e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002107024002400240024002400240410141002802f482d48000118280808000002208450d0041002109200841003a00002008417e6a41003b0000200541c0006a41fccfc28000410141002802c480d4800011868080800000200541206a41086a4100290388e7c58000370300200541013602682005200836026420054101360260200541b883d480004100200741ff01714102461b36023820052006422088220a42a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200a42d0e3fccc027e200642a2f0a4a00a7e854220898537033020054100290380e7c58000370320200541a8026a2001200210ee8a808000200541f0006a41086a2005200541a8026a41016a200520052d00a80222084101711b20084102461b220841086a290000370300200541f0006a41106a200841106a290000370300200541f0006a41186a200841186a290000370300200520082900003703700240024020012802482208450d00200128024c22072802080d03200741086a220b417f36020020082802080d04200841086a220c417f360200200128025022092802080d052009417f3602082005200941086a3602a4012005200b36029c012005200c360294012005200941106a3602a00120052007410c6a360298012005200841106a3602900120054190016a21090c010b20054100360290010b02400240024020012802442208450d0020082802000d072008417f360200200541003602b001200520083602ac012005200841086a3602a801200520013602dc012005200541206a3602e0012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c68000108f908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001091908080000b20052d00e4010d01200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b80120052802b001210320052802b401210120052802ac012208200828020041016a3602002003450d080c020b200520013602a8012005200541206a3602ac012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c68000108f908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001091908080000b024020052d00e4014101470d00200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a290300370300200520052903703703b801024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d48000118180808000000c080b200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b8010c070b024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a29030037030020052802ac012201200128020041016a360200200520052903703703b80120052802b001450d0620052802b40121010b2001200128020041016a3602000c050b4101410110ab80808000000b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b41ecdec58000109a81808000000b0240200528029001450d002005280294012201200128020041016a360200200528029c012201200128020041016a36020020052802a4012201200128020041016a3602000b200541b8016a2005412010f5978080002101200041196a200541d0016a290300370000200041116a200541c8016a290300370000200041096a200541c0016a290300370000200020052903b801370001200041286a200541206a41d00010f4978080001a20002001453a0000200541d0026a2480808080000bb319020b7f027e2380808080004190026b22052480808080002002280208210620022802042107200541046a200210bc97808000024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802a001418080808078460d00200528020c21022005280208210720012802bc012208450d0220012802c001210902400240024003404100210a024020082f01aa14220b450d00200b410c6c210c200841ac136a21064100210a2008210d0340024020072006417c6a28020020022006280200220e2002200e491b10f597808000220f2002200e6b200f1b220e41004a200e4100486b41ff0171220e4101460d00200e0d02200d200d28020041054b22064103746a2802002202450d140240200d41046a220e280200200e20061b2002412c6c6a220241546a220a280200220641014b0d00200241586a220f280200210d200241706a280200210e02402006410171450d00200d200e460d010b2005200241646a360230200541306a2006200d200e10a597808000200f200e36020041012106200a41013602000b4158210e2006417e6a2206410220064102491b0e03050604050b200d41e0016a210d2006410c6a2106200a41016a210a200c41746a220c0d000b200b210a0b2009450d062009417f6a21092008200a4102746a2802ac1421080c000b0b4164210e0b2002200e6a22020d020b20012802000d0e2001200129030842017c3703082001280210450d0441fcc4cd8000109a81808000000b20012802b001220c450d0720012802b401210903404100210a0240200c2f01aa09220b450d00200b41e0006c21084100210e4100210f4100210a034002402007200c200e6a220241a8086a2802002006200241ac086a280200220220062002491b10f597808000220d200620026b200d1b220241004a20024100486b41ff017122024101460d0020020d02200c200f6a220628020022020d094100210e4100210d0c0a0b200e410c6a210e200a41016a210a2008200f41e0006a220f470d000b200b210a0b2009450d082009417f6a2109200c200a4102746a2802ac09210c0c000b0b20012802000d0d200235020821102001200129030842017c37030820012802100d0e2001200129031820107c3703184100210e024002400240200228020822064100480d002002280204210e024020060d00410121020c030b41002d008083d480001a200641002802f482d480001182808080000022020d014101210e0b200e200641d8cec6800010b980808000000b2002417e6a41003b00000b2006ad4220862002200e200610f497808000ad8421100c010b200541306a20032007200210e28f808000024020052802302206418180808078470d00200041023a00200c110b2006418080808078460d01200529023421100b2010a721020240201042808080808004540d00200541106a41186a200241186a290000370300200541106a41106a200241106a290000370300200541106a41086a200241086a290000370300200520022900003703102006450d0220022002417e6a2f00006b41002802ec82d48000118180808000000c020b2006450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200541106a41014101412110b88c8080000b20002005290310370000200041013a0020200041186a200541106a41186a290300370000200041106a200541106a41106a290300370000200041086a200541106a41086a2903003700000c0d0b200641086a280200210d200641046a280200210a4101210e0b2005200d3602cc012005200a3602c801200520023602c401200541003602c0012005200e3602bc012005200a3602b801200520023602b401200541003602b0012005200e3602ac01200541306a2003200641d4006a200541ac016a200410e38a80800020054198016a210c200528029801418080808078460d01200541306a410172210620052d0030450d0220054180808080783602d0010c030b20054180808080783602980120054198016a210c0b20054184026a20032005280208200528020c10e28f8080002005280284022206418180808078470d02200041023a0020200528029801418080808078460d090240200528025c220f450d0002402005280264220a450d002005280258220241086a21062002290300427f8542808182848890a0c0807f8321100340024020104200520d000340200241a07e6a210220062903002110200641086a220e2106201042808182848890a0c0807f83221042808182848890a0c0807f510d000b201042808182848890a0c0807f852110200e21060b02402002410020107aa74103766b411c6c6a220e41646a280200450d00200e41686a280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b2010427f7c21110240200e41706a280200450d00200e41746a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b20112010832110200a417f6a220a0d000b0b200f200f411c6c41236a41787122066a4177460d00200528025820066b22062006417e6a2f00006b41002802ec82d48000118180808000000b200528029801450d09200528029c0122062006417e6a2f00006b41002802ec82d48000118180808000000c090b2005410036028c0220054280808080103702840241002d008083d480001a412041002802f482d48000118280808000002202450d062002417e6a220d41003b000020022006290000370000200241086a220f200641086a290000370000200241106a2207200641106a290000370000200241186a2208200641186a29000037000020054184026a4100412010f49180800020052802880220054184026a41086a220a28020022096a220e2002290000370000200e41086a200f290000370000200e41106a2007290000370000200e41186a2008290000370000200a200941206a3602002002200d2f00006b41002802ec82d4800011818080800000200541d0016a41086a200a28020036020020052005290284023703d0010b2001200541046a200541d0016a10d78a808000024020012802a001418080808078460d00200141e0006a200141f0006a411c410810ae8c80800020012802a001450d0020012802a40122022002417e6a2f00006b41002802ec82d48000118180808000000b20014180808080783602a001200541e0016a41086a200641086a290000370300200541e0016a41106a200641106a290000370300200541e0016a41186a200641186a290000370300200520062900003703e0014101210f0c060b02402006418080808078460d0020052802880221020240200529028802221042808080808004540d00200541e0016a41186a2010a7220e41186a290000370300200541e0016a41106a200e41106a290000370300200541e0016a41086a200e41086a2900003703002005200e2900003703e001024020060d004100210f0c080b4100210f20022002417e6a2f00006b41002802ec82d48000118180808000000c070b2006450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200541e0016a41014101412110b88c8080004100210f0c050b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b4101412010ab80808000000b200020052903e001370000200041003a0020200041186a200541e0016a41186a290300370000200041106a200541e0016a41106a290300370000200041086a200541e0016a41086a2903003700000240200528029801418080808078460d000240200528025c2207450d0002402005280264220a450d002005280258220241086a21062002290300427f8542808182848890a0c0807f8321100340024020104200520d000340200241a07e6a210220062903002110200641086a220e2106201042808182848890a0c0807f83221042808182848890a0c0807f510d000b201042808182848890a0c0807f852110200e21060b02402002410020107aa74103766b411c6c6a220e41646a280200450d00200e41686a280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b2010427f7c21110240200e41706a280200450d00200e41746a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b20112010832110200a417f6a220a0d000b0b20072007411c6c41236a41787122066a4177460d00200528025820066b22062006417e6a2f00006b41002802ec82d48000118180808000000b200528029801450d00200c28020422062006417e6a2f00006b41002802ec82d48000118180808000000b200f200528020445720d020c010b2005280204450d010b200528020822062006417e6a2f00006b41002802ec82d48000118180808000000b20054190026a2480808080000b8e1505017f017e037f017e027f23808080800041d0026b2205248080808000200541014101412110b88c8080004100410035028483d4800042c4e6c11b85200541206aad22067e200642ae94e698017e4220898522063e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002107024002400240024002400240410141002802f482d48000118280808000002208450d0041002109200841003a00002008417e6a41003b0000200541c0006a41fccfc28000410141002802c480d4800011868080800000200541206a41086a4100290388e7c58000370300200541013602682005200836026420054101360260200541b883d480004100200741ff01714102461b36023820052006422088220a42a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200a42d0e3fccc027e200642a2f0a4a00a7e854220898537033020054100290380e7c58000370320200541a8026a2001200210f08a808000200541f0006a41086a2005200541a8026a41016a200520052d00a80222084101711b20084102461b220841086a290000370300200541f0006a41106a200841106a290000370300200541f0006a41186a200841186a290000370300200520082900003703700240024020012802482208450d00200128024c22072802080d03200741086a220b417f36020020082802080d04200841086a220c417f360200200128025022092802080d052009417f3602082005200941086a3602a4012005200b36029c012005200c360294012005200941106a3602a00120052007410c6a360298012005200841106a3602900120054190016a21090c010b20054100360290010b02400240024020012802442208450d00200828020022082802000d072008417f360200200541003602b001200520083602ac012005200841086a3602a801200520013602dc012005200541206a3602e0012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001090908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001095908080000b20052d00e4010d01200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b80120052802b001210320052802b401210120052802ac012208200828020041016a3602002003450d080c020b200520013602a8012005200541206a3602ac012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001090908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001095908080000b024020052d00e4014101470d00200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a290300370300200520052903703703b801024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d48000118180808000000c080b200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b8010c070b024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a29030037030020052802ac012201200128020041016a360200200520052903703703b80120052802b001450d0620052802b40121010b2001200128020041016a3602000c050b4101410110ab80808000000b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b41ecdec58000109a81808000000b0240200528029001450d002005280294012201200128020041016a360200200528029c012201200128020041016a36020020052802a4012201200128020041016a3602000b200541b8016a2005412010f5978080002101200041196a200541d0016a290300370000200041116a200541c8016a290300370000200041096a200541c0016a290300370000200020052903b801370001200041286a200541206a41d00010f4978080001a20002001453a0000200541d0026a2480808080000bda10030d7f017e017f23808080800041306b2204248080808000024020002802a001418080808078460d00200041e0006a200041f0006a411c410810ae8c80800020002802a001450d0020002802a40122052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602a0014100210641002107024020002d00f0024101470d00024020002802bc0122080d00417f2109410121070c010b20002802c001210a02400240024002400240024002400240024003404100210b024020082f01aa14220c450d00200c410c6c210d200841ac136a21054100210b2008210e0340024041e8b8c680002005417c6a2802002005280200220f4110200f4110491b10f59780800022104110200f6b20101b220f41004a200f4100486b41ff0171220f4101460d00200f0d02200e200e28020041054b22054103746a280200220f450d080240200e41046a220b280200200b20051b200f412c6c6a220f41546a220e280200220541014b0d00200f41586a220d2802002110200f41706a280200210b02402005410171450d002010200b460d010b2004200f41646a360208200441086a20052010200b10a597808000200d200b36020041012105200e41013602000b4158210b2005417e6a2205410220054102491b0e03050604050b200e41e0016a210e2005410c6a2105200b41016a210b200d41746a220d0d000b200c210b0b200a450d09200a417f6a210a2008200b4102746a2802ac1421080c000b0b4164210b0b200f200b6a2205450d0020002802000d03200535020821112000200029030842017c37030820002802100d042000200029031820117c37031841012107200528020841044f0d01417f21090c070b20002802000d042000200029030842017c3703082000280210450d0541fcc4cd8000109a81808000000b200528020428000021090c050b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41012107417f21090b024002400240200128020822054100480d002001280204210b024020050d004101210f0c030b41002d008083d480001a200541002802f482d4800011828080800000220f0d01410121060b2006200541d8cec6800010b980808000000b200f417e6a41003b00000b200f200b200510f4978080002108200041b0016a2106200041bc016a2112024002400240024020002802b001220d450d0020002802b401210a03404100210e0240200d2f01aa09220c450d00200c410c6c21004100210b4100210e034002402008200d200b6a220f41a8086a2802002005200f41ac086a280200220f2005200f491b10f59780800022102005200f6b20101b220f41004a200f4100486b41ff0171220f4101460d00200f0d02200420063602182004200e3602142004200a3602102004200d36020c20044180808080783602082005450d0720082008417e6a2f00006b41002802ec82d48000118180808000000c070b200e41016a210e2000200b410c6a220b470d000b200c210e0b200a450d02200a417f6a210a200d200e4102746a2802ac09210d0c000b0b200441003602180c010b2004200e3602202004410036021c2004200d3602180b20042006360214200420053602102004200836020c200420053602080b4100210a0240200441086a2012200110988d808000220f2802002205450d00200f280208220d450d00200f41106a2101200f410c6a210c200f28020421084100210a410021100340024002402010450d002008210b2005210e201021050c010b4100210b02402008450d002008210f02402008410771220e450d000340200f417f6a210f20052802ac142105200e417f6a220e0d000b0b20084108490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200f41786a220f0d000b0b4100210e0b02400240024002400240200b20052f01aa144f0d002005210f0c010b034020052802a013220f450d02200e41016a210e20052f01a814210b200f2105200b200f2f01aa144f0d000b0b02400240200e0d00200b41016a2108200f21100c010b200f200b4102746a41b0146a280200211041002108200e417f6a2205450d00200e417e6a210002402005410771220e450d0003402005417f6a210520102802ac142110200e417f6a220e0d000b0b20004107490d00034020102802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142110200541786a22050d000b0b200d417f6a210d200f200b410c6c6a22052802ac132003490d022002200541a4136a2205280204200310f5978080000d02200f200b41e0016c6a220b280208200b280200220f200f41054b220f1b220e450d01200b280204200b41046a200f1b200e412c6c6a41546a280200210e2004418080808078360224410021000240024002402005280208220f4100480d00200528020421000240200f0d00410121050c030b41002d008083d480001a200f41002802f482d480001182808080000022050d01410121000b2000200f41a8b2c8800010b980808000000b2005417e6a41003b00000b200e410347210e20052000200f10f497808000210502400240200c200c28020041054b22004103746a28020022060d000240200f0d004100210f0c020b4100210f20052005417e6a2f00006b41002802ec82d48000118180808000000c010b2004200f3602102004200536020c2004200f3602082001280200200120001b2006410c6c6a41746a200441086a10a389808000410173210f0b200a200e6a210a200b200441246a200f2007200910ae978080000c020b419c8fc3800010a081808000000b41dfbcc6800041fc00419cbec6800010a181808000000b41002105200d0d000b0b200441306a248080808000200a0bf104010a7f23808080800041106b2201248080808000410021020240200041bc016a410010b09780800022030d0020002802b801410020002802b00122041b21052004410047210620002802b40121070340024002402005450d0002402006410171450d00024002402002450d002007210820042106200221040c010b4100210802402007450d0020072109024020074107712202450d0003402009417f6a210920042802ac0921042002417f6a22020d000b0b20074108490d00034020042802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092104200941786a22090d000b0b410021060b024002400240200820042f01aa094f0d00200421090c010b034020042802a0082209450d02200641016a210620042f01a809210820092104200820092f01aa094f0d000b0b024020060d00200841016a2107200921020c040b200920084102746a41b0096a2802002102410021072006417f6a2204450d032006417e6a210a024020044107712206450d0003402004417f6a210420022802ac0921022006417f6a22060d000b0b200a4107490d03034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200441786a22040d000c040b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b20004190026a410010e68a808000450d0241e0b6c6800041382001410f6a41f8b8c680004188b9c6800010a981808000000b2005417f6a210541012106410021042009200841e0006c6a410010b097808000450d000b4198b9c6800041382001410f6a41f8b8c6800041d0b9c6800010a981808000000b200141106a24808080800020030bfd0d03077f037e047f23808080800041e0016b220224808080800041012103200028020c2104024002400240024020002d00504101470d0020002802142004200441054b1b200028024c4d0d010b2000410c6a2205200441054b22044103746a22062802002207450d00200041106a2208280200210320062007417f6a2207360200024002402003200820041b2007410c6c6a220328020022040d0041002107410021030c010b2003280204210620032802082107410121030b2002200736022c2002200636022820022004360224200241003602202002200336021c2002200636021820022004360214200241003602102002200336020c200241e0006a2002410c6a10cd88808000200228026021040240024020010d002004418080808078460d010340200241306a41106a200241e0006a41106a22012902002209370300200241306a41086a200241e0006a41086a2203290200220a37030020022002290260220b370330200241c8006a41106a22072009370300200241c8006a41086a220c200a3703002002200b37034820002802002204450d04200241e0006a20042000280204200241c8006a10cf8380800020022802600d042002280264200228026c41fc006c6a418c026a210402400240024002400240024002402005200528020041054b220d4103746a2802002206450d002008280200210e200120072903003703002003200c29030037030020022002290348370360200e2008200d1b2006410c6c6a41746a200241e0006a10a689808000450d06200428027821010c010b200428020420042802782201200141054b1b4102490d010b2004410441f800200141054b22011b6a2207280200220c450d012007200c417f6a220c3602002004280200220d200420011b200c41186c6a2201280200210f2001280204210c200128020821072003200141146a2802003602002002200129020c370360200428020420042802782201200141054b22011b220e450d020240200d200420011b200e41186c6a220e41746a2201280200220d418080808078460d00200d450d00200e41786a280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b20012002290360370200200141086a2003280200360200200428020420042802782203200341054b22031b2201450d032007410274210d024020072004280200200420031b200141186c6a220341686a220e280200200341706a220128020022046b4d0d00200e200420074104410410ab97808000200128020021040b2003416c6a28020020044102746a200c200d10f4978080001a2001200420076a3602000240200f450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b20060d040b02402002280248450d00200228024c22042004417e6a2f00006b41002802ec82d48000118180808000000b2002280254450d03200228025822042004417e6a2f00006b41002802ec82d48000118180808000000c030b41dfbcc6800041fc0041ecbdc6800010a181808000000b41dfbcc6800041fc00418cbec6800010a181808000000b41dfbcc6800041fc0041fcbdc6800010a181808000000b200241e0006a2002410c6a10cd888080002002280260418080808078470d000c020b0b2004418080808078460d00200241e4006a21060340200241306a41106a200241e0006a41106a2902002209370300200241306a41086a200241e0006a41086a290200220a37030020022002290260220b370330200241c8006a41106a2009370300200241c8006a41086a200a3703002002200b37034820002802002204450d03200241e0006a20042000280204200241c8006a10cf8380800020022802600d032002280264200228026c41fc006c6a418c026a2204410441f800200428027841054b22031b6a22012802002205450d0420012005417f6a22053602002004280200200420031b200541186c6a22032802042101200328020021050240200328020c41808080807872418080808078460d00200328021022032003417e6a2f00006b41002802ec82d48000118180808000000b02402005450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0240200428020420042802782204200441054b1b0d00200241e0006a2000200241c8006a10a7898080002002280260450d00200610e1898080000b02402002280248450d00200228024c22042004417e6a2f00006b41002802ec82d48000118180808000000b02402002280254450d00200228025822042004417e6a2f00006b41002802ec82d48000118180808000000b200241e0006a2002410c6a10cd888080002002280260418080808078470d000b0b2002410c6a10c489808000410021030b200241e0016a24808080800020030f0b41f0bec6800041d50141c8c0c6800010a181808000000b41dfbcc6800041fc0041ecbdc6800010a181808000000bb410030d7f017e017f23808080800041306b2202248080808000024020002802a001418080808078460d00200041e0006a200041f0006a411c410810ae8c80800020002802a001450d0020002802a40122032003417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602a0014100210441002105024020002d00f0024101470d00024020002802bc0122060d00417f2107410121050c010b20002802c0012108024002400240024002400240024002400240034041002109024020062f01aa14220a450d00200a410c6c210b200641ac136a2103410021092006210c0340024041e8b8c680002003417c6a2802002003280200220d4110200d4110491b10f597808000220e4110200d6b200e1b220d41004a200d4100486b41ff0171220d4101460d00200d0d02200c200c28020041054b22034103746a280200220d450d080240200c41046a2209280200200920031b200d412c6c6a220d41546a220c280200220341014b0d00200d41586a220b280200210e200d41706a280200210902402003410171450d00200e2009460d010b2002200d41646a360208200241086a2003200e200910a597808000200b200936020041012103200c41013602000b415821092003417e6a2203410220034102491b0e03050604050b200c41e0016a210c2003410c6a2103200941016a2109200b41746a220b0d000b200a21090b2008450d092008417f6a2108200620094102746a2802ac1421060c000b0b416421090b200d20096a2203450d0020002802000d032003350208210f2000200029030842017c37030820002802100d0420002000290318200f7c37031841012105200328020841044f0d01417f21070c070b20002802000d042000200029030842017c3703082000280210450d0541fcc4cd8000109a81808000000b200328020428000021070c050b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41012105417f21070b024002400240200128020822034100480d0020012802042109024020030d004101210d0c030b41002d008083d480001a200341002802f482d4800011828080800000220d0d01410121040b2004200341d8cec6800010b980808000000b200d417e6a41003b00000b200d2009200310f4978080002106200041b0016a2104200041bc016a2110024002400240024020002802b001220b450d0020002802b401210803404100210c0240200b2f01aa09220a450d00200a410c6c2100410021094100210c034002402006200b20096a220d41a8086a2802002003200d41ac086a280200220d2003200d491b10f597808000220e2003200d6b200e1b220d41004a200d4100486b41ff0171220d4101460d00200d0d02200220043602182002200c360214200220083602102002200b36020c20024180808080783602082003450d0720062006417e6a2f00006b41002802ec82d48000118180808000000c070b200c41016a210c20002009410c6a2209470d000b200a210c0b2008450d022008417f6a2108200b200c4102746a2802ac09210b0c000b0b200241003602180c010b2002200c3602202002410036021c2002200b3602180b20022004360214200220033602102002200636020c200220033602080b41002106024002400240200241086a2010200110988d808000220d2802002203450d00200d2802082200450d00200d41106a2104200d410c6a2108200d280204210b410021064100210e034002400240200e450d00200b21092003210c200e21030c010b410021090240200b450d00200b210d0240200b410771220c450d000340200d417f6a210d20032802ac142103200c417f6a220c0d000b0b200b4108490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200d41786a220d0d000b0b4100210c0b02400240200920032f01aa144f0d002003210d0c010b034020032802a013220d450d04200c41016a210c20032f01a8142109200d21032009200d2f01aa144f0d000b0b02400240200c0d00200941016a210b200d210e0c010b200d20094102746a41b0146a280200210e4100210b200c417f6a2203450d00200c417e6a210a02402003410771220c450d0003402003417f6a2103200e2802ac14210e200c417f6a220c0d000b0b200a4107490d000340200e2802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac14210e200341786a22030d000b0b200d200941e0016c6a220c280208200c2802002203200341054b22031b220a450d03200c280204200c41046a20031b200a412c6c6a41546a280200210a200241808080807836022441002101024002400240200d2009410c6c6a220d2802ac1322034100480d00200d2802a8132109024020030d004101210d0c030b41002d008083d480001a200341002802f482d4800011828080800000220d0d01410121010b2001200341a8b2c8800010b980808000000b200d417e6a41003b00000b200a410347210a200d2009200310f497808000210d024002402008200828020041054b22094103746a28020022010d00024020030d00410021030c020b41002103200d200d417e6a2f00006b41002802ec82d48000118180808000000c010b200220033602102002200d36020c200220033602082004280200200420091b2001410c6c6a41746a200241086a10a38980800041017321030b2006200a6a2106200c200241246a20032005200710ae97808000410021032000417f6a22000d000b0b200241306a24808080800020060f0b419c8fc3800010a081808000000b41dfbcc6800041fc00419cbec6800010a181808000000bfa09010b7f23808080800041c0036b2201248080808000024020002802a001418080808078460d00200041e0006a200041f0006a411c410810ae8c80800020002802a001450d0020002802a40122022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602a001024002400240200041bc016a410110b09780800022030d0020002802b8012104200041003602b80120002802b0012102200041003602b00120002802b401210520012004410020021b360224200120053602202001200236021c20014100360218200120024100472204360214200120053602102001200236020c2001410036020820012004360204200141286a200141046a10ca88808000024020012802282206418080808078460d00200041b0016a2107200141286a410c6a210820014194016a41106a2109200141f4016a41106a210a034020012802302102200128022c210420014194016a200841e00010f4978080001a20014194016a410110b0978080000d0302400240200128029c010d000240024020012802940122020d00410021020c010b200120012802980122053602fc02200120023602f802200141003602f402200120053602ec02200120023602e802200141003602e402410121020b2001410036028003200120023602f002200120023602e002200141e0026a10c6898080000240024020012802a001220541054b0d00200921022005450d010340200210a6888080002002410c6a21022005417f6a22050d000c020b0b20014194016a41106a280200210b024020012802a8012205450d00200b21020340200210a6888080002002410c6a21022005417f6a22050d000b0b200b200b417e6a2f00006b41002802ec82d48000118180808000000b024020012802e801450d0020012802ec0122022002417e6a2f00006b41002802ec82d48000118180808000000b2006450d0120042004417e6a2f00006b41002802ec82d48000118180808000000c010b200120023602dc02200120043602d802200120063602d402200141e0026a20014194016a41e00010f4978080001a200141f4016a2007200141d4026a200141e0026a10a58980800020012802c802418080808078460d000240024020012802f40122020d0041002102410021050c010b200120012802f80122053602fc02200120023602f802200141003602f402200120053602ec02200120023602e802200141003602e4024101210220012802fc0121050b2001200536028003200120023602f002200120023602e002200141e0026a10c68980800002400240200128028002220541054b0d00200a21022005450d010340200210a6888080002002410c6a21022005417f6a22050d000c020b0b200141f4016a41106a280200210402402001280288022205450d00200421020340200210a6888080002002410c6a21022005417f6a22050d000b0b20042004417e6a2f00006b41002802ec82d48000118180808000000b20012802c802450d0020012802cc0222022002417e6a2f00006b41002802ec82d48000118180808000000b200141286a200141046a10ca8880800020012802282206418080808078470d000b0b200141046a10c88980800020004190026a410110e68a8080000d020b200141c0036a24808080800020030f0b4198b9c680004138200141e0026a41f8b8c6800041f0b9c6800010a981808000000b41e0b6c680004138200141e0026a41f8b8c6800041e0b9c6800010a981808000000bdf0201017f23808080800041306b220524808080800020004190026a21000240024002402003450d0020004180bac680004107200120022003200410a6978080000c010b4100210441002d008083d480001a410741002802f482d48000118280808000002203450d012003417e6a41003b000020034100280080bac68000360000200341036a4100280083bac6800036000002400240024020024100480d00024020020d00410121040c030b41002d008083d480001a200241002802f482d480001182808080000022040d01410121040b2004200241b8b6cd800010b980808000000b2004417e6a41003b00000b20042001200210f4978080002101200520023602202005200136021c2005200236021820054107360214200520033602102005410736020c200541808080807836022420002005410c6a200541246a4100200510af978080000b200541306a2480808080000f0b4101410710ab80808000000b8d0f01087f2380808080004190046b220424808080800020012802a001210520014180808080783602a001200141c0006a21060240024002402005418080808078470d00200441003602a0022004410036029002200441003602fc01200441003602ec01200420012802c001220736028402200420012802bc01220836028002200420073602f401200420083602f001200420012802b40122053602a802200420012802b00122073602a40220042005360298022004200736029402200420012802c401410020081b360288022004200841004722083602f801200420083602e801200420012802b801410020071b3602ac0220042007410047220836029c022004200836028c02200441b0026a2002200441e8016a2004418c026a200310e98f808000200441a0036a41186a200441b0026a41186a290300370300200441a0036a41106a200441b0026a41106a290300370300200441a0036a41086a200441b0026a41086a290300370300200420042903b0023703a003200441a0036a41206a200441b0026a41206a41d00010f4978080001a2006200441a0036a41f00010f4978080001a20012802a001210520014180808080783602a0012005418080808078460d010b200441c0016a20014198016a290300370300200441b8016a20014190016a290300370300200441b0016a20014188016a290300370300200441a8016a20014180016a29030037030020044188016a41186a200141f8006a29030037030020044188016a41106a200141f0006a29030037030020044188016a41086a200141e8006a290300370300200441f8006a41086a200141a4016a220841086a280200360200200420012903603703880120042008290200370378200441c8016a41186a200641186a290000370300200441c8016a41106a200641106a290000370300200441c8016a41086a200641086a290000370300200420062900003703c801200441a0036a200141bc016a41d40010f4978080001a200141003a008c022001410036028802200142003702c401200141003602bc0120042802b403220720042802ac032208200841054b22061b0d0120042802a803410020042802a00322031b21092003410047210220042802a403210a0240024020060d002008450d01200441a0036a41106a21060340200610a6888080002006410c6a21062008417f6a22080d000c020b0b200441b0036a280200210802402007450d00200821060340200610a6888080002006410c6a21062007417f6a22070d000b0b20082008417e6a2f00006b41002802ec82d48000118180808000000b20012802b001210841002106200141003602b00120012802b801210b200141003602b8012004200936022c2004200a36022820042003360224200441003602202004200236021c2004200a36021820042003360214200441003602102004200236020c20012802b4012107200441a0036a20014190026a41d40010f4978080001a200141003a00e002200141003602dc022001420037039802200141003602900241002101024020042802a0032203450d00200420042802a403220136024c20042003360248200441003602442004200136023c20042003360238200441003602344101210620042802a80321010b2004200136025020042006360240200420063602300240024020042802ac03220641054b0d002006450d01200441a0036a41106a21010340200110b7978080002001410c6a21012006417f6a22060d000c020b0b200441a0036a41106a2802002103024020042802b4032206450d00200321010340200110b7978080002001410c6a21012006417f6a22060d000b0b20032003417e6a2f00006b41002802ec82d48000118180808000000b200441b0026a200441306a41e0bbc6800010ee8e808000200041f0006a2004410c6a41e0bbc6800010c78f8080002004200b410020081b360274200420073602702004200836026c20044100360268200420084100472201360264200420073602602004200836025c2004410036025820042001360254200041fc006a200441d4006a41e0bbc6800010c48f808000200441f8036a20044188016a41386a290300370300200441f0036a20044188016a41306a290300370300200441e8036a20044188016a41286a290300370300200441e0036a200441a8016a290300370300200441a0036a41386a20044188016a41186a290300370300200441a0036a41306a20044188016a41106a290300370300200441a0036a41286a20044188016a41086a29030037030020002004290378370264200041ec006a200441f8006a41086a28020036020020042004290388013703c003200441a0036a41186a200441c8016a41186a290300370300200441a0036a41106a200441c8016a41106a290300370300200441a0036a41086a200441c8016a41086a290300370300200420042903c8013703a0032000200441a0036a41e00010f49780800022012005360260200120042903b0023703880120014190016a200441b0026a41086a28020036020020044190046a2480808080000f0b4198bac68000413541d0bac6800010a181808000000b200441003602c002200441013602b402200441d8bec680003602b002200442043702b802200441b0026a41e0bec6800010fe80808000000b8d0f01087f2380808080004190046b220424808080800020012802a001210520014180808080783602a001200141c0006a21060240024002402005418080808078470d00200441003602a0022004410036029002200441003602fc01200441003602ec01200420012802c001220736028402200420012802bc01220836028002200420073602f401200420083602f001200420012802b40122053602a802200420012802b00122073602a40220042005360298022004200736029402200420012802c401410020081b360288022004200841004722083602f801200420083602e801200420012802b801410020071b3602ac0220042007410047220836029c022004200836028c02200441b0026a2002200441e8016a2004418c026a200310ea8f808000200441a0036a41186a200441b0026a41186a290300370300200441a0036a41106a200441b0026a41106a290300370300200441a0036a41086a200441b0026a41086a290300370300200420042903b0023703a003200441a0036a41206a200441b0026a41206a41d00010f4978080001a2006200441a0036a41f00010f4978080001a20012802a001210520014180808080783602a0012005418080808078460d010b200441c0016a20014198016a290300370300200441b8016a20014190016a290300370300200441b0016a20014188016a290300370300200441a8016a20014180016a29030037030020044188016a41186a200141f8006a29030037030020044188016a41106a200141f0006a29030037030020044188016a41086a200141e8006a290300370300200441f8006a41086a200141a4016a220841086a280200360200200420012903603703880120042008290200370378200441c8016a41186a200641186a290000370300200441c8016a41106a200641106a290000370300200441c8016a41086a200641086a290000370300200420062900003703c801200441a0036a200141bc016a41d40010f4978080001a200141003a008c022001410036028802200142003702c401200141003602bc0120042802b403220720042802ac032208200841054b22061b0d0120042802a803410020042802a00322031b21092003410047210220042802a403210a0240024020060d002008450d01200441a0036a41106a21060340200610a6888080002006410c6a21062008417f6a22080d000c020b0b200441b0036a280200210802402007450d00200821060340200610a6888080002006410c6a21062007417f6a22070d000b0b20082008417e6a2f00006b41002802ec82d48000118180808000000b20012802b001210841002106200141003602b00120012802b801210b200141003602b8012004200936022c2004200a36022820042003360224200441003602202004200236021c2004200a36021820042003360214200441003602102004200236020c20012802b4012107200441a0036a20014190026a41d40010f4978080001a200141003a00e002200141003602dc022001420037039802200141003602900241002101024020042802a0032203450d00200420042802a403220136024c20042003360248200441003602442004200136023c20042003360238200441003602344101210620042802a80321010b2004200136025020042006360240200420063602300240024020042802ac03220641054b0d002006450d01200441a0036a41106a21010340200110b7978080002001410c6a21012006417f6a22060d000c020b0b200441a0036a41106a2802002103024020042802b4032206450d00200321010340200110b7978080002001410c6a21012006417f6a22060d000b0b20032003417e6a2f00006b41002802ec82d48000118180808000000b200441b0026a200441306a41e0bbc6800010ee8e808000200041f0006a2004410c6a41e0bbc6800010c78f8080002004200b410020081b360274200420073602702004200836026c20044100360268200420084100472201360264200420073602602004200836025c2004410036025820042001360254200041fc006a200441d4006a41e0bbc6800010c48f808000200441f8036a20044188016a41386a290300370300200441f0036a20044188016a41306a290300370300200441e8036a20044188016a41286a290300370300200441e0036a200441a8016a290300370300200441a0036a41386a20044188016a41186a290300370300200441a0036a41306a20044188016a41106a290300370300200441a0036a41286a20044188016a41086a29030037030020002004290378370264200041ec006a200441f8006a41086a28020036020020042004290388013703c003200441a0036a41186a200441c8016a41186a290300370300200441a0036a41106a200441c8016a41106a290300370300200441a0036a41086a200441c8016a41086a290300370300200420042903c8013703a0032000200441a0036a41e00010f49780800022012005360260200120042903b0023703880120014190016a200441b0026a41086a28020036020020044190046a2480808080000f0b4198bac68000413541d0bac6800010a181808000000b200441003602c002200441013602b402200441d8bec680003602b002200442043702b802200441b0026a41e0bec6800010fe80808000000b9605020a7f017e23808080800041106b2204248080808000024002400240024002400240024020012802bc0122050d00410021060c010b20012802c00121070240024002400240034041002108024020052f01aa142209450d002009410c6c210a200541ac136a2106410021082005210b0340024020022006417c6a28020020032006280200220c2003200c491b10f597808000220d2003200c6b200d1b220c41004a200c4100486b41ff0171220c4101460d00200c0d02200b200b28020041054b22064103746a2802002203450d090240200b41046a220c280200200c20061b2003412c6c6a220341546a2208280200220641014b0d00200341586a220d280200210b200341706a280200210c02402006410171450d00200b200c460d010b2004200341646a36020c2004410c6a2006200b200c10a597808000200d200c36020041012106200841013602000b4158210c2006417e6a2206410220064102491b0e03050604050b200b41e0016a210b2006410c6a2106200841016a2108200a41746a220a0d000b200921080b024020070d00410021060c060b2007417f6a2107200520084102746a2802ac1421050c000b0b4164210c0b2003200c6a2203450d0020012802000d042003350208210e2001200129030842017c37030820012802100d0520012001290318200e7c37031820032802082106200328020421030c010b20012802000d052001200129030842017c37030820012802100d06410021030b2000200636020820002003360204410121060b20002006360200200441106a2480808080000f0b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000bc00201067f23808080800041206b2202248080808000024020012802142203200128020c2204200441054b22051b0d00200041003602142000410036020420002001280204220636021c2000200128020022073602182000200636020c2000200736020820002001280208410020071b36022020002007410047220736021020002007360200200141106a21000240024020050d002004450d010340200010a6888080002000410c6a21002004417f6a22040d000c020b0b2000280200210402402003450d00200421000340200010a6888080002000410c6a21002003417f6a22030d000b0b20042004417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000f0b200241003602182002410136020c200241d8bec6800036020820024204370210200241086a41e0bec6800010fe80808000000bd30a02097f027e2380808080004190016b2203248080808000200341246a200210bc97808000200141046a2104200328022c210520032802282102024002400240024020012802442206450d00200341306a2006200410f087808000200341306a4100200328023022071b2108200128024822060d01200741004721060c020b4100210820034100360230200128024822060d0041002108410021060c010b024002400240200128024c22092802080d00200941086a220a417f36020020062802080d01200641086a220b417f360200200128025022072802080d022007417f3602082003200741086a3602542003200a36024c2003200b3602442003200741106a36025020032009410c6a3602482003200641106a3602402003200436028c0120034188bbc88000360288012003200136028401200341a8c2c6800036028001200342013702742003418cc2c68000360270200341003602682003200836026c200320084100473602642003200341c0006a36027c200341d8006a200341e4006a2002200510e4898080000240024020032802582201418180808078470d000240024002400240200328025c220628020041fcffffff076a2208410320084105491b0e0403030102000b2006280204450d02200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c020b2006280204450d01200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c010b200610ef8a8080000b20062006417e6a2f01006b41002802ec82d48000118180808000000c010b200329025c210c0b2003280240450d0420032802442206200628020041016a360200200328024c2206200628020041016a36020020032802542206200628020041016a3602000c040b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b2003200436028c0120034188bbc880003602880120032001360284012003410036027c200342003702742003418cc2c680003602702003200836026c2003410036026820032006360264200341d8006a200341e4006a2002200510e489808000024020032802582201418180808078470d000240024002400240200328025c220628020041fcffffff076a2208410320084105491b0e0403030102000b2006280204450d02200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c020b2006280204450d01200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c010b200610ef8a8080000b20062006417e6a2f01006b41002802ec82d48000118180808000000c010b200329025c210c0b02402003280230450d0020032802342206200628020041016a3602002003280238450d00200328023c2206200628020041016a3602000b410021060240024002400240024020014180808080786a0e020200010b200041023a00002003280224450d0220022002417e6a2f00006b41002802ec82d48000118180808000000c020b200c422088220d4220520d02200341186a200ca7220841186a290000370300200341106a200841106a290000370300200341086a200841086a29000037030020032008290000370300410121062001450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b02402003280224450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200020063a000020002003290300370001200041096a200341086a290300370000200041116a200341106a290300370000200041196a200341186a2903003700000b20034190016a2480808080000f0b4120200da741c0c1c68000108681808000000bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b200010ef8a8080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0bd60a02097f027e2380808080004190016b2203248080808000200341246a200210bc97808000200141046a2104200328022c210520032802282102024002400240024020012802442206450d00200341306a2006280200200410f087808000200341306a4100200328023022071b2108200128024822060d01200741004721060c020b4100210820034100360230200128024822060d0041002108410021060c010b024002400240200128024c22092802080d00200941086a220a417f36020020062802080d01200641086a220b417f360200200128025022072802080d022007417f3602082003200741086a3602542003200a36024c2003200b3602442003200741106a36025020032009410c6a3602482003200641106a3602402003200436028c012003419cbbc88000360288012003200136028401200341a8c2c6800036028001200342013702742003418cc2c68000360270200341003602682003200836026c200320084100473602642003200341c0006a36027c200341d8006a200341e4006a2002200510e4898080000240024020032802582201418180808078470d000240024002400240200328025c220628020041fcffffff076a2208410320084105491b0e0403030102000b2006280204450d02200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c020b2006280204450d01200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c010b200610ef8a8080000b20062006417e6a2f01006b41002802ec82d48000118180808000000c010b200329025c210c0b2003280240450d0420032802442206200628020041016a360200200328024c2206200628020041016a36020020032802542206200628020041016a3602000c040b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b2003200436028c012003419cbbc880003602880120032001360284012003410036027c200342003702742003418cc2c680003602702003200836026c2003410036026820032006360264200341d8006a200341e4006a2002200510e489808000024020032802582201418180808078470d000240024002400240200328025c220628020041fcffffff076a2208410320084105491b0e0403030102000b2006280204450d02200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c020b2006280204450d01200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c010b200610ef8a8080000b20062006417e6a2f01006b41002802ec82d48000118180808000000c010b200329025c210c0b02402003280230450d0020032802342206200628020041016a3602002003280238450d00200328023c2206200628020041016a3602000b410021060240024002400240024020014180808080786a0e020200010b200041023a00002003280224450d0220022002417e6a2f00006b41002802ec82d48000118180808000000c020b200c422088220d4220520d02200341186a200ca7220841186a290000370300200341106a200841106a290000370300200341086a200841086a29000037030020032008290000370300410121062001450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b02402003280224450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200020063a000020002003290300370001200041096a200341086a290300370000200041116a200341106a290300370000200041196a200341186a2903003700000b20034190016a2480808080000f0b4120200da741c0c1c68000108681808000000bc51305017f017e037f017e027f23808080800041a0026b22042480808080004100410035028483d4800042c4e6c11b85200441086aad22057e200542ae94e698017e4220898522053e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002106024002400240024002400240410141002802f482d48000118280808000002207450d0041002108200741003a00002007417e6a41003b0000200441286a41fccfc28000410141002802c480d4800011868080800000200441086a41086a4100290388e7c58000370300200441013602502004200736024c20044101360248200441b883d480004100200641ff01714102461b36022020042005422088220942a2f0a4a00a7e200542ffffffff0f83220542d0e3fccc027e85200942d0e3fccc027e200542a2f0a4a00a7e854220898537031820044100290380e7c580003703080240024020012802482207450d00200128024c22082802080d03200841086a220a417f36020020072802080d04200741086a220b417f360200200128025022062802080d052006417f3602082004200641086a36026c2004200a3602642004200b36025c2004200641106a36026820042008410c6a3602602004200741106a360258200441d8006a21080c010b200441003602580b200141046a210702400240024020012802442206450d0020062802000d072006417f36020020044100360278200420063602742004200641086a360270200420013602a4012004200441086a3602a801024002402003450d00200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441a4016a200441d0016a200441f0016a200841a8c2c68000200441f0006a418cc2c68000108b908080000c010b200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441a4016a200441d0016a200441f0016a200841a8c2c68000200441f0006a418cc2c68000108c908080000b20042d00ac010d0120044198016a200441c5016a29000037030020044190016a200441bd016a29000037030020044188016a200441b5016a290000370300200420042900ad013703800120042802782107200428027c210220042802742201200128020041016a3602002007450d080c020b200420013602702004200441086a360274024002402003450d00200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441f0006a200441d0016a200441f0016a200841a8c2c680004100418cc2c68000108b908080000c010b200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441f0006a200441d0016a200441f0016a200841a8c2c680004100418cc2c68000108c908080000b024020042d00ac014101470d0020044180016a41086a200741086a29000037030020044180016a41106a200741106a29000037030020044180016a41186a200741186a2900003703002004200729000037038001024002400240024020042802b001220228020041fcffffff076a2207410320074105491b0e0403030102000b2002280204450d02200228020822072007417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822072007417e6a2f00006b41002802ec82d48000118180808000000c010b200210ef8a8080000b20022002417e6a2f01006b41002802ec82d48000118180808000000c080b20044198016a200441c5016a29000037030020044190016a200441bd016a29000037030020044188016a200441b5016a290000370300200420042900ad01370380010c070b024002400240024020042802b001220228020041fcffffff076a2201410320014105491b0e0403030102000b2002280204450d02200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200210ef8a8080000b20022002417e6a2f01006b41002802ec82d480001181808080000020044180016a41086a200741086a29000037030020044180016a41106a200741106a29000037030020044180016a41186a200741186a2900003703002007290000210520042802742202200228020041016a36020020042005370380012004280278450d06200428027c21020b2002200228020041016a3602000c050b4101410110ab80808000000b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b41ecdec58000109a81808000000b02402004280258450d00200428025c2202200228020041016a36020020042802642202200228020041016a360200200428026c2202200228020041016a3602000b200041206a200441086a41d00010f4978080001a200041186a20044180016a41186a290300370000200041106a20044180016a41106a290300370000200041086a20044180016a41086a2903003700002000200429038001370000200441a0026a2480808080000bca1305017f017e037f017e027f23808080800041a0026b22042480808080004100410035028483d4800042c4e6c11b85200441086aad22057e200542ae94e698017e4220898522053e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002106024002400240024002400240410141002802f482d48000118280808000002207450d0041002108200741003a00002007417e6a41003b0000200441286a41fccfc28000410141002802c480d4800011868080800000200441086a41086a4100290388e7c58000370300200441013602502004200736024c20044101360248200441b883d480004100200641ff01714102461b36022020042005422088220942a2f0a4a00a7e200542ffffffff0f83220542d0e3fccc027e85200942d0e3fccc027e200542a2f0a4a00a7e854220898537031820044100290380e7c580003703080240024020012802482207450d00200128024c22062802080d03200641086a220a417f36020020072802080d04200741086a220b417f360200200128025022082802080d052008417f3602082004200841086a36026c2004200a3602642004200b36025c2004200841106a36026820042006410c6a3602602004200741106a360258200441d8006a21080c010b200441003602580b200141046a210702400240024020012802442206450d00200628020022062802000d072006417f36020020044100360278200420063602742004200641086a360270200420013602a4012004200441086a3602a801024002402003450d00200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441a4016a200441d0016a200441f0016a200841a8c2c68000200441f0006a418cc2c68000108d908080000c010b200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441a4016a200441d0016a200441f0016a200841a8c2c68000200441f0006a418cc2c68000108e908080000b20042d00ac010d0120044198016a200441c5016a29000037030020044190016a200441bd016a29000037030020044188016a200441b5016a290000370300200420042900ad013703800120042802782107200428027c210220042802742201200128020041016a3602002007450d080c020b200420013602702004200441086a360274024002402003450d00200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441f0006a200441d0016a200441f0016a200841a8c2c680004100418cc2c68000108d908080000c010b200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441f0006a200441d0016a200441f0016a200841a8c2c680004100418cc2c68000108e908080000b024020042d00ac014101470d0020044180016a41086a200741086a29000037030020044180016a41106a200741106a29000037030020044180016a41186a200741186a2900003703002004200729000037038001024002400240024020042802b001220228020041fcffffff076a2207410320074105491b0e0403030102000b2002280204450d02200228020822072007417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822072007417e6a2f00006b41002802ec82d48000118180808000000c010b200210ef8a8080000b20022002417e6a2f01006b41002802ec82d48000118180808000000c080b20044198016a200441c5016a29000037030020044190016a200441bd016a29000037030020044188016a200441b5016a290000370300200420042900ad01370380010c070b024002400240024020042802b001220228020041fcffffff076a2201410320014105491b0e0403030102000b2002280204450d02200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200210ef8a8080000b20022002417e6a2f01006b41002802ec82d480001181808080000020044180016a41086a200741086a29000037030020044180016a41106a200741106a29000037030020044180016a41186a200741186a2900003703002007290000210520042802742202200228020041016a36020020042005370380012004280278450d06200428027c21020b2002200228020041016a3602000c050b4101410110ab80808000000b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b41ecdec58000109a81808000000b02402004280258450d00200428025c2202200228020041016a36020020042802642202200228020041016a360200200428026c2202200228020041016a3602000b200041206a200441086a41d00010f4978080001a200041186a20044180016a41186a290300370000200041106a20044180016a41106a290300370000200041086a20044180016a41086a2903003700002000200429038001370000200441a0026a2480808080000bbb0c010b7f23808080800041a0016b2204248080808000200441a8c2c68000360220200441003602182004418cc2c68000360210200441003602082004200128020836022c200420012902003702242004200236021c200420024100473602142004200336020c20042003410047360204200128020c210520012802102103200441e4006a200441046a10ad898080002004280268210202400240024002400240024002400240024002400240024002400240024020042802642206418080808078470d00200228020041fcffffff076a2201410320014105491b0e0404040203010b200441306a41306a2207200441e4006a41386a280200360200200441306a41286a2208200441e4006a41306a290200370300200441306a41206a2209200441e4006a41286a290200370300200441306a41186a220a200441e4006a41206a290200370300200441306a41106a220b200441e4006a41186a290200370300200441386a220c200441e4006a41106a2902003703002004200429026c37033041002d008083d480001a41c00041002802f482d48000118280808000002201450d092001200141036a417c7120016b220d6a2201200236020420012006360200200120042903303702082001417e6a220e200d3b0000200141106a200c290300370200200141186a200b290300370200200141206a200a290300370200200141286a2009290300370200200141306a2008290300370200200141386a20072802003602002001200441046a36023c41002102200341016a22064100480d0520060d042004410036023820044280808080103702300c070b2002280204450d02200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200210ef8a8080000b20022002417e6a2f00006b41002802ec82d480001181808080000020004181808080783602000c090b4100210741002d008083d480001a200641002802f482d480001182808080000022020d01410121020b2002200641bcc2c6800010b980808000000b2002417e6a41003b00002004410036023820042002360234200420063602302003417f470d010b200441306a410020034101410110a3868080002004280230210620042802342102200428023821070b200220076a2005200310f4978080001a2004200720036a2203360238024020032006470d00200441306a41ccc2c6800010b880808000200428023421020b200220036a41003a00002004200341016a2202360238024020012004280234200210a28a8080002202450d000240024002400240200228020041fcffffff076a2203410320034105491b0e0403030102000b2002280204450d02200228020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200210ef8a8080000b20022002417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c040b200441e4006a200110cb8980800020042802642202418180808078460d012004280268210302402002418080808078470d000240024002400240200328020041fcffffff076a2202410320024105491b0e0403030102000b2003280204450d02200328020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2003280204450d01200328020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b200310ef8a8080000b20032003417e6a2f00006b41002802ec82d480001181808080000020004181808080783602000c040b200020023602002000200435026c4220862003ad843702040c020b410441c00010ab80808000000b20004180808080783602000b02402004280230450d00200428023422022002417e6a2f00006b41002802ec82d48000118180808000000b200110da898080002001200e2f00006b41002802ec82d48000118180808000000c010b02402004280230450d00200428023422022002417e6a2f00006b41002802ec82d48000118180808000000b200110da898080002001200e2f00006b41002802ec82d48000118180808000000b200441a0016a2480808080000bed0801077f2380808080004180016b220524808080800020052001200210ee8a80800002400240024020052d000022064102470d0041818080807821070c010b200541286a41186a2208200541196a290000370300200541286a41106a2209200541116a290000370300200541286a41086a220a200541096a2900003703002005200529000137032841808080807821072006410171450d00200541186a2008290300370300200541106a2009290300370300200541086a200a290300370300200520052903283703000240024020012802442207450d00200541cc006a2007200541286a10f087808000200541cc006a4100200528024c1b21080c010b410021082005410036024c0b024002400240024002400240024020012802482207450d00200128024c22092802080d04200941086a220a417f36020020072802080d05200741086a220b417f360200200128025022062802080d062006417f3602082005200641086a3602702005200a3602682005200b3602602005200641106a36026c20052009410c6a3602642005200741106a36025c200541f4006a200228020420022802082001200520032004200541dc006a41a8c2c680002008418cc2c680001098908080002005280274418180808078470d0102400240024002402005280278220128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c020b200541dc006a200228020420022802082001200520032004410041a8c2c680002008418cc2c680001098908080000240200528025c418180808078470d0002400240024002402005280260220128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c030b2000200529025c370200200041086a200541dc006a41086a2802003602000c020b20002005290274370200200041086a200541f4006a41086a2802003602000b200528025c450d0020052802602201200128020041016a36020020052802682201200128020041016a36020020052802702201200128020041016a3602000b200528024c450d0420052802502201200128020041016a3602002005280254450d0420052802582201200128020041016a3602000c040b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b200020073602000b20054180016a2480808080000bf00801077f2380808080004180016b220524808080800020052001200210f08a80800002400240024020052d000022064102470d0041818080807821070c010b200541286a41186a2208200541196a290000370300200541286a41106a2209200541116a290000370300200541286a41086a220a200541096a2900003703002005200529000137032841808080807821072006410171450d00200541186a2008290300370300200541106a2009290300370300200541086a200a290300370300200520052903283703000240024020012802442207450d00200541cc006a2007280200200541286a10f087808000200541cc006a4100200528024c1b21080c010b410021082005410036024c0b024002400240024002400240024020012802482207450d00200128024c22092802080d04200941086a220a417f36020020072802080d05200741086a220b417f360200200128025022062802080d062006417f3602082005200641086a3602702005200a3602682005200b3602602005200641106a36026c20052009410c6a3602642005200741106a36025c200541f4006a200228020420022802082001200520032004200541dc006a41a8c2c680002008418cc2c680001097908080002005280274418180808078470d0102400240024002402005280278220128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c020b200541dc006a200228020420022802082001200520032004410041a8c2c680002008418cc2c680001097908080000240200528025c418180808078470d0002400240024002402005280260220128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c030b2000200529025c370200200041086a200541dc006a41086a2802003602000c020b20002005290274370200200041086a200541f4006a41086a2802003602000b200528025c450d0020052802602201200128020041016a36020020052802682201200128020041016a36020020052802702201200128020041016a3602000b200528024c450d0420052802502201200128020041016a3602002005280254450d0420052802582201200128020041016a3602000c040b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b200020073602000b20054180016a2480808080000b800b01077f23808080800041d0016b2205248080808000200541a4016a2001200210ee8a808000410221060240024002400240024020052d00a40122074102460d00200541286a41186a2208200541bd016a290000370300200541286a41106a2209200541b5016a290000370300200541286a41086a220a200541ad016a290000370300200520052900a501370328410021062007410171450d00200541086a41186a2008290300370300200541086a41106a2009290300370300200541086a41086a200a290300370300200520052903283703080240024020012802442206450d00200541cc006a2006200541286a10f087808000200541cc006a4100200528024c1b21060c010b410021062005410036024c0b024002400240024020012802482207450d00200128024c22092802080d06200941086a220a417f36020020072802080d07200741086a220b417f360200200128025022082802080d082008417f3602082005200841086a3602702005200a3602682005200b3602602005200841106a36026c20052009410c6a3602642005200741106a36025c2005200229020437029c012005200136029801200541ecc0c880003602c801200541a8c2c680003602c001200542013702b4012005418cc2c680003602b001200541003602a801200520063602ac01200520064100473602a4012005200541086a3602cc01200520054198016a3602c4012005200541dc006a3602bc01200541f4006a200541a4016a2003200410e38980800020052d00744101470d0102400240024002402005280278220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c020b2005410036025c2005200229020437029c012005200136029801200541ecc0c880003602c801200541003602bc01200542003702b4012005418cc2c680003602b001200541003602a801200520063602ac01200520064100473602a4012005200541086a3602cc01200520054198016a3602c401200541f4006a200541a4016a2003200410e389808000024020052d00744101470d0002400240024002402005280278220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c030b20002005290075370000200041206a20054195016a2d00003a0000200041186a2005418d016a290000370000200041106a20054185016a290000370000200041086a200541fd006a2900003700000c020b20002005290075370000200041206a20054195016a2d00003a0000200041186a2005418d016a290000370000200041106a20054185016a290000370000200041086a200541fd006a2900003700000b200528025c450d0020052802602201200128020041016a36020020052802682201200128020041016a36020020052802702201200128020041016a3602000b200528024c450d0120052802502201200128020041016a3602002005280254450d0120052802582201200128020041016a3602000c010b200020063a00000b200541d0016a2480808080000f0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b830b01077f23808080800041d0016b2205248080808000200541a4016a2001200210f08a808000410221060240024002400240024020052d00a40122074102460d00200541286a41186a2208200541bd016a290000370300200541286a41106a2209200541b5016a290000370300200541286a41086a220a200541ad016a290000370300200520052900a501370328410021062007410171450d00200541086a41186a2008290300370300200541086a41106a2009290300370300200541086a41086a200a290300370300200520052903283703080240024020012802442206450d00200541cc006a2006280200200541286a10f087808000200541cc006a4100200528024c1b21060c010b410021062005410036024c0b024002400240024020012802482207450d00200128024c22092802080d06200941086a220a417f36020020072802080d07200741086a220b417f360200200128025022082802080d082008417f3602082005200841086a3602702005200a3602682005200b3602602005200841106a36026c20052009410c6a3602642005200741106a36025c2005200229020437029c012005200136029801200541d8c0c880003602c801200541a8c2c680003602c001200542013702b4012005418cc2c680003602b001200541003602a801200520063602ac01200520064100473602a4012005200541086a3602cc01200520054198016a3602c4012005200541dc006a3602bc01200541f4006a200541a4016a2003200410e38980800020052d00744101470d0102400240024002402005280278220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c020b2005410036025c2005200229020437029c012005200136029801200541d8c0c880003602c801200541003602bc01200542003702b4012005418cc2c680003602b001200541003602a801200520063602ac01200520064100473602a4012005200541086a3602cc01200520054198016a3602c401200541f4006a200541a4016a2003200410e389808000024020052d00744101470d0002400240024002402005280278220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c030b20002005290075370000200041206a20054195016a2d00003a0000200041186a2005418d016a290000370000200041106a20054185016a290000370000200041086a200541fd006a2900003700000c020b20002005290075370000200041206a20054195016a2d00003a0000200041186a2005418d016a290000370000200041106a20054185016a290000370000200041086a200541fd006a2900003700000b200528025c450d0020052802602201200128020041016a36020020052802682201200128020041016a36020020052802702201200128020041016a3602000b200528024c450d0120052802502201200128020041016a3602002005280254450d0120052802582201200128020041016a3602000c010b200020063a00000b200541d0016a2480808080000f0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b8e1505017f017e037f017e027f23808080800041d0026b2205248080808000200541014101412110b88c8080004100410035028483d4800042c4e6c11b85200541206aad22067e200642ae94e698017e4220898522063e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002107024002400240024002400240410141002802f482d48000118280808000002208450d0041002109200841003a00002008417e6a41003b0000200541c0006a41fccfc28000410141002802c480d4800011868080800000200541206a41086a4100290388e7c58000370300200541013602682005200836026420054101360260200541b883d480004100200741ff01714102461b36023820052006422088220a42a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200a42d0e3fccc027e200642a2f0a4a00a7e854220898537033020054100290380e7c58000370320200541a8026a2001200210f08a808000200541f0006a41086a2005200541a8026a41016a200520052d00a80222084101711b20084102461b220841086a290000370300200541f0006a41106a200841106a290000370300200541f0006a41186a200841186a290000370300200520082900003703700240024020012802482208450d00200128024c22072802080d03200741086a220b417f36020020082802080d04200841086a220c417f360200200128025022092802080d052009417f3602082005200941086a3602a4012005200b36029c012005200c360294012005200941106a3602a00120052007410c6a360298012005200841106a3602900120054190016a21090c010b20054100360290010b02400240024020012802442208450d00200828020022082802000d072008417f360200200541003602b001200520083602ac012005200841086a3602a801200520013602dc012005200541206a3602e0012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001093908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001094908080000b20052d00e4010d01200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b80120052802b001210320052802b401210120052802ac012208200828020041016a3602002003450d080c020b200520013602a8012005200541206a3602ac012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001093908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001094908080000b024020052d00e4014101470d00200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a290300370300200520052903703703b801024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d48000118180808000000c080b200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b8010c070b024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a29030037030020052802ac012201200128020041016a360200200520052903703703b80120052802b001450d0620052802b40121010b2001200128020041016a3602000c050b4101410110ab80808000000b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b41ecdec58000109a81808000000b0240200528029001450d002005280294012201200128020041016a360200200528029c012201200128020041016a36020020052802a4012201200128020041016a3602000b200541b8016a2005412010f5978080002101200041196a200541d0016a290300370000200041116a200541c8016a290300370000200041096a200541c0016a290300370000200020052903b801370001200041286a200541206a41d00010f4978080001a20002001453a0000200541d0026a2480808080000b891505017f017e037f017e027f23808080800041d0026b2205248080808000200541014101412110b88c8080004100410035028483d4800042c4e6c11b85200541206aad22067e200642ae94e698017e4220898522063e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002107024002400240024002400240410141002802f482d48000118280808000002208450d0041002109200841003a00002008417e6a41003b0000200541c0006a41fccfc28000410141002802c480d4800011868080800000200541206a41086a4100290388e7c58000370300200541013602682005200836026420054101360260200541b883d480004100200741ff01714102461b36023820052006422088220a42a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200a42d0e3fccc027e200642a2f0a4a00a7e854220898537033020054100290380e7c58000370320200541a8026a2001200210ee8a808000200541f0006a41086a2005200541a8026a41016a200520052d00a80222084101711b20084102461b220841086a290000370300200541f0006a41106a200841106a290000370300200541f0006a41186a200841186a290000370300200520082900003703700240024020012802482208450d00200128024c22072802080d03200741086a220b417f36020020082802080d04200841086a220c417f360200200128025022092802080d052009417f3602082005200941086a3602a4012005200b36029c012005200c360294012005200941106a3602a00120052007410c6a360298012005200841106a3602900120054190016a21090c010b20054100360290010b02400240024020012802442208450d0020082802000d072008417f360200200541003602b001200520083602ac012005200841086a3602a801200520013602dc012005200541206a3602e0012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001096908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001092908080000b20052d00e4010d01200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b80120052802b001210320052802b401210120052802ac012208200828020041016a3602002003450d080c020b200520013602a8012005200541206a3602ac012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001096908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001092908080000b024020052d00e4014101470d00200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a290300370300200520052903703703b801024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d48000118180808000000c080b200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b8010c070b024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a29030037030020052802ac012201200128020041016a360200200520052903703703b80120052802b001450d0620052802b40121010b2001200128020041016a3602000c050b4101410110ab80808000000b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b41ecdec58000109a81808000000b0240200528029001450d002005280294012201200128020041016a360200200528029c012201200128020041016a36020020052802a4012201200128020041016a3602000b200541b8016a2005412010f5978080002101200041196a200541d0016a290300370000200041116a200541c8016a290300370000200041096a200541c0016a290300370000200020052903b801370001200041286a200541206a41d00010f4978080001a20002001453a0000200541d0026a2480808080000bd40501067f23808080800041a0016b2205248080808000200541046a2001200210ee8a80800002400240024020052d000422064102470d0041818080807821070c010b200541286a41186a22082005411d6a290000370300200541286a41106a2209200541156a290000370300200541286a41086a220a2005410d6a2900003703002005200529000537032841808080807821072006410171450d00200541c8006a41186a2008290300370300200541c8006a41106a2009290300370300200541c8006a41086a200a2903003703002005200529032837034820052002290204370274200541d0c1c680003602702005200136026c2005200436028c012005200336028801200541e4c1c68000360280012005200541c8006a360284012005200541ec006a36027c0240024020012802442202450d0020054190016a2002200541286a10f08780800020054190016a41002005280290011b21070c010b4100210720054100360290010b0240024002400240024020012802482202450d00200128024c22062802080d03200641086a2204417f36020020022802080d04200241086a2203417f36020020012802502201280208450d0141ccd7c58000109a81808000000b2000200541fc006a4100200710f38a8080000c010b2001417f3602082005200141086a36021820052004360210200520033602082005200141106a36021420052006410c6a36020c2005200241106a3602042000200541fc006a200541046a200710f38a8080002005280204450d0020052802082201200128020041016a36020020052802102201200128020041016a36020020052802182201200128020041016a3602000b200528029001450d032005280294012201200128020041016a360200200528029801450d03200528029c012201200128020041016a3602000c030b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b200020073602000b200541a0016a2480808080000bd70501067f23808080800041a0016b2205248080808000200541046a2001200210f08a80800002400240024020052d000422064102470d0041818080807821070c010b200541286a41186a22082005411d6a290000370300200541286a41106a2209200541156a290000370300200541286a41086a220a2005410d6a2900003703002005200529000537032841808080807821072006410171450d00200541c8006a41186a2008290300370300200541c8006a41106a2009290300370300200541c8006a41086a200a2903003703002005200529032837034820052002290204370274200541f8c1c680003602702005200136026c2005200436028c012005200336028801200541e4c1c68000360280012005200541c8006a360284012005200541ec006a36027c0240024020012802442202450d0020054190016a2002280200200541286a10f08780800020054190016a41002005280290011b21070c010b4100210720054100360290010b0240024002400240024020012802482202450d00200128024c22062802080d03200641086a2204417f36020020022802080d04200241086a2203417f36020020012802502201280208450d0141ccd7c58000109a81808000000b2000200541fc006a4100200710f38a8080000c010b2001417f3602082005200141086a36021820052004360210200520033602082005200141106a36021420052006410c6a36020c2005200241106a3602042000200541fc006a200541046a200710f38a8080002005280204450d0020052802082201200128020041016a36020020052802102201200128020041016a36020020052802182201200128020041016a3602000b200528029001450d032005280294012201200128020041016a360200200528029801450d03200528029c012201200128020041016a3602000c030b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b200020073602000b200541a0016a2480808080000bf211020b7f017e23808080800041c0026b220324808080800002400240024002400240024002400240024020022802002204418080808078460d00200341c0006a2001200210ee8a80800020032d004022054102470d0120004180808080783602000c030b200141046a21060c010b200341386a200341d9006a290000370300200341306a200341d1006a290000370300200341286a200341c9006a29000037030020032003290041370320200341206a210620054101710d002000418080808078360248200041808080807836023c200042003702342000410036020820004280808080c00037020020004180023b01742000200329024037024c200041d4006a4200370200200041dc006a4200370200200041e4006a4200370200200041ec006a42003702000c010b200341186a2205200641186a290000370300200341106a2207200641106a290000370300200341086a2208200641086a29000037030020032006290000370300200341c0006a41186a4200370300200341c0006a41106a4200370300200341c0006a41086a42003703002003420037034002400240200141046a200341c0006a412010f597808000450d0020034180016a41186a200529030037030020034180016a41106a200729030037030020034180016a41086a200829030037030020032003290300370380014100210602402004418080808078460d00200341d0c1c680003602e001200320022902043702e401200121060b200320063602dc0102400240200128024422050d0041002105200341003602ec01410021070c010b200341ec016a2005200310f08780800020032802ec0122074100472105200341ec016a410020071b21070b41e4c1c6800041d0c1c6800020061b2108200341dc016a200120061b2109024002400240024020012802482206450d00200128024c220a2802080d07200a41086a220b417f36020020062802080d08200641086a220c417f360200200128025022012802080d092001417f3602082003200141086a360290022003200b360288022003200c360280022003200141106a36028c022003200a410c6a360284022003200641106a3602fc01200320083602b802200320093602b402200341a8c2c680003602b002200342013702a4022003418cc2c680003602a0022003200736029c022003200536029402200341003602980220022802104100200228020c22011b21052001410120011b2101200320034180016a3602bc022003200341fc016a3602ac0220022802142206450d01200341c0006a20034194026a200120052006200228021810b1898080000c020b200341003602fc01200320083602b802200320093602b402200341a8c2c680003602b002200341003602ac02200342003702a4022003418cc2c680003602a0022003200736029c022003410036029802200320053602940220022802104100200228020c22011b21052001410120011b2101200320034180016a3602bc02024020022802142206450d00200341c0006a20034194026a200120052006200228021810b1898080000c030b200341c0006a20034194026a2001200510ae898080000c020b200341c0006a20034194026a2001200510ae898080000b20032802fc01450d002003280280022201200128020041016a3602002003280288022201200128020041016a3602002003280290022201200128020041016a3602000b024020032802ec01450d0020032802f0012201200128020041016a36020020032802f401450d0020032802f8012201200128020041016a3602000b418080808078210102402003280240418080808078470d0002400240024002402003280244220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004180808080783602000c020b200341a0016a41386a2204200341c0006a41386a280200360200200341a0016a41306a2205200341c0006a41306a290200370300200341a0016a41286a2207200341c0006a41286a290200370300200341a0016a41206a2208200341c0006a41206a290200370300200341a0016a41186a2209200341c0006a41186a290200370300200341a0016a41106a220a200341c0006a41106a290200370300200341a0016a41086a220b200341c0006a41086a290200370300200320032902403703a00120022d001d210c024020060d000c070b20022d001c410171450d064100210d024002400240200228021822014100480d00024020010d004101210d0c030b41002d008083d480001a200141002802f482d4800011828080800000220d0d014101210d0b200d200141d8cec6800010b980808000000b200d417e6a41003b00000b2001ad422086200d2006200110f497808000ad84210e0c060b2000418080808078360248200041808080807836023c200042003702342000410036020820004280808080c00037020020004180023b01742000200329024037024c200041d4006a4200370200200041dc006a4200370200200041e4006a4200370200200041ec006a42003702000b2004418080808078460d050b2004450d04200228020422002000417e6a2f00006b41002802ec82d48000118180808000000c040b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b20002003290300370054200020032903a00137020020002002290200370248200041d0006a200241086a280200360200200041dc006a200341086a290300370000200041e4006a200341106a290300370000200041ec006a200341186a290300370000200041086a200b290300370200200041106a200a290300370200200041186a2009290300370200200041206a2008290300370200200041286a2007290300370200200041306a2005290300370200200041386a2004280200360200200041003a00752000200c3a00742000200e3702402000200136023c0b200341c0026a2480808080000bf511020b7f017e23808080800041c0026b220324808080800002400240024002400240024002400240024020022802002204418080808078460d00200341c0006a2001200210f08a80800020032d004022054102470d0120004180808080783602000c030b200141046a21060c010b200341386a200341d9006a290000370300200341306a200341d1006a290000370300200341286a200341c9006a29000037030020032003290041370320200341206a210620054101710d002000418080808078360248200041808080807836023c200042003702342000410036020820004280808080c00037020020004180023b01742000200329024037024c200041d4006a4200370200200041dc006a4200370200200041e4006a4200370200200041ec006a42003702000c010b200341186a2205200641186a290000370300200341106a2207200641106a290000370300200341086a2208200641086a29000037030020032006290000370300200341c0006a41186a4200370300200341c0006a41106a4200370300200341c0006a41086a42003703002003420037034002400240200141046a200341c0006a412010f597808000450d0020034180016a41186a200529030037030020034180016a41106a200729030037030020034180016a41086a200829030037030020032003290300370380014100210602402004418080808078460d00200341f8c1c680003602e001200320022902043702e401200121060b200320063602dc0102400240200128024422050d0041002105200341003602ec01410021070c010b200341ec016a2005280200200310f08780800020032802ec0122074100472105200341ec016a410020071b21070b41e4c1c6800041f8c1c6800020061b2108200341dc016a200120061b2109024002400240024020012802482206450d00200128024c220a2802080d07200a41086a220b417f36020020062802080d08200641086a220c417f360200200128025022012802080d092001417f3602082003200141086a360290022003200b360288022003200c360280022003200141106a36028c022003200a410c6a360284022003200641106a3602fc01200320083602b802200320093602b402200341a8c2c680003602b002200342013702a4022003418cc2c680003602a0022003200736029c022003200536029402200341003602980220022802104100200228020c22011b21052001410120011b2101200320034180016a3602bc022003200341fc016a3602ac0220022802142206450d01200341c0006a20034194026a200120052006200228021810b1898080000c020b200341003602fc01200320083602b802200320093602b402200341a8c2c680003602b002200341003602ac02200342003702a4022003418cc2c680003602a0022003200736029c022003410036029802200320053602940220022802104100200228020c22011b21052001410120011b2101200320034180016a3602bc02024020022802142206450d00200341c0006a20034194026a200120052006200228021810b1898080000c030b200341c0006a20034194026a2001200510ae898080000c020b200341c0006a20034194026a2001200510ae898080000b20032802fc01450d002003280280022201200128020041016a3602002003280288022201200128020041016a3602002003280290022201200128020041016a3602000b024020032802ec01450d0020032802f0012201200128020041016a36020020032802f401450d0020032802f8012201200128020041016a3602000b418080808078210102402003280240418080808078470d0002400240024002402003280244220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004180808080783602000c020b200341a0016a41386a2204200341c0006a41386a280200360200200341a0016a41306a2205200341c0006a41306a290200370300200341a0016a41286a2207200341c0006a41286a290200370300200341a0016a41206a2208200341c0006a41206a290200370300200341a0016a41186a2209200341c0006a41186a290200370300200341a0016a41106a220a200341c0006a41106a290200370300200341a0016a41086a220b200341c0006a41086a290200370300200320032902403703a00120022d001d210c024020060d000c070b20022d001c410171450d064100210d024002400240200228021822014100480d00024020010d004101210d0c030b41002d008083d480001a200141002802f482d4800011828080800000220d0d014101210d0b200d200141d8cec6800010b980808000000b200d417e6a41003b00000b2001ad422086200d2006200110f497808000ad84210e0c060b2000418080808078360248200041808080807836023c200042003702342000410036020820004280808080c00037020020004180023b01742000200329024037024c200041d4006a4200370200200041dc006a4200370200200041e4006a4200370200200041ec006a42003702000b2004418080808078460d050b2004450d04200228020422002000417e6a2f00006b41002802ec82d48000118180808000000c040b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b20002003290300370054200020032903a00137020020002002290200370248200041d0006a200241086a280200360200200041dc006a200341086a290300370000200041e4006a200341106a290300370000200041ec006a200341186a290300370000200041086a200b290300370200200041106a200a290300370200200041186a2009290300370200200041206a2008290300370200200041286a2007290300370200200041306a2005290300370200200041386a2004280200360200200041003a00752000200c3a00742000200e3702402000200136023c0b200341c0026a2480808080000be70201047f23808080800041206b220324808080800041002104024002402002410c6c220541046a22064100480d0041002d008083d480001a200641002802f482d480001182808080000022040d01410121040b2004200641e8c4c6800010b980808000000b2004417e6a41003b000020034100360214200320043602102003200636020c200320023602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402002450d00200141086a210203402002417c6a28020021012003200228020022063602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402006200328020c200328021422046b4d0d002003410c6a2004200610f491808000200328021421040b200328021020046a2001200610f4978080001a2003200420066a3602142002410c6a2102200541746a22050d000b0b2000200329020c370200200041086a2003410c6a41086a280200360200200341206a2480808080000bc40701047f23808080800041306b2202248080808000024002400240024002400240024020012001200141b9f3ddf1796c200141a6b2858a036c220373ad429a077e422088a741017441c0eacd80006a2f01006a41b9f3ddf1796c200373ad429a077e422088a741027441f4f8cd80006a2802002203410876470d00200341ff01710d010b20002802302103024002402000280208418080c400470d0020002802142104200028021021050c010b20002f0100220441054f0d05200041046a21050b20042003490d0520022002412f6a3602080240200420036b22044102490d00200520034103746a2103024020044115490d0020032004200241086a10ca808080000c010b200320044101200241086a1080908080000b024002402000280208418080c400470d00024020002802142203200028020c470d002000410c6a41c8cdc6800010cc808080000b200028021020034103746a22042001360204200441003a00002000200341016a3602140c010b024020002f0100220341034b0d002000200341016a3b0100200020034103746a22032001360208200341003a00040c010b200241086a20004100200110d18b80800002402000280208418080c400470d00200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b20002002290208370200200041206a200241086a41206a280200360200200041186a200241086a41186a290200370200200041106a200241086a41106a290200370200200041086a200241086a41086a2902003702000b2000280208418080c400470d01200028021421010c020b02402000280208418080c400470d00024020002802142204200028020c470d002000410c6a41c8cdc6800010cc808080000b200028021020044103746a22052001360204200520033a00002000200441016a3602140c030b024020002f0100220441034b0d002000200441016a3b0100200020044103746a22002001360208200020033a00040c030b200241086a20002003200110d18b80800002402000280208418080c400470d00200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b20002002290208370200200041206a200241086a41206a280200360200200041186a200241086a41186a290200370200200041106a200241086a41106a290200370200200041086a200241086a41086a2902003702000c020b20002f010021010b200020013602300b200241306a2480808080000f0b2004410441d8cdc68000109181808000000b200320044194c7c68000109281808000000b040041000b1e00200128020041dcc2c680004111200128020428020c118080808000000b1e00200128020041f8c4c680004111200128020428020c118080808000000b1e00200128020041c488cc80004108200128020428020c118080808000000b1e00200128020041fa8bcc80004103200128020428020c118080808000000b1e0020012802004180c3c68000410a200128020428020c118080808000000b1200200041bcc7c68000200110b1818080000b3301017f20002802042201200128020041016a36020002402000280208450d00200028020c2200200028020041016a3602000b0b3a01017f20002802042201200128020041016a360200200028020c2201200128020041016a36020020002802142200200028020041016a3602000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b5601017f0240200028020022002802000d002000280208450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002000417e6a2f00006b41002802ec82d48000118180808000000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b7e01027f024020002802482201450d0020012001280200417f6a2202360200024020020d00200041c8006a10ff878080000b200028024c22012001280200417f6a2201360200024020010d00200041cc006a1081888080000b200028025022012001280200417f6a220136020020010d00200041d0006a1082888080000b0b6701017f02402000280220450d00200028022422012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802142201418280808078480d002001450d00200028021822002000417e6a2f00006b41002802ec82d48000118180808000000b0b1e00200128020041acc8c680004105200128020428020c118080808000000bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110a386808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110a386808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000bd24302097f067e23808080800041f0006b220324808080800041808080807821040240024020020d00410021020c010b200120026a210541002106200121070340024002400240024020072c00002208417f4c0d00200741016a21070c010b20072d0001413f7121092008411f71210a02400240200841604f0d00200a4106742009722108200741026a21070c010b200941067420072d0002413f717221090240200841704f0d002009200a410c74722108200741036a21070c010b200941067420072d0003413f7172200a411274418080f00071722208418080c400460d05200741046a21070b200841ff004b0d010b410021060c010b02400240200641ff01712008200841b9f3ddf1796c200841a6b2858a036c220673ad429a077e422088a741017441c0eacd80006a2f01006a41b9f3ddf1796c200673ad429a077e422088a741027441f4f8cd80006a2802002206410020082006410876461b220941ff017122064d0d0020060d010b02400240024002400240024002400240200841ffdf004a0d00024020084185364a0d000240200841de134a0d000240200841f8074a0d00200841e07e6a2206411a4d0d040c090b0240200841860b4a0d00024020084187786a0e210c0b0b0b0b0b0b0b0b0b0c0b0b0b0c0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c000b0240200841ad776a0e050c0b0b0b0c000b200841b908470d0a0c0b0b200841c0726a220641134d0d040c070b0240200841c21e4a0d000240200841c7184a0d000240200841dd144a0d000240200841cd6b6a0e040d0c0c0d000b200841df13470d0b0c0c0b200841de14460d0b200841c816460d0b2008419417470d0a0c0b0b0240200841b21c4a0d00200841c818460d0b200841c019460d0b200841da1b470d0a0c0b0b200841b31c460d0a200841b31d460d0a2008418c1e470d090c0a0b0240200841bd616a0e770a0909090909090909090a090909090a090909090a090909090a0909090909090909090909090a0909090909090909090a090909090909090909090909090a09090909090909090909090909090909090a0909090909090909090a090909090a090909090a090909090a0909090909090909090909090a000b200841a620460d09200841fc21470d080c090b024020084181c2004a0d000240200841bc3f4a0d000240200841fa496a0e3e0b0a0b0a0b0a0b0a0b0a0a0a0b0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0b0a0b0a0a0a0a0a0b000b200841a7416a220641044b0d064101200674411571450d060c0a0b0240200841efbf7f6a0e7e0a09090909090a09090909090909090909090909090909090909090909090a0909090909090909090909090a090a0909090909090909090909090909090909090909090909090a090909090909090a090909090909090909090909090909090a0a09090909090909090909090a0a0a090909090909090909090909090a0a000b200841c3406a4102490d09200841a8c100470d080c090b024020084183c4004a0d00024020084188c3004a0d00200841febd7f6a0e3f0a0a0909090a090a09090909090909090909090a0a090909090909090909090909090a090a090a090909090909090909090909090909090a090a090909090a090b20084189c300460d09200841aec300460d09200841cdc300470d080c090b0240200841a8c6004a0d00200841fcbb7f6a0e5f0908080808090808090808080808080808080808080808080808080808080808090809080808080808080808080808080808080808080808080808080809080809080809080908080808080808080808080808080808080808080808090809080b0240200841dbd5004a0d00200841d7b97f6a4102490d09200841eac900460d092008418cd400470d080c090b02402008419edd004a0d00200841dcd500460d09200841efda00470d080c090b2008419fdd00460d08200841f3dd00470d070c080b0240200841fbfb034a0d000240200841e8d6024a0d00024020084180a07f6a0e80020a09090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090a0909090909090909090909090909090909090909090a090a090a090a090a090a090a090a090a090a090a090a09090a090a090a0909090909090909090909090909090909090909090909090909090909090909090909090909090909090a0909090909090909090a0a0909090909090909090909090a090a090a090a090a090a090a090a090a090a090a090a09090a090a090a0909090909090909090909090909090909090909090909090909090909090909090909090909090909090a0909090909090909090a0a000b200841d0e400460d09200841f0ce02470d080c090b02402008419cf6034a0d00200841f08b7c6a220641124b0d0441012006744185801471450d040c090b0240200841e3897c6a0e0d09080808080808080808080809000b200841bef603470d070c080b0240200841bda9044a0d00024020084184847c6a0eed0309080808080808080808080808080808080808080808080808080809090908080808080808080808080808080808080808080808090808080809090909090909090909090909090909080809090808080808080808080808080808080909090909090908080809090808080809090808080808080808080809080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080809080808090909090909080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808090909090909080808080808080808080808080808080808080808080808080809090909090909090908080808080808080808080809080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080809090908080809000b200841e6de7b6a220641114b0d0741012006744185800871450d070c080b0240200841c2af074a0d000240200841faad074a0d000240200841baa9074a0d00200841bea904460d0a200841b8b204460d0a200841a2a907470d090c0a0b0240200841c0ad074a0d00200841bba907460d0a200841c6aa07470d090c0a0b200841c1ad07460d09200841dbad07470d080c090b0240200841ceae074a0d00200841fbad07460d0920084195ae07460d09200841b5ae07470d080c090b024020084188af074a0d00200841cfae07460d09200841efae07470d080c090b20084189af07460d08200841a9af07470d070c080b0240200841dca3786a0e5b08070708070707070707070707070707070707070708070807070707070708070707070807080708070707070707070708070708070807080708070807070707080707070707070707070707070707070707070707070707070708000b200841c3af07460d0720084190e307460d070c060b410120067441818ac23971450d040c060b41012006744185802071450d020c050b200841e9d602470d030c040b200841f83a470d020c030b0240200841d76d6a2206410b4b0d004101200674418112710d030b200841870b470d010c020b2008418c796a220641184b0d00410120067441c188b008710d010b200841feffff0071220641d0e407460d00200841fcffff0071220a41f4dc07460d00200a41b4dc07460d00200a4180dc07460d002006419ea907460d00200641baab04460d00200641aea204460d00200641e0ff03460d002006419eff03460d00200641e4fe03460d002006419afe03460d002006418efe03460d00200641eafc03460d00200a41d4fc03460d00200641c0f603460d00200a41dcd602460d00200641f8cf02460d002006419ccd02460d00200641dce100460d00200641d6e100460d00200641d0e100460d00200641fce000460d00200641f6e000460d00200641f0e000460d00200641fcd800460d00200a41e0c500460d00200a41acc500460d0020064188c500460d00200841faffff00714180c500460d00200641f8c400460d00200641f4c400460d00200641acc400460d00200641cec300460d002006419ac300460d00200841e0ffff007141e0c200460d00200841f0ffff007141d0c200460d00200a41bcc200460d0020064180c200460d00200641b6c000460d00200a41d03f460d00200841f8ffff0071220b41d03e460d00200641c036460d00200641dc1d460d00200641ca19460d00200641dc16460d00200641dc13460d00200b41d812460d00200641f809460d00200641d609460d00200a41d009460d00200641f608460d00200641d008460d002006418008460d00200641f407460d002006418407460d00200641c006460d002006419e04460d00200641a003460d00200641b201460d00200841c47e6a4103490d00200841c07e6a4106490d00200841b97e6a4109490d00200841af7e6a4106490d00200841a77e6a4105490d00200841a07e6a4106490d00200841997e6a4109490d002008418f7e6a4106490d00200841877e6a4105490d00200841817e6a4111490d00200841ee7d6a4114490d00200841d87d6a4109490d00200841ce7d6a4106490d00200841c77d6a4108490d00200841bd7d6a4107490d00200841b47d6a4106490d00200841ac7d6a4112490d00200841987d6a4118490d00200841d17c6a4102490d00200841bc7c6a4119490d00200841a27c6a4106490d002008419a7c6a4110490d00200841887c6a4124490d00200841da7b6a410e490d00200841d07a6a4109490d00200841a87a6a4106490d00200841a07a6a4105490d00200841bd796a4102490d00200841f8786a4103490d00200841f2786a4103490d00200841d6786a4107490d00200841b6786a4105490d00200841b0786a4107490d0020084190786a4103490d00200841f4776a4103490d00200841a4776a4103490d00200841bf766a4102490d00200841a6766a4106490d002008419e766a4106490d0020084196766a410c490d00200841de736a4105490d002008418b736a4104490d00200841b56c6a4102490d00200841a76b6a4103490d00200841b5696a4102490d00200841b6686a4103490d00200841b9666a4102490d00200841b6656a4103490d00200841a4646a4103490d002008418b616a4105490d00200841d4456a4103490d00200841d0456a410b490d00200841c4456a4112490d00200841b1456a411c490d00200841e5446a4125490d0020084180446a419c01490d00200841e0426a41da00490d0020084180426a4116490d00200841e8416a4106490d00200841e0416a4126490d00200841b8416a4106490d00200841a1416a411f490d0020084180416a4135490d00200841ca406a4107490d00200841c1406a4103490d00200841be406a4103490d00200841ba406a4107490d00200841b3406a4103490d00200841aa406a4106490d00200841a3406a4103490d00200841a0406a410d490d0020084193406a4103490d002008418e406a4103490d002008418a406a4107490d0020084183406a4102490d0020084180406a410b490d00200841dcbf7f6a4103490d00200841cdbf7f6a4102490d00200841b9bf7f6a4103490d002008418cbf7f6a4106490d0020084186bf7f6a4103490d0020084180bf7f6a410a490d00200841f6be7f6a4103490d00200841f0be7f6a410d490d00200841fbbd7f6a4102490d00200841f6bd7f6a410a490d00200841e7bd7f6a4105490d00200841e0bd7f6a4103490d00200841d6bd7f6a4104490d00200841d1bd7f6a4103490d00200841cdbd7f6a4102490d00200841cbbd7f6a4104490d00200841bbbd7f6a4105490d00200841d1bb7f6a4102490d0020084193bb7f6a4105490d0020084196ba7f6a4104490d00200841a0b77f6a413c490d00200841e4b67f6a41ce00490d002008418cab7f6a4103490d0020084180a27f6a41d601490d00200841c89f7f6a4103490d002008418d9f7f6a4102490d00200841879f7f6a4102490d00200841e59e7f6a4102490d00200841ad9e7f6a4102490d00200841a79e7f6a4102490d00200841899e7f6a4104490d00200841cf9d7f6a41de00490d00200841ee9c7f6a4104490d00200841ea9c7f6a410a490d00200841809c7f6a411f490d00200841e09b7f6a410a490d00200841d69b7f6a411e490d00200841af9b7f6a410f490d00200841a09b7f6a411f490d00200841809b7f6a410a490d00200841f69a7f6a4127490d00200841cf9a7f6a410f490d00200841c09a7f6a41c002490d002008418eb07d6a4103490d0020084180a87d6a41a4d700490d00200841808e7c6a418e02490d00200841eb8b7c6a410a490d00200841db8b7c6a4102490d00200841d68b7c6a41c400490d00200841908b7c6a41ea00490d00200841808a7c6a4107490d00200841ed897c6a4105490d00200841e1897c6a410a490d00200841d6897c6a410d490d00200841c8897c6a4105490d00200841bd897c6a4102490d00200841ba897c6a41ec00490d00200841ad887c6a41eb02490d00200841b0857c6a41c000490d00200841ee847c6a4136490d0020084190847c6a410c490d00200841f0837c6a4107490d00200841cf837c6a4102490d00200841cd837c6a4102490d00200841b7837c6a4104490d00200841b3837c6a4103490d00200841b0837c6a4103490d00200841a1837c6a4103490d002008419c837c6a4103490d0020084190837c6a4103490d002008418a837c6a418701490d00200841ff817c6a4103490d00200841fb817c6a4103490d00200841f0817c6a410a490d00200841e4817c6a4103490d00200841e1817c6a4102490d00200841df817c6a411a490d00200841bf817c6a411a490d002008419a817c6a410a490d002008418f817c6a412d490d00200841e0807c6a411f490d00200841be807c6a4106490d00200841b6807c6a4106490d00200841ae807c6a4106490d00200841a6807c6a4103490d002008419b807c6a4102490d0020084197807c6a4104490d0020084193807c6a4102490d00200841fff07b6a4105490d00200841f9f07b6a412a490d00200841cef07b6a4109490d00200841b5d97b6a4102490d00200841c5d67b6a4102490d00200841a2dd786a4107490d00200841c5dc786a4106490d0020084180d8786a41d500490d00200841aad7786a41c700490d00200841dbd6786a4102490d00200841d7d6786a4104490d00200841d2d6786a410c490d00200841c3d6786a4107490d00200841bbd6786a41c100490d00200841f9d5786a4104490d00200841f3d5786a4108490d00200841ead5786a4107490d00200841e2d5786a411c490d00200841c5d5786a4104490d00200841c0d5786a4105490d00200841b6d5786a4107490d00200841aed5786a41d402490d00200841d8d2786a4119490d00200841bed2786a4119490d00200841a4d2786a411f490d0020084184d2786a4119490d00200841ead1786a411f490d00200841cad1786a4119490d00200841b0d1786a411f490d0020084190d1786a4119490d00200841f6d0786a411f490d00200841d6d0786a4119490d00200841bcd0786a4108490d00200841b2d0786a4132490d00200841d0bf786a413e490d00200841fba3786a411b490d00200841dfa3786a4102490d00200841d7a3786a410a490d00200841b3a3786a4103490d00200841afa3786a4102490d002008419fa3786a4102490d0020084199a3786a4104490d0020084194a3786a4107490d0020084187a3786a4104490d0020084180a3786a410a490d00200841f5a2786a4111490d00200841dfa2786a4103490d00200841dba2786a4105490d00200841d5a2786a4111490d00200841809e786a410b490d00200841f09d786a411f490d00200841d09d786a4120490d00200841969d786a4103490d00200841809c786a4103490d00200841f09b786a412c490d00200841c09b786a4109490d002008419088786a410a490d00200921062008418090746a419d044b0d010b4100210220034100360208200342808080801037020020034100360250200341003a004c20034100360248200341003a004420034100360240200341003a003c200341013a00642003420037025c20032005360258200320013602542003410036023820034200370330200341306a41047221044101210b4100210803400240024020080d000240024002400340024002400240024002400240024002400240024020032802542207450d0020072003280258460d002003200741016a360254024020072d00002208411874411875417f4a0d002003200741026a36025420072d0001413f7121012008411f7121060240200841df014b0d00200641067420017221080c010b2003200741036a360254200141067420072d0002413f717221010240200841f0014f0d0020012006410c747221080c010b2003200741046a360254200141067420072d0003413f71722006411274418080f00071722208418080c400460d010b20032d0064450d062008418001490d0720084180a87d6a220741a4d700490d0320082008200841b9f3ddf1796c200841a6b2858a036c220773ad220c42e41d7e422088a741017441a8a2d080006a2f01006a41b9f3ddf1796c200773ad42e41d7e422088a741037441f0ddd080006a290200220da7470d02200d422088a741ffff0371220841e72c4b0d0141e72c20086b2201200d423088a722074f0d042007200141acffd38000109181808000000b024002402003280238418080c400470d0020032802442208450d0c200328024021070c010b20032f01302208450d0c200841054f0d0d200421070b2003200341ef006a360268024020084102490d00024020084115490d0020072008200341e8006a10ca808080000c010b200720084101200341e8006a1080908080000b024020032802382201418080c400470d002003200328024422083602600c0f0b200320032f013022083602600c0e0b200841e72c41bcffd38000109281808000000b20082008200c428d107e422088a741017441dc95ce80006a2f01006a41b9f3ddf1796c200773ad428d107e422088a741037441f8b5ce80006a290200220da7470d0402400240200d422088a741ffff0371220841ce1a4b0d0041ce1a20086b2201200d423088a722074f0d01200720014188a2d08000109181808000000b200841ce1a4198a2d08000109281808000000b200841027441e0b6cf80006a21080c020b200341306a200741ffff0371220841cc046e22014180227210ff8a808000200341306a2007200141cc046c6b41ffff0371411c6e41e1226a10ff8a8080002008411c702208450d05200841a7236a21080c030b20084102744190ccd280006a21080b2007450d03200741027421070340200341306a200828020010ff8a808000200841046a21082007417c6a22070d000c040b0b2008418001490d00024020084180a87d6a220741a4d700490d0020082008200841b9f3ddf1796c200841a6b2858a036c220773ad428d107e422088a741017441dc95ce80006a2f01006a41b9f3ddf1796c200773ad428d107e422088a741037441f8b5ce80006a290200220da7470d010240200d422088a741ffff0371220841ce1a4b0d0041ce1a20086b2201200d423088a722074f0d03200720014188a2d08000109181808000000b200841ce1a4198a2d08000109281808000000b200341306a200741ffff0371220841cc046e22014180227210ff8a808000200341306a2007200141cc046c6b41ffff0371411c6e41e1226a10ff8a8080002008411c702208450d02200841a7236a21080b200341306a200810ff8a8080000c010b200d42808080808080c000540d00200841027441e0b6cf80006a2108200741027421070340200341306a200828020010ff8a808000200841046a21082007417c6a22070d000b0b20032802602208450d000c040b0b200328023c450d00200328024022082008417e6a2f00006b41002802ec82d48000118180808000000b20032802002104200328020421010c060b2008410441d8cdc68000109181808000000b200328023821010b200328025c21070240024002400240024002402001418080c4004722090d0020032802442106200328024021050c010b20032f0130220641054f0d01200421050b02400240200720064f0d00200520074103746a280204210a200741016a22072008460d012003200736025c0c050b2007200641f4b4c68000108281808000000b0240024020090d00200328024421070c010b20032f013021070b200720086b210920072008460d0241002108410421070340200820032802606a210102400240024002402003280238418080c400460d0020032f013022054105490d012005410441d8ccc68000109181808000000b2001200328024422054f0d01200328024021060c020b2004210620012005490d010b2001200541f4c6c68000108281808000000b0240200820054f0d00200620014103746a22012d00002105200620076a220620012802043602002006417c6a20053a0000200741086a21072009200841016a2208460d030c010b0b200820054184c7c68000108281808000000b2006410441d8ccc68000109181808000000b200328023821010b024002402001418080c400470d00200920032802444b0d01200320093602442003420037025c0c020b200920032f01304f0d00200320093b01300b2003420037025c0b02400240200a418001492201450d00410121080c010b0240200a4180104f0d00410221080c010b41034104200a41808004491b21080b2002210702402008200328020020026b4d0d002003200220084101410110a3868080002003280204210b200328020821070b200b20076a2107024002402001450d002007200a3a00000c010b0240200a418010490d000240200a41808004490d002007200a413f71418001723a00032007200a41127641f001723a00002007200a410676413f71418001723a00022007200a410c76413f71418001723a00010c020b2007200a413f71418001723a00022007200a410c7641e001723a00002007200a410676413f71418001723a00010c010b2007200a413f71418001723a00012007200a41067641c001723a00000b2003200820026a2202360208200328026021080c000b0b20072005470d000b0b200341306a2001200210bf8080800002400240024020032f01304101470d002003410a6a200341306a410c6a280200220836010020032003290234220d3701022000410c6a20083601002000200d370104200041013b0100200441808080807872418080808078470d010c020b200341286a200341306a412a6a290100220d370300200341206a200341306a41226a290100220c370300200341186a200341306a411a6a290100220e370300200341106a200341306a41126a290100220f370300200341086a200341306a410a6a29010022103703002003200329013222113703002000412a6a200d370100200041226a200c3701002000411a6a200e370100200041126a200f3701002000410a6a201037010020002011370102200041003b0100200441808080807872418080808078460d010b20012001417e6a2f00006b41002802ec82d48000118180808000000b200341f0006a2480808080000b830302037f017e23808080800041306b2205248080808000200541106a41086a2001280200220141086a220628020036020020064100360200200520012902003703102001428080808010370200200541086a200541106a20022003200410ab8f808000410121040240024002402005280208410171450d00024020052802100d000c020b200528021422012001417e6a2f00006b41002802ec82d48000118180808000000c010b200528020c2103200528021021042005411c6a200528021422022005280218220610f680808000200528021c4101460d0102402001280200450d00200128020422072007417e6a2f00006b41002802ec82d48000118180808000000b200120063602082001200236020420012004360200410021040b2000200336020420002004360200200541306a2480808080000f0b2005200529022022084220883e022c200520083e022820052006360224200520023602202005200436021c4188c9c68000412b2005411c6a41f8c8c680004190cac6800010a981808000000b900201027f23808080800041106b220224808080800020022000410c6a360204200128020041d4c8c68000410d200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41e1c8c680004105200041b4c8c68000108a818080001a200241086a41e6c8c680004105200241046a41c4c8c68000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710be40101047f23808080800041106b220124808080800041002102024002400240200028020822034100480d0020002802042102024020030d00410121040c030b41002d008083d480001a200341002802f482d480001182808080000022040d01410121020b2002200341d086c0800010b980808000000b2004417e6a41003b00000b20042002200310f49780800021042001200336020c2001200436020820012003360204200141046a10fc92808000210302402000280200450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200141106a24808080800020030b1e00200128020041ebc8c68000410c200128020428020c118080808000000b9b0601087f23808080800041c0006b220624808080800002402001450d000240024002400240024041014102410420032802002207418080808078461b2007418180808078461b417f6a0e0400010203000b413e21082002413e2002413e491b210941bf01210a418001210b0c030b413e21082002413e2002413e491b210941ff01210a41c001210b0c020b411e21082002411e2002411e491b2109413f210a4120210b0c010b410e21082002410e2002410e491b2109411f210a4110210b0b02402002410171220c450d0020012d0000210d0b2006410236021c2006200d3a0011200641013a000c2006410136020420062002417e713602182006200220096b3602082006200c3a001020062001200c6a3602142006200a200b200972200220084b1b3a000d2000200641046a41f8cac6800010978f8080000240024020042005470d0041002101410021020c010b410021014101210203402002410020042802001b200172210120024101742102200441046a22042005470d000b20014180fe037141087621020b02402000280200200028020822046b41014b0d002000200441024101410110a386808000200028020821040b200028020420046a2002410874200141ff0171723b00002000200028020841026a220236020802402007418180808078460d00200328020821042003280204210102402007418080808078460d0002402004200028020020026b4d0d002000200220044101410110a386808000200028020821020b200028020420026a2001200410f4978080001a2000200028020820046a3602082007450d0120012001417e6a2f00006b41002802ec82d48000118180808000000c010b200620043602382006200641386a360220200641206a200010dc84808000024020042000280200200028020822026b4d0d002000200220044101410110a386808000200028020821020b200028020420026a2001200410f4978080001a2000200028020820046a3602080b200641c0006a2480808080000f0b20064101360224200641e0cbc680003602202006420037022c20062006413c6a360228200641206a41e8cbc6800010fe80808000000bfd0201047f23808080800041306b220224808080800002400240200128020822034120490d00200241086a20012802042204200341002802c480d4800011868080800000200241203602282002200241286a36022c2002412c6a200010dc8480800002402000280200200028020822036b411f4b0d0020002003412010f491808000200028020821030b2000200341206a360208200028020420036a22002002290008370000200041086a200241086a41086a290000370000200041106a200241086a41106a290000370000200041186a200241086a41186a2900003700000c010b200128020421042002200336022c20022002412c6a360208200241086a200010dc84808000024020032000280200200028020822056b4d0d0020002005200310f491808000200028020821050b200028020420056a2004200310f4978080001a2000200520036a3602080b02402001280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000be40501077f23808080800041c0006b22022480808080002001280200220328020c210402400240024020032802142205200328021022064f0d000340200420056a2d0000220741776a220841174b0d024101200874419380800471450d022003200541016a220536021420062005470d000b200621050b2002410336023441012108200241286a20042006200541016a2205200620052006491b1087938080002000200241346a2002280228200228022c10f5928080003602040c010b0240200741fd00470d0041002108200041003a00010c010b024002400240024020012d00040d002007412c470d01410121082003200541016a22053602140240200520064f0d000340200420056a2d0000220141776a220741194b0d05024041012007744193808004710d0020074119470d06200041013a0001410021080c070b2003200541016a220536021420062005470d000b200621050b20024105360234200241106a20042006200541016a2205200620052006491b1087938080002000200241346a2002280210200228021410f5928080003602040c040b41002108200141003a000420074122460d012002411136023441012108200220042006200541016a2205200620052006491b1087938080002000200241346a2002280200200228020410f5928080003602040c030b2002410836023441012108200241206a20042006200541016a2205200620052006491b1087938080002000200241346a2002280220200228022410f5928080003602040c020b200041013a00010c010b0240200141fd00460d002002411136023441012108200241086a20042006200541016a2205200620052006491b1087938080002000200241346a2002280208200228020c10f5928080003602040c010b2002411536023441012108200241186a20042006200541016a2205200620052006491b1087938080002000200241346a2002280218200228021c10f5928080003602040b200020083a0000200241c0006a2480808080000be40201047f23808080800041306b2202248080808000410021032002410036020c20024280808080103702042002410136021420024194c2cc80003602102002420137021c200241e681808000ad4220862001ad843703282002200241286a3602180240200241046a41bcc7c68000200241106a10b1818080000d00024002400240200228020c22014100480d002002280208210320022802042104024020010d00410121050c030b41002d008083d480001a200141002802f482d480001182808080000022050d01410121030b2003200141d8cec6800010b980808000000b2005417e6a41003b00000b20052003200110f49780800021052000200136020c2000200536020820002001360204200041033a000002402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000f0b41e4c7c680004137200241106a41d4c7c68000419cc8c6800010a981808000000be20101027f23808080800041306b22022480808080002002410036020c20024280808080103702042002410136021420024194c2cc80003602102002420137021c200241e681808000ad4220862001ad843703282002200241286a3602180240200241046a41bcc7c68000200241106a10b1818080000d0020022802042103200020022802082201200228020c10919380800002402003450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000f0b41e4c7c680004137200241106a41d4c7c68000419cc8c6800010a981808000000bfb0101037f23808080800041306b2202248080808000410021032002410036020c20024280808080103702042002410136021420024194c2cc80003602102002420137021c200241e681808000ad4220862000ad843703282002200241286a3602180240200241046a41bcc7c68000200241106a10b1818080000d002002280204210402402001200141046a20022802082200200228020c10bd8d808000450d0010f69280800021030b02402004450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241306a24808080800020030f0b41e4c7c680004137200241106a41d4c7c68000419cc8c6800010a981808000000bfb0101037f23808080800041306b2202248080808000410021032002410036020c20024280808080103702042002410136021420024194c2cc80003602102002420137021c200241a183808000ad4220862000ad843703282002200241286a3602180240200241046a41bcc7c68000200241106a10b1818080000d002002280204210402402001200141046a20022802082200200228020c10bd8d808000450d0010f69280800021030b02402004450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241306a24808080800020030f0b41e4c7c680004137200241106a41d4c7c68000419cc8c6800010a981808000000be40201047f23808080800041306b2202248080808000410021032002410036020c20024280808080103702042002410136021420024194c2cc80003602102002420137021c200241a183808000ad4220862001ad843703282002200241286a3602180240200241046a41bcc7c68000200241106a10b1818080000d00024002400240200228020c22014100480d002002280208210320022802042104024020010d00410121050c030b41002d008083d480001a200141002802f482d480001182808080000022050d01410121030b2003200141d8cec6800010b980808000000b2005417e6a41003b00000b20052003200110f49780800021052000200136020c2000200536020820002001360204200041033a000002402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000f0b41e4c7c680004137200241106a41d4c7c68000419cc8c6800010a981808000000be20101027f23808080800041306b22022480808080002002410036020c20024280808080103702042002410136021420024194c2cc80003602102002420137021c200241a183808000ad4220862001ad843703282002200241286a3602180240200241046a41bcc7c68000200241106a10b1818080000d0020022802042103200020022802082201200228020c10919380800002402003450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000f0b41e4c7c680004137200241106a41d4c7c68000419cc8c6800010a981808000000bf80701097f23808080800041f0006b2202248080808000200128020c210302400240024020012802142204200128021022054f0d000340200320046a2d0000220641776a220741174b0d024101200774419380800471450d022001200441016a220436021420052004470d000b200521040b20024105360248200220032005200441016a2204200520042005491b108793808000200241c8006a2002280200200228020410f59280800021042000418080808078360200200020043602040c010b024002400240200641db00470d00200120012d0018417f6a22073a0018200741ff01710d0120024118360248200241086a20032005200441016a2204200520042005491b108793808000200241c8006a2002280208200228020c10f59280800021042000418080808078360200200020043602040c030b2001200241ef006a4190d0c6800010c58a80800021030c010b2001200441016a360214200241013a00182002200136021420024100360224200242808080801037021c200241c8006a200241146a10b08a8080000240024020022d00480d00200241cf006a210703400240024020022d00494101470d00200241c8006a200228021410a48d80800020022d00484101470d010c030b2002280224210620022802202103200228021c21040c030b200241286a41086a2206200741086a290000370300200241286a41106a2205200741106a290000370300200241286a41186a2208200741186a2f00003b010020022007290000370328200228004b210920022f0049210a024020022802242203200228021c470d002002411c6a41f0c3c680001090868080000b200228022020034105746a220420093600022004200a3b0000200420022903283700062004410e6a2006290300370000200441166a20052903003700002004411e6a20082f01003b00002002200341016a360224200241c8006a200241146a10b08a80800020022d0048450d000b0b200228024c210341808080807821040240200228021c450d00200228022022072007417e6a2f00006b41002802ec82d48000118180808000000b0b200120012d001841016a3a0018200110c88a80800021070240024002402004418080808078460d002007450d0120040d02200721030c030b2007450d02024020072802000d002007280208450d00200728020422042004417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c020b2000200636020820002003360204200020043602000c020b20032003417e6a2f00006b41002802ec82d4800011818080800000200721030b2003200110c68a80800021042000418080808078360200200020043602040b200241f0006a2480808080000bad0e03087f027e017f23808080800041f0016b2202248080808000200128020c210302400240024020012802142204200128021022054f0d000340200320046a2d0000220641776a220741174b0d024101200774419380800471450d022001200441016a220436021420052004470d000b200521040b200241053602c001200220032005200441016a2204200520042005491b108793808000200241c0016a2002280200200228020410f59280800021042000418080808078360200200020043602040c010b024002400240200641db00470d00200120012d0018417f6a22073a0018200741ff01710d01200241183602c001200241086a20032005200441016a2204200520042005491b108793808000200241c0016a2002280208200228020c10f59280800021042000418080808078360200200020043602040c030b2001200241ef016a41a0d0c6800010c58a80800021030c010b2001200441016a360214200241013a0028200220013602242002410036023420024280808080800237022c200241c0016a200241246a10b08a8080000240024002400240024020022d00c0010d00200241c7016a21080340024020022d00c1010d002002280234210620022802302103200228022c21040c060b2002280224220728020c21060240024020072802142204200728021022094f0d000340200620046a2d0000220541776a220341174b0d024101200374419380800471450d022007200441016a220436021420092004470d000b200921040b200241053602c001200241106a20062009200441016a2204200920042009491b108793808000200241c0016a2002280210200228021410f59280800021030c050b02400240200541db00470d00200720072d0018417f6a22033a0018200341ff01710d01200241183602c001200241186a20062009200441016a2204200920042009491b108793808000200241c0016a2002280218200228021c10f59280800021030c060b2007200241ef016a41f0c2c6800010c58a80800021040c040b2007200441016a360214200241013a007c20022007360278200241c0016a200241f8006a10b08a80800002400240024020022d00c0014101460d00024020022d00c1014101470d00200241c0016a200228027810a48d80800020022d00c0014101460d0120024180016a41086a2204200841086a29000037030020024180016a41106a2205200841106a29000037030020024180016a41186a2209200841186a2f00003b0100200220082900003703800120022800c301210320022f00c1012106200241c0016a200241f8006a10b68a808000024020022903c001220a42028520022903c8018450450d0020022802d00121090c030b0240200aa7410171450d00200241d8006a41086a2004290300370300200241d8006a41106a2005290300370300200241d8006a41186a20092f01003b0100200220022903800137035820022903d801210a20022903d001210b410021050c040b4101200241ef016a41f0c2c6800010a98a80800021090c020b4100200241ef016a41f0c2c6800010a98a80800021090c010b20022802c40121090b410121050b200720072d001841016a3a0018200710c88a808000210420050d0220040d03200241386a41186a2205200241d8006a41186a2f01003b0100200241386a41106a2209200241d8006a41106a290300370300200241386a41086a220c200241d8006a41086a29030037030020022002290358370338024020022802342207200228022c470d002002412c6a41f0c3c68000109b868080000b2002280230200741306c6a22042003360102200420063b0100200420022903383701062004200a3703282004200b3703202004410e6a200c290300370100200441166a20092903003701002004411e6a20052f01003b01002002200741016a360234200241c0016a200241246a10b08a80800020022d00c001450d000b0b20022802c40121030c020b02402004450d00024020042802000d002004280208450d00200428020422032003417e6a2f00006b41002802ec82d48000118180808000000b20042004417e6a2f01006b41002802ec82d48000118180808000000b200921040b2004200710c68a80800021030b41808080807821040240200228022c450d00200228023022072007417e6a2f00006b41002802ec82d48000118180808000000b0b200120012d001841016a3a0018200110c88a80800021070240024002402004418080808078460d002007450d0120040d02200721030c030b2007450d02024020072802000d002007280208450d00200728020422042004417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c020b2000200636020820002003360204200020043602000c020b20032003417e6a2f00006b41002802ec82d4800011818080800000200721030b2003200110c68a80800021042000418080808078360200200020043602040b200241f0016a2480808080000bda0301057f23808080800041306b2202248080808000200128020c210302400240024002400240024020012802142204200128021022054f0d0003400240200320046a2d0000220641776a0e2500000404000404040404040404040404040404040404040004040404040404040404040403040b2001200441016a220436021420052004470d000b200521040b2002410536022041012106200241106a20032005200441016a2204200520042005491b108793808000200241206a2002280210200228021410f59280800021040c040b410121062001200441016a360214200241206a2001410010c18a80800020022802204104460d02200241186a200241206a10b98a808000200228021c210420022802184101710d01410021060c030b0240200641506a41ff0171410a490d00410121062001200241206a4184b2c6800010c58a808000200110c68a80800021040c030b41012106200241206a2001410110c18a808000024020022802204104470d00200228022421040c030b200241086a200241206a10b98a8080002002280208410171210341002106200228020c21042003450d020b410121062004200110c68a80800021040c010b200228022421040b2000200436020420002006360200200241306a2480808080000bf00703067f027e027f23808080800041d0006b2203248080808000200128020c2104024002400240024020012802142205200128021022064f0d000340200420056a2d0000220741776a220841174b0d024101200874419380800471450d022001200541016a220536021420062005470d000b200621050b20034105360220200320042006200541016a2205200620052006491b1087938080002000200341206a2003280200200328020410f5928080003602000c010b024002400240200741db00470d00200120012d0018417f6a22083a0018200841ff01710d0120034118360220200341086a20042006200541016a2205200620052006491b1087938080002000200341206a2003280208200328020c10f5928080003602000c030b2001200341cf006a418cc5c6800010c58a80800021080c010b2001200541016a360214200341013a001c20032001360218200341206a200341186a10b08a80800002400240024020032d00204101470d002003280224210841818080807821050c010b0240024020032d00214101470d00200341106a200328021810a18b80800041818080807821052003280214210820032802104101710d02200341206a200341186a10b68a80800002402003290320220942028520032903288450450d00200328023021080c030b024002402009a7410171450d002003413c6a35020021092003290234210a20032802302107200341206a200341186a10b08a80800020032d00204101460d0320032d00214101470d01200341206a200328021810c68880800041818080807821052003280220220b418180808078460d0320032802282104200328022421062008210c20072108200b21050c050b4101200341cf006a418cc5c6800010a98a80800021080c030b4102200341cf006a418cc5c6800010a98a80800021080c020b41818080807821054100200341cf006a418cc5c6800010a98a80800021080c010b200328022421080b0b200120012d001841016a3a0018200110c88a80800021070240024002402005418180808078460d002007450d01200541808080807872418080808078470d02200721080c030b2007450d02024020072802000d002007280208450d00200728020422052005417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c020b2000200a3702042000200c360210200020063602182000200536021420002008360200200020093e020c411c21050c030b20062006417e6a2f00006b41002802ec82d4800011818080800000200721080b20002008200110c68a8080003602000b4181808080782104411421050b200020056a2004360200200341d0006a2480808080000bab1603087f027e047f23808080800041b0016b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b20064105360270200641306a20072009200841016a2208200920082009491b108793808000200641f0006a2006280230200628023410f59280800021082000418080808078360220200020083602000c010b0240024002400240024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641af016a41d0d0c6800010c58a808000210c0c0e0b200120012d0018417f6a220b3a00180240200b41ff0171450d002001200841016a360214200641013a006420062001360260200641f0006a200641e0006a10b08a808000024020062d00704101470d002006280274210c418080808078210d0c0b0b20062d00714101470d02200641f0006a200628026010a08b808000418080808078210d2006280274210c024020062802702208418080808078470d000c0b0b2006350278210e200641f0006a200641e0006a10b08a80800002400240024020062d00704101470d002006280274210b0c010b024020062d00714101470d00200641f0006a200628026010c4888080002006280270210b2006280284012209418280808078460d01200641d0006a200629027c37030020062006290274370348200e422086200cad84210e200629038801210f2008210d0c020b410141ecc6c6800041d4c5c6800010a98a808000210b0b418080808078210d02402008450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b0b200b210c0c0a0b20064118360270200620072009200841016a2208200920082009491b108793808000200641f0006a2006280200200628020410f59280800021080c080b200120012d0018417f6a220b3a0018200b41ff0171450d062001200841016a360214200641013a005c20062001360258200641f0006a200641d8006a10988b808000024020062d0070450d004182808080782109418080808078210a0c030b200641f0006a41047221104182808080782109418080808078210a03400240024002400240024020062d00714101470d002006280258220841003602082008200828021441016a360214200641f0006a2008410c6a20081089938080002006280274210b20062802704102460d090240024002402006280278220741786a0e04010a0a000a0b200b4197a1c78000410b10f597808000450d010c090b200b290000410029008fa1c78000520d080240200a418080808078460d0041b4c6c68000410810aa8a808000210b0c0b0b200828020c21070240024002402008280214220b2008280210220a4f0d00034002402007200b6a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200b41016a220b360214200a200b470d000b200a210b0b20064103360270200641186a2007200a200b41016a2208200a2008200a491b108793808000200641f0006a2006280218200628021c10f592808000210b0c040b20064106360270200641106a2007200a200b41016a2208200a2008200a491b108793808000200641f0006a2006280210200628021410f592808000210b0c030b2008200b41016a360214200641a0016a200810a08b80800020062802a401210b20062802a001220a418080808078460d0220062802a8012111200b21120c050b02402009418280808078460d0041bcc6c68000410b10aa8a808000210b0c0a0b200828020c21070240024002402008280214220b200828021022094f0d00034002402007200b6a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200b41016a220b3602142009200b470d000b2009210b0b200641033602a001200641286a20072009200b41016a2208200920082009491b108793808000200641a0016a2006280228200628022c10f592808000210c0c0c0b200641063602a001200641206a20072009200b41016a2208200920082009491b108793808000200641a0016a2006280220200628022410f592808000210c0c0b0b2008200b41016a360214200641f0006a200810c4888080002006280270210c2006280284012209418280808078460d0a200641e0006a41086a201041086a29020037030020062010290200370360200628028801210d200628028c0121130c040b0240200a418080808078460d002009418280808078470d0241818080807821090c030b41b4c6c68000410810a68a808000210b0b418080808078210a0c070b20064190016a41086a200641e0006a41086a29020037030020062006290260370390012013ad422086200dad84210e0b2011ad4220862012ad84210f0c070b200641f0006a200641d8006a10988b80800020062d00700d030c000b0b418080808078210d410041ecc6c6800041d4c5c6800010a98a808000210c0c070b200b200741a4a1c78000410210a88a808000210b0c010b2006280274210b0b02402009418380808078480d002009450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b200b210c0b0240200a41808080807872418080808078460d0020122012417e6a2f00006b41002802ec82d48000118180808000000b418080808078210a0b200120012d001841016a3a00184180808080782108200110c78a808000210d02400240200a418080808078460d00200fa7210b200ea72107200d0d01200f422088a72112200e422088a72110200641386a41086a20064190016a41086a2903003703002006200629039001370338200a21080c070b200d450d040240200d2802000d00200d280208450d00200d280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b200d200d417e6a2f01006b41002802ec82d48000118180808000000c060b0240200a450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b418080808078210802402009418280808078480d002009450d0020072007417e6a2f00006b41002802ec82d4800011818080800000200d210c0c060b200d210c0c050b20064118360270200641086a20072009200841016a2208200920082009491b108793808000200641f0006a2006280208200628020c10f59280800021080b2000418080808078360220200020083602000c060b200120012d001841016a3a00184180808080782108200110c88a808000210a200d418080808078470d01200a450d000240200a2802000d00200a280208450d00200a280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b200a200a417e6a2f01006b41002802ec82d48000118180808000000b0c010b200ea7210b200fa721070240200a0d00200e422088a72112200f422088a72110200641386a41086a200641c8006a41086a29030037030020062006290348370338200d21080c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b418080808078210802402009418280808078480d002009450d0020072007417e6a2f00006b41002802ec82d4800011818080800000200a210c0c010b200a210c0b2008418080808078460d0020002006290338370204200020123602282000200b3602242000201036021c20002007360218200020093602142000410c6a200641c0006a2903003702000c010b4180808080782108200c200110c68a808000210c0b200020083602202000200c3602000b200641b0016a2480808080000bed0501067f23808080800041306b2205248080808000200028020c210602400240024020002802142207200028021022084f0d000340200620076a2d0000220941776a220a41174b0d024101200a74419380800471450d022000200741016a220736021420082007470d000b200821070b20054105360220200520062008200741016a2207200820072008491b108793808000200541206a2005280200200528020410f59280800021070c010b0240024002400240200941db00460d00200941fb00460d0120002005412f6a41e0d1c6800010c58a808000200010c68a80800021070c040b200020002d00182209417f6a220a3a0018200a41ff0171450d02200020093a00182000200741016a360214200010c88a808000210a0c010b200020002d0018417f6a220a3a00180240200a41ff0171450d002000200741016a360214200541013a001c20052000360218200541206a200541186a10988b8080000240024020052d00204101470d00200528022421070c010b4100210720052d00214101470d002005280218220741003602082007200728021441016a360214200541206a2007410c6a20071089938080002005280224210720052802204102460d00200720052802284104410010a88a80800021070b200020002d001841016a3a00182007200010c78a808000220920071b210a2007450d012009450d01024020092802000d002009280208450d00200928020422072007417e6a2f00006b41002802ec82d48000118180808000000b20092009417e6a2f01006b41002802ec82d48000118180808000000c010b20054118360220200541106a20062008200741016a2207200820072008491b108793808000200541206a2005280210200528021410f59280800021070c020b41002107200a450d01200a200010c68a80800021070c010b20054118360220200541086a20062008200741016a2207200820072008491b108793808000200541206a2005280208200528020c10f59280800021070b200541306a24808080800020070bed0501067f23808080800041306b2205248080808000200028020c210602400240024020002802142207200028021022084f0d000340200620076a2d0000220941776a220a41174b0d024101200a74419380800471450d022000200741016a220736021420082007470d000b200821070b20054105360220200520062008200741016a2207200820072008491b108793808000200541206a2005280200200528020410f59280800021070c010b0240024002400240200941db00460d00200941fb00460d0120002005412f6a41b0d1c6800010c58a808000200010c68a80800021070c040b200020002d00182209417f6a220a3a0018200a41ff0171450d02200020093a00182000200741016a360214200010c88a808000210a0c010b200020002d0018417f6a220a3a00180240200a41ff0171450d002000200741016a360214200541013a001c20052000360218200541206a200541186a10988b8080000240024020052d00204101470d00200528022421070c010b4100210720052d00214101470d002005280218220741003602082007200728021441016a360214200541206a2007410c6a20071089938080002005280224210720052802204102460d00200720052802284104410010a88a80800021070b200020002d001841016a3a00182007200010c78a808000220920071b210a2007450d012009450d01024020092802000d002009280208450d00200928020422072007417e6a2f00006b41002802ec82d48000118180808000000b20092009417e6a2f01006b41002802ec82d48000118180808000000c010b20054118360220200541106a20062008200741016a2207200820072008491b108793808000200541206a2005280210200528021410f59280800021070c020b41002107200a450d01200a200010c68a80800021070c010b20054118360220200541086a20062008200741016a2207200820072008491b108793808000200541206a2005280208200528020c10f59280800021070b200541306a24808080800020070b840c01067f23808080800041d0006b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b200641053602404101210a200620072009200841016a2208200920082009491b108793808000200641c0006a2006280200200628020410f59280800021080c010b024002400240024002400240200a41db00460d00200a41fb00460d012001200641cf006a41c0d1c6800010c58a808000210b0c030b200120012d0018417f6a220b3a0018200b41ff0171450d044101210a2001200841016a360214200641013a003c20062001360238200641c0006a200641386a10b08a8080000240024020062d00404101470d00200628024421080c010b024020062d00414101470d00200641106a200628023810a18b8080002006280210210a200628021421080c010b4101210a410041ccc5c6800041d4c5c6800010a98a80800021080b200120012d001841016a3a0018200110c88a808000210b0240200a4101710d00200b0d034100210a0c060b200b450d010240200b2802000d00200b280208450d00200b280204220a200a417e6a2f00006b41002802ec82d48000118180808000000b200b200b417e6a2f01006b41002802ec82d48000118180808000000c010b200120012d0018417f6a220b3a0018200b41ff0171450d022001200841016a360214200641013a003c20062001360238200641c0006a200641386a10988b8080000240024020062d00404101460d00024020062d00414101470d002006280238220b41003602084101210a200b200b28021441016a360214200641c0006a200b410c6a200b108993808000200628024421080240024020062802404102460d00024020062802482207410b470d00200841f892c58000410b10f597808000450d020b4101210a20082007418493c58000410110a88a80800021080c040b20080d030b200b28020c2107024002400240200b2802142208200b28021022094f0d0003400240200720086a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b200b200841016a220836021420092008470d000b200921080b200641033602404101210a200641286a20072009200841016a2208200920082009491b108793808000200641c0006a2006280228200628022c10f59280800021080c040b200641063602404101210a200641206a20072009200841016a2208200920082009491b108793808000200641c0006a2006280220200628022410f59280800021080c030b4101210a200b200841016a360214200641306a200b10a18b8080002006280234210820062802304101710d02200641c0006a200641386a10988b80800020062d00400d014100210a20062d00414101470d022006280238220841003602082008200828021441016a360214200641c0006a2008410c6a200810899380800020062802442108024020062802404102460d002008200628024810878780800021080b4101210a20080d0241a4c7c68000410b10aa8a80800021080c020b4101210a41a4c7c68000410b10a68a80800021080c010b200628024421084101210a0b200120012d001841016a3a0018200110c78a808000210b0240200a0d00200b0d024100210a0c050b200b450d000240200b2802000d00200b280208450d00200b280204220a200a417e6a2f00006b41002802ec82d48000118180808000000b200b200b417e6a2f01006b41002802ec82d48000118180808000000b2008210b0b4101210a200b200110c68a80800021080c020b200641183602404101210a200641186a20072009200841016a2208200920082009491b108793808000200641c0006a2006280218200628021c10f59280800021080c010b200641183602404101210a200641086a20072009200841016a2208200920082009491b108793808000200641c0006a2006280208200628020c10f59280800021080b200020083602042000200a360200200641d0006a2480808080000bb70f01077f23808080800041e0016b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b2006410536028c014101210b200620072009200841016a2208200920082009491b1087938080002006418c016a2006280200200628020410f59280800021080c010b024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641df016a41a0d1c6800010c58a80800021070c070b200120012d0018417f6a220b3a0018200b41ff0171450d07410121092001200841016a360214200641013a0054200620013602502006418c016a200641d0006a10b08a80800020062d008c014101460d01024020062d008d014101470d002006418c016a200628025010c5888080004101210920062d008c014101460d02200641f0006a41086a22072006418c016a41106a290200370300200641f0006a41106a22092006418c016a41186a290200370300200641f0006a41186a220c200641ac016a2f01003b0100200620062902940137037020062d008d01220a4102460d00200628029001210820062f018e01210b200641286a41186a200c2f01003b0100200641286a41106a2009290300370300200641286a41086a200729030037030020062006290370370328410021090c040b41012109410041ccc5c6800041d4c5c6800010a98a80800021080c020b200120012d0018417f6a220b3a00180240200b41ff0171450d004101210c2001200841016a360214200641013a004c200620013602482006418c016a200641c8006a10988b80800002400240024020062d008c010d00024020062d008d014101460d004102210a0c020b20064194016a21094102210a03402006280248220b4100360208200b200b28021441016a3602142006418c016a200b410c6a200b108993808000200628029001210802400240200628028c014102460d00024020062802940122074103470d00200841b1ffc48000410310f597808000450d020b4101210c2008200741b4ffc48000410110a88a80800021080c050b2008450d004101210c0c040b0240200a41ff01714102460d004101210c41e4c5c68000410310aa8a80800021080c040b200b28020c210a024002400240200b2802142208200b28021022074f0d0003400240200a20086a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b200b200841016a220836021420072008470d000b200721080b200641033602d0014101210c200641206a200a2007200841016a2208200720082007491b108793808000200641d0016a2006280220200628022410f59280800021080c050b200641063602d0014101210c200641186a200a2007200841016a2208200720082007491b108793808000200641d0016a2006280218200628021c10f59280800021080c040b200b200841016a3602142006418c016a200b10c588808000024020062d008c01410171450d0020062802900121084101210c0c040b200641d0006a41086a200941086a290200370300200641d0006a41106a200941106a290200370300200641d0006a41186a200941186a2f01003b010020062009290200370350200628029001210820062f018e01210b20062d008d01210a2006418c016a200641c8006a10988b80800020062d008c010d0120062d008d014101470d020c000b0b20062802900121080c010b0240200a41ff01714102470d004100210c4100210a0c010b200641b0016a41186a200641d0006a41186a2f01003b0100200641b0016a41106a200641d0006a41106a290300370300200641b0016a41086a200641d0006a41086a290300370300200620062903503703b0014100210c0b200120012d001841016a3a0018200110c78a80800021070240200c0d0020070d07200641b0016a21010c050b2007450d05024020072802000d002007280208450d002007280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c050b2006411836028c014101210b200641106a20072009200841016a2208200920082009491b1087938080002006418c016a2006280210200628021410f59280800021080c070b20062802900121080b0b200120012d001841016a3a0018200110c88a8080002107024020090d0020070d03200641286a21010c010b2007450d01024020072802000d002007280208450d002007280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c010b2000200b3b01022000200a3a000120002001290200370208200041206a200141186a2f01003b0100200041186a200141106a290200370200200041106a200141086a2902003702004100210b0c030b200821070b4101210b2007200110c68a80800021080c010b2006411836028c014101210b200641086a20072009200841016a2208200920082009491b1087938080002006418c016a2006280208200628020c10f59280800021080b2000200b3a000020002008360204200641e0016a2480808080000b951404067f037e017f017e23808080800041b0016b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b200641053602a00141012101200620072009200841016a2208200920082009491b1087938080002000200641a0016a2006280200200628020410f5928080003602040c010b024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641af016a41d0d1c6800010c58a80800021070c0a0b200120012d0018417f6a220b3a00180240200b41ff0171450d004101210b2001200841016a360214200641013a009c012006200136029801200641a0016a20064198016a10b08a808000024020062d00a0014101470d0020062802a40121070c080b024020062d00a1014101470d00200641a0016a20062802980110ab8a80800020062802a4012107024020062802a0012209418080808078470d004101210b0c090b02400240024020062802a801220a0e020700010b4101210b2007210820072d000041556a0e03060106010b024020072d0000412b470d00200a417f6a210b200741016a2108200a4122490d010c050b20072108200a210b200a41214f0d040b4200210c4200210d034020082d000041506a220a41094b0d05200641106a200c200d420a420010fc97808000200841016a210820062903182006290310220d200aad7c220c200d54ad7c210d200b417f6a220b0d000b200c422088200d42208684210e200d422088210d200ca7210b0c060b4101210b410041ccc5c6800041d4c5c6800010a98a80800021070c070b200641183602a001200641086a20072009200841016a2208200920082009491b1087938080002000200641a0016a2006280208200628020c10f5928080003602040c0a0b200120012d0018417f6a220b3a00180240200b41ff0171450d00410121092001200841016a360214200641013a009c012006200136029801200641a0016a20064198016a10988b80800002400240024020062d00a0014101460d0002400240024002400240024020062d00a1014101470d00200628029801220b4100360208200b200b28021441016a360214200641a0016a200b410c6a200b10899380800020062802a40121070240024020062802a0014102460d00024020062802a8012208410a470d002007418c93c58000410a10f597808000450d020b4101210920072008419893c58000410110a88a80800021070c090b20070d060b200b28020c210a024002400240200b2802142208200b28021022074f0d0003400240200a20086a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b200b200841016a220836021420072008470d000b200721080b200641033602a00141012109200641d8006a200a2007200841016a2208200720082007491b108793808000200641a0016a2006280258200628025c10f59280800021070c090b200641063602a00141012109200641d0006a200a2007200841016a2208200720082007491b108793808000200641a0016a2006280250200628025410f59280800021070c080b200b200841016a360214200641a0016a200b10ab8a80800020062802a401210720062802a001220f418080808078460d0502400240024020062802a801220a0e020500010b4101210b2007210820072d000041556a0e03040104010b024020072d0000412b470d00200a417f6a210b200741016a2108200a4122490d010c030b20072108200a210b200a41214f0d020b4200210c4200210d034020082d000041506a220a41094b0d03200641e0006a200c200d420a420010fc97808000200841016a210820062903682006290360220d200aad7c220c200d54ad7c210d200b417f6a220b450d040c000b0b4101210941afc7c68000410a10a68a80800021070c060b4200210c4200210d0340200b450d02200641f0006a200d4200420a420010fc9780800020064180016a200c4200420a420010fc978080002006290378420052200629038801220c20062903707c220e200c54720d0120082d000041506a220a41094b0d01200841016a2108200b417f6a210b2006290380012210200aad7c220c201054220a200e200aad7c220d200e54200c20105a1b450d000b0b41012108419cc2cc8000412b10ae8a808000210b0c010b410021080b0240200f450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b02402008450d0041012109200b21070c030b200641a0016a20064198016a10988b80800020062d00a0010d01024020062d00a1014101460d00410021090c040b200628029801220841003602082008200828021441016a360214200641a0016a2008410c6a200810899380800020062802a4012107024020062802a0014102460d00200720062802a80110888780800021070b4101210920070d0241afc7c68000410a10aa8a80800021070c020b410121090c020b20062802a40121070b0b200120012d001841016a3a0018200110c78a8080002108024020090d002008210720080d0a0c090b2008450d09024020082802000d002008280208450d002008280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20082008417e6a2f01006b41002802ec82d48000118180808000000c090b200641183602a001200641c8006a20072009200841016a2208200920082009491b1087938080002000200641a0016a2006280248200628024c10f5928080003602040c090b4200210c420021100340200b450d02200641206a20104200420a420010fc97808000200641306a200c4200420a420010fc9780800020062903284200522006290338220c20062903207c220d200c54720d0120082d000041506a220a41094b0d01200841016a2108200b417f6a210b2006290330220e200aad7c220c200e54220a200d200aad7c2210200d54200c200e5a1b450d000b0b4200210e41012108419cc2cc8000412b10ae8a808000210a4200210d0c020b200c422088201042208684210e2010422088210d200ca7210b0b410021080b02402009450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b02402008450d004101210b200a21070c010b200d422086200e42208884210d200e422086200bad84210c4100210b0c010b0b200120012d001841016a3a0018200110c88a80800021080240200b0d00200821072008450d010c020b2008450d01024020082802000d002008280208450d002008280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20082008417e6a2f01006b41002802ec82d48000118180808000000c010b2000200c3703102000200d370318410021010c020b20002007200110c68a8080003602040b410121010b20002001360200200641b0016a2480808080000b1e00200128020041f8d2c680004110200128020428020c118080808000000bc50501097f23808080800041f0006b220324808080800002400240200028020022042000280204470d00410221040c010b20002004410c6a36020002400240024020002802082205200028020c2802004b0d002000280210210641022107024020042802004102460d00200341cc006a200410a68d808000200341c8006a41026a220420032d004f3a0000200341286a41086a2208200341cc006a41106a290200370300200341286a41106a2209200341cc006a41186a290200370300200341286a41186a220a200341ec006a280200360200200320032f004d3b0148200320032902543703282003280250210b20032d004c22074102460d02200341246a41026a20042d00003a0000200341086a41086a2008290300370300200341086a41106a2009290300370300200341086a41186a200a280200360200200320032f01483b0124200320032903283703080b0240200628020822022006280200470d00200641c8d8c6800010ed828080000b2006280204200241246c6a220420032f01243b0001200420073a00002004200b36020420042003290308370208200441036a200341266a2d00003a0000200441106a200341106a290300370200200441186a200341086a41106a290300370200200441206a200341086a41186a2802003602002006200241016a3602080b410121040c010b024020022802002204450d000240024002400240200428020041fcffffff076a2206410320064105491b0e0403030102000b2004280204450d02200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2004280204450d01200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200410ab8b8080000b20042004417e6a2f01006b41002802ec82d48000118180808000000b2002200b360200410021040b2000200541016a3602080b200341f0006a24808080800020040bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b200010ab8b8080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0bc50501097f23808080800041f0006b220324808080800002400240200028020022042000280204470d00410221040c010b20002004410c6a36020002400240024020002802082205200028020c2802004b0d002000280210210641022107024020042802004102460d00200341cc006a200410a68d808000200341c8006a41026a220420032d004f3a0000200341286a41086a2208200341cc006a41106a290200370300200341286a41106a2209200341cc006a41186a290200370300200341286a41186a220a200341ec006a280200360200200320032f004d3b0148200320032902543703282003280250210b20032d004c22074102460d02200341246a41026a20042d00003a0000200341086a41086a2008290300370300200341086a41106a2009290300370300200341086a41186a200a280200360200200320032f01483b0124200320032903283703080b0240200628020822022006280200470d00200641d8d8c6800010ed828080000b2006280204200241246c6a220420032f01243b0001200420073a00002004200b36020420042003290308370208200441036a200341266a2d00003a0000200441106a200341106a290300370200200441186a200341086a41106a290300370200200441206a200341086a41186a2802003602002006200241016a3602080b410121040c010b024020022802002204450d000240024002400240200428020041fcffffff076a2206410320064105491b0e0403030102000b2004280204450d02200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2004280204450d01200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200410ab8b8080000b20042004417e6a2f01006b41002802ec82d48000118180808000000b2002200b360200410021040b2000200541016a3602080b200341f0006a24808080800020040bc50501097f23808080800041f0006b220324808080800002400240200028020022042000280204470d00410221040c010b20002004410c6a36020002400240024020002802082205200028020c2802004b0d002000280210210641022107024020042802004102460d00200341cc006a200410a88d808000200341c8006a41026a220420032d004f3a0000200341286a41086a2208200341cc006a41106a290200370300200341286a41106a2209200341cc006a41186a290200370300200341286a41186a220a200341ec006a280200360200200320032f004d3b0148200320032902543703282003280250210b20032d004c22074102460d02200341246a41026a20042d00003a0000200341086a41086a2008290300370300200341086a41106a2009290300370300200341086a41186a200a280200360200200320032f01483b0124200320032903283703080b0240200628020822022006280200470d00200641d8d8c6800010ed828080000b2006280204200241246c6a220420032f01243b0001200420073a00002004200b36020420042003290308370208200441036a200341266a2d00003a0000200441106a200341106a290300370200200441186a200341086a41106a290300370200200441206a200341086a41186a2802003602002006200241016a3602080b410121040c010b024020022802002204450d000240024002400240200428020041fcffffff076a2206410320064105491b0e0403030102000b2004280204450d02200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2004280204450d01200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200410ab8b8080000b20042004417e6a2f01006b41002802ec82d48000118180808000000b2002200b360200410021040b2000200541016a3602080b200341f0006a24808080800020040bc50501097f23808080800041f0006b220324808080800002400240200028020022042000280204470d00410221040c010b20002004410c6a36020002400240024020002802082205200028020c2802004b0d002000280210210641022107024020042802004102460d00200341cc006a200410a88d808000200341c8006a41026a220420032d004f3a0000200341286a41086a2208200341cc006a41106a290200370300200341286a41106a2209200341cc006a41186a290200370300200341286a41186a220a200341ec006a280200360200200320032f004d3b0148200320032902543703282003280250210b20032d004c22074102460d02200341246a41026a20042d00003a0000200341086a41086a2008290300370300200341086a41106a2009290300370300200341086a41186a200a280200360200200320032f01483b0124200320032903283703080b0240200628020822022006280200470d00200641c8d8c6800010ed828080000b2006280204200241246c6a220420032f01243b0001200420073a00002004200b36020420042003290308370208200441036a200341266a2d00003a0000200441106a200341106a290300370200200441186a200341086a41106a290300370200200441206a200341086a41186a2802003602002006200241016a3602080b410121040c010b024020022802002204450d000240024002400240200428020041fcffffff076a2206410320064105491b0e0403030102000b2004280204450d02200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2004280204450d01200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200410ab8b8080000b20042004417e6a2f01006b41002802ec82d48000118180808000000b2002200b360200410021040b2000200541016a3602080b200341f0006a24808080800020040b1e0020012802004188d3c680004111200128020428020c118080808000000b470020004101360200024020052802002200450d0020042000118180808000000b02402005280204450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b0b9a0101017f024002402001280208410f490d0041d7c7cd800020012802042203410f10f597808000450d010b20002802002001200210d78a8080000f0b024020022802002200418080808078460d002000450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402001280200450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b0b9c0201027f23808080800041206b2203248080808000410021040240024002400240024020024100480d00024020020d004101210441012001200210f4978080001a20034180808080783602080c030b41002d008083d480001a200241002802f482d480001182808080000022040d01410121040b2004200241d8d9c6800010b980808000000b2004417e6a41003b000020042001200210f497808000210120034180808080783602082002410f490d0041d7c7cd80002001410f10f597808000450d010b200028020021012003200236021c20032004360218200320023602142001200341146a200341086a10d78a8080000c010b20012001417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000b1300200028020020012002200310de8a8080000bc50101027f23808080800041206b22042480808080004100210502400240024020034100480d00024020030d00410121050c030b41002d008083d480001a200341002802f482d480001182808080000022050d01410121050b2005200341d8d9c6800010b980808000000b2005417e6a41003b00000b20052002200310f4978080002105200420033602102004200536020c20042003360208200441808080807836021420002802002001200441086a200441146a10de8a808000200441206a2480808080000bb11904047f017e067f017e23808080800041f0026b220a2480808080000240024020030d00418080808078210b0c010b4100210c0240024002402003280208220b4100480d002003280204210d0240200b0d004101210c0c030b41002d008083d480001a200b41002802f482d4800011828080800000220c0d014101210c0b200c200b41a8b2c8800010b980808000000b200c417e6a41003b00000b200bad422086200c200d200b10f497808000ad84210e0b200a200936029801200a200836029401200a200536029001200a200436028c01200a41003b019c01200a200e37028401200a200b36028001200a41d8016a2002200a4180016a10fc8a8080000240024002400240024002400240200a2802d801220b418080808078470d004100210441002802b483d4800041034b0d010c050b200a41046a41046a200a41d8016a41046a41f40010f4978080001a200a200236027c200a200b360204200a41d8006a210b2006410171210f41002108410021040340200a280240210c200a418080808078360240200a280244211002400240024002400240024002400240200a2d00790d00200a2802482111200a4180016a41186a200b41186a2205290000370300200a4180016a41106a200b41106a2206290000370300200a4180016a41086a200b41086a220d290000370300200a200b29000037038001410021090240200a28024c418080808078460d00200a200a2902503702a801200a41b0d3c680003602a401200221090b200a20093602a0010240024020022802442212450d00200a41d8016a41186a2005290000370300200a41d8016a41106a2006290000370300200a41d8016a41086a200d290000370300200a200b2900003703d801200a41b0016a2012200a41d8016a10f087808000200a41b0016a4100200a2802b0011b21050c010b41002105200a41003602b0010b41c4d3c6800041b0d3c6800020091b2106200a41a0016a200220091b210d0240024020022802482209450d00200228024c22122802080d03201241086a2213417f36020020092802080d04200941086a2214417f36020020022802502202280208450d0141ccd7c58000109a81808000000b200a20063602fc01200a200d3602f801200a4188d4c680003602f401200a41003602f001200a42003702e801200a41ecd3c680003602e401200a41003602dc01200a20053602e001200a20054100473602d801200a200a4180016a36028002200a41e0026a200a41046a200a41d8016a10b489808000200c418080808078460d07200a2802e00222024181808080784c0d06200a2802e8022011470d06200a2802e40222092010201110f5978080000d06200a41c0016a200a41046a200a41d8016a10b48980800002402002450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200a41e0026a41086a200a41c0016a41086a280200360200200a200a2902c0013703e0020c060b2002417f360208200a200241086a3602d401200a20133602cc01200a20143602c401200a200241106a3602d001200a2012410c6a3602c801200a200941106a3602c001200a20063602fc01200a200d3602f801200a4188d4c680003602f401200a42013702e801200a41ecd3c680003602e401200a41003602dc01200a20053602e001200a20054100473602d801200a200a4180016a36028002200a200a41c0016a3602f001200a41d0026a200a41046a200a41d8016a10b489808000200c418080808078460d04200a2802d00222024181808080784c0d03200a2802d8022011470d03200a2802d40222092010201110f5978080000d03200a41e0026a200a41046a200a41d8016a10b48980800002402002450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200a41d0026a41086a200a41e0026a41086a280200360200200a200a2902e0023703d0020c030b41808080807821094200210e0240200c41808080807872418080808078470d00420021150c0c0b20102010417e6a2f00006b41002802ec82d4800011818080800000420021150c0b0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b200c450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b200a2802d8022105200a2802d4022102200a2802d0022109200a2802c001450d02200a2802c401220c200c28020041016a360200200a2802cc01220c200c28020041016a360200200a2802d401220c200c28020041016a3602000c020b200c450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b200a2802e8022105200a2802e4022102200a2802e00221090b0240200a2802b001450d00200a2802b401220c200c28020041016a360200200a2802b801450d00200a2802bc01220c200c28020041016a3602000b0240024002400240024020094180808080786a0e020100020b200a41013a00790c070b0240200228020041fcffffff076a220b4101470d00200a2d00784101470d00200a41023a0079200210b68b8080000c070b0240024002400240200b4103200b4105491b0e0403030102000b2002280204450d022002280208220b200b417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d012002280208220b200b417e6a2f00006b41002802ec82d48000118180808000000c010b200210ab8b8080000b20022002417e6a2f00006b41002802ec82d48000118180808000004200210e418080808078210941002802b483d4800041034b0d01420021150c070b0240200f450d0020082007470d00200721080c050b02400240024020030d00200a41c0016a20012002200510ec8a8080000240200a2802c0014101470d00200a2802c401450d020b200a200536028801200a200236028401200a200936028001200a4180808080783602d8012001200a4180016a200a41d8016a10d78a808000200841016a2202417f20021b2108200441016a2202417f20021b21040c040b200a41c0016a200120032002200510d98a808000200a2802c0014101470d01200a2802c4010d010b200841016a2208417f20081b21082009450d0220022002417e6a2f00006b41002802ec82d48000118180808000000c020b200a200536028801200a200236028401200a200936028001200a4180808080783602d80120012003200a4180016a200a41d8016a10de8a808000200841016a2202417f20021b2108200441016a2202417f20021b21040c010b200a41c883808000ad422086200a41ef026aad8437038001410028029080d480002102410028028c80d48000210b41002802b083d480002103200a420137029002200a410136028802200a41c0d4c6800036028402200a410436028002200a419fd5c680003602fc01200a41043602f801200a41c8d4c68000ad4280808080f00a843702f001200a41003602ec01200a41a3d5c68000ad4280808080d002843702e401200a41003602e001200a4281808080a0d4003702d8012002419cf4ca8000200341024622031b2802102102200a200a4180016a36028c02200b41b4f4ca800020031b200a41d8016a2002118b8080800000420021150c050b200a28027c22020d000b41808080807821090c010b200a41c883808000ad422086200a41ef026aad843703d801410028029080d480002102410028028c80d48000210b41002802b083d480002103200a420137023c200a4101360234200a41c0d4c68000360230200a410436022c200a419fd5c68000360228200a4104360224200a41c8d4c68000ad4280808080f00a8437021c200a4100360218200a41a3d5c68000ad4280808080d00284370210200a410036020c200a4281808080e0d2003702042002419cf4ca8000200341024622031b2802102102200a200a41d8016a360238200b41b4f4ca800020031b200a41046a2002118b80808000000c030b2005ad42208621152002ad210e0c010b4200210e4180808080782109420021150b0240200a2802402202418080808078460d002002450d00200a28024422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a28024c2202418080808078460d002002450d00200a28025022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a28020c220b450d00200a28020841086a210203402002280200220320032802002203417f6a360200024020034101470d00200210de8f8080000b200241306a2102200b417f6a220b0d000b0b0240200a280204450d00200a28020822022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a2802384129490d00200a28021022022002417e6a2f00006b41002802ec82d48000118180808000000b2000200936020020002015200e843702040c010b2000418080808078360200410021080b200020083602102000200436020c200a41f0026a2480808080000ba40101017f0240024002400240200028020041fcffffff076a2201410320014105491b0e0403030102000b2000280204450d02200028020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2000280204450d01200028020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200010ab8b8080000b20002000417e6a2f00006b41002802ec82d48000118180808000000bb41904047f017e067f017e23808080800041f0026b220a2480808080000240024020030d00418080808078210b0c010b4100210c0240024002402003280208220b4100480d002003280204210d0240200b0d004101210c0c030b41002d008083d480001a200b41002802f482d4800011828080800000220c0d014101210c0b200c200b41a8b2c8800010b980808000000b200c417e6a41003b00000b200bad422086200c200d200b10f497808000ad84210e0b200a200936029801200a200836029401200a200536029001200a200436028c01200a41003b019c01200a200e37028401200a200b36028001200a41d8016a2002200a4180016a10fd8a8080000240024002400240024002400240200a2802d801220b418080808078470d004100210441002802b483d4800041034b0d010c050b200a41046a41046a200a41d8016a41046a41f40010f4978080001a200a200236027c200a200b360204200a41d8006a210b2006410171210f41002108410021040340200a280240210c200a418080808078360240200a280244211002400240024002400240024002400240200a2d00790d00200a2802482111200a4180016a41186a200b41186a2205290000370300200a4180016a41106a200b41106a2206290000370300200a4180016a41086a200b41086a220d290000370300200a200b29000037038001410021090240200a28024c418080808078460d00200a200a2902503702a801200a41d8d3c680003602a401200221090b200a20093602a0010240024020022802442212450d00200a41d8016a41186a2005290000370300200a41d8016a41106a2006290000370300200a41d8016a41086a200d290000370300200a200b2900003703d801200a41b0016a2012280200200a41d8016a10f087808000200a41b0016a4100200a2802b0011b21050c010b41002105200a41003602b0010b41c4d3c6800041d8d3c6800020091b2106200a41a0016a200220091b210d0240024020022802482209450d00200228024c22122802080d03201241086a2213417f36020020092802080d04200941086a2214417f36020020022802502202280208450d0141ccd7c58000109a81808000000b200a20063602fc01200a200d3602f801200a4188d4c680003602f401200a41003602f001200a42003702e801200a41ecd3c680003602e401200a41003602dc01200a20053602e001200a20054100473602d801200a200a4180016a36028002200a41e0026a200a41046a200a41d8016a10b489808000200c418080808078460d07200a2802e00222024181808080784c0d06200a2802e8022011470d06200a2802e40222092010201110f5978080000d06200a41c0016a200a41046a200a41d8016a10b48980800002402002450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200a41e0026a41086a200a41c0016a41086a280200360200200a200a2902c0013703e0020c060b2002417f360208200a200241086a3602d401200a20133602cc01200a20143602c401200a200241106a3602d001200a2012410c6a3602c801200a200941106a3602c001200a20063602fc01200a200d3602f801200a4188d4c680003602f401200a42013702e801200a41ecd3c680003602e401200a41003602dc01200a20053602e001200a20054100473602d801200a200a4180016a36028002200a200a41c0016a3602f001200a41d0026a200a41046a200a41d8016a10b489808000200c418080808078460d04200a2802d00222024181808080784c0d03200a2802d8022011470d03200a2802d40222092010201110f5978080000d03200a41e0026a200a41046a200a41d8016a10b48980800002402002450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200a41d0026a41086a200a41e0026a41086a280200360200200a200a2902e0023703d0020c030b41808080807821094200210e0240200c41808080807872418080808078470d00420021150c0c0b20102010417e6a2f00006b41002802ec82d4800011818080800000420021150c0b0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b200c450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b200a2802d8022105200a2802d4022102200a2802d0022109200a2802c001450d02200a2802c401220c200c28020041016a360200200a2802cc01220c200c28020041016a360200200a2802d401220c200c28020041016a3602000c020b200c450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b200a2802e8022105200a2802e4022102200a2802e00221090b0240200a2802b001450d00200a2802b401220c200c28020041016a360200200a2802b801450d00200a2802bc01220c200c28020041016a3602000b0240024002400240024020094180808080786a0e020100020b200a41013a00790c070b0240200228020041fcffffff076a220b4101470d00200a2d00784101470d00200a41023a0079200210b68b8080000c070b0240024002400240200b4103200b4105491b0e0403030102000b2002280204450d022002280208220b200b417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d012002280208220b200b417e6a2f00006b41002802ec82d48000118180808000000c010b200210ab8b8080000b20022002417e6a2f00006b41002802ec82d48000118180808000004200210e418080808078210941002802b483d4800041034b0d01420021150c070b0240200f450d0020082007470d00200721080c050b02400240024020030d00200a41c0016a20012002200510ec8a8080000240200a2802c0014101470d00200a2802c401450d020b200a200536028801200a200236028401200a200936028001200a4180808080783602d8012001200a4180016a200a41d8016a10d78a808000200841016a2202417f20021b2108200441016a2202417f20021b21040c040b200a41c0016a200120032002200510d98a808000200a2802c0014101470d01200a2802c4010d010b200841016a2208417f20081b21082009450d0220022002417e6a2f00006b41002802ec82d48000118180808000000c020b200a200536028801200a200236028401200a200936028001200a4180808080783602d80120012003200a4180016a200a41d8016a10de8a808000200841016a2202417f20021b2108200441016a2202417f20021b21040c010b200a41c883808000ad422086200a41ef026aad8437038001410028029080d480002102410028028c80d48000210b41002802b083d480002103200a420137029002200a410136028802200a41c0d4c6800036028402200a410436028002200a419fd5c680003602fc01200a41043602f801200a41c8d4c68000ad4280808080f00a843702f001200a41003602ec01200a41a3d5c68000ad4280808080d002843702e401200a41003602e001200a4281808080a0d4003702d8012002419cf4ca8000200341024622031b2802102102200a200a4180016a36028c02200b41b4f4ca800020031b200a41d8016a2002118b8080800000420021150c050b200a28027c22020d000b41808080807821090c010b200a41c883808000ad422086200a41ef026aad843703d801410028029080d480002102410028028c80d48000210b41002802b083d480002103200a420137023c200a4101360234200a41c0d4c68000360230200a410436022c200a419fd5c68000360228200a4104360224200a41c8d4c68000ad4280808080f00a8437021c200a4100360218200a41a3d5c68000ad4280808080d00284370210200a410036020c200a4281808080e0d2003702042002419cf4ca8000200341024622031b2802102102200a200a41d8016a360238200b41b4f4ca800020031b200a41046a2002118b80808000000c030b2005ad42208621152002ad210e0c010b4200210e4180808080782109420021150b0240200a2802402202418080808078460d002002450d00200a28024422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a28024c2202418080808078460d002002450d00200a28025022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a28020c220b450d00200a28020841086a210203402002280200220320032802002203417f6a360200024020034101470d00200210de8f8080000b200241306a2102200b417f6a220b0d000b0b0240200a280204450d00200a28020822022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a2802384129490d00200a28021022022002417e6a2f00006b41002802ec82d48000118180808000000b2000200936020020002015200e843702040c010b2000418080808078360200410021080b200020083602102000200436020c200a41f0026a2480808080000b040041000b3301017f20002802042201200128020041016a36020002402000280208450d00200028020c2200200028020041016a3602000b0b3a01017f20002802042201200128020041016a360200200028020c2201200128020041016a36020020002802142200200028020041016a3602000b7e01027f024020002802482201450d0020012001280200417f6a2202360200024020020d00200041c8006a10ff878080000b200028024c22012001280200417f6a2201360200024020010d00200041cc006a1081888080000b200028025022012001280200417f6a220136020020010d00200041d0006a1082888080000b0b8a0201037f23808080800041106b220224808080800041012103200128020041e580c280004101200128020428020c118080808000002104200241003a0009200220043a0008200220013602042002200036020c200241046a2002410c6a41c8fec78000108b818080001a2002200041016a36020c200241046a2002410c6a41c8fec78000108b818080001a2002200041026a36020c200241046a2002410c6a41c8fec78000108b818080001a2002200041036a36020c200241046a2002410c6a41c8fec78000108b818080001a024020022d00084101710d002002280204220028020041e680c280004101200028020428020c1180808080000021030b200241106a24808080800020030b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d00200020012002200341012006109f8c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610bd8b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610988c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610be8b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b800c01117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061084908080000c010b2002416c6a21080340024020040d0020002001200220034101200610958c8080000c020b200020014103762209418c016c6a210a2000200941d0006c6a210b02400240200141c000490d002000200b200a200910ba85808000210c0c010b2000210c2000200b410810f59780800022092000200a410810f597808000734100480d00200a200b200b200a410810f5978080002009734100481b210c0b2004417f6a2104200741106a200c41106a280200360200200741086a200c41086a2902003703002007200c290200370300200c20006b41146e210d024002400240024002402005450d002005200c410810f597808000417f4a0d010b20032001490d014100210b2000210a2002200141146c220e6a220f2110200d211103400240200a2000201141146c6a22124f0d00034020022010416c6a2210200a200c410810f59780800022134100481b200b41146c6a2209200a290200370200200941106a200a41106a280200360200200941086a200a41086a2902003702002013411f76200b6a210b200a41146a220a2012490d000b0b024020112001460d002010416c6a2210200b41146c6a2209200a290200370200200941106a200a41106a280200360200200941086a200a41086a290200370200200a41146a210a200121110c010b0b20002002200b41146c221410f49780800021152001200b6b211102402001200b460d0020114101712116201520146a21174100211002402001200b41016a460d002011417e7121122008200e6a2109410021102017210a0340200a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200a41146a200f201041feffffff037341146c6a2213290200370200200a411c6a201341086a290200370200200a41246a201341106a280200360200200941586a2109200a41286a210a2012201041026a2210470d000b0b2016450d002017201041146c6a220a200f2010417f7341146c6a2209290200370200200a41106a200941106a280200360200200a41086a200941086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021092000210a2002200141146c22146a2211211003400240200a2000200d41146c6a22124f0d00034020022010416c6a2210200c200a410810f597808000417f4a22131b200941146c6a220b200a290200370200200b41106a200a41106a280200360200200b41086a200a41086a290200370200200920136a2109200a41146a220a2012490d000b0b0240200d2001460d002002200941146c6a220b200a290200370200200b41106a200a41106a280200360200200b41086a200a41086a290200370200200a41146a210a200941016a21092010416c6a21102001210d0c010b0b20002002200941146c221010f497808000210a0240024020012009460d00200120096b220b410171210f200a20106a21004100211302402001200941016a460d00200b417e712112200820146a2110410021132000210a0340200a2010290200370200200a41106a201041106a280200360200200a41086a201041086a290200370200200a41146a2011201341feffffff037341146c6a220c290200370200200a411c6a200c41086a290200370200200a41246a200c41106a280200360200201041586a2110200a41286a210a2012201341026a2213470d000b0b0240200f450d002000201341146c6a220a20112013417f7341146c6a2210290200370200200a41106a201041106a280200360200200a41086a201041086a2902003702000b200120094f0d012009200141e0d6c68000109281808000000b200a200141146c6a41002002200320061084908080000c050b41002105200b2101200b41214f0d030c020b000b201520146a20112002200320042007200610bf8b808000200b2101200b41214f0d010b0b2000200b2002200320061084908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610a08c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c08b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000bca0e01117f23808080800041c0006b220724808080800002400240200141214f0d00200020012002200320061086908080000c010b2002415c6a21080340024020040d0020002001200220034101200610a38c8080000c020b20002001410376220941fc016c6a210a200020094190016c6a210b02400240200141c000490d002000200b200a200910b785808000210c0c010b2000200a200b20002802002209200b280200220d49220e200d200a280200220c49731b200e2009200c49731b210c0b2004417f6a2104200741206a200c41206a280200360200200741186a200c41186a290200370300200741106a200c41106a290200370300200741086a200c41086a2902003703002007200c290200370300200c20006b41246e210f024002400240024002402005450d002005280200200c2802004f0d010b20032001490d014100210b200021092002200141246c22106a2211210d200f21120340024020092000201241246c6a22134f0d0003402002200d415c6a220d2009280200200c28020049220e1b200b41246c6a220a2009290200370200200a41206a200941206a280200360200200a41186a200941186a290200370200200a41106a200941106a290200370200200a41086a200941086a290200370200200b200e6a210b200941246a22092013490d000b0b024020122001460d00200d415c6a220d200b41246c6a220a2009290200370200200a41206a200941206a280200360200200a41186a200941186a290200370200200a41106a200941106a290200370200200a41086a200941086a290200370200200941246a2109200121120c010b0b20002002200b41246c221410f49780800021152001200b6b211202402001200b460d0020124101712116201520146a21174100210e02402001200b41016a460d002012417e712113200820106a210a4100210e2017210903402009200a290200370200200941206a200a41206a280200360200200941186a200a41186a290200370200200941106a200a41106a290200370200200941086a200a41086a290200370200200941246a2011200e41feffffff037341246c6a220d2902003702002009412c6a200d41086a290200370200200941346a200d41106a2902003702002009413c6a200d41186a290200370200200941c4006a200d41206a280200360200200a41b87f6a210a200941c8006a21092013200e41026a220e470d000b0b2016450d002017200e41246c6a22092011200e417f7341246c6a220a290200370200200941206a200a41206a280200360200200941186a200a41186a290200370200200941106a200a41106a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602382007410136022c200741c8d6c6800036022820074204370230200741286a41d0d6c6800010fe80808000000b20032001490d004100210d200021092002200141246c22146a2212210b0340024020092000200f41246c6a22134f0d0003402002200b415c6a220b200c28020020092802004f220e1b200d41246c6a220a2009290200370200200a41206a200941206a280200360200200a41186a200941186a290200370200200a41106a200941106a290200370200200a41086a200941086a290200370200200d200e6a210d200941246a22092013490d000b0b0240200f2001460d002002200d41246c6a220a2009290200370200200a41206a200941206a280200360200200a41186a200941186a290200370200200a41106a200941106a290200370200200a41086a200941086a290200370200200941246a2109200d41016a210d200b415c6a210b2001210f0c010b0b20002002200d41246c220a10f4978080002109024002402001200d460d002001200d6b220b41017121112009200a6a21004100210c02402001200d41016a460d00200b417e712113200820146a210a4100210c2000210903402009200a290200370200200941206a200a41206a280200360200200941186a200a41186a290200370200200941106a200a41106a290200370200200941086a200a41086a290200370200200941246a2012200c41feffffff037341246c6a220e2902003702002009412c6a200e41086a290200370200200941346a200e41106a2902003702002009413c6a200e41186a290200370200200941c4006a200e41206a280200360200200a41b87f6a210a200941c8006a21092013200c41026a220c470d000b0b02402011450d002000200c41246c6a22092012200c417f7341246c6a220a290200370200200941206a200a41206a280200360200200941186a200a41186a290200370200200941106a200a41106a290200370200200941086a200a41086a2902003702000b2001200d4f0d01200d200141e0d6c68000109281808000000b2009200141246c6a41002002200320061086908080000c050b41002105200b2101200b41214f0d030c020b000b201520146a20122002200320042007200610c18b808000200b2101200b41214f0d010b0b2000200b2002200320061086908080000b200741c0006a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610978c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c28b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610a58c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c38b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d00200020012002200341012006109b8c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c48b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d00200020012002200341012006109d8c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c58b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b890f01117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061089908080000c010b200241746a21080340024020040d0020002001200220034101200610968c8080000c020b20002001410376220941d4006c6a210a2000200941306c6a210b02400240200141c000490d002000200b200a200910bd85808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2802003602002007200c290200370308200c20006b410c6e210f024002400240024002402005450d002005280200200c2802004f0d010b20032001490d014100210b2000210920022001410c6c22106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b410c6c6a22134f0d0003402002200a41746a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a2009410c6a220e280200200c2802004922141b200b200d6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200941186a220d280200200c28020049220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200941246a220d280200200c2802004922141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210b200941306a22092013490d000b0b0240200920002012410c6c6a22144f0d0003402002200a41746a220a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a280200360200200b200d6a210b2009410c6a22092014490d000b0b024020122001460d00200a41746a220a200b410c6c6a220d2009290200370200200d41086a200941086a2802003602002009410c6a2109200121120c010b0b20002002200b410c6c221210f49780800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2011200d41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200d41026a220d470d000b0b2016450d002017200d410c6c6a22092011200d417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b200b450d002001200b4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d004100210d2000210920022001410c6c22116a2212210a03400240200920004100200f417d6a220b200b200f4b1b410c6c6a22134f0d0003402002200a41746a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a200c2802002009410c6a220e2802004f22141b200d200b6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200c280200200941186a220d2802004f220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200c280200200941246a220d2802004f22141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210d200941306a22092013490d000b0b024020092000200f410c6c6a22144f0d0003402002200a41746a220a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a280200360200200d200b6a210d2009410c6a22092014490d000b0b0240200f2001460d002002200d410c6c6a220b2009290200370200200b41086a200941086a2802003602002009410c6a2109200d41016a210d200a41746a210a2001210f0c010b0b20002002200d410c6c220a10f4978080002109024002402001200d460d002001200d6b220b41017121132009200a6a21004100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2000210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2012200c41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200c41026a220c470d000b0b02402013450d002000200c410c6c6a22092012200c417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b2001200d4f0d01200d200141e0d6c68000109281808000000b20092001410c6c6a41002002200320061089908080000c050b41002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610c68b808000200b2101200b41214f0d010b0b2000200b2002200320061089908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610948c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c78b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610a28c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c88b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d00200020012002200341012006109c8c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c98b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b8b0f01117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061088908080000c010b200241706a21080340024020040d0020002001200220034101200610998c8080000c020b20002001410376220941f0006c6a210a200020094106746a210b02400240200141c000490d002000200b200a200910bb85808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2902003703002007200c290200370308200c20006b410476210f024002400240024002402005450d002005280200200c2802004f0d010b20032001490d014100210b200021092002200141047422106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b4104746a22134f0d0003402002200a41706a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200941106a220e280200200c2802004922141b200b200d6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200941206a220d280200200c28020049220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200941306a220d280200200c2802004922141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210b200941c0006a22092013490d000b0b02402009200020124104746a22144f0d0003402002200a41706a220a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a290200370200200b200d6a210b200941106a22092014490d000b0b024020122001460d00200a41706a220a200b4104746a220d2009290200370200200d41086a200941086a290200370200200941106a2109200121120c010b0b20002002200b410474221210f49780800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a290200370200200941106a2011200d41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200d41026a220d470d000b0b2016450d002017200d4104746a22092011200d417f734104746a220a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d004100210d200021092002200141047422116a2212210a03400240200920004100200f417d6a220b200b200f4b1b4104746a22134f0d0003402002200a41706a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200c280200200941106a220e2802004f22141b200d200b6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200c280200200941206a220d2802004f220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200c280200200941306a220d2802004f22141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210d200941c0006a22092013490d000b0b024020092000200f4104746a22144f0d0003402002200a41706a220a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a290200370200200d200b6a210d200941106a22092014490d000b0b0240200f2001460d002002200d4104746a220b2009290200370200200b41086a200941086a290200370200200941106a2109200d41016a210d200a41706a210a2001210f0c010b0b20002002200d410474220a10f4978080002109024002402001200d460d002001200d6b220b41017121132009200a6a21004100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2000210903402009200a290200370200200941086a200a41086a290200370200200941106a2012200c41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200c41026a220c470d000b0b02402013450d002000200c4104746a22092012200c417f734104746a220a290200370200200941086a200a41086a2902003702000b2001200d4f0d01200d200141e0d6c68000109281808000000b200920014104746a41002002200320061088908080000c050b41002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610ca8b808000200b2101200b41214f0d010b0b2000200b2002200320061088908080000b200741306a2480808080000bbd0d01117f23808080800041c0006b220724808080800002400240200141214f0d0020002001200220032006108a908080000c010b200241606a21080340024020040d00200020012002200341012006109a8c8080000c020b20002001410376220941e0016c6a210a200020094107746a210b02400240200141c000490d002000200b200a200910b985808000210c0c010b2000210c2000200b412010f59780800022092000200a412010f597808000734100480d00200a200b200b200a412010f5978080002009734100481b210c0b2004417f6a2104200741086a41186a200c41186a290000370300200741086a41106a200c41106a290000370300200741086a41086a200c41086a2900003703002007200c290000370308200c20006b410576210d024002400240024002402005450d002005200c412010f597808000417f4a0d010b20032001490d01410021092000210a20022001410574220e6a220f2110200d211103400240200a200020114105746a22124f0d0003402002201041606a2210200a200c412010f59780800022134100481b20094105746a220b200a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a2900003700002013411f7620096a2109200a41206a220a2012490d000b0b024020112001460d00201041606a221020094105746a220b200a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a290000370000200a41206a210a200121110c010b0b200020022009410574221410f4978080002115200120096b2111024020012009460d0020114101712116201520146a21174100211302402001200941016a460d002011417e7121122008200e6a210b410021132017210a0340200a200b290000370000200a41186a200b41186a290000370000200a41106a200b41106a290000370000200a41086a200b41086a290000370000200a41206a200f201341feffff3f734105746a2210290000370000200a41286a201041086a290000370000200a41306a201041106a290000370000200a41386a201041186a290000370000200b41406a210b200a41c0006a210a2012201341026a2213470d000b0b2016450d00201720134105746a220a200f2013417f734105746a220b290000370000200a41186a200b41186a290000370000200a41106a200b41106a290000370000200a41086a200b41086a2900003700000b2009450d00200120094f0d02200741003602382007410136022c200741c8d6c6800036022820074204370230200741286a41d0d6c6800010fe80808000000b20032001490d00410021102000210a2002200141057422146a2211210903400240200a2000200d4105746a22124f0d0003402002200941606a2209200c200a412010f597808000417f4a22131b20104105746a220b200a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a290000370000201020136a2110200a41206a220a2012490d000b0b0240200d2001460d00200220104105746a220b200a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a290000370000200a41206a210a201041016a2110200941606a21092001210d0c010b0b200020022010410574220b10f497808000210a0240024020012010460d00200120106b2209410171210f200a200b6a21004100210c02402001201041016a460d002009417e712112200820146a210b4100210c2000210a0340200a200b290000370000200a41186a200b41186a290000370000200a41106a200b41106a290000370000200a41086a200b41086a290000370000200a41206a2011200c41feffff3f734105746a2213290000370000200a41286a201341086a290000370000200a41306a201341106a290000370000200a41386a201341186a290000370000200b41406a210b200a41c0006a210a2012200c41026a220c470d000b0b0240200f450d002000200c4105746a220a2011200c417f734105746a220b290000370000200a41186a200b41186a290000370000200a41106a200b41106a290000370000200a41086a200b41086a2900003700000b200120104f0d012010200141e0d6c68000109281808000000b200a20014105746a4100200220032006108a908080000c050b4100210520092101200941214f0d030c020b000b201520146a2011200220032004200741086a200610cb8b80800020092101200941214f0d010b0b20002009200220032006108a908080000b200741c0006a2480808080000bf51201167f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061087908080000c010b200241746a21080340024020040d0020002001200220034101200610a18c8080000c020b200741086a41086a200020002001200610bf858080002209410c6c6a220a41086a220b2802003602002007200a2902003703082004417f6a2104024002400240024002402005450d00200541046a280200200a41046a280200200541086a280200220c200b280200220d200c200d491b10f597808000220e200c200d6b200e1b417f4a0d010b20032001490d014100210d2000210f20022001410c6c22106a2211211220092113034002400240200f200041002013417d6a220c200c20134b1b410c6c6a2214490d00200f210c0c010b410021154100211603402002201220156a220e41746a200f20166a220c41046a280200200a41046a2217280200200c41086a22182802002219200b280200221a2019201a491b10f597808000221b2019201a6b201b1b221b4100481b200d410c6c6a2219200c290200370200201941086a20182802003602002002200e41686a200c41106a2802002017280200200c41146a22182802002219200b280200221a2019201a491b10f597808000221c2019201a6b201c1b221a4100481b201b411f76200d6a221b410c6c6a220d200c410c6a290200370200200d41086a20182802003602002002200e415c6a200c411c6a2802002017280200200c41206a2218280200220d200b2802002219200d2019491b10f597808000221c200d20196b201c1b22194100481b201a411f76201b6a221a410c6c6a220d200c41186a290200370200200d41086a20182802003602002002200e41506a200c41286a2802002017280200200c412c6a2217280200220d200b280200220e200d200e491b10f5978080002218200d200e6b20181b220d4100481b2019411f76201a6a220e410c6c6a2219200c41246a290200370200201941086a2017280200360200200d411f76200e6a210d201541506a2115200f201641306a22166a220c2014490d000b201220166b21120b0240200c20002013410c6c6a22194f0d0003402002201241746a2212200c41046a280200200a41046a280200200c41086a2216280200220e200b2802002217200e2017491b10f5978080002215200e20176b20151b220e4100481b200d410c6c6a2217200c290200370200201741086a2016280200360200200e411f76200d6a210d200c410c6a220c2019490d000b0b024020132001460d00201241746a2212200d410c6c6a220e200c290200370200200e41086a200c41086a280200360200200c410c6a210f200121130c010b0b20002002200d410c6c221910f497808000211a2001200d6b211502402001200d460d002015410171210f201a20196a21184100211702402001200d41016a460d002015417e712116200820106a210e410021172018210c0340200c200e290200370200200c41086a200e41086a280200360200200c410c6a2011201741feffffff0373410c6c6a2212290200370200200c41146a201241086a280200360200200e41686a210e200c41186a210c2016201741026a2217470d000b0b200f450d0020182017410c6c6a220c20112017417f73410c6c6a220e290200370200200c41086a200e41086a2802003602000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d004100210e2000210f20022001410c6c22116a22132112034002400240200f200041002009417d6a220c200c20094b1b410c6c6a2214490d00200f210c0c010b410021154100211603402002201220156a220d41746a200a41046a2217280200200f20166a220c41046a280200200b2802002219200c41086a2218280200221a2019201a491b10f597808000221b2019201a6b201b1b417f4a221b1b200e410c6c6a2219200c290200370200201941086a20182802003602002002200d41686a2017280200200c41106a280200200b2802002219200c41146a2218280200221a2019201a491b10f597808000221c2019201a6b201c1b417f4a221a1b200e201b6a221b410c6c6a220e200c410c6a290200370200200e41086a20182802003602002002200d415c6a2017280200200c411c6a280200200b280200220e200c41206a22182802002219200e2019491b10f597808000221c200e20196b201c1b417f4a22191b201b201a6a221a410c6c6a220e200c41186a290200370200200e41086a20182802003602002002200d41506a2017280200200c41286a280200200b280200220d200c412c6a2217280200220e200d200e491b10f5978080002218200d200e6b20181b417f4a220d1b201a20196a220e410c6c6a2219200c41246a290200370200201941086a2017280200360200200e200d6a210e201541506a2115200f201641306a22166a220c2014490d000b201220166b21120b0240200c20002009410c6c6a22194f0d0003402002201241746a2212200a41046a280200200c41046a280200200b280200220d200c41086a22162802002217200d2017491b10f5978080002215200d20176b20151b417f4a220d1b200e410c6c6a2217200c290200370200201741086a2016280200360200200e200d6a210e200c410c6a220c2019490d000b0b024020092001460d002002200e410c6c6a220d200c290200370200200d41086a200c41086a280200360200200c410c6a210f200e41016a210e201241746a2112200121090c010b0b20002002200e410c6c220b10f497808000210c024002402001200e460d002001200e6b220d4101712115200c200b6a21004100211702402001200e41016a460d00200d417e712116200820116a210b410021172000210c0340200c200b290200370200200c41086a200b41086a280200360200200c410c6a2013201741feffffff0373410c6c6a2212290200370200200c41146a201241086a280200360200200b41686a210b200c41186a210c2016201741026a2217470d000b0b02402015450d0020002017410c6c6a220c20132017417f73410c6c6a220b290200370200200c41086a200b41086a2802003602000b2001200e4f0d01200e200141e0d6c68000109281808000000b200c2001410c6c6a41002002200320061087908080000c050b41002105200d2101200d41214f0d030c020b000b201a20196a2015200220032004200741086a200610cc8b808000200d2101200d41214f0d010b0b2000200d2002200320061087908080000b200741306a2480808080000b890f01117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061089908080000c010b200241746a21080340024020040d00200020012002200341012006109e8c8080000c020b20002001410376220941d4006c6a210a2000200941306c6a210b02400240200141c000490d002000200b200a200910bd85808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2802003602002007200c290200370308200c20006b410c6e210f024002400240024002402005450d002005280200200c2802004f0d010b20032001490d014100210b2000210920022001410c6c22106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b410c6c6a22134f0d0003402002200a41746a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a2009410c6a220e280200200c2802004922141b200b200d6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200941186a220d280200200c28020049220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200941246a220d280200200c2802004922141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210b200941306a22092013490d000b0b0240200920002012410c6c6a22144f0d0003402002200a41746a220a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a280200360200200b200d6a210b2009410c6a22092014490d000b0b024020122001460d00200a41746a220a200b410c6c6a220d2009290200370200200d41086a200941086a2802003602002009410c6a2109200121120c010b0b20002002200b410c6c221210f49780800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2011200d41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200d41026a220d470d000b0b2016450d002017200d410c6c6a22092011200d417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b200b450d002001200b4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d004100210d2000210920022001410c6c22116a2212210a03400240200920004100200f417d6a220b200b200f4b1b410c6c6a22134f0d0003402002200a41746a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a200c2802002009410c6a220e2802004f22141b200d200b6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200c280200200941186a220d2802004f220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200c280200200941246a220d2802004f22141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210d200941306a22092013490d000b0b024020092000200f410c6c6a22144f0d0003402002200a41746a220a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a280200360200200d200b6a210d2009410c6a22092014490d000b0b0240200f2001460d002002200d410c6c6a220b2009290200370200200b41086a200941086a2802003602002009410c6a2109200d41016a210d200a41746a210a2001210f0c010b0b20002002200d410c6c220a10f4978080002109024002402001200d460d002001200d6b220b41017121132009200a6a21004100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2000210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2012200c41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200c41026a220c470d000b0b02402013450d002000200c410c6c6a22092012200c417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b2001200d4f0d01200d200141e0d6c68000109281808000000b20092001410c6c6a41002002200320061089908080000c050b41002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610cd8b808000200b2101200b41214f0d010b0b2000200b2002200320061089908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610a68c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610ce8b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610a48c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610cf8b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b1e00200128020041f0d6c68000410c200128020428020c118080808000000b8f0101027f23808080800041106b2204248080808000200441046a200120012f010010be878080000240200428020c22012004280204470d00200441046a41dcd7c6800010cc808080000b200428020820014103746a22052003360204200520023a00002000418080c400360208200041146a200141016a3602002000200429020437020c200441106a2480808080000b2601017f23808080800041106b2202248080808000200241086a200128020410e78f808000000b2601017f23808080800041106b2202248080808000200241086a200128020410e78f808000000bef0101037f23808080800041206b2208248080808000024002402003410f4b0d00200241d7c7cd8000200310f59780800021090c010b41d7c7cd80002002410f10f59780800021090b024002402009450d00200128020022092002200310d88a808000210a2008410c6a20092001280204410020022003200420052006200710b58b808000200041086a2008410c6a41086a2802003602002000200829020c370200200a200828021822036a2102200828021c21010c010b20004180808080783602004100210341002102410021010b20002001360214200020023602102000200336020c200841206a2480808080000bef0101037f23808080800041206b2208248080808000024002402003410f4b0d00200241d7c7cd8000200310f59780800021090c010b41d7c7cd80002002410f10f59780800021090b024002402009450d00200128020022092002200310d88a808000210a2008410c6a20092001280204410020022003200420052006200710b78b808000200041086a2008410c6a41086a2802003602002000200829020c370200200a200828021822036a2102200828021c21010c010b20004180808080783602004100210341002102410021010b20002001360214200020023602102000200336020c200841206a2480808080000bc20503017f037e057f23808080800041f0006b2204248080808000200441cc006a20012802002002200310ec8a808000024002400240024002400240200428024c4101470d0020042802502201450d02200441086a2001200428025441002802c480d4800011868080800000200441286a41086a200441086a41086a290300370300200441286a41106a200441086a41106a290300370300200441286a41186a200441086a41186a290300370300200420042903083703280c010b200441cc006a20012802042002200310da8f80800020042d004c22014102460d03200441086a41186a200441e5006a2900002205370300200441086a41106a200441dd006a2900002206370300200441086a41086a200441d5006a2900002207370300200441286a41086a2007370300200441286a41106a2006370300200441286a41186a20053703002004200429004d2205370308200420053703282001410171450d010b20044100360254200442808080801037024c41002d008083d480001a412041002802f482d48000118280808000002201450d03200120042903283700002001417e6a220841003b0000200141086a2209200441286a41086a290300370000200141106a220a200441286a41106a290300370000200141186a220b200441286a41186a290300370000200441cc006a4100412010f4918080002004280250200441cc006a41086a2202280200220c6a22032001290000370000200341086a2009290000370000200341106a200a290000370000200341186a200b2900003700002002200c41206a360200200120082f00006b41002802ec82d4800011818080800000200041086a20022802003602002000200429024c3702000c010b20004180808080783602000b200441f0006a2480808080000f0b41f8d9c680004130200441ef006a41e8d9c6800041a8dac6800010a981808000000b4101412010ab80808000000bc20503017f037e057f23808080800041f0006b2204248080808000200441cc006a20012802002002200310ec8a808000024002400240024002400240200428024c4101470d0020042802502201450d02200441086a2001200428025441002802c480d4800011868080800000200441286a41086a200441086a41086a290300370300200441286a41106a200441086a41106a290300370300200441286a41186a200441086a41186a290300370300200420042903083703280c010b200441cc006a20012802042002200310dc8f80800020042d004c22014102460d03200441086a41186a200441e5006a2900002205370300200441086a41106a200441dd006a2900002206370300200441086a41086a200441d5006a2900002207370300200441286a41086a2007370300200441286a41106a2006370300200441286a41186a20053703002004200429004d2205370308200420053703282001410171450d010b20044100360254200442808080801037024c41002d008083d480001a412041002802f482d48000118280808000002201450d03200120042903283700002001417e6a220841003b0000200141086a2209200441286a41086a290300370000200141106a220a200441286a41106a290300370000200141186a220b200441286a41186a290300370000200441cc006a4100412010f4918080002004280250200441cc006a41086a2202280200220c6a22032001290000370000200341086a2009290000370000200341106a200a290000370000200341186a200b2900003700002002200c41206a360200200120082f00006b41002802ec82d4800011818080800000200041086a20022802003602002000200429024c3702000c010b20004180808080783602000b200441f0006a2480808080000f0b41f8d9c680004130200441ef006a41e8d9c6800041a8dac6800010a981808000000b4101412010ab80808000000bcf0601077f23808080800041d0026b22032480808080002001280200220441c0006a21050240024020042802a001418080808078460d00200341d0006a41186a200541186a290000370300200341d0006a41106a200541106a290000370300200341d0006a41086a200541086a290000370300200320052900003703500c010b200128020421062003410036021c2003410036020c2003410036024020034100360230200320042802c0012207360224200320042802bc0122013602202003200736021420032001360210200320042802b4012208360248200320042802b00122073602442003200836023820032007360234200320042802c401410020011b36022820032001410047220136021820032001360208200320042802b801410020071b36024c20032007410047220436023c2003200436022c200341f0006a2006200341086a2003412c6a200210ea8f808000200341d0006a41186a2204200341f0006a41186a290300370300200341d0006a41106a2201200341f0006a41106a290300370300200341d0006a41086a2207200341f0006a41086a29030037030020032003290370370350200341e0016a41206a200341f0006a41206a41d00010f4978080001a200341e0016a41086a2007290300370300200341e0016a41106a2001290300370300200341e0016a41186a2004290300370300200320032903503703e0012005200341e0016a41f00010f4978080001a0b41002d008083d480001a200341003602e80120034280808080103702e0010240412041002802f482d480001182808080000022040d004101412010ab80808000000b200420032903503700002004417e6a220741003b0000200441086a2202200341d0006a41086a290300370000200441106a2206200341d0006a41106a290300370000200441186a2208200341d0006a41186a290300370000200341e0016a4100412010f49180800020032802e401200341e0016a41086a220128020022096a22052004290000370000200541086a2002290000370000200541106a2006290000370000200541186a20082900003700002001200941206a360200200420072f00006b41002802ec82d4800011818080800000200041086a2001280200360200200020032902e001370200200341d0026a2480808080000bcf0601077f23808080800041d0026b22032480808080002001280200220441c0006a21050240024020042802a001418080808078460d00200341d0006a41186a200541186a290000370300200341d0006a41106a200541106a290000370300200341d0006a41086a200541086a290000370300200320052900003703500c010b200128020421062003410036021c2003410036020c2003410036024020034100360230200320042802c0012207360224200320042802bc0122013602202003200736021420032001360210200320042802b4012208360248200320042802b00122073602442003200836023820032007360234200320042802c401410020011b36022820032001410047220136021820032001360208200320042802b801410020071b36024c20032007410047220436023c2003200436022c200341f0006a2006200341086a2003412c6a200210e98f808000200341d0006a41186a2204200341f0006a41186a290300370300200341d0006a41106a2201200341f0006a41106a290300370300200341d0006a41086a2207200341f0006a41086a29030037030020032003290370370350200341e0016a41206a200341f0006a41206a41d00010f4978080001a200341e0016a41086a2007290300370300200341e0016a41106a2001290300370300200341e0016a41186a2004290300370300200320032903503703e0012005200341e0016a41f00010f4978080001a0b41002d008083d480001a200341003602e80120034280808080103702e0010240412041002802f482d480001182808080000022040d004101412010ab80808000000b200420032903503700002004417e6a220741003b0000200441086a2202200341d0006a41086a290300370000200441106a2206200341d0006a41106a290300370000200441186a2208200341d0006a41186a290300370000200341e0016a4100412010f49180800020032802e401200341e0016a41086a220128020022096a22052004290000370000200541086a2002290000370000200541106a2006290000370000200541186a20082900003700002001200941206a360200200420072f00006b41002802ec82d4800011818080800000200041086a2001280200360200200020032902e001370200200341d0026a2480808080000bb50202017f017e23808080800041106b22052480808080002005200128020020022003200410d98a808000024002400240024020052802004101470d00200528020422030d0141808080807821010c030b2005200128020420022003200410f58a80800020052802002201418180808078460d01200529020421060c020b41002104024002400240200528020822014100480d00024020010d00410121040c030b41002d008083d480001a200141002802f482d480001182808080000022040d01410121040b2004200141d8d9c6800010b980808000000b2004417e6a41003b00000b2001ad42208620042003200110f497808000ad8421060c010b41f8d9c6800041302005410f6a41e8d9c6800041b8dac6800010a981808000000b2000200637020420002001360200200541106a2480808080000bb50202017f017e23808080800041106b22052480808080002005200128020020022003200410d98a808000024002400240024020052802004101470d00200528020422030d0141808080807821010c030b2005200128020420022003200410f48a80800020052802002201418180808078460d01200529020421060c020b41002104024002400240200528020822014100480d00024020010d00410121040c030b41002d008083d480001a200141002802f482d480001182808080000022040d01410121040b2004200141d8d9c6800010b980808000000b2004417e6a41003b00000b2001ad42208620042003200110f497808000ad8421060c010b41f8d9c6800041302005410f6a41e8d9c6800041b8dac6800010a981808000000b2000200637020420002001360200200541106a2480808080000b15002000410036020820004280808080c0003702000b9a0101017f024002402001280208410f490d0041d7c7cd800020012802042203410f10f597808000450d010b20002802002001200210d78a8080000f0b024020022802002200418080808078460d002000450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402001280200450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b0b8c0201067f20012802042102024020012802082203450d002003410171210441002105024020034101460d002003417e7121062002210341002105034002402003280200450d00200341046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200341186a280200450d002003411c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200341306a21032006200541026a2205470d000b0b2004450d002002200541186c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b02402001280200450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b0b920101017f23808080800041306b2203248080808000200320002802002001200210ec8a8080000240024020032802004101470d00200328020441004721000c010b2003410e6a20002802042001200210dc8f80800020032d000e22004102470d0041f8d9c6800041302003412f6a41e8d9c6800041c8dac6800010a981808000000b200341306a24808080800020004101710b920101017f23808080800041306b2203248080808000200320002802002001200210ec8a8080000240024020032802004101470d00200328020441004721000c010b2003410e6a20002802042001200210da8f80800020032d000e22004102470d0041f8d9c6800041302003412f6a41e8d9c6800041c8dac6800010a981808000000b200341306a24808080800020004101710bf20101057f23808080800041106b220324808080800041002104024002400240200128020822054100480d002000280200210620012802042104024020050d00410121070c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410121040b2004200541a8b2c8800010b980808000000b2007417e6a41003b00000b20072004200510f49780800021072003200536020c20032007360208200320053602042006200341046a20022000280204200110db8a80800002402001280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000bf20101057f23808080800041106b220324808080800041002104024002400240200128020822054100480d002000280200210620012802042104024020050d00410121070c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410121040b2004200541a8b2c8800010b980808000000b2007417e6a41003b00000b20072004200510f49780800021072003200536020c20032007360208200320053602042006200341046a20022000280204200110dc8a80800002402001280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000b831701137f23808080800041c0006b2204248080808000200441246a200128020422052002200310dd8f80800002400240024002400240024020042802242206418180808078460d00200428022c210720042802282108200128020022012802bc012209450d0320012802c0012101200441023602302004200336022c20042002360228200441013602242004410c6a20092001200441246a109d978080002004280218210a200428020c2201450d0220042802102109200428021421032004280220210b02402001200a470d002003200b460d040b024002400240200320012f01aa144f0d00200121020c010b034020012802a0132202450d02200941016a210920012f01a814210320022101200320022f01aa144f0d000b0b200341e0016c210c20022003410c6c6a41a4136a210d0240024020090d00200341016a2103200221010c010b200220034102746a41b0146a2802002101410021032009417f6a220e450d002009417e6a210f0240200e4107712209450d000340200e417f6a210e20012802ac1421012009417f6a22090d000b0b200f4107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200e41786a220e0d000b0b2002200c6a2110200d280208210c200d28020421112006418080808078460d024101210902400240024003402008210f0340200622124180808080784621130240024003400240024002400240024002402009410171450d002010210e200c2102201121080c010b024002400240024002402001450d0002402001200a470d002003200b460d070b200320012f01aa14490d01410121094100210e0340200e210820012802a0132202450d03200841016a210e2009417f6a210920012f01a814210320022101200320022f01aa144f0d000b2002200341e0016c6a210e20022003410c6c6a41a4136a2106024020094101470d0020022101200341016a21030c050b200220034102746a41b0146a2802002101410021032009450d0402400240410020096b220d4107710d00200d21020c010b41002102410020084107716b2108034020012802ac14210120082002417f6a2202470d000b200220096b21020b200d4108490d04034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200241786a22020d000c050b0b200a0d020c050b2001200341e0016c6a210e20012003410c6c6a41a4136a2106200341016a21030c020b41e0cac5800010a081808000000b41d0cac5800010a081808000000b20062802082102200628020421080b20130d05200f20082007200220072002491b10f5978080002209200720026b20091b22064100480d00200e200e28020041054b22094103746a280200220d450d090240200e280204200e41046a20091b200d412c6c6a220e41546a2214280200220941014b0d00200e41586a22152802002116200e41706a280200210d02402009410171450d002016200d460d010b2004200e41646a360224200441246a20092016200d10a5978080002015200d36020041012109201441013602000b4158210d2009417e6a2209410220094102491b0e03020301020b200020073602082000200f360204200020123602000c100b4164210d0b200e200d6a0d030b4100210920060d000b200441246a20052008200210dd8f80800020042802242206418180808078460d06200428022c210720042802282108410021092012450d0341002109200f200f417e6a2f00006b41002802ec82d48000118180808000000c030b200e200e28020041054b22094103746a2802002206450d040240200e280204200e41046a20091b2006412c6c6a220d41546a2206280200220e41014b0d00200d41586a22132802002114200d41706a28020021090240200e410171450d0020142009460d010b2004200d41646a360224200441246a200e2014200910a597808000201320093602004101210e200641013602000b4180808080782106410021094158211402400240200e417e6a220e4102200e4102491b0e03010300010b416421140b200d20146a450d010b0b0b4100210102400240024020024100480d00024020020d00410121010c030b41002d008083d480001a200241002802f482d480001182808080000022010d01410121010b2001200241d8d9c6800010b980808000000b2001417e6a41003b00000b20012008200210f4978080002101200020023602082000200136020420002002360200201241808080807872418080808078460d08200f200f417e6a2f00006b41002802ec82d48000118180808000000c080b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b41f8d9c6800041302004413f6a41e8d9c6800041d8dac6800010a981808000000b41e0cac5800010a081808000000b41f8d9c6800041302004413f6a41e8d9c6800041e8dac6800010a981808000000b02400240024002402010201028020041054b22024103746a2802002209450d0002402010280204201041046a20021b2009412c6c6a220941546a2208280200220241014b0d00200941586a22062802002107200941706a280200210e02402002410171450d002007200e460d010b2004200941646a360224200441246a20022007200e10a5978080002006200e36020041012102200841013602000b4158210e024002402002417e6a2202410220024102491b0e03010300010b4164210e0b2009200e6a450d014100210102400240200c4100480d00200c450d0441002d008083d480001a200c41002802f482d480001182808080000022010d01410121010b2001200c41d8d9c6800010b980808000000b2001417e6a41003b000020012011200c10f4978080001a0c030b4198bdcd800041fc004184bfcd800010a181808000000b0240024002402001200a470d002003200b460d010b0340024002400240200320012f01aa14490d00410121094100210e0340200e210820012802a0132202450d02200841016a210e2009417f6a210920012f01a814210320022101200320022f01aa144f0d000b2002200341e0016c6a210e20022003410c6c6a41a4136a2107024020094101470d0020022101200341016a21030c030b200220034102746a41b0146a2802002101410021032009450d0202400240410020096b22064107710d00200621020c010b41002102410020084107716b2108034020012802ac14210120082002417f6a2202470d000b200220096b21020b20064108490d02034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200241786a22020d000c030b0b2001200341e0016c6a210e20012003410c6c6a41a4136a2107200341016a21030c010b41e0cac5800010a081808000000b200e200e28020041054b22024103746a2802002209450d02200741086a280200210c200741046a28020021060240200e280204200e41046a20021b2009412c6c6a220941546a2208280200220241014b0d00200941586a220d2802002107200941706a280200210e02402002410171450d002007200e460d010b2004200941646a360224200441246a20022007200e10a597808000200d200e36020041012102200841013602000b4158210e0240024002402002417e6a2202410220024102491b0e03010200010b4164210e0b2009200e6a450d004100210102400240200c4100480d00200c450d0641002d008083d480001a200c41002802f482d480001182808080000022010d01410121010b2001200c41d8d9c6800010b980808000000b2001417e6a41003b000020012006200c10f4978080001a0c050b2001200a470d002003200b470d000b0b20004180808080783602000c050b4198bdcd800041fc004184bfcd800010a181808000000b4100210c410121010b2000200c3602002000200cad4220862001ad843702040c020b200a0d020b2000200736020820002008360204200020063602000b200441c0006a2480808080000f0b41d0cac5800010a081808000000b831701137f23808080800041c0006b2204248080808000200441246a200128020422052002200310e08f80800002400240024002400240024020042802242206418180808078460d00200428022c210720042802282108200128020022012802bc012209450d0320012802c0012101200441023602302004200336022c20042002360228200441013602242004410c6a20092001200441246a109d978080002004280218210a200428020c2201450d0220042802102109200428021421032004280220210b02402001200a470d002003200b460d040b024002400240200320012f01aa144f0d00200121020c010b034020012802a0132202450d02200941016a210920012f01a814210320022101200320022f01aa144f0d000b0b200341e0016c210c20022003410c6c6a41a4136a210d0240024020090d00200341016a2103200221010c010b200220034102746a41b0146a2802002101410021032009417f6a220e450d002009417e6a210f0240200e4107712209450d000340200e417f6a210e20012802ac1421012009417f6a22090d000b0b200f4107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200e41786a220e0d000b0b2002200c6a2110200d280208210c200d28020421112006418080808078460d024101210902400240024003402008210f0340200622124180808080784621130240024003400240024002400240024002402009410171450d002010210e200c2102201121080c010b024002400240024002402001450d0002402001200a470d002003200b460d070b200320012f01aa14490d01410121094100210e0340200e210820012802a0132202450d03200841016a210e2009417f6a210920012f01a814210320022101200320022f01aa144f0d000b2002200341e0016c6a210e20022003410c6c6a41a4136a2106024020094101470d0020022101200341016a21030c050b200220034102746a41b0146a2802002101410021032009450d0402400240410020096b220d4107710d00200d21020c010b41002102410020084107716b2108034020012802ac14210120082002417f6a2202470d000b200220096b21020b200d4108490d04034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200241786a22020d000c050b0b200a0d020c050b2001200341e0016c6a210e20012003410c6c6a41a4136a2106200341016a21030c020b41e0cac5800010a081808000000b41d0cac5800010a081808000000b20062802082102200628020421080b20130d05200f20082007200220072002491b10f5978080002209200720026b20091b22064100480d00200e200e28020041054b22094103746a280200220d450d090240200e280204200e41046a20091b200d412c6c6a220e41546a2214280200220941014b0d00200e41586a22152802002116200e41706a280200210d02402009410171450d002016200d460d010b2004200e41646a360224200441246a20092016200d10a5978080002015200d36020041012109201441013602000b4158210d2009417e6a2209410220094102491b0e03020301020b200020073602082000200f360204200020123602000c100b4164210d0b200e200d6a0d030b4100210920060d000b200441246a20052008200210e08f80800020042802242206418180808078460d06200428022c210720042802282108410021092012450d0341002109200f200f417e6a2f00006b41002802ec82d48000118180808000000c030b200e200e28020041054b22094103746a2802002206450d040240200e280204200e41046a20091b2006412c6c6a220d41546a2206280200220e41014b0d00200d41586a22132802002114200d41706a28020021090240200e410171450d0020142009460d010b2004200d41646a360224200441246a200e2014200910a597808000201320093602004101210e200641013602000b4180808080782106410021094158211402400240200e417e6a220e4102200e4102491b0e03010300010b416421140b200d20146a450d010b0b0b4100210102400240024020024100480d00024020020d00410121010c030b41002d008083d480001a200241002802f482d480001182808080000022010d01410121010b2001200241d8d9c6800010b980808000000b2001417e6a41003b00000b20012008200210f4978080002101200020023602082000200136020420002002360200201241808080807872418080808078460d08200f200f417e6a2f00006b41002802ec82d48000118180808000000c080b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b41f8d9c6800041302004413f6a41e8d9c6800041d8dac6800010a981808000000b41e0cac5800010a081808000000b41f8d9c6800041302004413f6a41e8d9c6800041e8dac6800010a981808000000b02400240024002402010201028020041054b22024103746a2802002209450d0002402010280204201041046a20021b2009412c6c6a220941546a2208280200220241014b0d00200941586a22062802002107200941706a280200210e02402002410171450d002007200e460d010b2004200941646a360224200441246a20022007200e10a5978080002006200e36020041012102200841013602000b4158210e024002402002417e6a2202410220024102491b0e03010300010b4164210e0b2009200e6a450d014100210102400240200c4100480d00200c450d0441002d008083d480001a200c41002802f482d480001182808080000022010d01410121010b2001200c41d8d9c6800010b980808000000b2001417e6a41003b000020012011200c10f4978080001a0c030b4198bdcd800041fc004184bfcd800010a181808000000b0240024002402001200a470d002003200b460d010b0340024002400240200320012f01aa14490d00410121094100210e0340200e210820012802a0132202450d02200841016a210e2009417f6a210920012f01a814210320022101200320022f01aa144f0d000b2002200341e0016c6a210e20022003410c6c6a41a4136a2107024020094101470d0020022101200341016a21030c030b200220034102746a41b0146a2802002101410021032009450d0202400240410020096b22064107710d00200621020c010b41002102410020084107716b2108034020012802ac14210120082002417f6a2202470d000b200220096b21020b20064108490d02034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200241786a22020d000c030b0b2001200341e0016c6a210e20012003410c6c6a41a4136a2107200341016a21030c010b41e0cac5800010a081808000000b200e200e28020041054b22024103746a2802002209450d02200741086a280200210c200741046a28020021060240200e280204200e41046a20021b2009412c6c6a220941546a2208280200220241014b0d00200941586a220d2802002107200941706a280200210e02402002410171450d002007200e460d010b2004200941646a360224200441246a20022007200e10a597808000200d200e36020041012102200841013602000b4158210e0240024002402002417e6a2202410220024102491b0e03010200010b4164210e0b2009200e6a450d004100210102400240200c4100480d00200c450d0641002d008083d480001a200c41002802f482d480001182808080000022010d01410121010b2001200c41d8d9c6800010b980808000000b2001417e6a41003b000020012006200c10f4978080001a0c050b2001200a470d002003200b470d000b0b20004180808080783602000c050b4198bdcd800041fc004184bfcd800010a181808000000b4100210c410121010b2000200c3602002000200cad4220862001ad843702040c020b200a0d020b2000200736020820002008360204200020063602000b200441c0006a2480808080000f0b41d0cac5800010a081808000000b10002000200128020410e88f808000000b10002000200128020410e88f808000000bc60503017f037e047f23808080800041f0006b2205248080808000200541cc006a200128020020022003200410d98a808000024002400240024002400240200528024c4101470d0020052802502201450d02200541086a2001200528025441002802c480d4800011868080800000200541286a41086a200541086a41086a290300370300200541286a41106a200541086a41106a290300370300200541286a41186a200541086a41186a290300370300200520052903083703280c010b200541cc006a200128020420022003200410f68a80800020052d004c22014102460d03200541086a41186a200541e5006a2900002206370300200541086a41106a200541dd006a2900002207370300200541086a41086a200541d5006a2900002208370300200541286a41086a2008370300200541286a41106a2007370300200541286a41186a20063703002005200529004d2206370308200520063703282001410171450d010b20054100360254200542808080801037024c41002d008083d480001a412041002802f482d48000118280808000002201450d03200120052903283700002001417e6a220241003b0000200141086a2209200541286a41086a290300370000200141106a220a200541286a41106a290300370000200141186a220b200541286a41186a290300370000200541cc006a4100412010f4918080002005280250200541cc006a41086a2203280200220c6a22042001290000370000200441086a2009290000370000200441106a200a290000370000200441186a200b2900003700002003200c41206a360200200120022f00006b41002802ec82d4800011818080800000200041086a20032802003602002000200529024c3702000c010b20004180808080783602000b200541f0006a2480808080000f0b41f8d9c680004130200541ef006a41e8d9c6800041f8dac6800010a981808000000b4101412010ab80808000000bc60503017f037e047f23808080800041f0006b2205248080808000200541cc006a200128020020022003200410d98a808000024002400240024002400240200528024c4101470d0020052802502201450d02200541086a2001200528025441002802c480d4800011868080800000200541286a41086a200541086a41086a290300370300200541286a41106a200541086a41106a290300370300200541286a41186a200541086a41186a290300370300200520052903083703280c010b200541cc006a200128020420022003200410f78a80800020052d004c22014102460d03200541086a41186a200541e5006a2900002206370300200541086a41106a200541dd006a2900002207370300200541086a41086a200541d5006a2900002208370300200541286a41086a2008370300200541286a41106a2007370300200541286a41186a20063703002005200529004d2206370308200520063703282001410171450d010b20054100360254200542808080801037024c41002d008083d480001a412041002802f482d48000118280808000002201450d03200120052903283700002001417e6a220241003b0000200141086a2209200541286a41086a290300370000200141106a220a200541286a41106a290300370000200141186a220b200541286a41186a290300370000200541cc006a4100412010f4918080002005280250200541cc006a41086a2203280200220c6a22042001290000370000200441086a2009290000370000200441106a200a290000370000200441186a200b2900003700002003200c41206a360200200120022f00006b41002802ec82d4800011818080800000200041086a20032802003602002000200529024c3702000c010b20004180808080783602000b200541f0006a2480808080000f0b41f8d9c680004130200541ef006a41e8d9c6800041f8dac6800010a981808000000b4101412010ab80808000000bc80301067f23808080800041d0006b22042480808080002004412c6a200128020020022001280204200310e28a8080000240024020042d004c4102460d00200441086a41186a22022004412c6a41186a290000370300200441086a41106a22052004412c6a41106a290000370300200441086a41086a22062004412c6a41086a22032900003703002004200429002c37030841002d008083d480001a20044100360234200442808080801037022c412041002802f482d48000118280808000002201450d01200120042903083700002001417e6a220741003b0000200141086a22082006290300370000200141106a22062005290300370000200141186a220520022903003700002004412c6a4100412010f4918080002004280230200328020022096a22022001290000370000200241086a2008290000370000200241106a2006290000370000200241186a20052900003700002003200941206a360200200120072f00006b41002802ec82d4800011818080800000200041086a20032802003602002000200429022c370200200441d0006a2480808080000f0b41f8d9c680004130200441cf006a41e8d9c680004188dbc6800010a981808000000b4101412010ab80808000000bc80301067f23808080800041d0006b22042480808080002004412c6a200128020020022001280204200310e08a8080000240024020042d004c4102460d00200441086a41186a22022004412c6a41186a290000370300200441086a41106a22052004412c6a41106a290000370300200441086a41086a22062004412c6a41086a22032900003703002004200429002c37030841002d008083d480001a20044100360234200442808080801037022c412041002802f482d48000118280808000002201450d01200120042903083700002001417e6a220741003b0000200141086a22082006290300370000200141106a22062005290300370000200141186a220520022903003700002004412c6a4100412010f4918080002004280230200328020022096a22022001290000370000200241086a2008290000370000200241106a2006290000370000200241186a20052900003700002003200941206a360200200120072f00006b41002802ec82d4800011818080800000200041086a20032802003602002000200429022c370200200441d0006a2480808080000f0b41f8d9c680004130200441cf006a41e8d9c680004188dbc6800010a981808000000b4101412010ab80808000000b940101037f23808080800041206b22092480808080002001280200220a20022003200410e48a808000210b2009410c6a200a2001280204200220032004200520062007200810b58b808000200041086a2009410c6a41086a2802003602002000200929020c370200200928021821012000200928021c36021420002001200b6a3602102000200136020c200941206a2480808080000b940101037f23808080800041206b22092480808080002001280200220a20022003200410e48a808000210b2009410c6a200a2001280204200220032004200520062007200810b78b808000200041086a2009410c6a41086a2802003602002000200929020c370200200928021821012000200928021c36021420002001200b6a3602102000200136020c200941206a2480808080000b900101037f23808080800041206b220724808080800020012802002208200210e78a80800021092007410c6a20082001280204200241002007200320042005200610b58b808000200041086a2007410c6a41086a2802003602002000200729020c370200200728021821012000200728021c3602142000200120096a3602102000200136020c200741206a2480808080000b900101037f23808080800041206b220724808080800020012802002208200210e78a80800021092007410c6a20082001280204200241002007200320042005200610b78b808000200041086a2007410c6a41086a2802003602002000200729020c370200200728021821012000200728021c3602142000200120096a3602102000200136020c200741206a2480808080000b1300200028020020012002200310de8a8080000b960101017f23808080800041306b22042480808080002004200028020020012002200310d98a8080000240024020042802004101470d00200428020441004721000c010b2004410e6a200028020420012002200310f78a80800020042d000e22004102470d0041f8d9c6800041302004412f6a41e8d9c680004198dbc6800010a981808000000b200441306a24808080800020004101710b960101017f23808080800041306b22042480808080002004200028020020012002200310d98a8080000240024020042802004101470d00200428020441004721000c010b2004410e6a200028020420012002200310f68a80800020042d000e22004102470d0041f8d9c6800041302004412f6a41e8d9c680004198dbc6800010a981808000000b200441306a24808080800020004101710b15002000280200200120022003200410e98a8080000bdd2702207f017e23808080800041e0016b22052480808080002005410c6a2001280204220620022003200410fa8a808000024002400240200528020c2207418180808078460d002005280214210820052802102109200541f0006a2001280200200228020420022802082003200410dd8a8080002005410c6a200541f0006a41d40010f4978080001a20054100360260200541c8006a210a200541c4006a210b200541106a2104200528020c220c410171450d01410021030c020b41f8d9c680004130200541df016a41e8d9c6800041b8dbc6800010a981808000000b410121030b024002400240024002400240024002400240034002400240024002400240024020030e020001010b200528021c21010240024020052802102203450d002005280218210d024020032001470d00200d2005280224460d020b2005280214210e02400240200d20032f01aa144f0d00200321010c010b034020032802a0132201450d05200e41016a210e20032f01a814210d20012103200d20012f01aa144f0d000b0b200d41e0016c210f2001200d410c6c6a41a4136a21100240200e0d00200d41016a2111200121030c0a0b2001200d4102746a41b0146a280200210341002111200e417f6a220d450d09200e417e6a21120240200d410771220e450d000340200d417f6a210d20032802ac142103200e417f6a220e0d000b0b20124107490d09034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200d41786a220d0d000c0a0b0b20010d070b4100210c2005410036020c410121030c050b200541d0016a21030240200528024422014102460d00200541f0006a41086a200a41086a290200370300200541f0006a41106a200a41106a290200370300200520013602d0012005200a290200370370200b21030b20034100360200024020052802d0014101470d0020042005290370370200200441086a200541f0006a41086a290300370200200441106a200541f0006a41106a2903003702002005410136020c4101210c0c040b024020052802284101470d00200528023821010240200528022c2203450d002005280234210d024020032001470d00200d2005280240460d020b2005280230210e02400240200d20032f01aa144f0d00200321010c010b034020032802a0132201450d05200e41016a210e20032f01a814210d20012103200d20012f01aa144f0d000b0b200d41e0016c210f2001200d410c6c6a41a4136a211002400240200e0d00200d41016a2111200121030c010b2001200d4102746a41b0146a280200210341002111200e417f6a220d450d00200e417e6a21120240200d410771220e450d000340200d417f6a210d20032802ac142103200e417f6a220e0d000b0b20124107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200d41786a220d0d000b0b2001200f6a211320052011360234200541003602302005200336022c201041086a2802002114201041046a28020021150c090b20010d030b2000200836020820002009360204200020073602000c080b41e0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b410021030c000b0b41d0cac5800010a081808000000b2001200f6a2113200520113602182005410036021420052003360210201041086a2802002114201041046a28020021150b2005201336026c20052014360268200520153602642005410136026002402007418080808078460d00200520052802443602d001200528025c21162005280254211720052802502118200528024c21192005280248211a2005280240211b2005280238211c2005280234210d2005280230210e200528022c21032005280224211d200528021c210f2005280218210b20052802142110200528021021042005280228410171211e4101210102400240024003402009211f0340200722204180808080784621210240024003400240024002400240024002402001410171450d00201521092014210a201321010c010b200f210702400240200c410171450d00410021010c010b410121010b0340024002400240024002400240024020010e020001010b024002402004450d0002402004200f470d00200b201d470d00200f2107201d210b4100210c0c020b02400240200b20042f01aa144f0d00200421010c010b034020042802a0132201450d05201041016a211020042f01a814210b20012104200b20012f01aa144f0d000b0b200b41e0016c21092001200b410c6c6a41a4136a21070240024020100d00200b41016a210b200121040c010b2001200b4102746a41b0146a28020021044100210b2010417f6a220a450d002010417e6a21110240200a4107712210450d000340200a417f6a210a20042802ac1421042010417f6a22100d000b0b20114107490d00034020042802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142104200a41786a220a0d000b0b200120096a2101200741086a280200210a200741046a2802002109410021100c090b41002107410021044100210c200f0d030b410121010c060b200541f0006a2101024020052802d001220a4102460d002005200a360270200541d0016a21010b20014100360200024020052802704101470d004101210c2016211d2017210f2018210b20192110201a21040c050b201e450d0702402003450d0002402003201c470d00200d201b460d090b02400240200d20032f01aa144f0d00200321010c010b034020032802a0132201450d05200e41016a210e20032f01a814210d20012103200d20012f01aa144f0d000b0b200d41e0016c21092001200d410c6c6a41a4136a210f02400240200e0d00200d41016a210d200121030c010b2001200d4102746a41b0146a28020021034100210d200e417f6a220a450d00200e417e6a21110240200a410771220e450d000340200a417f6a210a20032802ac142103200e417f6a220e0d000b0b20114107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200a41786a220a0d000b0b200120096a2101200f41086a280200210a200f41046a28020021094100210e2007210f0c070b201c0d030c070b41e0cac5800010a081808000000b41d0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b410021010c000b0b20210d05201f20092008200a2008200a491b10f59780800022072008200a6b20071b22114100480d002001200128020041054b22074103746a2802002212450d0902402001280204200141046a20071b2012412c6c6a220741546a2222280200220141014b0d00200741586a22232802002124200741706a280200211202402001410171450d0020242012460d010b2005200741646a360270200541f0006a20012024201210a5978080002023201236020041012101202241013602000b415821122001417e6a2201410220014102491b0e03020301020b200020083602082000201f360204200020203602000c0c0b416421120b200720126a0d030b4100210120110d000b200541f0006a200620022009200a10fa8a80800020052802702207418180808078460d062005280278210820052802742109410021012020450d0341002101201f201f417e6a2f00006b41002802ec82d48000118180808000000c030b2001200128020041054b22074103746a2802002211450d0402402001280204200141046a20071b2011412c6c6a221241546a2207280200221141014b0d00201241586a22212802002122201241706a280200210102402011410171450d0020222001460d010b2005201241646a360270200541f0006a20112022200110a5978080002021200136020041012111200741013602000b41808080807821074100210141582122024002402011417e6a2211410220114102491b0e03010300010b416421220b201220226a450d010b0b0b41002103024002400240200a4100480d000240200a0d00410121030c030b41002d008083d480001a200a41002802f482d480001182808080000022030d01410121030b2003200a41d8d9c6800010b980808000000b2003417e6a41003b00000b20032009200a10f49780800021032000200a360208200020033602042000200a360200202041808080807872418080808078460d04201f201f417e6a2f00006b41002802ec82d48000118180808000000c040b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b41f8d9c680004130200541df016a41e8d9c6800041a8dbc6800010a981808000000b20054100360260024002402013201328020041054b22034103746a2802002201450d0002402013280204201341046a20031b2001412c6c6a220141546a220d280200220341014b0d00200141586a2210280200210e200141706a280200210c02402003410171450d00200e200c460d010b2005200141646a360270200541f0006a2003200e200c10a5978080002010200c36020041012103200d41013602000b4158210c024002402003417e6a2203410220034102491b0e03010300010b4164210c0b2001200c6a450d014100210302400240024020144100480d00024020140d00420121250c030b41002d008083d480001a201441002802f482d480001182808080000022030d01410121030b2003201441d8d9c6800010b980808000000b2003417e6a41003b000020032015201410f497808000ad21250b20002014360200200020252014ad422086843702040c020b4198bdcd800041fc004184bfcd800010a181808000000b024002400240200528020c4101470d002005200541286a3602cc012005200541df016a3602c801200528021c2103024020052802102201450d0003402005280218210c024020012003470d00200c2005280224460d030b2005280214210d02400240200c20012f01aa144f0d00200121030c010b034020012802a0132203450d08200d41016a210d20012f01a814210c20032101200c20032f01aa144f0d000b0b2003200c41e0016c6a210e2003200c410c6c6a41a4136a211002400240200d0d00200c41016a21080c010b2003200c4102746a41b0146a280200210341002108200d417f6a2201450d00200d417e6a210d02402001410771220c450d0003402001417f6a210120032802ac142103200c417f6a220c0d000b0b200d4107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200141786a22010d000b0b200520083602182005410036021420052003360210201041046a29020021252005200e36027820052025370270200541d0016a200541c8016a200541f0006a10948980800020052802d0012203418080808078470d03200528021c2103200528021022010d000b0b20030d080b0240200528024422034102460d00200541003602442003410171450d002004200a290200370200200441106a200a41106a290200370200200441086a200a41086a2902003702002005410136020c2005200541286a3602cc012005200541df016a3602c801200528021c21030240024020052802102204450d00034020052802182101024020042003470d0020012005280224460d030b2005280214210c02400240200120042f01aa144f0d00200421030c010b034020042802a0132203450d0a200c41016a210c20042f01a814210120032104200120032f01aa144f0d000b0b2003200141e0016c6a210d20032001410c6c6a41a4136a210a02400240200c0d00200141016a210e0c010b200320014102746a41b0146a28020021034100210e200c417f6a2204450d00200c417e6a210c024020044107712201450d0003402004417f6a210420032802ac1421032001417f6a22010d000b0b200c4107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200441786a22040d000b0b2005200e3602182005410036021420052003360210200a41046a29020021252005200d36027820052025370270200541d0016a200541c8016a200541f0006a10948980800020052802d0012203418080808078470d04200528021c2103200528021022040d000b0b20030d070b200541003602440b2005410036020c20052802284101470d012005200b3602cc012005200541df016a3602c801200528023821030240200528022c2204450d00034020052802342101024020042003470d0020012005280240460d040b2005280230210c02400240200120042f01aa144f0d00200421030c010b034020042802a0132203450d0a200c41016a210c20042f01a814210120032104200120032f01aa144f0d000b0b2003200141e0016c6a210d20032001410c6c6a41a4136a210a02400240200c0d00200141016a210e0c010b200320014102746a41b0146a28020021034100210e200c417f6a2204450d00200c417e6a210c024020044107712201450d0003402004417f6a210420032802ac1421032001417f6a22010d000b0b200c4107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200441786a22040d000b0b2005200e360234200541003602302005200336022c200a41046a29020021252005200d36027820052025370270200541d0016a200541c8016a200541f0006a10948980800020052802d0012203418080808078470d0220052802382103200528022c22040d000b0b2003450d0141d0cac5800010a081808000000b200020052902d401370204200020033602000c010b20004180808080783602000b200541e0016a2480808080000f0b41e0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000bdd2702207f017e23808080800041e0016b22052480808080002005410c6a2001280204220620022003200410fb8a808000024002400240200528020c2207418180808078460d002005280214210820052802102109200541f0006a2001280200200228020420022802082003200410dd8a8080002005410c6a200541f0006a41d40010f4978080001a20054100360260200541c8006a210a200541c4006a210b200541106a2104200528020c220c410171450d01410021030c020b41f8d9c680004130200541df016a41e8d9c6800041b8dbc6800010a981808000000b410121030b024002400240024002400240024002400240034002400240024002400240024020030e020001010b200528021c21010240024020052802102203450d002005280218210d024020032001470d00200d2005280224460d020b2005280214210e02400240200d20032f01aa144f0d00200321010c010b034020032802a0132201450d05200e41016a210e20032f01a814210d20012103200d20012f01aa144f0d000b0b200d41e0016c210f2001200d410c6c6a41a4136a21100240200e0d00200d41016a2111200121030c0a0b2001200d4102746a41b0146a280200210341002111200e417f6a220d450d09200e417e6a21120240200d410771220e450d000340200d417f6a210d20032802ac142103200e417f6a220e0d000b0b20124107490d09034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200d41786a220d0d000c0a0b0b20010d070b4100210c2005410036020c410121030c050b200541d0016a21030240200528024422014102460d00200541f0006a41086a200a41086a290200370300200541f0006a41106a200a41106a290200370300200520013602d0012005200a290200370370200b21030b20034100360200024020052802d0014101470d0020042005290370370200200441086a200541f0006a41086a290300370200200441106a200541f0006a41106a2903003702002005410136020c4101210c0c040b024020052802284101470d00200528023821010240200528022c2203450d002005280234210d024020032001470d00200d2005280240460d020b2005280230210e02400240200d20032f01aa144f0d00200321010c010b034020032802a0132201450d05200e41016a210e20032f01a814210d20012103200d20012f01aa144f0d000b0b200d41e0016c210f2001200d410c6c6a41a4136a211002400240200e0d00200d41016a2111200121030c010b2001200d4102746a41b0146a280200210341002111200e417f6a220d450d00200e417e6a21120240200d410771220e450d000340200d417f6a210d20032802ac142103200e417f6a220e0d000b0b20124107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200d41786a220d0d000b0b2001200f6a211320052011360234200541003602302005200336022c201041086a2802002114201041046a28020021150c090b20010d030b2000200836020820002009360204200020073602000c080b41e0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b410021030c000b0b41d0cac5800010a081808000000b2001200f6a2113200520113602182005410036021420052003360210201041086a2802002114201041046a28020021150b2005201336026c20052014360268200520153602642005410136026002402007418080808078460d00200520052802443602d001200528025c21162005280254211720052802502118200528024c21192005280248211a2005280240211b2005280238211c2005280234210d2005280230210e200528022c21032005280224211d200528021c210f2005280218210b20052802142110200528021021042005280228410171211e4101210102400240024003402009211f0340200722204180808080784621210240024003400240024002400240024002402001410171450d00201521092014210a201321010c010b200f210702400240200c410171450d00410021010c010b410121010b0340024002400240024002400240024020010e020001010b024002402004450d0002402004200f470d00200b201d470d00200f2107201d210b4100210c0c020b02400240200b20042f01aa144f0d00200421010c010b034020042802a0132201450d05201041016a211020042f01a814210b20012104200b20012f01aa144f0d000b0b200b41e0016c21092001200b410c6c6a41a4136a21070240024020100d00200b41016a210b200121040c010b2001200b4102746a41b0146a28020021044100210b2010417f6a220a450d002010417e6a21110240200a4107712210450d000340200a417f6a210a20042802ac1421042010417f6a22100d000b0b20114107490d00034020042802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142104200a41786a220a0d000b0b200120096a2101200741086a280200210a200741046a2802002109410021100c090b41002107410021044100210c200f0d030b410121010c060b200541f0006a2101024020052802d001220a4102460d002005200a360270200541d0016a21010b20014100360200024020052802704101470d004101210c2016211d2017210f2018210b20192110201a21040c050b201e450d0702402003450d0002402003201c470d00200d201b460d090b02400240200d20032f01aa144f0d00200321010c010b034020032802a0132201450d05200e41016a210e20032f01a814210d20012103200d20012f01aa144f0d000b0b200d41e0016c21092001200d410c6c6a41a4136a210f02400240200e0d00200d41016a210d200121030c010b2001200d4102746a41b0146a28020021034100210d200e417f6a220a450d00200e417e6a21110240200a410771220e450d000340200a417f6a210a20032802ac142103200e417f6a220e0d000b0b20114107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200a41786a220a0d000b0b200120096a2101200f41086a280200210a200f41046a28020021094100210e2007210f0c070b201c0d030c070b41e0cac5800010a081808000000b41d0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b410021010c000b0b20210d05201f20092008200a2008200a491b10f59780800022072008200a6b20071b22114100480d002001200128020041054b22074103746a2802002212450d0902402001280204200141046a20071b2012412c6c6a220741546a2222280200220141014b0d00200741586a22232802002124200741706a280200211202402001410171450d0020242012460d010b2005200741646a360270200541f0006a20012024201210a5978080002023201236020041012101202241013602000b415821122001417e6a2201410220014102491b0e03020301020b200020083602082000201f360204200020203602000c0c0b416421120b200720126a0d030b4100210120110d000b200541f0006a200620022009200a10fb8a80800020052802702207418180808078460d062005280278210820052802742109410021012020450d0341002101201f201f417e6a2f00006b41002802ec82d48000118180808000000c030b2001200128020041054b22074103746a2802002211450d0402402001280204200141046a20071b2011412c6c6a221241546a2207280200221141014b0d00201241586a22212802002122201241706a280200210102402011410171450d0020222001460d010b2005201241646a360270200541f0006a20112022200110a5978080002021200136020041012111200741013602000b41808080807821074100210141582122024002402011417e6a2211410220114102491b0e03010300010b416421220b201220226a450d010b0b0b41002103024002400240200a4100480d000240200a0d00410121030c030b41002d008083d480001a200a41002802f482d480001182808080000022030d01410121030b2003200a41d8d9c6800010b980808000000b2003417e6a41003b00000b20032009200a10f49780800021032000200a360208200020033602042000200a360200202041808080807872418080808078460d04201f201f417e6a2f00006b41002802ec82d48000118180808000000c040b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b41f8d9c680004130200541df016a41e8d9c6800041a8dbc6800010a981808000000b20054100360260024002402013201328020041054b22034103746a2802002201450d0002402013280204201341046a20031b2001412c6c6a220141546a220d280200220341014b0d00200141586a2210280200210e200141706a280200210c02402003410171450d00200e200c460d010b2005200141646a360270200541f0006a2003200e200c10a5978080002010200c36020041012103200d41013602000b4158210c024002402003417e6a2203410220034102491b0e03010300010b4164210c0b2001200c6a450d014100210302400240024020144100480d00024020140d00420121250c030b41002d008083d480001a201441002802f482d480001182808080000022030d01410121030b2003201441d8d9c6800010b980808000000b2003417e6a41003b000020032015201410f497808000ad21250b20002014360200200020252014ad422086843702040c020b4198bdcd800041fc004184bfcd800010a181808000000b024002400240200528020c4101470d002005200541286a3602cc012005200541df016a3602c801200528021c2103024020052802102201450d0003402005280218210c024020012003470d00200c2005280224460d030b2005280214210d02400240200c20012f01aa144f0d00200121030c010b034020012802a0132203450d08200d41016a210d20012f01a814210c20032101200c20032f01aa144f0d000b0b2003200c41e0016c6a210e2003200c410c6c6a41a4136a211002400240200d0d00200c41016a21080c010b2003200c4102746a41b0146a280200210341002108200d417f6a2201450d00200d417e6a210d02402001410771220c450d0003402001417f6a210120032802ac142103200c417f6a220c0d000b0b200d4107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200141786a22010d000b0b200520083602182005410036021420052003360210201041046a29020021252005200e36027820052025370270200541d0016a200541c8016a200541f0006a10948980800020052802d0012203418080808078470d03200528021c2103200528021022010d000b0b20030d080b0240200528024422034102460d00200541003602442003410171450d002004200a290200370200200441106a200a41106a290200370200200441086a200a41086a2902003702002005410136020c2005200541286a3602cc012005200541df016a3602c801200528021c21030240024020052802102204450d00034020052802182101024020042003470d0020012005280224460d030b2005280214210c02400240200120042f01aa144f0d00200421030c010b034020042802a0132203450d0a200c41016a210c20042f01a814210120032104200120032f01aa144f0d000b0b2003200141e0016c6a210d20032001410c6c6a41a4136a210a02400240200c0d00200141016a210e0c010b200320014102746a41b0146a28020021034100210e200c417f6a2204450d00200c417e6a210c024020044107712201450d0003402004417f6a210420032802ac1421032001417f6a22010d000b0b200c4107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200441786a22040d000b0b2005200e3602182005410036021420052003360210200a41046a29020021252005200d36027820052025370270200541d0016a200541c8016a200541f0006a10948980800020052802d0012203418080808078470d04200528021c2103200528021022040d000b0b20030d070b200541003602440b2005410036020c20052802284101470d012005200b3602cc012005200541df016a3602c801200528023821030240200528022c2204450d00034020052802342101024020042003470d0020012005280240460d040b2005280230210c02400240200120042f01aa144f0d00200421030c010b034020042802a0132203450d0a200c41016a210c20042f01a814210120032104200120032f01aa144f0d000b0b2003200141e0016c6a210d20032001410c6c6a41a4136a210a02400240200c0d00200141016a210e0c010b200320014102746a41b0146a28020021034100210e200c417f6a2204450d00200c417e6a210c024020044107712201450d0003402004417f6a210420032802ac1421032001417f6a22010d000b0b200c4107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200441786a22040d000b0b2005200e360234200541003602302005200336022c200a41046a29020021252005200d36027820052025370270200541d0016a200541c8016a200541f0006a10948980800020052802d0012203418080808078470d0220052802382103200528022c22040d000b0b2003450d0141d0cac5800010a081808000000b200020052902d401370204200020033602000c010b20004180808080783602000b200541e0016a2480808080000f0b41e0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b0e00200028020410eb8f808000000b0e00200028020410eb8f808000000b10002000200128020410ec8f808000000b10002000200128020410ec8f808000000bd90101027f4100210502400240024020034100480d0020002802002100024020030d00410121050c030b41002d008083d480001a200341002802f482d480001182808080000022050d01410121050b2005200341d8d9c6800010b980808000000b2005417e6a41003b00000b20052002200310f4978080002106024020002802ec02220220002802e402470d00200041e4026a4188bac680001091868080000b20002802e802200241146c6a220520043602102005200136020c2005200336020820052006360204200520033602002000200241016a3602ec020b0d00200028020010df8a8080000b0d00200028020010e58a8080000b0d00200028020010e88a8080000bdd0101027f4100210402400240024020034100480d0020002802002100024020030d00410121040c030b41002d008083d480001a200341002802f482d480001182808080000022040d01410121040b2004200341d8d9c6800010b980808000000b2004417e6a41003b00000b20042002200310f4978080002105024020002802ec02220220002802e402470d00200041e4026a4188bac680001091868080000b20002802e802200241146c6a220420013602102004200336020c200420053602082004200336020420044180808080783602002000200241016a3602ec020bf90a02117f027e23808080800041a0016b2201248080808000200028020022022802d00120022802c8012203200341054b1b41016a210302400240034002402003417f6a22030d00200120022000280204410110eb8a8080002001280288012204418080808078460d022001280290012105200128028c01210620012802840121072001280280012108200128027c21092001280274210a2001280270210b2001280264210c2001280260210d200128022c210e2001280224210f20012802202110024020012802782200450d00200a2103034002402003280200450d00200341046a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a2802002211418080808078460d002011450d00200341106a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032000417f6a22000d000b0b0240200b450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402007450d004100210b034002402008200b41186c6a220a280200450d00200a28020422032003417e6a2f00006b41002802ec82d48000118180808000000b0240200a2802142200450d00200a2802102103034002402003280200450d00200341046a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a2802002211418080808078460d002011450d00200341106a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032000417f6a22000d000b0b0240200a28020c450d00200a28021022032003417e6a2f00006b41002802ec82d48000118180808000000b200b41016a220b2007470d000b0b02402009450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b02402005450d0020062103034002402003280200450d00200341046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b0240200341186a2802002200418080808078460d002000450d002003411c6a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341246a21032005417f6a22050d000b0b02402004450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b0240200f450d000240200e450d00201041086a21032010290300427f8542808182848890a0c0807f832112201021000340024020124200520d000340200041a07e6a210020032903002112200341086a22112103201242808182848890a0c0807f83221242808182848890a0c0807f510d000b201242808182848890a0c0807f852112201121030b02402000410020127aa74103766b411c6c6a221141646a280200450d00201141686a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b2012427f7c21130240201141706a280200450d00201141746a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b20132012832112200e417f6a220e0d000b0b200f200f411c6c41236a41787122036a4177460d00201020036b22032003417e6a2f00006b41002802ec82d48000118180808000000b0240200d450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b200210da8a8080000d03200141a0016a2480808080000f0b200210e88a808000450d000b41d0dcc68000418e022001419f016a41c0dcc6800041e0dec6800010a981808000000b41f8d9c6800041302001419f016a41e8d9c6800041b0dcc6800010a981808000000b41d8dbc6800041c5002001419f016a41c8dbc6800041a0dcc6800010a981808000000bf90a02117f027e23808080800041a0016b2201248080808000200028020022022802d00120022802c8012203200341054b1b41016a210302400240034002402003417f6a22030d00200120022000280204410110ea8a8080002001280288012204418080808078460d022001280290012105200128028c01210620012802840121072001280280012108200128027c21092001280274210a2001280270210b2001280264210c2001280260210d200128022c210e2001280224210f20012802202110024020012802782200450d00200a2103034002402003280200450d00200341046a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a2802002211418080808078460d002011450d00200341106a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032000417f6a22000d000b0b0240200b450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402007450d004100210b034002402008200b41186c6a220a280200450d00200a28020422032003417e6a2f00006b41002802ec82d48000118180808000000b0240200a2802142200450d00200a2802102103034002402003280200450d00200341046a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a2802002211418080808078460d002011450d00200341106a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032000417f6a22000d000b0b0240200a28020c450d00200a28021022032003417e6a2f00006b41002802ec82d48000118180808000000b200b41016a220b2007470d000b0b02402009450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b02402005450d0020062103034002402003280200450d00200341046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b0240200341186a2802002200418080808078460d002000450d002003411c6a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341246a21032005417f6a22050d000b0b02402004450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b0240200f450d000240200e450d00201041086a21032010290300427f8542808182848890a0c0807f832112201021000340024020124200520d000340200041a07e6a210020032903002112200341086a22112103201242808182848890a0c0807f83221242808182848890a0c0807f510d000b201242808182848890a0c0807f852112201121030b02402000410020127aa74103766b411c6c6a221141646a280200450d00201141686a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b2012427f7c21130240201141706a280200450d00201141746a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b20132012832112200e417f6a220e0d000b0b200f200f411c6c41236a41787122036a4177460d00201020036b22032003417e6a2f00006b41002802ec82d48000118180808000000b0240200d450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b200210da8a8080000d03200141a0016a2480808080000f0b200210e88a808000450d000b41d0dcc68000418e022001419f016a41c0dcc6800041e0dec6800010a981808000000b41f8d9c6800041302001419f016a41e8d9c6800041b0dcc6800010a981808000000b41d8dbc6800041c5002001419f016a41c8dbc6800041a0dcc6800010a981808000000b9805010b7f23808080800041b0016b22012480808080000240200028020022022802d00120022802c8012203200341054b1b2204450d0020024190026a2105200241bc016a2106200141146a21074100210803400240024002402006410010b0978080000d0020022802b801210320022802b0012109200120022802b401220a36022c200120093602282001410036022420012009410047220b3602202001200a36021c20012009360218200141003602142001200b3602102009450d022003450d02034020012003417f6a36023020012802104101470d02024020012802140d00200128021821030240200128021c220b450d0002400240200b410771220a0d00200b21090c010b200b210903402009417f6a210920032802ac092103200a417f6a220a0d000b0b200b4108490d00034020032802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092103200941786a22090d000b0b2001420037021820012003360214200141013602100b200141086a200710d1838080002001280208450d030240200128020c410010b0978080000d0020012802302203450d040c010b0b4198b9c680004138200141af016a41f8b8c6800041d0b9c6800010a981808000000b41d0dcc68000418e02200141af016a41c0dcc680004180dfc6800010a981808000000b41f482c6800010a081808000000b02402005410010e68a808000450d0041e0b6c680004138200141af016a41f8b8c680004188b9c6800010a981808000000b200841016a22082004470d000b0b200141106a20022000280204410110ea8a8080000240200128029801418080808078460d0041f4bbc88000410f41c0bdc88000108081808000000b41f8d9c680004130200141af016a41e8d9c6800041f0dec6800010a981808000000b9805010b7f23808080800041b0016b22012480808080000240200028020022022802d00120022802c8012203200341054b1b2204450d0020024190026a2105200241bc016a2106200141146a21074100210803400240024002402006410010b0978080000d0020022802b801210320022802b0012109200120022802b401220a36022c200120093602282001410036022420012009410047220b3602202001200a36021c20012009360218200141003602142001200b3602102009450d022003450d02034020012003417f6a36023020012802104101470d02024020012802140d00200128021821030240200128021c220b450d0002400240200b410771220a0d00200b21090c010b200b210903402009417f6a210920032802ac092103200a417f6a220a0d000b0b200b4108490d00034020032802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092103200941786a22090d000b0b2001420037021820012003360214200141013602100b200141086a200710d1838080002001280208450d030240200128020c410010b0978080000d0020012802302203450d040c010b0b4198b9c680004138200141af016a41f8b8c6800041d0b9c6800010a981808000000b41d0dcc68000418e02200141af016a41c0dcc680004180dfc6800010a981808000000b41f482c6800010a081808000000b02402005410010e68a808000450d0041e0b6c680004138200141af016a41f8b8c680004188b9c6800010a981808000000b200841016a22082004470d000b0b200141106a20022000280204410110eb8a8080000240200128029801418080808078460d0041f4bbc88000410f41c0bdc88000108081808000000b41f8d9c680004130200141af016a41e8d9c6800041f0dec6800010a981808000000bb10202017f017e23808080800041106b2204248080808000200420012802002002200310ec8a808000024002400240024020042802004101470d00200428020422020d0141808080807821010c030b200420012802042002200310e28f80800020042802002201418180808078460d01200429020421050c020b41002103024002400240200428020822014100480d00024020010d00410121030c030b41002d008083d480001a200141002802f482d480001182808080000022030d01410121030b2003200141d8d9c6800010b980808000000b2003417e6a41003b00000b2001ad42208620032002200110f497808000ad8421050c010b41f8d9c6800041302004410f6a41e8d9c680004190dfc6800010a981808000000b2000200537020420002001360200200441106a2480808080000bb10202017f017e23808080800041106b2204248080808000200420012802002002200310ec8a808000024002400240024020042802004101470d00200428020422020d0141808080807821010c030b200420012802042002200310e18f80800020042802002201418180808078460d01200429020421050c020b41002103024002400240200428020822014100480d00024020010d00410121030c030b41002d008083d480001a200141002802f482d480001182808080000022030d01410121030b2003200141d8d9c6800010b980808000000b2003417e6a41003b00000b2001ad42208620032002200110f497808000ad8421050c010b41f8d9c6800041302004410f6a41e8d9c680004190dfc6800010a981808000000b2000200537020420002001360200200441106a2480808080000bbf0602017f047e23808080800041d00a6b2204248080808000200441b0e0c68000411410e891808000200441c4e0c68000410a2003410010e991808000200441d0016a200441d00110f4978080001a200441a0036a200110d792808000200441d0016a41d8e0c68000410a2002412010d992808000200441d0016a41e2e0c68000410a200441a0036a41c0006a412010d99280800020044180096a41386a420037030020044180096a41306a420037030020044180096a41286a420037030020044180096a41206a420037030020044180096a41186a2203420037030020044180096a41106a2201420037030020044180096a41086a220242003703002004420037038009200441d0016a41ece0c68000410b20044180096a41c00010da92808000200441b0076a20044180096a10b6908080002003420037030020014200370300200242003703002004420037038009200441d0016a41f7e0c68000410e20044180096a412010da92808000200441b0076a41386a20032903002205370000200441b0076a41306a20012903002206370000200441b0076a41286a20022903002207370000200420042903800922083700d007200041d8006a2005370000200041d0006a2006370000200041c8006a2007370000200020083700402003200441a0036a41186a29020022053703002001200441a0036a41106a29020022063703002002200441a0036a41086a2902002207370300200441a0056a41086a2007370300200441a0056a41106a2006370300200441a0056a41186a2005370300200420042902a003220537038009200441a0056a41206a20042902c003370300200441a0056a41286a200441a0036a41286a290200370300200441a0056a41306a200441a0036a41306a290200370300200441a0056a41386a200441a0036a41386a290200370300200420053703a00520044180096a200441d0016a41d00110f4978080001a200441b0076a20044180096a41cee0c68000410a200441a0036a41206a412010eb91808000200441e0056a200441b0076a41d00110f4978080001a20044180096a200441e0056a41d00110f4978080001a200441b0076a20044180096a41cee0c68000410a200441a0056a41c00010eb9180800010df91808000000be00201047f024002402002450d000240024002400240024020002802042203200028020c22044b0d0002402002200028020822002802082205200028021022046b4d0d0041010f0b200420026a22032004490d01200320054b0d022001200028020420046a200210f4978080001a200020033602100c050b410021052001200028020020046a4100200320046b2206200620034b1b2203200220032002491b220610f49780800021012000200620046a36020c200220034d0d050240200220036b2204200028020822022802082205200228021022006b4d0d0041010f0b200020046a22062000490d02200620054b0d03200120036a200228020420006a200410f4978080001a2002200636021041000f0b20042003418486cb8000109581808000000b20032005418486cb8000109181808000000b20002006418486cb8000109581808000000b20062005418486cb8000109181808000000b410021050b20050ba30a01077f23808080800041a0026b22022480808080000240024002400240024002400240024020012802082203200128021022046b410c490d002004410c6a2105200441734b0d02200520034d0d0120052003418486cb8000109181808000000b20004181808080783602000c060b2001280204210620012005360210200241206a41086a200620046a220741086a280000360200200220072900003703200240024002400240200241206a4185e1c68000410c10f597808000450d002002410036023c2002410c360234200220013602382002200241206a360230200241a4016a200241306a10ee8480800020022802a4012203418080808078470d0120004181808080783602000c090b20032005460d012004410d6a21042005417f460d04200420034d0d0220042003418486cb8000109181808000000b20022802ac01210420022802a8012106200241c0006a200241b0016a41e40010f4978080001a20022802980221072002280294022108200228029c022105200241186a200241306a10d084808000024020022802184101710d00200241a4016a200241306a200228021c10918380800020022802a401418080808078470d050b200041818080807836020002402004450d00200621010340024020012d0000220041034b0d002001200041027441aceac680006a2802006a2200280200450d00200041046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012004417f6a22040d000b0b02402003450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b02402005450d002005410171210341002104024020054101460d002005417e712100410021042007210103402001410c6a200141046a280200200141086a2802002001280200280210118680808000002001411c6a200141146a280200200141186a280200200141106a28020028021011868080800000200141206a21012000200441026a2204470d000b0b2003450d00200720044104746a2201410c6a200128020420012802082001280200280210118680808000000b2008450d0720072007417e6a2f00006b41002802ec82d48000118180808000000c070b20004181808080783602000c060b20012004360210200620056a2d00004101470d03200241106a200110cd848080000240024020022802104101710d00200241a4016a20012002280214109c8380800020022802a401418080808078470d010b20004181808080783602000c060b200241c0006a41086a200241a4016a41086a280200360200200220022902a401370340200241086a200110cd84808000024020022802084101710d00200241a4016a2001200228020c10a98380800020022802a401418080808078470d050b2000418180808078360200200241c0006a10a78f8080002002280240450d05200228024422012001417e6a2f00006b41002802ec82d48000118180808000000c050b20042005418486cb8000109581808000000b417f2004418486cb8000109581808000000b200020022902a40137027c20004184016a200241ac016a2802003602002000410c6a200241c0006a41e40010f4978080001a2000200536027820002007360274200020083602702000200436020820002006360204200020033602000c020b20004181808080783602000c010b200020022902a401370210200041186a200241a4016a41086a2802003602002000410c6a200241c0006a41086a2802003602002000200229034037020420004180808080783602000b200241a0026a2480808080000bd00401087f2000280240210202402001280200200128020822036b41034b0d0020012003410410f491808000200128020821030b2001280204220420036a20023600002001200341046a220236020841002d008083d480001a02400240412041002802f482d48000118280808000002203450d002003417e6a220541003b000020032000290000370000200341086a2206200041086a290000370000200341106a2207200041106a290000370000200341186a2208200041186a2900003700000240200128020020026b411f4b0d0020012002412010f49180800020012802042104200128020821020b200420026a22092003290000370000200941186a2008290000370000200941106a2007290000370000200941086a20062900003700002001200241206a2202360208200320052f00006b41002802ec82d480001181808080000041002d008083d480001a412041002802f482d48000118280808000002203450d012003417e6a220941003b00002003200041206a2200290000370000200341086a2205200041086a290000370000200341106a2206200041106a290000370000200341186a2207200041186a2900003700000240200128020020026b411f4b0d0020012002412010f49180800020012802042104200128020821020b200420026a22002003290000370000200041186a2007290000370000200041106a2006290000370000200041086a20052900003700002001200241206a360208200320092f00006b41002802ec82d48000118180808000000f0b4101412010ab80808000000b4101412010ab80808000000ba20201047f23808080800041206b22042480808080004100210502400240200141146c220641046a22074100480d0041002d008083d480001a200741002802f482d480001182808080000022050d01410121050b2005200741f8e1c6800010b980808000000b2005417e6a41003b000020044100360214200420053602102004200736020c200420013602182004200441186a36021c2004411c6a2004410c6a10dc8480800002402001450d00034020002004410c6a10898c808000200041146a21002006416c6a22060d000b0b200428020c21062002200320042802102200200428021441002802dc82d480001183808080000002402006450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000bee0201067f23808080800041206b22022480808080002002411c6a2103200241186a210402400240024002400240024020002d000022050e050001020305000b2002200041016a36021420002802102106200028020c210041002105200421070c030b410121052002200041016a36021420002802102106200028020c2100200421070c020b2002200041016a36021420002802102106200028020c210041022105200421070c010b200241146a2107200028020c21062000280208210041032105200421030b20032006360200200720003602000b20022005360210200241046a200241106a10e596808000200228020821000240200228020c22032001280200200128020822056b4d0d0020012005200310f491808000200128020821050b200128020420056a2000200310f4978080001a2001200520036a36020802402002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000bd00301087f23808080800041106b220224808080800041002d008083d480001a02400240411841002802f482d48000118280808000002203450d002003417e6a41003b0000200341106a2001280200220441106a290000370000200341086a200441086a2900003700002003200429000037000020022003360208200241183602042002411836020c41002d008083d480001a20012802042101412041002802f482d48000118280808000002203450d012003417e6a220541003b000020032001290000370000200341086a2206200141086a290000370000200341106a2207200141106a290000370000200341186a2208200141186a290000370000200241046a4118412010f49180800020022802082204200228020c22096a22012003290000370000200141086a2006290000370000200141106a2007290000370000200141186a200829000037000020022802042101200320052f00006b41002802ec82d480001181808080000020002004200941206a41002802c480d480001186808080000002402001450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241106a2480808080000f0b4101411841f8e1c6800010b980808000000b4101412010ab80808000000bca0301097f23808080800041106b2202248080808000024002402001280220220341c0004f0d00410121030c010b02402003418080014f0d00410221030c010b410441052003418080808004491b21030b41002d008083d480001a02400240200341002802f482d48000118280808000002204450d002004417e6a41003b000020024100360208200220043602042002200336020041002d008083d480001a412041002802f482d48000118280808000002203450d012003417e6a220541003b000020032001290000370000200341086a2206200141086a290000370000200341106a2207200141106a290000370000200341186a2208200141186a29000037000020024100412010f4918080002002280204200241086a2209280200220a6a22042003290000370000200441086a2006290000370000200441106a2007290000370000200441186a20082900003700002009200a41206a360200200320052f00006b41002802ec82d48000118180808000002002200141206a36020c2002410c6a200210dc84808000200041086a200928020036020020002002290200370200200241106a2480808080000f0b4101200341f8e1c6800010b980808000000b4101412010ab80808000000b950401047f23808080800041306b2202248080808000024002400240024002400240200028020022002d00000e050001020304000b2002200041086a36022020014190e6c68000410a200041016a41f0e5c68000200241206a4180e6c6800010b98180800021000c040b2002200041086a3602202001419ae6c680004109200041016a41f0e5c68000200241206a4180e6c6800010b98180800021000c030b2002200041086a360220200141a3e6c680004104200041016a41f0e5c68000200241206a4180e6c6800010b98180800021000c020b2002200041046a36020c410121002001280200220341a7e6c6800041052001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110828f808000450d010c030b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10828f8080000d02200228022041da80c280004102200228022428020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021000c010b200128020041ace6c680004119200128020428020c1180808080000021000b200241306a24808080800020000b3900200128020020002802002d0000410274220041f4eac680006a280200200041bceac680006a280200200128020428020c118080808000000bf40101027f23808080800041106b22022480808080002002200028020036020420012802004190e4c680004106200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a4196e4c680004104200241046a4180e4c68000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b8e0101017f23808080800041306b22022480808080002002200028020036020c20024101360224200241989bcb800036022020024101360214200241909bcb80003602102002410136021c200241c080808000ad4220862002410c6aad843703282002200241286a36021820012802002001280204200241106a10b1818080002101200241306a24808080800020010b3e01017f23808080800041106b220224808080800020022000280200290204370208200241086a200110ec808080002100200241106a24808080800020000b800601087f024002402002450d00200120026a2106200341016a210741002108200121090240034002400240200820044b0d0020092d0000210a0240024020080d00200a210b0c010b0240024020084101710d00200a210b2003210a0c010b2003200a20032d0000410874200a72413a6e220b413a6c6b3a00002007210a0b20084101460d00200320086a210c0340200a200a2d000041ff0171410874200b6a220b200b413a6e220b413a6c6b3a0000200a41016a220d200d2d0000410874200b6a220b200b413a6e220b413a6c6b3a0000200a41026a220a200c470d000b0b200b450d01034020042008460d04200320086a200b200b413a6e220a413a6c6b3a0000200841016a2108200b413a49210d200a210b200d0d020c000b0b200820044194e3c68000109181808000000b200941016a22092006470d000b20082004200820044b1b210b0240034020012d00000d0120042008460d020240200b2008460d00200141016a2101200320086a41003a0000200841016a21082002417f6a22020d010c020b0b200b20044184e3c68000108281808000000b0240200820044b0d002008450d02200320086a210120054180016a21044100210b024003402003200b6a220d2d0000220a413a4f0d01200d2004200a6a2d00003a00002008200b41016a220b470d000b4101210b024020084101470d004100210a0c050b4100210a4100210b0240200841017622044101460d002008417f6a210d200441feffffff077121024100210b03402003200d6a220c2d00002109200c2003200b6a22042d00003a0000200420093a00002001200b417e736a220c2d00002109200c200441016a22042d00003a0000200420093a0000200d417e6a210d2002200b41026a220b470d000b0b02402008410271450d002003200b6a220d2d00002103200d2001200b417f736a220b2d00003a0000200b20033a00000b2008210b0c040b200a413a41f4e2c68000108281808000000b2008200441e4e2c68000109181808000000b4101210a0c010b4100210b4100210a0b2000200b3602042000200a3602000b920305047f017e027f017e017f024020002802242201450d000240200028022c2202450d002000280220220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341e07c6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b02402003410020057aa74103766b41346c6a220641506a280200450d002006414c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b2005427f7c21080240200641546a2d00004102490d00200641786a2802002207417f460d00200720072802042209417f6a36020420094101470d002006417c6a280200410b6a4104490d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200820058321052002417f6a22020d000b0b2001200141346c413b6a41787122046a4177460d00200028022020046b22042004417e6a2f00006b41002802ec82d48000118180808000000b0bc00501037f0240024002400240024002402000280200417e6a2201410420014106491b0e050501020304000b2000280204220120012802002201417f6a36020020014101470d04200041046a10f0978080000c040b0240200028022c4129490d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802342201450d03200120012802002202417f6a36020020024101470d03200041346a10f0978080000f0b024020002802504129490d00200028022822012001417e6a2f00006b41002802ec82d48000118180808000000b20002d0004450d022000280208220110938c80800020012001417e6a2f00006b41002802ec82d48000118180808000000f0b024020002802382202450d002000280234210103400240024020012d00000e03010001000b200141046a2802002203108e8f80800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b02402000280230450d00200028023422012001417e6a2f00006b41002802ec82d48000118180808000000b2000280204450d0120002802082201450d01200120012802002202417f6a36020020024101470d01200041086a10f0978080000f0b024020002802604129490d00200028023822012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802342202450d002000280230210103400240024020012d00000e03010001000b200141046a2802002203108e8f80800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b0240200028022c450d00200028023022012001417e6a2f00006b41002802ec82d48000118180808000000b2000280200450d0020002802042201450d00200120012802002202417f6a36020020024101470d00200041046a10f0978080000f0b0bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c78b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c78b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c78b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c78b8080000b200641d0026a2480808080000b8b0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b2000416c6a210b200041146a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41146c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201341146a2013410810f59780800041004822160d004102211520144102460d04200c20126a2117410221150340201741146a22182017410810f5978080004100480d03201821172014201541016a2215470d000c020b0b410221154101211920144102460d02200c20126a2117410221150340201741146a22182017410810f597808000417f4a0d02201821172014201541016a2215470d000b0b201421150b2015200a490d022016450d010240201541024f0d00410121150c020b201541017621190b200b201541146c6a2118200021130340201320126a221441086a221629020021072016201820126a221741086a220f290200370200200f2007370200201429020021072014201729020037020020172007370200201741106a221728020021162017201441106a2214280200360200201420163602002018416c6a2118201341146a21132019417f6a22190d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510bf8b808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41146c22146a211a200020146a211b03402006418e026a200e417f6a22136a2d0000200f490d010240024002400240200641046a20134102746a28020022144101762218200941017622126a221920034b0d002014200972410171450d010b2000200d20196b41146c6a210e024020144101710d00200e201820022003201841017267410174413e734100200510bf8b8080000b20094101710d01200e201841146c6a201220022003201241017267410174413e734100200510bf8b8080000c010b201941017421090c010b024020094102490d0020144102490d00200320122018201220184922171b2209490d002002200e201841146c6a2214200e20171b200941146c221710f497808000221620176a2117024002400240201220184f0d00201a210903402014416c6a21142017416c6a211720092017201420172014410810f5978080002212417f4a22151b2218290200370200200941106a201841106a280200360200200941086a201841086a29020037020020172012411f7641146c6a21172014201541146c6a2214200e460d022009416c6a210920172016470d000c020b0b024020090d00201621090c020b201621090340200e2009201420142009410810f5978080002215417f4a22121b2218290200370200200e41106a201841106a280200360200200e41086a201841086a290200370200200e41146a210e2009201241146c6a22092017460d0220142015411f7641146c6a2214201b470d000c020b0b2014210e201621090b200e2009201720096b10f4978080001a0b201941017441017221090b410121142013210e201341014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510bf8b8080000b200641d0026a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041746a210b200041186a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410c6c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201328020c221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d032018410c6a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d022018410c6a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b2015410c6c20126a6a21140340201328020021162013201428020036020020142016360200201341046a221629020021072016201441046a221929020037020020192007370200201441746a21142013410c6a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510c68b808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d410c6c22136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b410c6c6a210e024020134101710d00200e201820022003201841017267410174413e734100200510c68b8080000b20094101710d01200e2018410c6c6a201620022003201641017267410174413e734100200510c68b8080000c010b201741017421090c010b024020094102490d0020134102490d00200320162018201620184922141b2213490d002002200e2018410c6c6a2209200e20141b2013410c6c221410f497808000221c20146a2114024002400240201620184f0d00201a211303402013200941746a2209201441746a221420142802002218200928020022164922191b2212290200370200201341086a201241086a28020036020020142019410c6c6a21142009201820164f410c6c6a2209200e460d02201341746a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a280200360200200e410c6a210e2013201820164f410c6c6a22132014460d0220092012410c6c6a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10f4978080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c68b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c28b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c28b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c28b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c28b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510be8b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510be8b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510be8b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510be8b8080000b200641d0026a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41047422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b02400240024002402013280210221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d03201841106a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d02201841106a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b201541047420126a6a21140340201329020021072013201429020037020020142007370200201341086a221629020021072016201441086a221929020037020020192007370200201441706a2114201341106a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510ca8b808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b4104746a210e024020134101710d00200e201820022003201841017267410174413e734100200510ca8b8080000b20094101710d01200e20184104746a201620022003201641017267410174413e734100200510ca8b8080000c010b201741017421090c010b024020094102490d0020134102490d00200320162018201620184922141b2213490d002002200e20184104746a2209200e20141b2013410474221410f497808000221c20146a2114024002400240201620184f0d00201a211303402013200941706a2209201441706a221420142802002218200928020022164922191b2212290200370200201341086a201241086a290200370200201420194104746a21142009201820164f4104746a2209200e460d02201341706a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a290200370200200e41106a210e2013201820164f4104746a22132014460d02200920124104746a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10f4978080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510ca8b8080000b200641d0026a2480808080000b830c03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041606a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41057422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201341206a2013412010f59780800041004822160d004102211520144102460d04200c20126a2117410221150340201741206a22182017412010f5978080004100480d03201821172014201541016a2215470d000c020b0b410221154101211920144102460d02200c20126a2117410221150340201741206a22182017412010f597808000417f4a0d02201821172014201541016a2215470d000b0b201421150b2015200a490d022016450d010240201541024f0d00410121150c020b201541017621190b200b20154105746a2118200021130340201320126a221441086a221629000021072016201820126a221741086a220f290000370000200f2007370000201741146a2800002116201741106a220f280000211a200f201441106a22102900003700002014290000210720142017290000370000201720073700002010201a360000201441146a2016360000201741186a2216280000210f2016201441186a221a280000360000201a200f3600002017411c6a2217280000211620172014411c6a221428000036000020142016360000201841606a2118201341206a21132019417f6a22190d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510cb8b808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41057422146a211b200020146a211a03402006418e026a200e417f6a22136a2d0000200f490d010240024002400240200641046a20134102746a28020022144101762218200941017622126a221920034b0d002014200972410171450d010b2000200d20196b4105746a210e024020144101710d00200e201820022003201841017267410174413e734100200510cb8b8080000b20094101710d01200e20184105746a201220022003201241017267410174413e734100200510cb8b8080000c010b201941017421090c010b024020094102490d0020144102490d00200320122018201220184922171b2209490d002002200e20184105746a2214200e20171b2009410574221710f497808000221620176a2117024002400240201220184f0d00201b21090340201441606a2114201741606a211720092017201420172014412010f5978080002212417f4a22151b2218290000370000200941186a201841186a290000370000200941106a201841106a290000370000200941086a201841086a29000037000020172012411a764120716a2117201420154105746a2214200e460d02200941606a210920172016470d000c020b0b024020090d00201621090c020b201621090340200e2009201420142009412010f5978080002215417f4a22121b2218290000370000200e41186a201841186a290000370000200e41106a201841106a290000370000200e41086a201841086a290000370000200e41206a210e200920124105746a22092017460d0220142015411a764120716a2214201a470d000c020b0b2014210e201621090b200e2009201720096b10f4978080001a0b201941017441017221090b410121142013210e201341014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510cb8b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c48b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c48b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c48b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c48b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c98b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c98b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c98b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c98b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c58b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c58b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c58b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c58b8080000b200641d0026a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041746a210b200041186a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410c6c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201328020c221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d032018410c6a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d022018410c6a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b2015410c6c20126a6a21140340201328020021162013201428020036020020142016360200201341046a221629020021072016201441046a221929020037020020192007370200201441746a21142013410c6a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510cd8b808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d410c6c22136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b410c6c6a210e024020134101710d00200e201820022003201841017267410174413e734100200510cd8b8080000b20094101710d01200e2018410c6c6a201620022003201641017267410174413e734100200510cd8b8080000c010b201741017421090c010b024020094102490d0020134102490d00200320162018201620184922141b2213490d002002200e2018410c6c6a2209200e20141b2013410c6c221410f497808000221c20146a2114024002400240201620184f0d00201a211303402013200941746a2209201441746a221420142802002218200928020022164922191b2212290200370200201341086a201241086a28020036020020142019410c6c6a21142009201820164f410c6c6a2209200e460d02201341746a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a280200360200200e410c6a210e2013201820164f410c6c6a22132014460d0220092012410c6c6a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10f4978080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510cd8b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510bd8b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510bd8b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510bd8b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510bd8b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c08b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c08b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c08b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c08b8080000b200641d0026a2480808080000b8d0c03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041746a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410c6c220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201241106a2802002215201241046a280200201241146a2802002216201241086a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d032017410c6a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d022017410c6a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410c6c200f6a6a21160340201228020021132012201628020036020020162013360200201241046a221329020021072013201641046a221a290200370200201a2007370200201641746a21162012410c6a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510cc8b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d410c6c22126a211b200020126a211803402006418e026a200e417f6a22146a2d0000200f490d010240024002400240200641046a20144102746a280200220e4101762216200941017622136a221520034b0d00200e200972410171450d010b2000200d20156b410c6c6a21120240200e4101710d002012201620022003201641017267410174413e734100200510cc8b8080000b20094101710d0120122016410c6c6a201320022003201341017267410174413e734100200510cc8b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201320162013201649220e1b2217490d00200220122016410c6c6a22092012200e1b2017410c6c220e10f4978080002219200e6a210e024002400240201320164f0d00201b211603402016200e41746a2213200941746a2217200e41786a280200200941786a280200200e417c6a280200220e2009417c6a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a28020036020020132009411f76410c6c6a210e2017201a410c6c6a22092012460d02201641746a2116200e2019470d000c020b0b024020170d00201921160c020b201921160340201220162009200941046a280200201641046a280200200941086a2802002213201641086a280200221720132017491b10f597808000221a201320176b201a1b221a417f4a22131b2217290200370200201241086a201741086a2802003602002012410c6a211220162013410c6c6a2216200e460d022009201a411f76410c6c6a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122014210e201441014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510cc8b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c88b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c88b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c88b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c88b8080000b200641d0026a2480808080000bb30c03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b2000415c6a210b200041c8006a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41246c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b02400240024002402013280224221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d03201841246a2118201921162014201541016a2215470d000c020b0b410221154101211a20144102460d02200c20126a21184102211503402018280200221920164f0d02201841246a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b2015410176211a0b200b201541246c6a2118200021190340201920126a221441086a221329020021072013201820126a221641086a221729020037020020172007370200201641146a2802002113201641106a2217280200210f2017201441106a221b290200370200201429020021072014201629020037020020162007370200201b200f360200201441146a2013360200201641186a221328020021172013201441186a220f280200360200200f20173602002016411c6a2213280200211720132014411c6a220f280200360200200f2017360200201441206a221428020021132014201641206a2216280200360200201620133602002018415c6a2118201941246a2119201a417f6a221a0d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510c18b808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41246c22146a211c200020146a211b03402006418e026a200e417f6a22196a2d0000200f490d010240024002400240200641046a20194102746a28020022144101762218200941017622126a221320034b0d002014200972410171450d010b2000200d20136b41246c6a210e024020144101710d00200e201820022003201841017267410174413e734100200510c18b8080000b20094101710d01200e201841246c6a201220022003201241017267410174413e734100200510c18b8080000c010b201341017421090c010b024020094102490d0020144102490d00200320122018201220184922161b2209490d002002200e201841246c6a2214200e20161b200941246c221610f497808000221720166a2116024002400240201220184f0d00201c2109034020092014415c6a22182016415c6a2216201628020022122018280200221549221a1b2214290200370200200941086a201441086a290200370200200941106a201441106a290200370200200941186a201441186a290200370200200941206a201441206a2802003602002016201a41246c6a21162018201220154f41246c6a2214200e460d022009415c6a210920162017470d000c020b0b024020090d00201721180c020b201721180340200e20142018201428020022122018280200221549221a1b2209290200370200200e41086a200941086a290200370200200e41106a200941106a290200370200200e41186a200941186a290200370200200e41206a200941206a280200360200200e41246a210e2018201220154f41246c6a22182016460d022014201a41246c6a2214201b470d000c020b0b2014210e201721180b200e2018201620186b10f4978080001a0b201341017441017221090b410121142019210e201941014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c18b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510cf8b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510cf8b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510cf8b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510cf8b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c38b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c38b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c38b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c38b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510ce8b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510ce8b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510ce8b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510ce8b8080000b200641d0026a2480808080000b1e00200128020041f0e3c68000410e200128020428020c118080808000000bdf0201087f23808080800041106b2203248080808000200320013602082003200341086a36020c2003410c6a200210dc84808000024002402001450d0020014105742104034041002d008083d480001a412041002802f482d48000118280808000002201450d022001417e6a220541003b000020012000290000370000200141086a2206200041086a290000370000200141106a2207200041106a290000370000200141186a2208200041186a29000037000002402002280200200228020822096b411f4b0d0020022009412010f491808000200228020821090b200041206a2100200228020420096a220a2001290000370000200a41086a2006290000370000200a41106a2007290000370000200a41186a20082900003700002002200941206a360208200120052f00006b41002802ec82d4800011818080800000200441606a22040d000b0b200341106a2480808080000f0b4101412010ab80808000000bb60602057f017e23808080800041f0006b220224808080800002400240024002400240024002400240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000020040e09010000000203040005000b200041053a00000c080b200241086a200110ce848080000240024020022802084101710d00200241246a2001200228020c1089838080002002280224418080808078470d010b200041053a00000c080b200241306a41086a200241246a41086a28020022033602002002411f6a2003360000200220022902242207370330200041033a00002002200737001720002002290014370001200041086a2002411b6a2900003700000c070b200241146a200110f98e8080002002280218418080808078460d05200241d0006a41086a200241186a220341086a2802002205360200200220032902002207370350200228021421032002411f6a200536000020002003360001200041013a000020022007370017200020022900143700052000410c6a2002411b6a2900003700000c060b200241146a200110f98e8080002002280218418080808078460d03200241e0006a41086a200241186a220341086a2802002205360200200220032902002207370360200228021421032002411f6a200536000020002003360001200041023a000020022007370017200020022900143700052000410c6a2002411b6a2900003700000c050b200241146a200110f98e8080002002280218418080808078460d01200241c0006a41086a200241186a220341086a2802002205360200200220032902002207370340200228021421032002411f6a200536000020002003360001200041003a000020022007370017200020022900143700052000410c6a2002411b6a2900003700000c040b200041043a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241f0006a2480808080000bb30602057f017e23808080800041f0006b220224808080800002400240024002400240024002400240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000020040e09010000000203040005000b200041053a00000c080b200241086a200110cf848080000240024020022802084101710d00200241246a2001200228020c1086838080002002280224418080808078470d010b200041053a00000c080b200241306a41086a200241246a41086a28020022033602002002411f6a2003360000200220022902242207370330200041033a00002002200737001720002002290014370001200041086a2002411b6a2900003700000c070b200241146a200110f88e8080002002280218418080808078460d05200241d0006a41086a200241186a220341086a2802002205360200200220032902002207370350200228021421032002411f6a200536000020002003360001200041013a000020022007370017200020022900143700052000410c6a2002411b6a2900003700000c060b200241146a200110f88e8080002002280218418080808078460d03200241e0006a41086a200241186a220341086a2802002205360200200220032902002207370360200228021421032002411f6a200536000020002003360001200041023a000020022007370017200020022900143700052000410c6a2002411b6a2900003700000c050b200241146a200110f88e8080002002280218418080808078460d01200241c0006a41086a200241186a220341086a2802002205360200200220032902002207370340200228021421032002411f6a200536000020002003360001200041003a000020022007370017200020022900143700052000410c6a2002411b6a2900003700000c040b200041043a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241f0006a2480808080000ba50602057f017e23808080800041d0006b22022480808080000240024002400240024002400240024002400240024002400240024002402001280204200128020c22034d0d002001200341016a36020c200128020020036a2d000021030c010b20012802082203280208220420032802102205460d01200541016a2206450d0c200620044b0d0d2003280204210420032006360210200420056a2d000021030b200341ff01710e09010000000203040005000b200041053a00000c090b2002200110d084808000024020022802004101710d00200241346a200120022802041083838080002002280234418080808078470d050b200041053a00000c080b2002410036022402402001200241246a410410858c8080000d0020022802242103200241086a200110d08480800020022802084101710d00200241246a2001200228020c10838380800020022802242201418080808078470d050b200041053a00000c070b2002410036022402402001200241246a410410858c8080000d0020022802242103200241106a200110d08480800020022802104101710d00200241246a2001200228021410838380800020022802242201418080808078470d050b200041053a00000c060b2002410036022402402001200241246a410410858c8080000d0020022802242103200241186a200110d08480800020022802184101710d00200241246a2001200228021c10838380800020022802242201418080808078470d050b200041053a00000c050b200041043a00000c040b200241c0006a41086a200241346a41086a28020022013602002002412f6a2001360000200220022902342207370340200041033a00002002200737002720002002290024370001200041086a2002412b6a2900003700000c030b2000200229022837020c2000200136020820002003360001200041013a00000c020b2000200229022837020c2000200136020820002003360001200041023a00000c010b2000200229022837020c2000200136020820002003360001200041003a00000b200241d0006a2480808080000f0b417f2006418486cb8000109581808000000b20062004418486cb8000109181808000000b950702057f017e23808080800041d0006b220224808080800002400240024002400240024002400240024002400240024002400240024002400240024002402001280208220320012802102204460d00200441016a2205450d0b20032005490d0c2001280204210620012005360210200620046a2d00000e09010000000203040005000b200041053a00000c090b2002200110cd84808000024020022802004101710d00200241346a2001200228020410a1838080002002280234418080808078470d050b200041053a00000c080b0240200320056b4104490d00200441056a21042005417b4b0d0b200420034b0d0c20012004360210200620056a2800002104200241086a200110cd8480800020022802084101710d00200241246a2001200228020c10a18380800020022802242201418080808078470d050b200041053a00000c070b0240200320056b4104490d00200441056a21042005417b4b0d0c200420034b0d0d20012004360210200620056a2800002104200241106a200110cd8480800020022802104101710d00200241246a2001200228021410a18380800020022802242201418080808078470d050b200041053a00000c060b0240200320056b4104490d00200441056a21042005417b4b0d0d200420034b0d0e20012004360210200620056a2800002104200241186a200110cd8480800020022802184101710d00200241246a2001200228021c10a18380800020022802242201418080808078470d050b200041053a00000c050b200041043a00000c040b200241c0006a41086a200241346a41086a28020022013602002002412f6a2001360000200220022902342207370340200041033a00002002200737002720002002290024370001200041086a2002412b6a2900003700000c030b2000200229022837020c2000200136020820002004360001200041013a00000c020b2000200229022837020c2000200136020820002004360001200041023a00000c010b2000200229022837020c2000200136020820002004360001200041003a00000b200241d0006a2480808080000f0b417f2005418486cb8000109581808000000b20052003418486cb8000109181808000000b20052004418486cb8000109581808000000b20042003418486cb8000109181808000000b20052004418486cb8000109581808000000b20042003418486cb8000109181808000000b20052004418486cb8000109581808000000b20042003418486cb8000109181808000000bab0502027f017e23808080800041e0006b2202248080808000024002400240024002400240024002400240024020012802042203450d0020012003417f6a36020420012001280200220341016a36020020032d00000e09020000000304050001000b200041053a00000c080b200041043a00000c070b200241146a200110fe8e8080002002280214418080808078460d05200241206a41086a200241146a41086a28020022013602002002410f6a2001360000200220022902142204370320200041033a00002002200437000720002002290004370001200041086a2002410b6a2900003700000c060b200241046a200110fb8e8080002002280208418080808078460d03200241c0006a41086a200241086a220141086a2802002203360200200220012902002204370340200228020421012002410f6a200336000020002001360001200041013a000020022004370007200020022900043700052000410c6a2002410b6a2900003700000c050b200241046a200110fb8e8080002002280208418080808078460d01200241d0006a41086a200241086a220141086a2802002203360200200220012902002204370350200228020421012002410f6a200336000020002001360001200041023a000020022004370007200020022900043700052000410c6a2002410b6a2900003700000c040b200241046a200110fb8e80800002402002280208418080808078460d00200241306a41086a200241086a220141086a2802002203360200200220012902002204370330200228020421012002410f6a200336000020002001360001200041003a000020022004370007200020022900043700052000410c6a2002410b6a2900003700000c040b200041053a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241e0006a2480808080000bea0204047f017e027f017e024020002802042204450d000240200028020c2205450d002000280200220641086a21072006290300427f8542808182848890a0c0807f8321080340024020084200520d000340200641a07e6a210620072903002108200741086a22092107200842808182848890a0c0807f83220842808182848890a0c0807f510d000b200842808182848890a0c0807f852108200921070b02402006410020087aa74103766b411c6c6a220941646a280200450d00200941686a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b2008427f7c210b0240200941706a280200450d00200941746a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200b20088321082005417f6a22050d000b0b20042003200441016a20026c6a417f6a410020036b7122076a4177460d00200028020020076b22072007417e6a2f00006b41002802ec82d48000118180808000000b0bde0303027f017e027f23808080800041206b2204248080808000024002400240024002402002410f490d00200241ffffffff014b0d02417f200241037441076e417f6a677641016a21050c010b41044108411020024108491b20024104491b21050b024002402001ad2005ad7e2206422088a70d002006a7220241784b0d00200241076a4178712201200541086a22076a22022001490d00200241f8ffffff074b0d0041002d008083d480001a200241002802f482d48000118280808000002208450d012008200841076a41787120086b22026a2203417e6a20023b0000200320016a41ff01200710fa9780800021012000410036020c20002005417f6a2202200541037641076c20024108491b36020820002002360204200020013602000c040b024020030d00410021050c030b200441003602182004410136020c200441e0e7c6800036020820044204370210200441086a41cce8c6800010fe80808000000b024020030d00410821050c020b4108200210ab80808000000b024020030d00200042003702000c020b200441003602182004410136020c200441e0e7c6800036020820044204370210200441086a41cce8c6800010fe80808000000b2000200236020820002005360204200041003602000b200441206a2480808080000bb616050b7f037e037f077e017f23808080800041206b220524808080800002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d01200541086a418801200a41016a22092002200920024b1b200410af8c8080002005280210210a200528020c210b2005280208220c450d042001280200210d02402006450d00200c41086a210e200d41f87e6a210f200329030022104230892111200d290300427f8542808182848890a0c0807f83211220032802082113200d211420062115410021090340024020124200520d000340200941086a2109201441086a221429030042808182848890a0c0807f83221642808182848890a0c0807f510d000b201642808182848890a0c0807f8521120b20127aa741037620096a2103410029039083d4800021162010211702402013450d00201341086a2900002016852217422088221820132900002011852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b0240200c200b200f410020036b4188016c6a2202290010410029038883d480002218852219422088221a20022900002017422089221785221b422088221c7e201942ffffffff0f832219201b42ffffffff0f83221b7e852019201c7e201a201b7e85422089852002290018201885221842208822192002290008201720167c85221642208822177e201842ffffffff0f832218201642ffffffff0f8322167e85201820177e201920167e854220898585221642208822174288d5fda1027e201642ffffffff0f83221642d3918cad087e85201742d3918cad087e20164288d5fda1027e8542208885a7221d7122046a29000042808182848890a0c0807f8322164200520d00410821020340200420026a2104200241086a2102200c2004200b7122046a29000042808182848890a0c0807f832216500d000b0b2012427f7c21170240200c20167aa741037620046a200b7122026a2c0000417f4c0d00200c29030042808182848890a0c0807f837aa741037621020b20172012832112200c20026a201d41197622043a0000200e200241786a200b716a20043a0000200c2002417f734188016c6a200d2003417f734188016c6a41880110f4978080001a2015417f6a22150d000b0b2001200b3602042001200c3602002001200a20066b360208418180808078210b2007450d03200720084188016c22026a4177460d03200d20026b22022002417e6a2f00006b41002802ec82d48000118180808000000c030b20040d014100210b0c020b41002102200128020021140240200920084107714100476a2204450d002004410171210c024020044101460d00200441feffffff03712109410021020340201420026a220420042903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c370300200441086a220420042903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200c450d00201420026a220220022903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00201420086a20142900003700000c010b201441086a2014200810f9978080001a2008450d010b201441086a211d201441f87e6a210f2003290300221c423089211020032802082103410121024100210d0340200d21152002210d0240201420156a220e2d0000418001470d00200f410020156b4188016c6a210b20142015417f734188016c6a210402400340410029039083d480002112410029038883d480002116201c211702402003450d00200341086a2900002012852217422088221820032900002010852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b2007200b29001020168522184220882219200b2900002017422089221785221a422088221b7e201842ffffffff0f832218201a42ffffffff0f83221a7e852018201b7e2019201a7e8542208985200b29001820168522164220882218200b290008201720127c85221242208822177e201642ffffffff0f832216201242ffffffff0f8322127e85201620177e201820127e854220898585221642208822124288d5fda1027e201642ffffffff0f83221642d3918cad087e85201242d3918cad087e20164288d5fda1027e8542208885a7221371220c210902402014200c6a29000042808182848890a0c0807f8322164200520d0041082102200c21090340200920026a2109200241086a21022014200920077122096a29000042808182848890a0c0807f832216500d000b0b0240201420167aa741037620096a20077122026a2c0000417f4c0d00201429030042808182848890a0c0807f837aa741037621020b02402002200c6b2015200c6b732007714108490d00201420026a22092d0000210c2009201341197622133a0000201d200241786a2007716a20133a000020142002417f734188016c6a2102200c41ff01460d02200229000021162002200429000037000020042016370000200429000821162004200229000837000820022016370008200228001021092002200428001036001020042009360010200428001421092004200228001436001420022009360014200428001821092004200228001836001820022009360018200228001c21092002200428001c36001c2004200936001c200228002021092002200428002036002020042009360020200428002421092004200228002436002420022009360024200428002821092004200228002836002820022009360028200228002c21092002200428002c36002c2004200936002c200228003021092002200428003036003020042009360030200428003421092004200228003436003420022009360034200428003821092004200228003836003820022009360038200228003c21092002200428003c36003c2004200936003c200228004021092002200428004036004020042009360040200428004421092004200228004436004420022009360044200428004821092004200228004836004820022009360048200228004c21092002200428004c36004c2004200936004c200228005021092002200428005036005020042009360050200428005421092004200228005436005420022009360054200428005821092004200228005836005820022009360058200228005c21092002200428005c36005c2004200936005c200228006021092002200428006036006020042009360060200428006421092004200228006436006420022009360064200428006821092004200228006836006820022009360068200228006c21092002200428006c36006c2004200936006c200228007021092002200428007036007020042009360070200428007421092004200228007436007420022009360074200428007821092004200228007836007820022009360078200228007c21092002200428007c36007c2004200936007c20022800800121092002200428008001360080012004200936008001200428008401210920042002280084013600840120022009360084010c010b0b200e201341197622023a0000201d201541786a2007716a20023a00000c010b200e41ff013a0000201d201541786a2007716a41ff013a00002002200441880110f4978080001a0b200d200d20084922046a210220040d000b0b2001200a20066b360208418180808078210b0c010b200541003602182005410136020c200541e0e7c6800036020820054204370210200541086a41cce8c6800010fe80808000000b0b2000200a3602042000200b360200200541206a2480808080000bc114050b7f037e037f077e017f23808080800041206b220524808080800002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d01200541086a41c000200a41016a22092002200920024b1b200410af8c8080002005280210210a200528020c210b2005280208220c450d042001280200210d02402006450d00200c41086a210e200d41406a210f200329030022104230892111200d290300427f8542808182848890a0c0807f83211220032802082113200d211420062115410021090340024020124200520d000340200941086a2109201441086a221429030042808182848890a0c0807f83221642808182848890a0c0807f510d000b201642808182848890a0c0807f8521120b20127aa741037620096a2103410029039083d4800021162010211702402013450d00201341086a2900002016852217422088221820132900002011852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b0240200c200b200f20034106746b2202290010410029038883d480002218852219422088221a20022900002017422089221785221b422088221c7e201942ffffffff0f832219201b42ffffffff0f83221b7e852019201c7e201a201b7e85422089852002290018201885221842208822192002290008201720167c85221642208822177e201842ffffffff0f832218201642ffffffff0f8322167e85201820177e201920167e854220898585221642208822174288d5fda1027e201642ffffffff0f83221642d3918cad087e85201742d3918cad087e20164288d5fda1027e8542208885a7221d7122046a29000042808182848890a0c0807f8322164200520d00410821020340200420026a2104200241086a2102200c2004200b7122046a29000042808182848890a0c0807f832216500d000b0b2012427f7c21170240200c20167aa741037620046a200b7122026a2c0000417f4c0d00200c29030042808182848890a0c0807f837aa741037621020b20172012832112200c20026a201d41197622043a0000200e200241786a200b716a20043a0000200c2002417f734106746a220241386a200d2003417f734106746a220441386a290000370000200241306a200441306a290000370000200241286a200441286a290000370000200241206a200441206a290000370000200241186a200441186a290000370000200241106a200441106a290000370000200241086a200441086a290000370000200220042900003700002015417f6a22150d000b0b2001200b3602042001200c3602002001200a20066b360208418180808078210b2007450d032007200841067422026a4177460d03200d20026b22022002417e6a2f00006b41002802ec82d48000118180808000000c030b20040d014100210b0c020b41002102200128020021140240200920084107714100476a2204450d002004410171210c024020044101460d00200441feffffff03712109410021020340201420026a220420042903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c370300200441086a220420042903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200c450d00201420026a220220022903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00201420086a20142900003700000c010b201441086a2014200810f9978080001a2008450d010b201441086a211d201441406a210f2003290300221c423089211020032802082103410121024100210d0340200d21152002210d0240201420156a220e2d0000418001470d00200f20154106746b210b20142015417f734106746a210902400340410029039083d480002112410029038883d480002116201c211702402003450d00200341086a2900002012852217422088221820032900002010852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b2007200b29001020168522184220882219200b2900002017422089221785221a422088221b7e201842ffffffff0f832218201a42ffffffff0f83221a7e852018201b7e2019201a7e8542208985200b29001820168522164220882218200b290008201720127c85221242208822177e201642ffffffff0f832216201242ffffffff0f8322127e85201620177e201820127e854220898585221642208822124288d5fda1027e201642ffffffff0f83221642d3918cad087e85201242d3918cad087e20164288d5fda1027e8542208885a7221371220c210402402014200c6a29000042808182848890a0c0807f8322164200520d0041082102200c21040340200420026a2104200241086a21022014200420077122046a29000042808182848890a0c0807f832216500d000b0b0240201420167aa741037620046a20077122026a2c0000417f4c0d00201429030042808182848890a0c0807f837aa741037621020b02402002200c6b2015200c6b732007714108490d00201420026a22042d0000210c2004201341197622133a0000201d200241786a2007716a20133a000020142002417f734106746a2102200c41ff01460d02200928001421042009280010210c200920022900103700102009290000211620092002290000370000200220163700002009290008211620092002290008370008200220163700082002200c3600102009280018210c20092002280018360018200220043600142002200c360018200928001c21042009200228001c36001c2002200436001c200928002021042009200228002036002020022004360020200928002421042009200228002436002420022004360024200928002821042009200228002836002820022004360028200928002c21042009200228002c36002c2002200436002c200928003021042009200228003036003020022004360030200928003421042009200228003436003420022004360034200928003821042009200228003836003820022004360038200928003c21042009200228003c36003c2002200436003c0c010b0b200e201341197622023a0000201d201541786a2007716a20023a00000c010b200e41ff013a0000201d201541786a2007716a41ff013a0000200241386a200941386a290000370000200241306a200941306a290000370000200241286a200941286a290000370000200241206a200941206a290000370000200241186a200941186a290000370000200241106a200941106a290000370000200241086a200941086a290000370000200220092900003700000b200d200d20084922046a210220040d000b0b2001200a20066b360208418180808078210b0c010b200541003602182005410136020c200541e0e7c6800036020820054204370210200541086a41cce8c6800010fe80808000000b0b2000200a3602042000200b360200200541206a2480808080000bfc11080c7f037e017f017e017f047e017f027e23808080800041c0006b22052480808080000240024002400240200128020c220620026a22022006490d000240200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d002005410c200a41016a220b2002200b20024b1b200410af8c8080002005280208210c2005280204210d2005280200220e450d032001280200210f02402006450d00200e41086a2110200329030022114230892112200f290300427f8542808182848890a0c0807f83211320032802082103200f2109200621144100210b0340024020134200520d000340200b41086a210b200941086a220929030042808182848890a0c0807f83221542808182848890a0c0807f510d000b201542808182848890a0c0807f8521130b200f410020137aa7410376200b6a22166b410c6c6a220241746a2104410029039083d4800021152011211702402003450d00200341086a2900002015852217422088221820032900002012852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b41002903a083d480002118410029039883d480002119410029038883d48000211a200542003703082005201837033020052019370328200520153703202005201a37031820052017370310200541203a00382005200241786a2802002202ad370300200428020041086a20022005108f888080000240024020052d00380d00200529031021150c010b2005290318200529030885221542208822172005290310200529030085221842208822197e201542ffffffff0f832215201842ffffffff0f8322187e85201520197e201720187e854220898521150b0240200e200d201542208822174288d5fda1027e201542ffffffff0f83221542d3918cad087e85201742d3918cad087e20154288d5fda1027e8542208885a7221b7122046a29000042808182848890a0c0807f8322154200520d00410821020340200420026a2104200241086a2102200e2004200d7122046a29000042808182848890a0c0807f832215500d000b0b2013427f7c21170240200e20157aa741037620046a200d7122026a2c0000417f4c0d00200e29030042808182848890a0c0807f837aa741037621020b20172013832113200e20026a201b41197622043a00002010200241786a200d716a20043a0000200e2002417f73410c6c6a220241086a200f2016417f73410c6c6a220441086a280000360000200220042900003700002014417f6a22140d000b0b2001200d3602042001200e3602002001200c20066b360208418180808078210d2007450d0220072008410c6c41076a41787122026a4177460d02200f20026b22022002417e6a2f00006b41002802ec82d48000118180808000000c020b410021022001280200210b0240200920084107714100476a2204450d002004410171210e024020044101460d00200441feffffff03712109410021020340200b20026a220420042903002215427f85420788428182848890a0c0800183201542fffefdfbf7efdfbfff00847c370300200441086a220420042903002215427f85420788428182848890a0c0800183201542fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200e450d00200b20026a220220022903002215427f85420788428182848890a0c0800183201542fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00200b20086a200b2900003700000c010b200b41086a200b200810f9978080001a2008450d010b200b41086a2116200b41746a210c2003290300221c423089211d2003280208210d410121024100211b0340201b21142002211b0240200b20146a22102d0000418001470d00200c410020146b410c6c6a2103200b2014417f73410c6c6a21090240034041002903a083d480002117410029039883d480002118410029039083d480002115410029038883d480002119201c21130240200d450d00200d41086a2900002015852213422088221a200d290000201d85221142208822127e201342ffffffff0f832213201142ffffffff0f8322117e85201320127e201a20117e854220898521130b200542003703082005201737033020052018370328200520153703202005201937031820052013370310200541203a0038200520032802042202ad370300200328020041086a20022005108f888080000240024020052d00380d00200529031021150c010b2005290318200529030885221542208822132005290310200529030085221742208822187e201542ffffffff0f832215201742ffffffff0f8322177e85201520187e201320177e854220898521150b2007201542208822134288d5fda1027e201542ffffffff0f83221542d3918cad087e85201342d3918cad087e20154288d5fda1027e8542208885a7220f71220e21040240200b200e6a29000042808182848890a0c0807f8322154200520d0041082102200e21040340200420026a2104200241086a2102200b200420077122046a29000042808182848890a0c0807f832215500d000b0b0240200b20157aa741037620046a20077122026a2c0000417f4c0d00200b29030042808182848890a0c0807f837aa741037621020b02402002200e6b2014200e6b732007714108490d00200b20026a22042d0000210e2004200f411976220f3a00002016200241786a2007716a200f3a0000200b2002417f73410c6c6a2102200e41ff01460d022009280000210420092002280000360000200220043600002002280004210420022009280004360004200920043600042009280008210420092002280008360008200220043600080c010b0b2010200f41197622023a00002016201441786a2007716a20023a00000c010b201041ff013a00002016201441786a2007716a41ff013a0000200241086a200941086a280000360000200220092900003700000b201b201b20084922046a210220040d000b0b2001200a20066b360208418180808078210d0c010b20040d024100210d0b0b2000200c3602042000200d360200200541c0006a2480808080000f0b2005410036021020054101360204200541e0e7c6800036020020054204370208200541cce8c6800010fe80808000000b8615080b7f037e027f017e017f047e017f027e23808080800041c0006b22052480808080000240024002400240200128020c220620026a22022006490d000240200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d0020054134200a41016a22092002200920024b1b200410af8c8080002005280208210b2005280204210c2005280200220d450d032001280200210e02402006450d00200d41086a210f200329030022104230892111200e290300427f8542808182848890a0c0807f83211220032802082103200e211320062114410021090340024020124200520d000340200941086a2109201341086a221329030042808182848890a0c0807f83221542808182848890a0c0807f510d000b201542808182848890a0c0807f8521120b200e410020127aa741037620096a22166b41346c6a2202414c6a2104410029039083d4800021152010211702402003450d00200341086a2900002015852217422088221820032900002011852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b41002903a083d480002118410029039883d480002119410029038883d48000211a200542003703082005201837033020052019370328200520153703202005201a37031820052017370310200541203a00382005200241506a2802002202ad370300200428020020022005108f888080000240024020052d00380d00200529031021150c010b2005290318200529030885221542208822172005290310200529030085221842208822197e201542ffffffff0f832215201842ffffffff0f8322187e85201520197e201720187e854220898521150b0240200d200c201542208822174288d5fda1027e201542ffffffff0f83221542d3918cad087e85201742d3918cad087e20154288d5fda1027e8542208885a7221b7122046a29000042808182848890a0c0807f8322154200520d00410821020340200420026a2104200241086a2102200d2004200c7122046a29000042808182848890a0c0807f832215500d000b0b2012427f7c21170240200d20157aa741037620046a200c7122026a2c0000417f4c0d00200d29030042808182848890a0c0807f837aa741037621020b20172012832112200d20026a201b41197622043a0000200f200241786a200c716a20043a0000200d2002417f7341346c6a220241306a200e2016417f7341346c6a220441306a280000360000200241286a200441286a290000370000200241206a200441206a290000370000200241186a200441186a290000370000200241106a200441106a290000370000200241086a200441086a290000370000200220042900003700002014417f6a22140d000b0b2001200c3602042001200d3602002001200b20066b360208418180808078210c2007450d022007200841346c41076a41787122026a4177460d02200e20026b22022002417e6a2f00006b41002802ec82d48000118180808000000c020b41002102200128020021130240200920084107714100476a2204450d002004410171210d024020044101460d00200441feffffff03712109410021020340201320026a220420042903002215427f85420788428182848890a0c0800183201542fffefdfbf7efdfbfff00847c370300200441086a220420042903002215427f85420788428182848890a0c0800183201542fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200d450d00201320026a220220022903002215427f85420788428182848890a0c0800183201542fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00201320086a20132900003700000c010b201341086a2013200810f9978080001a2008450d010b201341086a21162013414c6a210b2003290300221c423089211d2003280208210c410121024100211b0340201b21142002211b0240201320146a220f2d0000418001470d00200b410020146b41346c6a210320132014417f7341346c6a21090240034041002903a083d480002117410029039883d480002118410029039083d480002115410029038883d480002119201c21120240200c450d00200c41086a2900002015852212422088221a200c290000201d85221042208822117e201242ffffffff0f832212201042ffffffff0f8322107e85201220117e201a20107e854220898521120b200542003703082005201737033020052018370328200520153703202005201937031820052012370310200541203a0038200520032802042202ad370300200328020020022005108f888080000240024020052d00380d00200529031021150c010b2005290318200529030885221542208822122005290310200529030085221742208822187e201542ffffffff0f832215201742ffffffff0f8322177e85201520187e201220177e854220898521150b2007201542208822124288d5fda1027e201542ffffffff0f83221542d3918cad087e85201242d3918cad087e20154288d5fda1027e8542208885a7220e71220d210402402013200d6a29000042808182848890a0c0807f8322154200520d0041082102200d21040340200420026a2104200241086a21022013200420077122046a29000042808182848890a0c0807f832215500d000b0b0240201320157aa741037620046a20077122026a2c0000417f4c0d00201329030042808182848890a0c0807f837aa741037621020b02402002200d6b2014200d6b732007714108490d00201320026a22042d0000210d2004200e411976220e3a00002016200241786a2007716a200e3a000020132002417f7341346c6a2102200d41ff01460d02200928000021042009200228000036000020022004360000200228000421042002200928000436000420092004360004200928000821042009200228000836000820022004360008200228000c21042002200928000c36000c2009200436000c200928001021042009200228001036001020022004360010200228001421042002200928001436001420092004360014200928001821042009200228001836001820022004360018200228001c21042002200928001c36001c2009200436001c200928002021042009200228002036002020022004360020200228002421042002200928002436002420092004360024200928002821042009200228002836002820022004360028200228002c21042002200928002c36002c2009200436002c2009280030210420092002280030360030200220043600300c010b0b200f200e41197622023a00002016201441786a2007716a20023a00000c010b200f41ff013a00002016201441786a2007716a41ff013a0000200241306a200941306a280000360000200241286a200941286a290000370000200241206a200941206a290000370000200241186a200941186a290000370000200241106a200941106a290000370000200241086a200941086a290000370000200220092900003700000b201b201b20084922046a210220040d000b0b2001200a20066b360208418180808078210c0c010b20040d024100210c0b0b2000200b3602042000200c360200200541c0006a2480808080000f0b2005410036021020054101360204200541e0e7c6800036020020054204370208200541cce8c6800010fe80808000000b8012050c7f037e027f077e017f23808080800041206b220524808080800002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d01200541086a4120200a41016a220b2002200b20024b1b200410af8c8080002005280210210a200528020c210c2005280208220d450d042001280200210e02402006450d00200d41086a210f200e41606a2110200329030022114230892112200e290300427f8542808182848890a0c0807f83211320032802082114200e2109200621154100210b0340024020134200520d000340200b41086a210b200941086a220929030042808182848890a0c0807f83221642808182848890a0c0807f510d000b201642808182848890a0c0807f8521130b20137aa7410376200b6a2103410029039083d4800021162011211702402014450d00201441086a2900002016852217422088221820142900002012852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b0240200d200c201020034105746b2202290010410029038883d480002218852219422088221a20022900002017422089221785221b422088221c7e201942ffffffff0f832219201b42ffffffff0f83221b7e852019201c7e201a201b7e85422089852002290018201885221842208822192002290008201720167c85221642208822177e201842ffffffff0f832218201642ffffffff0f8322167e85201820177e201920167e854220898585221642208822174288d5fda1027e201642ffffffff0f83221642d3918cad087e85201742d3918cad087e20164288d5fda1027e8542208885a7221d7122046a29000042808182848890a0c0807f8322164200520d00410821020340200420026a2104200241086a2102200d2004200c7122046a29000042808182848890a0c0807f832216500d000b0b2013427f7c21170240200d20167aa741037620046a200c7122026a2c0000417f4c0d00200d29030042808182848890a0c0807f837aa741037621020b20172013832113200d20026a201d41197622043a0000200f200241786a200c716a20043a0000200d2002417f734105746a220241186a200e2003417f734105746a220441186a290000370000200241106a200441106a290000370000200241086a200441086a290000370000200220042900003700002015417f6a22150d000b0b2001200c3602042001200d3602002001200a20066b360208418180808078210c2007450d032007200841057422026a4177460d03200e20026b22022002417e6a2f00006b41002802ec82d48000118180808000000c030b20040d014100210c0c020b410021022001280200210b0240200920084107714100476a2204450d002004410171210d024020044101460d00200441feffffff03712109410021020340200b20026a220420042903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c370300200441086a220420042903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200d450d00200b20026a220220022903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00200b20086a200b2900003700000c010b200b41086a200b200810f9978080001a2008450d010b200b41086a211d200b41606a21102003290300221c423089211120032802082103410121024100210e0340200e21152002210e0240200b20156a220f2d0000418001470d00201020154105746b210c200b2015417f734105746a210902400340410029039083d480002113410029038883d480002116201c211702402003450d00200341086a2900002013852217422088221820032900002011852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b2007200c29001020168522184220882219200c2900002017422089221785221a422088221b7e201842ffffffff0f832218201a42ffffffff0f83221a7e852018201b7e2019201a7e8542208985200c29001820168522164220882218200c290008201720137c85221342208822177e201642ffffffff0f832216201342ffffffff0f8322137e85201620177e201820137e854220898585221642208822134288d5fda1027e201642ffffffff0f83221642d3918cad087e85201342d3918cad087e20164288d5fda1027e8542208885a7221471220d21040240200b200d6a29000042808182848890a0c0807f8322164200520d0041082102200d21040340200420026a2104200241086a2102200b200420077122046a29000042808182848890a0c0807f832216500d000b0b0240200b20167aa741037620046a20077122026a2c0000417f4c0d00200b29030042808182848890a0c0807f837aa741037621020b02402002200d6b2015200d6b732007714108490d00200b20026a22042d0000210d2004201441197622143a0000201d200241786a2007716a20143a0000200b2002417f734105746a2102200d41ff01460d02200928001421042009280010210d200920022900103700102009290000211620092002290000370000200220163700002009290008211620092002290008370008200220163700082002200d3600102009280018210d20092002280018360018200220043600142002200d360018200928001c21042009200228001c36001c2002200436001c0c010b0b200f201441197622023a0000201d201541786a2007716a20023a00000c010b200f41ff013a0000201d201541786a2007716a41ff013a0000200241186a200941186a290000370000200241106a200941106a290000370000200241086a200941086a290000370000200220092900003700000b200e200e20084922046a210220040d000b0b2001200a20066b360208418180808078210c0c010b200541003602182005410136020c200541e0e7c6800036020820054204370210200541086a41cce8c6800010fe80808000000b0b2000200a3602042000200c360200200541206a2480808080000b950d06097f017e027f017e027f017e23808080800041206b22052480808080002005200336020402400240024002400240200128020c220620026a22032006490d00200320012802042207200741016a2208410376220241076c20074108491b22094101764d0d01200541086a411c200941016a22022003200220034b1b200410af8c8080002005280210210a200528020c210b2005280208220c450d042001280200210d02402006450d00200c41086a2109200d290300427f8542808182848890a0c0807f83210e41002104200d210f2006211003400240200e4200520d000340200441086a2104200f41086a220f29030042808182848890a0c0807f83221142808182848890a0c0807f510d000b201142808182848890a0c0807f85210e0b0240200c200b200541046a200d200e7aa741037620046a221210b68c808000a722137122026a29000042808182848890a0c0807f8322114200520d00410821030340200220036a2102200341086a2103200c2002200b7122026a29000042808182848890a0c0807f832211500d000b0b200e427f7c21140240200c20117aa741037620026a200b7122036a2c0000417f4c0d00200c29030042808182848890a0c0807f837aa741037621030b2014200e83210e200c20036a201341197622023a00002009200341786a200b716a20023a0000200c2003417f73411c6c6a220341186a200d2012417f73411c6c6a220241186a280000360000200341106a200241106a290000370000200341086a200241086a290000370000200320022900003700002010417f6a22100d000b0b2001200b3602042001200c3602002001200a20066b360208418180808078210b2007450d0320072008411c6c41076a41787122036a4177460d03200d20036b22032003417e6a2f00006b41002802ec82d48000118180808000000c030b20040d014100210b0c020b41002103200128020021040240200220084107714100476a2202450d002002410171210c024020024101460d00200241feffffff0371210f410021030340200420036a220220022903002211427f85420788428182848890a0c0800183201142fffefdfbf7efdfbfff00847c370300200241086a220220022903002211427f85420788428182848890a0c0800183201142fffefdfbf7efdfbfff00847c370300200341106a2103200f417e6a220f0d000b0b200c450d00200420036a220320032903002211427f85420788428182848890a0c0800183201142fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00200420086a20042900003700000c010b200441086a2004200810f9978080001a2008450d010b200441086a2110410021124101210303402012210b2003211202402004200b6a22132d0000418001470d002004200b417f73411c6c6a210f024003402007200541046a2004200b10b68c808000a7220d71220c210202402004200c6a29000042808182848890a0c0807f8322114200520d0041082103200c21020340200220036a2102200341086a21032004200220077122026a29000042808182848890a0c0807f832211500d000b0b0240200420117aa741037620026a20077122036a2c0000417f4c0d00200429030042808182848890a0c0807f837aa741037621030b02402003200c6b200b200c6b732007714108490d00200420036a22022d0000210c2002200d411976220d3a00002010200341786a2007716a200d3a000020042003417f73411c6c6a2103200c41ff01460d02200328000021022003200f280000360000200f2002360000200f2800042102200f200328000436000420032002360004200328000821022003200f280008360008200f2002360008200f28000c2102200f200328000c36000c2003200236000c200328001021022003200f280010360010200f2002360010200f2800142102200f200328001436001420032002360014200328001821022003200f280018360018200f20023600180c010b0b2013200d41197622033a00002010200b41786a2007716a20033a00000c010b201341ff013a00002010200b41786a2007716a41ff013a0000200341186a200f41186a280000360000200341106a200f41106a290000370000200341086a200f41086a2900003700002003200f2900003700000b2012201220084922026a210320020d000b0b2001200920066b360208418180808078210b0c010b200541003602182005410136020c200541e0e7c6800036020820054204370210200541086a41cce8c6800010fe80808000000b0b2000200a3602042000200b360200200541206a2480808080000bf70504017f057e017f017e2001410020026b411c6c6a2202416c6a2802002103200241686a2102410029039083d4800021042000280200220029030021050240200041086a2802002200450d00200041086a290000200485220642208822072000290000200542308985220542208822087e200642ffffffff0f832206200542ffffffff0f8322057e85200620087e200720057e854220898521050b20022802002100410029038883d48000210620052003ad8a21050240024020034111490d00200520047c210402402003418002490d0020002003200520042005410029039883d480007c200541002903a083d480007c200610c39080800021050c020b200341f00171210220002003410f716a2109024003402000200920026a22014f0d01200141786a29000020068522074220882208200041086a2900002004852204422088220a7e200742ffffffff0f832207200442ffffffff0f8322047e852007200a7e200820047e85422089852104200141706a2900002006852207422088220820002900002005852205422088220a7e200742ffffffff0f832207200542ffffffff0f8322057e852007200a7e200820057e85422089852105200041106a2100200241706a22020d000b0b200520048521050c010b024002400240200341074b0d00200341034b0d012003450d02200020036a417f6a310000420886200020034101766a310000842004852104200520003100008521050c020b20002900002005852105200020036a41786a29000020048521040c010b200520003500008521052004200020036a417c6a3500008521040b20054220882207200442208822087e200542ffffffff0f832205200442ffffffff0f8322047e85200720047e200520087e854220898521050b200642ffffffff0f83220420032005a773ad22077e20054220882205200642208822067e85200620077e200520047e8542208985220542208822064288d5fda1027e200542ffffffff0f83220542d3918cad087e85200642d3918cad087e20054288d5fda1027e85422089850bf00d01107f2380808080004190016b2207248080808000024002400240024002400240024002400240024002400240024020010e020001020b0240200328020822082003280200470d002003419ccfcd800010b8808080000b200328020420086a41003a00002003200841016a3602080c0b0b20002802102108200028020c21092005410171450d010240200820064f0d002007200836020c2007200936020820074180808080783602040c0a0b200741106a2009200841002802c480d480001186808080000041002d008083d480001a412041002802f482d48000118280808000002208450d02200820072900103700002008417e6a41003b0000200841086a200741106a41086a290000370000200841106a200741106a41106a290000370000200841186a200741106a41186a2900003700002007412036020c20072008360208200741203602040c090b200041146a210a200141146c220b416c6a41146e210c2000280210210d200028020c210e2000280200210f41002110200041046a280200221121120340410021080240200a201041146c6a221341046a2802002209201120092011491b2209450d0020132802002113410021080340200f20086a2d0000201320086a2d0000470d012009200841016a2208470d000b200921080b2012200820122008491b2112201041016a2210200c470d000b024002400240024020040d00201220024b0d014100210f0c030b201220024b0d01410021140c020b201220114b0d04200741e0006a41086a220841003602002007428080808010370260200020012012200741e0006a41002005200610b78c808000200741106a41086a2008280200360200200720072902603703102003200741106a10978b8080000c0b0b201220114b0d04200f20026a210f201220026b2114201221020b200741c8006a4200370300200741c0006a4200370300200741386a4200370300200741306a4200370300200741286a4200370300200741106a41106a4200370300200741186a4200370300200742003703104100210c4101210820022011462215210a0340200c21162008210c200a20014b0d07410021090240200a2001460d00200b200a41146c22086b2113200020086a210841002109201641ff0171211203402002200841046a28020022104f0d08200828020020026a2d00002012470d01200841146a2108200941016a21092013416c6a22130d000b0b200741106a20164102746a20093602002009200a6a210a200c200c41104922096a210820090d000b02400240024020022011470d00410121122005410171450d02200d2006490d02200741e0006a200e200d41002802c480d480001186808080000041002d008083d480001a412041002802f482d4800011828080800000220e0d014101412041b4e7c6800010b980808000000b2007418180808078360254410121120c090b200e2007290060370000200e417e6a41003b0000200e41186a2209200741e0006a41186a290000370000200e41106a2213200741e0006a41106a290000370000200e41086a2210200741e0006a41086a29000037000041002d008083d480001a412041002802f482d48000118280808000002208450d05410021122008417e6a41003b00002008200e290000370000200841086a2010290000370000200841106a2013290000370000200841186a20092900003700002007412036025c20072008360258200741203602540c080b2007200d36025c2007200e36025820074180808080783602540c070b2007200836020c2007200936020820074180808080783602040c070b4101412041b4e7c6800010b980808000000b2012201141cce9c68000109181808000000b2012201141dce9c68000109181808000000b4101412041a8b2c8800010b980808000000b20022010418ceac68000108281808000000b200a200141fce9c68000109281808000000b2003200f2014200741d4006a200741106a200741106a41c0006a10968b808000200241016a210f410021080240024003400240200741106a20086a2802002209450d00200920156a22022009490d02200220014b0d0320074184016a41086a221341003602002007428080808010370284012000201541146c6a2009200f20074184016a20042005200610b78c808000200741e0006a41086a201328020036020020072007290284013703602003200741e0006a10978b808000200221150b200841046a220841c000470d000b20120d03200e200e417e6a2f00006b41002802ec82d48000118180808000000c030b2015200241ece9c68000109581808000000b2002200141ece9c68000109181808000000b0240200041046a28020022082002490d002003200028020020026a200820026b200741046a10c2978080000c010b2002200841bce9c68000109281808000000b20074190016a2480808080000bb20501067f23808080800041f0006b220424808080800020044100360214200442808080801037020c41002d008083d480001a0240410441002802f482d48000118280808000002205450d002005200541036a417c71220620056b22076a417e6a20073b0000200641003602002004410036025c20044200370254200442818080802037024c20042006360248200441003602442004410036023c200442003702342004410036022c2004420037022420042004410c6a360260200441186a200441246a41a0e0c6800010d88f8080002004410036026c2004428080808010370264200428021c2208200428022022074100200441e4006a20012002200310b78c80800020042802642109200020042802682201200428026c41002802c480d480001186808080000002402007450d002007410171210041002103024020074101460d00200841206a21052007417e7121024100210303400240200541686a280200450d002005416c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402005417c6a280200450d00200528020022072007417e6a2f00006b41002802ec82d48000118180808000000b200541286a21052002200341026a2203470d000b0b2000450d002008200341146c6a2205280208450d00200541086a28020422052005417e6a2f00006b41002802ec82d48000118180808000000b02402004280218450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b20062006417e6a2f01006b41002802ec82d48000118180808000000240200428020c450d00200428021022052005417e6a2f00006b41002802ec82d48000118180808000000b02402009450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200441f0006a2480808080000f0b41044104419ceac6800010b980808000000b820403027f047e047f23808080800041a0016b2202248080808000200242cfc4f4d18decb3a8d80037008801200242e8afb0b6b9e781b59d7f37008001200242c0c38addfcd9c9c1c400370078200242c2d5a39edcfaf091cd00370070200241e0006a200241f0006a412010e985808000200220022903684200428080c002420010fc97808000200241f0006a4200420020022903004200200228026022031b2002290308420020031b428094ebdc03420010a393808000200229038801210420022903800121052002290378210620022903702107200241c0006a10f386808000200241f0006a200241c0006a41acecc6800010d68f80800020022802782208410a7421092002280270210a2002280274210302400240024020080d004101210b0c010b41002d008083d480001a200941002802f482d4800011828080800000220b450d01200b417e6a41003b00000b2002200b2003200910f497808000220b36021c2002200a360234200220033602302002200336022c2002200b20096a3602282002200b360220200220083602242002200320096a36023820022005a7410a7641ffffff0120054280808080105441002004501b1b41ffffff012007200684501b36023c200041046a2002411c6a41acecc6800010f28e80800020004104360200200241a0016a2480808080000f0b41012009418c9dc4800010b980808000000b841001057f23808080800041306b2202248080808000024002400240024002400240024002400240024002400240024002400240024020002d00000e0f000102030405060708090a0b0c0d0e000b2002200041046a36020c41012103200128020022004190aec7800041052001280204220428020c2205118080808000000d0e0240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d102002410c6a200110a785808000450d010c100b200041e080c2800041022005118080808000000d0f41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a7858080000d0f200228022041da80c280004102200228022428020c118080808000000d0f0b200128020041e280c280004101200128020428020c1180808080000021030c0e0b20012802004195aec78000410c200128020428020c1180808080000021030c0d0b200128020041a1aec780004109200128020428020c1180808080000021030c0c0b2002200041046a36020c410121032001280200220041aaaec7800041062001280204220428020c2205118080808000000d0b0240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0d2002410c6a200110808d808000450d010c0d0b200041e080c2800041022005118080808000000d0c41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10808d8080000d0c200228022041da80c280004102200228022428020c118080808000000d0c0b200128020041e280c280004101200128020428020c1180808080000021030c0b0b200128020041b0aec780004111200128020428020c1180808080000021030c0a0b200128020041c1aec78000410b200128020428020c1180808080000021030c090b200128020041ccaec780004110200128020428020c1180808080000021030c080b410121032002200041016a36020c2001280200220041dcaec7800041052001280204220428020c2205118080808000000d070240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d092002410c6a200110838d808000450d010c090b200041e080c2800041022005118080808000000d0841012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10838d8080000d08200241106a41da80c2800041021088818080000d080b200128020041e280c280004101200128020428020c1180808080000021030c070b410121032002200041016a36020c2001280200220041e1aec78000410a2001280204220428020c2205118080808000000d060240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d082002410c6a200110848f808000450d010c080b200041e080c2800041022005118080808000000d0741012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10848f8080000d07200228022041da80c280004102200228022428020c118080808000000d070b200128020041e280c280004101200128020428020c1180808080000021030c060b410121032001280200220541ebaec78000410d2001280204220628020c2204118080808000000d050240024020012d000a418001710d0041012103200541df80c2800041012004118080808000000d072001280200419eb1c780004192b1c7800020002d000122001b4107410c20001b200128020428020c11808080800000450d010c070b200541e080c2800041022004118080808000000d06200220063602242002200536022041012103200241013a001020002d000121002002200241106a360228200241206a419eb1c780004192b1c7800020001b4107410c20001b1088818080000d06200241206a41da80c2800041021088818080000d060b200128020041e280c280004101200128020428020c1180808080000021030c050b200128020041f8aec780004109200128020428020c1180808080000021030c040b20012802004181afc78000410a200128020428020c1180808080000021030c030b2001280200418bafc78000410b200128020428020c1180808080000021030c020b20012802004196afc78000410e200128020428020c1180808080000021030c010b410121032002200041016a36020c2001280200220041a4afc7800041042001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d022002410c6a2001108d8c808000450d010c020b200041e080c2800041022005118080808000000d0141012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a108d8c8080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021030b200241306a24808080800020030bfb0301017e02400240024002400240024002400240024020012d0000417f6a0e09000102030405060708000b20004200370310200042891c37030820004290fef1d200370300200041186a4200370300200041206a41003b01000f0b20004200370310200042b4303703082000429898e98e01370300200041186a4200370300200041206a41003b01000f0b20004200370310200042891c370308200042b8f09cce00370300200041186a4200370300200041206a41003b01000f0b20004200370310200042891c370308200042a8ebcbd200370300200041186a4200370300200041206a41003b01000f0b20004200370310200042891c370308200042b8ad80c300370300200041186a4200370300200041206a41003b01000f0b20004200370310200041186a4200370300200041206a41003b01002000200135020c220242ab147e42de077c3703082000200242bcb9cbc2007e42d0d0ff067c3703000f0b20004200370310200042891c370308200042b0d1e1c400370300200041186a4200370300200041206a41003b01000f0b20004200370308200042d8ccc602370300200041106a4200370300200041186a4200370300200041206a41003b01000f0b20004200370308200041106a4200370300200041186a4200370300200041206a41003b0100200042f8b5b40e4280d3f00920012d00011b3703000bdc0503067f017e017f23808080800041d0006b2201248080808000200141286a41c8f1c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241f780808000360238200242a09485e896f4dad275370330200242ffa2b2ec89e3f8c2dd0037032820024101360224200241cff1c680003602202002418081808000360218200242afc3dcb6fbd0bf9afb00370310200242a5f4d0c295cad9e04b37030820024101360204200241cef1c680003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c2107200128022821082001410036021820014280808080c000370210200141c0006a200141106a41d0f1c680004102108684808000200141346a200141c0006a41d2f1c68000410310ec838080002001200128023436021820012001280238220336021020012003200128023c41246c6a36021c20012003360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141c0006a41086a2802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bdd0503067f017e017f23808080800041d0006b2201248080808000200141286a41c8f1c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241f780808000360238200242a09485e896f4dad275370330200242ffa2b2ec89e3f8c2dd0037032820024101360224200241cff1c68000360220200241fc80808000360218200242f0bda1a084bdddc89f7f37031020024284c6f3a094c493c0c40037030820024101360204200241cef1c680003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c2107200128022821082001410036021820014280808080c000370210200141c0006a200141106a41d0f1c68000410210f783808000200141346a200141c0006a41d2f1c68000410310ec838080002001200128023436021820012001280238220336021020012003200128023c41246c6a36021c20012003360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141c0006a41086a2802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bde0503067f017e017f23808080800041d0006b2201248080808000200141286a41c8f1c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241f080808000360238200242c4f3c7ded6c68693897f370330200242ba96ded3aed6fd9dff0037032820024101360224200241cff1c680003602202002418481808000360218200242d9d1a5958acddccda77f370310200242bb82a2f99fad8c91c10037030820024101360204200241cef1c680003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c2107200128022821082001410036021820014280808080c000370210200141c0006a200141106a41d0f1c680004102108a84808000200141346a200141c0006a41d2f1c68000410310c3848080002001200128023436021820012001280238220336021020012003200128023c41246c6a36021c20012003360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141c0006a41086a2802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bde0503067f017e017f23808080800041d0006b2201248080808000200141286a41c8f1c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418381808000360238200242acf6debeefe0d9c8d300370330200242efc9c9edb5e7b3a6c70037032820024101360224200241cff1c680003602202002418481808000360218200242d9d1a5958acddccda77f370310200242bb82a2f99fad8c91c10037030820024101360204200241cef1c680003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c2107200128022821082001410036021820014280808080c000370210200141c0006a200141106a41d0f1c680004102108a84808000200141346a200141c0006a41d2f1c6800041031089848080002001200128023436021820012001280238220336021020012003200128023c41246c6a36021c20012003360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141c0006a41086a2802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000b830b01027f02400240024002400240024002400240024002400240024002400240024020002d00000e0f000102030405060708090a0b0c0d0e000b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41023a00000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200128020420026a41033a00002001200241016a220236020820002d00102103024020012802002002470d0020012002410110f491808000200128020821020b200128020420026a20033a00002001200241016a22023602080240200128020020026b41034b0d0020012002410410f491808000200128020821020b2001200241046a360208200128020420026a200028020c3600000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41043a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41053a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41063a00000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200128020420026a41073a00002001200241016a220236020820002d00012100024020012802002002470d0020012002410110f491808000200128020821020b2001200241016a360208200128020420026a20003a00000f0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a2202360208200128020420036a41083a00000240024002400240024020002d000122000e03000102000b20012802002002460d020c030b20012802002002460d010c020b20012802002002470d010b20012002410110f491808000200128020821020b2001200241016a360208200128020420026a20003a00000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200128020420026a41093a00002001200241016a220236020820002d00012100024020012802002002470d0020012002410110f491808000200128020821020b2001200241016a360208200128020420026a20003a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a410a3a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a410b3a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a410c3a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a410d3a00000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200128020420026a410e3a00002001200241016a220236020820002d00012100024020012802002002470d0020012002410110f491808000200128020821020b2001200241016a360208200128020420026a20003a00000bde0504037f017e017f017e0240024020012802082202280200220328020422040d00410121030c010b20032004417f6a36020420032003280200220441016a3602002001427f200129030042017c22052005501b37030020042d00002106410021030b41042104024020034101710d000240024002400240200641ff01710e0400010203040b20022802002206280204220341c000490d032006200341406a36020420062006280200220341c0006a3602002001427f2001290300220542c0007c220720072005541b37030020002003290000370001200041096a200341086a290000370000200041116a200341106a290000370000200041196a200341186a290000370000200041216a200341206a290000370000200041296a200341286a290000370000200041316a200341306a290000370000200041396a200341386a290000370000410021040c030b20022802002206280204220341c000490d022006200341406a36020420062006280200220341c0006a3602002001427f2001290300220542c0007c220720072005541b37030020002003290000370001200041096a200341086a290000370000200041116a200341106a290000370000200041196a200341186a290000370000200041216a200341206a290000370000200041296a200341286a290000370000200041316a200341306a290000370000200041396a200341386a290000370000200041013a00000f0b20022802002203280204220641c100490d012003200641bf7f6a36020420032003280200220441c1006a3602002001427f2001290300220542c1007c220720072005541b370300200041016a200441c10010f4978080001a200041023a00000f0b20022802002203280204220641c100490d002003200641bf7f6a36020420032003280200220441c1006a3602002001427f2001290300220542c1007c220720072005541b370300200041016a200441c10010f4978080001a200041033a00000f0b200020043a00000bb80601047f200041016a2102024002400240024020002d00000e0400010203000b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001200041016a22043602082001280204220520006a41003a00000240200320046b413f4b0d002001200441c00010f49180800020012802042105200128020821040b200520046a22002002290000370000200041386a200241386a290000370000200041306a200241306a290000370000200041286a200241286a290000370000200041206a200241206a290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a2900003700002001200441c0006a3602080f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001200041016a22043602082001280204220520006a41013a00000240200320046b413f4b0d002001200441c00010f49180800020012802042105200128020821040b200520046a22002002290000370000200041386a200241386a290000370000200041306a200241306a290000370000200041286a200241286a290000370000200041206a200241206a290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a2900003700002001200441c0006a3602080f0b02402001280200220320012802082204470d0020012004410110f49180800020012802002103200128020821040b2001200441016a22003602082001280204220520046a41023a00000240200320006b41c0004b0d002001200041c10010f49180800020012802042105200128020821000b200520006a200241c10010f4978080001a2001200041c1006a3602080f0b02402001280200220320012802082204470d0020012004410110f49180800020012802002103200128020821040b2001200441016a22003602082001280204220520046a41033a00000240200320006b41c0004b0d002001200041c10010f49180800020012802042105200128020821000b200520006a200241c10010f4978080001a2001200041c1006a3602080bcc0902087f017e2380808080004180106b220124808080800002402000280218220241e8fb034b0d000240024002400240024002402002450d0041002103034020014180086a410041800810fa978080001a20014180086a210441002105034041002d008083d480001a410841002802f482d48000118280808000002206450d03200620033600002006417e6a220741003b00002006200536000420012006410841002802dc80d4800011868080800000200620072f00006b41002802ec82d4800011818080800000200441186a200141186a290000370000200441106a200141106a290000370000200441086a200141086a29000037000020042001290000370000200441206a2104200541016a22054120470d000b200120014180086a41800810f49780800022044180086a200310e98680800041002d008083d480001a2004280288082107200428028408210641800841002802f482d48000118280808000002205450d032005417e6a220841003b0000200620072005200441800810f497808000220541800841002802dc82d4800011838080800000200520082f00006b41002802ec82d48000118180808000000240200428028008450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200341016a22032002470d000b0b2001428fc293ebfcb2d6924037009808200142a697eca999a192e81737009008200142c0c38addfcd9c9c1c40037008808200142c2d5a39edcfaf091cd00370080082001200236020020014180086a41202001410441002802dc82d4800011838080800000200029030022094281c8afa0255a0d02200142ecefd7e4f19abeaecc0037009808200142c98dcdf1f0adada9c40037009008200142c0c38addfcd9c9c1c40037008808200142c2d5a39edcfaf091cd00370080082001200937030020014180086a41202001410841002802dc82d4800011838080800000200029030822094281c8afa0255a0d03200142988af5b38bd59ae3ad7f37009808200142958ff2c2ebc1eefc7937009008200142c0c38addfcd9c9c1c40037008808200142c2d5a39edcfaf091cd00370080082001200937030020014180086a41202001410841002802dc82d4800011838080800000200029031022094281c8afa0255a0d04200142cfc4f4d18decb3a8d80037009808200142e8afb0b6b9e781b59d7f37009008200142c0c38addfcd9c9c1c40037008808200142c2d5a39edcfaf091cd00370080082001200937030020014180086a41202001410841002802dc82d480001183808080000020014180106a2480808080000f0b4101410810ab80808000000b410141800810ab80808000000b20014100360290082001410136028408200141d8f2c6800036028008200142043702880820014180086a41e0f2c6800010fe80808000000b2001410036029008200141013602840820014188f3c6800036028008200142043702880820014180086a4190f3c6800010fe80808000000b20014100360290082001410136028408200141bcf3c6800036028008200142043702880820014180086a41c4f3c6800010fe80808000000b2001410136028408200141a8f2c68000360280082001420137028c08200141d283808000ad42208641f0f1c68000ad84370300200120013602880820014180086a41b0f2c6800010fe80808000000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000be50501047f2380808080004190016b2201248080808000200142c0c38addfcd9c9c1c400370016200142c2d5a39edcfaf091cd0037000e200141cc006a2001410e6a411041002802bc82d480001186808080000002400240200128024c2202418080808078460d0020012802502103024020012802544110490d002001410e6a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d0120004200370300200041086a42003703000c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b011e41002102024041002802b483d4800041024d0d0020014107360224200141a4e7c48000360220200141d383808000ad4220862001411e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370284012001410336027c200141dcf4c68000360278200141163602742001418cf0c680003602702001410336026c200141c0efc68000ad4280808080c0098437026420014100360260200141a2f0c68000ad4280808080e002843702582001410036025420014281808080900737024c2002419cf4ca8000200441024622041b28021021022001200141286a36028001200341b4f4ca800020041b200141cc006a2002118b808080000020012f011e21020b200141cc006a41a4e7c48000410741002802d480d4800011868080800000200141cc006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141cc006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141cc006a41086a2900003703002001200129004c370328200120023b014c200141286a4120200141cc006a410241002802dc82d4800011838080800000200041086a4200370300200042003703000b20014190016a2480808080000bbc0201047f23808080800041306b22022480808080002002200036020c4101210002402001280200220341e8bdc78000410e2001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110a5858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a5858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000b940701077f23808080800041106b22052480808080004101210641002107024002400240200441017420026a22084100480d002008450d0241002d008083d480001a200841002802f482d480001182808080000022060d01410121070b2007200841e4f5c6800010b980808000000b2006417e6a41003b00000b410021072005410036020c200520063602082005200836020402402002450d00200120026a2109410021070340024002400240024020012c00002208417f4a0d0020012d0001413f7121022008411f71210a2008415f4b0d01200a4106742002722108200141026a21010c020b200141016a2101200841ff017121084101210b410121020c020b200241067420012d0002413f717221020240200841704f0d002002200a410c74722108200141036a21010c010b200241067420012d0003413f7172200a411274418080f00071722108200141046a21010b4101210b024020084180014f0d00410121020c010b410221024100210b2008418010490d0041034104200841808004491b21020b2007210a02402002200528020420076b4d0d00200541046a200720024101410110a386808000200528020c210a200528020821060b2006200a6a210a024002400240200b0d002008418010490d010240200841808004490d00200a2008413f71418001723a0003200a200841127641f001723a0000200a2008410676413f71418001723a0002200a2008410c76413f71418001723a00010c030b200a2008413f71418001723a0002200a2008410c7641e001723a0000200a2008410676413f71418001723a00010c020b200a20083a00000c010b200a2008413f71418001723a0001200a200841067641c001723a00000b2005200220076a220736020c20012009470d000b0b02402004450d00034020032d000022084104762201413072200141d7006a200841a001491b210b200721010240200720052802042202470d00200541046a200741014101410110a38680800020052802042102200528020c21010b2005280208220a20016a200b3a00002005200741016a220136020c2008410f712208413072200841d7006a2008410a491b2108024020012002470d00200541046a200241014101410110a386808000200528020c21012005280208210a0b200341016a2103200a20016a20083a00002005200741026a220736020c2004417f6a22040d000b0b20002005290204370200200041086a200541046a41086a280200360200200541106a2480808080000bd90201047f23808080800041206b220124808080800041002d008083d480001a02400240410141002802f482d48000118280808000002202450d00200241003a00002002417e6a41003b0000200141013602102001200236020c20014101360208200141086a410141034101410110a386808000200128020c2202200128021022036a220441003b0000200441026a41003a0000200128020821040240200341036a22034104470d002002280000210302402004450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200321020c020b2004418080808078460d012001200336021c200120023602182001200436021441fcf7c6800041cb00200141146a41ecf7c6800041d0f7c6800010a981808000000b4101410110ab80808000000b200041053a00102000200236020c2000410b360208200041e0f7c68000360204200041033a0000200141206a2480808080000b82490a047f017e017f017e077f037e227f027e1a7f037e23808080800041f00e6b2201248080808000200028022421020240024020002802282203450d002003410371210402400240200341044f0d004200210541002106420021070c010b200241b0016a21082003417c71210942002105410021064200210703402008290308200841506a220a290308200841a07f6a220b290308200841f07e6a220c29030820077c200c290300220720057c2205200754ad7c7c200b290300220720057c2205200754ad7c7c200a290300220720057c2205200754ad7c7c2008290300220720057c2205200754ad7c2107200841c0016a21082009200641046a2206470d000b0b02402004450d00200641306c20026a41206a21080340200829030820077c2008290300220720057c2205200754ad7c2107200841306a21082004417f6a22040d000b0b200142e4c5bdb4b2e9a5a6807f3700e80a200142d790d7a3fef9fda0c8003700e00a20014298d5afd2c6aeacae2f3700d80a200142c2cdc8b0c7b9e78f857f3700d00a200120073703d804200120053703d004200141d00a6a4120200141d0046a411041002802dc82d4800011838080800000200341306c2104200241206a210803400240200829030042f4035441002008290308501b450d00200141003602e00a200141013602d40a200141d8fac680003602d00a200142043702d80a200141d00a6a41e0fac6800010fe80808000000b200841306a2108200441506a22040d000c020b0b200142e4c5bdb4b2e9a5a6807f3700e80a200142d790d7a3fef9fda0c8003700e00a20014298d5afd2c6aeacae2f3700d80a200142c2cdc8b0c7b9e78f857f3700d00a200142003703d804200142003703d004200141d00a6a4120200141d0046a411041002802dc82d48000118380808000000b200141046a20022002200341306c6a10cf88808000024002400240024002400240200128020c2003470d0020002802142208418180808078460d042000280210210d200028021c2104200028021821062000290300210520012000290308220737031820012005370310200d450d01200542f3035620074200522007501b450d024180f9c68000200620084180808080784622081b210002400240410c200420081b220e4103490d00200141d00a6a2000200e41ec97c78000410210a581808000200141d0046a200141d00a6a10ca8c80800020012802d0044101470d010c050b200e4102470d0020002f000041fbfa01460d040b200141003602e00a200141013602d40a200141ac98c780003602d00a200142043702d80a200141d00a6a41b498c7800010fe80808000000b200141003602e00a200141013602d40a200141e8f8c680003602d00a200142043702d80a200141d00a6a41f0f8c6800010fe80808000000b200141003602e00a200141013602d40a200141c497c780003602d00a200142043702d80a200141d00a6a41cc97c7800010fe80808000000b200141003602e00a200141013602d40a200141d8fac680003602d00a200142043702d80a200141d00a6a41dc97c7800010fe80808000000b41d483808000ad422086200141e80c6aad84210f41d583808000ad422086200141d00a6aad84211041d683808000ad422086200141206aad84211120014190096a2112200141b0086a41c0006a2113200141e1046a2114200141d00a6a41206a2115200141306a41c0006a2116200141306a41146a2117200141b0086a41146a211820014191036a2119200141e80c6a41146a211a200141d00a6a41ec016a211b200141e80c6a41186a211c200141e80c6a41046a211d200141d0046a41ec016a211e200141ff066a211f200141e8066a41076a2120200141e80c6a41086a2121200141e80c6a41016a2122200141e6026a2123200141d0026a41066a2124410021250340200141003602d80420014280808080103702d004200141aca9c780003602d40a200142a08080800e3702d80a2001200141d0046a3602d00a0240024002400240024002400240024002400240024002400240024020254101200141d00a6a10fa808080000d00410021080240024002404100200e20012802d80422044102491b22064100480d0020012802d404210920012802d004212641002108024020060d0041012127410021060c030b41002d008083d480001a200641002802f482d480001182808080000022270d0141012108200e21270b2008202741e4f5c6800010b980808000000b2027417e6a41003b0000200e21060b200141003602f00c200120273602ec0c200120063602e80c200141d00a6a2000200e41ec97c78000410210a581808000200141d0046a200141d00a6a10ca8c8080002027210c4100210b024020012802d0044101470d00410021082027210c41002106034020012802d804210b024020012802d40420066b220a20012802e80c20086b4d0d00200141e80c6a2008200a4101410110a38680800020012802ec0c210c20012802f00c21080b200c20086a200020066a200a10f4978080001a20012008200a6a22083602f00c0240200420012802e80c20086b4d0d00200141e80c6a200820044101410110a38680800020012802f00c21080b20012802ec0c220c20086a2009200410f4978080001a2001200820046a22083602f00c200141d0046a200141d00a6a10ca8c808000200b210620012802d0040d000b20012802e80c21060b2000200b6a210a0240200e200b6b2204200620086b4d0d00200141e80c6a200820044101410110a38680800020012802ec0c210c20012802f00c21080b200c20086a200a200410f4978080001a200141206a41086a200820046a360200200120012902e80c37032002402026450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200141e80c6a2001280224200128022810b39380800020012802fc0c210620012802f80c212620012802f40c212820012902ec0c2105024020012802e80c220c418080808078470d002005428080808070832107202821292026212a2006212b0c0d0b20012802f00c212c20012802ec0c210a2005422088a7210420012802840d210b20012802800d210920012802880d212d2005a7210802400240024002402005428080808020540d0020082f000041b0f001460d010b200141e80c6a2008200410918b808000024020012f01e80c4101470d00420421050c0f0b202420212901003701002023201c290100370100202441086a202141086a222e290100370100202341086a201c41086a222f290100370100202341106a201c41106a2230290100370100202341186a201c41186a22312f01003b0100200120012802ec0c3601d202200120012f01ea0c3b01d002200141e80c6a200141d0026a10c18080800020014188076a41206a200141e80c6a41206a2d00003a000020014188076a41186a201c29020037030020014188076a41106a200141e80c6a41106a29020037030020014188076a41086a2021290200370300200120012902e80c37038807200128028c0d220841224f0d04200141e80c6a20014188076a20084101200b20094180808080784622041b4100202d20041b10d59780800020012d00e80c4101470d01420421050c0e0b200841026a21314100212e02402004417e6a22304102490d00200841046a410020312f000041002f00908ac08000461b212e2004417c6a212f0b42062105202f2030202e1b22304101710d0d200141003602f00c20014280808080103702e80c203020304101766b2232450d04202e2031202e1b213341002104410021080340200820304f0d07200841016a20304f0d08203320086a222e41016a2d0000212f0240202e2d0000412072223141506a222e41ff0171410a490d002031419f7f6a41ff017141054b0d03203141a97f6a212e0b0240202f412072223141506a222f41ff0171410a490d002031419f7f6a41ff017141054b0d03203141a97f6a212f0b202f202e41047472212e0240200420012802e80c470d00200141e80c6a41f4f6c6800010b8808080000b20012802ec0c20046a202e3a00002001200441016a22043602f00c200841026a210820322004470d000b20012802e80c222e418080808078460d0d20012902ec0c21070c050b200141e8066a41026a202241026a2d00003a0000200141c0046a41086a2208202e290000370300200141c8076a41086a2204202f290000370300200141c8076a41106a2030290000370300200141c8076a41186a2031290000370300200141c8076a41206a201c41206a290000370300200141c8076a41286a201c41286a2d00003a0000200120222f00003b01e806200120212900003703c0042001201c2900003703c80720012800ec0c212e202020012903c004370000202041086a2008290300370000201f20012903c807370000201f41086a20042d00003a00002001202e3600eb06200141e80c6a200141e8066a412010ca9380800020012802f40c212e20012802f00c212f20012802ec0c210420012802e80c0d0b20012902f80c2107200141d0046a201c41ec0110f4978080001a201e41186a200141e8066a41186a290100370000201e41106a200141e8066a41106a290100370000201e41086a200141e8066a41086a290100370000201e20012901e806370000200141d0046a2130201e21080c0a0b20012802e80c450d0b20012802ec0c22082008417e6a2f00006b41002802ec82d48000118180808000000c0b0b41d4a9c780004137200141e80c6a41c4a9c78000418caac7800010a981808000000b2008412141a8b4c78000109181808000000b20012902ec0c21074100212e0b2007a7210820074280808080f0ffffffff0083223442808080808004510d020c030b2008203041d4f6c68000108281808000000b200841016a203041e4f6c68000108281808000000b200141d0026a41186a2230200841186a290000370300200141d0026a41106a2231200841106a290000370300200141d0026a41086a2232200841086a290000370300200120082900003703d002200141e80c6a200141d0026a412010ca9380800020012802e80c4101460d0120012902f80c213520012802f40c213620012802f00c212f20012802ec0c2104200141d00a6a201c41ec0110f4978080001a201b41186a2030290300370000201b41106a2031290300370000201b41086a2032290300370000201b20012903d0023700000b0240202e450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b200141d00a6a21302036212e20352107201b2108203442808080808004520d030c010b200141c8076a41106a201d41106a280200360200200141c8076a41086a201d41086a2902003703002001201d2902003703c80741b8b4c78000411a200141c8076a41ec99c7800041d4b4c7800010a981808000000b201a203041ec0110f4978080001a200141c8076a41186a2229200841186a290200370300200141c8076a41106a222a200841106a290200370300200141c8076a41086a222b200841086a290200370300200120073702f40c2001202e3602f00c2001202f3602ec0c200120043602e80c200120082902003703c807200120283602c804200120263602c00420012026200641216c6a3602cc04200120263602c40441012104200141d0026a200141c8076a410110d592808000410021080340200141d0026a20086a2d0000200141e80c6a20086a2d00004610d6978080002004712104200841016a22084120470d000b200410d6978080002108200141d0026a10d89280800002400240200841ff01714101460d0041002108200141003a00c807200141003a00c907200141003a00ca07200141003a00cb07200141003a00cc07200141003a00cd07200141003a00ce07200141003a00cf07200141003a00d007200141003a00d107200141003a00d207200141003a00d307200141003a00d407200141003a00d507200141003a00d607200141003a00d707200141003a00d807200141003a00d907200141003a00da07200141003a00db07200141003a00dc07200141003a00dd07200141003a00de07200141003a00df07200141003a00e007200141003a00e107200141003a00e207200141003a00e307200141003a00e407200141003a00e507200141003a00e607200141003a00e7070c010b200141e8066a41186a2029290300370300200141e8066a41106a202a290300370300200141e8066a41086a202b290300370300200120012903c8073703e806410121080b200141d0026a41386a200141e80c6a41386a290200370300200141d0026a41306a200141e80c6a41306a290200370300200141d0026a41286a200141e80c6a41286a290200370300200141d0026a41206a200141e80c6a41206a290200370300200141d0026a41186a201c290200370300200141d0026a41106a200141e80c6a41106a290200370300200141d0026a41086a2021290200370300200120012902e80c3703d002200120083a009003201920012903e806370000201941086a200141e8066a41086a290300370000201941106a200141e8066a41106a290300370000201941186a200141e8066a41186a290300370000200141c8076a200141c0046a200141d0026a10db8480800020014188076a41086a2208202b29000037030020014188076a41106a2204202a29000037030020014188076a41186a2206202929000037030020014188076a41206a2226200141c8076a41206a29000037030020014188076a41286a2228200141c8076a41286a29000037030020014188076a41306a2229200141c8076a41306a29000037030020014188076a41386a222a200141c8076a41386a290000370300200120012900c8073703880720012d008a08212e20012d008b08212f20012d008c08213020012d008d08213120012d008e08213220012d008f08213320012d009008213720012d009108213820012d009208213920012d009308213a20012d009408213b20012d009508213c20012d009608213d20012d009708213e20012d009808213f20012d009908214020012d009a08214120012d009b08214220012d009c08214320012d009d08214420012d009e08214520012d009f08214620012d00a008214720012d00a108214820012d00a208214920012d00a308214a20012d00a408214b20012d00a508214c20012d00a608214d20012d00a708214e20012d00a808214f20012d008808212b200141d0026a41c0c7c8800020014188076a10ba908080002013200141d0026a10bb908080002012200141d0026a41a00110f4978080001a200141b0086a41086a2008290300370300200141b0086a41106a2004290300370300200141b0086a41186a2006290300370300200141b0086a41206a2026290300370300200141b0086a41286a2028290300370300200141b0086a41306a2029290300370300200141b0086a41386a202a29030037030020012001290388073703b0080240202b410171450d002001202e3a00c8072001202f3a00cf0a200120303a00ce0a200120313a00cd0a200120323a00cc0a200120333a00cb0a200120373a00ca0a200120383a00c90a200120393a00c80a2001203a3a00c70a2001203b3a00c60a2001203c3a00c50a2001203d3a00c40a2001203e3a00c30a2001203f3a00c20a200120403a00c10a200120413a00c00a200120423a00bf0a200120433a00be0a200120443a00bd0a200120453a00bc0a200120463a00bb0a200120473a00ba0a200120483a00b90a200120493a00b80a2001204a3a00b70a2001204b3a00b60a2001204c3a00b50a2001204d3a00b40a2001204e3a00b30a2001204f3a00b20a200141003a00d002200141003a00c807200141003a00cf0a200141003a00ce0a200141003a00cd0a200141003a00cc0a200141003a00cb0a200141003a00ca0a200141003a00c90a200141003a00c80a200141003a00c70a200141003a00c60a200141003a00c50a200141003a00c40a200141003a00c30a200141003a00c20a200141003a00c10a200141003a00c00a200141003a00bf0a200141003a00be0a200141003a00bd0a200141003a00bc0a200141003a00bb0a200141003a00ba0a200141003a00b90a200141003a00b80a200141003a00b70a200141003a00b60a200141003a00b50a200141003a00b40a200141003a00b30a200141003a00b20a0b20012903b008210520012802b808212920012802bc08212a20012802c008212b200141d0026a201841ec0110f4978080001a200141e80c6a10d692808000200141e80c6a10d89280800002402009418080808078460d000240202d450d00200b21080240202d4107712204450d00200b21080340200841003a0000200841016a21082004417f6a22040d000b0b202d4108490d00200b202d6a21040340200841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a0000200841086a22082004470d000b0b2009450d002009410771210641002104024020094108490d0020094178712109410021040340200b20046a220841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a00002009200441086a2204470d000b0b02402006450d00200b20046a21080340200841003a0000200841016a21082006417f6a22060d000b0b200b200b417e6a2f00006b41002802ec82d48000118180808000000b0240202c450d0002400240202c41077122040d00200a21080c010b200a21080340200841003a0000200841016a21082004417f6a22040d000b0b202c4108490d00200a202c6a21040340200841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a0000200841086a22082004470d000b0b0240200c450d00200c4107712106410021040240200c4108490d00200c417871210b410021040340200a20046a220841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a0000200b200441086a2204470d000b0b02402006450d00200a20046a21080340200841003a0000200841016a21082006417f6a22060d000b0b200a200a417e6a2f00006b41002802ec82d48000118180808000000b200141d00a6a200141d0026a41ec0110f4978080001a410021040c030b42042105200441034b0d00202f450d00202e202e417e6a2f00006b41002802ec82d48000118180808000000b02402009418080808078460d000240202d450d00200b21080240202d4107712204450d00200b21080340200841003a0000200841016a21082004417f6a22040d000b0b202d4108490d00200b202d6a21040340200841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a0000200841086a22082004470d000b0b2009450d002009410771210641002104024020094108490d0020094178712109410021040340200b20046a220841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a00002009200441086a2204470d000b0b02402006450d00200b20046a21080340200841003a0000200841016a21082006417f6a22060d000b0b200b200b417e6a2f00006b41002802ec82d48000118180808000000b0240202c450d0002400240202c41077122040d00200a21080c010b200a21080340200841003a0000200841016a21082004417f6a22040d000b0b202c4108490d00200a202c6a21040340200841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a0000200841086a22082004470d000b0b0240200c450d00200c4107712106410021040240200c4108490d00200c417871210b410021040340200a20046a220841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a0000200b200441086a2204470d000b0b02402006450d00200a20046a21080340200841003a0000200841016a21082006417f6a22060d000b0b200a200a417e6a2f00006b41002802ec82d48000118180808000000b420021072028450d0020262026417e6a2f00006b41002802ec82d48000118180808000000b200542ffffffff0f832007842105410121040b200141013602d404200141e898c780003602d004200142013702dc04200120113703b0082001200141b0086a3602d804200141e80c6a200141d0046a10b28080800020012802ec0c2108024002400240024020040d0020012802e80c21042001202b3602402001202a36023c20012029360238200120053703302017200141d00a6a41ec0110f4978080001a02402004450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b200141b0026a41086a2204201641086a220b290000370300200141b0026a41106a2206201641106a220c290000370300200141b0026a41186a220a201641186a2209290000370300200120162900003703b00241002d008083d480001a412041002802f482d48000118280808000002208450d01200820012903b0023700002008417e6a222641003b0000200841086a2004290300370000200841106a2006290300370000200841186a200a290300370000200141d00a6a41186a2009290000370300200141d00a6a41106a200c290000370300200141d00a6a41086a200b290000370300200141013602d4042001419899c780003602d004200142013702dc04200120103703d002200120162900003703d00a2001200141d0026a3602d804200141b0086a200141d0046a10b28080800020212004290300370300200141e80c6a41106a22042006290300370300201c200a290300370300200120012903b0023703e80c024020012802b008450d0020012802b40822062006417e6a2f00006b41002802ec82d48000118180808000000b200820262f00006b41002802ec82d4800011818080800000200141003a00d002200141e80c6a10cd8c8080001a2001200141d0026a3602d80a2001200141106a3602d40a2001200141e80c6a3602d00a200141d0046a200141e80c6a200141d00a6a10d88d80800020012903d004220542028520012903d80484500d022001290388052134200129038005210720012903f004215002402005a7410171450d0020012903e004210520012903e8042151201520012903e80c370000201541186a201c290300370000201541106a2004290300370000201541086a2021290300370000200120513703e80a200120053703e00a200141003a00d00a41014100200141d00a6a10d28d8080000b02402050a74101710d00410f21040c040b201520012903e80c370000201541186a201c290300370000201541106a2004290300370000201541086a2021290300370000200141013a00d00a200120073703e00a200120343703e80a41014100200141d00a6a10d28d808000410f21042007203484500d03200142003703d8042001200742f303200742f303541b42f3032034501b22053703d004200141d0046a10fe88808000200142003703e80a200120053703e00a2001410d3a00d00a41014100200141d00a6a10d28d8080000c030b20012802f00c21042001202b3602e0042001202a3602dc04200120293602d804200120053703d00420082004200141d0046a41ec99c7800041fc99c7800010a981808000000b4101412010ab80808000000b200120142900003703b0082001201441076a2800003600b70820012d00e004210420012902ec0421520b200141013602d40a200141c499c780003602d00a200142013702dc0a2001200f3703d0022001200141d0026a3602d80a200141d0046a200141d00a6a10b28080800020012802d4042108200441ff0171410f470d02024020012802d004450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b200141306a10d692808000200141306a10d89280800002402001280220450d00200128022422082008417e6a2f00006b41002802ec82d48000118180808000000b202541016a2225200d470d000b0b024002402003450d00200341306c2104200141d00a6a41106a220841086a2106200841186a210a0340200241206a2903002105200241286a29030021072002200210f2868080001a2008420037030020064200370300200841106a4200370300200a4200370300200120073703d80a200120053703d00a2001428080808080808080807f3703880b200142003703800b200141d0046a2002200141d00a6a10f08d80800020012d00d004410f470d02200241306a2102200441506a22040d000b0b200141046a10c289808000200141f00e6a2480808080000f0b418cf9c6800041ea0041f8f9c68000108081808000000b20012802d8042106200141d80a6a20012800b708360000200120043a00d00a200120012903b0083700d10a200120523702dc0a20082006200141d00a6a41cc99c7800041dc99c7800010a981808000000bc50401087f024002400240024002400240024020012802004101470d00200141086a2102200128023c21032001280238210420012802342105200128023021062001280224417f460d01200020022006200520042003410010918d8080000f0b024020012d000e0d0020012d000c21042001280234210320012802302105024020012802042202450d00024020022003490d0020022003460d010c050b200520026a2c00004140480d040b024020022003460d0002400240200520026a22072c00002206417f4a0d0020072d0001413f7121082006411f7121090240200641604f0d00200941067420087221060c020b200841067420072d0002413f717221080240200641704f0d0020082009410c747221060c020b200841067420072d0003413f71722009411274418080f000717221060c010b200641ff017121060b4101210720044101710d0502402006418001490d00410221072006418010490d0041034104200641808004491b21070b2001200720026a220236020402402002450d00024020022003490d0020022003460d010c050b200520026a2c00004140480d040b20022003460d06200520026a2c00002203417f4a0d0520034160491a0c050b20012004417f734101713a000c20044101710d06200141013a000e0b200041003602000f0b200020022006200520042003410110918d8080000f0b410121040b20012004417f734101713a000c200520032002200341d8bdc7800010c381808000000b200221030b200141003a000c0b2000200336020820002003360204200041013602000b040041000b140020012000280204200028020810b4818080000bab0903027f097e017f23808080800041a0016b220124808080800020012000360200200141186a200010c986808000200141c0006a200128021c2202200128022010e3858080000240024020012802404101710d00428080808080808080807f21034200210442002105420021064200210742002108420021094200210a0c010b2001290388012103200129038001210a2001290378210520012903702104200129036821072001290360210620012903582109200129035021080b02402001280218450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b024020034200530d002003428080808080808080807f84210b02402006200784500d0020042005844200520d00200141186a200010c986808000200141c0006a200128021c2202200128022010e385808000200128024020012802980141004771210c02402001280218450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b0240200c0d00024041002802b483d4800041014d0d00200141d783808000ad4220862001ad84370318410028029080d480002100410028028c80d48000210241002802b083d48000210c2001420137027820014102360270200141a48dc7800036026c20014111360268200141b48dc7800036026420014102360260200141d5eec68000ad4280808080d0098437025820014100360254200141d6f1c68000ad4280808080f0028437024c2001410036024820014281808080d0f2003702402000419cf4ca8000200c410246220c1b28021021002001200141186a360274200241b4f4ca8000200c1b200141c0006a2000118b8080800000200128020021000b2000200010f2868080001a200842f403200842f403561b200842f40320094200521b2009501b2108200128020021000b200141046a200010eb86808000024020012d0004410f460d00200141186a41106a200141046a41106a280200360200200141186a41086a200141046a41086a2902003703002001200129020437031841002802b483d48000450d00200141d883808000ad422086200141186aad84370338200141c181808000ad42208641b8edc68000ad84370330410028029080d480002100410028028c80d48000210241002802b083d48000210c20014202370278200141c4edc6800036026c20014112360268200141a8eec6800036026420014101360260200141d4edc68000ad4280808080c00a8437025820014100360254200141baeec68000ad4280808080b0038437024c2001410036024820014281808080d025370240200141023602702000419cf4ca8000200c410246220c1b28021021002001200141306a360274200241b4f4ca8000200c1b200141c0006a2000118b80808000000b200128020021000b2001200b3703782001200a370370200120053703682001200437036020012007370358200120063703502001200937034820012008370340200141186a2000200141c0006a10d48d808000200141d9006a2001280200220041186a290000370000200141103a0040200141d1006a200041106a2900003700002001200041086a2900003700492001200029000037004141014100200141c0006a10d28d8080000b200141a0016a2480808080002003427f550bb30501047f2380808080004180016b220124808080800020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f3700002001413c6a2001411041002802bc82d480001186808080000002400240200128023c2202418080808078460d0020012802402103024020012802444110490d0020012003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d010c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b024041002802b483d4800041024d0d0020014108360214200141cbe7c48000360210200141d383808000ad42208641f0fac68000ad84370320200141c081808000ad422086200141106aad84370318410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370274200141ecfbc68000360268200141163602642001418cf0c680003602602001410336025c200141d5eec68000ad4280808080d0098437025420014100360250200141d6f1c68000ad4280808080f002843702482001410036024420014281808080b01937023c2001410236026c2002419cf4ca8000200441024622041b28021021022001200141186a360270200341b4f4ca800020041b2001413c6a2002118b80808000000b2001413c6a41cbe7c48000410841002802d480d48000118680808000002001413c6a41106a22024199d3c68000411541002802d480d4800011868080800000200141186a41186a2001413c6a41186a290000370300200141186a41106a2002290000370300200141186a41086a2001413c6a41086a2900003703002001200129003c370318200141013b013c200141186a41202001413c6a410241002802dc82d48000118380808000000b20004200370300200041086a420037030020014180016a2480808080000bf70201047f23808080800041206b220224808080800041002d008083d480001a02400240410141002802f482d48000118280808000002203450d0020032001417f6a3a00002003417e6a41003b0000200241013602102002200336020c20024101360208200241086a410141034101410110a386808000200228020c2203200228021022046a220541003b0000200541026a41003a0000200228020821050240200441036a22044104470d002003280000210402402005450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200421030c020b2005418080808078460d012002200436021c200220033602182002200536021441fcf7c6800041cb00200241146a41ecf7c6800041c8fcc6800010a981808000000b4101410110ab80808000000b200041003a00102000200336020c200041033a000020002001411874411875410274220341e0bfc780006a2802003602082000200341bcbfc780006a280200360204200241206a2480808080000b990402037f047e2380808080004180016b2207248080808000200741106a200110c986808000200741206a20072802142208200728021810e385808000200728022021092007290338210a2007290330210b02402007280210450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b200720012005200610d18c8080002007290308210c2007290300210d0240024002402004450d00200c2003200d200254200c200354200c2003511b22081b2103200d200220081b21020c010b200d20025a200c20035a200c2003511b0d00200041073b0104410121010c010b0240200b4200200941017122081b220d2002542206200a420020081b220c200354200c2003511b0d00200741206a2001200d20027d2202200c20037d2006ad7d220310d28c80800002402007280220450d00200020072902243702042000410c6a200728022c36020020002007290330370310410121010c020b02402007280230410171450d002007290340220a2007290348220b84500d002007200a3703102007200b370318200741106a10fe888080002007200b3703382007200a3703302007410d3a002041014100200741206a10d28d8080000b20004200200c20037d200d200254ad7d2203200d20027d2202200d562003200c562003200c511b22011b37031820004200200220011b370310410021010c010b200041073b0104410121010b2000200136020020074180016a2480808080000bd60402027f067e23808080800041f0006b2204248080808000200441e4006a200110c986808000200420042802682205200428026c10e385808000420021064200210742002108420021094200210a4200210b02402004280200410171450d00200429033821072004290330210620042903282109200429032021082004290318210b2004290310210a0b02402004280264450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b42004200200720097d2006200854ad7d2209200620087d2208200656200920075620092007511b22051b20031b210742004200200820051b20031b2106024002400240024002400240200241ff01710e03010004010b200a200b84500d01200441e4006a200110c986808000200420042802682203200428026c10e3858080002004280200200428025841014671210102402004280264450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b2001450d040c030b200a200b8450450d010b4200210a4200210b0c020b200441e4006a200110c986808000200420042802682201200428026c10e3858080004101210302402004280200410171450d00200428025445200428025841014b7221030b02402004280264450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b20030d010b200642f403200642f403561b200642f40320074200521b2007501b21060b20004200200b20077d200a200654ad7d2207200a20067d2206200a562007200b562007200b511b22031b37030820004200200620031b370300200441f0006a2480808080000ba90905027f017e017f037e017f23808080800041b0026b22042480808080002004200337030820042002370300200441f0006a200110c986808000200441d0016a20042802742205200428027810e3858080004200210620042903e801420020042802d00141017122071b210320042903e001420020071b210202402004280270450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b02400240200220038450450d00420021080c010b200441f0006a200110c986808000200441d0016a20042802742205200428027810e3858080004200210642002108024020042802d001410171450d0042002108420042f40320042802a4024520042802a80241014b721b21060b2004280270450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20044200200320087d2002200654ad7d2208200220067d2206200256200820035620082003511b22051b37031820044200200620051b370310200441003a006f200110cd8c8080001a200420013602d0012004200441ef006a3602dc012004200441106a3602d801200420043602d401200441f0006a2001200441d0016a10d68d8080000240024002400240200429037022024202852004290378844200520d00200441c8006a20044189016a290000370300200441cf006a20044190016a280000360000200420042900810137034020042d00800121010c010b20042903a801210820042903a00121092004290398012106200429039001210302402002a7410171450d002004290380012102200429038801210a20044188026a200141186a29000037030020044180026a200141106a290000370300200441f8016a200141086a2900003703002004200a3703e801200420023703e001200441003a00d001200420012900003703f00141014100200441d0016a10d28d8080000b02402003a7410171450d0020044188026a200141186a29000037030020044180026a200141106a290000370300200441f8016a200141086a290000370300200420093703e001200441013a00d001200420083703e801200420012900003703f00141014100200441d0016a10d28d8080000b200441c0006a41086a2205200441b9016a290000370300200441c0006a410f6a2207200441c0016a280000360000200420042900b10137034020042d00b001210120034202852006844200520d010b200441286a410f6a2205200441c0006a410f6a280000360000200441286a41086a2207200441c0006a41086a290300370300200420042903402203370328200041146a20052800003600002000410d6a200729030037000020002003370005200020013a0004200041013602000c010b200441286a410f6a220b2007280000360000200441286a41086a22072005290300370300200441d8006a41086a2007290300370300200441d8006a410f6a200b280000360000200420042903403703580240200141ff0171410f460d0020002004290358370005200020013a000420004101360200200041146a200441e7006a2800003600002000410d6a200441e0006a2903003700000c010b20002009370320200020033703102000410036020020002008370328200020063703180b200441b0026a2480808080000bca0402037f047e23808080800041f0006b22052480808080002005200110c986808000200541106a20052802042206200528020810e38580800020052802104101712107200529032821082005290320210902402005280200450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b2008420020071b21082009420020071b210902400240024002400240024020040d000240200920027c22022009542207200820037c2007ad7c220320085420032008511b0d00200242f4035441002003501b450d0220004187043b0104410121070c060b20004188023b0104410121070c050b41002107427f200920027c220220022009542206200820037c2006ad7c220320085420032008511b22061b220242f403544100427f200320061b2203501b0d010b2002200985200320088584500d01200541106a20012002200310d28c80800002402005280210450d00200020052902143702042000410c6a200528021c36020020002005290320370310410121070c040b02402005280220410171450d002005290330220a2005290338220b84500d002005200a3703002005200b370308200510fe888080002005200b3703282005200a3703202005410d3a001041014100200541106a10d28d8080000b20004200200320087d2002200954ad7d2208200220097d2209200256200820035620082003511b22071b37031820004200200920071b3703100c020b20004200370318200042003703100c020b20004200370318200042003703100b410021070b20002007360200200541f0006a2480808080000be20503047f057e017f23808080800041f0006b2206248080808000200620012003200410d58c808000410721074100210802400240024002400240024002400240024020062802000e080600010203040507060b410121080c050b410421080c040b410821070c030b41082107410121080c020b410521080c010b41082108200541ff0171450d010b200020083a0005200020073a0004410121080c010b024002402003200484500d00200641e4006a200210c986808000200620062802682207200628026c10e3858080004101210920062903184200200628020041017122081b210a2006290310420020081b210b2006290328210c2006290320210d02402006280264450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b41082107200b20037c220e200b54220f200a20047c200fad7c220b200a54200b200a511b0d010240200e42f403544100200b501b450d0041022109410721070c020b200d420020081b220a200e7c200a54220f200c420020081b220a200b7c200fad7c220b200a54200b200a511b0d010b0240024020012002412010f597808000450d0041012108200620012003200441012005410010d08c80800002402006280200450d00200020062902043702042000410c6a200628020c360200200020062903103703100c040b2006200220032004410110d38c808000200641386a200141186a290000370300200641306a200141106a290000370300200641286a200141086a290000370300200641c8006a200241086a290000370300200641d0006a200241106a290000370300200641d8006a200241186a2900003703002006200437031820062003370310200641023a0000200620012900003703202006200229000037034041014100200610d28d80800020002004370318200020033703100c010b20002003370310200020043703180b410021080c010b200020093a0005200020073a0004410121080b20002008360200200641f0006a2480808080000be50807017f017e017f057e017f067e017f2380808080004180016b2204248080808000024002400240024002402002200384500d00200442e4c5bdb4b2e9a5a6807f370018200442d790d7a3fef9fda0c80037001020044298d5afd2c6aeacae2f370008200442c2cdc8b0c7b9e78f857f370000200441206a2004412010db858080004200210520042903304200200428022041017122061b2002542004290338420020061b220720035420072003511b0d012004200110c986808000200441206a20042802042206200428020810e38580800042002108420021094200210a4200210b4200210702402004280220410171450d0020042903582108200429035021052004290348210a20042903402109200429033821072004290330210b0b02402004280200450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200b2002542206200720035420072003511b0d022004200110c986808000200441206a2004280204220c200428020810e3858080004200210d4200210e4200210f42002110420021114200211202402004280220410171450d002004290358210e2004290350210d200429034821102004290340210f20042903382112200429033021110b02402004280200450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b4200200e20107d200d200f54ad7d2210200d200f7d220f200d562010200e562010200e511b220c1b210e4200200f200c1b210d02402011201284500d002004200110c986808000200441206a20042802042213200428020810e3858080004101210c02402004280220410171450d00200428027445200428027841014b72210c0b02402004280200450d0020132013417e6a2f00006b41002802ec82d48000118180808000000b200d200d42f403200d42f403561b200d42f403200e4200521b200e501b200c1b210d0b024002400240200242002011200d7d220f200f2011562012200e7d2011200d54ad7d220d201256200d2012511b220c1b5620034200200d200c1b220d562003200d511b0d00200b20027d220242f403544100200720037d2006ad7d2203501b0d014207210d0c020b20004200370308200042053703000c060b2004200110c986808000200441206a20042802042206200428020810e3858080004101210102402004280220410171450d00200428027445200428027841014b7221010b02402004280200450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b2001450d044206210d0b0240427f200220097c2207200720025422012003200a7c2001ad7c220720035420072003511b22011b200554427f200720011b220720085420072008511b0d00200020023703102000200d37030020002003370318200042003703080c050b20004200370308200042053703000c040b20004200370308200042073703000c030b20004200370308200042033703000c020b20004200370308200042003703000c010b20004200370308200042013703000b20044180016a2480808080000b8e0506017f017e017f017e017f027e2380808080004180016b2207248080808000200720012004200610d18c8080002003200729030822085121092007290300210a0240024020050d002002200a58200320085820091b0d00200041073b0104410121050c010b200742e4c5bdb4b2e9a5a6807f370078200742d790d7a3fef9fda0c80037007020074298d5afd2c6aeacae2f370068200742c2cdc8b0c7b9e78f857f3700602007200741e0006a412010db85808000410121050240200729031042002007280200410171220b1b2002200a2002200a54200320085420091b22091b220a5420072903184200200b1b22022003200820091b22035420022003511b0d0020072001200a200341012004200610d08c80800002402007280200450d00200020072902043702042000410c6a200728020c36020020002007290310370310410121050c020b2007290310210320072903182102200742e4c5bdb4b2e9a5a6807f370078200742d790d7a3fef9fda0c80037007020074298d5afd2c6aeacae2f370068200742c2cdc8b0c7b9e78f857f3700602007200741e0006a412010db85808000200742002007290318220820027d2007290310220a200354ad7d220c200a20037d220d200a56200c200856200c2008511b22061b4200200728020041017122041b37030820074200200d20061b420020041b3703002007108189808000200741386a200141186a290000370300200741306a200141106a290000370300200741286a200141086a29000037030020072002370318200720033703102007410c3a0000200720012900003703204100210541014100200710d28d80800020002002370318200020033703100c010b20004188023b01040b2000200536020020074180016a2480808080000b4100200042e4c5bdb4b2e9a5a6807f370018200042d790d7a3fef9fda0c80037001020004298d5afd2c6aeacae2f370008200042c2cdc8b0c7b9e78f857f3700000ba50701037f410021010240200041ffff03712202413a490d0002400240200241c00f4a0d000240200241b7034a0d000240200241416a0ece010404040404040403040404030303040403030403030303030303030303030303030303030303030303030403030303040303040303030403030303030303030403030303040303030303030303030303030303030303030303030303030303030303030303030303030303030304030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030403030403030303030303030303030304000b200241a403470d020c030b0240200241d5084a0d00024020024194064a0d00200241b803460d042002419a05470d030c040b2002419506460d03200241e307470d020c030b0240200241d0756a0e0a03020202020202020203000b200241d608460d02200241ec0b470d010c020b0240200241de364a0d00024020024196114a0d000240200241bf706a0e30040303030303030303030303030303030303030303030403040303030303030303030303040303030303030303030304000b200241d46f6a220241144b0d024101200274418180c10071450d020c030b0240200241a51f4a0d002002419711460d03200241ce11460d03200241851a470d020c030b0240200241f1284a0d00200241a61f460d03200241e222470d020c030b200241f228460d02200241ce2f470d010c020b02400240200241cecd004a0d000240200241a1c5004a0d000240200241a1496a0e0705040404040405000b2002418a39460d04200241df39470d030c040b200241deba7f6a220341144b0d014101200374418180c80071450d010c030b0240200241fade004a0d000240200241ddd9004a0d00200241cfcd00460d04200241b9ce00470d030c040b200241ded900460d03200241acdc00470d020c030b0240200241bbe6004a0d00200241fbde00460d032002419fdf00470d020c030b200241bce600460d02200241e9f200460d020c010b200241f0c600460d01200241cfcc00460d010b02400240200041ffff0371220241c4094a0d00200241a87f6a0e320202020102020101010102020202010101010101010101010101010101010101010101010101010102020101010101010202010b200241bb766a4102490d01200241fc756a4102490d01200241e26e6a4102490d010b200041bca77f6a41ffff037141feff034921010b20010bfd0201047f23808080800041206b220224808080800041002d008083d480001a02400240410141002802f482d48000118280808000002203450d002003417e6a41003b00002003200141ff01714101473a0000200241013602102002200336020c20024101360208200241086a410141034101410110a386808000200228020c2203200228021022046a220541003b0000200541026a41003a0000200228020821050240200441036a22044104470d002003280000210402402005450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200421030c020b2005418080808078460d012002200436021c200220033602182002200536021441fcf7c6800041cb00200241146a41ecf7c680004184fec6800010a981808000000b4101410141b0a7c7800010b980808000000b200041083a00102000200336020c200041033a000020004112410b200141ff017141014622031b36020820004194fec6800041a6fec6800020031b360204200241206a2480808080000bf30d01067f23808080800041306b22012480808080002001410036020c20014280808080800137020441002d008083d480001a024002400240024002400240024002400240412041002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a2204412236021c200441f583c78000360218200441db003602142004419a83c780003602102004410036020c200442c880808010370204200441c584c780003602002004417e6a20033b0000200141106a410841004101410110a1938080002001280214210320012802100d01200128021822054200370000200141046a41c884c6800010a0868080002001280208220242f08ae39db3eef7cb917f37020820024100360200200241013a0074200241043602702002200436026c20024288808080c000370264200220053602602002200336025c20024207370244200241e188c68000360240200241f880808000360218200242deb6b7a2defce4d03c3702102001410136020c41002d008083d480001a412041002802f482d48000118280808000002202450d022002200241036a417c7120026b22036a2204412236021c200441f583c78000360218200441db003602142004419a83c780003602102004410036020c200442ca80808010370204200441d082c780003602002004417e6a20033b0000200141106a410841004101410110a1938080002001280214210520012802100d032001280218220642003700000240200128020c22032001280204470d00200141046a41c884c6800010a0868080000b2001280208200341f8006c6a220241013a0074200241043602702002200436026c20024288808080c000370264200220063602602002200536025c20024207370244200241e68ac68000360240200241f880808000360218200242deb6b7a2defce4d03c370210200242f08ae39db3eef7cb917f3702082002410036020041002d008083d480001a2001200341016a36020c412041002802f482d48000118280808000002202450d042002200241036a417c7120026b22036a2204412236021c200441f583c78000360218200441db003602142004419a83c780003602102004410036020c200442bf808080103702042004418d85c780003602002004417e6a20033b0000200141106a410841004101410110a1938080002001280214210520012802100d052001280218220642003700000240200128020c22032001280204470d00200141046a41c884c6800010a0868080000b2001280208200341f8006c6a220241013a0074200241043602702002200436026c20024288808080c000370264200220063602602002200536025c20024206370244200241c78ac68000360240200241f880808000360218200242deb6b7a2defce4d03c370210200242f08ae39db3eef7cb917f370208200241003602002001200341016a36020c2001410036021041002d008083d480001a41c00041002802f482d48000118280808000002202450d062002200241036a417c7120026b22046a2202412f36023c200241a182c78000360238200241da00360234200241c781c78000360230200241dc0036022c200241eb80c78000360228200241da003602242002419180c78000360220200241dd0036021c200241b4ffc68000360218200241da00360214200241dafec680003602102002410036020c200242a980808010370204200241b1fec680003602002002417e6a20043b00002001410836022c2001410836022420012002360228200141106a200141246a200141046a10ff8680800041002d008083d480001a410841002802f482d48000118280808000002202450d072002200241036a417c7120026b22036a2204412e3602042004419784c780003602002004417e6a20033b000041002d008083d480001a410441002802f482d48000118280808000002203450d08200341003600002003417e6a41003b00000240200128020c22052001280204470d00200141046a41c884c6800010a0868080000b2001280208200541f8006c6a220241013a0074200241013602702002200436026c2002428480808010370264200220033602602002410436025c2002420e3702442002419486c68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc1337020820024100360200200041086a200541016a3602002000200129020437020020004107360210200041a4e7c4800036020c200141306a2480808080000f0b4104412010ab80808000000b2003200128021841d4c8cc800010b980808000000b4104412010ab80808000000b2005200128021841d4c8cc800010b980808000000b4104412010ab80808000000b2005200128021841d4c8cc800010b980808000000b410441c00010ab80808000000b4104410810ab80808000000b4101410410ab80808000000b9c0804057f017e017f017e23808080800041206b220224808080800002400240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a2206360208200328020420056a20043a0000024002400240024002400240024020040e050001020304050b0240200328020c2204280208220528020422084104490d0020052008417c6a36020420052005280200220841046a3602002004427f2004290300220742047c220920092007541b370300200828000021050240200328020020066b41034b0d002003200641044101410110a386808000200328020821060b2003200641046a360208200328020420066a20053600002002200110b889808000200228020022034102460d00200228020421042000200336020820002005360204200041013602002000200436020c0c0a0b200041003602000c090b200328020c2204280208220528020422014108490d062005200141786a36020420052005280200220141086a3602002004427f2004290300220742087c220920092007541b370300200129000021070240200328020020066b41074b0d002003200641084101410110a386808000200328020821060b20002007370308200041023602002003200641086a360208200328020420066a20073700000c080b200328020c2204280208220528020422014108490d062005200141786a36020420052005280200220141086a3602002004427f2004290300220742087c220920092007541b370300200129000021070240200328020020066b41074b0d002003200641084101410110a386808000200328020821060b20002007370308200041033602002003200641086a360208200328020420066a20073700000c070b200241086a200110cf8480800041002103024020022802084101710d00200241146a2001200228020c10ad838080002002280214418080808078460d00200020022902143702042000410c6a2002411c6a280200360200410421030b200020033602000c060b200328020c2204280208220528020422014108490d012005200141786a36020420052005280200220141086a3602002004427f2004290300220742087c220920092007541b370300200129000021070240200328020020066b41074b0d002003200641084101410110a386808000200328020821060b20002007370308200041053602002003200641086a360208200328020420066a20073700000c050b200041003602000c040b200041003602000c030b200041003602000c020b200041003602000c010b200041003602000b200241206a2480808080000bab0804057f017e017f017e23808080800041206b220224808080800002400240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a2206360208200328020420056a20043a0000024002400240024002400240024020040e050001020304050b0240200328020c2204280208280200220528020422084104490d0020052008417c6a36020420052005280200220841046a3602002004427f2004290300220742047c220920092007541b370300200828000021050240200328020020066b41034b0d002003200641044101410110a386808000200328020821060b2003200641046a360208200328020420066a20053600002002200110b689808000200228020022034102460d00200228020421042000200336020820002005360204200041013602002000200436020c0c0a0b200041003602000c090b200328020c2204280208280200220528020422014108490d062005200141786a36020420052005280200220141086a3602002004427f2004290300220742087c220920092007541b370300200129000021070240200328020020066b41074b0d002003200641084101410110a386808000200328020821060b20002007370308200041023602002003200641086a360208200328020420066a20073700000c080b200328020c2204280208280200220528020422014108490d062005200141786a36020420052005280200220141086a3602002004427f2004290300220742087c220920092007541b370300200129000021070240200328020020066b41074b0d002003200641084101410110a386808000200328020821060b20002007370308200041033602002003200641086a360208200328020420066a20073700000c070b200241086a200110ce8480800041002103024020022802084101710d00200241146a2001200228020c109e838080002002280214418080808078460d00200020022902143702042000410c6a2002411c6a280200360200410421030b200020033602000c060b200328020c2204280208280200220528020422014108490d012005200141786a36020420052005280200220141086a3602002004427f2004290300220742087c220920092007541b370300200129000021070240200328020020066b41074b0d002003200641084101410110a386808000200328020821060b20002007370308200041053602002003200641086a360208200328020420066a20073700000c050b200041003602000c040b200041003602000c030b200041003602000c020b200041003602000c010b200041003602000b200241206a2480808080000bad0602037f017e23808080800041106b22022480808080000240024002400240024002402000280200417f6a0e050001020304000b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041086a2104200128020420036a41003a00002001200341016a2203360208200028020421000240200128020020036b41034b0d0020012003410410f491808000200128020821030b2001200341046a360208200128020420036a20003600002004200110bb898080000c040b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41013a00002001200341016a2203360208200029030821050240200128020020036b41074b0d0020012003410810f491808000200128020821030b2001200341086a360208200128020420036a20053700000c030b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41023a00002001200341016a2203360208200029030821050240200128020020036b41074b0d0020012003410810f491808000200128020821030b2001200341086a360208200128020420036a20053700000c020b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41033a00002001200341016a360208200028020821032002200028020c22003602082002200241086a36020c2002410c6a200110dc848080002000450d012000410a7421042001280208210003400240200128020020006b41ff074b0d002001200041800810f491808000200128020821000b200128020420006a200341800810f4978080001a200120004180086a220036020820034180086a210320044180786a22040d000c020b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41043a00002001200341016a2203360208200029030821050240200128020020036b41074b0d0020012003410810f491808000200128020821030b2001200341086a360208200128020420036a20053700000b200241106a2480808080000b920301037f23808080800041206b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136021020024180023b010c02402002410c6a41dc85c780004107200010bf8d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a41e385c780004107200041086a10bf8d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a41ea85c78000410e200041186a10c78d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a41f885c78000410b200041106a10bf8d80800022030d0041002103200228020c22044180fe0371450d0020044101710d00200228021028020041d5f1c68000410141c0b2c7800010988f8080000b200241206a24808080800020030bf50101027f23808080800041306b2202248080808000200241003602142002410036020c200241808080807836020002400240200241dc85c780004107200110a58e80800022030d00200241e385c780004107200141086a10a58e80800022030d00200241ea85c78000410e200141186a109e8e80800022030d00200241f885c78000410b200141106a10a58e80800022030d00200241186a41106a200241106a290200370300200241186a41086a200241086a290200370300200220022902003703182000200241186a1090938080000c010b200041063a000020002003360204200210e08c8080000b200241306a2480808080000bf20301047f23808080800041306b22012480808080000240024020002802002202418180808078460d0002400240200028020c22030d0041002103410021040c010b200120033602242001410036022020012003360214200141003602102001200028021022033602282001200336021820002802142104410121030b2001200436022c2001200336021c2001200336020c2001410c6a10c7898080002002418080808078460d012002450d01200028020422002000417e6a2f00006b41002802ec82d48000118180808000000c010b024002400240024020002d00040e0704040102030004000b02400240200028020822020d0041002100410021020c010b200120023602242001410036022020012002360214200141003602102001200028020c22023602282001200236021820002802102102410121000b2001200236022c2001200036021c2001200036020c2001410c6a10c7898080000c030b2000280208450d02200028020c22002000417e6a2f00006b41002802ec82d48000118180808000000c020b2000280208450d01200028020c22002000417e6a2f00006b41002802ec82d48000118180808000000c010b200041086a10a18f8080002000280208450d00200028020c22002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bea0503067f017e027f23808080800041c0006b2201248080808000200141186a41ed87c78000410441a2f0c6800041164104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241cef1c680003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903b888c780003702002001410036020820014280808080c000370200200141306a200141c088c7800041111099848080002001200141306a41d188c78000410b10af84808000200141306a200141dc88c78000410b10ef838080002001200141306a41e788c780004105109084808000200141246a200141ec88c78000411010ff838080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841b0bfc7800010b980808000000b41bc91c38000411141d091c3800010a181808000000bb50803077f017e027f23808080800041c0006b2201248080808000200141246a41fc88c78000410541a2f0c6800041164104410010c2928080002001420437021c2001420037021420014280808080800137020c41002d008083d480001a02400240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241cef1c680003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a419c91c3800010f38e80800041002d008083d480001a200128020c210420012802102105200128021421062001280224210720012902282108410841002802f482d48000118280808000002202450d012002200241036a417c71220920026b22036a417e6a20033b0000200941002903a889c7800037020041002d008083d480001a2001410036021420014280808080c00037020c411841002802f482d48000118280808000002202450d022002200241036a417c71220320026b220a6a417e6a200a3b0000200341106a41002902d8bfc38000370200200341086a41002902d0bfc38000370200200341002902c8bfc380003702002001410c6a418c90c3800010a09380800020012802102202428080808030370208200242808080808001370200200241003a00202002411236021c20024194fec680003602182002410336021420022003360210200141306a41086a41013602002001200129020c37033041002d008083d480001a410841002802f482d48000118280808000002202450d032002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902e8bec380003702000240200128023822022001280230470d00200141306a418c90c3800010a0938080000b2001280234200241246c220a6a220241013a00202002410b36021c200241a6fec680003602182002410136021420022003360210200242808080801037020820024280808080800137020020012802342102200120012802303602142001200236020c20012002200a6a41246a36021820012002360210200141306a2001410c6a419c91c3800010f48e8080002007418080808078460d04200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41a0e0c6800010f38e8080002001410c6a410b6a200141306a41086a2802003600002000200837023c20002007360238200041013a00002000410136025820002009360254200041013602502001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841b0bfc7800010b980808000000b4104411810ab80808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000bca0402047f017e024002400240024020002d00000e0400010203000b02402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41003a000020002d00012100024020022004470d0020012002410110f49180800020012802042105200128020821040b200520046a20003a00002001200441016a3602080f0b02402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41013a0000200029030821060240200220046b41074b0d0020012004410810f49180800020012802042105200128020821040b200520046a20063700002001200441086a3602080f0b02402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41023a0000200029030821060240200220046b41074b0d0020012004410810f49180800020012802042105200128020821040b200520046a20063700002001200441086a3602080f0b02402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41033a0000200029030821060240200220046b41074b0d0020012004410810f49180800020012802042105200128020821040b200520046a20063700002001200441086a3602080bb90804017f017e047f027e2380808080004180016b220b248080808000200b42c1aedeeddec9cdd976370018200b428c849fcce4a5fda3da00370010200b42dbd4b188d8cab88410370008200b42bfa89c83ea92efeb1a370000200b41206a200b412010e0858080004200210c4200200420067d2003200554ad7d2206200320057d2205200356200620045620062004511b220d1b210342002005200d1b210502400240200b290320200b2903288450450d00420021040c010b200b2903382104200b290330210c200b4120410028029482d48000118b80808000000b0240200c20055a200420035a2004200351220e1b0d0041002802b483d48000450d00410028029080d48000210d410028028c80d48000210f41002802b083d480002110200b4200370258200b4281808080c000370250200b41ec89c7800036024c200b4112360248200b41d08ac78000360244200b4101360240200b41f489c78000ad4280808080c00b84370238200b4100360234200b41e28ac78000ad4280808080b0048437022c200b4100360228200b4281808080b017370220200f41b4f4ca8000201041024622101b200b41206a200d419cf4ca800020101b280210118b80808000000b200b41206a200010c986808000200b280224220d200b28022841002802ac82d4800011848080800000210f0240200b280220450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b02400240200f0d00200c2106200421110c010b200320042005200c542003200454200e1b220d1b21112005200c200d1b2106200c2005562004200356200e1b450d00200b41206a2000200c20067d2203200420117d200c200654ad7d2204410010d38c8080000240200b2802200d00200b2903302105200b290338210c200b41d8006a200041186a290000370300200b41d0006a200041106a290000370300200b41c8006a200041086a290000370300200b200c370338200b2005370330200b41073a0020200b200029000037034041014100200b41206a10d28d80800020032005852004200c85845022000d0102402005200354220d200c200454200c2004511b0d0020000d02200b200520037d2203370300200b200c20047d200dad7d2204370308200b10f788808000200b2004370338200b2003370330200b410b3a002041014100200b41206a10d28d8080000c020b200b200320057d2212370300200b2004200c7d2003200554ad7d2204370308200b10fe88808000200b2004370338200b2012370330200b410d3a002041014100200b41206a10d28d8080000c010b427f201120047c200620037c220c2006542200ad7c22042000200420115420042011511b22001b2111427f200c20001b21060b200b2009370350200b2007370340200b2006370330200b4200370328200b4201370320200b200a370358200b2008370348200b2011370338200b41206a10e686808000200b4180016a24808080800041020bb60604027f047e017f017e23808080800041d0016b2204248080808000200420033703082004200237030002400240200220038450450d0042002102420021030c010b200441206a200110c986808000200441f0006a20042802242205200428022810e38580800020042903980121062004290390012107200429038801210820042903800121092004280270210a02402004280220450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200a2007200984200620088484420052714101470d00200441003a001f200110cd8c8080001a2004200136027020042004411f6a36027820042004360274200441206a2001200441f0006a10d58d808000024020042903202203420285200429032884500d00200429036821062004290360210220042903582108200429035021072004290340210902402003a7410171450d00200429033021032004290338210b200441a8016a200141186a290000370300200441a0016a200141106a29000037030020044198016a200141086a2900003703002004200b370388012004200337038001200441003a0070200420012900003703900141014100200441f0006a10d28d8080000b02402009a7410171450d00200441a8016a200141186a290000370300200441a0016a200141106a29000037030020044198016a200141086a290000370300200441013a007020042001290000370390012004200737038001200420083703880141014100200441f0006a10d28d8080002007200884500d00200442003703282004200742f303200742f303541b42f3032008501b2203370320200441206a10fe88808000200442003703880120042003370380012004410d3a007041014100200441f0006a10d28d8080000b200441a8016a200141186a290000370300200441a0016a200141106a29000037030020044198016a200141086a290000370300200441053a007020042001290000370390012004200237038001200420063703880141014100200441f0006a10d28d808000200429030820067d20042903002206200254ad7d2103200620027d21020c010b20042903082103200429030021020b2000200237030020002003370308200441d0016a2480808080000bfd0201047f23808080800041206b220224808080800041002d008083d480001a02400240410141002802f482d48000118280808000002203450d0020032001417f6a3a00002003417e6a41003b0000200241013602102002200336020c20024101360208200241086a410141034101410110a386808000200228020c2203200228021022046a220541003b0000200541026a41003a0000200228020821050240200441036a22044104470d002003280000210402402005450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200421030c020b2005418080808078460d012002200436021c200220033602182002200536021441fcf7c6800041cb00200241146a41ecf7c6800041888bc7800010a981808000000b4101410141b0a7c7800010b980808000000b200041043a00102000200336020c200041033a000020002001411874411875410274220341b4c0c780006a280200360208200020034184c0c780006a280200360204200241206a2480808080000b0f002000280200200110b2938080000bfe0e01057f23808080800041306b22012480808080002001410036020c20014280808080800137020441002d008083d480001a024002400240024002400240024002400240410841002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a220441263602042004418695c780003602002004417e6a20033b000041002d008083d480001a411041002802f482d48000118280808000002203450d012003410e6a41003b0000200341066a42003700002003417e6a4200370000200141046a41c884c6800010a0868080002001280208220242e987d8bed5a3d0fbfb0037020820024100360200200241013a0074200241013602702002200436026c2002429080808010370264200220033602602002411036025c2002420d370244200241d987c68000360240200241ec80808000360218200242e2e68fceaa92ce9c7b3702102001410136020c41002d008083d480001a410841002802f482d48000118280808000002202450d022002200241036a417c7120026b22036a220441c200360204200441c795c780003602002004417e6a20033b000041002d008083d480001a411041002802f482d48000118280808000002203450d032003410e6a41003b0000200341066a42003700002003417e6a42003700000240200128020c22052001280204470d00200141046a41c884c6800010a0868080000b2001280208200541f8006c6a220241013a0074200241013602702002200436026c2002429080808010370264200220033602602002411036025c200242103702442002418486c68000360240200241ec80808000360218200242e2e68fceaa92ce9c7b370210200242e987d8bed5a3d0fbfb00370208200241003602002001200541016a36020c2001410036021041002d008083d480001a41c00141002802f482d48000118280808000002202450d042002200241036a417c7120026b22036a220241d0003602bc01200241b292c780003602b801200241ca003602b401200241e891c780003602b001200241db003602ac012002418d91c780003602a801200241d4003602a401200241b990c780003602a0012002410036029c01200242848080801037029401200241d38fc78000360290012002410336028c01200241d08fc78000360288012002411d360284012002419c90c78000360280012002412c36027c2002419e8ec780003602782002410d360274200241918ec780003602702002410036026c2002428a80808010370264200241878ec780003602602002410036025c200242c580808010370254200241d78fc780003602502002410036024c2002428480808010370244200241d38fc780003602402002410336023c200241d08fc780003602382002418601360234200241ca8ec780003602302002412c36022c2002419e8ec780003602282002410d360224200241918ec780003602202002410036021c2002428a80808010370214200241878ec780003602102002410036020c200242c280808010370204200241c58dc780003602002002417e6a20033b00002001411836022c2001200236022820014118360224200141106a200141246a200141046a1080878080002001410036021041002d008083d480001a412041002802f482d48000118280808000002202450d052002200241036a417c7120026b22036a220241eb0036021c200241f993c7800036021820024100360214200242c98080801037020c200241b093c780003602082002412e3602042002418293c780003602002002417e6a20033b00002001410436022c2001410436022420012002360228200141106a200141246a200141046a10fc868080002001410036021041002d008083d480001a411841002802f482d48000118280808000002202450d062002200241036a417c7120026b22036a220241ec00360214200241b296c780003602102002410036020c200242a9808080103702042002418996c780003602002002417e6a20033b00002001410336022c2001410336022420012002360228200141106a200141246a200141046a10fb868080002001410036021041002d008083d480001a410841002802f482d48000118280808000002202450d072002200241036a417c7120026b22036a2202411b360204200241ac95c780003602002002417e6a20033b00002001410136022c2001410136022420012002360228200141106a200141246a200141046a1082878080002001410036021041002d008083d480001a410841002802f482d480001182808080000022020d084104410810ab80808000000b4104410810ab80808000000b4101411010ab80808000000b4104410810ab80808000000b4101411010ab80808000000b410441c00110ab80808000000b4104412010ab80808000000b4104411810ab80808000000b4104410810ab80808000000b2002200241036a417c7120026b22036a22024122360204200241e494c780003602002002417e6a20033b00002001410136022c2001410136022420012002360228200141106a200141246a200141046a10fe86808000200041086a200141046a41086a2802003602002000200129020437020020004108360210200041cbe7c4800036020c200141306a2480808080000bbc0a010a7f41002d008083d480001a02400240024002400240024002400240024041c00241002802f482d48000118280808000002201450d002001200141076a41787120016b22026a2201417e6a20023b000041002d008083d480001a411041002802f482d48000118280808000002203450d0120034200370008200342f4033700002003417e6a41003b000041002d008083d480001a41c00041002802f482d48000118280808000002202450d022002200241036a417c7120026b22046a2202413c36023c200241839dc7800036023820024100360234200242a38080801037022c200241e09cc78000360228200241d6003602242002418a9cc78000360220200241d80036021c200241b29bc78000360218200241d600360214200241dc9ac780003602102002410036020c200242d0808080103702042002418c9ac780003602002002417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002205450d03200541003600002005417e6a41003b000041002d008083d480001a412041002802f482d48000118280808000002204450d042004200441036a417c7120046b22066a220441eb0036021c200441f993c7800036021820044100360214200442b78080801037020c200441fc9dc780003602082004413d360204200441bf9dc780003602002004417e6a20063b000041002d008083d480001a410441002802f482d48000118280808000002207450d05200741323600002007417e6a41003b000041002d008083d480001a411841002802f482d48000118280808000002206450d062006200641036a417c7120066b22086a220641ec00360214200641b296c780003602102006410036020c200642c380808010370204200641bb9ec780003602002006417e6a20083b000041002d008083d480001a410441002802f482d48000118280808000002208450d07200841003600002008417e6a41003b000041002d008083d480001a410841002802f482d480001182808080000022090d084104410810ab80808000000b410841c00210ab80808000000b4101411010ab80808000000b410441c00010ab80808000000b4101410410ab80808000000b4104412010ab80808000000b4101410410ab80808000000b4104411810ab80808000000b4101410410ab80808000000b2009200941036a417c7120096b220a6a220941d800360204200941899fc780003602002009417e6a200a3b000020012008360294022001410436029002200142013702a402200120093602a002200142848080801037039802200141bb8080800036028802200142d7c9cb8fc1cf97db3e37038002200142e88488d0c0e3aebc133703f8012001410a3602f401200141e19fc780003602f001200142033702d401200120063602d00120014284808080303703c801200120073602c401200141043602c001200141bb808080003602b801200142d7c9cb8fc1cf97db3e3703b001200142e88488d0c0e3aebc133703a8012001410b3602a401200141fe9ec780003602a0012001420437028401200120043602800120014284808080c0003703782001200536027420014104360270200141bb80808000360268200142d7c9cb8fc1cf97db3e370360200142e88488d0c0e3aebc1337035820014108360254200141b39ec7800036025020014208370234200120023602302001429080808080013703282001200336022420014110360220200141ec80808000360218200142e2e68fceaa92ce9c7b370310200142e987d8bed5a3d0fbfb0037030820014112360204200141ce8bc780003602002000410436020820002001360204200041043602000ba30402017f077e23808080800041c0016b2204248080808000200420023a000f200110cd8c8080001a200420033602642004200136026020042004410f6a360268200441106a2001200441e0006a10d78d8080000240024020042903102205420285200429031884500d00200429035821062004290350210720042903482108200429034021092004290330210a02402005a7410171450d00200429032021052004290328210b20044198016a200141186a29000037030020044190016a200141106a29000037030020044188016a200141086a2900003703002004200b37037820042005370370200441003a0060200420012900003703800141014100200441e0006a10d28d8080000b0240200aa7410171450d0020044198016a200141186a29000037030020044190016a200141106a29000037030020044188016a200141086a290000370300200441013a00602004200129000037038001200420093703702004200837037841014100200441e0006a10d28d8080002009200884500d00200442003703182004200942f303200942f303541b42f3032008501b2205370310200441106a10fe8880800020044200370378200420053703702004410d3a006041014100200441e0006a10d28d8080000b2000200737031020002006370318410021010c010b200020042903203702042000410c6a200441286a2802003602002000200429022c370310410121010b20002001360200200441c0016a2480808080000bbe0601067f41002d008083d480001a0240024002400240024041c00141002802f482d48000118280808000002201450d002001200141076a41787120016b22026a2201417e6a20023b000041002d008083d480001a410841002802f482d48000118280808000002202450d012002200241036a417c7120026b22036a2204411d360204200441eb9fc780003602002004417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002202450d022002200241036a417c7120026b22056a2203411b36020420034199a0c780003602002003417e6a20053b000041002d008083d480001a411841002802f482d48000118280808000002202450d032002200241036a417c7120026b22056a220241ec00360214200241b296c780003602102002410036020c2002429a80808010370204200241bba0c780003602002002417e6a20053b000041002d008083d480001a410841002802f482d480001182808080000022050d044104410810ab80808000000b410841c00110ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104411810ab80808000000b2005200541036a417c7120056b22066a22054119360204200541e6a0c780003602002005417e6a20063b0000200141013602b801200120053602b401200141013602b00120014184818080003602a801200142d9d1a5958acddccda77f3703a001200142bb82a2f99fad8c91c100370398012001411036029401200141ffa0c7800036029001200141033602880120012002360284012001410336028001200141d983808000360278200142d687ccb79492eaa48f7f370370200142dec098f1dab59facaa7f37036820014111360264200141d5a0c78000360260200141013602582001200336025420014101360250200141ec80808000360248200142e2e68fceaa92ce9c7b370340200142e987d8bed5a3d0fbfb0037033820014107360234200141b4a0c78000360230200141013602282001200436022420014101360220200141ea80808000360218200142bfedf48291abd3ae3a370310200142b0b4d4ade1aceba9ad7f3703082001411136020420014188a0c780003602002000410436020820002001360204200041043602000bbf1a04057f017e027f027e23808080800041f0006b22022480808080000240024002400240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a0000024002400240024002400240024002400240024020040e0b0009010203040509060708090b200241c0006a200110ea8e808000024020022d004022034105470d00200041003a00000c0f0b200241086a41026a220620022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210420022802482105200241c0006a200110d8848080002002280240410171450d0a200041003a000020034102470d0e2004450d0e20052005417e6a2f00006b41002802ec82d48000118180808000000c0e0b200241c0006a200110ea8e808000024020022d004022034105470d00200041003a00000c0e0b200241206a41026a20022d00433a0000200241086a41086a200241d4006a2206290200370300200241086a41106a200241dc006a2208290200370300200220022f00413b01202002200229024c3703082002280244210420022802482105200241c0006a200110ea8e8080000240024020022d004022094105470d00200041003a00000c010b200241246a41026a20022d00433a0000200241286a41086a2006290200370300200241286a41106a2008290200370300200220022f00413b01242002200229024c3703282002280244210820022802482106200241c0006a200110d8848080002002280240410171450d0b200041003a000020094102470d002008450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20034102470d0d2004450d0d20052005417e6a2f00006b41002802ec82d48000118180808000000c0d0b200241c0006a200110ea8e808000024020022d004022034105470d00200041003a00000c0d0b200241086a41026a220620022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210420022802482105200241c0006a200110d8848080002002280240410171450d0a200041003a000020034102470d0c2004450d0c20052005417e6a2f00006b41002802ec82d48000118180808000000c0c0b200241c0006a200110ea8e808000024020022d004022054105470d00200041003a00000c0c0b200241086a41026a20022d00433a0000200241306a200241d4006a290200370300200241386a200241dc006a290200370300200220022f00413b01082002200229024c370328200228024421082002280248210602402001280200220328020c220428020822012802042209450d0020012009417f6a36020420012001280200220941016a3602002004427f200429030042017c22072007501b37030020092d000021040240200328020020032802082201470d002003200141014101410110a386808000200328020821010b2003200141016a360208200328020420016a20043a0000410021030240024020040e020100020b410121030b200020022f01083b000520002002290328370210200041076a2002410a6a2d00003a0000200041186a200241306a290300370200200041206a200241386a2903003702002000200636020c20002008360208200020053a0004200020033a0001200041043a00000c0c0b200041003a000020054102470d0b2008450d0b20062006417e6a2f00006b41002802ec82d48000118180808000000c0b0b200241c0006a200110ea8e808000024020022d004022054105470d00200041003a00000c0b0b200241086a41026a20022d00433a0000200241306a200241d4006a290200370300200241286a41106a200241dc006a290200370300200220022f00413b01082002200229024c370328200228024421082002280248210402402001280200220328020c2206280208220128020422094110490d002001200941706a36020420012001280200220941106a3602002006427f2006290300220742107c220a200a2007541b370300200929000821072009290000210a02402003280200200328020822016b410f4b0d002003200141104101410110a386808000200328020821010b2003200141106a360208200328020420016a220320073700082003200a370000200041076a2002410a6a2d00003a0000200020022f01083b000520002002290328370210200041186a200241306a290300370200200041206a200241286a41106a290300370200200020073703382000200a3703302000200436020c20002008360208200020053a0004200041053a00000c0b0b200041003a000020054102470d0a2008450d0a20042004417e6a2f00006b41002802ec82d48000118180808000000c0a0b2002200110cf848080000240024020022802004101710d00200241086a2001200228020410ae838080002002280208418080808078470d010b200041003a00000c0a0b200241286a41086a200241086a41086a2802002203360200200241cb006a20033600002002200229020822073703282002200737004320002002290040370001200041086a200241c7006a290000370000200041063a00000c090b200241c0006a200110ea8e808000024020022d004022034105470d00200041003a00000c090b200241086a41026a220620022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210420022802482105200241c0006a200110d8848080002002280240410171450d07200041003a000020034102470d082004450d0820052005417e6a2f00006b41002802ec82d48000118180808000000c080b024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000041014102200441ff017122034101461b410020031b22034102470d010b200041003a00000c080b200241c0006a200110d88480800002402002280240410171450d00200041003a00000c080b200229035021072000200229035837031820002007370310200020033a0001200041083a00000c070b200241c0006a200110d88480800002402002280240410171450d00200041003a00000c070b02402001280200220328020c220528020822012802042204450d002002290358210a2002290350210b20012004417f6a36020420012001280200220441016a3602002005427f200529030042017c22072007501b37030020042d000021050240200328020020032802082201470d002003200141014101410110a386808000200328020821010b2003200141016a360208200328020420016a20053a0000410021030240024020050e020100020b410121030b2000200b370310200020033a0001200041093a00002000200a3703180c070b200041003a00000c060b200041003a00000c050b200041003a00000c040b200229035021072002290358210a200020022f01083b000520002002290328370210200041076a20062d00003a0000200041186a2008290300370200200041206a20092903003702002000200a370338200020073703302000200536020c20002004360208200020033a0004200041013a00000c030b200229035021072002290358210a200020022f01203b000520002002290308370210200020093a0028200020022f01243b0029200020063602302000200836022c200041076a200241206a41026a2d00003a0000200041186a200241086a41086a290300370200200041206a200241086a41106a2903003702002000412b6a200241246a41026a2d00003a0000200041c4006a200241286a41106a2903003702002000413c6a200241286a41086a290300370200200020022903283702342000200a370358200020073703502000200536020c20002004360208200020033a0004200041023a00000c020b200229035021072002290358210a200020022f01083b000520002002290328370210200041076a20062d00003a0000200041186a2008290300370200200041206a20092903003702002000200a370338200020073703302000200536020c20002004360208200020033a0004200041033a00000c010b200229035021072002290358210a200020022f01083b000520002002290328370210200041076a20062d00003a0000200041186a2008290300370200200041206a20092903003702002000200a370338200020073703302000200536020c20002004360208200020033a0004200041073a00000b200241f0006a2480808080000bce1a04057f017e027f027e23808080800041f0006b22022480808080000240024002400240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a0000024002400240024002400240024002400240024020040e0b0009010203040509060708090b200241c0006a200110e98e808000024020022d004022034105470d00200041003a00000c0f0b200241086a41026a220620022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210420022802482105200241c0006a200110d7848080002002280240410171450d0a200041003a000020034102470d0e2004450d0e20052005417e6a2f00006b41002802ec82d48000118180808000000c0e0b200241c0006a200110e98e808000024020022d004022034105470d00200041003a00000c0e0b200241206a41026a20022d00433a0000200241086a41086a200241d4006a2206290200370300200241086a41106a200241dc006a2208290200370300200220022f00413b01202002200229024c3703082002280244210420022802482105200241c0006a200110e98e8080000240024020022d004022094105470d00200041003a00000c010b200241246a41026a20022d00433a0000200241286a41086a2006290200370300200241286a41106a2008290200370300200220022f00413b01242002200229024c3703282002280244210820022802482106200241c0006a200110d7848080002002280240410171450d0b200041003a000020094102470d002008450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20034102470d0d2004450d0d20052005417e6a2f00006b41002802ec82d48000118180808000000c0d0b200241c0006a200110e98e808000024020022d004022034105470d00200041003a00000c0d0b200241086a41026a220620022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210420022802482105200241c0006a200110d7848080002002280240410171450d0a200041003a000020034102470d0c2004450d0c20052005417e6a2f00006b41002802ec82d48000118180808000000c0c0b200241c0006a200110e98e808000024020022d004022054105470d00200041003a00000c0c0b200241086a41026a20022d00433a0000200241306a200241d4006a290200370300200241386a200241dc006a290200370300200220022f00413b01082002200229024c370328200228024421082002280248210602402001280200220328020c220428020828020022012802042209450d0020012009417f6a36020420012001280200220941016a3602002004427f200429030042017c22072007501b37030020092d000021040240200328020020032802082201470d002003200141014101410110a386808000200328020821010b2003200141016a360208200328020420016a20043a0000410021030240024020040e020100020b410121030b200020022f01083b000520002002290328370210200041076a2002410a6a2d00003a0000200041186a200241306a290300370200200041206a200241386a2903003702002000200636020c20002008360208200020053a0004200020033a0001200041043a00000c0c0b200041003a000020054102470d0b2008450d0b20062006417e6a2f00006b41002802ec82d48000118180808000000c0b0b200241c0006a200110e98e808000024020022d004022054105470d00200041003a00000c0b0b200241086a41026a20022d00433a0000200241306a200241d4006a290200370300200241286a41106a200241dc006a290200370300200220022f00413b01082002200229024c370328200228024421082002280248210402402001280200220328020c2206280208280200220128020422094110490d002001200941706a36020420012001280200220941106a3602002006427f2006290300220742107c220a200a2007541b370300200929000821072009290000210a02402003280200200328020822016b410f4b0d002003200141104101410110a386808000200328020821010b2003200141106a360208200328020420016a220320073700082003200a370000200041076a2002410a6a2d00003a0000200020022f01083b000520002002290328370210200041186a200241306a290300370200200041206a200241286a41106a290300370200200020073703382000200a3703302000200436020c20002008360208200020053a0004200041053a00000c0b0b200041003a000020054102470d0a2008450d0a20042004417e6a2f00006b41002802ec82d48000118180808000000c0a0b2002200110ce848080000240024020022802004101710d00200241086a200120022802041099838080002002280208418080808078470d010b200041003a00000c0a0b200241286a41086a200241086a41086a2802002203360200200241cb006a20033600002002200229020822073703282002200737004320002002290040370001200041086a200241c7006a290000370000200041063a00000c090b200241c0006a200110e98e808000024020022d004022034105470d00200041003a00000c090b200241086a41026a220620022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210420022802482105200241c0006a200110d7848080002002280240410171450d07200041003a000020034102470d082004450d0820052005417e6a2f00006b41002802ec82d48000118180808000000c080b024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000041014102200441ff017122034101461b410020031b22034102470d010b200041003a00000c080b200241c0006a200110d78480800002402002280240410171450d00200041003a00000c080b200229035021072000200229035837031820002007370310200020033a0001200041083a00000c070b200241c0006a200110d78480800002402002280240410171450d00200041003a00000c070b02402001280200220328020c220528020828020022012802042204450d002002290358210a2002290350210b20012004417f6a36020420012001280200220441016a3602002005427f200529030042017c22072007501b37030020042d000021050240200328020020032802082201470d002003200141014101410110a386808000200328020821010b2003200141016a360208200328020420016a20053a0000410021030240024020050e020100020b410121030b2000200b370310200020033a0001200041093a00002000200a3703180c070b200041003a00000c060b200041003a00000c050b200041003a00000c040b200229035021072002290358210a200020022f01083b000520002002290328370210200041076a20062d00003a0000200041186a2008290300370200200041206a20092903003702002000200a370338200020073703302000200536020c20002004360208200020033a0004200041013a00000c030b200229035021072002290358210a200020022f01203b000520002002290308370210200020093a0028200020022f01243b0029200020063602302000200836022c200041076a200241206a41026a2d00003a0000200041186a200241086a41086a290300370200200041206a200241086a41106a2903003702002000412b6a200241246a41026a2d00003a0000200041c4006a200241286a41106a2903003702002000413c6a200241286a41086a290300370200200020022903283702342000200a370358200020073703502000200536020c20002004360208200020033a0004200041023a00000c020b200229035021072002290358210a200020022f01083b000520002002290328370210200041076a20062d00003a0000200041186a2008290300370200200041206a20092903003702002000200a370338200020073703302000200536020c20002004360208200020033a0004200041033a00000c010b200229035021072002290358210a200020022f01083b000520002002290328370210200041076a20062d00003a0000200041186a2008290300370200200041206a20092903003702002000200a370338200020073703302000200536020c20002004360208200020033a0004200041073a00000b200241f0006a2480808080000b800b02047f027e23808080800041106b2202248080808000024002400240024002400240024002400240024020002d0000417f6a0e09000102030405060708000b200041306a2103200041046a21000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00002000200110ed8e8080002002200336020c2002410c6a200110de848080000c080b200041d0006a2103200041286a2105200041046a21000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41023a00002000200110ed8e8080002005200110ed8e8080002002200336020c2002410c6a200110de848080000c070b200041306a2103200041046a21000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41033a00002000200110ed8e8080002002200336020c2002410c6a200110de848080000c060b200041046a21030240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41043a00002003200110ed8e80800020002d000121000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a00000c050b200041046a21030240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41053a00002003200110ed8e808000200029033821062000290330210702402001280200200128020822046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c040b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a41063a00002001200441016a360208200028020821042002200028020c22003602082002200241086a36020c2002410c6a200110dc848080002000450d032000410574210520012802082103034002400240200128020020036b411f4d0d00200321000c010b20012003412010f491808000200128020821000b2001200041206a2203360208200128020420006a22002004290000370000200041086a200441086a290000370000200041106a200441106a290000370000200041186a200441186a290000370000200441206a2104200541606a22050d000c040b0b200041306a2103200041046a21000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41083a00002000200110ed8e8080002002200336020c2002410c6a200110de848080000c020b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200041106a2103200128020420046a41093a00002001200441016a220436020820002d00012100024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a00002002200336020c2002410c6a200110de848080000c010b200041106a21030240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a410a3a00002002200336020c2002410c6a200110de8480800020002d000121000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a00000b200241106a2480808080000bdb0903017f027e017f024002400240024002400240024002400240024002400240024002400240024002400240024020002d0000417f6a0e09000102030405060708000b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b02402000290330220242c000544100200029033822035022001b450d00410121000c110b20024280800154410020001b450d0f410221000c100b4121210441212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b024002400240024020002d00280e050300010302030b410121040c020b200028023441056a21040c010b411521040b417f200120046a220420042001491b210102402000290350220242c000544100200029035822035022001b450d00410121000c0e0b20024280800154410020001b450d0c410221000c0d0b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b02402000290330220242c000544100200029033822035022001b450d00410121000c0b0b20024280800154410020001b450d09410221000c0a0b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b200141016a2200417f20001b21000c0e0b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b417f200141106a220020002001491b21000c0d0b200028020c41057441047221000c0c0b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b02402000290330220242c000544100200029033822035022001b450d00410121000c050b20024280800154410020001b450d03410221000c040b02402000290310220242c000544100200029031822035022001b450d00410221000c0b0b20024280800154410020001b450d01410321000c0a0b02402000290310220242c000544100200029031822035022001b450d00410221000c0a0b024020024280800154410020001b450d00410321000c0a0b0240200242808080800454410020001b450d00410521000c0a0b411220037920027942c0007c20034200521ba74103766b21000c090b0240200242808080800454410020001b450d00410521000c090b411220037920027942c0007c20034200521ba74103766b21000c080b0240200242808080800454410020001b450d00410421000c010b411120037920027942c0007c20034200521ba74103766b21000b417f200120006a220020002001491b21000c060b0240200242808080800454410020001b450d00410421000c010b411120037920027942c0007c20034200521ba74103766b21000b417f200120006a220020002001491b21000c040b0240200242808080800454410020001b450d00410421000c010b411120037920027942c0007c20034200521ba74103766b21000b417f200120006a220020002001491b21000c020b0240200242808080800454410020001b450d00410421000c010b411120037920027942c0007c20034200521ba74103766b21000b417f200120006a220020002001491b21000b200041016a0b914303047f027e017f23808080800041106b2202248080808000024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020002d00000e1e000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d000b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41003a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c1d0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41013a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c1c0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41023a00002001200341016a22053602080240200128020020056b411f4b0d0020012005412010f491808000200128020821050b200041c0006a2103200128020420056a22082004290000370000200841186a200441186a290000370000200841106a200441106a290000370000200841086a200441086a2900003700002001200541206a22043602080240200128020020046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22052003290000370000200541186a200341186a290000370000200541106a200341106a290000370000200541086a200341086a2900003700002001200441206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c1b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41033a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c1a0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41043a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c190b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41053a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c180b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041026a2104200128020420036a41063a00002001200341016a22053602080240200128020020056b411f4b0d0020012005412010f491808000200128020821050b200041226a2103200128020420056a22082004290000370000200841186a200441186a290000370000200841106a200441106a290000370000200841086a200441086a2900003700002001200541206a22043602080240200128020020046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22052003290000370000200541186a200341186a290000370000200541106a200341106a290000370000200541086a200341086a2900003700002001200441206a220436020820002903582106200029035021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b200128020420046a22032006370008200320073700002001200441106a220436020820002d00012100024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a00000c170b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41073a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c160b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41083a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c150b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41093a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c140b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a410a3a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c130b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a410b3a00002001200441016a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c120b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a410c3a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c110b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a410d3a00002001200441016a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c100b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a410e3a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c0f0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a410f3a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c0e0b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200041016a2100200128020420046a41103a00002001200441016a22043602080240200128020020046b411f4b0d0020012004412010f491808000200128020821040b2001200441206a360208200128020420046a22012000290000370000200141086a200041086a290000370000200141106a200041106a290000370000200141186a200041186a2900003700000c0d0b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a41113a00002001200441016a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c0c0b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a41123a00002001200441016a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c0b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41133a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c0a0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41143a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c090b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41153a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c080b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41163a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c070b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a41173a00002001200441016a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b200128020420046a22032006370008200320073700002001200441106a220436020820002903282106200029032021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c060b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a2204360208200128020420036a41183a0000200241046a108686808000200228020821050240200228020c2203200128020020046b4d0d0020012004200310f491808000200128020821040b200128020420046a2005200310f4978080001a2001200420036a220336020802402002280204450d0020052005417e6a2f00006b41002802ec82d4800011818080800000200128020821030b200041206a21040240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c050b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a2204360208200128020420036a41193a0000200241046a108686808000200228020821050240200228020c2203200128020020046b4d0d0020012004200310f491808000200128020821040b200128020420046a2005200310f4978080001a2001200420036a220336020802402002280204450d0020052005417e6a2f00006b41002802ec82d4800011818080800000200128020821030b200041206a21040240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c040b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a2204360208200128020420036a411a3a0000200241046a108686808000200228020821030240200228020c2205200128020020046b4d0d0020012004200510f491808000200128020821040b200128020420046a2003200510f4978080001a2001200420056a220536020802402002280204450d0020032003417e6a2f00006b41002802ec82d4800011818080800000200128020821050b200041206a21040240200128020020056b411f4b0d0020012005412010f491808000200128020821050b200041c0006a2103200128020420056a22082004290000370000200841186a200441186a290000370000200841106a200441106a290000370000200841086a200441086a2900003700002001200541206a22043602080240200128020020046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22052003290000370000200541186a200341186a290000370000200541106a200341106a290000370000200541086a200341086a2900003700002001200441206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c030b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a2204360208200128020420036a411b3a0000200241046a108686808000200228020821030240200228020c2205200128020020046b4d0d0020012004200510f491808000200128020821040b200128020420046a2003200510f4978080001a2001200420056a220536020802402002280204450d0020032003417e6a2f00006b41002802ec82d4800011818080800000200128020821050b200041206a21040240200128020020056b411f4b0d0020012005412010f491808000200128020821050b200041c0006a2103200128020420056a22082004290000370000200841186a200441186a290000370000200841106a200441106a290000370000200841086a200441086a2900003700002001200541206a22043602080240200128020020046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22052003290000370000200541186a200341186a290000370000200541106a200341106a290000370000200541086a200341086a2900003700002001200441206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c020b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a2204360208200128020420036a411c3a0000200241046a108686808000200228020821050240200228020c2203200128020020046b4d0d0020012004200310f491808000200128020821040b200128020420046a2005200310f4978080001a2001200420036a220336020802402002280204450d0020052005417e6a2f00006b41002802ec82d4800011818080800000200128020821030b200041206a21040240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a411d3a00002001200441016a220436020820002d00012100024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a00000b200241106a2480808080000bb90201037f23808080800041206b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b200328020420046a41fb003a00002003200441016a36020820024180023b010c2002200136021002402002410c6a418fa1c780004108200041206a10cc8d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a4197a1c78000410b200010c88d80800022030d0041002103200228020c22044180fe0371450d0020044101710d0002402002280210280200220428020020042802082201470d002004200141014101410110a386808000200428020821010b2004200141016a360208200428020420016a41fd003a00000b200241206a24808080800020030bf80201027f23808080800041306b22022480808080002002410036021c200241003602142002418080808078360208024002400240200241086a418fa1c780004108200141206a10a68e80800022030d00200241086a4197a1c78000410b200110a88e80800022030d00200228020c2101024020022802082203418180808078470d00200141ff01714106460d02200020013a0000200041036a20014118763a0000200020014108763b00012000200241086a41086a22012902003702042000410c6a200141086a2802003602000c030b2002412c6a2002411c6a280200360000200041053a00002002200229021437002420002002290021370001200041086a200241286a290000370000200341808080807872418080808078460d0220012001417e6a2f00006b41002802ec82d48000118180808000000c020b200041063a000020002003360204200241086a10e08c8080000c010b41c0c0cc8000411c41dcc0cc800010a181808000000b200241306a2480808080000bda0603067f017e027f23808080800041c0006b2201248080808000200141186a41ed87c78000410441d6f1c6800041174104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a02400240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241003602382002410136022420024188a4c780003602202002410036021820024101360204200241cef1c680003602002002417e6a20033b000020014102360238200120023602302001200241c0006a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903b888c780003702002001410036020820014280808080c000370200200141306a200141b8f0c6800041141093848080002001200141306a41ccf0c68000410e108284808000200141306a200141daf0c68000411310d9838080002001200141306a41edf0c68000410c10f183808000200141306a200141f9f0c68000410f10e2838080002001200141306a4188f1c68000411010eb83808000200141306a20014198f1c68000411110fe838080002001200141306a41a9f1c68000411b10b584808000200141246a200141c4f1c68000410410d4838080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b410841c00010ab80808000000b4104410841b0bfc7800010b980808000000b41bc91c38000411141d091c3800010a181808000000bd11903067f017e037f23808080800041c0006b2201248080808000200141206a41fc88c78000410541d6f1c6800041174104410010c292808000200142043702182001420037021020014280808080800137020841002d008083d480001a02400240024002400240024002400240024002400240024002400240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241003602382002410136022420024188a4c780003602202002410036021820024101360204200241cef1c680003602002002417e6a20033b000020014102360238200120023602302001200241c0006a36023c20012002360234200141086a200141306a419c91c3800010f38e80800041002d008083d480001a20012802082104200128020c2103200128021021052001280220210620012902242107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903a889c7800037020041002d008083d480001a2001410036021020014280808080c000370208410841002802f482d48000118280808000002202450d022002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902b8dbc38000370200200141086a418c90c3800010a093808000200128020c2202428080808010370208200242808080808001370200200241003a00202002410e36021c200241988bc780003602182002410136021420022009360210200141306a41086a41013602002001200129020837033041002d008083d480001a410841002802f482d48000118280808000002202450d032002200241036a417c71220920026b220a6a417e6a200a3b000020094100290288dbc3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241013a00202002411536021c200241a68bc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d042002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902d0d8c3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241023a00202002411336021c200241bb8bc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d052002200241036a417c71220920026b220a6a417e6a200a3b000020094100290298d9c3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241033a00202002411236021c200241ce8bc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d062002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902f8d7c3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241043a00202002410d36021c200241e08bc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d072002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902c8d7c3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241053a00202002411736021c200241ed8bc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d082002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902a8d8c3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241063a00202002410b36021c200241848cc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d092002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902c8dac3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241073a00202002410f36021c2002418f8cc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d0a2002200241036a417c71220920026b220a6a417e6a200a3b000020094100290280dcc3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241083a00202002410c36021c2002419e8cc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d0b2002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902c8d9c3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241093a00202002410e36021c200241aa8cc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d0c2002200241036a417c71220920026b220a6a417e6a200a3b000020094100290290dac3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a2202410a3a00202002411336021c200241b88cc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d0d2002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902a8dcc380003702000240200128023822022001280230470d00200141306a418c90c3800010a0938080000b2001280234200241246c220a6a2202410b3a00202002410936021c200241cb8cc780003602182002410136021420022009360210200242808080801037020820024280808080800137020020012802342102200120012802303602102001200236020820012002200a6a41246a3602142001200236020c200141306a200141086a419c91c3800010f48e8080002006418080808078460d0e20012004360210200120033602082001200336020c2001200320054105746a360214200041c4006a200141086a41a0e0c6800010f38e808000200141086a410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000b20002001290008370001200041086a2001410f6a290000370000200141c0006a2480808080000f0b410841c00010ab80808000000b4104410841b0bfc7800010b980808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000b960a03067f017e027f23808080800041c0006b2201248080808000200141186a4189a4c78000410541d6f1c6800041174104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a02400240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241003602382002410136022420024188a4c780003602202002410036021820024101360204200241cef1c680003602002002417e6a20033b000020014102360238200120023602302001200241c0006a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903b0a4c780003702002001410036020820014280808080c000370200200141306a200141b8a4c7800041071092848080002001200141306a41bfa4c78000410810ee83808000200141306a200141c7a4c78000410810f5838080002001200141306a41cfa4c78000410a10fd83808000200141306a200141d9a4c78000410810b8848080002001200141306a41e1a4c78000410a10bf84808000200141306a200141eba4c78000411210f0838080002001200141306a41fda4c78000410710da83808000200141306a20014184a5c78000410810bc848080002001200141306a418ca5c78000410710e383808000200141306a20014193a5c78000410610c7848080002001200141306a4199a5c78000410c108184808000200141306a200141a5a5c78000410610aa848080002001200141306a41aba5c78000410a10a884808000200141306a200141b5a5c78000410910f9838080002001200141306a41bea5c78000410810f383808000200141306a200141c6a5c7800041081084848080002001200141306a41cea5c78000410610d783808000200141306a200141d4a5c78000410910ab848080002001200141306a41dda5c78000410610fa83808000200141306a200141e3a5c78000410810db838080002001200141306a41eba5c78000410610ed83808000200141306a200141f1a5c78000410610be848080002001200141306a41f7a5c78000411310e783808000200141306a2001418aa6c78000410410a1848080002001200141306a418ea6c78000410a10c584808000200141306a20014198a6c78000410e10a5848080002001200141306a41a6a6c78000410f10d583808000200141306a200141b5a6c780004108109e84808000200141246a200141306a41bda6c78000410a109d848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b410841c00010ab80808000000b4104410841b0bfc7800010b980808000000b41bc91c38000411141d091c3800010a181808000000bb70301047f23808080800041106b22022480808080000240024020012802102203418080808078470d004101410220012d000122044102491b4102410120044107461b20012d00001b41016a21040c010b417f417f2001280224410c6c2001280218410c6c410c6a22046a41046a220520052004491b220441096a220520052004491b21040b410021050240024002400240024002400240200441016a22044100480d002004450d0141002d008083d480001a200441002802f482d480001182808080000022050d02410121050b2005200441b0a7c7800010b980808000000b2002410036020c2002428080808010370204200241046a4100410110f49180800020022802082105200228020c21042003418080808078460d030c010b2005417e6a41003b000020022005360208200220043602042003418080808078460d01410021040b200520046a41003a00002002200441016a36020c2001200241046a10c5858080000c020b410021040b200520046a41013a00002002200441016a36020c2001200241046a10c6858080000b20002002290204370200200041086a200241046a41086a280200360200200241106a2480808080000bb30301057f23808080800041206b220224808080800041002103024002400240024002400240024041012001280208220441056a20012802002205418080808078461b22064100480d002006450d0141002d008083d480001a200641002802f482d480001182808080000022030d02410121030b2003200641b0a7c7800010b980808000000b20024100360214200242808080801037020c2002410c6a4100410110f49180800020022802102103200228021421062005418080808078470d010c030b2003417e6a41003b0000200220033602102002200636020c2005418080808078460d01410021060b200320066a41013a00002002200641016a36021420012802042103200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004200228020c200228021422066b4d0d002002410c6a2006200410f491808000200228021421060b200228021020066a2003200410f4978080001a2002200620046a3602140c020b410021060b200320066a41003a00002002200641016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000bd80201047f23808080800041106b2202248080808000410221030240024002400240024020012d000022040e110303030103030302020203030303020400030b4101410220012d000222054102491b4102410120054107461b20012d00011b41026a21030c030b410821030c020b410421030c010b410321030b41002d008083d480001a0240200341002802f482d48000118280808000002205450d002005417e6a41003b000020022005360208200220033602040240024020044110470d00200541013a00002002410136020c200141016a200241046a10c6858080000c010b200541003a000002402004410f460d00200541013a00012002410236020c2001200241046a10c08c8080000c010b200541003a00012002410236020c0b20002002290204370200200041086a200241046a41086a280200360200200241106a2480808080000f0b4101200341b0a7c7800010b980808000000bd80201037f23808080800041206b220324808080800041002d008083d480001a02402002410574410472220441002802f482d48000118280808000002205450d002005417e6a41003b000020034100360214200320053602102003200436020c200320023602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402002450d00200241057421042003280214210203400240200328020c20026b411f4b0d002003410c6a2002412010f491808000200328021421020b200328021020026a22052001290000370000200541086a200141086a290000370000200541106a200141106a290000370000200541186a200141186a2900003700002003200241206a2202360214200141206a2101200441606a22040d000b0b2000200329020c370200200041086a2003410c6a41086a280200360200200341206a2480808080000f0b4101200441b0a7c7800010b980808000000bc10100024002400240024002400240200241796a0e080003030302030301030b0240200141dc85c78000410710f597808000450d00200141e385c78000410710f5978080000d03200041013a00010c050b200041003a0001200041003a00000f0b200141ea85c78000410e10f597808000450d020c010b200141f885c78000410b10f5978080000d00200041033a00010c020b200020012002418486c78000410410a88a808000360204200041013a00000f0b200041023a00010b200041003a00000b8e0f03017f047e0b7f23808080800041c00b6b220424808080800042c0f1ec00210542d50b21060240200242c0f1ec00540d00200342d50b540d00200442988af5b38bd59ae3ad7f370038200442958ff2c2ebc1eefc79370030200442c0c38addfcd9c9c1c400370028200442c2d5a39edcfaf091cd00370020200441b0086a200441206a412010e985808000200441106a20042903b808420020042802b0081b4200200342ab747c420010fc97808000200441206a4200420020042903102004290318428094ebdc03420010a39380800020042903282105200429032021062004290330210320042903382107200442ecefd7e4f19abeaecc00370038200442c98dcdf1f0adada9c400370030200442c0c38addfcd9c9c1c400370028200442c2d5a39edcfaf091cd00370020200441b0086a200441206a412010e985808000200420042903b808420020042802b0081b4200200242c08e937f7c420010fc97808000200441206a4200420020042903002004290308428094ebdc03420010a39380800042002004290330427f2004290338501b427f2004290320200429032884501b22024295fdfee37e7c220820082002561b42a5fd8b0380210842002003427f2007501b220342a2787c220720072003561b42a1782006200584501b220742c81780210342002105420021060240200742c817540d00420021054200210620032008560d00200342ffffffff0f83220542c8177e42de077c2106200542a5fd8b037e42eb82819c017c21052003a72209450d004100210a0340200441b0086a200a10e986808000200441206a20042802b408220b20042802b80810d885808000024020042802b008450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b2009200a41016a220a470d000b0b42004200200220057d220320032002561b22024292bfcd7e7c220320032002561b2202428b9e06540d002002428b9e0680210241002d008083d480001a0240024041c00041002802f482d4800011828080800000220a450d00200a417e6a410041c20010fa97808000210c200442f9c2f89b91a3b3f0db003703e808200442ebfa86dabfb5f6c11f3703e0082004429fd8f9d9c291da829b7f3703d808200442d1859aeffacf9487d1003703d008200442f1edf4f8a5a7fda7a57f3703c808200442abf0d3f4afeebcb73c3703c008200442bbceaaa6d8d0ebb3bb7f3703b808200442c892f795ffccf984ea003703b008200441b0086a41c0006a410041890110fa978080001a2002a7220d450d01200441b0086a41c8006a210e4100210b034002400240200b41ff0171220941c100490d00200e20096a200a41800120096b220b10f4978080001a200420042903f0084280017c3703f008200441b0086a200e4200420010cf80808000200e200a200b6a200941406a220b41807f716a200b10f4978080001a0c010b200e20096a220b200a290000370000200b41386a200a41386a290000370000200b41306a200a41306a290000370000200b41286a200a41286a290000370000200b41206a200a41206a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a290000370000200941c0006a210b0b2004200b3a00f809200d417f6a220d0d000c020b0b410141c00041cc85c7800010b980808000000b200441206a200441b0086a41d00110f4978080001a2004200429036020042d00e801220bad7c370360200441206a41c8006a21090240200b418001460d002009200b6a4100418001200b6b10fa978080001a0b200441003a00e801200441206a2009427f420010cf80808000200441c00a6a41086a220b200441206a41086a290300370300200441c00a6a41106a2209200441206a41106a290300370300200441c00a6a41186a220d200441206a41186a290300370300200441c00a6a41206a220e2004290340370300200441c00a6a41286a220f200441206a41286a290300370300200441c00a6a41306a2210200441206a41306a290300370300200441c00a6a41386a2211200441206a41386a290300370300200420042903203703c00a200441800a6a41086a2212200b290300370300200441800a6a41106a22132009290300370300200441800a6a41186a2209200d290300370300200441800a6a41206a220d200e290300370300200441800a6a41286a220e200f290300370300200441800a6a41306a220f2010290300370300200441800a6a41386a22102011290300370300200420042903c00a3703800a41002d008083d480001a024041c00041002802f482d4800011828080800000220b0d00410141c00041b0bfc7800010b980808000000b200242ffffffff0f83428b9e067e20057c42eec0b2017c2105200b20042903800a370000200b417e6a221141003b0000200b41386a2010290300370000200b41306a200f290300370000200b41286a200e290300370000200b41206a200d290300370000200b41186a2009290300370000200b41106a2013290300370000200b41086a2012290300370000200a200c2f00006b41002802ec82d4800011818080800000200b20112f00006b41002802ec82d48000118180808000000b2000200637030820002005370300200441c00b6a2480808080000bf70201047f23808080800041206b220224808080800041002d008083d480001a02400240410141002802f482d48000118280808000002203450d0020032001417f6a3a00002003417e6a41003b0000200241013602102002200336020c20024101360208200241086a410141034101410110a386808000200228020c2203200228021022046a220541003b0000200541026a41003a0000200228020821050240200441036a22044104470d002003280000210402402005450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200421030c020b2005418080808078460d012002200436021c200220033602182002200536021441fcf7c6800041cb00200241146a41ecf7c6800041aca8c7800010a981808000000b4101410110ab80808000000b200041013a00102000200336020c200041033a000020002001411874411875410274220341fcc0c780006a2802003602082000200341e4c0c780006a280200360204200241206a2480808080000b9c0101017f23808080800041306b220224808080800020022000280200280200220036022820024103360204200241bc9fc280003602002002420237020c200241da83808000ad4220862002412c6aad84370320200241db83808000ad422086200241286aad84370318200220006836022c2002200241186a36020820012802002001280204200210b1818080002101200241306a24808080800020010b900201037f23808080800041106b220224808080800020022000280200220041206a3602042001280200419cbec780004119200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41b5bec780004109200041fcbdc78000108a818080004184aec780004105200241046a418cbec78000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bf30a01067f23808080800041306b22022480808080002000280200220341046a21040240024002400240024020032802000e0400010203000b410121002001280200220541a8afc7800041182001280204220628020c2207118080808000000d030240024020012d000a418001710d0041012100200541df80c2800041012007118080808000000d052002200341106a36021c200141c0b3c780004114200441a0b3c780002002411c6a41b0b3c7800010b981808000450d010c050b200541e080c2800041022007118080808000000d0441012100200241013a001b200220063602102002200536020c200241b480c280003602202002200129020837022420022002411b6a36021420022002410c6a36021c2002200341106a36022c2002411c6a41c0b3c780004114200441a0b3c780002002412c6a41b0b3c7800010b9818080000d04200228021c41da80c280004102200228022028020c118080808000000d040b200128020041e280c280004101200128020428020c1180808080000021000c030b410121002001280200220541c0afc7800041162001280204220628020c2207118080808000000d020240024020012d000a418001710d0041012100200541df80c2800041012007118080808000000d042002200341106a36021c200141c0b3c780004114200441a0b3c780002002411c6a41b0b3c7800010b981808000450d010c040b200541e080c2800041022007118080808000000d0341012100200241013a001b200220063602102002200536020c200241b480c280003602202002200129020837022420022002411b6a36021420022002410c6a36021c2002200341106a36022c2002411c6a41c0b3c780004114200441a0b3c780002002412c6a41b0b3c7800010b9818080000d03200228021c41da80c280004102200228022028020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021000c020b410121002001280200220541d6afc78000411a2001280204220628020c2207118080808000000d010240024020012d000a418001710d0041012100200541df80c2800041012007118080808000000d032002200341106a36021c200141c0b3c780004114200441a0b3c780002002411c6a41b0b3c7800010b981808000450d010c030b200541e080c2800041022007118080808000000d0241012100200241013a001b200220063602102002200536020c200241b480c280003602202002200129020837022420022002411b6a36021420022002410c6a36021c2002200341106a36022c2002411c6a41c0b3c780004114200441a0b3c780002002412c6a41b0b3c7800010b9818080000d02200228021c41da80c280004102200228022028020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021000c010b410121002001280200220541f0afc78000411a2001280204220628020c2207118080808000000d000240024020012d000a418001710d0041012100200541df80c2800041012007118080808000000d022002200341106a36021c200141c0b3c780004114200441a0b3c780002002411c6a41b0b3c7800010b981808000450d010c020b200541e080c2800041022007118080808000000d0141012100200241013a001b200220063602102002200536020c200241b480c280003602202002200129020837022420022002411b6a36021420022002410c6a36021c2002200341106a36022c2002411c6a41c0b3c780004114200441a0b3c780002002412c6a41b0b3c7800010b9818080000d01200228021c41da80c280004102200228022028020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000ba90201037f23808080800041106b2202248080808000200220002802002200360204200128020041f4adc78000410b200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41ffadc7800041052000410c6a41c4adc78000108a818080004184aec780004105200041086a41d4adc78000108a818080004189aec780004107200241046a41e4adc78000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bf50801037f23808080800041106b220224808080800002400240024002400240024020002802002200280200417f6a0e050001020304000b2002200041046a3602002002200041086a360204200128020041a486c780004117200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41cc86c780004109200241bc86c78000108a8180800041e886c78000410d200241046a41d886c78000108a81808000210320022d000d220020022d000c220472210120004101470d0420044101710d040240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c050b200128020041dc80c280004101200128020428020c1180808080000021010c040b2002200041086a360204200128020041f586c780004111200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41dc85c780004107200241046a418887c78000108a81808000210320022d000d220020022d000c220472210120004101470d0320044101710d030240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c040b200128020041dc80c280004101200128020428020c1180808080000021010c030b2002200041086a3602042001280200419887c780004111200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41e385c780004107200241046a418887c78000108a81808000210320022d000d220020022d000c220472210120004101470d0220044101710d020240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c030b200128020041dc80c280004101200128020428020c1180808080000021010c020b2002200041046a360204200128020041a987c78000410b200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c487c780004107200241046a41b487c78000108a81808000210320022d000d220020022d000c220472210120004101470d0120044101710d010240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b2002200041086a360204200128020041cb87c780004116200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41e187c78000410c200241046a418887c78000108a81808000210320022d000d220020022d000c220472210120004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bab0101047f23808080800041106b2202248080808000200028020021032000280204210441012100200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2003200320044105746a108b8e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021000b200241106a24808080800020000b3900200128020020002802002d0000410274220041c0c1c780006a28020020004198c1c780006a280200200128020428020c118080808000000bbf0201047f23808080800041306b22022480808080002002200028020036020c4101210002402001280200220341f6bdc7800041062001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110b88b8080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10b88b8080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000bdd1101037f23808080800041206b22022480808080000240024002400240024002400240024002400240200028020022002d0000417f6a0e09000102030405060708000b2002200041046a3602102002200041306a360214200128020041b4a1c78000411a200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41e0a1c780004104200241106a41d0a1c78000108a8180800041f4a1c780004105200241146a41e4a1c78000108a81808000210320022d001d220020022d001c220472210120004101470d0820044101710d080240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c090b200128020041dc80c280004101200128020428020c1180808080000021010c080b2002200041046a36020c2002200041286a3602102002200041d0006a360214200128020041f9a1c780004114200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a418da2c7800041062002410c6a41d0a1c78000108a8180800041e0a1c780004104200241106a41d0a1c78000108a8180800041f4a1c780004105200241146a41e4a1c78000108a81808000210320022d001d220020022d001c220472210120004101470d0720044101710d070240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c080b200128020041dc80c280004101200128020428020c1180808080000021010c070b2002200041046a3602102002200041306a36021420012802004193a2c780004119200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41e0a1c780004104200241106a41d0a1c78000108a8180800041f4a1c780004105200241146a41e4a1c78000108a81808000210320022d001d220020022d001c220472210120004101470d0620044101710d060240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c070b200128020041dc80c280004101200128020428020c1180808080000021010c060b2002200041046a3602102002200041016a360214200128020041aca2c780004112200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41e0a1c780004104200241106a41d0a1c78000108a8180800041d0a2c78000410a200241146a41c0a2c78000108a81808000210320022d001d220020022d001c220472210120004101470d0520044101710d050240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c060b200128020041dc80c280004101200128020428020c1180808080000021010c050b2002200041046a3602102002200041306a360214200128020041daa2c780004115200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41efa2c780004103200241106a41d0a1c78000108a8180800041f2a2c780004106200241146a41e4a1c78000108a81808000210320022d001d220020022d001c220472210120004101470d0420044101710d040240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c050b200128020041dc80c280004101200128020428020c1180808080000021010c040b2002200041046a360214200128020041f8a2c780004116200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41efa2c780004103200241146a4190a3c78000108a81808000210320022d001d220020022d001c220472210120004101470d0320044101710d030240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c040b200128020041dc80c280004101200128020428020c1180808080000021010c030b2002200041046a3602102002200041306a360214200128020041a0a3c780004117200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41efa2c780004103200241106a41d0a1c78000108a8180800041b7a3c780004108200241146a41e4a1c78000108a81808000210320022d001d220020022d001c220472210120004101470d0220044101710d020240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c030b200128020041dc80c280004101200128020428020c1180808080000021010c020b2002200041016a3602102002200041106a360214200128020041bfa3c780004121200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41f0a3c780004109200241106a41e0a3c78000108a8180800041f9a3c780004105200241146a41e4a1c78000108a81808000210320022d001d220020022d001c220472210120004101470d0120044101710d010240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b2002200041106a3602102002200041016a360214200128020041fea3c78000410a200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41f4a1c780004105200241106a41e4a1c78000108a8180800041d0a2c78000410a200241146a41c0a2c78000108a81808000210320022d001d220020022d001c220472210120004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241206a24808080800020014101710b0f002000280200200110ba8c8080000b1e00200128020041c0a7c780004114200128020428020c118080808000000bc00301047f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff0171410174220541a1f1c180006a2d00003a00022002200541a0f1c180006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe017141a1f1c180006a2d00003a00000b2001410141014100200220036a410320036b10b28180800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000be00101017f23808080800041d0006b220a248080808000200a41c4006a200141206a290200370200200a413c6a200141186a290200370200200a41346a200141106a290200370200200a412c6a200141086a290200370200200a41086a200241086a280200360200200a2008360220200a200736021c200a2005360214200a2004360210200a200336020c200a2001290200370224200a2002290200370300200a2006360218200a200936024c2000200a41246a200a20032004200520062802142007200820092802002009280204108a8d808000200a41d0006a2480808080000b920701027f2380808080004180016b220b248080808000200b2008360214200b20073602100240024002400240200128020022080d00200b41186a41186a200141046a220841186a2201290000370300200b41186a41106a200841106a2207290000370300200b41186a41086a200841086a220c290000370300200b2008290000370318200b41c8006a41186a2001290000370300200b41c8006a41106a2007290000370300200b41c8006a41086a200c290000370300200b2008290000370348200b2002360244200b200b41186a360240200b200b41106a36023c200b41086a2005200b41c8006a200b413c6a419cb9c78000200611878080800000200b28020c2108200b280208410171450d0120004100360200200020083602040c030b200b2008360218200b2001280204220736021c02402009450d00200b2004360250200b200336024c200b4184808080783602482009200b41c8006a200a28020c118b80808000000b20082008280200220941016a36020020094100480d0120002007360204200020083602002000200141086a2201290200370208200041206a200141186a290200370200200041186a200141106a290200370200200041106a200141086a290200370200200820082802002200417f6a36020020004101470d02200b41186a10f0978080000c020b02400240024002400240024020082802002207417e6a2201410420014106491b0e06050005030201050b20082802342201450d04200841346a21070c030b200841046a2107200828020421010c020b2007410171450d0220082802042201450d02200841046a21070c010b2008280204450d0120082802082201450d01200841086a21070b20012001280200220841016a36020020084100480d01200728020421012007280200210802402009450d00200b41f4006a200b41306a290300370200200b41ec006a200b41286a290300370200200b41e4006a200b41186a41086a290300370200200b200b29031837025c200b2004360258200b2003360254200b2001360250200b418080808078360248200b200841086a36024c2009200b41c8006a200a28020c118b80808000000b2000200b2903183700082000200136020420002008360200200041206a200b41186a41186a290300370000200041186a200b41186a41106a290300370000200041106a200b41206a2903003700000c020b41b0b9c7800041ec00419cbac7800010a1818080000b000b200b4180016a2480808080000b920803027f017e027f23808080800041a0016b2208248080808000200841086a41086a200141086a28020022093602002008411c6a200241086a28020036020020082001290200220a370308200820053602282008200436022420082003360220200820022902003702142008200736023020072802042102200728020021012008200636022c200828020c2107024002400240024002400240024002400240200aa7410171450d0020094120470d07200628020c2109200841386a41186a2206200741186a290000370300200841386a41106a220b200741106a290000370300200841386a41086a220c200741086a29000037030020082007290000370338200841dc006a2005200841386a200841146a200911838080800000200828025c2205418080808078460d01200828026421092008280260210702402001450d0020084194016a200841d0006a2903003702002008418c016a200841c8006a29030037020020084184016a200841c0006a2903003702002008200829033837027c2008200436027820082003360274200820093602702008200736026c20084180808080783602682001200841e8006a200228020c118b80808000000b4100210120094100480d0320090d02410121010c050b02402001450d00200820043602702008200336026c20084184808080783602682001200841e8006a200228020c118b80808000000b4100210102400240024020094100480d00024020090d00410121010c030b41002d008083d480001a200941002802f482d480001182808080000022010d01410121010b2001200941f49ac6800010b980808000000b2001417e6a41003b00000b20012007200910f49780800021072000200936020820002007360204200020093602000c050b200841e8006a41186a2006290300370300200841e8006a41106a200b290300370300200841e8006a41086a200c2903003703002008200829033837036841002d008083d480001a413041002802f482d48000118280808000002209450d062009200941036a417c7120096b22076a2209418580808078360200200920082903683702042009417e6a20073b00002009410c6a200841f0006a290300370200200941146a200841f8006a2903003702002009411c6a20084180016a2903003702002000418080808078360200200020093602040c040b41002d008083d480001a200941002802f482d480001182808080000022010d01410121010b2001200941f49ac6800010b980808000000b2001417e6a41003b00000b20012007200910f49780800021012000200936020820002001360204200020093602002005450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200841a0016a2480808080000f0b4120200941fcb8c78000108681808000000b4104413010ab80808000000b0c0020002001108d8d8080000bfe0801087f23808080800041f0066b2202248080808000200128020421032001280200280200220428020421052004280200210620012802082207280208200128020c2802006a2208410176210420072802042109200728020021070240024002400240024020084101710d00200420094b0d02200241003a00a0052002200436029c0520022007360298050c010b200420094b0d02200420094f0d03200241013a00a00520022007360298052002200436029c052002200720046a2d000041f001713a00a1050b200241b0036a2006200320024198056a200528020c1183808080000002400240024002400240024020022802b0032204418080808078460d0020024198056a20022802b403220720022802b803220910e68980800020024190056a220120024198056a410c6a2902003703002002200229029c053703880520022802980522084107470d01200241d8016a410c6a200129030037020020022002290388053702dc010c020b20024198056a41086a2204200341086a29000037030020024198056a41106a2207200341106a29000037030020024198056a41186a2209200341186a29000037030020022003290000370398052001280210280200210341002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22086a220141858080807841848080807820031b36020020012002290398053702042001417e6a20083b00002001410c6a2004290300370200200141146a20072903003702002001411c6a200929030037020020004108360200200020013602040c040b4104413010ab80808000000b200241b0036a41146a20024198056a41146a41c40110f4978080001a200241b0036a410c6a2001290300370200200220083602b00320022002290388053702b403200241d8016a200241b0036a2007200910df9780800020022802d8014107470d010b20024198056a41086a2209200241e4016a29020037030020024198056a41186a2208200341086a29000037030020024198056a41206a2205200341106a29000037030020024198056a41286a2206200341186a290000370300200220022902dc0137039805200220032900003703a80541002d008083d480001a413041002802f482d48000118280808000002201450d022001200141036a417c7120016b22036a22012002290398053702002001417e6a20033b0000200141086a2009290300370200200141106a20024198056a41106a290300370200200141186a2008290300370200200141206a2005290300370200200141286a200629030037020020004108360200200020013602042004450d0120072007417e6a2f00006b41002802ec82d48000118180808000000c010b20002002200241d8016a41d80110f49780800010a78d8080002004450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200241f0066a2480808080000f0b4104413010ab80808000000b2004200941fce4cd8000109181808000000b20042009418ce5cd8000109181808000000b20042009419ce5cd8000108281808000000bc70401067f23808080800041206b22022480808080002001280204210320012802002204280200210520042802042104200241106a41086a2001280208220141086a28020036020020022001290200370310200241046a20052003200241106a200428020c118380808000000240024002400240024020022802042206418080808078460d00200228020c220141f5ffffff074f0d022002280208210541002d008083d480001a2001410b6a41fcffffff0771220741002802f482d48000118280808000002204450d032004200441036a417c7120046b22076a22044281808080103702002004417e6a20073b0000200441086a2005200110f4978080001a02402006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b2000200136020820002004360204200041073602002000200329000037000c200041246a200341186a2900003700002000411c6a200341106a290000370000200041146a200341086a2900003700000c010b41002d008083d480001a413041002802f482d48000118280808000002201450d032001200141036a417c7120016b22046a22014185808080783602002001417e6a20043b0000200120032900003700042001410c6a200341086a290000370000200141146a200341106a2900003700002001411c6a200341186a29000037000020004108360200200020013602040b200241206a2480808080000f0b419c80c08000412b200241106a418c80c0800041b482c0800010a981808000000b4104200710ab80808000000b4104413010ab80808000000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b37000240200028020041034b0d002000280204450d00200028020822002000417e6a2f00006b41002802ec82d48000118180808000000b0be30303077f017e057f0240200128021422072005417f6a22086a220920034f0d0020052001280210220a6b210b200128021c210c2001280208210d2001290300210e0340024002400240200e200220096a3100008842018350450d002001200720056a22073602144100210920060d020c010b200d200c200d200c200d4b1b20061b220f2005200f20054b1b2110200220076a2111200f21090240024002400340024020102009470d004100200c20061b2112200d21090340024020122009490d002001200720056a2209360214024020060d002001410036021c0b2000200936020820002007360204200041013602000f0b2009417f6a220920054f0d05200920076a221320034f0d03200420096a2d0000200220136a2d0000460d000b20012007200a6a2207360214200b21092006450d050c060b200720096a20034f0d02201120096a2113200420096a2112200941016a210920122d000020132d0000460d000b2007200d6b20096a210720060d04410021090c030b2013200341a0abc78000108281808000000b2003200f20076a2209200320094b1b200341b0abc78000108281808000000b200920054190abc78000108281808000000b2001200936021c2009210c0b200720086a22092003490d000b0b20012003360214200041003602000b1e00200128020041fc88c780004105200128020428020c118080808000000b140020002802042000280208200110bc818080000bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110a386808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110a386808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000b800403027f017e027f23808080800041e0006b2201248080808000024002400240024020002802000d002000280204200028020c4105746a21000c010b200141086a41106a200041106a2202280200360200200141086a41086a200041086a290200220337030020012000290200370308200141386a4200370300200141206a41106a4200370300200141206a41086a420037030020014200370320024002402003a7450d00200141d0006a41086a200228020036020020012000290208370350200141c4006a200141d0006a200128020c200141206a200141086a2001411c6a10bc83808000200128024c210420012802442100200128020821020c010b41002d008083d480001a2001280208210241940341002802f482d48000118280808000002200450d022000200041036a417c7120006b22046a220041003b019203200041003602e0022000417e6a20043b0000200241003602042002200036020020002f0192032204410b4f0d032000200441016a3b019203200020044102746a200128020c3602e402200020044105746a220541186a4200370000200541106a4200370000200541086a4200370000200542003700000b2002200228020841016a360208200020044105746a21000b200141e0006a24808080800020000f0b410441940310ab80808000000b41c086c38000412041e086c38000108081808000000b980403027f017e037f23808080800041b0026b220124808080800002400240024002402000280200418080808078470d002000280204200028020c41e0016c6a21000c010b200141086a41186a200041186a2202280200360200200141086a41106a200041106a2902002203370300200141086a41086a200041086a22042902003703002001200029020037030820014100360224024002402003a7450d0020014190026a41086a20022802003602002001200029021037039002200141a0026a41086a2004280200360200200120002902003703a00220014184026a20014190026a200141a0026a200141246a200141146a200141246a10b683808000200128028c0221052001280284022102200128021421040c010b41002d008083d480001a2001280214210441ac1441002802f482d48000118280808000002202450d022002200241036a417c7120026b22056a220241003b01aa14200241003602a0132002417e6a20053b0000200441003602042004200236020020022f01aa142205410b4f0d032002200541016a3b01aa1420022005410c6c6a220620002902003702a413200641ac136a200041086a2802003602002002200541e0016c6a200141246a41e00110f4978080001a0b2004200428020841016a3602082002200541e0016c6a21000b200141b0026a24808080800020000f0b410441ac1410ab80808000000b41c086c38000412041e086c38000108081808000000b9b0401027f23808080800041d0016b2203248080808000024002402000280200418080808078470d002000280204200028020c41e0006c6a21000c010b200341186a200041186a280200360200200341106a200041106a290200370300200341086a200041086a29020037030020032000290200370300410021042003410036028801200341003602800120032001280214200128020c2200200041054b1b36028c01200341003602900120034190016a20034180016a10d089808000200341e4006a200341c8016a290200370200200341dc006a200341c0016a290200370200200341d4006a200341b8016a290200370200200341cc006a200341b0016a290200370200200341c4006a20034190016a41186a2902003702002003413c6a20034190016a41106a290200370200200341346a20034190016a41086a290200370200200320032902900137022c200128024c2100200320012d00503a00702003200036026c2003410036022820034100360220024002400240200228020822004100480d0020022802042102024020000d00410121010c030b41002d008083d480001a200041002802f482d480001182808080000022010d01410121040b2004200041a8b2c8800010b980808000000b2001417e6a41003b00000b20012002200010f49780800021012003200036027c20032001360278200320003602742003200341206a10998d80800021000b200341d0016a24808080800020000b950301057f23808080800041306b220224808080800002400240024002402000280210450d00200241106a41086a200041106a220341086a28020036020020022003290200370310200241206a41086a200041086a28020036020020022000290200370320200241046a200241106a200241206a20012000410c6a2000411c6a10c083808000200028020c2104200228020c2105200228020421030c010b200028020c210441002d008083d480001a41ac0941002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a220341003b01aa09200341003602a0082003417e6a20053b0000200441003602042004200336020020032f01aa092205410b4f0d022003200541016a3b01aa0920032005410c6c6a220641ac086a200041086a280200360200200620002902003702a4082003200541e0006c6a200141e00010f4978080001a0b2004200428020841016a360208200241306a2480808080002003200541e0006c6a0f0b410441ac0910ab80808000000b41c086c38000412041e086c38000108081808000000bdd0201047f23808080800041f0006b220124808080800002400240024002402000280200450d00200141106a41086a200041086a28020036020020012000290200370310200141206a200041106a41d00010f4978080001a200141046a200141106a200141206a2000410c6a200041e0006a10ba83808000200028020c2102200128020421030c010b200028020c210241002d008083d480001a41f80641002802f482d48000118280808000002203450d012003200341036a417c7120036b22046a220341003b01f606200341003602f0062003417e6a20043b0000200241003602042002200336020020032f01f6062204410b4f0d022003200441016a3b01f6062003200441d0006c6a200041106a41d00010f4978080001a0b2002200228020841016a360208200141f0006a248080808000200341f8066a0f0b410441f80610ab80808000000b41c086c38000412041e086c38000108081808000000b970301047f23808080800041c0006b22012480808080000240024002400240200028021c450d00200141186a41086a2000411c6a220241086a28020036020020012002290200370318200141286a41106a200041106a290200370300200141286a41086a200041086a290200370300200120002902003703282001410c6a200141186a200141286a200041186a200041286a10c28380800020002802182103200128020c21020c010b2000280218210341002d008083d480001a41900241002802f482d48000118280808000002202450d012002200241036a417c7120026b22046a220241003b018e0220024100360288022002417e6a20043b0000200341003602042003200236020020022f018e022204410b4f0d022002200441016a3b018e022002200441186c6a220441106a200041106a290200370200200441086a200041086a290200370200200420002902003702000b2003200328020841016a360208200141c0006a24808080800020024190026a0f0b410441900210ab80808000000b41c086c38000412041e086c38000108081808000000bf10201047f23808080800041306b220124808080800002400240024002402000280210450d00200141106a41086a200041106a220241086a28020036020020012002290200370310200141206a41086a200041086a28020036020020012000290200370320200141046a200141106a200141206a2000410c6a2000411c6a10be83808000200028020c2103200128020421020c010b200028020c210341002d008083d480001a418c0141002802f482d48000118280808000002202450d012002200241036a417c7120026b22046a220241003b018a01200241003602002002417e6a20043b0000200341003602042003200236020020022f018a012204410b4f0d022002200441016a3b018a0120022004410c6c6a2204410c6a200041086a280200360200200420002902003702040b2003200328020841016a360208200141306a2480808080002002418c016a0f0b4104418c0110ab80808000000b41c086c38000412041e086c38000108081808000000bfb0201047f23808080800041306b22022480808080000240024002400240200028020c450d00200241186a41086a2000410c6a220341086a28020036020020022003290200370318200220002902043703282002410c6a200241186a200241286a20012000200041186a10b8838080002000280200210420022802142105200228020c21030c010b2000280200210441002d008083d480001a41e40141002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a220341003b01e201200341003602582003417e6a20053b0000200441003602042004200336020020032f01e2012205410b4f0d022003200541016a3b01e201200320054103746a200029020437000020032005410c6c6a2200200129020037025c200041e4006a200141086a2802003602000b2004200428020841016a360208200241306a24808080800020032005410c6c6a41dc006a0f0b410441e40110ab80808000000b41c086c38000412041e086c38000108081808000000ba10301057f23808080800041306b220224808080800002400240024002402000280210450d00200241106a41086a200041106a220341086a28020036020020022003290200370310200241206a41086a200041086a28020036020020022000290200370320200241046a200241106a200241206a20012000410c6a2000411c6a10b483808000200028020c2104200228020c2105200228020421030c010b200028020c210441002d008083d480001a41bc0241002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a220341003b01ba02200341003602b0012003417e6a20053b0000200441003602042004200336020020032f01ba022205410b4f0d022003200541016a3b01ba0220032005410c6c6a220641bc016a200041086a280200360200200620002902003702b401200320054104746a220041086a200141086a290200370200200020012902003702000b2004200428020841016a360208200241306a248080808000200320054104746a0f0b410441bc0210ab80808000000b41c086c38000412041e086c38000108081808000000beb0401047f23808080800041306b2202248080808000024002400240024002400240024002400240024020002f01000e09000102030405060708000b2001280200418ab0c780004109200128020428020c1180808080000021000c080b20012802004193b0c780004109200128020428020c1180808080000021000c070b2002200041026a36020c4101210020012802002203419cb0c7800041182001280204220428020c2205118080808000000d060240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d082002410c6a200110ab878080000d0820012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0741012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ab878080000d07200228022041da80c280004102200228022428020c118080808000000d070b200341e280c28000410120051180808080000021000c060b200128020041b4b0c78000410f200128020428020c1180808080000021000c050b200128020041c3b0c78000410d200128020428020c1180808080000021000c040b200128020041d0b0c78000410d200128020428020c1180808080000021000c030b200128020041ddb0c78000410b200128020428020c1180808080000021000c020b200128020041e8b0c780004110200128020428020c1180808080000021000c010b200128020041f8b0c780004112200128020428020c1180808080000021000b200241306a24808080800020000bec0201047f23808080800041306b2202248080808000410121030240024020002802004101470d002002200041086a36020c20012802002200418eb1c7800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d032002410c6a200110848e8080000d0320012802002100200128020428020c21050c010b200041e080c2800041022005118080808000000d0241012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10848e8080000d02200228022041da80c280004102200228022428020c118080808000000d020b200041e280c28000410120051180808080000021030c010b2001280200418ab1c780004104200128020428020c1180808080000021030b200241306a24808080800020030b8c0401047f23808080800041306b2202248080808000024002400240024002400240024020002802002203417d6a41002003417c6a4105491b0e06000102030405000b2002200036020c410121002001280200220341d0b0c78000410d2001280204220428020c2205118080808000000d050240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d072002410c6a200110ff8c8080000d0720012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0641012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ff8c8080000d06200228022041da80c280004102200228022428020c118080808000000d060b200341e280c28000410120051180808080000021000c050b200128020041a5b1c78000410d200128020428020c1180808080000021000c040b200128020041b2b1c78000410f200128020428020c1180808080000021000c030b200128020041c1b1c78000410b200128020428020c1180808080000021000c020b200128020041ccb1c780004111200128020428020c1180808080000021000c010b200128020041ddb0c78000410b200128020428020c1180808080000021000b200241306a24808080800020000bef0501027f23808080800041b0016b22042480808080000240024002400240024020002d00000e0401000203010b200441206a41186a200341186a290000370300200441206a41106a200341106a290000370300200441206a41086a200341086a29000037030020042003290000370320200041016a20012002200441206a41002802e481d480001189808080000021050c030b200441206a41186a200341186a290000370300200441206a41106a200341106a290000370300200441206a41086a200341086a29000037030020042003290000370320200041016a20012002200441206a41002802cc81d480001189808080000021050c020b4100210520042001200241002802c480d4800011868080800000200441206a200041016a200441002802d481d480001186808080000020042d00200d01200441c8006a41206a200441206a41216a2d00003a0000200441e0006a200441396a290000370300200441d8006a200441316a290000370300200441d0006a200441296a29000037030020042004290021370348200441f0006a200441c8006a412141002802c480d4800011868080800000200441f0006a2003412010f5978080004521050c010b4100210520042001200241002802cc80d4800011868080800000200441206a200041016a200441002802d481d480001186808080000020042d00200d00200441c8006a41206a200441206a41216a2d00003a0000200441e0006a200441396a290000370300200441c8006a41106a200441316a290000370300200441c8006a41086a200441296a29000037030020042004290021370348200441f0006a200441c8006a412141002802cc80d480001186808080000020044190016a411c6a41eeddbbf77e36020020044190016a41086a20044184016a29000037030020044190016a41106a200441f0006a411c6a280000360200200442eeddbbf7eeddbbf76e3702a4012004200429007c3703900120044190016a2003412010f5978080004521050b200441b0016a24808080800020050bbd0501047f23808080800041c0006b220324808080800041002d008083d480001a41002802f482d4800021040240024002400240200241ffff00712205413f4b0d0041012106410120041182808080000022040d014101410110ab80808000000b4102210641022004118280808000002204450d012004417e6a41003b0000200420024106742005410876723a00012004200241fc017141027641c000723a00000c020b200420023a00002004417e6a41003b00000c010b4101410210ab80808000000b200320063602182003200436021420032006360210200341106a200641204101410110a38680800020032802142204200328021822026a22062001290000370000200641086a200141086a290000370000200641106a200141106a290000370000200641186a200141186a2900003700002003200241206a22013602182003411c6a2004200110b193808000024002402003280224220641014d0d002003280220210602402003280210220520016b41014b0d00200341106a200141024101410110a3868080002003280210210520032802142104200328021821010b200420016a20062f00003b00002003200141026a22023602182003410036023020034280808080103702282003200236023c200320043602382003200341286a360234200341086a200341346a200141036a41017620026a200341386a41f4b4c7800010928b8080002003280208210102402005450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20014101710d0120002003290228370200200041086a200341286a41086a2802003602000240200328021c450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200341c0006a2480808080000f0b4102200641e4b4c78000109181808000000b41b4e3c68000412b200341386a41a4e3c6800041e0e3c6800010a981808000000bac0802097f027e23808080800041f0006b2202248080808000200241286a200110ab8a808000200228022c21030240024020022802282204418080808078470d00200041013a0000200020033602040c010b20022802302101200241f4b4c780003602502002200136024c20022003360248410021052002410036026020024280808080103702582002200241d8006a36026c200241e4006a200241ec006a2001200241c8006a41f4b4c7800010998f80800002400240024002402002280264418380c400460d0002402002280258450d00200228025c22012001417e6a2f00006b41002802ec82d48000118180808000000b410021050c010b20022802582206418080808078460d00200228025c2101410121050240200228026022074102490d000240024020012d0000220841c000490d0002402008411874411875417f4a0d00410421050c030b4102210920012d0001220a413f714108742008410274200a4106767241ff01717221080c010b410121090b2007200941226a470d000240200841feff0071412e470d00410721050c010b200241d8006a20012009412072220510b19380800002402002280260220741014d0d0002400240200120056a2f0000200228025c22052f0000470d00200241306a200120096a2209410d6a290000370300200241386a200941156a2900003703002002413f6a2009411c6a2800003600002002200929000537032820092f0003210720092f0001210a20092d0000210902402002280258450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b02402006450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200810d88c808000450d01200841002f019480d48000460d01410221050c050b02402002280258450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410321050c020b200241086a41176a2201200241286a41176a280000360000200241086a41106a2208200241286a41106a290300370300200241086a41086a200241286a41086a290300220b37030020022002290328220c3703082000411d6a2001280000360000200041166a20082903003701002000410e6a200b3701002000200c370106200020073b01042000200a3b0102200020093a0001410021010c040b4102200741b0b6c78000109181808000000b2006450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b200220083b0166200220053b0164410121012002410136022c200241d0b2c7800036022820024201370234200241dc83808000ad422086200241e4006aad843703482002200241c8006a360230200241d8006a200241286a10b2808080002000200241d8006a10948b8080003602040b200020013a00002004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241f0006a2480808080000b8b0201037f23808080800041106b22022480808080002002200041186a360204200128020041f8b2c780004110200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a4188b3c78000410d200041d8b2c78000108a818080004195b3c780004108200241046a41e8b2c78000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bf60801067f2380808080004180066b2202248080808000024002400240024002400240024020012802004101470d00200241a8046a200128020422032001280208220410e689808000200241a0046a2201200241a8046a410c6a290200370300200220022902ac043703980420022802a80422054107470d01200241086a410c6a2001290300370200200220022903980437020c0c020b200128020421030240200128020822044120470d00200041003a0000200020032f00003b00012000200329000737000820002003280003360204200041036a200341026a2d00003a0000200041106a2003410f6a290000370000200041186a200341176a290000370000200041206a2003411f6a2d00003a00000c060b4100210102400240024020044100480d00024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441b0bfc7800010b980808000000b2001417e6a41003b00000b20012003200410f497808000210341002d008083d480001a413041002802f482d48000118280808000002201450d04200041023a00002001200141036a417c7120016b22056a220142003702102001200436020c20012003360208200120043602042001418880808078360200200020013602042001417e6a20053b0000200141186a4200370200200141206a4200370200200141286a42003702000c050b200241c0026a41146a200241a8046a41146a41c40110f4978080001a200241c0026a410c6a2001290300370200200220053602c00220022002290398043702c402200241086a200241c0026a2003200410df9780800020022802084107470d010b200241a8046a41186a22034200370300200241a8046a41206a22044200370300200241a8046a41286a22054200370300200241a8046a41086a2206200241146a2902003703002002200229020c3703a804200242003703b80441002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b22076a220120022903a8043702002001417e6a20073b0000200141086a2006290300370200200141106a200241a8046a41106a290300370200200141186a2003290300370200200141206a2004290300370200200141286a2005290300370200200041023a0000200020013602040c030b200241a8046a200241086a41d80110f4978080001a200241c0026a200241a8046a10a78d80800020022802c4022103024020022802c00222044108470d00200041023a0000200020033602040c030b200241e0016a200241c0026a41086a41e00010f4978080001a41002d008083d480001a024041e80041002802f482d48000118280808000002201450d002001200141036a417c7120016b22056a22012003360204200120043602002001417e6a20053b0000200141086a200241e0016a41e00010f4978080001a20002001360204200041013a00000c030b410441e80010ab80808000000b4104413010ab80808000000b4104413010ab80808000000b20024180066a2480808080000b8d2001077f23808080800041f0016b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802002203417d6a2204410420044104491b0e050300040102030b200241e8006a200141106a10ee978080000240024020012802044101470d00200128020c22044120470d0c200241146a2001280208220141086a2900003702002002411c6a200141106a290000370200200241246a200141186a290000370200200241003602082002200129000037020c0c010b200128020c2204417f4c0d0c200441f5ffffff074f0d0d2001280208210341002d008083d480001a2004410b6a41fcffffff0771220541002802f482d48000118280808000002201450d0e2001200141036a417c7120016b22056a22014281808080103702002001417e6a20053b0000200141086a2003200410f4978080001a200241086a41086a2003200441002802c480d48000118680808000002002200436020c200220013602080b200020022902683702042000412c6a20024190016a290200370200200041246a200241e8006a41206a2902003702002000411c6a200241e8006a41186a290200370200200041146a200241e8006a41106a2902003702002000410c6a200241e8006a41086a29020037020020004103360200200020022902083702342000413c6a200241086a41086a290200370200200041c4006a200241086a41106a290200370200200041cc006a200241086a41186a290200370200200041d4006a200241086a41206a2902003702000c1b0b200141c4016a2105200141046a2106024020012802b8014102460d0041102103410f21040c050b024020012802ac014102460d00410f2103410e21040c050b024020012802a0014102460d00410e2103410d21040c050b02402001280294014102460d00410d2103410c21040c050b02402001280288014102460d00410c2103410b21040c050b0240200128027c4102460d00410b2103410a21040c050b024020012802704102460d00410a2103410921040c050b024020012802644102460d0041092103410821040c050b024020012802584102460d0041082103410721040c050b0240200128024c4102460d0041072103410621040c050b024020012802404102460d0041062103410521040c050b024020012802344102460d0041052103410421040c050b41022104024020012802284102460d0041042103410321040c050b0240200128021c4102460d00410321030c050b41022103024020012802104102460d00410121040c050b410421074100210420062802004102470d03410021060c050b024020012802b4014102460d0041102105410f21040c070b024020012802a8014102460d00410f2105410e21040c070b0240200128029c014102460d00410e2105410d21040c070b02402001280290014102460d00410d2105410c21040c070b02402001280284014102460d00410c2105410b21040c070b024020012802784102460d00410b2105410a21040c070b0240200128026c4102460d00410a2105410921040c070b024020012802604102460d0041092105410821040c070b024020012802544102460d0041082105410721040c070b024020012802484102460d0041072105410621040c070b0240200128023c4102460d0041062105410521040c070b024020012802304102460d0041052105410421040c070b41022104024020012802244102460d0041042105410321040c070b024020012802184102460d00410321050c070b410221050240200128020c4102460d00410121040c070b410421054100210420034102470d05410021060c070b200041023602000c180b200241e8006a200141106a10ee97808000200241306a200141046a10a68d80800020022d003022014102460d16200020022f00313b00052000200229023837020c200041076a20022d00333a0000200041146a200241306a41106a2902003702002000411c6a200241306a41186a290200370200200041246a200241306a41206a28020036020020022802342104200041d0006a20024190016a290200370200200041c8006a200241e8006a41206a290200370200200041c0006a200241e8006a41186a290200370200200041386a200241e8006a41106a290200370200200041306a200241f0006a2902003702002000200229026837022820002004360208200020013a0004200041043602000c170b410121030b2002200436025441002d008083d480001a200341246c220741002802f482d48000118280808000002204450d082004200441036a417c71220720046b22086a417e6a20083b000020024100360264200220073602602002200336025c200241003602e8012002410036023820022005360234200220063602302002200241e8016a3602442002200241dc006a3602402002200241d4006a36023c0240200241306a200241ef016a200241e8016a10ac8b80800041fd01714101470d00200241e8006a41106a200241306a41106a290200370300200241e8006a41086a200241306a41086a29020037030020022002290230370368200241e8006a200241ef016a200228027c10ac8b80800041fd01714101470d00417f210403402004417f6a2204450d0b200241e8006a200241ef016a200228027c10ac8b80800041fd01710d000b0b024020022802e8012204450d002000410836020020002004360204024020022802642201450d002002280260210003400240024020002d00000e03010001000b200041046a2802002204108e8f80800020042004417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002001417f6a22010d000b0b200228025c450d16200228026022002000417e6a2f00006b41002802ec82d48000118180808000000c160b2002280264210420022802602107200228025c21060b410021030240200528020022054102460d00024002402005410171450d0020012802cc0122034120470d0c200241a4016a20012802c801220141086a290000370200200241ac016a200141106a290000370200200241b4016a200141186a29000037020020024100360298012002200129000037029c010c010b20012802cc012203417f4c0d0c200341f5ffffff074f0d0d20012802c801210541002d008083d480001a2003410b6a41fcffffff0771220841002802f482d48000118280808000002201450d0e2001200141036a417c7120016b22086a22014281808080103702002001417e6a20083b0000200141086a2005200310f4978080001a20024198016a41086a2005200341002802c480d48000118680808000002002200336029c0120022001360298010b410121030b20002003360204200041053602002000200229029801370208200020043602382000200736023420002006360230200041106a200241a0016a290200370200200041186a20024198016a41106a290200370200200041206a20024198016a41186a290200370200200041286a20024198016a41206a2902003702000c140b410121050b2002200436025841002d008083d480001a200541246c220341002802f482d48000118280808000002204450d0b2004200441036a417c71220320046b22066a417e6a20063b000020024100360264200220033602602002200536025c200241003602e801200241003602382002200141c0016a360234200220013602302002200241e8016a3602442002200241dc006a3602402002200241d8006a36023c0240200241306a200241ef016a200241e8016a10aa8b80800041fd01714101470d00200241e8006a41106a200241306a41106a290200370300200241e8006a41086a200241306a41086a29020037030020022002290230370368200241e8006a200241ef016a200228027c10aa8b80800041fd01714101470d00417f210403402004417f6a2204450d0e200241e8006a200241ef016a200228027c10aa8b80800041fd01710d000b0b024020022802e8012204450d002000410836020020002004360204024020022802642201450d002002280260210003400240024020002d00000e03010001000b200041046a2802002204108e8f80800020042004417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002001417f6a22010d000b0b200228025c450d13200228026022002000417e6a2f00006b41002802ec82d48000118180808000000c130b2002280264210620022802602105200228025c21040b200241e8006a200141cc016a10ee9780800041002103024020012802c00122074102460d00024002402007410171450d0020012802c80122034120470d0f200241cc016a20012802c401220141086a290000370200200241d4016a200141106a290000370200200241dc016a200141186a290000370200200241003602c001200220012900003702c4010c010b20012802c8012203417f4c0d0f200341f5ffffff074f0d1020012802c401210741002d008083d480001a2003410b6a41fcffffff0771220841002802f482d48000118280808000002201450d112001200141036a417c7120016b22086a22014281808080103702002001417e6a20083b0000200141086a2007200310f4978080001a200241c0016a41086a2007200341002802c480d4800011868080800000200220033602c401200220013602c0010b410121030b20002002290268370238200041e0006a20024190016a290200370200200041d8006a200241e8006a41206a290200370200200041d0006a200241e8006a41186a290200370200200041c8006a200241e8006a41106a290200370200200041c0006a200241e8006a41086a29020037020020002003360200200020022902c0013702042000410c6a200241c0016a41086a290200370200200041146a200241c0016a41106a2902003702002000411c6a200241c0016a41186a290200370200200041246a200241c0016a41206a29020037020020002006360234200020053602302000200436022c0c110b41202004418cb8c78000108681808000000b41f8e9cd8000412b200241ef016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ef016a418c80c0800041b482c0800010a981808000000b4104200510ab80808000000b4104200741ecb7c7800010b980808000000b41fcdac4800010b780808000000b41202003418cb8c78000108681808000000b41f8e9cd8000412b200241ef016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ef016a418c80c0800041b482c0800010a981808000000b4104200810ab80808000000b4104200341fcb7c7800010b980808000000b41fcdac4800010b780808000000b41202003418cb8c78000108681808000000b41f8e9cd8000412b200241ef016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ef016a418c80c0800041b482c0800010a981808000000b4104200810ab80808000000b2002280234210120004108360200200020013602042002280290014129490d00200228026822002000417e6a2f00006b41002802ec82d48000118180808000000b200241f0016a2480808080000bf60801067f2380808080004180066b2202248080808000024002400240024002400240024020012802004101470d00200241a8046a200128020422032001280208220410e689808000200241a0046a2201200241a8046a410c6a290200370300200220022902ac043703980420022802a80422054107470d01200241086a410c6a2001290300370200200220022903980437020c0c020b200128020421030240200128020822044120470d00200041003a0000200020032f00003b00012000200329000737000820002003280003360204200041036a200341026a2d00003a0000200041106a2003410f6a290000370000200041186a200341176a290000370000200041206a2003411f6a2d00003a00000c060b4100210102400240024020044100480d00024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441b0bfc7800010b980808000000b2001417e6a41003b00000b20012003200410f497808000210341002d008083d480001a413041002802f482d48000118280808000002201450d04200041023a00002001200141036a417c7120016b22056a220142003702102001200436020c20012003360208200120043602042001418880808078360200200020013602042001417e6a20053b0000200141186a4200370200200141206a4200370200200141286a42003702000c050b200241c0026a41146a200241a8046a41146a41c40110f4978080001a200241c0026a410c6a2001290300370200200220053602c00220022002290398043702c402200241086a200241c0026a2003200410df9780800020022802084107470d010b200241a8046a41186a22034200370300200241a8046a41206a22044200370300200241a8046a41286a22054200370300200241a8046a41086a2206200241146a2902003703002002200229020c3703a804200242003703b80441002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b22076a220120022903a8043702002001417e6a20073b0000200141086a2006290300370200200141106a200241a8046a41106a290300370200200141186a2003290300370200200141206a2004290300370200200141286a2005290300370200200041023a0000200020013602040c030b200241a8046a200241086a41d80110f4978080001a200241c0026a200241a8046a10a98d80800020022802c4022103024020022802c00222044108470d00200041023a0000200020033602040c030b200241e0016a200241c0026a41086a41e00010f4978080001a41002d008083d480001a024041e80041002802f482d48000118280808000002201450d002001200141036a417c7120016b22056a22012003360204200120043602002001417e6a20053b0000200141086a200241e0016a41e00010f4978080001a20002001360204200041013a00000c030b410441e80010ab80808000000b4104413010ab80808000000b4104413010ab80808000000b20024180066a2480808080000b8d2001077f23808080800041f0016b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802002203417d6a2204410420044104491b0e050300040102030b200241e8006a200141106a10ee978080000240024020012802044101470d00200128020c22044120470d0c200241146a2001280208220141086a2900003702002002411c6a200141106a290000370200200241246a200141186a290000370200200241003602082002200129000037020c0c010b200128020c2204417f4c0d0c200441f5ffffff074f0d0d2001280208210341002d008083d480001a2004410b6a41fcffffff0771220541002802f482d48000118280808000002201450d0e2001200141036a417c7120016b22056a22014281808080103702002001417e6a20053b0000200141086a2003200410f4978080001a200241086a41086a2003200441002802c480d48000118680808000002002200436020c200220013602080b200020022902683702042000412c6a20024190016a290200370200200041246a200241e8006a41206a2902003702002000411c6a200241e8006a41186a290200370200200041146a200241e8006a41106a2902003702002000410c6a200241e8006a41086a29020037020020004103360200200020022902083702342000413c6a200241086a41086a290200370200200041c4006a200241086a41106a290200370200200041cc006a200241086a41186a290200370200200041d4006a200241086a41206a2902003702000c1b0b200141c4016a2105200141046a2106024020012802b8014102460d0041102103410f21040c050b024020012802ac014102460d00410f2103410e21040c050b024020012802a0014102460d00410e2103410d21040c050b02402001280294014102460d00410d2103410c21040c050b02402001280288014102460d00410c2103410b21040c050b0240200128027c4102460d00410b2103410a21040c050b024020012802704102460d00410a2103410921040c050b024020012802644102460d0041092103410821040c050b024020012802584102460d0041082103410721040c050b0240200128024c4102460d0041072103410621040c050b024020012802404102460d0041062103410521040c050b024020012802344102460d0041052103410421040c050b41022104024020012802284102460d0041042103410321040c050b0240200128021c4102460d00410321030c050b41022103024020012802104102460d00410121040c050b410421074100210420062802004102470d03410021060c050b024020012802b4014102460d0041102105410f21040c070b024020012802a8014102460d00410f2105410e21040c070b0240200128029c014102460d00410e2105410d21040c070b02402001280290014102460d00410d2105410c21040c070b02402001280284014102460d00410c2105410b21040c070b024020012802784102460d00410b2105410a21040c070b0240200128026c4102460d00410a2105410921040c070b024020012802604102460d0041092105410821040c070b024020012802544102460d0041082105410721040c070b024020012802484102460d0041072105410621040c070b0240200128023c4102460d0041062105410521040c070b024020012802304102460d0041052105410421040c070b41022104024020012802244102460d0041042105410321040c070b024020012802184102460d00410321050c070b410221050240200128020c4102460d00410121040c070b410421054100210420034102470d05410021060c070b200041023602000c180b200241e8006a200141106a10ee97808000200241306a200141046a10a88d80800020022d003022014102460d16200020022f00313b00052000200229023837020c200041076a20022d00333a0000200041146a200241306a41106a2902003702002000411c6a200241306a41186a290200370200200041246a200241306a41206a28020036020020022802342104200041d0006a20024190016a290200370200200041c8006a200241e8006a41206a290200370200200041c0006a200241e8006a41186a290200370200200041386a200241e8006a41106a290200370200200041306a200241f0006a2902003702002000200229026837022820002004360208200020013a0004200041043602000c170b410121030b2002200436025441002d008083d480001a200341246c220741002802f482d48000118280808000002204450d082004200441036a417c71220720046b22086a417e6a20083b000020024100360264200220073602602002200336025c200241003602e8012002410036023820022005360234200220063602302002200241e8016a3602442002200241dc006a3602402002200241d4006a36023c0240200241306a200241ef016a200241e8016a10ad8b80800041fd01714101470d00200241e8006a41106a200241306a41106a290200370300200241e8006a41086a200241306a41086a29020037030020022002290230370368200241e8006a200241ef016a200228027c10ad8b80800041fd01714101470d00417f210403402004417f6a2204450d0b200241e8006a200241ef016a200228027c10ad8b80800041fd01710d000b0b024020022802e8012204450d002000410836020020002004360204024020022802642201450d002002280260210003400240024020002d00000e03010001000b200041046a2802002204108e8f80800020042004417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002001417f6a22010d000b0b200228025c450d16200228026022002000417e6a2f00006b41002802ec82d48000118180808000000c160b2002280264210420022802602107200228025c21060b410021030240200528020022054102460d00024002402005410171450d0020012802cc0122034120470d0c200241a4016a20012802c801220141086a290000370200200241ac016a200141106a290000370200200241b4016a200141186a29000037020020024100360298012002200129000037029c010c010b20012802cc012203417f4c0d0c200341f5ffffff074f0d0d20012802c801210541002d008083d480001a2003410b6a41fcffffff0771220841002802f482d48000118280808000002201450d0e2001200141036a417c7120016b22086a22014281808080103702002001417e6a20083b0000200141086a2005200310f4978080001a20024198016a41086a2005200341002802c480d48000118680808000002002200336029c0120022001360298010b410121030b20002003360204200041053602002000200229029801370208200020043602382000200736023420002006360230200041106a200241a0016a290200370200200041186a20024198016a41106a290200370200200041206a20024198016a41186a290200370200200041286a20024198016a41206a2902003702000c140b410121050b2002200436025841002d008083d480001a200541246c220341002802f482d48000118280808000002204450d0b2004200441036a417c71220320046b22066a417e6a20063b000020024100360264200220033602602002200536025c200241003602e801200241003602382002200141c0016a360234200220013602302002200241e8016a3602442002200241dc006a3602402002200241d8006a36023c0240200241306a200241ef016a200241e8016a10ae8b80800041fd01714101470d00200241e8006a41106a200241306a41106a290200370300200241e8006a41086a200241306a41086a29020037030020022002290230370368200241e8006a200241ef016a200228027c10ae8b80800041fd01714101470d00417f210403402004417f6a2204450d0e200241e8006a200241ef016a200228027c10ae8b80800041fd01710d000b0b024020022802e8012204450d002000410836020020002004360204024020022802642201450d002002280260210003400240024020002d00000e03010001000b200041046a2802002204108e8f80800020042004417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002001417f6a22010d000b0b200228025c450d13200228026022002000417e6a2f00006b41002802ec82d48000118180808000000c130b2002280264210620022802602105200228025c21040b200241e8006a200141cc016a10ee9780800041002103024020012802c00122074102460d00024002402007410171450d0020012802c80122034120470d0f200241cc016a20012802c401220141086a290000370200200241d4016a200141106a290000370200200241dc016a200141186a290000370200200241003602c001200220012900003702c4010c010b20012802c8012203417f4c0d0f200341f5ffffff074f0d1020012802c401210741002d008083d480001a2003410b6a41fcffffff0771220841002802f482d48000118280808000002201450d112001200141036a417c7120016b22086a22014281808080103702002001417e6a20083b0000200141086a2007200310f4978080001a200241c0016a41086a2007200341002802c480d4800011868080800000200220033602c401200220013602c0010b410121030b20002002290268370238200041e0006a20024190016a290200370200200041d8006a200241e8006a41206a290200370200200041d0006a200241e8006a41186a290200370200200041c8006a200241e8006a41106a290200370200200041c0006a200241e8006a41086a29020037020020002003360200200020022902c0013702042000410c6a200241c0016a41086a290200370200200041146a200241c0016a41106a2902003702002000411c6a200241c0016a41186a290200370200200041246a200241c0016a41206a29020037020020002006360234200020053602302000200436022c0c110b41202004418cb8c78000108681808000000b41f8e9cd8000412b200241ef016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ef016a418c80c0800041b482c0800010a981808000000b4104200510ab80808000000b4104200741ecb7c7800010b980808000000b41fcdac4800010b780808000000b41202003418cb8c78000108681808000000b41f8e9cd8000412b200241ef016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ef016a418c80c0800041b482c0800010a981808000000b4104200810ab80808000000b4104200341fcb7c7800010b980808000000b41fcdac4800010b780808000000b41202003418cb8c78000108681808000000b41f8e9cd8000412b200241ef016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ef016a418c80c0800041b482c0800010a981808000000b4104200810ab80808000000b2002280234210120004108360200200020013602042002280290014129490d00200228026822002000417e6a2f00006b41002802ec82d48000118180808000000b200241f0016a2480808080000be90501047f23808080800041d0006b22022480808080000240024002400240024002400240024020012802002203417e6a2204410420044106491b0e06000102040503000b41002d008083d480001a410141002802f482d48000118280808000002201450d05200141003a00002000410136020820002001360204200041013602002001417e6a41003b00000c060b20024280808080c0003702202002200128023022034101713a002c200241043602282002200141046a36021c200220012802384120200128023422041b36021020022004453602082002200441086a200141386a20041b36020c20002002411c6a2003200241086a10a18a8080000c050b200128025421042002411c6a200141046a10ab8d8080002000200241086a20042002411c6a109e8a808000000b41002103024002400240200128020822044100480d0020012802042103024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121030b2003200441b0bfc7800010b980808000000b2001417e6a41003b00000b2001200341086a200410f49780800021012000200436020820002001360204200020043602000c030b4102210402402001280204450d002002200128020c4120200128020822041b3602102002200441086a2001410c6a20041b36020c20044521040b2002200436020820002002411c6a200241086a109c8a808000000b2002410436022820024280808080c0003702202002200141386a36021c2002200128026422054101713a002c200241103602142002419cb7c7800036021020022001280230220436020820022004200128023441246c6a36020c4102210402402003410171450d00200220012802084120200128020422041b36024c20022004200120041b41086a36024820044521040b2002200436024420002002411c6a2005200241086a200241c4006a10a08a8080000c010b4101410141b0bfc7800010b980808000000b200241d0006a2480808080000bcf0201057f23808080800041306b220224808080800002400240024020012d00004101470d00200241046a200128020410aa8d808000200241106a41186a22034200370300200241106a41106a22044200370300200241186a2205420037030020024200370310200228020c22014120490d0141c0b7c78000411a41dcb7c78000108081808000000b200041003a000020002001290001370001200041196a200141196a290000370000200041116a200141116a290000370000200041096a200141096a2900003700000c010b200241106a20022802082206200110f4978080001a20002001360204200041013a0000200041206a2003290300370000200041186a2004290300370000200041106a2005290300370000200020022903103700082002280204450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000bde4207037f017e0c7f017e017f017e177f23808080800041a0076b22052480808080002001280228210620014100360228024002400240024002400240024002400240024002402006450d00200128022c2107200541f0036a41306a200141306a2902002208370300200541f0036a41286a200141286a290200370300200541f0036a41206a200141206a290200370300200541f0036a41186a200141186a290200370300200541f0036a41106a200141106a290200370300200541f0036a41086a200141086a290200370300200520012902003703f003024002402008a72209450d0020092002200320052802a4042802101180808080000041ff01714102460d010b200620022003200728020c1180808080000022090d020b2005200541f0036a360228200541e0036a41086a200441086a28020022093602002005200429020022083703e003200541c0006a41186a220a200141206a290000370300200541c0006a41106a220b200141186a290000370300200541c0006a41086a220c200141106a290000370300200520012900083703404100210d2005410036022c20052802e403220e410174210f200541c8056a41086a21102008a721112007280214211203402005200d360230200541c8056a41186a200a290300370300200541c8056a41106a200b2903003703002010200c290300370300200520052903403703c805200520043602682005200541306a36027020052005412c6a36026c2005200541c0006a3602642005200541286a36026020052006200541c8056a200541e0006a41a0bbc780002012118780808000002005280204210102402005280200410171450d00200121130c040b02402005280228221341306a2802002214450d00201341346a2802002113201041186a200a290300370000201041106a200b290300370000201041086a200c29030037000020102005290340370000200520013602cc0520054181808080783602c8052014200541c8056a201328020c118b80808000000b200d41016a210d034002400240024002400240024002400240024002400240024002402001280200417e6a2213410420134106491b0e06000203040501000b410021012005280228220441306a2802002209450d11200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c120b200541013602cc05200541acbdc780003602c805200542013702d405200541c181808000ad42208641f8bcc78000ad843703602005200541e0006a3602d005200541c8056a41b4bdc7800010fe80808000000b0240200541e0036a200141046a10e9978080000d00410021012005280228220441306a2802002209450d10200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c110b0240024020012802342209450d0020092009280200220441016a3602002004417f4c0d162005280228220441346a280200211020042802302104200129005421152001280050210d200128004c210a2001280048210b2001280044210c20012800402112200128003c211320052001280238220f3602642005200936026002402004450d00200520033602d005200520023602cc0520054184808080783602c8052004200541c8056a201028020c118b80808000000b20092009280200220141016a36020020014100480d16200920092802002201417f6a360200024020014101470d00200541e0006a10f0978080000b201542208821082015a721040c010b2001350054210820012800502104200128004c210d2001280048210a2001280044210b2001280040210c200128003c2112200128003821130240200528022822012802302210450d00200141346a2802002101200520033602d005200520023602cc0520054185808080783602c8052010200541c8056a200128020c118b80808000000b0b20084220862004ad842108410121010c100b0240200541e0036a200141286a10e8978080000d00410021012005280228220441306a2802002209450d0f200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c100b200141046a2113200128025421010c070b024002400240200f2009460d0020094101762213200e4f0d012001280238201120136a2d00002213410f71201341047620094101711b22134d0d022001280234201341246c6a22132d00004102460d02410121010c090b20012802040d04410021012005280228220441306a2802002209450d03200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c070b2013200e4190bbc78000108281808000000b410021012005280228220441306a2802002209450d0d200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c0e0b0240200541e0036a200141386a10e8978080000d00410021012005280228220441306a2802002209450d0d200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c0e0b024002400240200f20096b20012802642214460d00201420096a22164101762213200e4f0d0102402001280234201120136a2d00002213410f71201341047620164101711b22134d0d002001280230201341246c6a22132d00004102460d00201441016a220120096a21090c0a0b410021012005280228220441306a2802002209450d0f200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c100b20012802000d01410021012005280228220441306a2802002209450d02200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c060b2013200e4190bbc78000108281808000000b02400240200128020422090d0020012802082110200541d0026a200141246a280200360200200541c8026a2001411c6a290200370300200541c0026a200141146a2902003703002005200129020c3703b8020c010b20092009280200221041016a36020020104100480d1220012802082110200541d0026a200141246a290200370300200541c8026a2001411c6a290200370300200541c0026a200141146a2902003703002005200129020c3703b8020b200541c8056a41346a200541c0026a29030037020020054184066a200541c8026a2903003702002005418c066a200541d0026a290300370200200520103602f005200520093602ec05200520052903b8023702f405200520073602e005200520063602dc05200520033602d805200520023602d405200541003a00d00520052005280228220141306a36029406200520012902003702e405200520042902003702c805200541e0006a200541ec056a200220032001280230200141346a28020010ad8d8080002005280264211320052802600d020c030b0c030b02400240200128020822090d00200128020c2110200541b8026a41186a200141286a280200360200200541c8026a200141206a290200370300200541c0026a200141186a290200370300200520012902103703b8020c010b20092009280200221041016a36020020104100480d10200128020c2110200541b8026a41186a200141286a290200370300200541c8026a200141206a290200370300200541c0026a200141186a290200370300200520012902103703b8020b200541c8056a41346a200541c0026a29030037020020054184066a200541c8026a2903003702002005418c066a200541d0026a290300370200200520103602f005200520093602ec05200520052903b8023702f405200520073602e005200520063602dc05200520033602d805200520023602d405200541003a00d00520052005280228220141306a36029406200520012902003702e405200520042902003702c805200541e0006a200541ec056a200220032001280230200141346a28020010ad8d808000200528026421132005280260450d010b410221010c010b200528028801210f2005280284012109200529027c21082005280278210d2005280274210a2005280270210b200528026c210c20052802682112410121010b20014102470d080c060b200920016a21090b200520093602e8032005200528022c20016a36022c024020132d0000450d00201328020421010c010b0b201341096a2900002108201341116a290000211520132900012117200a201341196a290000370300200b2015370300200c2008370300200520173703400c000b0b2001280204211820012802002119200541c0006a41186a221a200141206a290200370300200541c0006a41106a221b200141186a290200370300200541c0006a41086a221c200141106a290200370300200520012902083703402001280230211d2001280234211e200541306a41086a200441086a280200221f36020020052004290200370330200541f0036a41046a2107200541f0036a41146a2111200541c8056a41146a2114200541c8056a41046a2112200541c0006a4107722120200541c8056a41186a2121200541c8056a410c6a2122200541c8056a411c6a2123200541c8056a41106a210e200541e0006a411c6a2116200541e0006a41106a210d200541e0006a41046a21242004280204212520042802002126201f21094100212741002113024002400240024002400240024003402013201f6a220441017621010240024020044101710d00200120254b0d05200541003a00d005200520013602cc05200520263602c8050c010b200120254b0d03200120254f0d02200541013a00d005200520263602c805200520013602cc052005202620016a2d000041f001713a00d1050b200541f0036a2019200541c0006a200541c8056a201828020c1183808080000020052802f0032228418080808078460d0720052802f803210120052802f40321290240201d450d00200e2005290340370200200e41186a201a290300370200200e41106a201b290300370200200e41086a201c290300370200200520013602d405200520293602d0052005428280808088808080807f3702c805201d200541c8056a201e28020c118b80808000000b200541c8056a2029200110e689808000200541086a41086a220a201241086a222a290200370300200520122902003703080240024020052802c80522104107460d00202741016a21272005280234222b410174212c2005280230212d2029210403402011201441c40110f4978080001a200741086a200a29030037020020072005290308370200200520103602f003200541e0006a200541f0036a2004200110df97808000200528026022064107460d07200541e0036a41086a220c200d41086a2802003602002005200d2902003703e003200528026c21012005280268210420052802642110200541b8026a201641a40110f4978080001a20052802a402212e20052802a002210f02400240024002400240024002400240024002402006417d6a220b4104200b4104491b0e050001020304000b0240201d450d00200520033602d005200520023602cc0520054186808080783602c805201d200541c8056a201e28020c118b80808000000b200041003b01000c110b0240024020052802e40341017420052802e8036b202c20096b2209470d00200541e0036a200541306a10e6978080002009460d010b0240201d450d00200520033602d005200520023602cc0520054186808080783602c805201d200541c8056a201e28020c118b80808000000b200041003b01000c110b024002402010410171450d000240201d450d00200520033602d005200520023602cc0520054185808080783602c805201d200541c8056a201e28020c118b80808000000b20014120470d05200541c8056a41186a200441186a290000370300200541c8056a41106a200441106a290000370300200541c8056a41086a200441086a290000370300200520042900003703c8050c010b0240201d450d00200520033602d005200520023602cc0520054184808080783602c805201d200541c8056a201e28020c118b80808000000b200541c8056a2004200141002802c480d48000118680808000000b200020052f01c8053b0002200041046a20052d00ca053a0000200541f8036a200541d7056a290000220837030020054180046a200541df056a290000221537030020054188046a200541e7056a2d000022013a0000200520052900cf0522173703f00320052800cb052104200041216a20013a0000200041196a2015370000200041116a2008370000200020173700092000200436000520004180023b01000c100b20052802e403210b20052802e803210c0240200541306a200541e0036a10e6978080002206200b410174200c6b460d000240201d450d00200520033602d005200520023602cc0520054186808080783602c805201d200541c8056a201e28020c118b80808000000b200041003b01000c100b2005200920066a22093602380c060b20052802ac02210b20052802a8022106202220052903e003370200202241086a200c280200360200200520013602d005200520043602cc05200520103602c8052021200541b8026a41a40110f4978080001a2005200f36028407024002400240202c2009460d0020094101762201202b4f0d01200541c8056a202d20016a2d00002201410f71200141047620094101711b410c6c6a220428020022104102460d02410121062005200941016a220936023820042802082101200428020421040c080b0240202e4102460d0002400240202e410171450d000240201d450d00200520033602f803200520023602f40320054185808080783602f003201d200541f0036a201e28020c118b80808000000b200b4120470d07200541f0036a41186a200641186a290000370300200541f0036a41106a200641106a290000370300200541f0036a41086a200641086a290000370300200520062900003703f0030c010b0240201d450d00200520033602f803200520023602f40320054184808080783602f003201d200541f0036a201e28020c118b80808000000b200541f0036a2006200b41002802c480d48000118680808000000b200020052f01f0033b0002200041046a20052d00f2033a0000200541e8006a200541ff036a2900002208370300200541f0006a20054187046a2900002215370300200541f8006a2005418f046a2d000022013a0000200520052900f703221737036020052800f3032104200041216a20013a0000200041196a2015370000200041116a2008370000200020173700092000200436000520004180023b01000c110b0240201d450d00200520033602f803200520023602f40320054186808080783602f003201d200541f0036a201e28020c118b80808000000b200041003b01000c100b2001202b4190bbc78000108281808000000b0240201d450d00200520033602f803200520023602f40320054186808080783602f003201d200541f0036a201e28020c118b80808000000b200041003b01000c0e0b20052902b0022108200520052902a80222154220883e02082005200837020c200e20052903e003370200200e41086a200c280200360200200520013602d405200520043602d005200520103602cc05200520063602c8052023200541b8026a41a40110f4978080001a0240200541306a200541086a10e69780800022012008a74101742008422088a76b460d000240201d450d00200520033602f803200520023602f40320054186808080783602f003201d200541f0036a201e28020c118b80808000000b200041003b01000c0e0b0240202c20096b2001460d00200920016a22104101762204202b4f0d030240200541c8056a202d20046a2d00002204410f71200441047620104101711b410c6c6a220428020022104102460d0020052009200141016a22066a220936023820042802082101200428020421040c060b0240201d450d00200520033602f803200520023602f40320054186808080783602f003201d200541f0036a201e28020c118b80808000000b200041003b01000c0e0b0240200f4102460d002015a7210102400240200f410171450d000240201d450d00200520033602f803200520023602f40320054185808080783602f003201d200541f0036a201e28020c118b80808000000b20014120470d06200541f0036a41186a202e41186a290000370300200541f0036a41106a202e41106a290000370300200541f0036a41086a202e41086a2900003703002005202e2900003703f0030c010b0240201d450d00200520033602f803200520023602f40320054184808080783602f003201d200541f0036a201e28020c118b80808000000b200541f0036a202e200141002802c480d48000118680808000000b200020052f01f0033b0002200041046a20052d00f2033a0000200541e8006a200541ff036a2900002208370300200541f0006a20054187046a2900002215370300200541f8006a2005418f046a2d000022013a0000200520052900f703221737036020052800f3032104200041216a20013a0000200041196a2015370000200041116a2008370000200020173700092000200436000520004180023b01000c0e0b0240201d450d00200520033602f803200520023602f40320054186808080783602f003201d200541f0036a201e28020c118b80808000000b200041003b01000c0d0b41202001418cb9c78000108681808000000b4120200b418cb9c78000108681808000000b2004202b4190bbc78000108281808000000b41202001418cb9c78000108681808000000b200620136a21132010410171450d02200541c8056a2004200110e689808000200a202a2902003703002005201229020037030820052802c80522104107470d000b0b20242005290308370200202441086a200541086a41086a2903003702000c050b024020014120460d004100210902400240024020014100480d00024020010d00410121090c030b41002d008083d480001a200141002802f482d480001182808080000022090d01410121090b2009200141b0bfc7800010b980808000000b2009417e6a41003b00000b20092004200110f497808000210941002d008083d480001a0240413041002802f482d48000118280808000002204450d002004200441036a417c7120046b22106a2204200136020c200420093602082004200136020420044188808080783602002004417e6a20103b0000200041013a00002000200436020420042005290340370210200441186a200541c8006a290300370200200441206a200541d0006a290300370200200441286a200541c0006a41186a2903003702000c070b4104413010ab80808000000b200441026a2d000021012004410f6a2900002108200441176a29000021152004411f6a2d0000211020042f000021062004280003210a20202004290007370000202041186a20103a0000202041106a2015370000202041086a20083700002005200a360043200520013a0042200520063b01402028450d0020292029417e6a2f00006b41002802ec82d48000118180808000000c000b0b20012025419ce5cd8000108281808000000b20012025418ce5cd8000109181808000000b2001202541fce4cd8000109181808000000b200541c8056a41086a2204202441086a290200370300200541c8056a41186a2209200541c0006a41086a290300370300200541c8056a41206a2210200541c0006a41106a290300370300200541c8056a41286a2206200541c0006a41186a290300370300200520052903403703d805200520242902003703c80541002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b22076a220120052903c8053702002001417e6a20073b0000200141086a2004290300370200200141106a200541c8056a41106a290300370200200141186a2009290300370200200141206a2010290300370200200141286a2006290300370200200041013a0000200020013602040b2028450d0b20292029417e6a2f00006b41002802ec82d48000118180808000000c0b0b4104413010ab808080000c080b200541c8056a41186a2204200541c0006a41186a290300370300200541c8056a41106a2209200541c0006a41106a290300370300200541c8056a41086a2210200541c0006a41086a290300370300200520052903403703c80541002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22066a220141858080807841848080807820271b360200200120052903c8053702042001417e6a20063b00002001410c6a2010290300370200200141146a20092903003702002001411c6a2004290300370200200041013a0000200020013602040c0a0b4104413010ab80808000000b024020092d00000d00410021010c080b200541206a200941196a290000370300200541186a200941116a290000370300200541106a200941096a290000370300200520092900013703080c030b20002013360204200041013a00000c070b0b2001410171450d01024002402009450d0020092009280200220141016a36020020014100480d052005200f3602642005200936026003402009280204210103402001417f460d012001417f4c0d062009200141016a2009280204220420042001461b360204200420014721102004210120100d000b0b20052802642101200920092802002204417f6a360200024020044101470d00200541e0006a10f0978080000b200520013602f005200520093602ec05200520083700e1052005200d3600dd052005200a3600d9052005200b3600d5052005200c3600d105200520123600cd05200520133600c905200541023a00c805200620022003200541c8056a2007280210118380808000000c010b200520083700e1052005200d3600dd052005200a3600d9052005200b3600d5052005200c3600d105200520123600cd05200520133600c905200541013a00c805200620022003200541c8056a2007280210118380808000000b200541c8056a41086a2201200c360200200541c8056a41106a2204200a360200200541c8056a41186a2008370200200541086a41186a20083703002005200b3602d405200541086a41086a20012902003703002005200d3602dc05200541086a41106a2004290200370300200520123602cc05200520133602c8052005200f3602ec05200520093602e805200520052902c8053703082009450d00200920092802002201417f6a36020020014101470d00200541e8056a10f0978080000b410121010c030b41002101200541003a00c805200620022003200541c8056a2007280210118380808000000c020b41c8e8cd800041c0e9cd800010ef97808000000b000b200020013a0001200020052903083700022000410a6a200541106a290300370000200041126a200541186a2903003700002000411a6a200541206a290300370000200041003a00000b200541a0076a2480808080000b8d0301037f23808080800041c0006b2206248080808000024002400240200128020022070d00200141046a210702402004450d002006200336021420062002360210200641858080807836020c20042006410c6a200528020c118b80808000000b2000410036022420004100360200200020072902003702042000411c6a200741186a290200370200200041146a200741106a2902003702002000410c6a200741086a2902003702000c010b2006200736020420062001280204220836020802402004450d002006200336021420062002360210200641848080807836020c20042006410c6a200528020c118b80808000000b20072007280200220441016a36020020044100480d012000200836022820002007360224200041003602002000200141086a22012902003702042000411c6a200141186a290200370200200041146a200141106a2902003702002000410c6a200141086a290200370200200720072802002200417f6a36020020004101470d00200641046a10f0978080000b200641c0006a2480808080000f0b000bc70401067f23808080800041206b22022480808080002001280204210320012802002204280200210520042802042104200241106a41086a2001280208220141086a28020036020020022001290200370310200241046a20052003200241106a200428020c118380808000000240024002400240024020022802042206418080808078460d00200228020c220141f5ffffff074f0d022002280208210541002d008083d480001a2001410b6a41fcffffff0771220741002802f482d48000118280808000002204450d032004200441036a417c7120046b22076a22044281808080103702002004417e6a20073b0000200441086a2005200110f4978080001a02402006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b2000200136020820002004360204200041073602002000200329000037000c200041246a200341186a2900003700002000411c6a200341106a290000370000200041146a200341086a2900003700000c010b41002d008083d480001a413041002802f482d48000118280808000002201450d032001200141036a417c7120016b22046a22014185808080783602002001417e6a20043b0000200120032900003700042001410c6a200341086a290000370000200141146a200341106a2900003700002001411c6a200341186a29000037000020004108360200200020013602040b200241206a2480808080000f0b419c80c08000412b200241106a418c80c0800041b482c0800010a981808000000b4104200710ab80808000000b4104413010ab80808000000bc51d04027f017e0b7f027e23808080800041d0026b2207248080808000200741d0006a41086a200141086a2208280200360200200720012902003703502007200436025c200741e0006a41086a20082802002208360200200720012902002209370360200741f0006a41186a220a200441206a290000370300200741f0006a41106a220b200441186a290000370300200741f0006a41086a220c200441106a290000370300200720042900083703704100210d20074100360290012007280264220e410174210f20074180026a41086a21012009a72110200628021421110240024003402007200d3602940120074180026a41186a200a29030037030020074180026a41106a200b2903003703002001200c2903003703002007200729037037038002200720074194016a3602e801200720074190016a3602e4012007200741d0006a3602e0012007200741f0006a3602dc012007200741dc006a3602d801200741086a200520074180026a200741d8016a41c4bdc78000201111878080800000200728020c210420072802084101710d010240200728025c221241306a2802002213450d00201241346a2802002112200141186a200a290300370000200141106a200b290300370000200141086a200c290300370000200120072903703700002007200436028402200741818080807836028002201320074180026a201228020c118b80808000000b200d41016a210d0240034002400240024002400240024002400240024002400240024002400240024002400240024002402004280200417e6a2212410420124106491b0e06000203040501000b200728025c220441306a2802002208450d0b200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c0b0b2007410136028402200741acbdc78000360280022007420137028c02200741c181808000ad42208641f8bcc78000ad843703d8012007200741d8016a3602880220074180026a41b4bdc7800010fe80808000000b0240200741e0006a200441046a10e9978080000d00200728025c220441306a2802002208450d0a200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c0a0b02400240200428023422080d00200741a0016a200441c4006a290000370300200741a8016a200441cc006a290000370300200741b0016a200441d4006a2800003602002007200429003c370398012004280038210d0c010b20082008280200220141016a36020020014100480d0e200741a0016a200441c4006a290000370300200741a8016a200441cc006a290000370300200741b0016a200441d4006a2900003703002007200429003c370398012004280238210d0b200728025c220428020021012004280204211220072903502109200741b4026a20074198016a41086a290300370200200741bc026a20074198016a41106a290300370200200741c4026a20074198016a41186a2903003702002007200d3602a802200720083602a40220072007290398013702ac022007200441306a3602cc02200720123602a0022007200136029c022007200636029802200720053602940220072003360290022007200236028c02200741003a0088022007200937028002200741d8016a200741a4026a20074180026a20022003200520112001201220042802302004280234108a8d80800020072802d80122010d030c110b0240200741e0006a200441286a10e8978080000d00200728025c220441306a2802002208450d09200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c090b200441046a2112200428025421040c0d0b024002400240200f2008460d0020084101762212200e4f0d012004280238201020126a2d00002212410f71201241047620084101711b22124d0d022004280234201241246c6a22122d00004102460d02410121040c0f0b20042802040d0741002101200728025c220441306a2802002208450d06200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c060b2012200e4190bbc78000108281808000000b200728025c220441306a2802002208450d07200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c070b0240200741e0006a200441386a10e8978080000d00200728025c220441306a2802002208450d07200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c070b0240200f20086b20042802642213460d00201320086a22144101762212200e4f0d0202402004280234201020126a2d00002212410f71201241047620144101711b22124d0d002004280230201241246c6a22122d00004102460d00201341016a220420086a21080c0e0b200728025c220441306a2802002208450d07200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c070b20042802000d0241002101200728025c220441306a2802002208450d03200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c030b200741306a41086a200741d8016a41106a2902002209370300200741306a41106a200741d8016a41186a2902002215370300200741306a41186a200741f8016a2902002216370300200741106a41086a2009370300200741106a41106a2015370300200741106a41186a2016370300200720072902e00122093703302007200937031020072802dc01210d0c060b2012200e4190bbc78000108281808000000b02400240200428020422080d0020042802082101200741d0016a200441246a280200360200200741c8016a2004411c6a290200370300200741c0016a200441146a2902003703002007200429020c3703b8010c010b20082008280200220141016a36020020014100480d0820042802082101200741d0016a200441246a290200370300200741c8016a2004411c6a290200370300200741c0016a200441146a2902003703002007200429020c3703b8010b200741b4026a200741b8016a41086a290300370200200741bc026a200741b8016a41106a290300370200200741c4026a200741b8016a41186a290300370200200720013602a802200720083602a402200720072903b8013702ac022007200636029802200720053602940220072003360290022007200236028c02200741003a00880220072007290350370280022007200728025c220441306a22083602cc022007200428020422013602a00220072004280200220436029c02200741d8016a200741a4026a20074180026a200220032005200620042001200810898d80800020072802d8012201450d0b200741306a41086a200741d8016a41106a290200370300200741306a41106a200741d8016a41186a290200370300200741306a41186a200741f8016a290200370300200720072902e00137033020072802dc01210d0c020b0c010b02400240200428020822080d00200428020c2101200741b8016a41186a200441286a280200360200200741c8016a200441206a290200370300200741c0016a200441186a290200370300200720042902103703b8010c010b20082008280200220141016a36020020014100480d06200428020c2101200741b8016a41186a200441286a290200370300200741c8016a200441206a290200370300200741c0016a200441186a290200370300200720042902103703b8010b200741b4026a200741b8016a41086a290300370200200741bc026a200741b8016a41106a290300370200200741c4026a200741b8016a41186a290300370200200720013602a802200720083602a402200720072903b8013702ac022007200636029802200720053602940220072003360290022007200236028c02200741003a00880220072007290350370280022007200728025c220441306a22083602cc022007200428020422013602a00220072004280200220436029c02200741d8016a200741a4026a20074180026a200220032005200620042001200810898d80800020072802d8012201450d09200741306a41086a200741d8016a41106a290200370300200741306a41106a200741d8016a41186a290200370300200741306a41186a200741f8016a290200370300200720072902e00137033020072802dc01210d0b200741106a41086a200741306a41086a290300370300200741106a41106a200741306a41106a290300370300200741106a41186a200741306a41186a2903003703002007200729033037031020010d010b41002101410021040c010b20012001280200220441016a36020020044100480d0220074199026a200741286a29030037000020074191026a200741206a29030037000020074189026a200741186a29030037000020072007290310370081022007200d3602dc01200720013602d80103402001280204210403402004417f460d012004417f4c0d032001200441016a2001280204220820082004461b360204200820044721122008210420120d000b0b20072802dc012104200120012802002208417f6a360200024020084101470d00200741d8016a10f0978080000b200720043602a802200720013602a402410221040b200720043a00800220052002200320074180026a2006280210118380808000002000200d36020820002001360204410021040c080b41c8e8cd800041c0e9cd800010ef978080000b000b200820046a21080b20072008360268200720072802900120046a36029001024020122d0000450d00201228020421040c010b0b201241096a2900002109201241116a290000211520122900012116200a201241196a290000370300200b2015370300200c2009370300200720163703700c010b0b20072802dc0121040b20002004360204410121040b20002004360200200741d0026a2480808080000bc52a04037f017e257f017e23808080800041c0076b220524808080800020012802282106200141003602280240024002400240024002400240024002400240024002402006450d00200128022c2107200541e8056a41306a200141306a2902002208370300200541e8056a41286a200141286a290200370300200541e8056a41206a200141206a290200370300200541e8056a41186a200141186a290200370300200541e8056a41106a200141106a290200370300200541e8056a41086a200141086a290200370300200520012902003703e8054101210902400240024002400240024002402008a7220a450d000240200a20022003200528029c062802101180808080000041ff01710e03010002010b410021090b200620022003200728020c11808080800000220b0d010b20054180046a200420022003200541e8056a2006200710af8d808000200528028404210c2005280280040d010c0d0b418080808078210d200b2d00000e030e02010e0b20004181808080783602002000200c3602040c0e0b200b280224220c417f460d01200b41016a210e200c280200210103402001450d022001417f4c0d05200c200141016a200c280200220f200f200146220d1b360200200f2101200d450d000b200b280228210d200a450d0b2009200d412149720d0b200528029c062101200541ac046a200e41186a290000370200200541a4046a200e41106a2900003702002005419c046a200e41086a29000037020020052003360290042005200236028c042005200d360288042005200c41086a360284042005418080808078360280042005200e29000037029404200a20054180046a200128020c118b80808000000c0b0b2005419c046a200b41196a29000037020020054194046a200b41116a2900003702002005418c046a200b41096a29000037020020054100360280042005200b29000137028404200541003a001020052004290200370208200541f0006a20054180046a200541086a200220032006200728021420052802e80520052802ec05200a200528029c06108a8d8080002005280274210d2005280270220c450d08200541c8026a41186a220f20054190016a290200370300200541c8026a41106a2204200541f0006a41186a290200370300200541d0026a220b200541f0006a41106a290200370300200520052902783703c802200c200c280200220141016a360200024020014100480d0020054199046a200f29030037000020054191046a200429030037000020054189046a200b290300370000200520052903c802370081042005200d3602742005200c3602700340200c280204210103402001417f460d012001417f4c0d05200c200141016a200c280204220f200f2001461b360204200f2001472104200f210120040d000b0b20052802742101200c200c280200220f417f6a3602000240200f4101470d00200541f0006a10f0978080000b200520013602a8042005200c3602a404200541023a00800420062002200320054180046a2007280210118380808000000c0b0b000b20054180046a200420022003200541e8056a2006200710af8d808000200528028404210c200528028004450d0820004181808080783602002000200c3602040c0b0b200541086a41306a2210200141306a290200370300200541086a41286a200141286a290200370300200541086a41206a200141206a220c290200370300200541086a41186a200141186a2206290200370300200541086a41106a200141106a220d290200370300200541086a41086a200141086a220729020037030020052001290200370308200541c0006a41086a200441086a2201280200220f36020020052004290200370340200541d0006a41186a2211200c290000370300200541d0006a41106a22122006290000370300200541d0006a41086a2213200d290000370300200520072900003703502001280200211420054180046a41046a210d20054180046a41146a2115200541e8056a41146a2116200541e8056a41046a2117200541d0006a4107722118200541e8056a41186a2119200541e8056a410c6a211a200541e8056a411c6a211b200541e8056a41106a211c200541f0006a411c6a211d200541f0006a41106a210b200541f0006a41046a211e2004280204211f2004280200212020102802002121200528023c2122200528020c21232005280208212441002125410021070240024002400340200720146a220c410176210102400240200c4101710d002001201f4b0d05200541003a00f005200520013602ec05200520203602e8050c010b2001201f4b0d032001201f4f0d02200541013a00f005200520203602e805200520013602ec052005202020016a2d000041f001713a00f1050b20054180046a2024200541d0006a200541e8056a202328020c118380808000002005280280042226418080808078460d092005280288042101200528028404212702402021450d00201c2005290350370000201c41186a2011290300370000201c41106a2012290300370000201c41086a2013290300370000200520013602f405200520273602f0052005428280808088808080807f3702e8052021200541e8056a202228020c118b80808000000b200541e8056a2027200110e689808000200541d8056a41086a220a201741086a2228290200370300200520172902003703d8050240024020052802e80522044107460d00202541016a212520052802442229410174212a2005280240212b2027210c03402015201641c40110f4978080001a200d41086a200a290300370200200d20052903d8053702002005200436028004200541f0006a20054180046a200c200110df97808000200528027022064107460d09200541f0036a41086a220e200b41086a2802003602002005200b2902003703f003200528027c21012005280278210c20052802742104200541c8026a201d41a40110f4978080001a20052902b802210820052802b402212c20052802b002212d0240024002400240024002402006417d6a2209410420094104491b0e050001020304000b02402021450d00200520033602f005200520023602ec0520054186808080783602e8052021200541e8056a202228020c118b80808000000b20004180808080783602000c0f0b0240024020052802f40341017420052802f8036b202a200f6b220f470d00200541f0036a200541c0006a10e697808000200f460d010b02402021450d00200520033602f005200520023602ec0520054186808080783602e8052021200541e8056a202228020c118b80808000000b20004180808080783602000c0f0b20052010360290062005202336028c06200520243602880620052003360284062005200236028006200541003a00fc052005201f3602f805200520203602f405200520013602f0052005200c3602ec05200520043602e80520054180046a200541e8056a200541f4056a20022003202420232010108b8d8080000240200528028004418080808078470d00200020052802840436020420004181808080783602000c0f0b2000200529028004370200200041086a20054180046a41086a2802003602000c0e0b20052802f403210920052802f803210e0240200541c0006a200541f0036a10e69780800022062009410174200e6b460d0002402021450d00200520033602f005200520023602ec0520054186808080783602e8052021200541e8056a202228020c118b80808000000b20004180808080783602000c0e0b2005200f20066a220f3602480c020b201a20052903f003370200201a41086a200e280200360200200520013602f0052005200c3602ec05200520043602e8052019200541c8026a41a40110f4978080001a2005202d3602a407024002400240202a200f460d00200f410176220120294f0d01200541e8056a202b20016a2d00002201410f712001410476200f4101711b410c6c6a220c28020022044102460d02410121062005200f41016a220f360248200c2802082101200c280204210c0c040b02400240202c4102460d00200520103602a804200520233602a404200520243602a0042005200336029c042005200236029804200541003a0094042005201f360290042005202036028c0420052008370284042005202c36028004200541f0006a20054180046a2005418c046a20022003202420232010108b8d8080002005280270418080808078470d012000200528027436020420004181808080783602000c100b02402021450d0020052003360288042005200236028404200541868080807836028004202120054180046a202228020c118b80808000000b20004180808080783602000c0f0b20002005290270370200200041086a200541f0006a41086a2802003602000c0e0b200120294190bbc78000108281808000000b02402021450d0020052003360288042005200236028404200541868080807836028004202120054180046a202228020c118b80808000000b20004180808080783602000c0c0b20052902c002212e200520084220883e02d8052005202e3702dc05201c20052903f003370200201c41086a200e280200360200200520013602f4052005200c3602f005200520043602ec05200520063602e805201b200541c8026a41a40110f4978080001a0240200541c0006a200541d8056a10e6978080002201202ea7410174202e422088a76b460d0002402021450d0020052003360288042005200236028404200541868080807836028004202120054180046a202228020c118b80808000000b20004180808080783602000c0c0b02400240202a200f6b2001460d00200f20016a2204410176220c20294f0d010240200541e8056a202b200c6a2d0000220c410f71200c41047620044101711b410c6c6a220c28020022044102460d002005200f200141016a22066a220f360248200c2802082101200c280204210c0c030b02402021450d0020052003360288042005200236028404200541868080807836028004202120054180046a202228020c118b80808000000b20004180808080783602000c0d0b02400240202d4102460d00200520103602a804200520233602a404200520243602a0042005200336029c042005200236029804200541003a0094042005201f360290042005202036028c04200520083e0288042005202c360284042005202d36028004200541f0006a20054180046a2005418c046a20022003202420232010108b8d8080002005280270418080808078470d012000200528027436020420004181808080783602000c0e0b02402021450d0020052003360288042005200236028404200541868080807836028004202120054180046a202228020c118b80808000000b20004180808080783602000c0d0b20002005290270370200200041086a200541f0006a41086a2802003602000c0c0b200c20294190bbc78000108281808000000b200620076a21072004410171450d02200541e8056a200c200110e689808000200a2028290200370300200520172902003703d80520052802e80522044107470d000b0b201e20052903d805370200201e41086a200541d8056a41086a2903003702000c070b024020014120460d004100210f02400240024020014100480d00024020010d004101210f0c030b41002d008083d480001a200141002802f482d4800011828080800000220f0d014101210f0b200f200141b0bfc7800010b980808000000b200f417e6a41003b00000b200f200c200110f497808000210f41002d008083d480001a0240413041002802f482d4800011828080800000220c450d00200c200c41036a417c71200c6b22046a220c200136020c200c200f360208200c2001360204200c418880808078360200200c417e6a20043b000020004181808080783602002000200c360204200c2005290350370010200c41186a200541d8006a290300370000200c41206a200541e0006a290300370000200c41286a200541d0006a41186a2903003700000c090b4104413010ab80808000000b200c41026a2d00002101200c410f6a2900002108200c41176a290000212e200c411f6a2d00002104200c2f00002106200c280003210a2018200c290007370000201841186a20043a0000201841106a202e370000201841086a20083700002005200a360053200520013a0052200520063b01502026450d0020272027417e6a2f00006b41002802ec82d48000118180808000000c000b0b2001201f419ce5cd8000108281808000000b2001201f418ce5cd8000109181808000000b2001201f41fce4cd8000109181808000000b41c8e8cd800041c0e9cd800010ef97808000000b41c8e8cd800041d8e9cd800010ef97808000000b200541e8056a41086a220c201e41086a290200370300200541e8056a41186a220f200541d0006a41086a290300370300200541e8056a41206a2204200541d0006a41106a290300370300200541e8056a41286a2206200541d0006a41186a290300370300200520052903503703f8052005201e2902003703e80541002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b220d6a220120052903e8053702002001417e6a200d3b0000200141086a200c290300370200200141106a200541e8056a41106a290300370200200141186a200f290300370200200141206a2004290300370200200141286a20062903003702002000418180808078360200200020013602040b2026450d0620272027417e6a2f00006b41002802ec82d48000118180808000000c060b4104413010ab80808000000b200541e8056a41186a220c200541d0006a41186a290300370300200541e8056a41106a220f200541d0006a41106a290300370300200541e8056a41086a2204200541d0006a41086a290300370300200520052903503703e80541002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22066a220141858080807841848080807820251b360200200120052903e8053702042001417e6a20063b00002001410c6a2004290300370200200141146a200f2903003702002001411c6a200c2903003702002000418180808078360200200020013602040c050b4104413010ab80808000000b20004181808080783602002000200d3602040c030b200528028804210d200c0d00418080808078210d0c010b2005200c360280042005200d3602840441002101024002400240200d4100480d0041012101200d450d0241002d008083d480001a200d41002802f482d480001182808080000022010d01410121010b2001200d41f49ac6800010b980808000000b2001417e6a41003b00000b2001200c41086a200d10f4978080002101200c200c280200220f417f6a3602000240200f4101470d0020054180046a10f0978080000b200dad4220862001ad8421080b200020083702042000200d3602000b200541c0076a2480808080000bb80201027e024002400240024002402001280200417f6a0e050001020304000b20004200370310200042d10b370308200041186a4200370300200041206a41003b01002000200135020c420020012802081b220242c999c7007e42e0b5b1027c2203200242a78cf7047e42a0b69c027c220220032002561b3703000f0b20004200370308200042b0a29302370300200041106a4200370300200041186a4200370300200041206a41003b01000f0b20004200370308200042d8f19002370300200041106a4200370300200041186a4200370300200041206a41003b01000f0b20004200370300200041023b0120200041186a4200370300200041106a4200370300200041086a42003703000f0b2000420037030820004201370300200041106a4200370300200041186a4200370300200041206a41003b01000b980101037f2000200028020822022001200028020c20026b410276220220012002491b22024102746a3602080240200120026b22010d0041000f0b20002000280204220336020c2003200028020022046b41027621020240024020032004470d00200120026b2101410021030c010b034020012001200220012002491b22036b22010d000b410021010b2000200420034102746a36020820010bcc0304027f017e057f027e23808080800041306b22022480808080000240024020012802002203450d002000290300210420012802042105034041002100024020032f01e2012206450d00200341e0006a21072006410374210841002100200321010340024041fec3c780002001410810f597808000220941004a20094100486b41ff017122094101460d0020090d02200741046a28020041074d0d052007280200290000210a20024284c1c7b7cda097febb7f3700182002429fbf94a8c1ded8e64f370010200242ebe5e9f6a0afd08944370008200242f087979bfcb996ebf100370000200241206a2002412010e9858080002002290328210b20022802202101200241306a2480808080004101200b200458410174410220011b2004200a42b0ea017c561b0f0b2007410c6a2107200141086a2101200041016a2100200841786a22080d000b200621000b2005450d012005417f6a2105200320004102746a2802e40121030c000b0b4186c4c78000412841fcc4c7800010a181808000000b200241056a41002f0182c4c780003b0000200241013a0000200241f0e0003b0007200241002801fec3c78000360001419cc5c78000412d2002418cc5c7800041ccc5c7800010a981808000000bc20302087f027e23808080800041306b22022480808080000240024020012802002203450d0020012802042104034041002105024020032f01e2012206450d00200341e0006a21072006410374210841002105200321010340024041fec3c780002001410810f597808000220941004a20094100486b41ff017122094101460d0020090d02200741046a28020041074d0d052007280200290000210a20024284c1c7b7cda097febb7f3700182002429fbf94a8c1ded8e64f370010200242ebe5e9f6a0afd08944370008200242f087979bfcb996ebf100370000200241206a2002412010e985808000200228022021012002290328210b200042013703002000200b200a200b200a561b200a20011b370308200241306a2480808080000f0b2007410c6a2107200141086a2101200541016a2105200841786a22080d000b200621050b2004450d012004417f6a2104200320054102746a2802e40121030c000b0b4186c4c78000412841dcc5c7800010a181808000000b200241056a41002f0182c4c780003b0000200241013a0000200241f0e0003b0007200241002801fec3c78000360001419cc5c78000412d2002418cc5c7800041ecc5c7800010a981808000000bab0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000418008360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bb30201047f23808080800041106b220124808080800041002d008083d480001a0240413041002802f482d480001182808080000022020d004108413010ab80808000000b2002200241076a417871220320026b22046a220241bb80808000360228200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200242d7c9cb8fc1cf97db3e370320200242e88488d0c0e3aebc133703182002417e6a20043b0000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200220036b41306a41186e36020c2000200236020820004102360204200041043a0000200141106a2480808080000ba40101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041f6838080003602182000429fa4afb2dcf1d3f6fe00370310200042acf0b0bfd2c494d1fb00370308200041023a0000200141106a2480808080000bb40201047f23808080800041106b220124808080800041002d008083d480001a0240413041002802f482d480001182808080000022020d004108413010ab80808000000b2002200241076a417871220320026b22046a2202418c83808000360228200241c580808000360210200242cdd1c1cbe3b5a3c444370308200242b9e0ddc2f1d2dbbf4c370300200242fadefdbfd8c483f821370320200242eccaa8be8cb9a691ff003703182002417e6a20043b0000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200220036b41306a41186e36020c2000200236020820004102360204200041043a0000200141106a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004120360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004114360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004108360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000ba70301047f23808080800041106b2204248080808000024020002d00004101460d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110a386808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210bd8d8080001a02402005280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a00000240024020032d00000d00024020052802002200280200200028020822056b41034b0d002000200541044101410110a386808000200028020821050b2000200541046a360208200028020420056a41eeeab1e3063600000c010b200441046a200341016a41002f019480d4800010a38d8080002005200020042802082200200428020c10bd8d8080001a2004280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200441106a24808080800041000f0b41d0c7c78000412841b085c88000108081808000000ba207010b7f02402000280200220428020020042802082200470d002004200041014101410110a386808000200428020821000b2004200041016a2205360208200428020420006a41223a00002002417f6a21062003417f732107200220036a2108410021092002210a03404100210002400240024002400240024002400340200a20006a220b2008460d01200041016a2100200b2d0000220c41c8bccc80006a2d0000220b450d000b2009200920006a220d417f6a220e4f0d062009450d02200320094b0d0120032009460d020c030b024020032009460d0002402009450d00200320094d0d05200220096a2c00004140480d050b200220096a210b0240200320096b2200200428020020056b4d0d002004200520004101410110a386808000200428020821050b200428020420056a200b200010f4978080001a2004200520006a22053602080b024020042802002005470d002004200541014101410110a386808000200428020821050b2004200541016a360208200428020420056a41223a000041000f0b200220096a2c00004140480d010b0240200e2003490d00200d20076a0d010c030b200620096a20006a2c000041bf7f4a0d020b200220032009200920006a417f6a41c0c7c7800010c381808000000b20022003200920034188c8c7800010c381808000000b02402000417f6a220e200428020020056b4d0d0020042005200e4101410110a386808000200428020821050b200428020420056a200220096a200e10f4978080001a2004200520006a417f6a22053602080b200a20006a210a41b0c8c7800021000240024002400240024002400240024002400240200b41a47f6a0e1a0709090909090609090901090909090909090209090903090405000b200b4122470d0841aec8c7800021000c060b41b4c8c7800021000c050b41b6c8c7800021000c040b41b8c8c7800021000c030b41bac8c7800021000c020b200c410f7141b8bccc80006a2d0000210b200c41047641b8bccc80006a2d0000210c0240200428020020056b41054b0d002004200541064101410110a386808000200428020821050b200428020420056a2200200b3a00052000200c3a0004200041dceac18103360000200541066a21050c020b41b2c8c7800021000b0240200428020020056b41014b0d002004200541024101410110a386808000200428020821050b200428020420056a20002f00003b0000200541026a21050b20042005360208200d21090c010b0b41d0c7c78000412841f8c7c78000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a0000200320041090878080000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a000020032004109b8b8080000f0b41d0c7c78000412841b085c88000108081808000000be10201037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a000002402004280200220028020020002802082204470d002000200441014101410110a386808000200028020821040b200028020420046a41fb003a00002000200441016a2204360208024020002802002004470d002000200441014101410110a386808000200028020821040b2000200441016a360208200028020420046a41fd003a000041000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a00002003200410d6868080000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a0000200320041089878080000f0b41d0c7c78000412841b085c88000108081808000000be10201037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a000002402004280200220028020020002802082204470d002000200441014101410110a386808000200028020821040b200028020420046a41fb003a00002000200441016a2204360208024020002802002004470d002000200441014101410110a386808000200028020821040b2000200441016a360208200028020420046a41fd003a000041000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a00002003200410f18c8080000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a000020032004109c8b8080000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a00002003200410d3868080000f0b41d0c7c78000412841b085c88000108081808000000b800501047f23808080800041306b22042480808080000240024020002d00004101460d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110a386808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210bd8d8080001a2003280200210002402005280200220328020020032802082202470d002003200241014101410110a386808000200328020821020b2003200241016a360208200328020420026a413a3a000020052802002107410a2105024020004190ce004f0d00200021030c020b410a21050340200441086a20056a2202417c6a200020004190ce006e22034190ce006c6b220141ffff037141e4006e220641017441d8fec780006a2f00003b00002002417e6a2001200641e4006c6b41ffff037141017441d8fec780006a2f00003b00002005417c6a2105200041ffc1d72f4b21022003210020020d000c020b0b41d0c7c78000412841b085c88000108081808000000b02400240200341e3004b0d00200321000c010b200441086a2005417e6a22056a2003200341ffff037141e4006e220041e4006c6b41ffff037141017441d8fec780006a2f00003b00000b024002402000410a490d00200441086a2005417e6a22036a200041017441d8fec780006a2f00003b00000c010b200441086a2005417f6a22036a20004130723a00000b0240410a20036b22052007280200200728020822006b4d0d002007200020054101410110a386808000200728020821000b200728020420006a200441086a20036a200510f4978080001a2007200020056a360208200441306a24808080800041000bae0901077f23808080800041306b22042480808080000240024002400240024020002d00004101460d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110a386808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210bd8d8080001a02402005280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a0000024020032802142208418180808078460d0002402005280200220928020020092802082200470d002009200041014101410110a386808000200928020821000b2009200041016a220a360208200928020420006a41db003a0000200420053602042004418004360200410a21050240200328021022004190ce004f0d00200021020c030b410a21050340200441086a20056a2201417c6a200020004190ce006e22024190ce006c6b220641ffff037141e4006e220741017441d8fec780006a2f00003b00002001417e6a2006200741e4006c6b41ffff037141017441d8fec780006a2f00003b00002005417c6a2105200041ffc1d72f4b21012002210020010d000c030b0b024020052802002200280200200028020822056b41034b0d002000200541044101410110a386808000200028020821050b2000200541046a360208200028020420056a41eeeab1e3063600000c020b41d0c7c78000412841b085c88000108081808000000b02400240200241e3004b0d00200221000c010b200441086a2005417e6a22056a2002200241ffff037141e4006e220041e4006c6b41ffff037141017441d8fec780006a2f00003b00000b024002402000410a490d00200441086a2005417e6a22056a200041017441d8fec780006a2f00003b00000c010b200441086a2005417f6a22056a20004130723a00000b200441086a20056a21020240410a20056b22002009280200200a6b4d0d002009200a20004101410110a3868080002009280208210a0b2009280204200a6a2002200010f4978080001a2009200a20006a36020820042003290300200329030810c98d80800020042d00004101460d0120042802042100024020042d00014101460d0002402000280200220528020020052802082202470d002005200241014101410110a386808000200528020821020b2005200241016a360208200528020420026a412c3a00000b200441023a0001024002402008418080808078460d00200020002003280218200328021c10bd8d8080001a0c010b024020002802002205280200200528020822026b41034b0d002005200241044101410110a386808000200528020821020b2005200241046a360208200528020420026a41eeeab1e3063600000b200428020022054101710d0220054180fe0371450d0002402000280200220028020020002802082205470d002000200541014101410110a386808000200028020821050b2000200541016a360208200028020420056a41dd003a00000b200441306a24808080800041000f0b41d0c7c78000412841d085c88000108081808000000b41d0c7c78000412841e085c88000108081808000000b8e0a02057f037e2380808080004190016b22032480808080000240024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a00012004280200210702400240200242808020540d00200341306a2001420042f3b2d8c19e9ebdcc957f420010fc97808000200341206a2001420042d2e1aadaeda7c987f600420010fc97808000200341d0006a2002420042f3b2d8c19e9ebdcc957f420010fc97808000200341c0006a2002420042d2e1aadaeda7c987f600420010fc97808000200329034820032903282003290338220820032903207c2202200854ad7c220920032903407c2208200954ad7c20082003290358200220032903507c200254ad7c7c2202200854ad7c2208423e8821092002423e8820084202868421080c010b20014213882002422d868442bda282a38eab04802108420021090b200341106a20082002428080e0b0b79fb79cf500420010fc97808000411421000240200329031020017c22024290ce005a0d00200221010c020b411421000340200341e8006a20006a2204410f6a200220024290ce008022014290ce007e7da7220541ffff037141e4006e220641017441d8fec780006a2f00003b0000200441116a2005200641e4006c6b41ffff037141017441d8fec780006a2f00003b00002000417c6a2100200242ffc1d72f5621042001210220040d000c020b0b41d0c7c78000412841d085c88000108081808000000b200341fb006a210502400240200142e300560d002001a721040c010b20052000417e6a22006a2001a72204200441ffff037141e4006e220441e4006c6b41ffff037141017441d8fec780006a2f00003b00000b024002402004410a490d0020052000417e6a22066a200441017441d8fec780006a2f00003b00000c010b20052000417f6a22066a20044130723a00000b02400240200820098450450d00200641136a21000c010b41142100200341e8006a41146a41302006417f6a10fa978080001a200320084213882009422d8684220942bda282a38eab0480220a2002428080e0b0b79fb79cf500420010fc9780800002400240200329030020087c22024290ce005a0d00200221010c010b411421000340200341e8006a20006a2204417c6a200220024290ce008022014290ce007e7da7220541ffff037141e4006e220641017441d8fec780006a2f00003b00002004417e6a2005200641e4006c6b41ffff037141017441d8fec780006a2f00003b00002000417c6a2100200242ffc1d72f5621042001210220040d000b0b02400240200142e300560d002001a721040c010b200341e8006a2000417e6a22006a2001a72204200441ffff037141e4006e220441e4006c6b41ffff037141017441d8fec780006a2f00003b00000b024002402004410a490d00200341e8006a2000417e6a22006a200441017441d8fec780006a2f00003b00000c010b200341e8006a2000417f6a22006a20044130723a00000b200942bda282a38eab04540d00200341e9006a41302000417f6a10fa978080001a2003200aa74130723a0068410021000b0240412720006b22052007280200200728020822046b4d0d002007200420054101410110a386808000200728020821040b200728020420046a200341e8006a20006a200510f4978080001a2007200420056a36020820034190016a2480808080000bb50501047f23808080800041106b2204248080808000024020002d00004101460d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110a386808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210bd8d8080001a02402005280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a0000200328020821012003280204210302402005280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41db003a000002402001450d00200441046a200341002f019480d4800010a38d8080002005200020042802082200200428020c10bd8d8080001a02402004280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b2005280200210020014101460d00200141057441606a2101200341206a210203400240200028020020002802082203470d002000200341014101410110a386808000200028020821030b2000200341016a360208200028020420036a412c3a0000200441046a200241002f019480d4800010a38d8080002005200020042802082200200428020c10bd8d8080001a02402004280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241206a210220052802002100200141606a22010d000b0b0240200028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41dd003a0000200441106a24808080800041000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a00002003200410de8c8080000f0b41d0c7c78000412841b085c88000108081808000000b9f0901047f23808080800041206b22042480808080000240024020002d00004101460d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110a386808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520042001200210bd8d8080001a02402005280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a0000200328020821062003280204210302402005280200220028020020002802082201470d002000200141014101410110a386808000200028020821010b2000200141016a2202360208200028020420016a41db003a0000024002402006450d00024020002802002002470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41db003a000020042005360210200441800436020c200441146a200341002f019480d4800010a38d8080002005200420042802182200200428021c10bd8d8080001a02402004280214450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b2004410c6a2003290320200329032810c98d808000200428020c22004101710d03024020004180fe0371450d0002402004280210280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41dd003a00000b024020064101460d002003200641306c6a2101200341306a2100034002402005280200220228020020022802082203470d002002200341014101410110a386808000200228020821030b2002200341016a360208200228020420036a412c3a000002402005280200220228020020022802082203470d002002200341014101410110a386808000200228020821030b2002200341016a360208200228020420036a41db003a000020042005360210200441800436020c200441146a200041002f019480d4800010a38d8080002005200420042802182202200428021c10bd8d8080001a02402004280214450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b2004410c6a200041206a290300200041286a29030010c98d808000200428020c22024101710d05024020024180fe0371450d0002402004280210280200220228020020022802082203470d002002200341014101410110a386808000200228020821030b2002200341016a360208200228020420036a41dd003a00000b200041306a22002001470d000b0b02402005280200220028020020002802082205470d002000200541014101410110a386808000200028020821050b2000200541016a360208200028020420056a41dd003a00000c010b024020002802002002470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41dd003a00000b200441206a24808080800041000f0b41d0c7c78000412841b085c88000108081808000000b41d0c7c78000412841e085c88000108081808000000bec0d01097f024002400240024002400240024020002d00000e06000102030405000b024020012802002200280200200028020822026b41034b0d002000200241044101410110a386808000200028020821020b2000200241046a360208200028020420026a41eeeab1e30636000041000f0b20012802002102024020002d00010d0002402002280200200228020822006b41044b0d002002200041054101410110a386808000200228020821000b2002200041056a360208200228020420006a220041002800a8c8c78000360000200041046a41002d00acc8c780003a000041000f0b02402002280200200228020822006b41034b0d002002200041044101410110a386808000200228020821000b2002200041046a360208200228020420006a41f4e4d5ab0636000041000f0b200028020821030240200028020c220420012802002200280200200028020822026b4d0d002000200220044101410110a386808000200028020821020b200028020420026a2003200410f4978080001a2000200220046a36020841000f0b200120002000280208200028020c10bd8d8080001a41000f0b200028020c21032000280208210202402001280200220028020020002802082204470d002000200441014101410110a386808000200028020821040b2000200441016a2205360208200028020420046a41db003a000002402003450d00200341047421044180022100034020004101710d03024020004180fe0371418002460d0002402001280200220328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a412c3a00000b2002200110cd8d8080001a200041ff817c71418004722100200241106a2102200441706a22040d000b02402001280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41dd003a000041000f0b024020002802002005470d002000200541014101410110a386808000200028020821050b2000200541016a360208200028020420056a41dd003a000041000f0b200028020c210602402001280200220228020020022802082204470d002002200441014101410110a386808000200228020821040b2002200441016a2203360208200228020420046a41fb003a0000024020060d00024020022802002003470d002002200341014101410110a386808000200228020821030b2002200341016a360208200228020420036a41fd003a000041000f0b0240024020002802042202450d002000280208210741002100418002210403402004210802400240024020000d00410021032007450d0120072100024020074107712204450d0003402000417f6a210020022802bc0221022004417f6a22040d000b0b20074108490d01034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200041786a22000d000c020b0b200221030c010b20022100410021070b02400240024002400240200720002f01ba024f0d0020002102200721040c010b034020002802b0012202450d02200341016a210320002f01b802210420022100200420022f01ba024f0d000b0b0240024020030d00200441016a2107200221000c010b200220044102746a41c0026a2802002100410021072003417f6a2205450d002003417e6a2109024020054107712203450d0003402005417f6a210520002802bc0221002003417f6a22030d000b0b20094107490d00034020002802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022100200541786a22050d000b0b20084101710d012004410474210320022004410c6c6a220441bc016a2802002105200441b8016a2802002109024020084180fe0371418002460d000240200128020022042802002004280208220a470d002004200a41014101410110a3868080002004280208210a0b2004200a41016a3602082004280204200a6a412c3a00000b200220036a2103200120002009200510bd8d8080001a2001280200220228020020022802082204470d022002200441014101410110a386808000200228020821040c020b41e881c8800010a081808000000b41d0c7c78000412841b085c88000108081808000000b2002200441016a360208200228020420046a413a3a00002003200110cd8d8080001a200841ff817c71418004722104410021022006417f6a22060d000b20084101710d010b02402001280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41fd003a000041000f0b41d0c7c78000412841c085c88000108081808000000b41d0c7c78000412841d085c88000108081808000000bf504010a7f23808080800041306b220124808080800020012000200010cf8d8080000240024020012802102202418080808078470d0020012f0001210020012d000021030c010b2001280224210420012802202105200128021c210620012802142107024020012802182200450d002000410171210841002103024020004101460d002000417e7121092007210041002103034002402000280200450d00200041046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002009200341026a2203470d000b0b2008450d0020072003410c6c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b02402002450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b02402004450d002004410171210241002103024020044101460d002004417e7121092005210041002103034002402000280200450d00200041046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002009200341026a2203470d000b0b2002450d0020052003410c6c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b4102210302402006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b0b200141306a2480808080002000410874200341ff0171720bda0601097f2380808080004190016b22032480808080000240024020022d0000410b470d00200228020c210420022802082102200342f7b6fccfd083b2cf4d37008801200342afd2c6ffdbc495bc0837008001200342fc90b9e5d09296e777370078200342a6d4e6f1a4dd959860370070200341cc006a200341f0006a412010dd8580800002400240024020032d004c22054102460d002003412b6a410a6a200341cc006a410a6a2900003700002003412b6a41126a200341cc006a41126a2900003700002003412b6a41196a200341cc006a41196a2900003700002003200329004e37002d200320032d004d3a002c200320053a002b200341cc006a2002200441002802c480d48000118680808000000240200341cc006a2003412c6a412010f597808000450d00200341086a410910cf8c8080000c040b200341256a2003412b6a41206a2d00003a0000200341046a41196a200341c3006a290000370000200341156a2003413b6a2900003700002003410d6a200341336a2900003700002003200329002b37000541002d008083d480001a410c41002802f482d48000118280808000002202450d012002200241036a417c7120026b22056a2204417e6a20053b000041002d008083d480001a20034100360254200342808080801037024c412041002802f482d48000118280808000002202450d02200220032901063700002002417e6a220641003b0000200241086a22072003410e6a290100370000200241106a2208200341166a290100370000200241186a22092003411e6a290100370000200341cc006a4100412010f4918080002003280250200341cc006a41086a220a280200220b6a22052002290000370000200541086a2007290000370000200541106a2008290000370000200541186a2009290000370000200a200b41206a360200200220062f00006b41002802ec82d4800011818080800000200441086a200a2802003602002004200329024c370200200041086a427f3703002000427f370300200041013a00282000410136022420002004360220200042808080801037031820004280808080c0003703100c040b200341086a410810cf8c8080000c020b4104410c10ab80808000000b4101412010ab80808000000b2000418080808078360210200041003b01000b20034190016a2480808080000b980601057f23808080800041306b2201248080808000200141106a410010c78680800041002d008083d480001a200128021821022001280214210302400240412041002802f482d48000118280808000002204450d00200442c58a95aad4a8d1a2c5003700002004417e6a220541003b0000200441086a42c58a95aad4a8d1a2c500370000200441106a42c58a95aad4a8d1a2c500370000200441186a42c58a95aad4a8d1a2c500370000200320022004412041002802dc82d4800011838080800000200420052f00006b41002802ec82d480001181808080000002402001280210450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141106a41186a42c58a95aad4a8d1a2c500370300200141106a41106a42c58a95aad4a8d1a2c500370300200141106a41086a42c58a95aad4a8d1a2c500370300200142c58a95aad4a8d1a2c500370310200141106a10dd88808000200141086a41002802e0e5c480003602002001410236020c200141002902d8e5c48000370300200142a0b9ab8f9ae5999778370028200142f999a7c78cd1d1cdb17f370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd9598603700102001200141106a4120108286808000200142a2f5bea594dedcdb10370028200142d6888295b2b493ecbf7f370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141013a0000200141106a41202001410141002802dc82d4800011838080800000200142d2daa4a6928283fa39370028200142a7fbb3c3b2f09acd28370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141013a0000200141106a41202001410141002802dc82d480001183808080000041002d008083d480001a410441002802f482d48000118280808000002204450d01200441003600002004417e6a220341003b000041bcc8c7800041102004410441002802dc82d4800011838080800000200420032f00006b41002802ec82d4800011818080800000200141306a2480808080000f0b4101412010ab80808000000b4101410410ab80808000000b6202017f027e23808080800041e0006b22012480808080000240200029030022022000290308220384500d00200010fe888080002001200337031820012002370310200141123a000041014100200110d28d8080000b200141e0006a2480808080000bdc0501087f23808080800041b0016b2203248080808000200342d3d8c5d2a9b9d2c1ac7f37003820034282ca868eabf3add0cf00370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341186a200341206a412010d08580800002402003280218410171450d00200328021c2204450d0020034293bb8a9cbb9ab6b31a370038200342ffabedd185d3d8d216370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341106a200341206a412010ee858080002001410574210541002106024002400240200141ffffff3f4b0d004100210720054100480d002003280214210820032802102109410121062005450d0241002d008083d480001a200541002802f482d480001182808080000022060d01410121060b2006200541d484c8800010b980808000000b2006417e6a41003b0000200121070b20062000200510f497808000210a200342b7aeb183f6f8ab9cd0003700382003428ab0f6f7cbd3f9e2d800370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341086a200341206a412010d0858080000240200328020c410020032802084101711b2206417f460d00200342b7aeb183f6f8ab9cd0003700382003428ab0f6f7cbd3f9e2d800370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd9598603700202003200641016a3602ac01200341206a4120200341ac016a410441002802dc82d4800011838080800000200341206a200241e00010f4978080001a200320083602900120034102200920094103461b36028c0120032001360288012003200a360284012003200736028001200341206a10f1888080002001450d01034020032006360224200320043602202000200341206a10ee86808000200041206a2100200541606a22050d000c020b0b2007450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b200341b0016a2480808080000b6202017f027e23808080800041e0006b22012480808080000240200029030022022000290308220384500d00200010f7888080002001200337031820012002370310200141113a000041014100200110d28d8080000b200141e0006a2480808080000b8e0401037f23808080800041f0006b2203248080808000200341e4006a200110c986808000200320032802682204200328026c10e38580800002402003280264450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341e4006a200110c986808000200320032802682204200328026c10e3858080002003280200200328025841004771210502402003280264450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b0240024020050d00200341e4006a200110c986808000200320032802682204200328026c10e3858080002003280200200328025c41004771210502402003280264450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20050d002003200110c986808000200328020422022003280208410028029482d48000118b80808000002003280200450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b200341186a200241086a290300370300200341206a200241106a290300370300200341286a200241186a290300370300200341306a200241206a290300370300200341386a200241286a290300370300200341c0006a200241306a290300370300200341c8006a200241386a2903003703002003420037030820034201370300200320022903003703102001200310f0868080000b2000410f3a0000200341f0006a2480808080000b8c1409027f0a7e027f027e017f027e017f037e047f23808080800041b0016b2203248080808000200341286a200110c986808000200341d0006a200328022c2204200328023010e3858080000240024020032802504101710d00428080808080808080807f2105420021064200210742002108420021094200210a4200210b4200210c0c010b2003290398012105200329039001210c200329038801210b200329038001210a200329037821092003290370210820032903682107200329036021060b02402003280228450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b4200210d0240024020062007844200520d0020082009844200520d00200a200b844200520d004200210e200c2005428080808080808080807f85844200520d004201210d4100210f4101211042002108420021094200210a4200210b4200210c428080808080808080807f21050c010b2008200a842009200b8484420052210f200642f4035441002007501b21104200210e0b0240024020062002280204220429030022112008201120085420042903082212200954201220095122041b22131b22147c2215200654221620072012200920131b22177c22182016ad7c221920075420192007511b4101460d0020182015201454ad7c21180c010b024041002802b483d48000450d00200341c181808000ad42208641a09dc68000ad84370328410028029080d480002113410028028c80d48000211641002802b083d48000211a20034201370288012003410136028001200341c09ec6800036027c20034112360278200341909ec6800036027420034101360270200341bc9dc68000ad4280808080c00a8437026820034100360264200341a29ec68000ad4280808080b0038437025c2003410036025820034281808080a01c3702502013419cf4ca8000201a410246221a1b28021021132003200341286a36028401201641b4f4ca8000201a1b200341d0006a2013118b80808000000b427f2018200620147c22192006542213ad7c22152013201520075420152007511b22131b2118427f201920131b21150b2008201156200920125620041b2104200a200b84420052211602402010201542f30356201842005220185022131b71450d002002280200221a201a10f2868080001a0b20042016722116024002400240024002400240200f450d002002280200211a20160d01201a10f1868080000c020b2016450d01024020022802082d00000d00200341d0006a2002280200221a10ea8680800020032d0050221b410f460d01200341da006a350100200341de006a3301004220868421080c030b200341d0006a2002280200221a10eb8680800020032d0050221b410f460d00200341da006a350100200341de006a3301004220868421080c020b200341286a201a10c986808000200341d0006a200328022c221b200328023010e385808000200328025020032802a40141004771211c02402003280228450d00201b201b417e6a2f00006b41002802ec82d48000118180808000000b201c0d00024041002802b483d48000450d00410028029080d48000211b410028028c80d48000211c41002802b083d48000211d200342003702880120034281808080c00037028001200341e8f1c7800036027c20034111360278200341bdf2c7800036027420034101360270200341f0f1c78000ad4280808080d0098437026820034100360264200341cef2c78000ad4280808080f0028437025c2003410036025820034281808080d08901370250201c41b4f4ca8000201d410246221d1b200341d0006a201b419cf4ca8000201d1b280210118b80808000000b200341d0006a201a10ea8680800020032d0050221b410f460d00200341da006a350100200341de006a3301004220868421080c010b02402010201542f30356201842005220131b720d00200320022802002202200210ec8680800020032d0000221b410f460d0002400240200f450d0020160d01200341146a200210ea8680800020032d0014410f460d01200341286a41106a200341146a41106a280200360200200341286a41086a200341146a41086a2902003703002003200329021437032841002802b483d48000450d01200341d883808000ad422086200341286aad84370348200341c181808000ad42208641b8edc68000ad84370340410028029080d480002102410028028c80d48000210141002802b083d4800021042003420237028801200341c4edc6800036027c20034112360278200341a8eec6800036027420034101360270200341d4edc68000ad4280808080c00a8437026820034100360264200341baeec68000ad4280808080b0038437025c2003410036025820034281808080d02537025020034102360280012002419cf4ca8000200441024622041b28021021022003200341c0006a36028401200141b4f4ca800020041b200341d0006a2002118b80808000000c010b2016450d00200210f1868080000b2003410a6a3501002003410e6a330100422086842108200329010221092003280210210220032d000121010c020b0240024002400240024020040d0042002112201542f30356201842005220131b450d010b200920177d2008201454ad7d2109200820147d21084200211142012112410021102004450d0120152106201821070c020b20152018844200522110420021110c010b20152106201821072015428c7c7c2219428d7c5420182019201554ad7c427f7c2219427f522019427f511b450d010b200341286a200110c986808000200341d0006a200328022c2202200328023010e385808000200328025020032802a80141004771210402402003280228450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b0240024020040d00200341286a200110c986808000200341d0006a200328022c2202200328023010e385808000200328025020032802ac0141004771210402402003280228450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20040d00200341d0006a200110c986808000200328025422022003280258410028029482d48000118b80808000002003280250450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b2003200c370390012003200a3703800120032008370370200320063703602003201237035020032005370398012003200b370388012003200937037820032007370368200320113703582001200341d0006a10f0868080000b2000201437034020002015370330200042003e022c20004200370224200020153703102000200d370300200020103602202000201737034820002018370338200020183703182000200e3703080c030b41e5f2c7800041dd0041c4f3c78000108081808000000b200329015221092003280260210220032d005121010b20004200370308200042023703002000200236022020002008421086200942308884370318200020094210862001ad42ff018342088684201bad843703100b200341b0016a2480808080000bd21207027f0a7e027f037e017f017e047f23808080800041e0016b2203248080808000200341d8006a200110c98680800020034180016a200328025c2204200328026010e385808000024002402003280280014101710d00428080808080808080807f2105420021064200210742002108420021094200210a4200210b4200210c0c010b20032903c801210520032903c001210c20032903b801210b20032903b001210a20032903a801210920032903a0012108200329039801210720032903900121060b02402003280258450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b4200210d0240024020062007844200520d0020082009844200520d00200a200b844200520d004200210e200c2005428080808080808080807f85844200520d004201210d4100210f4101210442002108420021094200210a4200210b4200210c428080808080808080807f21050c010b2008200a842009200b8484420052210f200642f4035441002007501b21044200210e0b02400240420020062002280204221029030022117d221220122006562007201029030822127d2006201154ad7d221320075620132007511b22101b20022802082214290300584200201320101b2213201429030822155820132015511b0d00200341306a410310e68c80800020062111200721120c010b2003410f3a00300b2008200a842009200b8484211302402004201142f30356201242005220125022141b71450d0020022802002210201010f2868080001a0b20134200522110024002400240024002400240200f450d002002280200211620100d01201610f1868080000c020b2010450d010240200228020c2d00000d0020034180016a2002280200221610ea8680800020032d0080012217410f460d012003418a016a3501002003418e016a3301004220868421070c030b20034180016a2002280200221610eb8680800020032d0080012217410f460d002003418a016a3501002003418e016a3301004220868421070c020b200341d8006a201610c98680800020034180016a200328025c2217200328026010e38580800020032802800120032802d40141004771211802402003280258450d0020172017417e6a2f00006b41002802ec82d48000118180808000000b20180d00024041002802b483d48000450d00410028029080d480002117410028028c80d48000211841002802b083d480002119200342003702b80120034281808080c0003702b001200341e8f1c780003602ac01200341113602a801200341bdf2c780003602a401200341013602a001200341f0f1c78000ad4280808080d00984370298012003410036029401200341cef2c78000ad4280808080f0028437028c01200341003602880120034281808080d0890137028001201841b4f4ca8000201941024622191b20034180016a2017419cf4ca800020191b280210118b80808000000b20034180016a201610ea8680800020032d0080012217410f460d002003418a016a3501002003418e016a3301004220868421070c010b02402004201142f30356201242005220141b2214720d002003411c6a20022802002202200210ec8680800020032d001c2217410f460d0002400240200f450d0020100d01200341c4006a200210ea8680800020032d0044410f460d01200341d8006a41106a200341c4006a41106a280200360200200341d8006a41086a200341c4006a41086a2902003703002003200329024437035841002802b483d48000450d01200341d883808000ad422086200341d8006aad84370378200341c181808000ad42208641b8edc68000ad84370370410028029080d480002102410028028c80d48000210141002802b083d480002104200342023702b801200341c4edc680003602ac01200341123602a801200341a8eec680003602a401200341013602a001200341d4edc68000ad4280808080c00a84370298012003410036029401200341baeec68000ad4280808080b0038437028c01200341003602880120034281808080d02537028001200341023602b0012002419cf4ca8000200441024622041b28021021022003200341f0006a3602b401200141b4f4ca800020041b20034180016a2002118b80808000000c010b2010450d00200210f1868080000b200341266a3501002003412a6a330100422086842107200329011e2106200328022c210220032d001d21010c020b0240024002400240024020140d004200211320082009844200510d010b4200211542012113410021042011428c7c7c2206428d7c5420122006201154ad7c427f7c2206427f522006427f511b450d0120112106201221070c020b20112012844200522104420021150c010b201121062012210720082009844200510d010b200341106a200341306a41106a280200360200200320032902303703002003200341386a290200370308200341d8006a200110c98680800020034180016a200328025c2202200328026010e38580800020032802800120032802d80141004771210f02402003280258450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b02400240200f0d00200341d8006a200110c98680800020034180016a200328025c2202200328026010e38580800020032802800120032802dc0141004771210f02402003280258450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200f0d0020034180016a200110c9868080002003280284012202200328028801410028029482d48000118b8080800000200328028001450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b2003200c3703c0012003200a3703b001200320083703a00120032006370390012003201337038001200320053703c8012003200b3703b801200320093703a80120032007370398012003201537038801200120034180016a10f0868080000b20002011370330200042003e022c20004200370224200020113703102000200d370300200020043602202000200329030037034020002012370338200020123703182000200e370308200041c8006a2003290308370300200041d0006a200341106a2802003602000c030b41e5f2c7800041dd0041c4f3c78000108081808000000b2003290182012106200328029001210220032d00810121010b20004200370308200042023703002000200236022020002007421086200642308884370318200020064210862001ad42ff0183420886842017ad843703100b200341e0016a2480808080000bf61008027f0a7e017f017e017f027e047f037e23808080800041b0016b2203248080808000200341286a200110c986808000200341d0006a200328022c2204200328023010e3858080000240024020032802504101710d00428080808080808080807f2105420021064200210742002108420021094200210a4200210b4200210c0c010b2003290398012105200329039001210c200329038801210b200329038001210a200329037821092003290370210820032903682107200329036021060b02402003280228450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b4200210d0240024020062007844200520d0020082009844200520d00200a200b844200520d004200210e200c2005428080808080808080807f85844200520d004201210d4100210f4101210442002108420021094200210a4200210b4200210c428080808080808080807f21050c010b2008200a842009200b8484420052210f200642f4035441002007501b21044200210e0b2008200a842009200b848421102002280204221129030821122011290300211302402004450d00201342f3035620124200522012501b450d0020022802002211201110f2868080001a0b20104200522111024002400240024002400240200f450d002002280200211420110d01201410f1868080000c020b2011450d01024020022802082d00000d00200341d0006a2002280200221410ea8680800020032d00502215410f460d01200341da006a350100200341de006a3301004220868421080c030b200341d0006a2002280200221410eb8680800020032d00502215410f460d00200341da006a350100200341de006a3301004220868421080c020b200341286a201410c986808000200341d0006a200328022c2215200328023010e385808000200328025020032802a40141004771211602402003280228450d0020152015417e6a2f00006b41002802ec82d48000118180808000000b20160d00024041002802b483d48000450d00410028029080d480002115410028028c80d48000211641002802b083d480002117200342003702880120034281808080c00037028001200341e8f1c7800036027c20034111360278200341bdf2c7800036027420034101360270200341f0f1c78000ad4280808080d0098437026820034100360264200341cef2c78000ad4280808080f0028437025c2003410036025820034281808080d08901370250201641b4f4ca8000201741024622171b200341d0006a2015419cf4ca800020171b280210118b80808000000b200341d0006a201410ea8680800020032d00502215410f460d00200341da006a350100200341de006a3301004220868421080c010b02402004201342f3035620124200522012501b2214720d00200320022802002202200210ec8680800020032d00002215410f460d0002400240200f450d0020110d01200341146a200210ea8680800020032d0014410f460d01200341286a41106a200341146a41106a280200360200200341286a41086a200341146a41086a2902003703002003200329021437032841002802b483d48000450d01200341d883808000ad422086200341286aad84370348200341c181808000ad42208641b8edc68000ad84370340410028029080d480002102410028028c80d48000210141002802b083d4800021042003420237028801200341c4edc6800036027c20034112360278200341a8eec6800036027420034101360270200341d4edc68000ad4280808080c00a8437026820034100360264200341baeec68000ad4280808080b0038437025c2003410036025820034281808080d02537025020034102360280012002419cf4ca8000200441024622041b28021021022003200341c0006a36028401200141b4f4ca800020041b200341d0006a2002118b80808000000c010b2011450d00200210f1868080000b2003410a6a3501002003410e6a330100422086842108200329010221122003280210210220032d000121010c020b0240024002400240024020140d004200211020082009844200510d010b4200211842012110410021042013428c7c7c2219428d7c5420122019201354ad7c427f7c2219427f522019427f511b450d01201321192012211a0c020b20132012844200522104200621192007211a420021180c010b201321192012211a20082009844200510d010b200341286a200110c986808000200341d0006a200328022c2202200328023010e385808000200328025020032802a80141004771210f02402003280228450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b02400240200f0d00200341286a200110c986808000200341d0006a200328022c2202200328023010e385808000200328025020032802ac0141004771210f02402003280228450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200f0d00200341d0006a200110c986808000200328025422022003280258410028029482d48000118b80808000002003280250450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b2003200c370390012003200a3703800120032008370370200320193703602003201037035020032005370398012003200b37038801200320093703782003201a370368200320183703582001200341d0006a10f0868080000b2000200637034020002013370330200042003e022c20004200370224200020133703102000200d370300200020043602202000200737034820002012370338200020123703182000200e3703080c030b41e5f2c7800041dd0041c4f3c78000108081808000000b200329015221122003280260210220032d005121010b20004200370308200042023703002000200236022020002008421086201242308884370318200020124210862001ad42ff0183420886842015ad843703100b200341b0016a2480808080000be01008027f0a7e017f017e017f027e047f017e23808080800041b0016b2203248080808000200341286a200110c986808000200341d0006a200328022c2204200328023010e3858080000240024020032802504101710d00428080808080808080807f2105420021064200210742002108420021094200210a4200210b4200210c0c010b2003290398012105200329039001210c200329038801210b200329038001210a200329037821092003290370210820032903682107200329036021060b02402003280228450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b4200210d0240024020062007844200520d0020082009844200520d00200a200b844200520d004200210e200c2005428080808080808080807f85844200520d004201210d4100210f4101210442002108420021094200210a4200210b4200210c428080808080808080807f21050c010b2008200a842009200b8484420052210f200642f4035441002007501b21044200210e0b2008200a842009200b848421102002280204221129030821122011290300211302402004450d00201342f3035620124200522012501b450d0020022802002211201110f2868080001a0b20104200522111024002400240024002400240200f450d002002280200211420110d01201410f1868080000c020b2011450d01024020022802082d00000d00200341d0006a2002280200221410ea8680800020032d00502215410f460d01200341da006a350100200341de006a3301004220868421080c030b200341d0006a2002280200221410eb8680800020032d00502215410f460d00200341da006a350100200341de006a3301004220868421080c020b200341286a201410c986808000200341d0006a200328022c2215200328023010e385808000200328025020032802a40141004771211602402003280228450d0020152015417e6a2f00006b41002802ec82d48000118180808000000b20160d00024041002802b483d48000450d00410028029080d480002115410028028c80d48000211641002802b083d480002117200342003702880120034281808080c00037028001200341e8f1c7800036027c20034111360278200341bdf2c7800036027420034101360270200341f0f1c78000ad4280808080d0098437026820034100360264200341cef2c78000ad4280808080f0028437025c2003410036025820034281808080d08901370250201641b4f4ca8000201741024622171b200341d0006a2015419cf4ca800020171b280210118b80808000000b200341d0006a201410ea8680800020032d00502215410f460d00200341da006a350100200341de006a3301004220868421080c010b02402004201342f3035620124200522012501b2214720d00200320022802002202200210ec8680800020032d00002215410f460d0002400240200f450d0020110d01200341146a200210ea8680800020032d0014410f460d01200341286a41106a200341146a41106a280200360200200341286a41086a200341146a41086a2902003703002003200329021437032841002802b483d48000450d01200341d883808000ad422086200341286aad84370348200341c181808000ad42208641b8edc68000ad84370340410028029080d480002102410028028c80d48000210141002802b083d4800021042003420237028801200341c4edc6800036027c20034112360278200341a8eec6800036027420034101360270200341d4edc68000ad4280808080c00a8437026820034100360264200341baeec68000ad4280808080b0038437025c2003410036025820034281808080d02537025020034102360280012002419cf4ca8000200441024622041b28021021022003200341c0006a36028401200141b4f4ca800020041b200341d0006a2002118b80808000000c010b2011450d00200210f1868080000b2003410a6a3501002003410e6a330100422086842108200329010221122003280210210220032d000121010c020b0240024002400240024020140d004200211020082009844200510d010b4200211842012110410021042013428c7c7c2206428d7c5420122006201354ad7c427f7c2206427f522006427f511b450d0120132106201221070c020b20132012844200522104420021180c010b201321062012210720082009844200510d010b200341286a200110c986808000200341d0006a200328022c2202200328023010e385808000200328025020032802a80141004771210f02402003280228450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b02400240200f0d00200341286a200110c986808000200341d0006a200328022c2202200328023010e385808000200328025020032802ac0141004771210f02402003280228450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200f0d00200341d0006a200110c986808000200328025422022003280258410028029482d48000118b80808000002003280250450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b2003200c370390012003200a3703800120032008370370200320063703602003201037035020032005370398012003200b370388012003200937037820032007370368200320183703582001200341d0006a10f0868080000b20002013370330200042003e022c20004200370224200020133703102000200d3703002000200436022020002012370338200020123703182000200e3703080c030b41e5f2c7800041dd0041c4f3c78000108081808000000b200329015221122003280260210220032d005121010b20004200370308200042023703002000200236022020002008421086201242308884370318200020124210862001ad42ff0183420886842015ad843703100b200341b0016a2480808080000bbf0601037f23808080800041c0006b2203248080808000200342d3d8c5d2a9b9d2c1ac7f37003820034282ca868eabf3add0cf00370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341086a200341206a412010d0858080002003200328020c410020032802084101711b220441016a22053602140240024020052000280200470d004102200310e9888080002003410036022041bcc8c780004110200341206a410441002802dc82d48000118380808000002003200136021c200341cdcfc78000360218200341206a200341186a108a8c80800041e5cfc780004113200341206a412041002802dc82d4800011838080800000200342d3d8c5d2a9b9d2c1ac7f37003820034282ca868eabf3add0cf00370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd95986037002020032005360218200341206a4120200341186a410441002802dc82d4800011838080800000200342f4fa97f89782c7a62d37003820034299cfe7ffe3b8eac708370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd95986037002020022802042002280208200341206a412010888c808000200110dd88808000200341206a200410c78680800041002d008083d480001a2003280228210020032802242102412041002802f482d48000118280808000002205450d012005417e6a220441003b000020052001290000370000200541086a200141086a290000370000200541106a200141106a290000370000200541186a200141186a290000370000200220002005412041002802dc82d4800011838080800000200520042f00006b41002802ec82d480001181808080000002402003280220450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200342f89aef8eef91e1ce967f370038200342b4d6d6dfccc6b592c300370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341206a4120410028029482d48000118b8080800000200341c0006a2480808080000f0b2003420037022c20034281808080c00037022420034190ccc780003602204100200341146a2000200341206a4198ccc7800010d382808000000b4101412010ab80808000000bea0401097f23808080800041d0006b2203248080808000410a210402402002450d00200341046a2000200141002802fc80d48000118680808000000240024020032802042201418080808078460d00200328020821022003200328020c36024c20032002360248200341106a200341c8006a4100200310f48480800020032802102200418180808078470d012001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b410321040c010b20032802382105200328022c21062003280228210720032802202108200328021c21092003280218210a2003280214210b02402001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b410121020240200a4116470d00200b418ce4c48000411610f5978080000d004102210220054103490d000240200041808080807872418080808078460d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200941808080807872418080808078460d0020082008417e6a2f00006b41002802ec82d48000118180808000000b200741808080807872418080808078460d0120062006417e6a2f00006b41002802ec82d48000118180808000000c010b0240200041808080807872418080808078460d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200941808080807872418080808078460d0020082008417e6a2f00006b41002802ec82d48000118180808000000b0240200741808080807872418080808078470d00200221040c010b20062006417e6a2f00006b41002802ec82d4800011818080800000200221040b200341d0006a24808080800020040b950401037f23808080800041d0006b2200248080808000200042bc8986ab88c2dce45737004820004280a9fbf0e5a2c1b3e500370040200042fc90b9e5d09296e777370038200042a6d4e6f1a4dd959860370030200041306a4120410028029482d48000118b8080800000200042b7aeb183f6f8ab9cd0003700482000428ab0f6f7cbd3f9e2d800370040200042fc90b9e5d09296e777370038200042a6d4e6f1a4dd959860370030200041306a4120410028029482d48000118b8080800000200041306a41f8e7c48000410641002802d480d4800011868080800000200041306a41106a220141d08dc58000410b41002802d480d4800011868080800000200041106a41186a200041306a41186a290000370300200041106a41106a2001290000370300200041106a41086a200041306a41086a29000037030020002000290030370310200041086a200041106a41204101417f410028029c82d4800011878080800000024002402000280208410171450d0041002d008083d480001a412041002802f482d48000118280808000002201450d012001417e6a220241003b0000200141186a200041106a41186a290300370000200141106a200041106a41106a290300370000200141086a200041106a41086a29030037000020012000290310370000200120022f00006b41002802ec82d48000118180808000000b200041d0006a2480808080000f0b4101412010ab80808000000bdc0204017f017e017f067e23808080800041c0006b220224808080800020024291cdeec7c8fdb89eac7f3700382002428c9e97b8b5e8dcc5fa00370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241086a200241206a412010ed8580800020022903102103200228020821042002290318210520002903102106200029030021072000290318210820002903082109200241206a2001200010b4918080002002290320210a20024200427f200920087c220820082009541b20022903287d22082005420020041b2209200820095622011b220520097d220920092005561b37032820024200427f200720067c220920092007541b200a7d22092003420020041b2207200920075622041b220920077d220720072009561b3703200240024020040d002001450d010b200241206a200010f8888080002009200510e0888080000b200241c0006a24808080800041020b8b0f07027f027e027f017e017f027e027f23808080800041a0036b2202248080808000200241206a2000200029030042025122034103746a200110b4918080002002290328210420022903202105200241206a10aa86808000200241206a210602400240024020012d002022070e03020001020b200241f8006a21060c010b200241d0016a21060b427f200420062903507c220820082004541b2108427f200520062903487c220420042005541b210420012d00212106024002400240024020030d0020002d00182101200220003602d402410121032006410171210641002802b483d4800041044b0d010c020b41012101024020064101710d0020002d002021010b4100210342002105200721092008210a2004210b0c020b200242d3d8c5d2a9b9d2c1ac7f37003820024282ca868eabf3add0cf00370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241186a200241206a412010d085808000200241f783808000ad422086200241d4026aad843703e002200241f883808000ad422086200241ec026aad843703d8022002200228021c410020022802184101711b3602ec02410028029080d480002109410028028c80d48000210c41002802b083d48000210d2002420237025820024180cfc7800036024c2002410f360248200241c8cec780003602442002410536024020024184c2c78000ad4280808080b0098437023820024100360234200241d7cec78000ad4280808080c0018437022c2002410036022820024281808080f09b02370220200241023602502009419cf4ca8000200d410246220d1b28021021092002200241d8026a360254200c41b4f4ca8000200d1b200241206a2009118b80808000000b4101200120061b210620044280807c8321052004420888a72101200029022c210a2000290224210b200028022021002004a721090b200241e0006a200241f8026a290300370300200241e8006a20024180036a290300370300200220033a0028200220022f00d1023b0029200220063a0051200220073a0050200220083703482002200a3703382002200b3703302002200036022c200220022903f0023703582002200241d3026a2d00003a002b20022001ad42ff01834208862005842009ad42ff0183843703402002411e3a002041014100200241206a10d28d808000024041002802b483d4800041044d0d00200242f89aef8eef91e1ce967f37008803200242b4d6d6dfccc6b592c30037008003200242fc90b9e5d09296e7773700f802200242a6d4e6f1a4dd9598603700f002200241206a200241f0026a412010ce858080000240024020022802204101470d00200241f0026a41286a200241d0006a290300370300200241f0026a41206a200241206a41286a290300370300200241f0026a41186a200241206a41206a290300370300200241f0026a41106a200241206a41186a290300370300200241f8026a200241206a41106a290300370300200220022903283703f0020c010b20024198036a4200370300200241f0026a41206a420037030020024188036a420037030020024180036a4200370300200241f8026a4200370300200242003703f0020b200241f983808000ad422086200241f0026aad843703d802410028029080d480002100410028028c80d48000210141002802b083d4800021062002420137025820024101360250200241a4cfc7800036024c2002410f360248200241c8cec780003602442002410536024020024184c2c78000ad4280808080b0098437023820024100360234200241d7cec78000ad4280808080c0018437022c2002410036022820024281808080c09d023702202000419cf4ca8000200641024622061b28021021002002200241d8026a360254200141b4f4ca800020061b200241206a2000118b80808000000b024041002802b483d4800041044d0d0020024295f38cfcb699a3c4ef00370038200242a8db95cdaa86daa719370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241106a200241206a412010d085808000200241f883808000ad422086200241d8026aad843703f00220022002280214410020022802104101711b3602d802410028029080d480002100410028028c80d48000210141002802b083d4800021062002420137025820024101360250200241c0cfc7800036024c2002410f360248200241c8cec780003602442002410536024020024184c2c78000ad4280808080b0098437023820024100360234200241d7cec78000ad4280808080c0018437022c2002410036022820024281808080a09e023702202000419cf4ca8000200641024622061b28021021002002200241f0026a360254200141b4f4ca800020061b200241206a2000118b80808000000b200241086a41bcc8c78000411010d0858080002002200228020c41016a410120022802084101711b220036022041bcc8c780004110200241206a410441002802dc82d48000118380808000004100200010e98880800020024291cdeec7c8fdb89eac7f3700382002428c9e97b8b5e8dcc5fa00370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241206a4120410028029482d48000118b8080800000200241a0036a2480808080000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000ba40201037f23808080800041106b22022480808080002002200041206a3602042001280200418485c880004110200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a419485c880004106200041e484c88000108a81808000419a85c88000410b200041106a41e484c88000108a8180800041a585c880004109200241046a41f484c88000108a81808000210420022d000d220120022d000c2203722100024020014101470d0020034101710d000240200428020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c010b200028020041dc80c280004101200028020428020c1180808080000021000b200241106a24808080800020004101710bd20101037f23808080800041306b2200248080808000200041bcc8c78000411010d085808000200028020421010240200028020022024101470d0041bcc8c780004110410028029482d48000118b80808000000b200042bad08eede089ffa812370024200042bd81f785e387e6aa817f37001c200042fc90b9e5d09296e777370014200042a6d4e6f1a4dd95986037000c20002001410020024101711b36022c2000410c6a41202000412c6a410441002802dc82d48000118380808000004101200010e988808000200041306a2480808080000b900301027f23808080800041d0006b2203248080808000200342f7b6fccfd083b2cf4d370026200342afd2c6ffdbc495bc0837001e200342fc90b9e5d09296e777370016200342a6d4e6f1a4dd95986037000e2003412f6a2003410e6a412010dd858080000240024020032d002f22044102460d002003410e6a410a6a2003412f6a410a6a2900003700002003410e6a41126a2003412f6a41126a2900003700002003410e6a41196a2003412f6a41196a29000037000020032003290031370010200320032d00303a000f200320043a000e2003412f6a2001200241002802c480d480001186808080000002402003412f6a2003410e6a41016a412010f597808000450d00200041046a410910cf8c808000200041013a00000c020b2000200329000e370001200041003a0000200041216a2003412e6a2d00003a0000200041196a200341266a290000370000200041116a2003411e6a290000370000200041096a200341166a2900003700000c010b200041046a410810cf8c808000200041013a00000b200341d0006a2480808080000bad2803047f027e037f23808080800041f0136b2201248080808000024041002802b483d480004104490d00200142d3d8c5d2a9b9d2c1ac7f3700981120014282ca868eabf3add0cf0037009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd9598603700801120014180026a20014180116a412010d085808000200120012802840241002001280280024101711b3602d403200142bad08eede089ffa81237009811200142bd81f785e387e6aa817f37009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141f8016a20014180116a412010d085808000200120012802fc01410020012802f8014101711b3602d80320014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141f0016a20014180116a412010d085808000200120012802f401410020012802f0014101711b3602dc0320014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141e8016a20014180116a412010d08580800041e400210241e4002103024020012802ec01410020012802e8014101711b2204418080f0014b0d00200441e4006c418080f0016e21030b200120033a00e10320014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141e0016a20014180116a412010d085808000024020012802e401410020012802e0014101711b2203418080c0024b0d00200341e4006c418080c0026e21020b200120023a00e20320014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141d8016a20014180116a412010d08580800041e4002102024020012802dc01410020012802d8014101711b2203418080c0024b0d00200341e4006c418080c0026e21020b200120023a00e303200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce85808000024002402001280280114101470d00200141e8036a41286a200141b0116a290300370300200141e8036a41206a20014180116a41286a290300370300200141e8036a41186a20014180116a41206a290300370300200141e8036a41106a20014180116a41186a290300370300200141f0036a20014180116a41106a29030037030020012001290388113703e8030c010b20014190046a420037030020014188046a420037030020014180046a4200370300200141f8036a4200370300200141f0036a4200370300200142003703e8030b2001200141e8036a3602e403200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce8580800020012802801121042001290388112105200141a0046a10aa8680800041e400210341e4002102024020012903c004427f20012802b8044101711b2206500d0041e40021022005420020041b22052006560d00200141c0016a2005420042e400420010fc97808000200141b0016a20012903c00120012903c8012006420010829880800041e400210220012903b80122064200520d0020012903b0012205a741e40020054280025441002006501b1b21020b200120023a009f04200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce8580800020012802801121022001290390112105200141d0066a10aa86808000024020012903f806427f20012802e8064101711b2206500d002005420020021b22052006560d00200141a0016a2005420042e400420010fc9780800020014190016a20012903a00120012903a8012006420010829880800020012903980122064200520d002001290390012205a741e40020054280025441002006501b1b21030b200120033a00cf06200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce85808000024002402001280280114101470d0020014180096a41286a200141b0116a29030037030020014180096a41206a20014180116a41286a29030037030020014180096a41186a20014180116a41206a29030037030020014180096a41106a20014180116a41186a29030037030020014188096a20014180116a41106a2903003703002001200129038811370380090c010b200141a8096a420037030020014180096a41206a420037030020014198096a420037030020014190096a420037030020014188096a420037030020014200370380090b200120014190096a3602fc08200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce8580800020012802801121042001290398112105200141b8096a10aa8680800041e400210341e4002102024020012903b00a427f20012802a80a4101711b2206500d0041e40021022005420020041b22052006560d0020014180016a2005420042e400420010fc97808000200141f0006a2001290380012001290388012006420010829880800041e4002102200129037822064200520d0020012903702205a741e40020054280025441002006501b1b21020b200120023a00b709200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce85808000200128028011210220012903a0112105200141e80b6a10aa86808000024020012903e80c427f20012802d80c4101711b2206500d002005420020021b22052006560d00200141e0006a2005420042e400420010fc97808000200141d0006a2001290360200129036820064200108298808000200129035822064200520d0020012903502205a741e40020054280025441002006501b1b21030b200120033a00e70b200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce85808000024002402001280280114101470d00200141980e6a41286a200141b0116a290300370300200141980e6a41206a20014180116a41286a290300370300200141980e6a41186a20014180116a41206a290300370300200141980e6a41106a20014180116a41186a290300370300200141a00e6a20014180116a41106a29030037030020012001290388113703980e0c010b200141c00e6a4200370300200141980e6a41206a4200370300200141b00e6a4200370300200141a80e6a4200370300200141a00e6a4200370300200142003703980e0b2001200141980e6a41206a3602940e200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce85808000200128028011210420012903a8112105200141d00e6a10aa8680800041e400210341e4002102024020012903a010427f2001280298104101711b2206500d0041e40021022005420020041b22052006560d00200141c0006a2005420042e400420010fc97808000200141306a200129034020012903482006420010829880800041e4002102200129033822064200520d0020012903302205a741e40020054280025441002006501b1b21020b200120023a00cf0e200142f89aef8eef91e1ce967f3700f002200142b4d6d6dfccc6b592c3003700e802200142fc90b9e5d09296e7773700e002200142a6d4e6f1a4dd9598603700d80220014180116a200141d8026a412010ce85808000200128028011210220012903b011210520014180116a10aa86808000024020012903d812427f20012802c8124101711b2206500d002005420020021b22052006560d00200141206a2005420042e400420010fc97808000200141106a2001290320200129032820064200108298808000200129031822064200520d0020012903102205a741e40020054280025441002006501b1b21030b200120033a00ff10200141fa83808000ad4220862206200141ff106aad843703c80320012006200141cf0e6aad843703c003200141fb83808000ad4220862205200141940e6aad843703b80320012006200141e70b6aad843703b00320012006200141b7096aad843703a80320012005200141fc086aad843703a00320012006200141cf066aad8437039803200120062001419f046aad843703900320012005200141e4036aad843703880320012006200141e3036aad843703800320012006200141e2036aad843703f80220012006200141e1036aad843703f0022001418680808000ad4220862206200141dc036aad843703e80220012006200141d8036aad843703e002200141f883808000ad422086200141d4036aad843703d802410028029080d480002102410028028c80d48000210341002802b083d4800021042001420f3702e013200141103602d813200141c8cdc780003602d4132001410f3602d013200141c8cec780003602cc13200141043602c81320014184c2c78000ad4280808080b009843702c013200141003602bc13200141d7cec78000ad4280808080c001843702b413200141003602b01320014281808080a0f3013702a8132002419cf4ca8000200441024622041b28021021022001200141d8026a3602dc13200341b4f4ca800020041b200141a8136a2002118b80808000000b20014293bb8a9cbb9ab6b31a37009811200142ffabedd185d3d8d21637009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd9598603700801120014180116a4120410028029482d48000118b808080000020014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd9598603700801120014180116a4120410028029482d48000118b808080000041e5cfc780004113410028029482d48000118b8080800000200142beee8ae9ce8fa2b1977f3700981120014295d4f9afa2868fb86437009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd9598603700801120014180116a4120410028029482d48000118b8080800000200142d3d8c5d2a9b9d2c1ac7f3700981120014282ca868eabf3add0cf0037009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141086a20014180116a412010d085808000200128020c210220012802082103200142bb88f596f8cbf6cf4c3700e80e2001428a85cd9fb3e4b2ae6d3700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010de85808000200341017121030240024020012d0080114101470d00200141a0026a20014199116a29000037030020014198026a20014191116a29000037030020014190026a20014189116a2900003703002001200129008111370388020c010b200141a0026a420037030020014198026a420037030020014190026a420037030020014200370388020b2002410020031b2103200142f4fa97f89782c7a62d3700981120014299cfe7ffe3b8eac70837009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141d00e6a20014180116a412010e68580800020012802d00e210420012802d40e210720012802d80e2108200142bad08eede089ffa81237009811200142bd81f785e387e6aa817f37009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200120014180116a412010d085808000200128020421020240200128020022094101470d0020014180116a4120410028029482d48000118b80808000000b200141ac026a41002002410020094101711b41f8d0c7800010c88f808000200141b8026a200141ac026a410041002802b480d48000118680808000000240200341fc01490d0020014180116a200341857e6a10c7868080002001280284112202200128028811410028029482d48000118b8080800000200128028011450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20014180116a410141002802d482d48000118b80808000000240200128028811411f4d0d0020002001280284112202290000370030200041c8006a200241186a290000370000200041c0006a200241106a290000370000200041386a200241086a2900003700000240200128028011450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200020012903880237000c2000200336022c200020012900b802370050200041246a20014188026a41186a2903003700002000411c6a20014188026a41106a290300370000200041146a20014188026a41086a290300370000200041d8006a200141b8026a41086a290000370000200041e0006a200141b8026a41106a290000370000200041e8006a200141b8026a41186a29000037000020004100200820044180808080784622021b36020820004104200720021b36020420004100200420021b360200200141f0136a2480808080000f0b4198d1c78000412c200141ef136a4188d1c7800041c4d1c7800010a981808000000b880102017f017e23808080800041306b2202248080808000200028020021002002410336020c2002419cd5cd800036020820024202370214200241e681808000ad42208622032000ad8437032020022003200041086aad843703282002200241206a36021020012802002001280204200241086a10b1818080002101200241306a24808080800020010bb02e01077f23808080800041e0006b22012480808080002001410036021420014280808080800137020c2001410036021841002d008083d480001a0240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240410841002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a2202413a360204200241e9dec780003602002002417e6a20033b000020014101360250200141013602482001200236024c200141186a200141c8006a2001410c6a10838780800041002d008083d480001a410841002802f482d48000118280808000002202450d012002200241036a417c7120026b22046a2203412e360204200341ecd2c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d02200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c2002420e370244200241f486c68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc133702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d032002200241036a417c7120026b22046a2203412936020420034186d4c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d04200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024210370244200241f485c68000360240200241e980808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba1743702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d052002200241036a417c7120026b22046a22034122360204200341fdd8c780003602002003417e6a20043b0000200141c0006a4200370300200141386a4200370300200141306a4200370300200141286a4200370300200141186a41086a420037030020014200370318200141c8006a200141186a108386808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a2202420b3702442002419688c68000360240200241fc8380800036021820024281e3cbde80a2fa9a09370210200242a2b1b6ced3d481c623370208200241003602002002200129024837025c200241013a0074200241013602702002200336026c20024101360268200241e4006a200141c8006a41086a2802003602002001200441016a36021441002d008083d480001a410841002802f482d48000118280808000002202450d062002200241036a417c7120026b22046a220341d000360204200341b6d3c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d07200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024210370244200241ed8ac68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc13370208200241003602002001200541016a3602142001410036021841002d008083d480001a410841002802f482d48000118280808000002202450d082002200241036a417c7120026b22036a22024126360204200241d0e1c780003602002002417e6a20033b000020014101360250200141013602482001200236024c200141186a200141c8006a2001410c6a1081878080002001410036021841002d008083d480001a410841002802f482d48000118280808000002202450d092002200241036a417c7120026b22036a220241cf00360204200241d1d4c780003602002002417e6a20033b000020014101360250200141013602482001200236024c200141186a200141c8006a2001410c6a10fd8680800041002d008083d480001a410841002802f482d48000118280808000002202450d0a2002200241036a417c7120026b22046a220341c2003602042003419fd9c780003602002003417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002204450d0b200441003600002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428480808010370264200220043602602002410436025c20024206370244200241c98bc68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc13370208200241003602002001200541016a3602142001410036021841002d008083d480001a410841002802f482d48000118280808000002202450d0c2002200241036a417c7120026b22036a2202411c3602042002419ad3c780003602002002417e6a20033b000020014101360250200141013602482001200236024c200141186a200141c8006a2001410c6a10838980800041002d008083d480001a410841002802f482d48000118280808000002202450d0d2002200241036a417c7120026b22046a2203413c36020420034182d2c780003602002003417e6a20043b0000200141186a4104410010e296808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024206370244200241cf8bc68000360240200241c8808080003602182002428d8cb3f8c0c2e5ae72370210200242e2cda9ec8fb5f7cd10370208200241003602002002200129021837025c200241013a0074200241013602702002200336026c20024101360268200241e4006a200141186a41086a2802003602002001200441016a3602142001410036021841002d008083d480001a413841002802f482d48000118280808000002202450d0e2002200241036a417c7120026b22036a2202413f36023420024191e1c78000360230200241cb0036022c200241c6e0c7800036022820024100360224200242b48080801037021c20024192e0c78000360218200241c700360214200241cbdfc780003602102002410036020c200242a880808010370204200241a3dfc780003602002002417e6a20033b000020014107360250200141073602482001200236024c200141186a200141c8006a2001410c6a108a8980800041002d008083d480001a410841002802f482d48000118280808000002202450d0f2002200241036a417c7120026b22046a2203412e360204200341bed2c780003602002003417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002204450d10200441003600002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428480808010370264200220043602602002410436025c2002420a370244200241a188c68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc13370208200241003602002001200541016a36021441002d008083d480001a41d00041002802f482d48000118280808000002202450d112002200241036a417c7120026b22036a220241c00036024c200241a9dec78000360248200241d300360244200241d6ddc78000360240200241d60036023c20024180ddc7800036023820024100360234200242b98080801037022c200241c7dcc78000360228200241d100360224200241f6dbc78000360220200241d40036021c200241a2dbc7800036021820024100360214200242a58080801037020c200241fddac78000360208200241c900360204200241b4dac780003602002002417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002204450d12200441023a00002004417e6a41003b000041002d008083d480001a410441002802f482d48000118280808000002203450d132003417e6a41003b0000200141186a41086a220541003602002001200336021c20014104360218200141003602582001200141d8006a36025c200141dc006a200141186a10dc84808000200141c8006a41086a2206200528020036020020012001290218370348024020012802142207200128020c470d002001410c6a41c08ec5800010a0868080000b2001280210200741f8006c6a2203420b370244200341d08dc58000360240200341fd83808000360238200342cffed9b2e0a28ab563370330200342af8cb285e69be7d8b37f370328200341bc80808000360220200342ec8ca7e0e2f0c7e6bf7f370318200342e6e2dea393f0baf43a3703102003410136020c2003200436020820034281808080103703002003200129021837024c2003200129034837025c200341d4006a2005290200370200200341e4006a2006280200360200200341013a00742003410a3602702003200236026c2003410a3602682001200741016a36021441002d008083d480001a410841002802f482d48000118280808000002202450d142002200241036a417c7120026b22046a220341d50036020420034189d6c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d15200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024212370244200241e286c68000360240200241fe83808000360218200242ab9fe1929b89a8b76a370210200242ed8dfee4ffd5cabcb57f3702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d162002200241036a417c7120026b22046a220341d300360204200341e1d9c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d17200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024215370244200241e687c68000360240200241e980808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba1743702082002410036020041002d008083d480001a2001200541016a360214411041002802f482d48000118280808000002202450d182002200241036a417c7120026b22046a2203411236020c200341f7d5c78000360208200341d700360204200341a0d5c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d19200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241023602702002200336026c2002428180808020370264200220043602602002410136025c20024218370244200241be89c68000360240200241e980808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba1743702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d1a2002200241036a417c7120026b22046a22034122360204200341afd4c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d1b200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c2002420e370244200241a48ac68000360240200241be818080003602182002428cdef7a0f8fa82fb18370210200242fec8b8df95a6c9bddf003702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d1c2002200241036a417c7120026b22046a2203412e360204200341d4d1c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d1d200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024211370244200241938ac68000360240200241ff8380800036021820024286dbcd9af1e1a7d04637021020024295c384f4deb68eb0e0003702082002410036020041002d008083d480001a2001200541016a360214413841002802f482d48000118280808000002202450d1e2002200241036a417c7120026b22036a2202410b360234200241f2d8c78000360230200241dc0036022c20024196d8c7800036022820024100360224200242c88080801037021c200241ced7c78000360218200241c80036021420024186d7c780003602102002410036020c200242a880808010370204200241ded6c780003602002002417e6a20033b0000200141186a41086a420037030020014200370318200141c8006a200141186a10e58d808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22034218370244200341f988c68000360240200341e680808000360218200342e1c1c0fddab9f88065370210200342d0b0c2c0bfa6f4d53c370208200341003602002003200129024837025c200341013a0074200341073602702003200236026c20034107360268200341e4006a200141c8006a41086a2802003602002001410c6a41086a200441016a2202360200200041086a20023602002000200129020c37020020004106360210200041f8e7c4800036020c200141e0006a2480808080000f0b4104410810ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4101410410ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104413810ab80808000000b4104410810ab80808000000b4101410410ab80808000000b410441d00010ab80808000000b4101410110ab80808000000b4101410410ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104411010ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104413810ab80808000000bcf0203037f017e017f23808080800041106b2202248080808000410121034101210402402001290300220542c000540d0002400240200542808001540d0020054280808080045a0d01410421040c020b410221040c010b4109200579a74103766b21040b02402001290308220542c000540d0002400240200542808001540d0020054280808080045a0d01410421030c020b410221030c010b4109200579a74103766b21030b41002d008083d480001a0240200320046a220441002802f482d480001182808080000022030d004101200441c4f9c7800010b980808000000b2003417e6a41003b0000200241086a2206410036020020022003360204200220043602002002200136020c2002410c6a200210dd848080002002200141086a36020c2002410c6a200210dd84808000200041086a200628020036020020002002290200370200200241106a2480808080000bbe0f010d7f23808080800041e0026b220124808080800041002d008083d480001a0240024002400240024002400240024002400240024041e00341002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202417e6a20033b0000200141186a10aa86808000200141d4026a200141186a10ee8f80800041002d008083d480001a410841002802f482d48000118280808000002203450d012003200341036a417c7120036b22046a22054134360204200541f6e1c780003602002005417e6a20043b0000200141086a41086a200141d4026a41086a280200360200200120012902d40237030841002d008083d480001a410c41002802f482d48000118280808000002204450d022004418080f0013600002004417e6a41003b00002004428080c0828080802837000441002d008083d480001a410841002802f482d48000118280808000002203450d032003200341036a417c7120036b22066a2207412a360204200741b6e2c780003602002007417e6a20063b000041002d008083d480001a410441002802f482d48000118280808000002208450d04200841fa013600002008417e6a41003b000041002d008083d480001a410841002802f482d48000118280808000002203450d052003200341036a417c7120036b22066a220941d500360204200941ebe2c780003602002009417e6a20063b000041002d008083d480001a411041002802f482d48000118280808000002206450d062006410e6a41003b0000200641066a42003700002006417e6a420037000041002d008083d480001a410841002802f482d48000118280808000002203450d072003200341036a417c7120036b220a6a220b41c200360204200b41cee3c78000360200200b417e6a200a3b0000200141c8006a4100290288e6c48000370300200141c0006a4100290280e6c48000370300200141386a41002902f8e5c48000370300200141306a41002902f0e5c48000370300200141286a41002902e8e5c48000370300200141186a41086a41002902e0e5c48000370300200141002902d8e5c48000370318200141d4026a200141186a10838580800041002d008083d480001a410841002802f482d48000118280808000002203450d082003200341036a417c7120036b220c6a220a4121360204200a4198e4c78000360200200a417e6a200c3b0000200141186a41086a200141d4026a41086a280200360200200120012902d40237031841002d008083d480001a410241002802f482d4800011828080800000220c450d09200c417e6a418080a80136000041002d008083d480001a412841002802f482d480001182808080000022030d0a4104412810ab80808000000b410841e00310ab80808000000b4104410810ab80808000000b4101410c10ab80808000000b4104410810ab80808000000b4101410410ab80808000000b4104410810ab80808000000b4101411010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4101410210ab80808000000b2003200341036a417c7120036b220d6a2203411c36022420034184e6c78000360220200341cc0036021c200341b8e5c78000360218200341ce00360214200341eae4c780003602102003410036020c200342aa80808010370204200341c0e4c780003602002003417e6a200d3b0000200241023602b8032002200c3602b403200241023602b00320024180848080003602182002428ea6df87f2c099fc2d370310200242e8c088f2fcf8cefede003703082002410c360204200241aae2c78000360200200241ca818080003602d802200242f8eee7c886bf81d5703703d00220024295c1ad8e90b4e6e9413703c802200241073602c402200241b9e4c780003602c002200242013702a4022002200b3602a0022002429080808010370398022002200636029402200241103602900220024181848080003602880220024287b49fc2e39fcbeefe0037038002200242d19dc5a4b9a0fb82a67f3703f801200241083602f40120024190e4c780003602f001200242013702d401200220093602d00120024284808080103703c801200220083602c401200241043602c001200241bb808080003602b801200242d7c9cb8fc1cf97db3e3703b001200242e88488d0c0e3aebc133703a8012002410e3602a401200241c0e3c780003602a001200242013702840120022007360280012002428c80808010370378200220043602742002410c3602702002418284808000360268200242f1be89fe9eab88b72f370360200242f5a09588d9c8c5f14b3703582002410b360254200241e0e2c7800036025020024201370234200220053602302002410136022c20022001290308370320200241286a200141086a41086a280200360200200242013702f4022002200a3602f002200241013602ec02200242053702c403200220033602c003200241053602bc0320024183848080003602a803200242d7b9acfdf187c880f1003703a003200242a695d4f0d8d1928645370398032002410a36029403200241a0e6c7800036029003200241e8026a200141186a41086a280200360200200220012903183703e00220024184036a200141c4026a41086a2203290200370200200220012902c4023702fc02200241d4036a2003290200370200200220012902c4023702cc03200041063602082000200236020420004106360200200141e0026a2480808080000be00a01097f41002d008083d480001a0240024002400240024002400240024041d00241002802f482d48000118280808000002201450d002001200141076a41787120016b22026a2201417e6a20023b000041002d008083d480001a410841002802f482d48000118280808000002202450d012002200241036a417c7120026b22036a22044123360204200441aae6c780003602002004417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002202450d022002200241036a417c7120026b22036a220541d200360204200541d8e6c780003602002005417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002202450d032002200241036a417c7120026b22036a22064126360204200641afe7c780003602002006417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002202450d042002200241036a417c7120026b22036a220741c800360204200741d9e7c780003602002007417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002202450d052002200241036a417c7120026b22036a22084132360204200841a8e8c780003602002008417e6a20033b000041002d008083d480001a411041002802f482d48000118280808000002202450d062002200241036a417c7120026b22036a2202413336020c200241bbe9c78000360208200241d800360204200241e3e8c780003602002002417e6a20033b000041002d008083d480001a411041002802f482d480001182808080000022030d074104411010ab80808000000b410841d00210ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104411010ab80808000000b2003200341036a417c7120036b22096a2203411936020c200341cbeac78000360208200341d800360204200341f3e9c780003602002003417e6a20093b0000200141023602c802200120033602c402200141023602c002200141bc818080003602b80220014281d8c6a0dcc1f1abf5003703b002200142fcbbed9ecfd6e6994c3703a8022001410b3602a402200141e4eac780003602a002200141023602980220012002360294022001410236029002200141848480800036028802200142ffd0f1e380ae90deba7f37038002200142d7b986aa979abfff0a3703f801200141053602f401200141eee9c780003602f001200141013602e801200120083602e401200141013602e001200141eb808080003602d80120014298a593acd1ceffcb9c7f3703d0012001429e8eaae68bb9afc6513703c801200141093602c401200141dae8c780003602c001200141013602b801200120073602b401200141013602b00120014185848080003602a801200142b4a29ed5abe3f0943d3703a001200142b3c1a1dcc6cdece2c400370398012001410736029401200141a1e8c7800036029001200141013602880120012006360284012001410136028001200141bc80808000360278200142ec8ca7e0e2f0c7e6bf7f370370200142e6e2dea393f0baf43a37036820014104360264200141d5e7c78000360260200141013602582001200536025420014101360250200141bb80808000360248200142d7c9cb8fc1cf97db3e370340200142e88488d0c0e3aebc1337033820014105360234200141aae7c78000360230200141013602282001200436022420014101360220200141c281808000360218200142cc8e8fa3bac0d9ce17370310200142b5cb9ae1a0c5fe9d7e3703082001410b360204200141cde6c780003602002000410736020820002001360204200041073602000b860e01077f0240024002400240024002400240024002400240024020002d00000e080001020304050607000b200041086a21020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00002002200110d5858080000f0b200041186a2102200041046a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00002003200110c08c8080002002200110d5858080000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41023a00000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200041016a2100200128020420026a41033a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010f491808000200128020821020b2001200241206a360208200128020420026a22012000290000370000200141086a200041086a290000370000200141106a200041106a290000370000200141186a200041186a2900003700000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200041016a2100200128020420026a41043a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010f491808000200128020821020b2001200241206a360208200128020420026a22012000290000370000200141086a200041086a290000370000200141106a200041106a290000370000200141186a200041186a2900003700000f0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041016a2102200128020420036a41053a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22042002290000370000200441086a200241086a290000370000200441106a200241106a290000370000200441186a200241186a2900003700002001200341206a220336020841002d008083d480001a412041002802f482d48000118280808000002202450d022002417e6a220441003b00002002200041216a2200290000370000200241086a200041086a290000370000200241106a200041106a290000370000200241186a200041186a2900003700000240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22002002290000370000200041086a200241086a290000370000200041106a200241106a290000370000200041186a200241186a2900003700002001200341206a360208200220042f00006b41002802ec82d48000118180808000000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200128020420026a41063a00002001200241016a220336020841002d008083d480001a412041002802f482d48000118280808000002202450d022002417e6a220541003b00002002200041016a2204290000370000200241086a2206200441086a290000370000200241106a2207200441106a290000370000200241186a2208200441186a2900003700000240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22042002290000370000200441086a2006290000370000200441106a2007290000370000200441186a20082900003700002001200341206a360208200220052f00006b41002802ec82d480001181808080000020002d002121020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200128020420026a41073a00002001200241016a220336020841002d008083d480001a412041002802f482d48000118280808000002202450d02200041246a21042002417e6a220541003b00002002200041016a2200290000370000200241086a2206200041086a290000370000200241106a2207200041106a290000370000200241186a2208200041186a2900003700000240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22002002290000370000200041086a2006290000370000200041106a2007290000370000200041186a20082900003700002001200341206a360208200220052f00006b41002802ec82d48000118180808000002004200110c08c8080000f0b4101412010ab80808000000b4101412010ab80808000000b4101412010ab80808000000bae0303017f017e017f41002101024002400240024002400240024002400240024020002d00000e080001090202020304000b02402000290308220242c0005a0d00410321010c080b2002428080015a0d06410421010c070b20002d000441027441f4a5c880006a210102402000290318220242c0005a0d00410321030c050b2002428080015a0d03410421030c040b412021010c060b410121010c050b20002d002441027441f4a5c880006a28020021010c040b024020024280808080045a0d00410621030c010b410b200279a74103766b21030b20012802002101024002402000290320220242c0005a0d00410121000c010b02402002428080015a0d00410221000c010b024020024280808080045a0d00410421000c010b4109200279a74103766b21000b200320016a20006a21010c020b024020024280808080045a0d00410621010c010b410b200279a74103766b21010b02402000290310220242c0005a0d00410120016a21010c010b02402002428080015a0d00410220016a21010c010b024020024280808080045a0d00410420016a21010c010b4109200279a74103766b20016a21010b200141016a0be80603067f017e027f23808080800041c0006b2201248080808000200141186a41f1edc78000410441b2c6c7800041144104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241f5edc780003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903c0eec780003702002001410036020820014280808080c000370200200141306a200141cfc2c78000410610e9838080002001200141306a41d5c2c78000410e10c184808000200141306a200141e3c2c78000410810b9848080002001200141306a41ebc2c78000411710a484808000200141306a20014182c3c78000410b10de838080002001200141306a418dc3c78000410c108c84808000200141306a20014199c3c78000410b10a2848080002001200141306a41a4c3c78000411110ae84808000200141306a200141b5c3c780004111109a848080002001200141306a41c6c3c78000412010df83808000200141246a200141e6c3c78000411810a9848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841d484c8800010b980808000000b41bc91c38000411141d091c3800010a181808000000bdf1403077f017e027f23808080800041c0006b2201248080808000200141206a41c8eec78000410541b2c6c7800041144104410010c292808000200142043702182001420037021020014280808080800137020841002d008083d480001a024002400240024002400240024002400240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241f5edc780003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c20012002360234200141086a200141306a419c91c3800010f38e80800041002d008083d480001a20012802082104200128020c2105200128021021062001280220210720012902242108410841002802f482d48000118280808000002202450d012002200241036a417c71220920026b22036a417e6a20033b0000200941002903e8eec7800037020041002d008083d480001a2001410036021020014280808080c000370208411041002802f482d48000118280808000002202450d022002200241036a417c71220320026b220a6a417e6a200a3b0000200341086a41002902a8acc38000370200200341002902a0acc38000370200200141086a418c90c3800010a093808000200128020c2202428080808020370208200242808080808001370200200241003a00202002410f36021c200241f0eec780003602182002410236021420022003360210200141306a41086a41013602002001200129020837033041002d008083d480001a411041002802f482d48000118280808000002202450d032002200241036a417c71220320026b220a6a417e6a200a3b0000200341086a41002902b8adc38000370200200341002902b0adc3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241013a00202002411a36021c200241ffeec7800036021820024102360214200220033602102002428080808020370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a411841002802f482d48000118280808000002202450d042002200241036a417c71220320026b220a6a417e6a200a3b0000200341106a41002902f0afc38000370200200341086a41002902e8afc38000370200200341002902e0afc3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241023a00202002411d36021c20024199efc7800036021820024103360214200220033602102002428080808030370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d052002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902d8aec3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241033a00202002411336021c200241b6efc7800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d062002200241036a417c71220320026b220a6a417e6a200a3b000020034100290290aec3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241043a00202002410f36021c200241c9efc7800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d072002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902c0abc3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241053a00202002410c36021c200241d8efc7800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d082002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902f0b0c3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241063a00202002411b36021c200241e4efc7800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d092002200241036a417c71220320026b220a6a417e6a200a3b000020034100290290b0c3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241073a00202002411136021c200241ffefc7800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d0a2002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902d8acc380003702000240200128021022022001280208470d00200141086a418c90c3800010a0938080000b200128020c200241246c220a6a220241083a00202002410c36021c20024190f0c7800036021820024101360214200220033602102002428080808010370208200242808080808001370200200128020c2102200120012802083602102001200236020820012002200a6a41246a3602142001200236020c200141306a200141086a419c91c3800010f48e8080002007418080808078460d0b20012004360210200120053602082001200536020c2001200520064105746a360214200041c4006a200141086a41a0e0c6800010f38e808000200141136a200141306a41086a2802003600002000200837023c20002007360238200041013a00002000410136025820002009360254200041013602502001200129023037000b20002001290008370001200041086a2001410f6a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841d484c8800010b980808000000b4104411010ab80808000000b4104411010ab80808000000b4104411810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000bed0703067f017e037f23808080800041c0006b2201248080808000200141186a419cf0c78000410541b2c6c7800041144104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a0240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241f5edc780003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903c0f0c780003702002001410036020820014280808080c000370200200141306a200141c8f0c78000411010b3848080002001200141306a41d8f0c78000410f10dd8380800041002d008083d480001a410841002802f482d48000118280808000002202450d022002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902d8b2c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220241023a00202002410b36021c200241e7f0c7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a2209200a41016a360200200120012902003703302001200141306a41f2f0c78000410a10bd84808000200141306a200141fcf0c78000410d10e6838080002001200141306a4189f1c780004108109584808000200141306a20014191f1c78000411110d883808000200141246a200141306a41a2f1c78000412010bb848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d032001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a20092802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841d484c8800010b980808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000ba01404057f027e027f027e23808080800041b0016b220224808080800002400240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a00000240024002400240024002400240024002400240024020040e0c00010203040506070d08090a0d0b2002200110cf8480800002400240024020022802004101710d00200241d4006a200120022802041086838080002002280254418080808078470d010b410021030c010b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000410121030b200020033a00000c0d0b2001280200220328020c2201280208220528020422044108490d0a2005200441786a36020420052005280200220441086a3602002001427f2001290300220742087c220820082007541b3703002004290000210702402003280200200328020822056b41074b0d002003200541084101410110a386808000200328020821050b20002007370308200041023a00002003200541086a360208200328020420056a20073700000c0c0b200241086a200110cf848080000240024020022802084101710d00200241d4006a2001200228020c1086838080002002280254418080808078470d010b200041003a00000c0c0b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041033a00000c0b0b200241106a200110cf848080000240024020022802104101710d00200241d4006a200120022802141086838080002002280254418080808078470d010b200041003a00000c0b0b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041043a00000c0a0b200241186a200110cf848080000240024020022802184101710d00200241d4006a2001200228021c10a6838080002002280254418080808078470d010b200041003a00000c0a0b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041053a00000c090b200241206a200110cf848080000240024020022802204101710d00200241d4006a200120022802241085838080002002280254418080808078470d010b200041003a00000c090b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041063a00000c080b200241286a200110cf848080000240024020022802284101710d00200241c4006a2001200228022c10868380800020022802442205418080808078470d010b200041003a00000c080b2002280248210402402001280200220328020c2206280208220128020422094104490d00200228024c210a20012009417c6a36020420012001280200220941046a3602002006427f2006290300220742047c220820082007541b3703002009280000210602402003280200200328020822016b41034b0d002003200141044101410110a386808000200328020821010b2000200a3602102000200436020c2000200536020820002006360204200041073a00002003200141046a360208200328020420016a20063600000c080b200041003a00002005450d0720042004417e6a2f00006b41002802ec82d48000118180808000000c070b200241306a200110cf848080000240024020022802304101710d00200241d4006a200120022802341086838080002002280254418080808078470d010b200041003a00000c070b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041083a00000c060b4100210502402001280200220328020c2204280208220128020422064120490d002001280200220541186a2900002107200541106a2900002108200541086a290000210b2005290000210c2001200541206a3602002001200641606a360204200241f0006a41086a2206200b370300200241f0006a41106a22092008370300200241f0006a41186a220a20073703002004427f2004290300220742207c220820082007541b3703002002200c37037002402003280200200328020822016b411f4b0d002003200141204101410110a386808000200328020821010b200328020420016a220520022903702207370000200541186a200a2903002208370000200541106a2009290300220b370000200541086a2006290300220c3700002000200737000141092105200041096a200c370000200041116a200b370000200041196a20083700002003200141206a3602080b200020053a00000c050b4100210502402001280200220328020c2204280208220128020422064120490d002001280200220541186a2900002107200541106a2900002108200541086a290000210b2005290000210c2001200541206a3602002001200641606a36020420024190016a41086a2206200b37030020024190016a41106a2209200837030020024190016a41186a220a20073703002004427f2004290300220742207c220820082007541b3703002002200c3703900102402003280200200328020822016b411f4b0d002003200141204101410110a386808000200328020821010b200328020420016a22052002290390012207370000200541186a200a2903002208370000200541106a2009290300220b370000200541086a2006290300220c37000020002007370001200041096a200c370000200041116a200b370000200041196a20083700002003200141206a360208410a21050b200020053a00000c040b200241386a200110cf848080000240024020022802384101710d00200241d4006a2001200228023c1086838080002002280254418080808078470d010b200041003a00000c040b200241e0006a41086a200241d4006a41086a2802002203360200200241c4006a410b6a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a2900003700002000410b3a00000c030b200041003a00000c020b200041003a00000c010b200041003a00000b200241b0016a2480808080000baf1404057f027e027f027e23808080800041b0016b220224808080800002400240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a00000240024002400240024002400240024002400240024020040e0c00010203040506070d08090a0d0b2002200110ce8480800002400240024020022802004101710d00200241d4006a200120022802041089838080002002280254418080808078470d010b410021030c010b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000410121030b200020033a00000c0d0b2001280200220328020c2201280208280200220528020422044108490d0a2005200441786a36020420052005280200220441086a3602002001427f2001290300220742087c220820082007541b3703002004290000210702402003280200200328020822056b41074b0d002003200541084101410110a386808000200328020821050b20002007370308200041023a00002003200541086a360208200328020420056a20073700000c0c0b200241086a200110ce848080000240024020022802084101710d00200241d4006a2001200228020c1089838080002002280254418080808078470d010b200041003a00000c0c0b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041033a00000c0b0b200241106a200110ce848080000240024020022802104101710d00200241d4006a200120022802141089838080002002280254418080808078470d010b200041003a00000c0b0b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041043a00000c0a0b200241186a200110ce848080000240024020022802184101710d00200241d4006a2001200228021c10a5838080002002280254418080808078470d010b200041003a00000c0a0b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041053a00000c090b200241206a200110ce848080000240024020022802204101710d00200241d4006a200120022802241090838080002002280254418080808078470d010b200041003a00000c090b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041063a00000c080b200241286a200110ce848080000240024020022802284101710d00200241c4006a2001200228022c10898380800020022802442205418080808078470d010b200041003a00000c080b2002280248210402402001280200220328020c2206280208280200220128020422094104490d00200228024c210a20012009417c6a36020420012001280200220941046a3602002006427f2006290300220742047c220820082007541b3703002009280000210602402003280200200328020822016b41034b0d002003200141044101410110a386808000200328020821010b2000200a3602102000200436020c2000200536020820002006360204200041073a00002003200141046a360208200328020420016a20063600000c080b200041003a00002005450d0720042004417e6a2f00006b41002802ec82d48000118180808000000c070b200241306a200110ce848080000240024020022802304101710d00200241d4006a200120022802341089838080002002280254418080808078470d010b200041003a00000c070b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041083a00000c060b4100210502402001280200220328020c2204280208280200220128020422064120490d002001280200220541186a2900002107200541106a2900002108200541086a290000210b2005290000210c2001200541206a3602002001200641606a360204200241f0006a41086a2206200b370300200241f0006a41106a22092008370300200241f0006a41186a220a20073703002004427f2004290300220742207c220820082007541b3703002002200c37037002402003280200200328020822016b411f4b0d002003200141204101410110a386808000200328020821010b200328020420016a220520022903702207370000200541186a200a2903002208370000200541106a2009290300220b370000200541086a2006290300220c3700002000200737000141092105200041096a200c370000200041116a200b370000200041196a20083700002003200141206a3602080b200020053a00000c050b4100210502402001280200220328020c2204280208280200220128020422064120490d002001280200220541186a2900002107200541106a2900002108200541086a290000210b2005290000210c2001200541206a3602002001200641606a36020420024190016a41086a2206200b37030020024190016a41106a2209200837030020024190016a41186a220a20073703002004427f2004290300220742207c220820082007541b3703002002200c3703900102402003280200200328020822016b411f4b0d002003200141204101410110a386808000200328020821010b200328020420016a22052002290390012207370000200541186a200a2903002208370000200541106a2009290300220b370000200541086a2006290300220c37000020002007370001200041096a200c370000200041116a200b370000200041196a20083700002003200141206a360208410a21050b200020053a00000c040b200241386a200110ce848080000240024020022802384101710d00200241d4006a2001200228023c1089838080002002280254418080808078470d010b200041003a00000c040b200241e0006a41086a200241d4006a41086a2802002203360200200241c4006a410b6a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a2900003700002000410b3a00000c030b200041003a00000c020b200041003a00000c010b200041003a00000b200241b0016a2480808080000bbc1203037f017e047f23808080800041106b22022480808080000240024002400240024002400240024002400240024002400240024020002d0000417f6a0e0b000102030405060708090a000b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41003a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822006b4d0d0020012000200310f491808000200128020821000b200128020420006a2004200310f4978080001a2001200020036a3602080c0a0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41013a00002001200341016a2203360208200029030821050240200128020020036b41074b0d0020012003410810f491808000200128020821030b2001200341086a360208200128020420036a20053700000c090b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41023a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822006b4d0d0020012000200310f491808000200128020821000b200128020420006a2004200310f4978080001a2001200020036a3602080c080b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41033a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822006b4d0d0020012000200310f491808000200128020821000b200128020420006a2004200310f4978080001a2001200020036a3602080c070b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41043a0000200028020821032002200028020c22003602082002200241086a36020c2002410c6a200110dc848080002000450d06200041186c210003402003200110fc8e808000200341186a2103200041686a22000d000c070b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41053a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110dc848080002003450d052003410c6c2106200441086a210303402003417c6a28020021072002200328020022003602082002200241086a36020c2002410c6a200110dc84808000024020002001280200200128020822046b4d0d0020012004200010f491808000200128020821040b200128020420046a2007200010f4978080001a2001200420006a3602082003410c6a2103200641746a22060d000c060b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41063a0000200028020c21062002200028021022033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822046b4d0d0020012004200310f491808000200128020821040b200128020420046a2006200310f4978080001a2001200420036a2203360208200028020421000240200128020020036b41034b0d0020012003410410f491808000200128020821030b2001200341046a360208200128020420036a20003600000c040b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41073a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822006b4d0d0020012000200310f491808000200128020821000b200128020420006a2004200310f4978080001a2001200020036a3602080c030b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41093a00002001200341016a220436020841002d008083d480001a412041002802f482d48000118280808000002203450d032003417e6a220641003b00002003200041016a2200290000370000200341086a2207200041086a290000370000200341106a2208200041106a290000370000200341186a2209200041186a2900003700000240200128020020046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22002003290000370000200041086a2007290000370000200041106a2008290000370000200041186a20092900003700002001200441206a360208200320062f00006b41002802ec82d48000118180808000000c020b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a410a3a00002001200341016a220436020841002d008083d480001a412041002802f482d48000118280808000002203450d032003417e6a220641003b00002003200041016a2200290000370000200341086a2207200041086a290000370000200341106a2208200041106a290000370000200341186a2209200041186a2900003700000240200128020020046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22002003290000370000200041086a2007290000370000200041106a2008290000370000200041186a20092900003700002001200441206a360208200320062f00006b41002802ec82d48000118180808000000c010b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a410b3a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822006b4d0d0020012000200310f491808000200128020821000b200128020420006a2004200310f4978080001a2001200020036a3602080b200241106a2480808080000f0b4101412010ab80808000000b4101412010ab80808000000b8c0403017f027e027f23808080800041f0006b22032480808080002002290338210420022903302105200341e4006a200110c986808000200320032802682206200328026c10e38580800002402003280264450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200341e4006a200110c986808000200320032802682206200328026c10e3858080002003280200200328025841004771210702402003280264450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b0240024020070d00200341e4006a200110c986808000200320032802682206200328026c10e3858080002003280200200328025c41004771210702402003280264450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20070d002003200110c986808000200328020422022003280208410028029482d48000118b80808000002003280200450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b200341186a200241086a290300370300200341206a200241106a290300370300200341286a200241186a290300370300200341306a200241206a290300370300200341386a200241286a29030037030020034200370308200342013703002003200537034020032004370348200320022903003703102001200310f0868080000b2000410f3a0000200341f0006a2480808080000bf30501057f23808080800041106b22012480808080002001410036020c20014280808080800137020441002d008083d480001a0240024002400240410841002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a22044128360204200441d4f3c780003602002004417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002203450d01200342003700002003417e6a41003b0000200141046a41c884c6800010a086808000200128020822024293888c8f89fdc6ec9e7f37020820024100360200200241013a0074200241013602702002200436026c2002428880808010370264200220033602602002410836025c20024203370244200241d985c680003602402002419981808000360218200242a5e9e3ab9e929adc2c3702102001410136020c41002d008083d480001a412041002802f482d48000118280808000002202450d022002200241036a417c7120026b22036a220441d10036021c20044187f5c78000360218200441d500360214200441b2f4c780003602102004410036020c200442b680808010370204200441fcf3c780003602002004417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002203450d03200341003a00002003417e6a41003b00000240200128020c22052001280204470d00200141046a41c884c6800010a0868080000b2001280208200541f8006c6a220241013a0074200241043602702002200436026c20024281808080c000370264200220033602602002410136025c200242093702442002419f89c68000360240200241e980808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba17437020820024100360200200041086a200541016a3602002000200129020437020020004109360210200041e0e7c4800036020c200141106a2480808080000f0b4104410810ab80808000000b4101410810ab80808000000b4104412010ab80808000000b4101410110ab80808000000bb80301047f41002d008083d480001a02400240024041d00041002802f482d48000118280808000002201450d002001200141076a41787120016b22026a2203417e6a20023b000041002d008083d480001a410841002802f482d48000118280808000002202450d01200242003700002002417e6a41003b000041002d008083d480001a413041002802f482d480001182808080000022010d024104413010ab80808000000b410841d00010ab80808000000b4101410810ab80808000000b2001200141036a417c7120016b22046a2201411c36022c200141f8f7c78000360228200141d800360224200141a0f7c78000360220200141d20036021c200141cef6c78000360218200141d300360214200141fbf5c780003602102001410036020c200142a380808010370204200141d8f5c780003602002001417e6a20043b00002003200236022420034108360220200342063702342003200136023020034288808080e0003703282003419981808000360218200342a5e9e3ab9e929adc2c37031020034293888c8f89fdc6ec9e7f3703082003410d36020420034194f8c780003602002000410136020820002003360204200041013602000b960503067f017e027f23808080800041c0006b2201248080808000200141186a41f1edc78000410441c6c6c7800041184104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241f5edc780003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903c0eec780003702002001410036020820014280808080c000370200200141246a200141d9f8c78000410310c4848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841d484c8800010b980808000000b41bc91c38000411141d091c3800010a181808000000ba40201067f23808080800041106b220224808080800020002802002103024020012802002204200128020822056b41034b0d0020012005410410f49180800020012802002104200128020821050b2001200541046a22063602082001280204220720056a2003360000200028021021050240200420066b41034b0d0020012006410410f49180800020012802042107200128020821060b2001200641046a360208200720066a2005360000200028020821052002200028020c22003602082002200241086a36020c2002410c6a200110dc84808000024020002001280200200128020822066b4d0d0020012006200010f491808000200128020821060b200128020420066a2005200010f4978080001a2001200620006a360208200241106a2480808080000ba10601057f23808080800041306b22012480808080002001410036021420014280808080800137020c41002d008083d480001a024002400240412841002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a220441c30036022420044192fdc78000360220200441d70036021c200441bbfcc78000360218200441dc00360214200441dffbc780003602102004410036020c200442a580808010370204200441bafbc780003602002004417e6a20033b00002001410036022c2001428080808010370224200141186a200141246a1082858080002001410c6a41c884c6800010a0868080002001280210220242f59cb3daaca19ade5f370208200241003602002002420b370244200241a286c68000360240200241e881808000360218200242f38afbbdb6eeb8f8ce003702102002200129021837025c200241013a0074200241053602702002200436026c20024105360268200241e4006a200141206a2802003602002001410136021441002d008083d480001a412041002802f482d48000118280808000002202450d012002200241036a417c7120026b22036a2204413736021c20044183fbc78000360218200441d900360214200441aafac780003602102004410036020c200442c280808010370204200441e8f9c780003602002004417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002203450d02200341003a00002003417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241043602702002200436026c20024281808080c000370264200220033602602002410136025c2002420d370244200241b887c680003602402002418684808000360218200242c0baed88d6bcf485877f370210200242d6b4b4ea9dd193f01737020820024100360200200041086a200541016a3602002000200129020c3702002000410736021020004199e7c4800036020c200141306a2480808080000f0b4104412810ab80808000000b4104412010ab80808000000b4101410110ab80808000000bd50c01077f23808080800041c0006b2200248080808000200041206a41f8e7c48000410641002802d480d4800011868080800000200041206a41106a22014199d3c68000411541002802d480d4800011868080800000200041186a2202200041206a41186a2203290000370300200041106a22042001290000370300200041086a2205200041206a41086a220629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41e9e7c48000410f41002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041023b012020004120200041206a410241002802dc82d4800011838080800000200041206a41e0e7c48000410941002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41d3e7c48000410d41002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41cbe7c48000410841002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041013b012020004120200041206a410241002802dc82d4800011838080800000200041206a41c7e7c48000410441002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41b5e7c48000411241002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41abe7c48000410a41002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41a4e7c48000410741002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41a0e7c48000410441002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a4199e7c48000410741002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041013b012020004120200041206a410241002802dc82d4800011838080800000200041206a418ce7c48000410d41002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041c0006a2480808080000b130020004200370300200041086a42003703000bfb1801047f23808080800041e0006b2201248080808000024041002802b483d480004104490d0020014106360218200141f8e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c20014194c6c78000360248200141163602442001419cc6c780003602402001410436023c20014184c2c78000ad4280808080b0098437023420014100360230200141b2c6c78000ad4280808080c002843702282001410036022420014281808080b02537021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d002001410f360218200141e9e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141d0ecc4800036024820014116360244200141a1edc480003602402001410436023c200141d382c58000ad4280808080d00a8437023420014100360230200141a883c58000ad4280808080f004843702282001410036022420014281808080c01737021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d0020014109360218200141e0e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c20014194c6c78000360248200141163602442001419cc6c780003602402001410436023c200141aec4c78000ad4280808080e0098437023420014100360230200141c6c6c78000ad42808080808003843702282001410036022420014281808080801237021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d002001410d360218200141d3e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141d0ecc4800036024820014116360244200141a1edc480003602402001410436023c2001419cf3c48000ad4280808080e00b8437023420014100360230200141faf3c48000ad4280808080e003843702282001410036022420014281808080f00237021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d0020014108360218200141cbe7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141b8efc68000360248200141163602442001418cf0c680003602402001410436023c200141d5eec68000ad4280808080d0098437023420014100360230200141d6f1c68000ad4280808080f002843702282001410036022420014281808080b01937021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d0020014104360218200141c7e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141d0ecc4800036024820014116360244200141a1edc480003602402001410436023c200141caedc48000ad42808080809009843702342001410036023020014193eec48000ad4280808080b002843702282001410036022420014281808080c01237021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d0020014112360218200141b5e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141d0ecc4800036024820014116360244200141a1edc480003602402001410436023c200141acf7c48000ad4280808080800b843702342001410036023020014184f8c48000ad4280808080a004843702282001410036022420014281808080802837021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d002001410a360218200141abe7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c20014194c6c78000360248200141163602442001419cc6c780003602402001410436023c200141c488c88000ad4280808080900a8437023420014100360230200141c089c88000ad42808080809005843702282001410036022420014281808080800337021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d0020014107360218200141a4e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141b8efc68000360248200141163602442001418cf0c680003602402001410436023c200141c0efc68000ad4280808080c0098437023420014100360230200141a2f0c68000ad4280808080e002843702282001410036022420014281808080900737021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d0020014104360218200141a0e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141d0ecc4800036024820014116360244200141a1edc480003602402001410436023c200141d8ecc48000ad428080808090098437023420014100360230200141b7edc48000ad4280808080b002843702282001410036022420014281808080f00937021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d002001410736021820014199e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c20014194c6c78000360248200141163602442001419cc6c780003602402001410436023c200141ecc9c78000ad4280808080d0098437023420014100360230200141b9cac78000ad4280808080f003843702282001410036022420014281808080c00637021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d002001410d3602182001418ce7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141d0d0c5800036024820014116360244200141abd1c580003602402001410436023c200141d8d0c58000ad4280808080b00a8437023420014100360230200141c1d1c58000ad4280808080d004843702282001410036022420014281808080a00737021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b20004200370300200041086a4200370300200141e0006a2480808080000b9e0302057f037e23808080800041306b220424808080800041c8fec780002105200441c8fec780003602144198fec78000210620044198fec78000360210200441c8fec7800036020c20044198fec78000360208410c210720042001410c702208360218024002402008450d00420021094200210a034020042007417f6a36021c02400240200428021822070d002006210720062005470d012004200428020c2205360214200520042802082207460d040c010b20044100360218200441086a200710b28d8080000d032004280210220720042802142205470d002004200428020c2205360214200520042802082207460d030b2004200741046a2206360210200441206a20014200200220097d220b200b2002561b42002003200a7d220b200b2003561b2007280200118f8080800000427f200a20042903287c220b200b200a541b210a427f200920042903207c220b200b2009541b2109200428021c22070d000c020b0b200441206a20012002200310fb8c8080002004290328210a200429032021090b2000200a37030820002009370300200441306a2480808080000bb61802047f0f7e2380808080004190016b2201248080808000200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141c8006a200141106a411041002802bc82d48000118680808000000240024020012802482202418080808078460d00200128024c2103024020012802504110490d00200141106a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d010c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b010e41002102024041002802b483d4800041024d0d0020014106360224200141f8e7c480003602202001418784808000ad4220862001410e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d480002104200142023702800120014103360278200141d4c9c78000360274200141163602702001419cc6c7800036026c2001410336026820014184c2c78000ad4280808080b009843702602001410036025c200141b2c6c78000ad4280808080c002843702542001410036025020014281808080b0253702482002419cf4ca8000200441024622041b28021021022001200141286a36027c200341b4f4ca800020041b200141c8006a2002118b808080000020012f010e21020b200141c8006a41f8e7c48000410641002802d480d4800011868080800000200141c8006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141c8006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141c8006a41086a29000037030020012001290048370328200120023b0148200141286a4120200141c8006a410241002802dc82d48000118380808000000b200141c8006a10e4868080002001290350210520012903482106200142ebe5e9f6a0afd08944370018200142f087979bfcb996ebf100370010200141c8006a200141106a411041002802bc82d48000118680808000000240024020012802482202418080808078460d00200128024c2103024020012802504110490d00200141106a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d010c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b010e41002102024041002802b483d4800041024d0d0020014109360224200141e0e7c480003602202001418784808000ad4220862001410e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d480002104200142023702800120014103360278200141d4c9c78000360274200141163602702001419cc6c7800036026c20014103360268200141aec4c78000ad4280808080e009843702602001410036025c200141c6c6c78000ad4280808080800384370254200141003602502001428180808080123702482002419cf4ca8000200441024622041b28021021022001200141286a36027c200341b4f4ca800020041b200141c8006a2002118b808080000020012f010e21020b200141c8006a41e0e7c48000410941002802d480d4800011868080800000200141c8006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141c8006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141c8006a41086a29000037030020012001290048370328200120023b0148200141286a4120200141c8006a410241002802dc82d48000118380808000000b200141c8006a10df868080002001290350210720012903482108200141c8006a10ce8c808000200129035021092001290348210a200141c8006a10c4868080002001290350210b2001290348210c200141c8006a10e3868080002001290350210d2001290348210e200142c6c196ffa1d6e8b4b77f370018200142aedff0facad9c6abaa7f370010200141c8006a200141106a411041002802bc82d48000118680808000000240024020012802482202418080808078460d00200128024c2103024020012802504110490d00200141106a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d010c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b010e41002102024041002802b483d4800041024d0d002001410a360224200141abe7c480003602202001418784808000ad4220862001410e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d480002104200142023702800120014103360278200141d4c9c78000360274200141163602702001419cc6c7800036026c20014103360268200141c488c88000ad4280808080900a843702602001410036025c200141c089c88000ad4280808080900584370254200141003602502001428180808080033702482002419cf4ca8000200441024622041b28021021022001200141286a36027c200341b4f4ca800020041b200141c8006a2002118b808080000020012f010e21020b200141c8006a41abe7c48000410a41002802d480d4800011868080800000200141c8006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141c8006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141c8006a41086a29000037030020012001290048370328200120023b0148200141286a4120200141c8006a410241002802dc82d48000118380808000000b200141c8006a10c58c8080002001290350210f20012903482110200141c8006a10c286808000200129035021112001290348211220014284c2b1b3ef9292841e370018200142bce2f4b8c5daf6fa29370010200141c8006a200141106a411041002802bc82d48000118680808000000240024020012802482202418080808078460d00200128024c2103024020012802504110490d00200141106a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d010c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b024041002802b483d4800041024d0d002001410736022420014199e7c480003602202001418784808000ad42208641d8cac78000ad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d4800021042001420237028001200141d4cbc78000360274200141163602702001419cc6c7800036026c20014103360268200141ecc9c78000ad4280808080d009843702602001410036025c200141b9cac78000ad4280808080f003843702542001410036025020014281808080c006370248200141023602782002419cf4ca8000200441024622041b28021021022001200141286a36027c200341b4f4ca800020041b200141c8006a2002118b80808000000b200141c8006a4199e7c48000410741002802d480d4800011868080800000200141c8006a41106a22024199d3c68000411541002802d480d4800011868080800000200141286a41186a200141c8006a41186a290000370300200141286a41106a2002290000370300200141286a41086a200141c8006a41086a29000037030020012001290048370328200141013b0148200141286a4120200141c8006a410241002802dc82d48000118380808000000b200141c8006a10d887808000200129034821132000427f427f427f427f427f427f427f200520077c220720072005541b220520097c220720072005541b2205200b7c220720072005541b2205200d7c220720072005541b2205200f7c220720072005541b220520117c220720072005541b220520012903507c220720072005541b3703082000427f2013427f427f427f427f427f427f200620087c220520052006541b2205200a7c220620062005541b2205200c7c220620062005541b2205200e7c220620062005541b220520107c220620062005541b220520127c220620062005541b22057c220620062005541b37030020014190016a2480808080000bbc0201047f23808080800041306b22022480808080002002200036020c4101210002402001280200220341e082c88000410e2001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110a5858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a5858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000bf70302027f017e23808080800041c0006b2201248080808000200010948780800020014287fabfddaff098b0e500370038200142bba3a3a09cb1a6b277370030200142ebe5e9f6a0afd08944370028200142f087979bfcb996ebf1003700200240200141206a412010ea8580800041ff017122024102460d00200141206a4120410028029482d48000118b80808000002002410171450d00200010938780800020014282fceae49dd9e2861d370038200142de8c84a1ecd0a6d30c37003020014289df9d82f381819238370028200142d7f0f3fea28baccae700370020200141146a200141206a412010e885808000024002402001280214418080808078460d00200141086a41086a200141146a41086a2802003602002001200129021422033703082003a74521000c010b200141003602102001428080808010370308410121000b20014282fceae49dd9e2861d370038200142de8c84a1ecd0a6d30c37003020014284c2b1b3ef9292841e370028200142bce2f4b8c5daf6fa29370020200141086a200141206a412010f784808000024020000d00200128020c22002000417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a2480808080000f0b200141003602302001410136022420014180fec7800036022020014204370228200141206a4188fec7800010fe80808000000bdd0502027f047e23808080800041306b2202248080808000200241186a2203420037030020024200370310200241023a0004200241106a200241046a10ff88808000200241106a20011095878080002002290310210420022002290318220537031820022004370310200241023a0004200241106a200241046a10ff8880800020024200370318200242b08fc601370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff88808000200241106a20011091878080002002290310210620022002290318220737031820022006370310200241023a0004200241106a200241046a10ff8880800020024282fceae49dd9e2861d370028200242de8c84a1ecd0a6d30c37002020024284c2b1b3ef9292841e370018200242bce2f4b8c5daf6fa29370010200241046a200241106a412010e885808000024020022802042203418080808078460d002003450d00200228020822032003417e6a2f00006b41002802ec82d48000118180808000000b200241186a2203420037030020024200370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff888080002000427f200520077c220720072005541b3703082000427f427f200442b08fc6017c220520052004541b220420067c220520052004541b370300200241306a2480808080000be71201037f23808080800041106b2202248080808000024002400240024002400240024002400240024002400240200028020022002d0000417f6a0e0b000102030405060708090a000b2002200041046a360204200128020041efeac78000410c200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41cfc2c780004106200241046a41fceac78000108a81808000210320022d000d220020022d000c220472210120004101470d0a20044101710d0a0240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c0b0b200128020041dc80c280004101200128020428020c1180808080000021010c0a0b2002200041086a3602042001280200418cebc780004114200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41b0ebc780004105200241046a41a0ebc78000108a81808000210320022d000d220020022d000c220472210120004101470d0920044101710d090240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c0a0b200128020041dc80c280004101200128020428020c1180808080000021010c090b2002200041046a360204200128020041b5ebc78000410e200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c3ebc780004104200241046a41fceac78000108a81808000210320022d000d220020022d000c220472210120004101470d0820044101710d080240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c090b200128020041dc80c280004101200128020428020c1180808080000021010c080b2002200041046a360204200128020041c7ebc78000411d200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c3ebc780004104200241046a41fceac78000108a81808000210320022d000d220020022d000c220472210120004101470d0720044101710d070240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c080b200128020041dc80c280004101200128020428020c1180808080000021010c070b2002200041046a360204200128020041e4ebc780004111200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a4188ecc780004105200241046a41f8ebc78000108a81808000210320022d000d220020022d000c220472210120004101470d0620044101710d060240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c070b200128020041dc80c280004101200128020428020c1180808080000021010c060b2002200041046a3602042001280200418decc780004112200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41b0ecc780004104200241046a41a0ecc78000108a81808000210320022d000d220020022d000c220472210120004101470d0520044101710d050240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c060b200128020041dc80c280004101200128020428020c1180808080000021010c050b2002200041086a3602002002200041046a360204200128020041b4ecc780004111200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c5ecc780004106200241fceac78000108a8180800041dcecc780004107200241046a41ccecc78000108a81808000210320022d000d220020022d000c220472210120004101470d0420044101710d040240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c050b200128020041dc80c280004101200128020428020c1180808080000021010c040b2002200041046a360204200128020041e3ecc780004117200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41cfc2c780004106200241046a41fceac78000108a81808000210320022d000d220020022d000c220472210120004101470d0320044101710d030240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c040b200128020041dc80c280004101200128020428020c1180808080000021010c030b2002200041016a360204200128020041faecc780004117200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41a4edc780004109200241046a4194edc78000108a81808000210320022d000d220020022d000c220472210120004101470d0220044101710d020240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c030b200128020041dc80c280004101200128020428020c1180808080000021010c020b2002200041016a360204200128020041adedc780004126200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41a4edc780004109200241046a4194edc78000108a81808000210320022d000d220020022d000c220472210120004101470d0120044101710d010240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b2002200041046a360204200128020041d3edc78000411e200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c3ebc780004104200241046a41fceac78000108a81808000210320022d000d220020022d000c220472210120004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b900201037f23808080800041106b220224808080800020022000280200220041046a3602042001280200419882c880004109200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41a182c88000410b200041f881c88000108a8180800041ac82c880004109200241046a418882c88000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b800401047f23808080800041306b2202248080808000200028020021002001280200220341014100200128020428020c22041180808080000021052002200041046a36020c024002402005450d00410121050c010b0240024020012d000a418001710d0041012105200341df80c2800041012004118080808000000d022000200110fd91808000450d010c020b0240200341e080c280004102200411808080800000450d00410121050c020b41012105200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a3602202000200241206a10fd918080000d01200228022041da80c280004102200228022428020c118080808000000d010b0240024020012d000a418001710d000240200128020041d380c280004102200128020428020c11808080800000450d00410121050c030b410121052002410c6a200110b285808000450d010c020b41012105200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10b2858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021050b200241306a24808080800020050b800401047f23808080800041306b2202248080808000200028020021002001280200220341014100200128020428020c22041180808080000021052002200041046a36020c024002402005450d00410121050c010b0240024020012d000a418001710d0041012105200341df80c2800041012004118080808000000d022000200110fd91808000450d010c020b0240200341e080c280004102200411808080800000450d00410121050c020b41012105200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a3602202000200241206a10fd918080000d01200228022041da80c280004102200228022428020c118080808000000d010b0240024020012d000a418001710d000240200128020041d380c280004102200128020428020c11808080800000450d00410121050c030b410121052002410c6a200110ae85808000450d010c020b41012105200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ae858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021050b200241306a24808080800020050bf50101037f23808080800041106b220224808080800020022000280200360204200128020041cdf8c780004109200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41d6f8c780004103200241046a41a0ebc78000108a81808000210320022d000d220020022d000c2204722101024020004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b890601037f23808080800041106b22022480808080000240024002400240024002402000280200220328020022004182808080786a41012000418480808078481b417f6a0e050001020304000b20022003360204200128020041e989c880004125200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a418e8ac88000410d200241046a41fceac78000108a81808000210420022d000d220020022d000c220372210120004101470d0420034101710d040240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c050b200128020041dc80c280004101200128020428020c1180808080000021010c040b2001280200419b8ac880004120200128020428020c1180808080000021010c030b200128020041bb8ac88000411e200128020428020c1180808080000021010c020b2002200341046a360204200128020041d98ac880004119200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41f28ac880004107200241046a41ccecc78000108a81808000210420022d000d220020022d000c220372210120004101470d0120034101710d010240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b2002200341046a360204200128020041f98ac88000411b200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41e486c880004103200241046a41ccecc78000108a81808000210420022d000d220020022d000c220372210120004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b900201037f23808080800041106b220224808080800020022000280200220041086a360204200128020041c882c880004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41ce82c880004108200041b882c88000108a8180800041d682c88000410a200241046a41a0ebc78000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b1e00200128020041d4f9c780004114200128020428020c118080808000000bc00402057f027e23808080800041306b2203248080808000410121042002280200220541e580c280004101200228020428020c22061180808080000021070240024020010d00200721040c010b2003200036020c024020070d00024020022d000a41800171450d0041012104200541e380c2800041012006118080808000000d012002290200210841012104200341013a001f20032008370210200341b480c280003602242003200229020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10818e8080000d01200328022041da80c280004102200328022428020c1180808080000021040c010b2003410c6a200210818e80800021040b20014101460d00200041286a2107200141286c41586a210103402003200736020c024002402004410171450d00410121040c010b024020022d000a41800171450d002002290208210820022902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10818e808000450d00410121040c020b200328022041da80c280004102200328022428020c1180808080000021040c010b41012104200228020041d380c280004102200228020428020c118080808000000d002003410c6a200210818e80800021040b200741286a2107200141586a22010d000b0b41012107024020040d00200228020041e680c280004101200228020428020c1180808080000021070b200341306a24808080800020070bc00402057f027e23808080800041306b2203248080808000410121042002280200220541e580c280004101200228020428020c22061180808080000021070240024020010d00200721040c010b2003200036020c024020070d00024020022d000a41800171450d0041012104200541e380c2800041012006118080808000000d012002290200210841012104200341013a001f20032008370210200341b480c280003602242003200229020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10808e8080000d01200328022041da80c280004102200328022428020c1180808080000021040c010b2003410c6a200210808e80800021040b20014101460d00200041146a2107200141146c416c6a210103402003200736020c024002402004410171450d00410121040c010b024020022d000a41800171450d002002290208210820022902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10808e808000450d00410121040c020b200328022041da80c280004102200328022428020c1180808080000021040c010b41012104200228020041d380c280004102200228020428020c118080808000000d002003410c6a200210808e80800021040b200741146a21072001416c6a22010d000b0b41012107024020040d00200228020041e680c280004101200228020428020c1180808080000021070b200341306a24808080800020070bb40202027f017e2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002903004101200110fc8080800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000bad06010c7f23808080800041306b2202248080808000024020012802202203450d0020002d0004210420002d0005210520002802002106200128020021072001280204210820012802082109200128020c210a03402005210b0240024002402007410171450d00024002402008450d00200a21012009210c200821090c010b41012107410021010240200a450d00200a21050240200a410771220c450d0003402005417f6a2105200928028c012109200c417f6a220c0d000b0b200a4108490d000340200928028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012109200541786a22050d000b0b4100210c0b024002400240200120092f018a014f0d00200921050c010b034020092802002205450d02200c41016a210c20092f018801210120052109200120052f018a014f0d000b0b200c0d02200141016a210a200521080c030b41f891c6800010a081808000000b418892c6800010a081808000000b200520014102746a4190016a28020021084100210a200c417f6a2209450d00200c417e6a210d02402009410771220c450d0003402009417f6a2109200828028c012108200c417f6a220c0d000b0b200d4107490d000340200828028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012108200941786a22090d000b0b200220052001410c6c6a41046a36020c410121052004410171210941012104024020090d000240024020062d000a418001710d00200b410171450d0141012104200628020041d380c280004102200628020428020c11808080800000450d010c020b0240200b4101710d0041012104200628020041e380c280004101200628020428020c118080808000000d020b200241013a001f200241b480c28000360224200220062902003702102002200629020837022820022002411f6a3602182002200241106a36022002402002410c6a200241206a10828f808000450d00410121040c020b200228022041da80c280004102200228022428020c1180808080000021040c010b2002410c6a200610828f80800021040b200041013a0005200020043a0004410021092003417f6a22030d000b0b200241306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141206a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10848d8080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510848d80800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510848d80800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10848d808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741206a22072002470d000b0b200341306a24808080800020000bd00402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c20014180086a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a109e858080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a2005109e8580800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a2005109e8580800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a109e85808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a000420074180086a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141206a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10e78c8080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510e78c80800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510e78c80800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10e78c808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741206a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141246a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10ae858080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510ae8580800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510ae8580800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10ae85808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741246a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c2001410c6a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10828f8080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510828f80800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510828f80800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10828f808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a00042007410c6a22072002470d000b0b200341306a24808080800020000bd00402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141f0006a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10a4858080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510a48580800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510a48580800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10a485808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741f0006a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141106a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10a9858080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510a98580800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510a98580800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10a985808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741106a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141146a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a108c8c8080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a2005108c8c80800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a2005108c8c80800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a108c8c808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741146a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141186a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10898f8080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510898f80800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510898f80800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10898f808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741186a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141016a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10aa858080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510aa8580800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510aa8580800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10aa85808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741016a22072002470d000b0b200341306a24808080800020000b5601017f0240200028020022002802000d002000280208450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002000417e6a2f00006b41002802ec82d48000118180808000000bb80201027f23808080800041306b22012480808080000240024002400240024020002d00000e050404010203000b02400240200028020422020d0041002100410021020c010b2001200236022420014100360220200120023602142001410036021020012000280208220236022820012002360218200028020c2102410121000b2001200236022c2001200036021c2001200036020c2001410c6a10c7898080000c030b2000280204450d02200028020822002000417e6a2f00006b41002802ec82d48000118180808000000c020b2000280204450d01200028020822002000417e6a2f00006b41002802ec82d48000118180808000000c010b200041046a10a18f8080002000280204450d00200028020822002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000b9f0301047f23808080800041306b2202248080808000024002400240024020002d00000e03000102000b410121032002200041016a36020c2001280200220041b080c8800041122001280204220428020c2205118080808000000d020240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d042002410c6a200110ac85808000450d010c040b200041e080c2800041022005118080808000000d0341012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ac858080000d03200228022041da80c280004102200228022428020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021030c020b2002200041016a2200360220200141c280c88000410e20004188d1c78000200241206a41a080c8800010b98180800021030c010b200128020041d080c880004112200128020428020c1180808080000021030b200241306a24808080800020030b8b0201037f23808080800041106b22022480808080002002200041086a360204200128020041c882c880004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41ce82c880004108200041b882c88000108a8180800041d682c88000410a200241046a41a0ebc78000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b1e00200128020041c8eec780004105200128020428020c118080808000000bf50302037f017e23808080800041c0006b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360230200441306a4100410010f59280800021000c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020020042000290204220737021820042002360214200441206a200310f28c808000024020042d00204106470d00200428022421002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b200441306a41086a200441206a41086a29020037030020042004290220370330200441046a2000410c6a200441146a200441306a10a4898080004100210020042d00044106460d01200441046a10968e8080000c010b2004410d360230200441306a4100410010f59280800021000b200441c0006a24808080800020000bac0301037f23808080800041306b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360220200441206a4100410010f59280800021060c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020041002106200441003a0023200441003b00212004420037022820044100360224200441053a00202004200029020437021820042002360214200441046a2000410c6a200441146a200441206a10a48980800020042d00044106460d01200441046a10968e8080000c010b2004410d360220200441206a4100410010f59280800021060b200441306a24808080800020060b9e0301037f23808080800041306b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360220200441206a4100410010f59280800021060c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b20002002360208200020063602042000418080808078360200410021062004410036022c20044100360224200441053a00202004200029020437021820042002360214200441046a2000410c6a200441146a200441206a10a48980800020042d00044106460d01200441046a10968e8080000c010b2004410d360220200441206a4100410010f59280800021060b200441306a24808080800020060bc00402037f017e23808080800041d0006b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360240200441c0006a4100410010f59280800021000c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020020042000290204220737022820042002360224200441306a2003109d8b808000024020042d00304106470d00200428023421002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b200441c0006a41086a200441306a41086a29020037030020042004290230370340200441146a2000410c6a200441246a200441c0006a10a4898080004100210020042d00144106460d01200441146a10968e8080000c010b200441046a2003109e8b808000024020042d00044106470d00200428020821000c010b200041046a2102024020002d00044106460d00200210968e8080000b20022004290204370200200241086a200441046a41086a290200370200410021000b200441d0006a24808080800020000bbd0302037f017e23808080800041306b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360220200441206a4100410010f59280800021000c020b4100210602400240024020024100480d0020033502002107024020020d00410121030c030b41002d008083d480001a200241002802f482d480001182808080000022030d01410121060b2006200241d484c8800010b980808000000b2003417e6a41003b000020032001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200336020420004180808080783602002004200029020437021820042002360214200441046a200710e892808000200441023a00202004200429020837022820042004280204360224200441046a2000410c6a200441146a200441206a10a489808000024020042d00044106460d00200441046a10968e8080000b410021000c010b2004410d360220200441206a4100410010f59280800021000b200441306a24808080800020000b9d0701067f23808080800041306b2204248080808000024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360220200441206a4100410010f59280800021020c030b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b20002002360208200020063602042000418080808078360200200420002902043702182004200236021402400240200328020822020d00410021022004410036020c20044280808080c0003702040c010b2003280204210341002d008083d480001a2002410474220541002802f482d48000118280808000002206450d022006200641036a417c71220520066b22016a417e6a20013b00002004410036020c200420053602082004200236020420024105742107410c210541002101034041002106200441206a200341002f019480d4800010a38d808000024002400240200428022822024100480d0020042802242106024020020d00410121080c030b41002d008083d480001a200241002802f482d480001182808080000022080d01410121060b2006200241b0bfc7800010b980808000000b2008417e6a41003b00000b20082006200210f497808000210802402004280220450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b024020012004280204470d00200441046a41d483c8800010ed928080000b200341206a2103200428020820056a22062002360200200641756a220920042f00203b0000200641746a41033a00002006417c6a2008360200200641786a2002360200200941026a200441206a41026a2d00003a00002004200141016a220136020c200541106a2105200741606a22070d000b200428020421020b2004200429020837022820042002360224200441043a0020200441046a2000410c6a200441146a200441206a10a489808000024020042d00044106460d00200441046a10968e8080000b410021020c020b2004410d360220200441206a4100410010f59280800021020c010b4104200541b0c0cc800010b980808000000b200441306a24808080800020020bb50502037f017e23808080800041c0006b2204248080808000024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360228200441286a4100410010f59280800021060c030b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200636020420004180808080783602002004200029020422073702102004200236020c2004410036023c2004410036023420044180808080783602280240200441286a4194fec48000410b2003109f8e80800022060d00200428022c21050240024020042802282202418180808078470d00200541ff01714106460d01200541087621022004290234210720042802302103200521010c040b4105210120042902382107200428023421030240200241808080807872418080808078460d0020052005417e6a2f00006b41002802ec82d48000118180808000000b0c030b41c0c0cc8000411c41dcc0cc800010a181808000000b200441286a10d4868080002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b2004410d360228200441286a4100410010f59280800021060c010b200420073702202004200336021c200420013a0018200420023b0019200420024110763a001b200441286a2000410c6a2004410c6a200441186a10a48980800020042d00284106460d00200441286a10968e8080000b200441c0006a24808080800020060bb50502037f017e23808080800041c0006b2204248080808000024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360228200441286a4100410010f59280800021060c030b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200636020420004180808080783602002004200029020422073702102004200236020c2004410036023c2004410036023420044180808080783602280240200441286a418c93c58000410a2003109d8e80800022060d00200428022c21050240024020042802282202418180808078470d00200541ff01714106460d01200541087621022004290234210720042802302103200521010c040b4105210120042902382107200428023421030240200241808080807872418080808078460d0020052005417e6a2f00006b41002802ec82d48000118180808000000b0c030b41c0c0cc8000411c41dcc0cc800010a181808000000b200441286a10d4868080002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b2004410d360228200441286a4100410010f59280800021060c010b200420073702202004200336021c200420013a0018200420023b0019200420024110763a001b200441286a2000410c6a2004410c6a200441186a10a48980800020042d00284106460d00200441286a10968e8080000b200441c0006a24808080800020060bb20501037f23808080800041306b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360220200441206a4100410010f59280800021000c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020020042000290204370214200420023602100240024020032d00004101460d00410021030c010b41002106200441206a200341016a41002f019480d4800010a38d808000024002400240200428022822024100480d0020042802242103024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241b0bfc7800010b980808000000b2006417e6a41003b00000b20062003200210f4978080001a02402004280220450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b410321030b200420033a0020200420042f001d3b00212004200236022c200420063602282004200236022420042004411f6a2d00003a002320042000410c6a200441106a200441206a10a489808000024020042d00004106460d00200410968e8080000b410021000c010b024020032d00004101470d002004410d360220200441206a4100410010f59280800021000c010b2004410d360220200441206a4100410010f59280800021000b200441306a24808080800020000b830302037f017e23808080800041306b22042480808080000240024020002802002205418180808078470d002004410d360220200441206a4100410010f59280800021000c010b4100210602400240024020024100480d0020033502002107024020020d00410121030c030b41002d008083d480001a200241002802f482d480001182808080000022030d01410121060b2006200241d484c8800010b980808000000b2003417e6a41003b000020032001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200336020420004180808080783602002004200029020437021820042002360214200441046a200710e892808000200441023a00202004200429020837022820042004280204360224200441046a2000410c6a200441146a200441206a10a489808000024020042d00044106460d00200441046a10968e8080000b410021000b200441306a24808080800020000bb50502037f017e23808080800041c0006b2204248080808000024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360228200441286a4100410010f59280800021060c030b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200636020420004180808080783602002004200029020422073702102004200236020c2004410036023c2004410036023420044180808080783602280240200441286a41b1ffc480004103200310a28e80800022060d00200428022c21050240024020042802282202418180808078470d00200541ff01714106460d01200541087621022004290234210720042802302103200521010c040b4105210120042902382107200428023421030240200241808080807872418080808078460d0020052005417e6a2f00006b41002802ec82d48000118180808000000b0c030b41c0c0cc8000411c41dcc0cc800010a181808000000b200441286a10d4868080002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b2004410d360228200441286a4100410010f59280800021060c010b200420073702202004200336021c200420013a0018200420023b0019200420024110763a001b200441286a2000410c6a2004410c6a200441186a10a48980800020042d00284106460d00200441286a10968e8080000b200441c0006a24808080800020060bc00402037f017e23808080800041d0006b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360240200441c0006a4100410010f59280800021000c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020020042000290204220737022820042002360224200441306a200310998b808000024020042d00304106470d00200428023421002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b200441c0006a41086a200441306a41086a29020037030020042004290230370340200441146a2000410c6a200441246a200441c0006a10a4898080004100210020042d00144106460d01200441146a10968e8080000c010b200441046a2003109a8b808000024020042d00044106470d00200428020821000c010b200041046a2102024020002d00044106460d00200210968e8080000b20022004290204370200200241086a200441046a41086a290200370200410021000b200441d0006a24808080800020000b8c0902067f017e23808080800041c0006b22042480808080000240024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360224200441246a4100410010f59280800021020c040b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200636020420004180808080783602002004200029020437021c2004200236021802400240200328020822020d00410021022004410036023c20044280808080c0003702340c010b2003280204210341002d008083d480001a2002410474220541002802f482d48000118280808000002206450d022003200241306c6a21072006200641036a417c71220520066b22016a417e6a20013b00002004410036023c20042005360238200420023602344108210141002108034041002d008083d480001a412041002802f482d48000118280808000002206450d042006200641036a417c71220220066b22056a417e6a20053b000041002105200441003602102004200236020c20044102360208200441246a200341002f019480d4800010a38d808000024002400240200428022c22064100480d0020042802282105024020060d00410121090c030b41002d008083d480001a200641002802f482d480001182808080000022090d01410121050b2005200641b0bfc7800010b980808000000b2009417e6a41003b00000b20092005200610f497808000210902402004280224450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200220042f00243b0001200241033a00002002200936020820022006360204200241036a200441246a41026a2d00003a00002002200636020c20044101360210200441246a200341206a290300200341286a29030010e9928080002004290228210a200428022421050240200428020822064101470d00200441086a41d483c8800010ed9280800020042802082106200428020c21020b2002200a37021820022005360214200241023a001020044102360210200429020c210a024020082004280234470d00200441346a41d483c8800010ed928080000b200428023820016a2202200a3702002002417c6a2006360200200241786a41043a00002004200841016a220836023c200141106a2101200341306a22032007470d000b200428023421020b2004200429023837022c20042002360228200441043a0024200441086a2000410c6a200441186a200441246a10a489808000024020042d00084106460d00200441086a10968e8080000b410021020c030b2004410d360224200441246a4100410010f59280800021020c020b4104200541b0c0cc800010b980808000000b4104412010ab80808000000b200441c0006a24808080800020020bb50502037f017e23808080800041c0006b2204248080808000024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360228200441286a4100410010f59280800021060c030b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200636020420004180808080783602002004200029020422073702102004200236020c2004410036023c2004410036023420044180808080783602280240200441286a41f892c58000410b200310a38e80800022060d00200428022c21050240024020042802282202418180808078470d00200541ff01714106460d01200541087621022004290234210720042802302103200521010c040b4105210120042902382107200428023421030240200241808080807872418080808078460d0020052005417e6a2f00006b41002802ec82d48000118180808000000b0c030b41c0c0cc8000411c41dcc0cc800010a181808000000b200441286a10d4868080002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b2004410d360228200441286a4100410010f59280800021060c010b200420073702202004200336021c200420013a0018200420023b0019200420024110763a001b200441286a2000410c6a2004410c6a200441186a10a48980800020042d00284106460d00200441286a10968e8080000b200441c0006a24808080800020060bd80602047f017e23808080800041306b2204248080808000024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360220200441206a4100410010f59280800021000c030b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020020042000290204370218200420023602140240024020032802142205418180808078470d00410021020c010b4100210141002d008083d480001a413041002802f482d48000118280808000002206450d022006200641036a417c71220220066b22076a417e6a20073b0000200441206a200335021010e892808000200428022021062002200429022437020820022006360204200241023a0000200441206a2003290300200329030810e992808000200428022021062002200429022437021820022006360214200241023a0010024002402005418080808078470d000c010b41002105024002400240200328021c22064100480d0020032802182105024020060d00410121030c030b41002d008083d480001a200641002802f482d480001182808080000022030d01410121050b2005200641d484c8800010b980808000000b2003417e6a41003b00000b20032005200610f4978080001a410321010b2002200636022c2002200336022820022006360224200220013a00202002ad428080808030842108410421020b2004200837022820044103360224200420023a0020200441046a2000410c6a200441146a200441206a10a489808000024020042d00044106460d00200441046a10968e8080000b410021000c020b02402003280214418180808078460d002004410d360220200441206a4100410010f59280800021000c020b2004410d360220200441206a4100410010f59280800021000c010b4104413010ab80808000000b200441306a24808080800020000bf50302037f017e23808080800041c0006b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360230200441306a4100410010f59280800021000c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020020042000290204220737021820042002360214200441206a200310df8c808000024020042d00204106470d00200428022421002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b200441306a41086a200441206a41086a29020037030020042004290220370330200441046a2000410c6a200441146a200441306a10a4898080004100210020042d00044106460d01200441046a10968e8080000c010b2004410d360230200441306a4100410010f59280800021000b200441c0006a24808080800020000bfa0401017e0240024002400240024002400240024002400240024020012d0000417f6a0e0b000102030405060708090a000b20004200370308200041106a4200370300200041186a4200370300200041206a41003b01002000200135020c42a8d5007e42d0e6e0007c3703000f0b20004200370308200042a0ce8431370300200041013b0120200041106a4200370300200041186a42003703000f0b20004200370310200042db8b04370308200042909288abe404370300200041013b0120200041186a42003703000f0b20004200370310200042db8b04370308200042909288abe404370300200041013b0120200041186a42003703000f0b20004200370308200041013b0120200041106a4200370300200041186a42003703002000200135020c42d0a584307e42c8c2df007c3703000f0b20004200370308200041013b0120200041106a4200370300200041186a42003703002000200135020c42f78efa2f7e42c08fe3007c3703000f0b20004200370310200041013b0120200041186a42003703002000200128020441016a2201417f20011bad220242c6007e3703082000200242869d9f3c7e42a0f4b4017c3703000f0b20004200370308200041106a4200370300200041186a4200370300200041206a41003b01002000200135020c42e2e0007e4288b2a0027c3703000f0b20004200370308200042d0ea8d37370300200041013b0120200041106a4200370300200041186a42003703000f0b20004200370308200042d0ea8d37370300200041013b0120200041106a4200370300200041186a42003703000f0b20004200370310200042db8b04370308200042b0c4b0c3ee04370300200041013b0120200041186a42003703000bc70201037f41002d008083d480001a024002400240411841002802f482d48000118280808000002201450d002001200141036a417c7120016b22026a2201417e6a20023b000041002d008083d480001a410b41002802f482d48000118280808000002202450d01200241002900ea87c880003700002002417e6a41003b0000200241076a41002800f187c8800036000041002d008083d480001a410d41002802f482d48000118280808000002203450d02200341002900f587c880003700002003417e6a41003b0000200341056a41002900fa87c880003700002000410236020820002001360204200041023602002001410d360214200120033602102001428b808080d001370208200120023602042001410b3602000f0b4104411810ab80808000000b4101410b41d484c8800010b980808000000b4101410d41d484c8800010b980808000000ba61d03047f027e017f23808080800041d0026b22022480808080002001280204210302400240024002400240024002400240200128020841756a0e03010200020b200341f587c88000410d10f5978080000d010c020b200341ea87c88000410b10f597808000450d010b20004180808080783602000c010b2002410c36021820024200370210200241046a200241106a41f8d0c7800010ef8e80800020024106360230200242003702282002411c6a200241286a41f8d0c7800010f08e808000410021042002410036023c20024280808080c0003702342002410036027c20024280808080c000370274200241f4006a41d486c88000109386808000200228027822034108360208200341f085c88000360204200341808080807836020041012101200341013a000c2002410136027c200241e0006a200228020822032003200228020c4105746a41f8d0c7800010f18e8080002002418180808078360254200241346a41d486c88000109386808000200228023822034108360208200341f085c880003602042003418080808078360200200341003a000c2002410136023c200228027821030240200228027c2205450d0020054104742104418884808000ad4220862003ad842106418984808000ad422086200241ac026aad8421070340200241083602b002200241f085c880003602ac022002410236028401200241ace6ca8000360280012002420237028c01200220063703c802200220073703c0022002200241c0026a36028801200241b4026a20024180016a10b2808080000240200322012802002203418080808078460d002003450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141106a2103200120022902b402370200200141086a200241b4026a41086a280200360200200642107c2106200441706a22040d000b200228023c2101200228027c2104200228027821030b200441047421052002280274210802402004200228023420016b4d0d00200241346a200120044104411010a386808000200228023c21010b200228023820014104746a2003200510f4978080001a2002200120046a36023c02402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b410021042002410036027c20024280808080c000370274200241f4006a41d486c88000109386808000200228027822014103360208200141e486c880003602042001418080808078360200200141013a000c2002410136027c0240200228023c22032002280234470d00200241346a41d486c880001093868080000b200228023820034104746a220141003a000c200141043602082001418787c8800036020420014180808080783602002002200341016a220136023c200228027821030240200228027c2205450d0020054104742104418884808000ad4220862003ad842106418984808000ad422086200241ac026aad8421070340200241043602b0022002418787c880003602ac022002410236028401200241ace6ca8000360280012002420237028c01200220063703c802200220073703c0022002200241c0026a36028801200241b4026a20024180016a10b2808080000240200322012802002203418080808078460d002003450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141106a2103200120022902b402370200200141086a200241b4026a41086a280200360200200642107c2106200441706a22040d000b200228023c2101200228027c2104200228027821030b200441047421052002280274210802402004200228023420016b4d0d00200241346a200120044104411010a386808000200228023c21010b200228023820014104746a2003200510f4978080001a2002200120046a36023c02402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b410021042002410036027c20024280808080c000370274200241f4006a41d486c8800010938680800020022802782201410c3602082001418b87c880003602042001418080808078360200200141013a000c2002410136027c0240200228023c22032002280234470d00200241346a41d486c880001093868080000b200228023820034104746a220141003a000c2001410e3602082001419787c8800036020420014180808080783602002002200341016a220136023c200228027821030240200228027c2205450d0020054104742104418884808000ad4220862003ad842106418984808000ad422086200241ac026aad84210703402002410e3602b0022002419787c880003602ac022002410236028401200241ace6ca8000360280012002420237028c01200220063703c802200220073703c0022002200241c0026a36028801200241b4026a20024180016a10b2808080000240200322012802002203418080808078460d002003450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141106a2103200120022902b402370200200141086a200241b4026a41086a280200360200200642107c2106200441706a22040d000b200228023c2101200228027c2104200228027821030b200441047421052002280274210802402004200228023420016b4d0d00200241346a200120044104411010a386808000200228023c21010b200228023820014104746a2003200510f4978080001a2002200120046a36023c02402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b410021042002410036027c20024280808080c000370274200241f4006a41d486c8800010938680800020022802782201410b360208200141a587c880003602042001418080808078360200200141013a000c2002410136027c0240200228023c22032002280234470d00200241346a41d486c880001093868080000b200228023820034104746a220141003a000c20014104360208200141b087c8800036020420014180808080783602002002200341016a220136023c200228027821030240200228027c2205450d0020054104742104418884808000ad4220862003ad842106418984808000ad422086200241ac026aad8421070340200241043602b002200241b087c880003602ac022002410236028401200241ace6ca8000360280012002420237028c01200220063703c802200220073703c0022002200241c0026a36028801200241b4026a20024180016a10b2808080000240200322012802002203418080808078460d002003450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141106a2103200120022902b402370200200141086a200241b4026a41086a280200360200200642107c2106200441706a22040d000b200228023c2101200228027c2104200228027821030b200441047421052002280274210802402004200228023420016b4d0d00200241346a200120044104411010a386808000200228023c21010b200228023820014104746a2003200510f4978080001a2002200120046a36023c02402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241d8016a4100360200200241d0016a4200370300200241c8016a4200370300200241e8016a200241246a28020036020020024180016a41106a200241c0006a41106a29030037030020024180016a41186a200241c0006a41186a29030037030020024180016a41206a2201200241c0006a41206a29030037030020024180016a41286a200241c0006a41286a290300370300200242003703c0012002200229021c3703e00120022002290340370380012002200229034837038801200242003703b801200242808090bbbad6adf00d3703b001200241013a00f001200241e4003602ec0120024189026a41002900ff86c8800037000020024181026a41002900f786c88000370000200241f9016a41002900ef86c88000370000200241002900e786c880003700f101200241c0026a20024180016a10b88680800002402001280200450d0020022802a40122012001417e6a2f00006b41002802ec82d48000118180808000000b02402002280294012201418280808078480d002001450d0020022802980122012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802e001450d0020022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000b20022d00c0024106460d0120024180016a41086a2201200241c0026a41086a2203290200370300200220022902c0023703800120022802382104200228023c2105200241003602bc0220024280808080103702b40220024180016a20042005200241b4026a10c7918080002003200129030037030020022002290380013703c0020240200228023c2203450d00200228023821010340024020012802002204418080808078460d002004450d00200141046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200141106a21012003417f6a22030d000b0b02402002280234450d00200228023822012001417e6a2f00006b41002802ec82d48000118180808000000b02402002280204450d00200228020822012001417e6a2f00006b41002802ec82d48000118180808000000b41002d008083d480001a41800141002802f482d48000118280808000002201450d022001417e6a41003b000020024100360288012002200136028401200241800136028001200220024180016a3602400240200241c0026a200241c0006a10cd8d8080002201450d00200228028001450d0420022802840122032003417e6a2f00006b41002802ec82d48000118180808000000c040b20022802840121012002280280012203418080808078460d0320002002280288013602082000200136020420002003360200200241c0026a10968e8080000b200241d0026a2480808080000f0b200220022802c4023602800141c487c88000412620024180016a41b487c8800041d486c8800010a981808000000b41014180014198c8c7800010b980808000000b2002200136028001418288c88000412f20024180016a41b487c8800041b488c8800010a981808000000b9a0201027f23808080800041106b22032480808080000240024041afe4ca8000411310b691808000220441ff01490d00200041003a0001410921020c010b2003200441016a36020441afe4ca80004113200341046a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200341046a200210e88680800020032802082202200328020c410028029482d48000118b808080000002402003280204450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b41002802a482d48000118e8080800000200341046a10c691808000410f21020b200020023a0000200128020022002000280200417f6a2200360200024020000d00200110ca878080000b200341106a2480808080000ba5020002400240024002400240200128020022014182808080786a41012001418480808078481b417f6a0e050001020304000b20004200370300200041206a41003b0100200041186a4200370300200041106a4200370300200041086a42003703000f0b20004200370300200041206a41003b0100200041186a4200370300200041106a4200370300200041086a42003703000f0b20004200370300200041206a41003b0100200041186a4200370300200041106a4200370300200041086a42003703000f0b20004200370300200041206a41003b0100200041186a4200370300200041106a4200370300200041086a42003703000f0b20004200370300200041206a41003b0100200041186a4200370300200041106a4200370300200041086a42003703000bc20301047f23808080800041106b22012480808080002001410036020c20014280808080800137020441002d008083d480001a02400240410841002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a2204412b3602042004419589c880003602002004417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002203450d01200341053a00002003417e6a41003b0000200141046a41c08ec5800010a0868080002001280208220220033602082002428180808010370300200241013a0074200241013602702002200436026c2002428080808010370264200242808080801037025c20024207370244200241d08ec580003602402002418481808000360238200242d9d1a5958acddccda77f370330200242bb82a2f99fad8c91c100370328200241bb80808000360220200242d7c9cb8fc1cf97db3e370318200242e88488d0c0e3aebc133703102002410136020c200141046a41086a4101360200200041086a4101360200200020012902043702002000410a360210200041abe7c4800036020c200141106a2480808080000f0b4104410810ab80808000000b4101410110ab80808000000b900501057f23808080800041106b2202248080808000024002400240024002400240200028020022034182808080786a41012003418480808078481b417f6a0e050001020304000b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41003a0000200028020421042002200028020822003602082002200241086a36020c2002410c6a200110dc84808000024020002001280200200128020822036b4d0d0020012003200010f491808000200128020821030b200128020420036a2004200010f4978080001a200320006a21000c040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41013a0000200041016a21000c030b0240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41023a0000200041016a21000c020b02402001280200220520012802082204470d0020012004410110f49180800020012802002105200128020821040b2001200441016a22033602082001280204220620046a41033a0000200028020421000240200520036b41034b0d0020012003410410f49180800020012802042106200128020821030b200620036a2000360000200341046a21000c010b02402001280200220520012802082204470d0020012004410110f49180800020012802002105200128020821040b2001200441016a22033602082001280204220620046a41043a0000200028020421000240200520036b41034b0d0020012003410410f49180800020012802042106200128020821030b200620036a2000360000200341046a21000b20012000360208200241106a2480808080000bda0502057f027e23808080800041206b22022480808080000240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a2206360208200328020420056a20043a0000024002400240024002400240024020040e050001020304050b200241086a200110ce848080000240024020022802084101710d00200241146a2001200228020c1089838080002002280214418080808078470d010b20004184808080783602000c090b20002002290214370200200041086a200241146a41086a2802003602000c080b20004180808080783602000c070b20004181808080783602000c060b200328020c2204280208280200220528020422014104490d0420052001417c6a36020420052005280200220141046a3602002004427f2004290300220742047c220820082007541b370300200128000021050240200328020020066b41034b0d002003200641044101410110a386808000200328020821060b2000200536020420004182808080783602002003200641046a360208200328020420066a20053600000c050b200328020c2204280208280200220528020422014104490d0120052001417c6a36020420052005280200220141046a3602002004427f2004290300220742047c220820082007541b370300200128000021050240200328020020066b41034b0d002003200641044101410110a386808000200328020821060b2000200536020420004183808080783602002003200641046a360208200328020420066a20053600000c040b20004184808080783602000c030b20004184808080783602000c020b20004184808080783602000c010b20004184808080783602000b200241206a2480808080000bd10502057f027e23808080800041206b22022480808080000240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a2206360208200328020420056a20043a0000024002400240024002400240024020040e050001020304050b200241086a200110cf848080000240024020022802084101710d00200241146a2001200228020c1086838080002002280214418080808078470d010b20004184808080783602000c090b20002002290214370200200041086a200241146a41086a2802003602000c080b20004180808080783602000c070b20004181808080783602000c060b200328020c2204280208220528020422014104490d0420052001417c6a36020420052005280200220141046a3602002004427f2004290300220742047c220820082007541b370300200128000021050240200328020020066b41034b0d002003200641044101410110a386808000200328020821060b2000200536020420004182808080783602002003200641046a360208200328020420066a20053600000c050b200328020c2204280208220528020422014104490d0120052001417c6a36020420052005280200220141046a3602002004427f2004290300220742047c220820082007541b370300200128000021050240200328020020066b41034b0d002003200641044101410110a386808000200328020821060b2000200536020420004183808080783602002003200641046a360208200328020420066a20053600000c040b20004184808080783602000c030b20004184808080783602000c020b20004184808080783602000c010b20004184808080783602000b200241206a2480808080000bea0503067f017e027f23808080800041c0006b2201248080808000200141186a41f1edc78000410441c089c8800041294104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241f5edc780003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903c0eec780003702002001410036020820014280808080c000370200200141306a200141948bc88000411f1096848080002001200141306a41b38bc88000411a10c284808000200141306a200141cd8bc8800041181085848080002001200141306a41e58bc88000411310fc83808000200141246a200141f88bc88000411510a6848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841d484c8800010b980808000000b41bc91c38000411141d091c3800010a181808000000bf80202027f017e23808080800041d0006b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d4800002402001450d002002410136020c200241b48fc88000360208200242003702142002200241cc006a360210200241086a418890c8800010fe80808000000b200241386a41002902888ec88000370300200241306a41002902808ec88000370300200241286a41002902f88dc88000370300200241206a41002902f08dc88000370300200241186a41002902e88dc88000370300200241106a41002902e08dc88000370300200241002902d88dc88000370308200241c0006a200241086a10838580800020022902442104200241d0006a24808080800020040bd60201027f2380808080004190026b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136020420022000360200200241086a200210ef8480800002402002280208418080808078460d0020024184016a200241086a41fc0010f4978080001a20024184016a10e68780800020024190026a24808080800042010f0b20024102360288012002418c91c880003602840120024201370290012002418a84808000ad4220862002418f026aad8437038002200220024180026a36028c0120024184016a418890c8800010fe80808000000bbd0401037f2380808080004180026b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136020c2002200036020820024180016a200241086a10f08480800002400240200228028001418080808078460d00200241106a20024180016a41f00010f4978080001a200241106a10e7878080002104024020022802182201450d00200228021421030340024020032d0000220041034b0d002003200041027441b0a6c880006a2802006a2200280200450d00200041046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032001417f6a22010d000b0b02402002280210450d00200228021422032003417e6a2f00006b41002802ec82d48000118180808000000b41002d008083d480001a410141002802f482d48000118280808000002203450d01200320043a00002003417e6a41003b000020024180026a2480808080002003ad428080808010840f0b20024102360214200241cc91c880003602102002420137021c2002418a84808000ad422086200241ff016aad843703f0012002200241f0016a360218200241106a418890c8800010fe80808000000b4101410110ab80808000000ba40301027f23808080800041306b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240024020014120490d0020014178714120460d00200241086a41086a200041086a290000370300200241086a41106a200041106a290000370300200241086a41186a200041186a29000037030020022000290000370308200241086a200029002010fb87808000210041002d008083d480001a410141002802f482d48000118280808000002203450d01200320003a00002003417e6a41003b0000200241306a2480808080002003ad428080808010840f0b2002410236020c2002418892c88000360208200242013702142002418a84808000ad4220862002412f6aad8437030020022002360210200241086a418890c8800010fe80808000000b4101410110ab80808000000bb00201027f23808080800041206b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240024020010d0041002d008083d480001a410441002802f482d48000118280808000002203450d01200341003600002003417e6a41003b0000200241206a2480808080002003ad4280808080c000840f0b20024101360208200241c893c880003602042002420037021020022002411c6a36020c200241046a418890c8800010fe80808000000b4101410410ab80808000000bb10201027f23808080800041206b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240024020010d0041002d008083d480001a410841002802f482d48000118280808000002203450d01200342f02e3700002003417e6a41003b0000200241206a2480808080002003ad42808080808001840f0b20024101360208200241f894c880003602042002420037021020022002411c6a36020c200241046a418890c8800010fe80808000000b4101410810ab80808000000ba90302037f017e23808080800041306b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000024020010d0020024282fceae49dd9e2861d370024200242de8c84a1ecd0a6d30c37001c20024289df9d82f381819238370014200242d7f0f3fea28baccae70037000c20022002410c6a412010e8858080002002410c6a41012002280204200228020022034180808080784622011b22044100200228020820011b10f98c80800020023502142105200228021021010240200341808080807872418080808078460d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241306a24808080800020054220862001ad840f0b20024101360210200241a896c8800036020c2002420037021820022002412c6a3602142002410c6a418890c8800010fe80808000000bf30202027f017e2380808080004190036b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000024020010d0020024180016a10ab86808000200241106a20024180016a10b494808000200241046a200241106a10e19080800020024180016a20022802082203200228020c10be938080002002350288012104200228028401210102402002280204450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20024190036a24808080800020044220862001ad840f0b2002410136028401200241d497c88000360280012002420037028c0120022002418c036a3602880120024180016a418890c8800010fe80808000000be00302027f017e2380808080004190036b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240200141034d0d002000280000210320024188016a10ab86808000200241186a20024188016a200310b394808000024002402002280218418880808078460d0020024188016a200241186a41f00010f4978080001a2002410c6a20024188016a10e190808000200228020c21030c010b4180808080782103200241808080807836020c0b20024188016a2002410c6a108b898080002002350290012104200228028c01210102402003418080808078460d002003450d00200228021022032003417e6a2f00006b41002802ec82d48000118180808000000b20024190036a24808080800020044220862001ad840f0b2002410236028c012002418c98c880003602880120024201370294012002418a84808000ad4220862002410c6aad843703182002200241186a3602900120024188016a418890c8800010fe80808000000bb20402047f017e23808080800041306b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d4800002400240024020010d0041002d008083d480001a410c41002802f482d48000118280808000002203450d012003200341036a417c7120036b22016a220341103602082003428e808080f0013702002003417e6a220420013b000041002d008083d480001a411041002802f482d48000118280808000002201450d022001417e6a41003b000020024100360214200220013602102002411036020c200241033602242002200241246a360228200241286a2002410c6a10dc848080000240200228020c200228021422016b410b4b0d002002410c6a2001410c10f491808000200228021421010b200228021020016a22052003290000370000200541086a200341086a28000036000020023502102106200320042f00006b41002802ec82d4800011818080800000200241306a24808080800020062001410c6aad422086840f0b20024101360210200241c899c8800036020c2002420037021820022002412c6a3602142002410c6a418890c8800010fe80808000000b4104410c10ab80808000000b4101411041dc83c3800010b980808000000b970301027f2380808080004180016b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000024002402001411f4d0d00200241186a200041186a290000370300200241106a200041106a290000370300200241086a200041086a29000037030020022000290000370300200241206a200210ed868080002002280260210041002d008083d480001a410441002802f482d48000118280808000002203450d01200320003600002003417e6a41003b000020024180016a2480808080002003ad4280808080c000840f0b20024102360224200241fc99c880003602202002420137022c2002418a84808000ad422086200241ff006aad8437030020022002360228200241206a418890c8800010fe80808000000b4101410410ab80808000000bc90302027f017e23808080800041a0056b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b410021034100410028028482d480001190808080000041ff01713602b483d480002002200136020c20022000360208200241106a200241086a10f786808000024020022903104205510d00200241d0026a200241106a41c00210f4978080001a024020022903d0024202520d004101210302400240024020022802f003417f6a0e0700030202020201020b20022802f403418080808078460d010c020b20022802f8034104460d010b410021030b200241106a200241d0026a200310e987808000200241d0026a200241106a10f88c80800020022902d4022104200241a0056a24808080800020040f0b200241023602d402200241b89ac880003602d002200242013702dc022002418a84808000ad4220862002419f056aad8437039005200220024190056a3602d802200241d0026a418890c8800010fe80808000000bb40303027f017e027f2380808080004180016b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000024020010d00200210ec87808000200241f0006a200210e9848080002002350278210420022802742105024020022802082201450d00200228020421030340024020032d0000220641034b0d002003200641027441b0a6c880006a2802006a2206280200450d00200641046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032001417f6a22010d000b0b02402002280200450d00200228020422032003417e6a2f00006b41002802ec82d48000118180808000000b20024180016a24808080800020044220862005ad840f0b20024101360204200241f09bc880003602002002420037020c2002200241fc006a3602082002418890c8800010fe80808000000bf40403037f017e017f23808080800041c0006b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136021420022000360210200241286a200241106a10ae88808000024020022802284101460d00200241206a200241346a2802003602002002200229022c370318200241046a200241186a10ac86808000200241186a10b088808000200241286a20022802082204200228020c220110f98680800020023502302105200228022c210602402001450d0020042103034002402003290300427e7c4203540d00200341306a2d000041ff01714102470d00200341346a280200450d00200341386a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341a0016a108c8f8080000240200341b0026a2802002200418080808078460d002000450d00200341b4026a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341c0026a21032001417f6a22010d000b0b02402002280204450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a24808080800020054220862006ad840f0b2002410236022c200241a89cc88000360228200242013702342002418a84808000ad422086200241046aad843703182002200241186a360230200241286a418890c8800010fe80808000000bb10402027f017e23808080800041a0026b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b410021034100410028028482d480001190808080000041ff01713602b483d4800020022001360208200220003602042002410c6a200241046a10f6848080000240200228020c418080808078460d0020024194016a2002410c6a41fc0010f4978080001a20024198026a20024190016a2802003602002002200229028801370390022002410c6a20024194016a20024190026a10ad86808000024002404105200235021442147e2204a741066a2004422088a71b22014100480d0041002d008083d480001a200141002802f482d480001182808080000022030d01410121030b2003200141b0b1c4800010b980808000000b2003417e6a41003b000020022003360298012002200136029401200320022f01183b00002002410236029c012002410c6a20024194016a10b88880800020022902980121042002410c6a10b088808000200241a0026a24808080800020040f0b2002410236029801200241e49cc8800036029401200242013702a0012002418a84808000ad4220862002419f026aad8437039002200220024190026a36029c0120024194016a418890c8800010fe80808000000b890803027f017e047f23808080800041f0056b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136020c20022000360208200241106a200241086a10fc85808000024020022903104205510d0020022d00d002210320024180036a200241106a41c00210f4978080001a200241e0056a200241e9026a290000370300200241d8056a200241e1026a290000370300200241d0056a200241d9026a290000370300200220022900d1023703c805200241106a200320024180036a200241c8056a10ef8780800020024180036a200241106a10f68c80800020023502880321042002280284032105024020022802202203418080808078460d00024020022802282200450d00200228022421062000410171210741002101024020004101460d002000417e7121082006210341002101034002402003280200450d00200341046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032008200141026a2201470d000b0b02402007450d0020062001410c6c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b200228022021030b02402003450d00200228022422032003417e6a2f00006b41002802ec82d48000118180808000000b024020022802342203450d00200228023021062003410171210741002101024020034101460d002003417e7121082006210341002101034002402003280200450d00200341046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032008200141026a2201470d000b0b2007450d0020062001410c6c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b200228022c450d00200228023022032003417e6a2f00006b41002802ec82d48000118180808000000b200241f0056a24808080800020044220862005ad840f0b2002410236028403200241a89dc88000360280032002420137028c032002418a84808000ad422086200241ef056aad843703c8052002200241c8056a3602880320024180036a418890c8800010fe80808000000bf30301027f2380808080004180026b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136020c2002200036020820024180016a200241086a10f0848080000240200228028001418080808078460d00200241106a20024180016a41f00010f4978080001a200241106a10ed87808000024020022802182201450d00200228021421030340024020032d0000220041034b0d002003200041027441b0a6c880006a2802006a2200280200450d00200041046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032001417f6a22010d000b0b02402002280210450d00200228021422032003417e6a2f00006b41002802ec82d48000118180808000000b20024180026a24808080800042010f0b20024102360214200241e49dc880003602102002420137021c2002418a84808000ad422086200241ff016aad843703f0012002200241f0016a360218200241106a418890c8800010fe80808000000b810701057f23808080800041c0006b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136020420022000360200200241306a200210fe8e808000418080808078210002400240024020022802302204418080808078460d0020022802342103024020022802384120490d00200241106a41186a2201200341186a290000370300200241106a41106a2205200341106a290000370300200241106a41086a2206200341086a2900003703002002410036023820024280808080c0003702302002200329000037031041002d008083d480001a412041002802f482d48000118280808000002200450d02200020022903103700002000417e6a41003b0000200041086a2006290300370000200041106a2005290300370000200041186a2001290300370000200241306a41e8e3c480001093868080002002280234220142a080808090ac9db9e1003702082001200036020420014120360200200228023021000b02402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b41002d008083d480001a410141152000418080808078461b220441002802f482d48000118280808000002203450d022003417e6a41003b00002002200336021420022004360210024002402000418080808078470d00200341003a0000410121040c010b200341013a000020024101360218200241013602082002200241086a360230200241306a200241106a10dc8480800020014101200241106a10b083808000200228021821042002280214210302402001280200450d00200128020422052005417e6a2f00006b41002802ec82d48000118180808000000b2000450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080002004ad4220862003ad840f0b20024102360214200241a49ec880003602102002420137021c2002418a84808000ad4220862002413f6aad843703082002200241086a360218200241106a418890c8800010fe80808000000b4101412010ab80808000000b4101200410ab80808000000bab0502037f017e23808080800041c0006b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2104024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000200220013602142002200436021002402001450d0020022001417f6a3602142002200041016a36021041808080807821030240024020002d00000e020100020b200241286a200241106a10fe8e80800020022802282203418080808078460d01200229022c21050b2002200537021c20022003360218200241046a200241186a10af8680800041002100024002400240200228020c220341046a22014100480d0020022802082100024020010d00410121040c030b41002d008083d480001a200141002802f482d480001182808080000022040d01410121000b2000200141dc83c3800010b980808000000b2004417e6a41003b00000b200241003602302002200436022c20022001360228200220033602102002200241106a360218200241186a200241286a10dc84808000024020032002280228200228023022016b4d0d00200241286a2001200310f491808000200228023021010b200228022c20016a2000200310f4978080001a200120036a2103200228022c210102402002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080002003ad4220862001ad840f0b2002410236022c200241e89ec88000360228200242013702342002418a84808000ad422086200241046aad843703182002200241186a360230200241286a418890c8800010fe80808000000b980302027f027e23808080800041c0006b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240024020010d0020024284c1c7b7cda097febb7f3700202002429fbf94a8c1ded8e64f370018200242ebe5e9f6a0afd08944370010200242f087979bfcb996ebf100370008200241286a200241086a412010e985808000200229033021042002290328210541002d008083d480001a410841002802f482d48000118280808000002203450d012003417e6a41003b00002003200442002005a71b370000200241c0006a2480808080002003ad42808080808001840f0b2002410136020c200241a4a0c880003602082002420037021420022002413c6a360210200241086a418890c8800010fe80808000000b4101410810ab80808000000bac0903027f017e047f2380808080004180026b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136020c2002200036020820024180016a200241086a10f0848080000240200228028001418080808078460d00200241106a20024180016a41f00010f4978080001a20024180016a200241106a10a387808000024020022802182201450d00200228021421030340024020032d0000220041034b0d002003200041027441b0a6c880006a2802006a2200280200450d00200041046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032001417f6a22010d000b0b02402002280210450d00200228021422032003417e6a2f00006b41002802ec82d48000118180808000000b200241106a20024180016a10ef8f808000200235021821042002280214210502402002280288012203450d0020022802840121062003410171210741002101024020034101460d002003417e7121082006210341002101034002402003280200450d00200341046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032008200141026a2201470d000b0b2007450d0020062001410c6c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b0240200228028001450d0020022802840122032003417e6a2f00006b41002802ec82d48000118180808000000b02402002280294012203450d0020022802900121062003410171210741002101024020034101460d002003417e7121082006210341002101034002402003280200450d00200341046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b0240200341106a280200450d00200341146a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341206a21032008200141026a2201470d000b0b2007450d00200620014104746a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b0240200228028c01450d0020022802900122032003417e6a2f00006b41002802ec82d48000118180808000000b024020022802a4012203418080808078460d002003450d0020022802a80122032003417e6a2f00006b41002802ec82d48000118180808000000b0240200228029801450d00200228029c0122032003417e6a2f00006b41002802ec82d48000118180808000000b20024180026a24808080800020044220862005ad840f0b20024102360214200241e0a0c880003602102002420137021c2002418a84808000ad422086200241ff016aad843703f0012002200241f0016a360218200241106a418890c8800010fe80808000000bbf0302027f017e23808080800041c0006b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d4800020022001360208200220003602042002410c6a200241046a10fe8e8080000240200228020c418080808078460d00200241186a41086a2002410c6a41086a2802003602002002200229020c3703182002410c6a200241186a10d18a808000200241186a2002410c6a10f78c80800020023502202104200228021c21030240200228020c2201418080808078460d002001450d00200228021022012001417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a24808080800020044220862003ad840f0b2002410236021c20024198a1c88000360218200242013702242002418a84808000ad4220862002413f6aad843703302002200241306a360220200241186a418890c8800010fe80808000000bce0402037f017e23808080800041306b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2104024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000200220013602102002200436020c024002402001450d0020022001417f6a3602102002200041016a36020c4180808080782103024020002d00000e020200010b200241146a2002410c6a10fe8e80800020022802142203418080808078460d00200241146a20022802182201200228021c220410f68080800020022802144101470d012003450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b20024102360218200241d0a1c88000360214200242013702202002418a84808000ad4220862002412f6aad843703002002200236021c200241146a418890c8800010fe80808000000b2002200436021c20022001360218200220033602142002200241146a10d08a8080000240200341808080807872418080808078460d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200241146a2002108989808000200235021c210520022802182103024020022802002201418080808078460d002001450d00200228020422012001417e6a2f00006b41002802ec82d48000118180808000000b200241306a24808080800020054220862003ad840ba00403037f017e047f23808080800041306b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000024020010d00200241086a10ab8e808000200241146a200228020c22042002280210220310fe8a808000200235021c21052002280218210602402003450d002003410171210741002101024020034101460d002003417e7121082004210341002101034002402003280200450d00200341046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032008200141026a2201470d000b0b2007450d0020042001410c6c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b02402002280208450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241306a24808080800020054220862006ad840f0b2002410136021820024188a3c880003602142002420037022020022002412c6a36021c200241146a418890c8800010fe80808000000b940301037f23808080800041306b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240024020010d00200242d8c192ad8deac8dd3f37002420024284ceb68ad8c4c79c8f7f37001c200242e7eacab6b7c9acbc263700142002428de2fdb2e288b2fcd70037000c20022002410c6a412010d085808000200228020421012002280200210441002d008083d480001a410441002802f482d48000118280808000002203450d012003417e6a41003b00002003200141e40020044101711b360000200241306a2480808080002003ad4280808080c000840f0b20024101360210200241b8a4c8800036020c2002420037021820022002412c6a3602142002410c6a418890c8800010fe80808000000b4101410410ab80808000000bb00201027f23808080800041206b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240024020010d0041002d008083d480001a410441002802f482d48000118280808000002203450d01200341013600002003417e6a41003b0000200241206a2480808080002003ad4280808080c000840f0b20024101360208200241eca5c880003602042002420037021020022002411c6a36020c200241046a418890c8800010fe80808000000b4101410410ab80808000000bc21007037f017e037f017e017f027e097f2380808080004190056b2202248080808000200241c4016a200110ca88808000024002400240024020022802c401418080808078460d00200241b0036a200241c4016a410c6a41d40010f4978080001a200241c8006a200241b0036a10ed8a808000200241286a41086a2201200241c4016a41086a280200360200200241086a41086a2203200241c8006a410c6a290200370300200241086a41106a200241c8006a41146a290200370300200241206a2204200241c8006a411c6a290200370300200220022902a402220537026c200220022902c4013703282002200229024c370308200228024822064102460d0020022802702107200241386a41086a200128020036020020022002290328370338200241f8006a410c6a2003290300370200200241f8006a41146a200241186a290300370200200241f8006a411c6a2004290300370200200220063602782002200229030837027c200241c4016a200241f8006a10cb888080000240024020022802c4012204418080808078460d00200241b0036a200241c4016a410c6a41e00110f4978080001a200241b0036a20022802b00341054b22014103746a22032802002206450d0420022802b403210820032006417f6a2206360200200241d0006a2008200241b0036a41046a20011b2006412c6c6a2201410c6a290200370300200241d8006a200141146a290200370300200241e0006a2001411c6a280200360200200220012902043703482001280200210320022902c801210902402001280220450d00200128022422012001417e6a2f00006b41002802ec82d48000118180808000000b200241b0036a10e08980800020034104460d00200241c4016a41106a2108200241c4016a41046a22012002290348370200200141186a200241c8006a41186a280200360200200141106a200241c8006a41106a290300370200200141086a200241c8006a41086a290300370200200220033602c4010240200341014b0d0020022802c801210a20022802e001210602402003410171450d00200a2006460d010b200220083602b003200241b0036a2003200a200610a597808000200220063602c80141012103200241013602c4010b41808080807821060240024002402003417e6a2203410220034102491b0e03010200010b200821010b2001290204210b200128020021060b20022802980141016a2201417f20011b22014104200141044b1b2208ad42187e220ca7210141002103024002400240200c422088a70d00200141fcffffff074b0d00024020010d004104210d410021080c030b41002d008083d480001a200141002802f482d480001182808080000022030d01410421030b2003200141a0a9c8800010b980808000000b2003200341036a417c71220d20036b22016a417e6a20013b00000b200d2009370204200d2004360200200d200636020c200d200b37021041012106200241013602a4012002200d3602a0012002200836029c01200241c8006a41206a200241f8006a41206a280200360200200241c8006a41186a200241f8006a41186a290200370300200241c8006a41106a200241f8006a41106a290200370300200241c8006a41086a200241f8006a41086a29020037030020022002290278370348200241c4016a200241c8006a10cb88808000024020022802c401220e418080808078460d00200241c4016a41046a2104200241c4016a41106a210f200241c4016a410c6a2110200241b0036a41046a211141282108200241a8016a41086a2112200241a8016a41106a2113200241a8016a41186a2114410121060340200241b0036a201041e00110f4978080001a200241b0036a20022802b00341054b22014103746a2203280200220a450d0720022802b40321152003200a417f6a220a36020020122015201120011b200a412c6c6a2201410c6a2902003703002013200141146a29020037030020142001411c6a280200360200200220012902043703a8012001280200210320022902c801210902402001280220450d00200128022422012001417e6a2f00006b41002802ec82d48000118180808000000b200241b0036a10e08980800020034104460d01200420022903a801370200200441186a2014280200360200200441106a2013290300370200200441086a2012290300370200200220033602c4010240200341014b0d0020022802c801210a20022802e001210102402003410171450d00200a2001460d010b2002200f3602b003200241b0036a2003200a200110a597808000200220013602c80141012103200241013602c4010b418080808078210a200421010240024002402003417e6a2203410220034102491b0e03010200010b200f21010b2001290204210b2001280200210a0b02402006200228029c01470d002002419c016a2006200228026841016a2201417f20011b4104411810a38680800020022802a001210d0b200d20086a2201200b3702002001417c6a200a360200200141746a2009370200200141706a200e3602002002200641016a22063602a401200841186a2108200241c4016a200241c8006a10cb8880800020022802c401220e418080808078470d000b0b200241c8006a10c689808000200228029c01210120022802a00121030c010b200241f8006a10c6898080004104210341002106410021010b20002002290338370200200041086a200241386a41086a28020036020002402005a7450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b20002006360214200020033602102000200136020c0c010b20004180808080783602000b20024190056a2480808080000f0b41dfbcc6800041fc0041ecbdc6800010a181808000000b41dfbcc6800041fc0041ecbdc6800010a181808000000bb40301097f23808080800041206b2202248080808000200241086a200110cc88808000418080808078210302400240024020022802082204418080808078460d002002280218210520022802142106200228020c21030240200128022c2207200128022822084d0d0002402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b4180808080782103410821012006450d0320052005417e6a2f00006b41002802ec82d48000118180808000000c030b200228021c210920012008417f6a36022820012001280224220841046a3602240240024020074101460d002008280204220720082802002208490d032007200128023c2201280208220a4d0d012007200a41bcb4c88000109181808000000b4101410141acb4c88000108281808000000b20012802042101200020093602102000200536020c20002006360208200120086a210102402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200720086b210320002001360200410421010c020b410821010c010b2008200741bcb4c88000109581808000000b200020016a2003360200200241206a2480808080000bf50101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a2201419784808000360228200141ed8080800036021020014296e397c6bfa5aeee46370308200142aceff0b4f2bd8f8fe400370300200142b483edabd6c19d8c897f37032020014299efe3f68e84e8b48f7f370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000bf40101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a220141ed80808000360228200141ed8080800036021020014296e397c6bfa5aeee46370308200142aceff0b4f2bd8f8fe40037030020014296e397c6bfa5aeee46370320200142aceff0b4f2bd8f8fe400370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041a78180800036021820004294d99591b4d8b0febc7f370310200042acd9c6f2aeb5bdf112370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419884808000360218200042cc8ef78aaff0dce7a77f37031020004298d88b95fdd0d6edab7f370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419984808000360218200042ead697b5a0c3928b9b7f370310200042fec79cdfc3b2f9f303370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419a84808000360218200042dd9e8ba3fdc9dcc444370310200042c0a9abfad0e0adf726370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041bc80808000360218200042ec8ca7e0e2f0c7e6bf7f370310200042e6e2dea393f0baf43a370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041ed8080800036021820004296e397c6bfa5aeee46370310200042aceff0b4f2bd8f8fe400370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041bb80808000360218200042d7c9cb8fc1cf97db3e370310200042e88488d0c0e3aebc13370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041a381808000360218200042f38d9e99aae6a6ce6c370310200042cad8edf1c6aacd9b28370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419b8480800036021820004280e88cd89a8f86e5df00370310200042e1dab8e7acb3d693ed00370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041ab81808000360218200042cba29aa1e2e6d7e3947f370310200042b19ed2bab88fbfd3a37f370308200041023a00000bf90503047f017e027f23808080800041c0006b2201248080808000200141246a41e3a9c88000410b41bba9c8800041164104410010c2928080002001410036022020014280808080c00037021841002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241ec80808000360238200242e2e68fceaa92ce9c7b370330200242e987d8bed5a3d0fbfb0037032820024107360224200241d1a9c88000360220200241d983808000360218200242d687ccb79492eaa48f7f370310200242dec098f1dab59facaa7f37030820024111360204200241eea9c880003602002002417e6a20033b0000200141086a200141186a220341086a2802003602002001200329020037030020012802242104200129022821052001410c6a41086a410036020020014280808080800137020c2001410c6a41ac91c3800010b5928080002001280210220342d687ccb79492eaa48f7f370308200342dec098f1dab59facaa7f370300200141306a41086a220641013602002003420437022c200342113702242003419dc0c380003602202003410236021c200341acb4c38000360218200341d9838080003602102001200129020c3703300240200628020022062001280230470d00200141306a41ac91c3800010b5928080000b2001280234200641386c6a2203420437022c20034207370224200341a5b4c380003602202003410636021c2003419fb4c38000360218200341ec80808000360210200342e2e68fceaa92ce9c7b370308200342e987d8bed5a3d0fbfb003703002004418080808078460d0120012802342103200128023021072000410236024c20002002360248200041023602442000200537023c200020043602382000200336020820002007360204200041003a0000200020012903003702502000200641016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041f281808000360218200042b1c9f8f0b68ca3b1a67f370310200042a480a1cbceaeb2f67a370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419c84808000360218200042cba98da599e3c9b209370310200042b08d99aa81eaf0de8c7f370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041ad81808000360218200042c2bd98c186cbe8c32f370310200042d6c7f28481b698b824370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041eb8080800036021820004298a593acd1ceffcb9c7f3703102000429e8eaae68bb9afc651370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000418381808000360218200042acf6debeefe0d9c8d300370310200042efc9c9edb5e7b3a6c700370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041af81808000360218200042db9fafba9ac2b092113703102000428cd1b5a4bf89f39cf200370308200041023a00000bd70604057f017e017f017e23808080800041d0006b2201248080808000200141306a41d8a9c88000410b41bba9c8800041164104410010c2928080002001410036022c20014280808080c00037022441002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220441ec80808000360218200442e2e68fceaa92ce9c7b370310200442e987d8bed5a3d0fbfb0037030820044107360204200441d1a9c880003602002004417e6a20033b0000200141086a41086a200141246a220241086a280200360200200120022902003703082001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a41ac91c3800010b592808000200128021c220242d687ccb79492eaa48f7f370308200242dec098f1dab59facaa7f370300200141c0006a41086a220341013602002002420437022c2002420e3702242002418fc0c380003602202002410236021c200241acb4c38000360218200241d983808000360210200120012902183703400240200328020022032001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c20024207370224200241a5b4c380003602202002410636021c2002419fb4c38000360218200241ec80808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb003703002007200341016a2203360200200120012903402208370318024020032008a7470d00200141186a41ac91c3800010b5928080000b200128021c200341386c6a2202420437022c2002420737022420024188c0c380003602202002410736021c20024181c0c380003602182002419d84808000360210200242dda0e6e3dbfead886d370308200242869c8cfadcea8aa1b57f3703002005418080808078460d01200128021c2102200128021821072000410136024c20002004360248200041013602442000200637023c200020053602382000200236020820002007360204200041003a0000200020012903083702502000200341016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419e84808000360218200042dfa088ceabfb8685837f370310200042e39d91b4f091b38077370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041a981808000360218200042f3dec6d0f9d8dfcce900370310200042a1a9c4c0eed0efc42b370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419f84808000360218200042bc8ab78ab98db5ec9f7f370310200042d5b8cce0b4adbf894e370308200041023a00000bec0403047f017e037f23808080800041c0006b2201248080808000200141106a41186a41dca6c88000410c41e8a6c8800041184104410010c2928080002001410036022420014280808080c00037021c41002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418481808000360238200242d9d1a5958acddccda77f370330200242bb82a2f99fad8c91c1003703282002410c36022420024189a7c88000360220200241eb8080800036021820024298a593acd1ceffcb9c7f3703102002429e8eaae68bb9afc6513703082002410936020420024180a7c880003602002002417e6a20033b0000200141086a2204200141106a410c6a220341086a28020036020020012003290200370300200129022c2105200128022821032001410036021820014280808080c000370210200141346a200141106a41c0a6c88000410210c984808000200141106a200141346a41c2a6c88000410510b184808000200141346a200141106a41c7a6c88000410310d683808000200141106a200141346a41caa6c880004109108784808000200141346a200141106a41d3a6c88000410910c8848080002003418080808078460d01200128023c210620012802382107200128023421082000410236024c20002002360248200041023602442000200537023c200020033602382000200636020c2000200736020820002008360204200041013a000020002001290300370250200041d8006a2004280200360200200141c0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bba0a05057f017e017f037e017f23808080800041f0006b22022480808080000240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a2206360208200328020420056a20043a0000024002400240024002400240024020040e050001020304050b410521050240200328020c2201280208280200220428020422084120490d002004280200220541186a2900002107200541106a2900002109200541086a290000210a2005290000210b2004200541206a3602002004200841606a360204200241d0006a41086a2204200a370300200241d0006a41106a22082009370300200241d0006a41186a220c20073703002001427f2001290300220742207c220920092007541b3703002002200b3703500240200328020020066b411f4b0d002003200641204101410110a386808000200328020821060b200328020420066a220520022903502207370000200541186a200c2903002209370000200541106a2008290300220a370000200541086a2004290300220b37000020002007370001200041096a200b370000200041116a200a370000200041196a20093700002003200641206a360208410021050b200020053a00000c080b200041013a00000c070b200241086a200110ce848080000240024020022802084101710d00200241146a2001200228020c1089838080002002280214418080808078470d010b200041053a00000c070b200241206a41086a200241146a41086a28020022033602002002413b6a2003360000200220022902142207370320200041023a00002002200737003320002002290030370001200041086a200241376a2900003700000c060b200328020c2201280208280200220528020422044120490d042005200441606a36020420052005280200220441206a360200200241306a41086a2205200441086a290000370300200241306a41106a2208200441106a290000370300200241306a41186a220c200441186a2900003703002001427f2001290300220742207c220920092007541b370300200220042900003703300240200328020020066b411f4b0d002003200641204101410110a386808000200328020821060b2000200229033022073700012003200641206a360208200328020420066a22032007370000200041096a20052903002207370000200041116a20082903002209370000200041196a200c290300220a370000200341086a2007370000200341106a2009370000200341186a200a370000200041033a00000c050b200328020c2204280208280200220528020422014114490d0120052001416c6a36020420052005280200220141146a360200200241306a41086a2205200141086a290000370300200241306a41106a2208200141106a2800003602002004427f2004290300220742147c220920092007541b370300200220012900003703300240200328020020066b41134b0d002003200641144101410110a386808000200328020821060b2000200229033022073700012003200641146a360208200328020420066a22032007370000200041096a20052903002207370000200041116a20082802002205360000200341086a2007370000200341106a2005360000200041043a00000c040b200041053a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241f0006a2480808080000bae0a05057f017e017f037e017f23808080800041f0006b22022480808080000240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a2206360208200328020420056a20043a0000024002400240024002400240024020040e050001020304050b410521050240200328020c2201280208220428020422084120490d002004280200220541186a2900002107200541106a2900002109200541086a290000210a2005290000210b2004200541206a3602002004200841606a360204200241d0006a41086a2204200a370300200241d0006a41106a22082009370300200241d0006a41186a220c20073703002001427f2001290300220742207c220920092007541b3703002002200b3703500240200328020020066b411f4b0d002003200641204101410110a386808000200328020821060b200328020420066a220520022903502207370000200541186a200c2903002209370000200541106a2008290300220a370000200541086a2004290300220b37000020002007370001200041096a200b370000200041116a200a370000200041196a20093700002003200641206a360208410021050b200020053a00000c080b200041013a00000c070b200241086a200110cf848080000240024020022802084101710d00200241146a2001200228020c1086838080002002280214418080808078470d010b200041053a00000c070b200241206a41086a200241146a41086a28020022033602002002413b6a2003360000200220022902142207370320200041023a00002002200737003320002002290030370001200041086a200241376a2900003700000c060b200328020c2201280208220528020422044120490d042005200441606a36020420052005280200220441206a360200200241306a41086a2205200441086a290000370300200241306a41106a2208200441106a290000370300200241306a41186a220c200441186a2900003703002001427f2001290300220742207c220920092007541b370300200220042900003703300240200328020020066b411f4b0d002003200641204101410110a386808000200328020821060b2000200229033022073700012003200641206a360208200328020420066a22032007370000200041096a20052903002207370000200041116a20082903002209370000200041196a200c290300220a370000200341086a2007370000200341106a2009370000200341186a200a370000200041033a00000c050b200328020c2204280208220528020422014114490d0120052001416c6a36020420052005280200220141146a360200200241306a41086a2205200141086a290000370300200241306a41106a2208200141106a2800003602002004427f2004290300220742147c220920092007541b370300200220012900003703300240200328020020066b41134b0d002003200641144101410110a386808000200328020821060b2000200229033022073700012003200641146a360208200328020420066a22032007370000200041096a20052903002207370000200041116a20082802002205360000200341086a2007370000200341106a2005360000200041043a00000c040b200041053a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241f0006a2480808080000b860602047f027e23808080800041c0006b22022480808080000240024020012802082203280200220428020422050d00410121040c010b20042005417f6a36020420042004280200220541016a3602002001427f200129030042017c22062006501b37030020052d00002105410021040b024002402004410171450d00200041053a00000c010b024002400240024002400240200541ff01710e050001020305040b4105210402402003280200220528020422034120490d002005200341606a36020420052005280200220441206a3602002001427f2001290300220642207c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000410021040b200020043a00000c050b200041013a00000c040b200241086a200110d1848080000240024020022802084101710d00200241246a2001200228020c108d838080002002280224418080808078470d010b200041053a00000c040b200241306a41086a200241246a41086a2802002201360200200241206a2001360000200220022902242206370330200041023a00002002200637001820002002290015370001200041086a2002411c6a2900003700000c030b0240200328020022042802042205411f4b0d00200041053a00000c030b2004200541606a36020420042004280200220541206a3602002001427f2001290300220642207c220720072006541b370300200041033a000020002005290000370001200041096a200541086a290000370000200041116a200541106a290000370000200041196a200541186a2900003700000c020b200041053a00000c010b02402003280200220428020422054114490d0020042005416c6a36020420042004280200220541146a3602002001427f2001290300220642147c220720072006541b370300200041043a000020002005290000370001200041096a200541086a290000370000200041116a200541106a2800003600000c010b200041053a00000b200241c0006a2480808080000bed0504047f017e017f017e23808080800041c0006b2202248080808000024002402001280208220328020422040d0041002105410121040c010b20032004417f6a220536020420032003280200220441016a3602002001427f200129030042017c22062006501b37030020042d00002107410021040b024002402004410171450d00200041053a00000c010b024002400240024002400240200741ff01710e050001020305040b41052104024020054120490d002003200541606a36020420032003280200220441206a3602002001427f2001290300220642207c220820082006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000410021040b200020043a00000c050b200041013a00000c040b200241086a200110d2848080000240024020022802084101710d00200241246a2001200228020c10ac838080002002280224418080808078470d010b200041053a00000c040b200241306a41086a200241246a41086a2802002201360200200241206a2001360000200220022902242206370330200041023a00002002200637001820002002290015370001200041086a2002411c6a2900003700000c030b02402005411f4b0d00200041053a00000c030b2003200541606a36020420032003280200220441206a3602002001427f2001290300220642207c220820082006541b370300200041033a000020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a2900003700000c020b200041053a00000c010b024020054114490d0020032005416c6a36020420032003280200220441146a3602002001427f2001290300220642147c220820082006541b370300200041043a000020002004290000370001200041096a200441086a290000370000200041116a200441106a2800003600000c010b200041053a00000b200241c0006a2480808080000bde0601057f23808080800041106b220224808080800002400240024002400240024020002d00000e050001020304000b02402001280200220320012802082204470d0020012004410110f49180800020012802002103200128020821040b200041016a21002001200441016a22053602082001280204220620046a41003a00000240200320056b411f4b0d0020012005412010f49180800020012802042106200128020821050b200620056a220420002900003700002001200541206a360208200441186a200041186a290000370000200441106a200041106a290000370000200441086a200041086a2900003700000c040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00000c030b0240200128020020012802082205470d0020012005410110f491808000200128020821050b2001200541016a360208200128020420056a41023a0000200028020821042002200028020c22003602082002200241086a36020c2002410c6a200110dc84808000024020002001280200200128020822056b4d0d0020012005200010f491808000200128020821050b200128020420056a2004200010f4978080001a2001200520006a3602080c020b02402001280200220320012802082204470d0020012004410110f49180800020012802002103200128020821040b200041016a21002001200441016a22053602082001280204220620046a41033a00000240200320056b411f4b0d0020012005412010f49180800020012802042106200128020821050b200620056a220420002900003700002001200541206a360208200441186a200041186a290000370000200441106a200041106a290000370000200441086a200041086a2900003700000c010b02402001280200220320012802082204470d0020012004410110f49180800020012802002103200128020821040b200041016a21052001200441016a22003602082001280204220620046a41043a00000240200320006b41134b0d0020012000411410f49180800020012802042106200128020821000b200620006a220420052900003700002001200041146a360208200441106a200541106a280000360000200441086a200541086a2900003700000b200241106a2480808080000bfa0903057f017e067f23808080800041b0036b2203248080808000200341fc006a200110c9888080000240024002400240200328027c2204418080808078460d00200341b4026a200341fc006a41186a41fc0010f4978080001a200341b4026a410441f80020032802ac0341054b22051b6a22062802002207450d0220062007417f6a2207360200200341d4006a20032802b402200341b4026a20051b200741186c6a220541146a2802003602002003200529020c37024c02402005280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b200341b4026a10e189808000200341c0006a20034188016a290200370300200341c8006a200341fc006a41146a2802003602002003200329028001370338200128022041016a2205417f20051b22054104200541044b1b2207ad42247e2208a72105410021060240024002402008422088a70d00200541fcffffff074b0d00024020050d0041042109410021070c030b41002d008083d480001a200541002802f482d480001182808080000022060d01410421060b20062005200210b980808000000b2006200641036a417c71220920066b22056a417e6a20053b00000b20092004360200200920032903383702042009410c6a200341386a41086a290300370200200941146a200341386a41106a2903003702002009411c6a200341386a41186a2903003702002003410136020c2003200936020820032007360204200341106a41206a200141206a280200360200200341106a41186a200141186a290200370300200341106a41106a200141106a290200370300200341106a41086a200141086a29020037030020032001290200370310200341fc006a200341106a10c9888080000240200328027c2207418080808078460d00200341fc006a41186a210a200341fc006a41046a21044128210620034190026a41146a220b41086a210c410121050340200341b4026a200a41fc0010f4978080001a200341b4026a410441f80020032802ac0341054b22011b6a2202280200220d450d052002200d417f6a220d360200200b20032802b402200341b4026a20011b200d41186c6a220129020c370200200c200141146a28020036020002402001280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200341b4026a10e18980800020034190026a41106a2201200441106a280200360200200341d8006a41086a2202200441086a290200370300200341d8006a41186a220d20034190026a41186a290300370300200341d8006a41106a220e200129030037030020032004290200370358024020052003280204470d00200341046a2005200328023041016a2201417f20011b4104412410a386808000200328020821090b200920066a2201417c6a200736020020012003290358370200200141086a2002290300370200200141106a200e290300370200200141186a200d2903003702002003200541016a220536020c200641246a2106200341fc006a200341106a10c988808000200328027c2207418080808078470d000b0b200341106a10c389808000200041086a200341046a41086a280200360200200020032902043702000c010b2000410036020820004280808080c000370200200110c3898080000b200341b0036a2480808080000f0b41dfbcc6800041fc0041dcbdc6800010a181808000000b41dfbcc6800041fc0041dcbdc6800010a181808000000bfa13010e7f23808080800041f0006b220324808080800002400240024020012802082204450d0020012004417f6a220536020802402001280200220641016a2207200128020422086a2209410e4b0d002001200736020002400240024002400240024002400240024002400240024002400240024020060e0e000102030405060708090a0b0c0d100b200341286a41002900e4b4c88000370300200341206a41002900dcb4c88000370300200341186a41002900d4b4c88000370300200341002900ccb4c880003703100c0d0b200341286a4100290084b5c88000370300200341206a41002900fcb4c88000370300200341186a41002900f4b4c88000370300200341002900ecb4c880003703100c0c0b200341286a41002900a4b5c88000370300200341206a410029009cb5c88000370300200341186a4100290094b5c880003703002003410029008cb5c880003703100c0b0b200341286a41002900c4b5c88000370300200341206a41002900bcb5c88000370300200341186a41002900b4b5c88000370300200341002900acb5c880003703100c0a0b200341286a41002900e4b5c88000370300200341206a41002900dcb5c88000370300200341186a41002900d4b5c88000370300200341002900ccb5c880003703100c090b200341286a4100290084b6c88000370300200341206a41002900fcb5c88000370300200341186a41002900f4b5c88000370300200341002900ecb5c880003703100c080b200341286a41002900a4b6c88000370300200341206a410029009cb6c88000370300200341186a4100290094b6c880003703002003410029008cb6c880003703100c070b200341286a41002900c4b6c88000370300200341206a41002900bcb6c88000370300200341186a41002900b4b6c88000370300200341002900acb6c880003703100c060b200341286a41002900e4b6c88000370300200341206a41002900dcb6c88000370300200341186a41002900d4b6c88000370300200341002900ccb6c880003703100c050b200341286a4100290084b7c88000370300200341206a41002900fcb6c88000370300200341186a41002900f4b6c88000370300200341002900ecb6c880003703100c040b200341286a41002900a4b7c88000370300200341206a410029009cb7c88000370300200341186a4100290094b7c880003703002003410029008cb7c880003703100c030b200341286a41002900c4b7c88000370300200341206a41002900bcb7c88000370300200341186a41002900b4b7c88000370300200341002900acb7c880003703100c020b200341286a41002900e4b7c88000370300200341206a41002900dcb7c88000370300200341186a41002900d4b7c88000370300200341002900ccb7c880003703100c010b200341286a4100290084b8c88000370300200341206a41002900fcb7c88000370300200341186a41002900f4b7c88000370300200341002900ecb7c880003703100b0240024020050d00410121010c010b41012005410e20096b220120052001491b41016a2009410e461b21010b41002d008083d480001a20014104200141044b1b2201410574220941002802f482d4800011828080800000220a450d03200a2003290310370000200a417e6a41003b0000200a41086a200341106a41086a290300370000200a41106a200341106a41106a290300370000200a41186a200341106a41186a2903003700002003410136020c2003200a3602082003200136020402402005450d002004417e6a2102410020046b210b200841016a210c200341d0006a41186a2109200341d0006a41106a2106200341d0006a41086a210d41202105410121010340200c20076a410e4b0d01024002400240024002400240024002400240024002400240024002402007417f6a0e0d000102030405060708090a0b0c0f0b20094100290084b5c88000370300200641002900fcb4c88000370300200d41002900f4b4c88000370300200341002900ecb4c88000370350410221070c0c0b200941002900a4b5c880003703002006410029009cb5c88000370300200d4100290094b5c880003703002003410029008cb5c88000370350410321070c0b0b200941002900c4b5c88000370300200641002900bcb5c88000370300200d41002900b4b5c88000370300200341002900acb5c88000370350410421070c0a0b200941002900e4b5c88000370300200641002900dcb5c88000370300200d41002900d4b5c88000370300200341002900ccb5c88000370350410521070c090b20094100290084b6c88000370300200641002900fcb5c88000370300200d41002900f4b5c88000370300200341002900ecb5c88000370350410621070c080b200941002900a4b6c880003703002006410029009cb6c88000370300200d4100290094b6c880003703002003410029008cb6c88000370350410721070c070b200941002900c4b6c88000370300200641002900bcb6c8800037030041082107200341d0006a41086a41002900b4b6c88000370300200341002900acb6c880003703500c060b200941002900e4b6c88000370300200641002900dcb6c88000370300200d41002900d4b6c88000370300200341002900ccb6c88000370350410921070c050b20094100290084b7c88000370300200641002900fcb6c88000370300200d41002900f4b6c88000370300200341002900ecb6c88000370350410a21070c040b200941002900a4b7c880003703002006410029009cb7c88000370300200d4100290094b7c880003703002003410029008cb7c88000370350410b21070c030b200941002900c4b7c88000370300200641002900bcb7c88000370300200d41002900b4b7c88000370300200341002900acb7c88000370350410c21070c020b200941002900e4b7c88000370300200641002900dcb7c88000370300200d41002900d4b7c88000370300200341002900ccb7c88000370350410d21070c010b20094100290084b8c88000370300200641002900fcb7c88000370300200d41002900f4b7c88000370300200341002900ecb7c88000370350410e21070b200341306a41186a220e2009290300370300200341306a41106a220f2006290300370300200341306a41086a2210200d29030037030020032003290350370330024020012003280204470d004101210402402002450d0041012002410e200720086a22046b220a2002200a491b41016a2004410d4b1b21040b200341046a200120044101412010a3868080002003280208210a0b200a20056a22042003290330370000200441186a200e290300370000200441106a200f290300370000200441086a20102903003700002003200141016a220136020c2002417f6a2102200541206a2105200b20016a0d000b0b20002003290204370200200041086a200341046a41086a2802003602000c020b2001410e3602000b2000410036020820004280808080103702000b200341f0006a2480808080000f0b41012009200210b980808000000bfa13010e7f23808080800041f0006b220324808080800002400240024020012802082204450d0020012004417f6a220536020802402001280200220641016a2207200128020422086a2209410e4b0d002001200736020002400240024002400240024002400240024002400240024002400240024020060e0e000102030405060708090a0b0c0d100b200341286a41002900e4b4c88000370300200341206a41002900dcb4c88000370300200341186a41002900d4b4c88000370300200341002900ccb4c880003703100c0d0b200341286a4100290084b5c88000370300200341206a41002900fcb4c88000370300200341186a41002900f4b4c88000370300200341002900ecb4c880003703100c0c0b200341286a41002900a4b5c88000370300200341206a410029009cb5c88000370300200341186a4100290094b5c880003703002003410029008cb5c880003703100c0b0b200341286a41002900c4b5c88000370300200341206a41002900bcb5c88000370300200341186a41002900b4b5c88000370300200341002900acb5c880003703100c0a0b200341286a41002900e4b5c88000370300200341206a41002900dcb5c88000370300200341186a41002900d4b5c88000370300200341002900ccb5c880003703100c090b200341286a4100290084b6c88000370300200341206a41002900fcb5c88000370300200341186a41002900f4b5c88000370300200341002900ecb5c880003703100c080b200341286a41002900a4b6c88000370300200341206a410029009cb6c88000370300200341186a4100290094b6c880003703002003410029008cb6c880003703100c070b200341286a41002900c4b6c88000370300200341206a41002900bcb6c88000370300200341186a41002900b4b6c88000370300200341002900acb6c880003703100c060b200341286a41002900e4b6c88000370300200341206a41002900dcb6c88000370300200341186a41002900d4b6c88000370300200341002900ccb6c880003703100c050b200341286a4100290084b7c88000370300200341206a41002900fcb6c88000370300200341186a41002900f4b6c88000370300200341002900ecb6c880003703100c040b200341286a41002900a4b7c88000370300200341206a410029009cb7c88000370300200341186a4100290094b7c880003703002003410029008cb7c880003703100c030b200341286a41002900c4b7c88000370300200341206a41002900bcb7c88000370300200341186a41002900b4b7c88000370300200341002900acb7c880003703100c020b200341286a41002900e4b7c88000370300200341206a41002900dcb7c88000370300200341186a41002900d4b7c88000370300200341002900ccb7c880003703100c010b200341286a4100290084b8c88000370300200341206a41002900fcb7c88000370300200341186a41002900f4b7c88000370300200341002900ecb7c880003703100b0240024020050d00410121010c010b41012005410e20096b220120052001491b41016a2009410e461b21010b41002d008083d480001a20014104200141044b1b2201410574220941002802f482d4800011828080800000220a450d03200a2003290310370000200a417e6a41003b0000200a41086a200341106a41086a290300370000200a41106a200341106a41106a290300370000200a41186a200341106a41186a2903003700002003410136020c2003200a3602082003200136020402402005450d002004417e6a2102410020046b210b200841016a210c200341d0006a41186a2109200341d0006a41106a2106200341d0006a41086a210d41202105410121010340200c20076a410e4b0d01024002400240024002400240024002400240024002400240024002402007417f6a0e0d000102030405060708090a0b0c0f0b20094100290084b5c88000370300200641002900fcb4c88000370300200d41002900f4b4c88000370300200341002900ecb4c88000370350410221070c0c0b200941002900a4b5c880003703002006410029009cb5c88000370300200d4100290094b5c880003703002003410029008cb5c88000370350410321070c0b0b200941002900c4b5c88000370300200641002900bcb5c88000370300200d41002900b4b5c88000370300200341002900acb5c88000370350410421070c0a0b200941002900e4b5c88000370300200641002900dcb5c88000370300200d41002900d4b5c88000370300200341002900ccb5c88000370350410521070c090b20094100290084b6c88000370300200641002900fcb5c88000370300200d41002900f4b5c88000370300200341002900ecb5c88000370350410621070c080b200941002900a4b6c880003703002006410029009cb6c88000370300200d4100290094b6c880003703002003410029008cb6c88000370350410721070c070b200941002900c4b6c88000370300200641002900bcb6c8800037030041082107200341d0006a41086a41002900b4b6c88000370300200341002900acb6c880003703500c060b200941002900e4b6c88000370300200641002900dcb6c88000370300200d41002900d4b6c88000370300200341002900ccb6c88000370350410921070c050b20094100290084b7c88000370300200641002900fcb6c88000370300200d41002900f4b6c88000370300200341002900ecb6c88000370350410a21070c040b200941002900a4b7c880003703002006410029009cb7c88000370300200d4100290094b7c880003703002003410029008cb7c88000370350410b21070c030b200941002900c4b7c88000370300200641002900bcb7c88000370300200d41002900b4b7c88000370300200341002900acb7c88000370350410c21070c020b200941002900e4b7c88000370300200641002900dcb7c88000370300200d41002900d4b7c88000370300200341002900ccb7c88000370350410d21070c010b20094100290084b8c88000370300200641002900fcb7c88000370300200d41002900f4b7c88000370300200341002900ecb7c88000370350410e21070b200341306a41186a220e2009290300370300200341306a41106a220f2006290300370300200341306a41086a2210200d29030037030020032003290350370330024020012003280204470d004101210402402002450d0041012002410e200720086a22046b220a2002200a491b41016a2004410d4b1b21040b200341046a200120044101412010a3868080002003280208210a0b200a20056a22042003290330370000200441186a200e290300370000200441106a200f290300370000200441086a20102903003700002003200141016a220136020c2002417f6a2102200541206a2105200b20016a0d000b0b20002003290204370200200041086a200341046a41086a2802003602000c020b2001410e3602000b2000410036020820004280808080103702000b200341f0006a2480808080000f0b41012009200210b980808000000bd50404027f017e047f037e200220016b22044105762205ad42307e2206a72107410021080240024002402006422088a70d00200741f0ffffff074b0d0041002108024020070d0041102103410021090c030b41002d008083d480001a200741087241002802f482d4800011828080800000220a0d01411021080b20082007200310b980808000000b200a200a410f6a4170712203200a6b22076a417e6a20073b0000200521090b024020012002460d0041002108024020054101460d00200541feffff3f71210a410021082003210720012102034020072002290000370000200241086a2900002106200241106a290000210b200241186a290000210c200741286a4200370300200741206a42808080808080808010370300200741186a200c370000200741106a200b370000200741086a2006370000200241386a2900002106200241306a290000210b200241286a290000210c200241206a290000210d200741d8006a4200370300200741d0006a42808080808080808010370300200741306a200d370000200741386a200c370000200741c0006a200b370000200741c8006a2006370000200741e0006a2107200241c0006a2102200a200841026a2208470d000b0b02402004412071450d002003200841306c6a2207200120084105746a2202290000370000200241086a2900002106200241106a290000210b200241186a290000210c20074200370328200742808080808080808010370320200741186a200c370000200741106a200b370000200741086a20063700000b200521080b2000200836020820002003360204200020093602000bca0a01117f2380808080004190106b22032480808080000240024002400240024020012802202204450d0020012004417f6a2205360220024020012802142206200128021c2207470d0041002108024002400240200128020c2209200128020422076b220a4100480d00024020092007462208450d00410121064100210b0c030b41002d008083d480001a200a41002802f482d480001182808080000022060d01410121080b2008200a418c9dc4800010b980808000000b200a410a76210b2006417e6a41003b00000b20062007200a10f4978080002209200a6a210702402001280218450d002001280210220a200a417e6a2f00006b41002802ec82d48000118180808000000b2001200736021c2001200b360218200120093602142001200936021020080d010b200120064180086a220a360214200341106a200641800810f4978080001a0240024020050d00410121090c010b2005417f4100200128020c2001280204471b220920052009491b41016a21090b20094104200941044b1b220b410a7421084100210c02400240200941ffffff014b0d0020084100480d0041002d008083d480001a200841002802f482d480001182808080000022090d014101210c0b200c2008200210b980808000000b2009417e6a41003b00002009200341106a41800810f49780800021082003410136020c200320083602082003200b3602042001280200210d2001280208210e2001280210210b2001280218210c2005450d03417f4100200128020c220f20012802042210471b2111200f20106b22024100480d012002410a7621122004417e6a2108410020046b210441800821054101210103400240200a2007470d0002400240200f2010462207450d004101210a410021130c010b41002d008083d480001a0240200241002802f482d4800011828080800000220a0d00410121100c060b200a417e6a41003b0000201221130b200a2010200210f49780800021060240200c450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b02402007450d002013210c2006210b0c060b200620026a21072013210c2006210b0b20034190086a200a41800810f4978080001a024020012003280204470d00200341046a200141012008201120082011491b41016a200420016a41026a4101461b410141800810a386808000200328020821090b200a4180086a210a200920056a20034190086a41800810f4978080001a2003200141016a220136020c2008417f6a210820054180086a2105200420016a0d000c040b0b20004100360208200042808080801037020002402001280208450d002001280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b2001280218450d032001280210220a200a417e6a2f00006b41002802ec82d48000118180808000000c030b2004417e6a210541002110410020046b210441800821014101210a0340200620016a22082007460d0120034190086a200841800810f4978080001a0240200a2003280204470d00200341046a200a41012005201120052011491b41016a2004200a6a41026a4101461b410141800810a386808000200328020821090b200920016a20034190086a41800810f4978080001a2003200a41016a220a36020c2005417f6a210520014180086a21012004200a6a0d000c020b0b20102002418c9dc4800010b980808000000b0240200e450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b0240200c450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000b20034190106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010a3868080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741246e2208200128020822014101764f0d01410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a410020084104412410a3868080002003280208210a200328020c21090b200a200941246c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41246e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810a3868080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bef0704057f017e017f017e23808080800041d0006b2201248080808000200141306a41b0a9c88000410b41bba9c8800041164104410010c2928080002001410036022c20014280808080c00037022441002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220441ec80808000360218200442e2e68fceaa92ce9c7b370310200442e987d8bed5a3d0fbfb0037030820044107360204200441d1a9c880003602002004417e6a20033b0000200141086a41086a200141246a220241086a280200360200200120022902003703082001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a41ac91c3800010b592808000200128021c220242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb00370300200141c0006a41086a220341013602002002420437022c20024207370224200241a5b4c380003602202002410436021c200241eebfc38000360218200241ec80808000360210200120012902183703400240200328020022032001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c20024207370224200241a5b4c380003602202002410836021c200241e0bfc38000360218200241ec80808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb003703002007200341016a2203360200200120012903402208370318024020032008a7470d00200141186a41ac91c3800010b5928080000b200128021c200341386c6a2202420437022c20024207370224200241a5b4c380003602202002410636021c200241e8bfc38000360218200241ec80808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb00370300200141c8006a200341016a2203360200200120012903182208370340024020032008a7470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c2002420a370224200241f7bfc380003602202002410536021c200241f2bfc38000360218200241a084808000360210200242eb92e3b8cadafec4e500370308200242badfe7dc9bbfa3ac353703002005418080808078460d0120012802442102200128024021072000410136024c20002004360248200041013602442000200637023c200020053602382000200236020820002007360204200041003a0000200020012903083702502000200341016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be90202027e047f2000290308210220002903002103024020012802002204200128020822056b410f4b0d0020012005411010f49180800020012802002104200128020821050b2001200541106a22063602082001280204220720056a220520023700082005200337000020002903182102200029031021030240200420066b410f4b0d0020012006411010f4918080002001280200210420012802042107200128020821060b200720066a22052002370008200520033700002001200641106a220636020820002903282102200029032021030240200420066b410f4b0d0020012006411010f49180800020012802042107200128020821060b200720066a22042002370008200420033700002001200641106a220636020820002903382102200029033021030240200128020020066b410f4b0d0020012006411010f491808000200128020821060b2001200641106a360208200128020420066a22012002370008200120033700000bb70202057f027e23808080800041206b2202248080808000024002402001280200220328020c2204280208220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002004427f2004290300220742047c220820082007541b3703002006280000210402402003280200200328020822056b41034b0d002003200541044101410110a386808000200328020821050b2003200541046a360208200328020420056a2004360000200241086a200110cf848080000240024020022802084101710d00200241146a2001200228020c1086838080002002280214418080808078470d010b20004180808080783602040c020b20002002290214370204200020043602002000410c6a2002411c6a2802003602000c010b20004180808080783602040b200241206a2480808080000bba0202057f027e23808080800041206b2202248080808000024002402001280200220328020c2204280208280200220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002004427f2004290300220742047c220820082007541b3703002006280000210402402003280200200328020822056b41034b0d002003200541044101410110a386808000200328020821050b2003200541046a360208200328020420056a2004360000200241086a200110ce848080000240024020022802084101710d00200241146a2001200228020c1089838080002002280214418080808078470d010b20004180808080783602040c020b20002002290214370204200020043602002000410c6a2002411c6a2802003602000c010b20004180808080783602040b200241206a2480808080000ba10303047f017e027f23808080800041106b2202248080808000024002402001280204220341074b0d0020004180808080783602080c010b2001200341786a220436020420012001280200220541086a360200024002402004450d00200529000021062001200341776a22073602042001200541096a3602000240024002400240024020052d000822084103710e0400010302000b200841027621030c030b2007450d032001200341766a36020420012005410a6a36020020052d00092203450d03200341087420087241027621030c020b200841044f0d0220044105490d022001200341736a36020420012005410d6a360200200528000922034180808080044f0d010c020b20044104490d012001200341746a36020420012005410c6a36020020052f00092005410b6a2d0000411074722203418002490d01200341087420087241027621030b200241046a20012003108a838080002002280204418080808078470d010b20004180808080783602080c010b2000200229020437020820002006370200200041106a2002410c6a2802003602000b200241106a2480808080000b9d0301077f23808080800041106b2202248080808000024002402001280204220341034b0d0020004180808080783602040c010b20012003417c6a220436020420012001280200220541046a360200024002402004450d002005280000210620012003417b6a22073602042001200541056a3602000240024002400240024020052d000422084103710e0400010302000b200841027621030c030b2007450d0320012003417a6a3602042001200541066a36020020052d00052203450d03200341087420087241027621030c020b200841044f0d0220044105490d022001200341776a3602042001200541096a360200200528000522034180808080044f0d010c020b20044104490d012001200341786a3602042001200541086a36020020052f0005200541076a2d0000411074722203418002490d01200341087420087241027621030b200241046a20012003108a838080002002280204418080808078470d010b20004180808080783602040c010b20002002290204370204200020063602002000410c6a2002410c6a2802003602000b200241106a2480808080000bfe0101047f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110dc84808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028021021052002200028021422003602082002200241086a36020c2002410c6a200110dc84808000024020002001280200200128020822046b4d0d0020012004200010f491808000200128020821040b200128020420046a2005200010f4978080001a2001200420006a360208200241106a2480808080000bde09010c7f23808080800041d0006b2202248080808000200241306a200110fe8e80800002400240024020022802302203418080808078460d00200228023421040240200128020422054104490d002002280238210620012005417c6a220736020420012001280200220841046a220936020020074120490d002008280000210a20012005415c6a22073602042001200841246a360200200241306a41086a220b200941086a290000370300200241306a41106a220c200941106a290000370300200241306a41186a220d200941186a29000037030020022009290000370330200741034b0d020b2003450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b2001200541586a3602042001200841286a360200200241086a200b290300370300200241106a200c290300370300200241186a200d2903003703002002200229033037030020082800242109200241306a200110a78880800002400240024020022802304101470d0020004180808080783602000c010b200241286a2002413c6a2802003602002002200229023437032002400240024020012802042205450d0020012005417f6a220b36020420012001280200220841016a3602000240024002400240024020082d000022074103710e0400010302000b200741027621050c030b200b450d0320012005417e6a3602042001200841026a36020020082d00012205450d03200541087420077241027621050c020b200741044f0d0220054105490d0220012005417b6a3602042001200841056a360200200828000122054180808080044f0d010c020b20054104490d0120012005417c6a3602042001200841046a36020020082f0001200841036a2d0000411074722205418002490d01200541087420077241027621050b200241306a2001200510ab8380800020022802302208418080808078470d010b20004180808080783602000c010b2002280234210720022802382105200241306a200110b48880800020022802304101470d02200041808080807836020002402005450d002005410171210641002100024020054101460d002005417e7121092007210141002100034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012009200041026a2200470d000b0b2006450d00200720004104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b2008450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200241206a10a6888080000b2003450d0120042004417e6a2f00006b41002802ec82d48000118180808000000c010b2000200229023437024c200041d4006a2002413c6a280200360200200041286a200241186a290300370200200041206a200241106a290300370200200041186a200241086a2903003702002000200229030037021020002002290320370240200041c8006a200241206a41086a2802003602002000200536023c2000200736023820002008360234200020093602302000200a36020c2000200636020820002004360204200020033602000b200241d0006a2480808080000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d04200020012002410874200572410276108a838080000f0b20030d020c030b200541027621020b200020012002108a838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d00200020012002410874200572410276108a838080000f0b20004180808080783602000bb60101047f23808080800041106b22022480808080002000280200220341046a2802002100200341086a280200210441012103200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a200020002004410a746a108c8e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030bb60101047f23808080800041106b22022480808080002000280200220341046a2802002100200341086a280200210441012103200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a20002000200441186c6a10938e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030bb60101047f23808080800041106b22022480808080002000280200220341046a2802002100200341086a280200210441012103200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a20002000200441246c6a108e8e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030bad0101047f23808080800041106b22022480808080002000280200220028020821032000280204210041012104200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2000200020036a10948e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021040b200241106a24808080800020040bb60101047f23808080800041106b22022480808080002000280200220341046a2802002100200341086a280200210441012103200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a200020002004410c6c6a108f8e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030b3900200128020020002802002d000041027422004198b9c880006a2802002000418cb9c880006a280200200128020428020c118080808000000b910d01057f23808080800041306b2202248080808000024002400240024002400240200028020022032d00000e050001020304000b410121002002200341016a3602282001280200220341c0a6c8800041022001280204220428020c2205118080808000000d040240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d06200241286a200110e78c808000450d010c060b200341e080c2800041022005118080808000000d0541012100200241013a00172002200436020c20022003360208200241b480c2800036021c200220012902083702202002200241176a3602102002200241086a360218200241286a200241186a10e78c8080000d05200228021841da80c280004102200228021c28020c118080808000000d050b200128020041e280c280004101200128020428020c1180808080000021000c040b410121002002200341016a3602282001280200220341c2a6c8800041052001280204220428020c2205118080808000000d030240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d05200241286a2001109c85808000450d010c050b200341e080c2800041022005118080808000000d0441012100200241013a00172002200436020c20022003360208200241b480c2800036021c200220012902083702202002200241176a3602102002200241086a360218200241286a200241186a109c858080000d04200228021841da80c280004102200228021c28020c118080808000000d040b200128020041e280c280004101200128020428020c1180808080000021000c030b410121002001280200220541c7a6c8800041032001280204220628020c2204118080808000000d020240024020012d000a418001710d0041012100200541df80c2800041012004118080808000000d04200328020c21052003280208210341012100200128020041e580c280004101200128020428020c118080808000002104200241003a001d200220043a001c20022001360218200241186a2003200320056a10948e808000210320022d001c4101460d042003280200220328020041e680c280004101200328020428020c11808080800000450d010c040b200541e080c2800041022004118080808000000d03200241013a0017200220012902083702202002200636020c20022005360208200241b480c2800036021c2002200241176a3602102002200241086a36021820032802082100200328020c2103200241086a41e580c2800041011088818080002105200241003a002d200220053a002c2002200241186a360228200241286a2000200020036a10948e80800021000240024020022d002c4101460d002000280200220028020041e680c280004101200028020428020c11808080800000450d010b410121000c040b41012100200228021841da80c280004102200228021c28020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021000c020b410121002002200341016a3602282001280200220341caa6c8800041092001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d03200241286a200110b185808000450d010c030b200341e080c2800041022005118080808000000d0241012100200241013a00172002200436020c20022003360208200241b480c2800036021c200220012902083702202002200241176a3602102002200241086a360218200241286a200241186a10b1858080000d02200228021841da80c280004102200228021c28020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021000c010b410121002002200341016a3602282001280200220341d3a6c8800041092001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d02200241286a200110a885808000450d010c020b200341e080c2800041022005118080808000000d0141012100200241013a00172002200436020c20022003360208200241b480c2800036021c200220012902083702202002200241176a3602102002200241086a360218200241286a200241186a10a8858080000d01200228021841da80c280004102200228021c28020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000b2d00200128020041a0b2c880004198b2c8800020002802002d00001b4108200128020428020c118080808000000bb60101047f23808080800041106b22022480808080002000280200220341046a2802002100200341086a280200210441012103200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2000200020044105746a108d8e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030b1f002000280200220041046a280200200041086a280200200110868e8080000ba10701057f23808080800041306b2202248080808000200028020021034101210002402001280200220441014100200128020428020c2205118080808000000d00024002400240024020012d000a418001710d0041012100200441df80c2800041012005118080808000000d04200328020821052003280204210441012100200128020041e580c280004101200128020428020c118080808000002106200241003a001d200220063a001c20022001360218200241186a2004200420056a10948e808000210420022d001c4101460d042004280200220428020041e680c280004101200428020428020c11808080800000450d010c040b200441e080c2800041022005118080808000000d03200241013a001720022001290208370220200241b480c2800036021c200220012902003702082002200241176a3602102002200241086a3602182003280208210420032802042100200241086a41e580c2800041011088818080002105200241003a002d200220053a002c2002200241186a360228200241286a2000200020046a10948e808000210020022d002c4101460d012000280200220028020041e680c280004101200028020428020c118080808000000d01200228021841da80c280004102200228021c28020c118080808000000d010b024020012d000a418001710d0041012100200128020041d380c280004102200128020428020c118080808000000d03200328021421042003280210210341012100200128020041e580c280004101200128020428020c118080808000002105200241003a001d200220053a001c20022001360218200241186a2003200320046a10948e808000210320022d001c4101460d032003280200220328020041e680c280004101200328020428020c118080808000000d030c020b200241013a0017200241b480c2800036021c20022001290200370208200220012902083702202002200241176a3602102002200241086a3602182003280210210020032802142103200241086a41e580c2800041011088818080002104200241003a002d200220043a002c2002200241186a360228200241286a2000200020036a10948e808000210020022d002c4101460d002000280200220028020041e680c280004101200028020428020c118080808000000d00200228021841da80c280004102200228021c28020c11808080800000450d010b410121000c010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000bb60101047f23808080800041106b22022480808080002000280200220341046a2802002100200341086a280200210441012103200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a20002000200441146c6a10928e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030b180020002802002001200028020428020c118480808000000b9f1001077f0240024002400240024002400240024020002802000e080102070703040500010b20002802084104470d06200028020c450d06200028021021010c050b0240024002400240024002400240024020002d0008417f6a0e0a010d0203040506070d0d000b200028020c450d0c200028021021010c0b0b200028020c450d0b200028021021010c0a0b200028020c450d0a200028021021010c090b200028020c450d09200028021021010c080b20002802102101024020002802142202450d0020012103034002402003280200450d00200341046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032002417f6a22020d000b0b200028020c0d070c080b20002802102101024020002802142203450d002003410171210541002102024020034101460d002003417e7121062001210341002102034002402003280200450d00200341046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032006200241026a2202470d000b0b2005450d0020012002410c6c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b200028020c0d060c070b2000280210450d06200028021421010c050b200028020c450d05200028021021010c040b024020002802042203418080808078470d002000280208450d05200028020c21010c040b02402003450d00200028020822032003417e6a2f00006b41002802ec82d48000118180808000000b200041d0006a10a688808000200028023c2105024020002802402207450d0041002106034002402005200641f0006c6a22042802082201450d00200428020421030340024020032d0000220241034b0d002003200241027441a4b9c880006a2802006a2202280200450d00200241046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032001417f6a22010d000b0b02402004280200450d00200428020422032003417e6a2f00006b41002802ec82d48000118180808000000b200641016a22062007470d000b0b02402000280238450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b024020002802442203418080808078460d002003450d00200028024822032003417e6a2f00006b41002802ec82d48000118180808000000b20002802602106024020002802642203450d002003410171210541002101024020034101460d002003417e7121042006210341002101034002402003280200450d00200341046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200341106a280200450d00200341146a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200341206a21032004200141026a2201470d000b0b2005450d00200620014104746a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b0240200028025c450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b02402000280268450d00200028026c22032003417e6a2f00006b41002802ec82d48000118180808000000b200028027821060240200028027c2202450d002002410171210541002101024020024101460d002006411c6a21032002417e7121044100210103400240200341686a280200450d002003416c6a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b02402003417c6a280200450d00200328020022022002417e6a2f00006b41002802ec82d48000118180808000000b200341286a21032004200141026a2201470d000b0b2005450d002006200141146c6a2203280204450d00200341046a28020422032003417e6a2f00006b41002802ec82d48000118180808000000b02402000280274450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200028028001450d0420002802840121010c030b024002400240024002400240024020002d0010417f6a0e07000102030405060a0b20002d00144102470d092000280218450d09200028021c21010c080b024020002d00144102470d002000280218450d00200028021c22032003417e6a2f00006b41002802ec82d48000118180808000000b20002d00384102470d08200028023c450d08200028024021010c070b20002d00144102470d072000280218450d07200028021c21010c060b20002d00144102470d062000280218450d06200028021c21010c050b20002d00144102470d052000280218450d05200028021c21010c040b2000280214450d04200028021821010c030b20002d00144102470d032000280218450d03200028021c21010c020b024002400240024020002d00082203417c6a41042003417b6a41ff01714105491b417f6a0e0400010203060b200028020c2201108c8f8080000c040b20002802202201108c8f8080000c030b20002d000c4102470d032000280210450d03200028021421010c020b024020034102470d00200028020c450d00200028021022032003417e6a2f00006b41002802ec82d48000118180808000000b200028022c2201108c8f8080000c010b20002802042203418480808078480d012003450d01200028020821010b20012001417e6a2f00006b41002802ec82d48000118180808000000b0bf60201067f23808080800041306b220124808080800020002802042102024020002802082203450d002002210403400240024002400240024020042d00000e050404010203000b02400240200441046a28020022050d0041002105410021060c010b200120053602242001410036022020012005360214200141003602102001200441086a2802002205360228200120053602182004410c6a2802002106410121050b2001200636022c2001200536021c2001200536020c2001410c6a10c7898080000c030b200441046a280200450d02200441086a28020022052005417e6a2f00006b41002802ec82d48000118180808000000c020b200441046a280200450d01200441086a28020022052005417e6a2f00006b41002802ec82d48000118180808000000c010b200441046a108d8f8080000b200441106a21042003417f6a22030d000b0b02402000280200450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bc60501037f0240024002400240024002402000280200417e6a2201410420014106491b0e050501020304000b2000280204220120012802002201417f6a36020020014101470d04200041046a10f0978080000c040b0240200028022c4129490d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802342201450d03200120012802002202417f6a36020020024101470d03200041346a10f0978080000f0b024020002802504129490d00200028022822012001417e6a2f00006b41002802ec82d48000118180808000000b20002d0004450d0220002802082201108e8f80800020012001417e6a2f00006b41002802ec82d48000118180808000000f0b024020002802382202450d00200028023421010340024020012d000022034102460d002003450d00200141046a2802002203108e8f80800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b02402000280230450d00200028023422012001417e6a2f00006b41002802ec82d48000118180808000000b2000280204450d0120002802082201450d01200120012802002202417f6a36020020024101470d01200041086a10f0978080000f0b024020002802604129490d00200028023822012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802342202450d00200028023021010340024020012d000022034102460d002003450d00200141046a2802002203108e8f80800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b0240200028022c450d00200028023022012001417e6a2f00006b41002802ec82d48000118180808000000b2000280200450d0020002802042201450d00200120012802002202417f6a36020020024101470d00200041046a10f0978080000f0b0bb60301057f23808080800041206b220324808080800041002104024002402000280200220541086a2802002206410c6c220741046a22004100480d00200541046a280200210441002d008083d480001a200041002802f482d480001182808080000022050d01410121040b2004200041e8aac8800010b980808000000b2005417e6a41003b000020034100360214200320053602102003200036020c200320063602182003200341186a36021c2003411c6a2003410c6a10dc84808000024002402006450d00200441086a210003402000417c6a28020021042003200028020022063602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402006200328020c200328021422056b4d0d002003410c6a2005200610f491808000200328021421050b200328021020056a2004200610f4978080001a2003200520066a22063602142000410c6a2100200741746a22070d000c020b0b200328021421060b200328020c21052001200220032802102200200641002802dc82d480001183808080000002402005450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000bab0301057f23808080800041206b2203248080808000410021040240024020002802042205410c6c220641046a22074100480d002000280200210441002d008083d480001a200741002802f482d480001182808080000022000d01410121040b2004200741e8aac8800010b980808000000b2000417e6a41003b000020034100360214200320003602102003200736020c200320053602182003200341186a36021c2003411c6a2003410c6a10dc84808000024002402005450d00200441086a210003402000417c6a28020021042003200028020022073602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402007200328020c200328021422056b4d0d002003410c6a2005200710f491808000200328021421050b200328021020056a2004200710f4978080001a2003200520076a22073602142000410c6a2100200641746a22060d000c020b0b200328021421070b200328020c21052001200220032802102200200741002802dc82d480001183808080000002402005450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000bf30201057f23808080800041206b2202248080808000410021030240024020012802082204410c6c220541046a22064100480d002001280204210341002d008083d480001a200641002802f482d480001182808080000022010d01410121030b2003200641e8aac8800010b980808000000b2001417e6a41003b000020024100360214200220013602102002200636020c200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004450d00200341086a210103402001417c6a28020021032002200128020022063602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402006200228020c200228021422046b4d0d002002410c6a2004200610f491808000200228021421040b200228021020046a2003200610f4978080001a2002200420066a3602142001410c6a2101200541746a22050d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b9c0201047f23808080800041206b2202248080808000410021030240024002402001280208220441046a22054100480d0020012802042103024020050d00410121010c030b41002d008083d480001a200541002802f482d480001182808080000022010d01410121030b2003200541dc83c3800010b980808000000b2001417e6a41003b00000b20024100360214200220013602102002200536020c200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004200228020c200228021422056b4d0d002002410c6a2005200410f491808000200228021421050b200228021020056a2003200410f4978080001a200041086a200520046a3602002000200229020c370200200241206a2480808080000b960202067f027e23808080800041106b2202248080808000200028020421032002200028020822003602082002200241086a36020c2002410c6a200110dc8480800002402000450d002000410574210420012802082100034002402001280200220520006b41074b0d0020012000410810f49180800020012802002105200128020821000b2001200041086a22063602082001280204220720006a200341106a29000037000020032903082108200329030021090240200520066b410f4b0d0020012006411010f49180800020012802042107200128020821060b200341206a2103200720066a22002008370008200020093700002001200641106a2200360208200441606a22040d000b0b200241106a2480808080000b9d0101047f20002802002102200020011098928080000240200028020822012002200028020c22036b4d0d002000280200210402400240200220016b2205200320056b22034d0d00200420026b20034f0d010b20002802042202200420056b22034102746a200220014102746a200541027410f9978080001a200020033602080f0b2000280204220020024102746a2000200341027410f4978080001a0b0b6601047f02400240200128020c22020d00410021020c010b20012002417f6a36020c4101210220012001280208220341016a220441002001280200220520042005491b6b360208200128020420034102746a28020021010b20002001360204200020023602000b870a010f7f23808080800041e0006b2202248080808000024020002802082203450d0020004100360208410120036b2104200128020021052000280204210102400340200241d8006a2106200241dc006a2107410c210841102109024002400240024020012d00000e050101020003010b200241dc006a2106200241c0006a2107410c2109410821080b2007200120086a2802003602002006200120096a2802003602000c010b200141106a28020041c000470d00200141016a28000041e1eac98b06470d00200241086a22072001410c6a280200220641086a290000370300200241106a2208200641106a290000370300200241186a2209200641186a290000370300200241206a220a200641206a290000370300200241286a220b200641286a290000370300200241306a220c200641306a290000370300200241386a220d200641386a29000037030020022006290000370300024020052d00004101460d00200541013a000020052002290300370001200541096a2007290300370000200541116a2008290300370000200541196a2009290300370000200541216a200a290300370000200541296a200b290300370000200541316a200c290300370000200541396a200d290300370000024020012d0000220641034b0d002001200641027441a4b9c880006a2802006a2206280200450d00200641046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b024020040d004101210b0c040b410020046b2106200541016a210c4101210b0340200241d8006a2107200241dc006a2108410c21094110210a02400240024002400240200141146a22042d00000e050101020003010b200241dc006a2107200241c0006a2108410c210a410821090b2008200120096a41146a28020036020020072001200a6a41146a2802003602000c010b200141246a28020041c000470d00200141156a28000041e1eac98b06470d00200241086a2208200141206a280200220741086a290000370300200241106a2209200741106a290000370300200241186a220a200741186a290000370300200241206a220d200741206a290000370300200241286a220e200741286a290000370300200241306a220f200741306a290000370300200241386a2210200741386a29000037030020022007290000370300024020052d00004101460d00200541013a0000200c2002290300370000200c41086a2008290300370000200c41106a2009290300370000200c41186a200a290300370000200c41206a200d290300370000200c41286a200e290300370000200c41306a200f290300370000200c41386a2010290300370000200b41016a210b20042d0000220741034b0d022001200741027441a4b9c880006a2802006a220141146a280200450d02200141186a28020022012001417e6a2f00006b41002802ec82d48000118180808000000c020b2002410036025020024101360244200241b8a7c8800036024020024204370248200241c0006a4190a8c8800010fe80808000000b2001200b416c6c6a220141246a200441106a2802003602002001411c6a200441086a290200370200200141146a20042902003702000b200421012006417f6a22060d000c040b0b2002410036025020024101360244200241b8a7c8800036024020024204370248200241c0006a4190a8c8800010fe80808000000b200141146a2101200441016a22044101470d000b4100210b0b20002003200b6b3602080b200241e0006a2480808080000bc807010e7f20012802142103200128021021042001280204210520012d000821062001280218210720012d000d210820012d000921092001280200210a20012d000c210b0240034002400240024002400240024002400240024002400240024002400240200a417e6a0e020102000b0240200641ff01714102460d004100210c2001410041022006410171220d1b3a0008200d450d00410021062009210e0c040b0240200a410171450d002005450d002005418002490d032001200541817e6a220536020441ff01210e410221064101210c0c040b41022106200141023602000b4102210a0240200b41ff01714102460d004100210a200141003a000c200b4101710d050b20014103360200200a210b0b2004450d042003450d04200120032007200320072003491b220a6b220336021420012004200a6a220c36021002400240200a0e020001040b4100410041d0b0c88000108281808000000b4101410141e0b0c88000108281808000000b200141003602042005417f6a210e410221064101210c410021050b2000280208220d2000280200470d08200a4103470d05200445210f2004210c0c040b20042d000041047420042d000172210e2000280208220d2000280200460d024103210a200c21040c070b4100210b4102210a2008210e2000280208220d2000280200470d064100210c20040d04410021042008210e410021100c050b0f0b4100210f0b410021104103210a0240200f450d00200c21040c030b024020030d00200c21040c030b02402007450d00200320076e22042003200420076c6b4100476a2110200c21040c030b41bcb3c88000108e81808000000b024002400240024002402004450d00200a4102460d01200b41ff017122104102460d0202400240200c0d00200a4101711a2006210c0c010b200a4101711a4100210c0b200c20106a210c0c050b200a4102460d02200b41ff017122044102460d0302400240200c0d00200a4101711a2006210c0c010b200a4101711a4100210c0b200c20046a2110410021040c050b4102210a4100200b200b41ff01714102461b41ff0171210c0c030b41002006200c1b210c4102210b0c020b4102210a410021044100200b200b41ff01714102461b41ff017121100c020b4100210441002006200c1b21104102210b0c010b4100211002402003450d002007450d04200320076e22102003201020076c6b4100476a21100b417f200c20106a22102010200c491b21100b2000200d201041016a220c417f200c1b4101410110a3868080000b2000200d41016a3602082000280204200d6a200e3a00000c000b0b41bcb3c88000108e81808000000b4d01017f024020022000280200200028020822046b4d0d002000200420024101410110a386808000200028020821040b200028020420046a2001200210f4978080001a2000200420026a3602080bc30201067f23808080800041106b22052480808080002003280204210620032802002107024020012802002201280208220320026a220820034d0d002003210802402002200128020020036b4d0d002001200320024101410110a386808000200128020821080b2001280204220920086a210a024020024102490d00200a41002002417f6a220210fa978080001a2009200820026a22086a210a0b200a41003a0000200841016a21080b20012008360208024020082003490d00200541086a20072006200128020420036a200820036b200410d280808000024002402005280208418380c400460d00200020052903083702000c010b0240200528020c220820036a220320012802084b0d00200120033602080b2000418380c400360200200020083602040b200541106a2480808080000f0b20032008418caec88000109281808000000bab0101047f23808080800041106b2202248080808000200028020421032000280208210441012100200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2003200320044105746a108b8e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021000b200241106a24808080800020000b140020002802042000280208200110878e8080000bab0101047f23808080800041106b2202248080808000200028020421032000280208210441012100200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2003200320044104746a10918e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021000b200241106a24808080800020000ba80101047f23808080800041106b2202248080808000200028020821032000280204210041012104200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2000200020036a10948e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021040b200241106a24808080800020040bac0101047f23808080800041106b2202248080808000200028020421032000280208210441012100200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a20032003200441f0006c6a10908e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021000b200241106a24808080800020000b8f0903027f017e107f23808080800041106b220324808080800020012802082204ad42147e2205a72106410021070240024002402005422088a70d00200641fcffffff074b0d00024020060d00410421080c030b2001280204210941002d008083d480001a200641002802f482d480001182808080000022010d01410421070b2007200641b8b2c8800010b980808000000b2001200141036a417c71220820016b22076a417e6a20073b00002004450d00410021072004210a034020062007460d01024002400240024002400240200920076a220b2d0000220c0e050001020305000b4100210d024002400240200b41106a28020022014100480d00200b41036a2d0000210d200b41016a2f0000210e200b410c6a280200210f200b41046a2d0000210b024020010d00410121100c030b41002d008083d480001a200141002802f482d480001182808080000022100d014101210d200121100b200d201041a8b2c8800010b980808000000b2010417e6a41003b00000b200e200d4110747221112010200f200110f497808000210f2003200b3a000c2003210b200341046a210d200341086a210e200f210f0c030b4100210d024002400240200b41106a28020022014100480d00200b41036a2d0000210d200b41016a2f0000210e200b410c6a280200210f200b41046a2d0000210b024020010d00410121120c030b41002d008083d480001a200141002802f482d480001182808080000022120d014101210d200121120b200d201241a8b2c8800010b980808000000b2012417e6a41003b00000b200e200d4110747221112012200f200110f497808000210f2003200b3a000c2003210b200341046a210d200341086a210e200f210f0c020b4100210d024002400240200b41106a28020022014100480d00200b41036a2d0000210d200b41016a2f0000210e200b410c6a280200210f200b41046a2d0000210b024020010d00410121130c030b41002d008083d480001a200141002802f482d480001182808080000022130d014101210d200121130b200d201341a8b2c8800010b980808000000b2013417e6a41003b00000b200e200d4110747221112013200f200110f497808000210f2003200b3a000c2003210b200341046a210d200341086a210e200f210f0c010b4100210d024002400240200b410c6a28020022014100480d00200b41086a280200210f024020010d00410121140c030b41002d008083d480001a200141002802f482d480001182808080000022140d014101210d200121140b200d201441a8b2c8800010b980808000000b2014417e6a41003b00000b200341046a210b200341086a210d2003410c6a210e2014200f200110f497808000210f0b200b2001360200200d200f360200200e20013602002003280200210d2003280204210e2003280208210f200328020c21150b200820076a2201200c3a0000200141036a20114110763a0000200141016a20113b0000200141106a200d3602002001410c6a200e360200200141086a200f360200200141046a2015360200200741146a2107200a417f6a220a0d000b0b200020043602082000200836020420002004360200200341106a2480808080000b1e00200128020041abadc880004105200128020428020c118080808000000bcc0201047f23808080800041306b2201248080808000024020002802082202450d002000280204210003400240024002400240024020002d00000e050404010203000b02400240200041046a28020022030d0041002103410021040c010b200120033602242001410036022020012003360214200141003602102001200041086a2802002203360228200120033602182000410c6a2802002104410121030b2001200436022c2001200336021c2001200336020c2001410c6a10c7898080000c030b200041046a280200450d02200041086a28020022032003417e6a2f00006b41002802ec82d48000118180808000000c020b200041046a280200450d01200041086a28020022032003417e6a2f00006b41002802ec82d48000118180808000000c010b200041046a108d8f8080000b200041106a21002002417f6a22020d000b0b200141306a2480808080000bd20101067f024020002802082201450d002000280204210241002103034002402002200341f0006c6a22042802082205450d00200428020421000340024020002d0000220641034b0d002000200641027441a4b9c880006a2802006a2206280200450d00200641046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041146a21002005417f6a22050d000b0b02402004280200450d00200428020422002000417e6a2f00006b41002802ec82d48000118180808000000b200341016a22032001470d000b0b0b5401027f024020002802082201450d00200028020441086a210003402000280200220220022802002202417f6a360200024020024101470d00200010de8f8080000b200041306a21002001417f6a22010d000b0b0bec0101057f024020002802082201450d00200028020421022001410171210341002104024020014101460d002002411c6a21002001417e7121054100210403400240200041686a280200450d002000416c6a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b200041286a21002005200441026a2204470d000b0b2003450d002002200441146c6a2200280204450d00200041046a28020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b7701027f024020002802082201450d00200028020421000340024020002d0000220241034b0d002000200241027441a4b9c880006a2802006a2202280200450d00200241046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200041146a21002001417f6a22010d000b0b0b8a0101027f024020002802082201450d0020002802042100034002402000280200450d00200041046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002001417f6a22010d000b0b0bc10301087f024020002802082201450d002000280204210241002103034002402002200341fc006c6a22042802082205450d00200428020421000340024020002d0000220641034b0d002000200641027441a4b9c880006a2802006a2206280200450d00200641046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041146a21002005417f6a22050d000b0b02402004280200450d00200428020422002000417e6a2f00006b41002802ec82d48000118180808000000b024020042802782200450d00200428027421072000410171210841002105024020004101460d002000417e712106410021052007210003402000410c6a200041046a280200200041086a2802002000280200280210118680808000002000411c6a200041146a280200200041186a280200200041106a28020028021011868080800000200041206a21002006200541026a2205470d000b0b2008450d00200720054104746a2200410c6a200028020420002802082000280200280210118680808000000b02402004280270450d00200428027422002000417e6a2f00006b41002802ec82d48000118180808000000b200341016a22032001470d000b0b0ba70501067f024020002802082201450d00200028020422022100410021030340200220034107746a20002d000041084641027422046a210502400240024002400240200020046a22042d0000417c6a41ff01712206410420064104491b0e0404010203000b0240200441dc006a2802004129490d00200441346a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b2004412c6a28020022062006417e6a2f00006b41002802ec82d480001181808080000020042d000022064103460d030240024020060e020105000b200441246a280200220420042802002204417f6a36020020044101470d04200541246a10f0978080000c040b200441046a2206280200220420042802002204417f6a36020020044101470d03200610f0978080000c030b0240200441dc006a2802004129490d00200441346a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02400240200441046a2d00000e020104000b200441286a280200220420042802002204417f6a36020020044101470d03200541286a10f0978080000c030b200441086a2206280200220420042802002204417f6a36020020044101470d02200610f0978080000c020b200441d4006a2802004129490d012004412c6a28020022042004417e6a2f00006b41002802ec82d48000118180808000000c010b200441306a28020022062006417e6a2f00006b41002802ec82d4800011818080800000200441046a2d000022064103460d0002400240024020060e020103000b200441286a280200220420042802002204417f6a36020020044101470d02200541286a21040c010b200441086a2204280200220620062802002206417f6a36020020064101470d010b200410f0978080000b200341016a210320004180016a21002001417f6a22010d000b0b0be60101057f024020002802082201450d00200028020421022001410171210341002104024020014101460d002001417e7121052002210041002104034002402000280200450d00200041046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b0240200041106a280200450d00200041146a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200041206a21002005200441026a2204470d000b0b2003450d00200220044104746a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0be60101057f024020002802082201450d00200028020421022001410171210341002104024020014101460d002001417e7121052002210041002104034002402000280200450d00200041046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002005200441026a2204470d000b0b2003450d0020022004410c6c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0ba30201057f23808080800041106b220524808080800002402001280208220620026a220720064d0d002006210702402002200128020020066b4d0d002001200620024101410110a386808000200128020821070b2001280204220820076a2109024020024102490d00200941002002417f6a220210fa978080001a2008200720026a22076a21090b200941003a0000200741016a21070b20012007360208024020072006490d00200541086a20032802002003280204200128020420066a200720066b200410918c80800041012102024020052802084101710d0041002102200528020c220320066a220620074b0d00200120063602080b2000200336020420002002360200200541106a2480808080000f0b2006200741f8aec88000109281808000000b5a01017f23808080800041106b2202248080808000200241086a200110ce84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c10a3838080000b200241106a2480808080000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d04200020012002410874200572410276109d838080000f0b20030d020c030b200541027621020b200020012002109d838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d00200020012002410874200572410276109d838080000f0b20004180808080783602000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610ab838080000f0b20030d020c030b200541027621020b20002001200210ab838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610ab838080000f0b20004180808080783602000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d042000200120024108742005724102761084838080000f0b20030d020c030b200541027621020b2000200120021084838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d002000200120024108742005724102761084838080000f0b20004180808080783602000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d04200020012002410874200572410276108e838080000f0b20030d020c030b200541027621020b200020012002108e838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d00200020012002410874200572410276108e838080000f0b20004180808080783602000b5a01017f23808080800041106b2202248080808000200241086a200110cf84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c1092838080000b200241106a2480808080000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610a2838080000f0b20030d020c030b200541027621020b20002001200210a2838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610a2838080000f0b20004180808080783602000b5a01017f23808080800041106b2202248080808000200241086a200110cf84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c109f838080000b200241106a2480808080000b5a01017f23808080800041106b2202248080808000200241086a200110ce84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c1098838080000b200241106a2480808080000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d042000200120024108742005724102761087838080000f0b20030d020c030b200541027621020b2000200120021087838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d002000200120024108742005724102761087838080000f0b20004180808080783602000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610aa838080000f0b20030d020c030b200541027621020b20002001200210aa838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610aa838080000f0b20004180808080783602000b5a01017f23808080800041106b2202248080808000200241086a200110cf84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c10a0838080000b200241106a2480808080000b5a01017f23808080800041106b2202248080808000200241086a200110cf84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c1094838080000b200241106a2480808080000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d042000200120024108742005724102761088838080000f0b20030d020c030b200541027621020b2000200120021088838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d002000200120024108742005724102761088838080000f0b20004180808080783602000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d04200020012002410874200572410276108f838080000f0b20030d020c030b200541027621020b200020012002108f838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d00200020012002410874200572410276108f838080000f0b20004180808080783602000b5a01017f23808080800041106b2202248080808000200241086a200110ce84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c109a838080000b200241106a2480808080000b5a01017f23808080800041106b2202248080808000200241086a200110ce84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c108c838080000b200241106a2480808080000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610a8838080000f0b20030d020c030b200541027621020b20002001200210a8838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610a8838080000f0b20004180808080783602000bbe0101077f41002103024002402001410f712204410f470d00410121032002280208220541016a200228020422064b0d0020022802002107410f2108200521010340200120064f0d022002200141016a3602080240200720016a2d0000220941ff01470d00200841ff016a210841012103200141026a2109200141016a2101200920064d0d010c020b0b200920086a2104410021030b20002004360204200020033602000f0b20052006200520064b1b20064180cccd8000108281808000000b840701097f23808080800041106b220224808080800002400240024002400240024002402001280208220341016a2204200128020422054b22060d0020032005490d01200320054180cccd8000108281808000000b200041053a00000c010b20012004360208024002400240024002400240024002400240024002402001280200220720036a2d00002208450d0020084106764102730e0403020a01030b200041003a00000c0a0b2008413f712208413f470d030240200341026a20054b0d00413f2108200421030340200320054f0d0c2001200341016a2209360208200720036a2d0000220a41ff01470d04200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c090b2008413f712208413f470d040240200341026a20054b0d00413f2108200421030340200320054f0d0c2001200341016a2209360208200720036a2d0000220a41ff01470d05200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c080b2008413f712208413f470d050240200341026a20054b0d00413f2108200421030340200320054f0d0c2001200341016a2209360208200720036a2d0000220a41ff01470d06200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c070b200a20086a21080b20002008360204200041023a00000c050b200a20086a21080b2000200836020420004181023b01000c030b200a20086a21080b20002008360204200041013b01000c010b0240024002400240200841e001714120460d00200841f001714110460d01200041053a00000c040b2008411f712208411f470d020240200341026a20054b0d00411f2108200421030340200320054f0d092001200341016a2209360208200720036a2d0000220a41ff01470d03200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c030b200241086a2008200110be8f80800002402002280208410171450d00200041053a00000c030b200228020c2101200041033a0000200020013602040c020b200a20086a21080b20002008360204200041043a00000b200241106a2480808080000f0b2004200520061b20054180cccd8000108281808000000b2004200520061b20054180cccd8000108281808000000b2004200520061b20054180cccd8000108281808000000b2004200520061b20054180cccd8000108281808000000ba30801047f02400240024002400240024020002d00000e050004010203000b0240200128020020012802082202470d0020012002410110f491808000200128020821020b2001200241016a360208200128020420026a41003a00000c040b41ff0020002802042202413e2002413e491b220041c000722002413e4b1b2103200220006b210241012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d05024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b411f20002802042202410e2002410e491b22004110722002410e4b1b2103200220006b210241012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d04024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b413f20002802042202411e2002411e491b22004120722002411e4b1b2103200220006b210241012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d03024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b200028020422042004413e2004413e491b22056b2102024020002d00010d0041bf7f200541807f722004413e4b1b210341012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d03024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b417f20054140722004413e4b1b210341012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d02024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b0b840201077f20012802002103200128020421042001280208210502400240024020012d000c450d0020012d000d2106200141003a000c2006410f7121070c010b200520044f0d012001200541016a2206360208200320056a2d00002107200621050b0240200028020822082000280200470d002000200841014101410110a3868080000b2000200841016a22063602082000280204220920086a20073a0000200520044f0d0003402001200541016a2208360208200320056a2d00002105024020062000280200470d002000200641014101410110a386808000200028020421090b200920066a20053a00002000200641016a22063602082008210520042008470d000b0b0b920401077f2001280204210320012802002204280228210502400240024002400240024020012d00104101470d002003200428020422062005200541284b1b4f0d01200128020c4107712107200128020841077121080340024002402003450d002003417f6a20062005200541284b22091b22054f0d05200320054f0d062004280200200420091b20036a22052d00002007762005417f6a2d00002008747221060c010b20062005200541284b22091b450d062004280200200420091b2d000041047621060b2001200341016a22033602040240200028020822052000280200470d002000200541014101410110a3868080000b200028020420056a20063a00002000200541016a36020820032004280204220620042802282205200541284b1b490d000c020b0b2003200428020422092005200541284b1b4f0d0003402001200341016a2206360204200320092005200541284b22071b22054f0d052004280200200420071b20036a2d000021050240200028020822032000280200470d002000200341014101410110a3868080000b200028020420036a20053a00002000200341016a3602082006210320062004280204220920042802282205200541284b1b490d000b0b0f0b2003417f6a200541f8b1c88000108281808000000b200320054188b2c88000108281808000000b4100410041e8b1c88000108281808000000b2003200541d8b1c88000108281808000000b850b010b7f23808080800041206b2203248080808000200341086a200110c8888080000240024020032802082204450d000240200328020c2205200528020041054b22064103746a2802002207450d00200441086a2802002108200441046a280200210902402005280204200541046a20061b2007412c6c6a220441546a2207280200220541014b0d00200441586a220a280200210b200441706a280200210602402005410171450d00200b2006460d010b2003200441646a360210200341106a2005200b200610a597808000200a200636020041012105200741013602000b4100210a4158210b410021070240024002402005417e6a2205410220054102491b0e03010200010b4164210b0b02402004200b6a22050d00410021070c010b20052802082106200528020421070b200128022041016a2205417f20051b22044104200441044b1b220b410474210502400240200441ffffffff004b0d00200541fcffffff074b0d0041002d008083d480001a200541002802f482d480001182808080000022040d014104210a0b200a2005200210b980808000000b2004200441036a417c71220520046b22026a417e6a20023b00002005200636020c20052007360208200520083602042005200936020020034101360218200320053602142003200b360210024002402001280220220b450d002001280200210c2001280204210720012802082105200128020c2108034002400240200c410171450d00024002402007450d002008210420052106200721050c010b4101210c4100210402402008450d0020082101024020084107712206450d0003402001417f6a210120052802ac1421052006417f6a22060d000b0b20084108490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200141786a22010d000b0b410021060b024002400240200420052f01aa144f0d00200521010c010b034020052802a0132201450d02200641016a210620052f01a814210420012105200420012f01aa144f0d000b0b024020060d00200441016a2108200121070c030b200120044102746a41b0146a2802002107410021082006417f6a2205450d022006417e6a2109024020054107712206450d0003402005417f6a210520072802ac1421072006417f6a22060d000b0b20094107490d02034020072802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142107200541786a22050d000c030b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b2001200441e0016c6a2205200528020041054b22064103746a2802002209450d0220012004410c6c6a220141ac136a2802002102200141a8136a280200210a02402005280204200541046a20061b2009412c6c6a220441546a2206280200220541014b0d00200441586a220d2802002109200441706a280200210102402005410171450d0020092001460d010b2003200441646a36021c2003411c6a20052009200110a597808000200d200136020041012105200641013602000b41002106415821090240024002402005417e6a2205410220054102491b0e03010200010b416421090b200420096a2205450d0020052802082101200528020421060b200b417f6a210b0240200328021822042003280210470d00200341106a2004200b41016a2205417f20051b4104411010a3868080000b200328021420044104746a2205200136020c20052006360208200520023602042005200a3602002003200441016a36021841002105200b0d000b0b20002003290210370200200041086a200341106a41086a2802003602000c030b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b2000410036020820004280808080c0003702000b200341206a2480808080000b910503037f017e017f23808080800041f0006b2203248080808000200341186a200110ce8e808000024002402003280218418080808078460d00200128022041016a2204417f20041b22044104200441044b1b2205ad42187e2206a72104410021070240024002402006422088a70d00200441fcffffff074b0d00024020040d0041042102410021050c030b41002d008083d480001a200441002802f482d480001182808080000022070d01410421070b20072004200210b980808000000b2007200741036a417c71220220076b22046a417e6a20043b00000b20022003290218370200200241106a200341186a41106a290200370200200241086a200341186a41086a29020037020020034101360214200320023602102003200536020c200341306a41206a200141206a280200360200200341306a41186a200141186a290200370300200341306a41106a200141106a290200370300200341306a41086a200141086a29020037030020032001290200370330200341d8006a200341306a10ce8e80800002402003280258418080808078460d004118210441012101034002402001200328020c470d002003410c6a2001200328025041016a2207417f20071b4104411810a386808000200328021021020b200220046a22072003290258370200200741106a200341d8006a41106a290200370200200741086a200341d8006a41086a2902003702002003200141016a2201360214200441186a2104200341d8006a200341306a10ce8e8080002003280258418080808078470d000b0b200341306a10c889808000200041086a2003410c6a41086a2802003602002000200329020c3702000c010b2000410036020820004280808080c000370200200110c8898080000b200341f0006a2480808080000bc105040d7f037e017f017e23808080800041306b220324808080800020012802042204200128020022056b220641386e21070240200641fcffffff074d0d0041002006200210b980808000000b0240024020042005470d0020012802102108200128020c21092001280208210a410021074104210b410021064100210c0c010b4100210d41002d008083d480001a0240200641002802f482d4800011828080800000220c0d0041042006200210b980808000000b200c200c41036a417c71220b200c6b22066a417e6a20063b000020012802102108200128020c21092001280208210a200341276a2102200341206a210e4100210c0240034002402005200d6a220141146a2d0000220f4102470d00200141386a21050c020b2002200141346a280000360000200e2001412d6a290000370300200141156a29000021102001411d6a2900002111200141256a2900002112200141106a2802002113200141086a2902002114200b200d6a22062001290200370200200641086a2014370200200641106a2013360200200641256a20123700002006411d6a2011370000200641156a2010370000200641146a200f3a0000200641346a20022800003600002006412d6a200e290300370000200c41016a210c2005200d41386a220d6a2004470d000b200421050b200420056b41386e21060b02400240024020042005470d002008450d022009200a2802082201460d01200a2802042206200141386c6a2006200941386c6a200841386c10f9978080001a0c010b200541086a21010340200110ad88808000200141386a21012006417f6a22060d000b2008450d0102402009200a2802082201460d00200a2802042206200141386c6a2006200941386c6a200841386c10f9978080001a0b200a200120086a3602080c010b200a200120086a3602080b2000200c3602082000200b36020420002007360200200341306a2480808080000b8507020b7f067e23808080800041a0026b22032480808080000240024002402001280200220420012802042205460d00200441d0006c210602400340200120066a220741c0006a28020022084103470d01200641d0006a21062005200441016a2204470d000b20004100360208200042808080808001370200200120053602000c030b2001200441016a36020041002d008083d480001a41c00241002802f482d48000118280808000002206450d012006200641076a417871220520066b22046a417e6a20043b0000200541306a200741086a220641306a290300370300200541286a200641286a290300370300200541206a200641206a290300370300200541186a200641186a290300370300200541106a200641106a290300370300200541086a200641086a29030037030020052006290300370300200520083602382005200741c4006a29020037023c200541c4006a200741cc006a290200370200200541cc006a200741d4006a2802003602002003410136020c2003200536020820034104360204200341106a200141f80110f4978080001a02402003280210220220032802142201460d002001417f6a2109200341106a41c4006a210a4101210b0340200a200241d0006c6a210620022104024003402006417c6a28020022074103470d01200641d0006a21062001200441016a2204470d000c030b0b20034188026a41106a220c200641106a28020036020020034188026a41086a220d200641086a29020037030020032006290200370388020240200b2003280204470d00200341046a200b4101410841d00010a386808000200328020821050b200441016a2102200641446a220841206a290300210e200841286a290300210f200841306a2903002110200841186a2903002111200841106a2903002112200841086a29030021132005200b41d0006c6a2206200829030037030020062007360238200641086a2013370300200641106a2012370300200641186a2011370300200620032903880237023c200641306a2010370300200641286a200f370300200641206a200e370300200641c4006a200d290300370200200641cc006a200c2802003602002003200b41016a220b36020c20092004470d000b0b20002003290204370200200041086a200341046a41086a2802003602000c020b200041003602082000428080808080013702000c010b410841c002200210b980808000000b200341a0026a2480808080000be30c05067f017e017f027e077f23808080800041a0046b2203248080808000200341d4006a200110cb88808000024002400240024020032802542204418080808078460d00200341c0026a200341d4006a410c6a41e00110f4978080001a200341c0026a20032802c00241054b22054103746a22062802002207450d0220032802c402210820062007417f6a2207360200200341186a2008200341c0026a41046a20051b2007412c6c6a2205410c6a290200370300200341206a200541146a290200370300200341286a2005411c6a28020036020020032005290204370310200528020021062003290258210902402005280220450d00200528022422052005417e6a2f00006b41002802ec82d48000118180808000000b200341c0026a10e08980800020064104460d00200341d4006a41106a2108200341d4006a41046a22052003290310370200200541186a200341106a41186a280200360200200541106a200341106a41106a290300370200200541086a200341106a41086a290300370200200320063602540240200641014b0d002003280258210a2003280270210702402006410171450d00200a2007460d010b200320083602c002200341c0026a2006200a200710a5978080002003200736025841012106200341013602540b41808080807821070240024002402006417e6a2206410220064102491b0e03010200010b200821050b2005290204210b200528020021070b200128022041016a2205417f20051b22054104200541044b1b2208ad42187e220ca7210541002106024002400240200c422088a70d00200541fcffffff074b0d00024020050d004104210d410021080c030b41002d008083d480001a200541002802f482d480001182808080000022060d01410421060b20062005200210b980808000000b2006200641036a417c71220d20066b22056a417e6a20053b00000b200d200b370210200d200736020c200d2009370204200d20043602002003410136020c2003200d36020820032008360204200341106a41206a200141206a280200360200200341106a41186a200141186a290200370300200341106a41106a200141106a290200370300200341106a41086a200141086a29020037030020032001290200370310200341d4006a200341106a10cb88808000024020032802542208418080808078460d00200341d4006a41046a2106200341d4006a41106a210e200341d4006a410c6a210f200341c0026a41046a211041282102200341386a41086a210a200341386a41106a2111200341386a41186a2112410121040340200341c0026a200f41e00110f4978080001a200341c0026a20032802c00241054b22014103746a22052802002207450d0520032802c402211320052007417f6a2207360200200a2013201020011b2007412c6c6a2201410c6a2902003703002011200141146a29020037030020122001411c6a28020036020020032001290204370338200128020021052003290258210902402001280220450d00200128022422012001417e6a2f00006b41002802ec82d48000118180808000000b200341c0026a10e08980800020054104460d0120062003290338370200200641186a2012280200360200200641106a2011290300370200200641086a200a290300370200200320053602540240200541014b0d00200328025821072003280270210102402005410171450d0020072001460d010b2003200e3602c002200341c0026a20052007200110a5978080002003200136025841012105200341013602540b4180808080782107200621010240024002402005417e6a2205410220054102491b0e03010200010b200e21010b2001290204210b200128020021070b024020042003280204470d00200341046a2004200328023041016a2201417f20011b4104411810a3868080002003280208210d0b200d20026a2201200b3702002001417c6a2007360200200141746a2009370200200141706a20083602002003200441016a220436020c200241186a2102200341d4006a200341106a10cb8880800020032802542208418080808078470d000b0b200341106a10c689808000200041086a200341046a41086a280200360200200020032902043702000c010b2000410036020820004280808080c000370200200110c6898080000b200341a0046a2480808080000f0b41dfbcc6800041fc0041ecbdc6800010a181808000000b41dfbcc6800041fc0041ecbdc6800010a181808000000bb10303047f017e067f23808080800041206b2204248080808000410021054100200220016b2206200620024b1b2207ad420c7e2208a721090240024002402008422088a70d00200941fcffffff074b0d0041002106024020090d004104210a410021070c030b41002d008083d480001a200941002802f482d480001182808080000022050d01410421050b20052009200310b980808000000b2005200541036a417c71220a20056b22096a417e6a20093b00000b0240200120024f0d00200120026b210b200a2102410021060340200441086a200120066a10e786808000200441146a200428020c22092004280210220c10e78580800041002105410121034100210d02402004280214220e418080808078460d002009200c410028029482d48000118b8080800000200428021c210520042802182103200e210d0b02402004280208450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200241086a2005360200200241046a20033602002002200d3602002002410c6a2102200b200641016a22066a0d000b0b200020063602082000200a36020420002007360200200441206a2480808080000b950e010d7f23808080800041206b22032480808080000240024002400240024020012802004102460d00200341086a200110c888808000024020032802082204450d00200328020c2205200528020041054b22064103746a2802002207450d03200441086a2802002108200441046a280200210902402005280204200541046a20061b2007412c6c6a220441546a2207280200220541014b0d00200441586a220a280200210b200441706a280200210602402005410171450d00200b2006460d010b2003200441646a360210200341106a2005200b200610a597808000200a200636020041012105200741013602000b410021074158210b024002402005417e6a2205410220054102491b0e03010400010b4164210b0b02402004200b6a22050d000c030b20052802082106200528020421070c020b200141023602000b20012802242205450d0220052001280228460d022001200541186a36022441002005280210200528020c418080808078461b21072005280214210620052802082108200528020421090b200128022421040240024020012802004102460d00200128022021052004450d01417f2005200128022820046b41186e6a220420042005491b21050c010b024020040d00410021050c010b200128022820046b41186e21050b200541016a2205417f20051b22044104200441044b1b220b41047421054100210a02400240200441ffffffff004b0d00200541fcffffff074b0d0041002d008083d480001a200541002802f482d480001182808080000022040d014104210a0b200a2005200210b980808000000b2004200441036a417c71220520046b22026a417e6a20023b00002005200636020c20052007360208200520083602042005200936020020034101360218200320053602142003200b3602102001280228210c200128022421082001280220210d200128020c210e20012802082105200128020421072001280200210b0240034002400240024002400240024002400240200b4102460d00200d0d014100210d0b2008450d012008200c460d0141002008280210200828020c418080808078461b210620082802142109200828020821022008280204210a4102210b200841186a22012108200328021822042003280210460d030c060b0240200b410171450d00024002402007450d00200e210420052106200721050c010b4101210b410021040240200e450d00200e21010240200e4107712206450d0003402001417f6a210120052802ac1421052006417f6a22060d000b0b200e4108490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200141786a22010d000b0b410021060b024002400240200420052f01aa144f0d00200521010c010b034020052802a0132201450d02200641016a210620052f01a814210420012105200420012f01aa144f0d000b0b024020060d00200441016a210e200121070c040b200120044102746a41b0146a28020021074100210e2006417f6a2205450d032006417e6a2109024020054107712206450d0003402005417f6a210520072802ac1421072006417f6a22060d000b0b20094107490d03034020072802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142107200541786a22050d000c040b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b20002003290210370200200041086a200341106a41086a2802003602000c090b2001200441e0016c6a2205200528020041054b22064103746a2802002209450d0520012004410c6c6a220141ac136a2802002102200141a8136a280200210a02402005280204200541046a20061b2009412c6c6a220441546a2206280200220141014b0d00200441586a220f2802002109200441706a280200210502402001410171450d0020092005460d010b2003200441646a36021c2003411c6a20012009200510a597808000200f200536020041012101200641013602000b410021054158210f410021060240024002402001417e6a2201410220014102491b0e03010200010b4164210f0b410021062004200f6a2201450d0020012802082109200128020421060b200d417f6a210d200328021822042003280210470d030240200b4102460d004100210520080d0241002108200d210f0c030b4102210b41002105200821014100210f2008450d020b200c20016b41186e210f4102210b200121080c010b417f200d200c20086b41186e6a22012001200d491b210f0b200341106a2004200f41016a2201417f20011b4104411010a3868080000b200328021420044104746a2201200936020c20012006360208200120023602042001200a3602002003200441016a3602180c000b0b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b2000410036020820004280808080c0003702000b200341206a2480808080000ba70402077f017e23808080800041306b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204200341106a200710ce84808000024020032802104101710d00200341246a2007200328021410898380800020032802242209418080808078470d020b200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290228210a41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c71220620016b22026a417e6a20023b00002006200a37020420062009360200200341013602202003200636021c2003410436021841012102034020042005200420054b1b41016a21010340024002402001200541016a2205460d00200341086a200710ce84808000024020032802084101710d00200341246a2007200328020c10898380800020032802242209418080808078470d020b200841013a00000b20002003290218370200200041086a200341186a41086a2802003602000c040b2009418180808078460d000b2003290228210a024020022003280218470d00200341186a200241014104410c10a386808000200328021c21060b20062002410c6c6a2201200a370204200120093602002003200241016a22023602200c000b0b41044130200210b980808000000b200341306a2480808080000bb80403087f017e017f23808080800041206b2203248080808000024002400240024020012802082204200128020422054d0d0020012802002106200128020c21072001200541016a22083602040240200628020422014104490d0020062001417c6a36020420062006280200220141046a36020020012800002109200341146a200610b58f8080002003280214220a418080808078470d020b200741013a00000b2000410036020820004280808080c0003702000c010b2003290218210b41002d008083d480001a41c00041002802f482d48000118280808000002201450d012001200141036a417c71220c20016b22026a417e6a20023b0000200c200b370208200c200a360204200c2009360200200341013602102003200c36020c200341043602080240200820044f0d00200420056b21094118210541012101034002400240200628020422044104490d0020062004417c6a36020420062006280200220441046a36020020042800002102200341146a200610b58f80800020032802142208418080808078470d010b200741013a00000c020b2003290218210b024020012003280208470d00200341086a200141014104411010a386808000200328020c210c0b200c20056a2204200b3702002004417c6a2008360200200441786a20023602002003200141016a2201360210200541106a210520092001470d000b0b20002003290208370200200041086a200341086a41086a2802003602000b200341206a2480808080000f0b410441c000200210b980808000000be90302077f017e23808080800041206b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204200341146a200710fe8e80800020032802142209418080808078470d01200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290218210a41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c71220620016b22026a417e6a20023b00002006200a37020420062009360200200341013602102003200636020c2003410436020841012102034020042005200420054b1b41016a21010340024002402001200541016a2205460d00200341146a200710fe8e80800020032802142209418080808078470d01200841013a00000b20002003290208370200200041086a200341086a41086a2802003602000c040b2009418180808078460d000b2003290218210a024020022003280208470d00200341086a200241014104410c10a386808000200328020c21060b20062002410c6c6a2201200a370204200120093602002003200241016a22023602100c000b0b41044130200210b980808000000b200341206a2480808080000bf804010a7f23808080800041106b2203248080808000024002400240024020012802082204200128020422054d0d00200128020c21062001200541016a220736020402402001280200220128020422084104490d0020012008417c6a220936020420012001280200220a41046a36020020094104490d00200a280000210b2001200841786a22093602042001200a41086a360200200941034b0d020b200641013a00000b2000410036020820004280808080c0003702000c010b200a28000421092001200a410c6a3602002001200841746a360204200a280008210c41002d008083d480001a413041002802f482d48000118280808000002208450d012008200841036a417c71220a20086b22026a417e6a20023b0000200a200c360208200a2009360204200a200b3602002003410136020c2003200a360208200341043602040240200720044f0d00200420056b210b4114210841012102034002400240200128020422044104490d0020012004417c6a220736020420012001280200220541046a36020020074104490d00200528000021092001200441786a22073602042001200541086a360200200741034b0d010b200641013a00000c020b200528000421072001200441746a36020420012005410c6a36020020052800082104024020022003280204470d00200341046a200241014104410c10a3868080002003280208210a0b200a20086a220520043602002005417c6a2007360200200541786a20093602002003200241016a220236020c2008410c6a2108200b2002470d000b0b20002003290204370200200041086a200341046a41086a2802003602000b200341106a2480808080000f0b41044130200210b980808000000bf007010b7f23808080800041a0016b220324808080800002400240024002400240200128020020012802042204460d002001410136020020012802402105200341e8006a41086a2206200141106a290300370300200341e8006a41106a2207200141186a290300370300200341e8006a41186a2208200141206a290300370300200341e8006a41206a2209200141286a290300370300200341e8006a41286a220a200141306a290300370300200341e8006a41306a220b200141386a290300370300200341d0006a41086a220c200141cc006a290200370300200341d0006a41106a220d200141d4006a280200360200200320012903083703682003200129024437035020044101470d0120054103470d01200041003602082000428080808080013702000c020b200041003602082000428080808080013702000c010b200341186a41306a200b290300370300200341186a41286a200a290300370300200341186a41206a2009290300370300200341186a41186a2008290300370300200341186a41106a2007290300370300200341186a41086a2006290300370300200341086a200c290300370300200341106a200d280200360200200320032903683703182003200329035037030041002d008083d480001a41c00241002802f482d48000118280808000002206450d012006200641076a417871220420066b22026a417e6a20023b0000200441306a200341186a41306a290300370300200441286a200341186a41286a290300370300200441206a200341186a41206a290300370300200441186a200341186a41186a290300370300200441106a200341186a41106a290300370300200441086a200341186a41086a29030037030020042003290318370300200420053602382004200329030037023c200441c4006a200341086a290300370200200441cc006a200341106a280200360200200341013602702003200436026c200341043602680240200128020020012802042205460d0020054101470d03200128024022054103460d002004200536028801200420012903083703502004200129024437028c0120044180016a200141386a290300370300200441f8006a200141306a290300370300200441f0006a200141286a290300370300200441e8006a200141206a290300370300200441e0006a200141186a290300370300200441d8006a200141106a29030037030020044194016a200141cc006a2902003702002004419c016a200141d4006a280200360200200341023602700b20002003290268370200200041086a200341e8006a41086a2802003602000b200341a0016a2480808080000f0b410841c002200210b980808000000b200341e8006a41014101410841d00010a386808000000b8507020b7f067e23808080800041f0026b22032480808080000240024002402001280200220420012802042205460d00200441d0006c210602400340200120066a220741c0006a28020022084103470d01200641d0006a21062005200441016a2204470d000b20004100360208200042808080808001370200200120053602000c030b2001200441016a36020041002d008083d480001a41c00241002802f482d48000118280808000002206450d012006200641076a417871220520066b22046a417e6a20043b0000200541306a200741086a220641306a290300370300200541286a200641286a290300370300200541206a200641206a290300370300200541186a200641186a290300370300200541106a200641106a290300370300200541086a200641086a29030037030020052006290300370300200520083602382005200741c4006a29020037023c200541c4006a200741cc006a290200370200200541cc006a200741d4006a2802003602002003410136020c2003200536020820034104360204200341106a200141c80210f4978080001a02402003280210220220032802142201460d002001417f6a2109200341106a41c4006a210a4101210b0340200a200241d0006c6a210620022104024003402006417c6a28020022074103470d01200641d0006a21062001200441016a2204470d000c030b0b200341d8026a41106a220c200641106a280200360200200341d8026a41086a220d200641086a290200370300200320062902003703d8020240200b2003280204470d00200341046a200b4101410841d00010a386808000200328020821050b200441016a2102200641446a220841206a290300210e200841286a290300210f200841306a2903002110200841186a2903002111200841106a2903002112200841086a29030021132005200b41d0006c6a2206200829030037030020062007360238200641086a2013370300200641106a2012370300200641186a2011370300200620032903d80237023c200641306a2010370300200641286a200f370300200641206a200e370300200641c4006a200d290300370200200641cc006a200c2802003602002003200b41016a220b36020c20092004470d000b0b20002003290204370200200041086a200341046a41086a2802003602000c020b200041003602082000428080808080013702000c010b410841c002200210b980808000000b200341f0026a2480808080000b8507020b7f067e23808080800041d0016b22032480808080000240024002402001280200220420012802042205460d00200441d0006c210602400340200120066a220741c0006a28020022084103470d01200641d0006a21062005200441016a2204470d000b20004100360208200042808080808001370200200120053602000c030b2001200441016a36020041002d008083d480001a41c00241002802f482d48000118280808000002206450d012006200641076a417871220520066b22046a417e6a20043b0000200541306a200741086a220641306a290300370300200541286a200641286a290300370300200541206a200641206a290300370300200541186a200641186a290300370300200541106a200641106a290300370300200541086a200641086a29030037030020052006290300370300200520083602382005200741c4006a29020037023c200541c4006a200741cc006a290200370200200541cc006a200741d4006a2802003602002003410136020c2003200536020820034104360204200341106a200141a80110f4978080001a02402003280210220220032802142201460d002001417f6a2109200341106a41c4006a210a4101210b0340200a200241d0006c6a210620022104024003402006417c6a28020022074103470d01200641d0006a21062001200441016a2204470d000c030b0b200341b8016a41106a220c200641106a280200360200200341b8016a41086a220d200641086a290200370300200320062902003703b8010240200b2003280204470d00200341046a200b4101410841d00010a386808000200328020821050b200441016a2102200641446a220841206a290300210e200841286a290300210f200841306a2903002110200841186a2903002111200841106a2903002112200841086a29030021132005200b41d0006c6a2206200829030037030020062007360238200641086a2013370300200641106a2012370300200641186a2011370300200620032903b80137023c200641306a2010370300200641286a200f370300200641206a200e370300200641c4006a200d290300370200200641cc006a200c2802003602002003200b41016a220b36020c20092004470d000b0b20002003290204370200200041086a200341046a41086a2802003602000c020b200041003602082000428080808080013702000c010b410841c002200210b980808000000b200341d0016a2480808080000bd106020a7f067e2380808080004190026b22032480808080000240024002402001280200220420012802042205460d00200441d0006c210602400340200120066a220741c0006a28020022084103470d01200641d0006a21062005200441016a2204470d000b20004100360208200042808080808001370200200120053602000c020b2001200441016a36020041002d008083d480001a41c00241002802f482d48000118280808000002206450d022006200641076a417871220520066b22046a417e6a20043b0000200541306a200741086a220641306a290300370300200541286a200641286a290300370300200541206a200641206a290300370300200541186a200641186a290300370300200541106a200641106a290300370300200541086a200641086a29030037030020052006290300370300200520083602382005200741c4006a29020037023c200541c4006a200741cc006a290200370200200541cc006a200741d4006a28020036020020034101360214200320053602102003410436020c200341186a200141f80110f4978080001a024020032802182209200328021c2201460d002001417f6a210a200341d8006a210b4101210c0340200b200941d0006c6a21062009210402400340200628020022074103470d01200641d0006a21062001200441016a2204470d000c030b0b0240200c200328020c470d002003410c6a200c4101410841d00010a386808000200328021021050b200441016a21092005200c41d0006c6a2208200641486a2202290300370300200241086a290300210d200241106a290300210e200241186a290300210f200241206a2903002110200241286a2903002111200241306a290300211220082007360238200841306a2012370300200841286a2011370300200841206a2010370300200841186a200f370300200841106a200e370300200841086a200d3703002008200641046a220629020037023c200841c4006a200641086a290200370200200841cc006a200641106a2802003602002003200c41016a220c360214200a2004470d000b0b2000200329020c370200200041086a2003410c6a41086a2802003602000c010b200041003602082000428080808080013702000b20034190026a2480808080000f0b410841c002200210b980808000000b870402077f027e23808080800041306b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204200341186a200710fa8e80800020032802202209418080808078470d01200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290318210a2003290224210b41002d008083d480001a024041d00041002802f482d48000118280808000002201450d002001200141036a417c71220620016b22026a417e6a20023b00002006200b37020c200620093602082006200a37020020034101360214200320063602102003410436020c41012102034020042005200420054b1b41016a21010340024002402001200541016a2205460d00200341186a200710fa8e80800020032802202209418080808078470d01200841013a00000b2000200329020c370200200041086a2003410c6a41086a2802003602000c040b2009418180808078460d000b2003290318210a2003290224210b02402002200328020c470d002003410c6a200241014104411410a386808000200328021021060b2006200241146c6a2201200b37020c200120093602082001200a3702002003200241016a22023602140c000b0b410441d000200210b980808000000b200341306a2480808080000b990701057f23808080800041e0006b22032480808080000240024002402001280200220420012802042205460d004101210420014101360200200128024022064103460d0041002d008083d480001a41c00241002802f482d48000118280808000002205450d022005200541076a417871220420056b22026a417e6a20023b0000200441306a200141086a220541306a290300370300200441286a200541286a290300370300200441206a200541206a290300370300200441186a200541186a290300370300200441106a200541106a290300370300200441086a200541086a29030037030020042005290300370300200420063602382004200129024437023c200441c4006a200141cc006a290200370200200441cc006a200141d4006a280200360200200341086a200141d80010f4978080001a02400240024020032802082202200328020c2206460d0041012102200328024822074103470d010b4101210720062002460d01200620026b2105200341086a200241d0006c6a210103400240200141c0006a2802004103460d000240200141286a280200450d002001412c6a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200141346a280200450d00200141386a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200141d0006a21012005417f6a22050d000c020b0b2004200736028801200420052903003703502004200141c4006a220129020037028c0120044180016a200541306a290300370300200441f8006a200541286a290300370300200441f0006a200541206a290300370300200441e8006a200541186a290300370300200441e0006a200541106a290300370300200441d8006a200541086a29030037030020044194016a200141086a2902003702002004419c016a200141106a280200360200410221070b2000200736020820002004360204200041043602000c010b2000410036020820004280808080800137020020052004460d00200520046b21052001200441d0006c6a210103400240200141c0006a2802004103460d000240200141286a280200450d002001412c6a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200141346a280200450d00200141386a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200141d0006a21012005417f6a22050d000b0b200341e0006a2480808080000f0b410841c002200210b980808000000ba70402077f017e23808080800041306b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204200341106a200710cf84808000024020032802104101710d00200341246a2007200328021410868380800020032802242209418080808078470d020b200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290228210a41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c71220620016b22026a417e6a20023b00002006200a37020420062009360200200341013602202003200636021c2003410436021841012102034020042005200420054b1b41016a21010340024002402001200541016a2205460d00200341086a200710cf84808000024020032802084101710d00200341246a2007200328020c10868380800020032802242209418080808078470d020b200841013a00000b20002003290218370200200041086a200341186a41086a2802003602000c040b2009418180808078460d000b2003290228210a024020022003280218470d00200341186a200241014104410c10a386808000200328021c21060b20062002410c6c6a2201200a370204200120093602002003200241016a22023602200c000b0b41044130200210b980808000000b200341306a2480808080000bff05010c7f23808080800041d0006b2203248080808000024002400240024020012802082204200128020422054d0d00200128020c21062001200541016a220736020402402001280200220128020422084104490d0020012008417c6a220936020420012001280200220a41046a220b3602002009411f4b0d020b200641013a00000b2000410036020820004280808080c0003702000c010b200a280000210c20012008415c6a3602042001200a41246a360200200341106a41086a220a200b41086a290000370300200341106a41106a220d200b41106a290000370300200341106a41186a220e200b41186a2900003703002003200b29000037031041002d008083d480001a41900141002802f482d48000118280808000002208450d012008200841036a417c71220920086b22026a417e6a20023b00002009200c360200200920032903103702042009410c6a200a290300370200200941146a200d2903003702002009411c6a200e2903003702002003410136020c20032009360208200341043602040240200720044f0d00200420056b210c4128210841012104034002400240200128020422024104490d0020012002417c6a220736020420012001280200220b41046a22053602002007411f4b0d010b200641013a00000c020b200b280000210720012002415c6a3602042001200b41246a360200200341306a41086a2202200541086a290000370300200341306a41106a220b200541106a290000370300200341306a41186a220a200541186a29000037030020032005290000370330024020042003280204470d00200341046a200441014104412410a386808000200328020821090b200920086a2205417c6a200736020020052003290330370200200541086a2002290300370200200541106a200b290300370200200541186a200a2903003702002003200441016a220436020c200841246a2108200c2004470d000b0b20002003290204370200200041086a200341046a41086a2802003602000b200341d0006a2480808080000f0b4104419001200210b980808000000b8a0501037f23808080800041c0186b2203248080808000200341b8106a200110cb8680800002400240024020032802b8104101470d00200341186a200341b8106a41086a220441800810f4978080001a41002d008083d480001a41802041002802f482d48000118280808000002205450d022005417e6a41003b000020032005200341186a41800810f4978080003602102003410436020c2003410136021420034198086a41186a200141186a29020037030020034198086a41106a200141106a29020037030020034198086a41086a200141086a2902003703002003200129020037039808200341b8106a20034198086a10cb86808000024020032802b8104101470d004180082102410121010340200341b8086a200441800810f4978080001a02402001200328020c470d002003410c6a20014101410141800810a386808000200328021021050b200520026a200341b8086a41800810f4978080001a2003200141016a220136021420024180086a2102200341b8106a20034198086a10cb8680800020032802b8100d000b0b0240200328029808450d00200328029c0822012001417e6a2f00006b41002802ec82d48000118180808000000b024020032802a408450d0020032802a80822012001417e6a2f00006b41002802ec82d48000118180808000000b2000200329020c370200200041086a2003410c6a41086a2802003602000c010b20004100360208200042808080801037020002402001280200450d00200128020422022002417e6a2f00006b41002802ec82d48000118180808000000b200128020c450d00200128021022012001417e6a2f00006b41002802ec82d48000118180808000000b200341c0186a2480808080000f0b4101418020200210b980808000000bcb0401057f41002104024002400240200220016b41306e220541057422064100480d00024020022001470d00410121070c030b4100210841002d008083d480001a200641002802f482d480001182808080000022070d01410121040b20042006200310b980808000000b2007417e6a41003b00002005410371210402402005417f6a4103490d00200541fcffff3f712103410021082007210220012106034020022006290000370000200241186a200641186a290000370000200241106a200641106a290000370000200241086a200641086a290000370000200241386a200641c8006a290000370000200241306a200641c0006a290000370000200241286a200641386a290000370000200241206a200641306a290000370000200241d8006a200641f8006a290000370000200241d0006a200641f0006a290000370000200241c8006a200641e8006a290000370000200241c0006a200641e0006a290000370000200241e0006a20064190016a290000370000200241e8006a20064198016a290000370000200241f0006a200641a0016a290000370000200241f8006a200641a8016a29000037000020024180016a2102200641c0016a21062003200841046a2208470d000b0b2004450d002001200841306c6a2102200720084105746a2106034020062002290000370000200641186a200241186a290000370000200641106a200241106a290000370000200641086a200241086a290000370000200241306a2102200641206a21062004417f6a22040d000b0b2000200536020820002007360204200020053602000b920602057f017e2380808080004180016b2203248080808000200341146a200110cf8e80800002400240200328021c418080808078460d00410420012802282204200128022c22056b41016a22062001280220220720062007491b41016a2206417f20061b22064104200641044b1b20042005491b2206ad42147e2208a72104410021050240024002402008422088a70d00200441fcffffff074b0d00024020040d0041042102410021060c030b41002d008083d480001a200441002802f482d480001182808080000022050d01410421050b20052004200210b980808000000b2005200541036a417c71220220056b22046a417e6a20043b00000b20022003290214370200200241106a200341146a41106a280200360200200241086a200341146a41086a290200370200200341013602102003200236020c20032006360208200341286a41386a200141386a290200370300200341286a41306a200141306a290200370300200341286a41286a200141286a290200370300200341286a41206a200141206a290200370300200341286a41186a200141186a290200370300200341286a41106a200141106a290200370300200341286a41086a200141086a29020037030020032001290200370328200341ec006a200341286a10cf8e80800002402003280274418080808078460d0041142104410121010340024020012003280208470d00200341086a2001410120032802502205200328025422026b41016a22062003280248220720062007491b41016a2206417f20061b20052002491b4104411410a386808000200328020c21020b200220046a2205200329026c370200200541106a200341ec006a41106a280200360200200541086a200341ec006a41086a22052902003702002003200141016a2201360210200441146a2104200341ec006a200341286a10cf8e8080002005280200418080808078470d000b0b200341286a10ca89808000200041086a200341086a41086a280200360200200020032902083702000c010b2000410036020820004280808080c000370200200110ca898080000b20034180016a2480808080000bb40c03047f017e017f23808080800041e0016b22022480808080000240024020010d0041a8ebc18000210341012100410021040c010b02402000410171450d0041e8ecc180002103200021040c010b2000410172210441d4ecc1800021030b20022004360290012002200136028c01200220003602880120022003360284012002410036029401200241c8006a20024184016a10f59180800002400240024002400240024002402002280248450d00200241b8016a41086a200241c8006a41086a2200290200370300200220022902483703b801200241c8006a20024184016a10f59180800002402002280248450d00200241c8016a41086a2000290200370300200220022902483703c8010240200228028c01220120022802940122006b4104490d00200041046a21032000417b4b0d0420012003490d0520022802880121042002200336029401200120036b4120490d00200041246a21052003415f4b0d06200520014b0d07200420006a280000210120024198016a41086a200241c4016a280200360200200241ac016a200241c8016a41086a2903003702002002200536029401200241c8006a41086a200420036a220041086a290000370300200241c8006a41106a200041106a290000370300200241c8006a41186a200041186a290000370300200220022902bc0137039801200220022903c8013702a4012002200029000037034820022802b80121000c030b200241d4016a20022802cc0120022802d00120022802c801280210118680808000000b200241c4016a20022802bc0120022802c00120022802b801280210118680808000000b410021000b20024190016a200228028801200228028c01200228028401280210118680808000002000450d04200241106a20024198016a41086a290300370200200241186a20024198016a41106a290300370200200241206a20024198016a41186a280200360200200241306a200241c8006a41086a290300370200200241386a200241c8006a41106a290300370200200241c0006a200241c8006a41186a2903003702002002200036020420022002290398013702082002200136022420022002290348370228200241c8006a200241046a10fc87808000200241c8006a10fe91808000210602402002280248450d00200228024c22002000417e6a2f00006b41002802ec82d48000118180808000000b0240200228026c2200418080808078460d002000450d00200228027022002000417e6a2f00006b41002802ec82d48000118180808000000b0240200228025c2200450d00200228025821052000410171210741002101024020004101460d002000417e7121042005210041002101034002402000280200450d00200041046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002004200141026a2201470d000b0b2007450d0020052001410c6c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b02402002280254450d00200228025822002000417e6a2f00006b41002802ec82d48000118180808000000b024020022802682200450d00200228026421052000410171210741002101024020004101460d002000417e7121042005210041002101034002402000280200450d00200041046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b0240200041106a280200450d00200041146a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200041206a21002004200141026a2201470d000b0b2007450d00200520014104746a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b02402002280260450d00200228026422002000417e6a2f00006b41002802ec82d48000118180808000000b200241e0016a24808080800020060f0b20002003418486cb8000109581808000000b20032001418486cb8000109181808000000b20032005418486cb8000109581808000000b20052001418486cb8000109181808000000b418cb8c880004126200241df016a41fcacc8800041fcb8c8800010a981808000000b8d0b01097f23808080800041a0016b2204248080808000200141046a21050240024002400240024002400240024020012802442206450d00200441d8006a41186a200541186a290000370300200441d8006a41106a200541106a290000370300200441d8006a41086a200541086a290000370300200420052900003703582004410c6a2006280200200441d8006a10f087808000200428020c210720012802482206450d012004410c6a410020071b2108200741004721090c030b410021082004410036020c41002109200128024822060d02410021062004410036021c0c010b2004410036021c2004410c6a410020071b21060b200441d8006a41106a200541086a290200370200200441d8006a41186a200541106a290200370200200441d8006a41206a200541186a2902003702002004419cbbc8800036025c200420013602582004410036028801200441c4bbc88000360284012004200636028001200420052902003702602004410036029c0120042003360298012004200236029401200441346a200441d8006a2002200320044194016a10ac8d808000024020042d00344101470d0002400240024002402004280238220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c020b20002004290035370000200041206a200441d5006a2d00003a0000200041186a200441cd006a290000370000200041106a200441c5006a290000370000200041086a2004413d6a2900003700000c010b200128024c220a2802080d01200a41086a220b417f36020020062802080d02200641086a220c417f360200200128025022072802080d032007417f3602082004200741086a3602302004200b3602282004200c3602202004200741106a36022c2004200a410c6a3602242004200641106a36021c200441d8006a41106a200541086a290200370200200441d8006a41186a200541106a290200370200200441d8006a41206a200541186a2902003702002004419cbbc8800036025c20042001360258200441e0bbc8800036028c01200441c4bbc880003602840120042008410020091b360280012004200529020037026020042004411c6a360288012004410036029c0120042003360298012004200236029401200441346a200441d8006a2002200320044194016a10ac8d8080000240024020042d00344101470d0002400240024002402004280238220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c010b20002004290035370000200041206a200441d5006a2d00003a0000200041186a200441cd006a290000370000200041106a200441c5006a290000370000200041086a2004413d6a2900003700000b200428021c450d0020042802202205200528020041016a36020020042802282205200528020041016a36020020042802302205200528020041016a3602000b0240200428020c450d0020042802102205200528020041016a3602002004280214450d0020042802182205200528020041016a3602000b200441a0016a2480808080000f0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b200010db8f8080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0b8a0b01097f23808080800041a0016b2204248080808000200141046a21050240024002400240024002400240024020012802442206450d00200441d8006a41186a200541186a290000370300200441d8006a41106a200541106a290000370300200441d8006a41086a200541086a290000370300200420052900003703582004410c6a2006200441d8006a10f087808000200428020c210720012802482206450d012004410c6a410020071b2108200741004721090c030b410021082004410036020c41002109200128024822060d02410021062004410036021c0c010b2004410036021c2004410c6a410020071b21060b200441d8006a41106a200541086a290200370200200441d8006a41186a200541106a290200370200200441d8006a41206a200541186a29020037020020044188bbc8800036025c200420013602582004410036028801200441c4bbc88000360284012004200636028001200420052902003702602004410036029c0120042003360298012004200236029401200441346a200441d8006a2002200320044194016a10ac8d808000024020042d00344101470d0002400240024002402004280238220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c020b20002004290035370000200041206a200441d5006a2d00003a0000200041186a200441cd006a290000370000200041106a200441c5006a290000370000200041086a2004413d6a2900003700000c010b200128024c220a2802080d01200a41086a220b417f36020020062802080d02200641086a220c417f360200200128025022072802080d032007417f3602082004200741086a3602302004200b3602282004200c3602202004200741106a36022c2004200a410c6a3602242004200641106a36021c200441d8006a41106a200541086a290200370200200441d8006a41186a200541106a290200370200200441d8006a41206a200541186a29020037020020044188bbc8800036025c20042001360258200441e0bbc8800036028c01200441c4bbc880003602840120042008410020091b360280012004200529020037026020042004411c6a360288012004410036029c0120042003360298012004200236029401200441346a200441d8006a2002200320044194016a10ac8d8080000240024020042d00344101470d0002400240024002402004280238220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c010b20002004290035370000200041206a200441d5006a2d00003a0000200041186a200441cd006a290000370000200041106a200441c5006a290000370000200041086a2004413d6a2900003700000b200428021c450d0020042802202205200528020041016a36020020042802282205200528020041016a36020020042802302205200528020041016a3602000b0240200428020c450d0020042802102205200528020041016a3602002004280214450d0020042802182205200528020041016a3602000b200441a0016a2480808080000f0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000ba415010b7f2380808080004180046b2204248080808000024002400240024020012802540d002001280258210520014180808080783602580240024002402005418080808078460d00200141e4006a2106200128025c2107200128026022082003470d0120072002200310f59780800021082004200336020c2004200736020820042005360204200441106a200641f80010f4978080001a20080d020c040b200441a8026a41003a0000200441a0026a420037020020044198026a420037020020044190026a420037020020044188026a4200370200200441e4006a4200370200200441ec006a4200370200200441f4006a4200370200200441fc006a420037020020044184016a4180023b01002004418080808078360258200441808080807836024c20044200370244200442043702142004420037020c2004428080808010370204200420042902800237025c0c010b2004200836020c2004200736020820042005360204200441106a200641f80010f4978080001a0b200420033602a0032004200236029c032004410036029403200441013b01a40320044180808080783602880320044180026a200120044188036a10fc8a8080000240200428028002418080808078470d0041818080807821030c030b20044188016a20044180026a41f80010f4978080001a0240200428024c2203418080808078460d002003450d00200428025022032003417e6a2f00006b41002802ec82d48000118180808000000b024020042802582203418080808078460d002003450d00200428025c22032003417e6a2f00006b41002802ec82d48000118180808000000b024020042802182205450d00200428021441086a210303402003280200220220022802002202417f6a360200024020024101470d00200310de8f8080000b200341306a21032005417f6a22050d000b0b02402004280210450d00200428021422032003417e6a2f00006b41002802ec82d48000118180808000000b200441106a2103024020042802444129490d00200428021c22052005417e6a2f00006b41002802ec82d48000118180808000000b200320044188016a41f80010f4978080001a0c010b41f8bac88000109a81808000000b200428024c21054180808080782103200441808080807836024c200428025021020240024002400240024002400240024020042d0085010d0020042802542109200441a0036a200441fc006a29020037030020044198036a200441f4006a29020037030020044190036a200441ec006a29020037030020042004290264370388034100210302402004280258418080808078460d002004200429025c3702b00320044188bbc880003602ac03200121030b200420033602a8030240024020012802442206450d0020044180026a41186a200441e4006a220741186a29000037030020044180026a41106a200741106a29000037030020044180026a41086a200741086a2900003703002004200729000037038002200441b8036a200620044180026a10f087808000200441b8036a410020042802b8031b21070c010b41002107200441003602b8030b200441106a210841b0bbc880004188bbc8800020031b210a200441a8036a200120031b210b0240024020012802482203450d00200128024c220c2802080d03200c41086a220d417f36020020032802080d04200341086a220e417f36020020012802502206280208450d0141ccd7c58000109a81808000000b2004200a3602a4022004200b3602a002200441e0bbc8800036029c0220044100360298022004420037029002200441c4bbc8800036028c02200441003602840220042007360288022004200741004736028002200420044188036a3602a802200441f0036a200820044180026a10b4898080002005418080808078460d0720042802f0032203418280808078480d0620042802f8032009470d0620042802f40322072002200910f5978080000d06200441c8036a200820044180026a10b48980800002402003450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200441f0036a41086a200441c8036a41086a280200360200200420042902c8033703f0030c060b2006417f3602082004200641086a3602dc032004200d3602d4032004200e3602cc032004200641106a3602d8032004200c410c6a3602d0032004200341106a3602c8032004200a3602a4022004200b3602a002200441e0bbc8800036029c022004420137029002200441c4bbc8800036028c02200441003602840220042007360288022004200741004736028002200420044188036a3602a8022004200441c8036a36029802200441e0036a200820044180026a10b4898080002005418080808078460d0420042802e0032203418280808078480d0320042802e8032009470d0320042802e40322072002200910f5978080000d03200441f0036a200820044180026a10b48980800002402003450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200441e0036a41086a200441f0036a41086a280200360200200420042902f0033703e0030c030b200541808080807872418080808078460d0720022002417e6a2f00006b41002802ec82d48000118180808000000c070b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b2005450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20042802e803210720042802e403210220042802e003210520042802c803450d0220042802cc032203200328020041016a36020020042802d4032203200328020041016a36020020042802dc032203200328020041016a3602000c020b2005450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20042802f803210720042802f403210220042802f00321050b024020042802b803450d0020042802bc032203200328020041016a36020020042802c003450d0020042802c4032203200328020041016a3602000b41808080807821030240024002400240024020054180808080786a0e020002010b418080808078210502400240200228020041fcffffff076a22034101470d00418080808078210520042d0084014101470d01200441023a008501200228020041fcffffff076a210341818080807821050b0240200341044b0d000240024020030e0403030102000b2002280204450d02200228020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200210db8f8080000b20022002417e6a2f00006b41002802ec82d48000118180808000000b418080808078210320054180808080786a0e020103020b200441013a0085010c020b41818080807821030c010b410021032004410036020c0240200720042802044d0d00200441046a410020074101410110a386808000200428020c21030b200428020820036a2002200710f4978080001a2004200428020c20076a36020c024020012802540d0020044180026a200141d8006a220341840110f4978080001a2003200441046a41840110f4978080001a0240200428028002418080808078460d0020044180026a10df8f8080000b2000200736020820002002360204200020053602000c020b41f8bac88000109a81808000000b20002003360200200441046a10df8f8080000b20044180046a2480808080000b7101017f0240200028020022002802e001450d0020002802e40122012001417e6a2f00006b41002802ec82d48000118180808000000b02402000417f460d00200020002802042201417f6a36020420014101470d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0bc60201047f02402000280200450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802482201418080808078460d002001450d00200028024c22012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802542201418080808078460d002001450d00200028025822012001417e6a2f00006b41002802ec82d48000118180808000000b20002802102102024020002802142203450d00200241086a210103402001280200220420042802002204417f6a360200024020044101470d00200110de8f8080000b200141306a21012003417f6a22030d000b0b0240200028020c450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802404129490d00200028021822012001417e6a2f00006b41002802ec82d48000118180808000000b0ba715010b7f2380808080004180046b2204248080808000024002400240024020012802540d002001280258210520014180808080783602580240024002402005418080808078460d00200141e4006a2106200128025c2107200128026022082003470d0120072002200310f59780800021082004200336020c2004200736020820042005360204200441106a200641f80010f4978080001a20080d020c040b200441a8026a41003a0000200441a0026a420037020020044198026a420037020020044190026a420037020020044188026a4200370200200441e4006a4200370200200441ec006a4200370200200441f4006a4200370200200441fc006a420037020020044184016a4180023b01002004418080808078360258200441808080807836024c20044200370244200442043702142004420037020c2004428080808010370204200420042902800237025c0c010b2004200836020c2004200736020820042005360204200441106a200641f80010f4978080001a0b200420033602a0032004200236029c032004410036029403200441013b01a40320044180808080783602880320044180026a200120044188036a10fd8a8080000240200428028002418080808078470d0041818080807821030c030b20044188016a20044180026a41f80010f4978080001a0240200428024c2203418080808078460d002003450d00200428025022032003417e6a2f00006b41002802ec82d48000118180808000000b024020042802582203418080808078460d002003450d00200428025c22032003417e6a2f00006b41002802ec82d48000118180808000000b024020042802182205450d00200428021441086a210303402003280200220220022802002202417f6a360200024020024101470d00200310de8f8080000b200341306a21032005417f6a22050d000b0b02402004280210450d00200428021422032003417e6a2f00006b41002802ec82d48000118180808000000b200441106a2103024020042802444129490d00200428021c22052005417e6a2f00006b41002802ec82d48000118180808000000b200320044188016a41f80010f4978080001a0c010b41f8bac88000109a81808000000b200428024c21054180808080782103200441808080807836024c200428025021020240024002400240024002400240024020042d0085010d0020042802542109200441a0036a200441fc006a29020037030020044198036a200441f4006a29020037030020044190036a200441ec006a29020037030020042004290264370388034100210302402004280258418080808078460d002004200429025c3702b0032004419cbbc880003602ac03200121030b200420033602a8030240024020012802442206450d0020044180026a41186a200441e4006a220741186a29000037030020044180026a41106a200741106a29000037030020044180026a41086a200741086a2900003703002004200729000037038002200441b8036a200628020020044180026a10f087808000200441b8036a410020042802b8031b21070c010b41002107200441003602b8030b200441106a210841b0bbc88000419cbbc8800020031b210a200441a8036a200120031b210b0240024020012802482203450d00200128024c220c2802080d03200c41086a220d417f36020020032802080d04200341086a220e417f36020020012802502206280208450d0141ccd7c58000109a81808000000b2004200a3602a4022004200b3602a002200441e0bbc8800036029c0220044100360298022004420037029002200441c4bbc8800036028c02200441003602840220042007360288022004200741004736028002200420044188036a3602a802200441f0036a200820044180026a10b4898080002005418080808078460d0720042802f0032203418280808078480d0620042802f8032009470d0620042802f40322072002200910f5978080000d06200441c8036a200820044180026a10b48980800002402003450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200441f0036a41086a200441c8036a41086a280200360200200420042902c8033703f0030c060b2006417f3602082004200641086a3602dc032004200d3602d4032004200e3602cc032004200641106a3602d8032004200c410c6a3602d0032004200341106a3602c8032004200a3602a4022004200b3602a002200441e0bbc8800036029c022004420137029002200441c4bbc8800036028c02200441003602840220042007360288022004200741004736028002200420044188036a3602a8022004200441c8036a36029802200441e0036a200820044180026a10b4898080002005418080808078460d0420042802e0032203418280808078480d0320042802e8032009470d0320042802e40322072002200910f5978080000d03200441f0036a200820044180026a10b48980800002402003450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200441e0036a41086a200441f0036a41086a280200360200200420042902f0033703e0030c030b200541808080807872418080808078460d0720022002417e6a2f00006b41002802ec82d48000118180808000000c070b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b2005450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20042802e803210720042802e403210220042802e003210520042802c803450d0220042802cc032203200328020041016a36020020042802d4032203200328020041016a36020020042802dc032203200328020041016a3602000c020b2005450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20042802f803210720042802f403210220042802f00321050b024020042802b803450d0020042802bc032203200328020041016a36020020042802c003450d0020042802c4032203200328020041016a3602000b41808080807821030240024002400240024020054180808080786a0e020002010b418080808078210502400240200228020041fcffffff076a22034101470d00418080808078210520042d0084014101470d01200441023a008501200228020041fcffffff076a210341818080807821050b0240200341044b0d000240024020030e0403030102000b2002280204450d02200228020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200210db8f8080000b20022002417e6a2f00006b41002802ec82d48000118180808000000b418080808078210320054180808080786a0e020103020b200441013a0085010c020b41818080807821030c010b410021032004410036020c0240200720042802044d0d00200441046a410020074101410110a386808000200428020c21030b200428020820036a2002200710f4978080001a2004200428020c20076a36020c024020012802540d0020044180026a200141d8006a220341840110f4978080001a2003200441046a41840110f4978080001a0240200428028002418080808078460d0020044180026a10df8f8080000b2000200736020820002002360204200020053602000c020b41f8bac88000109a81808000000b20002003360200200441046a10df8f8080000b20044180046a2480808080000b9d0a01097f2380808080004180016b2204248080808000200141046a21050240024002400240024002400240024020012802442206450d00200441386a41186a200541186a290000370300200441386a41106a200541106a290000370300200441386a41086a200541086a29000037030020042005290000370338200441046a2006200441386a10f0878080002004280204210720012802482206450d01200441046a410020071b2108200741004721090c030b410021082004410036020441002109200128024822060d0241002106200441003602140c010b20044100360214200441046a410020071b21060b200441386a41106a200541086a290200370200200441386a41186a200541106a290200370200200441d8006a200541186a29020037020020044188bbc8800036023c2004200136023820044100360268200441c4bbc8800036026420042006360260200420052902003702402004410036027c20042003360278200420023602742004412c6a200441386a20022003200441f4006a10b08d8080000240200428022c418180808078470d0002400240024002402004280230220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c020b2000200429022c370200200041086a2004412c6a41086a2802003602000c010b200128024c220a2802080d01200a41086a220b417f36020020062802080d02200641086a220c417f360200200128025022072802080d032007417f3602082004200741086a3602282004200b3602202004200c3602182004200741106a3602242004200a410c6a36021c2004200641106a360214200441386a41106a200541086a290200370200200441386a41186a200541106a290200370200200441d8006a200541186a29020037020020044188bbc8800036023c20042001360238200441e0bbc8800036026c200441c4bbc8800036026420042008410020091b360260200420052902003702402004200441146a3602682004410036027c20042003360278200420023602742004412c6a200441386a20022003200441f4006a10b08d80800002400240200428022c418180808078470d0002400240024002402004280230220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c010b2000200429022c370200200041086a2004412c6a41086a2802003602000b2004280214450d0020042802182205200528020041016a36020020042802202205200528020041016a36020020042802282205200528020041016a3602000b02402004280204450d0020042802082205200528020041016a360200200428020c450d0020042802102205200528020041016a3602000b20044180016a2480808080000f0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000ba00a01097f2380808080004180016b2204248080808000200141046a21050240024002400240024002400240024020012802442206450d00200441386a41186a200541186a290000370300200441386a41106a200541106a290000370300200441386a41086a200541086a29000037030020042005290000370338200441046a2006280200200441386a10f0878080002004280204210720012802482206450d01200441046a410020071b2108200741004721090c030b410021082004410036020441002109200128024822060d0241002106200441003602140c010b20044100360214200441046a410020071b21060b200441386a41106a200541086a290200370200200441386a41186a200541106a290200370200200441d8006a200541186a2902003702002004419cbbc8800036023c2004200136023820044100360268200441c4bbc8800036026420042006360260200420052902003702402004410036027c20042003360278200420023602742004412c6a200441386a20022003200441f4006a10b08d8080000240200428022c418180808078470d0002400240024002402004280230220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c020b2000200429022c370200200041086a2004412c6a41086a2802003602000c010b200128024c220a2802080d01200a41086a220b417f36020020062802080d02200641086a220c417f360200200128025022072802080d032007417f3602082004200741086a3602282004200b3602202004200c3602182004200741106a3602242004200a410c6a36021c2004200641106a360214200441386a41106a200541086a290200370200200441386a41186a200541106a290200370200200441d8006a200541186a2902003702002004419cbbc8800036023c20042001360238200441e0bbc8800036026c200441c4bbc8800036026420042008410020091b360260200420052902003702402004200441146a3602682004410036027c20042003360278200420023602742004412c6a200441386a20022003200441f4006a10b08d80800002400240200428022c418180808078470d0002400240024002402004280230220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c010b2000200429022c370200200041086a2004412c6a41086a2802003602000b2004280214450d0020042802182205200528020041016a36020020042802202205200528020041016a36020020042802282205200528020041016a3602000b02402004280204450d0020042802082205200528020041016a360200200428020c450d0020042802102205200528020041016a3602000b20044180016a2480808080000f0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b1400200041a8bac88000360204200020013602000b1400200041d0bac88000360204200020013602000b1400200041d0bac88000360204200020013602000b1400200041a8bac88000360204200020013602000b170041f4bbc88000410f41e0bcc88000108081808000000b170041f4bbc88000410f41f0bcc88000108081808000000bda1005017f017e037f017e0c7f23808080800041e0036b22052480808080004100410035028483d4800042c4e6c11b85200541d0016aad22067e200642ae94e698017e4220898522063e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002107024002400240410141002802f482d48000118280808000002208450d0041002109200841003a00002008417e6a41003b0000200541206a41fccfc28000410141002802c480d4800011868080800000200541086a4100290388e7c58000370300200541013602482005200836024420054101360240200541b883d480004100200741ff01714102461b36021820052006422088220a42a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200a42d0e3fccc027e200642a2f0a4a00a7e854220898537031020054100290380e7c580003703002005410036025820054280808080c00037025002402003280220220b0d00410421080c030b200541dc016a210c200541f8016a210d200541d0016a410172210e2003280200210f2003280204211020032802082108200328020c2111034002400240200f410171450d00024002402010450d002011210320082107201021080c010b4101210f4100210302402011450d0020112109024020114107712207450d0003402009417f6a210920082802ac0921082007417f6a22070d000b0b20114108490d00034020082802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092108200941786a22090d000b0b410021070b024002400240200320082f01aa094f0d00200821090c010b034020082802a0082209450d02200741016a210720082f01a809210320092108200320092f01aa094f0d000b0b024020070d00200341016a2111200921100c030b200920034102746a41b0096a2802002110410021112007417f6a2208450d022007417e6a2112024020084107712207450d0003402008417f6a210820102802ac0921102007417f6a22070d000b0b20124107490d02034020102802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092110200841786a22080d000c030b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b2009200341e0006c6a2209280208210320092802002108200520092802042207360278200520083602742005410036027020052007360268200520083602642005410036026020052003410020081b36027c20052008410047220836026c2005200836025c200541d0016a2001200941d4006a2208200541dc006a200410f98a808000200541a8036a41186a2203200e41186a290000370300200541a8036a41106a2207200e41106a290000370300200541a8036a41086a2212200e41086a2900003703002005200e2900003703a80320052d00d001210920054180016a200d41d00010f4978080001a200541cc026a200810bc97808000200520054180016a10a3888080000240024002402009450d000240200528025822082005280250470d00200541d0006a4190bdc8800010a2868080000b2005280254200841186c6a220920052902cc02370200200941808080807836020c200941086a200541cc026a41086a280200360200200841016a21090c010b200541d0016a41086a2213200541cc026a41086a280200360200200520052902cc023703d00141002d008083d480001a200541003602dc0320054280808080103702d403412041002802f482d48000118280808000002208450d01200820052903a8033700002008417e6a221441003b0000200841086a22152012290300370000200841106a22122007290300370000200841186a22072003290300370000200541d4036a4100412010f49180800020052802d803200541d4036a41086a220328020022166a22092008290000370000200941086a2015290000370000200941106a2012290000370000200941186a20072900003700002003201641206a360200200820142f00006b41002802ec82d4800011818080800000200c41086a2003280200360200200c20052902d4033702000240200528025822082005280250470d00200541d0006a4180bdc8800010a2868080000b2005280254200841186c6a220920052903d001370200200941086a2013290300370200200941106a200541d0016a41106a290300370200200841016a21090b2005200936025841002108200b417f6a220b450d030c010b0b4101412010ab80808000000b4101410110ab80808000000b200528025421080b200541a8036a41206a200241206a280200360200200541a8036a41186a200241186a290200370300200541a8036a41106a200241106a290200370300200541a8036a41086a200241086a290200370300200520022902003703a803200520083602cc0320052008200941186c6a3602d003200541d0016a2001200541a8036a200410f18a808000200041186a200541d0016a41186a290300370300200041106a200541d0016a41106a290300370300200041086a200541d0016a41086a290300370300200020052903d001370300200541d8026a200541d0016a41206a41d00010f4978080001a2005200541d8026a10a388808000200041206a200541d00010f4978080001a024020052802582209450d0020052802542108034002402008280200450d00200841046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b02402008410c6a2802002203418080808078460d002003450d00200841106a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200841186a21082009417f6a22090d000b0b02402005280250450d00200528025422082008417e6a2f00006b41002802ec82d48000118180808000000b200541e0036a2480808080000bda1005017f017e037f017e0c7f23808080800041e0036b22052480808080004100410035028483d4800042c4e6c11b85200541d0016aad22067e200642ae94e698017e4220898522063e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002107024002400240410141002802f482d48000118280808000002208450d0041002109200841003a00002008417e6a41003b0000200541206a41fccfc28000410141002802c480d4800011868080800000200541086a4100290388e7c58000370300200541013602482005200836024420054101360240200541b883d480004100200741ff01714102461b36021820052006422088220a42a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200a42d0e3fccc027e200642a2f0a4a00a7e854220898537031020054100290380e7c580003703002005410036025820054280808080c00037025002402003280220220b0d00410421080c030b200541dc016a210c200541f8016a210d200541d0016a410172210e2003280200210f2003280204211020032802082108200328020c2111034002400240200f410171450d00024002402010450d002011210320082107201021080c010b4101210f4100210302402011450d0020112109024020114107712207450d0003402009417f6a210920082802ac0921082007417f6a22070d000b0b20114108490d00034020082802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092108200941786a22090d000b0b410021070b024002400240200320082f01aa094f0d00200821090c010b034020082802a0082209450d02200741016a210720082f01a809210320092108200320092f01aa094f0d000b0b024020070d00200341016a2111200921100c030b200920034102746a41b0096a2802002110410021112007417f6a2208450d022007417e6a2112024020084107712207450d0003402008417f6a210820102802ac0921102007417f6a22070d000b0b20124107490d02034020102802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092110200841786a22080d000c030b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b2009200341e0006c6a2209280208210320092802002108200520092802042207360278200520083602742005410036027020052007360268200520083602642005410036026020052003410020081b36027c20052008410047220836026c2005200836025c200541d0016a2001200941d4006a2208200541dc006a200410f88a808000200541a8036a41186a2203200e41186a290000370300200541a8036a41106a2207200e41106a290000370300200541a8036a41086a2212200e41086a2900003703002005200e2900003703a80320052d00d001210920054180016a200d41d00010f4978080001a200541cc026a200810bc97808000200520054180016a10a3888080000240024002402009450d000240200528025822082005280250470d00200541d0006a4190bdc8800010a2868080000b2005280254200841186c6a220920052902cc02370200200941808080807836020c200941086a200541cc026a41086a280200360200200841016a21090c010b200541d0016a41086a2213200541cc026a41086a280200360200200520052902cc023703d00141002d008083d480001a200541003602dc0320054280808080103702d403412041002802f482d48000118280808000002208450d01200820052903a8033700002008417e6a221441003b0000200841086a22152012290300370000200841106a22122007290300370000200841186a22072003290300370000200541d4036a4100412010f49180800020052802d803200541d4036a41086a220328020022166a22092008290000370000200941086a2015290000370000200941106a2012290000370000200941186a20072900003700002003201641206a360200200820142f00006b41002802ec82d4800011818080800000200c41086a2003280200360200200c20052902d4033702000240200528025822082005280250470d00200541d0006a4180bdc8800010a2868080000b2005280254200841186c6a220920052903d001370200200941086a2013290300370200200941106a200541d0016a41106a290300370200200841016a21090b2005200936025841002108200b417f6a220b450d030c010b0b4101412010ab80808000000b4101410110ab80808000000b200528025421080b200541a8036a41206a200241206a280200360200200541a8036a41186a200241186a290200370300200541a8036a41106a200241106a290200370300200541a8036a41086a200241086a290200370300200520022902003703a803200520083602cc0320052008200941186c6a3602d003200541d0016a2001200541a8036a200410f28a808000200041186a200541d0016a41186a290300370300200041106a200541d0016a41106a290300370300200041086a200541d0016a41086a290300370300200020052903d001370300200541d8026a200541d0016a41206a41d00010f4978080001a2005200541d8026a10a388808000200041206a200541d00010f4978080001a024020052802582209450d0020052802542108034002402008280200450d00200841046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b02402008410c6a2802002203418080808078460d002003450d00200841106a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200841186a21082009417f6a22090d000b0b02402005280250450d00200528025422082008417e6a2f00006b41002802ec82d48000118180808000000b200541e0036a2480808080000b170041f4bbc88000410f41a0bdc88000108081808000000b170041f4bbc88000410f41b0bdc88000108081808000000ba007010c7f23808080800041206b22022480808080004100210302400240417f20012802142204413c6c20012802082205413c6c410c6a22066a41046a220720072006491b22084100480d0041002d008083d480001a200841002802f482d480001182808080000022070d01410121030b2003200841b8bec8800010b980808000000b2007417e6a41003b000020024100360214200220073602102002200836020c41002d008083d480001a0240412041002802f482d48000118280808000002206450d002006417e6a220941003b000020062001290018370000200641086a220a200141206a290000370000200641106a220b200141286a290000370000200641186a220c200141306a2900003700004100210d02402008411f4b0d002002410c6a4100412010f491808000200228020c2108200228021021072002280214210d0b2007200d6a22032006290000370000200341186a200c290000370000200341106a200b290000370000200341086a200a2900003700002002200d41206a2203360214200620092f00006b41002802ec82d4800011818080800000200128023c210d200128023821060240200820036b41034b0d002002410c6a2003410410f49180800020022802102107200228021421030b200720036a20063600002002200341046a22063602140240200228020c20066b41034b0d002002410c6a2006410410f491808000200228021421060b200228021020066a200d3600002002200641046a36021420012802042106200220053602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402005450d0020062005413c6c6a21030340200628020021080240200228020c200228021422076b41034b0d002002410c6a2007410410f491808000200228021421070b200228021020076a20083600002002200741046a360214200641046a2002410c6a108c858080002006413c6a22062003470d000b0b20012802102106200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004450d0020062004413c6c6a21030340200628020021080240200228020c200228021422076b41034b0d002002410c6a2007410410f491808000200228021421070b200228021020076a20083600002002200741046a360214200641046a2002410c6a108c858080002006413c6a22062003470d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b4101412010ab80808000000ba30201047f23808080800041106b220224808080800041002103024002400240200110da9180800022044100480d00024020040d00410121030c030b41002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b8bec8800010b980808000000b2003417e6a41003b00000b200241086a220541003602002002200336020420022004360200200220014188026a36020c2002410c6a200210dd84808000200220014190026a36020c2002410c6a200210dd84808000200220014198026a36020c2002410c6a200210dd848080002002200141a0026a36020c2002410c6a200210dd848080002001200210f585808000200041086a200528020036020020002002290200370200200241106a2480808080000b900601097f23808080800041206b2202248080808000410021030240417f20012802202204417f417f417f20012802082205410c6c220641046a2207200128021422084104746a41046a220920092007491b22074101200128022c41056a2001280224418080808078461b6a220920092007491b220741086a220920092007491b22076a41046a220920092007491b22074100480d0041002d008083d480001a41012103200741002802f482d48000118280808000002209450d00200141246a210a2009417e6a41003b000020024100360214200220093602102002200736020c20012802042107200220053602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402005450d00200741086a210703402007417c6a28020021032002200728020022053602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402005200228020c200228021422096b4d0d002002410c6a2009200510f491808000200228021421090b200228021020096a2003200510f4978080001a2002200920056a3602142007410c6a2107200641746a22060d000b0b20012802102107200220083602182002200241186a36021c2002411c6a2002410c6a10dc84808000200720082002410c6a10af83808000200a2002410c6a10bd89808000200128023021050240200228020c200228021422076b41034b0d002002410c6a2007410410f491808000200228021421070b200228021020076a20053600002002200741046a2207360214200128023421050240200228020c20076b41034b0d002002410c6a2007410410f491808000200228021421070b200228021020076a20053600002002200741046a360214200128021c2105200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004200228020c200228021422076b4d0d002002410c6a2007200410f491808000200228021421070b200228021020076a2005200410f4978080001a200041086a200720046a3602002000200229020c370200200241206a2480808080000f0b2003200741b8bec8800010b980808000000b3900200128020020002802002d00004102742200418cc2c880006a28020020004180c2c880006a280200200128020428020c118080808000000b950201027f23808080800041106b2202248080808000200220002802002200360204200128020041f8bfc880004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41febfc880004104200041046a41d8bfc88000108a818080001a200241086a4182c0c880004105200241046a41e8bfc88000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b3301017f20002802042201200128020041016a36020002402000280208450d00200028020c2200200028020041016a3602000b0b3a01017f20002802042201200128020041016a360200200028020c2201200128020041016a36020020002802142200200028020041016a3602000b7e01027f024020002802482201450d0020012001280200417f6a2202360200024020020d00200041c8006a10ff878080000b200028024c22012001280200417f6a2201360200024020010d00200041cc006a1081888080000b200028025022012001280200417f6a220136020020010d00200041d0006a1082888080000b0be503010a7f20002802102000280200200041146a2802002202200041046a280200220320022003491b10f597808000210420004130412020002802302000280220200041346a2802002205200041246a280200220620052006491b10f5978080002207200520066b20071b41004822061b6a210520004120413020061b6a2106200620002004200220036b20041b2203417f73411b764110716a22022005200528020020002003411b764110716a2200280200200541046a2802002203200041046a280200220420032004491b10f5978080002207200320046b20071b41004822071b20062802002002280200200641046a2802002203200241046a280200220420032004491b10f5978080002208200320046b20081b41004822081b220328020020002005200220081b20071b2204280200200341046a2802002209200441046a280200220a2009200a491b10f597808000210b200141086a2005200020071b220041086a29020037020020012000290200370200200120032004200b2009200a6b200b1b41004822001b2205290200370210200141186a200541086a290200370200200141286a2004200320001b220041086a2902003702002001200029020037022020012002200620081b2200290200370230200141386a200041086a2902003702000b8304010a7f200041106a280200200041046a280200200041146a2802002202200041086a280200220320022003491b10f5978080002104200041244118200041286a2802002000411c6a2802002000412c6a2802002205200041206a280200220620052006491b10f5978080002207200520066b20071b41004822061b6a210520004118412420061b6a2106200620002004200220036b20041b2203417f73411f76410c6c6a22022005200541046a28020020002003411f76410c6c6a220041046a280200200541086a2802002203200041086a280200220420032004491b10f5978080002207200320046b20071b41004822071b200641046a280200200241046a280200200641086a2802002203200241086a280200220420032004491b10f5978080002208200320046b20081b41004822081b220341046a28020020002005200220081b20071b220441046a280200200341086a2802002209200441086a280200220a2009200a491b10f597808000210b200141086a2005200020071b220041086a28020036020020012000290200370200200120032004200b2009200a6b200b1b41004822001b220529020037020c200141146a200541086a280200360200200141206a2004200320001b220041086a2802003602002001200029020037021820012002200620081b22002902003702242001412c6a200041086a2802003602000bf408010a7f20002000280210220320002802002204494104746a2205200041304120200028023020002802204922061b6a22072000200320044f4104746a220320004120413020061b6a220428020020032802004922061b200728020020052802004922081b2209280200210a20042003200720081b20061b220b280200210c200241086a2007200520081b220741086a290200370200200220072902003702002002200b2009200c200a4922071b2205290200370210200241186a200541086a290200370200200241286a2009200b20071b220741086a29020037020020022007290200370220200241386a2003200420061b220341086a290200370200200241306a22072003290200370200200041c0006a220341204130200028027020002802604922051b6a2204200320002802502206200028024022084f4104746a220020034130412020051b6a22052005280200200320062008494104746a22032802004922061b200428020020002802004922081b2209280200210a20032005200020081b20061b220b280200210c200241c8006a2005200320061b220541086a290200370200200241c0006a22032005290200370200200241d0006a2009200b200a200c4922051b2206290200370200200241d8006a200641086a290200370200200241e0006a200b200920051b2205290200370200200241e8006a200541086a290200370200200241f0006a22052000200420081b2200290200370200200241f8006a200041086a29020037020020012003200220032802002204200228020022064922001b2208290200370200200141086a200841086a290200370200200120072005200528020022082007280200220949220b1b220a290200370270200141f8006a200a41086a2902003702002001200320004104746a22002002200420064f4104746a2202200028020022042002280200220649220a1b2203290200370210200141186a200341086a2902003702002001200741704100200b1b6a2207200541704100200820094f1b6a220320032802002205200728020022084922091b220b290200370260200141e8006a200b41086a29020037020020012000200a4104746a22002002200420064f4104746a2202200028020022042002280200220649220b1b220a290200370220200141286a200a41086a290200370200200120074170410020091b6a2207200341704100200520084f1b6a2203200328020022082007280200220949220a1b2205290200370250200141d8006a200541086a29020037020020012000200b4104746a22052002200420064f4104746a2202200528020022042002280200220649220b1b2200290200370230200141386a200041086a2902003702002001200741704100200a1b6a2200200341704100200820094f1b6a2207200728020022092000280200220a4922031b2208290200370240200141c8006a200841086a290200370200024002402002200420064f4104746a20004170410020031b6a41106a470d002005200b4104746a2007417041002009200a4f1b6a41106a460d010b109c81808000000b0bef08010a7f2000200028020c22032000280200220449410c6c6a2205200041244118200028022420002802184922061b6a22072000200320044f410c6c6a220320004118412420061b6a220428020020032802004922061b200728020020052802004922081b2209280200210a20042003200720081b20061b220b280200210c200241086a2007200520081b220741086a280200360200200220072902003702002002200b2009200c200a4922071b220529020037020c200241146a200541086a280200360200200241206a2009200b20071b220741086a280200360200200220072902003702182002412c6a2003200420061b220341086a280200360200200241246a22072003290200370200200041306a220341184124200028025420002802484922051b6a22042003200028023c2206200028023022084f410c6c6a220020034124411820051b6a2205200528020020032006200849410c6c6a22032802004922061b200428020020002802004922081b2209280200210a20032005200020081b20061b220b280200210c200241386a2005200320061b220541086a280200360200200241306a220320052902003702002002413c6a2009200b200a200c4922051b2206290200370200200241c4006a200641086a280200360200200241c8006a200b200920051b2205290200370200200241d0006a200541086a280200360200200241d4006a22052000200420081b2200290200370200200241dc006a200041086a28020036020020012003200220032802002204200228020022064922001b2208290200370200200141086a200841086a280200360200200120072005200528020022082007280200220949220b1b220a290200370254200141dc006a200a41086a280200360200200120032000410c6c6a22002002200420064f410c6c6a2202200028020022042002280200220649220a1b220329020037020c200141146a200341086a2802003602002001200741744100200b1b6a2207200541744100200820094f1b6a220320032802002205200728020022084922091b220b290200370248200141d0006a200b41086a28020036020020012000200a410c6c6a22002002200420064f410c6c6a2202200028020022042002280200220649220b1b220a290200370218200141206a200a41086a280200360200200120074174410020091b6a2207200341744100200520084f1b6a2203200328020022082007280200220949220a1b220529020037023c200141c4006a200541086a28020036020020012000200b410c6c6a22052002200420064f410c6c6a2202200528020022042002280200220649220b1b22002902003702242001412c6a200041086a2802003602002001200741744100200a1b6a2200200341744100200820094f1b6a2207200728020022092000280200220a4922031b2208290200370230200141386a200841086a280200360200024002402002200420064f410c6c6a20004174410020031b6a410c6a470d002005200b410c6c6a2007417441002009200a4f1b6a410c6a460d010b109c81808000000b0b9803010a7f2000200141047441706a22036a2104200220036a21052000200141017622064104746a220341706a2107034020022000200320032802002000280200200341046a2802002208200041046a280200220920082009491b10f597808000220a200820096b200a1b220a417f4a220b1b2208290200370200200241086a200841086a29020037020020052004200720042802002007280200200441046a2802002208200741046a280200220920082009491b10f597808000220c200820096b200c1b2208417f4a1b2209290200370200200541086a200941086a2902003702002000200b4104746a21002003200a411b764110716a210320072008411f7522084104746a210720042008417f734104746a2104200541706a2105200241106a21022006417f6a22060d000b200741106a210702402001410171450d00200220002003200020074922051b2208290200370200200241086a200841086a2902003702002003200020074f4104746a2103200020054104746a21000b024020002007470d002003200441106a470d000f0b109c81808000000ba403010a7f20002001410c6c41746a22036a2104200220036a2105200020014101762206410c6c6a220341746a21070340200220002003200341046a280200200041046a280200200341086a2802002208200041086a280200220920082009491b10f597808000220a200820096b200a1b220a417f4a220b1b2208290200370200200241086a200841086a280200360200200520042007200441046a280200200741046a280200200441086a2802002208200741086a280200220920082009491b10f597808000220c200820096b200c1b2208417f4a1b2209290200370200200541086a200941086a2802003602002000200b410c6c6a21002003200a411f76410c6c6a210320072008411f752208410c6c6a210720042008417f73410c6c6a2104200541746a21052002410c6a21022006417f6a22060d000b2007410c6a210702402001410171450d00200220002003200020074922051b2208290200370200200241086a200841086a2802003602002003200020074f410c6c6a210320002005410c6c6a21000b024020002007470d0020032004410c6a470d000f0b109c81808000000b920202077f017e200041106a2102200020014104746a210341002104200021010340200221050240200128021022062001280200200141146a2802002207200141046a280200220220072002491b10f5978080002208200720026b20081b417f4a0d00200129021821092004210202400340200020026a220141106a2001290200370200200141186a200141086a290200370200024020020d00200021010c020b200241706a21022006200141706a2802002007200141746a280200220120072001491b10f5978080002208200720016b20081b4100480d000b200020026a41106a21010b2001200937020820012007360204200120063602000b200441106a210420052101200541106a22022003470d000b0bd00103047f017e017f02402002417f6a20014f0d00024020022001460d0020002001410c6c6a210420002002410c6c22056a21060340024020062802002207200641746a2802004f0d00200629020421082005210202400340200020026a2201200141746a2209290200370200200141086a200941086a28020036020002402002410c470d00200021020c020b200241746a21022007200141686a280200490d000b200020026a21020b20022008370204200220073602000b2005410c6a21052006410c6a22062004470d000b0b0f0b000bf10201097f23808080800041206b210402402002417f6a20014f0d00024020022001460d002000200141246c6a21052000200241246c22066a2107200441186a2108200441106a2109200441086a210a034002402007280200220b2007415c6a2802004f0d0020082007411c6a2902003703002009200741146a290200370300200a2007410c6a290200370300200420072902043703002006210c024003402000200c6a22022002415c6a2201290200370200200241206a200141206a280200360200200241186a200141186a290200370200200241106a200141106a290200370200200241086a200141086a2902003702000240200c4124470d00200021020c020b200c415c6a210c200b200241b87f6a280200490d000b2000200c6a21020b2002200b360200200220042903003702042002410c6a200a290300370200200241146a20092903003702002002411c6a20082903003702000b200641246a2106200741246a22072005470d000b0b0f0b000bed0201087f23808080800041206b220424808080800002402002417f6a20014f0d00024020022001460d00200020014105746a21052000200241057422066a2107034002402007200741606a412010f597808000417f4a0d00200441186a2208200741186a290000370300200441106a2209200741106a290000370300200441086a220a200741086a290000370300200420072900003703002006210102400340200020016a2202200241606a220b290000370000200241186a200b41186a290000370000200241106a200b41106a290000370000200241086a200b41086a290000370000024020014120470d00200021020c020b200141606a21012004200241406a412010f5978080004100480d000b200020016a21020b20022004290300370000200241186a2008290300370000200241106a2009290300370000200241086a200a2903003700000b200641206a2106200741206a22072005470d000b0b200441206a2480808080000f0b000bc00102047f027e02402002417f6a20014f0d00024020022001460d00200020014103746a21042000200241037422056a21060340024020062d00002207200641786a2d00004f0d002007ad2108200635020421092005210202400340200020026a2201200141786a290200370200024020024108470d00200021020c020b200241786a21022007200141706a2d0000490d000b200020026a21020b200220094220862008843702000b200541086a2105200641086a22062004470d000b0b0f0b000bc70201077f23808080800041206b220424808080800002402002417f6a20014f0d00024020022001460d002000200141146c6a21052000200241146c22066a21070340024020072007416c6a410810f597808000417f4a0d00200441086a41106a2208200741106a280200360200200441086a41086a2209200741086a290200370300200420072902003703082006210102400340200020016a22022002416c6a220a290200370200200241106a200a41106a280200360200200241086a200a41086a290200370200024020014114470d00200021020c020b2001416c6a2101200441086a200241586a410810f5978080004100480d000b200020016a21020b20022004290308370200200241106a2008280200360200200241086a20092903003702000b200641146a2106200741146a22072005470d000b0b200441206a2480808080000f0b000bac0201087f02402002417f6a20014f0d00024020022001460d0020002001410c6c6a210420002002410c6c22056a210603400240200641046a2802002207200641786a280200200641086a28020022082006417c6a280200220220082002491b10f5978080002201200820026b20011b417f4a0d00200628020021092005210102400340200020016a2202200241746a220a290200370200200241086a200a41086a28020036020002402001410c470d00200021010c020b200141746a210120072002416c6a2802002008200241706a280200220a2008200a491b10f597808000220b2008200a6b200b1b4100480d000b200020016a21010b200120093602002002417c6a2008360200200241786a20073602000b2005410c6a21052006410c6a22062004470d000b0b0f0b000bfe0101077f23808080800041106b210402402002417f6a20014f0d00024020022001460d00200020014104746a21052000200241047422066a2107200441086a21080340024020072802002209200741706a2802004f0d0020082007410c6a280200360200200420072902043703002006210202400340200020026a2201200141706a220a290200370200200141086a200a41086a290200370200024020024110470d00200021020c020b200241706a21022009200141606a280200490d000b200020026a21020b20022009360200200220042903003702042002410c6a20082802003602000b200641106a2106200741106a22072005470d000b0b0f0b000bb50f010e7f23808080800041206b22052480808080000240024020014102490d00024002402003200141106a490d00410121062001410176210702400240200141074d0d00200041146a2000410810f59780800021082000413c41282000413c6a200041286a410810f59780800041004822091b6a210320004128413c20091b6a2109200920002008417f73411f7641146c6a220a2003200320002008411f7641146c6a2208410810f597808000410048220b1b2009200a410810f597808000410048220c1b220620082003200a200c1b200b1b220d410810f597808000210e200241106a20032008200b1b220341106a280200360200200241086a200341086a2902003702002002200329020037020020022006200d200e41004822081b22032902003702142002200d200620081b22082902003702282002411c6a200341086a290200370200200241246a200341106a280200360200200241306a200841086a290200370200200241386a200841106a280200360200200241cc006a200a2009200c1b220341106a280200360200200241c4006a200341086a2902003702002002200329020037023c2000200741146c220f6a220341146a2003410810f597808000210b2003413c41282003413c6a200341286a410810f597808000410048220a1b6a210920034128413c200a1b6a210a200a2003200b417f73411f7641146c6a2208200920092003200b411f7641146c6a220b410810f597808000410048220c1b200a2008410810f59780800041004822061b220d200b2009200820061b200c1b220e410810f59780800021102002200f6a220341106a2009200b200c1b220941106a280200360200200341086a200941086a290200370200200320092902003702002003200d200e2010410048220b1b22092902003702142003200e200d200b1b220b2902003702282003411c6a200941086a290200370200200341246a200941106a280200360200200341306a200b41086a290200370200200341386a200b41106a280200360200200341cc006a2008200a20061b220941106a280200360200200341c4006a200941086a2902003702002003200929020037023c410421060c010b20022000290200370200200241106a200041106a280200360200200241086a200041086a2902003702002002200741146c22096a2203200020096a2209290200370200200341086a200941086a290200370200200341106a200941106a2802003602000b200120076b210f200620074f0d01200641146c210b2006210803402002200841146c22096a2203200020096a2209290200370200200341106a200941106a220a280200360200200341086a200941086a220c290200370200024020032003416c6a410810f597808000417f4a0d00200541086a41106a220d200a280200360200200541086a41086a220e200c29020037030020052009290200370308200b210902400340200220096a22032003416c6a220a290200370200200341106a200a41106a280200360200200341086a200a41086a290200370200024020094114470d00200221030c020b2009416c6a2109200541086a200341586a410810f5978080004100480d000b200220096a21030b20032005290308370200200341106a200d280200360200200341086a200e2903003702000b200b41146a210b200841016a22082007470d000c020b0b000b2002200741146c22036a210c02402006200f4f0d00200020036a2110200641146c210b4114210d200c210e0340200c200641146c22096a2203201020096a2209290200370200200341106a200941106a220a280200360200200341086a200941086a2208290200370200024020032003416c6a410810f597808000417f4a0d00200541086a41106a2211200a280200360200200541086a41086a2212200829020037030020052009290200370308200d2108200e2109024003402009200b6a22032003416c6a220a290200370200200341106a200a41106a280200360200200341086a200a41086a2902003702000240200b2008470d00200c21030c020b200841146a21082009416c6a2109200541086a200341586a410810f5978080004100480d000b2009200b6a21030b20032005290308370200200341106a2011280200360200200341086a20122903003702000b200d416c6a210d200e41146a210e200641016a2206200f470d000b0b200c416c6a21092002200141146c416c6a22036a210a200020036a2103034020002002200c200c2002410810f597808000220b417f4a22061b2208290200370200200041106a200841106a280200360200200041086a200841086a2902003702002003200a2009200a2009410810f597808000220d417f4a1b2208290200370200200341106a200841106a280200360200200341086a200841086a2902003702002002200641146c6a2102200c200b411f7641146c6a210c2009200d411f75220841146c6a2109200a2008417f7341146c6a210a2003416c6a2103200041146a21002007417f6a22070d000b200941146a210302402001410171450d0020002002200c200220034922081b2209290200370200200041106a200941106a280200360200200041086a200941086a290200370200200c200220034f41146c6a210c2002200841146c6a21020b20022003470d01200c200a41146a470d010b200541206a2480808080000f0b109c81808000000baa0703087f017e047f024020014102490d000240024002402003200141106a490d00200141017621052001410f4b0d01410421062002200541047422076a2103200020076a21070240200141074d0d002000200210f68f8080002007200310f68f8080000c030b20022000290200370200200241086a200041086a29020037020020032007290200370200200341086a200741086a290200370200410121060c020b000b2000200220014104746a220310f68f808000200041c0006a200341c0006a10f68f8080004108210620034108200210fa8f8080002000200541047422076a220820034180016a220910f68f808000200841c0006a200341c0016a10f68f80800020094108200220076a10fa8f8080000b200120056b210a0240200620054f0d002006410474210b2006210c03402002200c41047422076a2203200020076a2207290200220d370200200341086a200741086a2902003702000240200da7220e200341706a280200200341046a2802002208200341746a280200220720082007491b10f5978080002209200820076b20091b417f4a0d002003290208210d200b210702400340200220076a2203200341706a2209290200370200200341086a200941086a290200370200024020074110470d00200221030c020b200741706a2107200e200341606a2802002008200341646a280200220320082003491b10f5978080002209200820036b20091b4100480d000b200220076a21030b2003200d370208200320083602042003200e3602000b200b41106a210b200c41016a220c2005470d000b0b02402006200a4f0d002000200541047422036a210f2006410474210e200220036a221021054110211103402010200641047422076a2203200f20076a2207290200220d370200200341086a200741086a2902003702000240200da7220b200341706a280200200341046a2802002207200341746a280200220820072008491b10f5978080002209200720086b20091b417f4a0d002003290208210d2005210820112109024003402008200e6a2203200341706a220c290200370200200341086a200c41086a2902003702000240200e2009470d00201021030c020b200841706a2108200941106a2109200b200341606a2802002007200341646a280200220320072003491b10f597808000220c200720036b200c1b4100480d000b2008200e6a21030b2003200d370208200320073602042003200b3602000b200541106a2105201141706a2111200641016a2206200a470d000b0b20022001200010fa8f8080000b0bd213030d7f017e037f23808080800041206b22052480808080000240024020014102490d00024002402003200141106a490d00410121062001410176210702400240200141074d0d002002200041ec0041c800200028026c20002802484922081b6a220920002000280224220a200028020022064941246c6a220b2009280200200b28020049220c1b2203290200370200200241086a200341086a290200370200200241106a200341106a290200370200200241186a200341186a290200370200200241206a200341206a2802003602002002200041c80041ec0020081b6a220d2000200a20064f41246c6a22082009200c1b200d280200200828020049220a1b2206200b20092008200a1b200c1b22092006280200200928020049220b1b2203290200370224200220092006200b1b2209290200370248200241c4006a200341206a2802003602002002413c6a200341186a290200370200200241346a200341106a2902003702002002412c6a200341086a290200370200200241d0006a200941086a290200370200200241d8006a200941106a290200370200200241e0006a200941186a290200370200200241e8006a200941206a2802003602002002418c016a2008200d200a1b220341206a28020036020020024184016a200341186a290200370200200241fc006a200341106a290200370200200241f4006a200341086a2902003702002002200329020037026c2000200741246c220e6a2203200328022422082003280200220c4941246c6a220b200341ec0041c800200328026c200328024849220d1b6a220920032008200c4f41246c6a2208200341c80041ec00200d1b6a220c280200200828020049220d1b2009280200200b28020049220a1b2206280200210f200c20082009200a1b200d1b221028020021112002200e6a220341206a2009200b200a1b220941206a280200360200200341186a200941186a290200370200200341106a200941106a290200370200200341086a200941086a290200370200200320092902003702002003201020062011200f49220b1b2209290200370224200341c4006a200941206a2802003602002003413c6a200941186a290200370200200341346a200941106a2902003702002003412c6a200941086a290200370200200341e8006a20062010200b1b220941206a280200360200200341e0006a200941186a290200370200200341d8006a200941106a290200370200200341d0006a200941086a290200370200200320092902003702482003418c016a2008200c200d1b220941206a28020036020020034184016a200941186a290200370200200341fc006a200941106a290200370200200341f4006a200941086a2902003702002003200929020037026c410421060c010b20022000290200370200200241206a200041206a280200360200200241186a200041186a290200370200200241106a200041106a290200370200200241086a200041086a2902003702002002200741246c22096a2203200020096a2209290200370200200341086a200941086a290200370200200341106a200941106a290200370200200341186a200941186a290200370200200341206a200941206a2802003602000b200120076b210f200620074f0d01200641246c210d2006210c03402002200c41246c22036a2209200020036a22032902002212370200200941206a200341206a280200360200200941186a200341186a290200370200200941106a200341106a290200370200200941086a200341086a29020037020002402012a7220b2009415c6a2802004f0d00200541186a220a2003411c6a290200370300200541106a2210200341146a290200370300200541086a220e2003410c6a29020037030020052003290204370300200d210802400340200220086a22032003415c6a2209290200370200200341206a200941206a280200360200200341186a200941186a290200370200200341106a200941106a290200370200200341086a200941086a290200370200024020084124470d00200221030c020b2008415c6a2108200b200341b87f6a280200490d000b200220086a21030b2003200b360200200320052903003702042003410c6a200e290300370200200341146a20102903003702002003411c6a200a2903003702000b200d41246a210d200c41016a220c2007470d000c020b0b000b2002200741246c22036a210d02402006200f4f0d00200020036a2111200641246c210c41242110200d210e0340200d200641246c22036a2209201120036a22032902002212370200200941206a200341206a280200360200200941186a200341186a290200370200200941106a200341106a290200370200200941086a200341086a29020037020002402012a7220a2009415c6a2802004f0d00200541186a22132003411c6a290200370300200541106a2214200341146a290200370300200541086a22152003410c6a290200370300200520032902043703002010210b200e2108024003402008200c6a22032003415c6a2209290200370200200341206a200941206a280200360200200341186a200941186a290200370200200341106a200941106a290200370200200341086a200941086a2902003702000240200c200b470d00200d21030c020b200b41246a210b2008415c6a2108200a200341b87f6a280200490d000b2008200c6a21030b2003200a360200200320052903003702042003410c6a2015290300370200200341146a20142903003702002003411c6a20132903003702000b2010415c6a2110200e41246a210e200641016a2206200f470d000b0b200d415c6a21082002200141246c415c6a22036a210b200020036a210303402000200d2002200d280200220c2002280200220a4922061b2209290200370200200041086a200941086a290200370200200041106a200941106a290200370200200041186a200941186a290200370200200041206a200941206a280200360200200341206a2008200b200b28020022102008280200220e49220f1b220941206a280200360200200341186a200941186a290200370200200341106a200941106a290200370200200341086a200941086a290200370200200320092902003702002003415c6a2103200041246a21002008415c4100200f1b6a2108200b415c41002010200e4f1b6a210b2002200c200a4f41246c6a2102200d200641246c6a210d2007417f6a22070d000b200841246a210302402001410171450d0020002002200d200220034922081b2209290200370200200041206a200941206a280200360200200041186a200941186a290200370200200041106a200941106a290200370200200041086a200941086a290200370200200d200220034f41246c6a210d2002200841246c6a21020b20022003470d01200d200b41246a470d010b200541206a2480808080000f0b109c81808000000ba907010e7f024020014102490d000240024002402003200141106a490d00200141017621052001410f4b0d0120022005410c6c22066a2103200020066a21060240200141074d0d002000200210f78f8080002006200310f78f808000410421070c030b20022000290200370200200241086a200041086a28020036020020032006290200370200200341086a200641086a280200360200410121070c020b000b200020022001410c6c6a220310f78f808000200041306a200341306a10f78f8080004108210720034108200210fb8f80800020002005410c6c22066a2208200341e0006a220910f78f808000200841306a20034190016a10f78f80800020094108200220066a10fb8f8080000b200120056b210a0240200720054f0d002007410c6c210b2007210c03402002200c410c6c22066a2203200020066a2206290200370200200341086a200641086a28020022083602000240200341046a280200220d200341786a28020020082003417c6a280200220620082006491b10f5978080002209200820066b20091b417f4a0d002003280200210e200b210602400340200220066a2203200341746a2209290200370200200341086a200941086a28020036020002402006410c470d00200221060c020b200641746a2106200d2003416c6a2802002008200341706a280200220920082009491b10f597808000220f200820096b200f1b4100480d000b200220066a21060b2006200e3602002003417c6a2008360200200341786a200d3602000b200b410c6a210b200c41016a220c2005470d000b0b02402007200a4f0d0020002005410c6c22036a21102007410c6c210d200220036a22112105410c210e034020112007410c6c22066a2203201020066a2206290200370200200341086a200641086a28020022063602000240200341046a280200220b200341786a28020020062003417c6a280200220820062008491b10f5978080002209200620086b20091b417f4a0d002003280200211220052108200e2109024003402008200d6a2203200341746a220f290200370200200341086a200f41086a2802003602000240200d2009470d00201121080c020b200841746a21082009410c6a2109200b2003416c6a2802002006200341706a280200220f2006200f491b10f597808000220c2006200f6b200c1b4100480d000b2008200d6a21080b200820123602002003417c6a2006360200200341786a200b3602000b2005410c6a2105200e41746a210e200741016a2207200a470d000b0b20022001200010fb8f8080000b0bc50c020e7f017e23808080800041106b22052480808080000240024020014102490d000240024002402003200141106a490d00200141017621062001410f4b0d010240200141074d0d00410421072002200041304120200028023020002802204922081b6a22032000200028021022092000280200220a494104746a220b2003280200200b28020049220c1b220d290200370200200241086a200d41086a290200370200200220004120413020081b6a220d20002009200a4f4104746a22082003200c1b200d28020020082802004922091b220a200b2003200820091b200c1b2203200a280200200328020049220b1b220c290200370210200241186a200c41086a290200370200200241286a2003200a200b1b220341086a29020037020020022003290200370220200241386a2008200d20091b220341086a2902003702002002200329020037023020002006410474220e6a2203412041302003280230200328022049220b1b6a220c20032003280210220d200328020022094f4104746a2208200341304120200b1b6a220b200b2802002003200d2009494104746a220d2802004922091b200c280200200828020049220a1b220f2802002110200d200b2008200a1b20091b221128020021122002200e6a220341086a200b200d20091b220b41086a2902003702002003200b2902003702002003200f20112010201249220b1b220d290200370210200341186a200d41086a290200370200200341286a2011200f200b1b220b41086a2902003702002003200b290200370220200341386a2008200c200a1b220841086a290200370200200320082902003702300c030b20022000290200370200200241086a200041086a2902003702002002200641047422036a2208200020036a2203290200370200200841086a200341086a290200370200410121070c020b000b20002002200220014104746a220310f88f8080002000200641047422086a200220086a20034180016a10f88f808000410821070b200120066b210e0240200720064f0d00200741047421092007210d03402002200d41047422086a2203200020086a22082902002213370200200341086a200841086a29020037020002402013a7220c200341706a2802004f0d00200541086a220a2008410c6a280200360200200520082902043703002009210302400340200220036a2208200841706a220b290200370200200841086a200b41086a290200370200024020034110470d00200221030c020b200341706a2103200c200841606a280200490d000b200220036a21030b2003200c360200200320052903003702042003410c6a200a2802003602000b200941106a2109200d41016a220d2006470d000b0b2002200641047422036a210902402007200e4f0d00200020036a21102007410474210c4110210f2009211103402009200741047422086a2203201020086a22082902002213370200200341086a200841086a29020037020002402013a7220a200341706a2802004f0d00200541086a22122008410c6a28020036020020052008290204370300200f210b20112108024003402008200c6a2203200341706a220d290200370200200341086a200d41086a2902003702000240200c200b470d00200921030c020b200b41106a210b200841706a2108200a200341606a280200490d000b2008200c6a21030b2003200a360200200320052903003702042003410c6a20122802003602000b200f41706a210f201141106a2111200741016a2207200e470d000b0b200941706a21032002200141047441706a220b6a21082000200b6a210b03402000200920022009280200220c2002280200220d49220a1b2207290200370200200041086a200741086a290200370200200b20032008200828020022072003280200220f4922111b220e290200370200200b41086a200e41086a290200370200200b41706a210b200041106a210020034170410020111b6a21032008417041002007200f4f1b6a21082002200c200d4f4104746a21022009200a4104746a21092006417f6a22060d000b200341106a210302402001410171450d002000200220092002200349220b1b220c290200370200200041086a200c41086a2902003702002009200220034f4104746a21092002200b4104746a21020b20022003470d012009200841106a470d010b200541106a2480808080000f0b109c81808000000bdf0b020c7f017e0240024020014102490d000240024002402003200141106a490d00200141017621052001410f4b0d010240200141074d0d002002200041244118200028022420002802184922061b6a22032000200028020c22072000280200220849410c6c6a22092003280200200928020049220a1b220b290200370200200241086a200b41086a280200360200200220004118412420061b6a220b2000200720084f410c6c6a22062003200a1b200b28020020062802004922071b220820092003200620071b200a1b2203200828020020032802004922091b220a29020037020c200241146a200a41086a280200360200200241206a2003200820091b220341086a280200360200200220032902003702182002412c6a2006200b20071b220341086a2802003602002002200329020037022420002005410c6c220c6a220341184124200328022420032802184922091b6a220a2003200328020c220b200328020022074f410c6c6a220620034124411820091b6a220920092802002003200b200749410c6c6a220b2802004922071b200a28020020062802004922081b220d280200210e200b2009200620081b20071b220f28020021102002200c6a220341086a2009200b20071b220941086a280200360200200320092902003702002003200d200f200e20104922091b220b29020037020c200341146a200b41086a280200360200200341206a200f200d20091b220941086a280200360200200320092902003702182003412c6a2006200a20081b220641086a280200360200200320062902003702244104210d0c030b20022000290200370200200241086a200041086a28020036020020022005410c6c22036a2206200020036a2203290200370200200641086a200341086a2802003602004101210d0c020b000b2000200220022001410c6c6a220310f98f80800020002005410c6c22066a200220066a200341e0006a10f98f8080004108210d0b200120056b210e0240200d20054f0d00200d410c6c2107200d210b03402002200b410c6c22066a2203200020066a22062902002211370200200341086a200641086a28020036020002402011a7220a200341746a2802004f0d00200329020421112007210302400340200220036a2206200641746a2209290200370200200641086a200941086a28020036020002402003410c470d00200221030c020b200341746a2103200a200641686a280200490d000b200220036a21030b200320113702042003200a3602000b2007410c6a2107200b41016a220b2005470d000b0b20022005410c6c22036a21070240200d200e4f0d00200020036a2110200d410c6c210a410c210f2007210c03402007200d410c6c22066a2203201020066a22062902002211370200200341086a200641086a28020036020002402011a72208200341746a2802004f0d0020032902042111200f2109200c2106024003402006200a6a2203200341746a220b290200370200200341086a200b41086a2802003602000240200a2009470d00200721030c020b2009410c6a2109200641746a21062008200341686a280200490d000b2006200a6a21030b20032011370204200320083602000b200f41746a210f200c410c6a210c200d41016a220d200e470d000b0b200741746a210320022001410c6c41746a22096a2106200020096a210903402000200720022007280200220a2002280200220b4922081b220d290200370200200041086a200d41086a2802003602002009200320062006280200220d2003280200220f49220c1b220e290200370200200941086a200e41086a280200360200200941746a21092000410c6a2100200341744100200c1b6a2103200641744100200d200f4f1b6a21062002200a200b4f410c6c6a210220072008410c6c6a21072005417f6a22050d000b2003410c6a210302402001410171450d00200020022007200220034922091b220a290200370200200041086a200a41086a2802003602002007200220034f410c6c6a210720022009410c6c6a21020b20022003470d0120072006410c6a470d010b0f0b109c81808000000b831201107f23808080800041206b22052480808080000240024020014102490d00024002402003200141106a490d00410121062001410176210702400240200141074d0d00200041206a2000412010f5978080002108200041e00041c000200041e0006a200041c0006a412010f59780800041004822091b6a2103200041c00041e00020091b6a2109200920002008417f73411a764120716a220a2003200320002008411a764120716a2208412010f597808000410048220b1b2009200a412010f597808000410048220c1b220620082003200a200c1b200b1b220d412010f597808000210e200241186a20032008200b1b220341186a290000370000200241106a200341106a290000370000200241086a200341086a2900003700002002200329000037000020022006200d200e41004822081b22032900003700202002200d200620081b2208290000370040200241286a200341086a290000370000200241306a200341106a290000370000200241386a200341186a290000370000200241c8006a200841086a290000370000200241d0006a200841106a290000370000200241d8006a200841186a290000370000200241f8006a200a2009200c1b220341186a290000370000200241f0006a200341106a290000370000200241e8006a200341086a2900003700002002200329000037006020002007410574220f6a220341206a2003412010f597808000210b200341e00041c000200341e0006a200341c0006a412010f597808000410048220a1b6a2109200341c00041e000200a1b6a210a200a2003200b417f73411a764120716a2208200920092003200b411a764120716a220b412010f597808000410048220c1b200a2008412010f59780800041004822061b220d200b2009200820061b200c1b220e412010f59780800021102002200f6a220341186a2009200b200c1b220941186a290000370000200341106a200941106a290000370000200341086a200941086a290000370000200320092900003700002003200d200e2010410048220b1b22092900003700202003200e200d200b1b220b290000370040200341286a200941086a290000370000200341306a200941106a290000370000200341386a200941186a290000370000200341c8006a200b41086a290000370000200341d0006a200b41106a290000370000200341d8006a200b41186a290000370000200341f8006a2008200a20061b220941186a290000370000200341f0006a200941106a290000370000200341e8006a200941086a29000037000020032009290000370060410421060c010b20022000290000370000200241186a200041186a290000370000200241106a200041106a290000370000200241086a200041086a2900003700002002200741057422096a2203200020096a2209290000370000200341086a200941086a290000370000200341106a200941106a290000370000200341186a200941186a2900003700000b200120076b2110200620074f0d012006410574210b2006210803402002200841057422096a2203200020096a2209290000370000200341186a200941186a220a290000370000200341106a200941106a220c290000370000200341086a200941086a220d29000037000002402003200341606a412010f597808000417f4a0d00200541186a220e200a290000370300200541106a220f200c290000370300200541086a220c200d29000037030020052009290000370300200b210902400340200220096a2203200341606a220a290000370000200341186a200a41186a290000370000200341106a200a41106a290000370000200341086a200a41086a290000370000024020094120470d00200221030c020b200941606a21092005200341406a412010f5978080004100480d000b200220096a21030b20032005290300370000200341186a200e290300370000200341106a200f290300370000200341086a200c2903003700000b200b41206a210b200841016a22082007470d000c020b0b000b2002200741057422036a210c0240200620104f0d00200020036a21112006410574210b4120210d200c210e0340200c200641057422096a2203201120096a2209290000370000200341186a200941186a220a290000370000200341106a200941106a2208290000370000200341086a200941086a220f29000037000002402003200341606a412010f597808000417f4a0d00200541186a2212200a290000370300200541106a22132008290000370300200541086a2214200f29000037030020052009290000370300200d2108200e210a02400340200a200b6a2203200341606a2209290000370000200341186a200941186a290000370000200341106a200941106a290000370000200341086a200941086a2900003700000240200b2008470d00200c21030c020b200841206a2108200a41606a210a2005200341406a412010f5978080004100480d000b200a200b6a21030b20032005290300370000200341186a2012290300370000200341106a2013290300370000200341086a20142903003700000b200d41606a210d200e41206a210e200641016a22062010470d000b0b200c41606a21092002200141057441606a22036a210a200020036a2103034020002002200c200c2002412010f597808000220b417f4a22061b2208290000370000200041186a200841186a290000370000200041106a200841106a290000370000200041086a200841086a2900003700002003200a2009200a2009412010f597808000220d417f4a1b2208290000370000200341186a200841186a290000370000200341106a200841106a290000370000200341086a200841086a290000370000200220064105746a2102200c200b411a764120716a210c2009200d411f7522084105746a2109200a2008417f734105746a210a200341606a2103200041206a21002007417f6a22070d000b200941206a210302402001410171450d0020002002200c200220034922081b2209290000370000200041186a200941186a290000370000200041106a200941106a290000370000200041086a200941086a290000370000200c200220034f4105746a210c200220084105746a21020b20022003470d01200c200a41206a470d010b200541206a2480808080000f0b109c81808000000be00c01097f23808080800041e0016b2208248080808000200841c9006a200241186a290000370000200841c1006a200241106a290000370000200841396a200241086a2900003700002008200236025c200841a8bac88000360258200820013602542008410036022c200842043702242008420037021c20084280808080c000370214200820073602702008200636026c2008410036026820084100360260200841013a003020082002290000370031200841013a007420082005360210200841003602082008200436020c20082004410047360204200841b0016a41286a200341286a280200360200200841b0016a41206a200341206a290200370300200841b0016a41186a200341186a290200370300200841b0016a41106a200341106a290200370300200841b0016a41086a200341086a290200370300200820032902003703b001200841f8006a200841b0016a41c8bfc8800010c98f8080002008280280012103200828027c21092008200841df016a3602b001200841046a41106a210a024002400240024020034102490d00024020034115490d0020092003200841b0016a109a898080002008280278210b0c020b2009200310fc8f8080002008280278210b0c010b2008280278210b2003450d010b200920034104746a210c200841a8016a210d200841b0016a41086a2104200841b0016a410172210620084184016a41086a210120084184016a41046a210e20084184016a4101722105200921030240034020032802002207450d02200341046a280200210f02400240024002400240200341086a2802002210450d00200841b0016a200841046a2007200f20102003410c6a28020010978a80800020082d00b00122074104460d01200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000c030b200841b0016a200841046a2007200f10988a80800020082d00b00122074104470d010b20082802b4012103200041013a0000200020033602040240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10958a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b200828026022030d0241002103410021040c040b200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000b200820082802b401220f36028801200820073a008401024020074103460d0002400240024020070e020103000b20082802a80122072007280200220f417f6a360200200d2107200f4101460d010c020b200f200f2802002210417f6a360200200e210720104101470d010b200710f0978080000b200341106a2203200c470d010c030b0b2008200828026422043602cc01200820033602c801200841003602c401200820043602bc01200820033602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c9898080000c010b0240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10958a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b4100210341002104024020082802602201450d002008200828026422033602cc01200820013602c801200841003602c401200820033602bc01200820013602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c989808000200041003a0000200041196a200241186a290000370000200041116a200241106a290000370000200041096a200241086a290000370000200020022900003700010b200841e0016a2480808080000be00c01097f23808080800041e0016b2208248080808000200841c9006a200241186a290000370000200841c1006a200241106a290000370000200841396a200241086a2900003700002008200236025c200841a8bac88000360258200820013602542008410036022c200842043702242008420037021c20084280808080c000370214200820073602702008200636026c2008410036026820084100360260200841013a003020082002290000370031200841013a007420082005360210200841003602082008200436020c20082004410047360204200841b0016a41286a200341286a280200360200200841b0016a41206a200341206a290200370300200841b0016a41186a200341186a290200370300200841b0016a41106a200341106a290200370300200841b0016a41086a200341086a290200370300200820032902003703b001200841f8006a200841b0016a41c8bfc8800010c98f8080002008280280012103200828027c21092008200841df016a3602b001200841046a41106a210a024002400240024020034102490d00024020034115490d0020092003200841b0016a109e898080002008280278210b0c020b2009200310fc8f8080002008280278210b0c010b2008280278210b2003450d010b200920034104746a210c200841a8016a210d200841b0016a41086a2104200841b0016a410172210620084184016a41086a210120084184016a41046a210e20084184016a4101722105200921030240034020032802002207450d02200341046a280200210f02400240024002400240200341086a2802002210450d00200841b0016a200841046a2007200f20102003410c6a28020010968a80800020082d00b00122074104460d01200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000c030b200841b0016a200841046a2007200f10998a80800020082d00b00122074104470d010b20082802b4012103200041013a0000200020033602040240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10948a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b200828026022030d0241002103410021040c040b200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000b200820082802b401220f36028801200820073a008401024020074103460d0002400240024020070e020103000b20082802a80122072007280200220f417f6a360200200d2107200f4101460d010c020b200f200f2802002210417f6a360200200e210720104101470d010b200710f0978080000b200341106a2203200c470d010c030b0b2008200828026422043602cc01200820033602c801200841003602c401200820043602bc01200820033602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c9898080000c010b0240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10948a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b4100210341002104024020082802602201450d002008200828026422033602cc01200820013602c801200841003602c401200820033602bc01200820013602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c989808000200041003a0000200041196a200241186a290000370000200041116a200241106a290000370000200041096a200241086a290000370000200020022900003700010b200841e0016a2480808080000be00c01097f23808080800041e0016b2208248080808000200841c9006a200241186a290000370000200841c1006a200241106a290000370000200841396a200241086a2900003700002008200236025c200841d0bac88000360258200820013602542008410036022c200842043702242008420037021c20084280808080c000370214200820073602702008200636026c2008410036026820084100360260200841013a003020082002290000370031200841013a007420082005360210200841003602082008200436020c20082004410047360204200841b0016a41286a200341286a280200360200200841b0016a41206a200341206a290200370300200841b0016a41186a200341186a290200370300200841b0016a41106a200341106a290200370300200841b0016a41086a200341086a290200370300200820032902003703b001200841f8006a200841b0016a41c8bfc8800010c98f8080002008280280012103200828027c21092008200841df016a3602b001200841046a41106a210a024002400240024020034102490d00024020034115490d0020092003200841b0016a109d898080002008280278210b0c020b2009200310fc8f8080002008280278210b0c010b2008280278210b2003450d010b200920034104746a210c200841a8016a210d200841b0016a41086a2104200841b0016a410172210620084184016a41086a210120084184016a41046a210e20084184016a4101722105200921030240034020032802002207450d02200341046a280200210f02400240024002400240200341086a2802002210450d00200841b0016a200841046a2007200f20102003410c6a28020010978a80800020082d00b00122074104460d01200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000c030b200841b0016a200841046a2007200f10988a80800020082d00b00122074104470d010b20082802b4012103200041013a0000200020033602040240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10958a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b200828026022030d0241002103410021040c040b200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000b200820082802b401220f36028801200820073a008401024020074103460d0002400240024020070e020103000b20082802a80122072007280200220f417f6a360200200d2107200f4101460d010c020b200f200f2802002210417f6a360200200e210720104101470d010b200710f0978080000b200341106a2203200c470d010c030b0b2008200828026422043602cc01200820033602c801200841003602c401200820043602bc01200820033602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c9898080000c010b0240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10958a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b4100210341002104024020082802602201450d002008200828026422033602cc01200820013602c801200841003602c401200820033602bc01200820013602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c989808000200041003a0000200041196a200241186a290000370000200041116a200241106a290000370000200041096a200241086a290000370000200020022900003700010b200841e0016a2480808080000be00c01097f23808080800041e0016b2208248080808000200841c9006a200241186a290000370000200841c1006a200241106a290000370000200841396a200241086a2900003700002008200236025c200841d0bac88000360258200820013602542008410036022c200842043702242008420037021c20084280808080c000370214200820073602702008200636026c2008410036026820084100360260200841013a003020082002290000370031200841013a007420082005360210200841003602082008200436020c20082004410047360204200841b0016a41286a200341286a280200360200200841b0016a41206a200341206a290200370300200841b0016a41186a200341186a290200370300200841b0016a41106a200341106a290200370300200841b0016a41086a200341086a290200370300200820032902003703b001200841f8006a200841b0016a41c8bfc8800010c98f8080002008280280012103200828027c21092008200841df016a3602b001200841046a41106a210a024002400240024020034102490d00024020034115490d0020092003200841b0016a1097898080002008280278210b0c020b2009200310fc8f8080002008280278210b0c010b2008280278210b2003450d010b200920034104746a210c200841a8016a210d200841b0016a41086a2104200841b0016a410172210620084184016a41086a210120084184016a41046a210e20084184016a4101722105200921030240034020032802002207450d02200341046a280200210f02400240024002400240200341086a2802002210450d00200841b0016a200841046a2007200f20102003410c6a28020010968a80800020082d00b00122074104460d01200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000c030b200841b0016a200841046a2007200f10998a80800020082d00b00122074104470d010b20082802b4012103200041013a0000200020033602040240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10948a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b200828026022030d0241002103410021040c040b200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000b200820082802b401220f36028801200820073a008401024020074103460d0002400240024020070e020103000b20082802a80122072007280200220f417f6a360200200d2107200f4101460d010c020b200f200f2802002210417f6a360200200e210720104101470d010b200710f0978080000b200341106a2203200c470d010c030b0b2008200828026422043602cc01200820033602c801200841003602c401200820043602bc01200820033602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c9898080000c010b0240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10948a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b4100210341002104024020082802602201450d002008200828026422033602cc01200820013602c801200841003602c401200820033602bc01200820013602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c989808000200041003a0000200041196a200241186a290000370000200041116a200241106a290000370000200041096a200241086a290000370000200020022900003700010b200841e0016a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a41b0c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a109889808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010978a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910988a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a4188c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a10a189808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010978a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910988a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a41b0c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a109f89808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010968a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910998a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a41b0c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a109c89808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010968a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910998a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a4188c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a109b89808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010978a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910988a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a4188c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a10a089808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010968a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910998a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a4188c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a109989808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010968a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910998a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a41b0c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a10a289808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010978a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910988a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bf30502017f017e2380808080004190016b220b248080808000200b2002360210200b200136020c200b2003360208200b2004360248200b41d8c0c88000360244200b200836023c200b200736023841002102200b4100360234200b2007410047360230200b200a36022c200b2009360228200b4100360224200b2009410047360220200b200b41086a3602404100210102402009450d00200b41286a2101200b417f3602240b02402007450d00200b41386a2102200b417f3602340b410021070240024020010d00410021030c010b20012802042109200128020021030b0240024020020d000c010b20022802042108200228020021070b200b41cc006a41106a200441086a290000370200200b41cc006a41186a200441106a290000370200200b41ec006a200441186a290000370200200b41d8c0c88000360250200b200836028001200b200736027c200b2009360278200b2003360274200b2004290000370254200b200b41086a36024c200b410036028c01200b200636028801200b200536028401200b41146a200b41cc006a20052006200b4184016a10b08d80800002402002450d00200b200b28023441016a3602340b02402001450d00200b200b28022441016a3602240b0240024002400240200b28021422044180808080786a0e020200010b2000200b290214370200200041086a200b41146a41086a2802003602000c020b0240024002400240200b290218220c4200590d004100210b0c010b200c422088a72102200b28021821070240200c4280808080105a0d0041012101410021090c030b41002d008083d480001a200241002802f482d480001182808080000022010d014101210b0b200b200241f0c1c8800010b980808000000b2001417e6a41003b0000200221090b2001200ca7200210f497808000210202402004450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200c4280808080f0ffffffff00832002ad84210c200921040b2000200c370204200020043602000b200b4190016a2480808080000bf30502017f017e2380808080004190016b220b248080808000200b2002360210200b200136020c200b2003360208200b2004360248200b41ecc0c88000360244200b200836023c200b200736023841002102200b4100360234200b2007410047360230200b200a36022c200b2009360228200b4100360224200b2009410047360220200b200b41086a3602404100210102402009450d00200b41286a2101200b417f3602240b02402007450d00200b41386a2102200b417f3602340b410021070240024020010d00410021030c010b20012802042109200128020021030b0240024020020d000c010b20022802042108200228020021070b200b41cc006a41106a200441086a290000370200200b41cc006a41186a200441106a290000370200200b41ec006a200441186a290000370200200b41ecc0c88000360250200b200836028001200b200736027c200b2009360278200b2003360274200b2004290000370254200b200b41086a36024c200b410036028c01200b200636028801200b200536028401200b41146a200b41cc006a20052006200b4184016a10b08d80800002402002450d00200b200b28023441016a3602340b02402001450d00200b200b28022441016a3602240b0240024002400240200b28021422044180808080786a0e020200010b2000200b290214370200200041086a200b41146a41086a2802003602000c020b0240024002400240200b290218220c4200590d004100210b0c010b200c422088a72102200b28021821070240200c4280808080105a0d0041012101410021090c030b41002d008083d480001a200241002802f482d480001182808080000022010d014101210b0b200b200241f0c1c8800010b980808000000b2001417e6a41003b0000200221090b2001200ca7200210f497808000210202402004450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200c4280808080f0ffffffff00832002ad84210c200921040b2000200c370204200020043602000b200b4190016a2480808080000bc80301067f23808080800041206b22042480808080004100210502400240024020032802042206200128020822076a22084100480d002003280200210520012802042109024020080d00410121030c030b41002d008083d480001a200841002802f482d480001182808080000022030d01410121050b2005200841e0cccd800010b980808000000b2003417e6a41003b000020034100200810fa978080001a0b02400240200720084b0d0020032009200710f497808000220320076a2005200610f4978080001a02400240024020022001280200220141246a412010f597808000450d00200441146a20012002200441086a109d888080002004280214418180808078470d0120004180808080783602000c020b41002d008083d480001a410141002802f482d48000118280808000002201450d03200141003a00002000410136020820002001360204200041013602002001417e6a41003b00000c010b20002004290214370200200041086a200441146a41086a2802003602000b02402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000f0b2007200841f0cccd8000109181808000000b4101410110ab80808000000bc80301067f23808080800041206b22042480808080004100210502400240024020032802042206200128020822076a22084100480d002003280200210520012802042109024020080d00410121030c030b41002d008083d480001a200841002802f482d480001182808080000022030d01410121050b2005200841e0cccd800010b980808000000b2003417e6a41003b000020034100200810fa978080001a0b02400240200720084b0d0020032009200710f497808000220320076a2005200610f4978080001a02400240024020022001280200220141246a412010f597808000450d00200441146a20012002200441086a109e888080002004280214418180808078470d0120004180808080783602000c020b41002d008083d480001a410141002802f482d48000118280808000002201450d03200141003a00002000410136020820002001360204200041013602002001417e6a41003b00000c010b20002004290214370200200041086a200441146a41086a2802003602000b02402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000f0b2007200841f0cccd8000109181808000000b4101410110ab80808000000bc20201077f23808080800041106b22042480808080004100210502400240024020032802042206200128020c22076a22084100480d00200328020021092001280208210a024020080d00410121050c030b41002d008083d480001a200841002802f482d480001182808080000022050d01410121050b2005200841e0cccd800010b980808000000b2005417e6a41003b000020054100200810fa978080001a0b0240200720084b0d002005200a200710f497808000220520076a2009200610f4978080001a2001280200210720012802042101200420032f01083b010c2004200836020820042005360204200020072002200441046a200128020c1183808080000002402008450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200441106a2480808080000f0b2007200841f0cccd8000109181808000000bc40201077f23808080800041106b22032480808080004100210402400240024020022802042205200028020c22066a22074100480d002002280200210820002802082109024020070d00410121040c030b41002d008083d480001a200741002802f482d480001182808080000022040d01410121040b2004200741e0cccd800010b980808000000b2004417e6a41003b000020044100200710fa978080001a0b0240200620074b0d0020042009200610f497808000220420066a2008200510f4978080001a2000280200210620002802042100200320022f01083b010c200320073602082003200436020420062001200341046a200028021011808080800000210002402007450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341106a24808080800020000f0b2006200741f0cccd8000109181808000000bde0301067f23808080800041206b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210420002802042108024020070d00410121020c030b41002d008083d480001a200741002802f482d480001182808080000022020d01410121040b2004200741e0cccd800010b980808000000b2002417e6a41003b000020024100200710fa978080001a0b02400240200620074b0d0020022008200610f497808000220220066a2004200510f4978080001a0240024002400240024020012000280200220041246a412010f597808000450d00200341146a20002001200341086a109d8880800020032802142200418180808078470d01410021000c040b4100210641002d008083d480001a410141002802f482d48000118280808000002200450d05200041003a00002000417e6a41003b00000c010b02402000418080808078470d00410021000c030b2000450d0120032802182200417e6a2f000021060b200020066b41002802ec82d48000118180808000000b410121000b02402007450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200341206a24808080800020000f0b2006200741f0cccd8000109181808000000b4101410110ab80808000000bde0301067f23808080800041206b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210420002802042108024020070d00410121020c030b41002d008083d480001a200741002802f482d480001182808080000022020d01410121040b2004200741e0cccd800010b980808000000b2002417e6a41003b000020024100200710fa978080001a0b02400240200620074b0d0020022008200610f497808000220220066a2004200510f4978080001a0240024002400240024020012000280200220041246a412010f597808000450d00200341146a20002001200341086a109e8880800020032802142200418180808078470d01410021000c040b4100210641002d008083d480001a410141002802f482d48000118280808000002200450d05200041003a00002000417e6a41003b00000c010b02402000418080808078470d00410021000c030b2000450d0120032802182200417e6a2f000021060b200020066b41002802ec82d48000118180808000000b410121000b02402007450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200341206a24808080800020000f0b2006200741f0cccd8000109181808000000b4101410110ab80808000000bbe0301077f23808080800041306b22042480808080004100210502400240024020032802042206200128020822076a22084100480d00200328020021092001280204210a024020080d00410121050c030b41002d008083d480001a200841002802f482d480001182808080000022050d01410121050b2005200841e0cccd800010b980808000000b2005417e6a41003b000020054100200810fa978080001a0b0240200720084b0d002005200a200710f497808000220520076a2009200610f4978080001a200420083602102004200536020c200420032f01083b0114200441186a2001280200220128020420022004410c6a109688808000024002402004280218418080808078460d0020002004290218370200200041086a200441186a41086a2802003602000c010b200441246a200128020020022004410c6a109d8880800002402004280224418180808078470d0020004180808080783602000c010b20002004290224370200200041086a200441246a41086a2802003602000b02402008450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200441306a2480808080000f0b2007200841f0cccd8000109181808000000bbe0301077f23808080800041306b22042480808080004100210502400240024020032802042206200128020822076a22084100480d00200328020021092001280204210a024020080d00410121050c030b41002d008083d480001a200841002802f482d480001182808080000022050d01410121050b2005200841e0cccd800010b980808000000b2005417e6a41003b000020054100200810fa978080001a0b0240200720084b0d002005200a200710f497808000220520076a2009200610f4978080001a200420083602102004200536020c200420032f01083b0114200441186a2001280200220128020420022004410c6a109688808000024002402004280218418080808078460d0020002004290218370200200041086a200441186a41086a2802003602000c010b200441246a200128020020022004410c6a109e8880800002402004280224418180808078470d0020004180808080783602000c010b20002004290224370200200041086a200441246a41086a2802003602000b02402008450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200441306a2480808080000f0b2007200841f0cccd8000109181808000000bba0201077f23808080800041106b22052480808080004100210602400240024020022802042207200128020822086a22094100480d002002280200210a2001280204210b024020090d00410121060c030b41002d008083d480001a200941002802f482d480001182808080000022060d01410121060b2006200941e0cccd800010b980808000000b2006417e6a41003b000020064100200910fa978080001a0b0240200820094b0d002006200b200810f497808000220620086a200a200710f4978080001a20012802002101200520022f01083b010c200520093602082005200636020420002001280204200541046a2003200410988880800002402009450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200541106a2480808080000f0b2008200941f0cccd8000109181808000000bdc0302077f017e23808080800041e0006b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210820002802042109024020070d00410121040c030b41002d008083d480001a200741002802f482d480001182808080000022040d01410121040b2004200741e0cccd800010b980808000000b2004417e6a41003b000020044100200710fa978080001a0b0240200620074b0d0020042009200610f497808000220420066a2008200510f4978080001a20002802002100200320022f01083b01102003200736020c20032004360208024020012000280204220041206a412010f597808000450d00200341146a2001200341086a109588808000200341206a2000200341146a10a288808000024020032802204101470d002003290328210a200341c8006a200341386a280200360200200320032903303703402003428080808070370254200342808080801037024c200328023c2200200a200341c0006a200041106a109a888080000c010b2003280230417c6a22002000280200417f6a3602000b02402007450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341e0006a2480808080000f0b2006200741f0cccd8000109181808000000bb80201077f23808080800041106b22042480808080004100210502400240024020022802042206200028020822076a22084100480d00200228020021092000280204210a024020080d00410121050c030b41002d008083d480001a200841002802f482d480001182808080000022050d01410121050b2005200841e0cccd800010b980808000000b2005417e6a41003b000020054100200810fa978080001a0b0240200720084b0d002005200a200710f497808000220520076a2009200610f4978080001a20002802002100200420022f01083b010c200420083602082004200536020420002802042001200441046a200310998880800002402008450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200441106a2480808080000f0b2007200841f0cccd8000109181808000000bc70301077f23808080800041306b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210820002802042109024020070d00410121040c030b41002d008083d480001a200741002802f482d480001182808080000022040d01410121040b2004200741e0cccd800010b980808000000b2004417e6a41003b000020044100200710fa978080001a0b0240200620074b0d0020042009200610f497808000220420066a2008200510f4978080001a200320073602102003200436020c200320022f01083b0114200341186a2000280200220228020420012003410c6a10968880800002400240024020032802182200418080808078460d00200328021c21060c010b200341246a200228020020012003410c6a109e88808000024020032802242200418180808078470d00410021020c020b410021022000418080808078460d01200328022821060b410121022000450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b02402007450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341306a24808080800020020f0b2006200741f0cccd8000109181808000000bc70301077f23808080800041306b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210820002802042109024020070d00410121040c030b41002d008083d480001a200741002802f482d480001182808080000022040d01410121040b2004200741e0cccd800010b980808000000b2004417e6a41003b000020044100200710fa978080001a0b0240200620074b0d0020042009200610f497808000220420066a2008200510f4978080001a200320073602102003200436020c200320022f01083b0114200341186a2000280200220228020420012003410c6a10968880800002400240024020032802182200418080808078460d00200328021c21060c010b200341246a200228020020012003410c6a109d88808000024020032802242200418180808078470d00410021020c020b410021022000418080808078460d01200328022821060b410121022000450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b02402007450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341306a24808080800020020f0b2006200741f0cccd8000109181808000000b1400200041b0c0c88000360204200020013602000b140020004188c0c88000360204200020013602000b140020004188c0c88000360204200020013602000b1400200041b0c0c88000360204200020013602000b840602087e0a7f200020013502102202421a8820013502147c220342198820013502187c2204421a88200135021c7c220542198820013502207c2206421a8820013502247c220742198842137e2001350200220842ffffff1f837c2209a741ffffff1f71220a41136a411a762009421a882008421a8820013502047c220842ffffff0f837ca7220b6a411976200842198820013502087c2208a741ffffff1f71220c6a411a762008421a88200135020c7c2208a741ffffff0f71220d6a4119762008421988200242ffffff1f837c2202a741ffffff1f71220e6a411a762002421a88200342ffffff0f837ca7220f6a4119762004a741ffffff1f7122106a411a762005a741ffffff0f7122116a4119762006a741ffffff1f7122126a411a762007a741ffffff0f7122136a41197641136c200a6a22013a0000200020014110763a0002200020014108763a000120002001411a76200b6a220a410e763a00052000200a4106763a00042000200a4102742001411876410371723a00032000200a411976200c6a2201410d763a0008200020014105763a000720002001410374200a418080800e71411676723a000620002001411a76200d6a220a410b763a000b2000200a4103763a000a2000200a4105742001411576411f71723a00092000200a411976200e6a22014112763a000f20002001410a763a000e200020014102763a000d20002001411a76200f6a220b3a001020002001410674200a411376413f71723a000c2000200b4110763a00122000200b4108763a00112000200b41197620106a2201410f763a0015200020014107763a001420002001410174200b411876410171723a001320002001411a7620116a220a410d763a00182000200a4105763a00172000200a4103742001411776410771723a00162000200a41197620126a2201410c763a001b200020014104763a001a20002001410474200a411576410f71723a001920002001411a7620136a220a410a763a001e2000200a4102763a001d2000200a418080f00f714112763a001f2000200a4106742001411476413f71723a001c0be72304017f067e0f7f027e2380808080004190086b2203248080808000200341c0076a200210ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602b007200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602a007200320032903f8072006421a887c2206a741ffffff0f713602b407200320032903d8072009421a887c2209a741ffffff0f713602a407200320064219882003290380087c2206a741ffffff1f713602b80720032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02ac0720032004a741ffffff1f713602a80720032006421a882003290388087c2204a741ffffff0f713602bc072003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e029c0720032004a741ffffff1f7136029807200320034198076a200210ad90808000200341c0076a200310ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602b007200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602a007200320032903f8072006421a887c2206a741ffffff0f713602b407200320032903d8072009421a887c2209a741ffffff0f713602a407200320064219882003290380087c2206a741ffffff1f713602b80720032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02ac0720032004a741ffffff1f713602a80720032006421a882003290388087c2204a741ffffff0f713602bc072003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e029c0720032004a741ffffff1f7136029807200341286a20034198076a200210ad90808000200341f8006a2001200310ad90808000200341a0016a2001200341286a10ad90808000200341c0076a200341a0016a10ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602e001200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602d001200320032903f8072006421a887c2206a741ffffff0f713602e401200320032903d8072009421a887c2209a741ffffff0f713602d401200320064219882003290380087c2206a741ffffff1f713602e80120032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02dc0120032004a741ffffff1f713602d80120032006421a882003290388087c2204a741ffffff0f713602ec012003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e02cc0120032004a741ffffff1f713602c801200341c0076a200341c8016a10ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602b007200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602a007200320032903f8072006421a887c2206a741ffffff0f713602b407200320032903d8072009421a887c2209a741ffffff0f713602a407200320064219882003290380087c2206a741ffffff1f713602b80720032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02ac0720032004a741ffffff1f713602a80720032006421a882003290388087c2204a741ffffff0f713602bc072003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e029c0720032004a741ffffff1f7136029807200341c0076a20034198076a10ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f7136028802200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602f801200320032903f8072006421a887c2206a741ffffff0f7136028c02200320032903d8072009421a887c2209a741ffffff0f713602fc01200320064219882003290380087c2206a741ffffff1f713602900220032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02840220032004a741ffffff1f713602800220032006421a882003290388087c2204a741ffffff0f71360294022003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e02f40120032004a741ffffff1f713602f00120034198026a200341a0016a200341f0016a10ad90808000200341c0026a200341c8016a20034198026a10ad90808000200341c0076a200341c0026a10ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f7136028003200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602f002200320032903f8072006421a887c2206a741ffffff0f7136028403200320032903d8072009421a887c2209a741ffffff0f713602f402200320064219882003290380087c2206a741ffffff1f713602880320032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02fc0220032004a741ffffff1f713602f80220032006421a882003290388087c2204a741ffffff0f7136028c032003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e02ec0220032004a741ffffff1f713602e80220034190036a20034198026a200341e8026a10ad90808000200341b8036a20034190036a410510ae90808000200341e0036a200341b8036a20034190036a10ad9080800020034188046a200341e0036a410a10ae90808000200341b0046a20034188046a200341e0036a10ad90808000200341d8046a200341b0046a411410ae9080800020034180056a200341d8046a200341b0046a10ad90808000200341a8056a20034180056a410a10ae90808000200341d0056a200341a8056a200341e0036a10ad90808000200341f8056a200341d0056a413210ae90808000200341a0066a200341f8056a200341d0056a10ad90808000200341c8066a200341a0066a41e40010ae90808000200341f0066a200341c8066a200341a0066a10ad9080800020034198076a200341f0066a413210ae90808000200341c0076a20034198076a200341d0056a10ad9080800020034198076a41206a200341c0076a41206a29020037030020034198076a41186a200341c0076a41186a29020037030020034198076a41106a200341c0076a41106a29020037030020034198076a41086a200341c0076a41086a290200370300200320032902c00737039807200341c0076a20034198076a410210ae90808000200341f0066a200341a0016a200341c0076a10ad90808000200341d0006a200341f8006a200341f0066a10ad90808000200341c0076a200341d0006a10ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602b007200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602a007200320032903f8072006421a887c2206a741ffffff0f713602b407200320032903d8072009421a887c2209a741ffffff0f713602a407200320064219882003290380087c2206a741ffffff1f713602b80720032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02ac0720032004a741ffffff1f713602a80720032006421a882003290388087c2204a741ffffff0f713602bc072003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e029c0720032004a741ffffff1f7136029807200341f0066a200220034198076a10ad9080800020034198076a200341f0066a10aa90808000200341c0076a200110aa90808000410021024101210a034020034198076a20026a2d0000200341c0076a20026a2d00004610d697808000200a71210a200241016a22024120470d000b200a10d697808000210b200341f0ffffff0320012802106bad2204421a8841f0ffffff0120012802146bad7c220542198841f0ffffff0320012802186bad7c2206a741ffffff1f71220c3602d807200341d0fdffff0320012802006bad2207421a8841f0ffffff0120012802046bad7c220842198841f0ffffff0320012802086bad7c2209a741ffffff1f71220d3602c80720032006421a8841f0ffffff01200128021c6bad7c2206a741ffffff0f71220e3602dc0720032009421a8841f0ffffff01200128020c6bad7c2209a741ffffff0f71220f3602cc072003200642198841f0ffffff0320012802206bad7c2206a741ffffff1f7122103602e00720032009421988200442ffffff1f837c2204a741ffffff1f7122113602d00720032004421a88200542ffffff0f837ca722123602d40720032006421a8841f0ffffff0120012802246bad7c2204a741ffffff0f7122013602e4072003200442198842137e200742ffffff1f837c2204a741ffffff1f7122133602c00720032004421a88200842ffffff0f837ca722143602c407200341c8066a200341f0066a10aa9080800020034198076a200341c0076a10aa90808000410021024101210a0340200341c8066a20026a2d000020034198076a20026a2d00004610d697808000200a71210a200241016a22024120470d000b200a10d6978080002115200320013602e407200320103602e0072003200e3602dc072003200c3602d807200320123602d407200320113602d0072003200f3602cc072003200d3602c807200320143602c407200320133602c00720034198076a200341c0076a41c0c2c8800010ad90808000200341a0066a200341f0066a10aa90808000200341c8066a20034198076a10aa90808000410021024101210a0340200341a0066a20026a2d0000200341c8066a20026a2d00004610d697808000200a71210a200241016a22024120470d000b200a10d6978080002102200341c0076a41c0c2c88000200341d0006a10ad90808000200220157210d6978080002102200341d8006a220a20032802c807200a2802002201734100200241ff01716b2202712001732201360200200341e0006a220c20032802d007200c280200220d73200271200d73220d360200200341e8006a220e20032802d807200e280200220f73200271200f73220f360200200320032802cc07200328025c221073200271201073221036025c200320032802c40720032802542211732002712011732211360254200320032802c00720032802502212732002712012732212360250200320032802d40720032802642213732002712013732213360264200320032802dc07200328026c221473200271201473221436026c200341f0006a221620032802e00720162802002217732002712017732217360200200320032802e4072003280274221873200271201873221836027420034198076a200341d0006a10aa90808000201641f0ffffff03200d6bad2204421a8841f0ffffff0120136bad7c220542198841f0ffffff03200f6bad7c2206421a8841f0ffffff0120146bad7c220742198841f0ffffff0320176bad7c2208a741ffffff1f71201773410020032d00980741017110d69780800041ff01716b220271201773360200200e2006a741ffffff1f71200f73200271200f73360200200c200442ffffff1f8341d0fdffff0320126bad2204421a8841f0ffffff0120116bad7c220642198841f0ffffff0320016bad7c2209421a8841f0ffffff0120106bad7c22194219887c221aa741ffffff1f71200d73200271200d73360200200a2009a741ffffff1f7120017320027120017336020020032008421a8841f0ffffff0120186bad7c2208a741ffffff0f7120187320027120187336027420032007a741ffffff0f7120147320027120147336026c20032013200542ffffff0f83201a421a887ca77320027120137336026420032019a741ffffff0f7120107320027120107336025c2003200842198842137e200442ffffff1f837c2204a741ffffff1f71201273200271201273360250200320112004421a88200642ffffff0f837ca77320027120117336025420002015200b7210d6978080003a0000200020032902503702042000410c6a200a290200370200200041146a200c2902003702002000411c6a200e290200370200200041246a201629020037020020034190086a2480808080000bcd0412017f017e017f017e017f017e017f017e017f017e017f017e017f017e017f017e017f0c7e2000200128020c2202ad220320012802002204410174ad22057e20012802042206410174ad220720012802082208ad22097e7c2001280220220a41136cad220b2001280214220c410174ad220d7e7c2001280224220e41136cad220f20012802102210ad22117e200128021c221241136cad221320012802182201ad22147e7c4201867c3703182000200141136cad2215200d7e20052006ad22167e7c200b2002410174ad22177e7c200f20097e201320117e7c4201867c3703082000201420177e2010410174ad2218200cad22197e7c2012ad221a2008410174ad221b7e7c200aad221c20077e7c200ead221d20057e7c37034820002019201b7e201720117e7c201420077e7c201a20057e7c201c200f7e4201867c3703382000201120077e201b20037e7c201920057e7c200b2012410174ad221e7e7c2014200f7e4201867c3703282000201720077e200920097e7c201120057e7c200b2001410174ad7e7c200f200d7e2013201a7e7c4201867c3703202000200920057e200720167e7c201520147e7c200b20187e7c200f20177e2013200d7e7c4201867c3703102000201520187e2004ad220920097e7c200b201b7e7c201320177e200c41136cad20197e7c200f20077e7c4201867c37030020002014201b7e201120117e7c200d20177e7c201e20077e7c201c20057e7c201d200f7e4201867c3703402000201720037e2011201b7e7c200d20077e7c201420057e7c200b201c7e7c201e200f7e4201867c3703300bc7081a017f017e017f017e017f017e017f017e017f017e017f017e017f017e017f027e017f017e017f017e017f027e017f027e017f147e2000200128020c2203410174ad2204200228020c2205ad22067e20012802042207410174ad220820022802142209ad220a7e7c2001280214220b410174ad220c2002280204220dad220e7e7c200128021c220f410174ad22102002280224221141136cad22127e7c2001350200221320022802182214ad22157e7c20012802242216410174ad2217200228021c221841136cad22197e7c2001350208221a2002280210221bad221c7e7c2001350210221d2002280208221ead221f7e7c20013502182220200235020022217e7c200135022022222002280220220241136cad22237e7c2003ad2224201f7e2007ad2225201c7e7c200fad222620237e7c2016ad2227201441136cad22287e7c2013200a7e7c2021200bad22297e7c201a20067e7c201d200e7e7c202020127e7c202220197e7c2004200e7e200820067e7c200c20127e7c201020197e7c2013201c7e7c2017200941136cad222a7e7c201a201f7e7c201d20217e7c202020237e7c202220287e7c222b421a887c222c4219887c222da741ffffff1f713602182000200420127e2008200e7e7c200c20197e7c2010202a7e7c2013201f7e7c2017200541136cad222e7e7c201a20217e7c201d20237e7c202020287e7c2022201b41136cad222f7e7c202920287e202420237e7c2026202f7e7c2027201e41136cad22307e7c2013200e7e7c202120257e7c201a20127e7c201d20197e7c2020202a7e7c2022202e7e7c200420197e200820127e7c200c202a7e7c2010202e7e7c2017200d41136cad7e7c202120137e7c201a20237e7c201d20287e7c2020202f7e7c202220307e7c2230421a887c22314219887c2232a741ffffff1f7136020820002024201c7e202520157e7c2029201f7e7c202720237e7c20132018ad222e7e7c202120267e7c201a200a7e7c201d20067e7c2020200e7e7c202220127e7c202d421a887c222da741ffffff0f7136021c2000202920237e2025201f7e7c202620287e7c2027202f7e7c201320067e7c202120247e7c201a200e7e7c201d20127e7c202020197e7c2022202a7e7c2032421a887c2223a741ffffff0f7136020c20002004200a7e2008202e7e7c200c20067e7c2010200e7e7c20132002ad22197e7c201720127e7c201a20157e7c201d201c7e7c2020201f7e7c202220217e7c202d4219887c2212a741ffffff1f7136022020002023421988202b42ffffff1f837c2223421a88202c42ffffff0f837c3e021420002023a741ffffff1f713602102000202420157e202520197e7c2029201c7e7c2026201f7e7c20132011ad7e7c202120277e7c201a202e7e7c201d200a7e7c202020067e7c2022200e7e7c2012421a887c2213a741ffffff0f713602242000201342198842137e203042ffffff1f837c2213421a88203142ffffff0f837c3e020420002013a741ffffff1f713602000be20502017f067e2380808080004180016b2203248080808000200341306a200110ac9080800020032003290360200329035820032903502204421a887c22054219887c2206a741ffffff1f7136022020032003290340200329033820032903302207421a887c22084219887c2209a741ffffff1f71360210200320032903682006421a887c2206a741ffffff0f71360224200320032903482009421a887c2209a741ffffff0f713602142003200642198820032903707c2206a741ffffff1f7136022820032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e021c20032004a741ffffff1f7136021820032006421a8820032903787c2204a741ffffff0f7136022c2003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e020c20032004a741ffffff1f71360208024020024102490d002002417f6a21020340200341306a200341086a10ac9080800020032003290360200329035820032903502204421a887c22054219887c2206a741ffffff1f7136022020032003290340200329033820032903302207421a887c22084219887c2209a741ffffff1f71360210200320032903682006421a887c2206a741ffffff0f71360224200320032903482009421a887c2209a741ffffff0f713602142003200642198820032903707c2206a741ffffff1f7136022820032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e021c20032004a741ffffff1f7136021820032006421a8820032903787c2204a741ffffff0f7136022c2003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e020c20032004a741ffffff1f713602082002417f6a22020d000b0b20002003290208370200200041206a200341086a41206a290200370200200041186a200341086a41186a290200370200200041106a200341086a41106a290200370200200041086a200341086a41086a29020037020020034180016a2480808080000be103020e7f067e20022802242103200128022421042002280220210520012802202106200228020c2107200128020c2108200228021c2109200128021c210a2002280208210b2001280208210c2002280204210d2001280204210e2002280200210f200128020021102000200128021020022802106b41f0ffffff036aad2211421a88200128021420022802146b41f0ffffff016aad7c2212421988200128021820022802186b41f0ffffff036aad7c2213a741ffffff1f7136021820002010200f6b41d0fdffff036aad2214421a88200e200d6b41f0ffffff016aad7c2215421988200c200b6b41f0ffffff036aad7c2216a741ffffff1f7136020820002013421a88200a20096b41f0ffffff016aad7c2213a741ffffff0f7136021c20002016421a88200820076b41f0ffffff016aad7c2216a741ffffff0f7136020c20002013421988200620056b41f0ffffff036aad7c2213a741ffffff1f7136022020002016421988201142ffffff1f837c2211421a88201242ffffff0f837c3e021420002011a741ffffff1f7136021020002013421a88200420036b41f0ffffff016aad7c2211a741ffffff0f713602242000201142198842137e201442ffffff1f837c2211421a88201542ffffff0f837c3e020420002011a741ffffff1f713602000beb0201067e200041f0ffffff0320012802106bad2202421a8841f0ffffff0120012802146bad7c220342198841f0ffffff0320012802186bad7c2204a741ffffff1f71360218200041d0fdffff0320012802006bad2205421a8841f0ffffff0120012802046bad7c220642198841f0ffffff0320012802086bad7c2207a741ffffff1f7136020820002004421a8841f0ffffff01200128021c6bad7c2204a741ffffff0f7136021c20002007421a8841f0ffffff01200128020c6bad7c2207a741ffffff0f7136020c2000200442198841f0ffffff0320012802206bad7c2204a741ffffff1f7136022020002007421988200242ffffff1f837c2202421a88200342ffffff0f837c3e021420002002a741ffffff1f7136021020002004421a8841f0ffffff0120012802246bad7c2202a741ffffff0f713602242000200242198842137e200542ffffff1f837c2202421a88200642ffffff0f837c3e020420002002a741ffffff1f713602000b950301077f2000200128022022023a001d2000200128020022033a0000200020024110763a001f200020024108763a001e2000200128021c22044115763a001c20002004410d763a001b200020044105763a001a2000200128021822024112763a001820002002410a763a0017200020024102763a0016200020012802142205410f763a0014200020054107763a00132000200128021022064114763a001120002006410c763a0010200020064104763a000f2000200128020c22074111763a000d200020074109763a000c200020074101763a000b200020012802082208410e763a0009200020084106763a00082000200128020422014113763a000620002001410b763a0005200020014103763a0004200020034110763a0002200020034108763a0001200020044103742002411a76723a0019200020024106742005411776723a0015200020054101742006411c76723a0012200020064104742007411976723a000e200020074107742008411676723a000a200020084102742001411b76723a0007200020014105742003411876723a00030bcd04010e7f23808080800041106b2203200128022020022802206b200128021c200228021c6b200128021820022802186b200128021420022802146b200128021020022802106b200128020c200228020c6b200128020820022802086b200128020020022802006b2204411f7520012802046a20022802046b2201411f756a2205411f756a2206411f756a2207411f756a2208411f756a2209411f756a220a411f756a220b411f75220236020c200328020c210c2003200236020c200328020c210d2003200236020c200328020c210e2003200236020c200328020c210f2003200236020c200328020c21102003200236020c200328020c1a2003200236020c200328020c1a2003200236020c200328020c1a2003200236020c200328020c21032000200c41eda7d7e70171200441ffffffff01716a2202411d76200141ffffffff01716a200d41d2b1cc04716a2201411d76200541ffffffff01716a200e4196eb9cef01716a2204411d76200641ffffffff01716a200f41c5faceef01716a2205411d76200741ffffffff01716a201041cd02716a2206411d76200841ffffffff01716a2207411d76200941ffffffff01716a2208411d76200a41ffffffff01716a220941ffffffff017136021c2000200841ffffffff01713602182000200741ffffffff01713602142000200641ffffffff01713602102000200541ffffffff017136020c2000200441ffffffff01713602082000200141ffffffff01713602042000200241ffffffff017136020020002009411d76200b6a2003418080c000716a41ffffffff01713602200b840c12027f017e017f037e017f017e017f047e017f017e017f017e017f017e017f047e017f147e23808080800041306b2203248080808000200320022802002204ad220520012802002206ad22077e2208429bfcd192017e42ffffffff0183220942d2b1cc047e2001280204220aad220b20057e2002280204220cad220d20077e7c220e7c200942eda7d7e7017e20087c421d887c220f429bfcd192017e42ffffffff01832210421486200228020c2211ad2212200b7e20012802082213ad221420022802082215ad22167e7c200128020c2217ad2218200d7e7c2002350210221920077e7c2001350210221a20057e7c221b7d2001280214221c20066aad221d20197e7c2002280214220620046aad221e201a7e7c200128021c220420136aad221f200228021c221320156aad22207e7c2002280220221520116aad222120012802182211200a6aad22227e7c2001280220220120176aad222320022802182202200c6aad22247e7c2015ad22252011ad22267e2004ad22272013ad22287e7c2001ad22292002ad222a7e7c222b7d201042cd027e20087d201820167e201220147e7c2019200b7e7c201a200d7e7c2006ad222c201cad222d7e7d222e7c201e201d7e7c201620077e200b200d7e7c201420057e7c222f20094296eb9cef017e7c201042d2b1cc047e7c201042eda7d7e7017e200f7c421d887c220f429bfcd192017e42ffffffff0183220842c5faceef017e7c2014200d7e2016200b7e7c201220077e7c201820057e7c2230200942c5faceef017e7c20104296eb9cef017e7c200842d2b1cc047e7c200842eda7d7e7017e200f7c421d887c2207429bfcd192017e42ffffffff018322054296eb9cef017e7c201042c5faceef017e200942cd027e7c201b7c20084296eb9cef017e7c200542d2b1cc047e7c200542eda7d7e7017e20077c421d887c2207429bfcd192017e42ffffffff0183221042d2b1cc047e7c201042eda7d7e7017e20077c421d887c220b429bfcd192017e42ffffffff0183220742cd027e7c2024201d7e200e7d2022201e7e7c201920147e201820127e7c201a20167e7c2026202c7e202a202d7e7c7d22147c200842cd027e7c200542c5faceef017e7c20104296eb9cef017e7c200742d2b1cc047e7c200742eda7d7e7017e200b7c421d887c220d429bfcd192017e42ffffffff0183220b42c5faceef017e7c202220247e202f7d2020201d7e7c201f201e7e7c201a20127e201920187e7c2028202d7e2026202a7e7c2027202c7e7c7d22127c200542cd027e7c201042c5faceef017e7c20074296eb9cef017e7c200b42d2b1cc047e7c200b42eda7d7e7017e200d7c421d887c2216429bfcd192017e42ffffffff0183220d4296eb9cef017e7c200942148620307d201a20197e7c202020227e7c201f20247e7c2021201d7e7c2023201e7e7c2027202a7e202820267e7c2025202d7e7c2029202c7e7c22187d201042cd027e7c200742c5faceef017e7c200b4296eb9cef017e7c200d42d2b1cc047e7c200d42eda7d7e7017e20167c421d887c2216429bfcd192017e42ffffffff0183220942d2b1cc047e7c200942eda7d7e7017e20167c421d887c2216a741ffffffff017136020c20032024201a7e202e7d202220197e7c20084214867c2021201f7e7c202320207e7c202920287e202520277e7c22087d200b42cd027e7c200d42c5faceef017e7c20094296eb9cef017e7c2016421d887c2216a741ffffffff017136021020032020201a7e201f20197e7c2014202920257e221d7c7d202320217e7c20054214867c200d42cd027e7c200942c5faceef017e7c2016421d887c2205a741ffffffff01713602142003202320197e2021201a7e7c20127d20104214867c200942cd027e7c2005421d887c2219a741ffffffff01713602182003200742148620187c2019421d887c2219a741ffffffff017136021c2003200b421486202b7c2019421d887c2219a741ffffffff01713602202003200d42148620087c2019421d887c2219a741ffffffff017136022420032009421486201d7c2019421d887c2219421d883e022c20032019a741ffffffff017136022820002003410c6a41e8c2c8800010b290808000200341306a2480808080000bd50301187f20012f0004210220012d0006210320012d0018210420012d0016210520012d0017210620012f0008210720012d0007210820012f000c210920012d000b210a20012d000a210b20012f0010210c20012d000f210d20012d000e210e20012d0014210f20012d0015211020012d0013211120012d0012211220012d001c211320012d0019211420012d001a211520012d001b211620012f0000211720012d0002211820012d00032119200020012f001d20012d001f41107472360220200020172018411074722019411874220141808080f80171723602002000201341157420154110742016411874722014410874221372410b767236021c2000200f2010410874221072410f7420114118742012411074220f724111767241ffffffff01713602142000200c200f72410c74200d411874200e411074220c724114767241ffffffff017136021020002009200c72410974200a411874200b4110742209724117767241ffffffff017136020c2000200720097241067420084118742207411a767241ffffffff0171360208200020132004724112742005411074200641187472201072410e767241ffffffff0171360218200020022003411074722007724103742001411d767241ffffffff01713602040bd50902107f027e23808080800041b0016b2202248080808000200241386a4200370300200241306a4200370300200241286a4200370300200241206a4200370300200241186a4200370300200241106a4200370300200241086a42003703002002420037030041002103410121040340200220036a22052005280200200120036a22052d000072200541016a2d000041087472200541026a2d000041107472200541036a2d000041187472360200200341046a210320044110492105200441016a210420050d000b200241c0006a41086a22032002280208220641067420022802042207411a767241ffffffff0171360200200241c0006a41106a220520022802102208410c74200228020c22094114767241ffffffff0171360200200241c0006a41186a22042002280218220a4112742002280214220b410e767241ffffffff0171360200200241c0006a41206a22012002280220220c411874200228021c220d4108767241ffffffff017136020020022002280200220e41ffffffff017136024020022007410374200e411d767241ffffffff01713602442002200941097420064117767241ffffffff017136024c2002200b410f7420084111767241ffffffff01713602542002200d411574200a410b767241ffffffff017136025c200241e8006a41206a2206200228023c220a410d76360200200241e8006a41086a220b2002280228220d41017420022802242207411f767241ffffffff0171360200200241e8006a41106a22082002280230220e410774200228022c220f4119767241ffffffff0171360200200241e8006a41186a220920022802382210410d74200228023422114113767241ffffffff01713602002002200741027641ffffffff017136026c20022007411b74200c4105767241ffffffff01713602682002200f410474200d411c767241ffffffff017136027420022011410a74200e4116767241ffffffff017136027c2002200a41107420104110767241ffffffff0171360284012002418c016a200241c0006a41b0c3c8800010b39080800020012002418c016a41206a220728020036020020042002418c016a41186a220a29020037030020052002418c016a41106a220c29020037030020032002418c016a41086a220d2902003703002002200229028c013703402002418c016a200241e8006a418cc3c8800010b390808000200620072802003602002009200a2902003703002008200c290200370300200b200d29020022123703002002200229028c012213370368200220022802402013a76a220741ffffffff017136028c012002200228026c2007411d766a20022802446a220741ffffffff01713602900120022012a72007411d766a20032802006a220341ffffffff017136029401200220022802742003411d766a200228024c6a220341ffffffff017136029801200220082802002003411d766a20052802006a220341ffffffff017136029c012002200228027c2003411d766a20022802546a220341ffffffff01713602a001200220092802002003411d766a20042802006a220341ffffffff01713602a40120022002280284012003411d766a200228025c6a220341ffffffff01713602a801200220062802002003411d766a20012802006a41ffffffff01713602ac0120002002418c016a41e8c2c8800010b290808000200241b0016a2480808080000b3a01017f23808080800041306b22022480808080002002410c6a200110b59080800020002002410c6a10b190808000200241306a2480808080000bfe0c0a017f027e017f017e017f017e017f027e017f157e23808080800041f0006b2202248080808000200241046a200110b49080800020022002350214220342ecf3b78a037e20022802082201ad220442e7e2e4b3017e20022802042205ad220642eecaf5ff017e7c200228020c2207ad2208428c93f0fb007e7c20022802102209ad220a4283e685d3017e7c200342edf3b78a017e7c220b7d2002280218220c20056aad220d42eecaf5ff017e7c200228021c220520016aad220e42e6e2a4b4017e7c2002280220220120076aad220f428b93f0fb027e7c20022802242207ad221042ffffffff017e22112001ad221242ffffffff017e22137c22142005ad221542ffff3f7e7c22167d200720096aad22174282e685d3037e7c200642ff037e42ffffffff0183221842d2b1cc047e200442edf3b78a017e20064283e685d3017e7c22197c201842eda7d7e7017e200642edf3b78a017e221a7c421d887c221b429bfcd192017e42ffffffff0183221c4214867c200842e7e2e4b3017e200442eecaf5ff017e7c200a428c93f0fb007e7c20034283e685d3017e7c200cad221d42ffffffff017e221e7d221f201a7d200d42ecf3b78a037e7c201c42cd027e7c20044283e685d3017e2006428c93f0fb007e7c200842edf3b78a017e7c222020184296eb9cef017e7c201c42d2b1cc047e7c201c42eda7d7e7017e201b7c421d887c221b429bfcd192017e42ffffffff0183221a42c5faceef017e7c2004428c93f0fb007e200642e7e2e4b3017e7c20084283e685d3017e7c200a42edf3b78a017e7c2221201842c5faceef017e7c201c4296eb9cef017e7c201a42d2b1cc047e7c201a42eda7d7e7017e201b7c421d887c2204429bfcd192017e42ffffffff018322064296eb9cef017e7c200b201842cd027e7c201c42c5faceef017e7c201a4296eb9cef017e7c200642d2b1cc047e7c200642eda7d7e7017e20047c421d887c2204429bfcd192017e42ffffffff0183221c42d2b1cc047e7c201c42eda7d7e7017e20047c421d887c220b429bfcd192017e42ffffffff0183220442cd027e7c200d4282e685d3037e20197d200e42ecf3b78a037e7c200a42e7e2e4b3017e200842eecaf5ff017e7c2003428c93f0fb007e7c201542ffffffff017e2215201e7c22197d221b7c201a42cd027e7c200642c5faceef017e7c201c4296eb9cef017e7c200442d2b1cc047e7c200442eda7d7e7017e200b7c421d887c220b429bfcd192017e42ffffffff0183220842c5faceef017e7c200d428b93f0fb027e20207d200e4282e685d3037e7c200f42ecf3b78a037e7c200342e7e2e4b3017e200a42eecaf5ff017e7c201320197c7d22137c200642cd027e7c201c42c5faceef017e7c20044296eb9cef017e7c200842d2b1cc047e7c200842eda7d7e7017e200b7c421d887c220b429bfcd192017e42ffffffff0183220a4296eb9cef017e7c201842148620217d200342eecaf5ff017e7c200d42e6e2a4b4017e7c200e428b93f0fb027e7c200f4282e685d3037e7c2014201d42ffff3f7e7c20157c220d7d201742ecf3b78a037e7c201c42cd027e7c200442c5faceef017e7c20084296eb9cef017e7c200a42d2b1cc047e7c200a42eda7d7e7017e200b7c421d887c220b429bfcd192017e42ffffffff0183221842d2b1cc047e7c201842eda7d7e7017e200b7c421d887c220ba741ffffffff017136024c200220034282e685d3037e201f7d200e42eecaf5ff017e7c200f42e6e2a4b4017e7c2011201242ffff3f7e7c220e7d2017428b93f0fb027e7c201a4214867c200842cd027e7c200a42c5faceef017e7c20184296eb9cef017e7c200b421d887c221aa741ffffffff017136025020022003428b93f0fb027e201b201042ffff3f7e220b7c7d200f42eecaf5ff017e7c201742e6e2a4b4017e7c20064214867c200a42cd027e7c201842c5faceef017e7c201a421d887c2206a741ffffffff01713602542002200342e6e2a4b4017e20137d201742eecaf5ff017e7c201c4214867c201842cd027e7c2006421d887c2203a741ffffffff017136025820022004421486200d7c2003421d887c2203a741ffffffff017136025c2002200842148620167c2003421d887c2203a741ffffffff01713602602002200a421486200e7c2003421d887c2203a741ffffffff017136026420022018421486200b7c2003421d887c2203421d883e026c20022003a741ffffffff0171360268200241286a200241cc006a41acc5c8800010b2908080002000200241286a10b190808000200241f0006a2480808080000bff0906047f027e017f027e027f017e23808080800041e0006b22032480808080000240024020024104470d00200341d8006a4200370300200341d0006a4200370300200341c8006a4200370300200341c0006a4200370300200341386a4200370300200341306a4200370300200341286a420037030020034200370320410021040340200341206a20046a220541016a20012d000022024104763a000020052002410f713a0000200541036a200141016a2d000022024104763a0000200541026a2002410f713a0000200141026a2101200441046a220441c000470d000b4100210120032d0020210502400340200341206a20016a22042005200541086a220241f001716b3a0000200441016a220520052d00002002411874411c756a22023a00002001413e460d0120052002200241086a220641f001716b3a0000200441026a220520052d00002006411874411c756a22053a0000200141026a21010c000b0b20002003290320370000200041386a200341206a41386a290300370000200041306a200341206a41306a290300370000200041286a200341206a41286a290300370000200041206a200341206a41206a290300370000200041186a200341206a41186a290300370000200041106a200341206a41106a290300370000200041086a200341206a41086a2903003700000c010b200341186a200141186a290000370300200341106a200141106a290000370300200341086a200141086a2900003703002003200129000037030042002107200341d8006a4200370300200341d0006a4200370300200341c8006a4200370300200341c0006a4200370300200341206a41186a4200370300200341206a41106a4200370300200341206a41086a42003703002003420037032002402002450d002002413f71ad2108200241ff016a20026e21090240024002400240200241807e4b0d0042012008862207427f7c210a2007420188210b41c00020026b210c4200210741002101410021064100210502400240024002400340200141067621040240024002402001413f71220d200c490d0020044103470d010b20014180024f0d05200320044103746a290300200dad88210e0c010b200141ff014b0d02200141c0014f0d03200320044103746a22042903082006413f71ad862004290300200dad8884210e0b0240200541c000460d00200341206a20056a200e200a8320077c22072007200b7c20088822072008867d3c0000200120026a2101200620026b2106200541016a22042105200420094f0d050c010b0b41c00041c000419cc5c88000108281808000000b2004410441ecc4c88000108281808000000b4104410441fcc4c88000108281808000000b20044104418cc5c88000108281808000000b20024108470d00200941c0004f0d010c030b2009417f6a220941c000490d01200941c00041dcc4c88000108281808000000b200941c00041ccc4c88000108281808000000b200720088621070b200341206a20096a220120012d00002007a76a3a000020002003290320370000200041086a200341206a41086a290300370000200041106a200341206a41106a290300370000200041186a200341206a41186a290300370000200041206a200341206a41206a290300370000200041286a200341206a41286a290300370000200041306a200341206a41306a290300370000200041386a200341206a41386a2903003700000c010b41bcc4c88000108e81808000000b200341e0006a2480808080000bc607011b7f23808080800041f0016b2203248080808000200128020021042001280228210520012802042106200128022c21072001280208210820012802302109200128020c210a2001280234210b2001280210210c2001280238210d2001280214210e200128023c210f2001280218211020012802402111200128021c211220012802442113200128022021142001280248211520032001280224200128024c6a3602242003201420156a3602202003201220136a36021c2003201020116a3602182003200e200f6a3602142003200c200d6a3602102003200a200b6a36020c2003200820096a3602082003200620076a3602042003200420056a360200200341286a200141286a200110af90808000200341d0006a2003200210ad90808000200341f8006a200341286a200241286a10ad90808000200341a0016a200141f8006a200241d0006a10ad908080002003200128025041017422023602c8012003200128025441017422043602cc012003200128025841017422053602d0012003200128025c41017422063602d4012003200128026041017422073602d8012003200128026441017422083602dc012003200128026841017422093602e0012003200128026c410174220a3602e40120032001280270410174220b3602e8012003200128027441017422013602ec012000200341d0006a200341f8006a10af908080002003280278210c2003280250210d200328027c210e2003280254210f2003280280012110200328025821112003280284012112200328025c2113200328028801211420032802602115200328028c01211620032802642117200328029001211820032802682119200328029401211a200328026c211b200328029801211c2003280270211d2000200328029c0120032802746a36024c2000201c201d6a3602482000201a201b6a3602442000201820196a3602402000201620176a36023c2000201420156a3602382000201220136a3602342000201020116a3602302000200e200f6a36022c2000200c200d6a36022820032802a001210c20032802a401210d20032802a801210e20032802ac01210f20032802b001211020032802b401211120032802b801211220032802bc01211320032802c0012114200020032802c40120016a36027420002014200b6a36027020002013200a6a36026c2000201220096a3602682000201120086a3602642000201020076a3602602000200f20066a36025c2000200e20056a3602582000200d20046a3602542000200c20026a360250200041f8006a200341c8016a200341a0016a10af90808000200341f0016a2480808080000bfe0c03017f047e097f23808080800041e0076b2203248080808000200341086a2002410410b890808000200341e8006a4200370300200341e0006a4200370300200341d8006a4200370300200341d0006a420037030041002102200341f8006a41002902d8c5c88000220437030020034180016a41002902e0c5c880002205370300200341c8006a41c0006a41002902e8c5c88000220637030020034190016a41002902f0c5c880002207370300200341a0016a2004370300200341a8016a2005370300200341b0016a2006370300200341b8016a200737030020034200370348200341002902d0c5c8800022043703702003200437039801200341e0016a4200370300200341d8016a4200370300200341d0016a4200370300200341c8016a4200370300200342003703c001200341a0056a41f8006a2108200341a0056a41d0006a2109200341a0056a41286a210a200341c0066a41d0006a210b200341c0066a41286a210c200341c0066a41f8006a210d200341c8006a41d0006a210e200341c8006a41286a210f02400240034002400240200241c000460d0020024101710d01200241016a21020c020b200341f0046a200f41206a290200370300200341a8046a41c0006a200f41186a290200370300200341e0046a200f41106a290200370300200341d8046a200f41086a29020037030020034180056a200e41086a29020037030020034188056a200e41106a29020037030020034190056a200e41186a29020037030020034198056a200e41206a2902003703002003200f2902003703d0042003200e2902003703f804200341a8046a41206a200341c8006a41206a290300370300200341a8046a41186a200341c8006a41186a290300370300200341a8046a41106a200341c8006a41106a290300370300200341a8046a41086a200341c8006a41086a290300370300200320032903483703a804200341a0056a200341a8046a10be9080800020034188036a200341a0056a41a00110f4978080001a200341c0066a20034188036a20034188036a41f8006a220210ad90808000200341c0066a41286a220b20034188036a41286a221020034188036a41d0006a220d10ad90808000200341c0066a41d0006a220c200d200210ad90808000200341a8046a200341c0066a41f80010f4978080001a200341a0056a200341a8046a10be9080800020034188036a200341a0056a41a00110f4978080001a200341c0066a20034188036a200210ad90808000200b2010200d10ad90808000200c200d200210ad90808000200341a8046a200341c0066a41f80010f4978080001a200341a0056a200341a8046a10be9080800020034188036a200341a0056a41a00110f4978080001a200341c0066a20034188036a200210ad90808000200b2010200d10ad90808000200c200d200210ad90808000200341a8046a200341c0066a41f80010f4978080001a200341c0066a200341a8046a10be90808000200341e8016a200341c0066a200341c0066a41f8006a220d10ad90808000200341e8016a41286a200b200c10ad90808000200341e8016a41d0006a200c200d10ad90808000200341e8016a41f8006a200341c0066a200b10ad90808000200341c8006a200341e8016a41a00110f4978080001a200341a0056a41f8006a2108200341a0056a41d0006a2109200341a0056a41286a210a41002102034002400240200241c000460d002002410171450d01200241016a21020c020b2000200341c8006a41a00110f4978080001a200341e0076a2480808080000f0b20024101762110200241c0004f0d0320034188036a2001201041c0076c6a200341086a20026a2d000010bc90808000200341c0066a200341c8006a20034188036a10b990808000200341a0056a200341c0066a200d10ad90808000200a200b200c10ad908080002009200c200d10ad908080002008200341c0066a200b10ad90808000200341c8006a200341a0056a41a00110f4978080001a200241016a21020c000b0b20024101762110200241c0004f0d0220034188036a2001201041c0076c6a200341086a20026a2d000010bc90808000200341c0066a200341c8006a20034188036a10b990808000200341a0056a200341c0066a200d10ad90808000200a200c200b10ad908080002009200b200d10ad908080002008200341c0066a200c10ad90808000200341c8006a200341a0056a41a00110f4978080001a200241016a21020c000b0b2010412041e0c6c88000108281808000000b2010412041e0c6c88000108281808000000b8d160a067f017e017f017e017f017e017f027e0d7f017e23808080800041e0046b2202248080808000200241086a41206a2203200141206a290200370300200241086a41186a2204200141186a290200370300200241086a41106a2205200141106a290200370300200241086a41086a2206200141086a29020037030020022001290200370308200241306a41206a2207200141c8006a2902002208370300200241306a41186a2209200141c0006a290200220a370300200241306a41106a220b200141386a290200220c370300200241306a41086a220d200141306a290200220e37030020022001290228220f370330200128025021102001280254211120012802582112200128025c2113200128026021142001280264211520012802682116200128026c21172001280270211820022802342119200228023c211a2002280244211b200228024c211c2002200228025420012802746a36028c04200220182008a76a360288042002201c20176a3602840420022016200aa76a360280042002201b20156a3602fc0320022014200ca76a3602f8032002201a20136a3602f40320022012200ea76a3602f0032002201920116a3602ec0320022010200fa76a3602e80320024190046a200141d0006a2214200241306a10af90808000200241d8006a200241e8036a20024190046a10ad9080800020024180016a200241086a200241306a10ad9080800020024190046a20024180016a10ac90808000200220022903c00420022903b80420022903b0042208421a887c220a4219887c220ca741ffffff1f7136028004200220022903a004200229039804200229039004220e421a887c220f4219887c221da741ffffff1f713602f003200220022903c804200c421a887c220ca741ffffff0f7136028404200220022903a804201d421a887c221da741ffffff0f713602f4032002200c42198820022903d0047c220ca741ffffff1f71360288042002201d421988200842ffffff1f837c2208421a88200a42ffffff0f837c3e02fc0320022008a741ffffff1f713602f8032002200c421a8820022903d8047c2208a741ffffff0f7136028c042002200842198842137e200e42ffffff1f837c2208421a88200f42ffffff0f837c3e02ec0320022008a741ffffff1f713602e803200241c0036a200241d8006a200241e8036a10ad9080800020024190046a4198c2c88000200241c0036a10ab90808000200241a8016a41206a200241b4046a290200370300200241a8016a41186a200241ac046a290200370300200241a8016a41106a200241a4046a290200370300200241a8016a41086a2002419c046a29020037030020022002290294043703a801200241d0016a200241a8016a200241d8006a10ad90808000200241f8016a200241a8016a20024180016a10ad9080800020024190046a200241f8016a200141f8006a220110ad90808000200241a0026a200241d0016a20024190046a10ad90808000200241c8026a41206a2210200241f8016a41206a290200370300200241c8026a41186a2211200241f8016a41186a290200370300200241c8026a41106a2212200241f8016a41106a290200370300200241c8026a41086a2213200241f8016a41086a290200370300200220022902f8013703c802200241f0026a200241086a41f0c6c8800010ad9080800020024198036a200241306a41f0c6c8800010ad90808000200241c0036a200241d0016a4198c7c8800010ad9080800020024190046a2001200241a0026a10ad90808000200241e8036a20024190046a10aa9080800020022d00e80341017110d6978080002101200620022802a00320062802002215734100200141ff01716b220171201573360200200520022802a8032005280200220673200171200673360200200220022802980320022802082205732001712005733602082002200228029c03200228020c22057320017120057336020c200220022802a4032002280214220573200171200573360214200220022802ac03200228021c22057320017120057336021c200420022802b0032004280200220573200171200573360200200220022802b4032002280224220473200171200473360224200320022802b8032003280200220473200171200473360200200220022802bc03200228022c22037320017120037336022c200220022802f0022002280230220373200171200373360230200220022802f4022002280234220373200171200373360234200d20022802f802200d280200220373200171200373360200200220022802fc02200228023c22037320017120037336023c200b200228028003200b28020022037320017120037336020020022002280284032002280244220373200171200373360244200920022802880320092802002203732001712003733602002002200228028c03200228024c22037320017120037336024c2007200228029003200728020022037320017120037336020020022002280294032002280254220373200171200373360254200220022802c00320022802c8022203732001712003733602c802200220022802c40320022802cc022203732001712003733602cc02201320022802c8032013280200220373200171200373360200200220022802cc0320022802d4022203732001712003733602d402201220022802d0032012280200220373200171200373360200200220022802d40320022802dc022203732001712003733602dc02201120022802d8032011280200220373200171200373360200200220022802dc0320022802e4022203732001712003733602e402201020022802e0032010280200220373200171200373360200200220022802e40320022802ec022203732001712003733602ec02200241e8036a200241086a200241a0026a10ad9080800020024190046a200241e8036a10aa9080800020022d00900441017110d697808000210120024190046a200241306a10b090808000200d200228029804200d2802002203734100200141ff01716b220171200373360200200b20022802a004200b280200220d73200171200d73360200200920022802a8042009280200220b73200171200b7336020020022002280290042002280230220973200171200973360230200220022802940420022802342209732001712009733602342002200228029c04200228023c22097320017120097336023c200220022802a4042002280244220973200171200973360244200220022802ac04200228024c22097320017120097336024c200720022802b0042007280200220973200171200973360200200220022802b404200228025422077320017120077336025420024190046a2014200241306a10af90808000200241e8036a200241c8026a20024190046a10ad9080800020024190046a200241e8036a10aa9080800020022d00900441017110d697808000210120024190046a200241e8036a10b090808000200220022802900420022802e8032207734100200141ff01716b2201712007733602e803200220022802940420022802ec032207732001712007733602ec03200220022802980420022802f0032207732001712007733602f0032002200228029c0420022802f4032207732001712007733602f403200220022802a00420022802f8032207732001712007733602f803200220022802a40420022802fc032207732001712007733602fc03200220022802a80420022802800422077320017120077336028004200220022802ac0420022802840422077320017120077336028404200220022802b00420022802880422077320017120077336028804200220022802b404200228028c0422077320017120077336028c042000200241e8036a10aa90808000200241e0046a2480808080000bbb0509027f017e017f017e017f017e017f017e057f23808080800041f0016b2203248080808000200341206a220441002902e0b7ca80002205370300200341186a220641002902d8b7ca80002207370300200341106a220841002902d0b7ca80002209370300200341086a220a41002902c8b7ca8000220b370300200341306a220c200b370300200341386a220d2009370300200341c0006a220e2007370300200341c8006a220f2005370300200341f0006a4200370300200341e8006a4200370300200341e0006a4200370300200341d8006a420037030020034200370350200341002902c0b7ca80002205370300200320053703282003200120024118742202411f75221020024118756a201073220241014610d69780800010bd908080002003200141f8006a200241024610d69780800010bd908080002003200141f0016a200241034610d69780800010bd908080002003200141e8026a200241044610d69780800010bd908080002003200141e0036a200241054610d69780800010bd908080002003200141d8046a200241064610d69780800010bd908080002003200141d0056a200241074610d69780800010bd908080002003200141c8066a200241084610d69780800010bd90808000201041017110d6978080002101200341f8006a41206a200f290300370300200341f8006a41186a200e290300370300200341f8006a41106a200d290300370300200341f8006a41086a200c29030037030020032003290328370378200341f8006a41d0006a200341d0006a10b090808000200341f8006a41c8006a2004290300370300200341f8006a41c0006a2006290300370300200341f8006a41386a2008290300370300200341f8006a41306a200a290300370300200320032903003703a0012003200341f8006a200110bd908080002000200341f80010f4978080001a200341f0016a2480808080000bdd0501017f2000200128020020002802002203734100200241ff01716b2202712003733602002000200128020420002802042203732002712003733602042000200128020820002802082203732002712003733602082000200128020c200028020c22037320027120037336020c2000200128021020002802102203732002712003733602102000200128021420002802142203732002712003733602142000200128021820002802182203732002712003733602182000200128021c200028021c22037320027120037336021c2000200128022020002802202203732002712003733602202000200128022420002802242203732002712003733602242000200128022820002802282203732002712003733602282000200128022c200028022c22037320027120037336022c2000200128023020002802302203732002712003733602302000200128023420002802342203732002712003733602342000200128023820002802382203732002712003733602382000200128023c200028023c22037320027120037336023c2000200128024020002802402203732002712003733602402000200128024420002802442203732002712003733602442000200128024820002802482203732002712003733602482000200128024c200028024c22037320027120037336024c2000200128025020002802502203732002712003733602502000200128025420002802542203732002712003733602542000200128025820002802582203732002712003733602582000200128025c200028025c22037320027120037336025c2000200128026020002802602203732002712003733602602000200128026420002802642203732002712003733602642000200128026820002802682203732002712003733602682000200128026c200028026c22037320027120037336026c2000200128027020002802702203732002712003733602702000200128027420002802742201732002712001733602740ba30f03017f087e267f23808080800041f0026b2202248080808000200241a0026a200110ac90808000200220022903d80220022903d00220022903c80220022903c0022203421a887c22044219887c2205421a887c220642198820022903e0027c2207421a8820022903e8027c220842198842137e20022903a002220942ffffff1f837c220aa741ffffff1f71220b3602082002200a421a8820022903a8022009421a887c220942ffffff0f837ca7220c36020c200220022903b80220022903b00220094219887c2209421a887c220a421988200342ffffff1f837c2203421a88200442ffffff0f837ca7220d36021c20022003a741ffffff1f71220e3602182002200aa741ffffff0f71220f36021420022006a741ffffff0f71221036022420022008a741ffffff0f71221136022c20022009a741ffffff1f71221236021020022005a741ffffff1f71221336022020022007a741ffffff1f712214360228200241a0026a200141286a10ac90808000200220022903d80220022903d00220022903c80220022903c0022203421a887c22044219887c2205421a887c220642198820022903e0027c2207421a8820022903e8027c220842198842137e20022903a002220942ffffff1f837c220aa741ffffff1f7122153602302002200a421a8820022903a8022009421a887c220942ffffff0f837ca72216360234200220022903b80220022903b00220094219887c2209421a887c220a421988200342ffffff1f837c2203421a88200442ffffff0f837ca7221736024420022003a741ffffff1f7122183602402002200aa741ffffff0f71221936023c20022006a741ffffff0f71221a36024c20022008a741ffffff0f71221b36025420022009a741ffffff1f71221c36023820022005a741ffffff1f71221d36024820022007a741ffffff1f71221e360250200241a0026a200141d0006a10ac90808000200220022903c80242018620022903c0024201862203421a887c220442198820022903d0024201867c2205a741ffffff1f71360270200220022903a80242018620022903a0024201862206421a887c220742198820022903b0024201867c2208a741ffffff1f7136026020022005421a8820022903d8024201867c2205a741ffffff0f7136027420022008421a8820022903b8024201867c2208a741ffffff0f713602642002200542198820022903e0024201867c2205a741ffffff1f7136027820022008421988200342feffff1f837c2203421a88200442ffffff0f837c3e026c20022003a741ffffff1f7136026820022005421a8820022903e8024201867c2203a741ffffff0f7136027c2002200342198842137e200642feffff1f837c2203421a88200742ffffff0f837c3e025c20022003a741ffffff1f713602582001280228211f20012802002120200128022c212120012802042122200128023021232001280208212420012802342125200128020c21262001280238212720012802102128200128023c21292001280214212a2001280240212b2001280218212c2001280244212d200128021c212e2001280248212f200128022021302002200128024c20012802246a3602a4012002202f20306a3602a0012002202d202e6a36029c012002202b202c6a3602980120022029202a6a360294012002202720286a360290012002202520266a36028c012002202320246a360288012002202120226a360284012002201f20206a36028001200241a0026a20024180016a10ac90808000200220022903d00220022903c80220022903c0022203421a887c22044219887c2205a741ffffff1f713602c001200220022903b00220022903a80220022903a0022206421a887c22074219887c2208a741ffffff1f713602b001200220022903d8022005421a887c2205a741ffffff0f713602c401200220022903b8022008421a887c2208a741ffffff0f713602b4012002200542198820022903e0027c2205a741ffffff1f713602c80120022008421988200342ffffff1f837c2203421a88200442ffffff0f837c3e02bc0120022003a741ffffff1f713602b80120022005421a8820022903e8027c2203a741ffffff0f713602cc012002200342198842137e200642ffffff1f837c2203421a88200742ffffff0f837c3e02ac0120022003a741ffffff1f713602a801200241d0016a41206a2201201e20146a360200200241d0016a41186a2214201d20136a360200200241d0016a41106a22132018200e6a360200200241d0016a41086a220e201c20126a3602002002201b20116a3602f4012002201a20106a3602ec0120022017200d6a3602e40120022019200f6a3602dc0120022016200c6a3602d40120022015200b6a3602d001200241f8016a200241306a200241086a10af908080002000200241a8016a200241d0016a10af90808000200041f8006a200241d8006a200241f8016a10af90808000200041c8006a2001290200370200200041c0006a2014290200370200200041386a2013290200370200200041306a200e290200370200200020022902d001370228200020022902f801370250200041d8006a200241f8016a41086a290200370200200041e0006a200241f8016a41106a290200370200200041e8006a200241f8016a41186a290200370200200041f0006a200241f8016a41206a290200370200200241f0026a2480808080000b0d002000200110b680808000000bee0501017e20002001422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201428180808088808080807f8437030020002001422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201428180808088808080807f8437030820002001422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201428180808088808080807f8437031020002001422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e8542208985428180808088808080807f843703180bba0102017f027e23808080800041106b22012480808080002000200141086aad220242a697c4890d7e422089200242acebfec6097e852202a741c18480800073ad220342acebfec6097e2002422088220242a697c4890d7e85200342a697c4890d7e200242acebfec6097e85422089852202a7418883d4800073ad220342acebfec6097e2002422088220242a697c4890d7e85200342a697c4890d7e200242acebfec6097e854220898510c090808000200141106a2480808080000bbb0203017f027e017f23808080800041306b2200248080808000200041086a200041286aad220142a697c4890d7e422089200142acebfec6097e852201a741c18480800073ad220242acebfec6097e2001422088220142a697c4890d7e85200242a697c4890d7e200142acebfec6097e85422089852201a7418883d4800073ad220242acebfec6097e2001422088220142a697c4890d7e85200242a697c4890d7e200142acebfec6097e854220898510c090808000024002400340410041002d00a883d480002203410120031b3a00a883d480002003450d0120034102470d000c020b0b4100200029030837038883d48000410041023a00a883d480004100200041206a2903003703a083d480004100200041186a29030037039883d480004100200041106a29030037039083d480000b200041306a2480808080000bc10703037f037e027f2001413f712107024020014140712208450d00410020086b2109200021080340200841386a290000200685220a422088220b200841186a2900002005852205422088220c7e200a42ffffffff0f83220a200542ffffffff0f8322057e85200a200c7e200b20057e85422089852105200841306a290000200685220a422088220b200841106a2900002004852204422088220c7e200a42ffffffff0f83220a200442ffffffff0f8322047e85200a200c7e200b20047e85422089852104200841286a290000200685220a422088220b200841086a2900002003852203422088220c7e200a42ffffffff0f83220a200342ffffffff0f8322037e85200a200c7e200b20037e85422089852103200841206a290000200685220a422088220b20082900002002852202422088220c7e200a42ffffffff0f83220a200242ffffffff0f8322027e85200a200c7e200b20027e85422089852102200841c0006a2108200941c0006a22090d000b0b2003200585210520022004852104024002402007450d00200120074110200741104b1b22096b210820014110490d01200020086a220820082009410f7122076a2201200941307122096a220d4f0d002001200941706a22006a220e2900082006852203422088220220082900082005852205422088220a7e200342ffffffff0f832203200542ffffffff0f8322057e852003200a7e200220057e85422089852105200e2900002006852203422088220220082900002004852204422088220a7e200342ffffffff0f832203200442ffffffff0f8322047e852003200a7e200220047e854220898521042000450d0020072000724111480d002001200941606a22096a22012900082006852203422088220220082900182005852205422088220a7e200342ffffffff0f832203200542ffffffff0f8322057e852003200a7e200220057e8542208985210520012900002006852203422088220220082900102004852204422088220a7e200342ffffffff0f832203200442ffffffff0f8322047e852003200a7e200220047e854220898521042009450d0020072009724121480d00200d41586a2900002006852203422088220220082900282005852205422088220a7e200342ffffffff0f832203200542ffffffff0f8322057e852003200a7e200220057e85422089852105200d41506a290000200685220642208822032008290020200485220442208822027e200642ffffffff0f832206200442ffffffff0f8322047e85200620027e200320047e854220898521040b20042005850f0b2008200141c4b8ca8000109281808000000b1900200120002802002200280200200028020410b4818080000b140020012000280200200028020410b4818080000b140020002802002802004101200110fa808080000b870401027f23808080800041306b220224808080800002400240024002400240024020002d00000e050001020304000b20012802004195beca8000412c200128020428020c1180808080000021010c040b2002200041046a36020820024101360214200241f4beca80003602102002420137021c200241c284808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010c030b200128020041fcbeca80004128200128020428020c1180808080000021010c020b20002f0001200041036a2d00004110747222004108762103024002402000410171450d002003411874411875410274220341e8bfca80006a2100200341dcbfca80006a21030c010b2003411874411875410274220341a8c0ca80006a2100200341f4bfca80006a21030b20024101360214200241ccbfca80003602102002420137021c2002200028020036022c20022003280200360228200241c384808000ad422086200241286aad843703082002200241086a36021820012802002001280204200241106a10b18180800021010c010b2002200041046a36020820024101360214200241d4bfca80003602102002420137021c200241c484808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010b200241306a24808080800020010b8e1202117f037e2380808080004180016b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01b6014102746a2802c40121042006417f6a22060d000b0b20054104490d000340200420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c40121042007417c6a22070d000b0b200341086a22082001410d6a2900003703002003410f6a2209200141146a28000036000020032001290005370300200341186a41036a210a2001280224210b2001280220210c200128021c210d2001280218210e20012d0004210f20012802002110024003400240024020104102460d00200341e8006a410f6a2009280000360000200341e8006a41086a200829030037030020032003290300370368200f211120104101710d010c030b200d200b460d02200d2d00002111200341e8006a410f6a200d41106a280000360000200341e8006a41086a200d41096a2900003703002003200d290001370368200d41146a210d0b200341d0006a410f6a2206200341e8006a410f6a280000360000200341d0006a41086a2201200341e8006a41086a29030037030020032003290368370350410021100240200d200b460d00200d2d0000210f2009200d41106a2800003600002008200d41096a2900003703002003200d290001370300200d41146a210d0240200f201141ff01712205460d00410121100c010b2001200829030037030020062009280000360000200320032903003703502011210f200d200b460d0002400340200d22072d0000210f2009200741106a2800003600002008200741096a290000370300410121102003200741016a2900003703002005200f470d01200120082903003703002006200928000036000020032003290300370350200741146a220d200b470d000b410021102011210f0b200741146a210d0b200341186a410f6a2006280000360000200341186a41086a200129030037030020032003290350370318200341306a41086a2206200a41086a22122900003703002003200a290000370330024002400240024002400240024020042f01b6012207410b490d004100211302400340024020042802b00122040d00200028020421062000280200210741002d008083d480001a41f40141002802f482d48000118280808000002204450d042004200441036a417c7120046b22016a220420073602c401200441003b01b601200441003602b0012004417e6a20013b00002000200641016a221336020420002004360200200741003b01b401200720043602b0010c020b201341016a211320042f01b601410a4b0d000b0b41002d008083d480001a41c40141002802f482d48000118280808000002207450d022007200741036a417c7120076b22016a220641003b01b601200641003602b0012006417e6a20013b00002013417f6a2201450d04034041002d008083d480001a41f40141002802f482d48000118280808000002207450d042007200741036a417c7120076b22056a220720063602c401200741003b01b601200741003602b0012007417e6a20053b0000200641003b01b401200620073602b001200721062001417f6a2201450d050c000b0b200420076a20113a00b8012004200741016a3b01b601200420074104746a220741086a2006290300370200200720032903303702000c040b410441f40110ab80808000000b410441c40110ab80808000000b410441f40110ab80808000000b20042f01b6012207410b4f0d01200420076a20113a00b8012004200741016a22013b01b601200420074104746a2207200a290000370000200741086a2012290000370000200420014102746a20063602c401200620013b01b401200620043602b0012013450d0002400240201341037122060d00201321070c010b2013210703402007417f6a2107200420042f01b6014102746a2802c40121042006417f6a22060d000b0b20134104490d000340200420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c40121042007417c6a22070d000b0b2002200228020041016a3602000c010b0b4188c2ca8000412041a8c2ca8000108081808000000b0240200c450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b02402000280204220d450d00200028020021060340024002400240024020062f01b6012204450d0020062004417f6a220f4102746a22072802c80122042f01b601220141054f0d03410520016b41ffff0371220520072802c40122132f01b60122074b0d012013200720056b22083b01b601200441053b01b601200441b8016a220b20056a200b200110f9978080001a200420054104746a2004200141047410f9978080001a2007200841016a22106b22092005417f6a470d02200b201341b8016a221120106a200910f497808000210b2004201320104104746a2009410474220a10f4978080002107200341e8006a41086a201320084104746a220241086a29020022143703002006200f6a22122d00b8012100200229020021152012201120086a2d00003a00b801200320153703682006200f4104746a2206290200211620062015370200200641086a2206290200211520062014370200200b20096a20003a00002007200a6a220641086a201537020020062016370200200d4101460d03200741c4016a2206200541027422056a2006200141027441046a10f9978080001a2006201320104102746a41c4016a200510f4978080001a20072802c401220641003b01b401200620073602b00120072802c801220641013b01b401200620073602b00120072802cc01220641023b01b401200620073602b00120072802d001220641033b01b401200620073602b00120072802d401220641043b01b401200620073602b00120072802d801220641053b01b401200620073602b0010c030b41dcc0ca8000411941f8c1ca8000108081808000000b41f0c2ca800041274198c3ca8000108081808000000b41b8c2ca8000412841e0c2ca8000108081808000000b20042106200d417f6a220d0d000b0b20034180016a2480808080000bec1206067f017e077f017e017f027e23808080800041c0006b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f018e024102746a2802900221042006417f6a22060d000b0b20054104490d000340200420042f018e024102746a28029002220420042f018e024102746a28029002220420042f018e024102746a28029002220420042f018e024102746a2802900221042007417c6a22070d000b0b200341086a41206a200141206a290200370300200341086a41186a200141186a290200370300200341086a41106a200141106a290200370300200341086a41086a200141086a29020037030020032001290200370308200341086a410c6a210803402003290308210920032802242101200328022c210a200328021021060340200341818080807836021002400240024002402006418180808078460d002008210b20012107200621050c010b2001200a460d012003200141186a22073602242001410c6a210b20012802082105200129020021090b2005418080808078470d01200721010b0240200a2001460d00200a20016b220441186e2206410171210b410021070240200441686a4118490d00200141246a2104200641feffffff007121054100210703400240200441646a280200450d00200441686a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402004417c6a280200450d00200428020022062006417e6a2f00006b41002802ec82d48000118180808000000b200441306a21042005200741026a2207470d000b0b200b450d002001200741186c6a2204280208450d00200441086a28020422042004417e6a2f00006b41002802ec82d48000118180808000000b02402003280228450d00200328022022042004417e6a2f00006b41002802ec82d48000118180808000000b024020002802042208450d00200028020021060340024002400240024020062f018e022204450d0020062004417f6a220c4102746a22072802940222042f018e02220141054f0d03410520016b41ffff03712205200728029002220b2f018e0222074b0d01200b200720056b220d3b018e02200441053b018e02200441b0016a220a20054103746a200a200141037410f9978080001a200420054104746a2004200141047410f9978080001a2007200d41016a220e6b22072005417f6a470d02200a200b41b0016a2200200e4103746a2007410374220210f497808000210a2004200b200e4104746a2007410474220f10f4978080002107200341086a41086a200b200d4104746a221041086a29020022113703002006200c4103746a22122902b00121132010290200210920122000200d4103746a2902003702b001200320093703082006200c4104746a2206290200211420062009370200200641086a2206290200210920062011370200200a20026a20133702002007200f6a22062014370200200641086a200937020020084101460d0320074190026a2206200541027422056a2006200141027441046a10f9978080001a2006200b200e4102746a4190026a200510f4978080001a200728029002220641003b018c022006200736028802200728029402220641013b018c022006200736028802200728029802220641023b018c022006200736028802200728029c02220641033b018c02200620073602880220072802a002220641043b018c02200620073602880220072802a402220641053b018c0220062007360288020c030b41dcc0ca8000411941f8c1ca8000108081808000000b41f0c2ca800041274198c3ca8000108081808000000b41b8c2ca8000412841e0c2ca8000108081808000000b200421062008417f6a22080d000b0b200341c0006a2480808080000f0b200b2902042113200b280200210b20094220882211a7210c2009a7210d024002402007200a470d0020034180808080783602100c010b2003200741186a2201360224200741146a280200210e20072902002109200728020821062008200729020c370200200841086a200e36020020032006360210200320093703082006418080808078460d0020112009422088520d00200d2009a7200c10f5978080000d002005450d01200b200b417e6a2f00006b41002802ec82d48000118180808000000c010b0b024002400240024002400240024020042f018e022207410b490d004100210a02400340024020042802880222040d00200028020421062000280200210741002d008083d480001a41c00241002802f482d48000118280808000002204450d042004200441036a417c7120046b22016a2204200736029002200441003b018e0220044100360288022004417e6a20013b00002000200641016a220a36020420002004360200200741003b018c0220072004360288020c020b200a41016a210a20042f018e02410a4b0d000b0b41002d008083d480001a41900241002802f482d48000118280808000002207450d022007200741036a417c7120076b22016a220641003b018e0220064100360288022006417e6a20013b0000200a417f6a2201450d04034041002d008083d480001a41c00241002802f482d48000118280808000002207450d042007200741036a417c7120076b220e6a2207200636029002200741003b018e0220074100360288022007417e6a200e3b0000200641003b018c022006200736028802200721062001417f6a2201450d050c000b0b2004200741016a3b018e02200420074103746a2206200d3602b0012006200c3602b401200420074104746a220720053602002007200b360204200720133702080c040b410441c00210ab80808000000b410441900210ab80808000000b410441c00210ab80808000000b20042f018e022207410b4f0d012004200741016a22013b018e02200420074103746a220e200d3602b001200e200c3602b401200420074104746a220720053602002007200b36020420072013370208200420014102746a200636029002200620013b018c022006200436028802200a450d0002400240200a41037122060d00200a21070c010b200a210703402007417f6a2107200420042f018e024102746a2802900221042006417f6a22060d000b0b200a4104490d000340200420042f018e024102746a28029002220420042f018e024102746a28029002220420042f018e024102746a28029002220420042f018e024102746a2802900221042007417c6a22070d000b0b2002200228020041016a3602000c010b0b4188c2ca8000412041a8c2ca8000108081808000000be10101047f23808080800041106b220324808080800002402001450d00200020014104746a21040340200028020021052003200041046a28020022013602082003200341086a36020c2003410c6a2002108391808000024020012002280200200228020822066b4d0d0020022006200110f491808000200228020821060b200228020420066a2005200110f4978080001a2002200620016a3602082003200041086a36020c2003410c6a200210839180800020032000410c6a36020c2003410c6a2002108391808000200041106a22002004470d000b0b200341106a2480808080000be10101047f23808080800041106b220324808080800002402001450d00200020014104746a21040340200028020021052003200041046a28020022013602082003200341086a36020c2003410c6a2002108391808000024020012002280200200228020822066b4d0d0020022006200110f491808000200228020821060b200228020420066a2005200110f4978080001a2002200620016a3602082003200041086a36020c2003410c6a200210839180800020032000410c6a36020c2003410c6a2002108391808000200041106a22002004470d000b0b200341106a2480808080000bee0101077f23808080800041d0016b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541d0006c6a2106200128020c210703402002200341800110f4978080002108200020034180016a220336020420084180016a20082007108f91808000200620084180016a41d00010f49780800021082001200541016a2205360204200841d0006a210620032004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241d0016a2480808080000bb90301137f23808080800041d0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541386c6a2106200241206a2107200241086a2108200128020c210903402002200341d00010f497808000210a2000200341d0006a2203360204200a280200210b200a280204210c2009200810be92808000210d0240200a280238220e4102490d00200a280240210f200a28023c2110200a2802442111200a28024821120b200a2802342113200a2802302114200a28022c210a2006200e360200200641106a20123602002006410c6a2011360200200641086a200f360200200641046a20103602002001200541016a2205360204200641146a20072902003702002006411c6a200741086a280200360200200641346a200d360200200641306a200c3602002006412c6a200b360200200641286a2013360200200641246a2014360200200641206a200a360200200641386a210620032004470d000b0b2001280200200536020002402000280208450d00200028020022062006417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000b960202087f017e23808080800041206b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b200128020820012802042205410c6c6a2106200241086a2107200128020c210803402000200341206a2209360204200241186a200341186a290300370300200241106a200341106a2903003703002007200341086a29030037030020022003290300220a370300200641086a2008200710be928080003602002006200a3702002001200541016a22053602042006410c6a21062009210320092004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000bf40202097f017e23808080800041c0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b2001280208200128020422054104746a2106200241086a41206a2107200241086a41086a2108200128020c210903402000200341386a220a360204200241086a41306a200341306a290300370300200241086a41286a200341286a2903003703002007200341206a290300370300200241086a41186a200341186a290300370300200241086a41106a200341106a2903003703002008200341086a29030037030020022003290300220b3703082009200810be9280800021032006410c6a2009200710be92808000360200200641086a20033602002006200b3702002001200541016a2205360204200641106a2106200a2103200a2004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000bf30101067f23808080800041d0016b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541d8006c6a2106200128020c21070340200241086a200341f00010f4978080001a2000200341f0006a2203360204200241f8006a200241086a200710fc908080002006200241f8006a41d80010f49780800021062001200541016a2205360204200641d8006a210620032004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241d0016a2480808080000b9a0601197f23808080800041c0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541cc006c6a2106200241286a41086a2107200128020c21080340200241086a2209200341e4006a2802003602002002200341dc006a290200370300200341d8006a280200210a200341d4006a280200210b200341d0006a280200210c200341cc006a280200210d200341c8006a280200210e200341c4006a280200210f200341c0006a28020021102003410c6a2802002111200341086a2802002112200341046a2802002113200341e8006a2802002114200341ec006a2802002115200341f0006a2802002116200341f4006a2d00002117200328020021182000200341f8006a2219360204200341106a211a024002402018410171450d00200241106a41106a201a41106a290300370300200241106a41086a201a41086a2903003703002002201a290300370310200241286a41106a200341386a2903003703002007200341306a2903003703002002200341286a2903003703282008200241106a10be9280800021032008200241286a10be92808000211a0c010b2002201136022c200220123602282007201a290300370300200741086a201a41086a2903003703002008200241286a10be92808000211241808080807821130b200e4102491a2006200e360200200641106a200a3602002006410c6a200b360200200641086a200c360200200641046a200d360200200641146a2002290300370200200641c8006a20173a0000200641c4006a200f360200200641c0006a20103602002006413c6a201a360200200641386a2003360200200641346a2011360200200641306a20123602002006412c6a2013360200200641286a2016360200200641246a2015360200200641206a20143602002006411c6a20092802003602002001200541016a2205360204200641cc006a21062019210320192004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000ba20501137f23808080800041c0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541386c6a2106200241286a41086a2107200128020c210803402000200341e8006a2209360204200241086a220a200341d0006a2802003602002002200341c8006a290300370300200341106a210b200341e0006a2d0000210c200341dc006a280200210d200341d8006a280200210e200341d4006a280200210f200341c4006a2802002110200341c0006a28020021112003410c6a2802002112200341086a2802002113024002402003280200410171450d00200341046a2802002114200241106a41106a200b41106a290300370300200241106a41086a200b41086a2903003703002002200b290300370310200241286a41106a200341386a2903003703002007200341306a2903003703002002200341286a2903003703282008200241106a10be9280800021032008200241286a10be92808000210b0c010b2002201236022c200220133602282007200b290300370300200741086a200b41086a2903003703002008200241286a10be92808000211341808080807821140b20062002290300370200200641346a200c3a0000200641306a20103602002006412c6a2011360200200641286a200b360200200641246a2003360200200641206a20123602002006411c6a2013360200200641186a2014360200200641146a200d360200200641106a200e3602002006410c6a200f3602002001200541016a2205360204200641086a200a280200360200200641386a21062009210320092004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000baf0305097f017e017f027e017f23808080800041c0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541246c6a2106200241086a41206a2107200241086a41086a2108200128020c210903402000200341386a220a360204200241086a41306a200341306a290300370300200241086a41286a200341286a2903003703002007200341206a290300370300200241086a41186a200341186a290300370300200241086a41106a200341106a2903003703002008200341086a29030037030020022003290300220b3703082009200810be9280800021032001200541016a2205360204200741086a280200210c2007290200210d2002290234210e200228023c210f200641206a20033602002006200d370200200641086a200c360200200641186a200b370200200641146a200f3602002006410c6a200e370200200641246a2106200a2103200a2004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000bee0101077f2380808080004180036b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541a0016c6a2106200128020c210703402002200341e00110f49780800021082000200341e0016a2203360204200841e0016a2008200710fb908080002006200841e0016a41a00110f49780800021082001200541016a2205360204200841a0016a210620032004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b20024180036a2480808080000be002020a7f027e23808080800041306b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541186c6a2106200241086a2107200128020c210803402000200341306a2209360204200241286a220a200341286a290300370300200241206a220b200341206a290300370300200241186a200341186a290300370300200241106a200341106a2903003703002007200341086a29030037030020022003290300220c3703002008200710be9280800021032001200541016a2205360204200a280200210a200b290300210d200641146a20033602002006410c6a200c3702002006200d370200200641086a200a360200200641186a21062009210320092004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000bd31703257f027e127f23808080800041c0016b220624808080800002400240024020012802042207200128020c2208460d002004280200220941186a210a200641146a41246a210b200641146a410c6a210c03402001200741386a220d3602042007280218210e2007280234210f20072802302110200728022c21112007280228211220072802242113200728022021142007280214211520072802102116200728020c211720072802082118200728020421192007280200211a4104211b4100211c0240200728021c221d450d0041002d008083d480001a201d41386c220441002802f482d48000118280808000002207450d03200e201d41d0006c6a211e2007200741036a417c71221b20076b22046a417e6a20043b00004100211c200e211f0340201f2802242120201f2802482121201f2802442122201f2802402123201f28023c2124201f2802382125201f2802342126201f2802302127201f28022c2128201f2802202129201f280218212a201f290310212b201f290308212c201f280204212d201f280200212e02400240201f280228222f0d0041042130410021310c010b41002d008083d480001a202f410c6c220441002802f482d48000118280808000002207450d062020202f4105746a21322007200741036a417c71223020076b22046a417e6a20043b000041002131202021330340203328021821072033280204213420332802002135200641086a20092033290308203329031010c092808000200628020c2136024020062d0008450d00200641c8006a200711818080800000200620062802880136021c2006200629038001370214200628028c01210420062802900121072006280294012137200620093602bc012006200720374105746a3602b801200620043602b401200620073602b001200620073602ac01200c200641ac016a41f4ffcb800010ab92808000200b200641c8006a200910cc92808000200620062802a001360234200620062903980137022c200641c8006a200a2036200641146a10b19280800020062802482207418080808078460d0002402007450d00200628024c22072007417e6a2f00006b41002802ec82d48000118180808000000b02402006280254450d00200628025822072007417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020062d006c0e050001040402040b20062802742138024020062802782207450d002007410171213941002104024020074101460d002007417e71213a4100210420382107034002402007280200450d00200741046a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b0240200741206a280200450d00200741246a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b200741c0006a2107203a200441026a2204470d000b0b2039450d00203820044105746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b20062802700d020c030b2006280274213802402006280278223b450d004100213c034002402038203c41246c6a22392802082207450d002039280204213d2007410171213e41002104024020074101460d002007417e71213a41002104203d2107034002402007280200450d00200741046a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b0240200741206a280200450d00200741246a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b200741c0006a2107203a200441026a2204470d000b0b203e450d00203d20044105746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b02402039280200450d00203928020422072007417e6a2f00006b41002802ec82d48000118180808000000b0240203928020c450d00203928021022072007417e6a2f00006b41002802ec82d48000118180808000000b203c41016a223c203b470d000b0b20062802700d010c020b2006280270450d01200628027421380b20382038417e6a2f00006b41002802ec82d48000118180808000000b2006280260450d00200628026422072007417e6a2f00006b41002802ec82d48000118180808000000b20302031410c6c6a220720363602082007203436020420072035360200203141016a2131203341206a22332032470d000b0b02402029450d0020202020417e6a2f00006b41002802ec82d48000118180808000000b20062009202c202b10c0928080002006280204213c024020062d0000450d00200641c8006a202a11818080800000200620062802880136021c2006200629038001370214200628028c01210420062802900121072006280294012137200620093602bc012006200720374105746a3602b801200620043602b401200620073602b001200620073602ac01200c200641ac016a41f4ffcb800010ab92808000200b200641c8006a200910cc92808000200620062802a001360234200620062903980137022c200641c8006a200a203c200641146a10b19280800020062802482207418080808078460d0002402007450d00200628024c22072007417e6a2f00006b41002802ec82d48000118180808000000b02402006280254450d00200628025822072007417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020062d006c0e050001040402040b20062802742136024020062802782207450d002007410171213341002104024020074101460d002007417e71213a4100210420362107034002402007280200450d00200741046a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b0240200741206a280200450d00200741246a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b200741c0006a2107203a200441026a2204470d000b0b2033450d00203620044105746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b20062802700d020c030b20062802742136024020062802782238450d0041002139034002402036203941246c6a22332802082207450d00203328020421342007410171213541002104024020074101460d002007417e71213a4100210420342107034002402007280200450d00200741046a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b0240200741206a280200450d00200741246a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b200741c0006a2107203a200441026a2204470d000b0b2035450d00203420044105746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b02402033280200450d00203328020422072007417e6a2f00006b41002802ec82d48000118180808000000b0240203328020c450d00203328021022072007417e6a2f00006b41002802ec82d48000118180808000000b203941016a22392038470d000b0b20062802700d010c020b2006280270450d01200628027421360b20362036417e6a2f00006b41002802ec82d48000118180808000000b2006280260450d00200628026422072007417e6a2f00006b41002802ec82d48000118180808000000b20254102491a201b201c41386c6a2207203c3602342007202d3602302007202e36022c2007202636022820072027360224200720283602202007203136021c200720303602182007202f360214200720213602102007202236020c200720233602082007202436020420072025360200201c41016a211c201f41d0006a221f201e470d000b0b02402015450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b201a4102491a2003200f360234200320103602302003201136022c2003201236022820032013360224200320143602202003201c36021c2003201b3602182003201d360214200320163602102003201736020c20032018360208200320193602042003201a360200200341386a2103200d2107200d2008470d000b0b2000200336020420002002360200200641c0016a2480808080000f0b4104200410ab80808000000b4104200410ab80808000000ba00203067f027e017f23808080800041c0006b2206248080808000024020012802042207200128020c2208460d002004280200210903402001200741206a220a3602042007410c6a280200210b200741186a290200210c200741106a290200210d200741046a2802002104200741086a280200210e200728020021072006200936023c20062004200e41386c6a36023820062007360234200620043602302006200436022c2006410c6a2006412c6a41d8c8ca800010db908080002003200629020c370200200341106a200d370200200341186a200c3702002006200b360218200341086a2006410c6a41086a290200370200200341206a2103200a2107200a2008470d000b0b2000200336020420002002360200200641c0006a2480808080000bc70201077f0240200028020c220120002802042202460d00200120026b41057621034100210403400240200220044105746a22052802082206450d00200528020441306a210103400240200141706a280200450d00200141746a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141386a21012006417f6a22060d000b0b02402005280200450d00200528020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200528020c450d00200528021022012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280208450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b0bc80201077f200028020c2201200028020422026b41386e2103024020012002460d0041002104034002402002200441386c6a220528021c2206450d00200528021841306a210103400240200141706a280200450d00200141746a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141d0006a21012006417f6a22060d000b0b02402005280214450d00200528021822012001417e6a2f00006b41002802ec82d48000118180808000000b02402005280220450d00200528022422012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280208450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b0bfe06010e7f20002802042101024020002802082202450d0041002103034002402001200341386c6a2204280200450d00200428020422052005417e6a2f00006b41002802ec82d48000118180808000000b0240200428020c450d00200428021022052005417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020042d00240e050001040402040b024020042802302205450d00200428022c21062005410171210741002108024020054101460d002005417e7121094100210820062105034002402005280200450d00200541046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200541206a280200450d00200541246a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200541c0006a21052009200841026a2208470d000b0b2007450d00200620084105746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b20042802280d020c030b02402004280230220b450d00200428022c210c4100210703400240200c200741246c6a22062802082205450d002006280204210d2005410171210e41002108024020054101460d002005417e71210941002108200d2105034002402005280200450d00200541046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200541206a280200450d00200541246a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200541c0006a21052009200841026a2208470d000b0b200e450d00200d20084105746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b02402006280200450d00200628020422052005417e6a2f00006b41002802ec82d48000118180808000000b0240200628020c450d00200628021022052005417e6a2f00006b41002802ec82d48000118180808000000b200741016a2207200b470d000b0b20042802280d010c020b2004280228450d010b2004412c6a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402004280218450d00200428021c22052005417e6a2f00006b41002802ec82d48000118180808000000b200341016a22032002470d000b0b02402000280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b900401097f23808080800041e0006b2203248080808000200128020c2204200128020422056b220641386e21070240024002400240200641a8e3f1b87c4d0d00410021030c010b024020042005470d002001280208210820012802002109410021074104210a410021060c030b4100210641002d008083d480001a200741246c220a41002802f482d4800011828080800000220b0d01410421030b2003200a41c0c5ca800010b980808000000b200b200b41036a417c71220a200b6b22096a417e6a20093b00002001280210210b2001280208210820012802002109200a21010340200341306a200541306a290300370300200341286a200541286a290300370300200341206a200541206a290300370300200341186a200541186a290300370300200341106a200541106a290300370300200341086a200541086a290300370300200320052903003703002003413c6a2003200b108e91808000200141206a2003413c6a41206a280200360200200141186a2003413c6a41186a290200370200200141106a2003413c6a41106a290200370200200141086a2003413c6a41086a2902003702002001200329023c370200200141246a2101200641016a2106200541386a22052004470d000b0b02402008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200020063602082000200a36020420002007360200200341e0006a2480808080000be203010a7f23808080800041a0016b2203248080808000200128020c2204200128020422056b220641e8006e21070240024002400240200641d0b6dbed7e4d0d00410021010c010b024020042005470d002001280208210820012802002109410021074104210a4100210b0c030b4100210b41002d008083d480001a200741386c220c41002802f482d480001182808080000022060d01410421010b2001200c41c0c5ca800010b980808000000b2006200641036a417c71220a20066b220c6a417e6a200c3b00002001280210210c2001280208210820012802002109200a210103402003200541e80010f497808000220641e8006a2006200c10ee90808000200141306a200641e8006a41306a290200370200200141286a200641e8006a41286a290200370200200141206a200641e8006a41206a290200370200200141186a200641e8006a41186a290200370200200141106a200641e8006a41106a290200370200200141086a200641e8006a41086a29020037020020012006290268370200200141386a2101200b41016a210b200541e8006a22052004470d000b0b02402008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2000200b3602082000200a36020420002007360200200341a0016a2480808080000bdf03030b7f017e017f23808080800041c0006b2203248080808000200128020c2204200128020422056b41386e21064104210702400240024020042005470d002001280208210820012802002109410021064100210a0c010b4100210a41002d008083d480001a2006410474220b41002802f482d4800011828080800000220c450d01200c200c41036a417c712207200c6b220b6a417e6a200b3b0000200341086a41206a210c200341086a41086a210b2001280210210d2001280208210820012802002109200721010340200341086a41306a200541306a290300370300200341086a41286a200541286a290300370300200c200541206a290300370300200341086a41186a200541186a290300370300200341086a41106a200541106a290300370300200b200541086a29030037030020032005290300220e370308200d200b10be92808000210f2001410c6a200d200c10be92808000360200200141086a200f3602002001200e370200200141106a2101200a41016a210a200541386a22052004470d000b0b02402008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2000200a3602082000200736020420002006360200200341c0006a2480808080000f0b4104200b41c0c5ca800010b980808000000bb004050c7f017e017f017e017f23808080800041c0006b2203248080808000200128020c2204200128020422056b220641386e21070240024002400240200641a8e3f1b87c4d0d00410021050c010b024020042005470d002001280208210820012802002109410021074104210a4100210b0c030b4100210641002d008083d480001a200741246c220b41002802f482d4800011828080800000220c0d01410421050b2005200b41c0c5ca800010b980808000000b200c200c41036a417c71220a200c6b220b6a417e6a200b3b0000200341086a41206a210c200341086a41086a210d2001280210210e20012802082108200128020021094100210b0340200341086a41306a200541306a290300370300200341086a41286a200541286a290300370300200c200541206a290300370300200341086a41186a200541186a290300370300200341086a41106a200541106a290300370300200d200541086a29030037030020032005290300220f370308200e200d10be92808000211020032902342111200328023c2112200a20066a2201200c290200370200200141086a200c41086a280200360200200141206a2010360200200141186a200f370200200141146a20123602002001410c6a2011370200200641246a2106200b41016a210b200541386a22052004470d000b0b02402008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2000200b3602082000200a36020420002007360200200341c0006a2480808080000bfa0705037f017e037f017e027f23808080800041a0016b2203248080808000200341c0006a2001109e91808000024002402003280260418080808078460d00200341f0006a41286a200341c0006a41286a290300370300200341f0006a41206a2204200341c0006a41206a290300370300200341f0006a41186a200341c0006a41186a290300370300200341f0006a41106a200341c0006a41106a290300370300200341f0006a41086a2205200341c0006a41086a290300370300200320032903402206370370200328027421072001280224200510be92808000210520042802002208418080808078460d00200128022041016a2204417f20041b22044104200441044b1b2209ad42187e220aa721044100210b024002400240200a422088a70d00200441fcffffff074b0d00200329029401210a024020040d004104210c410021090c030b41002d008083d480001a200441002802f482d4800011828080800000220b0d014104210b0b200b2004200210b980808000000b200b200b41036a417c71220c200b6b22026a417e6a20023b00000b200c2005360214200c200a37020c200c2008360208200c2007360204200c2006a7360200200341013602142003200c3602102003200936020c200341186a41206a200141206a290200370300200341186a41186a200141186a290200370300200341186a41106a200141106a290200370300200341186a41086a200141086a29020037030020032001290200370318200341c0006a200341186a109e9180800002402003280260418080808078460d00200341f0006a41086a2105412c2104410121020340200341f0006a41286a200341c0006a41286a290300370300200341f0006a41206a2201200341c0006a41206a290300370300200341f0006a41186a200341c0006a41186a290300370300200341f0006a41106a200341c0006a41106a2903003703002005200341c0006a41086a29030037030020032003290340220637037020032802742107200328023c200510be9280800021082001280200220b418080808078460d01200329029401210a2006a7210902402002200328020c470d002003410c6a2002200328023841016a2201417f20011b4104411810ea908080002003280210210c0b200c20046a22012008360200200141786a200a370200200141746a200b360200200141706a20073602002001416c6a20093602002003200241016a2202360214200441186a2104200341c0006a200341186a109e918080002003280260418080808078470d000b0b200341186a10a4918080002000200329020c370200200041086a2003410c6a41086a2802003602000c010b2000410036020820004280808080c000370200200110a4918080000b200341a0016a2480808080000bb60503037f017e077f23808080800041d0006b2203248080808000200341106a2001109d918080000240024020032802104101470d00200128022041016a2204417f20041b22044104200441044b1b2205ad42147e2206a72104410021070240024002402006422088a70d00200441fcffffff074b0d002003280224210820032802202109200328021c210a2003280218210b20032d0014210c024020040d004104210d410021050c030b41002d008083d480001a200441002802f482d480001182808080000022070d01410421070b20072004200210b980808000000b2007200741036a417c71220d20076b22046a417e6a20043b00000b200d2008360210200d200936020c200d200a360208200d200b360204200d200c3a00002003200d360208200320053602042003410136020c200341106a41206a200141206a290200370300200341106a41186a200141186a290200370300200341106a41106a200141106a290200370300200341106a41086a200141086a29020037030020032001290200370310200341386a200341106a109d91808000024020032802384101470d0041242107410121040340200328024c210520032802482102200328024421082003280240210920032d003c210a024020042003280204470d00200341046a2004200328023041016a2201417f20011b4104411410ea908080002003280208210d0b200d20076a220120053602002001417c6a2002360200200141786a2008360200200141746a2009360200200141706a200a3a00002003200441016a220436020c200741146a2107200341386a200341106a109d9180800020032802380d000b0b200341106a10a591808000200041086a200341046a41086a280200360200200020032902043702000c010b2000410036020820004280808080c000370200200110a5918080000b200341d0006a2480808080000bb91a01097f200020011084918080000240024002400240024002400240024002400240200128020022004188808080782000418880808078481b4180808080786a0e080102030405060708000b200110da90808000024020012802142202450d002001280210210341002104034002402003200441a0016c6a2205280280012200418080808078460d0002402005280288012206450d0020052802840141186a210003400240200041146a2802002207418080808078460d002007450d00200041186a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200041086a280200450d002000410c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041cc006a21002006417f6a22060d000b20052802800121000b2000450d0020052802840122002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280200450d00200541086a10a1918080000b02402005280214450d002005411c6a10a1918080000b024020052802582206450d00200528025441246a210003400240200041706a280200450d00200041746a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041386a21002006417f6a22060d000b0b02402005280250450d00200528025422002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280228450d00200541306a10a1918080000b024020052802642200450d00200528026021082000410171210941002106024020004101460d002000417e71210a4100210620082100034002402000280200450d00200041046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200041186a280200450d002000411c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041306a2100200a200641026a2206470d000b0b2009450d002008200641186c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0240200528025c450d00200528026022002000417e6a2f00006b41002802ec82d48000118180808000000b024020052802702206450d00200528026c41246a210003400240200041706a280200450d00200041746a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041d8006a21002006417f6a22060d000b0b02402005280268450d00200528026c22002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280274450d00200528027822002000417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042002470d000b0b0240200128020c450d00200128021022002000417e6a2f00006b41002802ec82d48000118180808000000b02402001280218450d00200128021c22002000417e6a2f00006b41002802ec82d48000118180808000000b2001413c6a10a29180800002402001280224450d00200128022822002000417e6a2f00006b41002802ec82d48000118180808000000b024020012802502204450d00200128024c21084100210a034002402008200a41386c6a220528021c2206450d00200528021841246a210003400240200041706a280200450d00200041746a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041386a21002006417f6a22060d000b0b02402005280214450d00200528021822002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280220450d00200528022422002000417e6a2f00006b41002802ec82d48000118180808000000b200a41016a220a2004470d000b0b02402001280248450d00200128024c22002000417e6a2f00006b41002802ec82d48000118180808000000b200141e0006a10a3918080000f0b2001280204450d07200128020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b2001280204450d06200128020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b2001280204450d05200128020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b2001280204450d04200128020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b2001280204450d03200128020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b2001280204450d02200128020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b200141046a10da90808000024020012802182204450d00200128021421084100210a034002402008200a41c4006c6a22052802242200418080808078460d000240200528022c2206450d002005280228210003400240200041186a2802002207418080808078460d002007450d002000411c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d00200041046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041386a21002006417f6a22060d000b200528022421000b2000450d00200528022822002000417e6a2f00006b41002802ec82d48000118180808000000b024020052802202206450d00200528021c2100034002402000280200450d00200041046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002006417f6a22060d000b0b02402005280218450d00200528021c22002000417e6a2f00006b41002802ec82d48000118180808000000b200a41016a220a2004470d000b0b02402001280210450d00200128021422002000417e6a2f00006b41002802ec82d48000118180808000000b200128021c450d01200128022022002000417e6a2f00006b41002802ec82d48000118180808000000f0b200141046a10da90808000024020012802182204450d00200128021421084100210a034002402008200a41d0006c6a22052802302200418080808078460d00024020052802382206450d002005280234210003400240200041186a2802002207418080808078460d002007450d002000411c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d00200041046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041386a21002006417f6a22060d000b200528023021000b2000450d00200528023422002000417e6a2f00006b41002802ec82d48000118180808000000b024020052802202206450d00200528021c2100034002402000280200450d00200041046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002006417f6a22060d000b0b02402005280218450d00200528021c22002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280224450d00200528022822002000417e6a2f00006b41002802ec82d48000118180808000000b200a41016a220a2004470d000b0b02402001280210450d00200128021422002000417e6a2f00006b41002802ec82d48000118180808000000b0240200128021c450d00200128022022002000417e6a2f00006b41002802ec82d48000118180808000000b024020012802442204450d00200128024021084100210a034002402008200a4105746a22052802082206450d0020052802042100034002402000280200450d00200041046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002006417f6a22060d000b0b02402005280200450d00200528020422002000417e6a2f00006b41002802ec82d48000118180808000000b0240200528020c450d00200528021022002000417e6a2f00006b41002802ec82d48000118180808000000b200a41016a220a2004470d000b0b0240200128023c450d00200128024022002000417e6a2f00006b41002802ec82d48000118180808000000b200141d8006a10a3918080000b0b9106030b7f017e027f2380808080004180016b22032480808080004180808080782104200128024c21052001280248210602400240024020012802502207418080808078470d000c010b20012802542108200128025c21092001280260210a024002402001280258220b0d00410421040c010b41002d008083d480001a200b41386c220441002802f482d4800011828080800000220c450d02200c200c41036a417c712204200c6b220d6a417e6a200d3b00000b20034100360258200320043602542003200b36025020032007360264200320083602602003200836025c20032008200b41e8006c6a3602682003200236027820032004360274200341003602702003200341d8006a36026c200341dc006a200341ec006a10d290808000200328025021042003290254210e0b4100210b02400240200128021022080d004100210c0c010b200341086a41086a200141086a29030037030020032008360218200320012903003703082003200128021436021c4101210c2002200341086a10be9280800021070b02400240200128022822080d000c010b200341286a200141206a29030037030020032008360230200320012903183703202003200128022c3602344101210b2002200341206a10be92808000210d0b200128026c210f20012802682108200128026421102003200236027c20032010360274200320083602702003200836026c20032008200f41386c6a360278200341dc006a200341ec006a41d8c8ca800010de9080800002400240200128024022080d00410021080c010b200341c0006a200141386a29030037030020032008360248200320012903303703382003200128024436024c410121082002200341386a10be9280800021020b2000200536023c200020063602382000200a360234200020093602302000200e370228200020043602242000200d36020c2000200b360208200020073602042000200c3602002000200329025c3702182000200236021420002008360210200020012d00703a0040200041206a200341e4006a28020036020020034180016a2480808080000f0b4104200410ab80808000000bac0201047f23808080800041106b2202248080808000200028020821032002200028020c22043602042002200241046a360208200241086a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a22043602080240024020002802004101470d00200041046a2100024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200036020c2002410c6a20011083918080000c010b024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b200241106a2480808080000b8e0c01067f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110839180800002402004450d00200320044103746a21050340200328020021062002200341046a28020022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822076b4d0d0020012007200410f491808000200128020821070b200128020420076a2006200410f4978080001a2001200720046a360208200341086a22032005470d000b0b200028021021032002200028021422043602082002200241086a36020c2002410c6a200110839180800002402004450d002004410474210403402003200110e390808000200341106a2103200441706a22040d000b0b02400240024002400240024002400240024020002d00240e080001020304050607000b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41003a00002001200341016a360208200028022c21032002200028023022043602082002200241086a36020c2002410c6a20011083918080002004450d072004410574210403402003200110e590808000200341206a2103200441606a22040d000c080b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41013a00002001200341016a360208200028022c21032002200028023022043602082002200241086a36020c2002410c6a20011083918080002004450d06200441246c210403402003200110e690808000200341246a21032004415c6a22040d000c070b0b200041286a21040240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41023a00002002200436020c2002410c6a20011083918080000c050b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41033a00002001200341016a2203360208200028022821040240200128020020036b41034b0d0020012003410410f491808000200128020821030b2001200341046a360208200128020420036a200436000020022000412c6a36020c2002410c6a20011083918080000c040b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41043a00002001200341016a360208200028022c21032002200028023022043602082002200241086a36020c2002410c6a20011083918080002004450d032004410274210403402002200336020c2002410c6a2001108391808000200341046a21032004417c6a22040d000c040b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41053a00002001200341016a220336020820002d00252104024020012802002003470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a20043a00000c020b200041286a21040240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41063a00002002200436020c2002410c6a20011083918080000c010b200041286a21040240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41073a00002002200436020c2002410c6a200110839180800020022000412c6a36020c2002410c6a20011083918080000b200028021c21032002200028022022043602082002200241086a36020c2002410c6a200110839180800002402004450d00200320044103746a21050340200328020021062002200341046a28020022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822076b4d0d0020012007200410f491808000200128020821070b200128020420076a2006200410f4978080001a2001200720046a360208200341086a22032005470d000b0b200241106a2480808080000b8e0201057f23808080800041106b22022480808080002000410c6a200110f9908080002002200041146a36020c2002410c6a2001108391808000200041186a200110f990808000200028020421032002200028020822003602082002200241086a36020c2002410c6a200110839180800002402000450d00200320004103746a21040340200328020021052002200341046a28020022003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822066b4d0d0020012006200010f491808000200128020821060b200128020420066a2005200010f4978080001a2001200620006a360208200341086a22032004470d000b0b200241106a2480808080000be50301057f23808080800041106b2202248080808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028020421042002200028020822053602082002200241086a36020c2002410c6a200110839180800002402005450d002005410574210503402004200110e590808000200441206a2104200541606a22050d000b0b20002d002021050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20053a0000200028021021042002200028021422053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021032002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822006b4d0d0020012000200510f491808000200128020821000b200128020420006a2003200510f4978080001a2001200020056a360208200441086a22042006470d000b0b200241106a2480808080000ba90203037f017e027f2380808080004180206b22032480808080000240024020014180b51820014180b518491b2204200120014101766b2205200420054b1b220441cd01490d002004ad42147e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541c0c6ca800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210919180800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341cc01200141c1004920021091918080000b20034180206a2480808080000ba90203037f017e027f2380808080004180206b22032480808080000240024020014195ac1420014195ac14491b2204200120014101766b2205200420054b1b220441ab01490d002004ad42187e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541c0c6ca800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210929180800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341aa01200141c1004920021092918080000b20034180206a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10e99080800020052802084101470d0120052802102102200528020c21060b2006200241c8c7ca800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b880401057f23808080800041106b2202248080808000200028022c21032002200028023022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a220436020820002d00342105024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20053a0000200041186a200110f290808000200028020421032002200028020822043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028021021042002200028021422003602082002200241086a36020c2002410c6a200110839180800002402000450d00200420004103746a21060340200428020021032002200441046a28020022003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822056b4d0d0020012005200010f491808000200128020821050b200128020420056a2003200010f4978080001a2001200520006a360208200441086a22042006470d000b0b200241106a2480808080000bd20301057f23808080800041106b2202248080808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a3602082002200041206a36020c2002410c6a2001108391808000200028020421032002200028020822043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028021021042002200028021422003602082002200241086a36020c2002410c6a200110839180800002402000450d00200420004103746a21060340200428020021032002200441046a28020022003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822056b4d0d0020012005200010f491808000200128020821050b200128020420056a2003200010f4978080001a2001200520006a360208200441086a22042006470d000b0b200241106a2480808080000bbb0602087f017e2380808080004180026b220424808080800041002105200441003602282004420037021c200442003702102004428080808080013702082001280200210620012802042107024002400240200128020822080d00410421090c010b41002d008083d480001a200841c4006c220a41002802f482d48000118280808000002201450d012001200141036a417c71220920016b220a6a417e6a200a3b0000200841f8006c210a200841037441786a41037641016a21052009210b200721010340200441c0006a200141f80010f4978080001a200441b8016a200441c0006a200441086a10e290808000200b200441b8016a41c40010f49780800041c4006a210b200141f8006a2101200a41887f6a220a0d000b0b02402006450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200441086a200210be92808000210a20022d0024210b20022802202107200228021c210120042002280218360248200420013602442004200136024020042001200741386c6a36024c2004200441086a3602502004412c6a200441c0006a41d8c8ca800010dd908080002004200b3a003c2004200a360238200441086a200310be92808000210a200441b8016a41206a200441086a41206a280200220b360200200441b8016a41186a2202200441086a41186a290200220c370300200441b8016a41106a200441086a41106a290200370300200441b8016a41086a200441086a41086a290200370300200420042902083703b8012004200b4100200ca722011b360260200420042802d401220b36025c20042001360258200441003602542004200141004722073602502004200b36024c2004200136024820044100360244200420073602402000200441c0006a41f4ffcb800010a992808000200441c4016a10b392808000024020042802b801450d0020042802bc0122012001417e6a2f00006b41002802ec82d48000118180808000000b200210b29280800020002005360214200020093602102000200836020c2000200429022c370218200041206a2004412c6a41086a290200370200200041286a2004412c6a41106a2802003602002000200a36022c20044180026a2480808080000f0b4104200a10ab80808000000bf20201087f23808080800041306b220324808080800020012d0060210420012802442105200128024021060240024020012802004101470d00200128020c21072001280208210820012802042109200341106a200141206a290300370300200341086a200141186a29030037030020032001290310370300200341186a41106a200141386a290300370300200341186a41086a200141306a290300370300200320012903283703182002200310be92808000210a2002200341186a10be9280800021020c010b200341186a41106a200141186a290300370300200341206a200141106a290300370300200320012903083703182002200341186a10be92808000210841808080807821090b200020043a0034200020053602302000200636022c200020023602282000200a360224200020073602202000200836021c200020093602182000200129024837020020002001290358370210200041086a200141d0006a290200370200200341306a2480808080000b8d0301037f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110839180800002402004450d00200441386c210403402002200341346a36020c2002410c6a20011083918080002003200110e490808000200341386a2103200441486a22040d000b0b200028021021032002200028021422043602082002200241086a36020c2002410c6a200110839180800002402004450d00200441c4006c210403402003200110f090808000200341c4006a2103200441bc7f6a22040d000b0b2002200041246a36020c2002410c6a200110839180800020002d002821040240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a20043a00002001200341016a360208200028021c21032002200028022022043602082002200241086a36020c2002410c6a200110839180800020032004200110cb9080800020022000412c6a36020c2002410c6a2001108391808000200241106a2480808080000bb20701047f23808080800041106b2202248080808000200028023821032002200028023c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a2204360208024002402000280224418080808078460d00200041246a2105024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002005200110f1908080000c010b024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b0240024020002802004101470d00200041046a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a20011083918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b0240024020002802084101470d002000410c6a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a20011083918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b200028021c21042002200028022022053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541246c210503402004200110ec90808000200441246a21042005415c6a22050d000b0b0240024020002802104101470d00200041146a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a2001108391808000200128020821040c010b0240200128020020012802082205470d0020012005410110f491808000200128020821050b2001200541016a2204360208200128020420056a41003a00000b20002d00402105024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20053a0000200241106a2480808080000be50101047f23808080800041106b2202248080808000200028020c21032002200028021022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028020421042002200028020822003602082002200241086a36020c2002410c6a200110839180800002402000450d00200041386c210003402004200110eb90808000200441386a2104200041486a22000d000b0b200241106a2480808080000b940301077f23808080800041106b2202248080808000024002402000280200418080808078460d000240200128020020012802082203470d0020012003410110f491808000200128020821030b200041106a21042000410c6a2105200128020420036a41013a00002001200341016a360208200028020421032002200028020822063602082002200241086a36020c2002410c6a200110839180800002402006450d0020012802082100034020032d000021070240024020012802002000460d00200021080c010b20012000410110f491808000200128020821080b200341016a21032001200841016a2200360208200128020420086a20073a00002006417f6a22060d000b0b2002200536020c2002410c6a20011083918080002002200436020c2002410c6a20011083918080000c010b200041046a21000240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41003a00002002200036020c2002410c6a20011083918080000b200241106a2480808080000bd10301097f23808080800041206b22032480808080002003200136021c2003200228020022043602142003200228020422053602102003200536020c2003200520022802084105746a220236021820032003410c6a200520052003411c6a200210d7908080002003280218210220034280808080c0003702142003280210210620034284808080c00037020c20032802042107024020022006460d00200220066b41057621084100210903400240200620094105746a220a2802082201450d00200a28020441306a210203400240200241706a280200450d00200241746a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b02402002417c6a280200450d002002280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b200241386a21022001417f6a22010d000b0b0240200a280200450d00200a28020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a28020c450d00200a28021022022002417e6a2f00006b41002802ec82d48000118180808000000b200941016a22092008470d000b0b20002005360204200020043602002000200720056b4105763602082003410c6a10d890808000200341206a2480808080000be30201057f23808080800041106b2202248080808000200028020c21032002200028021022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a3602082002200041146a36020c2002410c6a2001108391808000200028020421042002200028020822003602082002200241086a36020c2002410c6a200110839180800002402000450d00200420004103746a21060340200428020021032002200441046a28020022003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822056b4d0d0020012005200010f491808000200128020821050b200128020420056a2003200010f4978080001a2001200520006a360208200441086a22042006470d000b0b200241106a2480808080000bff0201067f23808080800041106b2202248080808000200028022c21032002200028023022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a3602082000280218200028021c2001108c918080002002200041346a36020c2002410c6a2001108391808000200028022421042002200028022822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021072002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822036b4d0d0020012003200510f491808000200128020821030b200128020420036a2007200510f4978080001a2001200320056a360208200441086a22042006470d000b0b20002001108191808000200241106a2480808080000bfb0301067f23808080800041106b2202248080808000200041346a210302402001280200200128020822046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22052003290000370000200541086a200341086a290000370000200541106a200341106a290000370000200541186a200341186a2900003700002001200441206a360208200028022c21042002200028023022033602082002200241086a36020c2002410c6a2001108391808000024020032001280200200128020822056b4d0d0020012005200310f491808000200128020821050b200128020420056a2004200310f4978080001a2001200520036a3602082000280218200028021c2001108c918080002002200041d4006a36020c2002410c6a2001108391808000200028022421032002200028022822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200320054103746a21060340200328020021072002200341046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822046b4d0d0020012004200510f491808000200128020821040b200128020420046a2007200510f4978080001a2001200420056a360208200341086a22032006470d000b0b20002001108191808000200241106a2480808080000b920401067f23808080800041106b2202248080808000200028024021032002200028024422043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a220436020820002d00482105024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20053a00002000412c6a200110f290808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028022421042002200028022822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021072002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822036b4d0d0020012003200510f491808000200128020821030b200128020420036a2007200510f4978080001a2001200320056a360208200441086a22042006470d000b0b20002001108191808000200241106a2480808080000bdc0301067f23808080800041106b2202248080808000200028022c21032002200028023022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a3602082002200041346a36020c2002410c6a2001108391808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028022421042002200028022822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021072002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822036b4d0d0020012003200510f491808000200128020821030b200128020420036a2007200510f4978080001a2001200320056a360208200441086a22042006470d000b0b20002001108191808000200241106a2480808080000b930201037f23808080800041106b22022480808080000240024020002802002203450d000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200028020422003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822046b4d0d0020012004200010f491808000200128020821040b200128020420046a2003200010f4978080001a200420006a21000c010b0240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41003a0000200041016a21000b20012000360208200241106a2480808080000b830e020b7f017e23808080800041d0016b2206248080808000200641c8006a41086a200241dc006a28020036020020064100360234200642003702282006420037021c20064280808080800137021420062002290254370348200641146a200210be928080002107200641146a200241186a10be928080002108200641146a200241306a10be928080002109200641386a41086a200241d0006a280200360200200620022902483703384104210a2002280264210b2002280260210c4104210d02400240024020022802682202450d0041002d008083d480001a2002410474220d41002802f482d4800011828080800000220e450d01200e200e41036a417c71220d200e6b220f6a417e6a200f3b00000b2006419c016a41086a220e41003602002006200d3602a0012006200236029c012006200b200241386c6a360284012006200c360280012006200b36027c2006200b3602782006200d3602b001200641003602ac012006200e3602a8012006200641146a3602b401200641f8006a200641a8016a10cf90808000200641dc006a200e2802003602002006200629029c01370254200128020421022001280200210d024020012802082201450d0041002d008083d480001a200141a0016c220a41002802f482d4800011828080800000220b450d02200b200b41036a417c71220a200b6b220e6a417e6a200e3b00000b2006419c016a41086a220b41003602002006200a3602a0012006200136029c0120062002200141e0016c6a360284012006200d360280012006200236027c200620023602782006200a3602b001200641003602ac012006200b3602a8012006200641146a3602b401200641f8006a200641a8016a10d490808000200641e0006a41086a200b2802003602002006200629029c0137036020062003280200220f3602b00120062003280204220c3602ac012006200c3602a8012006200c200328020841386c6a22023602b4012006200641146a3602b801200641086a200641a8016a200c200c200641a8016a41106a200210d69080800020062802b401210220064280808080c0003702b00120062802ac01210a20064284808080c0003702a8012002200a6b41386e210e200628020c211002402002200a460d004100210d03400240200a200d41386c6a220328021c2201450d00200328021841306a210203400240200241706a280200450d00200241746a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b02402002417c6a280200450d002002280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a21022001417f6a22010d000b0b02402003280214450d00200328021822022002417e6a2f00006b41002802ec82d48000118180808000000b02402003280220450d00200328022422022002417e6a2f00006b41002802ec82d48000118180808000000b200d41016a220d200e470d000b0b200641a8016a10d990808000200641146a200410be928080002101200641146a200441186a10be92808000210b200641146a200441306a10be928080002103200641003602bc01200641003602ac0120062005280204220d3602c4012006200528020022023602c0012006200d3602b401200620023602b00120062005280208410020021b3602c8012006200241004722023602b801200620023602a8012006200641146a3602cc01200641ec006a200641a8016a109f91808000200641f8006a41206a200641146a41206a280200220d360200200641f8006a41186a220a200641146a41186a2902002211370300200641f8006a41106a200641146a41106a290200370300200641f8006a41086a200641146a41086a290200370300200620062902143703782006200d41002011a722021b3602c8012006200628029401220d3602c401200620023602c001200641003602bc0120062002410047220e3602b8012006200d3602b401200620023602b001200641003602ac012006200e3602a8012000200641a8016a41f4ffcb800010a99280800020064184016a10b39280800002402006280278450d00200628027c22022002417e6a2f00006b41002802ec82d48000118180808000000b200a10b292808000200041146a200641e0006a41086a2802003602002000200629036037020c20002006290348370218200041206a200641c8006a41086a290300370200200041286a200641d8006a2903003702002000200936023820002008360234200020073602302000200629033837023c200041c4006a200641386a41086a2802003602002000200f3602482000200c36024c20002010200c6b41386e360250200020013602542000200b3602582000200336025c200041e8006a200641ec006a41086a2802003602002000200629026c370260200641d0016a2480808080000f0b4104200d10ab80808000000b4104200a41c0c5ca800010b980808000000b8812030c7f017e047f23808080800041a0026b22032480808080004180808080782104200128027c2105200128027821060240024002400240024002402001280280012207418080808078470d000c010b2001280284012108200128028c012109200128029001210a02400240200128028801220b0d004104210c0c010b41002d008083d480001a200b41cc006c220c41002802f482d4800011828080800000220d450d02200d200d41036a417c71220c200d6b220e6a417e6a200e3b00000b2003410036028c022003200c360288022003200b3602840220032008200b41f8006c6a36029c02200320073602980220032008360294022003200836029002200320023602e8012003200c3602e401200341003602e00120032003418c026a3602dc0120034190026a200341dc016a10d1908080002003280284022104200329028802210f0b4100210e41002110024020012802102208450d00200341306a41086a200141086a290300370300200341306a411c6a220b2001411c6a290200370200200341306a41246a200141246a2802003602002003200836024020032001290300370330200320012902143702442002200341306a10be928080002107200b280200210b2003280250210c2003280248210820032002360280022003200c410020081b3602fc012003200b3602f801200320083602f401200341003602f00120032008410047220c3602ec012003200b3602e801200320083602e401200341003602e0012003200c3602dc01200341dc006a200341dc016a10a09180800020032007360258410121100b024020012802382208450d00200341f0006a200141306a29030037030020034184016a220b200141c4006a2902003702002003418c016a200141cc006a28020036020020032008360278200320012903283703682003200129023c37027c2002200341e8006a10be928080002107200b280200210b200328028801210c200328028001210820032002360280022003200c410020081b3602fc012003200b3602f801200320083602f401200341003602f00120032008410047220c3602ec012003200b3602e801200320083602e401200341003602e0012003200c3602dc0120034194016a200341dc016a10a09180800020032007360290014101210e0b2001280298012108200128029401210d02400240200128029c01220b0d00410421070c010b41002d008083d480001a200b41386c220741002802f482d4800011828080800000220c450d02200c200c41036a417c712207200c6b22116a417e6a20113b00000b4100211120034184026a41086a220c410036020020032007360288022003200b3602840220032008200b41d0006c6a36029c022003200d3602980220032008360294022003200836029002200320023602e801200320073602e401200341003602e0012003200c3602dc0120034190026a200341dc016a10cd90808000200341086a200c2802003602002003200329028402370300024020012802602208450d00200341a0016a41086a200141d8006a290300370300200341bc016a220b200141ec006a290200370200200341c4016a200141f4006a280200360200200320083602b001200320012903503703a001200320012902643702b4012002200341a0016a10be928080002107200b280200210b20032802c001210c20032802b801210820032002360280022003200c410020081b3602fc012003200b3602f801200320083602f401200341003602f00120032008410047220c3602ec012003200b3602e801200320083602e401200341003602e0012003200c3602dc01200341d0016a200341dc016a10a091808000200320073602cc01410121110b20012802a401210b20012802a00121124104210d4104210c024020012802a8012207450d0041002d008083d480001a200741186c220c41002802f482d48000118280808000002208450d032008200841036a417c71220c20086b22136a417e6a20133b00000b20034184026a41086a220841003602002003200c3602880220032007360284022003200b200741306c6a36029c0220032012360298022003200b360294022003200b36029002200320023602e8012003200c3602e401200341003602e001200320083602dc0120034190026a200341dc016a10d590808000200341106a41086a2008280200360200200320032902840237031020012802b001210b20012802ac012112024020012802b4012207450d0041002d008083d480001a200741d8006c220d41002802f482d4800011828080800000220c450d04200c200c41036a417c71220d200c6b22136a417e6a20133b00000b200841003602002003200d3602880220032007360284022003200b200741f0006c6a36029c0220032012360298022003200b360294022003200b36029002200320023602e8012003200d3602e401200341003602e001200320083602dc0120034190026a200341dc016a10d090808000200341206a41086a2008280200360200200320032902840237032020012802c001210220012802bc01210820012802b801210b20012d00d80121070240024020012802c401220c41024f0d000c010b20012802cc01210d20012802c801211220012802d001211320012802d40121010b200020053602980120002006360294012000200a360290012000200936028c012000200f37028401200020043602800120002010360200200020032902583702042000200e3602142000200329029001370218200020032903003702502000410c6a200341d8006a41086a290200370200200041206a20034190016a41086a290200370200200041d8006a200341086a28020036020020002011360228200020073a009c012000200b360274200020083602782000200236027c2000200c36023c200020123602402000200d360244200020133602482000200136024c200041346a200341cc016a41086a290200370200200020032902cc0137022c200041e4006a200341106a41086a2802003602002000200329031037025c200041f0006a200341206a41086a28020036020020002003290320370268200341a0026a2480808080000f0b4104200c41c0c5ca800010b980808000000b4104200741c0c5ca800010b980808000000b4104200c10ab80808000000b4104200d41c0c5ca800010b980808000000b9d04010c7f23808080800041c0006b220324808080800020012802242104200128022021052001280244210620012802402107024002400240200128024822080d00410421090c010b41002d008083d480001a2008410c6c220941002802f482d4800011828080800000220a450d01200a200a41036a417c712209200a6b220b6a417e6a200b3b00000b200341146a41086a220a410036020020032009360218200320083602142003200620084105746a36022c2003200736022820032006360224200320063602202003200236023c20032009360238200341003602342003200a360230200341206a200341306a10ce90808000200341086a41086a2206200a280200360200200320032902143703082002200141286a10be9280800021082001280254210220012802502109200128024c210a024002402001280258220741024f0d000c010b2001280260210c200128025c210d2001280264210e2001280268210b0b200020043602302000200536022c200020032903083702142000200836025420002002360228200020093602242000200a36022020002001290200370234200041cc006a200141186a290200370200200041c4006a200141106a2902003702002000413c6a200141086a2902003702002000411c6a20062802003602002000200b3602102000200e36020c2000200c3602082000200d36020420002007360200200341c0006a2480808080000f0b4104200910ab80808000000ba804020d7f017e410121014101210202402000280230220341c000490d0041022102200341ffff004d0d00410441052003418080808004491b21020b02402000280234220341c000490d0041022101200341ffff004d0d00410441052003418080808004491b21010b410121044101210502402000280238220341c000490d0041022105200341ffff004d0d00410441052003418080808004491b21050b02402000280254220341c000490d0041022104200341ffff004d0d00410441052003418080808004491b21040b410121064101210702402000280258220341c000490d0041022107200341ffff004d0d00410441052003418080808004491b21070b20002802202108200028021421092000280208210a2000280250210b200028022c210c200028024421030240200028025c220d41c000490d0041022106200d41ffff004d0d0041044105200d418080808004491b21060b417f417f417f417f200a41386c200941a0016c6a41086a2209417f417f417f417f417f200841046a220820026a220220022008491b220220016a220120012002491b220120056a220220022001491b220141032003410474410472200341ffffffff004b1b6a220320032001491b2203200c4104746a41046a220120012003491b6a220320032009491b2203200b41386c6a41046a220120012003491b2203200720046a20066a6a220120012003491b22034103200035026842187e220ea7410472200e422088a71b6a220020002003491b0b890501047f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110839180800002402004450d00200441386c210403402002200341346a36020c2002410c6a20011083918080002003200110e490808000200341386a2103200441486a22040d000b0b200028021021032002200028021422043602082002200241086a36020c2002410c6a200110839180800002402004450d00200441a0016c210403402003200110ff90808000200341a0016a2103200441e07e6a22040d000b0b200028021c21052002200028022022033602082002200241086a36020c2002410c6a2001108391808000024020032001280200200128020822046b4d0d0020012004200310f491808000200128020821040b200128020420046a2005200310f4978080001a2001200420036a3602082002200041306a36020c2002410c6a20011083918080002002200041346a36020c2002410c6a20011083918080002002200041386a36020c2002410c6a20011083918080002000413c6a2001109c91808000200028022821032002200028022c22043602082002200241086a36020c2002410c6a200110839180800020032004200110ca90808000200028024c21032002200028025022043602082002200241086a36020c2002410c6a200110839180800002402004450d00200441386c2104034020032001108091808000200341386a2103200441486a22040d000b0b2002200041d4006a36020c2002410c6a20011083918080002002200041d8006a36020c2002410c6a20011083918080002002200041dc006a36020c2002410c6a2001108391808000200041e0006a2001109a91808000200241106a2480808080000b8a0c01067f23808080800041106b22022480808080002000280294012103200220002802980122043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a220436020802400240200028028001418080808078460d00024020012802002004470d0020012004410110f491808000200128020821040b200128020420046a41013a00002001200441016a360208200028028c012103200220002802900122043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a3602082000280284012104200220002802880122053602082002200241086a36020c2002410c6a20011083918080002005450d01200541cc006c210503402004200110f790808000200441cc006a2104200541b47f6a22050d000c020b0b024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b0240024020002802004101470d00200041046a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a2001108391808000200041086a2001109b918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b0240024020002802144101470d00200041186a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a20011083918080002000411c6a2001109b918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b200028025421042002200028025822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541386c210503402004200110f890808000200441386a2104200541486a22050d000b0b0240024020002802284101470d002000412c6a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a2001108391808000200041306a2001109b918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b200028026021042002200028026422053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541186c210503402004200110f490808000200441186a2104200541686a22050d000b0b200028026c21042002200028027022053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541d8006c210503402004200110f690808000200441d8006a2104200541a87f6a22050d000b0b20002d009c0121050240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a20053a00002001200441016a360208200028027821042002200028027c22053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021072002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822036b4d0d0020012003200510f491808000200128020821030b200128020420036a2007200510f4978080001a2001200320056a360208200441086a22042006470d000b0b2000413c6a2001108191808000200241106a2480808080000bc30301067f23808080800041106b2202248080808000200028022c21032002200028023022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028021821042002200028021c22053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541386c210503402004200110f590808000200441386a2104200541486a22050d000b0b200028022421042002200028022822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021072002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822036b4d0d0020012003200510f491808000200128020821030b200128020420036a2007200510f4978080001a2001200320056a360208200441086a22042006470d000b0b2002200041346a36020c2002410c6a200110839180800020002001108191808000200241106a2480808080000bc50401047f23808080800041106b2202248080808000024002400240024020002802000e03000102000b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000c020b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00000c010b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41023a0000200028020c21042002200028021022033602082002200241086a36020c2002410c6a2001108391808000024020032001280200200128020822056b4d0d0020012005200310f491808000200128020821050b200128020420056a2004200310f4978080001a2001200520036a2203360208024020002802042205450d00024020012802002003470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41013a00002002200028020822003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822036b4d0d0020012003200010f491808000200128020821030b200128020420036a2005200010f4978080001a2001200320006a3602080c010b024020012802002003470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41003a00000b200241106a2480808080000bf90301047f23808080800041106b22022480808080000240024020002802002203450d000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41023a00002002200028020422043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a2204360208024020002802082205450d00024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200028020c22003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822046b4d0d0020012004200010f491808000200128020821040b200128020420046a2005200010f4978080001a2001200420006a3602080c020b024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000c010b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00000b200241106a2480808080000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000bc01101047f23808080800041206b22022480808080004100210302400240417f2001108591808000220441046a220520052004491b22054100480d0041002d008083d480001a200541002802f482d480001182808080000022040d01410121030b2003200541d0c9ca800010b980808000000b2004417e6a41003b0000200220043602102002200536020c2004200128026c36000041042105200241043602140240024002400240024002400240024002400240200128020022044188808080782004418880808078481b4180808080786a0e09000102030405060708000b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a41083a00002002200441016a360214200128020821052002200128020c22043602182002200241186a36021c2002411c6a2002410c6a10839180800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2005200410f4978080001a2002200120046a3602140c080b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a41093a00002002200441016a360214200128020821052002200128020c22043602182002200241186a36021c2002411c6a2002410c6a10839180800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2005200410f4978080001a2002200120046a3602140c070b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a410a3a00002002200441016a360214200128020821052002200128020c22043602182002200241186a36021c2002411c6a2002410c6a10839180800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2005200410f4978080001a2002200120046a3602140c060b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a410b3a00002002200441016a360214200128020821052002200128020c22043602182002200241186a36021c2002411c6a2002410c6a10839180800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2005200410f4978080001a2002200120046a3602140c050b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a410c3a00002002200441016a360214200128020821052002200128020c22043602182002200241186a36021c2002411c6a2002410c6a10839180800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2005200410f4978080001a2002200120046a3602140c040b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a410d3a00002002200441016a360214200128020821052002200128020c22043602182002200241186a36021c2002411c6a2002410c6a10839180800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2005200410f4978080001a2002200120046a3602140c030b41042104200141046a21010240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a410e3a00002002200441016a36021420012002410c6a10ef908080000c020b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a410f3a00002002200441016a360214200128020821042002200128020c22053602182002200241186a36021c2002411c6a2002410c6a10839180800002402005450d00200541386c210503402002200441346a36021c2002411c6a2002410c6a10839180800020042002410c6a10e490808000200441386a2104200541486a22050d000b0b200128021421042002200128021822053602182002200241186a36021c2002411c6a2002410c6a10839180800002402005450d00200541d0006c2105034020042002410c6a108691808000200441d0006a2104200541b07f6a22050d000b0b20012d003821050240200228020c20022802142204470d002002410c6a2004410110f491808000200228021421040b200228021020046a20053a00002002200441016a3602142002200141286a36021c2002411c6a2002410c6a10839180800020022001412c6a36021c2002411c6a2002410c6a1083918080002002200141306a36021c2002411c6a2002410c6a1083918080002002200141346a36021c2002411c6a2002410c6a108391808000200128022021042002200128022422053602182002200241186a36021c2002411c6a2002410c6a108391808000200420052002410c6a10ca908080002002200141c8006a36021c2002411c6a2002410c6a108391808000200128024021042002200128024422053602182002200241186a36021c2002411c6a2002410c6a10839180800002402005450d0020054105742105034020042002410c6a108791808000200441206a2104200541606a22050d000b0b2002200141cc006a36021c2002411c6a2002410c6a1083918080002002200141d0006a36021c2002411c6a2002410c6a1083918080002002200141d4006a36021c2002411c6a2002410c6a108391808000200141d8006a2002410c6a109a918080000c010b0240200228020c4104470d002002410c6a4104410110f491808000200228021421050b200228021020056a41103a00002002200541016a36021420012002410c6a10fe908080000b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b830301047f024002400240024002400240024002400240024002400240200028020022014188808080782001418880808078481b4180808080786a0e09000102030405060708000b200028020c41046a21000c0a0b200028020c41046a21000c090b200028020c41046a21000c080b200028020c41046a21000c070b200028020c41046a21000c060b200028020c41046a21000c050b02402000280228220141c0004f0d00410621010c040b200141ffff004b0d02410721010c030b200041046a10909180800021000c030b200010fd9080800021000c020b4109410a2001418080808004491b21010b20002802182102200028020c210320002802242104024002402000280230220041c0004f0d00410121000c010b0240200041ffff004b0d00410221000c010b410441052000418080808004491b21000b417f417f417f200241c4006c200341386c41047222026a41046a220320032002491b220220044104742001726a220120012002491b220120006a220020002001491b21000b200041016a0bef0801057f23808080800041106b2202248080808000200028024421032002200028024822043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a2204360208024002402000280230418080808078460d00200041306a2105024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002005200110f1908080000c010b024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b0240024020002802004101470d00200041046a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a20011083918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b0240024020002802084101470d002000410c6a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a20011083918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b200028021c21042002200028022022053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541246c210503402004200110ec90808000200441246a21042005415c6a22050d000b0b0240024020002802104101470d00200041146a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a2001108391808000200128020821040c010b0240200128020020012802082205470d0020012005410110f491808000200128020821050b2001200541016a2204360208200128020420056a41003a00000b20002d004c2105024020012802002004470d0020012004410110f491808000200128020821040b200128020420046a20053a00002001200441016a360208200028022821042002200028022c22053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021032002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822006b4d0d0020012000200510f491808000200128020821000b200128020420006a2003200510f4978080001a2001200020056a360208200441086a22042006470d000b0b200241106a2480808080000ba20301057f23808080800041106b2202248080808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028020421042002200028020822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541246c2105034020042001108b91808000200441246a21042005415c6a22050d000b0b200028021021042002200028021422053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021032002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822006b4d0d0020012000200510f491808000200128020821000b200128020420006a2003200510f4978080001a2001200020056a360208200441086a22042006470d000b0b200241106a2480808080000bfe0101067f024020034108490d00200020002003410376220341e0006c22046a2000200341a8016c22056a200310889180800021002001200120046a200120056a200310889180800021012002200220046a200220056a200310889180800021020b2000280200220620012802002207200041046a2802002203200141046a280200220420032004491b10f597808000210802402006200228020022092003200241046a280200220520032005491b10f5978080002206200320056b20061b2008200320046b20081b2203734100480d0020022001200720092004200520042005491b10f5978080002200200420056b20001b2003734100481b21000b20000b8d0101037f024020034108490d00200020002003410376220341d0006c22046a20002003418c016c22056a200310899180800021002001200120046a200120056a200310899180800021012002200220046a200220056a200310899180800021020b20002002200120002d0000220320012d00002204492205200420022d0000220649731b20052003200649731b0bef0101097f024020014108490d0020002001410376220341a8016c6a21042000200341e0006c6a210502400240200141c000490d00200020052004200310889180800021060c010b2000280200220720052802002208200041046a2802002201200541046a280200220320012003491b10f59780800021092000210620072004280200220a2001200441046a280200220b2001200b491b10f59780800022072001200b6b20071b2009200120036b20091b2201734100480d00200420052008200a2003200b2003200b491b10f59780800022062003200b6b20061b2001734100481b21060b200620006b41186e0f0b000bf50201057f23808080800041106b2202248080808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028020420002802082001108c918080002002200041206a36020c2002410c6a2001108391808000200028021021042002200028021422003602082002200241086a36020c2002410c6a200110839180800002402000450d00200420004103746a21060340200428020021032002200441046a28020022003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822056b4d0d0020012005200010f491808000200128020821050b200128020420056a2003200010f4978080001a2001200520006a360208200441086a22042006470d000b0b200241106a2480808080000be80101047f23808080800041106b2203248080808000200320013602082003200341086a36020c2003410c6a200210839180800002402001450d0020002001410c6c6a21040340200028020021052003200041046a28020022013602082003200341086a36020c2003410c6a2002108391808000024020012002280200200228020822066b4d0d0020022006200110f491808000200228020821060b200228020420066a2005200110f4978080001a2002200620016a3602082003200041086a36020c2003410c6a20021083918080002000410c6a22002004470d000b0b200341106a2480808080000bad0a020c7f017e23808080800041c0016b22072480808080002007410036022c200742003702202007420037021420074280808080800137020c20022d006c21082007410c6a200210be9280800021092007410c6a200241186a10be92808000210a2007410c6a200241306a10be92808000210b4104210c2002280264210d2002280260210e4104210f02400240024020022802682210450d0041002d008083d480001a2010410474220f41002802f482d48000118280808000002211450d012011201141036a417c71220f20116b22126a417e6a20123b00000b200741b4016a41086a221141003602002007200f3602b801200720103602b4012007200d201041386c6a3602742007200e3602702007200d36026c2007200d3602682007200f3602940120074100360290012007201136028c0120072007410c6a36029801200741e8006a2007418c016a10cf90808000200741306a41086a2011280200360200200720072902b4013703302007410c6a200241c8006a10be9280800021102001280200210f20012802042102024020012802082201450d0041002d008083d480001a200141d0006c220c41002802f482d4800011828080800000220d450d02200d200d41036a417c71220c200d6b220e6a417e6a200e3b00000b201141003602002007200c3602b801200720013602b4012007200220014107746a3602742007200f3602702007200236026c200720023602682007200c3602940120074100360290012007201136028c0120072007410c6a36029801200741e8006a2007418c016a10cc90808000200741c0006a41086a2011280200360200200720072902b4013703402007410c6a200310be928080002111200741d0006a2007410c6a200410f3908080002007410c6a200510be9280800021012007410c6a200541186a10be92808000210d2007410c6a200541306a10be928080002105200741003602a001200741003602900120072006280204220f3602a8012007200628020022023602a4012007200f36029801200720023602940120072006280208410020021b3602ac0120072002410047220236029c012007200236028c0120072007410c6a3602b001200741dc006a2007418c016a109f91808000200741e8006a41206a2007410c6a41206a2802002206360200200741e8006a41186a220f2007410c6a41186a2902002213370300200741e8006a41106a2007410c6a41106a290200370300200741e8006a41086a2007410c6a41086a2902003703002007200729020c3703682007200641002013a722021b3602ac01200720072802840122063602a801200720023602a401200741003602a00120072002410047220c36029c012007200636029801200720023602940120074100360290012007200c36028c0120002007418c016a41f4ffcb800010a992808000200741f4006a10b39280800002402007280268450d00200728026c22022002417e6a2f00006b41002802ec82d48000118180808000000b200f10b292808000200041146a200741c0006a41086a2802003602002000200729034037020c20002007290330370218200041206a200741306a41086a28020036020020002011360244200020083a0034200020103602302000200b36022c2000200a3602282000200936022420002007290250370238200041c0006a200741d0006a41086a280200360200200020053602502000200d36024c200020013602482000200729025c370254200041dc006a200741dc006a41086a280200360200200741c0016a2480808080000f0b4104200f10ab80808000000b4104200c10ab80808000000bd60201097f23808080800041306b220324808080800020012802242104200128022021052001280204210620012802002107024002400240200128022822080d00410421090c010b41002d008083d480001a2008410c6c220941002802f482d4800011828080800000220a450d01200a200a41036a417c712209200a6b220b6a417e6a200b3b00000b200341046a41086a220a410036020020032009360208200320083602042003200420084105746a36021c2003200536021820032004360214200320043602102003200236022c20032009360228200341003602242003200a360220200341106a200341206a10ce90808000200041086a200a2802003602002000200329020437020020002002200141086a10be928080003602202000200636021c20002007360218200020012802343602142000200129022c37020c200341306a2480808080000f0b4104200910ab80808000000bdb0603057f017e097f23808080800041a0016b2203248080808000200128024c2104200128024821054180808080782106024020012802502207418080808078460d00200129025c2108200128025421092001280258210a200320023602900120032009200a41e8006c6a36028c01200320073602880120032009360284012003200936028001200341246a20034180016a41d8c8ca800010dc90808000200341106a200837030020032003290228370308200328022421060b4100210b02400240200128021022090d004100210c0c010b200341386a41086a200141086a29030037030020032009360248200320012903003703382003200128021436024c4101210c2002200341386a10be92808000210d0b02400240200128022822090d000c010b200341d8006a200141206a29030037030020032009360260200320012903183703502003200128022c3602644101210b2002200341d0006a10be92808000210e0b200128026821092001280264210f024002400240200128026c22070d004104210a0c010b41002d008083d480001a200741246c220a41002802f482d48000118280808000002210450d012010201041036a417c71220a20106b22116a417e6a20113b00000b4100211120034194016a41086a221041003602002003200a36029801200320073602940120032009200741386c6a3602302003200f36022c20032009360228200320093602242003200236028c012003200a3602880120034100360284012003201036028001200341246a20034180016a10d390808000200341186a41086a22092010280200360200200320032902940137031802400240200128024022070d000c010b200341e8006a41086a200141386a29030037030020032007360278200320012903303703682003200128024436027c410121112002200341e8006a10be9280800021020b200020043602482000200536024420002006360230200020032903083702342000200e36020c2000200b3602082000200d3602042000200c360200200020032903183702182000200128027836022c200020012903703702242000413c6a200341086a41086a290300370200200041206a2009280200360200200020012d007c3a004c2000200236021420002011360210200341a0016a2480808080000f0b4104200a10ab80808000000bc804020c7f017e024002402000280224220141c0004f0d00410621020c010b0240200141ffff004b0d00410721020c010b4109410a2001418080808004491b21020b410121014101210302402000280228220441c000490d0041022103200441ffff004d0d00410441052004418080808004491b21030b0240200028022c220441c000490d0041022101200441ffff004d0d00410441052004418080808004491b21010b410121044101210502402000280230220641c000490d0041022105200641ffff004d0d00410441052006418080808004491b21050b02402000280244220641c000490d0041022104200641ffff004d0d00410441052006418080808004491b21040b410121064101210702402000280248220841c000490d0041022107200841ffff004d0d00410441052008418080808004491b21070b0240200028024c220841c000490d0041022106200841ffff004d0d00410441052008418080808004491b21060b20002802142108200028020821092000280220210a2000280240210b024002402000280250220c41c0004f0d004101210c0c010b0240200c41ffff004b0d004102210c0c010b41044105200c418080808004491b210c0b417f417f417f417f417f200941386c200841d0006c6a41086a2208200220036a20016a20056a200a4104746a6a220120012008491b220120046a220320032001491b2201200b4105746a41046a220320032001491b2201200620076a200c6a6a220320032001491b22014103200035025c42187e220da7410472200d422088a71b6a220020002001491b0bc80b05017f017e127f017e027f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802107024002402001418120490d00410141202001410172676b41017622087420012008766a41017621090c010b200120014101766b220841c000200841c000491b21090b2000416c6a210a200041286a210b410121084100210c4100210d03404100210e4101210f02402001200c4b2210450d002000200c41146c22116a2112024002402001200c6b22132009490d0002400240201341024f0d00201321140c010b024002400240024020122d0014221520122d00004922160d004102211420134102460d04200b20116a2117410221140340201541ff0171211820172d000022152018490d03201741146a21172013201441016a2214470d000c020b0b410221144101211920134102460d02200b20116a2117410221140340201541ff0171211820172d0000221520184f0d02201741146a21172013201441016a2214470d000b0b201321140b20142009490d022016450d010240201441024f0d00410121140c020b201441017621190b200a201441146c6a2117200021180340201820116a221328020021122013201720116a221528020036020020152012360200201541046a221228020021162012201341046a220e280200360200200e2016360200201341086a221228020021162012201541086a220e280200360200200e20163602002015410c6a2212280200211620122013410c6a220e280200360200200e2016360200201341106a221328020021122013201541106a2215280200360200201520123602002017416c6a2117201841146a21182019417f6a22190d000b0b2014410174410172210f0c010b024020040d002013200920132009491b410174210f0c010b20122013412020134120491b2213200220034100410020051099918080002013410174410172210f0b200f410176200c6aad200cad221a7c20077e200c20084101766bad201a7c20077e8579a7210e0b02400240200d4102490d00200a200c41146c22136a211b200020136a211c03402006418e026a200d417f6a22186a2d0000200e490d010240024002400240200641046a20184102746a28020022134101762217200841017622116a221220034b0d002013200872410171450d010b2000200c20126b41146c6a210d024020134101710d00200d201720022003201741017267410174413e73410020051099918080000b20084101710d01200d201741146c6a201120022003201141017267410174413e73410020051099918080000c010b201241017421080c010b024020084102490d0020134102490d00200320112017201120174922151b2208490d002002200d201741146c6a2213200d20151b200841146c221510f497808000221620156a2115024002400240201120174f0d00201b2108034020082013416c6a22132015416c6a221520152d0000221120132d000022144922191b2217290200370200200841086a201741086a290200370200200841106a201741106a2802003602002015201941146c6a21152013201120144f41146c6a2213200d460d022008416c6a210820152016470d000c020b0b024020080d00201621080c020b201621080340200d2013200820132d0000221120082d000022144922191b2217290200370200200d41086a201741086a290200370200200d41106a201741106a280200360200200d41146a210d2008201120144f41146c6a22082015460d022013201941146c6a2213201c470d000c020b0b2013210d201621080b200d2008201520086b10f4978080001a0b201241017441017221080b410121132018210d201841014b0d000c020b0b200d21130b2006418e026a20136a200e3a0000200641046a20134102746a200836020002402010450d00201341016a210d200f410176200c6a210c200f21080c010b0b20084101710d002000200120022003200141017267410174413e73410020051099918080000b200641d0026a2480808080000bb60d05017f017e127f017e017f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802107024002402001418120490d00410141202001410172676b41017622087420012008766a41017621090c010b200120014101766b220841c000200841c000491b21090b200041686a210a200041346a210b410121084100210c4100210d03404100210e4101210f02402001200c4b2210450d002000200c41186c22116a210e024002402001200c6b22122009490d0002400240201241024f0d00201221130c010b0240024002400240200e2802182214200e280200200e411c6a2802002215200e41046a280200221620152016491b10f5978080002217201520166b20171b41004822180d004102211320124102460d04200b20116a21164102211303402016417c6a2802002219201420162802002217201520172015491b10f5978080002214201720156b20141b4100480d03201641186a211620172115201921142012201341016a2213470d000c020b0b410221134101211920124102460d02200b20116a21164102211303402016417c6a2802002219201420162802002217201520172015491b10f5978080002214201720156b20141b417f4a0d02201641186a211620172115201921142012201341016a2213470d000b0b201221130b20132009490d022018450d010240201341024f0d00410121130c020b201341017621190b200a201341186c6a2116200021170340201620116a221528020021142015201720116a221228020036020020122014360200201241046a2214280200210e2014201541046a22182802003602002018200e360200201541086a2214280200210e2014201241086a22182802003602002018200e3602002012410c6a2214280200210e20142015410c6a22182802003602002018200e360200201541106a2214280200210e2014201241106a22182802003602002018200e360200201241146a221228020021142012201541146a221528020036020020152014360200201641686a2116201741186a21172019417f6a22190d000b0b2013410174410172210f0c010b024020040d002012200920122009491b410174210f0c010b200e2012412020124120491b2215200220034100410020051098918080002015410174410172210f0b200f410176200c6aad200cad221a7c20077e200c20084101766bad201a7c20077e8579a7210e0b02400240200d4102490d00200a200c41186c22156a211b200020156a211803402006418e026a200d417f6a22136a2d0000200e490d010240024002400240200641046a20134102746a280200220d4101762216200841017622176a221420034b0d00200d200872410171450d010b2000200c20146b41186c6a21150240200d4101710d002015201620022003201641017267410174413e73410020051098918080000b20084101710d012015201641186c6a201720022003201741017267410174413e73410020051098918080000c010b201441017421080c010b024020084102490d00200d4102490d00200320172016201720164922121b220d490d0020022015201641186c6a2208201520121b200d41186c221210f497808000221920126a2112024002400240201720164f0d00201b210d0340200841686a2116201241686a2117200d20172016201728020020162802002012416c6a28020022122008416c6a280200220820122008491b10f5978080002211201220086b20111b2212417f4a22111b2208290200370200200d41106a200841106a290200370200200d41086a200841086a29020037020020172012411f7641186c6a21122016201141186c6a22082015460d02200d41686a210d20122019470d000c020b0b0240200d0d002019210d0c020b2019210d03402015200d20082008280200200d280200200841046a2802002216200d41046a280200221720162017491b10f5978080002211201620176b20111b2211417f4a22171b2216290200370200201541106a201641106a290200370200201541086a201641086a290200370200201541186a2115200d201741186c6a220d2012460d0220082011411f7641186c6a22082018470d000c020b0b200821152019210d0b2015200d2012200d6b10f4978080001a0b201441017441017221080b410121152013210d201341014b0d000c020b0b200d21150b2006418e026a20156a200e3a0000200641046a20154102746a200836020002402010450d00201541016a210d200f410176200c6a210c200f21080c010b0b20084101710d002000200120022003200141017267410174413e73410020051098918080000b200641d0026a2480808080000bab04010a7f200028021820002802002000411c6a2802002202200041046a280200220320022003491b10f5978080002104200041c800413020002802482000280230200041cc006a2802002205200041346a280200220620052006491b10f5978080002207200520066b20071b41004822061b6a21052000413041c80020061b6a2106200620002004200220036b20041b2203417f73411f7641186c6a22022005200528020020002003411f7641186c6a2200280200200541046a2802002203200041046a280200220420032004491b10f5978080002207200320046b20071b41004822071b20062802002002280200200641046a2802002203200241046a280200220420032004491b10f5978080002208200320046b20081b41004822081b220328020020002005200220081b20071b2204280200200341046a2802002209200441046a280200220a2009200a491b10f597808000210b200141106a2005200020071b220041106a290200370200200141086a200041086a29020037020020012000290200370200200120032004200b2009200a6b200b1b41004822051b2200290200370218200141286a200041106a290200370200200141206a200041086a290200370200200141c0006a2004200320051b220041106a290200370200200141386a200041086a2902003702002001200029020037023020012002200620081b2200290200370248200141d0006a200041086a290200370200200141d8006a200041106a2902003702000bb20201087f23808080800041206b210402402002417f6a20014f0d00024020022001460d002000200141146c6a21052000200241146c22066a2107200441176a2108200441086a41086a21090340024020072d0000220a2007416c6a2d00004f0d002008200741106a2800003600002009200741096a290000370300200420072900013703082006210102400340200020016a22022002416c6a220b290200370200200241106a200b41106a280200360200200241086a200b41086a290200370200024020014114470d00200021020c020b2001416c6a2101200a200241586a2d0000490d000b200020016a21020b2002200a3a000020022004290308370001200241096a2009290300370000200241106a20082800003600000b200641146a2106200741146a22072005470d000b0b0f0b000bf60201087f23808080800041106b220424808080800002402002417f6a20014f0d00024020022001460d002000200141186c6a21052000200241186c22066a2107200441086a21080340024020072802002209200741686a280200200741046a280200220a2007416c6a2802002202200a2002491b10f5978080002201200a20026b20011b417f4a0d002008200741106a290200370300200420072902083703002006210102400340200020016a2202200241686a220b290200370200200241106a200b41106a290200370200200241086a200b41086a290200370200024020014118470d00200021020c020b200141686a21012009200241506a280200200a200241546a2802002202200a2002491b10f597808000220b200a20026b200b1b4100480d000b200020016a21020b2002200a3602042002200936020020022004290300370208200241106a20082903003702000b200641186a2106200741186a22072005470d000b0b200441106a2480808080000f0b000b8d0b03097f017e067f23808080800041106b22052480808080000240024020014102490d00024002402003200141106a490d004101210620022001410176220741186c22036a2108200020036a210902400240200141074d0d002000200210939180800020092008109391808000410421060c010b20022000290200370200200241106a200041106a290200370200200241086a200041086a29020037020020082009290200370200200841086a200941086a290200370200200841106a200941106a2902003702000b200120076b210a200620074f0d01200641186c210b2006210c03402002200c41186c220d6a22032000200d6a220d290200220e370200200341106a200d41106a220f290200370200200341086a200d41086a2902003702000240200ea72210200341686a280200200341046a28020022112003416c6a280200220320112003491b10f5978080002212201120036b20121b417f4a0d00200541086a2213200f2902003703002005200d290208370300200b210d024003402002200d6a2203200341686a2212290200370200200341106a201241106a290200370200200341086a201241086a2902003702000240200d4118470d00200221030c020b200d41686a210d2010200341506a2802002011200341546a280200220320112003491b10f5978080002212201120036b20121b4100480d000b2002200d6a21030b200320113602042003201036020020032005290300370208200341106a20132903003702000b200b41186a210b200c41016a220c2007470d000c020b0b000b02402006200a4f0d00200641186c210c2008210f4118211303402008200641186c220d6a22032009200d6a2211290200220e370200200341106a201141106a2210290200370200200341086a201141086a2902003702000240200ea7220b200341686a280200200341046a280200220d2003416c6a2802002203200d2003491b10f5978080002212200d20036b20121b417f4a0d00200541086a2214201029020037030020052011290208370300200f211120132110024003402011200c6a2203200341686a2212290200370200200341106a201241106a290200370200200341086a201241086a2902003702000240200c2010470d00200821030c020b201141686a2111201041186a2110200b200341506a280200200d200341546a2802002203200d2003491b10f5978080002212200d20036b20121b4100480d000b2011200c6a21030b2003200d3602042003200b36020020032005290300370208200341106a20142903003702000b200f41186a210f201341686a2113200641016a2206200a470d000b0b200841686a21032002200141186c41686a22116a210d200020116a2111034020002002200820082802002002280200200841046a2802002212200241046a280200221020122010491b10f597808000220c201220106b200c1b220c417f4a220b1b2212290200370200200041106a201241106a290200370200200041086a201241086a2902003702002011200d2003200d2802002003280200200d41046a2802002212200341046a280200221020122010491b10f5978080002206201220106b20061b2210417f4a1b2212290200370200201141106a201241106a290200370200201141086a201241086a2902003702002002200b41186c6a21022008200c411f7641186c6a210820032010411f75221241186c6a2103200d2012417f7341186c6a210d201141686a2111200041186a21002007417f6a22070d000b200341186a210302402001410171450d00200020022008200220034922121b2211290200370200200041106a201141106a290200370200200041086a201141086a2902003702002008200220034f41186c6a21082002201241186c6a21020b20022003470d012008200d41186a470d010b200541106a2480808080000f0b109c81808000000bf00e030d7f017e037f23808080800041206b22052480808080000240024020014102490d00024002402003200141106a490d00410121062001410176210702400240200141074d0d0020022000413c412820002d003c20002d00284922081b6a2203200020002d0014220920002d0000220a4941146c6a220b20032d0000200b2d000049220c1b220d290200370200200241086a200d41086a290200370200200241106a200d41106a280200360200200220004128413c20081b6a220820002009200a4f41146c6a220d2003200c1b20082d0000200d2d00004922091b220a200b2003200d20091b200c1b2203200a2d000020032d000049220c1b220b2902003702142002411c6a200b41086a290200370200200241246a200b41106a280200360200200241386a2003200a200c1b220341106a280200360200200241306a200341086a29020037020020022003290200370228200241cc006a200d200820091b220341106a280200360200200241c4006a200341086a2902003702002002200329020037023c2000200741146c220e6a220320032d0014220b20032d000022084941146c6a220c2003413c412820032d003c20032d00284922091b6a220d2003200b20084f41146c6a220b20034128413c20091b6a22082d0000200b2d00004922091b200d2d0000200c2d000049220a1b22062d0000210f2008200b200d200a1b20091b22102d000021112002200e6a2203200d200c200a1b220d290200370200200341086a200d41086a290200370200200341106a200d41106a2802003602002003201020062011200f49220c1b220d290200370214200341246a200d41106a2802003602002003411c6a200d41086a290200370200200341386a20062010200c1b220d41106a280200360200200341306a200d41086a2902003702002003200d290200370228200341cc006a200b200820091b220d41106a280200360200200341c4006a200d41086a2902003702002003200d29020037023c410421060c010b20022000290200370200200241106a200041106a280200360200200241086a200041086a2902003702002002200741146c220d6a22032000200d6a220d290200370200200341086a200d41086a290200370200200341106a200d41106a2802003602000b200120076b2111200620074f0d01200641146c2109200541176a21102006210803402002200841146c220d6a22032000200d6a220d2902002212370200200341106a200d41106a220b280200360200200341086a200d41086a29020037020002402012a7220a41ff0171220c2003416c6a2d00004f0d002010200b280000360000200541086a41086a220e200d41096a2900003703002005200d2900013703082009210d024003402002200d6a22032003416c6a220b290200370200200341106a200b41106a280200360200200341086a200b41086a2902003702000240200d4114470d00200221030c020b200d416c6a210d200c200341586a2d0000490d000b2002200d6a21030b2003200a3a000020032005290308370001200341096a200e290300370000200341106a20102800003600000b200941146a2109200841016a22082007470d000c020b0b000b2002200741146c22036a21090240200620114f0d00200020036a2113200641146c2108200541176a2114411421102009210e03402009200641146c220d6a22032013200d6a220d2902002212370200200341106a200d41106a220b280200360200200341086a200d41086a29020037020002402012a7220f41ff0171220a2003416c6a2d00004f0d002014200b280000360000200541086a41086a2215200d41096a2900003703002005200d2900013703082010210c200e210d02400340200d20086a22032003416c6a220b290200370200200341106a200b41106a280200360200200341086a200b41086a29020037020002402008200c470d00200921030c020b200c41146a210c200d416c6a210d200a200341586a2d0000490d000b200d20086a21030b2003200f3a000020032005290308370001200341096a2015290300370000200341106a20142800003600000b2010416c6a2110200e41146a210e200641016a22062011470d000b0b2009416c6a210d2002200141146c416c6a22036a210b200020036a2103034020002009200220092d0000220820022d0000220a4922061b220c290200370200200041086a200c41086a290200370200200041106a200c41106a280200360200200341106a200d200b200b2d00002210200d2d0000220e49220f1b220c41106a280200360200200341086a200c41086a2902003702002003200c2902003702002003416c6a2103200041146a2100200d416c4100200f1b6a210d200b416c41002010200e4f1b6a210b20022008200a4f41146c6a21022009200641146c6a21092007417f6a22070d000b200d41146a210302402001410171450d002000200220092002200349220c1b220d290200370200200041106a200d41106a280200360200200041086a200d41086a2902003702002009200220034f41146c6a21092002200c41146c6a21020b20022003470d012009200b41146a470d010b200541206a2480808080000f0b109c81808000000b8a0c01117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061096918080000c010b200241686a21080340024020040d002000200120022003410120061092918080000c020b200741106a2000200020012006108a91808000220941186c6a220a41106a290200370300200741086a200a41086a2902003703002007200a2902003703002004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210c2000210b2002200141186c220e6a220f21102009211103400240200b2000201141186c6a22124f0d0003402002201041686a2210200b280200200a280200200b41046a280200220d200a41046a2802002213200d2013491b10f5978080002214200d20136b20141b22134100481b200c41186c6a220d200b290200370200200d41106a200b41106a290200370200200d41086a200b41086a2902003702002013411f76200c6a210c200b41186a220b2012490d000b0b024020112001460d00201041686a2210200c41186c6a220d200b290200370200200d41106a200b41106a290200370200200d41086a200b41086a290200370200200b41186a210b200121110c010b0b20002002200c41186c221110f49780800021152001200c6b211202402001200c460d0020124101712116201520116a21174100211302402001200c41016a460d002012417e7121142008200e6a210d410021132017210b0340200b200d290200370200200b41106a200d41106a290200370200200b41086a200d41086a290200370200200b41186a200f201341feffffff017341186c6a2210290200370200200b41206a201041086a290200370200200b41286a201041106a290200370200200d41506a210d200b41306a210b2014201341026a2213470d000b0b2016450d002017201341186c6a220b200f2013417f7341186c6a220d290200370200200b41106a200d41106a290200370200200b41086a200d41086a2902003702000b200c450d002001200c4f0d02200741003602282007410136021c200741f0caca800036021820074204370220200741186a41f8caca800010fe80808000000b20032001490d004100210d2000210b2002200141186c220f6a2211211003400240200b2000200941186c6a22124f0d0003402002201041686a2210200a280200200b280200200a41046a280200220c200b41046a2802002213200c2013491b10f5978080002214200c20136b20141b417f4a22131b200d41186c6a220c200b290200370200200c41106a200b41106a290200370200200c41086a200b41086a290200370200200d20136a210d200b41186a220b2012490d000b0b024020092001460d002002200d41186c6a220c200b290200370200200c41106a200b41106a290200370200200c41086a200b41086a290200370200200b41186a210b200d41016a210d201041686a2110200121090c010b0b20002002200d41186c221310f497808000210b024002402001200d460d002001200d6b220c4101712112200b20136a21004100211002402001200d41016a460d00200c417e7121142008200f6a2113410021102000210b0340200b2013290200370200200b41106a201341106a290200370200200b41086a201341086a290200370200200b41186a2011201041feffffff017341186c6a220a290200370200200b41206a200a41086a290200370200200b41286a200a41106a290200370200201341506a2113200b41306a210b2014201041026a2210470d000b0b02402012450d002000201041186c6a220b20112010417f7341186c6a2213290200370200200b41106a201341106a290200370200200b41086a201341086a2902003702000b2001200d4f0d01200d20014188cbca8000109281808000000b200b200141186c6a41002002200320061096918080000c050b41002105200c2101200c41214f0d030c020b000b201520116a201220022003200420072006109891808000200c2101200c41214f0d010b0b2000200c2002200320061096918080000b200741306a2480808080000be20b01117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061097918080000c010b2002416c6a21080340024020040d002000200120022003410120061091918080000c020b200020014103762209418c016c6a210a2000200941d0006c6a210b02400240200141c000490d002000200b200a2009108991808000210c0c010b2000200a200b20002d00002209200b2d0000220d49220e200d200a2d0000220f49731b200e2009200f49731b210c0b2004417f6a2104200741106a200c41106a280200360200200741086a200c41086a2902003703002007200c290200370300200c20006b41146e2110024002400240024002402005450d0020052d0000200c2d00004f0d010b20032001490d014100210a200021092002200141146c22116a2212210d201021130340024020092000201341146c6a220f4f0d0003402002200d416c6a220d20092d0000200c2d000049220e1b200a41146c6a220b2009290200370200200b41106a200941106a280200360200200b41086a200941086a290200370200200a200e6a210a200941146a2209200f490d000b0b024020132001460d00200d416c6a220d200a41146c6a220b2009290200370200200b41106a200941106a280200360200200b41086a200941086a290200370200200941146a2109200121130c010b0b20002002200a41146c221410f49780800021152001200a6b211302402001200a460d0020134101712116201520146a21174100210d02402001200a41016a460d002013417e71210f200820116a210b4100210d2017210903402009200b290200370200200941106a200b41106a280200360200200941086a200b41086a290200370200200941146a2012200d41feffffff037341146c6a220e2902003702002009411c6a200e41086a290200370200200941246a200e41106a280200360200200b41586a210b200941286a2109200f200d41026a220d470d000b0b2016450d002017200d41146c6a22092012200d417f7341146c6a220b290200370200200941106a200b41106a280200360200200941086a200b41086a2902003702000b200a450d002001200a4f0d02200741003602282007410136021c200741f0caca800036021820074204370220200741186a41f8caca800010fe80808000000b20032001490d004100210b200021092002200141146c22146a2213210d0340024020092000201041146c6a220f4f0d0003402002200d416c6a220d200c2d000020092d00004f220e1b200b41146c6a220a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200b200e6a210b200941146a2209200f490d000b0b024020102001460d002002200b41146c6a220a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200941146a2109200b41016a210b200d416c6a210d200121100c010b0b20002002200b41146c220d10f4978080002109024002402001200b460d002001200b6b220a41017121122009200d6a21004100210e02402001200b41016a460d00200a417e71210c200820146a210d4100210e2000210903402009200d290200370200200941106a200d41106a280200360200200941086a200d41086a290200370200200941146a2013200e41feffffff037341146c6a220f2902003702002009411c6a200f41086a290200370200200941246a200f41106a280200360200200d41586a210d200941286a2109200c200e41026a220e470d000b0b02402012450d002000200e41146c6a22092013200e417f7341146c6a220d290200370200200941106a200d41106a280200360200200941086a200d41086a2902003702000b2001200b4f0d01200b20014188cbca8000109281808000000b2009200141146c6a41002002200320061097918080000c050b41002105200a2101200a41214f0d030c020b000b201520146a201320022003200420072006109991808000200a2101200a41214f0d010b0b2000200a2002200320061097918080000b200741306a2480808080000b960601097f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110839180800002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a210520042802900221042000417f6a22000d000b0b20074108490d010340200428029002280290022802900228029002280290022802900228029002280290022104200541786a22050d000c020b0b20064101710d0141cccdca800010a081808000000b2004210541002104410021070b02400240024002400240200720052f018e024f0d0020052100200721080c010b03402005280288022200450d02200441016a210420052f018c02210820002105200820002f018e024f0d000b0b20040d01200841016a2107200021050c020b41bccdca800010a081808000000b200020084102746a4194026a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a210920052802900221052004417f6a22040d000b0b200a4107490d000340200528029002280290022802900228029002280290022802900228029002280290022105200941786a22090d000b0b200020084103746a22042802b0012109200220042802b40122043602082002200241086a36020c2002410c6a2001108391808000200020084104746a2100024020042001280200200128020822086b4d0d0020012008200410f491808000200128020821080b200128020420086a2009200410f4978080001a2001200820046a36020820022000410c6a36020c2002410c6a2001108391808000200028020421082002200028020822043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822006b4d0d0020012000200410f491808000200128020821000b200128020420006a2008200410f4978080001a2001200020046a360208410021042003417f6a22030d000b0b200241106a2480808080000be80401097f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110839180800002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a210520042802c40121042000417f6a22000d000b0b20074108490d01034020042802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012104200541786a22050d000c020b0b20064101710d0141cccdca800010a081808000000b2004210541002104410021070b02400240024002400240200720052f01b6014f0d0020052100200721080c010b034020052802b0012200450d02200441016a210420052f01b401210820002105200820002f01b6014f0d000b0b20040d01200841016a2107200021050c020b41bccdca800010a081808000000b200020084102746a41c8016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a210920052802c40121052004417f6a22040d000b0b200a4107490d00034020052802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012105200941786a22090d000b0b200020084104746a2109200020086a2d00b80121000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a000020092001108291808000410021042003417f6a22030d000b0b200241106a2480808080000bb908010a7f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110839180800002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a210520042802980121042000417f6a22000d000b0b20074108490d010340200428029801280298012802980128029801280298012802980128029801280298012104200541786a22050d000c020b0b20064101710d0141cccdca800010a081808000000b2004210541002104410021070b02400240024002400240200720052f018a014f0d0020052100200721080c010b034020052802002200450d02200441016a210420052f018801210820002105200820002f018a014f0d000b0b20040d01200841016a2107200021050c020b41bccdca800010a081808000000b200020084102746a419c016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a210920052802980121052004417f6a22040d000b0b200a4107490d000340200528029801280298012802980128029801280298012802980128029801280298012105200941786a22090d000b0b20002008410c6c6a41046a2109200020086a2d008c0121000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a0000200928020421042002200928020822003602082002200241086a36020c2002410c6a200110839180800002402000450d002000410274210803400240024020042802002200413f4b0d00200041027421090240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a20093a0000200041016a21000c010b0240200041ffff004b0d002000410274410172210902402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b200128020420006a20093b0000200041026a21000c010b0240200041ffffffff034b0d002000410274410272210902402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b200128020420006a2009360000200041046a21000c010b02402001280200220920012802082200470d0020012000410110f49180800020012802002109200128020821000b2001280204220a20006a41033a00002001200041016a22003602082004280200210b0240200920006b41034b0d0020012000410410f4918080002001280204210a200128020821000b200a20006a200b360000200041046a21000b200441046a2104200120003602082008417c6a22080d000b0b410021042003417f6a22030d000b0b200241106a2480808080000bbe0601077f0240024002400240200128022022020d002001280200210241002103200141003602002002410171450d010240200128020422020d0020012802082102200128020c2204450d0002400240200441077122030d00200421050c010b2004210503402005417f6a210520022802c40121022003417f6a22030d000b0b20044108490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200541786a22050d000b0b034020022002417e6a2f00006b210520022802b001210241002103200541002802ec82d480001181808080000020020d000c020b0b20012002417f6a36022002400240200128020022024101470d0020012802040d00200128020821020240200128020c2204450d0002400240200441077122030d00200421050c010b2004210503402005417f6a210520022802c40121022003417f6a22030d000b0b20044108490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d030b2001280208210402400240200128020c2203200128020422022f01b6014f0d00200221050c010b034020022802b0012205450d0320022f01b401210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f01b6014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a41c8016a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a210720022802c40121022004417f6a22040d000b0b20084107490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200741786a22070d000b0b2001200636020c20014100360208200120023602042000200520036a2d00b8013a00042000200520034104746a2202290200370208200041106a200241086a290200370200410121030b200020033602000f0b20022002417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b41accdca800010a081808000000beb0601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802980421022004417f6a22040d000b0b20034108490d000340200228029804280298042802980428029804280298042802980428029804280298042102200541786a22050d000b0b034020022002417e6a2f00006b21052002280290042102200541002802ec82d480001181808080000020020d000b0b20004180808080783602200f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802980421022004417f6a22040d000b0b20034108490d000340200228029804280298042802980428029804280298042802980428029804280298042102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082103024002400240200128020c2204200128020422022f0196044f0d00200221050c010b03402002280290042205450d0220022f019404210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f0196044f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a419c046a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802980421022003417f6a22030d000b0b20084107490d000340200228029804280298042802980428029804280298042802980428029804280298042102200741786a22070d000b0b2001200636020c200141003602082001200236020420002005200441286c6a22022903583703082000200520044103746a290200370300200041106a200241e0006a290300370300200041186a200241e8006a290300370300200041206a200241f0006a290300370300200041286a200241f8006a2903003703000f0b20022002417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b41accdca800010a081808000000be90301057f23808080800041d0006b2202248080808000200241206a41206a200141206a290200370300200241206a41186a200141186a290200370300200241206a41106a200141106a290200370300200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a4198ccca800010df9080800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c21012002200241cf006a360220024020034101460d00024020034115490d0020012003200241206a10e8908080000c010b200120034101200241206a1095918080000b2002280208210441002d008083d480001a024041900241002802f482d480001182808080000022050d00410441900210ab80808000000b2005200541036a417c7120056b22066a220541003b018e0220054100360288022005417e6a20063b000020022005360214200241003602182002410036021c20022001200341186c6a360244200220043602402002200136023c200220013602382002418180808078360228200241146a200241206a2002411c6a10c9908080002000200228021c360208200020022902143702000b200241d0006a2480808080000be50301057f23808080800041d0006b2202248080808000200241206a41206a200141206a290200370300200241206a41186a200141186a290200370300200241206a41106a200141106a290200370300200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a4198ccca800010e09080800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c21012002200241cf006a360220024020034101460d00024020034115490d0020012003200241206a10e7908080000c010b200120034101200241206a1094918080000b2002280208210441002d008083d480001a024041c40141002802f482d480001182808080000022050d00410441c40110ab80808000000b2005200541036a417c7120056b22066a220541003b01b601200541003602b0012005417e6a20063b000020022005360214200241003602182002410036021c20022001200341146c6a360244200220043602402002200136023c2002200136023820024102360220200241146a200241206a2002411c6a10c8908080002000200228021c360208200020022902143702000b200241d0006a2480808080000b990501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802c40121012004417f6a22040d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200041786a22000d000b0b20012104410021020b024002400240200220042f01b6014f0d00200421000c010b034020042802b0012200450d0220042f01b401210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f01b6014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a41c8016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802c40121002005417f6a22050d000b0b20014107490d00034020002802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802c40121002005417f6a22050d000b0b20024108490d00034020002802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012100200441786a22040d000b0b034020002000417e6a2f00006b210420002802b0012100200441002802ec82d480001181808080000020000d000b0b0bd10501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802980121012005417f6a22050d000b0b20024108490d000340200128029801280298012802980128029801280298012802980128029801280298012101200041786a22000d000b0b20012100410021020b024002400240200220002f018a014f0d0020022105200021010c010b034020002802002201450d0220002f018801210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f018a014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a419c016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802980121002004417f6a22040d000b0b20074107490d000340200028029801280298012802980128029801280298012802980128029801280298012100200641786a22060d000b0b024020012005410c6c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802980121002005417f6a22050d000b0b20024108490d000340200028029801280298012802980128029801280298012802980128029801280298012100200441786a22040d000b0b034020002000417e6a2f00006b210120002802002100200141002802ec82d480001181808080000020000d000b0b0bd00501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802900221012005417f6a22050d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200041786a22000d000b0b20012100410021020b024002400240200220002f018e024f0d0020022105200021010c010b03402000280288022201450d0220002f018c02210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f018e024f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4194026a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802900221002004417f6a22040d000b0b20074107490d000340200028029002280290022802900228029002280290022802900228029002280290022100200641786a22060d000b0b0240200120054104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802900221002005417f6a22050d000b0b20024108490d000340200028029002280290022802900228029002280290022802900228029002280290022100200441786a22040d000b0b034020002000417e6a2f00006b21012000280288022100200141002802ec82d480001181808080000020000d000b0b0bbe0601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802980421012003417f6a22030d000b0b20024108490d000340200128029804280298042802980428029804280298042802980428029804280298042101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f0196044f0d00200121040c010b03402001280290042204450d0220012f019404210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f0196044f0d000b0b0240024020030d00200241016a2105200421010c010b200420024102746a419c046a2802002101410021052003417f6a2206450d002003417e6a2107024020064107712203450d0003402006417f6a210620012802980421012003417f6a22030d000b0b20074107490d000340200128029804280298042802980428029804280298042802980428029804280298042101200641786a22060d000b0b2000200536020c200041003602082000200136020402402004200241286c6a41f0006a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b41accdca800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802980421012003417f6a22030d000b0b20024108490d000340200128029804280298042802980428029804280298042802980428029804280298042101200441786a22040d000b0b034020012001417e6a2f00006b21042001280290042101200441002802ec82d480001181808080000020010d000b0b0b830601057f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802c40121012003417f6a22030d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f01b6014f0d00200121040c010b034020012802b0012204450d0220012f01b401210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f01b6014f0d000b0b0240024020030d00200241016a21020c010b200420024102746a41c8016a2802002104410021022003417f6a2201450d002003417e6a2105024020014107712203450d0003402001417f6a210120042802c40121042003417f6a22030d000b0b20054107490d00034020042802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012104200141786a22010d000b0b2000200236020c2000410036020820002004360204200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b41accdca800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802c40121012003417f6a22030d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200441786a22040d000b0b034020012001417e6a2f00006b210420012802b0012101200441002802ec82d480001181808080000020010d000b0b0bf406020f7f027e23808080800041306b220224808080800002400240024002402001200028021422032f01ba0222046a2205410c4f0d00200028020c22062f01ba0222072001490d012006200720016b22083b01ba02200320053b01ba02200341b4016a22092001410c6c6a20092004410c6c10f9978080001a200320014104746a2003200441047410f9978080001a2007200841016a220a6b22072001417f6a470d022009200641b4016a220b200a410c6c6a2007410c6c220c10f497808000210920032006200a4104746a2007410474220710f4978080002103200241086a220d200620084104746a220e41086a2902003703002002200e290200370300200b2008410c6c6a220b41086a280200210e2000280200220f20002802082210410c6c6a22082902b40121112008200b2902003702b401200241106a41086a220b200841bc016a22082802003602002008200e36020020022011370310200241206a41086a200f20104104746a220841086a220e2902002211370300200220082902002212370320200e200d290300370200200820022903003702002009200c6a220841086a200b28020036020020082002290310370200200320076a220841086a20113702002008201237020020002802182108024002402000280210450d002008450d01200341bc026a2200200141027422016a2000200441027441046a10f9978080001a20002006200a4102746a41bc026a200110f4978080001a200541016a2208410371210641002101024020054103490d00200341c8026a21002008413c712104410021010340200041746a280200220820013b01b802200820033602b001200041786a2802002208200141016a3b01b802200820033602b0012000417c6a2802002208200141026a3b01b802200820033602b00120002802002208200141036a3b01b802200820033602b001200041106a21002004200141046a2201470d000b0b2006450d05200141027420036a41bc026a210003402000280200220820013b01b802200820033602b001200041046a2100200141016a21012006417f6a22060d000c060b0b2008450d040b41c0d3ca8000412841e8d3ca8000108081808000000b41c4d2ca8000413341f8d2ca8000108081808000000b4188d3ca8000412741b0d3ca8000108081808000000b418cd2ca8000412841b4d2ca8000108081808000000b200241306a2480808080000b840802127f027e23808080800041306b22022480808080000240024002402001200028020c22032f01ba0222046a2205410c4f0d00200028021422062f01ba0222072001490d01200320053b01ba022006200720016b22053b01ba02200241086a220820062001410474220941706a220a6a220741086a29020037030020022007290200370300200241106a41086a220b2000280200220c2000280208220d410c6c6a220e41bc016a220f280200360200200641b4016a22072001410c6c221041746a22116a221241086a2802002113200e2902b4012114200e20122902003702b401200f201336020020022014370310200241206a41086a200c200d4104746a220e41086a220c29020022143703002002200e2902002215370320200c2008290300370200200e200229030037020020032004410c6c6a220e41bc016a200b280200360200200e41b4016a2002290310370200200320044104746a220841086a201437020020082015370200200e41c0016a2007201110f4978080001a2003200441016a220e4104746a2006200a10f4978080001a2007200720106a2005410c6c10f9978080001a2006200620096a200541047410f997808000210620002802182107024002402000280210450d002007450d01200341bc026a2209200e4102746a200641bc026a22002001410274220710f49780800021082000200020076a200541027441046a10f9978080001a20082802002200200e3b01b802200020033602b001024020014101460d002009200441026a22004102746a280200220720003b01b802200720033602b00120014102460d002009200441036a22004102746a280200220720003b01b802200720033602b00120014103460d002009200441046a22004102746a280200220720003b01b802200720033602b00120014104460d002009200441056a22014102746a280200220020013b01b802200020033602b0010b200541016a2204410371210341002101024020054103490d00200641c8026a21002004417c712104410021010340200041746a280200220520013b01b802200520063602b001200041786a2802002205200141016a3b01b802200520063602b0012000417c6a2802002205200141026a3b01b802200520063602b00120002802002205200141036a3b01b802200520063602b001200041106a21002004200141046a2201470d000b0b2003450d04200141027420066a41bc026a210003402000280200220520013b01b802200520063602b001200041046a2100200141016a21012003417f6a22030d000c050b0b2007450d030b41c0d3ca8000412841f4d4ca8000108081808000000b41f8d3ca8000413241acd4ca8000108081808000000b41bcd4ca8000412841e4d4ca8000108081808000000b200241306a2480808080000bf307010f7f23808080800041106b220224808080800002400240200128020c22032f01ba02220441016a2205200128021422062f01ba0222076a2208410c4f0d00200128021021092001280204210a2001280200220b2f01ba02210c200320083b01ba02200241086a220d200b2001280208220e410c6c6a220141bc016a280200360200200220012902b401370300200141b4016a200141c0016a200c200e417f736a220f410c6c10f9978080001a200341b4016a22012004410c6c6a221041086a200d2802003602002010200229030037020020012005410c6c6a200641b4016a2007410c6c10f4978080001a200d200b200e4104746a220141086a290200370300200220012902003703002001200141106a200f41047410f9978080001a200320044104746a220141086a200d29030037020020012002290300370200200320054104746a2006200741047410f4978080001a200b200e41016a22014102746a220d41bc026a200d41c0026a200f41027410f9978080001a02402001200c4f0d00200c200e6b417e6a21100240200f410371220d450d00200e410274200b6a41c0026a210e0340200e280200220f20013b01b802200f200b3602b001200e41046a210e200141016a2101200d417f6a220d0d000b0b20104103490d002001410274200b6a41c8026a210e0340200e41746a280200220d20013b01b802200d200b3602b001200e41786a280200220d200141016a3b01b802200d200b3602b001200e417c6a280200220d200141026a3b01b802200d200b3602b001200e280200220d200141036a3b01b802200d200b3602b001200e41106a210e200c200141046a2201470d000b0b200b200b2f01ba02417f6a3b01ba020240200a4102490d00200741016a2201200820046b470d02200341bc026a20054102746a200641bc026a200141027410f4978080001a02402001410371220b450d00200441027420036a41c0026a210103402001280200220e20053b01b802200e20033602b001200141046a2101200541016a2105200b417f6a220b0d000b0b20074103490d002005410274210b03402003200b6a220141bc026a280200220e20053b01b802200e20033602b001200141c0026a280200220e200541016a3b01b802200e20033602b001200141c4026a280200220e200541026a3b01b802200e20033602b001200141c8026a2802002201200541036a220e3b01b802200120033602b001200541046a2105200b41106a210b200e2008470d000b0b20062006417e6a2f00006b41002802ec82d48000118180808000002000200936020420002003360200200241106a2480808080000f0b41a4d6ca8000412a41d0d6ca8000108081808000000b418cd2ca8000412841b4d2ca8000108081808000000b921101127f23808080800041c0016b2203248080808000200341c8006a41086a22042001280200220520012802082206410c6c6a220741bc016a280200360200200320072902b401370348200741b4016a200741c0016a20052f01ba0222082006417f736a2209410c6c10f9978080001a200341dc006a200520064104746a220741086a290200370200200320072902003702542007200741106a200941047410f9978080001a20052008417f6a22073b01ba022001280204210a0240200741ffff037141044b0d00024020052802b0012201450d00200a41016a2108024002400240024020052f01b80222090d0020012f01ba020d012003410136028801200341c0d0ca80003602840120034200370290012003200341bc016a36028c0120034184016a41c8d1ca800010fe80808000000b2003200a360228200320053602242003200a3602202003200836021420032009417f6a2208360218200320013602102003200120084102746a2802bc02220136021c024020012f01ba022208200741ffff037122016a41016a410c490d00200341106a410110a691808000200641016a21060c040b200620014b0d01200620086a41016a2106200341086a200341106a10a89180800020032802082105200328020c210a0c030b2003200a3602442003200a36023c2003200536023820034100360234200320083602302003200136022c200320012802c00222013602400240200741ffff0371220720012f01ba026a41016a410c490d002003412c6a410110a7918080000c030b200620074b0d0120032003412c6a10a891808000200328020021052003280204210a0c020b4184d5ca8000418e014194d6ca8000108081808000000b4184d5ca8000418e014194d6ca8000108081808000000b20052802b0012209450d0020092f01ba02220741044b0d00200a41016a210b0240024002400340200b21012009220c2802b0012209450d01200741ffff0371210d200141016a210b0240024002400240200c2f01b80222070d00024020092f01ba02220e0d00200341013602a401200341c0d0ca80003602a001200342003702ac012003200341bc016a3602a801200341a0016a41c8d1ca800010fe80808000000b2003200136029c0120032001360294012003200c360290014100210f2003410036028c012003200b360288012003200936028401200320092802c002220736029801200d41016a220120072f01ba0222106a2211410c4f0d01200c21082007210c200d21122010210d0c030b20032001360280012003200c36027c200320013602782003200b36026c20032007417f6a220f3602702003200936026820032009200f4102746a2802bc022208360274200d20082f01ba0222126a41016a410c490d01200341e8006a4105200d6b10a6918080000c070b20034184016a4105200d6b10a7918080000c060b201241016a2201200d6a211120092f01ba02210e0b200820113b01ba02200341a0016a41086a22072009200f410c6c6a221041bc016a280200360200200320102902b4013703a001201041b4016a201041c0016a200e41ffff03712213200f417f736a220e410c6c10f9978080001a200841b4016a22102012410c6c6a221441086a2007280200360200201420032903a00137020020102001410c6c6a200c41b4016a200d410c6c10f4978080001a20072009200f4104746a221041086a290200370300200320102902003703a0012010201041106a200e41047410f9978080001a200820124104746a221041086a2007290300370200201020032903a001370200200820014104746a200c200d41047410f4978080001a2009200f41016a22074102746a221441bc026a2210201441c0026a200e41027410f9978080001a0240201320074d0d002013200f6b417e6a21140240201320076b410371220f450d0003402010280200220e20073b01b802200e20093602b001201041046a2110200741016a2107200f417f6a220f0d000b0b20144103490d00200920074102746a41c8026a21100340201041746a280200220f20073b01b802200f20093602b001201041786a280200220f200741016a3b01b802200f20093602b0012010417c6a280200220f200741026a3b01b802200f20093602b0012010280200220f200741036a3b01b802200f20093602b001201041106a21102013200741046a2207470d000b0b200920092f01ba02417f6a3b01ba020240200b4102490d00200d41016a2207201120126b470d03200841bc026a2001410274220f6a200c41bc026a200741027410f4978080001a0240201120016b220e41016a4103712210450d002008200f6a41bc026a210703402007280200220f20013b01b802200f20083602b001200741046a2107200141016a21012010417f6a22100d000b0b200e4103490d00200141027421100340200820106a220741bc026a280200220f20013b01b802200f20083602b001200741c0026a280200220f200141016a3b01b802200f20083602b001200741c4026a280200220f200141026a3b01b802200f20083602b001200741c8026a2802002207200141036a220f3b01b802200720083602b001200141046a2101201041106a2110200f2011470d000b0b200c200c417e6a2f00006b41002802ec82d480001181808080000020092f01ba02220741044d0d000c040b0b200741ffff0371450d010c020b418cd2ca8000412841b4d2ca8000108081808000000b024002402002450d00200228020422070d0141d8d1ca8000412141fcd1ca8000108081808000000b41f0cfca800010a081808000000b200228020022012802bc02220841003602b00120022007417f6a3602042002200836020020012001417e6a2f00006b41002802ec82d48000118180808000000b20002003290348370200200020063602242000200a3602202000200536021c200041186a200341c8006a41186a280200360200200041106a200341c8006a41106a290300370200200041086a2004290300370200200341c0016a2480808080000bbd0604077f017e017f027e23808080800041e0006b2204248080808000200128020821052001280200210602400240200128020422070d0020042005360208200441003602042004200636020020002004200228020010a9918080000c010b20022802002108200620054102746a2802bc02210102402007417f6a2202450d002007417e6a2105024020024103712207450d0003402002417f6a2102200120012f01ba024102746a2802bc0221012007417f6a22070d000b0b20054103490d000340200120012f01ba024102746a2802bc02220120012f01ba024102746a2802bc02220120012f01ba024102746a2802bc02220120012f01ba024102746a2802bc0221012002417c6a22020d000b0b2004200136020c200420013301ba024220864280808080707c370210200441186a2004410c6a200810a991808000200441c0006a41086a2206200441186a41086a2208280200360200200441d0006a41086a22092004412c6a220a2902003703002004200429021837034020042004290224370350200428023821020240200428023c2207200428023422012f01ba02490d000340200241016a210220012f01b802220720012802b00122012f01ba024f0d000b0b20012007410c6c6a22052902b401210b200520042903403702b401200541bc016a2205280200210c200520062802003602002008200c360200200120074104746a2205290200210d20052004290350370200200541086a2205290200210e20052009290300370200200a200e3702002004200b3703182004200d3702240240024020020d00200741016a21050c010b200120074102746a41c0026a2802002101410021052002417f6a2207450d002002417e6a2106024020074107712202450d0003402007417f6a210720012802bc0221012002417f6a22020d000b0b20064107490d00034020012802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022101200741786a22070d000b0b2000200429031837020020002005360224200041003602202000200136021c200041186a200441186a41186a280200360200200041106a200441186a41106a290300370200200041086a200441186a41086a2903003702000b200441e0006a2480808080000bd90401097f23808080800041306b2203248080808000200128020821040240024002400240024020012802002205450d00200128020420056b210620040d01200621070c020b024020040d0041002108200341003602082003428080808010370200200128020c210920012802042101200341086a210a410121060c030b200128020c20046b21070c010b200128020c20046b20066a22072006490d020b4100210602400240024020074100480d00024020070d00410121060c030b41002d008083d480001a200741002802f482d480001182808080000022060d01410121060b20062007200210b980808000000b2006417e6a41003b00000b41002108200341003602082003200636020420032007360200200128020c210920012802042101200341086a210a024002400240024002402005450d00200120056b210b20040d01200b21080c020b2004450d04200920046b21080c010b200920046b200b6a2208200b490d010b200820074b0d01410021080c020b2003410036021c2003410136021020034188d8ca800036020c200342043702142003410c6a200210fe80808000000b2003410020084101410110c39180800020032802042106200328020821080b2003200936021820032004360214200320013602102003200536020c2003200636022c200320083602282003200a3602242003410c6a200341246a10c091808000200041086a200341086a28020036020020002003290200370200200341306a2480808080000f0b2003410036021c2003410136021020034188d8ca800036020c200342043702142003410c6a200210fe80808000000bf60201067f23808080800041306b220124808080800020002802042102024020002802082203450d002002210403400240024002400240024020042d00000e050404010203000b02400240200441046a28020022050d0041002105410021060c010b200120053602242001410036022020012005360214200141003602102001200441086a2802002205360228200120053602182004410c6a2802002106410121050b2001200636022c2001200536021c2001200536020c2001410c6a10be918080000c030b200441046a280200450d02200441086a28020022052005417e6a2f00006b41002802ec82d48000118180808000000c020b200441046a280200450d01200441086a28020022052005417e6a2f00006b41002802ec82d48000118180808000000c010b200441046a10ac918080000b200441106a21042003417f6a22030d000b0b02402000280200450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bcc0201047f23808080800041306b2201248080808000024020002802082202450d002000280204210003400240024002400240024020002d00000e050404010203000b02400240200041046a28020022030d0041002103410021040c010b200120033602242001410036022020012003360214200141003602102001200041086a2802002203360228200120033602182000410c6a2802002104410121030b2001200436022c2001200336021c2001200336020c2001410c6a10be918080000c030b200041046a280200450d02200041086a28020022032003417e6a2f00006b41002802ec82d48000118180808000000c020b200041046a280200450d01200041086a28020022032003417e6a2f00006b41002802ec82d48000118180808000000c010b200041046a10ac918080000b200041106a21002002417f6a22020d000b0b200141306a2480808080000bbb0202027f017e2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002903004101200110fc8080800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000b140020012000280200200028020410b4818080000bb40202027f017e2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002903004101200110fc8080800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000b140020012000280204200028020810b4818080000b900201027f23808080800041106b22022480808080002002200041086a360204200128020041a0d9ca80004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41a6d9ca8000410820004180d9ca8000108a818080001a200241086a41aed9ca8000410a200241046a4190d9ca8000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b1e00200128020041b8d9ca80004105200128020428020c118080808000000b850403017f057e017f2380808080004180016b220324808080800002400240024020012802004101470d002003200129031022043703102003200129030822053703082003427f2002290308220620022903187c220720072006541b22073703202003427f2002290300220620022903107c220820082006541b2206370318024020052006560d0020042007580d020b41002802b483d48000450d01200341c584808000ad4220862205200341086aad8437033020032005200341186aad84370328410028029080d480002102410028028c80d48000210141002802b083d48000210920034202370274200341b4dbca80003602682003411636026420034195dcca80003602602003410136025c200341c4dbca8000ad4280808080900a8437025420034100360250200341abdcca8000ad4280808080f002843702482003410036024420034281808080902937023c2003410236026c2002419cf4ca8000200941024622091b28021021022003200341286a360270200141b4f4ca800020091b2003413c6a2002118b808080000020032903102104200329030821050c010b2000427f2002290308220520022903187c220420042005541b3703082000427f2002290300220520022903107c220420042005541b3703000c010b20002007200420072004541b37030820002006200520062005541b3703000b20034180016a2480808080000b820102017f057e23808080800041106b22032480808080002002290310210420022903002105200229031821062002290308210720032001200210b491808000200329030021082000427f200720067c220620062007541b20032903087d3703082000427f200520047c220720072005541b20087d370300200341106a2480808080000bf50303027f017e037f2380808080004190016b220224808080800041002103200241086a2000200141002802b482d480001186808080000002402002280208450d00200241186a41086a200241086a41086a290200220437030020022002290208370318200228021c2105024002402004a7220641034b0d004100210341002802b483d48000450d012002413c6a41c7dcca800041022000200110c591808000200241c684808000ad4220862002418f016aad84370330200241c784808000ad4220862002413c6aad84370328410028029080d480002101410028028c80d48000210041002802b083d480002107200242023702800120024102360278200241e0dcca800036027420024110360270200241c9ddca800036026c20024101360268200241f0dcca8000ad4280808080900b843702602002410036025c200241d9ddca8000ad42808080808004843702542002410036025020024281808080c0033702482001419cf4ca8000200741024622071b28021021012002200241286a36027c200041b4f4ca800020071b200241c8006a2001118b8080800000200228023c450d01200228024022012001417e6a2f00006b41002802ec82d48000118180808000000c010b200528000021030b200241246a200520062002280218280210118680808000000b20024190016a24808080800020030bd60303027f017e027f23808080800041c0006b2201248080808000200141246a41f9ddca8000410441abdcca800041174104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080c00037020c2001410c6a41bcceca800010a093808000200128021022044100360208200442808080808001370200200441003a00202004410336021c200441c2dcca80003602182004410036021420044280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41bcceca800010a0938080000b2001280234410141246c6a220441013a00202004410236021c200441c5dcca8000360218200442043702102004420037020820044280808080800137020002402002418080808078470d0041ccceca8000411141e0ceca800010a181808000000b20012802342104200128023021052000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002005360204200041013a0000200020012903003702502000410141016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000bd10404027f017e037f017e23808080800041d0006b2201248080808000200141306a41fdddca8000410d41abdcca800041174104410010c292808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a2204410036020020014280808080c000370218200141186a41bcceca800010a093808000200128021c22054100360208200542808080808001370200200541003a00202005410636021c2005418adeca80003602182005410036021420054280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41bcceca800010a0938080000b2001280244410141246c6a220541013a00202005410b36021c20054190deca800036021820054204370210200542003702082005428080808080013702002004410141016a2206360200200120012903402207370318024020062007a7470d00200141186a41bcceca800010a0938080000b200128021c200641246c6a220541023a00202005410936021c2005419bdeca8000360218200542043702102005420037020820054280808080800137020002402002418080808078470d0041ccceca8000411141e0ceca800010a181808000000b200128021c2105200128021821042000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041013a0000200020012903083702502000200641016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000bd30903047f037e0e7f23808080800041d0006b220224808080800020012802002103200128020c21042001410036020c024002402004450d002001410c6a21052001290210210641ca84808000ad422086210741cb84808000ad422086200241306aad84210803402006a721090240024002400240024002400240024002402006422088220620043301ba025a0d002006a7210a0c010b2004210b0340200b2802b0012204450d02200941016a2109200b2f01b802210a2004210b200a20042f01ba024f0d000b0b20022004200a410c6c6a41b4016a220b3602302003280200220c2802080d054100210c200b280208220d4100480d02200b280204210b200d0d014101210e0c040b20004180808080783602000c080b41002d008083d480001a200d41002802f482d4800011828080800000220e0d014101210c0b200c200d41d086c0800010b980808000000b200e417e6a41003b00000b200e200b200d10f497808000210b2002200d36023c2002200b3602382002200d3602340c010b2002410236020c200241bcdfca8000360208200242023702142002200837034820022007200cad843703402002200241c0006a360210200241346a200241086a10b280808000200228023c210d2002280238210e0b2004200a4104746a210f200e200d6a21102003280208221141047421124100211320032802042214210b02400340201220132215460d01200b280204210c02400240200b2802082216200d470d00200c200e200d10f597808000450d010b200b41106a210b201541106a2113200c200c20166a200e201010c191808000450d010b0b0240201420156a410c6a2d00000d004100210b024002400240200d4100480d000240200d0d004101210b0c030b41002d008083d480001a200d41002802f482d4800011828080800000220b0d014101210b0b200b200d41d086c0800010b980808000000b200b417e6a41003b00000b200b200e200d10f497808000210b2002200d3602102002200b36020c2002200d360208200f20142011200241086a10c7918080000b02402002280234450d002002280238220b200b417e6a2f00006b41002802ec82d48000118180808000000b0240024020090d00200a41016a21130c010b2004200a4102746a41c0026a2802002104410021132009417f6a220b450d002009417e6a21150240200b410771220c450d000340200b417f6a210b20042802bc022104200c417f6a220c0d000b0b20154107490d00034020042802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022104200b41786a220b0d000b0b200120133602142001420037020c200129021021060c010b0b02402002280234450d002002280238220b200b417e6a2f00006b41002802ec82d48000118180808000000b2001280204220b200b280200417f6a3602002002200a3602482002200936024420022004360240200241086a200241c0006a200141086a200241346a10aa91808000200041186a200241086a41186a280200360200200041106a200241086a41106a290200370200200041086a200241086a41086a29020037020020002002290208370200200241c0006a41086a2002412c6a2802002204360200200220022902242206370340200541086a2004360200200520063702000c010b20004180808080783602000b200241d0006a2480808080000b140020012000280204200028020810b4818080000b1900200120002802002200280204200028020810b4818080000b4101017f024020002802002200417f460d0020002000280204417f6a220136020420010d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0b140020012000280204200028020810b4818080000b9e0b01087f23808080800041306b2201248080808000024020002802202202450d000240034020002002417f6a36022002400240200028020022024101470d0020002802040d00200028020821020240200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802bc0221022004417f6a22040d000b0b20034108490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200541786a22050d000b0b2000420037020820002002360204200041013602000c010b2002450d020b20002802082103024002400240200028020c2204200028020422022f01ba024f0d00200221050c010b034020022802b0012205450d0220022f01b802210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01ba024f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41c0026a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802bc0221022003417f6a22030d000b0b20084107490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200741786a22070d000b0b2000200636020c2000410036020820002002360204200520044104746a2103024020052004410c6c6a22022802b401450d00200241b4016a28020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020032d00000e050404010203000b02400240200328020422020d0041002102410021050c010b2001200236022420014100360220200120023602142001410036021020012003280208220236022820012002360218200328020c2105410121020b2001200536022c2001200236021c2001200236020c2001410c6a10be918080000c030b2003280204450d02200328020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2003280204450d01200328020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b0240200328020c2205450d002003280208210203400240024002400240024020022d00000e050404010203000b02400240200241046a28020022040d0041002104410021070c010b200120043602242001410036022020012004360214200141003602102001200241086a2802002204360228200120043602182002410c6a2802002107410121040b2001200736022c2001200436021c2001200436020c2001410c6a10be918080000c030b200241046a280200450d02200241086a28020022042004417e6a2f00006b41002802ec82d48000118180808000000c020b200241046a280200450d01200241086a28020022042004417e6a2f00006b41002802ec82d48000118180808000000c010b200241046a10ac918080000b200241106a21022005417f6a22050d000b0b2003280204450d00200328020822022002417e6a2f00006b41002802ec82d48000118180808000000b200028022022020d010c030b0b20022002417e6a2f00006b41002802ec82d480001181808080000041e4d7ca800010a081808000000b41a8dfca800010a081808000000b200028020021022000410036020002402002410171450d000240200028020422020d0020002802082102200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802bc0221022004417f6a22040d000b0b20034108490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200541786a22050d000b0b034020022002417e6a2f00006b210520022802b0012102200541002802ec82d480001181808080000020020d000b0b200141306a2480808080000bd60303027f017e027f23808080800041c0006b2201248080808000200141246a41ccdfca8000410d41d9dfca800041234104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080c00037020c2001410c6a41bcceca800010a093808000200128021022044100360208200442808080808001370200200441003a00202004410436021c200441fcdfca80003602182004410036021420044280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41bcceca800010a0938080000b2001280234410141246c6a220441013a00202004410836021c20044180e0ca8000360218200442043702102004420037020820044280808080800137020002402002418080808078470d0041ccceca8000411141e0ceca800010a181808000000b20012802342104200128023021052000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002005360204200041013a0000200020012903003702502000410141016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000bfd03010a7f024020002802002202450d00200220002802042203460d00200320026b22044103712105200128020421062001280208210702400240200220036b417c4d0d00410021030c010b200720066a21082004417c712109410021030340200820036a2204200220036a220a2d00003a0000200441016a200a41016a2d00003a0000200441026a200a41026a2d00003a0000200441036a200a41036a2d00003a00002009200341046a2203470d000b200620036a21060b02402005450d00200220036a21030340200720066a20032d00003a0000200341016a2103200641016a21062005417f6a22050d000b0b200120063602040b024020002802082202450d00200128020421042001280200210b02402002200028020c2203460d0020012802082107200320026b220a410371210502400240200220036b417c4d0d00410021030c010b200720046a2108200a417c712109410021030340200820036a220a200220036a22062d00003a0000200a41016a200641016a2d00003a0000200a41026a200641026a2d00003a0000200a41036a200641036a2d00003a00002009200341046a2203470d000b200420036a21040b2005450d00200220036a21030340200720046a20032d00003a0000200341016a2103200441016a21042005417f6a22050d000b0b200b20043602000f0b200128020020012802043602000bea0401057f0240024020002001460d0003400240024020002c00002204417f4c0d00200041016a2100200441ff017121040c010b20002d0001413f7121052004411f71210602402004415f4b0d0020064106742005722104200041026a21000c010b200541067420002d0002413f717221050240200441704f0d0020052006410c74722104200041036a21000c010b200541067420002d0003413f71722006411274418080f00071722204418080c400460d02200041046a21000b0240200441df00460d004100210620022003460d030240024020022c00002205417f4c0d00200241016a2102200541ff017121050c010b20022d0001413f7121072005411f71210802402005415f4b0d0020084106742007722105200241026a21020c010b200741067420022d0002413f717221070240200541704f0d0020072008410c74722105200241036a21020c010b200741067420022d0003413f71722008411274418080f00071722205418080c400460d04200241046a21020b024002402005419f7f6a411a4f0d00200541df007121050c010b2005418080c400460d040b200441df007120042004419f7f6a411a491b2005470d030b20002001470d000b0b024020022003460d000240024020022c00002200417f4c0d00200041ff017121000c010b20022d0001413f7121042000411f71210502402000415f4b0d00200541067420047221000c010b200441067420022d0002413f717221040240200041704f0d0020042005410c747221000c010b200441067420022d0003413f71722005411274418080f00071722200418080c400460d010b410021062000418080c400470d010b410121060b20060b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10c29180800020052802084101470d0120052802102102200528020c21060b200620024180e1ca800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b100020004204370208200042003702000b940701077f23808080800041106b22052480808080004101210641002107024002400240200441017420026a22084100480d002008450d0241002d008083d480001a200841002802f482d480001182808080000022060d01410121070b200720084180e2ca800010b980808000000b2006417e6a41003b00000b410021072005410036020c200520063602082005200836020402402002450d00200120026a2109410021070340024002400240024020012c00002208417f4a0d0020012d0001413f7121022008411f71210a2008415f4b0d01200a4106742002722108200141026a21010c020b200141016a2101200841ff017121084101210b410121020c020b200241067420012d0002413f717221020240200841704f0d002002200a410c74722108200141036a21010c010b200241067420012d0003413f7172200a411274418080f00071722108200141046a21010b4101210b024020084180014f0d00410121020c010b410221024100210b2008418010490d0041034104200841808004491b21020b2007210a02402002200528020420076b4d0d00200541046a200720024101410110c391808000200528020c210a200528020821060b2006200a6a210a024002400240200b0d002008418010490d010240200841808004490d00200a2008413f71418001723a0003200a200841127641f001723a0000200a2008410676413f71418001723a0002200a2008410c76413f71418001723a00010c030b200a2008413f71418001723a0002200a2008410c7641e001723a0000200a2008410676413f71418001723a00010c020b200a20083a00000c010b200a2008413f71418001723a0001200a200841067641c001723a00000b2005200220076a220736020c20012009470d000b0b02402004450d00034020032d000022084104762201413072200141d7006a200841a001491b210b200721010240200720052802042202470d00200541046a200741014101410110c39180800020052802042102200528020c21010b2005280208220a20016a200b3a00002005200741016a220136020c2008410f712208413072200841d7006a2008410a491b2108024020012002470d00200541046a200241014101410110c391808000200528020c21012005280208210a0b200341016a2103200a20016a20083a00002005200741026a220736020c2004417f6a22040d000b0b20002005290204370200200041086a200541046a41086a280200360200200541106a2480808080000bda0201047f23808080800041d0006b2201248080808000024002400240024041afe4ca8000411310b69180800022020e020001020b41002802b483d480004102490d02410028029080d480002102410028028c80d48000210341002802b083d4800021042001420037024420014281808080c00037023c200141a0e5ca800036023820014125360234200141a8e5ca8000ad4280808080e00b84370224200141003602202001410036021420014281808080800937020c20014186e6ca800036023020014186e6ca8000ad4280808080d004843702182001410236022c200341b4f4ca8000200441024622041b2001410c6a2002419cf4ca800020041b280210118b80808000000c020b41afe4ca80004113410028029482d48000118b80808000000c010b20012002417f6a36020c41afe4ca800041132001410c6a410441002802dc82d48000118380808000000b200141d0006a2480808080000b8c0602047f017e2380808080004180016b2204248080808000024020002d00004105470d002004200236020820042001360204200420033602000240024020002802042202450d00200041046a2105024020002802082206450d0002400240200641077122070d00200621010c010b2006210103402001417f6a210120022802bc0221022007417f6a22070d000b0b20064108490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200141786a22010d000b0b2004420037021c200420023602182004200536021420042000410c6a3602100c010b2004420037021420042000410c6a3602100b2004200436020c200441246a2004410c6a10b9918080002004280224418080808078460d00200441c0006a41106a21010340200441c0006a41186a200441246a41186a2802003602002001200441246a41106a290200370300200441c0006a41086a200441246a41086a29020037030020042004290224220837034002402008a7450d00200428024422022002417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020042d004c0e050404010203000b02400240200428025022020d0041002102410021070c010b200420042802542207360278200420023602742004410036027020042007360268200420023602642004410036026041012102200428025821070b2004200736027c2004200236026c2004200236025c200441dc006a10be918080000c030b2004280250450d02200428025422022002417e6a2f00006b41002802ec82d48000118180808000000c020b2004280250450d01200428025422022002417e6a2f00006b41002802ec82d48000118180808000000c010b200110ad918080002004280250450d00200428025422022002417e6a2f00006b41002802ec82d48000118180808000000b200441246a2004410c6a10b9918080002004280224418080808078470d000b0b02402003280200450d00200328020422022002417e6a2f00006b41002802ec82d48000118180808000000b20044180016a2480808080000bfd0303057f017e017f23808080800041306b2201248080808000200141246a41bce6ca8000410310c3928080002001410036022020014280808080c00037021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2204418381808000360218200442acf6debeefe0d9c8d300370310200442efc9c9edb5e7b3a6c70037030820044101360204200441bfe6ca80003602002004417e6a20033b0000200141086a2205200141186a220241086a2802003602002001200229020037030020012902282106200128022421032001410036021420014280808080800137020c2001410c6a4194edca800010b5928080002001280210220242efc9c9edb5e7b3a6c7003703002002410036023020024280808080c00037032820024100360220200241003602182002418381808000360210200242acf6debeefe0d9c8d3003703082003418080808078460d01200128020c2102200128021021072000410136024c20002004360248200041013602442000200637023c200020033602382000410136020c2000200736020820002002360204200041003a000020002001290300370250200041d8006a2005280200360200200141306a2480808080000f0b4108412010ab80808000000b41a4edca8000411141b8edca800010a181808000000ba00403047f017e037f23808080800041c0006b2201248080808000200141246a41c0e6ca8000410610c3928080002001410036022020014280808080c00037021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241e680808000360218200242e1c1c0fddab9f88065370310200242d0b0c2c0bfa6f4d53c37030820024101360204200241bfe6ca80003602002002417e6a20033b0000200141086a2204200141186a220341086a2802003602002001200329020037030020012902282105200128022421062001410c6a41086a410036020020014280808080c00037020c2001410c6a41f4ebca800010a0938080002001280210220342808080808001370200200141306a41086a4101360200200341003a00202003410436021c200341c6e6ca800036021820034204370210200342003702082001200129020c3703302001410c6a200141306a41cae6ca8000410410dd918080002006418080808078460d012001280214210320012802102107200128020c21082000410136024c20002002360248200041013602442000200537023c200020063602382000200336020c2000200736020820002008360204200041013a000020002001290300370250200041d8006a2004280200360200200141c0006a2480808080000f0b4108412010ab80808000000b41a4edca8000411141b8edca800010a181808000000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041bb80808000360218200042d7c9cb8fc1cf97db3e370310200042e88488d0c0e3aebc13370308200041063a00000b900203037f017e017f23808080800041206b2205248080808000024002400240200120026a220220014f0d00410021060c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024104200241044b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10cf9180800020052802084101470d0120052802102102200528020c21060b2006200241c4e7ca800010b980808000000b200528020c21032000200736020020002003360204200541206a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810cb918080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010cb918080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000b3000024020002802002d00000d00200141b4a8c28000410510b4818080000f0b200141b9a8c28000410410b4818080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bb30504027f017e037f017e23808080800041d0006b2201248080808000200141306a41d4e7ca8000411141e5e7ca8000410c4104410010c292808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a22044100360200200142808080808001370218200141186a4194edca800010b592808000200128021c220542e1c1c0fddab9f88065370308200542d0b0c2c0bfa6f4d53c370300200141c0006a41086a220641013602002005420437022c2005420637022420054189eeca80003602202005410636021c200541f8eeca8000360218200541e680808000360210200120012902183703400240200628020022062001280240470d00200141c0006a4194edca800010b5928080000b2001280244200641386c6a2205420437022c2005420d37022420054183efca80003602202005410536021c200541feeeca8000360218200541cd84808000360210200542d9ae829ab389b8c042370308200542c69cc18ac5f1bfb3b77f3703002004200641016a2206360200200120012903402207370318024020062007a7470d00200141186a4194edca800010b5928080000b200128021c200641386c6a2205420437022c2005420437022420054198efca80003602202005410836021c20054190efca8000360218200541ce84808000360210200542b78afcafd0b0eee815370308200542faedf28aa8cbcca14a37030002402002418080808078470d0041a4edca8000411141b8edca800010a181808000000b200128021c2105200128021821042000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041003a0000200020012903083702502000200641016a36020c200041d8006a200141086a41086a280200360200200141d0006a2480808080000bfd0305027f017e027f017e017f23808080800041c0006b2201248080808000200141286a41f1e7ca8000410541e5e7ca8000410c4104410010c292808000200141086a410036020020014280808080c00037030020012802282102200129022c21032001410036021820014280808080c000370210200141346a200141106a41f6e7ca8000410e10dc918080000240200128023c22042001280234470d00200141346a41f4ebca800010a0938080000b2001280238200441246c6a220541013a00202005410c36021c20054184e8ca80003602182005420437021020054200370208200542808080808001370200200141106a41086a200441016a2204360200200120012902342206370310024020042006a7470d00200141106a41f4ebca800010a0938080000b2001280214200441246c6a220541023a00202005410e36021c20054190e8ca8000360218200542043702102005420037020820054280808080800137020002402002418080808078470d0041a4edca8000411141b8edca800010a181808000000b20012802142105200128021021072000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002007360204200041013a0000200020012903003702502000200441016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000b950403027f017e037f23808080800041c0006b2201248080808000200141246a419ee8ca8000411641e5e7ca8000410c4104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080800137020c2001410c6a4194edca800010b59280800020012802102204428f9096e9a7fcdea318370308200442a1b7c9b2e6acc3d92a370300200141306a41086a220541013602002004420437022c20044213370224200441abefca80003602202004410c36021c2004419fefca8000360218200441cf848080003602102001200129020c3703300240200528020022052001280230470d00200141306a4194edca800010b5928080000b2001280234200541386c6a2204420437022c20044211370224200441c7efca80003602202004410936021c200441beefca8000360218200441d08480800036021020044281fda5a2bdc7b3f2d600370308200442d3bbc1d99ffc8ea0f30037030002402002418080808078470d0041a4edca8000411141b8edca800010a181808000000b20012802342104200128023021062000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002006360204200041003a0000200020012903003702502000200541016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000b880804077f017e017f017e23808080800041e0006b2201248080808000200141306a41b4e8ca8000411041c4e8ca800041174104410010c292808000200142043702282001420037022020014280808080800137021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241d184808000360218200242e6c39acff69bb2e4c700370310200242e0c2bf8be6bbb9bcb97f37030820024101360204200241dbe8ca80003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141186a200141c0006a4184edca800010cd91808000200141086a41086a200141246a220241086a2802003602002001200229020037030820012802182104200128021c2105200128022021062001280230210720012902342108200141186a41086a22094100360200200142808080808001370218200141186a4194edca800010b592808000200128021c220242e6c39acff69bb2e4c700370308200242e0c2bf8be6bbb9bcb97f370300200141c0006a41086a220341013602002002420437022c20024201370224200241d1edca80003602202002410636021c200241d2edca8000360218200241d184808000360210200120012902183703400240200328020022032001280240470d00200141c0006a4194edca800010b5928080000b2001280244200341386c6a2202420437022c20024201370224200241d1edca80003602202002410b36021c200241d8edca8000360218200241d184808000360210200242e6c39acff69bb2e4c700370308200242e0c2bf8be6bbb9bcb97f3703002009200341016a220236020020012001290340220a37031802402002200aa7470d00200141186a4194edca800010b5928080000b200128021c200241386c22036a2202420437022c20024201370224200241d1edca80003602202002410936021c200241c8edca8000360218200241d184808000360210200242e6c39acff69bb2e4c700370308200242e0c2bf8be6bbb9bcb97f370300200128021c210220012001280218360220200120023602182001200220036a41386a3602242001200236021c200141d4006a200141186a4184edca800010cc918080002007418080808078460d01200141cb006a200141d4006a41086a2802003600002000200636024c20002005360248200020043602442000200837023c20002007360238200041003a0000200020012903083702502001200129025437004320002001290040370001200041d8006a200141086a41086a280200360200200041086a200141c7006a290000370000200141e0006a2480808080000f0b4108412010ab80808000000b41a4edca8000411141b8edca800010a181808000000b930804057f017e037f017e23808080800041e0006b2201248080808000200141306a41f6eaca8000410f41b7eaca800041144104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a4184edca800010cd91808000200141086a41086a200141186a41146a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a4194edca800010b592808000200128021c220842e1c1c0fddab9f88065370308200842d0b0c2c0bfa6f4d53c370300200141c0006a41086a220941013602002008420437022c2008420637022420084189eeca80003602202008410e36021c200841fbedca8000360218200841e680808000360210200120012902183703400240200928020022092001280240470d00200141c0006a4194edca800010b5928080000b2001280244200941386c6a2208420437022c2008420e3702242008419ceeca80003602202008410d36021c2008418feeca8000360218200841d284808000360210200842ccd5c29092aee8bd877f370308200842cfccafddbfcdf6b1ee003703002007200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a4194edca800010b5928080000b200128021c200941386c6a2208420437022c2008420e3702242008419ceeca80003602202008410936021c200841aaeeca8000360218200841d284808000360210200842ccd5c29092aee8bd877f370308200842cfccafddbfcdf6b1ee00370300200141c0006a41086a200941016a220836020020012001290318220a37034002402008200aa7470d00200141c0006a4194edca800010b5928080000b2001280244200841386c22096a2208420437022c2008420e3702242008419ceeca80003602202008410836021c200841b3eeca8000360218200841d284808000360210200842ccd5c29092aee8bd877f370308200842cfccafddbfcdf6b1ee003703002001280244210820012001280240360220200120083602182001200820096a41386a3602242001200836021c200141d4006a200141186a4184edca800010cc9180800002402005418080808078470d0041a4edca8000411141b8edca800010a181808000000b200141cb006a200141d4006a41086a2802003600002000200436024c20002003360248200020023602442000200637023c20002005360238200041003a0000200020012903083702502001200129025437004320002001290040370001200041d8006a200141086a41086a280200360200200041086a200141c7006a290000370000200141e0006a2480808080000b800804077f017e017f017e23808080800041e0006b2201248080808000200141306a41b4e8ca8000411041c4e8ca800041174104410010c292808000200142043702282001420037022020014280808080800137021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc1337030820024101360204200241dbe8ca80003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141186a200141c0006a4184edca800010cd91808000200141086a41086a200141246a220241086a2802003602002001200229020037030820012802182104200128021c2105200128022021062001280230210720012902342108200141186a41086a22094100360200200142808080808001370218200141186a4194edca800010b592808000200128021c220242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a220341013602002002420437022c20024201370224200241d1edca80003602202002410636021c200241d2edca8000360218200241bb80808000360210200120012902183703400240200328020022032001280240470d00200141c0006a4194edca800010b5928080000b2001280244200341386c6a2202420437022c20024201370224200241d1edca80003602202002410b36021c200241d8edca8000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002009200341016a220236020020012001290340220a37031802402002200aa7470d00200141186a4194edca800010b5928080000b200128021c200241386c22036a2202420437022c20024201370224200241d1edca80003602202002410936021c200241c8edca8000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200128021c210220012001280218360220200120023602182001200220036a41386a3602242001200236021c200141d4006a200141186a4184edca800010cc918080002007418080808078460d01200141cb006a200141d4006a41086a2802003600002000200636024c20002005360248200020043602442000200837023c20002007360238200041003a0000200020012903083702502001200129025437004320002001290040370001200041d8006a200141086a41086a280200360200200041086a200141c7006a290000370000200141e0006a2480808080000f0b4108412010ab80808000000b41a4edca8000411141b8edca800010a181808000000b8b0808017f027e027f077e017f037e017f037e200128023041017121022001290340210320012903202204427f2001280218220541017122061b21072001290350210820012903482109200129038802210a024002402001290328220b427f20061b220c200129039002220d580d002007200a580d0020072009580d004100210e200c2008560d010b2007200c84420052210e0b2001290338210f2003427f20021b21032001290310211020012903082111410121060240024020012802002212410171450d0020114200522010420052714101470d010b200e201220114200200720097d221320132007561b5620104200200c20087d22072007200c561b5672717221060b200f427f20021b211020012903a002210c20012903980221070240024020032008580d0020102009560d010b201020038442005220067221060b20072009200a7c58200c2008200d7c58722005200420075671722005200b200c5671722006722102200128028801410171210520012903980121112001290378220f427f2001280270220e41017122061b210820012903a801210920012903a0012103024002402001290380012213427f20061b2210200d580d002008200a580d0020082003580d0020102009560d010b200820108442005220027221020b20012903900121142011427f20051b2111200129036821042001290360210b410121060240024020012802582212410171450d00200b4200522004420052714101470d010b2012200b4200200820037d221520152008561b5620044200201020097d220820082010561b56727120027221060b2014427f20051b21080240024020112009580d0020082003560d010b200820118442005220067221060b20072003200a7c58200c2009200d7c5872200e200f2007567172200e2013200c567172200672210220012802e001410171210520012903f001211120012903d0012213427f20012802c801220e41017122061b2108200129038002210920012903f80121030240024020012903d8012214427f20061b2210200d580d002008200a580d0020082003580d0020102009560d010b200820108442005220027221020b20012903e801210f2011427f20051b211120012903c001210420012903b801210b410121060240024020012802b0012212410171450d00200b4200522004420052714101470d010b2012200b4200200820037d221520152008561b5620044200201020097d220820082010561b56727120027221060b200f427f20051b21080240024020112009580d0020082003560d010b200820118442005220067221060b024020072003200a7c580d00200c2009200d7c580d00200e2013200756710d00200e2014200c56710d0020064101710d002000200141a80210f4978080001a0f0b20004202370300200041013a00080bb80606017f027e017f017e037f047e23808080800041b0026b2202248080808000200241086a200141a80210f4978080001a20022903a802210320022903a00221040240200228022022054101470d0020032002290330220620032006561b210320042002290328220620042006561b21040b0240200228027822074101470d002003200229038801220620032006561b21032004200229038001220620042006561b21040b20012802a8022108024020022802d00122094101470d00200320022903e001220620032006561b2103200420022903d801220620042006561b21040b20013502ac022106200220033703a802200220043703a00202402008450d0020032003428094ebdc0380220a428094ebdc037e7d20067e220b428094ebdc0380210320042004428094ebdc0380220c428094ebdc037e7d20067e220d428094ebdc038021042008450d002003200a20067e7c200b2003428094ebdc037e7d4280cab5ee0156ad7c210a2004200c20067e7c200d2004428094ebdc037e7d4280cab5ee0156ad7c21060240200229030850450d000240024020054101710d004200210b0c010b4200420020022903302203200a7d220420042003561b220320022903587d220420042003561b2103420042002002290328220420067d220b200b2004561b220420022903507d220b200b2004561b21044201210b0b20022003370318200220043703102002200b3703080b024020022802600d004200210b02402007410171450d00420042002002290388012203200a7d220420042003561b220320022903b0017d220420042003561b210342004200200229038001220420067d220b200b2004561b220420022903a8017d220b200b2004561b21044201210b0b20022003370370200220043703682002200b3703600b20022802b8010d004200210b02402009410171450d004200420020022903e0012203200a7d220420042003561b22032002290388027d220420042003561b21034200420020022903d801220420067d220620062004561b22042002290380027d220620062004561b21044201210b0b200220033703c801200220043703c0012002200b3703b8010b2000200241086a10d691808000200241b0026a2480808080000bad0403057f017e027f23808080800041d0006b2201248080808000200141286a41aceaca8000410b41b7eaca800041144104410010c292808000200142043702202001420037021820014280808080800137021020014288808080800137023420014280808080800137023c200141106a200141346a4184edca800010cd91808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a4194edca800010b5928080002001280214220842e2f5ebdfc3cb83de323703002008420437022c20084215370224200841e6edca80003602202008410336021c200841e3edca8000360218200841d384808000360210200842b2bb9087cacadcfcd2003703082001280214210820012001280210360218200120083602102001200841386a36021c20012008360214200141c4006a200141106a4184edca800010cc9180800002402007418080808078470d0041a4edca8000411141b8edca800010a181808000000b200141346a410b6a200141c4006a41086a2802003600002000200536024c20002004360248200020033602442000200637023c20002007360238200041003a0000200020012903003702502001200129024437003720002001290034370001200041d8006a2002280200360200200041086a2001413b6a290000370000200141d0006a2480808080000bf10101027f23808080800041106b220224808080800020022000360204200128020041dceaca80004110200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41eceaca8000410a200241046a41cceaca8000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710baf1203027f017e117f41012101410121020240200029038802220342c000540d0002400240200342808001540d0020034280808080045a0d01410421020c020b410221020c010b4109200379a74103766b21020b0240200029039002220342c000540d0002400240200342808001540d0020034280808080045a0d01410421010c020b410221010c010b4109200379a74103766b21010b41012104410121050240200029039802220342c000540d0002400240200342808001540d0020034280808080045a0d01410421050c020b410221050c010b4109200379a74103766b21050b024020002903a002220342c000540d0002400240200342808001540d0020034280808080045a0d01410421040c020b410221040c010b4109200379a74103766b21040b410121064101210702402000290348220342c000540d0002400240200342808001540d0020034280808080045a0d01410421070c020b410221070c010b4109200379a74103766b21070b02402000290350220342c000540d0002400240200342808001540d0020034280808080045a0d01410421060c020b410221060c010b4109200379a74103766b21060b4101210841012109024020002802004101470d00024002402000290308220342c0005a0d00410221090c010b02402003428080015a0d00410321090c010b024020034280808080045a0d00410521090c010b410a200379a74103766b21090b024002402000290310220342c0005a0d004101210a0c010b02402003428080015a0d004102210a0c010b024020034280808080045a0d004104210a0c010b4109200379a74103766b210a0b2009200a6a21090b024020002802184101470d00024002402000290320220342c0005a0d00410221080c010b02402003428080015a0d00410321080c010b024020034280808080045a0d00410521080c010b410a200379a74103766b21080b024002402000290328220342c0005a0d004101210a0c010b02402003428080015a0d004102210a0c010b024020034280808080045a0d004104210a0c010b4109200379a74103766b210a0b2008200a6a21080b4101210a4101210b024020002802304101470d00024002402000290338220342c0005a0d004102210b0c010b02402003428080015a0d004103210b0c010b024020034280808080045a0d004105210b0c010b410a200379a74103766b210b0b024002402000290340220342c0005a0d004101210c0c010b02402003428080015a0d004102210c0c010b024020034280808080045a0d004104210c0c010b4109200379a74103766b210c0b200b200c6a210b0b024020002903a001220342c000540d0002400240200342808001540d0020034280808080045a0d014104210a0c020b4102210a0c010b4109200379a74103766b210a0b4101210c4101210d024020002903a801220342c000540d0002400240200342808001540d0020034280808080045a0d014104210d0c020b4102210d0c010b4109200379a74103766b210d0b024020002802584101470d00024002402000290360220342c0005a0d004102210c0c010b02402003428080015a0d004103210c0c010b024020034280808080045a0d004105210c0c010b410a200379a74103766b210c0b024002402000290368220342c0005a0d004101210e0c010b02402003428080015a0d004102210e0c010b024020034280808080045a0d004104210e0c010b4109200379a74103766b210e0b200c200e6a210c0b4101210e4101210f024020002802704101470d00024002402000290378220342c0005a0d004102210f0c010b02402003428080015a0d004103210f0c010b024020034280808080045a0d004105210f0c010b410a200379a74103766b210f0b02400240200029038001220342c0005a0d00410121100c010b02402003428080015a0d00410221100c010b024020034280808080045a0d00410421100c010b4109200379a74103766b21100b200f20106a210f0b02402000280288014101470d0002400240200029039001220342c0005a0d004102210e0c010b02402003428080015a0d004103210e0c010b024020034280808080045a0d004105210e0c010b410a200379a74103766b210e0b02400240200029039801220342c0005a0d00410121100c010b02402003428080015a0d00410221100c010b024020034280808080045a0d00410421100c010b4109200379a74103766b21100b200e20106a210e0b4101211041012111024020002903f801220342c000540d0002400240200342808001540d0020034280808080045a0d01410421110c020b410221110c010b4109200379a74103766b21110b0240200029038002220342c000540d0002400240200342808001540d0020034280808080045a0d01410421100c020b410221100c010b4109200379a74103766b21100b4101211241012113024020002802b0014101470d000240024020002903b801220342c0005a0d00410221130c010b02402003428080015a0d00410321130c010b024020034280808080045a0d00410521130c010b410a200379a74103766b21130b0240024020002903c001220342c0005a0d00410121140c010b02402003428080015a0d00410221140c010b024020034280808080045a0d00410421140c010b4109200379a74103766b21140b201320146a21130b024020002802c8014101470d000240024020002903d001220342c0005a0d00410221120c010b02402003428080015a0d00410321120c010b024020034280808080045a0d00410521120c010b410a200379a74103766b21120b0240024020002903d801220342c0005a0d00410121140c010b02402003428080015a0d00410221140c010b024020034280808080045a0d00410421140c010b4109200379a74103766b21140b201220146a21120b41012114024020002802e0014101470d000240024020002903e801220342c0005a0d00410221140c010b02402003428080015a0d00410321140c010b024020034280808080045a0d00410521140c010b410a200379a74103766b21140b0240024020002903f001220342c0005a0d00410121000c010b02402003428080015a0d00410221000c010b024020034280808080045a0d00410421000c010b4109200379a74103766b21000b201420006a21140b200120026a20056a20046a20076a20066a20096a20086a200b6a200a6a200d6a200c6a200f6a200e6a20116a20106a20136a20126a20146a0bf30604057f017e037f017e23808080800041e0006b2201248080808000200141306a4185ebca8000410c41b7eaca800041144104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a4184edca800010cd91808000200141086a41086a200141186a41146a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a4194edca800010b592808000200128021c220842e1c1c0fddab9f88065370308200842d0b0c2c0bfa6f4d53c370300200141c0006a41086a220941013602002008420437022c2008420637022420084189eeca80003602202008410a36021c200841bbeeca8000360218200841e680808000360210200120012902183703400240200928020022092001280240470d00200141c0006a4194edca800010b5928080000b2001280244200941386c6a2208420437022c2008420637022420084189eeca80003602202008410936021c200841c5eeca8000360218200841e680808000360210200842e1c1c0fddab9f88065370308200842d0b0c2c0bfa6f4d53c3703002007200941016a220836020020012001290340220a37031802402008200aa7470d00200141186a4194edca800010b5928080000b200128021c200841386c22096a2208420437022c20084221370224200841d7eeca80003602202008410936021c200841ceeeca8000360218200841d484808000360210200842bee4bfb7cabbc18f917f37030820084297f890a4aafdf5962c370300200128021c210820012001280218360220200120083602182001200820096a41386a3602242001200836021c200141d4006a200141186a4184edca800010cc9180800002402005418080808078470d0041a4edca8000411141b8edca800010a181808000000b200141cb006a200141d4006a41086a2802003600002000200436024c20002003360248200020023602442000200637023c20002005360238200041003a0000200020012903083702502001200129025437004320002001290040370001200041d8006a200141086a41086a280200360200200041086a200141c7006a290000370000200141e0006a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4194edca800010b5928080002004280208220542e88488d0c0e3aebc133703002005420437022c200542033702242005419cefca800036022020054100360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030820042802042106200428020821070240200128020822082001280200470d00200141f4ebca800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4194edca800010b5928080002004280208220542d0b0c2c0bfa6f4d53c3703002005410036023020054280808080c0003703282005410036022020054100360218200541e680808000360210200542e1c1c0fddab9f8806537030820042802042106200428020821070240200128020822082001280200470d00200141f4ebca800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b140020012000280200200028020410b4818080000b5e01017f23808080800041206b22002480808080002000410136020420004198f1ca80003602002000420137020c200041d784808000ad4220864198f0ca8000ad843703182000200041186a36020820004188f1ca800010fe80808000000bd408012d7e0240200141184b0d0002402001450d00410020014103746b210120002903c0012102200029039801210320002903702104200029034821052000290320210620002903b80121072000290390012108200029036821092000290340210a2000290318210b20002903b001210c200029038801210d2000290360210e2000290338210f2000290310211020002903a8012111200029038001211220002903582113200029033021142000290308211520002903a00121162000290378211720002903502118200029032821192000290300211a03402017201685201885201985201a85221b200d200c85200e85200f85201085221c42018985221d201485211e201b4201892008200785200985200a85200b85221f85221b2002852120201d2011854202892221201c2003200285200485200585200685222242018985221c200a8542378922232012201185201385201485201585220a201f42018985221f201085423e892224427f8583852102200a42018920228522102017854229892222201b2004854227892225427f85832023852111201d201385420a892226201c2007854238892227201f200d85420f892228427f858385210d202620102019854224892229427f8583201b200685421b89222a852117201f200f85420689222b201d201585420189222c427f858320102016854212892216852104201b200385420889222d201c200985421989222e427f8583202b852113201b200585421489221b201c200b85421c89220b427f8583201f200c85423d89220f852105201d201285422d89221d200b200f427f858385210a200f201d427f85832010201885420389221585210f201d2015427f8583201b8521142015201b427f8583200b8521192010201a85221d2020420e89221b427f8583201c200885421589221c85210b201b201c427f8583201f200e85422b89221f852110201e422c892206201c201f427f8583852115200141f0f2ca80006a290300201f2006427f858385201d85211a2029202a427f8583202785221c21032006201d427f8583201b85221d210620242021427f8583202285221b2107202a2027427f8583202885221f2108202c2016427f8583202d852227210920212022427f85832025852221210c2016202d427f8583202e852222210e20282026427f85832029852226211220252023427f858320248522232116202c202e202b427f85838522242118200141086a22010d000b200020233703a001200020173703782000202437035020002019370328200020113703a8012000202637038001200020133703582000201437033020002015370308200020213703b0012000200d37038801200020223703602000200f370338200020103703102000201b3703b8012000201f37039001200020273703682000200a3703402000200b370318200020023703c0012000201c3703980120002004370370200020053703482000201d3703202000201a3703000b0f0b41c9f3ca800041c100418cf4ca8000108081808000000b040041000b02000b02000ba80202057f057e23808080800041d0006b220524808080800002402003450d002005410036021c2005410136021020054180f5ca800036020c200542043702142005410c6a41ecf5ca800010fe80808000000b410028029080d480002103410028028c80d48000210641002802b083d4800021072002280210220828020821092002290208210a2008290200210b2002290200210c2000290200210d2000290208210e200520002902103702482005200e3702402005200d3702382005200c3702302005200136022c2005200b370224200541003602202005200a37021820054100360214200520093602102005410136020c200641b4f4ca8000200741024622021b2005410c6a2003419cf4ca800020021b280210118b8080800000200541d0006a2480808080000bc70301047f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff0171410174220541a1f1c180006a2d00003a00022002200541a0f1c180006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe017141a1f1c180006a2d00003a00000b2001410141014100200220036a410320036b10b28180800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41fcf5ca80002005410c6a41fcf5ca800020032004108481808000000bbe0502027f017e23808080800041c0006b2203248080808000200320013a000f02400240024002400240024020020d002003200141087122023a002720020d02200020013a00ca0120002d00c9012104200020002d00c801220241016a3a00c901200241c7014b0d01200020026a220220022d00002004733a0000200020002d00c80141016a22023a00c80102400240200241ff0171220241a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002102200041003b01c8010c010b200241c7014b0d020b200020026a220220022d00002001733a0000200020002d00c80141016a22023a00c80102400240200241ff017141a601470d00200020002d00a60120002d00c901733a00a60141840121010c010b2001410471450d06200241ff01712201450d06200141c7014b0d04200020016a220120012d000020002d00c901733a000020002d00c80141016a41ff0171220141c8014f0d05200020016a220120012d00004104733a000041800121010b200020002d00a7012001733a00a7012000411810e091808000200041003b01c8010c050b20002d00ca01200141ff0171460d042003410236023c200341e4f8ca8000360238200341023602342003410236022c200341d4f8ca8000360228200341db84808000ad42208622052003410f6aad8437031820032005200041ca016a2200ad843703102003200341106a360230410020002003410f6a200341286a4194f9ca800010e691808000000b200241c801419cf7ca8000108281808000000b2003420037023420034281808080c00037022c2003418cf8ca80003602284100200341276a41fccfc28000200341286a4194f8ca800010e691808000000b200141c80141fcf6ca8000108281808000000b200141c801418cf7ca8000108281808000000b200341c0006a2480808080000b8b0d01027f23808080800041a0036b2203248080808000200341002f00ecf6ca80003b0104200341002800e8f6ca8000360200200341126a410041b60110fa978080001a2003410e6a41002800f6f6ca8000360100200341002900eef6ca80003701062003411810e091808000200341d0016a200341c80110f4978080001a200341003a009a03200341003b019803200341d0016a4112410010e791808000024020032d009803220441c7014b0d00200341d0016a20046a220420042d000041cd00733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041e500733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041f200733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041ec00733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041e900733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041ee00733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d00004120733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041f600733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d00004131733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d0000412e733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d00004130733a0000200320032d00980341016a22043a0098030240200441ff017141a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e091808000200341003b0198030b2003200341d0016a41d00110f497808000220341a4f9ca800041072001200210e9918080002000200341d00110f4978080001a200341a0036a2480808080000f0b200441c801419cf7ca8000108281808000000bb20802027f017e23808080800041306b220524808080800020004112410010e791808000024002400240024002402002450d0020002d00c80121060340200641ff0171220641c7014b0d02200020066a220620062d000020012d0000733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010b200141016a21012002417f6a22020d000b0b200541123a000720002d00ca014112470d0120002d00c801220641c7014b0d02200020066a220620062d00002004733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004410876733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004411076733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004411876733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e091808000200041003b01c8010b20004102410010e79180800002402004450d0020002d00c80121060340200641ff0171220641c7014b0d05200020066a220620062d000020032d0000733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010b200341016a21032004417f6a22040d000b0b200541306a2480808080000f0b200641c801419cf7ca8000108281808000000b2005410236021c200541e4f8ca8000360218200541023602142005410236020c200541d4f8ca8000360208200541db84808000ad4220862207200541076aad8437032820052007200041ca016a2200ad843703202005200541206a36021041002000200541076a200541086a4194f9ca800010e691808000000b200641c801419cf7ca8000108281808000000b200641c801419cf7ca8000108281808000000bb70802027f017e23808080800041306b220524808080800020004112410010e791808000024002400240024002402002450d0020002d00c80121060340200641ff0171220641c7014b0d02200020066a220620062d000020012d0000733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010b200141016a21012002417f6a22020d000b0b200541123a000720002d00ca014112470d0120002d00c801220641c7014b0d02200020066a220620062d00002004733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004410876733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004411076733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004411876733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e091808000200041003b01c8010b20004107410010e79180800002402004450d0020002d00c80121060340200641ff0171220641c8014f0d05200020066a22062d00002101200641003a0000200320013a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010b200341016a21032004417f6a22040d000b0b200541306a2480808080000f0b200641c801419cf7ca8000108281808000000b2005410236021c200541e4f8ca8000360218200541023602142005410236020c200541d4f8ca8000360208200541db84808000ad4220862207200541076aad8437032820052007200041ca016a2200ad843703202005200541206a36021041002000200541076a200541086a4194f9ca800010e691808000000b200641c801419cf7ca8000108281808000000b200641c80141bcf7ca8000108281808000000bb80802027f017e23808080800041306b220624808080800020014112410010e791808000024002400240024002402003450d0020012d00c80121070340200741ff0171220741c7014b0d02200120076a220720072d000020022d0000733a0000200120012d00c80141016a22073a00c8010240200741ff017141a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810e09180800041002107200141003b01c8010b200241016a21022003417f6a22030d000b0b200641123a000720012d00ca014112470d0120012d00c801220741c7014b0d02200120076a220720072d00002005733a0000200120012d00c80141016a22073a00c80102400240200741ff0171220741a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810e09180800041002107200141003b01c8010c010b200741c7014b0d030b200120076a220720072d00002005410876733a0000200120012d00c80141016a22073a00c80102400240200741ff0171220741a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810e09180800041002107200141003b01c8010c010b200741c7014b0d030b200120076a220720072d00002005411076733a0000200120012d00c80141016a22073a00c80102400240200741ff0171220741a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810e09180800041002107200141003b01c8010c010b200741c7014b0d030b200120076a220720072d00002005411876733a0000200120012d00c80141016a22073a00c8010240200741ff017141a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810e091808000200141003b01c8010b20014106410010e79180800002402005450d0020012d00c80121070340200741ff0171220741c7014b0d05200120076a20042d00003a0000200120012d00c80141016a22073a00c8010240200741ff017141a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810e09180800041002107200141003b01c8010b200441016a21042005417f6a22050d000b0b2000200141d00110f4978080001a200641306a2480808080000f0b200741c801419cf7ca8000108281808000000b2006410236021c200641e4f8ca8000360218200641023602142006410236020c200641d4f8ca8000360208200641db84808000ad4220862208200641076aad8437032820062008200141ca016a2201ad843703202006200641206a36021041002001200641076a200641086a4194f9ca800010e691808000000b200741c801419cf7ca8000108281808000000b200741c80141acf7ca8000108281808000000bde0405027f017e027f017e017f23808080800041d0006b2201248080808000200141306a41d0faca8000410741d7faca800041164104410010c292808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a2204410036020020014280808080c000370218200141186a418cfaca800010a093808000200128021c22054100360208200542808080808001370200200541003a00202005410336021c200541edfaca80003602182005410036021420054280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a418cfaca800010a0938080000b2001280244410141246c6a220541013a00202005410436021c200541f0faca800036021820054204370210200542003702082005428080808080013702002004410141016a2205360200200120012903402206370318024020052006a7470d00200141186a418cfaca800010a0938080000b200128021c200541246c22046a220541023a00202005410336021c200541f4faca8000360218200542043702102005420037020820054280808080800137020002402002418080808078470d0041acfaca8000411141c0faca800010a181808000000b200128021c2105200128021821072000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002007360204200041013a0000200020012903083702502000200520046a41246a20056b41246e36020c200041d8006a200141106a280200360200200141d0006a2480808080000bdb0203027f017e037f23808080800041306b2201248080808000200141246a41f7faca8000410a41d7faca800041164104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a419cfaca800010b5928080002001280210220542e987d8bed5a3d0fbfb003703002005420437022c2005420437022420054181fbca800036022020054100360218200541ec80808000360210200542e2e68fceaa92ce9c7b37030802402004418080808078470d0041acfaca8000411141c0faca800010a181808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000be10303027f017e037f23808080800041c0006b2201248080808000200141246a4185fbca8000411341d7faca800041164104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080c00037020c2001410c6a418cfaca800010a093808000200128021022044100360208200442808080808001370200200441003a00202004410836021c20044198fbca80003602182004410036021420044280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a418cfaca800010a0938080000b2001280234410141246c22056a220441013a00202004410836021c200441a0fbca8000360218200442043702102004420037020820044280808080800137020002402002418080808078470d0041acfaca8000411141c0faca800010a181808000000b20012802342104200128023021062000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002006360204200041013a0000200020012903003702502000200420056a41246a20046b41246e36020c200041d8006a200141086a280200360200200141c0006a2480808080000be10303027f017e037f23808080800041c0006b2201248080808000200141246a41a8fbca8000410e41b6fbca800041174104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080c00037020c2001410c6a418cfaca800010a093808000200128021022044100360208200442808080808001370200200441003a00202004410e36021c200441cdfbca80003602182004410036021420044280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a418cfaca800010a0938080000b2001280234410141246c22056a220441013a00202004411536021c200441dbfbca8000360218200442043702102004420037020820044280808080800137020002402002418080808078470d0041acfaca8000411141c0faca800010a181808000000b20012802342104200128023021062000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002006360204200041013a0000200020012903003702502000200420056a41246a20046b41246e36020c200041d8006a200141086a280200360200200141c0006a2480808080000ba21003017f017e077f23808080800041306b2201248080808000200141246a41b4fdca8000410541b9fdca800041164104410010c29280800041002d008083d480001a20012902282102200128022421030240024002400240024002400240024002400240410841002802f482d48000118280808000002204450d002004200441036a417c7120046b22056a220641002903f0fdca80003702002006417e6a20053b00002001410036022020014280808080c00037021841002d008083d480001a2001410036022c200142808080808001370224410841002802f482d48000118280808000002204450d012004200441036a417c7120046b22076a220541002903a0ffca80003702002005417e6a20073b0000200141246a41e0fcca800010b592808000200128022822044298848fa1dab08ba174370300200441013602302004200536022c2004428480808010370224200441f0feca80003602202004410636021c20044194fdca8000360218200441e980808000360210200442febac4ad81b6fafcb37f37030841002d008083d480001a20012802242108410841002802f482d48000118280808000002205450d022005200541036a417c7120056b22096a220741002903e8feca80003702002007417e6a20093b0000200141186a41d0fcca800010a093808000200128021c22054281808080103702082005200436020420052008360200200541003a00202005411136021c200541f8fdca80003602182005410136021420052007360210200141086a41086a41013602002001200129021837030841002d008083d480001a2001410036022c200142808080808001370224410841002802f482d48000118280808000002204450d032004200441036a417c7120046b22076a220541002903f8ffca80003702002005417e6a20073b0000200141246a41e0fcca800010b5928080002001280228220442f08ae39db3eef7cb917f370300200441013602302004200536022c2004428880808010370224200441d8ffca80003602202004410736021c2004419afdca8000360218200441f880808000360210200442deb6b7a2defce4d03c37030841002d008083d480001a20012802242109410841002802f482d48000118280808000002205450d042005200541036a417c7120056b22086a220741002903d0ffca80003702002007417e6a20083b00000240200128021022082001280208470d00200141086a41d0fcca800010a0938080000b200128020c200841246c6a220541013a00202005411336021c20054189feca8000360218200541013602142005200736021020054281808080103702082005200436020420052009360200200141186a41086a200841016a3602002001200129030837031841002d008083d480001a2001410036022c200142808080808001370224410841002802f482d48000118280808000002204450d052004200441036a417c7120046b22076a220541002903c880cb80003702002005417e6a20073b0000200141246a41e0fcca800010b5928080002001280228220442f08ae39db3eef7cb917f370300200441013602302004200536022c2004428880808010370224200441d8ffca80003602202004410736021c200441a1fdca8000360218200441f880808000360210200442deb6b7a2defce4d03c37030841002d008083d480001a20012802242109410841002802f482d48000118280808000002205450d062005200541036a417c7120056b22086a220741002903a880cb80003702002007417e6a20083b00000240200128022022082001280218470d00200141186a41d0fcca800010a0938080000b200128021c200841246c6a220541023a00202005410f36021c2005419cfeca8000360218200541013602142005200736021020054281808080103702082005200436020420052009360200200141086a41086a200841016a3602002001200129031837030841002d008083d480001a2001410036022c200142808080808001370224410841002802f482d48000118280808000002204450d072004200441036a417c7120046b22076a2205410029039881cb80003702002005417e6a20073b0000200141246a41e0fcca800010b5928080002001280228220442f08ae39db3eef7cb917f370300200441013602302004200536022c2004428880808010370224200441d8ffca80003602202004410c36021c200441a8fdca8000360218200441f880808000360210200442deb6b7a2defce4d03c37030841002d008083d480001a20012802242109410841002802f482d48000118280808000002205450d082005200541036a417c7120056b22086a220741002903f880cb80003702002007417e6a20083b00000240200128021022082001280208470d00200141086a41d0fcca800010a0938080000b200128020c200841246c6a220541033a00202005411336021c200541abfeca80003602182005410136021420052007360210200542818080801037020820052004360204200520093602002003418080808078460d09200128020c2104200128020821052000410136025820002006360254200042808080801037024c2000428080808080013702442000200237023c200020033602382000200436020820002005360204200041013a00002000200841016a36020c200141306a2480808080000f0b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b41f0fcca800041114184fdca800010a181808000000baa0303017f017e037f23808080800041206b2201248080808000200141146a41b482cb8000410841bc82cb8000411a4104410010c2928080002001290218210220012802142103200141146a41086a410036020020014280808080c000370214200141146a418082cb800010a093808000200128021822044100360208200442808080808001370200200441003a00202004410936021c200441d682cb80003602182004410036021420044280808080c00037020c200141086a41086a410136020020012001290214370308024020012802084101470d00200141086a418082cb800010a0938080000b200128020c410141246c6a220441013a00202004410236021c200441df82cb8000360218200442043702102004420037020820044280808080800137020002402003418080808078470d00419082cb8000411141a482cb800010a181808000000b200128020c210420012802082105200042043702542000420037024c2000428080808080013702442000200237023c200020033602382000200436020820002005360204200041013a00002000410141016a36020c200141206a2480808080000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be30101037f23808080800041206b2203248080808000024002400240200120026a220220014f0d00410021040c010b4100210402402002200028020022054101742201200220014b1b22014108200141084b1b220141004e0d000c010b4100210202402005450d002003200536021c20032000280204360214410121020b20032002360218200341086a41012001200341146a10f39180800020032802084101470d0120032802102100200328020c21040b2004200041d883cb800010b980808000000b200328020c21022000200136020020002002360204200341206a2480808080000bee0402067f017e23808080800041c0006b22022480808080000240024002400240024002402001280208220320012802102204460d00024002400240200441016a2205450d0020032005490d0120012802042106200120053602100240024002400240200620046a2d000022074103710e0403000102030b200220073a0015200241013a001420022001360210200241003b0128200241106a200241286a410210f6918080000d0620022f01282204418002490d06200441027621050c070b200220073a0015200241013a00142002200136021020024100360228200241106a200241286a410410f6918080000d052002280228220441ffff034d0d05200441027621050c060b20074104490d030c040b200741027621050c040b417f2005418486cb8000109581808000000b20052003418486cb8000109181808000000b200320056b4104490d00200441056a21042005417b4b0d03200420034b0d0420012004360210200620056a28000022054180808080044f0d010b200041003602000c010b20022001280210220436020c200128020822032004490d032001200320046b22033602082001200128020420046a360204200141003602100240200520034b0d0020002001200510d5808080000c010b200041003602000b200241c0006a2480808080000f0b20052004418486cb8000109581808000000b20042003418486cb8000109181808000000b200241023602142002419084cb80003602102002420237021c2002200336023c200241dd84808000ad42208622082002413c6aad84370330200220082002410c6aad843703282002200241286a360218200241106a41fc84cb800010fe80808000000b9e0201037f20002d00042103200041003a0004024002400240024002400240024020030d00410121032002200028020022002802082204200028021022056b4b0d02200520026a22032005490d03200320044b0d042001200028020420056a200210f4978080001a200020033602100c010b200120002d00053a0000410121032002417f6a2205200028020022002802082204200028021022026b4b0d01200220056a22032002490d04200320044b0d05200141016a200028020420026a200510f4978080001a200020033602100b410021030b20030f0b20052003418486cb8000109581808000000b20032004418486cb8000109181808000000b20022003418486cb8000109581808000000b20032004418486cb8000109181808000000bd40301047f23808080800041106b220324808080800041002104024002400240024002400240200241046a22054100480d002005450d0241002d008083d480001a200541002802f482d480001182808080000022040d01410121040b2004200541f485cb800010b980808000000b200320043602082004417e6a41003b00002003200536020402402002413f4b0d00200420024102743a0000410121060c040b200241ffff004b0d0141022106200420024102744101723b00000c030b2003410036020c2003428080808010370204200341046a4100410110f4918080002003280208210420032802042105200328020c21060c010b41002106200241ffffffff034b0d0020042002410274410272360000410421060c010b200420066a41033a00002003200641016a220636020c0240200520066b41034b0d00200341046a2006410410f4918080002003280204210520032802082104200328020c21060b200420066a2002360000200641046a21060b2003200636020c02402002200520066b4d0d00200341046a2006200210f49180800020032802082104200328020c21060b200420066a2001200210f4978080001a200041086a200620026a36020020002003290204370200200341106a2480808080000b1e002001280200419486cb8000410b200128020428020c118080808000000b880201047f23808080800041106b220324808080800002402001450d0020014104742104200041086a2101200228020821000340200141046a28020021050240200228020020006b41034b0d0020022000410410f491808000200228020821000b2002200041046a360208200228020420006a20053600002001417c6a28020021062003200128020022003602082003200341086a36020c2003410c6a200210fa91808000024020002002280200200228020822056b4d0d0020022005200010f491808000200228020821050b200228020420056a2006200010f4978080001a2002200520006a2200360208200141106a2101200441706a22040d000b0b200341106a2480808080000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000b140020012000280204200028020810b4818080000baf0101017f23808080800041306b2202248080808000200241246a41a489cb80004102200010829280800020024102360204200241b089cb8000360200200241de84808000ad422086200241246aad843703182002420137020c2002200241186a36020820012802002001280204200210b181808000210102402002280224450d00200228022822002000417e6a2f00006b41002802ec82d48000118180808000000b200241306a24808080800020010bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b870802097f017e23808080800041206b2201248080808000410021020240417f417f417f20002802142203410c6c417f2000280208220441046a22054101200028022c220641056a20002802242207418080808078461b6a220820082005491b22056a41046a220820082005491b2205200028022022094104746a41046a220820082005491b220541086a220820082005491b22054100480d0041002d008083d480001a41012102200541002802f482d48000118280808000002208450d002008417e6a41003b000020014100360214200120083602102001200536020c20002802042102200120043602182001200141186a36021c2001411c6a2001410c6a10fa9180800002402004200128020c200128021422056b4d0d002001410c6a2005200410f491808000200128021421050b2001280210220820056a2002200410f4978080001a2001200520046a2204360214024002402007418080808078460d000240200128020c2004470d002001410c6a2004410110f49180800020012802102108200128021421040b200820046a41013a00002001200441016a36021420002802282105200120063602182001200141186a36021c2001411c6a2001410c6a10fa9180800002402006200128020c200128021422046b4d0d002001410c6a2004200610f491808000200128021421040b200128021020046a2005200610f4978080001a200420066a21040c010b0240200128020c2004470d002001410c6a2004410110f49180800020012802102108200128021421040b200820046a41003a0000200441016a21040b2001200436021420002802102104200120033602182001200141186a36021c2001411c6a2001410c6a10fa9180800002402003450d002003410c6c2106200441086a210403402004417c6a28020021082001200428020022033602182001200141186a36021c2001411c6a2001410c6a10fa9180800002402003200128020c200128021422056b4d0d002001410c6a2005200310f491808000200128021421050b200128021020056a2008200310f4978080001a2001200520036a3602142004410c6a2104200641746a22060d000b0b200028021c2104200120093602182001200141186a36021c2001411c6a2001410c6a10fa91808000200420092001410c6a10f991808000200028023021030240200128020c200128021422046b41034b0d002001410c6a2004410410f491808000200128021421040b200128021020046a20033600002001200441046a2204360214200028023421030240200128020c20046b41034b0d002001410c6a2004410410f491808000200128021421040b200128021020046a20033600002001350210210a200141206a248080808000200a200441046aad422086840f0b20022005419489cb800010b980808000000bdb0203027f017e037f23808080800041306b2201248080808000200141246a41c089cb8000410841c889cb800041294104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41f887cb800010b5928080002001280210220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541f189cb800036022020054100360218200541df8480800036021020054296e397c6bfa5aeee4637030802402004418080808078470d00418888cb80004111419c88cb800010a181808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000bdb0203027f017e037f23808080800041306b2201248080808000200141246a41f889cb8000410e41c889cb800041294104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41f887cb800010b5928080002001280210220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541f189cb800036022020054100360218200541df8480800036021020054296e397c6bfa5aeee4637030802402004418080808078470d00418888cb80004111419c88cb800010a181808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000bda0203027f017e037f23808080800041306b2201248080808000200141246a41868acb8000410241c889cb800041294104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41f887cb800010b5928080002001280210220542e88488d0c0e3aebc133703002005420437022c20054203370224200541888acb800036022020054100360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030802402004418080808078470d00418888cb80004111419c88cb800010a181808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000ba00701087f23808080800041106b220424808080800041012105410021060240024002402003280208220741017420026a22084100480d00200328020421062008450d0241002d008083d480001a200841002802f482d480001182808080000022050d01410121060b2006200841fc8acb800010b980808000000b2005417e6a41003b00000b410021032004410036020c200420053602082004200836020402402002450d00200120026a2109410021030340024002400240024020012c00002208417f4a0d0020012d0001413f7121022008411f71210a2008415f4b0d01200a4106742002722108200141026a21010c020b200141016a2101200841ff017121084101210b410121020c020b200241067420012d0002413f717221020240200841704f0d002002200a410c74722108200141036a21010c010b200241067420012d0003413f7172200a411274418080f00071722108200141046a21010b4101210b024020084180014f0d00410121020c010b410221024100210b2008418010490d0041034104200841808004491b21020b2003210a02402002200428020420036b4d0d00200441046a2003200241014101108392808000200428020c210a200428020821050b2005200a6a210a024002400240200b0d002008418010490d010240200841808004490d00200a2008413f71418001723a0003200a200841127641f001723a0000200a2008410676413f71418001723a0002200a2008410c76413f71418001723a00010c030b200a2008413f71418001723a0002200a2008410c7641e001723a0000200a2008410676413f71418001723a00010c020b200a20083a00000c010b200a2008413f71418001723a0001200a200841067641c001723a00000b2004200220036a220336020c20012009470d000b0b02402007450d00034020062d000022084104762201413072200141d7006a200841a001491b210b200321010240200320042802042202470d00200441046a200341014101410110839280800020042802042102200428020c21010b2004280208220a20016a200b3a00002004200341016a220136020c2008410f712208413072200841d7006a2008410a491b2108024020012002470d00200441046a2002410141014101108392808000200428020c21012004280208210a0b200641016a2106200a20016a20083a00002004200341026a220336020c2007417f6a22070d000b0b20002004290204370200200041086a200441046a41086a280200360200200441106a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10849280800020052802084101470d0120052802102102200528020c21060b2006200241848ccb800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bca0303037f017e027f23808080800041206b22052480808080000240024002402003417f6a220620046a410020036b220771ad2001ad7e2208422088a70d002008a7220441808080807820036b4d0d010b20004100360204410121030c010b024020040d002000200336020841002103200041003602040c010b41002d008083d480001a200369210920044100200341786a220a200a20034b1b6a41002802f482d4800011828080800000210a024002400240024002402002450d00200941014b0d02200a450d042006200a6a200771200a6b220241ffff034b0d04200a20026a2203417e6a20023b000020034100200410fa978080001a0c010b200941014b0d02200a450d032006200a6a200771200a6b220241ffff034b0d03200a20026a2203417e6a20023b00000b2000200336020820002001360204410021030c030b200541003602182005410136020c200541a4edcc800036020820054204370210200541086a41a0eecc800010fe80808000000b200541003602182005410136020c200541a4edcc800036020820054204370210200541086a41a0eecc800010fe80808000000b2000200436020820002003360204410121030b20002003360200200541206a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41948ecb800010b5928080002004280208220542e6e2dea393f0baf43a3703002005410036023020054280808080c0003703282005410036022020054100360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f37030820042802042106200428020821070240200128020822082001280200470d00200141f48ccb800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bbe0f04057f017e037f017e23808080800041d0006b2201248080808000200141286a41e591cb8000411941ce91cb800041174104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41848ecb8000108e92808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a22074100360200200142808080808001370210200141106a41948ecb800010b5928080002001280214220842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a220941013602002008420437022c20084203370224200841db8ecb80003602202008410d36021c200841f28ecb8000360218200841bb80808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41948ecb800010b5928080000b2001280244200941386c6a2208420437022c20084203370224200841db8ecb80003602202008411236021c200841ff8ecb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc133703002007200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41948ecb800010b5928080000b2001280214200941386c6a2208420437022c20084203370224200841db8ecb80003602202008411636021c200841918fcb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41948ecb800010b5928080000b2001280244200941386c6a2208420437022c20084203370224200841db8ecb80003602202008411536021c200841a78fcb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41948ecb800010b5928080000b2001280214200941386c6a2208420437022c20084203370224200841db8ecb80003602202008411736021c200841bc8fcb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41948ecb800010b5928080000b2001280244200941386c6a2208420437022c20084203370224200841db8ecb80003602202008412436021c200841d38fcb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41948ecb800010b5928080000b2001280214200941386c6a2208420437022c20084203370224200841db8ecb80003602202008412236021c200841f78fcb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41948ecb800010b5928080000b2001280244200941386c6a2208420437022c2008420b370224200841b490cb80003602202008411b36021c2008419990cb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41948ecb800010b5928080000b2001280214200941386c6a2208420437022c2008420b370224200841b490cb80003602202008411836021c200841bf90cb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c8006a200941016a220836020020012001290310220a37034002402008200aa7470d00200141c0006a41948ecb800010b5928080000b2001280244200841386c22096a2208420437022c20084212370224200841eb90cb80003602202008411436021c200841d790cb8000360218200841e084808000360210200842f1f78cfbb3b1d2c06a370308200842f8e7b48391f5ecb87a3703002001280244210820012001280240360248200120083602402001200820096a41386a36024c20012008360244200141346a200141c0006a41848ecb8000108d9280800002402005418080808078470d0041a48ecb8000411141b88ecb800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41dc97cb8000108e928080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bda0a04057f017e037f017e23808080800041d0006b2201248080808000200141286a41fe91cb8000411341ce91cb800041174104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41848ecb8000108e92808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a22074100360200200142808080808001370210200141106a41948ecb800010b5928080002001280214220842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a220941013602002008420437022c20084203370224200841db8ecb80003602202008410c36021c200841fd90cb8000360218200841bb80808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41948ecb800010b5928080000b2001280244200941386c6a2208420437022c20084203370224200841db8ecb80003602202008410e36021c2008418991cb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc133703002007200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41948ecb800010b5928080000b2001280214200941386c6a2208420437022c20084203370224200841db8ecb80003602202008411036021c2008419791cb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41948ecb800010b5928080000b2001280244200941386c6a2208420437022c20084203370224200841db8ecb80003602202008410936021c200841a791cb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41948ecb800010b5928080000b2001280214200941386c6a2208420437022c20084203370224200841db8ecb80003602202008410a36021c200841b091cb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220836020020012001290310220a37034002402008200aa7470d00200141c0006a41948ecb800010b5928080000b2001280244200841386c22096a2208420437022c2008420c370224200841c291cb80003602202008410836021c200841ba91cb8000360218200841e18480800036021020084290f3c1b99dc0eac8cb00370308200842c1de9bfecdd1dee8103703002001280244210820012001280240360248200120083602402001200820096a41386a36024c20012008360244200141346a200141c0006a41848ecb8000108d9280800002402005418080808078470d0041a48ecb8000411141b88ecb800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41dc97cb8000108e928080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000baa0403057f017e027f23808080800041c0006b2201248080808000200141246a419192cb8000411241ce91cb800041174104410010c2928080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41848ecb8000108e92808000200141086a2202200141206a28020036020020012001290218370300200128020c2103200128021021042001280214210520012902282106200128022421072001410036021420014280808080c00037020c2001410c6a41f48ccb800010a0938080002001280210220842808080808001370200200841003a00202008410736021c200841a392cb80003602182008420437021020084200370208200128021021082001200128020c3602142001200836020c2001200841246a36021820012008360210200141306a2001410c6a41848ecb8000108f9280800002402007418080808078470d0041a48ecb8000411141b88ecb800010a181808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41dc97cb8000108e92808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a2001410c6a41076a290000370000200141c0006a2480808080000bb50503057f017e027f23808080800041c0006b2201248080808000200141246a41aa92cb8000410e41ce91cb800041174104410010c2928080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41848ecb8000108e92808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080c00037020c2001410c6a41f48ccb800010a093808000200128021022074100360208200742808080808001370200200741003a00202007410536021c200741b892cb80003602182007410036021420074280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41f48ccb800010a0938080000b2001280234410141246c22086a220741013a00202007410736021c200741bd92cb8000360218200742043702102007420037020820074280808080800137020020012802342107200120012802303602142001200736020c2001200720086a41246a36021820012007360210200141306a2001410c6a41848ecb8000108f9280800002402005418080808078470d0041a48ecb8000411141b88ecb800010a181808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a41dc97cb8000108e92808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a2001410c6a41076a290000370000200141c0006a2480808080000bb80401047f23808080800041e0006b2203248080808000200341186a200110929280800002400240200328021c4101470d0041002104024002400240200328022022054100480d00410121042005450d0241002d008083d480001a200541002802f482d480001182808080000022040d01410121040b20042005200210b980808000000b2004417e6a41003b00000b4100210620034100360214200320043602102003200536020c200341186a41186a200141186a280200360200200341186a41106a200141106a290200370300200341186a41086a200141086a29020037030020032001290200370318200341386a200341186a109292808000200328023c4101470d012003410c6a41086a210102402003280240220220054d0d002003410c6a410020024101410110959280800020032802102104200328021421060b200341386a41186a200341186a41186a280200360200200341386a41106a200341186a41106a290300370300200341386a41086a200341186a41086a290300370300200320032903183703382003200436025c2003200636025820032001360254200341386a200341d4006a109192808000200041086a2003410c6a41086a2802003602002000200329020c370200200341e0006a2480808080000f0b200341003602482003410136023c200341d892cb800036023820034204370240200341386a200210fe80808000000b200341003602482003410136023c200341d892cb800036023820034204370240200341386a200210fe80808000000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a41002008410841381095928080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a41002008410841201095928080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741246e2208200128020822014101764f0d01410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a41002008410441241095928080002003280208210a200328020c21090b200a200941246c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41246e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000be60503067f017e027f23808080800041d0006b2201248080808000200141286a419896cb8000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bc80808000360218200242ec8ca7e0e2f0c7e6bf7f370310200242e6e2dea393f0baf43a370308200241013602042002419e96cb80003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a41848ecb8000108e92808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a41f48ccb800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c2002419f96cb8000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41a396cb800041041087928080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a41848ecb8000108f928080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41dc97cb8000108e928080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41a48ecb8000411141b88ecb800010a181808000000bbd05010b7f20012802082102200128020421032000280214210402402000280200410171450d00200028020c2105024020002802042206450d00200620002802082207460d00200720066b2208410371210902400240200620076b417c4d0d00410021070c010b200220036a210a2008417c71210b410021070340200a20076a2208200620076a220c2d00003a0000200841016a200c41016a2d00003a0000200841026a200c41026a2d00003a0000200841036a200c41036a2d00003a0000200b200741046a2207470d000b200320076a21030b2009450d00200620076a21070340200220036a20072d00003a0000200741016a2107200341016a21032009417f6a22090d000b0b2005450d00200520002802102207460d00200720056b2208410371210902400240200520076b417c4d0d00410021070c010b200220036a21062008417c71210a410021070340200620076a2208200520076a220c2d00003a0000200841016a200c41016a2d00003a0000200841026a200c41026a2d00003a0000200841036a200c41036a2d00003a0000200a200741046a2207470d000b200320076a21030b2009450d00200520076a21070340200220036a20072d00003a0000200741016a2107200341016a21032009417f6a22090d000b0b2001280200210602402004450d00200420002802182207460d00200720046b2208410371210902400240200420076b417c4d0d00410021070c010b200220036a21002008417c712105410021070340200020076a2208200420076a220c2d00003a0000200841016a200c41016a2d00003a0000200841026a200c41026a2d00003a0000200841036a200c41036a2d00003a00002005200741046a2207470d000b200320076a21030b2009450d00200420076a21070340200220036a20072d00003a0000200741016a2107200341016a21032009417f6a22090d000b0b200620033602000bdc0201047f41012102200128021421030240024002400240024002400240024020012802004101470d00200128020c2104200128020421052003450d052005450d01200128020820056b21022004450d02417f417f200128021020046b20026a2204200420024922021b2205200128021820036b22016a220320032005491b210320020d04200421020c030b2003450d05200128021820036b220321010c060b024020040d00410021020c010b200128021020046b21020b417f2002200128021820036b22016a220320032002491b21030b200220016a220120024f21020c030b410021020c020b024002402005450d00200128020820056b210520040d0120052103200521010c030b2004450d01200128021020046b220321010c020b417f200128021020046b20056a220120012005491b2103200120054f21020c010b41002103410021010b2000200136020820002002360204200020033602000bf60503057f017e027f23808080800041d0006b2201248080808000200141286a41a796cb8000411241b996cb800041264104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41848ecb8000108e92808000200141086a200141106a41146a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a4100360200200142808080808001370210200141106a41948ecb800010b5928080002001280214220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141c0006a41086a220841013602002007420437022c20074203370224200741db8ecb80003602202007411336021c200741c88ecb8000360218200741bb80808000360210200120012902103703400240200828020022072001280240470d00200141c0006a41948ecb800010b5928080000b2001280244200741386c22086a2207420437022c20074203370224200741db8ecb80003602202007411436021c200741de8ecb8000360218200741bb80808000360210200742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc133703002001280244210720012001280240360248200120073602402001200720086a41386a36024c20012007360244200141346a200141c0006a41848ecb8000108d9280800002402005418080808078470d0041a48ecb8000411141b88ecb800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41dc97cb8000108e928080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10949280800020052802084101470d0120052802102102200528020c21060b2006200241e498cb800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000bee0101037f23808080800041306b220324808080800041002d008083d480001a0240410841002802f482d480001182808080000022040d004101410841dc99cb800010b980808000000b2004417e6a220541003b000020042001290200370000200341286a2004410841002802e480d48000118680808000002003200441086a360224200320043602202003200341286a41086a36021c2003410136020c200320023602102003200241206a3602142003200341286a36021820002003410c6a41ec9acb8000108c92808000200420052f00006b41002802ec82d4800011818080800000200341306a2480808080000bb90201047f024002402002280204450d000240200228020822030d00024020010d00410421020c030b4100210241002d008083d480001a200141002802f482d48000118280808000002204450d022004200441036a417c7120046b22056a2202417e6a20053b00000c020b2002280200210441002102200141002802f482d48000118280808000002205450d012005200541036a417c7120056b22066a2202417e6a20063b000020022004200310f4978080001a20042004417e6a2f00006b41002802ec82d48000118180808000000c010b024020010d00410421020c010b4100210241002d008083d480001a200141002802f482d48000118280808000002204450d002004200441036a417c7120046b22056a2202417e6a20053b00000b2000200136020820002002410420021b36020420002002453602000be00101077f23808080800041206b22022480808080004100210302402000280200220441ffffffff014d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410274220741fcffffff074b0d004100210502402004450d002002200441027436021c20022000280204360214410421050b20022005360218200241086a2007200241146a10979280800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf50102037f017e23808080800041306b22022480808080002001280204210320012802002104200028020021000240024020012d000a41800171450d00200441fc9acb80004102200328020c11808080800000450d00410121010c010b41e284808000ad4220862002410c6aad8421054100210103402002200020016a36020c20024101360224200241b09bcb800036022020024101360214200241909bcb80003602102002410136021c200220053703282002200241286a360218024020042003200241106a10b181808000450d00410121010c020b200141016a22014120470d000b410021010b200241306a24808080800020010b8b0101017f23808080800041306b22022480808080002002200036020c20024101360224200241989bcb800036022020024101360214200241909bcb80003602102002410136021c200241c080808000ad4220862002410c6aad843703282002200241286a36021820012802002001280204200241106a10b1818080002101200241306a24808080800020010be10203027f017e037f23808080800041306b2201248080808000200141246a41c89bcb8000410441fe9acb8000410f4104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41ac9ccb800010b5928080002001280210220542bbeefa98e893a7ad023703002005420437022c20054208370224200541e09ccb800036022020054100360218200541e384808000360210200542eef8e7b09dc4b6b53f37030802402004418080808078470d0041bc9ccb8000411141d09ccb800010a181808000000b200128020c2105200128021021062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200636020820002005360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000b6700200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004120360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a00000b940101037f2380808080004180016b220224808080800020002802002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b281808000210020024180016a24808080800020000bda0303017f017e047f0240024020004280808080105a0d0020012102200021030c010b200141786a220220004280c2d72f8022034280bea8d00f7e20007ca722044190ce006e22054190ce0070220641ffff037141e4006e220741017441e89ccb80006a2f00003b00002001417c6a200420054190ce006c6b220441ffff037141e4006e220541017441e89ccb80006a2f00003b00002001417a6a2006200741e4006c6b41ffff037141017441e89ccb80006a2f00003b00002001417e6a2004200541e4006c6b41ffff037141017441e89ccb80006a2f00003b00000b024002402003a722014190ce004f0d00200121040c010b2002417c6a21020340200220014190ce006e220441f0b17f6c20016a220541e4006e220641017441e89ccb80006a2f00003b0000200241026a2005200641e4006c6b41017441e89ccb80006a2f00003b00002002417c6a2102200141ffc1d72f4b21052004210120050d000b200241046a21020b02400240200441e3004b0d00200421010c010b2002417e6a22022004200441ffff037141e4006e220141e4006c6b41ffff037141017441e89ccb80006a2f00003b00000b0240200141094b0d002002417f6a20014130723a00000f0b2002417e6a200141017441e89ccb80006a2f00003b00000bc01509017f027e037f017e027f037e017f017e017f23808080800041a0026b22022480808080002000bd220342ffffffffffffff078321042003423488a7210541002106024020034200590d002001412d3a0000410121060b200541ff0f7121050240024002400240024002400240024020044200520d002005450d010b20044200522005410249722107200442808080808080800884200420051b22044202862103200442018321080240200541cb776a41cc7720051b2205417f4a0d0020024190026a4190c9cb800020054185a2536c4114762005417f476b220920056a220a41047422056b290300220442002003420284220b420010fc9780800020024180026a4198c9cb800020056b290300220c4200200b420010fc97808000200241f0016a200229039802220b2002290380027c220d200229038802200d200b54ad7c2009200a41b1d9b51f6c4113766b41fc006a41ff007141c000732205108198808000200241b0016a2004420020032007417f73ac7c220b420010fc97808000200241a0016a200c4200200b420010fc9780800020024190016a20022903b801220b20022903a0017c220d20022903a801200d200b54ad7c2005108198808000200241e0016a200442002003420010fc97808000200241d0016a200c42002003420010fc97808000200241c0016a20022903e801220420022903d0017c220c20022903d801200c200454ad7c200510819880800020022903c001210b200229039001210d20022903f001210c024020094102490d002009413f4f0d042003427f2009ad86427f858350450d040c050b200c20087d210c200850200771210e410121090c050b20024180016a200541c1e8046c411276200541034b6b220a410474220941b09ecb80006a290300220c420020034202842204420010fc97808000200241f0006a200941b89ecb80006a290300220b42002004420010fc97808000200241e0006a200229038801220d20022903707c220f2002290378200f200d54ad7c200a20056b200a41cfa6ca006c4113766a41fd006a41ff007141c000732205108198808000200241206a200c420020032007417f73ac7c220d420010fc97808000200241106a200b4200200d420010fc9780800020022002290328220d20022903107c220f2002290318200f200d54ad7c2005108198808000200241d0006a200c42002003420010fc97808000200241c0006a200b42002003420010fc97808000200241306a2002290358220c20022903407c220b2002290348200b200c54ad7c20051081988080002002290330210b2002290300210d2002290360210c200a41164f0d0202402003420580a7417b6c41002003a76b470d00417f210503402003a72107200541016a210520034205802203a7417b6c410020076b460d000b2005200a4f0d040c030b02402008500d00417f210503402004a72107200541016a210520044205802204a7417b6c410020076b460d000b200c2005200a4fad7d210c0c030b2007ad427f8520037c2103417f210503402003a72107200541016a210520034205802203a7417b6c410020076b460d000c020b0b200120066a220541002f00f0f1cb80003b0000200541026a41002d00f2f1cb80003a00002003423f88a741036a21070c050b2005200a490d004101210e410021090c020b4100210702400240200c42e400802204200d42e40080220f560d0041002105200d210f200c2104200b21030c010b200b42e400802203a7419c7f6c200ba76a41314b2107410221050b02402004420a802204200f420a80220c580d000340200541016a21052003220b420a8021032004420a802204200c220f420a80220c560d000b2003a741766c200ba76a41044b21070b2003200f5120077221070c020b4100210e410121090b4100210702400240200c420a802203200d420a80220f560d0041002105200d2104200b210c0c010b41002105410021070340200e200f2204a741766c4100200da76b4671210e200541016a21052009200741ff017145712109200b420a80220ca741766c200ba76a2107200c210b2004210d2003420a8022032004420a80220f560d000b0b024002400240200e450d002004420a80220ba741766c41002004a76b460d010b200c21030c010b0340200ba72110200541016a21052009200741ff017145712109200c420a802203a741766c200ca76a2107200b2104200b420a80220d210b2003210c200da741766c410020106b460d000b0b2003200451200850200e7141017371410441052003420183501b2007200741ff01714105461b200720091b41ff017141044b7221070b200a20056a21090240024020032007ad4201837c220342ffff83fea6dee111580d00411121070c010b0240200342ffff99a6eaafe301580d00411021070c010b0240200342ffffe883b1de16580d00410f21070c010b0240200342ffbfcaf384a302580d00410e21070c010b0240200342ff9f94a58d1d580d00410d21070c010b0240200342ffcfdbc3f402580d00410c21070c010b0240200342ffc7afa025580d00410b21070c010b0240200342ff93ebdc03580d00410a21070c010b0240200342ffc1d72f580d00410921070c010b0240200342fface204580d00410821070c010b0240200342bf843d580d00410721070c010b02402003429f8d06580d00410621070c010b02402003428fce00580d00410521070c010b0240200342e707580d00410421070c010b0240200342e300580d00410321070c010b4102410120034209561b21070b200720096a2105024002400240024002400240024002400240024020094100480d0020054111480d010b2005417f6a22094110490d01200541046a4105490d0220074101470d05200120066a220741e5003a000120072003a741306a3a000020012006410272220e6a210720094100480d03200921050c040b2003200120066a20076a109e928080000240200720054e0d00200120076a20066a4130200910fa978080001a0b2001200520066a22056a41aee0003b0000200541026a21070c080b20032001200620076a41016a22076a109e92808000200120066a2209200941016a200510f99780800020056a412e3a00000c070b200120066a220e41b0dc003b0000410220056b210902402005417f4a0d00200e41026a413020094103200941034b1b417e6a10fa978080001a0b20032001200720066a20096a22076a109e928080000c060b2007412d3a0000410120056b2105200741016a21070b200541e3004a0d010240200541094a0d002007200541306a3a00002009411f7641016a200e6a21070c050b2007200541017441e89ccb80006a2f00003b00002009411f76410272200e6a21070c040b20032001200720066a220e6a221041016a109e92808000200120066a220720072d00013a00002007412e3a0001201041e5003a00012001200e41026a220e6a210720094100480d01200921050c020b2007200541e4006e220141306a3a000020072005200141e4006c6b41017441e89ccb80006a2f00003b00012009411f7641036a200e6a21070c020b2007412d3a0000410120056b2105200741016a21070b0240200541e3004a0d000240200541094a0d002007200541306a3a00002009411f7641016a200e6a21070c020b2007200541017441e89ccb80006a2f00003b00002009411f76410272200e6a21070c010b2007200541e4006e220141306a3a000020072005200141e4006c6b41017441e89ccb80006a2f00003b00012009411f7641036a200e6a21070b200241a0026a24808080800020070bf517020d7f027e23808080800041c0006b2207248080808000024002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022082f01e2012209410b490d00200128020421092001280208210a41002d008083d480001a41e80141002802f482d48000118280808000002201450d0b2001200141076a41787120016b220b6a220c41003b01e201200c41003602b001200c417e6a200b3b0000200a4105490d01200a417b6a0e020304020b20082001280208220a4104746a210c200a41016a220b20094d0d07200c2003370308200c20023703000c080b200c20082f01e201417b6a22013b01e2012001410c4f0d0a200841c0006a210b200841c8006a210d200841c4016a210e4104210f41c801211041d000211120092112200821130c040b200c20082f01e20141796a22013b01e2012001410c4f0d0a200a41796a210a200841e0006a210b200841e8006a210d200841cc016a210e410021124106210f41d001211041f00021110c020b200c20082f01e201417a6a22013b01e2012001410c4f0d0a200829035021142008290358211520082802c801210e200c200841e0006a200141047410f49780800041b4016a200841cc016a200141027410f4978080001a200841063b01e201200820043602c80120082003370358200820023703504105210a20092112200821130c030b200c20082f01e201417a6a22013b01e2012001410c4f0d0a200841d0006a210b200841d8006a210d200841c8016a210e4100210a4105210f41cc01211041e0002111410021120b200c21130b200e280200210e200d2903002115200b2903002114200c200820116a200141047410f49780800041b4016a200820106a200141027410f4978080001a2008200f3b01e2012013200a4104746a21010240024020132f01e201220b200a4b0d0020012003370308200120023703000c010b2013200a41016a220d4104746a2001200b200a6b220f41047410f9978080001a2001200337030820012002370300201341b4016a2201200d4102746a2001200a4102746a200f41027410f9978080001a0b2013200a4102746a20043602b4012013200b41016a3b01e2010b20082802b00122010d02410021040c090b2008200b4104746a200c2009200a6b220e41047410f9978080001a200c2003370308200c2002370300200841b4016a220c200b4102746a200c200a4102746a200e41027410f9978080001a0b2008200a4102746a20043602b4012008200941016a3b01e20120012802042112200821130c080b41002104034020042009470d0620082f01e0012108024002400240024002400240024020012f01e2012204410b490d00200941016a210420084105490d01410021094105210b2008417b6a0e020204030b200841016a2109200441016a210d200120084104746a210b0240024020082004490d00200b2015370308200b2014370300200120084102746a200e3602b4010c010b200120094104746a200b200420086b220f41047410f9978080001a200b2015370308200b2014370300200141b4016a220b200941027422106a200b200841027422116a220b200f410274220f10f9978080001a200b200e360200200141e8016a220b20116a41086a200b20106a200f10f9978080001a0b2001200d3b01e201200120094102746a200c3602e8012009200441026a220b4f0d0e0240200420086b220e41016a4103712204450d00200120084102746a41ec016a210803402008280200220c20093b01e001200c20013602b001200841046a2108200941016a21092004417f6a22040d000b0b200e4103490d0e200941027420016a41f4016a21080340200841746a280200220420093b01e001200420013602b001200841786a2802002204200941016a3b01e001200420013602b0012008417c6a2802002204200941026a3b01e001200420013602b00120082802002204200941036a3b01e001200420013602b001200841106a2108200b200941046a2209470d000c0f0b0b20074104360214200720043602102007200136020c200741186a2007410c6a10a19280800020072802182101200821090c030b20074105360214200720043602102007200136020c200741186a2007410c6a10a192808000200728021822082f01e201220141016a21090240024020014106490d00200841e0006a200841d0006a2001417b6a220441047410f9978080001a2008201537035820082014370350200841cc016a200841c8016a200441027410f9978080001a2008200e3602c80120084184026a20084180026a2001410274416c6a10f9978080001a200820093b01e2012008200c360280020c010b2008200c360280022008200e3602c8012008201537035820082014370350200820093b01e20120014105470d040b2001410371210c4106210902402001417b6a41ffff03714103490d00200141fcff037141786a210e41062101410021040340200820046a22094180026a280200220b20013b01e001200b20083602b00120094184026a280200220b200141016a3b01e001200b20083602b00120094188026a280200220b200141026a3b01e001200b20083602b0012009418c026a2802002209200141036a3b01e001200920083602b001200441106a21042001417a6a210b200141046a22092101200b200e470d000b0b200c450d03200820094102746a41e8016a210103402001280200220420093b01e001200420083602b001200141046a2101200941016a2109200c417f6a220c0d000c040b0b200841796a21094106210b0b2007200b360214200720043602102007200136020c200741186a2007410c6a10a192808000200728022021010b200941016a2108200120094104746a210b20012f01e201220441016a210d02400240200420094b0d00200b2015370308200b2014370300200120094102746a200e3602b4010c010b200120084104746a200b200420096b220f41047410f9978080001a200b2015370308200b2014370300200141b4016a220b200841027422106a200b200941027422116a220b200f410274220f10f9978080001a200b200e360200200141e8016a220b20116a41086a200b20106a200f10f9978080001a0b2001200d3b01e201200120084102746a200c3602e80102402008200441026a220b4f0d000240200420096b220e41016a4103712204450d00200120094102746a41ec016a210903402009280200220c20083b01e001200c20013602b001200941046a2109200841016a21082004417f6a22040d000b0b200e4103490d00200120084102746a41f4016a21090340200941746a280200220420083b01e001200420013602b001200941786a2802002204200841016a3b01e001200420013602b0012009417c6a2802002204200841026a3b01e001200420013602b00120092802002204200841036a3b01e001200420013602b001200941106a2109200b200841046a2208470d000b0b20072802182208450d090b2007280238210e2007290330211520072903282114200728022421042007280220210c200728021c210920082802b0012201450d070c000b0b410841e80110ab80808000000b2001410b41c0f5cb8000109181808000000b2001410b41c0f5cb8000109181808000000b2001410b41c0f5cb8000109181808000000b2001410b41c0f5cb8000109181808000000b41e0f5cb800041354198f6cb8000108081808000000b02400240200528020022012802002209450d002001280204210b41002d008083d480001a41980241002802f482d48000118280808000002208450d032008200841076a41787120086b220d6a220820093602e801200841003b01e201200841003602b0012008417e6a200d3b0000200941003b01e001200920083602b0012001200b41016a360204200120083602002004200b470d0420082f01e2012201410b490d014188f3cb8000412041f8f4cb8000108081808000000b41f8f2cb800010a081808000000b2008200141016a22093b01e201200820014104746a2204201537030820042014370300200841e8016a20094102746a200c360200200820014102746a200e3602b401200c20093b01e001200c20083602b0010b2000200a3602082000201236020420002013360200200741c0006a2480808080000f0b410841980210ab80808000000b41b8f4cb8000413041e8f4cb8000108081808000000b8a0402097f027e200128020022022f01e201210341002d008083d480001a0240024002400240024041980241002802f482d48000118280808000002204450d002004200441076a41787120046b22056a220641003b01e201200641003602b0012006417e6a20053b0000200620022f01e201220720012802082204417f736a22053b01e2012005410c4f0d012007200441016a22086b2005470d02200241b4016a220920044102746a280200210a200220044104746a2207290308210b2007290300210c2006200220084104746a200541047410f497808000220741b4016a200920084102746a200541027410f4978080001a200220043b01e20120072f01e201220641016a21052006410c4f0d03200320046b22082005470d04200741e8016a200220044102746a41ec016a200841027410f4978080002108200128020421014100210402400340200820044102746a280200220520043b01e001200520073602b001200420064f0d01200420042006496a220420064d0d000b0b2000200a3602202000200b3703182000200c37031020002001360204200020023602002000200136020c200020073602080f0b410841980210ab80808000000b2005410b41c0f5cb8000109181808000000b4188f5cb8000412841b0f5cb8000108081808000000b2005410c41d0f5cb8000109181808000000b4188f5cb8000412841b0f5cb8000108081808000000bad2a01167f23808080800041e0016b22062480808080000240024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01ee042208410b490d00200128020421082001280208210941002d008083d480001a41f00441002802f482d48000118280808000002201450d0c2001200141036a417c7120016b220a6a220b41003b01ee04200b4100360200200b417e6a200a3b000020094105490d012009417b6a0e020304020b200741046a220c200128020822094102746a210b02400240200941016a220a20084d0d00200b20023602000c010b200c200a4102746a200b200820096b220c41027410f9978080001a200b2002360200200741306a220b200a41346c6a200b200941346c6a200c41346c10f9978080001a0b2007200941346c6a220b2003290200370230200b41e0006a200341306a280200360200200b41d8006a200341286a290200370200200b41d0006a200341206a290200370200200b41c8006a200341186a290200370200200b41c0006a200341106a290200370200200b41386a200341086a2902003702002007200841016a3b01ee042001280204210d0c100b200b20072f01ee04417b6a22013b01ee0420064198016a41086a220a2007418c026a29020037030020064198016a41106a220e20074194026a29020037030020064198016a41186a220f2007419c026a29020037030020064198016a41206a2210200741a4026a29020037030020064198016a41286a2211200741ac026a2902003703002006200729028402370398012001410c4f0d09200728028002210c20072802142112200b41046a200741186a200141027410f4978080001a200b41306a200741b4026a200141346c10f4978080001a200741043b01ee04200641e8006a41086a200a290300370300200641e8006a41106a200e290300370300200641e8006a41186a200f290300370300200641e8006a41206a2010290300370300200641e8006a41286a201129030037030020062006290398013703682008210d200721130c040b200b20072f01ee0441796a22013b01ee0420064198016a41086a220a200741f4026a29020037030020064198016a41106a220e200741fc026a29020037030020064198016a41186a220f20074184036a29020037030020064198016a41206a22102007418c036a29020037030020064198016a41286a221120074194036a290200370300200620072902ec02370398012001410c4f0d0720072802e802210c200728021c2112200b41046a200741206a200141027410f4978080001a200b41306a2007419c036a200141346c10f4978080001a200741063b01ee04200641e8006a41086a200a290300370300200641e8006a41106a200e290300370300200641e8006a41186a200f290300370300200641e8006a41206a2010290300370300200641e8006a41286a20112903003703002006200629039801370368200941796a21090c020b200b20072f01ee04417a6a22013b01ee0420064198016a41086a220a200741c0026a29020037030020064198016a41106a2209200741c8026a29020037030020064198016a41186a220e200741d0026a29020037030020064198016a41206a220f200741d8026a29020037030020064198016a41286a2210200741e0026a290200370300200620072902b802370398012001410c4f0d0520072802b402210c20072802182112200b41046a2007411c6a200141027410f4978080001a200b41306a200741e8026a200141346c10f4978080001a200641e8006a41286a2010290300370300200641e8006a41206a200f290300370300200641e8006a41186a200e290300370300200641e8006a41106a2009290300370300200641e8006a41086a200a290300370300200620062903980137036820072002360218200741063b01ee04200741b4026a22012003290200370200200141086a200341086a290200370200200141106a200341106a290200370200200141186a200341186a290200370200200141206a200341206a290200370200200141286a200341286a290200370200200141306a200341306a280200360200410521092008210d200721130c030b200b20072f01ee04417a6a22013b01ee0420064198016a41086a220a200741c0026a29020037030020064198016a41106a2209200741c8026a29020037030020064198016a41186a220e200741d0026a29020037030020064198016a41206a220f200741d8026a29020037030020064198016a41286a2210200741e0026a290200370300200620072902b802370398012001410c4f0d0320072802b402210c20072802182112200b41046a2007411c6a200141027410f4978080001a200b41306a200741e8026a200141346c10f4978080001a200741053b01ee04200641e8006a41086a200a290300370300200641e8006a41106a2009290300370300200641e8006a41186a200e290300370300200641e8006a41206a200f290300370300200641e8006a41286a20102903003703002006200629039801370368410021090b4100210d200b21130b201341046a20094102746a2101024020132f01ee04220a20094d0d00200141046a2001200a20096b220e41027410f9978080001a2013200941346c6a220f41e4006a200f41306a200e41346c10f9978080001a0b200120023602002013200941346c6a22012003290200370230200141386a200341086a290200370200200141c0006a200341106a290200370200200141c8006a200341186a290200370200200141d0006a200341206a290200370200200141d8006a200341286a290200370200200141e0006a200341306a2802003602002013200a41016a3b01ee040b200641086a41286a2203200641e8006a41286a290300370300200641086a41206a2201200641e8006a41206a290300370300200641086a41186a2202200641e8006a41186a290300370300200641086a41106a220a200641e8006a41106a290300370300200641086a41086a220e200641e8006a41086a290300370300200620062903683703080240200c418080808078470d00201321070c0a0b200641386a41286a2003290300370300200641386a41206a2001290300370300200641386a41186a2002290300370300200641386a41106a200a290300370300200641386a41086a200e290300370300200620062903083703380240200728020022010d00410021030c060b200641d8016a2114200641d0016a211520064198016a41086a210a41002103200641386a41106a210e200641386a41186a210f200641386a41206a2110200641386a41286a211103400240024020032008470d0020072f01ec04210702400240024020012f01ee042202410b490d00200841016a2108200741054f0d014104210220152116200721030c020b200141046a22082007410274220f6a210a200741016a2103200241016a210e0240024020072002490d002001200741346c6a2208200c360230200820062903383702342008413c6a200641c0006a290300370200200841c4006a200641c8006a290300370200200841cc006a200641d0006a290300370200200841d4006a200641d8006a290300370200200841dc006a200641e0006a2903003702000c010b2008200341027422106a200a200220076b2211410274221610f9978080001a200141306a2208200341346c6a2008200741346c6a2208201141346c10f9978080001a2008200c360200200820062903383702042008410c6a200641386a41086a290300370200200841146a200641c8006a2903003702002008411c6a200641d0006a290300370200200841246a200641d8006a2903003702002008412c6a200641e0006a290300370200200141f0046a2208200f6a41086a200820106a201610f9978080001a0b200a20123602002001200e3b01ee04200120034102746a200b3602f0042003200241026a220a4f0d0b0240200220076b220241016a410371220b450d00200120074102746a41f4046a210703402007280200220820033b01ec0420082001360200200741046a2107200341016a2103200b417f6a220b0d000b0b20024103490d0b200341027420016a41fc046a21070340200741746a280200220b20033b01ec04200b2001360200200741786a280200220b200341016a3b01ec04200b20013602002007417c6a280200220b200341026a3b01ec04200b20013602002007280200220b200341036a3b01ec04200b2001360200200741106a2107200a200341046a2203470d000c0c0b0b410021034105210220142116024002402007417b6a0e020002010b200641053602102006200836020c2006200136020820064198016a200641086a10a39280800020062802d00122072f01ee04220341016a210102400240024020034106490d002007411c6a200741186a2003417b6a220841027410f9978080001a200741e8026a200741b4026a200841346c10f9978080001a2007200c3602b40220072012360218200720062903383702b802200741c0026a200641386a41086a290300370200200741c8026a200e290300370200200741d0026a200f290300370200200741d8026a2010290300370200200741e0026a20112903003702002007418c056a20074188056a2003410274416c6a10f9978080001a200720013b01ee042007200b360288050c010b2007200c3602b40220072012360218200720062903383702b8022007200b36028805200720013b01ee04200741c0026a200641386a41086a290300370200200741c8026a200e290300370200200741d0026a200f290300370200200741d8026a2010290300370200200741e0026a201129030037020020034105470d010b200341037121084106210102402003417b6a41ffff03714103490d00200341fcff037141786a210c410621034100210b03402007200b6a22014188056a280200220220033b01ec04200220073602002001418c056a2802002202200341016a3b01ec042002200736020020014190056a2802002202200341026a3b01ec042002200736020020014194056a2802002201200341036a3b01ec0420012007360200200b41106a210b2003417a6a2102200341046a220121032002200c470d000b0b2008450d00200720014102746a41f0046a210303402003280200220b20013b01ec04200b2007360200200341046a2103200141016a21012008417f6a22080d000b0b200641e8006a41086a200a41086a290200370300200641e8006a41106a200a41106a290200370300200641e8006a41186a200a41186a290200370300200641e8006a41206a200a41206a290200370300200641e8006a41286a200a41286a2902003703002006200a2902003703680c030b200741796a210341062102201421160b200620023602102006200836020c2006200136020820064198016a200641086a10a3928080002016280200220141046a2202200341027422176a2116200341016a210720012f01ee04220841016a211802400240200820034b0d002001200341346c6a2202200c360230200220062903383702342002413c6a200641386a41086a290300370200200241c4006a200e290300370200200241cc006a200f290300370200200241d4006a2010290300370200200241dc006a20112903003702000c010b2002200741027422196a2016200820036b221a410274221b10f9978080001a200141306a2202200741346c6a2002200341346c6a2202201a41346c10f9978080001a2002200c360200200220062903383702042002410c6a200641386a41086a290300370200200241146a200e2903003702002002411c6a200f290300370200200241246a20102903003702002002412c6a2011290300370200200141f0046a220220176a41086a200220196a201b10f9978080001a0b20162012360200200120183b01ee04200120074102746a200b3602f00402402007200841026a22024f0d000240200820036b220c41016a410371220b450d00200120176a41f4046a210303402003280200220820073b01ec0420082001360200200341046a2103200741016a2107200b417f6a220b0d000b0b200c4103490d00200120074102746a41fc046a21030340200341746a280200220b20073b01ec04200b2001360200200341786a280200220b200741016a3b01ec04200b20013602002003417c6a280200220b200741026a3b01ec04200b20013602002003280200220b200741036a3b01ec04200b2001360200200341106a21032002200741046a2207470d000b0b200641e8006a41086a200a41086a290200370300200641e8006a41106a200a41106a290200370300200641e8006a41186a200a41186a290200370300200641e8006a41206a200a41206a290200370300200641e8006a41286a200a41286a2902003703002006200a29020037036820062802d00121070c010b41e0f5cb800041354198f6cb8000108081808000000b2006280298012112200628029c01220c418080808078460d0720062802dc01210320062802d801210b20062802d40121082011200641e8006a41286a2903003703002010200641e8006a41206a290300370300200f200641e8006a41186a290300370300200e200641e8006a41106a290300370300200641386a41086a200641e8006a41086a2903003703002006200629036837033820072802002201450d060c000b0b2001410b41c0f5cb8000109181808000000b2001410b41c0f5cb8000109181808000000b2001410b41c0f5cb8000109181808000000b2001410b41c0f5cb8000109181808000000b410441f00410ab80808000000b02400240200428020022012802002208450d002001280204210241002d008083d480001a41a00541002802f482d48000118280808000002207450d032007200741036a417c7120076b220a6a220720083602f004200741003b01ee04200741003602002007417e6a200a3b0000200841003b01ec04200820073602002001200241016a3602042001200736020020032002470d0420072f01ee042201410b490d014188f3cb8000412041f8f4cb8000108081808000000b41f8f2cb800010a081808000000b2007200141016a22083b01ee042007200141346c6a220320062903383702342003413c6a200641c0006a290300370200200341c4006a200641c8006a290300370200200341cc006a200641d0006a290300370200200341d4006a200641d8006a290300370200200341dc006a200641e0006a2903003702002003200c360230200720014102746a2012360204200741f0046a20084102746a200b360200200b20083b01ec04200b20073602000b200020093602082000200d360204200020133602000c030b410441a00510ab80808000000b41b8f4cb8000413041e8f4cb8000108081808000000b200020093602082000200d360204200020073602000b200641e0016a2480808080000bf106010a7f23808080800041f0006b2202248080808000200128020022032f01ee04210441002d008083d480001a0240024002400240024041a00541002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01ee04200741003602002007417e6a20063b0000200241386a41086a200341306a22082001280208220941346c6a220541086a290200370300200241386a41106a200541106a290200370300200241386a41186a200541186a290200370300200241386a41206a200541206a290200370300200241386a41286a200541286a290200370300200241386a41306a200541306a280200360200200720032f01ee04220a2009417f736a22063b01ee04200220052902003703382006410c4f0d01200a200941016a22056b2006470d02200341046a220a20094102746a280200210b200741046a200a20054102746a200641027410f4978080001a200741306a2008200541346c6a200641346c10f4978080001a200320093b01ee04200241086a200241386a41086a290300370300200241106a200241386a41106a290300370300200241186a200241386a41186a290300370300200241206a200241386a41206a290300370300200241286a200241386a41286a290300370300200241306a200241386a41306a2802003602002002200229033837030020072f01ee04220641016a21052006410c4f0d03200420096b220a2005470d04200741f0046a200320094102746a41f4046a200a41027410f497808000210a200128020421014100210502400340200a20054102746a280200220920053b01ec0420092007360200200520064f0d01200520052006496a220520064d0d000b0b2000200136023c200020033602382000200b3602002000200229030037020420002001360244200020073602402000410c6a200241086a290300370200200041146a200241106a2903003702002000411c6a200241186a290300370200200041246a200241206a2903003702002000412c6a200241286a290300370200200041346a200241306a280200360200200241f0006a2480808080000f0b410441a00510ab80808000000b2006410b41c0f5cb8000109181808000000b4188f5cb8000412841b0f5cb8000108081808000000b2005410c41d0f5cb8000109181808000000b4188f5cb8000412841b0f5cb8000108081808000000bbb08030c7f017e027f23808080800041206b2202248080808000200241086a200110af928080000240024020022802082203450d00200228020c22042802082205410374210141002106024002400240200541ffffffff014b0d00200141fcffffff074b0d00200328020021072004280204210841002109410421034100210a2001450d0241002d008083d480001a200141002802f482d480001182808080000022060d01410421060b2006200141f4facb800010b980808000000b2006200641036a417c71220320066b220b6a417e6a200b3b00002005210a0b20032008200110f497808000210c2004280214220d410474210b024002400240200d41ffffffff004b0d00200b41fcffffff074b0d000240200b0d00410421090c030b2004280210210141002d008083d480001a200b41002802f482d480001182808080000022030d01410421090b2009200b4184fbcb800010b980808000000b2003200341036a417c71220920036b22066a417e6a20063b0000200d450d0041002103200d21060340200b2003460d012001290208210e200920036a22082001290200370200200841086a200e370200200341106a2103200141106a21012006417f6a22060d000b0b02400240024002400240024002400240024020042d002422010e080001020304050607000b200241146a200441286a200110a5928080000c070b200241146a200441286a200110a6928080000c060b200220042802283602140c050b200220042902283702140c040b20042802302206410274210341002108024002400240200641ffffffff034b0d00200341fcffffff074b0d00200428022c210b024020030d004104210f410021080c030b41002d008083d480001a200341002802f482d480001182808080000022080d01410421080b2008200341f4facb800010b980808000000b2008200841036a417c71220f20086b22106a417e6a20103b0000200621080b200f200b200310f49780800021032002200636021c20022003360218200220083602140c030b200220042d00253a00110c020b200220042802283602140c010b200220042902283702140b200220013a001020042802202203410374210141002106024002400240200341ffffffff014b0d00200141fcffffff074b0d00200428021c2108024020010d004104210b410021060c030b41002d008083d480001a200141002802f482d480001182808080000022060d01410421060b2006200141f4facb800010b980808000000b2006200641036a417c71220b20066b22046a417e6a20043b0000200321060b200b2008200110f49780800021012000412c6a200241186a2902003702002000200229021037022420002007360234200020033602202000200136021c200020063602182000200d360214200020093602102000200d36020c200020053602082000200c3602042000200a3602000c010b20004180808080783602000b200241206a2480808080000bf70301107f20012802082203410574210441002105024002400240200341ffffff3f4b0d00200441fcffffff074b0d00024020040d00410421060c030b2001280204210141002d008083d480001a200441002802f482d480001182808080000022050d01410421050b200520044184fbcb800010b980808000000b2005200541036a417c71220620056b22076a417e6a20073b00002003450d004100210720032108034020042007460d01410021090240024002402001280208220a41ffffffff014b0d00200a410374220541fcffffff074b0d002001280204210b200128021c210c2001280218210d2001280214210e2001280210210f200128020c2110024020050d0041042111410021090c030b41002d008083d480001a200541002802f482d480001182808080000022090d0141042109200521110b2009201141f4facb800010b980808000000b2009200941036a417c71221120096b22126a417e6a20123b0000200a21090b2011200b200510f497808000210b200620076a220520093602002005411c6a200c360200200541186a200d360200200541146a200e360200200541106a200f3602002005410c6a2010360200200541086a200a360200200541046a200b360200200741206a2107200141206a21012008417f6a22080d000b0b2000200336020820002006360204200020033602000bbe0403027f017e0d7f23808080800041206b220324808080800020012802082204ad42247e2205a72106410021070240024002402005422088a70d00200641fcffffff074b0d00024020060d00410421080c030b2001280204210141002d008083d480001a200641002802f482d480001182808080000022070d01410421070b200720064184fbcb800010b980808000000b2007200741036a417c71220820076b22096a417e6a20093b00002004450d00410021092004210a034020062009460d01200128021c210b2001280218210c200341146a2001200110a5928080004100210d0240024002402001280214220e41ffffffff014b0d00200e410374220741fcffffff074b0d002001280210210f20012d00202110024020070d00410421114100210d0c030b41002d008083d480001a200741002802f482d4800011828080800000220d0d014104210d200721110b200d201141f4facb800010b980808000000b200d200d41036a417c712211200d6b22126a417e6a20123b0000200e210d0b2011200f200710f497808000210f200341086a41086a200341146a41086a2802002212360200200320032902142205370308200820096a220741086a201236020020072005370200200741206a20103a00002007411c6a200b360200200741186a200c360200200741146a200e360200200741106a200f3602002007410c6a200d360200200941246a2109200141246a2101200a417f6a220a0d000b0b200020043602082000200836020420002004360200200341206a2480808080000bb90601097f23808080800041106b220224808080800002400240200128020022034102460d00024020012d00490d002001280234210420012802302105024002400240024002400240024002402003410171450d00200141086a2103200128023c2106200128023821072001280224417f460d01200241046a20032005200420072006410010a8928080000c070b024020012d000e0d0020012d000c2106024020012802042203450d00024020032004490d0020032004460d010c050b200520036a2c00004140480d040b024020032004460d0002400240200520036a22082c00002207417f4a0d0020082d0001413f7121092007411f71210a0240200741604f0d00200a41067420097221070c020b200941067420082d0002413f717221090240200741704f0d002009200a410c747221070c020b200941067420082d0003413f7172200a411274418080f000717221070c010b200741ff017121070b4101210820064101710d0502402007418001490d00410221082007418010490d0041034104200741808004491b21080b2001200820036a220336020402402003450d00024020032004490d0020032004460d010c050b200520036a2c00004140480d040b20032004460d06200520036a2c00002204417f4a0d0520044160491a0c050b20012006417f734101713a000c20064101710d06200141013a000e0b200241003602040c060b200241046a20032005200420072006410110a8928080000c050b410121060b20012006417f734101713a000c200520042003200441f4f9cb800010c381808000000b200321040b200141003a000c0b2002200436020c20022004360208200241013602040b024020022802044101470d00200128024021042001200228020c360240200520046a2103200228020820046b21040c030b20012d00490d00200141013a00490240024020012d00484101470d0020012802442104200128024021030c010b2001280244220420012802402203460d010b200420036b2104200128023020036a21030c020b200141023602000b024020012802504101460d00410021030c010b2001280254210320014100360254200128025821040b2000200436020420002003360200200241106a2480808080000be30303077f017e057f0240200128021422072005417f6a22086a220920034f0d0020052001280210220a6b210b200128021c210c2001280208210d2001290300210e0340024002400240200e200220096a3100008842018350450d002001200720056a22073602144100210920060d020c010b200d200c200d200c200d4b1b20061b220f2005200f20054b1b2110200220076a2111200f21090240024002400340024020102009470d004100200c20061b2112200d21090340024020122009490d002001200720056a2209360214024020060d002001410036021c0b2000200936020820002007360204200041013602000f0b2009417f6a220920054f0d05200920076a221320034f0d03200420096a2d0000200220136a2d0000460d000b20012007200a6a2207360214200b21092006450d050c060b200720096a20034f0d02201120096a2113200420096a2112200941016a210920122d000020132d0000460d000b2007200d6b20096a210720060d04410021090c030b2013200341d4f9cb8000108281808000000b2003200f20076a2209200320094b1b200341e4f9cb8000108281808000000b2009200541c4f9cb8000108281808000000b2001200936021c2009210c0b200720086a22092003490d000b0b20012003360214200041003602000ba00603037f017e017f23808080800041b0016b2203248080808000200341186a200110a492808000024002402003280218418080808078460d00200128022041016a2204417f20041b22044104200441044b1b2205ad42387e2206a72104410021070240024002402006422088a70d00200441fcffffff074b0d00024020040d0041042102410021050c030b41002d008083d480001a200441002802f482d480001182808080000022070d01410421070b20072004200210b980808000000b2007200741036a417c71220220076b22046a417e6a20043b00000b20022003290218370200200241306a200341186a41306a290200370200200241286a200341186a41286a290200370200200241206a200341186a41206a290200370200200241186a200341186a41186a290200370200200241106a200341186a41106a290200370200200241086a200341186a41086a29020037020020034101360214200320023602102003200536020c200341d0006a41206a200141206a280200360200200341d0006a41186a200141186a290200370300200341d0006a41106a200141106a290200370300200341d0006a41086a200141086a29020037030020032001290200370350200341f8006a200341d0006a10a49280800002402003280278418080808078460d004138210741012104034002402004200328020c470d002003410c6a2004200328027041016a2201417f20011b4104413810b792808000200328021021020b200220076a22012003290278370200200141306a200341f8006a41306a290200370200200141286a200341f8006a41286a290200370200200141206a200341f8006a41206a290200370200200141186a200341f8006a41186a290200370200200141106a200341f8006a41106a290200370200200141086a200341f8006a41086a2902003702002003200441016a2204360214200741386a2107200341f8006a200341d0006a10a4928080002003280278418080808078470d000b0b2000200329020c370200200041086a2003410c6a41086a2802003602000c010b2000410036020820004280808080c0003702000b200341b0016a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010b7928080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bc403010e7f23808080800041206b2203248080808000024002400240200128020c220420012802042205470d00200128020821062001280200210741002108410421094100210a0c010b4100210b41002d008083d480001a200420056b220c410176220d41002802f482d4800011828080800000220a450d01200c4105762108200a200a41036a417c712209200a6b220c6a417e6a200c3b00002001280210210e20012802082106200128020021074100210a0340200541046a280200210c2005280200210d02400240200541186a28020022010d004100210f0c010b2005411c6a280200210f200341086a41086a200541106a2903003703002003200541086a2903003703082003200f36021c20032001360218200e200341086a10be9280800021104101210f0b2009200b6a2201200f3602002001410c6a200c360200200141086a200d360200200141046a2010360200200b41106a210b200a41016a210a200541206a22052004470d000b0b02402006450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b2000200a3602082000200936020420002008360200200341206a2480808080000f0b4104200d41c0f8cb800010b980808000000ba304040c7f017e027f027e23808080800041c0006b2203248080808000200128020c2204200128020422056b220641386e21070240024002400240200641c8ffffff7d4d0d00410021050c010b024020042005470d002001280208210820012802002109410021074104210a4100210b0c030b4100210641002d008083d480001a2007410574220c41002802f482d4800011828080800000220b0d01410421050b2005200c41c0f8cb800010b980808000000b200b200b41036a417c71220a200b6b220c6a417e6a200c3b00002001280210210d20012802082108200128020021094100210b0340200341086a41306a2201200541306a290300370300200341086a41286a220c200541286a290300370300200341086a41206a220e200541206a290300370300200341086a41106a200541106a290300370300200341086a41086a200541086a290300370300200341086a41186a200541186a290300220f37030020032005290300370308200d200341086a10be92808000211020012802002111200c2903002112200e2903002113200a20066a2201410c6a200f370200200141146a2010360200200141186a201337020020012012370200200141086a2011360200200641206a2106200b41016a210b200541386a22052004470d000b0b02402008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2000200b3602082000200a36020420002007360200200341c0006a2480808080000ba20601067f23808080800041a0016b2203248080808000200341186a200141086a220410a7928080000240024020032802182205450d00200328021c2106024020012802042207450d00200128020021082007410474210702400240034002402006200841046a280200470d0020052008280200200610f597808000450d020b200841106a2108200741706a22070d000c020b0b200841086a28020021052008410c6a28020021060b2005450d010b200341306a210841002107024020042802004102470d00200341246a2108024020012802584101460d00410021070c010b200128025c41004721070b2008200736020041002d008083d480001a0240412041002802f482d48000118280808000002208450d002008200841036a417c71220420086b22076a417e6a20073b000020042006360204200420053602002003410136022c2003200436022820034104360224200341306a200141e80010f4978080001a200341106a200341306a41086a220210a792808000024020032802102205450d0020032802142106410121010340024020032802342207450d00200328023021082007410474210702400240034002402006200841046a280200470d0020052008280200200610f597808000450d020b200841106a2108200741706a22070d000c020b0b200841086a28020021052008410c6a28020021060b2005450d020b024020012003280224470d002003280288012108024002400240024020032802384102460d002003419c016a210720080d010c020b2003419c016a21072008450d01200328028c01410047220821040c020b41002104200328028c0141004721080c010b41002108410021040b20072004360200200341246a2001200841016a4104410810b792808000200328022821040b200420014103746a22082006360204200820053602002003200141016a220136022c200341086a200210a792808000200328020c2106200328020822050d000b0b20002003290224370200200041086a200341246a41086a2802003602000c020b41044120200210b980808000000b2000410036020820004280808080c0003702000b200341a0016a2480808080000bbe0401067f2380808080004190016b2203248080808000200341106a200110a7928080000240024020032802102204450d00200341286a210541002106024020012802004102470d002003411c6a2105024020012802504101460d00410021060c010b200128025441004721060b200328021421072005200636020041002d008083d480001a0240412041002802f482d48000118280808000002205450d002005200541036a417c71220220056b22066a417e6a20063b0000200220073602042002200436020020034101360224200320023602202003410436021c200341286a200141e00010f4978080001a200341086a200341286a10a792808000024020032802082204450d00200328020c2106410c210541012101034002402001200328021c470d0020032802782107024002400240024020032802284102460d002003418c016a210220070d010c020b2003418c016a21022007450d01200328027c410047220721080c020b41002108200328027c41004721070c010b41002107410021080b200220083602002003411c6a2001200741016a4104410810b792808000200328022021020b200220056a220720063602002007417c6a20043602002003200141016a2201360224200541086a21052003200341286a10a79280800020032802042106200328020022040d000b0b2000200329021c370200200041086a2003411c6a41086a2802003602000c020b41044120200210b980808000000b2000410036020820004280808080c0003702000b20034190016a2480808080000ba30401077f02400240200128022022020d00410021020c010b20012002417f6a36022002400240024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802f00421022004417f6a22040d000b0b20034108490d00034020022802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082103024002400240200128020c2204200128020422052f01ee044f0d00200521020c010b034020052802002202450d02200341016a210320052f01ec04210420022105200420022f01ee044f0d000b0b20030d02200441016a2106200221050c030b4198fccb800010a081808000000b41a8fccb800010a081808000000b200220044102746a41f4046a2802002105410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720052802f00421052003417f6a22030d000b0b20084107490d00034020052802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042105200741786a22070d000b0b2001200636020c20014100360208200120053602042002200441346c6a41306a2105200220044102746a41046a21020b20002005360204200020023602000ba806010a7f02402000280200450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020002d00240e050001040402040b200028022c2102024020002802302201450d002001410171210341002104024020014101460d002001417e7121052002210141002104034002402001280200450d00200141046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200141206a280200450d00200141246a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a21012005200441026a2204470d000b0b2003450d00200220044105746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802280d020c030b200028022c2102024020002802302207450d0041002108034002402002200841246c6a22032802082201450d00200328020421092001410171210a41002104024020014101460d002001417e7121054100210420092101034002402001280200450d00200141046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200141206a280200450d00200141246a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a21012005200441026a2204470d000b0b200a450d00200920044105746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402003280200450d00200328020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200328020c450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b200841016a22082007470d000b0b20002802280d010c020b2000280228450d01200028022c21020b20022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280218450d00200028021c22012001417e6a2f00006b41002802ec82d48000118180808000000b0be40301097f23808080800041206b2204248080808000024002400240200128020022050d00410021050c010b20012802042106034041002107024020052f01ee042208450d0020084102742109200541306a210a200541046a210b410021070340024041002002200b280200220c4b2002200c496b2002200c461b41ff0171220c4101460d00200c0d022000200a290200370200200041306a200a41306a2202280200360200200041286a200a41286a220c290200370200200041206a200a41206a220b290200370200200041186a200a41186a2207290200370200200041106a200a41106a2209290200370200200041086a200a41086a2205290200370200200a20032902003702002005200341086a2902003702002009200341106a2902003702002007200341186a290200370200200b200341206a290200370200200c200341286a2902003702002002200341306a2802003602000c050b200a41346a210a200b41046a210b200741016a21072009417c6a22090d000b200821070b2006450d012006417f6a2106200520074102746a2802f00421050c000b0b2004200736021c2004410036021820042005360214200420023602102004200136020c2004410c6a200310bd928080001a20004180808080783602000b200441206a2480808080000bac0501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802f00421012005417f6a22050d000b0b20024108490d00034020012802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042101200041786a22000d000b0b20012100410021020b024002400240200220002f01ee044f0d0020022106200021010c010b034020002802002201450d0220002f01ec04210620002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200620012f01ee044f0d000b0b0240024020040d00200641016a2102200121000c010b200120064102746a41f4046a2802002100410021022004417f6a2205450d002004417e6a2107024020054107712204450d0003402005417f6a210520002802f00421002004417f6a22040d000b0b20074107490d00034020002802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042100200541786a22050d000b0b2001200641346c6a41306a10b092808000410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d480001181808080000041acf7cb800010a081808000000b024020020d00200121000c010b02400240200241077122040d0020022105200121000c010b200221052001210003402005417f6a210520002802f00421002004417f6a22040d000b0b20024108490d00034020002802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042100200541786a22050d000b0b034020002000417e6a2f00006b210120002802002100200141002802ec82d480001181808080000020000d000b0b0b990501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802e80121012004417f6a22040d000b0b20024108490d00034020012802e8012802e8012802e8012802e8012802e8012802e8012802e8012802e8012101200041786a22000d000b0b20012104410021020b024002400240200220042f01e2014f0d00200421000c010b034020042802b0012200450d0220042f01e001210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f01e2014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a41ec016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802e80121002005417f6a22050d000b0b20014107490d00034020002802e8012802e8012802e8012802e8012802e8012802e8012802e8012802e8012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d480001181808080000041acf7cb800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802e80121002005417f6a22050d000b0b20024108490d00034020002802e8012802e8012802e8012802e8012802e8012802e8012802e8012802e8012100200441786a22040d000b0b034020002000417e6a2f00006b210420002802b0012100200441002802ec82d480001181808080000020000d000b0b0b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42387e2207422088a7450d0041004100200110b980808000000b024002402007a7220841f8ffffff074b0d004100210502402004450d002002200441386c36021c20022000280204360214410821050b20022005360218200241086a41082008200241146a10b49280800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be10101077f23808080800041206b22022480808080004100210302402000280200220441ffffff3f4d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410474220741f8ffffff074b0d004100210502402004450d002002200441047436021c20022000280204360214410821050b20022005360218200241086a41082007200241146a10b49280800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10b49280800020052802084101470d0120052802102102200528020c21060b2006200241b0fdcb800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b140020002802002000280204200110bc818080000bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000ba806010a7f02402000280200450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020002d00240e050001040402040b200028022c2102024020002802302201450d002001410171210341002104024020014101460d002001417e7121052002210141002104034002402001280200450d00200141046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200141206a280200450d00200141246a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a21012005200441026a2204470d000b0b2003450d00200220044105746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802280d020c030b200028022c2102024020002802302207450d0041002108034002402002200841246c6a22032802082201450d00200328020421092001410171210a41002104024020014101460d002001417e7121054100210420092101034002402001280200450d00200141046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200141206a280200450d00200141246a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a21012005200441026a2204470d000b0b200a450d00200920044105746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402003280200450d00200328020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200328020c450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b200841016a22082007470d000b0b20002802280d010c020b2000280228450d01200028022c21020b20022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280218450d00200028021c22012001417e6a2f00006b41002802ec82d48000118180808000000b0bc707030d7f017e077f23808080800041c0006b22052480808080002005200120022003200410a5818080002005280230210620052802342107024002400240024002400240024020052802004101470d0020022104200528021c22082007460d06200528023c22092005280218220a6b210b2009417f6a210c2005280224210d2005280238210e200620086a210f2005280210221020086b211120052903082112034002402008200c6a22032007490d00200821040c080b410020116b2113200820096a21142008200a6a2115200d417f462116200821040340024020082004460d00200821040c090b0240024002402012200620036a31000088420183500d002010200d2010200d20104b1b20161b22172009201720094b1b2118201721040240034020182004460d01200820046a20074f0d0a200f20046a2103200e20046a2119200441016a210420192d000020032d0000460d000b201320046a210420160d03410021030c020b4100200d20161b2119201021040340024020192004490d00200d410020161b210d200f20096a210f201120096b21112014210820142007470d06200221040c0d0b2004417f6a220420094f0d07200420086a220320074f0d08200e20046a2d0000200620036a2d0000460d000b200b2103201521042016450d010c020b410021032014210420160d010b2003210d0b2004200c6a22032007490d000b0b200821040c060b2002210420052d000e4101710d052006200528020422036a210820052d000c21190240024020032007470d00024020030d00200221032002210420194101710d070c080b200320074f0d0520082c00004140480d01200221032002210420194101710d060c070b024020030d0041002104024020082c000022084100480d0020194101710d070c080b024020084160490d00024020084170490d0020194101710d08410021040c090b20194101710d07410021040c080b20194101710d06410021040c070b200320074f0d0020082c000022044140480d00024020044100480d002003210420194101710d060c070b024020044160490d00024020044170490d002003210420194101710d070c080b2003210420194101710d060c070b2003210420194101710d050c060b200620072003200741e4fecb800010c381808000000b2004200941b4fecb8000108281808000000b2003200741c4fecb8000108281808000000b2007201720086a2204200720044b1b200741d4fecb8000108281808000000b20022103200221042019410171450d010b200321040b2000200220046b3602042000200120046a360200200541c0006a2480808080000bf10201057f23808080800041206b220224808080800002400240024002402000280210450d00200241106a41086a200041106a220341086a28020036020020022003290200370310200241046a200241106a2000290300200029030820012000411c6a200041206a10a092808000200028021c2104200228020c2105200228020421030c010b200028021c210441002d008083d480001a41e80141002802f482d48000118280808000002203450d012003200341076a41787120036b22056a220341003b01e201200341003602b0012003417e6a20053b0000200441003602042004200336020020032f01e2012205410b4f0d022003200541016a3b01e201200320054104746a2206200029030037030020062000290308370308200320054102746a20013602b4010b2004200428020841016a360208200241206a248080808000200320054102746a41b4016a0f0b410841e80110ab80808000000b4188f3cb8000412041a8f4cb8000108081808000000bc40301047f23808080800041206b220224808080800002400240024002402000280208450d00200241106a41086a200041086a220341086a28020036020020022003290200370310200241046a200241106a200028020420012000200041146a10a29280800020002802002104200228020c2105200228020421030c010b2000280200210441002d008083d480001a41f00441002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a220341003b01ee04200341003602002003417e6a20053b0000200441003602042004200336020020032f01ee042205410b4f0d022003200541016a3b01ee04200320054102746a20002802043602042003200541346c6a22002001290200370230200041e0006a200141306a280200360200200041d8006a200141286a290200370200200041d0006a200141206a290200370200200041c8006a200141186a290200370200200041c0006a200141106a290200370200200041386a200141086a2902003702000b2004200428020841016a360208200241206a2480808080002003200541346c6a41306a0f0b410441f00410ab80808000000b4188f3cb8000412041a8f4cb8000108081808000000ba50701097f23808080800041d0016b2202248080808000200220002001290300200129030810c09280800020022802042103024020022d0000450d00200241c0006a20012802101181808080000020022002280280013602142002200229037837020c4104210420022802840121052002280288012101024002400240200228028c012206450d0041002d008083d480001a2006410474220441002802f482d48000118280808000002207450d012007200741036a417c71220420076b22086a417e6a20083b00000b200241b4016a41086a22074100360200200220043602b801200220063602b4012002200120064105746a3602cc01200220053602c801200220013602c401200220013602c001200220003602ac01200220043602a801200241003602a401200220073602a001200241c0016a200241a0016a10ce92808000200241186a220141086a2007280200360200200120022902b401370200200241306a200241c0006a200010cc92808000200220022802980136022c20022002290390013702240240200028021822080d00410021080c020b200028021c2109034041002104024020082f01ee04220a450d00200a4102742105200841306a2107200841046a2106410021040340024041002003200628020022014b20032001496b20032001461b41ff017122014101460d0020010d02200241c0006a41306a200741306a2201280200360200200241c0006a41286a200741286a2206290200370300200241c0006a41206a200741206a2204290200370300200241c0006a41186a200741186a2205290200370300200241c0006a41106a200741106a2208290200370300200241c0006a41086a200741086a2200290200370300200220072902003703402007200229020c37020020002002410c6a41086a29020037020020082002410c6a41106a29020037020020052002410c6a41186a29020037020020042002410c6a41206a29020037020020062002410c6a41286a29020037020020012002410c6a41306a2802003602002002280240418080808078460d06200241c0006a10ba928080000c060b200741346a2107200641046a2106200441016a21042005417c6a22050d000b200a21040b2009450d022009417f6a2109200820044102746a2802f00421080c000b0b4104200410ab80808000000b200220043602b001200241003602ac01200220083602a801200220033602a4012002200041186a3602a001200241a0016a2002410c6a10bd928080001a0b200241d0016a24808080800020030b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004185043b0100200141106a2480808080000bcc0303097f017e017f23808080800041206b220424808080800020012802082105024002400240200128020c22060d00410021060c010b2001280210210703400240024020062f01e20122080d00410021090c010b200620084104746a210a200641b4016a210b410021092006210c034002402003200c41086a290300220d562003200d546b2002200c290300220d562002200d546b2002200d511b41ff0171220e4101460d00200e0d02200b28020021054100210c0c050b200b41046a210b200941016a2109200c41106a220c200a470d000b200821090b2007450d012007417f6a2107200620094102746a2802e80121060c000b0b20042001410c6a36021c200420093602182004410036021420042006360210200420033e0208200420034220883e020c200420023e0200200420024220883e02042004200510bc928080001a0240200128020822092001280200470d00200141f881cc800010b692808000200128020420094104746a220c2003370308200c20023703004101210c2001200941016a3602080c010b200128020420094104746a220c2003370308200c20023703004101210c2001200941016a3602080b200020053602042000200c3a0000200441206a2480808080000b800301027f2380808080004180016b2205248080808000200541206a20032004418882cc8000410210a581808000200520023602782005200136027420054101360270200541013b0168200520043602644100210320054100360260200541146a200541206a418481cc800010ae92808000024002400240200528021c22010d00200541106a21040c010b2005280218220620014103746a21024100210320062104024003402004280200200441046a28020010cd92808000450d01200341016a2103200441086a22042002470d000b20052802142204418080808078460d0220002001360208200020063602042000200436020020054180016a2480808080000f0b200541013602102005410c6a21040b2004200336020002402005280214450d00200528021822042004417e6a2f00006b41002802ec82d48000118180808000000b200528020c2101200528021021060b2005200136022420052006360220419c82cc80004132200541206a418c82cc800041b083cc800010a981808000000b910301017f2380808080004180016b2207248080808000200741186a41086a20032004418882cc8000410210a581808000200720023602782007200136027420074101360270200741013b01682007200436026441002103200741003602602007200636021c200720053602182007410c6a200741186a418481cc800010ad92808000024002400240200728021422010d00200741086a21040c010b2007280210220620014103746a21024100210320062104024003402004280200200441046a28020010cd92808000450d01200341016a2103200441086a22042002470d000b200728020c2204418080808078460d0220002001360208200020063602042000200436020020074180016a2480808080000f0b20074101360208200741046a21040b200420033602000240200728020c450d00200728021022042004417e6a2f00006b41002802ec82d48000118180808000000b20072802042101200728020821060b2007200136021c20072006360218419c82cc80004132200741186a418c82cc800041c083cc800010a981808000000b980201047f23808080800041306b22032480808080002003200236020c2003200136020841002d008083d480001a02400240410841002802f482d48000118280808000002204450d002004200441036a417c71220520046b22066a417e6a20063b0000200541046a2002360200200520013602002001200210cd928080000d0120052005417e6a2f01006b41002802ec82d480001181808080000020034102360214200341f083cc80003602102003420137021c200341e484808000ad422086200341086aad843703282003200341286a360218200341106a418084cc800010fe80808000000b41044108418481cc800010b980808000000b200041013602082000200536020420004101360200200341306a2480808080000b7901017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041053b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004185063b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004185083b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041850a3b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041850c3b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041850e3b0100200141106a2480808080000bcf0101027f23808080800041206b2201248080808000200142808080808001370218200142888080808001370210200141086a200141106a41084108200141206a410810d292808000200128020c2102200142888080808001370210200142808080808001370218200041c4006a200141106a41c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200241786a41186e36020c200042808080808001370204200041043a0000200141206a2480808080000ba10201027f23808080800041106b22022480808080000240024020002802004101470d002002200041046a360204200128020041b084cc80004111200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c184cc80004107200241046a41a084cc8000108a818080001a20022d000d220020022d000c220372210120004101470d0120034101710d010240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b2001280200419084cc8000410f200128020428020c1180808080000021010b200241106a24808080800020014101710bf80802077f017e23808080800041c0016b22032480808080000240024002400240024002400240024002400240024020012d000022040e080001020304050607000b2001280208210520012802042106410421070240200128020c2201450d0041002d008083d480001a2001410574220741002802f482d48000118280808000002208450d092008200841036a417c71220720086b22096a417e6a20093b00000b200341a4016a41086a22084100360200200320073602a801200320013602a40120032005200141386c6a3602bc01200320063602b801200320053602b401200320053602b0012003200236029c01200320073602980120034100360294012003200836029001200341b0016a20034190016a10cf92808000200041046a220141086a2008280200360200200120032902a4013702000c070b200320023602a0012003200128020422053602980120032001280208220236029401200320023602900120032002200128020c41246c6a220136029c01200341086a20034190016a20022002200341a0016a200110d192808000200328020c210120034190016a10d39280800020002002360208200020053602042000200120026b41246e36020c20034190016a10d4928080000c060b200341106a41106a200141186a290300370300200341186a200141106a2903003703002003200129030837031020002002200341106a10be928080003602040c050b200341286a41106a200141186a290300370300200341306a200141106a290300370300200341286a41186a200141206a290300220a3703002003200129030837032820002002200341286a10be928080003602082000200a3e02040c040b2001280208210520012802042106410421070240200128020c2201450d0041002d008083d480001a2001410274220741002802f482d48000118280808000002208450d062008200841036a417c71220720086b22096a417e6a20093b00000b200341a4016a41086a22084100360200200320073602a801200320013602a40120032005200141186c6a3602bc01200320063602b801200320053602b401200320053602b0012003200236029c01200320073602980120034100360294012003200836029001200341b0016a20034190016a10d092808000200041046a220141086a2008280200360200200120032902a4013702000c030b200020012d00013a00010c020b200341c8006a41106a200141186a290300370300200341d0006a200141106a2903003703002003200129030837034820002002200341c8006a10be928080003602040c010b200341e0006a41286a200141306a290300370300200341e0006a41206a200141286a290300370300200341e0006a41186a2205200141206a290300370300200341e0006a41106a200141186a290300370300200341e8006a200141106a290300370300200320012903083703602002200341e0006a10be92808000210120002002200510be92808000360208200020013602040b200020043a0000200341c0016a2480808080000f0b4104200710ab80808000000b4104200710ab80808000000b980401057f23808080800041106b220224808080800002400240024020014104490d00410021032000280000418081828478710d0202404104200041036a417c71220420006b20042000461b22042001417c6a22054f0d000340200020046a280200418081828478710d04200441046a22042005490d000b0b200020056a28000041808182847871450d010c020b2001450d004100210320002001417f6a22046a2c00004100480d012004450d004100210320002001417e6a22046a2c00004100480d012004450d004100210320002001417d6a22046a2c00004100480d0120040d010b200241086a2000200141d885cc8000410210bb9280800041002103200228020c2200450d002002280208220141016a21040240024020012d0000220641df00460d002006419f7f6a41ff017141194b0d010b2000417f6a2100034020004521032000450d022000417f6a210020042d00002101200441016a22052104200141506a41ff0171410a490d0020052104200141ff017141df00460d00200521042001415f7141bf7f6a41ff0171411a490d000c020b0b200641c100490d002000417f6a21010240034020012203450d012003417f6a210120042d00002100200441016a22052104200041506a41ff0171410a490d0020052104200041ff017141df00460d00200521042000415f7141bf7f6a41ff0171411a490d000b0b200641db00492003457121030b200241106a24808080800020030bd402010b7f23808080800041206b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b2001280208200128020422054104746a2106200128020c210703402000200341206a2208360204200341046a28020021092003280200210a02400240200341186a280200220b0d00410021030c010b2003411c6a280200210c200241086a41086a200341106a2903003703002002200341086a2903003703082002200c36021c2002200b3602182007200241086a10be92808000210b410121030b200620033602002006410c6a2009360200200641086a200a360200200641046a200b3602002001200541016a2205360204200641106a21062008210320082004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000b9603020a7f037e23808080800041c0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b2001280208200128020422054105746a2106200128020c210703402000200341386a2208360204200241086a41306a2209200341306a290300370300200241086a41286a220a200341286a290300370300200241086a41206a220b200341206a290300370300200241086a41186a200341186a290300220c370300200241086a41106a200341106a290300370300200241086a41086a200341086a290300370300200220032903003703082007200241086a10be9280800021032001200541016a220536020420092802002109200a290300210d200b290300210e2006410c6a200c370200200641146a2003360200200641186a200e3702002006200d370200200641086a2009360200200641206a21062008210320082004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000b810201077f23808080800041206b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b2001280208200128020422054102746a2106200128020c210703402000200341186a2208360204200241086a41106a200341106a290300370300200241086a41086a200341086a290300370300200220032903003703082007200241086a10be9280800021032001200541016a220536020420062003360200200641046a21062008210320082004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000baf0203057f027e037f23808080800041206b2206248080808000024020012802042207200128020c2208460d002004280200210903402001200741246a220a3602042007410c6a290200210b200741146a290200210c2007411c6a280200210d200741206a2d0000210e200741046a2802002104200741086a280200210f200728020021072006200936021c20062004200f41386c6a36021820062007360214200620043602102006200436020c20062006410c6a41f4ffcb800010ac92808000200341086a200641086a28020036020020032006290200370200200341206a200e3a00002003411c6a200d360200200341146a200c3702002003410c6a200b370200200341246a2103200a2107200a2008470d000b0b2000200336020420002002360200200641206a2480808080000ba80102027f037e024020012802042206200128020c2207460d00034020062903102108200629030821092006290300210a2001200641186a220636020402400240200a42f6a1d3feb29c80da987f520d00200942d08f91acc69ac4b069520d00200621060c010b20032008370310200320093703082003200a370300200341186a210320012802042106200128020c21070b20062007470d000b0b20002003360204200020023602000b990301097f200028020c210120004280808080c0003702082000280204210220004284808080c000370200200120026b41246e2103024020012002460d0041002104034002402002200441246c6a22052802082206450d00200528020421072006410171210841002101024020064101460d00200741e4006a21002006417e7121094100210103400240200041446a280200450d00200041486a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041f0006a21002009200141026a2201470d000b0b2008450d002007200141386c6a2200280228450d00200041286a28020422002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280200450d00200528020422002000417e6a2f00006b41002802ec82d48000118180808000000b0240200528020c450d00200528021022002000417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b0ba803010a7f200028020c2201200028020422026b41246e2103024020012002460d0041002104034002402002200441246c6a22052802082206450d00200528020421072006410171210841002109024020064101460d00200741e4006a21012006417e71210a4100210903400240200141446a280200450d00200141486a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022062006417e6a2f00006b41002802ec82d48000118180808000000b200141f0006a2101200a200941026a2209470d000b0b2008450d002007200941386c6a2201280228450d00200141286a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402005280200450d00200528020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200528020c450d00200528021022012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280208450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b0bb11509027f067e017f017e027f017e017f017e047f23808080800041f0036b2203248080808000024002402002450d00200341106a410041e00010fa978080001a200341f0006a41186a2202200141186a290000370300200341f0006a41106a2204200141106a2900003703002003200141086a29000037037820032001290000370370200341c8016a41002903b886cc8000370300200341c0016a41002903b086cc8000370300200341b8016a41002903a886cc800037030020034190016a41206a41002903a086cc800037030020034190016a41186a410029039886cc800037030020034190016a41106a410029039086cc8000370300200342003703d801200342003703d0012003410029038886cc8000370398012003410029038086cc800037039001200341e8016a200329037837030020034190016a41e0006a2004290300370300200341f8016a2002290300370300200320032903703703e00120034190016a41f0006a200341106a41e00010f4978080002102200341e8026a200341086a290000370000200341203a00e00220034180013a008002200320032900013700e10220032903d0012205423688220642388620032903d8012207420a86220820068422064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200742028642808080f80f832007420e88428080fc0783842007421e884280fe0383200842388884848421062005420a8622084280028422074280fa03834228862007428080fc0783421886200742808080f80f834208868484200542028642808080f80f832005420e88428080fc0783842005421e884280fe038320084238888484842105200341e0016a210102400240024041000d00200241016a4100412041ff007310fa978080001a412041f00073410f4b0d010b20034190016a20014101109793808000200341f0026a410041f00010fa978080001a200320053700e803200320063700e00320034190016a200341f0026a41011097938080000c010b200320063703d002200320053703d80220034190016a200141011097938080000b200020032903c801220542388620054280fe0383422886842005428080fc0783421886200542808080f80f834208868484200542088842808080f80f832005421888428080fc07838420054228884280fe03832005423888848484370038200020032903c001220542388620054280fe0383422886842005428080fc0783421886200542808080f80f834208868484200542088842808080f80f832005421888428080fc07838420054228884280fe03832005423888848484370030200020032903b801220542388620054280fe0383422886842005428080fc0783421886200542808080f80f834208868484200542088842808080f80f832005421888428080fc07838420054228884280fe03832005423888848484370028200020032903b001220542388620054280fe0383422886842005428080fc0783421886200542808080f80f834208868484200542088842808080f80f832005421888428080fc07838420054228884280fe038320054238888484843700202003290390012105200329039801210720032903a0012106200020032903a8012208a74103764107714108723a001f2000200842088842808080f80f832008421888428080fc07838420084228884280fe0383200842388884842209a72201410574200642ff0183a72202410376723a00172000200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484220aa72204410574200742ff0183a7220b410376723a000f2000200742088842808080f80f832007421888428080fc07838420074228884280fe038320074238888484220ca7220d410574200542ff0183a7220e410376723a00072000200842ff0183a7410574200842388620084280fe038342288684220f423088a72210410376411f71723a001e2000200f2008428080fc0783421886200842808080f80f83221142088684842208422888a722124105742011421b88a7723a001c20002002410574200642388620064280fe038342288684220f423088a72202410376411f71723a00162000200f2006428080fc0783421886200642808080f80f83221142088684842206422888a722134105742011421b88a7723a00142000200b410574200742388620074280fe038342288684220f423088a7220b410376411f71723a000e2000200f2007428080fc0783421886200742808080f80f83221142088684842207422888a722144105742011421b88a7723a000c2000200e410574200542388620054280fe038342288684220f423088a7220e410376411f71723a00062000200f2005428080fc0783421886200542808080f80f8322114208868484220f422888a722154105742011421b88a7723a0004200020104105742012410376411f71723a001d200020082009842209420888a722104105742001410376411f71723a0018200020024105742013410376411f71723a001520002006200a84220a420888a722014105742004410376411f71723a00102000200b4105742014410376411f71723a000d20002007200c84220c420888a72202410574200d410376411f71723a00082000200e4105742015410376411f71723a00052000200f200542088842808080f80f832005421888428080fc07838420054228884280fe0383200542388822118484842205420888a722044105742011a7410376723a000020002008422088a74105742009421888a7220b410376411f71723a001b2000200b4105742009421088a7220b410376411f71723a001a2000200b4105742010410376411f71723a001920002006422088a7410574200a421888a7220b410376411f71723a00132000200b410574200a421088a7220b410376411f71723a00122000200b4105742001410376411f71723a001120002007422088a7410574200c421888a72201410376411f71723a000b20002001410574200c421088a72201410376411f71723a000a200020014105742002410376411f71723a00092000200f422088a74105742005421888a72201410376411f71723a0003200020014105742005421088a72201410376411f71723a0002200020014105742004410376411f71723a00010c010b20034190016a41da85cc8000411010e89180800020034190016a41ea85cc800041042001412010e991808000200341f0026a41386a4200370300200341f0026a41306a4200370300200341f0026a41286a4200370300200341f0026a41206a4200370300200341f0026a41186a4200370300200341f0026a41106a4200370300200341f0026a41086a4200370300200342003703f00220034190016a41ee85cc80004102200341f0026a41c00010ea91808000200341106a200341f0026a10b5908080002000200341106a10b190808000200341106a41186a22014200370300200341106a41106a22024200370300200341106a41086a220442003703002003420037031020034190016a41f085cc80004102200341106a412010ea91808000200041386a2001290300370000200041306a2002290300370000200041286a20042903003700002000200329031037002041002101034020034190016a20016a220041003a0000200041016a41003a0000200041026a41003a0000200041036a41003a0000200041046a41003a0000200141056a220141c801470d000b0b200341f0036a2480808080000bc20300200041003a0000200041003a0001200041003a0002200041003a0003200041003a0004200041003a0005200041003a0006200041003a0007200041003a0008200041003a0009200041003a000a200041003a000b200041003a000c200041003a000d200041003a000e200041003a000f200041003a0010200041003a0011200041003a0012200041003a0013200041003a0014200041003a0015200041003a0016200041003a0017200041003a0018200041003a0019200041003a001a200041003a001b200041003a001c200041003a001d200041003a001e200041003a001f200041003a0020200041003a0021200041003a0022200041003a0023200041003a0024200041003a0025200041003a0026200041003a0027200041003a0028200041003a0029200041003a002a200041003a002b200041003a002c200041003a002d200041003a002e200041003a002f200041003a0030200041003a0031200041003a0032200041003a0033200041003a0034200041003a0035200041003a0036200041003a0037200041003a0038200041003a0039200041003a003a200041003a003b200041003a003c200041003a003d200041003a003e200041003a003f0bcc0101017f23808080800041a0016b2202248080808000200241c0c7c88000200110ba90808000200041c0006a200210bb90808000200041e0006a200241a00110f4978080001a200041386a200141386a290000370000200041306a200141306a290000370000200041286a200141286a290000370000200041206a200141206a290000370000200041186a200141186a290000370000200041106a200141106a290000370000200041086a200141086a29000037000020002001290000370000200241a0016a2480808080000bc20300200041003a0000200041003a0001200041003a0002200041003a0003200041003a0004200041003a0005200041003a0006200041003a0007200041003a0008200041003a0009200041003a000a200041003a000b200041003a000c200041003a000d200041003a000e200041003a000f200041003a0010200041003a0011200041003a0012200041003a0013200041003a0014200041003a0015200041003a0016200041003a0017200041003a0018200041003a0019200041003a001a200041003a001b200041003a001c200041003a001d200041003a001e200041003a001f200041003a0020200041003a0021200041003a0022200041003a0023200041003a0024200041003a0025200041003a0026200041003a0027200041003a0028200041003a0029200041003a002a200041003a002b200041003a002c200041003a002d200041003a002e200041003a002f200041003a0030200041003a0031200041003a0032200041003a0033200041003a0034200041003a0035200041003a0036200041003a0037200041003a0038200041003a0039200041003a003a200041003a003b200041003a003c200041003a003d200041003a003e200041003a003f0b12002000200120022003200410e9918080000b12002000200120022003200410ea918080000bbb0301037f23808080800041d0006b220224808080800020012c001f417f4a10d6978080002103200241106a41186a200141186a290000370300200241106a41106a200141106a290000370300200241106a41086a200141086a29000037030020022001290000370310200241306a200241106a10b79080800041002101410121040340200241106a20016a2d0000200241306a20016a2d00004610d6978080002004712104200141016a22014120470d000b200410d69780800020037110d6978080002101200241306a41186a200241106a41186a290300370300200241306a41106a200241106a41106a290300370300200241306a41086a200241106a41086a2903003703002002200229031037033041002104024002402001417f7341017110d69780800041ff01710d00200220013a000f200141ff01714101470d0120002002290330370001200041196a200241c8006a290300370000200041116a200241c0006a290300370000200041096a200241386a290300370000410121040b200020043a0000200241d0006a2480808080000f0b2002410036021041002002410f6a41c086cc8000200241106a419c87cc800010e691808000000b140020002802002000280204200110bc818080000b1900200120002802002200280200200028020410b4818080000b140020012000280200200028020410b4818080000b1200200041ac88cc8000200110b1818080000ba30802017f017c23808080800041306b2202248080808000024002400240024002400240024002400240024002400240024002400240024002400240024020002d00000e12000102030405060708090a0b0c0d0e0f1011000b200220002d00013a000820024102360214200241e088cc80003602102002420137021c200241e784808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010c110b2002200029030837030820024102360214200241fc88cc80003602102002420137021c200241e681808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010c100b2002200029030837030820024102360214200241fc88cc80003602102002420137021c200241e884808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010c0f0b20002b03082103200241023602142002419c89cc80003602102002420137021c200241e984808000ad422086200241286aad84370308200220033903282002200241086a36021820012802002001280204200241106a10b18180800021010c0e0b2002200028020436020820024102360214200241b889cc80003602102002420137021c200241a180808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010c0d0b2002200029020437020820024101360214200241d089cc80003602102002420137021c200241ea84808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010c0c0b200128020041cc88cc8000410a200128020428020c1180808080000021010c0b0b200128020041d889cc8000410a200128020428020c1180808080000021010c0a0b200128020041e289cc8000410c200128020428020c1180808080000021010c090b200128020041ee89cc8000410e200128020428020c1180808080000021010c080b200128020041fc89cc80004108200128020428020c1180808080000021010c070b200128020041848acc80004103200128020428020c1180808080000021010c060b200128020041878acc80004104200128020428020c1180808080000021010c050b2001280200418b8acc8000410c200128020428020c1180808080000021010c040b200128020041978acc8000410f200128020428020c1180808080000021010c030b200128020041a68acc8000410d200128020428020c1180808080000021010c020b200128020041b38acc8000410e200128020428020c1180808080000021010c010b200128020020002802042000280208200128020428020c1180808080000021010b200241306a24808080800020010ba20201027f23808080800041306b220224808080800002400240200029030042ffffffffffffffffff00834280808080808080f8ff00530d0020024101360214200241f08bcc80003602102002420137021c200241eb84808000ad4220862000ad843703282002200241286a36021820012802002001280204200241106a10b18180800021030c010b200241003a000c200220013602084101210320024101360214200241f08bcc80003602102002420137021c200241eb84808000ad4220862000ad843703282002200241286a360218200241086a41ac88cc8000200241106a10b1818080000d00024020022d000c0d00200128020041f88bcc80004102200128020428020c118080808000000d010b410021030b200241306a24808080800020030b2000200128020020002802002000280204200128020428020c118080808000000bab0403067f017e027f23808080800041306b2202248080808000024002400240024002400240200028020422030e03010302000b410121042001280200220541e48bcc800041072001280204220628020c2207118080808000000d042002200028020022013602142002410236021c200241b48bcc800036021820024201370224200241ec84808000ad422086200241146aad8422083703002002200236022020052006200241186a10b1818080000d04200341ffffffff01714101470d03410021040c040b10e492808000000b2002410336021c200241cc8bcc800036021820024202370224200241ed84808000ad422086220820002802002200ad8437030020022008200041086aad843703082002200236022020012802002001280204200241186a10b18180800021040c020b2002410236021c200241b48bcc800036021820024201370224200241ed84808000ad4220862000350200843703002002200236022020012802002001280204200241186a10b18180800021040c010b2003417f6a41ffffffff01712109200141086a2100200120034103746a210a200141106a210303402003210120022000360214200541eb8bcc800041022007118080808000000d012002410236021c200241b48bcc800036021820024201370224200220083703002002200236022020052006200241186a10b1818080000d0120012001200a474103746a2103200121002009417f6a22090d000b410021040b200241306a24808080800020040b0f0041a48bcc8000108181808000000bc60301047f024002400240024002400240200241074b0d0020020d01410021030c050b200141036a417c7122042001460d01200420016b2105200120046b21064101210320012104034020042d0000412e460d05200441016a2104200641016a22060d000b2005200241786a22034b0d030c020b20012d0000412e4622030d0320024101460d0320012d0001412e4622030d0320024102460d0320012d0002412e4622030d0320024103460d0320012d0003412e4622030d0320024104460d0320012d0004412e4622030d0320024105460d0320012d0005412e4622030d0320024106460d0320012d0006412e4621030c030b200241786a2103410021050b03404180828408200120056a2204280200220641aedcb8f102736b2006724180828408200441046a280200220441aedcb8f102736b2004727141808182847871418081828478470d01200541086a220520034d0d000b0b024020022005470d00410021030c010b200120056a21042005417f7320026a210603402006210520042d0000412e4622030d01200441016a21042005417f6a210620050d000b0b2000200320002d0004723a00042000280200220428020020012002200428020428020c118080808000000b2d0020002001412e4620002d0004723a00042000280200220028020020012000280204280210118480808000000bee0802047f037e23808080800041306b2202248080808000024002400240024002400240024020012802000e0400010203000b4100210302400240024020012b0308200241086a109f9280800022044100480d00024020040d00410121030c030b41002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48ecc800010b980808000000b2003417e6a41003b00000b2003200241086a200410f4978080001a200421050c050b411421040240200129030822064290ce005a0d00200621070c040b411421040340200241086a20046a2201417c6a200620064290ce008022074290ce007e7da7220341ffff037141e4006e220541017441fd8bcc80006a2f00003b00002001417e6a2003200541e4006c6b41ffff037141017441fd8bcc80006a2f00003b00002004417c6a2104200642ffc1d72f5621012007210620010d000c040b0b411421040240200129030822082008423f8722068520067d22064290ce005a0d00200621070c020b411421040340200241086a20046a2201417c6a200620064290ce008022074290ce007e7da7220341ffff037141e4006e220541017441fd8bcc80006a2f00003b00002001417e6a2003200541e4006c6b41ffff037141017441fd8bcc80006a2f00003b00002004417c6a2104200642ffc1d72f5621012007210620010d000c020b0b200128020c210520012802082103200128020421040c020b02400240200742e300560d002007a721030c010b200241086a2004417e6a22046a2007a72201200141ffff037141e4006e220341e4006c6b41ffff037141017441fd8bcc80006a2f00003b00000b024002402003410a490d00200241086a2004417e6a22016a200341017441fd8bcc80006a2f00003b00000c010b200241086a2004417f6a22016a20034130723a00000b02402008427f550d00200241086a2001417f6a22016a412d3a00000b41002103024002400240411420016b22044100480d004101210320014114460d0241002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48ecc800010b980808000000b2003417e6a41003b00000b2003200241086a20016a200410f4978080001a200421050c010b02400240200742e300560d002007a721030c010b200241086a2004417e6a22046a2007a72201200141ffff037141e4006e220341e4006c6b41ffff037141017441fd8bcc80006a2f00003b00000b024002402003410a490d00200241086a2004417e6a22016a200341017441fd8bcc80006a2f00003b00000c010b200241086a2004417f6a22016a20034130723a00000b41002103024002400240411420016b22044100480d004101210320014114460d0241002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48ecc800010b980808000000b2003417e6a41003b00000b2003200241086a20016a200410f4978080001a200421050b200020053602082000200336020420002004360200200241306a2480808080000bd90303027f017e037f23808080800041306b2202248080808000411421030240024020014290ce005a0d00200121040c010b411421030340200241086a20036a2205417c6a200120014290ce008022044290ce007e7da7220641ffff037141e4006e220741017441fd8bcc80006a2f00003b00002005417e6a2006200741e4006c6b41ffff037141017441fd8bcc80006a2f00003b00002003417c6a2103200142ffc1d72f5621052004210120050d000b0b02400240200442e300560d002004a721060c010b200241086a2003417e6a22036a2004a72205200541ffff037141e4006e220641e4006c6b41ffff037141017441fd8bcc80006a2f00003b00000b024002402006410a490d00200241086a2003417e6a22056a200641017441fd8bcc80006a2f00003b00000c010b200241086a2003417f6a22056a20064130723a00000b41002106024002400240411420056b22034100480d004101210620054114460d0241002d008083d480001a200341002802f482d480001182808080000022060d01410121060b2006200341b48ecc800010b980808000000b2006417e6a41003b00000b2006200241086a20056a200310f4978080002105200020033602082000200536020420002003360200200241306a2480808080000bd70904017f027e047f017e2380808080004190016b220324808080800002400240200242808020540d00200341306a2001420042f3b2d8c19e9ebdcc957f420010fc97808000200341206a2001420042d2e1aadaeda7c987f600420010fc97808000200341d0006a2002420042f3b2d8c19e9ebdcc957f420010fc97808000200341c0006a2002420042d2e1aadaeda7c987f600420010fc97808000200329034820032903282003290338220420032903207c2202200454ad7c220520032903407c2204200554ad7c20042003290358200220032903507c200254ad7c7c2202200454ad7c2204423e8821052002423e8820044202868421040c010b20014213882002422d868442bda282a38eab04802104420021050b200341106a20042002428080e0b0b79fb79cf500420010fc978080004114210602400240200329031020017c22024290ce005a0d00200221010c010b411421060340200341e8006a20066a2207410f6a200220024290ce008022014290ce007e7da7220841ffff037141e4006e220941017441fd8bcc80006a2f00003b0000200741116a2008200941e4006c6b41ffff037141017441fd8bcc80006a2f00003b00002006417c6a2106200242ffc1d72f5621072001210220070d000b0b200341fb006a210802400240200142e300560d002001a721070c010b20082006417e6a22066a2001a72207200741ffff037141e4006e220741e4006c6b41ffff037141017441fd8bcc80006a2f00003b00000b024002402007410a490d0020082006417e6a22096a200741017441fd8bcc80006a2f00003b00000c010b20082006417f6a22096a20074130723a00000b0240024002400240024002400240200420058450450d00200941136a21070c010b41142106200341e8006a41146a41302009417f6a10fa978080001a200320044213882005422d8684220542bda282a38eab0480220a2002428080e0b0b79fb79cf500420010fc9780800002400240200329030020047c22024290ce005a0d00200221010c010b411421060340200341e8006a20066a2207417c6a200220024290ce008022014290ce007e7da7220841ffff037141e4006e220941017441fd8bcc80006a2f00003b00002007417e6a2008200941e4006c6b41ffff037141017441fd8bcc80006a2f00003b00002006417c6a2106200242ffc1d72f5621072001210220070d000b0b02400240200142e300560d002001a721080c010b200341e8006a2006417e6a22066a2001a72207200741ffff037141e4006e220841e4006c6b41ffff037141017441fd8bcc80006a2f00003b00000b024002402008410a490d00200341e8006a2006417e6a22076a200841017441fd8bcc80006a2f00003b00000c010b200341e8006a2006417f6a22076a20084130723a00000b200542bca282a38eab04560d010b4127210941002108412720076b22064100480d0220074127470d0141012108410021060c040b200341e9006a41302007417f6a10fa978080001a2003200aa74130723a006841272106410021070b41002d008083d480001a200641002802f482d480001182808080000022080d01410121080b2008200641b48ecc800010b980808000000b2008417e6a41003b0000200721090b2008200341e8006a20096a200610f497808000210720002006360208200020073602042000200636020020034190016a2480808080000b180020002802002001200028020428020c118480808000000b9a0203037f017e017f23808080800041206b2205248080808000024002400240200120026a220220014f0d00410021060c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410420044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10ec9280800020052802084101470d0120052802102102200528020c21060b2006200241bc8fcc800010b980808000000b200528020c21032000200736020020002003360204200541206a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be10101077f23808080800041206b22022480808080004100210302402000280200220441ffffff3f4d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410474220741fcffffff074b0d004100210502402004450d00410421052002200441047436021c200220002802043602140b20022005360218200241086a41042007200241146a10ec9280800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000b170041cc8fcc8000412841d890cc8000108081808000000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0ba20403077f017e067f02402001280218220720056b220820034f0d00200128020c22092005200920054b1b210a2004417f6a210b2001280220210c2001280210210d2001290300210e0340024002400240200e200220086a220f3100008842018350450d002001200836021820052110200821072006450d010c020b0240024002400240024002402009200c2009200c2009491b20061b2210417f6a221120054f0d00200b20106a2112410020106b2111201020086a417f6a211003402011450d02201020034f0d03201141016a2111200220106a211320122d000021142010417f6a21102012417f6a2112201420132d0000460d000b200720096b20116b21072005211020060d070c060b20100d020b2005200c20061b22102009201020094b1b2113200921100340024020132010470d0020012008360218024020060d00200120053602200b2000200736020820002008360204200041013602000f0b200a2010460d03200820106a20034f0d04200f20106a2111200420106a2112201041016a211020122d000020112d0000460d000b2007200d6b2107200d21102006450d040c050b2010200341ec93cc8000108281808000000b2011200541dc93cc8000108281808000000b200a200541bc93cc8000108281808000000b2003200820096a2210200320104b1b200341cc93cc8000108281808000000b200120103602202010210c0b200720056b22082003490d000b0b20014100360218200041003602000b1e00200128020041fc93cc80004105200128020428020c118080808000000b140020002802042000280208200110bc818080000bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110eb92808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110eb92808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000b7801027f41002d008083d480001a0240411441002802f482d48000118280808000002203450d002003200341036a417c7120036b22046a22032000290200370200200320023602102003200136020c2003417e6a20043b0000200341086a200041086a28020036020020030f0b4104411410ab80808000000b5e01027f41002d008083d480001a0240411441002802f482d48000118280808000002200450d002000200041036a417c7120006b22016a2200420037020c200041013602002000417e6a20013b000020000f0b4104411410ab80808000000b39000240200028020c450d0020000f0b20012000108193808000210120002000417e6a2f01006b41002802ec82d480001181808080000020010bb60600024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020002802000e19000102030405060708090a0b0c0d0e0f101112131415161718000b200128020020002802042000280208200128020428020c118080808000000f0b200041046a200110ee928080001a000b200128020041d495cc80004118200128020428020c118080808000000f0b200128020041ec95cc8000411b200128020428020c118080808000000f0b2001280200418796cc8000411a200128020428020c118080808000000f0b200128020041a196cc80004119200128020428020c118080808000000f0b200128020041ba96cc8000410c200128020428020c118080808000000f0b200128020041c696cc80004113200128020428020c118080808000000f0b200128020041d996cc80004113200128020428020c118080808000000f0b200128020041ec96cc8000410e200128020428020c118080808000000f0b200128020041fa96cc8000410e200128020428020c118080808000000f0b2001280200418897cc8000410c200128020428020c118080808000000f0b2001280200419497cc8000410e200128020428020c118080808000000f0b200128020041a297cc8000410e200128020428020c118080808000000f0b200128020041b097cc80004113200128020428020c118080808000000f0b200128020041c397cc8000411a200128020428020c118080808000000f0b200128020041dd97cc8000413e200128020428020c118080808000000f0b2001280200419b98cc80004114200128020428020c118080808000000f0b200128020041af98cc80004134200128020428020c118080808000000f0b200128020041e398cc8000412c200128020428020c118080808000000f0b2001280200418f99cc80004124200128020428020c118080808000000f0b200128020041b399cc8000410e200128020428020c118080808000000f0b200128020041c199cc80004113200128020428020c118080808000000f0b200128020041d499cc8000411c200128020428020c118080808000000f0b200128020041f099cc80004118200128020428020c118080808000000bb40102017f017e23808080800041306b2202248080808000024002402000280200220028020c0d002000200110f89280800021000c010b200241033602042002419c9acc80003602002002420337020c2002418680808000ad4220862203200041106aad84370328200220032000410c6aad84370320200241f184808000ad4220862000ad843703182002200241186a36020820012802002001280204200210b18180800021000b200241306a24808080800020000bd60202017f017e23808080800041e0006b2202248080808000200028020021002002410036024c2002428080808010370244200241e890cc8000360254200242a08080800e3702582002200241c4006a36025002402000200241d0006a10f8928080000d00200241386a41086a200241c4006a41086a280200360200200220022902443703382002410436020c200241d09acc8000360208200242033702142002418680808000ad4220862203200041106aad84370330200220032000410c6aad84370328200241f284808000ad422086200241386aad843703202002200241206a36021020012802002001280204200241086a10b181808000210002402002280238450d00200228023c22012001417e6a2f00006b41002802ec82d48000118180808000000b200241e0006a24808080800020000f0b419091cc80004137200241206a418091cc800041b892cc800010a981808000000b8d0201037f23808080800041106b2201248080808000200028020c210202400240024002400240024020002802040e020001020b20020d014101210341002100410121020c030b2002450d010b200141046a200010b2808080000c020b41002103024002402000280200220228020422004100480d0020022802002103024020000d0041012102410021000c030b41002d008083d480001a200041002802f482d480001182808080000022020d01410121030b2003200041b495cc800010b980808000000b2002417e6a41003b00000b20022003200010f49780800021022001200036020c20012002360208200120003602040b200141046a10fc928080002100200141106a24808080800020000ba70f020d7f017e23808080800041d0006b2201248080808000200141106a200028020422022000280208220341889acc8000410910a581808000024002400240024020012802104101470d00200141186a2104200128024c21052001280248210620012802442107200128024021082001280234417f460d01200141046a20042008200720062005410010f0928080000c020b41002104024020012d001e0d0020012d001d21050240024020012802182204450d002001280240210602400240200420012802442208490d0020042008460d010c070b200620046a2c00004140480d060b0240200620046a2209417f6a2c00002207417f4a0d00024002402009417e6a2d0000220a411874411875220b41bf7f4c0d00200a411f7121090c010b024002402009417d6a2d0000220a411874411875220c41bf7f4c0d00200a410f7121090c010b2009417c6a2d0000410771410674200c413f717221090b2009410674200b413f717221090b20094106742007413f717221070b20054101710d010240024020074180014f0d00417f21050c010b024020074180104f0d00417e21050c010b417d417c200741808004491b21050b0240200520046a22040d00410021040c020b0240024020042008490d0020042008470d070c010b200620046a2c00004140480d060b200620046a2205417f6a2c0000417f4a0d012005417e6a2c000041bf7f4a1a0c010b410021042005410171450d010b20012004360208410121040b200120043602040c010b200141046a20042008200720062005410110f0928080000b02400240024002400240024020012802044101470d002001280208220a41096a22082104034002402004450d00024020042003490d0020032004460d010c080b200220046a2c00004140480d070b02400240024020032004470d00200321070c010b200220046a2d000041506a41ff0171410a490d01200421070b2004450d0302400240200320074b0d0020032007470d010c050b200220076a2c000041bf7f4a0d040b200220032007200341d89ccc800010c381808000000b200441016a21040c000b0b410021060c010b41002106200320076b4108490d00200220076a220929000042a0c6bde3d6ae9bb720520d00200741086a220b21050240024002400240034002402005450d00024020052003490d0020032005460d010c090b200220056a2c00004140480d080b024002400240024020032005470d002003210d0c010b200220056a2d000041506a41ff0171410a490d012005210d20052003490d080b20072008490d032008450d01200220086a2c000041bf7f4a0d010c030b200541016a21050c010b0b02402004450d0020092c00004140480d010b200220086a2104024002400240200720086b22070e020700010b4101210920042d000041556a0e03070107010b024020042d0000412b470d002007417f6a2109200441016a21042007410a490d010c030b20072109200741094f0d020b41002107034020042d000041506a220841094b0d04200441016a210420082007410a6c6a21072009417f6a22090d000c030b0b200220032008200741f89ccc800010c381808000000b4100210703402009450d0120042d000041506a220841094b0d022007ad420a7e220e422088a74100470d02200441016a21042009417f6a21092008200ea7220c6a2207200c4f0d000c020b0b024002400240200d200b490d000240200b450d000240200b2003490d00200b2003470d020c010b2002200b6a2c000041bf7f4c0d010b02402005450d00200d2003470d010b2002200b6a2104024002400240200d200b6b22080e020700010b4101210520042d000041556a0e03070107010b024020042d0000412b470d002008417f6a2105200441016a21042008410a490d010c030b20082105200841094f0d020b4100210641002108034020042d000041506a220941094b0d05200441016a210420092008410a6c6a21082005417f6a22050d000c030b0b20022003200b200d41889dcc800010c381808000000b4100210803402005450d014100210620042d000041506a220941094b0d032008ad420a7e220e422088a74100470d03200441016a21042005417f6a21052009200ea7220b6a2208200b490d030c000b0b41012106200a20034b0d020240200a450d00200a20034f0d002002200a6a2c000041bf7f4a0d00418194cc8000413041b494cc8000108081808000000b2000200a360208200a21030c020b410021060c010b0b0240024002400240200028020020034b0d00200221050c010b0240024020030d00410121050c010b200341002802f482d48000118280808000002205450d022005417e6a41003b000020052002200310f4978080001a0b20022002417e6a2f00006b41002802ec82d48000118180808000000b41002d008083d480001a411441002802f482d480001182808080000022040d014104411410ab80808000000b4101200310ab80808000000b2004200441036a417c7120046b22026a22042008410020061b36021020042007410020061b36020c2004200336020820042005360204200441003602002004417e6a20023b0000200141d0006a24808080800020040f0b200220032005200341e89ccc800010c381808000000b200220032004200341c89ccc800010c381808000000b200620084100200441c495cc800010c381808000000ba80101017f23808080800041c0006b22032480808080002003200236020420032001360200200341306a41086a200041086a2903003703002003410236020c2003418c9bcc800036020820034202370214200341f384808000ad4220862003ad84370328200341f484808000ad422086200341306aad84370320200320002903003703302003200341206a360210200341086a10fb928080002100200341c0006a24808080800020000beb0204017f017c017e027f23808080800041c0006b2202248080808000024002400240024020002d0000417d6a0e050100000002000b200241286a41086a200041086a29030037030020022000290300370328200241286a200110e09280800021000c020b0240024020002b03082203bd220442ffffffffffffffffff008342fffffffffffffff7ff00550d00200241286a21002003200241286a109f9280800021050c010b41ecc0cc800041efc0cc80002004427f5522051b41f3c0cc8000200442ffffffffffffff07835022061b21004103410420051b410320061b21050b200220053602242002200036022020024102360204200241d09bcc80003602002002420137020c200241f584808000ad422086200241206aad843703182002200241186a36020820012802002001280204200210b18180800021000c010b200128020041e09bcc80004104200128020428020c1180808080000021000b200241c0006a24808080800020000ba80101017f23808080800041c0006b22032480808080002003200236020420032001360200200341306a41086a200041086a2903003703002003410236020c200341ac9bcc800036020820034202370214200341f384808000ad4220862003ad84370328200341f484808000ad422086200341306aad84370320200320002903003703302003200341206a360210200341086a10fb928080002100200341c0006a24808080800020000bff0103017f017c017e23808080800041106b22032480808080000240024002400240024020002802000e0400010203000b20002b03082104200341033a00002003200439030820032001200210fd9280800021020c030b20002903082105200341013a00002003200537030820032001200210fd9280800021020c020b20002903082105200341023a00002003200537030820032001200210fd9280800021020c010b20034106360208200341889ecc8000360204200341113a000020032001200210fd9280800021022000280204450d00200028020822002000417e6a2f00006b41002802ec82d48000118180808000000b200341106a24808080800020020b5001017f23808080800041106b2202248080808000200241086a200028020c2000280210200028021410879380800020012002280208200228020c10f5928080002100200241106a24808080800020000bd20401057f23808080800041c0006b220224808080800002400240024020012802142203200128021022044f0d000240200128020c220520036a2d00002206412d470d002001200341016a360214200241206a200141001083938080000c020b0240200641506a41ff0171410a490d002002410d360234200241106a20052004200341016a2203200420032004491b1087938080002002200241346a2002280210200228021410f592808000360224200241043602200c020b200241206a200141011083938080000c010b20024105360220200241186a200128020c2004200341016a2201200420012004491b108793808000200241206a2002280218200228021c10f592808000210120004104360200200020013602040c010b024020012802142206200128021022034f0d002002410d360234200241086a200128020c2003200641016a2206200320062003491b108793808000200241346a2002280208200228020c10f592808000200110f792808000210120004104360200200020013602040240024002402002280220417d6a0e020001040b2002280224450d03200228022821010c010b200228022422012802000d002001280208450d00200128020422002000417e6a2f00006b41002802ec82d48000118180808000000b20012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228022421030240200228022022064104470d002003200110f792808000210120004104360200200020013602040c010b2000200229032837030820002003360204200020063602000b200241c0006a2480808080000b820802027f027e23808080800041c0006b220324808080800041002d008083d480001a024002400240024002400240024002400240411041002802f482d48000118280808000002204450d00200320043602382004417e6a41003b00002003410036023c2003411036023402400240024002400240024020020d002004412d3a00002003410136023c2001200341346a10849380800022040d0120032802382104200328023c22020e020b02030b2001200341346a1084938080002204450d040b20004104360200200020043602040c0b0b20042d0000220141556a0e03080108010b20042d000021010b0240024002400240200141ff017141556a0e03000201020b2002417f6a2101200441016a210420024111490d02200121020c080b2002417f6a2101200441016a2104024020024111490d004200210503402001450d0b200341206a20052005423f87420a420010fc9780800020042d000041506a220241094b0d0a200329032820032903202206423f87520d0a200441016a21042001417f6a21012002ad2205420055200620057d220520065373450d000c0a0b0b420021052001450d09034020042d000041506a220241094b0d09200441016a21042005420a7e2002ad7d21052001417f6a22010d000c0a0b0b2002410f4b0d060c050b2001210220010d04420021050c070b20032802382104024002400240200328023c22010e020800010b4101210220042d000041556a0e03070107010b024020042d0000412b470d002001417f6a2102200441016a210420014112490d010c030b20012102200141114f0d020b42002105034020042d000041506a220141094b0d06200441016a21042005420a7e2001ad7c21052002417f6a22020d000c030b0b4101411041909ecc800010b980808000000b4200210503402002450d01200320054200420a420010fc9780800020032903084200520d0420042d000041506a220141094b0d04200441016a21042002417f6a2102200329030022062001ad7c22052006540d040c000b0b20002005370308200041013602000c040b42002105034020042d000041506a220141094b0d02200441016a21042005420a7e2001ad7c21052002417f6a2202450d030c000b0b4200210503402002450d02200341106a20052005423f87420a420010fc97808000200329031820032903102206423f87520d0120042d000041506a220141094b0d01200441016a21042002417f6a21022001ad2205420053200620057c220520065373450d000b0b20002003290234370204200041033602002000410c6a2003413c6a2802003602000c020b20002005370308200041023602000b2003280234450d00200328023822042004417e6a2f00006b41002802ec82d48000118180808000000b200341c0006a2480808080000bd104010a7f23808080800041306b2202248080808000024002400240024020002802142203200028021022044f0d002000200341016a2205360214200128020822062107024041014102200028020c220820036a2c00002209417f4a220a1b220b200128020020066b4d0d0020012006200b4101410110eb92808000200128020821070b2001280204220b20076a2107200a0d012007200941bf01713a00012001200641026a3602082007200941c0017141067641c001723a00000c020b20024105360224200241186a200028020c20042003108793808000200241246a2002280218200228021c10f59280800021050c020b200720093a00002001200641016a22063602080240024020094130470d000240200520044f0d00200820056a2d000041506a41ff0171410a490d020b2000200110859380800021050c030b2009414f6a41ff017141084b0d010240200520044f0d000340200820056a2d0000220941506a41ff017141094b0d012000200541016a220536021420062103024020062001280200470d002001200641014101410110eb92808000200128020821032001280204210b0b200b20036a20093a00002001200641016a220636020820042005470d000b0b2000200110859380800021050c020b2002410d360224200241086a20082004200341026a2205200420052004491b108793808000200241246a2002280208200228020c10f59280800021050c010b2002410d360224200241106a200820042005108793808000200241246a2002280210200228021410f59280800021050b200241306a24808080800020050bc404010a7f23808080800041206b220224808080800041002103024020002802142204200028021022054f0d000240200028020c220620046a2d0000220741e500460d00200741c500460d002007412e470d012000200441016a2208360214200128020822072109024020012802002007470d002001200741014101410110eb92808000200128020821090b2001200741016a220a3602082001280204220b20096a412e3a00000240200820054f0d000240200620086a2d0000220841506a41ff017141094b0d002000200441026a220436021402402001280200200a470d002001200a41014101410110eb928080002001280208210a2001280204210b0b2001200741026a2207360208200b200a6a20083a0000200420054f0d0303400240200620046a2d0000220841506a41ff0171410a490d00200841207241e500470d0520002008200110869380800021030c050b2000200441016a22043602142007210a024020072001280200470d002001200741014101410110eb928080002001280208210a2001280204210b0b200b200a6a20083a00002001200741016a220736020820052004470d000c040b0b2002410d360214200220062005200441026a2200200520002005491b108793808000200241146a2002280200200228020410f59280800021030c020b20024105360214200241086a20062005200441026a2200200520002005491b108793808000200241146a2002280208200228020c10f59280800021030c010b20002007200110869380800021030b200241206a24808080800020030bc80501097f23808080800041206b220324808080800020002000280214220441016a22053602142002280208220621070240410141022001418001491b2208200228020020066b4d0d002002200620084101410110eb92808000200228020821070b2002280204220920076a21070240200141ff004d0d0020072001413f71418001723a0001200141067641407221010b200720013a00002002200620086a220636020802402005200028021022084f0d000240200028020c20056a2d0000220141556a0e03000100010b2000200441026a220536021420062107024020022802002006470d002002200641014101410110eb9280800020022802082107200228020421090b2002200641016a2206360208200920076a20013a00000b0240024002400240200520084f0d002000200541016a22013602142006210a024041014102200028020c220420056a2c00002207417f4a220b1b2205200228020020066b4d0d002002200620054101410110eb928080002002280208210a200228020421090b2009200a6a2105200b0d012005200741bf01713a00012005200741c0017141067641c001723a00002002200641026a3602080c020b20034105360214200341086a200028020c20082005108793808000200341146a2003280208200328020c10f59280800021090c020b200520073a00002002200641016a2205360208200741506a41ff017141094b0d0041002109200120084f0d010340200420016a2d0000220641506a41ff017141094b0d022000200141016a220136021420052107024020052002280200470d002002200541014101410110eb92808000200228020821070b2002200541016a2205360208200228020420076a20063a000020082001470d000c020b0b2003410d3602142003200420002802102000280214108793808000200341146a2003280200200328020410f59280800021090b200341206a24808080800020090bcd0401047f0240024002400240200320024b0d004100210402402003450d00200120036a210502400240200341034b0d000340200520014d0d032005417f6a22052d0000410a470d000c020b0b024041808284082005417c6a2800002206418a94a8d000736b20067241808182847871418081828478460d000340200520014d0d032005417f6a22052d0000410a470d000c020b0b200320054103716b2106024020034109490d0002400340200622054108480d014180828408200120056a220741786a2802002206418a94a8d000736b20067241808182847871418081828478470d01200541786a210641808284082007417c6a2802002207418a94a8d000736b20077241808182847871418081828478460d000b0b200120056a21050340200520014d0d032005417f6a22052d0000410a470d000c020b0b200120066a21050340200520014d0d022005417f6a22052d0000410a470d000b0b200520016b220541016a2104200520024f0d020b410121052001200120046a4f0d032004410371210202402004417f6a41034f0d00410021050c030b2004417c712106410021050340200520012d0000410a466a200141016a2d0000410a466a200141026a2d0000410a466a200141036a2d0000410a466a2105200141046a21012006417c6a22060d000c030b0b2003200241a8b2cc8000109181808000000b2004200241b8b2cc8000109181808000000b02402002450d000340200520012d0000410a466a2105200141016a21012002417f6a22020d000b0b200541016a21050b200020053602002000200320046b3602040b5301047f024020002802082201200028020422024f0d00200028020021030340200320016a2d000022044122460d01200441dc00460d0120044120490d012000200141016a220136020820022001470d000b0b0bde0d02097f017e23808080800041206b22032480808080000240024003400240024002400240024002402001280208220420012802042205460d00024002400240200420054f0d0002402001280200220620046a2d000022074122470d00200421070c030b200741dc00470d01200421070c020b2004200541c8b2cc8000108281808000000b0240200741204f0d00200421070c010b200641016a210841002005200441016a22096b417871220a6b2106200421070340024020060d002001200a20096a360208200110889380800020012802042105200128020821070c020b200820076a210b200641086a2106200741086a2107200b290000220c427f85200c42a2c48891a2c48891228542fffdfbf7efdfbfff7e7c200c42e0bffffefdfbf7ef5f7c84200c42dcb8f1e2c58b97aedc008542fffdfbf7efdfbfff7e7c848342808182848890a0c0807f83220c500d000b2001200c7aa741037620076a41796a22073602080b20072005460d00200720054f0d010240024002402001280200220b20076a2d0000220641dc00460d0020064122460d012001200741016a3602082003411036021420002001200341146a108a938080000c0b0b024020072004490d00200b20046a21080240200720046b22062002280200200228020822046b4d0d002002200420064101410110eb92808000200228020821040b200228020420046a2008200610f4978080001a2001200741016a22043602082002200228020820066a220636020802400240200420054f0d002001200741026a360208200b20046a2d000021070c010b20034104360214200341086a2001200341146a108b9380800020032d00084101710d0320032d000921070b0240024002400240024002400240024002400240200741ff0171415e6a0e54020000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000500000006000000000000000700000008000901000b2003410c3602142001200341146a108c9380800021070c130b20012002108d938080002207450d110c120b024020062002280200470d00200241a8b3cc800010b8808080000b200228020420066a41223a00002002200641016a3602080c0f0b024020062002280200470d00200241b8b3cc800010b8808080000b200228020420066a41dc003a00002002200641016a3602080c0e0b024020062002280200470d00200241c8b3cc800010b8808080000b200228020420066a412f3a00002002200641016a3602080c0d0b024020062002280200470d00200241d8b3cc800010b8808080000b200228020420066a41083a00002002200641016a3602080c0c0b024020062002280200470d00200241e8b3cc800010b8808080000b200228020420066a410c3a00002002200641016a3602080c0b0b024020062002280200470d00200241f8b3cc800010b8808080000b200228020420066a410a3a00002002200641016a3602080c0a0b024020062002280200470d0020024188b4cc800010b8808080000b200228020420066a410d3a00002002200641016a3602080c090b024020062002280200470d0020024198b4cc800010b8808080000b200228020420066a41093a00002002200641016a3602080c080b200420074188b3cc8000109581808000000b20022802082206450d0520072004490d03200b20046a21080240200720046b220b200228020020066b4d0d0020022006200b4101410110eb92808000200228020821060b200228020420066a2008200b10f4978080001a2001200741016a36020820022002280208200b6a2207360208200341086a2002280204200710f680808000024020032802080d0020032802102106200328020c21070c050b2003410f36021420032001200341146a108e93808000024020032802002207450d00200328020421060c050b20002003280204360204200041023602000c090b200328020c21070c070b2003410436021420002001200341146a108a938080000c070b2007200541d8b2cc8000108281808000000b2004200741f8b2cc8000109581808000000b2000200636020820002007360204200041013602000c040b0240024020072004490d002001200741016a360208200341086a200b20046a200720046b10f680808000024020032802080d0020032802102106200328020c21070c020b2003410f36021420032001200341146a108e93808000024020032802002207450d00200328020421060c020b20002003280204360204200041023602000c050b2004200741e8b2cc8000109581808000000b2000200636020820002007360204200041003602000c030b410021074100450d000b0b20004102360200200020073602040b200341206a2480808080000b5c01017f23808080800041106b2203248080808000200341086a20012802002001280204200128020810879380800020022003280208200328020c10f59280800021012000410236020020002001360204200341106a2480808080000b5c01017f23808080800041106b2203248080808000200341086a20012802002001280204200128020810879380800020022003280208200328020c10f5928080002101200041013a000020002001360204200341106a2480808080000b5001017f23808080800041106b2202248080808000200241086a20002802002000280204200028020810879380800020012002280208200228020c10f5928080002100200241106a24808080800020000bbb0a01077f23808080800041206b22022480808080000240024002400240024002402000280204220320002802082204490d0002400240200320046b41034b0d0020002003360208200241043602142002410c6a2000200241146a108f93808000200321050c010b2000200441046a22053602080240200028020020046a22042d000141017441b8b4cc80006a2f010020042d000041017441b8b8cc80006a2f01007241107441107541087420042d000241017441b8b8cc80006a2e01007220042d000341017441b8b4cc80006a2e01007222044100480d00200241003b010c200220043b010e0c010b2002410c3602142002410c6a2000200241146a108f938080000b024020022f010c4101470d00200228021021000c060b20022f010e22044180f803714180b803460d01024020044180c8006a41ffff03714180f803490d002000280200210602400240200520034f0d00200620056a2d000021070c010b200241043602142002410c6a2000200241146a108b93808000024020022d000c410171450d00200228021021000c080b20022d000d21070b2000200541016a2208360208024002400240200741ff017141dc00470d00200820034f0d01200620086a2d000021070c020b200241173602142000200241146a108c9380800021000c080b200241043602142002410c6a2000200241146a108b9380800020022d000c4101710d0620022d000d21070b200541026a2108200741ff017141f500470d0420032008490d0302400240200320086b41034b0d0020002003360208200241043602142002410c6a2000200241146a108f938080000c010b2000200541066a3602080240200620086a22032d000141017441b8b4cc80006a2f010020032d000041017441b8b8cc80006a2f01007241107441107541087420032d000241017441b8b8cc80006a2e01007220032d000341017441b8b4cc80006a2e01007222034100480d00200241003b010c200220033b010e0c010b2002410c3602142002410c6a2000200241146a108f938080000b024020022f010c450d00200228021021000c070b024020022f010e22034180c0006a41ffff03714180f803490d0020044180d0006a41ffff0371410a7420034180c8006a41ffff0371722206418080046a210502402001280200200128020822046b41034b0d002001200441044101410110eb92808000200128020821040b200128020420046a2200200541127641f001723a0000200041036a2003413f71418001723a000020002006410676413f71418001723a000220002005410c76413f71418001723a00012001200441046a360208410021000c070b200241143602142000200241146a108c9380800021000c060b02402004418001490d0002402001280200200128020822036b41034b0d002001200341044101410110eb92808000200128020821030b200128020420036a21000240024020044180104f0d0020044106764140722106410221050c010b20002004410676413f71418001723a00012004410c764160722106410321050b200020063a0000200020056a417f6a2004413f71418001723a00002001200320056a360208410021000c060b0240200128020822002001280200470d00200141a8b4cc800010b8808080000b200128020420006a20043a00002001200041016a360208410021000c050b200420034198b3cc8000109281808000000b200241143602142000200241146a108c9380800021000c030b200820034198b3cc8000109281808000000b20002008360208200241173602142000200241146a108c9380800021000c010b200228021021000b200241206a24808080800020000b5c01017f23808080800041106b2203248080808000200341086a20012802002001280204200128020810879380800020022003280208200328020c10f59280800021012000410036020020002001360204200341106a2480808080000b5c01017f23808080800041106b2203248080808000200341086a20012802002001280204200128020810879380800020022003280208200328020c10f5928080002101200041013b010020002001360204200341106a2480808080000be90101027f23808080800041106b220224808080800002400240024020012802002203418180808078470d0020012d000422034106460d02200020033a000020002001290005370001200041086a2001410c6a2900003700000c010b2002410c6a200141146a280000360000200041053a00002002200129000c37000420002002290001370001200041086a200241086a2900003700002003418080808078460d002003450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200241106a2480808080000f0b41c0c0cc8000411c41dcc0cc800010a181808000000bf90301027f23808080800041d0006b22032480808080004100210402400240024020024100480d00024020020d00410121040c030b41002d008083d480001a200241002802f482d480001182808080000022040d01410121040b2004200241b8bfcc800010b980808000000b2004417e6a41003b00000b20042001200210f497808000210420034100360248200320023602442003200436024020034180013a004c2003410036023c2003428080808010370234200341206a200341346a1082938080000240024020032802204104470d002003200328022436020820034180808080783602040c010b200341046a200341206a10e7928080000b02402003280234450d00200328023822012001417e6a2f00006b41002802ec82d48000118180808000000b024002402003280204418080808078470d002000200328020836020402402002450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b410621020c010b200341106a41086a2201200341046a41086a2802003602002003200329020437031002402002450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2003413f6a20012802003600002003200329031037003720002003290034370001200041086a2003413b6a290000370000410221020b200020023a0000200341d0006a2480808080000b140020012000280200200028020410b4818080000b1200200041f8c0cc8000200110b1818080000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110eb92808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110eb92808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000bc35701237e200029033821032000290330210420002903282105200029032021062000290318210720002903102108200029030821092000290300210a02402002450d00200120024107746a210203402008200985200a83200820098385200a422489200a421e8985200a421989857c200320064232892006422e89852006421789857c20042005852006832004857c2001290000220b423886200b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200b42088842808080f80f83200b421888428080fc078384200b4228884280fe0383200b423888848484220c7c42a2dca2b98df38bc5c2007c220d7c220b422489200b421e8985200b42198985200b2009200a85832009200a83857c2004200141086a290000220e423886200e4280fe038342288684200e428080fc0783421886200e42808080f80f834208868484200e42088842808080f80f83200e421888428080fc078384200e4228884280fe0383200e423888848484220f7c200d20077c22102005200685832005857c20104232892010422e89852010421789857c42cdcbbd9f9292d19bf1007c22117c220e422489200e421e8985200e42198985200e200b200a8583200b200a83857c2005200141106a290000220d423886200d4280fe038342288684200d428080fc0783421886200d42808080f80f834208868484200d42088842808080f80f83200d421888428080fc078384200d4228884280fe0383200d42388884848422127c201120087c22132010200685832006857c20134232892013422e89852013421789857c42aff6b4e2fef9bee0b57f7c22147c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2006200141186a290000221142388620114280fe0383422886842011428080fc0783421886201142808080f80f834208868484201142088842808080f80f832011421888428080fc07838420114228884280fe0383201142388884848422157c201420097c22142013201085832010857c20144232892014422e89852014421789857c42bcb7a78cd8f4f6da697c22167c22114224892011421e89852011421989852011200d200e8583200d200e83857c2010200141206a290000221742388620174280fe0383422886842017428080fc0783421886201742808080f80f834208868484201742088842808080f80f832017421888428080fc07838420174228884280fe0383201742388884848422187c2016200a7c22172014201385832013857c20174232892017422e89852017421789857c42b8eaa29abfcbb0ab397c22197c22104224892010421e898520104219898520102011200d85832011200d83857c200141286a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221a20137c2019200b7c22132017201485832014857c20134232892013422e89852013421789857c4299a097b09bbec4f8d9007c22197c220b422489200b421e8985200b42198985200b2010201185832010201183857c200141306a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221b20147c2019200e7c22142013201785832017857c20144232892014422e89852014421789857c429b9fe5f8cad4e09f927f7c22197c220e422489200e421e8985200e42198985200e200b20108583200b201083857c200141386a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221c20177c2019200d7c22172014201385832013857c20174232892017422e89852017421789857c429882b6d3ddda978eab7f7c22197c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c200141c0006a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221d20137c201920117c22132017201485832014857c20134232892013422e89852013421789857c42c2848c988ad3ea83587c22197c22114224892011421e89852011421989852011200d200e8583200d200e83857c200141c8006a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221e20147c201920107c22142013201785832017857c20144232892014422e89852014421789857c42bedfc1ab94e0d6c1127c22197c22104224892010421e898520104219898520102011200d85832011200d83857c200141d0006a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221f20177c2019200b7c22172014201385832013857c20174232892017422e89852017421789857c428ce592f7e4b7e198247c22197c220b422489200b421e8985200b42198985200b2010201185832010201183857c200141d8006a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484222020137c2019200e7c22162017201485832014857c20164232892016422e89852016421789857c42e2e9feafbdb89f86d5007c22197c220e422489200e421e8985200e42198985200e200b20108583200b201083857c200141e0006a290000221342388620134280fe0383422886842013428080fc0783421886201342808080f80f834208868484201342088842808080f80f832013421888428080fc07838420134228884280fe03832013423888848484222120147c2019200d7c22192016201785832017857c20194232892019422e89852019421789857c42ef92ee93cfae97dff2007c22147c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c200141e8006a290000221342388620134280fe0383422886842013428080fc0783421886201342808080f80f834208868484201342088842808080f80f832013421888428080fc07838420134228884280fe03832013423888848484222220177c201420117c22232019201685832016857c20234232892023422e89852023421789857c42b1addad8e3bfacef807f7c22147c22114224892011421e89852011421989852011200d200e8583200d200e83857c200141f0006a290000221342388620134280fe0383422886842013428080fc0783421886201342808080f80f834208868484201342088842808080f80f832013421888428080fc07838420134228884280fe03832013423888848484221320167c201420107c22242023201985832019857c20244232892024422e89852024421789857c42b5a49caef2d481ee9b7f7c22177c22104224892010421e898520104219898520102011200d85832011200d83857c200141f8006a290000221442388620144280fe0383422886842014428080fc0783421886201442808080f80f834208868484201442088842808080f80f832014421888428080fc07838420144228884280fe03832014423888848484221420197c2017200b7c22252024202385832023857c20254232892025422e89852025421789857c4294cda4fbccaefccd417c22167c220b422489200b421e8985200b42198985200b2010201185832010201183857c200f423f89200f42388985200f42078885200c7c201e7c2013422d892013420389852013420688857c221720237c2016200e7c220c2025202485832024857c200c423289200c422e8985200c421789857c42d295c5f799b8dacd647c22197c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2012423f89201242388985201242078885200f7c201f7c2014422d892014420389852014420688857c221620247c2019200d7c220f200c202585832025857c200f423289200f422e8985200f421789857c42e3cbbcc2e3f091df6f7c22237c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2015423f8920154238898520154207888520127c20207c2017422d892017420389852017420688857c221920257c202320117c2212200f200c8583200c857c20124232892012422e89852012421789857c42b5abb3dce8b8e7e00f7c22247c22114224892011421e89852011421989852011200d200e8583200d200e83857c2018423f8920184238898520184207888520157c20217c2016422d892016420389852016420688857c2223200c7c202420107c22152012200f8583200f857c20154232892015422e89852015421789857c42e5b8b2bdc7b9a886247c22257c22104224892010421e898520104219898520102011200d85832011200d83857c201a423f89201a42388985201a4207888520187c20227c2019422d892019420389852019420688857c2224200f7c2025200b7c22182015201285832012857c20184232892018422e89852018421789857c42f584acc9f58dcbf42d7c220c7c220b422489200b421e8985200b42198985200b2010201185832010201183857c201b423f89201b42388985201b42078885201a7c20137c2023422d892023420389852023420688857c222520127c200c200e7c221a2018201585832015857c201a423289201a422e8985201a421789857c4283c99bf5a695a1baca007c220f7c220e422489200e421e8985200e42198985200e200b20108583200b201083857c201c423f89201c42388985201c42078885201b7c20147c2024422d892024420389852024420688857c220c20157c200f200d7c221b201a201885832018857c201b423289201b422e8985201b421789857c42d4f787eacbbbaad8dc007c22127c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c201d423f89201d42388985201d42078885201c7c20177c2025422d892025420389852025420688857c220f20187c201220117c221c201b201a8583201a857c201c423289201c422e8985201c421789857c42b5a7c598a89be2fcf6007c22157c22114224892011421e89852011421989852011200d200e8583200d200e83857c201e423f89201e42388985201e42078885201d7c20167c200c422d89200c42038985200c420688857c2212201a7c201520107c221d201c201b8583201b857c201d423289201d422e8985201d421789857c42abbf9bf3aeaa949f987f7c22187c22104224892010421e898520104219898520102011200d85832011200d83857c201f423f89201f42388985201f42078885201e7c20197c200f422d89200f42038985200f420688857c2215201b7c2018200b7c221e201d201c8583201c857c201e423289201e422e8985201e421789857c4290e4d0edd2cdf198a87f7c221a7c220b422489200b421e8985200b42198985200b2010201185832010201183857c2020423f89202042388985202042078885201f7c20237c2012422d892012420389852012420688857c2218201c7c201a200e7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42bfc2ecc789f9c981b07f7c221b7c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2021423f8920214238898520214207888520207c20247c2015422d892015420389852015420688857c221a201d7c201b200d7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42e49dbcf7fbf8dfacbf7f7c221c7c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2022423f8920224238898520224207888520217c20257c2018422d892018420389852018420688857c221b201e7c201c20117c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42c29fa2edb3fe82f0467c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2013423f8920134238898520134207888520227c200c7c201a422d89201a42038985201a420688857c221c201f7c202020107c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42a5ceaa98f9a8e4d3557c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2014423f8920144238898520144207888520137c200f7c201b422d89201b42038985201b420688857c2213201d7c2020200b7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42ef848e809eea98e5067c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2017423f8920174238898520174207888520147c20127c201c422d89201c42038985201c420688857c2214201e7c2020200e7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42f0dcb9d0f0acca94147c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2016423f8920164238898520164207888520177c20157c2013422d892013420389852013420688857c2217201f7c2020200d7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42fcdfc8b6d4d0c2db277c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2019423f8920194238898520194207888520167c20187c2014422d892014420389852014420688857c2216201d7c202020117c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42a6929be185a7c88d2e7c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2023423f8920234238898520234207888520197c201a7c2017422d892017420389852017420688857c2219201e7c202020107c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42edd590d6c5bf9b96cd007c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2024423f8920244238898520244207888520237c201b7c2016422d892016420389852016420688857c2223201f7c2020200b7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42dfe7d6ecb9a2839cd3007c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2025423f8920254238898520254207888520247c201c7c2019422d892019420389852019420688857c2224201d7c2020200e7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42dec7bdddc8ea9c85e5007c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c200c423f89200c42388985200c4207888520257c20137c2023422d892023420389852023420688857c2225201e7c2020200d7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42a8e5dee3b3d782b5f6007c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c200f423f89200f42388985200f42078885200c7c20147c2024422d892024420389852024420688857c220c201f7c202020117c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42e6ddb6bfe4a5b2e1817f7c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2012423f89201242388985201242078885200f7c20177c2025422d892025420389852025420688857c220f201d7c202020107c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42bbea88a4d1908bb9927f7c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2015423f8920154238898520154207888520127c20167c200c422d89200c42038985200c420688857c2212201e7c2020200b7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42e486c4e79494fadfa27f7c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2018423f8920184238898520184207888520157c20197c200f422d89200f42038985200f420688857c2215201f7c2020200e7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c4281e088e2bbc9998da87f7c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c201a423f89201a42388985201a4207888520187c20237c2012422d892012420389852012420688857c2218201d7c2020200d7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c4291afe2878deee2a5427c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c201b423f89201b42388985201b42078885201a7c20247c2015422d892015420389852015420688857c221a201e7c202020117c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42b0fcd2b2b0b494b6477c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c201c423f89201c42388985201c42078885201b7c20257c2018422d892018420389852018420688857c221b201f7c202020107c221f201e201d8583201d857c201f423289201f422e8985201f421789857c4298a4bdb79d83bac9517c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2013423f89201342388985201342078885201c7c200c7c201a422d89201a42038985201a420688857c221c201d7c2020200b7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c4290d296abc5c4c1cc567c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2014423f8920144238898520144207888520137c200f7c201b422d89201b42038985201b420688857c2213201e7c2020200e7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42aac0c4bbd5b08d87747c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2017423f8920174238898520174207888520147c20127c201c422d89201c42038985201c420688857c2214201f7c2020200d7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42b8a3ef95838ea8b5107c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2016423f8920164238898520164207888520177c20157c2013422d892013420389852013420688857c2217201d7c202020117c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42c8a1cbc6eba2b0d2197c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2019423f8920194238898520194207888520167c20187c2014422d892014420389852014420688857c2216201e7c202020107c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42d3d6868a8581db9b1e7c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2023423f8920234238898520234207888520197c201a7c2017422d892017420389852017420688857c2219201f7c2020200b7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c4299d7bbfccde99da4277c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2024423f8920244238898520244207888520237c201b7c2016422d892016420389852016420688857c2223201d7c2020200e7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42a891ed8cde96afd8347c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2025423f8920254238898520254207888520247c201c7c2019422d892019420389852019420688857c2224201e7c2020200d7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42e3b4a5aebc96838e397c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c200c423f89200c42388985200c4207888520257c20137c2023422d892023420389852023420688857c2225201f7c202020117c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42cb95869aaec9aaecce007c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c200f423f89200f42388985200f42078885200c7c20147c2024422d892024420389852024420688857c220c201d7c202020107c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42f3c68fbbf7c9b2cedb007c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2012423f89201242388985201242078885200f7c20177c2025422d892025420389852025420688857c220f201e7c2020200b7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42a3f1cab5bdfe9b97e8007c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2015423f8920154238898520154207888520127c20167c200c422d89200c42038985200c420688857c2212201f7c2020200e7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42fce5beefe5dde0c7f4007c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2018423f8920184238898520184207888520157c20197c200f422d89200f42038985200f420688857c2215201d7c2020200d7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42e0dedc98f4edd8d2f8007c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c201a423f89201a42388985201a4207888520187c20237c2012422d892012420389852012420688857c2218201e7c202020117c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42f2d6c28fca829ee4847f7c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c201b423f89201b42388985201b42078885201a7c20247c2015422d892015420389852015420688857c221a201f7c202020107c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42ecf390d381c1c0e38c7f7c22207c22104224892010421e898520104219898520102011200d85832011200d83857c201c423f89201c42388985201c42078885201b7c20257c2018422d892018420389852018420688857c221b201d7c2020200b7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42a8bc8c9ba2ffbfdf907f7c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2013423f89201342388985201342078885201c7c200c7c201a422d89201a42038985201a420688857c221c201e7c2020200e7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42e9fb8af4bd9d9ba8a47f7c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2014423f8920144238898520144207888520137c200f7c201b422d89201b42038985201b420688857c2213201f7c2020200d7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c4295f29996fbfee8fcbe7f7c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2017423f8920174238898520174207888520147c20127c201c422d89201c42038985201c420688857c2214201d7c202020117c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42aba6c99bae9edeb8467c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2016423f8920164238898520164207888520177c20157c2013422d892013420389852013420688857c2217201e7c202020107c221e201d201f8583201f857c201e423289201e422e8985201e421789857c429cc399d1eed9cf934a7c22217c22104224892010421e898520104219898520102011200d85832011200d83857c2019423f8920194238898520194207888520167c20187c2014422d892014420389852014420688857c2220201f7c2021200b7c2216201e201d8583201d857c20164232892016422e89852016421789857c428784838ef298aec3517c22217c220b422489200b421e8985200b42198985200b2010201185832010201183857c2023423f8920234238898520234207888520197c201a7c2017422d892017420389852017420688857c221f201d7c2021200e7c22192016201e8583201e857c20194232892019422e89852019421789857c429ed683efecba9fed6a7c22217c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2024423f8920244238898520244207888520237c201b7c2020422d892020420389852020420688857c221d201e7c2021200d7c22232019201685832016857c20234232892023422e89852023421789857c42f8a2bbf3feefd3be757c221e7c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2025423f8920254238898520254207888520247c201c7c201f422d89201f42038985201f420688857c222420167c201e20117c22162023201985832019857c20164232892016422e89852016421789857c42badfdd90a7f599f8067c221e7c22114224892011421e89852011421989852011200d200e8583200d200e83857c200c423f89200c42388985200c4207888520257c20137c201d422d89201d42038985201d420688857c222520197c201e20107c22192016202385832023857c20194232892019422e89852019421789857c42a6b1a296dab8dfb10a7c221e7c22104224892010421e898520104219898520102011200d85832011200d83857c200f423f89200f42388985200f42078885200c7c20147c2024422d892024420389852024420688857c220c20237c201e200b7c22232019201685832016857c20234232892023422e89852023421789857c42ae9be4f7cb80e69f117c221e7c220b422489200b421e8985200b42198985200b2010201185832010201183857c2012423f89201242388985201242078885200f7c20177c2025422d892025420389852025420688857c220f20167c201e200e7c22162023201985832019857c20164232892016422e89852016421789857c429b8ef198d1e6c2b81b7c221e7c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2015423f8920154238898520154207888520127c20207c200c422d89200c42038985200c420688857c221220197c201e200d7c22192016202385832023857c20194232892019422e89852019421789857c4284fb9198d2fedded287c221e7c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2018423f8920184238898520184207888520157c201f7c200f422d89200f42038985200f420688857c221520237c201e20117c22232019201685832016857c20234232892023422e89852023421789857c4293c99c86b4efaae5327c221e7c22114224892011421e89852011421989852011200d200e8583200d200e83857c201a423f89201a42388985201a4207888520187c201d7c2012422d892012420389852012420688857c221820167c201e20107c22162023201985832019857c20164232892016422e89852016421789857c42bcfda6aea1c1afcf3c7c221d7c22104224892010421e898520104219898520102011200d85832011200d83857c201b423f89201b42388985201b42078885201a7c20247c2015422d892015420389852015420688857c222420197c201d200b7c22192016202385832023857c20194232892019422e89852019421789857c42cc9ac0e0c9f8d98ec3007c22157c220b422489200b421e8985200b42198985200b2010201185832010201183857c201c423f89201c42388985201c42078885201b7c20257c2018422d892018420389852018420688857c222520237c2015200e7c22232019201685832016857c20234232892023422e89852023421789857c42b685f9d9ec97f5e2cc007c22157c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2013423f89201342388985201342078885201c7c200c7c2024422d892024420389852024420688857c222420167c2015200d7c220d2023201985832019857c200d423289200d422e8985200d421789857c42aafc95e3cfb3cabfd9007c220c7c22164224892016421e89852016421989852016200e200b8583200e200b83857c20132014423f892014423889852014420788857c200f7c2025422d892025420389852025420688857c20197c200c20117c2211200d202385832023857c20114232892011422e89852011421789857c42ecf5dbd6b3f5dbe5df007c22197c22132016200e85832016200e8385200a7c20134224892013421e89852013421989857c20142017423f892017423889852017420788857c20127c2024422d892024420389852024420688857c20237c201920107c22102011200d8583200d857c20104232892010422e89852010421789857c4297b09dd2c4b186a2ec007c22147c210a201320097c2109200b20067c20147c2106201620087c2108201020057c2105200e20077c2107201120047c2104200d20037c210320014180016a22012002470d000b0b200020033703382000200437033020002005370328200020063703202000200737031820002008370310200020093703082000200a3703000bb10202027f027e23808080800041106b2203248080808000024002400240024002400240024020020e020400010b4101210420012d000041556a0e03030103010b024020012d0000412b470d002002417f6a2104200141016a210120024112490d010c020b20022104200241114f0d010b42002105034020012d000041506a220241094b0d02200141016a21012005420a7e2002ad7c21052004417f6a22040d000c030b0b4200210503402004450d02200320054200420a420010fc9780800020032903084200520d0120012d000041506a220241094b0d01200141016a21012004417f6a2104200329030022062002ad7c220520065a0d000b0b2000412b3602082000419cc2cc8000360204410121010c010b20002005370308410021010b20002001360200200341106a2480808080000bc00403057f017e027f23808080800041d0006b2201248080808000200141286a41e1c2cc8000410841c7c2cc8000411a4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41a8c7cc8000109c93808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a41b8c7cc800010b592808000200128021422084293888c8f89fdc6ec9e7f3703002008420437022c20084203370224200841e4c8cc8000360220200841003602182008419981808000360210200842a5e9e3ab9e929adc2c3703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a41a8c7cc8000109e9380800002402007418080808078470d0041c8c7cc8000411141dcc7cc800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a8c7cc8000109c938080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bc00403057f017e027f23808080800041d0006b2201248080808000200141286a41fcc2cc8000410941c7c2cc8000411a4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41a8c7cc8000109c93808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a41b8c7cc800010b5928080002001280214220842e987d8bed5a3d0fbfb003703002008420437022c20084204370224200841e7c8cc800036022020084100360218200841ec80808000360210200842e2e68fceaa92ce9c7b3703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a41a8c7cc8000109e9380800002402007418080808078470d0041c8c7cc8000411141dcc7cc800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a8c7cc8000109c938080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bb30604057f017e027f017e23808080800041d0006b2201248080808000200141306a4185c3cc8000410f4194c3cc8000410d4104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41a8c7cc8000109c93808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a4198c6cc800010a093808000200128021c22084100360208200842808080808001370200200841003a00202008410936021c200841a1c3cc80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a4198c6cc800010a0938080000b2001280244410141246c6a220841013a00202008410836021c200841aac3cc800036021820084204370210200842003702082008428080808080013702002007410141016a2208360200200120012903402209370318024020082009a7470d00200141186a4198c6cc800010a0938080000b200128021c200841246c22076a220841023a00202008410e36021c200841b2c3cc80003602182008420437021020084200370208200842808080808001370200200128021c210820012001280218360220200120083602182001200820076a41246a3602242001200836021c200141c0006a200141186a41a8c7cc8000109d9380800002402005418080808078470d0041c8c7cc8000411141dcc7cc800010a181808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41a8c7cc8000109c93808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010a2938080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741246e2208200128020822014101764f0d01410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a410020084104412410a2938080002003280208210a200328020c21090b200a200941246c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41246e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810a2938080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42247e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441246c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a109f9380800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bca0303037f017e027f23808080800041206b22052480808080000240024002402003417f6a220620046a410020036b220771ad2001ad7e2208422088a70d002008a7220441808080807820036b4d0d010b20004100360204410121030c010b024020040d002000200336020841002103200041003602040c010b41002d008083d480001a200369210920044100200341786a220a200a20034b1b6a41002802f482d4800011828080800000210a024002400240024002402002450d00200941014b0d02200a450d042006200a6a200771200a6b220241ffff034b0d04200a20026a2203417e6a20023b000020034100200410fa978080001a0c010b200941014b0d02200a450d032006200a6a200771200a6b220241ffff034b0d03200a20026a2203417e6a20023b00000b2000200336020820002001360204410021030c030b200541003602182005410136020c200541a4edcc800036020820054204370210200541086a41a0eecc800010fe80808000000b200541003602182005410136020c200541a4edcc800036020820054204370210200541086a41a0eecc800010fe80808000000b2000200436020820002003360204410121030b20002003360200200541206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a109f9380800020052802084101470d0120052802102102200528020c21060b2006200241b8c4cc800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b940704017f0c7e017f037e23808080800041c0016b22072480808080004200210802400240200542015620064200522006501b0d004200210902402005a70e020002000b41a8c5cc8000108e81808000000b02400240200120028450450d004200210a420021084200210b4200210c2003210d200421090c010b200741b0016a420020057d2208420020062005420052ad7c7d220920052006108298808000200741a0016a20072903b001220e20072903b801220f2005200610fc97808000200920072903a8017d200820072903a001220954ad7d2110200820097d2111200f200e42017c221250ad7c21132003210d200421094200210b4200210c4200210342002104034020074190016a200142002012420010fc97808000200741f0006a200142002013420010fc9780800020074180016a200242002012420010fc97808000200741e0006a200242002013420010fc97808000200741d0006a200142002011420010fc97808000200741306a200142002010420010fc97808000200741c0006a200242002011420010fc97808000200741206a200242002010420010fc978080002007290368200c7c20072903602202200b7c2201200254ad7c20012007290388017c2202200154ad7c200220072903787c2201200254ad7c200120072903980122082007290380017c2202200854ad7c2208200154ad7c2008200220072903707c220e200254ad7c2201200854ad7c200120032007290390017c220a20035422142004200e7c2014ad7c220820045420082004511bad7c220b200154ad7c210c200a2103200821042007290348221520072903207c220220072903387c220e2007290358220120072903407c220f200154ad7c2216200f20072903307c2201200f54ad7c220f20072903502217200d7c220d2017542214200120097c2014ad7c220920015420092001511bad7c220120072903282002201554ad7c200e200254ad7c2016200e54ad7c200f201654ad7c2001200f54ad7c2202844200520d000b0b200741106a200d200920052006108298808000200720072903102201200729031822022005200610fc97808000200c200b200a20017c2203200a542214200820027c2014ad7c220420085420042008511bad7c2201200b54ad7c2102200920072903087d200d2007290300220854ad7d2109200d20087d21080b200020083703202000200337031020002001370300200020093703282000200437031820002002370308200741c0016a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10a49380800020052802084101470d0120052802102102200528020c21060b2006200241e0c9cc800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141b4cccc800010a8938080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004120360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810a5938080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010a5938080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bbf0403057f017e027f23808080800041d0006b2201248080808000200141286a41f0c9cc8000410641f6c9cc800041274104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41b4cccc800010a893808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a4180cbcc800010b5928080002001280214220842bbeefa98e893a7ad023703002008420437022c2008420f370224200841c4cccc800036022020084100360218200841fe84808000360210200842eef8e7b09dc4b6b53f3703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a41b4cccc800010a79380800002402007418080808078470d004190cbcc8000411141a4cbcc800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41b4cccc800010a8938080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bb20203017f017e037f23808080800041106b2201248080808000200141046a41e8cdcc8000410441eccdcc800041124104410010c29280800020012902082102200128020421032001410036020c200142808080808001370204200141046a41b4cdcc800010b592808000200128020822044293888c8f89fdc6ec9e7f3703002004420437022c20044203370224200441fecdcc8000360220200441003602182004419981808000360210200442a5e9e3ab9e929adc2c37030802402003418080808078470d0041c4cdcc8000411141d8cdcc800010a181808000000b20012802042105200042043702542000420037024c2000428080808080013702442000200237023c200020033602382000410136020c2000200436020820002005360204200041003a0000200141106a2480808080000bb20203017f017e037f23808080800041106b2201248080808000200141046a4181cecc8000410c41eccdcc800041124104410010c29280800020012902082102200128020421032001410036020c200142808080808001370204200141046a41b4cdcc800010b592808000200128020822044293888c8f89fdc6ec9e7f3703002004420437022c20044203370224200441fecdcc8000360220200441003602182004419981808000360210200442a5e9e3ab9e929adc2c37030802402003418080808078470d0041c4cdcc8000411141d8cdcc800010a181808000000b20012802042105200042043702542000420037024c2000428080808080013702442000200237023c200020033602382000410136020c2000200436020820002005360204200041003a0000200141106a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be20101077f23808080800041206b22022480808080004100210302402000280200220441ffffffff004d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410374220741fcffffff074b0d004100210502402004450d002002200441037436021c20022000280204360214410421050b20022005360218200241086a41042007200241146a10ac9380800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10ac9380800020052802084101470d0120052802102102200528020c21060b200620024184cfcc800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000bde1201107f23808080800041106b2203248080808000200120026a210441002105200121060240034020052107024020062004470d00200221070c020b0240024020062c00002208417f4c0d00200641016a2109200841ff017121080c010b20062d0001413f7121092008411f71210502402008415f4b0d0020054106742009722108200641026a21090c010b200941067420062d0002413f717221090240200841704f0d0020092005410c74722108200641036a21090c010b200941067420062d0003413f71722005411274418080f00071722108200641046a21090b200720066b20096a21052009210620084120460d0020092106200841506a410a490d0020092106200841bf7f6a411a490d00200921062008419f7f6a411a490d000b0b200120076a210a4100210b4100210c0240024002400240024002400240024002402007450d000240200220074b0d004100210b2003410036020c20034280808080c0003702040c020b2001210c200a2c000041bf7f4c0d030b2003410036020c20034280808080c000370204200220076b220d0d01200c21010b0c050b4104210e4100210f4100210b0340024002400240024002400240024002400240200d4103490d0041fcd0cc8000200a410310f5978080000d01200a200d6a2104200d417d6a211041002106200a41036a2211210902400340200621050240200922062004470d00201021050c020b0240024020062c00002208417f4c0d00200641016a2109200841ff017121080c010b20062d0001413f7121092008411f71210d02402008415f4b0d00200d4106742009722108200641026a21090c010b200941067420062d0002413f717221090240200841704f0d002009200d410c74722108200641036a21090c010b200941067420062d0003413f7172200d411274418080f00071722108200641046a21090b200520066b20096a21062008410a470d000b0b201120056a210a02400240024020050d00410021110c010b201020054d0d00200a2c000041bf7f4c0d010b2005410020111b21122011410120111b210b201020056b220d0d0a200c21010c0f0b201120104100200541ecd0cc800010c381808000000b200d4102470d010b200a2f000041afde00460d010b200a2d0000412f460d01200b450d0241002109024020024100480d0041002d008083d480001a41012109200241002802f482d480001182808080000022060d040b200920024184d0cc800010b980808000000b200a200d6a2104200d417e6a211041002106200a41026a220e210902400340200621050240200922062004470d00201021050c020b0240024020062c00002208417f4c0d00200641016a2109200841ff017121080c010b20062d0001413f7121112008411f71210902402008415f4b0d0020094106742011722108200641026a21090c010b201141067420062d0002413f717221110240200841704f0d0020112009410c74722108200641036a21090c010b201141067420062d0003413f71722009411274418080f00071722108200641046a21090b200520066b20096a21062008412f470d000b0b200e20056a2108201020056b210602402005450d000240201020054b0d002006450d010c0b0b20082c000041bf7f4c0d0a0b41002109024020024100480d0041002d008083d480001a200241002802f482d480001182808080000022090d05410121090b200920024184d0cc800010b980808000000b200a200d6a2104200d417f6a211141002106200a41016a2210210902400340200621050240200922062004470d00201121050c020b0240024020062c00002208417f4c0d00200641016a2109200841ff017121080c010b20062d0001413f7121092008411f71210d02402008415f4b0d00200d4106742009722108200641026a21090c010b200941067420062d0002413f717221090240200841704f0d002009200d410c74722108200641036a21090c010b200941067420062d0003413f7172200d411274418080f00071722108200641046a21090b200520066b20096a21062008412f470d000b0b201020056a210a201120056b210d410021094100210602402005450d0002400240201120054b0d00200d450d010c0a0b200a2c000041bf7f4c0d090b201021060b024020024100480d0041002d008083d480001a200241002802f482d480001182808080000022090d03410121090b200920024184d0cc800010b980808000000b41002106024020024100480d004100210941002d008083d480001a200241002802f482d480001182808080000022060d01410121060b200620024184d0cc800010b980808000000b2006417e6a41003b000020062001200210f497808000210620002002200d6b360214200020023602102000200636020c20002002360208200020093602040c040b2009417e6a41003b000020092001200210f497808000210902402006450d00200941002802ec82d48000118180808000000240200f2003280204470d00200341046a4180d1cc800010ad938080002003280208210e0b200e200f4103746a22092005360204200920063602002003200f41016a220f36020c200d0d02200c21010c070b2000200936020c200020023602082000410336020420002002200d6bad4220862002ad843702100c030b2009417e6a41003b000020092001200210f4978080002109024002402005450d00200941002802ec82d48000118180808000000240200541026a2209450d000240200d4101460d00200a2c00014140480d010b02402009200d490d002009200d470d010c030b200a20096a2c000041bf7f4a0d020b200a200d410120094190d1cc800010c381808000000b2000200936020c20002002360208200041023602042000200220106bad4220862002ad843702100c030b200541016a21090240200f2003280204470d00200341046a41a0d1cc800010ad938080000b2003280208220e200f4103746a220520093602042005200a41016a3602002003200f41016a220f36020c2008210a2006210d20060d000b200c21010c040b200120024100200741ecd0cc800010c381808000000b20004180808080783602002003280204450d03200328020822062006417e6a2f00006b41002802ec82d48000118180808000000c030b201020114100200541ecd0cc800010c381808000000b200e20104100200541ecd0cc800010c381808000000b20002003290204370200200020123602182000200b360214200020073602102000200136020c200041086a200341046a41086a2802003602000b200341106a2480808080000bd20702067f027e23808080800041e0006b2202248080808000200128020021030240024002400240024002400240024020012802042204450d00200341016a21012004417f6a2105024020032d00002206412f470d000240024002402004417f6a0e020800010b410121072001210620012d000041556a0e03070107010b024020012d0000412b470d002004417e6a2107200341026a210620044113490d010c060b2001210620052107200441124f0d050b42002108034020062d000041506a220441094b0d06200641016a21062008420a7e2004ad7c21082007417f6a22070d000c070b0b02400240024020044101470d004101210520032101200641556a0e03030103010b02402006412b470d0020044112490d010c020b2003210120042105200441114f0d010b42002108034020012d000041506a220641094b0d02200141016a21012008420a7e2006ad7c21082005417f6a22050d000c030b0b4200210803402005450d02200241106a20084200420a420010fc9780800020022903184200520d0120012d000041506a220641094b0d01200141016a21012005417f6a2105200229031022092006ad7c220820095a0d000b0b2002200436023c20022003360238200241d8006a22014200370300200241c0006a41106a22054200370300200241c0006a41086a2206420037030020024200370340200241386a200241c0006a10c793808000200241206a41086a2005290300370300200241206a41106a200129030037030020022006290300370320200229034021080c010b200241306a4200370300200241286a4200370300200242003703200b20002008370001200041003a000020002002290320370009200041116a200241286a290300370000200041196a200241306a2903003700000c040b4200210803402007450d02200220084200420a420010fc9780800020022903084200520d0120062d000041506a220441094b0d01200641016a21062007417f6a2107200229030022092004ad7c220820095a0d000b0b2002200536023c20022001360238200241d8006a22014200370300200241c0006a41106a22054200370300200241c0006a41086a2206420037030020024200370340200241386a200241c0006a10c793808000200241206a41086a2005290300370300200241206a41106a200129030037030020022006290300370320200229034021080c010b200241306a4200370300200241286a4200370300200242003703200b2000200837000120002002290320370009200041013a0000200041116a200241286a290300370000200041196a200241306a2903003700000b200241e0006a2480808080000ba70801087f23808080800041e0046b2203248080808000200342f9c2f89b91a3b3f0db00370338200342ebfa86dabfb5f6c11f3703302003429fd8f9d9c291da829b7f370328200342d1859aeffacf9487d100370320200342f1edf4f8a5a7fda7a57f370318200342abf0d3f4afeebcb73c370310200342bbceaaa6d8d0ebb3bb7f370308200342c892f795ffccf984ea00370300200341c0006a410041880110fa978080001a200341cb006a41002800d1d4cc8000360000200341073a00c801200341002800ced4cc800036024802400240200241fa00490d00200341cf006a200141f90010f4978080001a20034280013703402003200341c8006a22044200420010cf80808000200141f9006a2201200241877f6a2202410776200241ff00712202456b22054107746a2106200241800120021b210702402005450d00200541077421020340200320032903404280017c370340200320014200420010cf8080800020014180016a2101200241807f6a22020d000b0b20042006200710f4978080001a0c010b200341cf006a2001200210f4978080001a200241076a21070b200320073a00c801200341d0016a200341d00110f4978080001a200320032903900220032d0098032201ad7c3703900220034198026a210202402001418001460d00200220016a410041800120016b10fa978080001a0b200341003a009803200341d0016a2002427f420010cf80808000200341e0036a41086a2201200341d0016a41086a290300370300200341e0036a41106a2202200341d0016a41106a290300370300200341e0036a41186a2207200341d0016a41186a290300370300200341e0036a41206a220520032903f001370300200341e0036a41286a2204200341d0016a41286a290300370300200341e0036a41306a2206200341d0016a41306a290300370300200341e0036a41386a2208200341d0016a41386a290300370300200320032903d0013703e003200341a0036a41086a22092001290300370300200341a0036a41106a220a2002290300370300200341a0036a41186a22022007290300370300200341a0036a41206a22072005290300370300200341a0036a41286a22052004290300370300200341a0036a41306a22042006290300370300200341a0036a41386a22062008290300370300200320032903e0033703a00341002d008083d480001a024041c00041002802f482d480001182808080000022010d00410141c00041a0d2cc800010b980808000000b200120032903a003370000200041c00036020820002001360204200041c0003602002001417e6a41003b0000200141086a2009290300370000200141106a200a290300370000200141186a2002290300370000200141206a2007290300370000200141286a2005290300370000200141306a2004290300370000200141386a2006290300370000200341e0046a2480808080000ba10701067f23808080800041d0006b220224808080800041002d008083d480001a41002802f482d480002103024002400240024041002f019480d48000220441ffff00712205413f4b0d0041012106410120031182808080000022030d014101410110ab80808000000b4102210641022003118280808000002203450d012003417e6a41003b0000200320044106742005410876723a00012003200441fc017141027641c000723a00000c020b200320043a00002003417e6a41003b00000c010b4101410210ab80808000000b200220063602402002200336023c20022006360238200241386a200641204101410110ae93808000200228023c2206200228024022046a22032000290000370000200341086a200041086a290000370000200341106a200041106a290000370000200341186a200041186a2900003700002002200441206a2203360240200241286a2006200310b19380800002402002280230220441014b0d00410220044184d3cc8000109181808000000b200228022c210402402002280238220720036b41014b0d00200241386a200341024101410110ae9380800020022802382107200228023c2106200228024021030b200620036a20042f00003b00002002200341026a22053602402002410036021820024280808080103702102002200536024c200220063602482002200241106a360244200241086a200241c4006a200341036a41017620056a200241c8006a4194d3cc800010c8938080002002280208210302402007450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b0240024020034101710d0020022802182106200228021421032002280210210502402002280228450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2002412036024c2002200036024802400240200641084b0d0020064108460d010c030b20032c00084140480d020b2002410836023c2002200336023820024103360214200241f0d4cc80003602102002420237021c200241ff84808000ad422086200241386aad843703302002418085808000ad422086200241c8006aad843703282002200241286a36021820012802002001280204200241106a10b181808000210002402005450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a24808080800020000f0b41f4dbcc8000412b200241c8006a41e4dbcc800041a0dccc800010a981808000000b200320064100410841d8d4cc800010c381808000000b900603087f027e027f23808080800041306b22032480808080002003410c6a2001200210af9380800020032802202101200328021c210420032802182102200328021421052003280210210602400240200328020c2207418080808078470d0020002001360214200020043602102000200236020c200020053602082000200636020420004180808080783602000c010b41002108024002400240200441c50020021b22094100480d0020032802242108024020090d00410121040c030b41002d008083d480001a200941002802f482d480001182808080000022040d01410121080b20082009419c88cc800010b980808000000b2004417e6a41003b00000b200420024188d5cc800020021b200910f497808000210a0240024020010d0041808080807821080c010b4100210202400240024020084100480d00024020080d00410121020c030b41002d008083d480001a200841002802f482d480001182808080000022020d01410121020b20022008419c88cc800010b980808000000b2002417e6a41003b00000b2008ad42208620022001200810f497808000ad84210b0b2005ad42217e220ca7210241002101024002400240200c422088a70d004100210d20024100480d00024020020d004101210e0c030b41002d008083d480001a200241002802f482d4800011828080800000220e0d01410121010b2001200241ccd6cc800010b980808000000b200e417e6a41003b00002005210d0b02402005450d0020062101200e21022005210403402003410c6a200110b093808000200241206a2003410c6a41206a2d00003a0000200241186a2003410c6a41186a290000370000200241106a2003410c6a41106a290000370000200241086a2003410c6a41086a2900003700002002200329000c370000200241216a2102200141086a21012004417f6a22040d000b0b2000200b37021c20002008360218200020053602142000200e3602102000200d36020c200020093602082000200a360204200020093602002007450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200341306a2480808080000bc20403057f017e027f23808080800041d0006b2201248080808000200141286a41dcd6cc8000410b41e7d6cc8000410f4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a4190d9cc800010cc93808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a4180dacc800010b5928080002001280214220842bbeefa98e893a7ad023703002008420437022c20084208370224200841b4dacc8000360220200841003602182008418185808000360210200842eef8e7b09dc4b6b53f3703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a4190d9cc800010cd9380800002402007418080808078470d004190dacc8000411141a4dacc800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41e0e0cc800010cc93808000200141106a410b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bc10403057f017e027f23808080800041d0006b2201248080808000200141286a41f6d6cc8000410941e7d6cc8000410f4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a4190d9cc800010cc93808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a4180dacc800010b5928080002001280214220842a691cddcd9a0e28da77f3703002008420437022c20084207370224200841bcdacc8000360220200841003602182008418285808000360210200842fb8491aeb8cedab7ba7f3703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a4190d9cc800010cd9380800002402007418080808078470d004190dacc8000411141a4dacc800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41e0e0cc800010cc938080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141e0e0cc800010cc938080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004120360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141e0e0cc800010cc938080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004104360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bbf0401047f2380808080004190026b220424808080800020044190d7cc8000411410e891808000200441a4d7cc8000410a2003410010e991808000024020022d00004101470d0020044188026a200241196a29000037030020044180026a200241116a290000370300200441f8016a200241096a290000370300200420022900013703f001200441aed7cc8000410a200441f0016a412010e9918080000b200441f0016a41186a2202200141186a290000370300200441f0016a41106a2203200141106a290000370300200441f0016a41086a2205200141086a290000370300200420012900003703f001200441b8d7cc8000410a200441f0016a412010e991808000200441d0016a41186a22014200370300200441d0016a41106a22064200370300200441d0016a41086a22074200370300200442003703d001200441c2d7cc80004109200441d0016a412010ea91808000200242003703002003420037030020054200370300200442003703f001200441cbd7cc8000410e200441f0016a412010ea91808000200041186a2001290300370000200041106a2006290300370000200041086a2007290300370000200020042903d001370000200020042903f001370020200041286a2005290300370000200041306a2003290300370000200041386a2002290300370000410021010340200420016a220041003a0000200041016a41003a0000200041026a41003a0000200041036a41003a0000200041046a41003a0000200141056a220141c801470d000b20044190026a2480808080000b970403037f017e047f23808080800041306b220224808080800020002802002103024002400240024020002802042204418308490d00418485808000ad4220862002410c6aad8421052001280204210620012802002101410021004101210703402002200320006a36020c20024101360224200241e4d7cc800036022020024101360214200241dcd7cc80003602102002410136021c200220053703282002200241286a36021820012006200241106a10b1818080000d04200041016a2200418004470d000b200141d9d7cc80004103200628020c118080808000000d03200320046a220841807c6a22030d01410021070c030b20040d01410021070c020b200841817c6a21040340200421002002200336020c20024101360224200241e4d7cc800036022020024101360214200241dcd7cc80003602102002410136021c200220053703282002200241286a36021820012006200241106a10b18180800022070d022000450d022000200020084722096a21042000210320090d000c020b0b418485808000ad4220862002410c6aad842105200128020421002001280200210603402002200336020c20024101360224200241e4d7cc800036022020024101360214200241dcd7cc80003602102002410136021c200220053703282002200241286a36021820062000200241106a10b18180800022070d01200341016a21032004417f6a22040d000b0b200241306a24808080800020070bc30403057f017e027f23808080800041d0006b2201248080808000200141286a41fcd7cc8000410e418ad8cc800041074104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a4190d9cc800010cc93808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a4180dacc800010b5928080002001280214220842aceff0b4f2bd8f8fe4003703002008420437022c20084207370224200841c3dacc800036022020084100360218200841858580800036021020084296e397c6bfa5aeee463703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a4190d9cc800010cd9380800002402007418080808078470d004190dacc8000411141a4dacc800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41e0e0cc800010cc938080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000b800601087f024002402002450d00200120026a2106200341016a210741002108200121090240034002400240200820044b0d0020092d0000210a0240024020080d00200a210b0c010b0240024020084101710d00200a210b2003210a0c010b2003200a20032d0000410874200a72413a6e220b413a6c6b3a00002007210a0b20084101460d00200320086a210c0340200a200a2d000041ff0171410874200b6a220b200b413a6e220b413a6c6b3a0000200a41016a220d200d2d0000410874200b6a220b200b413a6e220b413a6c6b3a0000200a41026a220a200c470d000b0b200b450d01034020042008460d04200320086a200b200b413a6e220a413a6c6b3a0000200841016a2108200b413a49210d200a210b200d0d020c000b0b2008200441d4dbcc8000109181808000000b200941016a22092006470d000b20082004200820044b1b210b0240034020012d00000d0120042008460d020240200b2008460d00200141016a2101200320086a41003a0000200841016a21082002417f6a22020d010c020b0b200b200441c4dbcc8000108281808000000b0240200820044b0d002008450d02200320086a210120054180016a21044100210b024003402003200b6a220d2d0000220a413a4f0d01200d2004200a6a2d00003a00002008200b41016a220b470d000b4101210b024020084101470d004100210a0c050b4100210a4100210b0240200841017622044101460d002008417f6a210d200441feffffff077121024100210b03402003200d6a220c2d00002109200c2003200b6a22042d00003a0000200420093a00002001200b417e736a220c2d00002109200c200441016a22042d00003a0000200420093a0000200d417e6a210d2002200b41026a220b470d000b0b02402008410271450d002003200b6a220d2d00002103200d2001200b417f736a220b2d00003a0000200b20033a00000b2008210b0c040b200a413a41b4dbcc8000108281808000000b2008200441a4dbcc8000109181808000000b4101210a0c010b4100210b4100210a0b2000200b3602042000200a3602000b1e00200128020041b0dccc8000410e200128020428020c118080808000000b900201037f23808080800041206b220324808080800041002104024002400240200241046a22054100480d00024020050d00410121040c030b41002d008083d480001a200541002802f482d480001182808080000022040d01410121040b2004200541a8ddcc800010b980808000000b2004417e6a41003b00000b20034100360214200320043602102003200536020c200320023602182003200341186a36021c2003411c6a2003410c6a10bb9380800002402002200328020c200328021422056b4d0d002003410c6a2005200210f491808000200328021421050b200328021020056a2001200210f4978080001a200041086a200520026a3602002000200329020c370200200341206a2480808080000bc70301047f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff0171410174220541a1f1c180006a2d00003a00022002200541a0f1c180006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe017141a1f1c180006a2d00003a00000b2001410141014100200220036a410320036b10b28180800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000b950201027f23808080800041106b220224808080800020022000280200220041046a360204200128020041e8ddcc80004109200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41f1ddcc8000410b200041c8ddcc8000108a818080001a200241086a41fcddcc80004109200241046a41d8ddcc8000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bf10201047f23808080800041306b22022480808080004101210302400240200028020022002d00004101470d002002200041016a36020c2001280200220041b3decc800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d032002410c6a200110bf938080000d0320012802002100200128020428020c21050c010b200041e080c2800041022005118080808000000d0241012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10bf938080000d02200228022041da80c280004102200228022428020c118080808000000d020b200041e280c28000410120051180808080000021030c010b200128020041afdecc80004104200128020428020c1180808080000021030b200241306a24808080800020030b140020012000280200200028020410b4818080000b940101037f2380808080004180016b220224808080800020002802002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b281808000210020024180016a24808080800020000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0bec0402047f047e23808080800041a0026b2202248080808000410021030240024002402000280204220441046a22054100480d0020002802002103024020050d00410121000c030b41002d008083d480001a200541002802f482d480001182808080000022000d01410121030b2003200541a8ddcc800010b980808000000b2000417e6a41003b00000b200241003602702002200036026c200220053602682002200436020020022002360224200241246a200241e8006a10bb93808000024020042002280268200228027022006b4d0d00200241e8006a2000200410f491808000200228027021000b200228026c20006a2003200410f4978080001a200228026c2105200228026821030240024002400240200020046a220441204b0d0020012005200410f4978080001a0c010b200241003a009502200241e8006a410041a00110fa978080001a2002410036029002200241013a009a022002418102360196022002420037038802200241203a009402200241246a200241e8006a2005200410d09380800020022d0064220441c1004f0d0120044120470d02200241186a200241246a41186a2900002206370300200241106a200241246a41106a2900002207370300200241086a200241246a41086a2900002208370300200220022900242209370300200141186a2006370000200141106a2007370000200141086a2008370000200120093700000b02402003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241a0026a2480808080000f0b200441c0004190e9c18000109181808000000b4181e2cc80004124200241e0e1cc80004180e3cc800010a981808000000b830302037f017e23808080800041306b2205248080808000200541106a41086a2001280200220141086a220628020036020020064100360200200520012902003703102001428080808010370200200541086a200541106a20022003200410cf93808000410121040240024002402005280208410171450d00024020052802100d000c020b200528021422012001417e6a2f00006b41002802ec82d48000118180808000000c010b200528020c2103200528021021042005411c6a200528021422022005280218220610f680808000200528021c4101460d0102402001280200450d00200128020422072007417e6a2f00006b41002802ec82d48000118180808000000b200120063602082001200236020420012004360200410021040b2000200336020420002004360200200541306a2480808080000f0b2005200529022022084220883e022c200520083e022820052006360224200520023602202005200436021c41c8decc8000412b2005411c6a41b8decc800041d0dfcc800010a981808000000b900201027f23808080800041106b220224808080800020022000410c6a36020420012802004198decc8000410d200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41a5decc8000410520004188decc8000108a818080001a200241086a41aadecc80004105200241046a41b8ddcc8000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bc30801087f23808080800041c0026b220324808080800002400240024020024120460d00200241c000460d0120004281808080f0003702000c020b200341026a2202200141026a2d00003a00002003410f6a22042001410f6a2900003700002003411f6a22052001411f6a2d00003a0000200320012f00003b0100200320012800033600032003200129000737000720032001290017370017200341e0006a2003410110d592808000200341a0016a41c0c7c88000200341e0006a10ba90808000200041c4006a200341a0016a10bb90808000200041e4006a200341a0016a41a00110f4978080001a2000413c6a20034198016a290000370000200041346a20034190016a2900003700002000412c6a20034188016a290000370000200041246a200341e0006a41206a2900003700002000411c6a200341f8006a290000370000200041146a200341f0006a2900003700002000410c6a200341e8006a2900003700002000200329006037000420004100360200200341003a0000200341003a0001200241003a0000200341003a0003200341003a0004200341003a0005200341003a0006200341003a0007200341003a0008200341003a0009200341003a000a200341003a000b200341003a000c200341003a000d200341003a000e200441003a0000200341003a0010200341003a0011200341003a0012200341003a0013200341003a0014200341003a0015200341003a0016200341003a0017200341003a0018200341003a0019200341003a001a200341003a001b200341003a001c200341003a001d200341003a001e200541003a00000c010b200341a0016a200110db92808000024020032d00a0010d0020004281808080e0003702000c010b200341226a200341a3016a2d00003a0000200341e0006a41086a2202200341a0016a41106a290000370300200341046a2204200341a0016a41206a2d00003a0000200320032f00a1013b0120200320032900a801370360200320032800bc0136020020032800b801210520032800a4012106200341206a41386a2207200141386a290000370100200341206a41306a2208200141306a290000370100200341206a41286a2209200141286a290000370100200341206a41206a220a2001290020370100200320063600232003412f6a200229030037000020032003290360370027200320053600372003413f6a20042d00003a00002003200328020036003b200341a0016a41c0c7c88000200341206a10ba90808000200041c4006a200341a0016a10bb90808000200041e4006a200341a0016a41a00110f4978080001a2000413c6a2007290100370000200041346a20082901003700002000412c6a2009290100370000200041246a200a2901003700002000411c6a200341386a290100370000200041146a200341206a41106a2901003700002000410c6a200341206a41086a29010037000020002003290120370004200041003602000b200341c0026a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010ae938080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810ae938080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000be90101067f23808080800041106b22022480808080002000280208210320002802042100410121042001280200220541e580c280004101200128020428020c2206118080808000002107200241003a0009200220073a0008200220013602040240024002402003450d0003402002200036020c200241046a2002410c6a4180d7cc8000108b818080001a200041016a21002003417f6a22030d000b4101210420022d00084101710d02200228020422002802002105200028020428020c21060c010b20070d010b200541e680c28000410120061180808080000021040b200241106a24808080800020040ba30201057f23808080800041106b220524808080800002402001280208220620026a220720064d0d002006210702402002200128020020066b4d0d002001200620024101410110ae93808000200128020821070b2001280204220820076a2109024020024102490d00200941002002417f6a220210fa978080001a2008200720026a22076a21090b200941003a0000200741016a21070b20012007360208024020072006490d00200541086a20032802002003280204200128020420066a200720066b200410bc9380800041012102024020052802084101710d0041002102200528020c220320066a220620074b0d00200120063602080b2000200336020420002002360200200541106a2480808080000f0b2006200741cce1cc8000109281808000000ba20807017f017e017f037e017f067e077f23808080800041a0026b220424808080800002400240024020013100ad0122054200520d00200442f1edf4f8a5a7fda7a57f370318200420012903980142f9c2f89b91a3b3f0db0085370338200420012903900142ebfa86dabfb5f6c11f853703302004200129038801429fd8f9d9c291da829b7f85370328200420012903800142d1859aeffacf9487d10085370320200420013301b00142abf0d3f4afeebcb73c85370310200420012903a00142bbceaaa6d8d0ebb3bb7f85370308200420013100ae0142108620012d00ac012206ad42ff01838420013100af014218868420013502a80142208684428892f39dffccf984ea00853703002002200320044200420020012d00b2014100410010d080808000200020063a004020002004290338370038200020042903303700302000200429032837002820002004290320370020200020042903183700182000200429031037001020002004290308370008200020042903003700000c010b20013502a801210720013100af01210820013100ae01210920012d00ac01210620012d00b201210a20012903a001210b20013301b001210c200129038001210d200129038801210e200129039001210f20012903980121102004200141800110f497808000220141b8016a2211201042f9c2f89b91a3b3f0db0085370300200141b0016a2212200f42ebfa86dabfb5f6c11f85370300200141a8016a2213200e429fd8f9d9c291da829b7f85370300200141a0016a2214200d42d1859aeffacf9487d1008537030020014198016a221542f1edf4f8a5a7fda7a57f37030020014190016a2216200c42abf0d3f4afeebcb73c8537030020014188016a2217200b42bbceaaa6d8d0ebb3bb7f85370300200142003703c801200142003703c001200141013a00d3012001200a3a00d201200120063a00d10120014180013a00d001200120054208862006ad42ff018384200942108684200842188684200742208684428892f39dffccf984ea00853703800120012002200310d180808000210220014198026a201129030037030020014190026a201229030037030020014188026a201329030037030020014180026a2014290300370300200141f8016a2015290300370300200141f0016a2016290300370300200141e8016a201729030037030020012001290380013703e00120012d00d00122034181014f0d0120022003200141e0016a20012903c00120012903c80120012d00d2014100410010d080808000200020012d00d1013a00402000200129039802370038200020012903900237003020002001290388023700282000200129038002370020200020012903f801370018200020012903f001370010200020012903e801370008200020012903e0013700000b200441a0026a2480808080000f0b20034180014180e9c18000109181808000000bb80201057f23808080800041206b22022480808080004101210302402001280200220441f0e1cc800041112001280204220528020c2206118080808000000d000240024020012d000a418001710d0041012103200441df80c2800041012006118080808000000d02200141dce1cc8000410210b4818080000d0220012802002104200128020428020c21060c010b200441e080c2800041022006118080808000000d0141012103200241013a000f2002200536020420022004360200200241b480c280003602142002200129020837021820022002410f6a36020820022002360210200241106a41dce1cc8000410210b4818080000d01200228021041da80c280004102200228021428020c118080808000000d010b200441e280c28000410120061180808080000021030b200241206a24808080800020030b4101017f024020002802002200417f460d0020002000280204417f6a220136020420010d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0b100020004204370208200042003702000bb40403037f017e027f23808080800041306b2201248080808000200141246a41a4e4cc8000410810c3928080002001410036022020014280808080c00037021841002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241908580800036023820024296e397c6bfa5aeee46370330200242aceff0b4f2bd8f8fe40037032820024101360224200241ade4cc80003602202002419185808000360218200242d687ccb79492eaa48f7f370310200242dec098f1dab59facaa7f37030820024101360204200241ace4cc80003602002002417e6a20033b0000200141086a200141186a220341086a2802003602002001200329020037030020012902282104200128022421052001410036021420014280808080800137020c2001410c6a41f0e3cc800010b5928080002001280210220342f4fae7f4a795a794ea003703002003410036023020034280808080c00037032820034100360220200341003602182003419285808000360210200342bffcb5cbdba18d9c3b3703082005418080808078460d01200128020c2106200020012903003702502000410236024c20002002360248200041023602442000200437023c200020053602382000410136020c2000200336020820002006360204200041003a0000200041d8006a200141086a280200360200200141306a2480808080000f0b410841c00010ab80808000000b4180e4cc800041114194e4cc800010a181808000000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419385808000360218200042de928bc5e9c09bf3f300370310200042f090dafacb8ae7c2f500370308200041023a00000bf50101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a22014190858080003602282001419185808000360210200142d687ccb79492eaa48f7f370308200142dec098f1dab59facaa7f37030020014296e397c6bfa5aeee46370320200142aceff0b4f2bd8f8fe400370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0b6700200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004108360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a00000bed0203027f017e037f23808080800041306b2201248080808000200141246a41fce4cc8000410c4188e5cc8000410c4104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41f0e3cc800010b5928080002001280210220542c2cc86d680f0aa9b7d3703002005420437022c20054225370224200541b2e4cc80003602202005410436021c200541aee4cc80003602182005419485808000360210200542e9f4bb85e4c495cfba7f37030802402004418080808078470d004180e4cc800041114194e4cc800010a181808000000b200128020c210520012802102106200020012903003702502000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200636020820002005360204200041003a0000200041d8006a2002280200360200200141306a2480808080000bb10504027f017e037f017e23808080800041d0006b2201248080808000200141306a4194e5cc800041144188e5cc8000410c4104410010c292808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a22044100360200200142808080808001370218200141186a41f0e3cc800010b592808000200128021c220542febac4ad81b6fafcb37f37030820054298848fa1dab08ba174370300200141c0006a41086a220641013602002005420437022c20054204370224200541dbe4cc80003602202005410436021c200541d7e4cc8000360218200541e980808000360210200120012902183703400240200628020022062001280240470d00200141c0006a41f0e3cc800010b5928080000b2001280244200641386c6a2205420437022c20054204370224200541dbe4cc80003602202005410b36021c200541dfe4cc8000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba1743703002004200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41f0e3cc800010b5928080000b200128021c200641386c6a2205420437022c2005420c370224200541f0e4cc80003602202005410636021c200541eae4cc8000360218200541cf8180800036021020054299a499cca1fa87eb73370308200542a8b2cff08de2a4964a37030002402002418080808078470d004180e4cc800041114194e4cc800010a181808000000b200128021c210520012802182104200020012903083702502000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041003a00002000200641016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000bd10303047f017e077f23808080800041206b22032480808080000240024020012802082204200128021022056b2002490d0002400240024020020d0041002106420121070c010b200128020421084180800121094100210a4101210b4100210603402002200920022009491b220c200a6a21090240200c2006200a6b4d0d004100210d0240024020094100480d004100210d02402006450d002003200636021c2003200b3602144101210d0b2003200d360218200341086a41012009200341146a10e49380800020032802084101470d012003280210210e200328020c210d0b200d200e4190e6cc800010b980808000000b200328020c210b200921060b02400240200c200420056b4b0d002005200c6a220d2005490d04200d20044d0d01200d2004418486cb8000109181808000000b2006450d04200b200b417e6a2f00006b41002802ec82d48000118180808000000c040b200b200a6a200820056a200c10f4978080001a2001200d360210200d21052009210a2002200c6b22020d000b2006418080808078460d022009ad422086200bad8421070b20002007370204200020063602000c020b2005200d418486cb8000109581808000000b20004180808080783602000b200341206a2480808080000bb70301057f23808080800041d0006b220224808080800002400240024002402001428080808010540d004100210320024100360228200220014220883e022020022001a7220436021c41012105200220042004410172200441017122061b360224200241e8ecc1800041d4ecc1800020061b36021820024101360228200241246a210620042d00000e020201030b200242003702242002420137021c200241c0e8cc8000360218200241246a2106410121050c020b200241386a200241186a10f5918080000240200228023822030d000c020b200241106a200241c4006a2802003602002002200229023c3703080b410021050b2006200228021c200228022020022802182802101186808080000002402005450d002002410236021c200241d8e9cc80003602182002420237022420024129360234200241d4e8cc80003602302002418a84808000ad422086200241cf006aad843703402002419585808000ad422086200241306aad843703382002200241386a360220200241186a41e8e9cc800010fe80808000000b20002003360200200020022903083702042000410c6a200241106a280200360200200241d0006a2480808080000ba60301057f23808080800041e0006b22022480808080000240024020014280808080105a0d0041c0e8cc800021034101210441002105410021060c010b2001422088a7210641e8ecc18000210302402001a72204410171450d00200421050c010b2004410172210541d4ecc1800021030b2002410036023820022005360234200220063602302002200436022c20022003360228200241066a200241286a10e693808000200241346a200228022c2002280230200228022828021011868080800000024020022d00064102470d002002410236022c200241d8e9cc80003602282002420237023420024137360258200241f8e9cc80003602542002418a84808000ad422086200241df006aad843703482002419585808000ad422086200241d4006aad843703402002200241c0006a360230200241286a41e8e9cc800010fe80808000000b20002002290006370000200041206a200241066a41206a2f00003b0000200041186a200241066a41186a290000370000200041106a200241066a41106a290000370000200041086a200241066a41086a290000370000200241e0006a2480808080000bf00201057f23808080800041d0006b22022480808080000240024020014280808080105a0d0041c0e8cc800021034101210441002105410021060c010b2001422088a7210641e8ecc18000210302402001a72204410171450d00200421050c010b2004410172210541d4ecc1800021030b2002410036022820022005360224200220063602202002200436021c200220033602182002410c6a200241186a108494808000200241246a200228021c20022802202002280218280210118680808000000240200228020c418180808078470d002002410236021c200241d8e9cc80003602182002420237022420024129360248200241afeacc80003602442002418a84808000ad422086200241cf006aad843703382002419585808000ad422086200241c4006aad843703302002200241306a360220200241186a41e8e9cc800010fe80808000000b2000200229020c370200200041086a2002410c6a41086a280200360200200241d0006a2480808080000be30201057f23808080800041c0006b22022480808080000240024020014280808080105a0d0041c0e8cc800021034101210441002105410021060c010b2001422088a7210641e8ecc18000210302402001a72204410171450d00200421050c010b2004410172210541d4ecc1800021030b2002410036021820022005360214200220063602102002200436020c200220033602082002200241086a1083948080002002280204210320022802002104200241146a200228020c2002280210200228020828021011868080800000024020044102470d002002410236020c200241d8e9cc80003602082002420237021420024119360238200241d8eacc80003602342002418a84808000ad4220862002413f6aad843703282002419585808000ad422086200241346aad843703202002200241206a360210200241086a41e8e9cc800010fe80808000000b2000200436020020002003360204200241c0006a2480808080000be30201057f23808080800041c0006b22022480808080000240024020014280808080105a0d0041c0e8cc800021034101210441002105410021060c010b2001422088a7210641e8ecc18000210302402001a72204410171450d00200421050c010b2004410172210541d4ecc1800021030b2002410036021820022005360214200220063602102002200436020c200220033602082002200241086a108b948080002002280204210320022802002104200241146a200228020c2002280210200228020828021011868080800000024020044102470d002002410236020c200241d8e9cc80003602082002420237021420024118360238200241f1eacc80003602342002418a84808000ad4220862002413f6aad843703282002419585808000ad422086200241346aad843703202002200241206a360210200241086a41e8e9cc800010fe80808000000b2000200436020020002003360204200241c0006a2480808080000b02000b22002000410036020c2000200336020820002002360204200041c0e8cc80003602000b040041000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42187e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441186c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10e49380800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0301047f0240024002400240024002402001280208220220012802102203460d00200341016a2204450d02200220044f0d0120042002418486cb8000109181808000000b200041023a00000f0b2001280204210520012004360210024002400240024002400240200520036a2d00000e020102000b200041023a00000f0b200220046b4121490d01200341226a21032004415e4b0d05200320024d0d0220032002418486cb8000109181808000000b024020022004460d00200341026a21032004417f460d06200320024b0d0720012003360210200520046a2d000022014103490d030b200041023a00000f0b200041023a00000f0b20012003360210200041003a00002000200520046a2201290000370001200041096a200141086a290000370000200041116a200141106a290000370000200041196a200141186a290000370000200041216a200141206a2d00003a00000f0b200020013a0001200041013a00000f0b417f2004418486cb8000109581808000000b20042003418486cb8000109581808000000b417f2003418486cb8000109581808000000b20032002418486cb8000109181808000000b190020002002ad4220862001ad8420031081808080004101460b140020002001200210828080800010dd938080000ba90201027f23808080800041206b220324808080800020032001360204200341086a41086a200241086a28020036020020032002290200370308200341146a200341086a10829480800020032802142104200341046a200335021c42208620032802182201ad84108380808000210202402004450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b20002002290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a29000037000020022002417e6a2f00006b41002802ec82d48000118180808000000240200328020841808080807872418080808078460d00200328020c22022002417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000b190020002002ad4220862001ad8420031084808080004101460b870401067f024002402001280208220220012802102203460d00024002400240024002400240200341016a2204450d0020022004490d0120012802042105200120043602100240024002400240024002400240200520036a2d000022064103710e0400010203000b20064102762106410021070c0d0b41012107024020022004470d000c0d0b200341026a21032004417f460d07200320024d0d0220032002418486cb8000109181808000000b200220046b4103490d0a200341046a21032004417c4b0d07200320024d0d0220032002418486cb8000109181808000000b4101210720064104490d020c0a0b200120033602100240200520046a2d000022010d000c0a0b20014108742006724102762106410021070c090b20012003360210200520046a22012f0000200141026a2d0000411074722201418002492107200141087420067241027621060c080b200220046b4104490d07200341056a21032004417b4b0d04200320024b0d0520012003360210200520046a28000022064180808080044921070c070b417f2004418486cb8000109581808000000b20042002418486cb8000109181808000000b417f2003418486cb8000109581808000000b20042003418486cb8000109581808000000b20042003418486cb8000109581808000000b20032002418486cb8000109181808000000b410121070b20002006360204200020073602000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000bf30201057f23808080800041206b2202248080808000410021030240024020012802082204410c6c220541046a22064100480d002001280204210341002d008083d480001a200641002802f482d480001182808080000022010d01410121030b2003200641f0ebcc800010b980808000000b200220013602102001417e6a41003b0000200241003602142002200636020c200220043602182002200241186a36021c2002411c6a2002410c6a10ec9380800002402004450d00200341086a210103402001417c6a28020021032002200128020022063602182002200241186a36021c2002411c6a2002410c6a10ec9380800002402006200228020c200228021422046b4d0d002002410c6a2004200610f491808000200228021421040b200228021020046a2003200610f4978080001a2002200420066a3602142001410c6a2101200541746a22050d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b1c002001ad4220862000ad842003ad4220862002ad841085808080000bf80102047f017e23808080800041106b22072480808080004100210841002d008083d480001a024041054101200541017122091b220a41002802f482d48000118280808000002205450d002005417e6a220a41003b0000428080808010210b02402009450d00200520063600014280808080d000210b410121080b200520083a00002002ad4220862001ad842004ad4220862003ad84200b2005ad84108680808000210b2005200a2f00006b41002802ec82d4800011818080800000200741086a200b10e093808000200728020c21052000200728020836020020002005360204200741106a2480808080000f0b4101200a10ab80808000000b1f002001ad4220862000ad842003ad4220862002ad841087808080004101460b240020002002ad4220862001ad842004ad4220862003ad8410888080800010de938080000b240020002002ad4220862001ad842004ad4220862003ad8410898080800010de938080000b6901017f23808080800041106b2208248080808000200841086a2002ad4220862001ad842004ad4220862003ad842006ad4220862005ad842007108a8080800010df93808000200828020c21062000200828020836020020002006360204200841106a2480808080000b4501017e200041012002ad4220862001ad842003108b808080002204a720044280808080105422021b360204200041002004422088a720021b2202360208200020023602000b26002001ad4220862000ad842003ad4220862002ad842005ad4220862004ad84108c808080000bee0102047f017e23808080800041106b22052480808080004100210641002d008083d480001a024041054101200341017122071b220841002802f482d48000118280808000002203450d002003417e6a220841003b0000428080808010210902402007450d00200320043600014280808080d0002109410121060b200320063a00002002ad4220862001ad8420092003ad84108d808080002109200320082f00006b41002802ec82d4800011818080800000200541086a200910e093808000200528020c21032000200528020836020020002003360204200541106a2480808080000f0b4101200810ab80808000000b12002001ad4220862000ad84108e808080000b12002001ad4220862000ad84108f808080000b1a0020002002ad4220862001ad8410908080800010de938080000b470020002002ad4220862001ad841091808080002202290000370000200041086a200241086a29000037000020022002417e6a2f00006b41002802ec82d48000118180808000000b670020002002ad4220862001ad841092808080002202290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a29000037000020022002417e6a2f00006b41002802ec82d48000118180808000000b670020002002ad4220862001ad841093808080002202290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a29000037000020022002417e6a2f00006b41002802ec82d48000118180808000000b470020002002ad4220862001ad841094808080002202290000370000200041086a200241086a29000037000020022002417e6a2f00006b41002802ec82d48000118180808000000b670020002002ad4220862001ad841095808080002202290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a29000037000020022002417e6a2f00006b41002802ec82d48000118180808000000b370020002002ad4220862001ad84109680808000220229000037000020022002417e6a2f00006b41002802ec82d48000118180808000000b12002001ad4220862000ad841097808080000b1c002001ad4220862000ad842003ad4220862002ad841098808080000bb30301057f23808080800041206b220224808080800041002103024002400240024002400240024041012001280208220441056a20012802002205418080808078461b22064100480d002006450d0141002d008083d480001a200641002802f482d480001182808080000022030d02410121030b2003200641e8eccc800010b980808000000b20024100360214200242808080801037020c2002410c6a4100410110f49180800020022802102103200228021421062005418080808078470d010c030b2003417e6a41003b0000200220033602102002200636020c2005418080808078460d01410021060b200320066a41013a00002002200641016a36021420012802042103200220043602182002200241186a36021c2002411c6a2002410c6a10ec9380800002402004200228020c200228021422066b4d0d002002410c6a2006200410f491808000200228021421060b200228021020066a2003200410f4978080001a2002200620046a3602140c020b410021060b200320066a41003a00002002200641016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000bec0101067f410221020240024002400240024002402001280208220320012802102204470d000c010b200441016a2205450d0120032005490d02200128020421062001200536021002400240200620046a2d00000e020001020b410021020c010b200320056b4104490d00200441056a21072005417b4b0d03200720034b0d0420012007360210200620056a2800002107410121020b20002007360204200020023602000f0b417f2005418486cb8000109581808000000b20052003418486cb8000109181808000000b20052007418486cb8000109581808000000b20072003418486cb8000109181808000000b860201047f23808080800041206b220224808080800002400240024002402001280208220320012802102204460d00200441016a2205450d02200520034b0d032001280204210320012005360210024002400240200320046a2d00000e020102000b20004181808080783602000c030b20004180808080783602000c020b200241086a200110eb9380800020022802084101710d00200241146a2001200228020c10db9380800020022802142201418080808078460d0020002002290218370204200020013602000c010b20004181808080783602000b200241206a2480808080000f0b417f2005418486cb8000109581808000000b20052003418486cb8000109181808000000b2200200041ff01712002ad4220862001ad842004ad4220862003ad841099808080000bdb0102027f017e23808080800041d0006b22002480808080000240109a80808000220141ff01714106490d002000410236023c200041a4e8cc800036023820004103360244200041a6e8cc80003602402000410436020c20004194e7cc8000360208200042033702142000419585808000ad4220862202200041c8006aad8437033020002002200041c0006aad8437032820002002200041386aad843703202000411736024c200041a9e8cc80003602482000200041206a360210200041086a4194e8cc800010fe80808000000b200041d0006a24808080800020010b140020012000280200200028020410b4818080000b0f002000280200200110a2818080000bdb0101027f200128020c21020240024002400240024020012802040e020001020b20020d014101210341002101410121020c030b2002450d010b2000200110b2808080000f0b41002103024002402001280200220228020422014100480d0020022802002103024020010d0041012102410021010c030b41002d008083d480001a200141002802f482d480001182808080000022020d01410121030b2003200141a0efcc800010b980808000000b2002417e6a41003b00000b20022003200110f49780800021022000200136020820002002360204200020013602000b870101017f23808080800041306b22012480808080002001200036020020014101360214200141b0efcc80003602102001420137021c200141b485808000ad4220862001ad843703282001200141286a360218200141046a200141106a108994808000410041b8efcc800041072001280208200128020c41002802fc81d4800011878080800000000bb70201067f41022102024002402001280208220320012802102204470d000c010b024002400240200441016a2205450d0020032005490d01200128020421062001200536021002400240200620046a2d00000e020001050b200320056b4104490d04200441056a2107024002402005417b4b0d00200720034b0d01410021020c050b20052007418486cb8000109581808000000b20072003418486cb8000109181808000000b200320056b4104490d03200441056a2107024002402005417b4b0d00200720034b0d01410121020c040b20052007418486cb8000109581808000000b20072003418486cb8000109181808000000b417f2005418486cb8000109581808000000b20052003418486cb8000109181808000000b20012007360210200620056a28000021070b20002007360204200020023602000b49002001ad4220862000ad84200235020842208620022802042201ad84109b8080800002402002280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b12002001ad4220862000ad84109c808080000bee0102047f017e23808080800041106b22052480808080004100210641002d008083d480001a024041054101200341017122071b220841002802f482d48000118280808000002203450d002003417e6a220841003b0000428080808010210902402007450d00200320043600014280808080d0002109410121060b200320063a00002002ad4220862001ad8420092003ad84109d808080002109200320082f00006b41002802ec82d4800011818080800000200541086a200910e093808000200528020c21032000200528020836020020002003360204200541106a2480808080000f0b4101200810ab80808000000b0800109e808080000b15002001ad4220862000ad84109f808080004101460b1a0020002002ad4220862001ad8410a08080800010dc938080000b1a0020002002ad4220862001ad8410a18080800010de938080000b5f01017f23808080800041106b2206248080808000200641086a2002ad4220862001ad842004ad4220862003ad84200510a28080800010df93808000200628020c21042000200628020836020020002004360204200641106a2480808080000b080010a3808080000b3b01017e20004101200110a4808080002202a720024280808080105422011b360204200041002002422088a720011b2201360208200020013602000b1c002001ad4220862000ad842003ad4220862002ad8410a5808080000b080010a6808080000bcf0301057f23808080800041106b2203248080808000200341046a200110ed9380800020032802042104200335020c42208620032802082205ad84200210a780808000210202402004450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002002290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a2900003700004100210020022002417e6a2f00006b41002802ec82d480001181808080000020012802042106024020012802082202450d0020024101712107024020024101460d002002417e7121042006210241002100034002402002280200450d00200241046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022004200041026a2200470d000b0b2007450d0020062000410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402001280200450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000b0a00200010a8808080000b0a00200010a9808080000bbb03010e7f23808080800041c0006b2106024020012802042207200128020c2208460d000340200741046a28020021092007280200210a200641286a41106a220b200741186a290300370300200641286a41086a220c200741106a2903003703002006200741086a290300370328200641186a41086a220d200741286a2802003602002006200741206a290300370318200641086a41086a220e200741346a28020036020020062007412c6a2902003703080240200741386a280200220f4102490d00200741c8006a2802002110200741c4006a2802002111200741c0006a28020021122007413c6a28020021130b2003200a360200200341046a2009360200200341086a2006290328370300200341206a20062903183703002003412c6a2006290308370200200341c8006a2010360200200341c4006a2011360200200341c0006a20123602002003413c6a2013360200200341386a200f360200200341106a200c290300370300200341186a200b290300370300200341286a200d280200360200200341346a200e280200360200200341d0006a2103200741d0006a22072008470d000b200120073602040b20002003360204200020023602000bf80701067f02402000280280012201418080808078460d00200028028401210202402000280288012203450d0020022104034002402004280200450d00200441046a280200450d00200441086a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200441dc006a280200450d00200441e0006a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200441e8006a280200450d00200441ec006a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200441f8006a21042003417f6a22030d000b0b2001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280210450d00200041186a10af948080000b20002802980121010240200028029c012203450d00200141d0006a210403400240200441706a280200450d00200441746a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402004417c6a280200450d00200428020022052005417e6a2f00006b41002802ec82d48000118180808000000b200441f0006a21042003417f6a22030d000b0b0240200028029401450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b02402000280238450d00200041c0006a10af948080000b20002802a4012101024020002802a8012203450d00200141306a210403400240200441706a280200450d00200441746a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402004417c6a280200450d00200428020022052005417e6a2f00006b41002802ec82d48000118180808000000b200441d0006a21042003417f6a22030d000b0b024020002802a001450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b02402000280260450d00200041e8006a10af948080000b20002802b0012102024020002802b4012205450d002005410171210641002103024020054101460d00200241d4006a21042005417e71210141002103034002402004414c6a280200450d00200441506a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402004417c6a280200450d00200428020022052005417e6a2f00006b41002802ec82d48000118180808000000b200441e0006a21042001200341026a2203470d000b0b2006450d002002200341306c6a2204280220450d00200441206a28020422042004417e6a2f00006b41002802ec82d48000118180808000000b024020002802ac01450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802b801450d0020002802bc0122042004417e6a2f00006b41002802ec82d48000118180808000000b0bb90201067f200028020c210120004280808080c0003702082000280204210220004284808080c000370200200120026b41386e2103024020012002460d0041002104034002402002200441386c6a220528021c2201450d00200528021841306a210003400240200041706a280200450d00200041746a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041d0006a21002001417f6a22010d000b0b02402005280214450d00200528021822002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280220450d00200528022422002000417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b0bc80201077f200028020c2201200028020422026b41386e2103024020012002460d0041002104034002402002200441386c6a220528021c2206450d00200528021841306a210103400240200141706a280200450d00200141746a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141d0006a21012006417f6a22060d000b0b02402005280214450d00200528021822012001417e6a2f00006b41002802ec82d48000118180808000000b02402005280220450d00200528022422012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280208450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b0b8e1202117f037e2380808080004180016b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01b6014102746a2802c40121042006417f6a22060d000b0b20054104490d000340200420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c40121042007417c6a22070d000b0b200341086a22082001410d6a2900003703002003410f6a2209200141146a28000036000020032001290005370300200341186a41036a210a2001280224210b2001280220210c200128021c210d2001280218210e20012d0004210f20012802002110024003400240024020104102460d00200341e8006a410f6a2009280000360000200341e8006a41086a200829030037030020032003290300370368200f211120104101710d010c030b200d200b460d02200d2d00002111200341e8006a410f6a200d41106a280000360000200341e8006a41086a200d41096a2900003703002003200d290001370368200d41146a210d0b200341d0006a410f6a2206200341e8006a410f6a280000360000200341d0006a41086a2201200341e8006a41086a29030037030020032003290368370350410021100240200d200b460d00200d2d0000210f2009200d41106a2800003600002008200d41096a2900003703002003200d290001370300200d41146a210d0240200f201141ff01712205460d00410121100c010b2001200829030037030020062009280000360000200320032903003703502011210f200d200b460d0002400340200d22072d0000210f2009200741106a2800003600002008200741096a290000370300410121102003200741016a2900003703002005200f470d01200120082903003703002006200928000036000020032003290300370350200741146a220d200b470d000b410021102011210f0b200741146a210d0b200341186a410f6a2006280000360000200341186a41086a200129030037030020032003290350370318200341306a41086a2206200a41086a22122900003703002003200a290000370330024002400240024002400240024020042f01b6012207410b490d004100211302400340024020042802b00122040d00200028020421062000280200210741002d008083d480001a41f40141002802f482d48000118280808000002204450d042004200441036a417c7120046b22016a220420073602c401200441003b01b601200441003602b0012004417e6a20013b00002000200641016a221336020420002004360200200741003b01b401200720043602b0010c020b201341016a211320042f01b601410a4b0d000b0b41002d008083d480001a41c40141002802f482d48000118280808000002207450d022007200741036a417c7120076b22016a220641003b01b601200641003602b0012006417e6a20013b00002013417f6a2201450d04034041002d008083d480001a41f40141002802f482d48000118280808000002207450d042007200741036a417c7120076b22056a220720063602c401200741003b01b601200741003602b0012007417e6a20053b0000200641003b01b401200620073602b001200721062001417f6a2201450d050c000b0b200420076a20113a00b8012004200741016a3b01b601200420074104746a220741086a2006290300370200200720032903303702000c040b410441f40110ab80808000000b410441c40110ab80808000000b410441f40110ab80808000000b20042f01b6012207410b4f0d01200420076a20113a00b8012004200741016a22013b01b601200420074104746a2207200a290000370000200741086a2012290000370000200420014102746a20063602c401200620013b01b401200620043602b0012013450d0002400240201341037122060d00201321070c010b2013210703402007417f6a2107200420042f01b6014102746a2802c40121042006417f6a22060d000b0b20134104490d000340200420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c40121042007417c6a22070d000b0b2002200228020041016a3602000c010b0b41e8f0cc800041204188f1cc8000108081808000000b0240200c450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b02402000280204220d450d00200028020021060340024002400240024020062f01b6012204450d0020062004417f6a220f4102746a22072802c80122042f01b601220141054f0d03410520016b41ffff0371220520072802c40122132f01b60122074b0d012013200720056b22083b01b601200441053b01b601200441b8016a220b20056a200b200110f9978080001a200420054104746a2004200141047410f9978080001a2007200841016a22106b22092005417f6a470d02200b201341b8016a221120106a200910f497808000210b2004201320104104746a2009410474220a10f4978080002107200341e8006a41086a201320084104746a220241086a29020022143703002006200f6a22122d00b8012100200229020021152012201120086a2d00003a00b801200320153703682006200f4104746a2206290200211620062015370200200641086a2206290200211520062014370200200b20096a20003a00002007200a6a220641086a201537020020062016370200200d4101460d03200741c4016a2206200541027422056a2006200141027441046a10f9978080001a2006201320104102746a41c4016a200510f4978080001a20072802c401220641003b01b401200620073602b00120072802c801220641013b01b401200620073602b00120072802cc01220641023b01b401200620073602b00120072802d001220641033b01b401200620073602b00120072802d401220641043b01b401200620073602b00120072802d801220641053b01b401200620073602b0010c030b41bfefcc8000411941d8f0cc8000108081808000000b41d0f1cc8000412741f8f1cc8000108081808000000b4198f1cc8000412841c0f1cc8000108081808000000b20042106200d417f6a220d0d000b0b20034180016a2480808080000bd412040f7f017e037f017e23808080800041306b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f018a014102746a2802980121042006417f6a22060d000b0b20054104490d000340200420042f018a014102746a28029801220420042f018a014102746a28029801220420042f018a014102746a28029801220420042f018a014102746a2802980121042007417c6a22070d000b0b200128021c210820012802182109200128021421052001280210210a200128020c210b2001280208210c2001280204210d200128020021010340200f210e20112110200bad422086200cad84211203400240024002400240200d418180808078460d0020052107200d2106200121110c010b024020052008470d004180808080782113200341106a2106418180808078210d20102111200e210f0c020b200541106a21072005290208211220052802042106200528020021110b418080808078211302402006418080808078470d00200341106a2106418180808078210d2010211120072105200e210f0c010b2012a7210f0240024020072008470d00418080808078210d200721050c010b200741106a210520072802002101200728020c210b2007280208210c2007280204220d418080808078460d00201141ff0171200141ff0171460d020b200320063602102012422088a721132003410c6a21060b20062013360200024020032802102214418080808078460d00200328020c2115024002400240024002400240024020042f018a012207410b490d0041002110024003400240200428020022040d00200028020421062000280200210741002d008083d480001a41c80141002802f482d48000118280808000002204450d042004200441036a417c7120046b22136a2204200736029801200441003b018a01200441003602002004417e6a20133b00002000200641016a221036020420002004360200200741003b018801200720043602000c020b201041016a211020042f018a01410a4b0d000b0b41002d008083d480001a41980141002802f482d48000118280808000002207450d022007200741036a417c7120076b22136a220641003b018a01200641003602002006417e6a20133b00002010417f6a2213450d04034041002d008083d480001a41c80141002802f482d48000118280808000002207450d042007200741036a417c7120076b220e6a2207200636029801200741003b018a01200741003602002007417e6a200e3b0000200641003b01880120062007360200200721062013417f6a2213450d050c000b0b200420076a20113a008c012004200741016a3b018a0120042007410c6c6a2207200f3602082007201536020c200720143602040c040b410441c80110ab80808000000b410441980110ab80808000000b410441c80110ab80808000000b20042f018a012207410b4f0d01200420076a20113a008c012004200741016a22133b018a0120042007410c6c6a2207201536020c200720143602042007200f360208200420134102746a200636029801200620133b018801200620043602002010450d0002400240201041037122060d00201021070c010b2010210703402007417f6a2107200420042f018a014102746a2802980121042006417f6a22060d000b0b20104104490d000340200420042f018a014102746a28029801220420042f018a014102746a28029801220420042f018a014102746a28029801220420042f018a014102746a2802980121042007417c6a22070d000b0b2002200228020041016a3602000c040b41e8f0cc800041204188f1cc8000108081808000000b024020082005460d00410021040240200820056b220f41047622064101460d00200541186a2107200641feffffff0071210141002104034002402007416c6a280200450d00200741706a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402007417c6a280200450d00200728020022062006417e6a2f00006b41002802ec82d48000118180808000000b200741206a21072001200441026a2204470d000b0b200f411071450d00200520044104746a2207280204450d00200741046a28020422072007417e6a2f00006b41002802ec82d48000118180808000000b02402009450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200d418280808078480d00200d450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b02402000280204220d450d00200028020021040340024002400240024020042f018a012207450d0020042007417f6a220f4102746a220128029c0122072f018a01220641054f0d03410520066b41ffff0371220520012802980122012f018a0122134b0d012001201320056b22113b018a01200741053b018a012007418c016a221020056a2010200610f9978080001a200741046a22082005410c6c6a20082006410c6c10f9978080001a2013201141016a220e6b22132005417f6a470d0220102001418c016a220c200e6a201310f49780800021102008200141046a220b200e410c6c6a2013410c6c220210f4978080002108200341106a41086a200b2011410c6c6a220b41086a2802002214360200200b29020021122004200f6a220b2d008c012115200b200c20116a2d00003a008c01200320123703102004200f410c6c6a22042902042116200420123702042004410c6a2204280200210f20042014360200201020136a20153a0000200820026a220441086a200f36020020042016370200200d4101460d0320074198016a2204200541027422056a2004200641027441046a10f9978080001a20042001200e4102746a4198016a200510f4978080001a200728029801220441003b01880120042007360200200728029c01220441013b0188012004200736020020072802a001220441023b0188012004200736020020072802a401220441033b0188012004200736020020072802a801220441043b0188012004200736020020072802ac01220441053b018801200420073602000c030b41bfefcc8000411941d8f0cc8000108081808000000b41d0f1cc8000412741f8f1cc8000108081808000000b4198f1cc8000412841c0f1cc8000108081808000000b20072104200d417f6a220d0d000b0b200341306a2480808080000f0b200729020821122006450d00200f200f417e6a2f00006b41002802ec82d48000118180808000000c000b0b0bd104010a7f23808080800041f0016b22032480808080002001280208220441f8006c220541e8006e2106200128020021070240024020012802042208200128020c2209470d002007210a0c010b200341106a210b2007210a0340200b200841f80010f497808000210c2003200a36020c2003200736020820034188016a200c10b294808000200a20034188016a41e80010f49780800041e8006a210a200841f8006a22082009470d000b0b200142888080808001370200200142808080808001370208200920086b41f8006e210c024020092008460d00034002402008280200450d00200841046a280200450d00200841086a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b0240200841dc006a280200450d00200841e0006a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b0240200841e8006a280200450d00200841ec006a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200841f8006a2108200c417f6a220c0d000b0b2007210802402004450d00200721082005200641e8006c220c460d0002400240200541e7004b0d00410821082005450d020c010b0240200c41002802f482d48000118280808000002208450d002008200841076a41787120086b22096a2208417e6a20093b000020082007200c10f4978080001a0c010b4108200c10ab80808000000b20072007417e6a2f00006b41002802ec82d48000118180808000000b20002008360204200020063602002000200a20076b41e8006e360208200341f0016a2480808080000b9e0301067f23808080800041e0026b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d00200521080c010b20052108034020034180016a200641e00110f4978080001a200320034180016a10cb948080002008200341800110f4978080004180016a2108200641e0016a22062007470d000b0b200142888080808001370200200142808080808001370208200720066b41e0016e2101024020072006460d0003402006109c94808000200641e0016a21062001417f6a22010d000b0b200441e0016c21062005210102402004450d00200521012006200641807f712207460d000240024020070d00410821012006450d020c010b0240200741002802f482d48000118280808000002201450d002001200141076a41787120016b22046a2201417e6a20043b000020012005200710f4978080001a0c010b4108200710ab80808000000b20052005417e6a2f00006b41002802ec82d48000118180808000000b20002001360204200020064107763602002000200820056b410776360208200341e0026a2480808080000b800401077f23808080800041106b220324808080800020012802082104200341086a2001200128020022052005200141106a200128020c109b9480800020012802042106200328020c2107200142888080808001370200200128020c21082001410836020c20014100360208200820066b41d0006e2109200720056b41d0006e21070240024020082006460d00200641306a210603400240200641706a280200450d00200641746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402006417c6a280200450d00200628020022082008417e6a2f00006b41002802ec82d48000118180808000000b200641d0006a21062009417f6a22090d000b200020073602082000200536020420002004360200200128020c2208200128020422066b41d0006e210920082006460d01200641306a210603400240200641706a280200450d00200641746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402006417c6a280200450d00200628020022082008417e6a2f00006b41002802ec82d48000118180808000000b200641d0006a21062009417f6a22090d000c020b0b2000200736020820002005360204200020043602000b02402001280208450d00200128020022062006417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000b9e0403097f017e027f23808080800041c0006b220324808080800020012802082104200128020022052106024020012802042207200128020c2208460d002003411c6a21092005210603402001200741386a220a360204200341086a220b200741286a2802003602002003200741206a2902003703002007412c6a290200210c200741146a280200210d2003200741186a280200220e2007411c6a28020041d0006c6a36023c2003200d3602382003200e3602342003200e360230200341106a200341306a200310a594808000200341106a41186a2207200c370200200941086a200b28020036020020092003290300370200200641186a2007290200370200200641106a200341106a41106a290200370200200641086a200341106a41086a29020037020020062003290210370200200641206a2106200a2107200a2008470d000b0b200441386c21072001109d948080002005210a02402004450d002005210a20072007416071220e460d0002400240200e0d004104210a2007450d020c010b0240200e41002802f482d4800011828080800000220a450d00200a200a41036a417c71200a6b22096a220a417e6a20093b0000200a2005200e10f4978080001a0c010b4104200e10ab80808000000b20052005417e6a2f00006b41002802ec82d48000118180808000000b2000200a360204200020074105763602002000200620056b4105763602082001109e94808000200341c0006a2480808080000bec0404097f027e017f037e23808080800041306b22032480808080002001280208220441d0006c220541386e2106200128020021070240024020012802042208200128020c2209470d002007210a0c010b2007210a0340200841286a280200210b200841206a290300210c2008290300210d200841346a280200210e200841186a290300210f200841106a2903002110200841086a2903002111200a412c6a2008412c6a290200370200200a200d370300200a41086a2011370300200a41106a2010370300200a41186a200f370300200a41206a200c370300200a41286a200b360200200a41346a200e360200200a41386a210a200841d0006a22082009470d000b0b200142888080808001370200200142808080808001370208200920086b41d0006e210b024020092008460d00200841306a210803400240200841706a280200450d00200841746a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b02402008417c6a280200450d002008280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b200841d0006a2108200b417f6a220b0d000b0b2007210802402004450d00200721082005200641386c220b460d0002400240200541374b0d00410821082005450d020c010b0240200b41002802f482d48000118280808000002208450d002008200841076a41787120086b220e6a2208417e6a200e3b000020082007200b10f4978080001a0c010b4108200b10ab80808000000b20072007417e6a2f00006b41002802ec82d48000118180808000000b20002008360204200020063602002000200a20076b41386e360208200341306a2480808080000bb90301097f2380808080004180026b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d0020062108200521090c010b200341106a210a4100210b0340200a2006200b6a41f80010f49780800021082003200536020820032005200b6a220936020c20034188016a200810c794808000200920034188016a41f80010f4978080001a2006200b41f8006a220b6a22082007470d000b2005200b6a21090b200142888080808001370200200142808080808001370208200720086b41f8006e210b024020072008460d00034002402008280200450d00200841046a280200450d00200841086a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200841dc006a280200450d00200841e0006a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200841e8006a280200450d00200841ec006a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200841f8006a2108200b417f6a220b0d000b0b20002005360204200020043602002000200920056b41f8006e36020820034180026a2480808080000b810301097f23808080800041f0016b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d0020062108200521090c010b200341106a210a4100210b0340200a2006200b6a41f00010f49780800021082003200536020820032005200b6a220936020c20034180016a200810c894808000200920034180016a41f00010f4978080001a2006200b41f0006a220b6a22082007470d000b2005200b6a21090b200142888080808001370200200142808080808001370208200720086b41f0006e2106024020072008460d00200841d0006a210b03400240200b41706a280200450d00200b41746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b0240200b417c6a280200450d00200b28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200b41f0006a210b2006417f6a22060d000b0b20002005360204200020043602002000200920056b41f0006e360208200341f0016a2480808080000bb40301087f2380808080004180016b220324808080800020012802082104200128020022052106024020012802042207200128020c2208460d00200341086a41086a21064100210903402006200720096a220a2902003702002001200a41386a360204200641306a200a41306a290200370200200641286a200a41286a290200370200200641206a200a41206a290200370200200641186a200a41186a290200370200200641106a200a41106a290200370200200641086a200a41086a290200370200200320053602082003200520096a220a36020c200341c8006a200610c594808000200a41306a200341c8006a41306a290200370200200a41286a200341c8006a41286a290200370200200a41206a200341c8006a41206a290200370200200a41186a200341c8006a41186a290200370200200a41106a200341c8006a41106a290200370200200a41086a200341c8006a41086a290200370200200a20032902483702002007200941386a22096a2008470d000b200520096a21060b2001109d9480800020002005360204200020043602002000200620056b41386e3602082001109e9480800020034180016a2480808080000bba0506087f017e037f017e017f017e23808080800041c0006b22032480808080002001280208220441d0006c220541386e2106200128020021070240024020012802042208200128020c2209470d002007210a0c010b2007210a03402008290300210b200341286a41106a220c200841186a290300370300200341286a41086a220d200841106a2903003703002003200841086a290300370328200341186a41086a200841286a280200220e3602002003200841206a290300220f370318200341086a41086a200841346a28020022103602002008412c6a2902002111200a200b370300200a41206a200f370300200a41286a200e360200200a412c6a2011370200200a41346a201036020020032011370308200a41086a2003290328370300200a41106a200d290300370300200a41186a200c290300370300200a41386a210a200841d0006a22082009470d000b0b200142888080808001370200200142808080808001370208200920086b41d0006e210c024020092008460d00200841306a210803400240200841706a280200450d00200841746a280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b02402008417c6a280200450d002008280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b200841d0006a2108200c417f6a220c0d000b0b2007210802402004450d00200721082005200641386c220c460d0002400240200541374b0d00410821082005450d020c010b0240200c41002802f482d48000118280808000002208450d002008200841076a41787120086b220d6a2208417e6a200d3b000020082007200c10f4978080001a0c010b4108200c10ab80808000000b20072007417e6a2f00006b41002802ec82d48000118180808000000b20002008360204200020063602002000200a20076b41386e360208200341c0006a2480808080000baa0301087f23808080800041e0026b22032480808080002001280208220441e0016c220541f8006e2106200128020021070240024020012802042208200128020c2209470d002007210a0c010b2007210a034020034180016a200841e00110f4978080001a200341086a20034180016a10b194808000200a200341086a41f80010f49780800041f8006a210a200841e0016a22082009470d000b0b200142888080808001370200200142808080808001370208200920086b41e0016e2101024020092008460d0003402008109c94808000200841e0016a21082001417f6a22010d000b0b2007210802402004450d00200721082005200641f8006c2201460d0002400240200541f7004b0d00410821082005450d020c010b0240200141002802f482d48000118280808000002208450d002008200841076a41787120086b22096a2208417e6a20093b000020082007200110f4978080001a0c010b4108200110ab80808000000b20072007417e6a2f00006b41002802ec82d48000118180808000000b20002008360204200020063602002000200a20076b41f8006e360208200341e0026a2480808080000b800301097f23808080800041b0016b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d0020062108200521090c010b200341106a210a4100210b0340200a2006200b6a41d00010f49780800021082003200536020820032005200b6a220936020c200341e0006a200810c6948080002009200341e0006a41d00010f4978080001a2006200b41d0006a220b6a22082007470d000b2005200b6a21090b200142888080808001370200200142808080808001370208200720086b41d0006e2106024020072008460d00200841306a210b03400240200b41706a280200450d00200b41746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b0240200b417c6a280200450d00200b28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200b41d0006a210b2006417f6a22060d000b0b20002005360204200020043602002000200920056b41d0006e360208200341b0016a2480808080000bbe0601077f0240024002400240200128022022020d002001280200210241002103200141003602002002410171450d010240200128020422020d0020012802082102200128020c2204450d0002400240200441077122030d00200421050c010b2004210503402005417f6a210520022802c40121022003417f6a22030d000b0b20044108490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200541786a22050d000b0b034020022002417e6a2f00006b210520022802b001210241002103200541002802ec82d480001181808080000020020d000c020b0b20012002417f6a36022002400240200128020022024101470d0020012802040d00200128020821020240200128020c2204450d0002400240200441077122030d00200421050c010b2004210503402005417f6a210520022802c40121022003417f6a22030d000b0b20044108490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d030b2001280208210402400240200128020c2203200128020422022f01b6014f0d00200221050c010b034020022802b0012205450d0320022f01b401210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f01b6014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a41c8016a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a210720022802c40121022004417f6a22040d000b0b20084107490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200741786a22070d000b0b2001200636020c20014100360208200120023602042000200520036a2d00b8013a00042000200520034104746a2202290200370208200041106a200241086a290200370200410121030b200020033602000f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418cf3cc800010a081808000000b41b0f5cc800010a081808000000b900301047f23808080800041c0006b2203248080808000200341046a20012002419cf4cc800010be9480800002400240200328020c22040d0020004100360208200041003602002003280204450d01200328020822002000417e6a2f00006b41002802ec82d48000118180808000000c010b2003280208210220032003413f6a36021c024020044101460d00024020044115490d00200220042003411c6a10cd948080000c010b2002200441012003411c6a10b8948080000b2003280204210541002d008083d480001a024041980141002802f482d480001182808080000022010d00410441980110ab80808000000b2001200141036a417c7120016b22066a220141003b018a01200141003602002001417e6a20063b00002003200136021020034100360214200341003602182003200220044104746a36023820032005360234200320023602302003200236022c2003418180808078360220200341106a2003411c6a200341186a10a09480800020002003280218360208200020032902103702000b200341c0006a2480808080000be50301057f23808080800041d0006b2202248080808000200241206a41206a200141206a280200360200200241206a41186a200141186a290200370300200241206a41106a200141106a290200370300200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a419cf4cc800010bd9480800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c21012002200241cf006a360220024020034101460d00024020034115490d0020012003200241206a10ce948080000c010b200120034101200241206a10b9948080000b2002280208210441002d008083d480001a024041c40141002802f482d480001182808080000022050d00410441c40110ab80808000000b2005200541036a417c7120056b22066a220541003b01b601200541003602b0012005417e6a20063b000020022005360214200241003602182002410036021c20022001200341146c6a360244200220043602402002200136023c2002200136023820024102360220200241146a200241206a2002411c6a109f948080002000200228021c360208200020022902143702000b200241d0006a2480808080000b990501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802c40121012004417f6a22040d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200041786a22000d000b0b20012104410021020b024002400240200220042f01b6014f0d00200421000c010b034020042802b0012200450d0220042f01b401210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f01b6014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a41c8016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802c40121002005417f6a22050d000b0b20014107490d00034020002802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d4800011818080800000418cf3cc800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802c40121002005417f6a22050d000b0b20024108490d00034020002802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012100200441786a22040d000b0b034020002000417e6a2f00006b210420002802b0012100200441002802ec82d480001181808080000020000d000b0b0b830601057f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802c40121012003417f6a22030d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f01b6014f0d00200121040c010b034020012802b0012204450d0220012f01b401210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f01b6014f0d000b0b0240024020030d00200241016a21020c010b200420024102746a41c8016a2802002104410021022003417f6a2201450d002003417e6a2105024020014107712203450d0003402001417f6a210120042802c40121042003417f6a22030d000b0b20054107490d00034020042802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012104200141786a22010d000b0b2000200236020c2000410036020820002004360204200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d4800011818080800000418cf3cc800010a081808000000b41b0f5cc800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802c40121012003417f6a22030d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200441786a22040d000b0b034020012001417e6a2f00006b210420012802b0012101200441002802ec82d480001181808080000020010d000b0b0bfc0a05057f017e037f017e027f23808080800041d0016b2202248080808000200128027c210320012802782104418080808078210502402001280280012206418080808078460d00200129028c0121072002200128028401220820012802880141f8006c6a3602cc01200220063602c801200220083602c401200220083602c001200241306a200241c0016a41c0f6cc800010a194808000200241086a200737030020022002290234370300200228023021050b02400240200128021022080d000c010b200241c8006a41086a200141086a290300370300200241c8006a411c6a2001411c6a290200370200200241c8006a41246a200141246a280200360200200220083602582002200129030037034820022001290214220737025c200241e0006a10af948080002007a721090b024002402001280238220a0d000c010b200241f0006a41086a200141306a29030022073703002002418c016a200141c4006a29020037020020024194016a200141cc006a280200360200200241c0016a41086a20073703002002200a360280012002200129032822073703702002200129023c220b37028401200220073703c00120024188016a10af94808000200ba7210c0b200220012802a001360228200220012802a4012206360224200220063602202002200620012802a80141d0006c6a36022c200241146a200241206a41c0f6cc800010a99480800002400240200128026022060d000c010b20024198016a41086a200141d8006a2903002207370300200241b4016a200141ec006a290200370200200241bc016a200141f4006a280200360200200241306a41086a2007370300200220063602a8012002200129035022073703980120022001290264220b3702ac0120022007370330200241b0016a10af94808000200ba7210d0b200020053602502000200336024c20002004360248200020022903003702542000200936021420002008360210200020022903c00137031820002001290300370300200041dc006a200241086a290300370200200041086a200141086a290300370300200041206a200241c0016a41086a29030037030020012d00d80121082000200c36022c2000200a360228200020063602402000200d360244200020083a007020002002290214370264200041ec006a200241146a41086a28020036020020002002290330370330200041386a200241306a41086a290300370300200128029801210a0240200128029c012206450d00200a41d0006a210003400240200041706a280200450d00200041746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022082008417e6a2f00006b41002802ec82d48000118180808000000b200041f0006a21002006417f6a22060d000b0b0240200128029401450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b20012802b0012105024020012802b4012208450d002008410171210341002106024020084101460d00200541d4006a21002008417e71210a41002106034002402000414c6a280200450d00200041506a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022082008417e6a2f00006b41002802ec82d48000118180808000000b200041e0006a2100200a200641026a2206470d000b0b2003450d002005200641306c6a2200280220450d00200041206a28020422002000417e6a2f00006b41002802ec82d48000118180808000000b024020012802ac01450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b024020012802b801450d0020012802bc0122002000417e6a2f00006b41002802ec82d48000118180808000000b200241d0016a2480808080000b910301077f23808080800041c0006b210220012d007421032001280244210420012802402105410121060240024020012802004101470d00200241186a200141186a290300370300200241206a200141206a2903003703002002200128020c36020c2002200129020437020420022001290310370310200141286a2107200241286a21080c010b200141086a2107200241086a2108410021060b200020033a00602000200436024420002005360240200820072903003703002000200129025c37024820002001290268370254200841106a200741106a290300370300200841086a200741086a290300370300200041d0006a200141e4006a280200360200200041dc006a200141f0006a2802003602002002200636020020002002290300370300200041386a200241386a290300370300200041306a200241306a290300370300200041286a200241286a290300370300200041206a200241206a290300370300200041186a200241186a290300370300200041106a200241106a290300370300200041086a200241086a2903003703000bae0f01137f23808080800041a0036b2203248080808000024002400240024002400240200241726a0e03010203000b2000418880808078360200200141f0016a10bc94808000024020012802f001450d0020012802f40122022002417e6a2f00006b41002802ec82d48000118180808000000b024020012802d801450d0020012802dc0122022002417e6a2f00006b41002802ec82d48000118180808000000b024020012802e401450d0020012802e80122022002417e6a2f00006b41002802ec82d48000118180808000000b02402001280284022204450d00200128028002210541002106034002402005200641386c6a220728021c2208450d00200728021841306a210203400240200241706a280200450d00200241746a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002417c6a280200450d00200228020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a21022008417f6a22080d000b0b02402007280214450d00200728021822022002417e6a2f00006b41002802ec82d48000118180808000000b02402007280220450d00200728022422022002417e6a2f00006b41002802ec82d48000118180808000000b200641016a22062004470d000b0b20012802fc01450d0320012802800222022002417e6a2f00006b41002802ec82d48000118180808000000c030b2001280284022105200128028002210420012802fc01210a20012802f801210820012802f4012102200320012802f0013602d002200320023602cc02200320023602c80220032002200841e0016c6a3602d402200341b8026a200341c8026a41c0f6cc800010aa9480800020012802e0012202450d03200141e0006a210b20012802ec01210c20012802e801210d20012802e401210e20012802d801210f20012802dc0122102108024020024101460d002002417f6a2208410371210620102d00002109024002402002417e6a41034f0d0041002107201021080c010b2008417c71211141002107201021080340201020076a220241046a2212200241036a2213200241026a2214200241016a2202200820022d00002202200941ff017122094922151b20142d000022082002200920151b22024922091b20132d000022132008200220091b22024922081b20122d000022092013200220081b22024922121b21082009200220121b21092011200741046a2207470d000b0b2006450d00200720106a41016a2102034020022d00002207200941ff01712209200720094922071b21092002200820071b2108200241016a21022006417f6a22060d000b0b200341286a41106a200b41106a290300370300200341286a41086a200b41086a2903003703002003200b2903003703282003200c3602482003200d3602442003200e360240200320082d00003a004c0240200f450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b2003419c016a200341b8026a200341286a200110ed9080800002402005450d0041002106034002402004200641386c6a220728021c2208450d00200728021841306a210203400240200241706a280200450d00200241746a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002417c6a280200450d00200228020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a21022008417f6a22080d000b0b02402007280214450d00200728021822022002417e6a2f00006b41002802ec82d48000118180808000000b02402007280220450d00200728022422022002417e6a2f00006b41002802ec82d48000118180808000000b200641016a22062005470d000b0b0240200a450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341edcad18b0636028402200341868080807836029801200020034198016a41f00010f4978080001a0c020b200320012802f001360220200320012802f401220236021c200320023602182003200220012802f80141e0016c6a3602242003410c6a200341186a41b4fccc800010a29480800020034198016a200141e0006a41900110f4978080001a200341286a20034198016a10cc94808000200320012802fc013602c002200320012802800222023602bc02200320023602b8022003200220012802840241386c6a3602c402200341ac026a200341b8026a41b4fccc800010a494808000200341d8026a200141286a290300370300200341d0026a200141206a290300370300200341c8026a41206a200141386a290300370300200341c8026a41286a200141c0006a290300370300200341c8026a41386a200141d0006a290300370300200341c8026a41c0006a200141d8006a290300370300200320012903183703c802200320012903303703e002200320012903483703f8022003410036029c0320034100360294032003419c016a2003410c6a200341286a2001200341ac026a200341c8026a20034194036a108d91808000200341edcad18b0636028402200341878080807836029801200020034198016a41f00010f4978080001a0c010b20034198016a200110c494808000200341edcad18b0636028402200020034198016a41f00010f4978080001a0b200341a0036a2480808080000f0b41d0f6cc8000412641ccf7cc800010a181808000000bac0701117f23808080800041d0006b2202248080808000200220012802f001360220200220012802f401220336021c200220033602182002200320012802f80141e0016c6a3602242002410c6a200241186a41c0f6cc800010aa94808000024020012802e0012203450d00200141e0006a210420012802ec01210520012802e801210620012802e401210720012802d801210820012802dc012209210a024020034101460d002003417f6a220a410371210b20092d0000210c024002402003417e6a41034f0d004100210d2009210a0c010b200a417c71210e4100210d2009210a03402009200d6a220341046a220f200341036a2210200341026a2211200341016a2203200a20032d00002203200c41ff0171220c4922121b20112d0000220a2003200c20121b220349220c1b20102d00002210200a2003200c1b220349220a1b200f2d0000220c20102003200a1b220349220f1b210a200c2003200f1b210c200e200d41046a220d470d000b0b200b450d00200d20096a41016a2103034020032d0000220d200c41ff0171220c200d200c49220d1b210c2003200a200d1b210a200341016a2103200b417f6a220b0d000b0b200241286a41106a200441106a290300370300200241286a41086a200441086a290300370300200220042903003703282002200536024820022006360244200220073602402002200a2d00003a004c02402008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200041046a2002410c6a200241286a200110ed90808000200128028002210f02402001280284022210450d004100210b03400240200f200b41386c6a220d28021c220a450d00200d28021841306a210303400240200341706a280200450d00200341746a280200220c200c417e6a2f00006b41002802ec82d48000118180808000000b02402003417c6a280200450d002003280200220c200c417e6a2f00006b41002802ec82d48000118180808000000b200341d0006a2103200a417f6a220a0d000b0b0240200d280214450d00200d28021822032003417e6a2f00006b41002802ec82d48000118180808000000b0240200d280220450d00200d28022422032003417e6a2f00006b41002802ec82d48000118180808000000b200b41016a220b2010470d000b0b024020012802fc01450d00200f200f417e6a2f00006b41002802ec82d48000118180808000000b2000418680808078360200200041edcad18b0636026c200241d0006a2480808080000f0b41d0f6cc8000412641ccf7cc800010a181808000000bfb0a05017f017e117f017e037f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802107024002402001418120490d00410141202001410172676b41017622087420012008766a41017621090c010b200120014101766b220841c000200841c000491b21090b200041706a210a200041206a210b410121084100210c4100210d03404100210e4101210f02402001200c4b2210450d002000200c41047422116a2112024002402001200c6b22132009490d0002400240201341024f0d00201321140c010b024002400240024020122d0010221520122d00004922160d004102211420134102460d04200b20116a2117410221140340201541ff0171211820172d000022152018490d03201741106a21172013201441016a2214470d000c020b0b410221144101211720134102460d02200b20116a2117410221140340201541ff0171211820172d0000221520184f0d02201741106a21172013201441016a2214470d000b0b201321140b20142009490d022016450d010240201441024f0d00410121140c020b201441017621170b200a201441047420116a6a21130340201228020021152012201328020036020020132015360200201341046a221528020021182015201241046a221128020036020020112018360200201241086a221528020021182015201341086a2211280200360200201120183602002013410c6a2215280200211820152012410c6a221128020036020020112018360200201341706a2113201241106a21122017417f6a22170d000b0b2014410174410172210f0c010b024020040d002013200920132009491b410174210f0c010b20122013412020134120491b22132002200341004100200510bf948080002013410174410172210f0b200f410176200c6aad200cad22197c20077e200c20084101766bad20197c20077e8579a7210e0b02400240200d4102490d00200a200c41047422126a211a200020126a211b03402006418e026a200d417f6a22146a2d0000200e490d010240024002400240200641046a20144102746a28020022124101762217200841017622156a221620034b0d002012200872410171450d010b2000200c20166b4104746a210d024020124101710d00200d201720022003201741017267410174413e734100200510bf948080000b20084101710d01200d20174104746a201520022003201541017267410174413e734100200510bf948080000c010b201641017421080c010b024020084102490d0020124102490d00200320152017201520174922131b2212490d002002200d20174104746a2208200d20131b2012410474221310f497808000221c20136a2113024002400240201520174f0d00201a211203402012200841706a2208201341706a221320132d0000221720082d000022154922181b2211290200370200201241086a201141086a290200370200201320184104746a21132008201720154f4104746a2208200d460d02201241706a21122013201c470d000c020b0b024020120d00201c21120c020b201c21120340200d2008201220082d0000221720122d000022154922111b2218290200370200200d41086a201841086a290200370200200d41106a210d2012201720154f4104746a22122013460d02200820114104746a2208201b470d000c020b0b2008210d201c21120b200d2012201320126b10f4978080001a0b201641017441017221080b410121122014210d201441014b0d000c020b0b200d21120b2006418e026a20126a200e3a0000200641046a20124102746a200836020002402010450d00201241016a210d200f410176200c6a210c200f21080c010b0b20084101710d002000200120022003200141017267410174413e734100200510bf948080000b200641d0026a2480808080000bc80b05017f017e127f017e027f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802107024002402001418120490d00410141202001410172676b41017622087420012008766a41017621090c010b200120014101766b220841c000200841c000491b21090b2000416c6a210a200041286a210b410121084100210c4100210d03404100210e4101210f02402001200c4b2210450d002000200c41146c22116a2112024002402001200c6b22132009490d0002400240201341024f0d00201321140c010b024002400240024020122d0014221520122d00004922160d004102211420134102460d04200b20116a2117410221140340201541ff0171211820172d000022152018490d03201741146a21172013201441016a2214470d000c020b0b410221144101211920134102460d02200b20116a2117410221140340201541ff0171211820172d0000221520184f0d02201741146a21172013201441016a2214470d000b0b201321140b20142009490d022016450d010240201441024f0d00410121140c020b201441017621190b200a201441146c6a2117200021180340201820116a221328020021122013201720116a221528020036020020152012360200201541046a221228020021162012201341046a220e280200360200200e2016360200201341086a221228020021162012201541086a220e280200360200200e20163602002015410c6a2212280200211620122013410c6a220e280200360200200e2016360200201341106a221328020021122013201541106a2215280200360200201520123602002017416c6a2117201841146a21182019417f6a22190d000b0b2014410174410172210f0c010b024020040d002013200920132009491b410174210f0c010b20122013412020134120491b22132002200341004100200510c0948080002013410174410172210f0b200f410176200c6aad200cad221a7c20077e200c20084101766bad201a7c20077e8579a7210e0b02400240200d4102490d00200a200c41146c22136a211b200020136a211c03402006418e026a200d417f6a22186a2d0000200e490d010240024002400240200641046a20184102746a28020022134101762217200841017622116a221220034b0d002013200872410171450d010b2000200c20126b41146c6a210d024020134101710d00200d201720022003201741017267410174413e734100200510c0948080000b20084101710d01200d201741146c6a201120022003201141017267410174413e734100200510c0948080000c010b201241017421080c010b024020084102490d0020134102490d00200320112017201120174922151b2208490d002002200d201741146c6a2213200d20151b200841146c221510f497808000221620156a2115024002400240201120174f0d00201b2108034020082013416c6a22132015416c6a221520152d0000221120132d000022144922191b2217290200370200200841086a201741086a290200370200200841106a201741106a2802003602002015201941146c6a21152013201120144f41146c6a2213200d460d022008416c6a210820152016470d000c020b0b024020080d00201621080c020b201621080340200d2013200820132d0000221120082d000022144922191b2217290200370200200d41086a201741086a290200370200200d41106a201741106a280200360200200d41146a210d2008201120144f41146c6a22082015460d022013201941146c6a2213201c470d000c020b0b2013210d201621080b200d2008201520086b10f4978080001a0b201241017441017221080b410121132018210d201841014b0d000c020b0b200d21130b2006418e026a20136a200e3a0000200641046a20134102746a200836020002402010450d00201341016a210d200f410176200c6a210c200f21080c010b0b20084101710d002000200120022003200141017267410174413e734100200510c0948080000b200641d0026a2480808080000bf408010b7f200020002d0010220320002d00002204494104746a220520004130412020002d003020002d00204922061b6a22072000200320044f4104746a220320004120413020061b6a22042d000020032d00004922061b20072d000020052d00004922081b22092d0000210a20042003200720081b20061b220b2d0000210c200241086a2007200520081b220741086a290200370200200220072902003702002002200b2009200c200a4922071b2205290200370210200241186a200541086a290200370200200241286a2009200b20071b220741086a29020037020020022007290200370220200241386a2003200420061b220341086a290200370200200241306a22072003290200370200200041c0006a220320002d0050220520002d00402206494104746a220420034130412020002d007020002d00604922081b6a22002003200520064f4104746a220520034120413020081b6a22062d000020052d00004922081b20002d000020042d00004922091b220b2d0000210c20062005200020091b20081b220a2d0000210d200241c0006a22032000200420091b2200290200370200200241c8006a200041086a290200370200200241d0006a200a200b200d200c4922001b2204290200370200200241d8006a200441086a290200370200200241e0006a200b200a20001b2200290200370200200241e8006a200041086a290200370200200241f0006a22002005200620081b2205290200370200200241f8006a200541086a29020037020020012003200220032d0000220520022d000022044922061b2208290200370200200141086a200841086a29020037020020012007200020002d0000220820072d0000220949220b1b220a290200370270200141f8006a200a41086a2902003702002001200320064104746a22032002200520044f4104746a220220032d0000220520022d000022044922061b220a290200370210200141186a200a41086a2902003702002001200741704100200b1b6a2207200041704100200820094f1b6a220020002d0000220820072d0000220949220b1b220a290200370260200141e8006a200a41086a2902003702002001200320064104746a22032002200520044f4104746a220220032d0000220520022d000022044922061b220a290200370220200141286a200a41086a2902003702002001200741704100200b1b6a2207200041704100200820094f1b6a220020002d0000220820072d0000220949220b1b220a290200370250200141d8006a200a41086a2902003702002001200320064104746a22032002200520044f4104746a220220032d0000220520022d0000220449220a1b2206290200370230200141386a200641086a2902003702002001200741704100200b1b6a2207200041704100200820094f1b6a220020002d0000220920072d0000220b4922061b2208290200370240200141c8006a200841086a290200370200024002402002200520044f4104746a20074170410020061b6a41106a470d002003200a4104746a2000417041002009200b4f1b6a41106a460d010b109c81808000000b0bf70101067f23808080800041106b210402402002417f6a20014f0d00024020022001460d00200020014104746a21052000200241047422066a21070340024020072d00002208200741706a2d00004f0d00200420072900013703002004200741086a2900003700072006210202400340200020026a2201200141706a2209290200370200200141086a200941086a290200370200024020024110470d00200021020c020b200241706a21022008200141606a2d0000490d000b200020026a21020b200220083a000020022004290300370001200241086a20042900073700000b200641106a2106200741106a22072005470d000b0b0f0b000bb20201087f23808080800041206b210402402002417f6a20014f0d00024020022001460d002000200141146c6a21052000200241146c22066a2107200441176a2108200441086a41086a21090340024020072d0000220a2007416c6a2d00004f0d002008200741106a2800003600002009200741096a290000370300200420072900013703082006210102400340200020016a22022002416c6a220b290200370200200241106a200b41106a280200360200200241086a200b41086a290200370200024020014114470d00200021020c020b2001416c6a2101200a200241586a2d0000490d000b200020016a21020b2002200a3a000020022004290308370001200241096a2009290300370000200241106a20082800003600000b200641146a2106200741146a22072005470d000b0b0f0b000bf00e030d7f017e037f23808080800041206b22052480808080000240024020014102490d00024002402003200141106a490d00410121062001410176210702400240200141074d0d0020022000413c412820002d003c20002d00284922081b6a2203200020002d0014220920002d0000220a4941146c6a220b20032d0000200b2d000049220c1b220d290200370200200241086a200d41086a290200370200200241106a200d41106a280200360200200220004128413c20081b6a220820002009200a4f41146c6a220d2003200c1b20082d0000200d2d00004922091b220a200b2003200d20091b200c1b2203200a2d000020032d000049220c1b220b2902003702142002411c6a200b41086a290200370200200241246a200b41106a280200360200200241386a2003200a200c1b220341106a280200360200200241306a200341086a29020037020020022003290200370228200241cc006a200d200820091b220341106a280200360200200241c4006a200341086a2902003702002002200329020037023c2000200741146c220e6a220320032d0014220b20032d000022084941146c6a220c2003413c412820032d003c20032d00284922091b6a220d2003200b20084f41146c6a220b20034128413c20091b6a22082d0000200b2d00004922091b200d2d0000200c2d000049220a1b22062d0000210f2008200b200d200a1b20091b22102d000021112002200e6a2203200d200c200a1b220d290200370200200341086a200d41086a290200370200200341106a200d41106a2802003602002003201020062011200f49220c1b220d290200370214200341246a200d41106a2802003602002003411c6a200d41086a290200370200200341386a20062010200c1b220d41106a280200360200200341306a200d41086a2902003702002003200d290200370228200341cc006a200b200820091b220d41106a280200360200200341c4006a200d41086a2902003702002003200d29020037023c410421060c010b20022000290200370200200241106a200041106a280200360200200241086a200041086a2902003702002002200741146c220d6a22032000200d6a220d290200370200200341086a200d41086a290200370200200341106a200d41106a2802003602000b200120076b2111200620074f0d01200641146c2109200541176a21102006210803402002200841146c220d6a22032000200d6a220d2902002212370200200341106a200d41106a220b280200360200200341086a200d41086a29020037020002402012a7220a41ff0171220c2003416c6a2d00004f0d002010200b280000360000200541086a41086a220e200d41096a2900003703002005200d2900013703082009210d024003402002200d6a22032003416c6a220b290200370200200341106a200b41106a280200360200200341086a200b41086a2902003702000240200d4114470d00200221030c020b200d416c6a210d200c200341586a2d0000490d000b2002200d6a21030b2003200a3a000020032005290308370001200341096a200e290300370000200341106a20102800003600000b200941146a2109200841016a22082007470d000c020b0b000b2002200741146c22036a21090240200620114f0d00200020036a2113200641146c2108200541176a2114411421102009210e03402009200641146c220d6a22032013200d6a220d2902002212370200200341106a200d41106a220b280200360200200341086a200d41086a29020037020002402012a7220f41ff0171220a2003416c6a2d00004f0d002014200b280000360000200541086a41086a2215200d41096a2900003703002005200d2900013703082010210c200e210d02400340200d20086a22032003416c6a220b290200370200200341106a200b41106a280200360200200341086a200b41086a29020037020002402008200c470d00200921030c020b200c41146a210c200d416c6a210d200a200341586a2d0000490d000b200d20086a21030b2003200f3a000020032005290308370001200341096a2015290300370000200341106a20142800003600000b2010416c6a2110200e41146a210e200641016a22062011470d000b0b2009416c6a210d2002200141146c416c6a22036a210b200020036a2103034020002009200220092d0000220820022d0000220a4922061b220c290200370200200041086a200c41086a290200370200200041106a200c41106a280200360200200341106a200d200b200b2d00002210200d2d0000220e49220f1b220c41106a280200360200200341086a200c41086a2902003702002003200c2902003702002003416c6a2103200041146a2100200d416c4100200f1b6a210d200b416c41002010200e4f1b6a210b20022008200a4f41146c6a21022009200641146c6a21092007417f6a22070d000b200d41146a210302402001410171450d002000200220092002200349220c1b220d290200370200200041106a200d41106a280200360200200041086a200d41086a2902003702002009200220034f41146c6a21092002200c41146c6a21020b20022003470d012009200b41146a470d010b200541206a2480808080000f0b109c81808000000bc50c020e7f017e23808080800041106b22052480808080000240024020014102490d000240024002402003200141106a490d00200141017621062001410f4b0d010240200141074d0d0041042107200220004130412020002d003020002d00204922081b6a2203200020002d0010220920002d0000220a494104746a220b20032d0000200b2d000049220c1b220d290200370200200241086a200d41086a290200370200200220004120413020081b6a220d20002009200a4f4104746a22082003200c1b200d2d000020082d00004922091b220a200b2003200820091b200c1b2203200a2d000020032d000049220b1b220c290200370210200241186a200c41086a290200370200200241286a2003200a200b1b220341086a29020037020020022003290200370220200241386a2008200d20091b220341086a2902003702002002200329020037023020002006410474220e6a220320032d0010220b20032d0000220d494104746a220c20034130412020032d003020032d00204922091b6a22082003200b200d4f4104746a220b20034120413020091b6a220d2d0000200b2d00004922091b20082d0000200c2d000049220a1b220f2d00002110200d200b2008200a1b20091b22112d000021122002200e6a220341086a2008200c200a1b220841086a2902003702002003200829020037020020032011200f201220104922081b220c290200370210200341186a200c41086a290200370200200341286a200f201120081b220841086a29020037020020032008290200370220200341386a200b200d20091b220841086a290200370200200320082902003702300c030b20022000290200370200200241086a200041086a2902003702002002200641047422036a2208200020036a2203290200370200200841086a200341086a290200370200410121070c020b000b20002002200220014104746a220310b7948080002000200641047422086a200220086a20034180016a10b794808000410821070b200120066b21100240200720064f0d00200741047421092007210d03402002200d41047422086a2203200020086a22082902002213370200200341086a200841086a220b29020037020002402013a7220a41ff0171220c200341706a2d00004f0d00200520082900013703002005200b2900003700072009210302400340200220036a2208200841706a220b290200370200200841086a200b41086a290200370200024020034110470d00200221030c020b200341706a2103200c200841606a2d0000490d000b200220036a21030b2003200a3a000020032005290300370001200341086a20052900073700000b200941106a2109200d41016a220d2006470d000b0b2002200641047422036a21090240200720104f0d00200020036a21122007410474210c4110210f2009211103402009200741047422086a2203201220086a22082902002213370200200341086a200841086a220b29020037020002402013a7220e41ff0171220a200341706a2d00004f0d00200520082900013703002005200b290000370007200f210b20112108024003402008200c6a2203200341706a220d290200370200200341086a200d41086a2902003702000240200c200b470d00200921030c020b200b41106a210b200841706a2108200a200341606a2d0000490d000b2008200c6a21030b2003200e3a000020032005290300370001200341086a20052900073700000b200f41706a210f201141106a2111200741016a22072010470d000b0b200941706a21032002200141047441706a220b6a21082000200b6a210b034020002009200220092d0000220c20022d0000220d49220a1b2207290200370200200041086a200741086a290200370200200b2003200820082d0000220720032d0000220f4922111b220e290200370200200b41086a200e41086a290200370200200b41706a210b200041106a210020034170410020111b6a21032008417041002007200f4f1b6a21082002200c200d4f4104746a21022009200a4104746a21092006417f6a22060d000b200341106a210302402001410171450d002000200220092002200349220b1b220c290200370200200041086a200c41086a2902003702002009200220034f4104746a21092002200b4104746a21020b20022003470d012009200841106a470d010b200541106a2480808080000f0b109c81808000000bbc0801097f024020002802082201450d002000280204210241002103034002402002200341e0016c6a2204280280012200418080808078460d0002402004280288012205450d002004280284012100034002402000280200450d00200041046a280200450d00200041086a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200041dc006a280200450d00200041e0006a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200041e8006a280200450d00200041ec006a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041f8006a21002005417f6a22050d000b20042802800121000b2000450d0020042802840122002000417e6a2f00006b41002802ec82d48000118180808000000b02402004280210450d00200441186a10af948080000b0240200428029c012205450d0020042802980141d0006a210003400240200041706a280200450d00200041746a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041f0006a21002005417f6a22050d000b0b0240200428029401450d0020042802980122002000417e6a2f00006b41002802ec82d48000118180808000000b02402004280238450d00200441c0006a10af948080000b024020042802a8012205450d0020042802a40141306a210003400240200041706a280200450d00200041746a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041d0006a21002005417f6a22050d000b0b024020042802a001450d0020042802a40122002000417e6a2f00006b41002802ec82d48000118180808000000b02402004280260450d00200441e8006a10af948080000b024020042802b4012206450d0020042802b00121072006410171210841002105024020064101460d00200741d4006a21002006417e71210941002105034002402000414c6a280200450d00200041506a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041e0006a21002009200541026a2205470d000b0b2008450d002007200541306c6a2200280220450d00200041206a28020422002000417e6a2f00006b41002802ec82d48000118180808000000b024020042802ac01450d0020042802b00122002000417e6a2f00006b41002802ec82d48000118180808000000b024020042802b801450d0020042802bc0122002000417e6a2f00006b41002802ec82d48000118180808000000b200341016a22032001470d000b0b0bb60503037f017e077f23808080800041d0006b2203248080808000200341106a200110ac948080000240024020032802104101470d00200128022041016a2204417f20041b22044104200441044b1b2205ad42147e2206a72104410021070240024002402006422088a70d00200441fcffffff074b0d002003280224210820032802202109200328021c210a2003280218210b20032d0014210c024020040d004104210d410021050c030b41002d008083d480001a200441002802f482d480001182808080000022070d01410421070b20072004200210b980808000000b2007200741036a417c71220d20076b22046a417e6a20043b00000b200d2008360210200d200936020c200d200a360208200d200b360204200d200c3a00002003200d360208200320053602042003410136020c200341106a41206a200141206a280200360200200341106a41186a200141186a290200370300200341106a41106a200141106a290200370300200341106a41086a200141086a29020037030020032001290200370310200341386a200341106a10ac94808000024020032802384101470d0041242107410121040340200328024c210520032802482102200328024421082003280240210920032d003c210a024020042003280204470d00200341046a2004200328023041016a2201417f20011b4104411410ca948080002003280208210d0b200d20076a220120053602002001417c6a2002360200200141786a2008360200200141746a2009360200200141706a200a3a00002003200441016a220436020c200741146a2107200341386a200341106a10ac9480800020032802380d000b0b200341106a10b094808000200041086a200341046a41086a280200360200200020032902043702000c010b2000410036020820004280808080c000370200200110b0948080000b200341d0006a2480808080000ba00301097f0240200220016b220441fcffffff074d0d0041002004200310b980808000000b410421050240024020022001470d00410021060c010b41002d008083d480001a0240200441002802f482d480001182808080000022020d0041042004200310b980808000000b200441047621062002200241036a417c71220520026b22046a417e6a20043b000020062107410021040340200120046a2208410c6a2802002203410274210241002109024002400240200341ffffffff034b0d00200241fcffffff074b0d0020082d00002109200841086a280200210a024020020d004104210b410021080c030b41002d008083d480001a200241002802f482d480001182808080000022080d01410421090b2009200241dcf8cc800010b980808000000b2008200841036a417c71220b20086b220c6a417e6a200c3b0000200321080b200b200a200210f497808000210a200520046a220220093a00002002410c6a2003360200200241086a200a360200200241046a2008360200200441106a21042007417f6a22070d000b0b2000200636020820002005360204200020063602000b8b0f01117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610bb948080000c010b200241706a21080340024020040d0020002001200220034101200610b5948080000c020b20002001410376220941f0006c6a210a200020094106746a210b02400240200141c000490d002000200b200a200910c294808000210c0c010b2000200a200b20002d00002209200b2d0000220c49220d200c200a2d0000220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2902003703002007200c290200370308200c20006b410476210f024002400240024002402005450d0020052d0000200c2d00004f0d010b20032001490d014100210b200021092002200141047422106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b4104746a22134f0d0003402002200a41706a20092d0000200c2d000049220d1b200b4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200941106a220e2d0000200c2d00004922141b200b200d6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200941206a220d2d0000200c2d000049220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200941306a220d2d0000200c2d00004922141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210b200941c0006a22092013490d000b0b02402009200020124104746a22144f0d0003402002200a41706a220a20092d0000200c2d000049220d1b200b4104746a220e2009290200370200200e41086a200941086a290200370200200b200d6a210b200941106a22092014490d000b0b024020122001460d00200a41706a220a200b4104746a220d2009290200370200200d41086a200941086a290200370200200941106a2109200121120c010b0b20002002200b410474221210f49780800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a290200370200200941106a2011200d41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200d41026a220d470d000b0b2016450d002017200d4104746a22092011200d417f734104746a220a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c200741fcf9cc800036021820074204370220200741186a4184facc800010fe80808000000b20032001490d004100210d200021092002200141047422116a2212210a03400240200920004100200f417d6a220b200b200f4b1b4104746a22134f0d0003402002200a41706a200c2d000020092d00004f220b1b200d4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200c2d0000200941106a220e2d00004f22141b200d200b6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200c2d0000200941206a220d2d00004f220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200c2d0000200941306a220d2d00004f22141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210d200941c0006a22092013490d000b0b024020092000200f4104746a22144f0d0003402002200a41706a220a200c2d000020092d00004f220b1b200d4104746a220e2009290200370200200e41086a200941086a290200370200200d200b6a210d200941106a22092014490d000b0b0240200f2001460d002002200d4104746a220b2009290200370200200b41086a200941086a290200370200200941106a2109200d41016a210d200a41706a210a2001210f0c010b0b20002002200d410474220a10f4978080002109024002402001200d460d002001200d6b220b41017121132009200a6a21004100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2000210903402009200a290200370200200941086a200a41086a290200370200200941106a2012200c41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200c41026a220c470d000b0b02402013450d002000200c4104746a22092012200c417f734104746a220a290200370200200941086a200a41086a2902003702000b2001200d4f0d01200d20014194facc8000109281808000000b200920014104746a410020022003200610bb948080000c050b41002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610bf94808000200b2101200b41214f0d010b0b2000200b20022003200610bb948080000b200741306a2480808080000be20b01117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610ba948080000c010b2002416c6a21080340024020040d0020002001200220034101200610b6948080000c020b200020014103762209418c016c6a210a2000200941d0006c6a210b02400240200141c000490d002000200b200a200910c394808000210c0c010b2000200a200b20002d00002209200b2d0000220d49220e200d200a2d0000220f49731b200e2009200f49731b210c0b2004417f6a2104200741106a200c41106a280200360200200741086a200c41086a2902003703002007200c290200370300200c20006b41146e2110024002400240024002402005450d0020052d0000200c2d00004f0d010b20032001490d014100210a200021092002200141146c22116a2212210d201021130340024020092000201341146c6a220f4f0d0003402002200d416c6a220d20092d0000200c2d000049220e1b200a41146c6a220b2009290200370200200b41106a200941106a280200360200200b41086a200941086a290200370200200a200e6a210a200941146a2209200f490d000b0b024020132001460d00200d416c6a220d200a41146c6a220b2009290200370200200b41106a200941106a280200360200200b41086a200941086a290200370200200941146a2109200121130c010b0b20002002200a41146c221410f49780800021152001200a6b211302402001200a460d0020134101712116201520146a21174100210d02402001200a41016a460d002013417e71210f200820116a210b4100210d2017210903402009200b290200370200200941106a200b41106a280200360200200941086a200b41086a290200370200200941146a2012200d41feffffff037341146c6a220e2902003702002009411c6a200e41086a290200370200200941246a200e41106a280200360200200b41586a210b200941286a2109200f200d41026a220d470d000b0b2016450d002017200d41146c6a22092012200d417f7341146c6a220b290200370200200941106a200b41106a280200360200200941086a200b41086a2902003702000b200a450d002001200a4f0d02200741003602282007410136021c200741fcf9cc800036021820074204370220200741186a4184facc800010fe80808000000b20032001490d004100210b200021092002200141146c22146a2213210d0340024020092000201041146c6a220f4f0d0003402002200d416c6a220d200c2d000020092d00004f220e1b200b41146c6a220a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200b200e6a210b200941146a2209200f490d000b0b024020102001460d002002200b41146c6a220a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200941146a2109200b41016a210b200d416c6a210d200121100c010b0b20002002200b41146c220d10f4978080002109024002402001200b460d002001200b6b220a41017121122009200d6a21004100210e02402001200b41016a460d00200a417e71210c200820146a210d4100210e2000210903402009200d290200370200200941106a200d41106a280200360200200941086a200d41086a290200370200200941146a2013200e41feffffff037341146c6a220f2902003702002009411c6a200f41086a290200370200200941246a200f41106a280200360200200d41586a210d200941286a2109200c200e41026a220e470d000b0b02402012450d002000200e41146c6a22092013200e417f7341146c6a220d290200370200200941106a200d41106a280200360200200941086a200d41086a2902003702000b2001200b4f0d01200b20014194facc8000109281808000000b2009200141146c6a410020022003200610ba948080000c050b41002105200a2101200a41214f0d030c020b000b201520146a20132002200320042007200610c094808000200a2101200a41214f0d010b0b2000200a20022003200610ba948080000b200741306a2480808080000be80c03057f017e0b7f23808080800041f0016b2202248080808000200128027c210320012802782104418080808078210502402001280280012206418080808078460d00200129028c0121072002200128028401220820012802880141f8006c6a3602d401200220063602d001200220083602cc01200220083602c801200241a0016a200241c8016a41a4fbcc800010a694808000200241086a2007370300200220022902a40137030020022802a00121050b024020012802102209450d002001280214210a200128021c2108200220012802204100200128021822061b3602e801200220083602e401200220063602e001200241003602dc0120022006410047220b3602d801200220083602d401200220063602d001200241003602cc012002200b3602c801200241b8016a200241c8016a10ae94808000200241186a200241bc016a290200370300200241206a200241c4016a2802003602002002200a3602b401200220022902b4013703100b2002200128029401360238200220012802980122063602342002200636023020022006200128029c0141f0006c6a36023c200241246a200241306a41a4fbcc800010a79480800002402001280238220c450d00200128023c210a20012802442108200220012802484100200128024022061b3602e801200220083602e401200220063602e001200241003602dc0120022006410047220b3602d801200220083602d401200220063602d001200241003602cc012002200b3602c801200241b8016a200241c8016a10ae94808000200241c0006a41086a200241bc016a290200370300200241d0006a200241c4016a280200360200200241d8006a41086a200141306a2903003703002002200a3602b40120022001290328370358200220022902b4013703400b200220012802a00136028001200220012802a401220636027c200220063602782002200620012802a80141d0006c6a36028401200241ec006a200241f8006a41a4fbcc800010a39480800002402001280260220d450d002001280264210a200128026c2108200220012802704100200128026822061b3602e801200220083602e401200220063602e001200241003602dc0120022006410047220b3602d801200220083602d401200220063602d001200241003602cc012002200b3602c801200241b8016a200241c8016a10ae9480800020024188016a41086a200241bc016a29020037030020024198016a200241c4016a280200360200200241c8016a41086a200141d8006a2903003703002002200a3602b401200220012903503703c801200220022902b401370388010b20012802b001220a2108024020012802b401220b450d00200b41306c210e200b417f6a41ffffffff0071210f200a21060240200b4103712208450d00200a21060340200641306a21062008417f6a22080d000b0b200a200e6a2108200f4103490d000340200641c0016a22062008470d000b0b20012802ac01210620012d00d801210b0240024020012802c401220e41024f0d000c010b20012802c801210f20012802cc01211020012802d001211120012802d40121120b20002005360280012000200336027c2000200436027820002002290300370284012000200936021020002002290310370214200020012903003703002000418c016a200241086a290300370200200041086a200141086a2903003703002000411c6a200241106a41086a290300370200200041246a200241106a41106a2802003602002000200c360238200041306a200241d8006a41086a29030037030020002002290358370328200041cc006a200241c0006a41106a280200360200200041c4006a200241c0006a41086a2903003702002000200229034037023c2000419c016a200241ec006a41086a2802003602002000200229026c37029401200041d8006a200241c8016a41086a290300370300200020022903c8013703502000200d360260200041f4006a20024188016a41106a280200360200200041ec006a20024188016a41086a290300370200200020022903880137026420002008200a6b41306e3602a8012000200a3602a401200020063602a001200041b4016a200241246a41086a280200360200200020022902243702ac012000200b3a00d801200041c0016a200141c0016a280200360200200020012903b8013703b801200020123602d401200020113602d001200020103602cc012000200f3602c8012000200e3602c401200241f0016a2480808080000b8c0101037f024020034108490d00200020002003410376220341067422046a2000200341f0006c22056a200310c29480800021002001200120046a200120056a200310c29480800021012002200220046a200220056a200310c29480800021020b20002002200120002d0000220320012d00002204492205200420022d0000220649731b20052003200649731b0b8d0101037f024020034108490d00200020002003410376220341d0006c22046a20002003418c016c22056a200310c39480800021002001200120046a200120056a200310c39480800021012002200220046a200220056a200310c39480800021020b20002002200120002d0000220320012d00002204492205200420022d0000220649731b20052003200649731b0bec0301097f2380808080004180046b220224808080800020012802f001210320012802f40122042105024020012802f8012206450d002004200641e0016c22076a2105200241c0006a21084100210603402008200420066a220941e00110f497808000210a2002200936023c20022004360238200241a0026a200a10c1948080002009200241a0026a41e00110f4978080001a2007200641e0016a2206470d000b0b20022003360204200220043602082002200520046b41e0016e36020c200241b0026a200141286a290300370300200241a8026a200141206a290300370300200220012903183703a002200241386a200141e0006a200141186a10cf94808000200220012802fc01360224200220012802800222063602202002200636021c2002200620012802840241386c6a360228200241106a2002411c6a41a4fbcc800010a894808000200241a0026a41286a200141c0006a290300370300200241a0026a41206a200141386a290300370300200241a0026a41386a200141d0006a290300370300200241a0026a41c0006a200141d8006a290300370300200220012903303703b802200220012903483703d002200241003602342002410036022c2000200241046a200241386a200241106a200241a0026a2002412c6a10fa9080800020024180046a2480808080000b910201087f23808080800041206b220224808080800020012802302103200128022c2104200220012802143602182002200128021822053602142002200536021020022005200128021c41d0006c6a36021c200241046a200241106a41a4fbcc800010ab94808000024002402001280200220541024f0d000c010b2001280204210620012802082107200128020c2108200128021021090b200020033602302000200436022c20002002290204370214200020093602102000200836020c20002007360208200020063602042000200536020020002001290220370220200020012802343602342000411c6a2002410c6a280200360200200041286a200141286a280200360200200241206a2480808080000bc902010a7f200128022422022103024020012802282204450d00200441057421052004417f6a41ffffff3f71210620022107024020044103712203450d00200221070340200741206a21072003417f6a22030d000b0b200220056a210320064103490d00034020074180016a22072003470d000b0b200128022021072001280204210420012802002105024002402001280238220641024f0d000c010b200128023c2108200128024021092001280244210a2001280248210b0b200020023602242000200736022020002004360204200020053602002000200b3602482000200a360244200020093602402000200836023c20002006360238200020012903083703082000200129022c37022c2000200320026b410576360228200041106a200141106a290300370300200041186a200141186a290300370300200041346a200141346a2802003602000be40301097f23808080800041c0006b2102410121030240024020012802004101470d00200241186a200141186a290300370300200241206a200141206a2903003703002002200128020c36020c2002200129020437020420022001290310370310200141286a2104200241286a21050c010b200241086a2105200141086a2104410021030b20012d00742106200128024421072001280240210820052004290300370300200541106a200441106a290300370300200541086a200441086a29030037030020022003360200024002402001280248220441024f0d000c010b200128024c21092001280250210a20012802542103200128025821050b200020063a0074200020073602442000200836024020002002290300370300200041086a200241086a290300370300200041106a200241106a290300370300200041186a200241186a290300370300200041206a200241206a290300370300200041286a200241286a290300370300200041306a200241306a290300370300200041386a200241386a29030037030020002005360258200020033602542000200a3602502000200936024c20002004360248200041e4006a200141e4006a2802003602002000200129025c37025c200041f0006a200141f0006a280200360200200020012903683703680b9303010d7f200128024422022103024020012802482204450d00200441057421052004417f6a41ffffff3f71210620022107024020044103712203450d00200221070340200741206a21072003417f6a22030d000b0b200220056a210320064103490d00034020074180016a22072003470d000b0b2001280240210720012802242104200128022021052001280254210620012802502108200128024c2109024002402001280258220a41024f0d000c010b200128025c210b2001280260210c2001280264210d2001280268210e0b200020023602442000200736024020002004360224200020053602202000200129030037030020002001290328370328200041186a200141186a290300370300200041106a200141106a290300370300200041086a200141086a2903003703002000200320026b410576360248200041306a200141306a290300370300200041386a200141386a2903003703002000200e3602682000200d3602642000200c3602602000200b36025c2000200a36025820002006360254200020083602502000200936024c0b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10c99480800020052802084101470d0120052802102102200528020c21060b2006200241bcfdcc800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000bec0a05057f017e037f017e027f23808080800041d0016b2202248080808000200128027c210320012802782104418080808078210502402001280280012206418080808078460d00200129028c0121072002200128028401220820012802880141f8006c6a3602cc01200220063602c801200220083602c401200220083602c001200241306a200241c0016a41c0f6cc800010a194808000200241086a200737030020022002290234370300200228023021050b02400240200128021022080d000c010b200241c8006a41086a200141086a290300370300200241c8006a411c6a2001411c6a290200370200200241c8006a41246a200141246a280200360200200220083602582002200129030037034820022001290214220737025c200241e0006a10af948080002007a721090b024002402001280238220a0d000c010b200241f0006a41086a200141306a29030022073703002002418c016a200141c4006a29020037020020024194016a200141cc006a280200360200200241c0016a41086a20073703002002200a360280012002200129032822073703702002200129023c220b37028401200220073703c00120024188016a10af94808000200ba7210c0b200220012802a001360228200220012802a4012206360224200220063602202002200620012802a80141d0006c6a36022c200241146a200241206a41b4fccc800010a99480800002400240200128026022060d000c010b20024198016a41086a200141d8006a2903002207370300200241b4016a200141ec006a290200370200200241bc016a200141f4006a280200360200200241306a41086a2007370300200220063602a8012002200129035022073703980120022001290264220b3702ac0120022007370330200241b0016a10af94808000200ba7210d0b200020053602502000200336024c20002004360248200020022903003702542000200936021420002008360210200020012903b80137037020002001290300370300200041f8006a200141c0016a280200360200200041dc006a200241086a290300370200200041086a200141086a29030037030020012d00d80121082000200a3602282000200c36022c200020063602402000200d360244200020083a007c200041206a200241c0016a41086a290300370300200020022903c00137031820002002290214370264200041ec006a200241146a41086a28020036020020002002290330370330200041386a200241306a41086a290300370300200128029801210a0240200128029c012206450d00200a41d0006a210003400240200041706a280200450d00200041746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022082008417e6a2f00006b41002802ec82d48000118180808000000b200041f0006a21002006417f6a22060d000b0b0240200128029401450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b20012802b0012105024020012802b4012208450d002008410171210341002106024020084101460d00200541d4006a21002008417e71210a41002106034002402000414c6a280200450d00200041506a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022082008417e6a2f00006b41002802ec82d48000118180808000000b200041e0006a2100200a200641026a2206470d000b0b2003450d002005200641306c6a2200280220450d00200041206a28020422002000417e6a2f00006b41002802ec82d48000118180808000000b024020012802ac01450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241d0016a2480808080000bc105010b7f02402001280280012202450d00200128027c22032104024020024101460d002002417f6a2204410371210520032d00002106024002402002417e6a41034f0d0041002107200321040c010b2004417c71210841002107200321040340200320076a220241046a2209200241036a220a200241026a220b200241016a2202200420022d00002202200641ff0171220649220c1b200b2d0000220420022006200c1b22024922061b200a2d0000220a2004200220061b22024922041b20092d00002206200a200220041b22024922091b21042006200220091b21062008200741046a2207470d000b0b2005450d00200720036a41016a2102034020022d00002207200641ff01712206200720064922071b21062002200420071b2104200241016a21022005417f6a22050d000b0b20042d00002105200020012903183703002000200129033037031820002001290348370330200041106a200141286a290300370300200041086a200141206a290300370300200041206a200141386a290300370300200041286a200141c0006a290300370300200041386a200141d0006a290300370300200041c0006a200141d8006a290300370300200041d8006a200141f0006a290300370300200041d0006a200141e8006a290300370300200020012903603703482001280284012109200128028801220621040240200128028c012207450d00200741386c210a2007417f6a41ffffffff0171210b20062102024020074103712204450d00200621020340200241386a21022004417f6a22040d000b0b2006200a6a2104200b4103490d000340200241e0016a22022004470d000b0b200020053a006c20002006360264200020093602602000200420066b41386e36026802402001280278450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b0f0b41ccfdcc8000412641c8fecc800010a181808000000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ccf8cc800010b980808000000b200020012003418002200141c10049200210b5948080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210b59480800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000ba90203037f017e027f2380808080004180206b22032480808080000240024020014180b51820014180b518491b2204200120014101766b2205200420054b1b220441cd01490d002004ad42147e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541ccf8cc800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210b69480800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341cc01200141c10049200210b6948080000b20034180206a2480808080000be10501077f23808080800041106b2203248080808000024002400240200128028c0122040d00410421050c010b4100210641002d008083d480001a2004410274220741002802f482d48000118280808000002208450d012008200841036a417c71220520086b22076a417e6a20073b000020044107712107024020044108490d00200441f8ffff1f71210941002106200521080340200820063602002008411c6a200641076a360200200841186a200641066a360200200841146a200641056a360200200841106a200641046a3602002008410c6a200641036a360200200841086a200641026a360200200841046a200641016a360200200841206a2108200641086a22062009470d000b0b2007450d00200520064102746a2108034020082006360200200841046a2108200641016a21062007417f6a22070d000b0b2003200436020c2003200536020820032004360204200341003a0000200041c8006a2003200341106a10ad9480800002402003280204450d00200328020822062006417e6a2f00006b41002802ec82d48000118180808000000b200020012902783702542000200129031837030020002001290348370330200041dc006a20014180016a280200360200200041086a200141206a290300370300200041106a200141286a290300370300200041386a200141d0006a290300370300200041c0006a200141d8006a29030037030020012802840121092001280288012207210802402004450d00200441386c21012004417f6a41ffffffff0171210520072106024020044103712208450d00200721060340200641386a21062008417f6a22080d000b0b200720016a210820054103490d000340200641e0016a22062008470d000b0b2000200736026420002009360260200020022903003703182000200820076b41386e360268200041206a200241086a290300370300200041286a200241106a290300370300200341106a2480808080000f0b4104200741d8ffcc800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541253a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205419d013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541343a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205418c013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d5003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d3003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fe003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541193a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541293a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ff013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d8003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054180013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ad013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542bac9cebdb4c8b5b8283703002005420437022c2005420f370224200541e882cd800036022020054100360218200541c385808000360210200542fcb588bdbac5fdcb6a37030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005420437022c20054202370224200541cc82cd800036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c8003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205418a013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e0003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205419a013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205413e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ed003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541de013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cd013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541123a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e2003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f1003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541233a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054182013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541bf013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541aa013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541db013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e7003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541dc003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e4003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205418d013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205413f3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fd003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fc013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f4003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50401067f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e881cd800010b5928080002004280218220542fb8491aeb8cedab7ba7f370308200542a691cddcd9a0e28da77f370300200441086a41086a220641013602002005420437022c200542113702242005419c82cd800036022020054100360218200541c48580800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe4003703000c010b200441086a41e881cd800010b592808000200428020c200641386c6a2205420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe40037030020042802082107200428020c21080b0240200128020822092001280200470d00200141c880cd800010a0938080000b2001280204200941246c6a220541053a00202005200336021c200520023602182005410036021420054280808080c00037020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542ccf7ccd0e0b29f8c3e3703002005420437022c20054212370224200541f084cd800036022020054100360218200541c685808000360210200542b8e7b4a18b87cedd4637030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541093a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054186013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541eb003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410f3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cb003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541dd003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fa013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205419f013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ae013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e6003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541bb013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c9003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ea013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fd013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ef013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205418f013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f7003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205413a3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205412e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054188013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d9003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541273a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f2003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f9003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054199013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205412f3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541df003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c3003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ac013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541053a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541df013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205411f3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541243a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541323a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541303a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b592808000200428020822054285b6be8f95fcc9ca073703002005420437022c200542123702242005418983cd800036022020054100360218200541c785808000360210200542f6f689c9e4f4cbdb4c37030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541eb013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541de003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542abf4eea5aba3ed80957f3703002005420437022c20054216370224200541b784cd800036022020054100360218200541c885808000360210200542f9d8f1fbeb9388f9d90037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541173a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541073a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ca013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d6003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ab013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410d3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205419b013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541da013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d7003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541af013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541213a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541be013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005420437022c20054202370224200541cc82cd800036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541073a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fa003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054183013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e3003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054181013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ba013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c5003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541143a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541113a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f0003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542abf4eea5aba3ed80957f3703002005420437022c20054210370224200541a784cd800036022020054100360218200541c885808000360210200542f9d8f1fbeb9388f9d90037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541373a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205412d3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cc003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fb013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ef003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205413b3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410a3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054194013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205413c3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50401067f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e881cd800010b5928080002004280218220542fb8491aeb8cedab7ba7f370308200542a691cddcd9a0e28da77f370300200441086a41086a220641013602002005420437022c200542113702242005419c82cd800036022020054100360218200541c48580800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe4003703000c010b200441086a41e881cd800010b592808000200428020c200641386c6a2205420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe40037030020042802082107200428020c21080b0240200128020822092001280200470d00200141c880cd800010a0938080000b2001280204200941246c6a220541063a00202005200336021c200520023602182005410036021420054280808080c00037020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541133a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee4637030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205419e013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205411c3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c6003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054191013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ec013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d2003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541153a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541333a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542a19cde95be92a6d3ad7f3703002005420437022c200542123702242005418384cd800036022020054100360218200541c985808000360210200542e8d1bef3e58cfef72337030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d0003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541363a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541353a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054190013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e5003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541313a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e9003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541093a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f5003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541393a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f6003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054189013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541dc013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054196013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542ce999ce0cb81a2870f3703002005420437022c20054212370224200541f782cd800036022020054100360218200541ca85808000360210200542d194c6a489c9a7d44337030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054198013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205411b3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054195013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054192013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fc003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541da003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542d3f9b3aae597d0eef7003703002005420437022c2005420b370224200541d382cd800036022020054100360218200541cb85808000360210200542d599cea6ddba9d9c4d37030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fb003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cb013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c1003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cf003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541dd013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541063a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541bc013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b59280800020042802082205428d94ecbda8e5dab39f7f3703002005420437022c2005420a370224200541de82cd800036022020054100360218200541cc8580800036021020054288f8888dbae09bdbe50037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541073a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ce013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542f1e7ebbbcde7e2a22f3703002005420437022c200542093702242005418285cd800036022020054100360218200541cd85808000360210200542d6ebfba9e68ad8e31437030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e1003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ee003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541383a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541163a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054185013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054193013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cd003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c0003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054184013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541203a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541183a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d4003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541263a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205411e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c2003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fe013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ca003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f8003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c7003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ed013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ee013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205413d3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205419c013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cc013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ec003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205411a3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541223a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ea003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d1003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205412a3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205412b3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541db003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541103a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205418b013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205412c3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541bd013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205418e013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cf013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054197013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ff003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e8003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410c3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50401067f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e881cd800010b5928080002004280218220542fb8491aeb8cedab7ba7f370308200542a691cddcd9a0e28da77f370300200441086a41086a220641013602002005420437022c200542113702242005419c82cd800036022020054100360218200541c48580800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe4003703000c010b200441086a41e881cd800010b592808000200428020c200641386c6a2205420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe40037030020042802082107200428020c21080b0240200128020822092001280200470d00200141c880cd800010a0938080000b2001280204200941246c6a220541043a00202005200336021c200520023602182005410036021420054280808080c00037020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f3003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ce003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054187013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541283a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205411d3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542a19cde95be92a6d3ad7f3703002005420437022c200542123702242005419584cd800036022020054100360218200541c985808000360210200542e8d1bef3e58cfef72337030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410b3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c4003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bb40402037f017e23808080800041c0006b2201248080808000200141186a41f086cd8000410a41fa86cd8000411b10c1928080002001410036021420014280808080c00037020c2001410036023820014280808080c000370230200141246a200141306a419587cd8000410a10e395808000200141306a200141246a419f87cd8000410910d796808000200141246a200141306a41a887cd80004104108b95808000200141306a200141246a41ac87cd8000410510e5958080000240200128023822022001280230470d00200141306a41c880cd800010a0938080000b2001280234200241246c22036a220241083a00202002411936021c200241b187cd800036021820024204370210200242003702082002428080808080013702002001280234210220012001280230360238200120023602302001200220036a41246a36023c20012002360234200141246a200141306a41d881cd800010f296808000024020012802182202418080808078470d0041f881cd80004111418c82cd800010a181808000000b200129021c2104200142888080808001370230200142808080808001370238200041c4006a200141306a41eca0cd800010f1968080002001413b6a200141246a41086a2802003600002000200437023c20002002360238200041013a000020002001410c6a2202290200370250200041d8006a200241086a2802003602002001200129022437003320002001290030370001200041086a200141376a290000370000200141c0006a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141eca0cd800010f1968080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004104360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bf50101047f23808080800041206b22032480808080004100210402400240200241146c220541046a22064100480d0041002d008083d480001a200641002802f482d480001182808080000022040d01410121040b2004200641f485cd800010b980808000000b2004417e6a41003b000020034100360214200320043602102003200636020c200320023602182003200341186a36021c2003411c6a2003410c6a10fe9680800002402002450d00034020012003410c6a10e396808000200141146a21012005416c6a22050d000b0b2000200329020c370200200041086a2003410c6a41086a280200360200200341206a2480808080000bee0201067f23808080800041206b22022480808080002002411c6a2103200241186a210402400240024002400240024020002d000022050e050001020305000b2002200041016a36021420002802102106200028020c210041002105200421070c030b410121052002200041016a36021420002802102106200028020c2100200421070c020b2002200041016a36021420002802102106200028020c210041022105200421070c010b200241146a2107200028020c21062000280208210041032105200421030b20032006360200200720003602000b20022005360210200241046a200241106a10e596808000200228020821000240200228020c22032001280200200128020822056b4d0d0020012005200310f491808000200128020821050b200128020420056a2000200310f4978080001a2001200520036a36020802402002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000bba0301067f23808080800041206b220224808080800041002103024002400240200128020c220441096a22054100480d00024020050d00410121030c030b41002d008083d480001a200541002802f482d480001182808080000022030d01410121030b2003200541f485cd800010b980808000000b2003417e6a41003b00000b4100210620024100360214200220033602102002200536020c2001280200418f9ccd80006a2d00002107024020050d002002410c6a4100410110f491808000200228020c210520022802102103200228021421060b200320066a20073a00002002200641016a2206360214200128020421070240200520066b41034b0d002002410c6a2006410410f49180800020022802102103200228021421060b200320066a20072800003600002002200641046a36021420012802082101200220043602182002200241186a36021c2002411c6a2002410c6a10fe9680800002402004200228020c200228021422056b4d0d002002410c6a2005200410f491808000200228021421050b200228021020056a2001200410f4978080001a200041086a200520046a3602002000200229020c370200200241206a2480808080000be30403017f017e047f23808080800041206b2202248080808000024002400240024002400240024020012802000e050001020304000b200129020421032002200128020c3602142002200337020c200241063602082000200241086a10e4968080000c040b200129020421032002200128020c3602142002200337020c200241043602082000200241086a10e4968080000c030b200129020421032002200128020c3602142002200337020c200241053602082000200241086a10e4968080000c020b410021040240024002402001280208220541056a22064100480d0020012802042107024020060d00200241003602102002428080808010370208200241086a4100410110f491808000200228020c2101200228021021040c030b4100210441002d008083d480001a200641002802f482d480001182808080000022010d01410121040b2004200641f485cd800010b980808000000b2001417e6a41003b00002002200136020c200220063602080b200120046a41003a00002002200441016a360210200220053602182002200241186a36021c2002411c6a200241086a10fe96808000024020052002280208200228021022016b4d0d00200241086a2001200510f491808000200228021021010b200228020c20016a2007200510f4978080001a200041086a200120056a360200200020022902083702000c010b41002d008083d480001a410141002802f482d48000118280808000002201450d01200141083a00002000410136020820002001360204200041013602002001417e6a41003b00000b200241206a2480808080000f0b4101410141f485cd800010b980808000000bab0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141eca0cd800010f1968080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041c000360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bab0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141eca0cd800010f1968080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041c100360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bf10101067f23808080800041106b22022480808080002002410c6a2103200241086a210402400240024002400240024020012d000022050e050001020305000b2002200141016a36020420012802102106200128020c210141002105200421070c030b410121052002200141016a36020420012802102106200128020c2101200421070c020b2002200141016a36020420012802102106200128020c210141022105200421070c010b200241046a2107200128020c21062001280208210141032105200421030b20032006360200200720013602000b200220053602002000200210e596808000200241106a2480808080000bcc3502027f017e23808080800041e0006b2201248080808000200141206a41086a410036020020014280808080c000370220200141206a41c880cd800010a0938080002001280224220242808080808001370200200141086a41086a4101360200200241003a00202002410836021c200241b488cd8000360218200242043702102002420037020820012001290220370308200141206a200141086a41bc88cd8000410710cb96808000200141d0006a200141206a41c388cd8000410710f295808000200141206a200141d0006a41ca88cd8000410710df95808000200141d0006a200141206a41d188cd80004107108f95808000200141206a200141d0006a41d888cd8000410710ae95808000200141d0006a200141206a41df88cd80004107109796808000200141206a200141d0006a41e688cd8000410710bb95808000200141d0006a200141206a41ed88cd8000410710f095808000200141206a200141d0006a41f488cd8000410710fd95808000200141d0006a200141206a41fb88cd8000410810dd95808000200141206a200141d0006a418389cd8000410810de96808000200141d0006a200141206a418b89cd8000410810d696808000200141206a200141d0006a419389cd8000410810c095808000200141d0006a200141206a419b89cd8000410810d596808000200141206a200141d0006a41a389cd80004108109095808000200141d0006a200141206a41ab89cd8000410810ca96808000200141206a200141d0006a41b389cd8000410810d295808000200141d0006a200141206a41bb89cd8000410810f094808000200141206a200141d0006a41c389cd8000410810e495808000200141d0006a200141206a41cb89cd8000410810d095808000200141206a200141d0006a41d389cd8000410810ee95808000200141d0006a200141206a41db89cd8000410810a196808000200141206a200141d0006a41e389cd8000410810ba95808000200141d0006a200141206a41eb89cd8000410810a996808000200141206a200141d0006a41f389cd8000410810dc94808000200141d0006a200141206a41fb89cd8000410810be96808000200141206a200141d0006a41838acd80004108108996808000200141d0006a200141206a418b8acd8000410810e895808000200141206a200141d0006a41938acd8000410810dc96808000200141d0006a200141206a419b8acd8000410810ae96808000200141206a200141d0006a41a38acd8000410810b095808000200141d0006a200141206a41ab8acd8000410810a896808000200141206a200141d0006a41b38acd8000410810c695808000200141d0006a200141206a41bb8acd8000410810c196808000200141206a200141d0006a41c38acd8000410810f694808000200141d0006a200141206a41cb8acd8000410810b295808000200141206a200141d0006a41d38acd8000410810d094808000200141d0006a200141206a41db8acd8000410810ad96808000200141206a200141d0006a41e38acd8000410810a595808000200141d0006a200141206a41eb8acd8000410810db96808000200141206a200141d0006a41f38acd8000410810de94808000200141d0006a200141206a41fb8acd8000410810c596808000200141206a200141d0006a41838bcd8000410810c896808000200141d0006a200141206a418b8bcd8000410810ce96808000200141206a200141d0006a41938bcd8000410810d795808000200141d0006a200141206a419b8bcd8000410810a295808000200141206a200141d0006a41a38bcd8000410810a995808000200141d0006a200141206a41ab8bcd8000410810b595808000200141206a200141d0006a41b38bcd8000410810fa95808000200141d0006a200141206a41bb8bcd8000410810b395808000200141206a200141d0006a41c38bcd8000410810f195808000200141d0006a200141206a41cb8bcd8000410810d594808000200141206a200141d0006a41d38bcd8000410810f695808000200141d0006a200141206a41db8bcd8000410810f595808000200141206a200141d0006a41e38bcd8000410810d695808000200141d0006a200141206a41eb8bcd8000410810a096808000200141206a200141d0006a41f38bcd8000410810ff95808000200141d0006a200141206a41fb8bcd8000410810a195808000200141206a200141d0006a41838ccd8000410810dc95808000200141d0006a200141206a418b8ccd8000410810e095808000200141206a200141d0006a41938ccd8000410810ba96808000200141d0006a200141206a419b8ccd8000410810eb94808000200141206a200141d0006a41a38ccd80004108108595808000200141d0006a200141206a41ab8ccd8000410810a696808000200141206a200141d0006a41b38ccd80004108109296808000200141d0006a200141206a41bb8ccd8000410810b396808000200141206a200141d0006a41c38ccd8000410810ab95808000200141d0006a200141206a41cb8ccd8000410810df96808000200141206a200141d0006a41d38ccd8000410810cf95808000200141d0006a200141206a41db8ccd8000410810e995808000200141206a200141d0006a41e38ccd8000410810b796808000200141d0006a200141206a41eb8ccd8000410810e594808000200141206a200141d0006a41f38ccd80004108109b95808000200141d0006a200141206a41fb8ccd8000410810b596808000200141206a200141d0006a41838dcd80004108109195808000200141d0006a200141206a418b8dcd8000410810d995808000200141206a200141d0006a41938dcd8000410810a496808000200141d0006a200141206a419b8dcd8000410810d996808000200141206a200141d0006a41a38dcd80004108109596808000200141d0006a200141206a41ab8dcd8000410810f495808000200141206a200141d0006a41b38dcd8000410810c496808000200141d0006a200141206a41bb8dcd8000410810ed95808000200141206a200141d0006a41c38dcd8000410810da94808000200141d0006a200141206a41cb8dcd8000410810ac96808000200141206a200141d0006a41d38dcd8000410810d894808000200141d0006a200141206a41db8dcd8000410810bd95808000200141206a200141d0006a41e38dcd8000410810c495808000200141d0006a200141206a41eb8dcd8000410810e094808000200141206a200141d0006a41f38dcd8000410810a495808000200141d0006a200141206a41fb8dcd80004108108e96808000200141206a200141d0006a41838ecd8000410810c996808000200141d0006a200141206a418b8ecd8000410810ff94808000200141206a200141d0006a41938ecd80004108109295808000200141d0006a200141206a419b8ecd8000410810b895808000200141206a200141d0006a41a38ecd8000410810aa95808000200141d0006a200141206a41ab8ecd8000410810e994808000200141206a200141d0006a41b38ecd80004108109e96808000200141d0006a200141206a41bb8ecd8000410810f294808000200141206a200141d0006a41c38ecd8000410810cb95808000200141d0006a200141206a41cb8ecd80004109108295808000200141206a200141d0006a41d48ecd8000410910f995808000200141d0006a200141206a41dd8ecd80004109109995808000200141206a200141d0006a41e68ecd8000410910fd94808000200141d0006a200141206a41ef8ecd8000410910d496808000200141206a200141d0006a41f88ecd8000410910fb95808000200141d0006a200141206a41818fcd8000410910c296808000200141206a200141d0006a418a8fcd80004109108e95808000200141d0006a200141206a41938fcd8000410910bd96808000200141206a200141d0006a419c8fcd8000410910ec94808000200141d0006a200141206a41a58fcd80004109109f96808000200141206a200141d0006a41ae8fcd8000410910db95808000200141d0006a200141206a41b78fcd8000410910d395808000200141206a200141d0006a41c08fcd8000410910f394808000200141d0006a200141206a41c98fcd8000410910a695808000200141206a200141d0006a41d28fcd8000410910d896808000200141d0006a200141206a41db8fcd80004109108995808000200141206a200141d0006a41e48fcd8000410910fe95808000200141d0006a200141206a41ed8fcd80004109108096808000200141206a200141d0006a41f68fcd8000410910a095808000200141d0006a200141206a41ff8fcd8000410910b696808000200141206a200141d0006a418890cd8000410910a795808000200141d0006a200141206a419190cd8000410910c995808000200141206a200141d0006a419a90cd80004109109096808000200141d0006a200141206a41a390cd80004109108d96808000200141206a200141d0006a41ac90cd80004109108795808000200141d0006a200141206a41b590cd8000410910db94808000200141206a200141d0006a41be90cd8000410910d396808000200141d0006a200141206a41c790cd8000410910e194808000200141206a200141d0006a41d090cd8000410910cd95808000200141d0006a200141206a41d990cd8000410910f794808000200141206a200141d0006a41e290cd8000410910ca95808000200141d0006a200141206a41eb90cd8000410910a796808000200141206a200141d0006a41f490cd8000410910a296808000200141d0006a200141206a41fd90cd80004109108d95808000200141206a200141d0006a418691cd8000410910da96808000200141d0006a200141206a418f91cd8000410910a395808000200141206a200141d0006a419891cd80004109108196808000200141d0006a200141206a41a191cd8000410910e694808000200141206a200141d0006a41aa91cd8000410910cc96808000200141d0006a200141206a41b391cd8000410910d794808000200141206a200141d0006a41bc91cd80004109108395808000200141d0006a200141206a41c591cd8000410910d096808000200141206a200141d0006a41ce91cd80004109109f95808000200141d0006a200141206a41d791cd8000410910f895808000200141206a200141d0006a41e091cd8000410910ea95808000200141d0006a200141206a41e991cd80004109108b96808000200141206a200141d0006a41f291cd8000410910a396808000200141d0006a200141206a41fb91cd8000410910de95808000200141206a200141d0006a418492cd80004109108a96808000200141d0006a200141206a418d92cd80004109108496808000200141206a200141d0006a419692cd8000410910d296808000200141d0006a200141206a419f92cd80004109108896808000200141206a200141d0006a41a892cd8000410910a895808000200141d0006a200141206a41b192cd8000410910ea94808000200141206a200141d0006a41ba92cd8000410910c195808000200141d0006a200141206a41c392cd8000410910bb96808000200141206a200141d0006a41cc92cd8000410910d394808000200141d0006a200141206a41d592cd8000410910e695808000200141206a200141d0006a41de92cd80004109109695808000200141d0006a200141206a41e792cd8000410910ef95808000200141206a200141d0006a41f092cd8000410910e195808000200141d0006a200141206a41f992cd8000410910d994808000200141206a200141d0006a418293cd8000410910c396808000200141d0006a200141206a418b93cd8000410910f594808000200141206a200141d0006a419493cd8000410910d895808000200141d0006a200141206a419d93cd80004109108c96808000200141206a200141d0006a41a693cd8000410910d494808000200141d0006a200141206a41af93cd8000410910dd94808000200141206a200141d0006a41b893cd8000410910fe94808000200141d0006a200141206a41c193cd8000410910fb94808000200141206a200141d0006a41ca93cd8000410910be95808000200141d0006a200141206a41d393cd8000410910ad95808000200141206a200141d0006a41dc93cd8000410910e294808000200141d0006a200141206a41e593cd80004109109895808000200141206a200141d0006a41ee93cd8000410910c595808000200141d0006a200141206a41f793cd8000410910ac95808000200141206a200141d0006a418094cd8000410910b296808000200141d0006a200141206a418994cd8000410910d294808000200141206a200141d0006a419294cd80004109109795808000200141d0006a200141206a419b94cd8000410910c096808000200141206a200141d0006a41a494cd8000410910cd96808000200141d0006a200141206a41ad94cd8000410910b495808000200141206a200141d0006a41b694cd8000410910eb95808000200141d0006a200141206a41bf94cd8000410910f494808000200141206a200141d0006a41c894cd8000410910e295808000200141d0006a200141206a41d194cd8000410910ce95808000200141206a200141d0006a41da94cd80004109109a95808000200141d0006a200141206a41e394cd80004109109896808000200141206a200141d0006a41ec94cd8000410910cf96808000200141d0006a200141206a41f594cd8000410910c795808000200141206a200141d0006a41fe94cd8000410910fa94808000200141d0006a200141206a418795cd80004109108696808000200141206a200141d0006a419095cd80004109109495808000200141d0006a200141206a419995cd80004109108195808000200141206a200141d0006a41a295cd8000410910cc95808000200141d0006a200141206a41ab95cd8000410910af96808000200141206a200141d0006a41b495cd8000410910ef94808000200141d0006a200141206a41bd95cd80004109109b96808000200141206a200141d0006a41c695cd8000410910b195808000200141d0006a200141206a41cf95cd8000410910f994808000200141206a200141d0006a41d895cd8000410910a596808000200141d0006a200141206a41e195cd8000410910bc95808000200141206a200141d0006a41ea95cd80004109109196808000200141d0006a200141206a41f395cd8000410910bc96808000200141206a200141d0006a41fc95cd8000410910ee94808000200141d0006a200141206a418596cd80004109109a96808000200141206a200141d0006a418e96cd8000410910d196808000200141d0006a200141206a419796cd8000410910e795808000200141206a200141d0006a41a096cd8000410910ab96808000200141d0006a200141206a41a996cd8000410910c696808000200141206a200141d0006a41b296cd80004109108596808000200141d0006a200141206a41bb96cd80004109109496808000200141206a200141d0006a41c496cd80004109108296808000200141d0006a200141206a41cd96cd8000410910bf95808000200141206a200141d0006a41d696cd8000410910d595808000200141d0006a200141206a41df96cd8000410910d694808000200141206a200141d0006a41e896cd8000410910f194808000200141d0006a200141206a41f196cd8000410910c295808000200141206a200141d0006a41fa96cd8000410910fc94808000200141d0006a200141206a418397cd80004109108396808000200141206a200141d0006a418c97cd80004109109696808000200141d0006a200141206a419597cd8000410910ed94808000200141206a200141d0006a419e97cd8000410910af95808000200141d0006a200141206a41a797cd8000410910c395808000200141206a200141d0006a41b097cd8000410910fc95808000200141d0006a200141206a41b997cd8000410910b096808000200141206a200141d0006a41c297cd80004109108095808000200141d0006a200141206a41cb97cd80004109109c96808000200141206a200141d0006a41d497cd80004109109396808000200141d0006a200141206a41dd97cd80004109109395808000200141206a200141d0006a41e697cd8000410910e894808000200141d0006a200141206a41ef97cd80004109108495808000200141206a200141d0006a41f897cd8000410910c796808000200141d0006a200141206a418198cd80004109109c95808000200141206a200141d0006a418a98cd8000410910b795808000200141d0006a200141206a419398cd8000410910ec95808000200141206a200141d0006a419c98cd8000410910b896808000200141d0006a200141206a41a598cd8000410910b996808000200141206a200141d0006a41ae98cd80004109109e95808000200141d0006a200141206a41b798cd8000410910e794808000200141206a200141d0006a41c098cd8000410910d194808000200141d0006a200141206a41c998cd80004109108695808000200141206a200141d0006a41d298cd8000410910f795808000200141d0006a200141206a41db98cd8000410910b196808000200141206a200141d0006a41e498cd80004109108a95808000200141d0006a200141206a41ed98cd8000410910d195808000200141206a200141d0006a41f698cd8000410910bf96808000200141d0006a200141206a41ff98cd8000410910f894808000200141206a200141d0006a418899cd8000410910aa96808000200141d0006a200141206a419199cd80004109109595808000200141206a200141d0006a419a99cd8000410910da95808000200141d0006a200141206a41a399cd80004109108895808000200141206a200141d0006a41ac99cd80004109109d95808000200141d0006a200141206a41b599cd8000410910b496808000200141146a200141d0006a41be99cd8000410910df94808000200141206a41186a41c799cd8000410341ca99cd8000411810c19280800020014100360234200141043602302001410036022c2001200128021436025820012001280218220236025020012002200128021c41246c6a36025c20012002360254200141c4006a200141d0006a41d881cd800010f296808000024020012802382202418080808078470d0041f881cd80004111418c82cd800010a181808000000b200129023c2103200142888080808001370250200142808080808001370258200041c4006a200141d0006a41eca0cd800010f196808000200141db006a200141c4006a41086a2802003600002000200337023c20002002360238200041013a000020002001412c6a2202290200370250200041d8006a200241086a2802003602002001200129024437005320002001290050370001200041086a200141d0006a41076a290000370000200141e0006a2480808080000bf10601077f23808080800041206b22022480808080000240024002400240024002400240024020002d0000220320012d00002204470d00410c21054108210602400240024002400240024020030e05000102050d000b20002800012001280001470d020c030b20002800012001280001460d0241e299cd8000411441002802f480d48000118b80808000002002411c6a2105200241186a21060c080b20002800012001280001460d0141e299cd8000411441002802f480d48000118b80808000002002411c6a2105200241186a21060c060b41e299cd8000411441002802f480d48000118b80808000002002411c6a2105200241186a21060c030b41102105410c21060b200020056a2802002207200120056a280200470d00200020066a280200200120066a280200200710f597808000450d070b41e299cd8000411441002802f480d48000118b80808000002002411c6a2105200241186a210620030e050003020105000b2002200041016a36021420002802102107200028020c210041002103200621080c030b200241146a2108200028020c21072000280208210041032103200621050c020b2002200041016a36021420002802102107200028020c210041022103200621080c010b410121032002200041016a36021420002802102107200028020c2100200621080b20052007360200200820003602000b20022003360210200241046a200241106a10e59680800020022802082200200228020c41002802ec80d48000118b808080000002402002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b2002411c6a2100200241186a210302400240024002400240024020040e050001020305000b2002200141016a36021420012802102105200128020c210141002104200321060c030b410121042002200141016a36021420012802102105200128020c2101200321060c020b2002200141016a36021420012802102105200128020c210141022104200321060c010b200241146a2106200128020c21052001280208210141032104200321000b20002005360200200620013602000b20022004360210200241046a200241106a10e59680800020022802082200200228020c41002802ec80d48000118b80808000002002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000bcc0403057f017e027f23808080800041d0006b2201248080808000200141286a41f699cd8000410641fa86cd8000411b4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a41e881cd800010b59280800020012802142208429e8be7cd8981b3eaff003703002008420437022c2008420f370224200841b882cd80003602202008410436021c200841b482cd8000360218200841ce85808000360210200842e1d68ab6e4f7eea5b37f3703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a41d881cd800010f39680800002402007418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bea1004057f017e037f017e23808080800041d0006b2201248080808000200141186a41186a41fc99cd8000410941859acd800041184104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41d881cd800010f196808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41c880cd800010a093808000200128021c22084100360208200842808080808001370200200841003a00202008411036021c2008419d9acd80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41c880cd800010a0938080000b2001280244410141246c6a220841013a00202008411236021c200841ad9acd800036021820084204370210200842003702082008428080808080013702002007410141016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841023a00202008411436021c200841bf9acd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841033a00202008410c36021c200841d39acd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841043a00202008410b36021c200841df9acd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841053a00202008410c36021c200841ea9acd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841063a00202008410e36021c200841f69acd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841073a00202008410f36021c200841849bcd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841083a00202008411736021c200841939bcd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841093a00202008411536021c200841aa9bcd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a2208410a3a00202008410d36021c200841bf9bcd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a2208410b3a00202008410f36021c200841cc9bcd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a2208410c3a00202008410c36021c200841db9bcd80003602182008420437021020084200370208200842808080808001370200200141c8006a200941016a220836020020012001290318220a37034002402008200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200841246c22096a2208410d3a00202008410b36021c200841e79bcd800036021820084204370210200842003702082008428080808080013702002001280244210820012001280240360220200120083602182001200820096a41246a3602242001200836021c200141c0006a200141186a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41eca0cd800010f196808000200141186a410b6a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000bbf0303057f017e017f23808080800041d0006b2201248080808000200141286a41f29bcd8000410b41fd9bcd800041124104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c210620012802282107200142808080808001370248200142888080808001370240200141346a200141c0006a41d881cd800010f39680800002402007418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41eca0cd800010f196808000200141106a410b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041cf8580800036021820004280d4e2cbe1c7a683cd003703102000429995e3dd95c0fff102370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041c58580800036021820004296e397c6bfa5aeee46370310200042aceff0b4f2bd8f8fe400370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010f7968080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741246e2208200128020822014101764f0d01410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a410020084104412410f7968080002003280208210a200328020c21090b200a200941246c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41246e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810f7968080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000b170020012802002001280204200028020010b1818080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42147e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441146c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10f59680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10f59680800020052802084101470d0120052802102102200528020c21060b2006200241909dcd800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000ba50303027f027e037f200141106a21032002280214210420022903002105200129030021060240200228021822072001280210200128021822086b4d0d002003200820074104410c10f796808000200128021821080b20012802142008410c6c6a20042007410c6c10f4978080001a2001200820076a3602182002410036021820002003290300370310200041186a200341086a2802003602002001411c6a210720022802202108024020022802242209200128021c200128022422036b4d0d002007200320094104410c10f796808000200128022421030b20012802202003410c6c6a20082009410c6c10f4978080001a2001200320096a360224200241003602242000427f200620057c220520052006541b3703002000200729020037021c200041246a200741086a280200360200200020012d002820022d0028713a00282000200229030822062001290308220520062005541b37030802402002280210450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b0240200228021c450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b0b880f04057f017e037f017e23808080800041d0006b2201248080808000200141306a41a09dcd8000411241b29dcd800041204104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41d881cd800010f196808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41c880cd800010a093808000200128021c22084100360208200842808080808001370200200841003a00202008410436021c200841d29dcd80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41c880cd800010a0938080000b2001280244410141246c6a220841013a00202008410736021c200841d69dcd800036021820084204370210200842003702082008428080808080013702002007410141016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841023a00202008410636021c200841dd9dcd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841033a00202008410536021c200841e39dcd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841043a00202008410836021c200841e89dcd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841053a00202008411136021c200841f09dcd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841063a00202008411136021c200841819ecd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a2207200941016a36020020012001290318370340200141186a200141c0006a41929ecd8000410610c8958080000240200128022022092001280218470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841083a00202008410c36021c200841989ecd800036021820084204370210200842003702082008428080808080013702002007200941016a220936020020012001290218220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841093a00202008411336021c200841a49ecd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a2208410a3a00202008410936021c200841b79ecd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a2208410b3a00202008411536021c200841c09ecd80003602182008420437021020084200370208200842808080808001370200200141206a200941016a220836020020012001290340220a37031802402008200aa7470d00200141186a41c880cd800010a0938080000b200128021c200841246c22096a2208410c3a00202008410d36021c200841d59ecd80003602182008420437021020084200370208200842808080808001370200200128021c210820012001280218360220200120083602182001200820096a41246a3602242001200836021c200141c0006a200141186a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41eca0cd800010f196808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000be40503057f017e027f23808080800041d0006b2201248080808000200141286a41e29ecd8000411241b29dcd800041204104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a2207410036020020014280808080c000370210200141106a41c880cd800010a093808000200128021422084100360208200842808080808001370200200841003a00202008410c36021c200841f49ecd80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290210370340024020012802404101470d00200141c0006a41c880cd800010a0938080000b2001280244410141246c6a220841013a00202008411336021c200841809fcd800036021820084204370210200842003702082008428080808080013702002007410141016a36020020012001290340370310200141346a200141106a41929ecd8000410610e4948080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b9d0403057f017e027f23808080800041d0006b2201248080808000200141106a41186a41939fcd8000411841b29dcd800041204104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41ab9fcd80004107108796808000200141346a200141c0006a41b29fcd8000410710b6958080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a41d881cd800010f29680800002402007418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bb30604057f017e027f017e23808080800041d0006b2201248080808000200141306a41b99fcd8000411141b29dcd800041204104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41d881cd800010f196808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41c880cd800010a093808000200128021c22084100360208200842808080808001370200200841003a00202008410736021c200841ca9fcd80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41c880cd800010a0938080000b2001280244410141246c6a220841013a00202008410536021c200841d19fcd800036021820084204370210200842003702082008428080808080013702002007410141016a2208360200200120012903402209370318024020082009a7470d00200141186a41c880cd800010a0938080000b200128021c200841246c22076a220841023a00202008410836021c200841d69fcd80003602182008420437021020084200370208200842808080808001370200200128021c210820012001280218360220200120083602182001200820076a41246a3602242001200836021c200141c0006a200141186a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41eca0cd800010f196808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000bc10904057f017e037f017e23808080800041d0006b2201248080808000200141286a41de9fcd8000411041b29dcd800041204104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a22074100360200200142808080808001370210200141106a41e881cd800010b5928080002001280214220842a5e9e3ab9e929adc2c37030820084293888c8f89fdc6ec9e7f370300200141c0006a41086a220941013602002008420437022c20084213370224200841a383cd80003602202008410836021c2008419b83cd80003602182008419981808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41e881cd800010b5928080000b2001280244200941386c6a2208420437022c20084213370224200841be83cd80003602202008410836021c200841b683cd8000360218200841d085808000360210200842d0eeea8fe2e880c510370308200842b1b9bbf6d09c8ca47b3703002007200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41e881cd800010b5928080000b2001280214200941386c6a2208420437022c20084213370224200841be83cd80003602202008410836021c200841d183cd8000360218200841d085808000360210200842d0eeea8fe2e880c510370308200842b1b9bbf6d09c8ca47b370300200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41e881cd800010b5928080000b2001280244200941386c6a2208420437022c20084214370224200841e283cd80003602202008410936021c200841d983cd80003602182008419981808000360210200842a5e9e3ab9e929adc2c37030820084293888c8f89fdc6ec9e7f370300200141106a41086a200941016a220836020020012001290340220a37031002402008200aa7470d00200141106a41e881cd800010b5928080000b2001280214200841386c22096a2208420437022c20084204370224200841ff83cd80003602202008410936021c200841f683cd8000360218200841e980808000360210200842febac4ad81b6fafcb37f37030820084298848fa1dab08ba1743703002001280214210820012001280210360248200120083602402001200820096a41386a36024c20012008360244200141346a200141c0006a41d881cd800010f39680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000b1200200041fca0cd8000200110b1818080000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110f796808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110f796808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000b040041010be50101017f23808080800041c0006b2202248080808000200242808080801037020c200241003602142002410136021c200241aca1cd800036021820024201370224200241d185808000ad4220862002413c6aad8437033020022001412c6a36023c2002200241306a3602202002410c6a41fca0cd8000200241186a10b1818080001a20012d0020417f6a200128022420012802282002280210200228021441002802fc81d48000118780808000000240200228020c450d00200228021022012001417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000b02000bd20302027f017e23808080800041d0006b2201248080808000200141186a41cfa1cd8000410f41dea1cd8000410a10c1928080002001410036021420014280808080c00037020c20014100360248200142808080808001370240200141c0006a41e881cd800010b5928080002001280244220242aceff0b4f2bd8f8fe4003703002002420437022c20024207370224200241ad82cd800036022020024100360218200241c58580800036021020024296e397c6bfa5aeee463703082001280244210220012001280240360238200120023602302001200241386a36023c20012002360234200141246a200141306a41d881cd800010f396808000024020012802182202418080808078470d0041f881cd80004111418c82cd800010a181808000000b200129021c2103200142888080808001370240200142808080808001370248200041c4006a200141c0006a41eca0cd800010f196808000200141cb006a200141246a41086a2802003600002000200337023c20002002360238200041003a000020002001410c6a2202290200370250200041d8006a200241086a2802003602002001200129022437004320002001290040370001200041086a200141c7006a290000370000200141d0006a2480808080000bcc0403057f017e027f23808080800041d0006b2201248080808000200141286a41e8a1cd8000410e41dea1cd8000410a4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41f6a1cd8000410710f395808000200141106a200141c0006a41fda1cd8000410710dd96808000200141c0006a200141106a4184a2cd8000410510d495808000200141346a200141c0006a4189a2cd8000410310b9958080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a41d881cd800010f29680800002402007418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bf60503057f017e027f23808080800041d0006b2201248080808000200141286a418ca2cd8000410b41dea1cd8000410a4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a4100360200200142808080808001370210200141106a41e881cd800010b5928080002001280214220742dbd791d5c2919eaecd00370308200742e6ed8d82cc91adcb05370300200141c0006a41086a220841013602002007420437022c20074202370224200741cc82cd80003602202007410536021c200741c782cd8000360218200741b480808000360210200120012902103703400240200828020022072001280240470d00200141c0006a41e881cd800010b5928080000b2001280244200741386c22086a2207420437022c20074223370224200741cd84cd80003602202007410536021c200741ce82cd8000360218200741c485808000360210200742fb8491aeb8cedab7ba7f370308200742a691cddcd9a0e28da77f3703002001280244210720012001280240360248200120073602402001200720086a41386a36024c20012007360244200141346a200141c0006a41d881cd800010f39680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bb50503057f017e027f23808080800041c0006b2201248080808000200141246a4197a2cd8000411241dea1cd8000410a4104410010c2928080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41d881cd800010f196808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080c00037020c2001410c6a41c880cd800010a093808000200128021022074100360208200742808080808001370200200741003a00202007410c36021c200741a9a2cd80003602182007410036021420074280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41c880cd800010a0938080000b2001280234410141246c22086a220741013a00202007410736021c200741b5a2cd8000360218200742043702102007420037020820074280808080800137020020012802342107200120012802303602142001200736020c2001200720086a41246a36021820012007360210200141306a2001410c6a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a41eca0cd800010f196808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a2001410c6a41076a290000370000200141c0006a2480808080000b900e04057f017e037f017e23808080800041d0006b2201248080808000200141286a41c2a1cd8000410d41dea1cd8000410a4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a2207410036020020014280808080c000370210200141106a41c880cd800010a093808000200128021422084100360208200842808080808001370200200841003a00202008410536021c200841bca2cd80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290210370340024020012802404101470d00200141c0006a41c880cd800010a0938080000b2001280244410141246c6a220841013a00202008410c36021c200841c1a2cd800036021820084204370210200842003702082008428080808080013702002007410141016a220936020020012001290340220a37031002402009200aa7470d00200141106a41c880cd800010a0938080000b2001280214200941246c6a220841023a00202008410936021c200841cda2cd80003602182008420437021020084200370208200842808080808001370200200141c8006a2207200941016a36020020012001290310370340200141106a200141c0006a41d6a2cd80004106108f968080000240200128021822092001280210470d00200141106a41c880cd800010a0938080000b2001280214200941246c6a220841043a00202008411136021c200841dca2cd800036021820084204370210200842003702082008428080808080013702002007200941016a220936020020012001290210220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841053a00202008410b36021c200841eda2cd80003602182008420437021020084200370208200842808080808001370200200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41c880cd800010a0938080000b2001280214200941246c6a220841063a00202008411036021c200841f8a2cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a36020020012001290310370340200141106a200141c0006a4188a3cd80004105109996808000200141c0006a200141106a418da3cd8000410a10e394808000200141106a200141c0006a4197a3cd8000410d108c958080000240200128021822092001280210470d00200141106a41c880cd800010a0938080000b2001280214200941246c6a2208410a3a00202008410936021c200841a4a3cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290210220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a2208410b3a00202008410a36021c200841ada3cd80003602182008420437021020084200370208200842808080808001370200200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41c880cd800010a0938080000b2001280214200941246c6a2208410c3a00202008410b36021c200841b7a3cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a2208410d3a00202008410e36021c200841c2a3cd80003602182008420437021020084200370208200842808080808001370200200141106a41086a200941016a36020020012001290340370310200141346a200141106a41d0a3cd80004104109d968080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b860d04057f017e037f017e23808080800041d0006b2201248080808000200141306a41d4a3cd8000410a41dea1cd8000410a4104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41d881cd800010f196808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41c880cd800010a093808000200128021c22084100360208200842808080808001370200200841003a00202008411036021c200841dea3cd80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41c880cd800010a0938080000b2001280244410141246c6a220841013a00202008410c36021c200841eea3cd800036021820084204370210200842003702082008428080808080013702002007410141016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841023a00202008410c36021c200841faa3cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841033a00202008410c36021c20084186a4cd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841043a00202008410c36021c20084192a4cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841053a00202008410636021c2008419ea4cd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841063a00202008410b36021c200841a4a4cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841073a00202008411036021c200841afa4cd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841083a00202008410d36021c200841bfa4cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220836020020012001290318220a37034002402008200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200841246c22096a220841093a00202008410736021c200841cca4cd800036021820084204370210200842003702082008428080808080013702002001280244210820012001280240360220200120083602182001200820096a41246a3602242001200836021c200141c0006a200141186a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41eca0cd800010f196808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a200141186a41076a290000370000200141d0006a2480808080000bb20503057f017e027f23808080800041c0006b2201248080808000200141246a41d3a4cd8000411641dea1cd8000410a4104410010c2928080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41d881cd800010f196808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080c00037020c2001410c6a41c880cd800010a093808000200128021022074100360208200742808080808001370200200741003a00202007410d36021c200741e9a4cd80003602182007410036021420074280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41c880cd800010a0938080000b2001280234410141246c22086a220741013a00202007410d36021c200741f6a4cd8000360218200742043702102007420037020820074280808080800137020020012802342107200120012802303602142001200736020c2001200720086a41246a36021820012007360210200141306a2001410c6a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a41eca0cd800010f196808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bfa21010f7f23808080800041e0046b2206248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01e20c2208410b490d00200128020421082001280208210941002d008083d480001a41e40c41002802f482d48000118280808000002201450d082001200141036a417c7120016b220a6a220b41003b01e20c200b410036028802200b417e6a200a3b000020094105490d012009417b6a0e020304020b20072001280208220941186c6a210b02400240200941016a220a20084d0d00200b2002290200370200200b41106a200241106a290200370200200b41086a200241086a2902003702000c010b2007200a41186c6a200b200820096b220c41186c10f9978080001a200b41106a200241106a290200370200200b41086a200241086a290200370200200b20022902003702002007418c026a2202200a41fc006c6a2002200941fc006c6a200c41fc006c10f9978080001a0b2007200941fc006c6a418c026a200341fc0010f4978080001a2007200841016a3b01e20c2001280204210d0c0f0b200641a8026a41086a220c200741ec006a290200370300200641a8026a41106a220e200741f4006a280200360200200b20072f01e20c417b6a22013b01e20c200620072902643703a8022007280260210a200641bc026a200741fc056a41fc0010f4978080001a2001410c4f0d07200b200741f8006a200141186c10f497808000418c026a200741f8066a200141fc006c10f4978080001a200741043b01e20c200641b8036a41086a200c290300370300200641b8036a41106a200e280200360200200620062903a8023703b803200641cc036a200641bc026a41fc0010f4978080001a2008210d2007210e0c040b200641a8026a41086a220c2007419c016a290200370300200641a8026a41106a220e200741a4016a280200360200200b20072f01e20c41796a22013b01e20c20062007290294013703a802200728029001210a200641bc026a200741f4076a41fc0010f4978080001a2001410c4f0d07200b200741a8016a200141186c10f497808000418c026a200741f0086a200141fc006c10f4978080001a200741063b01e20c200641b8036a41086a200c290300370300200641b8036a41106a200e280200360200200620062903a8023703b803200641cc036a200641bc026a41fc0010f4978080001a200941796a21090c020b200641a8026a41086a220920074184016a290200370300200641a8026a41106a220c2007418c016a280200360200200b20072f01e20c417a6a22013b01e20c2006200729027c3703a8022007280278210a200641bc026a200741f8066a220e41fc0010f4978080001a2001410c4f0d07200b20074190016a200141186c10f497808000418c026a200741f4076a200141fc006c10f4978080001a200641b8036a41106a200c280200360200200641b8036a41086a2009290300370300200620062903a8023703b803200641cc036a200641bc026a41fc0010f4978080001a200741f8006a220141106a200241106a290200370200200141086a200241086a29020037020020012002290200370200200e200341fc0010f4978080001a200741063b01e20c410521092008210d2007210e0c030b200641a8026a41086a220920074184016a290200370300200641a8026a41106a220c2007418c016a280200360200200b20072f01e20c417a6a22013b01e20c2006200729027c3703a8022007280278210a200641bc026a200741f8066a41fc0010f4978080001a2001410c4f0d07200b20074190016a200141186c10f497808000418c026a200741f4076a200141fc006c10f4978080001a200741053b01e20c200641b8036a41086a2009290300370300200641b8036a41106a200c280200360200200620062903a8023703b803200641cc036a200641bc026a41fc0010f4978080001a410021090b4100210d200b210e0b200e200941186c6a210102400240200e2f01e20c220c20094b0d0020012002290200370200200141106a200241106a290200370200200141086a200241086a2902003702000c010b200141186a2001200c20096b220f41186c10f9978080001a200141106a200241106a290200370200200141086a200241086a29020037020020012002290200370200200e200941fc006c6a22014188036a2001418c026a200f41fc006c10f9978080001a0b200e200941fc006c6a418c026a200341fc0010f4978080001a200e200c41016a3b01e20c0b200641086a200641b8036a41900110f4978080001a0240200a418080808078470d00200e21070c090b20064198016a200641086a41900110f4978080001a024020072802880222010d00410021020c080b200641d4046a2110200641cc046a2111200641b8036a41046a211220064198016a41146a21134100210220064198016a41106a2114034020022008470d0620072f01e00c2107024002400240024020012f01e20c2202410b490d00200841016a2102200741054f0d01410421032011210c200721080c020b200741016a2108200241016a210c2001200741186c6a21030240024020072002490d0020032006290298013702042003200a360200200341146a200641a8016a2802003602002003410c6a200641a0016a2902003702002001200741fc006c6a418c026a201341fc0010f4978080001a0c010b2001200841186c6a2003200220076b220f41186c10f9978080001a200341146a200641a8016a2802003602002003410c6a20064198016a41086a29020037020020032006290298013702042001418c026a2212200841fc006c6a2012200741fc006c6a2212200f41fc006c10f9978080001a2003200a3602002012201341fc0010f4978080001a200141e40c6a220a20074102746a41086a200a20084102746a200f41027410f9978080001a0b2001200c3b01e20c200120084102746a200b3602e40c2008200241026a220a4f0d0a0240200220076b220341016a4103712202450d00200120074102746a41e80c6a210703402007280200220b20083b01e00c200b200136028802200741046a2107200841016a21082002417f6a22020d000b0b20034103490d0a200841027420016a41f00c6a21070340200741746a280200220220083b01e00c2002200136028802200741786a2802002202200841016a3b01e00c20022001360288022007417c6a2802002202200841026a3b01e00c200220013602880220072802002202200841036a3b01e00c2002200136028802200741106a2107200a200841046a2208470d000c0b0b0b41002108410521032010210c024002402007417b6a0e020002010b200641053602c402200620023602c002200620013602bc02200641b8036a200641bc026a108e9780800020062802cc0422072f01e20c220141016a210802400240024020014106490d0020074190016a200741f8006a2001417b6a220241186c10f9978080001a2007200a360278200720062902980137027c20074184016a20064198016a41086a2902003702002007418c016a2014280200360200200741f4076a200741f8066a220a200241fc006c10f9978080001a200a201341fc0010f4978080001a200741800d6a200741fc0c6a2001410274416c6a10f9978080001a200720083b01e20c2007200b3602fc0c0c010b2007200a360278200720062902980137027c20074184016a20064198016a41086a2902003702002007418c016a2014280200360200200741f8066a201341fc0010f4978080001a200720083b01e20c2007200b3602fc0c20014105470d010b2001410371210b4106210802402001417b6a41ffff03714103490d00200141fcff037141786a210341062101410021020340200720026a220841fc0c6a280200220a20013b01e00c200a200736028802200841800d6a280200220a200141016a3b01e00c200a200736028802200841840d6a280200220a200141026a3b01e00c200a200736028802200841880d6a2802002208200141036a3b01e00c2008200736028802200241106a21022001417a6a210a200141046a22082101200a2003470d000b0b200b450d00200720084102746a41e40c6a210103402001280200220220083b01e00c2002200736028802200141046a2101200841016a2108200b417f6a220b0d000b0b20062802b803210a200641086a201241900110f4978080001a0c020b200741796a2108410621032010210c0b200620033602c402200620023602c002200620013602bc02200841016a2107200641b8036a200641bc026a108e97808000200c2802002201200841186c6a210220012f01e20c220341016a210c02400240200320084b0d002002200a36020020022006290298013702042002410c6a20064198016a41086a290200370200200241146a20142802003602002001200841fc006c6a418c026a201341fc0010f4978080001a0c010b2001200741186c6a2002200320086b220f41186c10f9978080001a2002200a36020020022006290298013702042002410c6a20064198016a41086a290200370200200241146a20142802003602002001418c026a2202200741fc006c6a2002200841fc006c6a2202200f41fc006c10f9978080001a2002201341fc0010f4978080001a200141e40c6a220220084102746a41086a200220074102746a200f41027410f9978080001a0b2001200c3b01e20c200120074102746a200b3602e40c02402007200341026a220a4f0d000240200320086b220341016a4103712202450d00200120084102746a41e80c6a210803402008280200220b20073b01e00c200b200136028802200841046a2108200741016a21072002417f6a22020d000b0b20034103490d00200120074102746a41f00c6a21080340200841746a280200220220073b01e00c2002200136028802200841786a2802002202200741016a3b01e00c20022001360288022008417c6a2802002202200741026a3b01e00c200220013602880220082802002202200741036a3b01e00c2002200136028802200841106a2108200a200741046a2207470d000b0b20062802b803210a200641086a201241900110f4978080001a20062802cc0421070b200a418080808078460d0720062802d804210220062802d404210b20062802d004210820064198016a200641086a41900110f4978080001a2007280288022201450d080c000b0b410441e40c10ab80808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b41fca9cd8000413541b4aacd8000108081808000000b200020093602082000200d3602042000200e3602000c020b0240024002400240200428020022012802002208450d002001280204210341002d008083d480001a41940d41002802f482d48000118280808000002207450d022007200741036a417c7120076b220c6a220720083602e40c200741003b01e20c20074100360288022007417e6a200c3b0000200841003b01e00c20082007360288022001200341016a3602042001200736020020022003470d0320072f01e20c2201410b490d014198a6cd800041204188a8cd8000108081808000000b4188a6cd800010a081808000000b2007200141016a22023b01e20c2007200141186c6a2208200a36020020082006290298013702042008410c6a200641a0016a290200370200200841146a200641a8016a2802003602002007200141fc006c6a418c026a20064198016a41146a41fc0010f4978080001a200741e40c6a20024102746a200b360200200020093602082000200d3602042000200e360200200b20023b01e00c200b2007360288020c030b410441940d10ab80808000000b41c8a7cd8000413041f8a7cd8000108081808000000b200020093602082000200d360204200020073602000b200641e0046a2480808080000b9d05010a7f23808080800041b0026b2202248080808000200128020022032f01e20c210441002d008083d480001a0240024002400240024041940d41002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01e20c20074100360288022007417e6a20063b000020024198016a41086a20032001280208220541186c6a220841086a29020037030020024198016a41106a200841106a290200370300200720032f01e20c22092005417f736a22063b01e20c2002200829020037039801200241b4016a2003418c026a220a200541fc006c6a41fc0010f4978080001a2006410c4f0d012009200541016a220b6b2006470d0220072003200b41186c6a200641186c10f4978080002208418c026a200a200b41fc006c6a200641fc006c10f4978080001a200320053b01e20c200241086a20024198016a41086a290300370300200241106a20024198016a41106a2903003703002002200229039801370300200241186a200241b4016a41fc0010f4978080001a20082f01e20c220741016a21062007410c4f0d03200420056b220b2006470d04200841e40c6a200320054102746a41e80c6a200b41027410f497808000210b200128020421014100210502400340200b20054102746a280200220620053b01e00c2006200836028802200520074f0d01200520052007496a220520074d0d000b0b200020013602980120002003360294012000200241940110f497808000220520013602a0012005200836029c01200241b0026a2480808080000f0b410441940d10ab80808000000b2006410b41dca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000b2006410c41eca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000b8515030c7f017e017f23808080800041306b2205248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f018a012207410b490d00200128020421072001280208210841002d008083d480001a418c0141002802f482d48000118280808000002201450d082001200141036a417c7120016b22096a220a41003b018a01200a4100360200200a417e6a20093b000020084105490d012008417b6a0e020304020b200641046a210a02402001280208220841016a220920074b0d00200a2009410c6c6a200a2008410c6c6a200720086b410c6c10f9978080001a0b200a2008410c6c6a220a2002290200370200200a41086a200241086a2802003602002006200741016a3b018a012001280204210b2006210c0c0e0b200a20062f018a01417b6a22013b018a012001410c4f0d07200641346a2109200641386a210d4104210e41c000210f2007210b2006210c0c040b200a20062f018a0141796a22013b018a012001410c4f0d07200841796a2108200641cc006a2109200641d0006a210d4100210b4106210e41d800210f0c020b200a20062f018a01417a6a22013b018a012001410c4f0d072006280240211020062902442111200a41046a200641cc006a2001410c6c10f4978080001a200641063b018a01200641c8006a200241086a28020036020020062002290200370240410521082007210b2006210c0c030b200a20062f018a01417a6a22013b018a012001410c4f0d07200641c0006a2109200641c4006a210d410021084105210e41cc00210f4100210b0b200a210c0b20092802002110200d2902002111200a41046a2006200f6a2001410c6c10f4978080001a2006200e3b018a01200c41046a21010240200c2f018a01220920084d0d0020012008410c6c6a220d410c6a200d200920086b410c6c10f9978080001a0b20012008410c6c6a22012002290200370200200141086a200241086a280200360200200c200941016a3b018a010b2010418080808078460d070240200628020022010d00410021020c070b200541286a210f200541206a211241002102034020022007470d0620062f0188012106024002400240024020012f018a012202410b490d00200741016a2102200641054f0d01410421092012210d200621070c020b200141046a220e2006410c6c6a2109200641016a2107200241016a210d0240024020062002490d0020092011370204200920103602000c010b200e2007410c6c6a2009200220066b220e410c6c10f9978080001a20092011370204200920103602002001418c016a220920064102746a41086a200920074102746a200e41027410f9978080001a0b2001200d3b018a01200120074102746a200a36028c012007200241026a22094f0d0b0240200220066b221041016a410371220a450d00200120064102746a4190016a210603402006280200220220073b01880120022001360200200641046a2106200741016a2107200a417f6a220a0d000b0b20104103490d0b200741027420016a4198016a21060340200641746a280200220a20073b018801200a2001360200200641786a280200220a200741016a3b018801200a20013602002006417c6a280200220a200741026a3b018801200a20013602002006280200220a200741036a3b018801200a2001360200200641106a21062009200741046a2207470d000c0c0b0b4100210741052109200f210d024002402006417b6a0e020002010b200541053602102005200236020c20052001360208200541146a200541086a109097808000200528022022062f018a01220741016a21010240024020074106490d00200641cc006a200641c0006a2007410c6c41446a10f9978080001a2006201137024420062010360240200641a8016a200641a4016a2007410274416c6a10f9978080001a200620013b018a012006200a3602a4010c010b2006200a3602a4012006201137024420062010360240200620013b018a0120074105470d030b200741037121024106210102402007417b6a41ffff03714103490d00200741fcff037141786a2110410621074100210a03402006200a6a220141a4016a280200220920073b01880120092006360200200141a8016a2802002209200741016a3b01880120092006360200200141ac016a2802002209200741026a3b01880120092006360200200141b0016a2802002201200741036a3b01880120012006360200200a41106a210a2007417a6a2109200741046a2201210720092010470d000b0b2002450d02200620014102746a418c016a210703402007280200220a20013b018801200a2006360200200741046a2107200141016a21012002417f6a22020d000c030b0b200641796a210741062109200f210d0b200520093602102005200236020c20052001360208200541146a200541086a109097808000200d280200220141046a220e2007410c6c6a2109200741016a210620012f018a01220241016a210d02400240200220074b0d0020092011370204200920103602000c010b200e2006410c6c6a2009200220076b220e410c6c10f9978080001a20092011370204200920103602002001418c016a220920074102746a41086a200920064102746a200e41027410f9978080001a0b2001200d3b018a01200120064102746a200a36028c0102402006200241026a22094f0d000240200220076b221041016a410371220a450d00200120074102746a4190016a210703402007280200220220063b01880120022001360200200741046a2107200641016a2106200a417f6a220a0d000b0b20104103490d00200120064102746a4198016a21070340200741746a280200220a20063b018801200a2001360200200741786a280200220a200641016a3b018801200a20013602002007417c6a280200220a200641026a3b018801200a20013602002007280200220a200641036a3b018801200a2001360200200741106a21072009200641046a2206470d000b0b200528022021060b2005290218211120052802142210418080808078460d08200528022c21022005280228210a2005280224210720062802002201450d070c000b0b4104418c0110ab80808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b41fca9cd8000413541b4aacd8000108081808000000b02400240200328020022072802002201450d002007280204210941002d008083d480001a41bc0141002802f482d48000118280808000002206450d032006200641036a417c7120066b220d6a2206200136028c01200641003b018a01200641003602002006417e6a200d3b0000200141003b018801200120063602002007200941016a3602042007200636020020022009470d0420062f018a012207410b490d014198a6cd800041204188a8cd8000108081808000000b4188a6cd800010a081808000000b2006200741016a22013b018a0120062007410c6c6a22072011370208200720103602042006418c016a20014102746a200a360200200a20013b018801200a20063602000b200020083602082000200b3602042000200c360200200541306a2480808080000f0b410441bc0110ab80808000000b41c8a7cd8000413041f8a7cd8000108081808000000baf0401097f23808080800041206b2202248080808000200128020022032f018a01210441002d008083d480001a0240024002400240024041bc0141002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b018a01200741003602002007417e6a20063b0000200241106a41086a200341046a220820012802082205410c6c6a220941086a280200360200200720032f018a01220a2005417f736a22063b018a01200220092902003703102006410c4f0d01200a200541016a22096b2006470d02200741046a20082009410c6c6a2006410c6c10f4978080001a200320053b018a01200241086a200241106a41086a2802003602002002200229031037030020072f018a01220641016a21092006410c4f0d03200420056b220a2009470d042007418c016a200320054102746a4190016a200a41027410f49780800021092001280204210a4100210502400340200920054102746a280200220120053b01880120012007360200200520064f0d01200520052006496a220520064d0d000b0b2000200a3602102000200336020c200020022903003702002000200a36021820002007360214200041086a200241086a280200360200200241206a2480808080000f0b410441bc0110ab80808000000b2006410b41dca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000b2009410c41eca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000bd71c010f7f23808080800041f0006b2205248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f018e022207410b490d00200128020421072001280208210841002d008083d480001a41900241002802f482d48000118280808000002201450d082001200141036a417c7120016b22096a220a41003b018e02200a410036028802200a417e6a20093b000020084105490d012008417b6a0e020304020b02402001280208220841016a220a20074b0d002006200a41186c6a2006200841186c6a200720086b41186c10f9978080001a0b2006200841186c6a220a2002290200370200200a41106a200241106a290200370200200a41086a200241086a2902003702002006200741016a3b018e022001280204210b0c0f0b200a20062f018e02417b6a22013b018e02200541c8006a41086a220c200641ec006a290200370300200541c8006a41106a220d200641f4006a280200360200200520062902643703482001410c4f0d0720062802602109200a200641f8006a200141186c10f4978080001a200641043b018e02200541306a41086a200c290300370300200541306a41106a200d280200360200200520052903483703302007210b2006210e0c040b200a20062f018e0241796a22013b018e02200541c8006a41086a220c2006419c016a290200370300200541c8006a41106a220d200641a4016a28020036020020052006290294013703482001410c4f0d072006280290012109200a200641a8016a200141186c10f4978080001a200641063b018e02200541306a41086a200c290300370300200541306a41106a200d28020036020020052005290348370330200841796a21080c020b200a20062f018e02417a6a22013b018e02200541c8006a41086a220c20064184016a290200370300200541c8006a41106a22082006418c016a2802003602002005200629027c3703482001410c4f0d0720062802782109200a20064190016a200141186c10f4978080001a200541306a41106a2008280200360200200541306a41086a200c29030037030020052005290348370330200641063b018e02200641f8006a220141106a200241106a290200370200200141086a200241086a29020037020020012002290200370200410521082007210b2006210e0c030b200a20062f018e02417a6a22013b018e02200541c8006a41086a220c20064184016a290200370300200541c8006a41106a22082006418c016a2802003602002005200629027c3703482001410c4f0d0720062802782109200a20064190016a200141186c10f4978080001a200641053b018e02200541306a41086a200c290300370300200541306a41106a200828020036020020052005290348370330410021080b4100210b200a210e0b0240200e2f018e02220c20084d0d00200e200841186c6a220141186a2001200c20086b41186c10f9978080001a0b200e200841186c6a22012002290200370200200141106a200241106a290200370200200141086a200241086a290200370200200e200c41016a3b018e020b200541106a2201200541306a41106a280200360200200541086a2202200541306a41086a2903003703002005200529033037030002402009418080808078470d00200e21060c090b200541186a41106a2001280200360200200541186a41086a200229030037030020052005290300370318024020062802880222010d00410021020c080b200541e8006a210f200541e0006a2110200541c8006a41046a210d41002102200541186a41106a2111034020022007470d0620062f018c022106024002400240024020012f018e022202410b490d00200741016a2102200641054f0d014104210c20102112200621070c020b200641016a2107200241016a210d2001200641186c6a210c0240024020062002490d00200c2009360200200c2005290318370204200c410c6a200541206a290300370200200c41146a200541286a2802003602000c010b2001200741186c6a200c200220066b221141186c10f9978080001a200c2009360200200c2005290318370204200c410c6a200541186a41086a290300370200200c41146a200541286a28020036020020014190026a220920064102746a41086a200920074102746a201141027410f9978080001a0b2001200d3b018e02200120074102746a200a360290022007200241026a22094f0d0a0240200220066b220c41016a4103712202450d00200120064102746a4194026a210603402006280200220a20073b018c02200a200136028802200641046a2106200741016a21072002417f6a22020d000b0b200c4103490d0a200741027420016a419c026a21060340200641746a280200220220073b018c022002200136028802200641786a2802002202200741016a3b018c0220022001360288022006417c6a2802002202200741026a3b018c02200220013602880220062802002202200741036a3b018c022002200136028802200641106a21062009200741046a2207470d000c0b0b0b410021074105210c200f2112024002402006417b6a0e020002010b200541053602082005200236020420052001360200200541c8006a2005109297808000200528026022062f018e02220741016a210102400240024020074106490d0020064190016a200641f8006a200741186c41887f6a10f9978080001a200620093602782006200529031837027c20064184016a200541186a41086a2903003702002006418c016a2011280200360200200641ac026a200641a8026a2007410274416c6a10f9978080001a200620013b018e022006200a3602a8020c010b200620093602782006200529031837027c2006200a3602a802200620013b018e0220064184016a200541186a41086a2903003702002006418c016a201128020036020020074105470d010b2007410371210a4106210102402007417b6a41ffff03714103490d00200741fcff037141786a210c41062107410021020340200620026a220141a8026a280200220920073b018c022009200636028802200141ac026a2802002209200741016a3b018c022009200636028802200141b0026a2802002209200741026a3b018c022009200636028802200141b4026a2802002201200741036a3b018c022001200636028802200241106a21022007417a6a2109200741046a220121072009200c470d000b0b200a450d00200620014102746a4190026a210703402007280200220220013b018c022002200636028802200741046a2107200141016a2101200a417f6a220a0d000b0b200541306a41086a200d41086a290200370300200541306a41106a200d41106a2802003602002005200d2902003703300c020b200641796a21074106210c200f21120b2005200c3602082005200236020420052001360200200741016a2106200541c8006a200510929780800020122802002201200741186c6a210220012f018e02220c41016a211202400240200c20074b0d0020022009360200200220052903183702042002410c6a200541186a41086a290300370200200241146a20112802003602000c010b2001200641186c6a2002200c20076b221341186c10f9978080001a20022009360200200220052903183702042002410c6a200541186a41086a290300370200200241146a201128020036020020014190026a220220074102746a41086a200220064102746a201341027410f9978080001a0b200120123b018e02200120064102746a200a3602900202402006200c41026a22094f0d000240200c20076b220c41016a4103712202450d00200120074102746a4194026a210703402007280200220a20063b018c02200a200136028802200741046a2107200641016a21062002417f6a22020d000b0b200c4103490d00200120064102746a419c026a21070340200741746a280200220220063b018c022002200136028802200741786a2802002202200641016a3b018c0220022001360288022007417c6a2802002202200641026a3b018c02200220013602880220072802002202200641036a3b018c022002200136028802200741106a21072009200641046a2206470d000b0b200541306a41086a200d41086a290200370300200541306a41106a200d41106a2802003602002005200d290200370330200528026021060b20052802482209418080808078460d07200528026c21022005280268210a200528026421072011200541306a41106a280200360200200541186a41086a200541306a41086a290300370300200520052903303703182006280288022201450d080c000b0b410441900210ab80808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b41fca9cd8000413541b4aacd8000108081808000000b200020083602082000200b3602042000200e3602000c020b0240024002400240200328020022072802002201450d002007280204210c41002d008083d480001a41c00241002802f482d48000118280808000002206450d022006200641036a417c7120066b220d6a2206200136029002200641003b018e0220064100360288022006417e6a200d3b0000200141003b018c0220012006360288022007200c41016a360204200720063602002002200c470d0320062f018e022207410b490d014198a6cd800041204188a8cd8000108081808000000b4188a6cd800010a081808000000b2006200741016a22013b018e022006200741186c6a22072009360200200720052903183702042007410c6a200541206a290300370200200741146a200541286a28020036020020064190026a20014102746a200a360200200020083602082000200b3602042000200e360200200a20013b018c02200a2006360288020c030b410441c00210ab80808000000b41c8a7cd8000413041f8a7cd8000108081808000000b200020083602082000200b360204200020063602000b200541f0006a2480808080000be00401087f23808080800041306b2202248080808000200128020022032f018e02210441002d008083d480001a0240024002400240024041c00241002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b018e0220074100360288022007417e6a20063b0000200241186a41086a20032001280208220541186c6a220841086a290200370300200241186a41106a200841106a290200370300200720032f018e0222092005417f736a22063b018e02200220082902003703182006410c4f0d012009200541016a22086b2006470d0220072003200841186c6a200641186c10f4978080002108200320053b018e02200241086a200241186a41086a290300370300200241106a200241186a41106a2903003703002002200229031837030020082f018e02220741016a21062007410c4f0d03200420056b22092006470d0420084190026a200320054102746a4194026a200941027410f4978080002109200128020421014100210502400340200920054102746a280200220620053b018c022006200836028802200520074f0d01200520052007496a220520074d0d000b0b2000200136021c20002003360218200020022903003702002000200136022420002008360220200041086a200241086a290300370200200041106a200241106a290300370200200241306a2480808080000f0b410441c00210ab80808000000b2006410b41dca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000b2006410c41eca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000baf1c03087f017e057f23808080800041a0076b2206248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01aa142208410b490d00200128020421082001280208210941002d008083d480001a41ac1441002802f482d48000118280808000002201450d082001200141036a417c7120016b220a6a220b41003b01aa14200b41003602a013200b417e6a200a3b000020094105490d012009417b6a0e020304020b200741a4136a220c20012802082209410c6c6a210b02400240200941016a220a20084d0d00200b2002290200370200200b41086a200241086a2802003602000c010b200c200a410c6c6a200b200820096b220c410c6c10f9978080001a200b41086a200241086a280200360200200b20022902003702002007200a41e0016c6a2007200941e0016c6a200c41e0016c10f9978080001a0b2007200941e0016c6a200341e00110f4978080001a2007200841016a3b01aa142001280204210d0c0f0b200b20072f01aa14417b6a22013b01aa1420072802d413210a20072902d813210e200641a4056a20074180076a41e00110f4978080001a2001410c4f0d07200b41a4136a200741e0136a2001410c6c10f4978080001a200b200741e0086a200141e0016c10f4978080001a200741043b01aa14200641c4036a200641a4056a41e00110f4978080001a2008210d2007210f0c040b200b20072f01aa1441796a22013b01aa1420072802ec13210a20072902f013210e200641a4056a200741c00a6a41e00110f4978080001a2001410c4f0d07200b41a4136a200741f8136a2001410c6c10f4978080001a200b200741a00c6a200141e0016c10f4978080001a200741063b01aa14200641c4036a200641a4056a41e00110f4978080001a200941796a21090c020b200b20072f01aa14417a6a22013b01aa1420072802e013210a20072902e413210e200641a4056a200741e0086a220941e00110f4978080001a2001410c4f0d07200b41a4136a200741ec136a2001410c6c10f4978080001a200b200741c00a6a200141e0016c10f4978080001a200641c4036a200641a4056a41e00110f4978080001a200741e0136a220141086a200241086a280200360200200120022902003702002009200341e00110f4978080001a200741063b01aa14410521092008210d2007210f0c030b200b20072f01aa14417a6a22013b01aa1420072802e013210a20072902e413210e200641a4056a200741e0086a41e00110f4978080001a2001410c4f0d07200b41a4136a200741ec136a2001410c6c10f4978080001a200b200741c00a6a200141e0016c10f4978080001a200741053b01aa14200641c4036a200641a4056a41e00110f4978080001a410021090b4100210d200b210f0b200f41a4136a2009410c6c6a210102400240200f2f01aa14220c20094b0d0020012002290200370200200141086a200241086a2802003602000c010b2001410c6a2001200c20096b2210410c6c10f9978080001a200141086a200241086a28020036020020012002290200370200200f200941e0016c6a220141e0016a2001201041e0016c10f9978080001a0b200f200941e0016c6a200341e00110f4978080001a200f200c41016a3b01aa140b200641046a200641c4036a41e00110f4978080001a0240200a418080808078470d00200f21070c090b200641e4016a200641046a41e00110f4978080001a024020072802a01322010d00410021020c080b20064198076a211120064190076a2112200641a4056a410c6a211341002102034020022008470d0620072f01a8142107024002400240024020012f01aa142202410b490d00200841016a2102200741054f0d01410421032012210c200721080c020b200141a4136a22102007410c6c6a2103200741016a2108200241016a210c0240024020072002490d002003200e3702042003200a3602002001200741e0016c6a200641e4016a41e00110f4978080001a0c010b20102008410c6c6a2003200220076b2210410c6c10f9978080001a2003200e3702042003200a3602002001200841e0016c6a2001200741e0016c6a220a201041e0016c10f9978080001a200a200641e4016a41e00110f4978080001a200141ac146a220a20074102746a41086a200a20084102746a201041027410f9978080001a0b2001200c3b01aa14200120084102746a200b3602ac142008200241026a22034f0d0a0240200220076b220241016a410371220b450d00200120074102746a41b0146a210703402007280200220a20083b01a814200a20013602a013200741046a2107200841016a2108200b417f6a220b0d000b0b20024103490d0a200841027420016a41b8146a21070340200741746a280200220b20083b01a814200b20013602a013200741786a280200220b200841016a3b01a814200b20013602a0132007417c6a280200220b200841026a3b01a814200b20013602a0132007280200220b200841036a3b01a814200b20013602a013200741106a21072003200841046a2208470d000c0b0b0b41002108410521032011210c024002402007417b6a0e020002010b2006410536020c2006200236020820062001360204200641a4056a200641046a10949780800020062802900722072f01aa14220141016a210802400240024020014106490d00200741ec136a200741e0136a2001417b6a2202410c6c10f9978080001a2007200e3702e4132007200a3602e013200741c00a6a200741e0086a220a200241e0016c10f9978080001a200a200641e4016a41e00110f4978080001a200741c8146a200741c4146a2001410274416c6a10f9978080001a200720083b01aa142007200b3602c4140c010b2007200e3702e4132007200a3602e013200741e0086a200641e4016a41e00110f4978080001a200720083b01aa142007200b3602c41420014105470d010b2001410371210a4106210802402001417b6a41ffff03714103490d00200141fcff037141786a2103410621014100210b03402007200b6a220841c4146a280200220220013b01a814200220073602a013200841c8146a2802002202200141016a3b01a814200220073602a013200841cc146a2802002202200141026a3b01a814200220073602a013200841d0146a2802002208200141036a3b01a814200820073602a013200b41106a210b2001417a6a2102200141046a2208210120022003470d000b0b200a450d00200720084102746a41ac146a210103402001280200220b20083b01a814200b20073602a013200141046a2101200841016a2108200a417f6a220a0d000b0b20062902a805210e20062802a405210a200641c4036a201341e00110f4978080001a0c020b200741796a2108410621032011210c0b2006200336020c2006200236020820062001360204200641a4056a200641046a109497808000200c280200220141a4136a22102008410c6c6a2102200841016a210720012f01aa14220341016a210c02400240200320084b0d002002200e3702042002200a3602002001200841e0016c6a200641e4016a41e00110f4978080001a0c010b20102007410c6c6a2002200320086b2210410c6c10f9978080001a2002200e3702042002200a3602002001200741e0016c6a2001200841e0016c6a220a201041e0016c10f9978080001a200a200641e4016a41e00110f4978080001a200141ac146a220a20084102746a41086a200a20074102746a201041027410f9978080001a0b2001200c3b01aa14200120074102746a200b3602ac1402402007200341026a22024f0d000240200320086b220341016a410371220b450d00200120084102746a41b0146a210803402008280200220a20073b01a814200a20013602a013200841046a2108200741016a2107200b417f6a220b0d000b0b20034103490d00200120074102746a41b8146a21080340200841746a280200220b20073b01a814200b20013602a013200841786a280200220b200741016a3b01a814200b20013602a0132008417c6a280200220b200741026a3b01a814200b20013602a0132008280200220b200741036a3b01a814200b20013602a013200841106a21082002200741046a2207470d000b0b20062902a805210e20062802a405210a200641c4036a201341e00110f4978080001a20062802900721070b200a418080808078460d07200628029c072102200628029807210b2006280294072108200641e4016a200641c4036a41e00110f4978080001a20072802a0132201450d080c000b0b410441ac1410ab80808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b41fca9cd8000413541b4aacd8000108081808000000b200020093602082000200d3602042000200f3602000c020b0240024002400240200428020022012802002208450d002001280204210341002d008083d480001a41dc1441002802f482d48000118280808000002207450d022007200741036a417c7120076b220c6a220720083602ac14200741003b01aa14200741003602a0132007417e6a200c3b0000200841003b01a814200820073602a0132001200341016a3602042001200736020020022003470d0320072f01aa142201410b490d014198a6cd800041204188a8cd8000108081808000000b4188a6cd800010a081808000000b2007200141016a22083b01aa1420072001410c6c6a2202200e3702a8132002200a3602a4132007200141e0016c6a200641e4016a41e00110f4978080001a200741ac146a20084102746a200b360200200020093602082000200d3602042000200f360200200b20083b01a814200b20073602a0130c030b410441dc1410ab80808000000b41c8a7cd8000413041f8a7cd8000108081808000000b200020093602082000200d360204200020073602000b200641a0076a2480808080000bf70401097f23808080800041e0036b2202248080808000200128020022032f01aa14210441002d008083d480001a0240024002400240024041dc1441002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01aa14200741003602a0132007417e6a20063b0000200241f0016a41086a200341a4136a220820012802082205410c6c6a220941086a280200360200200720032f01aa14220a2005417f736a22063b01aa14200220092902003703f00120024180026a2003200541e0016c6a41e00110f4978080001a2006410c4f0d01200a200541016a22096b2006470d02200741a4136a20082009410c6c6a2006410c6c10f4978080001a20072003200941e0016c6a200641e0016c10f4978080002109200320053b01aa14200241086a200241f0016a41086a280200360200200220022903f0013703002002410c6a20024180026a41e00110f4978080001a20092f01aa14220741016a21062007410c4f0d03200420056b220a2006470d04200941ac146a200320054102746a41b0146a200a41027410f497808000210a200128020421014100210502400340200a20054102746a280200220620053b01a814200620093602a013200520074f0d01200520052007496a220520074d0d000b0b200020013602f001200020033602ec012000200241ec0110f497808000220520013602f801200520093602f401200241e0036a2480808080000f0b410441dc1410ab80808000000b2006410b41dca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000b2006410c41eca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000bd806020e7f017e23808080800041d0036b220224808080800002400240024002402001200028021422032f01aa1422046a2205410c4f0d00200028020c22062f01aa1422072001490d012006200720016b22083b01aa14200320053b01aa14200341a4136a22092001410c6c6a20092004410c6c10f9978080001a2003200141e0016c6a2003200441e0016c10f9978080001a2007200841016a220a6b22072001417f6a470d022009200641a4136a220b200a410c6c6a2007410c6c220c10f497808000210920032006200a41e0016c6a200741e0016c220d10f497808000210320022006200841e0016c6a41e00110f4978080002107200b2008410c6c6a220241086a280200210b2000280200220e2000280208220f410c6c6a22082902a4132110200820022902003702a413200741e0016a41086a2202200841ac136a22082802003602002008200b360200200720103703e001200741f0016a200e200f41e0016c6a220841e00110f4978080001a2008200741e00110f4978080001a2009200c6a220841086a2002280200360200200820072903e0013702002003200d6a200741f0016a41e00110f4978080001a20002802182108024002402000280210450d002008450d01200341ac146a2200200141027422016a2000200441027441046a10f9978080001a20002006200a4102746a41ac146a200110f4978080001a200541016a2208410371210641002101024020054103490d00200341b8146a21002008413c712104410021010340200041746a280200220820013b01a814200820033602a013200041786a2802002208200141016a3b01a814200820033602a0132000417c6a2802002208200141026a3b01a814200820033602a01320002802002208200141036a3b01a814200820033602a013200041106a21002004200141046a2201470d000b0b2006450d05200141027420036a41ac146a210003402000280200220820013b01a814200820033602a013200041046a2100200141016a21012006417f6a22060d000c060b0b2008450d040b41c0abcd8000412841e8abcd8000108081808000000b41c4aacd8000413341f8aacd8000108081808000000b4188abcd8000412741b0abcd8000108081808000000b41a4a9cd8000412841cca9cd8000108081808000000b200741d0036a2480808080000be607020f7f017e23808080800041d0036b22022480808080000240024002402001200028020c22032f01aa1422046a2205410c4f0d00200028021422062f01aa1422072001490d01200320053b01aa142006200720016b22053b01aa1420022006200141e0016c220841a07e6a22096a41e00110f4978080002102200641a4136a22072001410c6c220a41746a220b6a220c41086a280200210d2000280200220e2000280208220f410c6c6a22102902a41321112010200c2902003702a413200241e0016a41086a220c201041ac136a22102802003602002010200d360200200220113703e001200241f0016a200e200f41e0016c6a221041e00110f4978080001a2010200241e00110f4978080001a20032004410c6c6a221041ac136a200c280200360200201041a4136a20022903e0013702002003200441e0016c6a200241f0016a41e00110f497808000210c201041b0136a2007200b10f4978080001a200c41e0016a2006200910f4978080001a20072007200a6a2005410c6c10f9978080001a2006200620086a200541e0016c10f997808000210620002802182107024002402000280210450d002007450d01200341ac146a2209200441016a22074102746a200641ac146a22002001410274221010f49780800021082000200020106a200541027441046a10f9978080001a2008280200220020073b01a814200020033602a013024020014101460d002009200441026a22004102746a280200220720003b01a814200720033602a01320014102460d002009200441036a22004102746a280200220720003b01a814200720033602a01320014103460d002009200441046a22004102746a280200220720003b01a814200720033602a01320014104460d002009200441056a22014102746a280200220020013b01a814200020033602a0130b200541016a2204410371210341002101024020054103490d00200641b8146a21002004417c712104410021010340200041746a280200220520013b01a814200520063602a013200041786a2802002205200141016a3b01a814200520063602a0132000417c6a2802002205200141026a3b01a814200520063602a01320002802002205200141036a3b01a814200520063602a013200041106a21002004200141046a2201470d000b0b2003450d04200141027420066a41ac146a210003402000280200220520013b01a814200520063602a013200041046a2100200141016a21012003417f6a22030d000c050b0b2007450d030b41c0abcd8000412841f4accd8000108081808000000b41f8abcd8000413241acaccd8000108081808000000b41bcaccd8000412841e4accd8000108081808000000b200241d0036a2480808080000be807010f7f23808080800041e0016b220224808080800002400240200128020c22032f01aa14220441016a2205200128021422062f01aa1422076a2208410c4f0d00200128021021092001280204210a2001280200220b2f01aa14210c200320083b01aa14200241086a220d200b2001280208220e410c6c6a220141ac136a280200360200200220012902a413370300200141a4136a200141b0136a200c200e417f736a220f410c6c10f9978080001a200341a4136a22012004410c6c6a221041086a200d2802003602002010200229030037020020012005410c6c6a200641a4136a2007410c6c10f4978080001a2002200b200e41e0016c6a220141e00110f497808000210d2001200141e0016a200f41e0016c10f9978080001a2003200441e0016c6a200d41e00110f4978080001a2003200541e0016c6a2006200741e0016c10f4978080001a200b200e41016a22014102746a220241ac146a200241b0146a200f41027410f9978080001a02402001200c4f0d00200c200e6b417e6a21100240200f410371220f450d00200e410274200b6a41b0146a210203402002280200220e20013b01a814200e200b3602a013200241046a2102200141016a2101200f417f6a220f0d000b0b20104103490d002001410274200b6a41b8146a21020340200241746a280200220f20013b01a814200f200b3602a013200241786a280200220f200141016a3b01a814200f200b3602a0132002417c6a280200220f200141026a3b01a814200f200b3602a0132002280200220f200141036a3b01a814200f200b3602a013200241106a2102200c200141046a2201470d000b0b200b200b2f01aa14417f6a3b01aa140240200a4102490d00200741016a2201200820046b470d02200341ac146a20054102746a200641ac146a200141027410f4978080001a02402001410371220b450d00200441027420036a41b0146a210103402001280200220220053b01a814200220033602a013200141046a2101200541016a2105200b417f6a220b0d000b0b20074103490d002005410274210b03402003200b6a220141ac146a280200220220053b01a814200220033602a013200141b0146a2802002202200541016a3b01a814200220033602a013200141b4146a2802002202200541026a3b01a814200220033602a013200141b8146a2802002201200541036a22023b01a814200120033602a013200541046a2105200b41106a210b20022008470d000b0b20062006417e6a2f00006b41002802ec82d48000118180808000002000200936020420002003360200200d41e0016a2480808080000f0b41a4aecd8000412a41d0aecd8000108081808000000b41a4a9cd8000412841cca9cd8000108081808000000bf20f01117f23808080800041e0046b2203248080808000200341d8006a2001280200220420012802082205410c6c6a220641ac136a280200360200200320062902a413370350200641a4136a200641b0136a20042f01aa1422072005417f736a2208410c6c10f9978080001a200341d0006a410c6a2004200541e0016c6a220641e00110f4978080001a2006200641e0016a200841e0016c10f9978080001a20042007417f6a22063b01aa14200128020421090240200641ffff037141044b0d00024020042802a0132201450d00200941016a2107024002400240024020042f01a81422080d0020012f01aa140d01200341013602fc02200341d8a8cd80003602f80220034200370284032003200341dc046a36028003200341f8026a41e0a8cd800010fe80808000000b200320093602302003200436022c200320093602282003200736021c20032008417f6a2207360220200320013602182003200120074102746a2802ac142201360224024020012f01aa142207200641ffff037122016a41016a410c490d00200341186a4101109597808000200541016a21050c040b200520014b0d01200520076a41016a2105200341106a200341186a10979780800020032802102104200328021421090c030b2003200936024c20032009360244200320043602402003410036023c2003200736023820032001360234200320012802b01422013602480240200641ffff0371220620012f01aa146a41016a410c490d00200341346a41011096978080000c030b200520064b0d01200341086a200341346a10979780800020032802082104200328020c21090c020b4184adcd8000418e014194aecd8000108081808000000b4184adcd8000418e014194aecd8000108081808000000b20042802a0132208450d0020082f01aa14220641044b0d00200941016a210a0240024002400340200a21012008220b2802a0132208450d01200641ffff0371210c200141016a210a0240024002400240200b2f01a81422060d00024020082f01aa14220d0d00200341013602fc02200341d8a8cd80003602f80220034200370284032003200341dc046a36028003200341f8026a41e0a8cd800010fe80808000000b200320013602f402200320013602ec022003200b3602e8024100210e200341003602e4022003200a3602e002200320083602dc02200320082802b01422063602f002200c41016a220120062f01aa14220f6a2210410c4f0d01200b21072006210b200c2111200f210c0c030b200320013602d8022003200b3602d402200320013602d0022003200a3602c40220032006417f6a220e3602c802200320083602c00220032008200e4102746a2802ac1422073602cc02200c20072f01aa1422116a41016a410c490d01200341c0026a4105200c6b1095978080000c070b200341dc026a4105200c6b1096978080000c060b201141016a2201200c6a211020082f01aa14210d0b200720103b01aa14200341f8026a41086a22122008200e410c6c6a220641ac136a280200360200200320062902a4133703f802200641a4136a200641b0136a200d41ffff03712213200e417f736a220f410c6c10f9978080001a200741a4136a22062011410c6c6a220d41086a2012280200360200200d20032903f80237020020062001410c6c6a200b41a4136a200c410c6c10f4978080001a200341f8026a2008200e41e0016c6a220641e00110f4978080001a2006200641e0016a200f41e0016c10f9978080001a2007201141e0016c6a200341f8026a41e00110f4978080001a2007200141e0016c6a200b200c41e0016c10f4978080001a2008200e41016a22064102746a221241ac146a220d201241b0146a200f41027410f9978080001a0240201320064d0d002013200e6b417e6a21120240201320066b410371220e450d000340200d280200220f20063b01a814200f20083602a013200d41046a210d200641016a2106200e417f6a220e0d000b0b20124103490d00200820064102746a41b8146a210d0340200d41746a280200220e20063b01a814200e20083602a013200d41786a280200220e200641016a3b01a814200e20083602a013200d417c6a280200220e200641026a3b01a814200e20083602a013200d280200220e200641036a3b01a814200e20083602a013200d41106a210d2013200641046a2206470d000b0b200820082f01aa14417f6a3b01aa140240200a4102490d00200c41016a2206201020116b470d03200741ac146a2001410274220e6a200b41ac146a200641027410f4978080001a0240201020016b220f41016a410371220d450d002007200e6a41ac146a210603402006280200220e20013b01a814200e20073602a013200641046a2106200141016a2101200d417f6a220d0d000b0b200f4103490d002001410274210d03402007200d6a220641ac146a280200220e20013b01a814200e20073602a013200641b0146a280200220e200141016a3b01a814200e20073602a013200641b4146a280200220e200141026a3b01a814200e20073602a013200641b8146a2802002206200141036a220e3b01a814200620073602a013200141046a2101200d41106a210d200e2010470d000b0b200b200b417e6a2f00006b41002802ec82d480001181808080000020082f01aa14220641044d0d000c040b0b200641ffff0371450d010c020b41a4a9cd8000412841cca9cd8000108081808000000b200241013a00000b2000200341d0006a41ec0110f497808000220120053602f401200120093602f001200120043602ec01200341e0046a2480808080000be40502067f017e2380808080004180046b2203248080808000200128020821042001280200210502400240200128020422060d002003200436020820034100360204200320053602002000200320021098978080000c010b200520044102746a2802ac14210102402006417f6a2204450d002006417e6a2105024020044103712206450d0003402004417f6a2104200120012f01aa144102746a2802ac1421012006417f6a22060d000b0b20054103490d000340200120012f01aa144102746a2802ac14220120012f01aa144102746a2802ac14220120012f01aa144102746a2802ac14220120012f01aa144102746a2802ac1421012004417c6a22040d000b0b2003200136020c200320013301aa144220864280808080707c370210200341186a2003410c6a200210989780800020034190026a41086a2205200341186a41086a22072802003602002003200329021837039002200341a0026a200341186a410c6a220841e00110f4978080001a20032802880221040240200328028c02220620032802840222012f01aa14490d000340200441016a210420012f01a814220620012802a01322012f01aa144f0d000b0b20012006410c6c6a22022902a413210920022003290390023702a4132007200241ac136a2202280200360200200220052802003602002003200937031820082001200641e0016c6a220241e00110f4978080001a2002200341a0026a41e00110f4978080001a0240024020040d00200641016a21020c010b200120064102746a41b0146a2802002101410021022004417f6a2206450d002004417e6a2105024020064107712204450d0003402006417f6a210620012802ac1421012004417f6a22040d000b0b20054107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200641786a22060d000b0b2000200341186a41ec0110f497808000220420023602f401200441003602f001200420013602ec010b20034180046a2480808080000bbb0201097f2003280214210420032802102105200328020821062003280204210703404100210802400240024020012f01e20c2209450d00200141146a2103200941186c210a410021080340024002402007200341706a2802002006200341746a280200220b2006200b491b10f597808000220c2006200b6b200c1b220b450d00200b41004a200b4100486b210b0c010b20052003417c6a28020020042003280200220b2004200b491b10f597808000220c2004200b6b200c1b220b41004a200b4100486b210b0b0240200b4101460d00200b41ff01710d02410021030c030b200341186a2103200841016a2108200a41686a220a0d000b200921080b20020d01410121030b2000200836020c2000200236020820002001360204200020033602000f0b2002417f6a2102200120084102746a2802e40c21010c000b0bd90301077f02400240024002400240024020022802000e0400010203000b024020012f01aa1422030d00410021040c050b20022802082105200228020421062003410c6c2107200141ac136a2101410021040340024020062001417c6a28020020052001280200220820052008491b10f5978080002209200520086b20091b220841004a20084100486b41ff017122084101460d0020080d0620004103360204200020043602000f0b2001410c6a2101200441016a2104200741746a22070d000b200321040c040b024020012f01aa1422030d00410021040c030b20022802082105200228020421062003410c6c2107200141ac136a2101410021040340024020062001417c6a28020020052001280200220820052008491b10f5978080002209200520086b20091b220841004a20084100486b41ff017122084101460d0020080d04200041023602042000200441016a3602000f0b2001410c6a2101200441016a2104200741746a22070d000b200321040c020b20004280808080203702000f0b20004103360204200020012f01aa143602000f0b20002004360200200020022902003702042000410c6a200241086a2802003602000f0b20002004360200200020022902003702042000410c6a200241086a2802003602000bda0301067f024002400240024020022802000e0400010203000b0240200320012f01aa142204460d0020022802082105200228020421062004410c6c2003410c6c22076b2108200720016a41ac136a21010340024020062001417c6a28020020052001280200220720052007491b10f5978080002209200520076b20091b220741004a20074100486b41ff017122074101460d0020070d02200041033602042000200341016a3602000f0b200341016a21032001410c6a2101200841746a22080d000b200421030b20002003360200200020022902003702042000410c6a200241086a2802003602000f0b0240200320012f01aa142204460d0020022802082105200228020421062004410c6c2003410c6c22076b2108200720016a41ac136a21010340024020062001417c6a28020020052001280200220720052007491b10f5978080002209200520076b20091b220741004a20074100486b41ff017122074101460d0020070d0220004102360204200020033602000f0b200341016a21032001410c6a2101200841746a22080d000b200421030b20002003360200200020022902003702042000410c6a200241086a2802003602000f0b20004102360204200020012f01aa143602000f0b20004103360204200020033602000bce06010a7f23808080800041306b22042480808080002003280214210520032802102106200328020c21072003280208210820032802042109024002400240024002400240024002402003280200220a0e03000106000b20070e03040105040b20070e03020104020b200920062008200520082005491b10f5978080002203200820056b20031b41004a0d040c030b0240024020082005470d0020092006200810f597808000450d010b200920062008200520082005491b10f5978080002203200820056b20031b41004a0d040c030b2004410036021c2004410136021020044198afcd800036020c200442043702142004410c6a41a4b0cd800010fe80808000000b200920062008200520082005491b10f5978080002203200820056b20031b4101480d010c020b200920062008200520082005491b10f5978080002203200820056b20031b41004a0d010b024002400240024003402004200836022c200420093602282004200a3602242004410c6a2001200441246a109b978080002004280210210a2004280214210920042802182108200428020c21032004200536022c20042006360228200420073602242004410c6a2001200441246a2003109c978080002004280210210720042802142106200428021821052003200428020c220b490d012002450d022002417f6a2102200120034102746a2802ac1421010c000b0b200a4104460d00024020020d002001210c0c020b4100210d2001210c0340200c20034102746a2802ac14210c2004200836022c200420093602282004200a3602242004410c6a200c200441246a109b9780800020042802182108200428021421092004280210210a200428020c21032001200b4102746a2802ac1421012004200536022c20042006360228200420073602242004410c6a2001200441246a4100109c97808000200428021821052004280214210620042802102107200428020c210b2002200d41016a220d470d000c020b0b2000410036020c200041003602000c010b2000200b360214200041003602102000200136020c20002003360208200041003602042000200c3602000b200441306a2480808080000f0b2004410036021c20044101360210200441e8b0cd800036020c200442043702142004410c6a41f0b0cd800010fe80808000000b950201027f23808080800041106b2202248080808000200220002802002200360204200128020041acb4cd80004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41b2b4cd80004104200041046a418cb4cd8000108a818080001a200241086a41b6b4cd80004105200241046a419cb4cd8000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b9c0101017f23808080800041306b220224808080800020022000280200280200220036022820024103360204200241bc9fc280003602002002420237020c200241da83808000ad4220862002412c6aad84370320200241db83808000ad422086200241286aad84370318200220006836022c2002200241186a36020820012802002001280204200210b1818080002101200241306a24808080800020010bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b9c0201027f23808080800041106b2202248080808000024002402000280200450d0020022000360204200128020041dcb4cd80004108200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41e4b4cd80004106200241046a41ccb4cd8000108a818080001a20022d000d220020022d000c220372210120004101470d0120034101710d010240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b200128020041bbb4cd80004110200128020428020c1180808080000021010b200241106a24808080800020014101710bad0701047f024002400240024002402000280200220141054b0d002001450d0441102102200041046a2203280200417e6a2204410220044102491b0e020103020b20002802042104024020002802082201450d0020042100034002400240024002402000280200417e6a2202410220024102491b0e020103000b200041106a280200450d02411421020c010b200041046a280200450d01410821020b200020026a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200041206a280200450d00200041246a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b2000412c6a21002001417f6a22010d000b0b20042004417e6a2f00006b41002802ec82d48000118180808000000f0b410421020b200320026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280224450d00200028022822022002417e6a2f00006b41002802ec82d48000118180808000000b20014101460d00411021020240024002402000280230417e6a2204410220044102491b0e020002010b410421020b200041306a20026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280250450d00200028025422022002417e6a2f00006b41002802ec82d48000118180808000000b20014102460d0041102102024002400240200028025c417e6a2204410220044102491b0e020002010b410421020b200041dc006a20026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200028027c450d0020002802800122022002417e6a2f00006b41002802ec82d48000118180808000000b20014103460d0041102102024002400240200028028801417e6a2204410220044102491b0e020002010b410421020b20004188016a20026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802a801450d0020002802ac0122022002417e6a2f00006b41002802ec82d48000118180808000000b20014104460d004110210102400240024020002802b401417e6a2202410220024102491b0e020002010b410421010b200041b4016a20016a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802d401450d0020002802d80122002000417e6a2f00006b41002802ec82d48000118180808000000b0b840503087f017e017f23808080800041106b22012480808080002000280200210202400240024002400240024002402000280204220320002802782204200441054b1b220541016a0e020201000b2005672206450d01417f200676220641016a22072005490d0220044105200441054b1b210802400240024020064105490d0020042007460d072007ad42187e2209422088a70d022009a7220341fcffffff074b0d020240024020044106490d002008ad42187e2209422088a70d042009a7220841fcffffff074b0d04200341002802f482d48000118280808000002204450d032004200441036a417c7120046b220a6a2206417e6a200a3b0000200620022003200820032008491b10f4978080001a20022002417e6a2f00006b41002802ec82d48000118180808000000c010b41002d008083d480001a200341002802f482d48000118280808000002202450d022002200241036a417c7120026b22036a2206417e6a20033b000020062000200441186c10f4978080001a0b2000200736027820002005360204200020063602000c070b200441064921052008210420050d060c050b4104200310ab80808000000b4194b7cd8000411141a8b7cd8000108081808000000b200441064f0d020c030b4194b7cd8000411141b8b7cd800010a181808000000b41c8b7cd8000412041e8b7cd8000108081808000000b20002002200341186c10f49780800020033602782004ad42187e2209a721002009422088a70d01200041fdffffff074f0d0120022002417e6a2f00006b41002802ec82d48000118180808000000b200141106a2480808080000f0b2001200036020c2001410036020841d8b6cd8000412b200141086a41c8b6cd80004184b7cd800010a981808000000b850502087f017e23808080800041106b2201248080808000200028020421020240024002400240024002400240200028020820002802002203200341054b22041b220541016a0e020201000b2005672205450d01417f20057621050b200541016a2206200020044103746a2802002207490d01200041046a21082003410520041b2104024020054105490d0020032006460d0402402006ad422c7e2209422088a70d002009a7220541fcffffff074b0d0002400240024020034106490d002004ad422c7e2209422088a70d032009a7220441fcffffff074b0d03200541002802f482d48000118280808000002203450d022003200341036a417c7120036b22086a2203417e6a20083b0000200320022005200420052004491b10f4978080001a20022002417e6a2f00006b41002802ec82d48000118180808000000c010b41002d008083d480001a200541002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a2203417e6a20053b0000200320082007412c6c10f4978080001a0b2000200736020820002003360204200020063602000c060b4104200510ab80808000000b4194b7cd8000411141a8b7cd8000108081808000000b200341064f0d020c030b4194b7cd8000411141b8b7cd800010a181808000000b41c8b7cd8000412041e8b7cd8000108081808000000b200820022007412c6c10f4978080001a200020073602002004ad422c7e2209a721002009422088a70d01200041fdffffff074f0d0120022002417e6a2f00006b41002802ec82d48000118180808000000b200141106a2480808080000f0b2001200036020c2001410036020841d8b6cd8000412b200141086a41c8b6cd80004184b7cd800010a981808000000bed0601037f23808080800041306b2204248080808000410121050240024020014101710d00410021020c010b0240200241c0004f0d00410121020c010b02402002418080014f0d00410221020c010b410441052002418080808004491b21020b0240200341c000490d0041022105200341808001490d00410441052003418080808004491b21050b41002d008083d480001a024002400240200541002802f482d48000118280808000002201450d00200420013602102001417e6a41003b0000200441003602142004200536020c02402003413f4b0d00200120034102743a0000410121060c030b0240200341ffff004b0d0020034102744101722106410021030240200541014b0d002004410c6a4100410210f49180800020042802102101200428021421030b200120036a20063b0000200341026a21060c030b200341ffffffff034b0d0120034102744102722106410021030240200541034b0d002004410c6a4100410410f49180800020042802102101200428021421030b200120036a2006360000200341046a21060c020b4101200541fcb2cd800010b980808000000b200141033a000041012106200441013602140240200541044b0d002004410c6a4101410410f49180800020042802102101200428021421060b200120066a2003360000200641046a21060b02400240024002402000280200220328020822052002490d00200428020c21002003410036020820042003360214200328020421032004200120066a36022c2004200036022820042001360224200420013602202004200336020c200420023602182004200520026b36021c2004200320026a3602102004410c6a41fcb3cd800010b69780800020042802102103200428020c2102200442818080801037020c200428021c21010240024020032002460d002001450d0520042802182205200428021422032802082202470d010c040b2001450d0420042802182205200428021422032802082202460d022003280204220020026a200020056a200110f9978080001a0c020b2003280204220020026a200020056a200110f9978080001a0c020b200220054180bbcd8000109181808000000b2003200220016a3602080c010b2003200220016a3602080b02402004280228450d00200428022022012001417e6a2f00006b41002802ec82d48000118180808000000b200441306a2480808080000bbf0301027f23808080800041306b22072480808080004100210802400240024020024100480d00024020020d00410121080c030b41002d008083d480001a200241002802f482d480001182808080000022080d01410121080b2008200241b8b6cd800010b980808000000b2008417e6a41003b00000b20082001200210f49780800021014100210802400240024020044100480d00024020040d00410121080c030b41002d008083d480001a200441002802f482d480001182808080000022080d01410121080b2008200441b8b6cd800010b980808000000b2008417e6a41003b00000b20082003200410f4978080002108200720043602202007200836021c2007200436021820072002360214200720013602102007200236020c4100210202400240024020064100480d00024020060d00410121020c030b41002d008083d480001a200641002802f482d480001182808080000022020d01410121020b2002200641b8b6cd800010b980808000000b2002417e6a41003b00000b20022005200610f49780800021022007200636022c200720023602282007200636022420002007410c6a200741246a4100200710af97808000200741306a2480808080000bd50401057f23808080800041e0016b220124808080800002400240024002402000280200418080808078470d002000280204200028020c41fc006c6a418c026a21000c010b200141086a41206a200041206a290200370300200141086a41186a2202200041186a290200370300200141086a41106a200041106a2203290200370300200141086a41086a200041086a220429020037030020012000290200370308200141003602a801024002402001280224450d00200141b8016a41086a200041246a2802003602002001200029021c3703b801200141c8016a41106a2003290200370300200141c8016a41086a2004290200370300200120002902003703c801200141ac016a200141b8016a200141c8016a200141306a2002200141306a108d9780800020012802b401210420012802ac012102200128022021030c010b41002d008083d480001a2001280220210341e40c41002802f482d48000118280808000002202450d022002200241036a417c7120026b22046a220241003b01e20c20024100360288022002417e6a20043b0000200341003602042003200236020020022f01e20c2204410b4f0d032002200441016a3b01e20c2002200441186c6a22052000290200370200200541106a200041106a290200370200200541086a200041086a2902003702002002200441fc006c6a418c026a200141306a41fc0010f4978080001a0b2003200328020841016a3602082002200441fc006c6a418c026a21000b200141e0016a24808080800020000f0b410441e40c10ab80808000000b4198a6cd8000412041b8a7cd8000108081808000000b980403027f017e037f23808080800041b0026b220124808080800002400240024002402000280200418080808078470d002000280204200028020c41e0016c6a21000c010b200141086a41186a200041186a2202280200360200200141086a41106a200041106a2902002203370300200141086a41086a200041086a22042902003703002001200029020037030820014100360224024002402003a7450d0020014190026a41086a20022802003602002001200029021037039002200141a0026a41086a2004280200360200200120002902003703a00220014184026a20014190026a200141a0026a200141246a200141146a200141246a109397808000200128028c0221052001280284022102200128021421040c010b41002d008083d480001a2001280214210441ac1441002802f482d48000118280808000002202450d022002200241036a417c7120026b22056a220241003b01aa14200241003602a0132002417e6a20053b0000200441003602042004200236020020022f01aa142205410b4f0d032002200541016a3b01aa1420022005410c6c6a220620002902003702a413200641ac136a200041086a2802003602002002200541e0016c6a200141246a41e00110f4978080001a0b2004200428020841016a3602082002200541e0016c6a21000b200141b0026a24808080800020000f0b410441ac1410ab80808000000b4198a6cd8000412041b8a7cd8000108081808000000bf10201047f23808080800041306b220124808080800002400240024002402000280210450d00200141106a41086a200041106a220241086a28020036020020012002290200370310200141206a41086a200041086a28020036020020012000290200370320200141046a200141106a200141206a2000410c6a2000411c6a108f97808000200028020c2103200128020421020c010b200028020c210341002d008083d480001a418c0141002802f482d48000118280808000002202450d012002200241036a417c7120026b22046a220241003b018a01200241003602002002417e6a20043b0000200341003602042003200236020020022f018a012204410b4f0d022002200441016a3b018a0120022004410c6c6a2204410c6a200041086a280200360200200420002902003702040b2003200328020841016a360208200141306a2480808080002002418c016a0f0b4104418c0110ab80808000000b4198a6cd8000412041b8a7cd8000108081808000000b970301047f23808080800041c0006b22012480808080000240024002400240200028021c450d00200141186a41086a2000411c6a220241086a28020036020020012002290200370318200141286a41106a200041106a290200370300200141286a41086a200041086a290200370300200120002902003703282001410c6a200141186a200141286a200041186a200041286a10919780800020002802182103200128020c21020c010b2000280218210341002d008083d480001a41900241002802f482d48000118280808000002202450d012002200241036a417c7120026b22046a220241003b018e0220024100360288022002417e6a20043b0000200341003602042003200236020020022f018e022204410b4f0d022002200441016a3b018e022002200441186c6a220441106a200041106a290200370200200441086a200041086a290200370200200420002902003702000b2003200328020841016a360208200141c0006a24808080800020024190026a0f0b410441900210ab80808000000b4198a6cd8000412041b8a7cd8000108081808000000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10ac9780800020052802084101470d0120052802102102200528020c21060b200620024188bccd800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be20101077f23808080800041206b22022480808080004100210302402000280200220441ffffffff014d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410274220741fcffffff074b0d004100210502402004450d002002200441027436021c20022000280204360214410421050b20022005360218200241086a41042007200241146a10ac9780800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bba08010b7f410341022001280200418080808078461b21052000280200210602400240024002402002450d00200028020421070c010b2000280204210720002802082006200641054b22021b0d010b024002402000200641054b22084103746a220228020022092006410520081b460d002007200041046a20081b21060c010b200010a497808000200041086a210220002802082109200028020421060b20062009412c6c6a22062001290200370204200620053602002006410036022820064280808080c0003702202006410c6a200141086a2802003602002002200228020041016a3602000c010b024002400240200020024103746a2802002202450d002007200041046a220a200641054b1b2002412c6c6a220641546a2202280200220741014b0d012006415c6a2802004101470d012006416c6a2208280200210b20084100360200200641686a280200210c200641646a2208280200210d2008428080808010370200200641586a280200210e200641606a280200210f200721080c020b4198bdcd800041fc004184bfcd800010a181808000000b410221080b411021090240024002402007417e6a2207410220074102491b0e020002010b410421090b200220096a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b20022005360200200641586a22062001290200370200200641086a200141086a28020036020020084102460d0002400240200028020820002802002201200141054b22011b417e6a2206200020014103746a2802004f0d000240200a280200200a20011b2006412c6c6a2201280200220641014b0d0041002102410021052006410171450d0202402001280204220641c0004f0d00417f21050c030b02402006418080014f0d00417e21050c030b417c417b2006418080808004491b21050c020b200d450d02200c200c417e6a2f00006b41002802ec82d48000118180808000000c020b41b4bfcd800041c00041f4bfcd800010a181808000000b02402008410171450d0041012102200e41c000490d0041022102200e41808001490d0041044105200e418080808004491b21020b2001200e360204200120083602002005200f6a20026a2206200b2006200b491b210602402001280210450d00200128021422022002417e6a2f00006b41002802ec82d48000118180808000000b200120063602182001200c3602142001200d3602100b024002402003410171450d002000200028020041054b22014103746a2802002206450d012000280204200041046a20011b2006412c6c6a220141786a210602402001417c6a22022802002200450d002004200628020020004102746a417c6a280200460d010b02402000200141746a2201280200470d00200141e4b8cd800010ad978080000b200628020020004102746a20043602002002200041016a3602000b0f0b4198bdcd800041fc0041a4bfcd800010a181808000000bcc0a01077f23808080800041d0006b220524808080800041002106024002400240200128020822074100480d0020012802042108024020070d00410121060c030b41002d008083d480001a200741002802f482d480001182808080000022060d01410121060b200620074188bdcd800010b980808000000b2006417e6a41003b00000b20062008200710f4978080002109200520073602302005200936022c200520073602284100210a024002400240200128021422064100480d002001280210210b024020060d004101210a0c030b41002d008083d480001a200641002802f482d4800011828080800000220a0d014101210a0b200a20064188bdcd800010b980808000000b200a417e6a41003b00000b200a200b200610f497808000210a2005200636023c2005200a36023820052006360234024002402000280200220a450d00200541c0006a200a2000280204200541286a109a97808000200541c4006a210a02402005280240450d00200541246a200a41086a280200360200200541086a200541286a41086a290200370300200541106a200541286a41106a29020037030020052005290228370300200520003602182005200a29020037021c0c020b2005410c6a200a41086a2802003602002005200036021020054180808080783602002005200a29020037020402402007450d0020092009417e6a2f00006b41002802ec82d4800011818080800000200528023421060b2006450d01200528023822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200541106a200541286a41106a290200370300200541086a200541286a41086a290200370300200520052902283703002005410036021c200520003602180b200510a7978080002106024002400240024002402000410c6a200028020c41054b22074103746a280200220a0d00200128020c210002402001280200450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b02402000450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200641f8006a2108200628027821010c010b200541086a200141086a290200370300200541106a200141106a29020037030020052001290200370300200641f8006a21082000280210200041106a20071b200a410c6c6a41746a200510b4978080002100200628027821012000450d010b20062802042001200141054b22001b22070d010b200641046a2100024002402006410441f800200141054b22071b6a280200220a2001410520071b460d002000200820071b21002006280200200620071b21010c010b200610a3978080002006280204210a200628020021010b2001200a41186c6a2201410036020820014280808080c0003702002001200229020037020c200141146a200241086a2802003602002000200028020041016a3602000c010b02402006280200200620001b200741186c6a220741746a22012802002200418080808078460d002000450d00200741786a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b20012002290200370200200141086a200241086a2802003602000b024002402003410171450d00200628020420062802782201200141054b22011b2200450d012006280200200620011b200041186c6a2201416c6a21000240200141706a22072802002206450d002004200028020020064102746a417c6a280200460d010b02402006200141686a2201280200470d00200141e4b8cd800010ad978080000b200028020020064102746a20043602002007200641016a3602000b200541d0006a2480808080000f0b4198bdcd800041fc0041a4bfcd800010a181808000000bd01903077f017e107f23808080800041b0026b220224808080800041012103200028020c210402400240024020002d00504101470d0020002802142004200441054b1b200028024c4d0d010b2000410c6a2205200441054b22044103746a22062802002207450d00200041106a2208280200210320062007417f6a22073602002003200820041b2007410c6c6a22042802042103200220042802084100200428020022041b36022820022003360224200220043602202002410036021c20022004410047220636021820022003360214200220043602102002410036020c20022006360208200241386a200241086a10b297808000200229023c21092002280238210a024002400240024020010d00200a418080808078460d03200241386a41106a210b200241386a41046a210c03402002200a36022c200220093702302000280200220d450d022009422088a721042009a7210e2000280204210f02400240024002400240034002400240200d2f01aa1422100d00410021060c010b2010410c6c211141002107410021014100210603400240200e200d20016a220341a8136a2802002004200341ac136a280200220320042003491b10f5978080002212200420036b20121b220341004a20034100486b41ff017122034101460d0020030d02200d20076a21032005200528020041054b22044103746a2802002201452008280200200820041b2001410c6c6a41746a2204457222110d04200241386a41086a2002412c6a41086a2802003602002002200229022c3703382004200241386a10b397808000450d07200328020021040c050b200741e0016a2107200641016a210620112001410c6a2201470d000b201021060b200f450d08200f417f6a210f200d20064102746a2802ac14210d0c000b0b200341086a28020020032802002204200441054b1b4102490d010b0240024002400240024002400240200d200441054b22044103746a20076a22062802002212450d00200341046a2201280200210e20062012417f6a2212360200200e200120041b2012412c6c6a220428020c2113200428020821102004280204210a2004280200210f200241a0026a41086a2214200441186a290200370300200220042902103703a002200428022821062004280224210e20042802202115200328020021120240200f41014b0d002010450d00200d201241054b22164103746a20076a2802002217450d022001280200200120161b2017412c6c6a221641546a221728020041014b0d00201641606a221228020021102016415c6a22132802002114200241386a41086a2218200441106a220441086a290200370300200220042902003703380240201641646a2204280200450d00201641686a28020022192019417e6a2f00006b41002802ec82d48000118180808000000b2017200f3602002013201436020020122010360200201641586a200a36020020042002290338370200200441086a20182903003702000c070b200d201241054b22044103746a20076a2802002212450d02200241386a41186a2001280200200120041b2012412c6c6a220441546a221241186a290200370300200241386a41106a201241106a290200370300200241386a41086a201241086a29020037030020022012290200370338200441606a20133602002004415c6a2010360200200441586a200a3602002012200f360200200441646a220441086a2014290300370200200420022903a0023702002002280238221241014b0d04200228024c21042002280248210f02402002280240450d00200341086a28020020032802002210201041054b22101b417e6a220a200320104103746a2802004f0d002001280200200120101b200a412c6c6a2210280200220a41014b0d004100211441002116200a410171450d0402402010280204220a41c0004f0d00417f21160c050b0240200a418080014f0d00417e21160c050b417c417b200a418080808004491b21160c040b200f0d050c060b4198bdcd800041fc004194bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b200228023c211302402012410171450d000240201341c0004f0d00410121140c010b02402013418080014f0d00410221140c010b410441052013418080808004491b21140b200228024421172002280250210a2010201336020420102012360200201620176a20146a2212200a2012200a491b211202402010280210450d002010280214220a200a417e6a2f00006b41002802ec82d48000118180808000000b20102012360218201020043602142010200f360210200228023822124102490d020b200b2104024002402012417e6a2212410220124102491b0e020003010b200c21040b2004280200450d01200428020421040b20042004417e6a2f00006b41002802ec82d48000118180808000000b200d200328020041054b22044103746a20076a2802002203450d0220064102742107024020062001280200200120041b2003412c6c6a220341746a22122802002003417c6a220128020022046b4d0d002012200420064104410410ab97808000200128020021040b200341786a28020020044102746a200e200710f4978080001a2001200420066a36020002402015450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b2011450d01200228022c210a0b200a450d00200228023022042004417e6a2f00006b41002802ec82d48000118180808000000b200241386a200241086a10b297808000200229023c21092002280238220a418080808078470d010c050b0b4198bdcd800041fc0041a4bfcd800010a181808000000b200a418080808078460d02200241386a41106a2105200241386a41046a21082002413c6a211503402002200a36022c200220093702302000280200220d450d012009422088a721042009a7210e2000280204210f02400240024002400240034002400240200d2f01aa1422100d00410021060c010b2010410c6c211141002107410021014100210603400240200e200d20016a220341a8136a2802002004200341ac136a280200220320042003491b10f5978080002212200420036b20121b220341004a20034100486b41ff017122034101460d0020030d02200d20076a2203200328020041054b22044103746a22062802002212450d0b200341046a2201280200210e20062012417f6a2212360200200241386a41086a200e200120041b2012412c6c6a220441086a290200370300200241386a41106a200441106a290200370300200241386a41186a200441186a290200370300200241386a41206a200441206a290200370300200241386a41286a200441286a2802003602002002200429020022093703382009a7220641014b0d052005211220022802404101470d06200d200328020041054b22124103746a20076a280200220d450d0e200428021421072004280210210e2001280200200120121b200d412c6c6a220141546a2212280200220d4102490d04200e0d070c080b200741e0016a2107200641016a210620112001410c6a2201470d000b201021060b200f450d07200f417f6a210f200d20064102746a2802ac14210d0c000b0b200141586a21114100210f410021100240200d410171450d0002402011280200220d41c0004f0d00417f21100c010b0240200d418080014f0d00417e21100c010b417c417b200d418080808004491b21100b20042802182104200228023c210d02402006410171450d000240200d41c0004f0d004101210f0c010b0240200d418080014f0d004102210f0c010b41044105200d418080808004491b210f0b2002280244210a2011200d360200201220063602002010200a6a200f6a2206200420062004491b21040240200141646a2206280200450d00200141686a28020022122012417e6a2f00006b41002802ec82d48000118180808000000b2006200e3602002001416c6a2004360200200141686a2007360200200228023822064102490d030b2008211220064102470d020b2012280200450d01201228020421070b20072007417e6a2f00006b41002802ec82d48000118180808000000b02402002280258450d00200228025c22042004417e6a2f00006b41002802ec82d48000118180808000000b0240200341086a28020020032802002204200441054b1b0d00200241386a20002002412c6a10b5978080002002280238450d00201510a2978080000b0240200228022c450d00200228023022042004417e6a2f00006b41002802ec82d48000118180808000000b200241386a200241086a10b297808000200229023c21092002280238220a418080808078470d000c030b0b4184c0cd800041d50141dcc1cd800010a181808000000b4198bdcd800041fc004194bfcd800010a181808000000b200241086a10b897808000410021030b200241b0026a24808080800020030f0b4198bdcd800041fc004184bfcd800010a181808000000b8c05010c7f23808080800041206b220524808080800041002106024002400240200128020822074100480d0020012802042108024020070d00410121060c030b41002d008083d480001a200741002802f482d480001182808080000022060d01410121060b200620074188bdcd800010b980808000000b2006417e6a41003b00000b20062008200710f497808000210902400240024002402000280200220a450d002000280204210b03404100210c0240200a2f01aa14220d450d00200d410c6c210e4100210f4100210c034002402009200a200f6a220641a8136a2802002007200641ac136a280200220620072006491b10f5978080002210200720066b20101b220641004a20064100486b41ff017122064101460d0020060d02200520003602102005200c36020c2005200b3602082005200a36020420054180808080783602002007450d0720092009417e6a2f00006b41002802ec82d48000118180808000000c070b200c41016a210c200e200f410c6a220f470d000b200d210c0b200b450d02200b417f6a210b200a200c4102746a2802ac14210a0c000b0b200541003602100c010b2005200c360218200541003602142005200a3602100b2005200036020c2005200736020820052009360204200520073602000b200510a8978080002107024002402000410c6a200028020c41054b22064103746a280200220f0d00024020012802000d00410021060c020b4100210620082008417e6a2f00006b41002802ec82d48000118180808000000c010b200541086a200141086a280200360200200520012902003703002000280210200041106a20061b200f410c6c6a41746a200510b39780800041017321060b2007200220062003200410ae97808000200541206a2480808080000ba50601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a2105200228028c0121022004417f6a22040d000b0b20034108490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200541786a22050d000b0b034020022002417e6a2f00006b210520022802002102200541002802ec82d480001181808080000020020d000b0b20004180808080783602000f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a2105200228028c0121022004417f6a22040d000b0b20034108490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082104024002400240200128020c2203200128020422022f018a014f0d00200221050c010b034020022802002205450d0220022f018801210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f018a014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a4190016a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a2107200228028c0121022004417f6a22040d000b0b20084107490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200741786a22070d000b0b2001200636020c2001410036020820012002360204200020052003410c6c6a2202290204370200200041086a2002410c6a2802003602000f0b20022002417e6a2f00006b41002802ec82d48000118180808000004184b2cd800010a081808000000b41f0c2cd800010a081808000000b8503020c7f017e23808080800041206b220224808080800002400240024020002802002203450d00200141046a2104200128020821052001280204210620002802042107034041002108024020032f018a012209450d002009410c6c210a2003410c6a210b41002108034002402006200b417c6a2802002005200b280200220c2005200c491b10f597808000220d2005200c6b200d1b220c41004a200c4100486b41ff0171220c4101460d00200c0d024101210b2001280200450d0620062006417e6a2f00006b41002802ec82d48000118180808000000c060b200b410c6a210b200841016a2108200a41746a220a0d000b200921080b02402007450d002007417f6a2107200320084102746a28028c0121030c010b0b2008ad422086210e0c010b200141046a2104410021030b4101210b20012802002205418080808078460d002002200e37021820022003360214200220003602102002200536020420022004290200370208200241046a10a9978080001a4100210b0b200241206a248080808000200b0b9d04020d7f017e23808080800041306b220224808080800002400240024020002802002203450d002001280214210420012802102105200128020821062001280204210720002802042108034041002109024020032f018e02220a450d00200a41186c210b200341146a210c410021090340024002402007200c41706a2802002006200c41746a280200220d2006200d491b10f597808000220e2006200d6b200e1b220d450d00200d41004a200d4100486b210d0c010b2005200c417c6a2802002004200c280200220d2004200d491b10f597808000220e2004200d6b200e1b220d41004a200d4100486b210d0b0240200d4101460d00200d41ff01710d0202402001280200450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b4101210c200128020c450d0620052005417e6a2f00006b41002802ec82d48000118180808000000c060b200c41186a210c200941016a2109200b41686a220b0d000b200a21090b02402008450d002008417f6a2108200320094102746a2802900221030c010b0b2009ad422086210f0c010b200128021421042001280210210520012802042107410021030b4101210c20012802002206418080808078460d002002200f37022820022003360224200220003602202002200436021c200220053602182002200736020c2002200636020820022001290208370210200241086a10aa978080001a4100210c0b200241306a248080808000200c0bd204010a7f23808080800041f0036b220324808080800002400240200128020022040d00410021050c010b20022802082105200228020421062001280204210702400240034041002108024020042f01aa142209450d002009410c6c210a4100210b410021080340024020062004200b6a220241a8136a2802002005200241ac136a280200220220052002491b10f597808000220c200520026b200c1b220241004a20024100486b41ff017122024101460d0020020d022003200136020c20032008360208200320073602042003200436020041002105200341003a0013200341f8016a2003200341136a10999780800020032802f801210220032802fc012108200341146a20034180026a41e40110f4978080001a20012001280208417f6a360208024020032d00134101470d002001280200220b450d062001280204220c450d05200b2802ac14220441003602a0132001200c417f6a36020420012004360200200b200b417e6a2f00006b41002802ec82d48000118180808000000b200341f8016a200341146a41e40110f4978080001a2002418080808078460d06200041046a200341f8016a41046a41e00110f4978080001a410121052002450d0620082008417e6a2f00006b41002802ec82d48000118180808000000c060b200841016a2108200a200b410c6a220b470d000b200921080b024020070d00410021050c040b2007417f6a2107200420084102746a2802ac1421040c000b0b41f0a8cd800041214194a9cd8000108081808000000b41fcb9cd800010a081808000000b20002005360200200341f0036a2480808080000bdc08010b7f20004281808080103702000240200028021022020d00024020002802202203200028021822046b220520002802082206280200200628020822076b4d0d002006200720054101410110ab97808000200628020821070b024020042003460d002006280204210802400240200541037122050d00200421090c010b200421090340200820076a20092d00003a0000200741016a2107200941016a21092005417f6a22050d000b0b0240200420036b417c4b0d00200820076a210a410021080340200a20086a2204200920086a22052d00003a0000200441016a200541016a2d00003a0000200441026a200541026a2d00003a0000200441036a200541036a2d00003a0000200841046a2108200541046a2003470d000b200920086a2109200720086a21070b200020093602180b200620073602080f0b024002400240200028020c220b200028020822082802082205470d0020002802202107200028021821050c010b200b20056b2104200828020420056a21092000280218210520002802202107034020052007460d02200920052d00003a00002000200541016a22053602182008200828020841016a360208200941016a21092004417f6a22040d000b0b024020072005460d000240200720056b22092008280200200b20026a22046b4d0d002008200420094101410110ab978080000b200828020422042009200b6a22036a2004200b6a200210f9978080001a2000200336020c0240200828020822042003460d00200828020420046a2109200b20076a20046b20056b2104034020052007460d03200920052d00003a00002000200541016a22053602182008200828020841016a360208200941016a21092004417f6a22040d000b0b2003210b0b4100210902400240200720056b22044100480d0020072005460d024100210941002d008083d480001a200441002802f482d4800011828080800000220a0d01410121090b200920044180c4cd800010b980808000000b200a417e6a220c41003b0000200720056b220441037121030240200520076b417c4b0d002004417c712106410021090340200a20096a2207200520096a22042d00003a0000200741016a200441016a2d00003a0000200741026a200441026a2d00003a0000200741036a200441036a2d00003a00002006200941046a2209470d000b200520096a21050b02402003450d000340200a20096a20052d00003a0000200941016a2109200541016a21052003417f6a22030d000b0b2000200536021802402009450d00024020092008280200200b20026a22056b4d0d002008200520094101410110ab978080000b20082802042207200b20096a22056a2007200b6a200210f9978080001a2000200536020c200828020822072005460d002007200b6b2104200828020420076a2105200a210703402009450d01200520072d00003a00002008200828020841016a360208200541016a2105200741016a210720042009417f6a2209470d000b0b200a200c2f00006b41002802ec82d48000118180808000000b0bfb0501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802900221012005417f6a22050d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200041786a22000d000b0b20012100410021020b024002400240200220002f018e024f0d0020022105200021010c010b03402000280288022201450d0220002f018c02210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f018e024f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4194026a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802900221002004417f6a22040d000b0b20074107490d000340200028029002280290022802900228029002280290022802900228029002280290022100200641786a22060d000b0b02402001200541186c6a2201280200450d00200128020422042004417e6a2f00006b41002802ec82d48000118180808000000b0240200128020c450d00200128021022012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d48000118180808000004184b2cd800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802900221002005417f6a22050d000b0b20024108490d000340200028029002280290022802900228029002280290022802900228029002280290022100200441786a22040d000b0b034020002000417e6a2f00006b21012000280288022100200141002802ec82d480001181808080000020000d000b0b0bbb0601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a2104200128028c0121012003417f6a22030d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f018a014f0d00200121040c010b034020012802002204450d0220012f018801210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f018a014f0d000b0b0240024020030d00200241016a2105200421010c010b200420024102746a4190016a2802002101410021052003417f6a2206450d002003417e6a2107024020064107712203450d0003402006417f6a2106200128028c0121012003417f6a22030d000b0b20074107490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200641786a22060d000b0b2000200536020c2000410036020820002001360204024020042002410c6c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d48000118180808000004184b2cd800010a081808000000b41f0c2cd800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a2104200128028c0121012003417f6a22030d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200441786a22040d000b0b034020012001417e6a2f00006b210420012802002101200441002802ec82d480001181808080000020010d000b0b0b1e00200128020041acc5cd8000410c200128020428020c118080808000000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be30101037f23808080800041206b2203248080808000024002400240200120026a220220014f0d00410021040c010b4100210402402002200028020022054101742201200220014b1b22014108200141084b1b220141004e0d000c010b4100210202402005450d002003200536021c20032000280204360214410121020b20032002360218200341086a41012001200341146a10ba9780800020032802084101470d0120032802102100200328020c21040b2004200041b0c6cd800010b980808000000b200328020c21022000200136020020002002360204200341206a2480808080000bf80201067f23808080800041106b22022480808080004100210302400240024002402001280208220441176a22054100480d0020012802042106024020050d002002410036020c20024280808080103702040c030b4100210341002d008083d480001a200541002802f482d480001182808080000022010d01410121030b2003200541b8c8cd800010b980808000000b200220013602082001417e6a41003b00002002410036020c2002200536020420044169490d010b200241046a4100411710bb978080002002280204210520022802082101200228020c21030b200120036a220741002900c0c7cd80003700002007410f6a41002900cfc7cd8000370000200741086a41002900c8c7cd80003700002002200341176a220336020c02402004200520036b4d0d00200241046a2003200410bb9780800020022802082101200228020c21030b200120036a2006200410f4978080001a200041086a200320046a36020020002002290204370200200241106a2480808080000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000bf40303047f017e017f23808080800041306b2201248080808000200141246a41dcc9cd8000410810c3928080002001410036022020014280808080c00037021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220441dd8580800036021820044296e397c6bfa5aeee46370310200442aceff0b4f2bd8f8fe40037030820044101360204200441e4c9cd80003602002004417e6a20033b0000200141086a200141186a220241086a2802003602002001200229020037030020012902282105200128022421032001410036021420014280808080800137020c2001410c6a41a8c9cd800010b5928080002001280210220242b1b9bbf6d09c8ca47b3703002002410036023020024280808080c0003703282002410036022020024100360218200241de85808000360210200242d0eeea8fe2e880c5103703082003418080808078460d01200128020c21062000410136024c20002004360248200041013602442000200537023c200020033602382000410136020c2000200236020820002006360204200041003a000020002001290300370250200041d8006a200141086a280200360200200141306a2480808080000f0b4108412010ab80808000000b41b8c9cd8000411141ccc9cd800010a181808000000be60203027f017e037f23808080800041306b2201248080808000200141246a4196cdcd8000410c4180cdcd800041164104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41a8c9cd800010b59280800020012802102205429bb4b4cdca9deefa703703002005420437022c20054211370224200541accdcd80003602202005410a36021c200541a2cdcd8000360218200541df85808000360210200542a6918dfdeac380e3987f37030802402004418080808078470d0041b8c9cd8000411141ccc9cd800010a181808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10c09780800020052802084101470d0120052802102102200528020c21060b2006200241b4cecd800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000bbd0401067f23808080800041306b2204248080808000200241017121050240024020032802002206418080808078460d00413f2002411e2002411e491b22074120722002411e4b1b2108200220076b210902402005450d0020012d000021070b20044102360224200420073a0019200420083a0015200441013a0014200420093602102004410136020c20042002417e71360220200420053a00182004200120056a36021c20002004410c6a41accfcd800010c597808000200328020421020240200328020822032000280200200028020822056b4d0d002000200520034101410110c197808000200028020821050b200028020420056a2002200310f4978080001a2000200028020820036a3602082006450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b41ff002002413e2002413e491b220641c000722002413e4b1b2107200220066b210802402005450d0020012d000021060b20044102360224200420063a0019200420073a0015200441013a0014200420083602102004410136020c20042002417e71360220200420053a00182004200120056a36021c20002004410c6a41accfcd800010c5978080002004200328020822023602282004200441286a36022c2004412c6a200010bd9780800020032802042105024020022000280200200028020822036b4d0d002000200320024101410110c197808000200028020821030b200028020420036a2005200210f4978080001a2000200028020820026a3602080b200441306a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041dd8580800036021820004296e397c6bfa5aeee46370310200042aceff0b4f2bd8f8fe400370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000bc807010e7f20012802142103200128021021042001280204210520012d000821062001280218210720012d000d210820012d000921092001280200210a20012d000c210b0240034002400240024002400240024002400240024002400240024002400240200a417e6a0e020102000b0240200641ff01714102460d004100210c2001410041022006410171220d1b3a0008200d450d00410021062009210e0c040b0240200a410171450d002005450d002005418002490d032001200541817e6a220536020441ff01210e410221064101210c0c040b41022106200141023602000b4102210a0240200b41ff01714102460d004100210a200141003a000c200b4101710d050b20014103360200200a210b0b2004450d042003450d04200120032007200320072003491b220a6b220336021420012004200a6a220c36021002400240200a0e020001040b410041004198d1cd8000108281808000000b4101410141a8d1cd8000108281808000000b200141003602042005417f6a210e410221064101210c410021050b2000280208220d2000280200470d08200a4103470d05200445210f2004210c0c040b20042d000041047420042d000172210e2000280208220d2000280200460d024103210a200c21040c070b4100210b4102210a2008210e2000280208220d2000280200470d064100210c20040d04410021042008210e410021100c050b0f0b4100210f0b410021104103210a0240200f450d00200c21040c030b024020030d00200c21040c030b02402007450d00200320076e22042003200420076c6b4100476a2110200c21040c030b41b0d0cd8000108e81808000000b024002400240024002402004450d00200a4102460d01200b41ff017122104102460d0202400240200c0d00200a4101711a2006210c0c010b200a4101711a4100210c0b200c20106a210c0c050b200a4102460d02200b41ff017122044102460d0302400240200c0d00200a4101711a2006210c0c010b200a4101711a4100210c0b200c20046a2110410021040c050b4102210a4100200b200b41ff01714102461b41ff0171210c0c030b41002006200c1b210c4102210b0c020b4102210a410021044100200b200b41ff01714102461b41ff017121100c020b4100210441002006200c1b21104102210b0c010b4100211002402003450d002007450d04200320076e22102003201020076c6b4100476a21100b417f200c20106a22102010200c491b21100b2000200d201041016a220c417f200c1b4101410110c1978080000b2000200d41016a3602082000280204200d6a200e3a00000c000b0b41b0d0cd8000108e81808000000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041e085808000360218200042ffa4dddb98b9a9a4fe003703102000429faa9cbce6b5e6f9d800370308200041023a00000bf40101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a220141bb80808000360228200141e185808000360210200142d687ccb79492eaa48f7f370308200142dec098f1dab59facaa7f370300200142d7c9cb8fc1cf97db3e370320200142e88488d0c0e3aebc13370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0b6700200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004108360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a00000bfd0303057f017e017f23808080800041306b2201248080808000200141246a41b8d1cd8000410310c3928080002001410036022020014280808080c00037021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2204418381808000360218200442acf6debeefe0d9c8d300370310200442efc9c9edb5e7b3a6c70037030820044101360204200441bbd1cd80003602002004417e6a20033b0000200141086a2205200141186a220241086a2802003602002001200229020037030020012902282106200128022421032001410036021420014280808080800137020c2001410c6a41b4d2cd800010b5928080002001280210220242efc9c9edb5e7b3a6c7003703002002410036023020024280808080c00037032820024100360220200241003602182002418381808000360210200242acf6debeefe0d9c8d3003703082003418080808078460d01200128020c2102200128021021072000410136024c20002004360248200041013602442000200637023c200020033602382000410136020c2000200736020820002002360204200041003a000020002001290300370250200041d8006a2005280200360200200141306a2480808080000f0b4108412010ab80808000000b41c4d2cd8000411141d8d2cd800010a181808000000bfb0303057f017e017f23808080800041306b2201248080808000200141246a41b8d1cd8000410310c3928080002001410036022020014280808080c00037021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220441e285808000360218200442dbd99687cdc4d0f406370310200442a7d986bcbd90f1d2907f37030820044101360204200441bbd1cd80003602002004417e6a20033b0000200141086a2205200141186a220241086a2802003602002001200229020037030020012902282106200128022421032001410036021420014280808080800137020c2001410c6a41b4d2cd800010b5928080002001280210220242a7d986bcbd90f1d2907f3703002002410036023020024280808080c0003703282002410036022020024100360218200241e285808000360210200242dbd99687cdc4d0f4063703082003418080808078460d01200128020c2102200128021021072000410136024c20002004360248200041013602442000200637023c200020033602382000410136020c2000200736020820002002360204200041003a000020002001290300370250200041d8006a2005280200360200200141306a2480808080000f0b4108412010ab80808000000b41c4d2cd8000411141d8d2cd800010a181808000000bb50b04027f017e037f017e23808080800041d0006b2201248080808000200141306a41bcd1cd8000410e41cad1cd8000410a4104410010c292808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a22044100360200200142808080808001370218200141186a41b4d2cd800010b592808000200128021c22054281fda5a2bdc7b3f2d600370308200542d3bbc1d99ffc8ea0f300370300200141c0006a41086a220641013602002005420437022c20054211370224200541f1d2cd80003602202005410936021c200541e8d2cd8000360218200541e385808000360210200120012902183703400240200628020022062001280240470d00200141c0006a41b4d2cd800010b5928080000b2001280244200641386c6a2205420437022c20054211370224200541f1d2cd80003602202005410936021c20054182d3cd8000360218200541e38580800036021020054281fda5a2bdc7b3f2d600370308200542d3bbc1d99ffc8ea0f3003703002004200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41b4d2cd800010b5928080000b200128021c200641386c6a2205420437022c200542033702242005419cd3cd80003602202005411136021c2005418bd3cd8000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141c0006a41086a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41b4d2cd800010b5928080000b2001280244200641386c6a2205420437022c200542033702242005419cd3cd80003602202005410c36021c2005419fd3cd8000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141186a41086a200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41b4d2cd800010b5928080000b200128021c200641386c6a2205420437022c200542033702242005419cd3cd80003602202005410c36021c200541abd3cd8000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141c0006a41086a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41b4d2cd800010b5928080000b2001280244200641386c6a2205420437022c20054207370224200541bbd3cd80003602202005410436021c200541b7d3cd8000360218200541e4858080003602102005429effc2c8e49796ae3337030820054289d1a1cdae839bc5f800370300200141186a41086a200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41b4d2cd800010b5928080000b200128021c200641386c6a2205420437022c200542033702242005419cd3cd80003602202005411336021c200541c2d3cd8000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141c8006a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41b4d2cd800010b5928080000b2001280244200641386c6a2205420437022c20054202370224200541e3d3cd80003602202005410e36021c200541d5d3cd8000360218200541b480808000360210200542dbd791d5c2919eaecd00370308200542e6ed8d82cc91adcb0537030002402002418080808078470d0041c4d2cd8000411141d8d2cd800010a181808000000b20012802442105200128024021042000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041003a0000200020012903083702502000200641016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419981808000360218200042a5e9e3ab9e929adc2c37031020004293888c8f89fdc6ec9e7f370308200041063a00000b810102017f017e23808080800041306b22022480808080002002410336020c2002419cd5cd800036020820024202370214200241e681808000ad4220862203200041086aad84370328200220032000ad843703202002200241206a36021020012802002001280204200241086a10b1818080002100200241306a24808080800020000bf60403027f017e047f23808080800041c0006b2201248080808000200141246a41b4d5cd8000410641bad5cd800041154104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080800137020c2001410c6a41c8d4cd800010b592808000200128021022044289b1efa9e5f09dc101370308200442928ad285e9ded19749370300200141306a41086a220541013602002004420437022c20044203370224200441d7d5cd80003602202004410836021c200441cfd5cd8000360218200441e5858080003602102001200129020c370330024002402005280200220520012802302206460d0020012802342207200541386c6a2204420437022c20044203370224200441d7d5cd80003602202004410a36021c200441dad5cd8000360218200441e58580800036021020044289b1efa9e5f09dc101370308200442928ad285e9ded197493703000c010b200141306a41c8d4cd800010b59280800020012802342207200541386c6a2204420437022c20044203370224200441d7d5cd80003602202004410a36021c200441dad5cd8000360218200441e58580800036021020044289b1efa9e5f09dc101370308200442928ad285e9ded19749370300200128023021060b02402002418080808078470d0041d8d4cd8000411141ecd4cd800010a181808000000b200020012903003702502000410036024c2000428080808080013702442000200337023c200020023602382000200736020820002006360204200041003a00002000200541016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000bf90403027f017e047f23808080800041c0006b2201248080808000200141246a41e4d5cd8000410f41f3d5cd8000410a4104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080800137020c2001410c6a41c8d4cd800010b5928080002001280210220442a5e9e3ab9e929adc2c37030820044293888c8f89fdc6ec9e7f370300200141306a41086a220541013602002004420437022c20044203370224200441d7d5cd80003602202004410436021c200441fdd5cd800036021820044199818080003602102001200129020c370330024002402005280200220520012802302206460d0020012802342207200541386c6a2204420437022c20044203370224200441d7d5cd80003602202004410536021c20044181d6cd80003602182004419981808000360210200442a5e9e3ab9e929adc2c37030820044293888c8f89fdc6ec9e7f3703000c010b200141306a41c8d4cd800010b59280800020012802342207200541386c6a2204420437022c20044203370224200441d7d5cd80003602202004410536021c20044181d6cd80003602182004419981808000360210200442a5e9e3ab9e929adc2c37030820044293888c8f89fdc6ec9e7f370300200128023021060b02402002418080808078470d0041d8d4cd8000411141ecd4cd800010a181808000000b200020012903003702502000410036024c2000428080808080013702442000200337023c200020023602382000200736020820002006360204200041003a00002000200541016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a4188d6cd80002005410c6a4188d6cd800020032004108481808000000bd30303027f037e017f2380808080004180016b22022480808080002000280200210002400240024002400240200128020822034180808010710d0020034180808020710d01200029030020002903084101200110f08080800021000c020b2000290308210420002903002105410021000340200041ff006a41ff004b0d03200220006a41ff006a2005a7410f712203413072200341d7006a2003410a491b3a00002004423c8621062005421054210320045021072000417f6a210020044204882104200620054204888421052003410020071b450d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b2000290308210420002903002105410021000340200041ff006a41ff004b0d03200220006a41ff006a2005a7410f712203413072200341376a2003410a491b3a00002004423c8621062005421054210320045021072000417f6a210020044204882104200620054204888421052003410020071b450d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000f0b200041ff006a418001418cf1c18000108281808000000b200041ff006a418001418cf1c18000108281808000000bd70b02037f047e23808080800041c0056b22032480808080002003410041800110fa978080002103024002402002418101490d0020034180016a41d0006a410041810110fa978080002104200341b8016a41002903d8d7cd8000370300200341b0016a41002903d0d7cd8000370300200341a8016a41002903c8d7cd8000370300200341a0016a41002903c0d7cd800037030020034198016a41002903b8d7cd800037030020034190016a41002903b0d7cd8000370300200342003703c801200320024107762205ad3703c001200341002903a8d7cd800037038801200341002903a0d7cd80003703800120034180016a2001200510979380800020042001200241807f716a200241ff0071220210f4978080001a200320023a00d002200341e0026a20034180016a41e00110f4978080001a200341e0026a41d0006a220120032d00b00422026a22044180013a000020032903a0032206423688220742388620032903a8032208420a86220920078422074280fe0383422886842007428080fc0783421886200742808080f80f834208868484200842028642808080f80f832008420e88428080fc0783842008421e884280fe0383200942388884848421072002ad2208423b862006420a86220920084203868422084280fe0383422886842008428080fc0783421886200842808080f80f834208868484200642028642808080f80f832006420e88428080fc0783842006421e884280fe038320094238888484842106024002400240200241ff00460d00200441016a4100200241ff007310fa978080001a200241f00073410f4b0d010b200341e0026a20014101109793808000200341c0046a410041f00010fa978080001a200320063700b805200320073700b005200341e0026a200341c0046a41011097938080000c010b200320073703a004200320063703a804200341e0026a200141011097938080000b2003200329039803220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484843703382003200329039003220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484843703302003200329038803220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484843703282003200329038003220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe03832006423888848484370320200320032903f802220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe03832006423888848484370318200320032903f002220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe03832006423888848484370310200320032903e802220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe03832006423888848484370308200320032903e002220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484843703000c010b20032001200210f4978080001a0b2000200341800110f4978080001a200341c0056a2480808080000be30101037f23808080800041206b2203248080808000024002400240200120026a220220014f0d00410021040c010b4100210402402002200028020022054101742201200220014b1b22014108200141084b1b220141004e0d000c010b4100210202402005450d002003200536021c20032000280204360214410121020b20032002360218200341086a41012001200341146a10d49780800020032802084101470d0120032802102100200328020c21040b200420004190d7cd800010b980808000000b200328020c21022000200136020020002002360204200341206a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bc43703057f087e0d7f23808080800041900b6b2205248080808000024002400240200241706a41104b0d002002410371450d010b200041013a00000c010b410021060240024002400240200441086a22074100480d00024020070d002005410036020c20054280808080103702040c030b4100210841002d008083d480001a200741002802f482d480001182808080000022060d01410121060b200620074190d9cd800010b980808000000b200520063602082006417e6a41003b00002005410036020c2005200736020420044178490d010b200541046a4100410810d39780800020052802082106200528020c21080b200620086a42eddc95ebf6cddbb4e3003700002005200841086a220736020c02402004200528020420076b4d0d00200541046a2007200410d39780800020052802082106200528020c21070b200620076a2003200410f4978080001a2005200720046a220336020c200541106a2001200210d297808000410021020340200541106a20026a220420042d00004136733a0000200441016a220720072d00004136733a0000200441026a220720072d00004136733a0000200441036a220420042d00004136733a0000200241046a2202418001470d000b41002102200541f8096a4100290398d8cd8000370300200541f0096a4100290390d8cd8000370300200541e8096a4100290388d8cd8000370300200541e0096a4100290380d8cd8000370300200541d8096a41002903f8d7cd8000370300200541d0096a41002903f0d7cd8000370300200542003703880a200542013703800a200541002903e8d7cd80003703c809200541002903e0d7cd80003703c009200541c0096a200541106a41011097938080000340200541106a20026a220420042d000041ea00733a0000200441016a220720072d000041ea00733a0000200441026a220720072d000041ea00733a0000200441036a220420042d000041ea00733a0000200241046a2202418001470d000b200541900a6a41386a4100290398d8cd8000370300200541900a6a41306a4100290390d8cd8000370300200541900a6a41286a4100290388d8cd8000370300200541900a6a41206a4100290380d8cd8000370300200541900a6a41186a41002903f8d7cd8000370300200541900a6a41106a41002903f0d7cd8000370300200542003703d80a200542013703d00a200541002903e8d7cd80003703980a200541002903e0d7cd80003703900a200541900a6a200541106a4101109793808000200541d0036a41a0016a200541c0096a41d00010f4978080001a200541d0036a41d0006a200541900a6a41d00010f4978080002109200541d0036a200541c0096a41d00010f4978080001a200541d0066a410041800110fa978080001a200541d0076a200541d0036a41f00110f4978080001a200541c8096a4200370300200541c0096a41106a4200370300200541c0096a41186a4200370300200541c0096a41206a4200370300200541c0096a41286a4200370300200541c0096a41306a4200370300200541c0096a41386a4200370300200542003703c009200541106a41d0006a200541d0076a41d0006a41d00010f4978080001a200541106a41a0016a200541d0076a41a0016a41d00010f4978080001a200541106a200541d0076a41d00010f4978080001a200541106a41f0016a410041810110fa978080002102024002402003418001490d0020052005290350220a20034107762204ad7c220b37035020052005290358200b200a54ad7c370358200541106a2006200410979380800020022006200341807f716a200341ff0071220410f4978080001a0c010b20022006200310f4978080001a200321040b200541d0036a41f0016a2108200520043a008003200541808080083602d00302400240200441fc00490d00200220046a200541d0036a41800120046b220710f4978080001a2005200529035042017c220a37035020052005290358200a50ad7c370358200541106a200241011097938080002002200541d0036a20076a200441847f6a220410f4978080001a0c010b200220046a4180808008360000200441046a21040b200520043a008003200541d0036a200541106a41800310f4978080001a200820052d00c00622046a22024180013a0000200529039004220a423688220c423886200529039804220b420a86220d200c84220c4280fe038342288684200c428080fc0783421886200c42808080f80f834208868484200b42028642808080f80f83200b420e88428080fc078384200b421e884280fe0383200d423888848484210c2004ad220b423b86200a420a86220d200b42038684220b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200d423888848484210a024002400240200441ff00460d00200241016a4100200441ff007310fa978080001a200441f00073410f4b0d010b200541d0036a20084101109793808000200541900a6a410041f00010fa978080001a2005200a3700880b2005200c3700800b200541d0036a200541900a6a41011097938080000c010b2005200c3703b0062005200a3703b806200541d0036a200841011097938080000b20052903d003210a20052903d803210b20052903e003210c20052903e803210d20052903f003210e20052903f803210f20052903800421102005290388042111200541900a6a200941d00010f4978080001a20054189066a420037000020054191066a420037000020054199066a4200370000200541a1066a4200370000200541a8066a4200370000200541c0003a00c006200542003700810620054180013a0080062005201142388620114280fe0383422886842011428080fc0783421886201142808080f80f834208868484201142088842808080f80f832011421888428080fc07838420114228884280fe038320114238888484843703f8052005201042388620104280fe0383422886842010428080fc0783421886201042808080f80f834208868484201042088842808080f80f832010421888428080fc07838420104228884280fe038320104238888484843703f0052005200f423886200f4280fe038342288684200f428080fc0783421886200f42808080f80f834208868484200f42088842808080f80f83200f421888428080fc078384200f4228884280fe0383200f4238888484843703e8052005200e423886200e4280fe038342288684200e428080fc0783421886200e42808080f80f834208868484200e42088842808080f80f83200e421888428080fc078384200e4228884280fe0383200e4238888484843703e0052005200d423886200d4280fe038342288684200d428080fc0783421886200d42808080f80f834208868484200d42088842808080f80f83200d421888428080fc078384200d4228884280fe0383200d4238888484843703d8052005200c423886200c4280fe038342288684200c428080fc0783421886200c42808080f80f834208868484200c42088842808080f80f83200c421888428080fc078384200c4228884280fe0383200c4238888484843703d0052005200b423886200b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200b42088842808080f80f83200b421888428080fc078384200b4228884280fe0383200b4238888484843703c8052005200a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703c005200520052903d00a220a420a86220c42800484220b4280fc0383422886200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200c4238888484843703b8062005200a423688220b42388620052903d80a220a420a86220c200b84220b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200c4238888484843703b006200541900a6a20084101109793808000200520052903c80a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703c803200520052903c00a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703c003200520052903b80a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703b803200520052903b00a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703b003200520052903a80a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703a803200520052903a00a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703a003200520052903980a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a42388884848437039803200520052903900a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a42388884848437039003414021040340200541c0096a20046a220241c0006a220720072d000020054190036a20046a220741c0006a2d0000733a0000200241c1006a220620062d0000200741c1006a2d0000733a0000200241c2006a220620062d0000200741c2006a2d0000733a0000200241c3006a220220022d0000200741c3006a2d0000733a0000200441046a22040d000b200541d0076a41a0016a2112200541d0076a41d0006a211320054181066a210320054180026a2114200541106a41a0016a2115200541106a41d0006a21164101210103402016201341d00010f4978080001a2015201241d00010f4978080001a200541106a200541d0076a41d00010f4978080001a2014200541d0066a41800110f497808000220441386a20054190036a41386a2202290300370300200441306a20054190036a41306a2207290300370300200441286a20054190036a41286a2206290300370300200441206a20054190036a41206a2217290300370300200441186a20054190036a41186a2218290300370300200441106a20054190036a41106a2219290300370300200441086a20054190036a41086a221a2903003703002004200529039003370300200541d0036a200541106a41f00210f4978080001a20034200370000200341086a22044200370000200341106a221b4200370000200341186a221c4200370000200341206a221d4200370000200341276a221e4200370000200541c0003a00c00620054180013a0080062005200529039004220a420a86220c42800484220b4280fc0383422886200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200c4238888484843703b8062005200a423688220b423886200529039804220a420a86220c200b84220b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200c4238888484843703b006200541d0036a2008410110979380800020052903d003210a20052903d803210b20052903e003210c20052903e803210d20052903f003210e20052903f803210f20052903800421102005290388042111200541900a6a200941d00010f4978080001a2003420037000020044200370000201b4200370000201c4200370000201d4200370000201e4200370000200541c0003a00c00620054180013a0080062005201142388620114280fe0383422886842011428080fc0783421886201142808080f80f834208868484201142088842808080f80f832011421888428080fc07838420114228884280fe038320114238888484843703f8052005201042388620104280fe0383422886842010428080fc0783421886201042808080f80f834208868484201042088842808080f80f832010421888428080fc07838420104228884280fe038320104238888484843703f0052005200f423886200f4280fe038342288684200f428080fc0783421886200f42808080f80f834208868484200f42088842808080f80f83200f421888428080fc078384200f4228884280fe0383200f4238888484843703e8052005200e423886200e4280fe038342288684200e428080fc0783421886200e42808080f80f834208868484200e42088842808080f80f83200e421888428080fc078384200e4228884280fe0383200e4238888484843703e0052005200d423886200d4280fe038342288684200d428080fc0783421886200d42808080f80f834208868484200d42088842808080f80f83200d421888428080fc078384200d4228884280fe0383200d4238888484843703d8052005200c423886200c4280fe038342288684200c428080fc0783421886200c42808080f80f834208868484200c42088842808080f80f83200c421888428080fc078384200c4228884280fe0383200c4238888484843703d0052005200b423886200b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200b42088842808080f80f83200b421888428080fc078384200b4228884280fe0383200b4238888484843703c8052005200a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703c005200520052903d00a220a420a86220c42800484220b4280fc0383422886200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200c4238888484843703b8062005200a423688220b42388620052903d80a220a420a86220c200b84220b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200c4238888484843703b006200541900a6a20084101109793808000200220052903c80a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300200720052903c00a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300200620052903b80a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300201720052903b00a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300201820052903a80a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300201920052903a00a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300201a20052903980a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300200520052903900a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a42388884848437039003200141016a2101414021040340200541c0096a20046a220241c0006a220720072d000020054190036a20046a220741c0006a2d0000733a0000200241c1006a220620062d0000200741c1006a2d0000733a0000200241c2006a220620062d0000200741c2006a2d0000733a0000200241c3006a220220022d0000200741c3006a2d0000733a0000200441046a22040d000b2001418010470d000b200528020821060240200528020c2207450d0020062104024020074107712202450d00200621040340200441003a0000200441016a21042002417f6a22020d000b0b024020074108490d00200620076a21020340200441003a0000200441016a41003a0000200441026a41003a0000200441036a41003a0000200441046a41003a0000200441056a41003a0000200441066a41003a0000200441076a41003a0000200441086a22042002470d000b0b200528020821060b410021022005410036020c024020052802042204450d0020044107712107024020044108490d00200441f8ffffff07712103410021020340200620026a220441003a0000200441016a41003a0000200441026a41003a0000200441036a41003a0000200441046a41003a0000200441056a41003a0000200441066a41003a0000200441076a41003a00002003200241086a2202470d000b0b2007450d00200620026a21040340200441003a0000200441016a21042007417f6a22070d000b0b200020052903c009370001200041003a0000200041396a200541f8096a290300370000200041316a200541f0096a290300370000200041296a200541e8096a290300370000200041216a200541e0096a290300370000200041196a200541d8096a290300370000200041116a200541d0096a290300370000200041096a200541c8096a2903003700002005280204450d00200528020822042004417e6a2f00006b41002802ec82d48000118180808000000b200541900b6a2480808080000b1901017f23808080800041106b220120003a000f20012d000f0be50301077f23808080800041106b2203248080808000200041286a2104024002400240200028022822054128200541284b22061b22072000280204200520061b22066b200220016b22084f0d0002400240200620086a22052006490d004100417f2005417f6a677620054102491b2205417f460d00200341086a2000200541016a10d89780800020032802082205418180808078460d0120050d030b41a8dccd8000411141bcdccd8000108081808000000b200428020022054128200541284b1b21070b200041046a22092004200541284b22061b21080240024020004104412820061b6a280200220520074f0d002000280200200020061b2106034020012002460d02200620056a20012d00003a0000200141016a21012007200541016a2205470d000b200721050b2008200536020020012002460d02034020012d00002108024002402000410441282000280228220741284b22051b6a28020022062007412820051b460d002009200420051b21072000280200200020051b21050c010b200010d9978080002000280204210620002802002105200921070b200520066a20083a00002007200728020041016a360200200141016a22012002470d000c030b0b200820053602000c010b2005200328020c10ab80808000000b200341106a2480808080000bea0301077f23808080800041106b22032480808080000240024002400240024020022001280204220420012802282205200541284b22061b2207490d002005412820061b210820012802002109024020024129490d00418180808078210620052002460d040240200241004e0d00410021060c060b02400240024020054129490d002008417f4a0d0120082102410021060c080b41002d008083d480001a200241002802f482d480001182808080000022040d01410121060c070b0240200241002802f482d480001182808080000022040d00410121060c070b2004417e6a41003b0000200420092002200820022008491b10f4978080001a20092009417e6a2f00006b41002802ec82d48000118180808000000c040b2004417e6a41003b000020042001200510f4978080001a0c030b418180808078210620054129490d0320012009200410f49780800020043602282008417f4c0d0120092009417e6a2f00006b41002802ec82d48000118180808000000c030b41dcdccd8000412041fcdccd8000108081808000000b2003200836020c2003410036020841fcd9cd8000412b200341086a4188dccd80004198dccd800010a981808000000b2001200236022820012007360204200120043602000b0b2000200236020420002006360200200341106a2480808080000bb90101027f23808080800041106b22012480808080000240024002400240200028020420002802282202200241284b1b220241016a0e020201000b2002672202450d01417f20027621020b200141086a2000200241016a10d897808000024020012802082200418180808078460d0020000d0241a8dccd8000411141bcdccd8000108081808000000b200141106a2480808080000f0b41a8dccd8000411141ccdccd800010a181808000000b2000200128020c10ab80808000000b950201027f23808080800041106b2202248080808000200220002802002200360204200128020041c8dacd80004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41cedacd80004104200041046a41a8dacd8000108a818080001a200241086a41d2dacd80004105200241046a41b8dacd8000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b9c0101017f23808080800041306b220224808080800020022000280200280200220036022820024103360204200241bc9fc280003602002002420237020c200241da83808000ad4220862002412c6aad84370320200241db83808000ad422086200241286aad84370318200220006836022c2002200241186a36020820012802002001280204200210b1818080002101200241306a24808080800020010b140020012000280200200028020410b4818080000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b9c0201027f23808080800041106b2202248080808000024002402000280200450d0020022000360204200128020041f8dacd80004108200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a4180dbcd80004106200241046a41e8dacd8000108a818080001a20022d000d220020022d000c220372210120004101470d0120034101710d010240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b200128020041d7dacd80004110200128020428020c1180808080000021010b200241106a24808080800020014101710b880f02077f017e2380808080004180036b2204248080808000024002400240024002400240024002400240024020012802002205417d6a2206410420064104491b0e050200010308020b2001280214220720012802102208490d06200720034b0d05200128020c2106200128020821092001280218210a024002400240024020012802044101470d000240024020062009490d00200620034b0d01410121010c030b2009200641a8decd8000109581808000000b2006200341a8decd8000109181808000000b20062009490d01200620034b0d02410021010b2000200a3602182000200720086b3602142000200220086a36021020002001360204200041043602002000200620096b36020c2000200220096a3602080c0a0b200920064198decd8000109581808000000b200620034198decd8000109181808000000b2001280214220720012802102208490d03200720034b0d02200128020c2106200128020821092001280218210a024002400240024020012802044101470d000240024020062009490d00200620034b0d01410121010c030b2009200641f8ddcd8000109581808000000b2006200341f8ddcd8000109181808000000b20062009490d01200620034b0d02410021010b2000200a3602182000200720086b3602142000200220086a36021020002001360204200041053602002000200620096b36020c2000200220096a3602080c090b2009200641e8ddcd8000109581808000000b2006200341e8ddcd8000109181808000000b200041033602000c060b200441023602b401200441023602a8012004410236029c0120044102360290012004410236028401200441023602782004410236026c2004410236026020044102360254200441023602482004410236023c2004410236023020044102360224200441023602182004410236020c20044102360200410021060340410221090240200120066a220741106a280200220a4102460d00200741186a2802002108200741146a28020021070240024002400240200a410171450d000240024020082007490d00200820034b0d01410121090c030b2007200841f8ddcd8000109581808000000b2008200341f8ddcd8000109181808000000b20082007490d01200820034b0d02410021090b200820076bad422086200220076aad84210b0c020b2007200841e8ddcd8000109581808000000b2008200341e8ddcd8000109181808000000b200420066a22072009360200200741046a200b3702002006410c6a220641c001470d000b41022106024002400240200128020422074102460d00200128020c210920012802082101024002402007410171450d000240024020092001490d00200920034b0d01410121060c030b2001200941a8decd8000109581808000000b2009200341a8decd8000109181808000000b20092001490d02200920034b0d03410021060b200920016bad422086200220016aad84210b0b200041046a200441c00110f4978080001a2000200b3702c801200020063602c401200041063602000c070b200120094198decd8000109581808000000b200920034198decd8000109181808000000b200720034188decd8000109181808000000b200820074188decd8000109581808000000b200720034188decd8000109181808000000b200820074188decd8000109581808000000b200441023602f402200441023602e802200441023602dc02200441023602d002200441023602c402200441023602b802200441023602ac02200441023602a00220044102360294022004410236028802200441023602fc01200441023602f001200441023602e401200441023602d801200441023602cc01200441023602c001410021060340410221090240200120066a2207410c6a280200220a4102460d00200741146a2802002108200741106a28020021070240024002400240200a410171450d000240024020082007490d00200820034b0d01410121090c030b2007200841f8ddcd8000109581808000000b2008200341f8ddcd8000109181808000000b20082007490d01200820034b0d02410021090b200820076bad422086200220076aad84210b0c020b2007200841e8ddcd8000109581808000000b2008200341e8ddcd8000109181808000000b200441c0016a20066a22072009360200200741046a200b3702002006410c6a220641c001470d000b02400240024020012802d001220620012802cc012209490d00200620034b0d014102210720012802d401210a20054102460d02200128020821082001280204210102400240024002402005410171450d000240024020082001490d00200820034b0d01410121070c030b2001200841a8decd8000109581808000000b2008200341a8decd8000109181808000000b20082001490d01200820034b0d02410021070b200820016bad422086200220016aad84210b0c040b200120084198decd8000109581808000000b200820034198decd8000109181808000000b200920064188decd8000109581808000000b200620034188decd8000109181808000000b2000200a3602d4012000200620096b3602d0012000200220096a3602cc012000200441c0016a41c00110f4978080002206200b3702c401200620073602c0010b20044180036a2480808080000be90201087f20002001280200220220002802006a41017110e1978080001a0240024020020d002001280208210220012802042103410021010c010b0240024020012802082202450d002000280208200028022c2204200441284b22051b2204417f6a21032004450d012000280204200041046a20051b20036a220420042d0000200128020422032d0000410f71723a0000410121010c020b41004100419cdfcd8000108281808000000b2003410041acdfcd8000108281808000000b0240200220014d0d00200220016b2104200320016a2101200041086a21062000412c6a2103200041046a2105034020012d0000210702400240200620032003280200220841284b22021b220028020022092008412820021b460d002005280200200520021b21020c010b200510d9978080002006280200210920052802002102200621000b200220096a20073a00002000200028020041016a360200200141016a21012004417f6a22040d000b0b0bbc0501057f200028020021022000200136020002400240024002400240024002400240024002400240200220014b0d0041002103200220014f0d042000412c6a2104200041086a2105200041046a210220004108412c200028022c220341284b22011b6a28020022062003412820011b460d012005200420011b21032000280204200220011b21010c020b200041046a2102024020002802082203200028022c2201200141284b1b2205417f6a2204450d004101210103402001417f6a2000280208200028022c2203200341284b22061b22034f0d0a200120034f0d0b2002280200200220061b20016a2203417f6a220620062d000041047420032d0000410476410f71723a00002005200141016a2201470d000b20002802082103200028022c21010b200420032001200141284b1b22004f0d0720022802002002200141284b1b20046a220120012d00004104743a00000c020b200210d9978080002005280200210620022802002101200521030b200120066a41003a00002003200328020041016a36020002402005280200220020042802002201200141284b1b22034102490d002003417f6a210103402001417f6a2203200528020020042802002200200041284b22061b22004f0d05200120004f0d062002280200200220061b20016a22002000417f6a2d000041047420002d0000410476410f71723a0000200141014b21002003210120000d000b20052802002100200428020021010b20002001200141284b22031b450d022002280200200220031b220120012d00004104763a00000b410121030b20030f0b4100410041a0e0cd8000108281808000000b2001417f6a200041e0e0cd8000108281808000000b2001200041f0e0cd8000108281808000000b2004200041b0e0cd8000108281808000000b2001417f6a200341c0e0cd8000108281808000000b2001200341d0e0cd8000108281808000000be40501087f23808080800041306b22022480808080000240024020012d002c4101710d00200128020021032001280204210420012802282105200241046a41286a22064100360200200241046a20032001200541284b22071b220120012004200520071b6a10d79780800020004100360200200020022902043702042000410c6a2002410c6a290200370200200041146a200241146a2902003702002000411c6a2002411c6a290200370200200041246a200241246a2902003702002000412c6a20062802003602000c010b02400240200128020420012802282205200541284b22051b2206450d00200241046a41046a2107200241046a41286a210820022001280200200120051b22042d00004104763a0004410020066b2103410221010340200320016a4101460d01200241046a20016a417f6a200420016a2205417e6a2d00004104742005417f6a2d00002205410476410f71723a0000200141016a22014129470d000b2002412836022c20064129490d01200441286a2d00002103200241046a10d9978080002002280204200228020822096a20054104742003410476410f71723a00002002200941016a360208200120064f0d01200641576a2106200441296a210103402001417f6a2d000041047420012d0000410476410f7172210902400240200241046a41044128200228022c220341284b22051b6a28020022042003412820051b460d002007200820051b21032002280204200241046a20051b21050c010b200241046a10d9978080002002280208210420022802042105200721030b200520046a20093a00002003200328020041016a360200200141016a21012006417f6a22060d000c020b0b2002200636022c0b200020022902043702042000412c6a2002412c6a280200360200200041246a200241246a2902003702002000411c6a2002411c6a290200370200200041146a200241146a2902003702002000410c6a2002410c6a290200370200200041013602000b200241306a2480808080000bf70101037f23808080800041106b22032480808080000240024002402002417f4c0d00200241f5ffffff074f0d0141002d008083d480001a2002410b6a41fcffffff0771220441002802f482d48000118280808000002205450d022005200541036a417c7120056b22046a22054281808080103702002005417e6a20043b0000200541086a2001200210f4978080001a2000200236020420002005360200200341106a2480808080000f0b41f8e9cd8000412b2003410f6a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b2003410f6a418c80c0800041b482c0800010a981808000000b4104200410ab80808000000bd40101057f23808080800041306b22022480808080000240200128020822034101762204200128020422054b0d00200128020021012002412c6a22064100360200200241046a200120046a200120056a10d7978080002000412c6a2006280200360200200041246a200241246a2902003702002000411c6a2002411c6a290200370200200041146a200241146a2902003702002000410c6a2002410c6a2902003702002000200229020437020420002003410171360200200241306a2480808080000f0b2004200541ece3cd8000109281808000000bda0601067f23808080800041306b220324808080800002400240024002400240024002400240024002400240200220012802042204410174200128020822056b4f0d0020054101762106200520026a2207410176210820074101710d0320082006490d06200820044b0d07200041046a2102200128020020066a2104200820066b22014129490d0141002d008083d480001a200141002802f482d48000118280808000002206450d082006417e6a41003b0000200020062004200110f4978080003602042000200136022c410421040c020b2005410176220220044b0d0420012802002101200341286a220641003602002003200120026a200120046a10d7978080002000412c6a2006280200360200200041246a200341206a2902003702002000411c6a200341186a290200370200200041146a200341106a2902003702002000410c6a200341086a29020037020020002003290200370204200020054101713602000c030b20022004200110f4978080001a412821040b20002005410171360200200220046a20013602000c010b200841016a22072006490d05200820044f0d06200128020020066a2108200341046a210402400240200720066b22014129490d00410021060240024020014100480d0041002d008083d480001a200141002802f482d480001182808080000022060d01410121060b2006200141f8dbcd800010b980808000000b2006417e6a41003b0000200320062008200110f4978080003602042003200136022c410421060c010b20042008200110f4978080001a412821060b200420066a2001360200200320054101713602002003200241017110e1978080001a024020034108412c200328022c41284b1b6a22012802002205450d0020012005417f6a3602000b20002003290200370200200041286a200341286a290200370200200041206a200341206a290200370200200041186a200341186a290200370200200041106a200341106a290200370200200041086a200341086a2902003702000b200341306a2480808080000f0b2002200441ece3cd8000109281808000000b2006200841fce3cd8000109581808000000b2008200441fce3cd8000109181808000000b4101200110ab80808000000b20062007418ce4cd8000109581808000000b20072004418ce4cd8000109181808000000bc504010a7f024002400240024002400240024020002802082202410171220320012802082204410171460d0002402001280204220541017420046b22032000280204220641017420026b220720032007491b22080d0041000f0b200128020021092000280200210a410021010340200220016a2200410176220320064f0d03200420016a220b410176220720054f0d04200a20036a2d00002203410f71200341047620004101711b200920076a2d00002203410f712003410476200b4101711b470d022008200141016a2201470d000b20080f0b200441017621042002410176210b200028020421024100210602402003450d00200b20024f0d04024002402004200128020422034f0d00200128020020046a2d00002000280200200b6a2d000073410f71450d0141000f0b2004200341ace4cd8000108281808000000b41012106200441016a2104200b41016a210b0b2002200b490d04200128020422052004490d05200128020020046a21032000280200200b6a210041022107200520046b22012002200b6b220b2001200b491b220421010340024020010d00200441017420066a0f0b2001417f6a21012007417e6a210720032d0000210b20002d00002102200041016a2100200341016a21032002200b460d000b200b20027341104920076b20066a21010b20010f0b2003200641f0e2cd8000108281808000000b2007200541f0e2cd8000108281808000000b200b2002419ce4cd8000108281808000000b200b200241cce4cd8000109281808000000b2004200541bce4cd8000109281808000000bbb0101057f2001280208220241017621032001280204210402400240024020024101710d000240200320044b0d00200128020020036a210141002102410021050c020b2003200441dce4cd8000109281808000000b200320044f0d014101210220012802002205200341016a22066a2101200520036a2d0000410f712105200621030b200020053a000d200020023a000c20004100360208200020013602002000200420036b3602040f0b2003200441ece4cd8000108281808000000bdb02010b7f23808080800041106b22022480808080004100210302400240024020002802042204410174200028020822056b200128022c2206490d0020012802042107024020064101710d0020012802002108200128022821092002410036020c200220082001200941284b22031b36020420022007200920031b22013602082000200241046a10e69780800020014101744621030c010b200128020020012001280228220941284b22081b210a2007200920081b210b2000280200210c410021010340200620014622030d01200520016a2207410176220020044f0d0320014101762209200b4f0d0220014101712108200141016a2101200c20006a2d00002200410f71200041047620074101711b200a20096a2d00002200410f71200041047620081b460d000b0b200241106a24808080800020030f0b2009200b4194e6cd8000108281808000000b2000200441f0e2cd8000108281808000000be802010c7f23808080800041106b22022480808080004100210302400240024020002802042204410174200028020822056b2206200128022c470d0020012802042107024020064101710d002001280200210820012802282109410021032002410036020c200220082001200941284b220a1b360204200220072009200a1b220136020820062001410174470d012000200241046a10e69780800020064621030c010b200128020020012001280228220941284b22081b210b2007200920081b210c2000280200210d410021010340200141016a220020064b22030d01200520016a2209410176220720044f0d0220014101762208200c4f0d032001410171210a20002101200d20076a2d00002200410f71200041047620094101711b200b20086a2d00002200410f712000410476200a1b460d000b0b200241106a24808080800020030f0b2007200441f0e2cd8000108281808000000b2008200c4194e6cd8000108281808000000b8b0301087f024002402001450d000240200028022c220220014d0d00200041046a2103200041286a21040240200220016b22054101762202200541017122066a2201200028020420002802282207200741284b1b22084f0d0020082002417f736a210702402008200220056a6b410171450d00200141016a210120032004200428020041284b1b22022802002209450d0020022009417f6a3602000b20072006460d000340024020032004200428020041284b1b22022802002207450d0020022007417f6a3602000b024020032004200428020041284b1b22022802002207450d0020022007417f6a3602000b200141026a22012008490d000b0b2000200536022c2006450d01200328020020042802002204200441284b22011b2204417f6a21032004450d022000280200200020011b20036a220420042d000041f001713a00000f0b0240200041044128200028022841284b22041b6a280200450d00200041046a200041286a20041b41003602000b2000410036022c0b0f0b2003410041a4e7cd8000108281808000000be705010c7f0240200128022c2202450d0002400240200028022c22034101710d00200128020420012802282203200341284b22031b2204450d012001280200200120031b2103200041046a2105200041286a2106034020032d00002107024002402000410441282000280228220841284b22011b6a28020022092008412820011b460d002005200620011b21082000280200200020011b21010c010b200010d9978080002000280204210920002802002101200521080b200120096a20073a00002008200828020041016a360200200341016a21032004417f6a22040d000c020b0b02400240024020034101762204200028020420002802282208200841284b22091b22084f0d00200128020420012802282208200841284b1b2206450d01200320026a410171210a200041046a2105200041286a210b2000280200200020091b20046a220320012802002001200841284b1b220c2d000041047620032d000041f00171723a000002402006417f6a220d450d0041002101034020062001460d04200c20016a22032d00002109200341016a2d00002107024002402000410441282000280228220841284b22031b6a28020022042008412820031b460d002005200b20031b21082000280200200020031b21030c010b200010d9978080002000280204210420002802002103200521080b200320046a20094104742007410476410f71723a00002008200828020041016a360200200d200141016a2201470d000b0b200a450d03200c200d6a2d00004104742108024002402000410441282000280228220441284b22011b6a28020022032004412820011b460d002005200b20011b21052000280200200020011b21010c010b200010d99780800020002802042103200028020021010b200120036a20083a00002005200528020041016a3602000c030b2004200841e4e7cd8000108281808000000b4100410041f4e7cd8000108281808000000b200620064184e8cd8000108281808000000b2000200028022c20026a36022c0b0bd108010c7f23808080800041106b2202248080808000200128020821032001280204210402400240024002400240024002400240024020012d00004101460d00200028022c21050c010b20012d0001410f7121060240024020002d002c4101710d00200041046a210120064104742107024002402000410441282000280228220841284b22061b6a28020022052008412820061b460d002001200041286a20061b21012000280200200020061b21060c010b200010d99780800020002802042105200028020021060b200620056a20073a00002001200128020041016a3602000c010b200028020420002802282201200141284b22011b2205450d022000280200200020011b20056a417f6a220120012d00002006723a00000b2000200028022c41016a220536022c0b200041046a2109200041286a210a02402000280204220720002802282206200641284b22081b22014101742005470d0002402006412820081b20016b20034f0d0002400240200120036a22062001490d004100417f2006417f6a677620064102491b2206417f460d00200241086a2000200641016a10d89780800020022802082206418180808078460d0120060d050b41a8dccd8000411141bcdccd8000108081808000000b20092802002107200a28020021060b20072006200641284b22051b22062001490d032000280200200020051b20016a220520036a2005200620016b10f9978080001a20052004200310f4978080001a200041044128200028022841284b1b6a200620036a3602000c070b2003450d062001417f6a21052001450d0320002802002000200641284b1b20056a220120012d000041f001713a00002005200028020420002802282201200141284b22011b22064f0d042000280200200020011b20056a220120012d000020042d000041f00171410476723a00002003417f6a220b450d05200b2105200421010340200141016a22082d0000210c20012d0000210d024002402000410441282000280228220641284b22011b6a28020022072006412820011b460d002009200a20011b21062000280200200020011b21010c010b200010d9978080002000280204210720002802002101200921060b200120076a200d410474200c410476410f71723a00002006200628020041016a360200200821012005417f6a22050d000c060b0b41a4e6cd8000413a41e0e6cd800010a181808000000b2006200228020c10ab80808000000b41dce1cd8000411e41fce1cd8000108081808000000b200541004194e8cd8000108281808000000b2005200641a4e8cd8000108281808000000b2004200b6a2d00004104742105024002402000410441282000280228220741284b22011b6a28020022062007412820011b460d002009200a20011b21092000280200200020011b21010c010b200010d99780800020002802042106200028020021010b200120066a20053a00002009200928020041016a3602000b2000200028022c20034101746a36022c200241106a2480808080000bf30301077f23808080800041106b2204248080808000024002400240024020010d00410021010c010b200128020822054101762106200128020421070240024020054101710d000240200620074b0d00200128020020066a210141002108410021090c020b2006200741dce4cd8000109281808000000b200620074f0d024101210820012802002209200641016a220a6a2101200920066a2d0000410f712109200a21060b20042001360208200420093a0005200420083a00042004200720066b36020c2000200441046a10ec97808000200741017420056b21010b02402002450d000240024020002d002c4101710d00200041046a210620034104742105024002402000410441282000280228220341284b22071b6a28020022022003412820071b460d002006200041286a20071b21062000280200200020071b21070c010b200010d99780800020002802042102200028020021070b200720026a20053a00002006200628020041016a3602000c010b200028020420002802282206200641284b22061b2207450d032000280200200020061b20076a417f6a220620062d00002003723a00000b2000200028022c41016a36022c200141016a21010b200441106a24808080800020010f0b2006200741ece4cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000bde03010a7f23808080800041306b220224808080800020024200370228200241286a210302400240024020012802042204410174220520012802082206460d0020012802002107200241046a21084100210103402006410176220920044f0d02200720096a2d00002209410f71200941047620064101711b21090240024020014101710d002009410474210a024002402002410441282002280228220941284b22011b6a280200220b2009412820011b460d002008200320011b21092002280200200220011b21010c010b200210d9978080002002280204210b20022802002101200821090b2001200b6a200a3a00002009200928020041016a3602000c010b200228020420022802282201200141284b22011b220b450d042002280200200220011b200b6a417f6a220120012d00002009723a00000b2002200228022c41016a220136022c2005200641016a2206470d000b0b20002002290200370200200041286a2003290200370200200041206a200241206a290200370200200041186a200241186a290200370200200041106a200241106a290200370200200041086a200241086a290200370200200241306a2480808080000f0b2009200441f0e2cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b5601017f23808080800041206b220224808080800020024101360204200241d0e9cd80003602002002420137020c200241eb85808000ad4220862000ad843703182002200241186a3602082002200110fe80808000000b5501027f024020002802002201417f460d0020002802042102200120012802042200417f6a36020420004101470d002002410b6a4104490d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b1e00200128020041b4eacd8000410b200128020428020c118080808000000b100020002002370308200020013703000b100020002002370308200020013703000b0e0020002001200210f7978080000b0e0020002001200210fb978080000ba20102017f057e23808080800041106b22052480808080002005200342ffffffff0f832206200142ffffffff0f8322077e20034220882208200142208822097e10f2978080002005290308210a2000200820077e2207200620097e7c2206422086220820052903007c22093703002000200a200420017e200320027e7c2006200754ad4220862006422088847c7c2009200854ad7c370308200541106a2480808080000bde04010c7f23808080800041106b210302400240200241104f0d00200021040c010b024020002000410020006b41037122056a22064f0d002005210720002104200121080340200420082d00003a0000200841016a2108200441016a21042007417f6a22070d000b0b2006200220056b2202417c7122076a210402400240200120056a220841037122010d00200620044f0d0120082101034020062001280200360200200141046a2101200641046a22062004490d000c020b0b410021052003410036020c2003410c6a20017221090240410420016b220a410171450d00200920082d00003a0000410121050b0240200a410271450d00200920056a200820056a2f01003b01000b200820016b21052001410374210b200328020c210902400240200641046a2004490d002006210c0c010b4100200b6b411871210d034020062009200b76200541046a22052802002209200d7472360200200641086a210a200641046a220c2106200a2004490d000b0b41002106200341003a0008200341003a00060240024020014101470d00200341086a210d410021014100210a4100210e0c010b200541056a2d0000210a2003200541046a2d000022013a0008200a410874210a4102210e200341066a210d0b02402008410171450d00200d200541046a200e6a2d00003a000020032d0006411074210620032d000821010b200c200a200672200141ff0171724100200b6b411871742009200b76723602000b20024103712102200820076a21010b02402004200420026a4f0d000340200420012d00003a0000200141016a2101200441016a21042002417f6a22020d000b0b20000bee09010e7f23808080800041206b210302400240024002400240200020016b20024f0d00200120026a2104200020026a210520024110490d034100200541037122066b210702402005417c71220820054f0d00200120026a417f6a21092005210a0340200a417f6a220a20092d00003a00002009417f6a21092008200a490d000b0b2008200220066b2206417c71220a6b21094100200a6b210a0240200420076a2204410371220b0d00200920084f0d03200620016a417c6a21052008210103402001417c6a220120052802003602002005417c6a210520092001490d000c040b0b4100210c200341003a0018200341003a00162004200b6b210d024002400240200b4101470d00200341186a210e4100210f0c010b2003200d2d0000220c3a0018200d2d0001210f410021102004410171450d01200341166a210e4102210c0b200e200d200c6a2d00003a000020032d0016411074211020032d0018210c0b200b410374210e2010200f41ff017141087472200c41ff017172210c0240200941046a22092008490d00200821020c020b20012002200b6b6a21014100200e6b41187121100340200520076a417c6a200c2010742001417c6a220120076a220d280200220c200e767236020020092005417c6a220520076a2202490d000c020b0b02400240200241104f0d00200021050c010b024020002000410020006b41037122046a22094f0d0020042108200021052001210a03402005200a2d00003a0000200a41016a210a200541016a21052008417f6a22080d000b0b2009200220046b2202417c7122086a210502400240200120046a220a41037122010d00200920054f0d01200a2101034020092001280200360200200141046a2101200941046a22092005490d000c020b0b4100210420034100360210200341106a20017221060240410420016b2207410171450d002006200a2d00003a0000410121040b02402007410271450d00200620046a200a20046a2f01003b01000b200a20016b21042001410374210b2003280210210602400240200941046a2005490d002009210c0c010b4100200b6b411871210d034020092006200b76200441046a22042802002206200d7472360200200941086a2107200941046a220c210920072005490d000b0b41002109200341003a000c200341003a000a0240024020014101470d002003410c6a210d41002101410021074100210e0c010b200441056a2d000021072003200441046a2d000022013a000c200741087421074102210e2003410a6a210d0b0240200a410171450d00200d200441046a200e6a2d00003a000020032d000a411074210920032d000c21010b200c2007200972200141ff0171724100200b6b411871742006200b76723602000b20024103712102200a20086a21010b2005200520026a4f0d030340200520012d00003a0000200141016a2101200541016a21052002417f6a22020d000c040b0b410021052003410036021c200d200b6a417c6a21012003411c6a200b72210902404104200b6b2207410171450d00200920012d00003a0000410121050b02402007410271450d00200920056a200120056a2f01003b01000b2002417c6a200328021c200e76200c4100200e6b41187174723602000b200641037121022004200a6a21042008200a6a21050b200520026b220220054f0d002004417f6a210103402005417f6a220520012d00003a00002001417f6a210120022005490d000b0b20000b0e0020002001200210f8978080000bbb0101047f02400240200241104f0d00200021030c010b024020002000410020006b41037122046a22054f0d0020042106200021030340200320013a0000200341016a21032006417f6a22060d000b0b024020052005200220046b2206417c716a22034f0d00200141ff017141818284086c2102034020052002360200200541046a22052003490d000b0b200641037121020b02402003200320026a4f0d000340200320013a0000200341016a21032002417f6a22020d000b0b20000b4a01037f4100210302402002450d000240034020002d0000220420012d00002205470d01200041016a2100200141016a21012002417f6a2202450d020c000b0b200420056b21030b20030b4801017f23808080800041106b22052480808080002005200120022003200410f697808000200529030821042000200529030037030020002004370308200541106a2480808080000b4601017f23808080800041106b2204248080808000200420012002200310ff97808000200429030821022000200429030037030020002002370308200441106a2480808080000b4801017f23808080800041206b220524808080800020052001200220032004108398808000200529030021042000200529030837030820002004370300200541206a2480808080000b870102017f017e23808080800041106b220424808080800002400240200341c000710d002003450d01200420012003413f71ad22058620022005862001410020036b413f71ad888410f39780800020042903082102200429030021010c010b20012003413f71ad862102420021010b2000200237030820002001370300200441106a2480808080000b870102017f017e23808080800041106b220424808080800002400240200341c000710d002003450d0120042002410020036b413f71ad8620012003413f71ad22058884200220058810f39780800020042903082102200429030021010c010b20022003413f71ad882101420021020b2000200237030820002001370300200441106a2480808080000b4601017f23808080800041106b22042480808080002004200120022003108098808000200429030821022000200429030037030020002002370308200441106a2480808080000b4801017f23808080800041106b22052480808080002005200120022003200410fe97808000200529030821042000200529030037030020002004370308200541106a2480808080000bad0804017f017e037f047e23808080800041b0016b220524808080800042002106024002400240024020047920037942c0007c20044200521ba7220720027920017942c0007c20024200521ba722084d0d002008413f4b0d01200741df004b0d02024002400240200720086b4120490d00200541a0016a2003200441e00020076b220910819880800020053502a00142017c210a4200210b420021060c010b200541306a2001200241c00020086b2208108198808000200541206a200320042008108198808000420021062005200342002005290330200529032080220c420010fc97808000200541106a20044200200c420010fc978080002005290300210a024020052903182005290308220d20052903107c220b200d54ad7c4200520d002001200a5422082002200b542002200b511b450d020b200420027c200320017c2201200354ad7c200b7d2001200a54ad7d2102200c427f7c210c2001200a7d21040c050b02400240034020054190016a2001200241c00020086b2208108198808000200529039001210c0240200820094f0d00200541d0006a200320042008108198808000200541c0006a20032004200c200529035080220d420010fc97808000024020012005290340220a54220820022005290348220c542002200c511b0d002002200c7d2008ad7d21022001200a7d21042006200b200d7c220c200b54ad7c21060c090b200220047c200120037c2204200154ad7c200c7d2004200a54ad7d21022004200a7d21042006200d200b7c427f7c220c200b54ad7c21060c080b20054180016a200c200a80220c4200200820096b220810fd97808000200541f0006a20032004200c420010fc97808000200541e0006a20052903702005290378200810fd9780800020052903880120067c2005290380012206200b7c220b200654ad7c210602402007200220052903687d20012005290360220c54ad7d2202792001200c7d22017942c0007c20024200521ba722084d0d002008413f4b0d020c010b0b20012003542208200220045420022004511b450d01200b210c200121040c060b200120038221042006200b20012003807c220c200b54ad7c2106420021020c050b200220047d2008ad7d2102200120037d21042006200b42017c220c50ad7c21060c040b2002200b7d2008ad7d21022001200a7d2104420021060c030b200220044200200120035a200220045a20022004511b22081b7d20012003420020081b220454ad7d2102200120047d21042008ad210c0c020b200120038221042001200380210c42002106420021020c010b2002200342ffffffff0f83220482422086200142208884220320048022064220862003200482422086200142ffffffff0f8384220120048084210c2006422088200220048084210620012004822104420021020b200020043703102000200c3703002000200237031820002006370308200541b0016a2480808080000b0be183140300418080c0000bccff134c61796f75744572726f72000000000000000000010000000100000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f72632e727300470010006c00000025010000310000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f73796e632e72730000c40010006e0000008401000032000000020000000c000000040000000300000004000000050000004572726f72000000070000000c000000040000000800000009000000050000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e72737c01100070000000e8010000170000000000000000000000010000000a0000006120666f726d617474696e6720747261697420696d706c656d656e746174696f6e2072657475726e656420616e206572726f72207768656e2074686520756e6465726c79696e672073747265616d20646964206e6f742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f666d742e727300620210006d0000008a0200000e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300e00210006f000000be0100001d00000029292073686f756c64206265203c3d206c656e2028697320606174602073706c697420696e64657820286973200000007803100015000000610310001700000060031000010000006d656d6f727920616c6c6f636174696f6e206f6620206279746573206661696c65640000a803100015000000bd0310000d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f616c6c6f632e727300dc0310006f000000b50100000d000000dc0310006f000000b30100000d0000006361706163697479206f766572666c6f770000006c041000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000088041000750000002e0200001100000030782f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f62697033392d322e322e302f7372632f6c69622e727300001205100058000000530100002a0000006162616e646f6e6162696c69747961626c6561626f757461626f7665616273656e746162736f7262616273747261637461627375726461627573656163636573736163636964656e746163636f756e74616363757365616368696576656163696461636f7573746963616371756972656163726f7373616374616374696f6e6163746f726163747265737361637475616c61646170746164646164646963746164647265737361646a75737461646d69746164756c74616476616e63656164766963656165726f6269636166666169726166666f7264616672616964616761696e6167656167656e746167726565616865616461696d616972616972706f72746169736c65616c61726d616c62756d616c636f686f6c616c657274616c69656e616c6c616c6c6579616c6c6f77616c6d6f7374616c6f6e65616c706861616c7265616479616c736f616c746572616c77617973616d6174657572616d617a696e67616d6f6e67616d6f756e74616d75736564616e616c797374616e63686f72616e6369656e74616e676572616e676c65616e677279616e696d616c616e6b6c65616e6e6f756e6365616e6e75616c616e6f74686572616e73776572616e74656e6e61616e7469717565616e7869657479616e79617061727461706f6c6f67796170706561726170706c65617070726f7665617072696c61726368617263746963617265616172656e61617267756561726d61726d656461726d6f7261726d7961726f756e64617272616e67656172726573746172726976656172726f776172746172746566616374617274697374617274776f726b61736b61737065637461737361756c746173736574617373697374617373756d65617374686d616174686c65746561746f6d61747461636b617474656e6461747469747564656174747261637461756374696f6e617564697461756775737461756e74617574686f726175746f617574756d6e6176657261676561766f6361646f61766f69646177616b65617761726561776179617765736f6d65617766756c61776b77617264617869736261627962616368656c6f726261636f6e626164676562616762616c616e636562616c636f6e7962616c6c62616d626f6f62616e616e6162616e6e6572626172626172656c796261726761696e62617272656c6261736562617369636261736b6574626174746c6562656163686265616e626561757479626563617573656265636f6d65626565666265666f7265626567696e626568617665626568696e6462656c6965766562656c6f7762656c7462656e636862656e65666974626573746265747261796265747465726265747765656e6265796f6e6462696379636c6562696462696b6562696e6462696f6c6f6779626972646269727468626974746572626c61636b626c616465626c616d65626c616e6b6574626c617374626c65616b626c657373626c696e64626c6f6f64626c6f73736f6d626c6f757365626c7565626c7572626c757368626f617264626f6174626f6479626f696c626f6d62626f6e65626f6e7573626f6f6b626f6f7374626f72646572626f72696e67626f72726f77626f7373626f74746f6d626f756e6365626f78626f79627261636b6574627261696e6272616e64627261737362726176656272656164627265657a65627269636b62726964676562726965666272696768746272696e67627269736b62726f63636f6c6962726f6b656e62726f6e7a6562726f6f6d62726f7468657262726f776e6272757368627562626c65627564647962756467657462756666616c6f6275696c6462756c6262756c6b62756c6c657462756e646c6562756e6b657262757264656e6275726765726275727374627573627573696e65737362757379627574746572627579657262757a7a63616262616765636162696e6361626c656361637475736361676563616b6563616c6c63616c6d63616d65726163616d7063616e63616e616c63616e63656c63616e647963616e6e6f6e63616e6f6563616e76617363616e796f6e63617061626c656361706974616c6361707461696e636172636172626f6e63617264636172676f6361727065746361727279636172746361736563617368636173696e6f636173746c6563617375616c636174636174616c6f67636174636863617465676f7279636174746c65636175676874636175736563617574696f6e636176656365696c696e6763656c65727963656d656e7463656e73757363656e7475727963657265616c6365727461696e63686169726368616c6b6368616d70696f6e6368616e67656368616f73636861707465726368617267656368617365636861746368656170636865636b636865657365636865666368657272796368657374636869636b656e63686965666368696c646368696d6e657963686f69636563686f6f73656368726f6e6963636875636b6c656368756e6b636875726e636967617263696e6e616d6f6e636972636c65636974697a656e63697479636976696c636c61696d636c6170636c6172696679636c6177636c6179636c65616e636c65726b636c65766572636c69636b636c69656e74636c696666636c696d62636c696e6963636c6970636c6f636b636c6f67636c6f7365636c6f7468636c6f7564636c6f776e636c7562636c756d70636c7573746572636c75746368636f616368636f617374636f636f6e7574636f6465636f66666565636f696c636f696e636f6c6c656374636f6c6f72636f6c756d6e636f6d62696e65636f6d65636f6d666f7274636f6d6963636f6d6d6f6e636f6d70616e79636f6e63657274636f6e64756374636f6e6669726d636f6e6772657373636f6e6e656374636f6e7369646572636f6e74726f6c636f6e76696e6365636f6f6b636f6f6c636f70706572636f7079636f72616c636f7265636f726e636f7272656374636f7374636f74746f6e636f756368636f756e747279636f75706c65636f75727365636f7573696e636f766572636f796f7465637261636b637261646c6563726166746372616d6372616e656372617368637261746572637261776c6372617a79637265616d637265646974637265656b63726577637269636b65746372696d65637269737063726974696363726f7063726f737363726f75636863726f77646372756369616c637275656c6372756973656372756d626c656372756e636863727573686372796372797374616c6375626563756c74757265637570637570626f617264637572696f757363757272656e746375727461696e637572766563757368696f6e637573746f6d637574656379636c6564616464616d61676564616d7064616e636564616e676572646172696e676461736864617567687465726461776e6461796465616c646562617465646562726973646563616465646563656d6265726465636964656465636c696e656465636f72617465646563726561736564656572646566656e7365646566696e656465667964656772656564656c617964656c6976657264656d616e6464656d69736564656e69616c64656e7469737464656e79646570617274646570656e646465706f7369746465707468646570757479646572697665646573637269626564657365727464657369676e6465736b6465737061697264657374726f7964657461696c646574656374646576656c6f706465766963656465766f74656469616772616d6469616c6469616d6f6e6464696172796469636564696573656c646965746469666665726469676974616c6469676e69747964696c656d6d6164696e6e657264696e6f73617572646972656374646972746469736167726565646973636f76657264697365617365646973686469736d6973736469736f72646572646973706c617964697374616e63656469766572746469766964656469766f72636564697a7a79646f63746f72646f63756d656e74646f67646f6c6c646f6c7068696e646f6d61696e646f6e617465646f6e6b6579646f6e6f72646f6f72646f7365646f75626c65646f76656472616674647261676f6e6472616d616472617374696364726177647265616d647265737364726966746472696c6c6472696e6b64726970647269766564726f706472756d6472796475636b64756d6264756e65647572696e6764757374647574636864757479647761726664796e616d696365616765726561676c656561726c796561726e6561727468656173696c7965617374656173796563686f65636f6c6f677965636f6e6f6d796564676565646974656475636174656566666f72746567676569676874656974686572656c626f77656c646572656c656374726963656c6567616e74656c656d656e74656c657068616e74656c657661746f72656c697465656c7365656d6261726b656d626f6479656d6272616365656d65726765656d6f74696f6e656d706c6f79656d706f776572656d707479656e61626c65656e616374656e64656e646c657373656e646f727365656e656d79656e65726779656e666f726365656e67616765656e67696e65656e68616e6365656e6a6f79656e6c697374656e6f756768656e72696368656e726f6c6c656e73757265656e746572656e74697265656e747279656e76656c6f7065657069736f6465657175616c6571756970657261657261736565726f646565726f73696f6e6572726f7265727570746573636170656573736179657373656e6365657374617465657465726e616c65746869637365766964656e63656576696c65766f6b6565766f6c766565786163746578616d706c6565786365737365786368616e67656578636974656578636c75646565786375736565786563757465657865726369736565786861757374657868696269746578696c6565786973746578697465786f746963657870616e646578706563746578706972656578706c61696e6578706f736565787072657373657874656e64657874726165796565796562726f7766616272696366616365666163756c7479666164656661696e74666169746866616c6c66616c736566616d6566616d696c7966616d6f757366616e66616e637966616e746173796661726d66617368696f6e666174666174616c666174686572666174696775656661756c746661766f726974656665617475726566656272756172796665646572616c666565666565646665656c66656d616c6566656e6365666573746976616c66657463686665766572666577666962657266696374696f6e6669656c6466696775726566696c6566696c6d66696c74657266696e616c66696e6466696e6566696e67657266696e697368666972656669726d666972737466697363616c666973686669746669746e657373666978666c6167666c616d65666c617368666c6174666c61766f72666c6565666c69676874666c6970666c6f6174666c6f636b666c6f6f72666c6f776572666c756964666c757368666c79666f616d666f637573666f67666f696c666f6c64666f6c6c6f77666f6f64666f6f74666f726365666f72657374666f72676574666f726b666f7274756e65666f72756d666f7277617264666f7373696c666f73746572666f756e64666f7866726167696c656672616d656672657175656e746672657368667269656e646672696e676566726f6766726f6e7466726f737466726f776e66726f7a656e66727569746675656c66756e66756e6e796675726e616365667572796675747572656761646765746761696e67616c61787967616c6c65727967616d656761706761726167656761726261676567617264656e6761726c69636761726d656e746761736761737067617465676174686572676175676567617a6567656e6572616c67656e69757367656e726567656e746c6567656e75696e656765737475726567686f73746769616e7467696674676967676c6567696e676572676972616666656769726c67697665676c6164676c616e6365676c617265676c617373676c696465676c696d707365676c6f6265676c6f6f6d676c6f7279676c6f7665676c6f77676c7565676f6174676f6464657373676f6c64676f6f64676f6f7365676f72696c6c61676f7370656c676f73736970676f7665726e676f776e677261626772616365677261696e6772616e7467726170656772617373677261766974796772656174677265656e6772696467726965666772697467726f6365727967726f757067726f776772756e746775617264677565737367756964656775696c7467756974617267756e67796d68616269746861697268616c6668616d6d657268616d7374657268616e646861707079686172626f7268617264686172736868617276657374686174686176656861776b68617a617264686561646865616c7468686561727468656176796865646765686f6768656967687468656c6c6f68656c6d657468656c7068656e6865726f68696464656e6869676868696c6c68696e7468697068697265686973746f7279686f626279686f636b6579686f6c64686f6c65686f6c69646179686f6c6c6f77686f6d65686f6e6579686f6f64686f7065686f726e686f72726f72686f727365686f73706974616c686f7374686f74656c686f7572686f7665726875626875676568756d616e68756d626c6568756d6f7268756e6472656468756e67727968756e74687572646c6568757272796875727468757362616e6468796272696469636569636f6e696465616964656e7469667969646c6569676e6f7265696c6c696c6c6567616c696c6c6e657373696d616765696d6974617465696d6d656e7365696d6d756e65696d70616374696d706f7365696d70726f7665696d70756c7365696e6368696e636c756465696e636f6d65696e637265617365696e646578696e646963617465696e646f6f72696e647573747279696e66616e74696e666c696374696e666f726d696e68616c65696e6865726974696e697469616c696e6a656374696e6a757279696e6d617465696e6e6572696e6e6f63656e74696e707574696e7175697279696e73616e65696e73656374696e73696465696e7370697265696e7374616c6c696e74616374696e746572657374696e746f696e76657374696e76697465696e766f6c766569726f6e69736c616e6469736f6c61746569737375656974656d69766f72796a61636b65746a61677561726a61726a617a7a6a65616c6f75736a65616e736a656c6c796a6577656c6a6f626a6f696e6a6f6b656a6f75726e65796a6f796a756467656a756963656a756d706a756e676c656a756e696f726a756e6b6a7573746b616e6761726f6f6b65656e6b6565706b6574636875706b65796b69636b6b69646b69646e65796b696e646b696e67646f6d6b6973736b69746b69746368656e6b6974656b697474656e6b6977696b6e65656b6e6966656b6e6f636b6b6e6f776c61626c6162656c6c61626f726c61646465726c6164796c616b656c616d706c616e67756167656c6170746f706c617267656c617465726c6174696e6c617567686c61756e6472796c6176616c61776c61776e6c6177737569746c617965726c617a796c65616465726c6561666c6561726e6c656176656c6563747572656c6566746c65676c6567616c6c6567656e646c6569737572656c656d6f6e6c656e646c656e6774686c656e736c656f706172646c6573736f6e6c65747465726c6576656c6c6961726c6962657274796c6962726172796c6963656e73656c6966656c6966746c696768746c696b656c696d626c696d69746c696e6b6c696f6e6c69717569646c6973746c6974746c656c6976656c697a6172646c6f61646c6f616e6c6f62737465726c6f63616c6c6f636b6c6f6769636c6f6e656c796c6f6e676c6f6f706c6f74746572796c6f75646c6f756e67656c6f76656c6f79616c6c75636b796c7567676167656c756d6265726c756e61726c756e63686c75787572796c79726963736d616368696e656d61646d616769636d61676e65746d6169646d61696c6d61696e6d616a6f726d616b656d616d6d616c6d616e6d616e6167656d616e646174656d616e676f6d616e73696f6e6d616e75616c6d61706c656d6172626c656d617263686d617267696e6d6172696e656d61726b65746d617272696167656d61736b6d6173736d61737465726d617463686d6174657269616c6d6174686d61747269786d61747465726d6178696d756d6d617a656d6561646f776d65616e6d6561737572656d6561746d656368616e69636d6564616c6d656469616d656c6f64796d656c746d656d6265726d656d6f72796d656e74696f6e6d656e756d657263796d657267656d657269746d657272796d6573686d6573736167656d6574616c6d6574686f646d6964646c656d69646e696768746d696c6b6d696c6c696f6e6d696d69636d696e646d696e696d756d6d696e6f726d696e7574656d697261636c656d6972726f726d69736572796d6973736d697374616b656d69786d697865646d6978747572656d6f62696c656d6f64656c6d6f646966796d6f6d6d6f6d656e746d6f6e69746f726d6f6e6b65796d6f6e737465726d6f6e74686d6f6f6e6d6f72616c6d6f72656d6f726e696e676d6f73717569746f6d6f746865726d6f74696f6e6d6f746f726d6f756e7461696e6d6f7573656d6f76656d6f7669656d7563686d756666696e6d756c656d756c7469706c796d7573636c656d757365756d6d757368726f6f6d6d757369636d7573746d757475616c6d7973656c666d7973746572796d7974686e616976656e616d656e61706b696e6e6172726f776e617374796e6174696f6e6e61747572656e6561726e65636b6e6565646e656761746976656e65676c6563746e6569746865726e65706865776e657276656e6573746e65746e6574776f726b6e65757472616c6e657665726e6577736e6578746e6963656e696768746e6f626c656e6f6973656e6f6d696e65656e6f6f646c656e6f726d616c6e6f7274686e6f73656e6f7461626c656e6f74656e6f7468696e676e6f746963656e6f76656c6e6f776e75636c6561726e756d6265726e757273656e75746f616b6f6265796f626a6563746f626c6967656f6273637572656f6273657276656f627461696e6f6276696f75736f636375726f6365616e6f63746f6265726f646f726f66666f666665726f66666963656f6674656e6f696c6f6b61796f6c646f6c6976656f6c796d7069636f6d69746f6e63656f6e656f6e696f6e6f6e6c696e656f6e6c796f70656e6f706572616f70696e696f6e6f70706f73656f7074696f6e6f72616e67656f726269746f7263686172646f726465726f7264696e6172796f7267616e6f7269656e746f726967696e616c6f727068616e6f7374726963686f746865726f7574646f6f726f757465726f75747075746f7574736964656f76616c6f76656e6f7665726f776e6f776e65726f787967656e6f79737465726f7a6f6e6570616374706164646c65706167657061697270616c61636570616c6d70616e646170616e656c70616e696370616e746865727061706572706172616465706172656e747061726b706172726f7470617274797061737370617463687061746870617469656e74706174726f6c7061747465726e7061757365706176657061796d656e7470656163657065616e75747065617270656173616e7470656c6963616e70656e70656e616c747970656e63696c70656f706c65706570706572706572666563747065726d6974706572736f6e70657470686f6e6570686f746f706872617365706879736963616c7069616e6f7069636e6963706963747572657069656365706967706967656f6e70696c6c70696c6f7470696e6b70696f6e65657270697065706973746f6c706974636870697a7a61706c616365706c616e6574706c6173746963706c617465706c6179706c65617365706c65646765706c75636b706c7567706c756e6765706f656d706f6574706f696e74706f6c6172706f6c65706f6c696365706f6e64706f6e79706f6f6c706f70756c6172706f7274696f6e706f736974696f6e706f737369626c65706f7374706f7461746f706f7474657279706f7665727479706f77646572706f7765727072616374696365707261697365707265646963747072656665727072657061726570726573656e7470726574747970726576656e74707269636570726964657072696d6172797072696e747072696f72697479707269736f6e707269766174657072697a6570726f626c656d70726f6365737370726f6475636570726f66697470726f6772616d70726f6a65637470726f6d6f746570726f6f6670726f706572747970726f7370657270726f7465637470726f756470726f766964657075626c696370756464696e6770756c6c70756c7070756c736570756d706b696e70756e6368707570696c70757070797075726368617365707572697479707572706f736570757273657075736870757470757a7a6c65707972616d69647175616c6974797175616e74756d717561727465727175657374696f6e717569636b717569747175697a71756f7465726162626974726163636f6f6e726163657261636b7261646172726164696f7261696c7261696e726169736572616c6c7972616d7072616e636872616e646f6d72616e676572617069647261726572617465726174686572726176656e72617772617a6f7272656164797265616c726561736f6e726562656c72656275696c64726563616c6c726563656976657265636970657265636f726472656379636c657265647563657265666c6563747265666f726d726566757365726567696f6e726567726574726567756c617272656a65637472656c617872656c6561736572656c69656672656c7972656d61696e72656d656d62657272656d696e6472656d6f766572656e64657272656e657772656e7472656f70656e7265706169727265706561747265706c6163657265706f727472657175697265726573637565726573656d626c657265736973747265736f75726365726573706f6e7365726573756c747265746972657265747265617472657475726e7265756e696f6e72657665616c72657669657772657761726472687974686d726962726962626f6e72696365726963687269646572696467657269666c657269676874726967696472696e6772696f74726970706c657269736b72697475616c726976616c7269766572726f6164726f617374726f626f74726f62757374726f636b6574726f6d616e6365726f6f66726f6f6b6965726f6f6d726f7365726f74617465726f756768726f756e64726f757465726f79616c7275626265727275646572756772756c6572756e72756e776179727572616c736164736164646c657361646e657373736166657361696c73616c616473616c6d6f6e73616c6f6e73616c7473616c75746573616d6573616d706c6573616e64736174697366797361746f736869736175636573617573616765736176657361797363616c657363616e7363617265736361747465727363656e65736368656d657363686f6f6c736369656e636573636973736f727373636f7270696f6e73636f7574736372617073637265656e7363726970747363727562736561736561726368736561736f6e736561747365636f6e6473656372657473656374696f6e7365637572697479736565647365656b7365676d656e7473656c65637473656c6c73656d696e617273656e696f7273656e736573656e74656e63657365726965737365727669636573657373696f6e736574746c657365747570736576656e736861646f7773686166747368616c6c6f777368617265736865647368656c6c73686572696666736869656c6473686966747368696e657368697073686976657273686f636b73686f6573686f6f7473686f7073686f727473686f756c64657273686f7665736872696d70736872756773687566666c657368797369626c696e677369636b73696465736965676573696768747369676e73696c656e7473696c6b73696c6c7973696c76657273696d696c617273696d706c6573696e636573696e67736972656e7369737465727369747561746573697873697a65736b617465736b65746368736b69736b696c6c736b696e736b697274736b756c6c736c6162736c616d736c656570736c656e646572736c696365736c696465736c69676874736c696d736c6f67616e736c6f74736c6f77736c757368736d616c6c736d617274736d696c65736d6f6b65736d6f6f7468736e61636b736e616b65736e6170736e696666736e6f77736f6170736f63636572736f6369616c736f636b736f6461736f6674736f6c6172736f6c64696572736f6c6964736f6c7574696f6e736f6c7665736f6d656f6e65736f6e67736f6f6e736f727279736f7274736f756c736f756e64736f7570736f75726365736f757468737061636573706172657370617469616c737061776e737065616b7370656369616c73706565647370656c6c7370656e6473706865726573706963657370696465727370696b657370696e73706972697473706c697473706f696c73706f6e736f7273706f6f6e73706f727473706f747370726179737072656164737072696e6773707973717561726573717565657a65737175697272656c737461626c657374616469756d737461666673746167657374616972737374616d707374616e647374617274737461746573746179737465616b737465656c7374656d7374657073746572656f737469636b7374696c6c7374696e6773746f636b73746f6d61636873746f6e6573746f6f6c73746f727973746f76657374726174656779737472656574737472696b657374726f6e677374727567676c6573747564656e7473747566667374756d626c657374796c657375626a6563747375626d6974737562776179737563636573737375636873756464656e7375666665727375676172737567676573747375697473756d6d657273756e73756e6e7973756e7365747375706572737570706c7973757072656d65737572657375726661636573757267657375727072697365737572726f756e64737572766579737573706563747375737461696e7377616c6c6f777377616d7073776170737761726d7377656172737765657473776966747377696d7377696e6773776974636873776f726473796d626f6c73796d70746f6d737972757073797374656d7461626c657461636b6c657461677461696c74616c656e7474616c6b74616e6b746170657461726765747461736b7461737465746174746f6f7461786974656163687465616d74656c6c74656e74656e616e7474656e6e697374656e747465726d74657374746578747468616e6b746861747468656d657468656e7468656f72797468657265746865797468696e677468697374686f7567687474687265657468726976657468726f777468756d627468756e6465727469636b657474696465746967657274696c7474696d62657274696d6574696e7974697074697265647469737375657469746c65746f617374746f626163636f746f646179746f64646c6572746f65746f676574686572746f696c6574746f6b656e746f6d61746f746f6d6f72726f77746f6e65746f6e677565746f6e69676874746f6f6c746f6f7468746f70746f706963746f70706c65746f726368746f726e61646f746f72746f697365746f7373746f74616c746f7572697374746f77617264746f776572746f776e746f79747261636b747261646574726166666963747261676963747261696e7472616e7366657274726170747261736874726176656c747261797472656174747265657472656e64747269616c7472696265747269636b747269676765727472696d7472697074726f70687974726f75626c65747275636b747275657472756c797472756d706574747275737474727574687472797475626574756974696f6e74756d626c6574756e6174756e6e656c7475726b65797475726e747572746c657477656c76657477656e747974776963657477696e747769737474776f747970657479706963616c75676c79756d6272656c6c61756e61626c65756e6177617265756e636c65756e636f766572756e646572756e646f756e66616972756e666f6c64756e6861707079756e69666f726d756e69717565756e6974756e697665727365756e6b6e6f776e756e6c6f636b756e74696c756e757375616c756e7665696c757064617465757067726164657570686f6c6475706f6e75707065727570736574757262616e7572676575736167657573657573656475736566756c7573656c657373757375616c7574696c697479766163616e7476616375756d766167756576616c696476616c6c657976616c766576616e76616e6973687661706f72766172696f7573766173747661756c7476656869636c6576656c76657476656e646f7276656e7475726576656e75657665726276657269667976657273696f6e7665727976657373656c7665746572616e766961626c6576696272616e74766963696f7573766963746f7279766964656f7669657776696c6c61676576696e7461676576696f6c696e7669727475616c766972757376697361766973697476697375616c766974616c7669766964766f63616c766f696365766f6964766f6c63616e6f766f6c756d65766f7465766f79616765776167657761676f6e7761697477616c6b77616c6c77616c6e757477616e74776172666172657761726d77617272696f72776173687761737077617374657761746572776176657761797765616c7468776561706f6e7765617277656173656c7765617468657277656277656464696e677765656b656e64776569726477656c636f6d65776573747765747768616c65776861747768656174776865656c7768656e776865726577686970776869737065727769646577696474687769666577696c6477696c6c77696e77696e646f7777696e6577696e6777696e6b77696e6e657277696e74657277697265776973646f6d77697365776973687769746e657373776f6c66776f6d616e776f6e646572776f6f64776f6f6c776f7264776f726b776f726c64776f727279776f72746877726170777265636b77726573746c657772697374777269746577726f6e67796172647965617279656c6c6f77796f75796f756e67796f7574687a656272617a65726f7a6f6e657a6f6f7c0510000700000083051000070000008a051000040000008e05100005000000930510000500000098051000060000009e05100006000000a405100008000000ac05100006000000b205100005000000b705100006000000bd05100008000000c505100007000000cc05100006000000d205100007000000d905100004000000dd05100008000000e505100007000000ec05100006000000f205100003000000f505100006000000fb05100005000000000610000700000007061000060000000d06100005000000120610000300000015061000060000001b06100007000000220610000600000028061000050000002d06100005000000320610000700000039061000060000003f0610000700000046061000060000004c06100006000000520610000600000058061000050000005d06100003000000600610000500000065061000050000006a061000050000006f06100003000000720610000300000075061000070000007c06100005000000810610000500000086061000050000008b06100007000000920610000500000097061000050000009c061000030000009f06100005000000a406100005000000a906100006000000af06100005000000b406100005000000b906100007000000c006100004000000c406100005000000c906100006000000cf06100007000000d606100007000000dd06100005000000e206100006000000e806100006000000ee06100007000000f506100006000000fb06100007000000020710000500000007071000050000000c07100005000000110710000600000017071000050000001c0710000800000024071000060000002a07100007000000310710000600000037071000070000003e0710000700000045071000070000004c071000030000004f0710000500000054071000070000005b07100006000000610710000500000066071000070000006d07100005000000720710000400000076071000060000007c07100004000000800710000500000085071000050000008a071000030000008d07100005000000920710000500000097071000040000009b07100006000000a107100007000000a807100006000000ae07100006000000b407100005000000b907100003000000bc07100008000000c407100006000000ca07100007000000d107100003000000d407100006000000da07100007000000e107100005000000e607100006000000ec07100006000000f207100006000000f807100007000000ff07100004000000030810000600000009081000060000000f0810000800000017081000070000001e0810000700000025081000050000002a08100006000000300810000400000034081000060000003a081000040000003e0810000600000044081000070000004b08100007000000520810000500000057081000050000005c08100005000000610810000400000065081000070000006c08100005000000710810000700000078081000040000007c08100004000000800810000800000088081000050000008d08100005000000920810000300000095081000070000009c08100007000000a308100004000000a708100006000000ad08100006000000b308100006000000b908100003000000bc08100006000000c208100007000000c908100006000000cf08100004000000d308100005000000d808100006000000de08100006000000e408100005000000e908100004000000ed08100006000000f308100007000000fa08100006000000000910000400000004091000060000000a091000050000000f0910000600000015091000060000001b09100007000000220910000500000027091000040000002b09100005000000300910000700000037091000040000003b09100006000000410910000600000047091000070000004e0910000600000054091000070000005b091000030000005e09100004000000620910000400000066091000070000006d09100004000000710910000500000076091000060000007c09100005000000810910000500000086091000050000008b09100007000000920910000500000097091000050000009c09100005000000a109100005000000a609100005000000ab09100007000000b209100006000000b809100004000000bc09100004000000c009100005000000c509100005000000ca09100004000000ce09100004000000d209100004000000d609100004000000da09100004000000de09100005000000e309100004000000e709100005000000ec09100006000000f209100006000000f809100006000000fe09100004000000020a100006000000080a1000060000000e0a100003000000110a100003000000140a1000070000001b0a100005000000200a100005000000250a1000050000002a0a1000050000002f0a100005000000340a1000060000003a0a1000050000003f0a100006000000450a1000050000004a0a100006000000500a100005000000550a1000050000005a0a100008000000620a100006000000680a1000060000006e0a100005000000730a1000070000007a0a1000050000007f0a100005000000840a1000060000008a0a1000050000008f0a100006000000950a1000070000009c0a100005000000a10a100004000000a50a100004000000a90a100006000000af0a100006000000b50a100006000000bb0a100006000000c10a100006000000c70a100005000000cc0a100003000000cf0a100008000000d70a100004000000db0a100006000000e10a100005000000e60a100004000000ea0a100007000000f10a100005000000f60a100005000000fb0a100006000000010b100004000000050b100004000000090b1000040000000d0b100004000000110b100006000000170b1000040000001b0b1000030000001e0b100005000000230b100006000000290b1000050000002e0b100006000000340b100005000000390b1000060000003f0b100006000000450b1000070000004c0b100007000000530b1000070000005a0b1000030000005d0b100006000000630b100004000000670b1000050000006c0b100006000000720b100005000000770b1000040000007b0b1000040000007f0b100004000000830b100006000000890b1000060000008f0b100006000000950b100003000000980b1000070000009f0b100005000000a40b100008000000ac0b100006000000b20b100006000000b80b100005000000bd0b100007000000c40b100004000000c80b100007000000cf0b100006000000d50b100006000000db0b100006000000e10b100007000000e80b100006000000ee0b100007000000f50b100005000000fa0b100005000000ff0b100008000000070c1000060000000d0c100005000000120c100007000000190c1000060000001f0c100005000000240c100004000000280c1000050000002d0c100005000000320c100006000000380c1000040000003c0c100006000000420c100005000000470c1000070000004e0c100005000000530c100005000000580c1000070000005f0c100006000000650c1000060000006b0c100007000000720c100007000000790c1000050000007e0c100005000000830c100005000000880c100008000000900c100006000000960c1000070000009d0c100004000000a10c100005000000a60c100005000000ab0c100004000000af0c100007000000b60c100004000000ba0c100004000000be0c100005000000c30c100005000000c80c100006000000ce0c100005000000d30c100006000000d90c100005000000de0c100005000000e30c100006000000e90c100004000000ed0c100005000000f20c100004000000f60c100005000000fb0c100005000000000d100005000000050d1000050000000a0d1000040000000e0d100005000000130d1000070000001a0d100006000000200d100005000000250d1000050000002a0d100007000000310d100004000000350d1000060000003b0d1000040000003f0d100004000000430d1000070000004a0d1000050000004f0d100006000000550d1000070000005c0d100004000000600d100007000000670d1000050000006c0d100006000000720d100007000000790d100007000000800d100007000000870d1000070000008e0d100008000000960d1000070000009d0d100008000000a50d100007000000ac0d100008000000b40d100004000000b80d100004000000bc0d100006000000c20d100004000000c60d100005000000cb0d100004000000cf0d100004000000d30d100007000000da0d100004000000de0d100006000000e40d100005000000e90d100007000000f00d100006000000f60d100006000000fc0d100006000000020e100005000000070e1000060000000d0e100005000000120e100006000000180e1000050000001d0e100004000000210e100005000000260e1000050000002b0e100006000000310e100005000000360e1000050000003b0e100005000000400e100006000000460e1000050000004b0e1000040000004f0e100007000000560e1000050000005b0e100005000000600e100006000000660e1000040000006a0e1000050000006f0e100006000000750e1000050000007a0e100007000000810e100005000000860e1000060000008c0e100007000000930e100006000000990e1000050000009e0e100003000000a10e100007000000a80e100004000000ac0e100007000000b30e100003000000b60e100008000000be0e100007000000c50e100007000000cc0e100007000000d30e100005000000d80e100007000000df0e100006000000e50e100004000000e90e100005000000ee0e100003000000f10e100006000000f70e100004000000fb0e100005000000000f100006000000060f1000060000000c0f100004000000100f100008000000180f1000040000001c0f1000030000001f0f100004000000230f100006000000290f1000060000002f0f100006000000350f1000080000003d0f100006000000430f1000070000004a0f100008000000520f1000080000005a0f1000040000005e0f100007000000650f1000060000006b0f1000040000006f0f100006000000750f1000050000007a0f100007000000810f100006000000870f1000060000008d0f100006000000930f1000070000009a0f1000040000009e0f100006000000a40f100006000000aa0f100007000000b10f100005000000b60f100006000000bc0f100006000000c20f100008000000ca0f100006000000d00f100006000000d60f100004000000da0f100007000000e10f100007000000e80f100006000000ee0f100006000000f40f100007000000fb0f100006000000011010000600000007101000070000000e10100004000000121010000700000019101000050000001e10100004000000221010000600000028101000040000002c1010000600000032101000070000003910100007000000401010000700000047101000060000004d1010000800000055101000060000005b101000040000005f1010000800000067101000080000006f1010000700000076101000040000007a1010000700000081101000080000008910100007000000901010000800000098101000060000009e10100006000000a410100007000000ab10100005000000b010100006000000b610100008000000be10100003000000c110100004000000c510100007000000cc10100006000000d210100006000000d810100006000000de10100005000000e310100004000000e710100004000000eb10100006000000f110100004000000f510100005000000fa10100006000000001110000500000005111000070000000c11100004000000101110000500000015111000050000001a111000050000001f11100005000000241110000500000029111000040000002d11100005000000321110000400000036111000040000003a111000030000003d111000040000004111100004000000451110000400000049111000060000004f11100004000000531110000500000058111000040000005c11100005000000611110000700000068111000050000006d11100005000000721110000500000077111000040000007b11100005000000801110000600000086111000040000008a111000040000008e1110000400000092111000070000009911100007000000a011100004000000a411100004000000a811100007000000af11100006000000b511100003000000b811100005000000bd11100006000000c311100005000000c811100005000000cd11100008000000d511100007000000dc11100007000000e311100008000000eb11100008000000f311100005000000f811100004000000fc11100006000000021210000600000008121000070000000f1210000600000015121000070000001c12100006000000221210000700000029121000050000002e12100006000000341210000500000039121000030000003c1210000700000043121000070000004a121000050000004f1210000600000055121000070000005c12100006000000621210000600000068121000070000006f1210000500000074121000060000007a12100006000000801210000600000086121000060000008c12100006000000921210000500000097121000060000009d12100005000000a212100008000000aa12100007000000b112100005000000b612100005000000bb12100003000000be12100005000000c312100005000000c812100007000000cf12100005000000d412100005000000d912100006000000df12100005000000e412100007000000eb12100006000000f112100007000000f812100006000000fe1210000800000006131000040000000a131000050000000f1310000600000015131000050000001a13100007000000211310000600000027131000080000002f1310000600000035131000070000003c1310000600000042131000070000004913100008000000511310000700000058131000070000005f13100005000000641310000500000069131000040000006d13100006000000731310000600000079131000060000007f1310000600000085131000070000008c13100006000000921310000700000099131000060000009f13100005000000a413100003000000a713100007000000ae13100006000000b413100004000000b813100007000000bf13100004000000c313100005000000c813100005000000cd13100004000000d113100005000000d613100004000000da13100006000000e013100006000000e613100003000000e913100005000000ee13100007000000f513100004000000f9131000070000000014100003000000031410000500000008141000060000000e1410000700000015141000050000001a1410000800000022141000070000002914100008000000311410000700000038141000030000003b141000040000003f14100004000000431410000600000049141000050000004e1410000800000056141000050000005b141000050000006014100003000000631410000500000068141000070000006f1410000500000074141000060000007a141000040000007e14100004000000821410000600000088141000050000008d14100004000000911410000400000095141000060000009b14100006000000a114100004000000a514100004000000a914100005000000ae14100006000000b414100004000000b814100003000000bb14100007000000c214100003000000c514100004000000c914100005000000ce14100005000000d314100004000000d714100006000000dd14100004000000e114100006000000e714100004000000eb14100005000000f014100005000000f514100005000000fa14100006000000001510000500000005151000050000000a151000030000000d151000040000001115100005000000161510000300000019151000040000001d15100004000000211510000600000027151000040000002b151000040000002f1510000500000034151000060000003a15100006000000401510000400000044151000070000004b15100005000000501510000700000057151000060000005d15100006000000631510000500000068151000030000006b15100007000000721510000500000077151000080000007f1510000500000084151000060000008a151000060000009015100004000000941510000500000099151000050000009e15100005000000a315100006000000a915100005000000ae15100004000000b215100003000000b515100005000000ba15100007000000c115100004000000c515100006000000cb15100006000000d115100004000000d515100006000000db15100007000000e215100004000000e615100003000000e915100006000000ef15100007000000f615100006000000fc15100006000000021610000700000009161000030000000c16100004000000101610000400000014161000060000001a161000050000001f1610000400000023161000070000002a16100006000000301610000500000035161000060000003b16100007000000421610000700000049161000050000004e16100005000000531610000400000057161000060000005d1610000600000063161000070000006a161000040000006e16100004000000721610000400000076161000060000007c16100005000000811610000500000086161000050000008b16100007000000921610000500000097161000050000009c16100005000000a116100005000000a616100004000000aa16100004000000ae16100004000000b216100007000000b916100004000000bd16100004000000c116100005000000c616100007000000cd16100006000000d316100006000000d916100006000000df16100004000000e316100004000000e716100005000000ec16100005000000f116100005000000f616100005000000fb16100005000000001710000700000007171000050000000c17100005000000111710000400000015171000050000001a171000040000001e1710000700000025171000050000002a171000040000002e17100005000000331710000500000038171000050000003d17100005000000421710000500000047171000060000004d171000030000005017100003000000531710000500000058171000040000005c17100004000000601710000600000066171000070000006d17100004000000711710000500000076171000060000007c17100004000000801710000500000085171000070000008c171000030000008f17100004000000931710000400000097171000060000009d17100004000000a117100006000000a717100005000000ac17100005000000b117100008000000b917100006000000bf17100005000000c417100006000000ca17100004000000ce17100003000000d117100004000000d517100006000000db17100004000000df17100004000000e317100004000000e717100003000000ea17100004000000ee17100007000000f517100005000000fa171000060000000018100004000000041810000400000008181000070000000f18100006000000151810000400000019181000050000001e18100004000000221810000400000026181000040000002a18100006000000301810000500000035181000080000003d18100004000000411810000500000046181000040000004a181000050000004f18100003000000521810000400000056181000050000005b18100006000000611810000500000066181000070000006d18100006000000731810000400000077181000060000007d18100005000000821810000400000086181000070000008d18100006000000931810000300000096181000040000009a181000040000009e18100008000000a618100004000000aa18100006000000b018100003000000b318100007000000ba18100007000000c118100005000000c618100007000000cd18100007000000d418100006000000da18100006000000e018100006000000e618100007000000ed18100007000000f418100004000000f818100007000000ff1810000600000005191000080000000d1910000500000012191000080000001a19100006000000201910000800000028191000060000002e1910000700000035191000060000003b19100006000000411910000700000048191000070000004f1910000600000055191000060000005b19100006000000611910000500000066191000080000006e1910000500000073191000070000007a19100006000000801910000600000086191000060000008c1910000700000093191000070000009a19100006000000a019100008000000a819100004000000ac19100006000000b219100006000000b819100007000000bf19100004000000c319100006000000c919100007000000d019100005000000d519100004000000d919100005000000de19100006000000e419100006000000ea19100003000000ed19100004000000f119100007000000f819100005000000fd19100005000000021a100005000000071a1000030000000a1a1000040000000e1a100004000000121a100007000000191a1000030000001c1a100005000000211a100005000000261a1000040000002a1a100006000000301a100006000000361a1000040000003a1a1000040000003e1a100008000000461a1000040000004a1a1000040000004e1a100007000000551a100003000000581a1000040000005c1a1000030000005f1a100006000000651a100004000000691a100007000000701a100004000000741a100003000000771a1000070000007e1a100004000000821a100006000000881a1000040000008c1a100004000000901a100005000000951a1000050000009a1a1000040000009e1a100003000000a11a100005000000a61a100005000000ab1a100006000000b11a100004000000b51a100004000000b91a100004000000bd1a100008000000c51a100006000000cb1a100005000000d01a100005000000d51a100005000000da1a100005000000df1a100007000000e61a100004000000ea1a100003000000ed1a100004000000f11a100007000000f81a100005000000fd1a100004000000011b100006000000071b1000040000000b1b100005000000101b100005000000151b1000070000001c1b100004000000201b100003000000231b100005000000281b1000060000002e1b100007000000351b1000050000003a1b1000040000003e1b100006000000441b100004000000481b1000070000004f1b100006000000551b1000060000005b1b100005000000601b100004000000641b1000070000006b1b100007000000721b100007000000791b1000040000007d1b100004000000811b100005000000861b1000040000008a1b1000040000008e1b100005000000931b100004000000971b1000040000009b1b100006000000a11b100004000000a51b100006000000ab1b100004000000af1b100006000000b51b100004000000b91b100004000000bd1b100007000000c41b100005000000c91b100004000000cd1b100005000000d21b100006000000d81b100004000000dc1b100004000000e01b100007000000e71b100004000000eb1b100006000000f11b100004000000f51b100005000000fa1b100005000000ff1b100007000000061c1000060000000c1c100005000000111c100005000000161c1000060000001c1c100006000000221c100007000000291c1000030000002c1c100005000000311c100006000000371c1000040000003b1c1000040000003f1c100004000000431c100005000000481c1000040000004c1c100006000000521c100003000000551c1000060000005b1c100007000000621c100005000000671c1000070000006e1c100006000000741c100005000000791c1000060000007f1c100005000000841c1000060000008a1c100006000000901c100006000000961c1000080000009e1c100004000000a21c100004000000a61c100006000000ac1c100005000000b11c100008000000b91c100004000000bd1c100006000000c31c100006000000c91c100007000000d01c100004000000d41c100006000000da1c100004000000de1c100007000000e51c100004000000e91c100008000000f11c100005000000f61c100005000000fb1c100006000000011d100004000000051d1000060000000b1d100006000000111d100007000000181d1000040000001c1d100005000000211d100005000000261d1000050000002b1d100005000000301d100004000000341d1000070000003b1d100005000000401d100006000000461d1000060000004c1d100008000000541d100004000000581d1000070000005f1d100005000000641d100004000000681d1000070000006f1d100005000000741d1000060000007a1d100007000000811d100006000000871d1000060000008d1d100004000000911d100007000000981d1000030000009b1d100005000000a01d100007000000a71d100006000000ad1d100005000000b21d100006000000b81d100003000000bb1d100006000000c11d100007000000c81d100006000000ce1d100007000000d51d100005000000da1d100004000000de1d100005000000e31d100004000000e71d100007000000ee1d100008000000f61d100006000000fc1d100006000000021e100005000000071e1000080000000f1e100005000000141e100004000000181e1000050000001d1e100004000000211e100006000000271e1000040000002b1e100008000000331e100006000000391e1000060000003f1e100008000000471e1000050000004c1e100004000000501e100006000000561e1000060000005c1e100007000000631e100004000000671e1000050000006c1e100004000000701e100006000000761e1000060000007c1e100005000000811e100006000000871e1000060000008d1e100004000000911e100004000000951e100004000000991e100008000000a11e100007000000a81e100007000000af1e100006000000b51e100005000000ba1e100004000000be1e100003000000c11e100007000000c81e100007000000cf1e100005000000d41e100004000000d81e100004000000dc1e100004000000e01e100005000000e51e100005000000ea1e100005000000ef1e100007000000f61e100006000000fc1e100006000000021f100005000000071f1000040000000b1f100007000000121f100004000000161f1000070000001d1f100006000000231f100005000000281f1000030000002b1f100007000000321f100006000000381f1000050000003d1f100003000000401f100003000000431f100004000000471f1000060000004d1f100006000000531f1000070000005a1f100007000000611f100006000000671f1000070000006e1f100005000000731f100005000000781f1000070000007f1f100004000000831f100003000000861f1000050000008b1f100006000000911f100005000000961f100003000000991f1000040000009d1f100003000000a01f100005000000a51f100007000000ac1f100004000000b01f100004000000b41f100003000000b71f100005000000bc1f100006000000c21f100004000000c61f100004000000ca1f100005000000cf1f100007000000d61f100006000000dc1f100006000000e21f100006000000e81f100005000000ed1f100007000000f41f100005000000f91f100008000000012010000500000006201000060000000c2010000800000014201000060000001a20100007000000212010000500000026201000070000002d20100005000000322010000600000038201000070000003f20100004000000432010000400000047201000040000004b201000030000004e20100005000000532010000600000059201000060000005f20100005000000642010000400000068201000060000006e20100004000000722010000400000076201000060000007c20100004000000802010000500000085201000050000008a201000050000008f2010000700000096201000050000009b20100006000000a120100006000000a720100004000000ab20100006000000b120100005000000b620100004000000ba20100005000000bf20100004000000c320100007000000ca20100006000000d020100007000000d720100005000000dc20100004000000e020100007000000e720100005000000ec20100006000000f220100004000000f620100007000000fd20100007000000042110000300000007211000070000000e2110000600000014211000060000001a21100006000000202110000700000027211000060000002d21100006000000332110000300000036211000050000003b21100005000000402110000600000046211000080000004e21100005000000532110000600000059211000070000006021100005000000652110000300000068211000060000006e21100004000000722110000500000077211000040000007b21100007000000822110000400000086211000060000008c21100005000000912110000500000096211000050000009b21100006000000a121100007000000a821100005000000ad21100004000000b121100006000000b721100006000000bd21100005000000c221100004000000c621100006000000cc21100004000000d021100004000000d421100005000000d921100005000000de21100004000000e221100006000000e821100004000000ec21100004000000f021100004000000f421100007000000fb2110000700000002221000080000000a22100008000000122210000400000016221000060000001c2210000700000023221000070000002a22100006000000302210000500000035221000080000003d2210000600000043221000070000004a22100006000000502210000700000057221000070000005e2210000600000064221000070000006b22100005000000702210000500000075221000070000007c22100005000000812210000800000089221000060000008f2210000700000096221000050000009b22100007000000a222100007000000a922100007000000b022100006000000b622100007000000bd22100007000000c422100007000000cb22100005000000d022100008000000d822100007000000df22100007000000e622100005000000eb22100007000000f222100006000000f822100007000000ff22100004000000032310000400000007231000050000000c23100007000000132310000500000018231000050000001d2310000500000022231000080000002a23100006000000302310000700000037231000050000003c23100004000000402310000300000043231000060000004923100007000000502310000700000057231000070000005e2310000700000065231000080000006d23100005000000722310000400000076231000040000007a231000050000007f2310000600000085231000070000008c231000040000009023100004000000942310000500000099231000050000009e23100004000000a223100004000000a623100005000000ab23100005000000b023100004000000b423100005000000b923100006000000bf23100005000000c423100005000000c923100004000000cd23100004000000d123100006000000d723100005000000dc23100003000000df23100005000000e423100005000000e923100004000000ed23100006000000f323100005000000f823100007000000ff2310000600000005241000070000000c24100006000000122410000600000018241000070000001f2410000600000025241000070000002c24100006000000322410000600000038241000060000003e2410000600000044241000070000004b24100006000000512410000500000056241000070000005d24100006000000632410000400000067241000060000006d2410000800000075241000060000007b24100006000000812410000600000087241000050000008c24100004000000902410000600000096241000060000009c24100006000000a224100007000000a924100006000000af24100007000000b624100006000000bc24100008000000c424100006000000ca24100008000000d224100008000000da24100006000000e024100006000000e624100007000000ed24100006000000f324100007000000fa24100006000000002510000600000006251000060000000c25100006000000122510000300000015251000060000001b251000040000001f25100004000000232510000400000027251000050000002c25100005000000312510000500000036251000050000003b251000040000003f25100004000000432510000600000049251000040000004d25100006000000532510000500000058251000050000005d25100004000000612510000500000066251000050000006b25100006000000712510000600000077251000070000007e25100004000000822510000600000088251000040000008c25100004000000902510000600000096251000050000009b25100005000000a025100005000000a525100005000000aa25100006000000b025100004000000b425100003000000b725100004000000bb25100003000000be25100006000000c425100005000000c925100003000000cc25100006000000d225100007000000d925100004000000dd25100004000000e125100005000000e625100006000000ec25100005000000f125100004000000f525100006000000fb25100004000000ff2510000600000005261000040000000926100007000000102610000700000017261000050000001c26100007000000232610000400000027261000030000002a261000050000002f26100004000000332610000500000038261000070000003f2610000500000044261000060000004a26100006000000502610000700000057261000080000005f2610000800000067261000050000006c26100005000000712610000600000077261000060000007d26100005000000822610000300000085261000060000008b26100006000000912610000400000095261000060000009b26100006000000a126100007000000a826100008000000b026100004000000b426100004000000b826100007000000bf26100006000000c526100004000000c926100007000000d026100006000000d626100005000000db26100008000000e326100006000000e926100007000000f026100007000000f726100006000000fd26100005000000022710000500000007271000060000000d27100005000000122710000700000019271000050000001e27100004000000222710000500000027271000070000002e27100006000000342710000500000039271000050000003e27100004000000422710000600000048271000050000004d27100004000000512710000500000056271000040000005a271000050000005f2710000800000067271000050000006c27100006000000722710000500000077271000070000007e27100003000000812710000700000088271000040000008c27100004000000902710000500000095271000050000009a271000040000009e27100006000000a427100004000000a827100005000000ad27100006000000b327100007000000ba27100006000000c027100005000000c527100004000000c927100005000000ce27100006000000d427100007000000db27100003000000de27100004000000e227100005000000e727100006000000ed27100003000000f027100005000000f527100004000000f927100005000000fe27100005000000032810000400000007281000040000000b28100005000000102810000700000017281000050000001c28100005000000212810000600000027281000040000002b281000060000003128100004000000352810000400000039281000050000003e28100005000000432810000500000048281000050000004d28100005000000522810000600000058281000050000005d28100005000000622810000400000066281000050000006b281000040000006f28100004000000732810000600000079281000060000007f28100004000000832810000400000087281000040000008b28100005000000902810000700000097281000050000009c28100008000000a428100005000000a928100007000000b028100004000000b428100004000000b828100005000000bd28100004000000c128100004000000c528100005000000ca28100004000000ce28100006000000d428100005000000d928100005000000de28100005000000e328100007000000ea28100005000000ef28100005000000f428100007000000fb28100005000000002910000500000005291000050000000a29100006000000102910000500000015291000060000001b29100005000000202910000400000024291000060000002a291000050000002f2910000500000034291000070000003b291000050000004029100005000000452910000400000049291000050000004e2910000600000054291000060000005a291000030000005d2910000600000063291000070000006a29100008000000722910000600000078291000070000007f29100005000000842910000500000089291000060000008f29100005000000942910000500000099291000050000009e29100005000000a329100004000000a729100005000000ac29100005000000b129100004000000b529100004000000b929100006000000bf29100005000000c429100005000000c929100005000000ce29100005000000d329100007000000da29100005000000df29100005000000e429100005000000e929100005000000ee29100008000000f629100006000000fc29100006000000022a100006000000082a100008000000102a100007000000172a1000050000001c2a100007000000232a100005000000282a1000070000002f2a100006000000352a1000060000003b2a100007000000422a100004000000462a1000060000004c2a100006000000522a100005000000572a1000070000005e2a100004000000622a100006000000682a1000030000006b2a100005000000702a100006000000762a1000050000007b2a100006000000812a100007000000882a1000040000008c2a100007000000932a100005000000982a100008000000a02a100008000000a82a100006000000ae2a100007000000b52a100007000000bc2a100007000000c32a100005000000c82a100004000000cc2a100005000000d12a100005000000d62a100005000000db2a100005000000e02a100004000000e42a100005000000e92a100006000000ef2a100005000000f42a100006000000fa2a100007000000012b100005000000062b1000060000000c2b100005000000112b100006000000172b1000030000001a2b1000040000001e2b100006000000242b100004000000282b1000040000002c2b100004000000302b100006000000362b1000040000003a2b1000050000003f2b100006000000452b100004000000492b1000050000004e2b100004000000522b100004000000562b100003000000592b1000060000005f2b100006000000652b100004000000692b1000040000006d2b100004000000712b100004000000752b1000050000007a2b1000040000007e2b100005000000832b100004000000872b1000060000008d2b100005000000922b100004000000962b1000050000009b2b1000040000009f2b100007000000a62b100005000000ab2b100006000000b12b100005000000b62b100005000000bb2b100007000000c22b100006000000c82b100004000000cc2b100005000000d12b100004000000d52b100006000000db2b100004000000df2b100004000000e32b100003000000e62b100005000000eb2b100006000000f12b100005000000f62b100005000000fb2b100007000000022c100005000000072c1000070000000e2c100003000000112c100008000000192c1000060000001f2c100005000000242c1000060000002a2c100008000000322c100004000000362c1000060000003c2c100007000000432c100004000000472c1000050000004c2c1000030000004f2c100005000000542c1000060000005a2c1000050000005f2c100007000000662c1000080000006e2c100004000000722c100005000000772c1000070000007e2c100006000000842c100005000000892c1000040000008d2c100003000000902c100005000000952c1000050000009a2c100007000000a12c100006000000a72c100005000000ac2c100008000000b42c100004000000b82c100005000000bd2c100006000000c32c100004000000c72c100005000000cc2c100004000000d02c100005000000d52c100005000000da2c100005000000df2c100005000000e42c100007000000eb2c100004000000ef2c100004000000f32c100006000000f92c100007000000002d100005000000052d100004000000092d1000050000000e2d100007000000152d1000050000001a2d1000050000001f2d100003000000222d100004000000262d1000070000002d2d100006000000332d100004000000372d1000060000003d2d100006000000432d100004000000472d1000060000004d2d100006000000532d100006000000592d1000050000005e2d100004000000622d100005000000672d1000030000006a2d1000040000006e2d100007000000752d100004000000792d100008000000812d100006000000872d1000070000008e2d100005000000932d1000070000009a2d1000050000009f2d100004000000a32d100006000000a92d100006000000af2d100007000000b62d100007000000bd2d100006000000c32d100004000000c72d100008000000cf2d100007000000d62d100006000000dc2d100005000000e12d100007000000e82d100006000000ee2d100006000000f42d100007000000fb2d100006000000012e100004000000052e1000050000000a2e1000050000000f2e100005000000142e100004000000182e1000050000001d2e100003000000202e100004000000242e1000060000002a2e100007000000312e100005000000362e1000070000003d2e100006000000432e100006000000492e1000050000004e2e100005000000532e100006000000592e1000050000005e2e100003000000612e100006000000672e1000050000006c2e100007000000732e100004000000772e1000050000007c2e100007000000832e100006000000892e1000060000008f2e100007000000962e1000050000009b2e1000040000009f2e100006000000a52e100007000000ac2e100004000000b02e100006000000b62e100007000000bd2e100006000000c32e100007000000ca2e100007000000d12e100007000000d82e100005000000dd2e100004000000e12e100007000000e82e100007000000ef2e100006000000f52e100007000000fc2e100005000000012f100004000000052f1000050000000a2f100006000000102f100005000000152f1000050000001a2f1000050000001f2f100005000000242f100004000000282f1000070000002f2f100006000000352f100004000000392f1000060000003f2f100004000000432f100005000000482f1000040000004c2f100004000000502f100004000000542f1000060000005a2f1000040000005e2f100007000000652f100004000000692f100007000000702f100004000000742f100004000000782f1000050000007d2f100005000000822f100004000000862f100003000000892f1000060000008f2f100006000000952f100004000000992f1000060000009f2f100007000000a62f100003000000a92f100007000000b02f100007000000b72f100005000000bc2f100007000000c32f100004000000c72f100003000000ca2f100005000000cf2f100004000000d32f100005000000d82f100005000000dd2f100004000000e12f100005000000e62f100004000000ea2f100007000000f12f100004000000f52f100005000000fa2f100004000000fe2f1000040000000230100004000000063010000300000009301000060000000f30100004000000133010000400000017301000040000001b30100006000000213010000600000027301000040000002b301000060000003130100004000000353010000400000039301000070000004030100004000000443010000500000049301000060000004f30100004000000533010000400000057301000040000005b301000040000005f30100005000000643010000500000069301000050000006e30100004000000723010000500000077301000070000007e30100005000000833010000500000088301000050000008d30100004000000913010000400000095301000060000009b301000030000009e30100005000000a330100005000000a830100005000000ad30100004000000b130100004000000b5301000030000001205100058000000d7010000300000001205100058000000d9010000100000001205100058000000d2010000140000001205100058000000d3010000150000001205100058000000c50100000d00000012051000580000005a0200000d000000696e76616c6964206d6e656d6f6e696312051000580000004c0200003000000012051000580000005202000011000000000000000c000000040000000b00000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75650012051000580000004202000041000000416d626967756f75734c616e677561676573426164576f7264436f756e74556e6b6e6f776e576f7264426164456e74726f7079426974436f756e74496e76616c6964436865636b73756d6d6964203e206c656e00de711000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e7273f0711000840000004e0000001f000000f07110008400000048000000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300947210006f0000006203000009000000802f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f626974636f696e5f6861736865732d302e31332e302f7372632f7368613235362e72730000157310006500000023000000140000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f626c616b6532625f73696d642d312e302e322f7372632f706f727461626c652e72738c7310006400000096000000150000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f626c616b6532625f73696d642d312e302e322f7372632f6c69622e727300007410005f000000aa01000011000000007410005f000000ce01000017000000007410005f000000e501000016000000007410005f0000004e020000140000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f6465636f64652e72730000a07410005a000000c00100000b000000a07410005a000000ac010000200000004c61796f75744572726f722f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730000277510006f000000be0100001d0000000d0000000e0000000f00000010000000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f62797465732d312e31302e312f7372632f62797465732e7273203c3d2073706c69745f746f206f7574206f6620626f756e64733a20001b761000180000001776100004000000bc7510005b0000002e020000090000001200000013000000140000001500000016000000170000001800000019000000150000001a0000000000000000000000010000001b00000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500bc7510005b0000004805000032000000bc7510005b00000056050000490000001c0000001d0000001e0000001f000000200000006222225c6e5c725c745c0000f5761000010000005c305c7802771000020000000200000000000000000002000000000000000000200000e901000000000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273002c7710006f000000be0100001d00000061626f72742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f62797465732d312e31302e312f7372632f6c69622e72730000b1771000590000006e000000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f666d742f6e756d2e72731c781000700000004800000011000000307830623030303130323033303430353036303730383039313031313132313331343135313631373138313932303231323232333234323532363237323832393330333133323333333433353336333733383339343034313432343334343435343634373438343935303531353235333534353535363537353835393630363136323633363436353636363736383639373037313732373337343735373637373738373938303831383238333834383538363837383838393930393139323933393439353936393739383939617373657274696f6e206661696c65643a202a63757272203e2031391c781000700000003202000005000000010000000a00000064000000e803000010270000a086010040420f008096980000e1f50500ca9a3bc16ff2862300000081efac855b416d2dee040000011f6abf64ed386eed97a7daf4f93fe9034f1800013e952e0999df03fd38150f2fe47423ecf5cfd308dc04c4dab0cdbc197f33a603261fe94e020000017c2e985b87d3be729fd9d8872f1512c650de6b706e4acf0fd895d56e71b226b066c6ad2436151d5ad3423c0e54ff63c07355cc17eff965f228bc55f7c7dc80dced6ef4ceefdc5ff75305002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f666c74326465632f73747261746567792f647261676f6e2e7273617373657274696f6e206661696c65643a20642e6d616e74203e2030587a1000840000007600000005000000617373657274696f6e206661696c65643a20642e6d696e7573203e2030000000587a1000840000007700000005000000617373657274696f6e206661696c65643a20642e706c7573203e2030587a1000840000007800000005000000617373657274696f6e206661696c65643a206275662e6c656e2829203e3d204d41585f5349475f444947495453000000587a1000840000007b00000005000000587a100084000000c200000009000000587a100084000000fb0000000d000000587a1000840000000201000012000000617373657274696f6e206661696c65643a20642e6d616e742e636865636b65645f73756228642e6d696e7573292e69735f736f6d65282900587a1000840000007a00000005000000617373657274696f6e206661696c65643a20642e6d616e742e636865636b65645f61646428642e706c7573292e69735f736f6d6528290000587a1000840000007900000005000000587a1000840000000b01000005000000587a1000840000000c01000005000000587a1000840000000d01000005000000587a1000840000007201000024000000587a100084000000770100002f000000587a1000840000008401000012000000587a100084000000660100000d000000587a1000840000004c01000022000000587a1000840000000f01000005000000587a1000840000000e0100000500000030313233343536373839616263646566010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020202020202020202020202020202020202020202020202020202020203030303030303030303030303030303040404040400000000000000000000006578706c696369742070616e69630000147e10000e0000000100000000000000696e646578206f7574206f6620626f756e64733a20746865206c656e20697320206275742074686520696e646578206973200000347e100020000000547e10001200000000000000040000000400000026000000000000000400000004000000270000003d3d213d6d617463686573617373657274696f6e20606c6566742020726967687460206661696c65640a20206c6566743a200a2072696768743a2000a37e100010000000b37e100017000000ca7e10000900000020726967687460206661696c65643a200a20206c6566743a20000000a37e100010000000ec7e100010000000fc7e100009000000ca7e100009000000636f70795f66726f6d5f736c6963653a20736f7572636520736c696365206c656e67746820282920646f6573206e6f74206d617463682064657374696e6174696f6e20736c696365206c656e6774682028290000287f1000260000004e7f10002b000000797f100001000000987e10009a7e10009c7e10000200000002000000070000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f6469795f666c6f61742e72730000ac7f1000760000002e00000009000000000000000c0000000400000028000000290000002a00000020202020207b202c203a20207b0a2c0a7d207d28280a290a7b5b5d00df451a3d03cf1ae6c1fbccfe00000000cac69ac717fe70abdcfbd4fe000000004fdcbcbefcb177fff6fbdcfe000000000cd66b41ef9156be11fce4fe000000003cfc7f90ad1fd08d2cfcecfe00000000839a5531285c51d346fcf4fe00000000b5c9a6ad8fac719d61fcfcfe00000000cb8bee2377229cea7bfc04ff000000006d5378409149ccae96fc0cff0000000057ceb65d79123c82b1fc14ff000000003756fb4d369410c2cbfc1cff000000004f9848386fea9690e6fc24ff00000000c73a8225cb8574d700fd2cff00000000f497bf97cdcf86a01bfd34ff00000000e5ac2a17980a34ef35fd3cff000000008eb2352afb6738b250fd44ff000000003b3fc6d2dfd4c8846bfd4cff00000000bacdd31a2744ddc585fd54ff0000000096c925bbce9f6b93a0fd5cff0000000084a5627d246cacdbbafd64ff00000000f6da5f0d5866aba3d5fd6cff0000000026f1c3de93f8e2f3effd74ff00000000b880ffaaa8adb5b50afe7cff000000008b4a7c6c055f628725fe84ff000000005330c13460ffbcc93ffe8cff000000005526ba918c854e965afe94ff00000000bd7e29702477f9df74fe9cff000000008fb8e5b89fbddfa68ffea4ff00000000947d7488cf5fa9f8a9feacff00000000cf9ba88f937044b9c4feb4ff000000006b150fbff8f0088adffebcff00000000b63131655525b0cdf9fec4ff00000000ac7f7bd0c6e23f9914ffccff00000000063b2b2ac4105ce42effd4ff00000000d3927369992424aa49ffdcff000000000eca0083f2b587fd63ffe4ff00000000eb1a11926408e5bc7effecff00000000cc88506f09ccbc8c99fff4ff000000002c6519e25817b7d1b3fffcff00000000000000000000409cceff0400000000000000000010a5d4e8e8ff0c0000000000000062acc5eb78ad0300140000000000840994f878393f811e001c0000000000b31507c97bce97c03800240000000000705cea7bce327e8f53002c00000000006880e9aba438d2d56d0034000000000045229a1726274f9f88003c000000000027fbc4d431a263eda200440000000000a8adc88c3865deb0bd004c0000000000db65ab1a8e08c783d8005400000000009a1d7142f91d5dc4f2005c000000000058e71ba62c694d920d01640000000000ea8d701a64ee01da27016c00000000004a77ef9a99a36da24201740000000000856b7db47b7809f25c017c00000000007718dd79a1e454b47701840000000000c2c59b5b92865b8692018c00000000003d5d96c8c55335c8ac01940000000000b3a097fa5cb42a95c7019c0000000000e35fa099bd9f46dee101a40000000000258c39db34c29ba5fc01ac00000000005c9f98a3729ac6f61602b40000000000cebee95453bfdcb73102bc0000000000e24122f217f3fc884c02c40000000000a5785cd39bce20cc6602cc0000000000df53217bf35a16988102d400000000003a301f97dcb5a0e29b02dc000000000096b3e35c53d1d9a8b602e400000000003c44a7a4d97c9bfbd002ec00000000001044a4a74c4c76bbeb02f400000000001a9c40b6ef8eab8b0603fc00000000002c8457a610ef1fd02003040100000000293191e9e5a4109b3b030c01000000009d0c9ca1fb9b10e7550314010000000029f43b62d92028ac70031c010000000085cfa77a5e4b44808b032401000000002dddac0340e421bfa5032c01000000008fff445e2f9c678ec00334010000000041b88c9c9d1733d4da033c0100000000a91be3b492db199ef503440100000000d977dfba6ebf96eb0f044c01000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f666c74326465632f73747261746567792f67726973752e72730078851000830000007d00000015000000617373657274696f6e206661696c65643a20642e6d616e74203e20307885100083000000a900000005000000617373657274696f6e206661696c65643a20642e6d696e7573203e20300000007885100083000000aa00000005000000617373657274696f6e206661696c65643a20642e706c7573203e20307885100083000000ab00000005000000617373657274696f6e206661696c65643a206275662e6c656e2829203e3d204d41585f5349475f4449474954530000007885100083000000ae00000005000000617373657274696f6e206661696c65643a20642e6d616e74202b20642e706c7573203c202831203c3c203631290000007885100083000000af0000000500000078851000830000000a0100001100000078851000830000000d0100000900000078851000830000004001000009000000617373657274696f6e206661696c65643a20642e6d616e742e636865636b65645f73756228642e6d696e7573292e69735f736f6d652829007885100083000000ad00000005000000617373657274696f6e206661696c65643a20642e6d616e742e636865636b65645f61646428642e706c7573292e69735f736f6d65282900007885100083000000ac00000005000000617373657274696f6e206661696c65643a20216275662e69735f656d70747928290000007885100083000000dc01000005000000617373657274696f6e206661696c65643a20642e6d616e74203c202831203c3c203631297885100083000000dd010000050000007885100083000000de01000005000000010000000a00000064000000e803000010270000a086010040420f008096980000e1f50500ca9a3b788510008300000033020000110000007885100083000000360200000900000078851000830000006c020000090000007885100083000000e3020000260000007885100083000000ef020000260000007885100083000000cc02000026000000617474656d707420746f20646976696465206279207a65726f000000d488100019000000617474656d707420746f2063616c63756c617465207468652072656d61696e646572207769746820612064697669736f72206f66207a65726f000000f88810003900000072616e676520737461727420696e64657820206f7574206f662072616e676520666f7220736c696365206f66206c656e677468203c891000120000004e8910002200000072616e676520656e6420696e6465782080891000100000004e89100022000000736c69636520696e64657820737461727473206174202062757420656e64732061742000a089100016000000b68910000d00000000700007002d0101010201020101480b30151001650702060202010423011e1b5b0b3a09090118040109010301052b033b092a180120370101010408040103070a021d013a0101010204080109010a021a010202390104020402020303011e0203010b0239010405010204011402160601013a0101020104080107030a021e013b0101010c01090128010301370101030503010407020b021d013a01020201010303010407020b021c02390201010204080109010a021d0148010401020301010801510102070c08620102090b0749021b0101010101370e01050102050b0124090166040106010202021902040310040d01020206010f01000300041c031d021e02400201070801020b09012d030101750222017603040209010603db0202013a010107010101010208060a0201301f3104300a040326090c02200402063801010203010105380802029803010d0107040106010302c6400001c32100038d016020000669020004010a200250020001030104011902050197021a120d012608190b01012c03300102040202020124014306020202020c0108012f01330101030202050201012a020801ee010201040100010010101000020001e201950500030102050428030401a5020004410500024f04460b31047b01360f290102020a033104020207013d03240501083e010c0234090101080402015f030204060102019d01030815023902010101010c0109010e07030543010206010102010103040301010e025508020301011701510102060101020101020102eb010204060201021b025508020101026a0101010208650101010204010500090102f5010a040401900402020401200a280602040801090602032e0d010200070106010152160207010201027a06030101020107010148020301010100020b023405050317010001060f000c030300053b0700013f0451010b020002002e021700050306080802071e0494030037043208010e011605010f000701110207010201056401a00700013d040004fe0200076d07006080f000426f72726f774572726f72426f72726f774d75744572726f72616c726561647920626f72726f7765643a200000dc8c100012000000616c7265616479206d757461626c7920626f72726f7765643a200000f88c10001a000000757365722d70726f766964656420636f6d70617269736f6e2066756e6374696f6e20646f6573206e6f7420636f72726563746c7920696d706c656d656e74206120746f74616c206f726465721c8d10004c0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f7368617265642f736d616c6c736f72742e7273708d1000840000005c030000050000000003000083042000910560005d13a0001217201f0c20601fef2c202b2a30a02b6fa6602c02a8e02c1efbe02d00fe20369eff6036fd01e136010a2137240de137ab0e61392f18e139301ce14af31ee14e4034a1521e61e153f06a61544f6fe1549dbc615500cf615665d1a15600da215700e0a158aee2215aece4e15bd0e8615c2000ee5cf0017f5d2e2e63616c6c656420604f7074696f6e3a3a756e77726170282960206f6e206120604e6f6e65602076616c756500000001000000000000003a0000000100000000000000c48e100001000000c48e10000100000070616e69636b6564206174203a0a2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e72730000ee8e1000740000007105000012000000ee8e1000740000007105000028000000ee8e1000740000006406000015000000ee8e1000740000009206000015000000ee8e1000740000009306000015000000202831203c3c20290100000000000000b48f100007000000bb8f1000010000003a2000000100000000000000d48f1000020000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f6269676e756d2e727300e88f100073000000ab01000001000000617373657274696f6e206661696c65643a206e6f626f72726f77617373657274696f6e206661696c65643a20646967697473203c203430617373657274696f6e206661696c65643a206f74686572203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f666c74326465632f6d6f642e7273617373657274696f6e206661696c65643a20216275662e69735f656d707479282900be90100078000000bb00000005000000617373657274696f6e206661696c65643a206275665b305d203e206227302700be90100078000000bc00000005000000617373657274696f6e206661696c65643a2070617274732e6c656e2829203e3d20340000be90100078000000bd000000050000002e302e00be901000780000006801000005000000617373657274696f6e206661696c65643a206275662e6c656e2829203e3d204d41585f5349475f444947495453000000be9010007800000069010000050000002d2b4e614e696e6630000000be901000780000005a02000005000000617373657274696f6e206661696c65643a206275662e6c656e2829203e3d206d61786c656e000000be901000780000007e0200000d00000002020202020202020203030101010000000000000000000000000000000000000100000000000000020200000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f666d742f6d6f642e7273b4931000700000001f0700001f00000066616c736574727565000000b493100070000000990a000026000000b493100070000000a20a00001a0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f6d6f642e72735b2e2e2e5d626567696e203c3d20656e642028203c3d2029207768656e20736c6963696e67206060d59410000e000000e394100004000000e794100010000000f7941000010000006279746520696e64657820206973206e6f742061206368617220626f756e646172793b20697420697320696e7369646520202862797465732029206f66206000189510000b000000239510002600000049951000080000005195100006000000f794100001000000206973206f7574206f6620626f756e6473206f6620600000189510000b0000008095100016000000f79410000100000060941000700000009e0100002c0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f756e69636f64652f7072696e7461626c652e72730000c09510007a0000000a0000002b000000c09510007a0000001a00000036000000000601010301040205070702080809020a050b020e04100111021205131c140115021702190d1c051d081f0124016a046b02af03b102bc02cf02d102d40cd509d602d702da01e005e102e704e802ee20f004f802fa04fb010c273b3e4e4f8f9e9e9f7b8b9396a2b2ba86b1060709363d3e56f3d0d1041418363756577faaaeafbd35e01287898e9e040d0e11122931343a4546494a4e4f64658a8c8d8fb6c1c3c4c6cbd65cb6b71b1c07080a0b141736393aa8a9d8d909379091a8070a3b3e66698f92116f5fbfeeef5a62f4fcff53549a9b2e2f2728559da0a1a3a4a7a8adbabcc4060b0c151d3a3f4551a6a7cccda007191a22253e3fe7ecefffc5c604202325262833383a484a4c50535556585a5c5e606365666b73787d7f8aa4aaafb0c0d0aeaf6e6fddde935e227b0503042d036603012f2e80821d03310f1c0424091e052b0544040e2a80aa06240424042808340b4e03340c813709160a08183b45390363080930160521031b05014038044b052f040a070907402027040c0936033a051a07040c07504937330d33072e080a0626031d080280d0521003372c082a161a261c1417094e042409440d19070a0648082709750b423e2a063b050a06510601051003050b5908021d621e48080a80a65e22450b0a060d133a060a06141c2c041780b93c64530c48090a46451b4808530d49070a80b6220e0a06460a1d03474937030e080a0639070a813619073b031d55010f320d839b66750b80c48a4c630d843010160a8f9b0582479ab93a86c68239072a045c06260a460a28051381b03a80c65b654b0439071140050b020e97f80884d6290aa2e781330f011d060e0408818c89046b050d030907108f6080fa0681b44c4709743c80f60a73087015467a140c140c570919808781470385420f1584501f060680d52b053e2101702d031a040281401f113a050181d02a80d62b040181e080f7294c040a04028311444c3d80c23c06010455051b3402810e2c04640c560a80ae381d0d2c040907020e06809a83d80411030d0377045f060c04010f0c0438080a0628082c04023e81540c1d030a0538071c06090780fa840600010305050606020706080709110a1c0b190c1a0d100e0c0f0410031212130916011704180119031a071b011c021f1620032b032d0b2e01300431023201a704a902aa04ab08fa02fb05fd02fe03ff09ad78798b8da23057588b8c901cdd0e0f4b4cfbfc2e2f3f5c5d5fe2848d8e9192a9b1babbc5c6c9cadee4e5ff00041112293134373a3b3d494a5d848e92a9b1b4babbc6cacecfe4e500040d0e11122931343a3b4546494a5e646584919b9dc9cecf0d11293a3b4549575b5c5e5f64658d91a9b4babbc5c9dfe4e5f00d11454964658084b2bcbebfd5d7f0f183858ba4a6bebfc5c7cfdadb4898bdcdc6cecf494e4f57595e5f898e8fb1b6b7bfc1c6c7d71116175b5cf6f7feff806d71dedf0e1f6e6f1c1d5f7d7eaeaf4dbbbc16171e1f46474e4f585a5c5e7e7fb5c5d4d5dcf0f1f572738f747596262e2fa7afb7bfc7cfd7df9a00409798308f1fcecfd2d4ceff4e4f5a5b07080f10272feeef6e6f373d3f42459091536775c8c9d0d1d8d9e7feff00205f2282df048244081b04061181ac0e80ab051f08811c03190801042f043404070301070607110a500f1207550703041c0a090308030703020303030c0405030b06010e15054e071b0757070206170c500443032d03010411060f0c3a041d255f206d046a2580c80582b0031a0682fd03590716091809140c140c6a060a061a0659072b05460a2c040c040103310b2c041a060b0380ac060a062f3180f4083c030f033e0538082b0582ff1118082f112d03210f210f808c04829a160b158894052f053b07020e180980be22740c80d61a81100580e109f29e033709815c1480b80880dd153b030a06380846080c06740b1e035a0459098083181c0a16094c04808a06aba40c170431a10481da26070c050580a61081f50701202a064c04808d0480be031b030f0d617373657274696f6e206661696c65643a206c656e203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e727300001e9c10008000000065010000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702e727300b09c10007f000000c5070000460000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e7273000000409d100085000000a10100002e000000617373657274696f6e206661696c65643a20696478203c2043415041434954591e9c1000800000009502000009000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e686569676874202d20311e9c100080000000ad020000090000001e9c100080000000b102000009000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20656d70747920696e7465726e616c206e6f6465000000589e10003d0000001e9c100080000000460500001f000000617373657274696f6e206661696c65643a2073656c662e686569676874203e20300000001e9c1000800000006002000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e28291e9c1000800000004a070000050000001e9c100080000000c7040000230000001e9c1000800000000a05000024000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e6e6f64652e686569676874202d20310000001e9c100080000000fa03000009000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e202b20636f756e74203c3d204341504143495459001e9c100080000000f70500000d000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e74001e9c100080000000f80500000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64651e9c1000800000002706000016000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e202b20636f756e74203c3d20434150414349545900001e9c100080000000360600000d000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e203e3d20636f756e741e9c100080000000370600000d0000001e9c1000800000006706000016000000617373657274696f6e206661696c65643a206d6174636820747261636b5f656467655f696478207b0a202020204c6566744f7252696768743a3a4c6566742869647829203d3e20696478203c3d206f6c645f6c6566745f6c656e2c0a202020204c6566744f7252696768743a3a52696768742869647829203d3e20696478203c3d2072696768745f6c656e2c0a7d00001e9c100080000000c905000009000000617373657274696f6e206661696c65643a206e65775f6c6566745f6c656e203c3d20434150414349545900001e9c1000800000007c050000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273a0a110008400000058020000300000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730034a21000670000006e0400000f00000034a2100067000000a1040000100000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c69622e7273bca2100060000000a600000016000000bca2100060000000ab000000290000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c6f63616c5f6b65792e727300003ca310006600000021000000110000003ca310006600000023000000100000003ca310006600000028000000120000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300d4a310006f000000be0100001d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730054a410006f000000620300000900000054a410006f000000be0100001d0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6c6f6f6b75702e72730000e4a410005e0000004600000012000000000000000c0000000400000037000000380000005765206172652063616368696e67206120604e6f64654f776e65643a3a56616c75656020666f7220612076616c7565206e6f6465206861736820616e64207468697320636163686564206e6f64652068617320616c7761797320646174612061747461636865643b20716564e4a410005e00000079000000070000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6d6f642e72730000e4a51000620000004900000016000000000000001400000004000000390000003a000000604e6f64654f776e65643a3a56616c7565602063616e206e6f742062652072656163686564206279207573696e67207468652068617368206f662061206e6f64652e20604e6f64654f776e65643a3a56616c756560206973206f6e6c7920636f6e7374727563746564207768656e206c6f6164696e6720612076616c756520696e746f206d656d6f72792c207768696368206e6565647320746f2068617665206120646966666572656e742068617368207468616e20616e79206e6f64653b20716564006ca61000c3000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20000038a710002a000000e4a410005e000000d0020000070000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273007ca710006f000000be0100001d000000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f72656c61795f73746174655f736e617073686f742e727300fda7100066000000f800000024000000fda71000660000000401000023000000fda71000660000000d0100001d000000fda7100066000000010100001e00000006de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e3851cb6f36e027abb2091cfb5110ab5087f06155b3cd9a8c9e5e9a23fd5dc13a5ed52656c61794469737061746368517565756552656d61696e696e67436170616369747963756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a72656c61795f73746174655f736e617073686f744d6573736167696e675374617465536e617073686f742f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6e6f64655f636f6465632e72730052a9100055000000760000002800000052a91000550000007c0000002600000052a9100055000000a3000000280000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273d8a91000600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000048aa10007d000000d107000009000000d8a9100060000000240100001900000050617468206e6f742061737369676e6564000000d8a9100060000000b20000001e00000064696765737444696765737473746174655f726f6f74486173683a3a4f7574707574706172656e745f6861736865787472696e736963735f726f6f746e756d6265724e756d6265725665633c543e72656c61795f706172656e745f6e756d6265724e72656c61795f706172656e745f73746f726167655f726f6f74486d61785f706f765f73697a65753332706172656e745f68656164486561644461746173656e745f6174426c6f636b4e756d62657264617461616c6c6f633a3a7665633a3a5665633c75383e6d7367446f776e776172644d6573736167656d73675f636f756e74746f74616c5f6279746573756d705f6d73675f636f756e74756d705f746f74616c5f627974657368726d705f6f7574676f696e6742547265654d61703c5061726149642c2048726d704368616e6e656c5570646174653e72656d61696e696e675f636f756e7472656d61696e696e675f73697a65646d715f6d71635f6865616472656c61795f636861696e3a3a4861736872656c61795f64697370617463685f71756575655f72656d61696e696e675f636170616369747952656c61794469737061746368517565756552656d61696e696e674361706163697479696e67726573735f6368616e6e656c735665633c285061726149642c20416272696467656448726d704368616e6e656c293e6567726573735f6368616e6e656c73726576657273655f69647866756c6c5f6d657373616765735665633c4d6573736167653e6861736865645f6d657373616765735665633c4d6573736167653a3a436f6d707265737365644d6573736167653e76616c69646174696f6e5f6461746150657273697374656456616c69646174696f6e4461746172656c61795f636861696e5f737461746573705f747269653a3a53746f7261676550726f6f6672656c61795f706172656e745f64657363656e64616e74735665633c52656c61794865616465723e636f6c6c61746f725f706565725f69644f7074696f6e3c417070726f7665645065657249643e646f776e776172645f6d657373616765734162726964676564496e626f756e64446f776e776172644d65737361676573686f72697a6f6e74616c5f6d657373616765734162726964676564496e626f756e6448726d704d657373616765732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727354ae100084000000160200002f000000ffffffffffffffffe8ae1000000000000000000000000000456e7669726f6e6d656e74616c2065787465726e616c6974696573206e6f74207365742e2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f696d706c656d656e746174696f6e2e72730024af10006f0000002c0000002d000000506172656e74206865616420646f65736e2774206d61746368000000a4af10001900000024af10006f000000750100000500000052656c617920706172656e74206e756d62657220646f65736e2774206d61746368000000d8af10002100000024af10006f000000760100000500000052656c617920706172656e742073746f7261676520726f6f7420646f65736e2774206d617463680014b010002700000024af10006f0000007a010000050000005265636f7264657220697320616c77617973207365743b207165640024af10006f000000bf010000370000004e6f206f70656e207472616e73616374696f6e20746861742063616e20626520726f6c6c6564206261636b2e24af10006f000000d80100000a0000004e6f206f70656e207472616e73616374696f6e20746861742063616e20626520636f6d6d69747465642e000024af10006f000000dd0100000a0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6f64652e7273f8b010005c000000fd00000016000000f8b010005c000000e100000016000000000000000400000004000000430000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727384b1100084000000160200002f00000084b1100084000000a1000000240000006c696d697420666f72206465636c617265642068726d70206368616e6e656c206d7573742062652070726573656e743b207165642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f756e696e636c756465645f7365676d656e742e72735cb21000640000009b0000000e000000656e7472792773206265656e20696e736572746564206561726c69657220776974682060617070656e64603b207165645cb2100064000000f10000001200000048726d704368616e6e656c55706461746563756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a756e696e636c756465645f7365676d656e745573656442616e6477696474682f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e0000e5b310000900000061b31000840000004e0000001f00000061b3100084000000480000001700000042547265654d61704b564f7074696f6e544e6f6e65536f6d6548656164657273705f72756e74696d653a3a67656e657269633a3a6865616465724e756d62657248617368496e626f756e6448726d704d657373616765706f6c6b61646f745f636f72655f7072696d697469766573426c6f636b4e756d626572496e626f756e64446f776e776172644d6573736167652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727300a7b4100084000000c6000000270000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702e7273003cb510007f000000fa0000003f0000003cb510007f0000001f0100002e0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e727352656c617920636861696e20626c6f636b206e756d626572206e6565647320746f206d6f6e6f746f6e6963616c6c7920696e637265617365206265747765656e2050617261636861696e20626c6f636b73210031b6100052000000dcb5100055000000ad0000000d0000000000000004000000040000004a0000000000000004000000040000004b0000000000000004000000040000004c0000000000000004000000040000004d00000048617368207461626c65206361706163697479206f766572666c6f77dcb610001c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6861736862726f776e2d302e31352e332f7372632f7261772f6d6f642e727300000000b710006100000025000000280000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000074b710007d000000d107000009000000426f756e646564566563626f756e6465645f636f6c6c656374696f6e733a3a626f756e6465645f766563545350657273697374656456616c69646174696f6e44617461706f6c6b61646f745f7072696d6974697665733a3a7639484e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6f64652e727360b810005c00000089000000120000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300ccb810006f000000be0100001d000000496e626f756e644d657373616765496463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a70617261636861696e5f696e686572656e744162726964676564496e626f756e644d65737361676573436f6c6c656374696f6e4d657373616765426173696350617261636861696e496e686572656e7444617461496e626f756e644d65737361676573446174612f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000e4b910007d000000d1070000090000006e6f7420696d706c656d656e7465642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f747269655f6261636b656e642e72730083ba100060000000c60000000300000083ba1000600000009a000000030000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000004bb1000750000002e020000110000005c00000098000000080000005d0000005e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273a0bb1000600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000010bc10007d000000d107000009000000a0bb100060000000240100001900000050617468206e6f742061737369676e6564000000a0bb100060000000b20000001e0000004f7074696f6e544e6f6e65536f6d65726563697069656e74496464617461616c6c6f633a3a7665633a3a5665633c75383e7570776172645f6d657373616765735665633c5570776172644d6573736167653e686f72697a6f6e74616c5f6d657373616765735665633c4f7574626f756e6448726d704d6573736167653e6e65775f76616c69646174696f6e5f636f64654f7074696f6e3c72656c61795f636861696e3a3a56616c69646174696f6e436f64653e70726f6365737365645f646f776e776172645f6d6573736167657375333268726d705f77617465726d61726b72656c61795f636861696e3a3a426c6f636b4e756d626572686561645f6461746148656164446174614f7574626f756e6448726d704d657373616765706f6c6b61646f745f636f72655f7072696d697469766573496463756d756c75735f7072696d6974697665735f636f7265436f6c6c6174696f6e496e666f2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300002dbe1000750000002e020000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000014bf10007d000000d107000009000000b4be100060000000240100001900000050617468206e6f742061737369676e6564000000b4be100060000000b20000001e00000073656e745f617452656c6179436861696e426c6f636b4e756d6265726d73675f6861736873705f636f72653a3a4832353652656c6179486173682f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e72730012c01000750000002e020000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730098c0100067000000f70000000f00000063756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e744861736865644d6573736167654d6573736167655175657565436861696e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273000053c11000670000006e0400000f00000053c1100067000000a10400001000000053c1100067000000f70000000f00000008000000080000000800000004000000617373657274696f6e206661696c65643a206c656e203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e727300000015c210008000000065010000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e7273000000a8c2100085000000a10100002e000000617373657274696f6e206661696c65643a20696478203c20434150414349545915c21000800000009502000009000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e686569676874202d203115c2100080000000ad0200000900000015c2100080000000b102000009000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20656d70747920696e7465726e616c206e6f6465000000c0c310003d00000015c2100080000000460500001f000000617373657274696f6e206661696c65643a2073656c662e686569676874203e203000000015c21000800000006002000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e282915c21000800000004a0700000500000015c2100080000000c70400002300000015c21000800000000a05000024000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e6e6f64652e686569676874202d203100000015c2100080000000fa03000009000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e202b20636f756e74203c3d2043415041434954590015c2100080000000f70500000d000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e740015c2100080000000f80500000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f646515c21000800000002706000016000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e202b20636f756e74203c3d204341504143495459000015c2100080000000360600000d000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e203e3d20636f756e7415c2100080000000370600000d00000015c21000800000006706000016000000617373657274696f6e206661696c65643a206d6174636820747261636b5f656467655f696478207b0a202020204c6566744f7252696768743a3a4c6566742869647829203d3e20696478203c3d206f6c645f6c6566745f6c656e2c0a202020204c6566744f7252696768743a3a52696768742869647829203d3e20696478203c3d2072696768745f6c656e2c0a7d000015c2100080000000c905000009000000617373657274696f6e206661696c65643a206e65775f6c6566745f6c656e203c3d204341504143495459000015c21000800000007c050000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727308c7100084000000580200003000000008c7100084000000300200002f0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273acc71000600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000001cc810007d000000d107000009000000acc7100060000000240100001900000050617468206e6f742061737369676e6564000000acc7100060000000b20000001e0000005b75383b2033325d4163636f756e74496e6465785b75383b2032305d5665633c75383e4163636f756e74496465787472696e736963735665633c45787472696e7369633e6865616465724865616465725665633c4f706171756545787472696e7369633e73746174655f726f6f74486173683a3a4f7574707574706172656e745f6861736865787472696e736963735f726f6f746469676573744469676573746e756d6265724e756d62657241757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f7773207468655375646f207573657220746f20737065636966792074686520776569676874206f66207468652063616c6c2e546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e008cc910004d000000d9c910004b00000024ca10002c000000010000000000000050ca1000330000005065726d616e656e746c792072656d6f76657320746865207375646f206b65792e2a2a546869732063616e6e6f7420626520756e2d646f6e652e2a2aacca1000210000000100000000000000cdca10001b0000008cc910004d00000041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d6120676976656e206163636f756e742e0008cb1000530000005bcb100010000000010000000000000050ca10003300000041757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f6b65792e008ccb100057000000e3cb10000400000063616c6c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e77686f4163636f756e7449644c6f6f6b75704f663c543e7765696768745765696768746e657753656e646572206d75737420626520746865205375646f206163636f756e742e0000000000000041cc10002000000041205b7375646f5f61735d2850616c6c65743a3a7375646f5f6173292063616c6c206a75737420746f6f6b20706c6163652e00000000000070cc100032000000546865207375646f206b657920686173206265656e20757064617465642e0000b0cc10001e000000546865206b657920776173207065726d616e656e746c792072656d6f7665642ed8cc10002000000041207375646f2063616c6c206a75737420746f6f6b20706c6163652e0000000000cd10001c000000543a3a4163636f756e744964546865206e6577207375646f206b657920286966206f6e652077617320736574292e000034cd1000220000007375646f5f726573756c744469737061746368526573756c7454686520726573756c74206f66207468652063616c6c206d61646520627920746865207375646f20757365722e000079cd10002d0000006f6c644f7074696f6e3c543a3a4163636f756e7449643e546865206f6c64207375646f206b657920286966206f6e65207761732070726576696f75736c7920736574292e00000000c7cd10002d000000543a3a4e6f6e6365457261646174614163636f756e744461746170726f766964657273526566436f756e74636f6e73756d6572736e6f6e63654e6f6e636573756666696369656e7473746f706963735665633c543e706861736550686173656576656e7445636865636b5f76657273696f6e626f6f6c636f64655f68617368543a3a4861736850726f766964652074686520707265696d616765202872756e74696d652062696e617279292060636f64656020666f7220616e2075706772616465207468617420686173206265656e20617574686f72697a65642e49662074686520617574686f72697a6174696f6e20726571756972656420612076657273696f6e20636865636b2c20746869732063616c6c2077696c6c20656e73757265207468652073706563206e616d6572656d61696e7320756e6368616e67656420616e6420746861742074686520737065632076657273696f6e2068617320696e637265617365642e446570656e64696e67206f6e207468652072756e74696d65277320604f6e536574436f64656020636f6e66696775726174696f6e2c20746869732066756e6374696f6e206d6179206469726563746c79206170706c79746865206e65772060636f64656020696e207468652073616d6520626c6f636b206f7220617474656d707420746f207363686564756c652074686520757067726164652e416c6c206f726967696e732061726520616c6c6f7765642e00000086ce1000550000000100000000000000dbce1000520000002dcf10003a000000010000000000000067cf100056000000bdcf100044000000010000000000000001d010001800000053657420736f6d65206974656d73206f662073746f726167652e000064d010001a00000053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e000088d010003e0000004d616b6520736f6d65206f6e2d636861696e2072656d61726b2e43616e20626520657865637574656420627920657665727920606f726967696e602ed0d010001a0000000100000000000000ead01000220000004b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e2a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e64657274686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e00000024d1100044000000010000000000000068d110004e000000b6d110004f0000004d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e0000000000000028d210002900000053657420746865206e65772072756e74696d6520636f64652e0000000000000060d2100019000000417574686f72697a6520616e207570677261646520746f206120676976656e2060636f64655f686173686020666f72207468652072756e74696d652e205468652072756e74696d652063616e20626520737570706c6965646c617465722e546869732063616c6c20726571756972657320526f6f74206f726967696e2e00000088d2100058000000e0d21000060000000100000000000000e6d210001f00000053657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e4e6f746520746861742072756e74696d652075706772616465732077696c6c206e6f742072756e20696620746869732069732063616c6c656420776974682061206e6f742d696e6372656173696e67207370656376657273696f6e21000028d310004600000001000000000000006ed3100054000000c2d31000080000004b696c6c20736f6d65206974656d732066726f6d2073746f726167652e00000000000000ecd310001d0000005741524e494e473a205468697320617574686f72697a657320616e207570677261646520746861742077696c6c2074616b6520706c61636520776974686f757420616e792073616665747920636865636b732c20666f726578616d706c652074686174207468652073706563206e616d652072656d61696e73207468652073616d6520616e642074686174207468652076657273696f6e206e756d62657220696e637265617365732e204e6f747265636f6d6d656e64656420666f72206e6f726d616c207573652e205573652060617574686f72697a655f757067726164656020696e73746561642e00000088d2100058000000e0d2100006000000010000000000000018d41000570000006fd4100056000000c5d410003c0000000100000000000000e6d210001f000000636f64657375626b65797375333272656d61726b6b6579735665633c4b65793e7072656669784b657970616765737536346974656d735665633c4b657956616c75653e546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e000000000087d5100034000000546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d65616e6420746865206e65772072756e74696d652ec8d51000440000000cd6100014000000546865207375626d697474656420636f6465206973206e6f7420617574686f72697a65642e00000030d61000250000005468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6560d61000500000000cd610001400000054686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e000000c0d610004d000000537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e0018d710003f0000004661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e4569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e00000060d710003b00000001000000000000009bd71000420000004e6f207570677261646520617574686f72697a65642e0000f8d710001600000041206d756c74692d626c6f636b206d6967726174696f6e206973206f6e676f696e6720616e642070726576656e7473207468652063757272656e7420636f64652066726f6d206265696e67207265706c616365642e00000018d8100055000000416e20696e76616c696420617574686f72697a65642075706772616465207761732072656a6563746564207768696c6520747279696e6720746f206170706c792069742e0000000078d8100044000000416e206163636f756e7420776173207265617065642e0000c8d8100016000000416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e00000000e8d8100024000000416e20757067726164652077617320617574686f72697a65642e00000000000018d910001a000000603a636f6465602077617320757064617465642e0000000040d910001400000041206e6577206163636f756e742077617320637265617465642e00000000000060d910001a000000416e2065787472696e736963206661696c65642e0000000088d91000140000004f6e206f6e2d636861696e2072656d61726b2068617070656e65642e00000000a8d910001c0000006163636f756e7464697370617463685f696e666f44697370617463684576656e74496e666f73656e64657264697370617463685f6572726f7244697370617463684572726f726572726f7268617368616d6f756e7442616c616e63656964496442546e6f726d616c6f7065726174696f6e616c6d616e6461746f727953657420686f77206d756368206f66207468652072656d61696e696e67206070726f6f665f73697a6560207765696768742073686f756c6420626520636f6e73756d656420627920606f6e5f69646c65602e60312e3060206d65616e73207468617420616c6c2072656d61696e696e67206070726f6f665f73697a65602077696c6c20626520636f6e73756d65642e2054686520506f562062656e63686d61726b696e67726573756c74732074686174206172652075736564206865726520617265206c696b656c7920616e206f7665722d657374696d6174696f6e2e203130302520696e74656e64656420636f6e73756d7074696f6e2077696c6c7468657265666f7265207472616e736c61746520746f206c657373207468616e20313030252061637475616c20636f6e73756d7074696f6e2e4f6e6c792063616c6c61626c6520627920526f6f74206f72206041646d696e4f726967696e602e4cda10005200000001000000000000009eda100052000000f0da10005800000048db100039000000010000000000000081db100027000000496e697469616c697a65207468652070616c6c65742e2053686f756c642062652063616c6c6564206f6e63652c206966206e6f2067656e65736973207374617465207761732070726f76696465642e6063757272656e745f636f756e7460206973207468652063757272656e74206e756d626572206f6620656c656d656e747320696e2060547261736844617461602e20546869732063616e2062652073657420746f604e6f6e6560207768656e207468652070616c6c657420697320666972737420696e697469616c697a65642e4f6e6c792063616c6c61626c6520627920526f6f74206f72206041646d696e4f726967696e602e204120676f6f642064656661756c7420666f7220606e65775f636f756e74602069732060355f303030602e000000e0db10004f00000001000000000000002fdc10005400000083dc10002c0000000100000000000000afdc10005200000053657420686f77206d756368206f662074686520626c6f636b206c656e6774682073686f756c642062652066696c6c656420776974682074726173682064617461206f6e206561636820626c6f636b2e60312e3060206d65616e73207468617420616c6c20626c6f636b2073686f756c642062652066696c6c65642e2049662073657420746f2060312e30602c2073746f726167652070726f6f662073697a652077696c6c20626520636c6f736520746f207a65726f2e0034dd100050000000010000000000000084dd100055000000d9dd100012000000010000000000000081db10002700000053657420686f77206d756368206f66207468652072656d61696e696e6720607265665f74696d6560207765696768742073686f756c6420626520636f6e73756d656420627920606f6e5f69646c65602e1cde100050000000010000000000000081db100027000000496e6372656173652074686520626c6f636b2073697a6520627920696e636c7564696e67207468652073706563696669656420676172626167652062797465732e00000084de1000410000006e65775f636f756e747769746e6573735f636f756e744f7074696f6e3c7533323e636f6d707574654669786564553634626c6f636b5f6c656e677468676172626167655665633c5b75383b2056414c55455f53495a455d3e73746f72616765546865206c696d697420776173206f766572205b6063726174653a3a5245534f555243455f484152445f4c494d4954605d2e000000000000002fdf1000320000005468652070616c6c65742077617320616c726561647920696e697469616c697a65642e53657420607769746e6573735f636f756e746020746f2060536f6d656020746f206279706173732074686973206572726f722e000070df100023000000010000000000000093df100033000000726573657276656466726f7a656e66726565666c6167734578747261466c616773726561736f6e73526561736f6e734c6f636b4964656e746966696572526573657276654964656e74696669657245786163746c7920617320607472616e736665725f616c6c6f775f6465617468602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e746d6179206265207370656369666965642e002ee010005800000086e0100011000000556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e43616e206f6e6c792062652063616c6c656420627920524f4f542e00a8e010002c0000000100000000000000d4e010001b0000005472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e4e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e732074686174616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062657472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f726167656465706f736974732c206574632e2e2e546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e2d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e2d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c20206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f7220207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746f20206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e00000008e1100041000000010000000000000049e11000560000009fe1100058000000f7e11000570000004ee21000510000009fe21000100000000100000000000000afe21000300000000100000000000000dfe210002800000007e31000560000005de3100053000000b0e310005600000006e410002700000053616d6520617320746865205b607472616e736665725f616c6c6f775f6465617468605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f746b696c6c20746865206f726967696e206163636f756e742e393925206f66207468652074696d6520796f752077616e74205b607472616e736665725f616c6c6f775f6465617468605d20696e73746561642e5b607472616e736665725f616c6c6f775f6465617468605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e73666572a8e4100056000000fee4100018000000010000000000000016e510003a000000010000000000000050e510003c0000005365742074686520726567756c61722062616c616e6365206f66206120676976656e206163636f756e742e546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e00bce510002b0000000100000000000000e7e510002c00000041646a7573742074686520746f74616c2069737375616e636520696e20612073617475726174696e67207761792e43616e206f6e6c792062652063616c6c656420627920726f6f7420616e6420616c77617973206e65656473206120706f736974697665206064656c7461602e23204578616d706c6500002ce610002e00000001000000000000005ae610003f000000010000000000000099e61000090000004275726e2074686520737065636966696564206c697175696420667265652062616c616e63652066726f6d20746865206f726967696e206163636f756e742e496620746865206f726967696e2773206163636f756e7420656e64732075702062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c746f6620746865206275726e20616e6420606b6565705f616c697665602069732066616c73652c20746865206163636f756e742077696c6c206265207265617065642e556e6c696b652073656e64696e672066756e647320746f2061205f6275726e5f20616464726573732c207768696368206d6572656c79206d616b6573207468652066756e647320696e61636365737369626c652c7468697320606275726e60206f7065726174696f6e2077696c6c2072656475636520746f74616c2069737375616e63652062792074686520616d6f756e74205f6275726e65645f2e0000cce610003f00000001000000000000000be710004900000054e7100042000000010000000000000096e7100054000000eae71000480000005472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e607472616e736665725f616c6c6f775f6465617468602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e4966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c746f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e006ce81000350000000100000000000000a1e810004d000000eee810004400000032e910002c00000001000000000000005ee910004500000055706772616465206120737065636966696564206163636f756e742e2d20606f726967696e603a204d75737420626520605369676e6564602e2d206077686f603a20546865206163636f756e7420746f2062652075706772616465642e546869732077696c6c20776169766520746865207472616e73616374696f6e20666565206966206174206c6561737420616c6c2062757420313025206f6620746865206163636f756e7473206e656564656420746f62652075706772616465642e20285765206c657420736f6d65206e6f74206861766520746f206265207570677261646564206a75737420696e206f7264657220746f20616c6c6f7720666f7220746865706f73736962696c697479206f6620636875726e292edce910001c0000000100000000000000f8e910001d00000015ea100024000000010000000000000039ea1000550000008eea100050000000deea100016000000646972656374696f6e41646a7573746d656e74446972656374696f6e5665633c543a3a4163636f756e7449643e76616c7565543a3a42616c616e63656b6565705f616c6976656465737464656c7461736f757263656e65775f66726565412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742e0000000091eb1000330000005472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e742e00000000d0eb10002400000042656e6566696369617279206163636f756e74206d757374207072652d65786973742e000000000000ec10002300000042616c616e636520746f6f206c6f7720746f2073656e642076616c75652e000030ec10001e00000056616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f7369742e000000000058ec10003b0000004e756d626572206f6620667265657a65732065786365656420604d6178467265657a6573602e0000a0ec1000260000005468652069737375616e63652063616e6e6f74206265206d6f6469666965642073696e636520697420697320616c72656164792064656163746976617465642ed0ec1000400000004e756d626572206f66206e616d65642072657365727665732065786365656420604d61785265736572766573602e000018ed10002e0000004163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e00000000000050ed10003200000056657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c75652e0090ed1000270000004e756d626572206f6620686f6c647320657863656564206056617269616e74436f756e744f663c543a3a52756e74696d65486f6c64526561736f6e3e602e0000c0ed10003e0000005468652064656c74612063616e6e6f74206265207a65726f2e0000000000000008ee1000190000005472616e73666572207375636365656465642e000000000030ee10001300000054686520607472616e73666572726564602062616c616e636520697320706c61636564206f6e20686f6c642061742074686520606465737460206163636f756e742e00000000000050ee100042000000536f6d652062616c616e6365207761732066726f7a656e2ea0ee100018000000536f6d652062616c616e636520776173207468617765642ec0ee100018000000536f6d6520616d6f756e74207761732073757370656e6465642066726f6d20616e206163636f756e74202869742063616e20626520726573746f726564206c61746572292e000000e0ee100045000000546f74616c2069737375616e636520776173206465637265617365642062792060616d6f756e74602c206372656174696e672061206465627420746f2062652062616c616e6365642e0000000000000030ef100049000000546f74616c2069737375616e63652077617320696e637265617365642062792060616d6f756e74602c206372656174696e6720612063726564697420746f2062652062616c616e6365642e000000000088ef10004b000000536f6d652062616c616e63652077617320706c61636564206f6e20686f6c642ee0ef10002000000048656c642062616c616e636520776173206275726e65642066726f6d20616e206163636f756e742e08f0100028000000536f6d652062616c616e636520776173206c6f636b65642e38f01000180000005468652060546f74616c49737375616e6365602077617320666f72636566756c6c79206368616e6765642e000000000058f010002b000000536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e000090f0100036000000536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742e46696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e000000d0f010005300000023f1100036000000536f6d652062616c616e6365207761732072656c65617365642066726f6d20686f6c642e6cf1100024000000536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e98f1100040000000536f6d6520616d6f756e7420776173206d696e74656420696e746f20616e206163636f756e742e00e0f1100027000000416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c726573756c74696e6720696e20616e206f75747269676874206c6f73732e00000010f210004f0000005ff210001e000000536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e0090f2100047000000536f6d652062616c616e63652077617320756e6c6f636b65642e000000000000e0f210001a00000041207472616e73666572206f662060616d6f756e7460206f6e20686f6c642066726f6d2060736f757263656020746f206064657374602077617320696e697469617465642e00000008f3100045000000536f6d6520637265646974207761732062616c616e63656420616e6420616464656420746f2074686520546f74616c49737375616e63652e58f3100038000000536f6d6520616d6f756e7420776173206275726e65642066726f6d20616e206163636f756e742e0098f3100027000000416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e0000c8f310002e000000536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e00000000000000f410003a000000412062616c616e6365207761732073657420627920726f6f742e00000000000048f410001a000000416e206163636f756e74207761732075706772616465642e70f4100018000000536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e90f4100038000000536f6d65206465627420686173206265656e2064726f707065642066726f6d2074686520546f74616c2049737375616e63652e0000000000d0f4100033000000536f6d6520616d6f756e742077617320726573746f72656420696e746f20616e206163636f756e742e0000000000000010f5100029000000416e20756e65787065637465642f646566656e73697665206576656e7420776173207472696767657265642e0000000048f510002c000000746f667265655f62616c616e6365726561736f6e543a3a52756e74696d65486f6c64526561736f6e556e65787065637465644b696e647472616e7366657272656466726f6d64657374696e6174696f6e5f737461747573537461747573536574207468652063757272656e742074696d652e546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e70686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e5468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062795b60436f6e6669673a3a4d696e696d756d506572696f64605d2e546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f4e6f6e655f2e5468697320646973706174636820636c617373206973205f4d616e6461746f72795f20746f20656e73757265206974206765747320657865637574656420696e2074686520626c6f636b2e20426520617761726574686174206368616e67696e672074686520636f6d706c6578697479206f6620746869732063616c6c20636f756c6420726573756c742065786861757374696e6720746865207265736f757263657320696e2061626c6f636b20746f206578656375746520616e79206f746865722063616c6c732e232320436f6d706c65786974792d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f28312960292d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f283129602062656361757365206f6620604469645570646174653a3a74616b656020696e2020606f6e5f66696e616c697a6560292d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e00ddf51000150000000100000000000000f2f510005500000047f610003500000001000000000000007cf6100050000000ccf610001a0000000100000000000000e6f6100031000000010000000000000017f71000540000006bf7100054000000bff71000210000000100000000000000e0f710000d000000edf710004c00000039f81000550000008ef81000100000009ef81000350000006e6f77543a3a4d6f6d656e7472656c61795f706172656e745f6e756d6265724e6d61785f706f765f73697a65706172656e745f68656164486561644461746172656c61795f706172656e745f73746f726167655f726f6f7448726563697069656e74616c6c6f633a3a7665633a3a5665633c75383e42616c616e63654f663c543e41207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c686173206265656e2070616964206279206077686f602e0000edf910005600000043fa10001700000074697061637475616c5f66656553757365645f62616e6477696474685573656442616e647769647468706172615f686561645f686173684f7074696f6e3c483e636f6e73756d65645f676f5f61686561645f7369676e616c4f7074696f6e3c72656c61795f636861696e3a3a55706772616465476f41686561643e68726d705f77617465726d61726b4f7074696f6e3c72656c61795f636861696e3a3a426c6f636b4e756d6265723e536574207468652063757272656e742076616c69646174696f6e20646174612e546869732073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e7068617365206966207468652063616c6c20776173206e6f7420696e766f6b65642e546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e7460417320612073696465206566666563742c20746869732066756e6374696f6e207570677261646573207468652063757272656e742076616c69646174696f6e2066756e6374696f6e69662074686520617070726f7072696174652074696d652068617320636f6d652e15fb100020000000010000000000000035fb10005000000085fb1000220000000100000000000000a7fb1000340000000100000000000000dbfb10004800000023fc1000210000006d6573736167655570776172644d657373616765426173696350617261636861696e496e686572656e7444617461696e626f756e645f6d657373616765735f64617461496e626f756e644d65737361676573446174614e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642ee2fc10003600000054686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b2e00000000000020fd10004a00000054686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b2e0078fd100047000000417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e672e0000c8fd100046000000506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e2e000000000018fe10005300000054686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f7420697377696c6c696e6720746f2072756e2e78fe100051000000c9fe10000f000000416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e0000e8fe10002e0000005468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e0000000020ff10002c000000446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742e58ff100038000000536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e98ff1000400000005468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e00000000000000e0ff1000510000005468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e0000000040001100340000006d6573736167655f686173684f7074696f6e3c58636d486173683e636f756e74646d715f6865616472656c61795f636861696e3a3a4861736872656c61795f636861696e5f626c6f636b5f6e756d52656c6179436861696e426c6f636b4e756d6265727765696768745f757365642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273000000ee0011006f000000be0100001d00000041207465737420646973706174636861626c6520666f722073657474696e67206120637573746f6d2068656164206461746120696e206076616c69646174655f626c6f636b602e007001110047000000637573746f6d5f6865616465724120646973706174636861626c6520746861742066697273742072656164732074776f2076616c7565732066726f6d2074776f20646966666572656e74206368696c642074726965732c20617373657274732074686579617265207468652065787065637465642076616c75657320286966207468652076616c75657320657869737420696e207468652073746174652920616e64207468656e207772697465732074776f20646966666572656e7476616c75657320746f207468657365206368696c642074726965732ecd0111005700000024021100580000007c0211001c00000052656164732061206b657920616e64207772697465732061206269672076616c756520756e6465722074686973206b65792e41742067656e65736973207468697320606b65796020697320656d70747920616e6420746875732c2077696c6c206f6e6c792062652073657420696e20636f6e73657175656e7420626c6f636b732e000000b0021100320000000100000000000000e20211004f00000053746f726573206028296020696e2060546573744d61706020666f72206b6579732066726f6d203020757020746f20606d61785f6b6579602e0000004c031100390000006d61785f6b657952656d6f766573207468652076616c7565206173736f636961746564207769746820606b6579602066726f6d2060546573744d6170602e000097031100370000006b657973656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e496e666f2c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5375646f2c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5465737450616c6c65742c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c476c7574746f6e2c2052756e74696d653e6672616d655f73797374656d3a3a4572726f723c52756e74696d653e63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4572726f723c52756e74696d653e70616c6c65745f62616c616e6365733a3a4572726f723c52756e74696d653e70616c6c65745f7375646f3a3a4572726f723c52756e74696d653e70616c6c65745f676c7574746f6e3a3a4572726f723c52756e74696d653e6672616d655f73797374656d3a3a4576656e743c52756e74696d653e63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e70616c6c65745f7375646f3a3a4576656e743c52756e74696d653e70616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e70616c6c65745f676c7574746f6e3a3a4576656e740000000000000400000004000000b1000000000000000400000004000000b2000000496e626f756e6448726d704d65737361676573656e745f6174646174612f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6d706163742e72730000000000000000000000000000736869667465642073756666696369656e74206269747320726967687420746f206c656164206f6e6c79206c656164696e67207a65726f733b20716564000000680911003d000000f1081100690000008601000005000000496e626f756e64446f776e776172644d6573736167656d73670000000000000000000000000000000000000000000000f108110069000000b401000005000000426c6f636b73705f72756e74696d653a3a67656e657269633a3a626c6f636b48656164657245787472696e7369634c617a79426c6f636b73705f72756e74696d653a3a67656e657269633a3a6865616465724e756d626572486173684964416d6f756e746672616d655f737570706f72743a3a7472616974733a3a746f6b656e733a3a6d697363496442616c616e63652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300900a110067000000f70000000f000000426f756e646564566563626f756e6465645f636f6c6c656374696f6e733a3a626f756e6465645f76656354532f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f626f756e6465642d636f6c6c656374696f6e732d302e332e322f7372632f626f756e6465645f7665632e72730000340b11006e000000660200000b0000005765616b426f756e646564566563626f756e6465645f636f6c6c656374696f6e733a3a7765616b5f626f756e6465645f76656350657273697374656456616c69646174696f6e44617461706f6c6b61646f745f7072696d6974697665733a3a7639484e4f7574626f756e6448726d704d657373616765706f6c6b61646f745f636f72655f7072696d6974697665730000b30000000c00000004000000b40000004e756d626572206f6620757077617264206d657373616765732073686f756c64206e6f742062652067726561746572207468616e20604d41585f5550574152445f4d4553534147455f4e554d602f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f696d706c656d656e746174696f6e2e7273a10c11006f0000001101000009000000a10c11006f0000000701000020000000416e636573746f7263756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a756e696e636c756465645f7365676d656e745365676d656e74547261636b65722f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f756e696e636c756465645f7365676d656e742e7273000000790d11006400000075010000040000002829436f726553656c6563746f7241626f7274476f4168656164436c61696d51756575654f66667365742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730000001a0e11006f000000be0100001d000000000000000400000004000000b50000004861736865644d6573736167656d73675f68617368000000000000002000000001000000b6000000000000000400000004000000b7000000706172656e745f686173686e756d62657273746174655f726f6f7465787472696e736963735f726f6f74646967657374080000000800000008000000040000007d436865636b4e6f6e5a65726f53656e6465724368617267655472616e73616374696f6e5061796d656e74436865636b4e6f6e6365436865636b576569676874736565642047656e6572617465206120736574206f662073657373696f6e206b6579732077697468206f7074696f6e616c6c79207573696e672074686520676976656e20736565642e20546865206b6579732073686f756c642062652073746f7265642077697468696e20746865206b657973746f7265206578706f736564207669612072756e74696d652065787465726e616c69746965732e205468652073656564206e6565647320746f20626520612076616c69642060757466386020737472696e672e2052657475726e732074686520636f6e636174656e61746564205343414c4520656e636f646564207075626c6963206b6579732e67656e65726174655f73657373696f6e5f6b657973656e636f646564204465636f64652074686520676976656e207075626c69632073657373696f6e206b6579732e2052657475726e7320746865206c697374206f66207075626c696320726177207075626c6963206b657973202b206b657920747970652e6465636f64655f73657373696f6e5f6b6579732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300ea1011007d000000d1070000090000002053657373696f6e206b6579732072756e74696d65206170692e53657373696f6e4b6579736865616465722053746172747320746865206f66662d636861696e207461736b20666f7220676976656e20626c6f636b206865616465722e6f6666636861696e5f776f726b657220546865206f6666636861696e20776f726b6572206170692e4f6666636861696e576f726b65724170696672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f6e6f6e6365546672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f776569676874457863656564656420626c6f636b206c656e677468206c696d69743a20203e2000005a1211001d00000077121100030000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f657874656e73696f6e732f636865636b5f7765696768742e727372756e74696d653a3a73797374656d45787472696e7369632077697468206c656e67746820696e636c75646564202069732067726561746572207468616e20746865206d61782065787472696e73696320fa1211001f0000001913110023000000457863656564656420746865207065722d636c61737320616c6c6f77616e63652e0000004c13110021000000546f74616c20626c6f636b207765696768742069732065786365656465642e00781311001f000000416c6c2077656967687420636865636b656420616464206f766572666c6f772ea0131100200000006672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f6e6f6e5f7a65726f5f73656e6465724163636f756e74496e666f6672616d655f73797374656d4e6f6e63654163636f756e74446174614576656e745265636f726445436f646555706772616465417574686f72697a6174696f6e496d62616c616e63656672616d655f737570706f72743a3a7472616974733a3a746f6b656e733a3a66756e6769626c653a3a696d62616c616e6365424f6e44726f704f70706f736974654f6e44726f703078436f727275707465642073746174652061742060603a20009414110014000000a8141100030000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f756e6861736865642e727372756e74696d653a3a73746f726167656672616d655f737570706f72743a3a73746f726167653a3a756e6861736865645065724469737061746368436c6173736672616d655f737570706f72743a3a646973706174636865787472696e736963204170706c792074686520676976656e2065787472696e7369632e2052657475726e7320616e20696e636c7573696f6e206f7574636f6d652077686963682073706563696669657320696620746869732065787472696e73696320697320696e636c7564656420696e207468697320626c6f636b206f72206e6f742e6170706c795f65787472696e7369632046696e697368207468652063757272656e7420626c6f636b2e66696e616c697a655f626c6f636b696e686572656e742047656e657261746520696e686572656e742065787472696e736963732e2054686520696e686572656e7420646174612077696c6c20766172792066726f6d20636861696e20746f20636861696e2e696e686572656e745f65787472696e73696373626c6f636b6461746120436865636b20746861742074686520696e686572656e7473206172652076616c69642e2054686520696e686572656e7420646174612077696c6c20766172792066726f6d20636861696e20746f20636861696e2e636865636b5f696e686572656e7473205468652060426c6f636b4275696c646572602061706920747261697420746861742070726f7669646573207468652072657175697265642066756e6374696f6e616c69747920666f72206275696c64696e67206120626c6f636b2e426c6f636b4275696c6465722052657475726e732074686520736c6f74206475726174696f6e20666f7220417572612e2043757272656e746c792c206f6e6c79207468652076616c75652070726f7669646564206279207468697320747970652061742067656e657369732077696c6c20626520757365642e736c6f745f6475726174696f6e2052657475726e207468652063757272656e7420736574206f6620617574686f7269746965732e617574686f72697469657320415049206e656365737361727920666f7220626c6f636b20617574686f7273686970207769746820617572612e417572614170692f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273004818110067000000f70000000f0000006a736f6e204275696c64206052756e74696d6547656e65736973436f6e666967602066726f6d2061204a534f4e20626c6f62206e6f74207573696e6720616e792064656661756c747320616e642073746f726520697420696e207468652073746f726167652e20496e207468652063617365206f662061204652414d452d62617365642072756e74696d652c20746869732066756e6374696f6e20646573657269616c697a6573207468652066756c6c206052756e74696d6547656e65736973436f6e666967602066726f6d2074686520676976656e204a534f4e20626c6f6220616e64207075747320697420696e746f207468652073746f726167652e204966207468652070726f7669646564204a534f4e20626c6f6220697320696e636f7272656374206f7220696e636f6d706c657465206f722074686520646573657269616c697a6174696f6e206661696c732c20616e206572726f722069732072657475726e65642e20506c65617365206e6f746520746861742070726f7669646564204a534f4e20626c6f62206d75737420636f6e7461696e20616c6c206052756e74696d6547656e65736973436f6e66696760206669656c64732c206e6f2064656661756c74732077696c6c20626520757365642e6275696c645f737461746569642052657475726e732061204a534f4e20626c6f6220726570726573656e746174696f6e206f6620746865206275696c742d696e206052756e74696d6547656e65736973436f6e66696760206964656e74696669656420627920606964602e204966206069646020697320604e6f6e6560207468652066756e6374696f6e2073686f756c642072657475726e204a534f4e20626c6f6220726570726573656e746174696f6e206f66207468652064656661756c74206052756e74696d6547656e65736973436f6e6669676020737472756374206f66207468652072756e74696d652e20496d706c656d656e746174696f6e206d7573742070726f766964652064656661756c74206052756e74696d6547656e65736973436f6e666967602e204f74686572776973652066756e6374696f6e2072657475726e732061204a534f4e20726570726573656e746174696f6e206f6620746865206275696c742d696e2c206e616d6564206052756e74696d6547656e65736973436f6e6669676020707265736574206964656e74696669656420627920606964602c206f7220604e6f6e656020696620737563682070726573657420646f6573206e6f742065786973742e2052657475726e656420605665633c75383e6020636f6e7461696e73206279746573206f66204a534f4e20626c6f62202870617463682920776869636820636f6d7072697365732061206c697374206f662028706f74656e7469616c6c79206e657374656429206b65792d76616c756520706169727320746861742061726520696e74656e64656420666f7220637573746f6d697a696e67207468652064656661756c742072756e74696d652067656e6573697320636f6e6669672e20546865207061746368207368616c6c206265206d657267656420287266633733383629207769746820746865204a534f4e20726570726573656e746174696f6e206f66207468652064656661756c74206052756e74696d6547656e65736973436f6e6669676020746f20637265617465206120636f6d70726568656e736976652067656e6573697320636f6e66696720746861742063616e206265207573656420696e20606275696c645f737461746560206d6574686f642e6765745f7072657365742052657475726e732061206c697374206f66206964656e7469666965727320666f7220617661696c61626c65206275696c74696e206052756e74696d6547656e65736973436f6e6669676020707265736574732e2054686520707265736574732066726f6d20746865206c6973742063616e20626520717565726965642077697468205b6047656e657369734275696c6465723a3a6765745f707265736574605d206d6574686f642e204966206e6f206e616d65642070726573657473206172652070726f7669646564206279207468652072756e74696d6520746865206c69737420697320656d7074792e7072657365745f6e616d65732041504920746f20696e7465726163742077697468206052756e74696d6547656e65736973436f6e6669676020666f72207468652072756e74696d6547656e657369734275696c646572736f757263657478626c6f636b5f686173682056616c696461746520746865207472616e73616374696f6e2e2054686973206d6574686f6420697320696e766f6b656420627920746865207472616e73616374696f6e20706f6f6c20746f206c6561726e2064657461696c732061626f757420676976656e207472616e73616374696f6e2e2054686520696d706c656d656e746174696f6e2073686f756c64206d616b65207375726520746f207665726966792074686520636f72726563746e657373206f6620746865207472616e73616374696f6e20616761696e73742063757272656e742073746174652e2054686520676976656e2060626c6f636b5f686173686020636f72726573706f6e647320746f207468652068617368206f662074686520626c6f636b207468617420697320757365642061732063757272656e742073746174652e204e6f7465207468617420746869732063616c6c206d617920626520706572666f726d65642062792074686520706f6f6c206d756c7469706c652074696d657320616e64207472616e73616374696f6e73206d6967687420626520766572696669656420696e20616e7920706f737369626c65206f726465722e76616c69646174655f7472616e73616374696f6e2054686520605461676765645472616e73616374696f6e5175657565602061706920747261697420666f7220696e746572666572696e67207769746820746865207472616e73616374696f6e2071756575652e5461676765645472616e73616374696f6e5175657565696e636c756465645f68617368736c6f742057686574686572206974206973206c6567616c20746f20657874656e642074686520636861696e2c20617373756d696e672074686520676976656e20626c6f636b20697320746865206d6f737420726563656e746c7920696e636c75646564206f6e652061732d6f66207468652072656c617920706172656e7420746861742077696c6c206265206275696c7420616761696e73742c20616e642074686520676976656e2072656c617920636861696e20736c6f742e20546869732073686f756c6420626520636f6e73697374656e74207769746820746865206c6f676963207468652072756e74696d652075736573207768656e2076616c69646174696e6720626c6f636b7320746f2061766f6964206973737565732e205768656e2074686520756e696e636c75646564207365676d656e7420697320656d7074792c20692e652e2060696e636c756465645f68617368203d3d206174602c2077686572652061742069732074686520626c6f636b2077686f736520737461746520776520617265207175657279696e6720616761696e73742c2074686973206d75737420616c776179732072657475726e20607472756560206173206c6f6e672061732074686520736c6f74206973206d6f726520726563656e74207468616e2074686520696e636c7564656420626c6f636b20697473656c662e63616e5f6275696c645f75706f6e20546869732072756e74696d6520415049206973207573656420746f20696e666f726d20706f74656e7469616c20626c6f636b20617574686f7273207768657468657220746865792077696c6c20686176652074686520726967687420746f20617574686f72206174206120736c6f742c20617373756d696e672074686579206861766520636c61696d65642074686520736c6f742e20496e20706172746963756c61722c20746869732041504920616c6c6f777320417572612d62617365642070617261636861696e7320746f20726567756c6174652074686569722022756e696e636c75646564207365676d656e74222c207768696368206973207468652073656374696f6e206f66207468652068656164206f662074686520636861696e20776869636820686173206e6f7420796574206265656e206d61646520617661696c61626c6520696e207468652072656c617920636861696e2e205768656e2074686520756e696e636c75646564207365676d656e742069732073686f72742c204175726120636861696e732077696c6c20616c6c6f7720617574686f727320746f20637265617465206d756c7469706c6520626c6f636b732070657220736c6f7420696e206f7264657220746f206275696c642061206261636b6c6f672e205768656e206974206973207361747572617465642c2074686973204150492077696c6c206c696d69742074686520616d6f756e74206f6620626c6f636b7320746861742063616e20626520637265617465642e204368616e6765733a202d2056657273696f6e20323a2055706461746520746f206063616e5f6275696c645f75706f6e6020746f2074616b6520612072656c617920636861696e2060536c6f746020696e7374656164206f6620612070617261636861696e2060536c6f74602e41757261556e696e636c756465645365676d656e7441706920476574207468652074617267657420626c6f636b207261746520666f7220746869732070617261636861696e2e2052657475726e732074686520746172676574206e756d626572206f6620626c6f636b73207065722072656c617920636861696e20736c6f742e7461726765745f626c6f636b5f726174652041504920666f722070617261636861696e2074617267657420626c6f636b20726174652e20546869732072756e74696d652041504920616c6c6f7773207468652070617261636861696e2072756e74696d6520746f20636f6d6d756e6963617465207468652074617267657420626c6f636b207261746520746f20746865206e6f646520736964652e205468652074617267657420626c6f636b207261746520697320616c776179732076616c696420666f7220746865206e6578742072656c617920636861696e20736c6f742e205468652072756e74696d652063616e206e6f7420656e666f72636520746869732074617267657420626c6f636b20726174652e204974206f6e6c7920616374732061732061206d6178696d756d2c20627574206e6f74206d6f72652e20496e2074686520656e6420697420646570656e6473206f6e2074686520636f6c6c61746f7220686f77206d616e7920626c6f636b732077696c6c2062652070726f64756365642e20496620746865726520617265206e6f20636f72657320617661696c61626c65206f722074686520636f6c6c61746f72206973206f66666c696e652c206e6f20626c6f636b7320617420616c6c2077696c6c2062652070726f64756365642e546172676574426c6f636b52617465205265747269657665207468652070617261636861696e206964207573656420666f722072756e74696d652e70617261636861696e5f69642052756e74696d6520617069207573656420746f206163636573732067656e6572616c20696e666f2061626f757420612070617261636861696e2072756e74696d652e47657450617261636861696e496e666f20436f6c6c65637420696e666f726d6174696f6e2061626f7574206120636f6c6c6174696f6e2e2054686520676976656e2060686561646572602069732074686520686561646572206f6620746865206275696c7420626c6f636b20666f7220746861742077652061726520636f6c6c656374696e672074686520636f6c6c6174696f6e20696e666f20666f722e636f6c6c6563745f636f6c6c6174696f6e5f696e666f2052756e74696d652061706920746f20636f6c6c65637420696e666f726d6174696f6e2061626f7574206120636f6c6c6174696f6e2e2056657273696f6e20686973746f72793a202d2056657273696f6e20323a204368616e676564205b6053656c663a3a636f6c6c6563745f636f6c6c6174696f6e5f696e666f605d207369676e6174757265202d2056657273696f6e20333a205369676e616c7320746f20746865206e6f646520746f207573652076657273696f6e2031206f66205b6050617261636861696e426c6f636b44617461605d2e436f6c6c656374436f6c6c6174696f6e496e666f2046657463682074686520736c6f74206f666673657420746861742069732065787065637465642066726f6d207468652072656c617920636861696e2e72656c61795f706172656e745f6f66667365742041504920746f2074656c6c20746865206e6f6465207369646520686f77207468652072656c617920706172656e742073686f756c642062652063686f73656e2e2041206c6172676572206f666673657420696e646963617465732074686174207468652072656c617920706172656e742073686f756c64206e6f742062652074686520746970206f66207468652072656c617920636861696e2c2062757420604e6020626c6f636b7320626568696e6420746865207469702e2054686973206f6666736574206973207468656e20656e666f72636564206279207468652072756e74696d652e52656c6179506172656e744f666673657441706970616c6c65745f7472616e73616374696f6e5f7061796d656e742f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7472616e73616374696f6e2d7061796d656e742f7372632f6c69622e7273626f756e6465645f776569676874206973206e6f6e2d7a65726f3b207165640000000a2c1100580000007a030000210000006163636f756e74204765742063757272656e74206163636f756e74206e6f6e6365206f6620676976656e20604163636f756e744964602e6163636f756e745f6e6f6e6365205468652041504920746f207175657279206163636f756e74206e6f6e63652e4163636f756e744e6f6e63654170692f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273072d1100750000002e020000110000005965734e6f4572726f722052657475726e73207468652076657273696f6e206f66207468652072756e74696d652e76657273696f6e20457865637574652074686520676976656e20626c6f636b2e657865637574655f626c6f636b20496e697469616c697a65206120626c6f636b20776974682074686520676976656e2068656164657220616e642072657475726e207468652072756e74696d6520657865637574697665206d6f64652e696e697469616c697a655f626c6f636b205468652060436f7265602072756e74696d65206170692074686174206576657279205375627374726174652072756e74696d65206e6565647320746f20696d706c656d656e742e436f72652052657475726e7320746865206d65746164617461206f6620612072756e74696d652e6d657461646174612052657475726e7320746865206d65746164617461206174206120676976656e2076657273696f6e2e2049662074686520676976656e206076657273696f6e602069736e277420737570706f727465642c20746869732077696c6c2072657475726e20604e6f6e65602e20557365205b6053656c663a3a6d657461646174615f76657273696f6e73605d20746f2066696e64206f75742061626f757420737570706f72746564206d657461646174612076657273696f6e206f66207468652072756e74696d652e6d657461646174615f61745f76657273696f6e2052657475726e732074686520737570706f72746564206d657461646174612076657273696f6e732e20546869732063616e206265207573656420746f2063616c6c20606d657461646174615f61745f76657273696f6e602e6d657461646174615f76657273696f6e732054686520604d65746164617461602061706920747261697420746861742072657475726e73206d6574616461746120666f72207468652072756e74696d652e4d657461646174612f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f696f2f636f72652e72730000004a30110063000000470000000e00000043616c6c5061796d656e744675747572655374616c6542616450726f6f66416e6369656e744269727468426c6f636b45786861757374735265736f7572636573437573746f6d4261644d616e6461746f72794d616e6461746f727956616c69646174696f6e4261645369676e6572496e64657465726d696e617465496d706c69636974556e6b6e6f776e4f726967696e43616e6e6f744c6f6f6b75704e6f556e7369676e656456616c696461746f722b746573745f72756e74696d655f757067726164655f6b65792b2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f6c69622e727300008931110049000000e2010000090000006175726189311100490000007b0000000100000063756d756c75735f746573745f72756e74696d6563756d756c75732d746573742d70617261636861696e0000df6acb689907609b05000000d7bdd8a272ca0d650200000004e70521a0d3d2f801000000dd718d5cc53262d40100000037e397fc7c91f5e402000000bc9d89904f5b923f0100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b010000007dc23ff6bf0f15ca01000000ea93e3f16f3d696203000000fbc577b9d747efd601000000a2ddb6a58477bf6301000000ad694c0c2537478a01000000000000800c32110016000000000000800c3211001600000000000080243211000f00000001000000020000000100000001000000010000002052657475726e7320746865206c6173742074696d657374616d70206f6620612072756e74696d652e6765745f6c6173745f74696d657374616d704765744c61737454696d657374616d7000000000000000000001000000da000000db000000dc000000000000000000000001000000da000000dc000000dc0000005765696768745265636c61696d4175726145787441757261476c7574746f6e5465737450616c6c65745472616e73616374696f6e5061796d656e745375646f42616c616e63657350617261636861696e496e666f54696d657374616d7050617261636861696e53797374656d53797374656d0000893111004900000095010000010000007375646f3a6301020304636865636b5f65787472696e7369637328293a20556e61626c6520746f206465636f64652065787472696e7369631a3411002e00000052756e74696d65486f6c64526561736f6e73797374656d70617261636861696e53797374656d70617261636861696e496e666f62616c616e6365737472616e73616374696f6e5061796d656e747465737450616c6c6574676c7574746f6e617572614578740000006134110006000000673411000f000000763411000d000000833411000800000010341100040000008b341100120000009d3411000a000000a734110007000000e431110004000000ae341100070000007374727563742052756e74696d6547656e65736973436f6e66696752756e74696d6543616c6c52756e74696d654572726f7252756e74696d654576656e7452756e74696d65000000310000003100000051000000310000003100000031000000520000003100000031000000310000003100000011000000310000001100000031000000310000002100000011000000110000003100000031000000310000003100000021000000310000003100000051000000510000003100000002000000030000000300000003000000080000000300000003000000030000000400000004000000040000000300000003000000030000000300000004000000020000000800000008000000080000000400000053746f726167655765696768745265636c61696d3c7761736d2d73747269707065643ee29c85206e6f206d6967726174696f6e20666f72203b361100150000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f617572612f7372632f6c69622e727372756e74696d653a3a6672616d652d737570706f727470616c6c65745f617572613a3a70616c6c65742f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7375646f2f7372632f6c69622e727370616c6c65745f7375646f3a3a70616c6c65740000ff00000018000000040000000001000000000000040000000400000001010000496e626f756e644d6573736167657344617461646f776e776172645f6d65737361676573686f72697a6f6e74616c5f6d65737361676573417574686f72697a6543616c6c2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f756e636865636b65645f65787472696e7369632e727300000000000000040000000400000002010000000000000400000004000000030100000000000004000000040000000401000048726d704d657373616765734f766572666c6f77726563697069656e746d657373616765735f72656d61696e696e676d657373616765735f7375626d697474656448726d7042797465734f766572666c6f7762797465735f72656d61696e696e6762797465735f7375626d6974746564556d704d657373616765734f766572666c6f77556d7042797465734f766572666c6f77496e76616c696448726d7057617465726d61726b7375626d69747465646c617465737455706772616465476f4168656164416c726561647950726f636573736564f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e205468652070616c6c657420686173206e6f20646566696e65642073746f726167652076657273696f6e2c20736f20746865206f6e2d636861696e2076657273696f6e206973206265696e6720696e697469616c697a656420746f202e0000fc381100100000000c3911007500000081391100010000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70617261636861696e732f70616c6c6574732f70617261636861696e2d696e666f2f7372632f6c69622e727373746167696e675f70617261636861696e5f696e666f3a3a70616c6c657405010000340000000400000006010000070100000c0000000400000008010000090100000c000000040000000a0100000000000004000000040000000b010000426173696350617261636861696e496e686572656e744461746176616c69646174696f6e5f6461746172656c61795f636861696e5f737461746572656c61795f706172656e745f64657363656e64616e7473636f6c6c61746f725f706565725f6964737973693133333873797369313333376e6578745f6b65792072657475726e65642061206b65792077697468206e6f2076616c75652061742000ca3a1100290000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f6d6f642e72736672616d655f737570706f72743a3a73746f72616765286b65792c2076616c756529206661696c656420746f206465636f6465206174203a20000000663b110021000000873b110002000000fc3a11005400000057040000350000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7472616e73616374696f6e2d7061796d656e742f7372632f6c69622e727370616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a70616c6c657400005836110049000000740100001800000054696d657374616d7020736c6f74206d757374206d61746368206043757272656e74536c6f74602e2054686973206c696b656c79206d65616e7320746861742074686520636f6e6669677572656420626c6f636b2074696d6520696e20746865206e6f646520616e642f6f722072657374206f66207468652072756e74696d65206973206e6f7420636f6d70617469626c652077697468204175726127732060536c6f744475726174696f6e60000000383c1100ad0000005836110049000000a1010000030000000000000008000000040000000c010000496e697469616c20617574686f7269747920736574206d757374206265206c657373207468616e20543a3a4d6178417574686f7269746965730000005836110049000000de00000006000000417574686f7269746965732061726520616c726561647920696e697469616c697a6564215c3d1100240000005836110049000000dc00000004000000205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e20546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e205468652063757272656e7420617574686f72697479207365742e2054686520736c6f74206475726174696f6e20417572612073686f756c642072756e20776974682c2065787072657373656420696e206d696c6c697365636f6e64732e20546865206566666563746976652076616c7565206f66207468697320747970652073686f756c64206e6f74206368616e6765207768696c652074686520636861696e2069732072756e6e696e672e20466f72206261636b776172647320636f6d7061746962696c6974792065697468657220757365205b604d696e696d756d506572696f6454696d657354776f605d206f72206120636f6e73742e536c6f744475726174696f6e20546865206964656e746966696572207479706520666f7220616e20617574686f726974792e417574686f726974794964617574686f72697469657300143f11000b0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f6c69622e72732054686520604163636f756e74496460206f6620746865207375646f206b65792e2041207375646f2d61626c652063616c6c2e52756e74696d6543616c6c6b6579b13f11000300000043616c6c3a3a7375646f00000000000004000000040000000d01000063616c6c43616c6c3a3a7375646f5f756e636865636b65645f776569676874000000000004000000040000000e01000077656967687443616c6c3a3a7365745f6b657900000000000400000004000000eb0000006e657743616c6c3a3a7375646f5f617377686f43616c6c3a3a72656d6f76655f6b657943616c6c54436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e0054401100430000007375646f7375646f5f756e636865636b65645f7765696768747365745f6b65797375646f5f617372656d6f76655f6b65794572726f724572726f7220666f7220746865205375646f2070616c6c65742ed64011001a000000526571756972655375646f4576656e7454686520604576656e746020656e756d206f6620746869732070616c6c657400084111001f00000053756469644b65794368616e6765644b657952656d6f7665645375646f4173446f6e652f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e727363756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a70616c6c6574436f756c64206e6f742066696e6420616e2041755261207365616c20646967657374212f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f617572612d6578742f7372632f6c69622e727300f24111004d0000009400000013000000436f756c64206e6f742066696e64204175526120617574686f7220696e64657821000000f24111004d0000009900000004000000496e76616c6964204175526120617574686f7220696e6465782020666f7220617574686f7269746965733a20844211001a0000009e42110012000000f24111004d000000a000000005000000496e76616c69642041755261207365616c000000d042110011000000f24111004d000000a400000004000000426172655369676e6564282c2029000000431100070000000743110002000000094311000100000047656e6572616c282443110008000000074311000200000009431100010000006672616d655f73797374656d3a3a657874656e73696f6e733a3a617574686f72697a655f63616c6c4c6f676963206572726f723a20556e657870656374656420756e646572666c6f7720696e207265647563696e6720636f6e73756d657200006c4311003600000072756e74696d653a3a73797374656d6672616d655f73797374656d4c6f676963206572726f723a20556e657870656374656420756e646572666c6f7720696e207265647563696e672070726f7669646572000000c7431100360000004c6f676963206572726f723a204163636f756e7420616c72656164792064656164207768656e207265647563696e672070726f76696465720844110038000000020020646574656374656420696e207468652072756e74696d652e20496e697469616c697a696e6720746865206f6e2d636861696e2073746f726167652076657273696f6e20746f206d61746368207468652073746f726167652076657273696f6e20646566696e656420696e207468652070616c6c65743a200000fc381100100000004a441100780000000f0100000c0000000400000010010000000000000400000004000000110100004162726964676564496e626f756e644d65737361676573436f6c6c656374696f6e66756c6c5f6d657373616765736861736865645f6d65737361676573000000120100000c0000000400000013010000000000000400000004000000140100002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f67656e657261746f722f6d61702e72730000544511005e0000004400000017000000556e636865636b656445787472696e736963000015010000a00000001000000016010000707265616d626c651701000090000000100000001801000066756e6374696f6e73705f72756e74696d653a3a67656e657269633a3a756e636865636b65645f65787472696e736963416464726573735369676e617475726545787472610000008c371100690000004c020000140000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273005846110067000000f70000000f0000004576656e74546f7069637352657365727665732f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f74797065732f6d61702e7273000000e34611005a000000010200000b000000546573744d61704c6f636b7345787472696e73696344617461467265657a65735472617368446174614163636f756e74426c6f636b48617368486f6c64737374727563742047656e65736973436f6e66696750726f6f66207265636f7264696e6720656e61626c656420647572696e6720707265706172652c206e6f772064697361626c65642e20546869732073686f756c64206e6f742068617070656e2e5265636c61696d696e672073746f72616765207765696768742e2062656e63686d61726b65643a202c0a09090909636f6e73756d65643a2000ef4711002800000017481100100000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f7765696768742d7265636c61696d2f7372632f6c69622e7273003848110053000000e30000000400000072756e74696d653a3a73746f726167655f7265636c61696d5f70616c6c657463756d756c75735f70616c6c65745f7765696768745f7265636c61696d42656e63686d61726b65642073746f726167652077656967687420736d616c6c6572207468616e20636f6e73756d65642073746f72616765207765696768742e2062656e63686d61726b65643a2020636f6e73756d65643a20000000d84811004e000000264911000b0000003848110053000000dd0000000400000053746f726167655765696768745265636c61696d3848110053000000890000000900000070617261636861696e496400784911000b0000006d756c7469706c69657200008c4911000a000000536c6f74206d757374206e6f742064656372656173650000a0491100160000005836110049000000850000000600000058361100490000008d0000001c0000002054686520604f6e4368617267655472616e73616374696f6e602073746f726573207468652077697468647261776e2074782066656520686572652e20557365206077697468647261775f74786665656020616e64206072656d61696e696e675f74786665656020746f206163636573732066726f6d206f757473696465207468652063726174652e204120666565206d756c7469706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f737420746865697220607072696f726974796020546869732076616c7565206973206d756c7469706c69656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c6174657220616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c602065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e20606060727573742c69676e6f7265202f2f20466f7220604e6f726d616c60206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b202f2f20466f7220604f7065726174696f6e616c60206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723b206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b20606060204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970602073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d70206261736564206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c60207472616e73616374696f6e732e4f7065726174696f6e616c4665654d756c7469706c6965725472616e73616374696f6e46656550616964546865206054785061796d656e7443726564697460207761732073746f726564206265747765656e20626c6f636b732e20546869732069732061206275672e094e11003f00000072756e74696d653a3a74787061796d656e744d697373696e67207265717569726564207365745f76616c69646174696f6e5f6461746120696e686572656e742e205468697320696e686572656e74206d7573742062650a0909090970726573656e7420696e20657665727920626c6f636b2e2054686973206572726f72207479706963616c6c79206f6363757273207768656e20746865207365745f76616c69646174696f6e5f646174610a09090909657865637574696f6e206661696c656420616e64207761732072656a65637465642062792074686520626c6f636b206275696c6465722e20436865636b206561726c696572206c6f6720656e74726965730a09090909666f7220746865207370656369666963206361757365206f6620746865206661696c7572652e534111005500000017010000290000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000008c4f11007d000000d10700000900000000000000100000000400000019010000756e696e636c75646564207365676d656e74206c696d69747320657863656564656400005341110055000000bf010000070000004f6e6c792020697320737570706f727465642061732076616c696420636c61696d207175657565206f666673657400006050110005000000655011002900000053411100550000001e020000060000006043756d756c75734469676573744974656d3a3a436f7265496e666f60206d757374206578697374206174206d6178206f6e63652e000000b05011003500000053411100550000002702000006000000532f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f70617261636861696e5f696e686572656e742e727300000001511100640000008a000000210000005b5d20416476616e63656d656e742072756c652076696f6c6174696f6e3a206d616e6461746f7279206d65737361676573206d697373696e67000000785111000100000079511100380000000151110064000000b700000003000000205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e20557077617264207369676e616c73207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e7420746f207468652072656c617920636861696e2e20546869732077696c6c20626520636c656172656420696e20606f6e5f66696e616c697a656020666f72206561636820626c6f636b2e20546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e20546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d657373616765732063617272696564206279207468652073797374656d20696e686572656e742e2054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e20617320706572207468652072656c617920706172656e742e2054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a656020666f722065616368206e657720626c6f636b2e205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e20496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e20417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b73705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f44455d2077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e20536565206050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f646174616020666f72206d6f726520696e666f726d6174696f6e2e2054686520666163746f7220746f206d756c7469706c792074686520626173652064656c69766572792066656520627920666f7220554d502e20546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e20546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e636520627920746865205b6050616c6c65743a3a7365745f76616c69646174696f6e5f64617461605d20696e686572656e742e2048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e20546865206c6173742070726f63657373656420646f776e77617264206d6573736167652e205765206e65656420746f206b65657020747261636b206f66207468697320746f2066696c74657220746865206d6573736167657320746861742068617665206265656e20616c72656164792070726f6365737365642e205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e20546865206c6173742070726f6365737365642048524d50206d6573736167652e205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e2054686973206973207570646174656420696e20606f6e5f66696e616c697a65602e204f7074696f6e616c207570677261646520676f2d6168656164207369676e616c2066726f6d207468652072656c61792d636861696e2e20546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468652072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c7565206973207365742061667465722074686520696e686572656e742e2053746f72616765206669656c642074686174206b6565707320747261636b206f662062616e64776964746820757365642062792074686520756e696e636c75646564207365676d656e7420616c6f6e67207769746820746865206c61746573742048524d502077617465726d61726b2e205573656420666f72206c696d6974696e672074686520616363657074616e6365206f66206e657720626c6f636b732077697468207265737065637420746f2072656c617920636861696e20636f6e73747261696e74732e20557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e7420746f207468652072656c617920636861696e2e20546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e20416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e20496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365642063616e6469646174652077696c6c20626520696e76616c69642e20546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f7220616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e2057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f204c617465737420696e636c7564656420626c6f636b2064657363656e64616e7473207468652072756e74696d652061636365707465642e20496e206f7468657220776f7264732c2074686573652061726520616e636573746f7273206f66207468652063757272656e746c7920657865637574696e6720626c6f636b2077686963682068617665206e6f74206265656e20696e636c7564656420696e20746865206f627365727665642072656c61792d636861696e2073746174652e20546865207365676d656e74206c656e677468206973206c696d69746564206279207468652063617061636974792072657475726e65642066726f6d20746865205b60436f6e73656e737573486f6f6b605d20636f6e6669677572656420696e207468652070616c6c65742e2048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e2056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e6420636f6e73657175656e746c79207468652072656c61792d636861696e2e20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c726561647920736574207468652076616c75652e2052657475726e73207468652070617261636861696e204944207765206172652072756e6e696e6720776974682e53656c6650617261496443616c6c3a3a7365745f76616c69646174696f6e5f646174610000000004000000040000001a010000646174610000000004000000040000001b010000696e626f756e645f6d657373616765735f6461746143616c6c3a3a7375646f5f73656e645f7570776172645f6d65737361676500000000000400000004000000b20000006d6573736167657365745f76616c69646174696f6e5f646174617375646f5f73656e645f7570776172645f6d65737361676554686520604572726f726020656e756d206f6620746869732070616c6c65742e00000000000062611100200000004f7665726c617070696e67557067726164657350726f686962697465644279506f6c6b61646f74546f6f42696756616c69646174696f6e446174614e6f74417661696c61626c65486f7374436f6e66696775726174696f6e4e6f74417661696c61626c654e6f745363686564756c656456616c69646174696f6e46756e6374696f6e53746f72656456616c69646174696f6e46756e6374696f6e4170706c69656456616c69646174696f6e46756e6374696f6e446973636172646564446f776e776172644d657373616765735265636569766564446f776e776172644d6573736167657350726f6365737365645570776172644d65737361676553656e74000000000000010000000000000048524d502068656164206d69736d6174636800009c621100120000005341110055000000cb040000040000005b48524d505d204d65737361676573206f726465722076696f6c6174696f6e00c86211001f0000005341110055000000da040000040000004f6e65206f6620746865206d65737361676573207375626d69747465642062792074686520636f6c6c61746f72207761732073656e742066726f6d20612073656e646572202829207468617420646f65736e277420686176652061206368616e6e656c206f70656e656420746f20746869732070617261636861696e006311004600000046631100360000005341110055000000e304000003000000696e636c756465642068656164206e6f742070726573656e7420696e2072656c61792073746f726167652070726f6f669c6311003000000053411100550000005705000015000000657870656374656420706172656e7420746f20626520696e636c756465640000e46311001e000000534111005500000049050000050000006e6f207370616365206c65667420666f722074686520626c6f636b20696e2074686520756e696e636c75646564207365676d656e740000001c6411003500000053411100550000008105000003000000444d51444d512068656164206d69736d617463686f641100110000005341110055000000b60400000300000048524d500000000004000000040000001c0100000000000004000000040000001d0100000000000004000000040000001e0100002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273cc641100840000004e00000035000000cc641100840000004f0000002f0000000000000004000000040000001f01000053746f7261676550726f6f66747269655f6e6f6465732f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f74696e797665632d312e362e302f7372632f61727261797665632e7273000000966511005f000000eb06000011000000966511005f000000a5000000220000000000000004000000040000002001000053746f7261676556657273696f6e5373353841646472657373466f726d61747072656669782f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72734d6611006f000000be0100001d000000210100000c0000000400000022010000000000002000000001000000b600000050657273697374656456616c69646174696f6e44617461706172656e745f6865616472656c61795f706172656e745f6e756d62657272656c61795f706172656e745f73746f726167655f726f6f746d61785f706f765f73697a6553797374656d50617261636861696e53797374656d54696d657374616d7042616c616e6365735375646f5465737450616c6c6574476c7574746f6e000000080000000800000008000000040000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f626f7865642f636f6e766572742e72730094671100770000005200000013000000436865636b5370656356657273696f6e436865636b47656e65736973e29c85206e6f206d6967726174696f6e20666f722000000038681100150000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f7765696768742d7265636c61696d2f7372632f6c69622e727372756e74696d653a3a6672616d652d737570706f727463756d756c75735f70616c6c65745f7765696768745f7265636c61696d3a3a70616c6c65746672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f67656e65736973546672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f737065635f76657273696f6e3a686561707061676573f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e205468652070616c6c657420686173206e6f20646566696e65642073746f726167652076657273696f6e2c20736f20746865206f6e2d636861696e2076657273696f6e206973206265696e6720696e697469616c697a656420746f202e000044691100100000005469110075000000c9691100010000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c69622e7273e4691100600000008e00000008000000e4691100600000009200000006000000e4691100600000009200000013000000e4691100600000007500000005000000e46911006000000075000000120000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c6f63616c5f6b65792e72730000946a1100660000002100000011000000946a1100660000002300000010000000946a11006600000028000000120000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f747269655f7265636f726465722e727300002c6b11006e00000089000000160000002c6b11006e00000080000000240000002c6b11006e00000081000000200000002c6b11006e00000082000000260000004e756d626572206f6620646967657374206974656d73206d757374206d6174636820746861742063616c63756c617465642e0000dc6b1100320000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f6578656375746976652f7372632f6c69622e72730000186c11004e0000009b0300000300000053746f7261676520726f6f74206d757374206d6174636820746861742063616c63756c617465642e786c110028000000186c11004e000000a9030000030000005472616e73616374696f6e207472696520726f6f74206d7573742062652076616c69642eb86c110024000000186c11004e000000ab03000003000000446967657374206974656d206d757374206d6174636820746861742063616c63756c617465642e00f46c110027000000186c11004e000000a3030000040000006672616d655f657865637574697665000100000000000000186c11004e000000c402000005000000506172656e7420686173682073686f756c642062652076616c69642e5c6d11001c000000186c11004e000000ab020000030000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f6469676573742e7273906d11005c0000002600000019000000457865637574696e67207472616e73616374696f6e3a2000fc6d11001700000072756e74696d653a3a6578656375746976655472616e73616374696f6e2829206661696c65642064756520746f202e2041626f7274696e67207468652072657374206f662074686520626c6f636b20657865637574696f6e2e0000002e6e11000c0000003a6e1100100000004a6e11002b000000186c11004e00000002030000050000005b5d3a20426c6f636b20696e697469616c697a6174696f6e2077656967687420636f6e73756d7074696f6e3a20000000a06e110001000000a16e11002c0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f747269655f63616368652e727300e06e11006b0000008800000033000000e06e11006b0000008b00000020000000e06e11006b000000930000003e0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f74696d657374616d702f7372632f6c69622e727354696d657374616d70206d75737420696e6372656d656e74206279206174206c65617374203c4d696e696d756d506572696f643e206265747765656e2073657175656e7469616c20626c6f636b73ca6f11004e0000007c6f11004e000000080100000400000054696d657374616d70206d7573742062652075706461746564206f6e6c79206f6e636520696e2074686520626c6f636b30701100300000007c6f11004e0000000601000004000000536c6f74206d6f766564206261636b77617264733a2073746f7265645f736c6f743d2c2072656c61795f636861696e5f736c6f743d00000078701100220000009a701100130000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f617572612d6578742f7372632f636f6e73656e7375735f686f6f6b2e7273c070110058000000520000000500000050617261636861696e20736c6f74206d757374206d617463682072656c61792d6465726976656420736c6f743a2070617261636861696e5f736c6f743d2c20646572697665645f66726f6d5f72656c61795f736c6f743d2076656c6f636974793d000000287111003d000000657111001a0000007f7111000a0000009a70110013000000c0701100580000006900000004000000617574686f72656420626c6f636b73206c696d6974206973207265616368656420666f722074686520736c6f743a2072656c61795f636861696e5f736c6f743d2c20617574686f7265643d2c2076656c6f636974793d0000bc71110040000000fc7111000b000000077211000b000000c0701100580000005900000004000000000000000c00000004000000470100006661696c656420746f20726561642072656c617920636861696e20736c6f7400c0701100580000004c000000320000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273007c72110067000000f70000000f0000002050616c6c657420746f2075736520616c6f6e677369646520746865207472616e73616374696f6e20657874656e73696f6e205b6053746f726167655765696768745265636c61696d605d2c207468652070616c6c65742070726f76696465732077656967687420696e666f726d6174696f6e20616e642062656e63686d61726b732e00ffffffffffffffff787311000000000000000000000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000907311007d000000d107000009000000426c6f636b446174612073686f756c642068617665206174206c65617374206f6e6520626c6f636b2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f696d706c656d656e746174696f6e2e727300487411006f000000900000000500000050617261636861696e2068656164206e6565647320746f2062652074686520706172656e74206f662074686520666972737420626c6f636bc874110038000000487411006f0000008d000000020000000000000001000000000000004865616444617461206e6f7420736574487411006f000000650100001800000000000000000000000100000048010000554d505369676e616c7320646f6573206e6f742066697420696e20554d504d657373616765730000487411006f0000006101000005000000490100000c00000004000000b4000000487411006f0000005e010000050000004a0100000c000000040000004b0100004c0100004c0100004c0100003a636f64655768656e206170706c79696e6720612072756e74696d6520757067726164652c206f6e6c79206f6e6520626c6f636b2070657220506f5620697320616c6c6f7765642e205265636569766564200000cd7511004d000000c969110001000000487411006f000000e7000000040000000000000000000000010000004d0100004661696c656420746f2067657420647261696e2073746f72616765206368616e6765732066726f6d20746865206f7665726c61792e000000487411006f0000002b01000006000000436f6d706163742070726f6f66206465636f64696e67206661696c7572652e00947611001f000000487411006f000000ae0000000d0000000000000000000000010000004e010000496e76616c696420706172656e74206865616400487411006f0000008900000041000000496e76616c69642070617261636861696e20626c6f636b2064617461487411006f00000080000000040000006056616c69646174696f6e4461746160206d7573742062652073657420616674657220657865637574696e67206120626c6f636b3b20716564000000487411006f000000f4000000080000004e756d626572206f6620686f72697a6f6e74616c206d657373616765732073686f756c64206e6f742062652067726561746572207468616e20604d41585f484f52495a4f4e54414c5f4d4553534147455f4e554d60000000487411006f000000170100005b000000487411006f000000360100001100000030784e6f7420612076616c696420636861696e206f6620626c6f636b73203a283b20206e6f74206120706172656e74206f66203ff27711002000000012781100110000002378110001000000487411006f0000009800000003000000416c6c206053656c656374436f726560207369676e616c73206e65656420746f2073656c656374207468652073616d6520636f72653a2020767320004c781100370000008378110004000000487411006f0000004401000007000000416c6c2060417070726f7665645065657260207369676e616c73206e65656420746f2073656c656374207468652073616d6520706565725f69643a20a87811003c0000008378110004000000487411006f00000050010000070000004661696c656420746f206465636f64652060554d505369676e616c60487411006f0000004101000029000000487411006f000000890100001a000000000000000c000000040000004f010000500100005101000052010000530100005401000055010000560100005701000058010000590100005a0100005b0100005c0100005d0100005e0100005f010000600100006101000062010000630100006401000065010000660100006701000068010000690100006a0100006b0100006c0100006d0100006e0100006f01000070010000710100007201000073010000000000000c000000040000004f010000500100005101000052010000740100007501000076010000770100005701000058010000590100005a01000078010000790100007a0100007b0100007c0100007d0100007e01000062010000630100007f01000080010000810100006701000068010000690100006a0100006b01000082010000830100008401000085010000700100007101000086010000870100002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e7273000000807a11005500000093020000050000004e6f206e65772076616c69646174696f6e2066756e6374696f6e20666f756e6420696e2073746f726167652c20476f4168656164207369676e616c206973206e6f7420657870656374656400e87a11004b000000807a1100550000009a02000006000000496e76616c6964206d6573736167696e6720737461746520696e2072656c617920636861696e2073746174652070726f6f660000807a110055000000b902000006000000496e76616c696420686f737420636f6e66696775726174696f6e20696e2072656c617920636861696e2073746174652070726f6f66000000807a110055000000b502000006000000496e76616c69642075706772616465207265737472696374696f6e207369676e616c0000807a110055000000af02000007000000496e76616c6964207570677261646520676f206168656164207369676e616c00807a1100550000008b02000006000000496e76616c69642072656c617920636861696e2073746174652070726f6f6600807a110055000000640200000500000056616c69646174696f6e44617461206d7573742062652075706461746564206f6e6c79206f6e636520696e206120626c6f636b006c7c110033000000807a1100550000004402000004000000282900000000000000000000010000008801000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f72632e727300f77c11006c000000600800002900000000000000040000000400000089010000536c6f740000000008000000080000008a0100005765696768747265665f74696d6570726f6f665f73697a6544656661756c744572726f724c61796f75744572726f724572726f7253746f7261676556657273696f6e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6d656d6f72792d64622d302e33342e302f7372632f6c69622e7273496e76616c6964556e6b6e6f776e526f6f744d69736d617463680000000000000004000000040000008b01000052656164456e747279526561644f7074696f6e616c456e74727955706772616465476f4168656164557067726164655265737472696374696f6e436f6e666967446d714d71634865616452656c61794469737061746368517565756552656d61696e696e67436170616369747948726d70496e67726573734368616e6e656c496e64657848726d704567726573734368616e6e656c496e64657800000000000004000000040000000201000048726d704368616e6e656c5061726148656164417574686f7269746965734e657874417574686f726974696573000000da7d11005d000000ca00000019000000da7d11005d000000cd0000001000000068656c6c6f66697273747365636f6e64776f726c6431776f726c64322f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f746573745f70616c6c65742e72730000007c7f11005100000046000000110000007c7f11005100000049000000110000007265616c6c795f687567655f76616c75650000007c7f110051000000580000002700000053797374656d50617261636861696e53797374656d54696d657374616d7042616c616e6365735375646f5465737450616c6c6574476c7574746f6e00080000000800000008000000040000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727342547265654d61704b564f7074696f6e544e6f6e65536f6d65436865636b4d6f7274616c6974792f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e72730000ee80110084000000ad000000240000006672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f6d6f7274616c6974794e6f44726f706672616d655f737570706f72743a3a7472616974733a3a73746f7261676550726f636573736564446f776e776172644d657373616765732f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f74797065732f76616c75652e72730000ea8111005c000000280100000b00000052656c6179537461746550726f6f6653746f7261676556657273696f6e506172656e7448617368526573657276656458636d705765696768744f76657272696465486f7374436f6e66696775726174696f6e4c61737448726d704d716348656164734c617374446d714d716348656164556e696e636c756465645365676d656e744e6f77557067726164655265737472696374696f6e5369676e616c496e686572656e74734170706c696564496e61637469766549737375616e6365547261736844617461436f756e74417574686f72697469657354785061796d656e7443726564697448726d7057617465726d61726b5265736572766564446d705765696768744f766572726964654c61737452756e74696d655570677261646545787472696e736963436f756e7450656e64696e6756616c69646174696f6e436f6465416e6e6f756e63656448726d704d6573736167657350657243616e64696461746552656c6179536c6f74496e666f48726d704f7574626f756e644d65737361676573546f74616c49737375616e63655570677261646564546f553332526566436f756e7441676772656761746564556e696e636c756465645365676d656e74426c6f636b5765696768744576656e74436f756e744b657955706772616465476f41686561644e6578744665654d756c7469706c69657250656e64696e675570776172645369676e616c73436f6d707574654e657756616c69646174696f6e436f646545787472696e7369635765696768745265636c61696d65645570776172644d6573736167657344696455706461746552656c6576616e744d6573736167696e6753746174655570677261646564546f547269706c65526566436f756e744576656e747344696453657456616c69646174696f6e436f64654c61737450726f63657373656448726d704d65737361676550617261636861696e4964417574686f72697a656455706772616465457865637574696f6e506861736550656e64696e675570776172644d657373616765734c656e6774684c61737452656c6179436861696e426c6f636b4e756d62657253746f72616765416c6c45787472696e736963734c656e43757272656e74536c6f744c61737450726f636573736564446f776e776172644d65737361676556616c69646174696f6e4461746155707761726444656c6976657279466565466163746f724e756d626572446967657374437573746f6d56616c69646174696f6e48656164446174610000006080110067000000f70000000f0000004e6f64652d7369646520506f562073697a6520686967686572207468616e2072756e74696d652070726f6f662073697a65207765696768742e206e6f64652d736964653a202065787472696e7369635f6c656e3a202072756e74696d653a202c206d697373696e673a202e2053657474696e6720746f206e6f64652d736964652070726f6f662073697a652e00861100450000004586110010000000558611000a0000005f8611000b0000006a861100220000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f7765696768742d7265636c61696d2f7372632f6c69622e727372756e74696d653a3a73746f726167655f7265636c61696d5f70616c6c657463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e727343871100550000006a0100002100000043871100550000006b0100000e00000064726f707065642070617274206f6620746865207365676d656e74207761736e277420656d7074792c2068656e63652076616c7565206578697374733b207165640000004387110055000000700500001d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000000c8811007d000000d1070000090000007061726120686561642068617368206973207570646174656420647572696e6720626c6f636b20696e697469616c697a6174696f6e3b20716564000043871100550000006405000009000000ee80110084000000c600000027000000ee80110084000000160200002f000000ee80110084000000a10000002400000093010000500000000800000094010000950100003a6368696c645f73746f726167653a64656661756c743a2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f636f6465632e7273438911005500000060000000130000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f747269655f636f6465632e72730000a889110062000000fe0100000b000000a8891100620000000e02000018000000a889110062000000e20100002c000000a889110062000000a2010000120000007265717569726564206279206d6574686f6420707265636f6e646974696f6e3b20716564a889110062000000a201000016000000a8891100620000005801000014000000a88911006200000065010000150000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6974657261746f722e7273a08a11006000000087000000100000007765277665206a757374206665746368656420746865206c61737420656c656d656e74207573696e6720606c6173745f6d75746020736f20746869732063616e6e6f74206661696c3b20716564000000a08a110060000000c90100001c0000004372756d623a3a7374657020616e64205472696544424e6f64654974657261746f722061726520696d706c656d656e74656420736f2074686174207468652061626f76652061726d732061726520746865206f6e6c7920706f737369626c65207374617465730000a08a110060000000df0100000a000000a08a1100600000008c01000017000000a08a110060000000650100001d000000a08a110060000000590000001f00000064657363656e64207075736865732061206372756d62206f6e746f2074686520747261696c3b20746875732074686520747261696c206973206e6f6e2d656d7074793b2071656400a08a110060000000a6000000270000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6d6f642e72730000708c1100620000004900000016000000a08a1100600000002301000010000000a08a1100600000007d000000050000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300048d11006f000000be0100001d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702e727300848d11007f000000fa0000003f000000848d11007f0000001f0100002e0000006120646566656e73697665206661696c75726520686173206265656e207472696767657265643b20706c65617365207265706f72742074686520626c6f636b206e756d6265722061742068747470733a2f2f6769746875622e636f6d2f706172697479746563682f706f6c6b61646f742d73646b2f69737375657300248e11007b0000003a2000000100000000000000a88e1100020000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f7472616974732f6d6973632e727372756e74696d653a3a646566656e736976656672616d655f737570706f72743a3a7472616974733a3a6d6973630000000100000000000000080000000800000008000000040000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652d696e746572666163652f7372632f7761736d2e72732f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f7472696564626d75742e7273000000b48f1100610000006c000000100000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f736d616c6c7665632d312e31352e302f7372632f6c69622e7273547279696e6720746f207265706c61636520616e20616c7265616479207265706c6163656420696d706c656d656e746174696f6e210000008490110035000000588f11005c0000004c0000000400000043617061636974794f766572666c6f7700000000040000000400000096010000416c6c6f634572726c61796f75742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f7472696564622e7273029111005e000000fe00000031000000029111005e000000ff00000037000000029111005e0000001001000031000000029111005e00000011010000370000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6e6f64655f636f6465632e7273000000a0911100550000001d01000013000000a0911100550000002701000009000000029111005e000000ea0000000d000000029111005e000000d20000000e000000b48f1100610000004601000026000000b48f1100610000006101000026000000604e6f64654f776e65643a3a56616c7565602063616e206f6e6c792062652072657475726e656420666f72207468652068617368206f6620612076616c75652e5892110040000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a200000a09211002a000000b48f110061000000bb0100000500000056616c7565206e6f64652063616e206e6576657220626520696e6c696e65643b20716564e492110024000000b48f110061000000a4000000060000004e65772065787465726e616c2076616c75652061726520616c77617973206164646564206265666f726520656e636f64696e6720616e6f64650000002093110039000000b48f110061000000b1000000050000000000000004000000040000009701000098010000000000000400000004000000990100009a010000b48f110061000000880700000b000000b48f11006100000075070000170000004a75737420656e636f64656420746865206e6f64652c20736f2069742073686f756c64206465636f646520776974686f757420616e79206572726f72733b207165640000b48f11006100000069070000070000000000000008000000040000009b0100009c0100000000000008000000040000009b0100009c0100002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6d6f642e7273000038941100620000004900000016000000617373657274696f6e206661696c65643a20216578697374696e675f6b65792e69735f656d70747928290000b48f1100610000000705000006000000b48f110061000000310300000f000000b48f110061000000250300000f000000b48f110061000000ba0600001a0000004272616e63682077697468206e6f2073756276616c7565732e20536f6d657468696e672077656e742077726f6e672e00b48f1100610000003b06000007000000757365645f696e646578206f6e6c7920736574206966206f636375706965643b20716564b48f1100610000004306000009000000b48f1100610000006b06000007000000b48f1100610000007106000009000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f6465b48f110061000000a40600000d000000b48f110061000000620200000e000000b48f110061000000650200000f000000b48f1100610000006e02000015000000b48f1100610000006f0200001f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300249611006f000000be0100001d0000000000000008000000040000009d01000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500289011005c000000540100002e0000006361706163697479206f766572666c6f77000000289011005c0000004301000036000000289011005c000000d00400000e000000617373657274696f6e206661696c65643a206e65775f636170203e3d206c656e289011005c0000009b0400000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a204e6f20657874656e73696f6e20636f6465632e000000549711003d000000a091110055000000df00000003000000a0911100550000007600000028000000a0911100550000007c00000026000000a091110055000000a300000028000000a091110055000000d800000003000000a0911100550000000e01000009000000a091110055000000f40000002a000000a091110055000000070100001a000000416c7265616479496e52756e74696d654e6f4f70656e5472616e73616374696f6e6d697373696e67206669656c642060600000003d9811000f0000004c98110001000000756e6b6e6f776e206669656c642060602c20746865726520617265206e6f206669656c6473000000609811000f0000006f98110016000000602c20657870656374656420609811000f000000989811000c000000696e76616c6964206c656e677468202c206578706563746564200000b49811000f000000c39811000b0000006475706c6963617465206669656c642060000000e0981100110000004c98110001000000000000000000000001000000a20100002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e72731499110070000000e8010000170000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f7365722e727300949911005f00000085080000160000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f756e69636f64652d6e6f726d616c697a6174696f6e2d302e312e32322f7372632f6465636f6d706f73652e727300049a11006f0000008f00000022000000a30100000400000004000000a401000073657269616c697a6174696f6e20746f206a736f6e20697320657870656374656420746f20776f726b2e207165642e2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f67656e657369735f6275696c6465725f68656c7065722e72730000c39a11005f0000003300000006000000496e76616c6964204a534f4e20626c6f623a2000349b110013000000000000000000000001000000a5010000546f7020616e64206f6666636861696e206368616e67657365747320617265207374617274656420696e206c6f636b737465703b207165642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6f7665726c617965645f6368616e6765732f6d6f642e7273000000989b110069000000ed01000005000000546f7020616e64206368696c6472656e206368616e6765736574732061726520656e746572696e672072756e74696d6520696e206c6f636b737465703b20716564000000989b110069000000e8010000060000003a65787472696e7369635f696e646578000000000000000001000000a6010000989b110069000000db01000005000000546f7020616e64206368696c6472656e206368616e67657365747320617265207374617274656420696e206c6f636b737465703b20716564989b110069000000d601000006000000989b110069000000c901000005000000989b110069000000c30100000600000073746f7261676500989b110069000000020300001e0000006073746f726167655f7472616e73616374696f6e5f63616368656020776173206a75737420696e697469616c697a65643b20716564000000989b1100690000004f020000070000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000609d11007d000000d1070000090000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6f7665726c617965645f6368616e6765732f6368616e67657365742e7273416e204f7665726c617956616c756520697320616c7761797320637265617465642077697468206174206c65617374206f6e65207472616e73616374696f6e20616e642064726f7070656420617320736f6f6e0a09617320746865206c617374207472616e73616374696f6e2069732072656d6f7665643b2071656400f09d11006f000000fc0000001b000000f09d11006f0000000f0100001b000000f09d11006f0000001401000025000000f09d11006f0000000a01000025000000f09d11006f000000f70000001d000000447261696e206973206e6f7420616c6c6f7765642077697468206f70656e207472616e73616374696f6e732e2c9f11002c000000f09d11006f00000046020000030000004120777269746520746f20616e204f7665726c6179656456616c7565206973207265636f7264656420696e20746865206469727479206b6579207365742e204265666f726520616e0a090909094f7665726c6179656456616c75652069732072656d6f7665642c2069747320636f6e7461696e696e67206469727479207365742069732072656d6f7665642e20546869730a0909090966756e6374696f6e206973206f6e6c792063616c6c656420666f72206b65797320746861742061726520696e20746865206469727479207365742e20716564000000f09d11006f000000980200002f0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f747269655f6261636b656e645f657373656e63652e727358a0110068000000a201000012000000a70100005400000004000000a8010000a9010000000000001000000004000000aa010000ab010000a70100005400000004000000ac010000ad010000ae0100001000000004000000af010000b0010000b1010000b2010000b30100001800000004000000b4010000b501000058a0110068000000cc0100002100000058a0110068000000ce0100001700000061207475706c65206f662073697a652032000000000000000000000001000000b6010000612073657175656e63652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f636f72652d312e302e3232382f7372632f64652f696d706c732e727300008aa11100640000008d0400001c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730000a2110067000000f70000000f00000061207475706c65206f662073697a652033000000000000000000000001000000b7010000617574686f7269746965737374727563742047656e65736973436f6e6669672077697468203120656c656d656e740000a7a2110023000000000000000800000004000000b80100006b6579636f6d70757465747261736844617461436f756e74626c6f636b4c656e6774687374727563742047656e65736973436f6e6669672077697468203420656c656d656e74730007a311002400000062616c616e6365736465764163636f756e74737374727563742047656e65736973436f6e6669672077697468203220656c656d656e74730047a3110024000000049a11006f0000005600000029000000049a11006f0000005600000018000000049a11006f0000004d0000001400000070617261636861696e49646d756c7469706c696572000000b90100000c00000004000000ba010000bb010000bc010000000000000000000001000000bd0100006120446973706c617920696d706c656d656e746174696f6e2072657475726e656420616e206572726f7220756e65787065637465646c79001499110070000000f00a00000e0000004572726f72000000b90100000c00000004000000b4000000000000000400000004000000be01000046726f6d557466384572726f7262797465736572726f7244656661756c744572726f7200bf0100001400000004000000c001000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e7273000000b3a411005a000000930000002b0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f73747265616d2e7273000020a51100560000007200000010000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20747269652073747265616d20636f646563206f6e6c7920666f72206e6f20657874656e73696f6e2074726965000088a511005600000020a511005600000076000000040000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f74696e797665632d312e362e302f7372632f61727261797665632e727300f8a511005f0000009d0000001a0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f74696e797665632d312e362e302f7372632f74696e797665632e7273000068a611005e000000750300001d000000f8a511005f000000a5000000220000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300e8a611006f000000be0100001d000000000000000000000001000000c101000045787465726e616c6974696573206e6f7420616c6c6f77656420746f206661696c2077697468696e2072756e74696d652f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6578742e727300a8a7110057000000da0100001a000000000000000000000001000000c2010000000000000000000001000000c2010000000000000000000001000000c3010000000000000000000001000000c4010000000000000000000001000000c5010000000000000000000001000000c4010000000000000000000001000000c6010000000000000000000001000000c7010000000000000000000001000000c5010000000000000000000001000000c7010000000000000000000001000000c7010000000000000000000001000000c7010000000000000000000001000000c7010000000000000000000001000000c40100007374727563742052756e74696d6547656e65736973436f6e666967207769746820313020656c656d656e7473f0a811002c00000073797374656d70617261636861696e53797374656d70617261636861696e496e666f7375646f7472616e73616374696f6e5061796d656e747465737450616c6c6574676c7574746f6e6175726161757261457874416c7265616479496e52756e74696d654e6f4f70656e5472616e73616374696f6e3a5f5f53544f524147455f56455253494f4e5f5f3a0000c90100005400000004000000a8010000a9010000000000001000000004000000aa010000ab010000c90100005400000004000000ac010000ad010000ca0100001000000004000000af010000b0010000b1010000b2010000cb0100001800000004000000b4010000b50100004572726f72207768696c6520697465726174696e67207468652073746f726167653a20001caa1100230000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6578742e72737472696573705f73746174655f6d616368696e653a3a6578742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e0000003cab110009000000b8aa1100840000004e0000001f000000b8aa110084000000480000001700000044656661756c744572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f74696e797665632d312e362e302f7372632f74696e797665632e727300007cab11005e00000070030000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6f64652e7273ecab11005c000000fd00000016000000ecab11005c000000e1000000160000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730068ac11006f000000be0100001d000000000000000000000001000000cc01000045787465726e616c6974696573206e6f7420616c6c6f77656420746f206661696c2077697468696e2072756e74696d6548aa110057000000a90000003600000048aa110057000000bc0000003100000048aa110057000000e50000002a00000048aa110057000000220100000900000048aa1100570000000b0100002700000048aa110057000000d20000003600000048aa110057000000f80100000500000048aa110057000000fb0000000600000048aa1100570000004b0100000900000048aa1100570000003301000005000000000000000000000001000000cd0100005765206861766520726573657420746865206f7665726c61792061626f76652c20736f2077652063616e206e6f7420626520696e207468652072756e74696d653b2071656400000048aa1100570000004e0200000500000048aa1100570000004a02000005000000000000000000000001000000ce010000546869732069732061207370656369616c20666e206f6e6c7920666f722062656e63686d61726b696e67207768657265206120646174616261736520636f6d6d69742068617070656e732066726f6d207468652072756e74696d652e0a09466f72207468617420726561736f6e20636c69656e742073746172746564207472616e73616374696f6e73206265666f72652063616c6c696e6720696e746f2072756e74696d6520617265206e6f7420616c6c6f7765642e0a09576974686f757420636c69656e74207472616e73616374696f6e7320746865206c6f6f7020636f6e646974696f6e2067756172616e74656573207468652073756363657373206f662074686520747820636c6f73652e000048aa110057000000460200002800000048aa1100570000005a0200000500000048aa110057000000550200002600000048aa1100570000008f000000310000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000a0af11007d000000d1070000090000005363686e6f727252697374726574746f48444b447369676e2d627974657348444b442d6e6f6e6365636861696e2d636f64657075626c69632d6b657948444b442d7363616c617248444b442d636861696e636f646556455253494f4e45445042442f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727391b0110067000000f70000000f0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e7273000008b111005a000000d00100001b00000008b111005a000000d10100001000000008b111005a000000cc0100000900000008b111005a000000b901000020000000000000000000000001000000cf01000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75650008b111005a0000003d01000020000000427566666572546f6f536d616c6c0000000000000400000004000000d00100004469676573746c6f6773496e76616c69645374617465526f6f74496e636f6d706c657465446174616261736556616c75654174496e636f6d706c6574654b65794465636f6465724572726f72496e76616c6964486173684475706c69636174654b657945787472616e656f75734e6f646545787472616e656f757356616c756545787472616e656f7573486173685265666572656e6365496e76616c69644368696c645265666572656e636556616c75654d69736d61746368496e636f6d706c65746550726f6f66526f6f744d69736d617463684465636f64654572726f7200000000000400000001000000d1010000000000000400000004000000b200000050726552756e74696d65436f6e73656e7375735365616c4f7468657252756e74696d65456e7669726f6e6d656e74557064617465642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727345b311006f000000be0100001d00000048617368207461626c65206361706163697479206f766572666c6f77c4b311001c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6861736862726f776e2d302e31352e332f7372632f7261772f6d6f642e7273000000e8b311006100000025000000280000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d726f6f742d302e31382e302f7372632f6c69622e72730000005cb411005d000000290100002b0000005cb411005d00000040010000210000005cb411005d0000003b010000250000005cb411005d000000790100000d0000005cb411005d00000060010000250000005cb411005d000000620100001c0000005cb411005d0000009300000011000000080000000800000008000000040000001000000012000000140000000c0000000b0000000c0000000e0000000f00000017000000150000000d0000000f0000000c0000000b0000001ab211002ab211003cb2110050b211005cb2110067b2110073b2110081b2110090b21100a7b21100bcb21100c9b21100d8b21100e4b211002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000acb511007d000000d1070000090000006120646566656e73697665206661696c75726520686173206265656e207472696767657265643b20706c65617365207265706f72742074686520626c6f636b206e756d6265722061742068747470733a2f2f6769746875622e636f6d2f706172697479746563682f706f6c6b61646f742d73646b2f697373756573003cb611007b0000003a2000000100000000000000c0b61100020000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f7472616974732f6d6973632e727372756e74696d653a3a646566656e736976656672616d655f737570706f72743a3a7472616974733a3a6d6973632f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f62616c616e6365732f7372632f6c69622e7273e29c85206e6f206d6967726174696f6e20666f722000a2b71100150000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f676c7574746f6e2f7372632f6c69622e727372756e74696d653a3a6672616d652d737570706f727470616c6c65745f676c7574746f6e3a3a70616c6c65747472616e736665725f616c6c6f775f6465617468666f7263655f7472616e736665727472616e736665725f6b6565705f616c6976657472616e736665725f616c6c666f7263655f756e72657365727665757067726164655f6163636f756e7473666f7263655f7365745f62616c616e6365666f7263655f61646a7573745f746f74616c5f69737375616e63656275726e526573756c7454454f6b4572727d70616c6c65745f62616c616e6365733a3a70616c6c6574000000e8fd00006e756d626572206f662054726173684461746120656e74726965732063616e6e6f7420626520626967676572207468616e200000f4b8110032000000c0b711004c000000ae00000004000000436f6d70757465206c696d697420697320696e73616e650040b9110017000000c0b711004c000000b90000000400000053746f72616765206c696d697420697320696e73616e650070b9110017000000c0b711004c000000bc00000004000000426c6f636b206c656e677468206c696d697420697320696e73616e65a0b911001c000000c0b711004c000000bf00000004000000f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e205468652070616c6c657420686173206e6f20646566696e65642073746f726167652076657273696f6e2c20736f20746865206f6e2d636861696e2076657273696f6e206973206265696e6720696e697469616c697a656420746f202e0000d4b9110010000000e4b911007500000059ba1100010000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e727374ba110070000000e8010000170000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f61727261792d62797465732d362e322e322f7372632f6c69622e72730000f4ba11005e0000009602000019000000f4ba11005e0000009602000027000000f4ba11005e00000096020000090000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7375646f2f7372632f6c69622e727300000084bb110049000000470100000c000000526571756972655375646f00dd0100000c00000004000000b4000000656e636f646564206572726f7220697320726573697a656420746f20626520657175616c20746f20746865206d6178696d756d20656e636f646564206572726f722073697a653b207165646475706c69636174652062616c616e63657320696e2067656e657369732e00000047bc11001e00000055b711004d00000053020000040000002f2f53656e6465722f2f7b7d617373657274696f6e206661696c65643a20543a3a4163636f756e7453746f72653a3a696e736572742877686f2c0a20202020202020204163636f756e7444617461207b20667265652c202e2e44656661756c743a3a64656661756c742829207d292e69735f6f6b2829000055b711004d00000063020000050000007468652062616c616e6365206f6620616e79206163636f756e742073686f756c6420616c77617973206265206174206c6561737420746865206578697374656e7469616c206465706f7369742e00000008bd11004d00000055b711004d0000004502000005000000010020646574656374656420696e207468652072756e74696d652e20496e697469616c697a696e6720746865206f6e2d636861696e2073746f726167652076657273696f6e20746f206d61746368207468652073746f726167652076657273696f6e20646566696e656420696e207468652070616c6c65743a200000d4b911001000000072bd1100780000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f6c69622e727300fcbd11004b000000a80300000c000000496e76616c6964537065634e616d655370656356657273696f6e4e65656473546f496e6372656173654661696c6564546f4578747261637452756e74696d6556657273696f6e4e6f6e44656661756c74436f6d706f736974654e6f6e5a65726f526566436f756e7443616c6c46696c74657265644d756c7469426c6f636b4d6967726174696f6e734f6e676f696e674e6f7468696e67417574686f72697a6564556e617574686f72697a6564c0b711004c000000660000000c000000416c7265616479496e697469616c697a6564496e73616e654c696d69742053746f72616765206d6170207573656420666f722077617374696e672070726f6f662073697a652e20497420636f6e7461696e73206e6f206d65616e696e6766756c2064617461202d2068656e636520746865206e616d6520225472617368222e20546865206d6178696d616c206e756d626572206f6620656e74726965732069732073657420746f2036356b2c207768696368206973206a7573742062656c6f7720746865206e657874206a756d702061742031365e342e205468697320697320696d706f7274616e7420746f20726564756365207468652070726f6f662073697a652062656e63686d61726b696e67206f766572657374696d6174652e2054686520617373756d7074696f6e2068657265206973207468617420776520776f6e27742068617665206d6f7265207468616e2036356b202a20314b6942203d2036354d6942206f662070726f6f662073697a652077617374696e6720696e2070726163746963652e20486f77657665722c2074686973206c696d6974206973206e6f7420656e666f726365642c20736f207468652070616c6c657420776f756c6420616c736f20776f726b206f7574206f662074686520626f782077697468206d6f726520656e74726965732c20627574206974732062656e63686d61726b65642070726f6f662077656967687420776f756c6420706f737369626c7920626520756e646572657374696d6174656420696e207468617420636173652e205468652070726f706f7274696f6e206f66207468652072656d61696e696e67206070726f6f665f73697a656020746f20636f6e73756d6520647572696e6720606f6e5f69646c65602e2060312e3060206973206d617070656420746f206031303025602e204d757374206265206174206d6f7374205b6063726174653a3a5245534f555243455f484152445f4c494d4954605d2e2053657474696e67207468697320746f206f7665722060312e306020636f756c64207374616c6c2074686520636861696e2e205468652063757272656e74206e756d626572206f6620656e747269657320696e2060547261736844617461602e205468652070726f706f7274696f6e206f66207468652072656d61696e696e6720607265665f74696d656020746f20636f6e73756d6520647572696e6720606f6e5f69646c65602e205468652070726f706f7274696f6e206f66207468652060626c6f636b206c656e6774686020746f20636f6e73756d65206f6e206561636820626c6f636b2ec0b711004c0000008f0100002c000000636f6d7075746573746f72616765747261736844617461436f756e74626c6f636b4c656e67746800dcc2110007000000e3c2110007000000eac211000e000000f8c211000b00000043616c6c3a3a696e697469616c697a655f70616c6c657400000000000400000004000000040100006e65775f636f756e74000000000000000400000004000000de0100007769746e6573735f636f756e7443616c6c3a3a7365745f636f6d707574650000000000000400000004000000df01000043616c6c3a3a7365745f73746f7261676543616c6c3a3a626c6f6174000000000400000004000000e00100006761726261676543616c6c3a3a7365745f626c6f636b5f6c656e677468626c6f636b5f6c656e67746843616c6c436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e00000000f1c3110043000000696e697469616c697a655f70616c6c65747365745f636f6d707574657365745f73746f72616765626c6f61747365745f626c6f636b5f6c656e6774684572726f7254686520604572726f726020656e756d206f6620746869732070616c6c65742e0000000000000081c41100200000004e6f7420656e6f7567682062616c616e6365206f6e20686f6c6420746f2070617920747820666565732e20546869732069732061206275672e000000b0c41100390000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7472616e73616374696f6e2d7061796d656e742f7372632f7061796d656e742e727372756e74696d653a3a74787061796d656e7470616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a7061796d656e7400000055b711004d000000b80100000c00000056657374696e6742616c616e63654c69717569646974795265737472696374696f6e73496e73756666696369656e7442616c616e63654578697374656e7469616c4465706f736974457870656e646162696c6974794578697374696e6756657374696e675363686564756c65446561644163636f756e74546f6f4d616e795265736572766573546f6f4d616e79486f6c6473546f6f4d616e79467265657a657349737375616e6365446561637469766174656444656c74615a65726f6163636f756e7420776974682061206e6f6e2d7a65726f20726573657276652062616c616e636520686173206e6f2070726f766964657220726566732c206163636f756e745f69643a2027272e00000054c611004b0000009fc611000200000072756e74696d653a3a62616c616e636573205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e2023204578616d706c65206060606e6f636f6d70696c652020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b2020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e20207d2060606020596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e20202074797065204163636f756e7453746f7265203d2053797374656d20427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f72657320606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e20746865206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e20416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20557365206f66206c6f636b73206973206465707265636174656420696e206661766f7572206f6620667265657a65732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6020467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e2054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e20486f6c6473206f6e206163636f756e742062616c616e6365732e2054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e20557365206f66207265736572766573206973206465707265636174656420696e206661766f7572206f6620686f6c64732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f606e756d5f6163636f756e7473206d7573742062652067726561746572207468616e207a65726f9ecb11002600000055b711004d000000330500000400000055b711004d00000035050000040000007b7d496e76616c69642064657269766174696f6e2c20657870656374656420607b7d602061732070617274206f66207468652064657269766174696f6e000000eecb11003b00000055b711004d0000003a050000040000004661696c656420746f2070617273652064657269766174696f6e20737472696e673a200044cc1100230000004661696c656420746f206465636f6465207075626c6963206b65792066726f6d20706169723a200070cc1100270000004661696c656420746f20616464206163636f756e7420746f206b657973746f72653a2000a0cc110023000000000000001400000004000000d801000055b711004d0000004f05000006000000e10100001400000004000000e201000055b711004d000000450500000700000020546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d5553542042452047524541544552205448414e205a45524f2120496620796f75202a7265616c6c792a206e65656420697420746f206265207a65726f2c20796f752063616e20656e61626c652074686520666561747572652060696e7365637572655f7a65726f5f65646020666f7220746869732070616c6c65742e20486f77657665722c20796f7520646f20736f20617420796f7572206f776e207269736b3a20746869732077696c6c206f70656e2075702061206d616a6f7220446f5320766563746f722e20496e206361736520796f752068617665206d756c7469706c6520736f7572636573206f662070726f7669646572207265666572656e6365732c20796f75206d617920616c736f2067657420756e6578706563746564206265686176696f757220696620796f7520736574207468697320746f207a65726f2e20426f74746f6d206c696e653a20446f20796f757273656c662061206661766f757220616e64206d616b65206974206174206c65617374206f6e652120546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742e204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e4d61784c6f636b7320546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e4d6178526573657276657320546865206d6178696d756d206e756d626572206f6620696e646976696475616c20667265657a65206c6f636b7320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e4d6178467265657a657320546865206f76657261726368696e6720686f6c6420726561736f6e2e52756e74696d65486f6c64526561736f6e205468652062616c616e6365206f6620616e206163636f756e742e42616c616e636520546865204944207479706520666f722072657365727665732e526573657276654964656e74696669657220546865204944207479706520666f7220667265657a65732e467265657a654964656e74696669657262616c616e6365736465764163636f756e747300008fd011000800000097d011000b00000043616c6c3a3a7472616e736665725f616c6c6f775f64656174680000000000000400000004000000eb00000064657374000000000400000004000000e301000076616c756543616c6c3a3a666f7263655f7472616e73666572736f7572636543616c6c3a3a7472616e736665725f6b6565705f616c69766543616c6c3a3a7472616e736665725f616c6c0000000000000400000004000000e40100006b6565705f616c69766543616c6c3a3a666f7263655f756e7265736572766577686f616d6f756e7443616c6c3a3a757067726164655f6163636f756e74730000000000000400000004000000e501000043616c6c3a3a666f7263655f7365745f62616c616e63656e65775f6672656543616c6c3a3a666f7263655f61646a7573745f746f74616c5f69737375616e6365000000000400000004000000e6010000646972656374696f6e64656c746143616c6c3a3a6275726e494576656e7454686520604576656e746020656e756d206f6620746869732070616c6c65740000000ed211001f000000456e646f776564447573744c6f73745472616e7366657242616c616e63655365745265736572766564556e72657365727665645265736572766552657061747269617465644465706f7369745769746864726177536c61736865644d696e7465644d696e7465644372656469744275726e65644275726e65644465627453757370656e646564526573746f726564557067726164656449737375656452657363696e6465644c6f636b6564556e6c6f636b656446726f7a656e546861776564546f74616c49737375616e6365466f7263656448656c644275726e656448656c645472616e736665724f6e486f6c645472616e73666572416e64486f6c6452656c6561736564556e65787065637465642f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273000047d3110067000000f70000000f0000007374727563742047656e65736973436f6e6669672f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e7273000000d4d3110055000000fa0200000c0000004f7665726c617070696e67557067726164657350726f686962697465644279506f6c6b61646f74546f6f42696756616c69646174696f6e446174614e6f74417661696c61626c65486f7374436f6e66696775726174696f6e4e6f74417661696c61626c654e6f745363686564756c6564dd0100000c00000004000000e7010000e8010000bc010000000000000000000001000000e90100006120446973706c617920696d706c656d656e746174696f6e2072657475726e656420616e206572726f7220756e65787065637465646c790074ba110070000000f00a00000e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e72731cd5110074000000e2050000140000001cd5110074000000e2050000210000001cd5110074000000d60500002100000046756e6473556e617661696c61626c654f6e6c7950726f766964657242656c6f774d696e696d756d43616e6e6f74437265617465556e6b6e6f776e4173736574556e737570706f7274656443616e6e6f74437265617465486f6c644e6f74457870656e6461626c65426c6f636b65642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e72732fd6110085000000670200002a000000000000000100000001000000ea010000000000000400000001000000d1010000000000000400000004000000eb0100004d6f64756c654572726f72696e6465786572726f726d6573736167654f7468657243616e6e6f744c6f6f6b75704261644f726967696e4d6f64756c65436f6e73756d657252656d61696e696e674e6f50726f766964657273546f6f4d616e79436f6e73756d657273546f6b656e41726974686d657469635472616e73616374696f6e616c457868617573746564436f7272757074696f6e556e617661696c61626c65526f6f744e6f74416c6c6f77656454726965496e76616c6964436861726163746572496e506872617365496e76616c6964436861726163746572496e506173734d697373696e67436861726163746572496e48617264506174684d697373696e67436861726163746572496e536f6674506174684261644261736535384261644c656e677468556e6b6e6f776e5373353841646472657373466f726d6174496e76616c6964436865636b73756d496e76616c6964507265666978496e76616c6964466f726d6174496e76616c696450617468466f726d61744e6f74416c6c6f77656450617373776f72644e6f74416c6c6f7765644e6f6e65536f6d654c696d6974526561636865644e6f4c61796572496e76616c6964506872617365496e76616c696450617373776f7264496e76616c696453656564496e76616c6964536565644c656e6774682f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f696f2f636f72652e7273ddd8110063000000470000000e0000000100000000000000000000001800000008000000ec010000000000000400000004000000ed010000506f73744469737061746368496e666f61637475616c5f776569676874706179735f666565000000dd0100000c00000004000000ee010000000000000400000004000000ef010000496e76616c6964436861726163746572496e666f2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f636f72652f7372632f63727970746f2e7273000000d4d9110051000000710300002f00000073656564206861732076616c6964206c656e6774683b207165640000d4d91100510000008703000028000000d4d91100510000005b0100000e000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000102030405060708ffffffffffffff090a0b0c0d0e0f10ff1112131415ff161718191a1b1c1d1e1f20ffffffffffff2122232425262728292a2bff2c2d2e2f30313233343536373839ffffffffff31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797a0000d4d911005100000032010000170000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6f64652e7273020000000000000000000000000000000000000000000000000000000000000000000000496e76616c696420696e6c696e65206e6f64652068616e646c65000040db11005c000000500000000500000040db11005c000000da0000001d00000040db11005c000000f60000001d00000040db11005c00000089000000120000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6c6f6f6b75702e727300001cdc11005e00000046000000120000001cdc11005e000000a301000016000000000000000c00000004000000f0010000f10100005765206172652063616368696e67206120604e6f64654f776e65643a3a56616c75656020666f7220612076616c7565206e6f6465206861736820616e64207468697320636163686564206e6f64652068617320616c7761797320646174612061747461636865643b207165641cdc11005e00000079000000070000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6d6f642e727300002cdd1100620000004900000016000000000000001400000004000000f2010000f3010000604e6f64654f776e65643a3a56616c7565602063616e206e6f742062652072656163686564206279207573696e67207468652068617368206f662061206e6f64652e20604e6f64654f776e65643a3a56616c756560206973206f6e6c7920636f6e7374727563746564207768656e206c6f6164696e6720612076616c756520696e746f206d656d6f72792c207768696368206e6565647320746f2068617665206120646966666572656e742068617368207468616e20616e79206e6f64653b2071656400b4dd1100c3000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20000080de11002a0000001cdc11005e000000d002000007000000000000001400000004000000f2010000f30100001cd5110074000000660400002400000053746f7261676556657273696f6e5075626c6963000000002000000008000000f4010000000000000400000004000000f501000044697370617463684572726f7257697468506f7374496e666f706f73745f696e666f2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730000003edf11006f000000be0100001d00000058be110067be110081be11009ebe1100b1be1100c0be1100ccbe1100e7be1100f8be11000f0000001a0000001d000000130000000f0000000c0000001b000000110000000c00000098c51100a6c51100bbc51100cec51100e0c51100edc5110004c611000fc611001ec611002ac6110038c611004bc611000e0000001500000013000000120000000d000000170000000b0000000f0000000c0000000e00000013000000090000003cd411004fd4110063d4110069d4110083d41100a0d411001300000014000000060000001a0000001d0000000c000000100000000c0000000c0000000c0000000c000000060000000b000000100000000d00000007000000c0d51100d0d51100dcd51100e8d51100f4d51100ebd2110000d611000bd611001bd6110028d611002473657264655f6a736f6e3a3a707269766174653a3a4e756d6265722f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f6c69622e727372656d61726b7365745f686561705f70616765737365745f636f64657365745f636f64655f776974686f75745f636865636b737365745f73746f726167656b696c6c5f73746f726167656b696c6c5f70726566697872656d61726b5f776974685f6576656e74617574686f72697a655f75706772616465617574686f72697a655f757067726164655f776974686f75745f636865636b736170706c795f617574686f72697a65645f7570677261646574696d737461703054696d657374616d7020696e686572656e742064617461206d7573742062652070726f76696465642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f74696d657374616d702f7372632f6c69622e72732ee211004e0000003d010000060000000000000009000000010000000b02000054696d657374616d7020696e686572656e742064617461206e6f7420636f72726563746c7920656e636f6465640000002ee211004e0000003c010000060000002ee211004e00000027010000060000002ee211004e0000002601000006000000e29c85206e6f206d6967726174696f6e20666f7220000000fce211001500000072756e74696d653a3a6672616d652d737570706f72746672616d655f73797374656d3a3a70616c6c657470616c6c65745f74696d657374616d703a3a70616c6c65742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f7365722e72730000005ee311005f0000002308000040000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64655ee311005f0000000d060000120000005ee311005f00000030080000330000005ee311005f000000850800001600000066616c73655b5c225c5c5c625c665c6e5c725c743a65787472696e7369635f696e646578f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e205468652070616c6c657420686173206e6f20646566696e65642073746f726167652076657273696f6e2c20736f20746865206f6e2d636861696e2076657273696f6e206973206265696e6720696e697469616c697a656420746f202e00004ce41100100000005ce4110075000000d1e41100010000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f617572612d6578742f7372632f6c69622e727363756d756c75735f70616c6c65745f617572615f6578743a3a70616c6c6574010020646574656374656420696e207468652072756e74696d652e20496e697469616c697a696e6720746865206f6e2d636861696e2073746f726167652076657273696f6e20746f206d61746368207468652073746f726167652076657273696f6e20646566696e656420696e207468652070616c6c65743a2000004ce41100100000005ae5110078000000426c6f636b206e756d626572206d757374206265207374726963746c7920696e6372656173696e672e000000e4e511002900000004e111004b0000007f070000030000005d202065787472696e736963732c206c656e6774683a2020286e6f726d616c20252c206f703a20252c206d616e6461746f7279202529202f206e6f726d616c207765696768743a20287265665f74696d653a20252c2070726f6f665f73697a653a202529206f70207765696768742020287265665f74696d6520252c2070726f6f665f73697a65202529202f206d616e6461746f7279207765696768742025292de411000100000028e61100020000002ae61100150000003fe611000900000048e61100070000004fe611000d0000005ce61100130000006fe611000c0000007be611000f0000008ae611000d00000097e611000b000000a2e611000e000000b0e61100160000006fe611000c0000007be611000f000000c6e611000200000072756e74696d653a3a73797374656d6672616d655f73797374656d45787472696e736963206661696c656420617420626c6f636b28293a2063e711001a0000007de71100030000005573656420626c6f636b207765696768743a200090e71100130000005573656420626c6f636b206c656e6774683a2000ace71100130000003a636f64656672616d655f73797374656d3a3a696e697469616c697a653a696e747261626c6f636b5f656e74726f70792f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000f8e711007d000000d1070000090000000000000000000000010000000c0200004e6f646520697320636f6e6669677572656420746f20757365207468652073616d6520686173683b2071656404e111004b000000f5070000050000002060536f6d6560206966206120636f6465207570677261646520686173206265656e20617574686f72697a65642e20446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e20546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e20546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2048617368206f66207468652070726576696f757320626c6f636b2e20546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e205768657468657220616c6c20696e686572656e74732068617665206265656e206170706c6965642e2054686520657865637574696f6e207068617365206f662074686520626c6f636b2e2045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e2054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c7365202864656661756c7429206966206e6f742e2053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e2054686520776569676874207265636c61696d656420666f72207468652065787472696e7369632e205468697320696e666f726d6174696f6e20697320617661696c61626c6520756e74696c2074686520656e64206f66207468652065787472696e73696320657865637574696f6e2e204d6f726520707265636973656c79207468697320696e666f726d6174696f6e2069732072656d6f76656420696e20606e6f74655f6170706c6965645f65787472696e736963602e204c6f67696320646f696e6720736f6d6520706f73742064697370617463682077656967687420726564756374696f6e206d7573742075706461746520746869732073746f7261676520746f2061766f6964206475706c696361746520726564756374696f6e2e205468652063757272656e742077656967687420666f722074686520626c6f636b2e205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e2054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e6465786573206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e20416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e205468697320616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e6420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e205468652076616c756520686173207468652074797065206028426c6f636b4e756d626572466f723c543e2c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573742074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2e20497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e20426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e426c6f636b5765696768747320546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e426c6f636b4c656e677468204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e426c6f636b48617368436f756e742054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e4462576569676874204765742074686520636861696e277320696e2d636f64652076657273696f6e2e56657273696f6e205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e2054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e2069732074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f6620697420617320616e206964656e746966696572206f662074686520636861696e2e53533538507265666978205468652061676772656761746564206052756e74696d6543616c6c6020747970652e52756e74696d6543616c6c20546869732073746f72657320746865206e756d626572206f662070726576696f7573207472616e73616374696f6e73206173736f636961746564207769746820612073656e646572206163636f756e742e4e6f6e636520546865206f7574707574206f6620746865206048617368696e67602066756e6374696f6e2e48617368205468652068617368696e672073797374656d2028616c676f726974686d29206265696e67207573656420696e207468652072756e74696d652028652e672e20426c616b6532292e48617368696e67205468652075736572206163636f756e74206964656e746966696572207479706520666f72207468652072756e74696d652e4163636f756e7449642054686520426c6f636b20747970652075736564206279207468652072756e74696d652e205468697320697320757365642062792060636f6e7374727563745f72756e74696d656020746f207265747269657665207468652065787472696e73696373206f72206f7468657220626c6f636b2073706563696669632064617461206173206e65656465642e426c6f636b204461746120746f206265206173736f636961746564207769746820616e206163636f756e7420286f74686572207468616e206e6f6e63652f7472616e73616374696f6e20636f756e7465722c20776869636820746869732070616c6c657420646f6573207265676172646c657373292e4163636f756e744461746143616c6c3a3a72656d61726b00000000000400000004000000b200000043616c6c3a3a7365745f686561705f706167657300000000040000000400000089010000706167657343616c6c3a3a7365745f636f6465636f646543616c6c3a3a7365745f636f64655f776974686f75745f636865636b7343616c6c3a3a7365745f73746f726167650000000000000004000000040000000d0200006974656d7343616c6c3a3a6b696c6c5f73746f72616765000000000004000000040000000e0200006b65797343616c6c3a3a6b696c6c5f70726566697870726566697800000000000400000004000000040100007375626b65797343616c6c3a3a72656d61726b5f776974685f6576656e7443616c6c3a3a617574686f72697a655f75706772616465000000000000000400000004000000b5000000636f64655f6861736843616c6c3a3a617574686f72697a655f757067726164655f776974686f75745f636865636b7343616c6c3a3a6170706c795f617574686f72697a65645f7570677261646543616c6c54436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e00000000000000f6f61100430000004572726f724572726f7220666f72207468652053797374656d2070616c6c65744df711001b000000496e76616c6964537065634e616d655370656356657273696f6e4e65656473546f496e6372656173654661696c6564546f4578747261637452756e74696d6556657273696f6e4e6f6e44656661756c74436f6d706f736974654e6f6e5a65726f526566436f756e7443616c6c46696c74657265644d756c7469426c6f636b4d6967726174696f6e734f6e676f696e674e6f7468696e67417574686f72697a6564556e617574686f72697a65644576656e744576656e7420666f72207468652053797374656d2070616c6c65742e00000021f811001c00000045787472696e7369635375636365737345787472696e7369634661696c6564436f6465557064617465644e65774163636f756e744b696c6c65644163636f756e7452656d61726b656455706772616465417574686f72697a656452656a6563746564496e76616c6964417574686f72697a656455706772616465446566656e736976656c792062756d70696e67206120636f6e73756d6572207265662e000000c2f81100230000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f62616c616e6365732f7372632f6c69622e727372756e74696d653a3a62616c616e63657370616c6c65745f62616c616e6365733a3a70616c6c6574617373657274696f6e206661696c65643a206163636f756e742e667265652e69735f7a65726f2829207c7c206163636f756e742e66726565203e3d206564207c7c20216163636f756e742e72657365727665642e69735f7a65726f28290000f0f811004d0000007204000006000000205468652063757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e2057686574686572207468652074696d657374616d7020686173206265656e207570646174656420696e207468697320626c6f636b2e20546869732076616c7565206973207570646174656420746f206074727565602075706f6e207375636365737366756c207375626d697373696f6e206f6620612074696d657374616d702062792061206e6f64652e204974206973207468656e20636865636b65642061742074686520656e64206f66206561636820626c6f636b20657865637574696f6e20696e2074686520606f6e5f66696e616c697a656020686f6f6b2e20546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e2042652061776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20466f72206578616d706c652c20696e2074686520417572612070616c6c65742069742077696c6c20626520646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e4d696e696d756d506572696f642054797065207573656420666f722065787072657373696e6720612074696d657374616d702e4d6f6d656e7443616c6c3a3a7365746e6f777365742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273005cfc110067000000f70000000f0000007374727563742047656e65736973436f6e6669672043757272656e742072656c617920636861696e20736c6f742070616972656420776974682061206e756d626572206f6620617574686f72656420626c6f636b732e2054686973206973207570646174656420696e205b60466978656456656c6f63697479436f6e73656e737573486f6f6b3a3a6f6e5f73746174655f70726f6f66605d2077697468207468652063757272656e742072656c617920636861696e20736c6f742061732070726f7669646564206279207468652072656c617920636861696e2073746174652070726f6f662e2053657276657320617320636163686520666f722074686520617574686f7269746965732e2054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c20627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e54696d657374616d70206d7573742062652075706461746564206f6e636520696e2074686520626c6f636bd5fe11002b0000002ee211004e000000e6000000040000000f0200000f0200000f0200000f0200000f0200000f0200000f0200000f020000100200000f0200000f0200000f020000000000000400000004000000ec000000303030313032303330343035303630373038303931303131313231333134313531363137313831393230323132323233323432353236323732383239333033313332333333343335333633373338333934303431343234333434343534363437343834393530353135323533353435353536353735383539363036313632363336343635363636373638363937303731373237333734373537363737373837393830383138323833383438353836383738383839393039313932393339343935393639373938393900000000040000000400000011020000496e686572656e74446174614578697374734465636f64696e674661696c6564466174616c4572726f725265706f727465642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727300006200120084000000160200002f0000000000000004000000040000001202000000000000040000000400000013020000557466384572726f7276616c69645f75705f746f6572726f725f6c656e000000000000000800000008000000140200005765696768747265665f74696d6570726f6f665f73697a6553746f7261676556657273696f6e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f76616c75652f7365722e7273006e011200650000004f010000120000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300e40112006f000000be0100001d000000000000001000000008000000150200000000000004000000040000000e0100005065724469737061746368436c6173736e6f726d616c6f7065726174696f6e616c6d616e6461746f727900005ee311005f0000007d020000280000005ee311005f000000a2020000280000005ee311005f000000fa010000280000005ee311005f000000080200002800000062616c616e6365732f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f67656e657369735f636f6e6669675f707265736574732e7273f80212005c00000021000000050000006b6579d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d7375646f70617261636861696e5f696470617261636861696e5f696e666f617574686f72697469657361757261160200000400000004000000a401000073657269616c697a6174696f6e20746f206a736f6e2073686f756c6420776f726b2e20716564646576656c6f706d656e746c6f63616c5f746573746e657473657269616c697a6174696f6e20746f206a736f6e20697320657870656374656420746f20776f726b2e207165642e000000f80212005c000000450000000e0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f746573745f70616c6c65742e727320412073696d706c652073746f72616765206d617020666f722074657374696e6720707572706f7365732e63756d756c75735f746573745f72756e74696d653a3a746573745f70616c6c65743a3a70616c6c657443616c6c3a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f64617461637573746f6d5f68656164657243616c6c3a3a726561645f616e645f77726974655f6368696c645f747269657343616c6c3a3a726561645f616e645f77726974655f6269675f76616c756543616c6c3a3a73746f72655f76616c7565735f696e5f6d61706d61785f6b657943616c6c3a3a72656d6f76655f76616c75655f66726f6d5f6d61707365745f637573746f6d5f76616c69646174696f6e5f686561645f64617461726561645f616e645f77726974655f6368696c645f7472696573726561645f616e645f77726974655f6269675f76616c756573746f72655f76616c7565735f696e5f6d617072656d6f76655f76616c75655f66726f6d5f6d617063756d756c75732d746573742d70617261636861696e00df6acb689907609b05000000d7bdd8a272ca0d650200000004e70521a0d3d2f801000000dd718d5cc53262d40100000037e397fc7c91f5e402000000bc9d89904f5b923f0100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b010000007dc23ff6bf0f15ca01000000ea93e3f16f3d696203000000fbc577b9d747efd601000000a2ddb6a58477bf6301000000ad694c0c2537478a01000000000000800d06120016000000000000800d0612001600000000000080240612000f000000010000000200000001000000010000000100000042616420696e70757420646174612070726f766964656420746f2076657273696f6e3a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e00000010071200a10000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f6c69622e7273000000bc07120049000000f10100000100000042616420696e70757420646174612070726f766964656420746f20657865637574655f626c6f636b3a202e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e0000180812002a000000420812004800000042616420696e70757420646174612070726f766964656420746f20696e697469616c697a655f626c6f636b3a200000009c0812002d000000420812004800000042616420696e70757420646174612070726f766964656420746f2063616e5f6275696c645f75706f6e3a2000dc0812002b000000420812004800000042616420696e70757420646174612070726f766964656420746f2072656c61795f706172656e745f6f66667365743a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e00000018091200ad00000042616420696e70757420646174612070726f766964656420746f20736c6f745f6475726174696f6e3a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e00d0091200a700000042616420696e70757420646174612070726f766964656420746f20617574686f7269746965733a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e000000800a1200a500000042616420696e70757420646174612070726f766964656420746f206d657461646174613a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e0000300b1200a200000042616420696e70757420646174612070726f766964656420746f206d657461646174615f61745f76657273696f6e3a20dc0b120030000000420812004800000042616420696e70757420646174612070726f766964656420746f206d657461646174615f76657273696f6e733a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e001c0c1200ab00000042616420696e70757420646174612070726f766964656420746f206163636f756e745f6e6f6e63653a200000d00c12002a000000420812004800000042616420696e70757420646174612070726f766964656420746f206170706c795f65787472696e7369633a200c0d12002c000000420812004800000042616420696e70757420646174612070726f766964656420746f2066696e616c697a655f626c6f636b3a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e480d1200a800000042616420696e70757420646174612070726f766964656420746f20696e686572656e745f65787472696e736963733a20f80d120030000000420812004800000042616420696e70757420646174612070726f766964656420746f20636865636b5f696e686572656e74733a20380e12002c000000420812004800000042616420696e70757420646174612070726f766964656420746f2076616c69646174655f7472616e73616374696f6e3a20000000740e120031000000420812004800000042616420696e70757420646174612070726f766964656420746f206f6666636861696e5f776f726b65723a20b80e12002c000000420812004800000042616420696e70757420646174612070726f766964656420746f206465636f64655f73657373696f6e5f6b6579733a20f40e120030000000420812004800000042616420696e70757420646174612070726f766964656420746f2067656e65726174655f73657373696f6e5f6b6579733a200000340f120032000000420812004800000042616420696e70757420646174612070726f766964656420746f206765745f6c6173745f74696d657374616d703a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e780f1200ac00000042616420696e70757420646174612070726f766964656420746f20636f6c6c6563745f636f6c6c6174696f6e5f696e666f3a20002c10120033000000420812004800000042616420696e70757420646174612070726f766964656420746f206275696c645f73746174653a207010120028000000420812004800000042616420696e70757420646174612070726f766964656420746f206765745f7072657365743a2000a810120027000000420812004800000042616420696e70757420646174612070726f766964656420746f207072657365745f6e616d65733a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e0000e0101200a600000042616420696e70757420646174612070726f766964656420746f2070617261636861696e5f69643a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e000090111200a600000042616420696e70757420646174612070726f766964656420746f207461726765745f626c6f636b5f726174653a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e0040121200ab000000010000000100000001000000060000000100000001000000010000000200000002000000020000000100000001000000010000000100000002000000080000000800000008000000040000004964496e6465785261774164647265737333324164647265737332304d756c74694164647265737373705f72756e74696d653a3a6d756c7469616464726573734163636f756e7449644163636f756e74496e646578466f756e64206d756c7469706c652041755261207365616c206469676573747300000095131200200000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f617572612d6578742f7372632f6c69622e7273000000c01312004d0000008b000000180000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000201412007d000000d1070000090000004163636f756e744461746170616c6c65745f62616c616e6365733a3a747970657342616c616e636542616c616e63654c6f636b5265736572766544617461526573657276654964656e7469666965722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730000ff14120067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f6d6f642e72730000007815120071000000560a0000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300fc1512006f000000620300000900000000000000000000000100000021020000556e646572666c6f774f766572666c6f774469766973696f6e42795a65726f4572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f6465636f64652e72730000b01612005a0000006b0000001e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e727300001c1712005a000000410000001e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c69622e7273881712006000000063000000150000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f73747265616d2e72730000f817120056000000470000003b000000f81712005600000047000000490000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6e6962626c657665632e72737018120068000000160100000f00000070181200680000000d01000010000000701812006800000011010000100000007018120068000000110100002a000000496e6372656173654465637265617365fc1512006f000000be0100001d000000fc1512006f000000a80100001f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f697465722e7273004819120073000000f6050000150000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d726f6f742d302e31382e302f7372632f6c69622e7273000000cc1912005d000000a100000026000000cc1912005d000000a10000001f000000d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4890b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20e659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e1cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07cbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25ffe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625e860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c8ac59e11963af19174d0b94d5d78041c233f55d2e19324665bafdfb62925af2d101191192fc877c24d725b337120fa3edc63d227bbc92705db1e2cb65f56981aac859f8a216eeb1b320b4c76d118da3d7407fa523484d0a980126d3b4d0d220a1254f7017f0b8347ce7ab14f96d818802e7e9e0c0d1b7c9acb3c726b080e7a03496e76616c696420617267756d656e747320746f206076616c69646174655f626c6f636b602e2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f6c69622e727300321c120049000000860200000100000009000000080000000e0000008c161200951612009d1612000800000008000000080000000400000050726f6f664465636f6465416273656e742f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f747269655f6261636b656e642e727300000000000000080000000400000022020000230200002402000025020000260200002702000028020000000000000800000004000000290200002a0200002b0200002c020000260200002702000028020000c51c12006000000052010000160000002d0200005400000004000000a8010000a90100002d0200005400000004000000ac010000ad010000000000001000000004000000aa010000ab0100002e0200001000000004000000af010000b0010000b1010000b20100002f0200001800000004000000b4010000b50100006e6f7420696d706c656d656e7465642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6261636b656e642e72730000031e12005b0000007801000003000000031e12005b0000006601000003000000031e12005b0000003b01000011000000031e12005b0000003901000011000000031e12005b0000006b01000003000000031e12005b0000007d01000003000000031e12005b00000061010000030000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300d01e120067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000481f12007d000000d10700000900000000000000040000000400000030020000000000000400000004000000310200004c61796f757473697a65616c69676e00000000000c0000000400000032020000330200003402000035020000360200003702000038020000000000000c00000004000000390200003a0200003b0200003c020000360200003702000038020000000000000c000000040000003d0200003e020000000000000c000000040000003f020000400200002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300802012006f000000be0100001d000000050000000600000006000000b41c1200b91c1200bf1c120001000000000000000000000000000000000000000000000000000000000000000000000000000000b0a00e02d2c986019d188f007f693500600cbd00a7d7fb019e4c80026965e1011dfc0400920cae00edd3f51cd21893009635e71d45bdf31d4d01000000000000000000000000000000001000129d5f0b171b141e3d7f8d1557373f1481d772197ceb2f043dc7ee1c1e4d181e6d040500edf94d110373611a8c097c0f673179166e65fd1fffffff1fffffff1fffffff1fffff0f002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f637572766532353531392d64616c656b2d342e312e332f7372632f7363616c61722e72730000d421120066000000340400001c000000d4211200660000005704000012000000d4211200660000005804000012000000d4211200660000004304000012000000d4211200660000004304000035000000d4211200660000004004000011000000d4211200660000004b0400000d000000edd3f51cd21893009635e71d45bdf31d4d01000000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000000000000000000000000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f637572766532353531392d64616c656b2d342e312e332f7372632f656477617264732e727300f8221200670000002e04000009000000b0a00e02d2c986019d188f007f693500600cbd00a7d7fb019e4c80026965e1011dfc0400920cae00ea405d00a06a3f0039d357020bd2ba0058bc740240d80100ffc83d01d8429401fffa5c0024b2e101723b8c05bcf12403f625c30160dc3702b64c3e03c2423d02314ca405e0a44c014b3da303743e1f023e91400375410e00a273d603058a2e007ce6f403098a8f00341ac200b8f44c00818f2901bef4130168aa7a036181440079d5930056651e01a0679b008c594301eee5be01430bb500c6f08902ed45bc01d7713c0324ff390343b2b6027fd0b300761a7d020207d601f0324d0354cbc501d287fa0318306401a8d5b4021058690053d19e010573620004ae3c02aa376e01d8b5110313bcaa00929c660256d6ae015f7a9b01e92caa007f08ef01d6ecea00af05db00316a3d010542d003016a6e0150ea1303d66bc0013097ee04122a6c01e455710132448701106a0904316701014f01a80522981e030ea8b9013859e80165d2fc0029fa4700ccaa4f030d2eef014f4def00bdd64b01108df90026504c01bd55750056e4aa0089d8d001c3cfa40195424c03aee110018c5062014cdbf200c6a272002eda98009b2bf1029aa068019f09fc02636ed4000e05a704e8efa3011b979d0165920a01fd9e460645f9e400581e3204433aa001bf18680181428101bf32550307b38a0125fac9007350a00083e671007d5893005a44c700fd4c9e0009ff760071fafe00424b2e00e6da2b00e578ba0194442b00887cee01bb6bc5015335f6033274fe0120bba5040111af004254a001f73a1e022241350244ecbf022c86f505a27bdd021f6e14073217a502bad64700e9b06000f2ef360139598a005300540387a064005c8e7802677cbe00b5b13e03f929550085822a0160fcf60097973f02ee853e0020389c002da7bd018d85b3018356d300bbb39602f9aa0e0131711503ddba3b014107f10145064800569c6c0635a759026c34db060bb01701c32c6a07ed954701a48c7d039ead01003329e700913e21008a6f5d01b953450090732e006197100117e41a0031d9e200714bea02c0990c01b53060030d0d1a0080c3f90244c13b00842551027c6a3c00d6f0a901a4e34200bfa34e0424349702624d1a04ed9cd501d4c0d105482e54021341290535ce4f02c8839202a96f1801b1213202aa26cb014df77400d1dd99008580b2013a2c1900c9273b01bd13fc0031e5d20175bb7500a2b3b8010072db00305e9300f52938007d0dcc02f3ad77002cdd200253ea1400f9a0c601ec7eea017c3edd008159d603358b05024314bf030cccb20522c3d9002f33ce0525f6a500ce1b06029d572402d93492037c7bd701543c1f03aa0d0700daf55802fb233c0037d6a00384653800e02013029240ea001a91a20172767d00f8fcfa00655ec401c58de202322ab600870c09026cacd201c4ecc201f1419a001d9c2f0398433701d9a5220648b4b302d9424705577a6302d3b5db035b2ae701ee009a04f44db7015e51aa0112d5d800ab5d4700345ef8001297a102c4d14201adf40f02a130b700313df002b55dc300c7e40601c8051101882ded036b9404005a4fed03263f4d013452cf018e16760164e812015c1a4300f2c7580320a88a0194e1480002d11b012bf5a801dced11011dd369028ceedd008050f5026efe0e02de5fbe01df09f100924cd4036bcd68013e7599009045300023e46f00c021c1016fd6be027298970004665800334af800e2c78f02cba26501cf61bd01f5681200e6f61e03169445006e583402e1b55901bd2f5a0271a150031f74f804b29857014490b10158ee1a0338207101014d45023a79340397ee53023408c100e727e901c6228a00de44ad005b39f202dbd27f01bf07f6029623bb00c3eca5006f5dce00d4f785019a85d1019ae70a00404e26007af964011e1361013d5bf901f8854d00c53fa802730a5200a5ec7106d2cbc2013c64fc022305ca01765b9903804f1d026667ab02ecd76f03d6354504eef01702c295dd0325e1de00e8ffb4027552850138d1b1018be885009eb02e02c1732e0058f7e5011c67bf00dddeaf0294eb2c0097e41902d96967008e55d2009581be01d4415e027486e00151c675009ddddc0090652404c472250267aca6020ab600025048bc0360bc100343060a04c69391010709730540d6af01d9add100507fa600f7e50402a6b77c01591ccc02ae3bf0010a29f8016c2833018fb1c30295fa7e008a5b4101783cde01f4c1ef001dd6bd017f021900509aa2004ddc6b01eacd4a0135a6670373480900d15e2f031dc8190122d659033cb08c0152e2a3034a82ac00802611045e899803d57c9f054e5d000294529d02c282fb0127ca4c03fa7ee0009d633e02ce07e1015f44c3008cba9d018213e7032980fe0034db3d0265cb48008d070b03b9a4d5001f7a770085f29100d0fce8035ad5b6018e04fa02f8d74a00921e6f05aa09df02e47b22055b821a014c9b2d05c28b1c013ae04e048711f7006c7920044efabd014de3fc0225f13e003eae7d039a6f5d0109e6ce0161c52801ff30390240fa0d0012fb9603db6dd20105aea6022b81bd00eb23930324f78d01478d0403666bff00f75a0400352c2a00021ef000043b3f00454e240470a7b400be47c103c69ea4013908ac044c210c02403f0304984d2101abfe6601e4dd0401441efe019229560189ccef026b8d1101baf28700d2d07f00442d0e0248603e00513c1803a9062401f0f81a0023d56d00168136031423e101e93d380339d906008f7c5800ec7e4200d126b70321ee06019b9166005f16d302c30f99022d54e80174229205e6fa4a011a8664055bbbc301a9c67004771c2a02be4643001d511f001da86401a9ada0006b2375003e603b01500c450187efbe01dbfc1200a3dc3a018989bc0352666d0060064c00eaded201b8aecd013c9ed5010cf1d600ac818c005d68f200c09cfb0018751e04e0519e027ee8da04e11ccb02e81b9703742b0501f10e2f071f14060288fb2c021a1ff501b7d67d0227799500ba9ed5035808e30045580002ca87e100c9aecb009347b800127929025d054e00e0d6f0022305b400fb87e701a38ad400d2f974025781bb00130831023d0e90019e4cd300d63352005a75e40266dfcb014afc0f059947dc03150d5b058ca86003b3b68504f9333702e9ead402ae3f9e0227f034019ebd2401d428550120b4f70112661a01541861014415de00948b7a01dbd5eb01e8cbff0066399300e3079a00351693014801e10052863002523c9d019048a9002267ef00c6e92f0074130401a56a0903b681530223b0e60122674802daa28604f42a9e021f956002a42c9002c9ef4802d69605022a42240184d7af0056ae560319c59c0130e8870266b65200fd80b00199b27a00f5fa0a00ec18b200766a8400281d2900321e98037b692600e6bf4b008f2baa002c8314032b0d1701ecff9b019f6d64015db5180766dc6c0236d38304620cd50197979103ed059f02609b0804206c5102000367043d6d2201fa9bb4002047c301254691019f5ff50045e56501881cf0004fe019004e6e7901f7a87c00bb80f700ef92eb024e0b8400463a0c01b508a3014e89850324aa0b018cf35503afe7d701cb96a403eed727011b579c0207a35801ab22e804412c66011a362902eb635701287ba90134722b02748628049a861a02d4cf5b022284260112667d0223e38501750371031c0d7c0098604a015892ce01a6bfdc02a1125801b66417001f753400512e6a010c0207004550c901d1f6ac000c308d01e0d3580074e29f007a6282001becea01e1e20903cde27b0159d63b026f8758015af4cb032f0b2601816cba0258700f05642ecc037fcc2d024effdd01324912037e2a6501f015ca00a0e307006932ec004f34c50167cad001b40f100052c54e03614dcb0029b9f10123c17c00239b1703ce35c0000b7da301f99eb90103833000155d6f012a79e70544c82403b730b9036eee15012632190362d7a30156d41e03a39305017f0623016cdf6e01c24cb2004a65b400f32f3000ae192b0151adfd013672c00127375b00d76cb0010a380700e0e94c00be62ca02f1197d002cc15d02ca08b10087b013007047d501cd3bb00104431a000e8fd5022937d0013c437804c015a30063a47304091476009cd4de029f07d90171f54c05743b7b00b0c25602d40fb0004ececf02d4813b00e9fb160160379801ebff0f03c45954015c958500aea07100ea63a903977458007da453035e1dc601212f0f036278860104ecc100f9f77e0192bb1e0032e675016bd9db03a251a6013519a90699794f031a9b5906057e1102924121052eeafd02193312046853c701a2c4e60470f8a402cffeda00bdd1cb01a3f7de02fe23a50004bcf3017fb3470025edfe0363baf0000539470266484901e1125102e4d28401ed06b4030ae5ae01e2ddc00111311c00a3d7c4020876040132f0470071816d0139f0e700bcb17f027c472c0519aff3005ea919021ae61d020e8b7701a8aaba01abc54c03fb4bbc02897cc400481660012c97f901dc91640040c09f0377efe20081b2920000c07d00eb8aea00b79d920040c7c003b7ac480148e180004d06fa01b941430068f6cf00bc208a03d918f200438a5102ec81790101cf960129c71003041480049e760502b4108f03db260f0216409302481a0d0256e43905cb7c80021818df00db63c700164b1403121b7e009d3ed7006e1de600b3a7ff0136fcbe00ddccb602b29e4101519d0300c2da9f00aadf0000e00b200125c56200a8a4250017580701a4ba6e0060248600eaf2e500e7791304f1fe7001022f5e0508ef060150869902d5fda803417ce004f45f4a021b1e2c02006ddc01b2595900fc244c0018c62e034b4d6f0086ea8803265e1d00b948ea0345448701e66607024ce78c00a72f3a01946176010f1be101a6ce8f016db2d603b383a2008f8de1010dda4e01719921016268cc009c727501a7ce4b02c9c453013a404302892f6f05c3f7800188e0e0029d70cf009a64ff0186256b02c6804f037ed19b01a2feb9023b0ef3001fdb70021cd94100c80d74027a3cc401df3bb802f159c40068104b029410ce0045fe3001e774df01d0a04101c850620025c2b802933f22008bf04103d890840125262d02c678d2006cb1a6039fde0402db7e7702a46ba00350dcf805f0af8800908d1703a88a54028d894e03e1765001331b84033e608b0197fa2700bc9b0f00e8339602270fe801efe5090388af1b0138496101dad40b008705a2016bb9d50002f96b0327f24600dbc81900199d0d0043525003c3f917017e149504314892025d4c940517fb41021ec01704b7d4c9017ae9a205f6ad4802a157db027d8659028c0b0c02a5691d00491be4017178b70141a36d01d48f0b019ee7a801ff805a00390e3a0258340a01fd08a3010091d201098155012eb51b006788a0027dbcd10121236f00d7db1801d30bd60264057600d5c58503dea76d03eb505603458b5e029dc1bf019b0f33010ebe73044d87cf01f80a1b05b47de9025fac0d02a9d5a10126ec8a035e5d5701bd805f007d0fce00a6969f00e30f9e01cd9e7803298d800052b278019c6d8300da0e2c02f6a8ce01d3701c007011e40159102501c5de6c00fecf5303085af301e0f4ac001a587301cc747a04bee6c102b3640b05d8256001994e9c04eaea1f01cdb2b20394c0fb02b6fa8700f61669007cc16d0301d29501a811aa0000606e0174090801327b2801c0bd630022e3a00030504602d233ec002d7af5022bae0800ad25e9039d41ab007a45d70359500201826a6002e2728700ba317702af3e400350331107ef14f301810d08067ed9f301a11b01025976f100f6c6f60336107601c89f9d00a31101008c6b790055a17601250095009c2fee0009a6a6014b62b501314a1900420f2f008be19f004c038e010deeb8000bcf3501b6c0ba01ab20ae01be4cdd01f7aadb0019ac3202d809e900b87e4403b65c30027ea7b7014131fe00103f7f05fd15aa013ae07f0614303f03194e820227c31d02fa84700222cb900068a9a800cffd1e01672826025de45800ce108003d3377a01de16ea00dfc57f00fdb5b50191667600ec992403d3d9480113261802893e3e00988c0400e6dc63010015d40393c9e700ce7b0902ffaad202323a250300ff0e03f2b79106fef1a600164a840478d829025ec37206831897039ce2e703f6054d01f5947302e05c5101dd50f602a97b590149c78d001d140801898846035c4b5c00dd933102337ee200e57c17002e09b500cd40340183fe1c00979ed40083404e00ce19ab0000e68b0099fd6e0266f7a7023f2828012aa5f1013a4be4067af3bd01c35cb203818c56018c59380193c60503cbf89e028fa28d000bace200822a150100a78f038f2424012f58a402a7aadc006247d6005bd04f008c4cc901a62ad60144ff000305807d01bd018c009253da01d6ee48017a7f3500bd74a50353084201c303d003d46e8502c2a82c019ee74502a140c8025a3a6800b63abb02f8e48802ca864c0262dde9024bfed6024f459a004098f802eb88ca019c69990294af1400162313037b79e900bafac60283e58b007650ae03a47d440090ca9402eaeff80087b87600655e110179484602448292007fdef801457f76010b52d702bb4a1301e4a7c2027419420140ea3806d3169c02963b5d022c1c1b03b87ea4031f06ef027f726301db3402016260a6023dbe7e016bdea8014be2ae00e6e2c7003c75da01fbf81401d6bccc000cc286027a45c001a8ad240236625b00df2a6602880166009d5a1900ef7a4001fb06e900073614013f74ae04862536010eba7d04e270af0163b4e10329edf401f3ade202f7122102aa63960349eb32017552200269a8ed00cf6dd001e409ba00873ca902b25c8f00f4aa6803ea2d7c014563ba007589b700cd1fd700280964001a105f0144d957000897140319643a01afa5cb01347646000720fe02f3fef5019490c2037c711703ae79b5048754d10289061e0358301c02209b0e0318f09a028ccd6d0545733e0101286b02899ac7015ddfe2039cab2600a3b119022c7603010dde1701d1be5101757be8010dd5650168377b021af6a50032634c038bd6200160414303170c1c00ae564e0140f76000a08743004237f30180cc6003190621016133530598d5d00101b8360318da0b023043f606109548030b194804294fd602170426011b8b900194bb170012a48400f554b80277c668017dda60003875ea010c1dd602432f0a01a79a84029726c60042b25903c72eab010c635303d1bbfd01a92d2a018ad17c00d6a28d000ce69c00532470060193430233d77b03e8ab360161893e04f6da2703e5daec00f7bf7f00c3925404a4b05c0113d45e03104ae30058289901c6930101cd43f502ef03da013c8dd50360b76a00c3e8eb025e569a00be30cd0275d1f101ef78df01d51d9f00a37f93030cda5d005518440245145001bc058c015261fe015063bf038354850369da74036f7a2e0268112004c1a03f0342de2705d7fd5c02b069cd0394c9c30217e10b0327a2730009075100a5dadb00b41600021c92fc0191cfe101b48760001fa37000b10bdb01850cc1022a4e3200417179013bd906016d5e180170ac6f00070f600024557b0047961503cf49bc00c00ba701d5f5220208e65c04a18e2701d65a1b04616159025d4fd304599df0005fdc7e0565b0e200111ee002221f7f00e7e8730155538200d249f5032e8f72014341c5003b483e01b685ad025c7976013bb15103e945ad01cc80b100dcf433001af4d10149de4d01a20860029595d3009efecb01367f8b008ee03b04036d1601dd2a2d07ce926601eb8ebb0431cdf501094a59022f4f8e00de4c82031da63f02d90c0d0330b8f400bb716600da65fd009939b6021f962a0019c69201edf138008c4405005ba4ac013b91ba024234cd00dbcf81016d731100368f3a0115f87801b2ff1e00c1ec420100ff0703fcc03001ed44d90502d600013f659205de7d2303e949b303f8a7e200e1af0a0161a23a026970ab0154ac0503858cb20385f58e00615a7d03b9cbb901de4d1703bf5c6a000fc67303d898f800abb27803e3863500b036c101fafb3500d50a640122c76a00971ff402abe057010ded1703fc551a017e277403ab686400e80e4603d3d08a03fbd3fa04af31a5000f4c7b0324daa0015b871005097e72014505e003f6f98d0231143c01f1d2bd01c2d9bb0197037100975cae00e73eb201dab7e10017172101ccb5500039b8f80130b40103597b5d012600a2035ff8340153428c00227fe401c18a0701a66ebc0015119b019abec601c3503b0311078f00481de205c6d9f900e8a1470195bec900d9af5f0270934303888fc7037ecc01021db65301cee69b01b9cc3c000a7d5501e7601903fe59f701d4feaf01e8c151001c2b9c020b4508008018f80012c63100863c230076f612013058fe02e315ba01b5417001db160101157e3403bc3531015d198f04257f3701e165a306ce853d018845ae05bd7691033a62db03d80df501f9880a0453fee202c91f7d01f033fb011e838203018a3201d6d7b101df0cee01fb9538037b5b4401477eaa0276ff64006f87e8030d4fb200fa83c5008ac6d00079d88b02761224011cc17a00102a2d01d4f0eb01e6bea901c623e4026dad4802d5ddf10337948702bf754e068b5dcf018e419504141262015e2cf4016abf4d00eb550802d56eb00148ad13029fc4c701ec5a9000c1ac7101c79b8802e35add0089314a01a4ddd701d1bd050368ec3701291f8101c1ffec002ed93c008a58bb01e152ec03504597018dbe10010d8608006c7a300350409c00abf38b04ec23f6007a8fc102d37a92025e29ff0556844d0203d41f04101f4e02142dad02178ed9015e090603e2530600623b82023d1e21000873d301a261800106b81702731ca801f88a970361f4f000ba76820072f8eb0168adc801a07c47015d24a401af419201edf1aa02c9c6c500d1478a022cf66d03c0349e0085bbb00053fc9a0657bddd01a949fc04933a7d00244433062845b101a84c56032564cc0125352300af136100e1eefd0350518700d21bff02ea496b0008cf7300527f880041631502ce13880064a4650050d04d0183cfed030e030f0120a66e009c5f550124b96f01966a230180974c04715787019ec240040b7a1f01e7076506ab7762029947dc02be393501a7e8a007de206303c79ca5009799a300d90d9401c5715900951ca102ce171e006984e30335e65e0184adcc035bb79d015890fc0265215a009f610300b5da9b01ef7277006ad63501a4be7301985be101576a2c03cf3d710084347c04be1b9c016d36ec050d1ea601267fcf05e4c71c00bce4bc06629deb02f5dab7056a16c101bba05f004cef9300cfa1750033a6020133750a024838e30197c1e100845e880164bfd100206be501b32bb40164d276007243990316581a01589a5c01dc788c018f72cf03fb73fa0121ce48008a857f01f5b17c05564b61000fe55c02ef438301757be3029178680190d5ff0580bb4603d97736040013ad021a969401f8534800cbe9a9018e6b3800f7f926012df250011de967006052460017c96f0051271e018eb74e03c1ea210143e38c02d7ce7400461beb0367904f00a4e65d02d5879c009abbf202bb148301116dae009f70f102046e950523a5da02a51d1305b12e49025c2b2002f7bded02659b8d04c85dc301f18bfd030e6f62016b41a3029a4fbe0148aec102f52830016a580b02c9615501fccc120370f242005ba0c202cf12ba0051153c00bc68a7017ba66102d1858e0038f28902286f82006f973a016fd58d01b7acf1032506c401b8077b032d0bf602f46977050e02a10107ce2d0311ca4a03517c7305d38d9d005308d1028a0fe801ab36ad0231f78400d6bdd50090b86900dffef800ff93f00116bc480007333600a919b402dbb4000152a01400a3bdf30139d1c20356493c006a183100f5f9dc0016ada700760bc301007eed006e9f25013a522f04b3bb5602bb94d005632585010670c10480bc9c01536a810384e1ca020eec6f0327146500acac310232364a01fab9b8035c9be001b3f9e001e6b2920048393602b13eb80064cd4800b9effd013c0fda00c4433801e920ab012edbe400d06cea03133fe801a435c70185e4050121cd6b004aee8c03949cdb06edacb203f9bddf021f8ed301d90f8a05f0c450021b24620215eac7022aeddc03f53925008e118e039c3e1a002bee5f0202d90601d419f00127dcae0199cd3002120dc001f42236028b109b00f0b505029ac13c00a68004032391380195f0db007833910052992a018cec9200585cf801bd0a03023e88f204d227180212caa105ac1bba01d1ccef0228d1a203b4fe9f03ab743402c367de02cc453b0035162901da30c20050d2f200d2bccf00bba1a102d711010088e17100fab83f00df1e62024ca8a2003b35af0013c90a018ae0c20093c19a01d3bd0c0200c8ae01318571015eb35a00adb687045db171022a59d70387fc6a037986530603f5420151312701dc02e0026081b1044c3b59003d1d9b01cbabdc015b4e8b009121b501a8188d013796b3008b3c5003d927610002936b033bf848009ae62f010653b6010f69a20288d45101b3b8860127dea401dc69fb01ef707d003f0761003f68e301813a0c04593ce00153d4fc004fd7a802f7ddc7017379010223ac78041fa2bb01386b3103922a15026ac62b01394a57007ecb51038087c3008c1fb100dd8bc20003ded7008344e700b156b2027b97b400b87c260146a31100f9fbb5012a37e300e2a12c0017ec6e0033958e015d05ec00dab76a0242184d0015f5d103dd799902a4391e04527d3c0245265201e506bc006dde9d0336763f01cc97ba00e3219501feb0f601e3b1e300226aa302af2b4f006a5f4e01b9f17a01b80e3d002401ca000db2a203f60b8400a1e65c014101b901d332a5018d9240019df2da0015a47d00d58b7a0143475700cb9eb201975c2b00856f05072503ef01d8fffa03af3f470149f54d01faae12032031e303f52efb01992330057c9d3d0157244e0360ec990088bb78037086ab0112d5d902d75ed101fb053d005e03ca00031ab7033fbf2b011e171500818d4d0165780701c24c8c00bcaf340310519400e8563701e130ac00862a2a03ed322f009612fe04139357030cc3ef0344f71702ede58003b0317002a762fb037847f800f3089102f5e39901c8a9b102fa8ba5010ba3b903a328ab01989f1b02f26d5b01dd18700112d6e7006b9db502c2930001c2636803588cbe01b0427e0269b9420031da1f00fcae9e00bc4fe601ee29e000d4ea0801880bb5008075530343c35e022d84c904ef985802a33945069ee02a013ad7430376c38d0123b47902ce2f08039bd2df0065c54401fe528d01fa89e900615685011050450084839f00745d64002d8d8b0098ac9d01472b5b0047992e0027107003d8886101dbc61902b0353100de5886037f0f3c00cfc0a903bf74d101574ed305c7d5b701060c7a02ddcb3c01206ec702fa6a7502e3e10401783a0703dbc154066e851b02bdc8c9038a879600ea37b0033c324100986ca903db5501016f87e300a21aba00cf60b902f3886b004a993201c66197006e0b56038e75ae0172d4c80005cab700eda40a02b8ef3e00ec781202617b630195c9c2022dead600bf85310362a97702bdbb230173152d01f88348046f067b01d531b502a5e922025cc56602fce4cd01023bc9012a622e00db252303a8c326005e7cc1019c2bdf005f48850277cebf007ac5ef03b0bb4f01fd2e0201faa7be0054811300cb71a601f81fbd02479dca01cf474903ce184800f70f1205d1514c0157d0c0037df36b01ed8d7803c679ea01880c3b0323dc7b0193b33c06ee0c1d0242006101241e260172015d035f67e701c49e3b01c0a4f000caca390317ae3000594d9b012a4cd700f497e90017305100ef7f3402e2822501f7745d017c847600adfec00106eb53016dafe701fb1cb6006ef95d0253b880024bb53e04ae80ba00643588066b1de200dde93a0513634a02ff15a004850d15020934370310598c00af223b0054a57701dfe2ea030648a6017a73ff0112d6f600fa074701d9dcb900c1234c03257daf00bd61d20072ee2c0128bca9022cba9a00515c160084a0c10079d062030c512c01b89c5204463a1501cf72bf023126930299d8c304641912023bfad703e884eb0166af8e01100e5c027a1f6e02edf12d0198d9ef0161a82f01f85510011caf3e0138fe3600dee77e00a62d750211bd6001e44c3200c8f45e00c6987801442245010b41a00264135a00a7c578034336b90128dabc0071a830003269bd011a522001b85da401e4f0ed0141b63504aac55c016a09e901c77890014d310a036caa690347041f031bf47101493a0b003edcf601789ac8028fd2b2017d3981012bfa0e01646f1c012f56f1013d469603344905011d1a9e00d11a56008aed4a00a45fbc008e3c1d02a174f801baafa00097121000be6f4106c9862703566c3107811a4703db1bd70267695d031dec1f068500d3018e7f6e01d449e502d643a702c201d0018311dd0332d95a0043eb3203ded28f00b3358201e96ac600d9addc036fe518019c9a5d0246cbf6012f4285030288e60116dd7102ea6fd500aa785f02fadd02002d829e02685ed901df34b402d4442d0167261c04f39e4c02a0c86007cd350d01ba439404a936f80276a2b20352140b02172ac001929fa301b6e86f004de5150146358f001b4c2200f6882f03da27b6015be0c901138e0e0145b6f103a276f500096d6a01aab5f7014d2fee0353d2b001d46b8b0027260b004815960048824500ba4d9b028d851502466fac02e12a3b03b100d7052080f102e9fc0d01b84f08026d1e4903f58dbd02aacfda014a9a450189f631039a2064007d4a690359553d0122e5b1033d7dc1019856bc014978d400be7bf60286d12601963a2c015c45d6010d0c5803fb99a601fccf70033b4e5301e27c6e00b460fc010f752102a3dc520128011b0724a4a601a363a9063b904603bea612046afa4202c441320400b31203ec6801032a9923014f6fa8006eafa80029692d03da0ecd01a3e98c022a017600e943c300b2529f0177577a03d3ee5a018f237c02188ca400fbd72c0284466b0164e350025ba93700d72a310072b455010ee81b05abd519023db07b061e851803dfbf3e045c469902b42a680116bfe001c7c88c03f8ea250282398d00c338d001fd8246031fadf0011cdcc7006e64730183e5f900e4e9df0124d8d102b1b1d101a42da502df6172008961a803e0deac00a50d3101d2ebcc01fb041c0245a09700e8be340252f85d012bd74d05aeafb3019f3242047830d0023ea9d103ffd1c800e0bb2c0548a2520009b08f03124cc1010a3ba701182b9a001cbebe008dbc8100e8ebcb03e9006d0135419f003c58e80178fd9602fbe98301c66e2901534d4701c7163b0269fdf201140ccf03ec42bd005ac6ca01e1ac7f003516ca0038e68400ee55b7046cbe2a02f244ae056ce49a00c8b17a0522a0b701b030550359daa901f7984e04c9fe6e02f3332b008e6241013e911600466a5d00e88a6b016eb33d01d281da01f2d15c00235ad901b68f6a016165d90371fadd01accc06003c96a30049ac2c03ee6e5001ec4c9902a08cf90095e8e500851f28019ba477047033d60280e402063e22f3026ae3f403ad6ac8015399460531231002f94ad802ebbd420199f90d00e6b20401dc29ee0076e379015d578c02fd775c0049eff6027457800013d39103b02efc00e55bf6014580f701c94d3601080b09019860a600d9d6ad0185c0020100cf0000bdae6b018c8664008bc1f301b666ab02ea9a33048d057b013ba85901d90e5c0112d60501d3a7fe022b06ca027712ec01fc70b803b7df8b0028b17702b57b5a01afa5b000f74dc2001bea7800e700d6013a271e007d639101834444018ddef800997bd2036d7f9801e421d60187ddc500896102000c8fcc015029bc00734f82014b03840497afbb017b8d0a077cc0b3010a67c60494062d02da55bb05e512b20147b6980402c6b8016d70e00161a1e600fe632603399fc5009742db003b458f01b870f90077882f017a828400a8475f0171b02801e8b9ad00cf5d7501449d6c01650593023061210059416f02f61ea3017bd9dd0166fad800b3ae4b0238371200e305ec05e4d5ad00c96dda0131e9ef021d379e0518b26a029a6fbc015e7e8c02c41fee014df01000d5f219012647a800cdba5d0230d38c01da00b4038576a500a09386036dba2301c6f32a00f392770086eba30104f18701c02ec10266b44f01e004b802f17682009287b001ea6f1e003242d50228607b02785e2a03b1bfc3012d822a0474540801e831d602ed7a6d0205475901ecd37b02f40d300276940e00721c56034aed190190e510028064350185967802a79d320017486803df310e00ec7b160396b99701a950b80186b6140029646501992110004c9a6f0156ceea01bfa0a402a47b5d01eed7a4024211af01a80b3b039d293d0347bc0e03c206890115931d0313670303f482e30379288002cf2f18022224200098bab70344ca1400c385c300de33f700a9ab5e01b700a0013fcd12019c530f01c53af902fa596e01310a5802322bd80062f2c601f5977100abecc201c51fc701e4512601293b1400ea68e604975d0e03f4f29206d4a9f001ef666c069ea7ec0299dabc0495e9ca011a13fa05014785019c0c3f0191b7c6006878730381fbf70011d4a7033d7b8401f664bd009bdf98008fc521009b3b2c01965df0017f0357015e47cf01a7550101bb9874030917170089c35d0136626100f000a80393bc7f00736b97044bfdab025984c00491163602df423606e4bae50126b6c40094fb820140836c027f01a0029631a702c6fe9401fa068300bbfe810154523e00b2173a01fd840500a4d5270086fc92022435510188865200cda7ee015d2db4038328a100fe6f7001364bd900b3e6dd01eb5ebf0116f33001ca91cb0114762a03748dfd02fd00de042afb320235a9ea054f44d00094cbf3029007870006fe0004fbb97f024f08810325234801d224dc01281a5900a840c50202deef010153d702b39f69003a73c200ba746a01e5f7db038076c100caaeb701a6a14800c96b9302ec884a00e9e66a01696fa80040e01e0101e503004097af03c1eee401fdfad400bbed790242fb6001c51e0b02b65fcc04cc598a023fdd2505fedf1e03b230d303f0c85a01a6d160033882dd002e72c8033cb8420037b618026db62100abbee803715e1f0012dd08002fe7fe00ff705300760fd701ac192802bfc11f01ed159203aac1760164ea350282d4700046c06b0507d01b02b4d90f07e595e8028bec7e048f09c7010b4fb50292b6ca01126db60330d4e1024aa3cb00afe994001a703300c1c109010e87f90096e38200cc00db0118f2cd00eed0750315f470001ae522002550bc01252dce02ef5ae1011c032f0329e04c00baf3a70020840f0104337d008b871800f3f0db04abe58501f5d63204e60bcf03bd7e5305b3a3aa01f4381805b1a4d3010210ca01623976018d83590220331800f3955b03fc340e0023a94302301e5801b21b2403a48cb7003abd9700581f00004ba942004265c70117d8c70179c41a010d4fcb02efe251015d1c0a0352c1f001cbc183035d0f5600c7289d0432c1d10000f2b10066b9f7009e6d740425875b00dfaf9504db420101553ce80418602501e17aa201d7bba8019d9d2e0038aba200e8f065017a160900330915033419ee01d81ee8027ca994000de8660094092500a5618d01e4832900de0ff303fd121100063ced016a0371003b84bd005c701e0056d0d5042f54b303b979e70619d86d01a1dd6b0647efc301f91f390793875901b817730502a39d01ff6ffa001939bb01a060a4002f10f3000c8dfb0242eab8012812a100af0660019fac340217b0b701b3c155017c79890196327203dbcb3c01ceef050100266b0136ee5e0245985e00d5dc4d017811450142a4be03caea5100263125023c907c02884e3106a6f730025ea4fc0468a98702fce486043fa64b0251491403ced20a00ea6a96035d225a01fd9f3902db8563008b93b4021717b90029391e03bc614c002ebbdf03dfac2501213e5f01e790f0004d6a7e023f985b001d629b00e2fb3501e9d305038fcbde0191b0dd0603e71802b27acd04230186037b4697065fe4fc00ac8117022f5ad10195e0520154861e02dec42e006771ea012d657902277cfa01862df20208f9a8018b6c83038ea3ab0032adc70357de8e01c85f9e008ec0a301067587006f7c1600ec0c410243264101e2aefe00f4f52600f032d003a03ffa0029d1ef04792313020d21e606009f710269147f03e3cd600089d2ae02b3d4900158629a0122588b0294a27001416ec500f125a9004238830109c9530284fdbb01b0702d02c3fb0000c4fa9703ede8d60196d1cd001cf07600474c5301ec635b002afa83016012400175de230071d6cb017977b80341132400b940f90491598b00863e870567e96502bb541a0430f98102cfd64b03ce824d0172afeb00ab0289019c91ba0137f587019956b501643af6016cc73c0351cc8601d631e6018ce5c001ddc1fb0350880f01a095a20316271d01065f4b02be51de00f1515a036a31c901f3d39d00de8c950140db3802bcf65a019f3b9d052fdb34026122d7001c11bb01aea918045b4fa101ebc8c205928fea00e5e10705c4a80e02eb333501fd78ae00c506a803c975ab00a315ce0072555a010e290a03c11363004137d802a19274001fced4033f921d019d9e830164a58201ab1781037c3509010ec112011a310b01b4aec90187c90e0151139504da624f0229638f065e003001c4f9530666954f01ea6e880251802c033f29240257d30a02bb79bb006286c700abbcb302d10bee01417b820233ea3d00307117020556780176b2f5005781c900f28dd100ca7255009416a10067c330001931ab0389438200b6497a0293188200d3e59a00209b9e0041693d04b0c20901a55956053553bb00f92875036c03d70333922c053e2fb300c2d803060c54880288b10d0347f3ba0174117d03d23ad3015c4fdf005a58f5018ad16f0345de2f000af64f03c5d9b200d0e10b014e7eb3013d2b7e00679423008108a502f4f094003d338e0051d086000f897303d277ec018cf5f80301868801e58b3a059fa4fe0072558d0330a6b6018f46540554b607022d355d0408a6a10124a2b2032cb8bc00921c2c02a85a310078b2f1010e7b7f0106f1c701bd423201c58f6502bcf387017a1818024a61570076fb9a01ed369c00ab92cf0382c4f6018740710197e83900f0da7300313d1b012d814901fca91b0127840a0559c9c103fa79f001bace29022ac661049064b700ccd85002ab964102f9e5c402677b49014c68600281b40800687b3900dccae50165f9d300560ee801b54ed100efe1a400570d2003774911018543e90053feb500b7ec700130408301f0d8f30340c1e200cef164026386a601edcac504360d51021f7c660327e4b10275b51f05e6a0860176bbca04ff8d3c037e26bd03a5c99600bc781a0136b8ac000cf2cc028442e60022261f01b87050002033a502bef337003a4992029aa7cd0164689803c4fecf01ac13f700ee0aca00ef97f2005e3b2701ef1d6603095c9a01e454db03a0815000d05acc05efdbae019d66910534b24c03326ca80552de6b02d2246d04753a3802071d1604eca0c70097d19d0089472f008f562000c6f20200d43088015cacba00e697690160bfe5008a50bf02efd882014f2b0602a7c43100fd125b01904979003d9227013f681801b7a570027deb620050d562037a3c57013f8cf501df78ad030dc68601ce3cef02e6ea5c0320ee1303a3718e01b07726029f2ba602ee5b6902583dc201190444000f8b3300a4846a0121742e02a75fc50089d41700489c3a008970450295699a01ecc99d0017d49a018752e302e13bdd015e95c00051763401202bd7010e934b01589c79020d124f0080d08b0197da3e019b580801d2b8620312af7b036553e500dc41740595fa04015b8edc0321f74201b9e1b302965197004728ec03893f3e00064ff003b6b9b50076321b003fe3c0007b633a0132e09b0111e1df02dbe04d010d2c7b018d80af00f8d4c800963bb70192611d0096ccb500fd2547009155770087c8ba040180f90152187c040d578f02a733f5017c97e701cff0c5017cbeb9022f3af60413e9e8027d1262030cfe1f01f4b182036b8e2300ab7df2028b0c2201a4a1a200cecd6500f7192201649139002746390076cccb01f100a200a5f41e00c674e200806f99018b36b6013c7a0f019a3a39013632c60085d31d036a8aa701ac6bc7036ca1c1005948f203cd735901f9fe8e06afca5e034f5932040669420319feff02ca4017014ede6c0326f94b00f17c3200ef988500ddf1690093976200d5a17902f1318900e925f90229b71b00b877e603d820a301cffbe401893e83014e4009025d307100118a3202c0ff1600e412c501433768020fcd5f032f254202369c3f053f524a01c7354702ee437d0219e0de00df895d010be0ca0308dc8400c626eb01668d56003c2b5101881c1a00e9240802cef29400a4a23f00332ee0015f304f0308afe200de03c1032ea0e801fe5d69020d2ae6001a8a5201d02bf4001b27260361d07f012d95b60304fad102ba3c1c023019da01a874cd03761278029b74930383356d010c0aca046d53a7029ddb89030503820131a71e033b9f2f0180809d025d03bd0003a6440053dfd700965ac2010fa84100d0533303ccab420135bb3c0198662d01769ae100f0f7880064c5b2038a47df01cb52100129ce2a0189c0dd03d77bf401d9dab903babaef01fbaca003c23416028faeb506b9647301d24eb0031a07c10293d5680359c90a014f7b42011621ba00010763021dce0a00e5ea0500351ed2008a08dc024637a70048e1560176bebc00fec16501abf9ac015d9eb7025c026c01af5d4c0348634f0149408102f52e410050f17f06f49766032a35d0023a66ea0299afa40357f220026e260104feb6be0371b00f06a73c810267edf1005a4c3f003e4a780379c36e007704b200def2d20082212e029b282900a792700131a36f0179b0eb004ccf0e010219c60129ebd5005524d601315c6d01c7181e02a7ecc30091277c01ecc395004724b8034255aa0125231a02827c4401ee9b230335c9a402c31675072f0fcd0217e01d057d7190027515b600cb9f8d00df874d00b0e6b001bde5d7036225b50132158a0318bd59013030a502972df700aa6cde0050ca05001b456702cb168101b3fc3e02d1015b01916efe03daa21c00dffcd5013b082100bb10f40081d330026aa0d000703bd1006d4dd8022115b903f4633807b18b1303b71d3203535913024afa6203e02ac801bfd9cd03d110a70063845f012be63900fe0bcb0362bc3f0176c1fb024f693600d5b5bd01b7457001cfaba5032e6db4017a53a50092a23401990b040396e35a01918961023ce929014b2a37076aa4ec029744fe04098c8301096a4f02f29e890242b24202b07bc6010e3e2204c4582a01955fb1039700c60194fe7103e05aa3017cd9f7001211e00080427802bf19090131ddcd0031d44600d6ffa40002d10900dd34db02abe0f4015d38ce01f2b302011e5ba401e62e8a01bce6dc00392f3d016f0b9d04b05b98001ce6620460577e02c5599103a64f6b02f84da0011de9e601951556063a0bc10084252402b896f301e3d45301ac97b400c9a99b00f43cea008eeb040143da3c00c0714b0174f3cf0141ac9b00511e9c014f48210211e76d018d6b15027c1a8401af103b0395c93a00cea9c900d079e20015ac0e03953d5e0137399c038c3c91012c6c9503ed919b01d0551f02bf0cd20262625d0696109702ceb9dc008deb2c019fac1502461a1f010c405d021b38c600b13ef801b608f100a66594034d5185016eded701bca98101e707610031703c01d8e5fb00776c8a0027137b028231eb008454910082e69401064abb0005f53601b8dbf10511c2e403efca66046871ca009beb4f041409b2019b01ef04c7943d0273f7d20330dd87003abd0801232e090051410503339eb9017c742e03498c0d01d15cac0292174700c6e0fd02726cb401903a3002dab118019bff3c019a93f200fd865700354be50030c3de031eaf320189d27803cf23de0111f8b301020a65039bc2f8039dcc650167fec5034e3e0402b1ac65016092fb012e0a9c000289a5017304e700f2d7010013231d032aa14f003b95f601fb42b000c82103034f6e8e01c3a11101e43842017a2f91028304a40043aeac0019fd720057615701fadc5400605bc803247d3b0000417604a034f101ecac0603afbfff0100418202debee60065fde70391236d02f91d4d0530001302685a9b0116562001d9d541006f5d7f003c5da903077fb60011ba0e02fc89f601d41930024bee0001f85c460362e08b00b809ff0107a4d000cd83c60157d6c70082d65f00dd95de001726ab02c46ed50018738c06d5b1760060344205749eed020d40b6032d3fae019d5fbe03e0cdb1012a058e03ab63d401f4bb93001d339901e37418021d65cf0013f6960385e705007d86e2014d416200ec822103046e3e00326c7f030671160091145302c1a1e70182b53c00d9d1b101e494d4020283b80075b1bb011c0e1f01b0665004315497017c1f3607139d850112b38b01e0e81a022175aa03a6fcab01488dce0280fa2300484fec01dce5140128caad03624cee01c516e0036bc6c301238d6001ec9e3b01696457006ee20200d0eade009a5d77014970a403425b02011491210365d68901aee66702a2f6a6005df77402a6e01c01c9023905aace54027ae411031a787702760b9305b32fe10167c8b902a40272024c4ed4002d9ab10118c47902519db6005a10be010c93c5005fef98030aeb470056927703ab86d6003c83c400a1e181000c8278025ec8330069e7d203390994012aa8dd037bed8e00c6d332022df56700a4f854009846d001b475b104454fb900f34a2004949ccf02c4c4a105f435ef020e5df6028af03101c3582407a0267b006dc89d01ae4c6701aca92202d701ab017133110088e4c2006e96380269f69f0013b84f03954df0019b50a2000035a9011c975600445e10005c076e0261759501f84de603fc0a8c00d67c5c022276eb00463039051535a602b7903d07b1ffc200d6f83d06396ef60079155106a403e4006a401a0344e88601f2dc35022ddc55007195f70360b36701bd7f0b0087d1b6005f348101aa90ce0179c8cc03a764920029909502453c28007a34b103f5d36501aded080007337800131fad007eef9c018ebdcb00c4805801d685e2031d7dad01c86c32047a643b03fca30305dc94b503d4883906dcb48901ce5836031b21fb0143d63401d2d0640051aa5e0091283500e06fe702221cf401e1c7c302ed11e600d9d9a402a89ddd00c72ea201c7cfa3016b73a2010e60bb01753c4c00b89f9800d1e7470229a4ba01b9993302dcabb6018f8ead04ea2fc100078b10015fa440010fdda604dac51002831d2c03634575013beb58062651ad0247be3d03ba589d00e70b1700ed75a400e1a8df0399727401a298f2011820aa007d627102a7134c00fe9cdc029a340500136fa103465afc01ac6ef0000ac67901fcfff003417bd200ddc2d70278a31101bb076304bd31b60272098501e81a8a03d34484042b777a01b2623304945a6a024632e603099976039e461900a557cd00378aea00ee1e6100719bcf0062997f00226bdb027472ac014bb4ff02f139b301ca22ac0237a231015203ff0370ddbd01bb19e4020f585901461cc60215119501f279fe036aca6301f6cd0e05db2f99026a8927056031c2019433c502b93a0b03692be805c7060e01b4854106dbe4ab01683ee701e3eab30121bdd402f3bbf900be0d500182590100df85ad0009dec601417f4a00a7d85d0188a8c6014291000044662e01ac5a9a00d8804b039f2833009e111b017cf03100eccab003967cc00113c1be005fb63d00a3937c03fea533031a281106d5604e025591da021e24ca01550905006f29c801ed6c6100393e2c0075b80f012df174009801dc039ca5bc00fa0f83013c2c7d0140dcfb034a32b800355a8003e650c20187817f011512bb012c3aa10346932200aef90b02228d1d00ef44b103726e3a00dbbeb10157f5a601bd31f7039153b801ac0e270790d768028ddf780494c89b01d3cf910110b5d902ad205703fe23b50077dfa101c8df5e014506ba03bf43550131a99800901a7b0137f3b30213448800148cbc02fcd00501c77387012bace5019b68bb0097fba700348717009799480093c56b02939e0501db8fce047d9989015798c5060544a702fb9fa503ee4e3601173f370325de5e02ecb70c07ccccd2020027f6021d4ae700876c1d01b3730000757674018406fc019081a10169438d005225e203ede2e401ccd68102a17b6401b879ea002d6ce7004208380383888000ace04202ae9dbc00e6dfe202f1db4500a50e770551a23800727b1404a167550130ef63069a87d7026effa70226c4d60090264f01f9a87d029b619c031634db01951690002c95a501277fb700c44de9017581d203a987e601d577c600e9f02300ea3407037466300114cc9a03b288b1011602030195825901fb119f01463c1a00906b1100b4be3c0125b63b036d473603c412810394e05703dd1598038916b601f99ccd00ec2dd0014e94f2016546d102544eae006590ac019788ed01bfc2880071507d0198048d009b963503c374f500ef724902125211017c7dea032734bf002ad29e039a84a500b2052a01405c280123554d03b1e476008942600272e242005bf04502966f5002a6aeec03e26c6b01bbf24107b551ff0238ceb5032e22b503d3f09e01474b5f029c28180365d25100abc7e40399222900e3af4b0015efc3008ae55f014cc03100757b5701e3e182006a3e3f0301c6ab00fe240d0290bace0094fff4032200a6001e96db015ce4d4005cc63c023d85c801b6293b047cee6d01b3a3ee058b7a520208165803c49d2f01985e3904571eb60253a15504b1927c0293a6070314d0df009cb6f2009b79b900539cae0299107601b953e801df3a79011c175800237d7f01aa059502a30c82019ac41d00a160880007231d01a225fb00032ef203ffd8bc0039aee201cee9020026bb880679bd0901c8757f03b924cc00e719d8044f4e69001386810393cb44028c517d02f7a5c801d69087009737a60125eb5b00152e9a00dffe96032299b4017cb01d012b621e01d77ae603e8a00c0039b90c02ef71070104091002195b6c006dc6cb00089328008186e4037bba280171628402a584170050452c0408f2ee01b7353b04838166033220f30691dfc8017a53b3028690c9018c253805963ce3015a499c01cbacbb0050972f035d89e70123bf3b03e0d1b50149d7d5020576b3019836c1013200e700689d48018ce39a01b5e210025fe15c017214aa0205fa4e00f84bad0334590601ffb3760048ad01002d08ce05ad85df02b83e8503d50b6202c41fd004aaa7f40115e7b50196dab902f6a96101a58bf7011c78950167f833003c451c0218b3c4007c07da02396b5100b8e99c03fb4a240076bc43008d5f3501cb5ea5022d3d3500ce3b73032eecfa0149052001819aee016920e20079bb3d0102a6f10242aaac010ad8b20316c9fc02fc6ef304c77d39026cc060033373ee022579f303c8382102c17682044a601901971ee602263ffd00242dfa03fa01ef00a0d45c012dd1ed00f3215702ec54c901d3129d02d3637f01d96210028aacef00a8c982038ec1a901ed97c101d7682900ef3da5020103f20016cbb102b0cc16008281d5021e0b2903fe9e79029f197201a150c8049c970b0299864e01d836fc003067850468dcc502fda84d0234b317001879f001ff2e60016a3c870261cdf9013ef97703773bd30171b437025a55ed0082d44d013849310056c696005dd1a00045cdb603f35a2b001424b0007a74dd0033a72701e7013f010dc5860402d12203853bca04a6644e022edf4c04b83c3e02b1a67b01840ca1033bae2b04c24590007f2fbf01222c4e0039ea3401ff162801f55e920053e480003c4ee003ff5fd20198afec009f154900b473c40282e16a00ffa786009f0870017744c203afc4c6017530a8035ca9010070c866014a18fe00008d04068c3e3f0282b3bb034c9c9b017656a404a9d09201cf859a03939b3a03a078e806fad59b02de0d2a005e328300b3aa70008c539701367754018c23ef01982d4301ecaf2700369767039d2a4101b1ef87025535cb0095612f02d72311014503460167245a01271aad00b8300d00a3dbd90350060101caaa6c06e7d05d0064c9f90255242301d09a1e05e2c9fb0101bda702633903020c802904c4644b0296cceb0390ae3b0078f895035437e10072d23502c6cc77000ef74a013ffb810043689701878250004f59370374e69d0118608f00d591050045f1780195f35f01712a1400834802009a351403483e6d00b1669804280ccc0179260b05f90a9102ce7d9404f5f4de01282055056fd57e02a1f9560546c67f015109150162270401cb472d014b6f8900ea3be70020305f01cb1f72011dc4b50132f1a7025c6d8e0068902d00eb0cb5013370a4004cfeca01ad0ea2003deb93012a40b902e87dd900f358a7024931080076cc42047bd67b0225dd76059170ec007262b1049659c70256c57004b895a1022b60a504f7b31403bcdbd802273e0d00f38e8d00e5e3ce01abca230374b0e101516e26012af50e011353610031ab0a00df77780019e83d00d4f09303037338019011ef02c911fb01f812f5036275ef00b804b303f5ed330112ef8903a570a60150bc2107b7fa8e0135bbad04cf70c902f52be40168b85801d334c40332756c01fe759b002e5b0f01560e900356e3cc00531a53019f4ce3009f1bd50118976c007590b30288d15200269f0a007385c900dfb69c016ec45d01383ce90005a7690199c5a4006022ba0192852501dc63be00eea654031391ab02c1c5fb025e4e8501fbf8f303e05d8303b986c403d799aa0213769e028b017602569e0f012dd329019201640270744c01d27f6c01670f3000c110660145335f016a809d0089abe9005a7c90016aa1b600af4cec01c88dac01a23a6800e9b43401effd0e03a171fe0125ef8a02332ea600de65210282ba9c026ed03e037b5ea0011eacfe046fae3803ba631b07418afb027c3a80059b98ae01b20cf703fb549e0052c50e02abc8530124272e016acfa70018bd220083b29000ced50400a1e2d20035336903602dbb014db8df03af1dfb004fa056037325b200524dd50152548d01e165d401af58c701f55ef705ab766d01a5b9be0083b5780256fe5d0385f049011ff58f038aa26703b1621202d8cc700080df7803340af300a68c96007d50c8010d6ddb035ada0101fbfc2f026c9c740172317f01cc57d30181cad9031955f9010df586014c59a901f12de6003b62ac01714984024d9b31019d7e540031af2b01fdb554039c67230068c16d0342dd9a00c9ac010606a25800a5011d077b9be5011d9adc0566ef5c02c9016d03c9c601005e028e0124362c00ebe29e03a9fbd601b84d0900614af200dba39503ef237601df725802bfc703006a251803c8a1760160596301e03a670164c79302dd3c6300ea193b0134871b0053035b06a6d8eb02e4e88804673c81022da8ee0426bf43024aa32f048e61620336d8a805a7e9fc01236f16035b542b001ac857015bfd9800ca3846008e084d00500aaf01fcc74c00166e52038001c2000b803d01570e9101fcdebe010f48ae0055a3560239632c012c18bc0219cd0f0013e5d202f743c3003d47b80499c7250395f3790325334b01c85582022b41fa023893f302912b3b01581c350420541803b3331202bc4653000b9cb301628677009e6f6f00779a4901c73f8c022c0d0d0199c0020250482a002ea0b9022b70060092d795011ab06800441c5701ec329901b280fa02cdc1bf01a55c89023428ef00bf01cc02a7ad23028cf32d0124326d030df2c203e29f7a01afafca024539480227df3804cfa23a01a4625d000f6f0c001e084c03837ff6012cf2670045b50f0109d11e0003b37900f1e8da017bc7580102d2ca01bc8251015d65d00167242d004cc118015f1af101a4a2bb0024728c00ca42050324389300850bf3017f55e801f987d405b8b1710259dc4b0344f89202316f32045b165002f3247306a164520106c106017f3d2400fd431e0240ecaa01a011d7023eaf8c00377f04004f70e9006da028008f5307012e1aee03d8a98c014d5ebd03ff92be019247ba02694d7f01e89de9018757ed01cf0dec019b6d2401a164da00b4a31202bd6e0901113f7b03b188b403a47b7b038ebc510645f06c0118700b03e2da3301a732ea03714f6c011e137303b6f06300e3578f0347d9f80165a95f0181959500ee850c01e3cc2300bd731a016608ea0070588f0190f90e00f09eac0263707700c28d99022738530178b02e002a354c018bbf9a045ad15c02ac0d10050448e201cbfe95044fb8cf0064097a027565ab01fbcb00029fcf36022548f901388c0d0109406b025a653401e0b5f8018bff8400e6911100e93817007701f103d4a9970163630902b80fbf01ac676d01ae0dfb01b15807021a3b440109210203f7613b001a1e9201b0930a004c79cf05bb581802b85efe067137c90217324604773506028d429204e3e2f90167c0de01ad44db02a2b824038e6689019c0b17007d2d6200eb5de1023770a0014574f30199f9370180271101f150f400574515015ee449014d424103c1e3e7003d925703ac9b17016f74db02d7260b0182ba85005ed4bb00512f5b04cbfeaf01dd12d702ac446c01e2e44f0325ddd500a3e396061dbe12029fb30b010a5a5e01dcae5800a3d3e501c6883400825fdd018bbce7028a71800174abec0230dc14013a14ab03e36dbc0001e12002c210ae00e3fe880187276900964dce03d1eee20037d48402ee397c00aac25d03f810f70118973e0708970a024e8bb20377f2ca0219dbd5043d7d23018f026c07e4215301502dd801e03e1100c3d97d0062999901b2b06a02825d8a016c3e2403b179200177fc4600dcf82500cc58670180dcfb01d9e307016a31c6013b386b006372ee00dccc5e0149bb0100599a22004ed9a5010dc3f90308e6fd01ba87f50419fc070153cd1b0585027002249e2004e65bed01beaacc039707de026cc03104c0a69201e813b503688e340166101b01fdc8a500c3d9040333bd90017a9ba002568236014d783d030d38290019297d0356a8f500d6a54600d4a90601dad3c202475da401c42167032a8e8d0083e1ac00f4691c003144e10088540d0181392806894d380054963504355f9d028f0db1025e73ba0274177603f3a6f1010bba8700b26acb0160da5d002bfd2d00a49804008b76ef0060011802ea99d301a76e140331efb0005f29e800c1fa3500fea06f02877a2901606c4300d79817018bd1d4002abda300ca2a3203696abd01ab44d903e83a7502e4dcf305c403040224783606029c8601233dab06a3886401d3e80e0459ae0a02c5c641030b03400074717303f7670800e77d12039f1cc5001eb82301df49f9017a142e02863825019a0de50177a12201f43d4900cd7d700089688600d9f61e01ec8e8f00419f66016ba4be00db75ad0122257802c74550001f7cda02491ba001b99ac70346c7fc0068519f0510c82702d23dc0011aee5b0094d90c003b5bd5010a51b70380e67a0171cb910177b44201478ab400e0956a0077526803cf8c2b006209b603cc658601116526005fc5a601caf193003ed0910184f6fb0002a90e000df7b8008e07fe0011c8170357cddf025a81340314ba1e028ee4d205f6eaf801e5451f02afba8701edcd34018b4f2b02feafd9021ff34300f26fe9002c230901e272510104470c012569bf0007753201504f10003f4441019d246e034cf10301e12dfb018e19ce00787bd1011cfeee0104807e035aded701a10fbf0056f0490074b951062af1a302d3dbd2036fa29b02ce657604a7483803c205340447acf2017d169d0790603b01a27998028b105f00c3fec8025196a200772b9102cbac4e01a5e09f006813ed01f47ed003e13bd50075d9c5009848ed00dc1f17020d5ae701bbd440013c65f6015418560001b16d00925320014bb6c00064f1e000b9ed1b01b7655205ea254d01fc861304e7f67a023b6ab300c30b0c026c42eb017d713b023d28a400af68f000022fbb03310c8d00c28bb50386fa6800615cde03d895c901caf176034e974300678eda0394f5ef008a2ac8024f2561017b70a703238a5701811d9303f0574e01cb611301b1d11601d1e37f0262775303d219c60110b3b302904dac0657990e03d8bda7046ae93b032121f3022b707003a17f4f01ccaf0a0028158a026774e400c75f890384bea80191a5ea01b7632700b7dc3602fede85008fdb79023eef0600e1663603fa12f6000422810187248300ce323b010f61b700abd8870364982b0183fb5b0425915f0221cc2606b08c53031781f3034b90250269241a067490ac0342bae5036aa1d5012ea3440394aafd00bb110f00daa0a501aa23f601600d1300a5cb7500d66bc001f37bb10164036800b2f26103fa4c8201d24d2a01fa4f46013ef450016965f6003d883a01ee5bd5000e3b6203a6544d00eb832e0238afc501b83eb8044b40cf00acafd002ae4a2502891bd302937dc2000a595104a7cb650318d5d101ebf536001e23e203087e4600e27d5e029b75140138f87001e6304001a35ca601e0d6e60111788f0037082b01fa01f5016a62a5004a6b6a023404360159b2960103787b01f305590172fa3d01eb9952054c0f110238ee5a015fdfe602eb342f066594a40178cf24051110b90349144a04ba0b65022e30810315efd2014cec81036e4dcc013c486103c6d9fb0129d7cc008591c90138e69201eb64c600924923026bc61401b54fd20351678800f66cb00022113c01124a7202a7aa4e019cef14039429a80027791c044eb38603e5798703add16201f27abe00aba6cd02d37430041c6c4201a1deb6010e771502c227f903fddfe401b6a5c60085be30007cd06d0376af550108d1790130abbd01c247860188db3301b65b8d02309f48002376f5036fbae3013a891f00892ca30072673c0207d59600a20a7103c1684800c9837403b14f5c02cafad5025cc1bd0181ff2206d2bc97028711140313655303d2cea604e4ee4901974a0303a757d7009bbc8503a5814900f04f8503b1d35101ca48a302c0a8a5000ea4c7021dffcc002e485b01a64a6601c72a0003c171e3014117d000e5d8640117ef1a000ae93e017a0ab2011a24ae0164dbc7012da3be020fa82a04a539c6031a1a1a047da5e702fa6c64033ce5790139768a004ccf11020d2270025810a80025d0690322c9d701276a650205ef72002867e202f57f6e013ea73a0084f08e00059e580380499e015d599200e6369200082dad004fa9010073baf7005440830043e0fd03cebd40009a1c51052cb8360355d4e003ff5f49018021eb0533425003f9ae9b0303b32502e9a45d065baffd00c6455703df6a2e00631dd2003ebc72012bea0800a9aff701166d8903e4b62700c0a55e02f465d900ac586000c45e630169ee0b02347ef3005e0165032d930200c97c7c038c0cda000da69d0130fbed0188fa7c0369949201b50dca041b3da702d8980802db822d01c7e6ff05364157015cbf610670fb0e020d695c011acf8d0018cf0d0214323001b9947403d22be1002522a202a3d22a0143176003b5d60801f575890341c332004b0c53024f8ca40009a52401e46ee300f1115a011934d40006df0c038af33900e6704b05f5b7bf01d4bf4503e50f8e0200c3c40389ab2f013f3f6a050fa9d601ceae380557498503a3858c00b10e190192b8350309e3a10177d8f403484de9009dee8b013b41e90046fbd80129b899010dcb70009293fd0057656d012c528501f39635035d98e8013a5d27035793dc014d510d01202ffc018d1372035c6b27037410d305b877d101e2db7f025769ec01a16e170323a66e015aecdd0341ea74026f13f40209e91a0020b7060201bff200da9c3502283c4601a7ec6f0079b97e01ed8ecf03367e3400dc81d0024fcca40142179002d9286c017ecaa400cb210301019e00002560bc01bf314a006d0400005ca70a025ada8701ca42ad0395c2e202c8fd0603ad667902ccbf6e0434c2040250282d0222668f010c6cc6030f1be801fb47ba01b06e72008e037501714d8e00139cc5015c2ffc0035e816013612eb002e23bd03ebd481000260d002c7eec7013aafa403912be700c2d9340302df0c008a36b20254ebcf00e8cf220430343201a5715903092dd8013dad1c046ea5f60275735b037f543c02a690cb04560df300161ee401b171920180aae602fb99810190e12b0046e7050179697e0255f694016d259a02d0035b0031913e00e410a50136ddf902b1d25b005392e2024492ba005dd268020f19ad00e7ba2600bd7a8c01e80d7003686e5d00fb48aa04bf17df011703ca05e05de4029893c7026caa1602f765f603b17c0c019ffe6602360441007dd6b400b76093002d75170283bff9008fb0cb0287b7360191eab10092655601197b8f0121d19800c05a2902520f7d01d4ac5200d7a99000100d220020d164015312f901c511ec01c6bae60430a0b0016e766103ec68eb024e3b5c0244f90b0122ac4a0512764402dd7ca503b342230143aef6002b4a6f017d905603e3ea5b00f2d51802442ceb01dbb4230008f80701652f5c03efcd660171e6ab011fb9c901c1f646037911bb008646c70394039601743f670041687b01d3361301068d58004086f30387356702a81bb404b03118026e36a704c23dd7011e016c013c2a4600b903a203c1952801f67f2602bd7726013c77080160a1db0129cbdd01b1f2a401f49f0a0074c40000055dcd027f7fb3006aedf60394a2d901562514028beec0000909c1006101e2001d260a0000883f01e448d20225865c013bdad005672454030a05c103f1af3d01bea92e05b29393036fbe8b067bac1f02024bfc02d6240f02ae1b1801ff4595016d817600cb5df9008a894002254606009974de00a14a7b00c1634f03753b5e013d0c2b0192b19d002e93bf0010ff26000b331f013c3a62016ec24d019a5bf4008c289001ad0afb00b8d132026b824e00e4b45a04ad07fa021eae3c0428ab1e027363520774c18b01baadc602d96f3802b97bd800f99e340034b45d03c8095b01372da602839bcb0139e86e0034d35901fc00a2010957b7007e882c015e7af50055bcab01935cc600000868001e5fae00dde63401f7f7eb0188ae35032215cc0134e3d605e752c2000b30e303a949b801c5fbfc022b7022028265830746a8bb0283877d0389686101eeb8a803f268540186d8e2038a90ed00bc89960150388c0155a9a703c14e1901db11b403100dc1006289d4038ce0970031f4af00c163af0112639a01ff413e019bd23703f1f40301f90e95009e58d9018acf8606f9e81c022d9cfb03aa38b801ee33ea048d8a830118fef3010ac9c2023e614b04d1efa202c0c81f0175d6f3001847de023528e8014bb76f028f0e5701d54f8803d7c4d400841b8c028205fd007c6c13031bd74b004cde3702e8b63f0044abbf02336fde0109694d034faaeb008f1858032ce779006e81e0053cf65402fc2edb03ee4c210230941202e5254502428616028d9b5e021e9dd302d42a1e03f1e3f702fbb00d0126001f02f0f4ff01a92d0a02fcdef900de728400ff2f0601b3a3b301545e970159d15202e434a901d4ec0001d638e401867797036fc9c10053a035020597420012a21100e9615b0070054e05b4783501745f3f07eb75b900bf7e88038f77e902b63961052ec9bb01a6a577052c647e021562060290965f0177369800d16268008f6f1e02b794f900ebd82e00f8ca9401385f1600f2e1a300d6f7e80346ab130166f4310353675d014379f40152e00d00294f2b03f8cea701d6341502bf201601e46f3c04644a2601155b54021c1c0d03c4e7d702f39ac802de89ed04d2840e025e40ce03103ef701d68379015d174d00cdcc340250bd8800b4db8a018f125e00cc2b8c02bbafdb006f628f03963fa201c032470212923500922d5302b152ee010f855403e1c65d01c8611403777623017132e703a1e59c01c01a0c0471277301cdd48604c4d9a00173815e02c6d7db014adff905fc74b503e6d76803e382f601a67556000e050800ef1d3d01ed5785017c928902cba8df002ea8f5009a691600dcd4a1036a45180176dab503f054c601817ad3038c089901bdb176006059b200ff103002796069017436e803217e6901b943a600e8348a01d2930c04183607022b0fd70631ec2d02bd4481016a93e1021b5d2d02eb8d0f01113da100dc73c000ec9118026ea8a900e03a3f037ea4bc0052ea4b01e09e8600d1446e01d9a6d90033e1a601bbc18f010f07580309cd8c0075c09c01113826001b7c6c01abd737015efdd4009b87a801d0b2990698444a02e73d600268843b02204cc701bdb082010868190649c66601e80170046bdc14035fe646008cc28501389ea40291065001a8c4610155b78200469ede013bedea015f191a03e7af61010b79f8025723c200dbb4fc024908e300c3e34901b86ea10130e9a40180352f00520e7903c0be3a001dae750383172002270a860515331903ee0bb0036d399202748fef059c65760135544c04ccb812012f0448034d705501c03242015d103401076986000c6d4801399cfb009023cc002ca07502316bc200ee43a5036e6ea2009e5328024bd6ea003ad8cd03aa60930127e37201b0e3f10046f9b70188548b01297af7028e097501b0ae890647f78f02ebb97e033d19f7012c403803a0f406022139380568ca53026d93d00006670a01498a410360506401d5ae210331864a016d9782026e54ac0054c74b02f73b7001f5d7b20109b75f00ee1b0802a9cddc00c3e58700624ced01e15b1a0152db2701e0bec701d9c879013eb308038b41ce02b1cf5702f9fc2e0167596e01fdbd9e038ed69e039ff5360333b75c0115c8c2017f217101d101ff00eb6a2b03a634e8009de5dd00331e1900fadd1b01419357014e7bc40041c4df014c2c110155f14400cab7f90340d4d40108219a01473b5000afc23b038c48090064a0f400e6d0380028194b064ec2c2001203c8029f9f7302838ff7016f5d390338ed0b0186de870378a36c017b2bbe01e8bdce024fb64801cff6e001113c0900a1cf26008d6d5b00d80fd303874e6e0062a36803145079019ab2b7017f8f0400683c5202d5100d015fee21019e94e6017e813e0332ffd2013d8dec029c37e0017227f400c0bcfa01e34c350461545103abcb3d0292323701cbebbf0433c5f402572bd3021abf7700bce79a004251a1005cc1a001fae378007b37e200b811480085a80a0215879c01281967032fca3a00a7955103bb86ef00ebb5bd02d88bbc01493052002edae500bdfdfb0032e50c01d28dbf0180f4190196e77a02552fbd0183b7170324b296013289fd04c74e1f0215693204813c000283a35b0615e7bb02ad4fef009d66a401bf52140118b56701ef09ea00017ba40184e90003c9f2f2003cbaf500f110c701cd749e02be7d5b01df56cf007925e701e209c6030e99ef0178e8d9024a7052005f0c390232d6690181dc6105c66224029bd10c0209d43402d8b43706d2aae801d71454039cfa87009d637f06ffcd29029524460136c4c90156740002eaab96001ba3ea00ca87b400d05f00027a9c5d00b73e4b0089ebb600cce1ff03d58bd201017308031c0c6f00349c0100fd15fb0124a51f020b82d3006a12350229639a000ed93d02d70b5c01c7c570029226c70024fc78026aa94d02007b9f07cd4b6602a2afc4042b01f00078bab0020c624c01ec7cf103e792bc01c760e000cc1f2900d0c80d0015e16001ae9cc400f7d07e002bb8f40201ab510055739e0036402d01128a72008747cd00e32f9301dae74200fdd11c00f40fad01f30e76060e96d003b71632075470cf014a71d7053e922b0103e11306e1173e010dffd6022c08cd0144c59702d152d701f4f8f7037ff84600e1f757005a784600d5f55c000d85e2002fb505015ca36901061e8502e7b23d01e595180311319e00e4643d0273f3fb014c4b5c0151db93014ba3fe028cd5f600c2259802602c6402c8253205d3f43902adabb707f74a7002a59c1e04dddd6101f25d4902fa656403d8d95d03fd8abb018dbe34033acbb101c75e340073729e01a49868017e63e201759df4016bc81000ae5ae500790658009c205d027cf1d3010ded9d03a49a1501b7e01603f9189801704d1f00f7ab1701dab1cc0333899101c1b67204dfea9502096f6705c8810402ed8e4e04330628036cd5a5023bcffd022bd7450060610001302dca0078791601ea8b3001c62d2201b5321b0183d25b012d368000af7b6901c68d4e0242f4ef01f43667024d26f201015cf902faae57018a3f9000186c1b0121661201221698002fe57602318f63028fa99505751e9802b1087901089f12025965e603801d770044240b05e7b7370204ff6003a029c1013e8bde000fb3f300ff640f03513587008939950163f0aa0115e6e40230b452012a522b006ef5d900c77d3d002efd34008dc5db00d39fc10037796902b6148100a977aa03cab28b017428b603ab0dca0140b2940407cf2b007a357f0549a13002e2d68006540bf30163560705f44486013d2b150198545e01bd3cfa02ee76e801d5882501714c6b015c68640190ce17016d969a01e467b900da313202864d8b01b8014e0000a19401601de903ce9495019fa800005b80ab01051c13020a6ff70014bb960389e89502743e44033ed8bc01eaea20061b39a001180cf105a83cbf021f838d03ec9f7b014bc55e0273fe03015bb3610278615c01a9700e001595f800f8e3030050606d004bc04a010c5ae2018e6a4401d0727f01712aff02491a4a01f6b39602788c3c009346c803d528a101a0bcc9038c418701df73fc003e2fca02b395ff028137ed02a411ba0309a9c2029b6dda036f8c7b016780df02b08e6c016625db037f4d12016e6c17015bc04b00aef5160303ec3e012a409901e3adfe00ed7a84017f59ba017b528002fb54ae005ab3b101f3d65701663ca203cf820e010a828b00ce81db015dd99d03eee6e60161739f02a36b5f0232da0201d87dc6018bca8006095f440335095d02ad990603caac600444a06e02c22631021a50d500767d7200464643010e8e4903827ab901f214320281ed2800d29f8c01c597410154994200c37e5a0010eeec0176bb660102188503ba45e60038c55c01d5455e014f8ae501ce07e600cb6fe6055ae977010859070501620102934a850731f6b401e3b1700539bd6c01c1cbed0613d1c302930a2301569de2001fa38b0237074b013d5a7400b53ca9008aa2d40250a71f00cd5a70032070e30040977501b1e04901ad90d903e5cc4f01154de803714eea00e0397e0208318d00f293a50168b68c0194840c057a447f02e0572705fa6c0802c5c18f017987cf01ab1646043144740164af2807f669e902a6cb07006ec5da00d7fe1a02a7e2fd001f8f60000b672900b781cb0263f74a01d47e8400d2932c00c7ea1b01942fb5009b5b9e013669af01014e9102659a5f0080cf7f02337cec0181544700ddf3d30085aacf00de6ac700b7545e065ac8380189b673058d6092028488e4046012960236fb42048b660402ca6797001e13f80132b8cf00cac6590037c5e102a85ff90141414403bbea7e00a6df640170eff4007d17c2003a27b600f42c1802ae44b30197769a01b0a28200d972cc02ac7e4e0120de1e0323025b01ef8ef30408ebd70202ab970517d7f501a72fa406ef92cf024481b40443f371028f354802fa2d0e02176ea80044444f016d465f02ad5b900120ce5f038829070112bb990222ff70010891b902319d2500f86f31016608be01e9f3a9013c5517004a27bd007431ef00add5d2002ea16c019e962500c478b9010f62060398c33e0160e64707643d4c0219d4ec03a3611002c53b9204a217c40038183d04b462c102fb93e50361bd18012d36ce03e952f600b76726016d3ecc000af0e000921675018d9a780045d42300d063760179ff03014706c2007511c5017c0f17009a4f9900d65ec503b83793013dfe4e027e5299006e663f036b52a10168bbd4054f8a27003cff5d03470cba00d2fb1f05bda79003e22c13027f43e800d6f96b0287915601832eb000bdbbe301cf168c00d9d374003251ba028afa1f001e40c601879b6400a0ce1702baa2d3010fbc3f00fed031005554bf00f1c0f201987e9101eaa2a201e561d80140877e00ab94df0533002b031a27bd053f88ee00afc4b90062e2d5037d9ff405e1af3c029fe98e05b3f3cf01329859011f6515009019a4028abfd1005b1979002093050027ba7b033e73e6015ca7c6038ed5dc01b39c130318427a00d6a0d903012d3e01694f9202328963015664e703ae91e80164b80103ad097d003f25a10124728d012fde8e03f4ba9a0005aedd023e729b018637a0054f1f87027dfab305ebda2d02011c910110934900f9bd840111bdc001de8ec60347140f01f935ed020e0b12001bd37102d46b38019b9392035f7e300017c16d0125a25e00c79df9021780bb01cc31b2025ca42a012a77eb0158b7ed01c7d201036afe2a02e50a6303a100e200dbed5b0480b2cb02cf325f02cdd05f03f5bf59026dea4f01923df300147a7001f5f6b90266047b00e963e601db5bfc01c6de1603b2f5e901d2f1ea006ffac00155548800653a320182ad9c02762d330175e91002f15ad6005e9fdb010303ea01614c5c024f36e600f2e3e7063318df017038760114840101aad2ec0437f19e01b973130706e5ae00302c00057172a601f348e203cc59f40089e34b01f8ad38004a78f60276030b015078c603877a620191f1dd016dc24e01ccf14601d6c8a90160be2f032e67ae01625c480275e9b401c023e90219e52001ddfcc600cc2b4701b454ac048566be026eee6106e428e602e2cd4006c60ce100a619de00714533018e9f1804a6b84a020ae074029dd0e900c1747e03d30b8501153a8c01cc243301e71e2b00eb46b5013f389202a8125401cf010d03c732b00133d5f502a7d16100bf473700224e9c00e8903a01b94abd00ba8e95023f457f018ecb9307ae97bf0287e7cb06a1b68900a17efb02e820420044cf42041d1c25025c726001fe5cf7012cab4500ca770b01bb763201ff53880146521a0046e3020020eb7901b5299a004786e502c9ff2400299805009a3f490121b67c0079dd960119ccd50129ac57005a9d92036c821400476bc803f266bd00eec291062c58750207cee304be6efd016c8014068455330387b17005d72216038110d0037895aa025f131701a6501f0170f07a00e8b3fa00446eb402d1aa7700df6ca403ce4fe9011ae5e202d06251014f44070083b96400aa1da20310a26b0138150b0164c8b5017e41a601a586cc0068a7a80001a44f006c873b054532800165770d02e2068702a18eb3079e64de021ae0db059d5dc301e98d890010187d03dbce2f0360116201736e0c035f734d005be3e803f7fe4f015be5060257c68b00ce4b8100fa4dce018df47b018a45dc002097060183a71601ec44a702c6bd9600a3ab8a0332bc06015e1d890293e2b300a26bd003851f520196652d0380cae102df4893042f8a9701c240ce02ecda9e02691d8902fcbde901670f1103c161ff00b22da902c5e19b0027307503866a73006126b500962f41015282e502f526810049ef9a025a637f00a16f2103edd9f20182b9c303d4bf9e012896da0084a983005954fc01ab4680017df8cb020032b4017b4c5505fa6f50026242ef0399edb601dc7e850648cc6301409377036238a7033cf89503739be401ec2b0e0244890b0115faf1015b7a8f01ccf9f300d41a3c012fb6b0013017bf01cb7998022c4ad5013d5a1202f4a3e601b86a740352239f000c2102034f223e001057ae03ac655500ca2451069e45cc013fe1bb0439ce5e0255902f00e556f5023e91be01250527026cfb1a048893ea00a27991038f74ce01c4e8b903b6be8c01480cfe038a14f201a95aef036042bb01f4b58702dd883400f5053302ca2f4e009865d80049177d00fe602101ebd249012ad1580107816d007a68e402a9f2cb00dfcc8703c91ce90140067f049e904702638c5f044d960d02fa6b7601b63a7d0100266c038cbdd101f59a7d0171a35b01784fbe0385ef6c014b2ff800a3e4ef00116f0a0058954b01d6ebef00a79f18011c976c036ad1bc00e9e763021bca9401ad238a036d1844010145b5006b66520066ed07005c24ed01caa2530137ca060385ea870317fade00415ea802f4f8d201a66cc902fea16f02cc08fe00880d740264b084032ad77e01b08582039d4f940043e025010cce15013d226e01ed68af014f846f038dae480054e5b40268b38c0040f80f03e88a1000f5437b02d979d4013e5fda01d58589018eb652032f1c0b00e1728d01d1af4c039bb59607b8e50303a29d6f05e6bd8b0077cabe03d96a400143eb3f065e1aac01bb2f0b01d712fb0150545900443a80005e7105015c81d001600f5302081cbc00ef09a4003ccd9800c0a36203b7123c00d9b68b006d3b780103c0fb00a9d2f00124ac5c0293d3f501b2413400fd0d7300a6aece0571bc9501ec5aad042ac7c001576c710433234c0042199407db04070395f17203bdd1e8024f32c7009796d501114a2401352807001387410319ac4500aeed5500635f29000338100027a0b101c86ada02b84454015aba3d02428f8d010cf4a6036272c600c76ea303c012ba007ceff6016e441600dcea2e05d33c6b02682a69050de69802060583048c689a01d403060482e4a201b2641c05e67b5503bb0edf01fd60e6002698950162897a00d6cd0303e198b301058589009e458c0170a29a03b3f3ac0108bd73038e2edc01d486e1037d1d4500bc2b8901f24609005accff03e6aa930017381302377d9d010ab3da034eb6fd0125d4bf0528eb7c0060971c048694be00cdf9270632608801d32c880342d18303fc821703da801401c58176006c650b00b20592013e076401b4ec5e021b1aa4004c16700377664f00cac0e501c8b0d7002940f403cdb84e00a72d3f01a02300013a0c8e03cb099001da5ee5017a1b7000aa696d033fd04a01fa7f370501e2c6022b4cd10496984d01d1172e05c8ab45012bd3e704bd25e001e2c43e03a8b5de0121d3110077f1c501e423980115452801b1e2a10094b3c100dbc2fe0128ce3301e75cfa014399aa001594f100aa4552017812e7035b720300b83ee600e1c957019160a203b4f2dc009abbdd05e13eaa01377ed905740de301b22cef049c8d9b018fdd5304ead1d0002a11a501fb5185027cf5c90260d3180152d6a6009a240901f72f7f005adb8c01a0d92602d3933f0141549401cf030100d38659017f4e7a01df9b010351884a00b29cd003b9193101dd03d201e596be0154a2340328548d01367b54065b11960077131c051f16d7011b17cc038df13403e2347d041c4ccf00d7a7fa06ada4e60237cf69016dbbf501a02cdc0129658001a6105e005dd66b01754800024f3dea0178af7d008ba9fb004e279302f9c43101a4b36e02de46bb01158e7d019ab38a0175b02a010aae99009c5c6600a80da10169102004f9c5b401caa32c0556202402a099140779fc0f0218e350043b588e021016c9019acd4d03273f2f00087a8d008017b602cb27130103701d0316248c01d1ea740234323f0178ab68039fdb5e0057520e02e62a0500a58b7f02554e2600823c4202ca1e2d012dc47a01f935a201878f6702d6d27200d407a002a8982a036d2df6048d8387018247cc0722e20b02ff1bf203e08ad501f62ed802f403b7026cfc4a01ce1a3001cc36f603d2c624017823320034d8ca01258b8102f149940043e78d03292fcc004e74190104e1bf010593e4003a58b1007aa5e503fb53c901dfa76001b1b89e01f169b301f8c6f0007242cb01fe242f022c187307753efe00c4e1ba027a8dac0219552903e16fb700d5e79704033b0701ee8a9400429321011ef68d03d08d740167701f0058a1ac0053d7e6022e6f97002d263401842dcc008a806d02e8758601f2bead02f0ecf000527fec0227dfa1016db6e1037aaeef0087f2910133d19a0083037302d8a4fc01369c4505535eff01e7492d051313d4015fc53b025ffb210225c7490140acf70175743803e31112003e8a6701f6e5a401f376c90255209f016c22890155d3ba000ac1c10279c2b1007aee6603a1daab006cd9a1019eaa2200b02f9b01b5e40b01079c0000104b5d00ce62ff013a9a2300f9f2b80641754203e4e57b04c82a6e0285e4b202b96c760338139a0351a93e03708f7305eec43201ad30c10392025401958693025ee849006de33402be890a0028cc1e024b346101a3eb7e00fe7cbc004ab61501791d2301f01e070254dad60106549602501b75019f9f98024118dd01e20a3c018d876600bdbd960175b35c028316880377c71c0214814f06b4094102d9a3a904f593c6016a2690014eafcd01c305fa022e581d01a32fcc032a3706018286cf027364d600608c4b016adc9000c3201c01ac510501b4b334032454cb00aa70ae000b045b0045f41b0175835c002198af038b996b01fa872b02568a0401b3ea930278985403cb659b059c091902476a11026b990001bce5ba04c008b001ad95d104ed821d02e9d67e013de2660039a30401c66f33012c4f4e0173d20a01d90919039d8bc601d252bb024f8553008a81e601f3858601278810004d6b4f01b6555c01b1ccca00a34793039745be00ac33bc01fad2ac01c0f2710558591a033e426f0672982a02a0271b033550fe0269d17305667c6102dce662031ee70602b2c078020ed9cb017b9e4f007091f7005cfa3001a3b5c101242f8e028fbda5012d92f000064b8000299dc8025679d5000171ec00052dfa00900c52001f6ce700e1ef7703a607bd01bae484036dbd22004b2ccc01a234c5024dbcf10637148d02f3922f05cd6433027c6b94021ac34d0297fd5a05068f900133251f002277260106c5760099bcd30097147402f4413401b3fd6e012fb1d100a163110375deca006ab3fc017b367e019039bf0037ba79000af38a00cdd3e5017c9cf102939cb901e213bc037b2920010c22ce0210395302cb162503296062027666b80103be1c026d52da03c7ccc001c891760474cc920271206201c0c279006aa1f801ed587c0017d41a00cdab5a01f730d8018d25e6017bcb00029da81e01c3f8150070bb07014a85ef0349e3f301f9934600d678a200a709b303159e1200da4dd101616d5101e121b3033834390140acd203f847d1018da9ee049dbd9901adfe670261210e028c4ce603708b34010f3ad400a8d7c901f7ccd701df44a001389ab7022ee779006aa6890051888a00a52b3300e78b3d00395f3b0275621901963fec015ebefa01a8b9720105fa3a014a696101d7df86007163a301803e70003d6a9304a2c30a0220cdb604d50eae018026e70334b6df00622a9f03f60d2802bbd2b10505150003ff3d9402882d8101581a74027d267200fb32f20278868001cbf9a702a4ebd700cab1f300858d3e00f082be016eafff000014920125d27901062782008efa54018cc8cf00095f68010af4ae0086e87e0094017b020fc19501e7e9ef05d4467001fb74a002f1dedc01cc55e30406b93a0275f73f05734db1013ef5c8023e1225016a35e80231ddd300a2db0702015e2b00b63eb6029f4ec801868caa00ebb8e400af358a024f3a4d0197c902013fc42200051eb800abb09a00793bce0026632700ac504d02ff859700a721f1025dfddf012b72fc046b7e3903c7280d0725e51b0126ef1701977933039796f80409eaae0176f60402c7f5260045a1f20110b2960071388200ab1f69001a586c03302a6a00fba94200455d95000139fe00a4196f005abc5a03cb04c50028d53201d4608401578ab402e3927c01b7f6f70041755601fd66d202fd792402887303073a18d80086121d043ae26102af8e470406d1a100bd54330699fa4800d554eb032cdee000ee948f03a92a35014da77500ba0028017cb1670344e14200e30758014bac0600962de30110244601310209038ac116008fb7e702d9453200ec38a101d5832a008a912c0287e528011e3f23033c91f50164c00202e7a771029768260179b9da00798bd30276f0230240bdd902bab3a201a0bbe6003ef80e013b4e6100fff7a301e03b5b036a473a01f02f21013275ec00dbb13f02f35ab30010c2d703bc4332011687810068bd2501b839c200233ee701dbf86c000ce7b2008f505b01835d650190270201fffab2000511ec028a202e02cbbc2606f3733403bd714902be6c45011545f50117cbb2009763aa0041f86f00256c99033f25450000583e0258949001be44e001f127350029cbed03907ec201ca2afd031863970061fddf014a73310105af48033ab0cb007cb7f901e4e46300810ccf02a7c0c301b9b0100696eaab024c255503207887018dc2e3011fd63a02d4bb7d03e72e3c01bd742a0296b21301333eed02cbecc100c2e83c00ac229d01bc10b80266035f018ce9240228190b0114c3a60076f52d0043d595039e0c1201baa4e301a01905000c4ec3012bc5e100308e2902c39b3c01dec7120191889c00fc75a90290e2ee02ee176b046cb5bc01e570310248aaed01e6b7e3034fdc1402c16b7f057ecd65002e34c501d2ab240157035a0337978d0060bbff03294ec800fe464601f47da800cc448a017cd746006642c8021034e40075dc8f02caf87b003812ae03b997a40132e8d001a0e42b01f81d190144be3f00010000000000000000000000000000000000000000000000000000000000000000000000000000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f666f6c64686173682d302e312e352f7372632f6c69622e727300e89b12005b00000018010000210000005472616e73616374696f6e2063616c6c206973206e6f74206578706563746564496e6162696c69747920746f2070617920736f6d6520666565732028652e672e206163636f756e742062616c616e636520746f6f206c6f77295472616e73616374696f6e2077696c6c2062652076616c696420696e20746865206675747572655472616e73616374696f6e206973206f757464617465645472616e73616374696f6e20686173206120626164207369676e61747572655472616e73616374696f6e2068617320616e20616e6369656e7420626972746820626c6f636b5472616e73616374696f6e20776f756c6420657868617573742074686520626c6f636b206c696d697473496e76616c69645472616e73616374696f6e20637573746f6d206572726f72412063616c6c20776173206c6162656c6c6564206173206d616e6461746f72792c2062757420726573756c74656420696e20616e204572726f722e5472616e73616374696f6e206469737061746368206973206d616e6461746f72793b207472616e73616374696f6e73206d757374206e6f742062652076616c6964617465642e496e76616c6964207369676e696e67206164647265737354686520696d706c6963697420646174612077617320756e61626c6520746f2062652063616c63756c61746564546865207472616e73616374696f6e20657874656e73696f6e20646964206e6f7420617574686f72697a6520616e79206f726967696e436f756c64206e6f74206c6f6f6b757020696e666f726d6174696f6e20726571756972656420746f2076616c696461746520746865207472616e73616374696f6e436f756c64206e6f742066696e6420616e20756e7369676e65642076616c696461746f7220666f722074686520756e7369676e6564207472616e73616374696f6e556e6b6e6f776e5472616e73616374696f6e20637573746f6d206572726f725468652065787472696e73696320636f756c64206e6f74206265206465636f64656420636f72726563746c79496e76616c696420696e686572656e7420706f736974696f6e20666f722065787472696e73696320617420696e646578200000419f1200310000004f6e6c7920696e686572656e74732061726520616c6c6f77656420696e207468697320626c6f636b45786563757465426c6f636b4572726f72206170706c79696e672065787472696e7369633a200000a49f1200260000000100000000000000749e1200b59e1200f69e120041000000410000001f000000549c1200749c1200ad9c1200d49c1200eb9c12000a9d1200309d12005a9d1200799d1200b49d1200fa9d1200119e12003e9e1200200000003900000027000000170000001f000000260000002a0000001f0000003b00000046000000170000002d00000036000000617373657274696f6e206661696c65643a206c656e203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e727300000075a01200800000006501000009000000617373657274696f6e206661696c65643a20696478203c20434150414349545975a0120080000000b102000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e282975a01200800000004a07000005000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e740075a0120080000000f80500000d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273a8a112008400000058020000300000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f737065635f66726f6d5f697465725f6e65737465642e7273003ca212008300000034000000050000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300d0a212006f00000062030000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000050a31200750000002e020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000d8a312007d000000d1070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730068a4120067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e00000064a5120009000000e0a41200840000004e0000001f000000e0a412008400000048000000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000098a512007d000000d1070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727328a6120084000000c60000002700000028a6120084000000160200002f00000028a6120084000000a1000000240000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273dca61200600000002f0200001700000050617468206e6f742061737369676e6564000000dca6120060000000b20000001e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702e72730070a712007f000000c507000046000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20656d70747920696e7465726e616c206e6f646500000000a812003d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e727348a8120080000000460500001f000000617373657274696f6e206661696c65643a2073656c662e686569676874203e203000000048a81200800000006002000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e282948a81200800000004a07000005000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e202b20636f756e74203c3d2043415041434954590048a8120080000000f70500000d000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e740048a8120080000000f80500000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f646548a81200800000002706000016000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e202b20636f756e74203c3d204341504143495459000048a8120080000000360600000d000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e203e3d20636f756e7448a8120080000000370600000d00000048a81200800000006706000016000000617373657274696f6e206661696c65643a206d6174636820747261636b5f656467655f696478207b0a202020204c6566744f7252696768743a3a4c6566742869647829203d3e20696478203c3d206f6c645f6c6566745f6c656e2c0a202020204c6566744f7252696768743a3a52696768742869647829203d3e20696478203c3d2072696768745f6c656e2c0a7d000048a8120080000000c905000009000000617373657274696f6e206661696c65643a206e65775f6c6566745f6c656e203c3d204341504143495459000048a81200800000007c050000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727360ab12008400000058020000300000006361706163697479206f766572666c6f77000000f4ab1200110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730000000000080000000800000048020000000000000400000004000000490200005765696768747265665f74696d6570726f6f665f73697a654572726f7200000010ac12006f000000be0100001d000000506f7374206469737061746368207765696768742069732067726561746572207468616e20707265206469737061746368207765696768742e2050726520646973706174636820776569676874206d617920756e646572657374696d6174696e67207468652061637475616c207765696768742e204772656174657220706f73742064697370617463682077656967687420636f6d706f6e656e7473206172652069676e6f7265642e0a0909090909507265206469737061746368207765696768743a202c0a0909090909506f7374206469737061746368207765696768743a20000000d0ac1200c400000094ad12001d0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f64697370617463682e727372756e74696d653a3a6672616d652d737570706f72746672616d655f737570706f72743a3a64697370617463685965734e6f3078436f727275707465642073746174652061742060603a2049ae1200140000005dae1200030000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f756e6861736865642e727372756e74696d653a3a73746f726167656672616d655f737570706f72743a3a73746f726167653a3a756e686173686564506179734469737061746368436c6173734e6f726d616c4f7065726174696f6e616c4d616e6461746f72792f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727324af120084000000c6000000270000002e0000000100000000000000b8af12000100000042616c616e63655374617475736672616d655f737570706f72743a3a7472616974733a3a746f6b656e733a3a6d6973634672656552657365727665642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000008b01200750000002e020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e727390b0120070000000e8010000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000010b112007d000000d1070000090000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f686173682e7273496e76616c696420726576657273653a2068617368206c656e67746820746f6f2073686f727400edb11200260000006672616d655f737570706f72743a3a686173683a7472616e73616374696f6e5f6c6576656c3a57652061726520756e646572666c6f77696e6720776974682063616c63756c6174696e67207472616e73616374696f6e616c206c6576656c732e204e6f742067726561742c20627574206c65742773206e6f742070616e69632e2e2e000042b212005c0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f7472616e73616374696f6e616c2e72736672616d655f737570706f72743a3a73746f726167653a3a7472616e73616374696f6e616c2e01000000000000002bb3120001000000436f77544f7074696f6e4e6f6e65536f6d652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273004eb31200750000002e0200001100000044697370617463684576656e74496e666f6672616d655f73797374656d50686173654170706c7945787472696e73696346696e616c697a6174696f6e496e697469616c697a6174696f6e4c61737452756e74696d6555706772616465496e666f5065724469737061746368436c6173736672616d655f737570706f72743a3a646973706174636854000000000100000001000000550200002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f6c696d6974732e72734275696c6465722066696e6973686564207769746820606275696c645f6f725f70616e6963603b205468652070616e69632069732065787065637465642069662072756e74696d65207765696768747320617265206e6f7420636f727265637400006cb412004e000000b401000016000000426c6f636b4c656e6774686672616d655f73797374656d3a3a6c696d697473000000000004000000040000005602000056616c69646174696f6e4572726f72736861735f6572726f727357656967687473506572436c617373426c6f636b576569676874732f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e727300000091b51200600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000004b612007d000000d10700000900000091b5120060000000240100001900000050617468206e6f742061737369676e656400000091b5120060000000b20000001e0000006d616e6461746f7279546e6f726d616c6f7065726174696f6e616c6d61785065724469737061746368436c6173733c7533323e626173655f65787472696e7369635765696768746d61785f65787472696e7369634f7074696f6e3c5765696768743e6d61785f746f74616c7265736572766564626173655f626c6f636b6d61785f626c6f636b7065725f636c6173735065724469737061746368436c6173733c57656967687473506572436c6173733e776569676874636c6173734469737061746368436c617373706179735f66656550617973753332737065635f76657273696f6e636f6465633a3a436f6d706163743c7533323e737065635f6e616d65436f773c277374617469632c207374723e417474656d7074656420746f207573652066756e6374696f6e616c69747920746861742072657175697265732073797374656d2072616e646f6d6e6573732121d8b71200400000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f67657472616e646f6d5f6f725f70616e69632d302e302e332f7372632f6c69622e727300000020b81200650000001d00000037000000010000000000000001000000000000000000000000000000010000000000000082800000000000008a8000000000008000800080000000808b800000000000000100008000000000818000800000008009800000000000808a00000000000000880000000000000009800080000000000a000080000000008b800080000000008b0000000000008089800000000000800380000000000080028000000000008080000000000000800a800000000000000a0000800000008081800080000000808080000000000080010000800000000008800080000000802f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6b656363616b2d302e312e342f7372632f6c69622e72734120726f756e645f636f756e742067726561746572207468616e204b454343414b5f465f524f554e445f434f554e54206973206e6f7420737570706f7274656421000070b9120059000000eb0000000900000000000000000000000100000058020000590200005a0200006b65792d76616c756520737570706f7274206973206578706572696d656e74616c20616e64206d75737420626520656e61626c6564207573696e672074686520606b7660206665617475726534ba12004c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6c6f672d302e342e32322f7372632f5f5f707269766174655f6170692e727300000088ba1200610000002d000000090000000000000004000000040000005c0200002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6d65726c696e2d332e302e302f7372632f7374726f62652e727301a8010001605354524f424576312e302e3200000cbb12005c0000005e000000090000000cbb12005c0000005f000000090000000cbb12005c000000680000000d0000000cbb12005c000000720000000d0000000cbb12005c0000007c00000015000000596f75207573656420746865205420666c61672c207768696368207468697320696d706c656d656e746174696f6e20646f65736e277420737570706f72740000ccbb12003e0000000cbb12005c0000009100000009000000596f7520747269656420746f20636f6e74696e7565206f702020627574206368616e67656420666c61677320746f200024bc1200190000003dbc1200160000000200000000000000020000000000000000000000200080e00200000000000000020000000000000001000000200080e00cbb12005c000000880000000d000000646f6d2d7365702f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e727300abbc1200600000002f02000017000000abbc120060000000240100001900000050617468206e6f742061737369676e6564000000abbc120060000000b20000001e000000526561736f6e7370616c6c65745f62616c616e6365733a3a74797065734665654d697363416c6c4578747261466c6167737531323841646a7573746d656e74446972656374696f6e496e6372656173654465637265617365556e65787065637465644b696e6470616c6c65745f62616c616e6365733a3a70616c6c657442616c616e6365557064617465644661696c6564546f4d75746174654163636f756e742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273f0bd1200600000002f02000017000000f0bd120060000000240100001900000050617468206e6f742061737369676e6564000000f0bd120060000000b20000001e0000007265696e6974636f6d7075746573746f72616765626c6f636b5f6c656e6774684576656e7470616c6c65745f676c7574746f6e3a3a70616c6c657454686520604576656e746020656e756d206f6620746869732070616c6c65740000cfbe12001f00000050616c6c6574496e697469616c697a6564436f6d7075746174696f6e4c696d697453657453746f726167654c696d6974536574426c6f636b4c656e6774684c696d69745365745468652070616c6c657420686173206265656e2028726529696e697469616c697a65642e0000000000003ebf120024000000626f6f6c57686574686572207468652070616c6c657420686173206265656e2072652d696e697469616c697a65642e0074bf12002b00000054686520636f6d7075746174696f6e206c696d697420686173206265656e20757064617465642e00a8bf120027000000466978656455363454686520636f6d7075746174696f6e206c696d69742e0000e0bf1200160000005468652073746f72616765206c696d697420686173206265656e20757064617465642e000000000000c01200230000005468652073746f72616765206c696d69742e00000000000030c012001200000054686520626c6f636b206c656e677468206c696d697420686173206265656e20757064617465642e50c012002800000054686520626c6f636b206c656e677468206c696d69742e0080c01200170000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273a0c01200600000002f0200001700000050617468206e6f742061737369676e6564000000a0c0120060000000b20000001e00000052656c656173657370616c6c65745f7472616e73616374696f6e5f7061796d656e745631416e6369656e7456322f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000061c11200750000002e0200001100000063616e6e6f7420616476616e63652070617374206072656d61696e696e67603a20203c3d20000000e8c112002100000009c21200040000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f62797465732d312e31302e312f7372632f62797465732e72730020c212005b000000c7020000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273008cc2120067000000f7000000150000008cc2120067000000b801000029000000436f646563206572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300001fc3120067000000f70000000f0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e727398c3120060000000240100001900000050617468206e6f742061737369676e656400000098c3120060000000b20000001e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273002cc4120067000000f70000000f000000307848656164446174612829a6c4120009000000afc41200010000004865616444617461706f6c6b61646f745f70617261636861696e5f7072696d6974697665733a3a7072696d6974697665735665633c75383e56616c69646174696f6e436f646549647533322f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e7273000bc5120070000000e8010000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e72730000008cc51200750000002e020000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e727314c61200600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000084c612007d000000d10700000900000014c6120060000000240100001900000050617468206e6f742061737369676e656400000014c6120060000000b20000001e0000006d61785f63616e6469646174655f6465707468753332616c6c6f7765645f616e6365737472795f6c656e6d61785f636f64655f73697a656d61785f686561645f646174615f73697a656d61785f7570776172645f71756575655f636f756e746d61785f7570776172645f71756575655f73697a656d61785f7570776172645f6d6573736167655f73697a656d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e64696461746568726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e64696461746576616c69646174696f6e5f757067726164655f636f6f6c646f776e426c6f636b4e756d62657276616c69646174696f6e5f757067726164655f64656c61796173796e635f6261636b696e675f706172616d734173796e634261636b696e67506172616d736d61785f63617061636974796d61785f746f74616c5f73697a656d61785f6d6573736167655f73697a656d73675f636f756e74746f74616c5f73697a656d71635f686561644f7074696f6e3c486173683e706f6c6b61646f745f7072696d6974697665733a3a76394162726964676564486f7374436f6e66696775726174696f6e416272696467656448726d704368616e6e656c557067726164655265737472696374696f6e50726573656e7455706772616465476f416865616441626f7274476f41686561646361706163697479206f766572666c6f7700000044c9120011000000cd710b30bd2eab0352ddcc26417aa1941b3c252fcb29d88eff4f3de5de4476c32f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000080c912007d000000d107000009000000f5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f63617061636974796a0da05ca59913bc38a8630590f2627cb6604cff828a6e3f579ca6c59ace013d6a0da05ca59913bc38a8630590f2627c1d3719f5b0b12c7105c073c5074459486a0da05ca59913bc38a8630590f2627cf12b746dcf32e843354583c9702cc02063f78c98723ddc9073523ef3beefda0c4d7fefc408aac59dbfe80a72ac8e3ce5cd710b30bd2eab0352ddcc26417aa1949e94c040f5e73d9b7addd6cb603d15d3cd710b30bd2eab0352ddcc26417aa194f27bbb460270642b5bcaf032ea04d56a4f7074696f6e544e6f6e65536f6d654173796e634261636b696e67506172616d73706f6c6b61646f745f7072696d6974697665733a3a76393a3a6173796e635f6261636b696e672f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72735fcb12007d000000d1070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000eccb1200750000002e020000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730074cc120067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000eccc12007d000000d10700000900000030787072696d69746976655f747970657300000001000000000000000200000000000000020000000000000000000000200080e00200000000000000000002000000000000000000200000e9483235362f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273cccd120060000000240100001900000050617468206e6f742061737369676e6564000000cccd120060000000b20000001e0000005b75383b2033325d3030303130323033303430353036303730383039313031313132313331343135313631373138313932303231323232333234323532363237323832393330333133323333333433353336333733383339343034313432343334343435343634373438343935303531353235333534353535363537353835393630363136323633363436353636363736383639373037313732373337343735373637373738373938303831383238333834383538363837383838393930393139323933393439353936393739383939010000000000000000000000000000209a99999999999999999999999999991915ae47e17a14ae47e17a14ae47e17a14de24068195438b6ce7fba9f1d24d621096d40968226c787aa52c431cebe2361aab436e861bf0f96184f068e388b5f8142236583849f3c7b4368dedb5a0f7c6106a238dc00e52a6875748afbc9af2d71a884fd766a541b89fdf398c30e28e791507a6121f51012de6b294d626e80b2e11a40951cb8168aed6b7babdd7d9df7c1bea3aa7a234edf1de5f956479e17ffd15bbc885e8f6f0277f1911ea2d81999711f80dd640beb40c65c281764968c2251c9371de33989070ea019b2ba1869b841643c17e29e0a6f3219b1556e79eaf03123735310fcdd785692bbc89d897b2d21cf9905a3fd7df37218996d44646f50e17fa7348cc45e65fe7a0ab43d2d15d72125d860d7a3c3d66a534acd2b64fc9831db19ed79463971e515d2342920ca19c17c14b79dd82df7eda7d4f9b0e0ab4e31268ac5b62d198642a96e55e171020391e53f0e281a7e0b6ee4451b21240b32d18a9264fce524d92586aa78ea899c2571341a47eb0b77b5027aad87ddaf5d0f21e345065c05fc9a652bb13cbaec440c21890a6ea994cd4eb0ec90f3cf2369ace13800a11c3ad5379b141196050bef6b01f670874028bdc2dc16747b3a6fe5e5a1952a029356fb02434869fc2ebfe4b4814db19ee90f2591d909e7f688965d639105f29b0b41dc3fb4c9732a7a8d523f619b2ba595db135963dac5b1fba77e9c4142862e17d275eab9756494cfb92879d100d9d68c9d8c9abf2f00e7af8b7a5951a3e17ba3a7aa1bc5b5a722e2d93844415cb45fb2ec81acaafae8e8b8a429d0311450992b1a6f7dcb24ae478aa9dfb381b04a141c1eb927df56e832d55b12fc71503b46767897564c4589c577727266c11d2eca5d8db886d6df4c625f20b3de01bdb23eb461607be8ac3381e28a3fd4c1649b655d2116cfe6e9c604b534f31d7110e8aefb64f1397b16067458518828b1ca5a1bff8720fac271ab96a37ad01d6161e4e9960c27256b9e160552c24ce44129516c2cd031e57f535cebb136de33a1dabab010b0318ac2a2bd82f768a4f62175689346f02e0bcbb5513f3c46e0cb51289a8edb1d0ccc792ef1eb8d44a7aee1d07ba578e400ad3dbf24b93106ffbf11706c8df7100d5a87cf56f0fda58fc2713d60c66e933bba7fabb4cb2298e60a61e11d7848729fc5295c9a38e540b1a85180eacd0d2bac9a8aa0783d8766fae9d13e3ac1a1e5edcdadda5d1c057b2b0621f4f8a484b4bb0487e51419aac8ec01b19d9a1d3d5d5596dcbdacde156a53316147b81dc77117b573ce2d7e7abeac211102acf6059825ef2c63626a6acaa04b619bba580476818f56bc551eb56559d911496840006ed792a23d1a722dfdd7d7410560734a3e18fddd1810cd13196fc531a456cf6e81a73e4a7343da7f444fd0f159e56f853e2281d535d97525d6a97d91062578db903db61eb2ef2509510bff51ae845a4c7cf484ebc585bdadda6659115206b836cd9d37163ade2e1171f1e4111cd119fad28861c9f480403f364639b1b0bdb18be536bb0e5069d358f1de91516a21547cb0f89f3ea6b4a9172e420ab1137bc71784cdbb84446aa1b846d01451c5f63c1c6d615c70305554903be9a9d1619e9cd6b45de383637770769feae1712c1411646a263c1565858720e97b1f21cce67abd1811c01df7913f571128e2817a5ec5541ce16347f61dc90c10ed886126e4756357d24206502c7e768e48ca41d253978f7301d80ea016cb9201dd7b61784fa2cf9f3b099bb3423614d17acf81239f74728534e5c5f54386815f2ac5a1e2e2cd3b9750b7d7f436053445b8a48185823dcc7f7d53099cf19a9367c3b6d1326d2f9728c89b48eb28f0ef1f92b151fb8412e8fa3072a7228a60bf4c7bcdd18fa9abea54f39bbc1861ed65c0697e413f6f7300919c25e9cd730f0fad624d41ff85f5a071468e549798d262fdf83761960e6e1051020516ec70a52bfe5cf5e141a8581d10c80daf1056f0e9984d94b10f5d468821400c44fd6e4e3f4a0f5121a2b77ed01aa9969d911b71cf7b3f7db14bcc58a018814eead7492b0c55cf9af102c09de68a6ed7c4954ea806f9428b31a24d4e453b857ca3a10559abf76205c1583761d4360793b6273aaaeff5e8016119ebdc8d166f52b9db810b132cb33571b7f646d4152c4bc7d600df48ea25cdf15ccb68a67db69fdcae63dc3d84e7d7f11df8a7772c50f2fabd72f058ee42eff1b80d5925b0473f288ac8c6a3e1dbf651666444249d028f5d3563d55984affea11a3a003424d4188b95795bbf31032ab1ce9e60268d7cd39617977fcc2405bef1654520220797161e72df9c968cd15591286509d998eb568a57c5b767415565b1dd2a64ae13e912051fd15c5f6dd447c170e1fa21aff404da7ca443792b1d0c9124acb69f764ceae0b116e58504fb40f1e3b3ceec550d88b3ca7f179733f900c18c9c9f137da7909ca85f4c7c232403d13db42e9bff6c2a8a96fba0c9eb766c81ee39bbacc2bcf53212695707e2c52a018824995708972a91ab8dd2665f074b3139d75881a0f8475f78c2f3e08e787851f175ea07b7236915f0a269806ec9f3719dfe419965bf84019d5844605f07f2c144cea47abafc600e1103705d18c99231047dd3f454ca467cee724d5b4478fd21906b1cc9dd6e952d81fb7ddc39f72a81438270a4b45eedb79192c7e6919c2861059d8a911a2e35f298f46300f8f36711a7a13bba7811cb3baa56bf3d8d85e27152fa995ec9ae3286251898fade04bec101775efe0f7380e9de80e4caf9aac131b792a591a932dd8b05372d625e256a9152e5547480fbe798ddcc1deb7814554117cbb0bda7e968f15949c978ccf08ba1b972fd614ff11a67776b0dfd6726d2e16798cde43ffa751f991f3b278f5bdbe118eadfdd2fe3f1cc21cecb75a2263641cd88a64423233b00117f05f15b5b5b61646a2839b8ec25901ac59e6dd90c42b12a303395f1704f6ceacc2a3fc1ad4121d839c2d4cac695e72bd9b1cca484342179ce38ad6895418f5fde2160807699b12c605abbd0f548dee2f6bf10cd874c51d056b22fe7276d7be8c22c170462ad11704bc4ecb28c512ffd64e678d6bbb0d13a0f97d78743b51cb247ed87b125f7c1e4d61fef929c90d09b731adfc417f63180a81cb9421d4d7a0c52724ca34cc821377ce7854cfb9bf676f0c6d4321ad371ff9712ddda594cc1f59708acf4d57f918c7f4bd7d51ddd67f7af3a13f3eacfa130bee2fc9e82ebeffc3b89c32fd79f71fd624f3a020bf316636fa16c2fdc79219781d5c1a1acc27b85efbab01cb6c751460e47c7bae09539318c9bc67a2f05d1099a094c5b042eb1ef474943f6ae72f1ae1e67604270289e55c2add32881ff314e7eb2b9d85cea0b7b0eeb028a07fc210d8dfdf616f4a0159b44a4e7433ccd01aad4ce6e725d5cde029a23e908fd67315f1d651865177714deeb4cbd972782911e857e9d6e8bee87bb054ac8f848d751b201321df5332bafc59dd890c6aa4f7158042e7184328c863ae4a6e70eee99211666ad827380d0d0617114a1a17431e1ceb21adec2ca43d6b12746e7b129c7e16564e57bdf01cfe88db5c58fc41e3fe11234a2562b49496415f618d603605cb1ce9d41de829aaab677fe73d4df8d0081787dd1720bb2156b932b964d7f9736d12a5958c662b6923c2eac13af2c2ec7b1d1dded61e89ba82cebb34625b025796171818df4b076235a5fcf6b4e201acde1259f36479d89c883b94f187373613311ee1f583c7464a6dfcdc5a06c6914227181a2b03069f6e573017af9ed1a79b521390ded13ccb7d251a2518311ca692ea1e40e5a7303cfe1d48b7795ae384a8bb18005186c0c9314bd3c5c7ae829d53c913cdb4a3cd42e9115209a617d1c885a81fa4901c3e0221db7407b8df403a9e5319500d4acb01b415f705601967fbe44214a70a08099b29def837b37a52fc833510d7dd0ca89142308e59b82ab79339ef19134b0a200e028d3ee1f9eef84261bf140f3c08803e9b3d65e7c758fa9b1a9910e42c0d0064f8c86ea50c8e90f9908e1aea23a499e9f9d38bb7a3714061da3e15bb1c50e1ba94a93cf982f4991a15ff102b61b39bc4ba75c78ed120c35dbb311b891a29166a95c4d20b0ee768b162c115a17bba118877d0db6f3e1f87278267119b925d1c40bf802ce663983e3fd0d81b4975e44933cc33bd51b64665ff0c4716d45d506e8fd68fcaa75e0551cc70d21153c9b3e34b571944d9fd6e4eade7831ca93af68209794703e19725a58aeccf16bafbc468d4606ccf807984ea6ef03f122af9070e87347ae59af5d3104b1a331d2294390b6c902e51e22a43da08155c17b5a9c7d5bca68bda8155cfe1d310b012870fd9222e71df909c55e5025381e61d6c0c144f8b5a4cda16de1dcfa89aeb178aa3a9a5a27ba3ae787eb1a520e22213a905a9a26a5fd27d2797b5a29a369e1e54d12082887fdb971facf74e15927e1877a780ce06667c794c23c6d8dd749813f10b01e40a702d8fad6ba32796545a1f5ad60050a259240cbeefb51f7810151915459ad981141d70fef2f7b2f9d91014776a7b149b4317c0fe5bc6282e7b0d10f24392edc405f2ccca2c0a0e7d2baf19c29c0ebed0375b0a6fbda171ca228c14cee33ecb73f948088c97b427d51b7010b09f6478ec5b0edaac25540c55f94c1ac07f5060f0af3e7bbdb7a9d610610a1533664080f3bfcb95972ceede731ad5105270cd665266acef5847b064b990ee1adb59a4b80e852326476cf3b6faa68b1549aeb693d8d0821e6c23295f95853c1175b08a1ff41a9efdac38a8feee08941bf759d5b229afb197bd938698250710162c7b77f5ba258eac97dc9e131e6ca61113c558222b097d7abf2dfeb8c9793d1c766aad4eefa0fd61cc57cb60a1949716c5eebd0b591afee7091309e74ddd12123ab1fc455b5d63a6dc840ed8affbea1cc88d306baf4a1c85b0d03e13f3622217d4d726bcf26ee3d026dacb75c2e88112868ca4c6ea179fb4d72946899da79c1d6b705005efdf182a46ee04a11786b01789f3d99d25b3e0546b8b9d4d799ef3127452f6626febcd8778452f7c2897521e5da85e82bf220bd3c66abfc986124218e4b94b68cc1b3c0f9f88ff3ad20e68136d2979407a2c601898da989183e40c1f24219433c856b34613e2130e361dd718b64d4329a0788f38dcb4dca4914adf138aaf6ba866277f5a602161a182aacb1fa2bfefb9eb8532154db44db49bbb6f194e998c6189d18eaa3d90a4f6e26259140ce1d61aa1a7d8eecad9b62b4f824710459b245e9b72277e11f68adfb1030c1a04491d1849f585fe0df83b195b69d614d0a04a13d45d9ecba4f92f147c87ab104d01115253c963df3a5ce6b9f90bac1a7167da740fa11c192fb01efbfa6f5615c152482ad980b0ad25c04b2f2ff3111134510daa8e34e71509cd12b27eeb4f1bc40d71ee3e5d1fab6d0a0f283289d9159da48d8b651719bc57080c2028d47a11943a7c123cf2f42c590de0ccd9b9f71b439596dbfcf4c3f0e03db370e1c75f1603111216975d365a1acbf5268139e61104e81cf024fc569090de220b358fa31cd0ece38c1d30dfd9a64b82a25d3fe916da23833db1597fe1eba2ce4eb13254125c39382fb5c2cb6879d17de44e84531de32d60bf5d35d65394a76450720376171c8be665b12a78a976ecb6a68ecfc412fa44d76fb5aa260ff1138bd77db2071e626adfbf2a22523f27436fac642806184e887f99884edb651f9cf289502038134a0dcc28744ac56f6593ea0fb433c01e3ba40987f6a16a59840f2273f6c2991896b6076cf8e7eead36d9b4f59135ae1356570ce0f33f7e4924f5ba2283227d1f45acd64cf6ff64d4e99095e868e83019d189783df8ff8343ee7344ed5320271474a19397c6cc9ccff18f03f10f4d1f105202b925a447617f1cb305e87faecb190f35c7b7e9d24dcc165cd1ecfff1a214d990d25f210f0b3d12b0da23335b8210c1e75099684bab6150b32a06852b6a1a67b94014baa2224e405c556b6abc2115539400dd94e84e0bcd4944bceec9e71051ed00c887da171248a9d3c64a760c1bdabd00a06c4846db6c87dc6bd591a315af64cd4cbd0605498a9fe3efdda74f11b13ae27ac80a08a843ff38e62fa6b21bf42ee8fb39a2395369ff931ef38428165df2ec2ffbb4c77587ff0fb2f503ba112eea47e69121d9223fff7fb622d35c1cf254068541817ab565ffff91e8a8b016f5433837010162c4b73233db86ed2612ee9ff3f10168363a5984eb91a4150b1d8b19f6279bb95efbe069bc7450113c17d67a5e86e2fa7e2fe787635d407496125691fdd6d0f797e571d93862cd86bd1dabdaca780d937984c17a2de83dd2ca1756156f2d714261d09ac88a8631a80813222218af4e6a684d91daaa3d4f40741ee8b479f23e8853a4daae88643f005d18875d6128ff6cdce9ae586d50cc997d13a495680d65ae60a9e48d481a7a5c2f1f8344ed3db7beb3ba8371a0ae61b0f218369d8a312c32f62e36c1e6bee759f513f0617782131dbde4899bd7973ff6ee1f5a4e2c35a97dca83a1afdfdf32f88b1915a556f720fea19ce7f2b24cc2f96f14aa1d12f9b3311b4ab9288f709b945910dd95b6c1ecb55e43f50de580c5ed281a4ade5e01575ee535c4a41d67048bed14d5b11801ac7eb7c4691d7e52d008be1022b65a9b799725a10f2f30b7b3a7c91a815e154961acb74dd958f3f8c21f6e159b4b44078123c6d7ade0f59335e624112bacd33e9b053d5949345686223d6e1bbc89dccb159efde06dc3110582caf11563a1e36f1118feb3246941379b3b8e11d19bd27fb559638607753525c5c5161c0ee30e339114e9d1d290f750379e78160b1c3f8fda76ba74750dc6402c18fa1178c631e59024f7edbb48a367e059c31c2d055bb7401d2c8bc9d3b51f4dae021724047c5fcd7d566fd40f2be6708b6812066dc69848c9f07eedb2113d4e12741d9fbd9ee006a1c09857c2a7fda40e9017e6ca4b4dd2800047799becca50a5d912a24479481dce00d88ec5ad448108291e82d02d6d17d833133fd1579d9ad32018cea624247946f6a865a7ac4a15764d137da43aa08e3dbd746fa57a778856e21e645095e63e31645d8cb7fbc50612b518b7a6aaebcb8db64a702c96d16b0ec41357a4aa12131624111a47f0e81217a01fdfe9ee0edc4483da146cf35342df4c198021bfd87c9d02e243232943687f3d143381327afd7d684e361c54cfb9323110b8ce509095c9404abdc6b94b2951e819c60ba7a677d4330831d2c76f87dab9146b09ec1ec67629a08d0ed3bfd2ae9410dfdbac64a35742004917b8ff1d7e871a19e323eab5df01cda0126099b1313915aeb51c88914cce704d75e6ad278efa10e25594a6b5ade31aafbb70490c7d2a1be8774385c457e97bf2628d073d97bb1587f935046a7987c98eb50a0664df621171c2bc06108fa575e48877d66c65d11b2735ca6ba6a5b7f7e9d392abf01d41161fc4a1bc1e1ec65fee0f0f568db1cd1165d302616463a3ff16b3b189484f7c1c51dc9b4d501ce932df288ed406d9c9160e7d497173e3208fb220d87605143b127c2e0f8285059b7eeacd59f13b532b1dcabea5019e37afcbeed747f42fdc5517a19884344bf95809bfac6cc38c16ab120000000000000000000000000000001000000000000000000000000000000014000000000000000000000000000000190000000000000000000000000000401f0000000000000000000000000000881300000000000000000000000000006a180000000000000000000000000080841e00000000000000000000000000d012130000000000000000000000000084d7170000000000000000000000000065cd1d000000000000000000000000205fa012000000000000000000000000e8764817000000000000000000000000a2941a1d000000000000000000000040e59c30120000000000000000000000901ec4bc1600000000000000000000003426f56b1c0000000000000000000080e03779c31100000000000000000000a0d88557341600000000000000000000c84e676dc11b000000000000000000003d9160e45811000000000000000000408cb5781daf1500000000000000000050efe2d6e41a1b00000000000000000092d54d06cff010000000000000000080f64ae1c7022d15000000000000000020b49dd97943781a0000000000000000949002282c2a8b100000000000000000b9340332b7f4ad140000000000000040e70184fee471d91900000000000000883081121f2fe7271000000000000000aa7c21d7e6fae0311400000000000080d4dbe98ca039593e19000000000000a0c95224b00888ef8d1f00000000000004beb3166e05b5b5b81300000000000085ad609cc94622e3a618000000000040e6d878037cd8ea9bd01e0000000000e88f872b824dc7726142130000000000e27369b6e22079cff912180000000080dad003641b695743b8171e00000000908862821eb1a1162ad3ce1200000000b42afb22661d4a9cf48782170000000061f5b9abbfa45cc3f129631d000000a05c3954cbf7e6191a37fa5d12000000c8b34729beb560a0e0c478f516000000baa099b32de378c818f6d6b21c00004074044090fc8d4b7dcf59c6ef11000050910550b47b719e5c43f0b76b160000a4f50664a1da0dc63354eca5061c0080865984dea4a8c85ba0b4b32784110020e86f2516ced2ba72c8a1a031e5150028e2cbae9b8187698f3aca087e5e1b00596d3f4d01b1f4a199647ec50e1b1140af488fa041dd710ac0fddd76d2611510db1ab30892540e0d307d951447ba1aeac8f06f45dbf428083e6edd6c6cb41024fbeccb161232338acdc9148887e114ed39e87e9c96febfec40fc196ae9191a342451cf211efff793a83d50e2315010416d2543aae5fef5b8124de45a3e641492c8eed3149f7e336757609df14d7d19b67aea08da465e00416db8046ea1dc1fb28c924548ec3aa04844f3c2e4e4e913de2ff7565aa749c85a15b0f31d5ee418d6fbb4ec30115c7ab11a9c70a5751d1f651df193be8a79ecae90616687697213bf64ed386eed97a7daf4f93fe9034f18efbd28c7c9e87d511172f88fe3c4621eb576791c7eb1eed24a47fb390ebbfd1262d497a3dd5daa871d197ac8d129bd177bc97d0c55f594e9649f983a4674ac1ded9dce275519fd119f639fe4abc88b126845c271aa5f7cd6863cc7ddd6ba2e17c2d6320e95771b8ca80b39958c69fa1c39c6df28bd2a915749a743ddf7811c12c8b717736c7575ad1b9194d475a2a316baa5dd8fc7d2d29862b5b949138b4c1c9487eab9bcc3839f5d11140eecd6af11792965e8abb46407b5159911a7cc1b16d7737ee2d6e13d49225bffd5d0bfa21b66088f4d26adc66df598bf85e2b7451180caf2e06f5838c9327f2f27db259715207d2fd98b6e867bff5efbf051effc1a34aebd67170534ad5f1b9d369315de10c119ad415d06819837624404f89a151532601892f447a17ec57a5505b6015b1a1f3c4fdbf8cc246fbb6c55c311e17810270b23123700ee4aeac72a3456199714f0cdabd64480a9dde47935c1abdfbc19b6602b062bf0890a2f6cc158cb0b1610e438b6c7356c2ccd3ac7f12ebe8e1b141dc7a339438777800939aeba6d722219e4b80c08146995e04bc75929090f6b1f8ef30785ac615d6c8f1cd8b965e9a21372f049a617ba7447b3234e28bfa38b188f6cdc8f9de85119a0ac61f2ae8cae1ed9c3e9796231d30fe40b7d57ed172d13cf346418bbfdc713dd4e5cade85df81703427dde29fdb9589462b3d86275f61d42490e2b3a3e74b79c1d70c75d09ba1292dbd1b5c84d51e503254c39b58b6817775246e33aa1a5de442e9f87a2ae421d8af30bcec484270beb7cc39425ad49126df08e01f665f1cd255cf4f96e18dc1688acf28173bf6d412f7371b88a1e931cd5ab3731a897e488fde746b316f3db11ca96853d92bd1debfca11860dcef52167dfce6ccf62ce5257cca1e78d3abe71bce5d10401a3caf978d3e132b64cb7011427514d0200b9bfd300ed8353dfecc1592921904e9cd013dbd114e83cc3d401b9bfb8fa2b120214616cb10d29f26081182fa330bde68a9d7dbfd94c647304a1523f9008e15c393cd523d3ab859bc9c1ab69bc078ed597cc053662413b8f5a110a3c2f0d668709bb0e87fed172673ca144cf3ac0c834cc2dce2dfe89def0ffd190f18ece7d16ff9c9ed8bb1c2f5293e10131ee761c6cb773ce9ee5d3373b44d1498e560fab7be958ba36a350090216119fe1ef9f8652e7b6e4cc54200f469b91f5fb39bbbfffc0cc54fbb298038e2d31337a082aa3f3c50b6232a34a0c6dac818444823954f4be4a3ac3441487811fb1e2b0d36bd11af6ee6ebc0282debea5c137590832cd65a0ae026f172f8a52534189374a4b78bf10c9870ad8f760f2f411edcc8c652f716085f66cc19aa69bde812137b7827b51ccaf67f3fa014c4eca217d7995671e2a37cf45f4fc819f5a78b1d2620d6866de6cdf89b311d30f948771230a88be8086001f7027e247c371b15173c92ae220bb8c1b4839d2d5b0562da1c651badf50613f9507282fc58437d08123f6218b3c85737e50ea33b2f949c8a16cf7adedfba2d859ed28b0a3bb9432d1cc10cebcb943c13a36397e6c4534a9c11f1cfe5feb90bd88b3c3d20b6e85c0316ee439f7ea80eceae8b4ca8e32234841b758a234f29c9404dd72f49ce95a03211126deca273fb9020cd7bdb41bb487f155688a78b503ab568c05a5212ea1adf1a36b5485772447141b878734bd270cb1083e21aed8e95cd51e65650de064dfe14249b61a8f2fa40e69f6ce49548e03d1af7003da9d79ce8efe3c3ae5d2dac661034418c930dc4e2ebdc741ab53857801481516ff81075db26141261e2066da019f192459b2a2949984cab7c4d24440410adf7164275735bbe1fd6db602d55051498b59c925250f2ada7cb12b978aa0619ffe2433767e46e99917e57e71655481fdf6d8a82c04ee5ff1aaf96502e358d1357092da370a2debfe15abce479827018ad4bf8cb0c4bd62f9a71eb5d18a38c1e4c2f7bffe7eee55d0027b33aefe517131ffb59ffa16a5f75c0f05f096bdfdd17e779307f4a45b792f0ecb7cb4557d51d304c7e8f4e8bb25b16f4529f8b56a5123cdf5d33222e9ff21bb127872eac4e170b5735c0aaf946ef629df1283a57221d675621b80a5c8cd55d0297598476351201ac29660d73ef4af5c2fc6f25d4c2160117b4bfd04fab9db2f3fbcb2e89731c608ed077e2118ba24f787d3fbd35c811f9b1c4155bd62d8b63d65c8f2c433a1677de35dbf14bf96dfc0b34b3f7d3c81b0aab012977cfbbc47d8700d07a845d11cd1542f354c3ea355da9008499e5b415409b12302a746583b4d300e5ff1e221b08a10b5e9a681fd2508420ef5f53f5104a898ef5c042a70665a5e8ea37a832159d2bf23271135148becea2e545527f1a425bd7bf26ac32ed36c185af6b938f101232cd6f30577fa88431679b4678b314977ec08bfc2c9fd2e5fd40425856e0191e4f58d71d7ca3a3af9e6829f7352c10e6622e4d255b8c8c5bc6c2f3744337149ffb79a0ee71af6ff277b33052144519877a98486a4e9b0bef55e0bc6659961f944c5f6d02114167b5350c36e0f7bd13ba1fb708435511c122438f43d875ad18a8e7e4ca93aa5571eb1373544ed3d81ec910cf5e9c8ad52673ecc7f410844713fbd4827643ed8af08fe7f931156519183a8a235494a8adec7361787e5abe1f1e643696b45c89ec73e83c0b8ff8d6d312fdc3bbe1b3abe790220cceb2b6cc8817fdb42adaa09621352b8f815fe4ff6a1d1eb15a8824fe34017bf9b0bbeedf6212655d71aaad3d82c1d9379d6aea97fb16bfb40d1519cde231d0854405e57dba1cf79028ad2fc02d1fa2d34a23af8ef41135b572983b30f9a68a881dec5ab2711682628f7e4a7cb750adea24a7f11e0e1c919d198faead7252ac12770857d38811f604e0321a590f6757d794ca2c08eb15330698bf602fd3402d0d3afd37ca651be003bf779cfd83483c4844fe629e1f11d8c4ae9503fda45a4b5ad5bdfb8567150e761a7b443c4e31deb04aad7a67c11ac989f0ccaae5d0de8aae4eacace0b8103bac2c80151f85962d5a62d7d718e7144ad737e0da6626fcb8f03acd0ddf201a8ee622cc4800989d73d644a0688b541032a02bff5a00fe84100c56c842ae69143e88f6be71803da6148f6b7ad31984194e2ab42e8ee0cccfd97206594820e51f709a30dd580ce021c807a4372d34ef130dc17c146f0f582aba098d853801eb1850f19bd94a13eeb4284cf0a686c1251fd27601c80ecc1471992f5628f498771386d4017a12ff59cd7fbb6b32317f5518a8498218d77eb0c05faa067ffdde6a1e096e516f464f6ed87b2a646f5ecb02138bc9250b18e389ce1a353d0b367ec317ee3bef0dde5b2c8261820c8ec35db41d7585b5c86ab95bf17cd1c7389aba9012d2e6e27ac5a7b22ddcc5f9c640e9341786a09bd9b6511f395337b8f89023021d544401481293b3039422739b3a562112699501dad677a00439eb4f42c9aba916c3fa8190cc95c84507e6e392bb16541cba3c51da9f5d9d8bc46fce3b358eb411e88be5d007b584aeb50bc28ac2b12116e3ee1ec549e2251aa38e722d331eaa1b4d55331b6ead57f0259967fcdf524a11a12a00a2c9986d6c6f7f81fb97e79c154935800afcfe88474bdf61fa7d21041b4e2190865d9fb50c8f2b7dbcee94e210a12934e83407e3cf72769c6b2a3a1b150a34412202c9db830f948306b508621a86c06855a15d69b2893c122471457d10a7f0c2aa09b5031faccb166dcd969c14d1ac73154ca2c426977e5cc880bcc319034c688d6fe53a781ecf397dd0551a10035fc270cb9e4916e642889c44eb2014c4f6f24c7e06dc9b9f53aac31526291976b42fe01d08d38287e894349b6f731fc9d01dac12e5c3b15411dd00c125a813fc44255757de34dea9551441312f92183b96ee2ced15c255146b5991fdbab61ee51d153cb44d99b5ece2d77ade3432135e651a4b21a1ffe2a7db8d1916c2fe17b6fee09d6989bfdb9152f19f9b72fe1d319fac02e2b557299bd3f643a107bf12fec657835aa3adf38188f49489c96e17bdb82d24310c9970a2aa31faeb7b4a1d76939cb69ea75f86a50a5f7c738d4e1254b843648691f7e74ecd765bd030e21669a654fde775f5a1a280547204bd9a1c01e854feb06939a565d074c722b6e0110222ea3d1dc4870e7f045279abe3581682aa648d24b529d29e85a657961cef1b91ea5ed836115a438313c8f6dd71751136a5768e8495301464187a7455ced215834e14b2e5ba3c197d9e98d1ea81471b12b14c8fcff4c52f0e63ffc232b10c1156dd1f730372b7bbd13bbf737fdd4f15acd4e74f844ea52ac60aaf50dfd4a31aebe4f0b11251a7dabb666d920b65a610261e6d5e572551d16ac008774efecf14b0650836ad6ea58585f0ca14e2fd031a8e3fc5412c65877353d6fe4cad7e4210718f3652773e6950e88b3ea0581e53144e33c426158e8364e22e4ec8eee56719224075709a71a4fd9aba617a6adfc11f1548498600c786dea0147d8ca22bd9131a9adba7c0782816c9599c2f8b76cf18a180d2d1f096b25b3b7083fb2d54031f64902383569e4f19252632bd9c1462137e74ec23ec85a35faeaf7eecc3993a189d91e72c67678cf7995b9ee73440491e02bb107ca0c0b73a40f9c21021c8ed12c3e9149bc8b0654990b7f354293aa9173324dac1fa1cbf5b74a530aab388931da05628b91c7257b968675e4a70357c12486c72e7a34eade74201f65ccc421b175a074fe14ca298a1938133747f13e21c9864d10c7065ff44fc30a0a82f4c0d12bebd0510cc3e3f563b3dc8923b9f90162e2d07147f0ecf2b8a4c7a770ac7341c3d7c846c0f69615bd66fac8a66fca0114c9ba54753c339f2cb8b572d803b09161f028f192834c8eebe6ead38608a8b1b5361f90f99203d5537656c237c363711a8b9f753bf688c2a857e472c1b04851512a8f528ef822f75265e59f72145e61a0b899979d5b13d09d8da973a35ebcf104eebffd74a1e8d0b8ed13d8902e6031522e6ff8ddd65708ef1458d2b83df441ad5efbf78aa3f06f9b64b38fbb10b6b10caebef1695cf47b7a45e067a9ece8514bde6ab5c7ac319e54df687184642a7193670eb792c1a30aff0f954cf6b890810434c6698b720fcda6c382ac3c6ab0a1454df7f7ee528bb1188c6f473b8560d192ad71fde1ef329162af8f19066ac501f7ae6d34af337da4d1a3b971ac06b921319e0881df0c550e1e0093d21b00677181f18eb246cf7a419594c8c295cc8941e13ef1297a31a07b0b7aff79939fd1c13d8aad77c4ce1089ca59b7500883ce4178e950d9c9f190b038f029300aa4bdd1d797d88c103f0e66199e15b404a4faa12d79ceab104ac60baffd972d01ce354170d4465de05d7f8a87f908f04e41b2a1d884affaa63869bc94fbad9826e513a122a1dbf95fc6702bce3289023cae5c81674e42ebbfb0103ab1c3374ac3c1f7b1cc94efd543de1e1eaf19fc8eb85f3cc117ba23caa8c599a65eec7ba66673040161acbcbd4efef00ffe9796940813cd01bf05effe4f595603f32ec41c8d0256211ac363f5e73bb38cf3e6752fa44afba155704cf3550ea06830e01e738165b291bb662a1217252e411a96090e3edd8f91064bb09aa0e675d56d378745c294f38153d2a8c54d2c0f42b089791b3f362861a669ad77483f8781b65fe3a50d8fd931000810d52a4365762febd49644efdb81440e190664d04edfa7d2d5cfda13ce719c88c1a60b022d4bc6e9c593ee5853010fa2f21785c2b096c8a03f08d5ea73c14f87b299633760b076d046c3136d14b19f6dab37bc053ce488805c7bd83c59e1fda68504d58f4802d75639c56723bc3131083a4606e31e178527c43ec4e0ab418302e302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e7273f3f8120085000000a10100002e000000617373657274696f6e206661696c65643a20696478203c2043415041434954592f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e7273a8f91200800000009502000009000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e686569676874202d2031a8f9120080000000ad02000009000000a8f9120080000000b102000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e2829a8f91200800000004a07000005000000a8f9120080000000c704000023000000a8f91200800000000a05000024000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e6e6f64652e686569676874202d2031000000a8f9120080000000fa030000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727328fb12008400000058020000300000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f737065635f66726f6d5f697465725f6e65737465642e727300bcfb12008300000034000000050000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e727350fc120074000000e20500001400000050fc120074000000e20500002100000050fc120074000000d60500002100000050fc12007400000066040000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730004fd12006f000000be0100001d00000004fd12006f000000a80100001f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727394fd120084000000160200002f00000094fd120084000000a1000000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000038fe1200750000002e020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e7273c0fe120074000000e205000014000000c0fe120074000000e205000021000000c0fe120074000000d605000021000000c0fe12007400000066040000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000074ff12007d000000d1070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000040013007d000000d1070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f696e7465726e65722e7273009400130063000000b30000001a0000003a3a000000000000080000000400000065020000416c6c2070617468207365676d656e74732073686f756c642062652076616c69642052757374206964656e746966696572732f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f74792f706174682e72734e011300620000005a0000000e0000004e01130062000000720000000a000000206973206e6f7420612076616c69642052757374206964656e746966696572000100000000000000d00113001f0000004e0113006200000090000000210000004d697373696e675365676d656e74730000000000040000000400000066020000496e76616c69644964656e7469666965727365676d656e742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000480213007d000000d1070000090000007223457870616e645365637265744b6579736d696e69736b6e6f000000000000000000000000000008c9bcf367e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa5d182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b012f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f737562746c652d322e352e302f7372632f6c69622e727300004103130059000000bf020000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300ac0313006f000000be0100001d0000000000000008000000040000006e0200006f020000700200006120737472696e6762797465206172726179626f6f6c65616e20606056041300090000005f04130001000000696e7465676572206000000070041300090000005f04130001000000666c6f6174696e6720706f696e7420608c041300100000005f04130001000000636861726163746572206000ac0413000b0000005f04130001000000737472696e672000c804130007000000756e69742076616c75654f7074696f6e2076616c75656e6577747970652073747275637473657175656e63656d6170656e756d756e69742076617269616e746e6577747970652076617269616e747475706c652076617269616e747374727563742076617269616e742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f636f72652d312e302e3232382f7372632f64652f6d6f642e727300410513006200000024090000120000005f041300010000005f0413000100000060206f72206000005f04130001000000c4051300060000005f041300010000006f6e65206f66202c2000000001000000000000002e3075333230303031303230333034303530363037303830393130313131323133313431353136313731383139323032313232323332343235323632373238323933303331333233333334333533363337333833393430343134323433343434353436343734383439353035313532353335343535353635373538353936303631363236333634363536363637363836393730373137323733373437353736373737383739383038313832383338343835383638373838383939303931393239333934393539363937393839392f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273c50613006f000000be0100001d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000044071300750000002e02000011000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f696f2f636f72652e727300f4071300630000001200000009000000760200000c000000040000007702000078020000790200000000000000000000010000007a0200006120446973706c617920696d706c656d656e746174696f6e2072657475726e656420616e206572726f7220756e65787065637465646c792f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e727300c708130070000000f00a00000e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e7273480913007400000039060000140000004809130074000000390600002100000048091300740000002d0600001400000048091300740000002d060000210000004572726f72617373657274696f6e206661696c65643a2073656c662e69735f636861725f626f756e64617279286e65775f6c656e29000000c708130070000000b50500000d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300440a13006f000000be0100001d0000004809130074000000ba04000024000000454f46207768696c652070617273696e672061206c697374454f46207768696c652070617273696e6720616e206f626a656374454f46207768696c652070617273696e67206120737472696e67454f46207768696c652070617273696e6720612076616c7565657870656374656420603a60657870656374656420602c60206f7220605d60657870656374656420602c60206f7220607d606578706563746564206964656e7465787065637465642076616c7565657870656374656420602260696e76616c696420657363617065696e76616c6964206e756d6265726e756d626572206f7574206f662072616e6765696e76616c696420756e69636f646520636f646520706f696e74636f6e74726f6c2063686172616374657220285c75303030302d5c75303031462920666f756e64207768696c652070617273696e67206120737472696e676b6579206d757374206265206120737472696e67696e76616c69642076616c75653a206578706563746564206b657920746f2062652061206e756d62657220696e2071756f746573666c6f6174206b6579206d7573742062652066696e6974652028676f74204e614e206f72202b2f2d696e66296c6f6e65206c656164696e6720737572726f6761746520696e2068657820657363617065747261696c696e6720636f6d6d61747261696c696e672063686172616374657273756e657870656374656420656e64206f662068657820657363617065726563757273696f6e206c696d6974206578636565646564206174206c696e652020636f6c756d6e200000000100000000000000080d130009000000110d1300080000004572726f72282c206c696e653a202c20636f6c756d6e3a2029000000340d1300060000003a0d130008000000420d13000a0000004c0d130001000000696e76616c696420747970653a202c20657870656374656420000000700d13000e0000007e0d13000b000000696e76616c69642076616c75653a20009c0d13000f0000007e0d13000b000000666c6f6174696e6720706f696e74206060000000bc0d130010000000cc0d1300010000006e756c6c2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f6572726f722e7273000000e40d130061000000f701000021000000e40d130061000000fb0100000c000000e40d1300610000000202000021000000e40d1300610000000b0200002a000000e40d1300610000000f0200002c0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e72736e756d6265720000980e130070000000e801000017000000000000000000f03f000000000000244000000000000059400000000000408f40000000000088c34000000000006af8400000000080842e4100000000d01263410000000084d797410000000065cdcd41000000205fa00242000000e876483742000000a2941a6d42000040e59c30a2420000901ec4bcd64200003426f56b0c430080e03779c3414300a0d8855734764300c84e676dc1ab43003d9160e458e143408cb5781daf154450efe2d6e41a4b4492d54d06cff08044f64ae1c7022db544b49dd9794378ea449102282c2a8b2045350332b7f4ad54450284fee471d9894581121f2fe727c04521d7e6fae031f445ea8ca039593e294624b00888ef8d5f46176e05b5b5b893469cc94622e3a6c846037cd8ea9bd0fe46824dc77261423347e32079cff91268471b695743b8179e47b1a1162ad3ced2471d4a9cf487820748a55cc3f129633d48e7191a37fa5d724861a0e0c478f5a64879c818f6d6b2dc484c7dcf59c6ef11499e5c43f0b76b4649c63354eca5067c495ca0b4b32784b14973c8a1a031e5e5498f3aca087e5e1b4a9a647ec50e1b514ac0fddd76d261854a307d951447baba4a3e6edd6c6cb4f04acec9148887e1244b41fc196ae9195a4ba93d50e23150904b134de45a3e64c44b57609df14d7df94b6db8046ea1dc2f4c44f3c2e4e4e9634c15b0f31d5ee4984c1b9c70a5751dcf4c916166876972034df5f93fe9034f384d72f88fe3c4626e4d47fb390ebbfda24d197ac8d129bdd74d9f983a4674ac0d4e649fe4abc88b424e3dc7ddd6ba2e774e0c39958c69faac4ea743ddf7811ce24e9194d475a2a3164fb5b949138b4c4c4f11140eecd6af814f169911a7cc1bb64f5bffd5d0bfa2eb4f99bf85e2b74521507f2f27db259755505ffbf051effc8a501b9d369315dec050624404f89a15f5507b5505b6015b2a516d55c311e1786051c82a3456199794517a35c1abdfbcc9516cc158cb0b160052c7f12ebe8e1b345239aeba6d72226952c75929090f6b9f521dd8b965e9a2d352244e28bfa38b0853ad61f2ae8cae3e530c7d57ed172d73534f5cade85df8a75363b3d86275f6dd531e70c75d09ba1254254c39b58b6847542e9f87a2ae427d547dc39425ad49b2545cf4f96e18dce6547371b88a1e931c55e846b316f3db5155a21860dcef528655ca1e78d3abe7bb553f132b64cb70f1550ed8353dfecc2556124e83cc3d405b56cb10d29f26089156fe94c647304ac5563d3ab859bc9cfa56662413b8f5a1305780ed172673ca6457e0e89def0ffd99578cb1c2f5293ed057ef5d3373b44d04586b35009021613958c54200f469b96f58bb298038e2d3a3582a34a0c6dac8d8583541487811fb0e59c1282debea5c4359f172f8a525347859ad8f760f2f41ae59cc19aa69bde8e2593fa014c4eca2175a4fc819f5a78b4d5a321d30f94877825a7e247c371b15b75a9e2d5b0562daec5a82fc58437d08225ba33b2f949c8a565b8c0a3bb9432d8c5b97e6c4534a9cc15b3d20b6e85c03f65b4da8e32234842b5c3049ce95a032615c7cdb41bb487f955c5b5212ea1adfca5c79734bd270cb005d5750de064dfe345d6de49548e03d6a5dc4ae5d2dac66a05d751ab5385780d45d1261e2066da0095eab7c4d244404405ed6db602d5505745ecc12b978aa06a95e7f57e7165548df5eaf96502e358d135f5bbce4798270485f72eb5d18a38c7e5f27b33aefe517b35ff15f096bdfdde75fedb7cb4557d51d60f4529f8b56a55260b127872eac4e87609df1283a5722bd60029759847635f260c3fc6f25d4c22661f4fbcb2e89735c61787d3fbd35c89161d65c8f2c433ac6610c34b3f7d3c8fb618700d07a845d3162a9008499e5b46562d400e5ff1e229b628420ef5f53f5d062a5e8ea37a8320563cfa2e545527f3a63c185af6b938f706332679b4678b3a463fe40425856e0d9639f6829f7352c1064c6c2f3744337446478b330521445796456e0bc665996af64360c36e0f7bde364438f43d875ad18651473544ed3d84e65ecc7f41084478365e8f931156519b86561787e5abe1fee653d0b8ff8d6d322660cceb2b6cc8857668f815fe4ff6a8d66f9b0bbeedf62c266389d6aea97fbf666864405e57dba2c67d44a23af8ef46167891dec5ab2719667eb24a7f11e0ecc6713770857d3880168d794ca2c08eb35680d3afd37ca656b684844fe629e1fa1685ad5bdfb8567d568b14aad7a67c10a69af4eacace0b840695a62d7d718e77469f13acd0ddf20aa69d644a0688b54e0690c56c842ae69146a8f6b7ad31984496a7306594820e57f6a08a4372d34efb36a0a8d853801ebe86a4cf0a686c1251f6b305628f49877536bbb6b32317f55886baa067ffdde6abe6b2a646f5ecb02f36b353d0b367ec3276c820c8ec35db45d6cd1c7389aba90926cc6f9c640e934c76c37b8f8902302fd6c23739b3a5621326deb4f42c9aba9666de6e392bb16549c6d70ce3b358eb4d16d0cc28ac2b121066e8f722d331eaa3b6e9967fcdf524a716e7f81fb97e79ca56edf61fa7d2104db6e2c7dbcee94e2106f769c6b2a3a1b456f948306b508627a6f3d122471457db06fcc166dcd969ce46f7f5cc880bcc31970cf397dd0551a507043889c44eb20847054aac3152629b970e994349b6f73ef7011dd00c125a82371561441312f9258716b5991fdbab68e71e3d77ade3432c371dc8d1916c2fef77153f19f9b72fe2d72d4f643a107bf627289f49489c96e9772ab31faeb7b4acd720b5f7c738d4e0273cd765bd030e2367381547204bd9a6c73d074c722b6e0a173045279abe358d67386a657961cef0b7414c8f6dd71754174187a7455ced275749e98d1ea8147ab7463ffc232b10ce1743cbf737fdd4f15750baf50dfd4a34a75676d920b65a68075c008774efecfb475f1ca14e2fd03ea75d6fe4cad7e4220768c3ea0581e5354762f4ec8eee5678976bb617a6adfc1bf76157d8ca22bd9f3765a9c2f8b76cf28777083fb2d54035f772632bd9c14629377b07eecc3993ac8775c9ee7344049fe77f9c21021c8ed3278b8f354293aa96778a530aab388939d78675e4a70357cd27801f65ccc421b07798233747f13e23c7931a0a82f4c0d72793dc8923b9f90a6794d7a770ac734dc7970ac8a66fca0117a8c572d803b09467a6fad38608a8b7b7a656c237c3637b17a7f472c1b0485e57a5e59f72145e61a7bdb973a35ebcf507bd23d8902e603857b468d2b83df44ba7b4c38fbb10b6bf07b5f067a9ece85247cf687184642a7597cfa54cf6b8908907c382ac3c6ab0ac47cc7f473b8560df97cf8f19066ac502f7d3b971ac06b92637d0a3d21b00677987d4c8c295cc894ce7db0f79939fd1c037e9c7500883ce4377e039300aa4bdd6d7ee25b404a4faaa27eda72d01ce354d77e908f04e41b2a0d7fbad9826e513a427f299023cae5c8767f3374ac3c1f7bac7fa0c8eb85f3cce17f2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f726561642e7273c818130060000000a001000045000000c818130060000000a50100003d000000c818130060000000ad0100001a000000c818130060000000fa01000013000000c818130060000000ff01000033000000c818130060000000030200003e000000c818130060000000090200003a000000c8181300600000006802000019000000c8181300600000006c03000019000000c8181300600000006d0300001a000000c8181300600000006e03000019000000c8181300600000006f03000019000000c8181300600000007003000019000000c8181300600000007103000019000000c8181300600000007203000019000000c8181300600000007303000019000000c818130060000000ce03000011000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000010002000300040005000600070008000900ffffffffffffffffffffffffffff0a000b000c000d000e000f00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a000b000c000d000e000f00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000100020003000400050006000700080009000ffffffffffffffffffffffffffffa000b000c000d000e000f000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa000b000c000d000e000f000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff30313233343536373839616263646566757575757575757562746e7566727575757575757575757575757575757575750000220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300481f13006f000000be0100001d0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f76616c75652f7365722e7273000000c81f130065000000eb000000120000006e756d6265722076616c756520776173206e6f7420656d6974746564c81f130065000000ae0200001e000000696e662d696e664e614e00007b0200000c000000040000007c0200007d020000790200002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f61726974686d657469632f7372632f66697865645f706f696e742e7273617474656d707420746f206469766964652077697468206f766572666c6f7700ec2013001f0000000100000000000000696e76616c696420737472696e6720696e70757420666f7220666978656420706f696e74206e756d62657273705f61726974686d657469633a3a66697865645f706f696e744669786564553634000000902013005c000000c80800000100000046697865645531323841726974686d657469634572726f7273705f61726974686d65746963556e646572666c6f774f766572666c6f774469766973696f6e42795a65726f2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000c0211300750000002e020000110000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f61726974686d657469632f7372632f68656c706572735f3132386269742e727300482213005f0000004f000000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273b8221300600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000282313007d000000d107000009000000b822130060000000240100001900000050617468206e6f742061737369676e6564000000b822130060000000b20000001e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300ec23130067000000f70000000f000000753634753132382f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e72736b241300750000002e020000110000005075626c696373705f636f6e73656e7375735f617572613a3a737232353531393a3a6170705f737232353531392f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72730000001d25130060000000240100001900000050617468206e6f742061737369676e65640000001d25130060000000b20000001e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000b42513007d000000d107000009000000737232353531393a3a5075626c69632f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273005326130060000000240100001900000050617468206e6f742061737369676e65640000005326130060000000b20000001e000000536c6f7473705f636f6e73656e7375735f736c6f7473753634536c6f744475726174696f6e2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000d271300750000002e020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300942713006f000000be0100001d0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f636f72652f7372632f616464726573735f7572692e7273000014281300560000008d000000310000002f2f2f001428130056000000b1000000170000001428130056000000af0000002d0000001428130056000000af000000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300b02813006f000000be0100001d0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f636f72652f7372632f63727970746f2e727300000030291300510000005b01000014000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000102030405060708ffffffffffffff090a0b0c0d0e0f10ff1112131415ff161718191a1b1c1d1e1f20ffffffffffff2122232425262728292a2bff2c2d2e2f30313233343536373839ffffffffff31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797a535335385052450000003029130051000000660200005500000020282e2e2e2900000100000000000000682a1300020000006a2a130004000000626f74746f6d206472697665206f626579206c616b65206375727461696e20736d6f6b65206261736b657420686f6c642072616365206c6f6e656c79206669742077616c6b2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000cd2a13007d000000d1070000090000004163636f756e744964333273705f636f72653a3a63727970746f4b657954797065496400000000000400000004000000830200005363686e6f727252697374726574746f48444b447369676e2d6279746573636861696e2d636f64657365637265742d6b657948444b442d6861726448444b442d636861696e636f64652e2e2e01000000000000000200000000000000000002000000000000000000200000e94f70617175654d6574616461746173705f636f72652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000112c13007d000000d1070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273a02c130060000000240100001900000050617468206e6f742061737369676e6564000000a02c130060000000b20000001e0000005b75383b2033325d5b75383b20345d5665633c75383e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e72734a2d13005a000000d00100001b0000004a2d13005a000000d1010000100000004a2d13005a000000cc010000090000004a2d13005a000000b9010000200000000000000000000000010000008602000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c7565004a2d13005a0000003d01000020000000427566666572546f6f536d616c6c2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730000003e2e130067000000f70000000f000000000000000400000004000000870200000000000004000000040000008802000000000000040000000400000089020000557466384572726f7276616c69645f75705f746f6572726f725f6c656e0000008a0200000c000000040000008b02000046726f6d557466384572726f7262797465736572726f724e6f6e65536f6d65008c02000014000000040000008d02000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e7273000000732f13005a000000930000002b0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000e02f13007d000000d1070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e72730000703013005a000000410000001e000000282900000000000000000000010000008e02000054727946726f6d536c6963654572726f72736c69636520697320616c7761797320746865206e6563657373617279206c656e6774682f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f63727970746f2f68617368696e672f7372632f6c69622e72730000002531130058000000230000000a0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72739031130060000000240100001900000050617468206e6f742061737369676e65640000009031130060000000b20000001e00000042547265654d61704b566461746142547265654d61703c496e686572656e744964656e7469666965722c205665633c75383e3e6f6b6179626f6f6c666174616c5f6572726f726572726f7273496e686572656e7444617461496e686572656e744461746173705f696e686572656e7473436865636b496e686572656e7473526573756c742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300a8321300670000006e0400000f0000006661696c656420746f20636f6e7665727420272720287061737365642061732027272920696e746f2061202727207768656e206d61727368616c6c696e67206120686f737463616c6c27732072657475726e2076616c7565207468726f756768207468652046464920626f756e646172790000002033130013000000333313000e000000413313000b0000004c331300450000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652d696e746572666163652f7372632f706173735f62792e727300b43313005f0000001602000005000000753875333273705f636f72653a3a4c6f674c6576656c46696c746572960200000e0000000f0000009702000098020000636f72653a3a6f7074696f6e3a3a4f7074696f6e3c62797465733a3a62797465733a3a42797465733e6661696c656420746f206465636f6465202727207768656e206d61727368616c6c696e67206120686f737463616c6c27732072657475726e2076616c7565207468726f756768207468652046464920626f756e646172793a2000007d341300120000008f34130047000000b43313005f000000c102000005000000636f72653a3a726573756c743a3a526573756c743c5b75383b2033335d2c2073705f696f3a3a45636473615665726966794572726f723e636f72653a3a6f7074696f6e3a3a4f7074696f6e3c616c6c6f633a3a7665633a3a5665633c75383e3e636f72653a3a6f7074696f6e3a3a4f7074696f6e3c7533323e73705f696f3a3a4b696c6c53746f72616765526573756c742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72738935130067000000f70000000f0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273000036130067000000f70000000f000000616c69676e5f6f66667365743a20616c69676e206973206e6f74206120706f7765722d6f662d74776f00000078361300290000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7074722f6d75745f7074722e7273ac36130074000000750600000d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300303713006f000000be0100001d000000010000000000000072756e74696d65617373657274696f6e206661696c65643a206c656e203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e7273d8371300800000006501000009000000617373657274696f6e206661696c65643a20696478203c204341504143495459d837130080000000b102000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e2829d8371300800000004a07000005000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e7400d837130080000000f80500000d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273083913008400000058020000300000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000009c3913007d000000d1070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e72732c3a130084000000c6000000270000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f696e5f706c6163655f636f6c6c6563742e72730000c03a13007e000000fb000000010000004d657461646174612056313420737570706f727473206f6e652076657273696f6e3b207165642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f6d657461646174612d69722f7372632f7631342e727300763b13005500000099000000260000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300dc3b13006f0000006203000009000000dc3b13006f000000be0100001d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e000000f03c1300090000006c3c1300840000004e0000001f0000006c3c13008400000048000000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f696e5f706c6163655f636f6c6c6563742e72730000243d13007e000000fb000000010000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f696e5f706c6163655f636f6c6c6563742e72730000b43d13007e000000fb000000010000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000443e1300750000002e020000110000004d657461646174612056313520737570706f727473206f6e6c79206f6e652076657273696f6e2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f6d657461646174612d69722f7372632f7631352e727300f23e13005500000063000000300000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000583f13007d000000d1070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273e83f1300600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000584013007d000000d107000009000000e83f130060000000240100001900000050617468206e6f742061737369676e6564000000e83f130060000000b20000001e000000436f6e73656e737573456e67696e6549645665633c75383e6c6f67735665633c4469676573744974656d3e696e64657875386572726f724d6f64756c654572726f72546f6b656e4572726f7241726974686d657469634572726f72496e76616c69645472616e73616374696f6e556e6b6e6f776e5472616e73616374696f6e7072696f726974795472616e73616374696f6e5072696f7269747972657175697265735665633c5472616e73616374696f6e5461673e70726f76696465736c6f6e6765766974795472616e73616374696f6e4c6f6e67657669747970726f706167617465626f6f6c656432353531393a3a5369676e6174757265737232353531393a3a5369676e617475726565636473613a3a5369676e617475726565636473613a3a4b656363616b5369676e61747572655b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d5472616e73616374696f6e616c4572726f72547269654572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300008b42130067000000f70000000f0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f6469676573742e7273044313005c00000035000000130000004469676573744974656d73705f72756e74696d653a3a67656e657269633a3a64696765737450726552756e74696d65436f6e73656e7375735365616c4f7468657252756e74696d65456e7669726f6e6d656e74557064617465642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f6572612e727300ca43130059000000590000002c000000496d6d6f7274616c4d6f7274616c314d6f7274616c324d6f7274616c334d6f7274616c344d6f7274616c354d6f7274616c364d6f7274616c374d6f7274616c384d6f7274616c394d6f7274616c31304d6f7274616c31314d6f7274616c31324d6f7274616c31334d6f7274616c31344d6f7274616c31354d6f7274616c31364d6f7274616c31374d6f7274616c31384d6f7274616c31394d6f7274616c32304d6f7274616c32314d6f7274616c32324d6f7274616c32334d6f7274616c32344d6f7274616c32354d6f7274616c32364d6f7274616c32374d6f7274616c32384d6f7274616c32394d6f7274616c33304d6f7274616c33314d6f7274616c33324d6f7274616c33334d6f7274616c33344d6f7274616c33354d6f7274616c33364d6f7274616c33374d6f7274616c33384d6f7274616c33394d6f7274616c34304d6f7274616c34314d6f7274616c34324d6f7274616c34334d6f7274616c34344d6f7274616c34354d6f7274616c34364d6f7274616c34374d6f7274616c34384d6f7274616c34394d6f7274616c35304d6f7274616c35314d6f7274616c35324d6f7274616c35334d6f7274616c35344d6f7274616c35354d6f7274616c35364d6f7274616c35374d6f7274616c35384d6f7274616c35394d6f7274616c36304d6f7274616c36314d6f7274616c36324d6f7274616c36334d6f7274616c36344d6f7274616c36354d6f7274616c36364d6f7274616c36374d6f7274616c36384d6f7274616c36394d6f7274616c37304d6f7274616c37314d6f7274616c37324d6f7274616c37334d6f7274616c37344d6f7274616c37354d6f7274616c37364d6f7274616c37374d6f7274616c37384d6f7274616c37394d6f7274616c38304d6f7274616c38314d6f7274616c38324d6f7274616c38334d6f7274616c38344d6f7274616c38354d6f7274616c38364d6f7274616c38374d6f7274616c38384d6f7274616c38394d6f7274616c39304d6f7274616c39314d6f7274616c39324d6f7274616c39334d6f7274616c39344d6f7274616c39354d6f7274616c39364d6f7274616c39374d6f7274616c39384d6f7274616c39394d6f7274616c3130304d6f7274616c3130314d6f7274616c3130324d6f7274616c3130334d6f7274616c3130344d6f7274616c3130354d6f7274616c3130364d6f7274616c3130374d6f7274616c3130384d6f7274616c3130394d6f7274616c3131304d6f7274616c3131314d6f7274616c3131324d6f7274616c3131334d6f7274616c3131344d6f7274616c3131354d6f7274616c3131364d6f7274616c3131374d6f7274616c3131384d6f7274616c3131394d6f7274616c3132304d6f7274616c3132314d6f7274616c3132324d6f7274616c3132334d6f7274616c3132344d6f7274616c3132354d6f7274616c3132364d6f7274616c3132374d6f7274616c3132384d6f7274616c3132394d6f7274616c3133304d6f7274616c3133314d6f7274616c3133324d6f7274616c3133334d6f7274616c3133344d6f7274616c3133354d6f7274616c3133364d6f7274616c3133374d6f7274616c3133384d6f7274616c3133394d6f7274616c3134304d6f7274616c3134314d6f7274616c3134324d6f7274616c3134334d6f7274616c3134344d6f7274616c3134354d6f7274616c3134364d6f7274616c3134374d6f7274616c3134384d6f7274616c3134394d6f7274616c3135304d6f7274616c3135314d6f7274616c3135324d6f7274616c3135334d6f7274616c3135344d6f7274616c3135354d6f7274616c3135364d6f7274616c3135374d6f7274616c3135384d6f7274616c3135394d6f7274616c3136304d6f7274616c3136314d6f7274616c3136324d6f7274616c3136334d6f7274616c3136344d6f7274616c3136354d6f7274616c3136364d6f7274616c3136374d6f7274616c3136384d6f7274616c3136394d6f7274616c3137304d6f7274616c3137314d6f7274616c3137324d6f7274616c3137334d6f7274616c3137344d6f7274616c3137354d6f7274616c3137364d6f7274616c3137374d6f7274616c3137384d6f7274616c3137394d6f7274616c3138304d6f7274616c3138314d6f7274616c3138324d6f7274616c3138334d6f7274616c3138344d6f7274616c3138354d6f7274616c3138364d6f7274616c3138374d6f7274616c3138384d6f7274616c3138394d6f7274616c3139304d6f7274616c3139314d6f7274616c3139324d6f7274616c3139334d6f7274616c3139344d6f7274616c3139354d6f7274616c3139364d6f7274616c3139374d6f7274616c3139384d6f7274616c3139394d6f7274616c3230304d6f7274616c3230314d6f7274616c3230324d6f7274616c3230334d6f7274616c3230344d6f7274616c3230354d6f7274616c3230364d6f7274616c3230374d6f7274616c3230384d6f7274616c3230394d6f7274616c3231304d6f7274616c3231314d6f7274616c3231324d6f7274616c3231334d6f7274616c3231344d6f7274616c3231354d6f7274616c3231364d6f7274616c3231374d6f7274616c3231384d6f7274616c3231394d6f7274616c3232304d6f7274616c3232314d6f7274616c3232324d6f7274616c3232334d6f7274616c3232344d6f7274616c3232354d6f7274616c3232364d6f7274616c3232374d6f7274616c3232384d6f7274616c3232394d6f7274616c3233304d6f7274616c3233314d6f7274616c3233324d6f7274616c3233334d6f7274616c3233344d6f7274616c3233354d6f7274616c3233364d6f7274616c3233374d6f7274616c3233384d6f7274616c3233394d6f7274616c3234304d6f7274616c3234314d6f7274616c3234324d6f7274616c3234334d6f7274616c3234344d6f7274616c3234354d6f7274616c3234364d6f7274616c3234374d6f7274616c3234384d6f7274616c3234394d6f7274616c3235304d6f7274616c3235314d6f7274616c3235324d6f7274616c3235334d6f7274616c3235344d6f7274616c32353545726173705f72756e74696d653a3a67656e657269633a3a6572614469676573744974656d206e6f7420657175616c446967657374547269654572726f7273705f72756e74696d653a3a70726f76696e675f74726965496e76616c69645374617465526f6f74496e636f6d706c657465446174616261736556616c75654174496e636f6d706c6574654b65794465636f6465724572726f72496e76616c6964486173684475706c69636174654b657945787472616e656f75734e6f646545787472616e656f757356616c756545787472616e656f7573486173685265666572656e6365496e76616c69644368696c645265666572656e636556616c75654d69736d61746368496e636f6d706c65746550726f6f66526f6f744d69736d617463684465636f64654572726f72426c616b6554776f32353673705f72756e74696d653a3a7472616974730000000004050600082f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000184e1300750000002e02000011000000496e76616c69645472616e73616374696f6e73705f72756e74696d653a3a7472616e73616374696f6e5f76616c696469747943616c6c5061796d656e744675747572655374616c6542616450726f6f66416e6369656e744269727468426c6f636b45786861757374735265736f7572636573437573746f6d4261644d616e6461746f72794d616e6461746f727956616c69646174696f6e4261645369676e6572496e64657465726d696e617465496d706c69636974556e6b6e6f776e4f726967696e556e6b6e6f776e5472616e73616374696f6e43616e6e6f744c6f6f6b75704e6f556e7369676e656456616c696461746f725472616e73616374696f6e56616c69646974794572726f72496e76616c6964556e6b6e6f776e5472616e73616374696f6e536f75726365496e426c6f636b4c6f63616c45787465726e616c56616c69645472616e73616374696f6e2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300ee4f13007d000000d107000009000000d20200000c00000004000000d3020000d4020000d5020000000000000000000001000000d6020000d7020000d8020000010000000000000048617368206e6f7420657175616c44697370617463684572726f724f706171756545787472696e73696373705f72756e74696d654d756c74695369676e6174757265456432353531395372323535313945636473614574684d6f64756c654572726f725472616e73616374696f6e616c4572726f724c696d6974526561636865644e6f4c617965724f7468657243616e6e6f744c6f6f6b75704261644f726967696e4d6f64756c65436f6e73756d657252656d61696e696e674e6f50726f766964657273546f6f4d616e79436f6e73756d657273546f6b656e41726974686d657469635472616e73616374696f6e616c457868617573746564436f7272757074696f6e556e617661696c61626c65526f6f744e6f74416c6c6f77656454726965546f6b656e4572726f7246756e6473556e617661696c61626c654f6e6c7950726f766964657242656c6f774d696e696d756d43616e6e6f74437265617465556e6b6e6f776e417373657446726f7a656e556e737570706f7274656443616e6e6f74437265617465486f6c644e6f74457870656e6461626c65426c6f636b656445787472696e736963496e636c7573696f6e4d6f6465416c6c45787472696e736963734f6e6c79496e686572656e74732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e72738352130085000000a10100002e000000617373657274696f6e206661696c65643a20696478203c2043415041434954592f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e727338531300800000009502000009000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e686569676874202d20313853130080000000ad020000090000003853130080000000b102000009000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20656d70747920696e7465726e616c206e6f6465000000185413003d0000003853130080000000460500001f000000617373657274696f6e206661696c65643a2073656c662e686569676874203e203000000038531300800000006002000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e282938531300800000004a070000050000003853130080000000c70400002300000038531300800000000a05000024000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e6e6f64652e686569676874202d20310000003853130080000000fa03000009000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e202b20636f756e74203c3d204341504143495459003853130080000000f70500000d000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e74003853130080000000f80500000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f646538531300800000002706000016000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e202b20636f756e74203c3d20434150414349545900003853130080000000360600000d000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e203e3d20636f756e743853130080000000370600000d00000038531300800000006706000016000000617373657274696f6e206661696c65643a206d6174636820747261636b5f656467655f696478207b0a202020204c6566744f7252696768743a3a4c6566742869647829203d3e20696478203c3d206f6c645f6c6566745f6c656e2c0a202020204c6566744f7252696768743a3a52696768742869647829203d3e20696478203c3d2072696768745f6c656e2c0a7d00003853130080000000c905000009000000617373657274696f6e206661696c65643a206e65775f6c6566745f6c656e203c3d204341504143495459000038531300800000007c0500000900000072616e676520737461727420616e6420656e642061726520657175616c20616e64206578636c7564656420696e2042547265654d6170000060571300360000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f7365617263682e72730000a057130082000000700000001500000072616e67652073746172742069732067726561746572207468616e2072616e676520656e6420696e2042547265654d61700000003458130031000000a05713008200000079000000150000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273805813008400000058020000300000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273001459130067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7074722f6d6f642e72738c591300700000000c02000001000000000000000400000004000000d9020000000000000400000004000000da0200004c61796f757473697a65616c69676e43617061636974794f766572666c6f7700000000000400000004000000db020000416c6c6f634572726c61796f75742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f736d616c6c7665632d312e31352e302f7372632f6c69622e72732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273000000c65a13006f000000be0100001d000000000000000800000004000000dc02000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c7565006a5a13005c000000540100002e0000006361706163697479206f766572666c6f770000006a5a13005c00000043010000360000006a5a13005c000000d00400000e000000617373657274696f6e206661696c65643a206e65775f636170203e3d206c656e6a5a13005c0000009b0400000d0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6f7665726c617965645f6368616e6765732f6d6f642e7273000000f85b13006900000051000000140000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e7273000000745c130085000000670200002a0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f6d6f642e72730000000c5d130071000000560a0000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000905d1300750000002e020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300185e13006f000000be0100001d000000416e204f7665726c617956616c756520697320616c7761797320637265617465642077697468206174206c65617374206f6e65207472616e73616374696f6e20616e642064726f7070656420617320736f6f6e0a09617320746865206c617374207472616e73616374696f6e2069732072656d6f7665643b207165642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6f7665726c617965645f6368616e6765732f6368616e67657365742e727300145f13006f0000000a0100002b000000145f13006f0000000f01000021000000145f13006f000000140100002b000000607365745f7072657660206973206f6e6c792060536f6d65285f29602c206966207468652076616c75652063616d652066726f6d20706172656e743b20716564145f13006f0000007d010000160000004120777269746520746f20616e204f7665726c6179656456616c7565206973207265636f7264656420696e20746865206469727479206b6579207365742e204265666f726520616e0a090909094f7665726c6179656456616c75652069732072656d6f7665642c2069747320636f6e7461696e696e67206469727479207365742069732072656d6f7665642e20546869730a0909090966756e6374696f6e206973206f6e6c792063616c6c656420666f72206b65797320746861742061726520696e20746865206469727479207365742e20716564000000145f13006f000000df020000380000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273ec60130084000000c6000000270000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000806113007d000000d1070000090000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f73746174732e727300000010621300590000007b0000001e00000010621300590000007c000000230000001062130059000000800000001e0000001062130059000000810000002400000044656661756c744572726f722f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000b8621300750000002e020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300406313006f000000be0100001d0000003a6368696c645f73746f726167653a64656661756c743a3a6368696c645f73746f726167653a2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746f726167652f7372632f6c69622e727300e6631300510000006a0100001a0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72734864130060000000240100001900000050617468206e6f742061737369676e65640000004864130060000000b20000001e00000042547265655365745445787472612072616e646f6d6e6573732068617320616c7265616479206265656e207365742c2063616e6e6f742073657420697420616761696e2ee56413003b0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6861736865725f72616e646f6d5f73746174652e72730000286513005e000000420000000d0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6e6f64655f636f6465632e727300000098651300550000003f00000028000000986513005500000048000000140000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6c69622e72730000106613004e0000002502000016000000106613004e000000260200000b00000073705f747269653a3a73746f726167655f70726f6f6653746f7261676550726f6f66747269655f6e6f64657342547265655365743c5665633c75383e3e2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e72730000bd661300750000002e020000110000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f73747265616d2e7273000044671300560000005100000015000000446713005600000059000000150000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f697465722e727300bc67130073000000f6050000150000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f73747265616d2e72730000406813005600000047000000410000004068130056000000470000004f000000436f775452756e74696d6556657273696f6e73705f76657273696f6e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273d468130060000000240100001900000050617468206e6f742061737369676e6564000000d468130060000000b20000001e000000737065635f6e616d65436f773c277374617469632c207374723e696d706c5f6e616d65617574686f72696e675f76657273696f6e753332737065635f76657273696f6e696d706c5f76657273696f6e61706973417069735665637472616e73616374696f6e5f76657273696f6e73797374656d5f76657273696f6e75382f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273000000e569130060000000240100001900000050617468206e6f742061737369676e6564000000e569130060000000b20000001e000000576569676874287265665f74696d653a202c2070726f6f665f73697a653a20297c6a1300110000008d6a13000e0000009b6a13000100000057656967687473705f776569676874733a3a7765696768745f76327265665f74696d6575363470726f6f665f73697a6552756e74696d65446257656967687473705f776569676874737265616477726974650000000000000400000004000000e60200002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000186b1300750000002e0200001100000008c9bcf367e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa5d182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b08c9bcf367e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa5d182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e7273206c130070000000e8010000170000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f736d616c6c7665632d312e31352e302f7372632f6c69622e727363616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500000000000400000004000000e7020000000000000400000004000000e80200004c61796f757473697a65616c69676e43617061636974794f766572666c6f7700000000000400000004000000e9020000416c6c6f634572726c61796f75742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273000000866d13006f000000be0100001d000000000000000800000004000000ea020000a06c13005c000000540100002e0000006361706163697479206f766572666c6f77000000a06c13005c0000004301000036000000a06c13005c000000d00400000e000000617373657274696f6e206661696c65643a206e65775f636170203e3d206c656ea06c13005c0000009b0400000d0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6f64652e72738c6e13005c000000f7010000420000008c6e13005c000000f8010000460000008c6e13005c00000015020000260000008c6e13005c000000280200003c0000008c6e13005c00000029020000380000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f7472696564626d75742e7273000000386f1300610000005e08000032000000386f1300610000005e080000100000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6d6f642e72730000bc6f130062000000880000001d000000bc6f1300620000007f00000022000000bc6f1300620000007e00000036000000bc6f1300620000007e00000047000000bc6f130062000000870000002f000000bc6f13006200000087000000440000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f736d616c6c7665632d312e31352e302f7372632f6c69622e7273617373657274696f6e206661696c65643a20696e646578203c3d206c656e0000807013005c000000f1060000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6d6f642e727300000c71130062000000490000001c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6e6962626c65736c6963652e72730000807113006a0000003f0000001b000000807113006a0000005000000036000000807113006a000000560000003b000000807113006a0000008f0000002a000000807113006a000000900000002b000000807113006a000000990000004b000000807113006a0000009900000031000000807113006a000000af00000020000000807113006a000000ad00000029000000807113006a000000f400000018000000807113006a000000f600000018000000807113006a000000f60000003d0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6e6962626c657665632e7273ac7213006800000035000000320000006c656e20213d20302073696e6365206c656e2025203220213d20303b20696e6e6572206861732061206c61737420656c656d656e743b207165640000ac7213006800000042000000120000006c656e20213d20303b20696e6e657220686173206c61737420656c656d3b207165640000ac721300680000004d00000025000000ac72130068000000690000003d000000ac721300680000007200000019000000ac721300680000007400000019000000ac721300680000007400000048000000ac721300680000008500000030000000ac721300680000008500000048000000ac721300680000008700000036000000ac721300680000009c00000043000000ac721300680000009e0000001b00000041726320636f756e746572206f766572666c6f7734741300140000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f73796e632e72730000507413006e000000d90600000d0000000100000000000000507413006e000000150c00000d000000000000000000000001000000ec02000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500507413006e00000017080000290000004c61796f75744572726f72000000010024029701040000006f000400af000000000004000000000088000a0008000000000000001c00460001000d001b000000150012004500ec0036001000000000000000020000009400000057000000080003000700000016003a0002002300030004001c000100000047001100170004001b0000001300000000000000000001000700070004002e00000000002c000000000003000f000000000013000000010002000100090000000000000001000100000002000200030002001e0000000800110001000000050000007900000004001300000000000500020000000500010015000100000003000c0000003500030002000500060000000500040002001c000000000000000400000000000000090002000900070000000500000008000700000012000900000039000200090000000400020000000000000000000000000001002200020000001b0013000c00140006000400050013000200000003000400020000001800000006000400000000000a000a000000010000000f001000010000000000000002000f000100040002000a000b0009000400010000000b000000030000000600000006000000030004000000000003000000000001000200150000000000000014001b0000000c0000000000080003000c0000000e0002000000030000000a0002000600010000000400000001000600020003000200100000000f000000000000000300030004000d00060000000000020000000000000018000a000600010001000800000001000100070000000300090011000500010005000300160007000500040000000a0006000300000001000000070000000600000005004100090001000a0000000500020011000b0003000100000000000100010000000200000006001800030000000300000002000000020000000000000000000500010000000000090001000000000002000100000001000200010000000300010001000100000003000c000100030001000000020000000000050001000500000001000b0005000000000000000000000000000f0000000000020007000000000000000000000000000100000009000800000000000300030001000400030004000500020000000000020006000100050001000000030006000800020002000600030000001000060006000500010007000000020003000200000000000000060000000000000000000100000000000000010001000800010000000200000001000c0004000100020001000400020005000400000003000400020000000100030007000600080000000200030000000200020002000400000000000600060006000c000500000000000000010002000000030000000900030002000100010009000100000008000100060000000300000005000100010000000000020004000000020000000200060006000200080005000600050001000600020000000100000000000300000001000900050005000e0000000300050000000000010001000000000000000000010004000000020004000600050006000000000001000100000000000500020008000800010006000000010000000100000008000000040007000a000100000000000200010001000100000001000200000002000100040004000000000000000600000003000300000000000000000000000200010001000200020000000400020001000000000001000000010001000000020002000200020000000100050004000100000001000100000000000100040001000200010001000000000000000000000001000000010000000000040001000200000001000d0004000000010004000000050003000700030003000300020000000200020002000100000001000300040001000000010004000100000000000000010003000100000000000100040001000800020004000100010001000500010004000100010002000600000000000000000002000000020000000600030001000300020003000500040001000000050000000000010003000000020000000100010000000000000001000000000000000500050008000000000000000000060000000000000000000200020005000100000001000100000002000200070001000100020000000200020001000000000001000000020002000200040001000400000002000200040004000000080004000600020001000100000001000000000000000300060001000000030002000100000005000400000000000500020000000000020000000000040003000000090005000200000000000200000001000700000003000100020001000000000002000300000002000300010002000100020000000400020001000100010002000200000004000200010000000000030000000000000000000000000000000000000000000000000001000000020000000100000002000100010000000200000001000000000001000100000001000000020000000300000001000100000000000100020001000200030005000300010000000100030007000000000002000000020003000100e64a0300e6fa2d00dafa1d00dc390300e9fc1d00094d0a00e6d02000e6930500dce00201e6f41c00dca20500e626fe0009451d0119c20500dcea0600e675a600dc4e0f01e6eba800dc320300094d0c00e6410700d871d101dc2dfe00e6f21d00e6de1d00e6e1a80014bb0500e6d51d00e6ce0800e67b1a0084740f00e6e6a8001f19060007c31401e6791a00e65d06001cf10800e620e001e6f1a800dcfd1d00e625fe00e647e901e6751a0009ba0e00e62ae0011b4b0600e6d9060009b61601e6ec1d00093a0e00e6540900e6e92d00e6b31a00e6f30800e6f70800e6e2a800e60be001dc28fe0001d82000e6b0aa00dc4d0f01e6250800e6110600e6beaa00e6200800e6e80800e6060300e6e42d0009411f0107ca1101e6f02c00dcd71c00dc3a0a01e631e101093a1000dc3b0700e8580300e6870400e6b11a00e6701301e6d01c00e6eea800dc3c0300e6d52000e6190800e6306b0101f36a0107bc0900e6e91d00e6da1d00e66b1301e62b080009341700e6db1d000eb40500e26dd1010169d101e64c0300e6f02d0001370300e673130107e91201dcc01a0001ea2000e63e030081710f000168d101e6460300dcd6e801dcd0e801dc2cfe00e6e01c00e6ea0800e6db2000e6316b01e6350700dcfd0e01dc7ed10109341a01e61f0800e61ce001e6df1d00dce8200009edab00e6e11d00dc160300dc82d101e6d720001f4f0600e6f50800094d0d00e6c91a0009b91001e6bc1a00e67aa600e6aad101dceee401e630e101e69f0500de391900e657030009e0190106f06f01e6330700dc29fe00e6f81c0009840f00e6640300dc170300e6830400e66c03000bb10500e6d21c00e607030021510600dc300300dc190300dc560600e6e41d00dc520900f0450300e6f12d00dc3b1900e6590600e6ab0500e6731b00e6f12c0007bc0a00827c0f00e66a1301e6e4a800e6fb08000cb20500e621fe00e6fb2d00e81a0300dc38070001d32000dc2afe00e669130182720f00e6c21a00dc7bd101e6860f00ca270300e6c01d00e6480f0109461001e66b1b00dce60800e634e101e6410300e8f61d00e6eca800e6abd101e6ec0600e6aee2010fb50500e6c71a00e602e001dcc60f00e636e101e6df08001c4c0600e6580600e6e10600e6e72d00dccf0800e6020300dcc41a00e6bfaa0013b90500dc8bd101092b1701e6f32d00dc390700e6e02d00dcdc1c0009701001dc2ca900e6230800e6f31d00e67da600dc460f01e6cc1d00e6dc060009471a0176b90e00e66b0300e65e0600e6f91c00e6d60800e6e00800e66e1b00e6d80800e626e001e643030001d92000e648e90110b60500e611e001e6e81d00e4f71d00e6fc2d0009971d01e6860400e6c11d00dc91050009441d0109c4a80009aa1b00dcff0e01dced0600dc560300e6ee1d00e6ed2d001d4d060009d21700093c0d00e645e90109c21401e6030300e6f0a600e02f3000e61be001e6681301093f160101e31c00dca30500dcef0800dc960500e628e001dc4f0f01092ca800d872d101e6ef2c00e6490f01e6eaa800dc2c0300093b0d00e60fe001dced080009141700e6bb1a00dcd3e801073c0b00e69d0500dce60a01e6fb1d0006f16f01e62a0800dcee2000dcdf1c00dcdd1c00dcd20800e65f1300827a0f00e610060009421401e6ee2d00e65e1401e63d0700ea5d0300e62ffe0007bc0c00e6c71d00e6e70600ca210300dca60500e6f0a80013ba0500e6ec2d00dcee080001f26a0112c70500e6120600e69c050007421d01dcba1a00e6b41a00dcd2e801dc5b0800e6721b00e600e0010ab00500dcc50500dc470f01e6781a000934110107461401e6260d01e6dc2000e6500300827d0f00dc1f030009391000dcd3080007e61b00dc310700e6120300e6290800dcfa0800e6eb0700e6dd1d00d865d101e6e92000e61ee001e635e101e6ed1d005b560c00e612e001e6e32d00827b0f00dcde1c00e66d0300e6f40800dcd4e801dc3c0700e6741301e6ac0500e6c81a00e6eb2d00dc2ba9000773110109c011010136030082800f00e6d42000dc9b0500e601e001e627080001340300d81b030001d22000e603e001e6f01d00dc1d0300e6f42d00e6721301e6140300e4a91800e66c1301e6e52d0009331101e65d1300e6771a0067390e00e6270d0109cd0c00dc2d0300e6920500e6ef2d00e6ca0800e6e12d00e6570600dc2b0300e6ac0e01e6090300e6300700dc5f0600e614e001e6de0800e6fe2d00e6336b01e6cd0800dc2903001df20800073c0900e6470700dc590800e6360700e6380a01e61d0800dcd51c00e6430700dc460700dc990800201a060001e21c00e6010300e644e901e686d101e6e0060007431901dc5503001e180600e66fa600e6ff0800e6001101e63d0300dcc21d00e6150600e6420300e6171a00e6671301e6ab0e01e6eb0600e61fe0016b4a0e00dc250300dc490300e623fe00e6760301e6ff2d00d86fd101e60f030009ab1b00e6e22d00e6400700093e1901d8390f00dcef2000e6e62d00e687d101e6d21d00e64a0f01e6d8060007341b00e6ea2d00e679a600e6840f01e6870f00e95f0300e6000300e6ee0700e6f22d0009421f01e63a0700dc1e0300e60de001d6ce1d00dcb71a00d86ed101e6520300dcf60800e677a600e67c1a00e6e70800e6326b01e6d91d00dcf91d00dce90800e6661301e6c61a0001e71c00e6d11c00ea5e030001f46a01e6b01a00e64b0300dc3b030023700600e6660300e6250d01e6fe0900dcb4aa0009cd0b00e6c91d0016bd0500dcd00800e6160800dcfd0101073c0a00dc7cd101e6320700e6260800073b1301dcd91c00e61e0800dc830f01e6130300dcff1d00dc7fd1010167d10109601a00e649e901dc0d0a0109391801dc190f00e6e71d00094d0b00e69c0800e6fd2d00e667030009c0a900e67ba600dc330300e6a10500e6eb0800e609e001e6ef1d00dc240300dc2bfe00dc27fe00e6240d01e61b0800e608e001e61de0010953a900e6db060054550c00097f2d00e6da1c0015bc0500de9a0500e676a600e6f82d00e6d620000db30500dc81d101dcca1a00e6530900ca280300e6a00500e6950500e6d50800e6080300e674a600e60c0300e6761a00e6c61d00e6e20600e64c0f01e6f02000e6cb0800e60f0a01e65e1300e66f1b00e6b21a00e4f81d00dcaa0500e6e50a01e69f0800e60ce00101e52000e6fc080020500600e6ec0800e6980800e6ede201e6d71d0067380e00e69d0800e6711b00dc5a0800e6c51d00e689d101e69fa600dc480300e6db0800e6c41d00dc200300e6e3a800e646e901d870d10109f6aa00e6cc1a00ea600300dcbf1a00e6c11a00e82c3000e6f72d0076b80e00e632e101e6fe1d00e63f030001eb2000e62d0800dc47030007361201e6f1a600e6490700e6dd1700e6f10700e6170600e6cd1a00e6e61d00e6e40800e6510300e69e0800e6130600eacd1d00dc550600e6e12000dc5c0600dcbd1a00dcb91a00e678a600093f0a01dc2a0300e6eda800da2a300001da2000e60d0300e42b3000e6d708001bf00800e6dc080011b705000906a800e6add101e6e40600e6e01d00dead0500e6f11d00e6021101dcd5e801e60e0300e6ef0700e6f00700e6970500e627e001e6ece201dc1c0300e8150300e6b7aa00e6160600e6f62d0017bf050001390a01e6530600d866d101e6c51a00ea610300e6f80800dcc31a000737100009351201e66e0300e604e001e623e001e6680300e6d61d00e6440300dc420700e685040007ba1001dcd81c0001d41c00e6fe0800e6f52d00e60ee0017acb0e00094d0900e6eb1d00073c1301e6efe401dc590300e610e001e6040300e6a80500dcd61c00e6b3aa00e6701b00e6e80600dc2da900e6d90800e6346b01dc180f00e60a0300dced2000e8ece401e6efe201e642d201dc54030001f16a01e65b0300e6e31d00dc3e0700e605e00109bf1501e6c81d00e6840400e61c0800e633e10112b80500e6400300e6980500019ebc01e6dc1d0007c01501dce30800093f1c01dc850f01e95c0300e6db1c00e6acd101dcd1e801dcb51a0009ca0d00ca220300dc4b0f01e6c31d00dc5a0300e6ec070009ea12016b4b0e00dcfd0700dc2e0300e65b0600e622fe00e6d31d00dc9a0800e6e8a800dcf90800e66f0300e66d1b00e6cc0800094d1301e63a1900089a3000e620fe00e6e21d00dced1c00dcfe0e01e613e001e6d40800dc4e0300e6356b01e67a0301097f1001e6dd0800e6d11d0001380300e67ca600e6ce1a00e68fe001073a1801e644d201e618e00109cd0a00dca505001e4e060001e41c00dc370f00e6450700073c0c0022520600e6050300dc3a0300e6f51d00e617e00101e81c00093d1901e6d12000dc180300e622080007b71601e6100300e6210800e6780301dca40500e6830f00e6c1aa00cad01d00e685d101dcd10800e6af0500e6e51d0008993000e6650300e6510900e6690300dc4807007ac90e00e6170800e6da0600e8ede40101e51c00dc370700e6110300dce3060009f31b00dc9b0800e601110118c10500e6e82d00e6140600e62efe00e6790301dccf1d00e62c0800dc2f030009441b0009151700e6cb1a00dc6c1b007aca0e00e615e00101e62000e624fe00e643d201e621e0016b490e0024110700e6df060007b3a900e65a0600dc7f1a00e6da0800e6e1080009991a01dc80d101e6efa800e6f41d00e6770301e9620300e694050001350300dcf20700dc8ad101e6cb1d00e6a9050001e61c00dc4d03007ac80e00e6d70600dc8d1000e6c40500e66a0300dc260300e60ae001e6e0a800dca70500e6ea1d00e6d60600e6e7a800e60b030001f06a0107371c00e02e30006b480e00e6d81d00dcb81a00dc181a00e6f92d001a1efb00e6630300e64a0700e624e001e6990500e69e0500e6f3070009f21b00e6180800e6e9a800e6366b01dc500f01e6d41d00e6b2aa00e6e5a800dc440700e6820f01de2d3000dc310300e688d101e6ed0700e606e001e6b8aa00dc530300e616e001dcca1d00e63f0700dc350f00e69ea600dc230300e6e50800dcec2000e6eee201e4ae0500e6711301e629e001dc340700dcb61a00e6e72000dc7dd101e6fd080009cd0900e6820f00e67a1a00e6540600074ae901ae0c0e00000000005a043f020000e80128008002000006004c010102060020000300000071008b010d004d01d30000000200850045000a000400e900210000000000aa00020005010000b5010d0000000000000001000000060067000800000002000000000047003200000000003c00450000000000010000000200100001000000000001000000ce002c0000001d000000120000000000110003001c000700000001006a000100160000006f00000001002500000027001000000022000000bc00000009000000000015000000000013000000870000003a00270000000500160005001400120021000500020001000000150026000000040000000000010017001900000004000000030000001000010001000000050001000000000022000000020004001300000011005a00050013000d004e00080004001800090064002600000011000000050030000000010001000000020001003e0046000500000001000000010037000000000005000300000013000200000001000000060000000b001c000100000005002f000100000008001d00300000002500020012000000000023000200000000000b0018000e00000011000c001500020000000000030000000800080008000000000009000e000000010009002c000300010016001100000000000000000000000000040018000100300004000c000e000900000003000b00000002000500000010000300020006000b0008000a000000080003000100250003001b00020012000500070012000000100000001100000009000000090000000c000000000001000000000000000800000000000000030000000000000017000000000003000c0000000000020001004300000000000b000500090000000000220002000400020002000100010014000100310000000400200009000700010021001600010002000000060000000e000000050012000e000400000000001d0000000000060000000a000000000000001600000000000000000008000000010000000b0000000100000000000000040000000000160000000100000001001d0007000000010006000400010003000e000900100008000200010000000000030002000200220000000000040013001100000002000d000000010004000c00010016000e0002000000000004000000000000000000000015000000000003000000000000000c000000050004000000000011000d0011000000040000000300020001000300010002000200020001000100030001000100000002000200020001000d000000000000000100020006000d000100010004000c00020006000000040027001c00000000000000000000000000000000000a000000000000000000000000000f0007000800000003000000040000000000010000000f00010000000000000002000300000016000b000500000000000200080004000000080000000000000003000400000001000b00010000000000180009000400070000000100020001000000000001001e000000020001000000000009000000000003000a0002000300010000000400000004001f000000000000000000000000000000240007000500020002000a000100000000000300000001000c0000000100000000000100020001000b000000000001000300060002000c000e001e000000000010000000010002000d00030000000600000002000a00040000000f0010000200010002000600000000000b00000005000d0002000000030007000000050004000000000006000100000000000f000300000000000c00000017000200090000000000000000000000020000000700010003000d000000050007000400080000000b0008000900010000000000090005000000080001000000060000000800000007000000020002000500040005000000000001001300080000000000010000000a000000060000000000000000000c000200040002000000000003000000040000000300020007000100000000000000030000000000000003000000000000000400000001000000020000000000020007000000040000000100010001000900020002000600030000000000000001000600050002000000000004000100020011000100000000000100010005000000010000000700000000000000000003000e0000000000030000000000000002000100000010000000000000000200000002000200060000000900000006000000010006000500010001000200080002000300010004000100000000000d0002000000000001002f00010002000100060015000000000000000c00040000000000000000001a00000000000000000003000700000009000200010000000100010000000000000003000000020000000a0000000000010000000e0002000200090002000b000200010003000100000000000a00030001000100020002000200000002000900000000000100060001000000070018000100000007000100010000001900000000000000000000000000000000000300000000000000000000000400020000000000010000000b000100050000000000000003000200060002000100050001000600030001000200010001001c00060002000200030001000800000002000000010003000100160006000b0000000400040001000200000000000000000004000000040000000000000016000000000000000000030000000000000001000000040009000f000500000001000100080000000100000000000100020001000100010000000100000008000100020001000300020000000200040001000100040000000f00000000000000020009000100000002000000020004000100000007000500030002000a000200030000000500000000000000060002000a000000010006000500000002000300010008000200000001000000140000000100020005000000010001000000010000000200090000000300010000000d00010000000000010004000000000000000000000002000e00000002001700050000000000010002000800000001000900030000000100070000000400010008000000000000000100000000000000020002000500000005000400010000000300000002000200030001000f0001000300020000000000000001000500000002000700000000000000000001000000000008000600000000000100000000000a000400050000000000000001000000020000000000000004000000090001000100000006000000000010000100020005000100010000000000040000000200020002000000000001000100030001000300000003000000000000000000010006000400010001000200080003000300000000000400020001000e0020000000010001000c0000000000000004000000020000000000000004000a0002000100040006000000000000000600060000000300000004000100070001000600080001000700010001000000010002000300000006000000000001000800000003000100010006000200000002000400060001000400030006000100030002000400020000000600020000000500010001000200000001000200010001000200020007000300030000000100070001000e000000010000000b0000000100020001000100030000000100000000000000000000000000000000000500000000000000000000000100020000000000030006000300020006000000010003000100020001000200030000000300010002000400030000000000100001000200000001000000030001000200010001000100000001000000010000000000000002000000000005000500010000000000000000000000010005000000000000000000000000000000000000000200040002000100010000000200000000000100000007000b000300010002000100020001000700010004000100010000000100000001000300010002000200050001000100090001000100010000000200030001000000000008000100000000000000000000000000000003000000000000000500000004000000000000000100030001000000010001000300010000000000000003000400090006000000090006000200010003000100010002000400020003000200000006000100000002000000000005000a00010000000000040000000000040000000100020001000000000000000000010000000000000000000000000000000000000000000d0000000000030003000000010002000100000003000000010000000000000003000000010002000100000004000200000001000300000002000300050005000000000005000100010010000100030002000000010001000300010006000500010002000100020000000300000001000000000000000100000000000300070001000200030000000600020001000000000001000000020001000000030001000100030000000200010001000200010000000000010000000300000000000200030000000200000002000100000003000000010000000000050002000200020000000200070005000300010000000a00010001000400000006000000000000000000000001000100010002000000030001000100010003000300010004000100000001000100010003000100050000000200000001000100000004000000020001000000000000000400020000000000000000000400020003000000000000000000010000000a000100020002000100030000000600010003000600000002000000000001000000040005000400010002000000030000000100020004000100000003000000000000000000010001000100010001000300000001000100000003000000010004000a000000030004000500050007000300030002000000010002000200040000000100000000000000020000000000090003001000010000000200000001000400000005000200000005000000010001000400000007000600040000000000010007000000020003000000000000000000000001000000000000000000030000000100050002000600010002000500060002000400000003000100020001000100000000000200010003000600010001000100030007000000000000000200040000000100010003000100010002000000010000000500020005000100000000000000000000000000000000000000000000000500000007000000000000000000040000000200040000000000000001000000000002000000000001000000010001000100040002000b00010000000000010004000200000001000400010002000200010002000200000000000000050002000200000000000400040005000200000000000d000000000000000000000002000000060000000300000000000000010002000100010002000900030000000000030000000100010001000200000002000300010004000000020007000100000002000100010001000200000005000300000000000100000005000000010000000700000000000200010001000000000000000000000000000000000000000200000000000000000000000000040004000000000001000200060000000000020001000200000001000000020002000200060001000100070000000100020005000100020001000100010003000200020001000400000000000000040001000100000002000000010003000000010002000000ee0400009a02020069f80200990b0100b2300000a90802002e1f00000a06030020010000a600020005f90000e6080100e8f90000c90901003a1e0000d203020065f9000046090100bd1e0000f60402003af802006a0b0100010100006c00020086f900006709010057fa00002c0a0100911f000004070300df04000084020200e20100007e01020029020000f2010200af0100004601020066fa00003b0a0100391f0000280602007a1e0000640403006c1f00009d060300a8fa00007b0a0100cef80200fe0b010028010000b20002004bfa0000200a010018f80200480b010088f90200b80c010074f9000055090100a91e0000bf040300511f00005e06020033f80200630b0100fcf802002c0c01008f030000240202003efa0000130a01005efa0000330a01001efa0000fa090100f7f90200270d01005f01000006010200351e0000c603020047fb0000e30a020062f90200920c010086fa0000590a01002ff9000010090100ddf802000d0c0100730f000024030200151e00007f030300d01e000026050300caf90000ab090100e60400008e020200a21f00004307040099f90200c90c0100c21f000097070300c7f80200f70b0100bcfa00008f0a0100b4300000ab080200b9f90200e90c0100731e0000540402005bf900003c09010052f90200820c01005ffa0000340a0100081b00003e030200042200001d080200a21e0000ac040200ea0100008a01020029010000b400020020f9000001090100851f0000d7060400931e000098040200b2f90200e20c010021f80200510b0100d6f90200060d010065fa00003a0a010071f900005209010030020000040203006d0100001e0102001b020000e6010200d4f90200040d010061d10100140b030094fa0000670a0100030400004a0202006a0100001801020058090000c402020022f90200520c01003df900001e090100391e0000cf03030070f80200a00b0100ae1e0000ce040300351f00001d0603002ffa0000040a01005e01000004010200431e0000e403020042f80200720b0100b1f90000920901005dfa0000320a0100d2f90000b3090100d81e00003e050300cafa00009d0a0100dc1e00004a050300fdf902002d0d01000bf902003b0c0100c91e0000180502002923000069080100961e00009e040200a0f90200d00c0100d0f90000b1090100ed04000098020200c200000004000200791e000061040300f1040000a0020200d01f0000b4070200f51e00008e05020025010000b00002002cfb0000b50a03008703000019020100eff90000d0090100f5f90200250d010070010000240102007022000039080200ccf90200fc0c01006dfa0000420a010080f900006109010007f90000e808010057f80200870b0100b91e0000ee040200d5f80200050c0100f9f90000da090100a2f80200d20b01004bf900002c0901007ef80200ae0b01001ff9000000090100ecf90000cd090100f4040000a6020200510400005a020200ad2200005308020017f90200470c010061f80200910b01001df90000fe08010096fa0000690a0100f60000005c000200271e0000a8030200481f00004c060200eb1f0000ea070200e51e0000640502009ff90200cf0c0100e8f80200180c0100dff90000c0090100af1e0000d10403002af900000b09010078fa00004b0a01006cfa0000410a0100221e00009e030200ea1e00007005030050f80200800b0100c9f90200f90c01001cf90000fd080100330a0000de020200e7000000400002000bf802003b0b010091fa0000640a0100dd090000da02020048f80200780b010066f900004709010036fb0000cb0a020057f90000380901008af80200ba0b01005c3000007d08020082f90200b20c010022010000aa0002005df900003e090100ccf80200fc0b01006af802009a0b0100811f0000c80603002a2100000e0801007e01000040010200a9f900008a090100bdfa0000900a01001ef902004e0c0100ebf90000cc09010037f90200670c0100a6f80200d60b0100421e0000e20302002f110100fb0a0200a81f00005b070300c000000000000200daf802000a0c0100b5f90200e50c0100c1f80200f10b0100b4f9000095090100710100002601020052f900003309010008fa0000e9090100ac1f000069070400fb010000a501030012f90000f3080100111f0000c605020001020000b2010200b9f80200e90b01001cfa02004c0d0100b5f80200e50b0100881e000082040200b8fa00008b0a010043fa0000180a010044010000da0002008b1e000088040200e1f90200110d01007cf900005d09010085f9000066090100061f0000a8050300b21f00007d070300dbf902000b0d0100e41f0000db070200c3fa0000960a0100770100003201020048f90200780c0100cb000000140002009f1f00003907040099fa00006c0a010042f90200720c010076f90200a60c010088f9000069090100e61f0000df07020056010000f40002008e1e00008e040200fef802002e0c0100461e0000ea0302001ef802004e0b01005d04000062020200cf1f0000b2070200cf1e000024050200481e0000ee030200cbf90000ac09010046f90200760c0100cffa0000a20a0100090100007c000200e32200005f080200520f00001c0302004c3000006d080200b2f90000930901002c010000ba00020069f90200990c0100a5f90200d50c01007a30000099080200bef90200ee0c01001b1f0000db0503005d1f000077060300abf90200db0c0100f1f80200210c0100bef900009f090100b8f9000099090100b41f000082070300df1e0000530503002f0200000202020034090000c20202008af90200ba0c0100e81f0000e4070200abfa00007e0a01005bfa0000300a0100d304000074020200262200002508020003fa0200330d010012fa0000f0090100e41e000062050200d61f0000be07020031f9000012090100a1fa0000740a010036f90200660c0100e91f0000e6070200f41f0000f80703006cf802009c0b010011f90200410c01005f090000d2020200cd000000180002005ef902008e0c01008ff9000070090100081e000062030300fa300000dd080200da0400007a020200c5f90000a6090100d801000063010300ec0100008e0103005ef900003f0901004efb0000f10a0200c50000000a0002007df80200ad0b01000c1b000042030200c6f90200f60c010079f80200a90b0100f2f90200220d0100ce1e000022050200da0d00000f030200801f0000c50603007430000091080200892200004f080200d001000050010200ac1e0000c804030051f80200810b01002c020000fa0103009e1f000035070400d2f90200020d010005fa0000e60901008cf80200bc0b0100fd1f00000a0801000b1f0000b5050300bafa00008d0a0100821e000076040200c2f80200f20b0100301f000010060200871f0000df06040061fa0000360a0100061b00003c030200e8f90200180d01000ef802003e0b0100001f00009805020003fa0000e409010002020000b4010200ce0100004c01020012fa0200420d01004ff802007f0b0100c10400006a02020081fa0000540a0100c7fa00009a0a0100bbf900009c0901006f01000022010200140100008e000200c70c0000000302000e1b000044030200d1f90200010d010039010000cc00020036f80200660b0100480b0000ea020200f9300000db08020079fa00004c0a0100583000007908020071f90200a10c010028f90200580c0100fc010000a80102002422000023080200b3fa0000860a0100e7f80200170c0100de1f0000cd070200e701000084010200131e00007a0302005afa00002f0a0100ce1f0000b0070200581e00001604020064f90200940c0100befa0000910a01000f1e00007203020038f90200680c01001d010000a000020094f900007509010047f9000028090100aa0300002902020081f9000062090100301e0000bc030200141f0000ce050300f1f90000d2090100a91f00005e070300621e00002c0402005df802008d0b01004efa0000230a0100221f0000e805030038f80200680b0100a6f90200d60c01003ff9000020090100f3f90200230d0100adfa0000800a01007af80200aa0b010030f80200600b0100c8f80200f80b01000a0100007e0002000b020000c6010200771f0000b7060200b4fa0000870a010085f90200b50c0100f7f90000d80901004ff902007f0c010040fa0000150a010068f90200980c01008cfa00005f0a0100ce0000001a000200c0fa0000930a01006230000083080200f90000005e000200b01f000079070200940b0000f402020026f90200560c0100841f0000d3060400ef0400009c0202009d0f0000300302006d22000033080200281f0000fa05020055f90200850c01007922000043080200b6fa0000890a010035f90000160901003904000056020200381901000b0b0200ee0000004e0002007b0100003a0102000c1e00006c0302006a1e00004204020014020000d8010200570f00001e03020025f80200550b0100bb140100010b0200000100006a000200e60100008201020051f90200810c0100cef90200fe0c010084f90200b40c0100eb220000630802006b1f00009a0603003b010000d0000200e9f90200190d0100bef80200ee0b010023f80200530b0100d3f90200030d01007cf90200ac0c010049fa00001e0a0100b11e0000d704030098f90200c80c01004e3000006f0802000d1f0000bb0503004a0d00000903020039fb0000cf0a02005a3000007b080200b0f9000091090100fff802002f0c0100ae300000a508020077f90200a70c0100fa010000a2010300201e00009a03020017f90000f808010089f900006a0901000ef90000ef08010034fb0000c70a020089f80200b90b010066f80200960b010065f80200950b01002f010000c00002000efa02003e0d0100611e00002a040200fd010000aa01020003f80200330b0100e31f0000d807030044fa0000190a0100a61f0000530704000f020000ce010200a41f00004b070400cb0c0000060303004ffa0000240a010097f90200c70c01004b1e0000f4030200a2fa0000750a010039f80200690b0100551f000069060300321e0000c0030200f0f90000d1090100ea00000046000200d4f80200040c010069f900004a090100fa00000060000200331e0000c20302006f1e00004c040200aaf900008b09010038f900001909010026f80200560b01003cf900001d090100e2040000860202005f1e000026040200c20400006c020200dd04000080020200900300002602030023f90200530c01001904000054020200e9f80200190c01003b1b00004803020060f80200900b0100c01e0000fe04030024010000ae00020035f90200650c0100cd210000170802001ff802004f0b0100951f00001307040059fa00002e0a01004afb0000e90a020037010000ca00020019fa0200490d01008c1e00008a04020011fa0200410d010092f90000730901009bf900007c0901006f2200003708020008f90200380c0100a11e0000aa040200c7300000bd0802005c0f000020030200bc140100030b02001af90000fb08010049fb0000e70a020092f80200c20b0100bbd10100200b02000e040000520202007e1e00006e040200d31f0000bb070300b61f00008507020064010000100102002bf902005b0c01003d1f0000330603008603000017020200241f0000ee050300cdfa0000a00a010017fa0000f3090100171e0000850303000bfa0000ec09010080f90200b00c01002dfa0000020a01008ef80200be0b01002efb0000bb0a020031fa0000060a0100091f0000b005020015f80200450b0100caf90200fa0c010055fa00002a0a0100f9f90200290d0100621f0000810603000601000076000200bf1e0000fb040300381f000026060200201f0000e405020065f90200950c010029f80200590b0100fb1f000006080200c90000001000020047010000e0000200c3f90200f30c010013020000d60102009d1f000031070400251f0000f1050300aff90200df0c010077fa00004a0a0100092200001f080200760f00002803020056f9000037090100cc1f0000ac070200a01f00003d0703003c010000d2000200b31e0000dd0403005a1e00001a04020035fb0000c90a0200b5f90000960901000afa0000eb090100a51f00004f0704002e02000000020200ee1e00007c050300d50100005a0103005c01000000010200e30000003a0002008bfa00005e0a0100793000009708020038fb0000cd0a020055f80200850b01009efa0000710a01004e010000e8000200751e00005804020046fa00001b0a01000afa02003a0d010011020000d2010200a9f80200d90b01001501000090000200d1300000c3080200471e0000ec030200e0f80200100c01007efa0000510a0100d81f0000c3070200921e00009604020067f80200970b01001dfb0000ad0a02007df900005e090100b9fa00008c0a010046f80200760b01007d1e00006c040200c8fa00009b0a01000401000072000200f5040000a802020010fa0200400d010075f90000560901006af900004b0901002bfa0000000a0100731f0000af06020057f90200870c0100dd1e00004d050300ad0300002f02020024f90200540c0100d4fa0000a70a01007bf90200ab0c010053f80200830b01003ffa0000140a01008afa00005d0a01004cfb0000ed0a02003b1f00002d060300c4000000080002009a100100f30a0200410300000f0201000d1e00006e030200dc0400007e02020010fa0000ef090100f11e00008505030003f90200330c0100ed1f0000ee070200ef1f0000f2070100a41e0000b00403001f020000ea01020092fa0000650a0100a4f80200d40b0100c8f90000a9090100a0f9000081090100311e0000be03020003f90000e4080100d40300004402020009f80200390b0100071e000060030200b11f00007b070200d1f80200010c0100111e000076030200d21f0000b80703005ed101000d0b020041f90200710c010062f9000043090100f01e000082050300e01e000056050300523000007308020048010000e2000200441f00004606030030f90200600c01000b1e00006a0302003ef802006e0b0100943000009f0802005b1e00001c04020054fa0000290a0100fcf90000dd090100de01000072010300021e000056030200e4f90200140d01007ff9000060090100e11f0000d3070200cb1e00001c05020047f90200770c01002df802005d0b01006d1f0000a00603004c1e0000f6030300001e0000520302003cf902006c0c0100c4f90200f40c01002d1f0000070603008c03000020020200bb150100090b02000cfa0000ed09010086f90200b60c01000a1f0000b2050300831f0000cf060400e31e00005f0503003ef902006e0c0100edf802001d0c010081f90200b10c0100541f000066060300161e0000820303006afa00003f0a010079010000360102002dfb0000b80a03000bf90000ec0801003efb0000d70a0200b0f90200e00c010032f9000013090100e61e0000660502005ef802008e0b0100d7f80200070c0100401e0000de030200ed22000067080200431f000043060300e50400008c020200a5fa0000780a0100a31f00004707040067f90200970c010093f90000740901008df80200bd0b0100ed0000004c00020006f90200360c010098fa00006b0a010001f90200310c0100f71f0000fd0703005c090000cc02020060fa0000350a0100ca0300003802020062fa0000370a0100c3f80200f30b0100ca1e00001a05020050f9000031090100730100002a0102009af90200ca0c010070f90200a00c01005af802008a0b010013fa0200430d01008bf900006c09010013f90200430c0100b90f00003803020019f90000fa080100ba1e0000f004020090f80200c00b010053f9000034090100b21e0000da04030004f90000e5080100dc0100006f010300ab0300002b0202004ef900002f090100dff802000f0c0100191f0000d6050200bc300000b30802005e3000007f080200871e000080040200faf90000db0901002bf802005b0b01001df802004d0b0100a3f80200d30b010004fa0200340d01003afa00000f0a0100e40400008a020200d5f90200050d01000df902003d0c010067f9000048090100d3fa0000a60a0100f21f0000f3070300861e00007e0402002df900000e090100f71e00009205020089fa00005c0a010074f80200a40b010052f80200820b0100cdf90000ae09010054f80200840b0100251e0000a4030200c11e000001050300db1e00004705030005020000ba01020043f80200730b0100b1f80200e10b0100b81f00008a070200cb0b0000f80202004cf802007c0b010030fa0000050a0100cb090000d402020058f80200880b01005b1f000074060300c2060000ba02020050f90200800c01005c0b0000f00202004dfa0000220a0100931f00000b07040074fa0000470a0100591f0000720602001dfa02004d0d010070fa0000430a010018fa0000f409010088f80200b80b0100b7f80200e70b01009df900007e090100dbf90000bc09010040f90000210901008d1f0000f5060400971f00001b070400101e00007403020097f900007809010056f90200860c0100aaf90200da0c0100411e0000e00302000cf902003c0c010062f80200920b0100661e000036040300f81e00009405020049f80200790b010094f80200c40b01007f1e000070040200291f0000fc0502001cfa0000f8090100b01e0000d4040300741f0000b1060200e91e00006d050300bb1f000090070200620100000c010200d20000002000020097fa00006a0a010024f80200540b0100330200000c020200af22000057080200ec1f0000ec0702007ffa0000520a01004af902007a0c010087f80200b70b010017fa0200470d010031090000c002020030010000c200020035010000c60002007630000093080200a20f000032030200f8040000aa020200271f0000f705030063f90000440901004df900002e090100400300000e020100cdf90200fd0c0100011e000054030200d31e00002f050300030100007000020000020000b00102007c0100003c0102002cf900000d090100121e00007803020033fb0000c50a020093fa0000660a0100f50000005a000200f8300000d908020010020000d0010200f30000005600020004f80200340b0100c0f80200f00b01001a020000e40102001c1e0000900303001e010000a20002008f1f0000fd0604004cfa0000210a01005b090000ca02020045fa00001a0a0100d5fa0000a80a01002ef802005e0b01005cfa0000310a0100b7f900009809010006020000bc010200c71f0000a1070300cb0300003a020200dcf90000bd0901002b020000f70103002ef900000f090100e21e00005c0503008ff80200bf0b01004cf902007c0c010084fa0000570a0100e3f90200130d0100d6f90000b70901005d01000002010200241e0000a20302005cf902008c0c0100a61e0000b6040300a81e0000bc040300f7300000d708020077f9000058090100c4fa0000970a01003bfa0000100a010004f90200340c0100abf900008c090100eb0400009402020020fa0000fb09010007f90200370c0100c61e00001005030005fa0200350d0100ab100100f70a02003f1e0000dc030200852200004b0802004303000010020100daf90000bb09010007fa0200370d010015fa0200450d0100f3040000a4020200130100008c0002007b1f0000bf060200cf2100001b0802007a1f0000bd060200e50000003e0002007d3000009d08020014fa0200440d010091f80200c10b0100e5f90200150d010083f90200b30c0100901f000001070300851e00007c040200d400000024000200e022000059080200ae03000031020200aef80200de0b0100fbf90000dc0901009cf900007d09010017020000de010200b71e0000e9040300aaf80200da0b0100850300001502020016fa0000f2090100e2f90200120d0100e10100007b01030000fa0200300d010054010000f0000200b71f000087070300ef1e00007f05030002fa0000e309010090f90200c00c0100521e00000804030024060000b20202009df90200cd0c010083f80200b30b0100d71f0000c0070300ccf90000ad09010026f9000007090100561e00001204020006fa0000e709010051fa0000260a0100f41e00008c050200daf902000a0d0100361e0000c8030200d3060000bc020200fff902002f0d0100e2f80200120c0100aa1e0000c2040300adf80200dd0b010007fa0000e80901007af90200aa0c010066f90200960c0100801e000072040200d201000054010200631f000084060300ad1f00006d0704001ef90000ff080100a0fa0000730a010063f80200930b0100dd300000d30802005e040000640202001af902004a0c0100051e00005c0302001a0100009a000200611f00007f0602001bfa02004b0d0100e0f90200100d01003d010000d400020032fb0000c30a0200a51e0000b3040300dd0d000013030300180100009600020007020000be010200fa1f0000040802003ff902006f0c010086f80200b60b0100e0f90000c109010070f90000510901007ef90200ae0c010072f900005309010036010000c80002000a1b000040030200733000008f08020016f90000f7080100e22200005d08020021f90200510c0100602200002f080200661f00008d0603000ff802003f0b0100012000000c080100881f0000e3060300a6fa0000790a0100ae1f000071070400a4fa0000770a01003a1f00002a060300c1fa0000940a01008ffa0000620a01005d090000ce020200d1f90000b2090100411b00004e03020048f90000290901003c1e0000d6030200d9fa0000ac0a010000040000460202006df900004e0901007c1e00006a040200d30300004202020072010000280102001f1e0000980302009ffa0000720a01006e2200003508020022f80200520b0100750f00002603020071f80200a10b010012f80200420b0100752200003f0802003f1f000039060300d7300000cb080200d90000002a000200abf80200db0b01007afa00004d0a010015f90000f60801001d1e000093030300eb0100008c01020008f80200380b01008ef90200be0c010053fa0000280a0100a6f90000870901000cf802003c0b0100f5f80200250c010002fa0200320d0100811e00007404020030f90000110901006030000081080200ea1f0000e80702008a0300001e0202005cf802008c0b0100c91f0000a60702006ff802009f0b01000af902003a0c010002f90200320c010035f80200650b01004d010000e600020062d10100170b030023f900000409010096f80200c60b01002d020000fd010300f2f90000d3090100c2300000b9080200d4300000c70802007ef900005f090100e21f0000d5070300ec0000004a000200491f00004e0602008dfa0000600a010098f80200c80b0100b51e0000e304030094f90200c40c01002b010000b80002000e020000cc0102006801000014010200561f00006c060300a0f80200d00b010052fa0000270a01003df902006d0c0100da0000002c000200c41e00000a050300951e00009c040200671f000090060300c1f90200f10c0100def90000bf0901003df802006d0b0100edf90000ce090100bffa0000920a0100570400005e0202000dfa0000ee090100b1fa0000840a0100faf802002a0c0100491e0000f00302001bf90000fc080100501e0000020403004af900002b09010090fa0000630a01008422000049080200a01e0000a8040200690100001601020000f90000e1080100eb1e000073050300e5f90000c6090100eaf902001a0d0100acf80200dc0b0100f8f80200280c0100c80c000002030200f6f80200260c010068f90000490901006c1e000046040200d8f80200080c0100b61e0000e604030099f80200c90b0100c300000006000200b001000048010200131f0000cb050300631e00002e040200120100008a00020020f90200500c010004fa0000e5090100d9f80200090c0100381e0000cc030300941f00000f07040040f90200700c01007df90200ad0c01004ef802007e0b0100a5f9000086090100dc090000d8020200fc00000064000200ec1e000076050300a001000042010200b4f90200e40c0100ca0b0000f602020034f80200640b01000bfa02003b0d0100d8fa0000ab0a0100c5300000bb080200f5f90000d60901004bf802007b0b01005e1e000024040200c6f80200f60b01003bf902006b0c010051010000ee000200fc1f00000808020039fa00000e0a0100091e00006503030099f900007a090100e6f80200160c0100baf80200ea0b010076f80200a60b010023010000ac0002003cfb0000d50a020096f90000770901008d1e00008c0402000c01000082000200eef802001e0c010009f90000ea0801004afa00001f0a0100a9f90200d90c010006f80200360b0100d0300000c1080200bbf90200eb0c010075f90200a50c010018fa0200480d010089f90200b90c010087f90000680901000af802003a0b010098f900007909010079f900005a0901000df90000ee08010022f90000030901008c1f0000f1060400371f00002306030048fb0000e50a0200673000008708020032f90200620c0100d21e00002c050300d10000001e000200281e0000aa0302007801000034010200acf90200dc0c0100610100000a010200d0fa0000a30a010001040000480202004122000027080200bdf900009e090100f0f80200200c0100451e0000e8030200d9f90000ba090100a9fa00007c0a010035fa00000a0a0100d204000072020200341e0000c403020027f9000008090100c31e000007050300def802000e0c0100a2f90200d20c010043f90000240901008f1e000090040200d5f90000b609010082f9000063090100501f00005c060200921f000007070400810f00002c03020087fa00005a0a01004ef902007e0c0100ab1f0000650704003dfa0000120a0100d90100006601030096f90200c60c01008a1e00008604020058fa00002d0a0100c11f00009507020061f90200910c01004403000011020200341f00001a060300a8f9000089090100630100000e0102004bfb0000eb0a0200cc090000d6020200711e000050040200e200000038000200f3f90000d40901009ef80200ce0b0100b3f80200e30b01004d1f000059060300f91e0000960502002ff802005f0b01002efa0000030a010014f80200440b0100d1fa0000a40a0100c51e00000d050300df090000dc020200a1f80200d10b010039f900001a09010028020000f0010200d2f80200020c0100bdd10100240b0300861f0000db06040068f80200980b01002a020000f4010300e3f80200130c01005a0a0000e4020200c81f0000a407020022fa0000fc090100ed010000910103009ff9000080090100b8f90200e80c0100e7f90200170d0100bbfa00008e0a0100d60100005d01030031fb0000c10a020046010000de000200f21e000088050200a11f000040070300181e0000880302009bfa00006e0a010080fa0000530a0100ccfa00009f0a01007a010000380102003b1e0000d4030200741e0000560402006bf802009b0b0100231e0000a0030200750100002e0102003e1e0000da030200db0400007c0202009b21000013080200841e00007a040200cff90000b0090100441e0000e60302001a1e00008c030200651f00008a06030029f900000a090100472200002b080200f2040000a20202007cf80200ac0b01002f1e0000b90303004af802007a0b01008cf90200bc0c0100a1f90200d10c0100c81e00001605020057010000f6000200bff80200ef0b010041fb0000db0a0200f9040000ac02020095f90200c50c01002e010000be000200b6f9000097090100bc1e0000f4040200211e00009c03020041f80200710b01001601000092000200530400005c02020092f90200c20c010064d101001d0b0300e1f80200110c010075fa0000480a010002f90000e308010008f90000e908010017f80200470b01005ff90000400901003bf802006b0b01000f01000088000200d3000000220002006930000089080200651e00003304030043fb0000dd0a0200ba300000b10802009b1f0000290704006c0100001c010200c70000000c0002006bf902009b0c0100f8f90000d909010058010000f800020063d101001a0b0300a71e0000b9040300882200004d080200cbfa00009e0a010001f90000e20801008e1f0000f906040009fa0200390d0100c8f90200f80c01000e1e00007003020049f900002a090100e8000000420002003cfa0000110a0100ecf802001c0c0100dbf802000b0c010018020000e001020065300000850802007cfa00004f0a0100821f0000cb0604009b1e0000a604020009020000c2010200d11f0000b6070200faf902002a0d0100f4300000d50802001a1f0000d80503005c1e00001e0403006bfa0000400a0100def902000e0d0100c6f90000a7090100da010000690103000e1f0000be0503007bf900005c090100c3f90000a4090100170100009400020045f9000026090100fef902002e0d0100d61e00003805030025060000b4020200bcf90200ec0c0100492200002d080200d401000058010200f0f90200200d010031f90200610c01002af902005a0c0100db1f0000c90702007bfa00004e0a010082f80200b20b0100eff802001f0c01004ff9000030090100930f00002e03020045f90200750c0100563000007708020059090000c6020200ac22000051080200f61f0000fb07020001f80200310b010021f900000209010041fa0000160a0100fef90000df090100a3fa0000760a0100b4f80200e40b01000c020000c8010200c1f90000a2090100002000000b08010005f90200350c01000d04000050020200791f0000bb0602005bf902008b0c0100721e0000520402001bf902004b0c0100e1f90000c2090100cbf90200fb0c01004df802007d0b0100a7f80200d70b0100051f0000a505030030fb0000bf0a020001fa0000e2090100ef00000050000200c0d101002d0b030019f80200490b0100ca00000012000200ae210000150802002e1e0000b6030300da300000cf08020080f80200b00b010032f80200620b0100db0100006c010300e7040000900202005bf802008b0b0100f001000098010200c7f90200f70c0100681e00003c0403000cf90000ed0801004dfb0000ef0a0200f4f80200240c0100b0030000350203000ff90000f00801009ff80200cf0b01009a1f00002507040088fa00005b0a0100bfd101002a0b0300713000008d08020069fa00003e0a0100261000003a0302001afa0000f6090100031e00005803020028f900000909010074f90200a40c01004b0b0000ec0202001d1f0000e10503006501000012010200d2fa0000a50a0100c9fa00009c0a010097f80200c70b01000ffa02003f0d0100aef90200de0c0100c80000000e000200bcf80200ec0b01006af902009a0c0100fbf902002b0d0100cdf80200fd0b01001ffb0000af0a02004bf902007b0c010011f80200410b01005a090000c8020200dc300000d1080200780f00002a03020009f90200390c0100ae22000055080200d8f90000b90901008efa0000610a01002a1e0000ae030200080100007a000200cff90200ff0c01007b1e000067040300cbf80200fb0b0100c2fa0000950a01005fd101000f0b020024f90000050901006ff9000050090100de1e00005005030087f90200b70c0100721f0000ad060200d41e000032050300b2f80200e20b010042fa0000170a010026060000b60202009dfa0000700a0100b3f90200e30c010019f90200490c0100d3f90000b409010071fa0000440a01002f1f00000d060300d91e0000410503002ffb0000bd0a0200dcf802000c0c0100b41e0000e004030025fa0000fd0901006df802009d0b0100ea04000092020200cd1e000020050200011f00009a050200d0f80200000c01003af902006a0c01000c0400004e0202003af900001b090100fff90000e0090100261e0000a6030200081f0000ae050200031f00009f050300d7fa0000aa0a010084f80200b40b010045f80200750b01008e03000022020200d00400006e020200be300000b5080200321f00001406030008fa0200380d01007d0100003e0102003d1e0000d80302002cfa0000010a01005ff902008f0c01009cf90200cc0c01006f1f0000a606030037f900001809010034fa0000090a01002a1f0000fe050300690f000022030200e00000003400020078f90200a80c01007ff90200af0c0100ef01000096010200431b00005003020055010000f2000200c61f00009f0702000a020000c401020077300000950802001b1e00008e03020085f80200b50b01000d020000ca010200c4f90000a5090100a7f90000880901008ef900006f0901004d0f00001a03020005f80200350b010059010000fa000200f400000058000200401f00003c06020000fa0000e1090100f6f90200260d0100aefa0000810a010015fa0000f10901002b2100000f08020006fa0200360d0100d5000000260002002d1e0000b40302000f1f0000c1050300712200003b080200711f0000ab06020047fa00001c0a01004b0d00000b0302001cf802004c0b0100b91f00008c07020026fa0000fe090100f91f00000208020034010000c400020091f900007209010060d10100110b0300acf900008d09010028f80200580b0100d91f0000c5070200ebf802001b0c01008bf80200bb0b0100b1f90200e10c0100bcf900009d0901002afa0000ff0901007c3000009b080200f50100009c010200781f0000b906020072fa0000450a0100802200004508020018f90200480c0100e40000003c00020002f80200320b0100d6f80200060c0100880300001a020200c5fa0000980a01000d0100008400020058f9000039090100be1e0000f80403000af90000eb080100f9010000a00102004c0b0000ee020200571f00006f060300061e00005e030200d11e000029050300f31f0000f60702002b1e0000b0030200b81e0000ec04020075f80200a50b010042f90000230901006a1f000097060300e0010000780103004df902007d0c0100480c0000fc02020010f80200400b0100361f000020060300f3f80200230c0100fd0000006600020061f900004209010073f80200a30b01007e0300001402010011f90000f2080100c6fa0000990a01009df80200cd0b010060f90200900c010082fa0000550a01006ff902009f0c0100331f0000170603005f1f00007a060300671e000039040300d9300000cd0802009af900007b090100ec2200006508020004020000b8010200dc0000003000020025f90200550c010068fa00003d0a010040f80200700b0100cd0300003e020200901e000092040200751f0000b3060200dc0d0000110302003ff802006f0b010076f90000570901006ef802009e0b010050010000ec000200991e0000a4040200d10100005201020016f90200460c010029f90200590c0100041f0000a2050300a71f000057070400df0100007501030044fb0000df0a02001c0100009e0002003a010000ce000200101f0000c4050200c4f80200f40b0100971e0000a004020054f900003509010000f90200300c0100fe300000df080200b6300000ad080200691f000095060200adf900008e090100771e00005c04020037fa00000c0a010034f9000015090100b0fa0000830a0100ea220000610802009cf80200cc0b010027020000ee0102002b1f00000106030079f90200a90c010054f90200840c01001e1e000096030200aef900008f090100e5f80200150c0100af030000330202004c1f00005606030041f900002209010034f90200640c0100a3f900008409010029090000be0202009bf80200cb0b0100b0f80200e00b0100831e000078040200ecf902001c0d0100601f00007d06020023060000b00202006e1e00004a0402002e110100f90a02005d0b0000f202020015020000da010200bdf90200ed0c01007601000030010200ab1e0000c5040300e6f90200160d010064f80200940b0100311f0000120602002ff902005f0c010020f80200500b0100da1f0000c70702002cf802005c0b0100451f0000490603007c1f0000c1060200531e00000b04030072f90200a20c01001afa02004a0d010060f9000041090100d701000060010300e81e00006a050300ca0c000004030200421f0000400603005df902008d0c0100ee01000094010200d3f80200030c01004d1e0000f9030300d600000028000200961f00001707040018f90000f9080100aff9000090090100fbf802002b0c0100601e000028040200121b000046030200fdf90000de090100ebf902001b0d0100641e0000300403002bfb0000b30a0200e01f0000d107020015f90200450c01001bf802004b0b0100dd1f0000cb070200b6f80200e60b0100891e000084040200b9f900009a090100b31f000080070200e301000080010200e304000088020200cf0000001c000200f100000052000200bff90200ef0c0100c9f80200f90b0100a8f80200d80b01005af902008a0c0100a8f90200d80c0100a1010000440102009ef900007f09010046fb0000e10a0200c7f90000a80901007604000066020200cd0100004a010200bff90000a0090100ad1e0000cb0403000501000074000200a4f90200d40c01005b010000fe000200c9f90000aa090100190100009800020046f900002709010054300000750802000cfa02003c0d0100cf0100004e0102007dfa0000500a010044f90000250901001dfa0000f9090100c2f90200f20c010064f900004509010019020000e2010200ddf90000be0901008b1f0000ed0604006222000031080200b3f9000094090100a2f90000830901005030000071080200e801000086010200d3300000c5080200c9300000bf0802005af900003b0901008af900006b09010076fa0000490a010016f80200460b0100401b00004c03020012020000d4010200911e000094040200e4f90000c5090100981f00001f07030010f90000f1080100d8f90200080d01001df902004d0c01009c1f00002d070400db0000002e000200320200000a02020095f9000076090100e2f90000c3090100231f0000eb050300de0d000016030200cef90000af090100ed1e0000790503000c1f0000b80503001cf902004c0c0100b0300000a708020090f9000071090100681f000093060200bc1f000092070200b7f90200e70c01006bf900004c09010009fa0000ea090100ff010000ae01020010f90200400c0100f4f90200240d01007ff80200af0b0100591e000018040200be140100050b02006cf900004d090100ac0f00003603020013f90000f40801000df802003d0b010027f90200570c010037f80200670b0100ac300000a3080200ee1f0000f0070200a1f9000082090100541e00000e0402006e1f0000a3060300b7fa00008a0a01003bfb0000d30a0200f1f90200210d0100360a0000e0020200891f0000e6060300cc1e00001e05020058f90200880c01006b0100001a01020044f90200740c0100f9f80200290c0100070400004c020200f61e000090050200a3f90200d30c010081f80200b10b01004c130100ff0a02001af802004a0b0100ddf902000d0d010064fa0000390a0100aff80200df0b0100edf902001d0d0100eaf90000cb0901009c100100f50a02004f010000ea0002007af900005b09010049f90200790c01005b0a0000e602020036f90000170901005e0a0000e80202009af80200ca0b01004b1f00005306030084f90000650901006d1e0000480402000ef902003e0c01002a2300006a0801000dfa02003d0d0100b2fa0000850a01005004000058020200021f00009c05030032fa0000070a0100761f0000b50602006df902009d0c0100a7f90200d70c0100a31e0000ae040200baf900009b090100151f0000d1050300af1f000075070400600100000801020063f90200930c010025f9000006090100f6f90000d7090100c0300000b70802001e020000e80102009cfa00006f0a01003afb0000d10a0200ba1f00008e0702007403000013020100dc2a00006b0802001ff902004f0c0100c00c0000fe020200f31e00008a050200c31f00009a070200bdf80200ed0b01001f010000a4000200a70f000034030200f4f90000d5090100cc0b0000fa02020047f80200770b01004a1f0000500603008ff90200bf0c01006ef900004f090100e6f90000c7090100e3f90000c409010044f80200740b010013f80200430b0100b5fa0000880a0100aa1f000061070400c1000000020002006b1e000044040200e51f0000dd07020007f80200370b01005ff802008f0b01003bf900001c090100f80100009e010200691e00003f040300e71f0000e1070300571e000014040200cc000000160002009bf90200cb0c0100f00400009e020200fdf802002d0c010021010000a8000200f2000000540002009afa00006d0a0100eff902001f0d010078f80200a80b010059f900003a0901004b130100fd0a0200be1f00009407010056fa00002b0a0100bed10100270b0300bbf80200eb0b0100e4f80200140c0100191e00008a0302002df902005d0c01002c1f000004060300e100000036000200b6f90200e60c01008df900006e09010014f90000f508010019fa0000f5090100cefa0000a10a01005a010000fc000200742200003d0802004cf900002d090100c41f00009c070300ba150100070b0200b8f80200e80b010001fa0200310d0100eaf802001a0c0100981e0000a20402008bf90200bb0c0100dcf902000c0d0100991f0000220703008a1f0000e90604001c1f0000de05030038fa00000d0a010053f90200830c0100f7f80200270c0100411f00003e060200c71e00001305030016fa0200460d010059f80200890b010059f90200890c0100cff80200ff0b01004c010000e400020093f90200c30c01003e010000d60002002a010000b600020091f90200c10c0100ca1f0000a8070200890300001c02020073fa0000460a0100d9f90200090d010043010000d800020093f80200c30b010027f80200570b010063fa0000380a0100ac0300002d020200071f0000ab050300bb1e0000f204020043f90200730c010067fa00003c0a0100d604000076020200121f0000c8050300f40100009a010200371e0000ca0302000ff902003f0c0100181f0000d40502007704000068020200020100006e00020000f80200300b0100affa0000820a0100c0060000b8020200eb00000048000200da1e0000440503007d1f0000c3060200590a0000e2020200f2f80200220c01009e300000a1080200d6300000c90802002ef902005e0c010033f90000140901006ef902009e0c0100551e00001004020081220000470802004e1e0000fc03030072f80200a20b0100fcf902002c0d0100bcd10100220b020050fa0000250a01002cf902005c0c0100703000008b080200e9f90000ca0901003cf802006c0b0100f8f90200280d0100521f000060060300acfa00007f0a0100941e00009a040200d6fa0000a90a0100cb1f0000aa07020033fa0000080a01001bfa0000f7090100eef90000cf0901002c1e0000b203020003020000b601020077f80200a70b0100f81f000000080200e901000088010200fe010000ac0102006cf902009c0c0100511e000005040300de04000082020200a4f900008509010040fb0000d90a020022060000ae020200cc0300003c0202009ef90200ce0c01002bf900000c090100e12200005b080200740100002c0102004a1e0000f203020039f90200690c0100ce03000040020200a7fa00007a0a010085fa0000580a0100e7f90000c8090100070100007800020095fa0000680a010073f900005409010033f90200630c0100c2f90000a3090100e11e000059050300d301000056010200d0f90200000d01002afb0000b10a0200fb000000620002004f1e0000ff030300261f0000f4050300dd0000003200020026020000ec01020031f80200610b0100eef902001e0d010055f90000360901006e01000020010200a5f80200d50b01001b0100009c000200761e00005a0402004c0d00000d0302003c1f0000300603000a1e000068030200781e00005e0403002af802005a0b01002d010000bc000200c5f80200f50b01003e1f0000360603005cf900003d090100211f0000e6050200d7f90200070d0100701f0000a906020014f90200440c010083fa0000560a0100d51e000035050300e71e0000680502007822000041080200c0f90000a1090100d71e00003b050300caf80200fa0b01003d1b00004a030200adf90200dd0c01005e090000d00202000c22000021080200df1f0000cf07020048fa00001d0a0100041e00005a030200d70400007802020016020000dc010200701e00004e04020056f80200860b0100e90000004400020051f90000320901003102000007020300531f000063060300141e00007c03030083f9000064090100d4f90000b509010073f90200a30c0100dff902000f0d01008cf900006d09010008020000c001020095f80200c50b0100aafa00007d0a01005c04000060020200b8300000af0802004422000029080200ff00000068000200d104000070020200262100000d0801000b0100008000020045010000dc00020078f9000059090100cd1f0000ae07020012f90200420c010036fa00000b0a0100c0f90200f00c0100ec040000960202000e010000860002008df90200bd0c01005d1e000021040300430f000018030200291e0000ac0302003ef900001f090100c5f90200f50c0100ce210000190802007bf80200ab0b0100baf90200ea0c0100c21e0000040503009a21000011080200641f00008706030006f90000e7080100d7f90000b809010041000000000300004100000001030000410000000203000041000000030300004100000008030000410000000a0300004300000027030000450000000003000045000000010300004500000002030000450000000803000049000000000300004900000001030000490000000203000049000000080300004e000000030300004f000000000300004f000000010300004f000000020300004f000000030300004f000000080300005500000000030000550000000103000055000000020300005500000008030000590000000103000061000000000300006100000001030000610000000203000061000000030300006100000008030000610000000a0300006300000027030000650000000003000065000000010300006500000002030000650000000803000069000000000300006900000001030000690000000203000069000000080300006e000000030300006f000000000300006f000000010300006f000000020300006f000000030300006f00000008030000750000000003000075000000010300007500000002030000750000000803000079000000010300007900000008030000410000000403000061000000040300004100000006030000610000000603000041000000280300006100000028030000430000000103000063000000010300004300000002030000630000000203000043000000070300006300000007030000430000000c030000630000000c030000440000000c030000640000000c03000045000000040300006500000004030000450000000603000065000000060300004500000007030000650000000703000045000000280300006500000028030000450000000c030000650000000c03000047000000020300006700000002030000470000000603000067000000060300004700000007030000670000000703000047000000270300006700000027030000480000000203000068000000020300004900000003030000690000000303000049000000040300006900000004030000490000000603000069000000060300004900000028030000690000002803000049000000070300004a000000020300006a000000020300004b000000270300006b000000270300004c000000010300006c000000010300004c000000270300006c000000270300004c0000000c0300006c0000000c0300004e000000010300006e000000010300004e000000270300006e000000270300004e0000000c0300006e0000000c0300004f000000040300006f000000040300004f000000060300006f000000060300004f0000000b0300006f0000000b0300005200000001030000720000000103000052000000270300007200000027030000520000000c030000720000000c030000530000000103000073000000010300005300000002030000730000000203000053000000270300007300000027030000530000000c030000730000000c03000054000000270300007400000027030000540000000c030000740000000c030000550000000303000075000000030300005500000004030000750000000403000055000000060300007500000006030000550000000a030000750000000a030000550000000b030000750000000b03000055000000280300007500000028030000570000000203000077000000020300005900000002030000790000000203000059000000080300005a000000010300007a000000010300005a000000070300007a000000070300005a0000000c0300007a0000000c0300004f0000001b0300006f0000001b030000550000001b030000750000001b030000410000000c030000610000000c030000490000000c030000690000000c0300004f0000000c0300006f0000000c030000550000000c030000750000000c03000055000000080300000403000075000000080300000403000055000000080300000103000075000000080300000103000055000000080300000c03000075000000080300000c030000550000000803000000030000750000000803000000030000410000000803000004030000610000000803000004030000410000000703000004030000610000000703000004030000c600000004030000e600000004030000470000000c030000670000000c0300004b0000000c0300006b0000000c0300004f000000280300006f000000280300004f00000028030000040300006f0000002803000004030000b70100000c030000920200000c0300006a0000000c030000470000000103000067000000010300004e000000000300006e00000000030000410000000a03000001030000610000000a03000001030000c600000001030000e600000001030000d800000001030000f800000001030000410000000f030000610000000f03000041000000110300006100000011030000450000000f030000650000000f03000045000000110300006500000011030000490000000f030000690000000f030000490000001103000069000000110300004f0000000f0300006f0000000f0300004f000000110300006f00000011030000520000000f030000720000000f03000052000000110300007200000011030000550000000f030000750000000f030000550000001103000075000000110300005300000026030000730000002603000054000000260300007400000026030000480000000c030000680000000c03000041000000070300006100000007030000450000002703000065000000270300004f00000008030000040300006f00000008030000040300004f00000003030000040300006f00000003030000040300004f000000070300006f000000070300004f00000007030000040300006f0000000703000004030000590000000403000079000000040300000003000001030000130300000803000001030000b90200003b000000a8000000010300009103000001030000b70000009503000001030000970300000103000099030000010300009f03000001030000a503000001030000a903000001030000b903000008030000010300009903000008030000a503000008030000b103000001030000b503000001030000b703000001030000b903000001030000c50300000803000001030000b903000008030000c503000008030000bf03000001030000c503000001030000c903000001030000d203000001030000d20300000803000015040000000300001504000008030000130400000103000006040000080300001a04000001030000180400000003000023040000060300001804000006030000380400000603000035040000000300003504000008030000330400000103000056040000080300003a0400000103000038040000000300004304000006030000740400000f030000750400000f03000016040000060300003604000006030000100400000603000030040000060300001004000008030000300400000803000015040000060300003504000006030000d804000008030000d904000008030000160400000803000036040000080300001704000008030000370400000803000018040000040300003804000004030000180400000803000038040000080300001e040000080300003e04000008030000e804000008030000e9040000080300002d040000080300004d040000080300002304000004030000430400000403000023040000080300004304000008030000230400000b030000430400000b030000270400000803000047040000080300002b040000080300004b0400000803000027060000530600002706000054060000480600005406000027060000550600004a06000054060000d506000054060000c106000054060000d206000054060000280900003c090000300900003c090000330900003c090000150900003c090000160900003c090000170900003c0900001c0900003c090000210900003c090000220900003c0900002b0900003c0900002f0900003c090000c7090000be090000c7090000d7090000a1090000bc090000a2090000bc090000af090000bc090000320a00003c0a0000380a00003c0a0000160a00003c0a0000170a00003c0a00001c0a00003c0a00002b0a00003c0a0000470b0000560b0000470b00003e0b0000470b0000570b0000210b00003c0b0000220b00003c0b0000920b0000d70b0000c60b0000be0b0000c70b0000be0b0000c60b0000d70b0000460c0000560c0000bf0c0000d50c0000c60c0000d50c0000c60c0000d60c0000c60c0000c20c0000c60c0000c20c0000d50c0000460d00003e0d0000470d00003e0d0000460d0000570d0000d90d0000ca0d0000d90d0000cf0d0000d90d0000cf0d0000ca0d0000d90d0000df0d0000420f0000b70f00004c0f0000b70f0000510f0000b70f0000560f0000b70f00005b0f0000b70f0000400f0000b50f0000710f0000720f0000710f0000740f0000b20f0000800f0000b30f0000800f0000710f0000800f0000920f0000b70f00009c0f0000b70f0000a10f0000b70f0000a60f0000b70f0000ab0f0000b70f0000900f0000b50f0000251000002e100000051b0000351b0000071b0000351b0000091b0000351b00000b1b0000351b00000d1b0000351b0000111b0000351b00003a1b0000351b00003c1b0000351b00003e1b0000351b00003f1b0000351b0000421b0000351b00004100000025030000610000002503000042000000070300006200000007030000420000002303000062000000230300004200000031030000620000003103000043000000270300000103000063000000270300000103000044000000070300006400000007030000440000002303000064000000230300004400000031030000640000003103000044000000270300006400000027030000440000002d030000640000002d030000450000000403000000030000650000000403000000030000450000000403000001030000650000000403000001030000450000002d030000650000002d03000045000000300300006500000030030000450000002703000006030000650000002703000006030000460000000703000066000000070300004700000004030000670000000403000048000000070300006800000007030000480000002303000068000000230300004800000008030000680000000803000048000000270300006800000027030000480000002e030000680000002e030000490000003003000069000000300300004900000008030000010300006900000008030000010300004b000000010300006b000000010300004b000000230300006b000000230300004b000000310300006b000000310300004c000000230300006c000000230300004c00000023030000040300006c00000023030000040300004c000000310300006c000000310300004c0000002d0300006c0000002d0300004d000000010300006d000000010300004d000000070300006d000000070300004d000000230300006d000000230300004e000000070300006e000000070300004e000000230300006e000000230300004e000000310300006e000000310300004e0000002d0300006e0000002d0300004f00000003030000010300006f00000003030000010300004f00000003030000080300006f00000003030000080300004f00000004030000000300006f00000004030000000300004f00000004030000010300006f000000040300000103000050000000010300007000000001030000500000000703000070000000070300005200000007030000720000000703000052000000230300007200000023030000520000002303000004030000720000002303000004030000520000003103000072000000310300005300000007030000730000000703000053000000230300007300000023030000530000000103000007030000730000000103000007030000530000000c03000007030000730000000c03000007030000530000002303000007030000730000002303000007030000540000000703000074000000070300005400000023030000740000002303000054000000310300007400000031030000540000002d030000740000002d0300005500000024030000750000002403000055000000300300007500000030030000550000002d030000750000002d030000550000000303000001030000750000000303000001030000550000000403000008030000750000000403000008030000560000000303000076000000030300005600000023030000760000002303000057000000000300007700000000030000570000000103000077000000010300005700000008030000770000000803000057000000070300007700000007030000570000002303000077000000230300005800000007030000780000000703000058000000080300007800000008030000590000000703000079000000070300005a000000020300007a000000020300005a000000230300007a000000230300005a000000310300007a0000003103000068000000310300007400000008030000770000000a030000790000000a0300007f01000007030000410000002303000061000000230300004100000009030000610000000903000041000000020300000103000061000000020300000103000041000000020300000003000061000000020300000003000041000000020300000903000061000000020300000903000041000000020300000303000061000000020300000303000041000000230300000203000061000000230300000203000041000000060300000103000061000000060300000103000041000000060300000003000061000000060300000003000041000000060300000903000061000000060300000903000041000000060300000303000061000000060300000303000041000000230300000603000061000000230300000603000045000000230300006500000023030000450000000903000065000000090300004500000003030000650000000303000045000000020300000103000065000000020300000103000045000000020300000003000065000000020300000003000045000000020300000903000065000000020300000903000045000000020300000303000065000000020300000303000045000000230300000203000065000000230300000203000049000000090300006900000009030000490000002303000069000000230300004f000000230300006f000000230300004f000000090300006f000000090300004f00000002030000010300006f00000002030000010300004f00000002030000000300006f00000002030000000300004f00000002030000090300006f00000002030000090300004f00000002030000030300006f00000002030000030300004f00000023030000020300006f00000023030000020300004f0000001b030000010300006f0000001b030000010300004f0000001b030000000300006f0000001b030000000300004f0000001b030000090300006f0000001b030000090300004f0000001b030000030300006f0000001b030000030300004f0000001b030000230300006f0000001b030000230300005500000023030000750000002303000055000000090300007500000009030000550000001b03000001030000750000001b03000001030000550000001b03000000030000750000001b03000000030000550000001b03000009030000750000001b03000009030000550000001b03000003030000750000001b03000003030000550000001b03000023030000750000001b0300002303000059000000000300007900000000030000590000002303000079000000230300005900000009030000790000000903000059000000030300007900000003030000b103000013030000b103000014030000b10300001303000000030000b10300001403000000030000b10300001303000001030000b10300001403000001030000b10300001303000042030000b1030000140300004203000091030000130300009103000014030000910300001303000000030000910300001403000000030000910300001303000001030000910300001403000001030000910300001303000042030000910300001403000042030000b503000013030000b503000014030000b50300001303000000030000b50300001403000000030000b50300001303000001030000b5030000140300000103000095030000130300009503000014030000950300001303000000030000950300001403000000030000950300001303000001030000950300001403000001030000b703000013030000b703000014030000b70300001303000000030000b70300001403000000030000b70300001303000001030000b70300001403000001030000b70300001303000042030000b7030000140300004203000097030000130300009703000014030000970300001303000000030000970300001403000000030000970300001303000001030000970300001403000001030000970300001303000042030000970300001403000042030000b903000013030000b903000014030000b90300001303000000030000b90300001403000000030000b90300001303000001030000b90300001403000001030000b90300001303000042030000b9030000140300004203000099030000130300009903000014030000990300001303000000030000990300001403000000030000990300001303000001030000990300001403000001030000990300001303000042030000990300001403000042030000bf03000013030000bf03000014030000bf0300001303000000030000bf0300001403000000030000bf0300001303000001030000bf03000014030000010300009f030000130300009f030000140300009f03000013030000000300009f03000014030000000300009f03000013030000010300009f0300001403000001030000c503000013030000c503000014030000c50300001303000000030000c50300001403000000030000c50300001303000001030000c50300001403000001030000c50300001303000042030000c50300001403000042030000a503000014030000a50300001403000000030000a50300001403000001030000a50300001403000042030000c903000013030000c903000014030000c90300001303000000030000c90300001403000000030000c90300001303000001030000c90300001403000001030000c90300001303000042030000c90300001403000042030000a903000013030000a903000014030000a90300001303000000030000a90300001403000000030000a90300001303000001030000a90300001403000001030000a90300001303000042030000a90300001403000042030000b103000000030000b103000001030000b503000000030000b503000001030000b703000000030000b703000001030000b903000000030000b903000001030000bf03000000030000bf03000001030000c503000000030000c503000001030000c903000000030000c903000001030000b10300001303000045030000b10300001403000045030000b1030000130300000003000045030000b1030000140300000003000045030000b1030000130300000103000045030000b1030000140300000103000045030000b1030000130300004203000045030000b1030000140300004203000045030000910300001303000045030000910300001403000045030000910300001303000000030000450300009103000014030000000300004503000091030000130300000103000045030000910300001403000001030000450300009103000013030000420300004503000091030000140300004203000045030000b70300001303000045030000b70300001403000045030000b7030000130300000003000045030000b7030000140300000003000045030000b7030000130300000103000045030000b7030000140300000103000045030000b7030000130300004203000045030000b7030000140300004203000045030000970300001303000045030000970300001403000045030000970300001303000000030000450300009703000014030000000300004503000097030000130300000103000045030000970300001403000001030000450300009703000013030000420300004503000097030000140300004203000045030000c90300001303000045030000c90300001403000045030000c9030000130300000003000045030000c9030000140300000003000045030000c9030000130300000103000045030000c9030000140300000103000045030000c9030000130300004203000045030000c9030000140300004203000045030000a90300001303000045030000a90300001403000045030000a9030000130300000003000045030000a9030000140300000003000045030000a9030000130300000103000045030000a9030000140300000103000045030000a9030000130300004203000045030000a9030000140300004203000045030000b103000006030000b103000004030000b10300000003000045030000b103000045030000b10300000103000045030000b103000042030000b1030000420300004503000091030000060300009103000004030000910300000003000091030000010300009103000045030000b9030000a800000042030000b70300000003000045030000b703000045030000b70300000103000045030000b703000042030000b7030000420300004503000095030000000300009503000001030000970300000003000097030000010300009703000045030000bf1f000000030000bf1f000001030000bf1f000042030000b903000006030000b903000004030000b90300000803000000030000b90300000803000001030000b903000042030000b903000008030000420300009903000006030000990300000403000099030000000300009903000001030000fe1f000000030000fe1f000001030000fe1f000042030000c503000006030000c503000004030000c50300000803000000030000c50300000803000001030000c103000013030000c103000014030000c503000042030000c50300000803000042030000a503000006030000a503000004030000a503000000030000a503000001030000a103000014030000a800000000030000a80000000103000060000000c90300000003000045030000c903000045030000c90300000103000045030000c903000042030000c903000042030000450300009f030000000300009f03000001030000a903000000030000a903000001030000a903000045030000b40000000220000003200000a90300004b000000410000000a030000902100003803000092210000380300009421000038030000d021000038030000d421000038030000d221000038030000032200003803000008220000380300000b22000038030000232200003803000025220000380300003c220000380300004322000038030000452200003803000048220000380300003d0000003803000061220000380300004d220000380300003c000000380300003e000000380300006422000038030000652200003803000072220000380300007322000038030000762200003803000077220000380300007a220000380300007b220000380300008222000038030000832200003803000086220000380300008722000038030000a222000038030000a822000038030000a922000038030000ab220000380300007c220000380300007d2200003803000091220000380300009222000038030000b222000038030000b322000038030000b422000038030000b5220000380300000830000009300000dd2a0000380300004b300000993000004d300000993000004f30000099300000513000009930000053300000993000005530000099300000573000009930000059300000993000005b300000993000005d300000993000005f3000009930000061300000993000006430000099300000663000009930000068300000993000006f300000993000006f3000009a3000007230000099300000723000009a3000007530000099300000753000009a3000007830000099300000783000009a3000007b300000993000007b3000009a30000046300000993000009d30000099300000ab30000099300000ad30000099300000af30000099300000b130000099300000b330000099300000b530000099300000b730000099300000b930000099300000bb30000099300000bd30000099300000bf30000099300000c130000099300000c430000099300000c630000099300000c830000099300000cf30000099300000cf3000009a300000d230000099300000d23000009a300000d530000099300000d53000009a300000d830000099300000d83000009a300000db30000099300000db3000009a300000a630000099300000ef30000099300000f030000099300000f130000099300000f230000099300000fd30000099300000488c0000f4660000ca8e0000c88c0000d16e0000324e0000e55300009c9f00009c9f000051590000d19100008755000048590000f661000069760000857f00003f860000ba870000f88800008f900000026a00001b6d0000d9700000de7300003d8400006a910000f1990000824e000075530000046b00001b7200002d8600001e9e0000505d0000eb6f0000cd85000064890000c9620000d88100001f880000ca5e0000176700006a6d0000fc720000ce900000864f0000b7510000de520000c4640000d36a000010720000e776000001800000068600005c860000ef8d0000329700006f9b0000fa9d00008c7800007f790000a07d0000c9830000049300007f9e0000d68a0000df580000045f0000607c00007e80000062720000ca780000c28c0000f7960000d8580000625c0000136a0000da6d00000f6f00002f7d0000377e00004b960000d25200008b800000dc510000cc5100001c7a0000be7d0000f183000075960000808b0000cf620000026a0000fe8a0000394e0000e75b000012600000877300007075000017530000fb780000bf4f0000a95f00000d4e0000cc6c000078650000227d0000c35300005e5800000177000049840000aa8a0000ba6b0000b08f0000886c0000fe620000e5820000a063000065750000ae4e000069510000c951000081680000e77c00006f820000d28a0000cf910000f55200004254000073590000ec5e0000c5650000fe6f00002a790000ad9500006a9a0000979e0000ce9e00009b520000c6660000776b0000628f0000745e000090610000006200009a640000236f00004971000089740000ca790000f47d00006f800000268f0000ee840000239000004a93000017520000a3520000bd540000c8700000c2880000aa8a0000c95e0000f55f00007b630000ae6b00003e7c000075730000e44e0000f9560000e75b0000ba5d00001c600000b2730000697400009a7f00004680000034920000f696000048970000189800008b4f0000ae790000b4910000b8960000e1600000864e0000da500000ee5b00003f5c000099650000026a0000ce71000042760000fc8400007c9000008d9f0000886600002e960000895200007b670000f3670000416d00009c6e000009740000597500006b780000107d00005e9800006d5100002e620000789600002b500000195d0000ea6d00002a8f00008b5f000044610000176800008773000086960000295200000f540000655c0000136600004e670000a8680000e56c000006740000e2750000797f0000cf880000e1880000cc910000e29600003f530000ba6e00001d540000d071000098740000fa850000a3960000579c00009f9e000097670000cb6d0000e8810000cb7a0000207b0000927c0000c072000099700000588b0000c04e0000368300003a52000007520000a65e0000d3620000d67c0000855b00001e6d0000b46600003b8f00004c8800004d9600008b890000d35e000040510000c05500005a58000074660000de5100002a730000ca7600003c7900005e790000657900008f79000056970000be7c0000bd7f000012860000f88a000038900000fd900000ef980000fc98000028990000b49d0000de900000b7960000ae4f0000e75000004d510000c9520000e4520000515300009d550000065600006856000040580000a8580000645c00006e5c000094600000686100008e610000f26100004f650000e26500009166000085680000776d00001a6e0000226f00006e7100002b72000022740000917800003e790000497900004879000050790000567900005d7900008d7900008e790000407a0000817a0000c07b0000f47d0000097e0000417e0000727f000005800000ed8100007982000079820000578400001089000096890000018b0000398b0000d38c0000088d0000b68f000038900000e3960000ff9700003b98000075600000ee42020018820000264e0000b551000068510000804f00004551000080510000c7520000fa5200009d5500005555000099550000e25500005a580000b35800004459000054590000625a0000285b0000d25e0000d95e0000695f0000ad5f0000d86000004e610000086100008e61000060610000f261000034620000c46300001c640000526400005665000074660000176700001b67000056670000796b0000ba6b0000416d0000db6e0000cb6e0000226f00001e7000006e710000a777000035720000af7200002a73000071740000067500003b7500001d7600001f760000ca760000db760000f47600004a77000040770000cc780000b17a0000c07b00007b7c00005b7d0000f47d00003e7f00000580000052830000ef83000079870000418900008689000096890000bf8a0000f88a0000cb8a0000018b0000fe8a0000ed8a0000398b00008a8b0000088d0000388f00007290000099910000769200007c960000e396000056970000db970000ff9700000b9800003b980000129b00009c9f00004a28020044280200d53302009d3b0000184000003940000049520200d05c0200d37e0200439f00008e9f0000d9050000b4050000f2050000b7050000e9050000c1050000e9050000c2050000e9050000bc050000c1050000e9050000bc050000c2050000d0050000b7050000d0050000b8050000d0050000bc050000d1050000bc050000d2050000bc050000d3050000bc050000d4050000bc050000d5050000bc050000d6050000bc050000d8050000bc050000d9050000bc050000da050000bc050000db050000bc050000dc050000bc050000de050000bc050000e0050000bc050000e1050000bc050000e3050000bc050000e4050000bc050000e6050000bc050000e7050000bc050000e8050000bc050000e9050000bc050000ea050000bc050000d5050000b9050000d1050000bf050000db050000bf050000e4050000bf05000099100100ba1001009b100100ba100100a5100100ba10010031110100271101003211010027110100471301003e1301004713010057130100b9140100ba140100b9140100b0140100b9140100bd140100b8150100af150100b9150100af150100351901003019010057d1010065d1010058d1010065d1010058d1010065d101006ed1010058d1010065d101006fd1010058d1010065d1010070d1010058d1010065d1010071d1010058d1010065d1010072d10100b9d1010065d10100bad1010065d10100b9d1010065d101006ed10100bad1010065d101006ed10100b9d1010065d101006fd10100bad1010065d101006fd101003d4e0000384e0000414e000022010200604f0000ae4f0000bb4f0000025000007a50000099500000e7500000cf5000009e3400003a0602004d5100005451000064510000775100001c050200b9340000675100008d5100004b05020097510000a4510000cc4e0000ac510000b5510000df910200f551000003520000df3400003b52000046520000725200007752000015350000c7520000c9520000e4520000fa52000005530000065300001753000049530000515300005a530000735300007d5300007f5300007f5300007f5300002c0a020070700000ca530000df530000630b0200eb530000f1530000065400009e540000385400004854000068540000a2540000f6540000105500005355000063550000845500008455000099550000ab550000b3550000c2550000165700000656000017570000515600007456000007520000ee580000ce570000f45700000d5800008b5700003258000031580000ac580000e4140200f2580000f7580000065900001a5900002259000062590000a8160200ea160200ec5900001b5a0000275a0000d8590000665a0000ee360000fc360000085b00003e5b00003e5b0000c8190200c35b0000d85b0000e75b0000f35b0000181b0200ff5b0000065c0000535f0000225c000081370000605c00006e5c0000c05c00008d5c0000e41d0200435d0000e61d02006e5d00006b5d00007c5d0000e15d0000e25d00002f380000fd5d0000285e00003d5e0000695e000062380000832102007c380000b05e0000b35e0000b65e0000ca5e000092a30200fe5e0000312302003123020001820000225f0000225f0000c7380000b8320200da610200625f00006b5f0000e33800009a5f0000cd5f0000d75f0000f95f0000816000003a3900001c39000094600000d4260200c7600000486100004c6100004e6100004c6100007a6100008e610000b2610000a4610000af610000de610000f2610000f6610000106200001b6200005d620000b1620000d4620000506300000c2b02003d630000fc6200006863000083630000e4630000f12b020022640000c5630000a96300002e3a0000696400007e6400009d640000776400006c3a00004f6500006c6500000a300200e3650000f866000049660000193b000091660000083b0000e43a00009251000095510000006700009c660000ad800000d9430000176700001b670000216700005e67000053670000c3330200493b0000fa6700008567000052680000856800006d3402008e6800001f680000146900009d3b000042690000a3690000ea690000a86a0000a3360200db6a0000183c0000216b0000a7380200546b00004e3c0000726b00009f6b0000ba6b0000bb6b00008d3a02000b1d0200fa3a02004e6c0000bc3c0200bf6c0000cd6c0000676c0000166d00003e6d0000776d0000416d0000696d0000786d0000856d00001e3d0200346d00002f6e00006e6e0000333d0000cb6e0000c76e0000d13e0200f96d00006e6f00005e3f02008e3f0200c66f0000397000001e7000001b700000963d00004a7000007d70000077700000ad7000002505020045710000634202009c710000ab43020028720000357200005072000008460200807200009572000035470200144802007a7300008b730000ac3e0000a5730000b83e0000b83e0000477400005c7400007174000085740000ca7400001b3f000024750000364c02003e750000924c0200707500009f21020010760000a14f0200b84f020044500200fc3f000008400000f4760000f3500200f250020019510200335102001e7700001f7700001f7700004a770000394000008b77000046400000964000001d5402004e7800008c780000cc780000e340000026560200567900009a560200c55602008f790000eb7900002f410000407a00004a7a00004f7a00007c590200a75a0200a75a0200ee7a000002420000ab5b0200c67b0000c97b000027420000805c0200d27c0000a0420000e87c0000e37c0000007d0000865f0200637d000001430000c77d0000027e0000457e000034430000286202004762020059430000d96202007a7f00003e630200957f0000fa7f000005800000da6402002365020060800000a8650200708000005f330200d5430000b2800000038100000b4400003e810000b55a0000a7670200b5670200933302009c33020001820000048200009e8f00006b440000918200008b8200009d820000b3520000b1820000b3820000bd820000e68200003c6b0200e58200001d83000063830000ad83000023830000bd830000e78300005784000053830000ca830000cc830000dc830000366c02006b6d0200d56c02002b450000f1840000f384000016850000ca730200648500002c6f02005d45000061450000b16f0200d27002006b450000508600005c8600006786000069860000a9860000888600000e870000e286000079870000288700006b87000086870000d7450000e187000001880000f9450000608800006388000067760200d7880000de88000035460000fa880000bb340000ae78020066790200be460000c7460000a08a0000ed8a00008a8b0000558c0000a87c0200ab8c0000c18c00001b8d0000778d00002f7f020004080200cb8d0000bc8d0000f08d0000de080200d48e0000388f0000d2850200ed85020094900000f1900000119100002e8702001b91000038920000d7920000d89200007c920000f993000015940000fa8b02008b95000095490000b7950000778d0200e6490000c3960000b25d000023970000459102001a9202006e4a0000764a0000e09700000a940200b24a0000969402000b9800000b98000029980000b6950200e2980000334b000029990000a7990000c2990000fe990000ce4b0000309b0200129b0000409c0000fd9c0000ce4c0000ed4c0000679d0000cea00200f84c000005a102000ea2020091a20200bb9e0000564d0000f99e0000fe9e0000059f00000f9f0000169f00003b9f000000a602002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f756e69636f64652d6e6f726d616c697a6174696f6e2d302e312e32322f7372632f6c6f6f6b7570732e7273000000981014006d0000003600000046000000981014006d000000360000003400000000000000030000000000000001006c010e00ef040200000000000000020000000100030097006501000000008501000001000000f4030000000000000000040091000000dd0001006c0200000b000000e000bc000300130201000000c80003001c00fc000000000011003201000000000b0190007404d6000000000003000d000500000006001900540032014c0017000600480003000000000006000c0003000000b10001008c0000001b00c00007000200000012000000000006000100be01c80000007d0000000a0000000000b4000200080005004401db0001000600000000000d00140000004f000200000003003200000005000e007c002c00060000000000070000005f0005000f00670000000100340000000000000090001200000000001e004c008900a800000004001f00000000000100990018000d0003000700050019000200000004000100030090000b00290055000000510000000200d0007a0066000000950007000000000000000000010000008d000f00210056000a001b0000000000080007007c0005000000620002001300060000004f000000000032002f0004000d00a0000400080024001f0000000000820045000000610000001d000100000001000000070017000b000000000000000b0008000800000000003d0000009600000000000000080000000000000004000000030007002c000000000014002400020002000000020000001200010000000200000025000a00010066000b00080000000c0010000200030008000400060001000400e30023002000070000000f001e0023003d000400000001000000030025000000010031009d000000000004000100000000000800000000002600000000000200000002000000030000001b0000000200000001000a000300010002000c000c00010001000000110004003d0002001b00020000000c0006000600000000000300000009002c000000090037002d00000012002300000000001c000000260010001500020000000b000000040014000500130007001c000300360000000800010019000200000001000000000004000100080002000a00060013000000000000002f0001000000160005000c000c000100100003000e00000001000d0028000000000001000000000004001000210000000100030000002300000001000000000000000d0001000000000006006b000000140000000000060012000000020000002a0001000b000100060009000800010000002b0000000800070000000f00160000000000440000000100000000000c001900250002001f000f000c0001001f000a00000038000e000f000c002500000006000e0000000800000002000000000001000900010016000000000000000300150062000100000000000200000000003d0000000300010001000100000001000000290004002c0001000000000000000000220000001400280000000700040003000600000001000d002a00000000004400000008000000020001000b000000000000000000040003001c000500000006000200000011000600070000000200280007001d000b0005002e001100000001000c00000007002f000000000005000a000000080006000000000007000100080020000c0000001a00050000002600260002000b00080000000400050002000000050012000000050000000100060009000100030015000300000000000200000003000000160000001000030000001b00020000000900000009000000090000000000010001000c002600010000000000040000000c001e00000001003600060003000000000001000000060000000000000008000c00000000000100000000000400020007000100020007000d0002000000000000000200050000000800050000000000030006000000000008000100050001000300030010000b00070000000f00110000001800000000000f000200070001000000000000000c001800000017000000010000002600030000001b000000080003000300000000000200060000000b001b000900000003000000000001000100010005000000060000000400030000000000000000000000090009000000020007000e00230003000100000000000f000000080022000e001000070003000c00190001000a000200000003001800010016000a00000002000800000023000000000006000200000004000d001b000000040038000000000011000e00000000000000090000002100130002001800040001001000000002000000060014000a000000000004000e000000000005000400000020001d0001000000090000000100010004000200000001000000000024000100000009000800000001000a00010000000400000013000500000001000000010000000000020004000000000005000100090002000500000000000000000000000a000000000010000100040000000000010004000000010002000400030000000400140007000a000200060000000200010008000700000000000000140001001000000000000500010006000500030000000900020004000200000000000c0019000000000000000100000000000f0008000d0000000300010000000900140017000000000000000000030001000000050015000100190001000100010001000300000006000300000011000500000004000c00030000000700000000000300040003000b000000000006000800030001000000000001000d00030000000700000001000000000000000900010000000200010009000a000800010007000300000003000000000004000000040001000b000000130006000700000000000800070007000000030000000200030000000100010001001b0003000200090002000100020000000400010000000600000000000100050000000f0001000600080004000000000003000b000200050001000200130013000000090002000000000000000000000000000000000004000200210000000600030001000100050003000000100022000b0000000800000000000300040001001a00020000000000000002000100000000000200000000001200010000000200000000000100000002002100000002000d0001000300050001000c0010000000240000000000060006001b0001000d0000000100000001000000000007000200000005002400060001000e0000000b000e000700000000000000030000000000020018000300030001000000000004000400000001000000140006000b0000000200010002000600060000000600000000000100020002000100020000000100080001000c0000000700020003000100000006000100070011000300000001000a00020002000800060008000000000004000800010007000200020006000000060000000000070001000e0002000200320007000b00040004000000060000000800000000000000090002001b0000000000000001000c000200010002000f0000000000000003000c0005000000000000000b0000000200010003000000010006000a000100000008000000040001000000010000000e00020001000100010007000100030001000200010003000200000011000300020003000000000003000400000000000100200000000000010000000000070002000000120000000a0001000200000000000000000002000000000004000f00000007000400020012000000010004000200030000000100170001000100050000000100000000000b00000001000000000000000400000000000900000004000000000004000a00000000000600070002000300000000000000000006000b0000000000000000000000010000000c00080001000d000b00020000000000000001000500010000000000020003000300000000000800000001000900110001000c0000000000000004000000000000000100010017000100000005000b0001000400010006001d000000010004000200090002000f001400020001000700010001000700020000000000000000000400130002000100010003000000020002000000030001000000050001000100000001000100020000000000030000000a000600010006000700010000000000020007000400000000000c00020000000a000100000000000a00000006000300010000000d0003000500000002000a0000000b000100060022000000050001000000020000000000120004000200000000000c00000001000000000000000000000000000000000001000400020001000800040006000100000003000a0000000500010000000000030000000600000000000300000004000000000000000e00010001000000060000000800000000000a0001000000040000000400010000000000000000000000010000001700040000000b00030005000400000003000f000600010001000700040003000100030004000100010000000000000002000100000005000000020000000000030001000000050000000d0006000100000000000700000000000a00030002000a00010007000100000001000000050003000000050002000100000002000000010001000400090005000100010006000000090001000a0002000200000000000200020007000900000010001c00040000000000030003000d0001000300000000000c000700010003000700080003000600000003000100010000000100010004000a0005000000010013000200000000000100020001000e0001000c000100010009000000000001000c0000000100000002000400030001000c000c00030000000c000b000000010001000a0001000b00000000001c00000000000000010002000800030000000500000003000300000004000000020006000f000000010004000000000011000b0004000500040000000d0004000400030001000000000002000000000000000a000100130006000000070007000100010004000400000000000300000007000000020001000000020000000200020000000000000003000400050010000000070000000a00110000000000010001000000000000000000000001000b0001000000000000000200020000000a000000030000000700060001000000040002000200000001000200030004000000040000000100000002001000050000000000010000000a0004000000040000000000000006000b000b00050000000000000000000000090000000200040000000500020000000300000000000000020000000100000004000600010004000100000001000700000006000000000002000200000006000500080000000100020001000000040007000000010007000000020002000b0001000200060001000000000000000000020004000000000003000100070000000100010000000100000000000b00000000000000060000000100000004000c000200000001000100020004000e000000000000000000000002000100000004000300180000000100000002000500010002000000010003000400000000000500020000000000010000000000000000000000020003000000010000000000010003000000000000000100010000000000140004000b00120000000000020000000100000000000000010003000b000300000001000200000010000d0001000100070006000100010002000000000001000300020001000300010000000000000008000400020006000900050000001600010004000000030003000400010000000000020000000100000002000d00020000000b0006000a00030000000500000001000000000000000500010000000a0000000200000002000200050001000200000002000200050000000100000000000300000003000200000000000000010001000100000019000000000003000000010000000100050004000100040000000100030004000600010001000400030004000000040005000900000001000900020001000000000000000c00010000000000030002000300020001000000040000000400070003000100000001000100000000000100050006000900000002001b00020000000900000000000600000000000000030000000100060002000100060001000b00030006000000000000000000000000000200000000000200020000000000000000000000030000000300030005000b000000000001000000000002000b0003000200130001000100080003000200050001000000010001000500000001000300040005000000020000000e000100000000000500030005000000010002000000000008000000010002000000090000000000000006000000030003000900070000000800000001000300000003000500040001000200020000000400030000000700050003000100000004000100000003000000080002000400040000000900010004000000060004000000000000000a0001000000010006000000010006000300020002000000010001000300050000000000020004000100000000000100060000000500040004000100010004000100020000000200020005000d000100000002000000000002000000010001000000000001000400000000000700000005000000000000000100040000000900020004000000000001000000030000000a00000003000100050001000000000005000a0001000200000002000400090001000400050000000000010003000900020004000800020000000000030008000000000002000100030002000100000000000000010004000100010000000100000001000000000001000200090001000100050002000000010000000000020000000300000001000200000004000200040002000200000001000a00000001000000000000000000030000000300020005000100020001000200000004000200010000000100000000000100010003000000000000000000000002000000020003000200000000000000050001000000010001000000070001000100030000000300010001000000090002000000010001000700060002000000060000000400000002000700040001000100000000000200010000000400030000000a0000000000020002000100010003000200010001000000030000000000000001000600010003000b000b00000004000100000000000000000005000200000000000100040000000000010000000000050003000200030008000100060001000200000001000400050002000000060001000100000002000100020002000000000004000000010002000000050002000200060001000500030002000500020001000100000004000200000002000000000005000000000000000100000002000000000000001500020000000000010002000700030003000300010001000200060001000700000000000000000004000000030002000000000001000100030001000100000001000100050000000100050004000800020001000000010000000100010000000100000000000000000001000300010001000000000004000300010004000000040000000200020003000000010000000000000001000500000002000400020001000600000001000f000000020005000000020000000300040002000400030005000100010001000700000007000200000000000600000000000200000000000000000003000000030000000100020007000100070003000100000002000200000005000000030000000000020001000100010002000200020000000100040002000100020003000000020002000400020001000200020000000000010000000200000007000100000001000400030003000100050001000000000003000000010006000100000002000d00010000000000040000000f00020000000a0002000100000001000000040002000000030000000200000007000200010000000000030000000400000000000b00000000000a0005000900010000000300010000000c00000000000000000000000100000002000100020000000100030002000000070000000000030000000000060002000000000006000000000004000200010001000000070002000400010005000000000001000200000002000300080001000600020001000100000003000500000002000100010003000000030007000100000001000000000000000300000001000100010001000600050000000500040000000000030001000200000000000200000002000200000002000000040001000000020000000400010001000400020001000000010002000100030000000000010000000b00020000000000030003000500010001000000010002000100000000000000080001000400030000000700010003000100000002000300030001000000010001000100000002000000010001000100040002000500000001000100000001000200000000000000000003000100020001000300010000000500020004000000030000000000010003000700000006000400000001000200020003000500000008000300030002000100070002000100010001000100000008000000010003000000020001000000010002000000000006000700010000000300000000000000010002000000000001000100010000000100040002000000000001000000000000000500020003000100020000000600010000000100000000000000000002000000020003000000020007000100000000000200000000000000000000000100010000000000020000000100000004000200000011000500040000000400000000000200000007000000010000000000010005000100020002000e000000000002000100000001000000030001000200010000000a00010004000000050001000100010002000100010001000000000001000800010001000000010000000000000000000100030001000f000100020001000100000000000200010000000000030000000100000000000100000005000700020002000600000001000000020001000400000002000100030002000200010000000300020004000300010000000100000001000100030000000100000002000600050001000900000003000100000006000000000003000000010000000200020000000300010000000100000000000800010002000100000002000400010002000100050000000100020002000100000001000100020001000000020003000100010003000000010001000000050000000200060001000000040000000100000000000100020000000300000001000100000000000200000002000000010000000000000002000000000001000300020000000000000001000000040000000000010001000000020000000200010001000100000000000000000000000b00040000000100000001000500000001000100000005000100000002000400010001000200010001000100000000000000000000000600000002000300000001000200030000000000030002000400000003000000000001000000030000000d0002000000030001000000000001000100030000000100000004000d000400010006000200030000000300010000000200010002000000010003000100020000000100020000000300010001000000010002000100030002000000000001000100000001000100030004000100020003000000020003000200010001000700020000000100000000000200000002000500010001000000000001000100020000000100030000000100020000000000050000000200000001000000010003000100000000000300050005000000010003000100020000000000030002000000000000000000040000000100060000000100010002000100000001000400010002000100080001000100000000000400000000000400000000000300000002000100070001000000060000000100000000000100000006000300020000000000000000000500010000000300000001000000010001000100010000000000000000000000000004000000010000000300020000000000000003000800070000000000000002000100000000000000000002000000010002000000010000000000010001000200030001000100000002000700040000000000060000000000000000000100000002000100000002000100030001000200000001000400020002000100000002000000000000000100000006000800050001000000080000000600010000000c00030005000000020001000500010001000400030001000100050006000100020007000300020000000000010000000100020001000100010000000100020002000000020003000100010000000100000001000500050002000000000001000200040001000000000001000300080001000600000000000300010001000100010002000100000005000000010000000500010004000100080000000100040000000000020000000300010000000100020002000000020000000000010000000500030001000200030001000c000300000001000000000000000000000003000000010005000300020001000000030002000000e5d501009012010030d40100f3100100a0fc0000c70b020069d701001214010055fe0000e00e010072fd00006e0d0300b2000000060001003b33000075070500aefb0000190a010027d70100d01301006d2400003d0202002c330000360704009ad701004314010081fd00009b0d030007ff0000af0f01006bd7010014140100b12f00000a040100efd40100a6110100933100009b040100ecfb00003d0a030010d40100d3100100772100000f020400fafc0000800c02008eee01004b150100d8fe0000760f0100b8320000200602007ffb0000e8090100f4d501009f120100e03300002f09020055e00100cc140100acff0000541001009a1e0000ea000200f7fd0000840e040093d4010055110100852000005401010048210000b1010100e9d40100a01101003cd70100e5130100a81d0000d2000100bafe0000580f01008ed40100501101006cee01002e15010028d60100d3120100d1d601007a130100302100009d0101006cff000014100100b4d701005d140100a41d0000ce00010061e00100d814010024320000270503002932000036050300ffd70100a614010057d6010002130100e9fe0000870f0100f63200007b06010013fc00009c0a02006ed40100301101007224000047020200bad601006313010005fd0000960c0200d73300001809020017fc0000a40a020070210000010201001cfd0000c40c0200823300004b08020064d701000d14010095ee010052150100242f00007d030100e53200006a06010009d40100cc100100431d00009d00010097d5010042120100812f0000da0301004afc00000a0b020013d70100bc130100a1d701004a14010074ff00001c1001007dff000025100100832400007e020400233300001907030059e00100d014010058d501000312010037fc0000e40a0200642f0000bd03010058fe0000e30e0100ee320000730601006afc0000560b020066d40100281101007e2000004d01010050e00100c7140100edd501009812010097fc0000b00b030091d701003a140100bdd70100661401004d31000058040100aa330000ab0803000cfc00008e0a0200472f0000a0030100303200004b050300c6fd0000640e030014d60100bf12010091320000f205010031fe0000bb0e010006d70100af13010078fe0000020f02005a320000a0050200842f0000dd030100a1fc0000c90b0200bb240000180301009420000062010100f8d40100af110100fefc0000880c020087d4010049110100fdd60100a613010059d501000412010074200000430101001221000087010100d5fc0000310c0200062f00005f030100ba070100c2100100f4a700008b090100bf2400001c0301009cd401005e1101003cd60100e7120100a23200000306010020f20100241601000fd60100ba120100d53200005a060100ecfc0000610c020049fc0000080b020070fe0000f60e0200452f00009e030100b8330000d2080200e202000055000100ba2f000013040100c63200003c06020087ee010045150100b3ff00005b10010071fb0000da0901000bff0000b30f010026fd0000d80c020063fc0000410b0300313100003c0401006fff000017100100b924000016030100b132000012060200a0fd0000f20d03002ed70100d71301004dd60100f81201008ffb0000f80901003ce00100b314010039fd0000fe0c02008bfd0000b90d03009a070100a310010095fb0000fe090100af070100b81001006cf101000a16020093d701003c14010037d40100fa10010082320000e3050100be000000150003007d2c000055030100c8fe0000660f010099fc0000b60b03007d3300003f08020090320000f10501000d2f000066030100bed6010067130100c6d501007112010038ff0000e00f0100a9fd00000d0e030090d601003b1301002dd40100f010010024d50100d6110100f50300006c0001008fd601003a130100afd501005a1201005efd0000320d0300f7fe0000990f0300e83300003f090200ccd40100831101002fd40100f210010010fe0000ad0e01007ed5010029120100b7070100bf10010099d401005b1101000fee0100f314010096fc0000ae0b0200d2d4010089110100e9ff000085100100a5ff00004d10010099320000fa050100c4d501006f1201005cfe0000e70e01007f01000022000100ead7010091140100b0d401006a110100bed5010069120100d93300001e090300e73200006c060100e2d601008b130100adff000055100100aefc0000e30b0200dafc00003b0c02001bfc0000ac0a0200622f0000bb0301000a320000c6040300f90300006d000100c1fd0000550e0300722f0000cb0301006d310000780401002b3200003c05030057210000c901030059d60100041301003c1d0000960001003e330000830704007e2100001d0201001bf10100a915030074ee01003515010058d401001a110100fafb0000670a0300b3fe0000510f01005ffb0000c8090100c92f0000220401005a31000065040100a9d401006411010031fd0000ee0c02003931000044040100b01d0000da000100f3d40100aa110100cffc0000250c020080fb0000e90901006efc00005e0b020068d7010011140100b6020000440001003a33000071070400c9d70100721401003cf10100eb150100a2d601004d130100062000001901010045d401000811010063d701000c140100fad50100a5120100413200007e0503004afe0000d30e02006d320000b9050100c2d601006b1301007dfd00008f0d03007033000020080300bbd60100641301008fd7010038140100e6d401009d11010012ff0000ba0f010005fb00009f0902001bee0100ff14010009d60100b412010079fe0000040f0200f6fb00005b0a030080d701002914010038fd0000fc0c0200ded4010095110100823100008d04010048fe0000d00e01005efe0000e90e01001cee01000015010019330000ee0606003f32000078050300032f00005c03010066d5010011120100f3fc0000700c030081d501002c120100ebd601009413010047e00100be140100013300008b060400a82f0000010401009b240000c202030070ff00001810010019f201001d16010041d4010004110100e9fc00005b0c0200cd3200004d0603000dd70100b613010061ff00000910010096240000b302030016d40100d9100100903300006a08020056d70100ff1301004ae00100c11401006bfc0000580b020050fc0000160b020072d501001d120100ceff000071100100122f00006b03010095ff00003d10010099fb0000020a010046ff0000ee0f0100b7fd0000370e030056210000c601030052ff0000fa0f010041f20100431603000fd40100d210010040d4010003110100f10300006900010078200000470101006cd60100171301003ef10100ed15010024fc0000be0a020096fe0000340f010060d4010022110100c9d60100721301003033000049070300952f0000ee0301001ed70100c71301001ed50100d0110100820701008c10010026fc0000c20a02001efd0000c80c020045210000ae0101007b320000d4050200bcfc0000ff0b020039ff0000e10f01009cfc0000bf0b020062fe0000ed0e01001cd40100df10010091d601003c13010088d401004a1101004fee01001e150100e4d501008f1201003de00100b414010055fd0000170d0300bdfc0000010c020097320000f8050100e0d501008b120100923100009a040100d2320000570601009e2f0000f70301001afd0000c00c0200e63200006b060100afee010065150100d624000033030100f4fe0000920f010072ee010034150100d3d501007e1201000cfd0000a40c02006bd60100161301005aff00000210010057fe0000e20e01006afb0000d30901004cd401000f110100742400004b020300b3fd00002b0e030092fb0000fb0901009820000066010100a9d5010054120100b62400001303010026d60100d112010069ab00009209010030d60100db1201006cfb0000d50901006fd7010018140100553100006004010097fe0000350f0100bb1d0000e5000100bd330000dc0802004cd50100f81101002421000098010100d23300000b090300363200005d05030012f101008e150300371d00009200010032010000180002009e320000ff0501005ad6010005130100f8fd0000880e0400850300005c000300712f0000ca03010061ee0100271501003dfe0000c70e0100533100005e040100ccfc00001f0c020003320000b10403003ffe0000c90e010050d50100fc110100e9d601009213010075d6010020130100f40300006b0001003ed50100ef1101005c31000067040100ac3200000d060100cd2400002a030100e6ff00008310010066310000710401006dee01002f150100d324000030030100eeff00008a10010077d701002014010055ff0000fd0f0100ded501008912010093d501003e1201002bee01000a15010086d401004811010071fd00006b0d0300f9fe00009f0f03006a320000b6050100d633000015090300453300009b070300d902000049000200e4fb0000310a010049310000540401000dd40100d010010035f2010039160100ded6010087130100770600007400020056d60100011301003d1d000097000100f0d601009913010034fe0000be0e01009cd601004713010076fe0000fe0e0200af1d0000d9000100c50100002600030039d70100e2130100e433000037090200edd6010096130100d8d601008113010081fc0000840b0200cdfe00006b0f010026d70100cf13010051e00100c81401002cfc0000ce0a0200f3d601009c1301003bfc0000ec0a0200e7fc0000570c0200b1330000c408020061210000e401020089fe0000230f02003fd60100ea120100c9d501007412010066320000b205010000fd00008c0c02004c1d0000a6000100e3d701008a1401002bd60100d6120100aefd00001c0e03009c330000860802008cfc00009a0b020049d401000c110100e2ff00007e1001002f2200002702020062fc00003e0b03000ad70100b3130100b32f00000c04010039f201003d160100dc32000061060100add701005614010003330000940603008b240000980202006831000073040100f0fd00006a0e03008bff000033100100c1d501006c1201000f320000d604040045f10100f415010018f10100a0150300a0ff0000481001005a330000e607020032d60100dd120100eb330000470903002021000091010200da2400003703010028ff0000d00f0100aafe0000480f0100ad2f000006040100a82000006b010200f33300005f090300e23200006706010018330000ea06040035ee010013150100cdd50100781201005f320000aa05020065330000ff0703004f1d0000a8000100e72400004403010076fc00006e0b0200ddfe00007b0f0100cafc00001b0c02008b2000005a0101004ef101000116030089ee0100471501007d2100001c02010070d7010019140100b8d4010072110100a5fc0000d10b020001d70100aa13010053320000920502008efe00002c0f010056fc0000220b020069d401002b1101009433000075080300e2fb00002f0a01004820000038010200f9fc00007e0c0200b30e00007a000200c72f000020040100763300002f080200840701008e100100add601005613010080ff00002810010098d401005a11010041f10100f0150100a53300009d08020083d601002e130100bafd0000400e03001021000085010100dcd6010085130100bfd4010077110100d6d701007d14010026f201002a1601000dd60100b8120100252000002201020047f201005516030090fe00002e0f01000d330000b90604005afb0000c3090100a72f000000040100bb330000d80802000bd70100b4130100dd0200005100020095d701003e14010088240000920202004cfc00000e0b020099d5010044120100e3fc00004f0c0200bbd50100661201008c2f0000e5030100fed70100a51401002cd40100ef10010078ff0000201001007ad60100251301002cd70100d513010068ff0000101001007a310000850401000fd70100b8130100c932000042060300dd0e00007e000200f1d501009c120100c2d401007a11010024ff0000cc0f01009aff00004210010071d601001c130100cfff0000721001000b2f000064030100cc3200004b060200fad60100a313010016d60100c112010015fb0000a7090200e7fe0000850f010096ff00003e100100d203000061000100d9d5010084120100fd1f00000f010200b1fb00001d0a0200a3fc0000cd0b02007f2f0000d8030100422f00009b03010027fc0000c40a0200a7ee01005e1501002d2100009b010100351d0000900001005ce00100d3140100b2fc0000eb0b02007efc00007e0b02009d2f0000f6030100f93300007109030006d60100b11201005bd50100061201002fd60100da1201009f2f0000f8030100bc1d0000e60001003bff0000e30f0100d83200005d06010068d5010013120100e533000039090200822f0000db030100a7fe0000450f01005dd5010008120100acd4010067110100b22400000703030037fd0000fa0c0200802f0000d9030100dfd401009611010073fb0000dc090100c7fd0000670e0300481d0000a2000100b0fb00001b0a020004d70100ad13010081d40100431101005b2f0000b403010034e00100ab140100b2020000400001001dd40100e0100100cefc0000230c0200a8330000a5080400e4d601008d130100c7d7010070140100b63200001c06020018320000fa040400f9fd00008c0e030007fd00009a0c020069ff000011100100963100009e040100ecd7010093140100defc0000430c020074320000c605020011fd0000ae0c0200b9fd00003d0e0300cdfc0000210c0200a22f0000fb03010021fb0000ae09010001d40100c41001000dee0100f11401008d3300006408020036fd0000f80c020044fc0000fe0a020073d501001e1201007c320000d605050087d70100301401001d2f000076030100cad4010081110100322f00008b03010043d4010006110100c5fe0000630f010037f201003b1601009ffb0000080a01002e3300003f070600cc2400002903010062210000e6010300b6ff00005e1001009bfb0000040a0100ce1f0000fa0003008e31000099040100fa3200007f060100db32000060060100e5fe0000830f010041fe0000cb0e0100dfd501008a120100f63300006809030085d501003012010092fd0000c80d03005b1d0000b40001008a070100931001007a33000039080200c3fd00005b0e03008e0701009710010063ff00000b100100dffe00007d0f01005cfd00002c0d030043e00100ba1401007bd401003d11010018fe0000b50e0100c5d701006e140100dafb0000260a01009dd501004812010058e00100cf1401006a210000f801020098d701004114010037ee01001515010022fc0000ba0a0200713100007c04010066fd00004a0d0300a2ee01005a15010088fb0000f1090100b4d601005d130100e3320000680601008e2000005d010100233200002405030037310000420401002c220000220202008b2f0000e40301001af10100a61503004ffc0000140b02002bd50100dd110100a5fb00000f0a020065d401002711010050ff0000f80f01002bff0000d30f010060fc0000380b03006e320000ba05020078fb0000e1090100802000004f01010037fe0000c10e010043f201004916030001fb000095090200a132000002060100d9d6010082130100072000001a0101001a3200000205040030d70100d91301007afb0000e3090100753100008004010036210000a201010055330000d7070200b53200001a0602003bfe0000c50e01002afd0000e00c0200ad240000f802030071d401003311010072320000c20502007bd701002414010068fd0000500d03005dd601000813010038f10100e715010066e00100dd1401007c2100001b02010086d501003112010085d701002e1401003dd70100e613010053fd0000110d03008c2000005b010100263300002307030017d50100ca1101006fee010031150100b0fc0000e70b020019fe0000b60e030025fb0000b20901003cff0000e40f01007ffc0000800b020080d601002b13010047ff0000ef0f010061330000f4070200e7d501009212010031e00100a8140100910701009a10010025f10100c715030016d70100bf13010011fe0000ae0e0100cbd70100741401006a310000750401006af1010006160200afd70100581401002bfc0000cc0a02001eff0000c60f0100a62f0000ff0301006cfd00005c0d0300162100008a010200273300002607020021fc0000b80a0200301d00008b000100fed60100a71301003cfc0000ee0a0200f7fb00005e0a03006ed601001913010036fe0000c00e010000d60100ab120100c432000038060200eefc0000650c0200a8fe0000460f0100cfd70100761401005de00100d414010082d601002d13010098240000b9020300dcfe00007a0f0100ecd60100951301001e2f0000770301009dd601004813010055fc0000200b020097ee010054150100bfd501006a1201007f2000004e010100b4ee01006a15010038fc0000e60a0200a71d0000d100010005d70100ae13010020d70100c91301005b210000d5010300fcd40100b31101003fe00100b61401009ad5010045120100fdfc0000860c0200810701008b1001009c2f0000f5030100b3d501005e120100a4d701004d140100a7070100b010010090fb0000f909010090d401005211010043d50100f31101006a2f0000c3030100663300000208030014d40100d710010033d60100de1201005f330000f0070200a832000009060100cf33000005090200fcfe0000a70f0200a3d601004e130100baff0000621001008d07010096100100c4d601006d13010044e00100bb140100aad401006511010095d5010040120100313300004c070300f7d701009e140100fbd60100a4130100491d0000a30001009ed401005f11010011d40100d4100100072100007c0101005f2000004001010038e00100af1401004ffb0000b70902009aee0100571501003cd40100ff100100ad3200000e06010068d401002a110100843100008f040100623100006d040100692f0000c203010081fe0000130f020005ee0100e9140100a5fe0000430f0100ba32000024060200f032000075060100d9d7010080140100c0d4010078110100a3fe0000410f01001d3200000e050700c7d6010070130100cf1f0000fd000300bf330000e008020018d70100c1130100900701009910010001d50100b811010010d60100bb120100e03200006506010021fd0000ce0c0200dbd60100841301003df10100ec1501003830000031040100a7330000a208030025fd0000d60c0200e1d7010088140100bdff0000651001008cee01004915010008ee0100ec140100c3330000ea0802001ad50100cd110100bf3200002e0602009e240000cb020300c8330000f708020010f20100131601007921000015020100223200002105030082d701002b1401008907010092100100053300009c0603003afe0000c40e010031d60100dc12010099310000a1040100d4ff0000751001009c2000006a010100473200008a05010088fc0000920b0200b9ff0000611001006cd401002e11010036d60100e11201005f3100006a0401008bfb0000f4090100b50000000a00010019d40100dc100100d5fe0000730f0100cad60100731301009e3300008a08020041d60100ec120100afd601005813010088320000e905010054210000c00103008dfe00002b0f01000bd40100ce10010007d60100b212010026ff0000ce0f010058d70100011401004efc0000120b020064330000fc070300f5d40100ac110100c62f00001f040100dcd50100871201005efc0000320b030036ff0000de0f0100c52400002203010087d5010032120100912000005f01010050d70100f9130100b02400000103030022f10100be150300393300006e07030054e00100cb14010011d50100c5110100353300005f070300aaff00005210010040f201004016030012d60100bd12010053d50100fe110100aad5010055120100aa0000000300010062ff00000a100100de2400003b030100e2d70100891401006afe0000f40e01006f2f0000c803010059fd0000230d0300f101000038000200331d00008e0001008f0701009810010036d50100e81101000a2f00006303010044320000870501006e2400003f02020085fc00008c0b0200f332000078060100f4fb01006116010043d60100ee120100a0fb0000090a0100b11d0000db00010057d4010019110100d7d701007e140100723100007d040100b2330000c6080200aa070100b3100100162f00006f03010031d70100da13010025d70100ce130100f4fb0000550a0300f5330000650903009d33000088080200c4fc00000f0c02001cfc0000ae0a020011ff0000b90f01006dd70100161401001cd60100c712010033d70100dc130100c7d501007212010081ff0000291001002221000096010200aed40100681101001df20100211601007fd401004111010057d7010000140100bc0000000f00030021d60100cc120100e4ff000081100100c9fe0000670f010084ee01004215010098fd0000da0d0300613100006c0401003f210000ac0101009e1d0000c800010019d60100c4120100d6d401008d110100c0d501006b1201007b2f0000d40301000bee0100ef14010046d70100ef130100ebfc00005f0c0200f3fe0000910f0100f4fc0000730c03007afe0000060f02005c210000d8010300fdd40100b4110100a7fb0000120a01003cfd0000040d02006ad401002c11010063210000e901020064ee01002915010092d601003d13010048d60100f312010082d401004411010076d501002112010017d70100c013010030fe0000b90e020032f201003616010077fc0000700b020068d601001313010046210000af010100a80000000100020093fb0000fc090100efd501009a120100fdfb00006e0a0100ab070100b410010063e00100da14010070d401003211010056330000d9070600c5d401007c110100e7fb0000340a0100ea2400004703010019d50100cc11010054d60100ff1201006d2f0000c603010018d50100cb11010039d60100e412010052fd00000e0d03009fd701004814010075d701001e140100713300002308030048e00100bf140100ced701007514010065ff00000d100100a03300008f0803003e310000490401000ad60100b512010091d501003c1201004de00100c4140100c5d50100701201007a320000d2050200681d0000c100010071ff0000191001002ed40100f11001007ad701002314010044fe0000ce0e010032f10100e1150100f6d50100a11201007cd70100251401006fd601001a130100f5d701009c140100d7fc0000350c02008831000093040100a0d7010049140100e5fb0000320a01008dff000035100100a1070100aa1001004ed401001111010028d50100da110100c42f00001d0401002420000021010100fc10000087000100b0fd0000220e0300b4fc0000ef0b02000c330000b50604006b3100007604010011f101008b150300b82f0000110401008533000051080200a91d0000d30001003ad70100e313010093320000f4050100cfd4010086110100d63200005b0601008b330000600802004a310000550401004df10100ff1502009b1e0000ec0002004ad60100f5120100dad701008114010017fb0000ab09020061d701000a1401009720000065010100c01f0000f2000200e333000035090200b3d601005c130100b4d501005f12010017fd0000ba0c02002afc0000ca0a02006ad70100131401008ad601003513010039e00100b0140100e9fb0000360a010007f1010080150200a4070100ad1001006d210000fe01010092200000600101003dff0000e50f0100b3070100bb100100512f0000aa03010059fc0000280b020029d50100db110100373200006005030015320000ee040400652400003102010035d70100de130100b9070100c1100100d3fe0000710f01003c200000320102009b2f0000f4030100662f0000bf03010075fd0000770d030034d60100df120100330e000078000200ba1d0000e40001005afd0000260d030094240000ad0203005d3100006804010009d50100bf11010097d70100401401004f330000c2070300fbd70100a2140100632400002f02010002ff0000aa0f010061fb0000ca090100ec3300004a090300f7d50100a2120100ae330000b708050089fc0000940b020038d70100e113010030e00100a71401002af201002e1601004b2f0000a4030100023300008f0605004d1d0000a7000100d7d401008e1101004dfc0000100b0200e5d401009c11010042d50100f21101003633000062070500b62f00000f040100a12f0000fa0301001ad70100c3130100a4fc0000cf0b020018d60100c3120100c2fc00000b0c0200ac1d0000d6000100b8fc0000f70b02007cfb0000e50901007f3100008a040100e0d7010087140100c6ff00006b100100503100005b04010076320000ca0502008d320000ee050100bc32000028060200330100001a00020045f201004f1603003e210000ab01010066fb0000cf090100892f0000e20301002ef10100dd150200f1d40100a811010091fc0000a40b020053ff0000fb0f0100063300009f0603007324000049020200ae1d0000d8000100acfb0000170a0100b4330000ca08020014320000ea040400c232000034060200ca2400002703010033d50100e5110100f83300006e09030044ff0000ec0f0100f7d40100ae1101008c07010095100100caff00006d10010017fe0000b40e0100e1fb00002e0a010032fc0000da0a020025d60100d0120100400100001e000200abfe0000490f0100d3d601007c130100a8d70100511401005dfb0000c6090100203200001b050300a5240000e0020300b3d401006d110100ad070100b61001009933000080080200362f00008f03010074fc00006a0b0200a5d5010050120100c32f00001c0401006ce00100e3140100d93200005e06010044d50100f4110100213200001e05030012d50100c6110100cefe00006c0f0100f7fc00007a0c020082fb0000eb090100b8d6010061130100943100009c040100e5ff000082100100e83200006d060100af240000fe020300f1fb01005e160100fcfb00006d0a0100b300000007000100c62400002303010049d70100f21301009afd0000e00d0300b5d401006f110100defe00007c0f0100e7d6010090130100482f0000a1030100e3d401009a110100a6ee01005d150100972f0000f0030100a8240000e902030062d501000d12010002210000730101001bd60100c61201007631000081040100601d0000b900010098d6010043130100d9fe0000770f01001fd60100ca1201006aee01002d15010009fd00009e0c020061d501000c120100e1d4010098110100f4d701009b140100682f0000c1030100b3ee01006915010062e00100d9140100be2f000017040100472000003601020023ff0000cb0f010077fe0000000f02005bd7010004140100b9d4010073110100ba330000d6080200822400007a020400b0ff000058100100643100006f040100d12400002e030100db24000038030100bcd5010067120100963300007a08020090d501003b120100dad501008512010054d401001711010024ee01000615010034210000a0010100a5d701004e14010056e00100cd140100f73200007c06010072fe0000fa0e02004ce00100c3140100f0fe00008e0f01000f2f000068030100882f0000e1030100cdd40100841101004bd50100f7110100bad7010063140100bf1f0000f0000200ebff000087100100eed501009912010072ff00001a10010018f201001c1601003432000057050300efd701009614010025d40100e8100100ced601007713010083ee0100411501004fe00100c614010083d401004511010073ff00001b1001001cff0000c40f0100f23300005c0903007b210000180203000420000017010100a4d601004f1301006f320000bc05020057fc0000240b0200f23200007706010046d60100f112010012d40100d51001009a240000bf02030027f10100cd1503000b330000b20603005cfc00002e0b0200462f00009f0301000ad40100cd100100d8240000350301007ed70100271401003afd0000000d0200641d0000bd0001005e310000690401009d310000a50401003bee01001715010026fb0000b3090100fed40100b511010080240000720204006e210000ff0101003be00100b2140100b6d601005f130100bd00000012000300421d00009c000100a1240000d4020300df3300002c090300b5ff00005d10010042e00100b91401009afc0000b90b0300ebd5010096120100bffc0000050c020058fd0000200d030064240000300201003cfe0000c60e010046320000890501000c2a000048030400b4fd00002e0e030096fd0000d40d030007d40100ca100100573200009a0502007a20000049010100d5030000660001006b33000011080300d032000055060100aeee010064150100d5d5010080120100adee0100631501001a2f000073030100e0fe00007e0f0100a32f0000fc030100b2ee010068150100f5fb0000580a030067e00100de140100743100007f040100e0fb00002d0a010051ee01001f1501003fff0000e70f010065310000700401003d320000720503002dd70100d61301009bd7010044140100b6d401007011010054fc00001e0b0200b02f00000904010028320000330503003a1d00009500010013320000e604040065e00100dc140100ffd40100b611010034d70100dd1301008bd70100341401009da6000087090100962f0000ef03010039fc0000e80a02004cf10100fd150200dbfe0000790f010095240000b002030024f10100c4150300dcd701008314010053e00100ca1401009a2f0000f303010061fd00003b0d030002fd0000900c0200abee0100611501009f070100a810010086ee0100441501009bfd0000e30d03000fd50100c31101008efc00009e0b020013d50100c71101004fd50100fb11010073210000070202005a2f0000b30301008cd701003514010067d7010010140100abfd0000130e0300012f00005a0301003ffc0000f40a0200c6330000f0080400c0d601006913010098fb0000010a0100513100005c04010009ee0100ed1401008afd0000b60d03004dff0000f50f010029d70100d2130100b4fe0000520f0100a4fb00000d0a0200b9d6010062130100d0d60100791301008d310000980401000af1010086150200172000001f01020021f10100bb1503001fd40100e210010015d40100d81001009b310000a3040100ddd60100861301007f3300004308040060320000ac050100f6fb0100631601007bfb0000e409010052d70100fb130100502f0000a9030100bffe00005d0f010058d6010003130100fafd00008f0e12006e3300001a08030051ff0000f90f010016fc0000a20a02005d1d0000b6000100b8240000150301005dab00008f0901001bd40100de10010068fb0000d109010003f1010078150200532f0000ac03010052330000cc070200f9d50100a412010094d40100561101002cd50100de110100e624000043030100af2f000008040100c132000032060200b302000041000100c1fe00005f0f010047f10100f6150100840300005a000200ba2400001703010087ff00002f10010069d601001413010035ff0000dd0f0100fbfe0000a50f0200fad70100a1140100501d0000a9000100f2fe0000900f010045320000880501008ad701003314010075fb0000de09010091ee01004e150100e93300004109030039210000a5010100583200009c05020087320000e80501007d31000088040100ae240000fb02030098ff00004010010096d5010041120100b0d601005913010069e00100e01401002cf201003016010042ff0000ea0f0100bbff0000631001001dff0000c50f010003d50100ba110100e1d601008a130100c7fc0000150c020060ff0000081001005dee01002515010015f1010097150300c9d401008011010067d50100121201007ed6010029130100ed3300004d09030068e00100df140100a6fd0000040e0300ca330000fb080200f8d701009f140100ef3300005309030050fd0000080d03008e2400009e020200d4fc00002f0c020098fe0000360f0100a732000008060100a9ff00005110010072210000040203005a1d0000b300010027ff0000cf0f0100ad1d0000d700010066d701000f140100df2400003c030100aefe00004c0f010035fe0000bf0e0100a3d501004e12010050d60100fb1201002ad60100d5120100ddd40100941101005bff00000310010064d401002611010034fc0000de0a0200bcd60100651301001cd70100c5130100282100009901010074fb0000dd090100edfc0000630c02009ca6000086090100742a00004c030300f8fe00009c0f03003ad60100e5120100b5fc0000f10b020035d40100f810010069ee01002c150100362000002d010200bd1f0000ee000200fbd50100a6120100b9d501006412010057fd00001d0d03008b31000096040100f5fd00007c0e04007cfe00000a0f02009bfc0000bc0b030014fd0000b40c02001bd50100ce11010067ee01002a1501008a3300005e08020040ff0000e80f010050fb0000b9090100c7d401007e1101009c070100a510010017ee0100fb14010090f101000c160200f0d501009b120100b332000016060200d5d701007c14010064fe0000ef0e01008efb0000f709010007fc0000840a020058fb0000c10901005cd701000514010068210000f501020045d70100ee1301004eee01001d150100cc2f00002504010081d701002a1401003c31000047040100de1f000003010300bd2f000016040100d4d501007f12010000d50100b711010080fc0000820b0200a33300009708030002d50100b9110100d13200005606010097fd0000d70d030089d401004b110100d6ff000077100100c3fc00000d0c020093240000aa020300c6d601006f1301008d2000005c01010006fb0000a10902009c310000a4040100a11d0000cb0001001bff0000c30f0100e1fe00007f0f010065fc0000470b030014fc00009e0a0200a2fe0000400f010091fb0000fa09010050330000c5070300c8d601007113010077d6010022130100830701008d100100a31d0000cd000100511d0000aa00010061320000ad05010078fc0000720b020063330000f90703003c2f000095030100272f000080030100a332000004060100f5fb010062160100b40200004200010086320000e7050100172f000070030100ccd501007712010030f201003416010003fb000099090300ce2400002b030100302f00008903010060fd0000380d030023f10100c115030032d50100e41101001ef201002216010053330000ce0704009b1d0000c500010004f101007a1502001bf201001f16010052fe0000de0e01003bfd0000020d0200612f0000ba03010000fc0000710a030071ee010033150100f003000068000100e4d701008b1401005dfc0000300b020070d601001b13010033fe0000bd0e01007dd50100281201006bfe0000f50e01003332000054050300212f00007a03010015fc0000a00a02005fd501000a12010064fd0000440d03009ad401005c1101007bfe0000080f020062d701000b140100e0d6010089130100b5fe0000530f01006bd401002d110100b61d0000e0000100413100004c0401009cfe00003a0f010084d40100461101009d320000fe05010030d50100e211010032fd0000f00c02005ffc0000350b03007bee01003b1501000c0f0000800001006fd501001a120100aad6010053130100dc33000025090200e3240000400301002ef2010032160100b7d4010071110100d1d501007c120100a6d701004f1401004e2f0000a7030100aed6010057130100f20300006a00010080320000e10501003e1d000098000100effb0000460a030002f101007615020054fe0000df0e010063320000af0501009bff00004310010084d501002f12010051330000c80704005631000061040100f2fb00004f0a030002fb0000970902007b310000860401004c31000057040100c6010000290003003fd70100e81301004dee01001c150100531d0000ac000100d1330000090902008ad501003512010083fd0000a10d0300782100001302020051d70100fa13010077fd00007d0d030079d401003b1101005d210000db01030087fd0000ad0d03008a310000950401003fd4010002110100cd2f000026040100f0d40100a7110100591d0000b20001005fd601000a130100933300007208030092ee01004f15010070a70000880901000bfd0000a20c02008a2000005901010080fe0000120f0100f3d701009a1401000dfd0000a60c02004ad50100f611010099d601004413010092fe0000300f01004cfe0000d70e020053d60100fe1201004be00100c2140100b8d50100631201005ad401001c1101005b330000e807020089d7010032140100f2a7000089090100a3ee01005b1501007cff000024100100762100000c020300a6ff00004e10010057ff0000ff0f010079ee010039150100aed50100591201006fd4010031110100da0200004b0002004d2f0000a6030100c5fd0000610e0300843300004f080200c02400001d0301007cd5010027120100b0d7010059140100cbd501007612010083d701002c140100e8d401009f1101008ed50100391201000dff0000b50f010044d60100ef120100c424000021030100522f0000ab0301008ed60100391301000dd50100c11101006bfb0000d4090100cb2f00002404010032ff0000da0f0100abff0000531001006c3100007704010070200000410101008dfd0000bf0d030074fe0000fc0e0200312100009e01010064ff00000c1001009b330000840802006ae00100e114010024f201002816010005d40100c810010049ff0000f10f010037ff0000df0f01007520000044010100befe00005c0f0100e8fe0000860f0100f8a700008c090100bed70100671401009d1d0000c7000100b6070100be100100792f0000d203010012f2010015160100dffc0000450c0300a1d501004c120100c9fc0000190c020011ee0100f51401009f3300008c08030083fb0000ec09010031f10100e015010008ff0000b00f01009efe00003c0f010039fe0000c30e010086330000530802006ffd0000650d03008bd5010036120100f3d501009e1201005f1d0000b800010030fc0000d60a0200fa330000740903005bee010024150100782400005702030047d70100f0130100f8fc00007c0c020067d601001213010096d701003f140100112000001e01010044f10100f31501003dfd0000060d020070320000be0502006c320000b8050100c8d50100731201008cd6010037130100fbfd0000a10e0800b6fd0000340e0300952000006301010019320000fe04040099240000bc02030052ee010020150100dc0200004f0002000e21000083010100ced501007912010087d601003213010002d70100ab130100932000006101010015d60100c01201000c2f00006503010085310000900401002ad40100ed1001007b24000060020300eefe00008c0f0100850701008f1001009a2000006801010072fb0000db090100e23300003309020075fc00006c0b0200d22400002f0301005be00100d21401002c2100009a0101007f2400006e0204005ed4010020110100e3fe0000810f0100192f0000720301001e32000015050600052f00005e03010016fb0000a9090200423100004d040100a5070100ae100100012000001401010084fc00008a0b02005cd5010007120100c4d701006d140100a02f0000f903010043f10100f21501008f2f0000e8030100c924000026030100c53200003a0602008f240000a002020084ff00002c100100243300001c070400b7fc0000f50b020041e00100b8140100d92400003603010016fd0000b80c0200513200008e05020092fc0000a60b02008ffe00002d0f0100c4fd00005e0e03001c2f0000750301002bf201002f160100dbd5010086120100412f00009a0301001bfd0000c20c020017320000f604040050f201005b1601002133000011070500402f000099030100ca2f000023040100a6070100af10010089d501003412010036310000410401007dfc00007c0b020087fb0000f00901000efc0000920a020006f101007e150200652f0000be03010056fe0000e10e01009cfb0000050a0100e4fe0000820f010006ee0100ea140100d2d601007b1301005dd401001f11010060d601000b13010016f201001a16010000d40100c310010013fb0000a30902006ffc0000600b0200a7fc0000d50b020013fe0000b00e01004bfe0000d50e02008dd70100361401002eff0000d60f01006b2f0000c4030100e6fb0000330a0100f6d40100ad110100a8070100b11001008b320000ec0501005c1d0000b50001006a24000037020200b9fc0000f90b0200d6fb0000220a0100f73300006b09030008fd00009c0c0200c73200003e06020084d601002f130100a1ee01005915010078fd0000800d030080ee01003e15010025f2010029160100b6ee01006c1501000cee0100f01401005cab00008e0901005cfb0000c50901002e320000450503004bfc00000c0b0200c72400002403010060330000f207020037d70100e0130100d03300000709020090fc0000a20b0200b0ee010066150100a1fd0000f50d0300753300002d080200002f0000590301009afb0000030a01002a32000039050300a93200000a06010072d4010034110100d4d401008b11010021f20100251601007bff000023100100461d0000a0000100b1ff00005910010036d40100f910010098320000f905010043fc0000fc0a020031fc0000d80a020079d60100241301005b3100006604010012d70100bb13010099fe0000370f0100d1fe00006f0f01009a33000082080200a6d4010063110100d5fb0000210a01000a2100007f01010096fb0000ff0901008e2f0000e7030100a9d70100521401005efb0000c7090100930701009c100100562f0000af0301007d2000004c01010027f201002b16010094fc0000aa0b0200d3d401008a11010067fd00004d0d030009ff0000b10f0100a4d501004f1201006de00100e4140100391d00009400010010320000da04040021d70100ca13010091ff0000391001002dd60100d8120100c0d701006914010013f201001616020030f10100df150100d5d401008c110100b21d0000dc000100982f0000f10301006ad5010015120100772400005402030026d50100d8110100752400004e020300b8070100c010010042f2010046160300870500006e000200b3d701005c1401007620000045010100f2d601009b130100bcfd0000460e0300a6240000e3020300d433000010090200d8d401008f1101000c320000cc0403007bd501002612010015ee0100f9140100a4240000dd02030049210000b2010100f8fb0000610a0300042f00005d030100cad5010075120100571d0000b000010022ff0000ca0f01008bd6010036130100b5d701005e140100c8d401007f1101008820000057010100403300008907050007d50100bd1101005d320000a6050200fed50100a91201007c3100008704010047ee010019150100b0330000c208020086d701002f14010083fc0000880b020044d4010007110100f132000076060100523100005d04010013ff0000bb0f010038fe0000c20e0100ecd40100a31101007efd0000920d03006f3300001d080300d00300005f000100f1d701009814010051f201005c160100b31d0000dd00010014d50100c8110100fb33000077090300f1fb00004c0a030084fd0000a40d0300f3fb0100601601008a320000eb050100ab240000f2020300e7d701008e1401005c330000ea07020085ff00002d100100bdd4010075110100b5fd0000310e0300f2fd0000700e040083fe0000170f0200dd1f0000000103007bfc0000780b02009a310000a204010075320000c805020020fd0000cc0c020002d40100c510010067ff00000f100100ddd70100841401002efc0000d20a020004ff0000ac0f0100b1ee01006715010017330000e5060500673300000508030052d60100fd1201007e330000410802009c1d0000c60001009e070100a71001005f2f0000b8030100a6fe0000440f0100661d0000bf00010090ee01004d15010023d70100cc1301007e2400006a0204006b210000fa0103004cd70100f51301008dd601003813010011320000de0404007fd701002814010086ff00002e100100182f00007103010047330000a107050072fc0000660b020096d401005811010029f10100d31503000d210000820101000ed40100d1100100e0d401009711010071d501001c1201000a2000001d0101003dd50100ee1101009920000067010100752a00004f03020040fe0000ca0e0100bdfe00005b0f01004bd401000e110100d33200005806010066d6010011130100aafb0000150a01007e2f0000d703010077ff00001f10010025ff0000cd0f010093d601003e130100b6fe0000540f010095d6010040130100d5ff00007610010091d401005311010059330000e40702007fd501002a120100d7ff00007810010032ee01001115010067320000b305010030fd0000ec0c0200edfb0000400a030094fd0000ce0d030078320000ce05020097ff00003f10010086d601003113010008f10100821502002c2f000085030100d1fc0000290c020068240000340201003efe0000c80e010066ff00000e10010014ff0000bc0f01004dd70100f6130100f53200007a060100cd330000010902006924000035020200b4320000180602005bd601000613010013f101009115030055210000c3010300aa1d0000d4000100d6fe0000740f0100bdd501006812010045e00100bc140100f3fd0000740e04008cfb0000f5090100d4d701007b140100b80200004600010065d5010010120100d52f00002e040100afd4010069110100f2fc00006d0c030042f10100f1150100953100009d0401006cd50100171201000efd0000a80c0200b7ee01006d15010054ff0000fc0f01007806000076000200eefb0000430a030040d50100f0110100be330000de080200adfe00004b0f01000cd40100cf10010023fb0000b0090100e6fe0000840f0100a1ff00004910010074d601001f130100361d0000910001000621000079010300313200004e05030059ee010023150100383300006a070400c3d701006c140100b5070100bd100100b00200003e00010036fc0000e20a020034f201003816010073d40100351101003f3100004a0401007bfd0000890d0300543100005f04010031ee010010150100aeff0000561001004b1d0000a50001004bee01001b15010072d601001d1301003b31000046040100aed701005714010035fd0000f60c020000320000a804030019ff0000c10f010038d50100ea11010005f101007c1502003a2f0000930301002dff0000d50f010003ee0100e8140100c52f00001e04010019fc0000a80a020027fb0000b4090100312f00008a030100762a00005103030055d60100001301007ed40100401101006f24000041020200132f00006c03010033f20100371601009fd501004a12010097240000b60203009f2e000057030100dd3200006206010028fd0000dc0c0200bbd7010064140100d2d7010079140100e1320000660601009bd6010046130100ac070100b510010093fc0000a80b0200342f00008d03010090240000a20202006efb0000d70901002df10100db150200a1fb00000a0a01008dd401004f11010028f201002c160100712400004502020059fb0000c2090100c3fe0000610f01009a320000fb050100c9330000f9080200bd1d0000e700010074d401003611010073d601001e130100e1ff00007d100100c3d401007b11010049d60100f4120100d2fe0000700f010005320000b704030037d50100e9110100d9fc0000390c0200403100004b0401009f3000003804020058ff00000010010007d70100b0130100d8d50100831201005e2f0000b70301009c320000fd0501008fee01004c1501001af201001e160100c11f0000f40003001bd70100c413010029ee0100081501005d2f0000b6030100463300009e070300cc330000ff08020076d6010021130100c12f00001a04010004d60100af120100edd40100a411010008d50100be1101005dfd00002f0d0300a7d501005212010033e00100aa140100b80000000b000200daff00007910010073320000c405020021ff0000c90f0100cf2400002c030100323300004f07060013d40100d61001009c240000c502030030ff0000d80f010068ee01002b150100b0d501005b120100d7fb0000230a0100333100003e04010033fd0000f20c020012fc00009a0a02004a330000ac0706008fd401005111010017ff0000bf0f01003f0100001c000200c83200004006020063fe0000ee0e0100f7d60100a0130100e63300003b09020089d6010034130100fcd70100a314010067210000f1010400a21d0000cc000100a8ee01005f1501006931000074040100af00000004000200b6fc0000f30b0200ebfb00003a0a030061fe0000ec0e0100f5d601009e13010077320000cc0502001b3200000605040028fc0000c60a02001cd50100cf11010092ff00003a1001009533000078080200fdd50100a812010022d70100cb130100992f0000f2030100a43300009a080300d603000067000100e8240000450301002f2100009c01010001f2010010160200c0fe00005e0f01007dd6010028130100a133000092080200a6fc0000d30b0200852f0000de0301007a03000058000200cf3200005206030000f201000e160200e4020000570001005ed7010007140100a5d4010062110100d0fe00006e0f010069320000b50501005ed501000912010039d40100fc100100b5d501006012010064fc0000440b0300b0fe00004e0f0100d8fb0000240a01004731000052040100e3fb0000300a010013210000880101005fe00100d614010068330000080803004eff0000f60f0100a9d60100521301006dfb0000d60901002b330000300706004c330000b507050052fb0000bb09010026d40100e91001005fab0000910901005dfe0000e80e0100bfd6010068130100b5d601005e130100a6fb0000110a0100fe1f000011010200d4fb0000200a01006dfc00005c0b020020ff0000c80f0100abd5010056120100f2d501009d1201005c320000a405020042fe0000cc0e0100833300004d08020022fb0000af090100ecd50100971201003ed60100e91201007afc0000760b0200cbd40100821101009ffd0000ef0d03009f310000a704010021d50100d31101007f2100001e020100383200006305030038d40100fb100100a4ff00004c100100aa240000ef020300ba0000000e00010079fc0000740b02005bfe0000e60e010002ee0100e7140100fb32000080060100d802000047000200da3200005f0601008c330000620802002bfd0000e20c020006fd0000980c0200b0320000110601003ee00100b5140100ab2f0000040401000c21000081010100d6fc0000330c020064210000eb01010083ff00002b100100b42400000d030300942f0000ed030100ed320000720601003232000051050300592f0000b203010033ff0000db0f010062320000ae0501000e330000bd0604008924000094020200b52f00000e040100eafe0000880f0100c82f0000210401005e210000de01030005ff0000ad0f01008a2f0000e30301001dee010001150100bbfe0000590f01007fd601002a13010093fe0000310f0100cffe00006d0f0100fbfb00006a0a0300d6d601007f13010052210000b9010400b71d0000e10001004af10100f9150200dcfb0000280a010094d601003f13010058210000cc0103003dd60100e8120100012100007001030037210000a3010100c0fd0000520e0300a3d701004c140100541d0000ad00010097070100a010010068320000b4050100950701009e100100b9330000d408020002fc0000770a03002f330000450704003d210000aa01010083320000e4050100152f00006e03010053d4010016110100b0070100b9100100332f00008c0301007ffe0000100f0200ebd7010092140100ca32000045060300dc0e00007c000200edff000089100100cad701007314010065320000b1050100893300005a080400affc0000e50b020069fd0000530d0300a432000005060100752f0000ce0301007c2c000054030100ae2f0000070401002cff0000d40f0100f1fd00006d0e030013d60100be12010073fc0000680b020095d4010057110100ead40100a1110100f3a700008a090100e5d701008c14010085fe00001b0f0200f2d40100a91101005ed6010009130100c6d701006f1401000321000074010200832000005201010033fc0000dc0a02003d3300007e070500effc0000670c0200b8fe0000560f0100fd320000820601004bd70100f41301007c240000630203009d070100a610010052e00100c914010010ee0100f41401007d2f0000d6030100a4fd0000fe0d03003a320000690503005731000062040100c0330000e2080200f30100003c00020051fc0000180b020015fe0000b20e010004320000b4040300973300007c080200e2d4010099110100ce3200005006020069fb0000d2090100fcd60100a5130100a5320000060601009afe0000380f0100be1d0000e8000100902000005e010100d9fb0000250a010078d7010021140100d7d6010080130100bfd7010068140100a8fd00000a0e0300913300006c0803005bfc00002c0b02006724000033020100f0d70100971401008631000091040100102f000069030100e3d501008e120100e5fc0000530c02005ad7010003140100f9a700008d09010080d501002b1201009bd401005d11010051210000b60103003bf201003f160100adfc0000e10b0200b73200001e060200cfd501007a12010090d7010039140100cdd6010076130100ccff00006f10010007330000a2060600dfd7010086140100072f000060030100d524000032030100a0d501004b12010085fb0000ee09010020d50100d2110100d1d4010088110100612400002d02010052d401001511010070fb0000d90901009fd601004a13010094d501003f12010071320000c005020057e00100ce140100401d00009a00010027ee01000715010034fd0000f40c02009b2000006901010078d501002312010056ff0000fe0f0100212100009301030048310000530401003d2f00009603010024d70100cd13010066210000ee0103001b2f000074030100ead501009512010005fc0000800a02006a3300000e080300a3240000da020300203300000c07050082ee01004015010044330000980703000b2100008001010060d501000b12010030ee01000f150100e524000042030100eaff00008610010036f201003a160100372000002f0103005ae00100d11401000020000013010100e6d701008d1401006dff0000151001003630000030040100f4d601009d13010018ee0100fc14010000ee0100e5140100b4ff00005c100100a8d601005113010062330000f6070300c2fe0000600f0100262f00007f030100fe33000080090300342000002a010300cc01000036000200e133000031090200c0fc0000070c0200de33000029090300bad50100651201007dd401003f11010076ff00001e100100e2fc00004d0c02007a2100001602020029fc0000c80a0200e6d601008f13010039f10100e81501002fff0000d70f0100a2d701004b140100003000002f040100b2d601005b130100a9070100b2100100cbfe0000690f0100092f00006203010016fe0000b30e0100002100006d010300693300000b0803002233000016070300a8fc0000d70b0200e002000053000100c3d601006c13010047210000b00101007ad5010025120100ffd60100a8130100d7d50100821201000fff0000b70f0100593200009e050200451d00009f000100f5fe0000930f030094ee0100511501006cd70100151401006f3100007a040100112f00006a0301001fff0000c70f010012320000e2040400c032000030060200b8ff0000601001000bfc00008c0a020004fc00007d0a030051d60100fc12010015f2010019160100253300002007030053d70100fc130100bf2f0000180401003ed70100e713010006ff0000ae0f010067fb0000d00901004232000081050300c1d601006a13010014fe0000b10e010043d70100ec130100cafe0000680f010043fe0000cd0e0100d1d701007814010063d501000e1201001ff20100231601000dfc0000900a02007c2f0000d503010082ff00002a100100503200008b050300dfd6010088130100c1d701006a140100fbfc0000820c020051fd00000b0d0300593100006404010022d40100e510010004fb00009c0903003a3100004504010038d60100e3120100cb330000fd080200a0070100a910010092d4010054110100602400002c02010010d50100c4110100743300002a08030032e00100a914010029fb0000b609010001ee0100e614010023d60100ce1201001d33000001070300e8ff00008410010031d50100e31101002aee010009150100b92f000012040100e924000046030100f0fc0000690c0200e7d401009e110100d32f00002c04010062fd00003e0d0300ded70100851401001eee010002150100b2fd0000280e0300b42f00000d040100c2ff0000671001002c3200003f0503008cfe0000290f0200efd60100981301009f32000000060100960701009f100100381d0000930001001e330000040704005cd601000713010076fb0000df0901001df10100af15030095fc0000ac0b02002cf10100da15010088d5010033120100ee33000050090300a9240000ec02030009320000c304030002320000ae0403002ad70100d3130100302200002902030021ee01000415010077310000820401005e330000ee070200edfe00008b0f010012330000cd060400923300006f0803001ed40100e1100100a8d50100531201006bff000013100100f1fe00008f0f01009b320000fc0501009dfb0000060a01009ad6010045130100c332000036060200b2320000140602008ffc0000a00b02006c210000fd01010099ee010056150100befd00004c0e0300b72f00001004010060d7010009140100c4330000ec0802008afc0000960b0200f9d70100a01401003cd50100ed110100cb3200004806030029fd0000de0c020028f10100d0150300a01d0000ca0001009ffe00003d0f010071210000020202006bd50100161201004ed60100f912010032d40100f510010015330000d906060064fb0000cd09010084320000e505010057330000df07030035fc0000e00a0200922f0000eb0301006f21000000020100ab330000ae08030034d40100f7100100c1d4010079110100bdfd0000490e0300bdd601006613010034ee010012150100ccd601007513010035f10100e41501009ffc0000c50b020056d5010001120100c7330000f408030000fb00009309020065d701000e14010048d70100f113010084200000530101004ad401000d110100621d0000bb0001008c31000097040100492000003a010200e43200006906010052d50100fd11010046d50100f511010024d60100cf120100b9ee01006f150100dad4010091110100ca01000032000200403200007b050300a8fb0000130a0100dcff00007b100100253200002a05030099d701004214010022d60100cd12010028fb0000b50901003a30000033040100b2ff00005a10010092d501003d1201007b2000004a0101002af10100d61503001ffd0000ca0c020017f201001b16010075d5010020120100f1fc00006b0c02006efd0000620d0300dd2400003a03010005d60100b01201002fee01000e15010027fd0000da0c02002ed50100e011010028d40100eb10010036ee010014150100eb3200007006010078d601002313010014fb0000a509020010ff0000b80f01000ed60100b9120100adfb0000180a010070d501001b120100382f0000910301004a2f0000a30301003aff0000e20f010041d70100ea13010088d70100311401000d320000cf0403004bd60100f6120100b10200003f000100a63300009f08030074d701001d1401002cfd0000e40c0200092100007d01020000f101007215020003fc00007a0a0300611d0000ba000100f2d7010099140100abfb0000160a0100a7ff00004f10010064d601000f130100ddfc0000410c0200bed4010076110100da33000021090200671d0000c0000100602f0000b9030100a0240000d102030056fb0000bf090100bd2400001a030100dffb00002c0a0100b7ff00005f1001007dd701002614010096320000f7050100b7d50100621201003af201003e1601006e310000790401006d330000170803007eff00002610010034d50100e6110100a6320000070601007cee01003c1501002dee01000c1501005bfd0000290d03001a330000f4060600f432000079060100bb320000260602004333000094070400d42f00002d040100d2fc00002b0c0200892100001f020300ae070100b7100100d3ff0000741001002d2f00008603010056fd00001a0d03000521000076010300fffb0000700a0100eafb0000370a03001dd70100c613010042ee010018150100fcfd0000a90e0400d83300001a0904007506000070000200cb010000340002006bfd0000590d03002a3300002d070300a7d701005014010051fb0000ba090100fd3300007d09030057ee010022150100a0000000000001002b2f00008403010004d40100c71001008120000050010100790f000084000300ecfe00008a0f01002ffc0000d40a0200521d0000ab00010041ff0000e90f0100add5010058120100332100009f010100abd701005414010063d401002511010071fe0000f80e0200affb00001a0a010036d70100df1301005e1d0000b7000100e302000056000100a4fe0000420f010035e00100ac14010054330000d20705001a2100008d0101008bfe0000270f02005fee0100261501004fd70100f8130100781d0000c40001003ff10100ee150100c7ff00006c1001004b31000056040100a6d50100511201000afd0000a00c0200762400005102030037e00100ae140100631d0000bc00010062fb0000cb090100f6fd0000800e04007afd0000860d0300a2ff00004a100100c401000023000300f4d40100ab1101008833000057080300a2d501004d120100902f0000e903010081320000e2050100b2d401006c1101001ad60100c5120100c8fc0000170c02001ed60100c9120100b3fc0000ed0b020086fd0000aa0d0300962000006401010014d70100bd130100d7fe0000750f01008cff000034100100772f0000d0030100b4070100bc100100892000005801010007320000bd04030015fd0000b60c0200b7d601006013010034f10100e315010059fe0000e40e0100d4d601007d13010008d70100b1130100f6d701009d1401004ed70100f7130100dbd7010082140100befc0000030c0200862f0000df030100352f00008e03010081fb0000ea09010069d5010014120100893100009404010071fc0000640b02005bd401001d1101004bff0000f30f0100dbfb0000270a01004332000084050300b50200004300010064d501000f120100703100007b040100ddfb0000290a0200ce2f0000270401005a210000d2010300752100000a0202007ffd0000950d030080330000470802004cff0000f40f0100cbd6010074130100e2fe0000800f0100c5ff00006a100100ae3200000f06010069fe0000f30e0100353200005a050300bc24000019030100bb2f000014040100a3ff00004b10010016330000df0606002bf10100d915010011fc0000980a0200442f00009d030100d3fb00001f0a01003bd60100e61201000ffd0000aa0c020046f10100f51501008e320000ef0501009c30000036040200a61d0000d0000100bd3200002a060200a2fb00000b0a010027d50100d9110100c5fc0000110c02002d3300003a0705005afe0000e50e01000cd60100b712010081240000760204004efe0000da0e010045ff0000ed0f0100ef320000740601002d1d0000890001003531000040040100423300009107030017f101009d1503002bd70100d4130100411d00009b0001005dff00000510010003fd0000920c0200ccfe00006a0f01002fd50100e111010023fc0000bc0a020022d50100d4110100f83200007d060100433100004e04010050d4010013110100db0200004d000200cbfc00001d0c0200b124000004030300eed70100951401002dd50100df11010092d701003b140100a92f00000204010006320000ba040300222f00007b030100142f00006d0301009b30000034040200a9ee01006015010074fd0000740d03006a1d0000c30001005ee00100d5140100d6d501008112010004d50100bb1101009efc0000c30b020053210000bd01030021d40100e4100100a5ee01005c150100672f0000c0030100d40300006400020082fc0000860b020098ee0100551501001f2f000078030100d3d701007a14010013330000d10606005e320000a8050200742f0000cd0301006c33000014080300842400008202040066fe0000f10e01008b07010094100100f6fe0000960f030085fd0000a70d03008bd401004d110100872400008e0204004fd60100fa1201007dfe00000c0f02007cfd00008c0d0300c1fc0000090c0200a2d40100611101003e2000003401020098d50100431201003c3200006f0503007a2400005d02030012fd0000b00c020029d40100ec10010013ee0100f71401008dfc00009c0b0200292f000082030100a1d601004c13010010f10100881503002c1d000088000100b8d7010061140100ec320000710601004531000050040100bffd00004f0e03004dd50100f9110100813100008c04010067fc00004d0b030034ff0000dc0f0100e3d601008c13010070fd0000680d030008d60100b312010011d70100ba1301009dff0000451001001fd50100d111010073d701001c14010095fd0000d10d03005fff0000071001007421000009020100c4fe0000620f010023d50100d51101007c2000004b010100aa2f0000030401009ed6010049130100552f0000ae03010082d501002d12010001d60100ac120100aad70100531401005f210000e10102004aff0000f20f010077d401003911010025d50100d7110100a2fd0000f80d030094ff00003c1001008eff0000361001003bd40100fe10010009d70100b21301006dd5010018120100ea3300004409030077ee010038150100acee0100621501004d330000ba070400a5d6010050130100c2330000e608040061d601000c13010001fd00008e0c0200d2d501007d120100082000001b0101008ffd0000c50d0300273200003005030047d401000a1101009d240000c80203004bf10100fb150200fcd50100a71201000ad50100c011010086fb0000ef09010019d70100c21301000f330000c10604006afd0000560d03009dfc0000c10b02003efc0000f20a020064e00100db140100d103000060000100afff00005710010033d40100f6100100fefb00006f0a0100dcd4010093110100f0fb0000490a0300dd33000027090200f5fc0000760c0200e6fc0000550c020054d50100ff110100df1f0000060103008220000051010100affe00004d0f01003dd4010000110100c90100003000020060e00100d714010029ff0000d10f0100b6330000ce08020057fb0000c0090100b2fe0000500f010003d70100ac130100e9d5010094120100e12400003e030100940701009d1001008f320000f005010049e00100c01401008cd50100371201005d330000ec07020039300000320401006dd401002f110100492f0000a203010022f2010026160100fe320000830601009cd7010045140100793100008404010097d6010042130100c80100002e00020038210000a4010100acd601005513010020fc0000b60a02007e320000df05020024fd0000d40c0200df3200006406010053fc00001c0b0200b9fe0000570f01006ed701001714010078330000330803009fff00004710010019ee0100fd14010019f10100a315030080d40100421101001dfc0000b00a0200ff3000003a04020063fb0000cc0901003af10100e91501003c3300007a07040087fc0000900b02005cd401001e110100a9fe0000470f01001ad40100dd100100bbee0100711501004ed50100fa110100c4ff00006910010023d40100e6100100dcfc00003f0c02008fd501003a12010056d40100181101008cfd0000bc0d0300c2d501006d120100bbfd0000430e03007cd6010027130100abd401006611010057d5010002120100e4fc0000510c02002f32000048050300bc330000da0802007efe00000e0f02004fd40100121101004ad70100f313010067310000720401009efb0000070a01006eff00001610010090ff00003810010000d70100a913010031d40100f410010059d401001b1101003b210000a601030079d701002214010046fc0000020b02004b330000b207030041fc0000f80a020079320000d005020094320000f5050100ebd40100a21101001fd70100c8130100282f000081030100e8fb0000350a0100a2240000d702030059d7010002140100bafc0000fb0b02002e1d00008a00010097fb0000000a01008c2400009a020200a51d0000cf000100d33300000e090200f4fd0000780e0400a3070100ac1001008d2f0000e6030100f7fb0100641601007eee01003d15010031ff0000d90f010004fd0000940c02003e320000750503006c2400003b020200e9d701009014010076fd00007a0d0300283300002807020002d60100ad12010060fe0000eb0e0100581d0000b10001008efd0000c20d03000b320000c9040300a42f0000fd030100d8fc0000370c0200d3fc00002d0c020046d401000911010010330000c50604006ad6010015130100ce33000003090200770f000081000300b7d70100601401008afb0000f30901002f2f0000880301007233000026080200792400005a020300c82400002503010085d401004711010076d4010038110100c1330000e40802007a2f0000d3030100f9d60100a21301002bd40100ee10010075d401003711010051fe0000dd0e0100bf1d0000e9000100803100008b04010027d40100ea100100082f0000610301003ae00100b114010081330000490802005eff0000061001005fd7010008140100f20100003a00020039d50100eb110100f9d40100b0110100432f00009c0301001dfd0000c60c02001ffc0000b40a02007d240000660204003eff0000e60f010076d701001f1401009f1d0000c900010016ee0100fa14010056320000980502007aff00002210010029d60100d412010054ee01002115010059ff000001100100cfd6010078130100f6d601009f130100b5330000cc080200b9d7010062140100d2ff00007310010058330000e20702002a2f000083030100e10200005400010068fc0000500b0300293300002a070300e1fc00004b0c020032d70100db13010054fb0000bd090100e4d401009b1101002d22000024020300b1fd0000250e030094d701003d14010088fe0000210f0200c8d701007114010043ff0000eb0f010020d40100e31001003dfc0000f00a020018fd0000bc0c020087fe00001f0f0200d02f000029040100f9fb0000640a03003b3200006c05030085d601003013010087200000560101005dd7010006140100471d0000a100010042fc0000fa0a02003f2f00009803010082fe0000150f0200c5d601006e13010088ee010046150100e93200006e0601004dd401001011010052fc00001a0b02001c3200000a050400ee1f00000c01030048d401000b11010049330000aa070200e2d501008d12010014f2010018160100393200006605030005200000180101001ef10100b215030038f201003c1601003b2f000094030100affd00001f0e0300dad6010083130100ecff0000881001002cd60100d7120100263200002d05030093ff00003b10010014330000d706020079200000480101008fff000037100100733100007e04010083d501002e120100f9fb010066160100b400000008000200c2fd0000580e0300321d00008d00010018d40100db1001007fff00002710010033f10100e2150100a03200000106010063fd0000410d030071d701001a140100ad330000b4080300b70200004500010011f20100141601006bf101000816020077fb0000e0090100fafe0000a20f030061d4010023110100ea3200006f06010055d5010000120100ab1d0000d5000100bcfe00005a0f0100b1d601005a1301007e31000089040100b1d501005c12010095fe0000330f01001f330000080704000cd70100b513010062d601000d1301000ed70100b713010017d40100da10010010fc0000960a02001afc0000aa0a020055d70100fe130100343100003f04010008330000a806040041d50100f11101008707010090100100acfe00004a0f010029f201002d16010046e00100bd140100c32400002003010026200000240103004901000020000200e73300003d0902001c2100008f010100582f0000b1030100ffd50100aa1201009bfe0000390f01002ffd0000ea0c020010d70100b9130100651d0000be0001001efc0000b20a02009dfd0000e90d03007720000046010100cb24000028030100baee0100701501000eff0000b60f01007efb0000e709010037330000670703008d2400009c02020099fd0000dd0d030065fd0000470d0300acd70100551401001cf10100ac150300ff320000840602007aee01003a1501006be00100e214010047fe0000cf0e010037d60100e212010064320000b005010058fc0000260b020003d60100ae12010078d401003a1101000aff0000b20f0100a3fd0000fb0d0300441d00009e000100d02400002d0301005eab000090090100fcfc0000840c0200e0ff00007c1001000aee0100ee1401003d31000048040100983300007e080200d0fc0000270c02006e2f0000c70301002f20000027010100aafc0000db0b02003ad40100fd10010023fd0000d20c0200f32e0000580301005ffe0000ea0e0100932f0000ec03010086200000550101006dfd00005f0d03009f240000ce02030024d40100e7100100f8fb01006516010062d40100241101004dfe0000d90e01003bd50100ec11010049fe0000d10e0200abd6010054130100323100003d040100c2d701006b1401009cfd0000e60d0300c22f00001b040100f4330000620903003c210000a9010100e8d701008f14010088ff0000301001009dd7010046140100c12400001e030100e02400003d030100b8ee01006e15010070fc0000620b02006cfc00005a0b0200ac2f00000504010002f2010012160100f3fb0000520a0300782f0000d103010055320000960502002e2f00008703010024fb0000b1090100af320000100601004a1d0000a4000100252f00007e0301006eee0100301501002dfd0000e60c02006aff000012100100662400003202010079d501002412010031f201003516010061fc00003b0b0300fdd70100a41401005ffd0000350d03001aee0100fe14010048330000a6070400a9fb0000140a01005fd40100211101006dd6010018130100e8fc0000590c02005bfb0000c409010062ee0100281501004631000051040100ac330000b108030049f10100f815010095320000f605010033330000550704000ffc0000940a02008aff00003210010087330000550802007606000072000200cdff00007010010086fe00001d0f0200e8d601009113010040fc0000f60a02000afc00008a0a02008807010091100100c02f000019040100b6d5010061120100a8ff00005010010089320000ea05010079fd0000830d03000033000086060500551d0000ae000100b5240000100303004c2f0000a5030100633100006e0401000220000015010100572f0000b0030100dbfc00003d0c02009fd401006011010088d601003313010018ff0000c00f0100542f0000ad03010085ee010043150100d12f00002a040100c5330000ee08020053fb0000bc090100973100009f040100cf2f00002804010016d50100c911010001320000ab04030082fd00009e0d030016ff0000be0f010050210000b301030009f10100841502009dfe00003b0f01000f210000840101000e320000d204040040e00100b71401000a330000af0603000eee0100f214010045fc0000000b020048ff0000f00f010047fc0000040b020005d50100bc11010069210000f7010100dc24000039030100d8d701007f14010055fb0000be09010084fe0000190f020022ee01000515010072d701001b140100f033000056090300b1d401006b11010099ff0000411001002efd0000e80c020059210000cf0103008dd501003812010027d60100d2120100ebfe0000890f0100343300005907060026f10100ca150300443100004f04010036e00100ad140100b91d0000e3000100ead6010093130100eed6010097130100c6fe0000640f01004cd60100f7120100bbfc0000fd0b02003320000028010200092000001c0101007733000031080200603100006b0401008cd401004e110100b32400000a030300d0d4010087110100cbff00006e100100adfd0000190e03008bee010048150100b1fe00004f0f0100eafc00005d0c0200762f0000cf030100be3200002c060200b1d701005a140100f8d50100a312010073fd0000710d03001aff0000c20f0100a2fc0000cb0b02001b2100008e010100b2d501005d12010060fb0000c90901002eee01000d1501007120000042010100bbd4010074110100fc3300007a090300effe00008d0f0100fbd40100b211010028d70100d1130100fffc00008a0c0200f8d60100a113010035d50100e7110100341d00008f00010065210000ec0102002cee01000b150100ddd501008812010040210000ad0101002d3200004205030096ee010053150100beff000066100100b5ee01006b15010011330000c906040089fd0000b30d0300d73200005c060100912f0000ea03010098070100a11001006b24000039020200c22400001f0301000ed50100c2110100bcff0000641001009efd0000ec0d0300152100008901010015d70100be130100acfc0000df0b020098fc0000b30b030066fc00004a0b03006f2d0000560301009cd501004712010001fc0000740a030049ee01001a150100192100008c010100d72400003403010042d60100ed120100043300009706050098310000a0040100d4fe0000720f01006c2f0000c503010006d40100c91001001dd60100c8120100d53300001209030007ee0100eb140100ced401008511010001f1010074150200920701009b100100be2400001b030100bc2f0000150401004ff101000416020012fe0000af0e0100c7fe0000650f01002dfc0000d00a02008a24000096020200ed1f000009010300d5d601007e130100b22f00000b0401008bfc0000980b02005831000063040100e3ff00007f10020084fb0000ed09010065fb0000ce09010093ee01005015010008320000c0040300fc3200008106010094fe0000320f01004f2f0000a8030100872f0000e003010075ee010036150100572000003c01040017d60100c2120100e1d501008c120100acfd0000160e03000e2f0000670301001d210000900101001c330000fe060300832f0000dc030100c3d501006e12010073330000280802003bf10100ea150100862400008a02040065d6010010130100e0fc0000480c0300d30300006200020003d40100c610010040d60100eb120100ac240000f5020300392f00009203010040f10100ef1501006ffb0000d809010013fd0000b20c0200c6d401007d11010048f2010058160300833100008e0401002ed60100d912010048f10100f715010089fb0000f209010081ee01003f15010025fc0000c00a020023f20100271601004e330000be070400d22f00002b04010054fd0000140d030001ff0000a90f010040d70100e9130100bcd7010065140100b41d0000de0001003ed4010001110100a9fc0000d90b020022fd0000d00c0200232f00007c0301004e310000590401008afe0000250f020003ff0000ab0f010092320000f3050100f6fc0000780c02003f1d000099000100b81d0000e200010068fe0000f20e0100691d0000c20001009b070100a41001001b330000fa060400a7fd0000070e0300dbff00007a1001007cfc00007a0b0200a5fd0000010e0300413300008e070300a7240000e602030016320000f20404003e2f0000970301009cff00004410010020fb0000ad09010016f101009a1503005b320000a2050200e6d50100911201009ed701004714010014ee0100f81401003f33000087070200d4320000590601002df201003116010088fd0000b00d0300d9d4010090110100aafd0000100e0300c6fc0000130c02006ed501001912010039ee0100161501008ad401004c110100d0d7010077140100b90000000d00010020f10100b81503000bd60100b6120100702f0000c9030100fad40100b11101005c2f0000b5030100ab3200000c060100a3fb00000c0a0100022f00005b0301001ff10100b515030069fc0000530b0300d42400003103010091240000a40203006b320000b705010008fc0000860a0200b2d701005b140100ff330000830903008dfb0000f6090100f0fb01005d1601005232000090050200e5d601008e130100acd501005712010094fb0000fd090100632f0000bc030100a2070100ab10010006fc0000820a02005afc00002a0b020075ff00001d100100dafe0000780f010079ff000021100100622400002e02010009fc0000880a020011210000860101009e310000a604010051d4010014110100202f000079030100a0d601004b13010077d5010022120100b6d701005f14010015ff0000bd0f010044d70100ed1301001cf2010020160100f2fb01005f1601003afc0000ea0a02007b3300003b080200b8fd00003a0e0300c3ff000068100100db330000230902000cff0000b40f01002ad50100dc1101009bee010058150100e22400003f0301009eff000046100100de3200006306010074d501001f12010076ee0100371501009ed501004912010044f201004c16030037f10100e6150100a0fe00003e0f01002aff0000d20f01004f3100005a0401007cd401003e11010067d40100291101004fff0000f70f0100a1fe00003f0f0100a9330000a908020099070100a210010012ee0100f614010092240000a702030096d6010041130100abfc0000dd0b020019fd0000be0c0200e8d50100931201001fee01000315010091fe00002f0f0100c70100002c00020081d601002c130100b72400001403010084d701002d14010042d70100eb130100a23300009408030045d60100f012010070ee01003215010011d60100bc1201007c3300003d08020042d401000511010032fe0000bc0e0100311d00008c0001003831000043040100852400008602040014f1010094150300d0d501007b12010035d60100e012010009330000ac06030008d40100cb10010050fe0000dc0e01008dee01004a15010093fd0000cb0d03007bd6010026130100dbd401009211010036f10100e51501002ff2010033160100edd7010094140100f93200007e060100aa3200000b060100af330000bc080600e424000041030100032000001601010080fd0000980d03004ee00100c51401009bd501004612010085320000e60501008ed70100371401007933000036080300b2070100ba100100b7fe0000550f0100702400004302020020d60100cb120100b4d401006e11010054d70100fd13010046f201005216030060210000e30101002fd70100d81301004ffe0000db0e01007ad401003c110100cd1f0000f70003007d320000db0504008e33000066080200b3330000c808020010fd0000ac0c0200372f00009003010087310000920401005cff00000410010035210000a10101003bd70100e4130100783100008304010086fc00008e0b0200a52f0000fe030100f1d601009a130100b51d0000df0001007dfb0000e609010048fc0000060b0200561d0000af00010047d60100f212010065fe0000f00e010018fc0000a60a0200f1330000590903008c320000ed050100b93200002206020079fb0000e2090100eed40100a51101008f3300006808020063d601000e130100b7330000d00802005ad5010005120100b1fc0000e90b02005432000094050200defb00002b0a0100732f0000cc03010097d401005911010089ff000031100100f5d50100a012010020000000200000000803000061000000200000000403000032000000330000002000000001030000bc0300002000000027030000310000006f000000310000004420000034000000310000004420000032000000330000004420000034000000490000004a000000690000006a0000004c000000b70000006c000000b7000000bc0200006e00000073000000440000005a0000000c030000440000007a0000000c030000640000007a0000000c0300004c0000004a0000004c0000006a0000006c0000006a0000004e0000004a0000004e0000006a0000006e0000006a000000440000005a000000440000007a000000640000007a00000068000000660200006a00000072000000790200007b02000081020000770000007900000020000000060300002000000007030000200000000a03000020000000280300002000000003030000200000000b030000630200006c00000073000000780000009502000020000000450300002000000001030000200000000803000001030000b2030000b8030000a5030000a503000001030000a503000008030000c6030000c0030000ba030000c1030000c203000098030000b5030000a3030000650500008205000027060000740600004806000074060000c7060000740600004a060000740600004d0e0000320e0000cd0e0000b20e0000ab0e0000990e0000ab0e0000a10e00000b0f0000b20f0000710f0000800f0000b30f0000710f0000800f0000dc10000041000000c60000004200000044000000450000008e0100004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000220200005000000052000000540000005500000057000000610000005002000051020000021d0000620000006400000065000000590200005b0200005c020000670000006b0000006d0000004b0100006f00000054020000161d0000171d00007000000074000000750000001d1d00006f02000076000000251d0000b2030000b3030000b4030000c6030000c703000069000000720000007500000076000000b2030000b3030000c1030000c6030000c70300003d040000520200006300000055020000f00000005c020000660000005f020000610200006502000068020000690200006a0200007b1d00009d0200006d020000851d00009f020000710200007002000072020000730200007402000075020000780200008202000083020000ab010000890200008a0200001c1d00008b0200008c0200007a000000900200009102000092020000b803000061000000be02000073000000070300002000000013030000200000001303000020000000420300002000000008030000420300002000000013030000000300002000000013030000010300002000000013030000420300002000000014030000000300002000000014030000010300002000000014030000420300002000000008030000000300002000000008030000010300002000000001030000200000001403000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000001020000020000000330300002e0000002e0000002e0000002e0000002e0000002e0000002000000032200000322000003220000032200000322000003520000035200000352000003520000035200000210000002100000020000000050300003f0000003f0000003f00000021000000210000003f000000322000003220000032200000322000002000000030000000690000003400000035000000360000003700000038000000390000002b000000122200003d00000028000000290000006e000000300000003100000032000000330000003400000035000000360000003700000038000000390000002b000000122200003d000000280000002900000061000000650000006f0000007800000059020000680000006b0000006c0000006d0000006e0000007000000073000000740000005200000073000000610000002f00000063000000610000002f0000007300000043000000b000000043000000630000002f0000006f000000630000002f0000007500000090010000b00000004600000067000000480000004800000048000000680000002701000049000000490000004c0000006c0000004e0000004e0000006f0000005000000051000000520000005200000052000000530000004d00000054000000450000004c000000540000004d0000005a0000005a00000042000000430000006500000045000000460000004d0000006f000000d0050000d1050000d2050000d305000069000000460000004100000058000000c0030000b303000093030000a003000011220000440000006400000065000000690000006a00000031000000442000003700000031000000442000003900000031000000442000003100000030000000310000004420000033000000320000004420000033000000310000004420000035000000320000004420000035000000330000004420000035000000340000004420000035000000310000004420000036000000350000004420000036000000310000004420000038000000330000004420000038000000350000004420000038000000370000004420000038000000310000004420000049000000490000004900000049000000490000004900000049000000560000005600000056000000490000005600000049000000490000005600000049000000490000004900000049000000580000005800000058000000490000005800000049000000490000004c00000043000000440000004d00000069000000690000006900000069000000690000006900000069000000760000007600000076000000690000007600000069000000690000007600000069000000690000006900000069000000780000007800000078000000690000007800000069000000690000006c00000063000000640000006d0000003000000044200000330000002b2200002b2200002b2200002b2200002b2200002e2200002e2200002e2200002e2200002e220000310000003200000033000000340000003500000036000000370000003800000039000000310000003000000031000000310000003100000032000000310000003300000031000000340000003100000035000000310000003600000031000000370000003100000038000000310000003900000032000000300000002800000031000000290000002800000032000000290000002800000033000000290000002800000034000000290000002800000035000000290000002800000036000000290000002800000037000000290000002800000038000000290000002800000039000000290000002800000031000000300000002900000028000000310000003100000029000000280000003100000032000000290000002800000031000000330000002900000028000000310000003400000029000000280000003100000035000000290000002800000031000000360000002900000028000000310000003700000029000000280000003100000038000000290000002800000031000000390000002900000028000000320000003000000029000000310000002e000000320000002e000000330000002e000000340000002e000000350000002e000000360000002e000000370000002e000000380000002e000000390000002e00000031000000300000002e00000031000000310000002e00000031000000320000002e00000031000000330000002e00000031000000340000002e00000031000000350000002e00000031000000360000002e00000031000000370000002e00000031000000380000002e00000031000000390000002e00000032000000300000002e000000280000006100000029000000280000006200000029000000280000006300000029000000280000006400000029000000280000006500000029000000280000006600000029000000280000006700000029000000280000006800000029000000280000006900000029000000280000006a00000029000000280000006b00000029000000280000006c00000029000000280000006d00000029000000280000006e00000029000000280000006f00000029000000280000007000000029000000280000007100000029000000280000007200000029000000280000007300000029000000280000007400000029000000280000007500000029000000280000007600000029000000280000007700000029000000280000007800000029000000280000007900000029000000280000007a000000290000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a000000300000002b2200002b2200002b2200002b2200003a0000003a0000003d0000003d0000003d0000003d0000003d0000003d0000006a00000056000000612d0000cd6b00009f9f0000004e0000284e0000364e00003f4e0000594e0000854e00008c4e0000a04e0000ba4e00003f510000655100006b5100008251000096510000ab510000e0510000f5510000005200009b520000f9520000155300001a53000038530000415300005c5300006953000082530000b6530000c8530000e3530000d75600001f570000eb580000025900000a590000155900002759000073590000505b0000805b0000f85b00000f5c0000225c0000385c00006e5c0000715c0000db5d0000e55d0000f15d0000fe5d0000725e00007a5e00007f5e0000f45e0000fe5e00000b5f0000135f0000505f0000615f0000735f0000c35f000008620000366200004b6200002f650000346500008765000097650000a4650000b9650000e0650000e5650000f06600000867000028670000206b0000626b0000796b0000b36b0000cb6b0000d46b0000db6b00000f6c0000146c0000346c00006b7000002a720000367200003b7200003f72000047720000597200005b720000ac7200008473000089730000dc740000e6740000187500001f75000028750000307500008b75000092750000767600007d760000ae760000bf760000ee760000db770000e2770000f37700003a790000b8790000be790000747a0000cb7a0000f97a0000737c0000f87c0000367f0000517f00008a7f0000bd7f0000018000000c80000012800000338000007f80000089800000e3810000ea810000f3810000fc8100000c8200001b8200001f8200006e82000072820000788200004d8600006b860000408800004c880000638800007e8900008b890000d2890000008a0000378c0000468c0000558c0000788c00009d8c0000648d0000708d0000b38d0000ab8e0000ca8e00009b8f0000b08f0000b58f00009190000049910000c6910000cc910000d191000077950000809500001c960000b6960000b9960000e8960000519700005e9700006297000069970000cb970000ed970000f397000001980000a8980000db980000df9800009699000099990000ac990000a89a0000d89a0000df9a0000259b00002f9b0000329b00003c9b00005a9b0000e59c0000759e00007f9e0000a59e0000bb9e0000c39e0000cd9e0000d19e0000f99e0000fd9e00000e9f0000139f0000209f00003b9f00004a9f0000529f00008d9f00009c9f0000a09f000020000000123000004153000044530000455300002000000099300000200000009a300000883000008a300000b3300000c83000000011000001110000aa11000002110000ac110000ad110000031100000411000005110000b0110000b1110000b2110000b3110000b4110000b51100001a11000006110000071100000811000021110000091100000a1100000b1100000c1100000d1100000e1100000f1100001011000011110000121100006111000062110000631100006411000065110000661100006711000068110000691100006a1100006b1100006c1100006d1100006e1100006f110000701100007111000072110000731100007411000075110000601100001411000015110000c7110000c8110000cc110000ce110000d3110000d7110000d91100001c110000dd110000df1100001d1100001e11000020110000221100002311000027110000291100002b1100002c1100002d1100002e1100002f110000321100003611000040110000471100004c110000f1110000f21100005711000058110000591100008411000085110000881100009111000092110000941100009e110000a1110000004e00008c4e0000094e0000db5600000a4e00002d4e00000b4e000032750000594e0000194e0000014e00002959000030570000ba4e0000280000000011000029000000280000000211000029000000280000000311000029000000280000000511000029000000280000000611000029000000280000000711000029000000280000000911000029000000280000000b11000029000000280000000c11000029000000280000000e11000029000000280000000f1100002900000028000000101100002900000028000000111100002900000028000000121100002900000028000000001100006111000029000000280000000211000061110000290000002800000003110000611100002900000028000000051100006111000029000000280000000611000061110000290000002800000007110000611100002900000028000000091100006111000029000000280000000b1100006111000029000000280000000c1100006111000029000000280000000e1100006111000029000000280000000f1100006111000029000000280000001011000061110000290000002800000011110000611100002900000028000000121100006111000029000000280000000c1100006e11000029000000280000000b110000691100000c11000065110000ab11000029000000280000000b11000069110000121100006e1100002900000028000000004e000029000000280000008c4e00002900000028000000094e00002900000028000000db5600002900000028000000944e000029000000280000006d5100002900000028000000034e000029000000280000006b51000029000000280000005d4e000029000000280000004153000029000000280000000867000029000000280000006b7000002900000028000000346c00002900000028000000286700002900000028000000d191000029000000280000001f5700002900000028000000e565000029000000280000002a68000029000000280000000967000029000000280000003e79000029000000280000000d5400002900000028000000797200002900000028000000a18c000029000000280000005d7900002900000028000000b45200002900000028000000e34e000029000000280000007c5400002900000028000000665b00002900000028000000e37600002900000028000000014f00002900000028000000c78c000029000000280000005453000029000000280000006d7900002900000028000000114f00002900000028000000ea8100002900000028000000f3810000290000004f5500007c5e0000876500008f7b0000500000005400000045000000320000003100000032000000320000003200000033000000320000003400000032000000350000003200000036000000320000003700000032000000380000003200000039000000330000003000000033000000310000003300000032000000330000003300000033000000340000003300000035000000001100000211000003110000051100000611000007110000091100000b1100000c1100000e1100000f11000010110000111100001211000000110000611100000211000061110000031100006111000005110000611100000611000061110000071100006111000009110000611100000b110000611100000c110000611100000e110000611100000f110000611100001011000061110000111100006111000012110000611100000e11000061110000b711000000110000691100000c1100006e1100000b110000741100000b1100006e110000004e00008c4e0000094e0000db560000944e00006d510000034e00006b5100005d4e000041530000086700006b700000346c000028670000d19100001f570000e56500002a680000096700003e7900000d54000079720000a18c00005d790000b4520000d87900003775000073590000699000002a51000070530000e86c000005980000114f000099510000636b00000a4e00002d4e00000b4e0000e65d0000f35300003b530000975b0000665b0000e3760000014f0000c78c0000545300001c590000330000003600000033000000370000003300000038000000330000003900000034000000300000003400000031000000340000003200000034000000330000003400000034000000340000003500000034000000360000003400000037000000340000003800000034000000390000003500000030000000310000000867000032000000086700003300000008670000340000000867000035000000086700003600000008670000370000000867000038000000086700003900000008670000310000003000000008670000310000003100000008670000310000003200000008670000480000006700000065000000720000006700000065000000560000004c0000005400000044000000a2300000a4300000a6300000a8300000aa300000ab300000ad300000af300000b1300000b3300000b5300000b7300000b9300000bb300000bd300000bf300000c1300000c4300000c6300000c8300000ca300000cb300000cc300000cd300000ce300000cf300000d2300000d5300000d8300000db300000de300000df300000e0300000e1300000e2300000e4300000e6300000e8300000e9300000ea300000eb300000ec300000ed300000ef300000f0300000f1300000f2300000e44e00008c540000a2300000cf3000009a300000fc300000c8300000a2300000eb300000d5300000a1300000a2300000f3300000d83000009a300000a2300000a2300000fc300000eb300000a4300000cb300000f3300000af30000099300000a4300000f3300000c1300000a6300000a9300000f3300000a8300000b9300000af300000fc300000c830000099300000a8300000fc300000ab300000fc300000aa300000f3300000b9300000aa300000fc300000e0300000ab300000a4300000ea300000ab300000e9300000c3300000c8300000ab300000ed300000ea300000fc300000ab30000099300000ed300000f3300000ab30000099300000f3300000de300000ad30000099300000ab30000099300000ad30000099300000cb300000fc300000ad300000e5300000ea300000fc300000ad30000099300000eb300000bf30000099300000fc300000ad300000ed300000ad300000ed300000af30000099300000e9300000e0300000ad300000ed300000e1300000fc300000c8300000eb300000ad300000ed300000ef300000c3300000c8300000af30000099300000e9300000e0300000af30000099300000e9300000e0300000c8300000f3300000af300000eb300000bb30000099300000a4300000ed300000af300000ed300000fc300000cd300000b1300000fc300000b9300000b3300000eb300000ca300000b3300000fc300000db3000009a300000b5300000a4300000af300000eb300000b5300000f3300000c1300000fc300000e0300000b7300000ea300000f3300000af30000099300000bb300000f3300000c1300000bb300000f3300000c8300000bf30000099300000fc300000b9300000c630000099300000b7300000c830000099300000eb300000c8300000f3300000ca300000ce300000ce300000c3300000c8300000cf300000a4300000c4300000cf3000009a300000fc300000bb300000f3300000c8300000cf3000009a300000fc300000c4300000cf30000099300000fc300000ec300000eb300000d23000009a300000a2300000b9300000c8300000eb300000d23000009a300000af300000eb300000d23000009a300000b3300000d230000099300000eb300000d5300000a1300000e9300000c3300000c830000099300000d5300000a3300000fc300000c8300000d530000099300000c3300000b7300000a7300000eb300000d5300000e9300000f3300000d8300000af300000bf300000fc300000eb300000d83000009a300000bd300000d83000009a300000cb300000d2300000d8300000eb300000c4300000d83000009a300000f3300000b9300000d83000009a300000fc300000b730000099300000d830000099300000fc300000bf300000db3000009a300000a4300000f3300000c8300000db30000099300000eb300000c8300000db300000f3300000db3000009a300000f3300000c830000099300000db300000fc300000eb300000db300000fc300000f3300000de300000a4300000af300000ed300000de300000a4300000eb300000de300000c3300000cf300000de300000eb300000af300000de300000f3300000b7300000e7300000f3300000df300000af300000ed300000f3300000df300000ea300000df300000ea300000cf30000099300000fc300000eb300000e1300000ab30000099300000e1300000ab30000099300000c8300000f3300000e1300000fc300000c8300000eb300000e4300000fc300000c830000099300000e4300000fc300000eb300000e6300000a2300000f3300000ea300000c3300000c8300000eb300000ea300000e9300000eb300000d23000009a300000fc300000eb300000fc300000d530000099300000eb300000ec300000e0300000ec300000f3300000c8300000b130000099300000f3300000ef300000c3300000c830000030000000b970000031000000b970000032000000b970000033000000b970000034000000b970000035000000b970000036000000b970000037000000b970000038000000b970000039000000b97000003100000030000000b97000003100000031000000b97000003100000032000000b97000003100000033000000b97000003100000034000000b97000003100000035000000b97000003100000036000000b97000003100000037000000b97000003100000038000000b97000003100000039000000b97000003200000030000000b97000003200000031000000b97000003200000032000000b97000003200000033000000b97000003200000034000000b9700000680000005000000061000000640000006100000041000000550000006200000061000000720000006f000000560000007000000063000000640000006d000000640000006d00000032000000640000006d000000330000004900000055000000735e0000106200002d6600008c54000027590000636b00000e660000bb6c00002a6800000f5f00001a4f00003e79000070000000410000006e00000041000000bc030000410000006d000000410000006b000000410000004b000000420000004d00000042000000470000004200000063000000610000006c0000006b00000063000000610000006c00000070000000460000006e00000046000000bc03000046000000bc030000670000006d000000670000006b00000067000000480000007a0000006b000000480000007a0000004d000000480000007a00000047000000480000007a00000054000000480000007a000000bc0300006c0000006d0000006c000000640000006c0000006b0000006c000000660000006d0000006e0000006d000000bc0300006d0000006d0000006d000000630000006d0000006b0000006d0000006d0000006d00000032000000630000006d000000320000006d000000320000006b0000006d000000320000006d0000006d00000033000000630000006d000000330000006d000000330000006b0000006d000000330000006d00000015220000730000006d00000015220000730000003200000050000000610000006b00000050000000610000004d0000005000000061000000470000005000000061000000720000006100000064000000720000006100000064000000152200007300000072000000610000006400000015220000730000003200000070000000730000006e00000073000000bc030000730000006d0000007300000070000000560000006e00000056000000bc030000560000006d000000560000006b000000560000004d0000005600000070000000570000006e00000057000000bc030000570000006d000000570000006b000000570000004d000000570000006b000000a90300004d000000a9030000610000002e0000006d0000002e00000042000000710000006300000063000000630000006400000043000000152200006b00000067000000430000006f0000002e0000006400000042000000470000007900000068000000610000004800000050000000690000006e0000004b0000004b0000004b0000004d0000006b000000740000006c0000006d0000006c0000006e0000006c0000006f000000670000006c000000780000006d000000620000006d000000690000006c0000006d0000006f0000006c0000005000000048000000700000002e0000006d0000002e00000050000000500000004d000000500000005200000073000000720000005300000076000000570000006200000056000000152200006d00000041000000152200006d00000031000000e565000032000000e565000033000000e565000034000000e565000035000000e565000036000000e565000037000000e565000038000000e565000039000000e56500003100000030000000e56500003100000031000000e56500003100000032000000e56500003100000033000000e56500003100000034000000e56500003100000035000000e56500003100000036000000e56500003100000037000000e56500003100000038000000e56500003100000039000000e56500003200000030000000e56500003200000031000000e56500003200000032000000e56500003200000033000000e56500003200000034000000e56500003200000035000000e56500003200000036000000e56500003200000037000000e56500003200000038000000e56500003200000039000000e56500003300000030000000e56500003300000031000000e565000067000000610000006c0000004a0400004c0400006fa70000430000004600000051000000260100005301000027a7000037ab00006b02000052ab00008d02000066000000660000006600000069000000660000006c00000066000000660000006900000066000000660000006c0000007300000074000000730000007400000074050000760500007405000065050000740500006b0500007e05000076050000740500006d050000e2050000d0050000d3050000d4050000db050000dc050000dd050000e8050000ea0500002b000000d0050000dc05000071060000710600007b0600007b0600007b0600007b0600007e0600007e0600007e0600007e060000800600008006000080060000800600007a0600007a0600007a0600007a0600007f0600007f0600007f0600007f06000079060000790600007906000079060000a4060000a4060000a4060000a4060000a6060000a6060000a6060000a6060000840600008406000084060000840600008306000083060000830600008306000086060000860600008606000086060000870600008706000087060000870600008d0600008d0600008c0600008c0600008e0600008e060000880600008806000098060000980600009106000091060000a9060000a9060000a9060000a9060000af060000af060000af060000af060000b3060000b3060000b3060000b3060000b1060000b1060000b1060000b1060000ba060000ba060000bb060000bb060000bb060000bb060000d506000054060000d506000054060000c1060000c1060000c1060000c1060000be060000be060000be060000be060000d2060000d2060000d206000054060000d206000054060000ad060000ad060000ad060000ad060000c7060000c7060000c6060000c6060000c8060000c8060000c706000074060000cb060000cb060000c5060000c5060000c9060000c9060000d0060000d0060000d0060000d006000049060000490600004a06000054060000270600004a06000054060000270600004a06000054060000d50600004a06000054060000d50600004a06000054060000480600004a06000054060000480600004a06000054060000c70600004a06000054060000c70600004a06000054060000c60600004a06000054060000c60600004a06000054060000c80600004a06000054060000c80600004a06000054060000d00600004a06000054060000d00600004a06000054060000d00600004a06000054060000490600004a06000054060000490600004a0600005406000049060000cc060000cc060000cc060000cc0600004a060000540600002c0600004a060000540600002d0600004a06000054060000450600004a06000054060000490600004a060000540600004a060000280600002c060000280600002d060000280600002e06000028060000450600002806000049060000280600004a0600002a0600002c0600002a0600002d0600002a0600002e0600002a060000450600002a060000490600002a0600004a0600002b0600002c0600002b060000450600002b060000490600002b0600004a0600002c0600002d0600002c060000450600002d0600002c0600002d060000450600002e0600002c0600002e0600002d0600002e06000045060000330600002c060000330600002d060000330600002e0600003306000045060000350600002d0600003506000045060000360600002c060000360600002d060000360600002e0600003606000045060000370600002d06000037060000450600003806000045060000390600002c06000039060000450600003a0600002c0600003a06000045060000410600002c060000410600002d060000410600002e06000041060000450600004106000049060000410600004a060000420600002d06000042060000450600004206000049060000420600004a0600004306000027060000430600002c060000430600002d060000430600002e060000430600004406000043060000450600004306000049060000430600004a060000440600002c060000440600002d060000440600002e06000044060000450600004406000049060000440600004a060000450600002c060000450600002d060000450600002e06000045060000450600004506000049060000450600004a060000460600002c060000460600002d060000460600002e06000046060000450600004606000049060000460600004a060000470600002c06000047060000450600004706000049060000470600004a0600004a0600002c0600004a0600002d0600004a0600002e0600004a060000450600004a060000490600004a0600004a060000300600007006000031060000700600004906000070060000200000004c06000051060000200000004d06000051060000200000004e06000051060000200000004f060000510600002000000050060000510600002000000051060000700600004a06000054060000310600004a06000054060000320600004a06000054060000450600004a06000054060000460600004a06000054060000490600004a060000540600004a06000028060000310600002806000032060000280600004506000028060000460600002806000049060000280600004a0600002a060000310600002a060000320600002a060000450600002a060000460600002a060000490600002a0600004a0600002b060000310600002b060000320600002b060000450600002b060000460600002b060000490600002b0600004a0600004106000049060000410600004a0600004206000049060000420600004a0600004306000027060000430600004406000043060000450600004306000049060000430600004a06000044060000450600004406000049060000440600004a0600004506000027060000450600004506000046060000310600004606000032060000460600004506000046060000460600004606000049060000460600004a06000049060000700600004a060000310600004a060000320600004a060000450600004a060000460600004a060000490600004a0600004a0600004a060000540600002c0600004a060000540600002d0600004a060000540600002e0600004a06000054060000450600004a0600005406000047060000280600002c060000280600002d060000280600002e060000280600004506000028060000470600002a0600002c0600002a0600002d0600002a0600002e0600002a060000450600002a060000470600002b060000450600002c0600002d0600002c060000450600002d0600002c0600002d060000450600002e0600002c0600002e06000045060000330600002c060000330600002d060000330600002e0600003306000045060000350600002d060000350600002e0600003506000045060000360600002c060000360600002d060000360600002e0600003606000045060000370600002d0600003806000045060000390600002c06000039060000450600003a0600002c0600003a06000045060000410600002c060000410600002d060000410600002e0600004106000045060000420600002d0600004206000045060000430600002c060000430600002d060000430600002e06000043060000440600004306000045060000440600002c060000440600002d060000440600002e06000044060000450600004406000047060000450600002c060000450600002d060000450600002e0600004506000045060000460600002c060000460600002d060000460600002e06000046060000450600004606000047060000470600002c060000470600004506000047060000700600004a0600002c0600004a0600002d0600004a0600002e0600004a060000450600004a060000470600004a06000054060000450600004a0600005406000047060000280600004506000028060000470600002a060000450600002a060000470600002b060000450600002b060000470600003306000045060000330600004706000034060000450600003406000047060000430600004406000043060000450600004406000045060000460600004506000046060000470600004a060000450600004a06000047060000400600004e06000051060000400600004f060000510600004006000050060000510600003706000049060000370600004a0600003906000049060000390600004a0600003a060000490600003a0600004a0600003306000049060000330600004a0600003406000049060000340600004a0600002d060000490600002d0600004a0600002c060000490600002c0600004a0600002e060000490600002e0600004a0600003506000049060000350600004a0600003606000049060000360600004a060000340600002c060000340600002d060000340600002e060000340600004506000034060000310600003306000031060000350600003106000036060000310600003706000049060000370600004a0600003906000049060000390600004a0600003a060000490600003a0600004a0600003306000049060000330600004a0600003406000049060000340600004a0600002d060000490600002d0600004a0600002c060000490600002c0600004a0600002e060000490600002e0600004a0600003506000049060000350600004a0600003606000049060000360600004a060000340600002c060000340600002d060000340600002e06000034060000450600003406000031060000330600003106000035060000310600003606000031060000340600002c060000340600002d060000340600002e0600003406000045060000330600004706000034060000470600003706000045060000330600002c060000330600002d060000330600002e060000340600002c060000340600002d060000340600002e06000037060000450600003806000045060000270600004b060000270600004b0600002a0600002c060000450600002a0600002d0600002c0600002a0600002d0600002c0600002a0600002d060000450600002a0600002e060000450600002a060000450600002c0600002a060000450600002d0600002a060000450600002e0600002c060000450600002d0600002c060000450600002d0600002d060000450600004a0600002d0600004506000049060000330600002d0600002c060000330600002c0600002d060000330600002c0600004906000033060000450600002d06000033060000450600002d06000033060000450600002c060000330600004506000045060000330600004506000045060000350600002d0600002d060000350600002d0600002d060000350600004506000045060000340600002d06000045060000340600002d06000045060000340600002c0600004a06000034060000450600002e06000034060000450600002e060000340600004506000045060000340600004506000045060000360600002d06000049060000360600002e06000045060000360600002e0600004506000037060000450600002d06000037060000450600002d06000037060000450600004506000037060000450600004a060000390600002c060000450600003906000045060000450600003906000045060000450600003906000045060000490600003a06000045060000450600003a060000450600004a0600003a0600004506000049060000410600002e06000045060000410600002e0600004506000042060000450600002d060000420600004506000045060000440600002d06000045060000440600002d0600004a060000440600002d06000049060000440600002c0600002c060000440600002c0600002c060000440600002e06000045060000440600002e0600004506000044060000450600002d06000044060000450600002d060000450600002d0600002c060000450600002d06000045060000450600002d0600004a060000450600002c0600002d060000450600002c06000045060000450600002e0600002c060000450600002e06000045060000450600002c0600002e06000047060000450600002c060000470600004506000045060000460600002d06000045060000460600002d06000049060000460600002c06000045060000460600002c06000045060000460600002c0600004906000046060000450600004a0600004606000045060000490600004a06000045060000450600004a0600004506000045060000280600002e0600004a0600002a0600002c0600004a0600002a0600002c060000490600002a0600002e0600004a0600002a0600002e060000490600002a060000450600004a0600002a06000045060000490600002c060000450600004a0600002c0600002d060000490600002c0600004506000049060000330600002e06000049060000350600002d0600004a060000340600002d0600004a060000360600002d0600004a060000440600002c0600004a06000044060000450600004a0600004a0600002d0600004a0600004a0600002c0600004a0600004a060000450600004a06000045060000450600004a06000042060000450600004a060000460600002d0600004a06000042060000450600002d060000440600002d0600004506000039060000450600004a06000043060000450600004a060000460600002c0600002d060000450600002e0600004a060000440600002c06000045060000430600004506000045060000440600002c06000045060000460600002c0600002d0600002c0600002d0600004a0600002d0600002c0600004a060000450600002c0600004a06000041060000450600004a060000280600002d0600004a060000430600004506000045060000390600002c06000045060000350600004506000045060000330600002e0600004a060000460600002c0600004a0600003506000044060000d20600004206000044060000d20600002706000044060000440600004706000027060000430600002806000031060000450600002d060000450600002f060000350600004406000039060000450600003106000033060000480600004406000039060000440600004a060000470600004806000033060000440600004506000035060000440600004906000035060000440600004906000020000000270600004406000044060000470600002000000039060000440600004a0600004706000020000000480600003306000044060000450600002c06000044060000200000002c0600004406000027060000440600004706000031060000cc06000027060000440600002c00000001300000023000003a0000003b000000210000003f00000016300000173000002e0000002e0000002e0000002e0000002e00000014200000132000005f0000005f00000028000000290000007b0000007d000000143000001530000010300000113000000a3000000b30000008300000093000000c3000000d3000000e3000000f3000005b0000005d00000020000000050300002000000005030000200000000503000020000000050300005f0000005f0000005f0000002c000000013000002e0000003b0000003a0000003f000000210000001420000028000000290000007b0000007d000000143000001530000023000000260000002a0000002b0000002d0000003c0000003e0000003d0000005c000000240000002500000040000000200000004b060000400600004b060000200000004c060000200000004d060000200000004e060000400600004e060000200000004f060000400600004f06000020000000500600004006000050060000200000005106000040060000510600002000000052060000400600005206000021060000270600005306000027060000530600002706000054060000270600005406000048060000540600004806000054060000270600005506000027060000550600004a060000540600004a060000540600004a060000540600004a0600005406000027060000270600002806000028060000280600002806000029060000290600002a0600002a0600002a0600002a0600002b0600002b0600002b0600002b0600002c0600002c0600002c0600002c0600002d0600002d0600002d0600002d0600002e0600002e0600002e0600002e0600002f0600002f060000300600003006000031060000310600003206000032060000330600003306000033060000330600003406000034060000340600003406000035060000350600003506000035060000360600003606000036060000360600003706000037060000370600003706000038060000380600003806000038060000390600003906000039060000390600003a0600003a0600003a0600003a06000041060000410600004106000041060000420600004206000042060000420600004306000043060000430600004306000044060000440600004406000044060000450600004506000045060000450600004606000046060000460600004606000047060000470600004706000047060000480600004806000049060000490600004a0600004a0600004a0600004a060000440600002706000053060000440600002706000053060000440600002706000054060000440600002706000054060000440600002706000055060000440600002706000055060000440600002706000044060000270600002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b0000007c0000007d0000007e0000008529000086290000023000000c3000000d30000001300000fb300000f2300000a1300000a3300000a5300000a7300000a9300000e3300000e5300000e7300000c3300000fc300000a2300000a4300000a6300000a8300000aa300000ab300000ad300000af300000b1300000b3300000b5300000b7300000b9300000bb300000bd300000bf300000c1300000c4300000c6300000c8300000ca300000cb300000cc300000cd300000ce300000cf300000d2300000d5300000d8300000db300000de300000df300000e0300000e1300000e2300000e4300000e6300000e8300000e9300000ea300000eb300000ec300000ed300000ef300000f3300000993000009a300000601100000011000001110000aa11000002110000ac110000ad110000031100000411000005110000b0110000b1110000b2110000b3110000b4110000b51100001a11000006110000071100000811000021110000091100000a1100000b1100000c1100000d1100000e1100000f1100001011000011110000121100006111000062110000631100006411000065110000661100006711000068110000691100006a1100006b1100006c1100006d1100006e1100006f110000701100007111000072110000731100007411000075110000a2000000a3000000ac0000002000000004030000a6000000a5000000a92000000225000090210000912100009221000093210000a0250000cb250000d0020000d1020000e60000009902000053020000a302000066ab0000a5020000a40200005602000057020000911d0000580200005e020000a90200006402000062020000600200009b020000270100009c0200006702000084020000aa020000ab0200006c02000004df01008ea700006e02000005df01008e02000006df0100f80000007602000077020000710000007a02000008df01007d0200007e02000080020000a8020000a602000067ab0000a702000088020000712c00008f020000a1020000a202000098020000c0010000c1010000c20100000adf01001edf01004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a00000061000000620000006300000064000000650000006600000067000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a000000410000004300000044000000470000004a0000004b0000004e0000004f0000005000000051000000530000005400000055000000560000005700000058000000590000005a000000610000006200000063000000640000006600000068000000690000006a0000006b0000006c0000006d0000006e000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000440000004500000046000000470000004a0000004b0000004c0000004d0000004e0000004f0000005000000051000000530000005400000055000000560000005700000058000000590000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a000000410000004200000044000000450000004600000047000000490000004a0000004b0000004c0000004d0000004f000000530000005400000055000000560000005700000058000000590000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a00000031010000370200009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c00300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c00300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c00300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c00300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c0030000dc030000dd03000030000000310000003200000033000000340000003500000036000000370000003800000039000000300000003100000032000000330000003400000035000000360000003700000038000000390000003000000031000000320000003300000034000000350000003600000037000000380000003900000030000000310000003200000033000000340000003500000036000000370000003800000039000000300000003100000032000000330000003400000035000000360000003700000038000000390000003004000031040000320400003304000034040000350400003604000037040000380400003a0400003b0400003c0400003e0400003f0400004004000041040000420400004304000044040000450400004604000047040000480400004b0400004d0400004e04000089a60000d90400005604000058040000e9040000af040000cf0400003004000031040000320400003304000034040000350400003604000037040000380400003a0400003b0400003e0400003f040000410400004304000044040000450400004604000047040000480400004a0400004b0400009104000056040000550400005f040000ab04000051a60000b104000027060000280600002c0600002f06000048060000320600002d060000370600004a06000043060000440600004506000046060000330600003906000041060000350600004206000031060000340600002a0600002b0600002e0600003006000036060000380600003a0600006e060000ba060000a10600006f060000280600002c060000470600002d0600004a060000430600004406000045060000460600003306000039060000410600003506000042060000340600002a0600002b0600002e060000360600003a0600002c0600002d0600004a060000440600004606000033060000390600003506000042060000340600002e060000360600003a060000ba0600006f060000280600002c060000470600002d060000370600004a0600004306000045060000460600003306000039060000410600003506000042060000340600002a0600002b0600002e06000036060000380600003a0600006e060000a106000027060000280600002c0600002f0600004706000048060000320600002d060000370600004a060000440600004506000046060000330600003906000041060000350600004206000031060000340600002a0600002b0600002e0600003006000036060000380600003a060000280600002c0600002f06000048060000320600002d060000370600004a060000440600004506000046060000330600003906000041060000350600004206000031060000340600002a0600002b0600002e0600003006000036060000380600003a060000300000002e000000300000002c000000310000002c000000320000002c000000330000002c000000340000002c000000350000002c000000360000002c000000370000002c000000380000002c000000390000002c000000280000004100000029000000280000004200000029000000280000004300000029000000280000004400000029000000280000004500000029000000280000004600000029000000280000004700000029000000280000004800000029000000280000004900000029000000280000004a00000029000000280000004b00000029000000280000004c00000029000000280000004d00000029000000280000004e00000029000000280000004f00000029000000280000005000000029000000280000005100000029000000280000005200000029000000280000005300000029000000280000005400000029000000280000005500000029000000280000005600000029000000280000005700000029000000280000005800000029000000280000005900000029000000280000005a0000002900000014300000530000001530000043000000520000004300000044000000570000005a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a00000048000000560000004d000000560000005300000044000000530000005300000050000000500000005600000057000000430000004d000000430000004d000000440000004d00000052000000440000004a0000007b3000004b300000b3300000b3300000b53000004b620000575b0000cc530000c6300000993000008c4e00001a590000e389000029590000a44e00002066000021710000996500004d5200008c5f00008d510000b06500001d520000427d00001f750000a98c0000f058000039540000146f00009562000055630000004e0000094e00004a900000e65d00002d4e0000f353000007630000708d000053620000817900007a7a000008540000806e000009670000086700003375000072520000b65500004d910000143000002c6700001530000014300000094e000015300000143000008c4e00001530000014300000895b00001530000014300000b97000001530000014300000536200001530000014300000d77600001530000014300000dd52000015300000143000005765000015300000975f0000ef53000030000000310000003200000033000000340000003500000036000000370000003800000039000000981014006d000000420000004a000000981014006d00000042000000380000000041ccffd3000bb0034100000000000000000000000000000000000000000000000000000065000000000000004c020000000000000000000000000000000000000000000000000000010000001cba12002a0000008f02000000000000000000000000000000000000000000000000000099020000000000009a020000000000009b020000000000009c020000000000009d020000000000009e020000000000009f02000000000000a002000000000000a102000000000000a202000000000000a302000000000000a402000000000000a502000000000000a602000000000000a702000000000000a802000000000000a902000000000000aa02000000000000ab02000000000000ac02000000000000ad02000000000000ae02000000000000af02000000000000b002000000000000b102000000000000b202000000000000b302000000000000b502000000000000b602000000000000b702000000000000b802000000000000b902000000000000ba02000000000000bb02000000000000bc02000000000000bd02000000000000be02000000000000bf02000000000000c002000000000000c102000000000000c20200000000000000418083d4000b490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500f72756e74696d655f76657273696f6e5863756d756c75732d746573742d70617261636861696e5863756d756c75732d746573742d70617261636861696e01000000020000000100000000010000000100c1010c72756e74696d655f61706973df6acb689907609b05000000d7bdd8a272ca0d650200000004e70521a0d3d2f801000000dd718d5cc53262d40100000037e397fc7c91f5e402000000bc9d89904f5b923f0100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b010000007dc23ff6bf0f15ca01000000ea93e3f16f3d696203000000fbc577b9d747efd601000000a2ddb6a58477bf6301000000ad694c0c2537478a0100000000fb9f15046e616d65001a1963756d756c75735f746573745f72756e74696d652e7761736d01a99f15841800336578745f73746f726167655f70726f6f665f73697a655f73746f726167655f70726f6f665f73697a655f76657273696f6e5f3101236578745f63727970746f5f656432353531395f7665726966795f76657273696f6e5f3102376578745f63727970746f5f736563703235366b315f65636473615f7265636f7665725f636f6d707265737365645f76657273696f6e5f3203256578745f63727970746f5f737232353531395f67656e65726174655f76657273696f6e5f3104236578745f63727970746f5f737232353531395f7665726966795f76657273696f6e5f3205296578745f64656661756c745f6368696c645f73746f726167655f636c6561725f76657273696f6e5f3106306578745f64656661756c745f6368696c645f73746f726167655f636c6561725f7072656669785f76657273696f6e5f32072a6578745f64656661756c745f6368696c645f73746f726167655f6578697374735f76657273696f6e5f3108276578745f64656661756c745f6368696c645f73746f726167655f6765745f76657273696f6e5f31092c6578745f64656661756c745f6368696c645f73746f726167655f6e6578745f6b65795f76657273696f6e5f310a286578745f64656661756c745f6368696c645f73746f726167655f726561645f76657273696f6e5f310b286578745f64656661756c745f6368696c645f73746f726167655f726f6f745f76657273696f6e5f320c276578745f64656661756c745f6368696c645f73746f726167655f7365745f76657273696f6e5f310d306578745f64656661756c745f6368696c645f73746f726167655f73746f726167655f6b696c6c5f76657273696f6e5f330e1c6578745f6d6973635f7072696e745f6865785f76657273696f6e5f310f1d6578745f6d6973635f7072696e745f757466385f76657273696f6e5f3110226578745f6d6973635f72756e74696d655f76657273696f6e5f76657273696f6e5f3111206578745f68617368696e675f626c616b65325f3132385f76657273696f6e5f3112206578745f68617368696e675f626c616b65325f3235365f76657273696f6e5f3113206578745f68617368696e675f6b656363616b5f3235365f76657273696f6e5f31141e6578745f68617368696e675f74776f785f3132385f76657273696f6e5f31151e6578745f68617368696e675f74776f785f3235365f76657273696f6e5f31161d6578745f68617368696e675f74776f785f36345f76657273696f6e5f3117226578745f6f6666636861696e5f696e6465785f636c6561725f76657273696f6e5f3118206578745f6f6666636861696e5f696e6465785f7365745f76657273696f6e5f3119196578745f6c6f6767696e675f6c6f675f76657273696f6e5f311a1f6578745f6c6f6767696e675f6d61785f6c6576656c5f76657273696f6e5f311b1c6578745f73746f726167655f617070656e645f76657273696f6e5f311c1b6578745f73746f726167655f636c6561725f76657273696f6e5f311d226578745f73746f726167655f636c6561725f7072656669785f76657273696f6e5f321e286578745f73746f726167655f636f6d6d69745f7472616e73616374696f6e5f76657273696f6e5f311f1c6578745f73746f726167655f6578697374735f76657273696f6e5f3120196578745f73746f726167655f6765745f76657273696f6e5f31211e6578745f73746f726167655f6e6578745f6b65795f76657273696f6e5f31221a6578745f73746f726167655f726561645f76657273696f6e5f31232a6578745f73746f726167655f726f6c6c6261636b5f7472616e73616374696f6e5f76657273696f6e5f31241a6578745f73746f726167655f726f6f745f76657273696f6e5f3225196578745f73746f726167655f7365745f76657273696f6e5f3126276578745f73746f726167655f73746172745f7472616e73616374696f6e5f76657273696f6e5f31272a6578745f747269655f626c616b65325f3235365f6f7264657265645f726f6f745f76657273696f6e5f32281c6578745f616c6c6f6361746f725f667265655f76657273696f6e5f31291e6578745f616c6c6f6361746f725f6d616c6c6f635f76657273696f6e5f312a7c5f5a4e36395f244c5424636f72652e2e616c6c6f632e2e6c61796f75742e2e4c61796f75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863366262613634393265653837396534452e6c6c766d2e31373035393635313334303832393239383433362b375f5a4e35616c6c6f6335616c6c6f63313868616e646c655f616c6c6f635f6572726f7231376838333166326138623833393766646164452c305f5a4e34636f726533666d743557726974653977726974655f666d7431376836613430353836316362353539303431452d4c5f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e672447542431376835363737633162383437623164376463452e5d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376864633737653830386633366335353863452f5f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f63686172313768383662303535303332343835313332644530635f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e672447542431376835363737633162383437623164376463452e6c6c766d2e353439323137323534323333303738323431695f5a4e35335f244c5424636f72652e2e666d742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831613765663838326461313630313739452e6c6c766d2e353439323137323534323333303738323432365f5a4e35616c6c6f6333666d7436666f726d61743132666f726d61745f696e6e6572313768336561386336306238376162623565324533745f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376864633737653830386633366335353863452e6c6c766d2e353439323137323534323333303738323434765f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f6368617231376838366230353530333234383531333264452e6c6c766d2e3534393231373235343233333037383234354c5f5a4e35616c6c6f63337665633136566563244c54245424432441244754243973706c69745f6f666631336173736572745f6661696c6564313768303164353435623537373939353265344536265f524e76437336393172685462473045655f375f5f5f7275737463395f5f5f72646c5f6f6f6d37525f5a4e35616c6c6f63377261775f766563313763617061636974795f6f766572666c6f7731376839346335656439376361363930386235452e6c6c766d2e313532353533393531313830373831373232383538435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e65313768376635616662656132643963346462334539335f5a4e35616c6c6f63377261775f766563313268616e646c655f6572726f7231376834393138376461316533353232353035453a4c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376866653235643561623135636664333239452e6c6c766d2e31353235353339353131383037383137323238353b5a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376865326630326664653861316262333561453c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376861626438366166373561656437666134453d435f5a4e34636f7265346974657236747261697473386974657261746f72384974657261746f72387472795f666f6c6431376834663234633439303939336161346563453e535f5a4e34636f726535736c69636532395f244c5424696d706c2475323024247535622454247535642424475424313662696e6172795f7365617263685f627931376864363534626131353863616439306533453f3b5f5a4e356269703339384d6e656d6f6e6963313970617273655f696e5f6e6f726d616c697a6564313768666465333966316133626439306466644540325f5a4e356269703339384d6e656d6f6e69633130776f72645f636f756e74313768633662313831623730646632383765304541385f5a4e356269703339384d6e656d6f6e69633136746f5f656e74726f70795f61727261793137683265316561356531386531373532303145424e5f5a4e34395f244c542462697033392e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768393266373565363963613432316665374543395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f7274313768326634383938373935366662613039624544425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f7274313768313763643132663135353631633665384545475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768646134396465336661353635383930624546475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686535646563626630373461346264366645475b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376835383032363766633732343463316364452e6c6c766d2e313333393737333535383633333232353331373248465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c65313768633662666338353365643462343961614549595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376865336530333135636333333766353734454a3e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376865383738666662623331646533363039454b325f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376832633634316162333733333066373738454c435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376865613365633938383535396131363133454d6b5f5a4e36395f244c5424626974636f696e5f6861736865732e2e7368613235362e2e48617368247532302461732475323024626974636f696e5f6861736865732e2e4861736824475424313166726f6d5f656e67696e6531376837303862363530393764343432363433454e705f5a4e38315f244c5424626974636f696e5f6861736865732e2e7368613235362e2e48617368456e67696e65247532302461732475323024626974636f696e5f6861736865732e2e48617368456e67696e652447542435696e70757431376833313232353832666464343734363631454f375f5a4e36626c616b65323134426c616b653262566172436f726538636f6d70726573733137686534303933663230623466316138323845503e5f5a4e3132626c616b6532625f73696d6438706f727461626c653134636f6d7072657373315f6c6f6f70313768366330383961643565396533333438634551325f5a4e3132626c616b6532625f73696d6435537461746536757064617465313768663035306137666130346566306536614552305f5a4e3462733538366465636f646531316465636f64655f696e746f313768306364336334373331363063333532324553775f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d7431376866373732353766623438396632396235452e6c6c766d2e3436343535363834363534343939383336373854625f5a4e36395f244c5424636f72652e2e616c6c6f632e2e6c61796f75742e2e4c61796f75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768633662626136343932656538373965344555325f5a4e3562797465733562797465733542797465733873706c69745f746f3137683134356335663036343737653431313145564a5f5a4e35627974657335627974657331327374617469635f636c6f6e6531376835313365353436303035636339343065452e6c6c766d2e3436343535363834363534343939383336373857325f5a4e35627974657335627974657331337374617469635f746f5f766563313768663335313337356137373262663336654558325f5a4e35627974657335627974657331337374617469635f746f5f6d75743137683361353237366666656530663665333345594e5f5a4e35627974657335627974657331367374617469635f69735f756e6971756531376831613736623931326663326336316533452e6c6c766d2e343634353536383436353434393938333637385a495f5a4e35627974657335627974657331317374617469635f64726f7031376837323563303337393662303838353933452e6c6c766d2e343634353536383436353434393938333637385b3a5f5a4e356279746573356279746573323170726f6d6f7461626c655f6576656e5f636c6f6e6531376831343966616432636436613038623539455c365f5a4e35627974657335627974657331377368616c6c6f775f636c6f6e655f76656331376832613761313365623034626466366135455d3b5f5a4e356279746573356279746573323270726f6d6f7461626c655f6576656e5f746f5f76656331376839336531616137643162616566313066455e375f5a4e35627974657335627974657331387368617265645f746f5f7665635f696d706c31376861333932346636383930306635396565455f3b5f5a4e356279746573356279746573323270726f6d6f7461626c655f6576656e5f746f5f6d7574313768326664306266353735333235303861624560375f5a4e35627974657335627974657331387368617265645f746f5f6d75745f696d706c313768646338613730313533363535396632634561395f5a4e356279746573356279746573323070726f6d6f7461626c655f6576656e5f64726f70313768623937383765393564666539393437664562395f5a4e356279746573356279746573323070726f6d6f7461626c655f6f64645f636c6f6e653137683535623165303732313861643238326545633a5f5a4e356279746573356279746573323170726f6d6f7461626c655f6f64645f746f5f7665633137683864663832363432656663376134373645643a5f5a4e356279746573356279746573323170726f6d6f7461626c655f6f64645f746f5f6d7574313768646363663130383637323061393635354565385f5a4e356279746573356279746573313970726f6d6f7461626c655f6f64645f64726f70313768643662373866396234333935396265314566395f5a4e356279746573356279746573323070726f6d6f7461626c655f69735f756e697175653137683939656237383961326135306530383145674a5f5a4e35627974657335627974657331327368617265645f636c6f6e6531376865333264393863616133306435616361452e6c6c766d2e34363435353638343635343439393833363738684b5f5a4e35627974657335627974657331337368617265645f746f5f76656331376836366366353337646534353562333663452e6c6c766d2e34363435353638343635343439393833363738694b5f5a4e35627974657335627974657331337368617265645f746f5f6d757431376836336531376533646535323537623062452e6c6c766d2e343634353536383436353434393938333637386a4e5f5a4e35627974657335627974657331367368617265645f69735f756e6971756531376865656636613630666365663764656465452e6c6c766d2e343634353536383436353434393938333637386b495f5a4e35627974657335627974657331317368617265645f64726f7031376866383965643231393033313164303934452e6c6c766d2e343634353536383436353434393938333637386c705f5a4e35627974657333666d7435646562756736375f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f72247532302462797465732e2e666d742e2e42797465735265662447542433666d7431376832633261353631646438376433336331456d235f5a4e3562797465733561626f727431376830663033653439353237353366633434456e4e5f5a4e34636f726533666d74336e756d313470617273655f7536345f696e746f31376833333362383337613430323065613365452e6c6c766d2e31363133333238363639313833383534373130326f5f5f5a4e34636f726533666d74336e756d35335f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f722475323024753132382447542433666d74313768326134363965656665336434633061364570475f5a4e34636f726533666d74336e756d38666d745f7531323831376833363062316561343833306465623364452e6c6c766d2e3136313333323836363931383338353437313032715c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e42696e6172792475323024666f72247532302475382447542433666d743137686465663432313261366535643161313445725e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e4c6f7765724865782475323024666f72247532302475382447542433666d74313768653363383764366131613631646431644573425f5a4e34636f7265336e756d37666c743264656338737472617465677936647261676f6e396d756c5f706f773130313768303535376232303137346264623638314574495f5a4e34636f7265336e756d37666c743264656338737472617465677936647261676f6e3135666f726d61745f73686f7274657374313768326637326531393135333336656465354575465f5a4e34636f7265336e756d37666c743264656338737472617465677936647261676f6e3132666f726d61745f6578616374313768326634633265383066346531383035624576335f5a4e34636f72653373747238636f6e76657274733966726f6d5f75746638313768616566306332336137336330643430664577615f5a4e34636f726533666d74336e756d33696d7035315f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f72247532302475382447542433666d743137683663623038633936353838373034316545785e5f5a4e34636f726533666d74336e756d33696d7032315f244c5424696d706c247532302475313624475424345f666d7431376836323232323539393831326638373633452e6c6c766d2e313337303837323331323336303234303631363079625f5a4e34636f726533666d74336e756d33696d7035325f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f7224753230247533322447542433666d7431376866613538326635646630363233376662457a5e5f5a4e34636f726533666d74336e756d33696d7032315f244c5424696d706c247532302475333224475424345f666d7431376865366637653832656161636265363036452e6c6c766d2e31333730383732333132333630323430363136307b625f5a4e34636f726533666d74336e756d33696d7035325f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f7224753230247536342447542433666d7431376836643431616335316564613633383063457c5e5f5a4e34636f726533666d74336e756d33696d7032315f244c5424696d706c247532302475363424475424345f666d7431376836663233323934346439383832353366452e6c6c766d2e31333730383732333132333630323430363136307d625f5a4e34636f726533666d74336e756d33696d7035325f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f7224753230246936342447542433666d7431376836346638623762303930303362626163457e305f5a4e34636f72653970616e69636b696e673970616e69635f666d7431376836643563396362323536326532653331457f3a5f5a4e34636f72653970616e69636b696e67313870616e69635f6e6f756e77696e645f666d74313768306566386334356433353661623264304580012c5f5a4e34636f72653970616e69636b696e673570616e696331376866366530663132333962313337323065458101365f5a4e34636f72653970616e69636b696e67313470616e69635f6578706c69636974313768646532336266636163376338376338374582013a5f5a4e34636f72653970616e69636b696e67313870616e69635f626f756e64735f636865636b31376834316231343337313063653561613764458301355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c6564313768353563366139393863633236616163354584013b5f5a4e34636f72653970616e69636b696e6731396173736572745f6661696c65645f696e6e657231376833353439613963633262613061646662458501355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c656431376861383432613637313438623035353433458601655f5a4e34636f726535736c69636532395f244c5424696d706c24753230242475356224542475356424244754243135636f70795f66726f6d5f736c69636531376c656e5f6d69736d617463685f6661696c31376835313737353438656466313938343962458701765f5a4e34636f726535736c69636532395f244c5424696d706c24753230242475356224542475356424244754243135636f70795f66726f6d5f736c69636531376c656e5f6d69736d617463685f6661696c38646f5f70616e69633772756e74696d6531376832646166323861386132333762323230458801675f5a4e36385f244c5424636f72652e2e666d742e2e6275696c646572732e2e50616441646170746572247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376862633461366634373735313338366265458901695f5a4e36385f244c5424636f72652e2e666d742e2e6275696c646572732e2e50616441646170746572247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f6368617231376865653536643863663337393434383561458a013c5f5a4e34636f726533666d74386275696c6465727331314465627567537472756374356669656c6431376836363433303730326364616232393037458b01385f5a4e34636f726533666d74386275696c6465727338446562756753657435656e74727931376865666134363361366537623864396435458c014a5f5a4e34636f726533666d743557726974653977726974655f666d7431376863323765643166643465643962633337452e6c6c766d2e31303238363031353136333438303431333632318d014c5f5a4e34636f7265336e756d37666c74326465633873747261746567793567726973753139666f726d61745f73686f72746573745f6f707431376865383438613164613036643334303337458e014c5f5a4e34636f72653970616e69636b696e67313170616e69635f636f6e7374323370616e69635f636f6e73745f6469765f62795f7a65726f31376838306238653931316166346335653032458f01495f5a4e34636f7265336e756d37666c74326465633873747261746567793567726973753136666f726d61745f65786163745f6f707431376866613836623036356438663434343131459001595f5a4e34636f7265336e756d37666c74326465633873747261746567793567726973753136666f726d61745f65786163745f6f70743134706f737369626c795f726f756e6431376838373736303232323163316365663364459101425f5a4e34636f726535736c69636535696e6465783234736c6963655f656e645f696e6465785f6c656e5f6661696c31376864363639353665383839623361386135459201445f5a4e34636f726535736c69636535696e6465783236736c6963655f73746172745f696e6465785f6c656e5f6661696c31376862613138313061663962316435306534459301555f5a4e34636f726535736c69636535696e6465783236736c6963655f73746172745f696e6465785f6c656e5f6661696c38646f5f70616e69633772756e74696d6531376861303633643538316161386132363065459401535f5a4e34636f726535736c69636535696e6465783234736c6963655f656e645f696e6465785f6c656e5f6661696c38646f5f70616e69633772756e74696d6531376837313236616239356539353835636538459501405f5a4e34636f726535736c69636535696e6465783232736c6963655f696e6465785f6f726465725f6661696c31376834356631626665653463373037643936459601515f5a4e34636f726535736c69636535696e6465783232736c6963655f696e6465785f6f726465725f6661696c38646f5f70616e69633772756e74696d65313768353638333366373430323731333634384597014c5f5a4e34636f72653970616e69636b696e67313170616e69635f636f6e7374323370616e69635f636f6e73745f72656d5f62795f7a65726f31376833393237653939383964316639613430459801595f5a4e36305f244c5424636f72652e2e63656c6c2e2e426f72726f774572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768396238633239623139313630333061614599015c5f5a4e36335f244c5424636f72652e2e63656c6c2e2e426f72726f774d75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376832353035663861643663366161623538459a01395f5a4e34636f72653463656c6c323270616e69635f616c72656164795f626f72726f77656431376839666362613635383430366336306264459b01415f5a4e34636f72653463656c6c333070616e69635f616c72656164795f6d757461626c795f626f72726f77656431376830376165366130633863326132323865459c01505f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f7274323270616e69635f6f6e5f6f72645f76696f6c6174696f6e31376833356433323537613834316437336562459d01365f5a4e34636f72653373747235636f756e743134646f5f636f756e745f636861727331376866333163663834316433333566626532459e01505f5a4e34636f726537756e69636f64653132756e69636f64655f6461746131356772617068656d655f657874656e6431316c6f6f6b75705f736c6f7731376834623233376632343336303963383537459f01645f5a4e37315f244c5424636f72652e2e6f70732e2e72616e67652e2e52616e6765244c542449647824475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683136316362373661383537613865383245a001325f5a4e34636f7265366f7074696f6e3133756e777261705f6661696c65643137683736623031336439653437616232656145a101325f5a4e34636f7265366f7074696f6e31336578706563745f6661696c65643137683834326433643465376164626332373845a201665f5a4e37335f244c5424636f72652e2e70616e69632e2e70616e69635f696e666f2e2e50616e6963496e666f247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686566323562636666313538623764653345a301455f5a4e34636f726533666d7435666c6f61743239666c6f61745f746f5f646563696d616c5f636f6d6d6f6e5f65786163743137686233636634303336623061343637383945a401485f5a4e34636f726533666d7435666c6f61743332666c6f61745f746f5f646563696d616c5f636f6d6d6f6e5f73686f72746573743137683533306538656635643363373138663045a501395f5a4e34636f726533737472377061747465726e31315374725365617263686572336e65773137683838366335376563393836656266353645a601605f5a4e34636f726533666d7435666c6f617435325f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f7224753230246636342447542433666d743137683637356566653166376164383066623545a701765f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d7431376832343135306464346365333538333730452e6c6c766d2e3133323634373239373033333934363235333331a80180015f5a4e37335f244c5424636f72652e2e6e756d2e2e6e6f6e7a65726f2e2e4e6f6e5a65726f244c54245424475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376830343738313237333965616634616239452e6c6c766d2e3133323634373239373033333934363235333331a901325f5a4e34636f726536726573756c743133756e777261705f6661696c65643137686531626132333764643131356133313645aa01395f5a4e34636f7265336e756d366269676e756d384269673332783430386d756c5f706f77323137683332393961643766643663363036336645ab01605f5a4e34636f7265336e756d366269676e756d38426967333278343031306d756c5f646967697473396d756c5f696e6e657231376863356234366533323235303536343761452e6c6c766d2e3133323634373239373033333934363235333331ac013b5f5a4e34636f7265336e756d37666c743264656331376469676974735f746f5f6465635f7374723137686332613136396261653835316561333645ad01395f5a4e34636f7265336e756d37666c74326465633135746f5f73686f72746573745f7374723137683539666539663664333764346134333045ae013c5f5a4e34636f7265336e756d37666c74326465633138746f5f65786163745f66697865645f7374723137686339306236386131343966303466346545af01535f5a4e34636f72653463686172376d6574686f647332325f244c5424696d706c2475323024636861722447542431366573636170655f64656275675f6578743137683633316339303730366237303737386345b001585f5a4e35395f244c5424636f72652e2e666d742e2e417267756d656e7473247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686465306631306330616535366136333945b101265f5a4e34636f726533666d743577726974653137686439623537653766363532346464393245b201385f5a4e34636f726533666d7439466f726d617474657231327061645f696e74656772616c3137686364373065353139613838646263363645b301465f5a4e34636f726533666d7439466f726d617474657231327061645f696e74656772616c313277726974655f7072656669783137686437663265323538616533643136323545b4012e5f5a4e34636f726533666d7439466f726d6174746572337061643137686163646162616164646639326464396645b5013f5f5a4e34636f726533666d7439466f726d617474657231397061645f666f726d61747465645f70617274733137686663623732336434306262653738313745b6015b5f5a4e34636f726533666d7439466f726d6174746572323177726974655f666f726d61747465645f706172747331376866323238353562343162643633346135452e6c6c766d2e3130363936313733333536303638373638373838b701465f5a4e34636f726533666d7439466f726d6174746572323664656275675f7374727563745f6669656c64345f66696e6973683137686662653437633334326664313064613545b801465f5a4e34636f726533666d7439466f726d6174746572323664656275675f7374727563745f6669656c64355f66696e6973683137683166663238656138653530336230373745b901455f5a4e34636f726533666d7439466f726d6174746572323564656275675f7475706c655f6669656c64325f66696e6973683137683962343338646131303831636631666345ba01455f5a4e34636f726533666d7439466f726d6174746572323564656275675f7475706c655f6669656c64335f66696e6973683137683836653663376530666266616465393645bb01485f5a4e34335f244c5424626f6f6c247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686334313438316262323837393839653645bc01455f5a4e34305f244c5424737472247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686337623065336235306435363731396445bd01465f5a4e34315f244c542463686172247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686231336637616361623765323163643945be01485f5a4e34335f244c542463686172247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686638303030323639636130343965623945bf01475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683230366264396134643938633338363045c001475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683331373434396437663030633930643245c101475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686630636434636536333763666161386445c201495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686230643232373037343462333238376145c301325f5a4e34636f7265337374723136736c6963655f6572726f725f6661696c3137683539363465393439663934333966396345c401355f5a4e34636f7265337374723139736c6963655f6572726f725f6661696c5f72743137686338393632353365306465396264633245c5014e5f5a4e34636f726537756e69636f6465397072696e7461626c6535636865636b31376832616239623866306165346564333332452e6c6c766d2e3138333039393535373138333931313534303038c6013c5f5a4e34636f726537756e69636f6465397072696e7461626c65313269735f7072696e7461626c653137686536663432663439323936663534646345c7019c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686561376363306230663165613866376645c80192025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683061306565383633316534656533383845c901655f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313562756c6b5f737465616c5f6c6566743137686132393839643864636161653762316445ca01665f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313662756c6b5f737465616c5f72696768743137683064646433356565653939323538663145cb015d5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b244324562447542438646f5f6d657267653137686234643235343266383236353335373045cc01f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683333373366366263366234346634326645cd01cd025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653235395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313472656d6f76655f6c6561665f6b763137683236653965313535383565663462613445ce01db025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653236395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313872656d6f76655f6b765f747261636b696e673137683137333961326265376363393033353445cf01465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683039663163616261353737353564376345d001465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686634386331346163383533363835303145d101485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683131353562376665366537653731616545d201485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683135346636356663646466623335656645d301485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683136396666636331666363333536653745d401485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683435616136353363636436343261613345d501485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683531353934363837623365336463636445d601485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683633303637386638333866623239323645d701485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683730326635633231343235623566396145d801485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683736323933656339323638343163393445d901485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683830393364396563353462316665653445da01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683862376439303663363666633339323845db01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683866303637383531306630633334386445dc01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683866353265316264323230363562616445dd01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683936376136386337343139356363346145de01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686136623133333131626533346233326645df01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686163323532303230356166653830376445e001485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686431393936373331613539633836613345e101485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686435636239353161383461326565643745e201485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686530316230316566666234653437633645e301485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686531613337366530636461396233633545e401485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686636356234666235346337373962616345e501485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686665373932623165356238663234653045e60180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683232636565663561336639303938313645e70180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683665633535666264356236633234306345e80180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683732613833383366646565333931623245e90180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683836353732346538666431303663363245ea0180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686230633361333761636130626164626445eb0180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686234646639663639663464366563373645ec0180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686564306164326438366237386430356345ed0193015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137686133636663626238643133363534323745ee0191015f5a4e3131345f244c5424636f72652e2e697465722e2e61646170746572732e2e666c617474656e2e2e466c61744d6170244c542449244324552443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686264356561333334303733626665653045ef01ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683363343264366536373466393434373845f001ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683863383234343239386262363563343745f101ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683966386433653830323631623061656545f201475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683836316133613662626437636264353045f30185015f5a4e34636f726533707472373464726f705f696e5f706c616365244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e48323536244754242447542431376836333434616664343566316433363739452e6c6c766d2e31353130303638393538313534373335383431f4016e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683033626366653531306634393237626545f5016e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686436303835336564623339653430626145f601315f5a4e34636f7265336f70733866756e6374696f6e32466e3463616c6c3137683361356139323636623536306637623145f7014d5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431366c6f61645f6f776e65645f76616c75653137683163303039383063613337383963666145f801315f5a4e34636f7265336f70733866756e6374696f6e32466e3463616c6c3137683530623532646134326438326261383545f9015a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137683035663062396532366232356138333045fa01765f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542432376c6f6f6b5f75705f776974685f63616368655f696e7465726e616c32385f24753762242475376224636c6f73757265247537642424753764243137686162353137633064333731346438353845fb015a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137683664343935653233353532656432323145fc016b5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431366c6f61645f6f776e65645f76616c756532385f24753762242475376224636c6f73757265247537642424753764243137683034663330363363336639333435373345fd016d5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431386c6f6f6b5f75705f776974685f636163686532385f24753762242475376224636c6f73757265247537642424753764243137683537633032303165316464366531363745fe01435f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c2443245124475424376c6f6f6b5f75703137683361393265323334616634666263323245ff015a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f743130726561645f656e747279313768376435306331666665623266303961324580025a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f743130726561645f656e74727931376862383063383539386438353639656338458102685f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f66336e65773137683530393933666539373638333134643045820283015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f663239726561645f6d6573736167696e675f73746174655f736e617073686f74313768616163333732376630383135663162644583027d5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f663233726561645f696e636c756465645f706172615f686561643137683233326664393333633135323230386245840282015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f663238726561645f757067726164655f676f5f61686561645f7369676e616c3137683436653863663034333538666431363045850285015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f663331726561645f757067726164655f7265737472696374696f6e5f7369676e616c31376865383032643139303834663065306634458602ea015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74315f3134315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e72656c61795f73746174655f736e617073686f742e2e52656c61794469737061746368517565756552656d61696e696e6743617061636974792447542439747970655f696e666f31376833623933373564373732623932343462458702dd015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74315f3132385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e72656c61795f73746174655f736e617073686f742e2e4d6573736167696e675374617465536e617073686f742447542439747970655f696e666f313768613137393663373633626237346337644588023e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376832323337363137383363656664363866458902395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376863353634383732653937623363373034458a023e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376866633762383333306535316135313835458b02395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376836393139633233373834303032663832458c023c5f5a4e37747269655f646231306e6f64655f636f646563394e6f6465436f646563366465636f646531376863363566363062356162333265306233458d02445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836373939353261343964316632666463458e02df015f5a4e3139335f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424753230246173247532302473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e6453746f72616765244c54244824475424244754243367657431376866633961343533636533343935353163458f02665f5a4e396861736862726f776e336d61703238486173684d6170244c54244b24432456244324532443244124475424396765745f696e6e657231376830633131666463616231383538363431452e6c6c766d2e393834353939373330323433323134313234349002475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768383935623936366665393633346339624591029a025f5a4e3773705f74726965313373746f726167655f70726f6f663232385f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c54242452462473705f747269652e2e73746f726167655f70726f6f662e2e53746f7261676550726f6f66244754242475323024666f7224753230246d656d6f72795f64622e2e4d656d6f72794442244c5424482443246d656d6f72795f64622e2e486173684b6579244c54244824475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d537461746524475424244754243466726f6d31376866646539343330373063306231356538459202725f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e323476616c69646174655f76616c69646174696f6e5f64617461313768653233306664383332663738626262334593026b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3137686f73745f73746f726167655f72656164313768333932386430396231356464313035664594026a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3136686f73745f73746f726167655f736574313768346466616464626236366232316435634595026a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3136686f73745f73746f726167655f676574313768383034336333656566393331653262624596026d5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3139686f73745f73746f726167655f657869737473313768663664643663663336666338633836354597026c5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3138686f73745f73746f726167655f636c65617231376865643865363938616237383734383666459802715f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3233686f73745f73746f726167655f70726f6f665f73697a65313768633563346565303661313033356566304599026b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3137686f73745f73746f726167655f726f6f7431376864303965643438333030623261663265459a02735f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3235686f73745f73746f726167655f636c6561725f70726566697831376831633462633834616566303436373633459b026d5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3139686f73745f73746f726167655f617070656e6431376835616230356161343339353334323864459c026f5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3231686f73745f73746f726167655f6e6578745f6b657931376864623962373138643135613835373666459d02785f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3330686f73745f73746f726167655f73746172745f7472616e73616374696f6e31376865616131323935663637616465613630459e027b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3333686f73745f73746f726167655f726f6c6c6261636b5f7472616e73616374696f6e31376832643962646539336161393430313433459f02795f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3331686f73745f73746f726167655f636f6d6d69745f7472616e73616374696f6e3137683132343662393861393163303937613345a002785f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3330686f73745f64656661756c745f6368696c645f73746f726167655f6765743137683039633838613333626237353739653445a102795f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3331686f73745f64656661756c745f6368696c645f73746f726167655f726561643137686431633762666264323264323163363745a202785f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3330686f73745f64656661756c745f6368696c645f73746f726167655f7365743137686232643532323336323365366362633945a3027a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3332686f73745f64656661756c745f6368696c645f73746f726167655f636c6561723137683233623436336138333363656366633645a40281015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3339686f73745f64656661756c745f6368696c645f73746f726167655f73746f726167655f6b696c6c3137683236653065616234366564363036643945a5027b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3333686f73745f64656661756c745f6368696c645f73746f726167655f6578697374733137686462646461343932663535613835383845a60281015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3339686f73745f64656661756c745f6368696c645f73746f726167655f636c6561725f7072656669783137686461386435336461633338366566383545a702795f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3331686f73745f64656661756c745f6368696c645f73746f726167655f726f6f743137686564616661326531656536313330303845a8027d5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3335686f73745f64656661756c745f6368696c645f73746f726167655f6e6578745f6b65793137683733613839626539306265396230643445a902665f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e36474c4f42414c365f5f696e69743137683530373431323436633936363031313145aa0286015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686531373239356438656338396232653045ab0289015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683535613639386339663063383334363345ac0283015f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e48323536244754242447542431376865336266643165656337306435343237452e6c6c766d2e3131353738373433383235343836303033383232ad0289015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683635353530333335656261646461393345ae0295015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137686465623166613739353263373865363345af023b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137686232633838646364333236383134393545b0023b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137683536656432653365393937363539623145b1025a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376831343132653838303766663733303562452e6c6c766d2e37323637313534303337323837303739373939b2025a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376836323434626336313636383838363461452e6c6c766d2e37323637313534303337323837303739373939b302465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c653137683366373132353536323033323663333445b402535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137686135383662613835613564663935663045b502535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137686435373532313038616537326239636245b602595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683537313363343831616365323433373445b702595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683964343837376138636566366534666345b802625f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e7431335573656442616e64776964746836617070656e643137683765323362323133363936373161336345b902645f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e7431335573656442616e6477696474683873756274726163743137683239643939643835633362666332323645ba02d4015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3132315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e48726d704368616e6e656c5570646174652447542439747970655f696e666f3137683161306433393135346465656464303345bb02d0015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3131375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e5573656442616e6477696474682447542439747970655f696e666f3137686235363038656138303161613936396545bc02475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683539303963623238393930393765656345bd02475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683633386336333135393631616361336145be02475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686261396434373166636562613235616145bf02495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683136646162343537613839356330623845c002425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683934323737313436363832393561393745c102425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686433366336336263616337326664636545c202395f5a4e3773705f7472696531316e6f64655f68656164657231316465636f64655f73697a653137683462373764343838333630323833633345c302765f5a4e38365f244c542473705f747269652e2e6e6f64655f6865616465722e2e4e6f64654865616465722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686234313631656538383333366662336245c4029e015f5a4e31307363616c655f696e666f35696d706c733130345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242447542439747970655f696e666f3137683635643730383434343864613537333645c502c6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3130375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d62657224432448617368244754242447542439747970655f696e666f31376861306564633433366431646566316330452e6c6c766d2e3131373232333432373531343430383639363432c602b6015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3131385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e64446f776e776172644d657373616765244c5424426c6f636b4e756d626572244754242447542439747970655f696e666f3137683433383932376637323163613736316445c70285015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683163323061666638636235663866303645c80293015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683134306666636165653763333036343945c90298015f5a4e3132315f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e457874726163744966244c54244b24432456244324462443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683731616264396165366630353535316145ca02ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683663613365623735323962353561393845cb02b2015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3131345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e6448726d704d657373616765244c5424426c6f636b4e756d626572244754242447542439747970655f696e666f3137686536383234316263613939636135393445cc025e5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431306f725f64656661756c743137683262656138303139313132656235663645cd02a8015f5a4e39365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653133636c6f6e655f7375627472656531376833306432623933393963336334383639452e6c6c766d2e3131373232333432373531343430383639363432ce0281015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683237343435663337363138623531393345cf0281015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686133656565336266616134636131373045d00281015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683934313835386238373032633066353745d102355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683533323233613166636566626565316145d202355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683638646533623236336636346164323345d302355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137686234316166636239653831613738383945d4024c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137686363346130383661653234643063386645d502b9015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424336765743137686533306534623630373334616461643245d602be015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137683638643064353937313730363064623845d702b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f3137683831656432323736373832633562303045d802ae015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3131325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e244754242447542439747970655f696e666f3137683662376331386237353532396664613945d902ad015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e4162726964676564486f7374436f6e66696775726174696f6e24475424366465636f64653137683166376237646233663035333839303145da02415f5a4e37747269655f6462346e6f646531304e6f646548616e646c653135746f5f6f776e65645f68616e646c653137683732656233613731613566623535663645db02385f5a4e37747269655f6462346e6f6465344e6f64653133746f5f6f776e65645f6e6f64653137686535373336623562356562323863376445dc02715f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313870617261636861696e5f696e686572656e7433356465636f6e7374727563745f70617261636861696e5f696e686572656e745f646174613137683662306538663739666437623966663045dd02d3015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313870617261636861696e5f696e686572656e74315f3132305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e496e626f756e644d65737361676549642447542439747970655f696e666f3137683532386562356438666566386639336545de02f3015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313870617261636861696e5f696e686572656e74315f3135325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e4162726964676564496e626f756e644d65737361676573436f6c6c656374696f6e244c54244d657373616765244754242447542439747970655f696e666f3137683839653166653964333033646132343745df02f3015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313870617261636861696e5f696e686572656e74315f3135325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e4162726964676564496e626f756e644d65737361676573436f6c6c656374696f6e244c54244d657373616765244754242447542439747970655f696e666f3137686532376138373862613164356361336345e002dd015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313870617261636861696e5f696e686572656e74315f3133305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e426173696350617261636861696e496e686572656e74446174612447542439747970655f696e666f3137683230343232383563373065633132386445e102d6015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313870617261636861696e5f696e686572656e74315f3132335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e496e626f756e644d65737361676573446174612447542439747970655f696e666f3137683534616237333039356634623733306445e2028f015f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f31376865303831626566626433316134323039452e6c6c766d2e3136393630343232353535323632363534313730e302735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137683664666531313563306438303231666245e402755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683239373963343034396536326461613545e502755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683562306361383263623263316263393645e6028f015f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f31376833316634636364393463633039373037452e6c6c766d2e3136393630343232353535323632363534313730e702a2015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c54244824475424244754243773746f726167653137686335643134336563653333373138313245e80283015f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e48323536244754242447542431376865336266643165656337306435343237452e6c6c766d2e3136393630343232353535323632363534313730e902bf045f5a4e34636f72653370747235313464726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624432473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e556e696d706c656d656e746564436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e556e696d706c656d656e7465645265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754242447542431376862366663313366363534646662316233452e6c6c766d2e3136393630343232353535323632363534313730ea024c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376862616563313130663063303462623266452e6c6c766d2e3136393630343232353535323632363534313730eb02435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683234303638386433323934386365623845ec02435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683931636630313831626165613733343445ed02435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686637656361363534336666356161666445ee025a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683932643731323961346165616132333045ef029e015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f31376838313032353066623463353761663762452e6c6c766d2e36303134333230333837353031313735343030f002c3015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3130365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e4f7574626f756e6448726d704d657373616765244c54244964244754242447542439747970655f696e666f31376830396137636239356231643536353231452e6c6c766d2e36393338313232323831303333343737363731f102bf015f5a4e323363756d756c75735f7072696d6974697665735f636f7265315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f636f72652e2e43756d756c75734469676573744974656d24475424366465636f646531376866343436663339383061313531663262452e6c6c766d2e36393338313232323831303333343737363731f20297015f5a4e323363756d756c75735f7072696d6974697665735f636f7265315f38395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f7072696d6974697665735f636f72652e2e436f6c6c6174696f6e496e666f2447542439747970655f696e666f3137686135346562313961643733663038396345f30280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683065303263323633623163336236353345f40280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686564313564323863626134643330656645f50280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686432376435656139356634396534393345f602735f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376835653764393833643637623334393864452e6c6c766d2e37313731323834323032393235343430333433f702ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683963343134376232616430306364636145f8024b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376830613337353636333539323539626339452e6c6c766d2e37313731323834323032393235343430333433f902ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683239346236636534323131623936383345fa02ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683562623864366366653737336535623345fb024c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376833376636623131353336363661343330452e6c6c766d2e3134313937383332373739353534333132303336fc025a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683066323731653565396131346366383045fd027a5f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e7431374d6573736167655175657565436861696e3133686173685f6d73675f6461746131376837303961316265383663623633353438452e6c6c766d2e3130323230363538383934373530323731373235fe02695f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e7431374d6573736167655175657565436861696e3232657874656e645f776974685f6861736865645f6d73673137683531376430316434356166653833323645ff02b4015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3130335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e4861736865644d6573736167652447542439747970655f696e666f31376863666135313638623866316336383138458003b8015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3130375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e4d6573736167655175657565436861696e2447542439747970655f696e666f3137683530333262353066323331633630316645810387015f5a4e343263756d756c75735f7072696d6974697665735f70726f6f665f73697a655f686f737466756e6374696f6e313873746f726167655f70726f6f665f73697a65323665787465726e5f686f73745f66756e6374696f6e5f696d706c73313873746f726167655f70726f6f665f73697a6531376864643134643964316466336230616362458203465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376830393734616335323331313934313339458303465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376835366134666363323234383235346634458403465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376831383865326139303531316433306266458503465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376831626435383930643331393963313561458603465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376863303461623631313036326633633135458703465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376832356363353432613436616539313534458803465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376832393661336162656664656138353831458903465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376832633962366562393666616565383063458a03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376832636134616666653865343363386662458b03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376833303633646135613362653836316466458c03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376833366261383264613632653730323239458d03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376833393164623164313462396166656266458e03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376833393566333261373631363633363139458f03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376833623832663065393561366433356666459003465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376834353037653935326136303931633538459103465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376835336238396535656136313765623966459203465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376835346162353539353231643636396333459303465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376836313961616262333063623037333139459403465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376836326237303031333238343566653466459503465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376836613165343961383839633062346563459603465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376837363633356138383237396139306462459703465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376837623836353634373662396164633937459803465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376839303231363939633564383732393763459903465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376839303734616432373464626434353838459a03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376839333234366332353935316532356337459b03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376839623338663265303839666439613430459c03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376861363339353762373235363831613236459d03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376861363830353038303335336639353264459e03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376861393564636165626535383632373839459f03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686233316464346236326163663231636345a003465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686265373932663365626464393464353245a103465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686331373333323934323631643731323245a203465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686333613037633236666266346636323445a303465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686335373434373866356137353964336145a403465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686336643638623661333565623737623245a503465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686432366161613635666231376166333645a603465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686439663461373234666237626363623045a703465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686461323666363932636430636137616245a803465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686466613465663165323836323838323945a903465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686535613738333336623061623462366245aa03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686538336537613966303039626562393745ab03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686633326330336565323066386663393545ac03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686637383131626631313336636630633545ad03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686663316236633636653662626662313945ae03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686663636437343366626361363637306345af03465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e3137683130363463613830323330336466653445b003465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e3137683666633436363732646132363632373745b103475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683966643539393466336235666137613645b203475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137686566613763636365633733616661313545b3035f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137683633656631363337363336633162643045b4039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683134653966343136313165303332393345b50392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137686164336362366232346461636164656245b6039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683663393831353135396230653330383845b70392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137686137646366346536313233646461363345b8039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683665656164353639613739616137646245b90392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683334343536656132626634306237326545ba039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683764326264653030636663366236656645bb0392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683035336539366465616166336338313545bc039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686233393731356532363930336532333045bd0392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683930353961663366323064363863633945be039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686530326165343839383439633934623545bf0392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683666666139313066336166393737653645c0039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686534356536643339653232313231646145c10392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683132613036613461663637313531343045c2039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686663376661363832376363306633373645c30392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683037393239656465613536363561656645c403655f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313562756c6b5f737465616c5f6c6566743137686533333562643362336234666363333645c503665f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313662756c6b5f737465616c5f72696768743137683438363335373135323038613433656145c6035d5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b244324562447542438646f5f6d657267653137686563626166346261343235393730653745c703f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683137333139326165306235323062346345c803f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683234623965383163376136316363313345c903f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683666626262303230353433633461613145ca03f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683739333161616261313731633461653445cb03f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683837313739373164363437666534343345cc03f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683865363630666238356461663562326645cd03cd025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653235395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313472656d6f76655f6c6561665f6b763137683062643161393231653830333835666245ce03db025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653236395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313872656d6f76655f6b765f747261636b696e673137686534383836343632373765636434393645cf03d5015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565367365617263683134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c244754242447542431317365617263685f747265653137683139316363613765386165643964643845d003d5015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565367365617263683134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c244754242447542431317365617263685f747265653137686461336562663764356135306339643845d103d4025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565386e617669676174653236345f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e56616c4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754242447542431346e6578745f756e636865636b65643137683166633735303565653331623036323745d203445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683031333637656330396231326633353745d303445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683034303865623031656236623234343145d403445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683036623038363134656661653935643245d503445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683061303361663537336130336165363245d603445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683062623533616438366132313331653245d703445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683062643934366664666530363032326245d803445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683064623238383464636639613266613445d903445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683066376632653638613464613066373745da03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683066396130326136646463363537633645db03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683131666439643061333562656665616445dc03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134373365623837306335366664643745dd03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683135383731336431356537666434366145de03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683135633261336337643262616633333945df03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683137633732376131393932616334623545e003445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683161623861326663616665343166306245e103445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683162366431313061393138323133303745e203445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683165323536303265386561643932373345e303445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683165366361393635363731346134303045e403445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683233373135333234326364353761393745e503445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683234656332323039363635363039336445e603445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683237326362343766363136383538383445e703445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683238663036646665373865306433326645e803445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683239616133663962666433653338646145e903445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683265336663376238313333643239386145ea03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683266333239366338306363653838613745eb03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683330396563616236616331326639336245ec03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683333313665663063323637633636616645ed03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683334613831323231353264373038356645ee03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683335613732656663373537393739656645ef03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683335633333373964376266313836366445f003445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683338393437343563303137316234323745f103445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683339633862366364653662353435393745f203445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683362616132363937633636343436346645f303445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683364353264353966666130636133646445f403445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683366396630643433626636353961323045f503445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683366623637383131656263623661343745f603445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683432346331356332316236393237333945f703445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683434653664336264373463643731643745f803445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683438343765663863323663306537313245f903445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683463336466373039633033643963303045fa03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683530613932633764326662656131363445fb03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683530643162643163353462316363633045fc03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683534373434303162333234303461613345fd03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683538616636353035363862633263626545fe03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683564323932386439613437306265303945ff03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376835653734393063343737356138306361458004445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836303664343832626134316566616234458104445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836313234353638333231663062316465458204445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836363637363166313065646465353766458304445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836373134623735353735326534663661458404445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836386534303530633966623862653433458504445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836396139643134383930313231333936458604445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836396637326236653735343262653134458704445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836626165393434363434653334616366458804445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836626230653436346438306635663266458904445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836626432333838646265613162636130458a04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836646336363762323237313239653261458b04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836646638303934646230613437336663458c04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837343732653966653661373933343932458d04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837343833336234393761356331663932458e04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837353130626634663733353935316662458f04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837353339363235616634343232616262459004445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837356130313639326664653734663164459104445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837383834306232366666373939326633459204445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837646466626230323761666132363733459304445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838313162666665353038623433646461459404445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838326337626263393164376563393138459504445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838333932323731363534643332383265459604445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838373065373134646234663565393232459704445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838616463363830323265633663666362459804445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838623463373265323631613863306432459904445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838646362623761353665366636316132459a04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839356537666465346364653966366663459b04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839363163656137343163623835343338459c04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839393733326330376237346633333335459d04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839633033313066373837343565626237459e04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861356431616265373131393832343264459f04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686138616333613334396362653930376645a004445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686139303330346163666134323834326145a104445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686161373431366538356166656430383745a204445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686162333864393566623339636665653045a304445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686163306131363936343161663263646445a404445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686163316662613737666132643438616145a504445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686163656661626135353137316266373445a604445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686166646234623965643339646137626645a704445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686166646564616337656662323238663545a804445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686230393839613031613639636337323045a904445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686232393036373666613230366638633545aa04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686234353830623363323966356365383245ab04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686237616639356665626265386661343645ac04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686237643031376337666536666339366345ad04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686238366265616361376465343864623645ae04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686261366537663731366139663766656545af04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686262633863366533353038666366623245b004445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686330373665636633666537333732633945b104445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686334663462303032656163336636303745b204445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686335616431343436303331313466383345b304445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686335646633313834636539333030373345b404445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686361616239626635313365383761346245b504445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686363663938633163383963333932346445b604445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686364306630316130383430656239393045b704445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686365356339303136376362306133386445b804445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686430353630356639663564396338613845b904445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686431386465633862323435623730653845ba04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686432383731393764653461643237393845bb04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686438643633353935393535336533366545bc04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686463666131343130313036643433613545bd04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686466303933656130306631326364343145be04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686537316561626337636232633931613545bf04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686539363934383531633765653739336445c004445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686562336462653263366133353635623645c104445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686562383361353031626536613163376645c204445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686562623965613861303739373034373645c304445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686564326266333364646639633830656245c404445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686564643963613236646531653438626445c504445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686564653566333066666636643536343445c604445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686630373139626335303134346165646445c704445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686631613930393863663561376263393245c804445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686632346635323631636432376435396245c904445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686633306565653233353830626431303145ca04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686638303564383365643864383965663545cb04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686661343833326461376231393665616245cc0486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683133613066613061626131633333346345cd0486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683632653734646233303338643866333645ce0486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683831303135353861366335333532373845cf0486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683839306133383431333162313765353945d00486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686162383937393835366161343930376145d10486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686235643139323237343438343937333945d20486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686361623830313139646537383366616645d30486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683061633531666564333761653066386445d40486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683638386535663938643735653635363545d50486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686666353037353632336461363762363545d60487015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683233383861373666356430646430616545d70487015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683332636264663135633664353261653745d80487015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683563666534376636393566323839393145d90487015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683937633738633939353934663736376245da0486015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683661663738336339653064343965623545db0486015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686137343031633664393761333437626145dc048c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686533303139626563636632616162306445dd048c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686530366535323165333330383165343045de048d015f5a4e3130355f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683933633431386264666237323034646445df046d5f5a4e31307363616c655f696e666f35696d706c7335365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424524624542447542439747970655f696e666f3137686663353031373232326330636532303045e004ac015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3130375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d62657224432448617368244754242447542439747970655f696e666f3137683736373566666364663764366265326345e104d5015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e73346d697363315f3131365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e6d6973632e2e4964416d6f756e74244c5424496424432442616c616e6365244754242447542439747970655f696e666f31376839333266323264633365656437626663452e6c6c766d2e36333534393236343833323332383531373632e204d5015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e73346d697363315f3131365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e6d6973632e2e4964416d6f756e74244c5424496424432442616c616e6365244754242447542439747970655f696e666f31376836656138646263373065663436333764452e6c6c766d2e36333534393236343833323332383531373632e304c3015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3130365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e4f7574626f756e6448726d704d657373616765244c54244964244754242447542439747970655f696e666f31376866313134356565353231373833363161452e6c6c766d2e36333534393236343833323332383531373632e404ed015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3132315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e416e636573746f72244c542448244754242447542439747970655f696e666f31376835636266383765303233376134366331452e6c6c766d2e36333534393236343833323332383531373632e50495015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683236613036663232646364356235666345e60495015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683537383937656336396231343834646345e70495015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683837366536613865363363646266336545e80495015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137686530356665633734663062326336376545e9043f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683463366439623237326635393536616445ea04ae015f5a4e313073705f72756e74696d653767656e6572696335626c6f636b315f3131305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e426c6f636b244c542448656164657224432445787472696e736963244754242447542439747970655f696e666f3137683537366336323837623562303632373645eb04b2015f5a4e313073705f72756e74696d653767656e6572696335626c6f636b315f3131345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e4c617a79426c6f636b244c542448656164657224432445787472696e736963244754242447542439747970655f696e666f3137683764386235303631386664616532613245ec04bc015f5a4e313073705f72756e74696d653767656e6572696335626c6f636b315f3132375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e4c617a79426c6f636b244c542448656164657224432445787472696e7369632447542424475424366465636f64653137683563316362653931663763326430616145ed04b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137683830623266346337633934383863623845ee04bc015f5a4e313073705f72756e74696d653767656e6572696335626c6f636b315f3132375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e4c617a79426c6f636b244c542448656164657224432445787472696e7369632447542424475424366465636f64653137683865626639313665613433626531383245ef04bc015f5a4e313073705f72756e74696d653767656e6572696335626c6f636b315f3132375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e4c617a79426c6f636b244c542448656164657224432445787472696e7369632447542424475424366465636f64653137683935316232663365636364336362613245f004b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137683135636164393533613431323263373145f104b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137683766363331666439356364303566326445f204b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137686137333063373365653839623636383645f304b9015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d62657224432448617368244754242447542439656e636f64655f746f3137686461366530363039623630623263396645f4044d5f5a4e313073705f76657273696f6e313452756e74696d6556657273696f6e32346465636f64655f776974685f76657273696f6e5f68696e743137686438316631653837666437663364373545f504c9015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e73346d697363315f3132395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e6d6973632e2e4964416d6f756e74244c5424496424432442616c616e6365244754242447542439656e636f64655f746f3137683164633962373963356336626139396645f6049b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137686631666438386136376430666238636345f704475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683030306133616163326130643565363745f804475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683165626365623433353239613366346645f904e1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e416e636573746f72244c542448244754242447542439656e636f64655f746f3137683766366163613735666530333034656445fa04b0015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e4162726964676564486f7374436f6e66696775726174696f6e2447542439656e636f64655f746f3137683533666438343232623330633066373045fb04475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683632343637353761366233336534393945fc04585f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376834653365303739343461303939326230452e6c6c766d2e36333534393236343833323332383531373632fd04475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137686139313764376232316538363231633845fe043f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683065633133643739373865613034313245ff043f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f6465313768613533386232653230653734653036614580053f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f6465313768636433663735306535666438383837304581053f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f6465313768636635376133366231383139613933364582053f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f6465313768643239633933356463396635636666374583053f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376865323338333331383432326239636239458405ce015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f76656331367363616c655f636f6465635f696d706c3132315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c542454244324532447542424475424366465636f646531376837613439363035376165646230613361458505ce015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f76656331367363616c655f636f6465635f696d706c3132315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c542454244324532447542424475424366465636f646531376838653431373138356264386663373632458605b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376831323132636361653837376665366637458705b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376835313062643633613336353535333562458805b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376837336139353932346465313531303263458905b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376839306136303961643663393330613330458a05c2015f5a4e3139626f756e6465645f636f6c6c656374696f6e7331367765616b5f626f756e6465645f766563315f3131375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e7765616b5f626f756e6465645f7665632e2e5765616b426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376864326531343130326538636232323463458b05a7015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e416272696467656448726d704368616e6e656c24475424366465636f646531376838393463633632363636616236356331458c05aa015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e416272696467656448726d704368616e6e656c2447542439656e636f64655f746f31376865346661353737393131333962356136458d05ae015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3131325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e244754242447542439747970655f696e666f31376830626136613533326634363565633633458e05ad015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e4162726964676564486f7374436f6e66696775726174696f6e24475424366465636f646531376862326138323038316166306365663939458f05b8015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3132355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e2447542424475424366465636f646531376832626666366337636434396630636365459005b8015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3132355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e2447542424475424366465636f646531376834633432323361666664636665626430459105bb015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3132355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e244754242447542439656e636f64655f746f313768633034643738646437353365373564354592059c015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e554d505369676e616c24475424366465636f646531376861396664313661353064383932613034459305bc015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3132375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e6448726d704d657373616765244c5424426c6f636b4e756d6265722447542424475424366465636f646531376835353533373163613431376463326533459405bc015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3132375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e6448726d704d657373616765244c5424426c6f636b4e756d6265722447542424475424366465636f646531376838393338376165356538363439646330459505da015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3132375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e5365676d656e74547261636b6572244c542448244754242447542439747970655f696e666f31376863343834616366343761363831386335459605de015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e416e636573746f72244c5424482447542424475424366465636f646531376861303037643436393163366533393733459705e4015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3134305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e5365676d656e74547261636b6572244c5424482447542424475424366465636f646531376830666534643532303161656262326266459805be015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e4861736865644d65737361676524475424366465636f646531376830613362653265376239613634323235459905be015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e4861736865644d65737361676524475424366465636f646531376863303939386161633763623237333765459a05c1015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e4861736865644d6573736167652447542439656e636f64655f746f31376838626232626635386330633265616161459b05c6015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3132345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e50617261636861696e496e686572656e744461746124475424366465636f646531376836316264653363346135643236353430459c05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831346430343934333739343834366131459d05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831666431376633313766333062353661459e05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376832303035386666346433326432323163459f05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683237363665383738303038363934316445a005475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686437643861363935656134623233656145a105475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683962613163343835303963313934666245a205475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683337343331643237363736623537636545a305475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683364316239313331616137663564643345a405475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683433643434626633646665323563653845a505475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683438306535306336653934343465643545a605475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683538656533396136616365663239656545a705475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683761613035336564303031666331666445a805475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683835303666626431623262626361313945a905475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683936666338663933313037316237356245aa05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686130623538656532623638376464306545ab05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686231653761663531366134633564613745ac05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686239323762313733643133306261363045ad05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686331656630313339353932386633346545ae05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686431656366313963373636373031646445af05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686432623066663137646336366337376645b005475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686534316662373866656132343536386345b105475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686535363732303062393739623439373645b205475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686565343439313061323165376231653945b305495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683733613932303261663162356131643845b405495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686663396362323235373464343237386545b5055c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d743137683234313530646434636533353833373045b605505f5a4e34636f726533707472343664726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c5424753824475424244754243137683161303163653534303130646138366145b7055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376830393937356161643165666563643365452e6c6c766d2e36333534393236343833323332383531373632b8055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376831613230663836343363666630316637452e6c6c766d2e36333534393236343833323332383531373632b9055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376833626237353236343166316334303731452e6c6c766d2e36333534393236343833323332383531373632ba055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376836373235663564373038663832616362452e6c6c766d2e36333534393236343833323332383531373632bb055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376838396462323333643461656239383562452e6c6c766d2e36333534393236343833323332383531373632bc055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376839663963653830663439353535343031452e6c6c766d2e36333534393236343833323332383531373632bd055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376861373334366435623631373032363163452e6c6c766d2e36333534393236343833323332383531373632be05425f5a4e34636f726535736c69636534736f727436736861726564357069766f74313263686f6f73655f7069766f743137683166656337626361323266626230303345bf05425f5a4e34636f726535736c69636534736f727436736861726564357069766f74313263686f6f73655f7069766f743137683236353934356130653637346538613345c0054f5f5a4e35305f244c5424244c5024552443245424525024247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686135356163373132653366616562616445c1055f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137686261323863636532386536383964616345c205745f5a4e38365f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683737643439376564303965623164333345c3057b5f5a4e39345f244c5424626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c5424542443245324475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683531613136326261613063666139643145c4057b5f5a4e39345f244c5424626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c5424542443245324475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686562643330306430313161383863623445c505ba015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e56616c69645472616e73616374696f6e2447542439656e636f64655f746f3137686337316162326262333964353434616645c605c2015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3132325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e5472616e73616374696f6e56616c69646974794572726f722447542439656e636f64655f746f3137683837323130623165343266306232643745c705665f5a4e313073705f72756e74696d653674726169747332317472616e73616374696f6e5f657874656e73696f6e32305472616e73616374696f6e457874656e73696f6e3133706f73745f64697370617463683137683839313331363261313565336563343445c805d6015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733231636865636b5f6e6f6e5f7a65726f5f73656e646572315f3132375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e5f7a65726f5f73656e6465722e2e436865636b4e6f6e5a65726f53656e646572244c542454244754242447542439747970655f696e666f3137683966386361666238613964613364653145c905b2015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e74315f3131325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c542454244754242447542439747970655f696e666f3137683763626161626439366461346662396145ca05ba015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733131636865636b5f6e6f6e6365315f3130395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c542454244754242447542439747970655f696e666f3137683466653165623266336666336536333145cb05bd015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733132636865636b5f776569676874315f3131315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c542454244754242447542439747970655f696e666f3137683565373435646461643838303863346445cc059c015f5a4e3131305f244c542463756d756c75735f746573745f72756e74696d652e2e53696e676c65426c6f636b4d6967726174696f6e732475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e52756e74696d65557067726164652447542431386f6e5f72756e74696d655f757067726164653137683531376239396165396531353836643245cd057a5f5a4e31326672616d655f73797374656d3130657874656e73696f6e733132636865636b5f7765696768743230436865636b576569676874244c542454244754243130646f5f7072657061726531376830663137353830373635376566333165452e6c6c766d2e39303135303939373032303438313035323032ce053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683563346333636265356335653666666645cf057b5f5a4e31326672616d655f73797374656d3130657874656e73696f6e733132636865636b5f7765696768743230436865636b576569676874244c542454244754243131646f5f76616c696461746531376866663264663233646264663065323962452e6c6c766d2e39303135303939373032303438313035323032d0053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686163323462313262386363653263393345d1059a015f5a4e31326672616d655f73797374656d315f3130325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e4576656e745265636f7264244c54244524432454244754242447542439656e636f64655f746f3137686233343830333632356163653266353245d2059b015f5a4e31326672616d655f73797374656d315f3130335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e4163636f756e74496e666f244c54244e6f6e63652443244163636f756e7444617461244754242447542439747970655f696e666f3137686162343133646138303961623566383345d3058c015f5a4e31326672616d655f73797374656d315f38395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e4576656e745265636f7264244c54244524432454244754242447542439747970655f696e666f3137683163306235323563663165616663316645d40590015f5a4e323063756d756c75735f746573745f72756e74696d65315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d654576656e742447542439747970655f696e666f3137683630666238656633373630303465386345d50592015f5a4e31326672616d655f73797374656d315f39355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e44697370617463684576656e74496e666f2447542439656e636f64655f746f3137683138643637393763666261383435323145d60595015f5a4e31326672616d655f73797374656d315f39385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e436f646555706772616465417574686f72697a6174696f6e244c542454244754242447542439747970655f696e666f3137683730636439643931343733666633316545d705e9015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6539696d62616c616e6365315f3134375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e66756e6769626c652e2e696d62616c616e63652e2e496d62616c616e6365244c5424422443244f6e44726f702443244f70706f736974654f6e44726f70244754242447542439747970655f696e666f3137683563623035653230306239333663323645d8053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683037376434343564326233626662383045d9057b5f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831303235386638333138373561663832452e6c6c766d2e39303135303939373032303438313035323032da05725f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376864643866333831656264316637646633452e6c6c766d2e39303135303939373032303438313035323032db053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683039303437323261626132336565316245dc053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683062376134333831306662663832326345dd053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683065666439666434666436616232653345de053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683161626433626561633632383439646445df053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683164663662393130363362333733646445e0053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683230333432626333663934386331343145e1053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683235613137663262353565393538323545e2053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683235633430306337646663333163376145e3053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683361313538613032333665653533646645e4053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683362333361613865383066623735353045e5053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683365353361363662626330643934363945e6053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683366393161333233653834353063646345e7053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683434653739343736393239303635613745e8053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683530333431383337393738626337616345e9053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683536333964333839336130646166343945ea053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683634616137316133353765663433663745eb053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683738363263326336396432363061653345ec053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683935303561656465393962666338636645ed053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686331396532636361613631373230373345ee053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686362313466343430653130613365323045ef053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686433393463636630393464376266356545f0053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686437633136616136663765336437386345f1053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686438383337646431323932643562303745f2053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686630623862326336313238623635353345f3053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686636303033663365393030336436666345f405a3015f5a4e31336672616d655f737570706f7274386469737061746368315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c542454244754242447542439747970655f696e666f3137683663363733656339653264623730663445f505b0015f5a4e31336672616d655f737570706f7274386469737061746368315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c542454244754242447542439656e636f64655f746f3137683230363966656336623037613461633145f605ae015f5a4e3134325f244c542473705f72756e74696d652e2e67656e657269632e2e636865636b65645f65787472696e7369632e2e436865636b656445787472696e736963244c54244163636f756e74496424432443616c6c244324457874656e73696f6e2447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e4170706c7961626c6524475424356170706c793137686432613930386132313231396139383445f7058b025f5a4e3231345f244c54246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c24475424244754243235626172655f76616c69646174655f616e645f707265706172653137683939623337643162633936626635656545f805715f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542431376833363761643935633961613765646666452e6c6c766d2e39303135303939373032303438313035323032f9059f015f5a4e3130395f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c7465723137683133636561323331333339643464386345fa05b1015f5a4e3134325f244c542473705f72756e74696d652e2e67656e657269632e2e636865636b65645f65787472696e7369632e2e436865636b656445787472696e736963244c54244163636f756e74496424432443616c6c244324457874656e73696f6e2447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e4170706c7961626c65244754243876616c69646174653137683565323135643964333430383964633545fb058a015f5a4e39345f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137686166663865346366393832613632353645fc05a0015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c38345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c50245030244324513024432452302452502424475424366465636f64653137686262323239393263306366336134376245fd0599015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24475424366465636f64653137683731323064323936376661386264633745fe0599015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24475424366465636f64653137683237343533316162633732663339313245ff05475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f646564313768376664363166353130343162393164354580069c015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c244754243973697a655f68696e74313768373663623735643635333036353537374581069c015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542439656e636f64655f746f31376839326437653438393631646666323139458206475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f646564313768633731303466343730373739373563334583063f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376864373163643839333561656532376139458406475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f646564313768663536623664363838633365663339654585063f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376835313939313135613365396566326462458606585f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376862343166613535653537303531316264452e6c6c766d2e393031353039393730323034383130353230328706f7015f5a4e3231325f244c54246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c24475424244754243876616c696461746531376839653733366330613438636536396162458806fa015f5a4e3231355f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c24475424244754243876616c696461746531376836323364306130383231323636393363458906475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376834643561333731366230396431633731458a06475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836306434656133313539333063643035458b06475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863323532653561393537663964663338458c064b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d7431376863323230313130636561363937663835458d06515f5a4e34636f7265336f70733866756e6374696f6e35466e4d75743863616c6c5f6d757431376837343463353234653661346662653337452e6c6c766d2e393031353039393730323034383130353230328e06735f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d2475376424247537642431376832376334336534666664336632333463452e6c6c766d2e393031353039393730323034383130353230328f064b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376836306166643039316131663966366639452e6c6c766d2e393031353039393730323034383130353230329006435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376830626330353638623033373339396338459106435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376830633965656266383965356138326331459206435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376831303737643663386533323762323131459306435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376831343532653334346130363863336264459406435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376831643865613538623565633165396566459506435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376832303963376563636131663934343632459606435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376832326237656137326364333665383163459706435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376833663338643139366430323831393664459806435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376834343431356637303533383138323966459906435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376834396538346165323461386236303338459a06435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376834623136643730633435613366343734459b06435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376836336237356336663333323339353739459c06435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376839613464353137376234623230653139459d06435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376839653137343263363630303964663331459e06435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376862373435373664353663616162653064459f06435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686434376265646339373339656334666645a006435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686561653339643638633632613139393245a106435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686563356462633833336166346231343445a206435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686665363261623433396266383437346545a3065a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686532386232643762303765653438343445a40685015f5a4e39315f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683136363865356362643263393566616245a50685015f5a4e39315f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683161393863323930616237316233323945a60685015f5a4e39315f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683366633662356535393637656432636345a70685015f5a4e39315f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686164633361633864393934393733363945a80685015f5a4e39315f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686165383462656231633437633866366345a90685015f5a4e39315f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686239633038643566636562666662316645aa067d5f5a4e39365f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65426c6f636b57656967687473247532302461732475323024626f756e6465645f636f6c6c656374696f6e732e2e476574244c54245f492447542424475424336765743137686262356534666438396562363933356545ab065b5f5a4e323063756d756c75735f746573745f72756e74696d653752756e74696d6531316d657461646174615f697231376839356364613965336534336261376533452e6c6c766d2e39303135303939373032303438313035323032ac0680015f5a4e38345f244c542473705f696e686572656e74732e2e496e686572656e744461746124753230246173247532302463756d756c75735f746573745f72756e74696d652e2e496e686572656e74446174614578742447542431376372656174655f65787472696e736963733137683162356230386436623164386231636545ad06ee0a5f5a4e313334365f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524753230246173247532302473705f626c6f636b5f6275696c6465722e2e72756e74696d655f6465636c5f666f725f626c6f636b5f6275696c6465722e2e426c6f636b4275696c6465725636244c542473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e426c6f636b244c542473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c542475333224432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c542473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c542473705f636f72652e2e63727970746f2e2e4163636f756e7449643332244324244c5024245250242447542424432463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24432473705f72756e74696d652e2e4d756c74695369676e617475726524432463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244324244c50246672616d655f73797374656d2e2e657874656e73696f6e732e2e617574686f72697a655f63616c6c2e2e417574686f72697a6543616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e5f7a65726f5f73656e6465722e2e436865636b4e6f6e5a65726f53656e646572244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f737065635f76657273696f6e2e2e436865636b5370656356657273696f6e244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f67656e657369732e2e436865636b47656e65736973244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d652447542424432470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524475424245250242447542424432431363737373231365f7573697a65244754242447542424475424244754243135636865636b5f696e686572656e74733137683632356132663065356437393762636445ae067f5f5a4e38345f244c542473705f696e686572656e74732e2e496e686572656e744461746124753230246173247532302463756d756c75735f746573745f72756e74696d652e2e496e686572656e7444617461457874244754243136636865636b5f65787472696e736963733137683163383761346239353161363337303845af06f90a5f5a4e313335315f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524753230246173247532302473705f73657373696f6e2e2e72756e74696d655f6170692e2e72756e74696d655f6465636c5f666f725f73657373696f6e5f6b6579732e2e53657373696f6e4b6579735631244c542473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e426c6f636b244c542473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c542475333224432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c542473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c542473705f636f72652e2e63727970746f2e2e4163636f756e7449643332244324244c5024245250242447542424432463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24432473705f72756e74696d652e2e4d756c74695369676e617475726524432463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244324244c50246672616d655f73797374656d2e2e657874656e73696f6e732e2e617574686f72697a655f63616c6c2e2e417574686f72697a6543616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e5f7a65726f5f73656e6465722e2e436865636b4e6f6e5a65726f53656e646572244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f737065635f76657273696f6e2e2e436865636b5370656356657273696f6e244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f67656e657369732e2e436865636b47656e65736973244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d652447542424432470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524475424245250242447542424432431363737373231365f7573697a6524475424244754242447542424475424323167656e65726174655f73657373696f6e5f6b6579733137683463386366626333323066663330383945b00684015f5a4e38395f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524753230246173247532302473705f6d657461646174615f69722e2e496e7465726e616c496d706c52756e74696d654170697324475424313672756e74696d655f6d657461646174613137686239383761666134303464616265313745b106b8015f5a4e3135335f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d654f726967696e247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54246672616d655f737570706f72742e2e64697370617463682e2e5261774f726967696e244c542473705f636f72652e2e63727970746f2e2e4163636f756e74496433322447542424475424244754243466726f6d3137683330643938386135353339323735393745b206cb015f5a4e3131375f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d654f726967696e247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c542463756d756c75735f746573745f72756e74696d652e2e4f726967696e43616c6c657224475424244754243466726f6d32385f24753762242475376224636c6f737572652475376424247537642431376861323938623036666434303137643964452e6c6c766d2e39303135303939373032303438313035323032b3068f015f5a4e323063756d756c75735f746573745f72756e74696d65315f38345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542439747970655f696e666f3137686265363534656462343238393333656145b40690015f5a4e323063756d756c75735f746573745f72756e74696d65315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d654572726f722447542439747970655f696e666f3137683539393566366131363337353661356245b5068b015f5a4e323063756d756c75735f746573745f72756e74696d65315f38305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d652447542439747970655f696e666f3137686330623664663737663631623437356545b6068f015f5a4e3131315f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6547656e65736973436f6e6669672475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4275696c6447656e65736973436f6e66696724475424356275696c643137683630316434326634326536346435633045b70695015f5a4e323063756d756c75735f746573745f72756e74696d65315f39305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d65486f6c64526561736f6e2447542439747970655f696e666f3137683837316163643864613438316132346345b8069e015f5a4e323063756d756c75735f746573745f72756e74696d65315f39395f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6547656e65736973436f6e666967244754243973657269616c697a653137683137323037373364643738633932616645b9069e015f5a4e323063756d756c75735f746573745f72756e74696d65315f39395f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6547656e65736973436f6e666967244754243973657269616c697a653137683834303538626566383330326634373245ba06e9015f5a4e3139375f244c542463756d756c75735f746573745f72756e74696d652e2e5f2e2e244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6547656e65736973436f6e666967244754242e2e646573657269616c697a652e2e5f5f4669656c6456697369746f7224753230246173247532302473657264655f636f72652e2e64652e2e56697369746f72244754243976697369745f7374723137683066353130376339393738633564373445bb06c8015f5a4e3136345f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e24432431363737373231365f7573697a65244754242475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137686164353335656338343331613338376445bc068d015f5a4e31307363616c655f696e666f35696d706c7338385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442244324432443244424432445244324462443244724432448245250242447542439747970655f696e666f3137686236336635633163306165633334646345bd06c3015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733134617574686f72697a655f63616c6c315f3131355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e617574686f72697a655f63616c6c2e2e417574686f72697a6543616c6c244c542454244754242447542439747970655f696e666f3137683263373431666331343464613131373145be0697015f5a4e313073705f72756e74696d653767656e657269633139756e636865636b65645f65787472696e7369633638556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e2443245f2447542431356465636f64655f776974685f6c656e3137683566303838626561656462366262616645bf06c2015f5a4e323963756d756c75735f70616c6c65745f7765696768745f7265636c61696d315f3132385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424475424366465636f64653137683237376263363738636530346562663845c006585f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c244754243137683336376164393563396161376564666645c1068c015f5a4e3131305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e42616e6477696474685570646174654572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683630646634346331633831613436633145c206aa015f5a4e3131335f244c542470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683364643965643133656133626365346245c30689015f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863613862633638376131336337376361452e6c6c766d2e313433333231393137383338353937313732c406aa015f5a4e3131335f244c542470616c6c65745f7375646f2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683639633432343233353532396461356545c506a0015f5a4e3131375f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e696e686572656e742e2e50726f76696465496e686572656e742447542431356372656174655f696e686572656e743137686334393162366262303463666430303945c6069f015f5a4e3131385f244c54245424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e64697370617463685f7472616e73616374696f6e2e2e44697370617463685472616e73616374696f6e244c542443616c6c2447542424475424313376616c69646174655f6f6e6c793137686336623233633762613134356636373145c706775f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376866396431663366653836656237386533452e6c6c766d2e313433333231393137383338353937313732c806a6015f5a4e3131385f244c54245424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e64697370617463685f7472616e73616374696f6e2e2e44697370617463685472616e73616374696f6e244c542443616c6c2447542424475424323064697370617463685f7472616e73616374696f6e3137683439626636646637383837333465346545c906775f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376864356131303134643661343166626135452e6c6c766d2e313433333231393137383338353937313732ca0694015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424366d75746174653137686661393866373261383331363166643645cb0695015f5a4e3131385f244c54246672616d655f737570706f72742e2e73746f726167652e2e5072656669784974657261746f72244c5424542443244f6e52656d6f76616c24475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686232613733333134393732633031343545cc06625f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683130323538663833313837356166383245cd06ed015f5a4e313170616c6c65745f617572613138305f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e54696d657374616d70536574244c5424244c54245424753230246173247532302470616c6c65745f74696d657374616d702e2e70616c6c65742e2e436f6e666967244754242e2e4d6f6d656e74244754242475323024666f72247532302470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431366f6e5f74696d657374616d705f7365743137683030663964333830303433653838643945ce06355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683134653739306435363139643763376345cf06745f5a4e313170616c6c65745f6175726135345f244c5424696d706c247532302470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243232696e697469616c697a655f617574686f7269746965733137686530386661306434646434396465333945d006e1015f5a4e34636f72653370747231363664726f705f696e5f706c616365244c5424626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c542473705f636f6e73656e7375735f617572612e2e737232353531392e2e6170705f737232353531392e2e5075626c6963244324626f756e6465645f636f6c6c656374696f6e732e2e436f6e7374553332244c542433325f75333224475424244754242447542431376832393537346235363937386462363535452e6c6c766d2e313433333231393137383338353937313732d1064e5f5a4e313170616c6c65745f617572613670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137686330323533383131333865363765653145d206575f5a4e313170616c6c65745f617572613670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137683662663565306135396664313332313445d3069e015f5a4e313170616c6c65745f617572613670616c6c6574315f3130305f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f617572612e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a653137683935653165343762613138653665623745d406735f5a4e34636f726533707472353764726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d61702447542431376830623437636636613536613039396138452e6c6c766d2e313433333231393137383338353937313732d506495f5a4e313170616c6c65745f7375646f3670616c6c6574313550616c6c6574244c542454244754243131656e737572655f7375646f3137683734646333313461633664636230333445d6069e015f5a4e313170616c6c65745f7375646f3670616c6c6574315f3130305f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a653137683539666133303335633135343064323945d7068e015f5a4e313170616c6c65745f7375646f3670616c6c6574315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137686266333965356431613862336533353845d8068f015f5a4e313170616c6c65745f7375646f3670616c6c6574315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e4572726f72244c542454244754242447542439747970655f696e666f3137683832366138626537616135633138366545d9068f015f5a4e313170616c6c65745f7375646f3670616c6c6574315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e4576656e74244c542454244754242447542439747970655f696e666f3137686461306365373866343165613732656445da0698015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683537613135643664653137666137636645db0698015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683631383262393335313537316330363145dc069b015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f3137683162336434343265646366343735616445dd069b015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c54245424475424244754243973697a655f68696e743137683230363535653064343035656439353245de069c015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e4576656e74244c542454244754242447542439656e636f64655f746f3137683863356134666538323266393738653545df06b5015f5a4e3132345f244c542473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683666666266633634363239333363303245e006b0015f5a4e3132365f244c542463756d756c75735f70616c6c65745f617572615f6578742e2e426c6f636b4578656375746f72244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e6d6973632e2e45786563757465426c6f636b244c5424426c6f636b244754242447542432327665726966795f616e645f72656d6f76655f7365616c3137683234306239396338336534336566613045e1069c015f5a4e3132365f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e507265616d626c65244c5424416464726573732443245369676e6174757265244324457874656e73696f6e24475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683734666664623066303164363264306645e206475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686262386335386162346164303137303445e306b9015f5a4e3132385f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683061313963343138666132383535313845e406be015f5a4e3133335f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683134626135306430326534363032623245e506a8015f5a4e3133385f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e4162726964676564496e626f756e644d65737361676573436f6c6c656374696f6e244c54244d65737361676524475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686565333764663162323734303335653045e6066b5f5a4e31336672616d655f737570706f72743674726169747336746f6b656e7339696d62616c616e636531336f6e5f756e62616c616e63656431324f6e556e62616c616e63656431346f6e5f756e62616c616e636564733137683935643734323761363138633564366245e706775f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376861656638626235643165393531366131452e6c6c766d2e313433333231393137383338353937313732e806775f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376832386262303036356236663434383036452e6c6c766d2e313433333231393137383338353937313732e906775f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376836346332373336636665633764633531452e6c6c766d2e313433333231393137383338353937313732ea0699015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542431307472795f6d75746174653137683339643035636362303530656566643245eb0699015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542431307472795f6d75746174653137686537393266393136643233363062666445ec06a0015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542431377472795f6d75746174655f6578697374733137683332656531653634326135623161396145ed0691015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424336765743137683634326139623661633639323830623645ee0694015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542436617070656e643137683635393732326662356361646238366145ef0694015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542436696e736572743137686235386163646439343364646332376245f00694015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424366d75746174653137683131653861373762333732326664376345f10694015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424366d75746174653137683964396334336633626436623066313245f20694015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424366d75746174653137686637383538623335663339663736623345f3069a015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617038375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e4974657261626c6553746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542434697465723137686330326239323362646561656639393945f406525f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e63653963616c6c5f6f6e636531376837363462376235646234643731323034452e6c6c766d2e313433333231393137383338353937313732f506b1015f5a4e3134375f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e2443245f24475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683934313737333665323031393734383545f606b8015f5a4e323963756d756c75735f70616c6c65745f7765696768745f7265636c61696d315f3131355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c54245424432453244754242447542439747970655f696e666f3137686661366635653833333731343763323445f706c5015f5a4e3136345f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e2443245f244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683838303261363563666561346439313445f806d2015f5a4e3137375f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e24432431363737373231365f7573697a65244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137683330323636363138613832303933643645f9063f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683136343230366438666563336430396245fa06e0015f5a4e3139325f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244c6f6f6b7570536f7572636524432443616c6c2443245369676e6174757265244324457874656e73696f6e24432431363737373231365f7573697a652447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e436865636b61626c65244c54244c6f6f6b7570244754242447542435636865636b3137686633653766636237643130393438623545fb06ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137683334623538633139333538323937633545fc06ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137683634663766373662306438643532646545fd06ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137683732633861663438316232633033343645fe06ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137683733653466623762616666343763643945ff06ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376838613637346639343230646436383237458007ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376864313736646539343165316461633262458107ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376866356137613434646430393961393062458207ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376866363531396263393330613331353134458307ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137686661613930656634383535343832623245840783025f5a4e3231385f244c542463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c24475424244754243133626172655f76616c696461746531376836393161303233343234393664656537458507fb015f5a4e3231385f244c542463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c24475424244754243677656967687431376862643966613864326230346538616634458607fd015f5a4e3231385f244c542463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c2447542424475424386d6574616461746131376866313532386237343733326561633335458707ff015f5a4e3231395f244c542473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e5f2e2e244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f72247532302473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754242e2e646573657269616c697a652e2e5f5f4669656c6456697369746f7224753230246173247532302473657264655f636f72652e2e64652e2e56697369746f72244754243976697369745f7374723137686531303138646233356363613365343545880787025f5a4e3232375f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e5f2e2e244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754242e2e646573657269616c697a652e2e5f5f4669656c6456697369746f7224753230246173247532302473657264655f636f72652e2e64652e2e56697369746f72244754243976697369745f73747231376862393833613635346566336138616539458907b4015f5a4e323273746167696e675f70617261636861696e5f696e666f3670616c6c6574315f3131315f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a6531376832636130346339373630386436333263458a07a4015f5a4e323273746167696e675f70617261636861696e5f696e666f3670616c6c6574315f39365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f31376834636534393066393330326266373566458b07a3015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e7436395f244c5424696d706c247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243135636f6d707574655f6665655f72617731376863666335326632383864363532373436452e6c6c766d2e3134333332313931373833383539373137328c075d5f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d6574616461746131376830613233306336616131333034613266458d07665f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d6574616461746131376833363430353039663832393038623638458e07ae015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e4576656e74244c542454244754242447542439747970655f696e666f31376832373831633232343561613062646337458f07bb015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e4576656e74244c542454244754242447542439656e636f64655f746f31376839373530373839336131623765646134459007bc015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574315f3131355f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a6531376834376466396339633233626661383533459107b7025f5a4e3237305f244c542470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e496e697469616c697a65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d626572244754242447542431336f6e5f696e697469616c697a6531376833613366313264656330306265646637459207555f5a4e3237706f6c6b61646f745f72756e74696d655f70617261636861696e733130466565547261636b6572313964656372656173655f6665655f666163746f7231376865333265313234353562346130626231459307c2025f5a4e3238335f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e46696e616c697a65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d626572244754242447542431316f6e5f66696e616c697a6531376834303938396165313739643234666662459407c7025f5a4e3238385f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e46696e616c697a65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d626572244754242447542431316f6e5f66696e616c697a6531376834323564613163626338383733373033459507cb025f5a4e3239305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e496e697469616c697a65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d626572244754242447542431336f6e5f696e697469616c697a6531376865626337663934306261653739353435459607c2015f5a4e323963756d756c75735f70616c6c65745f7765696768745f7265636c61696d315f3132385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424475424366465636f646531376834636136633734353332643934353562459707625f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d65746164617461313768366364663230363662613433643463304598076b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d6574616461746131376839356232373539313461333331633933459907b7015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3130355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f31376835303364666232363763303862663064459a07b8015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3130365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e4572726f72244c542454244754242447542439747970655f696e666f31376832386636396635393430333732316234459b07b8015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3130365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e4576656e74244c542454244754242447542439747970655f696e666f31376837363435343633366361336366313561459c07c1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f646531376830666535353362393634613737656463459d07c1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f646531376864386266643437613562343437326666459e07c4015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f31376835633866376666393765373762616636459f07c5015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3131395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e4576656e74244c542454244754242447542439656e636f64655f746f3137686366613865656138663831653831646645a00796015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424313673656e645f756d705f7369676e616c733137683363346130333665666164306362316345a10799015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424313973656e645f7570776172645f6d6573736167653137686536313239616532393130643032626445a2079b015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432317363686564756c655f636f64655f757067726164653137683663666531653864396266633638643745a3079c015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243232636f6c6c6563745f636f6c6c6174696f6e5f696e666f3137683964623162633833346536663363376545a407a1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243237636865636b5f68726d705f6d6573736167655f6d657461646174613137683234313836636438373365393465666345a507a3015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432396d617962655f64726f705f696e636c756465645f616e636573746f72733137686539316366613836353133383239323245a607a3015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243239756e696e636c756465645f7365676d656e745f73697a655f61667465723137686462613335386233636334303931646145a707a7015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243333656e71756575655f696e626f756e645f646f776e776172645f6d657373616765733137683030373037396530313565333263376545a807a9015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243335656e71756575655f696e626f756e645f686f72697a6f6e74616c5f6d657373616765733137686664326339343737343439393266383145a907475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683134343932373534633337303235623345aa07475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683161366533613533646238616131303145ab07475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683863343935343663313338656462353245ac07475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686266656564393636306666663965386445ad07475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686330353039373931653661656566663945ae07475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686338613439363032663033663834386245af074b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137683361373139376233323439636430636345b0075c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d743137683234313530646434636533353833373045b107c6085f5a4e34636f7265337074723130353864726f705f696e5f706c616365244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e507265616d626c65244c542473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c542473705f636f72652e2e63727970746f2e2e4163636f756e7449643332244324244c5024245250242447542424432473705f72756e74696d652e2e4d756c74695369676e617475726524432463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244324244c50246672616d655f73797374656d2e2e657874656e73696f6e732e2e617574686f72697a655f63616c6c2e2e417574686f72697a6543616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e5f7a65726f5f73656e6465722e2e436865636b4e6f6e5a65726f53656e646572244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f737065635f76657273696f6e2e2e436865636b5370656356657273696f6e244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f67656e657369732e2e436865636b47656e65736973244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d652447542424432470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524475424245250242447542424475424244754243137683034343134323461366464393230306145b2079f015f5a4e34636f72653370747231323464726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c542473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c542475333224432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137683536306463333036653861386639613645b307b3015f5a4e34636f72653370747231343464726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c5424244c5024706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e4964244324706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e6448726d704d6573736167652452502424475424244754243137683164633531393839633666623961323945b407c6015f5a4e34636f72653370747231363364726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e4162726964676564496e626f756e644d65737361676573436f6c6c656374696f6e244c5424706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e64446f776e776172644d65737361676524475424244754243137683939363566363763396431656132643345b5075b5f5a4e34636f726533707472353764726f705f696e5f706c616365244c542473705f747269652e2e73746f726167655f70726f6f662e2e53746f7261676550726f6f66244754243137683732613239366632393364313034326345b607675f5a4e34636f726533707472363964726f705f696e5f706c616365244c5424706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244754243137683936303663666435323666663766313345b7076a5f5a4e34636f726533707472373264726f705f696e5f706c616365244c5424706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e4865616444617461244754243137683434343132303633303133666362303145b8077e5f5a4e34636f726533707472393264726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c5424706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e64446f776e776172644d65737361676524475424244754243137683365383263616637313739623261623145b907355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683235663737303538393166353863636145ba07355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683364616136626530343664313938376445bb07355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137686535383332363463383632616239323945bc07785f5a4e36365f244c5424542475323024617324753230247061726974795f7363616c655f636f6465632e2e64657074685f6c696d69742e2e4465636f64654c696d69742447542432376465636f64655f616c6c5f776974685f64657074685f6c696d69743137683337303038313762353233383731326145bd07665f5a4e37335f244c542473705f747269652e2e73746f726167655f70726f6f662e2e53746f7261676550726f6f66247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683865396562363234653838333930373245be07555f5a4e3774696e7976656338617272617976656331374172726179566563244c542441244754243234647261696e5f746f5f7665635f616e645f726573657276653137683761303132323261376632336565613545bf078b015f5a4e39355f244c542470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137683034376166316532333263353435313545c0077f5f5a4e39385f244c5424706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e24475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686133616531613961616161656535373745c107635f5a4e37305f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686464633035663933333039306338626145c20798015f5a4e3130345f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e657874656e73696f6e732e2e457874656e73696f6e53746f7265244754243230657874656e73696f6e5f62795f747970655f69643137686534363630666465653532626265653645c307a3015f5a4e3130345f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e657874656e73696f6e732e2e457874656e73696f6e53746f7265244754243331646572656769737465725f657874656e73696f6e5f62795f747970655f69643137683031646231626164656637386164633545c4079b015f5a4e31307363616c655f696e666f35696d706c7337375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f7865642e2e426f78244c542454244754242447542439747970655f696e666f31376865653665336532636565386637636261452e6c6c766d2e38313230393937313131383637373437353335c507755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683935346332313762393261383739343445c60782015f5a4e31307363616c655f696e666f35696d706c7337375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f7865642e2e426f78244c542454244754242447542439747970655f696e666f3137686634386362656239396261616136666545c707ce015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733138636865636b5f737065635f76657273696f6e315f3132325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f737065635f76657273696f6e2e2e436865636b5370656356657273696f6e244c542454244754242447542439747970655f696e666f3137683935333965383362316137343661626145c807c0015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733133636865636b5f67656e65736973315f3131335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f67656e657369732e2e436865636b47656e65736973244c542454244754242447542439747970655f696e666f3137683563316364346333616363336635313545c907be015f5a4e3131305f244c542470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137683038333264393639393730356135633945ca073b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683835336564336563653164313336323645cb07715f5a4e34636f726533707472373964726f705f696e5f706c616365244c5424616c6c6f632e2e626f7865642e2e426f78244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24475424244754243137686339353438373133633832303338626345cc07bf015f5a4e3131315f244c54246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137686434376531663531313134633962303345cd074f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137683964353362346231343236353165656145ce074f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137686466336536313637663531653333626245cf074f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137683266356132313730396631386538386245d0074f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137683264653336386635343433643861366345d107c1015f5a4e3131335f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137686539306365623262656538623837663945d207c3015f5a4e3131355f244c542470616c6c65745f74696d657374616d702e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137683765613263383963666534303736343945d307c6015f5a4e3131385f244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137686265613039346265373236313334343745d4074f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137683165613266306264333238303364613245d507d2015f5a4e3133305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137683336343133363862383865353336353645d6075c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d743137683234313530646434636533353833373045d7075a5f5a4e36315f244c542473705f636f6e73656e7375735f736c6f74732e2e536c6f74247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686430343562616236353636663335666445d807bc015f5a4e3133315f244c542463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686634393038326637653761653366306345d9078a015f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863613862633638376131336337376361452e6c6c766d2e38313230393937313131383637373437353335da07485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683064323731666435386333303833353545db07485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683232623337626131393164363539323245dc07485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683439346661613464396162396661303845dd07485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683664313466393933613363663135633545de07485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683764393734306663376331303430373545df07d4015f5a4e3133325f244c542463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137686239303464633531333930653836383645e007485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686339326636613236326465623637653945e107485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686664656632353931376634643934653945e2074f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137683831383361313934663632643136343845e307ae015f5a4e3134305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c54244824475424247532302461732475323024636f72652e2e64656661756c742e2e44656661756c74244754243764656661756c743137683136616233643839366665363231333245e407c1015f5a4e3134345f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c5424482447542424753230246173247532302473705f747269652e2e50726f6f6653697a6550726f7669646572244754243231657374696d6174655f656e636f6465645f73697a653137683666313038383665343364313662613045e507ba015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d65557067726164652447542431326f6e5f69646c655f686f6f6b31376861666536633733323163633037346336452e6c6c766d2e38313230393937313131383637373437353335e607a2015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d6555706772616465244754243133657865637574655f626c6f636b3137683737313561643961653039316436373045e707a5015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d6555706772616465244754243136696e697469616c697a655f626c6f636b3137686339343031373365643839383761646145e807585f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c244754243137683336376164393563396161376564666645e907a7015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d6555706772616465244754243138646f5f6170706c795f65787472696e7369633137683564303939333438643032336530646445ea077c5f5a4e39355f244c542473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e5472616e73616374696f6e56616c69646974794572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683038383365313765336336333832366145eb07bf015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d6555706772616465244754243137696e686572656e74735f6170706c69656431376864633731653738343739313463306639452e6c6c766d2e38313230393937313131383637373437353335ec07a3015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d655570677261646524475424313466696e616c697a655f626c6f636b3137683130326463613036636139396466333945ed07a4015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d65557067726164652447542431356f6666636861696e5f776f726b65723137683034336165396131333134623036336145ee075f5f5a4e36365f244c542473705f776569676874732e2e7765696768745f76322e2e576569676874247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683231336534633363643733306538383545ef07a9015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d655570677261646524475424323076616c69646174655f7472616e73616374696f6e3137683331316462643334656365666637356545f007e7015f5a4e3136325f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c5424482447542424753230246173247532302473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e54726965436163686550726f7669646572244c5424482447542424475424313661735f747269655f64625f636163686531376866323637386336396163623033386433452e6c6c766d2e38313230393937313131383637373437353335f107d3015f5a4e3136355f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c54244824475424247532302461732475323024747269655f64622e2e547269654361636865244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424244754242447542431386765745f6f725f696e736572745f6e6f64653137683362393134633636396263623037393245f207d4015f5a4e3136355f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c54244824475424247532302461732475323024747269655f64622e2e547269654361636865244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c542448244754242447542424475424313963616368655f76616c75655f666f725f6b65793137683130356439303137333231386531363045f307d5015f5a4e3136355f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c54244824475424247532302461732475323024747269655f64622e2e547269654361636865244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424244754242447542432306c6f6f6b75705f76616c75655f666f725f6b65793137686661376338613261646433666262373345f4072f5f5a4e396861736862726f776e336d6170396d616b655f686173683137683935633663383666636438383265326645f507c8015f5a4e3136355f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c54244824475424247532302461732475323024747269655f64622e2e547269654361636865244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c542448244754242447542424475424386765745f6e6f64653137683638393633333963386132303539616645f607eb015f5a4e3138305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c54244824475424247532302461732475323024747269655f64622e2e547269655265636f72646572244c5424244c542448247532302461732475323024686173685f64622e2e486173686572244754242e2e4f757424475424244754243237747269655f6e6f6465735f7265636f726465645f666f725f6b65793137686132373065626431663564386661373245f707d5015f5a4e3138305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c54244824475424247532302461732475323024747269655f64622e2e547269655265636f72646572244c5424244c542448247532302461732475323024686173685f64622e2e486173686572244754242e2e4f75742447542424475424367265636f72643137683131626361383634343737393564636545f807495f5a4e396861736862726f776e336d61703238486173684d6170244c54244b2443245624432453244324412447542435656e7472793137683266333065336535666239666362666245f907435f5a4e396861736862726f776e3372617732315261775461626c65244c542454244324412447542436696e736572743137683430343534396235306539366565376545fa074a5f5a4e396861736862726f776e336d61703238486173684d6170244c54244b2443245624432453244324412447542436696e736572743137683836653039353839656639323033336445fb0781015f5a4e323363756d756c75735f70616c6c65745f617572615f6578743134636f6e73656e7375735f686f6f6b3437466978656456656c6f63697479436f6e73656e737573486f6f6b244c5424542443245f2443245f2443245f24475424313463616e5f6275696c645f75706f6e3137683737663537383538313331613261663045fc07685f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e313476616c69646174655f626c6f636b3137686265396333306365326561383835363945fd07715f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3233686f73745f6f6666636861696e5f696e6465785f7365743137683535336438356133653537323939383545fe07735f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3235686f73745f6f6666636861696e5f696e6465785f636c6561723137686638313766346438386339306561306645ff073b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683937336332306137663832376236396245800894015f5a4e34636f72653370747231313364726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e4f7665726c617965644368616e676573244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424313768333162633037636664383231393034614581083b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f77313768386133343635646331363534333338314582083b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f7731376839303236373235366532376135613439458308c9045f5a4e34636f72653370747235353064726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424245246246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443242452462463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f323536244754242447542424475424313768333963386232306466313961396661374584087a5f5a4e39305f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324542443245324475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542436696e7365727431376832306563373132303261316536666562458508575f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831343464383966363066303839633135458608475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376838656332363265653830303362336163458708475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768616135613638326663393732353937394588084a5f5a4e34355f244c5424244c502424525024247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768343930633538313864613834383036344589085c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247536342447542433666d7431376835616232393334383332323135333338458a088a015f5a4e34636f72653370747231303364726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242447542431376835613232363430303863636238613538458b08b7015f5a4e34636f72653370747231343864726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f323536244754242447542431376865356563346162643131396161393836458c08505f5a4e34636f726533707472343664726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c54247538244754242447542431376831613031636535343031306461383661458d08765f5a4e34636f726533707472383464726f705f696e5f706c616365244c54246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242447542431376836326630613063343437633330666466458e08795f5a4e34636f726533707472383764726f705f696e5f706c616365244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242447542431376835616565353736363933366534313765458f087f5f5a4e34636f7265346861736835696d706c7334395f244c5424696d706c2475323024636f72652e2e686173682e2e486173682475323024666f7224753230247538244754243130686173685f736c69636531376839613638636438643239363434623437452e6c6c766d2e3831323039393731313138363737343735333590083b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f7731376830393232633732326536633137366639459108605f5a4e36375f244c542473705f73746174655f6d616368696e652e2e44656661756c744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836326539623035623662613531646566459208625f5a4e36395f244c5424636f72652e2e616c6c6f632e2e6c61796f75742e2e4c61796f75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863366262613634393265653837396534459308625f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831303235386638333138373561663832459408455f5a4e3773705f74726965313750726f6f6653697a6550726f7669646572313773746172745f7472616e73616374696f6e3137686436393534326234653433306634623145950889015f5a4e38335f244c54246d656d6f72795f64622e2e50726566697865644b6579244c542448244754242475323024617324753230246d656d6f72795f64622e2e4b657946756e6374696f6e244c5424482447542424475424336b657931376832636466343866643334326338373836452e6c6c766d2e383132303939373131313836373734373533359608775f5a4e39305f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324542443245324475424247532302461732475323024686173685f64622e2e486173684442244c5424482443245424475424244754243367657431376839613038303437386136323964383264459708485f5a4e396861736862726f776e336d6170396d616b655f6861736831376839343766333865616639316437643133452e6c6c766d2e3831323039393731313138363737343735333598087a5f5a4e39305f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324542443245324475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542436696e73657274313768383865396166323662346133613266324599087b5f5a4e39305f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324542443245324475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542437656d706c61636531376865383038383339306661313132626233459a085c5f5a4e396861736862726f776e3372617732315261775461626c65244c542454244324412447542436696e7365727431376839326237616565663038633636306464452e6c6c766d2e383132303939373131313836373734373533359b08665f5a4e396861736862726f776e336d61703238486173684d6170244c54244b24432456244324532443244124475424396765745f696e6e657231376834333632343835366539353264376463452e6c6c766d2e383132303939373131313836373734373533359c0884015f5a4e39315f244c5424616c6c6f632e2e626f7865642e2e426f78244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e57726170706572547970654465636f64652447542431346465636f64655f7772617070656431376863343564383930613233346239313634459d087a5f5a4e39335f244c5424245246245424753230246173247532302473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e6453746f72616765244c54244824475424244754243367657431376861336332313037373431333433353236459e087a5f5a4e39335f244c5424245246245424753230246173247532302473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e6453746f72616765244c54244824475424244754243367657431376865663838376638313664303635366166459f087a5f5a4e39335f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324542443245324475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324542447542424475424336765743137683631363836383962346135353237343045a0087f5f5a4e39335f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324542443245324475424247532302461732475323024686173685f64622e2e486173684442526566244c54244824432454244754242447542438636f6e7461696e733137683732383165626436383539313264346645a1087e5f5a4e39375f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e72656c61795f73746174655f736e617073686f742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686633313064643735363436363761376145a208625f5a4e396861736862726f776e336d61703238486173684d6170244c54244b2443245624432453244324412447542435656e74727931376831626335393732636335316465623330452e6c6c766d2e38313230393937313131383637373437353335a3084e5f5a4e396d656d6f72795f646233304d656d6f72794442244c5424482443244b462443245424432453244754243131636f6e736f6c69646174653137683934323838313366316636396262636545a40888015f5a4e3130335f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683432336636346463383361386335313445a5089c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f697465723137683963356163343637366464363661366145a60881015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686337666663653933323038646534373645a70888015f5a4e3130335f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683465636334316566373836313334653645a8089c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f697465723137683330323532343037393336316365633745a9089c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f697465723137683866303262616364356334306261383145aa088b015f5a4e3130335f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683666633331333561333262616464396445ab088c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683630313738303432626464343831613145ac08ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683035366530363838663132613233336645ad0881015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683861313166616131316364343361656145ae088c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683736333664383764343539626662313545af08ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683938373231346535616364353039326145b00881015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686437663337636537393662666431356145b1088c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683836623138336365353334613635613745b208ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683766646131393564383032653031353945b30881015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683135363234393865376438376333316145b4088c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686638333630386130623135386161326545b508ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683461663630303865373361373337303945b60881015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686561323039373763323738613536336445b7088f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683738313434326638376639383836383145b8088f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683934613062323838613431383230376145b908b7015f5a4e31307363616c655f696e666f35696d706c733130345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242447542439747970655f696e666f31376830393265333930373430633236363436452e6c6c766d2e38313730373730303038373137353838333836ba086d5f5a4e31307363616c655f696e666f35696d706c7335365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424524624542447542439747970655f696e666f3137686139383133613865663765643739646445bb0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683036396236633966313039393362636545bc0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683131653266363538353462663235376545bd0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683461333730396634326665666636633545be0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683862306633646234346263653965303045bf0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683938313234323335333230363834613145c00885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137686263303137313164313134326364373745c10885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137686338333739613138663833303530313345c20885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137686430653939326363613032353430316545c3089e015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f31376865383863356335663637616363303336452e6c6c766d2e38313730373730303038373137353838333836c40892015f5a4e313073657264655f636f726532646535696d706c7338375f244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c54245424475424244754243131646573657269616c697a653137683038313035393962323432326563323245c50892015f5a4e313073657264655f636f726532646535696d706c7338375f244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c54245424475424244754243131646573657269616c697a653137683635336138326663336264313938333845c60892015f5a4e313073657264655f636f726532646535696d706c7338375f244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c54245424475424244754243131646573657269616c697a653137686339336336636161393435306465336445c708c6015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733135636865636b5f6d6f7274616c697479315f3131375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c542454244754242447542439747970655f696e666f3137683062376263333631346438393031316245c8088e015f5a4e3131315f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e497465724d7574244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683933653739663832633031303531613545c90893015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683062376338393063333739393765356445ca0893015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683131663032303234653730636639653345cb0893015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683335356233663039306434346235356245cc0893015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683531633538336365356465336631373045cd0893015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686332373561643436626564313561356145ce0893015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686339383766373366643330376633333545cf089c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f697465723137683033336530356663393164636362336145d0083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686365313363316463653835663239356345d1083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683166323130663735303763323462663545d2083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683062616661613266636365656633303345d308ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683232326265343465313036313331623045d4083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686235316462326464663434623064616345d5083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683763343362366563393764633732366245d6083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683765663664613234626539383535656345d7083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686538323337646635613735366662353645d808be015f5a4e31336672616d655f737570706f7274367472616974733773746f72616765315f39385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e73746f726167652e2e4e6f44726f70244c542454244754242447542439747970655f696e666f31376833373165656630386533353064303538452e6c6c766d2e38313730373730303038373137353838333836d90891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424336765743137683032643432303333326532323035326545da0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424336765743137683439623261646336656264653964376245db0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683030353033376662386663343364303445dc0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683032303465616161666333663539323345dd0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683032643864643736633033343065336345de0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683330386265633030393038633335363045df0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683336326631363236366163656262366445e00891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683336353966616665333938363961326145e10891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683431313139373766323433646439343045e20891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683437373364663339316334343531626245e30891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683538646633313436336662663161323545e40891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683762653237313139613961323937386145e50891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683832613961363536646637363063333445e60891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686134626235316632343362646237323945e70891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686239663338336234373633356536396345e80891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686335393835383131383630373962313045e90891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686365343237653764623838613737393845ea0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686431366530333564343438386134623745eb0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686432383434316538326239303430653145ec08585f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376839623736323738316237313135353362452e6c6c766d2e38313730373730303038373137353838333836ed0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686461393262383333623531613835316445ee0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686563313764393035313238636236363445ef0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686633663966333530623239346235383545f00891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337365743137686139363064393765663963633361623345f10894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f722475323024472447542436617070656e643137683261633237333935363833363836303045f20894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f722475323024472447542436617070656e643137683433626136303963633133656238306245f30894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f722475323024472447542436617070656e643137683436626263323631343163653333616645f40894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f722475323024472447542436617070656e643137683730653964306537343139393938643145f50894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f722475323024472447542436617070656e643137686433383965306437323239643463383745f60894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683063663432353331323439643030613145f70894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683136336662393566656536386338396645f80894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683161633535386564333639316538313145f90894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683164353939313531636166303733346345fa0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683266656237386339353838336432336645fb0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683538616138343736626266303663623345fc0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683633663364393438643938353432356245fd0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683835656138333434303136626430383745fe0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683866663138653663653031343233363245ff0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683936333734356230386162376461343445800994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137686133356531636434336461643561316145810994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137686333363230346431353635383136623745820994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d757461746531376863646562323137383137363561653462458309d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376831306437653865313233336531623236458409585f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376837396532336437306563323266623037452e6c6c766d2e383137303737303030383731373538383338368509d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376832363035393939306634663563653963458609d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376832363664333030356430366337353664458709d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376836666334313337653938613436663730458809d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d65746164617461313768383662323961633664643865633161344589093f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376836313430613537336636343933373131458a09d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376861633234363332396439623837663538458b093f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376865356566336339666265353365653735458c09ff015f5a4e3232305f244c54246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c244754242447542438696d706c6963697431376832343039386362303636326537663539458d09475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831313737386437653836623039643837458e09475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376861376634323532313761613061386136458f09475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376862376261666664383766653832323031459009475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376864336230306530343066303631363661459109475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865353133363463393064346365663939459209475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865653636623933313863373961313061459309475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686663386436636565333038313063643945940989015f5a4e34636f7265336f70733866756e6374696f6e35696d706c7337395f244c5424696d706c2475323024636f72652e2e6f70732e2e66756e6374696f6e2e2e466e4d7574244c542441244754242475323024666f722475323024245246246d7574247532302446244754243863616c6c5f6d75743137683532613239336534313663386365353445950982015f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e48323536244754242447542431376835373835666534353134336162646361452e6c6c766d2e383137303737303030383731373538383338369609f6015f5a4e34636f72653370747232313164726f705f696e5f706c616365244c54246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424475424313768323732326535373066636265323063344597093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e313768313932336262326439386334383063394598093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e313768316235393734643966663631386136614599093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376833336564616532653736353764396563459a093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376834633663373363306264623531366530459b093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376835323764636531643034616164663366459c093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376838326538343265356235373862363038459d093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376861343861363835616438303263353034459e093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376864303363613637386264363765623665459f093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686531356362356264393462303330663945a0093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686534653233326362373465653737613145a1093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686562303265616464313136333932356145a2093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686636613734663362383731646664393145a309565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137683037363861383530333338663966303645a409565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137686131393262343533663136613064363945a509565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137686231303537653364346438653933643945a609565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137686566326131363733663063666633636545a709565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b2443245624432441244754243672656d6f76653137683461643336663435613464373835653345a8093d5f5a4e35616c6c6f63337665633136566563244c54245424432441244754243973706c69745f6f66663137686465366439666139373134663163623645a9094a5f5a4e3773705f74726965313373746f726167655f70726f6f663132436f6d7061637450726f6f663132746f5f6d656d6f72795f64623137686534336232323536366236656238646145aa095c5f5a4e37747269655f64623130747269655f636f64656332364465636f646572537461636b456e747279244c542443244754243139616476616e63655f6368696c645f696e6465783137683330376261336663336437306639313945ab09575f5a4e37747269655f64623130747269655f636f64656332364465636f646572537461636b456e747279244c542443244754243134707573685f746f5f7072656669783137686166616163303532623334306236613745ac09545f5a4e37747269655f64623130747269655f636f64656332364465636f646572537461636b456e747279244c542443244754243131656e636f64655f6e6f64653137683562323937306265386464383333326445ad09485f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c24475424336e65773137686263323366653563353662353831663345ae09525f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c2447542431326e65775f70726566697865643137683830626664393833666466373438306445af09645f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c244754243670726566697831376834333361626338303135373464626166452e6c6c766d2e38313730373730303038373137353838333836b0096c5f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c2447542431336e6578745f7261775f6974656d31376863633631373634333464303238643135452e6c6c766d2e38313730373730303038373137353838333836b1095c5f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c2447542432326e65775f70726566697865645f7468656e5f7365656b3137683066396636636436643338636164306445b209495f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c24475424347365656b3137683130626262333139646631643161633845b309785f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c244754243235657874726163745f6b65795f66726f6d5f7261775f6974656d31376838363765626238393966303635396264452e6c6c766d2e38313730373730303038373137353838333836b4094d5f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c24475424386e6578745f6b65793137683533626434613432616464376165353045b5094e5f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c24475424396e6578745f6974656d3137686339386437633830633637623931333145b609735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683037386430656439323539633832663845b709735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683135396236643466613766623738373145b809735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683439336237663035636564306433363345b909735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686661333932616161306536346265336345ba09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683238333961626139346133383130333445bb09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683666356334623864353039636132383845bc09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683937623338346536393638373064356445bd09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686436623762353562656435663031643845be09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686538613435393231343339613233636145bf09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686635643230356330326333393132396345c009a7015f5a4e39365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653133636c6f6e655f7375627472656531376864623931366264616161303163393464452e6c6c766d2e38313730373730303038373137353838333836c1098b015f5a4e39375f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e6d6973632e2e446566656e73697665244c54245424475424244754243135646566656e736976655f70726f6f663137683165373439653438396133646239383745c20981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683038633066623733303534383530633445c30981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686630656536336535393763306637393245c40981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686536306632393530363934373962656345c50981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683730353830373938613336663932636445c60981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686638666630626132656465333766333045c7099a015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376838366130616430353633346530343031452e6c6c766d2e38313730373730303038373137353838333836c80981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686637323736646364653536643435646445c90981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683438336262623861666331343465343945ca0981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683361333933306365303339613433383645cb099e015f5a4e3130325f244c5424747269655f64622e2e7472696564622e2e5472696544424b65794974657261746f72244c54244c24475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376836343839313236656330376338383931452e6c6c766d2e33383932383539353335303533313239343839cc0985015f5a4e3130325f244c5424747269655f64622e2e7472696564626d75742e2e56616c7565244c54244c24475424247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c5424747269655f64622e2e6e6f64652e2e56616c756524475424244754243466726f6d3137683162623638336636353436366633356445cd09a6015f5a4e3133335f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e457874656e64244c5424244c542441247532302461732475323024736d616c6c7665632e2e4172726179244754242e2e4974656d244754242447542436657874656e643137683832363430386565313136663962313445ce093c5f5a4e38736d616c6c7665633137536d616c6c566563244c54244124475424387472795f67726f773137686134383030626131363635313366353145cf094a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137686665323134366639386562356237373645d009a6015f5a4e3133335f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e457874656e64244c5424244c542441247532302461732475323024736d616c6c7665632e2e4172726179244754242e2e4974656d244754242447542436657874656e643137686562326666353262343138623333616145d109555f5a4e38736d616c6c7665633137536d616c6c566563244c54244124475424387472795f67726f7731376862386237323237343234326230613138452e6c6c766d2e33383932383539353335303533313239343839d2094a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137686136623262343632363234376166303445d3095a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137683637353331653131303261323663336645d4095a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137686435333836636565383861613534393445d509675f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f646532385f24753762242475376224636c6f73757265247537642424753764243137686663613062656666366163336362356245d6095a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137686638316631393639356339373566663345d709675f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f646532385f24753762242475376224636c6f73757265247537642424753764243137686531633465653763653035643865383545d80990015f5a4e34636f72653370747231303964726f705f696e5f706c616365244c5424747269655f64622e2e7472696564626d75742e2e4e6f6465244c542473705f747269652e2e4c61796f75745630244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137683132626330356238646430616631363145d90991015f5a4e34636f72653370747231313064726f705f696e5f706c616365244c5424747269655f64622e2e7472696564626d75742e2e56616c7565244c542473705f747269652e2e4c61796f75745630244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137683065313939353636346138633132383245da09b0015f5a4e34636f72653370747231313664726f705f696e5f706c616365244c5424747269655f64622e2e7472696564622e2e5472696544424974657261746f72244c542473705f747269652e2e4c61796f75745631244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754242447542431376836613563353764383138323365316666452e6c6c766d2e33383932383539353335303533313239343839db09ad015f5a4e34636f72653370747231333864726f705f696e5f706c616365244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c5424747269655f64622e2e7472696564626d75742e2e56616c7565244c542473705f747269652e2e4c61796f75745630244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f323536244754242447542424475424244754243137686133386230396139663433356438356545dc0989025f5a4e34636f72653370747232333064726f705f696e5f706c616365244c5424636f72652e2e726573756c742e2e526573756c74244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e4832353624475424244324616c6c6f632e2e626f7865642e2e426f78244c5424747269655f64622e2e547269654572726f72244c54247072696d69746976655f74797065732e2e4832353624432473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e4832353624475424244754242447542424475424244754243137683965656263336331613564356139656245dd096c5f5a4e34636f726533707472373464726f705f696e5f706c616365244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e4832353624475424244754243137686261613336313261623864366136363645de09695f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e4832353624475424244754243137683537383566653435313433616264636145df09775f5a4e36355f244c5424736d616c6c7665632e2e436f6c6c656374696f6e416c6c6f63457272247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863333234333533313336343733343034452e6c6c766d2e33383932383539353335303533313239343839e009635f5a4e36395f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683365626338633831353163616366653945e109635f5a4e36395f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686161616566643730323235363538353945e209635f5a4e36395f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686232326539313165383438663462356145e3096d5f5a4e37355f244c5424747269655f64622e2e7472696564622e2e547269654442244c54244c24475424247532302461732475323024747269655f64622e2e54726965244c54244c2447542424475424386765745f686173683137686530306636616635623438643363663245e4096d5f5a4e37355f244c5424747269655f64622e2e7472696564622e2e547269654442244c54244c24475424247532302461732475323024747269655f64622e2e54726965244c54244c2447542424475424386765745f776974683137686162623833376334346138306363336345e509675f5a4e37355f244c5424747269655f64622e2e7472696564626d75742e2e56616c7565244c54244c24475424247532302461732475323024636f72652e2e636d702e2e5061727469616c4571244754243265713137683333343130623964353137366538336245e60980015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431316465636f64655f706c616e3137683932303030373438346336643236376345e709445f5a4e37747269655f6462367472696564623135547269654442244c54244c24475424313166657463685f76616c75653137686666356638333361623561353766333045e8094a5f5a4e37747269655f6462367472696564623135547269654442244c54244c2447542431376765745f7261775f6f725f6c6f6f6b75703137686135373633356332653535633338393545e909465f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f6465643137683736306330386437316361623434633145ea09485f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c244754243134696e6c696e655f6f725f686173683137686664663566376632663665373035636645eb09645f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f64656432385f24753762242475376224636c6f73757265247537642424753764243137686232353366633864643662666237646445ec09645f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f64656432385f24753762242475376224636c6f73757265247537642424753764243137683863373535383865393235633565363145ed09465f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f6465643137686431363165393431306564383833313645ee09485f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c244754243134696e6c696e655f6f725f686173683137683436303536373937643536326265313945ef09645f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f64656432385f24753762242475376224636c6f73757265247537642424753764243137683034626166663830646636353939323245f009645f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f64656432385f24753762242475376224636c6f73757265247537642424753764243137683565643862653561643037316565393045f109495f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313566726f6d5f6e6f64655f6f776e65643137683364616534646533316238643834656545f209495f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313566726f6d5f6e6f64655f6f776e65643137683635336365373764343639646337316645f309475f5a4e37747269655f6462397472696564626d7574313456616c7565244c54244c244754243132696e746f5f656e636f6465643137683263373361366262383837313062306345f409625f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542436636f6d6d697432385f24753762242475376224636c6f73757265247537642424753764243137686635306463656537343530313839303445f509475f5a4e37747269655f6462397472696564626d7574313456616c7565244c54244c244754243132696e746f5f656e636f6465643137683361326330396433313339633061383045f609625f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542436636f6d6d697432385f24753762242475376224636c6f73757265247537642424753764243137683639383862306465323233303333346245f709475f5a4e37747269655f6462397472696564626d7574313456616c7565244c54244c244754243132696e746f5f656e636f6465643137683462623064666136306466333865656245f809695f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243132636f6d6d69745f6368696c6432385f24753762242475376224636c6f73757265247537642424753764243137686339323361623536316237346463303745f909475f5a4e37747269655f6462397472696564626d7574313456616c7565244c54244c244754243132696e746f5f656e636f6465643137686262313861313637323364623965333245fa09695f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243132636f6d6d69745f6368696c6432385f24753762242475376224636c6f73757265247537642424753764243137683761343530303039666539633437313145fb09495f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f64653137683538346135356261396231353263626645fc095d5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f6465313863616368655f6368696c645f76616c7565733137683534303232643864636531323934383045fd09495f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f64653137686662643365373637333763616634396145fe094a5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313163616368655f76616c75653137683831636464376632313866323530396545ff094a5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313163616368655f76616c75653137686538313536656366656563653932366545800a685f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313163616368655f76616c756532385f24753762242475376224636c6f73757265247537642424753764243137686339636637656634333662633531666545810a4b5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243132636f6d6d69745f6368696c643137683062336236646634356562396364613845820a7d5f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f64656324475424396c6561665f6e6f64653137686566393962396132323366626339643745830a6f5f5a4e38305f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e696e6465782e2e496e646578244c542449244754242447542435696e6465783137683334363262333234626566383761393345840a80015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431316272616e63685f6e6f64653137683130363538386631346338646539636445850a4b5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243132636f6d6d69745f6368696c643137686466343464313164306639386231643145860a4f5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243136696e736572745f696e73706563746f723137683635663731356135373264303938343845870a605f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542439696e736572745f617431376866656161623536613636323763366365452e6c6c766d2e33383932383539353335303533313239343839880a505f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542431377265706c6163655f6f6c645f76616c75653137683765333063633035616434313762313945890a4f5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243136696e736572745f696e73706563746f7231376838353935336561633937633265373035458a0a605f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542439696e736572745f617431376834353032336161666537393231346530452e6c6c766d2e333839323835393533353035333132393438398b0a435f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542435636163686531376831643938653036316664326431666161458c0a435f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542435636163686531376863666537326262333764303462646132458d0a475f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424396669785f696e6e657231376833643562313434303563383130373165458e0a475f5a4e37747269655f6462397472696564626d757432304e6f646553746f72616765244c54244c244754243764657374726f7931376837346137373766653364353234393639458f0a475f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424396669785f696e6e65723137683766323032616462323536366262613545900a475f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243972656d6f76655f61743137683132643066393539663263323663653445910a655f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243972656d6f76655f617432385f24753762242475376224636c6f73757265247537642424753764243137683666626336336163383262343030656445920a475f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243972656d6f76655f61743137686665343532386632633961376163303045930a655f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243972656d6f76655f617432385f24753762242475376224636c6f73757265247537642424753764243137686634663037326538643536396265393745940a6e5f5a4e38305f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683362376166373864336230376236333045950a6e5f5a4e38305f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683437626530313161623534333739306645960a745f5a4e38345f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024747269655f64622e2e547269654d7574244c54244c244754242447542436696e736572743137683237653366663938616630643638323545970a745f5a4e38345f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024747269655f64622e2e547269654d7574244c54244c244754242447542436696e736572743137683834343164333366646266616165313245980a745f5a4e38345f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024747269655f64622e2e547269654d7574244c54244c24475424244754243672656d6f76653137683863386563323263313235393238623445990a745f5a4e38345f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024747269655f64622e2e547269654d7574244c54244c24475424244754243672656d6f766531376863336539613962623834346530343230459a0a4a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b656431376832316431643832623938343232373738459b0a4a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b656431376864646230313862646631313036323938459c0a80015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431316272616e63685f6e6f646531376834656630346665363665653166646666459d0a83015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f646563244754243134657874656e73696f6e5f6e6f646531376831313963616230333063616461343433459e0a83015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f646563244754243134657874656e73696f6e5f6e6f646531376831333835666563383731376534633231459f0a88015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431396272616e63685f6e6f64655f6e6962626c65643137683837623139326431306337393661313045a00a88015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431396272616e63685f6e6f64655f6e6962626c65643137683939383533316530633539363633626645a10a7d5f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f64656324475424396c6561665f6e6f64653137683930336661323764386436366534333645a20a92015f5a4e39315f244c5424747269655f64622e2e7472696564622e2e5472696544424974657261746f72244c54244c24475424247532302461732475323024747269655f64622e2e547269654974657261746f72244c54244c2447542424475424347365656b31376863363333383237393233366634343231452e6c6c766d2e33383932383539353335303533313239343839a30a9a015f5a4e39395f244c5424747269655f64622e2e7472696564622e2e5472696544424974657261746f72244c54244c24475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376862393961616264383333363663393231452e6c6c766d2e33383932383539353335303533313239343839a40a9c015f5a4e3130315f244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e416c7265616479496e52756e74696d65247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376839336139646337643530333136373530452e6c6c766d2e35303530373034383731383130383339383937a50a9d015f5a4e3130325f244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e4e6f4f70656e5472616e73616374696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376839643234333632306266666331313365452e6c6c766d2e35303530373034383731383130383339383937a60a3b5f5a4e313073657264655f636f7265326465354572726f7231336d697373696e675f6669656c643137686161366336303935376637623730626645a70a7b5f5a4e36365f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264655f636f72652e2e64652e2e4572726f722447542436637573746f6d31376833393338343634316535383038373563452e6c6c766d2e35303530373034383731383130383339383937a80a3b5f5a4e313073657264655f636f7265326465354572726f723133756e6b6e6f776e5f6669656c643137683966643333656465373134663761653645a90a3c5f5a4e313073657264655f636f7265326465354572726f723134696e76616c69645f6c656e6774683137683261616166653333326236623331626345aa0a3d5f5a4e313073657264655f636f7265326465354572726f7231356475706c69636174655f6669656c643137683038323031613034313964366532653745ab0a8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f737472696e673137686430303639666361346461343432363645ac0a515f5a4e313073657264655f636f72653264653756697369746f723976697369745f6d617031376836346661356664323630333564636665452e6c6c766d2e35303530373034383731383130383339383937ad0a3c5f5a4e313073657264655f636f7265326465394d617041636365737331306e6578745f76616c75653137683732303136323063303363623330366445ae0a625f5a4e36365f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264655f636f72652e2e64652e2e4572726f722447542436637573746f6d3137683465366237363934313866313335613945af0a3e5f5a4e313073657264655f636f72653264653953657141636365737331326e6578745f656c656d656e743137683036633634353263373463396437626245b00a8e015f5a4e38305f244c542473657264655f6a736f6e2e2e64652e2e536571416363657373244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e5365714163636573732447542431376e6578745f656c656d656e745f7365656431366861735f6e6578745f656c656d656e743137686339323662366630373934636238656445b10a8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683766663334343434353764666465353345b20a3e5f5a4e313073657264655f636f72653264653953657141636365737331326e6578745f656c656d656e743137683262363930303037373666616130656645b30a8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683062653336653066333561613337356445b40a3e5f5a4e313073657264655f636f72653264653953657141636365737331326e6578745f656c656d656e743137683965333839663632656362646364353145b50a8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683634626332643839333764383964323045b60a3e5f5a4e313073657264655f636f72653264653953657141636365737331326e6578745f656c656d656e743137686139303536613137333537333533626145b70a3e5f5a4e313073657264655f636f72653264653953657141636365737331326e6578745f656c656d656e743137686561393939333766626237346537376345b80a8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683365643861353931346431336635623945b90a535f5a4e313073657264655f6a736f6e32646531325061727365724e756d62657235766973697431376839656239373735653936376564316134452e6c6c766d2e35303530373034383731383130383339383937ba0a4a5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431317363616e5f6e756d6265723137683534313766633762326264376563366345bb0a4c5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431337363616e5f6578706f6e656e743137686264386635373530303136633236656545bc0a4b5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431327363616e5f696e74656765723137683531313638356139363331303432376645bd0a4c5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313370617273655f646563696d616c3137686165666531636235323431393839303145be0a4d5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431346636345f66726f6d5f70617274733137683837636165373036633232626336303745bf0a4d5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313470617273655f6578706f6e656e743137683330613466653033633565326636653945c00a555f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424323270617273655f646563696d616c5f6f766572666c6f773137683438306236623761356130313965363945c10a655f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313370617273655f696e746567657231376861393937306661633738653739653439452e6c6c766d2e35303530373034383731383130383339383937c20a515f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313870617273655f6c6f6e675f696e74656765723137683233336133353237383633363765636145c30a565f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424323370617273655f6578706f6e656e745f6f766572666c6f773137683262386164633432653035643230613845c40a4f5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313670617273655f616e795f6e756d6265723137683234343761663739343638376436643845c50a695f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431377065656b5f696e76616c69645f7479706531376838396663366263363462333966323261452e6c6c766d2e35303530373034383731383130383339383937c60a565f5a4e313073657264655f6a736f6e356572726f72354572726f7231326669785f706f736974696f6e31376835323935623661386638623465383130452e6c6c766d2e35303530373034383731383130383339383937c70a455f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542437656e645f6d61703137686638666662653732363663396532663945c80a455f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542437656e645f7365713137683766663435633834393863386634323845c90aa5015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424336765743137683261396634623866366431633535393345ca0aa5015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424336765743137683561633834363462366564303533373145cb0aa8015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542436696e736572743137683433356537383538663430616331343945cc0aa8015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c542475382447542424475424244754243672656d6f76653137683135323839386335313038336366633345cd0aa9015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542437656d706c6163653137683764386461656663326439666530393245ce0aaa015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137686565336239343362396235613736633145cf0aaa015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137686662626235333935396535653630333145d00a4a5f5a4e31336672616d655f737570706f7274323267656e657369735f6275696c6465725f68656c70657231306765745f7072657365743137686337663332666263336133633232313745d10a4b5f5a4e31336672616d655f737570706f7274323267656e657369735f6275696c6465725f68656c70657231316275696c645f73746174653137683561396661366666373234616430646245d20a8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683466343566316466386436653864633445d30ab9015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424336765743137683039613137633264333061373837633645d40ab9015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424336765743137683235313931623264663333393066313045d50abe015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137683330336439623339366237646364363945d60abe015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137683432626563313839383665383333326145d70a645f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431317365745f73746f726167653137686166346633383466313038643136336545d80a655f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243132636c6561725f7072656669783137686665326436303030303438373161303945d90a665f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431336368696c645f73746f726167653137683331633566613938376663343063373745da0a665f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243133656e7465725f72756e74696d653137683066303530346563616330616530366145db0a675f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243134617070656e645f73746f726167653137686339646135386662303061626430663745dc0a675f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243134617070656e645f73746f726167653137686539303338346332633264376361653345dd0a695f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431366368696c645f697465725f61667465723137683736623665633436326432303236653945de0a6a5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431377365745f6368696c645f73746f726167653137683334656435633031656437616534323645df0a6a5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c54244824475424313773746172745f7472616e73616374696f6e3137683763346664386162653439633234653245e00a6b5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431386368696c645f73746f726167655f726f6f743137683233666339386663343031633662343745e10a7c5f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f726f6f743137683765616239333838656438613032393345e20a6b5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431386368696c645f73746f726167655f726f6f743137683365313535323863323134663464616645e30a7c5f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f726f6f743137686233396430373565303666383135393345e40a6b5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243138636c6561725f6368696c645f7072656669783137686130336639376334303864393764353545e50a6b5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243138636f6d6d69745f7472616e73616374696f6e3137683863653830336132633035366436363145e60a96015f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e676573657432354f7665726c617965644d6170244c54244b24432456244754243236636c6f73655f7472616e73616374696f6e5f6f6666636861696e31376834646335313235623738306562356432452e6c6c766d2e35303530373034383731383130383339383937e70a6c5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243139636c6561725f6368696c645f73746f726167653137686434306335386331633233653662653145e80a6d5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243230726f6c6c6261636b5f7472616e73616374696f6e3137683964306537646130346463363230313645e90a6d5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542432307365745f6f6666636861696e5f73746f726167653137683131636631363939383163306539663845ea0a6e5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243231647261696e5f73746f726167655f6368616e6765733137686462616263316634363935623438616345eb0a6e5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243231647261696e5f73746f726167655f6368616e6765733137686664396231636334326535306339626345ec0a5f5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243773746f726167653137683938613034633339666130633763663345ed0a725f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e676573657432354f7665726c617965644d6170244c54244b24432456244754243135647261696e5f636f6d6d69747465643137686532376438623666636664316365316545ee0a745f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431306368696c645f726f6f743137683633376237363662356637376662653545ef0a695f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e4832353624475424244754243137683537383566653435313433616264636145f00a745f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431306368696c645f726f6f743137686338653130323138656436316565376545f10a765f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424313273746f726167655f726f6f743137683430623536626630393565326264636445f20a765f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424313273746f726167655f726f6f743137683664333937636163616266633833376645f30a94015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c542453244324482443244324432452244754243132776974685f747269655f646232385f24753762242475376224636c6f73757265247537642424753764243137683430333635323435643263653331303645f40a775f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431336368696c645f73746f726167653137683330336132613436616337303437373645f50a775f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431336368696c645f73746f726167653137686364646535633335383735383464623345f60a7c5f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f686173683137686466363330383030356261633134376545f70a7c5f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f686173683137686666373036653266313537346534633045f80a7c5f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f726f6f743137683634323130373337383032623133353745f90a7c5f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f726f6f743137683936343738393764313436643434353445fa0a80015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542432326e6578745f6368696c645f73746f726167655f6b65793137683436383535366230366565336135323145fb0a80015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542432326e6578745f6368696c645f73746f726167655f6b65793137686132303437313539363663616131333945fc0a715f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424387261775f697465723137683038353034316133666633363337383745fd0a715f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424387261775f697465723137683233653030303162363036356566633945fe0a3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686235663661643936613430656165383345ff0a5b5f5a4e3231756e69636f64655f6e6f726d616c697a6174696f6e396465636f6d706f736532334465636f6d706f736974696f6e73244c5424492447542439707573685f6261636b3137683638323131623935646332303032643045800b475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686236393263666435303233663330303745810b4b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137683031663963376465663630343162363645820b4b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137683164383164353164363861323831626345830b4b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137683536326334396431653864323731393245840b645f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d7431376837356336643835386632376130656335452e6c6c766d2e35303530373034383731383130383339383937850b4b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137683764386462666334643564393566623745860b305f5a4e34636f726533666d743557726974653977726974655f666d743137686430653866316236373034366138393845870ba5015f5a4e34636f72653370747231333064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137686635653764656139303537313566383345880baf015f5a4e34636f72653370747231343064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137683131316362336162363362373063656245890b655f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e672447542431376839643435316539363131653438323031452e6c6c766d2e353035303730343837313831303833393839378a0b4f5f5a4e34636f726533707472343564726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f722447542431376861376632326236356331643435363133458b0b6c5f5a4e34636f726533707472343964726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e46726f6d557466384572726f722447542431376830613266353736303538336362383162452e6c6c766d2e353035303730343837313831303833393839378c0bd8045f5a4e34636f72653370747235363564726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c5424245246246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443242452462463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754242447542431376830396636393032353832363730356537458d0b82015f5a4e34636f726533707472393664726f705f696e5f706c616365244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e47656e65736973436f6e666967244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242447542431376862343562383666633164616133333864458e0b6b5f5a4e35335f244c5424636f72652e2e666d742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831613765663838326461313630313739452e6c6c766d2e353035303730343837313831303833393839378f0b785f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f6368617231376838366230353530333234383531333264452e6c6c766d2e35303530373034383731383130383339383937900b765f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376864633737653830386633366335353863452e6c6c766d2e35303530373034383731383130383339383937910b2f5f5a4e356269703339384d6e656d6f6e69633870617273655f696e3137683333353533653934636133636165623145920b625f5a4e36305f244c5424245246246d7574247532302454247532302461732475323024627335382e2e656e636f64652e2e456e636f6465546172676574244754243131656e636f64655f776974683137683934633938313663356532353838646145930b775f5a4e36355f244c5424616c6c6f632e2e737472696e672e2e46726f6d557466384572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376834343165613361333537363365623764452e6c6c766d2e35303530373034383731383130383339383937940b625f5a4e36365f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264655f636f72652e2e64652e2e4572726f722447542436637573746f6d3137683830386263316135393331333464663745950b605f5a4e36375f244c542473705f73746174655f6d616368696e652e2e44656661756c744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683632653962303562366261353164656645960b715f5a4e37345f244c542473705f747269652e2e747269655f73747265616d2e2e5472696553747265616d247532302461732475323024747269655f726f6f742e2e5472696553747265616d244754243132626567696e5f6272616e63683137686164396539633231356365306566323545970b755f5a4e37345f244c542473705f747269652e2e747269655f73747265616d2e2e5472696553747265616d247532302461732475323024747269655f726f6f742e2e5472696553747265616d244754243136617070656e645f73756273747265616d3137683638366661623232346636326230346345980b86015f5a4e38305f244c542473657264655f6a736f6e2e2e64652e2e4d6170416363657373244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e4d61704163636573732447542431336e6578745f6b65795f7365656431326861735f6e6578745f6b65793137686330373838636164343463356436316545990b765f5a4e38335f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e466978656455363424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a65244754243973657269616c697a6531376832646532636637333830343636326336459a0b765f5a4e38335f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e466978656455363424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a65244754243973657269616c697a6531376835616233363837376261343338623038459b0b765f5a4e38335f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e466978656455363424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a65244754243973657269616c697a6531376866653763613261616338343132303962459c0b775f5a4e38345f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e46697865645531323824753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a65244754243973657269616c697a6531376831353630666162643232396537393962459d0b775f5a4e38345f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e46697865645531323824753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a65244754243973657269616c697a6531376836646538313235323637656464313563459e0b775f5a4e38345f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e46697865645531323824753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a65244754243973657269616c697a6531376862383831323432356135633531653536459f0b8c015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243135646573657269616c697a655f7365713137683034643061383163353936633831396245a00b8c015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243135646573657269616c697a655f7365713137683234363766613538386136386239346245a10b8c015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243135646573657269616c697a655f7533323137686161666462643733313039326232366345a20b8e015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243137646573657269616c697a655f7475706c653137686539656230336466653435393361323145a30b8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683134393137383138373031616661633245a40b8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686636313530653134336366313839636345a50b8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686135316364613930303039636230323545a60b8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686233323463306333356166616130373045a70b8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686133396336633461623037363865656345a80b8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686337333335353934646566616630653245a90b83015f5a4e3130315f244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e416c7265616479496e52756e74696d65247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683933613964633764353033313637353045aa0b89015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683436643762343837306264653439316445ab0b82015f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e48323536244754242447542431376835373835666534353134336162646361452e6c6c766d2e37303430343835323138313338373937313830ac0b89015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683536363632326661636639386163663245ad0b89015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683632656561383730303064623235393345ae0b89015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137686232303065333031353861323731393145af0b84015f5a4e3130325f244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e4e6f4f70656e5472616e73616374696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683964323433363230626666633131336545b00ba3015f5a4e3130345f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e657874656e73696f6e732e2e457874656e73696f6e53746f726524475424333172656769737465725f657874656e73696f6e5f776974685f747970655f69643137683237336237626563633533376435333645b10b455f5a4e313673705f65787465726e616c6974696573313345787465726e616c697469657331317365745f73746f726167653137683736646535363431383630313532346545b20b475f5a4e313673705f65787465726e616c6974696573313345787465726e616c69746965733133636c6561725f73746f726167653137683164333634363135316162666237376145b30b4b5f5a4e313673705f65787465726e616c6974696573313345787465726e616c697469657331377365745f6368696c645f73746f726167653137683535343636343132663432313436623245b40b4d5f5a4e313673705f65787465726e616c6974696573313345787465726e616c69746965733139636c6561725f6368696c645f73746f726167653137683565663433656264653165653065346545b50b5a5f5a4e313673705f73746174655f6d616368696e65336578743136457874244c542448244324422447542432356c696d69745f72656d6f76655f66726f6d5f6261636b656e643137683237303031383837643938393062346445b60bce015f5a4e34636f72653370747231343664726f705f696e5f706c616365244c5424616c6c6f632e2e626f7865642e2e426f78244c5424747269655f64622e2e547269654572726f72244c54247072696d69746976655f74797065732e2e4832353624432473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e483235362447542424475424244754242447542431376863386439636262633330333266623838452e6c6c766d2e37303430343835323138313338373937313830b70b5a5f5a4e313673705f73746174655f6d616368696e65336578743136457874244c542448244324422447542432356c696d69745f72656d6f76655f66726f6d5f6261636b656e643137686630613761623661323465383765653345b80b475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686337623139616131656166353736356545b90ba5015f5a4e34636f72653370747231333064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137686635653764656139303537313566383345ba0baf015f5a4e34636f72653370747231343064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137683131316362336162363362373063656245bb0bd8045f5a4e34636f72653370747235363564726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c5424245246246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443242452462463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137683039663639303235383236373035653745bc0b6d5f5a4e34636f726535617272617936395f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f722475323024247535622454247533622424753230244e24753564242447542433666d743137683665643033313761636338356139373545bd0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683231383531643164336532313337363045be0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683532313261323263636239666364626445bf0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683535323936336566643630653238363345c00b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683536333764316337393963623532336145c10b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683638383764343461343164353737313045c20b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683663313337366636316564643837353745c30b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683766333765386161383437393333666145c40b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683936646434633930306537643133346445c50b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686131666664323130633835353665343645c60b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686137633939373138633461623030383045c70b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686161613532646532653935643966333745c80b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686232613538306364303865333831363945c90b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686237306461396135653564363265383445ca0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686333373962653038313663346330333445cb0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686533366239636634643737306439376445cc0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686562336332666331393230656633393845cd0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686636363733623435653035656436613245ce0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686662633363643436303563623438306145cf0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686665653337613333363235363132646445d00b605f5a4e36375f244c542473705f73746174655f6d616368696e652e2e44656661756c744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683632653962303562366261353164656645d10b565f5a4e3774696e797665633774696e79766563313654696e79566563244c5424412447542434707573683232647261696e5f746f5f686561705f616e645f707573683137683762383133323866636431646362366245d20b80015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313070726f6f665f73697a653137683335616236383137333837363661383245d30b80015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313070726f6f665f73697a653137686137383136333337373966616664383645d40b82015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243132636c6561725f7072656669783137683066343365623661313961316336376245d50b82015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243132636c6561725f7072656669783137683365313165303564623163373763343045d60b82015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313273746f726167655f686173683137683037373166343933623562383834663345d70b82015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313273746f726167655f686173683137683037646439353961316663323463376245d80b82015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313273746f726167655f726f6f743137683939656665326237393061633233646245d90b82015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313273746f726167655f726f6f743137686439386534336239363034353733333745da0b83015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431336368696c645f73746f726167653137683265393037396331373933656234366545db0b83015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431336368696c645f73746f726167653137683738323234383663323036366666353345dc0b83015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431336765745f77686974656c6973743137683937633662383436386339376431663745dd0b83015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243133706c6163655f73746f726167653137683936666633366539356339326466376445de0b83015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431337365745f77686974656c6973743137683838633963666363613463353365636445df0b84015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431346578697374735f73746f726167653137683137303838316462373939396133643245e00b84015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431346578697374735f73746f726167653137686538353431663131643531393031373545e10b84015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313473746f726167655f617070656e643137686165396432306162663065626133653045e20b84015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313473746f726167655f617070656e643137686663633765333664653065326239643945e30b86015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431366e6578745f73746f726167655f6b65793137683865623565636138303466633461373645e40b86015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431366e6578745f73746f726167655f6b65793137686632616161346333396566336334373245e50b86015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243136726561645f77726974655f636f756e743137683830653062323062333536613830313145e60b86015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243136726561645f77726974655f636f756e743137686435366566633637623033373233356645e70b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386368696c645f73746f726167655f686173683137683631623262323765396433366632656645e80b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386368696c645f73746f726167655f686173683137686337346131626537366437383132363545e90b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386368696c645f73746f726167655f726f6f743137683262346231626665663865323031326145ea0b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386368696c645f73746f726167655f726f6f743137683634633534373165383835343766356245eb0b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243138636c6561725f6368696c645f7072656669783137683563396136653962343065383530653145ec0b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243138636c6561725f6368696c645f7072656669783137686362313436313764633862663731653145ed0b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386b696c6c5f6368696c645f73746f726167653137683830633239663633323330663864353045ee0b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386b696c6c5f6368696c645f73746f726167653137683938663537623363393939663736363545ef0b89015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243139706c6163655f6368696c645f73746f726167653137683838353530393237313565306132303945f00b8a015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432306578697374735f6368696c645f73746f726167653137683831306232393738653761323530306245f10b8a015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432306578697374735f6368696c645f73746f726167653137686531306263323238306633363431376345f20b8a015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432307365745f6f6666636861696e5f73746f726167653137683436353662306231306162383238353845f30b8c015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432326e6578745f6368696c645f73746f726167655f6b65793137683731313638306230666161373632373545f40b8c015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432326e6578745f6368696c645f73746f726167655f6b65793137683938663639393363383939343538336645f50b8c015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323272657365745f726561645f77726974655f636f756e743137683663306335353132653666333735306345f60b8c015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323272657365745f726561645f77726974655f636f756e743137686132376465646134333765356664383045f70b8f015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432356765745f726561645f616e645f7772697474656e5f6b6579733137686331393762373364643332373739306345f80b8f015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432356765745f726561645f616e645f7772697474656e5f6b6579733137686464636536623466623637383931396145f90b8f015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323573746f726167655f696e6465785f7472616e73616374696f6e3137683166653934656263343732303731646645fa0b8f015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323573746f726167655f73746172745f7472616e73616374696f6e3137683364316430643863383534343265323445fb0b90015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323673746f726167655f636f6d6d69745f7472616e73616374696f6e3137683830336364393538386630656532653545fc0b92015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323873746f726167655f726f6c6c6261636b5f7472616e73616374696f6e3137683164646664323561353630666461386645fd0b95015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424333173746f726167655f72656e65775f7472616e73616374696f6e5f696e6465783137683939343634656666373730326530353445fe0b795f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542434776970653137683639366133663862633637306365363645ff0b795f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542434776970653137686331323430373630373732343630306245800c7b5f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542436636f6d6d69743137683235336239346231616236616137663845810c7b5f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542436636f6d6d69743137683336363430643965303936373336323245820c7c5f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243773746f726167653137683336343564356664323566353363303145830c7c5f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243773746f726167653137686135313638333563326162346439356345840c4a5f5a4e31307363686e6f72726b656c36646572697665313044657269766174696f6e3138646572697665645f6b65795f73696d706c653137683566643138633130613262393965343545850c9d015f5a4e3132365f244c542463756d756c75735f7072696d6974697665735f636f72652e2e70617261636861696e5f626c6f636b5f646174612e2e50726570656e644279746573496e707574244c542449244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e496e7075742447542434726561643137683431353037336563373932623066613245860ca5015f5a4e3133325f244c542463756d756c75735f7072696d6974697665735f636f72652e2e70617261636861696e5f626c6f636b5f646174612e2e50617261636861696e426c6f636b44617461244c5424426c6f636b244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686566306538313232326639373834633045870cbd015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c3130395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024244c50244b302443244c302443244d302443244e302443244f30244324503024432451302443245230245250242447542439656e636f64655f746f3137683865623062326231363332393161613345880c475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683631623234626564373739663030333645890c425f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646539656e636f64655f746f31376839353163373138646665353937363434458a0c475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f64656431376863613836616637646138303332363336458b0c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376861316139396430393632653936663762458c0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376833386532336133653333666637313134458d0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376838356339373465633963653536643438458e0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376838383435343632316263333230643136458f0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686166363866336637343330323166353645900c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686461663365366164616636373235333045910c305f5a4e346273353836656e636f64653131656e636f64655f696e746f3137683866616165623439306234666337376545920c95025f5a4e34636f72653370747232313764726f705f696e5f706c616365244c5424244c50247072696d69746976655f74797065732e2e483235362443246861736862726f776e2e2e6d61702e2e486173684d6170244c5424616c6c6f632e2e626f7865642e2e426f78244c542424753562247538247535642424475424244324747269655f64622e2e43616368656456616c7565244c54247072696d69746976655f74797065732e2e483235362447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d537461746524475424245250242447542431376838616137373064313263623235636333452e6c6c766d2e32363737353638383637383936353735303733930c85015f5a4e34636f726533707472373464726f705f696e5f706c616365244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e48323536244754242447542431376862616133363132616238643661363636452e6c6c766d2e32363737353638383637383936353735303733940c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683033633863653333303263383462393645950c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683066316561396539616563346664633345960c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683138373338353937343139663666373045970c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683231396266623430623734373337353945980c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683335373462316437343738653161653145990c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376833613634353032373862616366663462459a0c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376834313531353533383162613237376430459b0c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376834363063333864633364646532333230459c0c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376834373466663662613530666563376436459d0c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376835316134366135373332356330616531459e0c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376835643962636261326331336465373965459f0c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683633663337653437636539663039356645a00c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683664376262663839313466623838316245a10c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683730366666636236333430303763623445a20c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683863356664303330383333623436313945a30c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686431653762636435343832636263376245a40c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686538653562363930653561613433383845a50c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686539363737636537353764366235393645a60c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686632316235663363663533343335663245a70c6e5f5a4e35365f244c5424627335382e2e656e636f64652e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836396638316637373031303736653639452e6c6c766d2e32363737353638383637383936353735303733a80c645f5a4e36355f244c542424753562245424753564242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683337623665383135623531333637316245a90c7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683535616434343661326564356266356345aa0c7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683930373362623566323937643330653445ab0c7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686436313238386163336637306636373145ac0c7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686561306638653032333664363635613145ad0c7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686664623666336637623631653334396145ae0c465f5a4e396861736862726f776e3372617731335261775461626c65496e6e6572313664726f705f696e6e65725f7461626c653137686563393764623230363738643438373245af0c4c5f5a4e396861736862726f776e3372617731335261775461626c65496e6e6572323266616c6c69626c655f776974685f63617061636974793137683930626361323533363662393034613245b00c4c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137683063653932636235663637666332623045b10c4c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137683138616535333634633431653033326245b20c4c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137683734356430383164656464653363663345b30c4c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137683761386632663862343161343336396545b40c4c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137686364646631396463356232313634366645b50c4c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137686630333030653265306231323136633245b60c6a5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f72656861736832385f24753762242475376224636c6f73757265247537642424753764243137686435643630353061336631326439623745b70c2d5f5a4e39747269655f726f6f7431306275696c645f747269653137686139663735373461643761366237323645b80c325f5a4e39747269655f726f6f743135747269655f726f6f745f696e6e65723137683664626264646636653031333962653545b90c8f015f5a4e3130305f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e696e686572656e742e2e50726f76696465496e686572656e742447542431356372656174655f696e686572656e743137686466636430613764623963663338386545ba0c755f5a4e36325f244c542473705f72756e74696d652e2e44697370617463684572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376862373939376434396162356135623931452e6c6c766d2e3136313132333733343434373433323030313934bb0c94015f5a4e3130335f244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137683431343461333131616133616131343345bc0c89015f5a4e31307363616c655f696e666f35696d706c7338345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242447542439747970655f696e666f3137683239373737303565333532313963653945bd0c89015f5a4e31307363616c655f696e666f35696d706c7338345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242447542439747970655f696e666f3137683263313331616563663562336439333845be0c89015f5a4e31307363616c655f696e666f35696d706c7338345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242447542439747970655f696e666f3137683738303564313565343561663062366445bf0c89015f5a4e31307363616c655f696e666f35696d706c7338345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242447542439747970655f696e666f3137686336386164373066323565393461343945c00c8a015f5a4e313073705f72756e74696d65315f38395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f722447542439656e636f64655f746f3137683265313438373936363461366539396145c10c88015f5a4e313073705f72756e74696d65315f39305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e4d756c74695369676e617475726524475424366465636f64653137683462663266653964616163373637303745c20c8b015f5a4e313073705f72756e74696d65315f39305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e4d756c74695369676e61747572652447542439656e636f64655f746f3137683032393633643733386164366133623245c30c93015f5a4e3131355f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e47656e65736973436f6e666967244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4275696c6447656e65736973436f6e66696724475424356275696c643137683436623039366639656161353966363145c40c5c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d743137683234313530646434636533353833373045c50cad015f5a4e3131365f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686234656134383061373334643961386445c60c8b015f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863613862633638376131336337376361452e6c6c766d2e3136313132333733343434373433323030313934c70c2e5f5a4e313161727261795f6279746573396279746573326865783137683037653632303565343462613261663745c80ca9015f5a4e313170616c6c65745f7375646f3670616c6c65743131385f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542470616c6c65745f7375646f2e2e70616c6c65742e2e4572726f72244c54245424475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137686166643761633662396265373266646345c90c98015f5a4e3132305f244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4275696c6447656e65736973436f6e66696724475424356275696c643137683230656336613962613164313735663845ca0c755f5a4e38305f244c5424636f72652e2e7374722e2e7061747465726e2e2e5374725365617263686572247532302461732475323024636f72652e2e7374722e2e7061747465726e2e2e53656172636865722447542431306e6578745f6d617463683137683334666431666335396337333234303145cb0cb4015f5a4e3773705f636f726537737232353531393133345f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f72247532302473705f636f72652e2e63727970746f5f62797465732e2e43727970746f4279746573244c542433325f7573697a6524432473705f636f72652e2e737232353531392e2e537232353531395075626c6963546167244754242447542433666d743137686337633365356537623736396534616245cc0c595f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686464386633383165626431663764663345cd0c555f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c54245424432449244754243135656e737572655f75706772616465643137683034626536613863623865356435306445ce0cb2015f5a4e3132315f244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686462643435623738306135363835313745cf0cab015f5a4e31326672616d655f73797374656d3670616c6c65743131395f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c54246672616d655f73797374656d2e2e70616c6c65742e2e4572726f72244c54245424475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137683033623465626337376664326136323245d00c7d5f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6537726567756c61723130556e62616c616e636564313664656372656173655f62616c616e636531376864323630373236373761373635653435452e6c6c766d2e3136313132333733343434373433323030313934d10c95025f5a4e313570616c6c65745f62616c616e6365733133696d706c5f66756e6769626c653230305f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e66756e6769626c652e2e726567756c61722e2e496e7370656374244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244754242475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c5424542443244924475424244754243137726564756369626c655f62616c616e63653137683262626361643261623536333039306345d20cae025f5a4e313570616c6c65745f62616c616e6365733133696d706c5f66756e6769626c653230335f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e66756e6769626c652e2e726567756c61722e2e556e62616c616e636564244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244754242475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c542454244324492447542424475424313377726974655f62616c616e636531376834386262386465383762313739366565452e6c6c766d2e3136313132333733343434373433323030313934d30c635f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6537726567756c61723130556e62616c616e6365643136696e6372656173655f62616c616e63653137683264376166383666376638343238303445d40c555f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6537726567756c6172364d7574617465387472616e736665723137683964383232376163656662613938343745d50caa025f5a4e313570616c6c65745f62616c616e6365733133696d706c5f66756e6769626c653230305f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e66756e6769626c652e2e726567756c61722e2e496e7370656374244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244754242475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c542454244324492447542424475424313263616e5f776974686472617731376863343033363530303732333361656537452e6c6c766d2e3136313132333733343434373433323030313934d60c565f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6537726567756c6172364d7574617465396275726e5f66726f6d3137683235343632663165663364656135643845d70c535f5a4e31336672616d655f737570706f7274367472616974733773746f72616765313553746f72616765496e7374616e636531317072656669785f686173683137686363343831663862623132616462356145d80c7d5f5a4e3133737335385f726567697374727938726567697374727936365f244c5424696d706c2475323024737335385f72656769737472792e2e616464726573735f666f726d61742e2e5373353841646472657373466f726d6174244754243969735f637573746f6d3137686563626132643662303839353939633945d90caf015f5a4e313470616c6c65745f676c7574746f6e3670616c6c65743132315f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e4572726f72244c54245424475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137683537666465663730353363383536366145da0c515f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137686130363366343166356264323739616145db0c9f015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137686462653866303136646266353934336545dc0c9f015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137686663646535626133346433306130343545dd0ca2015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f3137686635343236323731323337616363306645de0ca4015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130335f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a653137683462303235396632646237386161336145df0ca4015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130335f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a653137683663613964613261643739356133346145e00c755f5a4e34636f726533707472353764726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d61702447542431376830623437636636613536613039396138452e6c6c766d2e3136313132333733343434373433323030313934e10c94015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f38385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137683365323063323161666438303266613145e20c95015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f38395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e4572726f72244c542454244754242447542439747970655f696e666f3137683065633162343434636161386639363245e30c99015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f39335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e4576656e742447542439656e636f64655f746f3137683165646264383433646132623934386245e40ccb015f5a4e3135325f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e7061796d656e742e2e46756e6769626c6541646170746572244c5424462443244f552447542424753230246173247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e7061796d656e742e2e4f6e4368617267655472616e73616374696f6e244c54245424475424244754243233636f72726563745f616e645f6465706f7369745f6665653137686437626163646536653931393661336445e50c9a025f5a4e313570616c6c65745f62616c616e6365733133696d706c5f63757272656e63793231345f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e63757272656e63792e2e72657365727661626c652e2e52657365727661626c6543757272656e6379244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244754242475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c54245424432449244754242447542439756e726573657276653137683236653964666562396565333734383645e60cb5015f5a4e313570616c6c65745f62616c616e6365733670616c6c65743132365f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e4572726f72244c5424542443244924475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137686233356235346531393266313561333745e70c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686534383362373831393731383962326345e80c565f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c5424542443244924475424313673746f726167655f6d657461646174613137686565646265383062393961636139333845e90c5f5f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c5424542443244924475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137683065336261396436393865663936346145ea0c625f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c542454244324492447542432386d75746174655f6163636f756e745f68616e646c696e675f647573743137683338626138353935663764656262643245eb0c665f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c5424542443244924475424333270616c6c65745f6173736f6369617465645f74797065735f6d657461646174613137686661313263386539383163313238306445ec0ca5015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c542454244324492447542424475424366465636f64653137683237653934616137663336373037623145ed0ca5015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c542454244324492447542424475424366465636f64653137683764353261623031363637373466646345ee0ca8015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c54245424432449244754242447542439656e636f64655f746f3137686562376363323937383164343532353245ef0ca8015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c5424542443244924475424244754243973697a655f68696e743137683863373333373531373431333339613445f00ca9015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e4576656e74244c54245424432449244754242447542439656e636f64655f746f3137683038363232613366396333306565343145f10caa015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130385f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e47656e65736973436f6e666967244c5424542443244924475424244754243973657269616c697a653137686136366632316162333632666464613945f20caa015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130385f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e47656e65736973436f6e666967244c5424542443244924475424244754243973657269616c697a653137686364626539333364643039383661653945f30c9a015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f39335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c54245424432449244754242447542439747970655f696e666f3137683937323138656431343332316234653945f40c9b015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e4572726f72244c54245424432449244754242447542439747970655f696e666f3137683333663766643138303136313339646245f50c9b015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e4576656e74244c54245424432449244754242447542439747970655f696e666f3137683533343735643632663239336635393245f60c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686132333362313265646336343433396445f70c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686233333861326635383335356165306245f80c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686263643735363333353632343632393645f90c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686461396431346331326331363264343945fa0cef015f5a4e3230335f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e5f2e2e244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754242e2e646573657269616c697a652e2e5f5f4669656c6456697369746f7224753230246173247532302473657264655f636f72652e2e64652e2e56697369746f72244754243976697369745f7374723137683238346131633132663966643961623345fb0cad025f5a4e3236375f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e49646c65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d6265722447542424475424376f6e5f69646c653137686636306634353563633565323737383545fc0cd1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c65743133385f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e4572726f72244c54245424475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137683330366430336534363638656431383145fd0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683133303238663835383537663236633945fe0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683134656361373930343565353363393245ff0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683161663230323265373636363966653145800d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683164323534663433346634646233636245810d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683336653833353662383362363339373245820d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683534653432356537383435656239303745830d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686134666161633237643966373134323245840d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686361663161343165393431373531363145850d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686439343566343039336231626564626345860d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686538383961363032323036336532333545870d4b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137686538303564666536343938633865313345880d5b5f5a4e34636f726533666d74336e756d34395f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f72247532302475382447542433666d743137686131643866376331303035656464346245890d315f5a4e34636f7265336f70733866756e6374696f6e32466e3463616c6c31376830393537313465623233343236663635458a0d4d5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431366c6f61645f6f776e65645f76616c756531376830333564346538323261383335613135458b0d315f5a4e34636f7265336f70733866756e6374696f6e32466e3463616c6c31376837373266616535383639313066313339458c0d5a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d2475376424247537642431376831383961643363653631356531633032458d0d765f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542432376c6f6f6b5f75705f776974685f63616368655f696e7465726e616c32385f24753762242475376224636c6f737572652475376424247537642431376831303962393331636264363336373930458e0d5a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d2475376424247537642431376866633337643730376534383338363532458f0d6a5f5a4e34636f726533707472343664726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c54247538244754242447542431376831613031636535343031306461383661452e6c6c766d2e3136313132333733343434373433323030313934900d595f5a4e34636f726533707472353564726f705f696e5f706c616365244c542473705f636f72652e2e63727970746f2e2e536563726574537472696e674572726f72244754243137683331646662313365393831306562303845910d3d5f5a4e34636f726533737472377061747465726e313454776f5761795365617263686572346e6578743137683762663063633239313735396338623945920d525f5a4e35335f244c5424636f72652e2e666d742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683161376566383832646131363031373945930d575f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683134346438396636306630383963313545940d5f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f636861723137683836623035353033323438353133326445950d5d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137686463373765383038663336633535386345960d5e5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431306f725f64656661756c743137683330393861333537656664646564393545970d5e5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431306f725f64656661756c743137686632633431343763333431373538623645980d625f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431346f725f696e736572745f776974683137683032336234343434333763356631303345990d5f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e7365727431376864386465323062636466363330643730459a0d5f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e7365727431376833363731386138383966636363623530459b0d5f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e7365727431376838396434663162313564653431663237459c0d5f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e7365727431376838663136656436313963333836613130459d0d5f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e7365727431376865653233333634313830336366633961459e0d5f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e7365727431376866613362626666323238323263623436459f0d5e5f5a4e36355f244c542473705f636f72652e2e63727970746f2e2e5075626c69634572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683365383565363638666237363337623045a00d5f5f5a4e36365f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c54245424475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683930306533323031643535393138303645a10d645f5a4e37315f244c542473705f636f72652e2e63727970746f2e2e536563726574537472696e674572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683734663931306236333261626161376545a20d695f5a4e37335f244c542473705f72756e74696d652e2e4d756c74695369676e617475726524753230246173247532302473705f72756e74696d652e2e7472616974732e2e56657269667924475424367665726966793137683335323163346561386366343732346445a30d655f5a4e3773705f636f72653663727970746f3953733538436f6465633235746f5f73733538636865636b5f776974685f76657273696f6e31376831333165666530333830356231303936452e6c6c766d2e3136313132333733343434373433323030313934a40d725f5a4e37365f244c542473705f636f72652e2e63727970746f2e2e4163636f756e744964333224753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a65244754243131646573657269616c697a653137683137303430636435643963643937616445a50d6b5f5a4e37385f244c54246672616d655f737570706f72742e2e64697370617463682e2e506f73744469737061746368496e666f247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683765343361356136383231623930666345a60d415f5a4e37747269655f6462346e6f646531304e6f646548616e646c653135746f5f6f776e65645f68616e646c653137686334643435363330333834653439316345a70d385f5a4e37747269655f6462346e6f6465344e6f64653133746f5f6f776e65645f6e6f64653137683632623662386362323266363530333345a80d415f5a4e37747269655f6462346e6f646531304e6f646548616e646c653135746f5f6f776e65645f68616e646c653137686661653930333039353437333738333845a90d385f5a4e37747269655f6462346e6f6465344e6f64653133746f5f6f776e65645f6e6f64653137686332366332666463363138636465656445aa0d445f5a4e37747269655f6462346e6f646531384e6f64654f776e6564244c542448244754243130746f5f656e636f6465643137686338316563613062663738373330666645ab0d525f5a4e37747269655f6462346e6f646532344e6f646548616e646c654f776e6564244c54244824475424313861735f6368696c645f7265666572656e63653137683931653436633539646233643862616545ac0d495f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431326c6f6f6b5f75705f686173683137683961386631383232346534333563613745ad0d725f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542432336c6f6f6b5f75705f686173685f776974685f636163686532385f24753762242475376224636c6f73757265247537642424753764243137683266633162313463316662303639633645ae0d6b5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431366c6f61645f6f776e65645f76616c756532385f24753762242475376224636c6f73757265247537642424753764243137686561663165346236346538323535353645af0d6d5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431386c6f6f6b5f75705f776974685f636163686532385f24753762242475376224636c6f73757265247537642424753764243137683163613835366331663335353263333645b00d435f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c2443245124475424376c6f6f6b5f75703137683435623637306339653135323464383545b10d8e015f5a4e39385f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137686561373833623232393762363864333145b20d8c015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6379636c652e2e4379636c65244c54244924475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f72244754243130616476616e63655f62793137686235343830303532383661663764396245b30d90015f5a4e3130325f244c542470616c6c65745f74696d657374616d702e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e696e686572656e742e2e50726f76696465496e686572656e74244754243134636865636b5f696e686572656e743137686466363133356536633337313739346245b40d91015f5a4e3130325f244c542470616c6c65745f74696d657374616d702e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e696e686572656e742e2e50726f76696465496e686572656e742447542431356372656174655f696e686572656e743137683436336262326639393364613534326345b50d7e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137686436623666646165313762653039346245b60d8f015f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f31376864623064636265613866346564343734452e6c6c766d2e3138303736303132313032313331303435303634b70d735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137683762616534383131363862636138653045b80d755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683838646362323361616133383864656345b90d7e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683764386233303861343631326139333045ba0d7e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683832616439393038633238393936333645bb0d7e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137686361316430643733306430643937303945bc0d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683265313830363066343263303964333345bd0d3b5f5a4e313073657264655f6a736f6e337365723138666f726d61745f657363617065645f7374723137686362353832306537353961663732343745be0d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683439656131613736646639383866666245bf0d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683536363739323661363765373135663045c00d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683539316232626663613064653936373845c10d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683561353765333337616665643433333045c20d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683738613038653266616132366532613045c30d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683832333831663064393635336137653845c40d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683865626138373038396261363730623645c50d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683935313939323462386232333761353945c60d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683937326639666538613066646234306545c70d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686363376239656461336166303666656245c80d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686437353632323265663766343939373245c90d86015f5a4e39305f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a655475706c6524475424313773657269616c697a655f656c656d656e743137686436373837306138383961316437323045ca0d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686438316435323831376232363461636545cb0d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686563376439343532643163306430643645cc0d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686663343061613161396630383038303545cd0d8a015f5a4e313073657264655f6a736f6e3576616c75653373657238315f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302473657264655f6a736f6e2e2e76616c75652e2e56616c7565244754243973657269616c697a653137686338393162663532366136333530313845ce0d4a5f5a4e313073705f72756e74696d6536747261697473313656616c6964617465556e7369676e656431327072655f64697370617463683137686332376465363933323533633764653145cf0d8a015f5a4e39345f244c54246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e56616c6964617465556e7369676e656424475424313776616c69646174655f756e7369676e65643137683862383735386331623666343061356645d00d91015f5a4e3131335f244c54246672616d655f73797374656d2e2e70616c6c65742e2e47656e65736973436f6e666967244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4275696c6447656e65736973436f6e66696724475424356275696c643137683665346630306361626131353465613045d10d93015f5a4e3131365f244c542470616c6c65745f62616c616e6365732e2e696d706c5f63757272656e63792e2e696d62616c616e6365732e2e4e65676174697665496d62616c616e6365244c5424542443244924475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686636623263353838633130303265396445d20d755f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432316465706f7369745f6576656e745f696e64657865643137683161343666393630323861373630343845d30d93015f5a4e3131365f244c542470616c6c65745f62616c616e6365732e2e696d706c5f63757272656e63792e2e696d62616c616e6365732e2e506f736974697665496d62616c616e6365244c5424542443244924475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683134653764333762333464383661653845d40db0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137683063663230323633306666626133383645d50db0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137683134346232613933323061333230653045d60db0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137683433643236373430306330653534646145d70db0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137683938396531333763323734333230623445d80db0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137686631343861633033356561396237663545d90d6a5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243130696e697469616c697a653137683964656439623735383563386434643245da0d6c5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424313263616e5f7365745f636f64653137686261303939656439383831366338663545db0d6c5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424313272657365745f6576656e74733137686665376661336264343232383164373545dc0d6e5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431347265636c61696d5f7765696768743137686635363864303331613966386238643845dd0d765f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432326e6f74655f6170706c6965645f65787472696e7369633137683164303836623833336663616664326645de0d5c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d743137683234313530646434636533353833373045df0d745f5a4e38375f244c54246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c54245424475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683138353264633936373063643638316345e00d785f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432346e6f74655f66696e69736865645f65787472696e736963733137686566663261373630663061363064306245e10d7b5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424323776616c69646174655f636f64655f69735f617574686f72697a65643137683061306631663835336431393432623445e20d675f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243866696e616c697a653137683030303037363531633462386330643545e30d495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683763363933313766313331346163393845e40d4f5f5a4e31326672616d655f73797374656d3670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137683037386636313032323364653461343945e50d3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686561656464336532633737353061313845e60d585f5a4e31326672616d655f73797374656d3670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137683135396561353066306362386334623245e70d5f5f5a4e31326672616d655f73797374656d3670616c6c6574313550616c6c6574244c54245424475424333270616c6c65745f6173736f6369617465645f74797065735f6d657461646174613137683331383534373639376338326230373145e80d9f015f5a4e31326672616d655f73797374656d3670616c6c6574315f3130305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e4576656e74244c542454244754242447542439656e636f64655f746f3137686563663133386536653238346435326345e90d9f015f5a4e31326672616d655f73797374656d3670616c6c6574315f3130305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e4576656e74244c54245424475424244754243973697a655f68696e743137686532626431313562613238356439663545ea0d90015f5a4e31326672616d655f73797374656d3670616c6c6574315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137686139623232303238613862396361656445eb0d91015f5a4e31326672616d655f73797374656d3670616c6c6574315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e4572726f72244c542454244754242447542439747970655f696e666f3137686161613461643065633461396639653945ec0d91015f5a4e31326672616d655f73797374656d3670616c6c6574315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e4576656e74244c542454244754242447542439747970655f696e666f3137686266316363343064356231613333613845ed0d9a015f5a4e31326672616d655f73797374656d3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683838373338646461396332303337366345ee0d9a015f5a4e31326672616d655f73797374656d3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137686366303230343436353132343635383245ef0d9d015f5a4e31326672616d655f73797374656d3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f3137683065633438343633353163636138613945f00d4a5f5a4e31336672616d655f737570706f727436747261697473313073746f7265645f6d61703953746f7265644d617036696e736572743137683065306436333332303937306230366245f10d535f5a4e313670616c6c65745f74696d657374616d703670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137686136623166323964636462386138643745f20d5c5f5a4e313670616c6c65745f74696d657374616d703670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137686161333632643261653930613333663045f30d98015f5a4e313670616c6c65745f74696d657374616d703670616c6c6574315f39305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f74696d657374616d702e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137683666393430393962393861333462653445f40d9e015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024244c502451302443245230245250242447542439656e636f64655f746f3137686239376261363839363732643836326345f50d5a5f5a4e323363756d756c75735f70616c6c65745f617572615f6578743670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137683432373136333233366662333735303845f60da9025f5a4e3235395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e47656e657369732447542431306f6e5f67656e657369733137683065323035386163303462663162633445f70daa025f5a4e3236345f244c542470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e49646c65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d6265722447542424475424376f6e5f69646c653137686565636638333963366634363632653745f80db8025f5a4e3236365f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e52756e74696d65557067726164652447542431386f6e5f72756e74696d655f757067726164653137683537623938343865663166353737326645f90db5025f5a4e3237355f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e49646c65244c5424426c6f636b4e756d6265722447542424475424376f6e5f69646c653137686138643065376461393736356263616345fa0dcd025f5a4e3237365f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686535623831393537353561363136633345fb0d715f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686361386263363837613133633737636145fc0dbe025f5a4e3237395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e46696e616c697a65244c5424426c6f636b4e756d626572244754242447542431316f6e5f66696e616c697a653137686634373735623735616638626537396245fd0dda025f5a4e3238305f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f6578656375746976652e2e4f6e496e697469616c697a6557697468576569676874526567697374726174696f6e244c542454244754242447542433386f6e5f696e697469616c697a655f776974685f7765696768745f726567697374726174696f6e3137683932636263376266383831316162353545fe0d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683031663335633232323532356239663845ff0d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683032306162643831663639336432383745800e615f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831393135646130333836313436663263452e6c6c766d2e3138303736303132313032313331303435303634810e615f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376839656335386137353230356236336463452e6c6c766d2e3138303736303132313032313331303435303634820e475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686135643138366336313937663461623645830e475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686266626664366266333432646165303445840e475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686466363339613531383439346531393545850e4b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137683336646538386163373733633435383745860e4d5f5a4e34385f244c54242475356224542475356424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683438623863613734666538663463336445870e4d5f5a4e34385f244c54242475356224542475356424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683736393934336530656639646665306645880e5c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247536342447542433666d743137683561623239333438333232313533333845890e5e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d7431376866373732353766623438396632396235458a0e3a5f5a4e34636f726533666d74386275696c6465727338446562756753657437656e747269657331376839386563393139376564643766663434458b0e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e747269657331376831663762363563313264383836356163458c0e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e747269657331376834646365386238393233643262643833458d0e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e747269657331376836343538323164306262633566356262458e0e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e747269657331376836633831313930353662363433363835458f0e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137683732633964396564336431353438383545900e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137683930346562643732316233353430383745910e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137686234383664373564356661613836313245920e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137686266383732616239626132353964393645930e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137686564346139613165343139323432636245940e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137686665363332653236323531323334336645950e4f5f5a4e34636f726533707472343564726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72244754243137686137663232623635633164343536313345960e695f5a4e34636f726533707472343564726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e76616c75652e2e56616c75652447542431376864356165616232363566366363393839452e6c6c766d2e3138303736303132313032313331303435303634970e6f5f5a4e35365f244c542473705f696e686572656e74732e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376862326431646162303031363837626561452e6c6c766d2e3138303736303132313032313331303435303634980e5f5f5a4e36365f244c542473705f776569676874732e2e7765696768745f76322e2e576569676874247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683231336534633363643733306538383545990e625f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831303235386638333138373561663832459a0e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376830316333623332336265303062616230459b0e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376830633064623438373338393663353562459c0e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376833323030666364653830653838633634459d0e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376835623166656564393231383033633234459e0e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376835646633626333666439633030393037459f0e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683633373838306438333565663331613745a00e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683635373438393431396336353561396345a10e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683666363231323535316633353864306445a20e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683730646261646631346464333839666545a30e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683864613936383035323633336364323145a40e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683939323363306334646465373138666445a50e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686234343533383937663863393563363945a60e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686632333135353931303832666332613545a70e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686634343835663537633533383135396245a80e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686639346234326638373866643262613245a90e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686666636338653563643430376130643245aa0e8c015f5a4e39365f244c54246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137683066373935373739323533663138393645ab0e535f5a4e323063756d756c75735f746573745f72756e74696d65323267656e657369735f636f6e6669675f7072657365747331327072657365745f6e616d65733137683462316661653962346335396435373045ac0e515f5a4e323063756d756c75735f746573745f72756e74696d65323267656e657369735f636f6e6669675f7072657365747331306765745f7072657365743137686565396636623066356332336533376545ad0e695f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574313550616c6c6574244c54245424475424323172656d6f76655f76616c75655f66726f6d5f6d61703137686232636562646132306562393332633645ae0ea2015f5a4e3131375f244c542463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137683934303562313839333866653130636545af0e645f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137686331616433353861633933653462646645b00ec8015f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f3137686530396365313331313161636139663445b10ec5015f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683661363930333431633762636438363345b20ec5015f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683833303662306133386134303431303645b30ebb015f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574315f3130375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137683837336163323139633033313133303845b40e0c436f72655f76657273696f6eb50e12436f72655f657865637574655f626c6f636bb60e15436f72655f696e697469616c697a655f626c6f636bb70e2741757261556e696e636c756465645365676d656e744170695f63616e5f6275696c645f75706f6eb80e2852656c6179506172656e744f66667365744170695f72656c61795f706172656e745f6f6666736574b90e15417572614170695f736c6f745f6475726174696f6eba0e13417572614170695f617574686f726974696573bb0e114d657461646174615f6d65746164617461bc0e1c4d657461646174615f6d657461646174615f61745f76657273696f6ebd0e1a4d657461646174615f6d657461646174615f76657273696f6e73be0e1d4163636f756e744e6f6e63654170695f6163636f756e745f6e6f6e6365bf0e1c426c6f636b4275696c6465725f6170706c795f65787472696e736963c00e1b426c6f636b4275696c6465725f66696e616c697a655f626c6f636bc10e20426c6f636b4275696c6465725f696e686572656e745f65787472696e73696373c20e1c426c6f636b4275696c6465725f636865636b5f696e686572656e7473c30e2b5461676765645472616e73616374696f6e51756575655f76616c69646174655f7472616e73616374696f6ec40e214f6666636861696e576f726b65724170695f6f6666636861696e5f776f726b6572c50e1f53657373696f6e4b6579735f6465636f64655f73657373696f6e5f6b657973c60e2153657373696f6e4b6579735f67656e65726174655f73657373696f6e5f6b657973c70e234765744c61737454696d657374616d705f6765745f6c6173745f74696d657374616d70c80e2b436f6c6c656374436f6c6c6174696f6e496e666f5f636f6c6c6563745f636f6c6c6174696f6e5f696e666fc90e1a47656e657369734275696c6465725f6275696c645f7374617465ca0e1947656e657369734275696c6465725f6765745f707265736574cb0e1b47656e657369734275696c6465725f7072657365745f6e616d6573cc0e1d47657450617261636861696e496e666f5f70617261636861696e5f6964cd0e21546172676574426c6f636b526174655f7461726765745f626c6f636b5f72617465ce0e9e015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376830643131663334363236653637373636452e6c6c766d2e39343132373231343736373139313638363839cf0e85015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686366386564616138306430303963356645d00e755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683432346263626339666166383134373145d10e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686266643935663836346665333765626645d20e755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683931616136316639363239363163366145d30e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683036623065363737323166393034363745d40e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683038313337373533623363653738303045d50e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683066323431386337653462393735356245d60e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683137666330663935316139663162376245d70e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683238356361333238363639663933653845d80e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683362316239633335353138666636313145d90e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683531383635303339613066623535353845da0e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683531613532616265633066333537316445db0e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683563656635663462336632336135663445dc0e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683663333164653532313535633835396645dd0eb6015f5a4e313570616c6c65745f62616c616e636573357479706573315f3132315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e5265736572766544617461244c5424526573657276654964656e74696669657224432442616c616e6365244754242447542439747970655f696e666f3137683933383165393335636130616232323245de0e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683864623661323639393938633438653445df0e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683966613962353537386166623432666645e00e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686133343236373830343337326566343445e10e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686133366334363238393232363461326445e20e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686138636132366465326461643235623945e30e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686331306636336331313333383738616245e40ea2015f5a4e313570616c6c65745f62616c616e636573357479706573315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e42616c616e63654c6f636b244c542442616c616e6365244754242447542439747970655f696e666f3137683531343137346563356531343566323745e50e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686335643562383664373463373839616645e60e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686433616231653131613837653763303445e70e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686536636139366664643161343830373145e80eb9015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3132315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e646578244754242447542439747970655f696e666f3137683833323138353962383837616265636145e90ec3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137683163343639636533323961656337383245ea0ec3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137683233376431353430373966346634396545eb0ec3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137683437656264636266393865383433393445ec0ec3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137686538656638383635653561363034353845ed0ec6015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e646578244754242447542439656e636f64655f746f3137686464383665623137626230643531333145ee0e93015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137683266643062363135363739656164336645ef0e93015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137683531343031663831616361663962363445f00e93015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137686230326634303033356334356138333145f10e93015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137686638346134343232313039343534346545f20e93015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137686664616634353034326466393832373945f30ead015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683038666564643536393632366664653145f40ead015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683261306435373237626633373936343145f50ead015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686163386361336133663830333535353945f60ea2015f5a4e313570616c6c65745f62616c616e636573357479706573315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e4163636f756e7444617461244c542442616c616e6365244754242447542439747970655f696e666f3137686563623431303065646435313964376145f70eaf015f5a4e313570616c6c65745f62616c616e636573357479706573315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e4163636f756e7444617461244c542442616c616e6365244754242447542439656e636f64655f746f3137683730646239663161666262353239663945f80e9b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137683063623966323139343165303036363945f90e9b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137683164663133393861346230323136616145fa0e9b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137683361306564316162396235336431363045fb0e9b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137686633336334353237623364633234336345fc0e9e015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024244c502451302443245230245250242447542439656e636f64655f746f3137686636613132626230373138333134323445fd0ecd015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74327630315f3132385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e76302e2e50617261636861696e496e686572656e744461746124475424366465636f64653137686634376231313564306162306661656245fe0e6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683235313334616333346563333863323545ff0e475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683532666633666231653864623435326345800f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683533366263313434353236626539306545810f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683736396136643534373338393263663745820f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683830393139396531653532313634653545830f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683930363339316230356265343137323445840f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683938646334323161313130386230363445850f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686231383535646231336466623734326145860f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686231643266363765623332333535633345870f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686365663465306137356339643261393645880f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686437313139343232626236313463323445890f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376864636436373466346635366134623266458a0f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865643139616166663336363734353564458b0f495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376861343133613965386538383837623536458c0f715f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542431376833363761643935633961613765646666452e6c6c766d2e393431323732313437363731393136383638398d0f7f5f5a4e34636f726533707472363864726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c542473657264655f6a736f6e2e2e76616c75652e2e56616c7565244754242447542431376864336433626236306364623962633965452e6c6c766d2e393431323732313437363731393136383638398e0f85015f5a4e34636f726533707472373464726f705f696e5f706c616365244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e48323536244754242447542431376862616133363132616238643661363636452e6c6c766d2e393431323732313437363731393136383638398f0f5f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137683930326635646437363731613331303445900f5f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137686637666339646236343833303363336645910f575f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137683736646638336539376430666638666345920f575f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137686336396231653230356666623565303745930f5a5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683238653861326130616239313836353745940f505f5a4e35616c6c6f633131636f6c6c656374696f6e73397665635f646571756532315665634465717565244c54245424432441244754243467726f773137686537336363646537323962666238653845950f555f5a4e35616c6c6f633131636f6c6c656374696f6e73397665635f646571756532315665634465717565244c542454244324412447542439706f705f66726f6e743137683161333835616566626164646338373945960f3f5f5a4e35616c6c6f63337665633136566563244c5424542443244124475424313072657461696e5f6d75743137686662323665316666633361633135393645970f455f5a4e35616c6c6f63337665633136566563244c54245424432441244754243136657874656e645f6465737567617265643137686265376231363662353638316234646245980f465f5a4e35616c6c6f63337665633136566563244c54245424432441244754243137657874656e645f66726f6d5f736c6963653137683836643963396262326265353333343445990f625f5a4e36305f244c5424245246246d7574247532302454247532302461732475323024627335382e2e6465636f64652e2e4465636f64655461726765742447542431316465636f64655f7769746831376839373665393436653162653562643238459a0f5e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376832633435323533633930623331343865459b0f5e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376833333439396535396132353333633937459c0f5e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376835616334303261643032636538326632459d0f5e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865373135303666383235643536343033459e0f5e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865643833316662313338643630383537459f0f625f5a4e36375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653137686133666636313761396438316164316345a00f625f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683130323538663833313837356166383245a10f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683234396162333934623938663132383945a20f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683362353339393534383932613435373745a30f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683434303662663434306661323131386545a40f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683536653263626664313563353630616245a50f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683537613064383262633736363535353445a60f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683738366633613839663930323466313845a70f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683933303731343664636537636265643545a80f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683961623835333033656332613737616145a90f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686135616232346537666661333661393145aa0f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686262643030643834323965386434303745ab0f6e5f5a4e37325f244c5424616c6c6f632e2e7665632e2e566563244c5424753824475424247532302461732475323024627335382e2e656e636f64652e2e456e636f6465546172676574244754243131656e636f64655f776974683137686437633862326264376364663861653145ac0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683135316330643965333966326236646645ad0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683137363236326166623866343333633245ae0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683238626230323534353763663233616445af0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683564653733653233626630663933623445b00f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683632346130636465326234336136653645b10f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683830633863663530333339346534303545b20f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683865623764366464306631316537626145b30f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683933306636616332373762313837626345b40f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683935346132656561306637316234383845b50f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683936326138633638343231656164646645b60f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686238646262626563343337373837396645b70f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686338613839613038346531653130643545b80f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686366633461646438373631616439343545b90f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686432373734303762356261333031323445ba0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686433323934383431643337633165363045bb0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686436333132353065653030393561613945bc0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686530323138343339373365383161343845bd0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686532376463383236383133643834386245be0f395f5a4e3773705f7472696531316e6f64655f68656164657231316465636f64655f73697a653137683933663433346262643530643932376345bf0f765f5a4e38365f244c542473705f747269652e2e6e6f64655f6865616465722e2e4e6f64654865616465722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683037666137313835366631666136383045c00f795f5a4e38365f244c542473705f747269652e2e6e6f64655f6865616465722e2e4e6f64654865616465722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683962663032313130393734386535333445c10f87015f5a4e39375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f657874656e642e2e53706563457874656e64244c5424542443244924475424244754243131737065635f657874656e643137683265636663653936363364303331656545c20f87015f5a4e39375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f657874656e642e2e53706563457874656e64244c5424542443244924475424244754243131737065635f657874656e643137683536383266633131633833663135336245c30f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683036666365383164653838333662376445c40f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683036666635356462363761393535653545c50f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683038663563346534363132306131663745c60f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683136633163383039336663613731383945c70f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683163373633386136633861386332396445c80f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683164326533346236303431393363616245c90f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683231373535633565623930636339666345ca0f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683364366537616130373636363263396145cb0f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683464316632363662336433386138613745cc0f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683536386230353337343365613730333345cd0f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683561333838386337303564333930626345ce0f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683562633533646433353331363736366245cf0f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683830653830313634333036643531656345d00f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683831363533306363626265316532623345d10f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683831633732623437333135353130616145d20f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683833313966326337306234343936333445d30f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683933353366333966393466353636613745d40f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683934643430306663626337306533646445d50f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683934646463306566643033373363616245d60f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686139663630653964316539653763633945d70f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686237366562333164613861356439353745d80f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686631313032613636343631353963353945d90f0e76616c69646174655f626c6f636bda0fa8015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c5424482447542424475424313273746f726167655f686173683137683664613166353433376533616336393045db0f695f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e4832353624475424244754243137683537383566653435313433616264636145dc0fa8015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c5424482447542424475424313273746f726167655f686173683137683861653765303434626335653939383545dd0fac015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542431366e6578745f73746f726167655f6b65793137683135633335316431373466656261613645de0f3e5f5a4e35616c6c6f633473796e633136417263244c54245424432441244754243964726f705f736c6f773137683335353938653665303666383762636645df0fc8045f5a4e34636f72653370747235343964726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e43616368656449746572244c5424245246246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443242452462463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137683331656535636132613137376663336445e00fac015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542431366e6578745f73746f726167655f6b65793137683635613931353331666233643962613845e10fa2015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c54244824475424244754243773746f726167653137683663666331316362326464653638306445e20fa2015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c54244824475424244754243773746f726167653137683966303366633133663437316236656245e30faf015f5a4e3133375f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424313061735f686173685f64623137686365316664383732326537333930363345e40faf015f5a4e3133375f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424313061735f686173685f64623137686666313632653232356330333563656345e50fb3015f5a4e3133375f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424313461735f686173685f64625f6d75743137683339366666613932366438323065313145e60fb3015f5a4e3133375f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424313461735f686173685f64625f6d75743137683862376232613237363537396235616245e70f455f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64313070726f6f665f73697a653137683135623036663834333234326537386445e80f4b5f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e643136726561645f77726974655f636f756e743137683836313331376461396662613064346345e90f4c5f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64313766756c6c5f73746f726167655f726f6f743137683264323162663462623030383838633945ea0f4c5f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64313766756c6c5f73746f726167655f726f6f743137686330396130663438393965353932336545eb0f515f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64323272657365745f726561645f77726974655f636f756e743137686263316663353131653638383538353745ec0f545f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e6432356765745f726561645f616e645f7772697474656e5f6b6579733137686136613832656564396462313434333545ed0f585f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376864646432376366363366643362373833452e6c6c766d2e33313537333339383436313137303539373635ee0f3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683961646265363764316233386366366345ef0f3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683964303836383466663732663335656145f00f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683939383439343636353366616466363345f10f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686264663038333963633437616337656545f20f5e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137686637373235376662343839663239623545f30fa5015f5a4e34636f72653370747231333064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137686635653764656139303537313566383345f40faf015f5a4e34636f72653370747231343064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137683131316362336162363362373063656245f50ff1045f5a4e34636f72653370747235363564726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c5424245246246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443242452462463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754242447542431376830396636393032353832363730356537452e6c6c766d2e33313537333339383436313137303539373635f60f465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274345f737461626c653137683231383361376539303864316361653645f70f465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274345f737461626c653137683739646236383533333031393537336545f80f465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c653137683838613432343533313133626661616545f90f465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c653137686430623831373035623734323162343745fa0f4d5f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f727431396269646972656374696f6e616c5f6d657267653137683061343435383936383138323061653245fb0f4d5f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f727431396269646972656374696f6e616c5f6d657267653137686666393761613962633762313130636445fc0f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683030613730616265323630303430363945fd0f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683062353033373563393635663365616545fe0f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683236633564353433626434623935373745ff0f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376836383134663939353166333165346565458010535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376836633533323061663934363634303864458110535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376838656138313936343135336465653030458210535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376839366236343934616565393730353835458310535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376864643438353665386562336634636431458410595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376830396130623330333835613065633264458510595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376831306535373335623066313336646165458610595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376832633335636331336536313937313539458710595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376838653133363861633230313765326230458810595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376862353865613634646236373535386330458910595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376863326637333462393237363966336136458a10595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376866313635326462336639336562663537458b10305f5a4e3773705f74726965313564656c74615f747269655f726f6f7431376836353131623739376432343039643030458c10305f5a4e3773705f74726965313564656c74615f747269655f726f6f7431376861633666336265663332653563316165458d10305f5a4e3773705f74726965313564656c74615f747269655f726f6f7431376862303637616266656635343531643730458e10305f5a4e3773705f74726965313564656c74615f747269655f726f6f7431376863343335313766373732626639336466458f10365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376832366161613638636665343631656335459010365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376835623836373134353930323835363335459110365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376837373434303337646438303564326630459210365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376839373336313633356432626534393566459310365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376861333734393663616161643161613635459410365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376863333938333239636530613063323865459510365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376864333462386333356339613234376164459610365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376865303234333338353862313962323539459710365f5a4e3773705f747269653231726561645f6368696c645f747269655f76616c756531376830633937356464616334663333656563459810365f5a4e3773705f747269653231726561645f6368696c645f747269655f76616c7565313768353537616639613632343561633064364599108c015f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c5424482443245424475424244754243367657431376836633766346634323730353365306638452e6c6c766d2e333135373333393834363131373035393736359a108c015f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c5424482443245424475424244754243367657431376863643039303537646161626431633832452e6c6c766d2e333135373333393834363131373035393736359b10735f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c5424482443245424475424244754243367657431376864346332643634336163393261643331459c10785f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c54244824432454244754242447542438636f6e7461696e7331376830306463656166383563303230636563459d1091015f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c54244824432454244754242447542438636f6e7461696e7331376835313530326638363531393132396535452e6c6c766d2e333135373333393834363131373035393736359e1091015f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c54244824432454244754242447542438636f6e7461696e7331376838663366346434316666616664343532452e6c6c766d2e333135373333393834363131373035393736359f10735f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324542447542424475424336765743137683635643139323762623134353931663245a010735f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324542447542424475424336765743137686463336563653061343361343032316145a110765f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542436696e736572743137683639623762626263653136366662343345a210765f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c5424482443245424475424244754243672656d6f76653137686439333334386633343031366662396445a310775f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542437656d706c6163653137683065323436323063663465373938656145a410785f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542438636f6e7461696e733137683738643839363761323462343064356345a510785f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542438636f6e7461696e733137686336326461316235623663343838613045a6107d5f5a4e38385f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324542447542424475424313061735f686173685f64623137683237663133306463633036626161356645a7107d5f5a4e38385f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324542447542424475424313061735f686173685f64623137683365353861306638373365666230366545a81081015f5a4e38385f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324542447542424475424313461735f686173685f64625f6d75743137686163346163343738663662623462363345a91081015f5a4e38385f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324542447542424475424313461735f686173685f64625f6d75743137686635386666343035613362393238613345aa105d5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332356669656c6431364669656c64456c656d656e74323632353861735f62797465733137683432366561396264396364386339326545ab1090015f5a4e3136637572766532353531395f64616c656b356669656c6438315f244c5424696d706c2475323024637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e6669656c642e2e4669656c64456c656d656e7432363235244754243132737172745f726174696f5f693137683432333638333362343838666164336645ac107c5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332356669656c6431364669656c64456c656d656e743236323531327371756172655f696e6e657231376861306134373365356235336139353636452e6c6c766d2e3137323538393339393038333531363935393333ad108b015f5a4e3130395f244c542424524624637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e6669656c642e2e4669656c64456c656d656e7432363235247532302461732475323024636f72652e2e6f70732e2e61726974682e2e4d756c24475424336d756c3137683035653735386264333036666339653445ae105a5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332356669656c6431364669656c64456c656d656e743236323535706f77326b3137686634383265326538653864366165393145af108b015f5a4e3130395f244c542424524624637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e6669656c642e2e4669656c64456c656d656e7432363235247532302461732475323024636f72652e2e6f70732e2e61726974682e2e53756224475424337375623137683666303334313366346538386264643445b0108b015f5a4e3130395f244c542424524624637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e6669656c642e2e4669656c64456c656d656e7432363235247532302461732475323024636f72652e2e6f70732e2e61726974682e2e4e656724475424336e65673137683138396438336632633530323066386345b11081015f5a4e3136637572766532353531395f64616c656b367363616c617237345f244c5424696d706c2475323024637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e7363616c61722e2e5363616c6172323924475424347061636b3137683633356265306334643634313638666145b210505f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332367363616c6172385363616c61723239337375623137686163346338313032653133633133643845b3105c5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332367363616c6172385363616c6172323931346d6f6e74676f6d6572795f6d756c3137683932343065383661376632396263363745b410585f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332367363616c6172385363616c61723239313066726f6d5f62797465733137686630363137353435656565643163353645b5105d5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332367363616c6172385363616c61723239313566726f6d5f62797465735f776964653137686437326665363762653739623731373945b610525f5a4e3136637572766532353531395f64616c656b367363616c6172365363616c6172323566726f6d5f62797465735f6d6f645f6f726465725f776964653137683466323038376130633866633264393145b710585f5a4e3136637572766532353531395f64616c656b367363616c6172365363616c61723672656475636531376835303562376232356134383335346564452e6c6c766d2e3132333136323130333637353935303332333335b810445f5a4e3136637572766532353531395f64616c656b367363616c6172365363616c6172313161735f72616469785f32773137683639383464663335313234393531616345b910f9015f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c313263757276655f6d6f64656c733137325f244c5424696d706c2475323024636f72652e2e6f70732e2e61726974682e2e416464244c542424524624637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e63757276655f6d6f64656c732e2e416666696e654e69656c73506f696e74244754242475323024666f72247532302424524624637572766532353531395f64616c656b2e2e656477617264732e2e45647761726473506f696e7424475424336164643137683237313562363638623531353734656545ba1090015f5a4e3130395f244c5424637572766532353531395f64616c656b2e2e656477617264732e2e4564776172647342617365706f696e745461626c65247532302461732475323024637572766532353531395f64616c656b2e2e7472616974732e2e42617365706f696e745461626c6524475424386d756c5f626173653137686531623339316137626662336262383245bb104c5f5a4e3136637572766532353531395f64616c656b3972697374726574746f313452697374726574746f506f696e7438636f6d70726573733137683836373933643261356362363333353945bc104d5f5a4e3136637572766532353531395f64616c656b3677696e646f7732304c6f6f6b75705461626c65244c542454244754243673656c6563743137683464393965386432623033326538346145bd10a3015f5a4e3131375f244c5424637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e63757276655f6d6f64656c732e2e416666696e654e69656c73506f696e74247532302461732475323024737562746c652e2e436f6e646974696f6e616c6c7953656c65637461626c65244754243138636f6e646974696f6e616c5f61737369676e3137683238343566633233353836303962613745be105e5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c313263757276655f6d6f64656c73313550726f6a656374697665506f696e7436646f75626c653137686162663932373239386463313038616345bf10385f524e76437336393172685462473045655f375f5f5f727573746332365f5f5f727573745f616c6c6f635f6572726f725f68616e646c6572c0103a5f5a4e38666f6c646861736834736565643130536861726564536565643866726f6d5f7536343137686534333531613833316634393766373945c110425f5a4e38666f6c6468617368347365656436676c6f62616c323067656e65726174655f676c6f62616c5f736565643137683262333134623662613662626466356345c210425f5a4e38666f6c6468617368347365656436676c6f62616c3130476c6f62616c5365656439696e69745f736c6f773137686530386635396264343638313633663545c310315f5a4e38666f6c64686173683135686173685f62797465735f6c6f6e673137686364313462316164336635626334303545c410495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683239313461326135326539393935326445c510495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683563313337633532383337653337323345c610495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686135373837333638323462376537613745c710615f5a4e36385f244c54246672616d655f6578656375746976652e2e4578656375746976654572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683665353135646138656439643531373445c810f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683039666366613932656466383331623245c910f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137686239653463346664633633633036633245ca10465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e3137683234353864333565656163333466393445cb10465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e3137683634346564333463376631343135643045cc1086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683239346461616134313863623030366245cd1086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683439323138386337643361613031313445ce1086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683533306261346238393538326537353545cf1086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683635643730386263323263393335396545d01086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683637633862343534326139633839363745d11086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683934333861633664393430333239386445d21086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686139306462633439346663383463326145d31086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686162373331353530333262383266333945d41086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686231313033353738343330376639643545d51086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686232346563303430303162393730323345d6108a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683965646236663231643261363137306645d7108a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137686534316464386539323533363939313745d810745f5a4e38365f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683930366632653831343664346338356145d910745f5a4e38365f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683931356537623132376636303463336645da105d5f5a4e34636f726533707472353964726f705f696e5f706c616365244c54247363616c655f696e666f2e2e706f727461626c652e2e506f727461626c655265676973747279244754243137683465356330323336663839623262373145db10ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137683637363532303434643965346430663745dc10ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137683965323264383338666566636631633145dd10ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137686139353932313364356632333133663145de10ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137686465316338643835326535663533663445df1085015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683031393030646664376139363536623245e01085015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686139653634363133616563326530646545e110a9015f5a4e31346672616d655f6d657461646174613132325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c54246672616d655f6d657461646174612e2e52756e74696d654d657461646174615072656669786564244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c5424753824475424244754243466726f6d3137683934643363633030353636396463623445e21082015f5a4e39305f244c54246672616d655f6d657461646174612e2e7631342e2e50616c6c65744d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137686366316137653134623138633362613545e3109b015f5a4e31307363616c655f696e666f327479315f3130325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230247363616c655f696e666f2e2e74792e2e54797065506172616d65746572244c542454244754242447542439656e636f64655f746f3137686634363566323561613462636463373245e41091015f5a4e31307363616c655f696e666f327479315f39335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230247363616c655f696e666f2e2e74792e2e54797065244c542454244754242447542439656e636f64655f746f3137683865313566656365643634366436366545e510a2015f5a4e31307363616c655f696e666f327479366669656c6473315f3130325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230247363616c655f696e666f2e2e74792e2e6669656c64732e2e4669656c64244c542454244754242447542439656e636f64655f746f3137686234623138386636363130376334323945e610a6015f5a4e31307363616c655f696e666f3274793776617269616e74315f3130355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230247363616c655f696e666f2e2e74792e2e76617269616e742e2e56617269616e74244c542454244754242447542439656e636f64655f746f3137686465303266383561303636663832613645e7103e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686439396531303839326132346337636545e8103e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686463386266613830386335343931313445e9104c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376836353531653139383135313330373263452e6c6c766d2e3132383738313232343434303937393832303135ea105a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683933383038353432323037333062313345eb10ac015f5a4e31346672616d655f6d6574616461746133763134315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e7472794d65746164617461244c542454244754242447542439656e636f64655f746f3137683035663435306132303665353666376445ec10ae015f5a4e31346672616d655f6d6574616461746133763134315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e50616c6c6574436f6e7374616e744d65746164617461244c542454244754242447542439656e636f64655f746f3137683239376131643366323461316430623345ed10435f5a4e31346672616d655f6d6574616461746133763134313852756e74696d654d65746164617461563134336e65773137683366393464663264356466666163336445ee1088015f5a4e39365f244c54246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e7472794d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137683365646435663739653436323039613745ef10a1015f5a4e31346672616d655f6d6574616461746133763134315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e52756e74696d654d657461646174615631342447542439656e636f64655f746f3137683330643835343962313166393333343845f010a6015f5a4e31346672616d655f6d6574616461746133763134315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e50616c6c65744d65746164617461244c542454244754242447542439656e636f64655f746f3137686365616530386362343139626338373345f110ad015f5a4e31346672616d655f6d6574616461746133763134315f3131355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e50616c6c657453746f726167654d65746164617461244c542454244754242447542439656e636f64655f746f3137686637616432626439356530663135336545f210a8015f5a4e31346672616d655f6d6574616461746133763134315f3131305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e74727954797065244c542454244754242447542439656e636f64655f746f3137683638363938393233393337666466396545f310485f5a4e31307363616c655f696e666f38726567697374727938526567697374727931376d61705f696e746f5f706f727461626c653137683336393931316237376261333731643445f410b4015f5a4e31346672616d655f6d6574616461746133763136315f3132325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65744173736f636961746564547970654d65746164617461244c542454244754242447542439656e636f64655f746f3137686334646666336231396363313661656545f510b0015f5a4e31346672616d655f6d6574616461746133763136315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d6574686f644d65746164617461244c542454244754242447542439656e636f64655f746f3137683338333231303066313235303531396145f610b2015f5a4e31346672616d655f6d6574616461746133763136315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65745669657746756e6374696f6e4d65746164617461244c542454244754242447542439656e636f64655f746f3137683232343632393466383537373639633545f710ac015f5a4e31346672616d655f6d6574616461746133763136315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e53746f72616765456e7472794d65746164617461244c542454244754242447542439656e636f64655f746f3137683064343465313465666264356630333845f810ae015f5a4e31346672616d655f6d6574616461746133763136315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c6574436f6e7374616e744d65746164617461244c542454244754242447542439656e636f64655f746f3137683762303437393961316164373131353345f910765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683637383530633836353132663361353145fa10435f5a4e31346672616d655f6d6574616461746133763136313852756e74696d654d65746164617461563136336e65773137683462616632613630656330303937366345fb1082015f5a4e39305f244c54246672616d655f6d657461646174612e2e7631362e2e50616c6c65744d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137683766363939653337323438326138663645fc108f015f5a4e3130325f244c54246672616d655f6d657461646174612e2e7631362e2e50616c6c65745669657746756e6374696f6e4d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137683862633033343161363232653533353745fd10a1015f5a4e31346672616d655f6d6574616461746133763136315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654d65746164617461563136244754243973697a655f68696e743137686236623436303730363935336133636145fe10a1015f5a4e31346672616d655f6d6574616461746133763136315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654d657461646174615631362447542439656e636f64655f746f3137686634363038303734666335383336656345ff10a6015f5a4e31346672616d655f6d6574616461746133763136315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65744d65746164617461244c542454244754242447542439656e636f64655f746f31376834306130636236626631306531323036458011aa015f5a4e31346672616d655f6d6574616461746133763136315f3131325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d65746164617461244c542454244754242447542439656e636f64655f746f31376830353731353933313939623533646533458111c4015f5a4e31346672616d655f6d6574616461746133763136315f3131335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e4974656d4465707265636174696f6e496e666f244c542454244754242447542439656e636f64655f746f31376830383932663038623332346562383665452e6c6c766d2e353135313636313938343337383433393037398211ae015f5a4e31346672616d655f6d6574616461746133763136315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e56617269616e744465707265636174696f6e496e666f244c542454244754242447542439656e636f64655f746f313768633636356166346136366165376138344583118c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f313768656162333439373534376633353038394584113f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683931636263613932316162653064363845851194015f5a4e31346672616d655f6d65746164617461315f39355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e52756e74696d654d65746164617461244754243973697a655f68696e7431376865656364613466613463333039356461458611a6015f5a4e31346672616d655f6d6574616461746133763135315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e50616c6c65744d65746164617461244c542454244754242447542439656e636f64655f746f31376832336432636461646466613066663932458711aa015f5a4e31346672616d655f6d6574616461746133763135315f3131325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e52756e74696d654170694d65746164617461244c542454244754242447542439656e636f64655f746f313768363366656235353434653938363433624588115b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376833326164666632643231616537313536452e6c6c766d2e313137373037383930303132323036373039343089115b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376833373434663066663261333133656634452e6c6c766d2e31313737303738393030313232303637303934308a11425f5a4e34636f726535736c69636534736f727436736861726564357069766f74313263686f6f73655f7069766f7431376839386134613463346431613562616334458b11b0015f5a4e31346672616d655f6d6574616461746133763135315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e52756e74696d654170694d6574686f644d65746164617461244c542454244754242447542439656e636f64655f746f31376863623764383261643766376266313263458c11645f5a4e36355f244c542424753562245424753564242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f31376833633963653031653036336665343861458d11435f5a4e31346672616d655f6d6574616461746133763135313852756e74696d654d65746164617461563135336e657731376862623665383638396637363732636362458e118d015f5a4e3130305f244c54246672616d655f6d657461646174612e2e7631352e2e52756e74696d654170694d6574686f644d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c6531376834316430643333363465613833316333458f1182015f5a4e39305f244c54246672616d655f6d657461646174612e2e7631352e2e50616c6c65744d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c6531376835363933623433333432666666666634459011a1015f5a4e31346672616d655f6d6574616461746133763135315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e52756e74696d654d65746164617461563135244754243973697a655f68696e7431376861623961373831363430363133333534459111395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376832326336613439313731323736353530459211395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376861356463323636636664313132623463459311465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274345f737461626c6531376834383266373330386232333538653962459411535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376864633632643031353637613334353363459511535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376866643231636438346336613464666137459611595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376830373462383532643534636136613262459711595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376865653062663763373739653164326239459811425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f727431376862316332373639373638626466313965459911425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f727431376866376263633530383961363662383439459a118f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f31376830353466616263363263383835316438459b118f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f31376835366464653965653762353065393934459c118f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f31376861363664393433316563626130393663459d1193015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376831656235396539646131383765383962459e1193015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376835393339313633306633653036316461459f11ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683936396366653630396230646435646345a011ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137686636343539393661643739613430373245a11181015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683565323236656236303230316330333445a21181015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683630303530666436323163303539306345a31181015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686464633130623265383565633639656145a41181015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683932343362333538636461316437393945a51181015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686236653337346662363264306263303745a611655f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313562756c6b5f737465616c5f6c6566743137683039326636303564303132356162363045a711665f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313662756c6b5f737465616c5f72696768743137686137636366376530356337353036363545a8115d5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b244324562447542438646f5f6d657267653137686336626161373965653832303166663245a911cd025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653235395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313472656d6f76655f6c6561665f6b763137686635336438646362353730323562366145aa11db025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653236395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313872656d6f76655f6b765f747261636b696e673137686135343266326366363863303161386145ab1193015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137683061383962336131366431356436313045ac1180015f5a4e34636f726533707472363864726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c542473657264655f6a736f6e2e2e76616c75652e2e56616c7565244754242447542431376865343531653739353465323264613331452e6c6c766d2e3132333935363631323332393237363834353130ad11645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683539636131303461383832313237633345ae11475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683934356138376332626565666132316145af11495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683037373963353261313133383861626345b0115c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247536342447542433666d743137683561623239333438333232313533333845b111725f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376864643866333831656264316637646633452e6c6c766d2e36313938313733343933323130343637323334b2115f5f5a4e36365f244c542473705f776569676874732e2e7765696768745f76322e2e576569676874247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683231336534633363643733306538383545b3117b5f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831303235386638333138373561663832452e6c6c766d2e36313938313733343933323130343637323334b411555f5a4e31336672616d655f737570706f72743864697370617463683136506f73744469737061746368496e666f313863616c635f61637475616c5f7765696768743137686536323762366664623363376632326445b5114f5f5a4e31336672616d655f737570706f72743864697370617463683136506f73744469737061746368496e666f313263616c635f756e7370656e743137686434316137303361336165653138663845b611475f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656431346765745f6f725f64656661756c743137686631663636633738633761383231353245b7118d015f5a4e31336672616d655f737570706f7274386469737061746368315f38305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e506179732447542439747970655f696e666f3137683434326430363033316633323239343445b81196015f5a4e31336672616d655f737570706f7274386469737061746368315f38395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e4469737061746368436c6173732447542439747970655f696e666f3137683264316662663765653134383861303145b91198015f5a4e3132315f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e457874726163744966244c54244b24432456244324462443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683435346438653939333232333264643645ba11595f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686464386633383165626431663764663345bb11495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683962303561343365663563346636623545bc113b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683363653435366363373633323038613045bd115f5f5a4e36365f244c5424616c6c6f632e2e626f72726f772e2e436f77244c54244224475424247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686534343931633134333561373738343245be1198015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376862616363353836633961663139353065452e6c6c766d2e3732313737323638333131303839333837bf11ad015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e73346d697363315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e6d6973632e2e42616c616e63655374617475732447542439747970655f696e666f3137686532306238346463396366376665333345c01189015f5a4e3130365f244c5424636f72652e2e697465722e2e61646170746572732e2e636861696e2e2e436861696e244c5424412443244224475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683333376338366237313330393032366145c111405f5a4e34636f7265346974657236747261697473386974657261746f72384974657261746f723565715f62793137686661313936643666663835366239396445c2114b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376834643363663066666138666433326166452e6c6c766d2e39323734323334323835333036343631323530c3115a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683633336266313334633834366434633745c411465f5a4e31336672616d655f737570706f7274313664697370617463685f636f6e7465787436474c4f42414c365f5f696e69743137683661383931306139336339393630653245c5112e5f5a4e313161727261795f6279746573396279746573326865783137686633613436356431643739393763366545c61180015f5a4e39385f244c54246672616d655f737570706f72742e2e73746f726167652e2e7472616e73616374696f6e616c2e2e53746f726167654c617965724775617264247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686237333734363266336431316132626545c7115a5f5a4e31336672616d655f737570706f7274323367656e65726174655f67656e657369735f636f6e666967323572657461696e5f696e697469616c697a65645f6669656c64733137686238353236636634613033383462613045c81183015f5a4e31307363616c655f696e666f35696d706c7337385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f72726f772e2e436f77244c542454244754242447542439747970655f696e666f3137683935373961666264363833653963396245c91185015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683762626266653732346539303632366345ca1195015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683663323663343635653139383937303345cb11745f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376832356339633638316363613731346136452e6c6c766d2e3132353530323230373639393131373838313836cc11ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683465616337303637663166663032336345cd11ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686464303463336161396165303735613545ce11475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686261333462383462343833626664346545cf114c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376861646435656262626638643037383230452e6c6c766d2e3132353530323230373639393131373838313836d01185015f5a4e31326672616d655f73797374656d315f38325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e44697370617463684576656e74496e666f2447542439747970655f696e666f3137683136656233613463343633346234333245d111795f5a4e31326672616d655f73797374656d315f37305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e50686173652447542439747970655f696e666f3137683633626462663738373837373137636245d2118a015f5a4e31326672616d655f73797374656d315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e4c61737452756e74696d6555706772616465496e666f2447542439747970655f696e666f3137686134393631373137303138613866616245d311a3015f5a4e31336672616d655f737570706f7274386469737061746368315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c542454244754242447542439747970655f696e666f3137686238613032343061313564643837316445d41192015f5a4e31326672616d655f73797374656d366c696d697473315f38385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e6c696d6974732e2e57656967687473506572436c6173732447542439747970655f696e666f3137686166326365343636623962623135643045d511a3015f5a4e31336672616d655f737570706f7274386469737061746368315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c542454244754242447542439747970655f696e666f3137686639383964643839336137323739643645d611435f5a4e31326672616d655f73797374656d366c696d6974733132426c6f636b576569676874733876616c69646174653137683364663930653836353962663639326145d711475f5a4e31326672616d655f73797374656d366c696d6974733139426c6f636b576569676874734275696c646572356275696c643137683161323365353261616333353466643145d8118e015f5a4e31326672616d655f73797374656d366c696d697473315f38345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e6c696d6974732e2e426c6f636b4c656e6774682447542439747970655f696e666f3137683962396565356238653364646439313745d91181015f5a4e37355f244c54246672616d655f73797374656d2e2e6c696d6974732e2e56616c69646174696f6e4572726f7273247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831623966303638353131306230333162452e6c6c766d2e32333136343638353832303337393732323636da119c015f5a4e31326672616d655f73797374656d366c696d697473315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e6c696d6974732e2e426c6f636b57656967687473244754243973697a655f68696e743137683437356165616432633138633864636645db118f015f5a4e31326672616d655f73797374656d366c696d697473315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e6c696d6974732e2e426c6f636b576569676874732447542439747970655f696e666f3137683335373666393338623938356233373145dc11445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683131666135346131373130303833383345dd11445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683764303139323364643933326661643845de11495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686232376134316434633063653961393545df11aa015f5a4e38375f244c542467657472616e646f6d5f6f725f70616e69632e2e67657472616e646f6d5f6f725f70616e69632e2e50616e6963526e6724753230246173247532302472616e645f636f72652e2e526e67436f726524475424313066696c6c5f6279746573313870616e69635f636f6c645f646973706c617931376834393036373165646339353064346130452e6c6c766d2e3134333935393839373432303136363336303135e011415f5a4e366b656363616b386b656363616b5f7031376864343531653530653734343932333964452e6c6c766d2e3131393236353139383634303133333031393932e111655f5a4e34335f244c54246c6f672e2e4e6f704c6f676765722475323024617324753230246c6f672e2e4c6f672447542437656e61626c656431376838336664336166306263333834626234452e6c6c766d2e36363433383934363632343136303435333934e211615f5a4e34335f244c54246c6f672e2e4e6f704c6f676765722475323024617324753230246c6f672e2e4c6f6724475424336c6f6731376839626365373238363232373538353434452e6c6c766d2e36363433383934363632343136303435333934e311635f5a4e34335f244c54246c6f672e2e4e6f704c6f676765722475323024617324753230246c6f672e2e4c6f672447542435666c75736831376862323730363531303631666330323262452e6c6c766d2e36363433383934363632343136303435333934e411335f5a4e336c6f6731335f5f707269766174655f617069386c6f675f696d706c3137683465346431386535656463376335613945e511475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683832643164313232353466336139316445e611355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137686563336137353334383963653936656545e711515f5a4e366d65726c696e367374726f6265395374726f626531323838626567696e5f6f7031376862303563383836366562353938333331452e6c6c766d2e37323930313033363434363235383533313935e8113a5f5a4e366d65726c696e31307472616e73637269707431305472616e736372697074336e65773137686436663935343662363862383061326645e911465f5a4e366d65726c696e31307472616e73637269707431305472616e7363726970743134617070656e645f6d6573736167653137686536323932363463393234363336363945ea11475f5a4e366d65726c696e31307472616e73637269707431305472616e73637269707431356368616c6c656e67655f62797465733137683930333632316335626238346430643045eb115a5f5a4e366d65726c696e31307472616e73637269707432305472616e736372697074526e674275696c646572323472656b65795f776974685f7769746e6573735f62797465733137683562626565313535616332353635303245ec118e015f5a4e313570616c6c65745f62616c616e636573357479706573315f38325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e526561736f6e732447542439747970655f696e666f3137683461613939376632353031636531623045ed1191015f5a4e313570616c6c65745f62616c616e636573357479706573315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e4578747261466c6167732447542439747970655f696e666f3137686362396464303239356363376237666645ee119a015f5a4e313570616c6c65745f62616c616e636573357479706573315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e41646a7573746d656e74446972656374696f6e2447542439747970655f696e666f3137686636376234353030353062636162396445ef1197015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f39305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e556e65787065637465644b696e642447542439747970655f696e666f3137686638656234393437383337343336396145f0118c015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f38305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e4576656e742447542439747970655f696e666f3137683035383137616437316261653731383645f11198015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e74315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e52656c65617365732447542439747970655f696e666f3137686331613432346339623166363136663345f2115e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137686637373235376662343839663239623545f3114b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376865323739393738646237343232396634452e6c6c766d2e35373235333537343438343034383133383130f411735f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376835613338346566666232663734646561452e6c6c766d2e35373235333537343438343034383133383130f51191015f5a4e39315f244c54247061726974795f7363616c655f636f6465632e2e636f6465632e2e4279746573437572736f722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e496e7075742447542432377363616c655f696e7465726e616c5f6465636f64655f62797465733137683530396632353435386332666338353045f61185015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e507265666978496e707574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e496e7075742447542434726561643137683165396462636363386138383133316445f711595f5a4e35375f244c54247374722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137686262336436323737633832366361303245f811645f5a4e37315f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683265393739396439343363343932656345f911465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e3137683365616136656339326637306262343745fa118c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683830646361386161633430633730326545fb11595f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686464386633383165626431663764663345fc11755f5a4e38385f244c5424706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e4865616444617461247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683563363865623265396235633330313845fd116f5f5a4e38325f244c5424706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e4964247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686335383766323032323931656166313045fe114d5f5a4e3239706f6c6b61646f745f70617261636861696e5f7072696d697469766573387761736d5f617069313277726974655f726573756c743137683538656230343133653265383930343545ff11b7015f5a4e3239706f6c6b61646f745f70617261636861696e5f7072696d69746976657331307072696d697469766573315f3130325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e48656164446174612447542439747970655f696e666f31376836356465313764363434663239303664458012bd015f5a4e3239706f6c6b61646f745f70617261636861696e5f7072696d69746976657331307072696d697469766573315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e56616c69646174696f6e436f64652447542439747970655f696e666f31376831613231646136326334613737656436458112b0015f5a4e3239706f6c6b61646f745f70617261636861696e5f7072696d69746976657331307072696d697469766573315f39365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e49642447542439747970655f696e666f313768373039396166633363653737386132624582122e5f5a4e313161727261795f627974657339627974657332686578313768343533376365313138363361353333304583125a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c65313768643766643061396266646266653861304584124c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376862623361373930323664353235323938452e6c6c766d2e313538373537323936363934303933383031323985124c5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542431357472795f616c6c6f636174655f696e3137686439613232356563373137336535613445861280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f31376833663036353161636338303463373762458712445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837343439373531636430306333373832458812a3015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e4162726964676564486f7374436f6e66696775726174696f6e2447542439747970655f696e666f313768383239373862383663333534366131624589129c015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f39355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e416272696467656448726d704368616e6e656c2447542439747970655f696e666f31376863643431333433343135353361653966458a129b015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e557067726164655265737472696374696f6e2447542439747970655f696e666f31376838663637326561393966663537646661458b1297015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f39305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e55706772616465476f41686561642447542439747970655f696e666f31376837323830643532663164326137656130458c1293015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f6974657231376864633831636335643430623764333562458d12ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376861303066623236353537323033363433458e12ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376861373965613437653331663938653764458f12ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686335643232623661646138623233346545901285015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683564653739346132303362643065353845911287015f5a4e3130345f244c5424636f72652e2e697465722e2e61646170746572732e2e636c6f6e65642e2e436c6f6e6564244c54244924475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c64313768393163343163393562356434363363374592128c015f5a4e3130345f244c5424636f72652e2e697465722e2e61646170746572732e2e636c6f6e65642e2e436c6f6e6564244c54244924475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f72244754243973697a655f68696e7431376830333765353861303738663164376662459312ba015f5a4e3139706f6c6b61646f745f7072696d69746976657332763931336173796e635f6261636b696e67315f3130395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e6173796e635f6261636b696e672e2e4173796e634261636b696e67506172616d732447542439747970655f696e666f313768666138663466396531663361393833324594124b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376831626131346238663239356637386531452e6c6c766d2e3231393633383632343838333638333030303395125a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376863383939326362343235306239336231459612475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f64656431376838613534623563313135636362353766459712325f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376837343533663130633566313964666662459812435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376831303363313665613231356632363930459912635f5a4e34355f244c54242452462454247532302461732475323024636f72652e2e666d742e2e4c6f7765724865782447542433666d7431376866633637363261326266323763326264452e6c6c766d2e313432393230393334363537313836363838309a12575f5a4e35385f244c54247072696d69746976655f74797065732e2e48323536247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376834666561653266663931333437623066459b127e5f5a4e31357072696d69746976655f7479706573315f37325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247072696d69746976655f74797065732e2e483235362447542439747970655f696e666f31376834346234313766666335346434353563459c127e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f31376864363035653634396366663631363832459d124a5f5a4e34355f244c54242452462454247532302461732475323024636f72652e2e666d742e2e4c6f7765724865782447542433666d7431376834613737636562393730623531613166459e12405f5a4e3372797536707265747479386d616e7469737361313977726974655f6d616e74697373615f6c6f6e6731376864356263343335303037393161616239459f122b5f5a4e337279753670726574747938666f726d617436343137683962303966306162303961363063663345a0129c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683033313562313362626431306462356345a11292025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683431363736333061643336376633663045a2129c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686230653039646439373462316239663745a31292025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683262636437303032613333383031666145a4129e015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376863616266303137313432333333326432452e6c6c766d2e36363435303437393039383434313534363635a512625f5a4e36375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653137683232633565666337306238306465316645a612625f5a4e36375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653137686438363263363437396539346636346545a71289015f5a4e3130365f244c5424636f72652e2e697465722e2e61646170746572732e2e636861696e2e2e436861696e244c5424412443244224475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686461353235643330393663643162303045a8123d5f5a4e34636f726533737472377061747465726e313454776f5761795365617263686572346e6578743137686661316334346636346362353637386645a91293015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137683034303132386161616265663166363945aa12ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686465356332643330353834643538613145ab12ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137683461666137623030373330353633353545ac12ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137683939326633383966316636363133333745ad1285015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683231313530303237376436396463363445ae1285015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686535376333366137643864626632326645af128b015f5a4e3130385f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e49746572244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686232353230353831353963643763623545b0128a015f5a4e34636f726533707472373964726f705f696e5f706c616365244c54247363616c655f696e666f2e2e74792e2e54797065244c54247363616c655f696e666f2e2e666f726d2e2e506f727461626c65466f726d244754242447542431376833393965356361383765383566303537452e6c6c766d2e32393833343536333131363436323731353634b112565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137683535656230643736636138616535636645b21281015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683634313165393137343638333566353045b31281015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686462663436393063643836623334353745b4124c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376861326539633935646666316364653132452e6c6c766d2e3131303635313436303730343334383433393138b512435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683563616431646664313866666433346245b612435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686435626134326662356439393031343145b7125a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686532663934373262333266333964386345b812475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683337383361666564323338336565343245b912475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686438666165323035626435343065393045ba128b015f5a4e34636f726533707472373964726f705f696e5f706c616365244c54247363616c655f696e666f2e2e74792e2e54797065244c54247363616c655f696e666f2e2e666f726d2e2e506f727461626c65466f726d244754242447542431376833393965356361383765383566303537452e6c6c766d2e3137343930393932323930373239353835363235bb124b5f5a4e34636f72653373747232315f244c5424696d706c24753230247374722447542431387472696d5f73746172745f6d6174636865733137683731316463376435366131373764393645bc125f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e736572743137683234323634393936383064663265333745bd125f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e736572743137686665636430613135653663313135353245be12445f5a4e31307363616c655f696e666f387265676973747279385265676973747279313372656769737465725f747970653137683633643162326439643632336562333645bf126b5f5a4e31307363616c655f696e666f35696d706c7335345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247374722447542439747970655f696e666f3137686232306238353566333331363837393145c0124e5f5a4e31307363616c655f696e666f38696e7465726e65723137496e7465726e6572244c542454244754243133696e7465726e5f6f725f6765743137686465643361333164656533363032393345c112345f5a4e31307363616c655f696e666f32747934706174683450617468336e65773137683535393537396565393231613462313445c212425f5a4e31307363616c655f696e666f3274793470617468345061746831366e65775f776974685f7265706c6163653137686464313438386331356432393335343945c312385f5a4e31307363616c655f696e666f32747934706174683450617468377072656c7564653137686136323962303535613239386665626145c4126c5f5a4e31307363616c655f696e666f35696d706c7335355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f6f6c2447542439747970655f696e666f3137683839303731303861633239626531653345c5126a5f5a4e31307363616c655f696e666f35696d706c7335335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302475382447542439747970655f696e666f3137686361303835383537336466373134326445c6126b5f5a4e31307363616c655f696e666f35696d706c7335345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247531362447542439747970655f696e666f3137683939333164383562336565316266613245c7126b5f5a4e31307363616c655f696e666f35696d706c7335345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247533322447542439747970655f696e666f3137686436646332363333633061353365356545c8126b5f5a4e31307363616c655f696e666f35696d706c7335345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247536342447542439747970655f696e666f3137686163373735373739396137336263623845c9126c5f5a4e31307363616c655f696e666f35696d706c7335355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024753132382447542439747970655f696e666f3137686531383338346534383537653864383645ca12705f5a4e31307363616c655f696e666f35696d706c7335395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c5024245250242447542439747970655f696e666f3137686162356565323063323037653536306645cb12795f5a4e36385f244c54247363616c655f696e666f2e2e74792e2e706174682e2e506174684572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831346162383632313638393566356634452e6c6c766d2e313331373734343131363230343333383136cc12765f5a4e37385f244c54247363616c655f696e666f2e2e74792e2e547970654465662475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137686338313561396238356338336238633145cd123d5f5a4e31307363616c655f696e666f357574696c73313869735f727573745f6964656e7469666965723137686339366663373435343236366633316645ce1286015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683235323337326538636334303066633345cf1286015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683933663662613939636364356530383645d01286015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686338306661316538303438373462653945d1128a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683666626136633435306465633966393345d2128a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683965386666393866313936373332316345d312645f5a4e35616c6c6f633376656339696e746f5f697465723231496e746f49746572244c54245424432441244754243332666f726765745f616c6c6f636174696f6e5f64726f705f72656d61696e696e673137686138346538393332653736386331383845d412745f5a4e38365f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683935316635666332363839366335313045d5123e5f5a4e31307363686e6f72726b656c346b65797331334d696e695365637265744b657936657870616e643137683834653031336137356465343738333145d612615f5a4e36375f244c54247363686e6f72726b656c2e2e6b6579732e2e4b657970616972247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683765643834623033356535613531326445d71283015f5a4e3130305f244c54247363686e6f72726b656c2e2e6b6579732e2e4b657970616972247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54247363686e6f72726b656c2e2e6b6579732e2e5365637265744b657924475424244754243466726f6d3137686563363730343637313838366132316245d812635f5a4e36395f244c54247363686e6f72726b656c2e2e6b6579732e2e5365637265744b6579247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686265303331356663623330323636643845d91280015f5a4e38395f244c54246d65726c696e2e2e7472616e7363726970742e2e5472616e7363726970742475323024617324753230247363686e6f72726b656c2e2e636f6e746578742e2e5369676e696e675472616e736372697074244754243132636f6d6d69745f62797465733137683138626163623865386437656533643745da1283015f5a4e38395f244c54246d65726c696e2e2e7472616e7363726970742e2e5472616e7363726970742475323024617324753230247363686e6f72726b656c2e2e636f6e746578742e2e5369676e696e675472616e7363726970742447542431356368616c6c656e67655f62797465733137683361626430333138376330663933346445db12405f5a4e31307363686e6f72726b656c32377363616c61725f66726f6d5f63616e6f6e6963616c5f62797465733137683366366532613836316366346262353945dc12475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683136633961366638633537393866626245dd12495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683134336665313833666539353036383545de12495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683666376563343766366130376233636145df12305f5a4e34636f726533666d743557726974653977726974655f666d743137683231613034313765373566343632666645e0125e5f5a4e36355f244c542473657264655f636f72652e2e64652e2e556e6578706563746564247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683337313633383232356666363137653945e112645f5a4e37315f244c542473657264655f636f72652e2e64652e2e57697468446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686431633761626230616434313433656145e212515f5a4e35325f244c54242452462473747224753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137686331313833383031613461333034363945e312595f5a4e36305f244c542473657264655f636f72652e2e64652e2e4f6e654f66247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686430663563393630323230376365656445e4126e5f5a4e36305f244c542473657264655f636f72652e2e64652e2e4f6e654f66247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d74313970616e69635f636f6c645f6578706c696369743137683431616166383533633231633635363445e512a9015f5a4e3133335f244c5424244c542473657264655f636f72652e2e64652e2e57697468446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e446973706c6179244754242e2e666d742e2e4c6f6f6b466f72446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137683231323161663463666436346463626545e612ab015f5a4e3133335f244c5424244c542473657264655f636f72652e2e64652e2e57697468446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e446973706c6179244754242e2e666d742e2e4c6f6f6b466f72446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f636861723137683036323732376639313736306136353445e71285015f5a4e3130325f244c542473657264655f6a736f6e2e2e6e756d6265722e2e4e756d626572247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c542473657264655f6a736f6e2e2e64652e2e5061727365724e756d62657224475424244754243466726f6d3137686436643930626266313336383737316645e8126b5f5a4e37375f244c542473657264655f6a736f6e2e2e6e756d6265722e2e4e756d626572247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c542475363424475424244754243466726f6d3137683466383563343736656163633566353945e9126c5f5a4e37385f244c542473657264655f6a736f6e2e2e6e756d6265722e2e4e756d626572247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54247531323824475424244754243466726f6d3137683233356337663433313263326338663445ea12495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686363336364303137616362373635663645eb12745f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376831383431623133386565383933613564452e6c6c766d2e3137393238363633353732373935313736353933ec124c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376831626261373031336331613530333964452e6c6c766d2e3137393238363633353732373935313736353933ed12435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686330633130323638646230303661633145ee125e5f5a4e36355f244c542473657264655f6a736f6e2e2e696f2e2e696d702e2e4572726f72247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686332373034393739363639303961326245ef124c5f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e67244754243137683538383366633031343365303135646345f012425f5a4e34636f726533737472377061747465726e313454776f5761795365617263686572396e6578745f6261636b3137683334313738613636343533633562383945f112525f5a4e35335f244c5424636f72652e2e666d742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683161376566383832646131363031373945f212575f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683134346438396636306630383963313545f3125f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f636861723137683836623035353033323438353133326445f4125d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137686463373765383038663336633535386345f512365f5a4e313073657264655f6a736f6e356572726f72354572726f723673796e7461783137683330626166366162313639303061396345f612325f5a4e313073657264655f6a736f6e356572726f72354572726f7232696f3137683635366538636164333664373534313845f7123d5f5a4e313073657264655f6a736f6e356572726f72354572726f7231326669785f706f736974696f6e3137683463623535393239333061626364356645f812605f5a4e36375f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72436f6465247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683438653035376638393463653838396145f9125c5f5a4e36335f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686462356133306532336338383733666245fa125a5f5a4e36315f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686664656266653862376631303662643945fb127c5f5a4e36365f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264655f636f72652e2e64652e2e4572726f722447542436637573746f6d31376866373138323835356432343566396230452e6c6c766d2e3133373333333537343438343938383533313734fc12355f5a4e313073657264655f6a736f6e356572726f7231306d616b655f6572726f723137686336303430313233633432333130333345fd12695f5a4e36365f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264655f636f72652e2e64652e2e4572726f72244754243132696e76616c69645f747970653137683362313732393039656166303265353745fe12655f5a4e37325f244c542473657264655f6a736f6e2e2e6572726f722e2e4a736f6e556e6578706563746564247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686637623462343439653365393764653245ff126a5f5a4e36365f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264655f636f72652e2e64652e2e4572726f72244754243133696e76616c69645f76616c756531376833353230333062343138633136356536458013425f5a4e313073657264655f6a736f6e32646531325061727365724e756d6265723132696e76616c69645f7479706531376830653164363739336539366166663462458113435f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424356572726f7231376831666361613832343338616566396161458213565f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424323370617273655f616e795f7369676e65645f6e756d62657231376866303730393730393437373534356566458313695f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313670617273655f616e795f6e756d62657231376839656231393262656235306435383536452e6c6c766d2e313436383531353932303731363236363831353684134b5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431327363616e5f696e7465676572313768626361666366303830333238623639334585134a5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431317363616e5f6e756d626572313768613861653865313264393538326138314586134c5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431337363616e5f6578706f6e656e74313768623433383037313261383966383338614587135f5f5a4e313073657264655f6a736f6e347265616439536c696365526561643137706f736974696f6e5f6f665f696e64657831376833303233313839613838303732626166452e6c6c766d2e31313830373838393131373937393136333735328813475f5a4e313073657264655f6a736f6e347265616439536c696365526561643139736b69705f746f5f6573636170655f736c6f7731376837613535663664393332343735333134458913695f5a4e37305f244c542473657264655f6a736f6e2e2e726561642e2e536c6963655265616424753230246173247532302473657264655f6a736f6e2e2e726561642e2e52656164244754243970617273655f73747231376866303030633137386130363136656637458a132e5f5a4e313073657264655f6a736f6e3472656164356572726f7231376865396232316133313561323230633734458b132e5f5a4e313073657264655f6a736f6e3472656164356572726f7231376862383537356435643262323330623939458c132e5f5a4e313073657264655f6a736f6e3472656164356572726f7231376837323630353539623864343161383135458d133e5f5a4e313073657264655f6a736f6e3472656164323070617273655f756e69636f64655f65736361706531376832396561623136643331363331666631458e132e5f5a4e313073657264655f6a736f6e3472656164356572726f7231376834653634356634333333333432633264458f132e5f5a4e313073657264655f6a736f6e3472656164356572726f7231376862663737393332663239333039623637459013765f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a655374727563742447542433656e643137683339343330356561323062303532636145911382015f5a4e39305f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e4e756d62657256616c7565456d697474657224753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a657224475424313373657269616c697a655f73747231376835323037626566353262346665383063459213495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376836366366353964366536363531636265459313305f5a4e34636f726533666d743557726974653977726974655f666d74313768613466356234646134383233313463374594134c5f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e6724475424313768353838336663303134336530313564634595135f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f63686172313768383662303535303332343835313332644596135d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376864633737653830386633366335353863459713315f5a4e34736861323673686135313234736f667438636f6d707265737331376833373262353262393132346333393530459813755f5a4e38335f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e4669786564553634247532302461732475323024636f72652e2e7374722e2e7472616974732e2e46726f6d537472244754243866726f6d5f7374723137683035646334626530303138393663663345991398015f5a4e313373705f61726974686d65746963313166697865645f706f696e74315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f61726974686d657469632e2e66697865645f706f696e742e2e46697865645536342447542439747970655f696e666f31376861373163373962643164613732393531459a1399015f5a4e313373705f61726974686d65746963313166697865645f706f696e74315f38385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f61726974686d657469632e2e66697865645f706f696e742e2e4669786564553132382447542439747970655f696e666f31376836623733313631363665346462663661459b1385015f5a4e313373705f61726974686d65746963315f38315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f61726974686d657469632e2e41726974686d657469634572726f722447542439747970655f696e666f31376863316264613766326465613038373332459c13ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376831636234326238626432643537633231459d13ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376861656266313664623134613764636434459e13ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376862313162386232303839636434643466459f134c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376834336333386631656664333637306234452e6c6c766d2e3134363631333137333533303533353533323037a013435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683233623037613862373438386333336345a1134c5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542431357472795f616c6c6f636174655f696e3137683439346135613866663138363534386345a2135a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683936643362326265626335343434363745a3134e5f5a4e313373705f61726974686d65746963313468656c706572735f31323862697439646f75626c6531323839446f75626c65313238336469763137683564373062383633373066643837373345a4134c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376832303866353436643432316534373630452e6c6c766d2e3135343437353639383936313434313039373431a5135a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686565393537613661613464346238373645a6137b5f5a4e38385f244c542473705f636f72652e2e63727970746f5f62797465732e2e43727970746f4279746573244c54245f24432454244754242475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137683439643437366535326538616466363745a713ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683165306434383661386534336164323545a813ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686237313163373565303963386431653045a913af015f5a4e313773705f636f6e73656e7375735f61757261377372323535313931316170705f73723235353139315f39385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f6e73656e7375735f617572612e2e737232353531392e2e6170705f737232353531392e2e5075626c69632447542439747970655f696e666f3137686237363664356134363065336637356345aa1384015f5a4e313873705f636f6e73656e7375735f736c6f7473315f37355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f6e73656e7375735f736c6f74732e2e536c6f742447542439747970655f696e666f3137683066323631363663336439643830613445ab138c015f5a4e313873705f636f6e73656e7375735f736c6f7473315f38335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f6e73656e7375735f736c6f74732e2e536c6f744475726174696f6e2447542439747970655f696e666f3137683135666637666161656338613633393545ac134b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376863343366636565393339663333663137452e6c6c766d2e39313536353537363732383731373139313536ad13435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683564363263653266613965666561373445ae135a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683736626137353537393033643331323045af133e5f5a4e3773705f636f72653131616464726573735f7572693130416464726573735572693570617273653137683333356533326566306138323831363845b0136e5f5a4e38305f244c542473705f636f72652e2e63727970746f2e2e4465726976654a756e6374696f6e247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54245424475424244754243466726f6d3137686239613634386461633036383733326545b1132f5f5a4e3773705f636f72653663727970746f3873733538686173683137686562633161656136643937393331366545b2135e5f5a4e36355f244c542473705f636f72652e2e63727970746f2e2e4163636f756e7449643332247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686637383662386634346139353265636145b3136b5f5a4e37335f244c542473705f636f72652e2e63727970746f2e2e536563726574557269247532302461732475323024636f72652e2e7374722e2e7472616974732e2e46726f6d537472244754243866726f6d5f7374723137683434616130363462626531643237626545b41383015f5a4e3773705f636f72653663727970746f315f37395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f72652e2e63727970746f2e2e4163636f756e74496433322447542439747970655f696e666f3137683038633638663935333530346634303645b51381015f5a4e3773705f636f72653663727970746f315f37375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f72652e2e63727970746f2e2e4b65795479706549642447542439747970655f696e666f3137683666616132383338316531346263623645b6137e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683436646135333363356634313837386545b7137e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137686635653736383666323064313064656545b813765f5a4e31307363686e6f72726b656c3664657269766534355f244c5424696d706c24753230247363686e6f72726b656c2e2e6b6579732e2e5365637265744b6579244754243237686172645f6465726976655f6d696e695f7365637265745f6b65793137683164633933636637306239646562373045b913635f5a4e37305f244c542473705f636f72652e2e686578646973706c61792e2e486578446973706c6179247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686634393339353062643663626362373345ba13775f5a4e3773705f636f7265315f37345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f72652e2e4f70617175654d657461646174612447542439747970655f696e666f3137686266643734313831636536643135343945bb138c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683930363363336634633435666433313645bc13305f5a4e346273353836656e636f64653131656e636f64655f696e746f3137683535386464333662373566336439343245bd136e5f5a4e35365f244c5424627335382e2e656e636f64652e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836396638316637373031303736653639452e6c6c766d2e34343631383238313434373435353735353133be133f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683366626564373837363635653836353945bf13475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683334653230643636353834396438626345c013475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686335653365393266306236313132653445c113475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686539306633386164356237653965386645c213495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683563393265613033636162303639313745c3134a5f5a4e34355f244c54242452462454247532302461732475323024636f72652e2e666d742e2e4c6f7765724865782447542433666d743137686536333133656337356538346339646345c4135e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137686637373235376662343839663239623545c513505f5a4e34636f726533707472343664726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c5424753824475424244754243137686466666239393938623461623236646145c6136c5f5a4e34636f726533707472343964726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e46726f6d557466384572726f722447542431376836343730633561333435383934366562452e6c6c766d2e35393238343837313230313131313031393635c7135f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137686536303763613766303864653433316545c813625f5a4e36305f244c5424245246246d7574247532302454247532302461732475323024627335382e2e656e636f64652e2e456e636f6465546172676574244754243131656e636f64655f776974683137683738653035613361323137633164366545c913775f5a4e36355f244c5424616c6c6f632e2e737472696e672e2e46726f6d557466384572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376834343165613361333537363365623764452e6c6c766d2e35393238343837313230313131313031393635ca136a5f5a4e36345f244c542473705f636f72652e2e737232353531392e2e5061697224753230246173247532302473705f636f72652e2e63727970746f2e2e5061697224475424313566726f6d5f736565645f736c6963653137686531383638323133663865376139366345cb1380015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686232653535326238343433666365353845cc13ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683932373331343136343739333735336345cd13ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686530636537326438386566316362326445ce135e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683166313163393532306133363932613745cf136e5f5a4e37325f244c5424616c6c6f632e2e7665632e2e566563244c5424753824475424247532302461732475323024627335382e2e656e636f64652e2e456e636f6465546172676574244754243131656e636f64655f776974683137683365623238303661383962323234306445d0134b5f5a4e3132626c616b6532625f73696d6436506172616d73346861736831376839616339613038356433623337343130452e6c6c766d2e3134383537383037303635383634323836383933d1137a5f5a4e36375f244c5424636f72652e2e61727261792e2e54727946726f6d536c6963654572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836333531663366653463613266356639452e6c6c766d2e3134383537383037303635383634323836383933d2133b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683233333132353031363931666236633345d313465f5a4e313673705f65787465726e616c6974696573313373636f70655f6c696d6974656436474c4f42414c365f5f696e69743137683766653033366233643831373033383545d413b7015f5a4e31307363616c655f696e666f35696d706c733130345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242447542439747970655f696e666f31376864656461306531643437393531303035452e6c6c766d2e33373638353931363631373538343632303031d51380015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683062343838393264316530623264393245d613735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137683364633761343737386137356331353145d713755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683462663136653831633866623930373245d8137e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683462316664336533386665663265333545d91380015f5a4e313273705f696e686572656e7473315f37375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f696e686572656e74732e2e496e686572656e74446174612447542439747970655f696e666f3137683737353162373363653135313433333845da1388015f5a4e313273705f696e686572656e7473315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f696e686572656e74732e2e436865636b496e686572656e7473526573756c742447542439747970655f696e666f3137686438363732313761373737396237623945db13465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686163386436353665396234346438623245dc13a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683036666137393930613835376165326445dd13a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683264383861643437333331323461333245de13a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683531373235633462613836656139366145df13a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683537323335353834653532623936653245e013a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683739323461653635373433313863363745e113495f5a4e35627974657335627974657331317374617469635f64726f7031376837323563303337393662303838353933452e6c6c766d2e39303038343932363538383931383739353132e2134a5f5a4e35627974657335627974657331327374617469635f636c6f6e6531376835313365353436303035636339343065452e6c6c766d2e39303038343932363538383931383739353132e3134e5f5a4e35627974657335627974657331367374617469635f69735f756e6971756531376831613736623931326663326336316533452e6c6c766d2e39303038343932363538383931383739353132e4134b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376866353837333263643535356462303038452e6c6c766d2e34353636363039353938303239333532323833e513435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686262326634363963353865343930333045e613775f5a4e38375f244c5424636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683737393231633233643639313437393945e713505f5a4e3573705f696f3663727970746f323665787465726e5f686f73745f66756e6374696f6e5f696d706c733134656432353531395f7665726966793137686133356361366532306261666366383545e813645f5a4e3573705f696f3663727970746f323665787465726e5f686f73745f66756e6374696f6e5f696d706c733334736563703235366b315f65636473615f7265636f7665725f636f6d707265737365643137686131323963663036323833323432313445e913525f5a4e3573705f696f3663727970746f323665787465726e5f686f73745f66756e6374696f6e5f696d706c733136737232353531395f67656e65726174653137686539646638373334656165303034323445ea13505f5a4e3573705f696f3663727970746f323665787465726e5f686f73745f66756e6374696f6e5f696d706c733134737232353531395f7665726966793137683761396437363737626430376664613045eb13a0015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f646531376833333032366261383634616130376431452e6c6c766d2e3130353534343430393539383739393637323436ec138c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683164633738316339663033613938313945ed13575f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137683233306633303638666466363066633845ee13565f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7335636c6561723137683234613066343231386366373265373045ef135e5f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733132636c6561725f7072656669783137686436393962346666313230666466653745f013575f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73366578697374733137683839363433646639663731616633353145f113545f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73336765743137683539383030343762306163333230613645f213595f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73386e6578745f6b65793137683233366232623736366335636364653645f313555f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7334726561643137683533326533616633343331323134383545f413555f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7334726f6f743137686433373862346132383962366536343245f513545f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73337365743137686535306235376634373261356365633445f6135e5f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73313273746f726167655f6b696c6c3137686664373630663035306337616162633045f713485f5a4e3573705f696f346d697363323665787465726e5f686f73745f66756e6374696f6e5f696d706c73397072696e745f6865783137683935363639373236303433343634353245f8134a5f5a4e3573705f696f346d697363323665787465726e5f686f73745f66756e6374696f6e5f696d706c7331307072696e745f757466383137683335363533626366323562303163306445f9134f5f5a4e3573705f696f346d697363323665787465726e5f686f73745f66756e6374696f6e5f696d706c73313572756e74696d655f76657273696f6e3137683361626566393863613132373932303145fa134d5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733130626c616b65325f3132383137683336623438326464653330326637613145fb134d5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733130626c616b65325f3235363137686332303533356565643463303866643245fc134d5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c7331306b656363616b5f3235363137686163656536616633336431383731323245fd134a5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733874776f785f3132383137686532386662656637636430323239343445fe134a5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733874776f785f3235363137683331653564623231366364633838643545ff13495f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733774776f785f3634313768663833666235343563626366626261324580144f5f5a4e3573705f696f31346f6666636861696e5f696e646578323665787465726e5f686f73745f66756e6374696f6e5f696d706c7335636c656172313768323730653365326132313439663334614581144d5f5a4e3573705f696f31346f6666636861696e5f696e646578323665787465726e5f686f73745f66756e6374696f6e5f696d706c7333736574313768393130623566366434663533343330354582143f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376863313232663031316439616238383363458314735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f646531376834656662373866373335363937646230458414735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f646531376864383332326138323462326532336639458514455f5a4e3573705f696f376c6f6767696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c73336c6f67313768663331623464353136643831343134304586144b5f5a4e3573705f696f376c6f6767696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c73396d61785f6c6576656c31376834393839353536653839353430346266458714495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376833636563373437393231396431646165458814635f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376861376535363037393164626534666337452e6c6c766d2e31373435323635323332303436333035363435308914425f5a4e35616c6c6f6333666d7436666f726d617431376834643762393062386430363865653235452e6c6c766d2e31373435323635323332303436333035363435308a142e5f524e76437336393172685462473045655f375f5f5f72757374633137727573745f626567696e5f756e77696e648b1480015f5a4e3573705f696f315f38385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f696f2e2e4b696c6c53746f72616765526573756c7424475424366465636f646531376835366366623338386537623732623739458c14485f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7336617070656e6431376861383532656337363363393836616234458d14475f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7335636c65617231376839616666613562663534623235643962458e144f5f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733132636c6561725f70726566697831376836636239323464663936353638363737458f14555f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733138636f6d6d69745f7472616e73616374696f6e31376833356562386465363562396461636338459014485f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733665786973747331376833646437633532353964396166393536459114455f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7333676574313768353334623863633731643361333261334592144a5f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73386e6578745f6b657931376862623038643737333532623361633338459314465f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73347265616431376861343731383536383132363634393134459414575f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733230726f6c6c6261636b5f7472616e73616374696f6e31376865373064333838643038303632346561459514465f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7334726f6f7431376831363634653434343865356635626535459614455f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733373657431376863323261363037346263653833613438459714545f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73313773746172745f7472616e73616374696f6e31376865323864343364333665396464386665459814575f5a4e3573705f696f3474726965323665787465726e5f686f73745f66756e6374696f6e5f696d706c733233626c616b65325f3235365f6f7264657265645f726f6f7431376834666264356138333932303939623239459914485f5a4e3573705f696f39616c6c6f6361746f72323665787465726e5f686f73745f66756e6374696f6e5f696d706c73346672656531376837336465613766323038303862336334459a144a5f5a4e3573705f696f39616c6c6f6361746f72323665787465726e5f686f73745f66756e6374696f6e5f696d706c73366d616c6c6f6331376837666430316562663835316264323637459b148a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c6431376838613164663039393738303639323237459c14775f5a4e34636f726533707472363064726f705f696e5f706c616365244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65744d6574616461746149522447542431376866643566666533353839646536306561452e6c6c766d2e343238363832333836303936373432393332399d14645f5a4e35616c6c6f633376656339696e746f5f697465723231496e746f49746572244c54245424432441244754243332666f726765745f616c6c6f636174696f6e5f64726f705f72656d61696e696e6731376866316337666561363734303163613964459e14745f5a4e38365f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376834313233393837316162333538323232459f14f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683763373835393038646632613834393145a014f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137686662346635323534333130363935643745a114475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137683239313064353833393332393730303445a214475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137683330356562376133633966343133356545a314475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137683336663831616438633062386331366345a414475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137683430623539663331306264356566653545a514475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686462373863623631343837306664636345a614475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137683630373862383738363462333132373345a714475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686165643361643738613338356462356645a814475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686439653265356161313661386133373345a914475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686464393139316564376233363534393545aa14475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686632616635393962653164356335376545ab14475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686662636163386535356261373966633945ac1493015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683165643839323039646435323636353245ad14ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683935626132333262303161303637383245ae14ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137686266306366373266623633616466306345af1481015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683735326536393730363561336331313045b01481015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683161396437346630636661386566613445b114b7015f5a4e313473705f6d657461646174615f6972337631343133325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65744d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e50616c6c65744d65746164617461244754243466726f6d3137686138653463303839643662393938373845b214c3015f5a4e313473705f6d657461646174615f6972337631343134345f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e53746f72616765456e7472794d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e7472794d65746164617461244754243466726f6d3137683566623963316639656465383730353645b314355f5a4e313473705f6d657461646174615f69723132696e746f5f76657273696f6e3137683438356565313365366138626265396545b414305f5a4e313473705f6d657461646174615f697238696e746f5f7631343137683333633238656334346234353831393245b514395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683537626634386362323931666138616145b614395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683565393239363739646635643166623445b714465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c653137683436386162356430376335383962653745b814535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683561613139313865323036623830393945b914535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683835646635376465316565666466376645ba14595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683062333433343364623161653336323945bb14595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683134306339636132346662353037613245bc14645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683331666663623264633831363265366245bd1485015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683166633135313934303635363363333845be1485015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686335613939303435613766386461613245bf14425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683333623463303462626634336130633645c014425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683531373436653561316662643934366345c114b7015f5a4e313473705f6d657461646174615f6972337631363133325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65744d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65744d65746164617461244754243466726f6d3137683364303034323934363864326264323145c2145a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376837376362393830316432393732613632452e6c6c766d2e36333234383833383534333538383630303038c3145a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376864326431636136613331346661653631452e6c6c766d2e36333234383833383534333538383630303038c414b5015f5a4e313473705f6d657461646174615f6972337631363133305f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e4d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654d65746164617461563136244754243466726f6d3137683331633563616161376437636662386145c514bf015f5a4e313473705f6d657461646174615f6972337631363134305f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e52756e74696d654170694d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d65746164617461244754243466726f6d3137683136376538363563366531653532633345c614cb015f5a4e313473705f6d657461646174615f6972337631363135325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e52756e74696d654170694d6574686f644d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d6574686f644d65746164617461244754243466726f6d3137686535393761356632306566303564326245c714c3015f5a4e313473705f6d657461646174615f6972337631363134345f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e53746f72616765456e7472794d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e53746f72616765456e7472794d65746164617461244754243466726f6d3137683037376434633561613830626666383645c814cf015f5a4e313473705f6d657461646174615f6972337631363135365f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65745669657746756e6374696f6e4d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65745669657746756e6374696f6e4d65746164617461244754243466726f6d3137683434623631303037313732643263363745c9144c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376863373662343436343438663234363661452e6c6c766d2e3137383332323236303339373833383938373835ca145a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683366356535613039343835663734643745cb14b7015f5a4e313473705f6d657461646174615f6972337631353133325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65744d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e50616c6c65744d65746164617461244754243466726f6d3137683430316163636234363236633365633645cc14bd015f5a4e313473705f6d657461646174615f6972337631353133385f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e45787472696e7369634d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e45787472696e7369634d65746164617461244754243466726f6d3137686639363261623337336439316533643745cd143e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683664316330396362646536326237323245ce143e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686336653334633439393338316336616545cf1480015f5a4e313473705f6d657461646174615f69723376313636305f244c5424696d706c247532302473705f6d657461646174615f69722e2e74797065732e2e45787472696e7369634d657461646174614952244754243231696e746f5f7631365f776974685f63616c6c5f74793137683237643833303066656362376166376645d014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683030326161346533653233633963306145d114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683030666365633836313363616333376345d214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683031353937636138353539303634313045d314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683031643239313866643537636136343845d414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683032336239656664616534356130326545d514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683032356239616139633934356661363145d614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683032376436363263366332623435376445d714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683033306638323338346464363866633045d814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683034636630346563303431373335353745d914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683037376539666132353966393132636545da14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683039306636303363666332396464626145db14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683062643932383465316265653337343645dc14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683065356133386265666536323830346145dd14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683065623065353165376532633536643345de14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683065623639633739666565306261326245df14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683065663137393462643565356631323145e014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683066636638616566626464363134363345e114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683132323166316138313137663937346145e214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134343331353937616136323334363245e314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134393639306631643839613665346545e414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134396466353265663430613661373845e514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134643265396237633936643765653645e614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683137326564616430316331383734343345e714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683137623166323666336531303233353845e814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683139336432306463626163306332626345e914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683161326336623766336165383163613445ea14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683161376131366633393733393833393145eb14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683163623831636366323562386430343445ec14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683163653864656565376239393432353245ed14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683164366531396663623431366466386445ee14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683165356566353234663430643430313345ef14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683165656363343839653138393836633645f014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683165666162663863663537316431323145f114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683231313036656566313065656534346645f214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683232323531636136666539363031316445f314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683232636631353163643765396634633545f414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683233366265613233316239656239663445f514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683235323332303965346134336134663345f614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683235393833353036623465306633356145f714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683235643136643262326639613161373545f814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683236613837303366393036326266386345f914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683236663930353635663031363730326545fa14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683239396566326463623465353833376645fb14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683262373038376635316362396465313045fc14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683263303765343637343566373361303145fd14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683263646238643861313566386630613345fe14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683264336137316231616261623939353545ff14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376832646661373937633066343334333862458015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376832663664653836626466333637383230458115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376832663966396533373936636664323234458215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833303331663663303932333335393232458315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833313265343461643138303336323737458415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833353065333030363039393436353266458515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833353764363466653832613764316232458615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833356232663165653164343761623838458715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833363234396463656266623737623132458815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833383263383466353165356131313532458915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833383536326336643764393339363731458a15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833383734303565636462616666353939458b15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833386266333834623061643061346461458c15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833393032616165653031346338366532458d15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833393965313761303162306433343231458e15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833613537303339303163613839623164458f15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833623334373739393863363631336339459015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833646133323338653038333963326435459115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833646432646137333765656464326365459215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833646561663764316662343464663430459315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833653562346164323937366136316662459415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833653731343633316134613961303537459515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833656639663366333637326139303462459615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834303162626638363766386331613836459715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834313330666431393865636638636238459815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834316363356661616232353039323830459915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834323830613039356665653432303736459a15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834336430343964626530613061626134459b15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834346233313034353734653563626464459c15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834353938363736303738663838373436459d15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834356338306637383030353661626566459e15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834366533643636386138656538626164459f15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683437393634313963643436313232663445a015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683438346634376366633164616536613145a115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683438356630633532663439363961613845a215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683438666463303338653639343663303745a315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683461333163346331626165313439396645a415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683461336233363835353132383235643545a515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683461363366326638313137633238323045a615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683461636431616532346465336333383745a715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683461653834333439353033376133303245a815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683464353364663137633330636631306245a915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683464376239323435643561636339643245aa15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683464633636653033386263643335303445ab15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683465303335383537626566393361343145ac15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683465373233313831343533663563616445ad15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683466623966313739356664373762613645ae15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683530623532366431323966303734643245af15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683531353863613231653130623730356445b015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683531363738646561393433666362656345b115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683534323731353836663664393562656345b215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683534343164313233333663623435663745b315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683534613063633933323762326562313645b415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683534626131336638353964666664633645b515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683534626665383865356336326233613645b615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683536343035353338616230643365623845b715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683538326436653930336231386330636345b815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683538333337643863303332336134386145b915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683538356162623837663265636431626345ba15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683538366235636337656162373732653045bb15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683561376231316564346235396130646345bc15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683561666331633662396232316466623345bd15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683562316233393638393835653637373345be15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683564346637663366363761643764303145bf15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683564646130306536356136386631653445c015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683565353835383837323836396235336245c115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683565623463663633626663623931313145c215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683566346533613736623230646361333545c315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683566393936643735646339653838653245c415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683566626130303762313263626236613245c515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683566666462356165363665363130643845c615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683631303738343364396364653037636245c715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683632303636353564663135353530393345c815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683633376363336232353135356261356645c915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683634333561643037643561633136333245ca15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683634346634376461306662343336373045cb15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683634373866343461623465383332653345cc15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683635636336363039353062653266323445cd15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683636336139346133653365313266313445ce15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683662643563633365613564643238343545cf15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683663326265616638386336373165393245d015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683663366438323462366237633831393945d115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683663373631343539616634393931373745d215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683664376231633631366662323938613045d315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683665346335313965626239326233303445d415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683666356431386531643130366338316445d515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683730323364613965653335336361613045d615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683731353735653534646563306134613445d715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683732363831313533643837393230653145d815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683733306530326662643764333263646545d915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683738373435626465303531653938306545da15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683738656166636635653763343738386545db15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683738656231356235373833363366383945dc15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683762386534353961376438303033353745dd15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683763373266386261383364393563393645de15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683765643030663264653661336537666445df15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683831353530353835393633393338363245e015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683832323063333831326563303039306445e115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683832383832393331316364393266376245e215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683832393235323966653362663532346245e315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683833303631636337643931353131316245e415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683833343132313162373432316466396145e515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683833623163326564373739626533376645e615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683835303166616261373536613864396545e715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683835623062663134393566313963353945e815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683835646131396539393938353633363945e915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683837393335306264386262323463366245ea15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683837663133623765346461343562643845eb15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683838613762616331613062323363336145ec15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683862306337376662383962373931636245ed15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683862313763626535393530646261643545ee15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683862656461306137363236373532663945ef15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683864666538626231306661333136663045f015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683865366336316461623731623334333245f115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683865623738343262666134623463356345f215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683865646563653633646165376164313345f315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683865653764373433333566373565313945f415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683866346235373936616363306433613145f515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683931663263363938333232653034356245f615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683932363039343064666433306632333445f715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683933303333366162376532643732393845f815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683933343963346563376233623934626245f915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683935653233376431346631363431666545fa15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683936323935383964633636393131326245fb15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683936346466663938643238303134626145fc15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683937323331646338633332326263313345fd15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683937336161383763613563383263336245fe15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683961396633356335613963323139666645ff15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839616637653331653264646164636338458016445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839633139626239356132303264623661458116445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839663163626266613063313263346532458216445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861333266396163316635613033663564458316445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861353866323133623936393930626639458416445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861356231646437616231383535366461458516445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861363064383134306639373839633565458616445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861363764356265303233353634366666458716445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861366633363239643632353236666235458816445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861613666396261623165323636316364458916445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861643738653032313534653738646264458a16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861663762616137313834353638343235458b16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861666565636532336239643233643338458c16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862303036656266633437393761316562458d16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862303039366431343135393837393332458e16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862313631656632383031616534363363458f16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862333536356439303335656535626565459016445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862343831303266383665343230623063459116445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862353830373333336231323432373064459216445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862373662653661306337303433326432459316445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862393030336138613938363065623230459416445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862623163613633656564356663646432459516445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862633730376439636362633666626364459616445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862636332316564663337303336346639459716445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862646166353761623764323962643737459816445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862656336313164386464643165383436459916445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862656666656433353330353130663761459a16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862663939343339303332343663653634459b16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863316336376638383863326335643439459c16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863333230366232333635346438633032459d16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863346631366138353532396466326366459e16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863356434363939646661343165336537459f16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686336386439613939626166333732666145a016445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686338346564653935336633343237653145a116445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686338643732613634323066626534653445a216445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686362303630663164393166373137343345a316445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686363636132643361396639333236363045a416445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686364353432346434666363663537663645a516445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686364663662343231626664373635383445a616445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686365303534343939393166353264643645a716445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686365336538383636336236616436313445a816445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686365393030646132376130666363336245a916445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686365393935363836623263303532353545aa16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686366363932303963326632646166346545ab16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686430663561663839613136653034366145ac16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686431316364303763666531626333666145ad16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686431646632383931303666336436306445ae16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686433313239366130633861393664653145af16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686433386432373664643236393663393945b016445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686434623038333439343331356661373945b116445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686434636664646236633161343963343645b216445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686436303561363838366563643533363845b316445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686437623835306132363637363562656645b416445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686461373765323431656136303831613245b516445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686461396637623133316335366161646345b616445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686462396137656339323662653261306245b716445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686462653965643836343762663464363145b816445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686463323133336134323063623334346145b916445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686463646532633564643865626161646545ba16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686464323563616365656639383539353045bb16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686464633830346264363136343738386545bc16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686465623537303466666536616138646445bd16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686530333638613730373630653435646345be16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686530346639663336306132343432343945bf16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686532643562386661663562656263313445c016445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686534343936376639353030373530626445c116445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686534396131633036653533343837323545c216445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686534633064666262643865363862373245c316445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686535613733393635373932653536653145c416445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686537336631393064363764616130393645c516445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686538353461333135316363653761366245c616445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686539343036323833363662303861636445c716445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686561346335366466373961326439363745c816445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686562333434653338356534646332383645c916445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686562623361336430313736353535313845ca16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686563303839633465623531396464613245cb16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686563663334386132363766666531323445cc16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686631323831396666366437373039616345cd16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686631333966393436613233393263376445ce16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686631666339363237323234363266323645cf16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686632393362663966313935396635393045d016445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686633333664373834353664626132333145d116445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686633366236396464653165633965323445d216445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686634643333323533396534363534376345d316445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686636316635333937386237343537343945d416445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686637376438346533373939333762353745d516445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686638633861646230663239373364396545d616445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686639313239383936376634303739376345d716445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686661326661333836393664656636656345d816445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686663353262656565323965333432633045d916445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686663363036613336643666343233363945da16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686664313331653235386562656464646345db16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686665343734613235323363646332353445dc16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686665613362396431633762663136323645dd16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686665626238643930393139383862363545de16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686666396164616332343965363966316545df16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686666613964396630306530333032363145e016735f5a4e38305f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137683534373433323038306433376235646445e1167e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683533356432326632363961356431373545e2163f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683633333363376466333132333638303045e316425f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646539656e636f64655f746f3137683862363035366437663265633361323945e4163f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683663376634313665613364626666613645e51680015f5a4e39365f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d5265662475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137686131363434636436636464646663646645e6167b5f5a4e38385f244c542473705f636f72652e2e63727970746f5f62797465732e2e43727970746f4279746573244c54245f24432454244754242475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137683230333939623063336533626433333145e7167b5f5a4e38385f244c542473705f636f72652e2e63727970746f5f62797465732e2e43727970746f4279746573244c54245f24432454244754242475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137683739636337613033616633303531656545e8167d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137683632633266376566663330303738353745e916695f5a4e37305f244c542473705f72756e74696d652e2e67656e657269632e2e6572612e2e4572612475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137686433623838313161646332373866396145ea1680015f5a4e39305f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d24753230246173247532302473705f72756e74696d652e2e7472616974732e2e436865636b457175616c244754243131636865636b5f657175616c3137683264326564333565333234316161646345eb1696015f5a4e313073705f72756e74696d653767656e6572696336646967657374315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573742447542439747970655f696e666f3137683637383362623139353333313531383245ec1695015f5a4e313073705f72756e74696d65313270726f76696e675f74726965315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e70726f76696e675f747269652e2e547269654572726f722447542439747970655f696e666f3137683566386435653830626333303534313745ed168a015f5a4e313073705f72756e74696d6536747261697473315f38325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542439747970655f696e666f3137683062373534323038333765383337313645ee1680015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683033663931323866376537303162396345ef1680015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683130363765316666373161383136653545f01680015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683563666161386535626532313937636345f116ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683165363165316634313364656662323345f216ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683533623637313163343638373533666545f316ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686438663333666132363133636630333545f416495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683531356136623364353935666231656645f5164c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376833646164643865666164313964323363452e6c6c766d2e3137383836333233313139323939373938303335f616435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686162646237303962333835626633633245f7165a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686330303135613631373836313030366545f816595f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479313656616c69645472616e73616374696f6e3132636f6d62696e655f776974683137683735383562316434386336663635373645f916af015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e496e76616c69645472616e73616374696f6e2447542439747970655f696e666f3137686165353262616336333838636435663045fa16af015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e556e6b6e6f776e5472616e73616374696f6e2447542439747970655f696e666f3137683161366465336338323935363861666545fb16b5015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e5472616e73616374696f6e56616c69646974794572726f722447542439747970655f696e666f3137683161386437623136343864336466343245fc16ae015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e5472616e73616374696f6e536f757263652447542439747970655f696e666f3137686233616134396133363466333130343445fd16ad015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e56616c69645472616e73616374696f6e2447542439747970655f696e666f3137683334373961363132343532366434653245fe168c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683934343830646132656538663462303845ff16305f5a4e34636f726533666d743557726974653977726974655f666d74313768303965636438663931393034356436394580174c5f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e6724475424313768383431303038356539366161633339644581175f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f63686172313768383662303535303332343835313332644582175d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137686463373765383038663336633535386345831781015f5a4e37305f244c542473705f72756e74696d652e2e72756e74696d655f6c6f676765722e2e52756e74696d654c6f676765722475323024617324753230246c6f672e2e4c6f672447542437656e61626c656431376833363833363731623962346334333963452e6c6c766d2e31363131383730393239383437323932313236318417635f5a4e37305f244c542473705f72756e74696d652e2e72756e74696d655f6c6f676765722e2e52756e74696d654c6f676765722475323024617324753230246c6f672e2e4c6f6724475424336c6f67313768343739643235633231653532303238394585177f5f5a4e37305f244c542473705f72756e74696d652e2e72756e74696d655f6c6f676765722e2e52756e74696d654c6f676765722475323024617324753230246c6f672e2e4c6f672447542435666c75736831376832623566636637393962353266333036452e6c6c766d2e31363131383730393239383437323932313236318617675f5a4e36385f244c542473705f72756e74696d652e2e4f706171756545787472696e7369632475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f313768626563636461633465393235376662634587177e5f5a4e313073705f72756e74696d65315f37375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e4d756c74695369676e61747572652447542439747970655f696e666f313768626436356436623339386134383138384588177b5f5a4e313073705f72756e74696d65315f37345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e4d6f64756c654572726f722447542439747970655f696e666f3137686164663230323762363365643834313045891782015f5a4e313073705f72756e74696d65315f38315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e5472616e73616374696f6e616c4572726f722447542439747970655f696e666f31376832616231313635306334656562663736458a177d5f5a4e313073705f72756e74696d65315f37365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f722447542439747970655f696e666f31376838613736323832326465323861653333458b177a5f5a4e313073705f72756e74696d65315f37335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e546f6b656e4572726f722447542439747970655f696e666f31376830353437333330313533623265653237458c1786015f5a4e313073705f72756e74696d65315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e45787472696e736963496e636c7573696f6e4d6f64652447542439747970655f696e666f31376838643433623035346464313131663963458d179c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e6731376832383134663161363766396536623030458e1792025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c697431376835313761666363356465633362313132458f179c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683265663861313337373530633539363045901792025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c6974313768323936373330623231633732386466624591179c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683339393061366232316535643233383745921792025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c6974313768383065643163613838386636666131364593179c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686261373039303965643039343064643345941792025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c697431376832383539633539626636646239383564459517655f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313562756c6b5f737465616c5f6c65667431376838373837313432633736386433656236459617665f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313662756c6b5f737465616c5f7269676874313768613264373265643232313262666331344597175d5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b244324562447542438646f5f6d6572676531376862356164333036383265666439653235459817cd025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653235395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313472656d6f76655f6c6561665f6b7631376831643236636534303734373235643737459917db025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653236395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313872656d6f76655f6b765f747261636b696e6731376833633265326461633238623238626332459a17d5015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565367365617263683134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c244754242447542431317365617263685f7472656531376837616363636161356162346430613635459b17ac015f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653673656172636839315f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324547970652447542424475424323266696e645f6c6f7765725f626f756e645f696e64657831376863373735363430663465336439376436459c17ac015f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653673656172636839315f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324547970652447542424475424323266696e645f75707065725f626f756e645f696e64657831376838636331323066366564373834383835459d17ea015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565386e617669676174653134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c2447542424475424333066696e645f6c6561665f65646765735f7370616e6e696e675f72616e676531376862386162333039376439353964356335459e17475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376832646232366338363930386161653438459f17475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686465646339353738353038643130343845a0175e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137686637373235376662343839663239623545a117775f5a4e36355f244c5424736d616c6c7665632e2e436f6c6c656374696f6e416c6c6f63457272247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863333234333533313336343733343034452e6c6c766d2e37373532373533383537313139363138353433a217635f5a4e36395f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683266376665353334656462333235643945a3174a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137683063633962623338313163623431383545a4174a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137686365373235363065656364366537333945a5174c5f5a4e313673705f73746174655f6d616368696e6533657874313353746f72616765417070656e6431347265706c6163655f6c656e6774683137683661626336386330313036316162653445a617635f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573386f6666636861696e32344f6666636861696e4f7665726c617965644368616e676573337365743137686436373530396166316430636264316545a7175e5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431306f725f64656661756c743137683133363961363231373138356439353445a8175e5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431306f725f64656661756c743137686333363038393130343439663064343545a9175f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e736572743137683233383234323065376138633636326545aa175f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e736572743137686139376139643239623763653836333145ab175a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683866376135313538366365383264386445ac174b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376833343038653839303436656366336233452e6c6c766d2e32303630343436303331393930333533383532ad17435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683363613666613366663830363562616645ae179e015f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e676573657438324f7665726c61796564456e747279244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e53746f72616765456e74727924475424337365743137686635646130356438626166353638383245af176f5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e676573657432354f7665726c617965644d6170244c54244b244324562447542431327365745f6f6666636861696e3137683532643739316365316234396432613045b017e0015f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e67657365743130384f7665726c617965644d6170244c5424616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e53746f72616765456e747279244754243137636c6f73655f7472616e73616374696f6e31376861393664383535656535663734366364452e6c6c766d2e383931333237343335363735323137313237b117b9015f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e67657365743130384f7665726c617965644d6170244c5424616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e53746f72616765456e74727924475424337365743137683864666261626137613239633162633045b21793015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686262366537343332666631393962373645b317565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137683032313235323736356264633035646145b417565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137683963353839656161343734306235616245b517565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b2443245624432441244754243672656d6f76653137686566663465653036636664306663366545b6176f5f5a4e38315f244c5424616c6c6f632e2e7665632e2e73706c6963652e2e53706c696365244c5424492443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686631363736393834373361333364633745b71781015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683164316238626362393632643032623845b81781015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683162373364333434313062616333303445b917625f5a4e36395f244c542473705f73746174655f6d616368696e652e2e44656661756c744572726f72247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686366386539333630616632386137366545ba174b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376838303831383834666164333864656137452e6c6c766d2e36373536353232343235373132353833323234bb17735f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376835376230303332626266353666333330452e6c6c766d2e36373536353232343235373132353833323234bc17435f5a4e313073705f73746f72616765394368696c64496e666f323070726566697865645f73746f726167655f6b65793137683237313965386263366361303466396345bd178c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686435363564386133616137653064383545be179a015f5a4e31307363616c655f696e666f35696d706c733130305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c542454244754242447542439747970655f696e666f3137686665303230373365363832323461306545bf1793015f5a4e3773705f74726965313373746f726167655f70726f6f66315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f747269652e2e73746f726167655f70726f6f662e2e53746f7261676550726f6f662447542439747970655f696e666f3137683339326665623566656664343239623945c0174a5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376832346338623633616665643765363865452e6c6c766d2e353736323436393933343333353736363932c1175a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683261326564313163326431366565333245c217705f5a4e37345f244c542473705f747269652e2e747269655f73747265616d2e2e5472696553747265616d247532302461732475323024747269655f726f6f742e2e5472696553747265616d244754243131617070656e645f6c6561663137683638343132646231383734353861376645c317735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137683363326438326161623665366665326245c41780015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683332653566316537316130316438646245c517455f5a4e35616c6c6f63337665633136566563244c54245424432441244754243136657874656e645f6465737567617265643137686665326333353835356330303366373745c617735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137683466643039613465313463353133656545c717755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137686336633761633933383135633038626245c8177e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683564643263613539396339656263343145c91783015f5a4e31307363616c655f696e666f35696d706c7337385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f72726f772e2e436f77244c542454244754242447542439747970655f696e666f3137683162346261613433633231343363366245ca1783015f5a4e31307363616c655f696e666f35696d706c7337385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f72726f772e2e436f77244c542454244754242447542439747970655f696e666f3137683337643730323763646137616464636645cb177e5f5a4e313073705f76657273696f6e315f37375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f76657273696f6e2e2e52756e74696d6556657273696f6e2447542439747970655f696e666f3137686434313638666161653335333933356545cc1795015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683135643733313536313930323239636145cd17615f5a4e36385f244c542473705f776569676874732e2e7765696768745f76322e2e576569676874247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683662376231316636376333383863393545ce178b015f5a4e313073705f77656967687473397765696768745f7632315f38305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f776569676874732e2e7765696768745f76322e2e5765696768742447542439747970655f696e666f3137683530353435343763646337343238313645cf177f5f5a4e313073705f77656967687473315f37385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f776569676874732e2e52756e74696d6544625765696768742447542439747970655f696e666f3137686566343336653165623238666635353445d017355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137686465383330326466303962666439323345d117475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686434303335396334383565373665633345d217295f5a4e34686d616331316765745f6465725f6b65793137686436653165613430313164346238366545d317745f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376833313233386631653166353237323564452e6c6c766d2e3137303039313535393838343635393434323637d4174c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376834393037346235656130613336306461452e6c6c766d2e3137303039313535393838343635393434323637d5173b5f5a4e31357375627374726174655f62697033393137736565645f66726f6d5f656e74726f70793137683739306434366437643338356236646345d617285f5a4e36737562746c6539626c61636b5f626f783137686433616365373930353164653630633745d717a6015f5a4e3133335f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e457874656e64244c5424244c542441247532302461732475323024736d616c6c7665632e2e4172726179244754242e2e4974656d244754242447542436657874656e643137686266666234643535313637353039656445d817555f5a4e38736d616c6c7665633137536d616c6c566563244c54244124475424387472795f67726f7731376861343931356466386435343133376561452e6c6c766d2e37343936333338323230323938393532313731d9174a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137683337613164663262343166613537333445da17475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683161633731613462333739333434313545db17475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683530343735316166393863383863376145dc17495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683135393538363164626630396639663245dd175e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137686637373235376662343839663239623545de17775f5a4e36355f244c5424736d616c6c7665632e2e436f6c6c656374696f6e416c6c6f63457272247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863333234333533313336343733343034452e6c6c766d2e37343936333338323230323938393532313731df17335f5a4e37747269655f6462346e6f6465384e6f6465506c616e356275696c643137686233363530323732633136383130303545e017365f5a4e37747269655f6462397472696564626d75743131636f6d62696e655f6b65793137686164633734396161393939613532393645e1173c5f5a4e37747269655f6462366e6962626c6531306e6962626c655f6f70733973686966745f6b65793137686530636638353631616432656336393745e217d2015f5a4e37747269655f6462366e6962626c65396e6962626c657665633135345f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542424524624747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754242475323024666f722475323024244c50247573697a65244324736d616c6c7665632e2e536d616c6c566563244c54242475356224753824753362242475323024343024753564242447542424525024244754243466726f6d3137683362633438336165626131376461363945e3176c5f5a4e37385f244c5424747269655f64622e2e4279746573247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54242452462424753562247538247535642424475424244754243466726f6d3137686234333335646566666461616234656245e4176d5f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c6963652447542439746f5f73746f7265643137683064383133356433333263666435363645e517745f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c696365244754243135746f5f73746f7265645f72616e67653137683961616430626633353431396530636145e617725f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c696365244754243133636f6d6d6f6e5f7072656669783137683362663137313738613035396265373145e7176f5f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c69636524475424313072696768745f697465723137683837393532346333303639666530376445e817745f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c6963652447542431357374617274735f776974685f7665633137683435313131353130383239626639323145e917aa015f5a4e37747269655f6462366e6962626c6531316e6962626c65736c6963653131335f244c5424696d706c2475323024636f72652e2e636d702e2e5061727469616c4571244c5424747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754242475323024666f722475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c696365244754243265713137686234383839613836393264313163336645ea176a5f5a4e37747269655f6462366e6962626c65396e6962626c6576656334345f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c6556656324475424313064726f705f6c617374733137683566323365366139656531383062376145eb17655f5a4e37747269655f6462366e6962626c65396e6962626c6576656334345f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c655665632447542436617070656e643137683235303666383537326436323738616345ec176e5f5a4e37747269655f6462366e6962626c65396e6962626c6576656334345f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754243134617070656e645f7061727469616c3137683832643631366265303965323262393745ed1780015f5a4e37747269655f6462366e6962626c65396e6962626c6576656334345f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754243332617070656e645f6f7074696f6e616c5f736c6963655f616e645f6e6962626c653137683436383234343438303265303239383645ee17a8015f5a4e37747269655f6462366e6962626c65396e6962626c657665633131325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c5424747269655f64622e2e6e6962626c652e2e4e6962626c65536c696365244754242475323024666f722475323024747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754243466726f6d3137683664666432623038323030393131323845ef17525f5a4e35616c6c6f633473796e633136417263244c542454244324412447542439646f776e6772616465313870616e69635f636f6c645f646973706c61793137686439636333313664356463616437376145f0173e5f5a4e35616c6c6f633473796e633136417263244c54245424432441244754243964726f705f736c6f773137686237363130613636386562623966356445f1177c5f5a4e36395f244c5424636f72652e2e616c6c6f632e2e6c61796f75742e2e4c61796f75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863366262613634393265653837396534452e6c6c766d2e3131323939313435383431343134343838363032f217465f5a4e3137636f6d70696c65725f6275696c74696e7333696e74367472616974733444496e74313066726f6d5f6c6f5f68693137683363316332623261666565626161303145f317465f5a4e3137636f6d70696c65725f6275696c74696e7333696e74367472616974733444496e74313066726f6d5f6c6f5f68693137683663306665633434386363656430363745f417066d656d637079f517066d656d636d70f6173b5f5a4e3137636f6d70696c65725f6275696c74696e7333696e74336d756c385f5f6d756c7469333137683438643330383833636430346332313745f717355f5a4e3137636f6d70696c65725f6275696c74696e73336d656d366d656d6370793137683530663166386365363865663632643345f817365f5a4e3137636f6d70696c65725f6275696c74696e73336d656d376d656d6d6f76653137683462333136656262333461356236353545f917076d656d6d6f7665fa17066d656d736574fb17355f5a4e3137636f6d70696c65725f6275696c74696e73336d656d366d656d636d703137683734643733633763323164616337393845fc17085f5f6d756c746933fd17095f5f6173686c746933fe173d5f5a4e3137636f6d70696c65725f6275696c74696e7333696e743475646976395f5f756469767469333137686530633139303638386130306431656445ff173e5f5a4e3137636f6d70696c65725f6275696c74696e7333696e74357368696674395f5f6173686c746933313768613230353665613334326430383834374580183e5f5a4e3137636f6d70696c65725f6275696c74696e7333696e74357368696674395f5f6c73687274693331376834383830366130356638653636336163458118095f5f6c7368727469338218095f5f756469767469338318515f5a4e3137636f6d70696c65725f6275696c74696e7333696e7431397370656369616c697a65645f6469765f72656d3132753132385f6469765f72656d3137686437353135323162333034333164323545071201000f5f5f737461636b5f706f696e74657209170300072e726f6461746101052e6461746102042e627373003d0970726f647563657273010c70726f6365737365642d6279010572757374631d312e38382e30202836623030626333383820323032352d30362d323329", + "0x3a65787472696e7369635f696e646578": "0x00000000", + "0x3c311d57d4daf52904616cf69648081e4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x3c311d57d4daf52904616cf69648081e5e0621c4869aa60c02be9adcc98a0d1d": "0x0cac859f8a216eeb1b320b4c76d118da3d7407fa523484d0a980126d3b4d0d220a1254f7017f0b8347ce7ab14f96d818802e7e9e0c0d1b7c9acb3c726b080e7a039026941b7aa2328a8c5ea4e25bb747a2bf92a066fae0cc3722faf58cf44d3502", + "0x3f1467a096bcd71a5b6a0c8155e20810308ce9615de0775a82f8a94dc3d285a1": "0x01", + "0x3f1467a096bcd71a5b6a0c8155e208103f2edf3bdf381debe331ab7446addfdc": "0x000064a7b3b6e00d0000000000000000", + "0x3f1467a096bcd71a5b6a0c8155e208104e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x45323df7cc47150b3930e2666b0aa3134e7b9012096b41c4eb3aaf947f6ea429": "0x0200", + "0x57f8dc2f5ab09467896f47300f0424384e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x57f8dc2f5ab09467896f47300f0424385e0621c4869aa60c02be9adcc98a0d1d": "0x0cac859f8a216eeb1b320b4c76d118da3d7407fa523484d0a980126d3b4d0d220a1254f7017f0b8347ce7ab14f96d818802e7e9e0c0d1b7c9acb3c726b080e7a039026941b7aa2328a8c5ea4e25bb747a2bf92a066fae0cc3722faf58cf44d3502", + "0x5c0d1176a568c1f92944340dbfed9e9c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x5c0d1176a568c1f92944340dbfed9e9c530ebca703c85910e7164cb7d1c9e47b": "0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", + "0xae2f5cafcc1a57aac6a0e51fb2a269b74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xc2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x00000000000000c00000000000000000", + "0xc2eac8c3d5c3234dc0a1a2cbcf2683444e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xc2eac8c3d5c3234dc0a1a2cbcf26834495875cb80ebaf9f918457db6a86ac6ad": "0x0000000000000000", + "0xc2eac8c3d5c3234dc0a1a2cbcf268344a60b3b950949d0170fe164cd975925c0": "0x00000000", + "0xc2eac8c3d5c3234dc0a1a2cbcf268344c946330e6fb55244ecf7951cd7f85c4c": "0x0000000000000000", + "0xc2eac8c3d5c3234dc0a1a2cbcf268344e817cc963b076a9d4f223dda60cf5058": "0x0000000000000000", + "0xf0c365c3cf59d671eb72da0e7a4113c44e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xf52655874ffe10d91f60f35a7739938b4e7b9012096b41c4eb3aaf947f6ea429": "0x0000" + } + } + }, + "id": "custom", + "name": "Custom", + "properties": { + "tokenDecimals": 12, + "tokenSymbol": "UNIT" + }, + "protocolId": null, + "telemetryEndpoints": null +} \ No newline at end of file diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/warp-sync-relaychain-spec-raw.json b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/warp-sync-relaychain-spec-raw.json new file mode 100644 index 0000000000000..dd79dcc28c070 --- /dev/null +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/full_node_warp_sync/warp-sync-relaychain-spec-raw.json @@ -0,0 +1,192 @@ +{ + "badBlocks": null, + "bootNodes": [ + "/ip4/127.0.0.1/tcp/60898/ws/p2p/12D3KooWQCkBm1BYtkHpocxCwMgR8yjitEeHGx8spzcDLGt2gkBm" + ], + "chainType": "Local", + "codeSubstitutes": {}, + "forkBlocks": null, + "genesis": { + "raw": { + "childrenDefault": {}, + "top": { + "0x0595267586b57744927884f519eb81014e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x06de3d8a54d27e44a9d5ce189618f22d4e7b9012096b41c4eb3aaf947f6ea429": "0x0c00", + "0x06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385": "0x0000300000800000080000000000100000c800000500000005000000020000000200000000000000000000000000a000000010000400000000000000000000000000000000000000000000000000000000000000000000000800000000200000040000000000100000b00400000006000000640000000200000019000000000000000200000002000000020000000500000002000000200b01000000140000000400000001010000000300000001000000000000001027000080b2e60e80c3c9018096980000000000000000000000000005000000", + "0x074b65e262fcd5bd9c785caf7f42e00a4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x084e7f70a295a190e2e33fd3f8cdfcc24e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x08c41974a97dbf15cfbec28365bea2da4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x08c41974a97dbf15cfbec28365bea2da5e0621c4869aa60c02be9adcc98a0d1d": "0x10020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a10390084fdbf27d2b79d26a4f13f0ccd982cb755a661969143c37cbc49ef5b91f270389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afb03bc9d0ca094bd5b8b3225d7651eac5d18c1c04bf8ae8f8b263eebca4e1410ed0c", + "0x08c41974a97dbf15cfbec28365bea2da8f05bccc2f70ec66a32999c5761156be": "0x0000000000000000", + "0x08c41974a97dbf15cfbec28365bea2daaacf00b9b41fda7a9268821c2a2b3e4c": "0x10020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a10390084fdbf27d2b79d26a4f13f0ccd982cb755a661969143c37cbc49ef5b91f270389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afb03bc9d0ca094bd5b8b3225d7651eac5d18c1c04bf8ae8f8b263eebca4e1410ed0c", + "0x08c41974a97dbf15cfbec28365bea2dac713b7f8b14e2815d297585d3581e774": "0x0101000000", + "0x08c41974a97dbf15cfbec28365bea2dad47cb8f5328af743ddfb361e7180e7fcbb1bdbcacd6ac9340000000000000000": "0x00000000", + "0x0b20199ace3564d0964e2c4d4a9ba4694e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x0f6738a0ee80c8e74cd2c7417c1e25564e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x1405f2411d0af5a7ff397e7c9dc68d194e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x1405f2411d0af5a7ff397e7c9dc68d196323ae84c43568be0d1394d5d0d522c4": "0x05000000", + "0x1809d78346727a0ef58c0fa03bafa3234e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x196e027349017067f9eb56e2c4d9ded54e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x1a736d37504c2e3fb73dad160c55b2914e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x1cb6f36e027abb2091cfb5110ab5087f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x1cb6f36e027abb2091cfb5110ab5087f5e0621c4869aa60c02be9adcc98a0d1d": "0x10d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01000000000000008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48010000000000000090b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe220100000000000000306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc200100000000000000", + "0x1cb6f36e027abb2091cfb5110ab5087f66e8f035c8adbe7f1547b43c51e6f8a4": "0x00000000", + "0x1cb6f36e027abb2091cfb5110ab5087faacf00b9b41fda7a9268821c2a2b3e4c": "0x10d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01000000000000008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48010000000000000090b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe220100000000000000306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc200100000000000000", + "0x1cb6f36e027abb2091cfb5110ab5087fdc6b171b77304263c292cc3ea5ed31ef": "0x0100000000000000040000000000000002", + "0x2099d7f109d6e535fb000bba623fd4404c014e6bf8b8c2c011e7290b85696bb3": "0x10d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4890b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20", + "0x2099d7f109d6e535fb000bba623fd4404e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x2099d7f109d6e535fb000bba623fd4409f99a2ce711f3a31b2fc05604c93f179": "0x10d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4890b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20", + "0x26aa394eea5630e07c48ae0c9558cef74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x26aa394eea5630e07c48ae0c9558cef75684a022a34dd8bfa2baaf44f172b710": "0x01", + "0x26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc": "0x4545454545454545454545454545454545454545454545454545454545454545", + "0x26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746b4def25cfda6ef3a00000000": "0x4545454545454545454545454545454545454545454545454545454545454545", + "0x26aa394eea5630e07c48ae0c9558cef7a7fd6c28836b9a28522dc924110cf439": "0x01", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9007cbc1270b5b091758f9c42f5915b3e8ac59e11963af19174d0b94d5d78041c233f55d2e19324665bafdfb62925af2d": "0x0000000000000000010000000000000000204aa9d10100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da923a05cabf6d3bde7ca3ef0d11596b5611cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c": "0x00000000000000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da932a5935f6edc617ae178fef9eb1e211fbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0x0000000001000000010000000000000000204aa9d10100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da94f9aea1afa791265fae359272badc1cf8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0x0000000000000000010000000000000000204aa9d10100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da95ecffd7b6c0f78751baa9d281e0bfa3a6d6f646c70792f74727372790000000000000000000000000000000000000000": "0x0000000000000000010000000000000055a0fc01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da96f2e33376834a63c86a195bcf685aebbfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0x0000000001000000010000000000000000204aa9d10100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da98578796c363c105114787203e4d93ca6101191192fc877c24d725b337120fa3edc63d227bbc92705db1e2cb65f56981a": "0x00000000000000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b0edae20838083f2cde1c4080db8cf8090b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22": "0x0000000000000000010000000000000000204aa9d10100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b321d16960ce1d9190b61e2421cc60131e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625": "0x0000000001000000010000000000000000204aa9d10100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9de1e86a9a8c739864cf3cc5ec2bea59fd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0x0000000000000000010000000000000000204aa9d10100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9e5e802737cce3a54b0bc9e3d3e6be26e306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20": "0x0000000000000000010000000000000000204aa9d10100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9edeaa42c2163f68084a988529a0e2ec5e659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e": "0x0000000000000000010000000000000000204aa9d10100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9f3f619a1c2956443880db9cc9a13d058e860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c": "0x0000000001000000010000000000000000204aa9d10100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9fb0171318db049460152b5f140ccf8fa962cc5ac9204c0e678ff70ef034d1fc4315c9dbde9dae75d4fb116ac73682c0f": "0x000000000000000001000000000000000080c6a47e8d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8": "0x86413e0018726f636f636f", + "0x2762c81376aaa894b6f64c67e58cc6504e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x2aeddc77fe58c98d50bd37f1b90840f94e7b9012096b41c4eb3aaf947f6ea429": "0x0200", + "0x2f85f1e1378cb2d7b83adbaf0b5869c24e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x2f85f1e1378cb2d7b83adbaf0b5869c2ff3ae12770bea2e48d9bde7385e7a25f": "0x0000000002000000", + "0x3195e99b3353c0f2dd3f53c10740793a4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x3195e99b3353c0f2dd3f53c10740793a57c875e4cff74148e4628f264b974c80": "0x00000000000000000000000000000000", + "0x31a3a2ce3603138b8b352e8f192ca55a4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x3a636f6465": "0x52bc537646db8e0528b52ffd0088a42a00066b8a37508d7330b3c4cccc4c89cccccc34b675139ff28d96edfbad85adf2a9aa312323232383cd8ba33f6284f8e9177a33d894bc6c49a624650a82008a0076009f1018a1dd30bc20aafb320b000e7dd90541a70a510895dd70e26145da1e30402251488b506010e67d5b085e13ec8a16bcde2d6136d4b28b7d226a056698a8ba0f26deed0fc0ca64d668997d01f0963b661c3398cbc15870b1baced657cbe5592c39321d6b4b76ab6519b5243f1d314f1fe728c771ec118f72347a15c9ccb20b2d076002072114c34d752d1e08d54652d0bc8b42d90d86bb2697c354b66318289510c4cc869e05454cdcba9254f8117136fb380f81ea6ade86799b356524d24751c1517d27e2c2c9669941088485eec9722558c9db4ca1353570ba4df452a0c305494c7136aa6bc2446f035158166edd86225cdd933701217608407bb90cbb250b7e628869dc66e2529674b5f535222120129a0f0ff9714f87e720a3f95a393a9d77fef916e67fdea84c5f6ae49453f332539d35e4bf579af118dfdf96e9f4a23e29a5fe7fc98b00efea97ffccf53dddfb2bf5e6f697fdfc92bfdfa2d894b902bfee763fbb05be1724619cb5d02e7835f0bb1b683b11e29770ca6c09c77d1215f6064efba97ce7b960a9bef139f962f749fb7d7afb9c3e9f621833bdf9fdb9f967d7f6cbc703a6c2c52cbbbe777527e9ab6b5ff40546da9b993a1da8b4fa556b3f9df433ed969f4f9db294fcff97677e7f674a296732b552dad795f196970bedf67666be2e81fff69e120181bda8615d352322495192b419e110624e4279db82e154c7228e306464464444021191961424953dd60db87eaeb2915dee46f4332ca14712b97d5522fb90036a8e136c784d3eb318fbce0c385b4674b22ffa0016fcaf35ea95c2787cc041175c0dbeced146f416f5bf17fc178294fa7102e9d69574b16aed0d6767266fb6e16bc58932d390112a8c99ed244823015d2beeb56156e72ae125fd9955627c967a7a7fded68f80bec715b8b7ff85f5bf05c7cc3da5d6664d9496e34ed2de6a5998b55309de584b1533b6292200a2999c75b79f126a38c3784812c8ae69a830533b55a3aec381a8952ddc3967bb214dbb8660cca6748a3871c52ce0a289022b918146af4cc1942961df84fba42866268e1fa6d7b02c2912c34425d32ceb44749bb186ab3151d01b649246146698be054da846df06411d20cf22896b6bd57cf16d0cbaa77a8b999234fe679efbf02a5e49b9630ad038ba723bc42c62e3c9e3d1dc9482cc44d673269147e07a49c94fe1b2d3405d1a4a2bbf732c10b5ad4e3295943f7cbab4fc45d56e0803b5816c9f4ec0c4b2ab5427e0f19c868dc268e76099eedeb4111042ee12b9a1a0f438dd5b35b932a5c16c0eaa7455130d5f62b3ea32c1c71300f9aad91cf3c0ac1a4e3ca5ca3453852d20a88b3d38d6b16c907199e86212240d1820c69b7f16978f617bafacb606d22076d596c6e9fb62308ef055937ee862ec9af7531e3e1841c4fb495d029eaa9b2383665119c0f507c20e453652ccb51232e8b5679e212f4084409c7a8686591753f5d37ad4e6a98b9223fe248000b3005801e57c6f6021d7a115e305ab9a07e77bd17852c452a4d52736547fb1c6573bd1832e33dac8012f899d2a8fd845c303662408ccb5411469f4976d5796582e3471f2d0eb46ee9de4efbcddca835a8ba5cd5cedc639d52a120a0762efad45b3332c4a6a8b30ea9f5a5f4020151886abfa17702fba87ff966d1db00d408bbe6a407ddd09f7e31159c119c14e68da7105187da2c8f1f9ba21828f88801eb49ab5e617dc0dd33348f18d4498be8ef4451df550d220b489f1f0debaa5ce4013e7402396ccc22d4c7e05c79912ca96475f802114c20a6e19fd7d19c63d66788149314e38272a74b1c61c6a1c2500565a441cd0166d1bd453c3170f90d2b1c8b5de3083f504f8fe9148226daedc293c003c003d00146f7a42212003c44c6a692e0b3ad192c8889ef7b1964844a0191315151b4155a9092ffdd1e3cf765f4670ef7188bb8389fdb06c96c77438de1f8f01588212142f2cdd2b16a5591cad144a334b27616e69946d8eecb0da1eb87e09d339adb91f8def8c01d8bcef509749330149da050150cd154c7a819b02ceb3b2b2b269280c0f0372b2712a9505392cbaa5bbafee40896e6aa096fd13b280b680a1af760da902de65cf3dc6cd9841f667bab38f0bed2627790704980e8dbfdf00c866f565a2f2ddf7845fef3a386ca4dfc83179458b387db7b6bf285c9415c29eb3a18ffd4c8de5c75919ce5acf82ac45a12c2781bda8d1659b64d8efb110630829e4a0eb01529954ca41d02863084184102222222222228188882449920e0d9cc9b85b28444a52f182ced10a89bfcfc1288bbff842ef72c5306871d02a694efe33ab028dc91e5fbffec3660991eb08caa146e48234923462a17ef5df37b3b102ba98e5a3bea6c31c238bff1989dacf25f57d91dd5e32ef65e51857458de99197a6373b287f472500f199288293f4f4b6c291d0507aaa8416b07b975a565cd43e5c9b488d4af6a7505722bc52e94a7d68cf9f0047c44550835c3a4341f9bf5093f7cb61ea7252def9e8a638614dd239111d4badf47144fd1c173533b938d40d1bf26082ae4e15ff4c28d7409554dcd4e74ca33e91e23d4bb7f9d2a28cc4ff5551237a0f1a235ef35db63887efb020d92ecca52ce69e76cd64978197f0427196c0ad047ef058ed7a33b144dfdfc695ffd33d863debe851af526d71bccca6524f6ceceeb2649b2bdafe8bedebaa4eef43b2087aea3a0d6230069b6ddc4973fc8df23109fb85fecd3cb8f4973a6a82203e02a296ba531669ca0284f6ff360aa678ac15c9ac23ae01c19dfa3d538a86207d15add4f8e37f47b144cb83d106d6bce6d22321d114e91a0a23d6841ba1bf3b0f5fda5c17d14ca1a5da84c0ef8c33687d0f93cde62345fb9bdba2e0ccf97f0c34d0d676f10815def4d324cc638825754137fc0ae97ad8b44e11fb239776824bcb928f2cb1311282cbef3e14712c411950f60c5e7c20fc8c6164d213209402fa65849bc48bac1b04d0279e2855e9b6ee3cfec4b12b04803b07124bd3f4e571ad3cf0df0b590468e61e570eb0722011bd47c06bd08857a0b216d16c9e189c55d7cc284c769f2dce4e76c02dfc8dfcc6dba45fff90e16a7ac5b60f689f7ecb9f06567565c1c98cedcffc52611529298e645627182cf5ea4c59dbb393f0b3b933f9b35786abecfe1c493d4a7445856b5531d86a2a41a9023c6654d9c956b7879a9910bcc0c898037dbe8ea3aa55d1bc298adad0d9440d2ebcb9a2dd82ba49b34c309d8373f9763c3da597c861324ea2f429baccc3f75dcb963950d98b13206d56a14fc18ead8a77377eca1040d0e71297600a0c1fbf12ebdb9a717c35d966f62176080e5873deaff2caf36160c1f8907df288fea128eb3cb5920f641972aa6655cb6e481d02dfd1da56f2f4285997b9beec4b451616b2bf6e5e199d438889b247afeb9c2dc10f8ac4b6f9bb456dec7eca7fecf9fd546a0e77b30186567be8a1cdb514ba00448923c367556a11edd324ea9543d76366442c0036e4753730753abfea3c0c0c0c0c5d18f94307030353ffba918bc2f0f6edb61f8988083bce994a696542aa8d3dad628606d96d4d6eb9934c29c9145c005d00670059776a4b25965387e0b681909306d29a26d9d9e77e743bb4947497e2d737ea4ba554397bb8d78aaa95f935a7af20bdee7750a74d7ddba703cdcdd59deef47d9474ca1cce80aa95d9d97b05a6899f257f05d3c9aa39df7dbeefac3b03f367eff377276c6fdb95d7b3d959cd28e5a94d9e7e3a099c7ed2efa5b597becba63de5dc1212ba5a5ff79dde2f4bdb0438f5cbecfd393ab7da0a231294f6b2c8847fad3b177a6ebe01b33780eb002ecb9a37fbedacd4b00ddbacac591f2e28dff88aa978a3e81578063dd9cf8e4e6b714aeb9393d392385df0299e148f7c91991310ac562b0229e54a4a0080b9fc26ee60fac9f44f39ce55aae931e50aee67eda594fbfebb6d5afdaafd3b34d5d64f4c789ba55cf692dc76dd37aebc3d5d3a353935ba5a085dd2babc6ffc52be31cc407548fb8281311808b6601d180dddd1aa3aa305bd94576cc326e662d515adcc8ce812a62c7444eb026b58ddd086218c65450c691e3aa19591f9bc17ef2504c1cfb3890963309ef8d21a5fa1cbe6d3708121115dd08de8f289a3a8ea80b605848d3130ac0953ddcfc6c02c4c2bc381bdacb1551b4992a4b273510c4531ca9872663c58fa243c985a494bb4298bde4911036c644994956bd835c85200fb36958f44496d973ea9f48fcc97777f2877b96801f99b44e36589ac88ef1023a915eb403490d0e863acf4537ff24435d4602c28683f12f3594def926ad487887a45eaf64048a5d32952e4ace8af46b0b075d6abd92703b1053b095e54dfc948877e4dfa35cd83290561d81810fcb0709740f34c1235e63c1060267c96957a2ece70a695cf4c820c885d7f3bf6ad04a917b8a46c08e21236bc5967b9993de99c85232c10bf687a4ea5d64127ab7fd4c9dc033224bbb37d643091a38d71ceff2d106e29ca6b868b71c48979423aba590b1ddb58d8077ade7edf3bfa30aff0f035d68e6c1c443a52673c032ead141b02accd36ac5403740a396429fd19a51c1390143c4a3997076b13f5bcc824a77cf63c1c65adb7c77460b0e291d826cd96a64688d00612a6c578e45467f7949cb2c1a22ace7ec17e8a99c183e21ce703118c2b676d5ca10d12ba16101a8741911e5e3c403294720587b5a1be973df280d1bb1867e0cf113aec7d76bf373625df0bc29482538ce5c06bc3f7c518bcdf5d76134d1deda8ffb74188a685dfc2759e04490ac6f9b07dce4caa4d0d6a7ff42aefac8b2c82735ce274369f4cfe57ad30f33cadb242039cc6344487a2a9296cffedd587c480a0dc82c7473947ee450567711ec812467c0a67d217c35aeb7eecb9921ffebaab1bcec443aeb63d0a900df0cb027e886f29d2a039651941380821f60439d606f5233eafbd960ff54e0140c6e1874327b1199c761997d878be674a1da097a2889e5953eaa0694b99cc47e06bd282c372fb22f5facb359bbf6470b0a18b01e01120d013f6e95ba94b70419e41d69359dab8cc08dec7428269d9033b10f34a3d6981d6e8446392391f2305d8bca951dd125b2dc69fa03a083caf6c029e288867874c48169b7c42fa0c1a32462aa768af324881deb763b02efa9665a72061f572ed5466861a50e38b1e22733e142a1a833892dae3ae3c46be1bd90693686c3b1f5e0351068acf5cd7f5173beb1fb04c6d316ce13a7263a76310e857f42a55493f14000e9036bbc8554dd2396d93a0f177ebc3c8d49372ef3aa2685ba82704ca9201ced4eae0caf42500653fecd5d83409ca329a2b3ede81a93e4b30363f2419c613c1966228cce5ed4c0f02f0174e1998de7c175088080154874a8eddf7dc1c08c98726ee09539edd84f9e627b67c6883badf26e630b55f059a626b1dc3629f62d163fdc75fbfcd541ee95e614eff55e91fa11d5bf6e22c9b94d1916f1c4a4f47041c00969a5f38105b3a3300000000000000c0a3288aa2288aa2288aa218058f5b4a29c9965b26596eb2e5dea4037826d0cf90a561a06d5af1994f0400e01450005000500053acb39c0a8fe299dc17db3ad99f78c657e7cb31f1fc2078131fc1f486af88c7c29738dd7483847cd4669b21134fe2f9e6d1d00bf38c69a840031b2b18a37db957b3ce8998eed9ec80e6e5d980d6a567390c8fe31b971bfec675064b52e26df42d0fbec6733459a4e3d8911687dd579bd138fbc978b6648c5fd0e0614afae293e25d9c7e08dfe260a69965937a5f885fb1fbe1553eaa3319f12938a7ab586b0120a5b38157f2fcd524af6257b317c9c379bbe2fef251cd46b9e28b1cd7d93a45afe089b69e63ec873e21d2e183bc3107e43f9dddd6fab8d8e14bf638782f3972179ec72dca6e47cc75dc09af93ebc0075c1e7ab1df72bc6d15a4b5391378ad88cf2a331ecbf1f60afe0adf50efd94d126fc8deca4584af0a78aa1cf5c629fb292917f828c7d6da0e80877af8a7adf14eb78b6ffae868dbfb623c932f792d1780dfacb08c8c922c0730444008435445c501a2632fc079cb01227496ceecaf19b0e3680e12065fd88ce02b11bd5a8edc6410f8a607e6ad221c5f25aad6805a4a13971892274dd0a32042b2f98045b9617f7317165de630a52748332de361aef02008bc2bef8d6324277ac9e4c4cb7e7cff7d2a804bd06d15881536fc825c80e6d3fb63b2f9bf4374276210eb000d51b76de95f7f422236a739381c3ee1ac422cd7f915c812616e99bdcb535a4063d630add58be412a13359a003011ba3e826b68a406e5db9550ec81763717701a0f43e41facd3bc502fc903f9de4b507ac4ccb3f552d2786691a1ce1903a22a55c4c9bb27bce06483797cd15c24b76082cb975c023804de73f23aa1de011404d138067ca129cce7f4990f3131c26b1d1f021caec563e0de058461e908909101c2df359a3d9f94be147ee982b86f4fc859be01ca218d9667a58befadf2f7a89240a86e539c6d4b4315978ae531453d12a63a732d0b0eb26d18e1655537117e8790a06586e7ac2e1b3370d2e5368102202ea0d57a3db2af3ba7c078cde56ccf50b66e013751cf1cce17577513bb265d09b810aa88bcb3ca04c8c87195d58e921be25262a56157974af83a559662aea249f311de3787c33d60876032e9e665ff77979eec8145cfe14617eec544a4d169bad29ec06afb54f16d8a6f4a6c789b68d5b127c9aca8071f5e3550908db48aad93100f04ca800da3fd54c45204ed11dfcdf9379f66f99b724c9fcdffdffff6dba379bffffdf093838a1f2f6d595634eca32379472e9d3012f202b1f76726483a5dc4eae1af424354ebb2e2b132222242dc404bd04b6047460cc6108c713a3b1db89dd871b088a7b89cb3745c2ce61711660aaa00d07fc50c362cdc86dd962e6b24d7d1d9ec76d9c67b4308ed7b0752080f79e8aa44c296387dd015104591491d561c90366b55004d609920a65cb0fc8df9d824472460c8fe17bde7f2c9226802493d6300f893299571930297042eb163513a40604553e89959f9f44cb0d0b72d03e2c621e2d12a84ce012023a39d31b342d515759d72a58cbfe80607da4894055ef62dc4224ce38b20dae424491cc9dc91b0475781f5ee33aa36a29c2485cf5e74ca7ac44d54b93b498b69332eed10ca0071f3e776399c071fb6c9f95a02ae489190ec367810dbabd40864cd4ee2010cddacd63306b829b84a59b2681d85d134ff07eb3929b99301c4ffce51be29e5ea00e24a8935628f114056f5c462cd08ad147990c84d5e122d58ce04b1ab0fe9c05c158b71eed7542860f662971486c8e48d40c29fd34c9e2a6e18d759b5ce92193e691d13cb9fa90a37981677ac00847c2c8b500adf0d0a4d58b3056750b96b7ba4806ef370103d9f208123477cd8b330e994b10bf8fb99838913e306275f0c30c27aba008c60cdfc382b9dcfc4c73200cdbf5eab7015bd228fe3bfe99dd93dd94c1ccbff0c2132cee5acd3613f887b91881d8c3f53ece72270f8836cf079b752801cb132b1ceeca25a375f51ab361aff040dfb2c3147ee9679a2cfa491e85571ad6349cd2b7f980bbc9ae30ae88b30c1327ab90ac758d7113cd91f5dbc71a8e7903e257572cffd25ff2efae5a3f8fc95a96f37ac86288fb61c3583071c4054ad44f268129383363f8e2471b0d1f7e038f13a37dbc5d150b20b277ac6ae336da6f262e0bf57bf995d627fcd0c7a489fc4be05a2056e08678620c6205447eddcc9c08ad9837bcc5d59006515c7633626ffc43ae62dfd6c1d381d3d113cda9036b4830557da3a6416fd15a755f9d4967d59475636da3c386e6a339fcb97c249f8ec6459d57e3d55ef556cd556bd137eaa8da885eaca5e83cdaf13b56ffd43d7558ed53f3d45db4659d455fd29874258d07b6ab75eaa05a8cf6a43b694d9a93dea43f692eba90c64143d284350a9a91eea31b691b74247da23eaa856a305a8fdea3efe8c41a897eaccb68447a064d83eea2a768141d3b1d39b4128d43e78ca56820da8626c6d76eae148bcd35be6f3323f804d8ea1b3703ce7f33df0c630e9bd966bcb96c5e9bdfe615f3deac62be9bdbe6b4b96e8e9bc966b8596fce9bcf66b3596d66318bcd60f3d74c377bcd76b3db3c37a3cd72f3d86cd38b7de7e69c2f9decf882dc2833ca35e417729ebc42be935bc878b20b99852c27ebc973329a8c258fc95df2975c257bc954320aa9e757eebb26f3c85029c84cb2927c243bc94ff2905c24efc846d249290e5947ce91564a2fa59df28d1453aa29cdfcc289e5a43c521de98e14470618a29bd1cfa867942fda15b58a5e454d448fa24651c0a85f742efa170d3c010516481861840821783ff0a0030e3600a1c6176b9041b8078b90205f5169207aa300080616c00dd8d210dd42a3d4b200a4b2072ba0f0ff1aa2f2ff0bf0a297c04b1ed4031754f859f85710a105154498bce095301679b9f300849017bb0d28b85feae86040e0652e04164030c10312e4a0292f71d01558407981237979839e20f3e14585071d20f0e2061d6105183c88c1a0e4a56d05112680615bf2c2b6467d5133e0250d1af7dd0d770fde6ff78a3bea06bbcfee1877e37d75a7dd6e37dbcde29e71afe1502036414cde6637de2d773be26db721be86a7dd2af0b3bbea7ec4ab6424fa07f7c17ff01d9c078509d74131c1d5cc5d88648a7082789e48a234f179e2a4ad982c269e93cb3ab490b96e13264d531809d448609107c29dc4707c550279544b6a8e1a4a7cb4925347526b7c3041a522d9a33e51a1a69cd42912b9a91b558aea84b243ad9a02f254bc0d352aaf413db197ed8efb1c5f02c5076b68d391a0a17852d3a856bbdc4eb687ed76fb0c1bcb16e391662ced2f3bceb6b2edecb17dc5beb7fbed91bbd73eb607ee3176163be4beb61bee89bbdbde62afdb61ec6afbd74eb733ee8ffb244ace34702a63aa64e268c2783bdd284cf6f44a9c0e7f04a390934a56cc87266d35553d5532c742984d7a31cc1abd14522b6fc12c5176871a5982968bd13db957c92696924491a4f103d401692347079c8d108d248d201db03532c4f77c201b61716f8ebcb8394760dc9d232d6ecf1117232b446ceecf1d878d620467afdc6bec34f6be5dc5d804dfc60ff2823c0d7e062f830f5c51c3718c81608a608e4474c66a7857091c0e460fbecc2889a35266834ad8620c4bda5e04ff265cac8ba9f299259105a205b3422b3ab7129e1533985dbafed5842f3470af8f2efc4b25922a797d71175dfd70ac92377c0ce7ea5ec61096a858c1c996c80edd471f5ce2ae98427c2b8b44c541bdbcf651214bdcf0b0159bdeed4e62f9ba1686214d1a438c6c4eab624852888d109b1045fbcfde0a49b4fb427a427e4288eccd90210f9e214f765dce2204c8d69cded97a21393657084e4850085248530894cda28b23b2f9c1c7eec4564e5bcc2cda31442073442b8eae0f0f65e38948da72f9a24e24a299d3c80bb99558466ca1d5502b85c2c33b697b723b3d48d7b1d3b89722386c151f781de86c1a5336db73eac276b3367ad7ec2a949f10a7901b97a79046bbb0a7b3a76c299bc92e612bd938178ccd39ae2e405858114156e04f771cfe02e7bc994052dc522b372a9e378c2cd347d8c797871c5c4b0f91d21e0f8e1e02b3717c5157c8bb053ec46d80e07d887d80f5632c5ef2d6c7e587e54b8b0f2c1b6d0a678761176dafa98a299dd76c5a67dff13fdd1eaca0b5d28bc60fd9703338b45456466d149fa4c5d24e5923b188279ed33c6f5a3768a68697cc3a8902846dd41ad96a761eca1056b19bd32d9abe1099e4625a29b1345082ac87b6d909a687a7870d074f0e9f1e3a1e391e381e441e971e371e452f300aa0f2c8b2167a7c79806127b35b2d3d2939ff4d0acf7d88a798f6b04cb2e4c0dd6e19e0427022ce2882454f76bff8509142942294e293a293f2730b9928e291b89d0b8e0b8f8bce6de336c257dc8a256ad9a89b0b9f814fe282371afe7713e29b771e5e87cb2849bb11ef42dc12bfc369e02cee1637d27da33ec13246ffa50c89a95280a88f77575fd953e2396e31fc336507ef4c79f3a04cb949094ab149e9f137c52ac464d41bdbb1027a382016c0f3e1d59de490b802d49700c7a8802d5b2963393d411fce7e207759cb6b20ae886bb6b07819b46671d5c45e267f2777b6cec99109db7cd941a9834f4b0b982b59b33e04a9f363844466356b43dc8aeb5725144184b5c27e7dc47d8ca94cb6387ea0b174810875f8a1753ec8ea1a5537ef0f0476b4e194c902c9fa928b139690f7c96d74fb6614bb6b2a88dd289c04be24b329c3d935811fe1467810ae8413756d741bbb521c3273195da3285af46c65c81a355d5a29ba0296c8657b60d45e084562e06525742b3e2b3b73630fb4a244c27997b887568460caf0cabc2bdf92e1922921b3246324432423240324e323c323a353c10d5eef3e718fc5e088918b81f3d269b3508aa631bc70bcd8b4cfdbc6a1132589e7c23a6ab94672b45b5e371425af0a14125a2fdb8557ce3b877264d59cfed92bbc6f1c38f92d5e4bdbe58d9bf2f160de3a942514a3a91fd6064a091424de8a4fe499682b7e9107e4d9ec163c635e3703a9e7f06a229eda231422941efe8af7fad2e05370c0fc6ef2725a2d3e8ecfe251f0677c194fc6cff1617c1adfc563f168bc193fc67fbdb8a871d433b25cb567ddc97dc1ade37ea1e0d057f7d33d7727c26cc268c260824cc174dd346e3f102a18a1afa6d452f6a180916bc6a5e37af26b3350c077e57b41ecb8a19113a7b9d47081737174797489db09f7c1bd6d2fdc73ec367645ba69a6a95f72c999a0088f8ae045042e4e70b66bf794b8a82573eb044eb13b69cbe8147b93565085505ba822a825dcb574252b64cea80f6987f2bd2e517ea7efe4725e316f98f74c4fca07f34ced12af34b5d37f666e4ce7ecac5c31ff9c71cc0f75246c8d7c133b38ddd39b72479e27d7e37574281d87cfd18d4428451e396c7239b540dcce3deb03d0368ae5ee039276f1838e56f1039376508b34624363b560ee4ffcd46e62876af1ccfd3868ea26b424b44a279a3695d63027d49d66126722453a6dad93cf96cf7d4b7bb87dd2266acdb650768abd6bbfdab9b4887b1436c687a296c316c396c216c296c10f4b2d7e2d7b2d7a2d792d7631642d74b4d40d85bbc01d5910efad9b2f0fcb53dc2e6ebbabe0959056c4f9f22a7932ab254bd231eeafac52f6297b942dba6b647db23c2d92b96688479b2d441c3692fb19a22dc41a164708b7102ab090da9f1076d81c21debe255c88f6d57a2f89b8dc4de2b6ba0eae2455e772ab6be7d5f25aa99ff80a969ca17ce673d7aeebd6f567ca82c7bbfa583df9252d9455f02a6425b4725e71ac9dd71cfe048a10874b949b95a66d9975d39aa9035da7ae36d71bab8cbbad1ebcd56a41ab56d6c98a854be26f77d9bd9867594bb814dd7d3074262a40e4c8a9568e5e0e65b028d8c3d9f22711be2a1df70783ce998689db0a12d5919b43cb0021899bc1acc96ce55c75218c579d238fc2c07376cca5b8402b3dde289013385a35aec31eae964fc954b1d8c0a9482e5788581c7314f9157fd7af5515ab89d5c319336fcaa1a898324d324e55b26a58f5abda55ddaa6655afaa29aa55d5a9aa5415aaea5435512d515daa26558faa45d5a16a50f5a7da53dda9e2387083df5b3131db90c9ba40ac0a47d5547954b9916ba9e478b3540cf52f9541bd4b7fd467a814ea5eba0d105e7aa7aea93bea94fa9f9ea7678248d42ff517ba27882c1d87de977b82e0d273e87b21523a0d9d33a7d457e88b7aa48e97c7e998200c7348dd458e6381a290281d5057d49974be5c520fd421f59b058ef2475d4f67d42df529fd861e23b7d461e89f79a24e429fd45b586be8923a8b3c477ea937ea32540e752c9d6aaa9763ee88fbe2feb65bee663bdf1eb7cbd8eff4cd5c5017ca57dc5977d31d76d7dd5a7760b86cd5e932e12189a0abee20b54a2390df789406885265931174a90850ea080f00ac50694a9a0e9fcd760407a8df16fa9663e4c2287d60963ed01102ba85623da06f3891241a3aa21b3a4ca052a51b05ad3b2808e85686817694b010dd8af0500d1b36c470d8e032006d3262862d0d803c6f5990e90d14d42623e66d4d0200895c12020a235ed8767490ec32002529c4d0513262645bcb2550ba2405792e91a95293113cb6d0e90c1d51d98cbe29d4f01695166a9007880e2075a186466e5d304086625548411bddc0e58e9867592acf255211ee6c336fe5add443437400b964c34c74974a6790a352320dd02d00d20746dce3380fe9089944835c92f5886ea35b29894c52c108b20900d219a2519802509012da8e0085e6236430d9e00225d9a550140d51398fb79bbb2d94044a8006a8091e5092003440a3050c20c5670d5ba8148f924043c65c335e0a4401c66963b4718af1d5b86a8c626c35861a3b8d8fc64d63a371d198c49868ac344e1a3f8d87c64b63a4b15034ae46731c54d359f359e359c359b3599339be19f78c79c636e39db14eb46c9c33c6a9f9abe9abf1ab29aba1ab61abc9aa41ab91ab51abc1abd9abb1ab89ab59abd1abb9aa01abf9aa31ab61aa19fa0fff15bf8a3ff137fcf9febddfc58ff817fe7f7fe04ff7e7fd7e7fda5ff7cffd2f7ec11fcdb7e1d7f0137dc5bfc877f4257d3e9ff1d7f1017d415fef27f2117d397fd137f21b690a69f0fc3c9a1634743fd03ff4fbd0c0f883fe2bdf8e86d0dff2bffcb11fcb57fa53f8617ed98fc2eff2e3fe2e9a449ab8dfcab7faabfc177e0bbfc83ff2b3fc2b5fec8ff2c97ea87feaa7fa9d7cb0ffccc7f2b97ea9ff843fe77bf97fff138da1dfe7fbf95ae237b19bb84dac266613af89cdc467e22db196384b9c427c25c6125b899bc44be21db19218493c2606134b8983c444e221b190f884384c4c42cc03ae0a3f86cfc266e1a9f0893059782c2c160e0b8385bfc25ee1ae3057782bac15ce0aa7085785a9c24fe1a03050f827ec13ee09f38477c248e1a3b051b828bc14560a27859dc24d611361a6708930897059ef19b6e93fc3287ac85eb2cfd14ff6913d8e3eb157ec07fbc0deb107ecf9fabf3e464fd8cbf5783d8c7e46ffa2a7d11bf685bd5ecfd8fbf52cfab75e453fd7f7f55e3d58dfd56ff55abd54cfd59fe8a7faa8de44cfd437f54a3d521fd427f547bd503fd4fbf43f3d4fef04e6ec77c09d604ff02638138cd91f821dc190e048700ef023f8057811ac080e04df00cb00cf000382f9c094e04ab02118067812ac07de03e781ebc072e033301cb80dcc061e03e381c9c06560b16f1df8090c0576fa4a829bbe94dfca6f24d8c4f7f3bbf89dfc667e03bf855fc22fe0f72f6af6f5fbce88ee44617ccbbe775f322d0a2a9b77cf8be79df4527aedbc921f88bc8fde3bafd577c85bb91fee78fbd92eb88bed79fb8bfd6f67dbc176173be58eb6a7ed70bbde0ec84be5862296fb8d5d726fb4d7ec33fb2a44c8cbe67df2e288f81481999f2859cbc140aa6eaa1ceba65b19cbc73ef05840275fd68fd2c5ae650236dbaf2d58b7721b46f5a47e52a0d7a5cc5e7509676c74edba815dbeee8c19c46e61176e467326b32bd78d31b3d96d9be9ecfecd48764fcc607677ba32ba36279b5dc0ee51d7af7b33c3d965ea22d96d39a05532e70c80dfac613d6370264921ed7f06308410e5d014251d564ccd244c4b4aa4819de2d52b00b41f1592ee29e8013bd113ce4b837d7c7f9b4739ad599bcdbab8abb8bf2e323569e741f8d323c4bc64bf8ad74bd94450418f51a5c5a17f2ac185a2ba13dcf24214d3b5f1082dec68662f46a3cff95c7d7a774fc393a0a7c483514b745947997bdd2b37aa5d4e3cc729b3e2493b6ef180cae955a815025e4d68341dd89fe372465e52c17c8567d6bc705de3e06fcba7e074f4e9962bfde9518d1681f9336e5c00d1a95220872dbe5ffdddd8b7e6c35753a609fc2e8a2e0d149413b10c1cf851632cc4a8615dc7563e08fd145390a150208f5b4d4d83f70b5b8ecf0fa9cdbf759534c3f9b2c1070869fd787be8e9cf3e6781471dd21502b627d11ef4e5a867568688ee63c36036a5a1f6949f235492c7df8ebce657ad79fe9a893cc4902267628219d69a084d55169b3dfca2c8cd7398e8aea216b984c11256e9f4da168c6ec606e33f5d22bb4ad25815d8321a83ef6ccb45225761423bc301f70bbebfa10daf536858b67bdf929a3f73b060e2bca3ef76602a0212148ec2b9a4752435a73050e18628642e3cfd82c82b437a6f8f1a15206ecde848467ec816c4edc539b717b8a7071525353e9d3361b9bcc939337498003a74cc1753909851da22cf8dd76930da828ad91f9685c81de3d461e6f8b2d127f59cd08ac3b58c52606cb8046e13aad8c0084f1180088010cbf2fb7c096a67c84a24cdbf2324ed0a9012d45a23dd2421442491c8eededc3266017a016901a68a83955d3d06c6b0f75918d328ebaf1aebf2e8579ef515005b650ce38a8e552f218c0feee00365633720158f5476d9f7e9dce82916764ed5b22bfd6970fd4c41a01c919439d73ced981e0f9fee1e8fbaab09522e200cf752314bc41ad881d000a92f4f42acc6fef414b6bcaa8657d7bbd61b55af05f526e701b073c5c904c38ff18c7821c4fef8d985cb5c87892f3cc60cd945742a6ff8ef00848894056144aaa768c3265796c0cb8b4c3b4540e2e548ff52c7eec9a7379346efc1b3afeea9de468f90a7a9f40f1fdbd574a6dbc1d69d8df5499d34c4e657f8824ef71360bc22962a98ec39b150f133e7052b8415dbabd2afd6461bfdf1ad1ff5575fdac82c5976d528f929d4272796fa763a1ba92f6683ca3983c07026c3941ee62bbe2490bfd1a698d29d0376367ff7d452cf1891c02833692292c8ed1835ea65400881278810a00d37f7e22d5c26d238d0c86338b623061f6ab8f4aecb3dba7043102052220839ff961f1cdc34a6cf397514600747ea83bb9a03b8ddb2b156328044c0e8651b40f422a4f36b01642d30978bc3256b54896eb659bda835afac3ea36f18119034ac3085065579627736dac42f568c68c6e547cb4009f311003dcabc849172631c7f9d948deee1c89a1c790a0a95d8a74c3f69644bd1418913518688d20385092a30f458d1f3c2151db040d1840a1e18518407213920c90274049092178a0495a04406398534d242921a96fc3c91133b7534d668bd4e7a6796ef38f12966e34186ecb7954ee9b362a797924a130e04a3081936b1726473d7657ca69c34566e493c2f8ad54cc7f2683757bb7ee81fcad0b1aeafea1becf12f8d5ce184322ef5725ccacdd07d14ca5a86791fbdbcaf5aabf2be8aea3c23fb2783f21119440344c89049649a60c4858227d985fccd3f526687e6834f6eccbfc1d99f05350339b919f983513eee6bddd9153c00410412e8c060dfc404e29e54b49839c193bece0d18a59492c2e8f3e68fded5fa9a4a843f55a66caa7378ac8d433e4a6a0a9ce42e3934ff54d18c82f8f2b2ef704c9a9569130671e40a637a3323e102715f6720d79367b58839f128d1ab18167997cdc8a236cc596f13855a42db767a52d762bf74fd75f5607185f4d55d567b8bee2e6db2369722ce8c4de4a172e461fffaacbf92deae9c8aed7c4e02c7a2ba30af67830fdec7fee8de077e9f0fbf8ded9de9b7a833ddcccb298d7644a36cc4b5ecd017092762322ea227cd96ff7cb8c090445ab678f04b9c97b2578c445b864bdbb691b6c7189f1cc36d7bd1df5d32b594be65547a6b2369131ce90b6184364fe45b64ba2fd2a810d6b40dceb01af2c216bcf17a9f8ecdb11a75018ff8df41e7f1b8bc0f1a59685cb40f7ce1517c67e418052c1588ae40945a142ea59cd34555e49c93528987989852ac064a5a53e5bc7ed850fe941e21cde04d21872b499e282068732c5a4cb166d87f6fce1c27e31fca70f2e4c5dc0ae39cdb23528af26880b29b5861b27f4620b2a963393890af433f87b4f1a6fedd8f973e775f02f46e53bed79463e6cd7db10eb3d85f95c5d8252b29e5d7bfb7abbec32f2d57d96b49ebf6cb926a7ea5c418728da59df47fe9d62d0e52fc624d596dc6da54dd982a4f7447ec2e219cf9aaf633f4333bcaac27c7d09c8981da74dd4c35361fde6e5a0b6366ecbf58a8554be7ea5a6dca6028d6ddac7477a9fd99e50976559b329737853fe60ef65a04a6956ad38cee1f238e2cff66e69bf2ee7c12d1abaaf9f75a5b2ba5734ae91e65ac17f50844cf8d44b23b169d1eb91aa747daac78c61ef2b4c185692bd54840597d5b221379c82e850971eacce9d9c8ce44048f985416e9450ff267a92f849147466f216692c41eaea4c7136e16926c17d1dfb6ada25994bd183d6718a669593e6127ec849d3296a96cb284116b9b2831c45a0770968d50d6d4746c2c88b3225b98b4421a69f3b15116c9dba276353cfa5ee32cfde9c8485ac640d35ff6246d4757fd69cbf4c7010c86f5a8331637ad1c258d019363182820940aa68261347bb3d4134d0d938c11420811094402111191408204494141927491f84e3cda9885095d2617131b8f4ae0dd0695d32724e33c88ad4ae50a90a03a897b5d07e61c80a448b957ad1cb7e3c5e0d9d0db245ca1d90fb1fb4c96b58b303aed7fe6613979628768758dc110bd2ec4d4164ee88c272481a17b061b08a13e75ce8e67a4ef67e2766b76983e9a2f3b65c947b49f7a4d1d925d47ca3e8aae129269716353860d779460ef0f3984a21a50bbdac038e58a626ec5ce3d175f6cf849b61998edcce7f7890472c022bbac408a05050e9fcc9c4ed8e290a1216562225acfcaabc84fa6ecd087a331e43541800e219bae0c442c7ab2e3498dad556997f73d0a770e268ba5e0412bcb3883fbeba3b5fd1a67548757ae0f75a163c103d6b5d6809433f4f2dd564c662e95e05f13260de0c40fe7e2699b13e824fc961deb145ad5c2a7da81fb1eaf8210671fc867e883f8d93a14bc61701f6c75ec80d1699d941afed1f596dcd84c5af62a9fdbbc166ddc1ce509649e81cb57ce41156ad1963bf1c9edaa9e8f5228671f64bfc9227bcd2edcc51993dac35f3bcc497c7726b9dd733e86f3f1d1832145f7f714e5d2629b6573c72fabf7e5516d93d5cbc9b846b04c9a174dc3ac1a098aaf56729a558749109d600d659f76709c169d9daf50883d2b5c6f35eecd61be11a8240348ad0b0e870f157240f2c399f2b39af90f164144e76f89453ac4c2a18b7a815217fa228a5dc88b94ba101728ed8abc40b12b79816217aa8b9873a58b2a8c6a7bb176f9c014167d8cdf176dcc96a72d42bd67a54605edc5ce22cca97675a532256c57dbb194499af6114a9df7ae6d0f6b85b8aa6941c6d2412973a7329baae927e3b2e3edb5411edb189dcf294a2fd1a663c7d83268c7ed4c3f560191177d765007489e8696d31463e5ebd851f890a373c78e61eac06db8913bb1ac3ca351485c91ae86e4551341d461e2924c1179ad4027ce1a4d73ad0a09886ea357e8dcee754bc92b824ccd551d6048a1d295eb068d8d2c81c6a9c2dbdcc595914684988adcffa441f0dba096e284d90695fe2fc67c37e3b6df987ea8e0701745cee2280a3d64033569d0cbca7b0167501d5a3e19ff5032ec6844b636bb9b70bd7dae6206fdfb8d343908e4f9eaafaed43ebbac1212116787daf2e6c6bc9896dd529a1d1cd6829c3dbe5a3079608358ce0e71b43259768e1f9a81f2fbb57109399d3008c85aad057ad8bf720ce6ada524c8a2856525cae1521079bebe82179d3444d073e4055079d51046af72b10efeb11040d46280f59a5facee2d08fa9bf10a6c5d7dc96362088c83eeb9c32808d771a3fed24f3199b79292772a904d30954c609835c31e25a71e5a4da455f4aa6a96ae5c98edb09b418950d4f8635ffd8f99709ee9475109fbd011356ba2ce40efa3e0d74ec5e619323fa8504ec473b666366eb53fb0b2f304a01219d8dac84ff3d9ca7273f09a73293d583976763f460a73a97102e48ff86c06e04dbaef7c6a566438801b6442fb648cc838f3629290c7edba6e482786e799b3e24a1a42907b8f18fb8ec89078c46840ff953b8024021bb6e4dbb02ee5472484c23665eeddb94e229e95c89b929ee87c1f3a73f32b2ea3389309e4f5e2c070b21f339edfd7083214f4a695c7105c4f920d350ff2cd593f0cb1b18aa634c4105f37671d24bfa162d571f0380f9f18905bf36f11708ff467f4f27317ef6eacf7e0f6a33a0cf76240647bd489d3b56dea34b770e8c61277e66ef3c8fcefa7b005f01f3a7b8d3c81b90bc5c218164d31f4b97ad2b99737265b2091e610f45df3554afd0a540e91966e1c3aaa71a757b6f915596dfcb43cb71f06b200c8147f754d01f213ca331daf35f51b1e0a6ae0717995dd65efe3acfbe328f465b0576e6b7ff6f3efc2b6c218e3f31aa9a4816fe7d4d63a32910e0325c1dac00b62692ce01ac44f9522acac17c6e972889135e06946c0233c04dcb2c869ae8bd40cf2e61ea3c0dc4c1f41b9b24656366815a751e1aef62b2814e493906ed30181c838d59be3db507087af0b43a1103cdb55f8753e25e2975b270a5b2bbcd9558d823b0b96bbd65056f42405e56192185a7ca2555a8db7b046292343d1de66269959f4aebe6d6c6e15caed379c978087dfe59652ef134185ff43b26d304cd91801a6a580769cb20085cd816dd4b0d138a4acc7c11af021ac7952393f24558615af12388258fe7160936c16c51a38155932781edcd80de34bd089ab61bdacb39f08a97d970dfbd26d5d5316c4387da27612c36556b4150d21b31a95fcca1472c509391d5c7614a7ec70a30ae73daf12428f8e360221d195b4f515e9dded79eb6401e693418ff33a7ca8e5457c7cdc8e17ce384ee4cfd1883a8bfd13126655cd29f5e2bd83042226b722a29c456d0c130dac1c4c6e870e868c8290d512a2b490d1144236c15106a940263ade8511e326a420ce9f5fb4994b452b5d5c25e25f6348cf3947c5361ab89bc83f4b21ee7f6ecdd18406b521486d7a2c563c5cf6d2018658f2510d2f3cf2e5e0d1fbb55e01450c55a4d8dad76183a0bdde6499e8109269177c5ff64ea54bf74e854a151cb4e95c89e4730c9af9788f18f0614472960f73952bba3a936da2432862c00d64c53eba6c80a0b3261332e8fdaa32454a399500a7a94f0831933114cd3730a89548e405c70ce8788f44e84e4910bef69985bea67bb224022c4dbec90c3cf817b5f33f4b339237415b5405145fea46f0cdc22dce8f8b83ac3f53cc212a8cd111c54081ae4e85c3bc41bc511c3863da05d400cc7eeea24aaa7671c3cdcc259a18836f9da246b40152d05af2d6ca009d306a8114a1faaaa20d69f06845e54c0c347f658f90ef677aba3c2f2e7c161de3af0cc600c4e878cb2253c52e1fdc61219faba7c4afb63690f04de055b3324af824e1555b1924f924f1aaac19247d12f8aaac0d12be12f855564612be2535e4002ae28f7b606522608f8ba1249c04d077fb40d0157f970da171a82b356a340a1c56bc6e12f4ea812f9d67bdb18abc9ea870366fcdb358db1c8ab35a5ea442e85344c2a402bbe21b88ef0286149445b853c9c03b0bf8c41e305f17705635a1aae94e7837817c6563cee470a4d61e3e6d853ee724c9f800f46787373b2b30055045ba54a73fa61e08e6b15f5425c2460929e770e8329fcc691fea460a6ea5e86614690ba2e0aec3dcbb014a51a61ed981599d32aa7660a70114001e0ff9e509b27669420aedbdd1fab5e59b9b99c9a45ec56e332c97ebf0398d77c480863c59dff5fbd17605d3424f149d946cde262033fe5593e31069310cb7eb248e3a7f8cbb8aec77bb72631adfbf5d3469df8390303f943829805b2cd4044cde1a823c9a161bf07bea2190718d35d3a3015c9c0d59c139a589c72d62e1519503547e0bd3db7be050e6b8a85509f405e850452f364337357973d3c723e3999045216744768819e43cba95230f24f770cb582e2f32908f8807731fc6c9c150693984634c284f61c3c06d435d1781a1673ba35a9dc84416cc5261f9dd5f5a78883f2db34ae693fe1ed1fc7c749d49b51539a93c8599ba05f22239c4973c9941704554094a95fd8892a19e1d1918cc18e32c9d32f652bd380de39605f837d52f621a6321a389f4eea3b986082a856a952ef78cc9b5d0b5ab26bf0af4f923770f70c2eb8ddb9a8f6b96bfe5456c8611ff8986c282a5586ee38010967837da8dee453b45bf51345f1d1cfd68c038f24025186397e4f237004801cce864ed9f679a1b4dc18741ac38565e5c9fc166eb43c437cfe1a8be528deae2d78813372df4f8081bc22598194eb18995e1f473a8e71321f8c8da81aa9e9f763765af77618563d6319e1b9e9dbf90ca2b191f0e3e61afed806fd75964e1a0b902a332e76ca32a6a01da744aa90233db9ed71334f08bd7d4aea67c8761226d97c97830f988dfe8928d8f70cd2c7bb2311b3017dc2fbaec0eb9212aa2733bd43f2253ec3348cd1ffc4ce44750bf958c78e1dd4f74ae1fb3ff28ca37846f7f71ff4a3ebad833da2d65692d141aa3657895c343d6eddefe5928933f3c1b2b8cb9f91aeedae6dc342dfad88a4017c91c381f32dd5c766734a725e6a91931572c25862dda76dbfb12526923674e8826be4097164776581888405178899fd538bc32dbd62713d23cd0bab6d5348a826471079e20c39d4dc4c893c2977eab1ee8e6961ade392c5852ea690b5d384ed09b0de0a119a886f91eca9f0acae84c5941fc7bb3ee22531651fff8c454c8322a564f6210d51047f055b648c4e00642e1ce661e8d0f0a0bddb84fb4a9a79377d857b6bfe8b567e2c635fedcd168683208fa7b5c143fca1e284acd8ae0e04b5d9a53c0cd162913cd1c65875fcb8d55cc5a54c5c2cfdf48735fe28be5247bffcee7409726e30ba6238c41bb7dd8849fc6da7e167dc40803cc8c36e34acb0452cc49ae0b5c3da3ed3af6ee6f75d3eb24815c0c16c6e455475d85bf37b588f00b96ccacf979bd0820b934685dbfb3ddb0cac160823539cd107ffd714ffb9942a4dbc4ba1ddcc5e50169513a2f5b53420d2656451b610b9a719bc417a8376556e4e0abf0abd228a3a562f46c0e90ddd190be41e06d27633db575288d656bfa912d3030326dac6bf6b58b6de5b1a978c203e206fa477b41b7695da33dc02fce07f27ef72436f81c035c22019adc90304f30de11e71be0020e3660e1858e13ca22864093b4c9250ed8392ac407b7410eb29f25eceba40058f9201484b6961a446106fc886fa5473cf0dafe17ff5132f6dda405fa0f7cd67e77776f29a514b90304031a03d202a8a8050d13be50d5d4195cb40093ae48ad4516506e505595f56aeba59a3866ae7c3193a6e9ead3115bf981092f2c166bf52cf10cdd3839e289d56ab52a914e720e36243859a52c17d2795e29a3051349e66cce791bc54c196948bef7de1a88d12402169224c7eda48d196ec61dbe5d53d81891268b0f7130318e28550c4f84a0c47842a588300493711c4773240009ed604b152e56105f08128aa21b7c399304172510a454aa033530c14df08a288a38023cf028c89724b9ad686286336559a27f227b99133b3a42d21fe4077802a40063090c1c1c9cd40f211db8848a2eb4d080a2a80e02a40339d8a1c91a2b52a9948f01ba10013a508412061413b436f2fb23233e34fb7b1fc000422d25cb1846d83ffab19dc8037f84a291242cd6c72749591fa1f8eac35ef6b4affdee85def746cfe37b0000000f1e3b7618191515f97c3e1d0fd4dd6e3f381c502e37e4e343a4d301793f3f3f3c1e11d1d0101010108d16d4d383abd5740809093dd067369ba15c42414141bbddce66b33df0b6aeb8de733c3c3c4040403f3f3a9d8f4f2e87c3dd6eb7d96cf6c0559ab254f55f2f1a0cd6138b016b3299ac56abf5f4f4d068b4ff7fe0ba5a75164b6db5663c3c3c0f849de78972f1f4ded775d5d149737254954af5c017e7fcff6532592c1683c160afd74b55d5344dcfd385a2e8035328d4691c45d3341fe872b97c5a3b3b3b433aad568bc562ad56abbd736c240e0ecea8daa1672a954251abd3e9b463849f92a4587356862449eaf1258ae203b9cf0812234950495c5a6bdd79f8087190db038c19de7b6fffa10518859c07a009ac16d821f20a79484848908eb29b230d84bea5a526b226d3471875a949f8668b939c931d4d7cbf27fb37240d2b6c911e82fa7c3e0886a097256244777eaf1060a28cf5199aebf11c57f41e20be3e226e8d40f8b7cb002afef066cef5d6aff1c53863ccc29b17b8bfbdf8090899b412131a59f4e6fcbee14cb6066069cbef7bc76c33e47c554fa5aa52f5f2144db38ffb9eb8d7a48892129337bf952916c963ce68e6f55c8d2b1c923ce5755495a8f1c8dd621e53fc57d4eb3bad944af5a9b5356ba53e38a2e2a87a34f730ee3cd8e5daa52ba83f5de5d534338aee9dcbfc28dadb9d83ae58e22a26b29e462373fe582d2787c53a79ca1256966649ae2c574b95caa888c9b2954793b553eb3ef1e852a5f0b88a68464b9165eeb3e56a8d6b4ab54b92cc262ab25427da224f974ac4232e5da975b3f266b9f288434d9c5a45d3569a99bcdd6e37b2d562d9d0f1c4e170b8551453b7b3dc369bad661b532c14e752e57237937623b7b9da36aed56a385c4d9569b493bcc1785af876b365db0ded33ecaac560aad1c7e7e65ea9d9e7dea71d6daf57bfad3495a785a9b133dd4f436f4fed6bb59ed8dbc8f7c1a93969faca79f555b53dfb8f19cf89d3a6e759e2f014c15192eb2dee66962b5a4b7622a65992edda1378bd105b6f6bbded4f9bf596a7b7e11a4b6cbcbc7901cd094f7e2b161f48b1a28d19168258fc82ebff70f571ed6dab87610ce66ad59d4fbfd470431547fc5c5cbc60f305869feb775cbddde9b65447c7d6b7b953d0ea2dab43b9bf609b82b2fb0573ab42d100479a32677eb90538b8b0f905539fbf45bb2fd55b54f7897d77ea3bb84370f6d6ec506cbf60cb430b126df090468b261c7e6487f2bfa08c498d104b7ce1a40d995f506cc76e137bcbfbaedd3734df6e57d78689813f563a81160827ceb891eaf0f0f97c3efe14601564010ed6a001c51a568f1e3d8686867e4256abd50044369081c90b32af0702e9d0f1ec01ab55001f027f7cfa1a04e378d346091a2e2c3d5152430c4d52642b27a63c612605e055141464242424f4579408b6c1998a1803cd0683468a155a4d195b48d1dba1f67abd07fa76bb5deed24405884c0317364260236268c3cb3d13c697274445bc4b050a1ea4709bdcb0a529c90a1164821d042126ca15201d4351a6b882ca113ecc30437bc20e29346db0658c972974413f53de6011430c852e5e04614a4608e1841d5411882c538ec8d97c529ec50634b678c5a884610185adc7f800861c30b5890d2e44dc7a703809305382fbc670258b3478363c81450ca6431519a0e0f9194cd5a2a4021a356d73c61b287474d29752142bbab456af18131451cae8e8e8acb18e036362234316ad56ab15e60315dcbb4600c5bd2190f0869eace6a3de19e710772079ec7cf3ce393fd9a47c01da86179d72e0e84a606a53ade008662740523261613a9bb9e2a2a0b58ea275d649f72631c373252267dbdef1d8278f175a26cb8ae58d28bee5add227aaf5be5d26365c187f589f1963fc8549a6042a6b34f57ebc89894a2a4b8cd24b8c2c394dd4e994353f31fef06a8e5a5502585d39aa27d49340540f22bef9a72125197ed21993268904555a60c4a23e939d874d2879c0a24add46a14ef7cb751d458e93c8cba588c955f8982df2e38c35d63ae0c71bf723d5006cf6c41f7b636fafd24fec61a8001a6671bbdc2dc010016da443fef7f3de18e77eaff88135ce63aa5c19d090490d312c69a6ca166b9583a34253a7bcf20457e8da53abda523fd862adb2604e4cb5a633354d713d2e97cb450be672bde352df7758cfc572ac9dcd66b3a03eebb259ca4b75b5077a21215aef0fb4feeed5d3d3137be9b22ee75b4e71b4dccc05eb5db6ced45bfacac55e2a0cf759cd375acee592759f95367b7d6e06a3c55e3158575db75f332e7da93019ae3773e5bed26e319a9a73df8b66b97fad3059afd7ebe15cb7b5c8d5539fcfc7f3bd626a2fd7cb45454545b2f469be976fc6e3f57abcdcbbd2a25b3632f211c9847cb357caebbd5754d4db5e4f5d85846037dfcf0fcde7bb4443433c22a276481664c3c17a3f3f3eb7dbcb77f7466fa4c3e877ec7c433a5d502c27e4b3b301ed66369feff27a443edef37844bbefd17e47916ef763fb791d119d4e4702464240dde7815659171224f4a3a77d15f9642f1b7a99ec65b15fbffd81a0d75bdeed897ad00fe5d7d15ba1a01cd40be8360855edec80d2ffe9ad2ef5c9892bdb2bc115b975daacf7104794c5602f514c5d6bf8e3e20afc7c025e7c024292e7f3d5fc745d77769074d636c93c4d7365cdf31e8d496c9212dbb2216b1d572b9ab3eee0acaf5a6de8ba4bad785ca24b12f18ec9fcd4ff4e7ceec32b946d274c3f287b73dc0575de15a1cafbda63ddb93f69e883405fe0579e8ef63eaea54e8261202a622a4caf1139702c9539b80443965769771977b8252321e6173f022e398beb3d025dc3c5cc6274d4e44892e738f676fc253a64c8f88d23b771c1d2c472ceb9e63bef7c39e6e6d6170bb6a1a52896e2deb92ccf91f7583212edf528fc8dab0e4842a6355158d1cae976adec3127717c62e332097598021c4a90886cb006bc4dde60c7a139d072ec36cfc13b40e2465c12ae1853c04ef049f88bb9adecfd35d6cc2034c2c23f2954f361e72ba0053b5681f0b7b4579bfe0c50e075e18df60d17b4c0a0a587307c55d2388c3083073224f15b72a2cb597282d7273d7e2d04df5290007fdbed3f8410c9b730cc15a19a0fa2c052e68b1bc8c8e2f54720051afe92a67849a24a15a62f3fa0f985bbbfd705ccb382750e669211478d1cec4b4d18761b21ed9c3f6fbdb7b8841579dfbd5df36862c0b9c6209fe3cac03e82894083142bb883258fa259e1a18b2e128a01ea828b121f95c22a4a283d20bb52286663516a89e1439331bd832563572ab2808a0c316a70b394b331c7c134cd341fdc531bccd3e46d466fadbdf0312730778b5c38598478b7b85c88f9c5cffd0cfb29bd27a03a0f71cfd35ae6a045be47acb764107a0859fcf86e56e39000f4ba01867db32cc20493633e2fbfbc23288bc105a0dca151b8e68aa72136169ba26673ce1823f123e2e6235f8f38501b5063f13aeebb6d30f9ef15d821f87499406d3ed1e7d19430bb7dc7c6bbf8da7aa7e98ad39930ec0c0f7067393cbd1174b571a6622299bd1b8606641d86390c33cea11b5663bd028b81542ab040770c4231b75c33ab6fd6c10c7b28f9a4690bbbcde02011865ae37ba398660461ca0c4f0508605e20e1e509bfdcbdf7dd7adfbd2bc012c00339e4300cc31c8699c7bbf9e791c5abc9f7defb8a97bc62c83579ef63f1aee21e39d721bf3b02d891bd1a8f441e6a11df11e3158bf7caf97a6fe717e7804499548e4537cf3bc4b9a79cef3737e729d723101eb2a814018deaa814cb7705598e042428289305011c1a8c0975390d6aa8073468d2d107933c06420c4333880106010508018a188141ca00d0904200a7e6610e8068895dcce50f6ec0a9dfb0989a3dce9dea3983bbdb2f33c177796385bdd6dccecda4fc0e0a7bc738de8c7674bf3573bab3355cead1ba950ee9b7dbe7e79759d2662aac3357a9ac693646627316a78aab74656412b9bd4cb5d34f453f7a9119ad90b571b52140a1245326fe46588b3f224619b22f378da0b83c828c54b2f08304c3c154341181fa212b6ff0c53135a50792cfe2fd1d0450c62f775bdedce9221bfe76f58a74e2b56222ffbbaf7b750f1f7cfab468c2a2a3e58d5fdda2df5ea6a7b7d6edcef35746b6e143b0952a1650bb0a1c75213216128c0760d722e3b9829760ef38b6d61121f14635f1504e86617bbb2ea0a9ec9d210260150c96780dad2115b95285e0f7fe879c555d5a2cef152dcd28659a26e60d7e7bbb84c2d40493c5b18b67934add104c0015f9f4d43442fea6a95e173bd6e896c440c1e1f126ff29a4f84162d6892627a3d2e4bfb3b1a62b46288e6729e9d98ea27e6735b4f30e9cd740bf66101ff782deef7aadeb27d85a2ead9a6b02ec0aeed5d31546003579a2a27b0981d4e4099ace4b08c4f5d9619a28d97d8cbff8d3392b420597ca45ffa4ca5e9ee968fbe23ee89f74635f1bfb1eff53c73a483204c183e87fd1d22751163432e89263b09da39d5d407c1970170cc606d48b59bf10c0c84ffeb4603de759b30c52a36d8d5533ba925514fc9d2c70a138f7ef8ae895ec09806185c75a92132ce5499efbc99053b513ab80ccf59a8285f79a23f75bb5314363b455159dc221999c336ec70e4022503eb06e1013eaa2eb80d01e86eb347d29375005aac76e0f7db6d6eb4b62ede305f985a6257e4ad508cff987ffa37a3465012d3d20c5f583ca5b06272893426f3b8fd35ce19b4bc7db455d7841818667099238c9e144490a4a7e3c3df73680b6c14beb9f8c732fe840ce9daac6bf188226b8fab69904a5da72b6ea1545224b650395a56c4acc3953b1d8d3d78f89f339c626001623acbfaf78a43fa77898f8b7a8b998b116e264ecd70cfab49e424c65af24b6b5a92eac5b5abbf9c6a44b6a648077969a6c645fa29178c50527bb1141afa3d4ad59482707865f60eec647c37cfc86935c9b897257d954840870464e9285522b274bf3d7f137f9dfe71c05a641e3d7065da390086c459c18bbb3f3594b5e6d9a5d8cc6e32e54d6c7798f3ace0f2ef3806b3efcc3a98f636644ea50d99beaa43c101a3ae7037b6fa17a8888529c1dbfadc13ee264cecd3a7a38804c10da6a99a8519599a76fd4474483305114308314b659cfacb0728614805191ca30578649c243de4bd22d6689be04a110028710f833582988d8431ab12bbfd4e19f3830d39a6fcbceeb3dd96d654823afe1527ad10d252b17fa308fbd8bcc7378d4ad8f6b089b520a0f67d6712d6858e99ecdb3fce9c43a157e7cf11e2dc633002451d768591ccb9680d4dc9e72693af53955be333dfbee126022a1b6946d81b9cc657d497d3a49bd0eed547ae1a56b04ecd2587c9070d5be668299ac3703a74dc75bf8526d7a6ef210afe4d4216757f761dc2c086d6a7f90c0272c06fb710b6dfe8f71ff03d960916cf575b3bcf87dc0b8fcbb87b15dab6c89da6370316df8e6419f0a5165b06ae6c9fb2ba79b467999b974b3450bf9324513b2a269670bef05feab6839372fa22f9eb96614e99e784ea9aeed19e4a304e9f79b7b75e334076a8a6ead67a188945c3fbf2facb173a8ed69c3516238e586a8f1bc46f7d884ae7c157a81cf4812aeac913002e2482234dcf734c471ff9b90065f3ed45adf875f73bdb0f7a3005ff66206503bb142a0f5a4d0d5a659dbe75bcca3e269a8bcbee9d21795005225309067f2b64c3978761f2d8af8da368deeea6e61c198b59328ae259816fc21d1ae6a17e4a21392fc09dea3e99f0ea19d4af00f9d8c3f86e44ade24e2125db633695f802c4ccb1ff178d308d19fe3065272df393eba55a455d603ed570540bccafc9878d24467a2b7ebe217ae1100eed622b563b51382082195906764d4c7531ae4cc5a583ef8bf3cadc9aec0290736cc0013069cd288165953b3669e08769990058ab6434b872e890e5ff6d12be3f5f5f16988af774f758374a00b520bedaa1a8be737ebc44518c2d4a7fb4eb8db6053193a7a24247525c05bc66eb2d377993dc6754f8cf9ec1bed2d1771356a99f6fb8fa4bf1ea868423a5d4ee101827fe0047461325842cc93fed9e9c8e89043394522af2c5ffedc48a210747abef4a8b57bca2f680497fda1f619554a85a80d3cf5db208ea00025a2f584897912b8bf577cba852d461cb091c527118ae2984eed74075dbacb43ef2060508c7840ea751f30a88b7bb1cf679404eb0ab5e6f86cc52cc75a66971337f49c73c621e5abe8ce7572e27bbf3a2faca200c5c6d988d84cb2a7d8659ae6b4c05d973472fce8e44ef4221c4d070c4e84fe567c90b5a38c9c703b872658109bf1a100047ed7a2a6bbf760513bf18e7a7c21d14541aec5409e48c1d504346f8213890042e73c11d61f79fbafcb882c191bdd1c0bb25f3cf3ba140c81517d92f266db587e398489eab164b91c6ab0ceb5b97c5b24747db9b8cbb0d2ca249149fdf4b6b8efcf88bcb5570a3eb545709eb6e6824f9d3371d518db5300482f3ad3bc879bb755853810de059b5ac875b834fdc4dcc5128f134069135378ca721a5fe01e299b199ff3c561f641daf1b6aa7c438ee9655570a8e0091e978264d463b3fd7ace7a6faef1c981640d73a24cca68a28a1b6aa83ffcf1e353c57e0fbce3fe1a48707e98daaf26603755959e4bea54a5411d68a25c1d34c88ffc241798545cb85500cba0e68c5593cb28e861d59536b1cad21428b91f53e55e0cad6c154f7ae55854a93f307ff14a9fb00255f8f9897caa25e25c7d6fbdac8913f7aa44faadcc6d85e5242ff7145390b84744ee63579cf47ec9b746ea50e5b2a373127d4eb1029899de7c58a0880bdac92c3145ca9d46688c35f70871df87331343c1d0b67e31b102a1eaffc45cdeec70d048ee65a89c09d72bafefbdbe9862b3bc85c63f854e70f0f8e4f2c4a8688ec93aa11732cfc758e2f9d9ce5122c2a35a44aa2c0434fcd9f23122427d64cef112c1e3c8c47e97bb93926ecdd6a6575335b3bcf9e22aecc09efe56936b4766f981318c668b27b7e39f57d2737f0537534e66dea250a391d91a8da133447bf686077a2b8fac85f047a0b451f9e1455a17189765078921663ebecf86d040ce6a7f60ce012087c645a64699b4e0df60197e6dc977b60a641924eaea3d99580eb3dfdecfab58554b245b115e70c9698267667d3e248c37665ffc275de5d412273a99c45ae48d66236e869a36fe37f92578d23ec49d71b2f10992c143381e488936a2209e7f7a685544a8409cf94c996336d97449a447e2ca2d13d0fe94e6be1a9ea8e086f9d1eecddf14e644fcaa007905c32cf92c1b7f2fb65c36964fdccc164870b623cc091eb07e38a7ada64cd83d09d72e799a7d36c0601858e3da45fb0c1169902d04eed262119799555f03dd188f2e1375b50d9bbd1d63e842741c4c882d34eb2d1032b57b0e0af05e7df94d9e4872616bdf3963b14e4db514f232d704d6c81d3740ab5eb47a72c78033e313a7ddf3f6a6fffaca83661c7e2e8488d42d2a3bb37aa21e0b9d2b143b845c061f8ecb52900c49ca1d628a3f6ada204222ff81441784c40064a7fa06ac2f1c6555f6c9a1912d9dbc4770da701e4b04676bd9e0f74ac001e79761f93a311fdc144c8a17333b5edd9e14ddbea2d06a1857083647b38db5d637002c697746528e50f4b255023aa491257d16e44e8504f785d70fa4144c3e8b00b2c3c6f2b4b1c7da6867aa61b748ddce8892f4dc608520206662712d6df5eaaf23043a1a98998bf4465607146a62ca690a023dc21b0b011580dee69bf9a41924f15973786b5dd8b296586b0354e6612bdc74cfbe6d2376c7fc4fa1a6d708b47f8b9500f7f29739d14e20da3fc112ba782f819509f07515ea8c20c46a96b53b31d39be31256ec6b7bf3a8725d666fa662c24afabfc0d4de5c7c8ae79bdec3f78497bd12f30a3dca440e58a1cc1e32710b7ac86d09939432ef279b6f730fdf2770f916cbb7bd97af13baf816cbb7ddcbd7095c7e8be56fca39ff454078ef9417ef62d9dbb9227be89d131c5a4a7fbe77870d608c4794657239a17375210eeb6dbb96bacb938a139a1026732e11c53178055b2843c2609356123c8b1b9b72015e93ac2b0f2abeb3a85a4e5575eecaabda55e0c46b04a13bff69d175b6a4388595c6d12cf20f894c229096c3ba4093277c09c6d3eea659791747a936e7fa5e8f32d46d85cde086ed743b9d5c064f1771ca39581ccc34d279c3d316de7aa20179d3709aca89788a099145aaf77e4bd7c11d57b4d8903cd76732b07792556bdc9f76d4a8b2cb0bbaaef1e5d5da5a3c08483714a0ad02dd516078b9ee8e7df9050c7d10d7aabe9055c3f6d02ad86923be20a705f8910d80b24e2250e81965dda7cf0167721922981cea1a0d53cb8a19fea1a80f454a6e10461636af3b931bdf61250f3eb1fe9d23c35346bf5c147b0b0537210ea0435e4047b7d33ab45b94f363e1caa22816ce395450a57f6624d82dca320ccb55e12dff6c688a29eba97eda0b823619a668328f1b18613729bd9f9093746b20886f2535eab369e4a760d474c2a12d2d9a3d77787cfae1d44f89442719cbd01cdd8a1198e67578015d0466183eb9f6c9eb6a6ab0aabf83489876d2dc236aa844702fb12a167a444ce892972b8e601da9a2ae95c574a015583909c6c26d4c6d4f2c05a8b4ca7295ac8e1b60d67a71000d4833dcca19f0f077719c2178f2c0fae102c24425e10f830c852b7a163cff6ed04b463f0aff5eaf0f314983bdc8ab63b82cd67ee27c783171853bcff9e8e3879c371b8608e7bd2ab4db211ae3d8a09f406c7303a785eab9d219d6e209dd4dc290158c769eaea81168f219da3b6b79f9fc5c8ba1267ef1ec8a8aa630cb8c7d2bb59d7fe6211754e912948aa0d665094b8df5baa3f1b5c298061f75cae9a021b042e481a81f059c2e634a0cdc29df237125d06944a9532f87763974cc5d534af32d2bbd991086b846d646bb5ef5cbacd524f61156a421ef18c60968001bca1a6aa11655a91d4348e8b1a71863114d44aefcf8feccaae51e10f3a5a4da202e2a46455085ed78d65a3c75b0267590d8edea005df20acb23e7b8c5a96e2b089152b180f849ba17005cea57ae8994c3a5988029ba8d58256956751455fa207c61a11b20ee8d647b322576dfe7eb5ae0255da378238a635ff1ea57fd95c9b7b987ef095c7c8be79bdcc3f7095d7e8af34defe1fb842ebec5f26deff17d4297df62f9b6f7f27d42175fb17c9b7bf93e81cb4ff17cdbbd7c9fd0e5a778beedbd7c9fc0e5533cdff45ebe4ee8e25b3cdf7a2fdf2774f12d9e5f29445b26b725749672919e0fa834d7f775e2e2c03c37947afb55946ceabeab271cae79dd561e574c695298cc01d13ab62bded732b0c4884284891c32c471bea2ad5a0639a106af4f85de9f2402f292c6317bc0d3a3f37b2a6d04ebb9fe3160f6298f80b3d5f90520b453daae2de32130a513a5d87e4f6b2a4f6ed2427342746db2ebe6223511805d9a8e33f2a4440d0b6915b8d25ebf7e1ce84ec3ddb230c46cbf77bf215db77b6edd63edcc6897b3a702222f6c9e7d5b1c9f8ae1b456c7a156b1d6cb1b866ca9071643cfdb66e6ac481be4710b27e823da7a275b86e8cbe09f3b4c92ac7b749936dd46838037752ef56106afd2607a82d6910474788bff9e452d6126efb2b7261176e8c80d96007b14e93a636225660f9b3c055716c1a87a1ad36342ad35554da950c726969932f53e328725f414c891f173c38c892376230c7b3f39a2979500f0b5d3e748bec0a39524ab40f54686149236e3022b908cd8513a3a12ec0e9810d8ae5b0af556d9b744e1a4255a8c85ff349a2fc9b923bcae7b4b4cbb04f011569470952a84a438d3edd4cac485dc1d2f62c9edade554b037a731999ef4fbe4433e241a668d01f016fc8614ff397e350685201d83bf88ca528e49e17163f3ff8c935c7e1571594e140417410a12059089416dc19d9a071564675d2e34977130e4fe0cca6b3dc2d180ae464569977dcbe397221b3826604ef537c264a6b2fc50a1b5e5405e8c311243b37e0902c92e969e703d2460f5728508c5f2eb7cc1233e465a2d6c7f2125a6b7672f5dc84fb12d3fb5328575f718ece994cbdd63f52b7eef112bc98c5a8c8c92c81cfe7c6ae9cd747b1ad152e45462fd264157f3fec47a74931499d43ad11fe105d60839f986c60cbc9b2444c4ab3e64974cbda46ba136560d6e2564e6049996f31757dc4dbf0f6d35584f9eb997d93d6d88bb765d594ecd61010e4c1cbed1842c887a99dffb522bc92222b37e5f67fda5c28fe7c5cce97d899564119999bcaf9dc9fa48810b7fa694f9c14ab3fe643eefcb5b29f7b9e6cdaca163c0fdd93a824293d6616e0628d9e514c37e17688cf69c0fbe28cd25493eb7fb956e1ecd73feecc566824285dc006999a0e61b72a62793f948b840e2ded895f5c98a0e7cb707169856b94e6c75bf4430f3193eff6988598063595b62ae9d4f4986906024e20be37161f8aaf90a294849d7d18ac32e96a61a9ca5646cdcac22e5f542cc530e975a1c47bd8fa4224ae224e21b53dd0162494d9405b97916adbc442709f1550f75a81d620b380e24ba94c1a2b89fa910e74a24020e338430ba548d086626e750edfa838f4b621e45c32c9897858ed0d1a883208c8b1666f41fa00d44da4d040feae804d85852248fc0977d6101ec1f4539bb6a12cc3c6ef725857392980f4accf0c24f500201a6116374d7bf67324f0a577f8e13f3039844a073eac1e5389f8e07ed103d90f3b476f2e4ffb36b4edce757754764076e77ca970f82eb6481f451687ff4acb47016412ecd69e2d46951e9105f0a9a1a6dc9cbd00b86ba945874434a0abe853205612cb4b08b2ce4d61d4a5f40702f8429e940501f155c33b7af2a96a29197f22657cc15c7a88915f969730382d359d5f6741f972f271a1fe4e41b56e2a5fa3fc6a74ce4c88b742c888d3e1599763577329ed2bc5bcd9562477305ad26c1d3e1e927ab431276e1926328f96ac44371c7a9f6ac442e6d4f17b1086ca5a5cc8dd55cada36a271e5cf44ba79086c04c24f08584c09c89ea67e6f9f5dfdbc59d3e6f2cbb0ca73a99491de06e5113373caf6f22787cbf7cc672080ab1e28e826ff6adb245ef2909cceb854a7fd65f038db5fc8c2b63ff453950d76b38022be459928f9d28d9d41c07eb37a48c6d100ec3c58c810afaee691827673855e7b5aad540d7fe801615efbf2a636817d3dd637ca5735798bc5a2f76e71866b4e3e35e191e8830cb3104282a16522922c65c3d18eb5069f3016c4131f8b053f1ce7e25b5d32b2491797d50e917189323eb3cf66f5d216456872fc02e17401e4f642ef5620c61f7920c3b244c65509839b0b1af3f41b1f24ca09a722b8519565ceb819cf56d209787bfa52dd9bf77fcf64406e31c00b749e91a12e01012b34da57c3177856251250e026ee450a9af16d29273df3c3a6c9a239da6a418bc086ddec55ed7a835a058e3d41c5b02744b7649c7274bb586a9e02c80f2fd7c1fa784d165118b503c4a9800085e1e9380733ca8f850ef6041068180b038db2643c32715c11ea5c0febde60413e339e25527cb40fa1ad89a183b2e3e5c7d7b2a1702708202be5146810aa9ba705e51aa661ffcbea232eba56a11c6a7a455510561f0161372de2caef7259246b78c14faf5103ea06d53f64dd99bb66d5a75ef80bf42b0230342fd3a441a82039bb3feaed4de83153ba3f8f344a38d0f0d1429877cdec00588d958fb97c283eedfedad94dd16b1ece14c2450b6888c5b2b81a4e8283c94a5aad41326218e6dd59bc7a90a0b0ea793fc5f6dbedc104c2b9a335082b6d13344525997bfcb13c5db37f4f9d364fd4cbecf0bf39d9698a0efbf202d11e5fb9cf71b5b29b500f43f9b039db88244a743789f9b65a5e32e87d0243718704451c507f07529817afb8bbb646445a34e15711360728c9914a4d62f20162e8c6b2fbd341139ec7401ee88e0392395ca3d2d21282d05310a936662cf27ee1e559124a6cf4a5acc8e289d35882986567153ae5a001a65dc4be916627c1ec2b8493f053e54a58365b4eab517c5fdc56afe836ba42a2c43701ffe84c87e881b114649be54715ed52101fb3ed0ab273dc8743ed57fd69e3702ccbb6b08aa466f3cf3068162fc48dc53daac503cd1167b7a0b18262c0e3ae19aa3035d6341c2249f8e6c3d7fa202d977a6ee27658ff02584f57b65a9d6ad8e9c927162f775ca19e3590f795809435f050e50060f1600dea824d01c9ab43c7fb1a2b155ed999338f684efac9d249aaf2284a289d3f3831de87023a237b3e0876101e8b2f3fa0b516ab143453bd0514cef344f48f250b2fcca683c0842b9f5921de05282972dcaea2366d52cf63f329c719772ff0ff89410635c2c9cfc6559ccc1e41f2aa1d501323653a951dfe057cd1d3a8d890777aacd84cc82e27ae06b094bad3ff50fec3595b4cb5ad1c62d0e1ce2242c5c29052c4b025a93655159309c19a5038d6806873ba9b2f48833501b957d17fdd5ba5af9b444bf00d94dd6d7ffe96a0dfdba66e3e70832f713c79f19d0a0b9064fd0094cd5a5f49212a899d700342425fd9f90d865b38410b2f7de52ee2da59452a62403f304f90404054e5235a6200142a47b81c513444a4084c913539c2409c284043e4c9ca842f3d5cd29375a0144bbd9c9a7f824b38d0eb351e494735a65a2e1f2cff012e61a2bc105d716ece383ea91f0480454b3822255a1cdc77bc0094e8c2f0916d88e50e44897a30856b104dc193ed987967bf8a0a25802b40f85b20ff65bf681e525a2967564e46ec0f3a8b297d8cdc9b0fb82443caa63456c0321d54d2a7e20ecc00f84db850d1f7dd1fda5aa584ff9dc2449faa0d2dd3b43ea99de5cbc7cd373070102638c8db59428a31319c20ba1d06d75afa0be01c897b0e17c083d4a94de1d9b30678e5546777f978e3b2f2127094a29abb410091352d19da86727b3522ce3b74bc1be197a872f57e7e14d84b5d9c517bf9af8b1c9c45ebbabf665abed8343603637f7de9bec6b743c283f403ed0bdda3303da7703cb0fd7fcfb07fb8ad4b261b555a3d3602182776b40269ec01705092a839b9931438d5ac4566590000e0ef01cf1f2b91f94498f20380f524aff59f12afcd8ae15f9520a20c85fe5847433f731e1216283e350b07bd50c8d8b17f57dadf05313b08f0145b6558c4d80ee1b14c043077ac007d58ebf24dd5b8455848581a6cc45ac87e1b0ac05cc3965ce54c97b1941a9a82cd2c31edb3db08639e35f71d247a9bc11ad3012772a8f20399755755650465c1b32619f5cbdc74cdbd34a29e79bf8c9782b56739c9152813e04db3c1d03c215d6655aecb6818510fa7b0d7d879eeb2dbb0413c21d0649783d6f1110917a560ee0da7b2d9be81a33ba2092e86c766e27e32b88433a1b24da5f36a4e23a7fd0d15aadf5547e793f988de1077efb2a6693811e0e30c1d3dd64186b20cd4a70dd8430fa126fbac4c24895b61bd73a6b8db6355567f5b6f56bbadb6b8d5d25b6bd8ccfb31bd65e965b96b4dc92f2fa4bde9827a22ce0ad58f49ba84d59cb184cdf0cc3b0189918990c75b17bb58bbaa31a1313b24a3731e6223d0a1513f33526a6b798980b83a22e3746267b1b32195663aa155d514daa33dd800edd5ef446d81636bdb83c4782d716d25a48f0cac8abc030204435f0e3d31a93fe86dbdeebd65a6bb1530ea46451054b152c52eebdd8b5f6312518865d58d7ecba5eabd55aabd6afd65535ecaa19866115bb461ae79a73c6b945e6c19f73aeab6c3106aa3d6f5818c07866a0757678a0942b80e41e1ff37a6bcea653c90c08e14a0ae923173b943e22a491903623f2af8cd07b2e41394d145028d1ae97da04b861a4736bea940987ce1be3f032b5171780e501b1e95fac80a18a211d0c4f189e74a8234f3a1db000c1d2d3edd03df1f9d1bd088314abef146210d2a7ef0be563faf92b936365ae364df11ae25b60606060443030303139261493e1189c6362501b0a85b31617ce1c40e631ee4f7f3a61a7bf4ef64fa7d3db130c8c8ccc8be9af9877f2cf301af04d8db295e32c11eac2a83a2f979bd89d1e454730d78542c1a0500f852f0bf5a8eb4b6f4ff892fda4132aa2ae5377d7c9c663d79bf0cb0b874b23d16356c534ddfd966f2165d8cd701a65e4dd4422c2dd4a36d1519a65b5d6fab1d66e1c2fc63963dcdec4de9baf9d9a96f1ad3b97a6e59e5adf3baffc138f1a1b37341adaaa1bb7b5b2dab26d67671c7bbbf18d8db7117a7b63c346c8beddf2cacecf266edc43675996953b5f35d3ac2a169bd6c0d699d22ab195d8ba99731cc9102aa2e051ed442a53a080894a678999f7404ae523a502fa01ab0881563a77f2a405a4d2c29d780f2d564de4277b93dc44bc876c0a123f580be18ad7ba2e11f6d11d63e830ecf5f398ed80c1aacd735eebf75e0d610c301b56fe8e9653679a6f78d1d1eaf24a37752a4f3462de74a8334eeccf561c3bc6bd6a8cf1c978e1fab81c1c0e42ce508431ce07e7ac6ed3f161edfb32c977c886a8629690b54d7a002ee3e2e2623aa1605e5c5c3a0a1b3c42bf2099644aa1536a5391e27df158ab63b464b1c3edaba5b817c4e079876f5be88aeac846eb2cb0743b48107a1bd9b23846e349a1b56177f49e3499f7ac820129e964000202d463e554c3b039db85856c97ef582d39ac3f5916274289cd07fd615948b3560b85429ae8eda6894259b665969665d3e7152eac56e9602831624408ac57498df7624ec88dd43dd83aea331a060f14cbf8c16b907171abd7a4bbe263c912c4c6002f3eadb59fb558965d6b017089feda524d808b6d227cc244a2cd5e1bda4657d3429add34ab5179419949a8d6837446786200a58bc11278e783ad64839fea18f55dd06c20874a5351b0c9bacaa1ab4fcc76a273d8303bd980ee7dba233062e5ba6db066df04b830f0a4c38011bacc11b0fd5b5847080354782c425385708f566df97465c9a1873606958feea9348b2720cb57300b023cac9c00c33de8edd12aa513ecccbe1d773b50e227f949745073dc49137f62d083851453e28574ce39659c53ba15285d96c28814423a192c5d151814217633340f7d0b721823ec6094620a5dc7a1de638d7c396235ba836f083844ca21109bb5864d518fe2251af5b013fae701f01765d986a115853050a665d847e818a695c69f4de594b8ff3a94c25258afbe32c491f00667c6283d3e84414127e58ea638ca976fe365669cd29d064a9e0803ee53a93ab3c93023aba01cbe7e1b10c16b03d8a6c196d960b35ad760eb2e8817011f4c3a587105aa002f7e900f81f703050ad00161891d8278de0f329f00de60d39ed33e92d41fcbb2c0070a175cc15e70d587c90bf595e623b6ac7be7bd3aeda2946643587a65d4aa56cd34a625ad6a51226ab5aa8e1a4b6fb6a4953cb07bad1eeddb3bebe33d1c56d08ada052f100f00c2863d76e392583ed97ca35a5a694d1d02565aeda521ffb27f5fda692f1827beac4a35953391a57290c1c3e5d68a752b3fd826a4105af1c1871e9417144474b26db15bd52375090dae7f73018f7f7da7de0ea5c08b85f4fe429d416d44a090ea6dc0dfc0820eeed011c687399121af09314af8324a29e37b04e26310baa9c0d5e7c478436ea173bca345661a7e033d3f8eed82dc783c3283100fd91e050bdb2df7eeeeeced566ba8eaff9e7763813bb62e47e4a15898c8e2b4e6bd5bdd6d6a77b363eea0f31fc6e9fa2ab6eefd5e7d771c3be82b8743e4d09836f0bdbfe98516f874ef6179ef0de0c54fc770d151b41099154c8634e1044e82044569011114f40c8902f610090264084b469cea2ef8f1baf0de7cd53caf05581fad9aaf33a3ce0aba9a604ad432ee916d1ab4d36734c2ad822df440f379aef7aaa03f3d62b4e29a1c90e22426762fdad7cab25548879198e0473753022a51a455ebacb356596b6562821fecc69580d723fbed5b35c32b2ee2b3d1dc55a94dadb3c9c372fa83c9097a66ac6bbf8323fb1d929b4cd9ccf0c59193a379bc46e8c0c068527b0dc813706ed826e7e89eb08ee831fc54a317a52009aa61f474c9d71cebbcbc0ef7392d27ac9393a3f3a65103445983c15a96d8084c7e689475aa11a2d731612cefe864386ede3ec3a19737df9fb87f01f781e4f49427d13d4639aed2a918e7b8e01ea71902d9452742d0f302345c3230a7978de4a2c50d2dbef48265605e4cde128231ba2d00702ab5cc8462d0c8d480d25eb4844633602d647ea6020087542a064d0baec2b0a1748261c3a924434b4a7b1a7e8699af214646d302c38832369c5a5eb8b821b7c03236bc897321b5e4af013f47639f860c747f8697e177647ea685e7fcd8ff6532901693e5ad9e30d3b599e3665cac4a9a22095bf0c0bc9ac0a65024ec6467c0c4947e13911ef6f2747482dfb26d258ef42dd99bb616659f9568625e4432506f2abdd4d801aad8a332d03cc93765a0eb2503594faaa22fed6cdfd239393ba40cd4991b5d1925ca4056de4235cf6c346b1968e69c9d2c03492ceedc0c643390e7c7c3f208e4dbaf6650a48b43b6d81f955e8a981ec371f92f896037f7f14d2f1767ef6cb9d295422e9985d12dc77510651da226a1ac2314da361c1d59967194e4d081613907121c3aeecd38861ca1c3da7c041109e8b8ae2c012bebb0ac5aadd0ac83be0e3a27151d9e75c47ce33f3c3f8fc91441ba7fede7ca0f91d290d10c925ce4c812d7e17a23dc5592513f5c2d45979745e6806a480d5403ad7c876de2237165a3e133606c29f88bd23f54d8fc0adcc18778addbc6716dc50685273585be72a5b1945c464246547c463fbc07d28fb8201ed4d2c371ef4980682def5178b8924bf6213f47bc09d7a1e54535cabec489438135c0201fe295c7e62e2eb028928c8d06e331d7e8458ba678ba2297122c71a1513789b6689b0d59911dcd4dc33cbb345166c9743b5ae405adc5e60e97ce06075259b10b391c8fb3bb64b6b25dfd0de0f5a81b51d10cc92d6ad03377ecdefab2e3a55bd95c24a7879613aba95b8dba9cd343a6e6b73352d199735ec61715c9c7a4f200f0b876aacf1eeb30f04193ce59a084051d0d0f94d0523658851c54e99a090e84742eba269a8d0d193dac18118423dd2a880d38e1080e143c39a4d0048fcd4f13375640b1a1816ea5c40896d80471598122888b8aa02c41b5b57f4d85abc39201924ecac7b9ae9650dc8048779fbb15fb36b6376eee1d0fa7a3d048bc1671270e24620d82e2cfc4c00103890a481b2c91de32e8ee0cfbbdd90ee3ed9c0d74393a3b3bf3299d9e573af0df004e84c398aa41338bd870f0203f858427079a996f70b3e69301c6d059743d86ced259dc799e8bc7a4064964bf33e1d04a7c0d852d6e2fb403f489102f40533d0861911831114b5a823d87412f765876357fcfc68b5c67bb3d0a0ba1437726bcf34643ec1e6263c4797692ae9d86bb0371f3a5654dd32aceb44ccbb4bbba197e9541d8d74fd87e6096df575607f11e88eb2b8d4ce3e929b6c8f351c3b9175e7c736feee600df7cd0b46c75dd278546b6d151f060c2fdd6397327b3a623b05693c176f74dc7c85d9785bb420c2186966607cbc2747e8d74c620ecdacb921886611886615aa6655a86511fd8cbaa545a6badb5d66217bbd8b5730456a5754acbb22ccbb22c7bd9cb5e569c627d4af828a594525adf2b6c98033b7f3e0183423fdad4a2cfaa99caf619945c4aa57721954aa552e98a67df7bef89f04d8f44db6bd6896df4fc47a3f7519095ab3bdf932f71109e445fe0a2616b725c975c1dc1d2c9f9d5bdbae72861bbbff51b3396cce0c99ba2739f7146197dac5fb036b6516185fe5e7b4a1aeb8bb5e1e3483be53ac92ed6dcd5db67d7c08f394a8fb9c8d5448856ec738f9946f968b422b6bcd6788d8df0024e84ac59d2982f738dbfaa15432a6bad5446a7d23d5ee99ef12c81b4a5130d35cd5d00f65e57374c75ee9d5ff5239dcd12598a64d0c6c3355650bafef13a65eb7a37eb2b89c3fea2b4cf3ef4dbe8453442ccc01a24fc23fc8308a3427806c70349c696c34dd10c39357de23a7068aa1f13917ab154ea5eea71fc1ca949b6255c3b7951523cb56e90e352564079014c01905a8b5c4fed858920a144d02955744dba08042cec7c1e747c581f2ce7fed3903df17dcccf7049fbe040db3ba6ac18f6b957f6f1b01b3b3c49d4adbfd6ed75addbc671ff3434a9d47b72faec410994bf90fd1d1b76369aaffa9f2625638913282fca0b923ca85bcf0adb6bd2f3a402979340669170b98ec8c12a0e6a958cb0386b95f2f6a7222e674d9926438b709cb557e9757c78929661f4753067afab5a3a234bb57fecbab55aa71cf32d2df4b2d9d75bab6599ae554d266cabe984faab62af93756226b5f5429d4cd9e2727d0e6651599003aa52f4a1e547a29d6dc641a0d222122256544195a1b09f3a3767414597d0812af450d9ed89c10a097ea8ae2c5e2882165456db608a155650d50a3f90832e545105000bf1c443fa8df27afe1c41245a438cc811226b102180405844d4c40fab1c3f668cb228bffdfad6cf29a6f40fc7e09557a4df5760e2d33f7ab66ebb725c2e54ecb40a489c538e5117ca3960dd9665582e68aa529199691a4b85877984ed2ecc886aa795d11959bd9f91441c47ba77db5e9c9894387270f31be932fa885b3db011e686c2772e9bf26fe2575347e797ba1bcb5a6f6da4eee666d8e3dcbf37375a167de871b4ee66db5037a34ce23a976f193d9bbe82c3752fcffdd6c9c03cc8612fe1e7824f2dd844c22f238c126151088f36dca2615286330c6b176f165f17b615538aebc425895d22e6209ef1710d9990a2b2e4697a80d96634d1df1042bd649c09db5c4e2d48d826c2b04e0e4cde91a124f31bb78942598697d14c3060916de344a2972cc30c34b4c033d9a493da449c2814ca5a5c5cd840f37292f9d789f139240a651956ca3a393b2f76389798cfaf33ca42598661a8edb14cd3522f2ea49618a51007e3858b93c9c5a9d0b1a1adf83b33c83043df5bd8ef3cbfe27f19ebe39b56f2af0e0afb93c92f2bd7506d8151e564d4a76aa79d48029614bce83355d85fd958eb79ec1aafdc268972f5aa16add3a9e8362a8f10862074da8c5b10724509ba4c767c420325c0c4b7692b34a1481620366d5a867db69755e99479d5590999f76abda89a48040b39494ff572c1a1d90b8e08d552728f10c69673146bb5aaed6b75140b75dadc26691b499274f1d2c5b9299e22aaa5635cc669c3276ccc546ef2317b642e3d403b5e680f544925aab3527badca922afb3ea0ea0a1addc7b40c85a9362855219e96ab1a451fb187cc12520f3d3d3eae1e9fa97a791fde43e54364eabcbdf782511c8629e118172cd3825f48d834c227117609e1d286390ddf0c6318ce2ed62cb62e7c59d8563c29a61357894911b7401c1dcb87c30ee730684af7e8d09dc648698c74ca08fdb55f615f6c21cd84e0c790281472f9d175a1ef32b2fe1a5517fbb705fb8c54a38d20c789564d22ad6ab64dc32fc370bc16d7cbc2a84af19d127fcc1c4ea1d66de3b8afa97a2b8d2e3200234ac668d15c60922ceb6bccafc066559a533266fc8cb9081c48b48432697c870c384f4a46134b56fd9ee4890280ee48f4094a42a2029ba072754b3c0815acacda493784483744d24bda482be99f4e4243e34208193cd4c8e187d48c95fce97e8cc827328954229d4824b2893c2297389d1006d9202942587f36216fad2fa948f9d3a7563ab38412258893116669455e993c2ea1cc21ed970bf67111072ec5cd94422318019bd5a8946cdd78a52200080a739400281e914884f2340dd4580f54e70e946944e1208f71905300196080c0000c0008080001100099bb1288319211b492053d72e0c6dd82d51c853722fff043610da22f4679e1c94fbdb5889530706ebe35e85c29afddbad10d3094a64db83795d5200cd49066180dcdbc02fdc0122ce4e1658ff14cb04b409fd1dfa9127adac5abf34ea2d4333cbdd9437e77b7853ec54eca066b82f08713ca18e06d0344703aae70e1fc556fd340365c218486e3f5a8204eca89aef767e4826740e2a52a623288f4e4090b97fbe8e5f7ce624a3e3aa9b695ab2b376611693f5e6fb458cc5afdbe48703229a47119ec379ca535099b899f5eb5b3af4750f7a0cae046f00ce22eae5747521e13de88ee91c2593aa5431d774b1445b962361ead2f9a55fc446af7e474e8070ec3f5ac39bf906d1cac303cb47d744802fbc4ced6e2f0d4809372207c0237a3bd1d6d2c2f14f64fd48f16b6d2d599b9580b8a912bb5a3dafb518798e39f05980645d02b2133d635bd86b4a6b9acdca33c0a4278959b2f4cf640d21ee768324e0aada9d0270ae82cf4af26ab44c13877e2656cfa6e0ea2ebe78e62346946401fa64ac829512e8a2f57412a25040a56c0446a4e49e0133176a1b2e42db1c107234d39eacf4792bc1a96e7acf39612965356910c09ce9161fb612e1078da3643fd9d384d884832d47ef9ea1ae8c5e799934ae0cec8ee8791590b43786601701cfaf5355c1dd8a8ac059ec39bee0d40391be1a2f88325de907751ecd9ebe28cdcfb145c9694d82eb401abe06950acd8da0d2a4389b4c810db6d63b8eae828d492c516bb9f7b7114bd7a931980195ad094a3665ec23a5a325ba6619f9cfcbcea59a0a1946a308017417bf6e1ec90ae342c42fcd30df340f3bf56ca421bfb3d6e58a2eb71eb57509375819d813ffc7f37503856e6d18194459325fb9f55bfff52ef8181ed63ea1dc7963dc277a3aa8dff732dc0af33a4d08b6be929a3dc70f53dea5939b72edb82a8d125abb548efe53fb245f2f65e848ca5103115313b08083e95bb2ca472101679d17ab2e6b26a2e56ff3da52c5614dbf17a2a29c2158c2cd85961bf25353c19dfc818a357cbae2f579e47333beca47a8740158de6936b099fcbb97ec206cb932cc5202046dea15602a968fa567253e788c5aecaec78f8124ab3ca1c454ca2520322b76e9508a2c8815f8e5855c489389972f6041173d480732652d37c13ffe6c8a023197c10a515a928816f048d04a979cfeff9a098b3e8847b487ef8778dd14947fe4924a102f22268543c5349393bb38c525e66670c13e3f74b1cf14cc717a38109eeca895962016a5fabd05ac22006b73374b0bafab18c98decbea9974c7c0cbd0845511a7cb7836724f2416a7b60eb012ebdd300851f3952960ce59662ec202c3f2d1e41942ad73a58fd15589d1a6ceb3c8984fd5424c584ad09e22990bb13218dd6018cade47ca80203787c4f9481ea90e707bcf6bc9264618234522b5e37f2454d1f44cbb03ec261e562858d116345f7c212f7e15b8a2f218579261d3cdd15231390fab8c7521aeb0294087a94f6d0fbbcdae1272aa564fa6118d79befd86383832b3bd887c0568da9be3f1d30cc2e04b1874c8f0146b7b96baa8ad1221b9a4a1317791f4d7fb9ef04330c0545468154329abda6c9270801242bd28daa8cfdece04d236685e14df99d354cc7f985d96dbf57afcc7beceb6d6c411ec415eb1391d0a16a84842679fdb7e77be625a11f6d005edeca54eba9ee6a4c713d41377bcc5e24001f175d53cce68aa8bea5a7501c11f6b37b22210689ce4b8e03898cac30fcc7968c90f37ee34049192118664f71f86048b9183836ef5cb1f276e78cd9e5ea7c80720a027ad6b23f8823ea477056c6e3a1260579b57856e6ec4deb4a16794dc92a00707ff4e89ecc25ed812c3e9320d800a317eb81fa657b1726901efc06c374a742358c865cbac223cf6903810f84145c7106aa0028e3e6861bf77369d5cfd37725b4dc9c0dd7c76f9ec2add3b9327ddded9f736f398d0ebdedc91b5dc449d4126a9a8a5debdaf8f568c21ad8dd8027c932c2defb149e02ce278f00c9ce012aab24d04af23fd43ea5de293059ccffc93971d8563d309f0662caf32eaaf0b3d05474720ea625d0a026061813399753d1b014056047b3a84d495f0e5a4288de78b7eef45ab4bbc051f7d30c7c256484ba024086e13d98d354d0648c0609c1f175162b3ec4d1dd9f228c61b3197a186ec20d682238ec87ed9fe2669324d360e1916ab5b6ace8a0bad302e91194b3221a16799fe06a7d68a65a490382d65da10b666a18685670add5f161a25d4acbdb66b06e26bde7d2cc921878353644e40310d999187454d61a45d4711ac85f1376cb9e5b66f018a36a91a8c2e9320368a43c41282c38de4c88206397377162c7758a4f636cadc0e635a1922594f59a1161b6e48968aa4849b4c20f92a28667c9fc7dd85b4779a12fc9d970307b7935625d241ce1aee3df676062b2f89ede4a17ebb07601f4c00ad2fe15c3562123065557feb4ada756e5530c5320c22cbfa5daf30c9f24e13b95fc6817d37e247edf801d7ff6c1196683a7b26b048f59143ad0e09b95886e958ba9a5aa0a12b054be381cfa3ee11cccf4994205df8007055fcc429df2bce7d82b550d6c974eced3c29a54acd13bf0a64653f3529f1cb0acfa6481b20e7955f14c07426743aca09248a600a4925b5da49d931e05433c14c5f412354141990b79145350bba1b912405e94197f096aa137cb6ba6931476fd9850e211db73d7b0745aa424ea366ebf63895202d2d00a3ec8ffeba6040a0936046f07e41800905dbff1152203c074726e5b13095f1001abf0168b78b7c32234a909187e29178031dd40494df047c61d349fd389ee160202ea818e1cb7ce00e03a30aba227c3cf46b199e317a5125c517c06136a8804f8483ca4829a09dee0bbeca5c8b494fb907572becc06b4466233bae2e15237d8afe9536cc5368729824b7761acaef48e9c7cd7887a4eb5e6b093da93bc6291be3ebce4628c05596eb1cbef2db3d6147c5ce5d47be798741698eef843fa4fd9d41f56cab9840f0c2045754ad6062e1d12e7999f55958493d614af3b013acd0e989d6c40ffc6502e4b1136dcbbe896be609c967f555eebe0ae1ae431d255e1aa8445cd03de5b0d58acc68b0b286662c90d848cab5533005f7c42b7e64a9c4e1ea9d1374fa2499bb18ae9d437b37447ba745b9fad3ea3908855652ad916432d249b2d5c54c2bb7c083cb138e540ebc63c51fdade5de4dc157db33e4315742fa0101ef929f739dfce7456360639f13097092e4bc51d62399308d392b4cdadf18df45ed13cc62e3ed7b28615509b6394c662ea8e46669b0408fd7bd4c34b941f33cd793bafbee4de6372af8806f309a4b2e5d6f936d225904468631907531232076268475df8b63605689a9f1c799b305304017d4f3f634abb2a987fd4de37aa2afc7402b8e74aaa0f73111f44a4499f12c8093c04015c07224b2145ec2d36322636a4b1828b9a296c6d0922ab18c1ce2a7ac1eaca5c01fa58297aa22af989d48aa8cce459eb73ad220152c50f40f4ccc4ed718dd56c7d1b43472fa538a697832be908ba1d421f9eca3fee0199e3cbb49426c88debdd06d0902e4a4913f432c32b2263f48901f4038cf25dd24bb675e166cf82d668824e39c7cfb0eb865823eb3a50279fabf78ad6e5192180df87933bca21e791130540998ebc83e76d2e6d18c5e13ddd046f799618bc40f0363e7ca3ba8e5620d589b5c4f49495eea6ecbe520af6dc9d6787652f61439ec981201258781f9095b266cfbd4903a5e6ca2c299b1362db0c2c748c7786341eba96f4e104de4dd59eb89ead0d1bea879ee838d8acdbabcb5de70e750a325ea2d014a0dbc99fff8328c2a40afdfc82666f444795957433b4fa0e238001627583b0cc5848fc51fac83317178564950be0f14c5a8435cfb42d422198767ff844adc0f9cc9e0b6c4fed4dc229fa63c1270c71ff8818491baf988b66f2c6b37b0b43cf4e69347c0cfebe65b464b93620af43b5a8d9c9687d7f24fffe9f4d21ee8563dcf56c0e04641b4612359dc085501cafe3f9f7829438ccebc14caee5c920fd4e641b7fd10b3995a19a627a33d0f219a7f2af136e36ec68cc61df505415a367697a185c07209e3ecb76a3594564e5dad9030af0742464e0fdfecbed66715ccdc6192bb62a6472720b1fd57eb468362766fd8dc2014946685e3a8571cf31f005dd190d52543efa9655cc5463c20956fb477e054791ba2665d5714e9130e276e95e42100ffc73b597221d8275b51b9281e8e6ffe77a6aa21ef134d4d3baadf827a61dcefe22b3f15cad73ae31b02884dd9490a851f2350f125a163c8e883a079705b0dee80c50d07e0f4bf68270e634f40a76591ee6c6e0e603bf1075482a05ec2dac7ab1f35a555cecb8de337bdfc2a26e1ef9aa9275eae62980dd4775cc203bad6d542051419c9b2e4414a6994b7804b92d874f018065baf22db645bbd4d5cd717a233655fc3fd54c05bd62ebbb82eff1a07c04db431cfe834f00c75e2eb596969aa882f909452688187396f0b473af06b94ace30a630d4752f3c098039e66467101259c99ef3419b164e701f8187c9fdb316786e185086a4916c6e6a3a6fbac0368a1aad6db787cd9f54c9db8e2cd80a9b5e824a518417944fa203a210ac1b19a94766cfd67f272e278a212004f208350a904fde4f7610005c2e391c7a8a4b03068436f7b2962367aacf151b3668c6154675440997121d7c2b5181f47947e334dd12ba2e3196931f569e2d9290072d1c760d0fb5777eef765924118ca9374e3813b8d88835a7b9b430115246e70f9eaf09ee48489c34ea2ffb938ffa42b03e211f03da3575af0ecbb43be9eea01f64355877c292b4262b981f2396b9b4da9c405819d4f377d526b0958c9d7af5fc3004e4cb08587e5e8e497294fc7a48e400ad1e2ca66a3b0be223d99e33b432168ec11249643292c28b1f8d37e8d724155bdde2c04c1932731f8bcc5c9864339c9419f1a119366969d24faab7949e649f39a993f968ff9100aa5251c8810e544c125b1d4c0f01cd3839ec13bbf89f815e769cd8b160d00d8a16c16035ecbbc2af7d305c6e2d1b68d0a245a8e3f97f66f0f7343b8ecd3115cbc80c78a4be54fc39e0f0b2d80592baee84e8f49c1a7003859852c5d72316f5c29c4dbfe3f06ed5770e807d539b37d96a3097e925c54bf31d807556d0c61e33ade3bd9c5f632653a19e989b6d88f0d669028a2a867cd9e618a05d1d668f424920719b5be966f762c872579bc11c73dc5c93fb70db0382f7340e3d938554e5e95412db3bba8aea5d6c9ab1a91bf6f5404df61ab74bf5a11e2010df48606aad6522c1500b99530a53e41bd0e8e0d5590d34fa4483f6a3c78ae650cadf56b38ad75d92830b624f3a3664d73d131f7f5bd331a83d009aa30c3c96ff14a4e17fda3fe564de68e0d3b0e51f7540e3108b0c40863390b36292b48c636edcbf6d66625e0822941a7fe139284a10a580020f2825bfaf4170b932a5362c44d90f39b960a1b7440076af262ec44072ccbb72d19f6d52e237648e118b71f486d9ef76c820892671840367f8b7dee1cc00603199962d5f26d9880f45a6f1cad899c2870822c4495cd06d4d6d2c93d9019e078c16989e4162b83b325c2aecf2f98325a96771b29448ff2f7a8177e87db5bfe3391027d40506d82067b3f19db6d892281c1f5172a7360aa2ef4fe4ffc85f95d1863f685dd801cd9ae98d419aa55461d440f811423197e14426b01bacfb7275b94060c40bc63b03136469b5f4b07a8fda27bdac8196aa673d99cb39802c5a7d60d610ea81c9032fb44b853e1990491c4bf56f34382ae65a41facaebc28b82084e59db569e583b71306f1419e9f1a1bd2bc1694a86e25c01b77de2522e6eda4c47791350660cc83ef45cd8f8ac764ef870a2846049b9a538c2ad71e0123b709f7437cde87c8c8aa13e719725d7402593b81ea7c9e35f47cc081e3c5ccbb47d85cf7e716e1e670357828cc0afb0bf3586626e26dfc482cf7725736d0bd31af35a6a75d19a15aaca78d6831525a3a896b227089506681eefbb6c10df8c9131cd684b0e46162b662556627f757ac14b4abef9dfc08c686352382d48970fc1a6457961487206ea4332611bbdbaf186e232e76f773a3d8c6085dc73bb369d32f61af948f9a9659a72ccc3022582354a50436b02961242582d93b7c09feada06c5f4c3704753c8e05a4481bd0225022fb0ab8220eb6f521b35500a20e118806b13266656613a00ab387f624134c55cb7cc5882f95d18e8ba639c4dc8661a2ff825f5c7a7bda5057ba21dcc92be9cdac92b4b134f74752e586f0f6fbe84f8bde9f05c9ca0dd1802c1534e02f0052670ca040f82e4b39e4e7859cead34ecff2a17bb83d085f3bbe0b82bb3e402e8edcded59cb605f754e1fcddcbed6df38ae1d4cfac0e0a09ab2364203836db7be9bfc7827757421aa6621d4111806bd3de74e79ced813ec367e209cdf18d485d796c163642a6acde3808cd969b6ba6cbd9b1d90b8602222f5b9d89a151bf0e418af9407ab93e28a9e5e84036f576dc303e5064ed4c00de45422b99ecdf8320ca04cfa73a48dae06df290b9f7c9d2b769792badc9144b2f228f9124982efed030c209e1991d44d8e0f46dc2dd74e9c4143f567a0c63af5253d8612963760991f82b9554c42c421f731409dc73db5f2ae7fb801d08963dff4190f81a4da55d414577731e31a40030b1ca1d2445c5da2936b2c55dffde83ebb8da322a67b75a6a9b0fa602603c7ebe8bade1c4dc7dac642103e5bdc555f39fc269ce9345a34df3b4260537f96e7ce125e22eea1bd9db80ea8a06a6f447296c0687a384504cb7e7b9b63c4c29f7f29300878298389ee88474cfd85f733e3cafa0e56b67fa2f79c2e2e4dafae5c280f612d7711e3841f84be88040329b85111fcd8766ae6c0d054b0180f951a156c53e933eba5863fe5485b4bd6ae4376d5c1c1a2d040627cac33c2e1d927344b835147db1b0e371a1e085c4b457a898954f03a86f47a442e7b8a270e0b3fd105f93c5ccbd36025c58fea81beb8adcddb4781c74b2fc8e2f68dc0f260ddd07a38fc001072beafb37fdc5709825ffdc461c02f5d9095e1b57e1eec84f8ad1ec817b7b579bb28f178e905a5d9be01b0349b1dcdbf29c80d5c2fed30e8e312f8e80bd9ce54cc0f5dcae798971391bc65b37653e43adbf64311e1057fd1581eac7b651f53de78d4b8006741e0008ddeb60ac079f32123e4db29553d4d10179ac742d3c3bf97912eea14eee0289b74388b3d4b66d71b862f5f669d307883f428f488d4d877938db8e379ccfcaf276635417eee5cc201b60b95002f479bc7aaa9c8da666497040bd916ca9e500e0f6747655a9149a7781d3e1500d57384247c4da519f980191299a5f76accc23d3282d58e306460486367d76579087c109f3ea7f92b9e1ed2e1596441892e37e1c52025d3500aed3c97faa1f2db4ecc2f1a9a41c6e4e7daa9ccfb660b09253e951b9443f0a432622ceaf310cfd6965b87466cd274b2f55199bb343ef7a2bb6ac6e1559f9651700aca0bb3ed1f4701fead412d3168d8071374888fcdfd9e8b16588968ccdf318f734615747724d20157be07756c2adadfbb3144584d8b2c3b8935815543b03f67753b83b1432fe6d5fa765bb34ea9c3dc0ad1a913cd1212a9df12a787641253939c3bad7795bb8c6cccc58abc916f60b27374337bf767fe8b409b1e524a2ca6324219215d813d03633af7102e198fab09c24cf1feca3c5ee17f5be1ef1f5aa08604410362799ebd55659d66ccfd5c55e27b0eef0f815f4d078139559a2921cdef82c82f95c66bccb883f44db4545f229b4012d470c979df65c181b945093f680ed62d2d16a13a4da4af03e8fdec08890f448275c2ea065a83117838e35080b63c0626e810791bedb9e190a02fdb7dcb25c7ccc5512b75f53afcf1b8f9bdabe270016b89cd102117a7e93431e07219763634ac6afd53bf06794438bda4430632fb3f736521a18d1d3203ed0f74aaf99cbb36af4956137b034304774e20e9df236bdc7e6310a274f96b2316918e615bac2d8fc553e8742208932d270ed102bea8179f646b015877860033a8a98061872b1862f9330a11b26cdc5dde1912ca4b29513e3f5ffdd6e49c133187200e22f9c73c4445c425201ec7796b336e138e84f03948a88c0a1c591e4e1aa77ae8bea456c6283244a0ccc6d7cd540dad99e071be4992bf421d717824b7634829e5e9549adce6294be820cb9ad57cda671e0751b83ac9e507c1eb4b68122f4747d029c0e143c8527af7ea442361d471656a040582d069ec4312186cb4fdc77eb2e2ee114e2bb41a9310d5b7a96a506bc6dec1bc88916e5312e68a9ab06413d09340f69befae94d834f51c99119a2f038dfa0a11790791e2ecb76bf4403b1347704037b7b5708fffc90decfe99a41a0add4c03e96a085aa4755b508775187a031294a43a5fb300b5f9756ec5dc81c2611983bee4bdb93af6103dd7e89d753d8410a98e8dc0245b70724049992a7dcc6e00699bdcbbd85bd5f139b1e158bb3c08c1e82832b053dbda597c484ff4c880cb8121ae9cacd32233af69c7d706ee7acf0b0d67929110d462390674d377e71329a5bcc5a2fd9803de1c10024726eb3f1b1ec6f0e962c9f9a7a01f6c408b5f01cda724731c8eba6966631770a8842c7aa6b1ecb12f604069ee6fff1d244bd02904e148fc7807cd2620f4330578b2ecfbe107229c6f787a8c70b8ff2592123dde08143c4f909d391bcc260c9d99f1ab43f75a85228806acac0aeee130c21fccdf7e19c89d39370720d48f73f8d04e08ced39fabd0628c983f3fc64889f94c9537b11c390f273c37df6954a8103087814fd00f21ab457626ff0c2cc58a3bc81ef2330d1988eedab13f01fe2a043e795b3a6f86c8fbe40c330fe37f6dd82e0689f021c9e1039e256ff65ec0d0d9a315ce467fa7de7461523c4da0e83d098d55acf5b5f7a1b8cdc3f605831bbf5b5b158a2a10a30f228d71281f56e205182a06318a8598b520bf545148a48a541b3ec306a4d3dcdc7f4f84ab9d68940b44b230efc18c5998ddec5d1991c1c916943d1a4c1fac9669ab72d4861fd67770a656718caf7c182cb12656c24f3317da61c537b5fd1cb975db950eb0cd0527c2e1a015f08f832498d3694a82fcc8e21d215609a23fc577193d09e60b06bd4c0e03c8903fc9060b6475b18417c802f2e6734d911aebe9fa3f0e40013ea70b1f6c09abc2cb0ca96412b9500d7aabd6ef2ae140f0574d23df964dab0f7f6d3519743f5328048569f3cd173f83ae69c85673a252cfaa1fe846580d01625ee8ec9ede357bc25f24bab106ecfb5a7b33c1fe43288697a4caa9a66b1e4ed2d1b4b7bc8dc01e541cf1c61b15cdff26e5092743a0e75863d780d1ea31660fa3ab2525560964de4a4df718e612b7f5829b06df6c79108544bdfd87e11a3dc5c34e2d62d46efe9bb01dc2ffa3d2a2b05d43cd32301efe830109fc99169c5bc74c691200b185c83f87e82a85c4c9335ac51f29976b1f6ac81741142f8738089a99cbf04ea44823c0cc4f0da4f4dc22db0ca028668a469f12d3a3cc5c0333a488dcf39ef28c854a684130aaa7db412012cb2a0bffd4021bcf15b78428fb7ab1c3095092bf3a2807d41eadc1d15384728ae6a1b14cd4c171a7f996a1c9ffd138cc8e076cf713271ff472569179b61d3835799b132382ec8e3a9940e4ead52e1f51fe623d9db2ea5011b28300a8c1597f2fc67eee6da1388f1b1ba0749e99dc6cc6051c31728b69fc7212df8043c00c420699c73f3b447198fe3c48064313c166386d190630a65c52e9f1e1b30b2d31ae0f5875f10f784c13bdb4bfb1b09d38a767453abbe726fbbf673946151a9be4dd3e793b43425731891947e6274618caf83b24f1c695b21ac9c5822605176efa62526c1227b75efcb6306de7eb4c7ea8682c9dd4e76ed4fb873e794a7cc3ad10adbfaeba8062798b3fc62c8514de5dce1dd8d1dfff9b82d4e8d51557da8d2fadc6a62a54741ee8e354044b6089ccb1730e8329597de93cc12855ae0b0601cf9f6166efa893b005603aa46da472ec0616ee57f26914679eea5829c1a79fab55606631d0d8a77db4344487d13078d408e118251b889d84ec004473f49756e204fc0ed1b4d5054e888748e20031602b4985bbc6bf364a77b79eb8d2d1d7d6fd0b0a2c5faf82ea741b0e14ac9ceb631ea1d39f1de00c8f78cdc833950d542eceec7ceef0acbe6375de52084443aaad64718b2cd50baa316884a7ec7053cd2f96923746281530ccf963c8149229bcc0d08765691137d8d0b780251c04a9a803e65247f90cc5f2b22c189cb2ad74dd2c2c7f683e3bc7ed0e9a00d3cfffd9caabd731c26d04a3908908100c995143f76b8a40e0fe289dd0a20c72dc4590a842628079bae769b36160cc77daf91dba523dc749c1014c938040001b6854c710befc33b68cae1a4f0159f64b1688be76624bffa5ebd1801ae03e530217503cfe1ac2a1b2164d93451318c0e0b02aee01f71e3dd770e249f4c902e58ca0507f6f1e8f2621b5fd7ab1b10a62d33eb9d75a19c8a43b1b3687ed737e4e97b14dfa259438d6f0486273cfc3f8ef451107aea82055c7ffb285888da7f4749494ccdecc6beb61c904773e0f08b5265be3df9725871dc3ecd35c245d7d3bda9ad795165f46cb4ea3aaa6313639f1f1233e5abb51b818f9d6fd844d21ebb5a3912db15125641014d473f441e3b10adebfef9521ba320b3e7c4ffc8c2ecc51d9c66b7ae62cc260476e4f4b1542e28020c2126fde74b8fc0c29f9dcc9aeb269614af3fb5932be8ca41d2b25c80f53ab81abb4092bbfd2f1934b589445e8c26ab1f34aa1deae6801df5d0b0e390e6ded99c8f3c903adf5b30467aed74ff38352fe9aee50aa1f880c3f748abd9a61b561270b1a1c9f31178fce245d472671e19bc10b363c6b2e3ae8906476829f7a98d445a340ec491342bed8ba00544e6e8128ae7db0116d226c99b3be0dbe8ca303ae771216e47670062874292f2c1aeb1546dfb29a32ea27ce43f9bb86e1967b69ff799b1d5ea2c9af8445de898fda6ab3278fbc199b5307cd3efd3f452e6ad1e72530a80d95eca50609b1eab440247b06cec61a674ed67dbaf9ae4fd52761973c2435b456b3c10defbef129d3e3eb7b1b3ea3108fd308aa768933e4c6affd653eb2f1f5fa6435e1e3ad082f1940ca997af0f19e515368895ea27ed305e809ac2f960ddb1568a7aa078c774f48e9300f8fc6f2b9fef901de99ea26e1ba6ad2dd1c50ed4111f7a5029a25f6175ce31a1117ae1788be42ab92221a9ea740da2547d35cff6f6cbd442ed2e96cb9084411c543da6114b36fb9878c29c5ceb7a4169a1ffc4e062dc85c7d1620277f109296a54a3d7008971e471c47faf5db9151668526e88d2edac278cc1f6578f4e1ee302f6f043e9b9bff2c1da8d03471659ab1431dbae490d121a8da10f965b1180ad09be5f02e6fc0bb5da501196fd555ab21a6237c339e92b79e09f02f995d3186cd36b8d10682e30337fcdce3086fc4a460f5c7f38eaa21a200513b28f10ca04b98b4dab4592c12650f625d10566f85aa24aeb728986761770d5a8d4995638d311e7026d85cd1b760be4ad8d897653baefcced23495b0f8c67bb4922617e61de35adc35777f4d5dccfd77ca7f7b586cb021697283033380c126095e757666d603b96b5542cbef071627514d4b369b8643b5d758762305d77f3dfe416a82b329e283294918bb43c67a1639acb73418042cfae40c216f43af35b971c3944af1a7ce2166031f52cbc979454bd312a10d7aee4befc81543426f8224e6173edfbe1092f1a3281ff56003e544c4f7daf198ab6d23941ad8876cb223edd97a7dd56a0a367633747c49f8e79bac3608d284a3b8df3ffc90f7bd782f9ba957e785d191425ddec0b3fe5af26c86151e3017ddcd7241b35801111bc00924fe02229fd318aa003f2e289212353eae0a3a891f9b195ba738614f91bfc9b5f8dbbe3ea5fc28f2814d69680180825c1197834b9478c16a6467fa9c36b5ecac27711568c57209efa788cbcf1a07ce430e53a0137ad1b4d53456712aaa740bce3f4d142c29010c438b248111c776f34b78dafa98f7e115e8368059103650cdf6cd7aef93a53b08c489519da67250d6aafd4f263c4824b3bc8544c76a1bc6726e4264111598cee3287abc9396fcf1ae1c9a1b8db48b3d4991127cf68c841a3348deaad04a739904fb10aab54bf9ba02639a8a299e6492a453c4f2e23e9e05894db0975202f337327a0a90201911aa26d7ce69f3d5215d431fe172af7fb2b5d2b9466564908441e501b27019224fec2b855416f07e208684d8422a8dca5fb6064c69d6a65f33c622215a76cdc7d54ff60742de361d98f1739a5d8e0c2891a544a70d299d74f10a89826dd1337f6e1c96c7b07a6460f92e8c6a0628bf8eda4badd67a43b8e877007785912ce3a45735812efdbe0920e24fe285d047821beb7c271114ae4a30497ec7b8e8718fb7af3d4553b6296130af6725204713a6d63bf8d3fc59f0e9006506627b587bdccdad755d2e5e40a8a90d5ceaee46897fcf8affe9f5d6c910f0e975bb7a7f5a46bd6c45d5807c35066fb2e5bdf6b23382d71a6e49d870dcabe6a881f71653064fabd7e177b27779b8fa54d5c9244b66551fed2b8d32a2a3d5334562b90d552f5e5bcb82aceb9ebe2cc51d4b333d7cfb7e89e65d6e9d95da9c43e9ede4ea8f1a6c3d8c1e7f0feeb460db2f481a0bdfc3ae373b70040eba633a40dce7259a2d8f29d29667cb310064c605fa9616b741365750d364d560c2408f5e7eb794e17c84f6bea852067b5d8e3f595e5af60010e45f2a5e30b16d0c4f51a23831e3d4a8247f011e522ec9cbfea9401129bd617d3b059b627e22246ecf69f680c02fb45bbe76c86c98766538adabced8a4260c573e013389f562d8f398ccd373ad8ecf035ddbcd35020c3677cdbf95b0338fae3ea35075ea60214c339a2b1172553da6681547ad91d7db1a797aa78851bb2ca221a74d1420102a9454265557aaf99442522d65edea897540afe6e08c320b3416e68d8778699c6155d907104ffd694dc94f65ab7a5650d06e31f525c697c81229642403c515ea533b411e45945e32e5305b3b16c24a4a4d11af768632f0cb0cb5a942b4e2b6ee6f8698f1694ea951039ae24ade91946347f4baf7ba2c0c6d824be618b38354c7952f018c0a3216089d1d0ae99461f9f0162c836802dc244f81d4bd88ec082d1c6ad4421c4fd894153183cc7e68d9bfc05ea3426c8be67600642969d09ea0c6d4ca1a79461dd6a6e464516bdf6422d014d3e26abdc5c0477384bc9345d88a72e968be1fd41a0708dc0c556563362e42dd2921e9b2125e8abb907a605c91c7e563befec7ee961a734e5f371aaec42b976be704d6ce3e91a9177cf925ab7ace1fa5d82a0c22d21ca43c9e2dab5e10428fcbf23ad871c0475d08b1034c998dec731344c20481d417c0427f5bc1051748656987bea88f2fc09456aaf4ae8ef8a419554ca7d4175bdee61e5b5e162d2f149be14b64ef2caf25b93ef80021cd659a2f4b566f3d429356ae3f4f1e4bdc44883982d7752686044593f06dc97749a2db365d0fcbbde956959c2ea1e1a211ad32904db73b96cac8d22b59863e11697ba0bf50db72adc21434628e4071f8f11d0f002de02b35df297d40c0c24b9c3dda72528ae09c5696e7bea831b39e38c55762ee5522f6204a842353b23d02f138d09ddddcf769b22b1b33af83801a8d04b19b7aa8ad2ba06a63830b278160a56156e8024c9a4ce69feb4237a1c678121374deae510911113b4981dd2a20ab135e30502181d784ade34d1e0469109c439555f0ddbba3336757ea665e3cc296399b30c8039fc2e6d13c1cc4af11601e770d20dd40cd6dc08a0c9805c1eaa36c534e22b7ba9eba6bcbfadc8023f8b607128ba635dd803c2dde25f4bdca0954097508b21db318db918d587e2fa1859b4b9cae9904ddc38d10f67344b367a43f3b9fafd8601ef977c027c4293b42a35f138255734fa3511af4cea0186d0fcd896f038887e6e1284f414736f7619106a619d7eaae74acfea2dcdec629d2ba8ee58f778c15a92624c8453d3809d132e1bc83a008e514b7320e8ad561073bacfaa65af0afb69098a17e1e50eb9998bc5e8792251bbb3e22f0c3bcc8fd580251b62c37b0440710f1df6abcc6d1e66b591c2b50893c939fb306a8a14074e4e5f1d5cf37f909dd298505b5b52716c59e838181c4d4ce6f29c7908b192099df9da26a861148a31c86ff51ddaf5efdec96a49d1e6a69c931ea014e0ba632974d3ff0e666aa3b84c870120fedad4697c42945ee686eb8e758cde21919597a50c8c863d3f547096686584b37d870eddbacaebb4b5dd748570fbc2a0e0152a8896d212b27c42d4ee5a0b9c9c6a7e7b0f59fb56e0ca367ec161782232021d436d5367690d087a67aaa645686c0c71865b0a7c3ee02eb7cf1e32a4b30f7110c7bd92eb2282ed04e8b052093b4e2f977c933ec1c958baf94ae2aebb912ddb8aeb4865ee829e12c7dd0869e6c267797d9e33f7f6381ca17566db8a543177047e6618928b25bbaa01083212fa19571f858c721d5761f7f274df65a35221c7ace5c4a409aa4cbae187f55c9b5685b408b385f625b24b82ded9019f81534e5f662e39b6f509121e4cb7027a7bead8d9657234ede24684a4e8c1210ce05141ec397db527c6333ff659516516d8a0ae3200fdfcd575473780af97e838095c887b9351332905105d7829325039bae0c7627629c4a8f6d0e4f3ec6fa209174f8e3ef3b2677b0ba0884402860d65383e09fff0d2f4ef33a0786e0ad84f971dfb85e96dcaba7ed6efb671425b7c928e87c8c07057f280f80fe843415a3e85822516540da34d8f4f6674bcbd3478e31a4e3efb739f06c361b988a638915c6c57d6c55090d6a4962b62fd06d42c98078e5dc84f023f027db42e333ef46358fc310484a72001245b4a8b78cbbdf2ffdd807d40dc168ddc40547b9ffb5f85ff5786a911baac4665a67c45b3410505e1f03a13fc69fdff19b3d29a948335603876402a6346fc02c9acdf6248b8fc05de8b3a7defbbea7846a6b3f9dba13e7056b6f208032c683abb924681e986c6914ea9566029566cc6703568d3d6d1f28d5a4bf4a11b93f6df65e943b0c2f39f708f70e21b1b332f0542fc80bd0b0e0592a506274209680df47ca742118645ca5ebbc8c1a222b943a93f8bef9df2551fa18df94db6db4c3f3c093b554bd1fc929a5751bcaa8eaf83f991a7789d86e6f08930fde03eb571c9d312ce5b1c1d21b6431735d6a728ad410da7d933de80c0ee83d0c9bc6925d49d8c68cd7d46a80e2dfcd01fed376841e981f878430af81ae8e1ac2ab60a57a678bdb125f6ad5b8d28cfa21d6b483e1c66c68e7149865bcdc98986288fbba9231769286a40cc5b51eaf1792b88ac4c4a515c0708529e19ad419c45c52264c1cca2103c057a93f1ab2010d5c8011db24bc6a65924ed5975bd6a9b7c7ce0550bbc1d855f28d9cf2de5d6e02ac7fd875980a90c5f43b20da4a6c779e72e456bb9678ab6ef8519991620d1d8056b1ebd4445be091aa729bbb9997a092e9cf55d859dcf843ff2a8948ebf55c67ad18b5f605153eb50e78a2ec00d3904bb7a2c64d91a3b491576d5db822cddd0c88d8d06079ed575eee5b7af2f1f2e18ad28c230f4a4c5ec7fcaa3a06a2c9e7017ec45667b7c06cf37cd0b6d138a4f6cae9c69e8f954a3c779d0018c0f330d4370e6400155b75e08e40ed20673248ee39d249c6f3b738996964d4c32553fa52f34c2ed12a58b4055f799c52412b140b1c13c5557a797ebd228d615fbf17daed9449b1ea46c22eedeb233d6bdf43d520fb0b12e5afe93928d78790859e249e67b7b815145f3e34c9f383a41a711293e918c079bde9d504091cb123cd5c9f4ea88c8a67b5e51a6c3e707c21fe9bb298be83dfb22402a5960fe6b312ec2d51b3fc1cacf1709f1455e61941f39e9f9d88008626aad631455faca709611de20addd9ac5c1f542d5aebe2b0c42d59d4571b4a370fde3bff9fd6f2191dcdacdca754f0541870557813c6c40f3f11e74bb077ab6a162a3af0e9095062aeb2a17c934ffcaf8bd905c665910c57b1b67ed6aff308cb011134214be482eba95695ad7835d7c02c4b7fd450bc512c77712859328ae81c7225a08a431d12f100c12a1024b5aa29ca037a24910714cb6e9b0713182a1b67a6024808fdd302cdd0a6280a89e4ed4b04098d95563e3561d0595e75caea693803d23e02d0649669722f23242b6637dd942c947044301393385031e722de6190ca9baa6fe2b5d98f7229099bc8d41e75a8443b92673b218eb432fa543fed8efd1c58c93721670351097de11b8b027fb5ee2167b1a2cd889a3fd45dc9cc6232f89e11e0ce6d652e522fcd8bf4a2568a6887b49f8afe061e93c000b4ed303749b24c212bd5780b40f2bdc8cf10bf8c6509ff4919fb03be432af62c051195de94a008ce7ff0cff584e025763afaa8353c93cf4c35c2394139b8df01c70cdb58e3d08282db4e9cf3c5e57df3d23bc45d67c5450f347d9715367e2f8b2ce1102fbaa2c7d8b2ad458048e598bdd58281c616d2a55e3f2b428627f8e95dc81e71d150c43d94def6ad535949861e741d290374a072393f1da26c73d27dffe9bc1dbae9d6f367430d6c4029fb3e659a17671491d0f1bbe451ac34d1d10ac23f4721685bb093806784a8e13457a8162109eb0c93c1e7f4da764410526401634c70c449c7eda52270c46b8d991fdbf5ecfc35d115eede0eb36440c9a6871f47d35d37cdfc3b1528a585f43ac8019aa267bb05ff7a379ab1b6c0116567dab7b8e0346749c5d932020c28154db0feba3f74592b405a799b037a5b41750130a13b8498a93349e09daba17687d20bf18e6017f489b4ad4ca8a48560e6daa4f0058eed5a43e5453f63d4d8678cc78a774244c1a844eb04cbaed3cb3b8038a174e25a2f21e2f84a9c2ffcca17fa9188863d079cb32d6220c0f66e9c0deaf31d08413cbeae21a6cfc428136f277a361a6eb5845b34f853a9bf66bf8123ac377a0b22557830656cc25c7b7f1d5bb2705db269b8e87eee5723ddb0fea83dbf0366e0fd4029d821bbbc7ccfc12c584f34e497c453e47e52630244237d815487321c0d3c1f8803245e43894942b5979edac9285dc131a24a133f5fc4abb993c544133d24af92ec72720786590ae1a1c3184c6c1ea3021a6bbf9da372c55d6a615431be1f8542647b7f208320d442c59346dd7dc16bd0ee56f8d665e515c1307d5699f72175561a65cc332ea3180577c1cf568e359a429a884e2c026c312e3b690b353398374b6f47b43291b20319335940cfebe88948d54b7ac385448083c0027249243ab9ce2374a6506656b8f77658978cf0255dbfc61ca209ed521799a77071ccce7bc323729fa46d52ebd8f0c7b50e3d6cc883e66cbba984a01a208901141cb3300208209e4adbe3d0f8e6c8a7a57ccb32dff29c6fd5d0b782bbfad0561bd987d13b87314b3e17c0511a6f0aff65b2b5dc329ae72021658f273ed266fe4e164d05a7ad9496427566cbaa5ad583c7e4ca48a02ce2a36c5cba0200a253cd23aef6fad0f21d605d6f330a3c63b121dc583ee00206b2e32ad861f2bfb8695b84f36f41aa136c11b735aed2489bd20b5d00d964df3b587f27c0bd51e7751c6c9ca8e855a07cfcc836a213c43ae8deecff919af983ed92aea53e2d7b30966409e131f68502767330d39781be4f92155fc44cfd0a89e1fcab87ae65e594b20a623f8e6b36d675804761adfde06e91b120a40425d6cc8f0166c2f14a8f026a505b67dc506cc679266312131c2e0d1212b510e51599db2d72f9aaeeec632945b26486cb4fca94845521cce1d570f5d0327e811d8acd2ab59366ce8974eb07307dcd4576d0373f6d9259215149b22e269c8cd3f75ef8af0a424f9ad047d66fa5ce4cca1a5713983098f11dce76572d2d1add2a4daf56225bcee4c20e2ae23a6a872e096d2cc275d85ff091a324bdcead0210f1501b697c6fae399991287dbd44370ddeb362ca4f9811c5648ccfef348474caf20e63752eacd7d8ab2d9795c8fb4c687d2207e6884e43f6c8fcdf73305c235840aad7e5029fb0485c62757ac81da38d3f076eeb13aee55abd696fac0de726724daee0cf25d534e742b681ad06cd929f5c1589d43e266b85aa217e35de009319ab974fab8bcb701d12560770d020d31972e53ab62ba93740975885bbd1a3091534e2038e9116240e188e1677097e6656d89370df2335b1ea30bbb949b183964bb5ad8609d89d6add1623f803ff7297e84a1602cb38a10b998eee9a9b28f68d4529086ca63c3602d81bdd467e6fe340175ed40a0d860774d843f20b8284d0ab0ffbce9e5b1a64d44bb8ed18b5fc1f15008c5a61db898a4d563f94a1218b9640ee4b37aa63dfa0f2aa69e8d6c93e927745a03a0487422d0c0d73b87faaf8a8a292fe838ff991f9314bcc1ba64823afbeebd779a1184f2550f54ed07d1742afcd150914b44e488e98662cf55bb3a763a521e6227a0797270922c370b98c625b315f1781ebdb2c753ac4d05329ca22ecc5531c0086b7ef9b9d42dc34c04b5c482df8abbaba4666723f4b5d29aa9fb0494b2e1422f3192e40da3c46e89a44342843f5d45e9c2f5bb3c3c628b8273acbefdc072ec9ecfc5a9a0dfff601ea8b2c3d732c1ab678f2e34c8e35e648ff15ac22a288ac4909ebdaff4843a4a6845c38bcb96535832bae867562f7bd40b76e977e3d6ded1044b13f2aeb2be51114546830a45e8800bffa0415ae557a36d6a262d9ec414982798ddb1ec7a2f3453b4ed0272782f6333ca3e491d99901139c00e7b9688e11ca205572b0429fce3a982d9c13838dbcef8544d56006847db66b51fa099fd50b5c08467f49ddedc5f9d50827b3fd9da044726b96581d769190ea5243549de02b6d1e72df9c5fe2c5d0cea071db95ae466c632e94052cfe036a9b32875b3018924907c11d01d23d14e56c66cb55de0093cd765379d0d9ab30cd234ae9aba5f62edadcdcbe8fa0038fcc5e04e330f704800100c47e00843d3a1a665ef6c4189b87c7f0664ded7599e06b896d134224d95bcabda59452ca9464c8083308d20730644debc177b3e6bda0f6b41504471e50e8b15213da0c78fe591cd447bf9b2d28337b1d0044671f8bdf7cafd61ef83c6fc34439ceb6ed2421ab288921a100968439618c7089c6269284fd91d70a166d275bdbb833b95ff749ad91261fd1a903afd5c04c679b26813111b55ba5b2db870cdde8346bddb8cd152942a247a552a95473a6b4ed6051a4a167ab4e278a2fa036f55aa9b5b6520b235d556bb5f68b34d5a79a456ca5218869a7125b27a8c22d2da5b566dcab1e06ed695397db5a0b6ea70fb567aa6b8a8a378b618d83b0ba7d9bc76cfbed14b3ada7b765cda3b1468cac1edd69bbd682740631a5a55208ea513fb894fc5e960b4bc6304e5191a54f86727be04a67853ab7c64a0301a7bb2c46d0c01f3c41e11b1e625ac95bfa1b1efe0515076f78600a6feb7d3e043a32f100932fc11e38700012f410f5ef803d7da3101c9d108024f0fd9b0434644840810b211b0ed2b09da008871d6c3c480312e8ebe5fb1a6998c7bc26cd74dd955e48904c4d37bef42e324c4c4b4b4a4ab158abe572bd5e3b09da6828c4b1d65a6b756aadb5f2dc7befbdf7ee986559966559a6bf880ac8c9a1946322426593a6699aa6695a74c9c118eb5c8c3156417c11890ac8d9db368b52ba04da8404e86c1b39efbc6ca0ce9d3a3648a66f6a9fccbefbd5cf7e985239145dea134517ba99289083c61c884c1cd8e1a494526b371838398f6383eeaae3b271770a3a9cddd7c6084e4d3825f06c8cc02ec161d918418e054be0b251419d1a36282d22bafc15712abde20bbf449598e64b2a49232620d914343489863491f7da4c463e30a018231126635a4baa09917f42b2afe7c516233c4f83a3f6580b30402b1760a58d945616f0df0676e8018c5f382196298478a68498569410db93105f9310675d88359c0a717621c45b2bc45c0ef1490bb1ce428caaaa19e24e86f3a453999ca044b085577cd1007b90f72007085f44ba601fcb0c8739440df409d52ab1191797ab228369a722f056244b1d6cf7065c0e27ed063d5780420981939a4b5499a9d3b23029c24911513c31e95429943e715bc65a7651de2d13f625f93793b7a4955c2ace6ed414bb2db937a4a4234994548db3070945c18f9c86b360548405a2a2d8d003050dbd70bc8d9293b263e8acb6ca4e0a5b06cfde337ac0fdf96c00fc0460ab00c4da02e82180007c2b15563e0f00e0d77dfbd33352f8b28cd5775552be19c3fb220a8d8e155882d058aaa10105203c8858f87122c00e1686566001ba7923d88949a74aa1f489db582b6c02e81632162e8bad34e800368d568c21a2d9420bfb835aad1658585a610034fefd5f007fc2c13ffcc7cdcd8d8d8d4d4d4d0d0f1e3c76ecd8a143870e1a1a1a1c3870ccccccdcb871434646262626060606e6e5e5c5e572b5b4b4b45a2d161616168bb5b2b2b2f75ead569ee7755da7b5ce39df7be79ef37fd32a5c02d94a5f13090c887461dd4cc332df6a6429acce189dbf249de9dd09da7b74203fe8acbd6798e2cbd5d244f7f4d29c9117430473a64905f6ed33c82da347f7e82fa03de38cd25f69c7bf188a43bf245d36ebb6b46b09faff25cc8a2b2ecc6d7499af4fb3e64d52ccedade4c5b434620a8d7498603d483eda4f125036e448d015b2fac4811b4824ff53f027f8125462220a02e4c76a65d3753c72d63127cdcdacc17847dd3f3649cf91233b49493948484b60300d8378fff4f8f8f0f4f4ecf0f0e8ecece4e8e8e42c799ca6254a9a7206bd09c9e73098925f92b3e3b20786bf67620a4a41f2850dc22a042439a1f744153e0865508f0da1c5b94188b520824f2803c7093d083921b0f009516ae8220aa10614831fc2233709229cac846bd25ee264392a1d937d774e360a8fb7adec79efc74d8c4dcdcb73dba723e38fe66a444664ac6224c520328a71941223460a3139a45294420a482a2aaf14529a240e4c25250628797c2490b7787c80826c2481f2274e887b4767282767e2042d5932a4a9094889921f26269f2432895c42f246d6ce2273e886504ccc9097979fd973efe4c9b21974356d026572fa68adc9c373931c513a7224299694840443423ae2b6e4f651d11bbd70e0e8b15bf2d87de3c6cedd52e7ee9818998393ed9797254dda6e6951d26a31b14809b2188944b3881c9a7bb512eaba2139ff5c4a7dbe6e0e54cad2ae25905c82bd5a3e57bcde9b2ea7372fe3776f0af29f3b440b79b3c85292958ae7c59abc189e274367c25264c8c8394d23192b1570f2f800cd21a2f96add183b814bab8d93e4dd31a9ec8ddb4d29fba4f7094e8c8d52fdc0f1374e5e6e6c6a78ecd0418303fb0a64a9b4b4145716e375410ff4abafdf3b954edee4ce40b7a7b8b446411648ba2c29c5826037480f79b6d64a633e1e8fd6b1387b7b9ed613c7325d6d99e8d092244d4d4b4a941c6162524a922469692976e4089292122c69271dd118dd1b9893821489513c9ab08b94633aa953f28eac96f68f2122a523a4a423496611a2112fa3c933afa8b08a549554a57aa432d5a49aa4c6ead20b09123e214f4f11940a08356448f5737232553e2726dd545a92495e0953dd58c92fc94d74df2512276787d339cd1dd9b324a5d4272713ae1b1a0284e211098a11c3a57514d08d4e783e882ff93f13d3114d383a9e0d2478e63760060e08417910dc050556d8de9ea7f59d3528484a296516f5f264424e7f02c6114ae1bef67ec471d29a51dda46dec4b7ac02ac506d8bbe44b7667d98229d2c1d041d2e56aed79b24983e1bd7d3c1eada3dd9856f226eef158cbaeadf5a3b0f9d19791bbfbdc04c968a2d31017a48d784eaf971147e4381b68a368e86944a9b4e45d68ab34972608be17b090e95d66624a4a4b4b4c0fe4433cc8857cc88b38911bf9ffffffffffffffffffff97ca2516403f69b537d3b0bf8c101519120a1a02f4b3524989e1a19c9874aa140a0747901920497e2cdd1cb151aa49e211db81a403467384c3680606c482b1e2bc5977de6aaf38535050dc338ee3f7463375eca83c5035d74675a3fdf023232f7ab911222f32e442412c96568beb0526c6f66254768a8c8cbd0ae21f90d5e7402adf8f94cf7f627c37dee73e285f4f4df7390f8fd4e73b3bf4e73a3ab88f267fac8895684c5992bb648f54259a34634b909a60012d749e3e7f0e38b9cd4c71d56c76f34f7707738fd5caf3fc765777613863366717da682124499f94827f8486f9e9ba07cf6f4a507ed16bcc295fc2f01f010f7dcce0e1ef8f0bf81278fe997fba6422d278a7fbe7e803c44aba200810ff098a0511bbb1a9f18a783c76b45858322e2217cdcaeba8b8b4080fe8e4711cf7f19e174c91147bcddca8812549bb5a5a934a29290d4a444c9f45608e0857f307883daacd6290e00cd3e9f6df3b86fb37cb76dd74c8c8f2cd68dfcdbeee5a4b63eb9c382875b9b73c0de73783b2ed665def8b2ef2dde25a86c3e5d2168fcdde98f9eb9d0dad16d7ef1569e5cdb44ed332994abffdad08c92ea3b0655bf32e7b33b968a98fb01c1db5849eda502ff187ff68e7d933b27351655a8f53477298d1910cef451ec36ee4f7e6d922d3b6cd2d564468485f7dc3cd18a35ad8e69b4a5dcf83509f037d3e441fc1885eefc263c687941425311273a01d34644e41b61b2cbfd6da5afbe33d3e9cf3788fe3c4a5203540bc2832b9689462525e4a729994e0c7b919b760565656abd649f5fd0a92787e47293f4f8fcf4fd3cdd1d991dbcedbdeb67c945d47cb3cc77180047920fda81b6cb01def62f3499674d0d4c85bef93abe8e55d5cf6baaa8c1604484ee4c050ba74286deb765311921cbdd11d2af28a45d4889cd8e70b3629a5942eb7ad6d9ad3f6e7682ec897e86fce193cc91d122bf560ed7ff3770d739cfb365d68542ee955502b27340424088ecd4fdd42ffc1a713b871dcf6bfe56f078f290373652ddbc948171cdfad583156fcdb0d3bc6182328dd9b845864628a20e59c734e29a58c48524a393d2d2905770466843ee42787504494564acb5a69395a79d5ff09ea4fc4fb683a6996699aa6f9ffe38dff5f732ddb35bb35e7748fc38acad7b3fbd5261263bc376e7740dc56c65a9510a30b0731eaec4180a113a494d24eeb5811b25999f9521d50baf2e2aa4c28907bb5e30a2b428c0cc52219d79096704aff162cd2c8e8de6aafb06aab25bb576fef9fd572696f6698981dd7bf0aed7158348b85e566397ad0ef468872f8a0e7ce3124da18991bdb82386874a8384824cbb9efd57a7a5bba5e64c032336162a637577645fb5d351dbcbf06ba69e24ffb6c6293a681ae8137bb55af587f9f82b1758831c61877d0122b5a02e96fe082267868c2c3412774c376a74f848dada54138a2935e178207c4a6ff229834c638e5ac936e3a27a594ce95ecc18c35ee5ae98c317a9d10d4bd8bbdb25e3fcfad029d417ebc9c33ce08b02428e9cfcfea58d9c166a53abe79c7d681da168b9452aedcbc0d66a7a9b5d6da7befac8e8370ccd3bf3b2975a7fe77faa9c78e2fdcc415ae8b8e6cb7a933ad52d78d69c9b8c20bf33300c26d9b9b1f4178d47078db98654b17afb559ac5f5df7e4d5346658a06de4cd0f20357149c70e1e333868b66d3e9e9146fb76649f8eebd9fa7421db532d308ec1bce83c234ccc5eb1565a5a2dae166c777ae5adac583aaf3c16cb4a2ceabc9793d66b1f8b1b32736b9ad7c91b139c61ad1841fbca7b203f6c6a62cce646c78cf7b59637efd662acd90e90478b35e3fa71838366d57d04bf1de3be31461be3974323e8380e2475f7308897eba122b3c12fda2855441892391f49ad7366d706a1b76bcd997d2f3031ffc9d0faadb8b4d65a679af1cd39cf996ba5197bd9b7badfb65bddc01ea8ae424b98f6b406fcca79ff9139a5cd4db681d8a979d09e8abb2bbf67beadcf8f25bc9ee7795e78352782a766b346f167bfb3ece6997f7e4432488367a3873b85849bd27a0373b5f6bcbde3efdb2257aa439d72aebbe5b46d0eb5719b4633c6f4a70e7e55ab69da697335327771b61bce1263d0665cabadf9259103618c6beed5de66f9a0f352ce35d78cb1d3d0051541c0e29203692e7d60b56c6793be5cfd43d0f8e55ead3d6f6f168b3ace32ad488923e91bd6c0aad978e996445f601164a790cc2512e2ef95c782b7b5b56edcc66d95569b31abda4b29a5dad628bd19a5d7d68f8582ad95b8c29c74c707fd9b9cd7a195ed7511e6ad76065c3c60a9b353f71de4c74de84e5ffaf8f7bf018e9ab6f1963138626169b5e4fd9227a7b7ecd1fedb50efdeb62d654a0c0fe54486caaa53a550ba45a698a4b067ccd8ab950a2b0000bf155868617f0dd616400058be0601b67d418516dc5263bbb8b8e042010c500003b8e0e252a3a5c58516175a5e18407ce19b09d80aa0d1da2eb8d082010ad0c263470dfcd95fd83abbb8c0f002c30b0c2e2ee00b2f20e006ace1e27aadec03d4d8aecf01d3c582406a7c3ff0fc396d6870d81b169411d22d5b63f16901caa184cef0ceb1838e487c2074809a1d8067569caa83b2b7a5ee1c46b476616706288075c1856fef165868d1bd6b0e57688185154016cb1709f04d052460c61ec0e7d1f8364babc5f53223e6fb64f68c191fb7e75401539031653440865dcd30e58b31bee97d17e5cb279f36f9baeedb2ba98fc5a2bf96dd6cc65a565f2e6fe28597e5f66556cbd3fe9790383d505252722089b39237cc6d994f1cb69bcd8a14825ff6b84e5ce7a52446e95c5518ab521863dc49550a5584144b52eaa1a5114c73a99c9a20468ca3ac333951a55072bfe85d517ecb584b49a5b05029acbb592debd22937e5bd1419232a39613249d22da966eaa2b27e9d8a38a3ed28c330524cfa3f7ac5701a855a8d44236255d3349699c477b358add68ff9cafe779635504a2977bc37ef0f4174ed8ec5926b8badb6ea7d42e9cad27dad96d42783d2278dd3720ca1ef9e58cb7ebb602a19a53371c17d3fd708bb1266dd9d78c0ccb1c7c6f5a32ed03e1e08395f8944966559b66d3cd76a9b16c95b6e5b569f27cbb2e7f95786358a779e40aae66bf7e6765bfc1149a1e6bd74c804923feff33daff33bcf7339559642a13a54de279d3a81999b5af6a0d56cf69d0d0553ce286594724a19639cfe4cdafdf39539af68f658e0d49d7b95ef734eaffe4d9c240ab4ea53e2a03dfc5d64c5cfddeecdf6fd30f6f9bb6e8b6bdd9eebcdf4bef5ce1f305da287151c8920055d64a185e0c30c5660c4132b88820a2fbc3334ae18af0d0bdce8595bad7d5bdffebf364fcbb83bb339a61486ee4cdd63005bec9c2b1e4b06ab7706b9d9360c90ff4169ffed5bfa25d133ce58595149563923adf71d7c2872429ef08b629340def9e4565aa32f7abdde97d3dada6bad46d913e8774bbbe16c6756cb3f9db4de5977d23ab3fae4a3db2aaeeb5c5f6ecbbab39dbe9c8ad35a5fd4be28c715db4c3d75f7764fbbc60648101c99b74f676d379b651bc7dc031424043484b3d93388b32c28741b429f10ff8cd2ee23b05898d7b3582e7d89c9978b7b23e0bf85d6195c81dacb36d5a2480a9da7080a24f70c6ce14e6b69666946addd32764b5be9043de53a074947c2012411e9a9a74b37faa297e38f5a8c9da39b7397133b95f637ce9bdbb66d3372cd71789fb81e786f27ede3ffb5816ee9e627506b3fb93b8771e627b74734c15e6101a6d8a142475229aba44f699513473aa794365efb99b5f5cbaa75d4b62f936e4f8ecb265c97b9dca53a0d9eb82d5b2d03fd7639f5361633022a0a05f0b3131a20160b97483171dce62737f5a9e5071922ba30d25fa2a41b906e24fe4da1ec963aefecf74581e0d5fba4b97b2f8dab4f1ce638f06ed26a328356dbb8fad0a6cc8a8443b8ad79823f84b770fa0a0409ab2cd369a52e37a53b715e00a7498829c27815710502bccd92e1cb134a7620e265c410ccc6dc398690e69c5327ba5e626ee0889e8324212a16ea601dfbf69b3b19ec2825057ad046de79397ea0a30c27708a9a5822757c68be3b7577eaf3bd880f79105eb485f3448f74d76a6badb6529ff4e7749fee1fa3fbfc8f1ea3c75d67107fcceff99dd7791b9ea748749f496bb53eb5565b7f9efa8edb75fc23a53e745aa740e03934a9639fd1e99c743a9df129a573c66f7e74f7f834463a029def7cc883f02224224043acf69f40772cd70b4c8ce7554ae9131ea44d2213fef9c386ecdfb01f34b198f69227e5952c29e5fc99534e297b7eba40fa69f3c8e923e594920844a1115118ffc61762b6f65a6bafad5fe56ffa12fbf53ddf9f0efdc7f92ff3946fbdea1024bc136b5a86a796653e6b640f43e6399b3f3edbc93e3f35e8c41a7c34bf367c167b646ee4457cc883f0a2797463bcf7de1b8b649486daa47467d99c99fd9e68642fdef7fb9d9794ee18fa40840d88db1865b4d656f9802865e6940beda5d0b428ba0c73dcb69d4e2755c67559c39c96618d5f63ac691a9621cbbac39ad665db8945b3c2711c9059966d58a56d9d4af3a199689da6ed2ccbb470db324d06fd65a0cbf9be12be43049b2880c81f4b6d99338d21cea167d35aab549aa6a954aa184f79d311ef54f60dabb6ec73ff2ce7acca196b99fe4e5b2c622227dcb668084b56d6622118e5e4bbd60c6b6bd52631d7a9509fa33e47a5b26a6f5b566d1f9d4ab561bc750a853ae1ecdbf6b1e53c354dcbc00f826de23e1428c7483b67d97f5706ac728a316f09721bde74ce5a96499ca13aad55dd49cb74a7d24ea92cbba92cd3929334db749872146fad81444cb0095851508fe5b66b2765de5a45aba08a96b74c864cca7c25178bb6cd92ad95bbea34956cbb5b76f74ba8b70de318b4ee8231b05e58a1f5cd299d7a5c2983d65a5e29778c1b0a7533deaff50954a9554a1d23cedb473ea1ee7d1df56f7953a9cd712abc6d789f4e5beb7bda396f7de2f469abb66dc3faa47576bdbbf3b61ba7248d1ac7de36f9fd8692288992fbb70f6fdca6a8ed0325b594bbdb24076e72dbfeabd607ceb218ef3ba16db6a3d490e0e87913e398c96abc9a687dfbf8eb7971651eb116df98c5fd1fa609fdbbfbf8e5b5d9d5ee37eb6f1fdb071c8b3099968b6e9647f1f681638c116b999ce0c77b6fa5f47dcc5d77abd64d5bad70fe0bd17cfec4baaeeb52aa8c3b14bdad774d3a1350e544679b6d973f2f7b39a33c30e3e45e6b4114a8a2b70fbd2dca86c5caa88cca5b05057e064db22a1633c99d2a9f98e454aa53f9588742ed0d854a9dd4a8ba4e6714aadb360acade542a94aa333931f152a9144a0aa352aefabe93edc94db57da84cbc20a189490a055439d93e4e4c66a7da521f0a85da6cbc969a94cd042828288b738a9773ce56dacfc4c4caa0da9e3eb127a08a97dabadb5d67ed36e9ec56e92ca8d281319ca4b4de39fb40a5f4490a052565b57a293c0fc526e7ee9aec6d437527282aaff3bacea663d9a8a8983c0ef26dd3d123577a7bdc9be59c73ce30dab7b38b6bbd716f4cad156c398b9c73cb29f1dbfcd348df882f04d92b4070d65a5a3132af8358ebf59cb6d7027dcafe722d9b9dbce774daa793e5224ce331b323c6b20bdf70c9b87065a1fe0727c77d878706f555fac97c37b8af3a68b5546dc7adf70a8b45afe6bc931567eb89f2c926e1b01b85bd5c9986f545b54ed6da9d986bae1624a2aaf2aa4e3569e847a8e734240888d2cde9ffa0612809135f3bf9fff4c3be67d8c9b736a281b23bd6a2787a6a6c2cf743dbd3b6a822a87d426d14eaa4f589dbb296659bdc6d1b7af644b6c942d8179f32e039c6daccb60f1f16e3b96d262fadd43d73c74209257660d23d076f95683970b78fbb2bf8599d16ffbfbf9152754fb2c43f818575a3d59289b934c01e67f0fdffbf63fcd0fd331fe8f83d4cdbf0ab0c0eb2aabd9996b3fb87f13fa0740a24d851123130d1a88695ddd262a17bbb866048c03c1f129bfbf6d636ad1b0782fad3b637236505ea3b63e71464ecac47cd33c08c53c86478fba680d9ae76a66253e8bed90abc2a29e03d89e16d1b039c443c10e5158002d270e2739e08d1ef11218dfcd321e0139e393da1cc75e259ed0cf1e68ae5ccf26f12985b0c1ec326efde5a405d9b1172831c7ac4f06d9588cd43fb91c6c759b7077cba3f2c94d9e90e3318d293f34ae291b085301e210220c2a21a46506b755a5f4e2a5fda2d2de85e77dd0095014f97ba320d49606e297eaeb7bd78048e5058453e2204422e8148a330244db044c75b25dd40850e7458c20e5dc8202e6109081640b1a384226e98c20819179fb552644c68f9051508dc03b5b99df5e8d123c61823934aa5522d29a16228140a0533eaa152a95ea9542a453494429d5e6bdda44fdbe6b36ddbe63cf8743a9d1c87e3380ec80db7e16ddbb61a8c31de4193730eca38cb32c71863184dd334574bb32c6baddd5e8f6c7ef6b9c6570ba9bcd7524a676aad32954a2981e69c3eeecee383c807bafd1598dee1882fd5a77a004349c3d14c4480e15b5ca24b4cac574e5a847551b7d2bad3c0500d601061c2cf0962204513241826394ab8e04114454280918566b1789d5e3da85f5ab4b7316ce60cc9214de42f377a9cd8eb285527c23b6a6e3cc8717c68ee902e587bd8c69db920083296fd6854ac0d1b33d996b52f480f391c09400401c7860da2dd2d5f0cd2906dcd5e17a13f404ca952c7719d0902c1f7b2ae6dc9fb3f646780ef078593db9df62127f297fe7ca9033dd6f438302625aa37c53695d2badf1aea6adb0404f56e34dbb7e37e352a123fca6a1ba5021dc77e0ee441da8d0681a43e97bf6d60069a2079cf6df1467df6bdcff74028bdf10c1c0872a8e4c8b60ab553755ed4a755de45bf1c6ecba16d0e679a13f83c9c8d0d64bd0efe64b44f45888d0b6e49c3c92e71c20927e8cb69efb6d693b817b416c6b33fc86eb53666836d88bbf77a2ab0d6da6b6da553be7732303a1d184b84a727d4701493881e5d602203a20b0e9b4d7a232e1112f159ad785864127c6dbff637099652267d184608df5fde6c35afd4c127e6c686716ff202080c72a048620a249a58caf1021c7c84f0494208806c44b15928b1501b29ddb73f2801c88625394851440f9c885024e187247c50031dc280a2898c0a547ce2871c052254039002084259ec40091ed0c0b381154b886ce1021e159cec4046ef8670df69a95b5e4a6ff2c9b2a545f2407335842d9a85459b58d289381730e40a4dba653604852628869492ae381142620742596ce1830e482ca0386c2e181a851d28c8a052779cec84262c85c1b271b932e092b2093139e73b18977e34675ad6e40ef786336732dc0acefc5355467cc0e205d3c959520015383051840a9650220a2774c82098600513a658a2c304a4a33088e8dbf95f96bff5ffff7f1841f69f3a316f123bfca005105d28a18417da09232994bcf881154c106a229c9209b0fa73e2f85fe88f493a6c82d0ece05173f303088e696766ccbde0caf5156fce2d45a05726d673d66a6303e6ac41e77c0a058e3449987d8844a91cbd37612d26c020c3c14a4654702d2146bec7e71efc255a0910421ebee809e7e9eabb53de4600c4ce646b60ef2767a0eddc5aa59356ad6679efdcf5d6bf3dac04ec0573fde8cce18b1c254c493ccfe76b4895caaeee18430c7bf7104666222c420938ee1828121b82b3b088fed5bebfdabd976e9f1e3ee041ebee60b6adc70d6fed6a4ff7b47b8632068d3f7c3cb52d5dfe7dffbff7afa6ddfd0e819bab173dd8d67bafd7245c8d841e7903dd94524a259672fecf0dd879b30c03524a09684e5f12b138f856c3779123e79c7287ca2e70e2e4a43c81ab60c81158d0c383231340a1c308a765893c08e500c4145ff8bcacb031bbba1df982feb73ecbf9600a3f086fcb8fc04144f9237f8688282191c74875e053c0e065860117f1e57f36c4ca20af404e29977c660ab818c1a473867184587897b02d4daa91a81c91ad3bb85a507681347c033e41de724e728412684b36eec4714e9cf4e9f492b0185deb21d446a1e28a832a6ca1edc0146618ec1515b42d78344e69a1caf12ec50ee5030f7e40a474cf38e70c93461a638c2a31a4e4f0bf27bdd252fbf6eda5d73e7d2af7c722fc9474d248f7fc66a075d2c8328ff04aaa142d20ba44089a42a04b464c78ce89e7ac5ad5aa56356d6ad3b1cb8d7126e5bff65286576a2ec358e2b94b3b13005b6891f4ff5a54d184e3fbcffd73da697fce9fd3cef9ef9fa55cb1c8ff7f299fc6f8af27fa21e6bf91ffdfd7b5257cbac3f04a701cc8ff8f51a640fa7c79a6b40323cbdfef42bfaa8db9f33b676ace7d6f7653f5d63975ddae161a7037eb7bef95314b1bf496e914f66cabb214a8f709a54fdfdd30d65a2dfa61b293adc5517e0d9300096b37c799b1f61a78b36deedff6bbf7da0a7427408846841d8d9d6526821d9ea695f4c6c848ba5f0b3d7390050ee695db65163c5cfd08901bb03b0711ba6631c4bef40226a6094561bc57029d1efd25ad6d21412b3092282c922164337210aa7e2a0de68eb45225769684a0c816420ced108d9062382cd5c00442542c008a6bc59c0a4032c2e6850bc782041d3041084454918323268498c0074b3eb080c788278e6c548d64477201d3745f39abfc3c2423c89e7a14c6e76cc2330666ce2349a8734e70e57912f46aeb6e4860f46790fb6eb5bc9084b0e8e15b5aaddce2416aa49d9c438912cef08ad0e7cb223cdec4ace9ef2a35ee205eabcbd7ffc43952848e1d9827e6364774608413fd2501ae02f98230072f8958f01b3051373328721e21eca63aaae0a0f5d24fa25ee5e65526e880237a6c68842046e699b06841e892a3f1f420a4634718273546f8f931bf1b1ebce9bf1b16b03c186e78a0b93b87cd74dc2a170ce2d9df426c54f06a50527905a647317c886644cf1d42ca5a84f9ee5cdc2903174233fd519223a1940df06d3a58615e36a15d495cc1a8a8084812496f318b2e75d33dc3773d659fdb20ca10891528b620f702705c6c530b9549007469c65442f1d8e9bfaa6c1f4564b1f31e983b01545216c4e831462903b174a8d40bb8f86e000424a3a50020188bc603821486614bed01b4040e51cd8d23a44c8a8124651032882060000c000090019099499a0060d9e97bc45bb7f5511680e9c8a176b6589bad332266b1d55fd8ae32e203b3f2b970195a308fdb68a3f3e2738341badb0b213b7bf128143e6090d5f5b313981d796ead898d57e6f8338b2e2e17e220431745df67944e4c9168cc7f85ec39d34c21a9519405888b6be268c58b3f7f0086419a06a90cc3194ca28a45ebad5eb49a59490b771d0300bc0f559810db2e4e4f29d247f1724eb721a4aa807018557fbb3c93957fad8a0483a3b266fdabfde5fb8a1bd8ab95f7be7671805ffbedf4f5bcae55d5428a10330dbbaf572f12e6eb0e48bc1bfed5bcbb74b5adeb28f2ad79ae08a06cdb97b9e52e86d3049d889a5c3b99cf1167f302154c49c2909e966e88574af7a2b52c8c02f8d98c571c069767a5795f25b779f243a57c9908f7cb2e1d8205cb9f780768102a0a571862cec250c3e5903a37988d77a2247701734c24b800b13aa74c613e7a6dc231b1018f4d4e6f0aac3826b9945d802b9e48f501c2734b95c416bda94630ecab221cda57236a63ad83f263fa2a7be302c4b89b95944fb12e9160add2dff726c8f16b1124a611c45c1005a6806ce4bf3578d6c385f2a4a8864426add0ea3d3024bd26e87126fd53b780ae49dfbb5239ed867bfe4c74f1ddfb81449f2b90a37401263befc9bda464fb200a522a65c74fff3ba5dec508177af8a6169e50060d011eaa18b3595707e0c9ab4b77a1cb74af6b666b7649e90a3add80f271b830b02a3dd75a7c18f90094c3ecfe3e6672a62d2c2c1c3e0fd38bc226b64be864d43fb0fae42ca372337e24cbde9024c9c4de4c59ea54ff78658c28007f13730bd7d1e479f1c1dca9dbaec55e74bf01744ca0a177064bcae04806a334dcbb89049f1aacb052cf2bc57b0339df9cf9746f91537a511918d0d37285a231913da99ad41a55f6b68d26530dafc9045685351d594e6f73d1db63d93790cda1309228d536c991c97ebe39aa4f29261f155cf9dc344c4785e591f417a3447e9c94cbdc4d418f184b44632a58a6af10e75de9f854d7b930f6853183b79c79cf244a4bae4da08b88171a09e6116ecce8418821d28449bac02396f38eddc6d29163884745e38836ac765ff3812f30bf4c483b4f5a05e392aead55e826d0c5b2231188e4b7d9fa4e35217d2bbc29e8b1d9c9ede8c457efb41f80a52d420e8e9cc5606f9ded2a8f97ba15dc10d4d8ece41a4ffab3980a00e090c78ae3a1efd143b338d489a7d8a2bbaaa0e2ad32efef8ca4c85c3b571a15a8944089546474e6862837de9629d87ec7b7f9636eef5b8a34487e09ab694c17c1aa16258bf41daa8fe3b0b337f500dde1187c37c0ecec8ef7df889077db6baf5b59af8e8bf805f3e07b647764e250e6e3ac0dcea81716dc66d6b6340837d8747ce2466e60efe1b64996db25433020288322944f3ef55181312cc91752a4b61c02860be7977ef6ec73a13d33d1a3d7da30394decd42bbb9e8d98501f5fc8c4cc6743415a268ea52f7795ce0cf5e1fa2c647e79d9cea6f13cb131a27e4f56c36032fd20f4cb13ca476a09e91ecfba61ea2f27b8a1c754b2310ba85e8ba514544854c9433271a807e44ac767a1a8542f61db0509c0458435dd81c618e6b4f2766dcfb2e1c26fb28ade51568aef8a976921f29e55cd095555a676c65b12a78923b9aaa023250f172faeb164a7bdd5c41a1f86b26f1bfc3729afa42768282b1b2b8a831ef5a553f4f316730dc6ee499f28ecaacb925d350fb30ce7c0c8f8b633e8656faabe143f806c519feebc73eff81ed6ea5a9612acee66cd68cdbc29a1a8b0056a755d429990da93b6634950c87e0d9c9672aedc4a7d1d0db2b38da9e04167c94deeb4b16c0830967c720e459208284933227d15874668c52934fb5c441f8ba16f085d846472732d449941cf7720f84e845bb46bb4f16b3732fd2c0565fe317626ae9babe10a5a0e35fecb0fba267a5064ff0ace62cb78013e458824075fd829da1e01fd6ee43b60a529d1d7ba433ce974559255dca9a4734d093faae51243fab0b2a40a366467f830538ab66f87aa658de6d38133c351519dced0966656fd3633c7224adb2a63ed6a1edd7141ce857ef46aa8d06cea47bf9d888dda292c4fb3c681f5748da2e93d2dd5114bab149e0fb487eee559ee4dcda24cd19a6d607703ba8bbdd8bb5b9e654ca8f94c2879ea1efcf0a25ef22addac2f7e1e723cb4af0d8d5b7d0369f94e87c70c6985d2febeab178fa19bd50b19272ad48b9c982838a085371ff90da26643353cbd01fd2c0aaceb37eeb69d964e70e0dcd9c3be132af1d328616d85c9ccbad5468e81741a4b925546fa53928ff12d91507b17627fa7f516ed72a2f63112c51c04ab935a8a1ac94aac0c8f6a9b0d03f9b524d9ac375c3a15f84f0e833ee1d0eca14d5989d73337d0bb692e6ec7ad02f43ac6e55711a873028be8d35af7dd311defa245a98e371938a689118a22af08fadc2ac440ff0deb66bb4f187ef084539f603f0955360deabc88e5f53ace3f79752ce90f6b8aeeff6cc7884f0a4921ed7ed4448aeb0d56e78e35fd38692183d0b7d62232cca36be119b03bb6b6395e85155d83e0bb014ba7b0bc052e66d3c4602a5cb1189cecd20a8c7b460796bd0652ba59ca7a651948ed635ab1fc65f3d8fed13d740cc4f4083fdacd84471d55f8a629f26fafa3228d4487252e542452d1512a5e54796ef4c5324cf28d43956aafef047c9c6725f85cc426093241a30a070e524fb80976f2f36738c6b7834e9e49fab7610bff3f924fd90ebf559c9e6568e08e95304724686892da619fe280f131039e4314f1f20f6e82e70f80180ba808efc741c0c54cc30802a1ef80084845b1fc6919a9c803f16e85b781c9d0b55f227f71ae4191a82531329f7b1d83ba3ca6b7c8974a060daa271ed44e0c4fa74143e988cd7c733563952213bfea5f6fcb7746cb039062f3de7acc970d5f5929ca451a62d81dcb8479c8e00e852e49fa0c6bd02818ba22b1b4b64ca21f98586eb4c38b1d100dfaf6dfcd0b614e15062c936adbee50067e59bd69acc3d157c9764c833073ea9e516d211e4be30a5e5000386c313a6530d7af52dafa1ec2d96011cd1634496f92d2195400b9446523f021b78f80a0bcbd37dcf38e4c6f7003b618a77a93d46e1352830debb9af8c26583231a106a2854dad3b84ab764d2bd8ebb4e25e1f00b9d7b51231e9251eef8406ca9e327a992c2d6c24d1db9371217a5d62a60b40dcb0e45b9b92a5994df7e93ea0bacf3b09db5996d787526005dd0858f91017d55cc0b92fdcae44c00a7d081d0f7e07f4f1a892d7e97d781d8db57b4e5c86985a5f634397196fbb35156571b916617a96fc274e9b1f2573f449f46b0354f4322d0fcb22df6e06adc5627b2348a493d0524d01b3334e1953de48086c7e10a6b1442c7ad4feded133fca702e0aa073e7e734b61da1428fa0a1daa39ebb431fd44bf4570c14122c4e478b97541960d69dfd691fdf2db50fe7d3d53044ce08cec94c98075c19d4031c7e64b0a444ee247acd608cf8701a33ceb569e88ad0c29a9206443c4e67696b1140dade61c2a036adca7f973b40e758592d65909b70098213eaa7cf5336b17bf6cc692cc26417149fed83131b6dfffa28a0cc8578316dce7736f7f681b287fc9fbe4e40d96eb2829bc3e1f618966610944ae358aecf4757a3c72a5ae92f74bcba6848733ffae33dafb4b934ab4aa696db8eec7e98e95e9ba4a6330b6849d5d586337c05b180ee9646a690c7849c6ed63b1d83d393c91df5bcb9046880771ddc72d7724d8cf7646effbab3e3211cf73736832b1969a5110b856a84a12519a1ac32b3fa9ab05cff237b2ac1918d33cb7f6b108c7be181765f2ca65ee53ee4a0651b6f06e99bc7ec8dc137c1c9d636c2063b540fb0715a55950ee7d1e0e43b99383990b52fceb3638c787d3c740150603d1bf2f1b0409b02e7449d21fddf9108c1c2e08b2fda2b3a74e9c69db8ab86d0c7135954213cd72df2613c21b2272ecf1120b32989f376bb40b07536b38c5c4401cfbfe54298a0649c27021f3305dd2d22f6ae2dfcdac51fc835670fa96dbe90c445b1300da15339345b3527013ba595dbe972c919411dd49c40b16b95053ba99485b6bc157ad5b74f91fb5c09974493078661f65b032dc9bcf97cb18051c6d7379fbf15fc557de280a04cea468db29eed27f9196324247dccd9e832a45d846852013de2ceb5af4e3b2c6b5680572efbf64dfb2ea825850fa7aa38f98dbb2e99fe3a6bbce30844212af391b91c0087d7444f93b9958e405dbaa086591663da930b336b7916850bb2952c5433858e52bfeb225a0fe204a5a50cfa1e877e5852216e1597676b54e4d760a308f4752a08b98dad0a3848420aa790ada54852631417d7042c1a3b4fbc7abe734a3d4613ea250fbbd7789291ee24af347a4cf9bd429f8c6dea143766e68224b4e8e9e619d9451e1a24585549eced220181603db296a0767b972e911de345062988d912e126bec526165177712294545215451d1118c15bffd662d2440bdc2725a61a6dd9448e9243e2e13beecce8cef9d590e7cf45805f56c131c667df2ba0a46ad4f7e28f12ea39e2d858ae6afe5f34c188dc0a295c846526d22980a4f6176ac0c45895c3bff1a48f2c4ecabfc73285a270ae48e8f810cc3f16e1470f515a86db9fa46478a3858090b1782e6a2700b047dcd893304ff0cf7bf1d1454d625fd3727d1d850c41bcf20f4521ab1d9ecef60e23aa8439f38b81f5ac7c9e2f2b7df0fc9c95ed93a686408d63857e8b17ce168fda4582f2604bd3fdc24f7ad7eb96d33e718d41e1049f86b7bb47eca5bf0e438b94bc521f994f56bd3fb18ad0625effe261288bf122421a221962209b4bb8e284b87a18c2da600315cc4329969dcb487d72090197cc82a3ffefb297afa1f043a12871b1bb084f0a41ad1a0b8510187c5c11dcc4b92006d50611319c52c1f0e7fa046d2c480fd02310b9211fc979eda4dd1bbd9e4e22fcc64d4bfe4f0a25feb121af14b9c3b242cad4c4af42f82b709e7102b6bf8f1ca94ea17a478cff14da92376205eed0e5f005a62b1233867894000a377981ea70828d28160df1faba15eaf7ec5f07ed766d5b9448b7e4eb38a2893dfbf145e8028f0a1f952727f28bc746b71258587e301bd49e9640c621832de1d3c5eb482b5038afaf6466c559c028b0d1aca29db03ac77f5b919054515773d0805959c0ea608fd51dac5072a9121cb5843ac7b2dcbb22a724d7f60dc3bc2d061e0ea13ab1c3ec2336a32433a717c08c4da65a940178db876124faf1dc0d87b8364a51bc0afca853051260a935733a7774ddf06a988731082dd0c27e5dccab91fb38612e21029d0ae4501efcce54e5dbd8c120d96c9d88d520c563cfd04dd85316dae634c776c43d738d131a74586bcc1027cc6dca96b4374461c36b1efc8e8b28ab679cc056a5782ec1559aab4b80faa353bf5e32f4a4660c7091765786133ed2ae7ed4e3fcb59e5ec7ac569a62aab2ae77b6c53c3ad75361f8071e066dc62ebe22c9f01a0ee4aa6ab00ee9364a39f91b85b5a60117eae28e3d3c8522b2ac385699e3c72fe9f9de11639a1a049ddc29e3d922981f20709a4da48fa2f65336b952a2b2a4026969913fda2bad15cf1d0193d4e692d73d0884eee5160a2485674c95ba8c2b681d61350cb684bf455b71f7061f55db1565a70cc5e84e50cd98ede8149d6fd69d094371012aeda3a67559fd2c67a198e55a9e8d7590e7bea47c83539b8f63b13adea8a61780c0fe68b323e7e350b2a06003974083a42dfa8a10d988d61b91bcf9f558f8e55fa4d7d8b5b4ea1743683bbb5a308184bb3bd7252e5024947ef5e485fd143c590886d7d237610bf62ad933e87b3d3277e8e322304a24448286b0a21e6e71454ea1fa9be2b2fc4d251a93bbcaaeaae9178bf60c98785db11beb1c8d8feb9eda9471e3b94a00dc055a18b99ae0458bfad9e93459e0e9548296ef931e50f126374c4d0a7a1330cb0f33918005f628741c30d6d5674915841206c50c387fc5a4b838ce73e8b1bcaba6edcb1badaeb6c91dc807a91021c52470a1451966dbd5142e545fdefd149a4bc38b64984b2a4c7d12ddddb644005ac98f8072faa872d31335098b8a0e8b82892a6a1beaa1131c8777c9065a2918593b74d9fa448db104bb5960885312e183d9b48c9c0948d106af9db05e596b956e066ea60a4baeca2480a4860091cb29d2116b4053ee25a7eb9c48c5375d6de1019d507148d415b9c1c5785f619c7414af611a6a5ab2ff7067798a0e5f7047449f30c0c03c1d96344e7a67ebb23daf77d4279f789e99a4eb70ccaa81eba0677e6ebd912fccf2f44f9912a91216c3be23c63d02f83091e44ffcd30298a0743c8d07a623ec615324353282c9099e3c1db308fc86b10d6d6e83e091f4cb8b760a971ef0958b8a124f244e9e09e458a932ea8d8071a5706e932d378411ec726d68aa5ffdb9c318c356c8aa6439876df51a443cd98e48449a9a799c4feb937bf31c6fe369e65c486498ded7f2b149344fb2f6d860e49a97b69ade9e5217145a90f9578c9d5701af54048064c52c6c540cd86537198d414be1d3774075b726b0e607fbdfd71f32e1d3aaaafef64bb9daf201fee06c918e5b4c701f0decbcefb09bc4010d405c38feced2143333ca426064a6319f6b3be1bf486e4edabfbcf98e09058e42f2c30f4bf9fd2d110790f42d69b68ebf87a9db817630f6873b9ed9688c44d5ea41a943e0ecceccc05b466283016ea8776c6fc14414839d50c8bab0d860c2014c9990ef29aa4af1cfd1498d51da3562e1ec68baeb492934ec2ce77cab2ea0de4a007453bfc443855371ec6d2da36a17b158802856195d7c145cf21cc47a9d4663b0235246e468b837663d18abf4cd830f0556943e9727da5f5869fdb652a798fa65825b8d0208b95f4325230f6ed7b58d2f369c4826cd0871a7f826a9c292783deb7b707da063b35bc451269aec63e671960b805be7c44b152887bea257d19834083c2e3313f4b850d3a3e3110513b141b4b08132652604382d6a24c634e7a071c6e8259c6f2bd40e6c4586a467babebcc52b0368d1e0b256a01d33d1b5cfbae2bf88d4bcab747f6d4034c6b66347885cee3bbc37001ebb0e27835e589f126cc5dff6759bb16af67946095bdc4f567dfaaf9e67f8b0ac38db62567bad029beebc7160379e13be13b3738eaa058e9c1c016862b1ac291b60e353fb85faba8c3adf0b15a7fcf7bbaed5e81f1e76641d083598a04a219e360d0396fb53fecc8937477f4b0b38aede5667b26559a8542b88b827c56ffe8f59a310b58da9e4173d750f0460b590330d8089eccebc6e0712643451180d8e6d1d43d959120a481d5712b3a807d77d5f2528bedff9609432155cd076946c5061a6a6d84663ed0fb013e1032fc66646592a154c8dd067404f5d9d1fd6d45db4659a8ecb9c0b325ae845badabf132fe48e75be916faf1069b495c4314b812f80c01c42a8fa5990effe321872fc505416e1bf4b613e72cdd855f1f5bf09af5d5b38afc40a886a069e25bc713f5fa18c4e5fd4670da6cfddbbddfc14da40e65b52ca4e40fd1f423d323f2805640236c00208edcbf9f37b18aa781ddfcaaf06f2af25f6345ed43154a697065e511cde7e2519f8c60e850af1be0e51bf755aa91a426e6cd6276ecaa598110191f6a94f3d0b4a85f0efd2cff4b1f670720f2c7f7be9cb4a161c3e5dc2476811ff3620572390e5dd1ab4f160bfd76f166a193dc9382c66a3bfdf7374dc545fde06cbc4e671883c6ab2bc9128b22ded2828be4e134d4ffaba2a58bd9e10ffcaa00f3c86d5d56a34d0b507c5497b907b809f42d6476f6e72e8d5d6abd2485bc0492ccd99c15d6c572da745d769a5297b9fbb3d4c3f8b52aa0dacd8e92f24a6a9ea563b49c986c4eb94ec18161273b730cd032fdedaa51b0cd91ea4863202d9e1622da8ce908312ecc16ec8e92ee388e4454a8a41f783a95b3c9e70e8239529c7f3dc68e611107c6e544b28bbb85e8438d23d462e295cdcc11bfcb619a0e986293f342635284d44945444cddf288371a7580c30c63c9d6027528bad7795f5d9a6638aaecec56b4b214a5a5291c5b27c594d158a701e436bdb2619f7d06c117cd6fc22d764f18ef4331e6a24baab63be417d64d540417b26ffa141fb43e586760cfe14bc84d468bc18503fe0944b42fcb81509d5e9e516fbb93bd9f3990a5a03192e5a574363a6b9ad28d4d0933138e3bd16a7e1574edf13b63b025e3c585043517424d88ca987a32b69116cc4c744df1f378e0c5cc74076152012a3be0b8708027b597fcd8039f67e11da3752142e7c4daee1cfa831316c8320a2634bae5087c2a4d893ae16999d3ee2d0a8f2ef4d22581191e58e621f47bc180e06e8f38a287369069c8d65e05c982e05b1a70302a5ccebd3c2a8a36f9303ebe1a285fa7d2dc9eef829c5b6b3c10bb342aaeea565cae52e6728695cf99aa20dcedcee58a8365b51184f570600f3538e57664a64404ae382885bf946c6a3a317989dbed6491bc3d8bd203ef9c62e8bdf5ad5af0f79fc898d225ef031d46c8c49e6bcf1ba4814f3e7ce4a1b3d72ec0367f1c137abcbefb4d147009e99130afbd3b1c72d4b0941606b26900b13561ea205ada0336a263c856afce64867b8eeb885415c675fb411525cfcaa74f3a778e06bb6e4a6cd5fa3a3031b80662d0e49ca4012819ce8c37c4d540ae350f672dc6edae7e09ce59660268d7a7b8d22cde5e0bf8959c2d2a8694d363d08a07efb8f4cd63b781fa82ccccbc4631e0652987ae80ddf13a4ba28f51fb5de8fcaa5348ed36d5755bf1f3e28329efe17714e1c11e3ee3ecb85a7ef741c1c25e4641eb8e9577b62fbe639c38cdd2e046fc27a2c10ccc6344ca077980804b28fa94ac8f7f0559a45bbb1799fb35979961ff16054e17e7709797b82b562d05f28af386e64678de78051f1eda8080e4d0019df40baa14eac86b3bb23ced28e7d3f2ac0fc93ee2944da47e090d7253581a3d9a760c65467eb3f5477761442a3be6e5f743af4733a6bcae4492bc64535fe393e11e96750c93a54ecfcabdf85d472a8372d339ed843125eeb799c2aabb133b7493b213b3a40500243c3d92c73f93be9db084656f9deefb277b9bba9a03478c6db4c10d088954d5eda610a209c12688d8420181ba06decd3ba24a5a707187e261a6d4e1a87727c03baef21ed0960de1a4dc5399ea02d7bea6cbb863d05b1e14c201369c81caa289d0a82280ad2a2a9b52eb20d368829b574794ff98a9edaa80ccccaf92825be958a922b3548ac7c39ad0a4003c4d125e754bea061090b2d7408c05ddc5c9dd98470ae2fdf7e784d7b076fa49d3cd93849ffcd9c902ba6106b83d4876f99e9715c53d701adee5538fc910d043934d075e982cb343b96d83bb5e3c34421368f51fcbf779664bffa3e54a06593274c83c21eb3ddee5afa875e48c7be6ed7cd2e579319676b240ca4eff17748d6ae30c4f7de38ac825b9205613cbce11dbbe0a105e49b5e4a7710ba829c610131f0b23e9aceea74a2b5574593c692a6dfa85adb07bb71dd632d714e195f4a07cafafe019f2634cd5d695ab7598315bab9ce57e134270555d63f63e25e2ae0f20c7c1fc7d1c3d7e150cfb07580706084c15d2a97e656e28461911d703d3b7fe30816544c6dea0078a0d7ee204813fc30c49234be9563ab73f2d6c428c75fd0a0e1566c3d625536ef2dfae5d636bf235325065b0672cda03141c6e4bf40b38b5fb8a1d699ed12b0b31c60c67194f5a2aad35ea5d1f845d7865705343ae7b5e427b24de49225d8c05a921e73e5d25f162f9df5404414de45af0b4e0222f1754f5be6ae859427b2178b9498040b4c25551430492b73a760060bbd6bd3b0e5f99e52fc0eeffac29b5e9dc611b262c15755d5bf91052b36da51f111bc964e8c9b534beaf97d781b6f5755c5fe471febd113bfba85fa0539394a99d17701e54f1e017d64857d348be7a06772c9d0f18bbb929e86fb2c6b53599f0c27edff1f99d9a4700a6b62283391eb99fdf70cf6b2834905e3767d26f77cd9c7aa884de86e33a972dcdf7f0ee86344bb9561492a8310309ba0697095a793e447e6e82facb7c579fd5453db37b9f8fc554782df2519ff9cb64f71ea97574a36586f8243f2895a70a81c607439564e4a88025ccf888fc7d507d97958f978d066e52a75c3b5ce7681d6d8d8b7293b82775afaab9698f1bf86991521c4e674b89b6df78b246fcc537ba316ffdd4d5b78b792e87160eaf8d8fec0c6304f9512f18bdf5eaa48900c30d747e89a323eba4140062934cc125eeb66bcb604efffaa8ac11d21625358dfe43eca44a666eb3994bae95e678a04a2d37a34e719313c04c8b193db842fa07b7b46343bb38aa52528d7f08e0a90a657f9604fe2629d14fcf0de285a1535885909262966b68694b583d712191dcdcded0dbef829e25d0f798f497b0821135756c3366f313161191306362ee5e508917b44222d23b04e339a3c55ad260b041a323f5a7bde0821187a2cd64df590d6448221fdd85ee45a9731d9b9ee3f1b8e8f756dc411a7765711bd8c1a65af5b49ed6f7c704ad07efa550388b6c826dca906c5267040706f890c641f65170ac2dd10b6a2be76f9954b065a35bde1acc52b5fa7c11b5ef8977be5d9addf92392bd17b4f99641d1bd185ff96daa77cf0fc8107d20fbfce33da1197f2fe847359c49756cbc33c47c001712e016e4b986b9dc8812a7ffeb407abe493db4914e657746dd427a6a61f11356c63da465b49e6f78af6e690fcc3da67a30d1502211fd7bab8026b999c5a2f45bff7c50870b3dad592adbcb70c38745493e9790cc57b21c5355de7f3c92d8ce4e642026b50c41347876f27720c31efe3796859c1293ba65ca7040003c5c84da0cf096712bb8bb75c9e6d2c34f665e74e66f2f861d394f59564937df2943addbee99a04efd0ad44019daa6ad89a32c53cbd24fdbe55735a31401c6e9044ae2a536ef70bb05b8d0ee216f4fb03dd789723bb1bb2bb5cf749e67beaae944402794c548d7f954a43962391387d112e4ed0017f9f20a4e4a917196f8f7ac1731e8ae41c6f84a38b53b47ad49e2569732c407ae77bb4b19781270c4fd32a48ddb6f1ad0a2954143fd984e9162cfedce1c424c652c36b628b765469a546c892524806f571b279572689348be4640311af7ef672af66f9b5294f1b85d269cbe660e940b7f7cb04d10d447f8f4423140a01dd94e6411c526f38e6f2caf53c1030534bc4834801ad7153c49f990b7064a946e27da7074358e6c1170557c37664e3666327cb630a1be627331ad79feb5aa8c2abcf4d5c288b1a6d1b31e48e61a65ceb429351cb4935459fab81ef2023b4e83f2193a53c18b6deb0418c77917f326ad17bfa49bef10037693aec391474b119b2c74620aa161c2d8c5bbd972a2053118e463e918d9e71a8daacfb0829e987595a07e43e78945ad9c9886061e862e69d4d2d1ca026e6f3f7408744e226a8582425bc0551b7756acc373a0a0e21a42fb1d8c81948842637b70f8ba5d15c057d0f4d436f9fa01d14afb795758afb5d36392a69e3a8af563d567cf88b887b4b018ce5d4df625e340d57982b511f52aacfb6e5189e6f121fb78f9d2fab60328f44f7920e89a0d108d021abe8d1f231b600dce959059315a88327aa5a4401a57f72ff8c5b77f9ed6ecc043856fa9c70966dec6f07d3bcfd84524dc28af209013cfbe54ef17a13143f1ef4f622399591ecb645594d58d38ac6fd477560d9af18cdcfa56b11a6b907031e337d6ea76c6ad726f06a94bd976c277e6ef69f3d9957f815c706eb91592aca4e7a38a46f731f53afb0027b7605e2397d069ba3104d226eecea034aef569bb380df2c94840175f16452d1244cd51242c85d65db9a1e9b99a5b9301ce6e04a145b52840b048f72faa4e0f6bfedf5a1669a6e4149570258926ca2afc747efe2e53f8553ee53e4b40c90ce10b527cd1a35d8720b50ee8451949879f38c1f5e56b0de8b452505b49f53cec5aeec1e91597168425a5cb6141ad2af9b6ac97ca820065fbeb8a49c988058fff42336238ffdfff443eeccbd5c5281a3454e4f95bdc7636480f245956d914fbee665587953ffa3f2ee3bc8dc2b296801348a094efc4a1c928b6df4c0359b7c591d2a5020fc13d4d6c2f4df28c1c87f1c02a47da7b14b4811631aced3168b371c069ac831811fcc2648fe2e5f89b8dcfb94950673f169de82a2a471933dd146d744de66b5654fc5a7552825f298853f10f1e9dc1ffd0d820d2d3c778a33581e6337b50aa01a11d1ed2f59e822bb927dc14761db408f08f57e52714cb3198aa2106ae3dfb6969dcd87f031223a73ccde467abce7851860c33c32f5e8e3e6cf2844c4087aabd4a16a02fa6c472cb08e21b51c9bd969b33237c5d36df6025d05b6d4697ff18e5d466b5ce48b9c92e5513515a7e199f918452264b8d6d4bfd71e30d423976a6f048f6628b4624c887985c492e3141c951c87c9cdcfeeb67e70040a0de28244ef49ab1427da8c108cf6fb55f9b621613f227bb15825f0a8fdc959a83f834ed03e2f6dfff34c2be32c0bbbe22be334d37f39ea8332daf0c575ae54f1bc14a53ad310b5d28af8bc07d6c2ab81a53913afdd06b269335bca6bfb83f42dc8e986a92606f2e5cc996a8861a4783e308d9fd3f13ccef04810f214ad2b5961d6600193f11fb1ab6f3e498c881e96f9fb72ce46e3c733999d9bc7c714c293155c9caa308b627a23e24de549707310d254863455552420895ee6e2ff05ee1816b10ad2902fffb9f34d2327c1d3d2a93404a8d8ff48add568bec13524417d4eac66c315c6634c65e77ead1b5b09cbc3104daea36569a319d95fef7d06e53b391cb1c9c0fe66f7a96d7495972ba89b1c988fbd9aece1f204aae1b14934eb67bcb88b64b47213b7d101b582b733edc1d50ae9dc24b0aee06a15b9d262194f90661274dd52d320c47e044834921fe85d2e86baaac357cb4d174a21c680056762f1d21887bf9981ae378b1a2ca3b572791e5f2e0159f583fbe62c5f0d383d2f8fbd42d569074f96c22c56e6b9864dc6bfde188f156ad247241bfee18282f98abc328dd8b75c9d4037c5cdd94a57492b802b16cfdcbb426301cae9a43de5af18a7a19ae2e3cc6b86edd5d9d46a169ff0735738bcf7ac4f138229bb1af3114ce69a57e616d85bbeadc80bbea85911ef5db95de79bba2f8d4a7abb213c66ca71ee613690c78533917601e54a49c77e82189b0086ef1e90d29042eab04e1a83d11c509cc81796467deee877f3f67d37c3959e466e545242f82551d70cbfbd15adbe874139f2dbc9cce5d2fba33e4fb6bb105f0ba2cffd219af60c8427fccb2c93569c27a59f111fb9490d79fc8594c588991b86b1dd30c870d251c66b7491fda1765fc0d200a6097ea61f543657ed47309e14f5d9ff6165e4c9dcd75a009874a60148779486c9def8a0858bda58ac55e1d9fc450c4c083830a565d8ace5dc597f8ff4f1e4d2564ab0481de2a2441daedb9586d8aa545e0729ccd0f6e86319a72932c5a713c7d9d32c4a0685cfc5875eabb52f9ce96ba62c8fe801bb7e48e9666291a5d7838047c6bec373346b0d8b6980cf5b08376a17a96606449398faa8d028425f93e8698ab019532c9d609a8915b734db2e8e95345631314eaa8747d5b006c90afef117d5d23d785ea776b7879a22691ee89e8da3f7e99f2361accccd5541311b6cff09270cda6450f525d4ad0737fd45808a9ee3c35b2e7000facd20c2a030cbb1ace6941147e09f4dd2ddba66cb731a497c05942cf1cc412243bed36d7f26983b2a2ef5378f40de7c3c5a4c3d21f3f53d56c05c2f87e5c71c31f935d4a68818494e8ba6752cbcf947d570e6ccff12310e1d468f5217b42ca5d90f91082f61d1f2131bc597070de290c5964a3fb5f83d6f33cb2c47d5400ad345c36e1e2e318d99d69098d05fb6e8e09fc1206576ffe977164c6bbd34a39fcfaaab96af80ae0d7be355af57c58ce9e07b8a3b18784efb9399cd1487a986f49f553cbc96ae50e823c5544c8749291d18f587e10e7bced49b0ffd6505c2df9c3df7e20e3c040308f4fc482e847a8bd4f15c8be9badc9711714f3dd5584cdffb03469c243fba1e488c06133ef07255d9d22b04a96a3376e7607af81f3ed8853c6de53ebe169dd3c1706ff7e01dba13ce6b58a8e1b86371b478049c8dcd0e1a564a4a08e3eaa340d134b65ead55a744f9665a9ac6e2098a3ee395400ec67c9ef8667ced57af195345dd4e8107edb2a174dc5afb541662fbd2da24b556ecfb6ecd5001a9cde3f55cc0c3fb8c47e8b1ebc521c8c7673515a4961740f144515679f06296675bff68ea7d69abc14c91bfb50e758f1f2aff93539643c00325c86291bbf1dea12c2547ab8e8a381f2f5906e290bab124b64d41b70100f993b13697e836b8071325bb9abb36b3cc9dadfa03179c1004a15436016d472635c252e884a2ea717c111ff74f59b86ba25ae6d9463c771ecc5496cb06d1206536bf89f35423d1195c3e7affb35f716cdf609087f8aa0ce3532b8d98fff2ab34050c8a797cbdbe16d0b51d712907ae60f651a3c9b35c31fa01c394174ced7a18e5e698c9ee2daf6cb0c64e4df4b7a2f65e4071f4705bdc42e4f470eabd44183c6ffd01ca77ab8201e234775027ae1a2956ce380fcd22dcb00a7aac0e5c6a928b3c5520d2c6072b8541539dbc4667a6ee9500fa2a3283646ce73510adb119eb8f55c971076a260ad8c45785a3362d44cee942f6120c132552e570f0c2ae8c128a45aa6895bea9561d363ba92b47c054dc218870d5de561c464933b812059b05562bd9e4687634233caf6607ad333ea17896f3e26ba11ed9a1c5162c996fba9d84d1332a1fcbbe846f70cba192718bb40d362e5888514e9d434ad19ed635acb587edb972a498472d76157df53da3a6abe7a88de50c36e000ad70b25220f368d92c302d85ffe388fab004e034e945ecc65482cf5d929b4d0191a38eeb422890eee46e3ade667ee8ceaeb70da0a3c38b81f01140d37152277a975f025b49da9077ece0fe530cf4161f1d1a9f24dba7c21ea137b316d4230715d716ccd8ee5a7647daccf8cc85a841227e142f87779e18397d81fec604dcf6165376f885a894326a60ccb53c56b7ab079ee08f728697e15148f805e70e16761f4be3068ef8cfe59d320e3078b5aabadcdbd14f25f4b43451affa6b85b43ea172d494358c8ab3e2869e4b3e919041e405254ec178ff458614b63a4425ec65ee3a5bb4afca65f40224bfbdc7f4b08a192d97d21f4816710cd993e2ae62b45894f10d3ae361561b4383c03ea86ca4bf1d2651ce3094d484da569aac1ab7d544fc678ea7f4908181f4b8b996919b6a318acd3d7f8783965bd265826da83354e621ee5ca2784d08d3d0798361f848dd3ddcc4c3f25b1f99f54124f59844541c171ff4bfd9b49d92963774425d829ea86c930f8ab6308f9732d14282b05a63487cf85ff710f89beeae8808c799f978dc4b67b176fa0bd4be89ee212149f458dbde758edb276b309d42c9bf55b725677f86e805dd2e5f93a0159f25349310b1d11020168fae8bca59925ede836f109fc857c8c97cacfb6a49dd24b57d5ff85d143435b794de543c1b09e134e9ba78b9d76b99c8c7d40f2dd5702828380b8b62dc23d76e0ee68739e2255ffebd7c9ac5689f939be241897ce5b17a2eec8d72cd5a3e00aae6213b46ca880952bcbff2bc11c01aab4d0520d52c7469b963a5e2052bf443413c9076040a4431c7e8e57e75fbe1a0c45446a4aa25d1101d58001c4310fbeaa02db440df2eb72b10ec9207451b3b84e34c8d8c3d4b978353ce81b4625210503dc516e1ff5ba63d381c954d0d8cb4e739eb5a9420da07c5b7b211de1d2af42b59a2cb2073afb0f575eadc82dbd8741fef77bde34f742baba614018675fcca81a11f042ba5079aa494877c4f104eb5c56f21bc58287dc045cb34d7101f1c3cabb90aeffa60ba99bcc8049158b02f774ffc9cce142f96f3ac681217f77bc6e27cacb3ebc1fd13622f312fce8851d0a0f8ea16f49f4f3e99314432212d5f884aaff50bd82b9d13f707b5c29690d452c41c9c4436a95c1ff3c71bd81613aa334a646c3b82080869cd8db1680bea1d954fa6fc5a2a8cbd115950c5b9c536c2b26c329bb7d492b2e76575c819574bc918be612eaf75e4d6df4f31c76b23f0d08bf532e0fc78fb4c31b52588852efc9422fe44880873c54c0d8c7a27e11ce28220ae52904846cbad358f23134f3590ded89eb358aa04b2ed49727c7831ce7e789efbb249daba3b7716bdef1e4dce10ea885b82d5cf1ccd5300924c95b25299827ae8eca7f2229f3dc71212258e12ead48d1c02daa099388d2dc0f895bc80483e3a092748a58d360160ae6389d3189b2a05879a08396f2403921636f268e7eb39df43a55c26fda2585492c9028d4ecbe2921b7e74c77de9aa6d60d21ea3c314df48c4429937accc7ea36244d490a1a6fd60010e037dddce5ec146cd5097c7cecb1b3341cebe54676fc0439afd4cad188d4ac9e5d1fd356fba5f63e515cfc58978acba581ec94a5cc2d7055bdfeecf1560616474c0ff9e0930f8fa8a918a8df35179977058b4a523378c219ed7511428dbcfad71538a82252748b1978313e9577fecb8b24f9640c6febba5ae1fd235b37add7bd3d8dbffeda0d304decae762ad8ee7417a32141f7affb7c3287f9e670974c283dafecad7c5cfc4a9b6fb8e7d1239410d564624316a8b98cc30e524b125b1b16b03fe63d8a26d3d5b702aed199bcac17a3a2b067b03bcc87e7f2cf63e7a522cefcf7b786cd9dbe898e7183ba65dbe006b3c82f5595a0878cbe6cbb6063076f297895705ebbe9d1b892015c2f0ff1cbd4dc472730d82bee5ce3a7a6c0eda24ae7a6859814c59df8c02a7d94cc2ec867e0286c87ae3aa8827f9c87e48366cc367e14637150a73fdd31a24f35290b74fd0f785156c28e97ee5ee324a6af9af290f83aa624a35e2383bd482ec3f2a6a5bb9ef236fed546f9416fdc1cfca036f0f9cfcb6d88b436a2a57a650a2167cac0a4357b290ca4bb7803aec986bdac3dda3239ff1d92cb911b9619b6d50779418166742c83c6f971b8a92e985a1c7a24b5d625a09ebc2a33d6a5af5c8b763c65988504dc19f950769d2ff6288b2135e6219c552578222a557335112f7f0df11173f18329a5250a8d3a7b31f581a31cbaf289269efc6edbdff56bee552369d7d2cb4da4df0c17f3e4aaa37d65f10015899ca9b36c4c20a03e88eb19393fd9edc65db3bc9ab5692e4b9be65e93ee150df838f9440c65d350dc6d8f90de0380514701f40cc95e50128fee94009a8ae14baae83bdc01f53c965a13fc4d23e68e14499587f351fce83146dac24231939499ff70d1d979dc5d5e1ced1232a535b7587a08ba45f5e499b1633a52afd743a5283feea709f17423d06eab1a0a80dae9f0e16b6ac627397f8d45c92a9234ea0645f7d68460d77ae5681ba5b9e067d3a3c1a63ba2f7330650441f91d5717a3a9f5c0eb2e22d1c3b4e3e9ed04c00641e8e4de0ec6840b1dc9b9a14b5456c9a04adb232166185983d363ee17dcd3e5a3e9a22c09d40090b69cb1b6e13ac0f6550ae538ec4e0d88ae92bf198b6dac9113158af03ef1eca1501252f061267f53d6a97fa9eadad019840f3eb534af22c682d2bb94212dc37e6e37d733ede37e7e37d733edcbf915bb3d7809cd6ba93e0ec30cb374f9cabab993b816fa17c84496897b2948716df9cbcd690b5afbebed42bedeac9f7b3da60515c8d31b04053ab97370834b6df2af33c1db0b242e4bcd4346e4200b307696cac9c141011001fd8bf9b731035abea46bdab2ced896f024151acb085a441261a260d81ddf868c8e667134868b245843e468b19231e08b5cc252d9666a67d710a485afd814eea109e8d935e773992d543ea62097319273efbc54b728f8cca526aa3f33b7d745a09d8308183b1df04453ca60bd6c7121d23858a54d5ff13e3ca988464c246d59a0c849beec032006af0f90b844189f81b3e620b8d300ee906a7294ca82884e63a73ffe0ef391f3a2d39f58434a9dc2fe9bc7a5e46934d4f78efa7ce2fe6d66ba053549e0ee05aea2fa28ec403d1d4d78a8a18fa0b2cc94189d8e7d9ee671891ee66c6017208629e58cde9c02f395f9d3cb6ce1f17a76de280476cdcca06d6d963058bbd53c517c3e81a94654c0ded115873bb46a24472f4bc931bf47b70270241daa52c011f6e04f563bbe33f1bab4ac529cd2e1be092e406df707e7025d5762de2eea017304289162629f40dad6663f91eb5663974c090f0ab565730390648d4d2b3d385421ae815ca0b184ad26c9a4fcadbdad9617ab65f0341a93269c2e93af92f40122cde2cb9af7f5a5c2bb4112922cbee963b0b4062db46059813710509ee2c9c3936e6bf8427a9fb6df7bc050a80da3f5aeca2f7a147564f79e6a4fa638c52611bd667016a1c592d110e936451e5ccca539110111e03027a4dc132fa1a44230b28db15b5ecb5759a4a61993b3b3e26ec52c2765753cb06fe5c6117f0832b21d8af1c5e245ee8c062d3e087df777e8af310bf3ec13f4df34341946c2128daf58b3e93c72ff471b06bb6e482085657b4135fc7cf52d23688d726c82dbb699be739a5471be0304f106c631f42cf156aada01147f96f54c493c32922b652439f99875b30fd311ec37db7d2d7a6585bb1484b28011977c385798f5db63e26a5917e314f19705d9de319c874812018f586aba0b5351b5e96a2031cb157654f57e96c8c537a20e7ada83892b479e514dd357889e40d6e71766e06ae482d82848e91b15f4464d51f962194fa4ae0969051aa27136220cb4baf3e1acba0879ea6a4e9a184b0e485e43ad6acabe0b40b0c70a63a1bb880ff02f9688f7c767e48301055e2aff7a9ba832a93add8bd405e6f21ab1e0dceb7df3645dc30f26b1a4ef5e23bcdc8f21fea783611b98db82ffb5b78d2f5caa65a3a23a7a71232af09fa7b818833b782bb17c4e2c38fc4328d097fb5ba57ab39dba96c256d4cc32071fd35c7e045c8b11e53ccd943b0fd2e96d4f01ef7d8a45b9b49bbe3c6fa739e7c1991be5792baa14dd45815e630bad85e59be798cd246b527afd7635039d1e2bdde45a7e6ddf438fc4e3d89b30872eead930fcb3b47af3ba8b389574978c9a13c6b7d9945b716380b4a180072cb52c86d18f5f74c3fda6de6b24a9255a6dc31f6ab948b10eb9bf275863c357855dc08991a91402e24dfc1de1369c801b2d5b87b845c7ea0b1d57a3f1891ddcb102453a25040505f06278e28e353952e987327278761d586f0a99db4162296f4af1c20f728a9f69d18935f66c67ed7b45526202752778f2c6b6c61f182f31006b630aed9e17fdc133b3e5e20b598ea53b6b37901a9e30ab5d13b5aa3381cf81db0f8d2244396b0e95726863b45f24be92d2d2c0acbc9e366849fa51285b57c64be2ab9ad6294601e83bcfa889899b15cf6cb05467fe2c8f1b1f4b97bd48ab6aa4762ada916db2b2946c2a4776e63867e9a737fc848874a1e7881053884e9a857b41ada83e395ef3aa20a891fe107b90341df979de6da974996a4a2de462324e949d98c1f0ca0bddc7555e52ba61cd1461aba708a2e8bec59d7a000d8913cab044b0521f2ea15a6050777e4dae9e9adaa32175f9fdce648770f55b5cd992e82303638b41ce060c76b45e6d4a5d7763e28e0609796fe8421bb3f0db32e38bd00de9cc404cb04b4689c7dbb9ca026402916774dfc3cc8aa9381ecd6f7d8e0325dc5a99f66274794e8614132a253ed1d444a424cb1e91d781766172176f93c312743d2124dd3a11287e139d2c62735b4b5a64c28cc362c745fc679957a5973376c4399ac67cdb7fe869faf0e25c22f49d38eb6bbf329e5146885839acdd07d180b48ce373046c21b5e6b79805dc7b33626047732a87fd5c05588628935d6637d19e2462e5ab4059d4066731b13c0a555e5ea67caa64fc458a97ac75631a1eb227d3ca0a25de3002cda006d0c286b63ea4dda6003f6ac027dc57f2b1b668bc43c5d248b246658f4e62c89205262fa28362e8ba8d8ff60d706a0106bc12bad61c7619651441d6ba46efe660439228156f5f5cd7ffabe9486e86182022a30433c63daf08b629c6a87984c7e9ac770cb0e7e28d32899e673b18e12c058835e2456d6e3a7d4650b7961448ff6f516dbe3ab64b5f22254b068983e37d4628839de9d9adcfe113998f63f2d6dde6f04af94461aeb64c0cf90244ec6fa15baa7fedb690901ca588e24516b50847b5b746adb6f9cb568c9701fb8eb44f8c06644fdc231bfd84951b1644c91fe643bdac3bbde40974b8587bd110acca01700aed94893915cfba02f32185454dee117c067ff747e257b0197fd8402a6281daa679c7a84bed962b0047ff97af210d26792b2f35fc0986cade64e27e90e57279bbe4926a2a22dd7e3015e89aade83421a2f55ed0f79ee1f18401faf30da96f79f29e89d60a6ba44756965f0f8c725136c793e00b74feb7e794d18a8a708aa9ae91f6573c26e57ed3382ea6ea3061d5e500c8d74e841e9409fffdcefde1cefcdf3c301b80fe688911d9ca61c905157e7e98f5832b4730d50c540624afcc37cd4cba45a5df596fdc3f1dd0f9f81338a519da8d9cb276fea588dde35d98c442d1d793126cac381fe4bfec312a22dfbaee885081874452a5a13bec0184cb0ad10d489c2f6f179ea35c4ea54de9d1d188ae1d0aa42ec9bdeecf90bda6b9a46294b465887cb612b8fc132afd221c4c0a050eb9cad0a1fb9733db08723982ab1020d95c8a8059178466633599fe1ec3640d48771ee31298cba4b313b4199e464a090700962afeab99c45d2ce0f8e3f223743e82d1d7690c14d97701c7c8095095b196ce221a1bf19657672bd7739256e1c33e7b04146326c04a9f860826471ce0617612f24ab80c1d7a83764c31ab39bbe54846555cd750c6a151ce81eefe19748a7bd335da7d8828df1044cc7e4899fb16d0c8c382b10b14ee7ffdab0620e060857ce8c698f9bf4a6e3a56534386b173f0c406e9ddaa535c40d5c64aebd5a000866ab02a30356fbc7ceb9e81d586d317423e8c1aec7aa1a5220df2b972eaf0eac3c2e15e963d089376241d9f904ab08925bf360d480d91d89020eba248820b46ef75b5749b2381bc1d32a221563459722df5cfab9e6e9988604d3583913673aedb16a9b25090bcb441b45fb77805a6809a90981f9503106719a47915b26aea4bb29e8db1fcb8866b596f53e1c15c8e9083b4c95956ae4af5b84a206de7567e68fa570a85a9d0562a4541b1b526f883bdfe3663a75008deab1b17da88bdf127ce9a2a7307109aee3967b01ac1156b2b2d49d86c2cc17710de8df5f72ff67db4b29fa4ba4e79a35bf03dd12c83d72d781f7fc08a40fd12260f4aaae35932dc543d0348d16c86c8e065248870179a51eada25bdceec13751745e4fc1b85a15cc8687a05d915b2117ca0b4a710192dce35b03c480dba082b3b07f37fc409dce7003ecf7e5e713d15db8aed8995247cb657a4e59c350c37617f3f7751a847c5f008c15272debe1ce674239f088bc33247936ea88e8f9e0c4b0781f3f5f005439a4ff2efdaad31daed668e1b40f18c8f3d15ad93b648e9df41a443f66ac94155db987cc16fdde8b60ec5fd46fcbc6136f7181bbbd2e5b74861195d8f8434bd1b85714dc498693f01b26be14d28c546d07690f609c24821f4f357085f54b1be197f379203ad8bc46218bb54e3e39f88b63cd1569238a5e2123b5421de2f5c1d4d9ab16d8da6e0055a377080bb61a4348385ab388fb552061611a51eb81cc3132a822d1388d69a5669d0bb05dcc96a3f3839cd8529607950603b479a64e4b1444cbeb8358926af0e26c8d37317fdcb738e161b17b69aa5a5e3c313b4ff0b4866390e90d0cd08d495148114284f76cd9d6b6ff383a74453928d7bbf94ed4d749d0f86c17695a5c478e00b2a92ec1d05770f7240754184a78b6f068cb597d18ee06adddbda58c3b0d8f35c1b8ed3830065675f12cbadb01c0d6a4d6a5c4706ac73686fe6d113f8919b5dd99d8d6556b312fb57b2958c6376215d32b124a2dfb6626368828dcd26378e82cd0a0478075ce06642616a5a95a71a70f9f7a6118898c075bb69bae70712961c4c35cc26c2de5d9d0eafeae4f5805ae413875db801206e504db286005f85695d9d350733a32ff3ef9f42522a5cd8eff8ff0bf789348d9abf4bcd3a10461b108a32a4ba1c209d60a06eb474715253011a2d50b2bc4f398e2abd5750f94171fcc6ceeb74f9465c770fcbd5f2c7e4ce457a43d6542eae08f8eed56434f4a3ae6893a075217ff0c48dffa37ad09161aa423fca16608caa11d89edbf6668f756f681e9807b4c2f2460b4827e5eb999c940c8335686242fe456db299f97c680105e912861146f164a645ef6d9583e034b0e33c98e8528b18904c7f2182e0021b50f1398e889fe38eb311a88127a88d46ab39478d2a5fc44c3a5da9f18c887981637a7fd36b69b9936eb3a7b3526864ca96bb7e2868e88a0082768c10d3b87dc468bf5dec4b6d80ad12b9502beb12276b992b61a6d5dff2169a2d3d02cca8eb8af2c67bb540b48b0daf47aa2ed72aec2d3aa34237670cfeee6cc3620e30639672050beec921b1f2bc06b3c675efa3db8517622b88c603421fe4d6dd9bd5e405bc1157d026877ea704bc1a2153d279c0b90436a4ec630963b3093284dcd8f127b2f8628182c33e36fdf1348da9c1835905e7e26ce54911354d33d311f5a30b0b5f91aa48a6ef4bac78556b885da61a48c8e6c2272f971d9f3e8d314a5db8e0aed44218f5e7f4a0ce6ecf81544cfb019f3902ee0506fc82abec264f4f8de15cc03ba735d9aa8c7662abd29ce8c5021bb59837821252462724c13256300e19d4f72ff7591c64c527a82cefc29e3e7614574ac463fe50e5f139eebea362af55df03249dde2c0f5a74af3f4b0c9cec14c988711bb073f97d70b106d7829cf196d9b8d3b17f9cb809b073e378eb7792641e123ed63b27ee67fde08a5c2b51a2cbcc9796f7553be15bbae04154ed2657381a492ff9dac956cb17c0a569b4e64d587df47258a1a4b2803ecdb7ed1887a99601554027ec120f6ed14e58f704bea545376651db0150d371854f0154c7b7d5503f7b9f241cca5bd71ff57f76bd0dabc81520788ecd2c54eb52da46c55f5ad3af5575b68c4aaea2eab221dddec4028450d9a8d3791e36a6257b68d9e0e82a427227e40263e43460adcfa08b36fed1f8d78c180030c723e33eef6fe780d6698d62d3c5918da5ed2467f8a5c507d16ef0c6c23c8d565986a064813647392ac02a59fe4c508955ed0b625dcfe73a86c8fc4bd99651b835f1eff84373b6e2ef2965dec500c578b6e66a9d5eae8e740b06ccbf5d7c3d8c97751446efe9c2ee17299989401c3f95b1466aefe8e43cd319da34cee9edd5aedbf060b180780c01eb0ea93ed9635602d21dea56ff4ae41c2a39b23ee9bc7fad9e89b3d8aab45ad6cf0dda541eb2895c66fc72a9a147acc4aae6b60717bb23c1f77783fa39a662faf124d917a332e1aab46f584a3de145f3b0504eb965d9ab4dbb7b68048e76445614bd438985d24300f9e881896acc351058f7518115d07088e51d6aef0051f5449c64c1df7c8ee6dc091c5f014eda8aa5a701dd220194c9735179119c4e7f0590f7bf4b4e979628af2965cd0ea6ffe500304c01bd249b60367792724adea4dabdecec35ae61c36db71ae71edac756ebabeb47752e804285c94f41fffaaa884ffb837f7e6dfdde65c159c082ca6b2eceed43a7ab91f633474f144355503cfd5470b4d4471ecd7abe0c7516d33a1d0186495f906c3fa82fbec1867fafd2a2cfd99b2aee13179bad34689565df1caa048f5262ce78011d60c854127e9166f1c45e592a5aa54788febb8d8f82a49dc8ff207a4a1d0c50740e1e2ea26fdff0e1694fed0c5736ef63662178ea4a4114ddf80c3e4bf5251222f38e43e07a39484e00ccbe9d2563c8963bc5c181c007c637702952002a8b14c13ff4ee292fe94315a0491db14309591ca2a2b084cf00a5d52c92f2fb3a209836b7fb2cb13e70f299da7252e8fe57397b76b5d1d9b823f169b006a4e1d8de4101d3d7ed6de97a197fd00c949f5e6bd38619c7c4f3d009ca57d5f06ef854357cd1390f85c75ad3fc6ebca5b905860552271d25225f6b41ffca3af1d2228c9cb464967fe159a373b3f826c98b2e63ee8e39306c04140e18c8950e1bf7e2328e146a211b46c7648f7ab7d908b165d03a49571c37dc2d2a89675fe037ebe63f7399cb453cfa90caf56dc492f06974f948f61560c471afd915a9340990d41bc8017af19ed8f781249239e4a97336a5f0f9abb6f3e81cb53da48b53ce162d733b429b9753e06f95e853bf9be863654d858dfb8f01899b60fb2d5c63cac31fbad04ba98bc0371abcf4d8f991df0cf91e004f1fd86d79074106adbc08aa92d3a71fa85aa15b15e89a1b3b8e964b93252627cc282e1120e1e5d6f725083462fcc3eaa4f3c80d80768f3f50e3346e0230756b13ad64f1638be9086ca85676c6d043eea238be711230d4d02170e0d98babe0851244fd86c572f8bd2538fc5b0ce24e12e468de2d102407061b9d9fbdb6581866764e6aad61126e0ef9ce1cb8c17f21c42626965b3e9adffb9b102e55a8e53fbc0fac35f6ee5cb121da4eb1ee678b6f6ea12570c73be8c1c6b27829df6acb2c0888015521db6695d7d3e30813604e274c670186de4f8480ee080e74c41d640d53d7fb92899663cd0fa15044e4a0b1076b3143fee8458922524b9be687252316cb333ccb09f5d5ea45e4f18b4419629f391a9cda49ecae93b1844193f8823bd27306ea3c963fa4d843166c71cb58a7167520ae3ca3f96bcc2ed76e91194d39e2c7261784ca20db4ce874960a86ed48f5b5bb63efcd5bbac627c4e4b104a2e60fb4a70d8adef20a0da1cc294e794f1e59c652267b2a59bf132357c1435104a2fa7f162a3d104568973fed8d9fc44c161f86d8ed22b5b0d7ccc0b4bba1c7d4737356a82cd158febcd2f947ed3b6b9fb36e82b2ad393e8ce12f1ced487674c5466645d737888641e94e91f72709c77c6fadb168cd82f4305624e38d2780674895b8aa5dcbadaaf5148f6f7168289861aa2003c3339d02c7766204e15dbb40923dc0e304828e68315efb59ad29abd6deadfc5bc29fb46ce3faf8e5b1661588ba480919057e270cba1305015503b49aaeb2fd54b86c58bcd087237f1da03e425760c3520bf1f8bd262eeb17b33eea00c4952684af328ff1630484e23a3707db6455e6ab87150664766d1c64e5f44cd2f1d841561982892a2797f17b522200b1e951a887b85743baf0e8203fd1f25c1429fdedb4eee8d03bc22f25d9bf30aba4e87ee4314f776ab17ed6eed478d65c668c609d11b7d4f7bc15f04df68a542f07647248aec15d438587db97b262131c35c383a371b30af7cbb9b8947401f8ee9acc94aa0769392449bf5b082fc20bda62c39c7366c802481b159af946f89a43e286879c1562c0c7c7981ad4e009970792ffea037fcc10b2d4ba68b897414ca13df05745240b8e52a79ad9cb783369aca812e201f0a42b133bb7447c1e02bcf708e930549a05fdd177f48fbbe8544ca56ce3920376299d310c2e8b7868d356ab091b2185699b7f02204ca24a86dd664b1165442b3f16b0dc16ce2c281b5e09d251521587e6259ebaa593d18a8afe22a0309c1c879b055057c65c207bacbf5a3a13b174e39dcddaaacc5b8d70538da00bfee7147263f89e57edb8e680e748e17d75317bfbd79d62af72b3cd01428a31133fa396e943c4a484b847ed12aa9566f6ee8b154483b7fc1d886a04eabe0528c7d17a9068a8576a368a267ff867a1dcb9dcf989e6e1d9717053e303d0ed26d89b2abd00c6525b9d260135bbba81231a7344576dce07729e3e556fc651fa27f06e5ea5f825da5d49820854247304786864821a2c88ca590902f0f956131488f4ce08bd4642b15e814925c8bc945318b91b9d2bcf0869b46c156499ef0382a7624d17f2eedbe66150a121b878d61aee947114e6d5b7f695c9e5eb3c53048d6c2461839b0cd2c0c125d8f5c2f5a75df36c3f123fc026a96857a708bca5501f648a83f32a882e7eec6bea3a47523b83a736cbc35b28e05e30a8fdab8619206ba70f4c8c05cfdbf5a3c87e164fff98923dae61e6ce67343fa6db36a0fe589ed8217b7df78a2b133c5b9f1238f1932d13d9a60157420230655acf863a7ae19bdda29daf57acdcea7a004019d67288456c160fb925b2979922b9e68ca3601bd5f158e4503fd6ffacc0d2c9300e3cc61c2e3f5f9a90dc46eb62f5918781758eaf8c50882154360b6cf4998848cbdf382c45bc1be69e430fde6eebd0b840561d1416dc8d23ead7a9534c35220155747fb69735aa347a4537515d01d328e9d63c7ba6e3e72c0800869839bc9829f0a73d1be24da5e7b16e92abaa4bf2cd90ad417bef725372968f6f90f339cf81a0121206d6c51ce861bad2c5364dc6f53a2123fcf534aa0d26dc93dfe0b8aaec586944374b15169cfa8d6b9720a8aa43b969146603fa038aedc5e51bc5c8a1562ce0678e0b81a26698eb0971c615cf45611cda52e77513c999ab7e8590c300755f61db8907a62b024aaab9128c9355d74e5d4be5ff1e517b3d6904407613591ec46b06d7b9df6fe2cb4f32039aea919f7d4fc9d735334af538a4c7075bc01f94b700dac1fe54d8f88489ea0c8e3385638f131abb7826edd53adba4728ebeef30dc1ce4fa6d32144434f7b1c728744c18ed7021cc7f2439f2ccf2cbc5b18e46e7032ba32b03cd56a4a85d170617c073aebe9e704df6bdc5ff2c117948b7cd1597a8a10cee7d72f5599ec1241e82b0e00c98c13e3a0f45dd41cb053ac529fdcc74c7f6b4aa7777b4312d8fd300f48d2d4aa41f30092133f8ae032f5640a47f0d16bab8f9f35f270d9c91de9cfd0e11b2818edc51aa243e0dac2fe56a080519034e33cb88df8225be1f0d4f98a01579b2a4506cc1bf0101d58e0b1336af9973affd2e9a1c60837bd77935875bc689c64ea0deb482a65a3dcb350172913efd7138425353c9b40c376848f17975ec815c5d2596934b9666bd63e142d1450690dc16e2aa1335bd18ade6b4f131dd1df1335d7fcb0420d350ca34e1952d24726706c3a86f4b57974786e408fc9ea7f48a9c2cb9fb9be72594d562bb0e565c4084d5125631d6571df6a54b6ae42f8e31729c09414f50f295ee4f680eb6e6a2ee7d3f8ebc5a9cc1ec9ad75fcad03e46cff805aa3bcea50bcfae409d4f4038466157b19f0a7342ff02d79cc2964b1a2e24d04da0c915a5295e72ba06b8ee8cb197e71a9d7d2856c9145ba293a1d2aaa4e1c265cd1a44ffdbf755362d38f1b67a47c7cd58c7cbd18c61992a92a74a50e208ee735b20bf544d569ae691f5e0bab1fdb370cb9b830697c2300c3363756273eb378dcc94c0867a7a639d36a8662ea3922806235c69f0da0d74ada4103bf8d0ab81be00078121cccf5da4f713d6dca7904168814e264bba57e4058ed838a905c208953e63ab042c46861a63497a9fe39d2d11f4d90125f133b8392fd2df83600e26e194f332ba926f7bc176eb77de7f8aaec810e9aff70c3c482209615a886382ad82edddbb9d0c79a1dc1020e857cb7d4d6f2d51f9e00317bb09a35d7302b8dcd2f977e3cd64349f66c31599ae8c07b5de6293b3b2cef8a0643451b6482d6d2137c4e1ff9d280efd048f89618ec7c504abca2727f82e81eca5cb65ca67921c1f834c79c32a55849868590b72aa06a2cfdff0caa0a8fcd9b2d9f505bbe6824fa7f1c3156f56a3d7557104d2754f661cd19549aced26b551941a3a2f26bbc037ee7a7aa1b2c48966093b74d23809f3aa97e6c74d9655ab0489df5ed52e0c6afecca3156bfb44273661d51220ca381c1c445f5cffde4590239fc325d687631787d13e56186280014bf76a3607270719dbee568e4e2f990f1b21988d2bd9690d3926f74a18aefcbfd6de22b964f33fe9adc59c2f47afb33eb3590ef403eb82731cf4d4f7bbdbd5e371fd5c251ab7f8002b678bb88f0ae6844df755aeb14704656e8db62b9b190e0be2f067f71080dd585eedaed7ee704304a66ee15497f620d762fb43d067493ba71e8ab06eaf93ac0ffbc34fb2df28755dbc5ec7ed5285d5ebc52709eed8df27ba8acdade767935b6918e89f857a34a6c955c521f96bcb0bf70bbc04e205aca2d279e776eb86afdc0c9797c65b23be1392be3e858737b3faf923d229306cc7953b859621c7f19a4400ad6b51e157a453430c49fc2527546b53cf1f6372bc331894b276d7998a4d5fed6f0851d16d816b82910b71282c9a832580422bdf4232abd81392eb744174a9b2ac177bb085f48bb1a83a43c20fe03b1df9475a9be2c7ee93f044b41e9918d9c2e12542321a92400b5221372515070fd4fb7763381c3476a92d7fd04dcb05936fa7bca9e75336e394abb6ff882bfde7d280d9e798db21925c7b211e623fe80ac4bd9f266f62aa6b88c8c18d1addebb061db80e408cc61c162a1cb4b0582b1f9d081fa49446fc47d2ff9396abf664ea78890954a0fa40fc9cdc6c02535dbd9454d0955ad383bdbe7bf14902d4d10c318091c431fe2288e9a1e5a4a453452447b286500fd89e4a2df43ed1497120bb7ef4d5490c17f6325a44c0e612ab8cd5ef9995c28e2ed847b4261be66b9a7e6bf250ff74453f2d9e26651a0f2e207fb3e24c6f5e0f147f792bb10bcf866331dcf15d0290ebc8153cded0c79f8f26afa5b2d596dfdceeee61e7d97ad506d31c6fea5912b7cf3a8ca52409bc8977a24877f6f09568f370aabdf9502e4ebda2da1f7e5b56f7ab1efad076225b0efeb96ef52e3901605e8ed38f96b262b2cc1fa3c201e2a30285c8957179b22291366ffd826b12eb773aa7de5508294d049c90a13de09470f4aea648afc3f90299aef794407fcbf731f4ccfd772c966577d5138d4df8f8ef4d42c45b2a65cd7d52b02604b6e79c37275c67b48d48ab398b935186c44cf4cd32056f734ca7ef2f7a089f244ae733bd4eaaa0cd3fca315864f5a7efbba2a0e6710c4122a97fb2a2d8623734ff22a933ededa15466843b3f56b1227406e467d0bbd9cf1ca71823908183e85b1c0a993f5593a3dd77d058d81e2b0046ee5f698efaf529a9c827c622e58a8b643a18f91d83db26d9820d28c20c741c583f771da48198200cd34fb0b5397cb15d5983af45dbecc2a6d29ad1e651611340923c3feb757cd569d900748d6892d5c61fbee549dabca421a6c61663c42200bd203d8a6c76a123f3e6049878b1a2e2aedfc7bd1ac6ceac54da95319176a4c20a9cda2d075fb2017714dd6a9a79f788a8b166da137c84e0042d35d9606bc2bccc8070e95304ca81ef19b2f8fce5ebd573bbd9843c99be6b079c43fe09292d050277009a24429411888460d89dc524c9c39fe1cbe6a59d1a98c74b2a7613f6211e289355c762c7ac81e10431ad3d0db0bf0ebd100f106dd4a995e489ac11dd5a3a65b91df9731e4b791853321967321cdd591a53b3d310ae23a8310b650a92d1c9c38bcc4b56053a632b614847cfdd440cbbebd6d154e60003652a52acffd185310eeaa5c0e7c869d964bc196c1918b748311e79b883b3054ebb96aaef5e0c2a9145f3c6e9989d557f84cd58519c3a88add05c706e6c8c1517bce03fa24e602fa7a8693e3e977c2716a0cd160fee18aeb7d5ba73ca333d42294caca3f2cec03c9bae9d65366b332443c976157f0dc6dbe8cd29a4991ec2294cecabf2eec0be4dd74f22b9d86a5420b5e69a498201f6d7cc094d6b5bb4ec87b00d4c07a2bb52d2fdc17cc49e42a30d5a8bc1b62e32f4c5989b0cde039e00eb9b958a94956c8a374a3b38b4b24ef30515b2cd3dc4f78ee0d772d635165febf2fb7b10b4c16b6c0642d83ee512c0e6acb02f6ebe9c0e73487e9282f71a7385775712093e21fc9c76bae088a43e61ba605f40ba85c3987236c9e8f096199508b4d4543db08152751b1927c57a281818303b97a2e11d119afa4283d87bd63fc9dd083ed621f7d960656698ce921e3395c55841e417e0145d1a8a204b0eb106ab38976838c5d7a391209110d20d4bee3a86b1e533fbc9175e1bdd40b2403acdd06de4375ec021ac71eef99572198bd28194089a96f915231d0ab024b4eb66303fac68c5b7b4fe0e03f8addb50658dbccc0f8a0622e969a3e0599e0fbb915e4f99b96b091b01bf9cf4ff3de09e5cee7a5b2ed7dc2a400dae65a314f6c6066564596d18f5a3aa8d4b4dd21343c1f7043cf5ba1612ac3dcd150c3d2348fac999c42951eafbe6ee47c3435197cad097ca94068fb57852b82fa0143bb4a3b6816cb4b299fa112eef403a0ad911fa3c0228ec4e9dbbdb1c057dea5ae0edf710cb057351c45104b6fcb622f5ab94afe8f370a3e43808f31301794459cd5bc871e7e764d578f9d42103c11bbb24a42e0a9a5a5d9c8e538291e0f78ea3931a98703d98c347980f3f8250c5825a3fb4ae0fbe9942632ca401996883264a26acc9700241c6ff2f39aa83e8cf073640f1aa500053d205c0a4a20b9bc83200ff5d8399d89849e138224368470eb60a4a10fa006482e3b4b30d6501861e7e7b14dc840338090692898714f7ff0875c0bcf052b0850322759e65e1053f515bcc2596e4cee501f11ef264dac9af0219fb51d9a0453f2c0fab858c771ee397db494a96bd6d953411b2b68112ac0a5b00a445180cdc612aab2231f28805f4f7eb0581982264f78bab19374b603d9805f241e9efb45096ca237382e25102f0af1f297b4c9013d93cf335ebbbd2686e4ac81e8207a51b94ba2480f442de615af9a9bd01718659580a05e82655d0132784925e153d7c86c9247713c5f4411ec0ea37c266ce9b406b0d68e84deaef4122fbd360feb3d1dbf20143801c28531f16b4856713c84d47446379a9c43f3bb970793f038114d2c5a7b1bc47c0921137f1594f578f5de80e5a4c485bc871c20bfc0d1face9d2e256c51a38bf08af57bbd62b285f4a82bdf2a8a652e42b0b780a765f11a1a81e1e6f44758f82809f3e8adcbc9da151a1965e62da48a4922cbd198524418d9d4dd34352a50456b7b28bb0bd04d466093483a2b114ba21ea4a43525387a624792b1d8b30d7bc075076b05566f56914545dbdee550a84f5cd143b64966434c6feb7e7b3837b7c890f8487a54feedfe7009618047053068b6a12022a307f3283e4032ea809ffa61d6c19490ab68a744ff80d983e98dc5e252e054aa0f81365d0e0b9efc5fb2684f75c685ad3679abbf281074003ae67478ea702c5ef1ee2f248f188f34d2b3f58db2dcbf0d9aec1eb7c976cbde47bcc0dd8bc7451153bae48b14aa47f34065eca251fd3fc02d6a6bc30ebc64c991372822a9bc0492cd47b1e336c596fd94c6d590844891e64b660ad504a02fba0b4f4aca9d42f88ae397375bd1f14b27163367dda681f9bf018f4d6f4f9d3394c533c3dd08fd98aec6c6213e79bed7ae6fb2169113aa3adb1ec282bf0daaea782a8df1aca0b970ff356f2f5924806d109b44f09daa03c2d7b9d6c34e680931ca870829421037d26049332b2d6147d902e532ae907f6da3940d8b21e9e14ae1633fd6972af80f5c3f81b38ddddeb2d31c2cc220de267e5071702a4f298086984241dff7980dbe18e01886118c2c1bea5e5e25f5213b630a8686f8e0ac1dc9ab5aab884ffdd137ad6228e8345a64d36a6ac395acd7ad4e908d8e6cfaf930b549d6407b0ad1107bdfa2dff10f0abdd26548dbd56eb451a790164e45d83f6655f577e9e46fa822b697842205c6ec80266cbcccd90997be3ff326f45ee47124e623ca02a9cb5abb6a236ac57e3ac5193ec6f3b36fb8f5a2523545bf9e7b1fc0e818c713304b49192178649b8c650ac89dba4519f05da917565486ea02532ded67aaa11440a0d18927be570f4309a319dba3c803756be610439e0e7b63a3201f73666d9b5aac23ad12a207bb59eb340db343e67d7163648126d443fb6903ef280b669187323bd1c4af804453c45a4561fc719e67038e1d826623cbcc9ad2419a4d10890f06d8b47a6403f483a53d02f92ce1468174d670b65375c159f51983b2a9c85a93c1eac0c635cd255c08cac353063975cb3b3e46f124948d311a5857ac87ed1cbf1f2673c272328b8839a43268ffcd0244a4df76952c88c7e54149a7a1980491ed2932a8ccc0fcf5ea516a1b9cbf211e8c21d4460c29b186d277ac2655849cf135ec1a46d271046373d21e9513c21880213992f10cb03e140c80f2dad32a3261956f4da7019407a644c51299caa09a7488cde96c8f58a36531ec8c8e55da93ddd3bf5c7740719705030bf6d8308cb4796c386165b45e97211bcd0024123a22cc71d8df1d71585776df135d4143833830caa60fcac14cd18c70c98e6e109ef63f8417421c988464bb6ed3a8864956415fe689724d907ed409dd9be114dbea2d959b9d677510853c08bf102214232479709b2a73d83f5ab2aad0878e72505f4e28106eac1d56c9287aa3f54481ba3257afea11e6f13ba1e16f7323b9b47884a1fc8613e922f611a0cc75e4be11495170a17058fcf0994c5261274a8de4fdba8f3abffce650950e6afd288d8aa3f428ed7fbce7df8958991a04bf26ece4319f7949b01e1f32c716c5474c86c95587ef0e6f4a906c20b1cf089718dda4fbc01a0bd5c0de61305017e00730aad9f3046a75d45fe532ec7b560537b283e5aebd388e3a70d5479f50c3317c34981aa414072eb39ddb747ee9517244cb08ab00051a2c58e7df3010ad241d476ae8a585b08fc248ee142026310b2a10f8402f951c0a92bd41e3b1966797658b54ca867909edb9363ac32e178bcb6daecac3100f0bae872c59dffc7dcaa2a37f3119d64ec2c725246a3df64697ba10221e564245e5900ee7cb61b4f451d278a847c893714127c3a2ac4c98c1031dc201c23f622a9e7b1dfccf35a64f98e4fb930103e25e36e1c69e3b56cc53cfea90700c41daec5c4c83c710b404dce4783ff7a34d63da5c38f389df94a8bb39d65f0ebb916c673d0fdd0e8b6aa8ffdc59968d64594d40051bed71ccaafa5b17874bf0ccebe1796f8da1f7c550273af81ffe8221ffb33f2bca05266b8a55b2e0f50c9a71445eaa4f51d79416cfcc588047bb60facabc6d501502144dfae3d04e24ce4c985e375faddd9552f5e5c06731d137afba7fa92db7f544a01a0eef2b53ebe98dde42d1b0b9a0c559f52b9b9adc0d219436632160ed211f50471ceb00dccb59d8b7671cd6e2ed9c4159bb9600f7f1d088db7eb431fff335b6817c262266e210375899eae20fe477c96f292884fa009248524945ac4dc342dfe9e7d038f6e3ec75f5b3f629cba18408d8f99efe5099c0b3f5dc0bb7c78d5bf6eaccbd27a2d470189a2347cdea70bf4de1a43efd32d7a0f9da3b7eb26bd5987d2fbb54def99c0a7ff58ee9528f8d26c77ce751f12572b6a45a9a815fe872a8dbe357c483789daabd4fd84ecacab1b0652ca56e05a3b3e4194a00e5871501429ac05fd80deda64e0f3db98f0cb12dfab33d94beb73d36e872127604254e2308d11ba4c2ad596909cbe538d3f0b7d349efbcdd457e4801c00011405faf6a60765eb9600cac6e979ad74ca9933557e37407317178c7ecc2bed59e923ed0cd715e59c5b48c3d4adc4a8931afade1f55a07804315ede515c985ec1f6521a834ea400083f65f5da28368bf13cf238b374eef8fbe2a1389a682024660448007673ab412051ab03af2481101d0420335f2e7d58094b962f57149e286111ac470a8e8494537968afbd81a50e8f20e2daffff9f24b446b6264228e536addc466944e417f9039000ab009600f7b1fb0a688ea88a6c1585b03704b27fed07aa1319b4b231996eeb7caab39bfa4aba11feea299474f16bacabf634521509bc3ab2580fa21363af698b9739c78f3310cd93d3a843d3f1cece3de71a99f98d2c44e9a45bc88519e978a3bf5074a7ffe1b47110cc358d672eccc5f25ba66ddeb3355786025ad5e4af290c76718bf5dbb30bf3f86259f47f3b141f4bef2055176c915406a3c1b0322b4bac6303a0ba027808b894016e511fd61320f09e5232a0f48ff790020294ee4102e8202f9b0cc612bdc78fd8c70f316b1efea7437188b881a293fdc35e06132a6674349d0b74b89658d1e243b523313e2b24eed95a8711179c4b7200424510e12690b06002c680026e5041530718424aff81c885490cacc6080cbae9b41c0ab98daee4e04134a74599266afa9042519a92a8d7d447c2d2951e4b322e36a9a41b05f6abdbda7178e25b183a5735cdbb8bb1eb2a63e3e81f2649077539a262606473b10266f85e8307c2028b8e48051a1d11cd3918080909711ec9d2b7aaa448eb63c6907b42a7f8e599d739f13945224ae3dcd222ddb2389664d5ce2b385fc219114e5886559efeb26b82f8aa7c6691224222ae58e0e79eeeb8ada4c8aa699ae5364877deb4e6f8e0fc66c567883176716bcbca54ce960f245e7848c162c309098ac907733bf75480ab3e3d1539b46dc8f298fc46dbce17e7923885f78b32f4555b3ab72bcbaf3b3c6d7bc35c2cf66937716637ff6edc18aa96d249b51087aec9190f035e2a967173537dbb31adc95030f9e259c0af6c3d5dbbba1d310abecc2d6fcfc111df6df92889b65259dba5318b5e059b261bd909254efa86d9fb0a02ef07791524bae077b9e8ab07840ca8d3b58e3a8d01339709209224e20e65d212a33ad312d401654a5322898d4852468a0a4a0a0a95650c275a795d60c52689ba781c887459bb1b8bd35fa1c98fa36b484ee7908742266056bca8a8c29be88ae1c1515ada70b7a5e329ccc5613322f905a290c9f386c36e1b65f9993434a15d168d99c453e647cc08082c93ad796af4ccd49a8af0af72d0d48bb782ee57694893b6c4de851c6c32f30d72d86e46208a46d583764320640e83e63c9f3c34e7613a9cdb14c1eb2869a12445557540601a64c3a6d381f4ed045917abfdc94fa40237242fc9fcbd27c82670c452de0612c19f491e57142b3f2a9634d61c01642c73c47e6d3982a760d5eb2547cc4c18430cd2f72cff652f49c19ee0fd0a84ab5c787dbf93eb6f601be9e2d0a89a9c8d6f34b042b795c6fd79b63547eb31f87ffc6c7663d6522fd2c4de10515d1c0209b647287fd767b30c6c0d564af5a564b47a255687a34371c962e3b4b1b693ca7fe72a9e130d88195144ad5cf356a74ac5a4b7a2d8795c9bf5707ba485e52435e6f96443b09ebd883c8c461ec88882e5da926f74510ffbd927002bca07eb00543b7b24e1b3e263c23dee8a638bab08b9e4ea23aa1571da34e3b61030677a9049653d73e52f7d03b6a2280178077d060b01a6ace8edbf4adeedc5357f41627d926fce130b86711cfeefe267c0bb4361f43c1fe770515411717a693f23812611287eb237f1fc16a97f017b71e862c842c9cb458568821754fad8c603e8a5377f1f9f02e6308ccc01dc4d73907d98cc1701ed7de4c643c3ed7a47091ba7ba8affaa5165d141a09dffb8b6cfda6e03d2c283b8cabe706c979c2147aca3044ae02f4c510807995dc5070783c1107e0ab24f6f2a4b1a83703281c340c63718fbd7ad2ed729c4669ca544dd16c5ca908c27f64b3c10423f22c086fc931989ded6338a624d08171095a43c2cec0520cb40616ad3ab06cda1d87fac20b9267a628a570d33fb97ec4d52934e0834c3002a339f890f12ead8fc0dc5b02713161f8878b02fa04c592362fd5e5a871b55da32efaf502844eddaa3887656e1fc63c924aa3f872745713dcaaa300c954c6ed583804264476259dcfca5c3269abd627bbd0c7fb4b456c59b5991f5621d9d55489bfd202a53c05076f788482cd670d34bac5ae08080c16d7697b14785530164fdc919912085f0020e08086eb1bb8c7da800bf1adb62a0ce180ed8a8ab03ac9c0169a6331f9c20f02c50695b211a5d9e69934a1595616d5d15a253dc426eeb04c76f1dc3ceb852ad21821a2669727cad0837b92d08e09c8ddf3225665ba212103618851a4b4063e2e479a65c7feb6aff3e2ac08c1f996d17fe57d4b94fa0a5f2fef7329b38da672183a8445f3429a70b97f107406f6f0484f002c7b324c75581396378918c30449355a5da4f94f9e0c4d3829ef63505d629ad90f3c2c5eb1db4028aefe2a5e0ac758b4189818de9a239a1f9a03335a55b7264961c3f4ba41c1100791783b7ad8c794d5997c2315508ed2640c0aec392d1bd887c048a7b44d3a2877be2b06178194709f2702a51eebd4419831551c5f008776a404b31caee40a84388a280e32d20710ed532a8b67c39b8f84b0142ef66b2250434b925096f99d482c05fc7e67f399d773b532786d6a7cc29e4e2c53bcf108c246b2dcdb2696baf29fcf34cb65e55538525369d4f212435ace3406a9241e722887b729f1c2d933e3e0637543f0d7b38027d2cb378767b4ce50a438a938682b55013650f8e7e888ea250c557150856c6afd9058a83cf1e0d74d64573a5224acc4d773dfedfaceec10b4948638a56a1756776da3daa75e7b99bf6e18e90dcf0b3b0d736fb26416936caf9a93134a377df03697d98d963c584244687116f11f6cccb14247e2f0667aa224b6c12a9579692406705e093dad584f3418d55fe31108849915700ad5a9053498c60c7f34b6edff640453b4abad71cd3ea1fe9131a85f37123a233dd1b2bd43db995ddf86dfe62da8b41f869b667fe9e04b0f5c72b2593045d8a50cd00bfc33dcef3ac70984f8aa502c1c54afeefaf2cf20e3d862347700dd62f6a5cee89d2f26afb0ef891f6f00b7834ee4ff15429f4a9f80f760bbb23ff3ba213e3b65b4b44ad757c88bd81263439c196ad8aec79f0525acde0ef6270271b8a1f3e529481a6b0a1ecc0d22ac7ba90c7e45dd4f9566e8e167b2ec0a81e5a1dd49a084152d2ad395f3a3e942d01fea3b8db20561961ec3aa372381579a6031b8244f4bf405a8010599ea20b0444010af6843361701095710e71c551510b32b52847f122d1e4e0bd31d04480f2e4b121e952af228be236f0bb248a1fdecba53ed14d58616262456c5c4bf406351136f2fb51a7f4ff3c160d754d28e7e17d85f821fe9092feef76f9b6dbfdb2bbbb7b65f79652640b31031c03f1021fa45ac7bede38b522f7a8a94d130408dbbef9c1b9e500d908d211ba3134db89d1483ca6f4c4d7b7a3f15f6cacfe858e8ddd8099a9769ed6795035f56be1bd3cde4379fdbd88866f570f4e22c5cc1de6902964069940e6cdfc315fc655ac04938a51c9fc4ca741d5a8daa67b3ad7b5e79a47d3f48e9ee9916b9d971a70a72599448ffc288aecd6afce9014e44bebc7932c0f1d961b369cbc6a87c33f8feb7b4f8747ad1e3ea0a0ecef4b2c6b0ed9d7f0e3eb0d0a5f6d3ef055e5ea0d0f7c4571d54607be76aee2b8f83a83035f659cf095c684afa5d509ac7929e9245d058a8d74350846a4ab4231adae0ec9847475c70c485f63341f7d85a961f515bf3cfafa02be18632798550c9729cda4685435df027da93fcf551f155775a4b86a2b71b58773b5b6e22acf89abb491ab3bfce605e7454ecc068c4ecc0d99d9cc0e0dad06b43480a39bde3b45bbed26ac63a735204cad6d2d8a8a9f63eb47759ab34579cab92fa53094316e511cbc8388d63b7d928d057fa5e04dfab7fbc04e7553e9b38aeaaf5a55547f550a84e9f39fa67b7ba68ff8da4473d01df407fdb54a5c3f28b7142011412a42244c78335545a17aff57a9523d857f56f2d5f251fbfbe8df7c15e953fc74c197e3c1fac0207fe2f20086243a4a6cf019f941b9890089086a09ed0c85ecf040dc746e2aaa6316ec755d41ea4f205698be0325a402dd566f055587fa3d2a0e062ad051039e04701c8880cd0bb0d4d748c078c38c157c00f642ddb920bcaf51423703c261f3526730166028411f3cdc3ab87c389cd84cc4929a4832d2457aab8f21e3631a6666d82cc8e963c5e21e56bda1ab5637eafb6d66e3bf52e1534a1579afd7ada22834e7156326e875c2b38d3bb0712c26e775eae09f241b4a2bcd463a697983b219c510fc3e6dfa8c6e2b077b4283505496f7da6c397baeac12bd479d677a240ff5d213d7a13ab54b75cf33d7390fee836b65113d22926c93ee95bc2e3275aaaee71507c2751d924f56cbe17a168becc73e9f36928f791bc5b06ddb1b9a57c30d1e6d43edeb016da10ed167fc216fe58b6e6041613b7d4837b38b82467df395929f204712380505ff7f9aee7d7547f3b85a976d1cf6c9f7866dd0c52e60c9af42be430cd0c19a0651abf6de85d77159e4e23ebea27b5b9605a1c8cbaf73c7fda7ad388a4fee5dfee824997fa625743da5afc24db59450bf25fd16f3c5ff2c0bdbd5949a9e52d4849a24b31cf55224c590fbbaee1e97579b5d085becb5bfae697a9e7b8ba2c619b7b4c0fdc6c26bf3077ee2a74b8d4b5d77fad215596b3b0be79c3bd00335d857f00bbf9e8e9ad4fddc78844d10bde2abcb5d6a73fdcdbdfab29739af03b5063f520c4572dca3fde5799a27e95d4aa6547ca1d9259fea6abe52f075ea5e2aea552b172e2e56dd8a708ae795732aff505c9fb897f2cec4c5120f510e9ebc2471d2e4e388efcd472537495e1a392af233e424909f3e9e6a6ef2f8da7195e3a8cc5398ab2e5fb1a0b278e8cee0b8de7333ef757188c0ba80b5bef78ee457e63869ba37986d80dc08323b376ce0cc900163615d18c128d82cc0d70c3c33d9ee789dc0bd8653b0535a0c96c786dafe53cfe8439bf99f0ed27b3ee7833fe88bb71290c986cbe9662a4ae42d40bec2fb52a020adf73d183ec92d10b7b7935b1f935bdbe6b666795a98db5d6a4d20499c224c94b2652a29fd93d2512bddad318b2277ea1564e1d7de7f379f5253093d49e668972499f928f61721f8e9968ebb18dffcf74dc0b57459474688f3c218a36cf8c2ca977fdedcb0984c385e97c3e27936c24f470c6f8ce28c1c775094a4b1a025d397fa45f9b521f99531f25b23f24b3323e37578866d5bd181c227c50f0a3715402b825a08a530e472f6172f35b860526454684ce0dc93b9bc75ba5bdd87e9b7bd4ceaf1c507d35d76172d257832bcc83e760b5362d502765bf3754ba37b8bd771897f75fd954f5043edc765718f67998e56d2b34cad5389ea4aa1ac52f88bf050f978d67f900879900f31f12a887ceb4548442158f089134f3222d2e226424038890f1657f1e8fc572a8e925ab94b45f192936d99acb5d65a6b2f0b2dcbc5fede5154e22e77b9e3b203628003c70b3e9f19469013020f6880260333142024831f1d32e4b88141e70210d891c3013240375a8073021e0cbc30d3820d3c3c37b0cd8016831c2edc62888106345a8e07d800c39043a60241b19906d8ac22b3f6ea62f85811a3e25bab415114e57011dd610729f83de06b0720f889f2818b1e3af0ece270c2712f8ae348926569a284bf4a9ab25dda04168955c4a9e2628a97ac3cabbc8571529e6f4c3ccf28f16c83f22ce3e4b906e49946f33cc373cc0992cdf419dd7650abec20d9f53813fb7d1cdacf7a69cf3927d8905a09367e08d4567acf0d0ecc4dcbe5a574b37b777a51a44041c58a1629b8e47fe9f8e2130c82bd2d6d8bca9865e1cd407c3a1a57cb36ec736f36686655f3aab9af6df64d3acad92736d6e6302d7717f31d07b37238968ae08e13d4435b7b42a277430ed22c6ea2ddb10c8bc5249de8c82c51ef1c493db441a2a151af19f56c8369331a8d46a3d9dc68b7d9ec36bbcd6eb39bb519b2362f434343434327bacda5a2daad65de9a7b1bdd6e8d791bdd66b7d96c369bcd9437440a3e11e7f0fbd65404df85a87128b236a6cbeee9b26bef45dc815af470f71f98dfc3b5afe344507b19e3afe3c4cf988b6c35507bf9c6d6b4c78925af9b9b9b9b1b1bbbb13114dde652ac4536d1e572b95cae50eb6e7369be7668e8d25e0cc1ef6e9d3d7c6d6e8816accd396bad4551dc7b9fe799e25484b3e556cd398dfd98731a3468d0a0f122fc997bddbde8fdd62cdaebb88cefea0286d78190c68bfd37cde5c991db1b452d6af003fb83236ab4d8d1ef921cc5b083b8e7f0eb5ad45d1cbdbe49ae9f65eee9fe156ae0d12ec9510c7bae3142d65a14f73ecf14ec2bd4e8f0d7e0320bddcd34eebe98bcd8867b31cef7e60026e26ce2db7d57e29b39bddeec7de9fd9b3d8db933ebefc2e7bc6de6db8dbef7cc1d3e398e2409be198eb0be5f3e18beb74bf2f3b851ec611781df674e3f07f6dc7d17bffeacbd8ecb30f015596f0361d66a3ec1f0645800195362d9cce18efff37319f7d2b9c39158ae67c9ec48e5282dcd736774443acb6d923a772474a74aa749ee15d419ed5e3d7d9aa6a906d5d309cc5a848319d88a2a9de60ed58e3a759d37197e1e8775ee36197ed8cbddef273f7cef3f16da9fd44f73b47b5af695ece7f861df60177ddaebbac8c1c8b83f0cd57eb430abbc9a082eace85d88be771121988b00cdc5d7ebec77b22e675ddca8c26d4e8f2211afc339280093630235dcbd396a08531c5e6f0886acd42d12f518ecc1c8d15304f2228f94b37a894797b13cfe03a4cb44487e62c279977df4e7215d6652d2bc15e2f1ce3bae762123a82e8704d055d76394c054314860327425618f3a71f5b9ace4320c4b81e587261c9785005b853dc60a5b4f95e4045bb5fa99cb4a3d8609dbe8a73a990a53457a0cd61e5b3d4609938dbf4a59c194cce34360aa084c66fadd651d94b520eb3146ac64e8cb486f7a005b7b97752fe3f0af3725bbab2e0b5f06beec7b99a7cace4ff5b5cbf6932f537b6a12a5fc8489bfa05c9fdc45e2284c6e63a3cd77c953488e428c18f214e42a1f5fa1b99df13afe1c3791790a35d7058689d5247893150e283aa4f8800208151eacf8a005082984e0825d5c42b02980605b7c6057a84021050a142b2b263684f55cb07ff377fac1f3d1f44fa857d74fad54a955459d5253093d41dde56b6b38771a3cd112b7413e6aea57aa15654a4fad974887ada78679300dcf74700717071d5147f4d883f51fb3909dd68b60125cf22618f7601bf6f8f87132e4a5092f21e12322bc15c2413e38cb8377d110c66f803ff10520c09dcd6e3b40b4201ea1da50cfdd618be980f189b95866c6d2dc9a2ca3b3d133c09b1307cd29bd8defc5fba3274f41cd7797b9b658a7e647c6cd066846d08d10ce508e8d984ebeb746ed39d5bb0f1901ad5666904a8424b4f2942114c99776983c4e88a5dd64c5fb400026313eb1f6effab73fab75cb0fb56b7c2f15d919d7f17b615932d2b23744581b2816a7c4ce68599bb5b117b5aabeb3403208abbf6a455dfb82fafc62fd2e06f21a46f5604ceb4f997f7466e44b34fd4db6a6e453d69fee0815188912264870d9d20389327620ee3f0002f80a3f819bc05338899b7cc445f010fcde1157a5c32e895ee29a20e1bafa898e2dfb8a0712d953a0986357d1c148dc07e82e274a60013cb3b203d3a4c03254f0192d308e0bb6810d804fe00288ac076e60618109d075f00c081fe22784177103c08f007abd4a50001e2624c2931812c097d831c29b8895f024649801dc37a10412463021801222900800eca50280112188002104d6e1f027373abc6bb6f3e13dd078403c4aadc783efc0863f089013a8b4aab5e8264140d102f316011c1cc9c2344ba28a41071f14650f0f8f0fc3e2604662c6110308000600804400000032008c40009267f68abe7ad9b945b7e9a42af003c46082b66b00ef1a56eae059e757a45feb3eac5694b310dfb394c38cbaaa0e33b3179bfb093b1332df2965cb190a8a737bf9ea811e366717c80e2f28b83923e1a8809b469bba5476934648c1841138309b24823a34898b01c5692e6a9503d605b48b8aac5fe5daea126fa35b9a3d17541d02242f5ed7596686ffd8fcff09aa5719ebe3809998b343f7de39d617d2feee550235b4cf697b72222862ac09ea8169de2ddefe49cd0cc0b76e8f2d224c5a3bf6e36ec4101fc4d5ae8101e2f8979521ffc49aa85f5ad7799031d31782f8e12400396a13f39244cda7347ea9282b84d60b581777503f7c08f9843baddab9fa0eace517df3762bdca4b170a56f58f12641178dddda0d48cb9c38a18462af00eec8e9804366e8d339c84ad7ac64732b0ec5bc0f1a9a6f0db7ec980a1479667f7ee437db1ca7e58f311ba54f906322070c1e129c6283e5071bf9e50d1bbe0563238b222f94d20769fdf30f5453521c101db620ea6bb59337d163f77910899e9e0afff5bddefe8bf02de7d36f845a926888facd7dd7dbdfc368df5cce53fcdec2f3dedcf1d3d3793044dbfce3b8190be7eb1771b187d1e112c30df4925ff74c52a017737c671e684bf53d7bde1f8c20e64878fedf772da0a87b1dfa5ce573a5ccbe997c31079f0914de27b056120cd5a9d6306cfb7f44b4f77bbf885cdb77ca7a8c33dd673fb0d763b3f255d552838cd8a0dda349b36f0c897c774e3850fa8a2d13ecadd6b8be3e52d94f811efeed782b78c257b2c391f9e51c3cf3b74f054c6f10dd3180ac6620d3311d699380da30d5a2bedf69b7b6040c5c0648dc85f9ca78260668f5461a8ad1262a281c5dc5eb9cad6f898ba996936a841a9d59ef2e5e5fc493fd2b6752505577b7e49a99f4ee637f87bd3f1f9b4d5f6cce11a2eca7bcdca2f6a4a417aad4a37b9fa8bc09aaddf23307ad00000b0842dc716165a9e0451b306b7aaf26fa46c7e244788f8fde77ed38929c914692be8ffce07984ca63b01b4bd0f6e8fe3ed09c0bd0f718f43ee09ccbd59c5ae5303b9f634a9026c07c27df33d7b7cdec7dfafd69aba56ee2f39d9e1a8a4a45acbc50a6eb826d96f2e64ecdd9ad55c48cb1b61ffbd3701195b7eadbe728cb3f5c582e7e3639d639a9ff085362a01804a1c2d13eb0796a571fdc5bcd3574dd025d622b84fecfccaead17a2a5dee66d3b19c6c68bbb27dc0ec0d4b6203e1711cbb04f3435a312aaf5c4b01a0952b9d68b8f3bb4a4c71147d2320f53f5a08325e96ee43ee0f9bd5a121a856b641256239f8b7a7c0d6e06f3a3b0059da421eade842660ba2453ae1542b3ccd8232766d02387698368f6e98518709a6dca801248ad5858294565a43ef71f0b53fc49e470cb303229309b9c6aa90badf54b437d27d38ac986fe450311c0747d243d40fc913fcb4dcf0470bb0f573f2b4d41e78d8e46a66aba1533a65296f286f77e97af21edb7d6273677e221c68cc45cb04713938bdc12c178080a9cbce5b3741596ade779393fb1e067c44e5ac92dcac72e84c1256bf70bda14637cc63261e9fa39711db8f4155b691ceff1415a4e41f0b822fe88564ccc37380ae0ccc93e7c4881005eac8e987f8a299188814f4cb60e53252ae456dae14e27d84c1368c540ea5f144bb1e4dc6875c050a14404329ed0e2f99575aa6eb06003c596d39ff3fe443d762968a0c90dbcc9369ddca96b8cbbdccd3228ef7b0accbe8f0b1d334c431a5562a3234b7b24ef24c504241c4784ce0bdeff703ee9939669a9061e076719f83f2a276c3ee0b76d761722fae44429c636e627f53bdd0f358ec76251caa07ad51328b588ef0832bf0cd1d917570c37b32e6328bb99ac6c7050d3884fba8453781022403517a4345de28f23144b636d4204e8e456ea0de1a320734731f61b8610c78db975cc0a3f0f48a81b57d2705340a6f13833b6c2188c479f4e787f48f2d278811f13ea8f84f11d860c4ebb7e81618bc252b57d34a8dde4285a019e53cc4e509003b578564024ab884519094dcd4d3cc40d9a860d5678b78e2374fdac95634cd0cdcbdfc9471924975c0822d89b9499598924c5293495c024001732073c364ea7ea03ec079c8dc2e998a19480b709069d7536bc52f96bedd2ae4b0b8e005ced19c894d1e5ce911fb801a30e025b0805c416503ae19c3394fa2b4b31b376e9d3a74cebd2b678e1c3972e1c0a57b7849f39b428a79d05ab06ae7cf1337566b49b637f03ae8e764a905d5c23050eac9be845c435b6d59d145f7f681927fee9b052bd564e3d3281ec597e3a8480684b3bbf390b6ca276f1aa969f1635e36865f68d0f123fe9697df92d169dc70a658b03f0caea0b3feefd1584b2957aa44c95e6eb8ffcf04131020e9232b01a8a2234a8286f7280c4ea3993994a45f4706c3757403627126d365045191233ae86727343315102ac4d842eb21530e8c4a08d06c794d2378fc824647b86d3d745194179b4bc52302d246174216162400280de20dd9e5a949c3a94e9a1b4f635dac7522b749f394ef02538d69427184e09dd6a9321ef05b83aa0326ec9a71d87444200660006fe36c0b4ecaab7c89c3d02781b93ce2d1de826d00a9c8d9fd6b13bde9a2e3e28dab434deb4519372899dbba6df369a20b0cbfe36e7b57bdac8ddcd1cdfcee77b2228b1eee2041a6bf444e28ee645191190f2a6d58cc656b235b0eba64b0969ea015d281200139c1c454b7d497575886c486ff9d0f97f9c88c33a7cc01994b98c0b096cbb1bb9144a08244695cd14c5a3ce0a2879f3eb5c6ed216de30ad226faf7b44ec8ae214cbebe6ecc6a5d6cf26cd335206d9ff2a825df20b422860d34f2ccbb33f809d2e56d163ba56116f1c30f07efa2a834150baa040907163ecc37ff5a245013e6957bcc4215404903f3afd3ca94be5c8c993ea01c9665b11a8322c0f5fd2ca2514f4690f5cb2979fdedaa8de1a1b1a16e81b7d9514b2f12378b9691c8e838b9485458442fbafa16fc730d82dfbbe8b1188cacdd1719f4853c0b7d2533c6faa69e78d6f5f2de535fbbb6af53050aba195e2314aeacef2e0a8fcf922c227d08131aad70a23d17fbed05781f19743b5b1f14fcacdb82177f1e8a3182d3f83384eaa35199ec5201f8b74a60d19b1138615d9dc9ddebb97c70729584808ae97756b794d335b3484fefa98ceb037a42e3df0425599d4c5200e10fd6f5c2c3c03e34baf7dacff74ea18ee935ad8a793602853f577a67f0f126490e206e971e2586b0970d8431f30aa0b3dc7b8d1a5da5ed8dc8784fabaa371df31dfb3a505cc500f60cfe423e691be2706b6773d4674ad62b0ad84f7489c5add91962bf88e8fad0d5c95232318b70ffd9834130420ccdac55fefd67fd43e8e2178571e8bb22267229452f5bedbb7837a6b289fa77d35d18bce2d424a23effa82c9b966a5a7eda4170a72bc12ef46e2a746b396a75eba18ded2126b7d98a34dd04e0d555bddeb57726dff405767a98260894e1c1ec0ce2d75bbdc00d23e31eea540297facb39ea1c2899d1eb1735c1375fdb3886d2545dae8158e936beff018e8f9b19fd9e3e2d2a4c8a69c54c9fecaf69fa5a28b1e9e367f37d4d822a07da9003ec57e61499457f56f094ec9e38e5a71adcee80385e2c1c13590a7fcab80569d82b9e1b20d2f5cabe32f70682307f55249b1734b395afcab87a4f89dca2a43eb59867508e37b1d3f60f375ee5104c4a6aae892c0a34fe4655c4c26a1a59e9359541d75d64c44aec07e71a4cd35555e1237bc3e44539fe63b55e7818d9074fa7afff7f9e10a4c2bdc474584f537f8ef582c1ff76d4f03147768ed88aa1a537188bbafa0ec95ffa195dddb1a37e3eecbfcf3e0b3a3d47c624ddd209553f0faf7c5eb640746991160a4a610ed288c4a60618a5d0ed9410bfe8de1e9464b1442a727f2e60739c9c23d4002c1e47bd16c4ee1e3e913d443e716c1f6e943ca1dfa9df165205ef5351d5988cd2c3f7d262b3679796279c5c5a08e799d8d2723e8a1ebcf26ea946b430fe6424aeea936b2a721e324c2850768e681bc1a1ac23370d858b1bf05b39709ff7450ec282ca505460e147a87a32697f736885a95b0f679955de9fcefd6a7022054919eac2cf06273a3d29570133f0021972748ea6d2f86c8a5f63c00dc8c101e330a8ee77a106d39bd90a9e7c23affdb45cae95b8d5c18dc763346b8ca06d330d1008365e891cc54ba578f689b840e43d5e260e14c9be96710231de4ddf8b446d12aa27da96a9a8fe58b1ebc0b3c13681ef01a7738d47c1dac9e08936c22a5a166e2c18dc2755378ce57b78e8a1e581ccacaafe1d53cc6a9a60e1fb9c3e0a996d8fb40107cc71fe1e88653b6e090a0d727dd627320b824abaf8849cfa473eeb0deeb96041def09bbe338f7209240be24dc195d77a9a1181f2130f84cd3f5ae147d272c019239f5adb906faf560a91e025a2c1fecbc969c4c7bd4adbc0bd769b942974dde10e63aa35ed82c15555130a3863bc46057b9848605cb7dece50c5988d5379eda1c37226ac3d9b0ee4cf7af3f1fd852a6d0137ba974226151d53fcf73bb1a39845e8da90ef140b1d215a83662bb98c9ed3a27d605910098e5c43548f3cb5470e11348f04bd755ad28ddf9cc01c63301e1fac886073089bf8ee6b9f3f8a21ecc593f2b6e44b78eb44914362616e553f532344871e7eed51f0b3b024cb26056ec9f67120ee8fb45bd7a0039971f437d73a5141773f38d43cdfc9551a805eae1b403e3dc55571a07b2cc4a3baf8cc7046dfe331d43aee4e5ca35750c3dcca0b3334c74d697976b2d8294d16b13ad125f3a937af4db9f5d3aa6c034cd40e997e97c7d7936fa46d7991039a068910adbc82620ff861a5980e42aff2df7bdeb961b5938fa3ffdecbc9ebdff3e75279f67c0a971fed661df2ae102c1e9d282e96a5c6b882dca446a91139ca69593153cd45a769b2a7d19219b3577652dba76dd221ee194f1a6e34a5b8069ecc55b444b9d0ff908085080ca955c3f8a5d8455dcf5bf32a7c326ade76053c97b89e824d043d8d238e908816fb12e0d6425616c32dc015654aa7a2a369ebb7513c54a8363bea8fe6200c300e12e71e72a21598fc530ee6a3f13a7c5bb7438d6a2135981e3e9dd819699c46c2d8d296b354534deac60f209a8f30398dbe096184d8bafd15d7a2d5999fb7070c52427e903f211beab9ddeccc4ef86ea4249721516a62b6b3c20d79cedd724a88f0404ea08244f7edc66fc6401286e8cc319ed7db8aa56cd42c20842514ac5c266e965f33950a54bdf40ff00913e2393b2985f760c19c6aac552944abd80cad71bd52c07c804e69ab5829d3555b13065e8d2789e682107e627bf4c2aa95d76be19c8140560f629e70e56cf0f89bc8283b350c6eadd1465f4d42cd513b5957d0dff4f2b58250a8869f2f4b14c55b7709710127e5c5f81cce5c90f27fce7af96cbf4e03dab69f7f3ef064ffdb5381718d3759db1906b160cbff446860eb82d0f81fd13fd241d3a3cb1642f8611e6fc0d0dd726cae0138ca115d9903b899f9272510f145bbd903a40ad0fc977cb9c3ad9f19f0d1e1f23ddd82ed2207fc8779847b0efcb79e0e084acbd17ef1f147f2f26421cea7f7404c7df40894e1f40f30ea31f5eedd865c4a4620160ae54402b1585e2c168b65852222918c582840514f80b563d8477af520c37519e37a27b3ccb1219a8218e15cd9ce7eef2b87c23264f0934a7497206e1e0760e7cbec6b15844800fc63eccca26b6bc29f433acb7f81052abef08d7c9cc81e1b71ce6be268f95c73d9e5fc838a70148874bd1543502675d19479815650e5b1d1fe66cab48bc91fcc1c3d7df9204e0a961a3391fa4e3ca1cfe69ca4a9ec9b18aa367ec0553c835dfa77a8348a4cc9b1300d15e525bb6489b4b3b058685e164b189290fb9d6ad7a4c92fa915082de3ebeda4130939a87e2a978fabd23fce083a06d160142e27e7a0d7b6cd91622f05b4a383e81c01be2074441e9a76c6fa437e79e1d884ef6b115cea42d5b0f3cbfdcd9a32bfc7a0893a829548330f3bd5b5486d8943f09b9139992a2ad15de386e52f3faa4cd531f36ec152f1455af320bb18fa6944275a5ce3870f3767e1867d66702e0b3ea28f52fa195429c28d20e5dc649b1b8256ec8403426474f199e48db5a44e778d23186e14a71c92c6abda0fca4256f9dd1c5a472f135dbb4869ae1bc3ff41406e231fd2d8af39ecfce10d3970ea38dd30797931236867046a8b445915459399efe150d885c8fe34cfe58a6c44767248819593205a4b27c3969ee75de6d5e00fd37ac02ad2f158cb832646c3993174bd6e1c2cadd23b6fb33cb8a03795c5529b86d9d6c30fbad688647ec7fe65658a5f6763fa49eefa38ebdd0d6368a1c54e046582c8537f92e6ab55e02ba9c30e840e5cc18e2a11f1f874925ae28fa4f47a4a3325288e796b334e743602692eb32d4be4c6aa9d417f5493edd2edaf575c00362ff0b32e4b433e0e47b3d5861a306c7115e240484b51a51dd54101ea766bbf96d4f8ce140be4695e786276f4a3d1617a4461e2a7341abb3578f1de90d06d40263049bc408367b1d65978227a0c025983aaa4c48a15d7a959347826c929a4cae9039be0905d269a379d5374aac1ebda0989154c7e31a4f4d866a8e22a2f860245b8e604666fb17cc2e4ab8879dac6900c3a99ee6160cfb3a7106dbeb7cd11bb8553ceca47cbb4bef5540f9dfe3ad369221dd1778a90c4183b46202c2c8d445125d485c0f96da29a3a74c498022c0776291756d07f6924dbe802de4fe456043dc60e96253edb7d52bf3eeca793f10b16f3c04ce040f8d1aea5aae26c459d74e03e04abab813fea764cfe28f7bca8474c3362f93d4d99b878df80676d60e317459aa162427f365a3c537b85c0809cd92db114c228d533b2fbb72a5786848a2bb18a52ccf5711965d5949743182f491d4d2c1aa2ead8936b52d36682a6b0e48483031c43d728aff08bab59a8c181f67d7c62280a0158fcb88bd850238268611e3afae5459362c20a2a19d3b3df50dc2074a868a8837e11a5ef3778df74bd99184a56fffce99551e141fae0999042ab4a8b823cd5df73e59910f9a850fea5244ff5f2c4505dd2a35046ced9abd473dd52b69d97ef4d3b3422e2c2076a7b4cea5de250bd9f8e7f08671ebab3390bb3e72a58758b552f1a6c802bcc50fa4669e3c679ab187a502f7d2cf8fca383b6c9a8ca5655b40a7f08a1f9fcac8b5bcc883da4909a9d3958ec9f03ff0723b5224b8566660314fce9b16f0f1e3dfadc93f77af0fd1ee8f77bd6561f7b2a947543ca8df5aabed080f452e3ea93bcb801a010b8d275f868567a635ebc5b10d5e69f102ad9a7506bb2078fdf6f6f54bac31699389a77711ec63dd6c1f730f0a19b9a121f46591105a7c3452c622f6e62cbde3e5714e1547cf98249ef8befe1dcf457d18d46b8367c86d0f00d6ae12ed8f0e01b2470b3a72de023801bc5dcbdc8e326cc1fd99951b3db32a05f2818beacd174b587fc8ccebd50440bab570c0fd7fc895ced8d14f0849bfdc8fa8b8ee1fc1cbfd2080263c7943f46c3d025c6236aaa0109e072234fbe26373821a6dcfb8f5e571789a72c22d753c86166e7f5d31219f2264b76043f6416dddc0661e65a0683e6c6c96721725148beb05d8f51ea02e3cb21c25ca0062a712ef644f655408dd94063b2397e5546fc9627fdc8943d2d59acd4d65c55ef631e5da5521618aaadd4ad2d70f3c192a23e92610cce35c0126d229522ad41da0184ce9e9a7ae6d468cc82510a93a5846bf176184e4499bba2d0914634c69a95e5c57ae9a692a786d05f77c595350b4b0a4aa6f2bc8b00fc18d149e94d5ff2dddfccbda8b2123d8b564f550d31d3047a2741481786affc993d8c50e1a02a20378dc717ecf24af8d490b72a876283474d216a5fcfa8a5f31cf9e45afc499422e9eaae3a256d32fbe75576fbfe865a17ea7eac747fee96b5f7e2eec5fdd3db9d152e19289fc8f2c4c8c89c990a2ba08208179c2213db6f22a5227f168576d32f6c4291502080a78f4139d3f6f14934e1ed0252500a58c59240a8c399555c75956eabebaece9ddd9932c9ae661a19e936511079186ec1544cef75b0b1033878c3ac611b96c853c73c96371d28b03b4a7bd4a214bd0c5bb22ca95326280b431165127e16e19208f7921e1109b8577aeabe811ed1c5ddc387900c5eb410037b67f9f0f5475f3f7df9d89fa6b41e3813912c92273b0f1be9b0c022e1f80051c2a35a8b9c547a03727cac1bb158117b2d9f63b21b2bbf5a21dccdf26d753fad3653f6f93d40a0611a011c87d8e8c88d2f4611d44c5ddc38ed5d34aa08ff3dc5d1eabd931458f690e3e28aad176ef8a7238bbfb39662b3f3e70c664f9922f0f1a86ff9cf3c463ccd7e572a5777aec6d90bff2ec624671bef8e640849c7fc0fd2b390d90dfdc8b1953cdf8e96eeb443f10eee5fdb456bdb4117003c1c512d43594717008e783a09fea63d8185c621a79ba9f3db622a31258a3690f7295fd8cbcad7ef98ef7433603c50f84aab0ed580f7f3a7b5fb4d2476b116cb88050ff20e157b3732c4d2084db13d99b84bd126f62640231c4071804a416585c17c0229d3c6c8435ce2d859319bca8c1f8eaa0260532d9935c96736d892075536fc3226e9bc268aa2c78ddd64c3730eed4a5052bd4b8c29d59fa2508c76eca4995289a329c4d18ca84321f51db6ab08803f5088c214a250297c0ea574cd12e298104fa163759cefcaaed8891edccde35d21a75d19dadc2e01c7715ace2f456880e23256901121f95744a38e3fa2fb7939155db7947257b9a8f2b89f4f1cc3830f66d4439d016db65c1d2555355403d8a8688e0f5633940c2c06e088ccb6f1d5e25b0f611106aa662e07b792f9ec526304c0dc1b0540f5a1bb8b82151730d9f883b5e75d68cffbe7273874ab18d01b126f1251f3f7340a64642fdaa75226d34d05de5920fb5f365574152d992aec1600764943e3e68418aab85649213c459f37b04f30bbe8c33fb8c018d758a548635c083786f3e03b1be8be7f70a85329a1b7a4df432714270ddbdc848eb9c0d3217b3671b5818d8551c590cb218720191fb64f3db7c591247636e386a627224f68210cdc78964c06fe8913bf81c15dca0b73a80ffa933e864c0daabe29591c86b84cca5c7672fedc32be6a6ca0e71823a3ecf24a7d51c7fc8427a27a9e92e4a4ca5498506b3b6c0b51e7f0ae2793fe74354428915a8c11aa1d9fbbc415148a7c460b383cc4e3b5e37349607a4b0401086332afb65536ed65e8d4d0f287306b8b13fcfd69938c73eddea78c1b2e553148a6fa7dc3a69b7ffb9fc37ddf0023543bf64900da7dc810d5013662cc2adc165f383d603f335beaf361201b4c478a5bb2727b8b22fe628a1fde6f78558db7a30b0aac56363388ec72c8d41c4cce4c4a657c88dca3b10434f7c33910b35790393311c5ce156be1f30d8f4d5462195d69928585802b8f4a60f412cc442f552d8433b39084306c3916a622aa63211a44b0c518d5224740cd6a09bdae4e4d1e442883d3293d9e2a3597e92bef1d0186931b85e26fbfc3d1071227cb3cd29597cb99c04a444f673b6413c1920ed629c65f5e191bd931d76ee1429ca54093464849d48492a990c280844828fcd80734d651dbfc98ec05258f17196880ddd07a9a3d7a5a9a27f622f82dc914f66219e8671f0961f3a4b486c25a4c4637f18d91b1172435cbe0511b0cacbe038218d6463fcf5442ae9a0e3e0eef0f43ca136be758a71479bbb8d392a238b3a3a9d485c686a1338cbac35a18c68a0d2bdafc781d846140934e8c3487aabb0a1d13da8f5fbed53db866568ad532140b8823c0d25b754c7e750f0031f481011a14253d4f40505ae96b05005f137197dab860ba78862debde4b8260246da2b99268e224bae900a7db8fc35227778c93833a1647bb8b657950b67acfd6c35bdb3f40ca756e147941933c13c7de644b29659252cac4030004ba0331067f102dab6e07207a463328ec102616b5e775754590862cbf1d79523f592c6cea5b95d7df5e0d2bc6b3c05aa4c895bc25343828603e68102666034850932c3a00b3ac2015bd08b40372b5cd362db4b92e83535e607c96886a5461014679511473820a561f8da82a582efe30b05a4ba2728cf3c10783f41b0142db9d1329333f31ba2f5890c480509d2159fbd261f40dfa01d1d8d25af3e2b3030bd751ebcb09d5970c1a9da73bbe30395eb0d8eac2662404450a9b20962e383e433c06f3682cd1b5f5d5e397a31b3ad2f0c23801801557a1fc7931f311f54457f922e061b432a50e4ac90f2cbb1866aef5ea6139043ccbfbb71e9071b0d8eee81bfe727cf1c617db9be68d669fff7e15e6fc9b811b9e971a15aa3bb50586fcdca4f29ac034ed9d556d5de9a53c1b57151d84b075acb1c85abc7d358a31cafd6e3d7315adfb8e8e464be86c71e029d34467c7e3e22eee48ca7d56f79c83394e46d3073acf53e7dcb3badbcbab87bada3adc71ed952b2df109ef280883684808a963064accdd387ac29a72a52ac558d893275698186199c253ba2b823bf3cb9282cb8e1e466db77f792c4f2a054d0712c19c0579ca5bd8f1b3e21cd5612785166adbced3a695ea6702ab1fcc2b4f8570589aa85001dc42da221463a514d393a674eca32b2a73aa8ad2f65629af59ef67a190d8371e2cfaf3a4d935bbd3ec024c9dbb364b129768d6133c469b2a71b1675b1382c25e966591a7219054e9c217ec8e6da4e6cd66b97f91cee8ff0be51c3f4ff4c328887a775ccaeea3dc74c852e117b7f5ed4b19a3f4386e00638cb18daab33617f90742ce114ca954d2d974efb41736b1054da0ceb0dff944ac157b02f25054c51a4f4277d89ed6d602ee30cdc37f9a179cfaf4f01e782428ea2cc8e0d675707b08a4f155c0a144a685c0176eafe1769dff6df9a6455160b9331b83e2ee9d45e27912a3b2d1a9eb835395cc0d8d54c6e9878ce3efd8fa3daa670385080e4e6c473cd888aa48c973f21510d06d4a6e48931757fa846d622ee8e0fe9c98c3644472ff5fedd130da0d3b103ed09aaebacef6d6ba5b6db5d65a6bbd75d6f6dc375babefb6766f7bf7dedb62ab03e36cb57b50f3b3f79dbdb939d43cff1d639cff12cf12ebfb35694d9ab5d65d5fad6bbe77ffbddb96f3761ba81b8f010878e97957f0f6a8fcdf2fd8c6f5f20d3cae49d2af8f62262d3529d30d35dcb5656082a5a05a40b534ea8e8cfdaa59faa93b6f1d9860c9580fa8f85a738c2ac9324da52b109032d92d7961bc132fe5c1675d23ce54bc9dac12267ad06c8c9df8180a6ceec5d45a5b5eab56e524a656c6d45ae9d0f135eda256cd885d0b765b99cceadf7a48fc1ec67e9eeec4823b42be53dffb24a472f9517bc145302b8c8965ba12923541d0d15b13bd38251d63c4276d665bd24f598cd8d6337da46254716164418078d8d64d5e989dd30e42c4191ee199cfcb4d7cb77f77af3baf338b7c302a92b837d18e8848c89e97de962c0af27a5411392e4da9b1b4c5c96472b626da1a598f0636f6c41d342f3f1d73f85f7578e746489abfc0c8abdbee08167f975bd75857a0b02bab92d56049855d7540b65f52c6ec3bb5ea98133094599fbbebcd3bb7dfb38902cff40d68fa9df93d2353ac31263f6984bb6865bbd6b9b8535cd23e3f495cc47586e27edfdd841ff1d383b99e504860466da9e03a4acdf44a856d95f89f2b9c34f7d2587b2dbe27f19625baddc50eae899abe82273b9df5d857a2444d3187b3d3744b237462bd357aa236903db6bde272abeca156db4992635ce6a2b5310fc700cfdcdab96ccd5b79be06da0fa16f0b916f88233e3cbf9a84884dd2800060a6c45578761b1c9b2313533334af1982ce0e2e96c812c2ea433bb0400588c0f4fd7468d1793a493b1ba7a6733a4bb82436220c234a6731880405b1dae1c59611560d1d39a4a49cae96681c21cd2012a2f2e1426810eaafa88fc796212c3ba8e03873ddd29c8c2637e266b84d218952ab3a6b3ac134f647e7a760670fafefd75e14c589133fd013d4f0d5d1d929b18689c49caef6e6393c66f3ab2db2e8813bc645b3562d83a1facdcacad9b976056e6d17e69c33b69db442d272cb87fbddf4cd586b4bee8da6e56577b6bd7ccb02de266a7984c8f498825a7311e785ce09d2024c509c1059f180327d804c816afb5be3eaca3aaa815cfea2bca861a3861e0813a87e84dc7072a49b612482ea8c8b49d7d98fae9cea248cad8828aecb4a5c110c1c633ca0ec25417511e0451c7bd0d1d8eb926744646d4c017332aaab29916409571c103bb33034943c19a9eb62140c1ad423aea470d879c1c27434a352799a33d295c4c894462462d5d4c39b5297be214340b680990324f2a3eae9264410202f21276c48b4c8a88a027c52320568ca961c04080f6c603d8c8c80317cac664889723297c448c759f17edaa2a8296161d50306053f835a5c0005878ce8941650316501e2e2324213f2000dacae4911b4204228ae734a6b45fc80fa9e70794186856c8819d21fd120f74a02027855d74314b2203eacaa253fe07ec602b83e414e41a4440d89698101d175d9c5158181c6e48b9083361949504e83579a8c826e6d4ceca688dcad85586145cc080f284754602eea95ba29379c6880e1c82371f60448a4a48993bd2bb6c5d1cc6c491e91962e2e450876f83ac3b165c52fcfb2b85a5648774c60f2c4862fb6b543190f2b624bf6274760962620be1c53e4ac1e0f48413d180d210923e5468b30412e2b716522625c7d75e500f3f30a3d8c3d19d78c507d5b76448e4c6f68c9f9de5ae7fc8ff1bdf968857befbd333fe0e6e0d4dc6ece6a531940917132dcf004c6d644e0f98026ce2fc3f3ccf162a77274e4f4c6784850ab7323e6e8e0a8484961bfe50bcba291244961292cf2cfaf33cef71c6c207b021da7e354540549a29ce7abd81967458b4bb91c9839bcf70793452bdcf72e3ee6c5ae5f6bad350b28ef3629be18a7c0d88a439082f7a918f6fa28050291f2630d2d8c2907de8c0c83c61a72616e58dc84aa1226113cccf2dab81c49a3b35270805c070a9ed1581426713ee0c0de86dcfcdebcdeb8aedb9d0cd59b93d6456e662fe770af270a8d66fbf9bed394fbbd5378040f89c14d300fe6d141bc26e72712219e6f6392e939e276b57ebef36c13e2e167db4fd7614b63239336db161b98500d4fad4925c37fefedc1c5138fad91209cfb891ebdf3d463c478490bc822c751d8da1c5bcf789ef716cf8b180d6941fde56821765a25994b1243a9eacd4937e242e7769e9e4ad677d44aecabf9b21a941a1421c62829217a506e3ac912993332a4b3a428bea3f114e66cea5b85423dbde6a785427d9adce4dde4df7f80f0f79cffc318f14b494eaa819149b80f0ca4a0e312ba34be33fb74241f9951c3e0105cd2038eae461035352d694c6946b89bb6461efb446ca53ced8ae828f4c7211c372377e5ed8fe853cca2f9a1d99d65cda09d057006c32c4c8fc7bbd7080693b14625e07c31ac489123729331e7c315452bc8491913363a8b63ce0e04e76bfbad2cfbe36f53e36509cd6e9066536436534ad3b7e4c1707ada0bd6d689cac6fb19a4646cf120456464ea0a04f3c542eb2cc8608afd70fabe9a1991367bc19994fd7945dddb398f897b6d9bcd3c3c77eb5b5694d15b76e4deb29fb5058e60a13a92350457e54b1b5c12285092ec68b24de9a3959d65246478644d8a383d991a8822416481976e09bfa1c6c6a1f08a24096472f5f38408d0d8a3cfccfe97e9afe71031fc953590ae75e69dd45a6badf390b95c92ff9deb49ab736be52ffff779da204669225bef7f428564adc593217229f411d7d1521554d616db7008de59cf8e65a2e70491a22181544ee1dedb9d51a69ce7db4d9054c88e8fb2d6dab5bee3606c6dffa2fddcaf8b15e88fce28b67fefb94263fd5a63bdb5ce9a03207d7507d2e80a7e37d0684673c66f62cbd19a62ccd88ea322f78ce66e9575f840849afb8a149b030bc43bd0f6e12af6dec027850b15460b5060d4031fa05de4455e576c346b1c15c69daea207a7835e6d11842de299abadb6a216b5ca2ea40ad47367c74a07ad0006b5d78e937b467fb4702eb08fef1662eb5883596f3f607982434a0fab2b53ac561a8b2e9c6a86a3ec06570ca1dbf7e42898f4bf37d6faff1fff778cf5c6ff3de7c08f1fe3ffef188c5dc6dba67af0c6206d96511f015b5ca2a0d98b22acae4025687f3ca05ac878a2aa8b810b83ef5b9107ac2122f3a3dab959ac2398bee31f590142a9df4fd917bf6dbcbb3cbea87dee371db3475fb2a6faea885449d39352673584b7e347037d41f490a6e8a41cbbb8116da431e9d091bd3a7a318a90efebce79d71c6321ee99672c243929c4f367adbbd6f939beb5ea7bbbb80d8fa900d3f46d85c30a5b638b39d85eeb4dbda9958607a5a8e9e54dd10504b5165774211b52dc0c37b8a1a96141f761b937889ae120df1b84d0467fb01f8a3a841bb4c606ad11969b246d7a8db0d7a465e79c48c4bcc8020c98e73e147254731bb4d4fd6b68f6cd29447959dcbb48166b989931bb4cd1244dce4992b84962adb66e61b951ce3be75b684915e51733d96fc89b5e6add6f88e20a1de2a6136f7a25de14856e4c214749b29324df37a80df5559c3806303771ec872de7bc4ce71ee3cfd7569c59c88f1f0b1df7e2eebdd6eac4bdfb9f313f38fb69ffe69d7f1cf2d391ef37def9b799f5a33b3a26db38efb9730ef149564680afbdb8578c7b564a31e6a9b536ff636cf5ec7faf32fed1fffbfc319ffd4df2a2dd3311d725de7b6f5dd4614c33e79e8b3f1cdaf4e88d372f75be459d89c4f3cc3b97ba5fcd53356a74eebdf7e61be59cf392bcf7de8bb335aa6d4c10a1252f1fdc1cdf9cf3ffff33b08b7cef9cf3366bad19ed24aafe7b8befdfe7185bfc8ff3ff9096df8df5e7fc1a6ff305ef02b6e6d7c5cfd9a63aff93c26c335f9671dcb295697ccaafb1aaa512d4af4886ce1feac0f7dac019de7012bd07f0e44fe9ff9db829a7040f3fe629e5658c025004fe07730eadb8dd84dde4a316aabc5492e16c0207ff037ec9e41a2e42a91030ebef5d726b463acbb2726befc5f83f67adf7e666095f27eefc9fe432fc5e191c0a46a4308c48e1a4e22cce18eecd5469ce5418637ce6e4ad0da32441c4e164015cb2ff2d343bff733604c8ed01cc6a04d8b2d1998a09404906dd2243580c63762f24093ce1882a1a80263239494a9cb0a1081d36216e98c4bc21999bc01384df7fc0338774366c670d990c8d9779f210ce4891325a648088f1f2c1b4ab29e56684641fc8ae184e35b39b488d17f4018c192584116296b1982c5ebc2647962402becabacb3a052b9013a8348b5f3a2100002d01639600180e0886c37112e43092927d64e30c0a534be372b028160803118a612804033004a10004400008414008214715c36c0006f9f1ba8136ba6fb7709e0c65831c078bef83b7c2b3d8d1060acdbb24a462d051f7ded8260f3cfc3c68881a10eaca2cfdf902afdb21d0843d36ea55354b22c642adb9b030e31e77f01ec90916ed85e22dd6be798f88e27608c717dcc03f94d1e22102938d8edcbe6d15527289196e2a04c2f68b9fb6a5671525b77b9319f6a0a713f47577473afcaad159c03d9451f69fdc848e4d23863d27fa9348bc2cc5f187f4513dd0ce824b8c658451a2a3d71b86bb830ed8c9c476143c71f4a10cbd46c3b9e87e4c137d286fa21d82e84714309ee5a9b01a017b01faa044d376ca0c959a431cde5f82e6728f6d2643a5b20a59d3dc677bc70c66dca3b60bae5978f9da5173f2f365d441aecef2b0a22ece0a884e65ed553e47e5eb56138552b62cf2f5f0f47ea80b15d8cba54d305c3fef8a1668c428c0633f0d02f7ef684c5e6f4c7c1c4c6cc19f3830759e1e0d1626e6863590722ffe305f2eec925f302fc59b18b752978f5152e64075fa7ebbc4685afebbed45d31f34a8d1a540ef4a9cc4c2e4fac9f46a54b48088d3289ef18cc6a423a8c5bfc90685c0d054bbce8c5ae6a82071eefc1da4688051ea4e1cd4a9475064b5188f74928021edb966328d292fdc438cf267f0049d3da04b7752885f155a46f004caeda834863e8c36ddb7fa876d9083bc77406ef40ba33251c04eff70abb9fdc012933aff7892d159901070abbe9a1c3254201636817168f7ddef3f028337a37af49c5807a9ee180afafec23273f4a5deff27d6a38c57ca6ac78ba23528be78693cd2282fed26a1184db683a161ab8c6df25d8cb4ca07d012c4014016226d6c1b3afa5819969abed37ee3eb40887f0541aee68edb43844f5685b6c31848106747792f0a6de96fa60ed278c73f69deb337b75364beb0b99448e00916fdb4da073a8ed233df0f8d622576b6d20620121fbe8b74860871eb3b2821785f147b8fe5c4c71f1198032944d7ae0e6a0453ec888734d6a480ec852d73a81dc24be81c25efe5362fd8613c380056b21697767e154a170118c59296c0d52c0f121099e247418969121ce9246f398c59dc298740d30ca5b8e52d3dc436076bc74db7aad75b3cdcdaddae7a4be51c69cac7168c501ffa617fccc99be3606e4fc6cda243f89dd146f6f6ed58b9c5f7f05641323f84b33456ca8f77cd019bf70882ae7fba0c27935e4970ee52ae8bd678317d153218c0923aa9ee3b0face4f16c7552faea69e1768bff0920d6e0b92fb766dd9c985e417a969f10849cbd44558b21aad84d0ad518d8ba9aff3de28ece3fe4a2d74fbf0d7d57fc9454ec033720196a8f87a75a2441359846f9562480f18069c66570ce7b55785e99be92941f44a41172144af71373386959f5e2afee2e0abcd88278d851ad708010418acc10a59317621f86f5bb28b00c2b36abe2fe1fc2ae6cb36d3a7bbd5f89029f8bd700aeafce9ef50427e8744ecebcf02de76677e67651a3a57338fac1c10cc4d9b5f954b6f7f9bb372d43e6c1730ddb7e8e9634bd44120d11f5059eb66ba70594aa8a33d8f656d777c20deff67390eea68fa2529c9ee4b94c3966e371be8b170fa7699bf00152fdfda18b67a1136263f7064ffab63132ee077ef886cf642be584837a986ab5fe6707d6302abf113a3f88d3242d5f550b80e7c8a8c155f9b657ed96518ce86ece9a2e4b4e9acc9d042308167799c6e72a86fd537f8fd4cf7e4237c8b3298ecc1091b9b062da7cc5faa57bccc772d1fa1530260ce8428a91a6f3cbc5b6b4fc74034784ed11dbefd363fa32713dbc56bc167532825eddab1abbda17092e8cdc5f969de430b47238a592e0dd7d315271ab4ad31bc90fc0263934dd1a2423f01c1b09ded6edd00ca07c10d2edc0db1e17ed91ba15b4cf277066ee07722a10b0c456a6567b46d3a70a048dae640d60dc4d688f0eb062dc8e73357d9bacb288bb515434e59ef2a7a14416c8eb5d55e4623f41fb3640cf5b4120535398e8532f18a8644a3ad0733add0b487da111a6362838330df1ea07a846b044c72d88cae5bd484a31922ef423b3f463d6ad3ca28955ecd67804e148166db70ecf9dbc03617cc1917f507108d622a55306de4530adf7337e6c4681f6b5df720028bac6bcbf332a4ec86417944cb2c0a7d5b7614bedbff09a809504c6038c0a8b1e93423b808a55e1e1228059be7ca76544cf71432a17130ae15c03e25b396a3c3cce66411fa594a576db8558b082fbf642bbf5085d48adf5d10240f2537aa2ed03a5298325b5ff93d8147aed2ac35ad7ed209702eb319a81845414d1bfb9375b9336d30b0ab5568d80a1378159484ff30ecc7fe68513192e4c50468b1289bf523817a09966948a907ac70441f94a8119187e6c2491691648c0ecab0c199aca4598b458e83661440f3cc8fdcf6a7baba7a482d02cac72cb43be3edd389812f52cd48aba70e00a2c8c0ef88b9d17d80a8fc17b3dc4bdbdb198b37cf47ea36b691a16ee32552ce906012ea68ec3b7822f656f02376df7e5af4f77daec7ade3ea249d9c5445f3c533352bec31044e256e0680517146a43674067c5476f2cf9244a01799f8b51b5d8e426e7a493ea6f351f7c2b908ac001feb6b494121bb8af231952e02ee46f299ebb2f4641ff4a5d9a1b05ded00600fd409cff5f7bb087443139f6906a1236a542491369edb919596a0c0df6dad9c37ecf998ee33096ed754e9101c1098eac057ed4ccd5585c85838ee87cf00e5bc20362c4dd25666acbce8f0dfdd528c5fc0f6437a9dcbe1e204870c9dc075ba575003a9da64ea22e50910e84d746088750e33571096816cd3c72e3ec73e83efa4d319b8a5e0a8f81e2c2fb78e203607628748c439b90eb797f77045108b882af0329bc8ae69f216e9195aead2c61762b2ff9543523f2ea9a132601fb6873e32ef7faa236bc12bd0d5dd282c5b0ca87cb9c1893c959eeed00585a5eb868570d931d88207d82d2ce51ae6f51f31197671839493c27644e709bd0989031a1e5137a1a7ab40702d689a2cead0453e317b238f1607004ffaebf6558304d47242a8ea3abe1b50502c2058b71a933132db1c75b30a36d51178ba143ca93482d4c0bbcb1e3e2b13f283b56bd86849297426acba1d0e7605f1919e68fd13dd45963deae48b7b12c2ba7fe770c275316d8cc3948182a16ae2bcd31ed641de09d6961781f38a0d8c25b24a523b08f9c478fbf70c47d22d8ad3a08d309da60f5989a331c808ac430432510a23394c30adaa90e04d183850c8308f42034a01fcf74d903eda80c0cd183858c834af420eb3198510908e90edab103edaa3e07cc0d06a0921cccaa048c740765b002edaa0386f4c042c3e711e17033c091af196b6f33c3c6f1c2cb34fdc143ea7a323cc25149455c19b8196febe21765fe6802745ad330b2b149cc7185b74f3553b2ed5e6963f6a832d44f6cc0e812c5053d8cdda24b14574007364cfbb379144d50547f423f7480ec2f170fb9d680ad526279ab54ac6da9d5ca206cf7afa6d7e5ac524b280ff4a1d10ea7f9965384d46918ec78b42988d21e95c0d847970ee88bad8ab8f3c5467e533705f5057a3951bf058090fcf92be483ba718b4068e3b10c236f42c2a9fd9b9d08bd7656bf52101ab459fbd7ca4fc9b1753cf5c464a2d40c71dccabb297b2297abc3b9909ebe2d3c2ee8b7137e8d33cf6c99a08c3256843f915c2f317255df54358ca29c171d7859d7c407aee71ff5ac6ca7b36c29c14059ab113dc1acf7fc8fef9c3c1c49d31dd1910c46c9a945b905e09eaa6c982ca20aab4b6fa820bc4d11280b14db2f7ca7c2ef1d131e5e62acb797ed13b0e55fa46eb0fe60b2cbb397caf94b370b14b1f4b19e8705e4c0cdf1c3991654cb0c12bca25034f737927119638f73c9a1f2e2ef34d6a45a86dbc34ec11b5a2f67c5b19d45d137b5960635d7324de2dfaa50665f34ea1d8bcd1364602d1a363a6b15af5969cfe2019c120413522aae6a571ee46aa16a40cc02fae8338606e1d10b52582a864be540e343f83a0c40645bf05e25326cc0fe9031dc3976304c2a026f22841e4c7933300a11e4840625f7ba0416980faf0faee1a5ec5e76a6db3434c8bad59775509ca876a8268406d2da066fbbca6f0b2c6baaae3883a45024d05734b937efd90fb65e07a0e59fbbc2173f548b8c41d87396e17b7b59088b198de0daf72f1e22d9c658c270b54f0719883cafc179ac45c32857e9db55871604af2a9e8592ee0f0dd13de48906997f1096c3f5d91b1186e16b4c042d67dbfa92b68e5afec00b00ee3ef41bcf713d9e2e6236d7a02a6c41951f9f537d2a9e4acaee3b0c16f3d3f743068b90bb24461b408f275716bc15d30ca8a42aca8c6c318c0b5e48ce895e70cd9c835a5ce798ac1d728d884138850981bd13be7d5e9d87bab78a6279723a4b14c54f0abb4901787e75634c5206fd8c5a0a65d1852c9a677e1a0780d793425ad128f33c0bb65f22a038dcf8a1da37c009009b7a2d68d3f91d196e95102a45bf6f42ebc588150875dfdf0f35bf4ea5d34bc61af1fac623ff87b06bd8a0f48a37873cb21c02e7ca2368ce96a9bf4f93ded615cb85795e4b3e4ed0ca8e42316888156e8ff1ed019c117848290d4e8e5e63a2a3e2f472a85ec6b32a0a9290e392a839826eb41d746c0574cf117fca45fee4b21faba25a79ba34132d5715ebcb67aa2a7e28a8847a4a7d2b7ad90df15537721b3850cfd3400adb99aebe1ab1ee26621caf855065a71dcdb143549f1df077283a54f95a5fefcb751b0093b4431d9d6ce598a83876147b9ced83914c4a38a886daa5a9b52c9332b96c56fe6d6bf1a9d29932b5c918e2ddd885c535c53b9d6f74c0e38b38cb13ef18605054c868b0fd4d533fcc9058b4061a20f4080e9e37b417d7c52878a624fc8284fee0ba388ca9c76b6afd3d8eef2c7663c7c4abff4c4172b4aa4a0ead34936525e77ba201ad8d40d03fd25d182255008484dcf0f1eaed44c0463d14a3fac94e60e85554a8c78cb4f1aafcd2136ee8b8b0c8bfcceedfc8ccc447839bdddc8348f367f93281fb12a2ccbfce6ce207f28c1aac0f0e068d64aedf60daf3e52b9fc830c8a75f3e794e8e4a563608fa4a638bced7d5a60402590de2a26d8ac0a424dc3a0f4209b8e871e5afbd8e5bcb5c9ffda54a242eff944be2703b5d7e6c18fa1668e7aa0ded5a4ee4940f1515e54de33a7270d56c1b54bbf245447e8751f4831343d6fa595d295067e1e835e1d63fd16d34f8f52f84e295222a7194acf78243d87b9208307b56aa06d82564aaf07dd5af10d92c3b10f53a9a97a2d5f3154a5a551fcb7cf054c7fa5eb4fd28f58eb5cac563a5fc76f3134b5eb7a96a02fc2e669892a5816e74d8bb0ec7f320561d03afe35f52db617ed08f098bafab5eca9ea48dc03222e0fa6c790e167a7a2921346378767047d9c40af9c099dc626ae69f7ed7123d27acb17c328911b7f076cecedf5235c7fc9b0f2ba01ee7ac9d6fb5f697fc4d14052082a9e0c7271c4e5fbf048c3bf6aa41ed5102476f0f7cafa8b64a3b19c541b90135eb1c5c640fb11ff9cb8db40b58bdb5d814020a524c25866e25d5ec57d8384ca1cff934fd93e477527a296d3089a8899a4752b2321c5c6d4287a889bac0b59bc45dfd4f5b4f86252817e59be4d4392a7737f830c15a249d7c9138b4f3d10347ca328da3cb96762173aff34a3101c4d9a594292df624c377765f5558ec07934cca0a8a94d4ca146b5a76bf54ca966720569731488a79691943d18841fdd134da0ce0ce7bd9ce60d85572115f0909a522f9081ebf5d50ae4ecbdfe56e7244f8e8770566430f716784669124f35d8acb1fd7b1906bfd7d7d9448d2004849193bd0532dc80b60b1668872ee344ba8cd4cc7913421ae333d00c2109b0e5b1f7b53c6458eae9cb175676854d1ad0f2607d46370b82c9133702a0d4b3037097ae8d8b478a0d1e28260ab095536fb7d1e3c105bdefcdbe054e098f0517083a0023f58e5c914b0c3b329412599f80a259c5aa34d4d35fe760c93b3d8d2a038cd721dcd0d280d6776672daa34286365dde31743311f46bc8d6ff88715ab300775918554722949fbcdc2de660cb0612f6d39caa2841d4be91ffe0a5318c3ec4cad789308abac29bfae39a7915c04d33dcad805d0bdc878709a812fc1509441bb4ea0681f526390f8bb296380dca02834a10b166dcb6f3c262222a39475adec0dc12d63fc938f64f4efe943d9545fdff00023fc69deb8fea24f53ef9d9814080da8c694e75590ca8e92a1533f671bbe1d4822744b0b24f706accd9ca1fdbd4b2659f02f1ca3a628771edee7da19ee38573a783e93ad85b239caa44b7869c6ea2bea30b1c6b3e7d4d6d33df04cb63ccf80cc05311807a9c0e18b85d5a18c47f39678f92f6e54ecf45f7c14886b6e2fda504cb50b298885fc5e323033b771be98e4dd3d3293e633e964fdc25ef6642e452ff4c718ae041f18f792801f67bc381ca3a75aa8153709db4dbf4438223fdd70c67bfea1d02da81273a2684a1ac2ab8cfcba552938e6bbbd34f8d47bca9a167c16b66e59d888467f72550252f94485c3f3244a8567d42ed193eb447b690a1f7f6785ab942e07afdae3143627b5b4d437a1779e987c4ea95013d4acd77f963b486ab54246760190f9e7cb3538f24f34edba3f1e91d4539fce4fb1b22ba2ecdb28fff0094561b248132221a58b93c6c7ab71ea6114a79fb6fe18a73b44c45d14f3d146b9555ccf2a5af38a14f81d0ce98dd24178803b3027909b743bd23f8d550e2920143d556027a54b2ecaf6312df827c41556e94ef55ee23dff3950aec07e30299d242603df48c719209c8def56e046ca815125e7a10fb98b85d70986fabb03ffceb161885c69f583cbc4aac7759034dadf7035505dbd018bdee851df171febb29da8accd368f2b9f8bd52e1fa452decb960fb207e3be03eb85564dc45e04af58abe2dab023a6b3ee38f210afbe0cf2fbeee5e9ec7b82324c0ec692728a333c31f920343de206f660c99bd8207b98d01c1e51ee7d1b18761d501cf90b7eeeb15176057c1df23f9a2259399a39a670e209d799d9c3c84bc0f1d125866910a77436d0153b3b0f6399571589dc4f0585cacc9076da53fe102e3e207b5b182e440fd36c71c26e3556583426885be714f6f28f234f8bb019e832164eaaf6cb9ea712a3745b0ffe21f4436e0993022ab687f18a4321bf274a2e4b30d8d249002a19221c20ec52b309732d001e2876479c596a692407b0d9acac19898558cd455eedbdef88103060e2f8d2f1a0016f44e5940e1767ea15428b37123fc0800656e77b3cd1105b268a1ec41574fb0e9a0b2724aa3b81c424adb5714a99cb7650b33d0d14a42bd90d33907b63936f7c90582e623107cfc09315ae3d8cf0bc2eec27d7fbd4a7fed661da2b5d1050a8b3e8d38e07f41ab27c1c32480317318b025c5aa626de9933d0b73783b19f90675738ddfebbffb97905758b37d00ed3aeaefa76ffb31864d0a991a1f43649f6e81551f93680e49b9b4e6e32e4c54256c3342051e945e46b891ca521971d1c2bc263c06c55da7e73d60691ee2f2d6ae761c86d8641543a9ce1b1024cbf2e9ddb3d2d7c595a657b5160dbe38b5aef192f37476d48ccb1657ae94a043e50d92d193773b3c87ee9769d46f6daa33a4ff5f452cbc4eb7eedab047e59fa55917b8d4159acc0b8431725372bb19f1c900117001ae4827e600ad80031d000100017f88109c00644400b80025ce0074c011b10011a000a70011f30052c8018680080ee13bf9b63ebe2e14d00a1f5e204e8f108b1d0f7408b5b05ceac62c431da32806a900974b21280c51d6cab6c1be822609e54cf637fd0ad429e69133b482c7641bc7da6c0ef829ca0df777c304652248c044010649c144252248c14720251935abe573dc51f205164c6a5089ae45218222924460a2228244e0a6272d14dd215a9493cfbee9144146fc7db42018837049cac474a9b294ecc976859cad7e19676a79703f1f41c206b5c0efe1f5d19059d83eec81840b112de9845715a245a47887d0d418338bffe5e752ade1986624d0d2bc645717eac289f9bc4d494fc0cbdd772f98a309e195132dd33e04af4cbca45fff3255ded2c598154649a7837d2cb72cb4e84f81fad509354946d0bd4ca40c163dc4f226b5eab7e39d7d0350586d13dd5f9f62084d8aa916ea27bba13133b460d615bec61ee5a02aeacf2cf69e08e6d18d1195476b433085aff31e07512f6637a1eaa7266a7148cdc9470f255250e93df695327f3b84a4aadbcafc8ed24c5dc29ad12c0d538423d28b64b06055b0211e7a20ad2c86a744c65977fe0afa6b8a618a2f59c5930f50ab66499489fd8878b8821b337ad1ab783568e87a020ceedbecbb29b4b1de2096cc2b73d1428147b06c3b17612c4858a78d54acf81f219b204051482ea3f092f9a85120ad9e4889c4a8db04d95683394b353a8539f9cd9b1705df82885819c87f4e6511048184a8e11a8e78d9016e3026b3c6d488b0dc66754f822252f7ce2b10ec6b0eee308dd393c9d95ea27b0fe9678096e0a593cecdee02214b0175d23bdc80d6b01dc1b788e5088c25a70e0d2d1466d602fb80b045c4706017b2106777390c11ec702dec87be130bd03bd0c1ad0f8bd1703ed0626f8f50edc6b598c1507d7253877c64e5ea01cbb60cae3ef1f79618c90c2d34b5e8c81a43fbf2bb538e9fdf1b5e0b8f76286691eb9481e0265a40587e33baae4d1262f4eaa988f92eae7690e498be21335de056921be838637c2a4c50ce202743cdd9316c727687917242d4e565cc0217d3ced2149046b6fe4d6f25215348ae585e0220d23f13aab2e6e75c321e9bc5b95a5e240008d6ea416f8def09280028142ffd019f6efc7879ab7f4dc545f0af312a4af4986b77c96796a06630c87d5c527df84225fe95a15cc0b7926dfc5f71012a78a834de97a18961427e799a02e7a20d05a7c1e4a64b0f1aadd7e013b7774909aff95fe07cc52523ae72b031db73b26994f9fecba056ff01040024d15e1db2aa1bf8968ee6eed13f2fd5133412dd4feddb4cce294213897f90e0045c4034dece34ed71b76ca6baf7e1a6417048251fe51f2f8ab05c1a0b91de4dc5a34f2407438989c4729c391f288db53741e196b7b122c08db70271bfcabf4e3307156297b027db8adf883e1df10579f486b83cb27504a0167a5655d75f0fb6026cff19c88358e445df0cc8e3edd44ef1d726c0ad4ed4cfe2351862641f1929b445cb725f6efa8530f8bdf055b4703e7ff0d41e80149a6853039b9d7cbf19ad3751a4c1cabe8ecb6ec9f48be2693dc9fbfc627a2a9ce0e217326e8287e0288a282c592f3e9aa9b57abe6669fbd580c57c5855540deb0ba407982f282fc2b4459b4e23dbc81af00ce1be33b3ea5348b26e8ba44a04f521fe1a2e504b479e90a088dd1836c66596f00a3ec196893f5919cf3450bf2a52f5c141fe79140c67be6570191fff767da6da8f8e60c97cbcac496a9a2bd1bcad05541358f99df089070b1a3e82f41f8391fe742998a88699b735c3a9ceb90e87364e5f29ebf2beaa3d35ba0ac436b9b2d54c90afca3fea87926116adac0fe10113e0857bf8a0b2e46daee9814f58dd0df9fee71271ef9ffe8fa4a32f920e464978a43d20c7393cd7c0647d617c401618971ee131d498a9ed91a04330ac0fd1f69130a30d25db56a05c86e80a791aa21c0424801a8b94b677681a20833b687e388b1712180295165e9e50b1713835c0afe415144a01fb5078a7f30ac61ea565ffcfc3c84c4b57ec9a705107905b2242813d92481dc5175600f9a8f34788bf885309296022f2106a0aed0014d84278b7f519d79a36062d9eaf5caf1173c9c81d3fe520377d585960037ecb0622cd80e24e32df87d2b33c3fab67b8295d109346ad143822a5e58374e63a1a626ce6e43ca3cce277fd5460313c71bc1889d3201f9df8d1e414aa1673aa6eb0f107e57f425d168967b9feb7b9a7774b0341d8cb87df3537281925028c55ba0859a926d80f034e2a89a01bc38d85c6808eacbc814d94a6a93b988b137e4948290abb95b5d582d94d1bf7b85cbebaf2b71b381d4fb452dbf35768a48e4e2c39dc2a328c7fe69447d6726dc17acc88e041fb4a686b4346ede6fb92f30e5027b7c90a068fed76782c518525e7f65299a59716ba96499bf80846e9ae4c5934da7ae77de28c16520fbb209c80c5778519ab5273c52e2848778ddf25603d927706c5976057b0b99ac02a37640897678620e532b63c9a06f7033b8ad3bbec909a1ee3590c2c6c61a6402dfe722c7045ef1a96b2bd3c368161055e9012f2354ffc000abe9475ab702d28ca5c4ca18fd2f259a548e1c69f9dbbb17592f582bcfb3c557e413f0ef7d38400e53bc017efd5293899b2e0a8c3cf1c9935d030eefc18ad294311e68325f492e5b357b696c192c489d38c47d42e184f007a46a42d6beb829b1aee60debfe3ae615b9e1c43dc6af285cd18ff859023a57b44fc2a522ffde17be4edf2fd8eef888e0f87c8dd305493729b780d48ecc20275905d01029e60cf1d5846ea56f8f32061eeb8e6173d41ea73ef28778a87aad4efe03128936e7671dd7dea9a53d6f6df8db7a664a390b09db77fe1a1c97806f4957d9b425442afda3ad6d52e5bfdda341769ec264d3e4fdb6d01bff8956e36cb76499d0370574501ee9d4a83de4217fe9de54a24b419c4e3a317ce1a935db502e0ee089d38be9827af1ee85b4890dde6ba924be95740fd1ac19a2748c3728c86bd14010a70c474a28a0e3ed386117f4b4aa033dbb4bad399931b559b63427af229319a9050eee21905ac28919b4751caa96171f1d7541849c9c751e571123504e5e64c967748bdd1b93633f02dd60902e3c28e782257d2b585e237a442880d4d3e545cafd90743194850fcb56d86a042c6ec11c3fa76a27ebc246c7c7dd8618c928e991afb9b493e2ac850fe1613cf2d8f65d94c1001bbbaa9166c4b907a059227de22300f1de6d510e763c354ab39314babecd8e1c697a9cc0f9ca456c0b84550de2b46719005df5bbfda12f2424acfaa33b04095adf3f8437d6d2693b35a69f149bcadf42124549b9648460a1d34d664d3b37e773c77d83018a02ce790b99056ac53a8e4bebe2ca3fb127d425d78f509e590bb5be8377491abb0dd8ccdbcff555f26a006246b592f1f5dde86d9c4b006e424f52d343dbe17a5474c035df82276d335b7bdc67f133d2afca02b29f508fd53977a005507b3bc88d82d8cd5f7a23f8f524d3242c14b4a91e64a10b7929d11ff4a9a2e2c1460524ac72ea378ba0d95a2ddd686e25e45ca7d21a5216200ceafc4fb0b0322cccbee5d8b94ffe3e0ee2502bf0147a9f5b5facf8a601b80d6463ed2ce202d56e410897cb7ffc846773141fa8944e183ca55534e7bd9177b866f282384f5eb9cc19e68e057fe7f9fa419d151f2a8ea647249b85e677d5d02daeb6fc4a7f27ab58a8f5a876e3c0e14d0519a9fc840b53eae002ac2141510a6f78372bd02a901daf005d558487c73db6670f28a88c3962abc82a7bb34a9bf09753274cc3c1f84936149e68f3d8043003007f860246aa21416241090e41bf581cec807b9cd6a66c759078d52433e9a4045576b35a61337bfc2e11de30e1f458be0352ba958f6b76f6fdfa44fa2e63ba3e2d56abfc50ed584f97e2f9dbba364bce9de08785ffbaf5a08fe76f0174a4442f3aa45a7af8cc0770e8e3f1857048130326900f7a24a83c5f4530a9666c69a7270859d143d688972fc398462ca4b4f1925bdae87a41a052813834b5841e618c11017aaba4243d506ee51e2d1ecda52109f4cf2ff7641a39b7e9390d25f5ff1bae99732a08304030046b8841afb1ff41695dd4290a02a24cc8269bec4a5911111191720728020e023a027a243fd7bc566d755b655bcb40ae7325f5783d68b55eaebf9c29b6de0c53ccad8e1bb58a659acce3078e3657f2c775c9fb548ed4b5acf9e76aaed907cc5dd34ec95f963f4f3df9cbdfbdaf43f58236679e73fc0cb5378edbe3da41e91de4da5dec3ffaf2de7c1cbf03bea7b6d63f07b4412ee919e42ba815941212cabf6acfb3e3079c3fa6e31fefb7b97e9bb7cee37791bf5933af39ffdb850d92b7b55cb9b5b5f4a7d98242b6e0ff41a87f6ce9bf5ce46f9553215c1042d04cf02cc80d6a10a776ce596bce35d75c73adb9e65cc7456d02d09d27ef04c0dbe97f92e7c94dcd4fea9b50b9ce796f4a35a563d5c77ddc72b7dac6b9a63732654bd7788b176b94ed853eb39662204e63fe28297f6dd571c35a36bfac966f6ac6d6107d8cac3b6aeed3d3dda9eb05b337bdfddaea9fb6b7626eb5f559efaf7bff69ae3bff24afa4fe263901d8fd37cd5feeccff5c7c3ae6c6fdb1ad3f2d5682eabd10e1728c99667da81bf40ac7f5391fff3f93ffbff0a222606f2443a4a809f41b99ffeedcf77a6d2dc771ef3e36ee35930a8894c14801f4a3101c1cda1a172e5bf630829206e84b1fafcbc39a10462973e7ca5757da97aba1162c3f999264d1195e1058dcaac0b939398bf3c2438e48c9ce9b4a64947c09caaa06de820c4243474c9b3534ec0cebeb9cb1b5a6cd4e1fb729523ec69c6fece888cd7feb0c96a4c7d912d2054f9b9b972b1ef87875b5a913172953bb498c6286d1131e71d4c80ce9c2448055933a71dcb4111973a32617d20cc1215204ee92a66f25542f6440e2e2c0cc9049890127fcd034ad89799fe1b12a38d254060f541bb4d65aeb280c296b035580b321c2232d448cc58fb1987b883e5c6badf5d3fb292649beb70bbabbf5f6eacfcfb4bacf5774ef7cc3fee38829864a7fb5842b1d3dbdf7e2fbf1a5d662fcf96ffbb46fa1b9b58074a6b8ff094ae9dedb6efbebded55abc39593a75bd37e79b6fbef9de7b9be9a4df7bf7dd7bafb92d65ffbe7b6c5bef6b9bf7be73bb371b593afd7f22b87f9853dcc6dc5e7b5b75dce89da437ccdabd77277df77567730000f076d6c95abb6bdfb6efde6bef94d2dce7f174bbfe7fbaaecbe5fef9779fec64d7f980c2ab0552c1fab7bdda993a2d20778e095b3968fa442a9c02e2b8fcef7c52c1e08efafb7b9d594ff45ee6c4b6b20549fe3dfa30ef37df3a579d86683d9d28818a42afaee115453fe4c3e11da20daba0e94e77221d52ad1643e1b00bad4b8b0cb8d69c6bae39d75a27ec129a118e09c5846161c3302aad6664b8264a6a8150281456117a75f9b3ffcdb948d6fa4ffafd50a8f39966b66ae86f0f001487f776188eb84cab19e1a2421be6b623463cb00d1f8862855b762917dd12194c59180e450a546bd83524a900421aff6af9c5f45eababc5f757acf3e7157f17fb7e8db1ae3f63eb7b82bfeff98b99e75b33f9a92e732ead4888d476ca1c2bc639539ba9ce62ce63fee3042d526de6b4697e286bfda6f6f1705caff3543dd3f33cd0ec4579afa6a3a478a6ef7da09f00f43ca893ecf2b87a2222240a36d08b82eafd3222406ee53c6bbd49f328692d96ed054e81f0fdd6da9a3de89ff3869cc7cbcd10a34591026d3d482b03c4921f354a5b6428f93973a672a4dd6aced756920da719d3b89955179c378210d1c92a43c7ceaece14486469a8054616c7e3a2845ed5bc04933e17bf3bd80e743a07bab2dea772b99cc9e3fddd8e2ccbde77e7e799df3c733a4a5a5dd795bbee2fafd42a75b9db95c33277ed4a35e6264f277a06f85505f8bbd329cbc9c9c989e63e8f17c0b7e3fdd3dab2d43abf25793e1dc193def3dc956586bbab3b7b775fb43b11d6a702a3316be928068d1b193c88284fa0f8b93e76ad82a6a9fbe7693de6f138f03af0ca9d4fa7bbb92e52553190af1e01f6ec5370d7ed44cbb76aadbd16055415a178704daada9fbdbebdfa493a5aedaf17c75fd5795475df1ebd0c8d47da00672bbada1d3e3ad620b59c575ab3bd636f827aebf507c4081f130080ff2505f4bcaeff384e502f1999246a125c299a7be19f38a535f0a7b5d6f72a193f3edb343ce7f8736ebfe6a2de4f38b840f3cfb7fe718a2555baf6debbef2ff33bde7e73d6beab7f511d6ae471bf73d51be3dfeb5953db8d7f1531bef8729abf341585d35a7b3175112c0cc6c4712691459611b056e016132309c1b29306e6890f28a29e326676e080508124680cf08ed595133798c0c0ccb924654d8f222e729090e1f9a262825ba45cdb8a3df38299d7acf577f9d0413382844823467c30946d5a0388d2a3304b83cc3001bf1656c15e63d7d07a4763f7b50adfee9ff4972400f2f37cbeae777477eece9d79faaac6711c4f4aabc61fcc60018eaad32fa3d338cfbe62eb7f56e94d9ee7f9934143d760b14285fec548f173def7e43b4d0bbe79ea1acdfb74a40d6ae82e3ef4e0de3834ff3f68ea9c1efb843f65bdf779b2efbefbeefa8f9adc37b8b5dffa274528b8e2c5d911b7fe650077fff5aaa416c8d07c5b1ef7515bf784167cbae046c43f3f754b53ec6aae1057a293eb8fe79a639e67b45acd75e1bab2b9a0682e24595b98b622edfea6a998959c9b4d62229a1ad2aa495b1a2282b48c6571242e52b4688a1a1f91c8f0680346939d5e59b20fb0ab7579341f1f4b7c6891994c42bdb401596b348b1f43ca5cb55d1afeb091052d0bc9dbd91721364233ab4b81a84812144693eeacf9eaa105e96b89191f4b9380ac79cb51d28978a2748939b24591a046232c613d9a12e5d19617356602acc4cc947c4d52138219d172d5064e6d2d8b1f30b3adb107130454660fac72efb246fdd23ec3a6e7b6eb6aba4c5f9b96946572cb14e6519a1c5d634518dde9f1464a8d2073c0ca6432f4470b09e198315cb0ecbc95a1b1f2c1d6074ba240716b6a251c49a1c2048b9b266167d6aede19ff5a6b05433bb24888a98d1431336758688235573ff6436b4dd3189e3318aaced86742dd9a668ac1193396613a63cc3d258cb9c7ac24e27ac398d3648a1e3a5f2ac599f0aa2216c8529ca44cb4cca1f151059ec903909ee3f726e353bad18488bc01c84a92b746901a15b194b8c4d099f4f667c96ecb48cd6f764f942c151f337f77ecfe45da9876e32fa62783c598392d6691293cd3e4028a04d915dfc1f75b6b2bf6c06c2807ca3947d5d20ef63e274a000203f88c2ea884acf8f60c006c008375001412084623123dcc82d241fb54034ec9554ec3a3c020095328c310a490210c00430000304666406666ebf95d892f54c76ddb4025a938c58792affc4257325110d6d359e4ba687dee757f74b25ddcb0b6e996108670e753007bbb0956824f33131941fb4e600e62f732c55dafe10ef56f245a9a049674caf54de147a366b97a15381449415f38976e378db06828b2e2ddbd1b704968ea3ec1c2c00ea867bf9e77f98d5f77e06b6bd479ad025150544a53b7e42ae3ed69e0cafb327d2fd2e64a9aaa5a7b941215760785b7d3e82139d8b9354e001bc9ba05b9d96d37d7e6408b181f624012bc156399ce33d5c59a4f30c1f97c807cd9cf8fda475cf2981f58d4a2c435c77ce01344e52995ce270318ebb12d992b58e15bd0e134871dd29d26a093a81ccfcb00f84d357bf5504b0aa1ae798a07d1709bad6a1f274ef42b7d7c2f1e63418968bb7bb257d3903708cae1b60df9149637342cec1a178805e7cab624b00bfec1e546dec6d019e69ced70a237a894bf4c335f446e40e4691dd6ae9c8c6ec20959cd119d560641e79aaa9fba7a41190c785430d2f2f6f2024f23a1db6c97cf2ea9ab7e6b63311b82357a71653de113394be1e01dd1ad885400de58215fe9b521d017447733f8ce5763690a5df05ded3e1f1c69f3ec8640f4d16e6a655ebe35d9c98ac47527f6dabe1f70559395cc745f3e36e044f9eb06831a2820b242cca9665734853a9cc050c298c33d0507e428694fd06705f9094c653da207cae3ca96142a74eab22309fc931f2a36660381232db3f92422e8d8f6db4ee5bb14594a9416038b047ccad19ec80818c7806211a4a4192f2aef12d4b52231dc62b246835e5a6e6234602785f2ce67bb1435bf29245a614aa04fa3ccbaf1678aa6d3021c1bee8c2c1b48bd4bcc484585ae24dcf8347983eff5482bcfa62a12f43a1b25f184ce485ae49126388ae4ef36db8e9ca14a6300897a9349ebcde8e98aa183fa5d6ef0f9b9e98f52ad035ffcea051616ef2100c07a97954fa8cb4fc256abd7d0e12b2a4857baa5bde63f21562f31abe3ed933c569a4cb0ca31478e2415267555aff55e5ce967d4c69c4611d8835acc47ab20f40a9c04c938829cbe72157ed0541c6254a8f73100aea264950afcbccca7dbe8354ef747b256b1b8a0d60d2225c194ce13f81314dfab12d0e626175ecb71d3c07be32261934a7a941e032ea9df05a4fb757db7ce57cb5cb84baf9a6d66d2daacf30e923c3971102a1bc97db768e8558c7c09b5255c8eb0436ad7794d707435240e49512129902f17eb2f758959be430073437fcfa00e90890a2136d298a868ecf579325ee72af59e4f9e3d424d6ca36c9e18d8c296b98d43aa6c01f0bbd6cc456245e9a6b7d64e41ca519003b33497d574fc2bdb2a5736b776e4c7520cfa5d69a4698d272f250c4dcd17a3368260f731b5178d3054c5c80f94e24340711855c5201086fa153021186e715943daf59ff4dadabca1275fcc3e92669b4e54792cce072291d8bb6d384cf090bf54d5228111f4aa68b68f4920ef691777393aada34dccf85101f395590d56aafb84da1c463ea69d5e2a49c97cb571155f2266c94021b6bae63a41861cfde6ab365684738c0ec49d017f46c0b5187fc71c4fc46b9990a4bd262658708fb0e819092b0c89484bcf9bb37469a365508b3bc0eb22805404820cd923a0020d612480025b52e01609e88f9ac00dc4ffb2a2a0b1904627dba1aff9e8b34c43f4764897bbec97437221906a033d1e9e17a46869c8e17083092f392cb1e828042b4a62f6c0aef23b7c2de1601debd75f11e6afbfa1be89dc3b717b075c6ed9c36512cbd2a5facf160536fbfcd752c7df4146f5ced627cf1d58611b277fea5b4bcd2b1cf57d7ceb0e6be48fa62d7673e1e1560341651948b6a5668a09212984b0a47045fe094c9d775d9fa164391cefd8065bc19177701bd403872229b17725eb21008733e86f19fa0eb31ed060b44904c1170dd2faa51c6156ca515005b47f4d5cb4d1fb6f948c8144245e5d6ae0fd8bf7b5ea89b30e66d21a1764af8e118d82efddacdb296745c7583bb03fd80195b480ffe2c0fd77bd728318689c4f7958d168707af4bc14c00e84426d03bb5797fffab5d40381e606c7afcc41f30834b2f08d4f93d94b254569136011783dab29e836e547a7a598c947e8e983649af4c30a8209c19fe767ab04b919a6e48309f3f584a1d3ff56f56d939ef5b083fa1090130460c516c26722243fafab1e37cf21b72b0720feddcc82df633c828586e2e1811d3075939e7d4ecac4ac04ab12588be230c7669ce707839762c044d66aa5c9e16100cb46ab36307eaa1e685140ad63ce66c6308612764476f90f87270d904ec208e14b54d8524232afeefe839745ff0ba68459e6f11ac8038774ac777d515aa2f8918200b4d269214c9515de82d116403e8057ccfff3421408d01d871868459d7fc2fc52a5bd7053725a3351ad01de0d4d4708f483585d206e5e67a1b7212947dc8c386ac42d4d6eb6306574b5ada778f3ddd22967ba49da3fb55e60b0a4a269fafdcd2dff08614cee9d805f10308de71a7633483701f9183ff0c7fa8363a1099fabcd7a4462002ab440ad15308fbbc9046b42446a3373e17b95860b2b3a9163130f5b4ede8059d9bda4c87b282dbb8f206088675b556fcf684b65dab33d3232c550d801a67c8d2048e555ed9427bc01c40903aae3bcdfc2cb810d65cda0cc9419d5934c319acabe2106e5b0c205755f41af156fe03411a228ceecddc60c08be5ba56f7949167c65451f210a5a55f60768fda7e281a0c8c3bc2c6e8d9d47293149c2970a4156c1b17358cd5d98f313650f2f337ff1392730862743a709d243ee253446cde9d343da93fc7f0c7d16cfe79576125c668fd3f03f44d8954368bc542551774888ab6b9ff3e4cde99286f77725fbdd207f0f7124c411762df02ef47f5ccceb0d49500e9c3b1f9bd43197b00d9bc5580ea6c8273e6b2453c959849a6e2130a80dfcac390381921abbdb13cd3fd32973a38de78d98fa290c0b8728972c6f44547ecc6d8417b9966f7598e1a9167a5bef9c4cba97431814480746a68c37da149c86952314bad948b1a4b5c05b33c4069e81b53d2a9be0a5496fdc4faee568e26e817b31f434922a661db8106e966092445e5115f5c3ba2ebb1ac768d50763412e3f2e10a6a75636c30d032cb1b975af66b88b2db61c20688b4e96b9d785791fea59faeb4a7647877c89afe540657c3cc2f647abff1f3ea0cc2d80a12473a0fd726d9cad2c4724be99fc7504ab505f72fb4a482f40c58a5c3b4daa1f9bc7f15f7411633176967af9ac29ffbae9058b494b18c33c1d9a3aea43964d0d55d00d67ee476a863c250e366aab1bbd3bd50adc68760510ac0df8a46d7bb31d9b0f0009108a5a3a74ad0419ae378d29aa745efff49545271072b8fbe77710a08715b3a397237b1e180961e60ffa513acbf83de38a1326dbeb121a986b9b8307ea43b0577e150605b6f150fb2fb8e49cb157985dbea1367b64ac96a5dcf0c8e8bfb258eb88b545bbd5978da8f08f623796ae27cb1a9ca968b29324554b8abb1cf776be7190410ca5b30c184bacedb468e395ccf29c11b9e1f0ab23b0b0d509b6eddb3f02b935b78997edf797380638d5e5e41c2e82f823af298f90b111d9da1162b53c2aa6bd229bd375f30ccc63c9c60acb1c1fad0614347ec752df5aa22f4f71f509c9e379b81061f2cf669f9a49429cc13db1b585943a832ac7abecc8ca89938b0a1eb87e5e3d1ab7b4405d1db276cdfb72dfd574cfc037d4b581d515de5da874450363298c81d07ba26c59ce7e9e36151fc5440da83d73dc8a14fb97cdb3e5a8c858c210209546959b9447237d3b2c72dcbb9cc6dbd3c0a882e1a748c11713710b2ec59ebcd73b37d0f6900aff1acfe463150d2c77e1b77b87dfcacc69d13bc47b837156ba13f916cf72cc2abe73d9426abf76ae421079365109afd99cd1f49fe0b00581de9bdfbf8370a5bc6b8967150d3cacb1f1560804dd15025eace408eaa1bfdd5bdbab4022a3217f5d0e2088b979ebe03b8ae0d5e65e4fc4b574b54b55c959435fabfeaa27cdac40fe0abbe027b9b3b2019b5186db8b6e3a802157091cbc9e0d87fc6ac10aed6e47ac60ec2ee13b8f172f6cbd4c3cbe173ef33d2bada0fb5ad0f771f74338d62dfd8313eb441226f7def35a1653994305b6f5492866e4881c696021f6a9b3131208a9caf4cb686e32e4a92c5b0c9d0d2fe740fe43e0503d02c5a7ce459461b2658b9420442c2686a7858ab41cc3de164a54652517d80a2b1d0653c07c48ad0252c9eb63f1199a30fb4da2acca977fead10fd6435981e4bba21c021f1bb61753c4ee080d35649851edf8fbcff6551ae20c82777d80dfed447390c841a759b1677bfc72bb18487c82b9e0e4d9cbaae617fed3f905a5c2ac5e6808ab7c51e390b60a91151339bfc095e016b9003d0b6bf0c4849127bf59f9002eea3b557ce8a6746a474a810b7ae211378cb2db7421ef6be76b6f17040957d04f2f649f858be9d97611c5deda296188964ae96964085b84664d99286c74558b1334e2b39069aeaa91cf53f600daad229093a2c3a0c1b622575b7464be2c5b52422b2805ecd2398e6a0a6f649d05c675f23a593ee78e188836785628203f0c8397d2db8b81e792bd0d6cda25d87395e27461c679f7fb423eb073325bb99b9177fb3711ee7377347f46bba38e90879d04a3acd445d0e35e3408d976ed8c53cf10e3a9c5b0be5e23ba260ce6327d5f8026693205ee246c67da8202c09c07a6e1f2cd531991aa69820adb72c7dfbf5278ab19bb0c5eccfd1cf0ca80977a21f00534adf6770371efa668e83584d2de882cdf03394306fca631a64069b38df819fc8b4b2976be9dd609c89570824d13f9048826d52fe322231c8f54841b8dfae7c1395366aa4f6e4c2cb04018ae1c1c2f1e15b5a42d9b78cef49aae84ca2aebf2ec71a8f37387cf54efb0b736760c16459239d19ce87b6d6807a38ae46ae50b508b274c195c6163ad63a276ab4a8979061fcfadfa07a0d5b70913ffcc09ad5e3a1e2bc46b152fd27af5d488b6958163e5df5f84b60255cdac143d8dedd15c63168f500745850cde07cbe9a81118a990a603110db66be89095ad876e6c0c14ed0faa6c85dc56c751b9fc3725cac196c8dc53e67794b6fd3000798df676fc6aa575ffc88e7765129cc319cf32572e7eb8e9f33f6102013e68b0f24ffbdfb36a04444adb08993de7fc5f139683438f581ad869e6578d83ab9b66cc152ff33646960ebd0bfbf9eb908463a8646c058103bc1f232bf2e1dca91b8281115e17f8c53298cccaa1ec5d93ca68ee8169ab45624f2e98ed041583d01bb162c415b523b9a22160b410ad47fa3b07707f18fb1b01fda454acf4555545c1e411a625048ef18a0c7bb81d98db4376036d11a1c848ad74ba9fe2d9d4b512d72df92ffef09fae9dd1d1427420d40fa787d723e158f99d172ad360bff87d456430d31eabb0419481213627a5d3e19b38a5b0ef60ff4584fccaa272c56d53dc8a91be9bdd2200980d88940d200a155ff0407cd1578b8865c04f16feb40db56aa268171a791aafb43ef4a7cdfdee96a4259e43f9e9ec87c555b036ea0296f6e0061f22f28a8a10f157863ff53f6642c0de058ee5bf1f272551e128250bb90e360d78f9a7135edcba747b9cce66781c363aa95f81e2f1a6ccfc04604cf831dae7061743f2d118602573b26151d2976e62f8acd91c676fb28b499ef97321cd0c2d46dffb09ab8c24fb3bc1cebff7ea7b49c41deade48ab07c4b9c9c8329a4e40802dbd23a12ad89c732f0c90f8f679af211f4eaf1ccecc565b347bddfcc83839b8105036ccd6573b697bb3f3561e80390b98c8d89b9c3aa8c1abfab21e02fdee9500df9b6c5e0161c86d410f17511bda1e4ca6e01c2053b32f1f0b6c8e1ab83fb23b91fec982e541bdd0c79996abab5006e67433d07c0ee30e27cf01643464d59b2fe2c171ee57a46728c6c6aba64c38992390ec3e3e63867a5403f6205b53914f4b4c6b308b358acc3881b390d6f1193ef7bbfe494d6f9fdde18cfcc729de720fc28333c3716683380f8a1c7ef09b8f012b3bc19f220ff15931e021ce3dd69fea7a7340561c2407ce844d47a1cc840d4e415bca03ebc2dc983deb122300a1fe8e6392cd0a676e2ac885b50988e2a61c1f93b1a75554fadf4b52ac2a70024def0c3cfa22b9bf3f710dd21cf212bb5f329c634a60e2288a495c349d0f51cb41b9898f2329277646e0f5957f73456097b832fc69e51f466787c93e6b9c87630dc4e920cce598c1824cf60e07ff78abc12ba721e3c7e78ac11ceac7ab7e6906e8767a2e1513c27a5914ea07d8fac9046d47d5d189614a9d3c3ab07c1cfc4aa75366ef7d7195777601babf6004efd1b32ecc2f6b41744a457dbbb1c4993a25e67668dd059354644293c57778d1071f852702de4ff2915d0346bef5cf35771e69113a58d946a4c4ae1cc3b29737986ec784fb12ea6ebfcf98665748e6da0ed23312dd6721d349dd4e86e465da379ef05b8a3e1ad89ad95e6858fed3c1ad6cbf8b6dab7bd3cf6c358237bac9f9e8ef7dfba3bd28db5d897e1ada20167a933f6d85ab361cd772821c5cb9bbc8dc03a7f1f002dbb3a2d28ac3fcd7229e99731756a4cb8839c55bc62b0658d88c533934a82523a01661b5d8d6ff3a481b07a3ba64b48fbef6c7790632c18707151a596b1f566943904408443db8531d7d037d60c84beb15856cffc12f1b5802217de0346df2a7ad2584527e85a3a890b7e33a695ec3356baf838890ce45731f408ca089646e28e155e183b6b9bd610a4912a858680c831b4dea420d090efa2684228ee9b806af9042ef928131ddab501e3027f422c7d931ddd023fae80208a1cfdadaa0052f0b628bb19972797f9440bc68ac030219a56c4173e38fc5229cecf9fe1f1d4c47babe605851306d0eb2cc05dfda98efcceae716e73484cb425ddce514d0c0a7fce1120e8ec4782aa6ab1ac7add584b8e835ccb7e9767c29a95d7636901d6a02fcc65b48d9ebf52e153e741640752b5d22c7990fa91dabe90b7d97e2745710458f8355b68e30563388b26a25c148bba3c7f66cf80bb42dbe9020d00323ac19bcfc5ed76b4b31b0dedeabb0763f45eb8791b04ebda35f85dda1b7e6cd37f29e7197251b31ba290eb032a97d9b8eed0414a2bff3c74166e02ee868015617068611f0ba067ea1ec5147ec17ed68055f4d738e679d8c2ed673b9cea13b1ecfbb433c2edafc7157797cebd13d2f3c22e656b1c0f555a380883019033a5e031bd935e93210111ca5ca4fc2aa7b086cbb42c60807c365e2fa6b6d403ec7799466f0b84a27b7d016301c5fa410987991fd668281570e6a6e7e8818a754e49e0a0c69e1d75a021da188a25685d160a2d31ad146739bf1a29a77d1b871522c1a102c56f9f13c209ef42d58a7e200f3feddc323ff0e78e763b4c6e811989f0872140c218c723f065953cf1ebc2b9a7295730b1e18466fa2906832d360d181cf087794d8103aae9e38241c53de4ad4c068086baea519a59e2811cea58d5ae39e780fd9c5b4393a83b9ea9fca4fdfee448beeed736f255369ca468f2ad509adb616b66cbf4204de238f3db86c23abd976c95e08b8e854a5904425d323d15b63604d1f0620a4abada78d2e6a91846f5bb242567508d6e725572a78610b5d45f560b084877c01239f836c1f388454d0e8b352d3dd7c2c1408e98f42e3218d8b0740603f6a6008ef3fb1543e1eed87de1a8bb3341d845b38da36b1396414722c196e2f6ac2ee8f403a94a8cf68f3f4f1098e994648a8084c1001a4ff65a8e458072a60d27500cec0910820473a450a44c4800dd5eecbd20de28d1f23712d09067a1bc53d3b33f4c60e0717241f257e702337af0e782b68c2128183c4a68bc520cb143307d98290281a747e5c38548949ae56d20c93ea765d7f7703885ea6758ebe0d7e146f60ee54dc9a3e21dbd79e81337980abf6fce2611049926bfbed64df536118f4c235c9822acd4ab850219432c304d1701f888bd675d2a767f882c624109a9712acdedf007c82bf60c2920664eaf65d6fc36f921adaa15faaffd01f5d1e5e6fa366858eed5756d0a782f248b8ca9961d1067154574d853b1e84de6fcf819742aca63c134501ab54535e57a278990c58d0b0fa81e26fec828e89d8545147b5ea255ac15a088d478c119ce585c1538d4adf34028c9411d9cbfcc9f995a1d0c595bcc0123502c9385c272725cbd86d48948a7284fbc090be7fbd7e154fb5b71e84a6ae7a7015a29c09d8a9a9c1da55baf94375970f1202ccc14b68186a8961ef7f7199ab021ad7b0d122bd6070aa51d0fd473c19d25e58a02eacdb991eda2c064862680b4279ec57fe682c08023405c2046a46f1e51aab9b9082da27255de586ac3038043c0835c7d21e5ef980cefb4865daab37ad0e46703418a66f942bf65c6135492b4b929f9eda2fd1d9459f223ddbf50456a9f62523386b6a201f71f50b9cce42a2df2118810d02da5864c317606bdfc8a020b3553efc0c542c7c469e6d4e35ceed598ed9b574093673c67a79b9a6710f70e664644167069a4de252991c541120843515f329607c649684d0e688431ec365b05da70fcd0fe03fa013e2e1b01f7a79256cffce48d7145243ea5075121a0c1b1a002e485110037a129b68d4d436ba10dd78f3ad563cafea9a33916e1bddab93c8cfde8dfc1c74c95eb9d2d8c957ff59f11f8a3e45df803e12e897b2a07b2ed893f8a430b14acc47e342b37f2c88ce091eb18bb8a0491148ef5379d3502e0bb155943e4007020dda2d3246ccc2d8bfd1bf1522a92b271e8f244567f14c38400b0158304ad8f913aeee01e0ebf98ca044bb37d97e5a4dd22d7a236d56cfd992e45d40a6288a68c164d5facbdd57672be551d210364cef3317a8a6e01746c8ba8355959a826beb027c32c7c1e32e038303c4e4013a46a94857200ead9d03963029746c0b6ea0b989d3218207fb19b93f3b6677c12aaa2efa95dc03182211b8583e30f20e800ca4e42e66bc72434ea87cc302e939584cf5a93bd1d1b4a810a144a1c1090f70656f99a49429a594524a29ac0445045e0466eeb9ecbcf3618c797d50bd9afa5f6d7bdfa5bed7fb9fcd72e7ce7b6651b1d65cedf27b4d9baf887418b3ccf518e79c71d6395bf3defb51bfa772c715fff0100d21e898feccdd637104509c7b079785a9d1dc6530b6f6f31df38bb8b60659ee7f6d054c948399f3fd77d82b304fc0cca8d518ff16384ceafb688f77fa5f1560d112ed6508f23cfc73186337a011800c0abf96f6842dd16932ccd80e8c38d698c27c9066657b852c6c1728ae70de78020b33d6c409140d5821011198a07fde4196393e649144101cc6f18f3be0cc212213fd0447f11d7921e2f01b5907d17dc25265931be5030f3b0610391a20aa67991de57ca0902869bb198134a403d9599913952e160121a5ad776152b7b0789727cb4daed9136393cae48cb8d1a01c9915b9300421c50450c702b83036b20b3708273951ed2123886a1cd00022e221ca8d61ad84b3b30983a3e323640485a57255d81de32fe07c899b2c4518506e4d58aeaed6d7198396f1c675886d3e5e66f749cd8edb8c194d90945a80bac5626f2c004045bd271166416a2388659b5096b41d6359868fa6212a38b787e8cbec68a98a51ad9da82abac2a16d6069ac24374c4936c36ada4a2977b5ec4eb821722531c6e61172c35a10413389f705d79961e32ce201448a5f0dd942810401c41146561aa8a56c1b883429d4ac10318394a6015440bc90c1cb3c3aa00c043b22180109849480ca0425f8302148de4921cde318da49292082b4421cf681d254dc8c0b0b742ad0454a2b38f29c60908302eda30e59354a82393230ed29aed58d5b8c3c6b218bcf068706a9a348fb782285eca2978d2a1adac51b1e47ec244966384b4d0d1b3a2009518201473a108e452a2257d6118eab03758931c579d111d31ca6226a677770726a7747b31a035a98d018dd3543932b96e1bbb6194060d6867018b523a7bc74f56328ddc4a9b4448b4b4b157c0f7b87cad90aaa80e79a6606f3044df0031470cdae687f7f02b8746ccceda7f8f0de7be79cf70df0407bfad19fb48c3de5380571fab1e34e62bce9096fda026284ffc02af21f475156f9c78faba62ffc89abfb589056a593f8ede626ffd0c27243c89347532363ca8f082343cd0e1c9613ba62706bc7b22cc9f2128b88d78c0ddbd9790ea54b8742e4440b13342843653c47da5a0869c2e4094976d203584694bac29c6a970c10b4c074e578bda85b4a3428bacab22c5bc0d3024c55d8a90fd32c4b93013c1a165f40c8e2b211de9d2a7e5249962bf06840a0557af27c80089e10e5a90284d407271d8ac12f10511c6e6cf84af3de8c727a7f661e4d09613f2841a3082eae018562e9358f6685a6eabde98538668c33040f6a9c4e435a091835ca26771b4ed995baa254851670a0144d29eca1095807465492092ad802a58b10d39aba0f3949729293249700b7fa1ee0884510238eb8191433c61b3c27566c20146f0ecce0de67823bfba82766f26f67ad3f881d1454e361f28529e74a121ea6b27a44088f8e37a39fa12c470d881891f5dcb87117c2994e1991a2e3d6716cc66eab2ea7ca48510b914696ba3b295f6f53c448b8f29acbd163454a959d530b2519473c506937aa60845575604a8b04b2f66f9242d3e49d3c7feff781be528882d9fb5085a41360771b3e5ed1a32cdf0c3fc3f7ddec16bddc3485bdf4661be3da41aec13526ef6d2fae61a6fc700e4df28dbd33f08e0019c5807bb3d243ed49dd22f444084693531d9a946c24bad060638021878192c18edd131bd71593b3a3a91b3cee869ad88561f905f1aae2f26266089e9d2d21275136a42a00c3128e211f747136d468641b51e4c830a88a19514d808c2cd1e082f4646e6a49e9a8caca2bfdb0574f78574e305c2798318f2ae950eaf14a2f4aa19454c318189b0c5c7a1888f0f18256daaf2ef9d2f0046f0db8a41992d48ad85a6d5eadaf08e6bde615662bc4e7c5f87fb843f45eabb3d0db146d679dabae390775a977b9b546499273129bde7bbf4dfc2fe77d6f2ccc5a2a64cb26454d8a5d03b2b2cab2b2c279bfc0f6bee89924b7de65e7bb2473e73beb9c7bbe5d88bca5ed652fcbaf63b226f92e711f86e0c07d6a9d2d99666c2b898978d8ef6b4ef5fe40ca3389d1bdff70ff8e51609eebd67b88824f75d641a233eee45c3b65d9ac9a14bb3694410fdeefbdfa6aae4b1f5e94fc964bd4df4758806caef35e414caa5147a30896519a8a635397dbd01292cd753e6a3b72eb52b4718beb859f332b1b545e160a18a80c3638575c10bd55c9f9e01de59f7d6952f30bf8c31be47f9ed8e3afd3ffd39fb9787f6c4025ac81a21cf4e65eb10602816cb8881883a7e06a7b6fd334b9c9f9b9ade75f27afa7c2f65f69e6deb7bfe4699bc2b7d978bcd7bd872d85fafebd244e9b62f3ca123d7bb83c7fc93bcbde3b6a9a1ad8fe02286a5a10417f25f0e759c059812ccbdff3a4ffa427cd0ed6574324a218f87c3e9f914eff79d8f04b81454a5f270fe509bb89cd0f5a6bedf5c7bc93d7cf13ede0cbd27e602afc60d972529e88dfefd7fd19d31362a190971ecd109e6c42714d0c7abd1e6956efb590f7adb51aacf810a81f7abf84dee765abcfef3df6e5dedcf25e4c63a6f40f6e3a794f10dece82464013e777986d91e30f32e062944195c5261404054b8ca4b4749cbd30caa005f1a8918e8fef8f7affcb4a9b321282fee4b0888e504441b4165ac426e36394d2d3280868282b156a358c6f51d1f62ff4683511173d6ab3f00856d0afb3a4ea0723f0a81f105d2cbb24c45e239ce57c552bb455333186ee0763d07f710e0deeb2436a1f98432b1ee2359962ef419914a8c65cb6c486b36d3fc05f26301c0168309b06222c9ad2f06a51d71553bdc54c1fd687e39a3bb87797b5e8bdf786c1f529e5430b46d32ea9be5e006bedbdf5cbde7b31b61e9c2ec638e7bb2107fe20489000e17f1f30f8fb43e5da86a15ee96fc7d75c63be831a6772cc4ca81700a26b766b02e3ae5631491ec94e722035925451737a8556c77a603b693bd985df0374c6bcd8d65c7116277018003ef40920688631a42800c1ff26a2280c5190c1ec752b5224a24b3f162836eb412cb7799db52165a13d29784442e9e5350268356dfed5577bbd28dc0c1e19fe49dc73032c478be5859c106b29d86a87fc44cd168e735c6d94b45f08b4a824642c89da3709997ec2247937497e0a6faa3dc0ff1272ef49e3cf8d19bc391f1e4baadba052a2652e88e9859b8e95db921e1bc6a09f9e9754186946f4db7dc839f7d2016ab95f0e4ed180834ec8db752cbb8c94e410a94b8614bb123aaf706cb9bbab183c464b0a74b2933cf1a16c694ac2c004a56dd5245f6dc51d42b6baf8582fc63ee6b5ca29d21cf344493c202f040775210b179e10229792ab782b2656695c4ee906ae1ce49d35a13140a5cbca04269ddd52bab938957dc63275a6c661742d5b22372e8e9141d19e833e77f120664816ee386f1bdb7f08a570df52584b93a605b2b4a58942095f4559fe3eb47698728d3bfeb152b2fa49ee76931a204a6134a49c04d9c1050255767353c2cc29adedb3aab8ac1c7642654b54498e24d5274f433d55734d6f5bca2c369ebbbbbb2b454f3ae290646c1983c352d6baa09ea82a57bec0ecc8a8406ef8503d6555c9bd00439c7a011434b39e185a6894583a48a6ab1fdc562621723bc748b566b4ba090226c85c008ee92f489695204c61bcda9c5b582ee41b8c6ffd39df5958b34fdd12416e11d5d3662327b644fc52ddacd025c9d2c213849525c69b94977a6704c8942f54b8a6e48480483403ad2acee856a43d18810de10879035397012373554e5dbcb870b04cf9309ac211844d24a9dbe212654beaa747150c41861c9bc80db941a182b67975301f194f15a6a12e653d9270a08ec711d19ad9d896218c31c678ef6b52e0dcc27f314ee1628c31be735041d408c5f3fb19efe1ff36885e3c64ea275c93d915960f31059df1b74ac4c4c438d8e207a3160fbedeb611f4ba89084b3950454969d07c7fadd5e70a85a9157a000ab5d6425518ea726cb8d96d39abbb92f5437ce3b1d4234bdc124fc90b087b8b4d6aaa137b4f380ec928e5b3bb9e5e64a73b6e7c416d1ba3e04640494fa7e35a69925d7bdbb1b06b28b4d4525dbfc0a4a1eab5261612bfef4c553badb8f892583822cdb9a739f354eb9deead53ce73da3b4e49b2ecbd2c491eef42be75ce585872dba3cc3ac25e7b71d69b7711f962cbb9feda6e7d71d69b935a677c7b45f78e30edadd653a1f8d611e64d7003be39cfe5e1e1a978f8bfbdd763ec73f65afbcd7d3f57a0c18df3dfc3bdb3477f419a0f1d4893a4db5577988ef74d874bbaba3b2773857147bc199a38c3cdcd1c9c3b2fd9eede199768255be79acdec9dd54419674d947f9771d8c44f4dd387490b814a40a49c2693c79ae8e0fea73207c883c6e4b9be6229d94ab86e6ebfa9509a12ad9628b0480968b44961594f5d2cd5d0cab53c0c16831aaa7240a3b58fa701fe804cdfd3008b804afa6212e86278f796f4b7f4d8f4d97b7dfacdf37cf74ef2b21d510482d179ffbccbbd75028aa9de1befee75353a41a57aef9bed3533abbd38ebddb3b55aab058039303c54ba0c51c26665a96949528d213f694246641314da2fb69f292e671bf45a16f4acd61a4adbacb557fde8f51d89063a4d37fcef92ec7f9b00ca0bc808930b681ccf0ab4c8e1842814056689915c8af2ef4a0a7bdfbb0558a9165dc071c75bc2929e187f8cf1b717632106207e3e9f31f594620412b793b211f4de17d75e14022a964821eb5a3a7232b73356c58d051959a87ca05c00019ae9709da7bdf732ed454a1d0ab50a16ff570c059c1c6552dd7fef334aa4bc69c0c6e0c65e607d023f6568500caaccad6aeb8687140b728eb20c199244eaeaea80f9c0411e79806db832c4c8b6dcced9d48b215178c63800a2e582211bb72034dd13a245d38f1960336ee8944cc9f99273b137205523c78a98972d48cea092aa98c5c0a1e2e5fe04a5dd25e9c8ea21528f677a49614522a756d9a8c29e50c99143089dd48dc196c4e66dc4912e2a4054a4baf4b8eac28105a0b4d9b8596282c5c88541f6f653ed546c510a5a72020705cc6a2eeeb9b84469ed680b0b02756f8ef8e8f8486092bb9bb1a30a161bae322651553490b48e0c5d32b9b71a06085492972a1c2eb29895e8de7beb749725199bde9d02469e84ec540132634828491831254c367ae4b82ebebc5e308d59e0bc69ee9a256b231133eb853561e385817d9dfcea39b22377fd8b0e29842644b8b02454caaf3a2f377b93e3e6da9429f5b85e579a698ca822acfe4bd28ff7d0629b2fa6bac4146d05f3ea4f5666c9e2fcb561f0bf5bf5a291692d2123c00e998d9b1234bfa0ec528662380d902899fa33c7bbb56bc11c6f62308a156348decfa0884983320d98299389b1372395082bfa78b88d62be3319c37cf697fd25a749f611cc05301b6035ee477f80f1606f7aee79c29314813479e7e5fdbe737fcfb2343dc6584862932c4d5eef4294dc66061fdaebc99966fd5beef692f34e1eeff77ae7e15fe2b3638c77374dd22c3b79f2fb3d3649ccbb53cedcd6e47b819439c51fc518fb32973f8cfbcef9eb60ed2cd29c777975afda5a417872e7dfe3ed0f39fbb2eafceb0e82c8df9768efd9f3aecd0fa4be313eedb7fb9e5b9c76276d2f20b28bbde92e965bc33b4f20b087fa7e8a70de6b448276cc35173dc1f79b6f0d3003517f02b0d755e0f17835f7de1bb3bd64109b4b0d9d0e9fcfe70302bf8ffbdff7becf33f7fc5723028b0ddee7e3e0fb7df0f9ebbb1708e4e06177f16900b650e1e400f4f9d0bc21b8e16bd0707e1e0d090c72f86dc82c34d094bf218bacc2ed351d84c40e1d34dcd2c991c65ab06894583a489fd4de583cb8bcfa21446e9f49e50e149b1b57ac1c0953f756e624ad470c59942cf17a8194534b88321ea73237c3059db91e48754ce7cb2a8a9057940b77c5d2ee0a8a5f559129c480a2d4e61465a6869add6d39d1d9d0981b430323ed172c5d5c41b524d7c373638704028e8b1951c0dc9258f5be8a36879515016aa4fe2bc6b579e78ab310e78d837968a74557d1e1df4eec0f57fb9938f84a3bf253ab8f12941c0059ba8d604578f1344a199bb65149ff0c8c2f8cc4f1fd770aa4ef841df5779bbf292363eb0d19efc18cedddff8f49be71a035b68ab6b2d55e8fe10990dd8776387d27515f87fd8322c08e50805a42bb08abe125130c2bb200bc39ae68f0ff987a8022f67b6e92a4c9fb678b1cd9842e147edf877cb879092426b1b093bd857d53def79e9b825a20af6ca9c656c8b75005d15bbe6373e9c6ac337c7bfd2283f8e635f7f3b2829ed59d9131f47a647301d292179d9e9d123570a870452985f5d061f5900494d1a8e4cb1dcc160038510033a6001c1488c6c35912a33010a6de0374a38a075b4d04a3a01c10a440066210086318946110310400440842c628a6cc4ee33939311eff7a9f6f59bf5f9e8553696299c36c788eb58b4b4eeb9390c25f9fa79633ac9002cfbadde6451b53fa52383491773ad85639243ae46ad31c1c27b6397dc8814c9a23af54b28991d3612c4ed42a4f2f2025a9009ef125bb2f7848ba54d369f570cbd5dcbbd59a4e4ffffbbf1841ce3be86b3a5bda8af8041d90cbc7e839d109032d6b3aafea491ee8f9d39b2d1d61e2e35716950bb7b6448d074743c7cb4d1449abfd98f5333840f02e8219ed16cdf12e111ab3f2348a7a4f9cca57c2ee8c5f202245892c2a2b0450c075a3308e619e85b97b8386ec41307bf838b860573dace8a2c1f4681cb4da6dcd66600208599957fae2472e7a4bed874d091778da24b046a9f919f648fd69145a1a7b2b7eb4c39cb308318f1db13188c49c4e26d3d983d9aa8686eb1075f363c045a5a11684682feecbfcee1138d7b1ba23219d48ee6a511c06a14ef75aee64d3c6bd911268e0109f4bac8cdbeafb22320849e34cce21e895c4cb0d4276d1697ef810ea5c4d2a4c0bae15a7f82f0998cf1880c1abe286cf5461b8e0f96acbe8fd8e71a272e52396b0d6729535c568533c5a9bd2c03da6276f8dda993aba64b378f2691f51669c7955b593d9f2908c29390dae9caaca21152bf14a6d4252ae8c3a136dd689b6e6482ea64e94ce902585fb57e9a0e7bc00e6cfcd01de468ea7ca0852c7aafd154a688f7a2774f327f2f74cc82d4e6b0281fd18abd47cdc0a3d4eea8d6c1ccdb27bab31d0cf1cb9874f295f5815b56d8a54c9561441b703d089184013f737454f06b2dd1d3cfc8767c3bcac4af9f26dfd42e8e2aa8e2745e7ea4bfebe578b85873695b00f43a622a62faa4518b57d2c449f9fbc00fb3e0a58ed293dbf3dd2bf5701f20a692eacbad2247335891b0adcd05968529b427687fdcc7a836eaf78893f39410f0a0b6f731f7eeb5cb99e01548691eff81e6ba1ceb372ca9f97e211e0e8207e6661688548ab8aa9175ff333347203a25a25cb2a0525655c74684107e08e468e32bc3b305cb787dcf27e33d37fc3b0524b6157b1fef2334bc788b522e6e56bb5a3f36687d77b6ea2d577238ccd30cfc990c615bd079c0803dadf591cfb91977a4ff8e4d367049abd09eea03ee4c090c857ee935415785a44950246b02800e2f60e2cd26c767b946c4e1738b708f2a2a5a6667f2c1335baacfa16d0148f470c6c6fa54a9d00956d779cada43edf170e1fa084fde09ea2b6b7b8e287567070c739fba667b0f1bc9bc57d23f268719befb3032259867e2194010b7d0b8781c637cc754c9772e8d638d33210c1a543c3c937299f20fbbce8413e541a1a21102e7525276cc73eebcfa3f78da5577b7d2d20c1b3ba62a9ce4055dc0409eddf3c2896033f2f7f46cde1736f4a5a20e273d5b4f3b0a35c8c9c74b48d223828d34b491112940c622a14033b1acf1efb6cae83d3376e04e6afd7e896cac4c1597a799545c8fdc2d5c958391fa974784265ddf63749f46ef6ef71e00ade2d272b5b2ff890947679c79f0a02178acf05dcfe4d0cfd59c73ef7ed6f6e22c97d5b60415e8efbdbb0bfaf29ff7abf2d597b1d480a7c016ee1f51552cb50202f43b264c13d815c56266df7cf9f73a1c367e383708853b805356591625cfe5ca7272cc5b7b62a6e9b1511469056a8304871f41a808fcc299a93182e5970b6eb01ec3e35b3ceb2c9a90d80d15fd2bf3a81515f3f2eb6abb534f24adfac10c6a35fad64ff47a4475fb6e4327409a25071ca705f358f02afca2244ba82596df996a680e9c91b3833230d5c51f6e388f09d5bccca84be8e35e5416aaca3c8c0ed78ba70e584c8dd598a35cf168e3726a04f225d543ef93c6fcd4053119ceb436731fe9283e073a63e7c8c015b46a28d1ea491f2595d67b33f813b418a71d09dc26935cfc9e709203febbbb9a7dad53a38c52e95d9f2ccff81e21601f699e5ec80f1565da7316735f9bc4ad86912c82f60a86991f4cd8971154953543d9422e968be14acf61841248d408f71da99c9c1d425d492cad23a51fd0501f7bd69447e7a483ae35ef517669b4c9073dce2267d4ab14ecb15524d0860e359edd405d543d5973ed5c25646bbe8ecbb19b95ddef85f61510e6f9fd0cbef587aae59a32e6d64aafbabf3aee1a3ad0b6d1d267b73a2b79e1049ba0f194f384a0e0729a30d7689fd3eb79ad135ecf49ec7665127db4939ea10d648eb85e7a4cb94b406c4d24070a419e506095b604bd22260c024726b9236b7994a85c9497af84813414d8b9c533362b75b49e6bd5d99267f8dd84128e99e179434e1a34df800a0a49100379623f78c91965fc5dfb1da19effc1c5564db4fd2a364ab19756feff57d68a4735dd013e5721153517913d710c17c830ba988cc24212094b49e7460588532bd6cc70e1609ad51e83db34e77e54e527fc591b6d6df7faa6f9aea0e32248ba5944a444973b2390ed750d25eeabefd55a1a401ddf50f0532a692f2fe152cce4d2f6933c6c10853b2e84ffa5593767641879c96c9e2687b9ee4a5e8859c24eb579e563e8aa33f507cc8e2f43a2fc18a3e3f21fa4992524fae003a65b1e93f2626fd9b43cbc5c2a4b5200734044d1bc47af2b0b15b2871bd9734deaac493a502c84ff867451189a62c05883d6531a8244bd983c9a9648c33ccc32b8ba26bd0648d3fc8800b0b95cb1237fec4889ee1a68684bd592f0cf2cc91a9ed66316412f4b883840eb38ed866fc7f8b4e9226d19c366c6105526cc11d5f53d6bb63d65d47d5e2f4c3d0e0ee2a079d5f0285fcb9a1c5bf31b99b45b2b40a9273983175500bdf9101c146af6c65727a8453ec95c28c41b0729df5259222c836d2f77097b54976273770278c4ed90b13e9908ed2f89a72f2ee1e2b660f88a0755aa0300a389d8d49ebab77007d1e2b640002482796a9e68f2afa4d9700419bdd34a80ba18719857731577e01ec7b6bc81c7dfccda4d469b481a5de842706a6daf65e121a3dd95bbab790d05fc4d4474d7d3d5231dcc79272e17fa838b7ad577c613c12cca60260e1493f53f6c3574e962711d146004c1bb6c3f2e3835714c9b1401bf7d0f0da78941181072bec1babda3844060d984d71f6e49092170630d39539a5b0f18efcfca263e7fbe82fd1e20046ae3eac06749a22ffc38fe69aa3d9319d53c0b489c5776fc3ff1e7c32d187acbca0516562c47411593892d4e788beca13518fa27bb36e131928c19c06ea8d8289bd5a65869512d8068fb3d20bb817707d60a374149014a5c4cc82c0d7e2bf455ac4ee638a89a11e15a9aa138e91e2105d9e488cc8351e1a5aa64958f94e8bac95da25e26913d85eeb9bcf85dac161573c2b294f84ba6231ca41b2193f0f749cd0806597e7326da33796fd29764480fdac4020b68099138d8dfb9e55d847239268adf0a94fcd7480f316ffd05a48b7e43db52c1d59b1955a9c1733ac4632be035e7ac4f636a312687946f553e2cc473fa6ad7768de81404a84922acba3d2dd0b344519b595a13cd738eb485ea38fd39fb307807b35d5e0c927bdddbd1c00374b82bfea223fcb42af4808d5814260c047d5076f4fb24b2a6b4a5b43f7b44705f9551e24b76a86507ef26341e28f01413c9c538cd89cfe454d9a1af9d2c5ede8d97428ec7bbb53f715658d2c9d18ec8b1caecc6f40d18922d26a2f9250071dea8944b0c6bb04de5e1b70c3dedc8f2b020f8b95b90777fcb2263e83d777faa5802248c46ee2331b19e368b502111312cce8677c992582612e4f8c5f43990d06b6a60bbb075ce1e22028138d2a497cd31a798120006f8b07e01b7a04cfc5742ba5ff9156040d664099ebce6c5e625c03326571a7892c24b1f6e751696b3be502a9682cd05b2b43d7b78a600415d6278167c870af0a9043550f11c1e912bba339e826dfb6538db351e5bbe6eac7cc8acf31ac5adb46d4e2062de08b62606e70b179df586eb0711ce79de367e9e406e7679476103758bcc647e5bf04d0f877fc56fe0c95bd54bb94576aeb0ff4a3621155e5615dea8eec8288997e11442b4d121c2a67c8d778cb53d33762a1204e656f84108c2e740371a8eb38cf08371db648d384531810fcca1a131562bcf733969c41455da003213c8d7c201b7e4768d391ad29e0880da1be2ebadf4c33c095c7c7c496002021d7ba610c66baf380e7d38d8705a764b69451a2af0ddc9f6b071500ac11d04b01437b0652c5844128a6a1d691eea186afd3c88d63edbecaa1d793c89e8649311d88acef949e6031bb072b9eb4059d315a746973ef19c32cfe2472a70fb57dc501fb88a8a68b7e746b32dcb0ac5ab8a61fd696903005174ef93fc8fa36e264945b981fd07ddb7924409fdc5fc75b2cea01b5d028e2503ce813b074ef2f4181d11eb714142a29259c2fd0fecc5d3081c630f9bdc28897207b2d6b071e029ab01aa5830231ea1ed0ca8b23338dcfa55ca53a1ce93b5c4fea9afd23473650479a9966affdbc2b93d45e553e42b1ba0d0f57e9d9173fa41b3e8c6ff944e2fca38da6287ac9c4179ea1ab8b84e80628d69b290f8d6dd9d09c1c4675971f8b3ee77e52a822a77e804e66a446a251c5b4ea47367a02bacd47a99d0f621b13558b7dad5dc35be1a9312a633cbd52f04d249024eac226d63fe2b4f2410de4fd191894f8163cbd9675c5bf4cb7ba6376a04e3adf4235b310281e2a8b41f4f86e22ffd1459380a83b610d71e58bb946b2f37d6cbc0d943d85e1ed5b91b36d7f0350ac0ad8ff1a1de88ec9df4b9dd5ebf41d730de97826437dba30fa5a81a86b852b75c0d68aa81eb2ff58e42cb4be5e2ec67874a43c3aa1d298c87bc74d62ab005bd6c28adaa2004cde1cc3ffc00cd0dd3b6ccf7514f6ca831525b59601e80503c951faab2150d2540300f5f2ee790b80e93dc323b39c968841342c76056d4d0d88d63f8f0e6b1e972a1dfa07e0054027d7b2d06e6a183d346cfb76467a6ca5fd8383b72b03417468c85f494bc30461bdd44c8a5a6661b9e6a0b7b64c0fccba726320b1a0f892cf728a4f6592b46a1eb9fa5df33f1117e9e88346131b702f1aaa531d7118e2d90b8e8f1134a487ef9d3897ebe78067f90d18343f0780c8fc86533efa13e6e3cdd808b5c84a821411c43a34c6898a022ffb968c04ae3fd72ba9f7c24f9812bbb0e2df29f4ec06358c482b578915dc8829c5d425b1b97358135902790c3b53c20b376f96730d8565eb8fc93f6c4abcac8a714facf63225421d0b6d53b629e19b5d346805642cd7804bfc574a041978b7813a02d30bc8670dcbeba915a6d85e0fd843da272040d6dba4a8429cae2fddda47df21078b203f33d231d43d5aff63043f2116f839bbb28b2ecd3daee59df3696ae822bbb65dfdddd457aea06eda0f74918c899f38fb68719acea9e573dd5cf82df2a619a120f5b9b86231618df9ab08eadc3a1f7f35abd163bd86601f8587c33c892695ddd45cbe453f6ff8bd12a4cb6e0db4dc36dcce9d635ebf7c15a04a16a59dbf44453753f130d2f1b50eb0c53313f1c10b14ca4af67e4f1d9aa4b6fa3553957c5dbd6aa55902c0253d269d6db02f04d4b1b803d758313d0ed3ea0ad8f4af194af8e837923b8f313ed01b2d022b9526d3112da8ade4dc02aac32251a9c3514a1d027a1fafc38a83d57fe0d1c0811e3c9da30c9986ecbbf878514b83814344a10b01efc95df3637109dfcae8abcc3c69c7c9a85af988e20a18bdfa3eb13a948906ffb8c07abdcb2f5480219a96caf8ee181a8be11a2480a0d74625370db14b15ec2eb79df3efcb582ec4291bbe16085241959f25346457dff57d67226b931d95af6bae5917a2db3746d974255f67dd657197583fc86b37d15db26a6225e5ca81efb3e7aa7565a519165e68587d844bf81f346309443ff99bd9302de867b3f87396a45e855696669d3d61acec69a92081f403fe513c723033a1fa08a3fae16007fd2e1ba1ca0325c892e2a80bc0cbb31c0f63f936e75cf95821e75d201523dac1288c2acaf9d315cfe15f386e13fd17349ce6c8008c6029a50d46e130b55a95580dc6586030da135a9ce3ee18ee5e4fbedb6171d973ffea09f6549d4030dd69b87800f6c8e12ae9231b405c123cde691d40f3e692cc44e2ac0c001834438b1792c7db4bd408998687760dbb3508ed27d1f01ff5a26f0da29b0d170472fabcde1694032cc69e7fe0f980ca07b8e52787d8d5c214b61e08e796ecd4dbbab5c88d4e31e87b2579e0e30b51fe9e4a3c2339d75474e0e46fff4f66b5df264f03f5f61a084577def9dd77de3d77aaa29a28e6948bb4b42ad0356924567394d39599324838f3739f2e686ca4609f075af496e8403478283a80279c34baadb910f8ea0a1ced8142fec1f8a29bf1f9e832a7973a85adeb1a53fb108631112fa430182757b647268da7a165994f9baae41dda6c4094e46e3b23ee17b30d605af2001aa3cb80417ebf70fff45bc98c7d2ebd0623bb05f39e033e1371e85986573188ff2e1545a84138b67b5c274d606153f0765dab69f0cb1399b51db296c212e4bec6c792efe278644e78f71208ef1a1c7691d9d7a2c44a133df387c0c196c918599e82d1067949dce53f36c5a37d4d9c17425d02f58c12a436f64becb1236f2feaa86aa02fcd3ae3d9b3bf500a3ac2b71a31de896011f8237774ff3822128292f29248e54eaae8322d07fa774ee2a833997e24a78204c1739b21681905f4407c8cc57ada6da4c7da8602e245f39e6631352a4188dc56eee63de02e28a00b41a99754215070ae24d0a16e382cc1f6c04a820839712065d855fa388cd172f5bc74e353f34045e82917ebe08213ca2b43ee989f12895afe2e2e8b2ada40d1c8b8a800113e79b85a084fa9beb2c764c62c2faf6498fbaff91f89d5c3f0b6cfc0f9f8010d9c939d5729f7ea5b4eb6cede85bccf2bbffc1cd73c1b248cf011860aacbcf4c20270c9634422ee7e42c9f9cbe25805361b61322293eddeb7f7dc6ef90f29fd469d8ae79d8f7b7a7eb8379575c4a29bedc0020b408bf8f6694562b0ddb340b734df899c11ce5a8b1618c8f4b83047d5bd9cb414c283d77ea97127df4858054f377bca9012488146c11b01107fa5dbe60956f03f33227b88db360d8d82bfdab21ad54530ad834535a7d12f1461166beb5fede776519063373f3467b9e7bad9179ad356463363869f32e9bbc50a9ee3bdc6867ad90812814871f75dd24036155ebc520236aec1cb318f42b7595ba296919cd88968842ef1185d7e8b58baa97bc54891017c8130f3c2a9897957499295bce1e23df066748d54feee1ed49621cf14c0987b8d3c5acd3d5951df2364334ffff08f7ffdcf3fe44fe9a7ab19023fc628bcc3cbcb0114b86ebb95d2d86b94ff066dc533ea02b1bc5194e9f81e1f4690ef0ec9426327e0a7fd1b41f64bce35d4d4dccc42a9ef4839555047fb279cfd79d53c7bb9eebd05b2cc9c877a8b53fa43703ac60674c89976e36b2b32b651f55281d19bfa00341915f3de3647c0ede8c55f3fc544ace0c1b4a7bbb7430e02e7bcd8667f5535a2e04e6e3f564d5b303c9a7674c3ae7aea564e117927d185312f345d525849558b3b32bf014f696954067fbdb0ab5a888e7393950a36e5524a52668a62d722de507b1f31d145e78ccf69ed1db14cebe5d9744a989d510a737f7cb8b529aaf6cd8292b474d6a3541a1b8268df5060e578fadd94de1b617be6480499dc514cfcc7c528bda5e4f60a6707891db58562ec541b6e4036bd0d3069ae4812934596dd10eb9c71e58e5b4ce50a4bf907830f50a06f135999b014daa73fb0301f88594b1eb5dffe2c3902c2469d331bc5ebddfd82d95e7e8b6141acec65b7b912131ac9cf74d2eefa592f61a18ea41e33b6c7d9aa5192b97932cfa014ac8060a9f868df789cb8cdcaa9de4a90bfa72205e909c579c542550a8237bc77bb1494573345ce234f9bf8401850e110a697330f62d5f4c4250b6af045e64b275e84c12514cca92dfb89e91a85acae3835a943bf31b7a4c1006910e7b06f2ad98b5e26dc0992dfd84713628b4004940c7ca492736f25acab39df4cdda8e87d2abe166085d1e1aab49ff954af7806d21c8174f8820286a830a7510a8476cee5e1015b4ab97d2661ffebde476c4fd1cf9f1566a55f0ad537e8f70de37a784d1fb3c824c590469428c4e290f2f1375666f6a6ca663ce918cf5865c4e4287aa6de545112e68e12025b8c7cf5cbcaf686f2ecb8b5b5f4c1a15122b59dc33766658920fdc3188dd3ca3ee8ce5aa9dca8c0aea4380a967984dd151655d6634ee1d2d0f38bdfa62f4370f60e54ca08d0438aadfaad01187ae99cc90edf1aaa853e1866e638954cf75fd1845751d626cd2bf63cd287a2871c5c33fabb1d30f42eae5e1cbae1d792c9b88d7d15550159f1302f79940489520138a05f7734efbe9b58c37e80dd19086da2baf87ae65c36a0d499a6aea476abcb393bfd16df61c1974f3960da7552ac529f5b8e622d6e8cfa380cbfa3ce06d24ff519f7e831d1aad816697c9b2357739a554bf4e850c233787b407ccaa97e6e3600bb583a09bdaa30c42ba250707baf74e196620c5b3a1a359a5b13f3a7572f666f423181f81c8caa2ca4e641e07cb72c8b1c14691169433ac2a867bd93557f6000b50140ea1078a565acb4ff89aaf606ec7dc7e56f07acd2121db75e1d8626fae259720344449bc50394501a075e6284f249105d4a0d4fe4731047605e8edb1efbc3ed0338dd52f690795dacface6f8a55fb9cad811198b158cdfe28177c3faa5f2c3416c72b6582664b6be024aca4edebbe55f0b8f202450cd6f33cc18fa223a9f0e9098b1624a1e8b83022757319a94a4d100dc2207247f532e4cf29f279fdc3bf887ea5fb7a51f58042b89f31c5847a757b87ae083d3ee36c88e33625901ed43c36e1cfe914d2a064c20af52c519ffb9964c5aa4003183855f2992918411c413de9221686afc7a08eea2ee486dc0d84d50868db1ff20a2ed346c65216088c4503454f164495818b3d24d524c2527b1be99844cc592ec555bf1a4d50d026e8ea682b54650a4ebc29eef94c60e8e8e0f8643e3714c4aeaae88d27a1193b5ec9af6f56f24c0af7c6e76f03b0ea1c6a706320c3972999d5c214a02e574a6ec601ca8841e15487f3be8fa357c44ee0213ee37f3fd47e3b50981aae3657ff01b827b6b8acfff74be246656a38e1d61d6ec5e44fc75ee5d59197a51885cea263274905ca21bc41365857514017abb3131bd08b7f635dcf7fd5e60e3b5e515f58e65a0265d2e9354f72199a6f019c95b790d4085e767c99958dfc94a341b19fbe0a194156b0021535a9679168de52b2630759b71f84e4f4ff850e4cf6c6c2051033d470a0f0f5453978fffacc4743f02f9a50bed6e2a9014327eff4a11f11885760f9381a683c87f21cd20dcf22a40cf6df7f78a7d495a3aa22ee054fef36cde6b14b3482d44c72485e25eb9cf6a0f932a6264a40a8c1e391ca37eb92635b0957bb7eefcd6fb96cf03285432cd80eb4e667ee9c4bea37fbae437d37a17cab1d2bc179017064a2d8581d4043080c5584afc26081d1ddd580e00e3183ae0da8d1745c2104343fe0cf8759ca2c26825af2a966812a71c31aca418cb3c2c96eefc832f677472e14d5e1e1e0a0a57045ed6a9aabfff4a1b886af98586a34a117216b6ed60ccf0d65903299e8121ec41507b7b1c1276ca07c66acbeaf0d25b6b5680dcd2e593b57f31c764e76d6f82342fea83c23fc3965955d7ab2df0b83bfbfd250a1954bfb0701df20202e316b30b2b1c604225dac7b75065cc4276b9a1cd320fcb371dc7c0042c281dbb652cc70c4208496d27f3f5a225b28f2f71b2105bc24c7b76c52307f66268c37c7e413435c915869b0febe0dc49b9dfa58a0c6860066dd2ec827ee735d64cd1bf28f898f8f17698bf0e539ce582aa73d1687177bd01e97e21e86c2b0142310f58a794552f4e3570460445028153a04fdf7d487e4e53c3a167c7b9f161f3fde80d45574afeedbc08f321db3b939a06fdb1b60f755e1fea4ea0b1169e0af21bd0ff0f4271b2ba47cf5fba531a3b8d82a976d92d55f4d3f4cf0579f7c0958990f576081a0fea5a9b53186d6d9fe8f5a1e383f78c6a15aeeb219f4743c003d72eb6215eeaecf1881a788534b32dc4d75e44d4076de03e9007b58852ef6681dd694f205182e7504a0c4550f5506da3fb873ffc6800d42c0e2c6a690fa3bc4168b9417f745646a73914125beb8330a2859189243a33c22c85b3780dfb4ee0ae2ffb2847b8d7b1c28518eb5b2aa3301a53e972a2ac396d2d5bc455987d833588359d1db8082e7bd3fd43834a2864a6cbf6f7aa0edabd1424c2304296df4631c54e553761937de33029984f8c2cbfdb359df9f4206766f39a646bc7eff2508b8a020d06c4bcc5cde57a28b9bcb54a57c3bd5242e44348131cc50ce885ecc8a6568ac71fee33773cda3a5eab58872b5c99640d545db6859e59085bfcf8ce7ce474f2b5119b36479194da1e1a65dedfce6bc8f422338764ff8e9a35327671835b01e47397cf614a1994683ffe76388bcf65aabc2db3fbf471c1aa165401e711587c9233ca4f7a907a61094fe191e0505e074947ecb76e77b21277ab5fde55828aebdc0a3b7703b25a4677c973ac07f70dcfdb4fa7257929d136bb06bd02aeb68b15a946cdf81e31850afb67ccd2d4e1565b1ada0021a7b3df4c305cf5a673869b742722c70ac4eb113962e8819dd0619b87ebbfc4b22ae1adf71b96b0988e54cc67677993d5725ba00341c129a3be03fffd812edbf34f57e643e2714a9b33d5c4d0d36211ac43e01abcf98e9f38a19cb94ce96c157e53bbe95839f3fb8cd3cc58a234890f06d6c7e1436bed6c80d50cdfeae3990626ce58743fd78680c390e880a134cf3033fe9a2ca780db5e7aa21b7d9a923ab27e87fc21e1e74b3bf9fb728cfcb068229eb0a084575b15590e070b2fa5eb542351e04e5d823289de123217bd4fffb50444c5e0fe4d7e67d7f6bb49c35c141d87ad3ecefe16512094e951f245e6b84bff70eefedd6c8703724905ad78c253429cb6da1554c4f8ab2070df9672ed49bbba9327cec2ea7462bc4fbfb5409fcec2eaf3b9aa2455b8c48b419aa952e2080308acd1b1840b40fbc448fae4ae950b2b889c1148f55dc498018d5305c4c297bcacbc9b88fce5c2cc67ff6866f9c39a541308451ca4d19eb720ddf5c3704565a10c002e6f2913b883a299e1ba03e937f2258585648410288742f47f213321ce7897d214e53866e09a06bc03e3410c053766f45670b8549e9f1d9a9d3894b868c2ff4bbcecdcd8a3c93c96250c07bf20a71d7456c12d45bf0e471f8f1920705d936a0962457ebe85d5b12dda25392e65c49b6e9b7d39a39593efec3859d44945b99cb97a7923b6543d2871965771734eabf2be19cfc7c7cec120ff810cf1f17a04571194136bb5c46f683948b2c4a6c2f2f869732f2072b99721d3d18f6ebfeb26e2236727e5ab16a9a9bf265e47e870510a59f90d6a3d3822a3cbdfc4e00b6fc88e631f9b99ad00af0fc5833d47a6ee65453b8058f1539163b9ce2e80714a43847e02c0f8a9b938bfa254f618d6f3cb52665e0d442a7327b55b212cd75c0933fe79219c8451bbba24136a902e610f2aa21980fafb5188000d45a3d58af52cc69dffeb8e42b2cec7c1caf01ba0de83a5efe8d4d0671f2469a6da4fd50726956af4d0604d1bc8949afd86d2eec469e7d395fb27729ae2e982244d71c30a6f1301e7412e1e9dc4216d1242ac43e64806c426fbefda810cb4c2ac089c60d222da75140b2c453936dc974e23e4409bc1e4b93520c2c776debc43fffdac5b69ff44b6bbe2c711651094eb20e2c7d25cc325b0ddfeefe8a972d2c2829e28e614c14c52f04a7db4db17721da6840abbe83692343d181a0680a5b1b399f9411395b1a905283cba396555770c91a05dab7ea994f7568f5893170d9c5962b0c3a0d5663b00a30457d24aa7ac727ff39746f953f633dca1d07157daa74c95e93c5f08f0eb97227bb3709c48b1e1788b5507c3f87ae3597c8c79fec7b102880e0049890647316d7561d53f5e81bcf83433acce6fc7c842f87404dcb125d010a5fe1baab91a9511eb375eaa8f60e8d0b9d51d931965d7cc5ad9fb71165364c7db040f3a89f074cc155611b03b3b71fa6ac6ca43563fc96fd2dca6c8c5c5cee32849fc206b6345a2744b0977b30d43e289a1c94776ca09b915e854ed5338a15025a33d785819f98982fc4e755f23e74244bb14d92639a868036aca4342fcf34ddd132afa6ee3d5ec26860294824bc8abc07734cbba7c66b69575cd269d1b6b3822e4b6e9a1bedda042119f32dbfb0f1dd3dead72b31864cc6f7f7f80c632c53b46c49a7a9247674d4ab866278f712fb311e24645f4ca10c296a694ff6d0c52009ee10cbba6204229e461586f5aae0c5ad831eb217a97c80740a408df218e856490fd779804d8cb059a3bd3af54fabc5536dac9117b745776bb482985069d28cdc9d083d0b0c6aca5c5aca7b4d32f70885b6b542552bbdd9024c9a3d8e93eada39d8b675091677a3250d40d333cc4b2e89dbf4ffe123ef05f93c7fb6b63759e56bb71474b1c9f75c100697737d73ca0cdb399f6bdaa6225b1e572260e7bf66fcc2679c02c16c4ca509c4b574def6a98938b98f7fdc9612b636237fdbc8e7600d29e31c177a92951406ce2a797812432c7d30e22212e1ebbfc18cc9c51b5b9d0ac0746a08e80788114b874fd9e500db860a980571fe1385cad5cb7e150c3e69041068fafaa1bc32fb7b9ad88a50d6f247438ff864bcc1e33c835c5f631cdde897e7f143c607d9c49827d9e212bbda7e9b10871bf31aaa11b32878e58784b92fb4afde63cccbef31f5e263c83bec8d14db1c27a9e509e37aa7d977b242c549372e657368f6411e1be06d40d161af4def2527a5bb73c290d2833cd17649a48c292b529ac399f3dfb05d1a31de0ec31dd627a6c69f27d52b6da03732c29005ae2e0a6bfd86287b2a4b4b02e6422ed90003f1c9e27417f5f282e00cbaec5e1db6473a0ce370ccb3a63dd392b56483037e86712662fd1562f7b1d39278529bc39b645065f650600bea891f136a4cd33e810d6ba6e662741091b9f19b3d28e296c2e9ed5a84057aa2f41dc55ca01e62d5ba59dc5427682ba8bc44991c6e5baf5f195411858c32c15cf204f918ed6a83ea922fb9e20a5974894d57b2366125e106a873d122154a180e01cadabf15b4731243a89ccb35ef98598a3305ec5b856a2092ccd7d9d7e964b11520229d0ff4dae4e5d72955f8ba6efc871b984f03dfee362ac66842bb2edd4fd1bf023ec7c4b51076bbd9c0c985b0a097d95eedd7e4ed51ab227bd885648d04bf51385418935a77798e8577b5c0d64d0bbcb7016beafde80e0437a395c67abc9a3dfc33e3028fdd780eb1e3a0f314724c272bae0fd8a0567f87b0e7fea3bf82582582fc599f721dc8fc040828e07a8b7e1a3195da6df40940601acc9efde06da4f6636793c332158414e5558beecd963dac4250201f4cf42c6b103432d055d41ab38972eb58d69a2fa52597b0140908971d4f426c1f3bf1ef118d9339fff456e8db3b659c9250ccda6ace5d77cdc2337813acd2a088f3a459dd3c23a140134a9ba60cb7c4cd775366b82d2d42bd44d9e3d0750e9b9694ba398d7771791c7c17e6ef4276e41956f0cfbcbd011f53950e6a89fee49813d373738f3a471df9b2a46e0edc0cff85dd4191edf0b409ce88ca63d630b83d8b832697c3012455b94f5601d0914cf46e6f434192d542f531cad2bdd3a06a58cefedecae6e1685165ec9e050565b75b9909bcb6fd2b71908e5d508f8506897113a0a24d655986274d3765b66e91c794cfa9a1bb937fa90f1d07123a6d09e5ca3f35aa0a439812ab54209c37943ba038809e732af35c79ee9338ceade91703291c6700382a9741e344048ab990988cc9515153c61fad83dbd5f4723d0a022bd13167d28a69120fff5137305737bfe3ddf5b8c7f8ebd6a077011932757fa920395347216e27c46773465ed8d6a44d8523615ae5bf142260322b67212655b25df0578f6db34c213d460ef0c293bb4a301ed378421a45ad17c9582cb0193e4dbb698af5975bf90decb4e8653d279fe2c88c8a5052cbe5d16748485e675bfae3679d752a7cdfec4c3634bb8a55722aa92c16fefdb71d5606471a2907652c34c71ff81718a79bc63ba91ef3bf811fecc5ecf9e9177004216a32521fa7c3805905c8fff87552c6c4387758c537a847f9a1e5714983b4d8361888941cc84c582fafab8a0aba6415f7d8915a854fd45d71f718dd973402a0db71b2aabd72e45932ff5b252d1ac392f50c790b253b24d6d98dec213519a4ca0a149f046320a0b0303efd874b4282a567646cca0301a92293bb3f01d946b4cf723d92130e989f6056754b9b60b6059ad8b69e70bd725ff95c0f42b9561a63ff2786dfa9b719990346a37438ee449b59e0354f911c29f11dcdeeccbec566b3ddaa7db849b0816607ef40ed360eede40d27ddc547ae9864436b18e00f4652f9ff9640fef533900f2da6f6b6bc630c845637a1a218560048f38d42170308cc6be68600654557e0d379524d193a9989ca5bd65236810c2dd92020d5a65e7ae5b2e8ad9bc64dd23d4cbec02d3991aa5de937391d20098bf4cc36558f496247a987794ccac874b69e93837658da2f4e853c65262423be81cb23ef7bf84d95e83ad81d2dcf41cb321b76f7ad4205ed61da29a085e0bbc85085522fee3ededd16dc378b356514f0d730ed64b894a8b0d9ce0b045c73aa9cd58745bdedf7c951b97808d5a48801b8463c9c1d5d76ab806ffaeb56c0410406bb8cdb87d3638ae5ccf455a68c16b62656a05772b4d1a6f271fbcdcfce5ba4e6ff85213281a3f3cd9da237b224bcd3b599bf61ac9493afabe7905c16d0aba9cae4ab84dfa41834a0b6eb766242cfd7b1c4b6c6f07d1494bdf7052b080f90f9e1311872ea909fccb4106338f5c8436e6288915f92d760ecc10851881fbc1e13cb108864acec5432dccbef9c853875f26fd85b9248b7b0e5074bd6eb926542406f63a5192bee8ee5b2b29177c62a8736bc3aeff6eb36d838c0bb44773bd896d9c76d216daca4a249d620a53c7a9b25a35e94684b97e4c47e5c7ed500e9231d2e6f9426a65ca57bf17de31c9dad94dbe7f13ee1f034271dbe76a32880c7625ec5e4d568f08ae6a70b849dfbdc37ed04fe60cc5501aa2a05475230d090fa42638a702896093414479ddaddb27a28cb66e3b765a0e2482a0c0c53e1700816ec5a4904821cba33c73adcd2030853d35bf7d63d5bf4895d66e6c1aebaaa9b9a59c2fde8df443ba30364925531a659045d045704339d7b937b19ab3acc667dd0d8276f4d8c276e9a21a268e5d041db9ef35ba69edd2eaf167bf600509dadd47bbe385d5e4e60334348a87287539223c7aa89c226610e244a358da1d5adcc11b86105dd1ef896095824078343ac8ceec5eb1b8694bfddf6aed5f595fb5ec05abc264a37de84cd170793f2bf08d962aa6ad785288916f49fcacc8a7bcc57a0c2b01830b269988462f748494a8c282c6aba6f95eb638da3558e3378e4011535b90ef968cf5311244c1036a84bf1e25fb9331f280983c68896839925ffc3432b10c9457536c0c21f38018a60f6be0934eec39dfd033b461d5629d68619004ed1ad37072858f2ba8e435ccfb3dff99b71f1ec26fba9ad3980e787e938d06a3d3fe35ffe777c56cf48ccb4671c6ab4148059e4dd9bf2394c82772e7bb39569916246d5a61ef4b81aadeff5a02c33902904595495c40567d241e90a822dbbcdb7ad6b3384618ff13ed6be97f182bdf196c4c06570f8f0eca05bb9aa6e31d4afc46ab9a5c9200d8dd2cb8d4bfba2eba6e4a072f047b1c25a41b30ece908f0ebd9dea7554e54c6525f52d33d8261d210042f4f85a12360b8fd7fabf132ebe395a0234f3a6c1d6252e44dda2d6cc38b8863cb439395d5d1d77053cec69ac08958dbe42e824aa07ac47985f2c718d4849f2873ca1b8c6e96a52422179991069fb155f5e910dd7a4732259f2c5c8c0547edecdce0fc2e4883e0c21b0bc9dd7da20d562b3b59c02245f7fe989232624c5258e931462fa39f20d7f4c0a0b250ca53b15df0e0e10a5ac5fa918e55eb25a3e145c0354abaca74b54a3a0a02a82d278fe15effe3a3d9288ea7bd0015d520f6eb5212cd1e7569f47bd9b19f3866ebe07f2d76329cb1814c3f5266914876ba31f192dcd7fe21b8d77f8b7e7f576b2397bad547b1a1e47ae3e5b9c7eb6de3826c079511c0a29eb034b67ddb34084b6a1e6ba5dd9e3f7a6a304edc9ee89a5dc89f310f021b9f476e9018fdf199c5c0d8b601dbbca38b605d1174a9a363f284a71238a6dae7ee4c00e0d406120ecd5ca4e3919c0c80852a9ae6aeeb702d5ad1e1bcaab9ca93294e42afd0f9db722cf1fbcd23ad0aacaf6987c737e3ee053f1322981dc47cbfe04f3f73d63d87690c205113cc10b6828089be648be8511c9fd76d9c472f4e8a644f97ea06bddc459cebf8cdf239f8a2f2c04bbad7d2a52f42f9a0d44794ca3bd9048322c155396754ab2ed32aa043820c8c3255452a79fba88803a50567ed1e548ec17ce0cffe19cc23f2282a181638dc7c794ebdb912088b50ad1e9282dff92a1c4347ad83b4248f2c9566b270429d6bafa112209857084e6655c2f5e0d47a1a6679fd617afab8e654ba43b2cf88cf96c2ce8e627d74758daf34b40d071e8e2374553e2ad5d02d0982918ee2266a6183119ed96e32a2c0cd88bf957713e0a4906adf8f940d61fc8a4509698816233b849bd5bf12822fbe892283c6c6fde6030980991fef6e461f3a6e516d8a61edb5718e4790bba95cc92292cbfbcb344885b1920a6646b3b3a1eee46e88d53a468529a21606311478225998fa98bb2e5234d4a9663db48e56ba5437914893f792b02f341118227d99328099aacf0ac7bb4bea49107d254b7133b890e82798ffe2da844d61d9e6828c0ca5bc977358a65aeb0e6a4ea321549ea8865aadf567144d1ce35f22f6425c0735d48893071a303f904b391658393216ea42e0ac2a90172bd48410db01d8993f132d8ceb5bf9df8853170381ddbf66759cb868426b61a2843905fb84e4ecd2d28a76602464d7d8f06d0fa59ba1e660d61e367e1bfbbe3854308670365de90561dfd7db3fc074e23c9b5ce409574a15d3f517819008d99b0c79c28c57a4ae932982213e9c845162d5fc725007d0aca8e528b66943af6d82c363bf71edab75a0d03be5461df77f84b450f03e3dbb2d90464329ebf6ec365f41a04d0bb030c8aad000fc7130bb7a51bc5caf5a80cc41bac87b0677c84d3ad32bebfdd60e062c7d70718abb849fe2c436d3595ec5dd488a553367b84da157fccd62ba568e1679d54b83554d63722393ea96f278844af2a133d6fa745bc124493b3a946219b8ed1d51514b61c5335cfc72d643e26098da9920176edfdac90d98c77c3c1b67d08aefea6051b21131c5f7065ae6c05a8f1b33db6cd83e91806601e22921525310e900bce5148bd6bca3cab4713a133e580916d97ef987e2422eeeaa45b901f3fdc19638d3bded0a59ae63c581d461e1e23b0290924bcf42d180d9bf20db8d67ca12e6fc2cac947d356b2abcc565a7ad370a8dd511facecf7693f0881ca89f6be64cb6a062c3d4f7ad3dc7869755f6c88a0ff2c797ea09ff6c954dfb135b41513049505ab6e959628649dd8148cdbb30bed3f07633df1a52ea2d84681c07ab4554c336c114d06bd4dac4aaeac04c1ce2eb7aee7a3b553ea3e5be2f8b88587aba32fe013462377ff5987e88ae41105296befa4050bbaee7d2a93bc7ce9a26de1c5726dbf9a06c6158209a840f09647487ab75342657ba5c109b3931cf4333f3326fbe6ed8931c579e85933380455fba985ced087020558db9627a1a8a7b6067877da434a95272e15d41fd68d03e8298d445325392d992e455ac49cb8d02dc44ef26582a6fd15226b3c875c16824adb9e5234bf17644dacaeb9e5a1d8fa1555ba028057bef843287c9493d3d32f9801e919c16916818c00ff116b7fbf2d2c6f2a4cf7e6e8dc27651414b46adc688d234364e3972845c2c5be2426a9382ba614b619ead4a7d67fdaa86c00053aff4ea2bc659c279d7369660b1d367db69c248cb98d025378f0f241693bbd50d5f46e90621f4a8692a076441ffa89aa952488ec7233b9a8525894d8231baafa222c00aafd38aa11bb97bab5771ea3c79de3f5b83d868fe523ba831548fb8bc6596cac4103cac7d66f36eaa6d8f8f0e30d64e53be79abf931fbe8e647dfb4aa661260f548b718311b0ca0bf687e2ef266c78b0f56bac4f7d6dc8b19406b440aab445eac1e4a46adcd5b60590923feead2fe80769bc5f65f45f462ed9edb6ba707f00828f4bce146609faf1fc8358168c315546952e1b9b170c24a81ef18e5c078a144d0593226888d286f297bda2ae3514d00a5e8504a911c3f265843d2b044bf5096e97cd646db1bccfdd4a18f13070d9dbbeefbf50cb36439bc984e0b5aeff8d21a3122dd5931b27ca7244293d7ad9a22db677ee01835d999a6fa87106d9506fafbba503a5089df36cb3f567a2dcb927f1935f5cf0fa2f3ecb79ffb9a3e2cf39d17d1a6de87feafe0cedbd67a01cbeb249c1822fde0e0bf21464bc57fa7cf1ccafb075d6b473704299f59abd66b39024adff52fc641f7e46a1a35618bc2e5fc18b6cdf92d6a605c92b35250105f8c91e57148d8e59ff92429800f7288de2cb70edbca0710454f2824202549f50316adcc223f5039f3486e8b0cfa935b982a298b73d6cc49b3fa01ba137cf5009eaabb4843061515992a7bd9b4bf272e30b1f7c187196d125a12a946dce2df17d499a36153a439f0cd37607b469087a5aa153bb20abcc549dba85cbf21411a7285dca3f119cb3bac4b92d7be57841122ec6fda525eb2edfb4276df844013f1510dd912c034cbbecff08cc860ca671af8307a58988b1a16a8e458acfbc954e4cfaba0462a3a5935fa8cb6727216d77a972a1ceb48304b5bda2114d9b10a9e24990243a85a6849f458ebe490bede84163f203b4d96453d69b3054737ecbb7dbad31950ad9e7e571aaa8d26751795a3cb87a1d3026709078616924cda48e0a4737fcc2a98a3fc8a5d0756d78072ff9f0b39096c0bba60c3eb373879ea27d30843d8ccbbcb64869060373c93a5a9085724e0297cee67394cec671aac6a1aae5a7a40cba3e023296c9d0d4cdd570a1ea218ddf6f0e256c53b242528edf101232473186ec1e303e2391e1d71c33d6c5d3f06c1eaf029aae95834ba6cb34931ca15de18b77ebfc628153f4c504bab4ab297b7cf8f5343d41fdaa412178e4587712866d3fc9f4b68505af777b7abb63c97785e3d9f04443d6fed3e1f53fd316b8c54366a4f0160b23837fbaa6a2dcc1968c7dbf28a3fbf5ed8d21e238c76568dbdeda14bf65ee685031758d558523534643a0ac65fce1fa71b20ec2fccd76fd19079e8f85107be44d89e1c4b5443338ecfb2ea366ec5c30ea9e4ad6880912384464840004d134c1373ce9b1ac8410db504726914de433db5363c34eb111325fdb4bf7bda2469d84ef79d42f710042cf965487f83dffdee08807a8ea9ff1f161475d0e2b8bae50a984adcf866c96e33012e379e37088be708119a6ad254b336548a329e374f3d376211a63ad8671de0d2fc38300e80f71417b9a761a3b1d3facb38e39436224945610138715882e1645c02a05305bd3115d7541c0dbaa47ced4d8decdb1defde5767b7d75b92dda92b769ead65261ebf13d09457044d898c55b2461383f1e947ddc48703c5f55400e23baacbc850c7c8b8e812d2792a019999c4b78f7f98e44aeaeb6e05aad56eb16e95ce0617c2e0449f030091407b10b3e211dae1aa5af495827dcd3eed6a60257efc5fe32f80ca63ca5c205129722eed64469f4e4c992ed40eb6d3c6e369b2195bdf316c5d8c1657c38e230c3f133dc6cd681b953d090d62083689c583e5c8a35fed0b557f5fa44ce9a52db96a3d20fc18664321cac020abda52fbcc480274c158656828898aa62e0c0b98e1582a25a793682a77a2550785e148ab5adcd93e744f47859c47975cbf2a4ca094a9231b9a2d1f2c47e6e11d93ba53fa1e514646d137352911000704079250d127a715a4c5057bca2beea986cfbb1b36dbacc88685c10f8b062c99db0a8084348e820f42ca9297a54b31dc43a9232303ed4a2278892fcaad515775af7d5e37542fe8c1ff5fdc596faa5456342c72c67baa8e03e700eeba6e91901a34126d12386dbe77934a199a68b98da5afdec2632135acfefbba96e7be892e772b11ec756849224b2b3d7739f5b8e56659f596a6ad59481f5dbb7e5fffe1835256344603285be05e792198738c97f401882b24c05737ac6319c8c4b109a4912a2d29b51dbb1a7160528cbd8f9ddc7f3057d465fd2d7c465ec7b14cffbf8b0da0f987a06d83c9b7e87bf78258882db2656b665fe7abe0622299975f279dddad79466a7396ade315fcd5b73d85ceea05b816c1edefb0ca6af89494ae49c5ccc8d6d6809b19a2cb15edab15e9ef56ed0328ce0db850ad9e1e23ec5764e3f0d5801e298893f910439e080a663e7c420cfdb28fc6bd86284a8bfe8235ec7a74ef09b416ed9dca0c9311d90d00b50128622524b1263c1b69869c234e0ab635e9fa6177b95bd6522d4d62d94bad7508a2c4d784324146bc7b9ea14a75336def3d9de2242950bb2bb5b098ac73846a05f9a677831abd4a3668cb4db2c284f576c431fb38bd122c9560f8c01424e5089302d108063a148904bf10f8fb296ea4b03bed56fef56ff3b3eab4124dbd9ae7796f1dd6d32486825a574ac50fe58eec9865dc1841f3f5d9e0932d94d1f88c907e5877c4ea7bb822f21727c67f5c378148d01ff9fd7c24e02c438846987be3ef80b8d1896278c6cd04368cf1218668185ba715d63edac3d9bdb09691d39e943fe39717a40b6513230ee2d67051fbe959dcca85128e7340f104d32078f5861a8c99d343950a09e333fc2f904c541615b5a978c894e671c06719e90488a55d6fad5421957e6c962c6a15b5b408251343c7f16d1b6fdc10a8ad871aec93d026e6bd0d016af5f6d5a3fc2c14eeeb5c53a0ee06cad6d5bde6798fb62e832fb873f19352cfb61dd6623887c683122371ecb69c1dd8258e0f99a4deb54a321655f75f8fb96cabe47630a562600ad9376a6806c25b9c672e9347796cbd63585b84e151df92539c97495c513a99f9162563a66ff10639c0d35a66cac34d21297ce0e1e021de64910d9480ad773bca031d914a1f2c45e01516a3d322b3c2e729df822a05385d71c8bb6393311d52007ccab7961e863a749a1e885b9226a6acefca67c9e1e347577f45edbe4b7a161cc05d0921f123a2fb43038c460bb090f8cab9d3f918510914a6706c8d19834c3870bf17a89f5d61290c84d52d3aafbf29b80d5fcf183a494d3fbf8a684df1dd86067723623bf4a2f6e30cf878008e66ce92f0d8f50c53ec4a82dd8a8f5124e396f7a6dbb9d3074d732c077bb2b5fb3ea0aa54446935346cc3a5523da0e3fb1e3e2e34a75f21ce110d9e952ab90905fca489cf6d628003c6c0604fb8ecf24028c9fa8748c98ca1c2140be0383c808200a602986e3481c07be3584e002c21897858881050286880383010020610008002001001880000000601000501870088c578565db003e997cdb8040e0d81bfa039cc77706b502b0d9505978c234fc47e47f57d4d2cef200940e7498fd67a3cb141001045548aae39b37c64b9ee72a47ea7b82d771dc026172e74648990b0c12632a367cec0b9fb03e155534f9bd026ee9f31da1192dab9c84e91fbfdc2e2d1076fcbf3158e31099e0c0455d47792d83fc351b0c00f79e624294fe1e0f1d05277a3de5396c135bd8aa366c84fbfff0b904f143c7d14883bb7a43fc68b128b1231b89288a5374a21cdf6e340c4e86b2c98ee763dee6270dea051efa983af47e1c69ef083b4a55759cea69dcf04e091a07043854e1f600f10e197f837c3780890c24df85d215368ef8119730057284ce9fbf3f848f9788f8a8fde57b1fb2474fda82d3bfe576c30225cacf986274fb998295ddc4d5b97d7e9ec0f04bb50ec03b9be5671a6bda1120257e1cfb7f189cfa781de412f95aed4f080c242f472a15a82dcdaab1f391931fa0f5243fdbb9aeacf14a95fc89efa647095dcef5c1b549e402615c36ee9aac5026c2637e50a3861880e5c7e840637c34cba6a83f5f599ff2647b428e11d4025c1aae6469be38d278f77aaa35de369251ab6129e49aab23efe5f689e62aabb84719e5d4dbc323e59568a15c45b0e6eac74c023ac0722edd51974c396b59c8723ebb390a60843d957123d14b5d8e14daf8e3430d99efefacb03902a62e9006205f7921f307adb35297ad95729512dcd535712f40598627d4337f6f0ffb95ec326e0d28eb71ec9811454d8f1a0af172cd5c483b0d1398e24d9ea386e9c60039e23376b691cfd734d88b33c6aafbf22ee6b98726429c43ea626bee8ba4bd8938c119bc89a5b4a02cdfb74d44d2a03f35a7754a21182d5f99e2b105dace2e6cc20c4b09c4102f210837b6ccc26a099a98bab750214412b61febe372cd61a0037fb4ff4b50a38d253ce86d438c3029e2d4b234374886730f1d711b54372690fd6a09979cd55ceccc5abe011cd57043be804bff27f4fea2b7498945c63c69c412c119a52e2d5ebf5f0b5a30a1450711231a572b5c5d12ba75a75adbffd111458ef2445c050091978b88fdb7cd1419c11f18f7e6baf692b922c6721fe67c98a61545c07dc3f4fc36fe9d83808f6d8ad9667d9984b996debaf360fd16f61d191f31cdae8fd77e8cdacf3cdcafb6ae91a1160f1d8ba8a89ac72f55d22598f47b82279902bcbf68968a4504c32c8d6e06d8d74b4287d9d1da360686d1cb2c84a90065cbd962e077492628e07bd85bc5240d55cb919eda632c78cde659b50775350ad99351b3983e2eb66f16c353b321b0ad6d41c3499f2be451e667ef7195b3d22f179866b7742ec59b050c3b8a94bf1ff3c7955559e15f14173e59cf64dc22fb2c6cb0a4f4737a90561baf862e9af44f6c6fa9c93f6f29c2919504d344f55059a975a14819484aa0258680d1946fc77241a90eb7f7caa48476019726e24a0a8fadf1272a615560d41c9bfc702c2dd1b79d5443c7482b7c29cae48004431b7a270c3ad680de805489b6cf491c105b44e622aa64f41241543a09796a553377375de423562e7fd8b7995cb29e2a1931cb01151b9798f148c9088e26b85d1beb18a44c9d6b53d3294ecbdff724a4aec3d0a25884223bd6580df6724b50b5758ddece25a8b28404d2b948d569087d8c8167172436690de866d4d848524f9309ad23cf9450d4fb6d6fb77ba589c8fe692278f656d08eef8e147ba6414b4656b49414a17277fce3ac5fc2d2708832558b9c9b86aa26264f6e7221d48d8cbcc0cc2009593ea00655340f90acd9b2dd2a3513d8b1b388dab0db1efd4782117b351cde68657dc993be61c0ef9f898c5cab14b2c4487492ea002e21addc867808774c036eba375abe5ae5efe31b29d8cce3d0d7d7172c5ac3e060b2455504cf6d95a8bd9759a36c2430e9520c52d45963602e6828fec74a09b61a1d26da284d79838b014e0e46599f4acb5266ceb9d32ebff702c54911414140aa32755361f5a768ac2b1223f64a6dabc8afe04a9709645a61016e43afc9838e15b0e71f2b5fed3c0095de43115a155810b41421a08db0e957976abec4f93db5782de9da71d0d3219a52fdfd8b43828a060371bde53c8ec44443f0b610ef9ff7124c7e037b2686029dbe65729ea3ff999bea4454bf59661f117e43f2cc041cb0de8aea444e3c3d44815d0509df2e5bb01f1799c3a70663d4707059c51c46865afa79d48ac0bbc7a5b479b58e0850e912657f4a6845f62668610ebc2d1241717383a74f5b7d0c8f85866fcb38216a12abcd9c58460d53a19dbebcb438626c7342b51cb41dd3bed177ccb12a0ee439852af2f27cccc1dd8bb8686969c32d9dbc20ab789b5727119bc03d0e3779442e744737e47301f6692af844a8e866c29b4292294bf906d77341580316b9adbfdc4504e8bea204b31c2fe65f52d29ba3da8b1bfd2d94b8285e0aab9639777d7aa285037351eb695b0b5a8758bf8eae690bcfb49d1c601285aeb830f068f4723a8f036a548ff0b21e07dd79722a93bdd90297d5cc8c491892c0095fbe4c4fa07f7722e27d11b029139da81e7f83a284cf3a19d3ee89593a8c07970f08ede3d232fe2d0514530990f9d4aca24f395828275f05992c5444a93d20e28505e96a6ac02745530b05ed830ca889122403e1622dda1d003b4392a0f6f85e5fda9b1fe294610764ca425e627c3f4ac94d30ea603463d0a9660b5944966abf210bc6cc7c14c6a1bda9807109a63006dfe3dbea812ed1524f9ac0b9d4f20c1853416c3982871a97cd5e961c12527d219b71d3e67112eef5c2b052c1b07e8a24d561a19a889967784573ca8c8ceffb4ebff2ddbbc1638d7d99e0b10df66d15f7ad9c7147dcfa5a25421c2d7e21770c3c7e47a6dc0dbedfd73e17ac2a8e4945b767135a3e55e22574e4aa1ccfaa72851d6c313439c1d00caaf4ea5bcf7dca9ea2842df9535260aa3b8d8aca06577c4470ee8f4cf8374afcf4c835479a4fea88e1c509beaaf024f9ede25b0d75d29e943b41bb91267b9301a9f656130900fa22697beece5201a59a4732aacfba7214be254c555ca5edb6a4f28dd12dc48050702243d6954f99e5e3dbc2a93f2125712a71aeb48016a69f5bcac37e4602182e88326b37391325fef087bdd1fca23df23977df6e2ea5e13b53cb094fd80808cd5cd53430d585b72ca89e78556a96c6a980f66dd939a114d473611b4e8c355e3ffa6a9eb604377d2ec3b80d1ec3091250019b759c20a878be5b460d4cdd6e5fa55c144ad86195a4d38750014f85a49f24853055718e4a693be8092d656869d382afd9d44b5be46d31f67b3c3c537928d40c6ba374e35121650709c4235907192ddcc4e85d2865e2a8cd588cd803d0b400e3e2e5936a383fdd9b021cd68897c7468a0303a6969249c10ac0209eba36becabea807671e4b8364333d3a245f33d79c4226375e2c8293f64e44d8944407b55ddaabd51b67158618532fd4eabc748bcf72362505eeec712758c7420fbe7226c702e0c6661fa942a8c37708116127da88babe37749a6755f35d26e8d68b91cdd9cc1e2075d699fd31c14cb5d586d5737ab74d58dae30d01adbbc777262497df1277a700401b7924d4bcd6a49ffb8de1b2ed4f86e85701a9d857dc4bf69d70a216c960c8ff439dd5573d5dca64275a0479cbd7a09782faaf54df0b5eb3e43c51e4bace865d8d15bf2ebd6aacd545ff12a306e3108882ea027ecdfd34e7829ec00184403be8888008b645e25acbfdffdfc4b35f928cc1f01cc437213cd12d1d459363f24057700719ef4d30f6d012c1f99c6317ed56db03c19ce02a92803296fdf27378e026be485454ead191d55b688253f5cf41a02ad27bd89f5e22de7f9cd634da51b553d5d0ad642cc5a2eacc60d9b34117e69cc1d273a760c903bf0a818aaf1c83c81a38b9ef10095ddc96463e93daf1c355840db58548f19a507864bfd01fbdfc976939d793c82bd69dbc663a3526fb687a0e82fda9bf936d1f68e57a749f9391d147aa9172db3a0d5f32e642e6b0ebd3c1e586f49a189c3545cf3201481c6df9ec28104b8b007704fa3f6d4d7a63bd085bba9ad882ed0c0f5ce19e704ebbecdee2badcf705d4fe4d65284d3c5f9ce7735c96f2c671fdc2ed383534540d7f0cc5bd17dddaae3638f15dd2239c9cf76d34871a4a51fd5298363b7487d453a92242006fbcd6c0803a8319a05cf4eca488bb9e5ea555e97fbde8584fac16eca910e85d505763f6f35a1806e595a3f18589dcbb8122611b93c74062252c38be4de945589d114e33e324ff6db98cb313f9256a091448c5a7abc21d00f14a424fb5aaf45f7ef42030c499bbcbbde751a159e39f0e2b9026c2f0ebc3b6184f9e424b674cdf237033737eb81aed95fa22a3bb456a801ab931b86b8be0ea9919db9cd149d3e8ea45b6910772dbc89d52442721f811e17da8d455ffe0d3930d124cac556fb386e059a3f5c35759d3317830c232203cff748d5a693c63a0541de37ba15267384fb6981bfa40ac0a1ce63d214b488cfd76896a712c87f70bbce776ddf20e0854bfc30d8ba6f616596854d5bb0d24c106dc549da89ee056f5e6544c55264fb7b3e56e2737daa2378931db4a3b4a51692599f9aef860bd0fe455024d0b744a951d7fddcb356b0fd065512993d61db5c90ca84fdb8710ae1f319153b32fbc12b2112d6a42c1e9f25dd21717ede22411585ea3bf245308b5b788a00906dae22f2939dbdedcc26685dec8f188a559e250ed4aba8c38132667e5af41db0786a1fb753f582c4c06671537434d6bffef3ad68cbc5bcc36c5b04e568ff19be923a24743c566e0e7398ecf30d198d4a49af58f718eec6371efbe994c1228739001df10bb4d9bbf0b7c6b109c26a04f7758cb6335ec9c84157174a91982472ba5bee55e279b4af19b14d4819e5e78b17d04c922c420eabfadfd78dd1a6e9fbeea83dbb7dbdd9aa67ff1ba4bafd8d265a5758fa1890a18e330f41641fee2403bc9ce43f33a78f18e474d024c2d8b7651f75432b8b12317a19fefb1e07c513bfcff0612e105a6da0aba37616d4d10e7eb84e90028791bd70f40104b1597b63b3adb06af13e20b51bfbb8e39168ee976a7c5cd2f34b12aae6b98b1d083589db1f501744a66d98b3da5101d355d870a02b873545cdeb81b1cd16495cfc49fecea21cde2d261dd8c3cefab30a8b68def708dd2412e3f2a28e8dd2ed085b2a01ad4b74368433b2980f7622ce12d7eb6bb05552129bd0f54464ee938fb60af778a3691a1b23dce4b20addd7579dab71e04bb9e7e1e9bbf06ca55d602fecc73265f2808400da3f9b9fc2811148095765e3a54af4012b8c9a5d70ba29f3c3c1bc5d565d1b162f8f93ee9455c193690d05ba79ebd904640d5d5dce939ba4462ad18f48d3fa6e1702e8be927600bac9c6348182f427aae885ad17bdfb234b8b179de539a83c054b83ad8e9340ee24ed3602ef34bb035f94eb2fc4cd8cd7a49199d4bbf00dc503023f417cf93bf12181e219d4523d5370ca6068e4c9447fbb5c3f487344f3c4938e057941dde6b257ece7b3203016b1424d3bd2f143d20ca2259bce14adbdb5d4d0fa1e28d25221fdd99e775976920653dbdb93f3755b25820fb904f769c80081fc181f0a479edf4b9f43a5128ff1fe851029722fe268d127fc851b6b4fe0d27fb663e0c43c779216648e8db57b60d55db1a54bd3a5ee3633422adc04a01bda55b47a7ffde1580a17e2ff245d73ba78ad8feff810787ff42066e7dbf3a605e33667da656b6ae1967df59222cad777cc5aa9a650fe35d60681d49f2b8ae2e8b39f8f015f2924f8e5eb930566c399585bf124fb0f1b563c84700ddb34f5e844ab12e683cfeb2151646e4b632bde80591042e1d75e6b7ab841a1824ffc76888135ba5f64d79a43e744cc2a4fc2c92fb9a9ec7bbdf63f3b635405a74b38b130f77b26ce2ef30d7c4cf455015c97830c620925b22320763ac55d7270891417c6b8c4a429845126f6fd1113a2cdfa0df0a15a9e26d6d033b20fbb223ad615ec9a01a8b2f6d2ab12798d2bee8bc8d04d3e81ef2b821b470f3be5043f14845413a149e623e588850a3a1d0da021f5a91712bf790b50f05e296c283ce3d02bbca3eced17355b834ac80bf777775bc09dae3e03675ca79d7e26b027febc40e4a9b4b9d3a33274131961dff806adc7741fb531779ff19c1d58de93ad0e7ab2d87cabc69cf0f77bfa74564a858517c18e26985288711029cad48fbc56be14289a961eab1250533dee2f28a4dbc3a59c5219cf13eecaeb153dc197c30e961479fa3516d7b954afaab6e5db33e6b40ac96988312fb323aed0fa2ade9ef2bcc52e47c9c81b7e17da9228b876864a32869d22a4ec1d22c278b8b3f08ac9fa3d13454767230b59fb3bbfd6f6b8bfe6c259bf0a038fee6e11af5321357e51266c237ca93baa81f845d0fe1eb709206e81e9176853fad8d5edb8367be56786a23c1a6ce19d4c8b7eb7a8f0214246085899fbba086bea1820bca7a4cef42cd9f9cf2e831e12157fc45c291735846ac10aedca372589b3e51897193422fbd1ad2239f24196ebe1d9cfd52283a73dde688a4d6d3357e7a9ae054d64ec2cbc099a05a85e4a6211c7f502c427936acc8dbaf71564f3d4ec6e0775388c8837e3d287bca54bb8b4e2349649ae9c6293a966ad59df93cbe4b901dec30aae679373654a9d9cc627f37974542508a5c3017b373ddea0859e8ba7276044e51c2b001863b86b7166c8b2bee467e10534be04302c4a4c5ca35f30327a2426b2b816b14a47ce38050e9c7b591042cd2492b5008e28f5a03c50d8208aadcc703dea0326ca357da92896721fed974ea56da30a093f4f5d106213c5c638009481169ae8a138803f262cc6c96850c00ea170e07d56afa264e003ada413c6ad781cbc68483ce73017611a8f7569665ebc643a5539d2033143c9ecf22e6c8ca32337230e972adafa2707d292ca649db10f213e8efbcd1dae63996bd389fd4febcf560dac5eb4434f29d2ddffa1f84cdc4a87571130bf76e776640b4490a18d767a6426cb8fc261279df047356315049e84e2ebd5ca7966f2e8c2e3e69b6b9f66cd469a9f910060a865c470318d12a3fdd2fe9bce8c6a84a826b708bcf7276e7e7b71f4cf097fc8920f7d46d74c4a86fe0d4a1ebec50667804a031d5c79abd7e3808415b6160f99f1c5f8fb3dd6efb9fb3457d8c5113a0415a70375579a359ea3822ef0c51391ddf8eb59daad3bdfbabe175f72442ca55d8856897b06e4037b9afa6c52d7251c81248b33c7ecf5d60e1482de8e2fd259606d266becfa09adb047198cc99a5f4675743c9f0f3577c649f19b470fd1349d28d118ee8b4b49484ea57c0cee6cca21479a333c5e1aad9a4165dedfc6165093659f668bc9d16121bf9e15f912ec05abbac7d12801834043f8d4ce4f9d25db22af2e9d57a90aea4f3942846eb0e0a2531bcbd928ba558b3cc4497a6b02beaaae68a0062d68e4af8fcc97e98c468e9ad56f28e727aa00569513565c5151edc530ed711fc07cb6785acaade8a2d65bf8ba36a8e1127027ef5952862462974d6c83a47df97a3ed268320f4925b3cdcfdb478e19277818c47f103ae00c7975b676169f068db6b2c8d9b01536ab13d2848462f0a95e56d65ef71fa2d3f8f754e0d0c7d066843c20d0e46b19fa40b3005a85d1178a5a6fd83faeb0cfae632304ed260ea0dcb2b5e2c036a30819ecc189373769344deb1d3b9a21b94bcb5c1f9bce2c1d43e769f189d9e6dc9f5dd3b0abb09acf8898ad7ed0da5095c6cd246b21fc3dc645ccc93d70cc70c4ba1cb9c8e619a86fa63394a71fae94aa5843f215bd066d7e72b7f2baf82238def8e14b4de4bfc879e1a0154639c398554a696f714ceddfc988d1b7b0bdbc781a9bd8b3f7b91530de34e469a72e4d21d108d9884976c19b3e7e51346d9c6aba7dd766cf44664aad47dad934495d44cc1c1351d1c591db28787b5376e97b7ef2219f44bade2c44e9a92ee00d5c7a27ed66168ca13411b2d803d6cd22c63898e106c91e034e0ea0eff10e20b3bf4a3571b9a238105f4f30867d7f60ff2bb0a18bb02ba0e6d606ce2c6095d96e31fd4c748dd2d3240ab493e3faba1eb766310521a00f2c7bf02eb90e8d22bdfd9fb22dd5068a809e66d5d707a07998bd9e31d870425a4d970475b8cee96dfad753bd37881b349799d555ebb2b3cd84e968e85d60a6bfcf9d6653d8875dbd4d30632548db578fa59b4f9c66df05a6e1f263c9ab1725641afd75992ab1117097642d02ca3069c2935f0b92b4f80984c7909de2e341abaa20f8df762c63e43b7950a31c65f1a163aa872990cba08dc2a697f6379174e3df5fc003e496d164883cadc94bf41f22a87354bff3538add097d62373521c29f033a5f9c2a66521099f7aeaa9a9ade46f085350ef25844c2d1a0b851950469ad58140a9646ffe416f2fc1780e14d71679b5de6c6a1325f629cb84bcee530f6491c65e0dff110bc90c775aaf2f74ba4afa502ac9c406f2a0741843fb14ae3ff0570874dc252503097554b58dc0ad61eca92a12dae150ade84f26ad124a79f0d9db94d4036e1cb60c47f8586233422740a7c475e44fdbe7a60ac76e8daaca80f88d60799c1c52e30e9a07b3b0ccf8b4d0ef6ca8648fb6359ea0552610b0d1d64fc69a35bbd5e6f6f3ce46e9c5b0d6180c8817083c02842dd9ffb7db340a827b5f56887406e01b341773df90f40e75f34c78ac18f773fb640271847b9d368d32f55f5c27d9106bea6beba5a8b94272f9544c828a4fafe7e4a7c498b021e776af56564999ee22ae842146f5a0a4c6044798b573fca3c2b39051eabb03577c9760e2333c5b2755862dd7a0b381bd52249b7df03c1431343616523b260cc335b95e0b1bac3ddc84a807a674dd9426d6d8e6fe375db424f4008abf902d5060ceac760a22a141383cd08f821ef91adbe40d7b070f0fe622d48607bed009fb900383a84f17203987642fdea193881a4870c345d168bc7b5042c94fba15a42dc6d27251679af854274e5d6161cb4619c502c302c102bb117a457dcf90287c5baac7ac5b39d1f9f53edba57323d3b86a9cb8a2478449da9fb11d4ddb8a9b637e39e8a4ba29eccbf0ba6f51d3d089e98f617faf603d2790299150f990f0515447aa135309f406fa28da9d196ca988a1927845263eccc8cef544b2e996b28c3f5c8333f118a4ea5cc36b281b62981bc066b46e6856c576c5e3731a042b360a14d8364f2c15e52fad9420c58feaf85c314a89c0799bae9abbd0e8f8d91031a481a0f5e601874a660a27128d43a99d69d768e9182baa15675418d5ce4f86557a22ca5ed632d43e9a1b2fb42d3ddc270b32718f2bf23a77d5d6e1d1e9cc29c72d91c8e712dd5d7ea409f1bc632da5c24f255439e52ad7b999479b96c645827c5903701cd3e39c0231098fda16674fe64988b545c51dfb1e42fdd56aa1755b0773509ea729e3705c4467d7c10954571672e5ec240daad2b53429d4dfa8a4935b50bb5d36deb68b08790cdb14fe95c18ebfba944e8784c64bb8fbdc47afb72226fe325fff4b1805850160e6b38e14372cdc2b92c08cfdd486db91522ee6f0ddaf186f0e61ff42a30c4892cf322e2e3472bf3124e0071a88120ca30147326383e86f90254f6b05495fb2b1fec458605fcac4966438e517798c997286caac23cfb73cac8505d5f603293fd9adcf8c50159128470001b617925437cc7c86a0d98f24ad614f2c129a239a3f9c91ea3092b34594131c03fa8634ada97e66b47138c0e75c8514524e7dbe4b12d4d0ca150ba68af8419666419a8e81cf82ecee2c38ebc9e8b547baeda1b59be2a0505af566e43590504fb54039a06e018cdf9242b7eccb675c49a678d8aa305d1d3d87c60f46fda5f9671a1b233ef546d5f8568315b50dc4d6b1f56c4d6fd482345b09ce7d6da1cc4be39424f65bb2b8db24626b92f7ef0b677bf18a3bd138da6d60b734fbc49b6704c4d1600198212ea85b8c15fcc1a473c425876a9786fbf709eec1a877e034a9fef69b65b12d822b6c3f003808eaa5769a45834b76a2260829fb233759d57f9f66455239ca21699d6f50e7445a762822c5fc2884148c911753ca32d4a3e72512a4e0dc09c94adac5e1c8c20368d7bd56dc721a00a845f5bf256fd67631975cce830061c3bd45bc8e9a009cae8c01565c71af46e2e923ed3a1dae35d2f70fe8a09fb887a2973dc87c46473edfdaeaf7282f9c19b5371b27977391a3b181cc200f801b41c7cd6757cdd9072dbf2730b2768f4862cc5e349163ede8ab3da56dee020c907e49a7962f48419f47837696079ec5ac721c6f5f79bc9dcbcab38278478faf55953c19b1de0fcf730a4c325152344f918ff96d5882456904dee0b6a5e0b84c3b7c07ea8a206368f0d8fa8216cdff31b8a3e86d48995cbee762154afbbac2d6d6105441cc4e49657c3de2df09a37819a00076cca87a657919e678887184b9233349ae26bd1f12ae86a8d1a011bae83b913b1cb287b425215ffec95f4fb57779d01852d6cd3b33f006aea0a275643b3e82e839dd692afbc5e85c902949a1e89764b63082721d6a995349462be7e90b06a6f704568aaaf5d2480bf2663884f446b13f8e5ba6ac484a5bf4f4d59b3332088f76d742942111f5c2b57505c722b7207b7cdad69bdf048bf51db4c070c60ffa6f3ed8e6a52eba4db886ccc1a821f54d30ba82bcd9f99e8c16915977b152fef456c576c525b2c63a02ec3fa816c87fb5eee3d7f22b80847596a43e9f6284cda76fc3dd6766302f2b267ac257f2d4ac4c4eaac5d8c078faf94aa83b56226137fd9aaf96175e16e1ea4d0a729756730c63275130632b96a8cf5412a308a00a4cd65433898f5e10c1a4079af4f8a136a3de844e3bd25720015c20411a1bff787dbd4f132eba6460c1f4865bc3a5453c5694097dca55499ce29f09a7a43860c4d012548df369fa833e88aed81a535f4298f3c2e00dc7f76474477b8dfb4ba08e5b42fc9026e2e1800de138e521fcf07829216bd6cfa693bbee3c48b4c7d93e600726ce3b473596973e25c84af2b9ac2c65c394b3369eeb793387e6d3fccae75918669f5cf305252776117d32d48da04eb4cdbe7474a68ce6422ee6dba2b0434dfbed82f42f3365263855e61302a078ea7ec944de93f62a468be69a393d774eca64a21a9e22961a06d46226252d35293e163a4993e6fe7c899ede3dd3a235a9d1c9d830ffdafe21f9b879a0c2b05234426077af2649f16af94dfc739409776c4994eca138ef09b96fe0baf3213bfd3fd2941c284cf76cdc3175ae42a1fa6ee067dde41be771ac710f6bddf52e69f9445bbe5ab7e90c3196ee5a7b87a866ec6d381d5e6f631245e763facbf591ecdedeab56c557a60781ef6fcd6270f7a61b6ef840b9699d2e6687c07e358c5cc140861b2f1c2ef3554a956d4644c6d71f049dbdb7f8d79defc92094d14117e060a632e8e3e375fa197a6fa040cd30b1eb9eaa303fd36fdba01de7715dd7755dd7a15a91add2f61a4108142d0191073cd501ea4a7eea740073f8a6eb4b728b6d731d0f9f078d2055fd2369ecb137ef033260f0c7037635497f28be50897e2bb1c9586189e6ba8ba659a0cf74fe544bd0603f4e4675061c2a3f84cce34cbbc3bed5c06c29158410ed70249ee76d1c27676aa67a3823641b76e9b25c717de53caec6eeb5066cc4ece3fc45f3bc116936d69b071cde467cb3941a503eb2fa8d9e1f0d904ecc11920ad50f4e3548caa7fc83ba746e5fa8af968fb43ec3d9c1861f557c85d5c64155236badc27425df58424cbf098b56362c0e23bdac9da6989e8bee8240cce9e9335697c23e909b5cc1b3836a7c530f8090812c9b89e78246124bfd9cb3416b1e685d6d59b5ce53f3b575fe67f89239ba69987e98364952bf9c8ad562fad225bd420c4eb97ac065047a9002ad218aafa8c0792f5fce0ef0f2414ce7fca97214b148019cbb0e1dd9f6ae63cf8d1e686095a071800fc87c15b7638d4030b5d477894f34c54fcab8cc3db126459dfc6a557248f83698de7ea6adf0072702dc0313e5ead216056043f2ab311ee1586fb89ced76cbe1b274222cbcf7592442dc8ff66b53a4389d7990de65d764dc27a3397ad6c2d9088c5274cd731936974ae09a1aa360bd877ac10b40c599a59c2838fdc561a4d6c6024759a0eb91c764488446bf99737c56e5b0c26ad1ba45964b4cd35a7533b468159d93865e427775b30026202ee9c42d33352c1cee897d3fce4e36bf26d1eae678096a699836b06fd7e66a893e779742f216172836ad8933d945a715224abd71b9971054340d1b36927b05d138795a322ba518a7044c2073b59ed82259b322aa8c32a3cee84fb41ac546bb7c450035f49a03a5adc4ef782fb863283d84981b64c9dcb635616f7db8aa99589e94b6d22532896406a3b52153f27ec108096998f81c1c1c1cca11a2a0ac926afbab95c5ef61ed0d2c64edce265e4f2b16073668724abf305dabb20f0e17f98d0bb2f08e094b0c6b35f3a01a3f80ba60b90543c11685caff7bb3833d6dd61d32b718d25c95b5a1c70507c9ecf51a2f8c14c4881099d6b9457b8b157c71bda060b1ba655d25b19e143c6a8cd5d69bd392ffa0b79bced684e6a617578d12cb7d43840a39772a09554536b6db9b84f41e1733f773b1395ed8f5f0edf39f153b69104a7961d1d7f5b8563a1cabdf3b48a1bf7580ed3314f40afbc29dd1e7f5b94db5a3caa98254461c288883dcf435bd298202adf10554691fc69b53e5e976031ff78bdbe7a1e00b6ac224b4c1723249f3ce9c3d6d63f2b53cb414b22a4a25624e56b6033d07a68babea1cfafb97260842d9df82efde3bb3c321a5e04394d52681393d59162f14c43c55386efd292e1be6bf26d7b9fb91c642f0299b39d2d778eb73f3b5d3549450cf11717cf5bb503943d39522fd1f09e58a450e7c21dd6c63286d327076dd410df33b727ecbc395d442b4f8da6e867710db1dc5ddb628c341acf653c576c5e373489f4e2a9bc87d143f0268ae783947280c88faace48d54870601d90733d808300e40190682280ea579ac07ca05d1c27aa6dac07532a14e0ca6eb255cec7b3b0897889a111c454e4a1c9d460374cf1d0ad38779aae3247dc29173cbba86795d4568eb2629cba37b8d5e3674421a8f761992b84323710587f754ca65c3180ae62b382992d89100362e32bccad0568f9166de621e8d82d6259ffda35db55a39ad01e6823c1cae7f2d162571753670dd6f2ae5016688da81399518313e7f56562bb2f17e93dbb74d6f40a79018b9ae5c20044fe817501b2dec249bded75fca4558f179aa7391f964aa27fb96806cbff2bd39ce88ae0cb7f2b83335efe43ca86360c0259e2601e8322c2343aeebf80430cf09e508874d5882c440510aa4125182bf876b1ba98aed410d375e55a2163811b8f7140977f0dd31c414108e4d4e76e5f063a5c8afab0daae8ccd0ed2da963c8195bdfe8aaa599fc68cc6662a3be9daebe0aa2e991ae7da2322d486ca47fd0168321f00a6c6cf39181692e762f4757b4ead728aa6bcd03c161803f2e6e9bcf1c5858a7f747ca1406bf57d3fb135556252c65ce9094d7e1f090e8137f8e30ddd9af56cad9e7334891008ffe0564d0d661d3214872f31869eb32fc0cd82edf9f895805d6f20bc8c0257d5357f88ef7f45b14f201a3b278722d2bce4b7e311da7b9333644af7ba623183ef71729c5e25397ba34f36433728e6c1245e51018d95068f33e35fed8d2c82bf45261da17939282bb150277d0a9bb8196029c64141b98dd135103c2cfce7ded0da42e70d0c73bf8bf5ccb940bdfe45e7dc50ad2e6a5c74048168b03ccc0935d295a91221790fe3cd24068f7c50e5e977a13ed468b19904e715920e51b1e631c24dd2267a7c869291b3e327d633de72957098fe3b56a7c2f76522758da2cc5575651ac8dad23fdc06d351f48015aaec6370d1a4f9ce8d03d8fb45e556a9cb3491a5a25a250d2dc61719092a11f6a9464c5b1d2b650edbd7c1a8ca67ac4b82924287d984059b0ad4bbe86c79228d8a25b978557d1a98260f280d4656e8db046e6e391c8b9ad83363c25076a99c74575eee87757a07169520c5a2b641599a557305c1685cc7b7a8852e3094cb69c5e069142b48eea77ac9841d47f4f73368e131246fb7b300b2b88a87367ea5f7b4fe3b179a58f1102116135d755e6f4d5c45e89bea567e77078b6786a8d8892892d4e46945874441c235aadfa2f2806a407059ce69882a81d9853891183abcd80fac2d8111c6f2116325df138210d821192fab2e2172e5fd6ad73185db7593385ef77b4b791441dc2c09e303f24d5f052d73827f227417dfa63d533845f565d3160d1bf97023cdf375a0d20c5acfe66eab8b34fa04dbb3a391c5a0bb5ee86345de713180ddd2b8e4fa038c8caeeec625eea4065ded965690d3f83fbbaee64ec446f1d777d5c30f557055a5264aa9f49f0a4601ff74fdcee81c6a015d399e7b6612c82cc9d8c45057d09080816d8b1341d0023fc018c619bbb5a487a9efde88cb1a399cf780bb16bf2b12f107f1c676414dcf258bcb7d3d0f2000c640eb1819bb6e16bc4ed23e1f9013b831bf347d4277d858de215514657484ab44f838482c052d8d5e4e60203d92542d0752afa0788d35c46ddef9135a5e340460000c1f2358d07a13804263e7f6ca4030bad9f9f18dedd7cf999c3bc546c686a9d9737e98471d5f300902525e2aeac3ea6c237f03fc24e585a767716367774f76ac54e4f5b20196e900bf9d402c3a1caddca03d386ead8497c1182a8ef74f248786d0ea8b37748ba7c2e8c0da990f3ebff4e2ebb6f1397e18468c0a1ed16ff5c174735c482812256f76c126e91dc5f11be4ecbf61f5b3d122523283f8d5abd2ddbea43cc269106fb67950477419fba363a5087a445117bfd87d50dcf7c79175f638c890dd68fc6faad6851f5c042aac7ff3db64e6d0c7b8376a41170e2871b285d8cdc398f6d82d4faa1e22044aef222c1e32fe564d307aec040622d07d1f4413a527c67bee74693c1b09c74b09020b7d51b170408daf40e7c64e571443e7c689a6671e07da5d88aa1a402ef3e9853329af77d6e6d2521f7ab75e16144a9bf10b6d209e7e6b1df559c8e9dee5ccfb06589009e1f32f4e1aa1e216db60a18db62a771756c4d2d45e20d49889e1924c6b1a86deeb9895c192d2ba04e21d70eb7e565877d98e6eb072c4d9b8f2648d48309e3c68f7f702321fb6a3ac1419d5dc19e30cb8572c113159beba294872cdb295e364ef95a4ca317eb3adc8c6f5f3bca50b376baf2c50a69f3e87d802d496660d343324c6c5489337c222f0e4b19d3120bc761ecc002f6a45e4967e5dbeb2c17a97c86cb455693a866988ab264c613bac94cbe41337ced147bf07d3b41cf0b7f74db18ae0ec867fb1094a079cd1f3026fa0308cb4e6ae53fe57cc8b09aeb32497f3fc03fa1c6eeefebb51a142983d874816f884d6cf4f8749e4273cb68537c59bdc68a35c82fb20fc692dbff718ebeb4bf3f88d7230d2da470f79f99211f448c4150d79892396010a39df22a0c0cb424ddd0b23ea04f994a5d756860acc932a80e2d3d57624d46aa4c030aaf297eb0f894d7d23a9ee3135da6f2484ae11fe57c90a4ffaa207f32f386e15e0f06737e730dd35fd91c5d9a009df55dfb3083994bd9285cf5e39cc13e617c101e498065624639de76e76e3bea8c9d799ca7451f552b8a06ae9a4fc55f2c7c2a5680d913dac177ef27e602e48e84f2134d57c931c4ca39e47f9bcfc60a5d90fb40d6e814c3251cecc356f58ef5e194c848732bc95d50af682e04b8c5074833ef51e1472531c83577dfb7c38113ebc9a1cbc5b9f0724b38d3b577bcefe3e2a0e61ddef1ba5f75fad776260e81c8d3763b70a09a40cd3dacf7fd3f9e2df195b66c68b31bf6840f026de5ec8d941e28709d74a949f3b1ec9b806c2e4515835f2034650f228513cce3c8f719de73ab5e8a9c95bb1d9eb441688e2a3d81e71f0daebfe70efc97f5f841ff4108a1d33ee1e9cdba3540d51b2c826a8ba5c02c6c88da922a8f5efc4de5faf016fa5b2e522efadf46c69c994899ce6b1b91f55386101160225a421b296134ac80e579d85569682dc148cf04c38802257b3311fe87b94d4972c9d2afef943e69c72a3aa9435664b82c2967acf85b42081bbddb78642ec18dbb50141d10f1a17725dac3cc6076eb2eb1e48371deef62f7eeac556039ef9bfac5590f3b88ce6c39ae6090e27897fbb3e0081ea9c02df7c1ec05bc12a115a044619b0f277e2ef49fb3f04b3b25556515eb4456e08fe8a7c64675b0bace5968d67e6775ce0697bfdf9ba54e72b67dd4a99e81840094a0ebd7724c263c5108df74cfc0353de41ee817e94c06f9d728e75fa6ec0efef354523172b6d23538b2adedbfde1e553f9d8d667fe5efff4925b5a5d8ba1e2c63edf146e7f5b9227871ef63ee962cb05095992af8ea6d4d8f4bd17bd1340a6e2456d6a7729f16711ff92e0a7f03c2f3518cef15f62e9d0c1c509fdc530f1d16b91d9d93410a2b6a262280175519a93374ed331dec00eff49faa4de1e08f7c15ae4023627580a51b6f5b4d87f3eba9290b5174977c4cdd49b3fc9df54fa251174f69edb9d4eec1f157a336cf55beb15e648a5375932ec3532a68c15b084d71b031051f50dde835a7f083aa7b4ed1a6f69bd739c3366ef6df86875b1c2095801b1089b157ba765eca57edffeff3934956ad379848d8c7194ec1ab1c3edc1d779220f19b704aa65a233c3c36f360bbb863776fac91081c1a82ef46d0c1cd24e9f904536ea424fe7b7ff5e7add984ff7b054bffb60e91cd3e90f577006ea87dae6fff4d94fd464e02beb924e8a94703af83a68d5904f7f43ebe770f98e6c88be88ca25754688199aad770e877eb619405a661a91090871ff667abf952df292c34afe2c86030b488b89219c920fce00a94b7067480b01af4e4315a8aa8157d15119b757e04d452380b661851d3abb3b22f85d594cc1a006e5f5dcbe74a94dad2f4e2618e580a32a1af4c317f59adbb954e05cd5df6fbf2b3cbc74cb9f5dbd2c7aa4404825ac9e845b5fef9847c52d732b423f7731661f348c7fd4d557db850945d22fab58ee19bf5acb6c107f15a2a6c2e16e64ff074f392e0b7bdd37fd834bbfc0e59fa05a79593a59300e7ab5bca226b09bac2c1e71a1d4e43b19fc7037942715f4d0d43da0495293ee5eacb4f821429a388a14f323f5294bc6eb68f945a0c6136faea6469c25c7f80dcd0fb842550f4c6a0af3f1e899bccfd5e67897f37373db1a068f46af3942ed1863ae8e7b61c769b23e813dc06b69754e8c728295ee0145635027389c00d961f0f64a371c475352b381f36def63aa87489a6bcdbe4e0756d1b28d7d596dcf718d448a9b194a0aeb3e606a55877ff7cb0ce54971921ce3f4641514a31ea9cf470ed18a68370cf8c6475e30b87fb3371121f9207e609f29b6c48b5006178b2424828e7fa0f083a84409536d989251122810b92f87613815db7e45920290719b62adbe45c8f5b42d56b2d63e80c0fc10246b420bb89d47fa9e5ba8ab3d66025cd5f014efd81cef86adae0d94c92118d21ce2be6a5f273e1970b5229a6fc7f04d7617464fefbd891756379604c834d5d1a4a43624397bbb6b9abbe35c0aed82f63a20a514a36e09cbc1fdd5912c143854c39192a3ac697ef9fe29ac8e654956a4f09fbf8e6d037ac66f462be4ad1378bb3be3d00db57927eaaac9d46e042358c67063dcc54d463217869596a8198846e7de2ff80fc6ce9c8dca0f3020d4e24816ca0a696c4ae286cf8d340376780368d5ea98334648065c2a799ded955274a9955fec555fb58f967f98f53ab4186175881f508d4c894c0382e33e765b70048c7d5f8d4f55c72dde5910b4e3d6ce7b9153c04d22b3bf6982c45b1dc918048583db1d2378a89912149b34e770a8e457f8dd0e6235c6841b8e0365d35cdaa3b60bbaf48f012510ff0ac158e13f83aeed2f7b35bc8e56530813a6972901e7d604f6c1900edf04adef0218d4c1184f50ad29869fe26aae2ae1f682e80417ab4020ca8c8404dc2cd73fb9a322eb8466ce415b22b50e3a1699439d71b53055948df22099e9668822fbe291c97161a68bba58baab189fed94df63669d5879f41cc471d74c18793106b3e62ba1b60f01b778dfe52ac7760407444f4b441f8f69b36398bde7b6871c31db707a324ff56f4e57753a9dcc676539d0dd2822ea0733dd1d31fa1a62da8aaa266e2b1b07b568cfa05e43abea44f14c8a5ef8e593268ac0df73fbee488c30c0ac5c825a748d07185ef06ee983acd6b1e3f7e9ad6338f96470723c8edc94297f190bce017ed7d9236ab1b143b155ad572f464422b5cf79c82dc79b35f1e01691e9a18ae302e75a4c3b6e4e404a5fec835f3c899026509d8513c2a54d4ab50bb2f9bab39f47a72f2f2e560fc09263dd4805b983a77a08fda15e85ad691c84d50909c0b202871587a061e0af0dbe2d4e45471eda974eaaf990244a1e3a25c795eccf25ac73dfb31f4ca49d8824475679d8d871971ccbec2814183f25a34877926445c5f29e9b5758d1c9105b4f1ed08484f91d1c18a9254d45aeeaf988421055ab0f68ca53556193427582e4bb91e589fb22ce561ff2b37e53e82e57ddba57bdd8e94d36430c535bcc54c4d152cf86a36401c3b85d62ec6d845671bb396e305246bc17c6e5c41fc5cd5df1da9fb564370327b886844be9290c17d4774c4d6c740ac8176e362beae5b075015ac48a8894dd73319e9da629abee0074664ae595557dcb3c8b58c0c1ec4e2f535788a10ab65ec9b66d8c6603f74f8d4730ad72917096616548dae0e3be78e4695af91246a7341d87bc1a04b96e192a614df47e9307ad213dd0401c1f90b9a0aa954296f80adb79ce91bf1c9d585d5bb79a57ce0d2df8abdd1b4211deb2c7d92238704fc5ba4d579f000b0fb53f05d5aa5d30be9f65ee6b60d6c1f16a7aeffa3acdd37daafa7e739fb42c7e9401a74bf71549b9c32d8113194c5dec179efd541e282a691bea0537b648b0cb26e39b001c8c2b3c830570ebdcc7103f08e9e6d02806be3db31fcde6f944b56bfa27f3f4107ea5e5780d87374aa336b0db0c3c122a2fa3a6ca19c17a782ab14c6c061c19476f601b9904e6a267bdd0f0b20d555e72b101c737220ac70bb43048170d096355f90742765b96cba512f58452348d0955851a8b7d64407b8ceb18b07688988d14e5da5de1ee6fe122e6566028f8dee957b3e4b9fa09e398ec3375892d0d6789297d05989793fe45c33133c2a80a092a1e0a6b37077c0042b910d6fbd0ccf1947f660fa414a6ee0d621220be853afb9ca4a1ec81cea58f045387f02254b5f5ad8323ffc60841a475246ba7d81f71166b2d2a27b975a489308720e52586db473de166c77a66bfa070edf75098da0f0ae0b1daca850734c7f4a2bc09fcf5ec4128ad739a8c2334fb11aee6289dc2ee6969712ff53afc2953861053fbdbda5a169f7b3ec5c5999dcda4609072f487d53e9d30bd53a3c2c4079b96fbd838663ef70fdf2ba8816f9e1560fdca5ca63bf243f6a8050910f78f365f5a200994513c015f393858788f01abdedbd1ebdb72be749bda9b1da71252fe62019cf67fd9d2a77b5f20bf74a120a8d6ed330e96661c1c21855fa10e407483c440f3e4ce86be86e1572b80fbbf814ad86ebbc68c20e6267ee846f2bd7d798d6c409aa038962e87fa0209603e21767adf961e83417055c1bef26f0e0ce3b3987a3ab37dcbea1c66ca787924dfe68ebedb8e9dd25288c7660ddb69dc2276475f1ed61cacf6482fdf2f116380b95e03413137f13fb947de82f7a40d146055b70093374d0c91b9ef89f08c2e3d9f357ee92d03a500101631eacb4955496e37a99b8228473a362c1016cdd002ab7a42b54608e50fa0cec6604aba8db55b38d99a6f263b7bb66feafba3276a85d60912ad55ddd9ed9d2e46c2b0b743af34852072cb8817aa0631d18baea67532c60d94b83df3cf207e5c628f762aa352261cfcd3dd9d55a0aaa02a102a40245950c533eafb154509591aa0c187e8421e23d361a97d090ab5f1db38e5a96e162ec1e6936af2658ece18ad6dee0709715d907b32466a85ddeb03f6bd444987665c7e071d431c56fff5d1db0e9eadad029b4a19085e49b5e71cb05e08e1271fc0a513e7cf54c05a3e53a00fe59c073fee28492084ecc404f512a5493f14de5091aa5d1a429b2e8850b77f4bc8dae561322dc0f18d36c27eaa40e2dcafa98898ecb9310695837c60fd102cbc0354be5017fd664e9b4546a67c5224613ac7bb5aa8717a668c5a5fd6cdc083811f72653c1b585a33b3a68e2643502a122f748a5618d28001841dd746aec1d83c7e2317aec8fd96418be31c4ebd1522880890ca5e4715a9a3c983dc95e9ca01d7da8a79d419ddffc0b76f3d914b606a98da5dfa5efbc0d1fc8dc758a3a6643274cbbd08832074ce2e450c8d23b013867c50b344e4af3bb6f9aa48388f580ed5c5d821442cd5b03d7c43574cdafb1476012b65fbeccd2b7ac7032141dd0df072e0fae56dec6b1539e85bf9a13619c0c2d1016486fc1221fa2240bd784c6649fd1c386d40dc03a8f902de0411700f35a6860507c236039e6162335cfc8ad81a3abc69cedf46e7020aa4992ef799520e9011cb71414ad2d15b85d49d953d89436cd4d7f53e1b438555e188178d68ab5c87d8a0e467cadde0c905225c8649b1742040bd612895a2da40f373e9df36d531c3059314dec966ca61fe48a0bfe6392d34021eb49d9c1a92c9dfa849d1569373346f100c27dbab9200264f88e581d7eb87e4a3ac23cc48a15f00fb73f32c32334ab01e93d473fff3b7f29b91e084d1c843984cb08e02098d2d051737445069467f92e6c182df713763016f1af8798add1ec48c30746d84425bdfcd45bfcdbc555134002f26ee8dc6f7dbc2f060caaef92ff9599e070ba54bd3e253b36ec14183d6ac15c53da84f3f826e43c1523405103bd7d4ad2a2803aaa740d1a1edcd4185fa557accbf9463bcab5adb0b8b6a205006e7f038abd6dc32828c0506fb43e0fc2067983c041e22074909f2a6fecfa6d100b0016082e754975e92ee5498152a2f4b86165bf00727944f0245fed5cd54208b8afa971dff5b417b74651cf3d33c1487b30467a11499d3987fc3895a1b4645e14772c3325ca510ccad40bac8b6659030db63bc432db6ce1e4493cd3447da65013382c4e9a06b9c44bf91557242ee97e166916b38f5d6f671173bba85dbb7475925692614d2ca32ca1bbabec9defe9d0c373e7f439ffc495efbfec0b2dff0757842a1b19655fa1284fb3916dcd776425280bd1f3fe58b1017522126521fe889d6effa7a4c73c1201a5a9563a62cf73a360bd90859200a6422c5605b68eb1fd217f03621d33dc13b3f9ba4a2a06c5d0404b93a94ef06237c6de3e284b7e7853ce938d05f59e261bd9689c270b98488d6cdab0aa3339758920f060cf78f258202b3151d5bcc172487a97620bd508052833f5826b0eea44a6fd78a991847e67cbcb1219a6e6c48dfdc80261a5987fbdd86dce3ef83a3dc63b8901679135fff7e19cefa9e9a38d0d518e96783dcf97b27cf980aa7b07207f0e1ffa7bed836ed730601b23aed481efb192d46cfda10c020611b589d7b437e5f20a3fbc1f60ea6905355af51eb6f12ebdadbaa1a888cd626344ce98af4e4d8e6614d42ba624c6098d27fd60987a88aa3e11ba4363118fcc28759b31fb569f389585a179d531c7ac653e90ba38a286dbe8a63ab3f10459fa7ec29b9ca8a0f6d4ff669f77cd9d84b7ee4720388e971161272e518f9650c6e8e99da64b4809ed0831bf461488215f6efff8a1b3231cb0db4b2edb8b80f8d13338b2f945ad7dd994b34c7776a674db57a94c5aa778fe29360f2f3fd1ca56589795e1ccd6657524221d374aef5cf010977288c41df0447998b2df9407164966aefe0f50bd9948a4acafaf3e010b88382ae9d543979f1cd7adcd6cf08069cacb361d5a47fa16000929a73da8527c835a8a004a8821a81722a18a785405b5beac9fd62df52ef5e2d1094cca6ddd18d7c746377ea99531b2944cfc25818ebb74a42549f977252561b225c6c90355dd60bd60315ac99fa67837588cd680fa3871ac4c32a9bd7b3ea285b227b4d158850b26685b77a233fdbb00b966d452f74914ca6b3b3914e4ac6967304a6f5355a8b6ce9b7e8541129340c5d14dc0892d0d92362b83b94bd0bbc0948edbb6b807d6cbae38676444cc45bab79c0c21d8d2444c3c92549aab6d9fdbd6fc2266a210526da51199d11208f10c5aa7b32e2fce8c52b7df0e2f5ee62e6ae5b3243acf80330688436a223d2bd03dfa4f96e911c9628688a7082b2aba6697300fe291cb7ebb8e2808770b7cd1af413c7f2503ff0d203fbd7d227b6bf29036900b8c5294b012a49d145fee5fbf4bdf3974f080542a18815e66a17666bf5ccfd2bca8e440ddd2ea9519288d92d56686cf414a442800a2ba03560a19e11bc0c52b06a7bb0dd146f20ff28f16dec9423d524a13421557b9fd870c395694898a12f3b067b8b32420d3e68674148673d8c76d6869947dbc30d028e2610a414735d0bc8a8a8ac186bf521fe4d4ed972f63c4fadc03e708c24a44f3a752a1b644802b27fceb536f31da67af9ed40a9b3d6739668888de5b6673b5caa0a540fb246c18ad832ed7baee3a3660deb80f6bb453982a8d98c84fa29431c310d524a950def123e30069a773a83b613e04c206807822a0c1c6bbbf28b293bf662cebd8566101ba20ce6e8ca4fcb8d3303a279da2a74fcd5dda1d0896be64712d29f9c4c6afb90f9e1d3acc8e3aa969e090019259196aa675b7bfb7a0f8c5dfff46fb6b368c96fb65b0853eacdc6f0327dc06876e8d692a1d3c015fd1897e436fa762dd3da37c72a20d97f247955fc69731448e31f4bb88f4156de2a51c41424767b68e541cc6df164cc574dd7e4eeb23d296b4e42cdd9d2603091eefc3d212ad1262cd578215582323860b273b1c2b99f64e5a37b81ed11767e9d547a0b066bfbd55fbd4ca7dd554c9abca8737df0aacc9a2da0c0ddb06caf4a3622209b2ffa9aa49c21e06439a020f883126fa1598603068996c900ad282b9e02f280c1683ca603395eb98e8dc9a2489e30a530ea4bbdb3469d5ed9b0fd66684ce853a283f05b706bac1d7a323d7017e587c2cf5de8b5136e8a52868d1b38561b4a7dfa4f2b16c182dd721fb9360d51c405762fa8e46b151996735a460069ad58131493c7e83668f433d2f32f9e72950b13b9bfd7179214c50b6b3ebd57b6fef9b1d2f093e97c0f872e0c8024ad0d133a3714664536ff9c2855bf64a3264a14165729490997f05e709d801aeb9a836004254ee28b5a8907d8f6e7e4232c4c0cc5e0264fa3cf31d35957d96b088982d73c5dce4e9ac341929c6da5b9bdfb6a7b92edee832ba47ff47ae23fd6897e0402a39412d795d1cedcfe724f6bfd044259d411dd5be6103aeda7951d54e546b336dca419c269ad0f4e309f222624bbae3d70427ef2c3bfbd58cc3275e228a9c9ba4e6dcf7c10cda44dc62415c0a4986410610bb82c4ca93c4424cd39b4cc82ed61b81798410b993fe5465f9158498e5e32b5f0ada9523d7afe8348bf1baba9e27cd52fc40ab0ea1f296e31dc2a738ccfeaa8c830835b7e220c2eba0bd66969b687437ed0d188e93b7a5b7f5e43bf04c82c769b878231d3cfddc5d82e08618677e39c748f9acbb7adbc399c550396c0e6f86d8a1f7c6d3b9875b0e9197a3c2b40241b20746a837aa6972120cb6c7b418d5397dae940c010660e1bd3c3741a97ba4919adb1b8b6ecabcb1d2d49cac87a7a8c3c6349f44427d63d808280c21118461208a4469a2cd07339020f0c8080804c1408130080481060341008144106020088c40202004c00c07b53c16b603d79d31dcd0843447010da6e17376ac63dbff1442a72684691cc1ed1cc6374cba2335ed91d03065c7e3525e495a88438b1943262395ccad2cc986201131813e313922b776fb90b5d64e07c5a83467cda72bd65c03c70631975f9549e59201d084f61e451fc33044824b21f198211d957fedf83107af20fa3c8db05a80508e4996d3528506b6b0058cb4fadfc89531440a69a0a12ce44cf97d6a585ec4925a600119cf19773269059aeae99c7360438454040e30c12b86bddc9150143066cfc9dd2b5538771330c00c91b849ce476ac7400877b7e11791e354005668a9fad49d774e0e348c4a1f5ce0aad17e681524182820b609c9064e8d4abda62f66ebe1c7cb3ae37e03452902d5603c21e18cf4d18d17c278074515a599dc7997e149d85a6c3cab6ea8068db6ce4b72d85d7938c93b95173584ac1f78c46cba44a6ab3fe567a1e24ee6d8954ace2a3fe47a999c9a21632c630d912f612562f4c78a4d53871327668c5074b43c22498ea8d48da44f5d4588ab96fe96ca0bbf96c9b4d8cd4c1e0159ecaa7511c54f6ae256491c1e1a415910bc5b8eca22804fccbb692cb482670059a93e941cd5fc0991a63fde6aad312cb4b013afeca2d3f7f448309ee8684e26d6db5b12714a4d2d5549a7baffd73c157d6c8ba7a7773d5b07545687ba00522f7ac6e88b2197d4349b7ad82e793c04a1fde17686fd7c9c65f5c2923e4413bffcc97cebb5be26abfee11139df4edef35bd0d3849e0f0fcac0564c8cf408dd56ac67b77730fad2ee86479efa478e5872876c021b5b55f9c439327edbfbb6bf21861fdcf3e6ed5c6041b759942e9ab1b24a8a8474a28fdd9d0e7d344f8bdb79c3dcbe725bf9c1888a24290ee1d1469f4eb772c29eec647869c934138e00babaf21c9530104b99a295b10342f902371f5104b5d8a2ca08d9d2f6538aeea3777a9f72d7cc532e8595e2d37efcca4153065a35ebb7eb49b743dcfa08e5bbd74e03a3e4bd85c934a8d0c71404971479182eed80c1b28e827f015fe027697f9dd4689f3cf7dc1fbad740d4007120ce2c27fe4273f3ae1c6f7e493e7ac71020b0d4ba1c981c3b0ae3101f1be878924a45a784cbf5bbcbd13b88a610689331b746ad909d0d7a8e24bad6f9abce2d118937cd05b4865f369e1640d41f83bbbcffa6a90c5440f5b99db135d6db246ba7f3d89d2c09ed64a74aff81e69060e8c2306b6ae628ae4d82804127d96940ebb5d9c62518edaf854e7a15e26c4a6739f00e095280645bbe2fec70c704473df30261ec0661dac956a51b186c4eb2d8760d98c12302168cea2f2797252113d971c641320a598f1d9cec0d2b63cfbbc5954e96e922bc5fec86ba5d3bc2fad57843ae276370325afb300c3af1fef0bed7c4f23f13928478e8aa3d5c1bc6d1da0e9f389676076937ffb7cedb96daaeff168e209e620b83ec29b6eff6a4d91d04ac0814022762ca2883521e0a7ddf987552e851d12e8d46a240554b4680bb112f1608580cd14521bfbc16694376bc4a4a69c7419c20ef508c70ffe0ee8ea861ba5c5b0a9372c07865e4f80789fac488812c967f1191846e088f993300dec28b9b22a9601b32ee285200a2e9edc36879b4c82b29f09f99c6c86740e23377570ed8993224dd8e0ff1d7d04b92e993cc10eb25800185b6ffe9c6c4e0570811eee9bb2c8ca33a9b1e5201d41acf79fff754067534d2a3344864b3d6ace012d76fc3163c539250912e18209ac362720271e4f5565a4f2e26517725e6c8eae0b329e4ef5fca172a2cdd1c337779e0790051a0c52c21eea054a694cf2d0be53578a6e03270638ac4abe4478e6a18393aaf1e6e14a3db34f0bc8c8b00e2f715c8710149f1feff062a9a8b6c42748f10801bfa5c9f9cbc517a788af00bcfd8596e9928c0f03faac1d63fd34f68b956afab8f9c5f5638e44c90df408103b08469ac436b93b888c6578ade5a45f22df849f704312ba0f21a562a3b3d995a4ed67184a6ff0c15df426a3cfcd77e1147697e43483366464c37af7f86fdbc2aebefe54f7d2df543817f95cbc0cbbf0b7cc3fa64f0876e2220e5be640d9746e3cd84c3ac7f325737d535bb9f753487f6be0b09e7c8fa9b98de721621edfdeb332f4c4ee5087d16240226475b2b39163725aa395669274da4530809b04fd294ae552f7f7d3c9c669b479771299cec8c320c9827fbc872e190ad231621d8612a219dc21e47983bfd3631103efbe0718bee92c1704f22ed2503ca0220fbfc5b3c8ad764a3a5f08fa04f9843d405ec4021a0f0a0a19658447ac3dd72b9c5ae28550c4a64885fe1c990c0c9ec5e3d2190faa8475dd20531e6f08423251a8d73a142133bf6ceacc3f32f87aeb90480d602c57b806cd8084e026fdf0e5748b85274d31425cabe841baeb029125a0fc5a1d557f1d7e9b8be410f0bf471fa8ce5c0c73c783cf5bda4616b6c8962e8ad701bf384c878f611e7a637e75504a8f84d5be75c131f6c09d609ad260b1763ec40712a5b5b0288ab9f2f4dd6b7b2bc5329b5512238ef51a097ea909368069a8eac3bf21f5be1f93ccba1e3429e6487ddb25afcb1566d39d7ca45fd5352da1b074bf1c9fbe73a2641e31270835e9aeb29e81946de441b98a49076613ac6128960db5bf0b21766353dd0cdf5d26a5af5848ca4026e8bb361105ea6eaa18d59a743fc886a23f0259be2048a0063a37fd564714dc74c42b78fce494d3dba563a5a28a8967b21c741d668e35850e88b15e3c7ec531870851624b8fbc90416aab57236c7e0638904b289fe636fb415a62a92fec3e6e5cbcc06d49379ca8a44cc3d32d5509b43ce5032e2c928296a1c9cc86db003ab3ef4b3e4836e3e0e452134b039bc09416f1f286ea9bd2a062c56c03c044351006dffaf19c6b78454b9acb7564451069cbede1a224d89f7a10374c01dc71e10dca2589a3d7d7781c7ae6746e9b46ba4581c97ca95283510f21850067825dd9497cc4a8b98c1364e4ea3bb5b7bb79ecd01ec00b1b0a42e5ad39306b8af47e42cdd07cbea40e592ef4560dc1021c47b11759b0d34be52933bd249d21e263f4d9870b5801474b23d90cf53c12693172d01e73e7e7220bba902b084c13d86f1bbc8da3a43bf6ae281ea9203e2fd4b7fd41f5b107021908a62245e5c14b3037eb49916a262af9921ee0b6c3d7015110b23693b90d9e3692a571f89d10590e13f22dda9848492d63a27c6b8f06e4ad96dcb4db1d61630844a0557ddae30e17fddc398ee30de5cddfe5796dfc5fbfcf63a46567902e37e8470f1f4e39435b2443e0e4f403cb508afb51fe5a4c686637f28d91970c8b0152c8eb85609f4b081372c18d6edfedaf5a91c9106b4b7d32a963c901f83377d5e5700e034112801707e32406a0842471089fbaa698488b65f154ad38e43510131d326340726ead324eb839f608752395c20fa3b07f511a5bf0c3925a85c60770a1457b3b01066472c79fe4776c66a6c658c866045d2609e90862e7b997039aef98f746a8840e71c47a122c5d40511e3519a808f148b8641fe16707720a9acc476a0f0c973eb5f4e7a12520e03c67e9c4715dd421431c793e1346ee71e02a043a13d90ab66167e710071f770121a74a116a8455cb0746fedb15f3d29ffce93edef1204d1c9b667abec9c09a23d21ada5cfb4d26caf8f986b671ee986dbc17741869fa23cc6919b6f6eb2df6b805f11d6f5084d4b3c58c7272716c2798fce3723e3509c1218d536871818a7fa46104fd1e6015a65713d08441eff378179cd0a7493f0ff5f2abf790707407724fed6f1ed63e965e486e07d4ffc94fba574035c0979ded309ff8231ebf9765edc41cd7e286594ed2f3de4d6d3003d3e6f727b9e66791ee1cca50dec2a3390d4d5f4e6377449be1f1b3f122b2f6e9537e644d083246603db51076a4184dde7749d375d3792482829e364eeec07a946ea5c20eff3f8b99f0d1ee9b0bb0c6780e3302bd67b522adc2ecc0fb69629a066f72cace2b6d5bc8422f2b591c9be8cf2ada840527433feb924c39875cdf6a95f700916abb34097f438094a662a9170ee8140f46efa399ca0f7544d62379b7a2345d4d0cf60723305b45e12f8c4f159ef661c4eb895a145c79e043cd2692698c6fc98dc10ee2aa84405ae3dceaec3d64b678c1b44dc6151e200136ca13c9e1a1d70615ec4eb6a6ce3c3c8e0072d17ac8926bb0600ba1ea3ec8c72691e902fb5eaed8b0caeb9b3364c9ea0c8c82af1cae4a1394b930fb577300eaa7f5b447a3ea96dd38e5467e0ea7173f47b7ab0eb69e049a28a8702887ddb98105faa1fc7d2d26ed81d51de4d65199bf42c82fd7d4edf0b2444a5ea73a0e6e7b335fa49004f7c1f7d26de26dbae0f9c6ae40a17e00242871d86ad1b8db9b2ef8671d9e785e4528853826a4229a1ed5c711584b8feaf5064dabc000a9a8511e13ce38a30d6f11a77c87f25b9907c58eeb79942cf8078cc8266a7d8602c1076a4519b51e63b615ae23db091691c863cbd5379240010ddbd3cb40b217d68e85ce9cfeaa2056d8ef605478eef674d952f266eeb3c465114697115ce72038ed51375e4693ca1865bc2bdbc5c2b43594c0d22acfcb8e3132b75288ce7f6c0e00950c1f73b35abd8303c1eb583421305036dc40a980a1ab01e58a73c86b1cc0c1d77a7a35017f3a3d879c3d1f0bcc675f13ae3eb9caaa64ff5d42cd31b3d5c2a92781a3b3b089257e7f0bb1abd4daab33f72b58917c29cd0c66e993a184fe7ef153508c1b5b18950540562379794c1fd038814f6dcce82e700a9577ebf0ef4d479daf5caec127eb78bfface4390f0447ba59fc7337182458a60dfc3883c0fd8b7b4dab4264219c876527e02b3bcf50da8f7dd472c90487537481cd11d3fb7cd960b5e36ed9c9c5018d0f4f96d2a8ba56eb278d60e03c9ccc3258d1ed46e840db37d26c7ebea78b1210519abb85b284e354833eb7c41858970086725e4462e8723bc03663c81c1d0b8e3705bb9a7198b90b63d2eadf9977a4394e3c6c0c7103ffc66434f0c0510ca22280f5179afbbba0858a76a766c1b3748ac5582d38bef2d118a50401757702566f25d14ec762d5dfb73bf25285a3a366b24f1c84e58f131dc7ec023727928e2056a80b0e88ba5c326e4b9c876ca6f182ec4fe15b02d8c75bc1df82e786d3f6a770ca8f9ba14cb7df9e7e82b45457c76b8a33840ce6537fae908ccd4de029d6894c0da633a8e540c9ef6f9834138c26872036cd68eb5d6e1b93d00664bb7f571ef98c6eb81884a79daa78945557cde22e6093de5069cdd33338d749eb20da76243281dec899cc5ef6607509c83cbb69b5e1ceabbc5e070a294bb6c51756ddcc478ca26e15f9893a4343b31872c7dd1b1dba464b0055de8d20036296007abd84a4b424cbc2ee46f0c742b8df9dcc2f76d7001c81ad3818959c4abd7b0031980240a269b14073dd85da7cbac887ccd43140aa41e1ccb1a63b9ee4b4f283a98024deb9668259e1fc28271b35f303d3f2bd980ceb0ea2212060ca555c3d154aa79799ecbab3b3ff074867cebf2a8bcd830b1e82ca1bb22391b18a8a4cb7d1dc0c2704af72dd6b5ce0033101f0ebfb8fb4d336913012c04541d6d06a4a90c3ce8110cdd12134c1b52139c9d0871c9c1eac446d8f6dc94d1ba7e9109eac0eb30d40aacc37bef9873bf4d1ca56b4cba9400e5ad72aa884887c8c62ee5d13eea7f321726aff181a8594f84db9da4adcab22349874b9818096930554d185838f4e2d6d44712d0f7c654db159abe13152f98842f0f7f20ba2334d097463e0091cd072ab7788d6ba3a765acf47f0d0dde099b05c07c5bfdbe7fa1cec639de682e9cc8fcb8de1a6ad08c8062773bf88ec619db28152c46235b4bdaaeceb3e25d4c026cc30a908bab852adb067d741db5377f0b4de08dc0e4d5d7f9764e410aacbaf2b866230fcfd321e01fb3a8964633a4d2de809229ab7a8e25420981aad02c4ed00aacba0304f5010a10ff5208248e0b4214dff091340245204a459c028e17a2b677f20155343407c23b053d147c82187de1e05408b542fd9d35c9a79cf11440d2a5b875ae9bf28226b66a2485a5ba3de2142f5a303f402f402f602e629488f9701b685ce48ce371f2af6788345b9d55761e014873fb9a29bfb93e8a41ce49420b0d84c9bb88acaa8bffd45208f7b3e3af6a0b61761305b8ecc8de6a15d96b86d7952bdcfa16e657e24caf2400a7e8ccf3161dcbba79db9c7857433ffb4a24f5ab20d1dfa82d9b9e97c8192b4633aeed80e499dec6e465ef5653816e1dd869a686df333e5e19d2740a2cc1e23baa96306e3acdb508d3dbe7942c5f2d880ed71f58663e3853411eb0d8a897ac2f4bd7de0ee4e1b38b2967d7b56864cd415301d0d55a1bb63337f02c37c68f9c7d71416123a9a876bcaf0c38c35e3edde500ac0ba46d1379444172fe7e3f1b889992cfbffd1096796c57812040d3ec432d3f41c72e086b7dd6d8283c1c0792510bb26858e41f8b27b599e4c8e5d0f387c218364f339374b37751326662c44a199ee8da7ab63df7552848eba218e7e876b27bef4c2528474c227d1b429381973226ef6e836ac11d19804afc26824c26f4561378fd335b125c0f1e484c249367fa80a88a7a1973093879fdec6640c922c938a6269e9dfecfb327bc0618b1a92d74355647a033a7f88647185b5d370e7e84b01dfd864488491d02091316cac3db0c195469d87f2fe351d43ba23bc929ace223424c99a2aeb1b629d444064616a28e851ad27558cf3f90f6184ab25e9b446261ee83d47bb63d722d64be12732641bb7e460796309f244f65be7695bb8aef6fbd5e17a15895e2dac57860a510b166924286ae948c717b54a2435a0d014f97cea3096a30cd27bf0745698b70b8505226d999f1b775b83b749694240075bccf92e113162219d538f1ed6d7da596378ab9e7740d55b4302bdf384848867220828cf61c84f638cb256a9317d1e5cf6a4ed694d094caee60c2537018d1cd80149ab51df5cb944137e282f607d8e0d9d7368566df320594153b15ca41f2f6ceb52d8d120714947cbf60d18e9562ce409275d5c66a539ba1c0dc97a87a412f4bbf3fb8953563bba88f8348e8d7ba73c1e5abd1465cc9e46e2b4647b145fc30a63b7c6c042d8c8614c78d97dcfa5aa62e70fdf58fb1f0422c4919f54f5a82e4ac7865779b89bc22b62f25e6a603083b855f5ab16463dd30316ec00555a62c0ed8d90ef8702b28e0edb9d75bf17f59f9fbf69fc58bb264d6db6f5af41a1d6f960da641eaa51efef7c7fb506590af22f16eeead787f5fe8bb4bfcb8219c2e006f6c78eb1e8d411d1b97484031b9778f04fe6db0b37df1bdaa29711ae05c273ac728ad0454c2538b026c1a6ded1498346c5ea02116a4d2a8378d07c5070161c110088c654446d0796201bc61fea7a39df2e6cb942c675a7ec806a775f63db15d5008195bce020768d8fcd045287e3b68a4b84fa7b35c57a89cc6c1966b9dcc6659dc1291fa528513390effa9063121c69bd8b7253c1e77d81a666f58b071ae7c09090c59bd213cd8a8de7be65166cc148ef7c46dd74e1c667cef1a699be943b01f40c9af73a9b03c3e93b2e467e2bbd8d7da437fd0c51d97f97f55614cf98d45bfea7eac364e625992d4722bb2a2a986ad33118bfe1345b5f58a375c301c8dae3fe0c5311c7a6e2eb23e5e6b0814eb2dd0f191d72ff8b36277dd23930a3bc929057bb098f35ea31c11d8cd97466fe94982d968bed6319d0f5fc80f51299d9f2174c769f8ea371003d33c5084c152b7ad798af2b1d6970c621e2accfbf43fe589f448972a52c09ccbe7b0206797765fe7549d95d59d0d1428e2a3225ee68ab77b95a1fb4667cbfc58eaf72806f34c5d757f1ddaef8fe1aa4a26bfe04ab360200817a72f9525264c2cee1ad5d151c142c5a123c64393f855dd2edc63b452acac728a698917061dea67e5a7cad560c6591f79bd10f416f2e8693af024300098d24a44de07fa69b79f261f21201bbdd9f28a797550abdf59281a234ffaea67ffd09e9af5a9fe34525c3a978e4afe7644a05034eca2fee67129d7a567e1a5021e6e51ad34d6391478b4bcc082b847f3ec96db6f55ee6a9b523052cc11d7a991a5332e1bf527d37bb96ff944339aff18b19b5715f7ab2c29896e9291ca4436501168be8e61a9b58bd304764e1560178e6b09856082343522a826032bb7db94562ace502297a9661ad3c5a56bc2f4a3b3096e82f1018701d6f6566cb7376d90c1d8e4b52656175243c6e494fd40515842a4229a1a2503ed416ead7a9fc823184c50a489ea6432a40220eff7eb990202a7628c149a53f51c5db73840b249d35ecfd5bb594ca2f5814527e90dfb835b0cd52579d2bb12c71eb7524ef0e135b619c1142160b25104c1154e5400388e81bbc07cbae8e57e36bf651e2594d98d7f8097d3a3c34069a7c13cdbbbc70b998ce53f6bb88d9213808f8c418efb05c2d3d0f61250de42c392e5fd6e8f876c8e8c82a2422a3b11255d117c19237589d6f9b5f37e121aeb42558af0dac13000d6e2c417c866070827e23b0671ac869aad4c1c9aebdfe793b2e211d309c686cf4d7af5e2b568458bd6a28572f962a4bade3a6e5124cdc175afcc67eaadde42d41bf0feb158947fb3d2f22fc1e9b133d95a52b629f05518f4c335f5da2d304e293a84253b9871b00a8607492ccce063be38e54186cc948582777d2307467cec8646f39220e1b42b8e98fed9ca2b835555705fc7fe8658cb8483c48d5a7c79c25cffbb722c955e223d557f50bab42535729125ec237f5618bcaa8bffd47381a575b1e344b2b9dca2f5854465bd8f8530fbc792aa30003a7e794274fe12e6d8134a4f5cbdd077178c7a9944f8339bd64e1313efe48fb352921828d0c33c4dfc9fc77a1ceb40bb6c556765c5e938007e4cf70497378ffbf34fdaa3cc37af482c4b898737c590707639937671d909a9cc3f786e51c8453cef251641d6fbb48c6e17c5641af9fe9a16d6eb3db7210122c13142dba2dd088a160d2e6246003346ca2906f22540d3f2e02af3b9e5a266613764f3fbe8e20bc18cac107d4d8cc0ee7e9dcd88db6c91717df4cccb97cb0d34f89e151f1f8de137f52c16be1bbb36704e589c0d4b0ad6edb8d210934c81264b4d10d941a444fada366c2e9ea719ee58d52c443a493841ad3dc0214d068faaf3248eec917ed6c0780d5b39c7d086eaeb13c8451971027b99e9ce5d23f92100d9b444d6c13b4c855970d91bb90a0d36d587b76bd5d0456c45b400b3ee4e61f8c7783f8a16e0a1381ae94dcd312481f3aa039e2f97625f8dd8705878ce3e9a61bcd270eee88a106698cb2d273ead94074e7a23962a5bd9f55e1621355389c00a76a7c276e24f1bf39b44568112552202bb6dc6d0fa9401954a1655e74bfa2a22c5d3e28d209544cdc557c927e76d5ef04ef67705461afdc76d83624bdec6d7e8177a4e59e6b6195d9c5987d45babbae67da15490b82559b99297f205f5720bff7e0055d0e21f762622bbd396af655507e1388fd67ffab3b414041bd9e84cc0b29cb2214a70852476883d1dea3b65db1f2388f3f92e4fdd5efe18cdb20a450d7c3c221489fef969cd7edb3fac7e8f74f7f81b010d2e93a840a6841c452d154bf3e54ed879e560d07a3daa5e61bf5fdfbd7709e64ad325983dc032c054924e90fa4ac32c71bdde85eaf46a5c727acdf383021f7b26e6bc970bb1e7008e3875440a638c10c4fca39ee398b42efb6590aa7efbbc89561ea2cdd6b3e9b3958c67ec3437563c454d306c2a8faf9ea8c9741c85944d965b85d8b576f25e3e9596eec7ac021d239152105db875b3f3d6cf98a869e100e785424e5da69bcf25113c9f5d7fcbe0ce0bdd96bc12937f9548c959740b29686c900093ced1f6a5b9836e7ebdd149ad305e456c3ec99a64156e80b44518e9649cba21adea92b3b99f59ce2c29feb8f1ac432ed393592b628f46f1401e8e7342d3de6ae19f41c5dbc2ebe4e880bdf04c1f724ad333223d3e536dedffe63f4dbc50add05efe5025271719df8f08fd1ef1669ba5aed078053e2a25b129433fb63e5f43ad182dccb4d209d2fe453d7eafc9324a2f5499e30ed843b4133c5282e27c6c2ed7ac021d239433c1d87e8ff174a4aeb916fa76074305ba05f8cff1e39541b5b1fe5f606a945d48369d3d4f8d171a0568c9ce6ba6dfee6e7db1b0f37750f30b022253dd299790df6886e02930749cbbcfcdcc17d338de0be8758bf605119f5b71ec69f88d7d265fd538bbcb5b3645374eef1b97d691e32e4afa5621e989357031c1495c6ebdb275d810f39d534f57e8448212d0f9e8a2d010a3ab18fa50ddabdf24b3396035ad515ee0b144a99168813b8540d73d9850030fc014440c2c00f2183840280838409080280800c0e060200d000086000000800080000000a015e068b9564a38af7c78f7ed1005e1d5c21f238218de4c63bb92f37c94dad62b29c9bde12202b0c6130f25cab3e6744d28ce50e09a25c24172d9a60e9ab018acfc232ebac053e431db3fafd7e08e24f1d1ea90ad94adcaa0eaab3389453fdfe6fd22115f2e76e171221bdcd5946500913619d310276355406091f78bb96a2852233034efcb8d870c766ec51f021a9b0dbcba159d992b370d5088cfff50c48dafd5a0112d8267bbee4c2a09eb3aec415cdda9767a32c33f1ed0a04ff0a8eb47e9b7032db5845f8dee473bf45c3eb679ab72cb6ec2a79596d5fe782bbaacf1b9b889189f5323179ed923c61a9288e1a1dfbe6744fa58c3e283243694907ef3b56f0b6b0bc6ec150a1a56e2deb588b253e892c8a738f016ecbc1579a471fb7376c62cec499f14822594f010b54af8355c626970e3703067aa797e965403776f0bcd3fe4a71e018777c8f8aaeae21f72a26069e6d402e2854fe81f2d71389348baf3d83aba9e071fe134f11560e0f790e8b6ffa4f2c0973bb437551b5488c35763b504485396a6205692ed7edf7d3b216e62cf4634d477768491aa17ae0a90e5c30f7992cca21519a4193ec76d7d7f45a6baa5aa78755fa2a7ebdb3cf5310de813b00950fcf8da73b46ade9ea936c0f472f60359ed2924a78809740043c4e7920572aebfbaa525d93ba26eb8b8767ae1a0dadf44e93e565574e7374e5b76ef4ca9d684c109b5d92ab885cc46f06dc418517d9d894027e888ef3c2884110644f1c1fc5476c6d4d3072e6d7141715b5418ef7640fc27089951ea8be4bba3473c649d278bf01391978656840e89690d5e13c0a5c2053fca1d5806cc47f2ab43ea38ec86cf291b778da0861775ac6376e3df8926f1d6a953b51986056b6705c6289246661a9fca3241ef05200de5ea112df4fe8d2d34aee17d6324f6037666434bb084e6c6036a507b053f384749c2750e3caa2eab88f42759e85223808d257cc9a499454161af12fa84d6497ffee0d818a349e85c67b052fc248dea29f6517902095bd0bf94a99c4fcccfdca690d4dad9d7813a2ab85821d7d15fedad04b19c2fc4a32403187ef49766070fb0cfaa97d7a8384ed0314d0f5ef5409229a38a6f3605847baf299b567a37c282d831ffdfabdae993baadc03e138eb6876b40f42ab48292b4b5c2437eda5059ad6f0eefc59246ec502734108f4c5fde2609a4403b3ece5c8373a19bd8e44ebeeda6423f5bb1bfc982eff65c295439c81ef7f20edc40a246385e587217c09e9b7e2ee59a46959e9b6fc921fa37df814f9d7d7df9bc3bd32342824981eda3c5a8036423ae099e9249c4022ef1e8f7dbf33e95e7c821d58e922c0178df719178dd2cd4503676dea5e4b2eb8f6f7eeaabad167806e3043a0c451c75a063c73782358b04ea407080bb4ca42cdfbc42756b779a85ec4ef0f6284e3950f82e909e54ca71e149f25f03baeafa1b443a8ecb4555460f2e9a3093b6f5b67c4892223f0d25288faa8f4df5e1dfa1e3d025c4da1eff06543b89764a19d561b46ba478394472f1ad1e229c105e904a949d04faf0a766a10421101159659ac043f4dff41e5cc89c1aa5b030e4fcfa8bd2fb8ae89daf32329acae21fb0ea1d893f7565a519f53d2dc7bf2fe1c9c41d0c479b509d340c7a02e52521a046b4a96366e981a242bccc4a8ffd52cd5a052e72a063e7624b30562e0ce4cd1de1150229bc17ebe54bf44e954166af8e1cfafb1f4528622fe25b543751ba8d27e8b06f21d727f968c562decf10d65830a3c84544d7f3c3160b675d215b17726efcc70367af0b7e46de820810a0d4327f68164a66b1c3c45fcf1b5270ed52f83b188a3cee5edaccc1f49c207198a91eea3c36450582948b527046785553d16110f7305f1174444166d6c352bf440e78f5e42ff54352e2685feb2c48883c1051e52ccdfaa3c6627f8b395e938ed3fff8b85557c4b70fb1b75c35b92a88d6cd68b9ed4c014689911923f72f730d988cc9760235f5e8f9dae16d71f08f483c71d188bc321d98d503a84d1581486349f7b5dc32e3e6e363eebf1ddf6792c585776ce3b491a2a07b2841308355615a22cedafe70b61d6d7284afb741ee2a3f9fcf387cb89d1e8e16d7dba694388533057175b82e40764602129ff543c85bfcadfc662aba4c5a301f3a3f9524725b5b7a04069fb65db704b5526caeb16e161ad009c27978538e753a6d0ad31e85d64cea7c51ae21a67799390e911d9cc97856cca476a695b4d6be4415864460c7461c7b6582f549eb26579b5f8466c45bbfa42fb6d8660893b3cc7fccfbd8e6846cceb9ce5e45025033f8a51e505e4f73fbefb2df97d8d14671826c6147e986a6145f14487d100ff76d82328c77791b96645af48e78bcc1be9caaec32bb28356300b9dada5936889cb73797ebe4c2e0698371cb160785e39bafdecf0561d946f4bfad4d32b24ad8c19e833571382f9d4776d8649c04906d2b8c7e6325712e0ed05de1e4026aee9b2cf3442f951ba159f4a5213c4e19bb2bc4aed5870749d111a3b414d371d15ff0f58300001fa31e3ca4229d1fa7a82f1b7c7a037aaddf569f4f8f074c088883a88422adacaf148059a49539fe104bfee3ce470704b2e7adf0c87035720a4d2cb420108ed16e50c1f21e906ed2d6baa8923303b59cc413ee1fd4273ce3369c9899f16d42c373585eb324c3b95e31f5fcd80b62fa8cca9e9d8b1a3990fa948dcc615124b0d307767ecc362ee5a86b6877ae72d95d10e888b023fe664eede42e06b2a01a1206f9e4f2ddaf1d91a2cd6afd7828d3f388a127b0aa04125b51a900f88a8c5e39aac6b501decaecde354ab9a0be2fb5f8a420987dbccba28e515ec9128cd36fd72c4c01ecf2a090de0f9d5b1456d9753e4cb5ed973346ab976633a80593b666fe6d4d15720bfc834109191328ab3a50c94acbe7428ea3a3f367d82a8a57e4db2f4b8372982375d30f8b522df552fc7cd5da2928298cd95f32b3b18d0459a40105b90e2a48d39144c7e6c01db007cc4ce50cf93d11ea47c0612f1da05dfaa444d0aaac803e05efbce2605379fa33f7ae04e1c97888075b3b5a2db02ac7440282d5ea515adaab442d306dbf4f0b7f53ec09454ad6dc5d54acfe356b678bd8b968f0b1a018422473ecb69a0378a6ecaa012cf5fbf908b33fb0d612453373a036bd46d1b1fdf6e88278e3f5337d7c2aa9932ff7b9c1dc027b3a59d9003f30a6f349ebf1306a540c2cbbede269e8e87983099513652b6a5b6a449efd860622a29eb3a86dd366caac24c7d00aaaab92d1a48b8cb84d3761d98d74d33e15e0682eebc611d39eef1f71e211988cf1b901ae1ce03a8e9853c6d4f1cfaa0b412dc5877014e8c496034d13f050d922dde6e7be5952f4b37a7912d7d9bf0024cdf4fcdedcd7b1a703d9a03e969145084a345d2f2d2819758ef17dfde8cca907e076c55a7cbfdc33e285d724aa66bfedc8b9acde5114568cf0208101eefbd875e7455a679e10922b2b03dafa6fb72efd892d4c9926e17153e3a0ab08425d6b700b2472180176dde7254190ea9c7493b5528f028d1682005fbb12568d67a778a377cd3058f8a1b8d1f73446d15c4593341a80afc5cdc78581d57173de10767b2d047b93e736218973873bce5d62ce489ab953c84dc9f209b28950117548c9e0a4fa5a555435891114102cd29d75756e81311dd8dca1ac8616b487852ae2200d90d4ffe9251fa93d50a7505bdc82359ee5a24a9ae1f7ad168387fbefc9f03404c909eaabc4917006fb326fa99b74a33ac0b4e7a5e006cd6e9250d801cdd77a0106416fab091cfc8a07f1aea0f4bfdc1be44343a9414521fb635b90be0be486609df3c122333dae64493c79cb468e4ec3800191c1b6cee49521fbc1d5c8b0b785d1e54d202fee5d0ffc34ee8eea8220679ef38e11e3c3791fe3a4edc0c8994404f3171f570d3e65ceebfa78f37948c1979276aba1a51c09835452f46c76929d371aae0c4610fa14716a3c7aded293c88798c4d3a9455a076f3d282b767f5b7d2a71754843a56240b57973f65c6e8baa760b43e3263649001ca8e65f1bcbe8ceeb436862f57e053d04e015de33100f6cb91267841d84c2fff59ec4721a40ca568e8d4790ed347e755829f029c44c8c86afd567e305317b9f9ca5266bfcea84fbe91da9d887bd0e94187932e0fbafe4387fdebc8a3b895fdabdf547458aacbb093d3968aeae05695c8a6400ec0007212e296b61d2c92c96609b82861d8cba67b371872065adb2afa31e6e00275853974feaa7de82aca17cf152baab83d55688614975a4e0641f7b30ba2b4bf5f0df2457dcace09f75be98e8eadab32660f96e41a1e3660ed08b9d4d6592a2b808f8d900625be0468517b44818a197f6d32c513fba9bfb4d6cc8127acfef9201ed4b9af8627279523a89c321756bd7b34b1fdbb8e5f9f26fee546c74f6ae26d96b07e2c9cf137dff755dc1f7c3edf63b531c0495af4bd5d329511690ee6c53428aa46015dc5486c0bbe917cf4ba2fd726783edd0162bf9c9e97c20fc7ade6cdb79591b87c1f2970e79a50331557b5807b6b0ce1e37f4119a961d48b277e7996d9fe3c5b473fd58f6eb3584b7bced06c07c35b1831cd4ca4f5e252f33815141148526b521cce487698b607c92bba0e4ea8364ce39b44cb63807e2508de38a7b24af482009d13d111891abca202aef7f1b1a674221f392c7708ee9d013752df7d3600ba85bb55e5421ea8ebe180c30f9a725c4f67ac74a256130a43563cd763bad09f5996d8e2089b5c7bf6cc5c871bfba26b4c8df13a367a6ef6680737570352fe9425dd62b7c68d82829e540f5382a5cdfb8ccfc66e61402561b2d323d2b54f1dac7ed588f303642bef75721d68e878ef1a3553cdaee557d605b7e02c59b01aea5a452e708608437c38b01faa14635215aaaba7378f356c7bd8cd6362f4bd6334ae432a062f7ef53bec89a39b3384fe97e40ac97ed8a6462e44d9296c627bef81e6a08b2940eb2a3d9c7b2260ec413e6c23d873f1331eb8b886967f52cd368bce66c9b8abcb502c7303c325133b07df70134ccdddb9fa31b5270ff0096bdeb0daa235384c607d60d0dfe3a7389ad6f871082178f41fb146361aa27b9f6c78b1d5f4318ff9d0294039b0bd44db2737546f191bf0f552cba97c06020a10c4bf3a93696fab7550d5c3e4e1da7b9e75877e43a64fb1c6821d0645384b0ab7de85a3f3babc9664181c11f0775b01a865b4d2876e598f5e83aea1916cbc539ed0a757a529a0007c3c943991a8bf9b4f910241c254877264df9bf6182399eb4a41b17eeb3a904790ce166eb38091f0f93c98fd5d72e582e693e33bc986c57e41bd9fa9c0dc7dc4cebd81a5e3622cce851b5785903e8421172151951612ffac4aa96a230ca160077da874a5bb6ae707fad51d0cb626b85d555c89a84e8e13ed43a511e8fa4f4cf4ee76d0708a15e78197cafd94041e2a7f2a3acf89cbcb700a638adc2f52b63ffe13b5a17902edd3918769eac781561321f70b418b8aa0fe85436701289650ac401d8b7bd253455cd10e1132e13c91e52161d1abf3c35158a3d135ca16d9f3eb6d6d083952c1ab55d2b8756e2655fdd5d5a664e8f347726c328ed33b249006c22a0eebda727e6472ca3378032ef54fe4dec325325d22195e2241d4c99fdbd54ef0d65a9ab75d8395746a905fbd795ea0726b44d743447be6d166b154084595d271289cf525e0765028e883f8ae6b3e4a3b8ae78e335f1533b556e624a14275fa03aaeb691cbcafa698e55ec211912e8a92bfb69c4b7f50622c4b04a1998184919497fc9db2c657dfabefbe3d66ba1141fed4d08b24a11242733c49c912eb536f3e2f20ca82aa40949a09a387bd20a48347ca3011973a23a79b8d8b2216ee3dcf2a4b1889b246463f127ba51d15699014bc4463d646a54bb1a86ecc118b4ed16e24b18a5628e7e601db9fe77640d513631725011fbf12fab54c15a1ab1127639b8094c12129e8928208a46f8535309b18b87e880b3a6da5757295ba6710942e60b5a0df883920ddbe40d25e05170e5e0bd52a78d89861003d94323ea24c7a39807f8294e25458ff51fe7cca816a1a59b936fe3899680283843b90931d867440c1804ebb343aa056c63616f469d53a239014ba47ea4d09b06267f917f1d9ceca10b0f048f0280b8782cb4e3d449ba75f2a762d4ee3b7a5e8c09b2b54f4eec85e2504e906d0310b449a22b3c7f2fa63f896114a052d62b8e216ec049b6cd744a44752eef35d1ea4461415009410f3c7bca64cb4aca49c948c84038ecba2abd2c2a5d68705fbaf93cdc39896c4f8f7b7caf9ddd993d6839b978805b481eaecd6c489ca5d19c8af04aa4a108cbf4a8407e0f88d01c0e0ee4be8faa19a8adfacbafe96a2cf8905a5e2ce9e86b18efb319303ff07fdc3c898f501bcc5a3ceb6c39a9fcfbdc18a05b5b1c6ae9cb1e3f85426c0a109dee5caf8de4a0be88252e0d8d009a2d4eeefccd38a9bd700db85e9fff5f0dcc46811c388d204bf88d28b0512dad6ceb08852a888b0018afaa6b5d8999fa3fabed2ff8c05cc9bc6a7becabdae02fa01a0ec98ec90ec88ec80ecf8ebf0eb12f8ed02f90a81eaf8e703cee6c8e0c8c4af95d8dd8d05e2ccdefff9a7f1c63a9a09f4c3c8834880aef812c010306902062160308861081c8621280912824f101e314e4188794baa42f827b796c3d520db91488d16db88724756401031f8b1e2f3fc2dadfee24d863b280941f0e95942d64ec4adcc7c56695f019ba9d39b8cdc43ed7ceb29e3d912a8d4460df32cffbd9c8098a81204e1a4d70035191935627fbbc2d1d75c0259187c69a13ebf4ab29d9b6d075da9399d7518ea3a3018ead2f22704bfc2e84aed5291418b66eb5ac21b44d052911f7f226a4bb89f84f7234d46b830ae9762b7898e829595e3ed8ca898164c805fbe2e2d4ed46fa38a614a1082dc3d0aaf68c93fbbbcb3539af2edc9c0764d7c29e69b68e6233206d0081a8f488df2886cc0a1a9ff871ce465a6170483956052e9d2a9f487b2869165fbbca0925f9e2fd7bbe6c3369a62a521f1287890221fed7e6c8e2a03db8c4eac2af0683ca01644d37f2ed2dfa4cffc983bdb2c8a83b93c69904fc2a7f1b48665b76e9241f88e9281e2f74020d10ba89197d551b09afd2dc21849effa67c09f6fa06c3cf38ea423ed2cfe4f32082c9b321d2ff5d8b87c07a8e623e371a21d90a2623a44130074120af2a4a2c90bb001f884b01616b0a2b580d4baedd19d241fd9898e05e0f282a3c181cdd57d19fbf20f89a2ddc09ef3c9feafc8f38a8f05c8cb92eeeeff95d188ce0bc6d4a4a70eb4891be9b10610dc0cd50710c20dcd0810ddc30a10f70bb11210ac9fea0895c60e8e8d0f87a3edb0b60bdd10109507d4091098c01410ebad1310eb099d86970610869007109b0f88c5c6aabf0e80ccf9afc6f0af9407eb051092e3afbb8ba782dabcd2c708c50d10840e880310c1af1610cd0afaaef0dc0510a2ca0410cdaea7950c10ccfbad1a10f20dd8add3d30510f9cb0810c9c2b707bac608a61410b70b83feacb9e1ace9d1b40cbf1210aa08b40b109534b00410ef0a881bd4f9c8e8e4aadc0bcc0c93bf0be5e50410980fdc0910cd0bac0e970e830c920db7fc09a60780aea8601cd2cdb1bd4068a846cb487252e02090211441d2244638829168e21f9219523dbac710134c7747a0ed1b1f69d256427f1de422158e7e4d4d878aca2f3e0a8203bf13d3b93e8e4ecce6644aae2e1572afd80b5e6e54db6de0b1dae4d4a9c55511607accc466db0e5f41b79e94a91c88c59c17d86ae464c2eb737d568d0be0af6425fff9a2942e3a30f63a4e40a965a149bca09b1210330138bfc402e9653a366843073e50ab4534556bdc4bae9050254fcce9aa5215e537e74b69c50d39ba01adae1cbd422f097573d44ac3f96e3f1c346001363eb1c0a1a0384098a302f543d63cc29c2006b5c18e26ea8a9220ae668910566f0c5516880a8385cfc3c6603d4bbb3f79db68a1d741a4cb4fa30a017547ad04a45c531086b8e107d82e7311610e4f682a83a0ca70401a7747b8a363d8fd0be684b8cfd71d448ec46fc44f01ead7643052400edb39817e1a25e5da236fb55b0cf37b8eb83aa293d78fb82ce4eeef3e91ba1fba745b050734aed07c63df81f40bf2b71141b64fcb807491e9ebb84bb1fc7a24c10c8880c0889208c944649252a694920cfe02fd02de02b7fdbbb64ddb76b72ddab6b945d31ef5e74d447c3e00bd2c02d0a66691db1130f88f32868f1e3cced35f2322ea61544dc9008e106205b032dba1c303cbc8c6c4c2c0727c7975e1f0c3b208ebea860d2e9f7aadfc03be860fea7e8b86cf6bf9721532ae412bd08f5afcebeab3ae3debbaf210d775b8b3ea0883abce2bbe1f7ac3a7e39a35664ef69f974f92f3cf8c9d3b606508ab341233440ae6917c06b59c46a67e76a01cec9f1cfb2c4561262d82ee74b7dbdd14b17644cea00b3ea43f39e942784878417a4c467a1bf88e3e203ec50cffe3f734f7f361138462d3036acb0d0f20d00ce788d3f50e56840c393ae67aec8aa71bc1b2cbe50427d4e17c476c68c4622ea7ac61189108c68304034f8e1e26b29e2f1fe3988fd7fe2adcefa22af65f977a03eec7c4931f1b405163405c417141358c448c5b424c8468dcab2bb576b14d5cd6fec3319495a66d350457d0d07f37fc062ca22bd68db34c6f4556ec090e5572707046506d4632aaf432aeac52b235ed7807e2bbf4e868e9482d72448534c481d45b9418eb00a3a94426ad42e22e29dda9e95e3d4ce50094cc78989a4b2681e092f4a2af4ade48a5a4c1ce4b94c6f80f2e8ed0bdd1f3268155c7be44f4813c3009848fe9de1e15aa49de4d069df197971f928e1e3a20291d191d39141d893668185a858ec620a0e3cff1a8168fdfa78787c8db110e8f479de331d8db47f4781ecd6389a57a3989b2d05800b69c2f7bf7d5ec2dbef058ab0598b9df925d77be0dc6d77fa1d0fbd2ab0ba8f8def2ea1eeffca25398496ec60c5b962b1c466b91a8202489cd6e162ce51be32ff2d6692d311e6c090be653018325a1dceb0bb3b7f72bfeb85c4b8d4f0d43faf7eee5d93ccde25059a4e1f6a668b5cbe46f878d5e56cdf31b10f8dd25ee3d80c14ac00d6134a0e3a1f2fce8febc7fde6abc2108b84643bcb7cf4b10be4432bd148f7fc77ccce7d513f3ede80dc1e11b81ae5be95d3cb274478ac6450f0c4ad76343ab5af02f655bd034689be756e696d08dd1791e03b985627d49c1cc87982e55d8d216665a7638b6102d3ebec27c7201bc495fc2bb262b82e5bd145b3e1c96fba0daef43b789935205f8f48523a22dc7c9465088844667c78e8ea11a47ec45f36ad69b3c277a4cb0f944997da5128a1ca8507e9a5aa01c2f41413aa3714d6865fa60e8040b1aa0a86c508f1065b60d58d49fa2b02cd8cbe128652ffb5bb50fd6869dc201686e04e2cb91d10aa9ebbf639178515a6bde01a8e52168067e938e8c381409198394be4f59f6f010873bc79cb1c9a64cc2b0e0f6232b0cdddb1824d6dadaf7cb342815647c69ee9de1bab8753b6a5498be32fe6a2c715972d65af561ad322411f82b4334a1bbf35dea7daab027dcdef352be9b3233cfe49aaf67054f27efb25bd53df7c8e1f622d6db73b83b2cb01c6aba217ef8c649eb52bd68e6a1e889aa1d9f5f2ebae8c6e478fee8bef7e375ef53bdfcf24c94b416616016f346780d30d46161a8342a6e288dca2be5038031ab5995cc6b9e699ae6d75a6bb3fc597709c3c252a10433af32595350921cd1ba5ac1891c1d143436ae84108255973a31b010608021c944188206420e315f7353e6a210f11273a10b8c392b1964d8b83767e52b317239671d602f702e23e7fce249071d6c658d79924d389de47c2673652be7cf26d69617c2c45034b522832b4d6c04211e8c504385adec967316238587ee74c73baff35dbad1215c6028cad19deef82edd680b5b6288c142d15c77669d14e0adc5fd57964da1965077c066b132cf31e747bf09e8cf3cf67ab454227ffa95ee3e0cbb9dee38e7ed0c4ee40c6ad087f05a349e909e925e101f1312df06bef53facdf0f9b2732363e6e5ab49baf0588e3c402ce7af4733e5a4ece4560d0a7f9970a87f03b61f93a3b24e0866244331ac4301e1eb01ea4187a72f88cf97cfdb08f4c8b2a08c52e3586da7f643f1f080a505990118bf10bfd20426bdb641d6ac30cf5df9886b6dd101cb3a1ffc488b08a3e93140e56ac1bdcffd9e8a8753be27d30723bde79499dff16e90c69e97718dee8f03d9408f300230bdc5f8930ff5cbd75e946dbbab64cd2d46f895aa5e48b0e2402fd0f7feac37afc4a2bfca38b9da61b6daf96722eddfe6f031a18ecb269a1efee2b637c76b32c127d789cb189a2f7e264794b302c01c552637db5b9224c2ffd06be305d83f15de32ebef1beb98ce2db3caff9efe923986085d64df8354f7c9a399bc2acb589f614dddd5d3633c6e3539b3a49098437bbb226d0d6f73c4f0b6e979bef85e05e16e79cb5d6a6794474ae656737f6e2b8e8318b8b39df1308d8668668159e77e77c8fcc8ecde016cf719cc472ecf004201cd7f75fa21bde49c13de72231cd6fcc3d95f77d588245bfe88ee0523044006bd40bd79e9bb73579503962cedea57850306014cda646d1536b4db4d37db9501fe09731eeb5bc87ef364bf4eced1e4f531e6fc4ee5ede33ef736caa6689718a19c3c0cb5df459ab282520a105c4ebee2bb826d11b3ef95157eae29233d68dbd028b0b02e34b529fed0bc79160a40d947ce6ad6832de09a616dd19450a6dcd2ebd93291cb087de2177139eaaf54d8587a5c79666f1f96e63ffca6cd68810b959d3c0358db396b3a6835bc29c223a3b7e7885a8a68547ad476d7fd93ee60afa178b9c51a57e80a882b4502d639ad489c30bb569d85e93374386e080480dc8344e6f38f35b88c8cec81469c5e08094426718b5bbb5a3e4fec023c1a122e80ec854cec3994621a98a27bb5e0d6f43634b0f25326bad36892032cbfc9b24d16705d85bd372ecddbafa81b6d42402cb8e36a2a424b27de5c18048a19024da5aa58c0302e5f22e3ec690a9fc139a2734bbd438ce7fbb5e0252160025ab43f4ef6cf2cd396bbd7b29c3d55fffb22cefcd5feb0cc681617b0d8d33c2ac1942a090660b9a1e32fc84d5a1a8d3b72d6aed2f31b497294cde94b8d5909282465ba986447201c0e998d6a406c493d7928835fdc1a9868722a433c6b295ec47bd2264a57fdaf631a1d613b58387046291e1939d263a9d9c1384c1b91bb54d1464aa9273828cc6819a02548dd80c73ec4a6cffe64f1027786dacd259890e036704a9195e5162716ffac68162570bb54c8d4df3e7c7c97214c5995dac9152ed8640e6e72c8fa7fd350a38f74c86b3ee70599b1d4b69f3ecf7cc3cd16efe138d12e3cd9ba6e6be5abd24bccfeabdea07bf0b5496452c2421e69ba60417e78be4450a4a9cb4e0da67b2f4062db03c913285969c91930584090f79c09a9be4d60fb424289595131e5eba099032253cb46cd040203b95a490000c5ea370428480f4b3e6dedeeff04ed338b325384df746558db3c6fbf2a8e4c20b696333b818211322c764cd058113d202cd2f8f486131e8c05ea83a32b69ea90323a64d0ac71923bb9b691cb9c4857501c9d6dc333ee1d60c21bca4097641f33376eb8a675f82555ed6a640a1bd3135713bda909282abad550bb2219d5a703aae35812d3d65512a5263e4b19afda8230861fd283e2698f444f5e03181683c320491b6d3e4824e4e18617b638c42b4cb049942c8710107ea03a06a3324db95d0b19590ea892ba80ea6292251f170bedc378350a38d5839a80c2f4b24a41e320e04dbc21921c2e81f1f2a8a188a3482309ed2a09624792085564e10aacb11793e758950c34e5c483230e928c31255a566622d4a4796330dc249130b39c92099b4cd44e5041dd49bcac1f02bff92edde353f0583f0e28d32b4121960962f28cdfdfdec12a92ed6b95b382f75cc5cacd1de2d1e0153e6a0170273d75afbf254a386a2f9f4e7799ef93c517eb166af690231c65a57f885d4052b2e90cafaea52ddababa5b536d1f33c4ff4ec9edf8d438373e113030d14e04314ae40bf2c4b1f15dcef2e3925672cf5967316e27df7792aff39d63bedf57cd42f80072eebe3aa1764f033b8d8b7a6df5ddcd7e7aef5bdf7de8bafd6d885efbee7126f07faeebb34f5ae8a5f9c71cf1af7fecfb26f2f73ce57974f3af3ecb5ee276ae6262d49474438e7ac8956f33cfbb9378aee5e7039a5b34c41c45e6d9a6613de6fc63cd3d4e7deddf7bd7bb979cebaf7169358339bd72c530eb8eed8d4d777746f8f0a813edded769c1ff5cee3f1548c88ea1dd0f3f97c39b3ade0becf79153c183736a419d905bb5217ac504045d452d211d0e3b248b4628c6d6c7efd06080c8f01a8444b9fae190000481a83c60014108806e3304b829c520008f800a44188c6544f888a44d1883c1643200c83308ac11980000000100308504061346707b0dc461406811c1894740f24e57e69fce61b4f8db05b00ba4fbd084c4181bde33a2d284431c4879c5ee18da848f385557c4e496ea2bc3fd533939fb07a9c0ae68d6feceeace780680f085c2c5e372812c52b8f4c4efd262b379bdc3e53fe24dc3a0362d23436e2dc417f47dbe178f68520a5e25e420f62bb988814db94b773e8daf501ba9f4534985c447fdb44daa54633ea7d7e197efd985256477813bfbf1e262c75a73b26625309bf0cb7ca2b4dc00850c90f3053200a0499c40f92102cae05197e363fc68d5b821fe7176ab7e4b5ce4407539ab7a6d4056526065ed0ee57bdde91359b45db65ca612e36f9d12d7310efef4b4ba757afe04027b44e735b9c356335f00d3d795bcb6c83554906f8ab2f92dfbfc4b97cc31c886b8e3a8973f71783a35ca6837e51ecbb1d2942e4bee713b15754695e02a1d6d74e2a25e0d0474416bca044e86d445490c29a44e761ee9a3d1b306ffd5a478033adc51fa9b4ce951499480e77c6eb40f7a374e9023e783144716a551dbf9abfd96fd8928af70f38c5fae89d5243753f79c701bdbc0528162c5eb8c14d91e3c509b3667b6e9495ee0cc16988d6e0308100bd5f0ac52c9f407454b7178d53ad0d51510ce5df76755a84a4b92b43ff405a02331d7b8dff2e7ea8a7385b5b424a41f04d08f99d27528eea930b4e5e9f52d6293abc1547a3cd74cb783874976f20c694d8cdc34b633fd770b7cdcf99ea6632a1d78b1bf79ffd43c38e673950897f9ae974d83197a4975038dfe69f7fcb076b3bce513f09f6f6798c9070c7f083734884f1632ec7c8615b74cd6c1550df34efe131be374ff699a6c960d3f25c740e55770a3916a21161aab4cc9aad0b7fd39cadf1b1cb4d7ff76c38abf36d91d0855244a3b306d42e74dadcb4b21c74bcb686c9d13224df49130c4c9d0936c55b61388e5f1257ed9b58ba12ff67a21004ebc81d2c806f98a8f15e5f7a4f43d84cb02313f1781dec08a68750be4073dc11e32dd631ea3aea434ea1ae87fcb505bc19116923c4c51e58d526d16c90df1a93b31d4b0edebc452ae042030c9e8c0386ba5ec6a0b2d275d385c00703d8f83f3ed7bdbe5795cd3a0a1f2ac73163e7a87bd8f849f750a8a0aa029476739c8cb6a93336f1fed4726d08c23b23f0c2f1c8f67824523f31a64ad0750f63ce6e1426da2c648e354b77c28bfce26878966dd7be8724eced682b11b1d53b5e5fa2d10e90112b61add74e156167adf1ef56b1f3fe4c6d5ebca838bca38d52b3cd743ab3db99823b103100dfd42ad5654f4d31793422a218b85212fbf2ea4471e39652fff0163f3900dcc359403ff538b5e6ed232d3558f67df72cbf11cd7689152baf83d9ad7ad33adee156016d54d16b96e108f8415c7a659ff7f7ef74107660ebc38e1a42b3610b8473d871a68e46423212ca9c7fb3d183a585b61a42d5d36f59aaeb60b2f7f49669dbf609e88908edb6088b218bf2bedea72bd75a42e509c22063b1fc6eda29c5a24c431e9a9673cf42ae4bd886e70f8b613d6af7df54684aedb6d6fc78313af6753ed4c15cdc09b6a4341c9544971a612b357ddaddf746c26b97fe6f58ddfb7d653f2ecaa7d1d55e8ded2ffb8b5664ecebd420ed682a0baf4422df25c266f4eb3ee1ac1c60c3cc02202ae72e118bf5adcf2f8ab888e4ba6e284435cf6cec92bc4ce9ebba185cf04dd7cd640da5795f08ab4510e569e4dc64d23b5a4f070b03f9721cc8805282e0d90beb122b8ac8ad3f6811a060d63f6836e9560eb6f83b08e562e633b3175e513e72d53231a672c10744b0bc7d19e6d2ca205638f07a81e3a3501f1e2977f42d5e89a1fb26ad2c2f3f152c943d81d6b3f85eecdc31db97ae2fae57d4b0e242c04548a402f2cb6825e95512532bbe259c4b35c78e5ee6b4ece44b24b6d9cdf604d91beac7c8cc6cce2a399d3959699acd0b4c45d8fa821a19da3f2b2178038923c5e526f48595a59e5e292f3e947b809a007418921615ced8fa834c3c0dc9124cbec1db57f39c22e509978a5154890b77cda15ff241050135e4b313c590a36d6a6e1c44582f3f63de75d9e0c0d5712c42b6ecaceed3c424f3e0c85170b60c67e5a1da7228b9ef24a3e316cc4f7e822c38dd0fc0486f87e1afa106997fa516277986776fc989256b45d5656e841353987f4148312f3bd9a5bf2cd5a9b4177721609a1b4fcd86d06a2475c0a349eb7706cb91ea5612505a001ba1ad64ad04890d86c3f1fe14eaa6b60dd160505ebb3dec8d6c179fddaf01941ae10ffda0b3a9ddd8c0297d746ff5bf548e3015c685575ec55141d811c024f546f16073fd5d4614afc214942d44a953596b23b1404f8b526788b2781cdb1347f0268d6f179480e0feba7e707860e49a644a64e04a19491deaa7d5b021d2887d487e62bb08f5531e58cb77502ba1879fe525e523d69be4c6497818c64c22bb0a64c0057ef5e2c551df0cbec88ccdb89897541b180642e7ef6ff3c212cb739758e081dcc8dd60ce16e7267471432cf9f17729f210985b6bfb75a4537bb75d7d3026ddf49947edf697fd7afd43a3b8856d829b1262ae3e85738daa5d02f2d991ca6d2fda3f8da9a810d7bb6a653b6528776353c5e738eea7cb71c8fd55710f19a91f0a1f4b9f17afe7b23401ecdb9af818ac35423b67f64ed9483c47a0aa271c0d6a0cf83c3c35b2d38aa583aa959da9251c58964f55050b9d106004c9bbb4d956c536a15bab8a7d48427822fb7412b43878905ab17767398d2aa763f021df861ff69cf82880905100ba4cfef3a0c637a691cfb04686c7cecc918bf52d6647a6b5e0162d8b3db94755f4c4189945848ec97df209995f6e846353b9f7c04025fb50345b603269db9019e467c3037417956cd2914b9168d286108a1f0683f7e0acb87e92ced53cb88ef494e76d4e76111f891064017a3ca533c92877ea5374d07ca6e8cf9ddce0f35f026ec3429bfae703baae47bcc1998a71c13e66384fe5168e98ec5e24aea36703d1d3a24ecfa0af3267d33c0f0197c3b6d3656e16111381d269d9a6e27b65733ed5462c942fda20c1a14091a0f95b6a81fac8b8138d6aa3fd887656af1d08ceabc5d647511c2095bcf6396a5dcc0fea4f2612860e29f19355e82c37be7e334455442b56475e7751ef626af74bda46680e784e0c47557a6793dfa0f84625b4128cbdf6d459acb4687bc95d06644d4a5a8e4208e1a24fababd97e622e0ce989a5b9daddb45f9cc62339b56487a1c975aca037d45fa04b24fc238bb3cdcd55bdc7f12aa188f84bb36dc92f24535c986a8c61d6952edd7f28d54a99b6986a5948343a547bf398c93e89c42327b7ea57e9e2d58056fc665a0e4cb31dc2863a4314ba76bfa4421bac21478b250e1fe56e20856ff3e26eeca97f0431e47613f7c8a7fcaf08a83cb4b5194593d90e765d990d8caefb2331db4db9e29b321540b9c7e2c8705d421e6b6031963821293878862c6f0e591ee6333ee2b3e12a4ed3bd981cdb90b2b614c11239fc5e87d7c79ccff5cd1995c86eecb1d65304487591ccae89074347a8e103d40d6d2fd8ecaacbe39aa0abc5bb183db45227d45ed5d2326799549eb76d9d371e5e2873b769b6cce5a0d666d3112a298ff184ceab6cd9cd152aa14a2054ef49bb3c99d192dd690085a0c143c1c92923d85aa33432df9eca2fde925eb679bf793ef2c022263f4b8bdf49053db94bb3b55461f1c2fe009144df39145b614bc28866be2436b655182f385d0fa8358a1ec61f397d5505a08d4328fac95731916ccbe0425b8fcf5b61ed2bbfc0157485c7d3efc6e6230522bd87bc44e0d2c15da87f69f3322bc4de3843a03e207fc7ae17b597cad379f9cb8350b7c91cb6187cddba03ec56b5ae841736fc953fc0e50d1f61ab209966cffef54a8128442551c60dc7c8a41624e89185171d953bb3607982caf29540f77a39c805fbaf01a7a4a60fa3a6dd1e118fa9e65038bc522808928b1746bd7b7ae700bd32c5fd9730269e17efc835dce2c6e874c8e9f494e6384d6a57c73aea3c508f83326db804c5eb8f099304f8718a7005b121dc2a3fdbba4bf8be7ba1477f982fa62f3f3ac17288c72f80664fd8b0d5eab94bc10790acaf13319b4485287fb50bdeffe36875004cecc05fd9b605ba0050079020ac08a7e6bb660455532934ae1cb871f70b5b6f1c7f7fe1d6c1408274f4daac56ad1451389f34177f7a25df9acc61fcd81b501b845d6c647c9e393cfede3aba75ef004d86fcaf89e45697470a351dad5ab7a2df4a27216b75d66de536e5aaa0586934dbaea79524698f3a1656b4b2da4302caec7b9902cd844480789d02835f37af175adf1bbcc0a2261e4fbbf2b2fd45957e8c34119ffb56e3b9037d819d9a8fc9762ad15463568cc5ae14cb00887dea91093ae4ea53c8097deab4c90351b5de1590e16d4c1b418da33d223a16b29cf1cf8de0ee0d2defb99d582df0315deda73c3134da2d2640c72a1454041325403412a2e83403b75f69c2ae41f13ba47cdd20323c68ba4e957ba8fd6c9da41823c4248acc8c481ed2291dd2287e297058f7884c9de42354d67b617932847600b87d3af49f2779d0db15451828c774bc62847118a16a5823003fce8cce0191915df98c0f808a46a3f553e7b7da84b82927f1c7dc1b84a7a5ac9890428e060a3318dc2827f5b9a774e43eb227f52b11281fa6c6001d3e63f44853350db8ec39243ea826b976f8e392c7272453b909099141084d606a7cf697c191b6b648859abb2c1bfb7b9143718490da1a8ef794729d73ab1eb47bcad88873042b02ee29c3315c936af0af5c29a7a48eb3da3e405c2939076f7e8299932c748e50e0b8b2636d4ee9fe30409d7210e752fabb0a910393b8a7973a6b776da1473a6de1f58524310313b31080c3a81e8c54258488cd14001f4bb70713c175bfb797d81268d66be7dd4215757b9faa710043211a5957f6bac9137c05776fa50c9752cfa3cc4faf286486285e5c55825653b03f428b8e371cf8a3b2d2684d2ad3bcc9fcc49ff82467572248a0395d79f38a2234c61caced40d7ae0b5a43b966cd7ce93a642dcd363e69cc9188d4db3b59cca4fb27530b6cc3facde2026b4b7ab08aa605e19d6439e96a839809e11fb778dcc3a3940b8d59613d907638080cc5993fbd1314abceaa4416ff61de2eef2982d5b2e2646e3dac311249f461b06c5980a94d48d4822ef24eeff921e3cfb8dd3867e4c34324f8332d06a99d0ced2d3ee56f977860e8b9a05b082645350a7179eb87c018c5ac6511802098c8d533f1b93ba93848c08dea73690c0e0e52598910cb7def1d8463571f3c1c920559f7ef68258e02b1e5b594df3a46a064f178cc981b45e3a5531295e516de182e65cae046a872aaed2cbf20650c412052da732f79dd4a6ec6ac5b669d0eff12b52158e166ff1c4c9307a26d414b535c24981d2e31ce5b209fe30e03ccd495e5fb027dad5143926f59006d73173e360f46ee37c216ea0e629b206b4ecb5131c6845ad1250ee1c7151c0dd1677fe85d785d50ea0219e0bda3056f447f62b0a26370c910d4622fda7557471d36305cd99a56d52c1d8bcb7594e1c38330d8422fab25e4214440928435f36784885b0012f2b6f156208855c10081de28f4c852a77710fadf0ad719951b4f9cdf7ab63b7e84281813df5e986b025bc42d440df4f74047b76c24e4f8767bc01611460c877e897f0010d4d4aad092c0620893a63f0ae4e8028bae597ab3af24a809a644911d1e0f4104b64db5db55883b93c1b769fbcd53b0c26e193a631d9f16a568df4cab80c0d037ef6d9a9fb5b31dac411b56cb1604346f21db70a7f87301c22fc7144c5514e69909fab5fc3c740345f342a5c4c47eb6e9f355b3f4b405d78afa9c151b3f67225c05da9bf3734622453c4a7faabf69e3941ff9c51c22c0409f57f5fe60f222fba0d147516b38e5004c90e7c319144ef0e4d26790987aafc9502fbe34c372c8bcd772137167c517f936b2db7b80852f5cd260d86d9a9f497981e54fb75590b32f12f8a08cd312b42ec4e792c3f2d5250f0f47c5644c6432b2d2bc505349bb59c250a3ffd4f4edc1a8dbf19151245455b0ba10ab135ae4e3e18fc4c52653c126309221baa0de1fc3e031378db7b16c0aa3891af09fd24d28f5db36eb3d238ff621990186f0a9d9734f5b9660fecb34edf640691a44c9e27371d5498122ebe1f7608420238600a54cdf493bfd830addacfe0857e5081f99e47fb29624df400fecbf6ef3516d0c62cf067850dfdf73fb887331bf5ce3e27e73dc70eac6be38338803fea84e0546a23e0e276252ec91d2083de03563ff7ded9fd74f97921ebf74e06fef7a55c5d7eb3d26241836b501b12a73af51f894ef2ae056de7a3bd73b22cd2af6fca114acec0d52c10aa536f833bbc07f2f79f9a803adb524c9163726c92cc275eb2cb5f6224756acfa031bf8810a73621732cb95ec63c50564e658c9652b551917cf2167e7950c9526defacdc16428304a4294c5876b3bb606db3b3d85a76a0bbb486a25e43e4da6163a2fdbb68f0541268b6604079f8a2c2e81b45eb742104347a5621886a6173a1036399c1f0ba4064a6f63c0ef4d3d5001e6bc973e5a2d7b0cdae3aa55660b01c3f97488660512a302b32eea910ccb2ae483c1178a07ff825687cf08f1f7ba1f753084e2f595ecd2dca716523030757df412408a4b7f555a02fa7a69b1278a6fa07ab0d291de9021107a24b791bbc1db423d4ca98a084de19f550c7c27fec86dc0dde08e541fc9de86f78ba70c63182e7152fd224781ac7e143d97857da3b92a7c90e81b3eaad33866684144c1b8827b12a58f9f4dd806f42bd68402a33d8c5723772663b30f02335f1f760f45f5d165652974f2829f983d72e46fe1f6c3810ae6b28d5c149a16a0ebfd9fd3aaa386dfddf8144f2ef27cf42fefcaa2c6ff6fcaa2a733018cb16ae3caa362276a505b2235ec746a68fdb685dc5934b970c4644148c0c38e588d1a385509119498a1fec6966031861c59d634744427f8372dbd451efe236765d1cd07f0114a16206d1b1abcba20d99341de63e91226d5277214c8aa47d1ddce48fa61c3c9850c33663fba01aa042bffd20cf2008c26548f170bf120a61acf3bc3aaba1eb0a9a50f7cb864c09e65aac264e032e0804190b2a4dc6ad68f0841b2679c437bd22ac268ae60b182837b77950f7319a5ac2a683a21ded44499b2710534725194ecf05f49aa305285e2cafc9580f749bb499fa4234f5c69b0d3c789c8bc1edd01ed5d919e451826f4e2979df20028951cd055f25a4966619b163de1c3b399c780720f8200c176f05622b4011d0a9305c6eb952083c1cee4c6ed568ea5511f62d55dc5e7baffe4ceee0f3a868ccc7f16702b9af82974da3837db36dd463976ba64c5564c063fbb39180d6e91087129c255caf4dd719e0e7cceb1da7ebbd7350903b7260d4da895373f17c3ae75c3a504ea7b7c83e6aae9084fce9b4854be217c077930919843b09ab342d221dbcdc4da913b3643132507c20d9b2c2a0e96d9142e4046741904b04471e32a09fb7a745d20ff0a61af52c2c0e73aeb839b70506765b26b490e656e4d242d5b7cfe1da5e095cd3ccc5af4a319e5733c7d2f2d76512f41e2e09c5e5b3e5224a09e458f6698f2c8c0708285d94bde7f8280076aad1ff430f9e5158328e7385fc749edcd016981b2c8748dd8c916e80dd47e8476b34c8e8c64329e6fda4b5c61aa30aeb6fe889474ed51158cc19a23947e583e9a8e9558e202c3fa26cfb07b26037387b6f8736601238d070f8736f29a395c0d9d8ab1580ae514be2ccd8225650ecd4f8b8debd5591e8c58b6bde2530aa3e08cf4650751af9a837b876d6581f6606042f3cb5b3b886313d0fe5d60062fb74cd74ebd70fc3d0c7379f2c7f4ac82fda22e008c2fd184a72ad71ee68394dbf9ed9c2c8d19667188f087eb4bc18f08b4e3d5ec8110d923d8143f17283ea608c6b51ccb7f5b6ca6b6964db5a1b1fdc9844c394e16e0d526385fff16752fb6717c78b3639bc38c14221440d62e447cf4a9c10fe640d19185bfab83c14e29cf7b15ed1cf95fd8bc6e3a34cd8e3087fa6c0f862c60f68ce5b4151bf8372dbc1f56e125418bb5ceb04d8715beb2fe2a32a8a636f9618a0820507c00c06381d35ffdf7bf94c1303ae1bf102d94c183432d520f23d753f285f30f318ba95c910ea35b3f96eca0a279f1afa527398bdf7a0f847c80c555bb9f4940a55304859b1b2bc9959f3f071f97a55a20b55a064867d63f6c3c75961b67fb2cc902466589d8cffcb9664c6d9e8c224bdc36aef40c7da8d01ae479ef47203acf7f3cd4b6cad14bb4fb25b52cc76f5f2564dfb46d03393fc336274e2b21eb79ffd5a226f37872786c6b444a71c5e8446ddd80996537ee1b15c0ed63d118d4cc12808840c6c3c094afb78975274c043aef9b5fe7df16971b22b182ea609691abaf83eb2bb61c4910f88f0fc985fa985236b49393d253cd66ab404e9719e9b66dca3c340ee246d8c51891dad7fc659c78f107269d294acb8d4dc8b78516f21909c1a00b0ae04a95d26c7279735922f19955133f257c32168f3139f151e55d61d3b78c67b77d2eeeb95f8e9b656e3b4aa6103df61173a1c669b147bb32b3dbed68e40c7aea4e78c03988aa7b245d170cde88cd0253154f7bd24b13ff791ae52d7d9544fb84fd05cd6e128a357a7ed163551323d832f3aacd46571b8e229b4f84a267329fe24fc6c823a90fec5f6f08b2f40be58a91fb7beec5cc3f327042be62849be0b8f1d54647a796092da8075496092846380da97c289f35839a92a8645e4cd3086a55abc0da1c45d2144f350e65b6fad6a6618cd0d9f8dfe605d991fe357a6e6e665fd3d087cee76bd84d4d39c73bd7887ccfbb48e8ff2e7c3681a15e57b3855e057ca88e2cf895a304d83575e8c384575702728c977c1839553680c68831721e729a936370b72c44b85eb8c381c778ca2367b2611153ab2a49387608a447d4c0f181ef0e2ca40b87e8ea9c44b6c5a06f5779334c212bd763e61edc5ef585d9fece6ac2d152abd9267d15871991176f8fa4b9c77c59e12522bce50b97cfdcfc88e54bc5af4f3ef47591f1fae670dd70d6d5dc3598009bb49d9709c376274566308ca978202fe823f8f9f2811919cb8c71d1e0534d136c202a77bd5f7eb97512b7f0ada72c7a0f5ea493a4a838c6cd068f7c92dc2d7612a3389c2705f9b2d68abf687ca8b2c0b7bf5a23ae2d580e16ba50ef3271f5498b5410a3f11ed68484bc3e70c918b1de679744ca86a484103e20379b2e208dbcae34cfc66457ecc050d2acfbc2f511f88e2ed40b886921eb005bd5527df26897c482d8fc095145b1b86e67ff0761f5390c25a5518b35b7d56bb19d5cb79ff78acdae0218486c7e0d0a76e2d32d4df83bb2031016dd1fa3834da4d57430084994dbe28e1b2837a4b4370afd43e5c5e6a551c485aa435ce89f30efcf21cc5a3fa038f4a8efa8c11db2ecca8a19327494a3e99eea27e2c20ade88a27f26f11c7f8c7b87590934393e02d9ac5b6f2ab06009d08929787535f60a94aacd98b6b5ebef39f54fbb8dbb5b93efb157eafa5f16682e91f43212d3342178d1a5f8c83f078edca1d19dd9241cb03d818945c9777f501e564f904d3b9e3bc1ac18769327770dd119b87184d86eb98a8218c6e5c231788c3374e5ed636e06a59f66f158ab3c082770de1e811c264ec1bc3d000f04dc6df6514188b494cf6f3d3fe11647c52b1f5ae2088cdd88fcd1f439fcd140f99c48958da85073465023b2d927c88757fa4762398c87853143983b5206f90e8c50f0b9bc3932af9ce35d7194856ac408a232a467ff0ea34a27155e1b53588171d5c1a11f5515d3684f0d23a9e168e47a4403eb1cd1b5d326a961af44c84a233c431423e77adc4233d59163ca6eb4c5cbfe80379a6f1439178e525ac8099b01dc40fcf901d0ad30f043d6dd858e463c78ece9bdc18594ac6e9dd23a00d9503298c111cedc6e923aeb6f7fd91047b721ed6cde6036774537b6b38d8078b8fdf33c7ced42e86c8d3b9e259214a2d40c041733df16b7ba1dc645c60285eb15b109785028d08ad2a1116f5223b8e175483a6e7fac21276e523837fd7e7d88182135a7d8b627b71cc0d27930b8fca7ffa7b5443d2516018bbdb9b9f233c128e41aad2f91613085385552b0a74e20f134708c30a8ce5e5e2da090914404e82390517322d3c73971d2873608ffc622719797541db937bd050de2a537121fdc4279a568001a32baf95f16666a10c9c9df58bcb24c7b815140873219036ce21d6177ed082cd68dba2950d600e9aa2ca80ba5ffc266275b3e286e64de52ab46244f78be0e59e87c212d5c0abdb4ce4fe87c32216f8d712a8ad9f1a5d7a0e8d65174f77acb3d2211844998fa4c0d40fc0884864cc38a2768110053ce35d3f8438d1baa2a209d1c6d9d664889077baffe945c68d5cc1019959c968b08a1f03d4b8d91ad4fd5e36f2ef8081f465b7f58805649d77a257524a0a7e5e3f75d66182dcaf0b5a6581e25fe05c636c9a025a424f363eef6c8fb69e18925b120d599c4c192303fb69639eaefe6492dc95aa2b7740f06d83a05d22f00b38e819132eab553aae954576cb4548a4bea5d20c7de22aeb7d0f36a1ce31d4e2cbfe31ef29abf2343252bb8e753e23bbb0aca0264a5007a6c68184660aad50161e0e22dd213803a3dce29ff348239f81011452b6391e08999e7f1e0103cf82f5799815e2153fcaff4e90a2499fbd37e1492af49318d254c771329659252a694520a5b015e01820154e75398ed84a7c98d2e6163e8298566bbe81d1a6364bf7d76a59ddbbca43e5234425a6d914677474fde35a7f99c958af8d979efa13dafbf27b13dcfb5ce777ed1b9188d4afa26c88abbfc76bb71edee9feed96c355efb75b1b9bb7b6fb68e8f713e7c79ebe6575455d794ed7dd5e7eee7aa9e68bff9b3fdaef63db5c7ea502ce9788a6a25b6d744a83e9e7d4fb32bbacb9edba7bc6ba57eb2bbf3db0b1406dfe7172d48b4f4a67db748ef0c59b84fb7d26f7fe64a48ac3e37f7c2ba9bef96ef9d61b00b8639f7de73379327ec5da6b3dba7d844a7b2f84c353f6c25cee4adcb8f129cd9e3a658741548050b7e9434648b7884a1b54d2bb915d4f9380609720b8b677303df2ea5166030863b73895472256c8cf550133553b389811f29e80287d861049291c345782bb95173f89fc50ef3adf4a136daeff35e730138df7af3cdfb89a69eb655bfcfadb5d6bb97466187f46ff7633f66bd694ca60ebf4e4ed25840f80dc24c4422f185f9cb5f372efa463cf6feebe1d6c75aadd37cac2f69f5f57e691af7dc388e4bf45e3fcff3ecbd9ec2304c2412f7bbdffd9e3d4dd3f83ccf1845e3b8c7bef7de539f7ef5f4a51a5e5bacaca631b16befd43cd867b0c46cccbde7eebdd1ed435314ed1d3d97deffcfd1cd73ce3e97ef6173d628cbbb76b7ab35ca79ba733eb7ee2dc47e93bfa1fede483404669089e901cbbd6310a13962cc67a6847fcbf067f9399637ae207f4ae641b59f87a89f695ac206eea7deefba17c74a4d11a5aeb53ebac6227178f6e458495569a10eea5703fb99942fb36093193371b02bc227c0acccc80c5fd8e709278ab06a78b2484645ae3e2b7e8d615ac8f3ab5aadeec0fa61f56eecc54e1cf6560b7550033590c9cd3173e9e18f445ba46f54e451776f8d954525fcc12cfdfaf83337556e6e27772cab557e648bf48dc6daaffac68c4901b2153636b663b39e8ae1519685de918a0316544ce0b48b0c8edfbaaeebbaae6b9798355fa62c748d71536b57da908fe5500f6614d590a29023548d9caaaaaa0a64c9aa2bfa9efdbceee7f39e3329c63e6a84507f30907de91146832beaecf1f3defb3025ac7aef3720631f1b984fb3f98069fc325346e8d265dd7f743ba551b651834bd39fa62802ce8ffc08029bdfc40bf2e2ac230fd6caafa2efe4c5bc204fe807f5ddfdbdeb354ed22040bb4751fe207e40f6f5dbfd6f5d0345d948d7f236e2df2fcd5ba5e0c7dbde839c7e907e89ce0e98f13dc05f7b40cca3a89abaea06a4c5ed288aa6329ca43853f7457e03c5c98706d11efaa241da97cc4f7f065a2df42a9dc21ec1095975b04f5c6db37a61975c03fba6b585211b673bccec7822c225c5cbc59b3064a8a6d011933c79509dc9334b1a98492675493816ca246ddc925013b0cc2031d5901145046289c34cf4b19a427275430bcb19cc91e40a32c875b8d22452e920eb5d83c2f5848ac11779e6cf4d0df4c8aff44b23247fb62dea4ff48a3d87ec0a549730861ebd809ebafbba46ae014443010a68af2479ceb69712313d788c31983ce06fda018d4a2841c627cd2427bf29e87d827128df103ae251b1f9238301b43c5fc6d2603cf0602dc5510ae942424242424269caec7a422e2f8b3047f432e3d0d52c431e29e282475614f6209765657fb7dbed763bffdb11d80dc8c8a520d5d28e02c597cc0d7943da39cf1b7aba2ff31b02c32147d93e617d81e590ba092822ab700b66ac65f75c6841ad9b2e5bbf2097a8cd2f8828c2d7183569e2b32183394522cc241b30ea886008d26b8e52f53a5d179d4ee795870bd7902e408d58231ee19a0a8c179e396752002d88da15a85c2e97cbe572463f6d8ea745b9214b6ce5079561952a0d34e3181087c3e170389c58203e0184703b1052310822cda4910bfeffffffff0ff25fc7e445c00a8d11e27e73fdbf016fb7dbd71c33a352fe32a3ca59b91b6e0219e2043146364e426b7ed31a54f2d41849c5db6ca70f9bcda60c9467e87bdb4de5ead911e605c9cce034c77e93fa261d91f18f38c30dbe788c395c35abaa7e4d8cbc6016dbe33dc5c118988fdcd6be39c0b88244865e6155028780a8c3d597e526e973c6101c180a46a32c096220a69821fc5382d2506914c8200e24498288218410e3888804222222124693241d9086fda29b643d7e0ad359793fd436e7aa16613177376a573ad0a245105792d3bc791a598221bfb607d4f610f9ae87a162627ae8202f9f8df9471e771d32efe9a9512c8395c4b5483300079d9655de0d7db0c610050a7835cb6f37986d2db32cb3694cf424a4e406d4947c63850514d55582cdce141fc8eaf5b01ccb333392fdf63b9b0a819e5494dda8f9ff60c8d1848abdf812010b1c58ba21f9fb8b8aafc56dadc03b5c4da2053fb1612aabba191911d3a72c916271d514bac99522d6d2babec9fea640026e5a2ab466397775eb027bbfdd7e1e3777fde8a227d967fdde9d545745d4969ecd4a6ab791cabba1dc3503e61a103905f4335a06a5423147678933e4b5372ab3b8a10944714b8ea54093ba1aff49a650e1aee6f3d0f282df1bd876eefee819d81d3a4390bc84e6ea34a6a429cad38965d0a953365f860a296f0b05b104811c9d15b07423d29af04ab330a322eaee1af378bbf061214e0558cd9a85e805317fa0f682e200b4090ce81fa2098883555e977c9f9aaad293242a641ae29d4dde6aa4b3675576d75da0caea31b2a882eaf7c442d82e5eb90ca96b3c8681741fc241389367713653e095fa2da02c69945891c395625d2e28634b0c6547c05bd42b4275f3d403d0ad6532abc4ec27bf119c9f3ad02410d76a283b346c791fc11a8b97b9a4a7f6edd4f9019140ace93998d3566ce68b4a20947c0e17522b8aa27159c357043ea1f3f138351c512970573c4c845e06c7b77ae4b752a1aa0ce214e0fc27e1bef3b808e580430e10bb240a108bfe551ad251613c1319ec0fe2b286702560ccbec5f42c463045367896e4eda8f3aa2ad3696335c2a05d481a78f1a3951540b10eaf10a17a861a535b98c8e50659d1e1d0f62fd9106ce15487b2908b52c8f69acb3e0cd2deea0a50b4b06dd943670643a39c950b56a8e9ce58c1bffdc41828800e417f1268ecf08a2104b24d86008afc565b474165a0a77f795782c8bfda30b2ea83dcff9cf97f596c396199c108b5ce41e42f95f4bfa5505e561d8f6b988e0465b72334464e0ede273324a0604ecf43c6ac065f0ed3216e17c15e8d8199a4ab595f179030142815030fd1bc6ccb6048ab6a10f135826a100b60fff81cd2a07326261476302643789e9a36c1387a2b7d66bef500fed528e1348d8570b1410f94a4f4ef469d31abb4026468d23498f07952ad1dd656df96f58eece3c596e55d9203f645844fb410c01c797cc3d069ab3eec448704dba180a56a93e5e4f27caba6ea7dcc399b22d8613f66e50f7d1b07016dd785f97343e3a1c7c8bf85c60d30f78b633f22697cfb6c31ad85dab7e78c168dc92c05badb3d23cae387e7c331eb78b9573320761256982f9d50a1c03f04d8afddfbc9fdca48801e346c9f4fb1bddc80f1e422c93dbb970852ae6761a6f46291a3f13bb22a882928f69aa108e0bd053ab7ed5607e12c30c6c53bdeff87020d02ca3f73db406bca009d1bd058e7c38c369ccc0b84710e67a6f30263cc87996d1e368a1de0b6659eb68c8087addd94f4222905f921caf5bb9522ff8e83e6042903baf8a91415146705a3161c1eeee48ffdfe87647393f212ff1e2b0fc48c2eb400f89ee74f971215ecc82513e424491cf0dff3fc5b4e3af65f1dde1718b1558df282117bfdfe8519b3d854047d8494f8a408856b2e7cd204e70ebccb68a8a993bad52f226336b6d5c8566479122c23aea9802d0b4309b68df6c6e5a385dae3c5b70a67985d486da0e688272322469813bd1fdcf170a3f529f9554043382171054c1029c5c1cc0b7bacdc49cdff3cd32f3a7d63f0284dd91b45ed94b02e9f33b4750bd71fa87df06c95f2dd24db631b18a255969a498b450076c33a87ae605535abf655520a38cfaebd14393c2d6f7967e1d4f36b0cc38edbd3285e6d26581c2937e55a2b679987ec4889caf3550df1fd0b4910c5e8d00cb5690f693e3b8c5d18f2907431f0c1e8c2f0875137832092ae118530ba8e8899f1f69cfe148f95e70e61b50f8a648aab373f2a966add76981b6f6754905ad5dcb043c57b84dfd2465516ecbdb23986bcf012116361fe63367c3b76d60b40ee534d31ac2e6edd67cda89cc198defd52fdf726197f03a71fe3116d5fe9e6912d9c8fada4b1857683fe0f13830b1efacae951d78dc4ce871fe7963811fb59e6154bbbc30d55b6ccc7f17f0437e7c6be4f94b79f2d4374400f3f53fe9d1d2eb00852a3580271c3454794331569167de50f10896837b00f70ce10d1ab202be121907c804c7deffdd8128ffdf24bba346439f082a2bb534672c65b9bafe7c02f1082d73bdbdeb330921bd94a16c32b1ab9ba963807bad910cb0cd6c2472d6607ed5a7c7204db5bcc59b9798adbe6c3bf4e3c22ca4b3b5775b98158793be151b00268725a15c908b53925a7ec4236caef282b9de519756a68f67fa94785314c2e2e114d65bc5c9512886a97a5b77ae141b854963bb194ed41529d26b74ee4e1fa893cac132efe2b0168d37e5e202b95f1e1121892213687213df9e900def6990372ed274efd01fa182090ab10f9eefcabdb70a0ab724df9f3fe54e2403514887d78678d87d14d63d6f0f44db9e1dd7edd34e23c2a560880d190dd5288cea03defeee824ce2405cc6497c9bd9b98abc95eef328739b7df059e0906ff3b0b798c8f6f2e9040b7bdf37f79a6a46addb3e30768ebed48a429063ca1fc957f492fa877c7214f66e7ae43227496505ce77545477ec959faaa362b9d37a8ecaa3831a4c0836b044de8ce842c28e49e5c087fe0b80865e76943803e584f9032628040aa32d88597c90ce4446085278d17571d1a8901e3ede3905046816a1e83dd5c11f79bc62a7b621ee55b0660e7a28717d9f3c2ba85bbff3f051ae84f5dc34f820ccffa46704c009fdc133e078ba0d77ffaa4e9c93811b0c82b6a28be48311a298bebefe70132366fb153fb79d38c77a6ee71b2feee8ef44eab948733da437ef636ba8efe936c52a96f4ff8894ea45514676cde88daf4705c714a58e8d242082964a5f3ac68412b225765c94655dcb3d88b1492904a210f2b6e6b55481b1967b2d4a9c89c9e3aa7155c9897d4ab9e604f1911b50fcd5c2a99abe34c729a2fc64291a9e132d84d2a1997eb593e8e7f6f0f2cb77edebe7a94611d39de4b00c1d44978f4cfd44c154d9d540f82a788219b54258353a7b273da49522235a290f5541f326a7a43da0f022d42543e89499ad1997f83df67b796972ed5bd321c6459a3631e1369f5746e797628e0c7d83c585677d9f688e79d4c894f4146b8a10e06b61fedb973369a4c21afb76c1fe907550422e78fdbcdd2a3f7a18cb040d67402686fd4f4dab9f0c2bd97e6596bab3d4bbca40e2adf4c56ad89fa673116c44a8e40ae6b890e51b6ba1ea8aca444cb8a9cac59fcf1691ee305175a1df2786e90f53a751a928dedb0a82c7014844c352329668dbf5bf720386d7032b1d79cf7a109a44d61b4b38872dcc4e88434d0244155e2ab0ee74036ca82a301244a585a2e6351b2c5a6996c249513a037f5438c77eaa135e9f59960686190c371ae6366d9243dfb478cbb30550140b48e9a2993d6862e64c13dd2b88c616b7e6762530e8ffbbbfd9032f239f7dbcfb3b37b37817cce2a1321a9d0362dc7f560a2dc062ba6e45657aca5adefcd280e56c0450d1188b5363d2ac7c8803c7dd341c5618ca43cfa5d8842cd1fd0eb22f9f50bd07a99a13520c51b79ead7a1e77d53bcfdab66f5bed8ab6186969164d99c7f3ca40a774f2199c3bd54ec5d63af6d5cf545c8f3953470735a77b60e525996058835ea54ef054f8a675c7ba418b20d21d0ec1230cb29b61fedca38645d9a01109931c5923548cdce5c3b6af0771990ee799a98bf4dbcc303d254567669ebf9b434a488b22b50419592896a23a7e06998ab296f4361c7a91fde98e1b9e79272dd37c27c05bea8a42543ee0a9b6963738bef288ea08c136ccb973a76869537e9e85944499b6cad8d47d117b98f457de8b3e048e69f063a0e767a06a7033c9f48d6d087c77b32a17dfa262e519aa3b922530c9e5c46f32f662b15dd21cc2edac52a86886a6a87511e4b8e0e2733719ad5d34627c69f5f5b14675fbb7ebc559ee54e19594669df2777b918d65c29914812b2a2e227e5755740329ed8e4392f57f55f038ec98102529aef7c837248a1c173330598bf4e0002947a74f492d015a5d551bfc26d0e0e6e18a0c567208bdab8843ac20177bfcc8ab3c79dbfca747bf01d4900bb1c7d0bb6685168a03d14860da2bf8740372d44a62702e3771fe740f89442e490394fdd2c0f3be19d0431261705682178457bf0c82952d46883bf16835e77b7e638778355f03c6ec3c8648496e995888b78d2b95896070d2cf29bf7332e41fa0983022c65282694b27229420c96d6e78dbfd66b6ab994682d3b5b76fe9f6f91f48dfe07cfdc88634b6ac4911b5916dd2f29ff86c59994d0fc9f0992ab6fa6d7c1a62ebd4bcf22f4cb77116e7d59c9b1293d40d973145f3b4a00fa1e4fe1d5d7503364d04327647730a5f100cabb4c14c2f6c62d1081c030bcc7290f2eaf63f34aabb7d9671d88f63ccfe14481fa1a55bee02581fcd0d723127d96f120811da129cc9f7778011d943ad8a833de00cbc1ee6e18cae58e0771417a67eeb735459807d5be68edfeea7a81ac2f093b67c4f1b1e14df41b2c272d994559d41b1ee064c47c1226358bc6491830f36054438497aaa5156f132f6ad62caefc881db0213dbbd7a912b9bb2e002db65416fa568ff4a1133c24045c50bd7551372f85613f572a29de462870b65d7dabaee423bcdd7d2d90fb7537f75e22a3effc344e1ac8ef7e31ed79dfaba45777d38849994d2c3120a3d3638aa1f5144a05807dc6a13bdad28de18eab5cbe2a6e95738002b02a6418c0b9f1cc677e3ba25de1d34d116fc1937bc24bffa201fcafaa10a27821a95b14423712d592960fecf8cf890dfe24992d094c8380d961b7dd8292412c8d0e8cc96d9eba9e0446c1280ab650345c0c91cc7541a1b7a2134d2e1dc24439ea57d8d3e73167bc26ea3dd4010ad474f3ea496bddabcb6da65ca9e68e73e3b21116a0730b64740738a8997cd34e0b3a8b870663471ecd5e5d50d44eeabfc11ffd805975a668113569d8749ec625fa6bc7cad73e005fc6f49d059b01c49600ba6f04194ba058d906925b26ead355ba9ab3ea3fe83e39888fd9a591eca9f408ae2dc4776cb9cf50d95e49a579729c8caf831cebe59526c5b880aab9dd449820419e0db1ede53808395668d2d1af41b37901810176012ad54ca5a054b5c89654959ab779a7699a9ab8297de14a934e343389e82d4db43275bf7dd369ca4d018e349a09459a51d3cccba859c22c81a227b4f78efaa454f2870ea12d282a4c991fb6533650a362d118fbba4ec13d8e417ac8343dd7df4e3a6f96b76e9354aa9f34f23c4b64e9eef769726ef2f33ccf33049516a032048ae5ad0ef7edde9411cb335db6f836eade813aefd7feaf97e353199f8e27a4f9543cc1a8a1e9edde08c7f26cb2a8bfc9bed9246f4f2e90132a440b904b922441d764bbd8a616699a4966d2f4ab59f61b8f712bb7337c3485c2a190e8355b1876cb64a9572afe4a4573e8ae4bb51dcbe5115d97452d400d8e88b083ef874ca5590acb0865c9939235ff1c8e8fe4993e720c0685075c824397fb924bfdcd3b480b90a905673ad22e72a934c3008886b88e6b015d822573c3ced460208182d2caa074e4008284928803ebbaaeebbaae1a32b86c2b4e87efb3b4848a00a98d362ce911c0da264626f502e43a2528bbb1e1d09ac1c1038c4fb5554a0ff26c8ea8a9b16b622528b19837c652af9a9affeb4f13dff24d33d3d0d4fc8c344714c4221433333e966711f4ccb74b1a58ded2983768683c4d0b1e025143149f816550f247c932f6cc3b2393ac612b60292cc9caf056c8db3d5c6222cbd09e89cc1186c280c20083a96030180c366c81c1502daa85c578292ea41864523dd344a3221cd37d4c4c8c302686074952091273bfec572dc7f5ebb5bbfdf2afd7eb85be5e442fe249c40197600811301ca67d3b053896671a4bfd61ecfb55b278bd2ebc60ce93d095e43a09fd7779d729964fb16b86615db7cb758ce53948bf7cfb9ec2f2d62d4174ef8237b8882fa709a7092f2fb4fed26abdbcbca4569797d6899f78abf5a165d42ab68c71cbb760de9a44de566725b192ad9fcdaa593fc8d1d11125b366202bc812b2862c22cb88c57ece6a49ac9056c85552bd9a5774f7a5642c0357c195b05db12b6eaa512369fa2b115135528baa513daa48aadc4db2ea5d1541f537b43e50812aabb2efa3110e528de682a45de8998868e4556f57994fcc2701a99bbab95c6bcd017341342799830a60790bc37dbb87eb589ee97ac9b7057856404e8dfd6939a673dedf737c112907c5057128eeedb8213896e72135cebecb3b2767058e1c148e068743fbed86f61b0aa3b7f986fbd9b79bf176bc422cba628b654fdbbe7d7396b7eedbfd0de637a26dc677f467b3a13fd4c66d280ed2fa000769b3e1e0a46ab554adfef6cdf2d6adf2760f939071e816e758abd5e84ed7d8cf7fadad110d6b352a4545499613b96ff76e2ccf741de3db016e10014ef69ba2751d1a8d1697345a0a691ecedeee63369bcd78d433fb36b1d0682268b3546a167467adf188b4aeebec97ea272db516d714eb2a5c872bd1bbb66e72fdad43b7eccb8c3224997c1e91c9ce23329997c99c4899ec449eb74c76de37299ee23732d9cdcd9923c7b1fe196e96b727deeee1f8e6e686c50d8ccd6c63c3ce7cb66969a2a18d0dd0c6e8d4108b9d1a62319be56dd17d3b001ab13c03f8f101bc6e6011f8caf11b3b7d3f7dccc7ea181d8ba18e6a6a50356ff7701c3791e5ad5bb62850a000cce6fb2bc4dfa0da7f1f640b0909090983926a129f4ff5d51fbe59de0edfee61134950100f2a713e9f6afb7caaed5bb12bd6e71bfa7c45c99e4a80e54adcb77b1cb13cd325210408b8b84140ed05e8f5d4b8d753e39e3aab73afd7ebf57a3d62881240c1b7fb1a8ee599765203d97769a2d7f3d13b815afea376b5ffc8076ec99fa49fff53ffd03f33d0cf2efaa8aa0f3196b3d03edff661c1f2d635f1f323e4c7c7a747e56a8f0dfb007d867a7a7c842a1e4fc5abff929be5ad1be5ed1e2eadf4f4a8c8d073ca783c15cde3a9689eeaab3e8fc7e3f15c3c1e2fa8daed54bb9dcdf219eedbbd87589ee92a0306b830326077b3031a8bc0d22bc7aadd4eb553c1aa9d4f7978529eb75b806379ce51f3d8b789c36ee762c9ce64c3c3937e9d2efdbaf44e6f9d4ec7a37bd1e98cbae30b62d18b9d589e5bd03bdf1e6279ebbe30743a5b9702e03bbcc35958a796bfacb3b3b3b323d44927e47269aefe156e96b72e7474bc0e529e75681754748eb9582e97f25c2ee5b98781a83304bd4b0723060960914409b220d23143c8247d03c4734c4802328c0c25a112d7d8da3b4cad5ad0031fa509d202267b51c34d532f324e28314f78a431d05c07da53933668eb381f29eb43ef8badd1e5ccef0a19bcd42b01c2a39b50223575bf9cd086079d1f9ae814db9bef0e621f638243fc0dfbd2d69c83ed29e2e89df624ce70e4374fb496d25e173d1cbfea22714691b9c80a4487a299c38833ab6e9af74ea483675bb4c4652ec10a422c6d0771081c48dd71b35c2fad0a3d6f5a54854a908e2e9a3a357d372e79f8521797cb79e542b70152813916a29d67ac151294883ce695a9c49e82a20127775d1a54e39156bc3e223295a466cd66de43f989449a789debd0cd4babd691e01e9626b00574c4a24352560d0b1ae57a926b2cb5b12c38db828d449a6ccb52d1656cbe25a45343eb21e49f07a80c79eb2746fe084a119782d4f93e65d4517188c015192df1ba8b06b009923d1fdc58adf34243c124ef22825a98d67c32ec334d2b6a7c880033d43404661fcdbb6a22bdc2486a627105262e886679c6207c2994c139d3bd562aea8028fa662f6f5e6a5bd70740ff8481159c3f30e3275b20f9c03a9e36eb009a548bea0c018da228ce97b04ce568083fbc5fc577e0e9558c7a8459a9454c294809bd4017486254e933764db28f651efe70191ebe751a54e34157bc3fa7719d87d64c7e2826d99756bbe129b67b7e7e10fb9cc9acecd2d86dea92c9a7e96528252f48c596e89a7c2d1e0026e3b492fb122a733cc60158a563cb9d7607de80d6d84050be561006eb491b34c9be267966f90b34c26b572986209ad621e913ab46e8472cbbe8242497ca70908d8bc5db952b3a902a8612a571ca4fefa461aaafb46613ba9ec972a3b7029c48d3bc159ed67bb8ce45d258b229d1801ede046da978106fbe3ed5722bc74ef5232770e4bfbad2d93fdfb5147cf7de23d4ad396b4ac4a3a6b97c7a464250f950430907c6801745294d37be1e398d1a5fb9ae9be399f2f64425e9ca9b6c3a72d225b5d077bde9197362f921f92f7b892b87260289f20518a7524c002b30890196387a860c68a380740c5638744a348df2a228a5cdd9d791c361f615ae682793ab6a39a57692b4b193928c9a7ca061fc2bca2e0532292edd98e645a758423ec04a326959652c7a4cc3943fc120ec92514a8a13f2fb28dd96a0e2ca5b200ee0e43545c78719a4d7640c19f05a60f78319b73ab16c0b353e7a6a2b43b0af0d6d9b7115145b8db274d0319388f38b2ac49ca810032e7f5145055575f88ab8564e09e6f695011593c81f98bc5471d57cc6898dba7d7082cd165a73d2b590c374e4e111503a266763f29a4e4a3c437969fa06f0541d4d8044e4311c01356704320e2976ebbae039b63493915870ed7a4768a3a58039354853efe51a2a20d343527901998b7e1717c2a270821e863c6119758a0a3d6c60c302af63e9e534328ef42af4cc4f7772b4646e718b69b471b83d2f0987ab599bac5b678898a8250e9e8c34512555f2c92021049cfba0f0c9e4688102bfb13e5dc295fc824ad49b5d332332878164c6c7fb8fccd0d2a5f751d9e845433f015fd0c8b70798b15aafc953c0930771a69046a86aa0850f08722c579e82fd1d2a68b7a0a404aeb02eb0f4ea983a374c039a13bc558b714fd79598efe44d8e960634cd943b92e06fb6755c59eb266466ac43d445a9ed13b005b82e61a5969a2d81671e4af21d08a5c391eefdc81ba07be5ba197c663b72847bff6abee0ff0bf9d51a735dda1b9c1d27d58c9d2c3ca0dc9f4e07e0a9d0b41e9ae854e3bfb94cc53680190ae2db4d8d5e22661e6095889340b7e3f6dc05cec5f31054c5457f26d2681d1a2ce1aeb688d5a77652c4322e50cf5343300e95e6a6268a016bdcbcec34be2d5cee07d70b7a043414e60a6be5a66f173d5ede56b6292774478ed4d5cd5b196b0830bb84a401a4e0cc511794699d753bb0b813cc0cd51ffc146c1074cda3b5f1bc798f069dd3023fc30c9a6c26f4285e1b66a82023d3bce91c4bcd87788701960e9977c8b609bea1d1e36d7f6d786e69bf9df71b4f26b505528a0facae0e37c1559bf200e4c306a6e26e5b84769e39594480484516dc3ec82003ea5dabe43f2a97613e279ec4d85191b61182e4dccf5e46cd0e12245642e1cb54cb1eaa2c8dc7347a976e98b1b0e1518dadd41d39af27708cd5218cc3ddc3f503dab00be93f639e9bea8370c0a961f7db3360e2fc9f1f9d3b2c238f2f0976cff4c07c1a9480e5e6f646527a4d904e6b6ced55b13ec5f3042e3e618966f7776a3c5571949086ca47a778a44b5b9b0690a3ad78b9385a9a5e465d5384041ec9d7f608754e2f37c7e6d3cd0a93e987647b92111ea14521b04d1e92e1a9a63bb38cc3b81601bfaa48329ab3353270ab9784846ecb73b93891ae99d47c0a7b259e697c010135ad2d60c7d7a1d6937e6eda2373d9dc50dd39f7b82b5ff2dede6948362ebd430f25932766a64a0d7bbd4a388866d3ae86d3f4738e4d9711d483ef5b8020bc636e8d562208cd52620858ccc0c8fbd42be348075c4fb268ca632319cf1ef84341ab50f7f4c05c244d17f52f97141cfe7e2e29fc4bab04ec97af91dc48ca308d1c175728fccac3adcb2655c523090a54554cec9b7ad3bd79e046f7eace152c2b238601a368ed50d533849c25dd259351e1b036dee6285f5a512dfca2cd4bd2a8e88ac5964b500cef9b0b76a55dc30fbe41b4e19e88d4131b0641937e74437585250cde409749bef264cb550c365137a8281a8dbbd68f9ceeca06b8c6c251bd026fd45ae09745447ba7d2ed8dc37568583e934defdcf48c3cb58bcaa18153d1d9f0198f5a4cf0e171df013cc6562fae1c2300d89c710c017a8f95075c1cd50369d5c1fb6ca7d9d1756105dd0a2ac198ba04327b777be2b8a4a8ac9963291a38a14a5cd6350154fea78796c97e97f688269baf1e81a9f4e8710ca4d2d1b9f27a383aacdccebbe572768471b09c7bce3f64aded0d0e2a13d0bd16c65f55ae45bb16fa4092773185c8b8616b714904f645e6744c13fb994043ece56d63ed214ba5313ee7f59580616df36ed8835f0379e44da1312b0cb78bcce21719093d5ee154a117efc3496a2d9788a103a66b8ee576c24d79eae4ecb6b66e8dd8ff69513867200f0fcf787bdad3115c226f8423b47359844e7b3aa1081860218747b23e7132799312577668180f319bbf98ec2e5e557de0b6829435e20dd82b7cacd08823a47e575fee0f7f02eb98201e04bd6c04e1fb7730bc0f0d7ae4c2abeec6e7035a9643d1acdde5db7d87d5accf95ace8a37d0e49623c58fe2910023b3d896270cf816d3f882fa8012e4e3b2a016b1376d4b8626135e06e8d7b6c930af65a5313e8baf56b4803a864b2ede40fdfe40ea3bdf00aa53a7c9989dacb79b106d0d9a647e0e750ec1d43f008a24363141ef8053a145795b4e48970a27da985c4c45b584f47839d09b64a3b3bbc6ab44a1d5364ca1552a8055edd1aa86dd0a26a6b0066edf985b16f10dfccaedb3825932fcd0b32537868a791050dd525869b552b1a632142821d758fd5ed3d3620d606140f2d52ec8d3add976ae243b9976c9efa11b34f651cb6508c913152a892b37c195c0465b472f23f788829e3bd6ff8796c8216c4cdb7779b40191b4e63570f321984cf106746a2e0fac330f47ded96901dfa0b08932634dec843e58c53e6bc3b195a8c68639ae188ab31c529833a76e055747a7ec751692bbfec5c2bc4778727d3686e32500042d0d9ca7a05da3a5a5284080cecbe95102b4f49dcbc9a4547e25e7b8ad530278503e42a14198ae5781971ba648aa970664682eb3dabf6c1db8c8435f00ee829be128b0626de37f23802dea7a886fb231bffd5115b27b47fb16613c89c19d0f8988cb0279da7ef8817a209d7d32f8b0d327b97a67c7852dea89550a88f8c7475b2176e20290f324bfa996b658a39f1258cd01b376c46186c4c5ad457163d02991710f658d72dfa4fb8b067c448221983e4309286e55588fbc3021cddb9951f403103b50f37312ca648619ed10f2989f1f6f59a55dabdeab18fa607d0e7453028434dbb20bde28a03d8dca519152fa9d0f51afee90e1adcf80f20993f3e512b84a0216f31ee7110fe4a9051fd21285b14588faaa9489dd5e237960b5ba6478b36a19da1cc29c2b3d36cd6560290ded093666aa99bcfbca0a33088ba108c73198d3e86cd3e593be8370715effe2cb7f8c8c293422cca624f23162037d415f848073503b9291ae9d229f0f1889892c2b879115b41259a99751638e63e07fbbe5b264debe1053bada498a3ce13eaa58252760c8baba0a8e18f3119b2631083a9bc453a7abd1c5ff903ac1cb90aabf45ccab84448d3342dae8491160e44396d89dc85bbcdc85dac047d284a34ae46ab6685badd0cb04265e6eb7119fa1b542eb8ea93f00d5dd5a30532b38c61fa02a50415810e90116e05398f596f959b48fbaa05a8dfc42033bee3dc1e0a12a965414c8c2a008de972ca3e8cc1c910fc9c003a71d81a43406476a9f2b13488d11239fa1cfd941e53c27e019416fb8fda9d7cbe859bab717d947207d89d18c06da46b2052c22ca0f7a811d2ab7ae59c0dd9bf0271eb24047329499a0192019b01bed1ab6a35ba628db2465a23daaf7dfb8c17bd665d8dfea2b2b2a2a222ab5d542f191b2b9386288acb642336ab25da127189ba4551225ccf7532fd4eab124dc9a864444473972c4a9635d664aceafbf1fcca8ee21e4331ed0ef98678bbcf7d1428e46314c5cbf7be1be40fc7f28ca56bfbe679191aaa320400e9dbe1db2186fc2086442291482412e98b7db1985ca54d1bb60d3b7162af5ac34e9c98ca277461f15c5b9b090fbd18dfe855b59ab8624d64b5745ff7f6d668d54b94f07f3bb13cc79928b0d375f42e818f594bf85865211f5d0f937728e1f7424242068ed7239ef7ce8ec7fe08078ee599d6d6b6d05de58e50f5c8858b0baccae15883d95c63377acc3a6a1da5c7a991b77bfbcb68050801a3d1784ba7d4d918ebbe64bef7bffc46780d0babb84187178bc562b1582cfaf8c8b2bef398041d090a0a0a0a0ab2e198ca1c44f4e1e1c38348d44024128944221128ec4d895427529918256611b588f0d0ffb343ed70bb0ff3e17038b40e87b598a1748998e1501ece57ee81eb6eef771207fafc404f421fc23f9644f6c088110746e0b98f7d44ef07f22ce5c58b2eb017cc3c0df3f7a761fe7e27600c8cd130994ca693d32fdbf46be27bb81f8ee5190b5ddbf76e8f9353579953d32ea6e779ddf48b7f59b9ea45b5366935497f6c5da61f1c8bcd746dc7c1737d5fd3fbff181700fe3036a63937e233d3affeb1d9572d5395aeedec8de77a10be85fff3c49898ba76a61608e4d6a4b3b5c59a6cc4669796965a44f13fdf7579a66b7be96e5baa2ef77db95c2ef3af2a97afe5f206b3ebdc4c0ce72cf8bddfcb2c97cb250b1646b24a0446f8deffbb702c83a16bfbfecaf52e3c2c18e06494736da46725821a414d46a9542a1328954a291ccf99e9dabef15cdf79692b566cad28f0e3f6e3364629c8e7793f5bac92929212fdd7ff18dbffb7b13c3f519226a9a9a925fdfca84977bab6e1ee245c4d4e42c2f53c4d4f9ab948484849513cefb92593bd2fc3b13cf790202155414afefce8c9615257a122994c269353deeed17c2f3e56b42b16b76f29da148d3aab88d1b8675db4287fd61ffd6065cff4a3a31ff9e74cdebda8474747563896f599ae6d2078aeef74ef93a5e8cdc1c15d8d44f4d7319999aeed3d37f2174f1c2a3e37e23c951fc7be6aa9aa741de4c6737defc2f736fcbf37858a8ada466563899a5a9c74be63238e938dd8ac76cbedda885ae15ce5d9afed3bae46150e9ca9a9ad8fe77ad6ce4f71292bdb4efd535b29a9a9a9a9a9a9a9f6cd76a7eac94abd792325f5e6e67bac1f8ee5355aaa5ee3e2caee727237ba514b3aa541f5aa5a69c076ec462612400bb7e5f2fa5e85b35eefdad68293c24de519305c9c000babfbcbf5cfe7f3f97c3e9f09e40472ffdc7af6fd33ea2deaed2d2aea2deaed2d2aaa063203327b8b7afda837396a8bdd61b93ccff759dccfdbe8f2bccb9031cb00d0a64d961b14d0961b14d016949b8de74776283646a916907457bbc5701d03e806bab55050316200e1d838814ebe7fe264d0c0412c9bd131ec1b7f002182b0498c016bd83881be13e83b816020988dd3e9743a9dc0b4b62610061ccb4566bab6cfe0b9bef760c08011050690acad9937756dd466b3d96c36814fa4c027bae6baf15c8fe39ffc1fc08e66b3ab4b339ec778f929aefbfa057ee7b71abdcbdd3e45b12fb27269983f269e5f7766ef33a9c07120e4bcbcee7ddf32ec2b7cdfdefb3eeddef77ddff77ddfd7478f7fb3effef6da9744169fce4fa0e5db59c17891e56976aa3f04e83e6098fb71a42dcc0b152edd0709798f285cd43a700a74727151bdbbb564c9b107f304f478429f02a000214f07a0b7dbf1783c1e4f27e45ab0e3c1bbd7faea1784025eab029f800c76600536db178fae382d377d0e9234332b3812dfac407821035d6548dc1a30583c20d2e0be97dcb4489da2922123796e1f5076ae1a3349ad3172727e9469a12c257962334de3cf5b6620d5a790ed1c302996163537b674c0b12ccf3492dabe619d1b19b4798759161c3007716e5f4fcce6b6f8472dffe55a7d73badb002f5f4128ec1579bc9eb082040a41bf3721b80df63be5f482717fb3bc851d74aeadadbba70e141aec837d1d28140a850aa157746dcfdd78aef3c2aeaefcff0ad486f6826c41363a57735774acacacacacacaeacb85721c72997ea457367abaa205715cfcd76bef7d5acaa5e3d73aaec39316ce7e0f11e975355555535cdd1e5fb3c3f1ccbb396aeedfb49ae83c981208815c492c3d195c38103078ea01c94e56e50d37c3ed7dfa9e6d6d6ba7087a1a8a3547d4f49d21823161160269271204564cc19644efab393a39094046318ae74ca305246490a8a4a52cac60113bf0884eee2feb8e73ea881be77f2e16d86636d1b5501eeba18d43df8a76d8615032159dcea71051bc66cd16ab10179fa3948ea21846f615de7f0783cff1451e86f527c395e0c8824cb3cf25417704fd7fee1b8469fe5e89ba6d69dc557442e45abfd1940c3b884d71504afbbdbb6453c18c2217b173ae4ab0dfec1c6b645b9d3f25ecc853474910450c14614c5b33711f9427390f1ba0373b8ee55f00af1e067c73a4395cd98c6b2466c2b96ca1b6b98c3b56735453ee161fa86c3da94393d00013a44953cb934b3e336bac0d51285e2345e41fa264c15b0aa5285c8df8d30de2abee2da08b5828af8ae7e17ace695336d07a4c593ec7b60a7a7999e71cead6b4d33aeef8c80570be6547d76042d37e0cd8bc81d1d98f92e540c860dbcbbefadb36e76719276b9b69bdd56816fe942cc15ccee483f869c68224ea93c929c6fe587e51c2df4a0504c65b7b4a1570e886ec4a1afe101e001b258b3d19f0a630f594d56019f90cbc0664f089a35f9b71e5c7a139a164a6f5ca5a73fb8a7fc99e01e5baff92f508e93a73afc91c69a4838e7a3f4dc23619c83b7bb90ee47a1b2bbdda3e2191bb1ac9d53ee4501928f2ee9403f76a41ff61e35cd01d861afbad284cc5db2c53dbc00f04a8ea26eced0753613007ec8ad37a30e5c9e29c628e53eec9a6cdae8c29ea9fada66607ac6878984ce1c394893dc146a83a820cad5083895175509f7207d41e275945ec750f11835d1ee1e2659895fec275a96d0b681a8df770b744c491a0223a6a1fc90fa9b53e48f0a6458d8312320a9aa3e4ad07ce39524e8265ae174b19ac9837f31085432e40572c9bfed778f8d965c9b049f0f53a1e486211668a18861300d32c535b75f6b361eacbfaf27d63d2ddbf0acae8dad972ca76ed3327be5e9bfe452e15abfece586ec7798a6fd1024dda9d4b3e386b7577a28b9d34c47b91cdf1285d0653625918a4222ff2359d2a3e65e301546bb0d3da49c6c13cc919f499c4943315917b95226e22299e6d7b864db7b34db3d6ae13fb65d0424396949e7f30cb3d283a6c45ce2a6c2e8bd8fc6a42e638f296a2fc4f813de30b064edf2d00cbf0fef36b252175554b7847d8854b023d9f021fe86096381191a2da9a847821b0a514959043169bab45adbde49fc2921cd497d625133bfcee25b51f221f1888554ad369e897ddf244c23a673870de117e9677100954313c56d81c35557ad31de39826a423e6f843978529d2a1cdeb1baa76c1b559fd9f21db3935a0db623411c387d1712eac446d1e000aa68bccb932fcc708ea9400bcd4780498290fbfe6e02c04f08560ba29b396099354ffb1999d9091477eccc5d62c0fbf4484ccebcf0d123e2441a13ce16f8e7c83f168c6c796c9f214d24c5003e103dc298e71e97da9f8bd5950fac5f04d52c5938d43c562786f5bd75a100c9ddc04746a8934911179dd40413878e2cc7b52632da53a7bd77c88c6715d7319d89ea72aa89db6b277f5c21a304b46b0af9940d5016016b699231d73bb098909077a1ab2192b9b2970cd29415f6b7de32529957707ffec82848454637ee701a31fab9ba5af1134f8cdfa670c99537dee37174dba14b1fce68987c4190af7afe5a303367f22328097fc35126897b321efd33ab2833324ac1f2d2a24165b4d7a9000452023225c390381584c4ebff687400462d622d28976a282571605ed1775da7d5773249449e1799911cc96c234622e91b73084f36e595cce17c8eec6fa7f9758acfcc096d2472628ca991b30c865ba559bac4e228ab756167600753bdf4970fe5ac64001701c7e27a308f60a9f5eb2b4700e75c277341348fd4b0a2cbd462483c82d2a28cd8332fa01780cee2329487927037efe9a56fb6a625af374d04ec99af6621dd83872a16b829d7818512b1d4c08271166778b6f67c38141b2cc3eeb67d573b06e3d64b02db359cbfa3b11abed1553eb47f65a0fcea66bc25d06ba5ae049ac9073b6a1aa81783cf9c0a83416086b2b4b7a56a1f6cf445679df77cce481225bd93383797e96a591af2a21355d5c3f26e192cab6bc0fdcbf275e809999a3c147e6aabc73ca38909ba392a0fe5b91bc454d87f5b6aed63161b5e6a06366c3c09c8d1f87c2436b44f6549b626d0e891444b96323b1f52c23090a47c6427d1e5230f3082399aaa458d2c3f6b8e86882c71268f08b1614f34f08be7b2606186902fc854d81c1d7ee26bd6887562dac90812672318d9c109bad0d8519c610680a75cfbafded0a05621bbc19520ce5b6e5fef84991482fd2a607703f9133c5bbfcf223b85eb621556edecbc32c6964f5b52a93ba745e5708b96d02877ad3f73a3d76aacdc085e5fd0486be8d43fa0102c88fd41978921f77622162d91e112580d59a3c830ee809a8a117a798392a97d195f2413cc28c59e03bdbcb6bd71d9716e8ef97c41177278093d173331edb29e96b19d7958ac4bcd72ac988d80b60cc7a3a881072d0866a0cb2a8892b9754993b79547d07bc639bf72ff870a2532fe0178b4f15aed75d6b897c4a13509d02421d3b304097d94501c57e8a5a5e39e0d6bb3e10a952bd5303df93daca212a4a6262521852335721cb467e87ce96df42a51a2f3cf2a7f44875c2bbbb3accca1e2d2815b6d86affe8a3173a9ebe3467dd6df0dfc302b7deba8a883259dd202cdca49dc891796836db476a18245c57c3e459b28c01fb662b1cc616306a0bca16ca2c7e192c6ef0c814b6059ef5bf6f4f343de5299f50d17521c8c836c39a5b786bec9d040bf3a1e0c4f122442388d6482e502725334b809824f00b393e154a5a38673122d699e3d49d4b3b09d240a4e7e36a8bfc41f54253883bd6b878e98abeb2dbbb426132f512b4eb12a8f4aa559d5123119f37675c6ad9db871111606d1c62c750a447535a36151e847574c069e6cf5a4ba236757f53c42e10fcb255065c30f25ef1cff7ed2383b8907a696566ba741701b38b61fe05924fb81039f6aeda332ca0e358353942e82e4bf93323a3b2879d335b967b713c4e567950cfe6d979a8dcc17d07c9568c12e138a12f5d69190a8b4d06d163f305c92e3fe5f8d22c79980c7268d461f2e2cf74e5017beb99752d0a2705dc9b24136eb45d5bb1ca7f6d1e1fda506672485e66c91b43aab995693120c662666265aa905973f8a11d3d664c5414b233531a6424c1883e9d6d8066c51b40ec4d7fc44ca92a9c2e746c31c104c8e351cb03c7aca374d3557ba15e227e25946e893995c2db8985795159b1c39ad5e857af9d899937f80b82ba64d8c0b32982343e5ba2dd6122cb4b6f23644b1a2961b98116c0d5da586c892a1ac137632bb50c7e89c9b62bb83a8133739d82b13105453563ea04c6bd7e384d0705da033d42c6b8ad602bc63540d31390c66ab09144d714d4b999912a46fcf8c5443b598e6854ee1591a3846589b346f54f107ff0e82602df33bdacc569bb8c1a6f9c1ace1820567127915553fbdec8453e7e0c288dbae2e5136e56913f976233e28dfc900fcb7afb2ac0507f06e4538258766369dc65cc993d37133dfba5c21663e8bfa9629639c7dcc8e8599bf92145559e5f704ab296846fa4ba0c088b08f8c2e390ce97fe84e5b75302ddf2f60dfea4cd77ab5cbd163bcf4da4c9024e4dca24097d11c77e38894bbfac98454e14ae9f61aac59ccaca65753b25010bfed52e14e67f57d0c86def731e6fe8959dde30451a258b236edaf6de0bb4c34b5531fc71b4f0843573a4056d82df1211b397332c1ac5a6ab2811367e16745a553e5303ba19371a81eff3f2bb4727c1636a3f03a145692a3e5f648a8d3589db68dec6050cd641ddb0e0ef1d59ed9ed37bbc3495f3313fac7d95c8f785aa1ea4744051833251c14e36e1b782fe4d87a2d8c524ab8ce14081323e4bb4b6cc6b8fb901d412146083d0d61872632c0a3b71534803e1644f0426dc98cb3b3bcf4a0442c427de0bc84c00113514cf5a1eaa429f045f2f64f0fac59218ac1d8881565b2aabedd6d7c5e030019e649e56f8db7380e54227c0a87180e901570fe32bd72b376293c1f9bbb0e0300d11dd6f945ace9504a7e8a879cda3147147c816c2a7500ae7e4ea697fc60ce990eebe609de27958887ea338ae3c5ba98600ad9038ef2cef5557746c9504066a029d68eb3d1d6a3562fa1cd10c47e0f874685a8168244ccfc3e77da15408245fd1040b6ba2d793e56f20527b152efdde0d988367d07d01f5390f2fc18ac398335f4b1b96b4f7a899006c512639cdb2174ab12dd9947503a4c2bdf25ed4d14e32c1a0a909324fd133f87a71728f9126b1423b90d5c82f1e59232ec85341c9bcce8003a89f9934ebc84390c23922fc04b6c2c9a6194edf3f5ddbf8c989769e6c7669576f9ae441018c916390affb2a34b83459d710c9906593140638fb333403984cb621e887e5858ef3f5bc0d7108d0b88b84657dc0a0561c6381fd2629d5a77ee9565e9e09669c399a2eef3fb33a5c9e2495dcf6529da3edc4d86ec2c19f30b2b8503ce7f23ef404f7095569487f34a1ffc332035944a9e90211dce3d0a6a5a9aa0ca10ef95204f6282fcd45e98eee036d92a9f4a4bac023493019a5b2153491040a8758a648bbbf0966bb3a7a4c575bbd7d051bf8469d2549d7758dfc334d1b8b96782fa4f42a93e00a5fa4f42a9ff2098eec00d01bc909fe75757c320550392589a92996c76520bf204490530055b4d784f58aa126830af0a95bece3b1fd59a5e335265f132e73a4231825595f784504b5ce799a17d93a648e6b8705dee016d2982be1d61a3b465477afb9bd2141d5126519c3d669a3fda8d7b917ddff7ad347a2bb94fbbc3375f0771ebf8f6762087548f29fc0664ca3799416895d521d541846fe97d8f536bfcfcc38dd7565344754de616373de2395af8cddb364e3fc45f2df93c7f5345e4a6cf70a623fde5c265d906a3647d8ce0ced29e9ab05dd3faa7e941977154559fda94b3a5b703fc9849d1ae2942add68c552e897974cbca8832b741ae6d4139f3b7d1a112bbc646b369f06dd514003e8e542aeb9637bf25ad9e99e2b9cc78198c7e6a1973af4a306dc8f38b2c085694255953325c374dc7f47d2d44ec6f0896173976628c4ce75622fd2c0122f3132a5391c4bf61b03988ccde4aa817717579f931893dd97145a84d1ba4bb8b635be34195ab48b72c849a17314afab2834ae983e202169339ad2a85d323e95c2f8f9a4f98a310a596ba1602b583e5d72f7e2e2e59e4558fc4a769dac93a7774410fe36a9e5782eafc55312c5b6227cc4acf9992c80f14a450684a3414cb127221a6f74249ddc2b522fe5d1f9c57b64dc2b05254194dcf412656519650517c46a256d3bc6a17a7f8f1da0dbe234f645871c34066d9912bf587b85bd4875abc48a5193a7932c9b38a8bfb5b12bbcaa27541f6faf8aae67ae83de2766771e071f8b797c4ba44a3aac409d1f94555c40d889597a07307344a449a1259c0c8aefe573a3f59e5eb2c28fd935a67e8cdcbf4930fc314418add9411d134ad2b8108fe7881b6425f4d54705980a5b5a08ddadd4b2de791c51d25d09056050b1719ecbbf7f61a72dff75d6d92dcf1eab975655c95abbe79649fa5b3a3a4cab73d701cc70b7d1cc7c759f41f47685dd7e927be8ef736ed43e7a97d3076ffe349e7dec9bbbab99fe7796ef7d939cbf2c6527f60c282667daecc446bfa7e4bc09c367c9c41c97246664ad8be27e228742a579756994ce6ea7565af0c0e47e925b3394f7798513bc8e1f586e7d6e5f5c4ea15775445c81fc693faa7b25aa3b98bdb5068ad8f17eda2f45bff008a85d9883205c2a4e86848d993ba26245529bf48dbb7119a624fc76d11291e95c4ff937055ac4a4f356d65d58185001675f874bfa5da21df44afdf4fc9738f26b9fcc20d33c872b15824d232127e66ce5398ea4d128f1e6a8b24c22c4444152c5adc7c8dec7786754b7d94a2ebbd4c6424ca93b3af04ca09b41ad538f23a226411a5c90fab1e5e5bdf35bbae73635dd7c63ac7fb3c67b96f1610b7cd7d1bb58c36d0b1508fcbd2fe592535ef7094f492507d998c8f767d48dcd23234d12bb9fbb3a8b8fd4167ae24f9b0b262a2ab6afab067d5b401c85542d71d3134e1c2b30a58dc14203cd0b4f5988b377e6e3a9ff270381c0ea1373d7c3ea151b6dcad7ee0a728cb36dddf779c747bcb389eec4187c807916cee41eaf03add8288236fb6459a4924d2c9293c0ca1194bbc65e29cbc69ba482f10c713e9df0a3dcbb34ecbb55dc4596a169b85a52e8673b99f873258cf994d1aa78dc4a4d99e6be270dc7cd95de465d2cca49fc421cff37cb248b3e8b53dac8dc3e1f01eee777d1befe34baf1f8dc8fdb8f32dfb4e43f7e30bfd74e17bfac9d3d0f1ae832082897f2c20888244717206cfdef92b0b0ec77f7298b862898ef6338dace99b79b6ce32d3979d724fe32c344dcb2c345e2cd2f48dd3344dd3f42dcf6434089d2fced67926fef65bbe028b9f8214395f523635be28f590dab671ecfaeac5206bc176d0afcea98bc270bc4119815ab22bac877665813a9efa8cf45dd54521756dd31bd537f52c28ae603c419275484b11c95a834a0eabf5071776cd49530f6d5006db9ed6ca2de2dea39a3fa953026a0460602a6e7f7498162f8bcca2b34853846ea72dba107c9f6bd0e8b40ab5d2643f8dcc26fd0e341f78c2ee6581b642f67e406e975b8546f52d1343ab62e21503ff11c333632218b70116815734cdba27312a4f274e7d2ffe2ca7301981618541865a63d126bc00037161f18b0655a6b92d0f29a9bce194b0a82bb4a5392f5c582f33cf4f4c15d01550b26a7e4ddcae1009c4e2c2626a2b4c0a338aca0353c610896e8814a09d2861297ec1e0fcbd8bdeef5ff414f4387d06fd057d07fd067d08fd077d09fd087d0afd097d0eb85fa187d1bfd0b7d0cfd0c7d0cf40a7a4e4a50eac37fb8cca9185f2ce88ad4f4e38ac4d3362a7d479c36943cae474366b2cf54e1ad37fcc9cf12b8d65fc5c701212523e928db8c8f0565e16f5b0e5011966fe3be890c38f03334abdc1861aa83444adcf1964b0c6f084c1aa5dbee0420b1f962c6869c0e01562c000ab40035e6a53d0a2b03c416bc2f2692dc14ac27304ab08cf6a34842808d50fa21e5473981d7080dd2087a901d6f7866bc45ce79f010617842df0bea88002ee0435621712387d9c3f02e7748ae3b4e18a21984e5b4c1fc0713af0372066c1b5097f99da9be8dc33f05dc026bc42ab42012b913f3434e70f2561f8c9184343fd500fc2be626828051d083f4532468a147d8afe837d458a14289a56491f4512468a640c14287a14bd0728826a8c053567e84149182892318282faa0be837d4510fff3f3f3f3f3c3419f80a09fc0007e021b040995f942485f2809232819e347031f1f1f1f9f0c7a0496b27c0410c0e0449f7f82c73f7101108d223410109005bc8929be0914be8917073097fc030ea8e0c70033df80133fc9183e3ebd4f4fc1bec2e72e31a3aa2f51a2c404bd4f014a4b694a47fc0212f00b48c2f049c62851a22fd1bbd8579428c1236306cd76cb80fbc0f3f02463f0f0f43cbd04fb0a1ec2fdde77207ddf7147b9d34c7f8f60f82b9f14702759f94a25043c01487a3401041040408b9e44db1c11091248563e09120f20073852f20720e10fe040cfe0eef7f4f4f434d00b6014e70b90e30bc0822780e55d1e51000104104012060f03baaeebbaaeebbaae2f30fc77a2d011edecececacd8473c7fa21123468cd05520f32b799ee7576ee03bcabceae70a0c7f11854762442244140af145acf922889021ac14fd10214284f075ac60f93a595f6708003e1f000052dcc9711eed279349353f890244953510e32a1f848e0f2201beeffbbeef853e34f13f7c08ba73f47272727210e8710867f8386d3ece89fb467c3318f56f8cf83740bc8d8d8d8d8d8d09bd860a9f1c514d4d4d4d4d4d7e409fe3388ee3388ee3386ec0f0a7b92323a2a1a122e5d3d0fc2073e414231f89c40bb06ddbb66d2984c3f15e189bc4ab635c66237825b089931d36a810d9452fdff6c16702f56604c966a4e8f067d8fc9912c8baaeebc0b111f296d23845d7dd52f42030482e6394b108df48c00ee0922d53e3009b58c4b4e1bbb0981d95d692138f3d2fa66f8d2ad59a840c94ee913bbc2533001fd34727b99ffc3a9787f2f463fc981e248c93331fe6c68711e085f091cb3f1e03e00195a352263e3c344d17a57642f0be74f92f2f23b64d52305f2674686647864869b2950727a6326571c73f6ad98944e34c4ca49292d8500277a36b18b763d4534504141582db3a017944706b20348c98bcba6eeca0c2cbed757d3d99a85d69b1eb6e861ada327955b070216f8570a175e9c1e5bb746b1d183df13aa56ac99db0015e3db4fa9a74ab1f98f18032b65abbf4e4e86118a9b6bb365f3ac9da276942644308f649f92acdb1a14182f423498b3bbaf941f4c347430310dc159a47f63a3bf40c5e5d8ad6f9373a982e52fb7563076763c8e7eb32ecbcdda82db043f2f16b05b9f66841d0abad48d98cc2c1ed1b5471a857858f7a636f502c880cf513f221b545d38a7131b835e1dc94f846230c47aab8e0388ee3f80b59b4bafb0854df5de0b33be89bd7ca72cdd8760b6d7a2cb48901b0c24f63f37bc37a9f270696776b9fb56abe425622533d227edc69d0f54e6a09d7d5942092183a23127335d7d673d76ea967a9db5425487ed4767989df446b4c37359855c1daf22ecbf2868243ee9c776f627b568a7046b94ae7445b7017fc6dfa1fc6f4134dd22a755aa550a793fe8bd077d34f719665bae9d1b43a3b776d3d5765dadc0f1ad0f529347443851a0bbc6d8b3417dea817340c2ecf9d526d0cff633b4a63b1894705a35d109aeeeeea5d24414a98701cc7711c37a6b0ef3bbf6bf77ddf77147ed0375da1ce73dd60de9054da244eea7e36dbb64fd075bd88469b540d3bf6fa512900a3e2169e2a5be2bde9baaeeb26d835200d77cfe97c1118648d9b1e9bd551db69ea41531a89fbe981d884ea12d6b65edcd6c65afc3ccfe7197e4e428c5c103f2666847a0bae11c1666a339d79f2674cf83321accde0fc2efc2bd3526686be260d52a9560d4ecdbc2842e8173726fdd7668ecccc2c6786666470b82f2890698a65f4f6cab4baaaf2a86d561d53705f632a7f7f4864b232586d0a992e4e0617c434d362bc31e0708c8c0c0a99982bb383ec06314d1bc79825a61123a3247773d2e7548c775615e48b2aa62de62726262846301ac2073035ac606a60606060b8de65027f30d21246382ec91d3f1cc347814ed82d1b0e6a951dbc854f33a2008ea92dd9983e4e182118e8569b42f784ef1308f4f8172629224e7293fe1d9179582c235125d8ecd1c8f17844e0281f735668c238be2c395f645e5e5e88d69717fee5c4cbcb87175ab8d2a873795932b12fcfe80bd0cbecf2e139430c2e34c08e2e2e2e455cb05a135d9727ec145407cfd4e3792f989fbb781797035c9afcd51b9585e2c5fc0b1f8d03aff9e1e03233c21b30e743ec0f22a823085f5ce3f9123c6f002fcf889dc64dd6194b642d7f0bb645dbc2f52e0bf86b913a6f5099c0c0e13f638b8de50e6a8dad1d5ca30acf2bd53ad70c436a519b5bf696a3169e96edb44697c6f7793492e5387b1a52e5c12643d43489d7de9eb8aa7ab512f01b95c6ac31e99fd194f1844582cbee27baeac0dda73b2153fb9894290dcbcade79d376f0bedc49ec3b5246928dae62307da6441539278481cc2dc0bd032d2884e12919525827dab327ba0fb0238b78d001f55b1f56014b91d1e452cba322caaa7de5f83ae9c0a19fe9fa521740d769983ae020dd1ac1e44534babe08ad7e69484df9da9494262a493bf482e47f9eeb4b3d00bd995fa3366469d86e9746f2985cc5101e807d53bedac6f9108fe90db04c6dd04a3037cbf365be930b5a6580a18791b35ce1b2d4b0b0b0c851efd1883f16a9d6052a0b3d0c163070e1953f3cec3495e436e6234b49182eb68bf6e8a3aa52553764498419c28845040b4e038ea1026e050a6ec4799cc849cfa6527151dc83225a3accaee6be92aa65b8155fe23a385eb344c184db4af3beb537f7f6dee03b19be01b8c737d893043211aee2719a3dbe97574eabbc2149c6e0c0ccae55d48e23785e75b793ec79f7d11bc43ddb3555103c10ac62eb7651d3560db42c6d784ed0ce41ce0b648cc8168fb03d66db39b6fdc196ed1a2c071af430ec9a10495d87a8f2f4b2d2e4476757bffc10123f673cffa3ca6825cb8e42a6167ec2dcf47d771db9b964f5f5bec19cfbfdbca14ebea236ee1bc789e3bc9b82597c6cdbd85efbcb04ae11ce8ac55b32abf51a5d4ea954485528abfdf49dbf36d44e924aed664d1316d412dfb0975dadf69bed9ddb3aa6265bfb6b606ba9d55a53eba7f1b8861689495d3513aa76fe45a3825d30f86bc466dbaada19dc22d80d93ac28dd6ea9cc66b1f834567c2e15a3e370b898f4f70b6ab7dc2ed8ab04be72b9591a8c4aa5c99e3c7494967ae5a64cba4a37ff9f7e1a3f9f7492f70bfe6b0b33896da6ddeb8765764aac12c1aed6a69ff84298282536c160e25358b0178f8d88cb1c446608debfadb66b25fbaf33b0dea67676a19dc166a8959f9973737bc5363b99f37368f88fbfd12836abdd5271709fbc4ae5959ac30473ded0a9280da2a9dccbcd30312fe6259831bdd062267285b8bddc13a54c22fe441cbc4e76e108da1986b53d1017ab04f2eef0dc9b472279be47f2d81bf9df5cad5739fc777aaf7cb57fbde0451f56628abe00d36e645997bace392523bb2db22077399814737ca859f33ccff31cabbcaeebba8ee6542e326a204eefc3a9935751b38a45503bab38eda82facd94056959f93eb5f8d27bf5e67671edc81e3acfb3f2a4254f52c887f81e429a84a76dd3338b2a96fc30ae112b52d54169ccb51162652ba5e308dddbdc6bf26fa004a80625a817c7f5f3b1e695953c034aee1be3987c9956d9338ee1fd79f03fd9add514a4454727c51905c9f4bba42d821a98a2d8b3e710b1760ed8b0cb03a08c16f5c02370526db15a6c2dfb2997f3281ba0adbd1455f083a81dc70c2b525b644aaf7e6d149ee21fa302f8d4d8f494e4f4f4e29f6c32434b4a7828ec5b745ada3f62ac9f3fc2916db64f9f9363abe4d54dd3cf2d15970480ab25b753f10b2313721ad9f9dde13beab29be665c56954f0e1e7226a06ebe43b222273a6795bc29a5ae241e3bf6f0be5f31b3b6e257fed75c8aac8e10e64109e3a1b5a521d0aff04bcb4a14786f76d2cddef0f0899c4f893b93fa09c74f38d5755dd7755dd73882d0344d0bd9a169ba49aba581cef0697a9fc649388cc395f88d3b8da6e7231b562b16b586e9ced13bc53ce76bdd0fc346b47dd57c41476875da8e87143d6591b4a048695bdbd3dbf31f59b9959c895d6ee656537bbeca357a9a8abeabf4745e0a73e3a6ffd2a11229a3783ff81250950e9ac6e234fa680eaaafedd48c11cc5eaa469eb7d5a1b636e386d976444256225264672007de0f2481d1f0d90e5c77698410db462d7a7719e0aed1ccc83e5bf1f8658cec83458a15e3bbcaa37be224c646988a0505b6728b784b7d8de9c667092e8738cbca9e10689dde1514ac6b93a43b3c4c1413c74f1a4a47e9694e23834609518926a93ea3a1a73da15ded84a2d0d492fc20717f31ba68cca8889493a073c7140f615227633cf0968feeaf179df2913ea7ff397423b367097969dc9628da8948fd7def210c75e537abe680a20696b61345a527ab7ca6fd08217a8e53f0f06f9f068f4ebba1b766931b005fd6f374a6ced5d90a57a57340e392481c86894b7d6f13b1c3bd856aa6d075d0f33c1f86ff313d1f02e690afb15d6da0c871c079bc0ec7f11beaa82d8e25ba8f235b27c2b79da71e1b945c6e5c111035d0c4b6badbe9f54d42250fae2e4ab0aecb8f6930af10ab9824eb1cb21df1488237e4c71529433c2e0e2453764acd2aee1127c6a0275024409e0c1662874b8600813b7a73c33ba3b3fb7d7613cf90a0c52727aec392fa920188d6861399153a3587f7c6192e5097cb875abd18e72513d41491fea82428742f1900905600c3370192c5501404699439c686e0008427aac2e788f1501c36c8b40c91204500400c8008000900020000000ae2a52629891b5971013318c12ef822c3591cbe7bcbae0fb73aceceb6ca642de2847cb20e60caece81d0349cfcdac710d256cc484696ba6fa97da30ea1fcb66a8b3323153d25d69ac3395d33006ff1b40d45f3fd7aac19e811f0266ff7dabdb9a07e719be4bea9fb2e765e991aa7e1b290ca0c75a77bcdac43c1547ced81cb65fe3a1430f3d5d51de08defd1549d0e480ac3532d0d0f84b6edbb7eab6ab4613bfebc6e0f8fd292f42f3d4331b303e74704dd578393d4aaefb69e48f43a25868ec01351ff862ee9b5e994f555ba7e3235f91cdff18735f2d46811824b6f57d22fe7c577290c507af4e0cca2c26db249e95d939e3b9afd1474a40bb53a0fb1b5ed757620a0b984b14fce43c29cf837c2150fd1b2ee8ac47db092907b5752ffee0706d45ef4caa7c58a3219dc9b3681e1165931d8b9ac4609e15a592b5560d984d2026b605924ea19360bbc22e078d785986c622a67ef5fa49c5d2002f4ee553cc0e33d0e31fb650b3335a87e5e802d65b85a61169c8dd0522719e03a2aed87203f75497dee41d4d024fa09c5dbb98001ced9d0852229d888f7d7fe5f8bc6a5f48278e417aa0e11f2ed62b547a11439248f2c70272ff67cfd760deaff5b4dfc9d3215fd2a191de5ebe9979fc65d8cbb23cda938d1dd53e97949e55a43cad011a75a73fa85ff876f35b4b1901126f322fd7710232973412c6df7af90bb9f4eae2084dacde5ea81356b82b869c1c5bdbf73b4447f36d4c1a14bd77548015db25a3f8a975f4ee99857ba741f677b8016b7041542d57207b867b3eef430edd80e76fa526aac070a0a8e4f7501433bda6d7578ddd3f8a19d6040a6e912cfa989cf935041a0421ba361676825d992a937c614145b156dd8916d15aee5551cac520aa72e1108b70995caef4334138ea45b4ebffb535fb8c50c6d9443031e298d47bda5b4cea17085cc8d7d5e0c7f231a8e6b8251000d70393dcef1dc8395d72b7cf21451bfd67b522446a02e26974e6e93a10e280436fc928a53d2528dcadd83f4232e6aa099c79a826cd0f3ac0f9ec9c976f801c188b25ab8e1d94c0168093251ab7e6dac5b418b6e9afe8a476b60d1f7a2c5b8bce91d8639c49764c47208ad0828418df74abd3742dee1028fa87ea72e66e4d868e4066cbfe86d2951fbea911d539e8ec59db33f2784ba665b2d23ed5dd50d4413a80f014e81cbdf6ec79cb515617be87a006f4791414d20db2208dff8982338628173518913ccb13f4bf3d9b889b3af473a093a9032b88343736840d9c5e6b2d3eadfbe5ab6987453694614f842aae72c9bfc184e3f273815be507baebef9f8740ee1a2bcb011c0f5a4ec51534f157f59ddb5804fa0c31c18311e92edce82522c7000e2f0d2b7987c55447eb3c43f7b289e415ef06745879c59ff0e253ef4bef020dea6d09728bbec601fb924f04a359d9ae425a3b8ac79db1b6fa9e7a52d1ce0118ba859b1b7b518fb2c7b895f45efd7688548512f560b4bbf4b142890b94d842a93e6ec9bf63aafd000d79b2f076e809c18de02cdc4d478a9fdade3f78e7fd162b1dbe1173af5edf9ba097f50fd4707cede9360f23befa0a0f55b83d43277f5ba3fd7c4cd0ecefe64450f68583db64161480e214d22d7b4d273153a33fd8c15adeb27e5a17aedd6b911ca5c04a44c0b33a1865d98be6cd2146a9cd7226294924048a7748c1f1ed02280fb43f37f1db8a093cb10bcd64ae0042872cc84fd0d25bf97d380fae386c10bcc3110a85e3aa521a7113f2184e962c3772d1ce14f1d9a821b9921e6b8f89d405c1aba52f70347470dfa02cacad058d271f2a5d61734237e83fe404cb220e5b63b228e2c25033e43ecff7da0e7b168036c543db3577882aeada8f065a07981d90342a748dcc5ad77e17c2c417cdbb357ee28c74af130672558042b2eacef5ba09b3e95ac2e4334a9a1565e24aa35783ef52a7d0e64ca1c51ea966183ac701be6e17cf13f9bbb74807f66d7e527eb2d21a50f34debb90a638e3906af91cc61d77a3a6329738a23b1bede1a6cd5cd965df9774aafc5e9ca696aba1b3c0a439057c6c36cfa0aefa2b15aa3c550d95c8801f1ca8528689f619cc55103a829b18715227166430edbbfeb353bd33a556070dae8388a36749d8a910a69655be08a8fe364a88763a554b7a8e598ea7ea777463f4d6a8b67bafa59b4ecccc4d49f34a3ad5d66c3ebc0a27f28599b03f9e1f50bba554b76a3773e43615b4ffd91b4e90d3c4ebea416df9d6ad2b7a7fe0a45561ff5d914618ea036912f641f208d9cb3008151365dffb036bbd361985ad9d82afa2704af308911ad517ded8c2bc75aeb61dbcdbf3cff9750ecbaab00c2140fe557cce4a440446b012c8e7de364aa6d5bc6a5e55310cc7463528136908abb999dc5e94000ec6d1ee8a8efea6edf2cdcf51e666cfc7094aef5e5d8ec57febfbc3c9075b33964a6c80144dc4ba57153f9451981c4cf64000507e70af5cc1eb90f24830d62c1b8d511b35bdca5534c3069e59cda17826d87f165eaeae64c8e37899a814316fce056ed1a9c0e78f94cf0d6c8c5029bb7415cfd98ca54afb9cfc562764b4ee183b12ffb3a514246b2fb70771dc4f4379111ff0781011cb9db2c3db807032134bdfb997661583469bab6d17d43a1ae04eed5c787d0f72565d9b30fbeeba46813223e022528da4b29908c73497f15a2a40f78c5b309f7b13cac22a80ae179419250fb8aa6e57af593884cbbcd3f48b535ae9a6b4cf9283650e07202ebad1b1a13af403af354ff278d8842ad7ec947a304269b5b5319381a009ca093b360893596630d2fd510f56cc9299e75864292094b6cfe41d22f64cca72ef9af9738ee1f26e12628f3ed9fe6c66cabefb032eb2b3cfd0fbbe70a8263d1eaa2dbe89f51e4f7bbc0479f554d55e45034d6da4a5fad5b3d065e6c9bf16445647103f6551406362aaf251bde72e5c91de577e8b909ff74858d85d9951749ff6bd87a33b231488dffd1b6ca07c25704a63ca856753a3e530655ff666c7457738d24121bcbe65653c668a7be5f71444480e9cdaa920715a5c1486acb1f969b79cb3914f12d55ca948974bf1af229000219720f39d41844f2c0eecbb5980a2f7c088abc344df211d9fa1f9ab60e6c2302050054fc6aba449f51b24f09c57ea8b701deff03742121a83bf8b8f5a2f399d78b965e8f5a902dec21137bb16b2b0ffcebc15e7102fb608f1cf6726e5d63efb5ff02b5542801cefd52880301086ff3196b9171a5ce3748d319cba2d2f015e1a3c5c2e33d1ac5e82840f29ec57fac2d4ad752ad7cac1580232047b6a8a6a53412a8f31cb91ef7718483e0172eed41ff41da505102c3cd40d9e7bb502ad7560c2edade8c2a280b17f50f2abf9978358b47e68d0c42a65f85db4b98b111674a48b16bd07a03d9cb93b40dc3a614127d68a6e9da076df0d11f3fde04164bcdca43344fc8d06c8ca6e6d9b64f8d10eeded1b9c4a1e861f722fdc2d002c125e5606a802ae0f7bdd29d14da055ce135b8c20621446ae201b756438f139d0b32a49a35a759e1ae5428ad0c219531a5234daee3c4e22a7128b083d1629e51b0ac095dc679b573a833a3ee8f3056c24a8d6b2c47102afd399099e67846237132d495d60545bb522d0413335522698e569db98c26c8b5265bc43fe66f321c91940f9e4392f4ab2b5a80043a33c9dcf94804588674e5d7caa2782a641c2f88a29d64e8bb6e80d83128af4a29cb601e788bee4cdada6a04fb0a601113ed5706cca2178912658883c8db76d989549c40f8b359480659d3352d8ba22af6e719474b77fb3c40233b36b40b7c64ffb8ab1e634d5709dc9e4c988643bcc31f9564244284a8ebb9f9cb348b1e53c5ad2692bb79cc3afb50d3138b2942150012a4b9a331be519d8b714bcf0159ac1a1deac21d0f4d08b7cb61261e0c2bc122c33eb3930c1051e4f80e1472c76a4a5008c73bde193a1d9b621c86021178045670bcc930fe78e631c15d8e0742a6355d68f6f0f400861400e5301a69f372ee3e9823005cb68eb05ae2a620e46dd85cb01ba45b7e90da6a54bb6b7fecdd21ff0828afd2fde6da101445d0e14b90139026e42a39376d81b8b25a2352211541bd01e3568996bc3c97ff0abc99d601da24c698c308ac3593e75a85dc8aa6c42b9432c8ec0ca3909de5c13a9643d2889a9c5f92e05fa1dba0839af6dc4a18f5856a4cf03924b0f020267c8fc86bc9b19de53f13df5fda680562fc11a61910cb7016915356701b4824970126692e1e091bc191d9be73f917c206e1607c0d425d8b009a6698eefdbc023d2290148bec8edf8a58275297a44eea24a7a49c84a37926d8908f7bb2c71f234b4721f661a11f69bf100db744b6facc5a32164b4bac63e310063d88e4e3acc793bc1afcef3b9f6e7d67ca3d6e164d5db9cf903dcac0235d8aa3020db4e036dc43e8725ced5fd2af428144a8aac61939e4f4e75664af51a9d3627b3869de1fea78477d2dcff6686120b32ede758dbac663618ba9bc7faef1d49f87a146cad588464c2c121cdb99bd01e34e9749492b2fbe32488054a44b4778f65ce6810a191794ac902049c7f6e6e6db28094bac077221050ad98fe6493684366269fe28863e5d1733977df3bd108408b9b6adc10efd6d472f052b446a765f63e008da25d278ed90cddad9f751ffcb56da7f251eeb60b4ae478ad9e38d3f22c6d31099ca445a392c40279225a2c882d177cedc1c1c3c8f794db4e40bb53f003317fb15119daa6baa16626eac06a8a8e72228c5a0d1ac0d1e678dfcae4d693b827a375822e23565b6ab912f3b49be8428240a8ae5688f8f041152293beea045a67da8c3079ea02d7d9ec78eea8a2032bfaa3d7bad6dfa65df51a449d1fddef47764bc1693d3606d2386f93534157806a0f78edea91c76bacf9e3dd376eb13623e4466c8ce469929b261f2c614097d21932e849704f9272f20089e1460423c7dd75d4e2111af719645c6d981f8cc617a5bb1efcad98e4482ed46e1d120585cde3cd0d9083fe293fee5d494a7b470363692f6c4682a89cb671cf809a6b2a97c1be869787665c744a25582453783451db30d207002c9560478105b13893c6b8b4cec304342e00ad7fa5c376be4a3ab01e87c6a80b70a5b898f5e54a5581ace98c3a975ddd16883d65bdc6678c9a95c34c3c1f9550a6e0a34b4b14409f665d036a8dcc7c5c32c044bb1507e6c6b1e9feb6a67a32db5ced02ef764b38e400fdf94fc8bfb88aa976d8eb1b2184d051217875e8f038aa26b7f6f130f6ad25fc13471aaf0335947a06c6e6a0535e1856b42d08ff660cf0661946814eec185ad46f1050967d82577e296945898c05c893b492e58e8c8d4001b5c2c3d92fc7e29d9039527998107345a4b3f4122252f7ef5d68fb1241b0631fdd2973734748b28be35ae19786ca0c2e4c5f122bbac6611ead6d032469845fce186c1a1646c6096cad9bc4482c7fd6585ee1a13f1227611e3f3394e86d84aab90f76871a23fe5566751199602f732888948730cbcb41cb05b87a13e11a781e7854e7936a0d2b1edeece511b168ce0526e35a9d0b2089554ce08cd19c4cbe9c7f791d112fe7686cb03cf8388041f81239e4f46f0a9cff5b316eb932788e9bebdeb396a14df927e32e35ba91cc6b20378ea89e03acdb6db3c90c0081475597cfb222433c44165c91a77f9e81dddfeede26e2519967f8422a34a7d63fec4d398063e88f72ed7878bdeadb39a5112e30aa125c0c51fdbbe87b3a1963b9afd6bc92d1fada0ecfeb9b953517675bbe161b2ce5b3c97664cd43d7a293a92a676ef0bad8290b2bf91a487dbea930f92a8c41297c0359f60dc6bcac0c3bd32595d9a3ccad110898581c3eac146d949468957aaaf980de84fe4306f4de0a3c16253d6ca6a311d121774b8acfbc1ab25722112089d20319b59c993a57c68a09eeaf437d6f9bd9b182c662fedcd765c17fe91d33a9255271fab9f3301faca0607df9271674b5f173ea013ee4e30181dd71ac3327aae496573ec2e6c534e663139c11e921916093cdc5742fc8734e27ce4e91db1c5413a71ceb10915a13b3a079a99f3c6dda7b474301848d1880fc065919c17f018adc973dba6aa6467e5f099c9b7acfe3bf515ad91e6aebcfdb03b0231f53f629f5041f9e59327be58f19635f025499f673148634f0ae0aa0c8e23f0e067c728bf68e2f9a2fc243b26db08260d63d04b67d97ef3c808e3bfaf880b3fd7a86abc0f6aa7e9c1b0e49c82d12f8261248e3bcb3d0c84fa33918e83383291349d2c8a29b6bb151352e7dbd7361293d4a33bfaf16950ca21b7222e26e526e0b1420d878412d84ada4a7424f8a120f30e376118e9d62f03340044e5740b1194658c8912e64bee29c12cb8f6013de16300dbee4f4f1662681cd50fce8c9826d118cd75b91886e8150baa7a77d5a138e03c0c0b817a1b9ffcb284a1285e694a7bf4f6d8e100192a63baada3c8b305b55359cb7032d0038f4ef3fcd781c3a245b12e4b041dfe593ce5967df52b5ab54803f12f43c781f6e5c082dc5eff9d9a3cf67c77075ddc661766b65b17b97b94c3f63324a9b90a6d330cd915847d2983b62d6db77f7fa9a37b4aa6257c98810aead69236fa08ec5d382349760d6fd5ad304b010d681a3b7b0114dcb1e74ed567230fb7fe63a1c9c39ad7092129131c47c5c4f989cc821aeb16b49818ef282a7ce5422d971809711b5418d2c18a0e50c067ac4c4a13bb5e60b391c6587905ce53ef128aad878a4f383e8ab6b24db469388497769f3800b6480a929926e1f08a4dee72169d1551f99a41326546f448fb3226eaa11037d9b9d76e5d8605bba600743715d50d85698e7fb343ce632612c8d407b3efc1271905678e61233e1c210f67743a82142a600320feead49f2d4da6200a55e2f5a2bac1855961ad6efb9432d61ada00f8acafdbb55c3baae64b1e11c262aa9a18ee47830b676e07ca45d9e5c3c88999f176ad25573304638689fb3013ccba91b5e78045fe408c4a2b32d98b1af36991136da0c31685c2c4725d5d44c44150f35b3fd0b0f4ee7d6819d8010ce0c483790b5ed8687306e20faae2d12fbb98341353e12b7bd992868e4679878001749717738c543ca5092dd38b01bc5904cfdeef8ca8d4bd73f10048934718129d6e296501780270dfba3f943d8c00839411069a61a2203988c3d9fea0c03a36f13021b0004d8b176545fef1dc567690324305b3941c805450f0602bae9a790447399d431bb84d74b4844ae5a9b58c7b7dd5f6393bcd1c6b8aafa6b5f0bb64f7260fee64cebba4a18d9ce7fe9111d2154a08fed4fc3d47f26b04678ea1480347eaa66965bc187922d0542dd97ed6cb2e03dfda2f88b84a90076344a9d76b346ada112c99b475e5d3625428da317c5772cf87240c5ec4d189864da76651316ed206d9dbb5f8732722933d59f8afb6525a1c6bb2c40647fa788b69114da78063b4abee0c9af25fc3476b46d738d3263e0821a7d437bb7feb8002e3a8ffbea0e0205ebad8022d639172b2fc08e762c0d3544958f96fde5800dd190764fb2cc4453ad2665fe4e33423e73f47acf61a0e23ededcc1f8e3a12bf0ba49ede7a5aea092b469790b70cb2e7248a16ca1ef8fcb0d476aa16687e838c59d7546f85a8bb6144a317623e6dc55475b9482c11c3d318ef76db928a7b2d960588151ea16b8858af300afe7ff81efe3b7a597441d36e2339b6d15a33ba0ce3cd5ed26066e4db07a6ed27219271835e87ab01de6b9310c828709f1a777c76359402726a09b62ec0d8bd9de6ca7b8cff26298456490746b120574f1cfcdee84a86d62180ac18408fe408507b0d8139fc463040f5294158aad05f515a5bd11b1b103e0fd52355c309cecc5d4157ff6f8fd1c49023d1990f6c74f68a6902e2a2481c4b704aacc4da43eb08232eca9c2723ccabb0edb945d87b14379c6dbd78e38a4f3a443427e2225d967b427294e868002daa20de09a2b4eb8583bd0a8bafc2c7aae03ce40e2f81c4a570b4f86058d106d357b7d6312af1401cbe12c854ce70f108df75a2a987ebbbcff3c40b00e49e858ab0d7d0bcf3da8fa45b648af5bf0e77294739a301e2b14057bbc9920b12e7ecb9d241ce85d4ef153ee334a77baaf77439df6aa23ec6c2e757407fcf1dcd0ea66a1cd2edec95a9c2e221d3004a4f94d04a286a5fb506d1b161cb0f6c810a19187cbe8002498338937e2782e66b67eda716c435b51e0c815c7525000196d70ba6e5bea63f48e4f950af81348c49a141c5b06724a06b51f71005df790d313c3eb46577b0edea3d1485b6f92f5a6c6a49f8a462284b8cb260e32b479107c62e6a51e243370401e3f8d337ef0e44a64e788e91d71044a9f40e36b76bf47011e079f2d497436ef169a55893c95548ee6d91958c9786f85bd89fc21b6acf50c3d1baf1a9a93c878d401735f028454480806ed237161c994a7dea7779cb78b88489c0484edac5dcfb64646106072f6f0717468cf65f01567fc641f7e3271b6912a65f476107a9f3b6121fcb759bf0f144567a246aebc76c19cef755bc92d810f60560517c883f414f6fd1dcd6ed1acc1b647c843c5d79b967d41dab7da36a29d1e9037de7513a516ddcae2c6ab4e64517d10f5cfa097daa77412489a6e4a56a2c190fd1376b54086aa494412afe5d3446fe4e39bf9d47f0f4fdfa503f26426cfd7b85ade51e982628fbcc1b3a31ba12695b508d1aa569d85acf724521fd1a1bef482989c5f1a026de1774944e022e73e24a66a10821d2bed5ee1c04feecec65100f37319b7051a1169303b27c58e93185147d4c44f82691f3c16582f921544bc7380713118bbaa8c5e1d67f1c5a50f40d162e29e8043a97746ef0df71dd0f06d45519222296eca373a8325c9ea3f2faa025352ebfc82cd26b50bfbd1bb29586e3752b3ea38f909ac3893d8fb132e935ac50cdcd2c36909c838e91188fb5e8938c5cd633567bc92c639a5ba01701411926d01421793847a1bf3c9034b8d62f0b1f1a1b5583efbdbcb6702e0170efecd3231dc63a54b059b6d67ea5dac5131307d3f08504b5b488291907460f4e024c96063e8824acb419ea3db52cdd8d6b0af7c86470d03173e6e622626668979e878693e8762e2f1a414c9e1a9d0c49d2319a4b04e80bb84b8389f1bc654cd7d453406b21a5082ccb91590b36c9063b28cf7c4dcedb71e9f22901dd5990dcd047eb1ad676686b886ed25b7236c6000e4a603d826ef64f0de6343c95ce47a536f423c9fb8c4f304b1a10c78bd081ff9bb0ef32a5aab67594f7b5c470dfda2c2d7e8f4fcee2a809b9292bd9595bb99ca31ec093868cbd81c87729419d0c983c46f5ec30b817072d167af27da4293d810afc6e19f2beff72c9e0bc2c25610d999a364d14a63305830de14ddf39bd6f139822727250eb5adcb287ccd9f5a0f39f3bd7805ab40ee4ee09462dcbe8b389a44bf033f2897974e9b580bde4e263f449cec2142650fa765cef804739c2bce86b3cfcb33c53d4dda7a20ee57c17e28b4ef59cddee6efdb2ef0516321351cd28895da5b3fda11377f8a0174c25d555481f685fa10e7abae79cd1d64c272c0d21a4f73b3bf718103fe4b625f245f738eedd3c6fd1f36e22e57b0961125011863c7a31cbe33bee5a55b5ad9db35344ca9d1f30f91d5c6795eb727b0828aa8780e207187a01ddadf8b4fb01a8a37dcf93806a7f16f256fe6621286ec72be6f268cc31887b5f84a439a939c5494afba147a9c2299fde0a7c1b8ffde8c6f45a74375fe0764ae6c68286a52f3fc62b8e76eb64da763ce42669574adf89442c586795cc0d361ca5ac0dc45ef23e8f8f8bff721c989220d54f42819b77ad3c73b046763509a4757013b47c40b8d15af5231dd48b377ae277cb6b7a2dc50ad26d7c84c3aca155362b806f15c875795550d09e01bb7406240427ab81e57ac8a49d6b23a4e6983b19dc4d107c0d02b4d6cf117b0c068b86e932747375e7befdc84e903bfcea8996a19a750d3d0104dfa5070714483deaac49677f27b8a798dd12c54cd0779f00f26e063ac10070aff8eaa5fcaf0da6c25efe04e53e7db604c2d51d713f97a66a193e9dcda75a2ee69a172975e4f21c67037b7d39f32dbe2721b5169f1a0de7941a2602223437fd82f1162fc158bfacd30916bff162372ddc5a4a7731521e4a12cfc691e4bdd1ffaa76469279d6a84732793b6356e8d73e3a3b126ce956bc1a2ace5879f6a8971e70b72b92d7d57f105604c74537fc9ecac130adb31b470a10bb4146f36ccf7d4611e614f07cd98ae6238e0fa78c002cb696d123d64707f12ba8a44440fa6231c24bc64b9a5a68ef2c684dbb3eb20af66f09ce9db4888a96cfb3f3bb8bccbcda2511ee7c72584b4b5e8a7bebd69f63005914a6dbfd1434845084cb6ec349b313067e13389d3e587e40c297f7c8aada861ab1315f03241f865b84316c0903c9ec830f610014045fbca327217fccf60dde95eb67ad7b88f453de172d646b01567cff28fc3ec62186710cd033b36ec4edde82ec15cd75c550841bf0dfa6136afe6403a8ab2c9242db143d045f855156af7a3dcd321f659b3950b0c71a098f87815d18c61829f55ee0de3dc8c7131604d700ba98cc224140eacd0135542f4b3812103ba41afa36f0c181892e0ac352178e7d5c465c8b87701dfa0d80210c67f1835121c1d09092295e6b29144d73139992c89444a694920c0e02370210023eb4d892b7b7cac7408a3ede8296965c13978f563ed672e1b43b99cb2b1fe72033434b4b3603f8384cc5a2a66b34fa580ccb7f41fa9f0bf0f19514196c4f0f2f6bb935c0c7368ec82048c8e2b27cbcc34510e49ae4b9868b808f8d6cd05c6b3c4da7e5b452cbc745f411f983b45aebec16f0f1102e147f5193cbfdc6f635c2af8f95e4201949ce9969c0c7605c7ba6a8e2011f0bd9087c6cf6e16d7ee6b9fceb968f757cf7d5255cf7fff7335b3b7773aed1bcc4d62740ee521cdf0f32a6323fa776c346238414d7a4e8d150888b10928ef665a18ebb28ea66474a43ad3004e734bceec874617af1a11e23e3d583fd8d6464d18126602cdc49eb0aa3260a571b3f4a3547b8c867c410bcbb0f84ca92acc14e9eec967e712e0fd7203c1aeedc29546fc25d464ba2342f9d4708489a573f933f92c409b1707dd78dd20c9295ce7ffa13341ec9ee2f4ab2dd6ddbb65d6dd713d30a74b8773ffb92eeb51da3d16834660119abad413e90b3fa939e34a0bd7777a276ac73783e9d494ab4d65aebacdc5b6286ca4aef0bbb6e56dbfedf7bcfd2ee31f72c1df75fd555613fc7aa0e4bcf90ce8a270d11bcb2025f85ac00cda09e6003776ef5ec2eb2dd8f981d6cb6af1dcdf9977a965587f9ccf9a7b243cd892c140b60d51cd2d79aa3d97537b47f6b9d733ec2396fc0cac693cd698681019867f80cc9e74cd69c25f48da2796f3bf8bb2edf3b8f73aebca2ffcefcb4bb0b99eb33f39dd1313d62662e5e47ef4c7cb00b8182c822df339a0f02ecc3d7b980bb7aeed4cdf1418160e591440e434374a8512364b9762c54f7c6c9062b82a5294a2e89d8e19d7cfc8001f392b4738223440e2fcbb02a8406259fc6c2e0cc6459ce39fa6a4bfe0f21340725ca893c8dab8108fb1c8d9fa14b76797df4685c5953456f0fdbf14e070d1b522031f25207a50ba1188e6ab8017408ac0a202684bacfcd7899853cb1980e428e6376b91a1de0671a35366ce2cce8c8b5bd181b24654e09b3b9a34423238cf89c3d425426a14cdd0db265fb99e4900df5bea13d618da6853848f8efec42dde50d1174638919db074b6bb3446e51e66111f666ecd09e3d39361379776680a49cf9f1e3d5d3180ed7de5b547e8a1d2be5fcbddc4ad785dd0f255044e27345cc0d2d67e2fea828db13d386485d9cb02256c8cff351ffbea4691ab13dc6c2a559d8b5d511100c183958b4f442ddacc93299fbc9f5e8617c1e969f9a232b1d150f734e4c1504c537f146827de200f1d6665890a9644eb0acc359c7806d803656bddf0d15cd2f2cd80418a74f41b3e7665d5a3f1b3fc93ec6a1b58fcf5af8c8607b7a5b5ddbc73522b4bfe53e6682fa588acfc7c7d4c748ba8fc9ec541f1ff9f9b8caeae332efe326df786ed6c73d80feeb51d0c74ebe8f7d24f9180ad74afe2bd20aad055ef2f1d884934e4ef9c6e46324001f67c16bf27114b737a51c5d1673f2f194d6c73f9e7c9ca49f503eb622f43196281fdff846291f2f99f271904ee5631e71ae8f8964e4d0c754883e469b114b14e4774b6b1f8c165bcd79e699e7f3c32fce447084abf30a059e678860be300337c26b7c703330f28775e94204970500f30dbb09721250b367a5f707101080a5a545402b33e5ad43e4e94701caf7017700f1099f5c05b7f5a6a0a47dab62b34f02fd86923272c923493d6592b0ed59cbc73059255e8efa7cbda3fff3b67d973fa6b1371fb9963b022bb985b4c35aaf71c60589e27239efdde5729bf8b871756170d7cb39e7bccbd8ca2a72de7bfa7d2dea72e34e46b862f3c959cf3367adf7f69c4581412ebb0f202e453b5799f4ba94f44aa88ffdc0a4540da3660106b5cb5608fe56e4b9b6fea4241f6ba6a632834a6c7c3212c3240b981e45e8f482ecd77988cb72d09f1e5bdafa78e5ec59403f563dd9ceb2ac2feb9da24be88d306a5f9260b898494b961173a60b59dbe76e7b639a6cdfcbcfb2038ad8e7273a84e72d93859277cec2e060aa590291712b79d6a4e8e1e3089963ad061819a3487b839a666a90904c44767a9aa93f74291b551a274ecdf93bbb3b7337756c2b2f18971e224b52333bfbc00d046656b3acf6d9fb75afe7baee2d0c720e696f74bb9ba87f6f561485cf9d51bd217118653385be538d0285fbc07c7359bf0079605aa823e44bcde29eaef1531faab3ce6a56cddbb1af5d2bb01e7efdc90b96ed16f2254268877474e443f9f6e9f305325735b24c66c3e94fe1d67b4791291a33b3ecddc2c2ec8a40069974413926843eff20389f6eda811f942bcac7db3dad6f41aaab9aa40ad03394ac4b0d7b02a4d30e758be9f7dbfe0fc1fa23b31ef0a9186f80d50bc4d85704116081e0ce0b6ab91539ea4bbbfafbf5fe55a7339f00846652baa04d6900fc1b5b12006b8ec10e13160000c626037b4d019c1a94395df9d64769ad7e6fbfe4139148e7296f1f5055f928443bb80989512987b4a8e12f84943bb513e099a2a24aafb8504db94a49576ad8d4358c6a6aaa230ae5d4deaabc2aa8e512bd722b3e71b420541a478941f5b76deaba3ea3117dad0a59b5b01bdae0cd955380dfa119a0c988e6021ede8c412c4ff482c56443e8c415b004f30b4f062865b1f524b8439cffa6b628d8e47a289e8f2e95eb4af54dbba9eeefc6367d5dd78832df53eb8593a3e05eb359201844540088c764be53742ffb20e823b88243a13db032f41ad07a0964bd0506bc02b0deaa97f80e5f97ea7da7a480c2a7a8f785f2f1a0faf63745f7fbba0f5cb7a8758234eb1a2db4229e9ac3b90d875b56f8d4ac73ceea79aa3d4d371c589be0f7fba1b09df0845bbe39a1d130da1b126f99f5d9d472bcebd1b5f1e2fefc7d5a6f4620786ddb169d6b4b63c60d66da51e71bccf5e6a80f086bad10a22a8ce5e5edfd07e49d8d9930e9ec3327a5a5ce339f52a95592549b55571c03f05a2ca29b6f5d2c16f35954ca3a6a73d418c157ec4a93f0dad5f55784d7d5bb7bb35a3701f1e094789d4abbf9745d97aaa72f606434f0559aaff416f5e6289a391a88ffa8840a9f0fc90150410033c6101c1a08860341cc41c820ab05eee404c9a2456882c950428de74094e2280601a2003104000300000018506ac8eede815a8af206b3cb66f6a916f0c9912682a5a3f2580917317cf4e59f7ab24a4aa7b5a43ab3741da01ec6948e0988d692c022473262120e415ed5cec594009ecf975f490cfce5b5ea5a95cfea0b3eff83f6eb7d102782488872eb739843df22e19f129b0322413e9baf6573b791fdc177c4aa1ce1dfbf6efb7587b2ce0f07274d2248f9fa31546c7135bd75d2544d8b4f399d3ece07e163b30a970a8bb14be21196a31a8d821a5f3eb8659e4ce7393c71e3fd9276aef4ef39077c78a33ee6cd8567835e77789d5584415c04f59a16546ba8111a5277ccd2919914a237ca8d9974ac74ddcac8862559edf909781fb243c34fb11ac2a5fca286018e56f1d0d652a161481572f3c08343f10ea01d227ddc04ef202a1b09cf9391519bb629b92a4584b103c9a874bf5ea2e492bcaeb57b946430b62ab30248846e0aeb92aea4d2949d42d773df0254b0043156901230942fa17fd05b338a42e8a6a28b346423a0d4e02d99c5a962f87717a692953ddace5d9a2d56f7f7f166b48b63e0fba4a58c31af71e27f9618bc652c5fe06a42e5948044f99e6a88a957101c050389aeeae03e8f182b8cd52f560ef4f1c7536b8c6399f71b15c2c9e9c3319857a88bca478155f9b0e2b366f7787d665894734ac412e9974849264f5305cf90c432250e8b6569d4f3dd98fa299caf881d17a608b2bb13accd526aedf494f2eb47d36256d8c0f80ec626019654d84fa7cbff96a274985a4833c7843c47998712566d6b55ea14bbb8b1f0fd488d7c4b25310f89b2e9b037f17213b725ec6155d9774b8995a42cb02ce922953bc7077a7b22517d4a658ac2f922b8c7131213dea1577b00101ef5fc8d46874e32477683b08890d1040d112be1fc010d3f0d0d7ad9c1bc966f910d31fc64a882e025a73d8116cfabd8971138bbbf6b2b200a212e2d80bc9c129df7de1523561bd4df20d93022b85906e09cf2c57b81665cb7c51f05a5b5e5e83e19f0bfb2a74af2e2079bed041b02eab8cabdc7d785805b8244d8b02069e5fc29f424cc41c1e7fc7a8dc80a627eb28aa03049bb5e51120bcc10d55c6279fe9c0823c4c0422778167610a4c4b176c243342c97165a6ad643567a42d02a6600907b4ed9e260675ced1ca6f3b5d5442c56cbf43269f3d4b8729ffdcae733c2cc0405ed44cc01a2514085353415c97da02c0f90e578da33ac8eb4652e2ac90db181f0b4d18b666fb149dd614b05503055638b497692a2cb2a193e23c7126d221ba6d92cf93791c5346b4f182f9b9b38a24112228414c094454da17a57b629642ebda6da35ebf2e5e179ed3fa50f79dfa566b3b6fb6b3a456b87a0e6ed60835a67d23f30180724d2b4c37a72691e2817a92b331cc95cbf5d2b10fe2f587fa4c213651f2f66b5e50b2bb50849eead7675c0b94542cc322da4dc99ab09a69dedd0518e9ef4a0dc0e24dd1b56ff8c86576333d62475c8d5ce41acc4e69aa3f4eaca1a5cd4f66f7aee20708fdb992b43b7c60979e9e76ca389faf306b300bf48ea3bdb885ffacf49b688f3a77ef0c7f1e34262b949e08224c86bfdb5439c44d3313bf4674e1c093e4a40e86cfb6a7616f7c6234082b63669d239b522c4a678e1c93b04bfa1e6a4e648c342952c98e50fad4ec588b97fd99e12c9361cfbb8b6a99bf75c55f50f670bd79e5989134841bfa979a21a5eb98cdd93e29bfe91b4a0691ea36ae0ea263ae274d51c1f80fd9531b08eecd64f489131946807739d8d89a0a409028f3a571846be5489be5e9ab173a0c2a980a632d139c11ebd9084b077369389e0a9dcd35693df0adc16cd0d376e8595b3135ea0ed9d40f88eb28021e082d45f044e0128d6f66ea1f48c041deda5552283f12d8437ada628434b86df094faca03a8feca7c4e2ad495abff705de42cf3aa25b5a9f75280ed12d1a4ae0124d7db7f2778e3e748b8673b7a83b74cbd5200ddd721116017e0ec5e3008c8f8da9f4118f28a87b203d1cfae7b75b7b8163c24b9ee9d9ea16400b47f79c6ef889f3b3c5e43622e21db9beae6917028b497da083836cac6cc625e3c2ba441f1a0b11f9ec85518822500483dbec0741d4704eb25ee7efe7a0f49ca4586404eb38493e79bfd0cee115e57f204079ba7a3632376d9654d53c7ef1c6a266bc096d0fb13691914ea30c2689d6ece16a5da7e204f3a6253a50614ba2cc2a18cc2a5145e91a2e7169d4f2f8ceb1c29eef9b5c61c711cd27103a8f5da579133050c67593955ce6d92bda91751ada49d4252918abb7836a444e2f4144ff5fc77b936fcbb1c0f9af75a6559c2dc7ece230691aa8edf3396b05986aadab946ebe5c0bbb98fbec08f59a9305c372d126edd45461e2218b4119822564877ade29a02902b179716349418fa8e4d7977926870ba7caef2a6e57581ef184ac5a5c0360e5e3b00979c798e23be21bea14130d26967b6a2349520ad5c92c779cfe36b7486c6b6db03cd809c0f3d00befb732c1ba1cedd8a5488bf201e98ee16d3ca40875ae733e6b44ce5fbe5db7d606cfacc6c525c2ba1c5728be3d52c044c19058111ac6721b318b5515340a864fcdbec5125b2e29909b1342138511812645a885115e01dd58727b7b4305f8ca4acb45623468378041154588bdbd853d19b4921eb1b73fec8a85d4563403ac08cd81c01747389467e1afec7cda4eee99d49b90c33fd4c3ac895b2e177db268329476f1d1b8f98cd66b048fc74112fb395caf1822139ff6ef4c1dbfe65b52096329432bc5199efae9d34b540c68ad6e72308f427ad9185c7a3dbf29e6676783c5e019f92cedefec43af3e5c95e33d0bb25f0012e8cd7d4fc9d01e27c031408a81de4022b00939522e03dbb3c3e17f216368ef54d6169f4f43ff18b862712e91a0c90ab4ebbac2346675ad97ab91a3218a6507bb7b360ca12667b21eb55406f8143c70c5f12cc391d93f55f9d05d05d30e57ed9b1406e0d85ff262645d2bac57c9124bb77b124b05c55838642939baf4298b2fee04cc41b729b0995effb750c250c12f9b232ba749cdcc38d4931f53d58caa9c1f0de78be0e1e05a13c79a05e77eb42d2f820c69d8d0923a11e11a3e3e8ba3275206d58223513527002302a85f9edec9744015ff9a5551165d6c570bc35dd2ae55e4f4b8e653a889a09cfed0bfdc723ac9a7bb6bca9ff77cd22e60e40e85a9b3c47602026146a2d73faa711bce6d81761ab249247a89b587a384cac0479004db5561733657f5c3dc31c088db623d53c0525dadd4544e581689eda84ec09684278d536fb4b9b19d4fab0257471789e52f7b4a41184749f2b8e9e142dccb4f251e69f12feb3eb092bbaa278d3cfdfc4757612ab2e61cb143adba50f66bc7875b8593fb01edd78ab1dc13756342350208fd374b5898bcc2834d2b0c33dbd79f7b8a38df08741d987bde22db03c9e35b2731a7a93d42bfdc1c979f71ec8f97429cb5079317b23ba30cd5b071967f97f8daeacb3d130338cbcbc4ab65cd990dffd7c01d4f8d2907fbbd6e2fdf8b17136616cba4e408d38e23c3c75703e9d1670e396943807bd5b8a6ec9135cb1dfb199d741d0223eae79803e5394e07b0ec66f69d375caef7f34377b7382b7f69aa14cce64abf3628a5238000c053d4c85bfa2febccdf0361e6c9a6d12434d1f4563d832afa01432c9647e8d82881a6c36e31b0c51db0052ec9b3361f6a002c81c118ca0e2ccd2b80b615cd59d9247b09d332c85b86ad04a142dc6777129f56f648d825d74be8dd0b52508276416331cfb18a55ba1b7de247983d5b9c5c0085ee8bbe02874b779d0827027242a461e99c8a3db2f7e9a6f4907f8912e1d929d4a2cf7844df8814457378098fdcc8f6f96e7526c2a5c1c8753a3b99debea7e7e6559e41654060de15ad883392cebc66182cbdc840eb733d1360fc72bd8082082013f2070ac8bbb056158bc6305a709b68d3b12f2b5495d7ecbb99d0476521046d7bde53e806b438bbd7b8688b8c8862ba6b20b6057a40b51027936a50d202d08fae5ddb6eca2c86a6c6e9c338e40d86df7d713000381e1bf216d7422e4701ecdddee2768efbe039592015f39c9041fcfb34a4712af1d1ffabef9576871d49b25b6fc4719894b22d0531c20299b6c23c47a80bf9ade718cbca92ed6cf73dd26e6664e2c2b2b1c1a7b4dd49b8220b6b9579f1c06eb693d9ce8936729aad4f4cdb84cfb9bd2fe9fa9c76ae82fd1cb2bcb2e2bcedd842bdc85bc1dff666366e02fa78d997b35491af74f0ef6b33849a07e2a394d3f2568997deb881009b5d6c9e037e42c5ad3428698a46b9b7e33c7b20ac99a4faf69fee10d7a32809bbb043609abe8e3e30d005e814096f73ffed119696d6121d8e41034fe82c0e6831b3b8f0625cea3660180d5dd4a168400c64c48af3787d3df7882e937a62c185a6863e933574a5a5b8b892586139f3d8b01232654600f23350e11f904a65f9715b116db3f724cc2129d7255e2dae5aef99470013ab9b2fb28abc484c16aaf85b1f9e29d67f2e37a83e3285da831fde4493c4c4a68d9bc7ac981da35f0ca050e2224c14bf78d53b408c747c0863fe42939e0f94c68a867b019251d1182d14802c5e09ae8216f1bb99260908af52a4b22892eead1256204bbc0360fd6f10be4d32dfd37ee35e57cfff4785f143d1d9be3e47b2e4de709894c562b3d1d626762b217ae317c083cd88c67674cfc7606a0c2cc60b3d7309c7ad794067e4031acdc838a59f8690d416e7251c6f7c39578bfa9d21c7a2ec63e416f9d7e4687d3206e6144cfd25f73a2158848c16f8d28ff9d57b31b1d298bfdcf5cebb3e6f228938590e4f28bac31c48873536520159204a973e065feea6e178b733b1ddceb22d1f6ef15492f82f1003d1f4fe8b5b656958a0683f951fea9d2dc9d32c2b4ec95a2d63f13813701334b4ff392e40f8dc3b146591e8009eab3deb86472a5a6e0596c24671739256a2dbde1e4af01e50b896af449826165c03f80dd3047286384c018db1974c6424cb67a812bb8c1cb61d9e4916c9a6293f2cd4a7cc84a595ab4adbb361eff2aa5ed5758d0bd9b0faed6e6de175be5fe7eeb961a365b9b00e0e91f54477b2cd30f55127535e5da96639325f74833c51f213665879e4f6cfe32d78948d138df826075148b70471dc73f08136568732ee668bb8f81299010c7d9687e0c11763282bf07d7b5efdda2d30f5ac6d0cdadcac486b84f9127c668ba194e4634530e717158a85c27262cc69f7d25579ad3b294348d8e044e24f1839f666755d157724a081c315c6d0b7d640de2f4c18b720ed0f58b01bf4a1d7ab7bbcb7bb32477465f938eba96c4869b2e73052c155a4ce1911d731ea0695f4f7c254a07189123497d51360e88b91572208dad120d8b70b618dec60b14399bf7c204b80dad750909ea9a4ba0f160d405a8f77f9d72d587ff3096b612d28a7a3648c0750fafa172682fc91312db5835237d9373ffa458b384685fb5a221789a66ddd18cd0e5271910f8831549de2af18a469040902bc4e5af18b99aefe7946e02c1941bf51a2d452c32353f8e337eb91db88645bdab87375c75a18878b8561be799f8c7ec75abafdaf7f8f3a0a901951b62b363115964f56da04b5a52bd875f656364582052219af23720df50a9f98874526f57978fe28756fbd2f00434b554b5afe409ce7a3620f1603bb272a73ec4209a0ccf3a7aa21fdf655ffedee14202bff4f2713a96e31af95409a26ec1cbc59e2e969f8469a0c61a05668c2f94cdbf43618ab9f2654bba721fa52b15b31043c71c00509c1c7ab32ade2dd7b9e3fb0697803b140a13f792de74ef476375b251e4abb777fff0702e928fae922b34fd1d794a8d746a1d7a9a440fb496657906820a68630b5c5e1637245babc0ea4422823ccb62d6df9b5cc369fdca8b43d05addd79d2c7a5e69c2fb3852fe376ecbf1932c16e9b82214a4ad3e5bcddb3a4cf737f922667a1a8b7052623c6da7c09a9565d9016a4aa9b919fac76ce98185e209b1e1d1dff159f720767061c5fb7d25226aafefee1c46989f01e073f5727f8ad4305c5b9acf0ee4c113e2add9d8bd2e9ca9eceabf81aeff69a8b2fa175ad76feedef606e5d29b653d8d3f061815d4911a219668019f425afb782259dfbabc805569041250c0795df7e91805c3abff17bf8b3fbd614d0bdecf24f27f7d8f3b9a20f9f03f20ab84932e02214f5b2b83d50cc9c42ce3c0bc4d94c59475845a2a0c9ac842e8a8f8c9173aebd48a33069aa2e4260576cdfa6a783b8d15b7d5b58aa07fb3a5d956150076c77e85ee030773b85842848b3fba83f05770958d926ddb47ca5f5f1368cf586841a1798e870df929d879e32b6b338111d865365ef6ff88ef3e5db993b6e086b49122356ead04149895fd7fac42c52b1fab58882fe3be7d1120dbc3b4178f41dea02bf229c2ca13bb46e8f634eb57d55281adabed3e6433cce7c51fea16714f3ef0cc154ca9116b71b3a8baa07b8170274b7002a6450134d901c6dd201041f8c1f007e010282cb29ff554a0f44138228ffff888a6337c2e1b13a4043c3dad9fa25c52cafa5892a77e7987d3ccfd2401f3147c6bf7b770e0202f46bd6eebdf7de3225b2db0623011f011501cdb9662a6d3827b65b309a67bbbef74cc2baa4916aa04413a0d3cfb22e9a42819eb0414527324e4c990cb31171fa4d8ea3a478eaa430857a6a083572461d393b0e40e9c789329a563258da5b1451797eb2e72885ebc192f7480f58cf1a00f5debc7cad582168c5f8f64506943439c33df7bb94c4a34f74dafc79cb450ee7903311e612f4ab831c72c947a36d5693c8453a6f9763e768bb533d46c42a4be03828b73e2917c20717bab830eec2b71d1f398a3d614f2ea14d2e985ab0bb3c9b6c4ee6ae28a935aaabaf886335f4626094b63eb2bc8906d276165413b2d64ead48958a150a2dc19a42e16d669054ed28d8368e5ab15baf2625d9c248a90ad2446549c9d2c55ca9970b18a5ef218b7cfcc2d0312d0cdeb2c766508bc55a045505817d1d3190b6ff1e60429512d43291a7fd00087fe6342ee634efe24f4ef319d644921f049027c7fcff6dff47802ab6f1ffdbfea2ae30c7f8a92b0e345d5756402d42e44a21f3bd9421e868a40468575a5a48232a46ef5db0759f5b71d5ae801c2ae4ffe3ffb5c9390a8d28bd2e384a8007bb1db59046ff6f6f502e86523a5b07a5086a2e73783a9c188a059ccd7f5ea0c03784f6d9601cc6e1b018a59b9fd6d859b8b48c303a89ed31fce22086d2c6a30a7a5d085cc6930926999c7650cad67a3e94c00bbb7ad5c786ccdacad883d0bd0fccdcc8ecdc7fa293342a26adb0d7fe637424d363145d50c5d7777f8c501c538ea8cd186f974ac61c801a27e67f3ded792492f5a22f43fc0f82f89017dab9ae5a432191888e4ab0445ae0079aa80175431c5c4f6fa786c4fd55ef339746311f5454feabecd63903e4c7e68098423fd5a50dfa0253a8ed1e3d9648062f172d3dd93ca9d8d2c14c8f08159e19a6206397a5980f9ef6708874be762d3b6bcff1bd10c8825655d5b2279b34c84ea76382ca9c1ee886f440074fe0404737259b94fe3d9a298c0deaff8f01923f8a6a51dbbe5de0f0290144d839b0df31e7feff7777aced4b4cb3783c6107ab5dfc3c77893c992c803c41b1bbeeee9e6affffffdd3a080ff17a5cd9de5dbb7d733d5437acae0e4a9d016a78df73767976cf744328421815e002c6f86010c5c7efeebbebab5655400b8bfaaf162834ffd756e4845fc5afa45be1d2944b05800a804a0acbfc6da7d06b52d1dbdd0ef478441ddac048f4cea5836b0785ed69074976ee8ccb4a8095fd7fdc3dfb63a4663717b6aa069a39a7a1eb7044241ba06824ab9d9ecf8f8b02a9e0c3f91cf07e64f001e1e326602f54d1c94aa90826ce339250528aac89196bfad97f6a3909aa68508260713996ca4875aa9054461a94862a2286691f6b1a63033150366335516aeea889b2416c8842c454b3420d5c430824d80e0cf5586a573a1dd68a1ed745518fd25adaecfeffa5db126bd284c9b2217637281146b82284ed2c59e28dd22e2b03866f0a36e746c7395bbb8d877330a6303fa700aa60d77e5792d9709dbb73736fd95e06db48e1ee038a990ca341e3f9d9f67bcfb6f4fddbf67b2c7fb66df7debecda63a52d6c0ffd2c9ed344f0ec90e477ad371a6cd0451e2d0d5bb192ac491247c001046d49ca464733e3553165f52916662526229048e048900a8646d3a6d0583a60840281c1007c4039a22764631b00f94848ac50e4f84f27890108f834806221908a148062803800380180568c8a826000771aa6ca50888d3dd66df508d7fdbadb2785a9c0192b9fec46e2d56eb84db76d1bdd3eaf91273307f9e61166a972177daa07a851dafb1433ff8a3b4f0d936c309f01c07a1ec166c40748620575ebc5fdacd30cae986c7bcaade6dda75ee8b9fb76150ce1205dd81beb175d5d216261f12869519651602b8aa52caf1a7300b62b858bf8175d6bb1fa410d239d587375ba84f9ef9673109e3c64c8bf170e28bf50afd7586b60d00b5e3817cd3a88efd0ed7980b9d17d0cab184bcca00cea52e5f20e870d3723e51aaa92058d9d0603d0f505154af27ae7422b8befec7dcb1c16893388ba3f4809657f8a59afee2495885413962524d2dfd360d49a3390fc4c046a8553cc9be8fa640e1848fd36c19a2eee8825bbe1de8461a72e2a6c75238cb7d75dae6b5be92e19d08e651493ae27dc5331df1d1b30a59dc3aacd476ce064f81b5ad055915fbdd2870a333d7f5baf05ca548be620620972bc83488858b1faedb1893382f2a07aa48243831e40cb975fd03e3ec9a1e79d172ef7f4a65ea6beef716ce374dd44afd2d0021c3837784cbe43c593885ca10f799ded80c238603498b2139caddcc8b38a904ded36dcdc6ff167ac44c1f61eff3fd96354f50684829031058426892982bcac01c23b1cc6dd27f04506c5427ca702e89365e6a06e1c9b717c6b60f69e3dd06b676542e5b7b2dd9ab3185df4d0960ed8fd209760c1addbca09149221d6c11f4dca3da64f7bf3ccb8719972de39118cd869712746d2ebc3f7e27d45b661a3c947aa2b9757358bd6058281fddfd7a9a68deb06587150452cced7e0dce789ec8af7a436a3fc95859e95023e91d9ddc88b563d50d1ec438ff37a9ab6d7c5b3855f4afc17b21cfa5a79ed5bed6a0b6eb1389e3a62aa94da1441352921ac08999b7ecf3f639ae5127787f974bffae51a7dfd42865aa0c32b94c2cc7e904ca8419ca59b7a12ca44d3933f16cc2134f055621e352248c33c6daaf076b3947c30f3a2b5d10491572183d885e9d2a2c729c22211bd1a51fea3ee1cffbdcd1c1b9e105de85cf1d4d7ece5742a6761b8a1639e70100592655c2588359ce0c8ebde65aad223c508b609bd083938d93229d37e14bd2459252e66e46d6c5ac9b00a10b3661c41ba96ae8057fe6c1e641d604e0905e69a27dec63d77b784fc55fd192a3f0d08d54c73f80a7e6c024e23841e70c79580de020ea0811b7c60c3616597abbc299f26a0d2444fee777e76cbae9688b2e9cde22f179808423d05df03c009076f63d3bf743465e154d2027124cacee0b85f66f31eb238582597e2ead4bf6514f152fc336240fa37b09180f36a8ce3c59d00c0555b1c5664eaf4386c551a4ad55c1eeef21808e40889208437720f9c8ee7027d90a138351f8b2f2c5e9baea174ee764f2f7e8db67ad89f1a151ff4f79f2b42ebe18b0a235d99d73634655063d7da4a66d5bd0a743fc7766dae511acb4e0e41dd5c4d9728183d4478cbb083ae7c160105edf9d68c3bb77bb9431b94b33e7f6af18d7f71485648a290ecc0ff2f9a715442c08e58563a418c3c4847126404958e9404e8d07c99ce33298595caa10f8acf01e160f9a1aa2dc703f50ac33e2ebd290098f41df012788fd672ddb83af8bdff8bfcaaeba1459f28666b1a3e9b77533cf54535afc1459bf54580d5a9e852352d9d7133848a22d665ef237b116e6494d71070b10c849fe5bd75e8bcca14d5ac2a48fcd144c59c74103e4272bc02fac95caba2415434782ee72d80b72b5e648f2672f9ccc0b23e1c7a7085474b6eca443827442c56584b545b417212f1ec415352fd535b0ece23807e5632ef08a9d755ac4186e1be7ea694b36d2bb52e372a71590aff078cacb7ec22368d753de425458d169d7d99a77f19940e0e12b3fa6204f8b906d09223be11e06001fc33d4a004ed7a45a129c379479069fb12d712ce126f8edec8e770bc24fb6d12a3aece1ebc33d300aa6c24a07719b2bec01bab5cefbb381d058d4ced6ace4017fc00c4f735bf370796aaea187dcd899db263a2a749c30f8bb34eee039c4c17e8db89f52f2960a8b03b003313c09d47bfbd1ac56dc1535c3adb288b1534bfd5874c79db7fdb86f301de550895f866c5389222d841b26b26376b48fae414dea666726dd6f4a1e2e73e1bd15d82d7fa6e21a1f98acf68bc727c31fb1816d36998807ecb8a3a9918616fe89ed7811356472263bc0fc3d5f8e250f6c783e822cfc940225f3329441fc88f5a6f628e6aecdd921bd25274eca02744d0a2c3125a3a82e77cf162cf7f37c7d53b4332b8c21a25e81ec0df1c1b7a09c81f7db52b94a9c80ce59015ac35cd3968cf349c73741270a4a30c4e1a5dbcd63f93ab7c619e9f8f49fe6c1fa113f911ca4f4096dd165618b96e36ea5f48f7c6a6eabca00cba276a400fc3b84e6ce483dd54c32b1db993d78b11269dcf14b7c3d1720a8bc341d2829e2afdaa9b38bed7635445a82046479a89a12542a014da34a7a85275256b1a53402eb911baa48e11e84e583098a49274ba6a8aa6e64b3210bbd030eaf3192270a051e26ac2b31054f862fdfb08303f0942faea1fe5ca52f83814fea58c28c0185da1f0b03bd98e4eacf2c65741be0558eb2573667e995229bfb825dbbf8d04071ab2c36918287179b3f236d632fb04253c5e658bdc16266878f038160aefb63dd830efbc3449ae0f8331f2d9a935367e68c09d5d0e960e40400d9162285393128ce7b111adaa9eae50e459b2417831aec88272ac6d1a2ca69c5ca20dfc126265d37640f572dcfcd52f854379ceadad9fffa8a94a2940cdfc6dec6cc5a278edc784208da040ba2a91dea57cc26f80aca4ca3c372ccc264798fe3064fb671174e7dd6cf4dd8dd9cca8a7d00509596b5657e7060914706717af7a17a11dc3195f48db7812b7854dbe5d35a08cce61064ba1220c104bb940c3022063b4c5a33d14e66055b9fe20f9a9177448d71177da00f472d19611030465979603b66745928c106df3035d800fe8aceee2f75cb7dcdfa3578b8a8d1f08a0ebfbc442bf997cc7d97c9ee6e4c1c424318a0ebe7a9b5a72dbfd3a70debd4691e5a569bfe15d15ef93d2c18f8268b44795f5652e985a605b29a4b8c93c969ffc4ddb244b7200ebeb349bb0709e9bd6c1bac1274cf0e29a96b7bc4a235dc4bc3d8d5fbe6055a120015a9af6d7276454bda94ee1b0c01ec68ff1eead503875510162dcb609a3325045f8547ac57ba5d7cae6106d15ec831f62c61177d6eae10ce86e15b7870d9478455a9c4024c10ffce9efe6cbe7ebc9418c8c10fb584d46a5804c5fa34c9ed3c5aec753e787e14d99002794cc794d9247b429bf1610582774407ffd9c7aece27409822cecfefdfcfa7a2887c1f6bb932269f8f8bbfebc0ed02794bf5df84730af8617b569c6163186a0083ca0524c931362ab1359ba845b6e42bbc09ca25a11c37d7e1d389616d24824d359a3339a2eb13b6ac6064bb46eca4c33c3e58ac19b56a54b50de0423098e217168ce95291dfd237df8e0ba92214aecca61b92b416ae108a88780f0451ab2da78818ce951e100a7c374eae6c7f0f9a2d92a396142518f7a6781e02a1b20851e44e078f28b8de65b6b44af2ce167d2a8d69b4f1a64b9185d802f660e17be8b870a52e5103f94681deb46ea102654bb7441b92f929981f01222958b00e5890c8247e3e08384f8760741183555cf9e29e43e8486e5688be1c85dc07fe284a9852f698967bfa0fb00df8e875efcead52073abd5f82e3608843c850691fc635933a54f957bd71c81c7981eccd77ba8d325bf82a57541bc5cb288d8f6a28aa5a19c51a0aaae5c125a3c3d914bd7bf91f4880e69bf51c52138f6aa01b8e769c7380ea8e6a8ccf6fa0a756a7734d560754f3a54be189621a6f1280b81f60244f4011a99f89ec55801703691462303c1ad57b2f6a87e954eec327a093e75efa4ce64fb4d5bc6bddcda864476594d3c6d6607a3b3f43ec8af6d25532e0bd44e4e65b09d0012bf4e42eedf5cf778556f7221172f35df489902f8de147f767f5cf0b07a7e993d0d4aa7c4d89327b341b867e2d65c0dc2228fc54c4bef98bd01d0557a322c7e0dd538a3c0f3fba507d5e799dab1e79baeb3989e9a3cfd9948e01ef3aee47850210b3d1167b9f1b795161dbfd5363cc52fa5696f38755c225b46ab8a9618d3fa7db32150a5de69c646a10b14c9f6ac69daee20704b48df5759fdb796e982ba9259a005a92cfd080a6e88258789ed8b93cfb78e99050757ec97b52347223c777cd99d5149a85d2139529a52ae226fb66d008f4c4d039cd5dc8ff716e1a5117227cfc2562184616fb9b3b4d611197c2f5311229b72b876b7044c0a03412b307a6be7fc5643dd02ff27669284937132998a721a63eaf24adccb49625cf5a41ad1961f91d9eaf9a4c2564c82fbb3a6c077bad67d06146e0ba0e0c738b4e246427095f534e2910242bc28e6b3df2adc92cba5a81ba6b0112b8b2c792fa0769273c5b6304accac14033a9ae4736110196cab983fc886329cde3487772ca3345d68e8a7ce7ec1d34cb6a31bd9825dd91db2ad85cfe07aa5784541a0816d5a16176d3cc7ec810565aff39a6c42ddd937f8e1862ddf7d91637b430b42f797d6b16cd50a93b0aaec32744747ded4fb2916ca3a7113ea06c9ca88a8cc1506477b69f72662de5ac10f9852efd2f4653b438b3486b74c6e1bfe63485aa33a228f91bcf0302390a350471988856522cdfa020fc98340bc096506e32a40443079cac8bbfb145862979b998d16b2104dfd2c1d4f998af40a71754184ac6402e32aae35e2b66bdf6fc5f77398e08f87493f00fba094055136053972ae745fdb895d4642d06fbd1af3a4d6998329b7b8ded522edaf2038698b434dd47ccd4eca8dd1c2780f854d5ec75963690047593fe133e4b9f7dd1d8f3f01d90f72f87d60c1a32025667e90234e7934781ce4c7efc9949173228d72ab634517149c47f7fbd97e9a09f7953956271dd2ccb45b5f4cce4a7b7230f075e02a52e0faa2687ebcba9d744313ff1924177430cfa725165c7b12eb92d5e5b4e14b0966ee6faa4796661aa507a250704b0ba769a58d527aacb1bdff60ca3c488dbe24a2a6bf922e23cb3383f7b2c7d51f5624be42b246265097fdc146e0472a07ad1e3b9395d5d8ffc6311982c049ae0ef77062f6795a18573e64f0891c633f68b291af81b25d04669f1719c0ea203b0fff85c93ad68a275c7c03bf0b6a74d5fe9e1a6c5c103f5413d246e4f715208208e7cf757cbb80fb3e20998ca3b6a147198d300be9636cfad34ea0018e6803238465ea0c1c41b806ed81a18733e5e96ae974d674c07b23ba0b41740ed1c7e2eb451597e623672abe5ecedad0324214f1eafefe93ff2c9ac938c1dec9c5e6e4269560125fb22ecb9bff4e448a39be029d8b14a6bb3f6234d4a66ffba88d338badaf33a2c14ceef3d89718a624346e0b6edc52646a94eb113a298f4235d854f7d39728c013c36cb98a872a5259cfa8ae7056ad0832a8d2fc5c7c1a944859ac01a01ed772d63d66ee0110e286ed71380f2fcde400309debacc272ad9d9b92b27721919295c682898a96ef92852ad5132f5028b8cedfbab5bf04e5212c5e08a068f4ab8d148e543a9db699630c4f418baec88722ea6e34c3f808ba833ffa6a52a879b7e0f980fbe4ee520b721bc210243fa3173ace028c7bccd10557494e33a4445c943542b3162f8cfd760b3d516b63897fe1c2f6934444c4462ed9f3562c7814eb1811744b2ca7ea349747341491e884e886752e12e18ab821dd9b7b0297f4c291a21d4a02d18cdf95ec2e9d9b092b094c82e311a5dc9efa1234c09edf122fcd54f910b7f8c2edf7be7cc77c80346e44c2c619330648720979c0b93383b200ab993edec1dee4d902824906f750c279a0eea152997ee382f4bf1fabc1d38611867210fa839219c95b879c8f5b64572ce1cd765648b69b0928fd1c56c9a35567f8d91e567b2d7d00c24598693aef506e7891db868a02a24dc313f2232eebccf03e086df5a3ac7687147560f3a6742974019e996258ed1bc6e87d7f1d0d953863281cc85cc4fa7ba415f74e125455480ab1f3499f132894c2023eb113ef4c4f294075e63a22320c549a83d8ae0487ab405806fc92d9d62fe7cb40e241d0f976b1277b8fdc4460e65cd4179e896e00d9f73ac765cab7a8c364464d6a25e4bc6de929f9bcba83fc4990fc7524f3c0c2e4b7dcaa104d454c41a6355276d8470e9cbc893f24037643ddb6dd69a16a03e3df3f75690a64f5baa45f1253954b35f83d8cb678804480ebb087201c09967144d801a80bcbbc09fc6710f75f9dc3f36318d642f6d3ae9a16bd8068a4458527f47ac2572840dbd732ccf5d9e949679d085ddaaf01fe352c26a271a6515cd780afe855d3a5bac26f8dcc4bf82bf3bacd1ca13270e8d721d1bc0ef0d758b448301fadc202a4d609e6dd201986f1cbc791686e61cea8ebb6a773b00d0a08b05ebe6ef922b180f24975eda71884864557c91895466b11b74e657ffa6c3aea03e9f71c4f51d3ad38d08b759b2f7de724b99c8de24920296027602e7c80633ec1219e7fa99b9a705fffd0f971d94e95078f22a853f3cf3a990ac71443cbba7d4508a551148f9aa446b962c5b80be02027a16d5574e9ecaccd01a242cb6c22b2a7ef39b9b8c799b5fbabc884e8e4de58ddba692b6110f0f0a8539e040dc59d2000cf2bce4cceb54a4c751dc05c89731f2b705fd202de96130cb7ae3dca5bb312ed5d6edeeaecfab8b25c61fbebd0273ceb93b2ed1d4176e30cbfa61ceb987a46a2924590a012d13d2f89e1e140f121e1f0a901caa460d38086264ec659a9cf351636d4edec8ccbccc5808a1a24011ad152f9f395efecc03cb9821508679797a50a765663eed6a613778f2e4571746e006661923c45e66602d391a8d68a6318f2ac32dc91d52dba14d464b37c2145cde78570cdaf471f36b9b31d539dea327080d7680d20d3cc9d0b3acfe4c28af3dcadf213c843bf277f3653f18510e926c01ccdd7195b95782bd946ba102762a67a54a0c549a12751131a862483d6bc38810468270aa975e2a3d020610208064d2f65f7a88006c259409084f90ad9e36524e0390534fa7201b101ed391920e9645152f9351d24902bc72431c61524e54f881e8081b2a9326edd870b0059b07b548191b6ea51a37d8d1499a048fde214224f6f4cf9248243a9b7e54aa63f4eff9ec5658977a29c499f1ee77e36ec931178a02c5e68cf1518abca1c0bf1f1b9bae8f966a085372ace95c5b9b29dc9aa87173aea6d3a756c772149b59dc718e96342d0c081a0d936942ae3864df8db1af377af00b7d22e44819b1fe238d8fdfee3116891d6743079d7cfb8253b5a94da6f6c1a9a58abae97eabe69212ada6edc80dcaa6ee98ba2b3dd6daff3cdf3b9a236d0977d79b079d73fcef103bfeeeba679c9428cfa364bbad9ca27d32466984284a3904a414cead298d4b5f77aa7636844e57a4aa775807c9036215174afba792908ef01d29ef3c1ef30bdc1edce4382305376de1ba530b7a20cfbe77790d5a9fe5711226b9c59768ee696a02758016bf7382d25e2fb6ecd2da6ce6db25e6d295914840076c48d3a2121f27a824443e4ab299c54c4a81137020438b0225edf3c2d0b021f95609ee83991932336fb5c46198658c903e355f48294794b2b727b1f2d36abd5aab2080fa94ccab8fbf7a615d0d0733642c7a06cd2b63419105bdfa054607a083716996c7fcffe1fff340d850e05fc5a6895262623e94b19c2b091f29ce154492c3bddc99d7f3d8a18c7361623216148e8c23233b7ba958a8926aa7234f2965171d9fd80df9c47026a5b34265521b773608480ed94bba535737742372a0421f956dc5c76270707028b5b9a9a4914d74988f0f3167bb291d3101d9829c4e32e7140488a984d3c58a3921751245862122ba4c4da35d4e89ea633b1c75ccff7fe64cccf991b979999071498a92d0249b8d34da4e28229cd30dce4d6ba827556a54d238b74ae949563ae3fb6d1942be5454112cbc68a043cfcfa36f7f801e878772bc2925dd34ed7107fe5c6cebc7226cfa34583b334395b7545654b3325a06b3ce1a46fa3a4b54db9c53235b6a3b4e9c99148d138b59911bc27abf6890c38bcc725256c230c91d4a6a9d5f76bb5640171c39830c962839615f84746a3bcd18bb5bc6eed5a1a5a1226666e64b796666c8ccccfc43782834acb9d9b86432c1d2c4b9d981c2cccc50706e62a46be61ab8063e62724d941f08c5cb9ac730dceaee77ffffefeeae94ffffe6be108ccf1f2efa71913da294ddd9b97c1be36f30f3c6837a9dd2067be086f5f0c094b2a9249dd59ea984f714a49b415641eefc931f273b6626bd03b1df39a06b7721fef9ffff7fffdfa2f96f6eda83a53b6372453f889999bdd8c201af2d546e95d17fe353c13f64f8ef10ccdff2ce7ae155cb3a336ff0c4b9ac73aeba75fbefba163e0a07259f193a66c89fe29095c04eabddfdcfdadd75c12fb66023a7c88810067f40b7ad25785b3623a7a9891dfa41935a43a40685a6a22695064d0a8d49cc7faa9c5456aab4ae7077c76e41282529c541f1f4a849ddb5716eb4d1a82ef1329abb6f99d1eeae4c9ac825ed865c1c6eb7e5dd5de61df3c48e7962f9fb4386eec50c21c4d02c0fffc6a6a5938f0c234dc8e336b747674b2c0e494388102260527c44ebb4ff77af582d2d3cb6d0e005e66f4fc277652ce74ae21b3f0ee7c2c4acf172ceb95de79c7cffffaedcbae99031f1f153bab8f0774110fece397828a3ecc7b82722a404775434929289006436123e404dd93fffbdfdb0ff3dae0663af75d55ae59c3ba2bba886a3cd6da8ac21095d59e7dabb1e2ffe3f82c42f03216c081b42d853604f817df8ff7ff7bbb90c41e69ffbf4870c796b866f66fe233794034c070d94d144123cb0f86bfdab5d8f0901ffff87f03736286e599f907e2fdc6e94f267666649833c0d9f528ed020cc0cfb02219bc15aa7d59271b2f2deff9efbf69739552d3302341d19f950b841586f6c867cac9c501a6a642a9da03ca990c62040aae954eabb9d002775019427d8174dc0bf4f50b1ad1bef993069b264a87be8490f451d80c0d4940eda8b58540be3cad576b4a4ad6bb3bb10de68414e75e774e44810140a080f8f69db4a3b383b373bfcb95db805dedddda76ac7dded9addde8acbd361925a14c918e19368f4e1614307a14e36b30821fc1b3e0832ecf39b2f2184f031eb53c869a8fc5e1c8eac48d5e734294dd322136d4c3746b2e66baec0539a14110576d02082585d51cd2b5602ffffdfcbfefffe324e382f2312ffeb836a202d5168477d5221ed39114afbfd084aa39454a30e0230374a49296f9685f9dfcecbccbc2d6bc1f0bcbba74f0dff3016549134a8642ce74a020e2886f4514f9b131d1a48f5b49d523a4e74b2a16f599c87b5ea238db657a73c8242f1f0904694049f4f1d766e75e6db4b0c672782239a34f98049c5c8944ef5f5b5157f7ff7bb6bec361bda9c0130196973ce49e99c6ed33a5302cc6a4b4e91913386b8fa7df7b5fc773fa6ee3e4169e90c30465a67fc77ee5fb1562bd69b00881f2c288256ac9374a9e198ef0608ae3039fc3ff1c6dfed5ddee51ffeb77f8541d1ec6ca78c556a843bc0e13b10ec987977f770afe53c0cfb87df7885c1be605eb0169223a927e43383d0055d08b5bc6440421950d00c2f035e53702045d33a46996dd866abe96ca33e518b728f0b2c70048562d26409ebb8331f10e97a227a94c3ae4f6a1836689a2627c36da5a45b85047fda70b4c1914ed44ed8980285df15f63b131e168145b26c52746e67aed9aee8ac4f2ea8cead8036cbae76259f132cd75d2f9704675c6fbc4218c105822b0cab5f553034f00d524b081547991150e26f5549f2c0c1662e35824335e17331de956449b1409b655772575004ed8ab52b87c5942a2749e2c3bd76838bc32f0496cc654c5a8e86ec7e74bf7f5c989ca21e21669ec2ccccbccbbbcccc9cf1f2f2eeee5e6a99cbbcb94bf9c7c8ef9d009650da78e7b4a9edf9d11a8d46d1a7de409baabd74c299259c3e82b548f335455bf006302b385c9aa64dcda6926ce2a86aade931e3dc48239d227367cea9cdb91ba5efe63ea5ef67738a628452e076ef6c94612ca185063ff145e9f3c2705791b525ee95d48c8ff47999d4e786e785ea40a1215eeca9bee7025a2b41536050dfb9f7f7e2b32955ae60a83fac63931da8840cba7c0ca001c3a70006445110c4712c4d43cd4674b402c9c4cc4b43064284cac1712820068404e130284c062021842119006148068324eab4333be845cb8c7d7f7e7f7fc2672f7264235a2ba9d7816c87c1619cb61c7c95f96198e1786a6ccc73f91bf0d186237d75a5877d20aac1fbd73284defb2e6350c1ae5d1bcf0d4a39ef142076a625801bde794244637df367aa34a7533e58e68361d214de1eb13a11b4dfa010adebcb4a9d98010c65809a7bb5b26aa20e906ce1574de3c86ea418b6490a602fe1f0437bc4dae448d558bb8917add2ab1ef0a059fb4c6ad81af627d6b29012cf9fc2bea523799e9b81f346b4b72f7be579a523b941bf8bb692b05ed77bc703fb6401bfa81dbb9a2df8f9d9ac3601b1c73047c717a2920fbd2dde62a3c13baf046d7c8ba50d70704e6e4d971a392da6f531231952519851142a92a2ed61ec181c620684d9df70217ec517e1a7c94707caa03836abde973c3a96be8d1571585a2f2c716a95158dce3ea38d8e4d6a58f68eafa37bd794a7cae4b063e43e69a511f0b726fa5dc51b23610522568aa67c765e02a1fe6be3456fc8c8673e2ba77f3473e052099e6ef79bb783d61cba1b7f983a9410227a0576979e968d92481656925a7cb8749b7efc8074b05e7662e0dc93282fa6f433f73b832a3b8c42264c3e33145a589bc5b841cf9f19e5107b909a4b5a08ce31f0b6500ec7505a0e94c8730e3370f0fdc0bc8410ec55ef4165c590da29eb9ddaa7941454a4f5151d0b6efd37f43db32bdf0f0a754d48072b6c7cf52f4fd5649112401212a3bb4678ff1c66821f4e363b3529a5fc526e82786bc870331f136743fc27428f0d371601065fd16ece07b565652d128676f65f00b3a517b22bfe85109198ab5d1cfb8f110b38011604dcdc92456713e6b08d1a36aed774cefc27c8989d49f0729c72c57cc52c07f8dfb4250ecdd9c49c81cd8a9ce8e6d7541085e6d919e1f5b6b6f91868f62044fc6a3001d3a90e71f4158629b84bfc9b7b7ed7e6de8fad0334292c12066c7d46ce54f7084fd77452c353a2318501b1e16eb3cc472d744c343cb8e14de83cd5c52b9e662cc974fc0913f80711edaf6f355dc26ec6dfaab8e4d6f1875321e390734439c2b1ad73bc907cc31c8b601c960326797f745dec200d170ecf18ac5b274da24beea3e8c54a97e8500556a44b9f5c677185b11376768e716983bbf432a6340e9b11c6654b8d3a3e1add590e4e3986cf6aee17023bc8aad224a713c2a37847960e0a4121f8917576d8bb2c78eb24026768c723ac64f2aed1cb68504db6eba21d6897598e6aa326da6c0994b2499eb6b6c84697de7674e6a1bc1bf477c77a86df191a330c6da78be28408b4fc5d7a99103eeb0cb8989bf9073f411418f0649e2fe6a407958497ac0b50fe8db324d4b0b2fec77b0994f604e83eceda51fa5b9dc222b025ceba8a8dfd2a826ba4a14ab1e7ad99c717e8c4e68d089af1d19be6a4e556d13912ecd16c3ab4c30096e3e63e3e43d1700118c96cecca917cb2bc1c8c15835d498ffb4f92f8b3b546dfc8f2e6e272d5e1f5f2a0750cb6bbd301898f77b702533d8e32b741cb935ae2a6f8916ec0b30b981112e11fd1a4863f9aa480ccd4defb562bd119f862493f36a1c3d8389e981b6a95295074129f967e075ef962f713fbaf89403c8cb0b295d3875ee31b972e5b66a91c7b21ce4ffcfbb6a8b86248b859388965805028067766fa6e6e83b4cd643d419e032d961c63b0d178a3fbce0596572c9328b6486360e79a1ccceb56a459759d7025078bb16133214119a6056043e2d8bf12fb34bf974c83f125816dd8367118ad63b02c1329463c457792ab3804d7158cb9c2ef3731469a45e5dfbdb4d87fd4935764441bed654bb58134727b7b23de895dce9324ad787a62a619991cf05d0eccdf66e9be63e85324d2d9d5b8c872ad5f762bd9e4a996c1e3f98abf48a33ab32b6a5d02af4d70e52fa75703bb8a1335517b099acb24081bac49d59292fba89dc0a157a6fe88413aea54894b186e4c9d4ea044a020ac858ca075236be4dd913fa4fbfce00c15da44abe9b9077714afaa40ef1f3f80bc1984f08d698c22c22bcbe687a8f2124ad525895ca93e449f8211175d445831441c36fa6b38f08b78b4dae723f91efddb048bb484f00c399005aaedaa761eac4d8da46530344637c3b84e9f90b3425764f0f645c208e2b9d74db4fa8fe0d6d843fb7454fc6a02ab57ff1ebe1e639475d7a5d3d7cda7e4f05c9967ef313b84e139d4510e6a4b27600d61b6d1fcde66d9d8306681e9b3b2a903e0fd07fa16b638b33209155292a9852f09e50e4c6fa0426a28cb87dfa44fb657817df8dfc02fea9d1691ad40d6a0ec345ca350933d7d0469a809445d82eaa43ec983e72c8f5b98a24c1a9f41624f8bc0be3f681f751a7cf86387b7033f2aac8664fac29e04f982b58656a736933dd9339908b6b4e557008a424b882c9f564dc8e5e4a1dc67eccbd3d48bd0266b4d3da11d0563007660949078cecc14b481dda5476d04e21bdf37c5c4464b6b86291b1415964c4b5aae02022ba5cc469ca48f5a2d685bc839aace95812ea5b6dd98ed4c62662c09b8b4edfc682a005c341e66bb1aeee6707b8eaf49e74b7b346065ce5d0d5ef83abcbeeab4900fa5a53f6c83bba5c02004a98d4e139ed447dcca6da7b0519cc8ed55fc31b551c079cd49555d0ee3a7c9251e3e956f4ea9fdf109cab8534e2c777a8c05f005f77cc0db7acfff12ac16bc96e966166541c33057e2c00268b3cb1b11a012d02dc2e46178eeed41cfd8575d562392898448fa43c7d98c5270187a94b5e1945138e6d303253fb40fae7df9d1e4e120bb982df995686a8e39b96c79d4857a25ea02385fc2cb5f2fcbd7b599805e7f615ce2a27b808ec0c29add2f93d9eeead98eb28561faaa5a098a29d70356b9e95b1055b9cc1c18a6da2d40996026fd85dc5c528e4b00c424c0fadc6d5aeb658491ccb176e2e21969eb73077ad5d4648767ae812e42f4000f9c167b689458784f73b791ee26ae43ef0c3f0112c8b99fefd607cc9c2408e878c161a7ad0b87b91a81dfe41565370b2f8d9339cac37359508d7d92af210b29a17fda11e0b15cd4ae8a523ba150edda17984749517bc56a808724d907660ddbb7e80aa5ab3ca99814a0f641f2d26e4edd93f04588cd6e40daa11e3757de6f76ed3ad20f34fafe346b5660b297c53365ad5dbc53721b13d0d4b9819ae7f037618018d264edc450c837d471a3f9ac9d481998cf49eeb26bd7c6fb5318b750d054fb18b40e6310ef44891546fe28124e555178b16483a23992203394a9f2923386489cdcedf6df3b3e5c1f6bbf1bebe775f1308a62c56c97e7ac2723a668e467eca79cd74d3179b649eb6475ba9bd7bb05697915b9fd7b2ef4f8a29e91db8b78ab1ea615cc85d02b63dfbb01e0c04c6a9d1c567857a535449422fa0c4a9db11ad9cf3f0660620f1f4937c1a3cb0ffd7c9d113a5348dedadc1daeae8f199ac81ec6601c6d246824427b88dc80de1c4408fe56e25ddbb80c96f383c6f043c634bc71920abc83a1cdb782ff8c00110d76d0872bf1b60eef16bf528211867067211c54adb9a337458cf3a0a306e3f92a08a2f65624225199c1ca7fab0d67c817756cb7c4d1feaf1024f84c1c4a71f828290e162b8ba3675b5b1c451dda87f24382b185fcfd0288ff45e8d8189f0fa239216c446380d472fcf26c1f08f6f883b28f5165bd021fabcb3aeba6f2e854934a0c6f5f738cc813bb348c684497e9a78957df0c01e783e62376cb79cf0ac80d5de366ce0a475be19bd0c532c6318eaf05782d09a764fb8700f22c7231dcf899455f4ee01503229040467514aeb8350c1c574bf25653d5a004660f9ec0a100b35c0687cf90a22342684c316afbc7376bc3fa8de20d73b9be79b81fa4afeccfd5674b40c468b2c018c1cfcff177f48da9b9e949ef41eca23b9ededcffdf2007efbcd33f30abee43a85f9c17eb91e4edec7139d4a12a422520eabe3d7c6197eb29e13327b19509141b036d617e7fad8131050d667c873560ed9aebde858623d5d489d3c05476bd041139dc3522eace4177e88dc8eeeef25772efde62a19e7b2ae979b5dbf35726ce0debf9ddbfd2cd5abdfe24f3cfeacae69abfe6e0bf6075baf1310cad56a4a645e5c740a03c6c64a030ed93d7685a08c6d16b1c0aa50bc6cf8f136d4f9ac7286d8d32263779a2f9741014dd1334c5e23d4a1c653c139ec18e0a2c3d9fed740a2aa1e64e5266d7cdeece8bd8d4b5197f1dc9c90bf773d39b442d70a297b2f4759ede1765e495cc4a3050859b4fd83dfb847fb7da66d9201b8c22f3cff1c3a97daf9f195f04bacc783b769c8b3b8af22e27ec58bff58b6294f3c5369a92d95915738d65007e0a6e7717cab15cc9b195d0e02ed609b721173a038d2d3d3e76646ae21fff32cc4cd74beb33ab9c294289d7e9a9264044eb32320c4dd42df2725b13ba8ce0fb8e50cb0b3c1d959563f565a57f347057100371bc5bde427c3dbe792c7d9c3516379d4ecb6c82c4f2dffa0f9724ad0dc9e192c0a9aefbd4d89056d091eb3070d9780c66848e9084fa8ee15ca1ca5ab86815bb0873458442545df53fe878921ec851fde0f39a7adb8a8956c23f33a66a61d911f3cb1f2d4663ed9d6841f05f66396b9f4876e6de1564be2718cf5df88e7370e882ad35b90a7faebb18208f789b0d25ecfec0b4204c5df435b42ff5e8f7c82b321ad802cdabe7f72ff43214e754e08502374c5a5372e92d932d5a2904d36b124ce82d7d6f2254e036fca6ac75d6e020583d0e868e95f5e078bf8b7ca9c2826d6fc9a4c7c36df51b4c18f29b1da8076f01582fefb6b8b7a4c1b4f9259a67a458a394b6f77e69b1226207ba185c1d26df58594408941c15334b649e397209027119e23d5c91abbacab1dde04daae19e1d81e5bea965c01cca2293d1524e6befee65bc3b9d0a26118afe2df7d60b41ba71e82e1d7597c4b2d645edd911602b82653ff19ed2761873f8d1ad489d3bf107c5f3ee89bfacf75603b5659cd58713d59d48c0ee4ada0dae609ddb80a145868d49aa6f3b5114c5a15faf934edde579913801ee9a26f3524b55111e933b63542ad1261e792dc7636754946446f85919f1a4b503b9c36887f50aec00cc520d073631c4592d8c4c503d0b68987ab587be803d36b002e5777ac20d5db78b8528d1819873af73cf8c7d518394ae7f0f3c6bcdafee12492e229170780ea821c0240a2f55ad59b5729599493430774d68d9155c2dd94cc99f161b2b6c2766ac5a8f74ef6ec0892f489040bbbb021b450365d88111d2b3e56a048fe0865710a083969ac37ae60f4676565da8aa0f0c7c9c218d4e9316f18d2fce878e232bf3da9a8cd33abefdca3156bba290cad6d1c3bfa53a4fc986cbfedcb621be119ef06e6a59b4ce08560dc2b52da02791cf94a9b857119fee02431663e06fad32da160f07b68c1ff279fc466ca2700f8e31ace6109a9ea54fbef733fb1e96dd2b4cf205502201860479525da7e938df0189a3573f39190fd1c12231d4c7f8afff15fb128b7917fe40bc0f9d0c8b29113a43147401f86c1a089734723f37acaa1e74778b431a3d04227165ec525f8cc129cf9f1aa732313987387d41edcd8a3357764a3c37a07e710e51cf019d71ec67148596ef8967818c0ed9cff794c2e141d1a2a966c3f504e4c4041bf9d1be84237ea68e7eb149833eafa34eb92ea056effeb1fcd877c59dcbe682b0ba804705da09026221c8b7fa479dae592141869668cb04af63bc48104346b4ffacea77821c6068a6a53588ca72c82ef92fdf9b26b40d2f90e4db45749b430d6233d81ba56c553e0f722903afb3ccbda944b5af9a2070cd411eb4c03f90ce51f9de487af4c5e9f8f6c94cf0cca3b43b58662a4755f504d7bc0c6c279ab111e6113cdb20f749a1a2a92da0174e83315b3ff3b558fa4326487519e32a0e28ceac14de7246bf7c2821f7cf8e6a8508c451e9301736405d78bbace200d21295f6139f56fb2e27e77f025784d50a397bf74c700b7b240e75fc0498cbbe0718bfef03d6540495c334a099396ca4da77bfc06090ef119bb6172c8d0d4152a45c53490f35e58a4f7a038cbea6456e814b95097b870edf9383976809ff1d8f68b8144e52bbaff551ebe4c8a493f47546f3c698abe9477d67afbe97739a904ee458fceddbaad3a4f9d09bfccb718ef5c7eb7d599b98e41b6da94c5730cca7c52dc6103b3894bbbbf0d0a8fedd6a74e5b06c14fb289b357bb188e5b1b1141b2f10b7bcc7024a1174988f09828fb8dd14aefbe66eb95de5cbddb816e183b85ad7fb837e7f700314d8cc433a43e632197d89936993a58a750fe32fd4d67dccecf61b4dbb7159cfe0a3eede6a25b55dd224cebd2b0f11c9d4f78f7167d34da7c1c2f052c119c2bdb4c00152e9296d139c1c234f05765edd09f0a047233ffc0bb3675e69aa88ec7cd914d0411016243fcd9b69bfe5bc9b54e343bf7323c18cfc996eb886b01b65b0bbd17d7aa8caf0006a9421079d2195d986196242217b07aff9bed7b7263ac865d44039df12be0d86ea06a7e066e6717c051f3960530ac45ed7a350b37fb87cc469548207f432b16fb8e0f4763dd63e5321858cf6476671b0d7d2a2401d0efac712047c5cb26b923c89dd9c64ff456719310927efc2a05eab8169d482bb94c69a21884827fc1a162e75380d608ec3a2d3f535344ccef171609c34bb87d3620ab497711e83cc58b5ad380a0ca8b6ab76e8942dfd8e33963e8e311caf4b8ebd25f9f2106758093f09af0d18f36e95f216787d42ee60f833deb4e7baa01da0dc41c9994a25426b7054f64d37b074fe174a74ae4fba077ffd335d254f68fac7ea494041a3f211aeb81556415059947821090f5527d4bbf5c9bd4ccb5c549917db8e2f3ea65a0547171e1f6176cf89c245915775f6d2eb966fcb022d5eed9069957355ed05b3daae4d03d0c3ebc22b857e07a9306ac0cdffa250a758aee841f940ad59bd8280e61adbab264884bf08387a11df83b3118c7635261e3e9332d4127a2ab59cd62cd48868bb3297010e70202e5b5be36a14942d9b00471ddacb2203469e2ebfbe5bf292509f3de8f5ae9635696d6f3008eb2cb896f9bad56ea045ac4a511b67045e935e3e2534ee8d1096188be5cbae50714dd1946d4826896b260e217a1e5c331eaa4a60d8146dad4e54455facf6bb7c720736255baf60dfd5d3a3b863395a729a3268d4ed3f7f5b7206d80becd1499e4ccc9679fab7ef3fb99e585a188b0fc97fb17ecf61413db2a76fa276937e0e1148c7c248d0e19117b5e15c77841402ea3f5e80ef949cf37115691714fd8ae9c64aacaeacec98b8f46bc7c435f41e372933c4945959a74bdd921cafc0c60bf7406d9171c533d7000e9655f62432d64db8ce5a3a1b1512ead95f840b77f8c3d3ec49222f7aada5223812a0273812f16fc5ee10d48be7468da9a8b62b23046a0ad38836f4640e9454c186d014d50c8d1b1f02c9aacf708341d979f1a07978b4efeae85841c4c92d2d39b1661e717cc20e44bf03037c14bb5ef711b4d8f921ae68fccaceeb3ac1d9ba0b8763cf571d068bac20a6d19c2661e428d8e08e71b1dcb2f18131d308569973a52253f06da64791fc8e643709b9aff5060a4874ef645ddcc19d2043aace6c4206980907cf496b9aedf16ac5ea941511dc7a64622171bd3c3cf1a81e2c1b0f21f0f5a8ea29640ed10a4b3fc92e08191fa00fa1b1156db752e85fc52507d35885a63e2fa24cff62f6d49d53b272b2631feba89c7a81a2220d16f477bb218cdbde997d8f6f4a98ebc0dd658018cbd10bd57b50a0c856b3c575da2baf7ab85b79afc10877b5e13ea435ab49fb221a9cfcc392eb580d650019ade6c93ebc433edcac375f2f218fd345bbc5f13677e394c8ef928d516bc8b4c7557cc0f74ad6ccc3a523f2da01f103c271dbe35abae64faa8f935d87e8d5c4768e3013d6d201c685cc90a13341bf41dee6281f7425bd173ca7c006b2f53ecfda51482842d84c0b4dd8f0f1084a28d855b0cd3e8a58a9f235b59372509a6c508e81e330402699c71b1dab78bd567716b00b0a864c828aab2d20383ce48ec2b7ca821ab809edd72811e2390cfaf3d8d77128e8bf15d14f9f14a2c600b79ac6225f98682111a2178b1c0927d547e3eb210e11dbbf4127c60cbbbb2543e0663f811b6795c54f2736fd9c2b12f2408ffbd2447a4235f407e9d51336698371fc1a3c018b8593edba3802a196fe7db0284370a3d2ec516d9a054cdb27bfdbc9be48a954cd7c038c9e62b7f6132dce5db0400aacc0fe4fbdd7e2b26e3bdc31d40c3cd96edbe57fd80d7efbc369424130cd823120464d4d1a2b90d48f2c662b6b821ff962fc585c36ca953b87ffd19212d1b5ad00f406c01a8686cd7203f719b48f45ac152082dc0c9b57b26882e704ecab14829c9e9422a768cd14100af07e8ed029003b9954b3d0eb8ca76172b5b99b6bd37383476ea9d9cfe34ff85cadb8393e46565acd69d9c3a6473dffdafe19ec570b9b854dd58b660d66946da399208a9f4a1949f4dbc4c17efdbcaa241b8439375e0c69b01e84e076e76f56304a3097f8873ca5d77a208a7d366e42f067e25a036df2a1674ec182ebbd24c1db3010029065b08030b864052f6d4aa020c8f0ce38505586a6d4039ffa339271bda40b119e59a61a2e9d6c05f84f082e7bef7245da89b15ff9daf80189113c8d28e55c9bac365cf9ecda9e4b17f7184c0f3aa3d02588877ef11c50fbe2077d4819dae9346d81cdc56dea3c3455ef7c4d05381349cc6dd0c42c71a09e85f02c42d0148f50995abc3a13d36eaf0761dd23d97940f7cc356a9074b9fbc0f69bcd300fd45c18d86cc48247d4845c03bfa27425b5e7a2d466a14f6bbc3116d1979afa5eafef9d4a3d9d66b2834717e45345672fb477857c6963f3ed45702ff9a7ed5576cc116cd72e17180d475a025ff60de12b0d5912b75b5ad7b96d4ab75cf079f1604f0e86ca7b76fb62d0157d1164de98803f86e0bb2a2539f8a20a173eca31b61dc9b457e8293648417a6da190abe87c8de3681a3cd0007c186d0c0869deee845750d0823aec7da09168bf4fad200e1451ad1952cdd5d16e8cc18bcec7daeadc89628dd063e870b3baef8369a70f66a4e96ed7a94788baab5402a5dc5432e0a5ab1316306c8b567300539ac395184eccf6782f3f3a4e77aa1a957fad5997f3f5c20e77883e2971dd8b339b464d2dbdf5611c22f1c159b6b31e07f877463716a9e4d8168837b28ec3406244011b6b8521cb52f9644c8a230abfad43c52656785710dcb50542b48e80316bff35fa4ff591fe8ffe8f369a0c759691421be3df509cada4d85f7a14a3e92db73d6b1c96c966fd1d1437b65b76b8468b67345b68764603d3f42fce6436262d9a7e93e3a0bc46a4329d86710c619ed913cafc8922e834ea4d7a495b590882016ed98fce0c87569867af4a00e3351620686caca2706683be54241702e8bca871c81f1d1baa42f3bab2a71a0e046430922489ef11bf06a4bb62e954c6950816f9a3fbb1b3d32925329e853ed8a91b1d0dbd645fdb3d3d25c25a2ad2a6335a1fce48aefcce7895d236a583dce94870099c6dd6698ac23150f7d82544bafa408d62ff151cc2d73e59cdb38f00a2f678b789ea0deac4fdb4a207ccc9f012b9e98e1082a06f76c4034f8535947ec381786a053d9da1763226b3a0835c40153326e7cf97a53a61460e676ce3bde1e3be13fbb6f5c296ab20a3225812f44ada4b056a38315968a764d4d7af4d3dbe7f50c0a598ebe820c3a986dd5c9a1a9145ebd44531b4a5a10a7e28a987bb2719ea3ef3994e3d16ffa3dcd46dcfa6bc271968fb82d487da5464be5ce7e9cd959758d6cd6fd21b67582e732c82827534793ce0302bec530bd7a981a891199c28908067d1ad6ec2ecf54baaad1bdfc55d68c9157fcd18198866aaeba6cffdd1d5f493297425bbf9d3fb47a3be7f492dec1d046220e7377f0223cbb2cb74ff8fc14fd1f13a4c02b1fbad88d6ee02553886119eecd0ed199f446fa5dbe6412eea08fa2f1c633bfab6f1f614bc54584382fe60d7475e3e2cb4c15eff60fb6ad5bd0068ce8d79cb00847cd3d3436e9dd7ebf63f1ecf9a47cbd2acc07afc67ada60b07f283c48fd5295ebd41fd57adc5f882da04f87ef3470f05cc0b526dbf80d50158d9dc70b1f649daab8051e5d14c7eeaf9e9ba0f2bf557172b797542e2cbb9b66d718d0871c31bdff76e8280d6b9b97e2e74ff12c66afbb6f45ab070521a361decb4fd7e5590955c592c35d5766f0aaea2b1eb6a8264ab30b380a641a342db046e77aa02493c5a87b376d7277a9abcb8db9e8200f39f3371404b847f06d630f73169d920d2c9c8c7c1500186fdead4d468f76044ae239f6f3e8ebbb4829f4b9e2296d6af49dd30b0b1ecc9745462ac8c91f2029e15a3914f0677e9cab3637bfea031bb50b0c3452dee6482d3f764ce9d1db7cb96f1226d7857cb1a41b1bcae8c4caaaea52d2cb275c2cf029cf994413149e5aff6a3a475553d69e0383f632a99a571f4d87993b2b9895bf8a95486fa8a52ba61a1af45d2fd87aa0c05ae40261062bb25ed7e2d24619a7f7d63c179f5844f5a2a72cbe502fb6d1e930dde80a64f38a837cc43f44965a83fa5f6e21ddc08059723dbb681d3b819bc1f10372a6549ebac3df338918f3d23318c240a374b429daf39a0e718200b1a398f8983a0fccd203db2805bb27314b47558d389b36a33fe97465756645d82c8e6d478c96324dc9163f924ebe23b963e99cdf1a679153eff3f75bc42b579521003d731622415ac8675626c783d26411536923ed5ed9338b52dc39f395eac991936ad1ef3904cb5fcc493031f6141cac8907d403a591a09ce600d534d2bb6cf22850ca7fb74ed20cb8368c534a388f9e9f3c0cbe896cc49abf967ac49d9b77059dfaf397037b1d7c6d4f80d954ff705d142969db66ece3dd3900da9967d29b01c738d91cd910234b731440d978a96d549eee964dd827afe10f4b8a4a10340c71c4f7a6c138692ed42da7ac39041c0225320c6b400c6c88938ad59f2bd120e71463e0db8a9c9742380b60fd851353501bd114edd9294864bd1c2ace40868b2bfa5b2b3fa9ddca63a7bb34f32e5b4f423bb2e37b013f01c92e0f93c72e57186e9a3ce206ce58c01dd2cb4f1b1d5cf6c9b18e01c6388a988d454b8159be31daf01fc53c8c260192475a7cb5101228e1075d39bf0fc4d5ad46e4ab1fb2e8602c890501402883799c1a3f793c960830e4a9da685431344101a3a4600456e972e8639463f04527e285324c57ad26a642ec31b016512b14e401c76f7c1a3a4cad53b1526bad313f049dd95a6cd24bba2fa85070d26f9c083ec52ddd2f26d587388a2bb2100ea8ece1f0807ca890494796766735873614225873b03a528516444cd22bc295961a1bf8fd279404a61b21f2245edf08ea18a17a13b58e45920fb0050202d34b5094af1d706726a382120c3491a7820a136853832c87d3f380d0d2f2d05d560ad33035ddc084426f401daeb1e006114cc7460160c606685955427cc626d84cf91e18118ebab1511779acee9e14a814e8c06a8b13475d7e171e2be39c0d431873d864f799e06de7db0b67fb0f9ea05fbf0baf16290a32427707e48a8c0e490f7deb16aab3d8c2a31e6c9ef7a4dd72fce24e83e8bfa42eaaaa5143ccb4609b5990b91245da9ec8b2db8629a907d8212dd90fe66bb5ca3739a3f41521483109c98f852c41d6ecf66262b217a6bfb3d0bc8737e1f420223a763d0d2cdff4f4f09d493e338e6a82fb25b2eeaa84c05cdd04061f44bc3842881a375b3ef6a523409f15312c3b720041e2c87104bf91d88d48b3a0403a81c54bb415003aae6e2c6025ad900fa2f50b2cd6ed48f710db9fb46b6c5ca3f478a4640a4de7e5d113f8a4c0139acf6e888d60e753f158db02898ee720a777bba2ae8d668cdd72a7ffca874d05f9326d96dc27152e60272775f47c0d1a8291c58e4957f4fac1ab0b710a40e641fd4612ae85eb560b2b5fbb0c57bdd7004590d5397ba6e6eddf66b27b11ce212a3b9aa0bf1bb0a2712d12aac147839c98f41f0b7ff57ca65dec91d1562d7cad468ce54968bd7839f668d3784eb4aad3f494745dab630a38be8ae185987dd36162fd370a208d51b36a2e309f63f4cbe42967db39a0c11a70867a683cbc535464b73e103a46308b0854539895286b478942cf0a818130c9f0acb87188240bc43dde6179f7f75934554e7740e8d33ab90982b8080a192a8a8d32836ef5bea0cbe771fc89136171430aa9a7e77aa8d6d1808151922ef89fc3d8ba17c4a0e0399e441d8842fc6527e47a104399835e40439b15c41fe9624789f39b22a3e3721a371c116769aa4912b2c58d968f5d040af0b4bc4bde2ecf97eedee341cbe5f38fb005a1b180a18cddcd0b147c447975ef4dad4d17fbf3799dc12ee8ef0235dc087aedd19466fb0dc97280be6f1dcf844e17341ba274cf074b3dbf9c51c1fb9e06431ac57ac21e4df64c2690683766229d42e24f73f187ecf89a3b3d46c4877c765721e3ebcf784e0fd60549d1734f34dcb5df7ce7155683fa7f77a17d023e39bd98eefd74948b4421bbe0d74e7b02cc8e41a77ad716b32c38930f13d4bac76dd379d063c589e493855846887e107d3ff1a3afd1f9f0ba30012b68f8b89d75ee5a8998ebea740685aeb84e28e50701c5d0fbc0bfcafffc834691a2805f9a1caaab38eefc7495eec3128ade2207823556b71e6ae63caa324748d4d4d997163d40748813a7dd381dbea6b2148b957d0560ff390a5931054a66dcfce20f34668b1586b6c2313ae8781ae6efd0268e1c016b10f1ac71036859108c51bcda0136fe0650eb6915d6a1255ca6097b1fdf777511df5b57e4cd12a12ae1943dd391326ce94487723ec6306850e91172aab44820fbdf6231e02eb2b8c3da37f27a9342c7ce0745ed666a37cbe009524edf1ea6c3f70928af68acee5a9ba134266cec778ed0e6ccaab1c84b012524372d6eb8afeee4be7bc49188bdce6eaad2294e4c855a133883834c5a498133d17953129d17be60b24be6f61908183280d17805f69fcaf2fae068963eee20d73bf6df1943b5efaaf20a47f0e94225e181f4c5277fa4d3b743796fa19c0095db0e24288e598e45ff6f803a53ca30ea273e382832301f0a774eef048c0360be8a1de75000318ef2c946c4c0ce472fb6649992de64461be5fb3698767352444477c40411a1aca23b4cd19a23d7170071fb257109d6b19c4baf661271af0b0abbcb27b24d258dcab763893301fd9c011cc78b9935badeb5f6ffcb1d6267b56abdb86c4b2733c2622a1cf87c915c2e87f0091d75090b0b00fb69c2f09a1b0479170db70f803585487189dd25db6088fdee50bf4797ad7f13e396b05372a3611e02a7c925a9c0cc00d9ec8e57819809184b9d8ccf009c60b4b5da5fb96de04fea3ef0cc152dc7d7bc59f5e4813db47bfee5bfa3f606ef431f7edc619ab56b916ffd66ee09cb231ab20a6b7a7bfa7b5268fdb0d8ffd9aa916669db3acff2d87a8bd105e3bc8d916fada352fa2b46fe9cdfbba43e64c15b4e9f52d62df52106f880b42dd8be4070125017491024a9fb9574e301ed674c94ea5da2581bba8fd141fbb7b1eead4d06e8647a77ea4dfda43c2a3b2bdd536e5df15f720555408383db11cf701d74073a03e9a244f1bd6c2a016e9e2a7185ab676b735b9a5943225197e054a054a05b6f54a6e9bec4cbcd89ae233d1dee9694b0ee48fa03ef44ee429b14de8bcb1bf102cfabfd6befe426faddfb1757be4d0f9abc597054a7ecbfc8c295868742ffe85797f52649aa6da7090c1b8427ac66808da5810ab806a89e127a1a008966817a520574b21a00b5016fe58f8fb1b7e66bd90d805aac002205b76ede27bc4e80f85215e31ce8e11bd5059ad347bcb29e3fbb7fed75a29a594d24a29ad3e3f40ba078c6dad685ab291b75c5b8cb5bf5bb555517f5b279783c9efa69303bbbbad63b55d8dbebb34ea09aef96edaf70b16db65c63d3e98d1e63b1683c15eafbd45d16d3158d24a57ebdfad66a96be8a86091160a28840c6da5429cd7130d80d8600ddc104f4f7c31dde8406172c68a134c2451e12b6fc23974d09387c9a85ae3be0f9891c784eae18244daa1c2b614be2880cb158e84e0a4811123fa7d513850250a2aa9881d4f0b254c8c11428a963972a41660f227440427e7fb0f8a1ae018ba9e7f396ba791356e81e1f0406a4be102756ac162e6c91627632419038d1437d88a0d6494b469f36475b5a68d326a1031b382c51b8c9372f2a19cb4b4fc3431fe5f882848d110d2c8e60291a35772128b7e41e18d3a98a071f1e17deffdaa1869c25aa7f4b890be577c0176f1a9bad22b36c49cd1c2832289153de36a498b3745a0e1440bcee288d61262add5b540a39353f38df21405cbd32f0960c932fe6ca1e55b6fadbcc14a707076fdff979b2029c23116a2d20d6309d2f8f7c3b0d9a26a8ccdc912b20778372953881167880f87a39bdb04cc10643c94700b9823d464243230401f827ad919a43eb91bef21db47078fded1d9e1d3a343e4d9badc71e9b85e3d442b53ba32299868472db0f6233a2217d12f23080925d192296848cd96c120338cc1f2e78abf811cd6d8a53504c582321b1906819473c2cf39d711fe2947a7ea9c28ea1025b12303c2937c7675e8618e97de8567f19bdfe6d0379893b15cf272d4d4e5f0e4e43cab812d6abd4f24e55556f576ec81f5b6c1f85a8c04de6f088d50e330879e4104ff00057201ddbfc18eac0ddd00111984b416455a6eabc5b7ae574e199afc0d3aec879be939dfd245cb0d44a08b1e69557c4a38427b0e7bacb2516d89194c6ca4917a82831a26489868acd0ae2817938a375314118418469cb278b102c58b17ba2f321f980ba251d00ba1e2a98b19230a6287a000c65df4a9393f464400988aa41061658d49552659e3e5c91aa6355730c104822f5d8e6092f4c419217c70a29b4521c34415524e48ec9f53076fe88c340c4dcac71227304900b184abe0581b3035d2aff8ee81a2298ffb8b1c52693a25231758a73993e1a84b97226558ed505ff4674a4e405f290938901e29f4f60ff2ef18e918229ee8a81f77b75fb3e84823e785ac872029a8bad8810038643deca04285038d6f414f7a62e61fa00c36399b848c7e200a249ac29fa75226b9416adf2bbdd5cd541579bb3b66b1ee155f7fdf878db20bdfacc5efff8a2963ec0f5badfdf1b21eb2b416c5bd5f2f588cc56265c062d15296d36ac51e565f765ffc6550c805ba5aacfce16b6131f06b19e0cdeeee39635b245b77e94aafc52e5bdf55860ac4fae25dafdeb95a768fbcbe9b016599827b5f811d5c393f90cb7ca83dfcbb9529208829b5b2c7aefa7eb30ee41d88cebb05d65a6b77a521bcf7de5aab186a1f256eb7ff18c25fbb18d6526b2db676bbb5d6f1b6185f8cfdda250ff586c9daff2cda6d6dd4dddfe23962022a86fd9f29ad2d4a01cb47eb31fcb66fffbe8d6dc6db078bb0857e9ba925c36569d4c0800208f8e1318000620000ecf0e9d1c1a377747242b0c5ca1fbeb6be4b21befe4cff5f8d98173b15f646d6babb7f35b4d5e26cc72cf4e0c5aed105e0618dd71ffcfe73fadd7b117005c6d798c0f8f6f6107fb44f58290c63e194524a8b8468625e84d41ff4df54957ead7487adb5d6dacf5a960db7bd01af7b1d96d7e9f8a69eb7bd6d68e96dd687488bf32ccfaa04b1e5e10bfaecb0f2db0e008682d04c6f83aa3dd1a8ec388d3b000430abba06201259a1cd1d9ade31b5a6e99a88673d7876afae95c633d6c9cab1722c1d6bc7e2ddde15abcd06a9426bad157c8cbd38f9e72c9e1d97043aaea04c292d6378391256e671b283c2bbe2b4426226a85ce863c836bbc08f75f7f76dd6c57583b0ab55bed2518eb08440a96281067850400be7cddaa1dda1f2f03d80a02bccf50bc13d002e9a7912cd043435ea43a4e9d9f79980861c601c207750f401183438c89777be41c8a26f492d8798a6699a665191186aeeac45cfbddcf4276c4cfbee3bbee19d453bded97bb9d4e762b070ca87eabdcaadaa103da8194dd7c4fd2a754e34b7df6225cdd93afb24bd47d2eb81d1fbd356697516c26aad388cb1d77c89247ce63334f42cd366359adbbc57759cb1e3ed76bbdd6eb7db6df1dd7d59184d53d41ecad7be06f548b6ecde22f88ba263b5d730b17ed9dddddd7ad39437b1cef33ccff3a81e8d70b4fea55eea87c678f1f62a619f8bdd6cf8b5c76e69aebf63a7a3fcb2c44b94d32d87dd18a5326e504a4cf9b0c4e54a16e79a2e3328afbdf7de7b6f2adb6f7e73a2dc0f19693240ac3225f6deeb1380dd61ad2c8e1545516b1d78efbd6758adc5bd03d6aac4677e04499abc5ed52de2cffb3a8ad1eee576d2959cb44c4e542c6949b74f8251c0df1fd41a5580cedfd4d0ba90a1d57f5340010eb6717a8e901aa5a3e31b00bf4cace8aba6512a0d5cd4ce9f24843e55389f50aaeae663445b8c8970323aa543aa286a9d37fd2e0ea3e429d35eae6e6be8f383df5e815ee470c3137fbe2471ca85da9bc479b30b7b90a08228b209808c21a5c4fffeb58a77244aa7d24d9d42acaaaaa8a8a6a2c61f7aa3127db13f06840484a19770effdc11455d595f1f2132eb303c11204394eca6559684ab570032de03ebeef9b254152a4c8e8c6795a8b229889cab0b6b0b6f57d1f2c82fdc0de4c9acae378a2a875ce6e8b95f4770ea4e56ffe4d3226dfe4bd3fcff33ccff31cdae2fcaa0457edcd496b31b6f8cf7ff36cfcee774e57d596b3d6a25b2cc3d1127f51f454b5eddf55db5bfdeea722d5a4aae43f75f79303bf900bd03a119acf395b262b858dc22a59a535ac92020fe40a7416b1ee6cad5d13ff57661c0e87c3e1703821485c12e9c4b4a444ce5824499224499255f4bd9b4a9cba51e36585452d4a29a5418274a1a2d65a6bad3502a7a6a0cdb52c56c24af78442c760abcb36853a9d4ea7d3e97451b9a11faaaee6723995566915a99244562a6dc936d926588cd4c9e572b95c2e977b1caeb5de8a9f5cd644ee718fdb79327fad765bb72262a2f1bdf7ded3c16b757240fc07f0407b3a8fc7e3f1783c1ee93cc7bddf64574ffeb6cfd5fc36adabbbfd7ade3b597bbd5eafd72b52e48aeed592574551eb9c25a841b50745da59109bb590102d85acbe39e79c73ce4e7fbebdd5d27698408b2dc64ffe91f37f384f29faa8eebd4551eb5ca3a7158572d6b118d1175f655bb43db728eefd7ac162f5cb515a4a9ca2ba5ebfc5b36bf8b574e8ece80f43d06783d0a7fa5897b8fdf086c917548029237b2010ccf9aaa34707073ca706cae10e90cd634e919c3027b758f9f2a03f6b791ca711e1e87a6f886e84212335a60d2bf18d1b36ce366ba85195069b35bc3267a84923a211cd10a9c4336888662ea5b6ca7ac2107a0c5469e7895b454737b4510312d29ba71aab4658a24b5f60b9172d77cce260dadaac8e8adf1f5a9dee3b1ccdc6502d920341caf95cb2f56a196acd34c16cafaf6d98c5b55ca067e1e2b37c9db176cead580c067bbdf61645d64c88f5e405dd65cec29fd72a5b55cd1c196dd525ddaa772686a7727dc7f33cab0f5ba22bbcb2345d575ad14967b95f47d4a9fb8d9e341d359e88ef76bbdd6e676424c665589ee849d5bc3b8ec1444c7c23999c34e40495289cf9414da7c71c2ebde6ae7bd55aeeee1ec5824b4b797bcd799a57e3d57835fc31fd3b3d95f7a77728970d3f8c9ba6b041a95919ed6942b9d3f49e8edc39581230c617ee2ad9c62e8c145414f1f9403a61848b591420e28c6921494a0a4a0d324c884144354465a8277b920d319a9135196a3a3234e53489cc602a1a42c4a5867bfc7287ce582c83e31b4a82770e2992f29b974694b25054c444cfa322336feab9edf41a0fdf32678aa2288aa278c5d08968447b6466e58fb27e800c3a9e8d3a3c73dd9ba6699aa669cae4309de6f5daeaadddda12b7d6fb1f568bbdddabd65a6badb5d60e614b6bb3366bb3f5d65a6badb50e35516fc5b5d65a6badb57aa3d56fe889c625a6b8f7915f46f2b6ccd2823782ac264b36261ace5f0b249aba8151a1ced0959d21359a67a8a4397d823c3ab2d0ee34ad4316470f8d024163b5be0fd7627db99f1e3e4463803bbeeffbbecfe645cdddcf3393397f2c9b43e13527b4ec4e8ed14fb332092ae73e5a8e72f29b7d49dff7d9cecd13bf5bced7c94f8b9fad7ebafaed9ceec86610d277a3b1763b30b952eaea46fb6060b284461b3049ba00b34116235da096a2e882b6c44f9c71a65a9cd43d3c941af1d15adcfb7e4494521ab3aeec4efd87a32322a818f329bc7d70902db4ec2056638fb7bd18d75db1c5bf87a8d78ecebde9e9553b1cdde0b63efed05af087c28c5ddc067cfc38f0f3d386fef98bf7cbd24a049636351e59a8054069aa88a2a38a83d7732f70ae8066e8ba436069091fdda87fc5a6bae2692bee17ec8794883cb2003953d1b132e7b4293a6e088f00bec1374ec3180f99e1753cc1b726acccd52b230226da6df11019f76b83f3f84505593ed68b01510151244a1261362305300bc0160999ca1f2c0041b600a605ccad2b31c3c05088c246182c4aef50e4d6344dd3c244513c6159bf5eaf574e1b39a5b4369ea1fde6a6e7bc749ddffcecd1fbbbbb67ae79cd5cf39a55607cc355d856d720495b8d4636918ffbf27343e69b7f3eef77ffb5d6da9542575b2d2baedeaa6aaeda3011181acdde9a6c1647b3396b5adde7b5caa0a45c3dae59f5be26b6f57039905b754565355525754d6d667cc353b00d5f816dd82686b6bb4bda9e3dafd39d55d1922a3645a52c8ba80c8daf59b5a9c4299d6def9a78866918ff54bd4f792eacb51f502e412004051d09328b2ad0f68e71687777f76bfd86a329279f9eeeee945edb7f0ee8eeeeeeeeee44579612044145b957d3bf78e95dbcf4f20a2fab6e7efb20a81cd54361e4f5c2547979bdf45c1807628bbea751fa344c751bb2bb4adca84edad3b2dff217c42c8384b80f2737aabf692d8a7bbfde2b927fafbaae625daa6566d5e96f5f4e1fad7dddee8b1fe9bd5eafd7ebf57a72dc7a4fb76fea93faa2a0f0638c31c6180f7db8fcbe9cf3ecfb784f44c6e694a3a09ea8d86c7528672aa47c95ad7255d6658b6f0e976559966559cae6a0dd25168df5c47262b168786403b4b9815a0fda8f8f0d5ac6169395cf4f8f06943e3574cb4a2909a9052eb5c0a71715d089a9956dcfc6b13c0bc7f22c0f08de682b75205805528153a0d52278b5915e49a112c8024df00bd8052cc1f289116c1195b55a880b6f4d61590bcd7007ca743ae4cdc8b0974325879623951395039513f242968e458625869563e59e748eae573b73783a4caf4356a8a7184cc769ccd15d9ace9ddd5995cee99c3ab91d72678766673b96b4e4988625cbda9235f393e5515a6a9a815e5f910eb68b515e7982375453d75ccdc9baa8b9de596badd5b5e6a9b4a1285a4a200fec8564387bf1fc4e4766110f2a63b96643f3ad3928d2515e514c57d21dcf079121428af266150dc9429f37079f0fd307051970404ffbb426c7c3b169b38636eaecb39c2e634542c687d1160c06ab42464172f6574f3c92c93ae8427b624833ee67eea8889333f7079283c2a186106e6cc91d71224a941343a0714285a40b12423015facfb7d151912045438c7a78cd5d28088ac5c08f95631f8bf5f9ecfe7b727256fe62af29af2b4f0d6057510b4eaba57f3ee000bb8280d93d3475c3436bbdc9999cca6fb827cfb9cea77cc77b2b9c297ce13c67842afb5cf5a9fff7b72dd40c9d333305ed63c0e3041e78ec40f5866843cad217477c68420a15485cc8283107961d20222e18b9195394ba40648b33f294c94216e81a364838465f2d1efdf4de939462daeb9183ea6cef511d201e23b8cc4faf15cc992728c3e79050652dd7047134be3b63d6be39c4e057eafe97051462a06d6ba57150ba8d88d00c061bdc9939d47049c28127601869d26b0287958c044baf32f5010b1b4efc00a50838a280635482a6874654192fbaa7e19c344ee448e118699a29901ea8861358321e27541e84589b5b322a93d9fdb6f6c4d1150996f3f0c480836531c93a7f1a5b5d24ff919bc44c66691e019c1a607fb0977edff7597cf37d1337f0b2a236d230462e51e0638cb382f37246fbdadb4868f34eae348f053f5e3c406be81c5e75f1bb7ae0f8e074de785b24e14488243fca1ca1b171f2061b3412c4685dce9ad7d3731dede25455554517a50c25cea8892389255c3499a242e64afa590935ed62e80f1b0589112d7e0052d2bfd2b9447b4c4ea3cfa8b85ef54119de9164f8b7faab77a412cad02f39340969de25ee18d5d6ebb6805a2d6f32d23a4767fb6f9d9cfbe4550d41d7d530acb5e4d93ab6ebdad28760d5f9ee7edb561da415988f80d487ddc106f01fbc31e8606dad5f31886f4f0a7d719fcba5ec8dc0087d6fab05b4f36bc9c7afaae800e201f226771245ad5f53debbcb86d70d39e3e82ae10b0d0ae5648f841e914bc2ac4e743f23724429f839b87c2963cb99a8225b3099651b689e6891f9e00627fdbe7934023550ac04293af6835e9eed321e453ab60e22426f448da623e2c4b9a1816b8188366cbaa0b995516232ed225b321e3c4ee041fba0859a2ad25063f645116ae8982970b60c51c415db94be97ee6eb533326e7e836283bbbbbecfc258a3c689e43991840c5b153756c801441b5473d428053c448d91bafd60a6ca8d2d8b263c276e59e05cbdaefdaafd3efb55aba6cad9c3ee8aeffda77d7d684ad6bc622ed9749e9a9cb05871bb609e9c70f70add9b26ca8535940795344ffac1df5395ba4c56eb637f8cbfd65a6badb5d6bab17fadb5d6afd6af15a4269cdac9478d86c9c7f7bb78d01e3730f1052a364b2841a32a4a103378818a33061439bc58e322fdbd8bffd0dfbeed2918a0c9a9d2ce50c1b590a0a8c2e444bdeead0d5fd74901fae342a157db2c627da1acfd5ef60c174d4fffa389beb5acb5e8dafa66659f33cf34b1d90f087d97c5fb5a97b5dfb66fdf6e9bf7adb5ba7bf5ead5ab57af5ebd7ab5bbba75af5ebdba57af5ebd7a76dfd5ab57ff6a3776113c7c03da70c3d13b0d534576770a646bf55c2be61102193e9a148817295a8cd182460ee86f564c60455b31d5fa7f5a528fc979ae97fa594f1bfd4e228f2290d4e83f7ed2dea70a74776569dbc175660e776b8a21f924fd285d1b454014296a91e9db3af178bb9d4e97cbd158ccc7e7e7e72dc9e3bdedba7e86c90f88a125a31943558670b22f435cc8c4908119e1108d79284c29a5ee4453cf811045959688882b33a323638ac9e5b4c851c14d37fc6529f94bcf79ee6b5051525fcb184381f1e405152a436e50f9aae7995782a7454105c1702e8b7a8bd9cf00981c680789597c31480c02838e64200a5224040523178898b941d49b4aedd28cdac79f4828288866d282b22586b088f951598e60ea0f55e7fe9d7aa824acdd3a090026009376085058201089c8a328c959ea18d203a4c209c5d24e4508a3223240902329204220c060083000000300000610a09062b706a9161f462058a2bdf8971c63773edaac2800eff753dda852a470567aee49f0314894aee1a8c9b309f0b2a82bb6c0c1a502a750ad79419d285c38809120c0a8cfac7c124e758f8262950ba6ca93a0517a3ad5f2408484813396f24330832e6e434946b8ed6c91ad47e59708a0b4482053250064401f18f3e2c3eac945fa920fdb83ca0fd1afd96f0523f38e1bf190a9c24b89a9cd38bdbc92641f40eeed7ab6b6d5fd59852a2760505a884a26603acfc008d62efe577048afc7718776b02e99a636c8b2310f29daecb443f155ee7178babdcea28ddf302595bf76e0161e74d2693a517221b589882aefc0112fa0aa7d5bb1b785f3a6726a4c12c5f0428e59f95546e4ad6c2ceba899f2bce231fbc08c4f204261d9bad9080c5e27394a040f64dafabf0b82cc59b8d9e5909591a2d8d66c43cbb536b331184d547fd2e8070cbb0340a0eabdb2414ec5da0a33a606c0eea0d72f9868297d27ebb91f5cefbe5d28dbb29ff0da4ef2277e9b0d1afbbe863e515eaf13a89f0ac07de8090c49b5eaad46e44532fa8778484af79f3ecd04f4de4432d14576bbc9a3bf886f41c3088a7f8d91b099f352659dc948f9992448e918af87756668e41ccd1ec4a15a285982fed776f3bfbced53969e01bfb4622b86f9de9197ff027b834ef95fb5a7908476cbaf1a468ade1023749d2afe61337f06d0762aa16b9137f1640cc5e345b72a11b66d1622f131370d95836bab40459fdf02bee42dd074cb67f5f9695bf19dcbf9cbc4d98ad374432dbe56106be979b5c6c8306ae994061a08605ad72f2dd0f012a2f6f0c693f65a01f186a14c94a563e47c281e8a17266e714a4ecefe4f49d15b3f2e48e71e3e6c7f1fdcaebceb5f26d7eaa37ba2a196a1eeb8a20a7afa8931e7a5cec8e81e9d5882730a790e3a2b1719571c1da231d5d7ac1e6102f43613ddfdae8ec5c923b1462f5ab2790ff48af5768e932b10810272af1e13c2ef6ae170f1fb12a11349c82926133e624282751e1fc2bf020dd4f05a7c0a886b3483322252a2f264045735024a8b2a61bb127490f72c372a483406929eb41070355dc4e677333c526a8425539fe5c919a59090faa942f0b3a5d5c0fe36c82d2a3a9fe6a03a3739cb6106112da919d5e0d0f4f29c6a374a6c0dded3b2ffec36f09971827220de339b9737900d646d60751ec8a9c960bdd9457523bb002db251f85e5428c06350f155b94097c92645402619d55768e31724fc1e124b010ea0893b062ce402cb21022ba8d48ff323795c39f8c710e2247b4d96c3249ec93df05d59366456e3ecfb5e86a106cdb787353a5580f450c2ea9e660987720a875d580c3acf4a561c614ab9c7dc643cb3ed5281bf9ccbb475ffa330156a26480423b0790ecd73c3fc5efdc52d43c7b30254db08750229fa9a12da3645ec58da39717b7502f55e9eecec61998b373a02cc0ac0a322e204cf598581cc5c8cbaa01e98f9b7bc84343868f4a922677741fefca920d9d484160dde993000794cf49b510b9dde14c3a5f341ffed436f68a6989327ecb756f4609d1413e54af13eab64101cf4222f0b1978eacd87e79e820c1f91b727e579a42fcfab1d5620aaa6789258f6d834a7c38b831b5241c6a6de4623593a9adf41d9704b25aa042840da6dd6ba01694e7d1020d8c209611a1a372f29df127d8edff6dc9a33f32ee7048b663015241429a621d29d7bfd8ab82de554e17b475c768d0c34a04c930c4962d287be8a50252f1de3d247989514872630a8621c0bc466574c8e1361289edf8e759575df1108eb1a118b65481a509707c5c89b530ca3f9f517597f0c6b1f54fb0826b8bda8574371f99fc775a4eee2e91e1c31725645d873aa2373f8e0e569993ffd016d498751c35d1d72c3f2eeb990dd018eb3d7ca1b3ac59ac30a983b13d42cab43a283c1d3b7e2272af17ef2eb1f8434f5af5cec551527194e2bcb8d01782c908f6b75158fd17a11d6709f73be7569e18a4d6a541416b208fd665252bcf202c0c16698974eda28c3dd9b82de2ac8871a81d3cf209be35d8db9277cbb97f5a08f90f6aa64abd296f62acd1568bd7f70ef932c2a493091731fa9cb9b0b79357a8f811455bd3106aea4cedee38d4e207a62ef818b228de7bd5f791780a905207edb2a3b81194f3fe24ece0bb3ab244060a5ef40494aabe96923e14733649c10450679200124804c391e0a4a66b694bac96112d83fba2eb6a9627d82ea773f8595428174ba023a0979f38118cd36371915b86212ec53d527476bde7140d70e996870d90051057b962cb476878503a7689e33aa9e8e1e3dd2206c56ecee164b5b6ce96ffdbd7ea9b9006f029bb6ae785171fb429ffde4948c98174a500a8f608140c4d66ca1ce415fcbf2af56625997af9cab56858128c830c97ad44e18a765f47e9f9c8dedfb025168e86fb53e1b824e732875179a0c795adc2fef9ac1cce0448a2153ded475876ba102ad05e36ce58e5af94ec4ab8efedadba31f830dec150e0e64d136d1f854ed107bb016bd3596d4f566bcb97b519c9041850be8519f0c339d9ea70452f48c96b4059765152df3372e58c9c3a1009dece073bee870be36b9e356cdd4eee1d087074b8891ee449b2221e9e7aae5b1b29922265429410b19355db1c1b3e1fabb96d4dcd9f525145dabdf879072a56b2886a80cb43d8db54d3d298d79d915ea3b3dad1c680d80fa5243e58417802d0720f20150c6d531f852db135d402a5a0341d80e0b24822667617e5bb97c76be879f78a38027565410b52854ec66fa119dd5f9c1f683a6f5536443d08993aee660ac3ab0eb90b88b34058dddf1e0d84d4faebcc9c81d896b178c277c71737debc0da3d904b903342782d25f4556b93880ec6bb9b92593ba250e914158f1094206b1cfd07726204376a814215344eb0e31feb26189b569a6b11c4a24b41629ffaf66fc8a2de7f96e4c5646e387ba785b93781969d86e163d2938f4ca55d86b3f6ec5d2e37e594cb29b47cd08bac598ed64f1897a1eee4de8f307fc723721e35c13bf6ab7564d8a3fb1cedfb978dfe40cab8f7d71398e8bc69e049fba21c74ead0d1429f858a53693c5ca44b8c5cb114860dc77215b6d1d9ab8222b15255d22fa895f67e69b0691224b2f765ba7da298dd1827ed2a1250006730d92b7a49cb06e62282796a855c2e3bd85b315c80278794f1183d656a42f137c89ff9ea00a5ce1c95ed1e87b5a3cab9cdbcd5867a6eef9227ae61f9140f8a938e1a3fa939bd8fdc33900f6b9a096096d73323612d20af783049137e91170cce463a889147b29a68bf48fda9f46e0dea3907412e9b1c92f2b7695d1e3960c75a2f14efb090d3e665cb4cfb313a807eddffaf311fb3e6f5c09b204551950d29a97e93c4c9c7586b84a0f904eb23f238925075b4ebc5fab7ffd82df26cbcd3a27f1d91815ae0435c06aa04fa42da3ceb4cc4f794e709016c68f122833aa0cee221860d104b7835b6375903eac640a868c319c262251e283fc95d7229189842e640a06e053801d4ebc5d34a6b1e3642255e3cce068040ef7c66e376a04236cb349d5ecc5be02fbeba5611f84bd784d274c7b247a1cc1d52f8777ff1942bc07d829a5c7b132f843a6e5931f26e9b50e7fa76f2e58a2742e41b555e77b8c4fe3f0bc17e82e01f97619243684c1cfb82a2ec244040e897f11a7039725426f469875d32cba30fc54fed859516c6d0232886d8910422b1136ef9094713d7a6d2c52e9d8242214d7460888806e319d27439eeff4201e80c6b07013ed47a1b1687a627b258407ad4f4db0c40d58ce3b93a02fb59ae3a383b508bb64c0ff0fcf2848e4a672eee79db5d2cd10f1026864f5f684c32ae5449e5096cb882e6ea3fd4ea5ac3b76434c0318284aeeb4470c8fc65b4a181c85b4f0863ddaba2f1b2975570a27837b7792a83e8c93406af38c7f69378a919a46d0593bf2d1b56a19ac3303f1ef054ddd66f164a2e583e2b9fad255718a85523407dccbdf555f3f4a05d4b61ad16a755bf3e7fccf36aa08a20930e70c33c81b7deb7e24f8114c3ab9c00e2af2ae16be48dad9a444fd12e8236a7c47e7f5c300a74b412dc5c473952b615a543a4298382b54babae82e62f0a2e36254f180ab2f2c33a4ced6a6640e3f64c8b4fcd834ad4cde4cfd9255ffdadb605866b8c4d2270b8f0d87a40e0c3b5b60e1082c938eb262060a8805277143217ec31d7da45acdc6a16537f6df52b185a5d526e0d539268b01c153405ae4eef9bf1b0435f2edda020bf4c0dcae07e293c6ae88b76b7bfe06e8e1e5cb1a9b8f8aa3f9d1b995cd3ba0261e865ac5c7d741a7c4556bdb45377046a84854ba6691202387f0358ad711bf9b9b6a8a107dba576620c26852b7147462b49037de4e4b8076b9896fb271355e3a15bc286830ada0a34541aebc78597942362978d331757d47a7cb0bf21ceeae9542c4bc3e00c3cb23955428aba69b39cfe4eff2abf932c4540b28010b8766e4a3222430a6680fa717ee0d002100a023e871cc319ed8587f315dc8a571dc8e1394f8f5b92d930a9a3c04894958e2e77136603a603632928101e49acf96b073d64b7695a66ac31bb19ee2a27fcdbae4c10bc895692bb401e2e2ffcdfb35698e571f7b56c77d2bcbe58184626fe405c381a4838acd72e99f3b70ec130ab5f1188bc447adcea69ecdbc8f482404f066f30b0972c7a3a0037905277ebdff4d7769fc2a30ebf06e8206f677a3880f735dcdc1b6b2682cf654fdb0ebc01b8168437ebaf2dca9d788620d88a15f1d985bc12b6f7f5204f04580bac01e49ac061acd4087ffe5832b631b236b9a480f1bd58600484da3145334e2948736b0e9fb8760fbbb62df69e264044af7b82ff9857034777dddc5f35c8ff01f8132d2524498486d00372cb1965512483b228bb68205616df312ede8953f4141c0c4acbbbbb3a308d3342401768d4767843fd840e56aa803e8b794ef0fea9403e8441c5c645e9e640568ed471b2b9e5b9b9367f8260df779e147691adbca1cc025aacb517ab257ad46094a651876132a7297cac0cbf58fd3428076b11958372b091afedd78bfbca84134c10f440f9101f715888b14655af05546bcd9aa3cecc98134e59c1e7dd6b84a58663e2b7bc53465cc968a89153f69fec6b5430cf434c7df86f635c60b276027c67530025e6d51c0b54de907410fddb4680c7a6343c6f559db3e900310a80aed7a4c7d22a18079464930e82a2927f95dbc3fb8802ce0e559cef13ae2a8768a91392f6f802004f53e61af01e31da1224076af1b2e0d05634157ef2b85c16b72416262f7a26e2e8d770557ea57c31b11c4bd1d3c4d8bd111c0960e05cf098b93a83bca0dc03f2195c83715871ab4fe5b8b455124d357a6e67f205fc6880fbbdfd9f237b88061f3cd7078ded076a864de8dd0a43f5dc9b1ea390f3c3ab200c51dc8efa6737a0bb2446c55418788281f6f9a038507c3f56ca0a3fe85f10ae0ffa79273c187a00223a01ed372867b3808a83fb8abd4306bd8ddc15087fea4b3a987a659a6580742f517e51f673b3d65cc9560517ac65650573ab297e5d95c06eeb36c6f18c757c0b2c4e92b86cf01bfc8d9d64f0930c6393eeab1f27dba8b957734c8d22b02bf57521fbfe26ad6237251b5ace15a066f771bdfa49b48dac5fd2f8c304f670c7e42f6aca8a60a5fe88d885d10d6aa64136d7d09833cfe952e10bc1a2f491f274b22b9bb49be980cd22b0b8937c3e4fe929b7e7305183ac4dac866ae34be60be49cda7e74a3693753e420fd3a76fc9b940982debf448270454ac37e0ebcdbb2100e67bb176c071158d7e822fa62baa5454fc2f450d72d677aaaab8768b7a0a3e73856da0f758e0938068cf68ea096b1bdce391fe8d4ca4de0c0969a62fa685c3aeae67e53a2101ec16fd8b198150812974168a0d2c629cb176872e58b2e13580418fa6df86a1f21f274d0f8d3a86f822ce10a51767cdd9b50d6c7e7674ef954697f10cb2978229f8d9b2ad38fb9428b5d3b23601c91a3a20ac3847c01b29a344d460bdca7c1ded460034adeaeea311c873cc61d664ad5a1365cc240f5627a8c245a5682b6e4082b391d4622b9afdf04b0760d1c0a922e113716796b91ea16b16ef13a72628f808724a183a45013b3d25a610689e1609c378c218c1794d665b4116398663e4040a0a2082326d6f0efdd5219254672379468ca9609b38d0bf7e704286180cc0c0879910d459b6a905e8ed14a4386e3adaad3a295de5b1dfef253da93187189a63fb0f79e8d42ec09833bdd4ba9a10b437b36ccad8e461420b4832c3cd00891443ad0f73751954f58417d3660832c2e8504cad1406dc83fd61a420f5c5867bef519d5590bf80b2be832a8a2b051f68e2fe13bcb6f069df7eab0ec95b15ee4e197b445cfc1720fbc9d5722077632f70483c4f8dabe11ee26138eb5562cbd84222b3e1250225c39b7740cfae6b5038f4f980ecbda0a96ad5824caa523f14ca506bb075c9ba2f8a00a77dbdd83b105d22f39b833df47b8df57203dd4460ecd6ec8be282f16323d6910cae1421c01b41f3d643bd058b88551c46545b80a512bb84471a0ca12662835606524820c26f8189147e24085292f671e783f5e8cca09d60a8a7ae3c9efe24284e7b43842e2f158463ae71b8a7fe39899de8f132172eb12bcb0e481d985c3c62e250fa606f0459b18970c76b46b65a284784dbce4f01db699b5ed98bb6cb2d3871fe30cbb2645bcf99bd14a73d11b97398833a0302cda5dd081516b438632f0830a383f20efaec1764228ef6c74f81d5af2898190b2768577d006df8d3df41bc09cdbaf6e34a2cbc31c1e3b5ec7cd90f8b1c693d66d22de41012d4b30c94c6949bfe217fab253a8e290916af3143bb4c9a078383a4b194fcbdfcf35bb8abf102b537dea1e8639aa720f842f52b7f787c963618360d2a08cd189057f5b7e2b99e6be897eda0da2d179c7d85c1eb1942a83294e78455371900055f9800bd0222c9a0906e2ecb0dcea963a0f2f5c40b5b1aa2591d1c0b4c026e29ecded4454a0f95cd91d8a03d613fbf732f60702159735950887b9199060cda62833c96bdadf40321a6764da1ea9aae5c822d62f8c7b2973a6dd71bad69e34948a68de1e271f4042dbc18ecd97a338f0859e8fd1194b6beb155a2439686c0dfb55e9427ba0f0dbd00a9286da89ad1eefcf2085ed532764e7a551e39e633e10b92c7fcff74a854c8cb5821197558be6ff2564cb02386b63201c4565d989e65dc5af4573cc0ecc901ac346442fdceff5e9afc75ffc7eb698aa8f99e161e32b4588ec0c73f886db48579464652207d6e1c4aaa644f8561abea81649a494bf853abced8323c3a85d9ac6d05207a6ec408c44892ecb02de16088cb4a065359fa80f4f77cbb8d8ec99284376040b54484a390cf391cb5bdf4b977e731f293242425f920ade58934f346849fdf2fa70e26cbcba5db6e9eeb80b338d667c1011ef78a5c17536c78118ec70e6c270a4ac82d22009f366e0c9a63b2c4c78ec00a453e190bb303454f84f92f683f1fc89962539393a78fd3225f87ca93ebd8ab70346d5f3519aeb91615a272a9dc061bb91bde14cb50566ae50108ede2967196a25260544efbd9ff5bd858b219de09dd77617034ddd36e3276a019723136431963dedaf7e3ccc74fd7a78ff1f0a868c603cb3a3332bace63cc01ccb135ad15db0238b6b1bb22c5becc8aba17d63363f34d05d5547ee1d92a387bb7b53fc7650f571ac00a5ff3843d7192977181aa181d3f717a81b67734c44f35608d7d289a165239a96077160b28913468e72f79dd9607b0dc471fb3b4b711c98f939eca4a7dc36709b88703e0aa9591cd1a7f91aa50c1c6471d75da95badee1680166afad3ae849ad53a50a2dc812a01f80cdb04604100bd5e3e2aa85ce9b6d276ffdbfb705e8d0fe57b16f36fe96f6da306fcd43b08fa095cf2f7713408a52d913707592815e7c397a9eeae0e6a9c77b7b1b152b48c33620a3feb1de52673b249b409e5539dbc20a94097c40be3433fbe6015d420419149cc417c077621899852d7e409735f72f0a6399c55e524708727f400672ef4b06d0e003dbe9957f572c072e6ed67b718b0b64d2ec10250666e3b3d49bdffdcce61c4b53b64a6277843ac57755e85bd523752f2c858d61ae9253d9e317d3adfb551e1c690667b09bbb909df929de0a639c161b1f973e1242109a01b31bb94ff6394aee004b91848ca1c4bc143e66e88b43e180d744d6b3761c3df0488fa0ce7477abcea81251c67423acef3da1016382e709bc662ec1fb3ee860c773f354d7eaa5a38197c4a4fc335d099126db057be932ee13f60e7bf869b19a5190203368d0c2ecd6d4270a42fb3eab566996d453900ea6d457bc739f8d7d91fbf1264c1f8a9f1e8a4e5c1411c20407b9c9a92a10eca023c78880b89e2e5682f89f1601924ded436d9c42615db248c02f92a85ecb6b4bc6bb2af42302e73e7f4f4d208fb81eb386e05324a456be50aa50a010c53d8d1827758879417f6c94f3dc31bd3da485414351c55f716bf595f5fba86d899449810558ac9ed72e88d854b7e2e268bd1b8fe3aa97ab8284dfb2c450063259dac3898b5f6591baf51c7768fc5a889bbc4ba41ee173dc2bdedc99d8ff16af8efe6415e2d226c6447c0317025146fb0e531952193612114b74fe3ce3201271c8c28a96f972490039e48f27e736efee11357b827c19cfc0fe98f841eb28aded3fd68724ee2e2ad64d08c61d87b00b8fe9ff2acfcb4e28c86cb41b6ec62d4bb12b388bc99f9f999b0d0cc619ad355b3aa57157c362c2f2b92b977a4a55fd346a4dc4857c2c2e011ce9ed2e210c0b92ebc2137b278b5464a558c01f10c20ecf6ed6a9c807e062af575d0bcd293cd15f4c881df1d3e889fcbd10bca3506b05686cd10a8c157adb2f62d0a0f85afe01395bbf478a6c59056e8c15f46541f9c074cf46925345e23a8122ca1b0ff068a91071e9ea04d9be750c8ea5e6054f64352813ce6d1e0278a09e2387d71a84908969f319908982abf540ae57047dc58237964629dda440b5bc2c007dca9d48987583229131445c35ddbbb6f0a7ed809f34595a88805becac29ce8d3d62dc0e923c4e27cc92e55ea8c458ffe610d5e3f22ef9e39b1133b7fb27342d0903612d57a3bc5da3c93df0bc48811c39b19086d484d258c4dd4ee075d05e10ccd38e37084849344f45b7299332ad9be7c66363f5a4b4c561e571b1d36b4d532791a17c4ecf49a5e21c5b4773a1c2840ee2276ac9c0d9266e838c3f31f98dc0d7a6eb64eaca66522bbdc3f7bcfe318e1b29daf333da3cef02e246539031aa73e8700fbc98800c88b3b0ced7d5289736a50d2dea068cf9ab23818ee80fcd866732f257a79f8f91a13728942d56fe95d4a857187a4ed72cc94f7017e14f8edc1dd96a22ae6f53b61d9702c4ba3824b35b99968fec10bdd0d6af4dc0061bd5a70ead44975129d91dbc0803dfad95537e08b30ce3cbc43ece47fa386b6cc1176744016f73975f49abccc5c16592196cbf768f0e26561aed977e2b90f667bd6221e64ca45ef660c5c278ba662d0cd2d5a1639ae672e797859a390970a16568b303c46f1f4a71a28bd25f49a490279c565acf8f69ed4e58db8102694b48bc507d0b394ae309a70149da150422835e5827bce8ab8a40492503fe96b3907f6a11e1fd649e69fd91335de54582d376055a3bfaeb95de8127e56000ec8ee1501e7f93928251182f808790692dbc0a2e1df6883b95efeb19d2aed5c6e980e223c80a5369ea69937e37b290c7e44b25a5b74c806728ce202121099ccf46a9559c6a94bb235bc8a88845c7d4fbb5ede01ef8caf829561e03d6c07ff5c8e9323b709d552af580c734861e535fdacb0720ce001e947047fc4bd809c0d354ded35c2689423f08c6b59d66289a8d105ccc9b60e50bb3073b7cc715f7151340b72e1f90025f5e058b8e21608249b908c9bc90c952a1e175e31a17f927ab786073cf935bee066a24214abebc08f662c2e119ddfcc23dd00794bc280f1c8d549c296b6a459aa778332627c71f862b12d841ae10e2f2f3cee68b99c4ae8b765c5a81fd13f77922e2a37779606292f267403940243bdfe7f7bf826f3bdf192e7f12166fbe77c7d5b2d62dacaf14f194dcc3a6fbcdef53d99bded1a726b79371106f930bffc80dba8298e0fdca7aadb1ce6823e78b4279f3c493a8e96d35d7da613d392979168c16e70912ca0679118994756ed052af76c5219d619bbca3099f56e93799d6d5f724a6635aa9b5c2cf51f7535d46aef312cd6d66bafe861b71ffbfc0de058780ebc58879fc6588d47c41919c8e88eb39289f6040482623ce8e7888d32ee0fe09f4ecb5f901b203edf94b0c37682a6be10ff0c0c73d40b99bfbd0bafa007f2a62faeaa3ebe96c6be9bb1a22b57198e5ff66ae6b28e0bd10ea9c2c1da2319ad467d7386aae46b99bd013195cb6e590e83a761ff51c7a693fc9665e2577d4ec38e33d2d9cffc3b11dce3f02e63cb393883140b7948850c6d1188218cea13862f59835dc5466b5ddc87bb91174b5fa8f648654401ae9ec3c5d29c94ea0e186c97e2149cfacab75d61a7e5747e0d443e4c200b3e60ef5372fcfe8885bb8c3c7c565586bf5ed138449c70badba76815027e11aed1b3ee4229c10b72d29a0b9989f03b164f2a343e50a37b4a2a79176278d233b1897baa8da44adc7adbeca6566a6a8f95e177010dab4cb55a90177fb2e38b6ba643cb1a4206e9dc1a84c9a69ee2e5f00c38e565ecb56fd75e617af6677f6b20b58ddff69f29902e5c09e48dfaed333b190f9d9124dfe4d01be42357f5f8e1a348f899a9877e77dcbe221d6d04d0d4844e58a36146b5b34c3b879d9ad68e0af8c383b7bab06d0f43de35fb7ca5957355fbc35afa5ff70a2949150f810fea758018b481c1dde608b39b25df27eeae92d7b94ac309e0c5fe15ffd09c291a363b3e878b442a5445f64ea4a52acb08676ad8f26b4a886e0837f7721579c7ca12026308e114564af2a203c01a0f0a37466449f662b4d846899bb77cb6632d62187c20098f4f2b67869ee1494a67b46994e9d8cab5f3964a14d9e3ec0b7fd0cfdc495d41907f56acbe86d387c09da0fb0491bf43dcd9da7050f5bc8ddc496f74b9efc705da2e4da06a84ab0eff22109ea63fe7abc9a351be07a15992ec46173fe94f2c49c8af5b59d0e02c8e8523385d9418aad6275003e6e03f01db499f87149d8d1cababb1e0d090d7671c5f9359552fdcdefc895ed27f89502c642cb133af46bec32ff64ba9ba11a7541d01b1a647016bd841c7900885fb041cfc5783dc41741191821b9c15cfb97b1d2cb65a9948a43a02f2c5486d46a2cb60f1626984e72429ea18dd8dfb23e1d193c719706fd053f38445782f9b9632b962278c0f09823f40349285afe38c750fa8da8901455ac146cd8a0351822cfc607709ace8d259a13c1c6154c5b3664db9f9f81fc90547731a75a205bbfeb6c8c2d6220e08d162b33a3c1767ab019a21c42f5260d4352fd8309827888558c419c09d8970e41a31390a3d9e0260292467673b065afcf96001bfc5b114b4ec0974428f2e4552cad3dd74c87d072f15b2b7905651d4d86a0dd4cb510ab1e1f2008e3b55e895113a89fec5852b6b5616ef213b8e13e60b1ee9c133de7c3320c52d1a0150a62f50267ed9b47407797c5401b5d91835c0fb65490f72ce59d642d944a457f45e30c0a1f20f87623525315f247165a7a143804b54f690ee80fe0fb3d7ca8e24f0d32aa7b2bb0b4dec5436474ec04a15e806e7e614887e86a679145909a34a6b6cc5d74ae2304bf683bb84edb61a773c8bc1b029cd73551a58233a973ea756a2204d7b49f295de3ace2f2638e1e2f120b0f9e41c542fb4c37aa0cd96c1421e461362acf50fca9fc59280ffb80510d28d8c3b795854cb04b630d2a7919e5c2c32033b065e29ae2e24d376075bbf400a738d4751d7e01480200f8d7333c948f0c385c6a6568b581fb058c2672765576c21d3a5fccb0075dc7ffbf8122fdf519e952c47bb28f1aa40925011aacfcc47eb289e6578885f398e040094785252b8fc6755d6d532b7be72453fbc01deff5f7d77b493d1ab2b0c19a6e6709c83b81c84009ce9009ceac0d8ba0ee7fd8484606da1ff6085f6369c33b0eab7de75e24e625c1b4d9253f70a4976e0f13be8c1a1f1604b1e51197a35d71b077ba16057ae84313551006e4b2a3e2a981efce3be50a8a032dd9c85cf1b096b83be037d812039b3ac1c96315ce29fe2040e490dd955af96b412752ab49022c65103eb3995f739048a36160e467f7918a4114cfad2787b0d11d9adffcda1035961b7a5f3d34b908c3c11c063f8966fbd7a53bc32d0723b8b86497029fafc23dbe7c14b10b4d1962205506089e3f2ec128a954af5d69df3c243bde1b4b023bcd1e888f03649cd19a4cb31a67fa354a79e495a699ab8346fc82e215c56d3069ad495f31f3e63081cdd36bc7dd6cd241ff8b911093e7e4a6d75c14862f01bfac7ef1db2eba256d0872a2e651592e6246a7c01c535b175fb4df578809ce5d439e429c51b69072d253d235b05a3f72b6a6731d5c1c505bd3f7ae8fe1bf2393a4ba2e37c4edcd4a3334058ae27f72d2a988fdbc9057caacc68296a14dcab4ccd952b92bd9b644cbdd4f10dc9b1015f22c06acedc763ffc81a9b1d373ee18c2410f90c944870344bb2e702534d286bac7d2e5fd230e78c2d258e85f04fffcb2e0244bb7d7527c3cd4cea1d11074422987c54d8135c9e78d0bf9cb6f376e967c8edbbb674092f20fb8e50ad0cc98d9799275b7393d9d26a8b3fab1195958d937fee3dda4d1e8298120e018f9f14b3ebe0e8b79b7d18c9f21dea1d6788e8a401f574caf58a43d9fadd850249c4d3e57d261411830738a1484a680a17e8b01d285e80b0b07fdb28e4b17ee492dc90f1cb30334034afe6d289f96d7a359a993a786086fcd0037f8868a4dcfd25e954df85435507180bca35ea65f5db2a974187e0bda531afcb3d380ae1de75842f39a281e8fa09977ae9b7eb553849bfa4b322415b0e5b0363375e3514efa3148550cd788b7234345506189fd89111820695b9a5db41aac31aa2134ae980c84910745d8e7bc23773ea9cf1e17107a765620f64e27b394d8dd2a71a94e8f7e6fc7ceaa1495ad2a2ab92b2a81eb04eb1fc59d1d80db94abbe9a53df34a52e90542e76efbedbe95208d9534eec9f243eecb69260e68c750e1d3d6ea787b08dbe8de9ac83582cd1539ea6a37555e9747bc8feb3c0143491a947c80c4ada1579c0610d02782cec37ee7ec9e5f8a2390e1ff4cb995796ae0f286b85ed29a9b928e6fc60890f27b7684d99d9dfb78a554914cf76f51307ba7be132fa2901f46face31e8ff60aa4c4cf7b704a04b5220da41c5da745f244777aea267b72029f2eec13707e02d3f672a67671c8eb934588640099cf092b78d794d0a5d390db1fdc3c6257db409a0633d3625f46e2128995ce0a5bee4b05f12afb056f9563e95a515765d1737a843664443a2fab5b98eafce093cdc7350f4dfcc1ef791a8ad82300e7f4a13c450e28cdb73bd3e91067d1e0749bba8d54e9bca0599e443ade34a83dbede519fce8b7ada770f4a4b2dbc3a3c9570b7b0ed7606f990977d8a0e8197cbd932a8eaa388c7668284047ac21f326a9194db21873d4bf6815c5d1f61fcb8d48d57ee64b4f1a61961bc3a22f6c8b1ebe0b9950c7d669d0e9987d4eea61f8f5799643d92881be38a9a1ea703f05ace3c865006697e0266695e39cb76466482bb6c999129fed8242601cfa51b800e20cb7e2e0059ad30242647c0e07cba1407376891af091187760aefe04a6ec673d40fd67ffc0dfcb066bd2ecd402d075c7ba2545e518ba8383ee2650e58d2ae30387dbb04c392bf569e03fd11e395aa23f33830e95b0b47930a4ddbd4c57085c606c350d3d2b991c7ab35898cda2f1ac90bd06946d2dfbb8cea54e5316e10f6ddcd2837fc452ec3ddf294d41aab859cb9919bb955ac5f50d8029e7f0e5785a7f826e6bcba7d396624a7b589e6c6130fb8f4ed82448cb20d7f9a407ff1848b917334a3054e3b016114c6b1e2382d8ef3e238318e67dc7535cb386b684b23870e3952fd54814c056bf6c4835ebf6c01b9082a23209c5e11f6132818e53dc73bb206bcd3379396b4ea6392ad028e052c7887b4906ab2944a9d4b9f7fff721916a3ed78994175a6ecfface4220a9bde7a217b20c7205935ae14ca0ad8ad9b3d2667ff16e17866d9c0a045b350acf270a2e3f91d1d218256c548b9ca44a7d1a0a2e1579946191122586b9982a4ae47f82ac3f9d2ee8506f5d621f31b8080a02c3035cdd1941baf027c130e7679a799867a7bd37a3c3fd7cf0afdfdfe23e34696431a1cd46945a94b55ecf3c4c4255aec8dd1f15640f2c928baffb82013dc7bd83ed1688324afa6007baea61016e263cf0634fb5a9f54f025263b2678534518728787a44039da5c84c9e591461ed58ad2825952cb4fe25e348a57451f7fd72f2de46af6a4e95d8fdaeb54192cfc953cb1f8ece74ef1139c177a411ca2fa6c54859ac21151e0590d4d3d9713e4378dece2b544f2e55260458ba6bca71cb6b35f345b595024473d900f1174376fdcbdc161473a25f7de8b96f806384edf06f95b596c66b9bf39bc2aa9781dbea0bdff950fd000df2bda6c35b807e5997f83b4fc3b5e1e5ed3fd3d45a2159d5b55958ba6fdc22a15bbe2fca915531e817355a33265cabeec5705bafbd2668afab1e82e52b23126024e40abc61f5e09274a505e6a4d6f0a0a8528fcaea6837e2f1f910e4b1820a3a7ea29db528f22be7117d88320c90cd57685087f1f9d0e39b0ba334da059ecdd6d3af0a345ea4f9a03e76d54b58037c8b9183530a7c4c861e13401d1a5b9fcac13ef902957d8a1e0a1d97d4051b6852ac4081c3451599b006f60d43b4547f28eebb6507f435bd0ecd0fdb0519474e8b18f2556267c9d771129de258d86fd8d0552e3f6e12c0121649adff64aaa18b292ea49f8b37ffd9c3e9bc37f7bc633efca3923127b3b11cc0811f5ea6981c438517a873157714a7f756d0ed565775cfbaa083c6459f60db9ada352a948c9cdc18ad341c613e1f50ec4f2a98de847b59199571842e10daab6684cceccd9e75a9b2e6407491c3c94437ecaf61305a37794ba9087d37d9968296c0f685a0bf0d082208d75dfae2ddac6ebd0cb693c014e11625f5c869e4842bcce08e70323b28be769f83fde665d70933390cfaaf19134d8f86c967b6e6503058d1c51f130a1aa15a4574b9272d7957e5cc7684b69a5765e4f817965ffbc4c88faed15074d058fd7d9651a1e62ea60c9ef8fb05a2b393d0228822936a1f80841d401921f3362fe183f6e9b802f6f39058ad8bdf25cb41470fc2db9350f980f6b98034dd917b6c5a7c4f0675227857dc6cff5219b06a4533fee05152aed6c51908edb7c4b7a902b705a35cc994a822e613f06e6a6dbe008d2cb6230f339039d230405023ab07babcf03d7ea5905839f7b52be8ad4da67d5381348e4e3b320b2c0564fbe4901b325bb41f4c19a1cf414d60324cb681f375d6dfd315e9bd7df0ea011b26d63b2d7213a07058c2605bfa10f4ac82946fb638002270abe3cfba3de74e2b76e91e924746cf12c52f2551ea9cb4536365a56b544a57fd099672c379be0073d803fca286d1a949b0fc5e154b5ec4c012df196eeb909d8f8e07f0b2b50712645d66bfb414c7032b4d1cef26689e143e0ace6f94138682a89e5eb319917d0998c407b6dd0ca28b27597f145208a9863168b830bb63c51f57709e0a590ef85194bb519662dd71db75120c6877178251df07b57303cc25506e13d2e22b6a80e776f05117d57a750cbaa835e137fa05a22679dc3c7106cb60545961a791da1416e6740869252b2bb19546d1c1b50dc658d98b8278d7984b14e3e94a5238de559d7ad9d68e06f6bcc312b5b3642bda78d7f2f871703ea8a62621afaf5f066891fbdc567481699ef46cb22650609873bf4efa02fa4d369db06786fd4e57c2f65bb5ebe319c8f03d941e65c09d996f9a48c90133139b2b3fc8b89ecf9b6c70a0ced6a2d65cfd219b851a8ad26d09a1f4e03bd2ebb4b24c4dc2dfce87994611988a9f2cb2f6565de7bd9c2373e0afafbb0dbf136546f2815156be84727b45730b16d6143fa3202341a79c409a521bf6ec7320291164168ac62c86d45794808bfeab0c651c348d5ad8c18e771660c50ac6124fb7d84cca8ddd66fe3488178de475e6192c57e0483fd60cb8d9af829642b8c55a632563e14acc07c7ee0d028803376e5c320c09cb76b7b150c4e944395ec6e65007ccc8e168e4ef44b42ae69d7e2c18307cc0df737d026ad60b9f1f7670b4bae083857ccf45eb49d0d0ccad945bb9d94e7450843be833878aeea5aca0b7245ad07aed4e2aac31563935533719ae2d72f2fda7632e87b57bdfc37d1186027cb707885cecd50077cd61ed5b341da1ab8381cc904eb776a26e57e9eba08ba1b55d2d40ff44dacf21559de1150623b8e711a811ff18346106f002aa2784f4f2c9b37bdf0632b3ca6ec5ab15b16943486f80a893d2b380fa0cb4f3cc4d8144be9d7a618c4edbc4ca63cc689bc8d89b49ad292197802b1d65adcea8f465997e668286de649131d1af885d1120915df9106324fac20cb2e05a0069005eaf542db59909154fc8394fedaa8348248417f2a598b9f90a50cb8d39b1c75ceedbf48d40be5278a773f9cee63d4170374c052d2b322665166f7e8feb0014c08cd4121815ee1a5f619c22945801376a7c8a644688e14b304718f663fa05aeb8d88bb8abf10f407d9e824cfce37b2d9a154b7333070d30f9d0db0d87c17090d17c2f82c314c10992920c8dbedffe26061dfe284a2509368a92120f1c54395b913f93f0bd8db6a228e538d4dbe713b2efaffe1c8ada71dbdc714cea74a804feed02305dce35099fe23675b076df2cd46930c4dd107e17f7d20e4c6e8d1b8720261a369e335e72586ae2f7e78a17f11d0d3bd754be32fe995a851e1a854ead802620f82c5a84a870d92a8cc53df0c3d875b38baa00770cfbaab508367554c00831c9d0aec4042f68b90761cc871a53ad58b116a22396af07c0daa15c407f2b51e1af85a93da3c8c536d6b3519a0718db0213a067a80a8500522a2f4d5bc2a5c97cfcfb8202b19fbcd8443d61c2b24970c603231c585ff58c81e38d31fb7071e466813073565e954a48efb077cf391ab20d97621381204f05dcfce17f08dd5408137995a653bbf14e400135fd88a532418e9de6ad7c02715b8acc4cb06f2fcc6ec13ab2970720d6e10d1f50d91bfe044ad698c47eedf75cba06b5a16b48da820eddfa251829dd5b5a40ee15a7212c0790b0ac0350602a3877e4c783fa8de7091ac3456a0dfb0cb522022b93366b9913dda4267ce55e193b3bf2bbd470c84ae30a5827c9e276b19e58fbfe52a8f3fa16c8dd84d173d8842359bb16750a16ef20636e5c80a5e4e54acb5006d5ccb3b84f02d65ebfc529c81c02e4c52e2bc62a473d76c10e3d022a85fda605ca87a8f38a3a08cc7dd68ce3ee86200762333122a2f063856212ac4b52559fba8ccec5b1f62d5e13bc06817870631592d43e7de5fb4253ea7140b671f80891c7040cf8cc001aa3ad338809773d0c1de9f7e75eb040ff7e28556d737e01581b16f203506c88d1e85dfe439d4bd81cd87786fa0da6f6046fef9fb951ef74af087fb8626aa156482da8092fc5e125159f1b7ef813a3e2a520e263190edddba4f73124b3d29617c14c78a48fe9fa44258152b7f870a43ae43695531e9f301f11bc86bf6def49593cb5ec9c6fae901d21a917ad5e86782166d835be74d459b6ae3b8adb300e9bb0bf0a125f6e95ebcd38b86ef00caca04e76c0da40109efe8cbeffa67de811c919a960346b6269fda11357ee723f2949ce37a30bd8953a4a7e49e6f48765976f0bf00ab6fffb6754c1dd3e957f0c1c967312cfc584dbf2f759edabc9ca6638c950aa88b500500f3abe4cbfde12ac3213182c2e43fe8957a0bcaf62208f0b25269424a48414d57bad037e2061001b42b60dd7e7f817b0405ea98c2c3fe8dde4c1e1f98fc02e5071554515472d8883df422304ebda12786410723b62e70c3012905c3dd0e7d627647ee05fe43b4c704a8b0d74486fb9b53c79840f5536999211a20eea4f3eecc5ea9f3511b7e29f4ef89c0e3bd951e5c5eb29959abd48866e60f0a230d15f1575296cdaaf47f6a53e2b31d2a55fd4e113a270d75529a6568727f932f0e81cf0611bd2a7fc3af99da08be39e84372c5dd579c7dd45f42fe9dd0066e8ed9a4981ecbf03ff9e7912fcfd7a9afd4bec2fd7440d7fe3bfddfa0a944de50260ba0e755fcc57fce7bf0d292639a1cdf20b829fbbeaa9cd9da57e26a0f144316bf40e84a23080f42558ff3b419254671a13a329f77f42be6c75683aaa709097fef5f868e4bf83cbe9f0de018c6fb87ff7e902ed7b484726369412c9629fd75f020c42b012b83e4ea166f848f301a91517590c6eb219abc40f5e2a0808016379f4701089db668258b645cd5f45b00e6d64102d6e400dec30c67ac735c595d0dcfaec14b016cc033b25c2be01f546d0ff0756b2a2b8ebc86d9e297daeb6f2c7acaf71ed4ba15588f1950f62837b0125a86ba5a2a3bdda51fc9874d20ae024987c4d26ff85c104cc031d9d8960be98a78573c0f71b155c2380683ebda5b4f1cee6e696c536c36ed357d4a2afabd801a3644466e48d2abff920438bfc9b7d07ee4902e32b4e1b628309445da5699df6921e85b1d6a9f56e9bf7817641497ced140d1601b1619c485e1be9f1c6ab2f8812d467f0d3385b757e7c64d5f59ce56cea73a0ca3640dd37912fc60fd9b73b007274393cb3d3ab30b446f4881724d9f6dc3ab837bb2971a381c581f881677198d757fe6dcc7a4e609fb078ebaa12e43fccb9e49315b32b50325d7909d6b2da5d9ea0265f2fdd9e605e10f3335b2c4e04e58211c8fb3a5451191a49050c87fce37d410afca223279e80590ed929adcd6c7cd059b82f109159ae3b06353968bbb7e120c09d733389ef16316244dae8263eb1b38567da1ab5defdd7a42c71066bff584e0d0afd384ecbbccab41280d24dc7a426f59f20b74fadfdca53d62eab06c1b520346d6896ac0566378a1a645fe03a32f5524ba990e364fbdd6ba42f41cf5b2097bad650446c7efab7ee28341e1c028c9098b50ecc14ef792ea4c24ecebc680f314f2d60cff79005964facda4a73b29987cdb0ea3e4184ee0485ac5ed36455fcb3ae31edf3e96082ebcfd15ba9c2b681425dc07aa9f807b94033dd3cbd37b529dc81e771ef5f07673ebdedd509af75e2ad4c0cf77363447fea6e246cf99834cc8219254683a24a9d0bfe914d470fec323a95c71ed4e068111bd5f18e43ca9e847c22b3ac57a5271300517de90fd11bd5cf1c523ca036fcb887d976129b95fade383fce57aff5865385e287541773a7e65d23ccac60f8b9c9068ae35043ed67ffa6a72b99946c8e501602da3f76c453a04e9aa0ce9c6fe40654502a490fc0cd93ee9c1e5ff8caad72a3c0849da0608607839b5c5b700a097b475198781b12999b4e22d019354addcd12178e3b45221d37e368016134f79fdc7905f59781179c608df62c561c5503cc675dd6ad4cc684b67383a107bb6fa3a02bf635999474223f348101c7824c3956bdf51b47cf4e31a1954dcf41c7a154ffa4f84fe03f12f4fb172dae408a1c061c7d16eaa9cb5abcb1fddd1012b84e04bd1e6e15cbd071735efd62801717f8013b886c0fe604a361214d4a4360021179e0cfb9a15ab2ee557f211fb1f7e7427fed1d9600c9aebe93a11856c3d2829286bfcc522b1071c6f5b892f636e046299a3dea573a04324d52b81af546016b7251e0f3e8e11a439d15f21e8c7d5391ce3efcb634a48e13088b81e038461a29c66dcbc90cc272f0417b1cc81624a2461b2f994a8f0dd8e6af89cc3977c185411839ee69b33f21a7e240ad1d7efae6ef72ec383501ba028a4c3fb884954c7e7f4a99da494591862f4a4c917d4e378dd668a09e2e60a874bd62361cbddcecdc047c7429fc78d768c1d6e6e207c2ec658b2bd30c965355041ef8649628f9c5482a85349a7702f4d4a64d4cf890c38dd7a430f0a10eed710f230f61379c781a3079ea00d8d4f1045dcc7f6f46470a0f47b3e0d1e2f1f35a2e8b7bf625a35089666323f07d6a2583cf96d5b7efb6568531a6053cd500719fe59a40e917edc8be4b5021303006634cd601eec2bbe5238b4f3edfff5cdb8734535caece607bee95319142f17cdeea0b23c89818ecd83fd385095d908b6997cd735fbe2b7a8fe9eb635aaa92a90d758b24c8c98b54314b205171232c2d4c8af23a3dc9a3578751b533bd5b5042fb3ec9a0456b689ea33eb201a7dfb2f5efb49e97d7b52f62086c00d9b9641c692034dcbe27b7d4ce6d2a0a861afcb32ef9b0c53c2297291502ef9d14bc13a611c91b27d508a3ce964c3afef617230dead12ac615a17bd896e48d7d90fe5675f9988b1c7e306781fd9e0a4c0fbbc6aec3bb4210dc5bcf8e18c01d154a073f8c8d2cbf3bd780eec9362fc80bbffc3f0753ec27aeaa09a0bfa680a251b80821ec61a50e386c48d7d59d55bf034f77369435077e54e9e80937262968fa30a43ff68b40eb17949c0bfce532568510a9604ad45128506b9520a691d65b591eeb3ea37ba6085774ddbda4e8842f6ae9fc32328dbd716223a4318d50775ad9bdd30ddc5c5e039e0930097bf4e96d6160d515320b4793cc829875fca096146f4ed45ccbe5ef96010f54d5c4506ba9ec04732dab80644c06c4fee49da15f01adf709a3c14096a9d508740d1e4ac1a05306d3686fd1fb29f01d8b6f85176f0a8b53fd3093c0149b826fefb2306312f4cad88226c538c2416c0dd7f88e9cc7ee4c04bbfa46fcf1fdf1cc3c2bed44905819c2c1762b415dfb798f12c9af0f552e17d117bfd645870ad948dbaedb062cdb9958430b4b4cb9a871a5e0d34325ec5a650810b61b21d18626df3a4ee9591c209046051fb194a3beebc4f44c9cf26823df79c5f93c5426b55d999bf3075c46522063c423ad47dbbd83cf30d7b72d2f85bac33addaa58d0b4a0945a4a1a6890173ed64e2ad4e167d6dd65a9524cc1956166bd76c3f4ba4fd09c335e3690bd1d3325ba21c7c5192a2246120da41aa0567e01b4d35305c3b935a250f0254eb3ba9a595196a6e24c1781f09a6e8f0cb094616cf11ec6970594b454367c647b715063653fa6148ad807c521b79e77b5fca85ec9c31a8303063ec48d95718844f08ffa7f8b36542cbbc879f8ae3069a21dabcfc24cc288c20c3789b925f5b04ecea655085635a078fa1736cb64041a22fe982b21c11349720c7716dbf8d8920c2175d0683e332a5ae99414a7d04c942a1984015540d2c1c08daa61c60ff1f885a8e68b478c81667cb1cdc5e864b02dafb4f6113021708be5f4e13ad4d3d6dc8cb28458a302ba85e81b0f25fed7de11f80737a626bcaef318e13604ee37cd88e27a7615ba9082a02d990eeff4bb6ca05a6d5f10a235ac43727697063f1e161bbf95f28731809d0e27cdb7afb8943cb7feb72bc6d7cbc02a0c807b6fb1371f18a0794e5018a18513a4f40dcd9744346f15db8c8136e86737533011c0337ae750ba190386a8b45869b9c8f51b05617283247ec27b61082b4a323a14b5f32cc44202611335344524312ad0aac03f9518cb6f7de724b99524a329f037d03b20339aed844d93752a58ba5198415eb0f24efa156f1cac64245750e4a605c7252991d9b2564510330ac4420d66da1ce983db962d7d4451b6748f1a48827514ac624f080a560e4b641a02f778c5dfe7d373701ecc85db3281f886ccbcce23ffdf9ddd701998f8c01df5920943e462861ee93e58ee7792d8348c3fc6c725a74efa7a237bd4aa5943b48041a07ca548b50829965b6f9f197870e3294d5bb2f6bb5564a0abbf3b999dd299d74cee739f9bd4ae9747729a57cffead54a29a5542e517a9dd26985de49dfaa59e36111d65bf845e2e47b9e57ab17c11bb43dcf135fb4f59fffdf7dba3fff8fae222d62fa54ba77e0ee7fc52b0f6b08c3c98941dc0133c09161a725020fd69def39c56f7a95062366669ee0576fadd5c15a3f5a5223b1fbdcf19016cdfb1ecea7b5cdcea686a04f4e7d89d5d27e7d95cbcb3f5837d2f4b1e968b1562b24f7dfd3f71de9bc5ab64aa28d30b1723044aa6b2721813b3cd78a35a8ab1dbf06a3f8789f4f28beac8df4624fc778a2581c2d22ceea30f97cb039359f108a3079b57a3ad3e7a7870f100f5946596d8eec6568d4c83ee4e77ffbc307bb33428addd443aac40c91d2c176fb8dedf0cc1e912fcb2813f085dde58014a6be74ba085f0898af76ac3e3e3f3e9014edea03f1d9ace9b0e589a3588a6df4e67115ef7658e22e988e6aedc417d44500d6b1abebabb5562b1da2609552da438d0a31e36b94387584460a1553ac86a811a31f7bf93387aa29848811ec96369917f1b98849ad6768f19526a2014585c616163459c82c6980b092268c9eaf31fedbe52b71960770f150858d0e1b49aeb09106053b2070036b57058c255c3069218d17571011e487a42faef8614a80336172675cf10560bb9388a88f3b9a128caf756ba2b5e655450695a9bb430f009d85912b609538a46946912e158c3563cc6bcbb873a273cf28f170c9116b2d3b8c91236dff62285904d1c22a48159d2d3977052d543c89c144ad08182396782289f66517050a8552e44c781b678d0fb6ba860bb1ca8d95804c1a44deca2e94d4884f3bfabe8d28246d68798d3dd8dcc022dd38a302354aa6a831c3c371abe20d25a3abbb8930e1b8efffff9e45e6007ce84e90aa8c6c83b004b90c265f5f913d10b6bfb27f7e50f67f03c54140bd6984f925a205e2758fe089a9e1e5021f237eb6c06411d48494aaf624ce88156d628af38a8731e1ed1acecfe2826a3513c2e3b6e863ccfc6a76b4b58da54464420a2af4d300a3b2126b084b217fe3ab6cf201566401ec2aa1afb794dc57b2bc2da594dd012cbea858daff537c4da1edb2088438102c4a0aa86cbc40edb20882f8f866280078bf10f67d1ff889df27bea48052168a2f9bf5acf80f4c617d4cead50f0c5d38a6c8ccf362914d510d5bb28ba348bcb936d8c0ea0d6c843da113c1e58205b5e492e43635f03127cec3e16b9752b81346b1b2c50fd8aa247f514272dbf9e2508c88c1bde83b4c914477a3d8ba64c1cee68519b0c6051b4b9644278c7ca13919620d33526486a8e2aa4b121269781182af8cc5d960b093118222f7e353a8891250d414484c7cafccfba85489b92bfb2210500a2eb7e48d0ef960a1581b23b18f8cfe04e9b072573879a37cb3e5e60a161c241ca832697420e2a68d1b3443b448914415385537504dd4e070617fcaa7ff0f734f8733c44d9528709cdca84861a5bc5962ffffbdbf2fffffbfcaffaf32e4b03d4ae97b929b5ea6ec85b90a8f50a1797262a9ea5a6b71ced8b761a6fb7db15a1ca8bc4b27d55f991112dca3d064692c6784a48a4a2681cc5d36232437d108c954bd3d509cdf195e562b639b7ee7029dfa1d9d727a73a62a16d9292e88bb85919a776323c90bda8093643b9c9059d19a84846e23a584b503b99dd04683292cbf67df40ecded8e59623050fc89a004c7ed381c2bf75c284fc4307e0e524d868f038d8bc8143e80e1b41e646607a457ff77fe8efcf218bed39d8b22ca44d59526f7715d99c61a9646fb1036f1745a0dbc86f8386bb6709797470fffdfefe8689dede57874fefb6e9dff961b44a7e764f716f82ee7913a494fe4fd0c3514a9f4ecfabf3df1d37e79c954e2f1445fa247cf28921651badbff43dceed88384ec7568f811e9ed4f35bbd3ae79df3ce9f48471d4beae1a63e22a4a7f6ac36929ef5ac85f8d456e22b0204a28b54d0daf1ab58f56b2470f6ed34d2ccc90e08cec2671f9faf8c73af432ef827157d622e0b62cffb6ead4fa7eb46c672f450af9d9e6a50bdd3a75e69fbc0f9d50f3d4f7607c8e19af275b8a083bb459b26ba265b09290113c9a9fffaf5ebcff71e9485150c4370a79fba0665e7fbfcd6401f36647c878308ee2fcb67b963434673aea5945eeba5f056e93e7f40d0fffdba8b67ff70059f4ecd0ae9acde01770cc0d6afbfaf153000ec9c10fc7e7ec09f0ec2fc7c23c8394056546f822fa6f9dffd78e653d5716c71467685298d01936e2e21160ca33ab139251ca894843e09c5d18a2fefee56aa85562c42135f4a4c319e9715459ef9e5070b96111219036eb19eee2b6203230c3574d6d12ee9485385c99d0f4999d2c2dda87e488b944feaa57a444aeed6b8b3f66abca1e7a9a155c5ece34334820fcf1332f284bb5551e5b4aea65837ebd39367937a62acfeb46e76bedab4039832e27e67459b8af2c2142504eda75aad56abd56ab530b5e7d9911fc9dbd1577f5ba5b667b42fc5f326d11674480c8f68aa121dd1330f812f0b48a9774488a3a5a3a3999c3ae226a6f9d2a93c3d3f9ca3bdc30ab6fdd0795fa8d5e2c0835952fe4a69072f85959625172f4be8963013c68a9810436c694d4942099a1c3ea533568cc184d6069a5b96379690a4ac9841a5e9cf1dd7401056037865eec97bfac3742dffe5399b5db630337731ec43544f0310afd697ee44622856c8424b5708c8ce9252b6c831000ffe6ed84d905e4ef0c003337ca4ee8709a8c79a1b5260a1ceec587dfc36e26e2ed659407436134e4887d8a851f5aa1babb51acdfc2a1c191ce37e5a9fb259b932a2dd6c2abc21c456b2b670d7a6dd086924bfa4b4c4e48d3829776edce5adf2de50eb624919a86d571be5a7845ec23255d018f361a95647be985da60f57210c46823c3972d20a9384bcba4a83632a3225cb0a2ac596248c09b1c9d954d925cda2b78dcee62acaf3d81b4a92c6e54e6e4da00a6213c4b430528fa44ab31dc9056d60420a38cbb35a6bcd7be28bfa28305b84b42f3b282c709a1ca1c28ba4347e481a53c4c5499a2a42ca10e1456cf6351d9570e6c54c1451e0cc87b2bd633738a78585757555e5519cc53b6ea3a12b72d7b5866a175262ea5a1343752df4dfc23efad69d6b5d67bd0c8c759b67b96d0a71a1d168341aed6f8ffb9c7bef3c48ef7a97c5be6e1cad9d483f4cb549bd19b513c262ce6ac71b0bf9a9d018a625bd0eab3ba7d568babd9b80da45f113d7dc5f4aa743d2e974baa1376c4345190149a2b194c8fc531c3243934a82c23a4e62cfba3636fa5ca098ed59d7476c4f3b2c3e8a950f485fe4b699389217d972225b5b3a8b6b9f58e75a8a8a87dca8ce4c3fa7a8c2a9a968a776c2d24e5746b3a86eb9ab2259b9db938ee5db9813f9e631cd99c6478cc4349ef53b92d3dc7a8c47679465b1b576727faa5395ca56dd3116bb771cbd3a6d1d5976c7acc277e707933c2c548f615f4cf25022acb1d15ac75201e8e727e684257795e792977db064a5ae0c9c8f1458681bcd6153c6c3089e1a0f0f0f8f93d38f8f4f8d9da29268a158811ce9484242e374d4f393d3653141499c0f2808789038da3301cabe2587ec3086e27ec08cd38d0185321e44d8701c6d4f04471e28c3abe4eea5b4e34e137647bd220e51142dcc03ab64344c300c47b080028a2fbe98f184cd7479a8e789967d27c90a85c14df385c4f039645597c4eaccabd0147257892495ac7279e536326bd66c601bc77f01f039fe6562ec8fe3388e771c6d43588a8d42168178d0030101010101010129618d98e4ee29caa7bbbbbb0cead0dddddd6828cab2d4bde3686dad76c75bdd0bc81a941fdb588aa56eb49e3cb1b22ad2e99ac69f281424b7034529ea14e0eeecb22a91719c05e4ee49a95b9e4b974386092f2f7a9e7802ca0b8a51972e414d9a747975e9999c220a5b0675d8eeeeeece3c58176a73aeef1450504e4e0c455211c9a99e81669cbbbb03d9dd7df9dfdfffbb9bb96fbbff777b3373f35f71fba7f4a6bbbbb35f2131f5de7b63fe55d718bb1f1328a8a7270dda9d65743e8beeeeeed79f0b3bef74972fbddbfb9d78a2a78a28a78c511227254cbcbae8c144897f4ae7fc39e7cb093a29f5e69c93fa9c73ceff393d6f4e3aff7fbe154946c8f19242142e492c423555f1dd73bdac2c63b00614faff934ef15d2e6766e6ca929999ebf3c482692fe7f432c062dfe99c3e6394524aa7ffc4742e4f159aa67921df394391078b75893115c5451e3da5cfed727de55b3ffa4ab5d6bf4aac04ce3b7fc4b9395c3b7ee488f08375fc65180e2c032ad684d087cbc3b731b391cc5510e24b8e14028983e0fe58b50a4281167d148d1014eec28ba3ad17e2d8c003e61d453a7630ec478e1cb07a45d0c12f9bb681b5186e20c421862004b908a3cd3b7ec0b0f5458a9a2fd62883f5f705116e91dc12e54a18396c59e388284239fefe1786b0360256b17a9ec8def54499f8cae1bef343be7fffbeef60ff35dffda5ab4aa7e518c155b258c30e7fe88b4fd91826843e8eb73639e9b276613fd1123e97102a637a424f8ae4928f572c56bf90886643510c8d7c72551782a228863c07bc78bc5e54d8578c7afec1aa2e46613e26aca999a6c3b48f01a0c2916117eaf2e214d242e4ee43583648ec1ea3911fe7cbaf8c1012f6254de2edd1635e77ba45d47f8be10f3109a0d3b169ef8dddd6f9a9a29aeaf18acd9f42653c4eead89126a7222dc193219f91988590a49e7a688b1be1e473e88cbd6d31331029ef8dc57c808058a872cbcec64bd484b7788b8ac7be2127e015a928f61b1245114790246cb0011643516bc7f1de86d2dd14c62e9bcd66b3d96ca28d9b420dd2980139da7aaf67948888bdb259ac4c8bf1481aaa828885bc78ec79359cd6d393b563954eac646c1ebd0a0023016366084048180e0b08b32046721c0e6bf321b0d6567a053e44d0a3000cd342d11a125d96db2cc76239906ff2e7c0488a61be1b2670263e61e3c62078704fa3234693da3239acb64d78bfadb3ec7d3f563f0547f5a88fc13e8834dbc5cd5dcd50aba5c577006201b3f398e1a79c719cc583ddf786afcc3b5e98d49d626e3226c7113f2e08889ae0a9be883676087918f10dbe73fb7d4a0d986577d7cbb99beff0011b2134be3cb755637839e4d41c37b169aed0906a8e64f61c91d01be5acc411865062e615fbf11eb6e3c17e693b30f3fcd154df830f456530ba9bd1ef455efc92bf4f4ce46afebe1b1d427c5c292f1eaa67a78530f4ae8786af92d04c89028487f31b7f19db78ed34db7ba3cbc65e0341d13850addef8ad9456b44eb143bbc6fca4e5e9f42864be23ec4b6bf8742546ea93660fdd30451c0389aab1acb265cb2ea0c7af9b5c892b5dddad56b6528916c3ad471b05da9f09194c4a337a5de94c2fa0a66c8d2580ef67dc1063cb68eac946c9af6abc8acdf9f2742ea324ac5af10e88be888a4fbb5914907ecc45081d4e50762043552705f2f98614fcacbff3e73b793f11548d4c03c4a147888bd6088e6a900a7cbb01fd63f781fa716be31be7ac99e5450f8667dd71652acd31f938aef810f428400b4567a2d7eb16c29feca1a357fa066b671508974c3e1c81e2631063d513c4968ff24db865bc5204e434c58ed21f09ad771dd4fc9ddc03505c50537a48f501b012fa3cb84af18f416fe19d82804a2da1a1201392ca2098c2a380d3f6419eaad5de9de189611246f2c4ee08787731d3dd8bde3b950b0b10f7722aec6c76b4b3b56e473a91d20ed59ef1785453004e917dfce0a860628f2e2e756d24a793584406cca0be78b36231e97fd7a4b00267518698bc7154e438d119d1e9b985c0071480305d505406fa7adc433e99fba1671cf443b0140afd293a20818e7d127f2b6d1d7a5d7c477ed737d308e92654a336d36a43cd50517ffb01aaf30d663a27aa2851a24808c02e9a4dab7d8c37175ea4aefbc58dabcf0a609f900a981688943317348cbbcc557d2d77634abe9bcee1eb27a6d2fef7e2150ed65ea291d4ab4ade87dfcb2bf139c0462296fc38727efe1b32a86c6dd42082d8b2c17b73760b14924748f1c1cfe8ab7b6672f643ab25ecf7e9e3060bef3193a6041e1b59d17d20496003955d9cd1a1f32035f30e7ecdd6c6949070414e38a30a7e03187832c22ecfa703f1595a41fccd4217f605b8c002ecad615de754483a834c3e0e01cd242cba20b771c025f5ffd8bdf7dadcb6ad554ee4c0e474103b73fb46208a0ce9872a6fe136729ab6245fa68768c6a5c403e57a50931512f9427e268ebd8ce9fc2881b850429f02faa18704baf995da5bcc6a89935ca29e1451b5219186a0d2b6a9b02d5647b2c51ef81f8caf6f0a7f5d96bf6ea3bb1b7f20feff465ed6a90ec00eb9fc354d20801d0a0112875d269daceccbd9b05ebd4df8890754017434f99306b2013e09b34ab4e21465ba18bd610f82332a23d1e9b9ad1be1262a63a1d7bbad89e490e8539044e2109b4292cc492c0a3989b3d8277832199ce2cc10dba5af6f1cda1ddca48026718ab9e78677d4ebd0d452940bad6f0c3284746980ccd49200d51014dc509a5548c3e6ba1404ac3343b25c22f074fbc51ded712de520c6b650bb657b45f0d8412cc4613677e65449daab50496d406b0e510631f2f0a811720c9d1936d05911b35f52f74e6c1f33f21a17b417b594f61cc8ea1634b39576f85505cd097a2ec5675f517d31713297bbf899ca5473a9db6db5a75bb54f4d450ec072bdf5ffa6980f5044fd448358879ab9db86cb4ce808f6d0b3bc00e577b62a900d3a6221bc029ed596420742c79d410ff780e77b8a8408f53f0c9d99b11b1e17fa574f934dba67d4ce9c6779dc3e634e1434f4e2acd30014053b3ca807e29f6f53669fef53c000aa2b1846425a264cf9ea4aa70c7d803fd41e9d35f5fe000cefbdfc248f7ceb2ddf52a18d76cbe7973f361f0b593e55efb1a64c2339519847f6113e680dd44a4ab26ba34538e858488c2266198162872ef4939b467e30bc57c1480004a3da5a681d295d3f9cfce9f7d322160b23c10956d5ca46d2de2cc5514ddd4443692574811c60f4f10b20c23aa568ba68943b61e3ea9e5d0fac2c41409cf8051d9e3a90fb3e1290fd5ef3d3cd228301a2b1057d9b1a3fe4d510ee296b2bdfa57b0781593517e8c6e8940a50c68e5352085ea28e634f302df1e54fb2cd8ba3f174d0bec001d3ff5574e39c64ba64530bbdec0069d1804f0a79d5e819aacf3a47d0e7014ffe2cc70e0b422229479561052355328af10de21ebf6cc8ffb6fe580ff82ce7d633077dee305df073cf761dbd6b83a74827c067521fedeec00a6219584b30f288009c762139de28100d3e5328ec0bbccf1733a7757e3492df5eb025d174c4a5ab56e52a07aeac75f9f7e8d45b08fd946ce1af272266efd036924b6cc4f65d36d0f2eb0e564723a64f92e9d2965a8205d79fd8c09f0192e43601129dabe2dffdb9ba33a0d53a9cb013905d11c821ac9f791be6ac518b8c5393934a7273d27584bb8dbafa27bb25b162ecb4a5adb172984e83a2692da736b4bd4b44fe75b06ae79677c564455401dc90430111dd18c409b61273184c0a066a756f65428d7ea46dcd0c2d8f62a11e1111134dc8c969a2a1ed7df1891ab259b24a8b0c11453c5dc3a6465ea398c07583a0f6ca4a37a1d3e92213833851eef27a90e8e95006a27979134528edaeebf1c93d0adb8969c4197e848e866ef83456e2b9270305e0025e69b58d031cc5d840a619fee70adcd0d6ef5393780544b6f200819d19298e4b782bd6809cc0b2722583d2373a83d3fd02930ed1aadd30903fceeb3c1619735ef8d1937b1a59d29c3c8e5596764a6362e6ac583c5e6208a4441c436b8f53c764c0371cba2f0317a5f420e18477878ac859a4ca32b7b13ecf51f7e8f9e692c5df1bf0cef3009232f3477a8d49a54516bb8dcca0570b4c1697dc90815cb58dfa523dae7ea15fcfb71388bf85a015400911d0ecf757ca50042ce7b9547c653a2cb8f012ccfe258b0276acaec2fe75ca2dfb32521bb7af3c6e6ff8292a1ceec7a89fd14731b3f688bd16b82a1de6eeda69a8f2c8f91e22d18fe0b1f181c3db081cd3617899cea172bc0b4e1725803d9eaa88a0859323ea8f1dc328d8aa1c5440f5dbc1852af700060034ed139112e8daf155ed7c13694529a126d7a41d376311023f84835a599877a863c997a363ce71b528e072c919b3bf028c2912a6c871a50a493ac8b46545fa30c33fc2e25d68519ce91a839e0d2077f51aeeb7590c297b76f6a55596f9c7ad5636c44683a143bad35cb4cbf55139783ad10154a93befce45ed25c11c25ff8e317cbbaa0d3cee1d8ef5bb35aa249e6bfbb9277fe72cab19cd6e4f7c119e427e702dab6458eb0b9d626f906f4d68b102d74a829f95d00db19f08abd487530e6c0de2f4ea1c9b44f697485b9974838c3e3c11046942cf0111b8ad076cfd8ffd9ee21177a7ba2bb0665849b0a719fd2ed0759c7a3573eab4c8816f365edb471206e1fd23f6bf054827208b00b6a5e00e05986bef5ed9e8422e0364534ad13ca1322cb40a27653b9df6bbc3e3b4534739faad7e0970778ba0bf00888e9f7a8f078cd22330323617ea28d3a83d2f680aa5776776484dc5e1a4a418f0a9d561ff82c3fe63c8d53f9abee992e490d7f6f73cd422c9be98f0a47831b633ac0806946527ee5450c4e6431869c009f4258e8014f0d2966765a72da5a8e1dfe1da2f7c79ff8f4dacf08237325187dd870ef9f0ebdb60646ea866bd4027a5224a6eedc5203d44758e873b1481ed1cf772146fbafb7ccf97cd4b0f1c1ead037d3394ba1e4a28efbd1093e54dc58d11d019073bdf68e0c8218059fdf96ddd61ec937898d6d72a1b2ae7fc8841bb21e72d846989f718d802507a75583220d153810eb5a77bc602409b9e121e8f039dfd73e39bc7ddb68cf08800f33dd691b6650cedddda6edf0bc8f8519be55017f27b6d1704cd10de15bb950e84af0070b8d50bd03b2be72064e5f56b7930503688d8a14c9bc096870724af92411f9c6616943788d27f088b685c39666611fcde1317dde9d73e161f5dc2a129ae3b26420182827da4b78c74e7c0d27764c617345c754d51d982701ffe0d2cb45e6fc2c186fbf958ba045948b0a0308479613e92d20477fad58bf5c7270d4c6a8c0a24bbb3155a6863b4bada678f7aaf92972d5b8d4d43e997597d3f02ec36e8f1696f5008541f35b8c79185d3d8cb03fd021e0078d73c045ffc980d8427623ff4a7784e406c08f3cdb1513d47f8f8f9758d4a3c667f0f1392f73657f5c186de4c4964a337696d75753321504a7fbf4504cf49424f6cca598a879732286e7d47d1030664b845d63bada5c404f30a0a8fde7ce47ebbfa219aece17f14d5fe066dc88c4e1b9e138c2519803667850076072c616d7ca6fc47c28a5ec4b518e66837befd0d0bb38693397f5d2fd702daf5acfc74b631eb3f3d85b7a8e0574f752da4abc5e79b65d94e2fdd3af846eec21c02b41f8e1740f82ce3c4291ea8161d0225966eb20e6c85bd86c7258f0ae859fb0377a0a420c093ac8b5f22c440c124263ef053afdd6e94dc3ef34c3733d5fe8b186cc367f7d186782d99f03f5258eaa223bfa669b1f4fc0d7f14cc0cf982ae8a1c26bf2c4cca42dbd4db7f49b3205082376ca2b574395adc8d458f5ff8f7c7c11b74eeda44186b152be7d407a3c8f9133ff9f055ffe988371a2e50f93c095dd1b1a490dafef810dcc494ee9754837074eea69874a1cf1e25cd82f149993206c66bdc07de18d43ac036ae63507bfb7c80ee71e773447078d8fa9883475171055c9fea5d8529f94a0d5f34ea95b26d90f8bbd8fd86478051ff79792591433a1ab4d7ae4e169382c1de50c8082c080a710c9be85f47fd086b022e59410486e46ce694b8a3a033da94b546c229f5ec85a3873aab24e56228e7fb8a9d2eb176b8297cf7759c83845d81ec203fc5ed0fb1848ff5a0e258ecc462d1837609e03001c5746864cacd19ca8afe1de598316a60e5ef20cb40ecbfa90196684d2d3f884a803016fc59295bc9b41080ee40b909ffc39ae74c5fd727dd4da7387093261bd4d5537404d066aa08926b978a5e10d775164e028f8b97678e822c50eb81741e5a9a010b0dff52a19fd5429a05400180d1256eb19af6cf63942bca0ac587d4912139052d756eac1f586380f6caa898b6e78ef651e7c61497e06e416192c70c2368e2687af6d8c33f860b85b704916d225ba5f3d14eef771b9754a4bb23a454cf66aa31b4357d48c21e02085efbceb5877c9f11e84889b1106571a010626359f39fd2cac640a82cb6977b20a28016fd4bc1509043ea5eb3967b064e82718a21f42bb995339b03e9d7052b0b1464bfbece510a49d71072543797923d5a4c5ef8bc9f7a3142effae05bf1183d54e062382584a4309105f0a9ff80edfd8b0d23e20478c112c39e4709339e0f5c2d2b2d3c46646f88294f8446c75934876beb59b0a5bd50d378e1586c149050419ad70deb3177ab0359703a4c2a00928722e95223fcc5fbf6734a649f657a8f1ac6037200a9f8ce4e7d97c4bd0fd96d4cd385f8409bde32dc657847a4f70f6b9ab73d93359edac25871fad9a241620cf326170395d3925b7b582a789f5d4940f98edd20b6456e0717ee8b4a7c8c1fe5f2a3d5f8d14f021fd63b5ff3e8dfc369ad182475387a35ee91abe1104796c98ba450f4610c5ea9771f1bf05f2099651734a3ddadc80715d37131a6f79d8e473dac80851792370e29982ea948a656bff8983a7dc298613994588282a3418b1cb61855149c5418d58209182a9e47d353fab54f107b39681228273f53c76ff23c505a55e5d1afa0a9459c094f4fe03154ef404e231de05113710e2c469cd0195b9e25e445ea6139816c5084793ebdeec3c31fba19f878888e41b3cf61b2b923783873c47052978dc99285717a55b92c930fc5706db045d167f3c1b8c40cc2108fc571889282e78ac70736710c5072758d789b5846272238ca6c17c13bdec9b973353edd46d601719918195a7f2650b486a63f521f320613b58e2e1fbd849b938895f6965a7fcdfc5095444cc74b9fc586752f966a6d68750479937b0d5ce8b50b6f79cf72332591102314640bf3580b4fe707cffdc54192514ccb55651534fcc63c52e48a521aff528fa3a11cc603ceb0f609376191ecb3b05b56623ce72b56317bd785f1e56b375886e63ad1ccb1afb3fd852f0c83ae2de2acfa1e05c6b845c128374ded48cba529efb2a75ed786675615efa9435921601c853cbd7d2a8192f5159d181e570f8e54c4f3f3a85d88a0c36c5e972e1de4eb5636eb1582ad0e1edb84a6093f3f6177d9472683311673839d81166d64652aa5eeb2eb424c2ad6c0b9b4bb8cc9e4fab3a4a669b24f1dcb668cad763e75dddfbb0c0c00b9985de75368ab9ab4d76e6f6df1b30904e92e3334cda7c47f6894481ef469dbfd1fef450ffbc5a57535bdf3466a3df9d2ba39f4427aed2d6b962d1a7ee947f0f50ada6658fb1bd7c9a354042f6297fdecc56085b7f282c38d877137965070d4e7e424ed8ebeaef23e1b22e211062c43163fe8c59b63ec2b631cd69830eee5c1cb221cc2fb6f56675e1e47fb0e0ad78079479bb9028a73bccfd0be7ec40a39a5d0356cacd18d4c90cfbfaae42abd71c12636ad97925b6c3525b742effd756021b2794e1dce659b5009e4906278c1b4660dbba2cfb82c36b6552cdcfb2ccbdd5e3f0d09af9754ce768d2e9a75cc044989026fa0802b8f5ebf81d72f532f8cd52a92fe3694fc80fbcb0fd3c3dbfc0839a671a77781572b7eaa407a00a6149563e8d3a5f591da10a5b2912540470864b5f658f18c0c20fbf3d4e83d94babb170581f1bbedfecddfd4744135c89464188c06bb55aaccd463fb516012dfcbeb3f4ce2b382919c76686b9840e054ca73d52444ff130083e742c8ff285effd3b7098071bbff61cd5adb164f3a4800b43ef4d7f92f1b78022dd0f11188000d4c08895603288881a1c9b90cc0cd4f43fb822949a49a9a481e2f809290e7f4920d450cbc90524285928040732c0960037e0c37470a568042da557d2e6e887b380cc364593081d3bbcc0d818ca20a5b9300757277dfa236808599e97f6e7ad20f62de28a95d0564991ddf4aeda7a8b45205fecb06f61c1fc805631d6bc3da583e45c5765b74b1f35246538d16055a23944d06250215bb5d43f20eea46113a5584660e01254570c30f3433298264414765b281b241bc575be5970394947037d75c36a02b44cca82b33137687e11253f4e548d4e4b0338224d59bdec0e75e371d6b573f06088433529d74e41e97f5c12b317d94b16d818daf2f2e9bcef226a495c49ce772ef66fee88560289831717ab6c434647c995674069e70170009c6fd22cf14a14bf2ded512fa31337d379831b2e397bf9870ae4f8bbb2532fb964601c6ac308feaa44036f38b6ca185da92dc7a96f6ab7317bc4e413d9e776cfb2ea0ba21ddbb97466594b2101de99ba9893be47a1951d8a05c562d1e06809f7619e17a1cd7562197a86b335e890ad04a119e05f09ce17eb1982ea365d01265678c5c3dc640ca08875db46150c80f09edf2f704452c58328c2ce3f5466271938de86dfd04fa7fb60459389729a8a710d8e9794b7207a49d7019786a8c11d61868e06e04dc1103e8ee7e91981a2e3347475e67e95fbc8eba62d2303ec744fb58cca235bb1e5d6072edf83bb03c17c51f19f4d7f707060bef248f17d815fe4d01b95f401cf19888d422a6b4874bd582f98c802a816e19b507fc614983ed84063214ad35b1cdb982b899bd03a495e55caf24040a86ad563192d345080a8da1cb3294895e1f2ca3cdde4b75e6d14addb720d3f5a85ea5160d2714cd803929cad0f055ab30b9d2395d775334d9986982dc03e113492d5ab293ce5f9369457f6a687d836885dda0ae76a7c86cae6c623592f1c7b661dc9d842a3ba9cd8b58c9862d08bb62e67273376b3e0dee9d236f09709b7c9af7630886c1cc9975a04bac10d2b7cb657abb99e1ea1c437e2143e0469ae382bfc362e03bad27856c4ea4345e4ba66b0d88ad005f112f9ae41071ed01a0cbcc30d42ad86c0e9b1ff43f8279d1d3aaaf73939554417cb78494550b46d161eca0bb7fac6bdfa1a77030a92fb01726dde164458cc27a556c59d8bca923f02edd5fa4af28ffbb7e5a0ce4bbef4883aec2328e9464c692a81e33b41528e5691552f005a9ef7e3b2488f796e8b0be807ba3e6703a67f8a2332c5f3793cb017eee0eee8abb4f0915d0f820c6551cb2b01f41b1ca057f52c6c9097e94c2b08dd8131b15c2945aa14e7da22c8733df69003332fda1b1e20e796a048f462006bdae702dbfbf18ebdff2d17251e4889f5ab53d62fd52876454283eaa9352f06ff79f4834b667b78050c63d47f7b41c11d54ce200ef242181734db4d26c8679ab7048eff6bed42403768c1cd8832d2b4cb83620c82e9548f28eb4b8c4dc471df22ff414a87d4e5ac57f15db19b5cc4c18a6fe3ce7084b3cb10de3d2815930d9f1c4026c4af7667dd7da98d72c5d0aee9765396c63a27be9133b8ab9af555e6ee542406f56b14caac2cf776beac602b713613e21a4fd142f7c3e29624320551cd80bd39d6fc38c724154e631403f97e8df0b24a449720ac8c41d3548d696b31946db6800a66f46cfb9b66964065ead68844c3bc8e360681b4bfa9a7f0167414344c7e0af8b2c232d131cfd727bc57a5c72620e619715e0baf0030264991a38de3b219adce5849124cb88aedf224b04ca9c75c851ae13668e3186ab686ed2e9ffb5bc874e2b5e55b92862a69ec68e08caba57a4c6e6dab298e71e03e48016821b909e9151a7a64cbeb939305abd34cb5cd3f2ae60874da28103cbf0c89aa7d9bd12f3a3b874fe224aec011301937cbd3d99bd3c9870cdae23db812a16a1a52019254a084dafa2e649f6fee2bcbb74ced03b689d63f2bae8034022cfeafd2a80468215ae7961f9106bb8140139d6abfa73feb3912ba4cf41383d5a2ac406afbd7de3fb2efabeefca1130f61cfd71e761b43d5eb6ea31007b6d144dc5427d4c938782a4bbf0a5879c68e969ffec1d4d9a28bf70771bb60c232e89961caa169047e1bb1ad51345a1bff9acdc7a0aef861a469335adaaf2234f0fc35d4360735134910602f79ac2c01b00a46648de418546b7832fef73e761fac9b0b2518accd1525f73847e8ef05b4ee49ec09602f2d1427af97cf228a0ffca8226e228c382778ae4df2ccbff394c3b14e3dfd263db6f39623ab3419b178eea00258b5f786bb4f972cc4e793dc20c7db3ec74c7a004e9c8f787e9d3d26e6825cd5905fe608988a006247aa044afec7151298642bda9fdbcae40668b620ac8518297174cd30621bdb062caaea7f96ee0913d43bec8ce98fc026fcc08c2cbfed1e95c54b5034c10d1d365c12e285d368243511a04fea6156fa14bc58d8cf10484b251daaa0db086d1fc2837b709c5386b02b9d9c8cdc2fb5f72335d220ab55de0742e6c040f86fbb4c8ae5f206462c2e93d46cce87f1f602bc7502dcc104af23d741487d83bf59c03cdc839f7185fc5bbc2106afd4208a86c084d36103299557e460bcbac873b619f0101726466be72a4bf838dfed29048f420c44af8e358f42d248523fd08710de9f73efbd347f74d3fc147eff4214c9ff9f4ed81c680fe1ef4101c7d947f0fd0b707d112f4b0d0075d1ebd4bb0927f41e89bf527f0bb8ffb37105e00b3859dff3151e48ebb59d0a9178744b39bc5721fd89b856e107cb370c345a7925e3333154a94fe85e9eb60fa9beff45342d0f474237b10bd7c932b5bf5884be7beeddde8aba319fec34706342fa5207bb7d3d6fd9e9405037e20b3638a1a9e78be36ed9b56f68f9d82eef5c0981b362099148861a6679a12118cbc3183721416b76f1e0e45eda758f675c7b3a606fa086a8dfd14393d62b9a8c4a5c7f29cea63b2ea4e2fc14b690257852702574f501ff2bb8fd83041908480a32ece8cf6708a53890580cd3403867c2f07ed36297a50a879401022e525fd6a339747a8bf2ac3d2374dbc155af4a4baf09874aee609f5795e0b43988cb186dc20bf815fe34c52352a051dcec40a41198152a153bc8751346ebf73850156060215719415bbdc2f139a715be4881b822b44570605eed9f8f80c835c8c4ec70de646369fd96d19342ce5f720bd24fc6f8c8d84bb1c31004c1cc016f85e1c0ab75596c7e5205e9958cfb301e38e873f71ec35051137d8954edf3a0025aada50d1c7412d418df8c9c48b881783d39b029ed03dbebf28f85f5343a02e7cdb45b16fff3f9f975700f739e31868ecd90d2267d1d708106dfd6ee1323e52d01a72e437945d9812ccb580d6ce4215b6085ddd6309073b720804f31e3923d416f784b978e498ca5a5e307a3d9b56e0649c514ff5b3ede42c46349eb59a1e0214e09670c8b5ef4c1840a2025b622ec80bc78ede0f26432ea9a8e8fa2ebeb0c5169c131903e00c0a153586e665760d374c43c6332222884d09bebc0adc94ae7272c2c76a418a55f5185099f75af36f5b27952c3bf7f4d7c650f25931aea80c50325c10114350947144ec94e49bcb565bc76b67c18347e4a3a5ddbfd1ac8753d760eb60504229f91e47ed890f298a10244167f1a80566ef1c8a2a5b5a234e8a18b90e3b40ab2fe6c0e937be3edc8b08fe4934a7a0fb39521dea42ca242a3f63937b17c0a0ccb74e6e071abc824b6c043921765ea002758910bf89b5fa706a0f5d52f4b663126e2665014ac2477409ff8c285c78bd4ba35e13780f0ab10a1e7300830b15c717bb86ce6180df9d1e064e33044e559a21ba84a141eb14e2edde3bc6ed07440e5383a6860e12e2ed5754b79a5481d43e3140ee127131f395192476350f7e92fa3387efa296ceedef44ba066b0ae79435a2ace6fd55880e5eba2e2858fc441d16dfce84dd17806685f8a567973233e3ec421336e88ab06b922dd778f5a92c6600f7f43cc6c5f4f06410cbfd4f316ee2135ba938a6ae5dec94bb2347241a82d5ad598a0085e21d5462fc2dc4492b9777b041a549f84509fcb3a99f128428eeee3263917add61c54d1f3bf76ccf480331ebb63628ad801b5f3122321921d07469c76a44b9bbf13b2743064cfe5c8f6e3b8379ebfa2662d7acc650a5a8acf6116c31f774a95d3f5183fbb9adcc6d8177bcdba30cf013660882564b336c3fffb7f6e7082bc7383476dc85b3e3fb72845e3b31aadaa8bf66663c91b1f409c12003cbd1b20f0562128c22ed1f49c4a991bc7c63ba013c79dff6ced07a213c67348e813ca1534e32410d340873dea221e50a1fde39bc189ddab8ea2809f9a5c8d3a20598c1e9fc1ccaff0756bb527571904ce8e5ca9da540ef27d226f7bf71f72f1c58b6094e4c557103936482a35a0f7094ae72edec3c64006edea3e0b7d11be71a267b3044e68c70ab183ac9109779aff3569109fdf6ae8af753f5f1a1f0c2052abe76153e78e7090230cb30f8b0850d3f53d72ed307d456bf0c4777a88292dbd489f046204e369a95951d28620d6e8b0c46849c6663d2844c1aba6933dbf43bf49a5a3a588aa6bc7ca64a27531ea428a6f12ed8e16071695bb4f47b5114bdeda585f872034c81e90e15fe2aa2e3a610535b497dc707958f8ab63fb05d08fb14434d1239a65ac2e3be7c79df47bd6974dc86f4484272a2bc6b4bad927c4b6b7fe9b710f7c152099742448012c2dff8fd094972bab010290608f5a565aba72df0aa5afe3b441c18bf540295728087d45b48d5ec496847ad7b86a31e10041234f5203c6438feba729d1f8762cb32ac9ec6304e59adbac5c9643359aa6d164d232f3158a7801060b25e27889e776971977e6e050c7e37cc1db4af438a57de6175ac00a4af253955c0dc5b22bc1869a87c45eebeff55e1b57d2f77ba014d4fd8504356cff70f2382d3b688dfd68edc01b76f33fec9876e224b12575394dcae87f196985ef0a375907bff58cc1f8f98b35eb89cf6479455cfa77c1bdafa47b40307f9c7c3a49c794184302cf80939c0447b3176f696aa46a46bb8e380fc9c0ebf1e0e97039639d41b30020651bfa5d8fb6284af339d6b34508fc5839540d200f424a95e9559900158d376b4524703e92422fa203ec400840a014930da60aa388fbc25e2475d157240460f87aa3a74f9e056af7383e393b50a0730a2c64c4f987917bc58274b2a80aa50f168cdf1593ff97391b0389d26a5014649218dc406157b64fc639555a0fd7439a115d98d6e581593b6705f1ba6e4e2073a0e52b0bf645c3a7a439d08ec06fef21315082f47235710d2619bf0e502d543ac9e062f7a6f884ee3df300fc49a10ba8bbffc9cc3e5557d01428d88e443936fd7ee156731526560fd5698b4953b6dedd77a27f844d73c18babe137040782630d83144f7a6b0a0be21040777a81f4a0440b735d36898f5cc94ad9cdf4bf574d862c6b2d59df919d2a165909069314ea14435e81546066437745c589454ff619abfbacb3b0701b0bc1950bb51a0c438e4ef24d7459d2911e0b923e96998f71cf1c2a0bb4d64d0daeb18f355dd105c5ff949e5ca892a43ed1e8c838885f233213de22fcc2486926ca715faf027c443e20959e130d41b543ae27ed67dd55bdd33b305248596a3352cfdf392d21806443c56c088688749de8e2fd1b9ad20a925ea7983a30ef9ba16ec1ad1d4a4395d55bc1c96f637d43a80458f1a82ce2fac6a3257fc4b698b14289fa99a0b3833aa19eb5e31d461d30ab21e0a9fed12ac85a7bb8140b036bd15f179d8a04cc3f594f88e9ba3a1255c3493efdc064e4341e7a605442f5fe0f1ce704ce6030a225157c50539cde21946e9e146ac360075be7beeef417ad41647c77a8b6ce08879d00c9dbdac235ac5af3430ff84ec9f190476fba26f700472cd0cacaaa67194af4c07ffb49a8e871c5f2289f2336266f55e34b885d8cc7a731dd0a545f09544c9b63ebce66d3915fdd0244cf5b843eceec1812c162eb574ce87d89b1dceae8f1a928a6e367c0a0b99e403adbbf11604c79e616adba66499249eefbfcc209cc9610103b04ce2038cbd7a2a864c187b57bb25213ddbe0a4f53f84516c1c3b4fb56d1700ac85e0e62d66d6da114ff5aabe8330a2fedb6d3627270281fe1484482fd34271782256e489a063d2e41c143952018a31764a34b41fa9280b27812e65f5c7c2959c38c8263681d5f0ea1f2e14373d545bfc731f09ba10fa35e34a6ce9ed2200032954bedfb59020d54198bcb6cd4a53c6439dde679c506dbae05e07421214f97eeb18cb66c7d5f41a55a94fb032b72ade0b24855625c9ed04c208891333b4a8b4e083e7b6d3f88be51b6d3ae54a76631f5772db523a711502553d35257eb31440db09cdc3b01d39c5940cc7cb149d8055cddc308c768b3ed639e0fc93be3377dda3fd349655af472c166aaf01af4c85470eaf6eb37377037befa34d87210501ee9eba9ec752b5efcd881003473cd7a9bfe418cf4db5e298a692063ce984dcc9775bd0bf8f23aef0259c89a2a048ca93b68a7ba3fcb314c8eeb659bc9c78ad2aaa17cdc7b34af41a13805bf5db567da6b015b026ed82d0e85d5220cf6b2b3cb565d03d66d7cd303438a0b36ddc95c870cb846eab3ac7a707576f453e1637fa3600b0f1662e0e1b2486fdf36a39b26a0aa3c31f3934246f0e4a446af43a4a99ee2dab114cc99eda71e5d033012de5fd2ae49f143c3c4fa5a908b0ae60b8b20da6856397152d7c836630e659140791b9a0b51d8818abb3680007644ca78338949365c301d1b2261d65bee7328f04dce5a5120d597d0ba3246745c712a1ab71ad43bf010d7a386de89efb4a689a47bfca0084894d14315c27ff57d893f014b27db0fb402abc148bff0f64610265ea6c4290c3381aaaaafba7e74dd8df960ee8f180565623ed4a4e6b1c9bd775e2d2a2b9b1b515de0e036fffd6be9bc8424ebfb273b1b64773451d9962711c22af1ecb13bbf7275ba1fc294fc91d792685dbef58401dc9fc10f1905dea3f8a986b2a934771f63ab5e65208f09b551463311e04802f904ee55090070ec7ab371e1928a489a73c73e87b735043a1666e2acc03ca92dc03f23710e573b340d7bac4208679f499e9cc76dcc1a5156a9a1eb7fcc8ba01d1ad959e2b2ecd145fc6b39312bd514c21b1fa30900ffef06d1d4bf21975d0e2db35bceef5a0269d016bc55090a41619514eeddd19331b22523b3f4f0d49c1ffc92210a629ac3965c124b94aab203c43394c9031b69450d9933acf3df70a500aa7365257387b4640a9be25d7052d727ce5aa9b6c4389c6c00b2edeaa6bee569d3292ce521a86cfd8e3f039310c5719440969134027e96f42969fe49ebc03aa52a36e495ec6bbb534c432a56b0eead87cbe7b8af6eda6a34b7ae01a97efac81514f9e0ae05017ac11511c8a82cd3723adff94c5034b7b2d6e378054c9146e3c6b9707f29c0448d7b771be44c93a268a15d05834978a17ed2ca3121c0e5a429457c6d34864b656c0e1e1560513908262336b75482a85c8bdf8ce61ce7c02528439316a387c5ed66fce72b08e28e28b569e330156bc9988c20533cfb3e31d16839225a03c92a0aa4b0a915286b212d4a69671cd5f843a01ccef27d013cbe1cb3c1455ed2bc42a4889e9f5aea2500cac961f796495938b96bd388d31c5e439a37729d561e471a87703cfe3c5f934ecf74bf34e0ce63e7507bfbe4d785b814f1aae18cc04dd0ac8466ecc81cc6f6b6800a16c97927806b190949c59ae9024c404110c0af2dac56027caaddbe5b554e42a00f290178f4fc21482543c278fddbca2588ef5a892cc6feb1ac3e7c775174db7d9db9353875fdc1b4b5091818c3edd058b75556d8ef16e9b937f94814f6e2e5f6be6f8663c48b7a29b8255ba9927d18d878a39ba59f338f05bf8dc5861d4449d1ccd90dbdca2df5f82e1132984804aaa48a4324586332f9ec4dcc8dc308831d5c62117471b8ae06c13ec952841e1faa4dcddce72ca7d005ff616031a223b98f21db9c30200db6f91a7f1f13065b393210db2781f750774c6e2a79a1c4da2c609440a4c03691005cfb8300eba4bec2079f10f2c6b943aab25f2d131f6f0d0f47ca6cc0a56763be7eb71abab4edd2a268c0d6751847b5190569547a3f47ac91b6251089e9cbbfa64b9f34e52bfde3eec6a30408fd66c852186ca76c9683de7b77bceb30534f754f7f339d5b3e83eabad813f1be15481031eedcc9099b9fbddfd56c083eac36d39ac5447650f0b0105f1f05b41d31ee43b244d4d5b82b897c9ec7a078a36db48e3082157149b37e771e5da9fe921d94a470fd3227702ca38bd727d6d008698e53c1e644726c28c367f6661ac31f20db0da0a416d1189385ce6f1b307d5dbbf60e6c894413066b9409aa16cfb6e597641b1d5d75ee6cddadd6da02469fd712438b3b362974d45edfb8a2565d43cf1e3a3db2420379b73e9d895af6f3e9f25d743e7b5de9a3fdd870d875915eeb00e7377109f865190a72992eb284fd073ab8fa1854b84016cd4a0d63f2f225cd4198f9312137fc3dfe5863b1215c2311d0e5a768520be656e27535a11fcb640a8f0114b8f44f3103fca5dd8156f870a39b5d642567e6635055b881dc9ac1dee4204fc91f838af66390b17468ade4d2b53d5394c89c2360727201d575a8e21435541b80b5adefadba4f13c958d01c78924fa509497f867dcd39fd2c1980c73292c78a7ab0a382a0d5069d734322d80b6523c5d3aeecc74d9d081d1d1020b71989c377e8ff4b30cdc13d87455fb4d1cc1ead17aa8436b8fbc9a06dc874719390510b0e3b2dd7314545320749d1de9ad5102b40f3b3e55dd131852b818b0dbaa889b34e33b8592e648dafa6c336ce794ecb6cc7a2131b2ff02c39d7eccdfc3376660f52c6239c32b747a78e9e534981b5fb5c29592c37f1c11458ca237d581b504e04ea36fa6c8541b312c2f92984af671b40b017ab0f6df9979077ad3ab3315bedeb91fb535873016781660395ff406f77fc9d8a4b9b6786b17c71950ac10cc0084cc7df822b728989d7cc8d90206cd7d76cc1f53c8c74818b2126ff6571c9dbdf4cf6bfd4ccb2833973606da577e93f635221e40f4bbd20029d7264ba80064bdf6d0472df8af9f2a65ce2ffcaeef501a44d1881e5516284d45b1ad4326cc66e4fc9f907643126194222b3e32867341984551e9419de4a9fb48c9136d2c889d173a3e01bee06f830de004b918c426ee5b69f761670297f50c333d3e4bc2a505b4e206fa85b0ff4f535b1ffccd94e518d53f12be0c8c8916d0a7aff37efe3aec9f4a98bb34610d4227d214353fded581c332cd3c25451748d5873bde29122a6cdecc2a8e5783a221b4413f498d2f9209ba59f4a60eb06df97c409c1f97ba2b11a5173f99a65bbf2ee63d1eb2d532b451035835282fb390021782e637480ddfda974b47725ca819490fc1152bc36ba0612c085121e14fa974f76949e68c875c2e0dd4c30e658e897eaecd871144fd89a5ef758c1f6c1500d34924e3bdb11850ed2eba3169f3d102ea20a4d90cd76dbc702f5cad4a152aa8a8a20a9e7577b7d8426662d7472ce638dced766529805dacb02295432697c3cd0982e287b22d42f1859ce0f11f7bd89f9e6e205711534c1145145abcb41023262a6aea35a5021515162c3ea490a28926b8787191cb45b117b2180eb5214a29a217396170383168c8b902b2c4126372c670e1c20180d8f842380c0cc4280ae208380204411882118620217010840809218430e260fa7a740759e3516a33b81c57b95dfc5de1facbda9e7dc9f1c1d0b2b965dc7aac3ef5a6b1538a71b9dad1e39d19dcf8bcdb099ea295f5f1faae3365e34c2500392e280399ed6edddebbf684dd15b85f62f6f5c7bda0d650566f37a321875c98020fd99142cb43c82af319f89d2a51a862956902d2996427e77431d89078db85d922044f68c231d6ee3aae459770dbfd08eb2583e74f81facb5123459ec547095566072145abb68c1a994d889fbb573cd791232283370632488e86259253c199284c38650fb273ae9f0018db3075cada8514929238b509a75168ced223a4e8150e256d3f4df2f44eca438b8056d2db93e242b1e49e8d4edb0fa1d1b0fda8522d7eee996e8cbd61b6055cab662ed421389a89054c73e72a9ec9f54bbc884696bcde1ca5af3e491ef7bf51cb7f8c0f7757152089c7b013ca0279f498f858d4b2b23ab7b75a017a14d20705fe82210b5210c209743806ec30422de157b39552a8040abd75402573eabdd084ef87e1cc10c978a7a7c523b42f85b8b78486a0c01d16a0f75ee08c31b46aa2cafa48e3731e710622203e9d2a6cb4f037cf101190e9e0a6d8dbe7dd99c3ee68ee1b8dc9287b596943afe1ba0dcd854471399748b737475d2ae47906bc3867b6a58f52714e8b0f60852df412fdc154b8ade333a33c5fd4448e6410d1fbc72394100530c205a1e8be753f32437feb075314ec1400640b18108028cc24c8c800c02010d94420800180010150e213ecdf10e00060e80a480b020318181010080820049c018c10d8432020312033300805080400dc000808040804020294019020a22020202020202020052804011806070509080160e0a001a515ba55342e2d2f0134303c109a86e0c8d8d030410921030141fe7803f407dca0030354d42890bfde2401201830032008581094440c2f2dc52e2c90432d2bab442c2a972b29a92a28c8432927f7412826e344272580d9f04f5aeb9c72d21ae79497d0784c39090d9970525a32e5a4b41a134e42f39870525a02535e1ea9d83568551c889b03c67641304c5856609aec49a9776124f938c68e8626939fb9802d1d1040f0cb096b07e64b983d0cc06a003a607c4fdd38aff7e1041617f41bdc35eb875f313d1275d66c1f4049e0df9072fa09ec6148667500661f96bb3aa828c5756bfa3858a2c27111fe4c4435c9755a600049810169da9bbca9e132dc02944a2d314c26f619e8cf6f05cca1894a1e1e42b8357d97685de0a21aca41610f5e2d31db249aa92ba1bc5010a58332cce71be6c982cf0d11d2733a6400c80b0bcbb183cb35cecb8b37f6b6919f590c08c36c119da65b66028673d40c4f34019500d6b638c07ec57009d45933b4492455e12a9908509c11c80cf56e10a1ebdd405a00e762b1702c20ab373150e1dd239041c1cd02c005f100c61e932f70fa5b90bc62c0c460a6a20fe762d6c13ea0a6852fe8c4b29b7d6353ae82096c9233ae75990d426a57ecbe8f27a3fc5999836d72a3488658aab78f0b944c123a46263e088ca432c630300da0105561b540620ce7502ddc5d48156500476ae65340c7eaa7325571c9d313a4d482297935e104a36a502179ea9bc968f21d5b587eac603727b90e10d0c2190303b0410639ec7530644053caaeb120efd82eb99d404cf600aa90781f556058dde6a782e2181b450f6432f96a2848309bb5a6451c1c356d8118b470014c4e4d17e4d5ac8e043ac56538c14cf02318f8dc2428e3f3e6539b7e40c35a1d4e1b0e78734399e37f6d9b71e134112149924899a40cf601e501d3018fafc0dd2397d781eeae9f373b298f4fcdc68fedee78176a89cbc3b4ab4220a4df2253788a12c65b64cf5747527935b8439b5050b68d626d43d91d9a9617fd74e7de8af47bc3215d2037772fd3d55d224ebbbe7346ed4cf0a363a286618ab29fa7023e84c0c922e70ca27606da4f6b83761a05445d87dfff2f8329480e97b69acf3d427f6c37700811e528d271d59b7d4a85d8a79f5917fcbcc931d5aef28e9d612069f18e51aa750ed5c350ff17427e1af93a7f2e2d2ab8ed2931d1808c20496e7f07dd494f59993b6f8c709cf3a7c11d8a06a406f08c2449b26ece937d8282c2794a8acaca4aabf52a0f2c24ea22cfd7ab2c5bca5609739175d9f9f222613031e48b27032b61bdf39649de6ea6af281e9b9991c9ec8e86a4219bf05c5353b352a3925253034363708ed8cee85fff30562aa2f4a4b453727a9d12931211aba45375f8be26feb8c70db1e2432d8618a2a29c70c267cde54a12365a6801092430ee33dce4fc03ced174735e96bd9f278aa669118faf6526027f35506e7c5fd6413ed087de3428c0b0476a8b3e3d6c1f1edcde7b6f111fdec8a231b133c8139f265828359a4ef80728293a70951152567a34506919adb00c69b97a8e585eb426a0ab5ce2d552838bd2e5889617215c6039bcc0d4d00216d373038c4c08319d0519b367831ecb99333d31194d8a191a1264682dab31620b66b6690d813a7f099ccf0001e525e74a64ab7fd63a96977ac4d8c1e8081f308cf4284b1a2aa0703014c7149595164b7e81c1c4c8743396f4b2012080194e0efaa2d3b8ccc86af0daad003a3b300688d12f0feab268a040739eb6176697dd404d580fca314b180e1cb3550acd4cde1aba31491e0000a7cdf9e27c415363661a59cc92bf756478a52db11ff3066800b38c71da7aac550aeda0c9c4f8508c0b0ccca5e8c5a5c5a5e555feeb712c0bee327154256533880a088b79632ad73aa586ec983518e60f5e970430531d0b9581d38ab98392d6544c74c7468a7983fe70f3bc01423165e33d6d2766cfb21b2c13d68348b384e118cd5629249abc35149a2427dae626738066de45e7977bd6a133c87916a4f1f6ee1379dde73ea7fba5afe1757f6309827fd203f91d56c279108efae956cbb3f6ccff3c8cf45355497ec95b61151fe11bfe817138e9791fd3f33410bdcd9ffa55f3bef73d9cef7b28a8ffe1fbcf84981274766a67480e874bba39203b3be089dbed872ec9919fc7f9d82fc3dab3c790811ce41a6094c4a480d36407d877df71010fb7d65aabc00b457024592826cf49eeac342551743c4fb12c43ce772c9f514541bcf04392d303c60aa70a4b92345811e70d3aea2fdfef330882f7b10641f0eabdbfd746207ef0ff417cff668b4ff6c65f3b9d6ee714b5cbb49f9910969698782f45964e34ed21dff8c90d865982b718f760241709bf1f8322a737a899b08942c71260da8edeaca92d08c71051918eabdea37bc3a5373c426e6c13c852d999a6290332b23367e4f6aacece0097f4a6a67a555df4403bab35adabd4ab30444849dd2b201bfe7e4c727c1c7d308a3b51371e8daad8137baa68358eaac8eb5c885562929149ce39e77f826ad769f7de7befbdba4ee35e203b6c85b18e8e7daa9c1f5b4c5e6c73ce29e05c519e7da3a80f52305b9c43949ed4e0366f48fbf4873dd48f9bf4330dc2a116a4771a34b880b1e8ffa2750c858a398189133946f9334d09182a5216b945ce4a354e954e6b1a8a34f7688661b9cdcc8b761ec7155a65ef1bdd403b46b684c05df5bde468b8c12d92a6cd03337bcf0922b0918136198b25fe0742ee89f784845355dc4d08ee5235b0c1b5ba573925ffa7dd3d044795db339a2faa84188cbd78df7edfd714eebdf7d95fe0359bfe01b261efa0eeba8f095400047140e989b0e4793bf586c32525dd9c566fd07727add35365d2c5ddaa6ce6b137c7f9d2924ee794ffffffffffffff17e8b4efaa5341206884dc5b24c3300c31ad02f1be84612cdce2ce397fe3b83fafb780bf05e4dc9c1bef5d6f50fc93efbeefc611033128540141858872fcc02125e59afa97fc7728fe2cb1575748060b550f9e5a8ba105f79e5f066337631f75fbf5cd801df88a25484fc88ea6c128625114455114c52eaee22a4a8d6a921daf6dcf593b03ce3d0f638c31c618d7ffff0ae7ac2c39d5b286b7b6f75f13ec4f1ce160bce4fdfa977f033ea61ea82359c248d3c698d381de39c84c92218f1d8a210fac759a2cb69aa370ce39e79c3b30e39c739c7327f51e33682d2def707f62b8c33de68fcc6006f5883f07c9e23c83919191cb0421ac789e5a38a6f677393a4fcd06902d0887d01051d10e68a39300013c5ae7d37beffc51e174d163e441eb7174df7e2aede6bcc56c076efbb3194eefb0bf8eb4ee2ede2ae5a27255b97aae252e2bd7d54b7ddd76a8673ddea573f148d3b5ee102dcf9e546aacb58b1c4f4d335b20c62c6976c2672c1ec6d0a2a9416d92334c35c08f4f8a62c75bdc1d6f1820582cf1f395acc3cad649ca6ca61ce661249caae26e4270f881221d398c31fee9b9b1203ff07aaff69e763addce296a87fbffe729010109ee28efc82af504f503fac284bde8089c36aeaeebbaaeebbaaeebbaaeebbaaeebbaaa68a05ba7d621391c2e97d494b3727970bbfdd0e97083e10639919815f8389a36b80c2cf5504b0c3311e79803de55f3538a97a8944a37dd080d136700100e898361308892248b939ad20354c207c65548840b035241240c04c20131181000e2188c8500020a61180002200e62309ae9f40130a75e5fbc42c7d7f823f26cd6d457da61279a682e6e2fb8b59919abc64bcca364d0ee54a4c50e4035a61c0a65723d8cf1f2af67867c58d9c225d5f330b086f6f577cbca03dd2f403baafd42cfa9c866c1153782f6426fd52fc5543a74c0d95ca89cb8b35af92536951266741741d9dff154caaa60af296a50d3bdca4b923af6ff0a2532232587764567bf9d70e8295005dee4f90a2793db1b0705b90a94830f99b5494c53770f0f98b29ca71692cecfd14ec02bae87c664138929d03a111da8ac6dfd84c108379b417def60726229ec3489e8ce9ab95ef3a91807344dcc873179681e356c3249343fd3da0493ef63391f726a34bd254d6d6d733e1c72b72f4964774fffb35226aacdcc6ecad3e52241c06a476144138f006c425cf45ca4f82ccf917c886eda31901202723fd4430f8264db668cc5beb936efd7088ae02b4c450713f13d930fe433e02542511e28d06d579fd301061245b4b4acf33a3fe8849e74c03a32ccc59f5d4674f86fbad9115777b145273a6f26eecb090ebd486672722a0b1ab185a98b35ef008e78ea5b9a9b8ba33e98e2878957facb3a2b6491bebc895d0e00e8469cd8a180a27599c9161d7418b1252e867dbd27487cab7dd2cf0ebed0bb9bd376b3733b4a7a49d83421569f6e27169e25fac45afaaab574cf4ce4c2779152986507109b0c389e7b5b71f34b96cf237694d739641a5706ddaabeca4b08e44cfe70e6feb06cd73ef8a48109f147ceb86321fb368cb0fe17519ba45c303e1d03cf436bab772e749620563d1c2c16563a2c25558a0badd16fe4aa180c79146416fa58f8bb3398fc3fdd65d04b1cf3cc746f5b8b64cca2bcf2d19adfb9c046c658529b52a181c05aa099349eb0ceda0590e7fd9cd30a35c0fb000135aa9335010328b690b0d37889094865ce2414fdd822d944111399cb13949ea5ced5f37dc84175b0afaac3f4114ef33d72f5612333ebd61fc74b7ea29a0a1aeaa9c49f81e3b38aff21b1c34197b7effa3051a6d39753e48412afbd0b2f13b9542f8cb8d603e29600c5228f0d1a290a0fd74243c084a38444038e1c90531b132f5f3f48eced47168f0b6e8b4e3ccdcbe7d92cbf658bc911d3e5737cfe42f06e584e97d91ea8fa74db1a08cbbfe2c1a198fb0920e48af3a53f057830a5a619e538f251669a35eb488ce84bf95c58b156ac211940a09d4daacf81a805b8a699f34b3714d57eb1fa32cd97a4b2a84c9e4a071c2a3aa8c42fb611de97131f4026cd123f9c7a9409c32ad5789288da58381d0afb7df22884b53ea7675201a83a3c07efc3fcf93a5048ad00387740d431c69e4d8ea580359b94097aac238d8c025082b2435213996a3020083b9caaaab7b8701c234fde97aa9aff8d77723f6f2a51e13857764a7aeb4eb9e9f3b779f567e85d306c0f50a0bdd63af2b37dd4db5ca2e6c056d68337415645e2d1eec6fc941c6b2dc030df94532bbb80935c95f17d3d473401e0fb652e93761f42e79a2206af870ee0ac84e80f2294085596d2f1c51089b7942864793ea087c40cb0a4538b90d47980223d0b211ecd67d2376ea528187b99e9d00d119ab679462f4c06d8f2244cd701ffbc3aaa456ed7a5a333a2fb0ac8185d10541011c76cb710843245f0f0bffe23d4ef62685da9b697dd819e823b1a03a3aa76161c4d5ebfbbc113d5316b0f2dbb95a37c5c39282dee2af26a02c1f2003476914acd6d9179b1d628111ecc3a999463386ff4d210b814edccb3d4ede9035eaf5f9e3a088b94c20b8a965699bfd942eafe0c3b609c2d98f4cb45287371c7c597aa3de3bdbaa7789a1edeb33d2989bcd93f1b97686673485117ae72d83c0c06b4bf35434a689aaad1a06b33a2a1695ed534fc91d04c5c7cd02c2ac248c361ea94a65507308d9e97da344795ea6918661f6a3e7d6049a9297fd69d08d5a8182259357ce970733556b9ab69e6186b2e48644d7346546bc4395a27ae39a7032fef9a720704ae414133b38a8d6a18a552ae649399291be21e6d36218f1e19da1cccd51467509bf86440dddae4b16ee2ad87d2694d77d78ae11a515d845494ae0235aba2642d8a9fe37f6dd2cf3d2a11bddd2017d1e67275d15bf07f8a2e3361af06a0f140349f8d901289a579634e75a12f89fc0643241f91d795c47c67205e3b5540ee1b660a7f1b6f18572b83895a3dc35f113df8b7988e2af5cf5b2de9475cb048b2712cc680bc3e555c9023b072a3de4ab489abf081322b2dcef0143fe51aaf4fc80d50089939c8eabf8ae894e636664ea2664676c6a4f9b611f05fa4ec1a7f9a6b7df803c540826c0340e15e399d7548136d7b6aebc6f6641600a36ab4380a70d244ec2afc0c6a75ff797f55cdea3b2dc30b0090a235dc15deda35707a6b5d276ad352601e2ea7e0f7d884598c24552112632e0aaf54cdb50e0dcadf944883734b862bf762c6553ec1491e5156557d111cdfb742cfd1f26eaa6eb25470380894f30052b00b612ce8ba42072b637c07d6a50a0ac00002717016ed2fde094390d9dcb7f53a5ade5fc761003b4682d92bce38ec28e83324f1b0c9969e7270c06b39bd2f119d145c463dcc21b145c93a2d65b5e0e8efa32fda5862352efc8e8aff3fa00066cab4fcf42c7be36ab90e50ad0828a0df1d28e980f3755fab98a60669ddff6df66041ec9fa7427af400c2b57e46d5639cd5d9c7cc507a89309a1cd74653c419ecf870b40b92729c54e8fde47b2e6b0f324139499c99b7781fd7f8dfd615505f411efdf90a48b33c3215f177fa9ca115bb88ce1423fd818ff0d760b4cee72fddc4721af2914cb432f1b8f9e9ca8b974a72b18dbcc8669c2e33571ec4a8e76d14613b4525328a2231f0a2465f27720b7c1a716b233fc96ba2783cca0bb98406ec594a395482045f1e05589ddd2f2e3b78c3b05300b9438bb5d14ab6bb3314619a573957d72f81d48dbbb89d50dbc564557feafbe953afa32239faf60f5d0e47c8df80e0e60b0bd13cfe0521909441b04ac51fb60d69ec5a2b42f85dc20edd238e759b600dbbb7d5623bd5d1307d91d041912c2eb31390f6f33b2cad6c6bee75ee673e341cb581ac0398c65af8d066798ca3d89df951cc86b8883c25a906ff0a050a64587ef6843236ce1baa991e0466808abba1b90095ecb886033e8bcf7743563afc5ef5c37dcffe5f9dff155546f797689ca8f9c81acef7f00b2dbdc9213f8ec7818c456539de25a538e98f877ab93ec14d1ad77eaa3abca4a67c587bdda6741f52fe803467505da7fec43da7e78c654909977055ff462aa1cdfa048467739e3cac3fad1787e31a044ae87a2369ec8d30e28bf744115351c5bba151e952f69588c4caccfd12e0d66567e4287d29fd8ceb1e6cb3085327db48e08715cfe1b24ed37fd600588575d0245b626d4de4cf42d8418202e9b00e59eab94b02b34cb4543a98da72c6f0918cdc2c99e59029d7459b3cae1e480a300ab70a599d7de1dc34a22a5ec2ad1c4bacea07947ef9a35ea6027313bf374a3c685582b456f3c0244e5b1bcaf4bc8aea94e436429066aaaaf1c464c4b44bbfa804ed338209c4935393bc309de8cd7fe5087b569b2d54ce41995c0637cc99f1ac1aed901cd43bce30f485485d4d37c2bc621edd034c2d0d4c15edde8ba277ab3985266be2a0c2a83e36af65b63af4684c5aeea4e6a036675d9c944433beb50a99ccd5c208c8aa6d432d456e1067f644af22acf6745a221ccf5834a3a3160ac374fe571ac2f912c77c898e2cf7579d4c6cc4e686fff480067d6ad49aca6610023b4b2527fab11a3b44e8aa3b14e904f90421ea340b3752e3a022e7641efc361a522e93984bd124dcfca1619a0489774bb62c986c7a544da4ef7f3d2b16c9c4bf45c2ac1f82b6096d5a6123149b682163d7d9d2af1458b82aab5d92b1001a36262d5e9345704beebfa198c44171f47745abb1d6be9562ed94e46c7eab768d8f17f224ac3479e5dcbfe003c47b0fb8a15e79eb8c9ed8bc5114942d0e7d258e5b093338ba02ec398f96268f8c413d5d6ca4680a3376ebf431897bc0b4dad3deec1bfc0744c000656520020c08c9a9665d8f3971483c51c75fd5e7df064e32271c94c81915922e326151efa147adb41ef5aca268a85721165d3763ad89093b3d936c6105512d2bcfc6fee4c33de41d2dd30c64320145d79920c5ef41ab8a2ec9997bc88285dce0110667a88a538de3aa90a68f02fca7811331a0945e5290a3e26bd32ea9aa8cc9ad9c294c8ed2949b1b090b207ad8c9cf0ca4355abf8c398a8ea0d0e684cbe5aa4ecc5da1d2ffe910fba7913752370d44863c9095be724a4134856e8193c331844fd8304d4bfd5998c508a958e26d483eddce5b4adefa7bd89efb9d1d04ac4b07c7714888181a8cc78827e5d022d2644828539efdc47b6bfd013bac4becdf2e799f608f18bc8762a8b568621122f0c8442490b16ddc1baa4c9cce7192effc6b3b3c04f2779411570f449cfc432095468c2a953cb7856e457f829b574004328cbc2c5cf9e8f1a8ee2f37d382def2e552550b2030327f399fd46e17d48932134f7863cf500e1d2e3dadc24ba59db37a97c9f4caf090d17d78c87b241ed2fd379345fdcd30c962a0c9b6f68fa5898e252501aa831a4428d5247f328404e0a4d04b38452fa0ce3a5c96d59c93355ba65c37cd269ce3f8d82336af95160283639ca38f4d94aa6c6465708c4b2bfa59a489c554fbdc0d51b4e84691e5f038def721ab150791d7dd97bb59cc581008903a313da5bdfbb778aa020c030420204adbdea9c99398eef24c63001078573288e3507fa97e30ac5f1d545839468eaf925e1bef0936ad6ff4853524f496c26ba2da87ac4f1b61d01da14e9c3203ba02c9030476afe881e4d296105f64516ce194cc1f7a62a8e8bc1f546ec73b444d9d043fca0201c56c130a76438e419e2a4cd3faa679f68a6cfdf41bf174d77ff3f0269882a562fc3bb6e19e076cf1c0c23c8b64f1af5a7d030f0f6781f281c4999dd99f6fcf410bdf9c2028ff6ca56c40ce91a9e8fc860a85445900119d9abc1f496be3f5f65e70248f4f20908202fee4c0b4006fd397ca86dccae9b0a6c1faa9cea643177596737ce5db3a6fd0f7974ae066ff2eb2836b7d1d055968252d673495a7fbe012648681a103ce9b3ccdbc82d7d7c89962bcb696693a6b48681b8ad745756d7b4bf16e7dd3578c21a167a388989c64e0086c252fb1827458dbdc0726bf9a951158ce6b2d5620f5a2215418329479999e9f093fa7322417a7c361c3fedf31f004525278d1c656936d1a1856c270a0f1683939b527dfe21fee0532b839711219d4bb9c4f629126757445ee02db70f44714f7d68d0f9aa0c73c387080ae977fd6e307c5f4774f3e05c344cce9699a07a1f0d070e762ed54341ed439354ba2030a5a3be156568f8e23e26c3d334a437629fc9ae2a43ee968f48184bc0f12338a6e0a1b52d7d2d9213b6ab7cc36f6a72c2cab9a23f00e4d0b0c9c691b45c041ee0be9434ece7327001c70e4ea4afc57110ba20e6c0640a5cceed0b05b3e28e37dc2d6037c060e220571864a7b27a200cdec622120c77b13a27a841bc99f3aa2f88744ee6c929f078557854378b3f70d3588d0bbb12617d2c05dd01881f3024df80c2ebbc312cda02930b58cd9845c1f7f08e80a55ed87fd578c8fb61c03b0482be4512999fb6f0b4b7dc096f24162e59655168d97f2c8dcbeed5c29db0b6304a8c3fe7ae9d38277136762e2ec562ef80b9b2ca82f673873bfb579382b720b27c43fd3f1b8e55fa5ba1b806a44c4f01adfd6727c1f9cc7772e03f23d339114ba5760d856811cf957685454759be1395f7529801d726a34de730b4eed16f855d54d45629fe2b9807db37df03e576bf08767f220c8d1fdf38c0d603ec82f16b2bfeaa7a2307b159b871d178c671e895f3c12475092d0194416e2c995fb77b629258af1b3c8cf78cf7bbf8cfdae4488af81d45dd6f3f6cd4c378c70a16a6e2aed938da712c442bdf3c277502275971783fa60ec36a8a273db906fde0f251fe81203be9ec3aad0aed50dca76198e1356b426f37f77d41cd1ddeadc15cf66be570b1968430a61b2ed2aff5235c573ea88a42b8c59d0ee6d3dba9d59f243bc58eff2db967c44e4690317b682fe576ce19de242485c000bd21eb7a22f0eacab2be51158bb428ea95fad31efc32500e1707eddda7dc139e87e9c8f1d4dc4ec4c64b77410ecaf0cd5478bc58986ddb13d32d4e2beda5fca73d2bcf5e53866e79ca5898d2ce291d4e7e8777832c443bb4a497765bf97697706cc5051e165305ce7f66439192a426188eaedd13de447aff19c8a150b88222604a334890a428cfac8530cf15e75aebee7a0c093374d72402fdbb92d6f10a2b5ad6a47d0112795b5b3e0243fddd39860e0281c4a9ea50e0f42e98371351ff836b867f9cc5b50b614f51b2b81d61014493a4dd70436abd20b8f0442d1d455e655f644a3e3842306bd10eacfc9b72af7606f79924883a689a7afa3d3c0530a9398e993701ac9570a1665c00a64b3d74d10ca5782f6ef364cabe65d0b967f36d1aab3b1a0f0b7e5d8293d40103394c91ec6452efb86d0a2ce4a3f1196b09d0169dfbadd8682dd54acd6bbf06c62c6aed7b2c0c015187e3655d11013d331045091db3eb143983fe4e2414c1a35df2cd8752864c2219c0d553c9c105e325ff2c199703800911021190f35a00506b74795f455e0d642112bb791ba566e74c39c0c688575c6f977d2d1efbad016b627539cbab0155b99b5ae736d5aef05a93fcb8ed26856a95ea5929c391db945a9d39082bdaa0c8b355641a68110e642113d6e7105252b81b900f2949bb943e208fec8279432e6499a9d8932fed66774d2ecb53b2679a0674b0634fde66974f6eca48c2cc9e6f05fdb6d8dd01f412cfba38a23bff54717802d0a8eb1196dad8cde932e964b9807d6aa70893bffc8b80ec6aee0d2c05d29240ac797380f910149c108fdaa8aa883d8a790d91d9268117aca5795b062177c62adaacf48e2577ba719c1ace045ac7c98928da8802022532351ed84377f54fdf52641573ab66bf7ad41bf41b8a6a5fa8bc8f519d7544dadf05da7264c52916322f21956a4486cbcb124de084b785fc8b05745dd97464c08a0c1e8d4ba7e4731f212f1c2bf62ee25a1f2f07ac275da22a97a17428dd3c91ce6d8e059d8a2a9de66c254cae87f170fb00bcf3378b5cd82e5fb28d829d776f8593b429f535f05bf7134d477e87b5cd536f5e6d282cb0ed7fda4d02bb0cb5210fb994cf1ad6e50e8646a3e140156a3e7f8f57f3f4e30f03eacec4f42108329eff0c5a2c5471772b1755b2cddbe402c10d75687fd174c61623eb9a6e4188c0aeb71bf210d7362898c1ca8c4a0d1f6f04aed8ad9a30e52d853c51e090fd3c5ac0796e67fd7a60e5186fb41bd91b2bd8b91e2da25231b538ff46fd05af5355147db1994f030978004ba997db06c8692a62ee503f09ceb825fdfcf259db940c4be25471097bd8459731f81d136a783c15547c26a927015ca94216e56ee2cef58bb20cb6885e881a706e64aa420efdf1e966d0ac8a31a61209717044c0ffe25074c4bec59e39d5d048675d730d1daa0b541737ae9f5dab53581b52313ecabe4b1f598f7bd62af1fbc2d775052ee9762cb0ca9dceba948c4ba39da884a10873f73d3eb0e91e140d50d015c178e13ea85d8d913a03ff6bfa5ce6b0c6409f0bded91c7d963b65d16bb7f9d8217d0524f4f72946e38e36454bdc790db4781c5d30b0dc69e0f714611312a571c4c1d4f7599f00c29ce52cd6cda59b6a23dd37491367d1dfeadf7ac7f3fe279fbb4f022c228a801d169c69aaa8a10a1778f34c0d4523ce4274e74e2d26fe131381eac929dabf031955625fafd9f581e5d4036e752764b351de53df65454e5298f909c076c160e9239604e249baa5298cadfa26261c306f9cd3e116965ff8cf7e496f88b2a0a3b93ac5be39a337d8ca11f474b840d9df9536d8f668bf4df603d10d4317d2eb835026eb6e8ce3538291c2c519813910c95a31eaa095e6e00faca8b01c99c70459bda98957352efb95d4db2cf0f3fb8aa6f6372123ba7c39b9583a14442bc48108aa35e42f216f85038586a40bc780842e5a88724380374161e9029c849c41ca5d78f7a9a09ce024825a157e53ac90899536ba663a58c03022a32c1404f30e0d574e51b1b1a6c435e4da23cb0483e3baa06c93fdb75bbfa614b7978e83168c693603009208900100c000680396860d5806a38963987ca1f50b7d0a60f48ad88d4620b697befbde59652ca946401041104bc036418fac32205ac9a0307ab110b2daef9a868f08a26ad00716874d2ec9eaabd19cb2a7dfff2b350dfcef0397e7b6db536bbb4547c1ffffbbb506ea9d144fece88a2b5d6dfcdb2fed309a6b4f9f4ee10ff1b6b8971a5b95aea2ed5794f776d80e6fd2dd82c8a62287ee338660ccbc3db03bba8d2d9de6bbbb8d7252677b3088a59fcacb5bb623b8e37974ee56759c94b5e16cb5a7dc51d82b99e3acc19d41a06b32daa6b3fb1a541bd465f6b5d2e869ffe85b64e86d53d54367723c3579befbdf7c38ebf524912aabb990a98eca09f91c1900a988f3a9184c88f7c5fad54c0905a7cbe0743318fe3288e1f499238d390755b3118ac65ebd563ae9fe3fd61116f7c5b6e431f1f51d777511c62f05f6849fe5f41bc1945ff28ee2df891ec465c8acf7c4c9f1b31da69def9f583f8eeee3ea3510dd592485152bd07a602ce9aa6871af2596710e5c031dd5d1f5527b2bfaf4001b194f764a5e6bfb5fe46907952ca4daf137202844a219d5b126feb9c576c420f08955dfceaa1a07a5f3e6f533ebc33bffc55d0c3455f05d94180fcd78dbffaffffbfe5f84f0682074167905beb596a4815a6faa6f209a49b99f9b1f3f1f4c3f38102204a26559e7baa07158faa9e5ecc8ae76ac7d661043bdab1e94cc97929e12cdd30b972baa9e5c42243ea4633e22e04794588d084fed51cd9dcf7101702449b0dfda8f928e047e76306809deca9e46da81e513ca47aced8144fd58e9e0e2bd88e91ce518eed3505e77683e44ad2b896126b89641a736253e80492c9bc229a088cb685ca2afb1be465418098404abf6af3e537e1d4bf22a2bc004614145456102511e20a38b69811a60d38ec1505736817029afdf0f1e30380acdc4c78ec9ed8e6f9c01df64467e7b0d46042739b420508185e38372edd6291a353b8f3ee8907e5db9d3613891411029afdf0f1e30380acdc3c7a623c3b74c058e428fe05c3d6ceebc6cd1eae299306546e9f59106da8e64912500241d192261868f08113129ea4e046b629bac522c7b0f425a65c7aae095f5bbaae162152669ad0fb15d51b1dd51fa6fc2dd4795215dc2b6191c58c536181258988dee9a70b523c3a517cd7b7d5bf55fadfcbdea9c8cbe3c7036cec5999da3e3c44310b4a63458a56fb21bf8d9cc4ddde0d3388368011c3e405996b2198c14aabd531db1d5a576d92f3fd9b842b3acafbcb325f0205f74e0dc090057d03a278367ad88c2f04e50a1b6546e4474f2991ffbba528d1fd2ea403181e33d03087591c630ce0a3560e15c0ee0d7498f6e501ce6b011c968710b2c60e4620c1fc8de308fe55f332f285397c7d60c63c7870924dbf1df1c18c1e6eeae4f1ce2834ce32bbdd53ef79df1b7d9fcc8ce582470c620c31230edc9a325c3869dc90c39051c3f68c564ba2e41d6347c01c2f0c7b6b1d97dcb14b4d21aaaaa624c026396bcdc2788b1f79494b56f2c991c522f12813c36f7fd4fe50a1d38579f26bd5f98eee0078d02e3616dcca6841315d454b9834c1e0cb14739733c3fb72a45372a4a471249f755fb51b887a68686c40f0885e195411f550f20216beb411e5c52b583f7c6dc933c4d50e2f503a6ee6ce8695b99cb923da7264391d993d5d298d0f91445fa7cc29bde833b54fa17ad7d585c9cf98b4484789f268ba1a9d4306a3d9173aa6cd17f531764f50513eb564de7ab5be231de1b63c1d992f1925bd03ed3a47da8ea4dbf1a25c220bafa781e1bfe569eebead1684a9d6ed55a34311966e4b0399ab555cb4f7caac4cfc6c76d78ca9acde98e8af0b7bed4f181f46d23cec84759f174e7577854fa04722048a0fbf71e5840547418f7c32d05ab802592718cc084757bf5b8ad4f47c96f4c8ad81ee008485c80d62802f67bd3f9af9c5f0d97c360c368151135a3412951095a8d4474f4f60b7268f46108bbd2e291ac47d3834e82fea832a7284ae38563a4a882b3c2afcf1f6ce15874821688116fc55d6bd85d7d54275c29f3045f8ccaf221152f598c323188ac4c7e8b386ee915e7867157e44f645f991996f17d214d4b1aaba6a46470dfd223f8c1ff39dd16a4928887a5e65520585a06809065f5f4e44c19a80fd3c69de8c4703b738fbdc3bcdba7850044172836239b2421d3496f8921fa2a258a41323c8805428fe3ca14527efbe504ad8fca803705e982ff550a6953daf2c33a3d5be4841051553ce00b1831b4f74d8210c2b3470310247e45f683af3fc012deb0f5e4163e830a35d6b2dfecccfd61f4d5bd6d78c46ffc44b3f40197199f11f9e462da11026164a80589d000a848d0a08dc93814ca62696a9ca94a54d162b27b5d6cac2b5c25e99b5c95a4712463c8e244992e498e4af7a5a9cea52c569c929d59c937bac57924c3ac697a811042bde5fcde2c5e3e3cdba36fc306b37b969bca74610a402653f65e89f2874c6d03f6bb4a853a5e33075c6e87d622adca3473470a2214a162f6e40e170f5250b0d68d6483923899cc76a864b4c2d274c858464715598f83308a3291b5691820af91455b4899f74c8d0e45368843345966eedaf4ab8c4d29ab5f1098588aaca0a5f1d29dd2c25dd3e24dd622d396efaf68745abda7be047afe416b1982429b3674e4edd14c99d7df566e68c365c5575086f8e71769a557195ac3b0465afb2ca7f18635612ca0f9722b8bd298f7065cc2715972b6e890847d72ca591c36ee05307902548678da6a1fe9c202a78d248fef5cf4eab5037de2afccedfaef5ee8a65bfc4042f498105a2c7e99dd6303bfbf0b5550707ed9f7ba7d731614318279eba50a36697031a2f6a40830a1a56aec8ed1ab6bf2ee287afad5fffaf44ff1caf2f9c9e9fa06caf92ba5372d3ca31da43c91015fa6177bba121576ebd1810ed97633ab1f31f33ed60d9323ed0026f8a8d0b500cfdaa21f6adb5f7edfd7defb5bfc378ab5fffff7fbf441f4330668e26f92fc409c95aef4de991f94762ceb44e75fa0b4f34c1199d6dfe428d005a82c81303e08b6f931ece1a6a186c6f1117368d3bfbb6a1d16dd301d866667b3cbcedd00699782dc802f6c073e8656150908fcfc76234970c7e63b4657b3b8d3c704796216ec9022d78e71c994731accd421e47c32c21ceeaacb5bb5a66b4bbde8d31c6d86776e2d35a6bf7b67b46ab8d379c2def7e9dbabbdd6e43a0b61e0e05e6d5cfa66cb41d0043d78d713e9eec6eada1fdc44b182f7989bbf52b6b530ee3305ef26b02b9832e9b772e02dfdd5de6b76cb331505c83ddc162f91376b339dbb32eb36c2eaf67af9c4675b3daa6c1663afbc94b22add8250c12566cc28a4f768c248cfbac3ecb862209c5e84d5d99c834c12e9cdad101ae28d0234d9cb88f404d580373e1ddc534ea1afb856751058f0a2aebc20b127ef38c65d92dbdedf4e0c4abb5ac21454b98b82e67d6f7f7fedf6e137f8574d59f53b0ab5c04c5b9bb69bb19d5d568f8ecf201f17e87cf277c3e51cde83c2bbe7509e81239a92e1b1a84ed5d4f77b1e630d7ec15df2ba61533f7b47202ace4bc3b2fac16417734aa9bd536ed36d34b92b00c9cc915977887a57e9bc12fccab58ea3ef0d5e945c0edbed8f3cdd5a9da7a6bc5325b95f6e7bad1182c5665b1974dc354d541f5ead56fd615e996df9fb07a800c3f1a9728a1f1172b61fe753bc131da44bdf7da7a71fdafb39dcdef5e7b314f08ee13c2ed32b13f59149ae087cd5bcb3a7b93045ae6de7befbd4e2f083ab8690b013530844e984b49a889c1498cfadd8f526ae9fe2ec5d75e7b6ded6dff3efcfdbd2c168bc5da2c184cd7576dd5c4b280a7a12156fd81a2e9cff97a89b0d86e9579f4af630e8db136abb25895c5d2adb18e3b64b1de356e3db6b66e7d7db27ea26e899b5582a32c0cc34d5e8cbf5d80fd1a4e1cafa157ccc777d048ff65ae617be6ee12698f4ecfabe76412dbafd7ded93bafaa77e28eb7537ad419ebe9c472767a5eb97fcd5e757ff8f214f8728113fe451144250994aec3468b3fd66e5a475d744fbce38de706673bef5270460f15716aabfd2d0b88fad9036b6671f73aa42451f4f0c19aed7731bedf28d4946daee08863833fed0f47174701ded0201d59e4ff766d9c2bcd114ca2ab7cd7ef9c27e19496a4ccd88e27d279d93c2c103daed7b40ca1728420b733b10425a0a579dfa29a9249afb2f2d03df489904c293692df3d6030ad8bc05d9435ac87cbf410273e293e49be1667cedea4f8b1ad0326e2f1256233741f59ac87f2b8566b61b07e86861fbeed8e290859b51975ac1deefbfabd1667df5b834ba7eeaed568b4d96c6f0a819bf416d59be45e6a33edc991bf10ef7baffd666812a5e8d696cc45dfdc10baa15d635a58a3351b1a0609252566aa5270d36a4da36b985a656017cd32e24cae35871fbed9ca08dd174153cf0b3734eb0beba66f7cf8c0e81d285b66a3f5958ea82a3611df5c6da5b4b45fbec1bef875047aad467b0fef7161c051be176a491e8160288e5ae74fdbb4beff97149dc7ebe8329e05781a7090055bdfef5f03a00ca19bc8ae5aebd980a39f597b24befdb76fadadd57eadd5d697e1a7f4b5c797d5ffbfd65aab71ae3f7e65c57fff719939c49471410e39f0c6f65a5cdd77756cafdc7b6dad35e9ee247cacd5272816ab05c471f1f7fa4aeb369d6347d67a30fbacfd74c62db4f0618c31bedf77edc632bcc6ad0618d50abe6e983398f16b225e6c691fb0f65fb1d1056c1251a25a0bba6d0a335ada50d1159a09061c3ca9d612d9bbb118295dc4145144143b5bd2dedb3426882630b00843a6ccaeb662b76dbafcf032f21666d4250d982e2fa9189cfc5153fd626c4b60a221b1985722d2886992410876c3dffbf776a9e0b66414c00ea0c8c55fddf7f7df6b6b957a8bf7d0d0b6b7f73b05b6f9422bb1474447db42bb215b082f68078902b2efbdf7de7befbdf7de7befbdf7de7befbd170ac900b523460450f3c2cd89e868668476439e84f082a082440191023a67533fa87c54f5acaeda9446fbc836e55605290907535a62ca353991d16933bb2792374289533d247a00586d1f9919a109507e55bf03f81cc01e2af70d40c6f345b67ddbad88ff2d4789b7bdadee7f5bdd15d8a02db082a9ecd499a5c0a8706728d1022b391e6d1c226bac025a4974022e253710e014bd96e430d169b283014c031d1cecf880c7498c849e273c52e861b48fca4dd1dc6cb24ddbb012c6140036ebe6b36f951f241f493f70b38d9580369d5a02b29d29482ea84988d3904dc908e968443615201bd14760b5bd07d83c773640b96b478c08e066684243840405010234fbe1e3c7070059b94b374ae109094e3ee000831d9d254510284920498d1c4bdaee890715755eb7f7562509b7c4946bd2617bafdea867adcca57a562ebced6d4838e70dfd8e32461d396ac53baab57f6fe11f8db9562abd1751c599cd16261da0b2eb17074d6e18716822d908c0fef6e602c50c8cd94b00451cc2fbd682e0fec7fc074e989e70a9528fae0f2519aa788bb77c992f2f69b05197b4b2a1af9716637beb67d580c174a62488af334c6fd8bf0e12075e7448a3b7250b34b9294c68e1c2c6ccd1163b321170307b0c1ad04200169a3695a014660d304ed4d0040645a34bcae23686294a194fd0c6409d57704da2e9ae078b934b156e4889830a0f2e463c21adb98ae20aefa25c19704e23537d7929b0a861acf5ac563c4d230dad66841a5752e4748e67a810c5bf75a7ef0e962ea8c46b1fec1000100073950018148804c3c1308a71280949151f34840a88dac985d4604c0ac62088e118638061c428000000c6908199191a9a015c09b451cf67aec4e73512f90c13cf55d72ccbd7f79adeb997c1fd3c65354f61603d8a8865ab459f4ead92350d1a30d3d500a4ba380af3dee4eea5a034b482bc67b3009820c8e4c4765366713e7730a6da90980b1f167366812806e2f1aed6f8fd64388d076ea40d450c7d417f399d6967d8c04e6f6d4c6feda96fcbe33daa5495ef4e9fca514a579a819c4e7f5d7870cb4393595ec2b2b27a1d55e5a2b8f61b06f1765498de2f123189c1bb7c25eae4b213e58a3b195c1b9a515876eb73f93b7464ba6a408cbe6253a6777e6cb17a229e9bfb04a4d02c256624ab8b218927959bcf9ddac2f712f642f7f650d20a58ecf19cba98e7ab6e78e2045def06704d238de74c178e2287de6c2b6b324f021f27b91a11c0b4c0a7828771b57715c4599d732924ce75689c42342e8e27096089178800c1ff7845758d75c3b1878f95616f019e3790a9b1f2b3f4dd7724966ed278830f9d2106d1b00d1f09e7d211116e880fc92761c2d36b3d92762b1f0f744f201b89dc11dc59fc2892f807f330a4ba4748b0639450c4eab880844074f1877f7ff1b196bb62cf217daef1e73b7aab90641e6cececcbc7a00ca1711bfe488703dd52f7980513785035dab4a33af0f06985644ec92e483fce27841fa48d61adc5f1fb7872b00cff52b8dfe05cb07809039e4fa0ea194cbea8d79ed38649e4fd5fadd3e93e393eef2aedea0e66143ac1b3ad56233451bfdadf8e317aa79cb19b4c181820b83b360c73f93356e31f4a3fbbdab3ac237921948503c92794791b55f2d8dcac3b109160b4f3e9f8209a658029a1eb89df983d53e705f39dbcdb2c2122b85541bdc8783fe5a0b859041e56512a53b6477db36e1cc5e75be3aff4f61c22dadb336302761322d00540c5279e4bdeb64de3100c786af927fca36138d52ed95302e1de3272e8b97bad6205419072b949f46d95b45a252dc0a99d5c20597916f8f2282fe47c8ad0f95429552409105dd89055189ec04b3a8dcf15687a0805b012f6eacdc4661cb0164168e985a009aa9a482c6358e8af3b7deac300050d2e9baa9086bff20e7db5b7dc29deb25306b9a3c55c09b177c083932940110db1436b275b00ee7dd9974a35729b1ffce1f082afdbd207087043a279afd29b34786bdc46e096a2515182e8e3a09c52c5a520be11a93eafba8dc2ffa697731c4552a31da7d6e055c0875b5b6f28dc15c06225216c0a5e18448c2cfde1052c09e3f16def187bac3bc30ca9c17ac9abea870a110a7ece65a07a41dafe3f3f7f9d432e074c100d191f5ccf81b82e2b1ab954bdab2ac1b220d5d3f53c9468bfd11c4d7cd27e05aaf01a6cddcd7ba7c784cceb2f58ba93af5f1f2e2e901e84f1c286344d82ce216f22cc68c1bc570f49918c9368157ba586640d5fcca5a8e269d2f3314c60a64e6241fc13ef9faec152dd36a582b7e0761679adcedae456be193fc4f77c51b7dd63090a5509adac139f9d9552e971a32fccb9e96dfa3057066d1bc187c388fc7b5ca644f249b6ae5e209b04196f044457f1c05fc3e833bf75c288c142025d1b412d10c6d24103959e8e667cdca4bcf4f5e4d1dc1c990ba9d9b651d4a358ac6544e4728545ec5cd8aee5974e6e0ad4888d7e5d1b343030d81638201953a8c4b8583b38409aecfae53160185018ff929e1c59c71454ca00a972dc04054cb4f3fbd5332fe6a03622ed4906187ba33b6b8409b4bf013bbfafa77968bc9876377f8a0814263901e947a18a2cb4e83416ee8321e9de38cb9f2ce7bce9de56a784e84074236ca79f22bd9d3f694f862acd392db49f7045c61bb2fc4f9843102b3a50a1481f08731aa0a37327d7900c2441e658824b942ad9098f0c554908e09089e256298faac461572aaa95b0f46bae9c2ca8474dcfd7565ed662a34a732333f2119c770105b0c40b982eaa3492b35a3d55b2449caac72c2cb309c569ea5d1ba7bcea13ef513fbeda5982086c6a7a65cf2319e8a573a90f28049ecd94158f988fbae04269030458d1d4ab16b2bf5ca360650c2e080733ed5e8a97a363e86455e96f235e2f59035d03b45e32930fcc677a6a75deec0f17211c508bc49ae4c28169588bbbe238c91db68e148707ca4b8e194e302e192846a5402e999f0e65fcd3f777615df53939887651e1ec4c1b9b09c6c03cca289ebb3280e32d8d047c14c310b7f008e6291844f94b87117ee2f1885f6710cc55a92de071f817c54d1c8a721106604e16f04eccee16d61f773fe031b54dae7a53b66a9b7d356737ab79fc53cd940898db05db6fef12db8b39e8f8ecdb70213bbc3aa1e0f91e7d027d835f76cd637ab4756f1fab5f20bf68416bd46e53bca2223e93aba1b322c89115127082a4bdbbd6d78cdaac469e35770fc5a7e23f47f0ae1e90e7423138837b75b438e0392877a213956671e04a0b5d055c5cf54ee7b66aaec7a6a05daec4f06d9c923f1450c2510a3f9a737e75e4fcc833ec34e8d937e2c1323715c67d5f1f89c20fb3914bf59516bea1131b061e0125ff6e1afbc1d26fdbe437b567db073e2b133fd5f143afb8828b1550d13a1e9e0d017bfb1973d77cc4dfbf395e0ea2201fe540f0fff4683a2cae11ce17913cc9601f8bb16c9800809fd3677787b96a08ae54ce25b5f2592620429a69520eec1053e81a6d4ff86c2c8593f15c43ca17796aa6fa071c4d3ee27ca036e6e751540b76c0c0ffed79e6c09b23175cb7e6177a7402ce202e585477de498f7732873b296d038f4dbc40e2acc0fd38815b320237e103ee6603eec705dc8109b8390f701716e03e0ee0c60cc02df87f9bb0ffb671fff6db32399a2fa64dca1cda2fda32fd429f88409b2c38822585b0e0e48e7d3a09a9fd1fe17e95215a6f2331ba0bc9dbb615a9ae859dfe229af430d5ded76a77d6f5ba5e97a7aaf32ef180136423a5b292929c4652e27dfd55911f6ee707d3df2e0c85282894d40c02c1f612ca7c6456485965237dee7e4801a19fa5df960de8c830393981e3148cc9d9bb9c0dd35f9c3fd0c8b9091ab1f84109e38645ecd582b909ce688b9d332915009b0b7977546ab5a3e3289ee528296804a89174bb6c59aeb7098cbb86107bed3ac6188a17a0ec6b25f543e88cf682f536d5e98b0aa52b2fcda939724ed9359133e7f92e3ec4fb3cce3392a84f64e0cbce9fa38a14d54dfde91ec624d7730f26b2a752bf33b447ad32aea9442be158d5056223ae6470dd563192e4eed1432e0689f9e00a54532f62d4d9125d0ca22ed89c0151b63506a68b5a3b23276a2c79b130348e5cb5031d3234914ccc725ecd2d51e03e973c46c919e8ed4020bdda0b868733b0be094e82a329af8add459f40a5888ee6d21aad454262628a156a3040938fcb3950934b57671a72fa78c61ed45ec4c475a442e90839b0f9c671f05b98ae3e4aa347205566970c1012857e3fb89b6e63ac5d808be83759dac9d6f3a6e1d404dc233c0786029db33f4b9e0850abf5e5611ba28f544f014a4891c5ec644eea53697fcb2eff4dff5315040d94db1504bfd213114255f4255de4e16590c7889e480c6211a6ab01f3d6728fb205071c4d345d2a07c8bd720c0b9bc389ce976e54d0d090d0135b508867df2a0c01356e45ef47e6d7307dfab04d778711eef6954911bee6fa7dac32c20f118e1da7894e79612ecd43bd89eafdb006618c9853990c19b28043f70c35404a17002d95cfd7db096283e1042385b81b64ab6e0d9d6499012e51c8a6f5ac9834050d9b6abf03b2ee42e49ab87b91a03e97539535dd3ebee251eedc19bfceced7c5a2806ef2eb5be3d51ee5aed77d7f60094dcf3c7cac8db8bae9be050335aa47d85978c64cb3cfdb7407508c64a41921c3cabbffb3542aed35dd294143e65932ad818e14afddf42c755d0824a87436354f24e6d909fb8dbb75538a376f85814c79684a72a1294d8457d51a6342d9fa708dc7415e5c510c4d3636cca9d3fa23dca58ccd37db646115e6d49212cd9765c40d2169d98760c66793aef2165902950557aa75af0ca7920ed61a45f77c722a7638455372b2ec200b3013cbf6973092dca9e6a6c9ea0145d7e2d8f2aa86b5a524d7b6890fc94f596131f5308dfd0584049b78890b9dd6b982823132c7be4ac5ca15e0e1991c036702822d2b3cfeef29d39b4d3326ccb02ad4a11cf3267b6dae18907ed578c323c8797e4ff033457f5e8098b5ebd86ed79be9d8d68cf92129cf0c0840d492b1c817dec27c2d178f1b5e7d2048bef194cb9e91e40a3919ae28f3860be7850055f8511f274ab70953154fc1b3b380069aaf9d78231fea172879504243a805257cd655c630e06daa41b4218b9776b3c2a0aa299b5b9b34509899c0f1814d16b99266a54e82aa3322483dc5bf1abe58449732966daec97229f4e79a8daf51a0c5061e8a2c08dfef63dba74e4f4c9572496450e13886322664b05d97411dd03138da30ebd88aa7431da4f4649080023993a4117ec04e921c7763b8e7e1c7a8776f9a66533e1241e0fbddeca698c8f9d07925221815be719ad3c14aa1543a4201d14e93533fd0ad37243400f1457766f7a18ca29c3a5076a2dea7bae9d51477972e2b66266ab887ac1963608e4d0a69874a4a0882719329e2cb49638c6ddcd7733d96ec53843c315370cadae6763206951d208b3fb442e64c460a3cf39c4a5025d5c9cf75b10cf30794ff72339e5480cbb8a0c16164a43d047aa5f9a376735446067933a46d81a2052fcf19615b1b1dcb00eb3507ec5a6aa142bbfe5db115b028cd64d7d0f24a5b5b0a3445a5317256210f0668cee9eb4f02bc5c71c946f13c059b006a1225516d5b4555308a63c296e64f62ec10fca8fde6624fc65b4030f3bf2c9aa91a9f8672f08a8d5de366c86ebd829f05579a0b8132d6b0b7740cf74b939e4845d589059a227a92ec7a5d0c2319ea30226e7a660b711bfd195f9f2551361687a6a961c76ac4c8ec41c7cc6f2b13892c95ba47041de59bdb5051a5600eb33ab0d29a3417708b997c2a09848b7196cda6761b5a21143c95dce5fbcf813ad1ae553e2d0517b99099ad160f4a149cf366fdd89dae96768716da959d6c3860ded674eb1d41c92b7eaef5ab597602d9caa81cca1ba1b84e036ae8e23b661abbb2dba2cf3e71972ec6081c7b9b0b4fe98b13ec3cdf9615b91223fc59a374be18f18f666c8615798a9d0cc3fecda5887ac190aa7c74ca18a9718587a1156373ce1b57c6c3b9a040f227231469ece9a6b16f11ed9918424fecf31ae32145f00ae50e5f920022b6cf6d2b4d02fe20351e59749bcc5ade0237826005fb5abb523bdbceb5eb9f2667733425704c89e3e4f37f01a7a5c1dee8881855474c69bb890a360e7f8793dc80329eff034750f77c8a958d95360fd3b946ab72a2d9b3611e039d1e04b95add90124c73d24be571b74a63163c60d0ed5b5f540f06f4a20d55a65138e770647b6afdca77bd02d67a71c1ee77ca9af2866fbb58c588c9d8a56ed576931f0fd79dfc9272d8dcf4bc35221dd880cf4d1c9a45f19e8262875c5b67d36db119ab499907616c92f1ea4d5613da204ea5a09440b6998afeea256732c694c19a978b526539c8a81b040cfd8f3d34af43cc8a18e7d44df7013f7732855b5d984c4ca2479b5bad5f4501892dbb3de107c2636ca951044faebdb4bc279ef3d81b0bdd13e5a877a6d86706ff899f002a07975dd2bad99b32242786e7f1e360a42cc344d35e416d8bb80820d5e9485614f1f2b03e4a37ec4edceddb50af7327fdb9a488b5f85d2b745919955b23a86649913b110644424ad91ed8ac4f338c190a8ae465b8efb94aab76128308a6d927a0d8babd58024c50141edd7bff5103333c9ee021dcc7367446d47c408acea87212064735eeb5390125986e5936055bd2cc04f94098bba493601c40703d2003d6f81f5979c637983a5e96fb07988a2e99fc424db36528d881fb9944a5dc9b12afb11f40aa90093e17d613c729139db923597cbe4793a45448699c21a6c8ddfc66c842977a0be8abb44c938aef36da0c9b4b640236cf007e8330b9be30b5b97a193ed4ac7122b7b2c3734a8529a9cb11839b9491895c7e2c14cda89d13f4faaf392df2c5e10bdaea0991a449952f8ee5ecaf27a089b0b2af43b21351087a239f919438ecd66c5a356b61dc23b6ddbca622fc420db0e460b76647249d6e3aa79f67c95733bebb01cf282f4f289b78ad3afc1fdeed6f2d27df5e94dc59d591d3535a500321b5bd4f3a044c75a6f147492eeba608d4c956043c8798bdea1e372f24b5a84a1093c239c0d5b7013b22b543d23ae0f940bd08c925f68619d0a40202ffb912445de3ccbb7c9517b7d7e4e485b28b07afcb2b5ac4aa1aa5e8ca146437540fd01196485c7858b7b3d0db501620c7796690ce8bc2de8e61f4e68b7dde023b03a046b38156cd995d2313633399963ff6355e32d36b010f9bdb18da0931832f32f29335ffdd84c626d9646aedc75f6df503034bfdc5a9c7e95bf75c2ea2190756f9cfe372071152785028956ff9186a8a0aa4c665918529c8b61c03ef870c68c40dda6a91bfd8852b37af403f26a102f03dbfe365613bb85c778e97b0faebb09d6ebd67ce39ea661022c4db2fa60f5b6c2cd1280c04d8a87f1744e5fd637e224c03297c39abd431cdb81177dee5a2fda0da888237012d5e6d613e97468648a7ab774bf6a4901a6f5b4b97f9c0ac3046ee749e7d8b38f6a4c9f0f2a40bb0645357f12d4e46758c62c54011f8375c007187d25e90720f6f1923450d27cdb6a6a2269f295e86e514c2021c3de50e55d3ec276e3c69f2195b9e97b90e1bbb385e674518bfb92aa375ff2a2c2562f4df2ea4cfd6163d0a69b0c5a2fc1c5f655e011ba5a00b102405e9481bd7d4571b0d1daa8cd8fc1577fa9b9cf471746ae38e0c011984ab9b1afc8856120c7cffccdd73a3d2a9d3c3ef7cd58ca67be2bc89653f696a9970ce28591e997f8073bef8198caec5a0c3fd1f282c242643c26d8c9a056547f3c7db48544eeb113664d2865206fd8addb9ece51bf508d8910626a7330260d9fb7ae6075022365cc255af234c4fcd6fb6a293b30d9e078e12023a5f31488318863f77c5e8f79679fb0dc0d49e03586b2c7c48b2a884a3bec9da4562038307f223f3a5f3ec1fd61506c52ea55aaf197ce216f580f9f45ea9b907752a3ef18216650e7ce026aa7c9051447308db3bd54ccab8adf251d8dd8344f4660e4a1a58e600bb0e0ace924914c02a27fca8d706b0045eb0263c93899e33cbf194015dadcf71efda0abe4221cc056058a78c274e772ee437079d2ce9e09367fb524aa1f6a54cf887d0ac09b5bbae59c6a17455b4b543c8f8368e0aff899e479153744154a1fda305c9b9aa5e73e61a70e76d3a406a8f6232e1aafc0571f6a5140203f31c4e6b8d33edd8c0f85f4eed9c8983e98c817c8f0daaa7a5c879cc41bda894006dc410bd3761062d95ec9b74c9fd4db8f30a9e818b4d1e3088cbbfc320b13463a283df9f40141828d0c2e22a7e5ccf467f459fc4d9ce3642aa77c9cb76730de83b1de912ce1c3b981df76f0e7afbdf44d6cc87b944394bf71640e465af621b342e4ec0c55b7f06a38aa5aaa6e3539383267339e1c9d3f8070f92708c4d389b2b44a0ac52624c5a6c1ba463968f4aa5ec14349b27c973935bfb48779b7d2ee38263d05eb155cb7099044e5b4036ca1e44bebb155a92d44b54276d4fef47507129eca69eacc01cacd027e695659d68ff7c87c121bc43085b799d080171d493a681c0083b0da06305b8f80608587e4035fb8c1df3a991afdadf8df62cdb95b44136fb12daa58562ca0187cedebec8e13eb1271496707e3b9578f23c4ca94c35b0ae82727ab0a5b368d13aad0ed5298964018c03eebdcb4dbfa834ca0a04359562dd4b00eac5a96973c3ee030ed8c946fc9f78536e7477f29f967d33b999a2d1657daa0419150afeb35a3b8199164587a9cea4c65c03908da36b972ab91dc6b1f657c207157dad860f2fdc9bfeecbc0fbf4859547007b9826116bbbd9013dc259963b45b7fad0771458444a82e6d7355ff7aba51be9201a09cdb2380ab76b8a9c46b937031928e26fe0e58f10ce97660d8d0f3cfadb8171f742f43a14bd3c47f1ab7940bdbfa7de3e062e6ffbb02b76ecc0150453080b3767b3e230c94e55f7ce63ccd8e35d4ef5604c9953a257376cbfac9ecdf584b28154042a6a26a7f5920fb3775c971b3e3dba4d323029cdc7b55db83ca43eb1578cba1530993b79542235d04a4642f4df9ea277a2f277105e3b712c63c192136cdfd1c2747cb6b6c5709b8eb2986f624519ae837f1195581e334b600fb075cc2eacdda5933cbfea88f44589300693b5293c72fffe943502716dcb438356a80afd5aaa32b836ea9e1f2567d1774575644f98f4bbe3761a1dc22bf5ec34b7d96ed5a485492a001b7de5b27f5a7183671f85979d799222199667ff33bf82dc3a26ca2d74d24b8b52b18a41517682dba19e03ad74233597dc1316de18510a6bf885c8f6a46bb2d95c0bf795fcc76612b2fa2214647876d61595c60bacc214b5450c052f961d8aa974fe82c7965b26331aa630db9cb40a1e47d3b6870baf10e9cd3798bfb2b72e7c1700dd6e910fc556e9d0a5ecbe2d60a509cc65a5b5310a233d56d419d19f605e8dc94e7557f02a42c7beae21b5a927c130e1a0d8e8e243e59a845602d6f5e887527b7fb5165c7bc32a46c24e6f037bc22a6df583acfcbfea3ac37502309ffddc486bd67b785cde019cd1a4e2b6cadbf73243930990bcc78bf5c5109e14a737c2fdaae1f082c33031071a0a5aa0f85b13aed1b7c150a938f15205b21b08a0f2568b3d61f85370036eb34261dd2853fb754d1f5d424b4f9cb4b67080672621d1ae47f24c333430bcca4caa798267271177d0a14f8719062350880382851aea3aaa43486fc641720c9a5b0ab4c5994046734cdf8c058b4dfd7ac161e854e323f15b5b44443f309024c5d4c209b266d9c8c10bcfbe0d4315de0cda2fdd5e46cb72d20a73314a6cd630ac4c2691c1550e5a6ec5f476bc635ccf509513139fcafdc03a5cf447655d8977294313d84b7f56b3b1fe1cc000aee8b8a3d917573917fafa3343a969897808ce318c00a8259d9a5663670ce5d8671e2612bcfb0b715e6e0f18ed47f4f64418e72dfedaf4bc4ae243264018e1011e9b3000f76535d2203761c21fe0482eb17ab6795c78331362f6bec15720949c73db130b5468ec7002aefb5495d96e2da312cf7437403ab1905cc64331609fa640c0b8e6a084d94ddf510c9034ccdc5ea142986b77808cfd7409a6533eb47da3645e89f4b3ca8d96f643343d12b11b4d3c262d50fd6f506d744a1e2717a1ef872ac9376881025ea6c03830bd31894153c2ba321fad4397914d5765f7b33221d5582997ea479e50056c1ad6b80edd9826f9217847d6ef6d0c63167146fdd54bd58a0c085288da23bdc901945878019d4d919ef0de52f935514358f6b78add6025f756e0efb9ccd3009c9d123dfd16c3670622210a2a4cca68636a62215756c160cf42022ed6b446ddfdc7832576c6ba79cc352b238cf8f44310efc312c3e5eea7bb5b2ec55f1bdc5dfb02a477fbb35bf37cffcf4bbda54967c876bf9a9de13f34e0b69684be4b181d07a3c84db28445a414a12faf4a8f59a1d0823cc9e00d260c0193530c47ab5d4f8b580735bcff1d0d3ae0a513f1953a910957b58553881c77fb3f144086f4abddddc627e839bfe9d772bc0c0bfb86d59fafbd294097e2127ccefb02ccfd274672cab5e32baa9dc325e65cec91dcae4d4ce5d9a62cb1576e36f4f5ec5ead965804c6c9e576918fd61d68958c9a04eab1c106d1b36a68d14a2ed946dc366b0ca55f2b93d3492223565fac37f9081266f668a98ea047309048b45b40773e0bad6133eaabbf3878360deb3db08ecd91877fbea23566fac200d30ab449ddf316e964fe84eafd1ac56e11551c9d13856c52cb9ede2e1e68b37da68b3085ad33603889429e63aaaea9d9927877c542ba1022023f9fa9d87b5bbd3fbec9b1211f653a1f05fb4f4115ae7113c6c2d24266ae2d5435cea12035981e41abd90cf35366a4799b7949848f839d903626c745cca0821a5166170645df8aeb8669afbf87c38bd1b72256fd034cb346b4169fa20c0b7da708eabbf4247fa249c2bab090f63af12748b3cfa948d9d695c861819c7ff2b83783efcdde44f68c0029a99ffc8cb3398f71a5b154c56a7b90e3f5b146cd02eaf50ed5f206a75225046826ccdc48a7a6907794312b703ab5f5c5668e7a5923c6bcc245bbc34cabd80dc082c241b788595f21fb456bc794ad0207ebf6ea9dda7941adb5a5c268f69ba18d11895ee10ee2c06dbca4c00a5004763b4b9d83d7fe7bfc786507ab0387a1ae3dc76e3682b255ca4adc4703439abb7094a1879fe58b55ca0d3b34ef86d3a089eea0665b966768e4f512b3b7c464267127d1539c6e3e64885569af91d0a9573becc9496fc54b74ae00965ebca23536c1d31df439d0206bea183afa6b761d083a6b7fd0f11f9821c578b395a26676dc749fb1b5b54882db3f198dd3ba341740744008a993854d98b34c7deef3bf978acd47849b4ce52b32bcc34bfbc0a03b25e88214a9ab11b9783e4b20951823254ebc003a9c4eb407d76b8370ee0490dcca19b6728116ae4a4cf1c36277b87c3485ad38fc6ee6d3eb4fda2f9929c9c45e7d635325f90ed71a588e714ca418ad7c8dbce8f0e9c86088ba3669ba91b034d4756bb37c1423f018e2bbdde641257b00cfc65f0483c8fd847a95e72c4076dfd1ec91920c558c0e297518a062b40c69ae12dfefa0fa64dd2ca9d8b38b8611910e4489fc4e42e633897c4383490889782cc4f6994a10d77fc00fb2ad2d00e3c2887053335171c88aadfa2642f6e4d62fe48c0cbcc16d878174adf10359f28d23ad5bb7a0448b4289c9dfd93ba846e9c7173eadf873d27917fd1eca41da509fc569f3fb11cd28d1ff7eb1d5f73e0efb53fdf570a9e2f1e23da5702fc5084aaf7eb90bd3364a0cd82abd227dc6f20dc9ad19927c112f1e9ffdecc9a1775690a4fb175b54a9fd12efe9ffdf39c03a1da54fea838a9e9b80e6f8e8fe6315bdc422a9e131eb579e19c9e21e37346fae68a9193a169687f541ce52b343b9a656952e0ab96a5530b6e2737842422fbaea25b4a5b60820c257aecff4464d9aa3e45f559af9c586d5c5a9b250cdf677fe89d9b3621afb0cecbedcc35998a3bf2169f49e6015b66036a01362672397eec00ef73d1ca21f5073454a7aa3dbd76a397d773cc2459cab359bddc8dd9c1e2662c3bd87d7a4767ce5bc9cb6113a9045ff4f4146a8d12a3e110209505e3c6b146173a84653eaa914594d64d15391eb6ca3212110d74b5740bc8e83ba4d646eb73e2894fcfa264a9768f28faa3cdd58b5a6a7fed9433a23c31dad27931245fcf8ee741f62979a7646d490021e0e0800e2eb37a43fccb79c6b6bdec92f708bd09582e8e8e72cccda441ab8d65ee0fb32201e76ed7d3ba4ee1e5ad081b9071300491f5fad9103e8f8b4a277aa9ad25f7b61df6d5e305edf10335022efe19fee6431ce36c2b46473a9bd7e118b8f2a8922636b476daec7e3a987a1cdfd8762b7f7b0a0c00b199d46ae9d78534d05d09ce6b255ef1b5f4006fc425cd26b3a3dacba0121e3fd2c2f73d7c96c35ad286897f585950d6c8a5f8d6056a9f565150bf164425fe6368916ef1dbcc847ca6042f077b21d205f773d68adc86dffd9de7828d7496c0ac64c46e62cf76edab433da717f8e4058631b131959798127861d1d53dbb4797bf4c79292ffa1d9e02cbfcb29dbc73f4f21d30b000c2c9df4176ee2f7528530f5eaf411fb417c6ae1774a5b6585a24e57a85d487268c953a48a945523be7c775c61b8895a464fbebc278ef55d03250207e63f94506848035eb17bd69bf0ffebceeae667e2331d444ff19853107fc8bf6d19c8dd471f31acad8a6fd87857b35152a4be9c865f4f0469b070ed32e7a4c8a28f7c366448f5ee5e43a99f595e1a3bf8875ee4a917dc611712ac1066eec888882ef3c568fade5f34a4c501004c26fdb6ae6e8e2dc840d40c06700872018216331b91a4c1f582f456a5bd25ab90f4983666c924415affb794873c88c7f588fb33e9e1ff7372a799972eb3e2fde4cf14f489d78d29c79c65496d2e27505b2c3e91431d74a07bed37e78edac5db99bede626bb9c28fc86aaee0856885c608253267a13705b622b80fdf398db579e52217e823aa699f90c6dbdde57a4a2941b782330e3276f01fac98e298e77eea8ed3add378e32734c3ee71f51621bb31c6a53baac537f580aaab99caf84b7edbef458db884b2e36c44fc998637575a5467308f8295a72bff3a33eb79dd85304e91ab1d0841e61c5abf2f56f198290c674fafd7e796e11fc88fa2313c198c9304beef40905dedd35852cf34bb22814e791a3b92a340653d599c226ee65278e885885009fa9f2b97f6be49bb34d0b9010f492f67530d16445badbd4924b7c17df81729d65ea9901ad2ef1916e81669f45ae7a692d2b3a77cf7c2c97f662a2255b008e3e07b72c3602d298a4bfeacb41398666430b8b9777d213c2b62cbead99ca593ab830239014d899f47b7c754639746a5f8bae3de9895bb3e21c454ebc3cf374ebca322f932cf37108e08a088049fcd979fc04289fd626c1c2e4d6a739aee9d3a45a86aca1a4dc04e02d7c009eb86d443a5545dc405a3d585387dd1808aeea6c61b24f78a44a0d1eeb090d9240cc60443603d09c78ae243d28f95469a23a6290d2b2be04671323c971c01f2de3cdb0c8ca3b39ebdd6eea6ba2c6f7ba393062926a720fd6d368d0489f28bcae791a69fd09b3ea947cb86394a32525b9bc4308352e68543760035c06a6b8ba410488e532d02bff2bf0b4dc98cb8076d58c289c1d9a5635975f6ae25b9d23d269d451e0bcc2234f35ab826dd959a54460de140ff51b080da33ff7254800195de37a41fd1043840c98ab5a2f945f6299a698bb13506eb8e42aa993c4851a3d30304d5050df21116e655c4ebf826bad0f1aae2c0a4ca0b438091c471a483bafda9285b8a3047a07dd9429df11fab071e3673f9a58372107d33b8c5d42c0b686a3a1aa4d33954e95762b25f6f9a5b714640f62830a0da8574de70e2cdeb671d94b0ac0ca2d6a314ab1413f0c9214684fc189964f164915d513745ab855663063713203ae36038168759dfdb1052361b0cc1c303f9e810d757ecf8c0f32ec753c40c1651290c73029e73ba597c703ab6bdc5e68556db00b4034fd5590944fea1681090840fbc21d9aa50d438117ae774d491260a36917ac50b7ef3391518b565a02028d25d8b7c0acf9e1215b74fb76b2624d0371bbe1dec4d3359f0e2335c2b71d4ec8dce9569063538553506b2b9cb0a4b91815ed4970a501d249e23af807ff59d200c6aba56520f54cad104c4fd56321b9624ca6bced84e52a101342432045b5c6ca41eca8588931231ef0a30435bad34d463fd674074101da80143553913ae2d1b7170257761e009ac9cee274ecf13bbb1e6484ea6fea2569417f10f9e3a42f5ede00fded6c8bf8013c21effc4f9e076653f03bc1914d02ddf6da06c5a6becdd81cbced026667257b23573421933c9c5672603bf45da2d26712ce7860ac4d245257d0f7083763b5b3c21c531183a63ef565d99881e57bd34e3ae4f088d46b1f769dbd98eb7841560b5c8e17167c570ce8c03c37a9fb1c780fbc2c74caf84aaed425aeba34a39264791688b51abab844511259c7f36f46017fbf518088eb35f0dfe0507e65fc8f8af840b8d6e0855dd62a7a882bc686896a95447a38a0f1dadfb587b495b7b1335b4d8967306d0db84950f9e7bc494afbdfdc441367731f65410e041df77029b6ac8c550585eb045b20856c62802c20869449d68c4980cb52e39a344f2e22209c9c4cf71195f5bd48be14e2b1f138cb47fe1d9b78d6824d86c786d86eecbee043d9a642daef9db4206e28da0ec08df22e5c67b93827199a2f3321386c72b52695028d5f62196fb1675a052c4314b691ef944b7bec610601296f3dc35f372ed66b3230cbf6cc77c050779a7245c7173235f06bfd537e8810402ff3b4002c9a817e5099f06025fd3d2f8480bd26af5145a01f8005163cb8a115bbff4a8dacf4cd96fe34ec1e9048136f802e016fc89f4da4defc6c3e63a4fa5e47e4cde855043f582618a02c6db0382b4caf7c6015a48c10b380684b21d7d859b614dcde99c69fca1e8a66534b41e33d0f444bc13758329b58bfc348142b006af2e45642f9144fa0b612765664dd4dff8b3efd747a404956ab1ce2d18daf72b4ac121c8337c4d8abe4d54441176c8b3b1278cb4883453a863a448bbb947d012b8490c5b0440769b4429a7400b9fc8214fbcf26b3ff07518ba9d01c269ea2190c29fbcfc7fc54258729610ac83a13c4ad2255fa36116d008fcfeef3bcddfc791e7a305911acf84f3c3981c2ab2d1d488426167db94565466e04c2a46ed3b694b258f1cfc8123d6f314c62d6b9631dd8fe6536a90f5126c3851572535d4cbe527f3ba0f1cff91e5351a4b71fbc728f7ac91f0307a64dae30cae8f4cf0ac9e99f6a3ba2107450b22fe526a8a990582f49ae68e64c10d530ffaf15630772a0321acc561868300f908cdd3db52deca0a8286c0dc064e64b723f9265b9ff9f573e79a66ac56f7139da8dae08cedd282228d2600f384514b31bf0210a85909254dadba3354a372785351ecedf8d4215ef3b1c3f7315e5ca28ccb210c4b4823ffee402702046a2c7e94e3045407b66bee2f0d3664b49f5715890fdec71b96250633fb284d8ff09dedbd83d1abe4b9e13a6cff2946a5283c8549e0ac5697122724ad6977aa101b10977fb40335f7a9ff4dbbe079e22977ab45a8ffb002c92355a6c611f58c9f6c10818919b0a673035020a10906a441089db7373241094a3c5e837550ed49e6ac6aa9543d3cfe31f4a08b34759fc4c856d7c4084a30f164a9d20a2d2562dacb561d210d241e452b29bc2b1713d0b6bb72e0b4ca4b605733ed1a70e435b0022c2003cb5073a1d4d3c9cd1f0491244c5203dd280d90c14eaae0cad3e7a8b51d2f04775def9fab4cbd5e87358e9f6ed4f64f5ee61a7b8fa5cdece8ca31b3a52757236bbc00a0168bc8271934f1c97401299e0865fe67901d33c196861e1a220d34368ffa3bd7578bb34280fab21ff983a3494a5d9944223b95d602a545561371dbc1d62d2b04c85178a14639a0a55de9c59a19508785348215b4f76425ed178ac34f14feb4af86aa34ca3a3263118371a1b7ce099ab787649cfaef95f40027a66eaf53cf8c1b77622570df6536ad388b708f561e807d5ed98eda081c943d3b9fdae3d19683cf4ca59a4fa61cedb7662f600f4e2035c326c65e72469a0f851aedbb146e200d34363f41dc6ad64747ed8423be92d0bc6e376e9385010d7c8f412e548cc53582b88294849f5c7b528a6c72864cd56fee4ece3c6821de8ad088e8cff9f309dbda491d8089b4e142895c84da3feaba20acc1b06fcdcc4458a682e39a177d99862df09d506f641d99f9784a2e8498964eb92e629d796904297f34359d0a1915982c4c4e212c64d4149a4c2d4ed62a879b8725051c020e666e97d02b7b4f475aac2476d1295dd31bb6076b90967430fc9454de3a3cebc57448078877e4fcc1ac996735b6d0c8f336bcde690641d45f57284c2630a38c39fdb067f1e16fe5c14fc398c5852afacfce887e53c09cb99e0fc1ffafcda2fc8ff337d7fcdfe698f38f797ce14081d88fe73da392d0bc4fd13e094525399ab06451bc20c6c67d883fe8c5a96a06a2ce0a03294f1d71e03396b8c52fdc8dd805fe7a4895f689fa86e5ba9a1ca465b70dc6fd460a89f741e4d9cc30a780b29ecfbf1dac056821ad155a1ab63e9623078263e2880822fa8554faeb407c0010460b84412ac921270fe1f43634ecf7048901773080dbde4bb35d46c0a438729b4aa5d172bacf26508f77cd5cae949d8556ca99fbcf38bb97e59874fab4918a4151e3d856e1a5cfcc96531830dca4b01beecb2d4ca3fc66212443636165dfe9287675dcd717bae033f2597a8100f7279190dcc32267ce6260f6b43d6f1397aa354f4492848b49fa1c5e537fa397fae50ef78be47be12164dfdd7f638a1da4848d51b415ca027696b2993a9ed07cb26ab66a662bf89ceef2ff48964b241d96614a66981b42253cc2f8d58e2bf381903215d031d2e4d857730b0774512d8f0c73842fb5e6c856a414d716a4133d5c66fc150a8c795b8082e4afbd19136c81a3674098b1016f6bbd9949cf71c8baf7bf041ebaeed26cab4d91319116f701911178e8224d5fd1b6746c22fecf7a52e4bf1c44a0db5478eff3fcb88587a282472599e6a52f31a56068339623b90dc43eb510a3af3350ac2c263f02bcb44ca58b84a14297eb09f98025301c7f531a7576657e44ad552386f0db5dfe32c97c722e28e03700352c4c032dccbb8ed838b900b188a19b39683226cfc9b282d37530a04500ed932536a07e8f58ff827ad52e29aada208e8536ad223da238a1cf9d159f77e4d60179b1171aade1413076b734c68cdc68411f0fdcb237aab37ecd85fd14906b488aef5150e87e585db9bea053ddcf70b44f981cb15a5b375d950d6a30b5d858fd3ffabbd30a7008dcbda97aecb779a9f6743a3aee6f0b63671e01d984589775a660fb9a77d508a87a4bcbd367cf1dcdfbcea3a72f8c7ec5b18d7ab8f269f8bbf09df708d31c0657fb5a4820c784ec196b81a41d5cc6cc6cc84fb10370be37a4460292802cf6cc0f4422a5ddd79401c9b71c1dd78792265b4d7e45297b72b8e2ac22e266ab57f2430716b6fb96c5e436794718fef48fc3d93146eaca532e1b13612446c558e65f2e2f1452b6d560301a7838a4ea21b0acde233df1b8b544979003506e406d875d3e86fdc350e62c3801bc4e12812317d9d6a38dc1ccde71bd42839e5ff09da012731f4e9348d474372cffb1f04361be6ac78a7d46d11065311bd3d61978acb1d24d6477ef8131578a6f94cb2ff7f5ae71c239882bcab4ddcb392091cdda9de649a0c60bc22012d950cb4d5b3bfdeff7ae58f3dff09d0f30f7aff05e47bfe91c5ecb1f903ddc85bd80408ed2431a26fa1eaf99b28f148489f6f6079f29f745bcd2dd0a24334a27a7374111619defeb2ed0f3ecab23149312a91a831c2f675808468db9d91a080f3160279288e743ba9be9922c644bf0b4e0afd9aa6de42b9c846e91a56a12421010edbfcb364dd14e15423fdfed0304078148658c81ed7d7b84097a2409e039b4e70869cc9a1a7ef2cbc34011aaa14243d506c4d070324062a2c268370460e0597194144ccc8d5a0a2225d0c97f72800e37ba3886445d33e9f8c10279ae66855d66d4257d8b6bb6db9a54c52a61d2c0257022302584eaacadca650cd19a4b353547295a565cdb9a68c95941c53d2084d9a238acc20327648476bdcd690e9a326ce8789b24d5c0e1531923971d2238dda991cb4314975c204c26f5faea1ea77d4b4da8654ca8002f5248ece54d911453e7c1caac4a9939d36308d2e35d2c38665479e35472081290206bbf53960144aa57903e6afffd7cfa569ed4ea3f55df8ffbfad7d603677cea5f9d9de5b021f5b8cad5ba050a397b4d7879a1e17e73bb4ee1ab4b5beb5616ebea6a9d6d75a6bb7b5fef7decf9f3dc396c539e37a73f9f6b3b480d5c0c5f86e8cefc51863af395f54c56f17869645f2de9d4d534d5a7bff7ac5b4771a6c021b89eaddefdf531d3b22238fa94f9e10a24f6b73e9b5ded287777e6fdd18e3b05d93f296e5ce37b9709bef4ffe69cff3fc4d62a500ca1fe9efc27fb769d8c92b24faddff9d2ccbf2c39e0ce9d3025a7bf7dde97bd15cddc6d0f8ccef7baf923c8af1dd8f0ad1dd15e608459270c6b7a25591029a7636a29ab5316a5cd2d0a0344962469691f5f0311b62562328f45d7104c1c97011a6533d852f0ab0135c5b25467c75d0602138e1ff6d170f0fadb5d65a7bdd5a6b2d260e399dd39a136df11a51385d9c54a3293208008a46cbf5040548841529c594718f5a666e0daf7856bb2a2ab05e00ac34e372ff90f8c1bcaf7843bcad863baf7207a03331b7bba67e52bfdc467f396d7fb9da09c8009fbbbbbbbb3b3ac0c99cb933675b8e0c9d9c2b8114a2f2c95b3ec79712dfd29a005ad4cfe68c2c963d4045dd8e01dbccaa8304b01d559cd671e93b11dfed6bf5499a0a5ccee26e24620bea8934e51ff5caf95a46f599e67ee7a4db21f74d4fc6e09c4c94ff033e03be1eb5c0cfe7f36d026ef60c80226c934898a52381832cd1a82c22d494dbfd896c6fc67741719ee8f80ef68f2dd853a568b343233ef15e62fb6a2b187e384129ee0f85a396b743ef3562d188a01d5118393173a5528e2e707284fc9114474b985ef694e895a57b743065217af550b4f1cab26386c0b5f1ea5d2831c6bbc4f7ee2f71b94b4ce2ebf762270acbfe06eb3d735cd50484b4de3dd2c7b331bba70e64afaf1becbc0e759ff034cf9c799e66d690d0d1cf9c49da5cce3d3b7a2395b957c7a637ba94e9467f373ea8c142de998c8b63511cab863868e50e28c6c12bd783d510976e619ab3d6699a9e78d30e229d288a6f8af1016312aab0d4eebb75f87ec6f896fd6fe199d9e3b94dce9294fd998b3332f2ac87d667d0febf4bddfb7dd5ebce62c772ee432188b6bb96f8ab11176f25895fbbaafd9121b09614dec7f77a936c37013327cb3e268647c890811ac3500d1626dc12d94f3f72ceeab5625cc9fbff5658dfc8506b84d238e111874f16b2f8858823b53d6c92e891b30394e08d4c4e3b74aa184087a32ef9802fbbb25dd5a94279d3a1796cb84cd96269da386d3a046a891908541299b94216a6d09f3c60da0890788e7eee809a8289892192d0a221711495e923e60ec6d3d6a8aaed5380ea71b8ec8854d53771994a93e7c0092016c84b17208fd6a0c123028b9de21f4aa3185dc2c6621e0045440ac8364f6df23002926510940663ac5021040610933b9650515837cb23de1876fb1100807a9fb56a5db5773d403a586bddfdf44f6b0df44d49e9b43edd05b9a8a1da1835c4e29b714f5c7517626fd46a2ecdd35ccd8309b4f2f17c5f2b31973c67db4a3b56d52cb7aac9936b0bd5da2874eade95b3d669aa478479f5aeeda94ae9b0477032074a4d497de94a14ca3967cb75f463a6e8b52df96187874c4ea62768cf2472d4dd0bb495ab5febc55229eaf9c20b038486729f2749d6bce25efb331f839973738bab0c0291ac2c2b2b5dbe52ee9cb54ed14afc934f9e76f7aeabb1f7929925f1a1da98baefdb5ceb3edfa2f7df5ab2fb6fadb56f262cb3960a8b565a2559ff1a5182b491501181aad6040b88b8f6ceb705759a3b7fdef7d61dc79873ce396f0b99aa43de76ea98f71427386b6e4baf9ccf6afa2c164a058d70c21215baf00b9f1b9728733b63301459d0ad9c164b7cda8add5a8ba5b2486d23e4ff42602fa9dfd45190903c4a193386faf2f672a2a78ea4b9cd33a76bcd42cecf9a244d5ccb2c62f1edd45bff8427d5d58eeaea8a2a6be8fb113aba5feda80aec155adfacad00e6f9ba17bafd37804e6b1d65a8af80fd3997bb2cf5be575f85d17877edb0b8c88b3521fb4af803b5a4acb68416cd71b9ef350b566d001b6395180b0b6f316295786f02a795af877defdececa91e21e9cfe9cb30d92d55a05a04e3d9693a59a6ac7056c47a5c17654dac7a839972b307a5fed119b87b5b1b0d2de1bf6a5e45ffd483f3acd40de9c641c9cc42c0a5ade89d15b6227bb65799d0ad1c03eb04b7c03c1eabe5358e6d453e726b952dfa3f67789f1ef3d93e5ddf8efb5241ee22f4b35f74f7cffde7f7befbef5d9f4b539d7eccbe439f5e2facab3f45dbff7defcb6a451ed0dffcd4993860e9d4d5eed97a96b8c33c639db8cff31466b26f1db77fcbee1ad3aaed67c131a8fc71da73a56c9ea700f5a8f5c8d15ef7abd6a515316d65ac57a8c0dada0a5a9d53ef5bc74d4de8018f9bcf9b953078bdbb905ac587781b9288a34663b5ae658373306e814b1da5ad0872c7b3fb90d913017cd0873feb4bc6c77ce767df8c471e4878f1c221bf0c7fe74d391172528882a6c557ed6eacc1c2172befdea971878560487f84058ff88b3c65807266bb5165b6bc5e06a2bb9bd5a5b6bdd695580ad9df0c1ac81cbfa2ce0070ff0df772fbf77375008bc7fef557b7c314e70f1bdf85e6bc9ae9bc07b36ec5374bd052d3cf9f5bf4f80a17061815b6f1a55b7512313272d69d567c386282b56c720d78d782140f8c079992509aca12c7726ff0dbd575b73afddd459594d4addd517615913b30c68efde47ff7bf8eec87fdbc1ee741be89a10b4a0e12bff6fa0d6d67533736934c5d5cee159995578a2fa0251346b585d5f1448923c2bd24db7e291e717799e56bc35b73b97e5499ea7f3309ed6e706941914f24cd224929949ba381e8f2e38f99893b9381e8f8ee6c34850ce7d9e661d87c246ee737f9161eee757ce64555bab24d0c5b6ead64df1785dc8cdfbb272afd3f4e57cb7679ebbd6de1f176232b69966068d4cb844ad5eba0a02b30034a3c9859b8ac6a4685810a7288a421186428c42c01902102000180042896605b732522ef603cd1b95976d683123beb87249a0a7da8033daf6673ad20d3a151644a0e86285b0b5393be1fa593185569154b63d1c773feacd2953e70f6d76175ded8ad8ff73441a3c30dcc7628ccc2e282062e86e714375da8e63639df353ff274df9021aecd00820ac7a685275285c2424fd286ce27411a503a19f815c33b10750d756e54fd78a9294a3c7db8922d6c3e2076701d1c4672ae0a639cd566b8349f242c9d5f10cf34027a3512f7ff26c0add54ea37bda162a5bfe605662e5f0c43f74c5efa6f368e5336d030a62144447c45aaedde3a8b18ce62930e7aad6e979abba184e538126c8f68ab441a925dee821402fceb3ca7a1f715620850a6c45c9974bcb428e7316320177bd6f3c3f4dbb54c21e345b10793045ff3682f7957e9e8ba32bb264d772de6e687a73ddcbf2b268298b01d5176c91b451f8f4a0a37b1d495e4145917ffab5a1030321c9c1bf4c56afd918d812260d298340466e065a8316090f3846665a60bea250acbb01b0b71b32b6378341b9526ad511e03acc3819f757304299d0aa2911ae12bde0b19b4f6a933c5265728f072e8cdc5894335ee0dc1b2c429948b60afe3c530f227be3dc0fb0d998a2a37906dba128e469ef38f1f1a7a5de834abe2876d14b41734ec04f97e020740388e7919a69d07081945e0dfbc6af75fc7e3a6453460c80d39743c4d0f2325f7fca094deed92a5e9041f5ed55bd68837d0da5e5eebbc0f9bbb665254be76288c9301c190c1b2804fbc28140af8243a904a3047c90db4bbd4c838de96ca61405091fc71d9a552de0bd7c59d5f0cc9acceb3f2a9f7554bb1906530a792ad25649857aee61cff05c8c455b8cdf2d9921a5d2b6dcba9bf49ff5e1b8b2ed017d1c2225c0f0832ce28c441f0ceb88b3ef9869b69f30a41280060c346fd008d66c28805178b493b10f9dde5ab814d9ef2e760b282b20420d973cde24ffff929280ab1349f0f53460598cd4e144bd11ce1ec186bba8be5713deefc97e8509484bbd4b35842e882282b1d8ec6c875cc3961d5817756d9f9379de55890ca6f47795d73eee538f44e15f15e8e1f72ef6d097599a9b07c688dc79ea6897e1c7605b395c40b38f9494dbd0b780a30033f73fbe4127ad3f7b6ce9a371e7a0957d0274f737b56928a7e4533a63dbc78ebdfc23584b0b0d72370c0742e94f6f5e308a708e045fb906f78385cd279e8362a9d43ebe327599a5f4101f01abee0c8f16338b009e18342edb3b8f680ee115a484684c4d4b38e467064d6f9ad189210ca2c9ab3e2d188c27ef58d4d7474a9f1bce1a1cd549fd3014b98b8f6c2c1a40fd52fcce4acf7506ba3333e1230a58be6a386a385a12105e0f716084ba64e5b2a6e391472d67774b81a4a91db40ada1a733a52a99c098aad0ad4482993dc7523e3fa792aa804b305c4c2b0c0ccd373aab35d447957f5160a6514874a85e2d18503bd60fe6afad0036738418a8919e3c178010d4b1923c9977a74c8dc0f901aa36c5628a12764c42fabfb6704e11a792bc327132d7c668df81104a8f3dc6f09cab7e52d01989ded3897123a945c02fbabcd06e12bb1abdca4f6b1c7a882acdc97052f3417572c7ebffdcd7153d00892690957bdc43f7917fd5d810f23eee0e8e3e292ab420f72795297459abf0831ed45225176620af088ea496ac1b6507ed765c3f50a721859cfbbca2d6bfad4bb0863c09e5c6b6e9c59811b7203ce606363e4cdccf19775fa3e795f0a16f42697ea5196c6f712513f9e85c742539542075b2fb2f5e660ad25632936eee7e26ad24b27f9ced5f48dbcef2d21ff1dfaeca300375bd06f1a2ba185d4ec14a7eec832004fb2cf59ce30b46f262c52b55d2600196555214b19258152bc9a335448ae0ea8ee361d77b57375e4af0ea6ea27ff5e5426354fdcc26c66e663e64690debbf562954670925a29b4974fb9f119cff2aa080cf8e05c06811bcd91b8a38c3b174ef809ca89c333f3ea786ae1ffe49cf21878cd27885faeeb15f04c76d7d670d450a0ad1184e3f879d2bf61233e05f72e08939a518bab78d83f1772a8f114c3e7049e704276a764870ea26bf8b91a3444fc86799aecb03f9bf447fe7704d07b1150eb8cca77c0903c166af1cb4d3e70bf4e78ef01bebfc6deb0b7f91977075ddaf6d43cbcfacaacb980a6c58d265b0fd9d88442c1ef0fa9d018b2d12ad1689cfbef2dfd7381ccc3e3e52e0925fdd33e01daed2c77560273cc2948c815de3d5587a07e8382e498ab90a2e4c5e5bd87fef70ac2a25e1d8abea54e856252193cfd8477e88c56e500767ef507597aba86d3c6b7275c3ae9cc423752735b6e0bca2a500e55bf0263e1678f870d0cc0c58d8a0888ecf3526de42b4b8fc10c18f78ef15234efd66b974f600bc2361f9608872468ad8d08bf480c7ad9da148590810875080d5ef1f86d3863ada69f014a348fb4ab09d20f9d330e8128041ea857de7ab5b018ab8215fa13dd178f158b6140f01f167f6c6e83ece30ba95ef5d57784be5e126205bd427c523b00e8c46191a4090654d3a37102f90c9e96e522b57fe8640f1e41bbce951f4c6bb13099037b87372da6b7c66e6921bf574b20eb2ca2df1c7d5f69c998aaaced7e5664fa1a6d61453bb8ca3b4b19355ba67215dc3b11f10060c1cd87a84498f91981b50406ff8a0bd686d3afbde037a45802fb883d0a9d0700220c337a176821ae7c4a820f76425a853c1f65899c05f57c45647ba02b1d5e0e95a007144f4be54612f7cadec1197c372f6f7424c5c737f5f65ba4386358b76f996e32cb9ce2526b064a7f8db1d4e9b0c9e0cb24f6a44ffe56684e0bf527435e214882ab840586fdbb9fa2730d3ad6e9ee891caa415674699fae7579aa8c6191ba484d376a7619abba2349be238278f07359aa25858ce6357211acd5188d2135c07a4d898eb80e82a522eeab457ffa9a4615db2110451aeabe7de58df96304164bd1f6009842b30ed05751005eb7d8fba9e5efa2e931a9fd77b11ce42579f20cb788d2879f36eae3164fcb0abc1217d3c96f0b6769c1a8e56ee35ebfeca13fdc2137f744aa2b78d46d12a9fd3693bbc2c18d476a4a9df2819149b28308d42dd8079882b0fd90849c69a4024551354db2e0c81d95c9f7b856777b1dbe6568a328d404da415e8784cda1ff3c00e6a173e41f5ec95d00656a922e06444616e6c7860bf38852ca1ff82dcebe2183ef7ece082bb79a19837a1fe47caead0f1223d596f75e4486a033e83ec1f9ea83c32c657909483f7200287e8e824546a290ff72dbcc1dc243d796ee5407e9a50fe1808ebab4c4b4856c71f547c7126afa9b1bb8292fe5eebf5e81d1189eb652709762cc39be0b942d656504b62c072bad86ef87562b137fb1052d7deb8048115399016089335a660a74cb9d0b308cf17c15a8c6a8c97cb44c87b1570d1a04396d585f89e4aa461487abbe1a69b80fda7c3366173ba8d3faa7b12ee79e4235a2c2146d8c155f1913ae8d05f2a930f0dae87500709a33137150f4ab3688198d84680a028eb9ecd62e36452337bd28d184bf1b0acce305ea63a9583e1413be3734e651d537f2167990ae5cd22045961d1a9b19960f9eadbc1b0b10003bacb233ff193d366f8d15448f4db27f0950cb2a581fe81cfe02ad3d12ed7ef95a3e1bfd5c61a3f82a6da259093434a8570f6f337ca340edc0a749c5c006e7709203c779f76b73ee0eafb0ea894b8999abc97b34108fd754e129a788f60dac6078d1892306ed763983684db149aa87ea9f86e3db54dca42a49ebd28e686ef463edda06add9fdf43287a304d1254f6a269190cb37c982dd01801b780b3895c7f0eb7801af598004ef741e33389e111f3cd102e451e3bd3e3ccf6b972c16600988a3e024b971675cc11b244a5a812ea31fbb4b21375bfe582312696585df221e497fff36dddbd7965468fb3526de0f0145d66b04df1a4bd8d773f4f271f06d2cc1481f2a756e38dc1cc0790c5569c2c160b04b17405424eff47710c8fe1b706d2bedd8a9efa61bb72b02098bfdf86e565c6a7be94ca06a72ae9b50a54275c667c4d306e0a99ff8f7f9fbdbf1acc77c42e83f716541cd6a880db45a10d5e1b84229f8357e3457c6e118f7829c24d359f0fd345627e2d700ce2dea0c09d22565e639b8cbb2107617e0493795144e8ec873f027130a74f162b366a810458cdff290a8ce96bb4752e78aebf1559154c04cdfb405507c2edf6ebdb24928480b65ea6541df8058915abf1dd7de58ccef24da24660f7e68ecfef2224a51c121fd68f99d42930b533769c961c8e26ed12782201498fc3609c12aeed8e030fa4ba202ae27cc6b2ff78f7c080a48833558b9f3e3a7490b5729b6ad15a62c5c7b5f898c7f05affab43aa26e634625914ed62b2e6ce227307a689e4aa40505a5ce2e2dbef9703c169cd9f52c0da455dcb5bbcd3dcf12e55237dc01f3fe9d1f4b3ff86d850edd3873fe2b35f17e6d7aefc7c993fce4852abe6157386838055e1d0825760d66a5a4334c27b247ff0e3997227f1db09a4203bc1c1905e11419a75e9ecc0c931a457960968a8e1bb528c36886a5ca4c008d55571d6bf17478076d988edc4b57dd2799866b79d759abf890ac965bb76d13fab5675eac07353ebb926acf210bab14572e629f62e933a0891ac5383ea7237873fbca21a1b152ffa55fd678a7dad4a1b60d500fcda4d6bd9278f2c4fb70101dbaa89a1358a5e3ba391c8662edbcd2cca5b39ecccd68008b8e1452b112e2617368f11719cd2e7f27c9c3f0fa9cf88643cf4b739b580f4c9395a1404501504128744f10696faca1deb2fa4ba55329333825b396a3cf2bae877f2d86e66ed5fe7c83ed6430a95925c8ff708b5b778035a18ca315d46bbb50c6ba52b5958dcf39bb5ad78421e4556fca77d3ca033a6b1cfb9bcdba6c8de8d47b869a143ad5be14e92876c513e6e5850b9c51024d62d50b6c430970a813ad02b16b833e6b26047aad2074a62601ee2a12fbacb97107d8178933280bee51b70c615b54099264cf3834c84fa67635ed5cc116e3f03d0b1157985944494c7cf72da7f2d0e7b1494b708c5eee09609298855459357f84c3e0b889718db079f138701615b820d0c28674101a3b9bfa46d8fc628db61aa99e45e919c473116f861b2132e4033cde8a9cb5b114a2faf59fa20edeebbf7dbca52fe3397c42301a355f0a935260098456ff195e033e0864e368f58ba328701c0efaf0fd80d14b32b03b3e047a8195aeb9e75a1d5b1b341d8a9bf66490f93983cde74fb4ffaf7437509d9918186b27d73a8eacb534b1b7d3da55d6e38461b7a97ebb7dc2e1e278af20a1eabdd7ddbedc97a614032a2e4d7651d52d207a62bce02c7d3c4af78d0d6335fb1f00a35fe8d36d5633b22f6a325b3a7fe01acd2d835c4d627fc1c22ced1b83d4553dc6a9636b000447935086c202873325c9d1895e807737158b2e8dadf62b766c1befd5308566b6202217f990a350531ec124421956760dc980263b68a84c874e58521c713de3357391e5c4a8f08c1104b3d10e106a25c210ed75b5cb916cb8c2ab1ee419c5766863a9034a96042240dbf02a590e9e0a3e603179ad1ff5bae1fe25e8e742e1805eac50f8816f1d22be7dd3422bc2980e13000268901cd42b284690b020003865e3359f92399c53bd754c1a786e86b0840b332368fdf631e2ee3d41cd1ccf5b19f7bb07767917b766dd8a4ba77d7e59e4ccc34c0fb49707ea709291d6f83bf81d57b653a82c753811bf8b8b8375f3b8b5361f95e0f3c203ad85bcd6883fb8e6a221b4513a713888e1731645bc3a1555c634a97f7404d8da993d3825dcf1956d6aed20f3203c866899b39f5aea131d21c55835e706b873f8b82a23a3764426f716a148cb3672c76c881109a3a5cfa7c9bb0aa63f96c071f88fb86db7beb02e9a539a5dda1188e7f24057d92de5f7bc5ae326b132c18c451b30dcd5bb678c37075865b1d669a6dec3cb4f387b090c71d60d732d7abac2f933c14aef88956fc86b12dbcfbe8dccea1ade60c1e4c86ca26f30cc361868f1abc4ee7f75429deb6fef1f06b37e0887cc49e90905a84513e4a5627fcc584d61965f9289946121c628b0e3fda39daf6d2c14cdae13df644997a12c9379d3f759341d933708fcfe147a078ad0ae470ac599986e0818ee1fdc281646fdcfb2b78010ba7b331b5f5946842633308e450adc174f91e01ca94fd5e5987d7cef415706b67c81bf24f7eaec8cbd72df006261028b22b192f392b9daf267fd9b95ea383a72bf5e853e8b88778e02cbb7efc261b28447f7a5de8255857f83938df843271c769039bfbdff4f33860799f3e828d0f365b3070be74c13a78290b8831d0b0bec68d0c8afa74d68b05d07c050a508b5afc429ef8c47ea9d75440be7d13046bec575e9be0a35902f6932bb1346eb2ee9d003c67341f8ba7899d7f65d3f3d84a306b935f1e0ce3b78860ec2aa548b59fb1f6d11d21ad3459803c9779ac049d3f33ca96f60bafcb01bd24bc79bc076b8867f39ce56e89793b2a0fdac73bd137f31869fe267c8007c893e0815848016ff7d367468d07f8b093024ebd102b383f57439e96cc2283296efc6a9ed36b5671daf0ba3f2cfd1166678562d9787b8e608bf0eac4e1c27eeb7ccb68aca5275bc444eca1ccdb1734671a327029f8e3a6272020294b3e5074c24199c8f64d2019e1917da0001849d65b779cf13d19a7a57d284cf799b782ad888fc9b36f1192e3940aae74832704617d388270942020c5ac91a721a447257344c750f6a22c25fbd5b394f15792dd2c938b1095364bc460bbaccd71b6e0c4a477438ec133a2fa9b85f2abd515f4926793d52c718efb6faa4cfd302328cadb353f9824d23ae963f0c84782727033915ae0395a902c82e19e8ad061ae5ac20e73f86eaa952879292f580aa687091e9fea369fde1da3ca87399f702a74f9c5d5b452a50f1861b0f013c9d23e087ee69c281a38521de8551974e00be21dda6d4f9be8bb6dd05bd107b5c20d58f030ca3e7a5ac6d78391be88aab9b1cfc86d9e2155d530678b80ea9ac44d8a7288d71830afce605d9fb10f661f0e532fc7c4d0a0f7e7726db80b76f1cf44391146126679547d846d519206d6b7461b24510e29245d429f0e396c6fb075a17aed7152145feb0a9bb2dfe25e580d92527a96c52fdf996f57d47c0bdaed989b59545882bda516ad1ff18087b286f0322e24afb9b051c359ac8a63bdb10dc1c7ba0554d863bdfe0b557399f8a09e0e967a55da7c56da7d262229cfbdc80178b253d58c46cef040af5407e18019b5f5af32f3df6e53f2dcf7e3ef144b2e737577ef3fbf1489d8f175bd7edb65053ef6f8aa574c9f5a549b9dee0d5238bee63b5c3f1c1b0ed2b78a102f732854a04a8dbadbbcc137ba15484d27561effafec1dc31b5d86a5bc6ce9e0dae0ad068d78dc75ebd8560b1feac4883164b6f019121e10121b740b5b49c6737274043a3f8b55ee6abb6ef390b9262d571d6b52c59cef5bc9f4c82a375f4b65fb1201a34f2e621efdcf0627b892fd8a5952fa0ea7d3eba3e88be8502faa286f495465086b4bb6ba11210c0ef67b4e58c7588158c7b945266608f671613104581fc820031293bb88cdd6f25a75f6a1bff7cfd418dab450b88a99a2378abf1913f9b63e6f8c2281d477ae5865c61cf61608d4b0d3c3078d6363e1c443979c4c7aa998abd6e7b38bb641f6c77a54f5770b9bc884cf2ef0c146e652a34f5ce432b90cc85c64c033ba435c3678a0e4d803c04c049e241be75a8834f1c8cfd3e9fef2773a5d15d48f2a36f7f3e6364a0f21442e9f0c10abbe423bb7a15ed56825a7e7c6710aef79716bbe634fbcdbe95ee9c9625a55cc4bf158904fb0d3be6641bdca49ac273506546c1d9c5c9fe07aa155c8e6f92028dfa4a7c9bf3349462d2993d17f047fe7ab78852f3c7c3e243d2b71259e174e2a1e6d059e141b221fe597c8acb2bc0b00b349f6ca0c071a7153930d834baba469ca8a10348b00c098d1209bc810dc0abf88dab87dafae16d29b0cac772aba41e06098bd72dc355a59d61a44e1ba4ec9c97a8704022bb88100e31cb2aa7001d7620997de34db8d168d6257561b2f282b6c895ec516e380435ff7435f9b7b6d1efc2c83e5158426e64ebc9f8f21ae8b98d7f6c53a2edee859bde7abed80fa4b53dc1fbbc01b487dd555fb094a36a70efdb85cb2fe095dfc9fb2ca55638a3939a67526c4643a84c37a8145408c75166295268b31effcb01c43414c968afe5a3bfe4a2619c931fc122875cd1cd0c7a059b9b2a729f454e0f31732ca927f755815fa509a307d5a611586c0f886593a3706120c09891b3fe7c0c4ad5e8d4dbfedfda92ed13575c819f9a59d23495a0b3c801046d2756fd4637d4bf68f0d20417bedd8a5d22036bb0520cd71ad6a88592893dc1a9246493208565d537adc1c8d9376e7888cd130d98fc5d07c73a4ef6b2e0113fa7f48961d5f4dfc42893aa0ee17863b1942ead997e0e3737e7952571e867d6355dcb832cce2ab5009e79c7e6616c48a12dbb1474431458f86388247258d0e6d2021db9690983e9716312022f5f4a45635ffe24decd3896ffd15e62cc2c14fdacd0bab05ed8fa43c789228cbac5acb189ef69e5c9df6de9494d9b2bac7c8a1fa81fef2b422616675db241c51739019dfc482f7f18ab71986b31f7c65d2b201e1f98a96fe2995a2d9cd22d29eb7ac9e1b3514cdb6ffcd24ad7595212ab77e85177f1c78733fc56aa269299a422f125c607f608a9953715e3371d106ceb246ae7042e546cc4ec723668bb32f4c2667750f58079549581850179a6c1c652df0426c4a93d5ec83afc3cc9bd100432314accbbfa949fa89e4f6029c6df0f068e32e71a8f05a09cd46824c0e3f256edc996d89b1be8be82907379f47fa0a9dd03f0736d5f5bd9e2cce7fead1cf2e25ed82406b824b8761991998ad00f71e0414a4c1f4ca45ace317d96b08d941afbcc1fd5fb7547f1a571df9b563a65ffcb7a05cd2f1cd6cf2b01672f29e6397209a30e4612d96361e0009bf40d4768feab0b2b57018211653d3cb14ea2416dee3fb5486ea7d45823aab2dbe5873b0b705534c0c5a03d2ab17239cf6819dcda341f69acf96c91712849a464acd31ddb9e7c08af683797ac23eca34604b72688e8e7bd53b2e46475ca828e4e2d1d4cab1f649ab7e1a8d554c2cde96a6cf4465780119145ce9c626924097b199bf8aebc26ea6083bb913e25299fe200e3d7cfb9dc5e8548f45203f6ab5573d074d414173ecbba705dd2005d8b50a92890ebc8aa1f8763761bfd5adac7c204b6800d281576d4701ea04e28eb1ccbc962b255abaadc1397b295c096bc574c01ae2e80c494f3147675b775428bcd880fb870bfb534721d7434f8da6e6df7376e2389ce36d6c419bccc03f49089d7aebb47147a60ea9c3823e4f08999ad6522e8dfae68419e2efb44a0c5353e153c3b22cc23f49c9b183caf807ebdc0386c1e8dad51ee0302becf9ff358ac9ddbaca95978aaa9b2fedebd67b301ad99b1c82131dbb0fe6d05e2778b0ad49a278c22a73b59dfa9e67791ddd4459fd3f0b0e1a627b24c3fcfc4267b5f9f70e6501e672951b6831b6648eb0d1e20cdc674cc2c6c64c91279c250da0f4385993c3dd1c64a18b7e64176393b49f3cd3d389ae59971752018dedfdd160e3833568cd625707652206c3fbb8f2f866b526d3c7b675a0377da17cf81586cabe7e58c776ac433ff61c4be4b15f7300f56876315819b0bde0458b2bddf2ac23726420ce2f809428d056033a62f9ab37ec9eeea11f1b0f22e1c8731078f5e24e9d53a66b93b4517a275e4747896ddd26d3d4bad694d760ed24927172482e4702a3b651735a7742517d81d22ccec03a058d5342f3f5bfb23cf2811ff9c80ef4c84772a4033fd091e590064744fc0a149585c3f07d5c835aa817a719155c8f1f04d8f0a86669fc63d128b9f6690f6184a708d5f2b7e279fc2e3f2d9ddba42862c884147696260d9e4bf6096c1c26f0f6ff11e981e41cc8ac31499e1de9454f08541c1a26bbf05821b2753e56eb2441c003903549e8acac8a0c44231812b247318320d5746530ca736c49c8942d3fb38ff5f020979eeb6e897aa9063edc03af226ef6e1d02a0d99b82276040bcf5dc3690cb924f5ab4b9774708a3f4d189e8dba63999c6e5bc84223e283ca84f7d00b28894f9fa01e1f34a2878994ac30ea8bc2e9168415314a68314ac3314a2a32085f7fa4531a0c4dbe187a7a1183e267cf692070f4b02c2b177b878c912f031a49e8080019b77ba493141fb06fd153f2171000eddff1498bcf8ecc3e0b623aab80427305767cde9e92149de1fbca77c19c72860f26c8c27bd1a14fcd45b29d2df01293da5898631d2ca12a43548cc91b99eba303561f8fd4b1f12d767f9bb48efaaf09ee87ae081e892381d25ac819886405dcefd9094c8842b28f8d3221a6f15d377aef683662f89c2bd7e70d0910ccb21e39318ea2df0f58846dc2479534707e951696a0a27b0139bc0c6de59dd1ea417321615cfec98efb9c0a2452cb0e04e22ba63c8a86168f0998a814a36dd16c824f8f4e6e8c9f2a6890093312a1f482b33755c00b4cf0010a1c453a4a305e723ad9957f90b6ff0c47ab6be6ef6de938700803051837e8f38cdaa276908f4871df2ad8680860b01e3587471629f17263ab83387fe2124c7038b23942216dcb6e5b6e29534a49067b038c038903919322fde291896a9e908593767205183f75ae2ead3851143d194a3b8f73840f9985d3c3f2b9c1c153fb48f5c9bdc18243c6f29182e325ccaabaa0b7c7b68c28fae03cb9c2563e158a6dddf9d2bca923e436550037bbb1328deebb3b33013c0033010578011eb5c48c5ec65c3e4283f92a8a59d3224d68df5603986183a70b046d1ce81bd3d8b649c229be5d357b5469ee636d86889583c518638cf187ac9f357238777b8d7d3ff6eee61f5febd7ea1ddf7b5f9f1e9bfc112916bb54f9e4fbcbc9c3c7e48b9dffa5f78dfa24bfcf28fb76f7bb94d1fd767dfdf633527b51e093327d6cf8c59c2a5a7cacd01a24aca59eeb09c0e9ac4d009d7f340cd01315e305c2145757f870b2f26abadd8e023a15b60d204010a0a8d4d4f102a10a7afbe7c96567cd6bcc19d50c3ba425a7664a9315808d3c16906284fb19aa012ca3811ae025a77932009a32fe0cc6a2dd9472a49f21a202da76b09cfc2b8b1bf036c467860cad1585891fafcc1b08281178c2ce8c140b661276c8325045afa50c9500ee4e40cfc4476f55850131acc044708e8f46c77219a69a9ee6a36ef6f6e8fefef15fdfee5cd6b0dcee46eaed8bb1aa2663b0e66c90f73fcf26e1093a254c484c40562a2505393269fe2b9521921034429ed656abc6586bad956b576dfd6af5bccf761c3dfc25ae4f634b4663a41260cd999b73cc54151c63668bfe9919bd739a69704d5ffa31d2cef3e8517af473df8b3ef0f5d3ba9e27af95ad2b5bd7ca5a69a5944a8f4afb53ceca20968e8a9133a821de66a9eefe1a073504c652288fb6ad69b329276fef548b1efbb82cd59abbb9eb6e0b2c1a9dd9952ccdad0aa938c752ffffff3c8569b4d94c2673779732e62c9073d2293bfeff19f3f8716d9e77f6a5b46b26dd0fdc5f18df7537a88635c26af9312c95cab6bc88b140b81617d683a24a616d5594f05adacd2ba5fc3a5ab37cd076936bcdfcced7bd0163f5668d17c6dcb3114e3870e2d09b06906cd391319f0dd5dc623d4e15cebbb2b91829e6076cf4b87b8b59e2bb1ff807eeb69bf2fa28220b0b24c6c98b0cebad9145c4861c723e1b83f7cd33f66b9d3fef974daf26a9bfba5aec767705b8fdf655ca75f62ff3bc9ee0ceba1b5aca5e95e2f4a44bcff3689e373d2fbe7feb461e5e57c27b65331a723b4dfa7cd631acfa98f2f1ff6d0ce78c6f6426a5943229c9936847bd6f7efc7d3493f6edbc33fa2e2f69367be6ee08e3f0e3bea18f9f6698ed780361bedcb258716282092a634ca122656aaa29e2cb6bf6ff2f65cc766701861939616a1e76cdd64552d0034b1857ec61c6185b5317b9200d942e7a4cb9b97335d9906aa288cbeae3709dd8339fda2711a7f67dfd2f252aa14625271bd2dd7927ed1b634fd8ac8bc9249aeb298a746b945232ca45e5ba575c319993513d2fa5deec0ea313c6a4b5c4646312942509f02279b77e616bd6aa97d23eeb4eb7a977e9f51ba594366c029cf5252613967ec45e20e18a4f6109dee6348c2a76dc24a812e58c932950b6240f465d4e267c15df6b7520edba8e1d59b254ef1213fa761586f45dba44e9c7179bdd2534dbb06e8806ae3110935ab1ae5eab45bfce935feba37f258c6fcebdcb23070a67f937b224d6f32d8e8fc2c98bdb960c3e11d0582329fb50dfdd4f4ed5288be530b456e661630c2923fefdd4fd84b38ffb3cb4fb6184d6e67bc710a78d6e69904625c7b1ac1527300a1df6c6e473c8c1627ba7f7e67b1346f1bcd4e7ff1ec55be1bfe5df8bff2798f77777544bf55343fdd3e33eeaa53e0795a6d8662cb69ed4b5a55dec9fd866e3a61b4b2c6b9fbb792e69b65214120579d0372cb244314a8a737428b9483ee8c0366e9a83852b225553d2cd5fec4c76b9553b72d99c4750c3d698d217438280498707d4b0edae44c8caead0401b9619fc11c295b1234a926e2d52eb37f409f32be406562dd76dc9c37810d19509c276976737bbbb67d1a3478fd7ef882f437a654876c2ac924cca829028a532f7b91c12230931e4e31b4c8200f10d81759c538b13e104e1ae0579f16dee6fc6226cc6674fd2d7bdbdc6f8f1ff9f8d948839dad12ec806f970fe1a3fe6fe6179cc39a7fc29e79c524a39dd99f130e399ce93b7ccff97ff52febf94534ae9534a297ffacb98c73e8a085c17b82ea034d93cf772469ce39cfdf64319b010443586c42b2a70381c8efacd6f7eeb5a3c87af184ec480e5f82afde42cc5d1529dc360aa0a83a9d852caff4e0c6d5ce3baafd6efd2e8ccae6469aab80a08a92bd8450d43db1dde2e48c3d113efbbcfbea8b54ae6771f0bf24115446fd74a1234611de8aa48229d8815f5d018985d068e4c9e3c4bea1d12245dbceaae94b7755b2fc0135f8c9206a14084387ab90386c8982fb37f171b720009cdcc434af0c14dbf800c81c84d0e486ee22358607622983d09fa252493c493d4a13147275d61de5967409fcb3a92065f4b469c811ca84194c92f5cfcc08e2cac828f6830f1e20628606b471cc8190434e004a1190405ef2028676c5746d74816b4864643525aba1bf4bc4c6877c63a4963ef32cb197ad7ff26f1d9133333f3557265679a3471fcd857289ddfe4b96b7ae7ebf676f718ed8b76dddddfb25bbef85fda51af77acebcf6e6fd9fdcb7feffdfb850d9fffc3a6dc5f7cd9dd442d6b1834ab7dfe7f59e9bfec3a97f2fb4ef7a77528d28c665e65e03fbeacbe2965ffdffeeefbdfdfac61d7ded5e67b7fe7f5f9df6587ef7ebda9ec62f0568db7bb83bcfafba801597fd88b7ef0f1c76e5109b347cc9e3d328c1665b4f8a1a3c51e3161ac8083c857f9d1cef316f87dd5277fdf37c1f97995f4e7f3f3ec1cfc597dde075dce8e744e8fd9f3e2a42cf9bb8a527efa0551a155c22a2cf4829c5a337aee025d35781e684307935e0e2c2bb394734af973b6fa35e53f6547af7cb16b79b4e3ee9c633358f5b2b28cbbebaa7bad4fd6ee9320085639e59452ca49e7a4f43efd293b30fe57eb4f66098291ce181385b25d45f71291bdf89b59be94d1e86554c588561578037ab17a55da0c8cac619f6fd775dff7aadee01016affbfbdd0f80358420f2e9d4b293f83d840df2285b3fa7bf077b962ea3a493a7c780e099f36d332323510a0fb4e161324ee91e446db6284f1e66f7cd3944d7261a7caf7e0ac4ab7907ca370c6d971934fa8c910719af8b3abea86f4c13573c347b3c12635c156c104b99d6133ba1fa44110a8189dcab09db35b580b0b48f2d4b0fa565a9516f5951015c6555d10a418a5496932b8424bcab99c93a826bde4a74d3f8ecf10a61892617169f959d2c56288d8b8f0d9aeaeeb0405a5034d64ac1c6f28152400dcb2371fba55436a6a9fd446f3faeff1782dbebff75c5dcb8a9335ad6109945e0b518c1ec678d23b87003cb1241303d55c1078fac23cc4c9df1cd5a08ebb8d126c040c909481e594d84c8501b43d7d9e1e441c673a6afc38ea911a9a34feee609a3482685c818239a1d7126a842e28241ce83a53bf21cf962021e62d4c820b9e989ba7aaa8c6c4c0d34710165cf1c4079d822993f7adbdbee18406d069e303e9e31a4f0e0918087738268396375e98215c7031c1ee1e2ff0e1453ee0499c1f3c0ad4daca15abb94ff9772bb2035a375b3dde4baa9e4d17af4ca64f7de7beffdf6a78a46ac46e7d012d6dc3d8276a1a49e23f567e81195e8d2b143810c4b99191c7d8caa92c2bc94d6d8a538ea1c9922052451845e804a32a5440e3a0c30b184a9c9092856b73a77a6a071b24365658e27669c9442842c274a9e1ad1ddb20588dade94211314e4a008ea715084d7d5a1768df78d69fde4be5ac10aee01bfe9a57a5bc04a85abbe5ee0cbe6615df2c9d3cb05453eb5f182a5d849bab73bc681358715192cae68a365492c72029834b240e3298e1633926635aee519f2804d11428e2499f555addb0d2b6a357885af04c77e30a5cf8130922879811dbcf20aa1d58a9cc4015b8082089c1d59eafef8beb8c4fa2aa23c3372fdeb5a90c74e852fbf816bdf8f0dc08f895f3049857d2d0af5801036448a3224f1185f262efeda742d8e63d9dc492ecdd506ee385fe34f064471f12721aa80913be3848a0a4c955b9d11624d9a2b773ada748710c6360cc6e438693dca6f23d461a363492bbca31f7cb138ff306c8e0979e1bd1ffcc450dca46a084f83446cc34ed67e2db0b66a056b055da00b8c5de3f70f829f6d7983e5aca839e1268f7492534070eaa47cdd9ffb0314748368a540c488cac0cd173fb076778cabecd4a80d6b2d9a1822a1201f403f008840e41a58590712c667e157e291bd223a145fd5457f969ea70adbc400c2eb19c8b1eff45a5021a28c1a83f67e5339fa715790a786ae6cfeebf2162080103604f357cc913a48139c93bc3925c171c7e9f7c826d2630db8d53b157101af9dd24a27ac0f3d000112f3a10722a21800b1ce22040b82f98001fd80b6fbc1086a9c47b994e7d8ab1304afedeeee76bdecedee6edb2e7eb9582a83261b7efd5a1eccad702c64c4365e5c0b2a8ffd2fbdde8ca35ca6981a89a3730762fc835f8d95c92b44c664d8b03adffb9452ca6e221c545b719ac24f8c63a87b7db68c277f4e5f0d917a0cadd8f80187f1472d4a60402ce29f0247ce0f78b1fc51e64c65634f8dc77622ccb19452fa45d013b644803b92e69dc00d939e78358586c496a4bb816049a7ee5b749b76b025d7e703df9d21a1d686612389825a07d09861050b2a31bc44dd584485272ad4bcb161e1c62dc96154a891bcd057495f1da2dc7b7decaa814a233cc929ef2c12c14d46c4888684c193920774382d99206557c88de54bd54cd1878a3860a0608282031b61d46063878d9611e4bcb07c892fec62468a4b15296b7e891795a6e75bd5759a69a525c40460510cd5215144d346c8257c6c19e4183715bf5167e6508a8d913f76c7724180e98f36c83acb6444984851944c62110419bbcfc48dfa468bd1c6c4c59ddb841b639a3490d8b81b714d0a7e5b487283476e67571d08d8be81b045aed5767feed7bd61f5fb3f015b13ab6f7a9fe89fc8bbb4e571791a34bbebf5fbae27951ffbe17fddfde50d9bd809c350ede74c6131e4d2bdd5ad2c622cd0c699a6321a8c58fbf0bf01199560ac840cdefb0e001000a38508605020148e0693248671248f6aec01e913c6c14890b16778d77fc0edf357f8b9303e5212a8ff76e11916299d65e334195fd1c6d8ccebe310d2b5fa19b588d281336031738097e68f26004ab31564bf2cfa5372639447ee6b1625254d607dd943ae151bf3557ef07da0bdfac483f6a5d6929da4f2f371b11eac46392c6c8b884507a25a91a37e790c78263a60a7292224f94dd989cccb8ab1e10fd60442b68e17f2022458b02f2cc83fa7881d42e05711cf46abb077d196bb121f9f57242d2c3df95914eb62f14d124df0460ef048fbf7ef35e4b324d0bd196f83c9c84e222e38a4429045336e3888221f850f7ff8009d62f2b0e27fb77d69264326b9ae4b9d5f15f148a66550bfb8c9d117925ca7aaaefcb5d1779b305a6402f8534828f2c01a9cd78c7b4904d546f80312718984203ed1fc212e99c09004f9a87872b8130e1d2338b5e3c768649b45645626ff22c5689ff41e1a5f563320b6968ea0e2f1ffc75308e9559c4353aac1cc883dcab85983af4117cf377e1a138a6eb3531875665013e4b2dd548e49da5d832c9508785e8db890fda6bc73b6f5937030a9a0cbefbcabca2533cb5731e0fb168f275b829cfd52974abd8b0a2cf71c28d59ba1caa727a079c52921e43c2ab4ecb395d53e0daa73cb89b51dfabc06e7f95756c0fea7be50d94ce424a2c06e8872cc0442f98027340dd6005fbca9fd82962d22de6f7768f7794adce30bc02be7738e011699d30b4b81e9a53ccd65e601334f3d92f7130441a77a7ebbde5a43ea4292d5fbbd828ad1e5fc42db023111d7b7b40401755f7718a242f4727b6278fbc27bd838efcf5238b3e2eec7849f45e2cf1d05e0f85371ae41bb992eaaa57825aee47750397bbc506e71b8748dba183db1785fb73f29b9593da5c25ac77e0188c9520ae12438852314aa397fbe7890ed0b0214f638cd11497f51350bac9095fde1fe5f87185758a6f01066d281ec6b801a2a2ef167c68d6b404a3909588603f9c6665f064b6c40c946373db8ce4aba271b19d3452ae93fb12f7214c75d1b7f9df25fb24caf4c459b0606f6b3300688e67e577d53effa0aade8ef52b5b133956eed0fbdb503c41ee4cf72c02faf3c25f334bd2aeba4d5002801c77339352061b32ceb282390700b06591a2fb61f7383e4e01b3ee4dfacd9e7ac69b0b146a08239c49d55e74defe11da90ca71bf1bab0884f5cb3fae087a03b44bfbd867841ef5b424b3e697ccad5686d6158662859f9981aa52fce9821284784e8c8579844c1fb04585512faa0649d1a8541a162ca476114160a09f4388fe573397f846b442a4c5f9db913d09fc8ab7a7ecde8c553069e57c7648c6e09a01439603d218de75422b74cafcf5950ead960e0a08632186876f763cbe68f150699becab7549c2a184d04af31c69b6fe6845196d1b0164eae8715674a99dc681fa580f6e58463b6df44d893be3f93bac27633cd489422cd63aa2f9ca2a2afa7a8489bcd34666cd644af9b0988f184472eeeaebface1415918a10e255384d7cf8ade7e6e560d51f3df82aa610bbe3f76ec790192220f491b681daf30f77ac0c5e37f45e421c2d066ccc768e903b5049f922758e688560bfe2eb113f8d1f8a4b6cd90d3653fd1873f14194323183c0e604a9ab3ca08c0cdc36acd819cd9668fde18f32898e6cae9570ebb2430556d0684c34a68394b8e760b9543c2cc59c8bb3cfdc806f7f5dddb415d2b6907550b208cc011c2af38391270d678b47dca8d0144d591c0de04c56c0d956aa20e0f17dc23281cd5fff50ea0e111b44eff55e7756e1acd4eb875980f52c78322326755465e048138aa931e06707a64a3eb0885d61e85a3a7ca15e35998d08d72fce704333b13ac128d3162e4942e8756cf40ad5c87aab978ae699aa62f6ab6d2fb05e6b4eda1b67b7b7e297ecfd11ab702a395b835df987cf582a78c43f45f470a670de2f96fbc650c6e73e21cefe3dc36d2a7d93a10fc445fda89727c341157a89923e530c518552b365e34191dbe802a60ace6ca57fe7f43e03e529b01bf0727b514c9c516e4d8335489c266fc697789850c76c9db71ca445dd0d9f292f499b1f0800c49eb72b0d5d35e1ea769b46c6b7b5f9a42e7b7dcfcdc3021ac4b229088aef36d5a6986003bd85579bc1db15b86bb05fe4920cc89a8b44774bb04b0a9ce28c614b88f6f00a36f7be381133e5c30c3bd2709d88f9ea632f6f7744b5978dd024f0e940c882c5c619b3c4410b4bb16c2600b6b006bea585fec2d5ed4117a77836f75ce284a931b59d12d904187d54d041962120b73a21265589b8436c9c04af2de10e81ac934d22b95303eaff5ddee7fc75e39d8ff67e893eb1b3054d3ac4f9df272e6696d1dbe37094393990dfe7c0c7fbf513c53f8738a2e4a94b6d738ec85670c0910e81ffa35c6d5359b99c1c7cd42a903001016085f92f03f20d0abcc745937548942d76aa934e856f47661cd061e6798a824b74357ef5d44df9857fab4a563e61a12475a186d8f21cb66140eba0579b8e9bcf818c07698c646604850accb43ed13015f594a026ca9cc3d100d589ab091479225dea5ba74c2bb146fccf7ff6d5fbca51036cf70adb68716d57580c3763871cf5f210dd25ed432c55a460e1c982eb48b3d0efa9486f39b6a70de53f27be234f0e7dd9000fef580e5502de09628376bbd7e5620480685242ec6efe56f6fbf434d57ce1cda3ca2e5dc918f323c2c0b52d78db30f9bc023dcf21c5404ee4002ef5644d9e1a4a572c89597f3c7e2e6bb0639b247b3a92b5279da76e09bfd6b61b36d72f5b6eb7a6e8b9a76f88dc2bdf0ce8a7ceb9e3d758a926bee464aca68be27d108dcc94679fe49d40915d2f5d58234aea7293734ecfb779b8426f4b96d433fc2bacfb002e2ead0f7ce5063ec5a3511412d1675e7112a8ebee9c7ed9aeec0e9d50a9fd77dcfc3c38a93f7595f93cb7721d8eae289970cc05b99e24de4d78bbaafe4f27841f73e435ed8c5dded18813cf69b9fd356136b8233e7270f8504e3ab5a93f9819a9e225257c5dd5ff7b6541174d46a5eb9cb14fe468ed0c896a424dd6e836e08354543dd9d6d108b7177a1f9d8637e6a816a049717b56ae313db66dd8517884efb258258c9391db00acf25e2651b7962787e34115036832725f1d947fa3e42a08450760d100c48503b32d677205fc3d81ee1f4266fda834e2b99fca587e7917cccb72e68adadf83706eeee67827489929625a1417684cec51aa3cb37dd1d21c723502c2a7e85ba4b23718de24cd57d25920a7879ea3c7ade11da1b2aba3f5f8d9233e2fa9f4cd344f20e88bf6e8a57a4ef126f514732daa26ec10daa19241d462360f176b35f5f4a35c8ae92c76e8ddca66bdd6c363b35fb02b5e5e62b499464f48017b3261817254048b8c289c32c7b1b4b499452c86e70fa3eaa8d8c1219dd406e64e042da40810a033fd53a675da86f7849684c3483c34981b0aa92e8404fbcb05789266660c3461b24d468284c6b282e8e41b5d855a22ec22356d4a1c524c3618778a1d5c7df97a846240442c08970f134c61a59ae77fa588768f4594a2328ae5bcb495c9f879cb39d5f2fb7adcc78eb5b5c26ca4b22cce1cb57b33ec4259ae9a17ccc4d456c04e37371641b6ab4bf7111d9079749665a849709d0ac8c875642b371fb7ac405ff3ab1905df7b29fa7d3ddd92d7afc83949666707a42adf1749e732f09b20021b44be6a5d2fcc09371f43d9d0af972c9164cf7d6386bbf09a62bdd056738157463b6056a19d5e2de1f4c2c3a17b5d51131ec687ab5624ad835f9d0de649543f6c1d0b7d1dcd1bfea506ef214d356233bd5c2cde8fe6ea639becc393690e6ca552b842ad5d7834b75c804d15dec4cc94efc6f3822f2e2946cfc003379dd4dc71f300f5103ead1a6bd8158532b61e1369137a67d9453af60a9cbdefe8c55db7ca5650261f64b1fd5163f98cacc76dbffc62333b1cb33415dd1c0c1ccdef75ccb4f3c91a3003f6bda15f18fab0ffe14ca1e461cb35803d2dbd785bfca3b90e062fc3045bfc4d103c2998c67f37e76428f19d98cb910bc6bf456720f84301915be496d6313b761c31f411b54f2e08288d5ddb71d3163c91cd0dbbb360dc9d28ce73ea03f6c8290129d6db12766225add10cc79cf9e7c9f802b7ffea18a9d885ccae4f1f3de3cb98c1d7ca87d225568bf582d011ba9816c53a20afc12c804adb3b535589b96bad8e94f6e076f725afaf7ac8eff549b7d2e63759c7765e32bd745eecf76ca9234dac5eb9664a0fb06e1bd6b761262e120408b436bb8766e3ddf96bc9e2ca65e278c368c9cabc5edbe8e07e22de56880a6ec4e4e6f11bdd15b75489773d1c38208636a3ff7acd7d45ba08bc99f95aea01866de9d04bc4ab700f7674a21309668e5d9173d097585d0481b066f69d6f4e622e4ef026fdc8b17080f1df25356eb669ad92356d03ac1cb8f459a8aab23725bb7e57372dedea81db35340f04c179f5efbe0e78af4cbf034a1ad25913ef1998bf46c998d637b56415964cf183eae80b3414b080c1e209b2a1dea003299abb90511fd5f18bd9eac3492fd767df396f46b00cce9abfc4d6a0af01cd9dcaed83e7998bd7303f0e9db1fd09e734720210c2aac620ee527920065394aefe74e69883c818d6063584fe66144f509f642ce420de96106523c37fd959f6d3ddf81f001313c22277e67db25fa0e5f780c6a0b24059615f4f7c38b76c31733f13f9835fdab5b6bf1c5e2c7a999b8388ef3a6d62bf7b19b2811f75b75d4a8f21ee87294f2e4fe30fd5da6d4b12c9d7d21e682a5df78d57d306e5619eb2400df18207c865076756298bd0adceccdc8a6fa38679b5a0b6336289f5ee385b963faf0ab9640f776ffe80dfc25c2d27eba79de0e7de9c915af757f597f8d47194611b4e3ba64b7457d7d353aa9babf80204b705d1dbebbc224b367e7158e17745bece73858fdf8e79be82e2fc27cc226a2d8e086cd9fad9808cff24beeae863521874509a38aacb231ca5cb005a2277f286535d8e709b539e27606bf0b7b25a93f9e71654fe4c6d4cf218e5c40f0475b5569ebb92312651e3bc5dae2f73b23ce6677f1818e2c91be0005120d5d417bde9fccca5c653d572e33deaddf83d498081946c228b84096437a400c0ec7ebafcf21566a18f6d4cb1d58652a58bb947c6bfbffa20df591c88c9aa5a4d574c2b9ba0e9d7942dc99de0af19e0643fee1e973a28723422fcf217e48cfc1b2c32782e892a630aac7399f320b27a4853de7b5bb92cb6550bf6a2754cb1affadafeabfd03a8bd5aa3fa8301ee5b6a438e3cb2377b9e18e0af53e9d5e95c1a617b95590da2a34981c655bbd313e1734e237ade8ed2e48b5fea164b1769d9d7bec1963a5ffcd77ad42b422fb26a9f126345349cf2a6612339980a09fb90cd72d4136ec3daed0da5ef51e1b81a00b8e323e5aae9f9480bff54ff5534a06ed69212263593aab94f131b4be14e21831206853c6b0152e90e8d26149dbc86121d88cddf9b6f00b8d11126d7d3040b89b34da9684022646649217c9dce6ef4a95a8dc0dac5ac2b6000e74b5b6152c9c9eb40004c9e9d2c78e04904d9a3fe6b9b9e21d4605fedfb2af36f27c75577cb51f2a6590c76126c874af8c765f348d5a8c22fd8b9d2875f5670a24669fd669a257e1b304c469516706dee557bac4f5a8b1d2c55329e0c4d6c089ffe802b864c0a3f878c5187aa6ea86b0dab27d0842486c82d88ce01e93c4424d738e9adb0c492115d5366672892a55469914bfe1fd2742d811a7072f1341abd74b00a14aea1d1362575377b76e4d10d8e7ae39c6034537a467f15b97d740e11e45cc3361dbdcb9400e288c859178ea7eeae697005d8fa09ee4e57627c1abbb2cf8faf1e7c930c6aede29df07dfc5ebd3150b5ed20df30e95eedafae3b876c1353d35f741aa6194418825b29beca962fd22490b4141b88dd56ad3248967a18d68981de26f6497746f7a027360213a40eb7c92f9b5184ea1e3d83fae196e99d4756bef82ad3eae2ce95c41da4a88a09e2baa0df10e2e175344c9db250e19791c8ec8070ffc808e8e76d4036387ddc71a235ec21135f641e34c0b1de219df133c882b383c7fb6b5159b5da086270251b968f5c710054d6278835ce40c67cc57251947c194455695bc22049e9c3c0676dcfbfa8d8d50901028f4a662cfa5bba530706159a0d342bd8d9a10180c6ee042138a3951cd799f76a56e269919d5a7290db239ff50506d065329b9b1c8af64c8b2855c4a8713420cecc3d9709ebadd50bba1b159f32de73632289eda0f92ac80cd4d044fee10d0317f1cc530ef476f9eb088928247e346e04f5ca032e911b03afdc6609a91a9b47afeabc7dff7fc28448fed6759a7f440f0948aa1e33f50d23c976e0dc0079297f81d63c01f3ba56b39f10b3ea6dbcd1b98fbd49f81f75d53b9ecde6ffe5cebbf3f53b13a5d3791ef773309e9283629a1e6cdb2e09d3b8c8b5ecd133e81843d881343c919d50c3528ada8404a17994eab3e7a8e493aa2d3fb1e32a18ba0cb14cc7629f4b2e0ca93f50f38cfd79d1e8452f79c0f3c809b2a52eb570381687546575072add0c64de6096d0d8dd1d29b6348a0cca5938db1fef6dc26691041c9e1206834a106d3a27f56a61a1fb28bcb462a6299cb18ffe9ca385cb779e2e7e7d71e16f58ab0b844e15bba9f135b5fb7bdb895253fe0265c0702116dbff1b04d832f73d1d5e10f9a9a4301e9ebf39fc85cc4b5d9280df29ea789259a49d9e056b3131b5003f474d82ae1f60a9c1013a2613af030b3e8dcaab2886de0ed80e2fd7d95d1fbc4e7b9f3634d48b31ae34f3eab79554740c0cbc27f8c8c483f08bc2ff62bf07319aef83dcf4914232b8243d9ae593c15abfd3a683176f549e0a91cf4ce703b9a0765bb7d2de974067b7794a196c369a8b526ab48d3b3d689b2084eae938e6295cce3cc3c637f8d32b7433f13c875de4e2410976d7669d39bad4ca7e8197f9a5a6af8b4c38af2dca55ff4527b615b9b72a72e2c74d2f2cc5830037a88d2c04045031871a9a738ce08ea6d3f64a3e0d43b0c9a043bf5570d101e58a19188ceb50c5658ef3874979b4a2b6153699cfc2e818d99d135dbc739e76a0367ad1c4053d451a139810b4d94b02c6d1847836874e4be57ef29bad9fbf9f8a44cf884635222aecd95bd9282607e1f988a0153844bf467dd8b88889c37649c090eac5cc14f3d1742fccc2581350867b69ffd54998d912f8d4626e194c14427aaf658e0203bd4a3957a1a9a947445357c81a8cd8aa315f2135b45b6af4402627333ad51f4c11b5e9298bad3d35781fc5b97643e392007a82e0f84fcaa2a64a2ffbf92bc1129290ea09d353e6855f8ca457861bbc638a0615641b8128a43a334149fcd9dfe4c96c9db2c8341a944550d87b3826c36d8a7e2c748bfa2cb831166ab46520ab7b387fc683c3900df4cb43d192483a9f7c6586663368e9538fbac931ca955bfb5fe8d7e96327eec85f6d089761cc7f90b8c75e43178653440c89e74480ec73236d80699a143b293caf1f4eee3c75de381dc15c23a45719f9ee2d855078d70cb22697d4ed16ac1e567c52b3e0c6e489a047bbf12d1ca815c6b21d0e76c9c072168df3383521da1b2fc8d0db63bb47b0b5d973652a110e9ed5c9b043f45dee6c34ef433a120f528543c34f32966f1587f2bab5f48482abc58d72cdec58d2662571217bb922d8cb545c0ed3f4eed087ae621c492317b04ac15612b9f49794421257197f9bc5c3303f9fa0f975ac4296998fb186ad0f3581fcb19dda4c973aef05bda8804163ebc144d468c6165cb3e10dad4751215bbf5cfc988453c6d12c4474a2f3211b16e8d8f309e4b3ba2bc706dd00e63b800a17304fac453da13c6e884ada98ebcf6c4263402fbaf4957dfa0ec956ec4089bd898522fe05644ba2a98513d9131013cc1abe3fac92e6ba5fd5d8b3076225bb63ea7cd29952473bda9a43595658465e9fe526de04cc16bc1a96ae1b79484114846efdf522e5dedbea91f9349869ae294c9dea3082587e64f3966d7104151351ec21a572b27c0d86a8585b92b3815744aa11a0e71df21db8fadf6a6aa10e1dbdfb15307593953bbaa5c41595b28146313d0f85dbdbac139145b126659e31ba2f8f410888488e527110e2157220ad144a0e389988dbd28221c39c22638b69e8e02e2418a6389ee13263098068dafb48dab9ca5e12f516ece00d2591abc2382cb8eb4b5e9a99f76efe9650df83bf919f3f02f70f818d338de7f1cf83d20ff9f771dc1beb28d521b6ac932ea2f83858e595e53c191da8864ada3017aa37dd08cea8ea4424cdbf3b523102ba8a722d4c57472b09df55b6630d76e438feb03bc4f770f0a38c67080573011fc3ef54d7821f97c65567bb226b33cb6aa646517ef6b7727d3acb0303f6828eab234980e7d035e81b2994c13e3a42b3f410ad105712a93045220d7acc29b34e861ade79d51d8b8a7d11df8a3f26c6ecc00ba962ac9bff5cbba37efee1474825000fd206a69bdb129767089402d938cad5f5f3d307fe914d9fc53d31ff2a133b399c414e55e60a5cd0268086ce7bff9ccfd31c1332a56ddac4b61b10b08d899a564373a558d1958b8e86f8903ed53ffdc856dc8726500597976d540e2eab01f4bf389e29a8ab20c2f458ac6f626ba9dcefd0af81706739794d87c72c9cb6b26d93de9994b6e26a09fdc73ca98bd235c7b51836d335da761a80725264d81bce933a17ff614c5c57e92bcbecdc5f9618f4820a607fdd563641727cccdfe76844f34f0791383daf63bad2c0d520cd9cc774ed18790ec49f9a1a214bfc6c7a136016e0f74532a55cf0a5cb58fc0a8102683750987f112766a0fb045f3145dfeb6502f4d50ca5411a888a8147a5a465ba044ca98d53489820c8c96088741ee56c6349773bc044fb8bd9ef02ae987caf8a90191181c64424495c8f1c2d5a6cb61461493aa9f59b43154c0721e420d90479d17cc54c75357870f5f3958fa20d4934acba84b64eb0433373b8414a1ef5656f84ed17d109626284ad4fbecfb8ccb4bb15b9a1944f06d4dacff47aeb34c4a602e565c67c138696ef5e89136f26f3ad7979252f17ed67ce0d7b46a7a1636b8368631064a588bed19ac448f9ead93ff19ca67a2617ace6df187def6c6bb5c93bdace9af4783fa6262da390b907fc8baf5a8f1e4906741a7c27f927813fd76a1a4840a4e8d44c9b896fdf6949bf4f953c373e14444477dfb4060f6fcbd8919dce37b1c07d5e188548580361bb7d5c414432c0a19b3498eb49a2acbf98541cab89cabc0a54b2aa67a2e48428fb43e4b75c066e92b0dcfce9f5b82a38e7a7d4ad7ee6331bb8ab1919f7cf029a0d11468c855a1bf6b0a174e4132f0ef70097f6209fd88a85231286bda060d41dfce0aa732714e27b88e4126543951df8dfb5fae24b55b5339a368f8c2668850db8b5da930ac60dbf9d2d8fcc6751d9a832b97cb00bdc67dbe170ef008acf1c98036e6de5f65b3710d640b8cd33903d9cd60926e836909c720d7ac5dc20581d0efffffaed2ef2fbca27a6915d9dc48091913ff6932e96c501314cb51cb7b9fed13c3554f56df460066aa9cfd5bf203e902d64962d460b25f386d371f94bdd4089802fb65a2dbb6ff04dc78a3c4678175c99ab62da3c0e88624206864fcffb90d036c8a353daea73fcc0e37ca719f4fc825676f7c167984e76511a77de97c023d933a7a00b3cf07c4749d7667f6de56c876d76d9d6db8e52d7254115e84f313f77089c329a0df79c4e1941a6be05ac05771d513fecdaf9c513eb1f8caf754be101da2bbd99debc0ff4aca30d3b09c4df4c172cb7117ad78ee450e0fe8a14215e6eb3d34a30d43ae43c9c08ec05b2cba0051abf3048bcd40e15ea271726e7bdecd3fc51ff36cabb334154bed059c5313a789ea5ae5838859145e59479552dc616b325517d949460c295a432aa1ec9346283be4499d5c4a9b84ab2000767d54b807176c2ee00857024cad1d61f35a34ea5d1c4c95c25400cb8d396b905dceca78f188aea637a473a2615a00af738a82b3a65854887b5c0184e0372bd7b46fd634f0b1c92e6b562687e57b5708d3d311c413101882876bae5b0fe7cacfd3a7442c0a478c09c0dd34dcdf6e69b043f82b6672ffa0ef37593ac6d6004057f27c25aa58b1d9aeadfcb5313611a285d6189bb0453b0ab51209910cda7994e9363dbf158ec1852116485bd44e032801be39d618aaf47f5b43a30e95f750a296acd78508f3d49d0b64be85d9e3e9db188c38d5341437a50de567ac9109b48bfe2c8169398a8af0361b1de9266084e40a5184e39304e0a5ed702def4f1dfac21cb1db0b5eabd15f5d06533e77f4863538a09839b5703b0b3e41bf8f5e9298e60c47bbfcfc15e6c22b66616167d9fe69364118139a3be7b71c8c64dc19a65bd33f3a2603009646e77ab98f52ed24089b4ba5b0fe9dfa7950a2cbf4c04c0710769a8d6512c0460b14bf8a9f607c20d269cd0a0cd4507056db6883aaf080af32381dd37b3c0088b952f7aeb0046c1acdca10bf36755f7ed54a66baca1af391f4c67354387532bc8edea66ca86e87ec85c58bf3fb7d43967f0b1ae6d7afcabab798c152b1a506e8571004baf7c1b1f5575be5d9800ab27d350ca96bf0b1192188a3537b8130a80e8d30aad4b0dac1df607a1a652b5d326ad2948089b27f4f0931a42358d49be785c94dca52413488c3190e3113569ba3e7de2021a744501fdf6b2102f4afb6100de8e36894f2bca6b9b924cfa073bc7eb92090ff0c882c1b26859b8486944e3a9d3318e04107aa9ec9fd54716a14c04a06ebb755a549bf18fcfc21151c5ded11c07178740f21bb42065af0a0d41003c25dec174606fb3e49cb5005658c4badcb06eec2f10b3a8264763cc3cb1a9e05dbfc5d65dcc04a6f7ffdd7525f495886c851b175d8971284846f9153f8a0b1f643d1ff78882b3550047573a905f2687dc161a2963f68db916a64c40cd09b7f48d167e84c3ebe426becd568373b85f5745d3bec9d2a5dc3db4613628d66263d678b0042b5bb8d2d587c4230c5025e22f757f751e89a77b102e0b646bc967f75c0fc90a48ec20844f9ab04d0d63b04a6f8cea3c6c4765785fb5aefda4fea10cb4cb127e1491c300fb0f53c37bb13aba4aa2f893cb71895957841113b52c8b490412089bf3bf3a216e8104eb440e1a652fbc39d2e24e813d3852c2255a43099a51ffba72f96bd3a29b06b583bdb165a07dcd46d08f0d0681886868bbb07488e5f250ffbfd1fcf71146bb90b3e0ede25a0f5bf7299b07b74eed3e2e4976a11a71b4e27dfbb0bd1443fb7e99ba5c61a8617eeb4a0bae711cad3f984efca0cab1604960ab6c23416b2b477867bd70dec2ff5716231c7d15092bce8b97c2d1862f2f40aed304c8e0bb0a0d0264cfdb937b8af3c9daa55ecc60853fe44390c4ce121924bbe586e3fff24ba72ae89cc2d92cd30c5b563b31fa5f66fac286c5747c658642029537c15026b5e4f529f827d7305b3f414bc7341a77e1ba1d329ecdd78762f34e659e8ec158543c7f3d617243a4944676f88a2b377fba2b317078d4efc253a3af18440ba5eded39e8f741acab73ad4270bbb3d31b13837543ba79b9d13cfdc47cb5b637565afc89985e983e4763f356189507a8bb3540685ebe449a57031c816dc6724a68c3262795e5510d73562984f73beec75bf8d91c002ce2f6cb0fad06f325d826a420415d9f3eb518887fdb306c1863fb05d6da64445bff627342f2dbaf30341b8a03bf2d2e86bc1fc9ac1ef468ccb8f18b12d6edf67c4572085e6f8506d4150eedb842440379906500c9878a48cb96f57428c69a0d8106dfd3e1259e2209ebe494dc86f691e460b3309492901f1ce349633d654ce884e5b3ad36356d02e3909f2ae11b058d058d4c07f303ac5fbaafd91d890058bb83f49c19872727387c1fd07f58d48041948aa4042674c34716632e2e41bff5067da4d2c830d0e5a45c4874fcf2a793d835a91a89d640c1c3480e868cb6d6cd390b1c08c31765e1d93f7c14184174b22417bce9dbd00f611e85750acc5210f3cef73def5415dee98754b47ce31793c2ec2c596bdd1a98080ed726900cb758457c472270ac19dc856247e6c96f86d4d208160e2c088dc4767a512e0f1adda70cb31ca1c924cf69259a996e2739bc68864290ca2bdfb85dfb1ef7bc75e77ac654563a09530415c07d12cc07a4010b5d3c650f305a6ba74a2e709c8649e0b4f1daedf9b67f1c1fa3b474a59dfc3183e2b213728929d10d6b53915d585b3a35c1b66ca8ec657e2b30a7646aaae9ef8f15e669203539ceb6d4376c6553df602244e646e3378c81201ce93c63164e08f5557393b1dc811d9599a988d0f580f3e01cfb20a28f96febb869b43aae2524d0857f2bdca82aad6e8f59e0d6d6f7252084c8f66c9414b265c97505234daf6d192216fe07e55faf4ab487934e3103b9b927de991fc494593b40b831f4cad376e7edb600a9c05376499a3c5c472ec68af17652345e6a82097df3933d0bacc281a87ab0ccb0592c4df732dadd981c57eccaffc258b4c3080866fb7b4487a805025b940c7b4bdd59c7887471edcca87b57f30f1011fa8f0f1bdea78ebd40e0f273f2c0c2432395b9cc88220577f15c76b070c8e08e02323db1058c1cdffaddf274263631765f183b4a678d8dfd064521b4798213509973c792114887b53a7cbca8ffd0004af22c4f27869b474686cee0d824d101aef92cf7cef58201e92ff74d0455d1b7e34b9b85f3710f52cb6efe5052a1210810a8ad18b36c986128c97ebd490f40653b400f970aebcdbd920033899fbb4add62a541350e0fd420d4a1a6f28c52baaee016127347d07981de765a1aae062e3c9fd6810c82363760c58e5e5b095c80ff4c05fad425563367317dd4ab03ec9592b4ad0f8b6988db514ad75d1824bb234c939862b22370433bee2cf18c4092d78be3a835afa12fb7651b699f52b1a4e94ee6bd4e1083039d04ec7f892af915908ab0d3380d7341150ec552d369babd2a147421c09b3cb267fd063fb1fb802ea9ea009c92620989ad1da0b1615df7fa1b1bae54c40a746ae80626450bb9f8cb85629b2cea219e18a1a586840fa105888aa1d5a2848b1e053ad8ac77e0c9ceab211662c885e2db5c4128691e209966c0f43222ef83a8206a1d19752f19f97158ca3dd8dfe228905f883a70dc95efd785e47b0639be719e22d5b8e920dbdd8f6fc342761deeadecf065d7a1843474fe6171d9fcd1dca14da1af5cb15608ccb4b02950bd686ab1ebc938b8758e0c2841a2b80ebdbac18ffd92a793ffb0a4ee5f2a093802c073c38a00c9de7d1d5744f447e6b2ace69be43aacbd362d696588d55e62cfe734c430d0ee3639742789f0179c41cca5e13da1a47b501e0d0fdf0bd0f23991cc73b3b8c97ad6a99389c1cccaac4783585953ecaaa45d162b1f407b9603cef2e515feb38d2f3beb51b1f4bc4ef4dd6a29751e42abe5129611420a2eb1521079ae721d52a79353afba68dc089468a3fbec26ec0818d800e1024d9e98373ecd6d4ec83a62eee98626d7c1945408ca2482659d8caf040d2245fbb3d536e5f0688293aa3568d2ea8adca3fb82121f18cc8707c0be58bf8449413efa2f47536a562c5265b3176fdd596b1c02d722089b1a65d73503a50262762d40933298db79818d7467d709537d229244ec930815f7563d9b806a3a55df0e060abd1958e5cd9f75aef3c3abb72530e416e844d137417ca45aa22c9640aee0c319004c11826e76e2c650f593e34b194b37ec4fe44caf84235c422925bd4b95b2e782a5ecd16d297b25bc94bd993065af874cd9bb67ca714f61f106f43f77cbf021ed326cbc7357873e8dfd87b4f98ef002bd7be33bd366e33867cae9e33997ab2c3c61f0c0825772ca54643265bbe0ef44ec55f73d5a7ed1008062592de7b4a2cbc57e4ecbf123359262257de820dc34121813df9e0c8895949e22e059a2fb7e8e69dc7afe9d9934d9592d879e95b5526df91f65a61b2f4ec21db3eb264381a8f1affa102101e1006d0fcbdfd8d150c3290bf41e0663986ae6611f57d34ecccbffbc7da39b53ffb89413f88b32ba40961111fab2f93c37108304c3d850d20d3288bfab2ef2810847c4a6711039cf0afad38c8b6b505c0a25aab04f82cd5c530dbd03fd01bfd2879306b9bafc9e3dcbec8f54fcbdbecde7406e5633fc29c920dc12e45c0a79aabf5fe4e05c76220fd6760fbb8893da90587ce43e2a12f8533c85d9e9c7aa1c348729cc77db63b57aabf75f4a5be8ac4b58c401acdd9a15bcdd3c9bcd8776fa9c24f14384f7b73e74fa23ae9c40bcef8d79e29730eab0098b37955fa223a43ca0811bd26f8db6d82ed7496807e3e9120d1482c0102ffa324e55ce07ffad24dfcb1f37872b19106c3971a78d3d20d36ca22e274abecf89be5be2449a0a138a78d3db95b48422034db2e6131341d9f8506b152856c605e21caf4f47ebe111e49e9a3e9e05e6f847ebb0ca349dc4428c3a09ff415874eb4584ddf40cf6b1576a4a3582b1d43221a27ee86698b27d513733780f32f8ac15b113781b5b00952ae446127aaf0f4a1da332f97d636e24780c90008570eda64c959117f1be464fd4d581296facef694cc149d07e06e47bb896518ec715bf5b5313d5f8f8c06067ee3ebc75eb5c81ae344df586e21e74847c38f73fddf0612fb459cdcd67ec1be6e0cdfcde03cf6f7c72dea6ce69834b4fe7a2aa235d73b055aea73b1349a1a01bc98e43b3ed617dc51a6e817abd32e1cfb1d29bf783c1ccc2d96df5ab22135673f41228bc52b685f7e7642636ad1ea4a75e9dd95dcc756126ce537c66c28da8b2472b1daaebe2bae34669fb3a9fcffc5f3090c764fa468f81c022349a256f4215eaea62cea6aa6885260ba4c5f14b6f88de2d35621c41d8b2d7c38e21aae9887976bdf429c80b378e245a5dcc58df022a4f2009c02f59b11b5dde28143f5b863575ac4c5e1d1737e2b74df703bfe83a3a07360a6c7693ea1232dc20382f49282924ef6ec7752290a395f43fdc43c8966f71c484ce096d82c3351e9c1419d102ecc41710e5db36aa9cca7bae6f6042ff3b5de62414829344978f947a6dbac05d3fa6bd47c680023f00a2b716e7f400cd1a75341e6c32379167c82fe65e428bd64373b5858c4805e582ee3a8b0b5ca711517e543c30db11a62c659990492f078d31edad2f8138c0de95e9bd32cc54566e2df78b883598d9aeedfb7a1781a80ac9153607780c7e14a2666178ebcad7acbc403f6a57312301a03580835a2b089e97c00930c8fbdc320c714957a5ac83ade529a6e0db801305b403226d30f40e1e720a3b31d94af37315ab38f7018b64e4ad0578bb2c65c4c08ea30dc6e9a2323ce6a8e73c346dffb06574cf7a2d61b5bdb96903d78bf88b330e98576fba6e1f8f5d4d80b32586b12acb69cbf652e9883a1b9aaec1375e7c8ae1a11708fd1867aa501be884451cad704a04083e02d396bf72a5c3d21f6524e712bb9965ea2ec0507591db30a5d0df9f6d04f95b3a39c8b6d8d35ee8ec79eb70ddc8e213e22948d50e2b424f38c5f47cba5dd8a580184996d22c703871d1392bcd4cdc3ed94cc735a5ca96ccb0550a0206be8d5c3c447e32a174bb918b26448685c5b668c78003bc037539ffc38fbdd88b72917926af4581de54d7d22caa6b25a7ae49432ef1603d3f39b331753aaf353e7353a48982ef44a4e41aedbfefddf147e54e5f79a1197194484889c6a95f67c366484284d41de96c8bfdf2d63291b23913084d0a7b8fd7d01e31332126ce656247b25eb5b29c80b07599482cd195b6f5c5ba72eeab1fbacc903d79cf21e20faf531060cbf3ad86f8aa90f71e84645520af64469ae296e1a9c70eb8c2b003ca054f5d2f48f07b3ea35f7ee27ea449ed5ee16ae8380ac9e447ecab3c5ce0132502360d683e1c67c9e08ae67702262754c7e8f9fac9f82407fc1f7d72add18062a4449e960ea5defdc345eb919fbc3bd9407ca996ca252a8a25a514b0ec1ac93fc1b0ef893f76a43da28409411eb878715703e558f75f9469d386399abb8b8b8dac1f7f848eb9d8680a6d0652ef5bccabe958d14a1d2bb3cca53664ba07769d483bfd3af03e3fe3ca83b49fae14d95ea2e5b32b905cf7aaf88b3b0db663db2f9cd4c28475c2b87a5dd6b2776c6c82be51ee066f16cf4969fbd85f01de5578df771ad0bb5a07ddbf9eedef3be1cc5f37ccd19788b24b12e0514c6900c800af6ebe663e32a778870a200ec8b45af6a902e22066f3ed2db9e67b5c63e71b1f6f21f070e12ee3cf53a782a106483094da7c8edf2656bbc8ae5565106a48d2c6c6e7751b6ab26516786fedb3c3536d9837baf49dc49ad4289f74703647adb88d9a1326763e29b70946aa62286d65a9578fd320752cbe0e6151e257df7dc8ffdb3f7deeec8e7f5caaed2512c8fd621c51d5d38ba91e7cfec583707201fc589473baf22cbc660426f347ab25f6e0bbbe4e6d56928e603c27ae3c8f9706378c1033fce3d76d0a40763a43d2e9b9dd76fd5af067e0557910f1aa0fcac41837f349479de087bc7617b9aa1678547a34f81cba3b8155ccdb520ea6e16fa5115e9041da0aa0d07a6754821c1410ca5ef8a45499d5ff364aa26f9a1d92209734339871a388e74732c57704bc659638e11794d838de843417b37e56fdc1830c7058b09b1034cbbfba0650482999de7db208661cb4c06f47700a23753ba4bcf71d94e560fe9b78151ea5f40c9adce3f55230668712bdb7ce72a641b5c297407043cfad3f373fc6856f8de13ba99652477d92dceb7b8ab991b85ed9309a5b1eb3bdd31de01ca2c36e3d608b251e466ec4a82a17d70c323b0d6c2afd3eb20801bc4081a49fec5a6e9ac6f374b95f4011658f4559c125c779afc34f2749789cd59fbfc52c9654889dea13ab59f11698dec69445134225847a23cf03db59cf862cd16526c904a3413eef52e820638bca3f1b58d78b0d970d4aa48a8a03bde02f9668f2236e656b80551cf62b91cba3794e9f0730eb45ce47283bf0dddfdcb4bf83ae543b26454e9c5c296567ef5bb930dd648354a197489d96e6a08485009a48b01049a01ad906b37e79dec844249b0e91e5f75bc15f01cdaa0b5a860340def46e4b449a4aa5521b749a1c0f9a1c0b9e1e000ff968070dcbc4cf94e71334c1a8637f2234358adc29a5944906f800fd00f9003d0890ac47d412ad163165ec1df7a49bc16e65b6a85871495822a20a11806ba9b632315ea6d622ffe74943e3678524a9deb7a2fd97efbd554346a526c5da564d4be596b2f8bc939a0e255a6b4248587ee7112d1e39c93ae70e446fad6b6c6cbef71255d4c4e4429ae8127d4ee5ea63769bed5cb5c1948d9a74bb03e568e704b692cdf976bd5c058fc83481c77e26ff95e41c1048393aaa20337d8ea1ff02c3c0be05868d3925b4f96b80fc616e4ec10ad7dae769a82be480ce718a5a86f1aa3d3c4fcb3f4214bca9be19ef2d63eccc64ce208254d93963c900c47bf9f4a34d3576c90597c9baf7ab3f4b9c7d1de34f9e13e5417d69cb8906396ab8659c63764412167bc1db0e472cc651335206e197772316dfa81d9184c55ef0b67b61f14b33521a7bc19767cae21e9bd2d40ea909636c10241e443ba63c1d17b89b0f5858ab60260ae8a1bb57b7d678536cbef74c18de3937a6c91961f7bdb341fce97d8fce978261ea133d4f58efa1996c7859750c0da53aa10834fe50a6b937dbf55dbee3edb86597f3b3c8f64040dd33fa7e1fbd9c8dc9a2b671ab8915442c603a2c7805900f57f46644c91bf9f482b78063988ef57c9b6246ce04c06c4e648d7aa8600014347ee731b399714c413729cfc645752d764687769d7550fb09a4d816d37080312c1607b3d3233e0497662ebaa400120a5e2820055d68bffc040874a5dc4ebbaf6edb9722334093d525f2aba822f3a802d3e1fb79517a14dba7a277100543019aa0e0c8261137259aa0c8c83b0bb369ea509f2a6827b762f4d6ba947cf9e0b626c6ab55c17cb4950f93bfd497bfc2cfaeaeedcb41fb52994c5efd2f15c7b5e17eeda799092c91302110c373ce7a67b773d3e6e9c37170782b07ade9dcecc878d7c9f99144fe8cc51f3c4631446118411e38010946a8d4e45739126de1afa24776a71fcba372f9edf4d9fd806831d08b5c0a8bbb9f8e998e1b72091f7d423adc32d6cd8cc95c2e8733520a8bbbdfcfeca68c7f64456410d6f97c64b18f2d292cee7eb81a4e19e364c6a41091070c283f5993ceaf567b63e396698bb42d656495944a9232827e9fb3985412d3344d086d11039e73ede7dd276233bc350f4d778410511bb507f2a7d5bb59c29e30f4d101349d85a88dfaa8838e4af8928ce82fc8debbadf757412bfc0ebad6c9c904562144e8053916060c2957679686d4839d7576711bf54ed3344df9be5024e5d280ba40e4a34a2cbef6302efc39ab2a956aabda429b5d695739cd4c6e75812697e2c336059057db48d3dfaefc2ebf8f39b5dd0d5cbe6ad427d6d5a89aead33a93a946934b6b24be8cc14a4b5a1126fa1625171766231ff2d89fb22c9ba24ecf3dab533202d8509c9ad2038d27d5038639a8e346a7ab0353960960482414284994e424444ab17c63c15248451416843006432906c110420841042122208418421c41648aaea8031143235d5633103037552b1d949959add8f76ee41b9a8760387371707e4e875bf186bb75b844664ddab40cb87621ba79586cc647aa665a4ce52b1f88653b7d09ca4b2b1f5ca5b55ea692a3c825d956a536a084db85665a9176f7d26db5871bd0c0d39f8480a13a753213cb2653c30ad3eb16ab24faa877fa21527a341171f0737b0014a95c3ce2bf28a6ea2b402e3284112613b743e325852448272b58268d55d166550695033e9a616eb6a24846886080bd25f13a3887c5e6ee5d008fe542a4bb552c29d5a35dbd88bc20554d6cf1642ae470df570f64dc611b538660e54c3a2c92c4b6dcd50b008bd7ec6f11fb17ec83fda3532812e792de839d67291e769e53995b85f402aec2a2142b0026800e4328d23dd9bc2015d6e63bf85725a78dff887c0f90f86a3b8ad60ed6f7c63bfdb45ac0a8ef93d8b61721db691e9401f8679aa1281f7e7a9e87dcff95f620c2025c37165a688917ad5b77097ec35e838b0ba63f9b1b6118986d360847eab0d7acaea9d82b747b0cb0d4b8a3340acdfd08d3957dfaffc32836407282a800481b859fecf1f013d5a03f84774b9fec72eba4090e1b289876389e1e37a8c004c34a4925bf77b37188572a38b2a582d1ffb1081745092998cbe992fe64f6a842b35c27583155987fad93a049fddc810aa6ff9c0dc030bd8e65406587767fe424d6a539a91fee2c3c1dd05aae6f28402f67aa596c9991e41bb50e1b4b02dc4ac5d532917e689757b96eb706ab0ddc18a929705e7a7b4e903336414aae025e5485fae1fb506810ca03632d5883670ad22c07a4a1dc47275e3b9e975b99634b844e3909f459976d2e42b07372fd084438036b642f91f73f03ff41ef029da85fde654a4f4598ada702ecb63bed40fd18f5c32df3de4b73547dea706107f6744ce56e237b3f1acb89af8fa665ff6720acad67f74b7d731a1bc5d8df9c6cbda88b076135506780ba25876cf9324e96ab90905619b9618cbf3a972e11125a1ae01be9a9fb6d698fd877919ba3d3343d1a9dda9e23d93233585d7a9cfd60c051f45ec5bdae9f39242efaee485933ba842fa279e922f47e5272510d5bc1dda6cceb784b84d15f7d244c849112105b806a8fc3fae9ba32af64fd78dc5e9a3c0bc5465c4ba105dfc93e7bd5c72eed45fadedeb856d7f03b30f2d321f7ba7fbe3acb38b1816bf704e4a37c6f50c4f86608b511f410505cf6cd026192f6100a3e7cf3be3ae808d3e756b0b4b7c48721b18dfcdc52d93d98ed5039eb4a60c02a3527f37b49b9a702b176ecde002ee49eaf748cbce1f9493550b2dcc63be94ca73ca4add1ed2027063efe8458a29a90669013fb2185b3d3522596df76d573b15409295dc44b04e03dd6dbaed7a510141e9d390fe57a1a6d49d3dfc116b55a0ef5be1456cced2e256a8c06b6b79a88c9e881b563396bf8e638b87f5f2d3f167d59f31683501b474b9061ea2489bbed5ff69aeb1729233c3b3e017fee36ed4b7601eaffca49168ad805e119d387f5eefa59b4490c09bf8cb775a9071590812c7a3e0f6d79960726c57f5cf6005af8b3bef881c775e8e58439c92d7f94ac6c4bc75f974caa94e8c43b8fc4f5206d2fa37a35560bb80e39a8f2a7de5b3b6478c9fc7f7706cd38b94bd467adfe7336a92e6fa725f6b2acd6bfb15303698281db15ab5c4f7639648bee69c08e594d310d3a743c1dea7e4b60f9341b5f7ff7f96af72e4ee8f6e308399ec22b2282b25efdccbb37d04d43e9f6e3b0a54a9b57fbaf4267a0afad26f452564c9fecd27cec53a30e329b518b9483d3841838d6b39ce7fba33ba2b9c5b234fa0e1367d0d89dbedd8b3f221718923c4d1c1bfe2d4b21e99b1ff5ee364abd784832d0cfa8a405b639bdaef23d7cad7979c56f1ee6c2d147c6c89f38c765589ff80b791c35c341e704edb1a3db243a640c25c0a97f91d6eca822b672c87b28bbc04032a3d6f7d674c8dbb2f62dbf2f66d4f324a83756987ac28444c679fcaffa40395c7a4eb8fd86dbde3f38703dd14cbd9f2ad820d572870b331604f6e6083b21249043a58f2819a9d45536ef97b9d801b74af3c306ced8a6987e6e2d68684cd87ecc53ddfa96b96b0af48a8e1c9e23c337ba68724ace6c6df01d7bf01fb67273a2af8bc2a308606e9fd5a1c35be29fe545b81bdd1a91ae0d1f3d5cbf4e2d77f96224675f1fac359c8993cfcc73265c8f4d84ff19633f30e4c399c1455fc89c224dc4453d2755a7b6bd952095de358814f6b6d19781565572fc2f5387a2b2536071928908ca6a77e0d3f60cf4657736f0b53e054a164c2c9f3fb9f4fc5792723412cd4e561bb55f80a401d5c43cf263730afaaf3b0778c96c00e8b6a29f99cf2bfaaf9c8bfe51ce893eebce059a406283a6e24b1433322918834d2782dca4a6efef2d0fbe3134f0d69c8efe57ce859ac628e4f99f6bcff7daa4680c6e9a203232593002994c4fcf9228f8af9c15fdd0ce89fd56ce1ae055b21a77485dbecfda3406c8686343f9309072282fcc37409e6ee6c85be8baacec590509116ae241a3df97e6c1d823d4cd02cb23a16ec54d258ec799b028eb0e217bfb7448d1c62f4c54d33b55b086cde748747aafa141cebc10397b4e137cd638f916461312a64d16bbc010bc0a11366f68f5273bb69ba8d1026df2b4a433d946986a3abba1d59087a41bb7388ba65b98a6844d6408ba686ede424cbfcc6deb6fa20ad77f23c88bfabde58b66cddfd29a001826d8987f9396e4abfec783c0fac2949bd79ef9c68ceca3155e3420851b903b38d9ec6a5c180071042de430e7d554e23313174444c7f077a9973a2d8d0092ac855f0cbd55e0c69305f85cb43a3a7deccd87f26eeb13d23ac056c6378dff63b18be032d717248e89c83a3b5d30ca6f7122b295dc37ddf16311d37166d7255dae6166093a93389da7a8ba5bb228b2e8dade2b9e8491bf30545ea23a7d3c5f8dad434c141a492d38798c86e3e66859acd66964882c09c5033785069d9f37b60293a41b569c2e6c32a704761b8df7b8ff297c44bf097a4069b4571813c4d282b0d99a917abf433d401a78247a261fc8dabc0f90c7a87acca2f6d6426b364728d7438cd3cddb7ef8d1bcb46a0daa1ff529aa8509a8212d69a56609a10ccdded4dea82fa7d2381107481aacb8cb29e0551309c01059f23b15c9750e552c25d238ca20295fa36da52c4fa32ab01d702178dd35ecb63cfac70b960cbfb83fb6ddd545e2640d43194313a97aed9209819354b15276be6e1bf225a4560714ee49d2c16283c63a808139f1d04e6e2d0faf867654867ed0563c6890a559d1ab674b78d75da254c165aad8d49ea321eee1a034909ff8f863e301a979ee29b7940ba4f0a6f787ea6aab022291931199ea49ab42e93c3e1ab8146e67577ca0ab385bf8bcc44c8c6d06b9868635e65a519c9d41f39e3e3716918fa2f1aeaee1f6bbe253241ea6cb0efdebcb86b912376130baf2d0becfbd8d4f170abc2e5a73259676e7111baaec3e838e93c4b73ed95d6890eb26097cedf1f4ef34b75c06889fcda69b8aeed1bf3ef11db970d622b950e2eca0ba24ac8d7183893c93b7d9640b46e006a795ccdceb84cbfb5dcf03f6262d2c63ba5b2381b861220187ca3603eb5425265ac25474585741b8566ae78cb79d4bc1be0a0b1c0bab9e0a88b8688c6b771098a090bf7f3b983b81c5c5891f8c5ac7d63bcb2b1c5592ae10e1e848c8e7e0fd6ff6eaf0d5ea661f5e4d19bdaa6ee6111e6cb6f4d3261433771d5fc46e8441e0b7908980549ba7455430c5ac6483c3068167d2404da96958afe7a0ce0e5c4677801ff39a0053fb12b07d6664e9c6fb610018070cb4fdaf491b95f29c42535e0698c6febe6331883702f92adea2f4fdd3b74147ae1b7baf5d0d58d1b24331a202ac7a2febb7d4281976d96ef294e9c81771b0681e8c92d8255d631e9108085110a036bc08f87e47e0818deb4cf417c09e6df7d3485ffb70b119eca3ab7ba014fa65d66e4b2ba005ec9cc611c733e8cbdbef2a4015d80270f6eb236e67007fe67a27d0819dfcf8eff5cee1e6f5aa7e4e8b009928c4c01221de30487f5acfbd3c1aff30dda433a7e6f87396376ae548ed3197d1694d7c7fce3f047601fe533b92cf697a20ecb351285ab87f5200bed25a51fa207fe130ef7a59a097454e667fed948c27e1aceddddd1150562169e477dee5b6d4bb5a7b6b98af8af50694f0e8ad88ef8add4b667f340f711c3f91a43a33433fc5d0b6f28dc7ffd7aeb54af3ab6807a8350bcd907111adea1720e70d927297d4e597f9ecd9473d23617b23417200602807d8e14d9fa031ed74da09efdba1d40f49482dc489159647eb5b1bcea05ce4642c81365f93990663de2d6a4a21a305285a22b6674115e5f6c9869fe4e23de8c2884c1ac7685e602047982a46671a10021c34f2b19bef976207849901eae2942e4b40a4713a9f7af685214c4f8b5182027d724d2262a05300d09acc441645680f546d2501b667dc0f49ff9a3cb28b828f751e41a14fc4d8fbb0cd0160fc100ff4b7dc7b4bb9b7dc52ca94a40cdb02b502eb0246d38ed6ec5b4c5560ff3dab1595e6ba6b1c71bc1487394d17ca8fe7a272f298c35e0aa7e97a722a8486e1fc07d5907b0e7aeae9338b8a48083468e080030efd57bc41d3e8a59eb337393d1af747339fb8f8d2cca5f7b2ad107da6a85ba0d02a1fb496b9e68cce5eaee931ea7bfe7b9eb5851a29ddd65247d9e95d14b9cb5dd9c9c64603393c0686bbfb97dae2fe7dc0d09772736b500c5a7aba8b05874da7e932f22f4a5911710e8f396c7a1fee4eb7e341fdfd671b0f84fe3dffd5501a5fc282e44b3184c270386f6bed23d97cb67a2b1207618fd5951e4c6dcd057e90758bb7848610e183266f880e4b910ec29016abb2ba56cb0e1fead3d563fce2e0d6183b1f7846168ec43059d12a2511d2d883d1d6a1d6d9a2a953319d90a90f4830855e5a86075d83c633a4d07cf367fa4e645a87d6eca4ccce9b4ad9a17b0ce2492d79b7f5adb5528f9eb01041041121b44c137cfccefb3248cb37d0d0d143dd14560352118c65946690a1d81e699e7ad8b4ee9b3c61fb6ad952102c498369a026ea2f96043b432649e98b691a6a2ad16a6d6c3c4000599af5ad7dfcd5837a93772adc96def9bbde7bdf686e995f6697196362eed7a858c47994d072fe4b718412ee64c242a3094e12d9e3099933336832bd56c25399234dad8242988cd19e90478102722db2d209b5fa55cbb5865aeda175559f54092a953a424da1c250876aab1ad59756bfd8b774ea7ff1799ea6465a0da8168ad5a668d783bb95b0712d70b80ace44b9c3d2792eefeb42c50f2969930995b44c7a723fdff0309960c4eb0019e914a119f6f8cc2480c14f371db519009593bafc8ef4459d2cfa7e4e45f9fa3fe7a479e77cfa5ffe9e53d366a939d39c88a12b6b900902f19224fe9f76d0323cd0493bb8994dec00a2150d8dd477ddfefb69f56cbdbe993f94aa1877c821a7052d3ab06ae536abe5fb174ff73cb9ed6f2eded3e59cdc7c250a8ca0578c389794dccb270428e93658ab69b5d66a354ba594922232c6e6b9a0a70c2903f3abf63594855decdc1ca93d3d75da2d72566b95ab9584e2d43390cd9aeb943fc59fa8bfc2664cb57df3f9aeee9bd64a7d83e235081510b359d5beebefeab5dabf42a9a6dd6be9d34aff25fbff6f5afa367a2822cea8bbbbbbbbbbbbbbbbbbbb5b777777777777dfeefe38fcd72cffbb22d5c7e1abcda2eb7efb8f54edffd3d73a85a4586bb7b596fa6fa31db40af35504739a2e8ff521871cf309081edce5345d4f4e5cbccbf7272b14d8089dcbe582c1602e0d03379deeeeeeee338fc0ba5a87e1dea9d46ae582c1e69c734e28f76a3d07b1726582995758199351138c1532bc198761191614b45aa5527bfbe675b7019fb15e7328dfa07896d6cf4243c80ba7ed30d47a6e9cdeb4cddefbc2d5de739e2f3fadd69cfa437d473e266a087db2dabddbc671db3644548471ce4c4858d7198dde97410d66a29a9a5797231b1b1ea29b1b1c9c2f12498c3ebac1c1d14367b472c2ac939930f22f675d741173b4b3b363eb0e8fb556eba2bdeebd5869c4939373520f6f5c6b087338e39c3b7f14a75f5234964f5b6efc9ac58563c682c7ce9b9ee7e52e7b44f89bdff7c9ea69d6fcf1f2978d7cd1468e7011445c1a0b4ab7bcefeb24f89e3e308320e6c0ed6aa0ad200852f0419f20287d509f53cd91cef2846f81116c025791da47fd11d8f734fee428c19a29584cb6349b4c5f4c30d24c50f17b46d31136ed3f52d290d55018d3121614ee558cd2e93c1e86ee3dbeb7bbbf624c93e95eadc370ef546ab50a7a051131c5eed5daa709a930944cb2bd949aad1ce5db6e4dccf76efb5a141391bfacc6b4bdeeeb258b2dc966cf84c0d03bddf7b1a81742bfd3fd771a20cc1f59a4fb30fd445e0e18e4bd8c1363fcd66a5348cae3f7df9c76ff9d455b47e81822d38e7a54e3beed75f9f3eeed66bd75c39b76b71d865a6f1784aba1e4964ad8692054ca2529fbc1dd7d90d002831fdca5a568d747d5f70938f4c6c6e646833c487ccc31dee0cd3def7c350d8a775d4d27aa56db8fee8050ab7b55288a548342cadb057598b5d636067fc42a3808459141a55269cfd376e38a45d298bb95b44ce8b37c9c83432abdf7719743c843e73d4368d26305f2117530ae09315dea72c67bab58db389c3bafcb178b178f18c9883def6eacddd16ab66eae5dd1f3b1ddc4ce6a77e370f6bcae763a86e8efa68ac3df87ab804d90b5cd494935179b3a39cde934fabbdee52e93fdcb46ea2c67513a8fe651adf368b4af8dbfa7dc53da2e7e80c36e6e1c26813478435e31515096ce3aeb4cc7db13de9ed4925d9f5018aa68417a186080db4cc73d9f583ba9873cfb0bde94d2cd811c9aca81b59c53cafd74de7c694f1074d34d9d6e245ef44dc8537d4ff7ea2e615cbe6f8a8dafa5ef5eab2c3a62b56bf7d5b65deb8b3a69d255ccab8b38292df34576ab960a2322e411c488a6a5d131139691c34591297096b8c96273c415af2610b00e50c3a17d64d8785880dd119797e8b096ccf5b06d46dc80af1f5a9bd994e1c6c85b642f1f978d88acc068472c3b703c817726d8d999734b9752cea79bcef9bfe37372f999c3c7ca18157dd2cbb0945c0bf242f1bbaf2573af956dc1425b6098305286863422ad48b34e8ec00a698b14638a0093c61ff6693fd1d4e476e8bf9743713057ecd56950a37094135fe682fdb65df13596f5e9645ead6976cc562c894c270364f0df50f7ff0f455420260d73321a17d75c44e0345cb434a050f2a2e5c61520c6c83da858e30e2425d0c0828b6ee326973144973038315bb6249ab6707888a20408d12cc66570718260a2ae45d1308658f2d2199823254158f49daa20bab68ea636dc0063ed6660288fa594a7f15a8a5245db56a6193b7c11258aaf55d3529a15af0bed8cff5bd386b6f0a235cf08f3eaf10cfbc38c8cd61d4e108c2364170b4df7367c6617ab58a440d2706c6ca90015ba68a525c7902184c522659f161c565c21232023be63b442cc1a9292925e61b28ca93fbffefc31b5fecbe8ecbd3a51090536ab8f307b1b5fd41beefd73859024984b7487baa35df7800f06b5487d7c1c18a593229b26c949e2e3b8a3d247a49fde8eb43dd4d9bb39d79db392feb007821d0876aebb10b6639e83362411a7e4f8606001950ca8ce566b0fc5c14922e64ee7edceeab4eeb6fb0133776f65e18e0da1cec620663c3b1b4f4d9ebbac4d90eb3853ed6c54cfced9b7bfeca8f8e808202e215ddd798f9340ce284df95054bc460bb0b9254b96884bf4122d474e0be981a7e0de46252992e3235b4881d533b7f6942851929528d1b4ced31e8440b5986bb4f95dd8e9783b157435355a9f8082dde04e05ba46a34090d66c0c4a09d2ef6ce7f178d635e196743b54e71bbbd88914a0e16a797326e5bb4fef9fee9554b41d5954d28fa89a742e15b0fa695240939f9584e293663cb56d651526bb89bf624544fe2a1acb986979a2dd3a2eb55b78d67c96e70e04398c1a729627c9f1d122abc90e40dc4a8e6c528b3e4c4495771ff5982739eceb668c8708001e00886c2e227a171ae5485a10195adbd87136f212c9a6a189ed307062b537077325feec1f2d3751a17288c2dbfe03b499cc33734653f60e807261a2a174494a0cb94e770488e000a28ddb6f028d92e3740d7535d3d521a15eeec132b74c23fc2c79a648cc6c325272437cc44b3effd69f415c738d87d2353e479e14be0728f7ccdf3702eaaeb7d673a3dd2676bb13bf5cbdd50f137033d95ef46a07fad7e46f13ad4647adb0fa588e3558e3cda7bbfbf4dc9868482e1551a0ed7b73d956cdcb8b759d06ea50281025862eee00f69100502c007876c4b0d3d988884130bf21c6b3ce59a5b18e2825cc1953c71449e8552ec6911c464130bb56a16200d209812edd601518f4bd39e72c1d55738742c6c03398e253a80565a42088093033b7bbcac9c9b90eb457a1ca3d8716c900ecb941e3782273831905c8ebb8eab6aa53ed956a9537a835a5fae2680026a561b5557a6b509c8109938d278ecb98842d70001324a955d098e5943f7903ad54df8938db466651df0491f1a8d40cdecb0a005014838500181408c5c2c1304a621807e3127bd4420b06d9c8a5f560388c85318841218462180c320c10608831400183101aca0a9a06e436ea2d403dcc77233c92311809b48cc8253c27c00f10395ec4d5a06300be448eaaf6eeaa8c7a3466424d820dc6d95e459a6a47ec92cbab18e3f54f55e86795da2d3f27cb233b9bb28bdcdb433d8132916224efacf0c1192c11ebb7f6fa4ee0df00229ba1c644c1fda19fc8d2c87365f5e4daccad86407f325da4d5e53df2bfbb56ad52519f99740bc038edcbda76915ae44721e3730169871104acebeb8f286c8f8cad51812455504c2ce673ba74e6253ad826c2c48b5f4c6b66f5ce4291e9df2f920c67f3f2a99fc3aa0544292e057b127e22a8a84a12354f976e322899a4f2a9faa3b99f5ba2006760d4f083a0b4ea6c02a029d9c58f88b67a10f824859458b92dc5a1ca33862dbf70ed071015b6800726b741af102adcac61a74f91bfeb5a21bc64435ee9d23f382b02b3b77390127c8a0da822234841528b35bcf63e30dfb3393c0c223ed384441514f1f3eb3573b8a4b5b152bfe36d8d0ce49da0bed60e7b39211880acf1d195976014cddbd0ac4178364d1c4112c6db403da7a41e07d6d65a1ff47f53898bc87b61951b78d32c0bc84af63dac33be059a6c6f2532b40c2b742c55e57468d9c30bb2fd86c6157efd3968a3bb31e8db22731f5e2c1ba47645dcc5f38a82ae29a6a5c35833c7297d5dde90d2408fdae9b6ff15f1bd6b2f97441d51fae9d9d6412c876b07c4e309ea5551dcac42644b695ffe90b222e3447b4ba3009e1e5500cf354d208d3c364a6a74e47fde8e060f4c9df5845784352d0c6ab46d640f99bbc82513e0037f6139c831f2996c541b8ee6871229b1bf3109fdea0206afef1ab6324d749db7bbdcda54bb29c232c763a4fa0f44bf1a552799b6d998d044dd5fc40e1a55404386b0bc9f085d5368c69e7dc704b082893dc3cbfda61a869aaa6938633bf46a640cc2031bafcd0e426f9f6871167e44c7208f01efecdacda6af9c0c84ce9ec17cf57f4acaa75bf9459f6467ea4a2e62325d146c63176012bc7607cc34a1e607c0d5419b1e696175d7ee43c7a2f7b275f5bf03571e2f217fdd90af25ee9732088f63475f12d464da8cf545a8d23f5e23ba6aba308b3af3c26361ee2e1fae92480e2fefe18ca9a2800e0c3faee0f57c6aa1605840d556f2503968e22acaf49c2ed32ffc54ff1f075180e7937ee66c86ca3513858c559196230fe6c90cf206f419bb44b576e1a3edcb33e6eb699b4860197ddf033dddbc69a10e5a8c171d7fdd216d72afbfcc6c514f9c4898f7e493c4c39d09391893a72b8d56e387ad815b062bc7d828e18d0dd190411262da8549aa9d84dc1e219007312cc27c736efc2f58cc9912c266ce10813dbf58f2e55282a823f979e7f831598cba0b7165ffb6f083b3bdab87bc011bacb656098c3b55ce4d5d8e752c60b3aa37b7f60502999d366b7a485bb369afa2cb0a1c71e02f97a00c95e0c17db027f37156899a0777e3ff56b32f69c2588bd3601e4be2b338a8ee0f91e3dd9eaf643526cadbdbd873661644ba812c5d491a7c4d8097c50b20dee5327171d56094b05adcfae519099d673bd2011bb0491ab7cd3132cff0b5cb9f0f5f0fa477de6fc60b99050c70d22f62662a20ffc47d7fcbd79ceeff48afd918bd654cd4731d5b8eb6113a1ab814f754afdd3c1801e0905d6904a40eb9b513a9a819683e8a803451b9fd53d4be23de97048a8f4d9df17aa6c48801016de738c312273b91e1331735e1cef8681ad4ce37c60cb5b290c3a9e07018082557cbeae75515e7b275d46ddd6b1480fced0ff1aa5250b2fd7ba24f5b1f52f34a13aece4a9da5fa063e4e1ba8ab174583f951e7a90e1f228fdf8aaf0bbfba79df82808b9dc1158c97d8485094c6a7b2f8330692d4e305880cba9412be2c7f0157ba36a63127bc8738164de0da7c67081a4757945394dd3065eb31b31d95523c2f2be1c46b0bae7669fadc5f0cea7e77c14605c6f88cc07769c7be927c53191d07e4f9c75af1a5db282dc5b6be2ef3a017f515ab5ce20e78acb227f9758da8f9e9ca00b615ca137a2f8e72a91c7645f32e2ba4708a0bdc02acb63d93a24c238ff34aa426511fcf0058d3fc74549cdb3626442265c1b70c9f0c88b0723560a1dbbec99f42ee6f6d329d9dd892bc3b56a16746a4a07adb6cddb37d01d2a675a6e855c620ded6f46bc5c8114977fe022a74c537b0459adc7483f0347857cfeb9ec3601aa93a70bc6841a67f35d5fa37579b7741d65a4f8519e0010385b347e5986200af6b31e1c3e314558c0359467346643023088c11a0777f3a056d60ed06ae7cdc767554f549c22aa866c2e825d9ba4aa3256bb2eae5813ea47a8186b5e7644b42d98f8a01e806979588042ccce41a1ecc31dd9eed7cdd8b552a00b1605652074705534001f64da3d860568dbf836bf4e904b0d33b0e55facdbbbc43fae18d056127dbaa2fa8e29183f2325f03e77d9cd87510262be3c727e01edb515730b38bcc794cdac84d1674281cc051bbf74bf791f21e21a173e8a3e66b2abc72bffa85469e05f0f6e49c9de1bcde3b79bc206308aebbc50ba5c1a81c6c1db16732f830ab3bfec4e289de36c597e3954fc3ead9caae0026c856495f11e06157a2c83d7221574242c5e3d308b112044832505482b2395537a12ad2ed8b4c311eb15a89056392f37b0cb65cd29829664cad7e8917485b9e6c4c8980fa9a97fdf461932aacee4c3489f97f7fcbf5ef9ebbf8d292e0c0394ca9c1e4a7b8761014768ae2a30d9ce90c433d7de7056bb74041e643eee4ba2ffa76c413e7b7ab38683a1584e53e0d25536ee3c8bdf8f3ea57e84c7c019363e9f3bd3f32282dec24b242caa4d1576781dd8cd7536106c206c594ceae47d99fe82b416b816f68d105e0b4c677530b3029d95e32ee75aedbb63fee5a039b3ed6fe58bc04a46add429732615eda246eab17ba5026e06efbb1974bd32a6c745fa252d9e5434a961e83c92eb0424a5913b4ace2f2b36d54fa2a160727187605cfe224b5dcf9d9637738f3f47ca30043663a1a82fe88b7a2853d099e200f6b21d3704abce2a3b79ee5d0eb36d0345cea5f2a8d87f13fca37f916c7dd514d7295a96ecaf2e73294cbf872bfb07bc030db096ae63a38eadb2a7b90bb1b29006dc1ad948667f7f866733d2c9d31c575824d0da4fa0e828cf88a58825d1448ea03cd3155eb5287318de553726290760f342f7034b13022fed1e64d745c7d4870d4ca30a6efbb9e58f3e208a369e3006542638de6b0c0d2e85513b0b7341896d67561aada3445b7e33a9e271d5e28186ab5e4b8ab89040ffbf35c135de54a23e1603c9ed3b87164afebecac37b64ee63ad1e8835d752903db573a4ddc35264d84962b96839ed91d19aa95c0dab0d6c12ed3dc7138c325d86843b19f40660dabf63b6fd9030ff7a60633a2ea3085562e4de36309cfdd65eff8a9ca43a3b83fd7a7cb6c186e2d187144102b5791224fc00617b4b797ebcb6017303e75e8780dda16fcc198fa45a814564f7f418db1dbb195be488ba0c8290eeb79b438b218782576ef89e8609b10ef3ba4bff61c7aa9e8550ceb7b9f14e8c9fe5e2ef2dd6a10c2973c2c0dfdd5a57940e51df26d19a57f0b81e71fa671757c63923499364349188651bf727d60e303b36d97b37ba94a7c99f2cd40e991615ddc1de70c5affcb49cd966f317aeeb165bfbaac9f6cd854d399ea32e598a11463250f3ebcb5e8c31d205978b0d555ae99fbef39a7e8d6ec4e8ab1d0b42498171fb7c5465aa5aa4481d884dbee24eaa5cbdca3f72a597aa766079cbdecc59cf4d7263eb442a4c8b641e8cb5be70be7f215713fbb515bc57ad49aa9032491dd542609211f8e9e27b256bd46099a2c6341af6b771919ab0576be0e0f0d387df7d651f744c3f2bd12015199b9f29e12b0e8e8fa543f1461b331a926046ca6ea076581351e2addf4a8a4635e1224f5eb431f1359c1b9432a33af7310e614005d18cb79b43a6ab16720a1924e658d0541173d89cb00b126be70b9e44e7e9661403e8334fb94229e82d044d9a0e6a763349a44ac7b7d8da57ac5682dcefe1c99449dbac806ec419847c6b39e71be50081b2c5ba850649389719a9f4a6dd33344addbb9c4cd0263ceb871ae592b3914c6994d0e16a68babd90faf1be0c233c8b6a42b1b88ac604444994791bb02c0b36f07367db80904dcc0c715823eb55b6c856395c37720dc22bc94e5015e666045f93ee5136925dee28399476a5674ed189cd66092bcd0c63dc5d86e0937ee0210da179335c48dba2ddfbe6cc7e9153f1cf48dae7867ec6ed8856386b3b50b36abd3f333a46d30103a267928aaf8ebdb7a266a51d06ef828c19f66f31efb621e50d501f70318ddbdc0f2621c10a8cde74c8751c564d37572e0e39fc327ab11ddda97547f1fd09a798694350aa46181d5fa318394eb4f317bafe9fa8ce1671ef967578dcfb95a02819cc265531b426f240f790ee6b595e4e29d44fd71a38be9505aca3e6eb6ce839eae57e9c46e88391ec8487698a6756974ab7c5ed17d6dc3985d1ec46de36edf867a94190fe8aa3135168e66a78d9a4d2a81a674b1dccff5b830a6e4d52d1232853ab3dd8e169f324b2bb5fe1b12d6241d85f423b8f4bc3534d8d7267cff91b453514bc5280f0308133d9f03c4022afb1fb57d2ea85354ef3c4f91b4ec240157b5a39d4cf3ba7485ce916f88b9df9fbd7da966bd868101bda108de561c3e67ac24b8e5fa519c377e55f46a4c6f8b09071ab79264c2b0fabac8dc0e1e8454b8da578885cf0744c1a488f0b0d13f5aac05b2e73076dd51ded770632381ac05fb6467302f34d3411e3b237f1b03f5dd1c7e24567802b3292c94b77473a1156ed2e0bde8005469c1de3a487b0d63566026be449ec3af0bfda4921a1736eca0697d17f8658d5cab0a15975bd85aaa8359c107ea278442cc585944ca97cbc36c93f0fa46f64f12a7c5c1c05e3c6b812c7227dd700204dcf4118450fa3cc973c177271388c1b19268e5b3335c564df10e4bd2abbc2e0d33bfd77edd0b7b5bc80736d13f559e98d3328f611a880520a67733cb95d671e3329e4572a5f930044cc31ccd09f0a2936d79b85bda2b184cad31669453f410fe6f34c27e288cea749ec0f6c7d9a1195606f23337fca1a612055774544a9a3151cc91878df8c38bfe6db93cbb3564d4de711efdc2520a2fe6f4c20bade38b7f3bcc3e27cba52bf9b5150a8b3f5025457c4507c472b8f88584a7c37abccbc568885a9960b632a3eddbe6d3a4e01e7da4a747db0bc0a7733d0dee4e88a9f286dfeddbaa7c722ed8b51c0206271b1a5ff8adbb7d678591ddf2bf28f65029f0372fbfe514d8d82ef094c7931d47fb065ee327f1528d1e470ad77d685fce289dfc79150e0397285f3280ca467f4c2f83ff89613bf242bcf1894382708e4c6a0e4b20dfb6428746d7cae8ef924a2e38b90caa74f9e9b0cd7fa8a4fd91a9439f7b5b74e57774f00b30d9d9a23e8ceb34abe7ecb9228c6ef08f4f9a95c7a0a53c91834c6939b1088efc828cb6ec9e8bdefb109e3e7c284d157c6e0f62c14325aac61f6d57a77dfcc20ded0ae880e1c896292c5b72b4fc2008f9309cd01dc69d3f5c3a788f073b38716cf9d0e20ec77a8825a21a9324dc8e06c5091c3c92b870e092115824cd056f3ff365d37e441e6ccf85713b3587ba0c17e0f03612ac7086525e12c0bfb1e9f13b267586b2f8b993bd531e68c28c70833eb6da51b4c86bf23f16c115a9090506e07d49866ae1c715b693c6cc7fe288ec7c3fb7f6deedceac852d6a738b7070b1b60647cb89135866f9d3c298ffb1f11695270748960453fdcf7a53c5d927474b62f91524820c489c150197c264e58c20efac08728498af0724c0d36449f1be47c4c32c674f9838fcc496858ca3708c8c4310a6924984ea2da5a625f5fa488c954219afc2ecd765e6961f69f946d0a9d91b8e2fca36e8cc8717f1425e43ed3c56396895501fa42f5ad552c77afc18e7ce66511c7031298b90fef49dc2ca34e4e5f458efbd3b42763000b3a6078cda3c36c3fde1d0c9eda2e288c263450e748ff96cd4e5d0de175d85afa22c54c51e6da44440cc25408384d51f4c5a6d178971344ef60d487bff9aaa6a6539fda5b5555bd37decda8565816b0def3e0c22fbb31cb5de1a68c1c8125dbfdc8322d96b0fbed28a61683825c185716d99057df84de27a9fef4f06607f9a08489fead5469018dbf419646f0484c388d95719db32a248d3125bdf429a3960e0037eee853c5b9cb62a00441ec268b729b26174237475bc6210fe1b4c913dcb7d7ff2ac8bdc88f0ff9ad17fe859af414a7b6fe910f9e0cb69587e32f80f370332d9a3ee0a8dacbe3f3413e1075da89cebb8b830631cd1d6cd03883cc49c9c03dce381b768f4ddb68852579587691baa79f28e99bb330f27ec3e80ee58ea67877c76e2e1ef499ec0ca05765c02d91bc714681b1be786c1271902a6ea1474c0526dcacd4c442aa64f3f9bc5649ba933e5809a8efe3e175465df09da0475ed10d7e412d6eedf93cd5fea3daa134a1e5f3c2475f13f5a4a61611ebf0837719054610d8afc2ca7755803d77b65a005d2c75b562570d6699b5d608604348516f1c8241cd2291c3b3b1f866a84a5c395b5b29fc218d25008c8fc1611383c26ffdc6cbfd7e11f97599e30907dc56745c25817f70ab8a8cb539ab2f5822683130371e30cd3072a211a9dcf7e7b4f086a3f2bf386e22008c70a3ad43a39ccd5148cf26ec10946f24567ceeaedbc29148863e6bb7ffe29d5655643c780c489dfc3b763781d9106f6fb7629a230a51693b5a051a1b8021459a2f50ef0c9482a2757186195148fd99f015e69bac7f173316e9d5f43db1bb89f471cad860043beae9fc05feb1450988757405a6727b5037bd14db485b2e9ebddf6e9d2e91c0bc63781d01d599ec6e01e9cad02fa0d47ec4c2db986421a8c4371fdd801e774bcbc7bcd3324759e323fc6fad5d0cea376ecf1fe01579827b94715b8c28dd554d31df872baa314426cd83e0bd07772eccab1b23b898e41c143c61cedbd33e65ac4e19be4b318b2f1f76175c9ec0fcec1d92a75812b3cb4082369708a34697982ba75a8edfa5e6d4d2e1f94d171373afb52481176d698b609a32f8e1e91b0e83180c45193a011cb8d7bcc189f414b113a6aa21fc60d10706e58ff1a32620b22f3454b24ff44890043f56333fda2acffbbcdb5b9ddfefbed9849f7774b378d636b5eaf1a2db3c412d38d022786ac7f3db1b8af0350db2894c593658e00d5c11c5785c215bf56c8b834aaeb5647d7138a2e4318800fd26049793e62c89927c8f487f5e18de6035ef5b8969f1accbfeb046eb05bbd162973c0a6e98825ccfcf86ebaaee0af4be257b57498fab35bfaac536a1928961224ca83c9c7f8adfc0ce43bc149a71f16c44eb0a07ee5f48b33a16f6a1c8a20c7b767fa3754d9e2d778fd43e5698df752791ae3de955a5b2daa1fbd06adbbe31659c5e5de7336168387fbb9ad6daf3d206ebc9c0c6b49ba899583f8e2ea397793d67a7fa4bfc67b78f231cb95f020bba42be8e60cc49f806cc9cf32ac83388618e0664d1cc86eb976f5bd0b2d19a780e9c945714d00dcd3912bca2d2f1a895419ca2572f06500fa7548ed86832f74d4ca487dcbb8e4b15a8a2714c5e579686128b7bcbc063382a7aed3acff5dc04b66fe630ee4cf5e80269703881408a8b21d6e09877313abaf07e29695d1e92ddaa593d51827010d56fe2cfeb605497f60255b3687ff3b5af931440100fb2246d6790036551265a76bc6354c4c2d51b7a288407bb0a8b30aa0799d71629165642452600941e9f3fcfee3e2a0c3ee0c4983704f241b9fdf0f7d7ec8fbfc3bfdfcaffefcd900f4fc29d47e2943b1c501adc29bf647da813fe60ec1d121c8cafd59689ae344adf0030b046aef503fd305759823621f6745dcf4dfaeafe833f541941c1b012fdac8c2dde08c5fe702a165bd105408b7383902edd397e992c444979e50269d8b4015cd970bff249e905e4574d4284bbb56aeb957f8068278a7b5e00c49b58ab22eae9d6b2464ab36db3de8869c6f3d125e39e3fe3989cb132e4f3344bc33fef982fcb4866b62880b7a44cc2bd82d0179402f901be41297a516df9306cce471459b2fe0f37ae51d16e17147a10afcaf380e867cd8bc7ff84d05dee6c2e0d95918da5a1ae7678f82912490a32bfd3e553ef7210715e90e9bbf603ab8679429b07411b198ca680cf8d82aeb055ce8dba25ebdf0163d33fa2ea77160416b36aa7ec4f0818bc69a0fc4e2f51f84c8c652352395d7b48e6d633da7b98046e19cb7b451aa665b7416c27e299a7e6dfea81505ea8d52a5a46ec36bff7afa4f04f5cf3fffb761bd892a479fb510fe0e6378a0cb10ddb5c059e0b8309f6ac4436251c73d1c956d2a883fdd24457a9db09a0df60b0d7626568a34fc9e5f1e14f653a697dd85c78414bf5f2c7f5f19068d98c6e1c344e810ce3972b7e217dd9e468fac5cf79216e031de022d47a5453915d960eebe1a992a60720579550f76780d3d1c8d9cebcde5cde8f25f5c97409928abe0347ad985f3bbd55d868bdf64b8068bc652938dc6d42a4b5ce682620c97aa591d91fa38e16903fd145a045bb90fb28dbfed1cc5292bf90d27ed9cbbc3efabb2e9ac7545d90c36656ed4ca552dac6118390182bb64274696cb2cd6743b5ee3df18af992d03bb7c9acd910b5dfd8e66dd90c99d9f1864f3dc3e74e9a17e9eda6d3b50a2e3b25e48e702a7afbf7e65079ebf2195a8ec89562571c4f19f84a458dc96108d9f16613c3464861896fa9d3008b2adf6519ead2780203537f0d8c0c73d66d6ebf33c70c0b30642ec52a89ab192525e7a2473087b4755fb5ec114fd84debb504dad10db4c25f8d4d5f258f43b9b862231d5d6232625626e2b99501ed4c259cf85cbec4146596b34988746c392eb5c4c525de6d1626589b9b85c5ce5dd95f7888f94923ab18287765b6ebd959b702c1b9b27cc9a35fcd03ad2456b246df3165d2378698eb610c86e375f45aa97c4ae308895df53071dfe23b6b70b00451bf8795ca01abc96c00cc029d80a5b06c498ef17b5344fb9f66ab069345ef007fe7d08e85035b5b8964b05492371cccf1a7112621614e1d2212a631ae63ca8302c0cffde85834c035c96cc49513e7d6420a2b6924d2acad02fd39cc29d716f34b5910df148a944fcf18b06e2ae149e1b6128062686e16dbbbce53281a4596fd1bea3d5d1b03c849ee98968797d82e81f419a6d14e95cb68ba8ab885b8f28fe8688752913a52a9a0c2c5d0d61dbd256f027bf56ed51434bf39c7a506fd41eec63fe8df99e1ae3696566538984ca516ca1f5a27b9e5c3b4c597604de976f2cffec3e32c77e45165cf81e65eb9c4282dd5ba497eb005ad47009295c2f59da61654cbc36f78c2af647dcdd14fb3b25f08b38e7a0a8f6162b2ef6f7ee11afb04f3a9dc3a06dd81981131fac3c8a1d574f575a494fbbde50a3fe77893594e8ad0477ef02e221b1ea086f5c62aa4ba2dbb265bed8466c9249a262b86ea303fc9722c59f15754907d51e0bcb6c045d11623750a79c4b5cee9d7165dc5513248caca5994e5bb0a9340fd765b8a69a566ae89a2b49d016e40b5c48a6069f1c0b3ac77c2763dfc8a2741773141ecba8f4c3ac4e2f5f667f3d354639475d4bcf7cc0f8159b964f69aa78c461513bd78ffcf3fce10a4a9b7f28b3190696304cd1bce695ce4ba5266f1119066d50828674df3ece9e33b636fa99f7071e8c846fb69d8a190886dd47a8332e264d46d6d0e51f65d0345f23d4218c5987c6800a830cd3fc7e459645f7aa30d56524dbd37f869fc3aa18e3695f0e64f2dcba27b2d11d49ddc19bd1a6855440aeac3ca0a907295c9b5e03083986b010630395a95aa7881c987f218adf8fb5565593497cc3efcead4a0ac928606f3459a503709de0705dccedd34a6c10565b73598ea84d98cd5fddba87a0f813ad935d1cfbc62abe0476ae796e0035dd993c26b2ff99c8982a31c0f32ca5f3a0c0a04440d4044de5036dabada514adb319b624d3b43319b867860c171541ca183e4dc3684be91a3efa1d0c27db526968ea0480d822912c2efe905c89d34fb2d1a2ab77c31d9c54c2a169fa4c8b31bceb7ee1a6fef2088512ddfec6f90409f43437d6990bd6665162db37c4ad515aee948d2b58171409a7ea7066db4758ada58417fb2222668cf7597dd411c913855c1fc4edc79fcf13fc4fac7a23ca5ac829f0a7858324b3b942dd28e21026775e680b4694f321bd08c804cc0c8fc2221cfa5e01782cb5e418743e1810b943cee876f27c573e83296d507eb80bde7ffed9e4a2769ab859857deb013324fba93387d1bbea0035b25a0d029ac5a06224cc979e3f908a2f948116d8236320565b56cb91ac59f9e6ac27e2e2ee3bdd3871a800dee4cdb02fbdb9898b4577e106a5f18dab24a4b0e560cee4b2795efe9cca68195a9c4a8239c447ca1550211b9b1a36c81a9db208b41579652a3aadde9ba5dc0aff68e5cd7e43377a438002b9482171144cd0c60ca9f01ea860ef9ebe86f89e0c101fcd3ad220166467fe77471dc8a47658b99b738f36f95cfda261e27504a6439e81f38818ccb75e8e2de95a6353fe18415c35f987b7ee292ef67b1429141a86bc4f953cdd69af47d6d93733990fbceeb1d511e09a029525e66584e6f02f1a10a79dc828235f08814df1001cb59d2165162c0c753930e7739de1b0e4e7ff5a1d374922cfc614471aa0ecafe636406c8e63d7f9b3874942d3b0db5cd16a9323a31dbc6a9e54b9deaff255625537a5dde763b34c64cb2165a3103f43f6fd782974ceb7fa7e5e6595415f639c7fd7c51432bdff68cf0c680e552b8639d58fed532cf37a3ba050fbcd6de3812a60a91c396e655458e09b63fd5ef15d58405fb503e682eebfc854d1db10c57493cf934dc86ee2b563bfed0afaf488ba8fd7e9917dfe45d2b2ffb5ae6ef3d5c05b3864b9d524ca4bc7326a4468a34863bc9ddcaca525986175a5b134d32eaeae283b3c2c105219a5bda95fc5fdfa86853bcfca85311e6bc1cf7ce74a96fc58118f84c5a904343f04a40685c97616c5b6d40ef2a3cca0bf2f0bb790ba2d63d214363cf3e452cc2929adb1c054727a9b2a9c27044bc7cedd0c5b50eec25c03a839463e3eecd1a8bd3acc5979556517957238d9fe0b88e9ef1905169920fea7f0be99bde7fbf68785a3903f7fc609b6ef7770e4abeefa7e0aa1fd7eda3e2a37cbeef3d92ef037c10ff6b02860b314f2fcd7a7c81e68a5e6ca578529e87b5abecce9f6982a2e7645e4259e55eeb6a250bfe75a43a2feb2ecbb02fe69c75a3696b9793bcf9f514b20fb480ae74d4464abbe81a7f5f0dc2ce37db59d2e3bb78efe3cfad85f5823d5be63cc204756b9835d32c8ba0df3312d339af0f66ad7a44f30add2ccb19453acf66b545967c17085fd87f3d68207b58490d06f75fcb56369ff2f54bc6b2db118024dae03b9b77078ec3f83b7ab5c1fc4bc1da7ce7f60a974d64391ab90fdf4cf2057ac9d6f38eb05b66e000addd35989bc56650f6d54e6ba079a73d5aaef20be732931037ccb7fe56163e51cd27afebf40b4274af67fb1c54df54ec368ac2641f0101a50df0e00e0d702f6120b912deb5b8b64e34eb51fd276ac49b73337ce464a4f681f0fa0c161c9939d0e262fbf2859b28e2502ba1dd02385cef6dafb8111e40fd8547fc014b81ed84f92e22fd9f7372cc22ce1c592f60f9cf0350217b191e9482aec49f6ca2a213c18757640a6b623860e01229c381ff44878c62eb251bba20f0909be28d66a98a9e85d495dfccbbe0e3dacc6ea94c966f7fb162f03ce4b88bbc0d6b40b4e55497b5ac09e6073b568483da7dd1d8ac91ffc37638a7df09975e8757b993d5e35b09337a78d442062a60cb17dc9de7ba7493b3cd37788cb46aba78d9c012ef66cd1f030485a42506f2f1c29665e07fa87f78c32b9737587d51fc9a2332d6fea05ea12ee2c1e446d928b6bf9f83bc3eac7a05a2a22e7b0212a7838b5b69c00058e451aab0cc08a80ec6f9ac8cacc7a1562d01f16ab58c9bc9f0ce49af2d939af5d5500fd7d4af4af834d011b17ae0227e25891868ad5b5cbc60751ce16d43c969d447914c0e6cfe84cf61711c2cc05d06546f1183709cf3b3239ad6e6c7f01ebbf1b2e7fe397d22043544bbf16048efdd1c6ac66fc05d0b03c9c3dbf102c3104834c25cf61a52ae2f8048acd77b58f3491dde1d62ce8e158987941fafc83cf337db73eff61293cc1660035245dc5ee0ac688075ed463cb9d7ed719766cd80c740dbcc8761c4523f738679674e53624f41661d4db3082e6328eac99950646bed29373aef4bcff439be84c390ce60a91fbebfeafc691a390d62cf7fddfb263a0b4f6d2b1d9f74cec93d9eb2b798a7c5e3df7f6653797d69491cbcc37985ad08ca3afb330d58b00dd631bf47cbf5e2334b66bff85361c26ec5deeaac7fed9a22b7979a9f3c8aa8ec0754fe260080567b898936251c9f8821af4a75a79c87e60f20d2241864e0a7e3eaaa444d1b2d8772cb4468dac20bf1341d2930b7b33bb72deb562d9cb0165c62d4b1c500c08db1d38e4d4384ad7b9c550b3e0204bc7e724e37c74aca3d52315e444dd6de5bce631dee38602cbfbd285d986238a15582971f35445095460c2d983ac3d31d504df1df9368f6cec32185ca988c87d63ecb4078d963217d292410443f50df2217366f2204870806808460d7277a7fc154163e9f354cf60a5b5972164e4601d8a6b4c23b0cc1bb61bf5760f22092b8fd065e0c90a2e8a0ba76c7a581bd12258591632a8801a29827ce410876856b1dad9b67346c3e3b84f3d2fae13160b887f138eeaa6affa8bf5286cf5082b67e1b4dd0ef1f0715fd4659900ebed76f90bf57343b8345ebd90f3d38459dc56f5a60dbe07a13e78f2ca87e3b1f2aa09842b9e027c4516ac5a1c0b35255fd0315c376b4aab66190d83a02e6271b08c0f2d8f5943ba6ebea847cd25e46c8f2efd563321e10a70c2d600813b167918d6a35021e1fd2f36618309c64382db74b6ac8c3910b2efdaffb8f0daa6ad524a880cd3e5ecdb019738d92c4414631f478dccf4c4ab09be22dccc14600d9eb045e462467adae89209173e1316b79d8a71c4527a38d599cadc5b25a08b673fd8d1daacdac27ce704ff50846d7e99446ec8df1aeb09aa1d2657e916042fca34d0d6e4bd53e86db154b93f728e3a70949a3817f08f6625d7101a467c0721d0489df23defa5eb352a116cee762ead2e9448101444636e637e1eb0e46412d184641c34a1a52bb4fb678ab20f255ac8e3c11d8d477b79cc4a6a0cff4e9655a4461f6de57b829c567b7e4bb6ad01cb533f1ae456a4d9bccadc35fe7a60adba2d221d37f06eaa96142491ad1420db79c5fe8994e7831571a9286964828f29cfa4d0101e5693b9bdf85a9bb620f53249c37959709ef19650deebad7a0d0fcf3dfca627ea5dd98e98b0168fc7d764861a836ffb843e7068ecb529ca4075afd7f42e6831b2982617c54e72b5655d8cbf036d3ae7a432384d62a87cff0883a2b047eab8b39d5b211dec79731882b2f9895b28e4be341b6610d1f44e02028d3863c3c6e8f9b2491a599d77118e8fa0950098c1bad861ff538666a1f103c7fd5def30389351c7f6e7d53d1238eba1d703c4c50ba09afe6afbd9d97ef4aef25fb23b8a9ed5c20bf157ccf77cefb4a7b072644be4e1d8d512dce56b4f8eb386a33317e9711e1460771bda8583cb200e6a219951acc7822dc709de82225cd07ae9e7ef90fb068f6774fec6b5a8f8aa71d53c28ec83c014b98d29a7705a1f21168b4e4b52fd960b32457689d89b5b8c06c55b4f44700398130af2cc3c84f3cac3a560a76c939761a765bd279d408d6ac20e88361e52209493398efde32bd839f33e3b5640c1213c54652385d975402faaeda878c615962dcb73d23206127f882b31c30a64fd5fb35421fc52cd639dafac64be89cb1ec0dd3a4e4988b521b0c3b30c5c49515b841b5a502a84ce8431d8075d57e314db5f336119d3a6fa5b5f53f56a61c7d9517a314697749dd996d39c27a729d2d02babc63665729ad285a55f07e568d1949c686777519dee9f6df676892858679cc92a35e243f3a9db190ae593945dea0ee839218d9d7b4b6c4a2fd82c783236892dd2cb242fdc8401aad9e82a5290dad4b401124ad574db5e4c5d5e7a8a0bd8b823185a470f1ea6965c45a4d17919f43d971c68af614526801d8000248e00546a6b8695735d4ebbebe30d1ac17688a4273c3e89510bdb96486477776faedc24a602a20293021bc239e3ecc0686004474b0b0e17979647224722cc36ca13623dac8d2a6cb50b6c57b55a417cab9af4c500c56b80870a085d3df00a510b7adbb62eba48897241b9b888444f14f3b6e75ea75fd83459c595d391ead2baed16765b2ea08dd99f0b4739bed0990e7b135b31088cce7ad96e3953f300a5be42c19fc3388cac294c8f79ec47da973733b1ca19188f71e7211fc2ae3acc6b4107ba09a070b9b0163df28a56cb83c49ac98aac49370a857a2c53f4c5beec4ba61e07ca65b7e840ed150a66630e218da8ae8496abe3635f4270eee7f4e0dc2123f95a739ca96a12021f92039cd4e96482713e5a9aa0ac55581b0a95e4118c207039cb7003329f8e1677d08344284a25318f30ead3fa33d247a150a8b83548b4d19708ea2c0692dd26da44423b3b4da28a976adbee4dddc7dabd4fa70b8e546aa25c70a452f371b8a026a6dabc1ace94d299f1bc2d2fc649277e9d60075cb8c7586da41f1748c16b05ada2c3006db24c3b98d2d1314ee935b1b6e69e9cce1ea8eacafdb5d18a9eae3c31a54ff7c2381f9df5981e480b655cdf578d771480be7f5ad03c2a9db6748edd8151e0bc1cd9798113638d9c54bd563c20ae629c8946e4c49d5486f39c4857114e3f775369ba14ece20906f3893bd01d3a747f3811896a75e83400182a11a04bb9a3544125a04eccc1315941431315b47c315a8d7e7e01e147378c1fc2e0d0f0420a300e9252d20d6fd204d08f98a07fa4a53b750c5da3fe79eb1848620a6d1d652cf37a783abc1b1e0d4fe694ca70b29c901491223992a03aaa222dc2e15cff4330edb8dba5ac96ea1808d49df05625afa9286428c242bf6ce4475e2412755948d5a9258500aa1be90c71322c22ebc0c01c48441459c866cd21cbd631b41785f62314d04ac5c0022c2c1882bcb1329a339798bd1c78f3c00210442a922764e99c900e410672ce016f6f8ce18eb6084d0c5444cb51fabc1c304df279631e23883c90181f83e465a40bc56b2b755db5062223d86d30d28988f48734d41d5445a7af2ee6e35aedc54e6f75c0f7ab3c5e7e9c5fce9fb3ac754b0c3d46e5d1dda95bbfee4ea5685139e7db9871c6d59dfa947e037e4df9f0533d1eb21a1bd30d4abe4e7635c813f288c8a2053818b0f0ecb8393eaecf68f450057774b2550c8ce118ece599cd2cc876644f4575ac1799b40134c373610b63e64081dc20a4abdeea02759c869056bb92f5591b0bc155a6e5adf3d15035e9a3c115dffcecebda54d7adb12f1bb33f37e6aeaeccfd71672ecd65d556bde2b5a474c99e2155aaa8035cc6c1b29e979ecc47760001397e801d19ce29653abd89fbea8a17565f4218842f182b60cb6d7e8eb867b86a897dc9550571ba44ae644964ddc871f17440000264d1616ad5daa3bb4e2793e99fe3b43e418910c5bee235959c38e8a930b8c11d28fbfad8d9570471297d2a29a92fe1470823ac3a6b8dc46b74a2d683abafe4cf51f5e792517e86e76ec27b5e291e93d2cd85531b25ab840e6be6a3e50da03db8eee0ba835dd8476e363e800dc01fb0616216bdc6f5dc65ada52854f7ea7c2654b124df8e8b545d954776d5f595c741a08f70a774e07b8e311ecef7a57f31a05697fb2e3bf5a894cd06a06eaa65f2b000b861c361293558a0c96336ba7c4585464814a90c1700801b3b031b5acb2a83bd1c2f31988501abe1c3024d5b7c3dd99c91f21557546898fe3991eeba522779b41ebfe28497eac9dc57a3e3788db75c486cc599581359b006ca40196822655ec7fd33236f0ca1d399b69f0c344240d8f68bb1606ad303f8c3c1b4dc35c6e89393ca704e29d3c9c4c4bdae4f06e2d0ba08835fe670dbbad802fc91d99c12c7a3e69bf1c68d43cad8edfa24900c698de031a740c92625dc1ec1104e18235acdcb417ba03f5c16f4fd91919fee8269eb2e309345d0036e2cc2328b56380146874965654a962c1b639f9499c57a2a4faed86a57647d19c6302ba9fc1b191979a44d6f4cd38cfcb87a56e5d3dc123c61b3417782dfc6d768c99335a79e7e3363f8b1ea5c43a9bbb469cbfa4d48738096609e36e76a69e538ad23c77d0897545db937994e27931b6f7210e7c93c3981713eda74a2d91ad2f395ccee73d70179813e80c819e40f623c96a5d2f6c1f2f26dfc8b0df9740059f91a5fa3068bcab3d84e9ae6c97423cfa76d9b3de7979e33062af563cef08cb8d6f9cf76596b2de7dc4550ad9649af8b9bf499f4dff5205912cb6d4c4eca2a9af6a547b23353e69d5f45c6ec64bc8c3d0add93921d656a0c923d12ed7b7164c92ff486b226cb4ae743a57443692bca7b6fd64a5d092a9e4d37436de5325845cb27685d7e29ff6af8c2d2c4f735ede6dde3ce7ab526decb2bb120e6fcd22c95564a2b2b24d4bc6df67cceb9635ed94a52a5372bf4a43757b7ef2a2aa34aa3d3e60539c87f441938835b9edff3c45beeb9dd7d3a68dba24b15e7b4f8de52a9742d1819df6b2b7d61c4d8b2286cd842c4c432cb64942c966c3d1ca3f467d2ded5b7825d5d45ce7d74544d19192ff4ecaabdb04e940ab711fd412d75a9679c313fa75edf6dce720820e3439c6f8cc5689431421702e7dd9306bb670dafce9949231fa654421db8f3628543dc210fad1b464649a10ff4f1687dda1d2b4c85a931359a608d319f170cfa532aa14f990986b84c9de187cfe428a1824378629c7b9b815adb2f53468332d81eb4edd59c323390d2ad2b41abafc24dcba93224548c7023d51d46eb04a67098caa3a2aa21990e939898550c16ac20fa9119821043cd0524f27e20ec787c1ea08932202dfee0eee7bd01b88df049868f5fde4601228ca055f649103f130857a40ec2195803571ebb13a6de2da54b38a7e799274d6bd2cc1a9b2d9590b10b6d58f026d69fd5652cb662902864ae56efe69dbe3b9538681937df189dc2c1b48fc7fcbedfdd390358a60f0e7de43fa7bbcf218ea84bcc26dc09554fdca9376e944a281ca77584434091bd9d0963b4fd342d65bebc0178c51885a131343f5a2df9768c80313e10a627c6f35e43381d3d614cb623c6864ed29434870687ba1077a737bb7ff5ec7f237521dcdd279dd065dc94582c8a67869380ac086c3aa5804daf724e0468373d8890c7c1b40f85ad949f1cedf1d397a5e6bec618e76b2918c298c3e9fac3c134f456ac251c2ce124a5267104ba453a19a5bbb814ae23d0d0b485be049491f23ff67af7a42129f1be6f9d349104b35fb8a2ad688e6b8428ae5180e23f379dda0595e4e3b3abfc8b4aa64183c6e7ef6620555d58331ff0d140b63b69ff97f0d9439a1fb694e28132cabc7acb0aa79428a7c478d29e41e084361cd7d5b9e7a559cb9848c644dccf39fae9ef9c7692936c8d6cffec2f63ee244ee224eefe24d3473ef291ffc835aaf974dcc9ce45f2055d77924d27ef284fa9090a344981539beed553ee67df98e3b4ae9e299e34df494d52208ac9cf37a198bc773d4cde4d6ce00afe9834326642bb2791ee6e45baa96b5d897725255c0c49224746b0454542a06dcfa833b6d38ca7039e5233a49c26da49d9d54be525b93fc9b326fffaf4ae444d9452ead5aa9efa8c92f4c97a1225757bbfcce9dd3fe977dc5bc63f69af4837b29591ba1270a68ceec504da3a8114541c1a59a574d0d0209d214083d4c1fb556a74b6e665bd686d48def77956cd75a44e017c43fbed9877549b88fec9c570333eeabab24d0d74d85bbe835673f31434d92f35c25b0191f1a8c48d1ccc2a02b3840018160886c3f1809ea651a49cb31c84834ec7dd89b37296a4401019a00831040860000000000100008a0011e05b1e42061bccb76c495fe0190e47d29c4de031c0223d6e576f7ff84391e164edb07526dc1520fe0a8495c9124a5d078d60b654e3173cf047566aaf8173d27a15bc11211971569be377878ba447e32bc8360aeead0896afa906b8e628a1552b05d0fccde0a536ca64668ed1beac62d9578654ee9c23cff4c5a733e00f97bd4c9b245789e710d6507d21110be2d3ac8c6d7301ffc25d463858d844d276c031d79fce9c3bd14b8b3cc34d4e1a8940aed755c2482408a75ac7322fc9ed9cb4fc390650741e96a78dbc9d375734e8274ee0f321473fa5c1c131e9cebec96650e2e5b9d02ee3f17b3a17e14bc440baebec83e55916d663f8c9549293040a8b463070a53d7d53dd1b97bbf62fe3d68d034b1b4feab4dd61e18cb548bcb5658818373acf46fd40b828d2369b9d720a55ac5e84e149f46a5f04cb542f2c7a208a51e835a3fe81b60c4581d9fd8c6436eee7ddcb2acc34f0460cc59803f140bc30829cbf825df92b322ca38178d15bbfc9ec71939e79c3eb0a01f4e2f9d44d355719bca3ab9a7a8a0cbc2ae275a4b28563b87c27b6379ae373f4bc0950584d999a79173ff3eb7f0a74b93370831aaaba0d770c54dd5c9824ccde33c61ce5d20c52ad142a80219f274978c3b4dd25aec62b1d9578f14abc4d8a599ef6ff6b3ed36ffa4a0d290e8e707f7151de88d4f1017725cecec1ced190d7e8a25eecda8c5ce5d6528578613f3d6d3dcdbf221f1abdcd3f785824550758e46bb38db7fb5637e0ccdf5917733f980c9eef085fa77c8d1b2a40f2f612ce4f557d7f5058d6fc28b3794ee0a24fc6365f60750f8031164eaea0940a89d248d2512ba686edb12968581be00bce1b85520888478c927b1a5f09f3b5a5ec17f6fb59c2b51faba5a576955f232f972466c7aeecf866838a94b206b8990d809319e26614b995fac661d498c2bf54009cd5e3d6c2aeb3d9a23a51956a4c9d67a13a830924e21e2d7e0d953d6e02b383edcd456dbba5955c7ab3c8d526aa37e2376398ab96bac9260710199b708ba727e87fff5b8b04ff4aea98535a693fac64ace48fb42ec2bd85b408c08f0b0a202866a1841f87f2b56c917266180cb536d09f48472c893a27cd11c3f664da0d323ca3feefd2d3a0947f26e815ed092a88dcdedb714962d6d645b5a61a80cecc7f791ea925867b38104120320208bc67c2105005e3561ad60928e5fffe4dfa73101b8e7e33c9018ae05209b0f11389aed060e89b32ca4b3548f5e6c47d2c7e0c2df430800126a9dff964cda90585d91cc0c5064079dc96062bcd6a05308475fd87e7a5a8ff4e5d0d7fad4e49b63716807e7e827812984986cf0e5c700a5cf6ead16917216438e5dbd85031d0cd64ec9c4c8fa0b973e90ac5ecbe1c522ed62a300bd0bdcd692b55d8ff85a8eb59dc46d6f8217c2e31dfb166bc6d6c8981b208fbceebce7298cbd4abc3150a3ddb89bafefae969cdd0f4144fa35fc0d805b8d4cce7dcd7c9ff45d5e6dabd9409d0b9ee5729e3ef295f9f3b5f94850b47efdc82681d40de8de09646570c8eb2eeb67fed5a82c6c2ab7014dcfbacf3751148b52ea980ed7c3942c32d1d8a8187bf890b703408526c1c36209158a2ae4abe48ce9f28c59330dc72dff06a3ca74fb7fd082ae2f236018414a8fe7fce679aafe049d32f75593fa72ddd6240b353ffbc93de5f2d63e1aae16e0445a38a615379399794eede6a45aa03549b039f07b84ed815c8050aa3aee79199d0b4fd4a7fdd6cdfd5d223f359540ee51c2c5d6581144d291f1910977703229fc3ba23a8b1b9172ed9b9b96fccb2ebad9fb026d1a4fa119f76d47c6c38e43fd5950fd6b5b7c488363a0571ee74cf386bda10ce0f9e372b0bd6259943d60032531fbde1f51517d996882496b6922d7f9c6e263d457a08d8761b6e79f4e9ff41bf8f963667c219d90a4f82953198396e9f614784883244722f7f92d0e76edf872a4eafe4b1c059498de1f8ca0b1ec782a514b273e2fc87c4dd4171b834758998c05b10778a1c6bc9b18e91e37501c21326c9b02e07cc5816e4d3f44ea8377af102611c607ad5dfdea2c1ca49ee9f82980e4ffca855541bcaea151fd17a366f43895b10e2ae4e87712e350afdc308423f8ab80559d5304c32982824987272ae79598f866d0e2cf6999a6768c87313532f5a183685419b195f8eb6720dffce177a356c8f56b0abdc1ab14ea95a9ce33405759ab4027cdb6bcec91500f3380d9f0d9bfefcd1326150eb06420e212031825398c3188ea11bd730818cd87b038937d7299193e354ce7ea5af4c6a7928c3c5edc483cbd032b0aa0e6f3a8fd551383734e1ea802fa66a44013c1cfc3bc8d1d6401aba754788c9e2e95c7e113e0e2ed7f9187063dbdd571e13f2373f614a6415293154e78cac6d7ea4648ab47095bff59f45c3c97719b078e2727d468a26932f387bc3f7a4e4feb8c8210d08c9abe285cc2d14bd8edf27516e5d6bacfaf6cd6566e32cfc499bcf086cc9c9ac0065034821110011e514cf3cb2cd3a53b0d92ef964c9801a7116adeb9704e18cf094a05fc29fdd531a01213d018da25239f563e14fb24a7c769a025267ada000519274dfeef125011d337494316d37963b26cda1ea424909c301dba3a5e471245602c8db66fbba88d9f32687216e034d43766a34351d8309005652fc514af50735b8ed01329ac1b214a53f787364ce8a051e437b0ef494f5f7932cac66ddd9525990121f7e7f498ab5a11cff285589e186d79ac5272786b2770bb645005389b47ef957d5b80a9ebeb0ea9dcc4fab56ef025af0db0d2c64807ef7d856aaedc4cee7a1b7b3a6eedd88e6214fcf084c250998aea90bf93f6d4138363d4981144021d03cd777deb9e1451b9df408b11a720eede817e590d5984bbe6128fdaebe31a03b707e2c1a681c909f4994a36c75f93e7651b3903ed46188cdde55663e4f67950b5cd69912028df422da48f40dd5803337b94f6826d8451c2c2e2928feffede31f28ccce9814344a3098ec258ddb174a50716d7316364f6d07bc66e61c4f82b73461e4e329f85290736ba8cf63faa42e6d5286881e048ae1df06864d5fa8046077b0d6e7ad09c9f5ac451fa1a973c98cb5d83e9acb3790fed18f5ff875099decc8c59004a8a6b7ea705f652c232a97af016d75395ef29ec18fb1bee9286b927a32ba541fa71b04bd8cc18c090b7257753c85cee0cb03ac3316df6d9f57ac37692f3e919327e7b90900d4f4c0df6f9025e61cbb93183ea2101e80802cb41f64082c20914b2884493583960e43147976fcd262184fd7164e76470b391253347809a9955f6117c749e8799e8445555bfc468e96bbb36381ced4a239a347e55684b8d43cf6b01d8cec764633e999f8a4f590b73dab54a88839f353ec5c1bfca7a657f4191ae552e8b162fb6428e0cd65419c52c22b5d104eb1f5e26a3bc240695d3b4916d287ccab7f9bf7980534c96bce58ba8ff96bcaf4977372219fca162f02b080b1787559e0751ee674b4aad6947c6c165eae273b58b3ffcc0f7c41985907d069135c6439a720113cb08c92f1979055b216ac8e0ac21c193ea68bff7650ce53d6dd68e428633d6d197771f4a9b24906983f9ccd400bf58eaea410a62a9cf007eb6ec82e5f31b8b87a27795eb6e771be4e16525b00a5bea32791487cc7aaa61b9c844c76ccc79133221bec3baaaa13e6d314df3ffc9ff2275ca6edf7a9b6a67fe214ecb563c64fa6b4810c8511aeef1fcd06723561fc1fbd2388241a7c081604efaeab706a92f1bb32841599669e86ffa8a5efd8ad9a5a9c1a9abb67b05ee1a5fbdd000293f381a1bdaae380bce33972f1a103c3ec0721bcce04cc91c730a158424be1d18ee4cd35d47842f249e7c0dba839085ed520f7931861ce778026e3abcef921827b3a45f252b29b1db5604e34b86fe9b4807ab174eaf358545ecf329e66d512c2e97517930061070de013ef7470405445f0abf47e8b9ee449e4527989491b17322b8bcb5ef3435dcfcad98d8c1460dab3fe447d22bc7fc28992e1425048435f2ba99cad1e54d8017ca42fab7d6a7509cbeffd5929ebca6afdbfd4766e0d9fddb96ebfb5a6ab9e1cf068a8b18c315230d1a470fdfa4ac9ce236170a3eb783e3b775779179c27f9b217deebf0acb4cb0d52ce8b016e96c9a753b1906cf08b915e7039bf6fbbeac16f48887cd39d9140a8ed8f828150dbe52ce8c0d715492b263225590f8292d26d5db4a62ae71892b85aac79f2c95614b9c3054743a5a384c5adc5426d1a271b2af80ec1a91a3b77da0e5a01efaaa6c7d51e8feb3bca33b9a4eed5a563bcc972af7efe8c4552dd74e24c0d310662d0e845ddf0d2b965f7ca7de0f6add9f807a0452645ea698e463504a7417a60acec1605b5bd824e3fc0f4167dc2f957c1ae54962f3e4fffb96d877fec3cf2e3f14e85eba8c5637e0390fba273723dd28cff42c744346e417a0ac639c1bf21078577e0cba7b096e3797490ed29505b1a1dbd708df6df81e723a6dbd169b4495fca395706dbc75783a4d04f543f1d3ce2f148ae6c214600cdf9a986523d3bee5aac7f9dd88961a2aefafff6758e631d2d599e7ed08db86f0bbfd14ac39b8741356732c554210200ef163924e111d2e70fd774f959f70674621a90bc1d5e4f2489ba3ec70dd1bcedfc6f822746e866aec08246fbebe9dbc8f2d294a7b6da2a4b275f03294b2cc1b6b0f081ea10ee9a987326a781ba4b9d53914ab6a2463d0334e20015b32798644c374e66e25b43d69b026e9910c877882c9aa2f6043e1bebdefbc037e95ba11373dcf280ebd617d638d8d6ad56691e28c1f97b5ca99c2ef13b9db36ed7c4160fdc95656806bf24e848de5a9f9d32b430bd1a0f44a30caef4e4de9c84d66f0fdcb5119c32389879b1628d71ea364436d653bd001d6034b541b5afcad807a7048c44c257c7ad0d409d31851b10dbb508b6d1a659dba74293a5dfb3241078b50c3cd745126bb2cd71f0ed2750c6fcdd679cc52caa45337f69f52967de8b2e15a3321df930a5ce78a7953e9b830542c3fa1277db34ddf6ee8c3e6047649d05d50d211aa4fef3e947f903da2f1be0f490fedcd549bd28170b3201559947ad08b053b8d080a6b78990512e5babe870f5f8d9778bc147c77871b6b2c0ce0b8a3370085555340c98ecf038d8a67d97a0d688554c8cace9d80f1fcbb7c17a891c426dd1657dfe44e7458279deb25e821b499a69d1e37f2dcbd1cb9d431184e98ce251d4905c36cf807fe216d6f802d9981a8fc803ed87552ccd804bf5d4518123a65b249cb34e0d315fed8f63505dfa2cd657a1639d23fce6e8ac79778b8285699e9a3d352fce48a0094692a7a3cd4d3677cb6e6fb5ef5aa0edaff32c7fa7e2f21fda4a10294b211500173392257826137d9e42a138bc5541dfda0370628a352e29c080dfbf92bf10778036fe209842c7ec95cd68e8a90dfbc23b19b494b8d5559e6f8f18895f923f9fabf934465a1414c5545975f9b6db178b12a9aaf9940478832315ecbb841a97a2080821b076593a1d7121d1b6b962fa12b55a204b218ad7befa3864d2f685db5c57e83e0dfad51cc76f23865942aa19a063c6d6ea2c276c81d2f662830a72814bd960d29130536b0a28dc0ab54b8f727aad0791f9f97e7ee6603c04a1654a50504d7d821a12b4ce7bc6b4ea885c613564a039e286191c4c401d98a1af63b71d50a597e19f7c98d0074d4a883ef085093426799468d6ad927e0abcda4c9729a4b93025d4915d9cc5ad35065803f2bbf345ec0e1c496192725d635f485f60571efe4c3eeef07ca9762cf523d85bdd818376053dc83658ccf666dc20a4bb6d2ae25c4c4dd65f552efba500ef6a7b2cd4f10b06764219f5486f05769351eba808ec98f1f6241f5b9fbb0896163c389023d583392a3858ff6a38aec0eede847e98547c4c461c058d2ca385ab23a79f8d9da387e596f1b9b1b3d4645551102535f1cdaa3f285713ecf64538b7e1f4b3e718da67e4c678b3395ced912f9914de35d7ec5a3eb04811e30749c8b68ce4afcb8f9ca77679ee356604c3cf48a3b4434c3ef187f12fa66953493c64b7774eff0278bd7a1e2403a3182a7e696b8d748b3f8082b3c8bd3cc83439302a11ecfe1be5ca034937aae1ae90c379c0c8cae6b5a6a59b3fd641de8afe18e188a62e80f1c17eaf508d01dc7f7739ce36fab6dcea26be27a84939d655dc83c47f86c9cef118a2c36340ce81bba73b2181f33fcb015a1d3c2bb4871b5b1a2896d7475990f596ab932ccd3461d70d0b45315562595370c934bfeff64fcaca0ba50fc22cacada5d3d1b5d178683f2e5929f35d398b4f565313240bf11aa5829891acaf7bd23d091688d8ee636c482c3734275b884ad610fea0c7cbc2e56bbb611d4853329f1a5a88c28da9b3e96586e1e6c50db911252ac7afbdc8a2e799664ca8ab239b83483c652d5ffd995e049c7ab97f3690943211e12a2b1fc1b17c3afeae69a59e9b77f7e71a4732836746b88fe585b2a8895282775877ff8ca7f3bed05c89a594cc6d151c485b7de4259ce4244feeb62cc89255aeadf3e345350c1d7c1318c709a2ad742bcb3c6067a19a4468c1ee25059b94196eee884628dcc400c3b9a63420bdee856072f1aa7ebd52fc607c31380484616c8e32149c23150653f822df1ca92ec9da1c3b33511946c493da18557c282542fa989be29769cb23866620c390da1a5cbf820c51f747a5e6317dc73b4f7a821a153154e51ef26205d3c359bad87be4acf8452f80b158599d4789593872b998d3a592608e8e025e1d5c9769c5abadcf8c56d49210a2e63d09b1af588bbc45ed0a818be2dde8c9f3d6bea8cf6f3b26f601225dfb73754c0c1471cee375f684168b22033f87fd3ddc7136a2ce44f69ac6c2fc07efc714f61a77013c6f41b25a7a56982a529ed3ad50a26db559c7a6e77b81f54d202f623f289ac3c6d719688cd55c7f8872d0538c6c22fba8e1753aecb1b65c17237270c44f43e1c43ee924345af0e1ce03df3df4fe932cc64f25be84ccb2674547a74d93d398613f00ce9a4b45e697ad3b8c7cebaf3460038a2b62b4530ffd241d13121522abcc08100093c3ab9f8c30d40a50e0564437a480edb881e0e71a27c552919f997534a5b6c3dc517657f3642de9d28488e8eac6cbd56287f17f073de8ced9e6d1fb89605ea54d1a79c27be755572e503279f5d90b47911a538e737b7a6725a5717b9e0db2b4fff6e0c22ac0738d87306f6a1db6623597c50c1e1383b7fb00f4a5d0e080264a2519255aa0c8b88550ca08030c11cb400377adc12e158d27c5f2c2508b27592748f0569a5caa852deab1393ce38cfca496cc43c4e01f59bb4fcb808dce0b23072e01e24502a73434d6feed9fa8a5a489b9a2af020ca969e57e172f4e9640af7dc8eb805401711c938a3216c4b3013b0627ea7fcff78a22b112664f8436b6a8ed4fc16c706e88419f506ef19dfba6ac4a6a3d18f28282731032e3ab5b1168736f9a5e0330c293dab809b7a0e1afb6e83912f76c6c0aa3ae1f014d21ad73bcf100b36eaca94fab1534c4f14c393d8a0770200397b5106068b4900adeb7c7c2ca54243d45ebee7a5c0d9ed165ce0d62c84ec901d2f4d8091765577982579a11437fb5d20edcf84971996dae8d8a12b7e8241c89804fe425c2b6255315301a71382c70643b45f00b214ddfb31721725ed7490969c4fb21e99547b9327876e36ebf3ec4805f1bb5af8a1cfff17020651f1564a3e01f315c8c553b30618cc6f4a75a025be3c4fc0b88f1d42c2e1ac8423475f901a8935e157b76ae2457ea03de2740d6b2a9624bbea156b24378ac5c5aea9fe35fc7055866ae45db0f479b019c64f9809418980101e0b068541fef951d848d0f1e23cca4544c3356ca8985d2242f755fab530e6a205bcac19515868b826bd3abb5dbfbd343aed85fca859621a469a71f6ed385c2804c0756b0a32b13bbdd063b9233dcec826f17210556fcd6d236b49506e46cc3af3aa7e9a2ea5f622981f980b62837a99811f4c8d1206bbb0bfaeffd95bfddbd2c16786b11dbafaa694d2117fa4eeb9ac1448f1306aa740f5a63c7909070b954c4d58f38ede901f47b4176837aec0183ceba816c59acae44af6ed24df4e3e3433ac82d46c26be64a6f2004f6c32587f7929c677321091fb5ebb997bc828e334a0134aea3254c0470e6a4ae6263aea512fdb256dffdef4fac82507ac524db7612929c62f5c9b39fc5220b3e14f8387aa3e705b240c24ea46ea272bef78b0ddbc6c50e98d482b06fbff1de3b8db769f6e4ce39e4f697c0a8cbc6dc6ecd7543bf72c0ea22be46e8d840433a0610065e2e30c263ce88127d6e9ff9c73ee39e75a3af096d0077bbd8524ccdf00268f78bb28b9d92d9237fa4325dcb32702d47808f82bad8010bcc500eaaff4222500394f371e297d3cba4016420f72c09e521ea1542eadc9f3061eca51bb306043c3234f066b3dd5d98be0260d300a6eb3ea84f98f0787a18c71ff3df43010bdb2bcc4c8883e729eb6a1c35aea5db05daf52160f4cc04b020fb8c5f2da6d78989e11941c44281c7356caa0930af549bc612130c188b7f0b41429e4168e039e973a9847170aec882d1b628529f593af6ac8bdf2e3780997557a7c0baa831b69122fd4e09bd961e053ec93cc2febc0ca37a43cd82be5d72131138207db17139d9a8092d87b45b2eaf4485d3e3afac5958dff1259aee910c37e429a074898e14fd9657e40d6ea6c9e98572bbd7658fd1d9b8511aaa28a486c03387fe630f91f16b76a740713dbe3bc4c820ebc206d6f47d2decdc1b182320fabaf5811a5ccdffa3a7c3c95a1eb88af78d45c6a86235670bbf2fae7c9849fb1139a00dc08a84fdea00a4f0af81df85966246430c1cc14c52efe1d1b2cc577731500aaf04432ab8a7f330a4154716ce666c8b06bb909133100887e112ca38bfffd3dfac00b06fd13f6294a3450db3864d3d5034d1fbcd64023f8a6be7094eddeded1c9f1b725cdb72223611696ddda759925a0dac26b86f8ecfa03f22effb2a2cd10f30d91a3a423c86f8161e09d1601b73055ed11578262abb1592b302b8040062ad23129b57a9613a23844ed8c3fc0011fc7131000e623171acbbba8d55426678f1794a8360a28c1bc556288ac0bd4cb1ab0e2bc05048055c123f89a07291630b3f04564792a60fa537aceafaff5f782081c924d9241be4c53f5eaf18aa8cb0886b3eb0e6c18af743f3f8c40a83faf45ca1350a6c203529ba69724eaa284659a14d99123b638ce019fcc72befe60644204a5e1fb60c9ca945877c7b68c0ad3a5612ddec26fc5836f8ceb9a0372c2947940cd586a96234373de8081360447b0d16c19258d8e37373c2de0a070df8de46cfbc6e097aefc8d81c296544c8308a09680cd05fd0667b156ff8278a4b54dbbab3beb27616e758a8b7629425ed44610c1dfcc6b2474eec4c102baee3553f2c0cbc1a1b8bdc72a0b8fbdaa451c3562e30270e78ff6662a9eb271028dc508ff2393ad00854130e095d0bd1c6839eb7bc05f93c6f2aa6abecc96c53c98678e0557e2d381e7642b6d627868c13ca1750320ef0a7432e62c7d79d01dffd45b320e76d3421eb2f97bb01e24ea5145de0895b751fe8d61f6eb357975e5e5dbcf73afaaa93081371a41415313a4853d69f5e231bc18fa750649b0478d9570cfb2c9f39d3173be322c129185be0f11551ab5da1819b81246c355c9e1802fddda6295fcf6cdfe86277af9168d673fae967131a76faeff873768b00a7f028d2556862acb9134c93c5fd32d94fbc15c8240ccc0e828f56e396f4132f7b7e14836c56de47602a70f7f7bcd86eda14961657f3f510df76d99e0d4334dfa6119759ed1ebd76649379f182804a8fc33a2329e1f520459ee604a7aea46718b25cf3275c70c7057ece264b0249a262607438727b6336fb3a71a5d3e184cfa539871d3b6c1fd38bdeedb2e212e8e389042ce962c151204172d410a403e999a701815fd421b20322e2999c9ea63537da1b7d8a448d567f659b59a49d14050f14410ca745f51188411e1b219ea02b40fd4cd10aded96c5c38c627b8f71a87981908fb3d97ceca019133afe29f213e09d5f58d8a79cee6f461566eccb103bba214d14cd5a77c2ad15296732f506ef533bcedd8f96cb2fdb12d4c280104a0b780239d7a42c6d7650b5b05846ec68422730aa440d046de1303ad0c68e105f8d1bd2b80cacfd474246f2dc07814594a26e8c4a29fb85fba77e708f2211c782c835f4246c1296c3a9dec9f9be93724dd350c82621a92cc0c1bd21ec9234fc5af71ef0fa9165f4fd81e6c35fd7076d899cf9430359df178dff2f6900c02a3fcfba1ac92201778406f913b19b1cc2782ee49de2bcbbe833c007ba6562bb24661509c563e46170e192d9162e4cc09ef82ab9095f0e88c4cb288eaaaeea55bae0d17948fe40857415c7c09ed4c124c362a7ce928b9127f47e844548a3708ea82af0e8a28ac14d11d2e72da6224061436de916f2c4d5595d8b6ee7e7afaa333426649539cc6d6d2bc0994c4cabfd0a90d333df52fb400db484dadfb5d29823ee1e006a7c114ba482c0452809f4ec3eef190c316e122b69c07aca0be9c5db3fa3c82be70891744a591a3553677f6af8affba6671832bfbf2108c3e619899b0cc924039b0c09a0bb224d4376b53512b50d95f6cfd5561b1dcbc23b515498a88aad981727a518107f8d8d93d96de0b880e74f889367054588f373c0ab4c821b1da8f80e96ac08c47f49a7a99c0d617d8abe1f47a2fc94971631ce7e73331edcded3bf2ea1ce5a888aee0204105490850d54f7455cea0722755f00bdc6985660bb3f0e1fab828a2ac0467816ef8f76114be6193c48d68b9325ea5f71fdfd0c81a637f76bd75a606d3013e24a4de0692369f02888c04e1ce06a1a8d697336586b707cc67d9fcfe6b97c97bde058b9c2a1048a09929f6cda4f15566e31053799cc08b02963d2dced05d5be16fcf8fab6a8b87743f96ccb47eec7c850204b8f11c3b32ca067c5671382ae5ec9e0f42759636c2a1610d08a7bdb01e5b5aff62736b79934f7cfea64e71ad709e3ee5b8b333f43582d28f43de8ee28a2c3b34c8b55f8134929fab14f28f7321c70532bfd1d81f3070020e4900048a619f3a937dc6aed678e913baff528c1b2a3a2cfa32bdfcd04522ed6a1842d3e3fd2461f08d282dd18853f69c42c6d811e9301a0934b21a96ebda04c99d23928e252bd2d8c904c36881137884109b73656ed583b2504cba38712d9e21322fca7a28c2df9930033ee8f0e1cf2611c941e4ece7e8b3117e0671f3fba997b30bd49747b9774b93f2901f7836088a03eac3f42187e19d2178d134427c2f7baebcb2bc67a1223740363d53ac8b017b682c1cab15c718c689595704677a17c3b4bdb8afe209fa4da5a5f0a8ff5b35d360d2dc936b31369cb20f9157b465eff91b7b6ed5be3b51180344f82a3fdaa0a7060868beef3fd1bd43ea8d601130df752c04d45b478a7f32c9307f35c083ed74ba5e77009da04bf3a0b72dad3bd536c1a69717d2d8561e6a276a5e11622da3b47d00219b76fd4ab1f3e6733070647d9a5d081b593851f8c2aed37a3b55a616d2877e4155f31f3cc05fd1518accb607b6a1e076458b2c024b1e771d1474922bdf95ed8f4d3eb3b863a0827751ddb4ad468d157c3aaa5d8fda404583832a28a717e863cb190b9b894d5d03c5a804f74b33a7acb468e157bbddb359d10e2478daa36077c9899e23916b95124539c37d140a838a2a395dea8a04ef292a26fdd3ae198814e5dcfcbb6314ce6b1c8b9ef95cba32613fc2b7360eca0c07539c76a08da483b7a5220830524a5051ca4c5052b9959889a038b6628a6e6f785ad1b947eb5c97623fa9dc33c3635f4be66a04cf482f003e8293279adfa954d296db7128f0fee05e3eceb119f788049573c61b0f0f2f2baf8df4cee8ca0963857df0aa24135ee39b1b67c34de732c647e1ab2f624fa38bfc0cba083cebb77501c40579f81956cebb23d7a95b81a23291ea532a33915a24a9195ef85a0f0f25ffb402be37f510ec385a85237c3160262239fdfa1e8bf7506aea1060816bbaa66797277d36f774120256b0fc395cfc48cb409e5ab2e853ead5fbcb7c29e9f9910acd673dadd450ead43747fd5cb094ca4062e51cde707bfbce5a1da2cc0cbe80748eaa753ff2029c46f5f37eb85dc04bd68dc625c32120366eff0624fc1dd7dc2cdba38285fda9072b3fb5310b59a80bc999a6919b2bc6b13bbdae693f4c4b24bdc996c42c3edc402aa969701fa65fa4241f7c3c3a297d484389b98a11037c69c50ceccc19925915ba760679ec3833bf6b332b1c784ece7e560e2e92ebbf313f5b91bfb74e25064fecc03418c3c6bdcf65ff81efbeddf66a25adef6f39ed4f84573dac3db4489fb409534a2f852777db795e4d12b410d59cb1e977989485f9cf7c5c0e13276c1ce722358e02bbbf716a84af12efda67532af86cb4704a4b122b712e383d052d00fa628393e0bc99e47cf4c76aec5b62ceff433bb0a0b271053ac7ff3b3623d47cf22bab7ccf086c923501f873e661c7f45aa0a53baf2b088b063f1704be9cab28f34552353184430d849aa149f7de0c32685a7f49f32724ce49641c7fcaa5d3597b13cc4a4be39dcbc914094748f0d4a138edc6b85fce70d087c85164de0b63f50c8e9a69a2f530c063c79c8fbe84f8e8b0a042c1120474841bc466c2f6618fb6199825477f865f24dd27e5884baf9f4772e0a3418e8186beaa7bd488018bc7993dca30244d8c4b921db74ae2141f6fb2ea31b240209a6ae156772cf47af75f4632de361c31ef914980c43d2779c6153bbbb06989066f80421e95cbdae4ba23b06754177a0ac20cf694c26cbbd6cf709660faa5639ea806991367097cf31322ae0de1f25bcdbdac0c66ae750324b83ce49245c5727e9cfe5cdf710fbc55617b53eb44933b89014c6361a5bf1eb96a8a1b26a9d32c7a1ffff8417c1775826d75f0c0e1ebb496b3a835fe11e1111de6d09c34063b91d9552f51ad202959e9a2bde6593640c861e757465d35cebf643113065708c8ce71cbff0ac00893ca638a79a5c05d608bac6c5f6ed39739d7e47f25d21af9415371374bc50dcdf1df7d85cb0103ed9d0223e3e32baac8a26f306a459570227778ea805c9e16ae05d3a078bcb0b378edbfee92340a41bae240972abbd0972e0d7f7c9db9da9df3e6c6d61b59922644dceae96e9b3d4c7508077bd5ada953dc740ca1909b96fbe41026c3ed8cb8d114ebe440908fddf419cb275008481e00537eebec71b91f068ea50e87e35f392474100e50d082d933939118bb33f2e8ccbc722ac71b4111914025650d7c481877dcdd6f45f68fd64af986d0f46c32451d60f23b90d833da4d3c1c9cad9b6ecafdd1faa1833cdd841e36f8c144d3d0e277bf5368e3cb2eec5b29f99e78d613d0cb33d72163d7b32f65e29882dbc9a38f4a9fbac36b5f48a085294aae183f84c4e828c81883d596b74f0b185533c5e1d36a79bd552d00dcd3249f272d43f3eb45ba67c0ef10f370cf2510beff2729bdd14a87cf69300c2000541a210bad84202184212409201fa708e4db06200304090b0308221841051a1a181d0719120c0d201a050c0d110505b02012b4032205b803b007070c1d30342003180910210400181a190907061f07210712081d0909080a20090d080a20060606a8060404040c200c1f06100a0821070d12191a18210bb007d305d405082007b696e4cac2fb8e82ac7fedfb99f2d2e0e4efc6e2c402b807cc05d3005d0000e3b907ba07fd8d92c2c1bcfceed000f5fa85a0c58fe6dfa17fc705bbb483edabd6c19d8c897f99efe3f68e84e8b48fbc07cebe97cfb593bcab37aceba4afa3ecf2f593bdc1bff5cbe38cd4b6fdc8e39e8df7febbf80bbedbd2beb6d4c498aee6f5cac8f38edbee97bfe8f0b8adf4dcc8b06efff3f890dea9c8d7b87fc502c0def29888f5dab01da3a986ebaadcd0e1f200c1f0ead9f9aba3852ddccba7f3efd38daad85cc2e7fca7b5c681dfd953a4ecaea691d7ec9729c3f096d1c4c3bcec9d4092b9f297b7c4a1f96fc4ae9d909efac7e390c9fcdabf9c81fcdbac977fcd060007bdcbb0c1e2b9c9a4a0a8d8f79b92dea5b445c680e88cd89a8f86e5dfe1dab8e7acb3d693edc78106b8b16126050575b278181ca7480c3981418448202291042291442222128c4adbc07237964ca5b13c20793e7bcf4fb25008e95ba7b4395d94289dd5b8841443154ea1f8c5b7eaaa608d1ef5574a5f1063f58dacc028438b0bc5c0fc57cb0485e356499291cb81e53834fdb99ff90ae205593bdfaf467c7849291b6d432a3a0aad55732849eb52e2483bdbf8ec3ca34df254d519bca8cd40c1100d8f2523a03b7bd20f508b9c00d2568bbcfad8dba838b48a9dfc447c0434928d967ac70813bf5e199e6da0e7182dc524679157fd29c14b0992d2f7df624ec12dc212427cee031308e905178847ec3661021733e93137fbe6c8fc1ba9a9bf00485aac875585c19ba4885f7da1087046008ae6e489eb04b4b236243f02d3c44124eec7e6c09613c379f2056ec12c1a88346644d4ec6f6c62bfc0628b20e41a37c7b96c05843035b908735235216f349accff0a7182583b6dee2d8b695d32e67de59dd887f282efc66f9260b456ffdea42e4cb95ca59851814137b2ebd6595ab661eeec605212eee2444b89dd019dea3a8292c42eb7b202aa09842201f7c7fcae280573b76332683a28a7af0275ddd2e88b49b6ba18c3a3d13e08f18f692d5e4b594c480c20f2e14f080492631c522bab84445c3b6e0f34f22b96a124e77361095a0e7aaee0d465d9957e7bf98af10c3db5d6c2919f7ba620c377f021661979655578c10627a5ebb1440a4ee1c1ad8980425558d2c0058a70461b91177901e1683578fb5e848abb3f72657ff143604d785f444797911d45ebc5b62fd958b4d92b21542777a2b480de1f962b2dc3c05d135c37f08c6b5f8744c469354013242702942c00e63df337a0de030cdbdd26ac096b5fd41a88ba82df9dee957e3fd717a6170909e2058cc37509d6eb94f10bb2c1b8ca4e342ec3793d8591bd58fd07e200e400e400d620dbbc2c368751a3133e1ea4241512979ee7fdaf5017ba07e5844793cb5bb3dce77e8b5689bffc843815ceafc759af653658d0eb9cf282478a33591925dc51d6c9015c7777376553f9ec48ca40e898f6a639553b902e8d9ac2af1f35e85674cead58e5b0d8e42a63bff1936860cc4df7f64db9c45f4f5111cfbf8c4df9cd69697df4d6bc696943bcd5c22c41f81ef2d827c217a4ed2527d8d73e07e01010696665d9e132ed6743c558b35b4f38b813d65f030f140982044a1a8dc0e8623b0aeea941657c26a71b7b92794b77ed4bdb0fe4eb3619b4d9f24fbd4ebc714bdc2e742fe85d502b46ab9b89fde6a2273d587b81380caac15fb23cfabb8d8bc4e8a02aac95259bb19e49b7918971f2be50b81c3804663b2021f9b8bd312ba20b3330d7b4f6f7e46bbaf45a9539ea92a1228edf56fe72277665708675d41aad3975da7bc7cc9f93cf2bcf2aa51eb7eb84c2f0493a62c8acd776d8afa9e9d8abd7c99b0b6bcededea3aaa16f8cad42494bc3e44b6235aa71deeb7fc729cd3f0d500395c5952aebe4bf4fffba56119a63fc4ce3ce4b235fc6cebda3ebd9e09a73892eccfc738f60498cff8dd7fbbe032555eb0a1c6173eb695fe74ef757a8bd70cce2e1f33b15f0d30bbbee3dfd25a5f6ba7e73ec581a37d03accbea1a502faacbff6f29967874887f4ecd56901b72c19754ac48d81e66aef6c53f3c540635bba3b376ca61f7f29f4b36c44ec37b6891ee00401c4e5ff6a2173671b0e92d79dc85de91cac49563c33fdd12a5a541973c9b5a40b73b50ac20562035f15cedc58538583f098cc604a77b22bb907dc1cb6e5f5f2d78fbc66ad2573bb1fd7e201510864f4d3ca15bb0f4f72731fa3707bfec3018604fa61d3ad3be93543fa84db65d598b6d7de005d28a0de73dcfeb133a9ea39b09f544e6515d471ca3c2a54a8276698e4bb09dace4274f7430fbc0f02d8172a3a5b04b4394673d8a45b94282b2dfe3bd644f79b0f8f128e013a9603b3df66335f672b2232e8b66a36e48690b9a3362bf6b258f2e28cb233bafa506ad555b5e7f0477e82a18110e7eb8cfa346b85edb3a03dc85a7f20d7c695e1f0a19dbe13a6aa5396bd490ee37c953dd97aca5fe749c728cd9c72a5d310d3b18b360546e7178b57d1fc481df99657c7c4a8f61f51b82d3d86c35971fda13d63fcee47cf45be421b995dea96b349d5f4b37bf96279617786fc0bca81f625d843c9decf07acc9c524636b9569efd4161fd20edbfeb2e2695833ed9c687e0b2df223528ed953018106a85131241209f50151961812a2112549da01320824fa86258980102228c2af089fe06331c076e6408f04e8928990e65c62f4a105ea2055fe4d5aff26702845fe70b18d42f7c235c7e51f7a6c8211cd44ed0825e51c96c268ff44bb52f780e84aeae6811a259650f8f70ed641c774c6c97ec58cbb0d79dc97430cb54752afecc960b7589e3c928b7b860633497cc5f19247b91899deab2812993d1942be5c469d82f63f660fcf370a8107afecc5678d075cf116ce044e1e8733e4d5cf9258893da5fd62fbe225ed90989883e65b23ae015e9561ac9bb97a799559571b0840ba093bb18e40b1d615758f9ced131c223a266d99203cb06229e6a5c00e857869080921f9122f46ebc99f788e52992161114d4dc17deb0f739b680c946f97f9e5cba293a0bec3751110a08d1ed205022c31d7ca1c8c1f8f9eeaa61a4e120689b7b60e4d201cc2e52b86bc1a8c475f83c66167ccd0d9fe69915554c9d389c8b60e62e43ef89f2f90df5950e82796b0702c19d1fd02b7e5b682c77a631751995db5f5243a6b08226128311029d8c06dbd3df9a69d8083dbba2edd6f9528453ca727dc62bc5b608988b85a5b7afab26b9ca096dca49ab952b8f9c7b3cabdd39abc3dfddc4e6431003654462d60590764d870a23e3fc4ac316251f8e5d0d21788827108c230e5d02d07eb284586d7ce47a3d75a4a29a54c690737003a003900b6566baddbfe0151ddb63e873c1bea3066a419477a3f53f0d63aff160f9a8c77de6e190db2e7e37f21d51927b66737ebbdbedd1762b9e7f5ddefbb4a8556bdf39755e121591ec80b3400f4bd911bf17b47d3e2bb03a6a244178f6fa415eb4fc22d83549c06cceb30138756db5b2ad5d602a560d477ff23bd9c2ec900f174d1450f7806e80dd038eb7c6213f39f74c4e448b3f75e1799460fc9dd45e2d0399db462d3be8b4c24cf2fa21e569bb6ccbb6e3317da95286efb5887bbda0c3d07a32f3dca371694f1e380b5fa74d1497ef294b35eb120f0b70b77e10f18c427eaa782b00503c220820da8428cb5c6f2190208a24810432948809c534e493ea2b01cda824086941992118a9214140a1b7b0602feac2c16511b62f631d0c4dfbc051eb783842b994b11f1d0890410e5fdea11ab4d50ce1f6914b163a854f6d7f76c724ee85d9324ba88a0b912a9736c5be88256b63292ec6c1d0a0dc83d75757fca5ef0d5a4e38ba230a2d8f376741b85f90c7feb3470cafd5ee3d076d8c0a29db33bc7a26e0d0f9aadfd91f00baa6d4fbd6610652ce5d8980dd9e634523a0ae18c6ed2870fd19409ca036065870c513f442c38744d6ecb729ad085026a468760fb166cc3578e0f5b662e85b70c4a423fedacb43e9e438316418a00e8e7b60ced50d2cf0280021f999319a71a0c58037480baee081bdc0eb482eb6818011d2f401eba3a28aa5914ece484e08ed623169ef267bec6c8fcad48235827f1ff42d0822fa87dd4b3c7974163ec64bcae2e049a191efaeb3698abf361e810c312af247543007db812a783a0f9b41005b08cfa7e7b0f2bb9531805cc24481b456b413fcb805719ee1173aa2fac4595ee1271060b11bd07e796c9683e3140984b2f57eab48db9fb1b02567f8a697760539a61d56a87e0278b33b5e7d633594d4460adb1d7b08e89179703ae98c53bad2be4d0853b39f43bb7f22f39549dc7f08853e22ba44660349091b3129c1997b200551c9769c83031643fdafdf8d535ba68949ca37c071ccf412ab671425bbc3f616296389cc2dc1829695f60f4746cc83e23590effeba30fc93fa80fa21df36fec050b89299133f8c4a5447e5ec921bcf4e3824363bbbe15599ac46ea98d4dcf5d87390223875ff225ca5d3de5268da76a4042108d71e4290fb23f5969b47802247877fa57f20a19684a25782093cf26e547c799984725602d05ce2d659d6398a2c4b962289b91fa2a32d0e4b6c6e4aa599209b26603872a33164f9d9d2b26b3ea59c6e377e4852cdc6d378037e8754c00573512913ace71c4d053cf4f72346f9b226cdd0a315831b9d3bf055df60e6c64dd7969e40d12201be2acec97055676d78aef1eba787c6d1434829f823cde957c4dec39f9c4aa9e6bf8baff23947dabbf0e6519461e288cd6ea3add50190731b88dbb94cf398ecc2a75613302b9d539970942e28885044d19f35f7e9a1cd93dbc7b076e382507ff93f9a9510a9c46bfdf462b128b186018033d1b964cca0d1d67366562cfc9ce96a5ffe580af3a8d6b4a41fc0c3a449e767246a86ab1e0858d854e60e9db5424f3db226131d02acd85e31687b72054085f322440d632f935aae243c397bdb20ada7528a05792608fe14ee134fd009516842f926ef88f82f16ace86f345ead358e7ca5efb6474f4a26e3b045657979a697993bbc8337eb06564bb0fbf7cf512067436a0c55912009bde952fc369f963c8d86ae78a3178fd8b0570d09c5a0757af4f2ef0e5e450a9b4aaa17597f8b123e0b140344537b6ecc72a8766aa8c2c97dcfab186e17a307377028183b29a42e15f1861a56159ec705a89f630175adfb553498a840ba506917d64b764f53c692c4ad56457d51b255e0a14f30d981fb61777cfe9c3cfedda6a77962b825b636aa2e0ecbe6b176df4d1a4292f27357d694bde0a06b4d66ea1f59968ce0551715cc64ba1bdde657d9386a6ad7755b6ca8a476c9eb578cd140a9fb985cf742644fa96f2192a50279c9f89d78807e7334c4a6b986a6909f3ea3943e1885a2cfdf2f83de7f074e2f44a17e3f49233d3138d699fa0a623733b83ad50f01d08bd7ca97887b0b3985d07f4399c3b42a58b7dfa78f721971ed3c6604be74b9603fc0e9f7fb51ed17479bf9e195cb802fa81f54f4c30a05175d964ea4547967089d96a43eb51a5affba7fa8ca37d90d98ee2918eedc1dff488b3000c405089000a901114e08b32a0077574a6837083cc1a9c75b8837a44b676efbda59432499976fd04da04020565e4accde7f0c30885bc0ff72cc0647183520ff245a944f9ffdba7ff94d2a723bef92b69967f945248d374210f7220a755de5947a06e0cdd1852d48c39a2febf7d5b3eb536fb7e561521088d91437cb5ff2e56faff5e5367b6666d0911f37b07d1fb40d25c4a2bb5d43a5d42dbea96d25a73753ce65a6b1d6bcd155f2164d46ab3992b4e560f13ded9087f327a33953063147db17df932071832ba98f2eb75ab20e31d0c8b969704ccda6bc556059b6615a77b3185a54793034b67ceb92293383afae28e22aeacf6ee97e302c38a1d337c8ec240828689b318597e4c16a30ef36a4ac100220a6cf9f8d41433a4ad5d1c2540c593052b67d410c346cd080b9b25d0fcf8e4b1c7b087f7a0e287a9224006fda240cda9f344c14a1e757c41866d8b18ac470f48d81ac66822890b16403366cc33f479e4851339d64f65c4f72341e84a1e516355b7f56dadb54c5058a105bb9dd8544a78c6e1a95bd67f81391314fca9324514918c15345c8cc1c31eb12106d616b1458a5c80a407345710d1831c49542819f2438b0fc121d09825e5007dccd69cb5d58733abbabad32951547bbd232e8890bc00f1031e71315483556857f6bdb65aac1ca9df6bef46dea2480e24a1839fd3a96c3cc8a63cf117dce24b12cdd9d1dd5b7667a9adabed2957b98dfbe9427c88df6cafb97bcedddddd6b952a5977f7160ba7c5d2fbc469dde46a4d3824f8fab9be77f2b42ef75f0be07fafa8d2efffffdcbf7d2114e5a5acd69aef2c2749d249df6f71c618df6b5ab3d235621f4b0286da5e80dceb84f0ce5e109fcd4f154c0da93f008080d48c4824b04c3287a6134ad7d8c5142780d5cdde3a8073b56f86e47ebae709e99dbe203f9ba04a08044010905fcd8f25e2680194d4ba7dc9354c2a8148bc13d3fb01d031a9464d94851bbadfa97b59e2334a443a678a78b00dbb21718dd57f143f5356cefb7e20fecdddd7a571a97df7fd9b1ffd9775f3f8ab3fc5b7756ff01eb34c28cb02f8516e7cd09505f2b58c99356e32c3c02a49cc22c7960cac37229bdafe4cf7a18e258bc718fd8531ea8ea8183ada823b22fa39d2228695aaa882331641141879e989548434f4a674ef9feb7c3b3733eda256ed727678569a5206a258519762b3288af4efbdf60c5076e52cbaa1bb926b830951135d007599f20516a538bcc801c405a9d103943365f4d0820c233596a0c9f08228b27c3d9e115149148a411462a8cd64b11cee6693c17f39be55cf749d58e6dd75c8c2d296d656aa44a34e0fd490e68d224bbe52abc46a58f5568d12b6a14f74c5c675222e651f7dd266d8b1f7f48c907cc05f5210374494dbe9729ed1806a4136a19b70b884957c625406eb1921f9844213ab523159952edd3f448cab59aed42ab757c4dbfd2ba9b65a52121058ab8d06c1f267b3f582e959584a5133f8da8110ba8a040ca1ab1db287d661af3ee7bf494d777ff7e19d737e3cda6cfac6ad4b77fd6f770726d8538799b6be1b35be4e6e0a0aa999a69669d23c99268d1dd1a049c2eb617cc3e53bdaa0907c5eafac379c99c47451a6939b3bdfd164bd6ff23cb5d624594fb072381c3aad693e4d9a34f66234190d1a34b3d1f70b0ac99c8ed72b6bb61bce548ac9ec98994cedfb9dc14d8250a84fa7bf591456d9ab94fe9768b22f7a37fda7eed454b3bc5b3dbc67cb7989122447a84e7218a8c9f37b53164f4582977484c7e3e5acf579eeed4a59ebbd0abb800024ae152df672728c1481d1bc435d9e93435ffadc799748a95e9d39c1d3096dfa172e82b7e5d13707788cd752fa507caebafe7864ebe28a166fa9420c31457d6c896305e0908920e840c38d21a549f931540a107947496f8d9c63a428af3d1a9eeebd6176d832863912de5aed2b87f6b59c7374b4349229757097a0c4258992a31429156b1509c0e0ffffcff6ffbea67f3c0c63fc157bce6636a9f9f9b1f837bded0e336b156faa014fab172fda95bd8e6dceb09b12ad79edb5fbbc5eebd8397f6d6d9c6bff33ced58af1b9bd3c1fe53db0a27517b6acadb5d6fafff5afbbb53d60f80f3fb6f9891d69b06f6f703d948ac5fde6dc7befbdf7de7bfff1bdf6b4e27cd931a668b1b51488133fc7adcb12355098f4f49c1c8c31c619e36f9d6799bdfa54ea9bd039e372349d8ce40cf98af949c63ebb295b2baea1d28a43023407df5ace51dbb700d4a46078d50b8f2db6b6550344866bf56875138d42e2d6c58b162d5a8c8c8cecb873442c8adb8a56c43744d9f398b5d0b5e64cde4698773f102b3e632b26909fbcfd9c2dceb9f53f982b9bd33f67537addbde68cd15a17aec18e63cde378334ee05a9abde266e318acf5a4cf6d6464d5603562da9595d442706f9224499264b5108461b8e43e3f3d2d04677eb3f0982b67d4a8c79a519bc653ce94525a665e2673264972249550232a637cdf00630306810db129842fae280a32ba375c9c00ca5997c008a8be003843f7884746f42bded6544f15554dd3584dea5bd74d4b72acb4dacf26cddb955f6276cf55fc8deddd741ce3e63fdea9379964eea97f93f3d893f557d63e4fadc5af6439e2dbd26770ff3f938a64770841202f1fb1030d213466f8fe0854f4cd162da641d3c186d6be04431f51a500a4d1b6a3337caae9f9de9c7f5f9aefe7cc32f3cdebe5b67f275072f0bd4989df2aa8698d00852e6f604e9e0c35adb1406898125725e972db1c72efd80c04008d3ae124d7ba6099da24a813b6fb61a6d763b7ed9ef3fe2d45619327af21a448c262ab92451f2ee3a20c2d722c1ded80c6a7344b32c39033cc9a34a5c61c388f79cc632e9bdd683621db6d48a8369b01d9de0f4908272444a3d16a3421dcad2694cbf58880bb259eae6889c6a80f95d19f60127068d4fb21d56ab50a7e3f9c134014714119b30f3c84389b92f63df39f01d5a6875cf6d9b444e4bd99493b6d130865d31be548ded375a3ea3ed56d563b94d399aa197b02c5c7e24b8e7e4b5c5a4c8ef6da9cb267aa42f12a2ec52c142bab550644537be714ed88c0d7cac5f3763771f24a903029928fe41db6d556bb6bb5b6d63a56ff91b4fc030e9e1416fc606b220a9b884a1edbbbe6e3dae1e9019ad58c1c4192648907b92c467d62f4a75e3b66b7e475dba63e54467df67e39d0b6d56440b79b4ec868c893721ee438274a120e95967c486ea4eb7991cb642ecb16e46d0b2a6b799a913be2f203cc75625388eaca1d6ad3188ad56362bdca06bc34f3c62f28ac2cc7f9cd8586eab563764b5eb2de315b11d7237e8128a6c083d0b770a6265a80a8d9115dce6315c92e082a61e2341428922557ec5618d26ed0bb0f14337ef08bc36bb7eb9073a2282ab067060e202d4c10a5c004513d356162d76a12c5eef522528191ce696d914a71d30c30c658acb55e51ace28b5244a428d5fc14103952525229246a47326cee0ebe6c859d92c3469ceff3bb345c79191ff5aa9830dec08e19de7c9818fba0f9d1c29a06631dbc37c7b2f6ffff51193a4c4d719c79e11be5f1a5262ddaa4a28b5e61819d9cd0b81c120246e8f50286d57de1e3e2de8809a3b33d2052b4c2f800266989e73b0223f4d5ed909179f4a528ee54d73d40573148905a57147cd1757f004f57e799b56be7d573f0f37febb56f65bb5418ef21b1852b670943575d4d0ab2d0dbda7c448fd2a73be24efdccdb3d3bd4a98edaee5954449f5b74f1ecccbb35066ae932f71f9763caa3b1dcc2ad771ede9db9cc95c9ed62dd25f59eb9880ee1bcaccf7d5b2e1a064368cf157822e97ae379b572c14b7c3a8de3385efcc2c6d7641550e439aab1aca6519be368dad71c478b324f7be37d3aad3045e98b240993d164c00fed028144dd9c4811937793a75de6d2ac29cbb1c6cca63635ca48992992a092464e4a91155cd2c0f5c83c11863491a7d3e964ee913495a6d2834a0ac8b165bb5db7bd7a8c987988185c88b1038f20766070fce0634c1c510c737a88c232c0a01a598021c41f3a7001c2e88fa0f08729542ad029970151d6886101a30c21b8905c60f1c4ee8d3982083a0e354446298700191e35b3f94017df3453ab1cb7f95428ac57925d45b1f274938fe08cfefacae1e92922da5bddd65b2badf8092cd41a20a75b57340ab88f5df75324d44ffa4b50286eb874667107e0a2cd542a154b89661ccdd1c3ef873fc4d0c42f5780d8a38a116bd88e5e6cf4715382873da618c2841d7a57b26c8962858cbbbbbbc6e76ae791d4953ba813a68b18d9790180133a9e93f614091122e45a21ff457af2a55974a73bb5533e922854e92dddc37351e3b036d2917a3e6164ce68ba699a64699e5ea250e4ee44eaca95cccd57ce36a99413ca44a132465d8b42a11e5551a833be1469366203aab323f671e521fd91ca13ede33ad3fa3cb76b76c1dd953cb5491d6584ba01ea223bb2fe27f7aa067214a18284993eb31b1b24a19d7a51b93a5d39e64ee9f72f45379f22dd94a91bb8bf4937033ceeb40e1762e01e741f9e332d7b32b3a86df3b6d6ba2da661b0e73ef1a5be1a1369ce2aad9e54a84fba4d28d55fae957e5fc2b564897980a7bd96148017b2cda86141e858a90debc6668b7b756d0bff2d6f595a1bbb550f536db90c6c4929008706a1b49a0584529b22dd5afa92e2723a739ba65aa3f3d08e62d94ca1ed027cd09919646a656cd40c65a00f937512c916ed3180cb7dc7d31ec77dbab76853b15f306df39e4cf8312bb33620c78cc5c87a4755e6e86265072b9e00fd9082c64c105d76103fb3bea503dd61d01edd74cc7c6be441c7cecb117c0821a3638b9420c8d4fb3e93af77edfe4c833a7d6e97b5a136405be9cf67073098e4437ee3f1e8effddffd3aeb89dbcaa1fa50fa30951874811dd0cdbc6923bbb7a8e8990d27d6806ed44788468306f0a1b38fcd66b19928be9b958686067bb35c4934c078ebb1452320269a18a3e40597344048f4e163c41427c68c51f67a2926be5d2e918a4b98a0803d49110944073e0d2c828a044942e7bfbf42c63d57de6e73c697ac64cfe753254cb2a4055b8994c49023418f7ca576af8f6df05bedaef6bd565fe2ee925a1dca55f69c47cf651e73a6ba5a32dbfa42b66fab6d89995a3656f862ccd363e4022449942c59015f2bda6ab5bddbdafcff8f59f6565f9028bce5496beab536a95b0b738b818b2ed1d22c8657fb3b42aab31d11011df9624267111d8d017e120ac12fc7f5e22962e482234aae7d326cc86814eb41cbebeab454acafee792f2b7537be77bfb66fd635ac887db09be7f5b26617a0bf62e9b9c92bfed8955a6aff789167c674bebc5869a256a68d9fee832778a8728411144025f0524ef358d9d67a65d5b7830da8954e082f2b2e565bd0882049ba499a61c842a4451658e4ba5cc165c88a2d55e0a8003262358514421878112b2dab28a058ddeed04a4691705a82a369e5d90ff5893da10ee545f1b5f3e2e94121bb3b4f8f2b098aa7529e9db7368a9326a2e8ae455996b43aa5f429f56a85d32a5657223a15ffb5e34a32cd285775fdd77feb39b7ee30a950aa1ec31e2986d8c510b54a0f389b99e10c56afcdb9561dd2b579b4e6e866ae3b8bda77ea77f7d95d46b87f2020513cbe895b5ff194728585529a69a526a5b5fe535a56f1bfb8db25b23f418750521056ae50d55c5dd1ee337afcd5a5c0fa74f79a5a555174dff6f163ec999a56e7df3a42f79dfbc137bf5042ac13341af27492747e437e4386240987281519d0eb1921fd72412249bd9e8e4f0789888f88d0eae4eeb53a463a3e1d23223d22bf1d911e900811a5dd4f5150efe7231aa2130c16f18a7e44ba1dcf756e4142b821d799d17e72453a404b44947cebc85cc7e7f3fd4a537461c890d68df4d71192417521c23c21ce87cae88cd26811d5511e05a241f44685e8d00a2e6ce2048a1b2579920f7de56eab1bdd11df16e80ad7dc427f1fea5c280a814d5658f2255aec26fbd1d1dc57730fb60003a53e74b6e443fa012b751dcf8bbce7428ef3db30e7b520b759ddff53abd3f1b069ef0edd2efece014abeb3b36dd1ded2fe5d31c4dbb7138a6da4dd7377954d15a4baa9704406e874bba2decd8783a4d36dde2ec2e1e1fc7edfeebde1e4f66edbcdf3dbdee9dc717a43383a9ca19492521067c98726ebcd8454b4edf36d229c1c0e91ab62aa9f2e42aada16dab83db473bb57dbb40db46d3b68c7b60fce5297fd83938413c451c271f79bf51b961b165c79cd9c5299a993ac30bec9ecfb77ba95226a9503d617dde2e19007542ba594067592502b551b03ca58e953fecc7cb512c84628545ab2a5aca495b6fbd8f7971cef97f75a6b6f34a8dad8b88dadd6dad2a696b14ab309d23a1d6e57b4ebcd7c36481aa9b6ba09d1cd33cae9df037f65dfee203eb2181641416643381b5da544b04a29dd94b62cb5960ab108473bb43f2bb43f98a813657a76dad45cb076f889d29615960b64b1f8662c4a99152476c21e3a886e8172885a6b5b25ceb62fa666ae6f2f76d30a7f89a748cfebb57996daf3b43a6af264566e5915b6657d6dad6cec40d9cc5c88ef2b7cecdda40d0f81b91f77b2e723917e414f3240384c2dc57c32d58f4aa812aa94544b9f5252cd2c39bacf5e721c6d79fffebffdff54d0a96a0873aa521aa68494c680a91490c4e16a4342443b5d8ca74222dd46466b526eb733ea01917ec0a0fd6d1353fdae4865f4aa21951011910aa8a6bab9cabefdff4aa3d16834a0329ba2a77a7546da12a0241139f396b5415989c36767f737df632ba594d01cc729f8b650cb4d8e1863e019b751f469424d393b7902256f9d0fef87e63c6626a24de59dcb4ce69bef36779cbe72dd6fb3efbcca1997622947521c74975914b392254cca0d74259519e75d66cf99e27ffcd669b5a2bd8f53e8a2f5b9f7aee4589394ad337bce35778b4771d0ca6d8be8b2dc47cabc336ed5dc3acbb2bc764cd19f22c7b3d21c92fc1449e69d7734cf4992a49b910aae71ca94663a412ec791e27fedec883793ad25638b6abdf3e2f12746cf269d60f42a8504bd532b5714f1772b2958e9c8983c71e7c569c6ff8b3432ac28fea77435d5b7b6fa5bfbf5ffffeffd9f9ea894adddba08010c23a6001812868482b12cc7611086d23ce700d4428ac59b894415a1388e86310a22190663903200124010300610cc0c8d360083ad01b7b7e935892683d37e3f562372c71bb63e87210869b4d5b500a41094b5343812bb0731c75713fbc03a9185aa0a477145a452ead9e3f86ea66ece427d43e83b076596b36355b88e15c0e17347c26919fc7550d58e957bf1c8432dfdba855e679dc64a75675c9c1cd398ae4fc2160564a9cc340c8cab127c088ac5314de60c4a940a0dd75e21945c07f94c063b27240a5d70d563e21aa3b6b1d8b7e5809da9fed7e77ba808b0fea7e8aa8ec845f37c6bde8daa9770bbb5a707c7f6b41f290708852f5a33de7891ab8ebc1e8de6741d1be8ae5fc0eaecbe421f9cd096018c9ea79240052d55e8409417c67a45a589a656f575f82cd1d5f363d6242050d568c939e885bec2d35b40153676e9c04fb54c4129a0f804359666bec6aca56506695ac9f1cd62340f1e2a059d0149265e2f4780cea46d9d7884fec27dced22aa37e9c83bc37dadf4c26bf61899fa241b002cc7f21bbd6911ff211a7d125cbc318b352e3fbd3c495487bc361002520403ba238e10913b14c51e881a5ea2b7e915b26c476571f8100d95070cb0d3dd1ec7b4f025a0906777fac0bbb4f4707ea32ad21da083c5f36bf1874ca1dd522a9c71b23b46569c12d732b760acec902cc2fe1c22995b6145fe61a779bad2a79e6f8b152776c5684fbf3fcd6f36272f7b7a115bac64edbbb03a7116c9d859a4c9a93f510e4fd45dd889e12ebfdb3d9f9563b7c32c1e09b87bcfb2ff7179c3c09ff724c329ad75ce5d1aa0bc20270671ede214e1abc66a2c29945de0a0233e74f0c1cd7d1169bebad98aeb3dd77e5aa6309a73f983ac2ca7b81d8c898b76ac73f1899642a100454f09dc55c2d118bd8e0215fd7fa9c4d45070a234349b6b51586998b7fde726ecf528a4e34ef62afdc56d24c2026acbeeb8dd9ee1c9391f0ea3ade1fc30e980d891b9391636831337d72c52ff07ea557feb0af3c731c72b141f81a25cc0279733d0d5850f9df1edc3cd50c342ce152b7a6590d80bf8ed7759a46932c9451d08d829712136620619e933900cf3a4ebcb0d17f6f2408bc74857095119bf6451e54bdc4ab85fb4e449c0cab8cb11f13383337abc4ad26dd40cb61b4f7d9f0f2e8b4fd4ac183ed7a39b29a080416fe0736cc10242e0c2615f12afc4d24dcc52d4322ef510ffda0169ea4539eb59ee08f480bb338b31f62f8a6751fda69abb8967acaa092a323b43f16f054f230bce119e00b8ae18056b118170a68011783d732bb9487238d25c3aaf8a30c871c0aecce105cdfbf7a1a025eb14151f63be40c25d98264271f4d4068771a299da65527512ce75a35368152af2e959e93943aa1bc5eca8a15d4128fbcd4398fb53632201dff1fae69685bf00b7a20829f6e4730ef2e502babecc8fc1efbda791598e105fe3bcaac20b909b6c0873044237e5859cf7ed2e3d0d5c7b59430ddd9b3963b690d2c4bee2be574149852692a7525ca1941a2d2d03437b1ebed35d8ab52828442f8bc7c83ab2190b410ad30bc6da3a790e44f2c605c60d402c08a5ad5a48fe8512b3135a0670f154d84ec26520d66a2686d90ef7c014ba7bfb8d7798df7605c4c791b8350d6b758f35d96585527f37ed722b1fe30a1446e45b4714e32be4b09c153be1afcf8477faf9848b16223b27b9811027dfa5c46a38a2fb17c7ac1a9365049bcb582dcd1d24ee0a92ff4397d0b65d7150d89bf2b6120a4c50659703edc3b8fd55ff473ee42ecc9c2b61b8ead3c69d6273745a96e45809793dde1e0e73090418f9ccdda0451b7543f884c47b2ec667cfe3c1ccc3b7561eca157cbc188302e9a876faf464fb4647dab1ccf6e17b60ceec7ea69aff34ad706564cabad8cf1ffd7edc4ed23b41619b164d02ecf7de80d840561792be62f0b2440f2252c54c4589fd4504c87520fd2f8f4b8c4e7f2431744024e909b6a6309fa572b9b2d95c450a29a100e1c2300509a5ef27a0264cbd7dc66b898b730208f55618ea2afa2948664ed09a5f27c569b65808e325ddcf3e1f22bfd0ee400ba348ce79e23f43061a5d59077a18a4b45947ef7b8c298959f08345fc43c7329b05d867f4a164afb8913759d014b5a551a5770278409e2362a1081f44772a59e85854312714f29237fdfde05271b6197102c41c1324ccbd2475c02edb7a720bf4699b9993d0740ae61e977ddbf5f07d531ffa5b862a2fb3d591dc4e5aefcb7a24bee1ea97c20290b6f1fb81d1e580c02043568a1c6218b2f3a6ea963a7097a5be031e5b75e91e3daa7ed34f9e3db816504132840ceec8157ab8e386efa58c16e420a680d27bc9a0a7f1cd39867c1198a4702b26b1e96be1ac29dbc673a434c4ff2d85bbfdc4f4af10910db524979962d5a1958b243f6290a8820d602d3c2c896300f23e15a61d2590252a4b12dd7a503932ea6a156325ef6f68860d09e5f8934b1b9cf1d1a1d4e09010ab5b945b20118fc610f7205af043180084ab78a729b9d9e1a6dbb64a867ea7ddc04bb4984d997dc08ad3c853d034dc8f8315990ea73618c415b65a71341cf23ab1e4a47641126928fea5dc0c206745a231d6b69b334e84ef2c46ac005efba58f2a22713afa9bd6e7ce1664c92d5d3b4dd1e328b064e5ae65fdaa9ac6252e5ba8e7475461414e0a2ecf5aa346b6e82862190a46502a55d01ae8437674adadea106c3680369b411a62d43cd011b77326def6728f1dd70f1217d30cbff1fa95d14b8435c63a06f492aeedc3a4c2f586e1e636aa503b717e4dcd1fd3f2b3cf056da5f1354488edf3bf40be502bd8b2fe3c8117da5083ae1e8947ba411e59266b7f33d003e657c22332a22092b3a6199235a19d51060d2ba1ba3d7ca100a50b7875fa1547a7a950809a0ced9291a590c76281dc28fb70a91edd80731d407c7fbd87647568cbfad9c41c27f16a53478acac86e6a6f53a0702b04579d72f3fa4e89e61b5bd1e6e01c4480bae60e37bfd32162ac8e51bc23dcc6509bb151a07e956df567e7930ea1aa154e2eaa70bdf4be5c100ce1612a5aaa9e0e184e7e0326c53ef4358a1bd7d93490deb10eae705d2b862723ee30a22c5dcd9d3ccd4552ac7fefc75c9d9c0f61251b2e683ccbe7e10277a3f67b5fa0cff6af149d1b0a7dea6d809c86f1f8fb5944689dcf87e64db291b759a1999c973974f91bccf3cbd8203c0c1857c78f17e4cfc3e30f98c903d9452a19d94cca41186a161ac50be24fda503de86ae3b31ac3b160f15d41e8ee55e298989bf9751e0e747ac83f9b15aca75bcaabb6caf8ec8bf94e76df064a9579606a14a131a9392c45bde034e6bc67a733de7a23c40150a2776bf1c13ac1de1ad765c2c1bfef58882051c76af0912ea1b0f043f94d445119c62b4e54c28a79646b8801fceded359ab5a5a25733139fbba94948a7866cc6ae491324ac5bd89c9427383ea69a56e3a0d561efba469c8e0951b81e508e63f9cca086040742e67956a670464dccfb830a49c9203c7d06527444d05ee47a9f5a935c087c54e05b6c42751c86c502be28e04f20b61466181940e63855550c165283437538432c39ef00cda36012f27311a34254fb8a0991db8ec17c28ed1415d4acc9486422554f81dc6ae630dc5f88e4595bd8860a6bd9543e3f11a9dd22ea296b1a7016f585b2c11ad3ac27867dcdfb8226a24a7d21f5c4d531f3536644104bcb85b2b9d74f40c19f73b813f80da95707b64fca8cde451608a84d2faa44f427419a47b008352b91cf853b1cf0d82c3771558190ecf8411fdc4c007980c00000252674c128b26fd8d15c8348d1f059ac135e016ceee9b93c2b6ee8ee402a67b3a448f750aa748a58e1db0bc2cbd4df099a0f2822e35c9251cbbf0ea24cf3100bfc277e9931acd466a73e22209dc02798dacfc320d60490a494555606f98a62baf04b2f5e173110d8cb4f1bc4bebc21493ddbdae61e1c52f2aa64177aa2e8e67732feaa269311d079ae5d174713ca97c2e9d4c92d79193259eafd8f728a2a58a4a16759c0d697ccc2bb958f4a3259bfbb8918fbc37309c5c23e5e9489e28c33080c59b9a688a61f197d36b7484d4ec49ae9f7ee448ef556c2a25240c50064276311c025092e9f7fa429c26fa6c8e9b73b598bd0313c39ec3112061bede1a6710f5c06beb648ae47bb3e4f01bd008e81f45d4fa1131c6b9da915e9121689f91f9601170de7379f4877839fc27bf2839f5b4893372a1dfca26a68481624bf65294e69e9e987606b1a2dcd3282c8b21eecd65ae5ba7a6ae31f2a6a943a3841400d46fe042968dad503632f8ee713e73ae770722740a1e08503d87ecce95876ce8fb452910cac77cf74edddaa3420eb35022dc7145a4bab001682997230fdc9b35d4e8f22b903c59530a8d4cbd945edcc1c885784e7572e3f3a805491827781332d22e563f1a6bdb5233a47a688cc64abfb2b9632030f2b1fb3131f900ea1b997eefba1a9ce357739f874eff6f2a8f07397ac1e8597e8c3e69bfc88638613506f083c98fba75f09d22dea5b5d19a319fbe309950eea7a731d45a391a0f01165768c9f1948a7c07f0204cb3c591505224c470ba7184223ea6f4e7a84fd9d198b8c1b54c6076f55aa41d51fda253201b807d506fb13f878214166d3d84e3b952a349826723a001340070753fd1e160c7816bc7585e538aad7a976b1e6aa8832420d966b26c1c35c09d863dbf9685a16a6896474103f1a0b3d8203211a77d90ebada494199584f1016dea2bb24119e0fe2f6779a0fa760bbee4d7c81d6242756b90a86778e281b75bd3a8df68f47a5db5036f3db155b1fa25705518026b6abf17d937840b1691d7cd8ca69b6f494c0d6a1559cc886c1380d673472910915ee8e0af3a4eeb6b7d026ce11c3c9229ad903c79025be6142615c781a22347ffe571901b44eeacdaace2661068a0d3aa1709fa9dc2540518e8d85881d75f4d146d74a4ccdb9501741641e65e968facb89d72c49729d230218fcefe8d7a235459a107370c6e8a493da120d2f78ce27a6aab0e5b3fbc36942046a351745d86f0a38ff9560ac32fa6a06c67112253122e82f71a96be96038ea02f714b71924d22e78734f56a1e0d0389e7fd50cc9501118533c61a2ffc339c97ec1e2c60e7c33446906824da8b67e983b81a06c81b158cf2130f656825af584b685f0a65d815cd4ddffd6becd875457c3129fc47580f8c71cf43a3557e0b10194e8573ea3fe7fe0c424189c2a1af8e4a210f620201fdafda2c9ff1c843bab7ee0f8233806a74c4da433cc8ee00683b3ce0a265c042db57a83d7d313d810b8a0737b510fe993f108077d69304760c3ac8f92ee8bc3ff5e898cccb7c708cd3be34f2a1169d333ced09e72db7c917e7607a9be120402daf5587f27d5857b08288c678802c1836c35ca7e95d43a8a3605139334d105ad78b8612b76bd2528c36cace01ba432e39689133b5ef02688b62b212957f2f425525ffe54aa944e1ef055e5fa313130127d1d7663674e71df1c9b4f1387c8f1433222252d3fae3f8a905cc669b3868ed0bd70abd3a9eb2618809427eb295ef876f197636a791dac00674118ee6f29bf2522a0dc4243474ac886a63966f894fa1a10c2bda9b72d0e0368720fcb8c075103a07cc383ddaefca437bc288235c22a354454d3eb6de03097af98da1115fd39bf1d6e74f4c3a62e7f464fcb0d1e53b7ed676b19fe1f24de54173efd6ff374a32117f35a288a5f97e99de53ae1dc8848d18fb54503bf005511e83c85204d53f83a5dfc0ab361b016d37ac6b5584ba6bd14b234d6f974630f212a0686d2e8ad7a25f6b55e84121448d94cc06b290094d940b0cc1eae50e5645a4cb734ef774dbb2c8d05ac4dbd7a9854f3012bf3eb9790e22acc7aab4a48d8b023b1e0b4d84606c34ff8982229b4e44f057cc854c5d026f681886d2426f17af2d5507c7a119fc7ecfcd74910e16715862e84d322abd88185cb6a1eee89fc04dd9ed7c86e5605d11e76f91199b21dba271a008115e41fb5dc04bc73abd31f7e98f3b6fa0aa8c4cc590d41cdec484c5d89bf7c2ffafd140cdfdf4366a2f9c60eac3cc26b60db656b0b795347db1e46405fec50759a121c6064ce4404aad9190ad84d1973603ae3278db431c3481184bbbd0385298e0eaa14b1c27aa0f41bb20f8c6e53296f6dd756f2a8517ff0def71b8601298b311adb2f268da902bbe233aeb29d300b9e0355d6baede0e75c9c9b1560f15a7cc2a48ce1cf8dc3cb23f501dfb9749ab679ec1b6802014e8123bf712a243cb33633bb370d277fbda4440759c8c4bf92ff4614cbfebfa4718ada08a3cdc08e2b1c7b90607734593559a67d59b813630e1b2df0db5d73fd67f13a61b624db2a079247f0482b8b59111f11f0d2d72799a9a0a7c6c385b684eb04681f780559172f6fed19be36bbad4970d79ec679d9e5509789242f3cb00866fa9ca49134d394844c84772e32ff0e4b452444a033894717fd097eb9d1582aedb2611aae3f8c2833b015b9c276a4fd3080f955aee3f8516937ec4fb8892749fd44923920158e14402dce18ebf8697569f73d790617263d1374d2085af47f80de47d7525ca94a645e57934660ce105c8b8ff162041d4826b2d51b4824f5eadb3eecafa07373465047e97941648ce17726ee1c15109cd9c33c787c4f27f3c79f836c4add9c7f5d57cfb8cbd073b3fef013e8ca3bc924cd36ab55d8c5445bb023919ad741781bb6d65f0e41eec68ff232b012571e392a84ea066ec7d8fc6ca7ec1565f6af4204735141bab5b193e74f6a2e444ae553355a9679c5b0463f6c28718bc205006061b900d0c43095d3bfbe0ee48af0c2abace4139e2d0ec38363b10ff57f000d6c40730948803708b83127fdd718366569bb2674f34cd73080433b2e8c21c76d9c1ec0c08efc18144924d6aaeb47097b4b1a960e2939a3cc79dab451e93f188bb21eb39eac7e53522a2a0c30767fe650d60f41d5aa94e0072023cbcae635858f2e7dc5fb8f2712233051f82088483992507ad74aee8b1e5b8d588466b0d3ef7ac1007b3e118cd0c635218c2d873e36dcd4111d4db8760dab9d67ede77c7c24f27ba16381b960e2ccda3cd3a1fe746f78019ea1839b18496cf0ebe755a069e9eb43ce28d442856ef772d9a587409166908e0fdda0966e09440aa0001a90a02921c3bb0d1413bcc7c3a1f3b91fdd5efb3e127438e9746f7b65ce3a9ff561c7b963e4a344043a12560fa10132f2ea47909a18ac81734e69b222c330fa1a5a965d219a2780959e17709a073d281c04b4847bff7366caabdab5e9f117f2fff276ed47a676901ed3977e5d7b427c5cdde2a1eb87406a4d89b76c5c74d8d0f649e6d6e32cc11fffad97e1bb9267b4d2eadf3865d4de5bc4222e7a3c075040455d0ea1d90821d654dc855ed6e7e4e480af719aa7fc5bd49641568f294f3c255377e2c6e73121802b40a11b4130a34d3a29b9028ea36b56424a08b40290018aec312bd806862e54928e9bd3c6032a09d5efb4181b21b7cd34f6cb3bb513dd8b475361e05613db8537daceca4c5ac225c8999eecb53486ccd9c02435573d60f509b59180663319b86ac4d4e80a13c5ee4d855a6ff8ed4b67631127db75641847b0b723d873efdff0b3453ad63a72014ecda015079a52d60d4da4b44032dc8627c47d4364fb1e94a9da7c61588340f7fa0eaaad94ec29a1e2b0e32d122ad6cc03b5670dc5daba4412b3ce18fc9cd58196980e58e235f9974704e2e5d9642d3e351ad7e78ffb982cc4d40808612e7df7d822ca48ff2f91a70050c3aca6f78c73b882698694dca35a061b8cd00600b57f240fc19f83950bdee922f6a33cd5324ffd23810aa75b2b5a04b01364afd380a0c5ec93a60852949b3e86b453b01359186d8cf2d1e525b8a5edc6d197d64fbfd1cb10b2e65e1ecc8555fcb7cca23f2d08992814e542c208172dd3e878f4a73cd4e55ba96a23f6ef162d6bad2448b5b689c6858711db360c30ae29acb71f0552a4648530db5b0f11291f3f5428af5eedce8eba3cb0dd726e00bebe09bb8b009012ad5236849c3cf274e239f01d24041df8d6a7962c72052ca3a461ab6815df8e7bdfb128e8278c1c654d9e44abcd284914016bbff7146fb6f07e19fb8b40f6a94ac28b6bb38a883e9c620c496456384d22c5d5221b6fa70c1204996c029121fe07e483cfafd5d20771236e4c78cb82403e2832eff3b230e11c0533fc7058dc5c0680d82e90ab2925438689b93c974c352f39a048dfec93591c8bcc4092413e6b6b870c1baf227ff17d903b1aee123023d99d80403fa1f587603a7fd999adc6929e1eff4b28520d1065f70fa13e483ebb2c90a07ef2ae5f24fad1d32844585139766ed86f82744b3bccd88147eee3b403565166ad20a430bfc653832cb0091055377aacd065578df57b7e056c57d1adf319d0476026b969473e744380e10d396574b5d7b48218cebdcff12c7fd733486aecc0fc592bc482f8985508a05c02eaa5d5fcc428c3a3d07b48297e10310dcad73f57e4803fd2e0df1d012fe91e396b34e95edc519d09578dc9cc1883ccd48e8cf9405d7e93d7617c544dc2a3aebc43c5b1e4b28e250bd50dad39ed0a8f5d930ffb58259d3d0533647ea8df28dfee8f1dc9c1923d9d215abc85dfc7da586588fcf0e9d66e6d29f20f94f3668d89e62e9ae23d82b2b5a48ecabbe902fb1f4ac1a0d757c8b9106fc7fecfd84e61cebc5c3a1fb3df1072a82476868d2abe88148c546e507f06108450e30fcf160502df2ebc5244accea51dec74f2110c0203f9df8148935adf9e4295fea785659ab7b8a47ec89833afe5d21a0057c948cf8bfaccdb61ef26dc1b119a2632c1ad2da89b991cfe4dd18f9aefaa00a8a8af70371a4f72605a4d6f392f6ac8211926a98f64ea0ac0fd82a9c1bff25e292ac525fce3b7fd22b5496166fd7d7d3bec18da6c38bd22a51242b9f2fcefe3f6c250ba970adf613e1592f7c157593719c739441511d91e0b32d750d7f4232646d8b87df6aea8ef9daef2108991fa8284b32efdc2e7bb3963f40e4bb12b0b00e154de3ff5a710c4f88cc0717477b2c61034da5a94fb63b5addb84b51facda8b8411a71d742c3d8a3c266fff2c13fd5ffe5cc362a306fd2fa4457f40916a9d9762895243828d9c045e55ee5941c8a8509fc0ca184db48cfa261b4c12a7ddb070a15e40b5d369c5de870605abb3d5c2ac43f975df86d41530e59bc7cbfeefde77e26e6e89aef585a6ccbb05307cd0c3f0ecef2ff27392ac2f5dd15fdd147b4ac78793cf737a6260e194f3e0d905a0b9940bc4311064d2a9c2aa66b57833d1ead51f7a18e8a6488e118ae19a19ccdf7bdeb1d81d5991e992815dec5c6d88cdf3e741d2f3b77b05995f6c9cfab491efddc714710e75b96473dfffb90eee24a1b4b0b867f530ce95e80dca886465176998c5ec04ff3cd2a8836123b89aae0a0e84572e886b5eeb2f6be06c08e2e962c4fb7926f45143590624329fc2001158713540b0ba2c75194a0de87d1da5203318f67ae73181b2f0c67080cd7a5a5ffce711fad223e0af6fe44f39c3725da58233321a6ce74338aaec6346fbf1f277132b2eac45b50f47bf452af7890b07796158a187855d1e4a563fceddc4a0e5820a7c75757e8ae5563a7f36497273630a60f79a35d79fc47a2f8495cf0e5d34cacbffc98774308750cf77721687a692c41b84b83339a2525a806d8468ce3b3f8fd78909174de2f7fb868c7884853044ee3eb7db5eb6ddc964939318954fe13fa8dc46048d72b9d505349a27b283d1461c6b3513ac9a9cca57d442c77d58d39273a7e5283979222d9fa1f930cc4a12d5c0dbc949358ac38d5646d879451132834e9fc0eebadc62a5a3fb3b5c08cd90ace25097e75b4caadc5b87eee61e9ffa3c4701646cc244e9bf60a72428b603a66d9b107a75647c6eef112941aa5196d3aadf29647ec1878641d03142b2322af250f3a913004303d3c1fc7847f9eb181c822d2b2b4129063ac8d31ad08c419542285e3b57d947b6ff2027f164ba1a1093649a0f36ba2167f338d71900a74a74d2c294706de5e706c4b325980668d074a5ca03e1fc1847c4ea6b6b2fc3e243c397faef85adde1aa579879f14abf83750828e686406a35c186c931a54dcf8f92e924290764256b1468e8a172a52de437ae1d7d92f1e307fa33ea629025e4223b7985f695e23170402ce75fe2a6731b542a94ff04f81838d5b62e679f3b2094a6ce48bff6110742ab625c79e9205c90cb4cae42c00778a4d9bbea491d8b0eecd053330f09522ff60d6bfa137d57ac06607ed9f56712ea652f7217560e6a85c074be73cd808e26350c44bbd737327e2d8457eb3ef40ca65db71749d8110e960c4159daf4a6367b091839363f5c059fd1c3b48518cbdea0e8db65ffcb95777a0534403e33422af4e714303e3aa364d64c026f4d347a97bbc9c15483f9297d4cc1602f9b77e34500ec0e04dc9a04d9f6138acf147e70341c3653cad5c39693f01aa02703d6358a6028d1d65e154e6128b97f1ec8a39ac2d6d2e38943148bc107b4f245c3ef325edf09f97123d8ce98f7a90e19183597490e5fc77e036b64c7257b1732f1d29173dcdf8cfe53ca910c52f40bd5f944a0095e36557a072fe93e2229243cf25a4c63b8ebff44a5317a70de48f1e4bc7d56512a22862976a2225349199bc2542f635f094022e489052ae9d5744edf379f50e8062b0801710e0bfae4110e9e005a05f178c12799b366792912d65410e115a34221ed193fafb74048e95375e3fbb1c0911e325ea20127570ee0293d222c3f24df3789782a74f583631b57215325cffd0d2d1798ede577a1859ca1aef90447a6514186e8cff5896b564f0d8d91274cb9e287f268ff5893620eaf22f6eba8ec76dc52c3f5924bd1d3f5993f52b0cf8675880a9b4a9f154762e00658d5c0bd3d3ffab00cf8d917ff5ae7c6fe6e57d250c7bda2314df5b19d5205f384b00567baab9920e20d73cffb3d7313ebd4fd3874cdec3d9cfa2689e0da4d09b894722a43df1c8c40c88d4283a993bc974d32c659ad39ed1987440f7e15026ed6a5b9333bcc1fba658337f4786a9ac861664482cb34cdeaf6e82475fa22e76370d27631ff24be8d76d42bfc614757380540665857142c6416ac1825f579967b41994df50e1fcddd901212b82ec8685aee5e570f24754461275f8d12446064999c799809be88c0b87b24e2d8ffc8e0ba14ca9c6f715abd0201e309c524116e6c3d84288a7dd928cba8fda0ea495eced9700bf5484a6b5ec79d5b179abefa0c8296404b9842c7891296bee89882e0aa35358c5fec241572d27a60251baa8fcd88f73aeed9acdeae56b7bcd7cad7fb57694a33316825da7cc69494357818fb13f9c23c74cf02555b54113edba2daaca189345ec04f13789a45f9828f214c0d088744e3441413ea7c4b13b9c284e1869aa0c345ca475e5ea5f22b8d7b79214b6e28c0339ad2d7056d9f4356fed66dd7fca1e9676edb2a7e00f719346e2deb63ecd28bc04c711f6b991e493566ab02afa36368605b37bf0c4dc1b68ead6d2eb422c810f95e6da0bd4f22b40885609c5a2a0b5efa83c1d91fb528964232ccded09f642f0e3e7eeb11dd250cd2c98b76624f88df2200fe4f518a7b0de2160a1ea721f04b5e8106e01e3653cbd5c2557a5427b94a47412c44d870fd105ddcc072000ed384b64748fa7bb764a88b09441153c8d190b5c6936b4e97d18d3f301e8dcbeb29fd2479ce1da61ab1b7546b661468a929ca27a4fdd2d874735ff9bfce791b657efc9d83a201f342287184c3bea4869c36a4670e25923fac12d40c35311516cc41057be2db8fbb6d5bd7b7e96d8d9cd7b0e80ca2946d9759c62433220b9d190e8fcf7e0ce598046fad38a988a9112d15de45fa71621908a48bb192257537ae278dc53d7699fc27173cddb2285f44540e511d33d4281346751be9a7c54db59e6957d4ed000a5585223ed353a291d03a97b431a74b2ae85aa842336b04d893bce21c60e29ab8006fb6b353cee31c0df8bd500971e3882dacd93aaf8286be1faa80f6cf7dc49845849b6fa6b828f9f14598e398500c03d73e5e151014cca4ea08588e32b6c1e32887d5a675f00c0f1cc9af6e0e52e27d00f201e04cc18a2d55d3d7d6a23963c8de87d3efcc61b55b274a8928b397d4b1f67a9da90f22b9ce45244dfea7ba44250102634bd0d0170cab8f3880b1a6da47460a12f8bd37086841128bfdc48e322e3ab3c8fd6473c1cc6661e9853076302d5b0408f0c388cde5605c89e4f3ea63ae441a4cc61465397500d852600882b098cca10451214330bb3f8aadab4cb9cea3d594cc131bc5a78c219e56a5e5c8f8492a0b09e4778774e1b004680a314308a96e04a65428b6f393145bafa329ca65d545998da570a8dae19d602361cb7abbb0b41d07c02c84cb304a93365140f0d3ca71a62a63a23cebb6c194fabdb3ba3c5b33c75837456aa2f1b12700ae50d233fa2fa389295dd3af005f3f8696a820f6baaadb0ca4bb080197bf9f3649e032eb4b02e8869d23dfbde5405cc1f466045d02239a992f92b9ece7d38c8d5dfa0f031f2fbfc5ac1406a1dffad1bc7bb6043b5b23bd42b508ab7583672b3de587068e062bd7540f4b89b55806cf2f9c370af0d61a69ef92f6e08f707ad3d564f0e5c347a6ab73a66499ad572bc18c823a64ce16512de2f477d9c55703166d22eadc5b6031579630a880fac3150fd1d017980e42700e28e2571f9423d404f3cfe22fac370476ba89c4357ec073c42d88e6a0a2fe0661d11b073d407b6850233dd45c13107c14e5c7c46a1d8aad66c6ef3cfee421e799b73a9f5a287c1147a37c78bec63beeedcef47f385a28f3a66d5b9dbadea332bbae6245056d0e6a4c40eefdfefada63acbc6aa1524ca4b065ae2eb6095b221fc25a92b0a86ef03f78f5bb40d960552885e16488173ae335c16e88e6a3a0004f6423d8042e3ad9cf49dbd504e082c7b37f275e8049fc60c4452729fcfff065f1f514880442bd6450057d37c0fee7c3a04aaf32e653f99d2f6799c3b2c62665140cf8af58fe1a60463225f08d186c0ca79fe94aee8fc23ad645eb03de4f90896ec3f487bb59bfc3f6f2eb7f099a6f03170c6b050fcad8d3dbf832f98a20212f3ab9a409e0dea559514462bfad2e87237047a0670a20b27771026667473ef84cefbd5dcdc896403920b5d0d585721c1a2aa4c8963c10e5f36b838e8888c215e5c6187917d4dfba0b76d4f3d711de6e01f114d326159aa5de9df109c2dc6cc208d3819c9702db6640aff718750ac66641907e949f744c778906dc64d044af9a288d77e7f54eae2c5624fbbbd242766c9f75f444be1f76c110277d863b4db8fc002acf700f9052ab929a5107922208b1304da4bc17b9b1b6026957a47fdf1ffaf727f8829d2ed9f01acd7170d6345f25ef79dac04dff505b9572b935a216c3ad0a155084e4b713ac605498db94431b28ff02c189de858591b449d9b36ffa1a14a5a0f72f625100eadc51560726ab191b3b961cd1ea3c9055027180a9e0a29d252ac6055fc273948c71d299e81d7f00960501211c5047a5f86c56e26aa23dbc6f289e3468d904d59858eb157c5234c6daaebb6c70efc262bf758c9bbd7f51bb1403aa6927f91da63569142f807a65700701597b0e80227bcd2ce3221ef29286ec67d3fb4d9d003f6115e91800b4d96fc089d3362f3cf0a07d02d777c820a936e172184bd08d5cb10bee34bc9eaeb4609b98305089cd7118ea00606d4dcb420eec0f1aa5cba91f82e3322b535c77095ffce600f27fc922416b5a2a42b9ab2864a8768685fdc601cc6b23fd00f0a098575e278218ac4440ac5bc0f99d1ad66d601846e37b7a7c1beea135803060e178e372036395a52875a0e794d514c37f6f781fc0546bad4e9e0fcb546ba26e0f996a76fe3207b77121ce5224134dc9115b816c658c9c0cdf5539869b0546d289db35c53441279ddc0bc49de53f854a2c3441e69e41c18cef76bd8c2d295827a599bd429c20f053f801c3439c945416132e0ac617154454b6c6e2fbb2a3fac63f12bb2d93dcc23f23de256163c6f76dd7400f7885eb8a521b0edc23b0f4e9e310f6a6fff9230f3768fe26174ccd71df4ba1031832a14c379545be0b13d37b7625886d52b44b7b12449a8fef81da007c29c210cb14ca5373fd021d7775e33511e2258363d81130627b2c201d1bfda10dc15b015e05803af5bc7a3e26efae6044bee2024aad70b3800ae64ce2652278ed6ee4e7b9a50cba03687dafaa1110d2596d9e79b4be60cf6daacd5640ff0d60720c40198bcb428349ff0fb52cd78725b479137f00102bd53a121028a1a92edf907a4f86fde0ccaa91e14fd8d6fa88a99e8248251f30ffc28d8c658420f45db9c9711b8f01a4ecff2631ec64f6fe316fee21046600596cb8a30a9b59c739f417502392ef677c7f8da2bf389d3e9a35684414c8b2d6caafa1e08d2729277439f17b5c9f840f0e5bd00b394edad39e22db83c73ac56c0cfa52907491ee678854de3bfcd43fda14df439025c35ff5ed7ed626b402f7f7f8681329031f1679661fef96af04e78acd29b8f80d5487f2cad3d6808d49a2f8682b4b8bdd53eb8b3f86d3060c43735538c636576cd1bf6c8bf55d3f917493231a4213ba512ca9a7e37120d79b5ba3b4e82317c63507f4c0886185533af54882852988bb24901f4558886b4fa86f3c36eecc96cca030e0117e4aadbe10a7b620f797501d752069ca09fca79717d456865065589c26ccc9ab3f3cb9e32ff0bdc4ec0a169be43df15149ddaf93ff4dd0af8266fbd96eaf867f0d9bfb84842e135aa2d60ac7abb6596c836a1ff0242c64c8d4c69974296b4954c2e6b862bfcbac53e26fce80d133ef53008b24a87d40bf38acd8dda2f2baef5eacc20f66eea23c70cd24795d8302f69d64f7d17056f2acf9fd54d1adf5209e8be42d6e7b5189920cb4530598640570f6404405fe4718583edc1761f1fc49d3b23a6b4f27649bb62911ca781a50d89862f86af27f37265de3d0211998faa242a1f88292db90a2cd22d3d2f5ab0b9ec9048e28e5ea3838e8c14f2e9292a909add2cd0feba751748d1b0a7561e681bf9d23287ad8a789299c8e8a138aa92583e5ed29fcb23c48b7e4df45b331be7f8eb24ef4fc373052c8ac005f5b760731fde306c5b61bdbadd43a9193fda14130992a1182c32554946119a71b7f214bd865eb9948188995e88b1b35960751f60300da3b26bc52055e9698812b1838497a145b0a30badcdb3a94c186ad3d71e2c9d883aa52e29faa2b4b836ca5881840e0b7bcbaca0508d8d09402e4cbcf2cb4fd2f3e108dd8827f79dd55ed9f316bce1c208525e5600ecb11441cf639445887390c2224d1dfa08457650c6bec5830130f64a2c0063c10f6ec6f281f2b4deca7f7863824364a1762f3e2a649c0fbb1740616b7ae02a50b3d09ffa2a7e11e1c5998a420aa61f94e0182a9e328608320e60ad49faee86ce7729863d8c734785531e99091d152b71cd821faaabb8adbbbfa918086bf5c9be3e465f466dbaebddfd9978e3b90194e12a94fde021836f05f71cc9b9c803753ef5b9ef3bc47c507bb26e40203da4921adb01644a1631c5db01367bb55994408bcaa8a4109563d02f5dc000a07c2daefbc044ae89d6ab97742e22b19e044e4f6bd48cd207bb4653d166c028544357a328835b340577d993d056b915e7eda84484a2a96892998bbb10a78b3e0b209b44c4e7886c13a8f9059ad953ad8844779fcf54ef8359e653677d0ebc395845c7c7620f95e720f48fbd4e3c1e3ccc0532aa693e960ad32f743c4df6d95aedc552b3f559fa7744935243ca0fa2a2e7d31bab20ff3425bc2822bf6cc7c4117bca798e325b6d38c2b7195852d24505ec95bae0d54b7351af10dd73c3d32dcc567781cda18a50069058f358db1fd75a834b05680219f6cbd0a9918f58dd0baec760982a795326342c4fffcb6c54668b8f0f7de7c97ae4189f682cf5037965e654ad188a27680fae231a38a72f7017a80b4b3db4c62a9e02a73e370261b43e5504195262d54a6250fa0f42b4da1243a937a42136806289b060e5035b2950a361170a0a9b931236dcfe2d106f92dafc133b052303ee32402fdba66bea6440f8866571270f328ec2ed6e6b4994ac69c1b18dd78e2f8d93e9adcb871059426f0e3aa2246de0d55b168f57fce4792102cd2490e1bb8296173d2ac13d78b0483e05c5157d0eba5ac3c4c9b9280bb2d05f66ffb51c829101455019fdd4569d67f56d0a28d74fa6b78ad738ab2f2784bca8e8e9e5bde8de334247e8a79f595f8771c70614d2cdee87feb325c015048f2737f72ef06135521343b262175d4e745fa37588814e51c3803ae5785bbbc37683d0e6aba925dd8bee6208f9d31e956570060d3f60396b0fb113106c96d8890976672cddfbeeade51ecc4bd6b9097f3f86502fe348b8bf94c685aa8e532cba8e093e1a2c7648ebf6f5ecaa50eabfe34257faaccf3778daa84b057feadc3ec52f165eae64ef53131c759d8f71a0e52adb9aaffaf2aa920554656b75a75d87af5d57d66b4582db086d4c188596a0d32273e95f2b4863548e15065acaef2e8003ccb487dd0a852b17850542c022aadcda8f2d4a24f33483559a53408dafecb1f0a65a5563e53dfd54fb5a649540b70fc4cf7f6541b17acebe9fc31ee37cf9f929d45ad70001794ca94e40daa42190092ff7f842395501e4f6d6a87ac0620a7584e833ebc7b099aba0647a6750080f5eb5a96d6ae6b2c5c697f1bb2e930d61af7a03999937302abeb77c25e47a09009cf3c431d60c444a0f32412d2784379a07974a029654fa2a135e74859d863aac047d4d92e28d76b316dddc612e28b3fc9179e013c99e54abea278231c7fd1d58a9a9cd95e98fbcb5a525ec797110f0a3fc0be491d741d442ab097435d0ba016ec882b246b45bc76fe7ef36d9aef4817b11211d802977143677f43561bd9f0c97cd8202fb2df52c8e849cdc815c51fb3be5326cb6f633b851fa5a44940e6fbb71d898d722af72296b423df55b3fb537b4e2842ec978abf3da3618329d0d38374908d26b6b3cc15249701f4b38b45e719a02e4ba4d117077a4bcdf28818755de21977b04be39ee3085abba1304fccd981d675d8310f62631196d0c2a3e6ba33520596c533e5efd0caa1764c8c92e9fd7a4b44bd05bded989b7b5221de23c558bc2b498879550fecb2e39531f5c8ed18f7c162b4c14b78b401331a7449d77588b55a4b730e9f0c722fadbb076ab03340637322109917bfec3f6b80e9f4237b8c02f1a20416abf390b798cec8024209c49d021b1e835182bcc782c11fc829fb8a88ba110715d16deac23920acf4e4c5399da34720db2b597eeecf10bfd994360e05b1c44c75e6735520a5acc82844d77bdfb89eee1fbdb88c51165aa64f5583157d648c624904d6c32d7d74f3051cc74e4d62db949ffe49e7117b14d1a5a51a99a7f70759169e5ef1a7537e7d22258a0166f86acdbb4f2c951d0c5cdadb763d6da9dfa95c56341231347e1dc898e80297753dc581cf45801036ced18932de4f6176f0bfb83849900cca455b49ff1282b7cc5d6d96fca9aae3597461977be87b92cfd7dad773512dc6bfc8b0f8c182bfa02538ff9baa463c375fc6f0b87741cc067ade9fe9b30eb46f65dadbd6beae1b1b45fde800502043e573420fadc74832ca0765b8605a5d8e80ac871323689959df564fe840b8efefaeb39692af325915fc5cf4ebd4e29671ab677fcc551075ab562635c2aca54ceb50220c445997e15492649ef8e0b70c19975624ae543bb1e8b828b5aa70fdb72aae268588ffc87a19c35401caebd7d5bd1bcb1691cdeb6f414415b48e5abd1561b71606b0efce2eaaa6ff782d6123868d2292163072e2cd30098c2e4b1c36b32a6241e6f9fac2129a2f47c3939add8636a83f649d0ad3858400eccc4e8a2eb2864458162c298559f8796fa4c210a1aed9bb71988b24cce1243f2eb3bb3b91b7c8dd4ebbdb409725af4b042a4f71f419afb98ab93f472c83daf0a9e9cd864f5c7e88353e2bebbabb66558886a200b5e4dd9015a50fb8bd1573bf89b6bf663a5577f214976e8dd565c442d496653c7d50e7a7ed508a598f33e1a9035c2074a8f8b47380dac74cf42979e9f1a596cf5b1d5bf0d5c21517f3d12bb4779aaadb3d0151611b589d833bc41041e8ece91fbc6d3459ea7b3a1296758ae9feded35c228f40d2de24ba2722d41e802c828df25b6c7ee52a3719df07504baecee7e508f5d8d9574ac325ad98d3618727d61b1a599c379427eca5052a08e0196621da9677a72707446fcd193296231098e4c102b7fa52f94d91d3fe4fb7acab9e10673bfdfbc5651a8954350edbec6a4285cd959d25b6aed950a5c894fe0042fa454990be8eed86f03bf86d8b4cef820680ea60df161156670857971871b5ea6ac8948dfd650aec5d3b23152c0a7ad1e3ff3abb8bd48255c4c46d8ba19be3119a74bbf8b65d5da918e87a62b56977a596923cdc2c22015937986ab2148ee6d6f4d1e350c2816ae01038aa94f6f9c419f4567b8ea5431301a05cc0e4dfdedb5039a98972dabde498b510e9fc6927ba29a137a4a736b5319bae1cb54f1757b2cff0b25097a533c62eb84816c8f527c39127c991142b714685cbc2fd05eea75187951c5618ac5837ea82a40f6914cde9a31e426bb5124a1623a4fda6a3541d8cbfe0bd04e83c4ba28e27abd28a1cf6cea4b3e54a1ce384d09150502dcd138b49945458f0c6af891c84f0b959aa0e6afb230deff75c1420c2b403d961ea84a5583e50c555fe1aec5a98ca95d732d052e4b13e43be30d118a8d990065b21e13e63a0761e4ec0d1f6bd05330644b27fb233e9afdddb8c5468c1b9fb2781dc833228775b44a19855309018b632a4fe9b841cc649cbc793a3ee66224a1475040e7e54189f1684d4b381140c28b73fc14086509d06a8c2b4829246e15101a62401c9245cc4a3ab4a385ba31962be4d9999fb855ad40f4a49116c47060f8bae2aece7aa794938cc4c6ff4939e5173c95967cc27dcee4e8c176b2cab96dee8cd5390f3871c5ea63ef65e9fc6b19f187f707685ee8597efa130039a5a96bb98ee54e9b01bca8a44f6f1891442a183ff0d293407f8aef436384abe7f297d77d59e3481ce89f657306ea4082325a0909e445a990046a91c82bc047a69c6b41ef992cea3ebd3c7e8c76e39544c207074334abf0b7a8508f4ac527a1428ee0986a5dfcd679aad5b97336ce631984ffc7ac1a75f6a154996cb86b992a9ae56b1a405dbb87ebfd1d8fd9309836325c0adae8174b8a66c9502f5e1dd2e6afc91dfca57bcc5293795049a42fb4d2a1fb9291c532b439cba67131567c7f1a567e6789dadd1cf5187deab52bee1c7c748fb6100a6b3ab0336fda258b24ecd65cb59981db0c5648c37716c628d37e510e18ffacc86e34d9bcb4e8f37ad3ede2468903759e0dc8d607c072c9b559b4c90757a4b62cf8fbc89cff10ce2d79a2044fbe73a5600ac7710fbedffa19a5d8eaa5774eb58dc6b684512c8b459df0d945e4e490d69dcbc40de85e9c47bcd661debb5838bf76a5dc67b7fb72b36de9bd6c674bc87107dd59cb206069eab9eb5fd29994a3e6ec83762547a96bf1eddcddf36f6d3ae3f0dca350db4d5af09dd54dc1faf05ac58814515b36113971cce6770870be73c3cb2434b1499e28499eb3ff8d700a78b8f39ef1794142732a808a854aeb864e7d01824f902044b5a5b03f4893cc15917f339c80560e29ad2215aa25e326d52d49ee72a274e2adf1e34dfe6116f990c535a359e1913e6dd693d3b1449dbe9f49da45e36d4878f70ca84bde8910304421fb76171b684acc2eb2ad5deda119151b65a77aee0858527568d438f3304c64469e6ab384d99f4947fb669d652f4209a718204bbe325cca34c29ab0e43225b20a5c28e9c31009cd26d100b365d68f6090cabe6eb5a3e9a02d00869637dc8282d60fc5df28e5c205ac18855543ed58b5e1808bb035b398eb04a959e62269333314c361a50779830d29d54eb555f9d91c0e3168fd4c91d938c07052f30c96e2f5835aad30f4c7e981c950ae360baf99669968413886919e7f1c4a7fa856d4ed7296a6fab80e73da1576ddc099d22ce781f197ae003a7369f5d8cfc19a095a1e03b27b9cb26b6bcdaca9762bb0c0e953161a1641264ef004e22edb27836bb894a0070320b9987d9d5b7c32cd76841a3d6f13c29718260b886822fd3db5925e9b07c017c5d97f287c3cfef0980385edcd9c1f9d3b2c80916cc18e52fa8a99b796142a27733514cb50ac4e3905b25a418b821357563175f222e548d1404741fa7bcde54438dc47762856afac43dd80adc9b4fb97dddacf6e3a490f821f3480a041c5a2d24e7fed603a864eece7ef99c2e280a6990fe7326971aef65a7ce4ac682de05ae7b46734c0b9eaa2df8086a27de339266758532761a8cc7fa0565996070230b83d5cc6053065fe631833efc30f8b2a5035c408a3a5a72e62c14885bc04554c7c5824d456000dfd647c585e68699c0fc3d70ab8395537ebcf2d405b8c4eda2877d5247fbf27404696c95a4800d679294a19238cacee7c08d68ed2690cbb7e361f2d93c0ceb29258951bd040e18e7ddd9b889c98708ba9e18530f961ab320906afed81d5809ef6c1a15b7979b3b91f6c4d604a7b95329c96f3092299ce160b49caa20e9ef19285abf0ec3c2dc0e3a983ec889d4261db521f3a0863a9b9c6f6ba98dc14b38891228f4655e9ee121e164394a7d6248539c33621402db7c05cad3a1301ce8571522ec6c262c1c4d81cda8293a0d295d51ade5ccaceb636c23e95678556cf6515a6266e5b20c50d2c45e53920b270044f9d28d5b22acfb454bb122dcde6650cefe34be8c9e76eda8fe6bac75b3d6f65c8fd4000774f68951a29f7c273d8471cc8bafee19c5437945ae25e2cc8009e184e1dfa3883397ec34c0a62bd61a3fd6080fa555f569fc1e2e7c79eea6e7d2b102880663888c2df785be63c88326d383936ce9041d11fb068734f331d2185aee7e24ed14b94a8f70309355edd6115676528626c2cf837e448c09dd1f89a5b51170a084877b711d951723c65876490a80b88f6321a3861ea1ede5ffe95ba8e8e4b5bba91a13933cc22d7605acb097dc69b267a45768cfdcefb3f30dc5df7e2f966d47f02e31e1de8c0a03f6b7118689025e0ac6f86f6d06bebbefaaaaaaee44d7b4fdc1c05e20ea6749cf2f4d89509a586f7ba5e8f28f5b5ee6eb4bf9f54047c13da876a0060c9673820f2876c78d51651713ddc55c05a267c98967b7bb8e2b997025a1aaf672cc3e521107b8a521dfc9831e55ef253ca1570c7a702681a1ddcb23874e706c3969246f5c536d311f11c540a1d754296324b65c06571db5724df52630903e8a480556ca558322c1d3a42e0122ff1775750b38e3b00c27997f9d53770bb8b82898062cbd76092f1260f14601a983fcd77ae03be0c07e5c3e55fa671d31a173b868bf8dfaba75b91b81b1d8c64ef5d8549d21ceeee647419620724ddbebb96ca6c59b2148958e6fc5703c5ac6bd9fb5c7bfe8b1ac22ba554f278702c4dc42a2999564fc5fbb9737e50e1720ebc150489e70e3cccc958275465b0b0b7e22d60936a6aa758acfaa16965845fbafa02bf9144cc35634839fd6a468cdb4f49062184e87319f9e8f0a99fee103d0b6e0ca850baedd89cef2109f776d2865f0e653ddf34141aa004b9184db192d90d31b636caac74dab599dc9df3241ac6d2a0ccf17ade54930bc29b98caf857797a165fdb396d07b9336b394c01eb043fed6ef9755242e916512115cc0abca30f5e8e310bc7205c3f51a6499c3f6430c7e667c2da08eafd90e28527f54469690a55d5884d4ba55809612d7e516c1738d4914ef85b1d1a1779baaca42550d683105477eab214ae940f6d87af151bacdf18b60b24794b3e91cfbec9345e7fa4495967f37e52238ff41853a0c2948404214b39fe68d26d5541c8e6d4d1f0bd0ed56e458399c6fbae4728d2909456365ab4cce6beb52f66b34a5036953c6c2d20626b3e00803f9c84dfbcc69698afec8398b5901836946dc431c8d281009363346247773f01fd8c518f7288771f011352709c5861bd0fded4ee1fc155ecb08df2edf93ee37f9ed0404badfa647268bddff420885fdbd2cad55611e4a20d55ea375a6afee0399775dc032d00a96a63713b0a3f76998cebb8ab55e5ff5b58aebe6666aff178dc13f13eb426c4294a81942afa9aa8ca016978c79669d46b1c7992a0e76b17164f2fe60c5bd012b1e700bfbf35115d22c486f2ea1db52dc9938e3d660263c288a6956d45c4f94df0a350badb6fecb7246b691f09494c83393be56b79abd6b2b222d60afc5ab6ed5b44644273859ac80fc15555d3d32a4605d6a9a8b3087b130eaec542ec71cad6b72b38beacc02869addbeafec85596c1c5d5de609f69aa4a945daf21c4d0bc057bfa98cba84d237320be6813a6a44ce92538f7f53e8927aa2aafe4e2c4153d8dd631bbb34874a8ef73272cc75ad6e9f7d3590dc1d404577a2078912665a6b2fb41a4e709a52112568975009dc7c3b78e50f54be402b7eaa86604023a5f999e1b415ec19cdb01e98a93d4bd9316bdbc9873b5fe237d72322360fc040d9338355b3a3f6e563931655a195e7a0d1681da41f3571ba0cc25f13ba32ecc4d3447dceb809925a1433e259d9db04aa4c08eb70728a8e2bf22d7ac2e6959d6a221e633623412e3e9686a389623e0169da4ef531ed8baa4393cffc9f92b4d508a3778e243d503b4b6bbcc27523ef5e64b86038cf6dee17f02d563d5d91b5ca8fb3750dd68acd112196388be572dad0ec77930ded144405fb76b537fd71f24a86710f37396a9076bf06f18cdda01c457c05344b77ae03c277b9cd24a1a60bb432bf4f1bee9d40583310f0d5169f82752466bc6318a42c2ae6c84b40deaf961614da58b098f81fcce0461d87495e916bc0c1a3f5352d36672137a25af73172449e8403c51764f5f797859ff944c691fe185cf04004a8a802293fa15cc76d82e0aa1166c63c0afc01526b06ed2070c00bd81607e48b276e0001530a49610958af37243abafb0bb05baa47b3e74072a61a147721c0eea5d91b8a0a18d255034aea36dbcb386712cc46c32e5190021960e1fabc70656e5917e4bf1105f3cd604304961e9338989733b543785782b6edc108208230c4c625e20d0f829775c29200794d44e6d2f8fbba0482672e65afcf4564142b947a292de5719c52b8ce934ef6c38d318a7246419bed27236ba845456532faaf3f213785f5064fa51b721ef1f1e7e233a4ae69ca55086b3a452deaa3594bedc326e31f233c27e76196fde626caa04f83a996e63e33fe093dd16f216b62c2480119b88c273093768d24d06be7abb2d8fc50781d6a16209a34a7a596786c96260fa6f5d6724b1b8d715c7602519d2273f1dfc9e868eb1099d8cb1ee8a40a02e77126f4d60a0142ccd7c8bea57e3c6cd4ed2bce0937e61b3776aafe355636232cc83754fb7ad76058159ca2381d1728f68c59ba54816b7c2504a31000e9943e8ac73aab957542e01575ecd73c3d354e3aaef4308407fdc552f6d0d4bf1dfd8e0ee1fbd906f9b7b45b69b4dbfbd16e5509022b3f88365a8e4e85eeea7fa3fb41b952140520d2f5d59460dacca882024e55056eb0c9150f8914868e3d32245aa87e1c879a7d89d886ddfdcd785ccec2a63ecd3e93913dc7ea01839e451baf3a28b1dd7b68daa64a0e8cd630958492e504b5577fe51be3c5a51dba4688d79d783149499988839a1042f4149cff138747f85edb391ccfe122cce1d8f05286e743baf48088c45ae548844520526f49b0c6b2535331052f54c4d5685d258a8fa307dc37a380c494889621b6432fe750304f800b269843b28100d19b6cd137e908b1b2652933d7df0a9f61b09e8f488eb4a50ef3122926f2315844eb5edaedec467af273c1ecdec4b0b252e57af97e5d4903f14891c6775820dc26e29d6c070503a78caca9e03ca17eab8fe614c0ae2b082482404a5907daaaf99c6df06f9ae31355323b7ce42792251620e620a72b31e784fc3ca892f6b97bec235a300f4bdbc71599c18fb1990542a68ee1094ba60b540b00538510f6e27c711e5d391be7318f64399624196e96e4ef0b354d1a1be3244bd35496e64ae6a6e9f46f9a26140a25be90da30b77a62f584767f2b6ebabbd39512daccea09338086f009ad2ea1087f7f455d13a8b081dad14b5157e3e006b7afe1ac0a9c1eabc35c15b8714dd0283c0ba517ff170bedcbfa5a7ee4c750aaf92033aee32c758946b8f757a110b25f016a13a531453bccc730b4e29e5966c60f388c8e1449957017953abcbf0e5d181dfe7ff8139706e0a01bc8a3013605c17adca784ed98039370c0438c00395acd3590c8891cb12670cce1a1c50d458c5e0db406c1da578268e517d503578f894f5d4cf5b702ec4f1548363a893940bac44ad2144c2447f6cc9b872172def2560f2b87ddd560f08270605038a30018c509660abce39c1dd9aea455a8268b779c34c00f0c01a1b2d140a5d8c2c39c2b16196577bb0e9888a150492d7c4ec2cfc64388916ad4c7321fa3f1eea7784de7880e117eae08a5f9275da0dae77485acb201eae9782e5d80924d4d1b55e5a656d4b5b9c781b9e65a810aee88ad59d8bfbe99f0955402dfc76ba1ac9140324c1dd8c33e5fbbdb7600ff2f6f32289cab809d6f468ffe8e738c332b62287c1f4f9fb74f188c4d6d216d46d6561222914b2b375776efce02b102d60271b3153d79de0601d3db7b35ea4ffd6f0da94b03e5ee0c975e9b04ca5924dc1be35e192d7fa10272529b2fcbb4ed4d9e576ea3d14ee73c53e9394047ec9d23f63d9a6ab15c8b1828608275e5185b688b161146df0b26be0513fda91b41bec44cc6ffdf9dfad9565f5c6de2e4dc2c45a30d909037c4643f2263ac98717088f15b5598880ae38b6f75dd29c5511601a25039e8c1ec68d00883cb1c91c2cdf647b1b4903e3b2aa5f4a1ee0f44171eb8dcc4a0b135d571fecba6f4b72bab6e02814baedb3da7cfec66981ce3ee52b363fcebb1cb1bc832723907d3fdbd45cb444949cdcd8f5d18f974f0a219523e27051c99cf912962469eb1b6e4c646cb830e0440dc5c2a698d32fa8d3256d76e93d8bb88d8c2a4df42551de0041b861ce3ad5fb9ea336962579da431b78812f55fccb42d7249d8f696528969718438caaa5e56755955b5a495ba56f5d5ad3a2defbf4898f972bd75653dad8ed50982d5dd1b999bf1467c71747a03def0aa03b375e2c5d0eee015bcc0c4e41065e24ca489358c68b1b9c16901eac01d78e36fb2577b2f176b6cea8d4b6ec239e948cae8832c51c89b8dad70d61776f2bed387fa80327aa1e9a3deba43cbef903c186d363b6361815ff2a0306ada57634e760368af0c70de686044d8c9324dc60c849c2b93a6b164cf829e0ffc6c646fc38646031868960f96efba0ef4f978ba8d75b67631c64b437e39a97bb5da5eafc23867adadebc2b0edd1a00882a0cff7f98040591632655bcbb46d8bb4ebee913ac76b1dba63b4d96ca46df3f0f8f880f41f3ec77120eee3e13894e93133224aead55e9bca465583f3d617429f39c167d014b6a39c9e6d06280b894222916763a2cb12894422790805c0c81b8c9c310691e1867123c126332b58933d7d7d40f0e61371745c6dda9a8d2f796cfbe17b2f104148480828e4e30909f1008c314a29e79c94522aa3d3e99587ead6de4a5755b46fe5c74a668e28e5949b36a9474d9d3aa5d4ab8d21b7eef84b5693da590e7e9c33bca2f51a56fc03fea1ab8f81b0389cf1e79cd96037a0148c8041e30ebb998f6b7c87eb3bd8aad225c035cbd1b11e9171bc2e9dc17eaac296ceee7e6fc6d7bdec0432f992e5d441e6543527be0912fba5a218e3aab29575192989a0375e7e734cdc7bdf08f086e75c8e76f3c69cf306dd6e65a4aab45c28b1654c4c8cef5ac3bd76ce4b61bebbd7e79c73ce7bf7d6b4ff1959f049bd7b6b8efab4c49472884c805969fc595958a8d3120cb65f8c0031bac8c8801623c79586c8648cef8152ca2d3b15b08580f858d6525f1831be6aa41fe511eafd9ba535ad6cb3b5d666cbffd63cefbbb578ea6aadcd185739df2a5f8b3fe3ca6d843a7a082ebdd5d37b2ff4bf294b29aca25c418e8076e3bd515a2b67ad93ba53a7d4eb9cd54a694d33769412ca4c522ae79c3137b26627d2441908e796d601267da1945a3a69a60c75a79e73e3d5ab8c912fd5561b6b228dcdd7de5b6db8a2746e9afa0b9da402d0a7516620dc3f667452f70e24c8408409a9cbb0b30d61bb2003943c5cfb63ec9d1804a92373e4129be675262d01fad9ce36b4f4fdaba7b56ce7f9ec6a56585793fec6b05b555663ccba6f65aa2f2af1c455f529545c9d337f0ceb177a62de41ae415873d6181dc6883df0903cc69d6bdff3becf7297bb6f49d00211a75be1fecd0a19fbfe8a1ef6bd4024d54e0506e0af56c05d75bb5823c4823de5ab34e1a142c4176284355bcbb4c6f4b7f09e75418f07946d0f48e7663b520ca074d82ed83f2c3c06ed67b1ba07c807b4a06936ce2415b2ac2ea0e2cf83aee733920add0a9eb7c0a7c37aca4b5e192eee0e7d6f8c7be153c1bed0278d910823335346079420658c28b5ba0f27576dad73c26be50c3b6499911ea4cb184970e99c11c27b3786f7b55df5f913421b6676f719e38c1e63a4316c920c288576ce49adf59a040eb4f0e9c4610733a2ef0f3f69a6f35a97159c722c2ef752e891a060cc9c22555c60a422291f4a7481245ba198d1c8e385ed846c08bd480c47f8032c67cf8d89c035d443e3346664dc3f42d4b87514e839a62dbb9909c7cbd8c303fae7b24b2393ef7d5a0d84f566f461f32184d51f1f36aaed8eb5bb761a4c04aeb1347e019e01f618fb81676bac090c08d9070bd9107a01e9500d210d84344d2886c648460798457ac40384a31e4a3fec199aed3831219d365d42e231f2e1bd88cbc81a3a356e73c36ffe853b119383cc0c8dd7e842e00d88c90412d2d5eb964e6bdf76a69b692738b7fe96a394bb5a845eb76ead75b7aeb7cd5e696423d1a492a88df49d1d26da09078aa65a94a2dfbdeeb45e6a6da5d6da9b72329d6af60988c9643af93a1010904f85ebba4ec5afdd6d14ca2feb2952b84c66d1342b72ea8545093aeaaac50540a5207f5304596efb00e87df381e3a9d208ae8beb526a27e5e645e9adb67aad570b270a5d500d2e55bb1785240a5955b64a593a2fdc9d98a4dc411f2df368ccceff80fc3d75efbdb9baf7ae5d66e9452f6a39759bf50580d37810b3e26cdc3d8f2425430da5eeeeee6ef1533bb90f1c171f371f39d870ce6b6cadb5f31a23a92c25051007a0e18c5ef371f381a369fffee1175453028b152c251f8947bec0c139b5ced2df9f1efd5ac73938a7082f314c5c2664ac138488810d11f886ece287246ab040d6a0089883821b0d073441b460e3905df870844703ea820da10d2e841dc82e5210a347f5ceb4cd64b707bbdeddb27e5b5da6399b73f69cb1471bfd7af4782e99b17b51ffee969b6e6f85ddbf8c6d75dda3ddf5265714516b2999a78ef3a99e9996e5490d53dfbb372d29d1a0afd32666aef61a5209d8f46ffdcf5d0acb9b6ffc09dd0456eb4cc330cc7576dcb9dea23348d8256a677128cc86993a77db6eeac45c31c633776f2dc228b1ad4aced6e84cd5ed4d676c8e0ff205ee64d0bd2aa08762defb594b84352a5a1a60cd2bebeab5dd176badb7972ffdf6b56ef8370ea6be3365ae0331859c10f1aecbe33d489d07875128140a85fa5c2a2adfe7959595959595a855be94949414eefb9af2a57cf5abf984c84876958878232425279393121d44dc0991912f793c4a3722f2bb66f8ebeefec4e454f2f1444ed0b8d60a1803929293c909ca9702f220212690f899bfa7c7162279949c4c4e50be14958e7bd4e9e3647282f2a5a8ac843e949142dcc9e404e54ba15354681516bdb262c585f26122fca3a761800f7da0f01ea5171d0d147e2375345e8c46233caaa3da6100145ee0ba411fcdc3a1c3ce3e1385b207ada050a450c1b202e3fdfbe3d9dc9542058bb6bc53e1dee483058b53c9c7c36263170b4bb3c8b8ba2c2c0b888c1075e9ee3a1d895f6b8d2f5e4c0c9c2063dc80c1a88fa26d1a880b691fea76262174c968e602e9dcd9a69f1802655ff5dc0a676d5d98dd15cedabab07deffd4969b55dd8d2d9ce51cb49bd5acd9dbc0cefbd37dedbbfb62e6c7b3ea0aad27ebb516798ca19ea7961dbe3d5e63cb375619be413b5d4d9d421ead58240a1a9455473b8d6aaeeb0da339285441c5ac7889485441c5ac788f4f142220ead6344da42220ead6344da40bfad0a468b092f4a5a630a43febfb7451c5ac788b4955a5e78df7b1fcb891613b6e6d03a46a4ade4b1bb16ebbdcfd3beff9088036444da4a1e1fcf6918ade8cc33e73cf3b466aeb00efd1c3d7d5bc9e3e3b90ec4b2aacec3b8ef94339da34c279d9954dab692c7c76b20a6901322de0809d78940aaea9a42eef5f6a7b1fc6f97156080de05e280a837425272323941718131759caf4b3beca7a910281b212939999ca07c98887e93475272323941f952302c77ef7925279313942f4565ce4b527232c9a08c5221e46cfb13cfab5c616b3f84f94b32d8ac729c1897e5393398a3a9aca050a450c142a9f516eeb6cd992cee698a669515148a142a5856e44c9fce4f43ed3d195aa2c8be14b32ad3be4a6516b2cfcb38efa18daf85e79d643a310c6b4199547f49e957d5cca69e139b795e33a3d8c4300cebb22b5b56a6019384a874ad5eca4c405100a39500141288c5e2c12489921447726cf5646249459d48850502591c108a825898814006c710820410046060008086b60a113dd051f45091113a2057b872b78a276eeb8b0b9e5bef2172a1f3589ec30cd94039589d479883095c08c394d25128b6500939c6f7a19a131453e6ff797dd686f7f2eb8c14c823ea355abc09a7b5a65791d885c84d52e630b64180f616df4b1ec01c5854f13a7f383229ace91b33f9808144249652c21f0168d61f238129e1851062479010e15ada2a5840f4180b009637a0f752c8615c2ab1145c87adf7b0d9780debd15d58a5b30aaed7d96865ac88d95a70666e21c06e5fe8701bbf52394ee3fae968d9ddb1a2980deeef9a7fae5fb21565263ee2385d0f39d603039b484ae176b91b8f9fcbd566137947f0eda5acb01cc0de442003963d604958b67894e412249bca76750738fedc0114142f3d0070e30ff56c827a22da4cc72564a4da49eb2238cc154307c1d02273bf2aad6739ca1087a01c209b58a5f1d8404006ec3d0ec865ca644612ecffd332d844620561eaa351f85dca022851519719f726c4d9eb731f9c16bcc8e66702673abc2caaf3881e630c8e73f7b9a75851b48d21851be69421426aa04946eec26e44103279aee33c3cb06fe61504244a826e2f61bff1561134dceee82222c34aeb6c25e8392fbfa5aaa3985341b3ab52d5993063da5e0dbe3a13ce2a7a837bb7dfb736c7511ce4e881bf140db0f64667891bdbfe48efa1cf7ca4bffd32fad3174927280f29cb7d2421896f48eb83b52905d5472cc6b60c6d31a7bc8888504299de9fc85d4eaec4910aa0ab326c2621d05e71f904b680572efaaaa77b18952e5ea64fcc6f39814db180718a56993a98ae23eed748c7b69010ff2f878a6f9ee1c5cad05e81baff407be9b5152b1b06d19e6beb62e4cd26f7c5232975f4ed4d67f1ac774898744a7277815409d93b114f33bd5a82e787c152f0613035b61e611693b51c147f2e4ab24df41c27f5fc22163a9196bdf0f97f39c8da0ab192476bacaa1b0557697c4eaa9bc636c921132400358ede11379733ac2b21e7582867497166c0331cfa97866df5acf034c4a41c12abb161045a4345767bb1ab365976440d3119a247a364a5ba9e06940d99f604411b648698ac029da45ca863781ed3081b33662f54e65c06265d4cf3317fbed04084563e10452b94c7a162ffde44f3cdb50e8e2875c4a8aa384d79b6dc8ab9192629c83ee0320eec1cc907028a422c08d53cdb85ec616f4668f821e43a4a98c0822844550d3d0b4a24387f881218ee0c7e0a364f490876c19203b499450afae4508e593820cb101409bb97e838a29dd5fcda65d1511e735daab2bf8b770ee3c2c50e2c39c09b80852b9f1badd7e0e60026f25b4bf6d2bff83411d02f0f82805ad76e53c8bb6f4a46f1220895e3f749c3aa502d7d6325fa42eb163536c20007fdc15904c7ab73d1c7aedd67da92edbc1d99b7490eb5274b395eadbb2e66e536d32ef9cedbd1bc5d62a83dc9939da66deaa3662c112a465f190146fcf6c6bc96923b5ebe302f67941d7d2b4f6d053aa95916be04d6dc29cab756c5eb528c5f965c5716c8d9924e4157f2726df9c26dd93d3844736e6601acc020d172019b34e94b10c1543f6f9d63a8f0e3e7ede19fc6542261e45f7ea81f438adfbb376cb974cfd238f5af7e8c4801f58c6cb53406dabe8ce76268c019ffb6729b634ba210a68b70e0aea7436243f4917253a57f6572d3b53d5ac0df51b7ecb6e203fa12b853dbc8d9208310d9439ff7332a58c65af626ba95afa9fef3cdc710b2fc8428722fbdcf09bcf3ee77dab89193acd3d813cb43747c1e2cb2dfd9dd641c451957d7b86850184d360783a0930d59a90f3c15739184dc558222d036d12393f88d21234fdae2fde8dff507602e89c201be66c474d7c5aeb175daa4110a542a2d2a728540ecea93ed59ecaf98e8f3b55d402843d3930652dcaa92543f5c826ffefa2f4cecac03b620dbac1960288293a79bc305ed166ad409a0d2592dfba685c14b47a5d9283b305d39ec687932668f7422fb374209bfe14a0e0978fffce1144d459310b6f354b2b10d83e4c2699f2797d08037d2e5f513ec2cb464639983f505da0d8b3e174907a82d3e99e3f125eaef82e95c325d993e1c442f025b1a9835fb0c5b92c9042406acc0bee5e3263f036f3b9f5482b5aea4467ca96a6a21396f213beda4baf17dbed3a7033aedaf1a97bcfbac401501d5729a24c013cdc040e8644714ea874fc55ca4926d9804d39f5d5c6983b0aa2c0d802952a50cd311a83c4b8046a3d9511594f2a2a494e03bdb24cf4f889d554cf2679179e4169c0f74c42f4018680368f952369ddda37f771b2f39eb831e91e5d2752ef00c66ccd5d73145d5eac90d4009514f9afa18e865ec18d0751bd9286516db4f888c63de772c4bd88639b9417e98aad689c936e230cf830afa0b2ba4abb129183394cd00783c79fdc732f8d17a71c133eb3d4a2e601278a1f848935a538d7dff94536ea5c32bedcf50d5d9771556087fa23691d89dc908aff0bb11dd11fc1e10e99f685a78f8d8fbafa2955c3d6e5c57e0ff48fc24a3fbba760a60745c610914f5a0278303ad3f97944b015b8ad2b014dbcfe4ff735d4dadf53ff52bd330a6b0b9da36959606304937815a4e23941a36f03b145af0d98574eb94ebf4ada63135af1071bef7a88a2b2ecc8c4a820533e8e1adcf509f34a6cc7eafc327f3be43d4a9d98752c4c788425703f018c812ecfeb7732bac6683c32f0ff0e21d7a9b63707242185deabe5c2a474ee2bf1130c51781f5d0ee0597ed209d7660b9776f5f06515379cfeec9d5cf96521878fe31e0df5eaff84a468fa0c92d8ecc2d51bf350ff54aa0155281c29340260d3ada168816386ee0ed5f11893ab1ad9194c51c853ccb7d815199c8cedc974391cbfe9db384f2330690156efa7e4829eb22faa6f94d462f52bf871d8e9413528b779368ed7deaeeae3615509f6bbc15b737f2cf039fb7568bfdbb85b19730913ab917461435c1c93462f5089c5eb41cb2d8489577ddbfd8fbc3066fd778b05a67b956ac7dff0472191e3b1539465d25195fedb2902e2a7d2dbae6cb16a83fe01815f8baac1f571941bde7415000a33c4b9ae8e32305c23a36b425cbfb72284592869399599917cf493bd08de99b92476a614e47b67a24180fa8a9e3552e20e011e0022bf1d61919095c9f5de4b4603d6e2bf43008bfa3c439d982e5e68f940769806a95c57a72554fbf6a938936ce1f48aadd6f4d603cc75893a082c97bb63a996032665ab0f4cbda86b9e699a34127e92cb267b518560a1d08e618bab51c892cd05d0c0b8d1eda2043e3b574cc9b7f13bd1767eaa0399470a03c4917d98932081b3a367e91b0a091d86dc8539659167444687153ce803a90b6e94e72ceca5f7845cd4b2485410c1753f019dc52e7f43ec8a27a81892c83c4639874a8db8a038e2f7f8490d4f00590d1b829fae54a25dca32aa2c643957040a1650ca6b4ac4a5ee5b6fa980cd3b592e2266e88190ab1b3f69036bd8370a868f05768a6684e30ecf71249631ec6beca007159089069f21174718377f5a7b944b2802e6c5b1820316be3a9ba0f002e6a64a5ac9cb7ca45392ee0993246cc0faf3a5837d232b1277a19a76b0bea9d72a418cbecb9b365b0494a42cdbf77588d2233ef98cdea8f491af2872013b6e6f33510011cf8568bbddb78adab801ca71d3e1fb9018ca785467b7d81e32e7fa6ce1969b09c9d284192c1d53c0b9389597ba566e5b43990e8ebdf47cc0c688a37c99e026719f7202d193415f046b8f5270eb6416283bb85268333243bf800d38d64c102206bc55bd50adc65a01fb620dff7ae5946881c8c12f101f04ab6a6e4358090876c17bd325bfd5fe2fdbf94c0b2b35987775b9dfcce305e24d7397a2d3202b6ddf4d54ef4eab4b614b7e2f99195ed64cd383f21ef3ceab87012384dde00b8142944d0172a18792889c844e0668524c383714c09716e82716804ee8e8ce3adb61cff080c69c6388b5f8b44a89ba6adcf02160372640dfcb4533a3b2210f76b7579d3506dfa4e5e9a7f99cf1e2d0fbd557cbbbe04acfe526828ae5cb18233a6b740e03dcd93b81be102919ec45d8884ce05058f921a268dc4fe994271fba2a5f6f640459b1a33ab2aeaa02b5a72fb64f3820b80bf77d18182cc8841dd025bab7f33e24009d4ace6ede8b2adea4a5c18d5d44f40891a1c18ac2334a2b426fe6ea89fc84d179319c7b0cfb5b94b077ccba6b05c6f6f7a580bb3306a119826c18816423730e20f8dc734748ea7a11fd6aed40af149d834e3d486c9c39d96deb597254948046f6096b78bed2cf45c69a03acb96bd2d3a20a0e4d18d243a5c34cf7960c2fc015b14bf58306362a8d74b6ee3db4b53434662b7da10978082f8e197af9196f44808a897d4b2d68d1a60b68e8ba4c2f2075ce24b549cd377c2ab4641d27b57c163542cc175f6243aaae4e8db7ea54258f2e1c787beacb9087d9ee830a0d5dd70f8de02085b2d20cc77132f80862c7124cb4f10fdf8074e899dc1ac459a818bcc17449793cd76e2bb4446393cf8b1609238e676be77a2f18219ecdfb687363bfc0d1e0e63dc1a68bf8a82afd691ecc22c4206577f439488528c3c27726fb05738c834f1052b346c544f82f5d8223791a18acfdd433b826391296d7a6d17e491d158da9788270fc64e033cf8a08aadc24c8349e1c9d5914c832f6898fd202ad0f30c2c524275e63e4152058f474c56d47a4122c51e5c4db4c6a06fac233f0971e738855730475334fe11e90422834e17fd3fa20d2d84ad8a0b3a1b652fea4d5cda2e41d1c2aefec49950ea25ce6419fcdb8fa5db296d3eb07f145ac91fe1fe2c12f26940a0fd919bbdfde878d0fc11f5a0004ca36eb124919a19d0296e3f7778a90ecfc2ddcd62ec6bee9b0aa5010599b18644caa8f5207928d53ebd247cb0b8306348dfa9549841ea8d09567142c52624639de36d9fc2279b3725b3cb109d4f27bafe3b95e13f47c5f685fc8a120e438772a052e32ea0ebb25b3f4d25a9339a7d28b3639d4fceb8f1c9ed1749c416eb0e0d3d50c3eeadbea7ec951b8b5fb96c7bd8943de3ad85b9958fb143ffa344cdef7d0a9219426cf288cb9e7f1d13f038b82dfbe09990f60f4e81b8b60e040e3016a6a3aa4fa7f0243548c0c2569c987ff81a1530b43fd099caa5d91151bf6fa82b587104ccbbd82866ffa63cb7a53d046070f908fdb3241f2183ef8dfd3ee31db1124a3725179910105d57a1397afd68d6380b22da4908707bd8438ecef29262b550b84b53e0072b1f0d6728ad8be815b47c47082236e82e6167730cc2d018ae55fc24a78b1ebc418485ffab9808de14474249f557881a355977eb47197502e931fc8b806f467adbc35626bcf8da7c215f8fabddc60ce2d147b6f30f8a171ab5cda62fb7d83e0cd09f4e7c7a2328e5ee44dc791b81105a266709c67f469226dbd357317c004a98e7e149309f47de4363394c02bcef00a1e4cf56e841d53abe70cf729b5920fb6af1399af026a5fde810098dc2b93cf58e419c1d6f944ae1b8af4ae7c91b746cf26736d5723e984dbfd0b691abad431f1b81282195204fa1e57193f3ed1efbd3702c8e64b16b3804c0ac86e2c945e279dfe21d21f6386bc18aba1d3eee818c7d2ee20f3b345258ee7d962c98416f6030d196454d570ecd6016062840ff3c3e976faf65bec472c5c3b5cedf3b25d87988c311f5ec5b89d361bcff846c3bce69500ecac847574ac11060c752cb8d7f730048d8a340c2c83b91ce177fa5e5e392c594e2150b3c624f6d8d28184abb81b5e3a2f2dc68cb6508a3bd5aa15781b6356d50d040be23e417418f9e79f6bbf8bcb487e09d4044820677e110efd331ef5ae4db0450cc308ad983e0206eb008d8f9872654f1fcb26e64e71b598a9958b026213c07b1db85d4e3c4a3fae219ed3717870b854fcd881d9b0078130c1149927b3d0da61b02ec72c4bbd4b86fe20b3c30909e2981c14b2559ae786b81229e3f348876f09401a18ac2fdbbf9eeadbae6636b31143aebf27ca1f7a17745ff32981ebc6eaa310fa6c463cf1656a8886f705362d19baddc88986ccec4c448a8937b450c8a8231b1e109d18e8828341c81b66cde96e5ff8935c2aaec7b400e9058afd14592c8311359619dce307a922f918d3c4a0367eb7a2035a2cd3b1675ee85175b65a68c4bd1f24d1a9d5b92666cf5efe23d5b97211843adb2dda13461a94fd0b4ed57099ead19bcc693de39e40c312c6cfb0e7a71dc2e72b5985c0424831155b50e31b951f1f116ddadd68ffb58f639cba0b08534f3f5cde8b942ab551830da2860f3d0f925eaa829a7253bf12d3e0c164168f432cd5db7c42c201e5401f2132a2f13a5dedc36a4882cec907c44cd9f1a63bffff0bfedb26e3785428960765c30cc7304ccd7591168c8a27e38ddf3cee11e3e1211634efa2aed9327099d4b33f13a64380c48d67a913aaa10339ff7f3a1e6989723a10c00a211dd9392905ac3f2882ad09d2a1f09e070f290478871a2e0583b8b1448b232eeb2d14cd7674e60d7354b46387f991bdff3eede8bf38e629e59aa98497a1be50971151c9aa7b3756c96c1d3550e52068f0bc72e01397130898f615d87ea4a6087af77a0ce118607444c06193db3a9de113242acfba5c1e01f8362c0eb8d143f5a10018403d37135aa4d3ccc3e5bacca1d83cdf557227bd41465923a919fe060c78d2a24fe2c1e275432e5a776b4f5b9d6e1c6881400b772a2878aa5b4d6046895d5b78a738b277c16f4ab5f917f86024963b94e4175ebb8f862764db74502abcf7e91b1d77bb2cef9513f26b1019b36df7912a43993057d6c76b58186bec58b9d703e41e868b10b42c72a92e05f3c489b605dd9db52c0169d098de250cc308816c3ba8aff9bc91d215a16858fbc9922b09bc025eaa920d0ca320a86968683747015a258cd0444f8d32eee064237677e4a1b6446b1e7ac650041af6ff0739551480c7c1fc7d15c97285a04bc0c0b6d06253c364684e850753135e231768dc12047f3fb3a6884473dd19d060bc623497b991575ba3cdca66f9bb2a053c4a18d11cf88473cd73a1e9b836b6cabb724a50c4c0654432e423aa6eb39609ed98432b90ef632f76c96112f787603d3aaaacf634e9dd683bad5edea7d1c02a0928a7e8ec1a7cc2c020333e5d8502273220747e7867771ea43000b5c635942a01b0d01d44d98538cd5f833d569fc84600a82f96904fb7faf4311e6516064b16f0488c890d3aa85f4fe7a7990694960e7392383742662262c58d0158c2b0a78f2102b32400b71cf2a2759b7f8ced14fae4ab34d3a0cf699e173e8868bb546fa7d70784fb976d9cd84973bcb7d20043e28370c3719bb390110a6525fc3e153d5c5665e3110860724d65d7ff795447fd32497fe52e4f0868bd84449957d1c746a2bfcdd43e7f1af2b24496d96bc46101168e2bf3c8d87af2e0302aca9cfeb3b5d9d12ec7b920ed1ec5d995bb67364ad1c4f95a89337d04a027e1029c6d26eb8c963bdbffa0e20f1ea809cef404952130430dfd26bd13b0e7221ce0bdb033ee06aff0c1fd84829742dbd553a83283950057315a452fd47b42212fea9dab37edb2440cbc31422e7d66cdd935fb55286c63a3ae72c25f12153b9d91006fe30a5a94b20b1e0101330f6b451b5e12975c4b8b7717464cb9221e11aa3f296d9c8b904987257159c26e5f88b4881b5b2c74347a0fc59a97b39c7dd34702050e2e54c5f8c635a0f150782e5d5a23933c11edaac108079d329239325bc10c4db3c12b8cecf9f47a01856482f51a91872090f279ba3cea84a618c7b34d2ccd07242a62e94eb0427270af2950f092da860a08e85a050d7bc7115439ba2ac4e2276dd38e013650c56ab9636103d72f448f1a6ad13128fd8051860de5b7bd89c4b72563c62632395982b58aeb86de47a1c353b76c5ffb105e44de600007244647e27acabe59d6b072c1e7e45ccd764d38c8980b7161d5f949be9a1d8ce6b3884e5a02e6a0f55c2a8d79be310b92a4c568991b8dfd6f2b2c7399ca4b095be308eb86910ea2638819c1c78f43e2c7861e4ef4f05ada6bc1e3fe186fbbe105c13bd700663c30817bf92aa5003cde949eef60c2587ada304f9b9eb7f7a3b7c4dd64ce80c3398fef08ca453b9ccf0d1eb6535dfcf4d54e08359dc90068bf2f458121c04c1ecf3bbf6b26fff9587a6e4c9901f155b20cc6e654c3f4bf666259a264bc7d34b9e6794a32607065b831b6f36f11c35d84be5c675262e30ca2c4e6ced6c6f059d062c916e9a2f1a33ae4154f4b3e0bc0fd9c85f376a8d1921d248165abe73434e90f32ced5c33b5698e0a90a2bb1ccd9b250534d5fe6bd16b221c787ee023c591f9bfbd4e11529827ee748785f4f93b62e8a1f5515cabc86878e02aa276422467af7490456ea8f40c2301342bd7ea461ff4d80d508b4ea789fa66124e549ddeb5d456dd487ad31edcdcf5d8cc76dc520a7601e841d6963a84fc4d76bc25f579400fa567cc9ec60cfea103160c6d9da9b80a5e630d2e1ab813fa323fdf27497536e5b5f8233a33ffd211be409493309a326c44c9eaba0f76d429edc3968151739f01b21bda7919f2d21f76f9dc5f477e97615954cd9e2977884fc487390dcf162f2057c8415f6fffadb30d2197b42bbcbb5e73cd44afeb6ca79c87530ec6c8f7041c81a96e595038afa0efa283d09d7fbf02c120f74a7aef0b8b5df466e95427d6487857dfc568ebac0c022f72860c1e53472f99bc134a64450f65ef46f8e562748c8fb57f4a4b8ea547ccbb0c0a68fa61c23430e0cb1e1359d671f360254db88e7deb824a5de3b764768a3f3892960c6205a1dc9426439717dad4454ba1e6a924ad1b753a174361c983e22ae6f0ad464676c79ba10ca79881bf39bae3bf967c09127bdc076e500b4ba28430574e6bb29575866daed7c15483688c092a7a783683323aca04bbccb4d6a722e5fb97f07c6f8eb0657664054d3c134313c2e5455ca9edcbf247b908c0c050f703bdea8923b28127dbbe350bb1065c6adbcb6c3dd14ba8c9051966cf3ecbf4eb07345fc2ecb25c065c881e0b130d1d2cc360acf77813bbacd50456a06ba6376524570facbb0fca943c222f553a4997c28603feaa6076db86bac235b72f99e6006c326a6457aaa067f39f0e882259e0152f4abe38af941e64f3b8dcca9f4d2216fe7bff85ec6c4785d1238c8af80ad3113ee76da4bfb293df629f813dcdc441f3acb796f79ebd304b2722eb6a9b8ccb7e2e79b9a8756acac7204bb0b9f1f2859c756fb6a184b6fbd6625e954293420d7e0f05d8c1067d889b20f0ec974e423646f4fa94faaafb05605482622f8f8011fe5eebffd85aae4b9e304d13187a386a641e2ef20fe7162a5e88a03c3a09cea5167be40e47b3e8fae6fc79803579333cd2219bfb46b4fe80ab4372ce483b5745bdce23dc1ee8e7de16fa8dd199c32077114565bcd313d5363cd4203ac842a8bcef79a1f1c3786c6a851e0bb2b23aa8607b99628fc788dbd0eff327922792c8def7f32c8695095484e42575a7d64af8499c967d26d266584250192a353c7acf255a2fb7ef3ddfef77bea9ae69bc41132b2e089f48033cce11d2e3a66d1e1194cd721c9b5d6263a6cb52dd49dba4d9639cdf75f29a15e85c6a2fc73b7befebb7ffbe678f86cce324c1de85d2de481b67e5c1501dc69d8be9653a294523c3452a9a0c09f6aa2cec96096c619ab80aea066d4f207d4aa75937703486c3a73b08fbd95ecd039d7e92c797e559eef0221349a96a5d2fa21cf400e249cb758c91afa65596f7295df979aaac5cb33799ca75d1b7c3eeede5533cf2cb9225321823fdd2ea77207434a7c3df8f68c18e9b06934023b34b084465ba51bf87f198e7a7e958fb7801d6cc58fc9c995de81c6ce1369a677ba6a4fb6c31f69fe82f8af36f11c87f657ec2eed70325cf2a88fea663030537df5c16b278050deecefb99dccd0d9cb40b2d31462357632c9907541e3426faf2aa401bb933215bfc40a60b24e542c72be5b21071fe9f871ccd80efe786a2152500ab5b46d3561f4ca07fe43b628e003a3085c00c2f22a505eaa640cda966325db356396c0f9fca52202289a40adc88ed62ff532beae2f026d8c09e7fbfb62a655b585890e73e014a70c62b4980c7770742a7872db0421e3ef0ab2a694d181cddb2c17a3738ca9f97a013fdd83f7ad03cb4570e390b0988f52ca748aaca979a3f20cb47d0a4b44cce368cebe9335dc06f71ed49e804140ecd4cd052a662b004e0613735ccea5831747897ef58cfb06a57ac3ef6a500c8141e166328b142832bf0bd54ba6fe8e77b39859cd36d17179779630fa16bedc25767f754176a0d413e9cf43f068b2a666bf1c4997a2008d45c239b2ed097e218f781f8a47311433e5b166e29480f2427dee1af228bec4368bba12deb77f07843ac06d378cf6eff799abccb9b534062b9977389b8d197868fbcd1cb7794471a2d7f1b239a43bdca58793ac1429447d0f0d8d0428ecbfe2909a0989ce1371cc467df9902031a5b1159ccf06b0645dc8af69563a6e4852c5d147e7df2936a1ca579b11a8fbd4377ad72038591ffc48bfbd842e4f51a0f03c4ef60e1b11b1a70147e049081827591c8e52e46628644a8aebe9bcdb3aff9d2c55ed2bc2974694e4a95ea5079c28f4ef82874f482d299a51547385ef95924cb34ecdfc795edec8c710009d2324d830ab6bfd0b1797b39f2973fd31d5a6771dc144acf15b1d8a76130fbfdbb697cea7b7cf439cdb823e0ae4abad1313f26a3300973ec78baa350711f1078192b3d66ae72a893762d4e174ea36e2378a1f981f964867b79185a95b3a751e869c41fa36fb87e8f5f2e2ada35dc04c85229635ec4402380f1046db8239151cc0d068e725cd0ded70a814fad198a1341d74c772ff04c5bc80575baeb12b8aee3a69b5f0018bbe37ec4b5df50f31bf94c28329923c10c3069a53ecec34e500e3b8db00933b3b53c060a5c5eff5edc2e2eefea8d54fdb2405dd083c2500a14568ef8915e441baa49f8228086930b4dcedb547907c5c325a37df69b84e54827372719871632771c1326391c54fe63995844721b6e666a2097a20117fcb0585665711e934426077eb951200b036a11624d79d614bd37dc66d70eec2d62a04cdd139698dc794c9c4b172700882fbba354707f39e41e1a81db6a9a2428a7953068fab14d6eebfda8b55643c1d5d701301eeb3393a19d32c225f7632c9ef400f18410c8be87d639f84f3688257257cb3f840692c72ea24cb0ced2d70c1f5122cb634d035f04517b06b59d0f427f7643cc1f5111874045807fb683fbe265e485ca79ef68cd0b45cdc5158f5148db34bb94ba81cdcf2396033b6bfef087d05143b9858055877ced18661fd926f1ce0045d91647cdc271e25b43b6e29a06c6f0ec2eaca880cdf68916a39f27c0d1673511bc9fa0ecaf765100897382516e13129843e217afa4ea4ba669e44c70f2906165331a00225c9463187add3f20a10b8aa37218817b26500b894598d9314fcd5249f31fd56329ef881e5389fc2342efcbbf4f131db8e1c6c1b07bb3345bac8e75046e205a6eb5cb78fbc6460f2e7a6927db81016a3efaf8bbe6bfa98b32b42bd63f004b761bc13d7a3a725bdea28287b096c835888ccae6fe3743747a1b3eb8a5d4e0ae8e5832523f7d4dea8c35554fb577777f724d2ef3fef44f98769b953c57fe6055a4ade13065f297561846548623282bd5f36f1953d0e256daac34f3523627fad9548edbd2ba6ee7ae6a58bbcbcdf4d93ae98edf32f2528778bd9b4c0e7525d5757c7c37f6dae2257a23f86a0c93f4879d340f3ea61018e36471f431c406d879497ec3bf8934145faad806748c65a29aaa470bc0c8f81efc15b5de094bff9fb82edeaf7dab46d475cf19739df5cdf475f9a4f0fd5a2774c455694c0c7c7d8814807635b25ef70c4f8b5d752ee2a145555b38d79d7d8e9c8aa0d6058f1cb2925564b8815f9b2049315404131d044f22a197a322353a6f5172da990babc649158b24a95acd1657e5aae9cc3e074575e8eb36459d2faac2644ee9e8adbca74651d4388d5d1e5f523794c6ddd4d5c2a126e71b47cc4b99bba5986e117c318a98e1f28b8c45913f0f5b1e2459cb33695178c13427b91b087523872aad2f3616cf8360221171b09214148cc9451cc729c68b932580f34c0cde019ed93a94d9916417fc73dc62ffe2bf934911c52a020e19873b2d642e269b4a237c8ce2f34e0f93f5a36cce5ba6f1d9af8a0568a552469eae2fd450fd86d5ca7adf5048a8e119865f35c90d1cf1cb508e49001b137ac5bc059d945008ad627f6b111883f01668af7f12138063821be1d36318452e572bb9fdef331c020d7c0a093b188ef87304bcacb2ec9b19efd82acdddb04dd41b31435b4cbcbc7edd76c031c9abf0d2245c39c000821955fee0e6509e05e1a8e4b9ed2e8d24bf0bd5bf9498d8c92e82965fc715e4470eab97f6a5f17e693c2776baed41765b4bca46804619a47d80e4a5b53bd6cfa8547c5a4ade6baebf16b343b53588f3a072fcc0e64dc7d949b6d300632840721aa9a809cf82c574f116b4925c09d83c02a09eb4445f423ce2189fdd0c378d9aae427e2cf32ff707380497fb5aeb9068fced0e54c2c147da0ef4401f373ce7cfa772f82a14d3d650c2357022376586f2507b24da6d9007214c4b8b7fb893a860e31f5b0ac178661324e9b15749ea925903c785750296be2e47646210661106b34c130dc989bc5d60238288617082a6deee426569531431b8a48be9d33b78b2ab1c056c177d7303688c54e31affd32d751ad31d2ba666f28adc3cb42aafe089c45095366a77355a3b0f5aa2bee8a1fb8fecb3a03e075152d2f5825d4da721e68b6a9facb993d8c9b37bd3a83b1d9f07674e11f6b16ca3e878c5f90712c365d05cda3327ce8f63691d8aa19731e88543758bce43172545f9a626c85e185d2af9e4946e6cd05d3834040271a3cf8aee3fe8721e46023ed93014518db420a59bc5d4a84b3c3e66539f5a0d36a5c027b642413e2b6005221e57dc5d10a8b8b29bf13f1fb638f59bd152b834cf428fa74e4b2282c5c7ac869e80e3d87e9c8b1a0784cf4dc40af318201325f06f3b75cfc5612ad5ee30d5e3a67035df5125a75fd3c3b037a07b071bf4ad02b8390fd678f98d0a60ba22d8daf14fc03e4b66e37d990dbe58988ae553ddc146656983948f64a2ef4cbeb9f375e5b4103ac20b096cdb60ce968119adba45c8faed951f25a35a5373597957c7c3677ed653237dcfb24a43050e3ad52b3ca7728040feaa74d32f3d0ad510f81f007ceb3a725e7278de0bf80c6c0534204ee1793b96115c0e0d4a3f52dce3e4e0c16a0c12688a142c8111b5f295ec2ee580b9f637e35d09fb6d4b7d2c85e458f070215ab0cef41cd34395e8a7b300d91c855fa4ba38d1fa0e44363d70ec3f2eb5299619127c17c4c960654a03cb82b11066544c3c778d2503b552625fa02f895c13d8433ea0f0889d86f923410043f1d86f768659412915e39f55ca6f498f8702651a1d0e476c81e984ec78f712886e172aa7d3ac8f2d378d84f31ce594ef2edf38c678c9103e4dafe91cf452d0dec0d663ef35ea6bdc617872582248460a1038405d0e64de33efd31b21a3e49260f53564b2c4fab4f67fef857d66eedfb37b8f15808d828f479163090d86823ca61031fedab962dab980e9630be81f5b0de24fd00d3184bd9024dc098de113cd32244f57b0a5be866e048704497e35481eed33fcb3822e876cc252d591660ffdea2485e1f8f1b4bfc442374a614435447c9434225116643110510e2c7e4372e3d961850b117203606c7d1f234363733808a2773b8d69bb0b88aa7cd0fff94d3a2fcb82d1144c07ada333f9c77873d1618a812384b4cab6a3b577dea4ade76ec3174e32a8f6e758429dad53f78db77a0d201b9ba23a4613be52d9f67a3b8a956a27b3b09e423517bcdb91e821f2e29bf20cc3dfaa571456285bddc2115ceb517a0c6cccb1d51d6a27d722b093037da4b396d3bc3c560509e5abc60dbb7a25de92d273757dfc888ab607c004ed2d4e817674fc1329169b0b07b99685cd8724377e14be49e4ab066d9c840d45fb497283f0b71be6a7494a09bbb5dd32cda78ab4cf85107e540c264700ed82774e7cad72bb9a6fc822ed45431da629df7f9d6587ddb43ffcc1c4557deceeb98a1912cab0aa7442ef4c43b10df85a9fba463ce152fa1a4a6da9596bf7f3c96dc4d222b526ddcd2a4a7c770c3fd92955a7ff2bd5edd8994233532849536448691aa8c9acec96c2e81f520fe82798be11d3110cff32448a1353a652e0e50c1216a56a9c371d7608d3f2a3acd2f0659ad769b816f8beb76276863e6b17381370fdbbcec682acbad1d9af3032b42da0e58fc0473ee9d35591c429ee00c95f94c5283435473303635f5c35c90d59245eec3989bc2a6e8ef2dda629b9f91edc4117105b830cb1fc82aaf7736d64521b49e7b09562cc2f8aead61b1658c80ab5ff24d2fea0bf47b053a2bf9381b9472a4830599b608e2c419b06243de8340d3a16d27061816b8fad6e6be8d03b294d04202b407fdb36b42705d152571d7b5ad61c0399a4a061184fa14378be3daf5a204fbcbe5b355331719353c048ac261b92e77c6239dafff3e3c953b8e8d57a939b5ecdfc11b125e4c80f84f8517fc390361c064c86e870ec1d050fd433878c0140937e0ec04831efd18312618a55fa0a24f2b2f3af193dabd0142b83aebacff50433ec3ed8556909580c258af26d2437ab2c019a759ad49b51390bf3c603255e437fdf1d9c8a52b0b3516b12d54d56c321e6d90356c77d98bc04c48478a563d46cd249322f65f250c6f5a443034a32bad4cc30ff1950e0dd4aa901d432aea384d234c71307b60afbaa554a8d43feacabb0dabdb18b301a86f409c2a27bf0a817ee684509ede87da9b6ef1df27bc4562d7a405f1b87bc97ac2d2a1ffaef9f552f1c2efde9773c29269bb88ebfe60558e6619492834fceaa13a37d1384f21bcf9f73aba292ede58a23ac25b1a821cc615bb9255b28226028259f52903f4379a2fa04853045bdf18413962c7377e02063a6a9345ca6e9c3f1509271e62a8f4cd842884ea8d5a259b9f53fe5b9ced95a08d38bfb54fd732df488d663c9b39a725d1c36a5156567e667417f9d9fe5eef3b5aa0591ff0cb600ba58aa048a3fa44b3cf6517a5137981658823abeabc1adb4ac98235a9538ce7ca5fb7f254813a1d779eba5e66fe19178e089af1424083858c98416eb2f1156d3a68b24feadb07ae92988472fae8986f53196f1062921ae218afd45253c50017ac74429539018d5e603a862e48cf83ae4421f2d91d1d336aecd029b93de519f3c5058e078e40d3bc472c50a40c29623473350754ef041de50ff6352e5fadfeed71e2e35b35bd2dadadac868691391dd5b64afec5eb945ee820272028b02251012ec7aa311925689cbe404852582e5105424f4028b13964774a98f44a6eb4dd7c87a69255d5bad2e42f9c1d53239414951596179795ee843e8194a891160e68017ac148bacad139414951596574b2bcc9ed6af424951596179b5b4c859d45e09a8535456585e2d2d5cca52bbb2c907cb4ebc8c6c95849c738e733e4e7a0532c991d2898fb6b470790100c6458c0a076b7dd8023dddc2e5050018173132de7ba0f65a2b97457be956b7b08cf55a01827262f2792db80b71b94ad256d730efe28c8595c089bdf59773fea2c858dbb80e7b5ff7dde7751bdeb4add5e22c5b8d75ad1a8fbd18effd6977e33aec7ddb76ad88410bd98e46a281cc45ff6040e6b25954a9d58bbc6c24bf8dfcc6e2b7d24573e01e4994a35f8654268a452a8d9c4caeb4a4257329375d7f7b89e13e7ffbdffa6f69cd5567b66acdeaabe9edea4d775ce7e1ef2d5a007079f9f0c5058581e26fac1a08c3c1c0c0f41b8e5a80010828e07701030880bd2f6b3014c70208184080ccec2e626460013c09c2625c040093897131865fd660286e9ec54f83a1b8f948663014371fc99204c5cdc78deb484f22b1363fcb71f3b3dc7b34359a37d7eec675e79f6729e4465cc31492d677eecb196e86d4ee8676dc7333dc8c29463e67881a060c1f0c0120bdb8b468e99e6772616ba4aec9546d3b7d96555bed6e5c37d2d9acfab43a848a46a412e985b32ccbb2cc241291345dbadab4e913a7519d7ed18854329d507f1a914aa613eafb8854329d50df51a492e984fa9e924aa613ea7b8a72e85732e57fe14c27d4f734a51af91192172e4db5c82ac5d21d785d5d1a3000095dc7becb5adf45a66614ea7b9a52ad40ccb28f64fafb5c39575656fab972ae9c7f7ea38a8a8a0aa732aa8cdc2aec013676c3bd184dfe8ec523c2e23512cd85735393a252329d3e781d424523d2cc019b8faf91af9d2bed59251f955e6d527a8d6928bdd6dce0b8361f2f9d9d90ad276f695a59b87f1aadda4d26955630ed5aff7f05fbf6a88dc6d435289146bd0251a720d463ce0ec3ec1194dd81b133c0f736b3a23f4867adfa566da0de526ee4a05b8c44eeace530fed1d1c3f3726d2cfb9b186a1df7f9db62073f0c4331dc7d03b7d5e20d31ba7f7bdb8f588cbb7104126d071414fa30f9d1c17fd3585048259639fe06867b3b35fc82864a28f6b61458065fc077e33aec7db9d39e36417a4649f9500a6aae58854e17087a1bd4236b64b1babede3662b2b2e222f9b206437173f1bd52c9938cac94a4998bd36217f9dc5554425ab9c5424524242477cfd26a690d86e2e69d7eedb5b4874b324443231f198a9b8f6469e651dc7c244bf3d41cf6a1f8b23030ad325f2f8399076e53659f8f64699e2134143f0447b234cf102a6acd6c5167726320bf70c0a572b9cc33848a4624adcf18efe534c528d92a3358fa45a7ad11240624a5bf58b9b033d3b4daddb8ee4be3c919424523928974c1ca50d5a8d59a1e5d4ddab84ea52acb1258365bfb2481b97268a4543a691a75f56fba733aed74c974427d4f53280bd309f53d4da94c27d4f734a512899c50dfd3946a75427d4f53aad528a44451dfd3946a05a24bdef734a55a819058aed6d6420fd4afef694ab50259619ae16e3da04b2b602552cbe53a5f87ae10ba4d20b07c5aa5542b9015ac101130ab60604ea552a9544e65307b699aa669eaa5f8752ae7bc0259c10a1161310282599bbdf7ee75b39b3f62a6ae6e4a4da8ffff7f94e9743abd36bd3e994e2653aab5975354eaa432c1f22aa61696ba82dad4c3ce37e76f7b55c6bb3ba3bdb93fe2c2a51e35cef47d95b73db8e9df4a6cc172dfbaa16cc8083bb8cc692d78dcaeeb3acfc31dc7216055dbcd8038ecb25cad3a64595643c8f688ac474f56410ed60639debead31388c338c31ce328c3d8cbf9cb39c65f9c31eee30583916465c5996d521b69b1282aa6b75f9b25a82b5ee3f3c4a7a4c4e506e72b41dadc7c56387a5f1f9d99b860d638ec3786f14fdd7bcc7186f3bdbce12590a0fb61fb687dd807804fdf8f4b03f2c8f209fa0d495f27a419d4c25d248749a2539f22d863531921b9c1cd7ce0d1e9310d683fce4c051d22289d5d0fcac522b552a9552a5d2de5fdf5f5027538934126da7599223df6218c25a01c2f30302f2037290b2d8e6398e4b5da89543bbf3ec11f2f9b1231fcbc302edce6d664b8b89494848ef225ecd2789d03e22914822ee4922510a436907d80c23ae54e30673db3ccefd4b47f9438e99fd7ce4200da47fb40edd83f2803b3a60b5b9c138618ee501ed76a7967076eb010921f60f9b16436b36f722f72297de1869c3ddc8f40012439046dfe49def67c3a107572af5e84436db953f4dd4c954228d4468a824c7affceb16c31a1b9c3a92d25d9380ecaafafafad9c9a93547dbf9a94029160f8e8d56e3795ed6f52ef57aef3afaf70c7532954823517f200218a7599223df62b8d167f9d4208eab41e2f6bcb2d6ea522fd85a2ebbc6a0a6813a93fa23499224b1aee3388ee36839e79c734d8758fb70eb0745518be2d560ff5ef7eff3eefd619ae906e5c6356e62665e30f0000cd72b87c5616fd811924f5f28a98a9353a3870f1d424537a1b8f948c6cc93fe0003da8b99181e40a9a5b1616f581c3687f589c55288a5e0a346a9cea83755061a3a2b0a355649a8355b0c7f00d9984a956e10413c888af147133162901d082143c65803f761246134616482051c7812a38f1c780e2f00711dc625b80ce30e208c2041088207c19520e286f184b188016678ced8c3041355545173b5daddb82ef3c25a85027b5770018c6b862fc82ac62b646bad4ac56269d762edad0d32e7e7cfcb4c5ef2cf350603e3ca6d15e37b3bbeb85e2d062ac29fc0b22ad45e51347bdc465fe3aab3e564dc8a539daaa3a393b12e7778f0d55d579ae53eab0fd44477a643d32c18625746da1fc7095e5d07725c27eacb798a39171fc4e1e59ec7e25a036be7e24f636dcc6e32380e170d1b8b716ed8b0a95176d58619ebda1c393870b21b384dc9df974383882782ba2e23028a19fae2106ccdc5376795e3fcf2b1cb70e671076a87f97e9badf309da11ab4015e4af1f07430735de5e57a618775dd775a5ed66dbfed87bd7bd75d51fec6dcb99e4f5fbeabd3ad0fdba5a1e1e0d47562b8d9a536b549d6aa3eed41b262d7f163401694387cc37103ce1e38929705068e2030d9a9fc2988fca1d540fb294aa85a8eeae651ca50aa5aca859b15b7fd727b926b5d69c731ee64c8bfcabfd72fe9dc1bcf904fcd6c8a934ca8c43a3d3c8c923508d8e797bf2795f27846dca7175d2540e1d3ef767c715795c53ba7106765f70450e26906af347fa2bb719645086300367829d530866d831761cc79dcdbb23a4d415a7def474bc65d59ccca78cb74e4fe0adffd963791a68883cb3ff7e71d48b4a6f287e0cf56bc5e9fe82af44f6d286ee30caf709838218317cfe368fd996b59bfb9cd74cf602eec537467bbdd82aee8f2090256895e7febe3da48ebb2ff85ef9559a4a533fa83577ccbc1a1e13c98ca0173357f65bedb1cd36af0506f4717732d5fab9aa473d6ab3da9001a804ec79760b00432601141206c3e130ce93a45290cae3013403cb051e8883e350280c08c33048126340001000300000020001040c664a3b6573f7d2a726329410604d6323265f8234ad553387284b119b37d2cadf2797ddaa7fa1dc9525d91b2027a80496dfaad4fa48dc7f2358aa05c182fd1dba05404f726cb8b2613f6aa891146608b60d95a547b6ce018f2094996aa3cbce23a94ac3aeb7d409c41e9aae625ef2b284ca4437363e9aba9def7bd9079a1cec8f16a82493310720d4622505299b6aa0727915bb5a0210b4f4bbed04d8512c59cce8b13722b8149973d3a7ea9f255765411ec0b7c0b3c6b7a9762322e9c844391d529748325751ee196ecc551a996ec68f0cb8264847e2aed4a6965c81205aaccab431cbeccefe1790342ff00497c9561b257c529ef53597143251244d94a7ba6a3fa27137e63ab192d92b4f9b480d445e884ed49e75e4e3fa5e0af89fbe665c1ff532edf68199fa298a5cc7282a4dc9d2aef92705046a9c5ce5a8a517ce011e8aa9b55e50e4a3a1ec026b58e3a934421b0428f0026f0e635fcb07d2e07b95b5358b3bada47ea8421480769ae99db0f39e8de7ab9803f631e47a5c0a3522f714f7fd81684ae2ceea6a9457faf8b259457f44a362146895d53e42310acc0ff29cc532528a3b81ad0baf880e2109b61de5825986b21094a43bfef572769fc84042574bc2b808645c6e00bcbb343136e4ca20667c3ce03f5d33e8510186eb7d69fc85ee47579becf13b99852f448f313f77fd662d7efda6125be65fb8c68435de306ddd74214e9441026b303ef49c00bca6a385d15e5788c9e6a140e87579011272a21c6fcce5339ff2842045cdf502b531f28dc88ae65acccdaa17a0f2e6a7fec48c6e492123826b98c44ec82e333d10da215e4af7d36bad04898ccc115689885c3f45584e15ea0ea3de4f2be0b2040cb0e057690c946dd82f0ed9a4c360515be52f183987dd1ef90e625fd9a4da52914c14782b34f26467992ff99d7b705c58d96285c895e0037628d149532595b169221a6db4ddc6a987d03195992f1ff75cfee6490654298090c290fe82af0847f053c7e4b2e34cc62c58db6df7270368b82484980faed59979b9709beaab95a17d8ec436aff188d17ed4e567c5d2b02640fe9b9e0dcffd2cd871de46cffff677b761a65660d6010162ae06c181cebbcfa91ae74590c2f548d928180f14bf14044d6ae9038078f5c99a863406493ebda75981ea91ef48b161331fe04c10e84c41bbeb6695c320762d8f1b0d2bd283f7f2831e66ff02a016ca4cf8ab0dd3cdb4c60843694a8028c44314dd996c2e59cbffde1c270abc36a1cc310e696675012b31db53962fe133e215cad4c058b2d027b8d37d1a140f1705d40327da57af84d74889dfa717a3b4de3ead4df349add2225f7420dec8c75b823a860dfd40bfb88b9311aad5e3d4826af3a236f18b787e43d91602e7856615fa2ce9c214afb314c3ac66828a4ea91dbf521a0691cd54af1a5b62f12fbfd0c694185180bd1338e282146522525f6b799c70fa4cde5e774252cab2e6d49573d58f5aecec6125e6ea84084a02ba8742500f97ab4d9dcaf41848eff2c418e8e836ab2f4c623c90cb9c9f874a80483da71594765286259c8074e194d86a3a8482c4a4388bae61db06676bbd271252b3f7cb8431e0e8c274013ea77e43c3d421d4d9cab85022c06ba92c2ebe046c1505723d72af8938d7171add72c3054ed36363731a8a2c74a0eb0fbdfebc3d890e3148c38dcd2826717ecea1fef9c970fd0de024ccfcbf5a10049e4738406374618bee127a1e85eb1a23db21114d8b3822da4b7174e3bad4e626e085f7aeae6a1f4cb2638b30df609b2af665913eb76e4c6b7d658ee7b1d349c7f67104f68cc14e24a2dce4928987aa4d485b04d936720f5a2165d4703933f966c70d4d3b206c52f0274bb01e7ba82d2043b022cadbfb82306a1dbd6454aabba09ed0de8ae1989565f665125f2667ca45a3ef9f3a6fd222e9d9cac921c1d54638fd0107faf409498248c1d21710587429f35148ada6eb4eb226ecc5447b0800330f89a09687b3c719ee7f991ae6a4e0db8c588b4496d0383ea276d88b8ac14399ceea005dfbcba8a20d5e0a895e8a0ac091156686642b28db4c0a53fa1296bf6efa3d344c10337e673219cb857e37ae145b2c7e665a66a3cbf1db36e1064e2b27c76d181980bca848152c3086e61ec6d03b5caeb36adcfa130bd445897dccccac1a0353caf237baf3af1606c152f5b37cb1630776d2aa5c9c46ae596e730510e5c672b33b82d7666bcc66180aee239f905781df412d810a783f3bc48f9d944e8b6085b390be67dd6ad87dda70b83a9c8bc524bf5526bd323c87980d94a0e0878db8b292a6844573309fd3de2d948616ade724005d2aa30ecb8d414d678a483a48d1b5ca3326e381bfabe8738b345656e8b8494103b628ba22acdfb5d42d8321435471ebcfb19de1848179724d29b35c482ee8367795b63a5fd30a18369628c4bb3074d2ef2aebeb19fb6707cd1d43475ec89517b16b0fc05031d98a45330557f7dc65ec9c93304440c43d9db56f60bf5c575a7e218e320ae2caf95e45d8dcc845fe4d947ea9c9bd56c17f81ea22502882941b6e8835202b296db601ce17a21b6bc1df065bce7f3095a6118892c40a580cd098d2e53912c00274035993c27a7bec17f543cfc5269e60830dcd021d17c9b725c50474974f8680919f0e01c9cb0ab4936d5a22508e30d4d42b72f5a453cbf142faa405c2f69feacc4b1aa7c39d36644e09bf5f0e0142c7d82f898ed1fb07b33a3d5e271f6552e68e5962f8674bbc17d7361524db682134c4bb7eb41fa27b79ef77992c670a0312204b809f9677c9c9f21b64b618b664ed4e7db1b55bc1d9190a317cc34d92dc94f08f3fa94fdc46f8e3162cae502e21940b541a71e3b62435969265788b21d1f9383b44ce2106d7979a046d72aeaede55bdd595c271e72820a4e2d4712c456193affb1396b346b20fbfb14570ba4fad297032c24c47ec6c3a16e95c78e6e9ffaa62b1feb02b82dcf74391e8ec59cd0c6ce4fa18b92cd11f136130dc4992e744bc094d62db868709832cc329420a7e3f9c1c021097c75102e085ebdbaaf34d1e418b0f43034f0b5b882f4265b533bb89958bbf1f5a0b4c188036d07c4100ded01d1d74b9770a016602f470dc05358b0a1a037b77e2978c26efe5371fd506136f3372febc30ad7bcd33390e0e1df61858bf3622265e617d22082cfafa0e60924b078d8301a02d982cbceaef4df99470d439d61f4e3cd0e11dcb28492ce8426e975814c084107d82270103588d6d7912c9d5133820be9d6232e252c348c12611aee17422c68e0354b59ee85be34fe40b76293385ef1a4123fbd373bd631ae6ed09a2001f87931b1ce5c45ab596a3387e7f309429f8720e1fe72bb34ab9618940961861347d5d49136bc380170d8c5ed06fccd338c0a2bd87cd4bc19a585f68d92243b828aeca6aebe374a4108c0ddd5f17df6ed08a14683469ddf64f4b5f5c49343ce2ecd967bd7c0d6a89e4fc1f6030424efee486dad2d2449aa68a9bab19cffe5024e50c222f462685c774c41e55d1504a4e27832e4448c140c78c3198ce619f81e8a475b7e508701d8572d8a55a1a0c4d02bf13e573f0949e48b8d6d4dab379489f844307b22e39d07684aa8cca6beb8e10eeca2c3a6a6aafcdde5110c4d49b17d2638c8bb34a2c8a9f3d212bf0836997b85f9900d2af65024af1744a78e1772d4f70c8585284395657c3bcdda12862eb6b4d0a5cc3fa9382cf7db3af2b2fbf239a7fb0a113d4d05a667f89d8843f49ed587768ac70d6b20b493dfad2eea30d697f8a1b3b0c45a316e09816fc45260911522ceea453aaa3d922a6d709b9b22bb9dcadb5e8754886e2d00ec75439ecb51fd55e3ae094588490cc0a6234bb195d46c878b5a0e231e384f50b8ff9155bee07dbb1282011be10254b82652c86b4717d198b0c064a54032a1c12532d843efc8a5fe97680729b2ec0ea3feb4762350aca11fa2695c11e31fc93446571e26653e8dd9720b555b77176659458278621312524c0d310c7eb4606dc592c75e393d913f2d158cac75889482c81af35af1aa6c8bb6f79c38a340f5cd501d6657b4af5a0bbbdaad3f6fd031943fbd202fa6359a36ad880887eb35ad61dafadbcf18ac2ca0392bf6c5cb548df33711b4f5909f033e2ea71e6a7297898b267a935f456f30b4409b930827c491beaaf510c61b63cddbbb11e998941c0333c95d30889751498991985ab0d51d6d736940de196546bdfbcd54e8bd114ed18be7e2c8ea4db546421a6b06f02bda761ec7405fa725a74853443953abeabd45841f765ae22765f7083e02b5ab265081134cd55b1368b8675e1624580f906d52be55cb1926c51012d9dca29d2d71b2226b34ac1b13597f4cad329ccf9063a54497ef74e7a2e14eaf447e76aee95d331274104203ab9953e85daeab2f1e27dc4c3cb32aeca571238d79abc5343d79c009bb43d926d64dcca1dd769e31eb7602fdc843bbee44166466d527919f9ecfaa85b1845b54bcd9246b82aaa5933c17640a868be6a5d8b6bca2f0b0772548a6b8722dd3f4dee82fefc2847c82f0d6bf73d3da312bf81da1ca51f9311b359de95e3cb655acd412d20a5a584422f315d95d37e5e03d342973be1acc897505e9fbfccb0be2e4b7e56f7e0994aa889c4ea0f3231e3328c07d8e2c003cffacb2a1d0257ef64826050f860b9d8343644f86bee61258233b3d4a83b179b3f7381347aab55a1a28fda07c442bb825365dcd7ea83a6fbab3fa32b0e4ec3366061a3afa7e8b1a81053e8fe038f15abac1919d85e82fd68256e51fe00c69ce0e663a20a44f9ff00d7e17f956b3e63bbc45fc581fec93030d1dfafcf7ed4b9f35ad22d6dc11faee3b9521e5118cd8016dd889a5fac87a1b83a136be0b68cbed227c9a4dc2cfc9bb0dfe34142162b269e2679d49173fbf0ba77c6c02b1ce8e9b5ebb6fd624b837e6fd124f01c98b79b47008aa0c423589c3d041808bf3b6594a948a98b7052c9ba3d712ebe5f02ab59303528c7fa4e86a1c0e9a23d37ba68a25440db0ef02c5ab16c3504fcd15f29510f81e8176034d8748909dfd874a414c15d08b75c4048449a1ddffa14be46d5b6e88189396a1d6ee6642256e84bc4fdbd0fbd86b697a5308b70c6a8e5738329c111fc30de7224bac0a0545687ccdddc35ee917e14f739f7f7ef19fcf873b065de2dc91f55f45304bf3815dadb926424a4c26ec6345eef52c1895fa563e236eb52cf8a533faecc3f0bb632f3dfffb6de629980fa82420f0003fda1783fa966fde8ccf76b02d0a59447dec34c06f6261031bfbe5ed8bff4f30096fbb6275dea0c7d3e9e0fb2e3f0eea59f76d00177d49df2700e0729a5eab6a0846666328240cac4d1f1183f3f1d47fc0f25ab00b869579423129e8723770c11ae434a7eea727a7aa43c1015b8aba703e8010f25eb78e1e63ed396158288b9245e496a10717670499a4999f497877473800a9e364665e709a22da8b65962aea2635688612b500febd91592cc976e7d51292983be9dc1afc822c70a03162fd783ac06ab2e1e52fffd0af1025184400ff4b44f62b91091cb007a51c9152b3df1e79f6ee23d2d42fb0228c8ee644fb00893a4338eb9381133c642713bc6780efe58873188cbcc08a6d9c017b0ad81fd77c54058f498482a641a156a9a71f7f7f569e3a462bfd89fdd907b9ab2640c22b10fd8b9864a551d2259cd423d5cfb78cf74b7d00ff6728ef99a2d84bf7627266c84817db27afc095a6d941514f83486203fb0cf5d4be49a565f6f1aa58827640dbea3be5e06e9cbda22d58b7aee25f0740a05f643c59c50202236744af5356739fd76b91407ccc328f19b524a51554cd1be4a4efd113f43b269a350307c9e3f92006878be9d1e92e32f7460f083f10bb31a268796fc875e2ebed0353cf81e2b63e193babc62bccc1cc0875b9e8f1d4c7b1486c38d335f1a70acfa4dab0a13e71308fdf4d92fd1de602f4830fc2ac5a0a14612b6beffa13349f4f7b5a05d4762bb86ad3b449e3319ba53ab3988fc3cc403914522b915f1c2fc5ad641f5c564875d1c2fdaf5ea9d54bce7e791bf3c76e8c966180e7be6d7e6d5637b6eeca28d8cb34132ca0a2368f751c37d69ec8446269ce137e357af44002bfa8d40c6ad8cce2bf680fc98f326070c88d51c2e904f581e25dabba892b517b5d75a222b9aee8f8b14e0b87d5ab03cb07abea1b812cebd0b973a49138d008c787a8537105042072f1d0bb7aad5d3377cd33d014ed34b45cc26c03eace89f703a561deb5d13c89f5e2381c8748cc934ad90f1f714dfc3ece05b236d46123868f4e6100f0d71941bb5a8c786c53d026b7fdfcb8f33a8485229c8601bfc73f586ff2be19aabea93ac2679b2b8da28c08742faab6dbe056168f7c08c93adb6a257f3052f011fb28b276710b98e896144c8948c2522224e8cfcd9eb7a3d593c9aab687e1c07da25d11041a8b951ef8b2f4f89f26bb037f03b374073884ba882ea0369cd68c225da55a943c597bb3e21ac0332dd28941b555dfa82fc1f55b3f851f224e113d7e74c194ee65e2c5b0eaf5f5478e1a06ef1587bdc765f01fcff24eac7ce38c344caa2fbe93fd087bd6d8d3bcf9e1f05ea0a0ccb91a42a8eccaf7d076e8cfd2b24a2edbff49d28eb3bce287de5cb1c12f1f0236144edfc47adebb0a3fd42ba23f456ae2a49965551e62f1e8b7d539bba2fc0492231da3312cbb70f80b8d574c8b17768d890b7691da08ffdc0c1d8e1edf28ebfc2d64a51519b4b65b491dcde2255f0e6fb3fb32f300a226c04beeb63b7bbd9b08d208b91856de5f45afa2109711e7a23e0605b9fa8c328d8ca968e801ecce1e7517e9de1a127e778f972104e8b3cc9cadcaa1d6c451764ebb44a40ce1fd088d2868521b17a74e7360ae460033eb73f7a0737169a31a81a8a61841768456e6b26b18f9adda8afd4b776732f576d3cc0eeb01028c7a0c3f01850a723b1f4b092ae820f52c9483921da1dd44bb0ea568a50ccffb4d7c70c7a12cf1129ce1cc86e2b5d92d21f034839bdc9d46e1ab282a6abff088563a81513aea9ef1771eeeb1ae12ab9550248d84d56bca1ca3e94bbe72692138180aa6820faba4a3830cbed6e5e726fdee3600b8f696c475f28774785aba9b04dcf0b8b76dbc396fd9e4188f24b2c7f2e2178c0bfa1efb5e8612f1464b87fcd859eacd03e62aa9759eadc81b6f36edccc241c8b2ce3f04d7d6bf104671632e06104561afbf573d6a604fba3b8a54c81a737970a0205f32f6ebdecc01ba874187a067f9574cc7304701e41f00d7a10331357c3087e2d8b7b9a250d6d6b6b76b6f9da2450a3d70fad6d6e0506c7ec29caffb47e583e77d133fe42491a476e8220060c14fc0539e6038d91c124601857ea4a1c93278a566aeaf4fd6ced968178c357a4de3f829d34ace0fc1423567a22dd2800820b4e8c0ae927cb9fdad169f5af6b2a5e5e540f2a56102df5f2c3b8d15ce04c32bfce4c1f093ce7c6b38692dc603d9538e2670a9015667a905dfd70bec70792e0c7a42719e406b44056f58547b69722d8747910213127884d9181058e1b542258fa995ed736bbb551afdbf92c82c8fffcfe3ea0b6800db1656341a0fb9d0110dee8d0cc9190825ea3507b992b8190a4ffa94c6665423e19e135aec9b3459dddee05c693673629fe8899ebc4fdd9fcd7f972fa34f2cb74fbbb15b6b738ee3b77d19f01146c54844f2343c4a023a3f12251528df8d84789febb7b3bbe0ea3c228d832571a3a2b7c43c64d955ca055633a66767eb201a6b6631d133630e3de1b3085a314400378618e4cfcd247099caeee97078e0c551d0dde797507662860fb80dabe73793581b0c9a47dd80cd104dd1a8486912a914d18ac440428d4783e15e1110c2ac1a7bc6240c41580d124c2073ca9d44ef5758c1933387b011fb1909097933784f3edc3c422e491e7a3f96d514f384465a9a3b74790dde8ebf23e08d9cf5dd8cd342ad79f82161ba8ed5c826fee33e9a5f521de2d1606122f9f063149b6119b6ba82ac0e427218e7167e9cb980470fee44aa7ea236ccc9a445e9432b95e7ff6da098fcdd59590ffd246c49450750f32a2cbf956982ba3a7e848579e71eb4eec0ae08cb673159acf945a97dbbec1b2d1335aaae4723c93a97d0ea9bd5cd64d968c9ed1256a96e1b9cced7b48accb6d6fb0a13c3d22105d1e7b231e315dde2803539c8f4c3369dbbadcbc69754afa5c6899c10df97ddfd7239f706460467492045f3a2fd87fdd2119b081bcd188332e3dcfa9e6b9b87985eda885a44ce4a7ea67ec33eba3f9abe2e3f99e6efb094f8c98946b576fdca10e6a085d827bf38e9996fc8e6b633bbafa10495c9541444daacb12bd51ebde558868cdf80812429889e1bf4c88ed4df98e54a10bee060906cd57004f3eb808c200543b93a420fe4378d4385e44d987d77139f052d0fc9a7315288ba68834a79057d15611657bffca2e6f82c44773fd4a7697ebf52f33641b0255abe4619733c0e84f283bdf1e427b594162b3920f63601623e28bf210f365c65e5df6303dc49f23d90ed65a620d7d958d0241995a6584ea1a95d8cccd73e345b9c14c1f088dc4d827e1c2c05a8824661a5a99f6200115c0b57be025871a0d3bd3295b40b39e4a7d27399229ec18f06b9a13ebe9a33c589036d0f07a0c74986a784b7634b8a86569938faabaac152646e9fe1211ebe5561d059e66b90bf2fdbebf8fd5180a1ca9ef249ea2e3ead1c551cba60f72587c86def669bb28b98106b8327f971c26c687ef7f512621ec7709c5ad6d752e581cffb8233026b0a48eb0603b9e24435de266644aabd4342acd547f6a3dc50c74d40b4c67dda82022dc962c865ffc836175f869fab9f6fbfa58fe5af1f3bf590e972afaa104249d5aeb7a2e915e78e4d1473e59ea9da3ba6e26c743e968f5fcbc711389740f78dd585cc2b3a47e17a69a963a53457829efde0155350f1833796760855c4cd497f7e447ee7cbea1ae5096a84e8863a8ab289b18c056741f704d3ad2531043c47ecef3f6fbf5f3fc357d7cfb5dfdd87cd8d695e3c94066fb7a294da8d4ec7aeab20bf642cacac8cdc0b3c1c9a286e0696ae371b1a85444023cf8d70b2c248d56a7c2fca4273cac519c0fb8204888dcd69bf15e101734aa82c90774bcf8c0734c06f8a668729faf0f2b4d321b408c2bc42e47dd43f0915cb77db959d9d6d1c4ab0904a387ef248de983c7bd2c89e9b05726d1c3788808e0c86054c928320d1144f23387707b7f2bde284bb830a8e35b26f6a5e2c35b64c74c8fa543ac166812eeb2c1f823ff29ea191343f550e0bfe4c3d92ae4f4930b5a9b0f445ad77d144322a08b11a9207937165637cfa89158b85a08a15b60fd8eeeb79b1890332b09a0a256695c5cf5130fb4c575c86b7e0d906aa58ad6e930b658e350e3cf28bf16df8d62bee2174f77d3bb6e065691ed90ff3adf3cb2716da2deda90f3ebd06587048f4c66a8a41aeca424cbe43313daa4d8d5c11798b926b9b8266b49b2e45a9ab8bf11a2e9af419a226605c2188700b4e288828c2b4460ed72937a5607a23362540c1d44d139dd7e76ab6b9299f81c69cee7f03c967a66ef102640a06f03f1146cea4c53a6838fc0607c5945d66bcf445a90dc6a202b6c0dae0babe91a5c99a871be7d05a6f51d3b4cbea390f607f9fb6a3e51d2b41c57f0647068ebdd59503bc631b25ac21a510d98ada096b40d236d10ae74a205e0aee7d99b468323371381be274b7668948a9f77bfe8201e0b2549d713c996c93070602db96bc9e687edb961d3d251d3613b1006b0895ab43b3bc2880b5dfaa5140316ec1addcaf087baddb0db4da8e6c87ce8fdc89dd4fa6303c67872e10d7b3b9dbfa8dc500112c996aab042599c77efbfabdac03f159100a242c65b30542420628455cbb6aa40efe3d183c4176a959a47257113348d63ef23c11c71e0b66f9fb47b220dc19448a240458bd13e48001fe3317d9c4f3a4b9ea6930f0ca3748238b38326bd3ccebdc355562aa800632091feb4d69e0dff3c3be91200c437cdeb85ce417e4da3c86c29f55ef4455da24eab3b1291ca01e27d0211d7bee19a56c0140f84d571466f8cd552a5c24da71b4b897ecfa722b9ce2b633cc1899c5e67daea08cdb3a105b017b6f3826bb7952f694364a18c9f322400391885abfcd80e2424337f619b5dab16af3bb6ff879a4108e43672231a06d524e0af2ddfafa163e334b4ad32432beb36f53a51c129a19d645063aa9f447e5377ad6ddc6983cd6e22285f501b2fbb655f2edbc4b691bf9a3b160d3e009b6ce930c6b37059d07379aed39b178db41bdbc9edb26eb76d685646cf9ff560b886093aef30cdfe27d2b2724ecad729432e530b7963b8c17e3849afdc0fcc4f70a1f05eb123d91dfa29bd111f7c4f57c498d24a161e90b7fe97f995ebc051ad3c0a09643f1bcc55b9b2ba2ade6c582f842dd3da0c25b1d586180bc041c9c6c5e1c8fd71e2bde92e25b908be41ce47e032071631862bab9120c653e356a4405ab10e3dffda453e9a675f4bee46a0b5d34872dec5aa6329d3a442037a8b26432be84b8a60498a85579326f701762d454846c05eaf9ca6123cb84288193e8616c5032d12ec5dc7c73e1b523d8449facd0f76b5ea26e0ee6ea3147cbf418690d356437107924895c8a401521f484ac41663cc83f0d485ba1420c8803db7fec94c77831e19abfb3cf82b5ceeb58d57b15572c561734ef878c1dfedc52f7e04ae57994bd8fcc27bd38949d46857c6763d1294eed99206ad95f340b1f9165a5ce0a63183c8c36880183447af09c2a6104cd7fb37bb5653d410d716a162ad5065a5d93cecaa13c83c70dba30b769d71b3de40fcfb30ce3822892f135086f0bd2eaa726a6cfb1ecd0d70e031c128a6851904af4854cadd0b05499a4d123b7125623abed7f1bd7fbae95b695615b5cea572c05104c722ecdf9b13bd5dd66536fe576e898d6506e133ff76c4162d9fc37bf27d9e38eebc2fdba60ee0bf3b031c8a36801307d18fe1032335308a74efe79dea84609d5dc33583285fddc06c56839e55dbb915d603d6336d2f92243f016cd3a9645360767bf624fa26bd32be541e999e35ab4785c0b2aa28d2caa7a8b5fefbeaa9c888d87892920e72568ffcfcfe2db85a7f4bdfa3073689802bc8a66045de610055e570e0a63db7287a682473448422800e84a30c0c20c192054211001caa532f39585d415007203fa0f428d93ef689af85ca0a1e153db76cff33592eeb161bdaa9e0626afbdb8f615d543bf4b6401ec21157d87002a3cd8c9c3df65736e559d394352afc1908b8b65a09a65c3afbbd258d1a0da7e6261fca0a396ca9223f4dca86be832c0e0052c71b2090cf18002a4847aae7428ec54d17d8887cb01ef4b97882dddddddd5dcb976a10c3f065dbd9c37f83f0b351082a8a58b8a0691b7e973ead4f6ef3cafe90751c377bacaa7e9d27c3fc4f9e340d2da32e004c9ce37cffbc7baafa8b5b8c7674fc906662afd4db9d3e78b95f6b5b86118101a8c1be0751be88464193340712c011d0091282ff3222fc93112148f401128142aa4bc6052a5a8a9ca1b894accd4493a92447aa0a187ba88df98d1d4b106289edc23d08862e1c386ae792a33241a24f50ee7a9a238f4a79a33998d61dff4c987b68ac7eab8b9e44de15cbca1b8db5840204d398814bc82484584a5a8fe6a5c81a802c655a8fa4a5e049ad665e8a001c4317d252ed6ea61924f4041359f6478496fdb545dae768a05ea25467563e4e346afcd2f3feaa395df361b150e4e0d7cc3cd74ef3762a6f4e2506780a919a2f890f4581ea98b0f12dcd92e7ce99c3f15f5fb5332582d53c88bd1ed6a827b695c33e55323acfe8293d1b677982bdb48186d03d87dd2f1ef4945f2fbec13f2dfab55bdd9a3253fe4a32e7b40b13cb2733e8962a57bcb93ca8916d7b8e2e1996b0b98cd0f0239710c2126d3b3a2fa74b1062895cb55d39e833482c28f3548f9ded929716743501aadca02c51b0d6acda60e17351e67edcd30a72376201ce111d0a65d7c447c3ced5531d33eabe6511a76afe479cb04d50ef69c3b93bf8881dccfc96284815df637e1ec2849e2c6fe7d179bc9dbe882592422bbbbbdb3fcb02d502ac021b0cf679b62dd5b182c5fa68341a2d6fa80da571c462b1d8a7c979e593ffb55aadd697817d39a7be9c627d99f579fff1ff304ffb30edcba82fa362b10fc7befddffd15009e83ad6f827c78e5abffe1d6f761d8371f44dce0fbfe0bf9ea00020470028085f8219abc4edba84edba812468cadf4d8ca7722dd8289740b46e2463aa559229dd2ac707f681af5a169544883622b9fd80ab871b6168cb3b5609edcd9521b8bb3a53696942167da86ca1f6d43e9abc9b1bc92bf1ccb2b52cab0332d58abd58279179405784e65564e65d6c4608cf1302da3302da326dd17c7f00a8ee1955943d3ae74935fe7521caa6f1acff4bda3c76ed99f1ddb5c4a45c11dff047998a1350562da9a9d11399db167227c03868055a425b6fec62d0c6be11d7005d10df8a65348c798c3291bae140e310516665515aaa9928ca992b1ae4a53d46a55741daf951daf965110329910b2cb017f5728b1bb5299c1e5aae184aa6a3558351b204a82eaaa68093464196b24234d85986869718296f292e978ad747490f1003b79d9158a67aee072cd163813559ba1aacd1a56a8acea8acd6ca4b18cb5215a5a88182f07701c2f58ca4bca466c90dda079bc3269d52a4df8a0967ba0a0e840f5187f343e1bc718638b0f0fb45c6009bc5a80bc603880650080cff1c787cc94adbc7c643a1da9224e619688539865f24a35f1de5ac78c46f7deef48f78eeebd57c4812ee8863b04b2f6a33b1d6b2db879aced586b2d277735abaa656a35abda603db67463661c5bf8f56ae5de4ba6b1b9562e7ab5d6186e8f4d6b5555abd5aaeab32d36666c19c7b1e5527a9afb257bbd6493b39bae681b894b011c0908f2b9ed9e8d60e0f539939c39e74c4ab892db836394c52429b41b4080b57624cf52fb25a79c63e8ce74161040410818c506cd3e91289d049b0b047c486fe1f19c39076598f02bb26d184cc78d5b5b70f319cf8cef94b66e963d3bfd05dc336c1f8159b9d3c4c0862f87cc0c23013982ae775a32aa48b0c1c2a2d11a335a028f511f8d7aefe28f7aefdfc5fea20872ea275a228e4491ce18bd10f5b9e3c5226382a6542849ac86e2448e4db46d2251efbf8944a22efa2eb6081185ece85b17276debb8278d76a8cf985da5b8745839d1d19299f070230c856128d4451f8642215102222191982814891316be00f5c96acd15506cc9cba64e2cc96cc1d2d020ad41a01e7a0d0281420d2c0042618574489c269a8b6003fb2441b558316bb0a86873c6ec0a1e1ff0f3013f20083e08021f24c270008c4d121048943d3e2f3c5dea78cd6443d4545862341422726ccfde1e4f077f7b3c1ed0f3a038410c8f8a0e7083a21cf78e0073ba7cd5150e970db2939416cce4861b1d4ea7c3e174cf77381c8e877341059cf1e5e97844e9eabcd8c85535e1a496b46a4a9a54127942a5c16d386eb3e99ce7369b0d679301069b995471388e284b381d81fdba071f742067b04814adc70c0a1e9a4fa3f9bebe79cdf77dff6dbed7e0a379b0d16c440e342f321d468c07682ab3314797e9ba4c97c9643ef3653ef020c302e3eb3ed1818e7afd04f271819d24d06a6102c00dee71ee79990c081902d929c34d7ce3f8ef3ba9ea4170d6280dccc560eebd9ee7bd77bd7bbd8bb9d77a1e06d3715b6f99a31b1a9aee880e99ab69a26b23d5d6c412d266585b3b671253ce3a5fca79679556fe9473b689189d363fe91a15388b701430f62ab51a32f26a11a85d810b03222a226c9203241553c60b7bb41c8a494a1480486902c7c83f7d1a1272b9787356791dd5f066298d2821653e818323e16401b8862b8ef39c1b709779b18e5aaa94034ffcf3e49739ef9d978624d0c3bd1a3ee5e69cb9fec806bf2f33f7fde73dddf672600abfc0b617a2f97846c19b6f8b52f70e9e992c4ac0f6de4b4c14986c7461723224006e4e1742be80140b1b279700037c7c341aedeb7ba34a3a62b1d8276afdbd5aadd627d2fa2369adf537d2fa63a1d168df476b542825168bc5403aacac7cad56abc5091cc99cf962ec5b8ceddbd3ccfc4584463d798854d668c335e24841cf8f7971f15acf3b2f2e48d3b46ddb36e72c6ddbbccc6d9be2bcb8d8b66df655ece22274b9a6a855abd56a73aa543394c7711ce7c5c5c78a9696097abd5eaf7971b187904df0e7bccce9c1784e3cb64cdcc271a1f9b9f9395f0fc8e65cc1f84e2e009e8335ce62ba32176395c702334520cf663bc1dab39a132b2395576badb5c66030bf37cc7f60ec63448922b124980f8c799de3febdffdf59fcbdf7fe65f17246ea532c2e8b0f92d6374c24938944eaff261289f4a47f51aa4a48256f7a53d65a6b4da3944ba59c3be94b39e7cf2459639557a412a934da788823511cbd381a8df288653232c96216b72d47df7adfb63efabe6ddb6fa3ed47a2b4d1da5aa33eea17731f2631dcb61ba250240ac3bebd280cc32dfced243cd9449b486fdbb66d34423a14d2ba871fd25abf0ef587a2c4f1d2af301486ee27e7cc03f401813e9fae1ff4f97cf4e761281f140dd2a09d73ce016e10dcbb7f1edcfbb33f25b6631ff003da4ece39dff0743c9e4ea7eff7743a9ddd79994a47657bb607c3e19c73ce34381c87c371bdf31c8ee39eeb70af63e4e4d8e17438558331c63c369acd46a3e9dc6f341a0da7794e942b33cd8cdb701b4c8731c638c7d77d5fd775cd7f5dd77da7e95e23ca1db48ea6f9341f86638c31be91e1990ce75dd7b548162e59ba4c97b994cb5c7c2fc61ef63c8c31e7fc39e6186738f630e61e0ff1aef771c0502f5d0c574d46564d01078b8b66635655e06131b6d67b9c6dae2658ce1aa64e7b90c8a6a82b955a12ab29942a725453ad2693a9d75abf7e9836dcc47b7cd40f91d6bed4e978573a5c41b49cec68ad980871835422914aa56e7a52a9543295de248660091c4d24934865a41762a7aedaebaa6650b925b19b42b924355c1a59cc591445517cb1247e4934bdf8ae522e89f4247665c5d10cabaaaaa85095b2d6d9b17079c3c189729a3bde04867cb33327bb9ce98a9352be36d7276da26cc9527fce409045460d3c4525467bd89efd39c2441452ff9cf4a99456966cd5d67c67b48de552c320d70d3d49fb2708549eb073ce3933fd3a7ac2b49153ccdcbedd145ca05a7bc1d6fe05c627771e00786badd5dacba5527aa9f5b2b1a4135ff0b65dfa29f8f90573e61ca4dbdfbbe5bce529abc435482903bdb43021c56b0493f95eb3790ff85b7e40a1cd75a3af61ed768c1dad95e3bae7babddfd651b85f2412897af85b14d2302424d64f9d734f9e3198dac9a08163444e2314d3818050affbbaf396c102efb6cf27ca5d4062809be739a0e61369ad5d081d46ec9eb3f672b174bbe07eeb04e16ca73494bb4ad9dd0932a59cf827a594de2c72999a7e8c161cc4336136bce6754cbf88705d071d18dd80111a81d3c98576f521b2b2b3973d1f54a005c7668aa17c31e9a4b26e9bfed0d454eba7938a0e9828a576c3b2d69a80c5bf2f95f35e6e95b83ec78d6c4253add96e6032060774721317ace5f666bbee276737a775ceacdfd2b7965aba750fe997728b21ada5a63a532a7fd26a37594fb0d55a6badadb4d66a2db5d65a977d6badb5d64a499170b178a8bc8ed32f8ef9ef38bde51c6ad3a90620670f6deeb4f716416c953103ff110ebc4ed796f5c6cf407062dce1cab1c3860888e4a67dd037d39729eb6f194aabf54203a7a7078931013d82034f7384db9410cc498c3d4d8a448033d9403ac1fc90efbdf7debff75ed3bdf5de7b4bf792acb556bc375b6b6db77664adb5226b376bad0d591bd65a2bc85a5d6bad60ad9f5a6bf5d4ba6bad95536b87524a37b5524a29a5dca7a194524a29a534d37974ce493f289f97623e70f8e9684ce1549901910ca8a44bb9aaac0401d308018884400ce628cc21a41c94c603f4038cc79846a533812c1e56b144431520469a40240200000103120016d3cc5406d6febf69f0595938a274413ff588b2a0e31e343c6318496709e9c4139a245c3a35dd83793e96e5006b896ba0a30d36a3aeb014f2b71be27a15f872b78c6f770c40675785ed3e88ff261904099b74a384bb5d72b0a452b437237701bbec5a114e2e91afb70109ecdfa3c8032c6006a2c7e1ed8c83a816614e80bd5424c98bd499b9b9f93628154362faaa5433ea40d93778acbbf002cbd0d0cf05df961a0765548182ab2e0763cf5cdee4bd5ce2b435dbbeb37486003f5ab367b1c6f7f87e0ed5b9714d94d2bbe20c11c1cc673174681e5a1a68f57d565fe5fa4541a7b29c2992c231690cb8dfa09cea08be743e5160d19309292cd5de0f88413d2622e04b00cdb494ad594eb855f2c75ac3fde821cba812971d243b2b247fbeed9c629bbd3a1e87f22b56200488aa2c19c14121fa26f4b6f93f447f7c505c087bcaf87f2101a3bfd23101cba04354a4edcd4fc203363b8916e6987cd06e85708ad879f2bb0f12e6dd539b7c2e0670882eea047d82648fda351645f292f40457c7200fd9871647bf0865506330b8eb1f32364d757773551e9a4b1038614870ad28a6b50decf52988e0719973e6fb0c608386eeb157c10efd90ab69ce13cc5d5034555fcd8d5e8fcebfbb8cc7d732f9bdd1f5aa6f6845ed694358bf8bb737f49024db5fcce957124d86a31137a8c420fcaaba0c676cb940db27122353389361913b7403c9cf48b8ad04e5d7ec339040604d18b77202a7c9c144d737e7bf42afb2dc6b10bcd7f8382203ed62c51b3c18f7140cb16974100f82719380bd0025189a8a7490f92cfd1c577fea31cb2055e41390af35d5c79a6f443298a21af49011b9726225ec92faa3bb7f504e15cdb1cb57b598fc7e6da71faeaa608263a91eabc2730920a8d82f507b64a6bd91b87e9fb5ebd06b4f5be3e9192a81d514b4fceb7e2e8a4dd1de7a2c2255e42e76b2547e3614390f60430c9010b8491c236d9d48b3db7e5de9cac2ec210b69fde8fd5241bb57f287f74aa81626d38315562af9f61bb4e052c567dc3edc670ccc869158391e293ea36f9ff78c55d3b59a794a703aef44c56a6da800c82887ae1158ffce03f5df6243c055a36a1097703b47046e83467a9fa51c29d305d6fbe2ef1db4d6d54a648a38264ce62a07cede5fef98ce37543c909872462717e10d23b494b752b702e58873c6aa538085465f6e94361f1d8f1b8ef4dfd739cdb66f4837dec603a8ded7c77ecab63ff22525719eac606457c2e333ed11b95b6771fd5bf8e1ff1f006380d8f672a1c3bc2719d1195778bd1a05e09e28697a35cae92c9ac00fcc181b6936b67ed23f45aa1ad86c5d910a490f982809e64a08988311942494fc330539c366de1a44555c76374d845beb23929dcf2646b9f5942c542f19f965772546f0f0d4567c0fd9817bbecb75098c92bd819db43bcdaa5ce3b8d196c8ebeb6b9187ea1ec6270ff11d8b98892382a7f844758d4a59a6549afed2877b3dd5818d05119f52395981c8bceae2b59d6e5d2fa448fbad1f1de4c039cd9fc88a032e08eac4957d55b40c1a029b6acffeca389aabf9e8c12818d8f670853d01d60a75acf0987ab44f03ab41c1a6e498a20712edccdc7a3aebc412ee5f178be641baae02cff11da41680e1b4a55b9c6cc906a0eadb655418ecc0a6b46b17a29334e404f5ae64847292cf07b74019eae401e81ca6adc96e1c3943039c0ab635cdc9cbb55d1e64ec04e331f41dcd8702a19bfc39bac3774ab31e24a16f1c9fdd1596e69cf000524590caa32e861ac76032f05789b90f2527408356a64e5a346a96aa29ad4270ac397659e8a462a55468b8ba9eca14f1360aae955932c8e3f910717c861a68842b243c0775709de8f985c27f2f9ce1ad344e0b7a3e2e0e83d0aca94a48cf4a12ca0db28ebcbbec0306c3d79d4c8a5050d7b81c1c8d579e9e32edda4b8cca27687936264adfbe7e377642872de25175d268ae86f97334d33cd2ed3004570a8761b7cc7d7ef81ce65a96b914fae74b860e29a73e1737cea5cfd8689a6d5fc52ecce312e7658fe72c1387c48521bd92a090665626886411513ded271ce0e0a7a516c632d8ca99c5d43b6c21547df8d05da701eff46c190b14d8ef4a4a2b89e9bd526f09bf4c21424c63628e9033e7354f41e73fa2943306760da9dcc0520d01a6d900d957341b69a76e1d100fb8b91d8f152b3b0a73d36e9394825315b8022a61156880bd5ee4081749e864c2b66328d0c0dcc490a64faf51c71bc7b67ad6d6f70d8ba0e782bd94354481dfc68d2fe456c5d8b59e2981e0e443a9ae17e9510e78a776160a30c7f8cb9d5b5f4a85e2ad1cf29d60a9058370fdc4133ad58d2719988a1c02296bbe9441e748a3fbe32c8385116ba5cd86384373e7137ccb7108572ef30d9113d26318703529d531f4165dded270b25e96f8636b545e54537102085a5af63bcedee646aeadbcd88bd1261445931ddb01dd38797756a18078fb59cc56158fb9e77162bcd1a66c7d2c25a266f2af0491b9d02ff048709e5d28df6a5670453f46366af94b214a3a123f6ece18d78071a001284d43d6e8db5ac9ed0e71b16806e0010348e2c2561a60ac11c0b272db43231a904aca3808ea7a34d97266c13ef1967df2b05d4c9332648a12cfdb2604994b64b609a390f486e7d4eafb9979aad49535b1b3a90f73a8071be58ade02555fe4e0a8fdfce84c1e00b8393fde87cfcd08b2bb49c0d66ce3bec86d3c10c08ed11b3c71ef2a0e2828e616cae30cd0e9971d863baca52cff2b264500008b6054970b60819b5a6999bd176643fab88396255484fed0c7e88d29dac10fe2fb27e8ceb2f9eff723a096b5393d240cf2dec6728bfca6431ff255f48877518717cf134f0ab7222f46958bf84c1e736bc0e377c98f908e8da88e2b8596edc117242dcfc953440d21823bd46f97aa12d8acf372380f9c5fc2fc5fe71fd1959818974df06e29d3583a6bd34bdf9a4a7fc6b5899620433612bc88602723e268dec85657047e147a0bddaa38520ef4350658c078340b7c5ac5ef5ef6beaaf61546dcee5890a78d7fd4ec7592082926ed6c375dc699701189c0da04aabb3812e4d1d8dc1737015f1aed5499e3948438ad3f5cf2e160f0abddc0588e46d2b0f586db566dbc870d0d325db8e6a0689d2104703c1858a23a4d8bc1902ef59022218004d9c7fcf7fd5d99e2a529755501787144368b5a09b0ce420c57c27194a11855013825b914b302293fe003519711ef28b8db30c990321eff929498ff837f3e29a876c74568833c388aa23341448c4cf33974c09675cbdd0e1df0f78b9868cad4baa61f244b44c99c4e15487c0f1ef8fb45f8a8ca4a45d3ccf265e2048e429604ff4317f4fd076c941295aed747d91222244bd325129fc327f83f112eba72458d2184ab8103834761923b0f475d294599b0a69225ded9fdf794a8b2a0cc4cfa775f8daa175cff20e1aef794b682f7bf474cedff74903fe5525ebb82573293d6d83c06989afb859af7974087839ea0d5cd821a09c928b4963e961ee48dee8a7ae0505dedff075ec4110cf5bd1e64e755a879149a59477e0c12075b0bd85cd6f46b2dcdc58c463a98cc331078e939f43fc8f35bb0f87d154ffc06dc52bb1228a5361012e25e2a440f1fa566650318310823c6410413ddbd4247cd05477d782101f3f73027bf95741258f983814a5fe75608e7daddd05a5b09cb2515acde98c9b00b009d6151bbcfcf545c1c66fe8720328f38e82c438ca1075613454d474071023f130c107b1ae1db26a24f91e9541745a7c7151606cc8eb3cd8ee901368d6b947afefbb5b562c27a86e440eafe703900fba75b88ef2cc48ca6f2ff6e3bdd20c14310f6c05eb6bb078afc2ba7f591437d210232efd20a7f8e2e85c2f1b541c5a3dd4ada69872133af261baf419e7602b4742468b7a76fd447910fc6c3790381b552444b21db41365b2bc084f4f7ab96c255bd306e1fcdbff094dba86455c543841dc3f4e2a35b692ace79f40a99a34b883bd6590dda47d9886f27c13a5556250e8f5e5696d87ef2b81339e19d3b5da3a9f4b21e8bc0459a95208015776d72e02f62505d6beda0de713473c7e950f0ee2434196e7e2116a763272b8e1122e088bbf44ff9333adf0a35f2ab8dcc95a902cee61b03ce9162bcd9458c59696ca5d9b6b62c63ff127ed824079b59c8411cad826e9868c732c3deb63596d643a7124b1184e71129e19c9fd3161eff0c6fcd07d4b518228cda5381d493ab58796a2395a193c36617670ce8a81c1e388095823867564db2f8bff96cc2e79400ca3b7084e17dbf859a7c42c9b8ba65bb23738f1618160ee5ec5fc27f9ae460334b2b0c3da612eadbe9a6d6585e6f6247a77d5ff6268a65b102e9849dbfaae243dda207f642704913d86fa05281d82328f5c3d670d14529eae80945d6d569da9b6f1383144d14dd1770c2764313b06fa0528058462815c3961d1c4e737068fd5fe1a036d4d99cb58f5399220778c4704bc9653c537f8457a657f9171aec009326cf0fb2a7d8ecea94e178eb84a798e0cb94ca73a63fa429ee54f2ea2b29c0be5f54adead3d0fa54f0199c92ae43437266c70f107e09411c97bc661ad2172691007a0c257ecf5492aaf95b6df2895e9ae0cdb2184168633dd972585b9916ccfcfc104e9f9ea53a25cfb6f09cb2d779145a9d2a372c2cd2cb9090e87c57e85f595325445436cbac8aef87611165a62446d6214ada02e2e7394f879198bab86539de7880eba19c59c8c49479a2fccf31ece2e61474c875014bae1ac31d392d546c71c68419e7f780c66ed06db3480924f342fdbe315885cd2930933b700943c9ff2b8035b12cf1789d9721eaf9abe88686d5053217c8b5d5fc9ad28851ed3e39b502da51bbbe74a29fc16c35bcf72a184d185910cd89ccb2e56f9c749aa9e88e91ddae69330add221914672af115e0f8061826710c040edeead29256d53117263b825ffc4b8ee053d135534806f3f2dfc64ddc73676d8a5e55b129f858c4e1e314ee94fbf75955c4158834d599b844892d5531e8869e980e933a449fbe19dea9a843cd28ab90809b9e25585ad0d70858ffe580de5ebb1390e21bde5d60cc3c2b99123b5ab82861d2fdf80ebc8b9223a204897f2e7b586b6c6fdaa75b4854dc0bb80d85522a6cf9410129e7b017d5c3c4fbb9077f9fa48114d50f742cb75675e09ac78d90fab1c2554f395288cd52e8385da858e23e25f472b81bb29765d035ebc9da5a05b63449995803604d48ad728a8279d986f67b365ce6501d3f7a50a163f1c47d94e66039ef1dd591a34b2b6741e11ec2addda3f04fc9ea3d82610b7b1275b1d00c7239dc0dde0d4f33f67fc2a4dd5f575c2e7e8c5688e14dfa6d0584d0f328c179e4d65c496f5c6f74b794f98e4a1ed4edf10c4037b96b6f60334da1239f40f495381baaea711654e753ff41143bc571152ba93e7edb9c5bcaedb8c2b7c759d81f50e92ada735129dc6e8efbd5c006c847bd0b6178cd02e29474b5045fa1a6c0562c7a1c2175680a9b7864db2ebb493b98f11631bd083754f2bd50df50c5e781a9ec6db19554aa7aa190f1badc0d3b03c4dc9080ea8c5ed43e3843b2470f2f0495b7929e67b6e2b2f522b2865852ecc2c7df0e4f41769b7b0cf0f3d70ea9e858089bc1a85933ff682989429a86d949d38551d02a9178c4d794b8eec59ad870475c501f3f271af35837e3f7034d26505cfc3b92501b4efb168c58fba6fa77c6670b0353b023d370246e4a18c9d151c944c3c1027a6b86522b72458196200df4cf9e5a84d44b1682ad4c282b20bbec08e3957feebb2cb1e2953cf6135bada7826473a14b21c709190d0f00e0bb2920409d1322cc8d5795933013f885f92bf004797e29e335e17c29312333a3ee0fa8aec48585b03b764111961a48004cc80623cd13fbda965021142c5727306e3cbe1f0b3c83b98024ed655d8b75ce7935532dee2e71eef445c1543a77be143a13d78a36feae75b2633e22fb16eabc6dd6c632688ea0ec5784d131659b2ca9781817806ae25fe332f0230bd07e0cf2bba221e537875ade94fb119c5f3e06ff0f2f57bc280908d9db4025c83299cb8ef742bf01bb1f9883630a64d0e22293db512abf7113892befa427f5186a9f94d9f6a6a00fa9cfb217b1aceb5ea15da79f75bda7a563529e479a266ad6d04257bdd1047c76b124fd0a4a49dd36a79440797d0bae4d9b03b3868ac6ad891c008fc4dd10a665dc9917a47b1bf4e7b627dd5d238032c3ac6396e0031e4b7303b052a9f2d2100c2af52afae5a052737aae2916c708de62f5b405c0251859fd54401b8e6bc61c4c364d4f46d1ac13166873f6f00c990863f71f3fde66987faa79130ff589a9c30d126aca1b4e208648c027a8374c08e1a5ae436d454ab014f5157eb45fcb352944c1fd4840761ac66fe9c217fac93440a0f11e2dce2c3082fbe44cf2f98818782d72f0354a5553eb2c0cc6e6f7e46530d48404c5a8668e8a36c37ac64700e602cdae3fb858604f567c63f80efeb0cd67a5f5b96296b22058094e4161596c7ed6f74b69200bad1dce88ffd10e216d616a68f58c297c85674a3b080bc2fc84ddd6ec576011b396b2c61ae9e0dab9bf7081889d94ff39ece13fe3db10e15330fb4a05f795cc2212519e4cb888deed2276aae88ceb3c2d34c54a2478df034f19b9d34f1bc847091bec40b5b63244540157d21d8adb4c2fbc3cb2993ad08a29871deaa351d3cb6a384992ce1b4e78d5078ac6dd925dd428b835f7b10d77164b3956a8474e025e1cd193cfe337bad9e3f92c1a42234e0ce550ac1127935f64e21a0941b55e481dc41962e8e2b18536bb5d8d724b338279fe748f189432d41bde86a8a482ea1ee2e5362a28a4ee738d463277e879c98d26041fe536eaf049924102f6d016041b40473bb80cd4beed7f74e136e079cb4ecac86af6a893f5658537d5f06c45d72d2a1adb3b2d964de9141a56364071d7525c9456d2c2466a9db289920a29dc3269c044738727984d9a383d1cf5f63563a88d45b80e3c109b32a9c85ea93d1054dd8005b9fe0d925ea8cfe905aa66fcb3fbe86976a7c0ec0cd35f45287d6e6941eee4e0df3002e06fe1abd024ac2785c2019029295f555025a107987d244e00479fa97d81a079b8860ef7ff9792e6ea395d8799df08a06f348170800c3e99b977258f67754bdcc9bb9fd0b068a8b6f686f8b06131de2ef3b567f27f8ce03c3318f24046488c0a363b695d462c26fc4e6679b51a816f2ec7b793e9235c75db693389087a88395b5b23831382f8440959830a208f4d3e08a1e93400d59461f10b045c6bb599c91e633697d8d6aae7acb11033c80a9e6508c72e43330248dc3fdb81760aa3037a99d9234431da317a0538d1c3a12bb5a8bd380ea2237405f8a187a32915fe0c4d77286c034fe8720dd80c6757d53f8a46c206f42777be69c383cec7ae0d9ef4c446b59c4e3e881a43e2e8dd2e8eaed683ba8a39a82cf19f9d21b8d32a29f538aa8a548a2a27f9f1a179048b690fd7b9e4fa215c92e08ca0857af189314b08c032fd3f1adcda7ed72e9653e241486a05c0c063cc768c73bcdb8d95f075c011077f8f518c96bba91b00c14f8a447c94754c6625bdda6c062f890cba1db50a77242063666e9b00b2feccb60cbe4a4e9896bc4ff224361f39d605ba4a0103f7f730a9185e1d7a369ef5a1d536594089e0e03e97b9ee592eb6a9d82291ff4537cae6ac99ab1381d157c2490c7a796b184a5cc652193fd473456fb74df113525ee4527dfbe562c7ac168c53fea5ce1ec5892a55c10d1b16467d27666e8f7a9a6a7e2c82a240054b9e18cac945b219f94d7cf07ed883b14e69e74f7768f1e414c7a2229d45d5a68b2e5acb624a8e636d96864041a84e879435a1abd87d25295022b07a71f3bc5ef89d4b0ea6f5d69a8d57f131263ee54eca98f636a76722e48781ce35d2e1d6b1add0d670bef54e8f53e90660e8f18f75e1a7b073cb39eefc27afb055e99386c2712933a7cca335ae5d74b1d239d26b76bc4bb301d3e7409ae271239d4d35c22578f7997caa2abb44f829b26a6b77b034533b84189f95569aa7bc3ac0851d686c5fccab006f85d27ab89b7486624f298b5f17176bdcc8db0f92bbc60984258040e0f1251689b3cc0efa998a2283e8a08377d96f1e6326a8b3d3cc12a5bb31010c2b53191f788ffd5f389bf5f7a54a86bd0d7e35b87d452b3a56c22fcec77b20408bca3c2d217255587b24fdc3a9f3f38408f5464c8e69b0b96140abc1f23f763057bff400f0b990ade152dfc996b89d9300f6505aca7c5b135e03afbd6da23f9a36732f3750bbce702a724f8a1337195803e472dad86629e317287224766d41a6083eff80672de940bc0ccfecfbae581539aa594a0dc332b220579f7ec6c87b9d5062e4c70e2a574019e0065bdeb71b04acab8b9441396ef0d5c9cc1ea2cf97af134c9abda5c67640b52c3dc58412c01db2affb1346c181f1ae117a4d2c70f045b03a95978d07867ffa0b02c3964bd882eccd863bb19a80241c6b793792dd4f3acc8be6c63a5b4296623d8f74771f2e5a1e12e0f6bdb0b6281fe111c0fd6a05cfeb21c6102163d02b3caf278ac884522ee97f112443e64ebf02cd78876f6cf27d43b8d82cf2578a113241f3fd8d75cdf64d0d1f01c50615069dcbe33079ba7311c1bd71baa129d964c32050ce48d7085405c68ddf6757ccb5b2806badcbe76b4c84dc2f78b877343185366cc9b686c18d7e0772b80abf370656e794bc8b1bc3bab823f22342bbcee698a8ece5e41a594f02c8ebf12e77762674f05099fb6931e3886fa71fe555316a5c334da674ee48851395fb2c77993aefc101c60afdedd255d1e445035d9732a2af7c8d000b7b6473a102eede1858892c6885b6a9bb5f4820f6630c4206d4418182c23b6cd2a4581e89c9e8d846390a36cdf3e076f5ce14dbc8dd765105a19c611835d920787d0e34dcf3d3fa1cb7dd6d1808a8ff2111e56696e6b47dbdf862d21311ca0d270b45090a96e4420f90922b7cf48e4b7125ab4ef67e3c901fc2f494aa44970b27d5dbde2e36ccbacb566321e348027c86e853b6a8e33198a50ca2e12bb42e5a54ec2109b00a7a26775813465ec83efb0519db36e63ae2df51eec173c6123dc7668e486a126bd037112a01555a677caa9d89b4370ade1ad6f44f087f076688cef17f216b78f3197adca03b8fc9dd2c53c79d0a6c75148d18bc5343190f35bc58230682f2b78f2e3b77b8626d44f9ee62edc5e1ceb24fafcfcd804245a7e71efcb42271c240e530dcbcfee2955556a055440104e4c00988aa1ad0a573e4ab9de2343852cd2b939511f02702be77d1bf47c1553e613aaa36e6993e54a0411e9bbc4ff9c07959a9699f4001ec0a9bf08556d6c2a21ec723b963b46b3f33cfe4afd955f6af4f222b2869e95a9bf73d2a9c11bee975acbbcb970e874fb45b7eafb1b1a7a70bc690d217a260405eac4128b92d9f1bae8afdabb3f52398c9ae900d52922ba425e061e8463459c2e389e188bd99153d67e2af8c2156debf5ac0a42a1d74a74f9627ba69379826ce40a94f754bfde2fca37459eee448d37cf505b89afba6c00f82525c0775a0d5358036d29fc2628236d7ca554823c28c63d3b9ae67c495c10b281918b15eb50216f235d44536542bd33788135318a97f196238f82d2da755be1c88856d94b3ca6e5dc59503247931e33b1cd3847d73cb73c022c5aed8c0cf87ec501dcfe808b545756e2a98abaa70a2630619d2764c406f11cb09b9445b44a1ae5de35dde5cd0ce41bb2ecb13417490f810efa46aeecc2f01533f961233679e992f4028f46b01eaca10274d801e713aa1170fe6e3bae0740e3c3e736296233311e78f43ee035dee600edc214ea743d4729512eebaf81e9191ca0c87e2896a2f3c1db4ac2cc26409862ddb4d7022a5dd5bca2d934c52a6246569024f025d02eeeeeeeeeeeeeeb405a05f4d27941222b256f9ff998f7926535aad49e9a4b3f533934e9af5c55641f476a642fac1b60b7f575644a27753e63f9df3aa98f0734e394f80f45bbd72ffd66af7aa6c2b5aaa4e0ed41d4013627dc80bdc4d421f3c0d5d212dc8fea8f45bbd286e6ba0d19ceeaef3f3c40787256d7a4676c708a9bb538cbaced5d9dc8444b140a26a32818930ded076c89973a55ec9d7a7bbb222124dc6e69c18763fbbd97c6cd5ab118be4d33f1d61fe6a1a7cb7bfe18bb4478489300647c6064635d3dd1176b7121cfbf407ac816e236f144dc73e790879688f95a2c1eb327669bca15bc4b212dde293b8c51cb8459cb7c5ba459818998e710687806c018a9d893fb389cf65693b7115695e9834d11f254a69c232ed5d4aa58c8f8461693bd6831a8a4913627d340f5874449a07143b65caf79ab2cc71c9f44e4df33616e7c9d4b9f8da8b768daa5eb1a9094926c2bc38131214649ef8bc293551382826a7a787f845f4f0af958ffd50295dbc512e45265b54b1e8c47fb42467cdb571c2e3861fe891f5289d789452ad6a189656819c90c9497936f9f7e216eb7b464a587f6449da457190cbafec8ec6baccd45467bcf123d05bab69ed424a265057c0ece4a44c0213ee70b4ecf5914509db5cf3ff355ca3d5f984e4bde8d5806ccf8635472a9a76f48e1d2bf65f67dec18f5c621e7aa6713cdd2ac2056319111e38bcca8910e671105d2bb22595b72adf43af8235364335593c1e5d80c36ec67d7b68caab3022f7aeac8844f3813429b687795ef3b80c14b463c3c2f1794f8a6861b1a7c48899521017b147b340dcc1aed3eccbc763eade29d2853d81dfa6e6a671ba882cbb2a5909cb0230fe470dc20cc26e4119666666666666666666666666668610a6c5b5ab1d692b1a901f3e463d78882cbdfce39d105e16a8027655eed6854d03a78d58a3c432cd97794ad80dc28a0002eff44cebf0feadd5b4004a5900db4d21c3b862b5623573eb15224ae5fedfcb6ed4b28878f418f9f871b51500829084dc4cb5b165d9982564e31ed2c63e41369602c0c63f2b1b0369407ef8186d3cd463e3c1042646c6b7dfba098dca95d779a737e621a115d492638a54e1b9ffc95c86e49ff37f323f153fcfdf097a42efe2dcd0bcfcfff5ca92333f46c6da9bf9b2cac9c354482b6ab8e085efef9ba5c782d339fd6f6d4b7add07c3775a29e9569fb7f7e433cb3b92491e7591f6b80424fe73fe6f7072feefff145d074d7285592615fad5ce74929ede4ecc5f91acd2e9debb2a84704ed6eca6b7853ebbaecb73be03fd5c1f8d65ff5de759f50f8c7f60fcff7fadffaff2402d39b8ea00c9aaf2d975459b8b615887e5132840578ad66379f84fa77b35cdda8799cccccccccccccccc735e0c937128337b3736352a2630966646f2757febd5d3a662e772af3a4aef70844ca38a62fc46cc8b012f3fad8c6219c7c1412cd4dc12e225f10591ecd5b5f5cedbfa277614b2e126ba71db1c6fd8c66c641bb7f110e0160b5d1bcbd1cd70b01bf09bd8abd9bf9afd8fdf643e785d1a7d536171e2ffcaff2bfbfb37acafd9c45db3e17d97eaba3808a343b32915cd1690941ee68fc2cccc30ce9965339b33cab7e875758df17e4326383433313c7f9933afdda79feba3b12caf56d1c9e96e2ba2a862ecb6a8bb6b7c81efd76073d07ab8429c24750ff0bdaea90e9a588637f51e736b23388a31ca2c75157829fbf836bf1197b41efa9adcdddda552fd640ee5c7bc491923e4e64bc602ac8b5c1193ddde34c5b001a79b512e34d81468dc0b643e7db5f33d6ebe91f2e69121b3b347d9ce26d31124d8c4e95e4d7377679f4d79058145e7b9fb083d25b85f25aec8060f0111eeb59a4b970ddebb8e87f5dcc50bd4832fff59c6e7fd54432948b892ff542d1e72d9ddfd7f02fe078315230b061209a65ae6fbecbfa613db91f6485173cc0a1280916ef929971ac3a6600cefdd24cfbe441fbe9f90fc1f8d88c83b445ef91224820bb9669f1482570e68d85fe3c79d4f92d835d1ed18812ce83f3f923f2269248da48d522699804cc991e9847a7b8629002d8800f723fcab91fec23961fc67dde156d025d5ac723ed0ade48f74245f480d5e4a27495acba96a485a64df8fdb9197c3d6fdbc2f49974932988dc4029f27540ac2af2393749e9c17a6e17152503704750033b328c1ceb91b355bea1be75ec47d2558f24482253aeca4f414e74a45b66049e48ae91b19860d33d324d23c10d36f7c8ff399a8b2f07144aef669294e428f8951c6c7c198c1dd1979b42856e7b98b759572a0ac7054ceefd930b481fe66729ef8d5eccb9e27658a8f5375bb0d5436ac1806d259a0cd4cbcc1e929b07d621ae7e6b9ee71ce391e56cf8b5187df65e81004d1770371f83be741e81e7d15958290ddb763e8981d5fd4795087a8d0e59cbbc3b5730e42e79c838c72b6696860ee104ab04d74e8f3da6af7fddffccddfbcd73ccf02b86d5e0475eb0935c36c10041072ee11f0bdf7deeb4be183dc49b6b8c3e1631e096de06de8ee602cfd0501acc936f5769f5f0721570d618ceef27fce39ef75d9cbd64ca5553699437fb0864c265532217880828bac05b8dbf59ac2b088452c7a1c2055edadf6a5bcd6e7d6c6cad8132c081f5a01499a46d2489a3682b02555454a96fc873958dc5d218ca3e855ca934b4bcb91ff275589eaeb8a15753a5d0d4077696969a97d4d27ca4dab8d35d2bad58b8db0ea3cba8f28f5298d482345beb0fc22e5551dab252a25a594523e29a32495e0121eb2bd9716ca008e10b61e50d84631bcf1103e7c089d15c079ebbeddfeec28b6c1ba148eac1dd991b5b546f0226fd37831e12192a35b0d7532a14ea893c9d46232720489e9846261013ee29b91ca468c1c712b584fa613ca56e6e08a1f240757ec405f20d75a5b0eca10444885145e671f820132b4a48e38820461c3079095d22344c8021dd0c172a7ef808e1dbebc4507eaeeeed8e2d2d7b555d3e9fd7cd3df3f8f2dbbdfebee2e868cd1468f1717c6147278ca7ddee9defddea3d4dbb1fb28d62ea7cbd6c7c6ea1a4964eb4b29a574afd73de5a95a6bad2d5d72698f31a6e8cfdfbabb1bf3c9150b026e90093c00de48b133cbcbfdc5d4146ee556ce7eb5b8a061af4bb77b729626b623adc2e7fba684524ab77a910577bed070c01deabd14aa5127ad0659a1cf811cdbd52542f81ebdc44286ed316a58b5547b3a4521204e28f8a134c69604103318b0c35a411932e57a2f7f7d2fe78fd74ff5c5e1d791c6f249365245a4b03e96c041e31dd34043ad7f47da35f9bd71bcc7dcae9d1379d92511b244a43317b4b91bc2e84f3e998a2ea66921f593c9f4a87bcb6f294f796a53c34a7f4efa848aaf3bbeeed8b4d4ddddb23f910da8d4ac39bb0c00a3850840501c108a06047a9a2599a39675a4028b0760488583812889531406610cc3184a8041001802004440606464ae00974d921788c0ab57c886b737a59c8490e970ad25a3d15407db2c5974c10fd13ff99f14200a3db1a3a2dfc484c627a4d2d638d090b5848a21e2388688c9ffe67a9c4c98c77f935c360ad8243512d11a7071e9125aefabe352bc6ae414b552401ab1d39b9f21bc781069d87796edc3726609ab62d16099535f6ba64fd65b24e78adccdeefacdf4bc48df19b9143d06d38e6999a755c5ab16d58f30ab038e828b602719113a63198287b4e81fe8c6584af8ab4a31a753c46c87fad715bab5738577f3ff980210a944e5faf5bc47aec01cee0db0f84a1261737267994a70680f868ab64f66235ba25cbd373f6aa2ff13eb1c28c219bf16564379cf2bb3787288255df433af2e8f953de3e7444fbbf1e1ebeaadb8a114cbaa691f28b16d5b8d6c0b462356ad3684d13d32422924fe33cf7c57083e9be960a9f74def42fa97fe9f20f2d7701c28fde30885f3f701d99eb8af541341d66d0e073deca0eafa52ab411b336a7461931853e3fde1d48e89c1c831c689dd3b60ec5c38c38731070d58f35244a0679e5b7d6a5b612be170392d9a7413a68a39c1491060b714626ffc22add77932b1359c440373538532204ee1121ef4a6fde4e3772462a8a504cc0a5f82bf4aabd3070c95d191ac2dc9fd5d982cedfa7e5269bb1a1cb092dc6185ee205449326a86499723186c9ae217651220ac628155eab9eeb83598ecdf6de8bd86bd22bd0381f2a3fc8ceede74f27af3060547d0bbbfd334ed588db1b8e7e0d43addb80cc06fdbb17d57b758d9275c671414eca8687cc4de92a02c915b929abc5dbc3c85c8bf7942911f052da86d4a23414387dc16f5d7462413f256c0931e2aad0b543a82c1055409e8dcd41ee0fe3cf3e8da1a4873221b1765de7a06898d0cbd2e7cbfe086425782539b50d50b05740ddc66b1e43de2a5d28c5ebaa2fa7a3e15d905942979663327b22cf4618e24ce0918bd1767e00b0066c5ad341eb1d88524511335b0ae5cd67f52a8bdd96f5cff967d0f38747e7f0e1b03c0ea365f798ea60f2394e4eb0124f83e0b73f4bd125d0bce1a802c5ee71c5e595e6b9c518f7cadbe68348a088b1cc45aad7f736a05ed6236fc1c2ca8ee9e5bc22c4d7d304a06539f570eba45067cb9fe5a0ad2a988173318ee160ddc10bc2f7f54bd54b22d7956eaf76492abafc7f9b05d79c9af129e0ca402337483682a3b1ffaa4a5129681890013a6975de1e6286cf04a08e7fba914389b862969804c7e4954555a726c6439574ba80782814ff9eb6bf9480879dbb43b96dc64660d71c2c31b3d245059e99818c49b81a6f93a80ab424b2840fbf3bf22214c5f9e1ad0686566504118ad7569e8c4abd067ae983462852d635d634d98054673661a7827bc3981351b0b0868f66e8197757c59806725c75c9561a94dba67e3af50af2c1b85bfa65e26950d55e09c4b4611daeefd1b76a2e6fb7ef64c0c8b799a51594794d82cd0a1274bf201bd5d86c96cc8418e4135af63898bc58925b04c352e0f5ad788c2d4a967a60ce62af103108ca4616b40557c076bda79570f2aa94e4aa785383869c903d21bf9fd80aacff0665fbfcf5f65702e6221ddd6aae4d7fd700480f7aa5aac8690821afbeeb86779419ad20ca3bef08b49bde8b10af91fedfdcc60ec60d4240a912821efa36945516ecc06cb68457a9a76b4855e9813fd72865bbb1c31396681d1950f81d4f140a8563b16a36e8d27e0c6b1a0893c9fabceaf800b781221b0c9c652f8817077a1e4c4da917b45c90f7c74532dd00882d682c44707a981e71416ecbcbe1b86eb6733633f8207efc6b30bb0d3439cd4d4d98c1976c64902bca1d7d5bd737b2a1fabdbdeee5d9c1ffe807e54dd93a64ec8c9772b04a9f7792b2b32e80bde818a35c9ee50cd1df0014bc525d40e16af97345fd68880bcf8b813146020f20de75a884dad130add84cee5d2e09f0e63e5c8f1c1b7c7f842ad10f29da599b3e591a8f0e54d2f8f445f557287399b770863e426447cc68da2c77b770e4c19bd96b184a2ce70883ad36b346e991a2db77c1a39c98e0959c09fb868f283a1a9e7599c20054ceb0265edf92025a8fd0b52fd8eb17babe10881b41eec34bbc6105a268cc042d82b1db3ce7c8e3634cd169e0cccb9f7ee145d8d176deb31a9e729d983be5503875607f8bfa66df27ccdbd76665bea3f31c904a4c7fdfedda6186af52d4ff4b575d39e1c90100fb63f1bac8e34f820269ded6f8648199b7bbef14f641ebb3dbb2a39c24ef87ef70f31f5f896ae621874b7de73b3e008f4685f422d03624f3d9185d05339c434f64d413b3ad1e782fbf06af44ad8c194b97208c7f2aee6d5ce6237ae9f7fb9a9a27408cec391edae9624ce12f5e7af0cfba4a15f8258333f2aa755471b7784b34a60cceb00e85d839993884d54a37904fd9174a9e5881b77ce83da909110088449bd68244f27212995f00065f43a24ddb748dc3f24df7724794701a5f453cc7b8dfe23ee5b919a53f99aced961235df9b62d033fe1a45f55c772df03e763c6fe6b6cb7a8eee92e1006925c107341666369292a8714adb8c11c5fe6da262afda102aaef182423dc485a48ef74ce99a8fc63e59be90474d676bb5eecae5c766a4baa66223ff5d44164e8e0e6f604eb8826fe4ec04996f66d48e076bdbd2441894fd8b5b2a79e7c61f93e44e55db40b607342354a1f6db65f06fb4c8057c6983be0d0383baa33d5baf4801b987508e8efbe078819ad2c88efee1794b9f554d93f8aa405b81128955818e0e3ee806b6ba849fc0d39d6400faf4cba8cf8eaa77415bef328125582dd7eeed9697a70ad77190c7e59f58e26ee6cf2f5eb8cb232b74f8ba2dbd4d15c168fab8807eaa849ff36171e203f9664f54a8932dd0385f53f1b7f75ff03c8941b53bc509418aa0de4c20be4356f94281d4dd0b9f599224025a21400151c5c2f37ca5951f152ffea899779a6ee2c88a2330ed8de79dda54f08d0c5e77553be3000e7e86bb65c39ffa7a1132fa6738f8e288b2979ec16e29554127f7775d5d6023d8fe086f0918130f1a5a60c921ac843c5c6f1e22150da0f9a0f2d78db0ecd48c9461b428098257494a053515dff1eb958b0ec08be876366f423b66675273afe04038035b5ed784387f168a1e1706abf1347393c7f7b7b9ec8da9407e5476da0a6c8e103023bd154c3ee73eb601f60883456b2dc20131b1d6ce2dfa054f8bc0f953f3f03fc93a800e32922eeab46d687f27efd4f1b382758133670cf203dddfd82503ed56489b5597b4c585d4d437a98acbcb9bf3ed08b0088379d8ec41738ae55d1ca6f2850bd63da021ef658bcb5fcb8842939034ec1b0e3cfacd63dba0af12ca6cebe7023c4c9c273c272cc275caae64bc0c9d449418dc2c347a7d0101462f8b8fde4c5bffdb43797bb31b1e88f58a0e0450f9e8e0623f0b3a4fd24725c054b3a0c51f2c3b620473911d9d0392ad06496fc31bbce5a2fd485bacf33982bffa0c32da06d2f827d5f2d00a9140296ca33054c4ef19526eed96f7424bc88edc6a29144b262d24ec73c1072a79931d5c22a9663d45cff7c9fdbf23544a964a9f7b49e0e8386a8180ba9c2f290d62228fbe94abdf50cadbf287ed8313387e40f8ce2566247549f101961257a0716a588881857112a36115dcd519e67a63d95acdf2254ec5d3ece39c976e79dabc2b3408d6979c0f7e69938630fdc1d3cc40d68296e21cb1cea6754f3d28133395f66a3488ea827247b726d022d4347b43882bb801f8ba586cebd7a3b68ce9ee2b6629119cd873fdff2ca836ea68219fb417c5a71e7b215a615075985b21a7cfdb878368b0dbe5d2d7967588069b2e365b6153a60a59fc468112d7a406aa0259f7658b4c52222ebb55616e1b0e407fd05114bfce34db9d24178e795fd8ccf179935ccab4b87d3ff50a2d372b9018f24e05830624c72e68758095f51435569fe424a28e93113d8c6ea964f0fa77cb18df6f3266958a407a1f62f7b7f1bab23d9a8a581f56500db6592d89c9a4dbd0944279a846dd52531aaed6000662f1ef96af52de88eae8b93f8a5bbc0bdec58970759eaa412de27a5211a147c0a59e27bc12e0d26b0f8def45192462915178e5163749ec5f4a73447801ed0a98f20884471294b22747ca964fcf17de7e09ad0119209f772a52c22baee432a37cbb9d54203aa78721ec3ba0cdd0279a07f46c7814328d14a9ff77f942bb156c2874504f4c62c0069e838e7d4114bd5580bc593ed30ae1b0a3e2aa4d68d400512aec0fb40a78e33b911105a642e97bdc7543f65820f621dce54eee821a6602e9021603891a54427cef6e1313625b2d2dd69841deeffc14791f8224a4b53a21fc10b0159bda58cb6b18dcdaf921a79f8028e03043d55e7948d7d60b3b401474cd164177f660a83ecc129bc0e719498d025a146bec2bbe002ba224748ce8b57f186e75fa5f69818d5f8b0a7891fc2738086976853699d894010a6856f20d76532ad0060d028b38f6a30e205423a03b625d42762a572c886dbd906dc0bee0966185f2cda241fa875e8dc3c57c60c97c92a86714592ba3bfc902a60bbaf24442072c324bd3cad52ae8ccc1b99db6ac51fb9d413d3ac66a47cc88ea646bd991b3c71def6552206e50796e59bb41c348ad08bc37c88c6ce0fbb94a227fbfa26f78d13258ba1721b289d9f2688919bb78c87573d71ca480546f7e1d9e6e3425e79d955406b44806d7c6c00e8d0049672b9f1354a90b725d142738d18882f7b2d95eb2752eb2f51ea2e66d0c69302c3362b13b5a0c5d09a76e8b0eec0204e82cec875211577bceb03336d4bb97e8aedb48ad6488ece0c762b6d1264838e9565870277efc2517bc3235cb7785af7ad853413385891fb8ec4f8dbfc5d6c1c525a57aca676a2e5d259141dc2e353206cec7a3ba46d10b669cca5e0eab1b6cffe30b9481ea4a61a1b599a23508aef9683ddaf41ca7cc3e99a8f0ab7914b1151ad6de2493ba36c957434a0bab144ec5daa2b87a23af2780f9a1c9a5a196a3cfd94edad8bfb23edb98edd0d9cbd471c58234bf69c410ac550bbb8dd882cf14f8e7ff7eaf47750b93501bde90040a77d9f036c7b05ed5e88e3897aa776ba10b4275cf21f85681428517850921a0ea0b6757b208e0c2343f2d70583c9c8541b8fe2e6931c633e98590ca0d1ef1cb6ca96088e44611cf9142281589d5a69c19cef37e422a080ec1af44ad3da28b78c0c7f439255b9be9f7a8c64a0af8baced98cc8d179f35f39c5b6f60254449ef98bb255f211e45bd38b93f118e4f3db8ffb2c3efece0369d17141091ee751ba60f9ee0d77a07998d688f9aec4da486cdebb3f2c58b8fd1bea9a42b598c8352231a3836589cad786cf126f7971f57885c5f6ee99ffff595d8ccf7b89b4a186b98265b6d1411baebb85f5ae2a2aebf40c79f9f0f3ccf6427f464206c9ec009480b78e9bac35a0a6fb0ccb941e2af9643b7c7876d02a2c7de9377aa4ee344ce2d8717e93d34ed1a2b8aad7a8e20306da454479bc902679307a7e7be75925aa230e242cee86ae63b5b04a283b8b7ec0751d7d4af4cb9c1bb5f8046c6c892fd20b9371ae7427ec14b2120e401dfa72c3c949d86714c03f92e523b72cdc12d37e32ea0cd280fdc5956006a0c5e7cd73c1c36b690f339cc5b63381176adba6165e2ae60636fa1fea690d8a21594a5668a9f782921a21b19163e1b18c8c637a7a1f46853ecfbed1210950cabd4e28d37ef2e4652bc58e53b9e977a7281345a7635a0e307db3d37e5ab32ac470c37b9047317e6dc4c5230ec055b40c48d36fbb4ba647ccc84258f0cb185b4388b5da27bb6908f546cafd3592fe4b310220f055ffc41566078200436f0f84806f1bd6aeba4b7c789aed5fa5088372597da2769eb92d5bb1fe59218e7262c41dba835245a6292b137650f442d97308fff9e12c7dc13bcbf6f2884236124e35a592046d57d880ef82dd82a76b1f669e16fcb1646ae6432f80b2fb98780f989f103fd32c13bc80f892743e9b343f553982cda01681a599bc8a118ce2a805dc5386f908cc568c9637fc8310d1db89cf17fee35269bb94af078e96a0e02c8e64a0652f20b3d48e51decf9a68bbc1a5b9b3c44121a23e9d0f732d6efa0c5ca29c7ab6592695ec31f8e6ddc366964695f16b93b428670a9ab2e8e3441cc50ab7e30ce7a72adeeb2fbb68b6359cb97e3c36106e6006fe48d9504ed507c0b09d2aa2a2db4c54f7f108a02ba3b0526242ba6068ea75691446d51e8113e87dbe8c789ba066ba1d1a9ea1e45991d53cf398c04887df8c4694f083ba9c6ea60fe9088a172afe421a59c9903c708aae4215a840a40d77ff526647fc3b2b8325df4709c69938d0d5f436fc3f3f2402c2fbde86241a747af90e1f5880d55b958bc32440cf268fb17cb26029c215f65745f3d13b0e791eada6a2ab22ae1a2db446719fa3f16eb4bcd949f51cbf030182071f9492d723acba702ab18bc58d660cb7c03fb7893c809a360ed819c42af30a3d3f41ddde90cba3325c52a5c8c53dc0a16c620b73833b0a6223f616e718a88426ed959b8e8430cf3ba68df72262d3c368d11bd33e14aff1b3d56162bdcc644c0a61c9a89e79ae05b096fdbc4c41a5ec2ceb9b31f74fb8ccb06b81e690d4023c25d7b0cfb0e4d2059614aaf69a926a65a6c78273964dbc3640fc548fb74f4899bab084a79c0ba9ecdf9aa6e3cc28c518ca0a1981aa3c3c7033e420a626adc3541e0c50a0d5f6ee8e816c13319e05c0f1cc135832a4e6d5a46d0ab842f0a7c46c100a94af69c7c595e19287b328228137fb8fc10ccb09e45a8b03a20088fd76791af15a219e68c33cc420f1c05250e1e56fb6d4d5723650632b3b1683f7386e17bcd5aed1ab4a456390c06bb8d77f6044b01e30f78d6f7803d4b7a730b66673b6a99979723586e9b4b87848b4a67d118f580f578d95073c9ab39bf93b191c1b38fa367ddb236f51b36ac2fef1766d1741c6db736deddb5758ccd432a70146d3f2c99d7677a9aef745b5cd879b2ad3795bb604879ede2e620e0369f1b6ead0ab650478c463f633c99689fef0d98bc32b8039e511856e9ccc620014fdbdb7a663618e0e5b8a2933d2928e9073b097595bb02b3a14b862e19ba64e8d225439666544c7636300ced3d04d1f3c04f56bfe0843f2e38de6f47e71ed418270badfda9b287c4a57125f3ead7717045c14e40c915c7f60111564f9a29e932122afd3521a8b40d73235087584370a0ceda48430814cfe9012f460e1052a4bd79976f88caa17b3c723081f53c674b498d505b3f2d659c96a1d1e8b6351d6c05956d752e15c6c4f8dbda4b4b581da3d336f132f30ae5e1c712111c0a1c19b5d50d357069f12796a960cc508dad3810fd02ecf3b9d1c3ca5b607152e457106273fac0cf14aa24ec35d98b5551e230a14dbca92af8c85ecbda076c79448d628f54effab8202c9f77a508e026b9ce231c956782845dbc886fe4525f72d8e3981f546bb4169ed8b6188f654d3a92bc411358f36746744fb795d59b341142a609ee16c88c4d0cc0e2b0d12417e564ec89134b854630c35d629bdca778c1a17efb06f0f7269db7dd6f2ddd80aac9b539c22a6f5ddad45899812ffdcc9688f36201edf103e2f78bef4ec617ae51e3e5285651a69fd3c0cdae47b7830ba99911ed4942e346928072963c5515cb8bf993b004746b738a012a06730430a28c384aeeae4f4fdfd3bbec661d7e5ece06319d968b3a3ca957a05ac7657d7519b8b4806d6f47e7eb015026bdddb832a6e2b9be769bbc539afe7c84b7e8057352619c1fdacdeada5d1aab356ec3033d084dd44b6c7597d0bbd58584dd13f914054a00fdf026b1b2db7cdb385d8f4d2ddca0325c6f0cd48063ed394052b0a6c3ac4f0e57749c0ead33325e72dcc8bc0d475dea03457acbbb5c3fa9fe9dd6c3be8bdeb3e0242c0bad82189d40f2098251afb73dd981037bec1e11c03d46b547930af456987e1d2e0db6f2bdf9dfe615044e5f211c334cb3bd6347dd65ccbf8af2051c5e2183672a66ec4c285d98d83aa978b89756344e27c09d6f302622c3191fcc2d2288e601781c3ba0550bca177242f8a72044e0a87fe8697927bd345059b4df5f0695fde244b9a8b31b093f23e731f51cc405880b6ec40f288054799aab7111bcbd84570959a5c1221c9eb13b50ab1a2cdea4fdd84495457c411119591c4a952a9bbb6827ef64c9b2193f548fb62acea7a99a05622ebf72d4ba74058b84f47e4442737e07446bd8f2a1e3bdeb31865d9780eccedcb68286e76fdc8188eaca49761403fe8c74c3c2cab1d65a808472a6649a5ecc78492edb7b834510e2bce40962f1b7017c91e396d0c52476647f2c6174b6894d403565dfbb4476b6cd7f58bcd6e0f5bb45063c4811233c303ab48f3a4ebc90dcc18ba152288bca64abd00ea73dd1307e2609a3bcb2b906393141403590b61b088a44082a223524e08b97624aa671ad6a12fc3e4f83e8f56b36b2e82b84e374f5f59417f31c403d88abc1619d571d70d1dc18977e9ce75a7c351a45fffa95bacd522e9f29b737848c4eb7c47b53207390ccc1f8190dfd4b2dd79ae02aecb3114690ea86e861ccac57e673b083c3140ec19443e285795dbcef7254666b5749175383443d05708362aeedc1d6f2b0730103ac912439d44cd83500cdcc8209a7c208507210d57d0f811b3f6c964c14f0dfa00d39ad57d604df7b54709f44d673e071a2a62b3a074dcd5ca7779d68869dabe65c943c62fddc1c2eafcee91f0e0050e80737112c09ba9bf3b5ca42bc4603cd4c0d08eea1e8d79f1462faf3b23378056ba29bfe5d09f110a746ade8609d6becc850fe98f67ba2ea4d6ffa95b19b571ed1d14a53579133c9325926cbe5b93c77e6b56284605d060d8c1ab674a30f44abd9ab46a5702f0dbbc96c1b00cf65fc3b0a9f7b94919ff9f6baa91da67da7d6f150e5d7f0ea215517028fd3b142f55daa860484a4ef9de148ef046175f109cfd5712bdad24485534652e95596009c5f5d7e5b656c42b679f15eb3be2a1a8f95a500d755a24fae79be92d81bc9b7580452ceebc275027182469d7dd3f20d8d657f02053a7cfb4403aed4ab9082295b6bdad857d0fa2e0816de08de61ccb18b1837d292073a879a941df8831ffd6af5459cb36a93adfe2b3adaff2ebcdae980d8a010706951bbda0b334eef66005bd1a36cb634ec1d5670205b32313b843ed56346d5e8d271a8cae7061cbe6684c4082fc380be010f200a8f3e443475a7c0361eb8f48f3c6d422032f167fed299db1d2ee90dfbcead683b456a968aeba2471b6ab9b2cc3d34ec15fcc912757d9eef8c440b46a9f45f80ce8b9116ebda0af18682b4e83ed4c4c6d59813471355ed75ebcd139a79f74439d17ccdc067fea7dc8d6bc0d85876481afb6762971ab9b73c4b0f2f22de4130abe3875f2866fd0e41e747a0d29b12df280cff0fcf50e6bd515590465a4bc830fcaacaa3658e2bdd7593b903b1b7479778620b5df86ff0837322a1b0c61f36fcb1ea7802f56219d01d2a707e999daf9840f3b1810bc8c646e29b6f686b69ad405630120e7786aa3dc8894cb9e3c7a34eb375259ba38396eb3c3d151694f1364a8269990b5476f27a2d72d21a15c9bab8133c510264397b48e3892bb00cb9c243f0a6c7783f740a89df9a028c6e3c8aeb4eae9fd0e7fb299d6e3b32810ac72e7707b675c771f060a107819e805a8e61a88790daad5bcc8170231bdab3ba0f2a96116ac137f1674ca93e4227774471c18301009d34ef59b8cacd1fba0deb6e0a6598e273b36e917e07413369731740441073e0a1073a0c949ea5a36b861397c2a3653ff586bd5fc208c77f5f1a49b5f6a165392987f076e3ec2105cb1aa8e40555f904c1a2dfaa74d298de7b69f3fa1b6fabd8033ab746f2c348dae0d26042141970cd3c9927f3641e8c7f4e195fcbe89a82aa5b3efffce27c5ac08bf59bf0a79724d6e931b38007b1798776944c9de2f1472a3b4ccb7401fa0caf83842fa8082b7f0e07168118f42f4805a5147369a1f1527aa0f5a6799a409fad7da52d58f0ee51a897f5ea0ab9fa35a8c67f788cfec114585f52f6024dc9734229abca4f7f279535c4b4a553780dea4c970e13a8d32e981177cffa2e3b3ca72327b258ed39bd2cd30c33ead024dfab85e9faad2ae3d84af1567d0c1ebf1cd347643691d2e9b88ac93a2f9d812b545e4b7c9ca2937b417bd0197de4f0c1a2722927c63ec0b520950953cb75b2bf9226a609087cf5686a74c5104f5ecc560d090a27db1dfee27b505b1232c5db21c1c498e501d88f9ef35fa95069f7ea691d2027670c373b1955a961c810d7919dbfe8e791fd71ca07cfe4e7403b35bb669316036bc79704dc957700e3d797e1619b94ed4af95e639d71d3f21d866cfdff74391fa93d99025616d07019bff116c352f78412c3d341759595f05b5ef34e2f50725e51fe5b5cdeb99729920f94b04d186e9ec16ef7f5cb253a29e7d6da0d7ccab018c283d5a4e690f88d201fa5e5ae045521db06e549a65391ed89cacacdf48291e3215341dc42a111226e2d83a662728e27a600c15565d29568f5133feec233066d7dcfcf9ea67428ade54d74795b51ad85a8c7e6625ab662aa39ed5ff64bc8a87520176a079de3960729f22298e45da2a481e8e8ac251aa832d465ecd2e0dd41d50fb67d7dbb1c9ded0fee38f8defc740be49e30dfaca52fcfb74766c744d00950e2e8a443cc912b6aec53dab6607a84fef870c27a98be00aa1c5f040a6f50cb0207db29cacd734550d6d8711f4de005f52c8298b8133303c28608de46923c4d553e5d2cf67b1306328001e60d3dacc77e45e33153da17b0f33280bb821da808d6767ead2585fba60a5895b0da5657d28a6f05b0bd3911275e9b5e931054c355859a827e6e1b6aa24d0f9ab0e59c9d1ddbcb1593dc2e469d244c8bf4145214f7c9c44917e8e34674794c57c7ababfac4a9c73a6b7cdb306d79593ce487fe8feff0f5bff70fc9dcf4e5114a8d64c29ecbfb466c60d10f073ba04c58ca0e17e6eeeca5915175ff9d163a29b82bb2401462603bd8b250eba9e5d5e0e4a41216060aaa607b1414f640520da87b390cd861cca36bcb5f5066878781cee9a62b784dde5f20aa1e6917bfb266cfa1e1e2440539c6be3981d956d31d6979381f650040f6a111688fe95236a598319a81faefea909fe9f7f93164ba3c2fd546de1d417c0ccc4d61228998a6080fc52d083a881055c3fade389fa6b246bb7a921725d4377e5d841622711811687c850d01daf32e2ef517aabdaf2665ea9a30662d069bc21597ac43c79406c441f04b548821a6ab6bd4b4825edbd4d96a3e190629623c49c0d63ba37d961f8081e7e435079a194444ce3245873c2d38a93d6e9d340aa3b10730de4dec6e8494893e5249ecd874b9afa99ad103b03fe41e2402b163efd179ebd23f5ac50ad2f2069c18246f0db95e038e262c1ed395e0716e783c1eca61f12672e750969ca5b2e49883a88e076c265006605386e2e9071d3e57343f6831be637809f747f4d4f9dd1435691f4b1d2b6f8b3860f2f8ae8b1cc7f94e8e2afab5fbc53b3dcd42336f81861bc5dca450f9e210f544ccbade9ddfa9804992eb8cc7af6e962b8df97da18d9a0798ee08e15c6e7a5ae18dab7a61c5c223c445a5edf508d354099de12b56f598dad89d3f760d878f9925d1ed649e1d9aef9e8010dbacead8789b620189ed450c11aeabaebbc0a29c943d01400a1c079ba56d4c55e5e0d4c6689ce5c9e7a14b57fdcebdd8a149fe10e718884d64bab6b69d79364a93b5652052478195f13a3338d1f03d9a71eed7a876f65a454185a10e3655c83c5b5194ba5957a8bfe786e3359bb3bb618187401f3d374776891dbb2c16101fc2861a33a54797099f325ef3c80c6ed2f56a636462681dd1cce550b72daba818fddd819fbb1ba3a246a2f65e0848e1e9f35c95a05d3d902b28bfc8a63f85b9562de25102caa72569953ce0c235b28cd9a09670574e9c550f43ae913b88f264b3352de804b435b5d7a8726e551739db6ee522c786ef597a3f4b5a65abb337dc31d81c94543c9c993e7ce8c2dc078eff8ac90e8897e1db09eb12152328f9b2cedfc81bb832ae922160a32ed92215bc17b9ff15bf9e55020c1e9f230e62d859c2f14b90fd1a1bfdddeff4e20eb404d1bb48c8d05f44f334c5b2aa427927f519774a1064d2b945870adb0c12e8ece5ede77b8f9b61de0e3d6d9d06b5a90ea577bb22c5653aa027ac9be34bd9d96d7212a16a06ef0470f35419472e9d08c130af74f5e2ee99d44d0a6608a626704f49bd931933155062c702312250abc6bd49e8e17e443fb0e41d46c6bd3f61fb22c6f9d159078dd4c474c0ec60589fe794905e40d94da152363feba44dfbd562577d7eb6206099c49a117bb76de77032ebf1c1b27820e7216f0488066208ac37c8d45e896785747c2d374359004b649a9af384f8adb7f6b6802870564a0ac02c478a685f7f9d6b5b41874e2af99d8b79ac82fb4a3ff410e20300796764743e4a2a99274203158a4660d7921fc7f381e6aac7db8ed0a969425c602a2fea52d980ef2a01a1f76e5e09b6d5f3300c800f1150074be1692beeed9c95718d8bed4640bc3dfea1ef83dbcb4cf147f15496c42d8c26dd6c78b4167fda9c45a2cec063b64519656d8e6e2059525c4bcd4b7863d11b8e342bcfd582c75f0d2db506b5fc863b88db23511484a9f88e28ca4ed342223f4bdfe886b66c8a2930f1e4ef45ded0717f6034351978a74a8673c6a02c212250db90c8cb30dff93027cd566c44011410032a99614d5b50d815a503f9b1c54aee0ecdd84043531d27e29f5d567706e8b27e8fd8a323081b6df93611f7cf5eca4853ff0a200dc0000c43cca3d24cb0518e41d1e22c0f3e7882a2785193657b29b54558b4278d10b9f79652ca94a49432a51d32058f04b004a38c060663467c1618151b0020ca21434a4c0ca11a66a041c78e1b78e020532a956470e071c30e1d2a368872a4c48466c0f13000902106894d59121c343cba6e8c5e78661bb4850c7b192cc488138f16aa8579e08881c3c6c403861b30e49878bcdcf0b2c3c4c385efc10e1a520e2e7c74b37a5b2562c431b260b851bdb8f0026583d61859588f48305ecc802cc4b85c1ed642928cc673c8be91628db7307f1c18cbff0d8c46ff0bf66206bc9e622e23176db378d1e819d0a5878f0c7b192cc4c05a282bb2c490f102c60d1c365edc80438e0b33020092143b4c33387fc101225661026435c10a593bcdf98d19ebb01d0e43d5a16171788068e0cc68e969a952601a0b430e0d3a3c66bc39355a7baa4f8fcb7c5d9b0f4e1ba0fb594d0767d39043c7151e5343554155b254d2f0906073866a77dd528027d024e08cbcaadd37a50000c4924a06f7e884f4f5d4755aa3981864acaa927682704cd10c51524f323afc9b3e3b87e63007aa8a980e54d5a8cb588d6211a0b2da78224141539b22ba2fffd7885f606eaed2abb647b9983717780720b8b0718d62c8e205ce4d5583b46feee8b7ba489319068d2987c6085866c89b29972cb1b1598a31953737fb596b2d34460c158a7a33460b3b23001cb090f9fc00850cba03fbf1d448f57f7d0ca8560f9432670ccecd5559599b981022458cf08111a4775db55e3875baf1108c25998d0b37a0b9dc1c9d1626a4c28a0031d530009d17c39483890638e4a80182426ba346f6ebb23a331672441163c713660b33448d1b8d11c8daa95713ac9ed0bef09e35e5b0c0b862ae519561eba7d6f6eeb5fdb81fdfb6aee550696a7e894a9384e5c7730372a86af05ff52fd2288674d3625e4061f41cdb65bc6d851991b951632536823b9c1bfd0b2e0ee76946bd9a0d173b02d0c285151f2068f0022d653010b5b6ce6dd5deefda04eeb63df765076fb8fc9b74e0706d2ead2ea3afce8540adfdbbc10b98f096d149faaf0a5040111f41082162c9b063c34cfd1cd1c8a2ea4febc2c9a193abe814b34a641861efc2d65095d888b39a606b78591aa685028605256e138ebf400625a0161b366a3505a452dd4fc121626969c1c525a386b7069a39000ba68c1d9ef18162f1583b5b4b55894ab335fbbb5bd35686ad9d66ed38ccca99ceca11e2e5868739161e191ba832a00cdaeebab72b728f6306b54811eb80cd41e4b087513fc06ef811c2af5540f1237a2e0221461f08f8f3e7dc5ac4e5fbacd2398410524e4d203a9b3b95261f2186b82ee21c26a465309b5d025c74ce1983d1bdbb3bbbb7b7f7b2154e298ca2b22a6478c199e2a10aba2ac975e0374d08996621f3c7e57d577a5393f71c3e84104292439e5e830ef6b42946a6a6d2e444fded4e7727ef3477fe622e8e7aecf994993256dbe524722272770f6bacf9cf7d4c98fefc4d93bf7bbf8710a3a85b61ced9fdfd5a3f99d6ec739ae07c453803fa59da7320be8e68e6b42ddfd272b59eab25a138e76ad9b5cbdc66735ded4c8e8f1f415c393e267c29a5d7da7ba41743abc68df4be69b52f23b60ba1641a8b90bfd86bed9c018ed4f6db30238a0c11330b4c51031ec78315b335e79e8f1f442ad72098e207d56caa7d8bad3998181808db656e0ce001223e67cb0dea7441c961f196543e800ca932280209eca0c75dd38f1f13153e7a9c488a0da691c5e4c913292d57019ee460b2a1004f78d09acb0bad93f3a98748e41710b80108396c10842230a119800f94aa34f130b98013a83be7f2ffffb03900ae2f4124816f29f5bceaee0081daa49c6f36c7243da2d043044f6099f9c07ebf13c215cd0408985be91d33428230de051f56884d8e7b025816980f07ae2e9dd3e79cd37dd29fee9525bdbabb577769b9cf6a526d8abcd5c6442e384615cb3c031f523a2174b890442a551f41f8eeee4b777777d9d849ccecbe38ae484c5d08218ca91484f04d3f53ceb42325f5d68ff914f549c47ca5fec1bd6915a55546d16c95642f032f0a11a37c524c485561fb7142fa282a5214157739a35cf52ea5c76aaab5f6f0235a549018ddf3a7832b003b5ebb3b7fd4f1ce03f911440ba8d8f15c0f191d5a30ba2effeb9a762e301b86447279efbd0c4a4ff738d171388d89cd7b4e872173eb690f6bcda6569b8ee97faf2999cd4dc9bf179685b14523f124ec2ebb7d07e7ba4cff983dcb8d7753c2031eb0de1d65b2e4e76067dcdd7d12645d0de7bd176340fb148551ac71c862431a9a9f2c72eaee1e7d57464c44b956d1ee0d9b606ba8d90e3aea9c8b0ba5421abae5a593db55c248cc1a8989f1d70fbeebbdcbafbe98da21a6c6055e3d6b87cef10e7fef5d2e4d8838111d5bd42bf434bf244bd86d4cbe6c9f4e3e6e92cdd07109128329394c467faf1bb7ee6ffd38a70e19e20b4bb0c33b66d1d616ea8547af08d4b975dba470cea59f4bc949264deeb9fd66333b362a514c08202a2ac618b766fe9cf3a57409654cb9db3fd07d3cd3fe32e4ea36186257a99f6b7e17162d2d3de75cff5df72aaef8e5bdeabd7dd5565bbd17bf1b8bdef2bd309b4b62fadebfaa3102b67a8f4280026048f46567e6e04207dd83eb9e73eee79b702724e265308312ae2fdd598323342ed980051a57d37eda4ffb693dae6667b687c85fd7184a7724f18a08713d5c642e5a453216f18e5d2d21d0c2f110211314d743668606ecc33aacc33a8cc33e3c53931cec4e271dbbdd2591d8ddd4fce34619678cd1fd94db187be4d95ec5748a9ce389aa76f7f9c38552c697d54bfa52ca7d1a4fa0628cf1a7fce9a43bf7b8b197a7646ba494df3ef8e85312242d69e7336976bb2e5130efc1473df8d249c9083b4d5ec22541f864601887712b5f369dcf7e39f776cf391d3fd585e767e4e6cefdbedf6d2fdc2c6ee1bd13bb6532a725c247269d6967f2997e66dc7b44862852d9bdd6ebfa7757a5f57a793d22bb39a4d1e8f7aab03924733b084d30ef4a9d0b3cb1939987e7ebc9e6ee0eef62ee9f73860ffa3b2c1c4638218532f0a5bec8a7755e97fc9df6c832b14bb49361576a2e2d4eddd476098da21648f9a9aca0cae0584923d296b2ec0003fb27d499536b2fe31c6ee28a342fd21e74ccb536b538f70ea6080f6e88db21dc0c8f7d28b9b6a417526145a2185dbca2c374c386de10c267e7f71ef7428c08cfbc33883984716dda5fec9f0f2dbefc8b2e8690270745173b368cee1f6c8c88f7dec7175fe630f8e2c4c1497d2722be1045b40534b7bf6d7ada3e9bb3366bb3364a36c76503f0c4a5c107bb19075338089f6bc7cec12972cc07187ec9cbce4df1e6943fe78489a154460744903ad6d9944d11b9a120a9d5612bbbbbbbbbbb2cbfebe2f7fd5ebff0f7c56fffc2f8f5df75f9dddddddddd9d5e622162e579d2b052430d5d319f32ca4112c5d880a9603a7276e8dcb0c3a307071f19d20b1ba51cd334430d1a198e88351c988d192fdca04635321a2c2d33e00c185e7a94f9bbd0b0be86cbf30ccc058e7fe1464c1385675a48cf118e56fe6e27cff64419dabe654d79ce883d11e37c49994974866267892023085480f0238defbaffb9169097398ac3e7f6d8fee0c36e256dab80474a249e56f27077778b267e9e988dfefe702ba154ce123f0e8893aafab51a63239227ec860d1b36ec86dd0d7f400da2942906270da5cd0c9769b766829768f87169730dec3e02bf39e9247c4a0db3579201845aafaa71124648d946282a25f4815a308c2229d595f20ffd1f261d4068ac0c7fabac216d865a586c04873e405607755229eac4528a5a9a514b4d7f4e3527cd08cd0acf90600add12e78443815341db39c2510ac7a3efc48c8b188c02fff14de9bde4f9523efc8151e01d6a613428442969b1f3741c152d879becd40fbb5536c850ca34a588a694e79802aa53fc47e73be52dc47c10be8cefcfb3867071a6f6333a3847ac50f39c73ee4dceb536272a7f76bf8fdfd69c284a2b88524fab5551b4ca997dc5f0e7a33469e2481554d8a9a20a46aa88e2a471121b859b6b43430a67ee56c81551ab35b18d18693b126de7e8efd336e5fe8332dd3b6ca7d0531a4de10a50ae70f343b7d6a2e01b268d924eba6b2f446bad71124674ffb4d3534f7957ef366da228924c737696f346f5bb8ec970cac871912145156266fd5e1bbd5afee7f36dd34fed54941e556ca1c5520b273755fc7a995b73e244e7350f8fbbe28a1e3c385e7e2d8b2c58deffa86f0da0a700d5724f5482902e4df7f4ecec0c6108fd5e67b3a7cfb93f760850f9cf291a0f2f5a4b97c6f71e7afacfd88387b95156ef3d3ab39809b1430f0e5862594007524ce026060c48719324897bcf2e8b919d4b035ccb67666f997f352fad4c516b8bfcbfb145a794f79df9093ac8b84c74a41d32cccfecbe2b89e410b677e34471c3c4e639ecc7943384959595959595951a1d3f37f9ee32d61d885c462ff223bb773b84f2d92363de3de7902152e023233ff39ceffedbcc4f547239e7649e2b5b00de043beb43c52e792fce7fcc3fd98538cf60bf76dd4384b416d1733bd372516f4d071548301dee647ece95a0f7ba431bde734f34e5e04e54eb53005cc78279036b6a9430d29038f669336d867da6680613b0e6043c653e1b7c0bdf836fe168da36f2e7ebbcba4f53b8892fff8a0cd4fcb4e615459fa3f854616009855d5143b1e9468c4c2456e45c61c45d11812294600c463002a6514aab826a556b2824a5056a8dd7b3e813d55ea886aa1028140a854015866b74110402f500ab0cb36ecfe0e5a58a2af332a965cb2967943de38c327e77cb17dfeede283bf65b183767f79c3266cad9b3a7eceea6339390b6090806640e67261fbe862f5f7479f7a18292b96949a753d485f4f65899bd591e076b8db145e7e284f10ef748d910c247c5e4e354a4cf0d93b7a43e24f22d794b1e12951759489fb66e06b4bd5dce8ab2d8a2d64b6eb77f32e568531717bbf77a1651fba080fee2c5b725fe62861ce86b7f554979c7562a08f6c67f12b67fe17125d2a921f999cd26563ec545cd12471a13d305e6d077e17b08593674f150f442890b6b4cb4232eb06664056b4da8382c498c8f589296176149583ee55bd6522bcb75c1c866e4874221907b88dfc990c34802039435ff199094a0177eff5eeadcccb216d0f4f1a47efdeaee3edd7b104275e9cefe2ea0ad2dbd7e1218d9ae0b1ae8f63d7b7e0a9d7438903335d9c074b31a8881d99ad6f3670596a800c52e2620038bea3b4830143a67f2e98e7c485cce9c9c9fddd5e42fbf335d49b9bb74a74359f29b758df47477295dba74e952ba9492ba6857247d779bfaa4692fa2d24180286576a78c49964d46c137923f4a5fa62475d2d938262b2acfa18a397b129381841e8d77dd5352b20ed704af5332324b7fcabcf254856bbdbcd17de79754ba6477e9f1dda94b2a9f734a0894f5cffaae56cc59fd7d73c6b7eb35d8dcdc2cb199486c9628712498ce0973766e706e7472708e70b4df5530f7e1ef3594bbd7ca5246ea73d29af8d429993266ded511daf24e6e0f8f57e7aa47f7c49de0c8ee58bbbb3bd53e599eea88b53c7eed686f6f07755d11b548459455f54925aa95fbf2501a2372464a1ac5a3fcf08183d32466f442aa955c1fbad323799ea8f0bcab5411a55dd56a77184b095dd6cecaaaa0b72a50adac672dcea8098e8f1f4ea04f4e132143a05831d50887625bc52ccf3e012d0b162fd577bdd5c4b88447bf1e7b7c8fd7e52fba6eccd3dab616a916458b6dab25db914f015120bed81022b363c78edda8156adbc58b15957e41a9a48028e522aea86042286ad4aeaa86443136d55a6cd1869f886db751adb5d69c5824294a404fe747694d8615d5871f55e3248cd8a5765bab694bed1f69d43750d53e86e8ba3bef568dda6dad66b935ff9e73ce27a92894d16c5259b756ebddb4ebaa957f6e2447f94162b34409dc6933516e7472708e880fbf52a3c72c83e85fe2aaa90d99e779a71d691b10edc7805e2d6eb6b9f49bafbb73dfb5d6eaf1f5b581b351acb6e8faf6f6f63abb82402010c8ddf25df76d747ddb3a611d2ae43a75dfe63ed7af218ab81ba13aa729b4cd495b9b744e8b57404ea5d615952abfba580b5445fb8428055a1504aaaa65555505bd8b19c25aa61f1f28b4fdd818823e247e8dc0283fb4ca1d1a29b936fb021288578ec084a646890a3089dbaec084b4dfefbdcd1484702926b1b7db2ad1efc54313620f1b36ec0a613784dd54db5d25966b63dbbd6d97b013bb5dbb977b9bd82656890e3a947adfebb33ed2c649c85d62d66969b606d629a92ac62a56d545a622744dc5fda501593de3d3dd8dd55b4f7d6d12c50d958150562498eae4c4235c0533045d25b60224110880c0e7d98c1c33529020416ab835a9566f162488f3f656e3d34ecbbb486c44b117d9dededeb4ddb951d9defede2e5d7a7323bc3340a4fb9c3bfd6792f4a3c06941fc1a42a555241b27e113149f0f644e3c524805929cc221105539833c081038a9aa86526a88aa7e884fd5add4570f7a2967c540580bced562f7fecca86c24be09c46939c2f9833a48901a84491425048db28729884f3b4148d58a9ef84e2d1fa5e49b28e337d23fd893f4b3911a53a119ca4fbd36cd69774361771565a3ba3ab11f0da6c06ef7f6f6f6766f77776eabb657efda5fbd07abddbf5afe73ba373371f6e63becc499a7f4e6cc3ebaad8f1651d60721d4c9f9f2344dcadf73328e94dd367c3325fba4963fef3b3bb34ca1dbdb6f39203c6ba7210c84b5aeb0929f55bb9555d5af2c5aadadf6ad195f6b3167378b3b1bc567b5783e7422124c23f409a41ca8e44ddec70a283a436500101208c6e2e1709686490a410feb01c4a28ac71bc8c5448130140a410ec218a4003580202000600600644646d80063bdc683acf5a68983af64b64073e23d1688f5401cc9eac1268d8e8f58856222205cf5c8245c85955c577297bb95dc887466041b3385d89b4acfc6ac92ea65ee7104d5a11f3e8faca417420021a88396333da2ccd48952544feaaaba47be961bdacfcc9fdfe5b7b1943c622164f4a2f91e3a6f98f30e6b0ea8811e7641f118f33f65663cbdef20f4a323a8269c397a902e8f092c38018fe803613c3390431f95474326447d9937de31342510fadec38d8e5bb76adb11aa09a0f6e8a90e0fe17beb3f1c312e7c5e3cf663f23772701b89058f33f47a5121de40dabed15d059476c72893c1652d4b8c33c6c8595294693f4acc9a6e08a814a0bf2e8ecb15cfca5f6532d6969fa62ba566d065e9b8ea9651f52bf9df4846fed513c5ddd90415fc8d6ef8641a83e4706e1ecfb292a233d98214ef2f5312e9f10607d2ac198a5539d20f96aec4a8a92a87a635d5fe141579fb601fbd89a6052d60b87a2e67fec561e0610d3f6e4948ba699bd1d116739f55c4587c13e7fc317dbed9b415128ee4421c9c9f1c993b72379415e7c49214477528a87d8ada7494680a7b92e8b4f7c2d167986a45d42f11540d27ec5650a25fdd3e0ce1c8c1127c6f420146bdb2e3b556583eca6e4c31db4165c02d94359b29b88caab0554498eda24c63f3ce8e238ce95069262539de4cc5152f10491e40b39b4304552e8e5eeb990ec34e196bc72934b6ddf05c55f09287a9af65450db458c3ec1c28df970269d6bbd23e45da8fdad901ee6ed428d709157e3d4629723bb514eae099213390c1f2dcb25b349bf3542ad80eed72a04ab400e3466fb64be61682c6189fae244e000dd1e21830ea5340c984f22a0fa089f30a542ddb79eafbba0ded075380768504b075cbd2691b06895b6c9c280ad32b324e43e37a0c5ba8939c9ad7d32e28bcd95aad56583ca7ee557800abe8b9a8e646ced4dd4280af5e754453ce52b721cb6b6c33abba8ea82981a5b22123959058ec861feb9e12dc5d2793ec428486cd7cd4effd472a86d7dbaca1a7c1876be9d547d4d80009cbe39a5fb7055f47ebf0a4b9021e814d4382c18a42a76664be355e36e4c8c6456dc695fd5a8ebcda91334b285039d2f599046ca421801aadcbb365e09ab66f66c7c5e32a09ea81261769e99cad1eb85c3c3068a4fc4a0312d6d1526c0cb1331a7d5dd4624cb9212f298c8978d383428f123a6969e7169bc2560304c6376f7f583d7d3b2d11b1e19fa622ef43a7c0ced6691049308e7bc58027fe15e4e62e4688cb55316a11414eda186979ac67c9fa8ac92c776b93cb3f4ebc5024d7c3e327a12327f231f26691ca4e989736ab94a343f57eeb4582eb160a164382323a0278d1099797f8175525dfb249587c6134b57467c5593c480108d16a1c455bc56e46002c470c16a1e561f0262e3c810778cd507ae2f10f93683027b083fddc39cdb971c584180fe2ca7c05e502cfc1960cd319e661c18345cbda695ada3124fba52023619dcbdcafeb5c73c6182b2645568742e1c055ce742bdb85dcf18922bc2ea7501b83abad0d65143b503e1d0fc0146d8e06ebcb5f6a67e28ccc8b5bd45079468d7c6603d108aee285a218a4a17a3b394982d3b6b0e36e1f3fedf21007c4d57c1b5ef8c894b26648303294b283c6c70bca936a71b7bc6c2cfe4710bc09e1d57ac1b81cbf8c7a791a515905391085acc52e2421a5710ac807d2c86f426175249eb1e2ffcb57c54d039ea221cc32480195d2ccca214eb7d3f59a870d40958810df49d2fa0ba9433911753f6d236211320e4d163711a6aba6e31dda26ccb4fa2bd555d55347a33bd460c51f9738ba0eda72b76c86dde04005c14f46086ad9ee4788b04188ad25d1868ecc972ad727bb15a0799fbb0d59972ca753763fcb63e0c533f92b7f0ad593f0a221d17ac85225d1efdad69579d2de7cba35273fdfd6cbe78ce146e623d826e7f1e6a7d169206c37419124b1c5c1a0c3f81e595f4a115992c09415012c6a9ab2e156b25c28aebac37910c3ce40bae05528104949042e20b31e838f87d43c6e4d3797ea8199b97b57a6b492b2438d8d5c92a06d1fe930e6f4413831ca3baf15c3fcb3942da6fa0091b861ac31d9773e4d91291c0dee7de689c970ea24c5ded1f1b7f49268489200e52ddf6b14f2723e9f74ecad66cef9912421cfce82010724c254179a47c0ad37ce559c555db99283fa52c96947f52719221e995591e4904f3195845cbe2d9a38408ae3f05a12dcae36fec0e193ec12e7a76cc972e23d308a0f70a8fe5dd1d1c6f9ace21f662ac3131eb725386f1db7651d7ecc4db9ed6243e14117720cabdce6b28ba0800ab7c217f0e80817f4f6ee8bf37c6e896ff46e20fa3fa7c4885bf1a074ca64e69cc5f7e246e3d83d1ce6b3f5805492cf19ad18d525e42f02f790f04a53f0defce75b3bedb007b7c55d81ba0063fc10544f46dbc709b7dfb60298665561b18ec53ff027cb4be12de87a587504ed51215704198ee0c6862ce8af94001f6214367d0755d523a35fb8938d44ff9b1c98d9cf9da313c24611d5c0276697f4524593936a2083c24708c56c03acb412795adf07ba920809e7c6c157b72dcc4e55e5257061cca58fde1392e3ca54df0b19283ef53af21b220600907849da1f9fab87c3abeceedd831b475c42078f866bfd15da921110176adb519950d2b35a9457dab1c3b597673af068512a8f63bfbec830ed8be9e4fcc47023efab56b22e92f7919edc90fa4d8808b90896bd0cf81d78149858e8e67659af773babca85101dce73a36816467ed3d2ed9debdec39640182920c983c48be70d7de71fae08353b9aaa2790fbbf8fa59fe739590322ba51230dd7d7a1535a5d9ded4faaa9a7cab8d0ffdb8955c8ab7b070d39a096b0e4a7c1cae0e21fe7358ecf53dcb6c65c7834fc330dee34652743f497e1aa8aa2625846f52e3204290f4e00ea7cd5d1aa8d10b5eb7631626ed03d0ce4e6881d07d946ea26916a0f585583ca4e515aa1cf8370d6c47d24e810a9097292453ce1f55924089a0a393555db26a0e828f9f462b5ca5e2208ff80e862030487edb4ee97edc23e4b94e4351cc3870772c09d0382ef408e0a345c4a3e1dd9162eda3da8efeea1132030cfc0f155fabd1cfe2f5eee7e0f7863ba8f72289f7fe183863eceedc9e6e82035ae6a23e3aa6b71767f030552ad9ef5d1d7e72b02e9847bcdb132457708e9a5b4a9e4378ece8813389cc3f94207836e8f02871e9c512d610f2d8f3bc501e41af31fca2db1c048bfad395c6c5d0f2bdb12968ececf00325640d068fd8d28bfcb3da00cf9aae2d9a160214c373f405414d24dbf6354caab0b43d18cad0b03198620fc71bca5c3a5a1e6b8d010a734e1336cf3051c7df6cbd2b892d96d04ec3b0da5632ee050e644581113c8104d61774f6ace11f2dd411a9adc4209b85fa9ac36ad73c0bac374082e314e3b4ab170a197a3bf03650d0359a6eda0b1c1147d2c6e11a3e551a28171f3caf718831f6ebc3e485cb243c7d56c98ec72216894b2d22747d200b1a2057708a66fa866e82c7dd0a7e85d113b13a6f70015248a9d5609053e7d9d095d9d626e6e231f51f3ed1087cc413333f162f1ade87c5921aaf43c7f23f2dd7e75bc1cf6d31e06b7cba48e7c792df42969abe18128ebe2a22ebef614569ef8cc71eaf30326a9665f1ea152b6762255486e2e4ff2a7fb0d3403694aa3daf756cee55acfdcdfcaa631be969cde92db216f116e871cee83d7b4b522b47ad2a746c9556f6b8533b140072144bf554b910e6ebde0e6007e6f5971f6250eb940de9ce0f8f0888cfd2fae211ff072f2994df51af5435c90eccb089ca0682fa70d47b61d798a1cc8e355c7da2be770965a1b770cd9224e78ac8f206c0421299932d172be4f58d3ed6a5c9131a6bc41b4978d22b966d28ef105aac86bdf9173d4cd994d0d927d7f4447e00159f7325600d69c31caa8e10be1c2db4591ce3216ce3bdbb92d6a75f971944de16b700c115b3873530b200eac1542965e8bbf8288d4f7ed52c225aab073d04b2b69968a214bb91efc302a30bc7c87d19dde2c55a9222d302211b677cc4978ef30ba8e40da4634d4405d15155a074d1c47e5fe5ed340c705928d3f7a638c31a9e9e05dc24963c4f927f783501df48dbb503262e4b45efc5f314cf8741b322f5ed68271a3a6278a2bc603718f058273059c3733a7226b308ba3638604262596882546ec7c40535cb847aca773a370693a3c995a6588b8564927b2c557883b3ea49c898be488a2482b48a451fcc351b1cb3bfff151eea19331161b588b6f02d7e84a25c4e1508b54255312a09c5b1ccd5715ae561086273653d24a8af5a7b02b963412aeb9b0556da94787d188546af3a08b9ce199d29994a0918a0d0725f24664b1d88877eeebc2b44b71e3826dd5b020acc93a375ea954fd0fd6c0776999e183ea111977c0c978cadd09be3a98d9a690aa18e30b086a1122b71337a6cfe4b6b4c887157da85bb09f9a797c774c4f1355b6c6e792f69444de3893d710ee37708ef394828a38861d50f5fc2042c7b191dbee0055ad46434c6e72b6d63a08d9b28c64091b38075c9810ccfd7dae4bfe481173f160e6525cec828482fb70fd972c800e348ce8df81e692ab79c4fdcbd06cacb0a499aca092c4f9a991b158f3f9cc3e10dc672018a854a1e1caeb7f4a52e7d5a0e453050d363901addc4278af0db96f6fed1dcf0c09b3abffceb53be3bfe8df0526dfc08b1483e1891cdb067d4a9afd88a9f710d81ab2a7b965143efc2597256a6ef851a6666295e0324d944835d9694d3e65bb47764da3659a473f001b68c492266e94ef47d84a23fc6bb9fc001091592fdaec68186e68cd634847879eb3e7cd2dc3a32a4fee9cf3216a54a3a8f3a8ee6dec73d06ccd5fb8d155f6640efde591b74b2fab6b741638932078c28dce0ee8ee841bba0a85cae6960b0b067225dcf0bc902c71a34ec8da5e8e5b3c3d2a3011baf81207ca29c624940d476e7bb41bc2430a2a5974a70001188ca2b7bedb43204c2b3d695cd52e95eeed48e7866b86849bd10082247cf4e44cdf4677a2cb46e750c18d3ec5ae40b7315f04f8f45fcf887788189259c11cef033716ae34975b29557ae31e9c1dda076c74350445d2b179c7b2e1b2f318604197c3b28192d0e6df9f16d8505836162108067f268d685d34f151b8cffc03d6882b1bd79cdfc51adac85b7c67bd072b1bfed22eccc9e5d2a4b1904bbf5bf00e82eb8258c9010e89aa9d65be3ec3f3cc9f7b724bc00888544f16ccd41afbd4a405011d5bd43221313db6654320fd420496ab9c9a33466467d712ab1d125d10da54693b24762c45fb9000d6ed0a31d9ff69dbb2660a73f91e939f2336abd51430b245e9bc95dff0feb72aa6bb16782dbe35f336f67e71466df4148331035f0d8dd5c5d97163d1edb35addf4c0eb5a88bdb97d373f5fafc39b510403faf1c2bdf3495cf049f9a1da6362f72dd72b12d2e1fbdf0b1ad0d9493b83c4dc56eca6747fe8c9c65d75bc942ea3ca7c8620715826174600ba5aabc7476523c3e8efe4ced498addd00b9c34482e1e10c17d7061de42260362721e46587b2b3eb0ef6363d3c0d233ba4f369398218b24f76ffa2a67437b5af30c015f408ef25bdbc3466248765a8ae3d02f6c93ae8b2d740f3c6af84c68d7b6feb372eed5b905f0d2d17e916953e7d7580ebf32ebce3c47deb0bf10bc053a517eb51f3b1f991f0c3fcdf9501fd627af97acd81abf12f079b30a4e5e34ceef7586647f25709a8ca0ada8707dd538a1da39d1ad9408f20555cf0baa8e0d31108c031c30674f6e0435bb112628fbd41f3414d5c0362d00596204ce4eb0839f1bd70aaf800b18d8599e8bffcb5566b5c3365b46b395df6cf56025f2d214646c55ac498580d4a8e2a2fbab3ffe004fa408a4a49f2f02194595af48a62b26416fd56158e344341651084aee7b001d1a2a45a1c68832bcd36889c0d5e27c73c0018c8f9968b670f7f04b31f7800289b0c32e0489c40267741bcc222aa4ebf9127e1220443306d173358f50b71bd7c1f98deb2707df385f2d71c151820681fc288399e1a2b503b024810c8cf1b7e0baee9f226fa6441a115224ab9ef9d29e324a35c96b40b24e1b331f3a18d61e5e19d5460d92ffb6b2a283f29f81150cbfeea70e757406630d78b5021b606234bda01dfc7dcdce9be8c107a015357d68a3063198ece74fefb9c921a30fdc0fdce401a515ed61e35a07b916f9947e3a0ed3e426abdfd461ccdf1a33f054e055c7641846a5a273c46503bf5d1f487d4822982727fdcfb5560c54e8aaff7ba852bd6c40a235591d95aed7bd4e743f9410d3a236d92035216f0da89de80cd0e03b428807a3d9c792949d97fdb7c91b244425c389f0ecdabb986f87e45f5baef861e409b6a44c80122549cbb0ae05c7ccfeb1142e6cef64e0d18f5c3884436827324544d26ecf19de198400748ccf12d8170312dd1600743727090ff9213c5232fd921180520fbb1cfc46c4856c839c4ca845d3950ee4b4e34ffcda11adf301327e58843ae249f8924af2e4893ff20d1c1fe7c07f9b17ed140e20fe3fd6cf2248fdcb65c0c7ef971f5d7525b424a3dd47d43ceca5a9ed047ee253d21e39c42c23763fd69e9eaa1fda1cbb68f00d89a02c237c391d73fb4f58c21c4830e568b5bed0edce0bff3369ce4989ce706d6622c75e005f759d5345752290bf7114103b57efa532a69a406839c6f2a6867d351605c338b62019d92466fcdd308484acae064934385e6fefbf3b5e27738312a0eccbce81213d40c0ff3d3d66b7a548464f8005831f77686fe95e902a36c2cfb8737d96139d00546658351edd870584a918092da35f50bbcc19c3e2c457dcc7b8bb667803f7419db5de77b91992cb16708efeb36d33b1a8f7d1023289cc13c0f13f83486115bf14a3e75c78cc7f6a7e0a34f8e7e3d926f75daaac44ab03e913776d62c60b0239519850de7985d821b9ef02888e6a1af2d59654e3a6ce8402d9526422d22693d2d1a3c60dbfa3502b964092159733c3fe546100a0128add70d2c44caabddc6ee22be335c7cbdc610ffc58534d85e78a7fb64f94f94b54e59410520d9b52669df20c1e8fec8a9e1cdd7581c557ba1afe65f128ac07e9bdda49b7908715f653ea481aee5e019e8e8b828268ffb821d7a45645e1900ea3e6c39b8087b4883a6cadb3b91e8d4a3d2a35c56f9be7f37a88a71cdbbf73242cf233e7a3ca63ba844845e3ba57ac7b1d6656a4474225d566d5a8cea812f5286e694503b662d1af23437acbab13e248d758c9e6352734b3e9e964874a1ede8f94dd0f8f646583a37bd3ba632b4ecc98bedfd5fd98d9347d5f8f8ecc35f88a51afdaaaca3ca58c2d778225366872133f3b01cd652d03875aa8c8b9b5d315de58e6456a8caf006f6df37e457ccf3fe247538e948ca747884b1c145df8572f048461887c261285cc491766274b9b5a2e8d48a220237ced081062a9f1d99c9e530e3fd5ed66e5f50d736ced815ff3fb2714606e62d8eaf462ae1e61ffaac7186f7918ca0f8d237834845267c0ab9060462c41af56072748c4bcbdbda4d39dac3aaf16f76886d46db9437e64c6b1d2e9dc149f95a458ba340002a2aa6c772b8ef498ad3c0a8f9a0df523863a856f8ff52bd298032a2674a855cc173150a8d5114b0226314ab1311cef09822181adee05cec75cb7c415e1835d40d60fe92098a317023ce16def5d4e30ed877e25ce8a1e1f83958a2200725df22afa558d357054fd237039662a6ca1d8633e54a16e4f3cda0597a1718295712bcf7df79f3c2a34d1679be956401dc5caa8659ac9f3e452c84fb9363500e6ac52af6f2ad92e7d57a044f658e7bb3473f8e115b72e21dc11c50b701eb01529180960126cfa107d0da106c79dbaa9b4b5f37c3578eadd28306dcedf3a7516b0e5f51942abfa45964d02807b19b9179dada5e986ec6df83e4721784c3765aed87edc2d63798e9549de86644f553ba1a257433c05bf41574336e8c782c353c1c207594d0d63086676fd1d845c3f97210e8d6113d3b4afa8d22e7c837a2defdb6e828c4acb0bc12218d219011d30285f75ac4a03e07c8c9bd10af981cc936b71928c93251994d7f9b11b581a1b5df66dc19bfcd38d09d90119a99ef1c0868bacd880039e521cbc226743842a2817e2e60704f34b5c976f041b5cc80c252beb34857178981261161f4c844553287e7e26c220219015f2b9acd38f958a1bbad5b58d1632d5c24f369aa46b19e97a479fe0f1d9fc2661cae7627a1777c9a13c0e926c2f5a2d1bd6217dd1b48cb11b766884e8ab24073eb87d6505d4aae7fd4465198461208352cdf1c50e3f9d8d1dc5a6c80de8034d91b383345c61de4290afe33c6155431b53e3053111f47aa335e94cf7725d08eee3ac6b56e08b8e2a10e990ddd7dfb7b2bff369c18627ace0a1896ae0ba338601c6d20cc38f4219c2bcd58a3b534638149b2844481607e9666742b224b33ba521e4b33624a4425e3c85d6846b379f3c0df803a96388560c59225a768a6572c010f850d770a18b1c3e42af5020a267446b96eebe5cbbd4b8c28bb83a245b326c39671c8782c7e36600cea13c8726093b482c48aa22e22320ccdea8d1738997ae00d858de0e3a134704240f0a6db172f1e823711ef003c0995996b13cfd55f0e325768d72e2d9ae0f9607019e6f2bb27758a02f986b591e8f4ef8b3e9a02335f2e8282d1f775ad0651f086aa7d46a34b2f44025040ce45b6d654ff90603f6bb2489bb3cf05bb2c2b82cf13f605b3c147134866d84b8462c09e260d7b59d3eac746583fa8dd59d3520e67daec388b86c35edec9c31cf612491e580103e9cb06472db6c7c35eb42ae472a05809346a7e2ce079a5b6f29f66d819a9b374e896e683db9fdea5eae4b5acf57f0221221abeedc2886e7f6267c4f08516b45087a02dd0589b77a773b3a30c035af168d39dd1f2d3dd42463a3fbbfc2cb2c91226417c640aaddbacb9955b0300098975197ba5b0e460af24e0d1f789525c0cdbbf2bf5fd245738e7db04b41ed852b77e9aa09449f6821a1883dbcfcd48c95edcd4a996f8ed4d3397ece547396a2a2e62564c2e4598ecc5a6fc7a93bdc45e5cc5c43a5e64f5828b8ea9d2377a845c31b3a86d91d3aeb4c5fe9ff1433821508af2917a01aa94bfbbf4ee1ec80985d0f801d75f7a5924d9398012e233f14f12da8b4e99c11e5a2df1fbe705898ef290672f3a4ac53c363e4b49b93fd8d1375a79a57e4f0d423ae6c9e2937d26bca8b397deb921b64e971f4a10136e3f8c4e19e0c10cdca5907fef25cf459a9cdfa7739da57e295c0c02e897f55c2d9ea06b6860b4c628d17d7cd5490deb22be886f0f76e7665e6d2dbb909231101e226ded444e6c968361428441c388aedf4a33976dfd3a1892a1349373d5a98631e1c259f7521135f88c3225e81a5b1862528eef27b2876c20d4da5cc5f39c2d0caab99566cb2e5770a8632b7e2b005fe3563743ca24a95d624dfb65915d2536e0f650d6864b963068e76e7b4d84a6e6cd061962c4f0dd7ff1d7b90cf8945512b2996b58ee4541142c030446e3aef3eeb4d22ad597b4887349dd88ca70903b1ff1c5b5aa908fff3e8886c3d02fe4f0dbc04081076535d25a3ae28095e65e870ed7d3569dc0391a11ddf0727aee5b56c9f30943422786ad76e9a9ce59ca8ce7767b48c2d4a49c17fc18921d570841a18ea4078e118346fdc473a5025fb5b3c6ec26be75884251c476d2d5fcad4eef79ba074b608d385af080f6cfa0bd825b30ab8af63007a3707b38a38d426ca6608d6723770089a7cc112ee4b9164a5d31079a7cf61c609a42549f4ec47bb90791a0efe97f2ed582a132ed087d80b89a6df4db94421cdfc66058ac9ef517cb11de22dd5932876bc59d7c6d1ee5409b340602244d3806c2cc61c59ce40c95f8247b9deb71534fa89a32c78593e60e28a9656d90fc4a7ed22667bb8bb02006317a41c2f995a54ad42612989809066cad55bd42ce029300f06f21c4ee47590081f7e51744653689f95abd23e3afce2784ca7d42645016a59e53f9c61b5b2325e49709a286a2c37b53947c14c81863e75da797443834084337b71003dac0d0ef55066156687d34f40842691499bee6fcf402ab4f9a02f9ffaf02894f8f5d2ae25834742ef79120e4258925d5af4e1674ab6e8aeb53b152e3c49baac31afdd65996edb93eb4acca0aecb808ac14fdc617c1006599f322e12e4e108de54c3b0a107e103de0943ceb312c53c625c0578d2b4b18c696caa8a9430acbdae870cd6056d3819b9c05f5abcc786fa04b98fccec9bab1444a20f57d11581b48bd2e062dc62c6315faed8cdf00af217a0496c3413d850695d5b349efe0aa2721412e5d68837916784bf50288a6f9492bddb4cc18cfa97a1c34eb0b0ea3e7660dab1ece7e38ca7421a3abe476186a45c9fa11cb98ad08ebafb1f39a51206d742dc4e2259be36a333f9a2a47a06141b4a7aae66a09270759c59583087d854a8c6694e9a04699b6c234aef8c82789e7203f613ac99120cbdd143ef94d4fcfb9e05bf7dabf21c887c11deff2832dbdcfe0b79be681138ab184d66a1645c26e43ccd2899c7554aed8cc170ff43638440a9cc05a31b51f5119424f40bb0ef12d731843c508fb01b8c16f4b60f0b17f27b5954fcdbfc93b1e30ec8127a183faddd850e29665084947c4f112881078da36f569094ba0b4115fdacd489354921668e44932cb9a7294c8f251da2821a53d6c1f8b2429359dde144ac9fe130b1505c1c58af78be78d0d70994177c321cc82b5d76dd32c229640e83e951e046898266dfd117897864d375e2c4531bb45b720260efb10144f4fef03f644b11c922e480a0847fdda773814c915c348d1686772160e6de0e921eee270ed8cff42e2607bce9b3d450f5ae31346e7198cbcce1ab8513fa59b53ddd8d76516fb70530bf109e975e6fd8d2951bff048cc6a5fb2e6fc29b6bf5dd62079f5bb57135881a10529f2bce0303a24fbd7fd3899d5aa297da72c8259c0e723aa362514c4c75a2d202344fc4b231ce226cd30cb2592001379e66330bfe6b12986d890e7344ead79c416820dd279f0cba2df07b0e36ab7b0c5f1457c026420b73752e477f08a61527476521d7bfad8c6f525fb1a3733a88a9bf2af8f907479c94e39823f0fbd4e514332ae4fb8091ad3253a5c5d4333f8d65cf87849403ca4e2c31520ee98810ff49fa9ff9ffa55577b731277f23053868a8cc83dfa9aebeec1bb8a66b1cc65581f7f133ed7c71143deb71a6d8993e30e0e612ba795918bf3c0c83be3963212e6830399705a81b221136d68ee006f6a7226b87e8f434a8c1c7d237f39bf91f120be317d6f693b51ae88480b125599b68b8aee43a88950ec2dd1ad3850c75fc618fafcb2feee62ef2854b120961d51175a795899638c4bf3c5daeb01a6c550472ee993811869c1a9d743993e5cde2c776ab8f346de66bf4c94c05d01843239c6e3b9fdcf4e92df904fd8d28e04a8eb0af85e46b9fcbad957b666af1878400f338e5e26255e713c709e1ab9b91a73db781f102ec270564ffcf25268e4bf6d49ef31646d098af8e0d07c807e90e52f227ce199d9a42178fd3dd3e09c5f146d8e449f18a1486c67dd434fbce5f4f4b681a439c33ea00485e8f2c4dbda81cd38cf1f6c331581384bde13f03c22957b6a56949996a142ca27699848df0e974fd1564e1847edd701a58a345bdc408bb592376415866cd65b66dbddb7932c8229f1e2dcbbd4fdba35a056944389886c7a86d68835753460e34c4caa8e80b31b37bdf4a659d72fd74d0db41dc3f7ed9afa30e4503e56a8446d88db7b29f610553c83799880c09bb6d2de1f45024097b2ca5befabc37e42e835c62e113e6f50d7778052f6530ee5cee7321b13cbc1859b778a6e46783bf7111f156d1ab59e283fb3f0475fce6374fddd69c5c13437e15ecb7f093df139468ff272d1ddbd214a744e7c06229edc6b8b5fca4a2bb312d650c4074f19361af3a8c441894f90110f3a71c07789c99b61a2c5039d3db3204c15e4a0b8eae7894e45b35c04037d3c64d5b2d5d4daf078c4073573579e6773276c465bcedd18c742e068368d3ae74a92ea8ccd1d6d44c24dc55dc286340918044d5c285d4cc2f0b2741df2408c47c93f42da0c1b8f94f8977ac6333b2674f5a01b2adcb1e9551488d375eec9bb810a2f977f676da430ecc3800fd0b9e1de0c9df504577a0dce0b4bf7cbb660fee6863538ae79c192d872a4160ef07d71a6b341646bc2a08120c19159da5f4d33c58a2fb19d62e1121dcc1c64c5db6f5051b5f3d7eb1a60174f9f0e3c0a84427d412ba9008aa32dc4bb0f5ea2019f454d943f7e68defe51400e5f5f4709d635a8578a42b3c3587407e7d6138ebea47333f3d34af98924c7984a6bf0c617a647bf45c1e6d0b94dacae39d490489752cf898b9feaa621a72cad417daccdb7b135b93a898fb12527dd76ca133c95bd1d0167096c0d1ffd82d4aa343314e057a29f994e1b2d0d0384d1573028aaaf1e3904cadb9caad8b709952d57c12d508d95a0e10ea1b17fac286e7299e66624fa581bc8b289d9c83dcb5603b14139a83aaae01079b9ee1afdb2c01cf72859c61ca3804328ac8b0aff37e9ca886265733a104d4b66b2e0f85d022d9b88714c5977c38dc5e1da14bea010e4426a76ff9a1757772c943173c467e309f989f6ac0f1f1dcc285636b05c6e76239db2d7fa09a44c18a5261afc1a19e13363adfd67fb1ab8ad801e0e4b28855c3bfac3e981d02a67f738586bf7a6807ca02b5b69a23183c2328fafabde1a10c23fc6e0d00b7873d9a1d255b3b487a7ddad7498ec5bf8493552e62945ddd43a90df6316af6b79d607132dfb06e5897577d9608585d9907530363d42cb9d53ef0524835e1dd8e9524bca9703d10781c4416af5db4d36c145f598d2541a7425a686b750e97a16d0e9c37f9f8d83d901f199b3513962f7bc12ca7aa009f3f8e3c83da9eb4ff4a5a24e360082eff42b5cea391731d6ff992000690bcb3feb5433687ef1c6fe7562e05c27eeb55fb3bf4c280d23aa8aaaac529fcdbc3f1335393485bfc4747ab81c439457fd1918b1b9352488a734aa190c255c90a592fd1fe79154da288fe3c9dccdcbe34ba851e1e13e8ce8c8656f1da3894b15ba1bbec1318a41cf199e032de581af69c2e4b25fd0c43dde3403563286f51f2a35f648367bab455ffc596ef30d3a8e8c72b485692e4f92116c707ab5f9abe9cab2799ec96c8fc6cbfa90500589c6942f4b4bd52868130eda2683cbc3b7dd938116ff73115a2a08d0e85e114a0d83b026a0496b0cc212529ac9208c735f79ca88fc538cb9094f6dc060376d7ad5b85c1e038453400350759adf7be70fb6885e9e92a238416b7a7e61b6eaf7eea179d8de00e1fed7f73e746fac0d0a93810d91462ae22b889027f8fd2fdf1b86c9da55f8657b93332e918beb2e2c47c1078ac52ad70eef6bbe7291268611b673a6f0a46698529e12ee93d156d32a0f14f831ecbca3c94a3cdb0ddf21bbbe0a5a638bddaa8b80a711ad22b713e5f6337c7de0221386f189c677cf95d69a74edbc549431fd1142ebbb94f4e71ad8ff14bafea2eba43768218f11e5e0d792cd1913185a8d0df042f9981c517e7b208b7303d9ce2313d4322fd1c3504617adebfda08a52134aeb61335455e699e0b0529ad08a144028a777947a8d2de553e5132c56ac4365198e2fb5e6feb7d6627c6d97274f94ffeed730ae5206aaade9b3135b2f2574b3a4d206b438d0ab972215d290cdcd61805a13e8f01129866b3b35d204200fb91e1d0cf4625f077678ec18e5a61d645f0dd2b0475dee12c3dbce99b0c796b57f719e3695028ba8e1e51fd6cf311e96f0382f9cff10cb6cde92affd3947f354178323485fa313d8d8b32cfa1cd9864dd615a0287d5a79eed3f4d1d59765ab8db4c3ec4a860268c6808bed53ab471e2fae8937a3d3fdf0a88abe9dd9604faf44940dd7c4d93ba77398012d63e8b456caa73537784a28334ee7b7d18a5dbb87316f8425bb18015d31be9ce864788435cf598681becac9ac8b72919aa22848d327dd3aa31a4f7e92879304145af97f758d9bd727f82c81129e335f3c12c275a192dc5f30b190d37b09d2ca10978516f5a48d9a75e79f3d5042a4da8ef546bf2ab92acd6c576d35130302a2f719533131aee6e2caa0a3b5dbaa8a0fb1669a88da873da3c3f3fb56e2ce6dc3cf5d4563cfa4819363ecb7cf5fc0b97050c4cda1858c232e480c8dd05214783c8c6469064ca553ab8542d82f9fa46fcaafa1f196b98e4fb5616c6a73d7f6302effaa88d181cdfffe21f00e5d015ff8b1d0f0f1bc645c58b175107934e0063527885475a81e09039c59168854cc6ef0fb1bd6ca0101dcb938a20d2671caa3d0f39335ef2d0e276b612953c593a3c79222a771cefa6988eeacc7ceeb81d41fc7f1b2df112c0c6fb0122333b3d906d782123df74c3dfc4d18cb033dc0d3d9c93b7468add2c70f1f987c13ca96ebe3398f64e0a9cc66941249965057bcb46e60abecd7bc28b166e2380ecf2dcda7ad5c8e89b5658f29b2e9023fc3536db7c573a6c02985a701cb9e79396f3ae381e7c6c1d0e92010ca76962456246fa11fa8c3815d503c3394bb77b1ee6ec4ce057586226f41b72bfe9310378d9a5e4f058db0dbc0c92646b46831da20864030ae7898e8e19d453b37fe6efe105e666334a27379c2a911e5da69af57e45b5bbacc4431c768257ae0d5040659270c7c5cc1bc198c390cd0b817c9c52f8244a2616411b8e0decd341d4c0db2d5c24e444f7f891657e04c51e3b021baf955cd43a17988b5d135ab3b9ac037d99ba0711dbb04d203760d0ad9e9f7f59ad5d9376bcf1e55c55ff138149051d9fef5803ca8a904bb2ab8c7a51a34161267dc55135db49eaf6a1d0936b3db393660efe06a652e8306454d4540ba75ac79e747cf9a62a8ea15b1d86b30883b9af9b94633ed4e18751db473017128ae013027ee9b41691ece68bba43e66ecad2df221c257ee43f4c66c98f9a0a2bab9874ca8d5f46031c3524c1c8ab48768175818aff0c857ec99e650db9b4831e2bbc20936e330bde78d472007c17bc106ee947737bf1dc75cabb6aa99d5f69316752353128ed60846a9be867ab3202237fc573c99d007e41e055d0954dd3379e9ee198795984ace409f1da2b95e9f9d3254def167ff4d62c711afe86416da79a2c541ff0aed7cbc1ae63cbd9ec9dc30450febbf51060c7e0f62bb5483cc22d473dc5da0797387fd55997a083e7803de6fcf0416dcb0c55f7922f719b6a066a80c2221ff7b10157ae936b6f8532d5fff1dc3375d5e4c4df98e88226792dfe13217b7adc9a6c144c29bc5a07e5d155de737fb39b6ea10919392b7a02108df0de53f7a88066834858d6a87e707e1b0fad0510eef7fa8a4a825a389a864d0923c44c81272101a42d5065112552412e38e61b607de11ffb72f9696b5eb909cde84b72efb6d69a9acae25c6a902a28d3fa0fbe2a57aabe23be812bf70b24585d0aa5b48ded34e7cd9351ad55e6c8c8a13c3b2dde3635d1f033af99b81eb95f7ca3f6d8bd11ddc16a3db6901eec9f2c9c55419821465c693c163eb6bf0c9d2a6fd67b17ea0f2044dcff39ae7187cd9b1390b7965da09d29864d695c645b0890ab12df51ddf2236c9443ecce863472486082d945b30c6227004c05164ee17b4910505d896cf6b8a32ff7000de2b3f6aa7204a3ca5305736453f07ac5ca9955a7855b03cd9309605d81efd58f290e1c40890246ade62623b89ee9d8acc9722e911ba7a0a1940d22097ab580cabee5b6865e2b6207c37d5f63c21e08d35be3c7b2578c674a0d974d0c960e823ea8c5b5e217a41f8302a4f857b32c49998fefcebdd4eec732f90a2ddcf81cbf531a580f2f781c25c648c5cad0ce945bf286a22ccd321ea427fb3d8b8a9fef1efe53bb6f6e262bfa4c5877adbbd7c6eef8591b92f97cedad6201817e126e387dfe3a84febcc4810b63952cfc37c61308a382ace3d62cfd997bb817bde7942973c4ed81112fbf57e80bc4f1b1a528e215f5e8508b913edc2def75e569921be9c2fadb223f305179f3c0ad44613db629ee1d02fd44e7517f8812d413cd25efc587426b6ada4443bc3c8040ffafb20376c19d5c022b62dcb1c155af1d938625bd3eb410d9070de378f408dd886e4deb4de5bc79e882dc033c3b16d76fdf6f9564b470a43a8a506d87b4dc0743c641b304f77dc2919da87d7ae9c1e1080e1d6e9239ed21c1c92457a56ca18d86236ca8a3e0f53085d4c37dacd1e9354e12de186c514df2039ffd80a86f889b56c697b86b0248f10368d0f1c566e8d2bec57ebb8f325d619c0d241393b8e53cc644518e79d50ba2e63c149b524cfe8a6b4178ca4f61d35bfb669372166ced9d64ff20902cb5de9fb09905e7d976d59d85fd248aca96a1dc4cd4b47392977ba549e089d419b0d2476b2bc598418a1070a3106f529c976adcb9e009eb6eca8d9e5dad22524ab2cbaa2dcaa9ad0bcb0fb5f15f40a95b55e19df8b1fd0fa6c1287b2d030fd2a99923a4823b29fc8b34e9aff9ea9a8600da24419e75a9a649223e509d6287026ec672975aa6965658099a3ef502ffc03d0b4f5917652c68fdd934c9de9ca918a3783dadf6b5da41343d3947fa6202a01502bd830e1f1b7d8c1d2690a362c7486ec586ff26c27b275792b9e9e2a9b5b51b6a2a3d285b26f8902bc171b54041ff9022dace47326196d999e3541e316d81075d8628cfde1004a234a2f143bb317a436d648d8653bf8c797153072e73dec23977d305b5c3cfbb2f60a5769cb3b188303513278ce6a54d9177c76c7046a9c34b039cbfe9ede34561dfc21f79aa967bd210a34aaa70599a0bcab1abce3659f653667ab529c0560fa8f92ac7a7b669751a1d066bb543fdea587953a1a80349c9ed8600ef5dc96529edeef561be0ae66397205440d3e3a4ff2a8cb69328d3dde57a34e2ca012e4e70e03a0eef5a6dc62864f2e3ab9da2f45e119e029a9966ec526116613f4133f52571e6431de93e9cda6f85a1fc55cbd41126e3ea720e6f4a94335c757b2e3790ea4ed10b5859447846bfa427296b0ed2c1123c25f555b1d019d3db8ff8e34d40ec4423beffc80e1827c6d230c47601395aca2cf13c0b6fe2c5090861a6af5819b11c241ae31899948eb36e5d92c3067375a95b88fd6a9d63a87c5fc25298440e62996929b8c53a9b6e8dcfb140b03e0894e412460ef62113e6cbc45ec51d63a00913bbb43279138b42196314d59999f049b3f319e102aa843b987cd002511ed58baa03bceb5379e69103f3ca7656bd3bb933cd4e3b8e33a606bae5af6701b1ea363651784aec7bf595de0d79473b9a136a1e20bd28c49877d6ebe946f477d2257d7deeeeaca4ee35874b4d2aa1de12b9dafce0f15d07c3ad436a8cd5638a74d22657442dfe531d9c9d16151fa0c990d2a7acc60c7e2ae447697839e3966fdf72deade2d223b4dae288deaa48159369dcdf6323a01af6bbb95e2b6068fe7a1f48302c45c50e9c9eb2ed8c9ca7c3685bb1b6c0cd606b2d45fc10d5e0e217d50483d75b90db5ad2538ce965f767f3ae978d755675e23e0b8fe011bbb72daddb0f41e79e924dad041f12ec0b63a2ec8cfabef9a7d62f3320b5e3fd80fbaf4af02fe46b52c759272feb36c7eba710efec4ffd8debe8b9fa2a8aa90e7f62d23a8bed38bef3e290d60aad3477be6295ee3a697c25c208776f04f88233c3a86f18492ae48ec57f380e94e692c0204695d4cd0597e42f3694ac2c7296e4b9b2cf7345ea8dfcaa432727612fe9fd0c1b94f2c377eb04201603731fb2d35484e99a7313a0eaa4f073f988e4ad8e01ec60883843f7602241b0c3b9d9f43e4f483ebd413a08b4ac3e72ce7dbf887785fd17bbaf0356a4c3310a35e4e9b8a771ed5a45a12e8e84501fb46ff136e1e8a0b7c3af2ea46b1d737a81576cbe28b7760c1d5f323744310137f14d0071e2d3209cce0d93b45a81f456f1df9d15f82dd8e1d4a795f378c9fd9c39d09cf675307974d375e81f6c32672a4f436a93792a6e97e3f9a08c4b850920d98ba3699a5a99162a74a6c26d2dde9e82aa9132edc90bf3bcb47463be12d24da38aca796471429b06c981e5d020cc47481a9dbb9d13cf986502efbe9b1557755fb7b53af8458c54e01469702572b299aa0932fccb5e19b51e21bf8fcb9963fad3eb13ea7d6bb46b147aa50103ac8fcc6007426b348362d04ce3b5d22a895060c96b28205539d7544c6fdf21fd179addd501d1908aa50e182877de7629ab167c2ea985a2c90913265b8302f7df690ceea0474673b0604769fe178b257973b8a3424bf615e8511b58d1a936a792e063692049283afb240f32ed5254a086f3380701cf909ad9f42bf58d882e9ea2e3202764f01198b01298d9e3b489fd6e7e5e5ed9bb37c87e2713f5cfd7453cf8879a2cac97403d9ec49a59b01718aa4c6652b17226c59f9b49695a96c81c962ca520199c8c5a7b7e2c4c65d809c256cc5b6c97813def7111f098a0acd38b4160773269c25e99402209bca3af0e8457d81e747d6de8fffc67602fbfe41e79a07073eea7c28161c16e056512a0181223dfa420bb8287cad7f1b838286ec9c72132b647cbe0149ebaec18a8f9aa190b1712f54db9848c9c1c2b3692516b254ae56347c854b61ca981905de0c68c1faa5b83af263ca61a7289d6a5b07109108062c9f40a254c285229dfd7ea2ef84e82560725bb96d5a6d0c5dae8bc5dd90e35dffb043f601bf70c6209cc78d8b4280632650f6de390e6585b875ff940aa0b773a8ebf7a990256dbd3cdbd0a91a3b926158700b8a44593190fdc88291651cec5359c2a6792bfe37a92c5bada7fa31c79051b5f43420ba5dfbc12e49b9c9bb9d62748728ff138343a2e0522c5f5b28efb2d1b463a125ea6fa481e3674a4b8ecde11d45599d9581f6c5ec594d3e6e4198b3886b5b07681534027bf4526bff0b58b9107b6290e5b4512e5183e2717a80838da3c2b8b761955338ec5cb9c04844ddd49ceee49c97f6179f46aa09ce42472418a63940383f8944c427058fae05b0127dfb463c7303b3d064e91f1986434466ff86d3af0462832acc33c45b247d6ef8387e5fdcb5e3129a94dfd52f00f5549d3874585c7e74fbd0b2bb5601a0a1835f904f33604dd267c27d563558468b8c9e5a54aa3df7a24cb3f180a3640d8f8dbd90fda583bab9e9487386cc48c80d384591e90c8af5dd14c9f765294f59a2c463421a59a312cda24f212099a8f838e1cbe09f9995fdd1daec690baf2c15d27ab436b3dec240632b46e7b3c9c4e4c68ea6c7c2845fb6320511d6455c501792fe446109fc11787f3901020869a9929d1bb1f72ac34e53b39f922b6dc5e9d40b2d4196c3b805f297d8aa327fb790e3295f43f55546b96b18b28202d770b75b8b08c8cbb86c8c35bd759bef6b22d936032a06e7ff8fa36d139ef16249ee8cd9380dcc558c5b852116a1f3c33e0c9080f190e5a7eda1426e8234262dd06078207e84e4272bda6e52e9b8565bf77a426c3b55a6444a776312037a39860139b8d95cddbdff299034aef4f7473643c4e2f44ce494662b82175df5c40aa49b2e55c36155ebb4e4800fe317066efc4cb75d5c76e1eb126d325a757726c3828e0f9b2b4203219f06078f9cbe7c074ce3b882587303e896ff81c4a0f599e95dda3d32a38506563457464a19dd6261306f287392135b54ea70025d9c0218cac29d87e32e47afe9502eaea9989f443cde4fa3a878089c462f7d0e18c6b470086dcb4728847eb0072259658f199a8d44a187defd4c5030e5b8ecc7b21eec574f0bad16860b4ce3a34606cfde8c95514203dcc73e4ab1146d9974ee8e26dae4f002c21f11eb131295ad11c8edf6c161060f26e42d38e41c29eba32aab58e9214ffda1c170484f493ab4403b9a920c5541884f1b162bfead42cee9de2a197ab86158f8ad68ed8a012f98961a125fa4c604b5ec58c23d0d7089f1e2b2bee51b727bdb66d62112bab2228ec90a139f3ddfbc57201e07cbd5c011214e23e246b0bb8c618e5788dbd27518880a77d07f784f5e80abc2c581b76c47b22187d290fa58392e669d140af518ac9a88f88f32a2d2553508c329fe1a8f2e42f6440b9840d19cfab7240d7335ba8c8bca1c1dff9d0ebbbd474422a5148d1e42cc0bb9d3b41617b117e4e2701b52f0289ff173a2244b3ca0c383908332f44159cda8f1479be23b2ed2bde118dcc2f6d9a31001f8ed6e32882508c7172fd821ee2ceda9d61c7b611af501a4e2d3ad4cdefd34cb9a431570fc0c388d4451483e47b5467bc00c463c615e74240b9c19d21c9713cf537116d1b2a66b3ad52fd227c3d107a410881786172f48673a91aca990618ef003f4934818686028c4f80f0cff3f445e11cb3e834b29fa55c8385a3b5bef3502998cdc71d61d3e3031e742af5a46afff950aa05dbbfdb1c0ebb1a9e9136e2ea54cf025fcd8d8694493b7835ce88d6c1b95e2e80f1e8c3a39c56fb4f2ead827b9ca91ecb2ce18f6e6a7539016dc607dfb6f94fcf813baa0fd5f6d1c95d1c208cc3594dcbc0f4d85cf560b35f8f4eff4bf85ab9021d8a7e0d6187bc9ddc0a241edfa35217e6701c6ec78a08521f7250de6576d81e8b471a4dcdaf34ffe9066256d7ef10d4168ddbef41bdc32fe2912447155add6841b42b9d827c7a6ee85fdbe055d607264726925d8618fa553a075c3a26fba4eca21512e9f0a1341036ba361da051221d48cfde64bb76aba627814e3968c9d6369eda8300071bac26ea5ec76d18a6e716590fa49177cf6572595614ac08eff744d27e4e814f0ee3ae5ce39abc37d721d2e258e774e9fda1e8fc77b6ccb87970a5843c45d863b769d06f84d59e1fc48b5292a2f8cbe3841963867f2378601347ad5142157fd7dcaf6669e6e06450d2818380437080354a2a56739f0a9f7276497b894a8faee89c2893c423d76ff7ce992411b2a5e6364692702f0f9027da169b801870ca40923e4026827797c0ac3ce19d33ff30554afceb762f0ee0eb5bb961350d0aaf34563140d37a10da9b2cfe8ddcd995d010bb729567da606100a5e339b0b726683629eda4700745b830e250cb7607139caa608cadcfab481659b3e0eb4c00866e28cdf3629e87c17d04e03b0673a1bd1b5157bea5fb93fc77f43dfa0805b402b3a46a410671890c3a40dacc0c736c3213537dee29dd54ce37930c3eb2b412d23ceab3d4b5c98efbc9ab13a5942702bbe2f2f735ff6afbb92e7ed987cbcea2c0cdcd20cb8b24b4554dd35242278323b2a03155f41b168d65a1df21e765f92ad17ba517afe29fbf4cb04ea7338227030cd55dbf6e796779202469d333392a7f21f21c75369c73f1028e1b5fd8d7ad1dde33e47b2c075b639cffc156e8a378d87990144c3eb059d19ee195b2bc180621b56518e15c3753ba2b797734be8b20e353dc9dfb322e7f40888e412abfa2ef1346d1aa30bf5c322be896ae96e5868df7564af0478baeed9abef86857ad99717fd93fabe87f39c846b3b7b5849a1e6bfe12a17d85c84a15318309151c4c947931b5330c0a5b013c1b541260a4e0d5a0c0ca504ffc88ae766148706668563cee2fbcdd14ad5304ae3fed7cfda373bd82545e6f6cbc1194e44d49db8f64b8e60f7fc09e03183f6e58ff1dbfc5d1ff249921b9a138c04c7b970c1870a75e684c405b2a91378f4ded096f78e6af1b16d14423eaa814132c499b22fcefd2e9787a5f9a5a9cc080e78a4484d70c20de567e4304d6536c6a1b67c988477d24aa3d5d2b8c3dc36c5565f22bc3c90611ab94db02c1865b88a6513394820271063104082dade6d18836f2b58668634aa47690bd3427304e28f3842b8e6cdd85d2f8f45267be2c67f886508eee35488bbf20f2610f76974001f01495969cd21fe5a051217e046e8df676a4d5ad2a9afc81eaf21ab23a83b1323efaae34e8d6fd9e2a525775157faccd775728f9252c363ed34a7d231ce86088cbbc50f1089a99755d0c7633879e8db1dad20eb01ec0a04963881bdd144815bd893e8c2b4160e1c2cd3ca7a9b2088bab969ae951a24256443d427c61c2ab4582ae46cd0e66bbf55bc700e6b5f688fadae96734fd08781264aa434904b8c24550783a094043ca8911c5274e9a5a485a868bf1086f13e2ab85e67b7b418e0a5715f822a2d4da888d048f2f673ab31c327ccdabe8896e373f3d0994ced981848d15b2cc0a45e78a36aa4fb1c711c4f9ff4481df4ac483249ccd1dbd15b26ee14e5d31e4e1fdef895535c6c7f9ce4423a14793f4e29a152e8a9a390b8ca4777166a8776006556c57310a65c79c7003d6b9f9a0d9ad2ff1183c5f3e7d5ca541ccaaeebc3df63469b514a7904d45c7104ef3655c0511a57ab24bb505f72728145cf921905d41b57789f4fa531feafa23b73ff6c4f2d01c3b12e40efb9a7f86506e50db065aaa11a7c50220a851ec2771ab9420c511cc2915b4c3626b6a8767d6937fa639d4701b7f408cb032bf031921d53c180c14d4544abb5560a7118e12322e78b259b449549e4617125d1ab8cb2aff5788b2fc289c502569a885e16cf74132da114001a12409b5f579d55b4cfeca72030120c20f6fe4ab6c58d8361eae220730700af9bb750a99225ac8e88a6790386d0d8b3f230842305d7f684b3b4a2f93cddf47212192299bc82bbc53f77f4955ff17ae1aa6904748210a2453d262f11b519ae09fdb220c00ae13f705635768afef6f255135087d95e33fd1d8ba40ed959b5c78bb5c8b7df792c1da6d399ace33eecfc68a84729a1ae655f9cc733bb480137b8a971a00e587623b3842306b1b3762a6ef92985f576be5a5835924ab0249007980459cf47464d26c85040d90b121759038c91c1201a5e461db0c065e0579e2ad863aae0051c84206606fe47b074904fd83700ede213acbc0ecc637377ca8a8758ae7a0eb19eaddc1dc753e7fac7a3d1615209417fac1b95492070151ca72c202692e28012fdc4c72604b77653938f34e5a17c5d2a42d456fc3750a942d90d0b28632f7523a66d9e872586b339249612a6038466b33a60cde3ca3f583756f001e14d90283fb2b8f4dd887774726425ab9019e25fa3f7f2d334f1b52a9287ad0bb8ab192ec8a81edb7119558196804ea01281ac07a1048ff863ac674d193eea8e7eadcfdc421b8d55d06f14e8bd99866d66a2b470ffe229f5a45e8943e7b7c7706818a3b9174debb74250d6642ce3a281e7b5538a8f5dbe1ed798d852a2cbe2c9b89bed18a53a71e39ef5ed0cd78b5030faffc6ff942abe54e7792fc86c9866cbb47e7514b95d66a1c2f1d102c53764fb85eb785878d2aeaac6391eadda38be9afe57eaf582ebdd99feed22f393994a52ad7eac103670b369ff89d17e4b64320617c3bd88ec0a9d86565035aa03e8a7d808735a9d05c7917c44d96e623df15310bd7a223bb3989870cd94c3fdfd5810b278ceca39e9dea7e6519f60a71664f5a378e3050d0ce7b0e57c4d96da75b546cace0fe20b0d2d219461c3cf16a51f9ae641273b09b1ec93d244888d44a490a72c65def158042b2e5202cdc8261949181d8ab3098f0e2c4f9578417919a88a399021ae04965f4bc1b84247f466a7884ec05232d422b287929dd60dc54a987cfdd528526e4b935af24c00232822452520998d20afcd59612cc7e6f68d08badb1b4d1eed2d0496718af178a040850b0120eb6627bc7dda7536f1e4ef408e9a15ac24471a07b95c6462b98ebc9b0e475a04ef4236fb69c6406ff9bb6422014d7e60c3dbcb8efc6227be6b9c7d4447f11ed98cdf8429c25a3f7e255c59aa55584d70ccfb233a02cd993bc7c38f51d1ce562eaa33370ae6560e1bb0f376c3f473dbdef8b50acd20f25a26067b8a4982e44e2ad1482ad66934c16bfa4ef2c6a4799de0921d7e86f75cd98d28fcb223aad0837cc728fc7f8026a4f2fab4afab81ca3dad51c1e69bc33489b221f2888f2617883b540b490f7c16129d6cc61628e3da9add9461a2a7cd5348302203b726a717ace4273455af3425fb3f4fa0483e68c98815a7c3ad063273cb2e068189bf5947a36a636dea93f7d2c266d04e1c45368b3c45b77a69031b9ba5aa7dc3a505f1df8b873ed034c325f754cbf794da1832b8ad3adf78e32b665bd8f5a44e71c5c13f9c027155136bf5a1529aa92db3a1d289691dca060a2de53afba3dc9686e891c5c0195b33e72d33eef3d46f6ff26e4a711c125acc739e6feab63a8bb765cb2d3eeb492afb7610f543a64fb676b46be5377e658233db5c17608f96175d59e32ad7dbfaa57e2f4807ea1846db5492919b88d3bfe5edc1c128d4a99cc792e664fcfd3e56378ed9f220731d1db4c279af8ca1934ba5d3f5a4f618b1e4babf67f389cbe499420c34454d7d587c0d582d58fdd193570ec6c618a33e6847193953939f8d2c3985a6eb8ec5083c0f2949964b40393425bee2266f9da8e47d8d200bbea25b0356e8c1a01b455d5e5f2d9029eca9c0dfb3efcbd165ccb59362b70c60e77f77a4180a48d129337267f60d5e3182a3dcb2bb10aed55a1a71a72159fac2d1faf339859dcab958d8ebffeb1369cd6d92830c9e8bf21a689f81629d514c2b8c1ab7c64e58119f27e86e2d744616c4172cb21cfc9c8f6b79536038d45d01d35de885d808567007dd022792fada71c82d81195db506b6e896d2b045cc94890d220c5be2197c3634543716226da34ea1db8b8ce3d04a7b5eb61e8f5d3ad5fd0ccece422b082891971336c33920c0307a0d8798ec894048ca50a6cdfa8ddf4a3f47bc8fb06b80fbc9cc403948d57986557084dc35623bdb979108943da2468cabb6e9bf420bd64210227adeae3b838b66c22add4f233618795c4ba717a9661e0c838e3854b84fd1cd324ee10f99515f2af33444209920c2306a02ab691affed00d534d92274dafe3c37bedda3079629ec14b11c81c3a20f352cd1a6fdc45e396175b014409ac0a89e895bc9930a178d45e229f2235604e0f02e243ee5a92154c5bab6705485871e110570239570237f1d358168f3576e453da92ced410709f5007ca3dd0ddeeec259a0a50b400b693c438bd090601fe44c7afbea87478ae8c7a0eb1a51e12822188ea75260a1aa5cb488a825737dc46ec591c02d36ef531085a87ce248ef7233d2bd74b13811ab30b47709c97b9b421eb485a934ac94c99a2a15599503bc127869b97b9caa38ca05387b92927024f18b60336d3e32b0c4fd2b7b46b605cb1d78c712d9068ad586460ad0031bad1cd097012300a6b0b37c05de19703a3ba7ced10b6811b114abbff0ccb1505eb10fdc1dfdea62e04c1b28ccf214eebbbb875b2ca10aae8b3a9e715c1813abd50a01b38818f269e6dfebf7ef9ca65ef55a0c4a90d442af61f4c43f30e1d219ce4bdc886e424d7404bbdff7c258ddeb3157c890c89c55dc0ae24d88952cf8ab1d3109e2be4498ed61deea6e0af18d88e47e1374da3b6a8f9302397263d6cc6880b26c5f0e281d2ab3940f2d33f0fa8fdec18697d64f2673c2ca75e6bcc5b2e6cde19fa8da803703d7c1d98a6411eb23174f8ce1de1b0a3fa41c9d9abc66f1de4380a71588dfc826d8ad3e02b0b063a26242a4193f8ce5a2147b3e45d36dc8cd14b8c46b52ca79ef77761e8661ca2dea509b4e02f22ab9652415b5831ed25aec1128011f77a10fef0cba57f1a05143c59fbe04414c6bae7f86ef09cbf8a9062f7d40b8c7feedcaa0f292f4c44776259bb3cbc474848bb1c0be529f0a650c6dfae9b8521dcd10ada31ce7fff868fd3a05e1222cfde3ec5aa7b404368d964ece41093df90ec95d4a5c82de9979cb419001b2060810e3000e49b40b9986a65106c8e7e44a24db8c7253a48fb7f29841cdc2bf7f34d419aeee6aecd52a1703956e4c4f71b208382b986bb68453ee1fe376a08d663d45ee381811cb388382c3fa075c902d0b0b927643f6b2b7c14b36d5f925ab23e8a76d9f11c8bdb85671f8146bdb3ba573a317a7ceba439c9ca41eb91cc24b5324ee14775847c9e22da088e78b2334303885f6f44feda799486c7f2940a53d05ef9a8ec5cd7c8b4d56477d0c36c331b21bc85c093938aa539185612466b979b4565c8e1b07b8a95e163a8033ff4b99d61fb2edd2fa91ecab3650329a4bac50bb0a8640b39af4f59b297eacad861ad1fe60ff151b0ec56f9bbf27efd887120c562176be49b4727160a00ab351dae5b9f29374b03ac8b835058a28b0da6847f4645fc7fbf00de217cc807e2ab0648a0710f68c9544b699e21bf625fe89e6d334d3444057550a3bcfedace5e6d203c6637a456aa6015580b96337be7f48fef2352b13c3943d0b42a8fabe5509314683b9cf97026c4f8496af83b03b8e6e5c47d2ca22e5b5a65ee2db0a52b2ee8473e467e768a4c57e2dd0072f4825db250def4a503eb2ebaab659d82da1ab3ba19f517e64679e66c657642cdefd53952e89110d700a093efdfc44bdfdbe7273023bbb428b838233f05b40bb668524ca5197e8d2d6edcd87509ad58ab89a3cbb450638b1393105e0061234fcc74fdcde84b236e29cd0e671ea9153b136cd5010a2e19699075c1e22f03ebcb51c55dfe13e424875f5b70a152a9149a23768333fd37bd7a1e6cc23495d01f0490f0ea85c10f447d2a0a4a6b5adda2fb9b73af7b90db0d0bd0b42cce4b2ff16c8ee1db676b4904fffef9583fb0284eb6691d142ebcd2f51b3466f4135bab938a76a12757460399b3c01c372f913d172688d5f5372a83aec85c997c9784b69309421d7d8073e9efb0b27592c5ae121bec615211509078a900ff2151309035e3a69c2051374bebd51b9e615560cef79cabc3ab50bbec5b934a17bcc78a07f8ac14e3bb3a1900437c3d5288135f93183dd1e0ddbb3181f81223c4707cda029d2b0d91fadb6cda964dc4c2fa7c3fc7f1aaa771b5ad6251c062f5ba8a3724ac224bf07cab2958e6c89e253b86f3f1e1d24fc12a965f9d4206341d1e6a0d2ee5d4486b363a95c683cb16c3b8842c2e5df20453632fd2a4fe3a5d45dc01ac5676b9778ad930cabf32415253db85c1647b8327c75b25c8bfed396f0cdbc1e1f614f86e6f8566bda6329001d47b39afbd0c6dd47fb3d9b747685b2a7f77ce6e183f8c2d5c93c5a3c7f1173848b7dfe92c66d7a0ec3fb26892c854e48f043bf50c01cd784ae69ebb26cd6eceb6ab244fc3d8bf548f3676839aff51126865acd22e8c461e4c0e69dab1fa4202a4daacc3fce242117e14c2f0b509473d6e9132e8bbdaf20d1d0f6df1ab457bef29b29c02b172b701127367a06980e6ac1dda5c493f1636a2876e0bfdb82fa80f910903b0591936c10dcbfd421928f31d134ff3bd48a7e03c34b227de30095c0e344bdd9e380ec9170ff3288c140628e392103639a383ddce52ae0553e849da1db019e1d3b407ef2c38bf90760f072ea162433c112643dabcb317b1857b67c26c66ca749209ae77d30ef61eb4b2a7ab9dbf7619b83e2943aebdcaa9759747a0fa925073865bb7602d311a228338c0dc25d050d1067e49fd1705006035fd2de48c449ae1b615e7ab6320d5c119e4e659911a288f0d4a29b20cdc36ba2bbb2609e5f054da798d33ded048d69e00db301c711fee382700d68f6806498afbb956762e20a9bcee281606f80f4e0173b0160dca075bf9911bde00460b6c6416846ccf66fd0cdfdbb5e797988b80d0e655f8dd7b7f9290eacc9e9c66047de66cf2d28b051f20d9424a4f870306a64b83ae4a0b2c3d761a58803c582e72508b421692b5ad8a7f8645aaf5e51bed6d308069fa26bbcd45b2f28ead54c9c601892293fccfa96d16395def8dc399d54af6f020b1ecb7764b12fdac05aac85fdb6fc04bf30a21b427b3c80f07f7ed1326db1e8d3b3e71afdca97f17a388c424702f10b8bea359f9d9fd4b6c05c2c1a3b73ba3c36aeb1518245dad263f62ccdcf5b34093c88ec2c8580b33decd532bb47fd403d92f4ecdf481810267a5b66af41527dcad4d95bef9214d834dd9d70dfc7cad500b45725a4d219bc5efd68010aaececda81b47ff623a297ee8e2a092807dda1559c3bfd99df394528bffca7f8756b63f9b4d1d4f05e5926cdc546388d2df7d4553855bcbed5ee699511603dea6610df7889335f1ef3d29092bae92b6e96471e46413f87b666e0d0e914d073c8e5f4157bb39ad42e9fc9d80238434d91ca7eb7c4dea0c1c597104d83369a5c7c6f81b68fd0d7c974b1cb4261ee709a5179ebe376e2f8c435ecf5750381706d40903dab0cd515550de50491bb1f19c79c2b176fe664756c29384b1466136f6c4136f9b3ce5c283bed20ccf4dfc0765655668438e7606255c75a16cc1cd79461c3739d6ef1c2abdc11589d69ff16345b191d624855676f7e6cade2991ab04d6042405ecfdc59697f329a5d2522abfaa2895b4da59ab8af1652699eb64a65246c87378ae9963ccb566936a8dc1f72035fdf973b3848231d7dc6c36efb33ae39df32d9d3256e8578fd9ed5c33e79c63ee51cdec5a63ac4d5a6b28ad39d6dcbbbfcb08aeb5d3ce749f32ca9c169d4728ad6befb5e6cb5b39fdeb5fe994d619e7dd72ce39e76eb6c6987392a2ac68b99796e51c644b3a076fbbb0ceafe05b077297759fca79aaabbe7aa265dfe3fedaaa521919fa456f430633994be8434040f5badfdcea10fc100b828c4610e4fff978acee6ae45c9befcdb96630f8f4a303e79c76723807fe10218410daaf6666ad6a6b92717070d8a3288a7aac8d68df98a26aa887c224ca7b6fc41a93119e9c9cc8cce75cbbc7da8866f1d7ecac2f74fb2cd3d7ba5604ebec61d251bb1183b0fdbd7b8e455349285e2a768e8f08638cf137f0608cf0bd6782dc745eb77773f79ca6d8deacaab0755cf27beecf9f3f7f4d9fbb470ae267cacc1cdf6c1129cef9eecef9578caf5f74e9cc597ac5fba5cae3a61e998aab3cf7b1ecf31ddee09c0bf98fb9eb64ee9cd83ea6e4d6e9f94d9b1d42e7a2fbf8e29bd19fbfe7a209fbdd919d117e15abaaba1af66a60686462dea986c78d0ef774c67ffede444bd345f7da9dc7285ba795b0180029a072850542e852822d2d954ed9d2b2d2d2d286065d2b2c1c9d6b6969ef5ab5d252aabaa6c195910a618949ca6d324a292515a3945146f932d61abb5465734e3239d33232368ba3b2764c4bc7d0e878f0c9b58442b4b976cebd50e75658aa8ba3aeb952655b6bacb5fb8d41beb556b9e61c8b9bb0d678598db55ed92b13c46c4d067d652708643d4865af68824ea71e3c78542dbe0bd2a2f3a89c934e05ba180b375647255b20ad35fe4a4ba92574c48d300134ce39e38c38f3e19b3838241f40d6edddb3e773774eb7cbcc314149b91e2422e9d9eddededededded54b77b7bbb57b3eae9ddcda6335fe91aadd27ce2265a4e975ef2d2cd3ac54e5b3ffbb43349deddd36d4790bd977bc29031a966edd56ceff614285d99b9b2b6569327577bdffa0b14a3b44426375e4c258c4156d2a058e24690221373c34404ed6f9544b3bb9f3a0cd67334bd3f42c826e17c440c64c739b38cce454eb62745663ea894c48c644996543589442249127387d06d8b3c0da426754b5999a4210d4d2291489224db5e593d892ddbcad5fe7d29ab498a9292145e72452914c504927ca59331e69334f973035799a2ce32ad55fe557a7bbd0303dfba3114828263ac9ea58d31cab791c554f25d140a2f9c314629a38c32ca186594525255a494464a29ad3cb18a0fab2aeec4ca3295ec5262e1af946dc55662642b8c251482e2c47f8411fe0e3e2084f029b49535a5ddc45b06a29788b4ca7a558c027a3c0f02d262d5288a1321a1af3c96c628ea1c4aa3c5cc6c598fc752b684b0ace73f1f0aa1d409113c9554d87b119fa412519c10f54a48f422248ea0e94ec37449044dde34efc4aff16f4319eaaaa77503b39a34ce931215f60f19a1ed1013e8a0a1917bbd987aa0e3bd7ddbb0c1bed98a0d930e666a518a7b51081d3a74e8104248b943e8d0196bc6ba574ccd72d0b019c664644f86b457b497a1ad678c6f407e61267b4dd7e133c83ecfdc42e6790657ba3d5657f6abcbd75ad756d7facf0e18d8df164e69bfa17cfa946a827e3757edb490d2518caaaaaaaa718c5289c678d696aa18d4294655c1a862c8285531aa351d3a0601ea28ca26a59e3bf86e4ee6da48468caa825aabaa9a3001af076fe829e3542664c961a1ddb01dad837e574a52c3d4e9c8677cc9a3d95f5193e29f2e52dd2f491a3a078334c40b172d454afb29ffba2c4998a57c277974d9cd0e4a874d4d12ad7560038c4929a56caea373ececa423a991922487748e6447c22862368d0583001b2ea32435244990970bd8755dd7453d2f3cd7755dd70b2a63caf057dfba0fa3b55608dc23aa504efb9575ffc70fcb6ab6a229a23799b007599a5c0059eb7eb425d84efb601d52adb67a20f369bf4f0ff7599e4be784f45b57e8f946df1973f7b4f6d5396f95bba5aabf3bdbdcfdfd736ffcde9b7d0eddc346b2f65b557d659f89c0b19674aa4895b5244b3a59922579ac6b29c8ddab83543e1f8873d5b3f0dda78254905ee92234b14e6e47d3c16cba867378bffbf36f6ee2b9a20a3a08ddf548793d14524f8ec8dcdce3f17866682c771d1234acf34c9ed3610f3f1a8fc743c33a9ebfd1dfdd7dc47ea81ef538eead28f815f5284a9dcaa795856fdf5ea1916f9086863add389c721a7d9f3327e932e2e4e0c4788a3839ed12294b1578a1f4e7747aa6fbd196603bed834fded5736dce71efd9a7de7bef41462fbdf03956939a1e9b779b1f23bb53c9386e84a4b5ebd1922266bc229c5e71d29fefdf6396254ff4709483c32c9b1dac70efbdf713ad0ccbd8bdf75e19f1134f342c36dd3fec201f06f9038a37842d0afa7846f42d57d9c92157c5abfa3f57a73b66abc8b96730140aef31bff71eb7f6d563e11c9e6afd7bd5b3f65d666696f72e57afe21c8f9f134dae8c02a3cba91e7c7ae05cd41c4c7b61a676e192bb7b8f3b96e7b66aee230bab7b8fe566bfda5a2b7ff2e5ab8f9f9fe3f62a3ffd00c1b9e85e2166b171adcd8d73334d86e1e818bed15c838127aa73977c913bf25ac7b9e6f1a010f1888c783c2f82e2440c39e7f1ccef363db2d2bf8cb6e6697d72ec5ec6dc6e5cce39b8e25de7ee75f736f68e9999b5101d6f21d20be79c63eed875ceb5987b9bcb75add4601a0fd74ab704f24268a8cec9f0f25cc614b3ebb95c0868bcfcf93444c40e0079c967f4d6b5ac0aa1011382170afd3fe72525ffee3d888137f4efbd1671d460da0c6e1c0405ae89f6832dd13bdcec7bf651cf077eae7b7dbc42315aaf51f86ea5b3ef6483ce798b4a30b4ad636a1d935377253ac74db675aced1cdb4c564e3ae784d6f1e8bdacea53bed72bbf15b20acc1cb9e8dd3dbe3ff810de0bf3ae1326add34ad47c60e2c02a23666295129bb806080402811abbfcf5f1b8301b77766fd67b0ef41e7301815a09d45c984d9f40ec5f06482824e460085ff6d79bbbcb90ec2c05a3ec121910f29b8dc26ba44b5825ca92142670c45c180c60ac177edca67794f2bebd778db0e7ac596bad6ddc683bf17fcfb9bbb3cc28d66d6b8f42e5d8469db914b95395564847275f399e244b15299452daad1945413939616d44a56aae7d139b525d5beb73adb2b6553d39393979277886796126e6c260fac44accc45c5c7bdc7bf8ad900bb54ee774ce5bec6038edb40f9d934e4e0e0ece6987654e3a3a39d50ccfe0e0e0e058f61d54ae6cd33539a85a2b6b23acb536d7da5a27cf545b6f0ea6a96e5926d46c6c6bc5485c761cd886ef4f1b6d2f2697527b8dd266b275ac3dfbc66abaa6b136835008c2d15314e5dedc3dc7998995988b0ea4a4aa515509515df7183d5e8f0e9b857e62024fac6d145bfbcd52b5a26a8ccea277fba1b1aedf4034d78aa22af44629a593bed06963a56d4cd39c934e4a2794127ea3c981c48ca390a0b16c51e0e2cd21f4f7e27bb045d8dcf3e71cfab746b9831052ce1d734e062ec6c84cacc4fad43f190bd827e6021f0541b8783104499f180c98cb00a0309201187cc08e604f8415ec87e0de39e75a0b684c6872203183440b90a0a1f1c20c982084205026921da6171b2b940d93290631681034ca86c9d46305473781e3078de45c4bc2043b60bcf7f8f1fb6eaddda3fe3d478d48d4bb1ceed690b85a3e85094aca7529092727871a801446a150035aa3769029ada850f47dc031cc1863cc65524c90c31962f8043451d8e9530f181d3d3ce1081e24a144d280d20b742c03e10734551318f37feefd3998f69e1b91a0310470f3ac98268923649ada6fb4d97eefbd47a37bd13e53aabaf756943277775aa7ac2aa633876333aebe567e314e19a7abe07b5e297575ce3921adad7aa3944e603a773e81da3570da76484575b4a2df43d8eeecbde69c6bed31e6dd708729c88f1290b5c68a3d63f1419f2cba4560027234854a88f7c3c5b943845227715af2e69cec9a0b115169a68c989094a490cc547d843fbb2b9dae73649f58a9858b205ea840b9318d988be9cd91676676cd649cad579a4546c65ae8a85bba44355863031ad0a035d7e273de5336289d731e9f7bb7b76eef5afb06616b4cf333b890de1a8ad2fac4e48424c5b793d1094a0d6a708546727274bc63379e6199130e8a8a941436c0c9c1c9b10163dcefd8b193d1e30ad9ecdce3088c44289d0012677f850e3062ec5e7b972b82485ca1119cd34efbd0c939e5e49c7658e6a49303dfe7a1b570709a600227074707874f38473481a37304133839387c9a2c3319a7b5199e29c37bd13e1529d5c7ea56557c6f411f2b2bd6f9b9ac8da82a79559549c57cddafaeadf45d4fbcaeb5aa670e3fee06aa277eb52fa5a5fcd10829a7a595094b28e11c4e522284f04f107f4494186584f0448e4c2284270fe6c3d4879c34c4f6edf51ef43ccb7a1fcb828f396481feba155bcce3b12cfe18e2f158d6e763794284e00709f9bcf57116a238f1013db4380645cc09fe5cfb3ea01010ebe3b92cd1059203b3ec80e05fe8791a1e7ef6b2fd304c8c2517fbf22cb6d5fbcb76545531522887cb334cb0d5eb9ae0721c52b805734959a1a2b61a23b3632606072bc17aaaeedf8720bcce459d7313e27bc483fc6c0db5c3ddf169010e2c90aa3b50e13e4e4981f083e09137f24ae2c3181b0c4ac610243823437e2a2120f2df4b9bdac5fdbed7914376fb05366c160b046235c4dc0ab1e78f75a2391d74e0b0c35d0cf102860c22dc08088ba051556ad45881109ad0c1a445bb98a4a85811c40e75b80e87ebbbe44e5292428706086614d12d70d42cee508667586bef35984a6636eff7cdf397f9ddd7f6a1b5de83fc1ec8436b791e7c158d1f9f657dafb51174afb5f6822e90154d4c2c9740a807ba7f59cb23aa3e37d3ab77fc815fc1fba40b83eba75aafa246d41a6c7ae112dbc795be1865606653f1deed70a3e2bd179c43c58a1641b898b3bd73ce55e15f0aa6f992d9e6e36038dbbf17dffbdbdac5158e73385a0cbbd14cb1c9727710fa9ea6201051a3a0f8a120dbd64a782f8f75b175dfe3eb5ed7f37b1775d48a09b2d8d061d2d16811d4068b4987e9badca4e3f26f184259d72362affc3ec90e8f5355056e05d82bf001a67c804e996c78faea4c0782468315d1339888ea2df51575824fabf36e18ec8998610dd16414f103263ec4c178c7050434549c6a22b687ad8d5e6bed8968bcd4bcd4bce8680dc2218c706bac380be6ba46dbb3fb2869fdbfb9ec1fdf149392920fb10723d002e35ca9a9a03d0b8d437eb96a844664a46ac838a78c0f3a7defcd09574c06b0782b5ceddf8684470a9394958bc594a0b49458da7b7146b00a73a416cc08a2c510fe5aeb95fb32472f1d831bdd5cfb19ceb0c06589131cea6eaabb9b6ad4e3ee9e4670ef1a37c628c6a8dbdab3d7da8918cef61e74ab571f6ba603f600d05a7d15ee2b61f12e0c6480d240b54aecc2260e50941b5ebc1704297604a9c3075d83ec9906751f7a5c7a3df7ebac95984c8754a3b5b2d7f2c01790e46f5e4659080bcc49b5d6cd18b36b24d436742da19de1f23f12f829a2899c51840c4a46f85abce0f78ba297727748e477dccb26d57ea05f6a7365aac0d656707acf06e6b8e954c619279534eed9401d8dc6c6b9f95e0a17d6c0e090d11133e33d5da669966ce098303b287c300d0d4d0dc5580246466ccc44c6e3c6359b1b2cd8dcd8341b3e988d8dcd8e59514b55cc02c400030a28aad8e802cc59cd85c56807d6f090271ece89e4123dd8387f32fa9b0ea50fb9237dcc92c8b41131f1cb8d19232222c25366ce1cb366ea80224ea446c4a66696264c8f599aeca4037ba8a8fca82102c382e2245292392b352e37a71c1d1f3bccc5c024b1021a1119b9326b340d6e687043031e935b75a789cd92c8007220c3dc7c8546ee0bc700332ab406667aeedcafe89b9bd1c84a539641c40c18cd4df52035773b2ea2ce80e12bda64caa3c58cccdffd82746f28f44ffb659bb40c4d292bd7d86063f71c463929e5f35ec004f75f74c5b02f992bf0bbf78102e21d573b1ae950883273dcac425581bd8ea696d0dcba29f6f234273fa0b59feef5df962af7b1e05d17de420a415541e2748314650f216c91abe1ee6e669bf0820383a5034bd14a1c0f2c94b81e8f31e7986b2279239db5cb2ea8e44598b3c6326677837bdadfe184f96d8a3073df9a73aec5984309ae7bfbb9c958dc68adc1500e866a6410801cbc1007267ef4004317be008737b8618936b0610d3b6a48031a7c9cc10c386128830e194e4a08600c390210c3d730c7c305362c925839b1605940f927dcd88cf18dd60c53c36f66f464ba4ad7dab474073dbec003f6037d1113020b6ea2b000a4f44eb820203b34f71c4639f92d958a592bb7078fdbc32957cde2800242070ea39cb44619616ec4c8d86b793e170884ad0b1e053144a54b608a7bbe0de51ff7ae6fc29d9f7f0e7489de3f9088045e243cae13ae75040cb35c16ef3d3ca8784496092eca1b2e8a8daeb1e200e6c1b178265c988f2f808148e509f072bfb7f02778737f7880619825f38225481da6b79969ea677684b068329692ed7d6b8dd8e77824d4fb4a108d708884718a2eb1562c1666d5b05a60b9e0d2afb1687b4be541b83fddda8d4f0c0d0f383a0133a22882f49570d97366a91c80527e66a31b15d1e826850f04288089014e0ec05c3d12013f242045010b004285e429e7ac8f84cbf8af6805141055b422628115a1b0898aca29dfa39bd1155ab03a5a21122372a3864522384460601e844720159dcfba2708efbda7cbc30f25171e3e170824247402057d51736f2ead170894102e8c8ae1d4613377cc9a0a670d0d1863059b6886fc4009023e78607bc8200f2a2043b83cacf088871a0738e2aac88710366bee396489727372058a125d97a2299ae4fe6c8a99b15603779cc1bc1bd79e3d356a0ac03c45b51faa0b811114a0faf2ca164cc2c0dc73182573df979738baa67bd2860be10da2630f4238c2e5d731092674bca38fc458c195a1c386d32dbd90d18e88f8827041ea08236cdf628819fe0107f31836c14ac10d3b414daf1c91840a76a819d6a0bf6fc61c63ceb987cca17b27e79ab1e767d64de4dad9b06001a6a8a8648dfac60473a60014128885b2348c8228089d73c803c4028c069d8805e47028924a811c464114442431061143001099999999490000f74b56342e9477e4f373b291df9de9e1caef9e4d81218b1d1fce9ca28630287ba46549169f05744422aea6ed865a097830609c0fc15f86d83851645cbf00639976c9f951b5374ac27e3176c636608ace65f3a119aba315fbc3570b612a9be69f1184d98debf1122f20c5403295dd0e722069e90852b6b1d363570352c718f1a4126d9fd1f0836536b5e18e64cef3cefcd3911661569b0f6508c5b6f66d08d1362f51d85414ca5c2f9eb0c91e670df07f6b4c1b48f7574bcbb8622d3c214f43abe1a36fca17d049ba329eadddfeec5eeb22fe97a1aae4f5ac74286d8f372e9d73f60c883b4a9c71265961f866573a57ab43593d353b44d309635b3b3bb45aa439c1065b569239f4bbc3d4c982a5a398410ad6b5026711312f21f48f032f5f0a8bb56ef8d9f151dc9ab35320bb05fca8fe819e4c324ef70f19394e718cc31f3994fc6ec2b414096fc172a113fefd77a14044be3e235a86d19ee7a53f6177d383d5e7468b4d933d6cf88fa17816e395fc91627865a1bf5600c23910c80a208d9280ef8be1870452a2ddf3ab60d6ca76c137b1ee00dd79752c83568949ddb6d9d9f86a2c63ea47aa0c283ccf75e68eeaf4ecee01c15ac7b6a5cf1603c98896c1143eca4c93da217054de9b732dc3238dd79e8de7c16c39e811c6d81d1868996673ff065481c0f301247a79eb9051bfa2b43343004647091ed4218a71d6cf0e4efddd2f5f8e843a225757199a7d08339f9ecb48a5d02a021968abc9e096e0930a1a9e07068bbeff736d8a4b549c78976d03252453d1a141e2d1b99428bf065e2e663f699f2849a78a1be7967447c3cf8c76d214fd59da57f47ba2888b8a2a0ba8db652fa5184d5d4e622e18d1bbac02a2e0ac7dd43f961cc12e38a9da0b3ef79d501ecb335c4a2d6553e56087eaec082f520e53836b4314a8a4574be038041b096d56e0db46e7477a6f8a665fc59242c075e7ac595ba64be93d5c6c7274a53ab5cead2794269e370701c0ab6871534a3a3c3d614e0aa9891e60e29f8813ce0e5ff0d63cf00768e8b5aa1f6ba575b2617bb8de342b4b6bf1e50ce3d8e71915afedf6c5db509e4e59a864da670665c2e957c77826c6a6cd23683ae50279d29d5c150364b7fe0c6f0034602e0fa0aa4d40980b8339c608b9d0c6bd23a17e1cec6c58c060a9e903ddab5b25552797d007f1712dee61128f2131f1f6e119127982b0aba29a5a818d25772b5dcaa7952bde95edef844fb57052cc0dc157bbc4d681c9e99f36f41af98429d8400e57106f710ecb755245036f06dd487d30d890e074114c5551581d0100ff7590199c0b70575d8b6ea24216728b48e4bac067d191a6b8d580ef5faf366bbe502d35f8c2d95c52e79d8d0d02435ac141da91ee70039f1ad05d19cf157571abae84fb84701882060a6c48b6c99d8a139f972e2e3eb8f8e066f4917e9344aceeef2a2af964c926187c990e584197aa01bf850d3124cd0f53136d1a44a94112918b0514c60e5429c3784658b618a987601bf4477038450d0cee21af9332d8a8b7ae54c1162440b14e55ee88b786dd6a586857147ab063234a5a7a8a5176b40d3f3c2cc6bdf180e548ce4e080741a0753f27128b72581c1e6929d39dc33fec8ef05bbeabe8bbdd135d78dc3bf12b1b8e05add9e788b83006e5aa3f8d37381159c0b324ca13bbcb0cf93c359f5a569ab7895a1297077dde4a6020119a64d405b62ba90b5ac18eb81f318db4237018ee8836970b3c2aae25d86f85d6edd192fcd8db216c4096bc9f43b1c5ce5c393acc2ba871f4d38ca4eb35552ebae4626e861f48146e98dd1804a0def0865d98d361cca6009b237a3ef9456311fc3a384a535ddd9832576ea7882ce232dcb02e66497dd0cf344be7c0e42cf4bbc0a1616fc940c0ed8fabb4a988dc6bcb7c8b39e4bbda49d060885968b285a619a3e3385ca1cffd3458855fc15404bc6d2426c89c230063f1739ba36f20c9e715c7222368f125011e183873824c8c40e12c27b7c18df604afb8a1495aad777956ec7a5a6c2b33645f34588e144e33df298a6726c64617d211b9344000fd83a0e0a51d1e3ab77cce15fb818e9b3466b68a345f9ce1e254b7665a0077d26007fa52e41f390964cf097371df79da5dc1c74c23f25cff0eaa7eb553299cba9408d83a5b29e93b4959b09e2d0ea1c2980911bb7c3957ff51a823ff845c21cb4673affbce67f4edb91ad2dd6ff99f6b230f11fcf9e417ac9cebad48cfd971e1b8d10014209e4a35e6deb3e8bde487599fd5504af606f7b52cfcff154df34540090f09ef564229e45883a8b511b087177b6e1c1531dd7e5dd46fe2346dc34d288e2537e44b881b2a32cd99c3e1216e537ba0f461cdaf9c7b2ae37fd1f755401eff2d1d81a4518059c6d65db236771d345489c68f26e1692d3d356553c19b83db118fa233c5080a85dacd1e40a891a5887a2586df5263e1faa47c84d274ccb940e2ad6a9e8aa2080d4232a320725c8899c50840c2dfdc04ec2014b3a359fcad9838f69969c938f715c1ff841725a2477bb369ac157459dbbd5a8105a276a0349c4e066d70f1e2514ad6775cd4ee1814a123196d0c8ac87441a05565d86701fbd3baf5d32cff74fca319ab0e7b6f74fb17bbae2240201f688b42b20df779a6d9820a9ecd60097a7d521cf108a6bfcb59af6ec3fbdfd9fb6fa07640b49c012d13aebc28ffd094770144f6c6c198db5c5032b6acf3801c8839e41b901f37fcc0c93f454304f77961eb4037550df186aab5302a59bac7a427d9556d7c1cbc19def74d0707c9553a583e4abfff3533b123c00bc10e3127572fdb10c1021fd00cd13bea53740e971b44217dc1b4111ec10ba21e73cfea0673d1e1b9b1ce6756a805432993395ea45c91c6dcb5848fe3bef205023bdc87f3c39df0fd0233e870f29c3f1ef05ca5175b072896d961614daf524034203b47e1a45d254db4985c51f26a08cbfb37975dd006dd6b694d4cbb91da2001fb16bd82a26fbf79a2518314dc5579da7c764901bf677c86bb86c8a9012f4e1476dce27218b9330465cda10302e67f2f4353cd02229c2ec85c6a52f0034a46faaa9311020fad05e5596f12e96e59e369a9e9b5ac7d35bf2f033d6bd6a87b139134c2e6220803d1195ba42eceb0b6e2ce9541850fb89cbe48e1be5c17547cb38f02fddcac6fa06ddb8e247abf956bb9f1492b83c58484b7696a223b39781ee82f6333c398573fb5870a5d666f332e39a277cb2721c17e28246486e30367104e50bb22da98b8ad015c19138996a04c28f55b01b612dc07a653030c67e5bc5b5829340752d7ec5b0d515fc6b3645405f83811cac5442242e1246f40dab7f6917c167d2019893be360d19de647293e93fd14863f678fc4b25d54d16ce7c4e48581f45aecf2687e961739b49f6d4991c96ecdc2c0201bc9a35243e94e1e2ec33ed034aabbcaaf6a0c3c41cfb6718caf1c7c519171cd17e69295d035ac5ab5eca9d02f865b6beb9db16dfdb3d05f78f5950da4f33263d1535f15d30ffcbd9a6538430dc92e522a8eda01cb615ab52354796c7746001885c2acecf20ad17d1517768c522bb23cc755c178ed539f98348a23fd819289f53d1747e894753195f08b28edaecd748406c08727e2612026aa07d9068e16b3a1230e317192a8d6127fc9ab6e6109e590ed4b09f1c07238a16eaf90581ee9a576d53d3fe9d547a2d07e026906940d0a80083c7c5ef46d0d54e96fc5a32ffebebb4a101428d2a295d0b0131c2d8cefbc5c52698a6803a0fbd3f318168a56576f2a5983a56efdb5ec353f721f56f7e11ad4d813440ac8c806e53fc9aebd3d442b814d96167600366807552ce0fd7fab5b6c15d583d8f83eecdc87d7a4cf6fc4ed46b2ad45fc1084aca40299b1868c3ab4b0a8f677ab2abd4ec6d08818b51b60e8e07ea5bc9c076f8784e7c59a3de12ebb52658eda73ebc14ab61a9f04dc13e3f74907008abc98e4e480f13ec85e71cda097c580f8768f76140a80cc8b674c0680e3292da0a716129800ea7227d29dd9bf368a65a6927433b49d274d76bd3470d848595098f8e675c075c006b7a92fc558c1fe1933d396b477168da48c476b3d8cb781166076a34ff91ac407bd908fe57297f2da6ac337075388cb7289e41d8ec41fc08f0a10d340d5160e9a11a5083d42f1fbaa6415a7ca5f4a65f70b08f46ad443e7763bba769c3d870b94598906ac385d17b9cb18f52b42e399cf8402844535221992ede264560ab2caf2643d888cad231b23d4b5e2a9ed209579ae1216ff77046e6a0802c1032baada760038eaaa6c9ea78a182081442498f90fc18066f7ddd1630104f2c972160f5ece1f0504eb0480e93d744bc500f093ef6019a3124d7f41ab5b2a47b55b299f45f610e0b1b2b03f85a9b3b1bd1ddc8087612202f7cc2af2337791ccbf2bec6237ded26ee2baf1a9d7bbbaf1a6f7032dfc937f3c72b3b6fceff5b953fdf9b47520f357e598aea085cbb4128a8412ece777c7489cd9785fdc583e7ef31d681fd3c42531bf671c30ce975bedc356904e67298693dccdb8da619890b5a8124810f5ec996647739ae52d82d4ce4d45eca94835e04ebce95e0ac3ee9fb180d280883a0d807b4608c27384a744fe3193c6086911f9d0693b1843c30db2642a935cfd2ded34fb028735e9ec704df0a1008f1c3c72f0c8c1434ef8c06fdb0c49504090e8724f4842c954ac7477d64b00cfe579ec9be129c9b3b5251dbb0cbc74c94251e1cc20ce2303a66c178a79f3003205f1418ca0f593b3353ba4f9d1838b84c07876a6787f98c7ab30f5fad3e6cad0335ab7d3ce21ffaffc84c6678a1f527c48f64388d14745a3de91f6c79c00541d998876e12257a0a08000410b64e4d46a8541debfddba6a6ac28cfdaaaea679cf0b10680efed9b795c757f89a246e054e6f44fbc8521617abff7d364811fa87d0a8d1b77524aceadbedac7f218fffce4b540824316bf730d3de8757819075a96a303afa77d986c9ac462ca8e6808d03bd7b2d7013835cca5560dd77c68800722191ae1df9e807d9de8fe1e93105434e5a8d3aec97ae511012d0981d6383d4dad0a8d50eb7887d98f644e7d3750f29e3254bf7abee131d8df8a1a3da3a7486e6adc59f9af93a8ece633597cd97a11727cdc6d85f2b6b1881a0b5f725b7ebae10cd186c54ac65c95970113e3e155139d036259664d37ad5819623e15048414e41dde10f1b31915298c0cddc93b994561bb16e0d1612d22ac811f239900705c1ff06d38a663c8274a511d395e043b9783a1cfdac58a0a47843722244cd597016c1d313e4a5ac409799e6fd1279449c1c1780aa78a9169cb25b9c015c6ab285dce51384200031428f023fb1fbcdf11ef9876b36a2d80d8ec3c5d2fc64f8467fbf45bb0ec0d9b4eae7f96c8faf16a53935e2628276dca5ee1c933289676d947e41b7e7bc915f85a5ddc64effa882455a1e918a33ed7ccf29cd0eb7b599dd2167695b3f0c408dd211bb477057b64c91ad4b6b2172b4eaefa369adfd303165371a4a72a60f06ab4a1b10b309606007d52a6113909ee0bfcc54e30676d698d9564153a6960242c2e8ae41bcd994149bfbaecec09c1f594f7f070bd0b397ef7e0733cdb99f1fcf62d933887718594a0047fa5bfd09005b77766c3e82ba6ffc9d12e5bc96de0fc6166fb6a8fb0db5ba95f36f244cf2407921814ae85018595108c92f2cd98d41a8c8b0b8edc0ef155855472c627d11bc3af34ddbd0f80e365526ba22aee84245bd33150e174dbfc502446a420d22f038dd38ef632b8b347eaf562990f994e6dee12d5c505058708b28b4ebde05403e6a2eaec07b124270cce43a370e41e4b274ab4436e2a8a9d4f874d54ce9e18886679060d4b942489c3183b88f31d09307716ac554cc69895502dbb89c4476a82636d242a85aaafc1e86e2ae1a1d26ce2b7902bf2c326d33955583c9cac1e94ed2c15b91d44ca9f8b94bd51ce2dd0ec4c13cbf08238449fab5c5c8b68e763dabe70e9daa0d39d7368fc5c9db63ef573727c1f969c00fb6d936d38c89cda936e4a55b29489d8581b5bd2be4c8dfd7cd329e301b2f31e0292a5c5454880a79b292d051fcbfaeeb031842a2df8880cf82846acfb07e3c373c7c054eb6dfed4c72f339a3315a8427b7f617a0db74e8c7dd87c9889ce24cac0021588baee180ee91f124e21af2d723023fb56177df39ac8b16e707eeeda18d94ced8875f68c9511cfde063687a303b5b140c89eead3e87c721887de924d5866d51c4aefef39ce933e74f131b348b78059295756c1b0579d15f7de603b152fe0799903f74a1ace93154804e4b16557c5c775341dfa9deca5cfbebeb4bd717707dd319fd03aeebe84b6a9520ccabd946eac752f555e8db6a679189e7144f389ac9fc1b1df12c8ad6f82a62ca593ab4c82619cd240c4e8a7e71433160d4e461e9b7e03a6f6413596d08da466b0051907867329122123f9c11c8ffd8a7e1f8c4f5ab81adaf45ea28657273630f2ad6f09b10818f8d74bbfc958b559516f7a98875c4ce13351a7155dda3c914c6f260c1fe06a6c873615b0fb2e20188b8be5ca51c6bebe470eaf152b05540095b26f404459d183431efcd13f8b5d623f5392a964cf119b7f123d48a6dd792d71534f6ed518bdb8994a9906bc2a500b6447babb70e576f60a03ba772c4a5da5d18fe64fa13643165bf6ac5a818219323492821baa57c2517b3d37e824c1bddb854f368080323a0f57fab94345fd5f82ee192d04fdbe709416c4f0dfdd0a09699c1830a7db210c6d80f7a5552784d277eb25385fc332926637bf1491c25415815171230c2377a44e0f8e6d1be37ae17c4e1c956c97b1ad2b9f8d121c55e6ed08d856fdf7abc49ba937d9eba32fd716213d27c0bb33c42839870e898499855d35415189b665d77165814200fc5c699eef2cc1b4c8c68fc370fa4b56842de0c7d1c91eb0d08ec03ab5d03bdd5648034a1c7d3943c13050f6823c2ee032b3c546b36b076b896ebe3e785873b1fdfe5279e00271df83561800882461c51983fb38105d30605e1f15e2f203ea2281c5cb5ea120f1551798c6f7b3c742c20d049b6cb22283a261c3cd01e44a3604026ad4c989451267084eefc117b7e6d0278fed39828caf1ab262f509340cdf56a9b654b132d6038dc77cf30c4bbc0eb025afb525ea06d27ee2d9b83e17bbeccec5aa820351ba80470bdd65e0bf526e490ce2469ccc68e762a036f47f841fa6b1929eee5fff8c7b5849f3cc5c73fbd0f94e711f06be46550050dfb330a53b27abb3aef6bbe8371c0f7056abc988a15e17aba755db248b770333676902905dd60c992f65e8ed2d9393714186c94d87b8d0dce11fb631f3677fe53ee05f2bf3455354e8716d13d9f25a213202d4bfb2bbb4e1122ec391a4036ba72021c3613712b13069c7286be1dbf97032f325a72e954a3427ec6225d036e9aecaf4de845df0388940a4005b6f042223e87e81401ec09ecd327f82ea1745d625fc6f8e977d074674d23ce9f0b32f9eb73026bb8741f0a84e14f9e8331e535b5727542e5590b41e21510397fd42e54548c369567e6a69432e418ecbb0ca0de0b59f22439ae93ced67570561ee29499f99fcb2044d928c323dff13c2efb73ee0f52e51497224bee44ee58e524a0ebf4c4593d6c23ba26961df087d546d604724140437cf9502a2035a3cd3f2554d4379e0c36f7a7106d9b4e78212c4a52f884e600be7a54f63647f12068f09e96c8111802e07286c82919781de3f47de22979c289fef94f83230f29e8626e1f93b242458e72e0565132914a88ba390dbd619a72fb7349a2516ab912ca55eb023bd15f1fd8db4202fcbbb2c1ce0b8128a5ece223e1cb98c65a128e880c7af6c09c81932b42cd443174b841101dc4c405526288ddc292d86c763925978ac169908ecd905d0eca2cbf15dfd205b1f04d8ceec2d91a8fed6ff3a74bbe6c31572c52e5821a8c9006321962c8ab2137d83c67fe02347c3487e358e114fd4b3ca2470f281da39b505b91b2b16737c72f7278435961ab9b0e09e2912ebe11d5343a9ea25300d900336f2fc30fa20adca747cb12f343eedd9ea5c292f846c6108ff8363890e0f2ff6dc47fa6d70b453c42bb7ebb2dc8b22ff3298bd18b36d0be0acac55288f94ba0882221ea420dbad0282fa1b51172234b8b622e7f6bdc388919d97ff6a6dec8db5b63cb9b82238f14491f6b33de00b6763d165c4cb652b8af038fef4598327cfaea302156a8944c8cf7657f8f46de60edb5e93196c950d7965e12bdd4480b7f6c4f28f81197c3dac7ed369acb941df7c9344eac500909998380edfffbe320bdd6dd7316c23038ebdb6c9b3d825c94a577909588be6964345d486bd6dd5f06227ea84c3dbf69cd197f2ecc2f13f9fed89e6dc1eedd6d0c2a5a7beb20c8ad6647e1d3e86815588a149cc6ee19b9a83d7c62282535a7a85aa36ac18385f04e8a3e9727662dc249bc346b11c7122d0baa93da77bf7180601789decf32c623fc25dcf48c07ea13c03aee2e827d8a684990e68c35d680e2fc9be218752978a2116691c2da08ca5ad8e4710b52a27db6ad1b4f78b611741a2d5a3b5159b78d20c7e10a53f806f19788200af2075acdf6b44c24b9c5c97601e880f7808c9800ebffc95712931b9cbf86298949602ff0a94641d96e4b62154b29366cee5f93a057f595cad233160b39827edd7fc6c77f26ffd952fff589174306b8a164589c2b817316a6fb8a1308ad0e9d4c0eb7a03c85a04408a1a98681fc11f2734e86133cf9261934d5bd1fdf4e988d05e1e9f99ebed1b0c12a9a8f7b55da66318cda26aab0cff48035dbd89936af27bca7ac4fc4bed6a63dbd941613222972db0fe38cfc5224d200ac7d6c37b7bb0c93d3ee1047f4840f1afc0184b78fb0efe2a7f5e9f586eda6990654e75aa428996ed2c7be79c9c73634cc2622107d0e5ab7fa774c23302717376ca25c7b6696842cc7783342e9f619f003b63b082c0c5f608143ec3959eb5114349d34d0d4a901df36f1a099ef81f5c8aaf9a2fc5c0248f3031a4b8a5dd7a2108be07cc337d700d7ef3d28c17900601d0df27509944549bcd1e2312d188327d061c491314e63458f4e424c31ba14c5887a6c20897c733833227a105ab707d0d1d61a55472d453a6d67db331e49534930208d3cafd5e9f9b6df6ef6641ed80ef9e3162d61a42401449bc2648adf0f55909150f09f1f2720e8516411a68fd1426f370779f378ed0b99939c20c3d7538446410a8c4125477c24046396a136a5c855cbe17ca77f8fd4c0dd62eaadc35a441a40aa2dbe13faa861db07e8ae75890a4a87ebc052df34e9fdc11e152c439b5a98c5271cf7676c99106ef32324764571f8f8b8d2e031d3b11b1001e43a5ca380a574760942ea753bee49662e9053600194400816546e084940cabc583e746f1b04c58a994a0d601ee60d1bdf635b4f144d12db24518d000d523dac25ff98d88943c9f97bdf09feac80eeca8888c314a3d6fb1e49016ad114def7eee07825bf50e9bb8410b9d30d31c75147fa349c0a73b2a0d1ee247ecaaa0ac1037296ce3bd0965ff17b9d10a5b74ea6c42a1a0df2900f2cec09d2f1ac1b5e9e7a88368ba84016ebf685fed59ab36abd51fd5d0e3a6f92ca3be45cf40e066cc363ef85f4ab131152be233dc990ac87c4c7a9bc591ea9b514935fbe0445c1e85b3648b18b513654ff300002272ba300907365abcd78affe0798b7f88366f39834a8aad7d696d073e3b2660ff6216cdf367eb28e8d75a8b0219c0aed0f4242de4809eaba37c8a3fce3a9788085ebd672b92aa1d7f77445e0bf68e2fe631aaf2bb19da8ac7b0fb91ec8fa26be97cb3ad9d1f73198bd7f34929fd718abf446431e1599c2e5db64363bb0a6e4e9c77deedc8e460689d240bc4ec7d04dc4114ce55970a25a56ecd786466b199743f8f545bf20d90658a13ff036419fc204d41172a87fe20a061fadc9522bd887b3c9a33eb13742079c512fc355cfa9a34c8e3dfed42300ae81fe30fd3c4d63cbd68e770ee5742a174e0db5509d19aaf4e350a275b289f965bae3d28fe71e1bdee85914bdd5f8252bb01264250aae744f7a92f8d3423f5c0c4092f08f6acdec39506852397eca223e22074b286b8e255201eec68672623da1294cf7221d17d316e4dc2b4b853544869332c96e019a33e5c888cfa56640a9778f1f7ace3fd5a284d71e3fde4833fb2177ea42a71d085154394752fc74c5c820033108799889840e793b2740699f50927632c3a14c818861c838dedea892dd494a54c3a154afab58d6516bacbd76efdeac051b315acf6599b5c55acaa3605a788dffee78e9ca5b989fb49c2c8cd0589c5589790e4466dc98d1f385555de932575f8e867dccb062c7d5d05761d99a5c268f5eec84d835671182dd2ef04e31ccaa77b24b31896120571c4febad040deae99687f6360fb1a0a84a7e96bd48fea3e9068f21a094c4368a7e91a76e434b64e88f57dafc781cc45fa4add8384f819f1fe4257680462dbdfe64941e914e562da10eed8e3e9e4c93738268aa5a849968bbe00a7babaaa27a2ff50dda8cf4f3aa524cdca79f03327a1d822dd75f0f91fa6556e9a4bdbdbf41ed20eb0d0f19ffce60598e0e71a10664e87d206431c5ac907d44c38b22d6730a90bef6d771992eec576a953fdb7db8390ffdc81be8319060d81a8fe55abafb4ea36343a0606082720cb4e1d4196c4018afb79fd1238e81f8ce3c47f7f115a68078214dda10f17da47808c3a3dea7faf8e05ce107aff6bdce5cb1322800c762008253faa9067458f4533551cae7a7f41dd04f5ae8e1ae106d327a4c1a9863c743185008d6e13a7ef01fa0fb08f85661917ed6bb6522e41d9677637a78264d104bd54aa6d1deea490bd76a18120179cf4e9a9d60ccbad82c28e77961f89147765c542a89541c14af290dde7e2b01ab4f2f1f1a66c508b744ed10892cbce29545e5116ee35e729ba96ab9caa76350221ed14175208cd5c46c29e29b02145b597d8226f3b6a59591b6a5ae1333de1d76591b55b2fc255f3870c92eeb750107782900f49bfae8559bbdf3ccb3d0ead3470ab08f5c3ab7076b91e9ea2b90abb0cf3be2c740de1cd607fb82b72554de9213e16553288a5f06b2d05c8490e8195cc8d9bd9d022744b34044afe237692ba7294bf0c780fe637dfc3eff31ce472134fbdbf491393b4512cd698892accf81c8868b235cc9fac4e08a2e9cbe69e03868f10163e6263a1f50e98c5cd46d80178a63b3a77354163aeafc0cf8372f89acd5c9869cfbeeb45613883def407d6ecdda2f0071a0f9986a2e0c1d9dadae52c05fd4843df3c55e56274cff7571f410589faf50c2f57722545a155c2d31cb9dc20000ad3df2eb86fb24560c8e4404393502024d5a145898621b4790108c706e2b8a7063902f5444f02122cf8756108519232242af08369898ef53b7a18c8aececae78f321d52217c7f1f986181abb9a0cd1288d64bbd211805101a1c85e777878ade5c3dd225a0f402718c027568519d566bd46c666cb7b97dc249f64dddd6655442811a52233c973151aee99836d60d1b960e338d8e0f979925443925b43f7ddb3214287946c906fe9248698fe17050ca510591667191000ae6d5c01227a9a59e824419a52a94c36a6ea933ce2602322d091243f43300b33152e8da68019d0daea101e70730782bed15bfa3fb2e49f7d2fdcbee1d1a9124d10d82000ce04543149025d047566668393555377b4870ad959e6015994655bc1816bab1b8d64b0572fca5414be02eba5db97408545f0b41cdbff77f45be14fd844c4f9f60a91b150d20e4c90a4bf5d719b080590decf6045c10f4dedb469593791d94b0023a5e0d695d233b3a58b7fa939aa24ad093890e60b58eec319c01f1ca10a4f8f841101390b297cbfe034f0ef22a9ee6f682ca8f74f8c1dd9940158f2c04c1122cf517d861395225da8ba53a0e62e5e2a06796e98c627c2c50b7658fc9f421bbb46dd56635725e96bd9aa516a609de666ab9b2c72e420784c8d6a05acbbf63dfe8dabb7e2bc43f5637f2d749968651d618aee84b44fcbfe9e35110366de5058b5e0f81ab4629c13c616c3860d796657d75cafe023b594ad7c2e49782bc9bacd83d09922ae9a0909c16ad4a730418ad8ff7623ce9d0889ab1b712de7d0064924dea5f495857b92be067009ffa5e668d246910c114db0d1c100e7b98a6f9dc2a7e8868114ba2c410de53d4aa1bc1ccf81ae367d0717f7d9ea9e0f3d7badc5906fa782e7ec6de8d352b6f3949fa901eaca63488533318ef4d61dc02537bf07154ab7892c1fb9f2a1c9611a0a1304ef5d5c3af5a53c8420e861c01676b9f8d8a6e1892aef68da70d94be60eccc0714b3ddf9a088f5fcdae11eb79c9f8d3524b8bcb12aced60c7d7ed60245d4f1c21cec1260247a374b03099470b10c0d0508975b78813fb14269228ec37dc679d1e32f3833f55f34ac4a9b8e5067776c8d9f030846b0584eff4bd0ecb85171ada341f5e8d7da1ed031ab095c7f985290b8329487c1818364063736c36181dfb94c3059ba4b346c76d464866e3712570b795eeeff46f87ef6536b60d812e5c7cf1b0f029739b33ed104242d15e06bfe5230112ed048c44555a857f2e90d08d1848a4ddceb04e77da139479ca1308888b2e44028b08a7602d49639bf1157f874317fd5112fcd9337e2f0aa24a44a83c30b81fabf97e0e8908203727719183e94149f5e3713cd52fbfb5fb34ff00a7ada7ea83918a488ff7a1ac2741b37a5287d50029b23ec44ddbc0f855c1f0541d5adf27bf0fb99d01d2681ded8da29bcd36ef63ebc11fdd7c80e82749683b2e591016a0743000fe5db17fe72a8590957e8b23bc1aa79124c62fc69e1e34ebfeabc9f4baa7204e3804ed031a80cd1bcc2aab1e505f1010cc12df174a22b29ef635b95f98c1294dfb4e68ae13e0d57bdad2e17c7f26bfaaf20cb788f12cd1f32ce1e5560e2865956ef739eaefdf2e28aa14668bb6264e2be6de0411b6a66d925690a5c90f56d621a33980e25e209dd2b7c92c5fa7b61b17c870a147acf88ae1c59468a8744c4d95293680bbb82b28b7b4c0272cc9066fe420b5876e1b73b6ed12e0da0ee32715a955319d00ec5077e4bcf5181898999f4411594a3384df12af32f643041b4744737fced333b3bf61202fcade37b01042b16948edb90ecc9b076e5177a69894d86381638bb1d931d561105feda978ee496c339c930a1ddbb599dfb7d6966dd02325b5c7f1e2f00d080ea94bed91ab1efed732b00e2f4a7274e16daab9829fb4a3dc6655c443b02ba09566542015312f9d5edf070504fe9ad9ec74cd827b93373723b806646a88407826bd9f2376cf17f852d6f2baf30507d87f732d46c84c2a10c2b647d171fb18c51ac54d5af01d10768a42f1121a680efc656326e33ed4189393d09f65ece2bd84a1df8c9f620a8656276fa642dc5d38e0057642931f0bb9627692d55a800c40d4d241e4a49318d4aa76985e05d605f3c50e5dc9fbd528d99cc0989eb8408a6be8573b6efbe58d31b688a5666b2a1608249587cbbd9643494f0efc96ccc99d2f6ba51bdc4074981a56c894edb0db1b6edca947f79c7ba1441c5e9029a8063ed7168d7eae313888e6c3f8cf96c0bb47b5a3d265475e68ae5b6cc3cea77cd359b066cb59b08f4ecd9c5d96ca34857827a61474744424156da778af2b7c44759eb830e69ab953337b136edd18089c26dbc574bbdbbdf8b4b68bde298542744227ce612c81dcd5bca417b083bc074b5ea4cf8ca243de9a20b66c2e80be5da0bf2596f70d5160e3413d12c75eba19ab85269e72d4fb1e8eb23188b64e531679cf724c359ead63ccc4997b92623d185100560131d81699272ad6a603ce123564d08c0c36b6acf4e8e0a44ed992d4a5f95c6b51fa0da82b2c60be786678949eaa66e79a12e615e02b125d7410bf0a091acd74856aae2e489868ecba22ec2a2ce3ee04c4ef4df6aceddf63eb4cd97c43dae2328f77c6415f660d8ff99115393ef371164049e0ae354719a2a1ac102373fdaee29c8fc5291fd9c57ba4b104acb173449470376b8b51f2345261c9cc5cf21fba7feeb8a8a2dc904869bf5b3b8b88f535037ccf4725bcb0125d649d13b263b1cf21f6ddb6520e87dc17e9010bf56a0a603337fc4afda23eddbcab0cd419e1e2231c3889faf2673848da2765e4ed991a7252884c38cba12a7e9b0afce82b23501069c158cffb7f7abdc7d79b00ca0a6548b42a508ae966248a8b155015dfc4156a1786c0305452fc2449d18ac80944b9a1112e951c589d6b0236d80c21367483124be8d63ad9ab686a0885e291af3a62f8c65775a49b207e55014e7cdfa5667364f4c28d9f77dcdc26ef6848aaf9e3c8660303647fd940c9e3f000724a39a4f6d88de8e61b7a1c59e0e5711de6e50e7eb636b63846edc872e726bc96a6355173c1121c8c48284a5982b7f5743b64d65d7aa6010467c94ea214d3a88ab9a8a61f867e552c37f75c3cb60329248f2abf7df160f279fae3879abe6fd4f4c0b3ccae1ea20e458afc5c627ce1e723278a59341161109ac7f811184f469ca28331c395d5495804d528b36e570e69e4f3194308ce2479d4724d83a8e3cebd806bdf6bce203a605f1b9d084c6c63a348898a3f3cd9603c17a929b7ed5308d25485a4ed1487b2c8cf80db583ca6032d539b4bbd81ad5baa745c16fbf9b1c4b6837c616860628723407cfaff8b41bd66b15b44449dafc3d641d7ac0a1c8f1a81cc0833e90f1ac9866035efb727489e13206089ab133656c17f4b9983a0a50783466dc4e144bbf7cdbbb25ae7f3a78c1f3526caafa316d0954b817094935e4f467fb33267562a2598e9d370fd0db452955af89168ae5e7d8102c48a75b117b2f0df715df1cdccc64b4f1aed40a28e2a9684c8b23dc2efac9faf50e783e87e32a09f59ba452f53f25da0fb66c67b44915e7fdf53c7d38b94ea0928430055cbb64c0155a08e78d0a0a03d35a0c6e036643cb8948881c6bb3102965d5ac45d3d74d9ceb1b194fc1a0bb0e2972b06fbc193a51599f25d61cd3c04e9c70fb01ee4f6256ecb8ac72c0ccf54b1880466af6b73b2ac0f17c51c8ba2e59bb06150cef3e70a2b0df8425825c0d1d500cf40a92dd4211645b286ce0d60ec114db9a628a246145c8aa238c7d3b5577fe0e8b0a53637c39b03073a0db4d5bd41ffb309360461f207423c81b14212d27832818d1613f3a59a537aa59df63c37095f0524ed2e806d62148f1d05deefa5fbf71682b27b221364a8f4a241e276a9aac3be3d530c9fa23972c0231471716109c05ab198c2fb89b640b6eb167ded25251e3825b229cd93926523c2f6c6da61d705a29ca717d8c2a577f502d8258b458e7ceea58e316c9e4cdcc98b5768539789470cf00f42791a73d2c7dfcdb4beb79a6fbe37c162fd4b45cf89dff662071ab53de836618586955e23bbaca84bc90a975013c21f5430f67d37c413c76f50633bb3fa00b8ac29706dbc7a2a7164d1ac9b4aee96e89b932cd22690dcc975b1981c1732d981c541fc979dcd4e40ba10f42cc278275efd5728bf0edaa80325b445dd93853a695990db8f7c98e75136d3c6e5b0c997b8b90c42cf520dbdb85eca2dfaa92190f6f7ad34ba5b680df229aa39414bd40cfbc822adf73105dcc4946914d0086aabf61a2e111b0561acc7471c27326d5eb9101d1bb22ccf4ed46e29c46c4db56d678dc897de91144878d4669cbe89aada2d0dffb1412809a42ba0455344f13a4dd79e83d2b8a934960c60b6cf8434becce88a7c38c30ecd299607dab3e62dbc5df9876114157d4e181d8029c90e9e0d4e322b2aaa551d1fedb2a9263d06fe0923d4929d366b1921f63909adc07f08fda636d8680611c960a44c21c1d53992e9e43d1f614d3bdef264f7876f04085aeafc0922fb60d17df226f74067d02acf1b68c821342a95c1526b4d88d62154763a7348e4903f90781880c115b1d824d6df2e2613da0837f8e7bc3b16053222b22a51a9f0310eae8ca563d38f3d1dedee9cacc6283da9f960b124d74cb57d087a8dc26dd034a739009e5ded0b86167305b48a9326605ff8755bb51f4ad420d340bff856295263d28b688de259f8016495bd924a4554add83296035e831ada4c40d4ab43c7cde5d0cec17f5807d1d12cad71fd631a275ac7f486c0754c1c1610a29d287533116b0e175feb9439c701bcc69e4a589eb7b1948685104bb836e309044ddb6a649a50eec7a17466606cf0e4eaecf2371832f8cf0eec74a89464d910fa012cd5f1684507f7dcbcc73b0c22993d1885ce82bdf5da9baa82f503eed250582702e19b6801928a6c250f0c92c09b738e45bfa908e494134fb3e5ad448718030177c08b32ec56a19191c5efd91d506af0c94fdebf7f880cff90a062fc37f4399bf8df4b6c96dd6ead1c9a5ab0ed2168dc53302464bac80fc5442041ea8065ef7ff418e1529f7d754dc82ba1adcb9b2343c7d18d75c3993470831d9101109886797bfca183f7f0fcd5016f1d594bf08f5171c2db7fba58c35395cb066ac952511350c055bfe31c74c2b9dfe8e51fea635bf32c25260b335970f86c0937ef248e52960b21c0fe7b7889dec802099cb2f38d6b35d96b2634eb76056f64a69bfd439533b94e0146164eed8671a373c76ad1119a3806c3cbee1fea6e058ca104c01c1c9390a1b65a9d4f03311c013a0b5dd1f177ed9b2a208bb76c497599851ece4582311a49dff2b23c9a7cbbe6dc4b8071e691d73eb7f20b2379a752845111a2d8cb9f22150d2f490ba553f62f60c8a8fd435d9d602d54f38c10c29f738320e0ca12b1f8f80354855e0b718303e590e480949d240494015c0d12ba1d3b8efe213dd0bfc3995f2d0dbdf0f30f45f3f44b2c75f6956cb7bea71f76fcead17ffd14acf8973e72ca2c26c7c1062194f270e98965a9b8019b72da39f4b0faaf5bf590057b2f3487bb3441805be835ce87f74da93ff7d6f1dc5e308248b983bf1c4171255561e5e182a9ed4b491babff552973c36f0c5061fab2c19a1f95d80f92931ee50de1939403b787a47ee2c75e6116eed783509053521f9c09d9dfbf48d5d1f945d4394444dae25831dbe8447b96421815e33823bedbba1e759b87ab55e7073d349cae0ab696eb9669d8b24543006a4f30e71db7a97884f6806d3a2d9062d8b4a5aaf10ac8393fbfe2bb03141be3d7736cd3db6f4607e740aea697dc192dc38aeac5398aa8d62d621981998023a4f65b59f20c541c88ece9b3f9bd59eceb931acc7c88e8f3869d674d787eb8316a71fadebbce4fcbe25967f3e3c5535cf159161068e080066261082257ef0f34348726c0d12a4895a0f5f4790af1ebd98073c7b3095e60d9adbaf8d3b761a73f794bced0e91a69e277246d8c55f58001b71f5691bc267f77126d07a118d327000a4c13cea0d162dd91647aa3a01998042b582b09173c48cd7061ff1dd7a9b0fd77401d7b1734962d0011da27c5e968fce794f312916b17003c875360606074d407533811d478a4cc00c9ccb436a57cd0f4c9c9fc7e4d36638bfaa4f8128feec98a33d77de7965e5dc354b5c63ac066f7bdcc9ce3545c8550ca3b24a485b2af72876f377978928b35493d77c65f264374dd732506213f11eb13877ad24d573b97822d892a0c47a25be26adfd8329326d22d73d20a24b0dd86c0fd3b737ca462ec3274a95672994b1df2783876e8d40e36a633de2cc9ed12153510f1ad21e42b544843900804648f282b1975fb3eae14712f16ae8a3d11ffbae3553c43fd0420f3e3e772af36b0f9f06d6625f4160e4a7cc8ad5ca91e94d8031a3b47aa1356e548877557388c82f53d77bed73bc514692d583430a416c503519e00e94a379f5511da47fec5144f90d233522a940867d774191756d1cac841a7263b0142d7efdc2f87799e134604dcd3cc08072d284d35845568b155c48c318edef945cb0f9acf5ec0fa53354a89a39e703ba90d791d211a97602a8c9a82cfb3978975618fa8801b39ae51c02b98fd21a143713babfea7ae6ada0ac6ea8156c9918d1a836f12682ac6cbb4ebd16e4bb63c698f19c7d48a88cc1189980a8f99d98842ba1a6579fe9993795ea93337f3ff843995a4dbcf7eb7eda78a2333530cdc661aebeef035c21ce8659efd4f0cb7874706e0d7dec87844db7db09118110cbd591c09476d5a140509ae2d5e89c1fc7d6296dea4d07d1a329e7000595d8ff5cc7098894dfe8117243d933145641ca74634895f5ca152204643b8eb103f643adf065d0a94ebaefc189f3083158a2b70b82a17d5571884b0fb4ba41a538355ec503cb8f5ceda2e6cea5340c813820132f30ae223509d0a2582946a6e1e1a35cf323a7ae30ad9a1af5fa90ee163bd6f768f967667125b417cc7e0b515daf13059e84abb396b8bed916a74298c87641ba402726937a217b9a579cfc1e2d4430c0e3b10eb15cfad29cf1122c2940063064e5bbf6edfede0ed5cc589ec6d8eac73291ed7464972a9d5edd58e627877f1080afaffd8f297f8d4000dc30f31a79da9f19a812ceb0b67d5ac1020658886aa9bbd4c4e86fffce654422c3952b4a680002d994e6aec63e6fdadf6485c2f14832bf87238aba978b637bedcdc719b00452a81437875ac945fec15fbedb21c82d57e2ad7d2f5e9e6385508a50c4930208e290402a1480eae85fbd64572b5d4c4fc2ee992a5750145ef206368caa96427c4c476b4cd0cfe623c0ebbd9f40a7eb2d98abd8a1829e6ebb33f6012c16e4b6f5cb0205d1d2cbfddb6151b872ea9a3c7d1b66143218c79dca14fd080eec1ac18098dc58ff5d5be3070f9b34b7b750c64ae6aedc1b0c36944af536b6b91cba942d0f8322bb8048a419b7e423ec58649b23d50526ee5cfaa129cbeb4f1d7661773e290e13b163307f00f0eb096d1a1fcc3e8bb910b7e3e1cb5620a45f8ef5f8d6fe021f4f6083eba9769d367bae40fb59a06859fddd88d630040161724abda7e1c2cf06e4d47bc97f5c04ab191023e3e1fdf8aafa48d2bf852ef0784079de3e2fd840384369b651d84186aa251e8bd16c616ef5512708e0670083e9f002597283344cc1c8848073d78c8003f0ad88be21093c6be6a89581023341e3bced5f93d55e3738a8b304ccca8bdf3d7728c8eee034f22921fbaebbc45a2c427427d2f816caa052c21f79f2ce63fde20a8fe3d5c82aa36ce5c42568415b003778105df3995ad018eb14c3fe222519ac1fe73a78a1411b293079444b0758f6679441358f66f3cabde1be0ee04df0df50738c0e9108244a41e26a26e178d6f800b1a97893aa1480be5d3017bc0a3ebacff004c0e0f3b2544b61cadf88a97c071033db161020cc25761c0b71519ef658015d5e16ef2d29fdd9ed04f4a8ec89ece858e4cd7bf64bd02beef186bd0aaf556df04470f67fa6e9111b0207e5f259097166cc0641882de6f9cfc87d695836e892cfeeb02c4bba56560801124c1bb02fcfc1ae448d4c38cf80b352b218035c809503e0bbb4b0f3fb300844fd24f445a7d95828e26067bb911382e8a9e56deb7d36608bed3284237db27e80bd3c1df443494567286e19955f5a90d5a21cf5f6d850487466561fcd43924607feee9260ce03b26761a0a520b3863b00d2bfc84a2fe72f880c14c331f782643ac11ecc5060cbe3ea14b6e7d421d89c9e5583154311a7d425da6733534053954ea1ce3765c4661723e216d43b102aa4001f7f6ce73ac6bdc69dd09b1ce13204eeb7498cb1ce61ebf6525ddee0f6ab096066def768a43617b42fdf7da133241e4fb40b08813ea9543eb097da7c6f5078a746eab11fd5de9ba8fcf1d082fcf52601beca59e90e6cbb832d191abd334aa3a22747623a79d9a8dfebd523cf677ed8c97a6b4c4864794a6a2ba3c752596ec52d4884f238487f4f9a546d0ac7fabe3de90f00fa6487bf614b04f8ceb2318f60f66669d888e981528fab1d6fde64129cb1b9ee31aa50fa6384e0f114d71c0e12231153d28be4d31d3271c9cddceabf115539676b603d483705de931e027e3f401a13c57d4839cd4cb9ca32dee345986d483b4272942e3367c6c5a9541d206b7d4835e15bbd20871b5b1530fa219879dc9892ac8f8612305d5831c8633e2a648c65fcd9ec0809020aaff9d03a59136f4c098d09e179a4f5f544f090b2153f053f5c14cb123ff2f520f39cf04cdb3a1130e503c6e1a1825d4d6e644d484c6cb37cd9224416573c4bc45b139dd255015660eeab545ce9e68b30d42ba246c1cf2881b84941b8dae4d7708af1842bef85b4c93d8fd348a73f295eae4aa4738ad4b5a0c9bb371bbc3aa908b2db13b7656c7617dc7da82f4bc7bdc64777eda16c16519323b4b567d6cb42832b2ed5bbc2d47f670bb01928b239d1c7789779a0c668f1e5416eb18363d1d50c6cafbb433417d1f0c35f217757047ad17872f00e8121e8241c11550e2df41f77c2540ec6a697c75bd102cb2f87baee65638be84485becf5db019063448abcf894e82ad822867ee6e19d3e487ee302e9f083562cae03f534956351d4064ecfd09574fd00ed362eb892a93a4957d130caa9cea3c07e254d90c82a47991df280d5ac0fa67dc227c6d25645cebd4b8db6888ab738400d2a98f3ffa6c13fc0afebd0ddb571049d50c3671638d69e4116048991459d379ae2b7566dce6918e2bc8239b77a9ac17e7ba69f840e97de36da736ff45656f47e74fdeab7e83e61aeb12ca75f0320e6dc6bd2a768b9bcf1da16a324042cd355cb7274b9f304ce711cc92b41d55c7b95fa1a5b96e341a7ce67ad4a3da29f3f9a4040c945321eb9deb74b9a6d7a716196c2d212bbf7029dc6bea18e5d96d35114238dda93f5396e84040fd272226630951aa64e714b15836de3ac1285fefc9f5259884cbb94920d717491f48bb89f0d5bf8b9076a56210bfb27c31096cf5165dd923fa4e7b6433509328c31a7cc8ca3a0d92c27fa5dc8914f52ff448c1cf55cee46a249ce213350c321301f1dbc58ea15f901e161c6c5e633bf9627932b36c6302d760e89eea845b4c49c5c3a3d0afb1b457b3865f3d50c6fa0860fd35e48b6e7c7e0e43da0c642739acb1e809109168c37c2344f9bbf827d4583ce483947244358c54a4eb018b7102b479739061c532120841aa012637c6757f62ed589d14864a54d2272c19708aed213177af9712245f9fc74270fb1c212d900b2b7db321b93a9d91199c6df7aa6528e2fcd316a7d267104ac5dcd5f0791025ddcb784adb8400849daec0ce77eee3ac9ba633c9328814f0836df662df4f46adb109a1831981272ea29b52f5492169b0198c96919639fbe2852d5eb09530324ae56b84ea2a4e866837792439cb0c18f4a24c6cca8c200fb07e94d2467b45e184abf93bad6ec68177339294a39558c186ba857bd7ec882d3292c81b8dcc1c204da32031a8c898b5865ae4a8b564f7b84965600221936206d816efce0821d988c5bce6105a4c534e3d27e07c8307f308489d08881b91bd6461241ab9b7f89213d5e98a5c40145a314d0140a8c6133f3aa10dd6893a3530ad7c0fa03198ae77d68a2936ff2c05ab9516f6f323a0154bf67583600e212fae3e8fe29388c1722ffffb44830ae06ba8d731074e9efdb24df8a3e35e266e820a4a4d93721babdcbe36966e06fe4770f186ec07d068d9c9b9b4cf5860bfc2a6b595e561b065f58ef173c04179fa0ec061e44f86cee128d9cd79fe0063b1c9d8b084bdf2df4e202b6a033725c251d421d4c134b4bb2168ed0d988f4bdffd1244469468bd20fdc862eb980b20c0597011a0c75426485174183a7d9e0e7fa12dc1bc98d32872b13672e1b02f8a71067e2f9b6d78f248f4b8f8d2e2aee7cb82d48693ae10c88c9de93e1747026bc93541f5d52daaecfc50eaac30a3803bacbccfba308b351371e76615d02c309ef85bbed22023cde8f436d44e7afc042f150ce39fb7e38a1a9534242c04eb32a54fb64e9a19d951508219d5a0f9994091fec929bcd7c50d4c66667438a7323c3cbcbcd2030c131384be15837cb0cf8a531e62ae90f4209deceb9508adfc7fb4983c2a26be89a4e5c10dd10f87f8153e118dcab373061c190bd70c43eac0a909b3e50bfc499be6f34d969b392d2cc13dae3049b69414ead8b553881d2da861014dedccaed6da0f585a4981cf70e2dd5ab3c7c2a490777e60075055477d521bade71cfcb3d3c659dfb5ee1ec7656ea73981e0b8d4854d1d222eea33630661b44796486029dab6a875ed2aa13c8ce6db99bb3743d4c5fddfea1c8a375b72b0b5f5bf02649c3de603a79b86f3ec8b9715a7b01bd70a27e27dca18df8c43903fb1b474731edd3ecc549452b40de401c74c7f96f9c6d3d78154b9deea38075d9cb60f0514ce0701c0776bd5c5736d53acaddd3a413556b73b3176ea97d541ce76eb5179a882ab0f50e58ea3d99db6b2f19aaa2ab71bdd51e5a934be11fc431d83f4122da599ac81db74a2e6c14ecfcef59fc44bcc7684ff6fd713cee66da4006230c620791e122332b32b21899d8b134cbd42b3903438e6ab615ec05f6c055bcc9cbe900406555a236b05eb5b1bd5416cfc37588f563b1ed6dec7911d93c3949a9b87fa6706ca2d92046a4867c47a90c3e37366148cc1dd24a19ffd2ce8b0d9b98f99a14d490ba5f930ac85bc2fdd659b7fee6531942bafc3e00c86e73a47d0ce147344a49c5dc964983b8939b097c2f7250e4473db38e11dd255ba87ef73fa14235ae0a4448c36b466b1754cbd04c42cc98444554787ead641cf488291747738b1f61955ef0ab4a7703e41170314d068af4223a054a91152f67c474b425d79e177963d2b792221a99b0891133ef20e9c81114f724434ea9c53318e494f45b53b96132cf3af3c0d5c183836ea943a4f486aec15c7e937dfc92fccf80380c830e8696713ea70f7d2ae6d096e53ca721dec11639804ee6509c2246e32b3a131a910f9d0d10a2cdd14a2627e7ba1f88a6fdc24fa541ff660489cdb93b5302261168248be32aac7f083b61784396421983ddece10ceeb056d9ed1998a5459d3178a6095674505554750db05100a5823a520e2b34d010cd43cb3927082e1e482013a35e3ae76e16b61b405ade0c1236e16a23f00d8c5f731361c863c994b0a912883c59a83f27852c54b319058cac57b3923398f8a399a558444409e293b620f7a1cde996b7b1d7452f944e7ca2db37d14d70d52903e41db0c27ee29f85f78a157cf2e41521213b73b4f2f644b9b85d99281d551efebc89ad3db29ce0add6e25f3d793e3dff35594aa223d7021f1fba2af97a556db126a624d6665ece0d1d8da310e3217af210715f2396c7a6c525c784730848cf424bdd829ab9f31cedcb894b1382c8758bb5b5b3ea93a213471cbc02528784423b7c401b615fb2f4d67734f97aa96a75854b77bfebc2fe1f5d4d55041550fe8581d061afad62b55b540c0852cfbf8446d9015ba08dcd44b0879cea885a97440c4098aa27eeb74722f1ba4c4f56d131f69b5b50018211b84db8b720b0b56bcc33ba5cd6e3efe398647a651b1f54ca9dce16c57e62a78ff6cac16207938357e4d399d378225c963bfd27e8e5e11f9c3db71e60d757c20b87a2fe501861e5756986581a442f4d8b6d0b139d414388ccd788ed491f53322dc866c769adfce6741c24077044bc837dea5cb3f9e5c23e493b95c9514ee63e7e811249500118f018dff3dc43ee0ed92a09e5c51485914472d4b8da09b00c49f92df1642db63787089fdf39871a435a3289ec56253171159a172c7ef0b55b6aaf2208a2a410f7b8ff059a404070a5515d5c767df98e575ed6b114252eb65d1d6ddd2ac27bd422d6300cc98c98a43b06e449153077a9737f526de81e908b2ae72b9a24844498446b10d738c5b6fca15b9190270276030251ddf5dc77f10bd9ae28e78eac49d4e0adcf5b2da7b4f0eb43370575e6c9dd43c61ab5e901331d77af2ae5799b810cff0ddce51242b96d497b48d53404bef08ea617a24a0941ce9b752ca5384b1f779a39ce50208cd4f09fc7cf6ab557a7a4dc376074cea0951cec0528d5c4c6bfa807bc9ddccd863fa267bab41150ba4351eef41f3acf126e4940613a540816a06c734b0c9a7c5d2078d4016be8a54189f8e2b7d50c835568c33ea142ff1418cafca40ea78339e61ad2cc5d4a064fb90b22531408f8cc9602caf4cff298474a4bbb07f5d4c23216b9b7d79936797aefafd7757d70562c5c8f9d50bdfa37b997c3d76280b9ac3d6d97912e15853a11ae68aa120bba5c0d33a3dc8383f0c2296e91ae6a845087943c3deab920ea2fb4703a4e85cc6164713f4dd0596d6b3e1dd17a5f6745874996c56221758f6e9b80d8b9cf24bf5d1aaed591f5373197f95f058d057f305e102847e387b220f6f3ef3908fea01ca9eb2e7f4fe4efd2e5b0818975e11b740ec7d052e8e16bfdd145ba5521879e4e8c5f53ea2782a07a0bb0d0301481e47c722e565b54f3580a08e7a5bd9e3ca649f7034ac7561618b6872d57c8378bf500a5cbc2cd5951edaa347c7a1d19431b192b2b62f42041ba620a0e4621a8474d98cb0f235f88ccec8b13f745afb7f13c481c86b504207bf473888e63972aeaa20335be5df70cd08562734dfc424bcd6124075d45b382704c2e0a2c5913cdcd0a4916b975cf25ae7cefd0b06b595d6c465e5dc1b4a254801251b9987c60aa98d832b86fab2e47507d570a15f448f2ca32567e95a201cac48fcd42ffaf3c38390fa600e124db428640392f50d8bb40cbfa49a2198dfa42b3b68d1bd859e42b89a736f7816be1bfd16beb17f18d640beb729e0ee973cb463bc3bf6234821f15eada9e17eab2d9742ac3ef8154354891df8dcc6574cd4f26787ec69e7c68dc6e9985d2cff97fdce4baf2a4fc5c1b9c7d267d842a2ad4319640dd2b4553988fb11a382e9a6a448516b4e469470296112d812c0116a0cb267d0785d8f0e711d6a81871eff70ef765f291738d76b598e9573392fad8d5b11cda1e4630c4e2879f7a57c3104cca066089b21772e2d3cb157e2857bb003a4e58994bdd2a1c407df1850f89ca5c8b309af73b73235bede94d2d7f38af91bc619ce15685c02da39947ffb3fcdc3cc83be083f0b9aea565bc84b222e99b463ed2f985b970ba2250b6ab8d6d1e45ba0f8eaeaa3f1d8668123b3cb131bf156bcceb83ac52084be9431acc9bc1a170cc618e260b934e34bc1b1501dcb5e4a68addcede2c222721c473eb4ab533c9dad792dc7011e5a37d9f6bcea44549caf88a43615cea543e4f4c3e60a4e1cf8370a0e087ba1da2bef45b852dd338cff1d773ff206286e25c99c381d9a800015b79fea2e61b3386ef5d114a5938fa9a37083313e19874080babfe94ee41ea651ef24d1399ebe4d25f833bb6ea47ffbdacab6412a21de5b123db4102b68d77961531b9c94bb420c829568374e58e589526c75276e3454add5a670f60a08e159297bb2d28350f03af8215b6b6c3202e92e4e06bd15541f9252d5b1de511b642b11c13898088dc84ceb9041d437a617f8da46052ed395b13f6086f66ff5d0e59962c12bc88121bcc22e45f6c27ca4cc26684f4a9c49c13a565f841b65354c0056cc93ef9f7db85da5f9cb0331b5314c97831fdd46270f965e7e2f5f85904648ec31f3f2e9db5006e0ac82f2308dc5a300cc92d29a2c740ef9c9b227ba7543310eb3383dd0cf7cd0abaaa460f42846ab7dec5ac1bfaff1f699fad0e0e62a577a91535ea674a30c5035ac9f81d785902082a16912ccbe46c3595f4ec9366581fc4299069e45d149d6888061532782f66511161b8c8c622c6935206e2e480bad9c796f57f104b714bb314946265177d11a32d92da1e52628b151fa160e0d2f9d3a0dfbb217da44fcdcd9788d61fd7dab26fd5030a2fbeada3172dab0f8df2bb1c8cff986cee9c21eabfacfc2f89b8f30ffea0854b6b18572e9dcb1ea988c02fc53c8eb51d8f8a202fa9199593af7d3844f0105273c2d2a848385d73233d928a1aade988a7691c54a80bc8b7ccae466504411310d58671232a835ea8fea4e1f3eb46835513aa00df48ff4a8622af0e79cf0138dcfbea45b2b7eb9031aa9d3205d78245dd69c8dc52f4d6ce95292e4ecf53c29537fab051e92c24e334d4e0c355f280d752a17e30dee173e11fbe0f8e1b1f2eb019ac87fb0f5153413498ec522cbac30f8a0328e4f5de8e8db7b6663e70c5766d9093406f1c205e33db839d558b035758cf9277ff15489c1eeb914d8536904c278b9a47108438bda3f29680500994f0298d799643cc8e0446e0c7d391f07acee70841a5cdc65cf58f1be9955b2a3b8573cd083c499f2aba88108e3e42aa7046715c91b34e8ed28ae829fba0f84dade7cb262fcad988cae2003b1df2b3a67c5cf554644409fc5e1edb890d9cda9f98b781d6c695c7973800391bc6777115885b2544c148df6472d6485379c8ac086ae65451006224d73e748cc14bd2a301190abe3e8f985e482c7697049840f9ee15bb965e80c12a23c2aa0ae13adbfb3a8391fd1992f968be86f1d6d185fbd4849f58a94d1bdc2c3e2fc937cc324f66e7df9812751ec1ff9619df2535b21ec39ff15f28549201590e3793d1adc40aeea5b57d116b9db87d29ed8b5ec9b7f21dc2fb2bf0baf8b2f64d5c98e526588863bab071ca8055f169114dbaa92ae861537cc66d60ed37d1e38d1d4dc414812de56ab40c385e38b9fb333d61717d61715e2d97be37d554495c44e7a87ffb2ae1cbaa0a686a8b493537a5094e307be2f438e3d1030c13528db8ebeed66299eb946407d76e17d4f322c8dda42196f5bf18338fa0f9bd9a993a0606ca90445282453184073d62ae54af7c61f0a1ca5d0989e7b2ca41c52354506b48b4e0583216e4518ce9d2761cc934d71affca6e8db2ac2c492d3b063e8e05a3dfd6a23d70b7044d1efc0d00722c356310d3140ed3b2fb50cce282ca53ef70b9a90c2b65992471292b252fbacd665d1a8d61834b56ed119ddc78b30e691fa0aa6b2bf0a1b9a4dc5bce5f02b38cd34148803d95326f810f770feac1320588ceb00828bc61e0838acc39a90b7e3912c4900462d9cccf6336086ca82db224d832b038b22c6e276ecba95e1befab061e9eb4f31a78ddefb1448dc18407d7d81d269361423f070e70bd0a8269a687fd1256e1aa13ce17544d0d3441f7f25bc91feaf8110c2b0a404749c027795e83ead13b7ce4cf3b293cf5d8eff1bd99fc5efd46603584c9bf89b0ed9b85e1e9a3dd13065329c7dcca9288dbad67325d7fdc1611d6a4b571ed216b9fc9703161782d322d19e26d08405c840856184c59ce5e4a06796bd1ae4e51b01701f56fb4610d12b0237917a9974dfe3f0560cefde4e781d8f979680a69c63eaeebfc5e160e533d0448933e67329f829129010fdc51d327e23f558f0b097c8d8e4d583d9cf0d68b43bc8cfc99ac16176905a1a56822c39b5ca98d889b49b3df885d012418319be6849f60d08839ce2d13aa3bc41f3774ecf36f9a99718d403185f196c617a631301f28c5f5c1d9c479b24105e22e77b665578707b93a3b08ed17316215f5168d6f91399c512c9fc943b3859201d25a305fe4a6dbe88013b773588633d6cefffb29c23c619817f3619544c4927f53aecaf5f60e6432035a0e226955309a95aa0d1a18b930f203cc0a1a25cc4be1cf23e73df16b38bf6d10b50ffc5a56b617a88180e3a56fbb70d0d4b73e365888ff96cfb49e71a3ebe4043aaa3d50fde5f11d898fb38d659e452c69f4caeeeeeeee9d487006630690067ce4b1a77530b7765cbf47ce9d0b9c8dde4915c44077740e2b98025ded7ce74bc707eb098e17f93752fbbd4bfcec695f239d58b0984c56924b506494c44a609bc54f17524949c9a5dbe0127d0b1c07b98d6110743aa5be90b542b1602dd1151baf0793c9eeec672895f80a63b427c6bf22bc575eb6baa4ebddefd2eb001a9bb544d784c152a890e52a9958c01b02791bf7c75de39e310637f0c19547d55ac408095ec7cbe0b586028565d96a6b75b616979e98c57001c385fa3e293d0fa4d4f33c0f7b5ec62531e70c78557617844276baa1c55686f02e61afe4952a0bc6fc4117f0eef5809024867c0044e49930c337e384c60968cede6fa4a4407161d50e04e8c22e0a935299ac425753bb49ed99da31b55f8cebbec618973b28516ca5b46be7ad73febe54bf2b7e6dbd78ebd75baf0a753d2ca23849d1fd90744d37dbf7feffabe7e17cf14402df4c026ee588fbb3ff2c3c5a3badf95ef93fc33c1aeae537df7b0a6fea82125f8c722570c18b650194c0ffa59c3287477650c8a142a5c623971092c768272ee3238f1199d1bc253a17e843b25acb8bb0ddefb278576e3d532934e40aa1d168b5106d8371ea7d422ad1e8919e103df1ad8cb0d816ae542cb1f57f7a9627402992672a8542a191e6b809d03cda014f909dbe52e7dc73115479836b79d3f16cd8526854caa99f30f9cf7b7f446da5b9447502c93ec423efbdf762922c204a5f6aa88c7423e8433cc6632b96fecf8bb0ddf56de7a3c5bb72cb31d758f7aa2df5328a0c4df2febeeafe4abf4acb7be5f55ecf22f27892244492be2be5e85b69dd3d33cd92b51cfdf8514a7aefbdfaa2e8abf54dd225e99280eebd3590701b0053702d74dbbe4d722378897bf1ed6eedb76a7d6dc6b75214be83e96b57e16b44bdacf2128400e279d8283f5f03d1ac48046ce1c280169b1972ec90265c0c299a28197c2904fd18536b7722f61d1c179c817d541e4732e925cda66b62ae0ded1ada4d68e7b84f85abda335f3bf7d94032343b20470819221631125be2bb204494f88ffc8fc92dbec468fd596689d179bbe01f3eea941ff991a04f1d02a47622b53e6c538942a38f94faba9674a160d22b815eca3467b4dadc5cadd7089335a592acfa25130d44e063be62a696f308e908e948697b58dc0536124fe0241020484881aba2af15899814fdbffeffd7dfabcaee8fe997ff128ae98fb149687c1f6583a1dc85f22e5130c577c523b73c6189e055814d470f4a29a5946e2adca693822c20e7d44fa0b4d669c474628567a5b4e4ca8e100bd00d58e94d11698ae6ecbcf82b499223e9c991fc26be3affdd784faced3feb57ef791e49e5fdb3a6a75ab55ce3c35eacff8a491c92223a452f2b5b6c6daa542ad6ab262dc2dba490de9462d391e2440873f2b2922d546cd120b4d65a9f569b1dfdc16bc8cffdff6d357dd41e54ca0e7fad93d6595ddbaaae68ed219351d009c922514fa3947e95b356d4ecb3d73a679528d45c09b1344917f06e073f74dc6cf11607085cff560fa824f00006a12f94a1b6a96165862350589185144d48c026b98d6bb57555eb9bba156d5802135a3358313112b7206038e10c58c0220bd717ce1063c1f7062449d020c72d08fb8329304114814660c1c4b28b36e034affe1fbfeefb79677df82b2efb965dcb8ef17f961129a2628ddc7a6ddd52fe864c21f2729315a111a9a528114ac99123546949110222e47710515124ede5bfa421a121699172c616685022f5a333e46b1e6c1e19158eb9946436aee482e97c4c69823e6965d3e1554e65a7d20dff4fecfab1aef4014353c4324173244f12254119e6adbb4fd7c952acfbc84e04bdeb612298488ea42749a2d7cb3ef6b5a7c562b1d9b3b69e054e762210000a6e4740e4c2d9ede711800237e46d746004aa90234507307072624c314b0aba04317e173e9854f0610a15954f01361d92053944b44a5f246b3f92b51749f97dd2e2bcf1b5575ad9b3ecbbca17ed92ca979452bee845545a2c9b60a9b4528be54b762aa5a4af579682d6dbf64da82a9525b58bc15ea2644aaae44a7e5e76f225471993b2dac76a3fa337ffcd5049e5cb582cf6321aa34f5f86b2f4125449d9c952c8438688983ec41f2cdfc38877fdeb47fa99a0d9392192222949d2abb4524a1f0912243f254502a3b946122ea587f9e1b8d1ff67fc3f97f29bf2279f59fa90f9ac303f7c41e3b10c40ba0021aeed5f92f9d367fef298ce7da673994c26433b473b86f60bed7ff9ffa7bd5e500ffe295533defa31cf3cefedda1fd4c73cd147d5d3acb4d2df58f4bf25331e1f408e08b7ef92bb5d28c7b4ce79e7088b2ac6f851ab37d9d51459a2c8b5fe551abb8d47d38873036eba0b3603b524f156c496eb3556cf48112596f8ae62590235a7e971bd5e9df1c518dbdb6abdac75513bc0c1977defedb78c36db7bc3b8886fbdc56cbf1ddaa23ddaa05d79b5fb73ce797f280f90b90dc599fe1036946d296f970fb71096d26aaa2624fa3d24608b68885210d53377ccb905bd408baea82b222bd62296c95994ac683a3536bdda4cbc8e1cab59f632b0e2762e63fa8d71dd1d65b06044fba7036d5a6ba527b5632cc9da92f8f3240c53561e11f7cab917df4b1e654c7b2eef175982c23b1a75e96822e42220219778e5b8d8c060b09dc2e3b7513bb5515b7fac590b0c0693e9fa21418550fe585830ae626b2473b005a6e283c060d831965a36ac5fab49ad999ae25c55c3aa8eb9340cd72d6e31ac2a57a86131d9a741bddaa92f64992ccb4e699a9ee99a6ee9344b8b7af5719d401dd654adb5baaaabba6a1d452cdf3595d47e3f2cba74f2d7925be4e0662a7e07474941896112bab56f1113865b6cb92e7d4a2f94726a6272efa599905361c29083a2a84191b62e4ba458b5a2fa623dc3186f10ce23de25acbf9c71ce7aa5595ad42dedd29f0d994a2ce069445d9068b4bddb31c63748614dc3f0dd61740ba7bd84f60bbd9445599445698bd60bb4c0b3a1ef8ab7755d9b570fec9b0bca097660c4096eb8679f1620805303c9922cae4cb10561ba5abc3d52e2dd06c30771b5b04b43eced5fcacaa7e5b456cc2daf1c2567576ea1e415233268351acc712727bda7a4782acabdb5d65a6bad3764abed66876ed59ec09793567bb114b01c78675720c67bf1874b30d3455fb8eeafefbddf1d7bc6a5fce15beff8ed0f668a5d9d6f5ead5662b69e6d22e4c4132b3b4ac246513bfcf1a67e486754148eab600070d0ab1fc2000848424701075ebbdee1b1b9b3bb060f366ef4e0030e0fe7b9ae6ad8fb3680b5753320cf72cef9f9b6cd03ace4a9595ad4ad2262b5f18bd57010fb5af44ab3b4a85b7af5e5599e6d5d77bac3e106aa6bbddbdd4e071a3984fb86b7bb5db84b2011b6c34ffc4a79c6029642db91f08f1c9959cf92648cb613a462d918b334bdd2ab5c9bd16c541e6cdce8c1071c9e1f6acd3df6a67bfb1d44f0f0607c4137b45dc6182c7ff901338f15c3c260bf510c1345d416964db9944df9db7dead7b7d3f773413774f3377ab6673d532ee56f6bb137f89b0c32c6b709e0383c3f0031801c04d0a151ac672bad62cc41f087d2e90f08a41aa54f2050a9d6307ff71b31eef4cbe54e1c384887360894bf5ddaa66aabcd20c8e6cf86b668877bdcb02ddbbbb65bf88783766cd378c743f7de7be785dd7bef9df70b4ba1bd75ebce23a723a7232950dc2d4dc618638f4aef9eecf1e4199fb7b39ff52cc9c68d1e7cc0e1f901081b377af00187e707204c0de03a5636c8bb4e832754b56f2d0c6b4fece592ef7c31e29dfeecee07b7e1c6f2b7afa343e07a6807dfc08e16e3e05330ce018e61da37edd05e6ba797bde948a267893b3dc9333bdb58543b1bb47d7cb28342c6255cabed60188e752cb8fbc160312bb315367f5baec2d39bf5b20e38f833bd9ce3dca27501da0a88c1a6b3d98c6a509f461aa4547f344894bf12d8a15629cba2ca2b2d329dc2172babeaaab2aa9859aea7597aa545ddd22e6cf1f7e96e4874613876a23ddf6947d3f6224846484696343f7c47058438bc5b7bdbaebc43f5c91cc0e9bedddda56adfda8dd5703e4d36bdefd62bbdb216f496da1a7e77c447608c319d19633a719e228395e24ab3b5206b2d08090889e8029a870c3f5db2d6566badb55ab419c0001b2b39cf0ba59d3e729887b5b9de9d478b39eee4a4f794148f670ce90eb1e6301d93fb460f3ee0f0fc00c40072aebd6e292e2dc999c35c3e8a6964344eed45e7bce0b8d05c3ad7807848c43db9c99afbb9a09250cfb8ce986890eb8c49064546a6e33a93675c63acc775c916b9be84994c4949e7251b47039372a181f5bd9feffda43abcf3ceb3521e4b9eab3d7a95638b3b6ac8c37a3d7c64232e902e881090081ef54c89fc6d104885881fa5234e435446a4f82e675366c9a0b618638c4b1a9075c518630c6ad81893d55cbadf355d1649b30ceb855545cc2a5969172ed1ba5f74e73aeb9d77cf79efac3d2f670cfe17aea014011ec8a594cf6528f9ecdbd7babfee5d72f9bf3ee4d9677a17381590cd35e37f4514fe00981587c2a7bcc8bff538a8706df0259707dcf5be734935e82f0ebca8927ee9a82084c0542f3a0248907c33761ab36779909b91623dd2878350abf3a5dbee6ae955a2566c92d3c4522bc627342cc448121e942aec5435b1349790d20623fad1da770ffad08b7c48377c393c3c764829a490e2888e025950fa734e910c67b3fffedbbe17319bb3ffff3bbff94d29a515453ae7949dec2aa5d5d629739652622cef9dd6d25a2ba576ce2b25c66c3d6b8dff37e6f996816043f9210097ba70cdebbdb5df5e6b7db96d2e63c27529a5f80fc516fe0030e66b29fa518e60a0cc2ba61842ca6fd57ad23e6967b66616fa8bc3bd762a73bf7058ce5cb4b27085ccc8b1c49333b5e2de967e5c4b119faff9dd84cd71be7e05930bd3355b18183164601929313a8c8e8ad69867b8bca231d96432198a37be752ac06050d42b92fa159c30f1c2090e122afe0445bf184d38b1182e66282829994b89fc20aaee3fa3f3dae1f6e2ac37eef8c22f1b8cf126a594527229458fcb51ca66c3710725071a3aec2080144c874b143e69b5175ffae575d69a73261b0c86c64c3ab1de3d1e151513930098980040fee3eea25771836385c64c422feab657bbda3ded6b188ed9bc3faf5dfdd42effccf4b3a7d9dc75d5ab2429a504d196c875c6269309d43af3822da53261ce92cebc48d1d7764043df4282418aa6e9673fa3319ac264a6385d53a4291a5e2e5fc11fbd28547f0003d0a7db64a66b8a29352e17da653a14443fd413bbc7e3a1b30d4a0e3474d8410029355072a0a1c30e0248a94133994c10cc8b1bc5021362402522ced37c26a610942b2c6c1b1768062445d2e338140d8a098a14657ae6e52ad3912acc63305385992c0c0683e918cc0f2ae0664ff1c4a08acfe5b3d6f29341182d45a977a5b4d66a278d1ce80aa5856e2886d6b082f5d452410a4e7aa2289a9a93c6e69cb3ce3965509b5580d3ab78f45dfd806aa88a2e6df1a88cc6e88cd268cd5661a2214d51165dd5969616241f6ac2d7a4334ca60925920a4a271e64996c504cb88eb482a623c52ac2dd3135ac210da9caead75a005aefa04d4cb80e9baaaa61c6e8588a6a9aa2a14de55a4359552b4d4109aa1d155f5e1d4d5365a179144629a5d49427cb344d709e262a8f688bc5a56a6ab9c6da893226736df54ccff44ceb9a46c9e2157e7e2af829266a40c9cc626c6273945bf81a224b6b2a7a98fe9ef63215918849109dddfc4c90d849d7c9494fe1c1c68d1e7cc0e1f94183425a6badf58cd846b3b1f26cd88600c18623cb8fec721ade0db59c63c8d01ead37335264740ef49de6c1c404d3315b98d9e48cd15a6fabde73e64e4e7a4f49b9648c919c79c86436189d030d1d7610404a0d1ef836e19ddaee5151f1a4a4f47e92792746c75cb62246c901204035163fd7e198120e43f79493fd93567b31e71ac60fba6bba31ba7b81db32b88c8da2f5ed79042e26de41840c81891b0e55810fe80f71da26959404bfbd810c2d48c387261b6a12d8c90c4b2eb571d632ab69589b0d6c13cbaf9145a57969349a6f95e6fb058bd57c732c4663b2ce39e7928b48238ee3081b351a8d46a5d1d85a57f2585bcb13884a8533dc789b6f53da984c2c25d2e8f4e944219128090a47c15c7ae6b3c3f833419919ce50b3d2b0b07d6b0300000e87dbcc7061325599198e9a51356a342b8d6aaae66a036e56af299a956a495a1a6eb399cd4ec36d362f0fafb84d92534613d6cc26c56df0e7f3096d3c8c39ee8867c326344734e216b588aa965cc07aaaa89ac22d3499101921b8df741d0b9abec1a14bde991c85f21c2aa761b90e97efb0d14c719b2e714e0bda9deaaaad6aaa987aaaa89a2af2aaaada22a281641d8cf557643a53e43ad30a35f04e6a588f8715afeb481fb66f6dc65ace623018e392eef2e15db7013dcf23d5bc0d68338ea615cb49849a61a8d2a85822983ad25ab5b0d5a8709da1873d176bdcf00ddfb4b6aed5bc5af75e0d31c6a6951357c444b371c1797102434a298a2ea61681a068258a26eb821531a2c4129d7ef059fef4268d4953d29c34a0b59b064fe09b64df81458c2cd175956fcf836fa0798935104999cc9379b4d9c21dbf6053564365c7af64cf8a0e1de3c463e0e6194e6a7415a4d017f4efc18687c025e1e409bd0a2f3c5854ee4dd65a1bb87275da171a51899d31d16c5c705e9c646c7d98423392481c9dbd8ed479d65a8b2daa06eb572f62be3125bf2ffc8239ee18dc4bf0c6203e5910cc9b55deb0c6cd6a8ae014274c5342a1329ed1a911258a90be9ba3fce949ca7ccf31e7714452bbb17b3522e6b8138ea21167e72722fa71bd78c1e8b018327a0c193160bcc02f6c0bed28e8c4be98a3e95d13cb787ad487af7ad68b9ef7e0a77ef5ad6c339dcd5b73d6e6ad31b66fc6925c727329ff5dd7819458e287e82d14bc8e7e45176b54c0689846054d46498cd608f6d89cb118986b8dc5625da76933ad7b8c8b381c0e87c347fce3224ee23c4741d351d05674142d395fbac8e1808048088a8c601ba28b46fa15d630a3d16ff42e7631252587c7c3a1a2c5e1889c8ec7e17038bdd5f1bac8e170389c3eeb317036a39d50b5508f75598ff51887339b7166b41987c3e9310ea7c740b03b7111f7b8888ff8d7657d86fa88ba5014af285e1cce068270408807b6213aa6211d1319a280ed50214285c3e9983a39e021c3470f0e67c5e1708ce070383f3aa21065c0738a6fdabdc37b47b3d00d6b2d5bf801a9565de865470bb3312bc344f4e0f1c3aa6c6845cbaab5e251f5eee85e57e87ef775bfebc2b873573754a56e88433847c8beec68635656c2230bb33395ae53c05a682a9552513e31bf65369711b814e0597b152c28b573dc4f21d3185b5cc2600a83a89bba276cfa70e9c32c57e70bffbcf586e90b07b1bd28f09e700997b009c4a52d3cf130e24ad4770aef55b142e24ddd55cbe28bb187499756bb332a48b87b61d78d6198ce2008a2ee47ef57b3440ca17f7264fba93019adf2a857891f34f3549474be467a481f463c10ae3f165d17f71829891451825ab086eb558385315c9a55dafdee775577acb25ac396efb71d972ce61b632ff87231df9bced69ae80ddfaa6e48abebde1ab3a6eaaa326bba33226ae18f6b8f086119a5948ad36b84c5e80d2dcb8ab4a5ab8168face70a76f8bcdd7bbf7deea25f1927cb50006d8718580802154ee1701817bbab507113e6eb59d1af2c0e10d2670ddb45cc5e31132a4080f8f150534a0c8d6852d0b5bcd88931d27f4872787ca8c933e65accccde69749abbd74168186ca75d64565a55f6badf76f0525e629d77155d780ebb826b627b6231ba7c3eee0062b0e8f30f775b4f39d2aeb31ccdffeb4b24c40081cd7552d70b27b3969b5b7568ac3069d64a78f3628994c2693c9648313894422914825309c526e52f60086497e51c8ed077ccbee65266cb968176630c24a6ba0c9d768d2891a82c98a2104018428e847866417360e2daa139e78f93fd636ac88db9c7a36279f72c3e20894e56a425587a0811d47306ff9379e42fe185372d9bbe5fae7dbe6f37c547690489f9283479d19dbcfac19d7a9abae19df953f919bfffeb2b47dbf6d1e899f854505ba50b31449055afdec27274f210bf4a117fd883efdda9ffe23f9feefb455ce9984f4fc0b21265c2250928ec3167bc34106e029fd2aa262b8e4d72fb7ad56b9492b3be1737eb712de9910d3820b7f18b14d7d07969c08f7af11bc167dd06c2641dd7f64285ff625effe7b469b6d33dcf577f5a33b5a67a0103804e320258fc813aac662da14eb24b29a445669fc563a6db5567ebf577715bdbff061a038782d3e0bbd4bf2e4444bbe29e5383d35d061dccc9d7a7404a2212aa2278aa223ecc8c8d6219e274bd22459ec6b2641dfd5177dad5cad983aca6278e3f949fb3d4f9664499a4659ba7817efe2b17ca594862829a4cd6a2dd5fef8af877dec65ff79d091171119a2c4461bc724639218104abf8b4769a59656da7517aff6cd2f25182e63a2b93daa8f1fa608943c557def4940de93a44f8e5692340a5badd6e67a6fb402320a5bad24ad242f597ad3a6fbb7eddb24e7faa46baf95ebbaa5c6603812139e1b77f97a8f4a3ae45f26d3b3fc89e502f2e3c3ec839ffa95be1f7a1f57736f5f2ed65abb31913ae45fb4fe685fd4d25ae91009823f3b5dbc940485deea3b56a98844a968acfbcf833e5429087bf442ba7c170fc97831d16692eebff85a6beb5dadb6ce53010da094565a3b4d22eea7b1f55e3b3f843c824c024d09b9949b635e89925452d9416c39202f0a9822fa9387d413a423248812fcb0edd89192d2e9c08011054b4e599a20599b9fffce872893fc64497ef8c79fbd0c3fea5322148af62f9544a5ff7f54ea51abd5c86ab93e94e2ebbfe5699dfcc0eaaccaa8c52f12893c10bf644a60025a9221940955e2a2f991a1f991237aadce6f7ff5ae6f617ea40f933ffe2843322445212a7f9433f07856b31d341ea58f49152268b5966e4e2fd53d6bf5ae39491fd28714225179812868d4903dd46eb401870d293b1c6f240ac74929654dca36c81329a78c2060640e4cc020875d69add3ce3969a5b55632006004c06b860cd814b2cd86103922c81630609cbc2812e4c65cbcc9c89b7476a1f366efa999d3ceb671f6398314a965321cc6e3f1cceff0685311e1e38711dea8c4397cf258f4a1325c2e7ca3dc403fe4181fc1b1807b15cc399d80f055b02d762fa6588a7fb87ad6905aeb35c2644b1829f238a91ba8342c9e2f0710400063c7001812c871208db328c89843a71d74424b06e209a433691c87431488421005198b20a48831008644646044da00d2f66889c1bca5ff048f8a92e2e60595c4cdc8a7ae60ce6e9a4a9397284d40676a4e7428b2486a9f0f0a4f8a10ec13d7a77d0642067137222d1aaaa771cbdf72fbe76e87ab3839c523f58d15a621708d1b949bca2b457c941cb919ba044dfad151a0e3458b34ec33e0ec4fb31cf59539495fd972a1668cdf8121dc37a84616237b6cc1d153095b74c40c57661df916f9676822359c3b419057c89ac379cdc6c326392b021e738fad1a5e112912459060dae760d2671b153134218b48d41d6608dd8cad14a94c5e2b25244dbf54f3169450b59fc3097f93ab293e35a3b94a92326cf87789cc7265090d042cf70e800d603000ccf83dc7319d80263913f9b5b691be8f97bb2dba15d01e006104d6bacb54dc3dbeaa853ab94fdba832665613513ab145df82050adc23eef3b1e144905ec69a55b4d27ffb1ca4b85ebb7adb6719929187eb586f55055c863d34a2cd25477805acae406397d775bf58259bf4adcf85d42ec6e461851807a588af5eb4532350cd7a9ad355197d8074b4ab3674b3a78d5227a0d179a6971c5ba41b4b0a517e65f328eded880635bfc8723f7552d6208de4367f8bbadd4d6d0a5f04797d7fb4e43c6b3e7edcfd78e31ab4ff175c612a8937b48aa289621488f9bdc9b7dd38c71fd01693363cbdacfff9626ecdfc020f0b53caa65e6da3e27b80d21f8653ebfd2e1a8ee10fc00c2ca3f5987979651d2801fb60be4ca3d7fcf86fcdfa35ac77dbed9bba6b30a83f5d54d766265a33c3970609f394de26256ccf3d0933de9ba1aef70bca4620a3f4b3ba35f3478f92d7a0dcb505ee1de39d6696c547e7635bcfcfc3082d52fcac10f9784b517c32102449729a33a89746c353844ae50251bed06ee618f86ae5a666b9a81e10b4739a9fa950b2f65a5a3230c9d4a82f8682ee1796cef2a360bcebb8b3708b416a7fea51f67780ea6baba38f08648358cbf7521556105d299ee91dad88f026bf102a6f371d2e0daa853d1550263cb8fdd34ddb33e1a516d81c4f6bd19b5b26b9fedbcfac4b92e9ba1765bb52b86bae0b477e1e22a365152bf642d53661e41f4d8780e6c502694e9df8015c251630084effc59b903b059ff14185355f6abba39c4e642c0e2d032a1075d111106975d1eb74c2dbe6cd225e795f63556866e62d74b884d208c6f9698a4d3719bc5d08c944d2e0a0e775bc0f6ffb2dea84dfcede6a9a60ce8645e4edd611f298c242cf008304a9401b100b4a0a81032f297a29d118b2cc50e6a80997fed67f867cce0ed92f023ca04588affdf3f5c1399b6ba86690631050051fd442ba1f55ddc5b6974213b281138e605aca6bd483ef7c7a33658818e42453024c8727b5cf18345422b0357888faa41e248dcfb9c4d4ff87e17178e9c665eb4baabdfa04f84f856541639241eee2eda510519e072cf9449ef887a21ce885d8c5c7b32edba0097f1b969da9221706df48fa20d6105558b2c38ee0bd6ea1aaca5c09dbe8c65c1c6f675778b6f3d373e461efeaff9a5c115e16be2bc6018ab4ef12f4a1ffe2fb4ed05f1a5c7308f934b0291f0d6053fba5f0d8e34b802221d8f078f712cfd9869e9797ac81aa772d6c4d30e35c05841229c3524eedbc652bde2fd30fca40dec2db44e4ddc3e1b77e207ef12b15c8caa2265c8f4fe0eaf1b3ca5c3432b596ba8b66076b5f54acc49814860d7edc5b26c168095d6237b131f4e36594c02df6422d6af80de577aa9c5892eaca0240ca193493ee89755039fb06b4d282b7a76d2781b6120213bc272ca3804ba14085fa3dcee02361b9059d744f07a22e2c6c1a0c2b8a01996d46e79232d0940396ee6083eb8bb2718de12a527105040d05d790a77ac0105c39282c918919fc4414c17f0c4e11a3c295aac91e58f12b54fc2aea475da71c6eec3d145c3493dd30e2edcfa3d3e78a38fda5756c601f5fd2287da7179bc2003616c3ee11e6c88fe50263318d83084342d35667081eb516bbf130b2f6e0e12a219514b793db5aaf912f83881626afff525dc9fd69913eb9cc265432fc813e309aa639fb31fc4303beab78c5960a0a725c762503392207fc6a5cc2da653ec5eedde2640f900ee2ea36a97d2b1564a81df32cf639c1acb16d1eeb52ec46498d9d46ad00cea6fa99296642e3a6f5518adf535ac12929c735912f9d43db183cddddf179a6af3462479959f10a6c790056be03fdc002594d3445fe466d88ab5c0a35ab033a62f79ad0c6f8190a9a6727d035e194e5711bfd72a406d1728d4b197242d07dc075991a38ea97d542af144a9cf51b4d2ae9d6a46ab02859b8a41f4e394048ee3724d28fc270b6727b3986d919496cec840c0253fd3fa0b839814177fbcd9d5f1f8f9d94d7e2167c60ed796623fbf67991784223b6583a86ed1c857f9ba5f52eecde07f8e7cd3de3883a79c8720591673e8b00f42fb002a52828248c51dc5877e1d4c9da0b8f6884f75f37a2bdece28f945e0f21d9a4df70df7523da6b2cfe089d903be6fa9f4b2832e41ba06c1a0ba2c6c0feabdb5c04948bdcb826232d51236fc6e199b816a7bcb8d722f01297f4b29d5931fc5695b76e329db5a88cb13705a4601921411bfdbafe72d9f6cc45b1c1ceb97326aa86082ba17664469fd1f7b68fcdc340069b33a051e546e46812c6344eb582f651883e12ed0b07991f4638471b94fac7230cadd35a13b600f6d561c401ea836a4af4d20a855c1423a7dcf3bbb283fc46c547faa05a77b9fa8b17c945b41a4c9babaf01e53c3226ff2e785fb7e33577c6b1a072faa5f9f3d76718f346ecb97b882b856b10b4cb426304e7b8728d449da17d5c4a2b7f6f414a7b20ded59264a030eac45e02bd3b012a84653477c6a5de986f53dcc179ec795ddec6250dd9466af42b36c15ce9381dc897fa6041fdfa2c3deefe72ef82e005763fcb76681cce40355aff918c546e8d78bb2f1269ecb9abf634d0d7940740d8ae86c25fb836206b182d9357d6e4d19b2ccb62f829223ae06baf0ff62a1f3c8c14a9852e108c9eb22c196141dfc3e710c36ce0519f95780e00e262519098c2ab221e8a57b874198afe53be06a6497c51854f5e78958058b1858c19db9b0411e534acb9eddb49e83952c1f9802436eacbeb28c5c94af0cc656b4451eb3fa2d89cad2caf8c00729c5ca1db34bb24c63ee50387b2d838a5dac7327353c9b17c9f8b2fc96847576dbf748723da7ee7e3a8d165dc65d119ac8029498fa124cc7413a1ea9e6e0040a76ae9a43ccf76c0d92627f544944f22377839d28a92ca80a6bc1deb129d65a197148f660b6f06d7001554e40448b438094b18ceefa9b86842ae889450273c34a0f38d25c945d948e87a6e3ccf9b2d526ca3fc481c1ce95d63924b4fd1b4c54a5148fe49de783ef17c1888d6889ff18b01044111941618715b45966d4684daa83b642e6e193d35f5dd2d7469cc80dbc5423eca8d6f260bb783bd0cb6afd82e157e03c6375d9bf423c9e42c5511a2a6e830330ec436f904e21228482b9ba3b841a49f05db167d36d96274c646bba4acb2f65932a7226c331c38a01d519996646f67e7cb4733018c3371fe5637df48d0b714345bbf18df461d9f173fef865427b1f43410b6035e50ce35417ab5df91f86b88540817c8a64e3ba480da36c789a6267872dcab0a2e94cdd6f1c5f09d29c165123270b6e48a2c9d8dd3498fef3980944b38102d11f29adfe30225b0ab94d0c1a07d3b2bfe68383783c515b81d0c62a071b696e74dd116dceb897ab746af10d9801cf83881c7ebffb45490fc60b1b31e436cc2f1ed2f1df1f7f23bd7cc6e2a581a3da16643c1d03584c5fbd830bbc46c0da0012bbb016cfe6fc2c57e8160b5285f17d77286560a1c19d034d231eba7c9d041c0f860916666b4f981b8daa60676cb87c839184f88abc793bbdffd27b2500289179734b57779f1bf23bf08fb2c2f456a5218038c66c0d17527ced631c1b2961bf48f9aa1a61dae18797cffe40d1cc2ef24231b0b21c94fee7a39edae8f9e06417069fe20cb26fffe2100c5ce6a19c9facc6979976fce4e54d3ee84c406391d7645ed8316e63c83e6a5cc2d073781726464a5a954f2e233b8c577c79deac57a79f000002b67178854eb945d004457b8d5a233e3cce4599223e4c4fce30de64417b1c847b9efb7282c3f881c68dee17076e45f1d90442f115d6ea1473f9dc3459e7cc846c167d37c41b4959b67c5b246e79a379d07ff560585eb5b8da70525bc5488c16719eae5f05db608571fe6951608d7363bcd169bcd1f0968d1e4a1b94bb6354260b9f02fd545dcfa6077ba3aaa5ec579f182dc2716e7faaca6ebebb4b300db4b2e3a2d2902f0cf0ff176174816c12335bca0c5e2e633fb648585fd7dd3762a0ccd374efd64596adb0e4e37bd8c8ea651ff28a2ce5886905b7b5fcaec4356f9535b8814aabc701897413386d37091254478cbfeb7a2c86701bf15bf84c1778ddbd21aa14cbc055160b9c5649e65bc5d49a4b2166a4a7188b87649110b9da30f43eea85ac69a8190ab27513aa34262d1c564160e5ce8e6dd4496a8c24313846f985c020084bc289c6faedc82ebeb41b3324181298a4d54640a29e0a084028fb8cb9010a075d2e49b6234d0da72710de72d245d05ba2d230b5d28b94e8a554f9bcc93c20bbd44287db225df9f0e0a360f6aa0d70e0d9315db34e427f667255b49c7b26e3f7b83d59bb3745276ee451fa6036bf9ca3a63a33aa0d38b1ef06567201e71e6e967d55dac70911d6755f18a4dd989779402c74c85911dd303a7e2a1882406ef525248b2e00d2e18f636284e18c07e0ecd89ea3aa3a980fa209006ee5b7644ad0ee68c3c2456f5ae8936931015784dc7dc0b45aeaae9233a96c74bc5f16fb95bb1b71f28ca1efec799f3ee7679296fd32820fed7c230f4e8cb72784a736b4549f5f4fdedc3654a9ed661d53335c8f38c094941f2090218b75583605b075ac0ab9a91e1f3372b5ec4cd36bdaad4120c37d9f6613259f8b57879ab95721421f999292eb998acdec040243dbd0ae6ab2e26dbcc4e1d8ed181421b46c049f124d685d0560c54837db589c89a7f812067db2ce9bf36699533babe90bdb7ca2b07ef5eb86cad7eb5e302a7aa78bb65c6ecb1d92e6272269e5dcee3da2bd4293f403f42137f2c177adae9959b1aa6bf0971af49e85345a9309f5d4c2f03cbf172e39c70d8936d7c2fc0f2221631b2273356c6b757f657fa9cdc1de662e6af06aae5193f916cd5473c7db980ab04ab9f70a55acba14ace192ab00f19247f56a11883b1742548d8ffa38907d1f98aa7a04a0857d8ac5aaa73bdd2fde5827e9a40b4d4ef02712db6eea60d1de271404d257a33a6cf2a6a136935a0e6d19358f06923841e8b41d8385a63954d969d0f5d073bd783a8ee40c62b7ef15214c73a71b8be6c8ce00cc4291a50f2801088081c0d7175765667f8c5f160a17b6c7c72344a49ebf1a1cd220e8095732e52b266efc67d2f1e53f840f59b2cdf57af2d14ca0b77d941939cc1582408250a5cf21ed6f4624121b2917a6c58fca2365ecb2a69f6402967351833a37580d127255ba815f1076a86fdf71533862b2d168d07c8b2707cf816a4a658b5b855a3888ae1850a3078c66566b55413d940c91d81782fb8ba94d98dce0185648c73fa8d2578a4351bc4838e8a32b7044cf8696b839aa81697fc48a1abc574ca604e2b3176d482dbcb4a9d98a7689f50352392691bb5c2db901f0e8b7c1949fba86a97f09e0a289d882f281c986514a9e40413c3e297fe80d03d0f120c8a1a24c8750e6a054cf3b8922af67aaead4a294fe4563760c78d620069aafac580a64adcc0186ec872843055f322e275b19dba01434206365c51f35ab1b2f6c5e768eb32a575f24aa054896bf229ec1f648f3041ceae0b09ee0e9af77e52a95b8d3513240aa95235687b6f587335a437f78fc9a53a25f75862da12e55da3634a6da34ff3dc052f54318c8c87123083ede47afa45b41af7de2fd8440939e8f32402c08e3d15d5f879ea2313191c636e16a96f43b124fdf1ab84ea0c3a4be74f9c2da7c23e65b5c63a5c7a62b1531b8c392bc351e099cd49682f4c8bd8ada5d455889e9a278b58f8e89c2064a9a78048e5670ed39538007bcfa997025be441b6332dc6e7bef85ce645f48dbdbc053df8026015991d46fe090290f4f9354294465e0d287de9e4025ccab25a812ec974cf42208a6529a0648f284c16489466ede7259910fa1d6f68a0f4acb0ac135198efd7a4f62ef882932f5c41917f8234657e992898df178bd0a3fffe15fb73e784508a5eb249ed9610d8de60fe8b60290c298c5ec851fbd2ca4bba7a908e84726399e7451a04d43919cab052bdd7de453d27778b22886f8b91e9048e3930ef4988d601de2925fe9954cdafc412f4059a86b88c0769040395a1929e4299dea13d9c487c7f51379ed3079a41b77b86e7fb90c4ac0347cefe7bf8b422cdf038b64a40c1e4a642063e5aa8ffae57c0fc33a99a7f17438e1edbc1df7efcb46e7ad72baa44337a03f5cb6463f6482e4e56001dc585d45cc978d0248691d8b77912446c6c10fa5232048ef34f030515c8da454e7bf9c88dc8757d4e3acc24b265d34856d4faedc6c1004462451a9e1e56890316a5960eabbd7ce6b4a13f6de69cdc08d7d1056ba6d6678f727d0085f8995df8b2ec367a95ccce894da5562e009488b8d673d73103b95a1c22f2fd76ce747192b68e0f80641437754c997fb8f829ff147abc597792168e8d9a4095027bc4910cacd2f6b1c783b8533422230f0ff3aaa0a75c26ffb661ac31e2ae9fa7c83d60cfdfbdedc7a78160ac013dfc43e17b0c978ee961ba0c78f2e58818537f68cadbc49de4f51a411f94ee38edebea52203951cc80d5a6038485dad6f401a13b174a06422d5b7b577a03c8ea84ad99b007e8aeaae3e1bbfdf589ef708bcd28be6332531c872b9ba9451228e8aa60d6c14c6deef3c927d0f6b30c53a1c3995faf04e02b84863b2fa21821298ffd72814d9071f0add658dbe1899b95d201cb37e1e497d6fe7c73e8b7170eef2bce0fa6ead1218571867ac284c3afcc5065d684db40a8df428c6cc2a13760ddd13e95e209b72560fae5fc695d1428847876b1156e078e012640c9c98294a7349a2cee5cc4d2815b15c838d663b365c680f089e72316dba9f26eb9f9b458866fdf21ef8b303ae878735de8be2cb73c2db1e7871a512512f9e09c94c01c9e6ff857f5e93c715f57222d876e8c405819ab98ad5486e81dfecd5b13a42a71f9ec3f1eb1ae2377dc982d1339a0503079edf2bcd35169914ab3c3b6cf28abe7dc5079ef332c54d6676c48944752b59fe1eaec7463afb30c3b5773a2738c0bd36afc308142b9a18995e1ea9a958dddba452c5a6e2b4f5b5ce71ae9e0a29e0d5ac76d3827b8ca8cafa9e43e8cc22c3cea88cdbd1d674d67e46f76cd2de1d319e5167561017d0072cfbc88b80b9dc5a4da10e6a63a5159f79ae30a7b1f538c3c0b83cfe54f55b3940ca5bfb1a5be228badb303b55e7be09b60bcb9c2ef6541bfa3e539631a10023e200521ac86d66ffc52a30e6cd7791319e505446c6ea66ff7bd00659541c619b968db50ae1e1b6be291ebb232fa722cb62fa8b9bc8d8ed092f19947d0c60952c4814f70a6c1394967a8351fa083a873d82b459c78e69457ebb802adfe836ed6638eadd37818d1fb13c8b766e27d51fa66e1210f349997149028f5df32a0dda69ffb38ff16970ebdaaaab824b69280abe7215ea00503de3e3b0cc4c6f4440b5266d95ce3917f8820bf0ed0f96ae665e005053ce75e325ed94b05a83b8e0b0ca1d713255d2a5bed17bfa0465ac5962231dbbd2d70d1f38c89085ebd9af092f3dc8893d6cd444f99b4281ac5fe3b86a02b0b96b9bad30e667a795763c640993660b85162d999d3df87ff1095ba131ea347736ca55551e367fc987a7a15481922349ec988d21cc880ceada3b8d1dfc30bc583977635c6636311d590068acaa0fc6908f34958970f46dd5e04cac06348b511f4f378d3b421b3cd8850f537614aa93ad5d1401291f0cfdd44d6a759452931e1c26ed24a93b39a55fcae51f13852d57f9b87048044dfaa8681f32f4195911e5735176ca125af6cd6ce37529e9f8f61d61acc897699a566d4d9097d6f89d8b9af3b17031ae6a71778880f5e8f8e7e8a433ffe24fa53829c9fc8e18753528e7826796944e2b65135105234ef0719bc512731ade6347292cf71cf2fa0851a11b9b3505ad73ed27bce16b8f86616f45d45272a0f82da106c85b97602fc6da3cdb74dc4c86955a145055c5070d515b3d731bc02ff7facb277122aaa747d0c7573a184af1052d7e35c78e844009e457fb5db7a340441aa6311e3269ca96ce567d7ce33c41d4177f8e2716b1e15c4a4ecf078554db91e00f3dd0dcddb25125cfb67cb60f825bc1fb1dc17d9bc9039c3c3116f346ccc624cd3231932a2483a9a017128ff22d0bb1f4497e0a8bfce1436d5d1fbe535c1ea037000805a565637ac7d1b7b241920f1fed092de06fde865d322724aeadcc2a8933f5025241f5e9c3dc3cc81adce5459a627517cd3bd96cedd66c241649048ced53d8c68e9a65e8f26c4de3989e8d922679df6ac88edcf6db0cf97b2539a198cec3aa2aba78af09490d75d667b28e425d019fcfee4178b419e933a6d4fb0468eb699a34bb2a3baa03123aee6b2481c0d8dcd79584b30f9ccd3683580464e70b844377c020256ed214f315038cb0410073f3a3a3a3395d82bb6ae817877a9e3beac25e11a74b97873d0f7b98e759891fc88df07519f95958683266728a2f412b38b9298889e65518cf41cf7f3e0b2140b6632ab55949aa470e0c5eb489db0ad941c581aaaa06214a58a99454f18208ece118cdb89b1df1fa6d5e385492b5ab943484cf896957a5817709331e13681cb7f9eb8e1b5195e99166b042564ac680619ddd4c3026b2a0a9b96b794355fbdc648388514d941a4414f52f7a60a3422424004cf8936427c1b027c6925245b61be8d90f327968685d2a5d0c5e32a79435273e97bce0f88bec34cdbc00034824e7ddfddd7c5fe3618c582a96c6235e9095f9b6afebf8f0f0a24848dc884f1e485212a80d2b0294ec55981c4b3e87445f8a27912bdcfbc01358a69421a8d40c599176f0104f317bcd6d26dfbca50b04c1ee7882160724173e9db3800444b1b1becf3d0a82e3543b264fbdbe8a29973662fbf95f916221bde1e21868a8b44ac172c83629aa119d55c50109429137b4b2f21a6265210e25ac7464deda80d8582b211a3d13c8302b06c37ec2908723118b890dd6ecd503be26109114bbccd33758441f5c39227aa82b0500b75c24ef47939588aa3038c879fad8791737dea3714824430e4499155f9f059484f692547692738d7575d5fe04027f56533dd49b40cc8d508e3e0ab81b50290348793ce9f5bf61129c169d1084b052673698f8af33244a1f112bc058e1d827d6e5d0343b2273de1a6a14937b4f6ba57796eeac1db319c2ff97559773a95da3390171c7306a39c63f606a5c1ccfb4879c0ee30d8273e4bf8fc39f787523244386c9f1f96621599efb63758253435a2f5a96a0e4ad1421682efc1e45cd7e9a0fb1ba964af0b38d7417001cd4121d4678c792db28b28e18c6073a68a838bfa24840dcf91803545425b3a816fc310d1512e1c0cad13258fb38f85799303e18f1b65bfd2723aebb64da8a9a3e27a849892c1039d940c7c93f296380526cc77fd6b07b1a177f3490cb48492488591ee0b4a6854d91b631dfc6cd204723a5b8df76f23e981b4b3101ca2505c90bb278ef412b3db6caee884ce1eeba46e1b0280305056d709ce87ec3692539b7689754589688c0bebf21a89bb08ac5d031654a2ac43f71cc00fd87df0aa0f131a61a845bdfc4a30c0b48fe3aa39266a7523fbf739a7a8ec0cff15d797138bc6c38ac37c9a4d0b1c68d474164ed3c06d63e16d7271ad6c96d3e746c8cf47318ee78510a271b5cd18ede806f7a71631b60697c2995562146da2c0e40e7bc504e667507f005ebfd8d85c6f370a9cb9b82cc2b93e0235071f1b478de3a531d50a576652e756b99bebc134cbfae806f356c90b02c097c64d7cdb63adbbec6a0429925bbd1996a22764b8e01a5f30fda76570dc1ff76ab391396f9867e18fe030f629d6ae5e3d14ff1e5bb19f4e362ae35f8205c0a94364f433ceeb0eca9c66e1952cde9941842ff6ee635ba4fc45f44979867c84e85853fe18c6910dc4b0c073381c36423172f9548c8b0a5bf0aa859fe5c2df96c5144d4d75590a611122159a20b76661c9c597f83516a65c08f66b268880a23e198e3f099e8191069efc4e17e82ca96d5b7e2a1f59a96a6e900e507882c7eea13e20e66e68d40f4b161ae6e27c782fe1682896a364ae1ba436a80932b513bc8b177b1206860569105897872ef68b30a1612bf168591f9294add18a9b43316c3086964fa59901ffbfb82cb89abad0b49c609159d012a1a17181d69a14784fdb3c0049af34f2bd9b11d85495b1897c648b3d66e222a23aca2cc59c9451d33113cef8595cb7ae0815670ac115b52827e20c744186c93452bcb16ea0e60ef0853127f4fa59d4bed6633f30e17c4a904352930d72922d018e8d80e39f11368c73f43c6669ab40ac0abda7526e32f53b7963bb0d95eb541b6058b3bfaeb103f47ccd254aeeb2af7b5db828a1c9cae3067be4cd9f37af3559e43a5f4d4915d5f77b94f081c0a61885891ec592ca29e6a82a65d1da0b83df2aab095ae5bd0c34ccee92b0abea58cca2799902e67fbe85b5518f923c34b9b8baa64c5391f68b9754aa87715174c78d35d56b0843f5380363ee09e9d5db86d62589dcc3416e9f5ec846de98ad4e137796dbb63ea5962e68f509fb43b856537cf4197a4554e6fd49449badb11e7ea3a83d2094e139b6a6099654a6f2b0a0789b046b376719598470857b22c439c4a59c12e969ce756be2e7bf74c65ae247c3209ebac3f1000cc02c77beffe9ab73f79db08459d1a8ea6abd4335cf0990e12e1db607aaae4d3869ff5581031992aaf1c3dd8a97e695e600052ec9e298a0dff39f4adfe4c9809678f15ac16ea300c1dffdf43f0b4a93f4da34fafb6385404810333cd8d484742a659921e692f6d699a9584d2d0ab493942a6752cd27c1f315ec277a5cb68941318f8a48be007ce1db3c0f36e0fbcdb0b07493defdf7d1e3e98c0f3b82bcef278506793a1a9e4838a50412ca3bb45a2832ce226ca1851ce7ec48a8f588194a700a7e83cf33ed194da3bb6ee19b49078bba742612da5fd861254ee68322387644f4ac84898d85f5a130a31b8ed5f293c9a0d73548500d649a0b985d559dbc695a0b3cefcada42477780a167319183749f1e973ad93985b69b4dab6b5bdedc352f25f54df6995e8e70293358568cfaf9909d7b5802d2203b5aa8eb0ad50ed9439862f232892fea4cd081075409ece86da849e5ca49676efee3afd049bb5fa3728496c29d5968aae6f7ef7d2ce0e3f3709d4869112d3a7d05acf01e1bee48e63daca00cde93a698aae06e1eb3318c3be64220bda08667d1b15b518975b2fdef2276717b4f97c76b73ae2e9492988c939275930e8be5e6e4764264992a26e513144df6b7aed97a4c2cc13ee004e1dcf706ec2313b309c1014ca578b0b4befe0a235081611fb379c3e2df30ef88d11d22783d8749bad9bcefd9e93b4fcfbdc53b756c2949ec53dfa351db790641e0a717c6052ec284430edde0a11c76923ab1aac84edf6539c55f2f19b34f353642c852623a8ce6e183e84d40d54d7b5191d52927f190280d09fb5e359afc3084af40a60e5f193546e401508e6ff48f70c20c93c3dcb89834b8491cea21a20e004582484779bf38e0ca466c844c010f33141394b470fa250c7605fbd43487603e698cc51e153e5611a214ac647555a1217e7e8aa21625487cccf812b1846d9eea8e1384c7dbba0cacaedccf0f135a1690882c568b9f8a872c32513d33dc67490a6289b77ce0b320dd019d4650359e172e6a3c3f59aa2707195ea7bb479bac561e41b7bf6b6699b404442b8c58026b2bea43fcb4b29e7381d7d94ee3eaec830e9c5a620ea5f44f336a51fbd1d5f236bc481c088ae0230de45a81d7eeaad7dfba403f9e2bba85974bf7de81df01382644d65efa10a6c50c339dd368b2256eba15aa572aaafd37f0b961d5098d378cc844eb358f38c5a77ce5d20317a435ba452c3186c359074f7e99a90ae9e08fd398f09cdbd3fa9510c85035d9bbed726d7be056e59f91d6c01c68ef8762151968c13235f583ebc8d159e21d11ec886c257b0bc0060c24cf7f68a51eead804bda92ff7ab3a93350dfad4c0c1d1a5cdcb68e4d5af1a7ff1e2cc04a0cea2a1c037b3d305e693dd7f48d8ea1e628ff493a04b0064b41b4b29e027cb589df32b42c3ce179554ba8e9822047139faf2e76777a9a0112555c4c38423db6f4e663945a78077856a7fe1e16c9b1cd0894c7ab2f430a8afe14fa964fb918f5989296c93b9cebf873e3ac6a90c06220444759301a2ad10cf86103eb172e2601ac98572c33a40d0dc76b851edf80c92675a80ed398cada3492bcc8e7cfc037fe236aec89a8126f6cbcaf1bb9b72b4750a530fb8721e14479385dc00c4d476cd7df461b406f46d9bc4a06f7df8f074882d191e66eee08add9ffa572dbca6b835033df51146d06ea9c808ad34cfa6fc410917c9d5cfe07011a16c89f5047a5d62ec92cb64c0d64a26c1d53c1338cb18a170fe4d00defa9789766f1a9d9fb600685e69c695df18b73ca2a94cff171e7028ef96f5d2622cb8c8e2e9b3ab70924d190db760bdf4dae781cacaa90e7ce171a272b97deb61d46019d193f954818b72099e65d94855cdedb8ba258a4b92771a02f1a62396c410e228628207a1658e1148d718e98fa734248430f0be081fc779e14a72da9b694fd57c400fd0d7d1cd910adba4aaaeb1564be41a8426812b4e5ee137e7f27592fe1fc3b66fc84a510bfd4e893358113eb8a6a505553d6adb1ce172357946b0c3b65305aa50bea1891f78a476202e885a480e130025120170dc4d794293ad382ee6059524fdb885b8751525f9b09181b5b56cef0cfed514fbb35e6d62e05c1181949653a800b4cdb66bc452503a370a531af9188df108f5a122d22290be4867649833ff3b990df2de362936713a9e54f184d2d462de1b03e89da11698c98e8234536011299b9ec71f1c173031929fade136f8e94f244756222d7e845d5e5983423beb7c60e1b818541f5384318f51e101eb960089ac99054550b1f7ac64d983303db3a5fd4d9d4e9d7aeca5b8aa368b3baaea019bad9c408d537c87fb9738a49473f58f6cac26766d958a8e403b35ee58456c0f7b1d4a5b9bf16ed7935bb1fcf8a735a0e2426f72ab4f05b62015a3522b64c822759b722b7cc6550dfa8395cd206f85a9f254c01443aed1ae4abf5e1141922c8d6089083db83d592182028157eaccad886fba73c458e55e31932af4cdd7fc897d4e1f2cd07f30902ecd0549fc9871663a63a020248ac03c66f8b4f920fcfcee0b4ff28ff67164624908782ce43cc8b10ddff2fec1f75c4e822fef9943232109394f6f6452407f91f7c49197f9bd1e13e1c39c9c06cad72c0af61521494cfdc5dcfbe0ad139826c6ee20ff2d80e2ab1932978975235a9213b237df0d4c7b63da8222461bfa9427a0d48b5045d1713db789b7c31a8ef2d33b29499d5cd40a4cef48900d0ed798ebbd782f30d055f56c817f52251e50034a1762a77c8af90133b4d983a8280fb066ab1156aaef5be9b20e8e6ce136b052dec3b83dcfa17b5f1eacf1c63e9a72d31483d0bdc90d1e56cdc63d37132655a3e05ff3587f98e0fde7f86f8502830cf4869c3808a108b0edfbed5fcd138e31bd21287528405b3ea90f169c94d46777ea47272f10d20edc2c15e6603bed54a79894b2946e01d507edaaf923be6905868d7be45df7e22e2838aaaa7900d0068e0eb56429a7821ed5840b45a788f409779b55a0002e87f359db2b27b88c2522e4c0debd48a5a09c6d43f637e1e6e196fe1db69e9c5c8714e80b2786185235306487572ed08065a651b217c3913fa75e67f5f0289876071776daf62314875c6487c98a810527e3a3a84e6fa599cfeebfcbb53fbdfe286ed4c8096614a5b63b148726a0624c2c2a366f9c3a0d2ba5bb7a74b25a6be6bd4a7599ce64177d4d97bf38a941251e799a03cc76a922010969ad6a11a80282f43b1ed7d240a0a828fe7d49402ffd23524b2a012f398dab7cc5beb862b5ca44be1e5965ac22d5c81c2958abe296198e50c6e3b17a8e6285b6207f4b1c2d55fa3edb25484871cc623f0c7623ced52ad255f3bb92393fac93e4bb070db2238d96e791774b0efe12ad2ccb7b8d4ea1474949853eb1cd8bb934661b45cc54c5096aa5c11f2d4bfe472b101b9eac2d5f86ca03cd302d2bb1216b2857c309683d1a9cb3905071b2b1b210e65b28e0c521291b9be069b0f4933d1e8e9781a4a7d49af793a91ea1b9b44be0b4440078a8c0991c43806b150a27852188499315313e1f4e142aed1e514df1dd9609230b9b3c8708752fee83df641b1f8c0a9470fe50240d6e53613ab3f3b5315c940cc9a0a95927f8a672021587d817c025471ed3e1056389ea6e277085057de7289e338abe13ae96a7cb339a511784b5968df8677e409906d9c30f6104da223e8c5122e88a3effeb52b6ff9ced8a7d9cbaefa7e85df6f87601bd720f024f53f3ede006f027d484f5c0e9744c192f204b59832d884d0889b2e7cfc9b1826d1c8f6810018a5ee161ac2e31a1d45d6e3eabe15184988d84d851207ce6577c6b3ad911b2f19533ebc7ee91d3192ae532be8a962a235e94d310cbd25b08ea3f44e904f68c43968b0e82904954744be6bacf6a87eed23ea39352783bdc1e9abba04569416f0625e741f2958953562855fac575e2a11aa08804c50d4d30235aeed9581f8e7c16360b0a57082a4bdf191e2622d0619c429fed7802a717a30f83a201ef0d7362eabe2936521d34d3df56356e8caf52132ad50207b557182dc941baedc6c8b00db656fa49e048655059abf350f402c26c9cab43a6ee1a29876988ae8a207554a6ef6e1beb62ef47642dcaa75aaead1284edaf537007693956b9d00040bf9071cddcb50a727bb0bfdca1b3c3402c50ba127b0efd1a427b638d6c140711282e5648e9457c48a362cdbc8625479a374a2f2f7d1574dc919cda64d3f38fe5cb66469eb1e2e0d32c30382612588bcc0122e3598c090c7830c1b2f265dd85b0994022607d34866776ebcfac47735114647ed03212002faa4ceb1e41c78db69ae6180657d65328d92d736e38ff188cb2a22ae979751adc77726b8bec6438743c202bc0d4a8d4d660a443d20b7c1f01b3c63578d1f131e7fde630c0f766d9d6f0b34a876fe4fa4a2c881846462936fa341a40a8734f7e2a4209720da778b6419666ed63062de793f6025a59a1b845945cc105ac94033c2f6c53139b7c9d1af10472c553afaa55c7b7d8e42231f881b45bd7a92983c2d4b36b61e672b39bb6ea111bbf299eb02bcaa1cd6211d6894f7058107a7a3365dbab6df703fcc6be05be000d64dad0d31a09b339cf24868766abde05bbe5c3984d2e41ec5bc045515d1fa4e2fa8b02d344d74ffa33befb39d676d6f3f5f33ce3baa756230a7faa553dc51c3c9453dbc5ed1bcb8ad10ca09e052e3e6e25a78732d8b0896be9d0deaa415548f7592778d816d50681fce984343b139169fdddd238acea463a16574dba150d0d0d6c1c0a381fcc02849c251dc838c86c00424aa8b44d6fe3c4408687e9b224b31749a4d690bf61c42f623ae1985fdde9692cff1c79f260cc52ea27488784e220c3d26b598552bb33a1f73536a5de3ef4602568a5e74a9bc51bcdea533edbee579f3ffcc8c67adcc7b891a7d428e993adda7b79cb6dc2896494648693982493bb1ccddbfcda738831a61cb4032a60ec311c6599878b36217f514040642538f75047fb356f78f930d9bfb970b7d2eeaa7fa790ff24b7bb152bf4da72f09d10f6d10707bf2c52bd618c23a9f0a4b5051aaea951d32649ae8adf88ad459fe6c940be8acee3b82cd99bef5780e236f04172c58215e456289477a158fd71b401e65e06a30e735d702a554a99796c7ae3a3e8519218938d428250a0e2427dfc8582fb6ef5b03c0eae9b4086741d60148b0c9257a3c2d132df66c9b189397e61ac04adfcc342520175ebf939b603ea3ba54d893568a8ac83dc809956d2345e38232dc3ab20f3afbc606d746f4c55213baadbe5be2f34c6af5685a4e2f171ca9fcc29fe9b58c0aa5b5ab6f182e56a50672e10e0222e9ec4b79ca223d2c621d9d4a8519b441ccc6991c06b1503c6e307f919630846024cb82aed08d8115e57b8f975b18f596073ffc7843a8ef10c60fd217caf534b0d4a6e9344d4c2666b92da07c620d5b34e1280224401dbdae37fc02c30b314012561b6dba253b30ca23cde7a62bab34b7aaef96aa261ff347d4a0b8a0a9e0f6a787009c9e3cafdcdd764d88338ff9ee050710283e844e29aacbd378e78e0c42381232e439b39fd4303580f1fbbee75d1dc18d87d2e27101a08beaa6134e14c84d9af7b93cc22c78f20d4005f2e5a7a06abd2a9bcfa9e3a69fc427275e6e184d2a0f73bfd64ca440a44bcf91e317edcef2784ace855683f8805c958125d038facdcc07d2858a330fe55125f5323266a74364ffa679e2158c5f49fd3e3dfddc770fc0b5e032d9a7c54151f16fe379eeb2f5bc4fa6ee21db689aef90e1f8c1800140136256be45403701355dcf7dd9318350df12764506432b6e300fd13aee6813a846cbf3a50f190b771fb7862445aeca0c3d692b5716a650ae45391efa5180b2a34dc8537070cac8a233c8206e7a6aa6a4bd20497d1dc820794249b15b23e2c3da0237db0672ec1db253cd05bf5077a119f6ea5e2de1be380cabb8631e482522a79cdaae49697a2551cd9a6a006d635d6060d0924e638ecb487cc90f7b6e0d2b9242d4ec53839f01a426b1d0bf015d584551155bbd99908fd13dc88c0db4be438954e24997ae884688d06eec7551e9f350a57376fae29b301775de4d8cb9cba5f8ae5d6a79ed0c8468e8b79812a4937b6f89177e813acdf3024516c38662a4b1c82902fef1ac947d7d60f29588b77e7332eeb7f3285c4d09ac27ba35a63d2fb01774425ed3cf9e82cd7deb493c70b8fcb8aede76d23754777aaa731a5bd71bd46d926c615842000eb20c7ee9248d96b5aa81faca83aadfc771d6ec87025744113833cdb6a1974dd9e37a1b33f0b72f9ac59bcda4f375b96c9ac9030964afc1f32dbf0c68f8f43be8924acc12dea861541691d6301cac40be0dc1f1043dde433c93aa8d76f4671ab1e7257fa38bb30df6c136c15c4eacbcaeec8b09b8383efcca1bd6d74e8e974c5eeb4327cd8c0ac37de19004201b795f03b4765ce0a33d26c1c8d5ed829b09260cf7bcbb6de67f71caccda8031bc7ac81d12ecfe39481a17f3194ffef1e0aeb3866a5316f07b990f3fcfb7bcb6d4a9790753aa4f777c1701f4d868e51f2d9d03bcdf05ee15b60615bd1e0588bb91713dc2dbd03f57be6e5c4be8b1da03231efd2152c05f691db1316926fad58aabe9550c2aa1e44379c64d52fc6bdbceafcb5c09859a4840c44a6253cc084b4a66b81004f138fb7e8bca433631afcf304d32e4553fbdac54b033a4482b6c03e1fbb99088757018235329d8c12c92ef1619b471c9dc6331b7e6217d221a05d8f0e62688c286ca688d589173a348a948e79a26a02b8ec4f7b8e493d341999f803f0633e1ef3fb75afb2463094809a012ece30d0a284af18eeacd629af81999d13c3d11648c92b69969ec44b60e36d458b65adc95af2741ece97983750ed083343d6db97cf9fe686c2bb8843c1ecf1accf711300bf8478266aaec2b0f5327c7e3f6a57e1da5db161e3958e046c612aa6ee10b8f556af8cc108ddabc88477d29fed2563a550828d008ebd207f5e81642780c74e987c9f5764a5a30a1a66556b1127372f3989170c9a0c033b8b94f3487a23ad6c140e914a2e9565bb3b4f2ea802ebc12820800da0145fba554697a4e2186681538039871fb51f46a1e2dcb44a87ccea36fad140ae81b021420e7959a8e9824ffc17e5cba1eafb8f19e7528c16838e03815a10117fa70fc8086b1a48b5b2b79c9e4e54dc27601e1a488f3b0fcfc3aa491dadf3bf0a53c191790f5a99e9829202a7b8630850184126d4565f7b02508c38762a7997bcddabd60cd61b6d6819c3ab1f835621d809fd7779c775227bd9dbce49b0d1c6d80d3a823f856867d1bcf189bc9cada5bb5f59b16696bd8ed6e612b59e322e63310927d7e10a239551f268afabdbef3e12b2f736f0e0be4787029129a884a07f1a5182fe22a4505ab96a220afafc695c4581b34f95c1aaec02ff74444d096034f6211c71a13a9ac48f34c75b5e4042b03716131335b75231a3b3e4d1b07c4405b05778d880dbfc7601a1aeb373b3afa9efbcffa3d8b77823c6806f2ad7e60662ceaedb32f0aeea6204aea8ecc95ccd5dbf6381da3e4f4fc1d2b5bfcb3607ca22665b2bea1912fda02bd820384032cb99f1f5c7d3da3400b3837518252e40bb30c89797ac03cdc0e500b405344cda8bdf753a5dcbf9796833ccc8288ded7a2b224200ed813875da73d23a8de0bec1808a04868e316e95238187a0fee4537e3762ac189cb54e2705c203e72af7e5c71fe33969d30e5c50181f38e177e6df72255d4bf021ca1efc2ad957fd23f3d25b44ee5c4f6fa6dd9a947bf85b951bb90755602b49d2b01058bf5ac32383f50cb88a4313f1b28560e0ba813e81ea1d168a22816aeb6b7f3d5f3da571a2e44fb045ca2315147907348343b394a7db3a3671c437b2a74487cfb48e504da9d2ff21f88076b10526eaeab986139c129b4d130cbda146b228168339ca4b7facf50ce3b66eed0a8d19559128977a4a75115b6ab5fffb44c441551e48c459b3577471d5476e4fda91278810e7513759115f00a55c552230022ba14c7304909877e17cbd4b4c4e921e6c530f605e60681261aedfed0f6280c142ce947185db1de821b6cb96973533629b6e8f0eaca8f1cd37d34b02c2c1a6db7007b65383ceb9adb2234932796dd32f986de5c97086d3d3a73f3a49748f035420574f069ba2cf027dae2d0aa98fb2425328406dfd7f948fae184aa990f91f77eb8734be865c574d680f3220a1ecebca5f27663300ac00920e0ba4fe326a80cb26873f1708284fd3351506b8d02af09834762c573768b3bdb3070cefdf00d6189f94ec8cd6655f26b3a5d35f4334255ca335bd2ca72b053b8ce56eb815db768d65a03833838ae44d251570555016844945d42cca956b7d75bf34a71d3b3470cca6ff8c7db817fd83a1157c79d0d884370b54a006789b7c3535a5e10bcdd081b2baf7cf9a2443004cd7217b6fa3d9ce994eac19d39a736a1f6db238467dd602ab5e2143bdb3869b4b3a364810c213ba6ca471712faa25e9c686a30705de1310c3dc341f57f3e8d187909ff79833ccf5b8de745ee3c290cd1d3f816c1bf8e1f85a19e994e9a9dc322d6927836028df60aea55a3e04b560a686a26290f3b2182b0b9c7af409e3472036013f8901fb543a9d5102378cc18d1e1dc25de457fccf1006ed23dd0f4aebb63f514163ab45f28c870ea81bb2d4e1217e20cf02c5b17a16a7a62f84fa368ed1b6c19c8154b01c14e153fbd6b7d5a755ff13979ec063815b4547ed9daec80ba14035c32f6d26f2c39e68aa41bd1852850d101ed244746cfa035ea366739ae1395694fa7ab44723d30ce9945e77a1838e80d019b37d84d287ea5b5fa221f66647104747056d2b531316ff06ed48658c10a6810c4284423553645e1ea403679f4816d2e8a2ba286ab4f1262538c18c0b19a22cccd45d1192f9d4af431094f4a4ef1297efb9ddaf8011759361fc26320311fd05a7ef41bfab3b3424f04c3842d46d553945ff51f50559e5c65d90736e532c3a4396f945d3177ab37a8b154d950d7b1c9b2353366995829bd227324ec31c208e87605aad8674294fe14be6306d52a76e4f6d31e083f316c5894d92e562968eeb745e1ec0de7e5d93162c5915749ad527568712fe0474283cd24a4409063182da24759c461740bb9ae40f1a42621aa8f806f5e7c9b726c9019271d2e13c059cef1a50c8701f380503f133b8134bcf56011434582600238eb1704a5ec8e8462417b694cc5f5333e05d653bd79770cb42374ea7ecc539d0edad16fd7fa26615517b291699b7b5385b688ec302a4987adaf2675a3c9d311bb97f699d8161c804946ff4670490881d0682e0d72d82f011141efe60d2f4344375776a8f4e834435f6fb810d118d55c4288013540b1560324d7352b8e5ba61b0d994c1a3e4a7bdadc2183beac1c8d9938dc489791193e971241573dca6a045c74a5a7be74ed185b2897245b225ca1aa279d570fa89fd91d2d6b788f275e04304b499dd9f49471be7595d87012f2a562fd3b5f70dd4025839c74d4aae9bec9ed1b4d9035453ae9cf1525d7ec4df69fe3614954d0186686acc983cbaf54235ac3f7e8ffe706c8e529d5ff2ae2c887b9ef78d86419bd3f3b9d22341bae3cab712f31f0917af4bd272493dbe2990bec505f5f3643d745addf1563e7fe06a7ffd3217d3a1d0bc104203dcb1272731410dd866f4c3fd93a1f593c848b6799cb97a8081a212f87c1e9d37011de928b642211c91de6c2686d2a97cf2791c2522804079be0f950dab08c84597d2848d45474994ef540e6d87973da4b21c183519035b0af6d8ff4d3861b8772529ed4605297d1ba3a88bb222938056d7a8d3d0142df5099b585fd72bdd9ce75a9dd29c5d016c1b6f0b2db4d84241481e89483d1afbf77ed97c2bf57452ad975ee67df6970f5ce7a62dfcebe12f6472f9168fb48e13552617f8f2ae66ab9a038c07b2e70c41c28f6e6587f065e540031d0e7c5373aa7f9501375128ca48e636cf23474b7f4711f3ddad6c937e431c9d55d8438c2fab3034f3417d3358feb99aaab9a3171128071d29e47e3260b106ca16e558f1295a11846f73aade779b648da07059d277bbeba0c2783bc414b1eaf1bc53ffd88712e49a0e8d241d97f7ef54590833a28059db955737eba6a817eae6b06374183477d8363b82e788535ac4f0d164ff45d2094121e9103edb757963b92744a2b3a19090378d5407dcc41aa02f7d8108bbdd11e50fc94074778011a46e6238549ca74a9968b1e2c7f7198b8ab93f9f6217936113df94ea6f4c63a062376296182eb53d585b1cb9696429427ad65da4e39d933e473bcabea00a97c5caaae2d74a800f80a4bfa4d557b97533001d9dd53360b25abf937f2bb251680f2da7b68965f670d6e415a2ce326d7995a43266c52e402061d5513222c1c81a92bffb1dbfbfb201734c2e2ce35bacff8207ef78d18ddb351e7b3a0bae33a2567214ab929eaed5fbb0f4ee00e0581b7359d4defb825a3f69000c0150b5c51ca0cd3e87ade803630ebc79fab8313a9086f2e512dcfc6d09390246aaf75729489d215c77eb8eccb3a07e717a8035da2ebbbd33d63f8ebeed1fcba2fcab2ea1b8915e82a50cc2fa2f50c2349aa7c9119fb6ed646a284c6a5a74bfbc20c8a3bf5791520789f58be02cefc5972ea5945f07da79fd8b92f5344082f6051b263f4a7c574e2665f7377edd76c4ba451eb2975bf561ab00585ed2db89879d3bbb9206160aaf83a8f719a1f671ee6095b3d00c4b9db12a01064031fb464f49a9164e05c48456e221103c662a364588408eae48f523e0a4dae52204734cd3c11623dc4b60c227a52fa8687c03cec47249272210e33c0d7ee70432b55cc42175a52a87b8210e9d37d913f038313d2c201850f0c962ca2357f8374ee8df84494bc9330e5064496db9693c338c1c54af4bd66132d41faa725e9955f3f4f1946acafa0796ec28460bbc0ad47b496a70a9ef133456b16fde77d25b4b941242e11e2c91bee04d4e53cc1602dea6a4d1634c44c0546d68fc6a2127857e515dc508c5e3e4e1f16c08fcb54c1343e53fe1a65aa43fff195c165235209189c13db40a9b6b9461c48f09c44f115e5e924a183854205d2c774a103ef986b9cbba02e5d10b2bdabad7fd3340d6ad16a871302f832091b03ab589e1d3f37f1ba81186141d3ca90406ce6048ac0a1b6208d991b86fc1f284d2b99fb32685967b121297b2179318fea2636d2e7efba9ae3c3ee08445bf2dafb4355795d6623bf613402a0ed4cf354513aeb75d7a7ec32d92c8e73c7f084a2b180a72c1977485f87da8e46b416b20abcd652e3a72741602eb84b9ae753bad5f217b36e8da7bbe912b6a9d931062f39ca4e52b74f2fba595a07442e55eaa90b8d502da7435adebb25097cb12452f85ae5a2c4d08d2552e6c2f5df3a68b7e1179b297414e982f44c2a179d820f0f0da27dd4047fadf750626fb1cab0d797d2bd077076eec434d147ce635300fa31eb7a0fea00e7bd42947d69fd41dcc0cd435aa20e7cc2bcc64a2b3882ffa50668be20db3fabb3d0b4054ff9f7959bef40165779899fed29729ee6cd987e20b4613368660b9f0a9c7b8df68aec86aeeb9af26082049c88e84911d6c799d32bc43521fb4830fda0d9d360d2de05c47fa4534e2177f082a007f1347ca1334a48efe465b3386c67bc29d1c3b478b2e7a326e3629b3ea5986622f9df47f7e33faac9e1bfc75f3cb59fe5afb17e61d804ea8246b8392e82cc7d8cf3fa2ae6fec116719fc4f086e3d8e659409a7cbe4af1d1444bad117bee702f34ba1adcd7861d3657996dadfefe1227000d6a58ee129320d2c2f99908be63f117f0550f808b37374080d076d7d0281a441d34e57b4d9aedf956dd6609d5bd615e723b2db07ec628901a7daf87464daaf8886274d23b303d9864a49a09a055a141bd2eb83122d1d72095e123ff4a5f1be5993463842191b75ea298e866a405d58ba71becab48d94edbcfbed78896cd151c8c0085fa2999846af937bd80315652ed47509626a4520b06b4400f5f11e3b79fdbcf03e20214adc9e378a6bae74cc5c0ee8ba7a082252b6a2a9c7f698402028fee29deb99430a5d1d5e04aaad6bd8e193aa63f5afedf46dba12253e15d82c6829350f2f61cb941c1340e7358a5578462aa480659fbb5199676f2dd38d22cc7de21fbc6158f00573bdd488bf7a672c8aa94c3188f08e5a2eb6dc8eae36f04b63425240c9f57144e38045e6179f6a10c246b61966bc209e09f1ff1e0815e25c152da801d7c0eb544c22ffa476182a4caf4111d8d9402f816925926e86bea58af656227186abec8635c5f51988daf70141822f488864ae355e2552d73cc28aa3f21639e6188605d0f2028d5a75850d30f98ef0898ba8bbc0219aaf050198bd6f176881fdab55743cf4f03bd009068ffd49f4b10b7457225f28ad586d8f8a7b9c31e03050278136dddb9e280ae936211efcf4c78320419ac7b5011bb922f2c51cf6842812d471e3c63dbe93d887955dc0fd0756b6d901370b5ebb5eaffa29eec6934ad44df5ccaae46a15d0abe34ee2b35a537830b6927e2578ae4dbb2617199f87d9c338d2278efb103080787eb19227f34b111c1383ed955eae734f3af133a6e9e663ac903252bf2a699f637e1808063572b949bd95d9670c36ac1764dcde4911aa0ae4f8d13802172ca21ea44787052fd7df222b47d50336d07ea30c5a66702279b247c66e2e559de2c17e5bf9d2b355d716cf2d37687e9979c8c32315684e97bc6b33f31bc44ffb52a2a7a6e4f3d1d39b224972af887a0f6202ce167d7e748c02ed7cf1eb6c60dd327bfbdd3c10b00fbd319c7419119037a7cfbaefceea0eeb7d41a1ab593c246358e520b288878b7b5705bed3e444a0637474b5ae0b6deff97c737e41b0543496e61a799f682ffcd9c0c60e2268d174e2ac4014db40d935f1dc399139a33aabf02010e6cdbdcbb4d4dac0a1edc4722a8961013f1642209fb16971f4ed2195f9abe85a303dd4b19c88090b6edf14a3001a3fb79277b8bca8464d9900fb45c06b4dad7aeffbef352b5a62d04870410e0b7e6735dd45c22a87043e92262f075c3bc718f9927253253192ee0191eab74e1b24cde5a4e9bd2eca0f2d21d569e9c05e1c10be5369552cba37c26e852bcf5caeb34432b0caa30e1a8e5698d127121610e174ee4218ac1865d6280f68d3cb5cb04ae21c3651afeaf25c06c34c088641d660b727a8d7e51c9cd7d8bef7dca6f9e1dd6848c88472f39be6a8799b01126b80ad8aa50524ea184d40ce434d9913d911bd43b582d84bbb1ecae36ed99147a7c70197424c008a82e64fcc6ce94b8ec3e5d4f3e69230d1f06ba8f57986e090bbabbca92223bf74c5b9821d6ad002af9f72b93e08ea72fe2ba2dbc903f6ac6435c5b827389de212dac7e65fe7664474f3e20e2da5cd68c0fb710a82d3ed0952bd013e9e11d9d08afddbf5c88847fd388da717637c1f602350ca37ee6636a058f70ac01fcbf12613fcab1cfa95079a20fbd29da2a39b27c3ffcf3b074fb02dbb39bf117428b45e249ee390fc5a09f76a00be4ae88802658c4d0e179fed33aaa66232638ceb58decb2c972882c969bff04c269295d750697c7a516bd85a72f2ffe976c98be93400220bdda0b95b8781e03305ecc1a006055c7181d7ec56974661a25ebe8e18cdf9d407872060ee1c0408d2e5e081e52c5d926a916a66933f4cb7efbe2844f7f1e5c83005c62292374132bb3e3aea36e83f985fca357e40ffd3349bedd054a90bc9ceb6322ef34b7742bba182c38f41833a2f7a37b69cd5f1c823b4c9a7464e7e3ab5fd1ed5f2a51ba14df089fe6b228bf049fb90bc4b3c6683436cde0882249042c60ff24f31081184f085dd949f34c878c65dbaa1dd842b273fa71ab04aba4312ed729da7c8b013c9908ab9c96b97d4cb6957d654161138600298e744b53e521c79619b7be1fc1d9bfd6cea7bc61b64036f9bc32d3dfdd2a3e6d6f45bec2a83bd1e6bbd903cd5aea611e673ba3d879529694040cff20bf3ec66b0ea92be38c7000579095dd3cabf368ade24752903ce2ebe544b72c262eb9e287c9b59a89fd3bc367a643898ee064b18c9ee0a24cbebf66c9a69219b2373ac417fed7ba7b1253a3954424a976f26e8e71afee89c14ff83d678aa762d8fa11c00bdd9400fda53effde25ce7a2354a2ffcccc9c8dd90e118fdbc471163f3db302c4ad23898b6bed3ba905a80e218d900a404d6ea1ab9e690a863af12446f294d803eb7dc7e8c54aa6075ff0f13a20451e35dfc6783d729f1218a2cf3f7a6d39a0bea8208df8cf33b2c2d8e2b22b2de76a823740d86f5c5b0d423e89668146c4efaacd1571e47295b0f98c76a4a4bd472c4ec9f6ae5555d175677466c81553045681c72488626ee5b5752f713ebb1e0a3a19992234f0e79531483ccae7db264d481411bc2867077b2215dc07d6d3900d68bfabd4987a103d167b63a3b3178324c5574d6458f7af83b0bf6240d756bc3be1a5836d33e7e35a0216c0ba2632be01c2148c4740d81d2313119ff90701f57df7c62aa9109e5c19c6f4b39e5b459e7e9798293b37ae30e186689589c55fe901461a2a701798bad4ee714f63e7046c67b07f8735f8e389c26f1c63f6dfc815327573c03c1d5892a0ae80147c164a2ea3aee9b4e4f073a80c51679fd0b4652be2412089dce25fef06d76bbcd270b67db7e9fe8a709970c3394af9e2654c7d33e0ce9e2263fe9b1762e3aa52e37d1e47a422d518c0b529742ed0b711b1969e3b77288e57679526fba520bdb97c510386367125ef677bc696a8de373b7b7b5fae200a1bddcec2327b2f180030003d8a129e5da728350032ffe4906e4bfb317e1a297e6c20680c1e6844289f2e396cbe8d183676278df7f122691780b349800ef40c5d536d24cc9804579ad3378af3ad3a449fca7a7e42fec640657d69993a060be2ffe6ec2c1fc95cbee7a05e66fa8228cac6beac80da57ee30c83d8f0b3c5ad4bbbc728d101cedbbe488a2438f941a40637b799c4c606dfdf171643db201c12a458f8b1fd9951bd783192fa05b4dcb4d4c759bdd3384b48ef1faa1c7a6eac30572e0c03a69b7b51b579a01dc193511a423d7fd0b037a7a8a5c8a58d2255ac1e30c92c99895dd093e1a62590e1140a8c4b22099f6357015f98d9ed5856da697e18ee71106ed63c449d182a1f0f2b5f8c8fcb048baec15511f013f0f55a24d0e3589b3161ad7cbee6ec0fca2c3c55844bde47e0346a98a98c595082ca92b1544374235894447336572f25496ece11bbf347729d8622aabf7438b1f06899ffed0d1e45a008f60daeef593af5cd45e29712392749b1801038ca78d1ce32981508a4920c142eacaf7f81e43a2f3ab9537ca35f9138299fd8960fb97287aaa674250a4adf5280a53e31e54573800b093f2c269c084627ecdf304a79fd72095d6a90d92c055d19c870baf9fa59a7bec50009b852a3882ffddd4ec17d27f003df66deb278e4b3054712445a7ffb588f77101ed5fe4d103471d16bc649cda4f6d2e34678db56101b59cbae8020b96059b4192d5058975d6da61c593f06616a60f98f180d3f3d094027a3ac43cc5620671b5463df543c5d3c7242e93209c972c307dd2030121f9eeee15591c1cd800548f77e61ac8264cc1fc73dbd40ba4f86eb9d0bd394d1a62bbb44e8aa903f7b4c1de9a114f1c417b6798cad44c4db5f332e1f290c41ed21e81021a9364e4d7a9a85d3c1038d6e6155119a15fdf27f960cfb80679443cd28b228970b08033583c174cff9d7b38d32a85f7f7effcb39db259dba906befe7693203cc18f2875f6ce724ed475fa60e536570a1312e433ccab9ed894289c26e39c68f338229072d8196ca75a42e8ce8bdef46fa2d1ad0c48cdba6b65a94966927deea32db734dceb6bb51747ba45cdc8b42edb643430c9baf4a0b5bb88db6a1eb8425bbf4b9a2b0d1267de9d7d3f10296e8425a2a03850e0fa710e40a5e61aac81e965c68c4cb7a28cedcac2ef6983a893b6c740e9ed27ab40161565120339613f6ceca352d174ac95f93aee9b9477245fa48344b765e9e250fe6b9f75094f618f9ae79f2697a55386eb023d50c4a5198fbc50a8e10732e740d94f60f5718060ac1cb2a53f2be8451c5e96fa158fd3de2900e92d0451fb865f154a58f29d525f34e69f202d4ba760c984954e64a0dcd7ac42e027403497ec0c5cb47f81518947a236c97a089f02e1369bda83c0061cf309ccf8248f16889418517baca3636f16b3f8ed0c7653b60cbee013de49b842922d5a2063f7ce3cda25215744f85458f284fb41a74150e3a63f6bdfc4c0f9481004a52bc124b9058720384815a0adbf8001f4a280bec0ed67d616897fd94ea8fb796312d0d7cb013cb38f79d800800003113108926194a18eae9b0895839fb2cb656a55ed56035a64d7677776fda29930c0f012101250113f2bad238cc55d5755d33808ba2bc1d94aff15a83a31f97c5c8dde1b8a95dd7f52eaeb8aeb1ca35981187635425effb8f63198e59f4e5da6d69ebedeb17bf30a7219983e1ff895ff887bfc9ffa2ff3fbc97e2c5bce7e2bd981ff36470b0f50dfdffc53bfe3f061ec6fed10ffa2c3668e0f0dfffc302f6a15b3d2d5d5555bd06083b28fa96652ab94a2e9bb1a366af32e9a0a2d66e62c95b7a73e3bd4ea75b53af9e20f2ee0c43c96523888d2b391602047ae6d7f3649eeffb443ffec1397e837e6e50fbb2395e611a4d7579da9f97a7acfba3e75e472f268c83c5f72a880b7dbd7ec95c2e97e3be96a88d2b98bf3394077dd11f34088583c6cccaceb4e8f7bf49613a7c2ac65c7e2cf5676669ce3a589de6acb77e31417b741c91b0ce03d6e86d51bb2444452d49ef5d5e319a50b7a942bfba47728ff49a20406d588fa922a4db98d0bc3a8aa4fd750052c05e53a3ba5450eaf77586a5dd0bc6d3a6416958fdef80ed5d961b002b9e8972658e5e0180ba18aba24cd5904e67fcc55495a801e882754e6a7244920086c8c06879e5a6f8cbf107436c6f312eb8dabac45e66bcf4adb39b51a8ad0d6d469f959665ec5472ae91622d696bb1ca685b34962be87a4dc5ae438243866d875a55ab1f36e8a6c8e36ae4a2c89f4ad5827656a55430e746c4d0339d693c9fdcb6162f95a41488bc66e98bb041aeae4aa3998514a89e324c1591514b6e3cc403c998a350d9e173a1ec36c80e5ceef50496c33526f7fb263debd6dd397b9efb79f9e756e7920b8b063a3946128572c86252985988e33e4e71a4b5d65a6b8dcc69adb5cede47934dbbd0bac907a19b6a6a9c4acf6d55355cf13b373d8af4e143753e2576efb5966eefbdf7de79cd6bd10c15c7de4a6438a6da25221a8e8e2ef7fce2eaf48a256cf22c6f3a4a6c75c1741d51705633be7753c08693897ee05a2e33d11dd3ec5a377672805e56baa419a9241c25a704359dae33d150164ccf99b6c38a0177019025a04e6b814b0f3036e75245e231031a4a32c527e9a9ebf80306c4480684a73a1470c0daf67a396400f50891c83aa1a448a5a2caaac910498ad4830226c2de077a7a29ec480e2730649077a186d6421b60422e02d28eb443885ef8fd8e3c30cf153e348e0c1287b2cc05394c9387510c240f289c578f926afb054a48a4163026b65a2413939d4c563bde29d3bb2980a340a7c6c6ff1daf879e343536feef78bd5e811b5dcf7c6b554d770f249c3536feef783d01e69e694b1a4ee10abb358bcc61d6e49ce59d7f30d761d9d1d3d4fa578ce3b8e53efb9dd6e5aee5fc4b7f60ac165c4bedb9b97d5f83b8fd54cce961f229c20124a431424611d185afcb1116384d2a53607674ea2e20b79d546640137983d2ca406d614d9fb5d65a97e52fcbb2cc79efad73ce39e79cc442e9d4f4a69933c54b024edcc41db366f52ecfabce7ddceb7cdf591373ce049ad662aa43b0533346a8d093cf9517e9a2bc79ad68f2d3fbd0602e539d6e11e9cffa3c6bc5a2d6dee45b9fecc6b544769ba6f64a9d0f15b4c35e43eab5281b2f58d629e8ed890a85cdacb3a537df543ad38710180e46c224cc819031082a06ba0301f578705d465e1c66a4fda75480bdfed0698d7dac65e5b9ba55e90648eb096b3ddffff3dedfb1b215c2b111e2b390beb3383bf5e2df72f9cfb241b722fdb54a3d0b640c569d65db35dc58b8e37bedc9a0422bcbd5b2cd32d50143bad466f7eedf1c11397d7058004109f4fead77365f7eb178665c77e0d848a0c64d7e51bebefdb2ea43e374a9fcbf58febfa74d71408b0ec17239d930e1e47889fc8108d3f8d316b63902723b8bc2df06f6d705bb8c19f34bafc5bafce3ca7918cb2801dd409e8d7700750b58e65683744b1db914519c2f890646a330eec853aaed951f85ce7a30197b48f89c936fba9e80e3527ca97ce44d8d158a990da7e9aa3cd8854864861d68a74aec7203e6d22789c1ec8c87441ac279543d384f08fa83bc366edcf82681d1d0c6878684c3f3a5c200107a180c1fb2b4f8b2f6699e9562bedf2952ea4506988298eac7832271bc49c8f3002d23d0aee251040aab5ed0d49946348fe989ec8457ff12b0383679bf39df226967ccbfa2c90801db4a0a2b5c4a92705c6e86df9640df5b066f144ba85233599b22a867a5b6a664a526aeddff38782a3fa7ea4e1506809caa5684cd56eeaae816a06b1dc00147bd7d5991d40b0d6f575b104e546d2aaf479cd2c1d325a7edbeeb817afb4aab05fd23758f89df9418ded16c731c239de1e5da362f69b061bc491309410a1fa050a29dc506d33c0acaf8045c648f02a8dfb0d15239c856a88d6bd73e9822a8db92e1b9d69a94f573aaf6e0995f468b2b48b337600c2aa857b5c738694fb300de4d971f013b652518ec2859aebb735782cd5b3eca76ee8d6af5463cf3542fb87a27a14c6afdae81f784d5d6573e577c8572b714554f740449cee1ea52e42cb74900ab3b37809bc8806037272bb38142232223d890335d623d29e2ed16d0aa8a7b1b61cc5ff94351e10d8d2de9b24bf16d14b86ee09b740380b51b496ce1634c81af131dc8b7eb5d1a4cc7b5e700e204fd41a0394f9a72b866b5a3cff5771db091e5074d5e4d184ac6bb0b5e6271185aabe1f68a0801a80209d29784eb0d0e3eb6408149008c89c20a2e0f2404478939c03497fcf9c0eef74721a4c025688d37d99bc99696777d6c3a0e2ee18562bfffc50acce9a7de8bc4e7b4ad1d1c682f76a1af753e421c28d3ae427676a8615264dc3045da56aa9e5a99862e7274d7d57a5c561ed2d83186fac6557b86c99a52ce84f7a0db8df8db2e0b587f1f9cc2c1660ab2217f6e085152d0a0641b4ef29830a328bfc40216fb280dceb032a6c931f1f7352d477b8f8c2c9dc9b8b126b355d25bae1cff9af7fb922fcc15830ddd21fe7dbf4816b26286b8aeacc2af9bc7432358bda880823ab5028a98277422e62e5984a1f8153ad114438280f671895860cea32b81fcbc9ffa1ba7ab81a3eec9c12262d3f89b0ba19e553ac0f948406cc744881722fb4aa852d290a3918052f74687967754e516ac47bbdadfa5906129092402871056ad9d87c3adaca4035c713ea6664f57043b1869dad33d513387cbf7dd831a8aa3761e75f30a0542ee34a70270657d3c00a30015a370883881081994cfff9f5c859d940b9f436b60e5eb7f3d4b2f9968f8eb2cb172025b0278268ad14b593094de9def2b0908b01bb426797917fc8d727017f45d3f02c363a9a8d00a2214d3b5447b48d13159fbedb7b3a014a0f3446b502c9e20790ffbff2590c7a53f5b9100c07f175618337a819d4aa81898ec85568a4c44c824f160663249384f347a83a91c4c20bc33cdf3e5b0388cda70a36050d9e941e33b5080e0adbe809d90cfa5812dbe9b63b7daad8c61ead58ed8dc85f54a8def54adf513033124187c293e49907b9844a50a03de0c5f509a4d4241f82d00a12096483d28e07439693f12fd45f0282266bcd0ee14de8467353f51e38289bdd090606996e86f13d47b0c217c1f90a3507d80b29df70e43a4e6b7a3f8741ad9b723562a0567222eedca8cd3587dbef4def8576b7ca537ef467d7166ada9989bf3c41b753b2995d8e18e321025117eed44af6c29295e12b768dce03e5c2998920751a9396a1b092ca37e6b82103f69d5b054bb6f4eb463518a91f264f57f81a75480e64479fc31e6164884ea3030b1cfe31334d6faffffa4a4ad35ac2ea41ab929a6cfe1c4ccc4e5978f466bcdf4af81f829938b5d025d255edd201e8a74ddd3cbcfdaf70caa62b1953e7f535d1f82864e0141e172d33eb1f162bbc44c1d817bcd3520d1d9eef1c3bbcea9eb52b5370b0c345e94b1f705e730174cf31af92438ac0ad57998a6ffc557a1c734083a887dbda01302f3935405284311fd85031e0975bde82d1fcdd3504a8ccb2ac00e306b1037184ccf42bef6e06fb1ae488fd2beed1f43b8d8d2407e387bd2be07bf6c7c2cc314da442d0d952bd66fc7143e035b4b85a24317f2f5d1a8cb42cb0d86ca3d84e733f9dc6f61fd2e70893e79a20f30326c01a82a8fad847ab948595fca0e0bda60dbe79b5bbdb6fdbceb9074f57557c5465dbcabffe8ad1d865eebdae187fd189451ac82ff237d3cff1d14decb5966ffbf8d4ce5feffaf1332e599fd6fdbcc54eeffffe666a63df3ffdf844ce3fefea79b99f2ccff7f9b99cefdfd9f4e649afdfdff363395fbffbf8ecc8467fe7f6d32d39d44d6ffcc454cbaccc1ff4703d3a97ffc5f0d8ed498f099ff13f84260b1faf39f956544709d19f11f40b7521ac1b3a8c1fdfb5f2560d232f3ff4d644af7efffe444a6cfbcffd866a673ffffd709993eb3fe7a6287fb25c7f6edaf7fed02393b7fe931c76ac1b9b90fff58209e9d6306bdc4f9cf21a3d40f3f54bda775c089e581df6a4d16b4eed1c548dec44200ec1ff76bab8e56fab6817ba630fa72e8970287d11726ed1b45d09a5af31ac771feac082262b3c0b0567b77e614387aa974ffe55ef63989b29c028b5353b009f40b63e4755339782fc22ae6a16d09ec555dd8606798480b9e95574e51703b90ad827d4b1ec529028b0f858fa49ea683e1b7a37a2f24fc34f96d73dc2c561e62894063d16be7de5610f66a54210a3c043172daed995c5e7a5be62b889b3093c5654458647609ee42a60892b99a266a6d4919589239557f4407e89ec2dca343716ffb6d980e4ad2299b9eb0967f37239ecc340f33faed83f7c49431efd39a6284d7a99d772ebe991c6a983d6caef28f165f0f61259133fac89b9447c30003b28cc52024be25ad95191e77499a3fe0f0fd290ea0eaf4876e39b764419fa35bdeea7b472d87d8c949f86e30608daae6a49c306d44d240a56b6a9bd2cc68ad1d318cca2763d88ed94b92da600e20ed27ee9a58d267f70b2a7be640e0803c2217301a73aaf77d1ead7a3f9983043905044f63109d33f2c3d0a3e9b2ad06a8c53e498526657bc5b395a8d0aeda28e3bc812252fa76da62f233f411d6177733f464b3059d8e0c65e762617d9f369d156ed20b9c5ae4cc3f0bc32b537f778455c299e83f07233d02fccc65f796925d9a7be3bf4bde9e549dffe50e783ed7fd6971c5e436f589e2b84d123d83a210a3353b3dd0935ddb85e4061cfc8475237032c45605d2b54d39d9ce799d55932b99eedd0b43a1c0b0cffdb409a57afc717e8aa94be10d73f9cc820312b5267ace02ba83b69161550d2bc1ee9a57aed790258ed1140d86591383720151f61ca956da411c2466e119a96af87bc5a5cfe029ec063a7b62c8ed60a02d679f9f8ab9cf3197833c3df25344c2f5eecab575fa9c50c7aab9e0e30ca77a33330e9da27bde9df797f54c2e737c1488c70f537a3e928d39353864e9915eed00060c06edadcc3ed2294dc19d56e3ccb1e63102cf992f0adfb6f062967a9a476c8ab5004aa834f094ca57ea5f3a3bc651960712fab51ea3cc6d64cc907aa2c6b2b688b5a39eb906ae4817671136dba49e1303ad4cc4154d0a6090fdc8ea53e10a279c9026e4bdd42f837f2f59e6fbe7cf525afaca40d74f364ef3a7339ac1a7759ebe9d5c43459cdf1a9366b8a23d93935ac3239bb4a700e2229dab4b472fd1eb426aa4408997c6cba24938cbe87f67d9ab53d8147af6892587f7a2b2ec18ae2061fe55f4cab8c3f812a141bb98e6c2a38173de9cf98857c8138c046cb501ea09793853509c157559cb9c308c332ce5aa2aa1dd96d10226f0fcf6973ff8367b072f7c649927af5e4c7a0b00806840bd20140083f4c4dfa6335fe732102f81ac3aec87271b598cbf6b646bad2c2152ee2da594494ab90358032e0368035d17e95159acb0d5da2e17b52ffbd2300da30246923cacdec958ec595a27a95842333473b52145ea3b6fb15aae170c46c240c24818225d912ef68ac16c981c8c4c1673efbd7797b09898978f0d1be10d6d727e6a0c5a70166332c3f1e449a7385a78751c2f1917ad47fc90038027bab9376994dc7befbd1f43ec6f0d4745282902c6252b491b2d1bb01a72be7123344dfe7fb65cf82fbef96ffedba3626e64a4034bc69563f5d7bcf75ea53b8b2d01e08fbaeace3071a2724a2918b5f2f2b30e4dad2f2aef908b26cee6ed28de7fc55bd932e07aad602a92eca038eb5109008a91b137b3d67aa787a62cd47916d302040c0c2625e3d63c029395258f216dbc6c6c588e0df9c68dd034b9064fd799f1c5d7b6309d718eb3051f5b13e3b0d9ac9785cf1cc765e074e15ef1bcf75e9d4c0eae2ee3cad1caf1bf4f221d9bad4cf12ce6e408000004c091b8b9ab0bc09c71c2523d033a9a6cb3c8da93d71b40dfedd105e3d0907ba4a177c22544a3cda3604f834c4a70141e32448b1a6cd5d19d15592ca57616aba285fbc5aea17b3855fa5b584b6fa844ea5bfac355b9d45a4a67b1265d976f2e680d1ffbd3d8faacd3055f2cd3f37e28cc3ff44818a8f0bbdc15b9d538fff502a76e2f2eac61bdd1a1dcedf19471a1fecac32244687f159724d6a7bb28fd71c2bdc38b4d4cefdbba44a5dc6a90af90ad96ad452fa708914991d1636004d1c72d2292259074d41328ba66a28d74d28618faeb8915f6931828207aea8af14a52193dd604a8b776b8220907a5bbcaf8b285908e9a82a7c3a2a4a808b17d7da513739de5c40b63f4fe2537e9da8c261dc58472d2575240e9a39470a98b458c53fa3fd93a3d6ca289cbc417bd042c69a5dc56fe96dfe7f8f28c79a694cba8fd8bb30e45ada9fd8bb30ec5ca617a8bccf829bf95dbbf38db27e985f516f99a869ba35223c6af50dc1c951a7b76899ba352635769deda1c951abb6a8543d6eb7c699a8be25eb1feb98cc951a9b1ab56ac7cc5152a3576d58ad5dabc9a59f03e76d58ad572bd50a3e6bdab56ac96eb05d39dd7d0ee0e9a6ac56ab95e30d266c74d500d1853858f738e6192d392693eefb962b55c2f1819c39d3455bbe57ac1c8188c6cc5454ceafcd639f31087d572bd368cd7ba2dc7969f966687eb003143d4ac96534a29592b59adc59be4b232c6c60df39cc5401e0ee26a733d0345d57b47f551a77acc588bb1dd91b219b9b84dfb622c54e93053dc515cb557bc16c57c9215b6b48bd32e89fff1cdaffa2785f19923f4ed24d73a73fe1fab55b9b8e393db0bb3e3a686a6cac8b8f9fff8ffc192d7b28062dd81a4437f862383ddf2ff1f849fb217ddc2878f9ffe63c0c2eff1d2f0413d8ea308a54b06824f5d2e97ab87976f9030321c9da49a244992ac474827601a9f341b046e6c6c6c6c845eaed6d53537f733b55e646a2a8ba64b991cbac0020bd8d4dc2cb0c0023534199a9224ad152b51f77fda9bdb29c133499a1123d53165599aa9c73b429d75eb626a86dabc1c10710002330ab3f564ab344d53d36742aa502d1ad6dcfca8e0d10f081c90e0c70fd3347b3f7abdde0f69ef26d124fb7e5a69210e8d46ab48a1ce7fb1d6193f78bfe24acf31f527aacf70ad59530b82560af4341a0a85a25db450b6ac179764eef4edcf667a985a2734f0044b1b1bb0e2fba0c9bbbd086637363b686835adde717ad8df5f5bd6dce88c7bf9201255e719bead254a6396320f5e5228d397528e7ab3ce25b4f25389e56792ff7bf91904e62710999f48343f83427efe20f2f3c8e6a711ce4f20143f7d48f1b387919f3c747eea547ca5ed8a9f3bb0f8a9438b9f39b8f8f9f3e2270e307ede40f2d386183f7d6a90f1b348c9cf19f31cc1112c028fb31904967ff8777fffb3bf189a1a15658c8ed15a97cfd864ce59bc19c4b98f31b6764663afbdd6dafbffd75afbfff59f04c14a2b15c3bd53a8715ca958b4565b6db5754693314110534a69cf39e799ded4046d290541100477ad75bc322efa28a51bec39e31b3d17df7b67fae27bf1bd24be27c69b5e7a930051168416a420052948410a8220a5d6740aca42c38f86b77f7e71884333bf486868426c5b6aae2414455e37e7fc1a99a8141fb9eea0052db5f8a420eea6d658da9bf8cc974c618ceba87be2f4db8aed39a323572cfe334a7a8bcf2031d277666baad351c7a7ec912636a692443de777630e82620e35cfc181862663ea308b1c6fae03e972b3e83e4aeb191f489baa634ba8d3ce6738c65ffb0e8f2bcaee7f6c6a8d3f7f4b87e25671dec3994e02857a6c628c71d6a64ae7217a48a5c63186d438f66eedca524a29bdaad56a07321997e94a7bf426db29c994b8eef5b5eea30ec5d15b6f89e6664db32795aa8ffa893e519e27daa303a4270c29f8ed9d03c485f321c3c5664c8e0a8ecf57e6f44e9266493b7de45ae83bb402eb65026e0c29dea34e992d767687a5f4d9ed8af85431e2e9d766e361b3d96c32a30d9cfeff4d1e3c280f1e3c3e696683a60d7499bbe9e076723b44edec90e376b8757628de7618aa547a6b0d76d9d128437ad991ec376812974451147f27c35ff654e154eaf0703ab89d5c99fb51d2951bf49a6e559e767c807670e8bd3d252c75e7d7c4c5c95adc911826f56ea9236bfac9b4132d79e5ae0a97124994f936df2fd25f129744515c6a92e9c45ffda17276fa4db6bba705929dd5d6e3c1a5aff7dcce4fd8438720976fda3eee7d6a60c14ef1958af3d44ac5532cd64e6d73b54dd5e61b1c67b20d24c9026eeecc77d2de7b834856acf8f81e53bbf46d3ea6b61524de511d65f231b59376d2de3b4909011e3aa52deb2f6d220f17727c9d344d948e5b0e197a4881a88edef4ed805f5369c5ac369f8d69a9db99a11001580fd3ab89345f5c623031f2e5e385f391f3e1037bf56c369bcdd6fb71c9361b0f11c5f3064ca246712cead49b1ac52fb84d5a5ad1cce64ccf9ac4d92f37d99cb3adda7cb6992f69a9e66b9a29fd7a4ebb9c275959ed0c89e630e570f171fb118d4a5e797465352bcd42dfec6b50f424d5b45431d43c39671e221ea34a6f55e875da7cd45612e936dfcc76abf56abf1c3004a9953b9d98db013df8c02dac0a82960d4e01c2bc8a31ae39292989bc537e9f9494a4b42927e0d6af8c695a23885ed82119d92d91c58d0c4e8a5e48d23b5201ce41c93e0f2f1731df9973cd51214f89a1884dfc1765621aa7b1b9c14678a8070412fc00728fae110ed261201d4e827516f3d65b8b185f237cedc5d8c440f85e6c31b617ef8ceebdf75e7cf1ee1e5d2d3d3b18fbfc58a7fb74b9e8b08375eed2fbeeef6f93ce18638c7f7e7e4af39e2d9a4cce25316fa704fca14320a5d4a4445f8d2aafeee8502daa46380b8d71a9d5d67a2908fe5bfb557a938da22d96be10147cf0c1374956ca927071d6b9731d8a18801a9acd83748e4a9123c7ba0b60a362d5d48cb362b5442c3f3eac3ff7bf84664a5a0d816639c54f6755343b20a21fcb51230343b3a30327bd2c7129ee1cbea41c7719ce64c63036f6a1288698fcbff7611dbfb24bd39b564d28734f1a2b3a7c128a9ba352a1c9b7c86933f1f67b2fa566a6e6e33b0b67a8a61a87feb8b71667e68d37aba9b3e901a7ff9b8a35b4fab3befb627cf36b1b8a149bb4bef1d6f7b9096e507cde102342a460f283d8001249be30e3c8932e51805ba42475f9b2060d3e25b6cfe68414f163218c2b5798b4911015e179137a818834a6c84248500a3b3a0c2191a2c5193b392238223b3b4080e027cc05fff019f8879d6c6e0aa829c0c6e6caeb803ef7baca3baa45957795eed1e5dd252eeff642bbe4448d28111d82eecef0005ce2400390030f400f3cc062c0a6f5d299dd49fa0751fdcfc4a15d838c51705a55ea29233304e637ebcdfd0cefaff8e2123c7b9d7d4e2f085a9052fad7fc8a3383d43b499a4168e00ccfce3cc9e066a829839b591d566a101d363858a3571bf3a126b8b99a7766671d34e027054b0d4e64bdaa2b0a795756c0724507e88a1457a250d2464a7208a9a9294da0a8080a94274f8c8c6cb72424f03485123b0d213d469eb0b2448b243e8882240485684ad14f43f1e1bd0bd4a26217c5985a0ae3a92b45c94f50b1f34e9a8c5cc13058c063b80041adbac807cb82c37f688c4250c8609f7ac6170b43d0d86111aa028527a8089b0a587048b2031217789e6431066e8d2c4d483835e13d277cf8c245174d64ec425d4665211d551f2937235e9c5001ba21052f54609244e4083280f069297a5ebab07a4f44f2ce64162c3a6644318bd2f862c885207a8e54d079e04a0d6a1499e1cb1730f4105f5050e10b930e4b7ae0b2db39d9291dd929020d1a9ea0410c5f1943ac6ca1850a11cfa5072b429888f07206d17721e3e9488da132b468c233a402518ee877a42386102093972c5e0c5952e4882c98a040b46549185e7660baa188910e331455d1240c2a42e0184d4388c1c211cfd30d434e64a0f3c1c24492293e602154821120d050c2e304a80c0550f079c10726bc30e9d24513b519a218515145c9151c9648c927105174066e484f0b50b41232bc4c61c3942768c86208a2244e12e83151c4f7421829fcfc78c20344e50719bcd0d149ae4081b7dca80051cbc929a04b0f75af87f15943aaf16ab55aad56abe15a4dc76f30eff26f10e7e71cff066f58ab1dd11aaf56cb18d76ab59952afa793b17e4c1bc2593fa6f294433114cdac1febb0ae47d713c4d4441b0a82438703446703324497c3391be8cde2b81d80e356229547a551b9eb3df998a197aa4eca7cc0b894602e184dce8c667637aa4377688efad01f4d71b487ea46273ef2b197d25a734da4673b3a23a2b71e9c4c6b4d733d7aa33dbc8a73b593265ae2f552a9117a705aeb1e5c4faed7b3cd1af3af23c7340b6292f59a7eac5566ad70abc55a5dd52ca8cf928cb3202d0b93e1a8548cdfaa10200c139700100e87c4c2344b931052ca29ca1dd44147039d0f0a0fc7648180180a85c9c04020080d310c85200c85300c4711c61883caf8fa99479d06b060bba4e2074444119204614bbaf81e89cb2b01cda5c100b3e8409027be3dc58610e7dfd12d5626b04423ff59ca820357d2e52ee6a46b75a5fe8069cd13e656206fea2773b74f8df04096592b427273291d2725d2364f0dd212fe02f3485717cca3ab021079c34b3f5acadb9a0d1f21f2a691b1361b02c27c3eb648e060b9e776159fdd75a6ae3aea0e846c2d3fd80b2c95525da4bdb28da10c6971a185323568f0c7d1ed918841a80d833bbae6456b83b77a3f5444ce862252914f676fa62ee345204fdd41e990cb80e3ebbc3360a0cf08d9023bc984e06b193a6849187fe2d12a5967c45de4f5cf2290fd83a1f0b8b0859cad40f694f7367914dce4ef1737f94952276d6313e4a7cc6259d32bf49ca02f2ae7d5a0a7511cff1e93ac26c1cc3b3659dc6ea0c9a67793fa6333973f7e87728971074969434a97c8d5e2558bf500c3f9bf41cf1a94c1e2562fe8490a6e238db6425bca6e2e2ac3da5a521ce3bff415a786efbd46cf411e625ce9f556c197fa1dacd24392306cdf663f38666f07f46722b4fffcc3f42fd23a2c07d12477e39423519bfbc4e73824b40784d4558adbae3c5e4bda1e23585e18c12f5861fdeaa0224d24b482b70e5e30ca2e8cb8276d5e6340bae1a6f9271fe217994a2baaf5c38299a1c78955bdd44760be094ed37d39fdcfa8d0f08bbe3faba066151dae543e5f1d0c37b8570cb37602ba24119d7ffdb7f8c8abf4ddcf246623e3d81a656b09305b35e5e7d75a81cfd6c820b7ef7b90e93ccc1433952e2bef2d2125c623de86f7107f67b6bee7fecbf02632777ed452c154de0872e9f658bf15167c23c4c10b8b9dca40e917162cb36058b0340c0b76d42d09b64e6358b0e37e710d0bd34960c3c2a4d38685b9aeff7650244c8862878569eff8cd5fe2ef6367c98b689f826d57a111bc8a545881bf39069426e5f484353586a3e1e0d56f9644eb95fdcdcba0cb57ba21a92bcf6415c8981fdc18f733c42dee1aac575204511680a549448d6867f0e34fab48ee7e263f27688758e3c8e62a1272f8e1deb68b1fee4a36c560614770372eb49db9b29ec420fd4eaa73074902271e5eb53d174702d25a86016354192b4e94ee9c7d008818641af13a360063b4e76bb63ea487dc3be041025f0ee530b3ef81165112811ccf71c7ca71cc01813c9018495a4f03c2134544dfb5091660e564076b43fa0b03e867609c7a7330ca0199aa3364e5cc416b6c110e2cc948b0b475b40b9d2b2e420183ac32e6019c96e1598e44b3b448e191e1b22d7a9b73901955c0099b95e824c7a3e73072fe17596c3fa05d6ba9d35aa15f7e6a3e8110dc696ff1edab9a1de6e0cb93ab8d9dab965a4347a41fd0a47905d40fde33e28ddbc2fd4b62484cf3d35240a057f674ead59c801ef1d0dac1605242eb3f5d69dd56db7364ed75c783079d049a9d3f7606d3525d8f1a85a84b53cb6e2a39cef10789c3737f1dcdd2ab596a87d249069554179bde84ad1db8233ed82cf1180dff4d2b7f2745d634edd9b28140f2d55bcd4d3f9b5041974be92a3ec9abd2c6d767ef4b0c2d3755741e084c9e20e6b6b95716149c638f83d202d958aae07b9f3ed2db9b29760f8526e4c011fae34b1c18149d40795207120b08645619da8223ffc8bc4739d700470281a34e026619b5202495b360f5fdc3745d9ac6421721922b2186545f611cc8427ffe9ffdf403e28b0479d3893d9e92c602faa9d1b2e45489f7e160d1ebdaad6b0f9d0473a291a233fdcb1e87aa9de00a7a79b22c7479f145ec39da29fddcfff59b71a9d7421f16d47d6e5ccf7a1f27cbeb4eb47f738de49faeca78650585522220b77e2a50048a480937cbc8e9c7a04ffea8d9c29568c3b9a3fa5e30decd81e1cb6a4bd78d803c69dc99690a516976ce0a2022a67973634544c29ea43976da3f15d25c7691f8c1f79b4a6bb2b2825b496807cb9ae0dc3a6928904e027995857b54b5a439411049f29dc2b1b48cd9208ae0d935f4a292b0a5aaa5dbd57540e38a48edc94f7acf4e652294eb8a2627d25bb4f37d6c80d8709d3540ec1922d0c891b76cdbb61c348d2b0251658dd92e64bd26f9ce8dc9010dac24664e6f179e23f777fd4d6445cec66faab7d3ac252ab4b4919093075f66b12244a57b0a4cad828f2c4559b1b14de5be8ca1b7fbd13784367befc51506298167972c45ed0bc010612497b1366365a32430311b75bb406c255e52834dd5b19817d34da11d1ac1c182fed1055d518b5ac30b4f2224d9c97c9aeab0de0b1f1272ecc418ca4cd99db9ac82b447dd1c0510dbdd79f3117d3b1b094adcb1f345e2044121a8c604d2409da017a401b424a25cac5eb6b947147af1001d60220173a6826267a08c8b4c4190bc49475d471bd5e0f9ae58bc0a411081bcd1e4649ad5b7cd3490df8c6c08ba2b10bb4858a15edd758cadec26521a78c89f2b02d04820704d4c097346892310969f52e108eb0cc8b3213c0734a3384cb16d923dbbb4fcc1be1583eab4c9aba157c57009f97be8666e38d7e325518e0f41002d3985c87cbb08b088de75969256ce0718ccd1445726511988e81a796d46c9b3ba59422b72707d4779a87d81cc65007ee84e80ae25575350d8a322f7b100adeced2936c74f3aa60190c971f33f7b94813d6a0201e4370f29cce5ffce83f952b10f119d70c87b33c4577c48155e656ce8ab0981c91b5241f5ecc29dee059acd827cc40e45e3606d19c6848380a2276862d725d9ceaff65409ca2542d1669ca883278e644b495f38bb2adb123e5b3fe529bcbe30412c9ac58d94e87ebe9eba79837722e9bd5e641d048adbf50613215fbd7b766d36459911bc7846fb0d628d162afa3cded5ce1ccdd4873895319bd2bb656ca66b3a20a04f24cf833c27210773d4fe4a750786908b53487f4c1c63fb1561ca45dad540fdf097ede00eaa54102d91a9a3f3f837fe7aee8447aaf787972776d5957d557f5d247d871e53a5509b8514e1fd03c96c7c9d24972b3aaa610a1af8494896dc1122f16b49c7e9da9ca71d05ad65a59120c7b51ce623b175ebe805a2ec4e8b36d3c5f5152803a8900730ab1e282635f8b5c4d3cecb77c27d7f81d41480955c7baf807b224ad6c1e36db31aad8e548f6714cec3ad49b4128309dede94aec7545a8133ac0a3ac877440e9631aa1b9cfae6859bdc586c1848076ad7816c1ab96ce2d79cddb43cda24f27f9e91eb2add159c408fdb0dc282d383336661eedf9ba082a8efa968b37698f5f3696f42889ef6c6c9a64a3f0beec21ec57d0f61f77bc3b8cfac9943d7bd2880b4982f12a40059db02ab0bd5205f4b0c796b8074d2128cc58f031ee56c721a0c3a438465d362b8b17c21052b1a5e93e068bc1943e5274926d31b46b079692c2ddbf86d46d5fe119ab38b94fe93529ada2b41b23b73cbca011d93cf9c9f6f370c545de92dd667db735cf46349d6e3c864ecaf521220467d13d4a156ad11ff1acc2149fdd8695d8f8baa66f6f43403800754163eeb40aa67439e514a83bd68b7c0deaa7c32d3bd28c011b333ebd437a6470a03e2045e6e56c1e4fc0cf3e7b321bda7bc93ab5ca96b37549ff610d4a435069b345b209a0f4ade18f97b91fac600b5834fb757f518129aa9ad6a1784cc00d00fb4adb0f60b4199647ec56ce3cad384356064411003a786bfe8d11e096daa06d30ec428043a215629b87bb1cd18176e6833578423d94cab7570978dc1c6f90429a94a97ab8d1b664701d46db99f8f686694c50874dab663835663d50d10a80dae5dcec52385ff8f2b3aa9c654c03918124304eb2f1cf13c489bb470b81554c89c63262802e08996092e239f9981e0018e5f76c3b4520c3d19ef063df3228bcd78a810ea0f902116312950429479106068fca0fba123ef3e4a292b968d9c4a1c20c2ac1cc09cadcc88686ef8deb11054ea08a6e8c379ae52810e5ddfdea33b44bca51bdf52f18990b577a8504048b339c6b8ff5960a8c4cf763073fe23e2c3b1f4757c48a8fd66b26e7907b0a345c6e1a6da5bdee7966577c6f4a8a4819c964f81a52aaf185253e5930551c01187c4f51e0171f3adaad373ad18a70e6aa6f9be5aece45dbd9bb08c664f8504462c47765cd760da268e7c300b6af1f117593ef803ee4494bcd9ca9cc631ec1d142c313a70fc6efc30b566a6f67c4314e27545d1be7d250304eb575bb2d00e4aa42c328f287bd07a1aa20dde01345a5b7d807967892738945f011a245c3a71159b84e0c1e5f8662944a09471f7c530c287ef3d912bcdb9dbcdaa4996ff1fc827bae9f02585ae47463fc5b3b395e2c5487c781acb6a5306eae253a6e0d31c4821303f330192cec0d8e1de00e6f5e804d613657a8e09a07efc6876638f64a7851c533be939328d0f4e9270af60dbf5d0d94644557f85a286200e69a2f968b2e644d0960de46aeab41a79262e8df650cca356a64f5b652cdf85969175dd535734868e003e5e1c0aaec2b0f3e2063fdde66972ac0a7eae3b04ee4417caeb68f7269aebf92dd69c138d38b29fece98fa64ea8d8f33b3d111822d87f936cb56efbb7e71214027f70b8f0a722970c96a4cda67193f0612b6832fde632f1a36628b3ad66d2c37d2e8b5d9d695967f09f61f363d70bf40df75ff5f94fd585df6be9bbf12ea601753a2fb2c003bd7e187690233e7b12c060e8d93b71e4aafe1432a51e83a432e30b5153428f2a74d2b72fa8a9540261c2b3222c604c9507b1bdf8984a26864335effd864b304f2048201e14a187a391815bc2fa06bc24eb9addbda9bf612809cc0813bf7f8527005132f5d7d8a243618f1489974c3b035dc378c3a4d57b54cb07d23e4393fa4fb7b7fc437a402847f6d3aa78387f5552c2bf659b714b3512758db9c246cfdc24d04a213481db724398a5c8951d8744585b955ef848e40691b9db5ebdefbf82d59112fee5a0068fc1122af90eb2384416729d7d7250d718caae39efd34d7f32983b553274953218a63b754a09fa18e76edf38181962e319d18d67b926c62ccb16f2c898fa0bb1e7c925758da34586a7b83b529f457be65f6c546e4e9db66d07e7dce81677d674f9e236d729df268d5038da048e2125766cd8c05726e756c4e1270c2c7fd0e0066b8a30d2a996b7b63372e28b6890c3c65625208a343ca5a8cbd6d160cdafd81d1c186238630a52e3aa5efc9aebd63f3ed7f8c10a7ddc0b243a316682215cb65bb40822c8c302894e436c2ad5da7c2222c7609ebd4a306015768c5f0f80c4de1821512f234ae741d4664401433751822d04808cafb33e82409e79250f54669620bd48038c269053d0e0cdcbc352a4cfbab8b17a93d01fce9c13af39ede74e2acb98ba966e5eda91e62fed05551b6021b3b0d9edbb0810e6149e532ccd25e4e6e5cbac9633d3edfa8e1a8c9631a3d1b22999c888b813a30af2d11269d6e7445a2e739bc300350beda465544d71e753f252ba57c1faae0c2499f49d7a054815c28c0e9f32ea0e96845f044c37b9af753288e22faa5d191e6f6b6a8480b3111c6db994e8c3d2f28a676bfc6abd9760301a5e83bad256618851dac5ce410a9069b3538f79bdc348121606f59e1c2ccfd20af96ba7cb346f68789ce274fb640a84b10904b1c4825b3049e463ded0b47ca49440c69a7d8ddd4294e12769027f11277542fde2d3da6b9965afd6b42a523dbf19f5c5487a676e5a0bf578743f25c0100b045556c3e4c7008b56cd7af262bedf5a544e1801667196e8f05374c64e33af713c7c43957eb3bc81b40531435de43dd135728c68aed9f5bdb0140e8022c078930a4d139440960db30bd8fd67fb44bcb66b8c19afeb5ee7f454bc1f76955c32faa5425e3a04ab549ef56f395e67e07e1c65d79721f835a772fc3402c342d1fe446351c19632f4c4cf20305fcf9af3f1722ab66692bccc324a62700ebab89183774340fde4a5d53591b76421b5a6bf0bcf5fc177560d5f28cd367f850f75bcfe0a8b56d7facfc70a7beb08788ae9479dcc963a11dea16c45c2663e7ee1afc0a99d07c4e73b5be90012b4f5ae4955bdf82135715bc2f96c57bcdc71182d39707c365eb736616e629cbc55bddba76130896c05dfd1ce48fc731df896390cb9a777bbd04849ff2a45489ec5c509dcc490b36440cf4ff6e19087549b12b83a17ac590de202ee358854db0d250fc2c497de774571f73a575c00c910828e1a60788b1c0033a71286836eb18b9546ab407b1ea3cc27395659e800e900643bdc45bd0536925cef51192c29ec4f289510169bd3278fd2366822c8fd54db5234d52c4459ec6d8d9b6bb22f692c05ce332585fe09e2e300cf3d4d27e3a49eba2bec4bcea393d8bc07f276a5f83e9ce253cca3b54bda490324c6018dbd536e662c0fce4567967d2cc51487b02f1def8703bcbca33af087b104102305903cdef8b9c55c44c8f4a719fdccde18cb8ff6bb1439061221b7aeeec40dfa725a14a14d258d44b5e4807d911afb453b97283367a671f8a310b134de3359721fc9c050623bed7852a24051b5ecc489f07a413a706b84b2b4d3e25dab02dc6e6d7dd22bccf2bfe1ac45e3ab53ee490f832f8b98797f768d612dfb0651cae00ed05172352378e3ce5ffc2313811fcd7241a7e1f37c8331941a3801b0f1f96d2d87c6e42b5dcd036ae086ae9530fb5c065ace49fe425f37ed990197f15a2a4331f674f9716250660c0d9c8552628696a68f9fc6f060a844c88ef877edc16ce7d8777a8b52347ca53469ef80e98433d8e735f49aeb45a549984e76e66363016e62aa4733d0873f80bddaea6fb2e9c58d3a284e0c3aa6d87226083f0d9a1e4901325c60a8d097360081ef148fc75d81394187fc86d99962697b6d922791cfc397334390b3724c4c52a329100f44066e94b5e8057ec53c2bc9bc7884b92b8a3d62949647541bca158e7dae3e5581076407548b0ff3082d5479412efd9ba1dcac2500603240d24eda8a279acb059763cff161a80ef48bb4d488aec68b39ded8f334c357b71f34c55aa1262a8e3cbb027eded2799adc360bd234fdcf9eeefe480946ed8273b965b576e33d0e31c1c5c72a2f6d287a4d3fd20e0e30cf1c6d29f0001b6bfea0890e5b5b8c6f33c14fffcd802c52c5892e431a42c5c871c5b67c5b512555ca88bd15d8e615fb1c8c50c241241430c434fb1511b0ace49afdf49a09ec643281c615a446aa9bae23321311dd1af852662760c3ee1347250ea988ee6002ad7c05b934755d9bd6260c46538fda65df1476a2e3ab61836bfa2a60d15607a890e6da9a9f0850fee522150654117b9011cb43fc61a8d7363f95a43b2514439b540396a1289577d6337809a6d916d3d0a2f79aa13dd9ced8e33f4f6dc13e772f41b81d5d31211c624459e4c4339586d85d16f87f85646e2570b1f6773389fd73b92dacf0dce7b5760f9ec7751f0c2cf3636bf3174ff2aa612b03b34e8a702007fb29ec5a218dea4564beeb1c133f90f70c8f888b1c427970e3ca2efcb685933ee935524424ac626912423d4bdc88595e669256acf764e6bb495db06c6d0985b81924f988444b19885e19d1b67fe05443f279c8cce69050a03024907c221f0073fea493d749711a903a1821806c1b07d5e165bda874e8a6ae6f16adf0f3fd061ec05e93e9c2158b92e38be0fcf5eb2e11a44e6bc71d2ef8651dda03e3eba0aebe2e63c2be4c969f5259ab4334943bac124db3df5df7b22ee014559391782d946d9e614156ba9974bdcac144b796a0fa72c1adcbf54063cd5e0d404c2df7161577f6230091e4eafd6f9de30b6b78f845eb4224a7d6ab111c6a48ab8ab257cd68290631d61b04aed53c23f6d6238c241d0f76030fcb576a08ecdb00bf0449a1834638f715b58bdaa601fb41c05347207249699c26e612894f63142f806801f5a7fef70dd3212caea064e90092f3362d8dfcab25c69a01f2abbe55afadebed1af991b25ece07fa92d26bb053530fc6b2b28ac66f453454e2f9f74a601d1f10692ed55186ca018c41fa9bfb126ac91c8873e686255a948fc7e2e61c129510008c5dfa977bba32ca8eed0e13863261a8339486b1fbd65b81129d00d59515540205cad39b75d6553f469823127ec0b69f6644dde34fceed2f6bfa9592530445e5484d451d993655259298b5bc7e4d8d96f86ee19b5096243e10c0b1f3be1c538d0d8ad65f17f380b314a804d846a3885a0d7102751e2647a658fdf423e2980a557a65ccd25d076dc08029997ff40854e226d075c0af08cc4c114f6893afd126f5f39480569c5a7e20a83eb7b3553ecd6dd40d6582cbae9a40db808691ba5ae331baaf3e301171f6daae20f7a8288dacaf0176cf8a027f3d0bb1f9ff78b08a8315930c06b964b7ef04a35d48a0a0a76a0fcd1c9d0f6dd713ca5bb589da08dad5f805b139c4d235e0959df8c5fa6dbe09502a8cbd810cca0e61f61e9dc22ad743bfffcba1bdb55e0583e243db0d5f7c29bb3e893d5750ac38c3337a74f52399ecb2dab0f3f95120d29c0fb217767ad9ad60bdec08926c51dd6cb48a5fab727cae97179ad52b1a7aa2fc7ca6090c1f468301b5827de643b4516f4e64999772b9abb1a1a97c1a5d9f8f0622ac8e057b9e4ff85a09f56350ca33008b14fb9db48328dc226fdf15d0d5d442f0841fc7485bd1f327307ab73670b867f46413fa154de5e1f17699d8d8c071dc80eb05306ea99cd2fb9b4cf5031c21654d18a0cd282ca552897561885caa3223fe0c04cea4ed496c1d998138914c9a48cf2e5f7b03651261ca26182287dc92826ddf3dc4da74da5076a0633ab40be415901725bcc83f021b00b462bfc7ce71f4afaa09d914f6be58fa8956bd06779fc8405bf9b0479ee1ac8f19a2f551d7fa61578af245359fb254cd43218204ac4b543731ffd1c040b880db07552e4ab6a8966cd85dd14ffc25e415b67616de8548696fbe0bb1b7931a440328622d0023c59cc460e7e053f685c689734830ec1317d36eb6b3067c35a02c0c0114923c724b7108434edbb7826d27422e3a049b991b6813fefa75669b480851b17208e52a1328fb6a3f41bdaafb08d6d54656eb3b0fca02c2c147e5e12bdf0a08a7500d009478aa72a0141bccb42a26f8a99a1e44a2e592d6a2d0764f5f143a1bb72b03f9bbc0db44dd3104f7d3a9fabf79eceee814055d17747c6cfe6c9e7159578fe4a342ecc8e7022c0f42376519cb05c9586a14af99aa35bb779b7377c15f1cadcb1f19993575f150c8af0b0466afabd58545c94439f43c775771ec9f2479cf66a23da8e48424c6caaa3c1cc0419b3d090327dd0ca67b69bc869ed157d35cef1719be8aa9e70020f5af0d3f898b105c7c835e723513bad3663ef44c26c1a804be0635a40165c60d790a8efb6cea8b91b0d8185d370a9595a26573e918570a0c1ffaa1870d2c5995034e05d859807f9df74f169fc0b1481752c9a0e9af825024a00c6e8da730528516ed5a31a663cbea0892cf6654ab4f02abd8b37650c75b47afbe1a957d57c0953a24fe1bcc461a4db330c065603b42d7747f94516319afb64b71ee9e78455cfcaa4f3c7497852cc98346fb19f8136b7e786bc4008a7b1f127da771301c7d55399431a8150742d462ca80c2c87be272993c4fa63c6acfe84dd4d641763d5d14e6c4936354fd9b50ce0b9db9994eacf3b243c9ed8c4394fd68cef8866b81680bf419cdbc13aeedb2582e9c5a1708dc47664051cd43e7a038cb6c6ec0db36160f5261bf1efcde2d26595dfaccc7cb962c158df9cc17163fa6ba867e54e75155d71b81053c1e647f0895301a5a541e4eb043dbadec9094e50e6a3a41f0aea70a5e6824843d668adc1f915a6c872f818376dee68577927dae2babb72f0a4c9f90fa976ffc987be1e5c3d05c8d5db57c3a2c9767641ed9c139b73028a9d01a59af740eb90296e13f00c827c801b14038ff814b65dce003335697c731fca8e51da925c7285df18c933e807ee68e63f366df16589c12be3b41c7a468c204a1e81298cd3af17b4b42b66cbfe9669e5c566aa513257eb13c5418c2b66bc21c03d3279b288cc0de0cbc6db3ca7af90cdd4329d09115e9021661b4b99f63c5945d6d4a4ab38d905cd930d0fef16fdb34292870923374192c4f482eaf4d935231ad525a4758c55d73e2c6cffe092dd543d99243af41c4d4e9015d891acc35f8eb8b4add0972f780d044857aebe977dafe8bdd6e1ab13d3fd101796633dee435589496e8919385db3508fac095ba4ae518b6fb2ce0e24da68208b1dc20f8f73fd64a54b81471c0adc4ea07168719b8c3591bbfca03cdcee94a16260335cbeb4d4f7fbfc4725556d43c87818a0334401da9564d7f70888f0528f52addad01cf18a3815fa58bd1054868ffdbdd732871e90976c19323d4fda18e7038e14fbb80a90b0b801637e8914c2c83621678b56047e6b1fcf63571369a834a3432b89a227ddbade9b5c8642eeca8da4953a049d12cd893dc86556ecefcc6e0040f513cf2c8c6bd0ff4197eb6c609d7f8f8a314b8d5963adeea9c0a20658df6c602b84a968fc4b68955987590a77bf67c993d9d5e545ac2d70f5c6c15b6b5ca3b2df7314d7dfac6c9a23f801084ac998c66af3150864f5da614547e512a956b6aaae738310d361229b4f44c561ada0bc15fd38a17a13278cdbec853cae908ee7dc2493a28b017456144b04cab0e00b5bc4cca8362334d197dafdd796cc792f373cf0734101326de7347d80aa4b8f1f9a0ccea639cea7c97ba703a251443cf200434c0ff7761e43769e5227a21daf484d8f2af0578a54582f0e61a8eb02868a41f8bc83c4d88b3c6aed2077ee781c19a9386ef6af08e76ed008f2d3542dd4a41ad7fb6ab036c1c465935cff0505ee008b25f4f1ac912aeeb8b7938bd2b2e67968a758b2674e03d8e75120b064e61ca3a2f64147476ace919c0900d665aadd46c1e7948b56772b9e7923337063ef051b509eca32dff173e0deb83fba33b4d856831022472431aa2b9227994665d0328f803d1879ca0949b3bc0988cb8fb0fca5c6f0182371f6739cacb4786c65875167591350676a287b47e9257a33b546b00569509bc4e33d4e0ca02dbf28087492cfa67d854ae1e57c6e4dd273381a04d7c7f76d8d6c8255b92a9df111dab19813790d2f3e211589091c7c48d47cc77c92e7adc84314ce0999eebd70cc8167e2d046161d37bed7f337eea1a7872e28c5c0d44d14d9c6a11b7d67b79a6cb03e0fdebe00b9f397271f680d043b1c8f2583714cde551c6522fbccabd4e22055428c6c58491d050deebb48c6180ef83282047a11b2f0f540a40eb6b17fd4106cd55a30d765ae6159c6069be049e67d563b183ac690103e3c155afde253dd3663f05302c804f224944b1962928bf25a4762236dbc95d5ab1b2c2d3ed40042419c37cffa4a67cefc5679f49c69f2330a8e052f3a3a6704e4a9e1b9a73f7772bbf1b281d870793a1536509940a4381a47304af0345749fd796e6e2726bbd0ef7a922e6801fd24e466f77b2fc1f883a1d2c79a498af1a658c99c76a97e93cb0efbcd3a7d5f9a5ea69f78e97ca866ca21693717a7896330f3a223fc4df35b0f6a38bbe34bc9d56d6361c1471c4cfb813fe19c6b207c11d0cd047d8be122674fa3a62d37cb8a64905ae3f0ded341aac42b72f3705bcc45595e32bc54ada50805689a664ce8d21f0feb29bc0a735237cdc67a4bba64dfd4134583e41039549108c0e32bc8782b642a98cac37521fcd629ac0d8df90cd55e6d6b1078041726bb0b9f215021526ab3a49a0d1ddcb1da5d93752069ed1e2c6fced13a9133d0766f54973d437ee5e9342432432092280db5d55d881035fd34a1220f33c8ddf24de7c2e429813e7872ac3abcfd0e63152d524d435a3d47a11f4c4544ca85d941a3f264bbe9ee46cbc486e5c8a7c726db922498c603b8fb61cab90d2dcc3506a4c9d3956e77f71667651572dc79548c89126f1a28a05fc35f5b75a3a2ef4ac45419458a672aab9106c133d1138767bce956e75a3cec3e87ccd9078ac994e59c6b3e98c94f21a2cbf780ff22180138ca76c5c15b96a228c794e17390d4a4e5358929c118d66d90290e235abb747bb90ab0240f4ad87c039bc8c00150e1f9d961d2528f92f1594c591ca525aeb752be3a18528d0747980aa8821c5a95289446edc9f758eaafd644de30e3cdf6c676e94f02a294d1f3c15e0b824dda3e4576f43120ca3fbe531fc68134f945c6d27672d9f9a6a88921b90239aebf66c080a62f9d44fcaa902e701cd836c1e928ee2e1817e11617827b76b2c5b4e7e387779c450a190a390b9fc1d8492634124180d53709233326ba12080d5befaf68021420775f8da6ac1c422525ce7bb462adace764282e92542e26f41e32c6fc52c143d152d2b8518d66ea9f3c7d087917236690f28948d6bbf0e64ec77350b6cdb14d2c08e9cd2d59177180bf29b8b82f58fb165ea826544c22be534cb66ffe88f398f09f1a89214454b2cec58b300ca58fb04d444e690af895049fbe53935fd8a1f27814d6b89c2e10eeed58ac6ca4be0a8d75537067cb90f998b4e4998ea740346ce31a90498520db28e29644a960c0150597732d9ed405fcaa68996a9d3a59f8af1184830ab4748ae169d7d5b93e1901c10ad1bb20e45184264fe1a62e389289550604344429f4a56473043a2620157b3e36461617361dc554679a985445a0c36feb87726a9ce2682f7092d2eb3136d0dd2d07dfc6f4cb1196a9766988b1a2dc62ce649be66cd8e2771b1bef033756158796396ce6069e146736d77f1938e2d8e016e2996886d2c26678653f67215877ab22522c5e800727f62260bd6ec43e59a98a24a26aa82fabc113738a2a355ed059e6cdf66dda980bd6960a8902f815eb341b2f042c47e6955366d0cc7e1622b978054c8e0a3b282e11e29946a2efde9c232485111e8a62d75bc6e8dd42310abf9a5c55460f51501d019382e8415236798a18ac2208d14da0197b153de9f69ffbb2350088f35b1d3a127ab3742896c9e3f122ed1ef75b9c30a020c5724aaf9ce6f3328f2cb136f6ed854fef364908cb90f25c8c2e371aae84c7f2aee43afb04bc140897957399f112ab9d170d0b1d8b4edadb60cdcec1847f35b05013e94b627c4796999d144578e483befd489eb95a6ee07877a969aaea489e13ad2c4ea6a28bcf8436d3f27c7730687a068ceffeb3586b61a9203fde5921be5ad25f58afb22d5443624dd0301934a5a3e418cf49297a3253c38f25305ca6d0ae76cae2ae38842d11dd63bdac184cd8c5664a52289450618d4dd88336c3ae055de3d0502f9660313d2a5c96d84ed148d190998b1040a2fc2028c3ba166327e167128188cc5571064b0816d7869da36c2f422b32fdca8902288b8828376e9d5731a06282ea3ca29b96d4a300dc4e6ca0adb45365a18c222fc621c2c1481898b246f1cc47c730f62c4ba37fc238095a6c59d2c5cba47b4c7336ccd59e9d10c06db135d140786e3204e33fcf1d6718f4b86575c759c533d74aad83fc009fc7f889455fb8992644507cee93535134ee1a6f31b2f591b93b23e834bdb7e2efdf421d1a6470ce114140aa38effaa7e21c4cfc33b6aa8364808dc8bd07d8beec753d79040695a6f6222e4c02669e3f8ee7fda387cdb2f485f0c4a5c5daaaac5ebb01ef0262c84294034013d8b3529f84a4dc75de6e8fd6f5435559fc68cf65ff850682bb5bfc479ed038657a8900ce63d5260e29f3e2d52a4bc7adb3804b2051e63740f5da22a016b22183f6805bbae07c213095055066a67bee50858a204ab48e06a4b41e01b6a6a5fef01aca84bd5eaf5160d15147ab8b4e0c57d44ee7b8c74812c66c83b34eca101c4089eeb815541df80d1aea5a7af9d73a161d170195f301abbbc1f12f0e4380756000213e2a113c113a9128b004e2548ae7f21e09fe2d20a790c400219deed7c9aea82f2052ddfbe34b4e25b700a95c1f4757ec6322088f73d46f50e1ada8c17483751a2f2062b7b9febad4ac7308dca4fc8cc42890a175c6197bc8604c695e1f4176e687dd51238842e3fea7658fca25adff13d76073cc7b75e1554fb054554dad1d27ec20a7a58a56317dd677310d8529fb934e36235a55c43988a5dc8a667b1ec34974acf4c4254192aeaff4ceae29bbdec5470c92ac1fdcf3f032789af331fa46aa2d28e97669f5b319d071a274f3da5da317c2c4ca5d97ce47d0aa5e64a678d04d6440097a7102b8ee5de69a1a19899df758998558d72ec1cdd64550883ea6c522dab3a28cbaa90eb03c8addec79b8665f7b3c4407e3c5c42e1c28b98a3212d2174555c9cef4fbf15fd034acadb79e195c097ca013e8bf833679f2bd5963096ff4fc31f118e5198ad4b2a537deead07437a4e3b6bfb3693e94bf4e71d29b79aa69b9ea204ded4c6b0f14a92a1eeadaa487f0ed31133c45002d32dc6c089f2156d623b4f9a603f1829b0483d1f3fbe9018c8bc88e1fd2978667002ac69b0b5d7e49622a5cb7ee441e404db4bf99ff94c32dc9a7a505c7085ed52701482e7a9aa62c0e7775327e4b34ceff99d68d060b886936c0256652adfca5613e440028a4341434b305e723abdb53343b70d7989ef22d8bdc48cf2ef1bd8c373f9d49c72d1256ace7b007d757b76254c0354872a1648480e087c0d94f9815b87e651cd3a164eaa452144f6de5b4a9952924906fa0344041d043c3f1816a19fe0dbe7941c7b0061a3a40e91eb9d82516b36470e2aba357978fef043377b4cba23e4dce65803d08042cc164adeb0a2c49638b854ada103d754a77bb7355580b5279dd252e85374bb9274861d3990e8c08c2bbec081e64d941d15f72f0815b769edeeffefc9b4690b3d7eb0cfbbe71d620dc826d94788795298ac8469648d06a1fb9802eb4eee49831fa990fbe8728bb8cbe520b0d480b6f1a44d972974b054e1e54e4f835a122e9721e8df8117d9f329b59f0dec56ac62d9cefec80656646ed6190db2e04a50d35995418024f39fd9980255c4de67df28c48a91f60c7405a1e2b216d8ac98c4b512f4f93ca0d3b2ae9056fb81a1b84ac18e2b77506c33b94617da0452b9614224cc3ca853fbd5411650e681d57e39d7910110ef6c134acf31a7e1de9c6766dbbacbb4ce9d0c9fb4ff311e47bbe9182a720912158509ca8c2e5581eed9b3abb8470d4b02541af345819452ca9095029efbddb9ee855f0330cff6a7d58a4c859f4933b363ceccaa9832334a0619b3cf8d31f330c6cc9a8c98d91c607eb3a519d32cc820e334733bcbe08f7e348442036957a437b3393be3813dd7bba0789937b32ef537cfedfea8b77329ae7fa3f59ce64efeb7496954d7b6be55e9fa46eba73a9b6ed7493baa73b7fdac45cd9aedbbf69e735c7b74cee67cfa4fc15e2eac3f669da0e491a4a6f90a13b9dad6ea6d0f2d613847fbc1121e62f2e61af192d9c072a515920eebe4cd8d2292d16a7ba2c61f382b107f6385d1118485dfabd6f11b2dddc1d503eb05bb818e0684e1d9feb4fac896fa6d1875da9552dbb665c5b640da7eb6da6a6df5068340e9464a07fdb306f8680017dbeefda2416744f16fabc523a8bdabc8628732c8ca57c35e6d247fa2bb745e2d2185eba2a98b9494175d982975a65a6bfddaffb5feb73f73172deeee94fecbc1bc7377ffc838843cb4bc5326eaafa5bbfb9dbe1676cacccded4efdc72bc4e61eb351262520225d9f0c3ffe82459b400adfb4a39d9f251273dd7eeb6316fe3781ec811bd32a782fbe1705b75066fed75bfb21f95e473e59eebbcfb9a086d1afac160e218f30146532994cf6c92690e06c370e45d37c065c9f7a8baeaadb93bc6fe69bb5d7e51a29ece66211919f5774c5127d1ae6e3c31c823e76ad2f66aefd69b51fd8f7de2b0198206c66108ee2cac76775afe87285e3188b7d423ec2961010dd8321b4020d58e201f4faf1f33133f3c80263e3157345be2cf28f9db59f59bb792101585b412d1e94b6706885b3368fa66d26ddbcf807126d907d3bd0c7ddf17a5593369988bdea90c71ced777f5c3f642e8865728e045cffa69d2153bef50fdc2b37c489a1c239be44306c89b31e3e3e109cff04f26cd1ddddfbfffba77c5aed270e71a620a7eaf49f7ab59f9de0827216cad03e01461cb33fcf621371e5c52a49bc3dee736ff3b9e17c6c6f036fb4d5f3f7ee6fffe29febf843b87cc8fd6ad94a8e0779e00e8c0275b41b840275cc77409dbbfb377d7f7007f2401d1850f7adde6a174eafeffeb452b6ff790d41ffe7d09780b6d0e5b4d7d2f751e67e8675c0799babfdc00f435194a218debeb60813d65f2ecbd5d165f53ff790574cd00a26f9044509a07ba7cff5b8a107db29fe18739cb382afc5cfddfbb9171886f27bfd8bb23e478998813e35e619460e2e0c9a74c459032a0e13656a7426c5849407c58dd8c2ce1ea2a62828766e4570a1c4184976b421038efd7259cab201c6939b14385465e8815a43e7a54d111a1c19d68bfd8840387a6ab2690e4d93932e6aee266fa847558b63d4476d3ba29b6ebdc45ab189b14459af562bc9cf41fec5950f1c44331f500c208bd8ddddcd9b0a322606e78ab6b2307c90f7c40c04e9374a8ba6c9b274506f5401b36fa577333a7cc7db1cfba489354514c177861b4d10d82468a00f552b4e4f507a03831f27134c84b7e603d58699b65573ce3909189768b2f22109d8a1a6bce8a0de30c106ca8daa202b313257e68253358c2b4689542e55034eb97fa6ae59f225f472c3255b646e42cdb90380354c3fa600fe2c2f81d2861fbae90eda58ac1b6dd96a4a5aadd7bfea8b3f0b2eb1d11bb90f200b20127b2a8a5f88312175fc5018bed00669396db40367fa5000101ea17fbfe924486d9c488f7147174d821425932049c9065c486c02b1b3dab01f1e52d48a61eecd14f73d48910811224488109944a634723766532bec56980187fa6a7f5aed073a1587008282273ef4803832ab0fe3172073e7c39c302c3154fb81a1b8f2a91fcc8aebe30e6f946025920e9e0004c11893cbb3e59461acfbe913e6d2a16edc0cd1b965cc68620d1e374df04419d1449eda11166a7c61b2646bb48d9ad096c6124a765c23ba68f1464f1c6564a932c782a23ab4a7243b88dcf41676d70609dca9816637b585bd231c729e81e2573bc50f0c5b0cc11ebf66e6d9ddcdb3ae63e7c4b749ab62a21e27c91690ba3a6daf4b56e9fb87e2cf7796dd509f155b68806d65e25ce3d6d22e4d53a6c2be5d98afbf2e47c0f9da8446785194f785c3b8a902b5ab62cce94690185b0139bb858658bd9e33ca962d474554a83ce1820ba32c14ec2103c54b054c7eec773db5be374781ea5d4d889399d6f5532749215f84e4cea83517b1986cec5d9e28518ad068a28a132771d84528b11b641427026a5c84157d4ff3da6eb6f5755d1d44bcb365451aae2c7f5dbbb24ce46f43aea94089db939d013ed16409d398c43043121c64d393d034b9834b6f51811453fa6c2a19208c2d0e05797447901421d9e088c844a6b9576c69d1e5ac58594266ce9cb4a385107967e5d404125aecbe98a20227ced8f59e04e11b191a929290855c3b44bf31c84ab9aa54e845c76ba5a5631d1b80025385a8bb05d301ef3ed2739732c3971d7722b9cb19f2908e6a483357e4733679e9329065fa1030b7e9f4fa5717af3dd75682cb39173006ccdd3be246cc2cf9c5ddf3bec3b07bc11af71bb97e8a0c8217deb871007991fb42dfe4473e53ee88f4f3493f273c4dea807eaecfe39872efe423cb73381d8f27e7c9f6befad94a71948971ef3ce7bdcb91729ecd715c43c2e9745ef327ceb113e7a8b88975cee4398f72a3ea36ffea53de48ca48ca68aa7b54fe8996aefee8df68b63fad960a19bff6dfac84a5160b7142ebb2b6de09aab5754a186596e8a4c8ae094735474e0433a122475613469967458cb0111351b65e7c2684997a74f79eb3c1cc27388842dbcddad20d27671addf79e5f6bcf6249b0e47507099d29a82265ccd17bf429fdddddfd776f6d1db2b05a61d408960afe25c71eed1761c41731a79845471be21df7f8ced44dce0d77644b2aaa192da104115393197e62a95c2e9773f186448eee36a1d1684434221a8d461b337ee9d14570facc277800dd886ecd7534dae4b43cb9130a0a92c962b17174e5d8896d3a6a99c060261ccb9996eab29ea1aaa223d269ced9dccdeffb89bb33e71a63370ea04cdbb439c13c8eb1984cc63b1e404e2cfeb9466ce880158e3f973544059f6ff5adfefbc27710fcbef1c5fffdf831c0054ad92711294e5fd65e661a6f9cc44cdd3de7748d728edec09cbd2b24e4d9fe9486b5899af6b6899ad6346b793bff78bbddeefb724eb9069d72b91c088a41b1f10892bb73f1c65e4c56c9ba88fd6692b549e0c19d1dd002a5428421ac79449970483c6ac4a012a60b2872f4e41d2ce6c8552133861679724c2f05e625b564fb8d27f3849c97657869a2a0b051e106931ca0d4b0ec998a0ac38661c63e0d309fb011a3803c6c00510151c3c9379ba0f86c2d7ba596b05251dc5e6ac78a8fee7c1a78ea8d838e106ac2316976cda5736c9437358afb49b192780a91ae352346b13366d2ac9d292a1fd941fa2a47364022b4420c6924d1010a1a0f3111d7f8c80e179fd44f72dcc44eace328de7199e2f5c64c9a1d27b68d2fb1611e71eb2d9feddd89c9e8e8c192046ae171060d2b7fe68b65727dc260ba2b2d50d7b720ba970acbc605ea1589725cd69eaac45df53e1e1c1fdd1a3e6ea42cd3ad6b6ad5b575ce90a159acc088e0992ab10bf1eb855858343850caadb4cf49488f6c1d24c43f839be34357c58687adc987540869a69642504383a29324865046940a746c3de8b4c13fb219e1ca824dad19bf22f891925fcf260cc109a8adf4653f2bda1fe75c00cfbfbcce9abef7ec96ccba971516317940f9c16138c1eefedaba5bf9628ededa12abbcb3a5e321386e8052d1d6fad65aebdfd72038c34a6339393eaee2c476f076c11b8813c1db8f5db3a0ccc9ccd3be8f3f2eb2cf294e9e2dce191b99433a675f81304ce85d5a6bb758aeb3fd17c023068df1777f353d788aff2f4aad28c1d07e3ff60361368439187ea0056d7f0761c150fcd07bc6c606fcc766fdf8f6abed0ac4da0a93fdb464c01be5efc1b761f811fd83011376c494c1c8b87f5f27f9fc0bc1efca11f418eae7d6be7eccac0ba6c01c85c43a001f7e7051101e6a4d8973bb6832103b2d3a4d16e0c9a54f67a0c953e44a4eaa29674e0d21e432728b0c91c9ba6e30821128306ede2001850fe6cc180b2e29ffaef1af054096bd4fb1dd473021e69ab76a81e0c61c88018a014069ba8cfa2889a714b0411dd4f313478d00c4cce497b12ec570a2454d919426cd933b50f8a2a128718967e64395ded25d46b073518eb7ad5caead6ab0dc81e446c91725a2c6c800660f172d723c95d9d2d4c51563056b0cb8d28d55f47c932f0a28668acf8ae98968c2e8f1b901ccd2ae4a962aca98aae10a1ca823785c9a5c31e33f60ccbe2a2dba156207a489b9f52ad60ab1170eb11eedad092464cee972ddebc34ff776b5bc06d4c48b1f32bc08c18f7feeb81e6472fdb07e1dbffedb5a3d08d0171d4382f6f7fd1bc4d5125b77498ac4e2cad5952aa82cedd24ab62f0e69e80c64d66ef6f1d65367652bbfb2077bdc2bbf1d5c6001ebd02c3fbaa3a644fd8fac12f6d8702fb8a2479903400002dfcf0f96b2a0233934e014e55963091b2d2ab8912ab3468c1b2cac30854aa85436f038f15972ef1d649ee2b113cb0d8e558dcd1521c95291791262b74023e62e9dc3e947125e9c2a7cb725bdbfc4e11980257738bd47a672a4ef3d67cb2f2e82375066e1310bd8da4d49936c6e83d96c03f49c994b08c33be74b4e7629a5f46e62b2e69cdece84cf4927a59aa26cf1a73c327f524ac56e19d6779badbef4ee56d59c73c904f5843d5973862c5b65ed7fa71eb266cf39a7bb7bd7b186114ea239c445514ee8a28c9e6634973288d305c7f891327df9850de666f44e142781adca5bf9967a1dd764d0d46c7c205a57754744b2011220ccb0eed17ee889284f6691996d6530fc9494bad77b5af79ef6434f53e2af7953cd688a4d263d232de178e991fef64c3fc55683e4f07a545534890f51a95dd39ddb8773fa9a6c7582e604cd09a221a2d56885eaf41b326a6505114f99c1ced4a121a5dbd2b70267f885df0a6429d521a2a1211a4d49e9465d6928093754339a624b222a6247729e9c9e5355512b703adf79fdac1425294a5296ba67ef353a5a8d70f8bc1aaacd6835e1abcbf8bc4733fc8dfe8891186905fa8cb4beaa7dd53ac47a86868a8a8c8ca64c419a4a227ba57ded8dbce6b51c3739318c7335a3a3286eac450a19ca2bdd63c231794ea7f327dd9112ed87fce64b4fd43d1c0ed755dd7b5a459ceb9c7d69d5bd5e533df7bc52356bb8307ee4168c6e15c25c977317573eacfb03c4230c5762188a1f2f896265fea4d8a4d8a4e81086e1c82f1cae3cc166fbd36abf4f4ab67de06b013d8c34fba1412a2125c937b7e729ee5f6b9aed4fab0db22c9b31f68025e839b86916872cc80c15d51d9c6c7420d4e1706c86c71be2f178ee6ea978d632e76a5f337a1b37b18e736c0604ab119535a29a593db5766f8894f70e9902a8b4cc5d6d1500120083860010100784825112a42088045110db07c48187049c0e8c120845a1a824100508510c06f110c34008c35080318800861863cc7600ed64548bab9a0798a4d875b0919ddd9e8101d70343d788558052a4aaf63d53d7b9e54109f54a981ffcf3509fb220e909f8b539391948567b3e78f58bda36bbb9b0b3b3f9c91ace0964ffa7d843eb78db936f03abb32500d466d406ec13004aceaea0be2427f1e035c1697444873167f5079d1e818697c4eb28eb3f5e8d41775cacf60e094a84619451e4883df272086fed079888c13bb4308667d3e072f883669b3dc479a6cd6f5676356ba72172f27ab1959eb64d4317e84d2547367d5cacc7659d04d3951dc654e413f24b6af1baef4991c187ff4c5f77065305a0c462ce30223640c12bb39f701de349e2bacc64c189a8f17306d7295b36d2577321cc8d2277c1c6818bc654b1a227ce82343f54d44872c552a4ad6670bf4b93fc209c7a93a002f25cf8eecef6ce38981ec8d3dc61502cae2c6b0b2e96c96be40df4438b2e7a1b735a50e30d133eb7b600536c1e17ed0ccd226d524ea9f218b3f6384c5c4cab1f5f0bbf1feaf8167cc76a00fedbfc9e7d9e6ff1f06500cbdd4909604d4d6d3866e23d4be28eb28766ae7dc3c15f99bd654c56df0579ae0537b0adcb8abbe1a9c1363c67a88c7a250cd6baff807d8929a9e2aa37b51169634761506d3d940de62275f81bb3ee21f1e57205b592758beed02bd3adba61362f2f9059d35d61ef8b04258aafabba6b1ae4b7ae26fca16c82b234d50e2fe510ea6ee18b8e7c61b7cb4f0aabdaf10829c23bcf82133e15240849918997898637d38d868eeb5a89c9183632f96f33f6b802d8c1f7712f9b04066c020d3c744bb1c7a62fb6c2bcdb21d70f0dd3badeb78d62729edd15e448b83aab623b9ebfa1ad4af077ff80eb54032cfc3fcf13466df79789a000bc1c1c43b95bbfd58b1d72c98df1cdca72f25afab06bbfc621f60e0277a5d8e19bec63722527a09e9472b10396943444879536f56dc902b748f235d10b1c4dd285f7fa6cea70a6fbdf7b81d811a593d39512dd068dc4c063a5a643128630a490c2106cf4b23084275eb150c3faae83a96f91631e4c14adcf7bb8687bf094dcf93f8365be1dd88c096af33b741ed80466d1cbe92aa23142326e84ccd6df5e18d89ae535ad026c6a69d4bd14310077895c00c8557e69ec84766499eaeb0ebdd9d739b639b7568578447807413b502d5ec7dd2ff4d4d6f86e4f52ea182f48a7979e7e6dcef5794710c103bc2706d5c94fac4809e61f286ba976bda3628dd7be55bb26da468e69981a93b35e698bcf51cb3e9254efef3a3512a7d3b0f7a4787fc6db402c9c3ab3006a1947d43a081a3bf53b98f03dfc81019ef19f4203c5f5931f36ff6e2b186d617f516a39a60eee4793d62389b1fe4194efc4082d3639ceeb58ad991497efee7315c7af19595da9ed9ebcdff165b68784596e136001cf24c6f0453c4ebb7d97f6a98d16a6e1de06a58cc62b35d4ea483e6cb982bcec625aacb1806684d63684b9d095319f039b88c6bc890690d98fcbb977a672c9a55c16d031d5755535fa5219edf5bd585a184ebbd614704ee589c1c73053a43d9ec7d65859d9efc6ad78dcf451f4b9edc85920b4f099e6a01c1a7ee8020c78376c17fadc52750b74f37d70d051b8c186dcb490116afab04eb3a56c1d12da96ad26912469d14ebd8576952419c6eb834c25445b4b143e24a97da72bba2e5e53e0142cefaade8988e4dd5e365eaffdd06bba9c324012c60f8e67973a836935f67b45b0c95ad1d07e493e8c5becb9721c26f975969a24cab7617c4e7145e8b51ac0a463d1502f72fb253116d323820360127de4b5fb8202ef97c4b14ec7a7ae20df507fe28a03938f396b4d4d63243d6aa23eaf477e00cdb8f53f294c4d309e7f78794e04733784ef08397f995a3a6942d28ca9e1a684bf8e5d8680f82ad82d69a1a82234f30815279e4820631cbcd354499eb5172e84bbff68ec3c4b1e3fd65a7b862e1903c66e389ab396448c4f187c825c99dded090dc9830b312f641e67b3e65b5a16689add17efda3fa39fa843936d16c9d49d7c7445a8cbba31d0af2926abc7bff7f07aa042fbf804116f518a358f3d0836d01c1c60d254eab47d09b171e2f78332fff6c1059feb9d2e4eeb8bdfbb25edafe55b8d79ee803fe748f291fea05c0b18f2ddc24534e043ad0393df0fcaea56e68553d5f671ed5d839876e10c9ea9a2df371ee9f705617fb49d280f472ff153a96704fc802457f2397320d451528708c641548c15a066cbbba687f10a60184daa9e5693fbf3dbaa2854a2237a7668a8caa9a5426f503b396fd1a43c674c5b65dadec47f60cdf0e57f06022b8fe60e90ac272cb0484a0ba00754b584fed903e71aee9c371acff3e4ef434d09706b0788ce9c0544cada699b3a8f6b43b7e02774ec614a4e76e0ebb47d37f60524ec4e54860d4c2c7710eb2f87b5afb7e6316a265ec04ee69c63d6d8b531c4a1e537c63b941187dc2025023e1501c8783e969fb6e8991806452f53c827e9021a62c46642d9eb98f5d3b07fabef1b3ed3d16f34c30baddf0dfb0af90718e4a0cdca496539b448fe1afe7d321036c237f7dd8f36d98f1a03394e157459d0377ccd1bfaf4258067a6cb6a1fd2d6bedbd38ef5777539bf6bb520d2d55f044460206484b4f543f01c96baf6de43d96ca3faa39afd1bf6388ccf5cdf1998fb8c0dc7988338153b844b94ee7aa8f601559ad6e22e0765ec52afe8d303eb5026fd36ebca2303da0c8066bff6ebd98342b4cb601d5fa10f50519dc0b4a866274c35af9c1c71e3606210291d90b355a14d25519c184b1124e4e12deeb704a03117e94dc9402a6e209cb609c8de55582f5d527780e871686dbb6efc289b553b9c85537ce9b174eb49e8a0a3e9417395470a31dc366bf28e332a243d8166ce6e432d121a94653af22e01ab6a6eba82205ee7c7181af9132d9e1f0efd71223b9b4975424eba1140e27954e4ec17ccf52055fea1cace026e35e1e6c0e4eb736a47dab4f89e21bd68b1ef1d1fe12083b6017e9955bd5d3676de0233bce5b2f7371946915547382710129438867d286087984438118d6ddb7df4caf3473e10383f54af8d56d17f2988ddd9f20abadb30382cb8a4efe3446f9da08bf05f4d77ee4d9a566819779cf537002af6bf049398a13af446ff71bfea735a80a80a944c53d69db436f9700ac3cda29e7b0308020f0da553ca2504826741e89a1f1ccb7b1979a7d5d320486e630e9642b7205cc7b09cd400d784c3c8b984d4b8efeee1d8052bc9c28385b317b07a9b39e3441ac966f156b816d94e2c1a45c8eeb9d056104fe922d49694641b3179003c2df1a7253683482ef6ddc1f62ae0851a1c1cf5bd3d018c9b080a8d1cd10e8e4a1c70e082922c5712a0b259997774503a58695bf80709a62f8d74619212ce39f9d7e593fdbf5b4ef7da0c74e98ff67f9e0e412d893e98a06bba3aebf5953fcc26334e7f0172a580300dd915b56bfa4e1e2535ef1d7663dfa5bc1bbf79720bc741bb8de40343b83f50211059fdc0d51fbb173cb98a6804b655e5620dd3f9d950e051255ac10cdbea0c12b021d0c2726dc56c8a282a9290034e4581eca55279864047fb00ae3c2b36d0ff84e716ed9753ff0b2cfdd64438a4c8256a45a3126b27e20548201c2d0fcf1310e995f09ec305344a1862ca4fc6faebae65658b1d580d92cbcedcbe4467fa9c5678fe719897590d44fec0356915b9ff6332003a65bdab310f6cbf3537d4f23f06a9b405e9e0a80f7dba3d9478f46b211fb6ac09d5c5f3997d440a200b2fb8c880afc1be60e551009dbeb50680cab807c34ea065ae555d33f18b17ce6916b911b5d59d4f24202b6f35a2dfb05653ceb76be4a5478bd2222121c184d5cc7c6f28892f9b0bc31fe2bb440d1b4d97b62090c178dab52cae440e38d3de44b56c77b99992aaf3d97826097e497b25a99fa4f048b24336a2f91dc93e12eb12318406e3f0adac5b1e3ed8851bf903a4b1b9d461d5e77e65aba501a82e1fa7d8c2d0153ad8a75d0ba4bd4327106267ec9b04c80666139b13b6b5dfa31061f13c8ae28914a43698cc1a0af0e1fa5d45040def766bca98f772ed6bd57457517e74deb6749db9cf03cd063b35bf2a917d3b2e6b8732f8d6473b99c25db1e598c1a6b613c708961a98ec946f3412112947c4e43921a125e949beb5d4b5c92da4805aae0737c6c5a4aae9a21201cd27f3cfafe9c18ca681157388bb1bc9652a919ec1102314a45044d5f15708326055481ba2fc97587e91c2391ad553cdc2085a49d8e11b664000945f641315a1546dd545fe624ab27047bb0ded189964aec44969add809ef366d93715cd615f1e2875f5fb9676b081b19f9b12a8d6ba2271038a729dacbe213ee44d79a99495e6e888db37928a32eeae94ad71404d26cbc89ffa32a73a6ba852dc5a8b8fbd488897961e123c93eec7952ceabe411201dc99947a26a4ac821c67b676133111f34a06051495a61423dffeb8c3133b398ab2a9cc704e0af34aec8adda811a3c7072bda442d92e62b9e1faae765a99e0424b1bcce336c54652b408ee7c6a40b46bd1d861cf57c9827bdc3c8f2fbc843bd13d6e69ce04084c2887ece122d3e64524772c540e2acdaf60f7b79dbebb105ebe214eb31c5c63747b5458f1a3235b5e647bddc8e4fdc7c684a5bc5b71c0fdfb7e5f337c2da00a38f211c91091a841c11670c55f91199d352419105ac8c277946df99be35649b203338ed69f75fc882f6582cb7b31133ef9a56c7071831e08a6aa3cb28e7a7632b5870b6f8125361d4722a6435833b56c3d803ac46432f45590bb7b3e1a5400c342162bd664544e08ce7acf67f2dcc80a2116dd5ff99742e69feb4881332a03d9d9f87a865f26091883af984db3ca40a8b74cf88700e2b5db2a7b20f9d3cbbf21f5adae70f1b7fc02558a6eda699b7a24250ba66ffb03b8522b52167fb003bb34688e7d75685993f17bfaf02d6d2bcfe8486cce82b01d384c03f3afc0d89a6c436c15d5c6f00740d8bf365219bbbf34fd223e3ce9bb1f66c687acc32c1c44b5264d5a542dcd6b7ddef5a16efd496cd59e882c301ed7e778db1dd4432dd0c35bd5dd9689dc97751293a771281cd6a625194400dc75c6c9fd91ce8618d862a5c97a323b100fff853cd87fc9c23facb43b4ccba9513d149af00c1253f808c5b6eba5d467f3ba637178e7cd4426c937364291db0dd440d7e45486e807d94e9968abe935fcf893c5d10fdacee6840ac0e8b6ae298efb082520c8fa6d2b2b0b1257c47d3b45fd5558354aac3cb6af7749a615be1ce81eb332e638280aec520b6adbc18cbee4a9d9d78450c7664230f4b597468cbabc75c59d98bee4ae72ddbf266139c65fc5873020ba6999227cac36e6da3eae819e9db90eef855e1fb0b08b5a712ceb3fdfdbc098a28e993c15b9ef0b9941d82c70bbdd34a409556e435843836b896f2d089740c2b7006906c7be044c2a9b72760070b7bd054f713c5b17257957fbf3f92949d407ffa6be3f08b47f8bb7cd0814310e1615675d5a9595c363f0846fee73040a07b957552c20a86567ed8da4445b7b19540a15a78422ee713ae0264e051414f22ba5889161d0a311f2310581ac07b343499763252aff14237ab46bd3eeeb2d0cda129b440ac06447ef9cce10d43540431d06e107089d68c52ef1b71309c9a7838b88ddd69d960e694fd2f5b64b449ea95799a3a93bdf3be61ba91c7e466376b0ac5ae375ad6d005f8d2c92855adafbb54229dbde4a581ff591114079c508338e4d149bb7b96fbe9a01a16c6a938cc85f4fbe0de937ba8689bdf117a0526595954676b5e5df4b19eb1274a13cd1f38212a0e20478fd61d37ec65c8d9cb4ae8e2dce1965f245a2502968cc3998664fbb6d154175f70de678526d43bbc7035546704434be69b684e44262690f7ddbeb533aa5cb8b38e20f15acfe63eb4af80a821c61943dd81d2478d48b8918b27dd9889c3131bfa4ee6080885f80de4aaaa4cb24b22f9e1117138d9bdbe6dd9f1e740373a67ae10b0c032bf6960a04b4358fccf0c186122a2b992540ad2546e87fdd91a2abff09701f202f1ae4ddd8331bc9e1430dc9e1962c8616bdf2c08073ba07c5a427e1b6267e494fb30460a00704d782a20238ca62dfd4c3f5cf7b8b292e64a0d799557034db6cd6028d5f5a865dee1b85771f15f7cabc85f34aa49f1369505150535232d8d382cb0510a7d085c60f0d7f72929635fe751b66469d93a61220b5cdd0e9adb65c747419f83bc9c6105e1dbc9d036674676c406c2ad5c074ca2ebfe201406d502e7a9da04474ab3f88cde25bfdfc40321210102c8360e78916e967763d2d99881e0fe366222752321b806075dddeb83e6be832bcefc082d43206ecf8a793cbd79052b79fba6eb2423b36af4c03395ade579c6ae969fcaea5c18582496fbec94a3404c27ce5781a043641a3f5b5580569306984674616e4fb75534bd705f68d09484d7bd0bb17170134b2306ed46be563fe00f26e74630d4e0ab9123f49d9c99247cb8984c4087de3785a50fa37af13d7dd7b4c841bbf46fea7e9d13471ada3443c4b868ffb3a62851286dbecc102cecdd2864746394ef16d514ff0b9927e1eea14e6a0f63cfd48a6eae74582b4e88c029ff89824ba726fa4f55610999cc400f96196d9c0361247d1c7e08b2ff79b7df20767a1e855e86fc7c715ce3f536669ee1654da5e2245a98a7680cbeb874b300b0639b782d1682527b8b691436e5dd09eabc86f1a472bcccda2b790fdf8d77394e46644932441282a105a9b79a95356607ee5a3b542cabbe33e9e19ca5f74d27d9a7c689c7bbf9c3a630c9c0b02f5d92a7830d2f827f22b51ba820704380d7196b469bd6e056dcf5125fa6df2a03276eeac9da093e0d5bcd2cedfc9b6634cc03a9da9815f81d90c2c4f35e6411e902ef5195918a547669eb35e137a07a0a3b92e189d100e82e7ea8080d5f249c26b8bb5d260346da02a63b0323dc6f1a35a7211861824e021764ab6581160db68ea162ebe882938f0aca0b4a92132aa35ea801a38d8408edf51b96ba56148345336e5d64e4b0c00c3f35e0902dda91e98295079a0eb90b31529ebd64c938518e1146c1f6fd30ef5c14493e57ad3336fa563cca140469ea7cb339110d4d634507fd96abc62fda950d899723b8cc067ae0f409ad10ff51788eb6470e9943ab6ffdbad1d62af87165a2075cc452ac125bea045d6519865e5c6c87cfe849836fea7b08cff1afcc372225ae104044afa2ab04480b2b6bdbac62b8072a54417312ff2eb27d20c2d29cd4985000754ad5312b7e8c0af38e948570b61ec5b3b94feba48afc82ac38a0fd7650e21e02ede4e1b91c384577495b25f11874200bdf50db70be1712ba262c4724d1c6ac24747856f05f651cadc71504d0df3cc9ae7027eca10c46e9b70b2ad40982b892e8809111940d9a7c901b9cd2b27d086a18581e11675d1ebe95158c98bed9f1f9d5201bdab2f5a51b79c14045ab52e08b6b3642e083beba5aa063402818479054af9002be7af2724eb49721369a1a22032c3e83c4d64ab8f46a2fc61bce9b7d04f306eef79496d7c501612cc96b98d0207fc83d939e72a51ef5be81638dd1801f3a6b97d25e557e74254b46f03171886eb6eadf2e12a1d3ca497ef5ef6c2bf7fbcfa6ba7d30ef47ee1ef8cc5e3002b7797ecd43b181d7c75e0d324c27eab0170257c1b8ddb94bc515c93f9feca861ddddcca39fb9ccf5ba8db1b6bc00797ed0e82de3c773b270cc2b17c128637e90513159d958e6b12d03d00bb7c57f8d521abdcc566c3e538fb94b5a5fd07ea18589e4cea96e28e6e7e5fbd08e5761a95eb7c0e295aeed65a5257195dc1151fb0dcce2c1f6ce1827d156318ba446deb12498ab7bd57d73db5cd68a7376d33be74778f21dde88cd42aef7276c791ab8eb453e9519511143079bb88ccca028ef7a5ec723bfda7bb7df6c8ab376e1b410b54706a7ac1a940ee62d8d2e86214c4429343665a6aa4163b4e0648e4c7b1ad43a7dad4aa73b7dc29d23745be5c3622cad69ecc58ba5815ca761d6e54071e288deaa053b32a940c21f5fba2ef043382d7f223eed6c016d6109de25c17e678b08f26fb85073badad94e703b64f35cb4983ec35a3e9a489265774d2d483082f99630fdd07679b19a459547d36a323d65f0528bd4bdd23b20495758bc156e031745446b80205b6646fdf64bbbb6916bfd091bc43879c8455343ab44a5ee7be05b40a5741cd7a3dad76921c2b9a6c2cc8927181a57ce514ec7004ef6cd1d35e0ed307135bf194296ce6822c8559990ed46df46a81ca65445a981d1d159b33ddaa10d052148c55450dbc0cf59a5f6a328eb5dcc2aef0054a967523138d7a2c8e2c94cd07035a62b2028651bc74de544ed1b083648d19c3440ba19f66027707496464cd700747d7246c85b906b7ee1c021f927b03a26d13241451a59f4ff7bde0f3820bac853035c98e59ee5d5bc5a8f85c57fe3d2b1824f2877a3acb0803761ad159ea4482aebf5790b85a1482439c2e072e31b894166f19861271fa9d9e6afaac2e49ae44110c37b47c48002cee8236966a45c2d1868f79d2b7098cdbf43b8c7880e5438eb445d6f40aeb6ed91d2b4ce794a28cbfb8e160a1aa4e01c35d4ab1d7c94b1c1837eb5f0460236d2c41a25106f40a469b402a25fc18eb62e362ddd7f354030a0791dd96e513a158fd716dca4bf9bf96fb335d310a0d5c7d7094ad316d3ca1664451fa815bb127ba7d24a815e0f11b86110e30d0c3c7c501b58b9a83bab6e704d34ade81ef2004868ff3de41342b03f9f18a4fc913f2ff212cd1c0ba9c3fd2438f4e3281d3fc49a2f778c8a13fbcf8e0a8a283b3121f6a48971a896ba188bf49b192682e493bea4f77b2c8aed5837172a0c8be47bc204dbb9dd346da20bb59b4be8c4316600f9727bbeab66c80c96be3bd75de488927101d18734d15610dd5e00af4c249d9fc2dd64e7ebe6866bcdfc2378cf2847db2e3a8a2ce9fc351e43c0be6cb80834ecbc72a385fb2b9147117fe43ea9fb3c31b3d9d34de03bc5f748a328e8a9cd316b5dcd1e5bdf6e40a07777ffb5d5df4dadcccddff459ec5e4d5fe6435d42cfe7ddee1a38398787573d5b63d61d996a99a957ca8c2080d0323a3608a3492c1916ad127bb186676eef2f6110ac60bea27ab2128500df823b43c42fda41e30913fe2a35c454089f3e516bce0f817b852b3d8a18c8765a56a953f8bc8e35f8ae485228484bad69c67e758979f703098a2bb7f4fbce5e504d932c68561c52d1d48af237b439294caee187e2fc7df78066f0a83af447aa812cd59a40041e37f47037c80699ef662d3b58ff58c87d706a84673652881b62a1449cb7e68c0d28e200a27f654c36b065fa974d52047debe3cfc881f2a6c419964258f4f9deecf818b2e02f0424e2993788ba1003df1d22795c002544183db40c366e374b3b548a2da8b9598f3083192a1be345215e5ef0aef7bfef35633bb4b5962eb4c0aa14eca74d11815349bc6a9c0d27abff1bb15abf664157da03a761166c32e306eb7d91d59eee39b8e8ca8d7e756a4fff0ca65ac88c2f914919484de6a1abee16551d307b3d16fc693c3266427d8d1abe67fa36db8b93e0f427b991e192aac266dc0aade023979d20ada79bedc42233ad50c6c9ed3a7065e57030aea4d4f5d48597201f372e727f85640d569bdce375b85b17f86401cfcbf0fb246c41c3473fa4fcb9a658298d71a157a47b7d6873285f6f82414eb33e90f13d316e7db5eaf8206d4fc21670eb9f1bda4cd4ca2d6751a5175ee70eba6b4ac476e18343880f402f1f48c9a90abe8d9e8d4665aa76bd397960c911119dd0fedc612bcb6388568e0c2bc6b81fbb3ae284fe1019a2edc9a524d60b70d050a2b23f99f33885bcce6628a43f55907aaf113d52b46f1404f4f08c400175013d1d4032a0395850b14b1b475d8bc14804027bd4d4ea6aacf0787b1484eb56ff08b599a7a30728eb478c865ffb024e7c70c1f253216e1e589383d8d4b8830ef5f81d3875e53d30dd0eca53721ca6e1e246efa2c6a9be21cc48c28b2cdc8a53593425e3bbfd3b9d5c4f1034949c9b82d08621c15a44e671e12fb44170fdb197edd2ce89e6832e05c735a97af34664d50716dfd67a5b6659c6a5b243b61680a25911a7ad6d388d3bfc3d8192c83f79463ca9c13b1240a1c923b060e27c6c612fa5373c29811b67fb0b7a56be7952456ded14d2b415f87922b0bc93e164dc7e01dd22a0af1673d9f1dcf348541f1f7c1744c08914221fa751e9fa04406de80468400c84f32c2afc75e4fa838a091ed408a51da635002e35758ccb21feada77c0f21931f288cda630941cbe4eea03695f17b15a391d2f104e55e353e3995d78d38e17926978bcc4d8e87cf3941dd40c502a37a6add7c5a2718b6f40a5eef13a56abcd8f3ea0311b866b2483e80c73194ebc0033adbb001c405ae672b774a4bca9ecfd659d2de7efdd237838e2fc006a236d529182228d3821699ebcd42bc6316301980464a8697cf65a47a17de462afd442d97be4aed1462a4c123476c80376f1e7e3f5ff7767834710981bc7a06a23679ec9e888660362f3e1f4758fafc198e234add5914f87301e285fa6985abc139f0231f034f517cba4f613e09e4a5a967f52882812638fa9a5d1046e61ce38feac09979f0beb6bfa5e16eb3278dea0e5991f296df5d44c5e1f82643faf7a623d8c79bd2cd39ee3e054917617db0ea2527886e2364ebec769ecef1da83e8526c9e99c284095e9a5fcd0a1a98e3d5190728148209530e788a6f9292d8791a19833910bb94dc4ce405c45f7d91988319829b61944900648117c8934e067534452cc0d5f1a8c1c20adae78d93134b1660bc4f8bba1437239f6e3104278196f736c59507064ed63c3b9103bc777fe2bfefd730e5d6b3b1411648a924b7c7922441f97322965d23bfd373eba01a79489cc06f9445abb47603f81080c70d252a6c9c87aa88352a6e6b60aa227291399a1642f7dfcc0a2d12f1afe51b50dd1ce7f1b16003299fd2a2eda39c4de69c5343e75b9d74b3ec36d05ef3a9a95529411fa31798475c8a737cb5b173b269f90a7bbf20e0538b3ea5162b27ddf243f2dbd6c7c6bf78e7f23dcf71ce37a48eaa5e48a3f12df15f87bf7cfa819a705054f3e3f635669b26dfd49c3ff50fa8cdb7dacd667c95c04283261c6b75e1e95876f569811e7c21f088c724653a149562208230a6749ca77da915200f77803de76f5de96e528b08c761ee6b11694b0d7f214baee1287b7a316e67a03085fe1d6264b5fec1cddde094fbb081d92635c73ad085336e9dbb0ea9e023046f5b005515fdaa7c65c9519548b8fd075eea3b2fc1c2103a97eb6be26e44f792e426a229a58bb68e93bf3547b1a568662577eeb3d9267ee50f35cc84c9dc941f69e8bb2b4473b42fd219ff13f97e2bea1c887cc2121a961650aadc56ecc73c77c44fbcb484b599a302097d1ec8b2f218a08cad5a88add8810ebd3cdaecff3ee665a468d6ab783e709fe080b6e22cd034e66c4029ada69d3b86d183cbfac0226b91ce31be47462134be165d60467d1d11d45cc96d1b553d29b12dd89a5faa5104da394104ff6e8059c52bdbc502d307a7ccc4d566e88a74d75cf5d22f9b2a07081f1a3406cb9e4b13040c80c2df0a4bab8b16454b94ce089a4130ea4236a16fc2d87a8c24320a164171640bdaa29bc9ec6d96a9d4cb058bc7597a643492603453d99f0b8f9f1c7d1d447e59a330dd4ba0361688afa7de7d960a9aecd56d86b2e1f4212029248a8d41e5b25083c29e7949470c5d8b6910f1992c339d0cd26963b166e11e774ddf573c061994731dffe916d338fde6bcf47c53dd746457196a49dc4d8d0de34ebf97c9c51bcf93c7cc1bf2c83fa4d1c65fa2435ecb3916a073cbecf750c1df3ece4726789a542f6ae509c5ae6ce29663bcea851ed7c9647069257959c6ca9f79df367c64b5163e7476d0b9137fde54237b773ad1d913ee38675466f772eaace915f20fdf217c760e2b948bf7c9773888970e157c6ab11a197313071459210ceee77070b14ddb019d1c7181f87c4780550526fbd5f23b7626d87d31b938d32769fecfc50a3b12b31102eee7a0615f2c99022f418c519a167090046804db6005081a7223cd84b8233b06f097c93588248eb1374a23dca04425b829adc45ebbd3371d02d52c9a884939dfd5a7cf3ba69a1a5f785dd7973770ba961d276a5f3e42df0d9a5d6c968eb3e5e5935aba3493d314d2a0ca8307a5d417b1c8ce6fc3fad294496b37d4b5eb95ad572ce5510333ce7f2d935beec5a74bf07fdd37235e81686329b3233637f1f6404d3292c6e5342206469103d59840b91fc4abfa5951e2a956ec0cebc2a644cafe4299d120603e09deca42dc848c7998887d12e43bc68e03b4e1d612602f9fde6f2ec1adbd249755e4a1a69e35c8108aba0cc01963f67d09e1f285b223a60c6022b82624f977af7dd9bb7cbe0915e51d41215e48841aec8f6b3af245a7320e4f09af451d657dccb709bf767fa7f109cddc356d8ec436e11709e307d7a4e8cce619a2c44301b1e7d39d612dca81ed49612d58c88d65c02f57aed1ee2febd5028d5f82c4f02eb33c8cc80dfc238b57586effd1105a92238ad5f5cc5f473efbefb7c92955e9de43939f8bb30f638e2e3d537b54d1a0ecb249795ba3c121d46993a3373983d99c5613d99fc91fd9a60c5bdb0ab5e7c926b18cadceae6c9b84c69e7b49c1858b22b464562ffc975c86d478646236c32d4df2a6f46dbd71757e609d5f5f1843e4037837a937854ac259363fb07c173a6e21b39db61219a283177cc299270c8b5d783b7a0bf8589ababfb3330da83a5bd547603ef5410519cedfb09fdcf16fab0affb668ebf0f802cec0e7605a533931e86f746d157963a55d63d67c659b518a1f8a4b37a9002b47ab8fd5a3d2667f843f0927aad0cfae0ed7fb90d488f596d96740a5c013ac289007dc0c1f89f1d6214fac1b2834d5b08860156fab248e128dbc2ddb9d832919853af318c404724ff59cf97a9e16a3c42565007dc50c7a8290864f7ba6a91be42bed760055fda882fb9893a1f1dcdd6b2c8a9bec50c22323f179dec5139c92087afc37a98ed0cd60484f4bdc6c66a9a286c5739e2842f03e8ff45d4f7f5b746af330e8625241fc66649231d41729f534e95d5ad22176d2206b33907875995106cadcb1f6bc515bd67f3d3c3a7687fe22ff118604c944387d810a1163c5873cc19701e3c2af77e664bd88439b683a218571588f33fa7b8e09dc5f672bc4070d8bba3794eb7167ac48f02abb4e302147e513cb3e633215c8e83cb98ebc231479da33887ffcbfa5ba3669c036c99006970921d3a634e07d42425cc382a35568d9f70e0f06276b87846523826cc271c2763d49cea417fbd5034974b38a017482f8aaf7a977714e3198a78f59656caf07ec7507dbda590d5b8a117101511d85b4a6279b3da4a34b5dd0773f69612473cc1f99a483370d61bf155ed35c1662f415b149dca537f0a7bce2deaf73f47c201044ec5ad3f0663c597467dd6d798a467e419d1f877022971e9b141e61b3bd1d9ae394f6f89437258bcfb7b7dfdf16dbfc3d81e3ca38090cfe0f2517bd6f8788fa9f2480e23ad99f7320ae12dc1110f9081118d2aa2b714eb41970bf001ef664bea7db2e0e765b62745282373f0aef8928f527ab21e8fd954cb4a49387ba4714e0c7d5fc9429050cb1c442ca2f5b93f157bce084c6e5ba0e1bcf391305d32a30441502e4dff7de0068c9c0deeade44d04d9cb4f401a0e5dbb4670451468528f32133c74daff7b236958a2a199d01b2e65b9ff2cfb0961345d01eb3dab37e2bf2bc16c9bf8084302f379b0a67e8bedfec44ab97947b0cdf081d4ca31ee9f330c29bb333733cb57a01d464c23aa6d63a6a6847d2ad37e5bcb5a0fb1fdff9e6134b73bc80117d89442e3abc965ac9ca86499c05f2e0e5541df04be07f6713bf5291e637a5461c60d37129181b8fa544a7a4d13acd22e9d1e7315279e11e7243cce0592d4bf11ebb4f8ebbe922493fa53beea72f92abc7caed99373b8e216c0a4b0e04f883215f20b9b5b6dc1af77a581d2504d0f8d3fa8da117bd781b4b4fb35874bb5dddbd3a5f27289b0d5fdf6705411fb78bbececed2b05637952e5b4ffd8e92a86c64159ddb68bc7cd77d7b54a80676c2536acbc1917783ed9a4751da0d20e5b5f75f982b66640fea9ddfb91d8676a03d9b371e24c49ea517c277c4423ebe860327dc07f047a285947bd14bd1e9673de51982473a822b7413d41afe034ef3cf0f81fbbbe65922d543036c299898c2a42957b3b338b8cda6b8d0f1dda67916a0cf609eed0fc20b33928fbc0b612f80c9b9d763a5687d07fe52b7cf4f5b49e3b3e7a9ae8cb350fdcff2f04e5b0464e4cb275737322318c4d16d983fc2417cca04c16658d5d33ad37d0358730902fdb917934f9a5b8ae4ce56551288b0a1d176b4d2053130bbab9d4f94b090a54b0e41e058bcf4240719604409afdae60a3497f4a99236a9b1c1e4db835343f1c90a2647f38b092b98eecd2de5317fa9d36507134531a53e741002bc4a8178c1a4fa12e55c30f891efb3b96f22715c4c22c74f1507b7bbe3f498843dd7187b3ff4c181f4f10512f884315a635a53542163005015f301cfc8893a7df50121310630052d0cc2f6899fbca25f74eaff328177c7f1209ed29826aa022545505460eae7ec95a74b770c224151623928eff38232f0491379042f88d17b9b8dd10a9909a00c760ef78f6404b902a75d12ca797ea701202f66dd20a64c4d96840d65ad4137acb44872738af641f6032b41a1d1870054b61119d534e8b5cfbcf1dd20cd4223edc45bb3d4f81055df88a9787e7be57aed35bb9828372e1b0a27f0c24b953693404c5b65545ba51969ea992b1f366b1cfdbb3689f2e9e97132151eef1f8bfe3a0589c4581770883435d1b3386218cd5abccdb83d995e3659f5fc278da95f8606cae20c52d8d1ba37a76401dc98c89a7c2a863dc0279c2b7ba9fc675d47b0c466323a3debbfc73d8cf801156e871d54b1678e4a0946eefcbc8353888b0057484729fabe2103598e84e21542ce5446b89c6f025b8755dc5ed100b397430510e8a5688c3bec0cd216793f17a698aa19cea8c0d9e23365118efe3bbbaf170b67ae112c011c7ff1cef7d38f6d01c51f606f022feab9b18b75eb4da9d1d5b62ad7c9900f533dfda4905a551110197a840d76b1ba5164f27ccb84fd7dd368f8b08f1039e2957fe6fcefa3a6258a6b653ca0b1538d3d8118003fee1462678e08c0ec17ab5ff8645ecd3c1313935580f558042f74a5379da20fcd97da359ee258381e8a7da1c4b05c8ebeec46d2cb525ba01ce9a1672cc65db7531a71386bc464b0eeceee67d601429fba62a642aceb4259d18eba3608602308e4db10578090a6398208f09fcc9864f49794c1d66347df61e1d1767388260c76f58ec3344c542884ebc95575174301b3e0d8b0cd7155415d0e4c746c35979e8bd27a09e4ba27d747e920a9bdecf9421bd2f8bffcec9c363ff4042c7d462e89b0ddfd4df45069943a87d55236f255a7155d0f3118c99fdd4c69a4c1a832741cfd342e63326cd9345a4cacf41ed648c0095dc972975b14b4787cdaa9ce3aea7b9954cb20a91092d706f4506c856bad005a119187e69ad546cf02683073951f217ea7f23dc4e91593805cfd102066a4840208b262f64bda687fbf6b4da2d06fe2c926e1a8222ec8fa0b69350d96c14974c72ac75b1176482e776a2d276ca653018d51e5bab2cbabf42fcc8a19038ebcffa9ebea52063d741750a8ee64bd5b9faef3d2c2e7e1983dfb684dc7d6b95d7d8180af07443a96d125f965ae8df0a6629b518dc9feb8b77bec61fb569f2dbff7ffd99c10f344dec395bffde90c225fd2a5c490c50883c7b134dfd43c0712ce813fe2b741d1732f31ec5c91e6c57111fc91a95118ce07b69fa898280da93eb486575e69b596e4cc3ea5506621153f5c546fd8fd20f2b55b8854cbad5b2c4a73892f73ff74035420f4495783f5035fc71a5380a3ee31d88a374a60ecb98719a456d2e480aafc8113a12dd86c803ac2e592755183b36c371f4664a4976f30c91baa5586263a4c4f4a1e4390fb3a7168ea377934a633a39e3da96cbc549c360d91dad5836b819ef840b589d9ca350793b1b5e1a1607b7bfb76989c0a8f9827fa52a8b8151244230d7a6cf2cd6da64b4ce6c5127b2b1cc40ff3c911f03580dd058ef79248eb0208ed6c9eff70e23fb774f923c4c25386d894fec6fba2bbe8f5ceaac5d219b5e8b9e8c030a80960b4b0381923e6430d60b66e5e1f36307f8fcfcdd5ec367d8ef0e1e0bb607923aaa63ad6b2a2484e37d73d26b875ec862f4818e56f48153589e565ea438b101e26a2757f495218147f0881497e86ea700cf864ae51d0a8b57b83e7b3a87088a9755293e5560bd114a798a606a9ed65735ed6aa2460d2c06a535038a45e6ab10907b040664f384ce626231c13cd6692befb4a2c8939b86498c6525e22733efbf2e40def4d5b3c22a7e8e20db8227fc2ac6c0e538befd5c2394daed591f616c5fa96948e7d288f65d698d5cde16892bed8f85804655f224adc33b6527e6ca7e2150347712e66aaf157d12500a9192c088969a0b2ec57a44b9709a919eb3a7c4e10ba9dd1b167cbd684e0dc83965ee0f530c2ef4a48f6e721a086375db980ab6a3da36d17458e6fc5e9e38f1b9e586953082000940aff219805f863c28a70313479a6def374d2c2cccc215a5b41aa9c56708dedc17577b1dbd0d8257473f8c1a42ae033c823bd202552aa747a34092ff1b2ff421d8c1451377dd6bf5cbfaaca0f27cb787bd6b4b0f8f49cfbbb56b17b5684469122258bb603abf1c398354d97b2404f8b689063e311ead21e8039f310603e9c367b7182e296fde1410caf61907473a9534e33659be0c615e3e0caf88f57cdefd38c2f0b977d8ace00c2cce48da0da2692ee17b195ca045695016b6d5beee11ca22d13a15ff9733e3d75d1880e56df486f9198f9e9e34d8cc5ff90d741ed6fbacf254e8f52bbb9cbb9c9c12ee6e41e023acc90ccf6b6a8c7a67434e06275adf403c57d79848c903d4c4022f73364f5b2ae3f9404776fa8ff023c6f80925a003a531c84a420d18d8dd0c48d4272cae50e477faeb62ed2491a48d113d464371c7473465410cd4cb4caec889a0d3d746bb2db83fc1be36917a6ff34fe9ebff8a3a3898025bdd684ab25eb48a694284f1ce402d7501763ca6aa5381b2cc229d2ea5402933a270c87c8bb6c85b644aba549003c1a40f53357bdd95b540fe3ff57d9ffaedac5deea96296856a3164743116d158de706df49373890fcd7d0763e2cfe1119a05375375f13cb51c8b61cfc0f3cf1c5cb160021cbad68355a11613b3b8e5e9841cf04e8bc692f99958973c7d5fb5070a2f4952a8685b6e3c7a55f5f0b3b3089976e10e09c5ccb26f6658aa5267c0358a4b155d5acce2f84b952ea25245933e6d285b3120dabad9ff6d80a6127108ce19316f5ee99d699580428b47a52ca3ad5e5405796d5816fc21288a4b524a5a864c22253d4db0e0f13b2e1ca4bb8f1246f4b7e2737692ff071d7da32a175281b5639777b0eed81278f57e9121c7642bf071c806febc46180822067b492f41158cee994733e92cfdd726a3ee1e41ed4deae1fd405959d76cae284db934ceceefc6aa17b1b19a3d0e76a95359ecba81cd1e39231c9b7b6ed0d55909bd503a730f68b0bd0523cbc1fe5196c9fd1d01421eea324d69d2d4cc2194402fa3b88f20f08f4c4bb8244c0a18b86e95055b3cc1e1f38109a2cb1c31d59782c146901f8ca0279186ee8970385ea6a85abebd84b969c76122692b22724d559d6d86e878ba2e76aa2f0950a3f9b0c6649d5604dbd4b54fd10bb7fad75908fd2d140ceeb5af58aa834f506910f72050c31263f825abe1bf79e71af684f9b5914c4462c33891d8b9e64468c34f8ff436ecd1d9af886e78232375ea0dbf9880c3b140bbc38e039cce0096acf4327e417ba1aa7cfa1938b67fa99ca7bdd5a7987685f5c256cb5da44eacd941d30af9b9df89d846be48fcc74a4ba3a80d5effc465eb22fff31970cde7a3484c07ec6bb8f9ffb31fb80138443fe47e2dd830c2d2ed03576e46e7ccbaa46aa6c0b2706535bcf3fe9f9249603162e252e2254b1736b846f768027fa92716af39cd6300a3730c87e2c1b13a22e035c0696389d7854530b63b2445f4af3a3aa153cde1f353a0033fa239815bf2ca71f68dd28fb57864912998a0f4f94629e499864b1fad29602f30a286bba030a473a153da3369c696e81c94536c18c8ed438ebf66f15e348d42ccd422380d071f541393f0ab732aaff4a9f79b24fc9eadc75ad2c14ad31e6ee3ea2d7b1bc9f08a2e29a63d638267d39ed203e73f1a898f6bfbbedb25b2db033a12e282da83a40129d83b9c2f5740ad8efad22a73a70321ad8d06a37ae56855a71097ff873c88d2beadaa1e2cd8b6586522501c183c1e3abdd9c39781356e21436f181c5997d1dc51be17ef0adfc4cb00843cf0cb2113d615a37ea9fbaea9a20f63a87db608538c9c5b56de9a9ce1eec84006c979ae2754daca810cf52e1b0027ee6aebc1639ab7f2840c86cf6d082b1b9eab9467db21e503f35a35a23a35a86dfb40f0afc091d8164f043dfec127a71a6968740c7f8f61ffe6b917ace3f56986b1f51a64be933a5c5f37ae6b1b6144b875954750acc597707b35b33c77ac54f8140c9e88f24bc48734c3defc19a4551d278f002b7b85759420d5dd5e97d6667817018e2c903534922e4c62a64591130fb7482e29558195337abaab5e543a345f67209287afc85c138603d8c3ed4c7f26d65227d93d22d71f3b01349c47acb3677c28e4ebc341e4b0af36d8bcbb9423ca307aec447c6beb0504232338fb3f7f8be8f79cc9113d9068ec4597c8d1206a1b9ff510791ecec91b6c88c6dd4a33381d8eec941066ee0a720eeefadc2c848a2b1417e328b35f5d2d0d21b33ee30a616e5eedc329c574a4413980ba9685d5c98ca30b5ed24a78ada44e4c06283c8eb4c6e34031a5993f123cc79b88a5404f275f713072469b5faa1dc96840f3975b8a4cf9be7d10d9d684a233e0bcc33ad7011e8e276cf38b6d2a07dabe7c0b8ffe8fc4fece1d7619b03530b1d7d8b5c5b8db0572dc68ebc0af814b1d5ce0e3373d565a0a70729491e73659ccabd2cd4f0c497978a00d4ef4557f63c0e22b02f6181d6fabe38a68213267deb602c5dc8ebbcb8cc35e3746448ab500d1a53e6e220cceaa7d51e2c32e8210ba765c95b4b9ab325f6ab6ee8cb9f4a1194202f8831eb77693091e3c25343e3d2ee3777555db00eb614fa198ee597c9516484545906a2e3df880e397eff27c754c782f8ca536eec01de1cb92df8ab09e7a6dda6c89c754534366f9b27d9fb61608ba6bc083cef6569d3980b2c529a6a0d414428fc22305caf737a42691ed145be5df435e2b03dec627ef9efd0d81c441918e3946f59c29d43685303e76bee34d7db3c65afa7a57dc4c14560ec8a3b0eaa1b9c2052bc32290337d81f4fcc2be4af689be9850b8076c81bf6651829efc254f183afdab75a5bf41772d4c7b101e239f289307c6fad631f361a4f49852a9f15398a2abed9e14ee72f6702cbcd431a0690f2b0009f57c48ad850f4dbab9a1eb839b07234fc4cf90455e6407b215046257a4c3c0517a39c2a328520545b992bda313c6fa3e0df42c20bb51ccf0293542997134e32dad7ef2b1db8707e9e4648db04be8e644a1334a12b0e3fd9ae80a8faa75da27ea6089a5850091e373f32aaa37920165173c1b921b3175effb4f4d95bce400aa7d04194d805e513a329fa9d31a3a4d0fa191b106ee446755623420ef8479cec2f94402483d9218e75cf6ecc5b666285b567044a0b1abb1f2c546187cd94347f81df1c460a8ad6c64efbd659229a594920c630170019e01deed2588625e363cba3791289eafefb6c7ffd57f747f5e3d77ff8e5fe4f79ab792bf6fad39f692fb77cd5bb7bbb3bb6575eb354e91049d73a7ff8fefba9be4eef0bdf75c6b4d568d7c64d799ddd5874cb57dbaeccc77aeed96238ad9dd9bf9aafedaad08982233540639937955a3c90814325acf7fc59719ffeacc8c2f3ff31b84ca2ae1b961f12ac1355dfb9e697b18b1885447aacfaea2663ae75cecee76e77c330aa5cec6efcc4f8fef768f2cead2ab8cc4b102336fa694c491c996111053e63a8039bf2c880406483a4080656104c4155e7ec835c010578909690894ab5f469dab119b2e7519a191d04e682ea0d0da7bfd0827e32d1e7080e425673ce020b53dac941a450c830a64689ab494d2c96531f92126b405f484111a063515aca09805d6102c811d61256b485657cb884824418d26044a489c97f2858b881318d854d2822d1818eb62ac554f864b38649e5e3a3cd0eefe9db74b3da2c5d8ee9f2a097eeb60ac952e80d2882b63fc5fff1c9f4dbfa7cd4c87866bde16acae5861a388bdc011765555b39ae69c4e0cc408810007264811de776ef99defe3d7b8c56fd1b5f516d307dc536bed14248b609322d48a72a8c9229c1752d634cea1cda4b6c50e3ee040463770d376cb6dade5fef53a4ac3b28af4436ea318488a6989a33f5da6e767c02b8edd3770a1596c55a50328603ee0027726bfbe2863a2898e2a56a72ce1458e5fc3051d3bb214a1a2d0cedf292288282d881d8efbd9665ccf2fbef3bf48f0dbf5ed0232f3ab0db8c1c9df03b4c6f09d9ac4450848a42214898482df9628d24e6ce7e69efefd97a07bd9dd773100e7a7259d72433869c084c894afaad7c62277fdeae4b13eb287f2580098d43b5c87cbf1389e4b9559f06ac14623ace5825656b93c1cffe272b88edec1a40540795c69f5702875ce488f45a5abf6ffba7bd47555ede6e6f685e9edee5df80eb6a82b0bec9c4bc06755dd9d4bf9ef96b84339b34c7bd082cffe1aceb7c6cc9d5767ba15caedeec2eb79d5088d0fd5744353a6d030c1da5d6a4bdcde6bc1dfaa9458492e8ce3338f38357aa299fb710dccbdbeabc2f29a78c9475d2c1321857aef04678e3f6e226c25ee499cfbbf7c9048465278ee2ae2fd406919c2c17e6c2e20252a64196d5143464541504e1639b4c8d142c789ac0acd102f4d9c803d6a5003ee484233042c8581ddc0d8c4a3027940490368a666012eb8e8c162866950ac18c8e303533d5ee7758d7ee2b5549b582f0320356a090953e3e8ee9dba9a5184b0d8b1e94dce9419356a5eda25e78efc5f56f522bb3b3709b25e80a32960bc35e095c40c6e00a140152ac0682111c121a1539bb2c05fa78f9100a661714d38fdff6751010d16984d991a736a091a1529ad470a33d040040660a597abe4c3aa5a5ab4e46f3421971ade90e1872b63a4a09860074b8f12586488f24513343e05cb153f7cb2b46c93318359422b6495d1c55b6940cc8a23825ea50d29e0134d840c560e20dac8c16f62c89a107aa2d2369464f9970e1b453d6c108008cefca952d3debda9bd9dc90209bbee8e59b9f9e35bb19a37af261597440d8bbbe262f41007452ea9ddb24c19422191c793277bd2e72b0babdec29eff244f0e254ff6fc244f9eda4817f795a6944667729ee4ec44f9b1f9b1f9b1013a1900132304c26c37eec09c4136859319ade95de5a9a088902dc5c0a40ebc6205901505697fb481f6617779933589933579934a7d656159bd7f6f61558fbb1ee77af2266828e7260424eeab1d5e4274c55d919fe1beda1ee77a7a94f8286fdb741bc0804f901f4ba35ac0195166264c165000ea216c1f0ba4806b826cfa1b9c9abd21819c5a0a68c975043ca1b24c28cb84b2cc4ccdfe019440099405e9fbcbd2c79eaa6a24b52a4888392835a39219d00eb306a5d0500ecf13a228b993e5ce5066516b034ae9a0da7fa43c76dfd9e1e14cd19029e752fa038718333333d36544562614aaeb549d3a776a44fa0f21895435b7cd3ad95e65d5d19d567e9293413aeefd65c120ec396d6fd7ddceb99a9e519bfe212b54b2e681010a3284f2a2cc65c6c5ac2aa1abf7ce9d73fec4e6894d145d971a07662cf850dc1af55f965fb0321e3a66a3388a4bbc648c79ab06042422681e211f758e588d4f299e8dab84c58e8aab2f6052ce766358de4ab54c52845dda783295ddcd9571f7bf01827f22152b83a93a1583a728d8eb5cd31c30c35c4eff9918637a299982f7fe3fdaabec7a0c4ace5df173754a73aead8a2c16f28fbcf5631517182de201ea4b96099b28696b3bf0662085c4808946844b9796fc217e79e86ddc2146362a37f6d1ee17c560b3f6948ca82d5b654ddb4912ef65f8841854e6f1ed66b6705a72e2ff7639d8336a00c091846b8309ff8977aefea3b614069fa7f6d2f9081d4fec8a1410518c8c8c68464a234edf131ac7363506b6dd7414cd96e2f894083de7468eb49a796bc5610690cf46c70b24a33f9ddcf65fbfdc4c2f13a72281f7d10d4f1435eac0c953a4d4b2be7543244727b422741d27dfbbfe8ef3bf2ebcf4de3f8f3641cb19e4c920db4a87f01b785c5492d143f220ce6f2caa3bfccc77d30c9a47f1fe9c716658f6c1a4abb0ef3c71d48d875a54749a5c5f6249451da1daf1a4f69918f9e976d211385778276ea3db612bfe786bb02b478dc64ed59e34c93a233f17dc6fc1e6755a8227214ccb55fa9e2b4bb799c5184c2481a947f260010af3ea30db631be18a80504335749355fbf23039618bc46e334a6d8b8de69804f48ad214d1da644cf93d2fb61c913555af3b00b511348ca8e1acd96ab318113bb82269ef8d6dd136b27d3770460a65d85d83c6190d39c495f80e0ac5b5e409194cbb7db2b90fdc0b314f21321926ca14611da1942f35321412fca10b58c39fa68c2abfa153f09f571702aabbaaac6d4ead10e62de5160dfa6ec99f555a921b7c2c955b891acc7c6ea76fa4bf699c16415c5d9fa91668c90a9896ce7070f554c9141340239046c2b76614d720f2e19f66e4a3dbb45cf6b1713f2c332d399a054da40502e0355d89b2ffa40855ea14341ac0aa13d148680c935dc63e476f395d95165527eb55e28764837fdd0b71fd52ac7ee9fe1bd0d3812ee3276614d6446952dbdb2e1cbc3854b9448813f14c3c6c6b6af4559a41bd3fd259070757f2329f395d5494349b915b4a59a824a2540c88e32ca7fab0b7df84fcd6ece3b97dc12ff0ac5f5a0b8f8950194149581feab9a89d433aa029a17f3b07c968c24db725d7c90a1ca05aa0ac0eb30795d4eb62b852c93c2d9da841cfdaacf3d8d88fdac5a90212266b10425e18c2b41ed6629a84b2e3dbc65d195552d1413de7b2a3eb4437d7e9ea7eed4c89d5d4f2b6e8266ccf68ed94ded3db810818d18f46209c86f43f61f031550bae2c827d4444976ce482909b71c88856660c468b2b3911093ec96b827b4a78965d4008d3ea4d091e40bc985d0adb5218602e5094235bc17019647ca5dbf859d3261b1e08c2f14869b2d88c336c4b3e4eb198de2f8717d1342444b8d1da80551d7bfb4c68bb634269a63885efb0e0b878491e732d6023ab7c3c1e2ca8541c07f3c8d42027fe843514c4c1afbd700850306106994dae593fdf0d19f5cad7c4a3d16c42c7b3fa7f9632d484c0e9b40c9dbe8ef2f348d3d5c6410693da209fe09f526ad5992c3f0e3651e84c8a9579a403e546765c5eb9a51071fae6569ae51be1b08a58096732c0deef9c1fdda0e83643c204c996d47792b37d141721d60436f3f7a55ff3cf2ff4dc3f8dff0350bd07c2abc69f478fc8f805a52e3066e41bbc1be1ce67d37b1fc5c6a81c1dfda0006430524df82ad49d9802e7f6ea43eded8dceb01625abc1bd0629409ce740dfc6a7cd275d686f3e8258b597ec4d3d3f1b7c507f7bcb967702153ff42df41819085cdcab522967f214d296976ddc199321e052b9fc969af7bbc9bd39d6d2f7d00a112ce05c277778983116130e4bffeb6f852d2bf611c05f60df14e72bacd71f19b7241273f9c7cb2f8cd4c1fa66cdb70a72371d8572b09d603c60bc6a765f79187a5b3f995896452cb664a5d3193f4860bf878202faa14c433f3493d1d158712992ae7411d395dea7ab709d94e622d07466c522289b76bec8e8d544c18d04a0c8e466f6808395d86606a7147fe48189335fd8e7a2f5563334c983c851014e51a177a4e29ff664a419bbc1a5022b6bb7e2cd8c3ee37b0f8328e66010af2dc64e15035ee7b9fed05ed7584d0f5818b6832a246db21c29db58bf3fe3891a400279d1146ae45b05441cb0fbc8c6e1b23a530064d942440c9430558ebe723750970d3a0727ab630991fd329cb4ce4807358d5a0366b5c4072c919b2f8b6ef0816ed8c390b155c3168aafb047e3fd12b932190e7800fcd13a30d57af8eb7dadf8a936c1cb986cb4821e62a8f6977833dccda000f58616a92370c098cb911a1387c759e78400337dae3a783930a612920d1ca93d8eef56c973338b9d9ced40635652135ec515837362285b9ec214abbe89e2304f6132cb6accf82ce59eed4dd9acc8d0b5b14d3c4f6d0d660bf03dcfe444e639a07b8bbdf07b0f00fd8186524cb9f59219ad8296ea32f3a9d2187e4ee85f1d5f57680e043bb54a3c9b55d073d688841dbe2c3404ba4a144d9af2e4aa237e9ada9d56826e382655f65e81754964aac56905d00fd4cc14e1ed537b29fc43f4eb1ba0c9afe7a95a0eaf20c0ab5163cdb0a4ad726d105dfc956a956a639defb73b33667968da936694ce5833e6c362d63889d95768be0c16089034da37c38f5196a50eae09516f980a8d249e5b0ba8b20b2e8b1ac0804600204c6513b36924c889ee9eee974a6acc725b43e03d0b8b3866d486445bad2a5bd74254b18d46667c4d150f4b7b6ecfc69efad1e71f7bd16b2232f0d992aa9f21b88678b7951b66d91e212508c97c6b9e5bcb8ad08b60fe9c1ce22c3c1ef07b16ebb53584bf29d053ca36ffd68cdd1500d71cec5cc05dfebd3d20b3ff5b959133bed2232784c8950494279f2fe55ea63b7cc18044b5a9fee8089ba8812692e6d35f284400bddf55c28b9bdff868485dce326d325358b1ff9ef6209e44285f577f0a16c52ac4861838b6ee8eb9922e414bd339425f38e31221ddf9ff66c705bdec2c134b7650f0b1e3c6121d8be334bfe64c23e479980b575672c265ab0344382371e5ad652dd8732dc4395ee53a63a968f237c531790a1ed655febefb2f7f336f031de49189cf2edc658f04eae0d0f887c50b86888b8e9f26590409b8f99bba8db5783e8378107560d3236ea1b6d278ba260a90f1a14cf883510eed1bd8c9e54c1bb7b354a3b6ce73e7289ce4d9a2efb0a57ed821bbc572c04008021030ff4fa477d0cc17e440a6ae824fb21134b591961e026d2ac6c6796f00658b96b99a31765ff3995614d0270b529fb341783dae3f8ced6a487fc4d042cdcace43c4c635f35d77993a2502c1af24a2d47dec789d351cc1a5414882f6a5ec69b3c2f5e71bfe0da44f96febf4a7975aea0198a4911785285074f2a0206ab39199f782c487fd4403812a888749d7351b0c5e4e4874cadd8ad49b8c046a280e5a0f2041bfbeff2b19c21c72907db32549ab33d3c10be84cd87b46cf98843aec70ef484e1938db3e6671dccfc05e6dc945856b7529bd6618fe8ec5b66adeb5a2b895c3383ffd421ad18e5c47121364ec50bbac367c9884a51ef3e9ce4101bbfd938d63413cc765641f6e428e45894766e2725a636da202a5fc19ad884098186d4a41a003d0c553ffcd87539a2a2609cb0605d967810004e7985921bc5dd09a72f545a2977b066cfb50a05d1f32530c2e640e6bfe00289acb75d244b7f63344f96a4ac49716a4b6a48982e19d86aa7863dd9a4abf1d80a4c39e573059d7b9f0407f6f3bebf8ce637ca5bd7235330b65b9a4bc008a5fffc4895f116a9b81f0c620b2709273fa6d4d86f7b97f1bffc27d8a5e2e551c34f82f43d5368dd20a2717f659f1e9f6d3f4c87ad9a42fc734f7429efea1f0fd0e76c9c481537d9adb6d1e873db759563d18a5ec7fae293775f1dcd33f13c6ca7dc02b245d2974ebb6e760cfc010206981ed73ae74beaa3495db180aab70e1abe9b346ee9ab8cd7f41c10a396c95ba9143d2aea5163518e116994a1bc8c1fab3ae2adf4def483ab12efdb46b623fdc1c17efb1f39c7956b5d082b83d93c79f802cb4245aef1ae64e76b0ea6575f84c9b9fdce6e6b3b2f68e84db7e1efc7bd2bd70b194440c904222e6e6c089f7d39833a88c8946193a2f490ff51a431d986244bd7342a55c870d329c7c820d7798b5b8b42e63e7729f49b7ee2d9c3f83e7a8d4cd86dbb033e553d4bba4d4debfd4cb30da2423ed0455ddc35db7c39757daaca62f075f11066ab629b16560f26def0e4ad73ed9355d2bb74b76894661b3e24a3a037ba5e9bd3584b31f40311fb0f953d14944de266097b26914b3d7c6f5b0e9ecee2d03af36792ceb9a7a8cbd7634a153e22b3d902c26ae45a7b23c11948704f1c219655150e29b25a17d6a5599f031e9f7c71dee706df42d9d0c6009fa4a08cb9c4ecea9a6ac7b8e4b716a1673729a973e2646a4f1c24a151a521d866c3a6093f51b78943ee00bd009798bfe517bb5ef28d61428fefbafbc1970aaaf885cada94a059d73a0cb19b93b25e0aac0d77d8783273f696983a19c729ddbfc9fabf265a14fccc4c7801cd85df764f08d622be6a71332289ae2a584414b26eda36ca4e63d2e3c9295efa9e55d61de3cd9fdc3f8592717549d0e703261d1018f01780c4f4e75321e094833283f00080124b530c70cb4d5ef0976b25730c2f3cb3a03e495105f8538d6a7d87aeb667db970e40dd02f71825f427d299bb7ce544d7d1a7b6b0c05e832db39219ef809afc7ff00fcb77729d697d2cea424cc40ba6a0c6ef8d86c1fd1974c7fbdeaea968df72d22b42243a8122a8a22d7b6ea90882e151882dc6534f5e302a49f35127a3886597ba5a5b45ee95492400b5b3ec5d55fb09e9e8ae5e5b041d1473832c2b62dd3daa6664c569b739a9b34106abcac1256036b40b84832706559ad201addef58c64ccbb133815db0f7ed0b23fcbb5b64bff56528c2e1102ceeb987ab72e39fdd5d524472162f80bf281c1dee8558deee5eda5cd5b0bb6c5bbd4fc727c856ecf5d4d94e38b9e1a38357c16fc4a5a5080d852caac9f42ca1a3364270d98487d7e62af6d18c015351452b34d172f1de93ba71786a040a3e9678be3a2b5da8ef4ae86f7e29480b33b8f1a8b5646f888cce60d791316a8a2baf6e3f912794f71151e0edc4f808f263b80ab99cc854021fd925487e5f39a3a08f802049d12185a55f40a55112ead4c9be252d3581bb2a38f85025ae8ad3c655b102064f6e0015458cec1850db42fb1c877b79d0c4a75fde2ed573163c9d492db830681f9e3932f892719ea28b7da3637bb428d3454d7ae58321f5e260ce6dea56f67d86ad028de845938ed52c58db524a08e289974f25dc561f655312a79e7f04420a125b900dd73af1aa52da46fdaa388ac70cea3566e776c7f399aa75f1a998afd31193b864215da9d27dff8ae8403b3c241b378a16f5af3ea0818666864d3439b594b081e6cbed4911884e849a747b35297183cc4f4a9333104c1fb1406fc7a546455bc4801b7b56bbc9b47e5002fe84bb2ed33314ab62e3fb3705c5f33896fe1f5700038e0b69a09572ae549baa338593c8479e077430100fce3e4c425abbd90363fb388e06dba5e10fcf59e680d4cb05df1005102676dcc06a05ee4100c6fff63cea7ffc920659c2c6cd96047959bfef560cea1c309a7b92a2379f89a8156bd6ed2c372501d99e241b4c76e80d630bba53b860a6318637702fdf8f3852e64b50334257bcf39526730b7a274cf55a1618f3769d4dfec0fb1373d6370887ce2a9616db2ea020c649509a6aa58f3bb867d8a6919ea79c89528b6a9778d73a813943895698460ffc7c4510d5e665ba3bcf46f966cb8cbad143c4b52500c27d8e045a332b6e5e6926ec878cbf22070dd11087508d5e41294ebf7e10eb72a458ab84e4d8875c0ecc526aed62ebd769b201c9bf4ec6a87886205864deae132fed4b6ba2f5091623636891e75d99563cc51f74f93382fb492f63e6b353611c8b6d269c50b6cc11b62da80237731a7cbc28e9758696a0dd5be73dc44ee3d201dbc5906854a54a53f4a2e145dafc8e59460a9335b0104678ea6d9f3314802a8327a099f66ab6ddf92f166abb8f7212539cfb43b62ea850564a60d257aeb1a3dcc2351135d010ca7795dcb6c2e2284b8f2159565461fa8f68d550268417c984bcad2a43d4f58884ffc0f27cbba62b91e96e1c6e79d2cb39b4f9688b88b462597215846309b83df8c323f133cfe40db9a03174ca5ef79a8dbdce4ad641f7dc14c794ca60e01ae92aa0f96d57b9dc1f9ece479ebd9580cfd82770ea1256a32386f30788c544854e4726f120ece7417f764c067fdd23194f50acae9fdc42b59b4a5ebe00c4c1c36d63fd649e8cfcef3589433abacd3b84d90e201fb14d69ee2fce6189ca368d23e609cad7a7220f5548144a4fef3acddb8b2fe2613d7139614996fc0dddc0cc53c54ed61dac34039b1d2742f9a57f2b34c2a4c0784fc54e50c4d48e2c031ee287be6c415211fcdf6c5f57d387a6945ed8b6027c90b0551f1a51883504cf52d932d00594c5601507c8cea1d1e2388d0de05c1e150f352630ff2b4b9656c6a8d6a7ede21ff5d4b7a6d0cbc4e0535fb9db7096c6799e04cace87c7bae3026f9bf1f6c31d09421e4e159bc684c0302e813d804574055547a15fa737c53264e60d87e28b0cf88fd0514d0ed565a613ffa0c43ebe2562ad763b1275627c513ab6ffecf2ffcea3d47f107e68d6fd1d570992844e699a7cee8ad4e1d469f4008abec45fa60778278a8581d97009aed80a00a58eeb10ef5f61affef708212b624a3effd9d6434bb9f781eed0c74cbff10e9cd40837f2c28f9edd8a430fbda9185a5b9a296cb7688d54745008eccadbb4f43c55e1eaa00fa1855dfc77faed78a913bdb8aa5c80873bf88a4905eb23a72cc3949caeb107296343c1ca6c323f649160d3642fee16beeb04242ff21de2b40f963adcf98b49493d76c0ad5a184c75b88c980cd9b6ddd3d6ce1cd4d67d0318386ebcf8a59d1c272fcd7c478a75f17230b01393e29d2f85f8203b8efd7cc179c50f545386a6dabf2219907cd2a08da6cabad134bf2d6f64a24b0da65abd1ff550a2e9efcdbcf103eff9bce531f9ad9077cc92c5ad6e8c3af4d94ff41bbac2d214e2cff5cc887c29a16da2eb500014a6b5a6e72268b83c8282c0ac53b3fd63c378357bfdcdcb60fb643bc182a6debfc3aca0f773f270121b4ef7e94f9ae8cd62bd5a0968574fbea417292a033142caf0580f2b147a1e6c16868778979a1d489fb246e773da4c4f1ad541d35371125707f7c68496b27338a28f90431571234920d399aa7036594d8a7cf5ebc14648e8f9bd90af6d611df429d2498da0c3b066e10e884957f5b66ae0c30041501e44464636875a5586a95a07f79e91a3799e0073a53ae7bb3ed3c733f5cd9486800948e61e32ad78bea0d46c1c636f9435d52c012a348b0e0650852c1d99721d33bbd30ff5d8ca943c9430ce0905e7d41affc6ef7208339e0433ece23ea88de756f6aa643ba06a8546efa5d5b4a6fb7edda2d169e69644da9b94b7303a0aef775f520dcd905c25942d02d2dae50e00cdd6f2457bc1bb42bbfc4015c1c881f8539b7501cff078345ed8af0a759c2a7aecbcfb4a390df7af40b255cbf591b86c7da8bdbc86df32d2a26e998ed09aa2af1e68a5d30f3ef82316b2d6a7d95213953430a412b9d50977dfeffc0052a849f60dbfe629cb117a9e21d651559467b76a3739d708e3b17024c58114f93daf82f24f4155cfdae132e7167ef818263395d523acb0d3b93557bdf63de02136a13fe4ec24c410d52ecc80aaf3d23965169bc9d185a1680a0ae28fb9a864ca7ac5ac5ea10d101ed229002aae95ca832919438ea2726305394ea8058c1ad157e5834cbe6174ae1e8f854a4c263de21a1258cc132714eb3a84f0eb1cf735525403e4bc021c2536e160dbc56f26298f32379657d351fbd1936027161ec3af0460b3454af9c285d1813d22b26efec6f5fc1ffbc0a90528bf500098c6001dac5182a525018da7477a55c500599ef4ca67e9436d99cc128ec08687d79b0ecd2bb220ee9e63bd10ed64877b48a38c226e6b5007f0300fc84f7efe5c2fa2efaa48ae606b4441373513bbda1b2edbde5de724b2953923297028402890257470c423809ba133724c897a62259b8345926004534512ac30449151f2990303f1db506155a5726b3aa9e552998ba39e7f782759914203257bdc930435f9e811a383763f22db6146b929fbd614c0b454d1fbbdeaaba1976261dcd397c2b0bc3f0aff0004bcc9ab53a3c582d5a1b5b8a35e51ace6ca4c56e303331704630a9c2c3498a6a84242561b85045c14244f0cdced19808d418a45550ffc70c318dc5acfd49e5992d130aeaea0ac6beb11894ddeebe61f72e1e3aca0a2bddc685d643fba1fdf2b6379b36ee5bd185a161c0c05115c1724f53b4bd774e6acbf6aeead9d8a3debb373d6fdcbbc76b766f24d813582393eda2bd9336d256c2377a066692b131fdcfc9d10a139473d382946ac2e4a9664a873b52fb58704f184e14797830b86d58dacf0fb656ebd73739cfb857d2b4562d36e423e371db9c7db3c9c43e6b338ac5c2ff98eda5fc697ac067d12d4a0b81dcaed1ed17e2b621b3bb8a8aa4b75f1676c37a6f8d65ccd0435196f54843bb5fec570db6734def5d54ab41b03dd63412d966c376301d001b5635059382e5726af677a555b97ccf3ae9cf1a3f6a18595a8d246afcc8301d0c075bda7bfb4bd4e277ad5e823979b6d6e6683b435b19dada2cb5c40dd3bb07f604bbf94da7bdca2b9b2ee966cfa31ef0f47767d2b4077202601a8e3fee0bfe6914eca73d45dc1b6a969bb16738197bf664c3ef1ab1cf04809431ae3d66a8f32457fa0e840b32537091c939d996f33d78088887b1212bb5776e4365e023d709722c0ce6a1d3f77965359be970740ced2208337d73236f62ec5907316694314e534131300666f2d75aacc604b0ed0084e419ee66d9aeca00676aa693a772dd2110c56ed838dc534e26d013e58908a727b08052b5a764023a8678d8618994942f656ad8c01760f805584b64d39c9a01a196528f275cb9af09277834a122bf39fe8d829b21f36e859311f11ef749408fa4217b248f74771a8f9452a61d8afa9d5ce2f4b4831ae38dc2d5e06bfafaeb77f5f5e8ce684bcd9f2a5959634314e9ffffffffffffffff2e51e9f443efead082fa0748c6336d3c1ad26ef881e10774c3bb59b46e10e35014451c2206412f84faf7cae88f3ffd1bce704babda866c369b27f9ed86459a1bb8c6147145295b91b504170e429c8e502fe3435d736aebe1f577774bf38498641b5036d9862e5ba82976e284c464c715fb16b59552e2906eaba65eebfeae7ffd4da9d09856fc5d01f5417efdd0563a453665e2fcc9735373de4ac0699e1fa01c0c3fd6f33ecfce6935f021d73c4eadf0e0816f3850cc894cca19560f2fb5ff5f3795eb48a1da29cd48385afacc6a37661266452f71d120a40bd356161a5bfca0e187a5244c3920ff771a105006cad94e9b040f58e2942227ba04799251a09cdd6d5d6a82e823f9b2232a73c40506303b203d74290a2299983eef7ad6fedfab527ba35dedaf3f8e13bf0ba203b313e2040c0c3220d594d80d89e2cbce28670354f3aaf07f80b3e05b93172c20353c1520cab56fb720d10c41ca0585faee16709820ec575a0a24c933497f5f52a57570c569c335e0086ee951149a1234db2047d699b6c12bd35c787d630717cc11e4c20e1ab8e3a55dc82f1ad548e301693a8fa0449641df0daa9fe3ea4bd398d64a63da71694feadd4fecdb1b64b86a74d65ad8e14b88e09d834816d2aa5b2807a9db62dbcd2427416ab9fceea7c3afe1ff2ce1045d2b8eaa03dd283ca68ec0cfa8a6341d55c9d0ef1b4010e46a4755b09048198292c60a1594ba608162c54854b557538bcb8caee19ea66e77a52584ee13da65503bd6fa34269a97099c5d9c23f57380c7e7ddf0e58b8bdc4ea96abacba7a295ea68a1b4ca405fd349917ccb11a85b35bf2855d6c9a4f296b6c2242b008e105549235d358a83c2293989098f1e6482cbff2780f53c5ebf1ca1eb36d91295b291ec47e72907cb0f0f0bd295ae1b2790742fa2aedcaee0725d36578c72d8a30b5fe4a2604d72b62f778b6d916375bf7b85c885ba9ac691d90420c40dd78767c7467fe0f709900588417027091c621c85abc9cd380ac530e4ba514330ba88a3285a8102abac3889395cd9f81ac71c2b3d5ef9f5ca1ac954592b1c9c93c19cd864d9cd359fa9ce94e653c0ef784b43148a87c7a700308b1d5deb0c282f94d8fecc0d80aeaef94a72d5bce2f887a7ff3c30b9f456ed11eb11f16c0cf7d64004d6efab601757d829408c451c5a30148257bf83ce10af2845908a3c29f24316f1cfccd3ff6dad00b366b559584a443e3aaa543c6b91927e4ad8e45dcf3bbaaa627625dc5108d0fdee2542c443f281cde49f0f0445106b81bf8f4855060303abaa5a79e9022a7b0f2da4dd919dcc4350592199af0a0bc596ba50487f2527cd52be039c11c08b8da6426f1e1a1c1a1d2aaabee6bb2330d200fcefe33d05c1f080924de1145b42c98b2afa5255298df279e63f800f9f9f3ef6ee22331598a0a3cad7349f5aea39e79cb64a296595524a29a794524a29a594524a29a59477d629b09c4bb20c13a468cea9c3eafaae13447eaedfb2db734e6d3489de6853a6b66c87dc6d9ee4375bbb1c01a95f5ea99dea297d94ee58bbcb71744cb3c9d93196b81924859c64973cd27372a9c9c97d8e556a513a1145d113258d36b99ebed2e73789b4e9d6e4249f46df37dbbec94d93fa817fc772df9a70fe045e99f595f0d227782fc74dbfed55fdfa3cedcdf03e9e06bc90d18f7ffb0e259ed46f39d892c89092775bb014cd5b0fb703b87443f762235848bace040aaaa7d77cd2c48f2b1c34ee3b7c7a4cb000c1af2df33a4085e24cf939d5c182a31aac280e05f782858525c48a102f577284279e702f57571477f556dee6050b0b0b0b4bd63c37a7bbcfe94b1e3415c9add06527889d2a733ead55de91de1a7a95200cbd7b2bad75b4993c6005f7a644b77a1ac461288e23187a4040f8fb42512613731ec1ab5fe0a5d57b7f7e42716ee08d22079e7e858fe7df317f5694c0bb1e781d043f8fe67995265fcf2f778f9863ce3d20fe46a1984945623fa4a3fb7de2071a01af57f4853b1a7e04a171e67f867ecc185ba4a3bb3a43601a5ab4053204e141d3ee68cbb59f7fdf37e79c7766e3e96f4829202cf1b5b7daf01b6c7856e3c0ee3fd46f3e98179659d3ab13d493e6d12b1fe8b5d2cf29d75fd2a7e23dfddebed38647ab336a2f682459be0782208ef9ddfbf69b9e05be8920094aafb44caf9aa97e39fd34bdf7db60f87d9ef65cbf28a5b3519b30f27820f8dd3a29185c5fcb287bd757bfc6ba4369d5585359a32fa5de444095e98e0d8ed751fbd0eecd8aa033a51ad452d46ef5b6b67a17c6112c71a9d4a3c646577f20886d18d26a88f1f7792ec6075c7d6eabefbdf7adcbdacba70f0c386162721f42e7d9edb0c5164d1868b240192a4459a000515dab200ba4915c6cb8d74c0f2335863929900ed4f94a62e33264880f069624b9d7cc2c7a2d4548a06538329e1d3d240bd946a3112da5a5b4b49496d2523a4a4be99c8ed2523a6a1bd934bde8f16ae28914574144f16487975264b9a990af7811a6eec22a1b2c39540a2fc5626680756d6d6d6db159355b43fc285d1da1b95a58aecb84840c463cb5410bad30d4cf52ed124b8b90d633f22a11d6f344ef2ab97608496f8edaaca46ddb1b6d0220200193a5001812094403d22489410cc691a4980f64da3ed011a1cfff39d1427281ed21a61bf3d35050d0fd31d37e2ec7d421d08ddee42380d6571793c2fafbd3ed0c2d62e5ec94f9b7d730669e885ac71c5dca7d75f2e42bcda13b3d93ce581cd6227d8f887c13b69d21463a2d6ea3d6204d777a7b201e2868f128bbc2c734a2c4d210f87c15ee8b48f21cfca0016607bbabd9b70a24b6a30a6516e16ba3d1448f30408686ba1e23263eacbed2dc74d6b15afb9e440a0856fc12423db4f512892b14f3d0a73c9c30fa65dd502cfec37f381efd4e235f36dcceded0d17e521cef0dddf627f5a0bbbd3f365d6f22bfde2af006addc8fb55450f3c9351799f0b281491d08b1a33d1cfcafabddcb7d0d1a5fc6eb3a6bbfd351ff58e56f9a7f6acb84e3c9871347c469c2c28e7dd4f11d4ef5884bd8d75ac7fe13b720f01d87725181e35384912f5b961c062dc5338b01bf2a712c45d3e550a2a9d4e57492d804612cdd97b194cf1bb92e4070a79eba03f7013b12bda7155592f4b7de5646cee7ab846e255fc85fdc8a4caea1909218ac06796b7aec49be58b3f6322b45053532a3e0f8739761b3ca8cdd8b93bdf4dbd888164b60781acc4269fe8cb7317e6fa9ff5c9294dda1a7ede756746723a7759cd110e3674ee4ba17498210965e3aa57ccb61c5e6a0cb907d73eabfdd26e3ebf22d48a08cb412475acfcc9227dec159e4eb1be653aaec9e5bd8c4888326bd97acea66464eed5f7c1d8f000344342ef1f025b64108ccd0281b240471b9dd0d700867987fb904a3ca2a31e011ae0839de739e3a5ec7460e5953193bb65af470b76c7cd1f7602121457da36d694fc9812db3d8d6d2925721f47309b5343b73508145ed337ba1dffd030ad2ee19b6b09e91ee161322cda7268b7c28b0221dfda2a9d38b5a1c7bd5ff65cd81276b39229921077f467577a563b118495a8398915f22a6a57fb1ee78b246ab808ea3f3e4a50d0e1180af99033400f08caa28071b0a335d6db7a2512a222feb3cdcd138481b97b7f24a78e0aee70daf8fb987f686f661ec13c37c8e0e91809005a0c52712ae29336240bc7069c4c690f6cf68dfa456580ba7e11d342bb51ea5855886903c39aab833f756bb37ec43db1c815d99cbc81ea85ffa26c4ee4f81a2e706016161e7261267220620a10274e0bbc0ab03dff44d159a815075a7d66549f2065ef10ad8ad95dcc8a516cb781dd2b5e675971a85fd40b8b66287b3b9fb4ae4ae8d27f4f7af4589daf6f5762b01032a24e3b601fc5a9f5ac7cbe8ea9b4923b714efc204a3f5b009dab59b6db77f11acaff67bf7d7f3ef8ba3ca955df0b8ba6a80b032ca552f571625b79d7463aee6129fd216798515a8c5a4abf91ad40d6d051f09bccdf2a5589b28d9deb8028e83caa0b0441c3552c1b64fc386ea03a03628536d173c3987236ad788bcfa78155db9aa5b7b1cbee1429f38d116f9b4b7a53cd63d357224c408790b913e6295d659a8333b7af21348c82328bf7f3222263ee121d221ccab9443734ee3c93d8e6e5b6157674ef0849e1eec1a31235e28dce329f03c7d270b87e306922ae669c7a2168eb3254f1db50c7406ab29d6bd5d44915dd215285d0c6e0ca5590fe92ebf915a82c71c38bca85929dced5430e3b4b1cc4ed4d0167276208b34ff5cfb73997f73a66504a24eaf5a9b03119bb38dceceac46e53bdc33f7212e59086744471bbf2912d6e182af14df624cd792d07a4f1f6490e780200e8fafae81ac308a43cb46869a085bc2a49d72d9d1ab626ecfd339575b422211108153ed03dc32d0bcac24f7967bf3ef9dff1ccbab536edf4601749cf20c625263c69194d1307378375b4cbe61bb5a72fba333fd72f3e05c1e01ee3b90758f93783dc125227a6856c3ce28b60fef9995c65630d92312c24295da778d16c14354b15e40c0284d3aa90473621e1a8235ce1df0e494859b72ed63acbadd7200cad3af463cccfd013b8793e4919724253b71323a39b05c6b4c1d096db0a0a06239f7dceb4e5a8b66e3bed57161df136c357b2ea3bc61252c57bd23f5f8b4927ae7efc2867c3420171764f580fc89bf012e385af358d1d922b789cb54a5b2976d0b5ee93744db16717e89b475d56062d6f48f6024618614f14b3d03db08be264f1ad09f0817e519e4bcd27afff0e4a3a8735980eda83350a169b14d62b93e3453e7a4e934afb383c1a5427226345e0d2bfe71aeb256945551cbb09a3b69d1dbab5464545ca9a5a5edcb4a76e4162864189eeb51a87c96148593c4452314518c5426b0263c2a2c487853c16da5a69358c2261effe7d4ff527d2f4cda5b4506ca86b7543665b921c4887e91efd2d9d8b993cc1314a45e024d5259d6abec98cd6643d5ce528a23b988a62ced49b166cc511adad9e2a916507a5fbb8a72882e85d607efdfdb9be8c3000d4792d49374a8d38e3c3885fe0360aff1d5b54dd333f5498fec83b00aa307127f4ba8ca6b30858860b421ec1e26d2b0777e3dfc95505f32c18c0b056b41343802390619354d2c40a19737ca6e3931b31b6afded78c1264e8b73bde3012e16c218bcb12cff9b5ac5835565255d6dae3a6b72fdb50394a1467e253126d4c67224b5bca4b5194b2419225bae747156e6750d861886415e307daea37b3c9db45da3a70e4387dee121758e4971465b59bcc2f08944e80c21f48aa345ff6b20bf0328856fc813d2f9c6107c4fe79c4edc9a214472f18ae62913080e4e8aa7b46e10ff8393c18780dc1df91a7576bc0f68a85149b0634cf46e3a4ec1671df0dcbac56f63c9809f9b12171b4d9fbe6e324fe480e07c7c3cbd36491ee0a815d5db0550e1d1c9db2341acd9ef46ea7da18555c3e3b3098c76861a165b123a742108f19f05b299d611806b3a4e0189fe05da17f7037c7051ab6a285dd7224b9ac80982d4905777599636228276647030002254f233e1731a3fb7c27345c7427b596a206045d5a2c5646b627c47c3560dec3715f72957b049be9674d3aa0a57e85b3c3bc0a3d2581c129d659a3313c1012fd9d487f9570bd44a1fa59730856239962b0cd7b6474db6a223fbb5b7b41daf6a52a4bddfe23fc299f5827f10fdeaf928a0be9bcadb00fe5e12137e6b76bc26a73a50d2a404b36b04b16f011b272d92b0462675538bf21121ad59578624ef9f53bd8ea1e4a32fc8a497abde32e14a46f38f2495b7d1c77e3fa26622f47000e0d4a9572a58a4e7fda6a083a73a0e9ec564546248d3fa728098de08cc687103adb3342f2089f78667fec0294bf0125c19bfda54d3455abece32f5f7e8b3f2754e00fe5d3c854ee0c754bf79f4eb7c2d38608b2383546f767b809d6277600d9fd30d2fda49096e2bd4401833ce975e9990a58e0fb0b331ec3abd82ca8b4edf2c5763cdd48a8bcefea1402862ae7ca34dc6bac09ebcfc2795db6186ff646102e959302ad16a9fc3af7814d7d7c7fbecc3690750342e5543b659b083748753bd6394fd9cf8331c0d3041d78197354a05226bfd3ca4c109f74d6531fc543520125b9b6115157cd73491e1eaeb98e6a4127bee9c50dfd43c864f37ffe20500b42060380495645067a3f69c84471c7fac72520db2fb55b6a390614eaa1efbd1d7bada8326c073bfc30da35edd8f85849b1098ec24d3500e3f67a2ed273b99d35279d5140808883c4d0a1944e0a169e2d97e91fcf1784272ef67b261e916f97bf7d8ad713ce193cd9eae130de91ba8fb736a28fe50d913dd14eb8b9c470dfeb30b5d22d82c0c771e85fa8220e4ec2e33bafbb3069387c68f70448cd9599d6cf41d1d37716aab8329aadce25f8c31b069e45f48b76fb87c6c87fee89981ef839d072771de58666b8f8b725dbe39a00483d10434e9916a4d81bb2a41154d9f8d5f352a1022922a7741afbdfb4ee8effd4448893a2341a1e99f00e33d39607380f3c8ee6f67cf7110b6730147c39d059e3a277d61ada7b970693661394a555c3ad9fb4e290a94a3366cb249090fe3388b1eae6b115d4df7a0e86a5789de58eb8cd2f10c02c021bab63c09eb11792462411ccaa32a9096e04e8457c8a8f31116b61a600948f95b06a388d389c8ad52bd562879391dbd67912448699ca3c82f8928ca20b3ece568e4230befc7f5e7cee16bdb83e495ecb9093a1d6ca422482f1834e525c03c4514eed1d6e5acd48d7d46a976a410e4c076da7ecc58b6539a1650b9c3f63c741278ed04a5f8034abb67463d5496f76b87c2821ef51a07eea5d1bb1b9b076ccd11815a910e3ad77e0a58e86945206e03caa10d9b5c3d02ce41c3ef2ab0e38f3f07c354b773e7ae7e7ac56c57c891445b93ced149a4f32d6cd3d9123693fc22807abcbae9eceaac546e0bbce06ebe1e9d46a0b21474ecd04dda692849021caa93d859e9a03c0331b9f30f304f431dafea79f1503302203df239046a5c9da7c8620b7a11f17827e81d8830f801c51738878dbce3238d9d4225a9430892a89b373595f01459cc427d671fcea9a54b4f6d05af3e876cf1ecf170c36b3ef38704c6e35e90b7865e1fa3f7d0f41321bf4f34a3598be2ee513c8d6c87685c58d66ff88204aed38d586789648b71142fe443a647fa1af3d0232edec37a6c1e57fe4fe0bd69488234c44e69d18738b5e2a3bdbd3c4cafa039ad51710e50312fa85041a04ab8e4930f0834ce080c1739d5c7e7db0ae737591d3fb171b9412fe4d9556f0c3550eb64211fc4e36c8225fde7bacef1ef9bc0da4d71734b9f644e773140d581e91f659d86eaf885b4212e2b9c9059efc3459e4b44b02e805d49cda921f293c0c4e0ecfbd97bb8289ea474dab888980023cf66efa6b60797e8a119a28be6f8c43ce731b4687ba07e1aff26de795a49b4483400e88e49e0aca47908d7cfc7837a61b9de0dd548aa0857b2b96142b6e69f07bb960bceaab11dc35c971e5885ec56b1f6b7f48bf458420b778acce844e9cf58818b5bb2f0307df11bcfcbfa100ad1b26fa08bdeed80326b6a77c4e28d5af842a0f8760b78a9806b17a8d16d2f1adb6113550318b55d6b78d6a5cfba404852f12acbc5e6524daf428589385e9d850572be8ee4d17a054d4c4496659cf474a8f9bd0e56f02d958ebaaf630648e47e3c4eb15f075f52b947de3c8da8a045c08ef0118daea44c05322d1a0a72562e6a034978530be6757c679ddcb1e32058cefcd7f92c7a3557a5da9506f053cc197852d986b67b8341416cbd63f7e6d13600afdd1b6f6527e78c95e421dd5958d2d19b5e171782c58b7711f4cc86918d5efb0836f6081fa495958072039f75165b8140b1c5fc1b6f5af7c6dea740c34b7f8b3bbdf930fc6e7159ad66a53c6e8eaa872e8407057151dcf94782a34a3a66134641f3e86b9ce4c91ded3fd365b32609f86ff3be5433dacf28af788ef98ae7b4129e94c770518d92e9685cbfc463c64aa0102ee47f5601061eb000e4ccc001ed5204ede70e3723c24c196124a97c23681a5b262b1ab4405f0e4a5151614289b83199b41501bd243210811555c6723d48fcd6a85a835a05d639390dc81872be8fdb507801d27c384a5f8c995402f7375074af8bb907e0ece896a2da1d96ca2fd1a5603f6c2623c2ce00f18068bc50a66a1e2a14b08be683a0ed39358e21ad6445cbc795f88b283a02373acc543b1485d2487f28fed5152322f698b71f6d20bed8c3a4184e3aba4cd2e6020d2881731996bbf43dfb376b51e140780fb0afbefc9c18717ba07df0ccd99e4d78e92169db9e1f0697f90593a13e87f73aa10093f4b83a6101504606e24030d36e7c09adc41341a285a20992559df01280311fde375db86117d716447a0719be2762d8c2c40972f2af109dab11ce2c3a11ab4e049e0bc48352f467a35cccc97eda2ec1eb586beb51616d5fd6fede6f12d421182c212e7cf7ea88ed9f38e3deecab8d7e34c91785cda337e2c8be0b405ab66483020b925584a0940e2c1d9da5b78911a824abf2dde3d388a516902ded2262b2699febbd5368299c5a84b832c5bb423d3f6301a3a952c87d8fdf815a42e613fef9fc512d3e807f8bdc1237648856c64ade05a2a6f7466e19179a3a4070cf4f71a23faf64ae545435134290ccd4815665085dc600930c223836fb6787c85991d95954053972fa59bc8b7739f0c3331434d3e50c03ce38bfb63e8f3660b84a71cd8c53a0ff2f497113b3509bfbafa20c8ea6a4fb57b85cdb64ed0ff9c47e848cbb3b69f9c427d4fef888f5156e1ac70159b0365201a6f9b1bf62f557942c898b01f793fe8cb6c44925c91f4752ec40ba1b42db2312e62d480ae47e4dea5da7c2f2d7a3b0236d9b3789e81ee417a0b4dadd164cbadfa8e74baea53dc788cf090a7dc6b7a5cae296cbc50f45442ac35ce8fed04cf5ff4c87030b6b1f8bb20236c5283b9e89c10dcfa46ca4f671b8f0452c6b4445226ac48f611d7f6ae87fbe88ae4cbba0c1189485802cd9207b0789cd979299aa330270444e12510ceec2a72406939d0f9919c111702094836b8833f22c7ae8f090d1268cd8092e4fea3108fc47c225a40c3c9f2b64d9a843a22b658aeff8bd5b749e825b8538efc997997f492e21c9edfeae1b0dced78a5a7a24345c1090d1404f3a3b4d29a2282a21ebf1d1960792c0d056deabd243408b9f716edab102ee4709f561b1f61925f65c98c54db6db527d35bd3025daf3bc42b3ff5e3daf21d4bff5c297ee9879dbe104865023d7b01fbec8a98e87b56368fff2e08fb0122cbfd37d0ec7430ee7eac44939cf99ae95cc257f374f54fc4da02b75feec05231ae4ed997d6720da64c42be8315343c679c1a371f053424a2b2251863f5a363ef088fd5ed57ff38a584cc30bf6c091fb2df0f11a7dcf2ec019fce4b2739e2fdbca51d3fb7caecac67af1d29e5e6ad3b5820d9e41897b650c7a0fe6308c07ef368c55dda1c6c60b740b89c9d3c66945633ddab3a56b16074d439296a407605c59b49bba57299ecc0abd11753bc2a8e619a80bb554fb7fe206a5984985804bcdaf7b9245c6a20b43421dc7ed61c1bc7b0580cce69269f81c28c09b7e582d8d09e3e1af85970786a9d48c17dcd2907146a794397f30acabb176749e86f3993860c16067e6a938b01bdfccee08cbf2d6e9f29f7bd915205d9e03ce6b6f6d2321ba84e037a745b8316132a0f18d9aa1cc3f93367a099dfb498dedb538c7be50831510ccf2f20a4e3428185d369521e91ce9c3bd8243e73bff24071dc66653c1b510676988f00535d41467f35ad060d151bdb08a6c7675a1af858ac316bdf7491540c985b41b3abd47e5dd929217b94e712cad82ba14f3c040697f4b9eb073cf45e769490aff84e5c4406ff6117984f95871135ec370301dc454c5fb0d62e88c6a7b509584c873bb5ffb2c2dd0017d0a12f342c469047f7badad60bbb0647b821838d11ad6e1d72916d9de598149c5766f2f3a0bfc6185fdfb11779418359fad31385b63d026d59b2316d1299aa665d9be19d7606ac20d1a6b9e25fcd5a112e39a4060048e877bbaa61355ee4e725e42bdc400009355effdfa4910f122deb412c23049348870519d85b728fe3815ccd68a0eccb990a1e7d18a2934d2dc2b08c384dd639fc261ab00f362e88b0b58061f0c1193fccb95e9e47d9167b7f6fc2d7b13a22ce7448a1e9d2158ebb0dab396814bc1e00182c623f52ea823becffaffa955626dd65e8eb46d9e4ee390d8545d65f3a1aff5dd1f44dd5863dd2c56778ef0a810734ecb9c3d394bca973de72222cff1be01c143777bf784e46ecfaeaa2a5d017becef07551b7c0dec7311a09a17d403a6e6da5923cf3d771424daef6700a7ff86fc7c9fbd9c04e210829962af7f2a4f4183411feeff2f1d823bb8899063ac18d33b107a9bd3c6be973c810d3d6d8b9b7764b5f019e0cd21fd91375bd6a82d226b349aa3ba274739c652cf4629d6db729e25437229efdee5f0c04b0e5afdfeec90ee1f2fe0d4ef7fc08dc14cafa53aaa10a2d196dbf3c7b3db8db3b3c79a8d36467a038ee21d2a6f80588f681065f5aed8f97901b45e0072ce949577ade5c144dc1faa19091b1a7a51457043179ab2f5dbd08a48beee9c2d8ca5000bc8ccb0922e2ccaaf6565431f225ecd8444ae4501cf983812a3f312b9f3732b36c35d2e31b410a6d5b213e51ecf09d30d7b087839ab5fcec41555c9f17027007de6fdf8c85ba7bad5c74e72079c05013f8b39db0347cd0137b04d71808ca68c3ff2200564b4a2ea22f996de3b37ebed25fa6b3c903fbf8aca17849d6414c48ca6196ab8dc750e6e9ba90d5a139f10a10188999e42aa3966b95390c339ad905954cba3065a41bf1622f0e188328537fd68b4446ef9be609de8ec136c990b8331d1648bec4b6b635766ffe52e65550041a9ea7f831f284b27d696994c14aefdb889b5ad06710a8cfa8012f377f5ebaf98bbf4e9fae4778686a8615df90e7fd9ba3252aefb5f74314f34a5081b356cb7fff28960df50ca83d009ef6c1a4c4fa8ff87cb1674b4842f36fc0553903521377e601ad620a32dcb6ab19e38a28a45817239ffd34a01cce456e2caa1d58318451ce02593d6c781baf1dedddda4d92f9892c3550a5ac2d54fdf6921a16ad5148096c62ca19cb62422fd653033901b6cad1f4a794df1ba403d7fc1b09679b1ba2284c73db6f8328f1fff8734a5ef6d22358a3fed48a4589bf073df4acaa675f1c646777c6192798c20f26b72e661d14417c592a73af4071b61b38cf338b845e8db1e547abe17c57c08794c4a2ddad949adfa69f7d3a1617e1f578123bbba36ed1a96a57ca542106ae6160bfd5e20ee0a3fc774824b3844b1c276c81580ae16c84918e488d1459fd30b5fabcdcb1fdc01f9d478b1c3e43345b63c7e46b9cf9408c58f0f0bc91e197555f241714216a63c9cd056ad23d9fb97609ed96fed48668904a8c3eae5facc93b95cf5221e32462daf23c3ab89a4bcb00ee98a78bdb801be548a77ea978ac71ab9d9ffd38e09cd7087ac94363dd7f85735b1b668fecfedcf73945226d3e50d165ef214d46c74739ddd423d174138e5d17d3b2bc6a1a37cf144d5b1c59b3da4546b38886aebc39ccf2b8f3def79b321880ef4ea454f77ebe95ebaf9c74b7cb190caf8609ce10246e50a3ab97784779e1ab6f64f74a91c102b5ecf12c51f94527e4f2d30435770b6ec9f97666b03f76b4cc2651549d3325660f6acd782e74aa3526c711b31d3ba57abe5b8c6503c7b022faf1b432449221b2552b943dee1cbc937a09280e36b91182238ed49c3d085fbbec66c31160ae611618ea5da5bae0a67672b6d648c1d518ba9d516644e04aa767911c545ac121f95f3010909e7f9183c13ef52fa4cd0f51d8ad7d4ec1701ddb29d8d60b403dca1777b7fb8bfab4399fdd57711ab4e9d87740872a6a758401ad70031bbdf018cf62ccf0734c0fde437a4c904b1a925a10ba6232ec24f5db46a0a67aa91f353af1cf471ee57e4ff2ac4853ca0aaf6cda72c7b5830e4659cbe1cc5483e80160ba5583a8b5fa7f1f1349d3874640215e4e75dd0e60f0c91a29e7766c8bf72aaec7de5d0d119c32830a0aed4c7b057dc0785e339951951169c6e0590e9f6b103e20c42071f3265d414c8331aee5739571484ba81448eaec3cf4e5b9259d2231e4626a7ac8dedcdce9db01d438cec680257e8c8ae0e327a0e9b7348a49d7093592037c018d38b15d2a4890aad4bfafe88464c2dc5c62be7925ea6f5207476ac9dd75ed3a6fc9edc1d2e9e6cdd7a33dd92216fec3d81f2ff9d39f0d944eec7c69328491b9bad1e672f05b186f0f99c648c66055c7215b566d9ec23cca7a83d8b826d5131af78ac3c2bc3f5cca235b9a2e792c06dc75e8e66a18dd74ad12b5d73372b254edcb2c9be1542da6c6b8586bc1812a3b49e64eda28e747290b6dbf707d352395a070ea5aad9a80ec25ec6335f332e5eed8e11489651ba57ee1b7e7adcc30cc0987eef250ca6639e07a81ae6650cb45da0c03700fc8b7e1ad605682ec7ce4929ce0bc4f33401ced0491caa0d10d4c39053f32a7cf7650891d04923e08e6546e1aab5b07f0978aac941a0622ee0ada92b27303790555a59b848ede9dd06b0501673f734b52a8829fcb570ddf2f160d4a3798286bd1de3fe28c3c1cfa90fa2403fbc2ef2ed7b1065e7d626d15ee6c0fcc77bc6e5f7c483ce56d78a8d00e6c09d1eee81407cfce1a81638ff66e359f2222becb70c1feebed7f13c8f32df84ef02ce25d49987595594b13c2d4bd883fba380d69e607999e0ac3c43b8ad22d7d83a9b40fd55654eb15765b606fedead5c58dd09a59921b03f385b49e5c6c7bb30b48b8444781e897ed73948484cc0f8f988851e135595cb10d0dd6be6fe0e5fc83853e56016308c83cf4b28a78000ea170c59bea4d76b7e86cd54c9bb27a0fb01dec07e8e16b9a1e9efd263fb83cf653675644fba8b2038b9fc6d774fb94b8eef937312e554112d31622ee778a1cadc034ba0b184186be72cccb80efb23be75525e7d323f2d176981d443dbdbee30b7c8f283d41833fe0f4a9a81f7343d1a427b4ff3ab0d3e65fb239b07df7c5864555021cd96dd22e842cfe5ac1dc5c42ebac3c1d9efa4e5fa6404a9657bf1815bc3c8a85c2205c7fd1ef7158604cfcd2c7d2bc366ef44c45743fe605e15997d66950812366e4975ee0af52d909a0b808d83fef24ace8a4165322f8e8382c606ca3810259bf9b65bbe18c444a237bba9b4e4ced8ede1adbe241b50407290ec445fee00a1a09681319af3250e587e83c840585685b5416a1187aaab89201c668b6dd3f35b2bdc21148f7e78c5571c817414e706e935a44d88c583a8eeab5b5cc3d2644ec961659c5f874c4aa9ecdaffc92fe77315b8fe2450c54b770a5ecc385847c3c684e5e50a46720e743688223938452f7013d202f768e66923da4699693521672234ac4ee9957b699b00755eb53184e9262e6cddf8df868cb0ce877d8316890d4aa71603f0d4ba386bb77e35bcc83e4524ad77560f7472ffb963714628202a806fa3b96bb99b2d3b6ea3a96c7f03fb4af612fa02d89e36a18f2756bc7cd8e596a5769259fa7a7ef9d565b2e0bc44d94ccc77cd4bca52c5adc8f6ee78e28ac8441ad31c40a62e616f588925685875dc0761bb2df0f7ed62b4643eee99cca1767252633d03f4c4a613bebd061a94ed8069b1117ed3b24dd65b6ccad04b866366c37d84aa15d0a478ff6790e7310dce31bd8546b46a037023ecfff874dc5ee8de1c7bb7dc77f08655a0344aaa53833e2174fca924e5c4dfd90f643b7e3e6ad459c3876eac61c8208f9c89f3d184b3fc6d9643c6847dcb7cfdbb65f986ecd5e16489df5be962645191009313e99f4419b0926b7efaf052fb219a573f3d27aad7fc724416adeb36bbb83ceb767f38120104f1381350897ddd8b6e81508901da9911b58e7d9a4d834f004b2991c8342e9c13e39cd0410caece5e0e9da98da84ed299652522b1aae8afb03de6e916f5aad3020bc0992bd5da72b54c64214e87949085784081bed9315663203fc062bdc53cda7ac3b9777b68d077135252c13436837ba66661136e70ec1edc3a96b39eda3d29fba9e590dd2632af0c7489bce137a3ef07ea1c554e6f79f7ceabde1f50692d9f895f7ce5940315f7b1c767e4dde5b97f97d9f94aa67f3c83f86a8cb9b24c3be07b9a534037a9777f263af8960639a9cb95e119693a24bfb0b745f875061bca97ec72fe79ce435f64363dc369fff836367ec93f2a8f5d3880221bacb77cfa8aca106a3bafa394dfea96d69b476f1eeafd80228a98944b129a7a507c28eaff0130f1b8cf76e46766c64a6d44f0d2c17a4a4ff576c633c533363d7a73f56bfb1f5572c5fd39f761b9ebf363331628fda3c7ea2718433494e2f6f046b73d073f389ba08c4a304a7539aedfbed53e6960cbec78b23a1628cdab0eeb95ef12b1294bea61342e4355a788af67522f2fd0e958bd9bee85719f9b3883102042723d109a6020b090ae937166a755a168fc9ac15dcb9ff678c493ab477aae2339e7452abcd3c9a1a077862326e8b17ee4f74f485aa17a7489f955cc1c9ea07dffc21171b16a0342daef785ecb3c9f07717fc5631af2410cfd24c266c8a40b7580c9e488008a4ea01046906c4d07588121174da3076876b98fc29cf4b76ba9846ec76c3230108645f122344002910c000010c8e7b3248890d52a6fdc6108089084c614625b5b7fb2e5de52ca94649232f400e300f90053098f86f735ba7f5595c49f8f27565454545454e4e33d78f630fce1ff7e0cf1cd7e4611a067f7e9713106623dfd9eb5b0f13a4f0cffca250f573b900bc84631803baea2ec66b126b3651087309e98d883bb67029ca3cf7babcf827d59182c766fc6e1ad0edeeeeb378f3dcf112c7c5cc14cbbddaf13f1bb8108aeed5b4d81a51c2c19de9e9e6c81c28e01c83528d79f0c8619f4c9e097bfe2afbbc7a11cf4813884f1c4ba7fdee773f83d5714df7bcdbb3c99f6c52d27f7d14c6b22c2c22a7311c430080078afcd4114c4218c2726f6606c897492dab807ee297d510d8811c5888d2e016fc04c3ded846ee888238567fbf2620a556e23f2b53e55c355ad9db61c8ee6da3d954623a11155b68e3f475bdd5d5ac1123245e71e869ae864e1257677064130e330870de26eb0bbbbc3969927b91c91b03c6457ebffbffda66dbad2d5e5d575bbe110d810dcc83453ef3e4b2adabb76d12b98faa97758b45e965f7f8ef6654e6629e794b3e26cd85afbd6ca69e79c74ceea9d1f9c23080e88705fa38919489c73ce80a4cc56da5a65c54d5a8fb684d684c6fb26d8f35cab94f2deee968938e3ee4fca2be726675778daa949f58f8424b73260c880e465b4e6bffbffbfcfe98d66cee9b3b9fcfd7fabb5d0b49452ca96ddb26762745740b4d4134b5bba7429ea58f17450aa96ae9a8e22e6d6ce4b135d926381749476a248f0743d0e25d125f5cc343bcdee14d619860deac8d3115d12884277dfc51fa2bffbf52c584b54baa489448a8e6b740a66873fb494743e4ea728abab2dddec96f27b1dd35befadb91194da32392b2147b3979fb45a0ae62e035bb1add6cee4022653649b39bb277bafa4b203cdcdb7ce3c4c1658aeecbdf6bba17c76bffbf9bdf7fbeee7df75ffaecfb050639cbbc3b0bbbd979eb8e8faa66de6607da9f3c54c958032ef6fc7dafbd7dfed8ff36bce9a71c8ce1512d2d56ae9286429bd1dd20f392925cb9d113db7d4ae42c7cdeeadff4fa7a63301593dc6e42a981498c68640ef698d8a125dc4d4f8767194a830a5b1d21495644883363a6a5815891206c81ba81cbd20574bbee0f8a0a69c64ad864176a166bb11194138aa60014996430336036e6a35d9d5a484db8033727054e10206240d1d6a36cbc1e6888c88e41d1c0e0aae1064381b39a8d0977ed5dd338fd0430f3f1c876aae6e73b5b98e4318fca498fb3e93719069d57e14591846565d41fb85d6c7a5446357ff9f37fe3f0f3c34e77d306bca47ee1bb37a28e56e3fe5fc736a20b1de3051a7cfdcbfcff1def1ffc2842a05eb1364fee994d2997b36a6337fd752b02038620c62fcc0c30491d4734014383b0ea62d0566cb9c114377e78914151714aaf692d1628aba0913e4462f85e5bc03f706b326850c6bb6023435692983cb2f75147f77d0f18f873612051fda1997e29df2a10d39d6e3378cd2c5913442dffcb4cd6ee01358ee0c95395fd982d60fdfe54888423687e6183beeef7ece6f1d8e96728093eaee22b92cad7c23872f21536c41ee2310f8c419df63f520f52c13a616d676e8d193d4b342162df4e69df9955a9c4cbc8e6e051fb0ae5acb9ca170ea0a67173eeea2c2739d199cbb882bd650c84ca5f21ff8e23a7946bbc9c3a320ed0a579604ba1b562060723e11454653f286964212af946a4e7d7d8a0a862934847cae3539fd126de99905e780442328cd8472f032ed3e2bdb7fe91988d7f4ecc4290aaa1453c5207c289080f1a7fb8e5b01849af665a3acf46c808eea6b01d2dc87d02e063ee7f5531865f4ae400e1e5102030684187920140f60eaac3a632dffbb0252a0553084ce1bfb358fd8dc76b3bc562017fc59ed7020699d8abaa341bf9ee62f90abdc3f9682488858848e466008225138c6945d797ddf5227b236ef1c7c5b743e9aca2e3414f73b02d4f7d01183ee91daccbc9a99fe0da7f7d07931042d4af795c5554222c727dde0ddda19d6360aa668d754ee794402ecc57a6b871638be70f2561b4064f9e5a3815dcbdfb861d3a162db8ee2d7f65ed5eaa07cce9e1467e6654ce4bdb317fc597763a8a52576ddb0f8c0c31471983cdfb01de9c2761c1f70b05273cce5e422de927c704485a30b854efe9ca9052048135290bd1631ae84990c188027bcc6d76b96d1a550cb3db7ad987c400f887cefd3a07b82a5754a204460e468c4a3aecf9d4dfc10d38d349dbbbbb139b39fa0eb66ac6813a144d9f0089741ab42bd52a3ac593fd72ba6bc37db877e19a06202c0d20b1434a24770db29280ecca173cf5da2394d6a339389400e006688cd5c638c88d0a1e3150d7dda4fe514aa79676afed0b71b03c69748974f3dd7e3541c099f1ceb1bc8b8260df5b95cf4818e7948ae6841f80125c3310234d1476b5b66f1877ccaabfae85672eaec210b871c2a477bfa2671bbe8957d5606a86901ebaf5b001b98b4f5bee00afe8733b4d30d97c9e588854f105539ebd047f9c1904c9ba6b5d62a65a12e841c24a28405f492092890a77fdb78ef165d55944c7f579e633a119d7a42055a27df17c5bb4e8af62cdd8fcd1d1ed3d7caa47c63f9b75884d0925c0a98b1df0f68bd9d78ebe30b441ab1ec835b0149adb38a1b67e1a477740128e5c05aad0f25a084a044d4104a21c929cea82c227b716496c2779c726e048ffee88a9eb1602cc2205206a18b753c97a70c486be5f37065e7d8c0591c7a438b221e737ab17829ca6e14f78ed82130e5c1d7a9808ce5dba422ed25c3862091ef6cc2850e099f0cea7f094eee47d3e91391c96888a34dd9a20e81be257d238f1dea9b19781eba1eee58135602ed0e1ff3c34db5180f5951a63c733caf2cfd8dc3c40a2208db31c2df8c311ffd672c73c61c680c4abf131118e10f0bc6dd1b76a86bf9d6e59eb66896f72aca62eb975d3cb865aebf3375dccf4bb1f758f82f6fb9e2e043504752a6371c639aec222c531754f53dd77a9be2fd5b254a8440849424565e8f27e79bb00fb21cf6788a133948fd917dac74bacfe32f99f3375a3d11d2598402c4c97c72c80959cacae15058155eea67b190010c6471b9483ae2a612209ef255a70fa9c0acae5d0afd978536ab6175b33c64c801b82aea179e007f5feffee4b708b2635b7c9da8c92605bf1d82f49021a5ccb164f4426413793d777245f4d1b0a369ebee56a2b0744a70ce4219cef6e55a9a8ec05f57bdb3c02391c71c5fa794944f32f55b95f5b07085c7b9771a42778bb282cf744239ae0f53e84b8e0e3c6827052dbf61dfe35926bf42d4b6237f33761b23c6d7b47039a34bcbf349960a2e3007d26e09e745687e89a298a37489f6947f81adb4f2ad819c3bac331b38faae585165cb96c808aa90c403c369103b1d7a1c902eadc41babc78025c79694e2b4a584827086cec187bc946811a486cb6d7a547ca277c15b20aaea92a32d3910703ecc7e22e6cea5c6ad5941895f2851116fbad78c9eedc013376992901381a233be04e4921269bda8ba38b285cb0f4639f43ca8b33478490821c16f0fe56639a1621a56feade5525814ca8ef4154c1fc37c72536e76075112b92e91116edcc64d8ec006d48168d92ed388fd391d2fb6f83002e8c02c57d7eecbcd689bc1068e7e03dff4f208039119823eb756e5db08911fffc341fb61488d4cea0ea3963078fe22ad610b10e474a3d6f86b487487774b96e2214dd3bd4a511a3715b2217e30753f37286748968cf1137eb5d7b59d3260a9aedec65cee32bd53066d52e8ee734b8b0e83d1a9c6956a4fe969d7a1db90f2af138d71bc92f964f9ee4d304d34caaa33074a2e8956df39de7055d1245f2fa10373b5d7c09baa60f565ee3b499d2be88b9ad8c95d738ebec14b7e4e848266ae9b8e6b66b43acf3a695f4c31b8b86b227b753cb19579fcb3503ec528b1974655aca2b97b7194e306ad2b26fd585e7af74af53851699d114d9bd417e23bc1a8409bbebffeea62b6ca6a5f1db0559209852c1bd24fe40db9eafdf9a2514afc8e7a4b04879c1bb31965320112c5c19d4cf067964e8db0b47f43cce053e7ebc4617d1b6bf70baac5078de015590f3369dc07a689cf661c1f1a4f980484e944aeb1f276e715ae3f99b2c255f081d54249f810cea141e88836ef53efb6d999c24edbfb76485fb11920213f2183bc13f78e5df082529d3781dd97e149aa00f518a847a1821aeabd4b817fd5197e443f0a4deec9f47b07353e25143f4d3d431dd5616bc286eea26a62b7d5d559dbd473f55a3240d236eb5de2df4965866f348676949830572a628e27069b712550df2fb9ba03b253eba08a9a2357e5ab575245ad9e4815c5f45f23e2709a92da28891c669cbd77ae29baf4681deceb3c25a9f09ec03a1bf2e213e476f05a4102014965c163e2fa03d4cd79c04acd58722ba3a2cb6c1c517cc303f816268cd65459bf5d848390c0a7e048b2ace71e24d66b5839dc91aa8b87b99936634ea21fe28190269e8a661f8f5391601a65a8493909c50c7c208d4cb355a9bf79158a492e63b28ca675d308920ecd86042d983d04ed678f0f4b3d7a8a60d28f879958cc9038040a6974ce1095e69d11b98e137fb662a4119da19c73248054e3aa7e308ef35c5f92d1f3421f2e5e9ed5f6d2669fc0345a20b9ea6cba8b170cd32ed3c5c4590855e052679ba55085dc4a275421ef0f21c340a7ad1e388e3551399a6f33a267cb4634ecd990f301f3312c298d3f46be2141908790650ea2dc60ab047b8c22965ccb9d46eab47d9a3904b1c5486a80a7bea5d9511f2663b1655281d6e569fc444fd002e5e781bc2c7fd56719461a6c61246ea50f4e2958d9776d34080dffc00b084b840dc3a822898cde9854a051554fceeeb3ffcfe95fb2ababea64d9e17da20cb1be115cfdd6c4f532849ca44667d9669767a40a4c3df2c16b5156a224ac340cdc3a0de41c12ba82880d741c910e0a97cba8fb7a4896543415e80d9c1894850602629521cd6c4d0993922d0671f11aeac423cedc12e87a202d9165d4c69b730f6b99ded98f18020df59c0ee8283490b933e035b0b9c28872e730ea174323766ea07070b03cc1c2714aee47a14551ee2b521d0c5165cd355ba28b19540a54b046bcc1bd6c1744fce17445febbeecf9394b606e4b48fcb84a38866ab63e9fcbb34c162db33c7e513daf9ef23f6c2477fc1de5b23a91c34072f42b18583eae6293d9e530f6aef5e4e6e20fdbd15220ef9f0901b28d114dcceb2f339a73d578c3760b1df5965a43b769c5911c88f37ab92f684bccd3895d6d53364a4636abc450492a7a7d32fa05de0164f32b9e602166ea1a6e67838be5920125d31490bfd9f38b2d56ca13e8aa3cfed92d440ee85a40b43e442896aed082fd5341f0e7836ddd3f88be4d7ebd44efb61a7b67e3be9d3e2f94ce18adc15c114c9264ec8aa2796c1063fc7084c97263ec3c968243289ff11da7b1d213222a0a1215ca4117435b0eb193adaea6a7b7496c849b290fe84d515218a068d2525fe5cdbcaeecdec342caa42d48fa6b0b999a41af28399961e5b9fa79b787e35f924ce9c02c8824eeea0d87585cd656e75370dbe7cd1629ebe81907190971a4ca5d4ea17498883cea776aa410cbd3fb1154cc4117686da4ca5e61e9a755f0bdb21370c6785e4dc27e2854d51bf4877b623f1248fae5c4a6a4eb6bafa5ea900c36834d10096de752ecb7b0b6cdf04f021ec9fe6d22e8dd31e3a65b409d89372c5566a3bf061243724f896242be0639c301fc72fd198e30a0634081e0d638c397bb651b568d51e57252db5739b5562a5a859e119a2fb88230e25e465e549ddf4b7281e0212de797d0d6e95d27ec88e38246ff2eae8680861f0676caba91f01f3688579e09512a0adc6633f7bc8cbfaa0971717da2bbab2755a85aa8fc6e3b808f61be44a80e3f93296e30f91db3ad255840af711a3f28637ac1626e577e5762e83f86e2b72a3805869738430d7d5325be13f6d65c6b9fe92d2ec1d02a28542cb3cd5dc8542eff9016e1a511104b7bc07cb29c0a55b1a472727fdc2ca1debb00a54257231f693188548db90c89042a491a0124138240f018aa984245560521a752923c2ea68d7152288b61edd786477021b515e44040006581defba4458c84902765b4675817d92d9c3b7b909af13cb624908ea609da56b20dfbf73dc83729e40e34ba936b3229446f6de5b4a29a54c32ed53022702fc015f1f8756c505e01394226a94180892d4054b932c1c469e8864dcb46cab2b1c868048a5f1410bc97cc199bdf37e6bd63adb543eaee4aa968856a0eaa109f8d8db4a95b861fd7c28e519abce99536f70eacd0da5f46558bfd0e7436bc6d7e61c6c736596ac3749cce8e9c966fb51ecf57a3eb55aad46d61769803e618fd66ab59a3856ea2a5d6526479c17a60964ba78e5fab50790c5da8a31c616df6bf3fd6cadad6f71cdd9da6aede3545ce36758fb373379b24d4e8d3401438a70f7418a8cf1e837381d548dab1ee026a785d5e1a056ad71ccbb2f5028008ef7ff1b6bb17ea1cf8792f7de90a7330fae91d8a42449d69b1d9e17fbdfca25e8a6efdfd89dd1f38c038e303963343c7ef3312540c8394a69d1305444e769c659d38cf4bc40cbc6c0c90e47b3048ca301aee23531cd6a604ba00190c31e4ad56c7d933325a14429a55a54575847a272f008eaa13ca2d6f0664053c5460fde39ae866158eb688ad9c70409ea95b2783383375bbce9c11b9040e9c088104afd40c7f348490974d87a875a0abe821231032c0e892121f0058ccc8468ca6a882858865060e509859e952d28207ade1cef999cad3f42e542b2983a2d4ed690b9c1ca4c0f5f828258580a1213f563498e211b4a964984d23d32134db1bcac9aa6765f5cbe293276f875b1f9499da3d28e4612a27bd3366acd3e2c523e8a4eab159e64a6708627575859a294146d21e1041c921cac3c090245e3d063ac4c512a23048eaa09741c19114ac3a328a76f98bb5d058823425942aa8009c169cc935db048500bdac6900b570b49a43fce5c9e960f7769e4a9b991bf757d4b326a8ff449afa35814487f26a50583c16030d86497a16c1a1498bb32f2e5744698ec78547a55f4678484cbe572b91ccdd11d28508a2369b254e1c3f3fdfc843fa123e5217fd6c29077e37bf599043fea6f8ffba1dff1489f7ba6d7bd915df06dc09cb7ccc6a4edd44ef0a4f85b26f3ffed6f27b9c9fc5672fe5eae52431a16d7fd3ba10a73257f806626be3f4033dace6c469bcdce9dda0e4dcc3ad36a32172f421e142852a0e011bde0785b51415eafeaea879505fce1daa2763a9ee5599ee559de15bab80ddc7befbdf7de7befbdf7c66ddb0bb8f7de7bef4d1592a44c66639393938570268561e349b14048292d4656e193410b201720bc1801862dab6091330b1f16422a701a488ab09742097577777777777777777a9aeeeeee4e4724d1370689bcf126fac49f2846cc12816250dc1a6de38c1127f2c49eb8137da24ff4893ed137f6189196fcdc888adf786e8494e44cba2826bba9decd716ee4466ee4466ee4e597b7e410cbe72e5e8c10c36d418ef32147fa010a432c172e5c84583ec47599ea259447b768140d521eedd12a7a457f148b665120fde16d74477510f8cc98a580298ff2288ff228ef851e27c5c4da66d99cc5b22ceca62c15dbb33e7b657f568c05e6ac69ed149e6d2c7b33546197c9054a3387b653e3b1d6c453bf1cb6512eaae47a57fd7c4b72b4438879c9185e9cefa540804c4914e74b9a4cb796936d32d348793f49401e80f002460cf71882a7abf0b25aa592d6b21610b6a851206b336dfc31d53e3c6e2f594d182efd977bf5eaee5eab3547fa25f8d75aadb56f71ce596b8d756929b5a405f496a5b517e7c70bbb7b3f0c06bbd765fd15c4438544c85e9c35494771243d864892d5ac44695e677c6dfdb73fd63a567aff71dc6a0f6b755114ab3fb08696a42b56d86e44c97c42f0e40aa14aaeb061c91537360db27f5fcb5e1c85a5af3dd55ccf2a9ca3531c9723a493766a9d23c677b4a3d696ace4488eb5cc465e3e51f9ffffa16b7cc59c36ec08965b88bdd3096715619bfe663bd113e30638b60666b6cdd92167279c7e2ce6c08f9354780094d35718ac6903713aaa5ec3f70d72e47fa29cd120e9e214e58514c444e979b29650e374c378c6ff389d108bc160397ff922e964ab5bd6661bfea88b5466fe328823b5e108b373e8abc5e7df7b566c4f9beb79f59f58a43902ad9d75ce7a67e0a6d5ea9b31ce5a1cc9bd65a28f1b76f2b0adb8779e72e13cea908b0eafdaf1c16d2a72b95c375e28a4618c7396ae0b13d4141b65a4f478fe6942616b1c47353efc30fd3095d11a6b6a8277abf00f20575934be516b18866118866118febd6ffeff877f53dffe5bf3df5a6b6d78771e87fe57112e257dfc3027557715598a85eee7261ab88e5bd9faa0af2e23feec9810c44bb5631fe2ff33c6c15a6beda94b1f5397ebe41a1c757777777777f71fa8ef5ce7eeee3ce751218a93c1ffcbd4a741accfd1e0db7ec6073d2e30e052af281826d39d8e22a4a19f196b228c922fbf30504c4861921801b50824325ac0ec1812848d0a626c28966ef496a2ec805abd2b1f4362ae94ae6e198773dc0b54c2fa2115e98e7410dc2402012b2049475b76b297ee8f7618e1a8d2a32d08efb7238aee862d234b77a6d7048b94962e4d4ca7e5294703d77e503b2f3fb2bce46a785162aa81f1ce8bd845c68de88271a146cf09181d363046c11e790b0a3d259146240603e26c00e630038a584207dcf5ac865218b23a0aaa926def0764cbae87942c38f63632593f2e62723d2e61aef495aa2bb63175c622ebe8cc9c1d999d9aee88a77792387d3f787417d14166c2aeea4623b12657ca2f68708d27323a9205c94ae8933cc5dae0fb420483d36b4995f2358c57ecd57f21d138698d34c81bbb0789217f2ba92a96215d9458c861ac990ab4d17cc3b89be3080711d124dbe9aa7d433ea34b6369e01a443d94624444289eabe02cfacab42635c3190d3d344fec0d10d189416789523fed59a9e7ffffaae3a1aaee498cdc6aabd65a14c79124c9b22c5df75f2f721c51434814121e534292081182048035a398234beb5a22924f62598a401a5daed786c1622264329ddc0812362fd86bb1a6443c54a05aec386bad45711c49922ccbd2e52a4b927cb95c9b7cbd5ee438a287638c4dcf5a1c4751675c7d76eec139bb67efe1ebf8c607e71eeb23227623ce4c11e3518a0c37f93ca5ccd612635794eb6d7d997b5b514789ead26d2f726f6a61549e9e9e9e9e9e9e922aadf636b3598e693a99b36c43edea7e532dd403bfe4f4eb895a0d050fcfd7cf31cd1d1acd5a2adb7b360b8c36a8b4ab9ffc0840180043880084c33810c56010639851142b7e64018882988b08150806a441491c0a0dc3605018348881188401380c420010802008c449aff200702c04316b41d44d9160671acae963114820875762d2a167911a0865c12e73b78d287601c9eba7479775a47166408ca7c82c99c59216ee4cf1eac6a451e261e9b5abebf25125039baafb15f7466adc0580395dea2508f301526376890785b065d3d06a28628e5766913af163e002a0ceec0a11f61529d3eb0f8b6582271a93923c8e18491f9a44c2e4c1b17a6b6309991325add97614a911e90b1c37208cf9fabf5d2d5ec0ae679d6741eaaeed1a6df04b63bc8693792278af3a2ccf4b289d402573941a5c9322cea9ea66b68a27c5ff4a8d34ed90fbb71900a1ad734a87730cfa93e197c913d5215166bbe4ce37dfac43045398b112bb5466f2337295d6d44c66811b69a9dbd809635912b243e0caeb9c962ea6451161c305d4a8972266f45c974c9b0e5ad2d9487aea3984c7e9dfc669a9cc4db69cdc44fefb99c4219435e5e6a3de7689c3d994ac21cbf36dd719bad3ef5a88fbacd6f3e9e7358091677fd7008aeaa7217cb2feee729e7b47c0541978268f64a3ec2a48232003733fc7d9f5b0107e0d028db4ab8045ead294fc658981587d50327712b6081b25a94b9152e43488e8e551358220f6d5df81b42b57a76e64a4850b48941e4c2d2bba2661c7fe01e92ead6d5de24f01047f08297a5258c4972751b58be4b8025ea9a048f0426e2325baf4b37f37d247baf89b9bc5db3b7f78fb832e55f2a723d215d9e5e142aa077782793577b7c8670b55a1eb244b1d99c32c553cfa2eb745fa88ac00f662a6c94b1ad2ed32216589e721d1e4d512e0a46414499d4b9d48c3e2830c906e4370c2e1915d41ba929dd4a20a82bc84ba1d06eca87ed110e8e801ece3036f97d4f86fa10a689f5c0655942447f1ecce7392b20a7baec4a6d2a74071096e6a16af70ed3056fe06f69380d368330126f47a05152a94c7fd6bbb512d17bfe7bee600d412fea6bb8895620265d1a697da955359a619847a69c43bb07c3aa000695e58bd4c3c06fa6b7f7961b4741f44196ab1f2948a569c02584e8b5a88e3970a753e596901240c06173919ef3ec228175571642d2df56aea8661f9932416c3196cc1578867b5104b9a1cfbeb5d962b565b1decb6628ecb6df47f1dc23a7d0fb618f60dbfb3a07835be7df9c152dc4ea7170ba5083749ab612126e334223c35ee5fcf825127f4aed1b34d0d1d0541c530960254ecf2f83a52cc487573047c3905ee9d80abe472c71f250bbe04770ebe6a0846221c227acea11ba130b0905e78a9a12ea2e10a56465287c12107e21eb78db2c4db8b22cae2588823dcbc0a651558a7c0a356880b31c90097b0719a751f498f86f3bb4b7306f5ce3dcdef6be81bd67297b70150dce622ec17a601ed4b02ed48f5856129a6d2585457292b7d08885f983cc821ab604ce6964958592db7ec731685b10a3ce596b8ae546449e9f6c4144650ab4444f831586cccc0beeba2e8028573d86184bbd72984314f04adfea8af47149c16e89309b8d6cca204c3994f9522ac657865d21ed0655df11fe05692aaff6d7111bb98a2cf9f28ee6175bb99de3c36e7a5cd235349513e8665456ea11196c2d651b3cf7c0e19264852884c8d7736215279034c9856e3dade7bdacd68de53f218526da54c3e7da8a18f1d2dd8ea3c9c2082484534aee05a2d5047c028dd59f99cf89da3541eaa9a4a662343d99aaa6b1c7e4b36a08394e00ad568b7a995fd51ef1ae79cddfd956ca6cf0ee7584ee1c58982e46502c4dc0db253a57da75bddc3794abe8baa591b6af7eb0b332341213a35a223e8aa764b364b8da5d853b6295921c9e3f3a778814b53b844f0ff250605d5a80157a5a931c7e0cc388f658870c23d05d3fb28476f9e005a50b17bbd86d07fc733ff41a133124f21c4c95cc420cb187ca12f0e79cdd8d02cb6b54b10272f889f7d1bdc577192e12e8b20957eeb2d5987eca0032a3d46e8b3001ae20120333693a842c1e93e30e43cb72f43e49dca0032e4b3af52521742620decf76b462e6d00136a605254b3ca8899f1fda07b1aeeeaf5cd3c27af5b5320495969360453ac12a62477ba123a04727218c7ac9f538f67bb043be84ebefbd40788ba17a7764af5c97592ba9230b26b60b9dac852aea6b3dca0d58c4fc506aedc5ff8008defe5e9bc9ae0915b02874f99c15b8478efd7c4c3984c4a8a109f302c1c28f40807c94f9c72155fb2a38b9d40f7f131139f235e3d4b64e96bb87c569af31d98f7d7f2c8af578ac93428870291b33a3555c3d160b315a48acf9a07c01abacedb7f55a2366960b9e510e3e82c844648b7f9588764202b73418564ddd4e932279bf19cf64038745fcf202193b61849ac6694fa2fa2095576ecd152e77b4d90d74281f06b178e8f35286a562b5543b0d0761dd335f05026f9c8962d13c1bd5506499060ccd0b149aefaf8add3114ceb5f04453b433b82fd180f809500a297d32da3434827eda3a75f2036cb9ceb63ab4e542ffbc14fa8bbf1645d1c6fdd0d9e7fc563095aea95c3e50838f45cb97110bcde3a5485ceedfaf995811794f2d566138cffeec621db44bf7dfeaff82a3154f79874d45a36bdeff92a4d72fb98abc031baf1066edfeab08f7d6a8c1c97ae3ffa52383a8ec33922c6787db89849d856b72c438b0445a3e240afa8a8fc1709af822461f6c1645d3863510a3fefa5a58b78803323cf81d0174d3b2e8bee68321123bc48f760ec538d0f21c20591f610e9e03c1139fc2664ca11a5652a0ede1412bf5bcf2633692b5f07d9b8f1fa2e3f4bdd1b94680024f78ad9ce7188600e7420033c2511cd99024d5f603547248cdc8e46fb7fce0ca1012930780a1fe08253628997a2c1c382f086eada4df458c8c2599ff585c105dc182c36c72b3e759ee0cd38a4a19810ec0c2206ef2a68f5d21df9507e84bab13ddec44fe88fd99aed6e97f3f790d9756220ec6b68f6de2ea04100ad852a98d8247348d8b80601c7362677d2041a4cb3c5ead00e9c07a914b1be047798aa4217690ac5e3fc6343bf683fd0ec6e74ef8e8086de7e92ddccd5d484cb696813967d6c7e9a14b04b3b634b6ab729ab5022d9b2b9c7978a2e3e29f6bcd1fbb821b59e1ce9e663e27d1be6daa97dae5f262e1da2725861f10fd9de17fd1f8b9071d215c844259457849b7844d4587535fa096e6719acff3d6c97dfa9c4e8aab2732e6ac7f82f62d3e0af3341524df9127ade3c831b5107ee7448088b080026a0e708e4dcee4672943f0cf52cbee3743c431696280f292cef1ac7acdfe5e0554d7a2a45cb24444de06bd1a8ef89ef2477c3cc4d68f52f612232780cbe16095ca6862d8c97fc3f2cb8440f69b3f7b5ef3678aa66eeb6a7b21b5ccb3bb930048f5b0dc85c81bd01173347890949d91cfe412ec9db0192147ec0c65d52e36bf1889ff7b4b60c5c62a304ce9c1be87abac287ef72ba33ab080976713e32ac7e54c99cd30d3304a79c24f16ecd29d16708486e9c2fa6825dd5e4e9d10cd1097aa133b9eeb626f7c3a0f69d7a2d4cb523ecda32491986622fddcc9922b8bca6c05e3776fb6bde0054cd9b21855737fed772ac341b50f6e1c686e9b8718faf444154e96560c754828f602ebaf274310c55203c1bd75eb60e56863f75fb1e8e40f112fa2009164627d4be6c789d3313f4b51bcd61bcfc0f4681bef7839123e82b8f91b5d5e997d3a2d022ec8a886d6ecc9705836a3a982089484342a792fd271fa81286c2ddfc23c11e1505b838838eec28ec9f79fd5a40e63f42bb6a1969cae548d53468d099394ffc269dcc201089fd960755e0837429887bc748c72b33ecce5c126c9fc1ab0424b54e86d6260e0d7248bdf743846f42d040111b70cf6696947d7147e7a4577a137b3dd47e025a94208ab87bd6eaacf5ea1f59759b72def4c2a1b507167a7f26a6e55e8d1c84804f603c1dccbf4dee713a6c1561a6ab6c52048061aab14895cf80e1687307cffe1d3be539d9d0359d773fe7989b459dc79a4d044130933b6d16491435aa66e481b8fcca77bf022c2ff980b9d123c0e779d89ee6f9de1a95e6eb5930e751eff8281c2e9943d158a817d2a33dcc2ff3f022bd9985888d858a1015c3f4faa3051d079c790872a0bbcdd69eafdb2c32a654f93303e126c91f222a2e15bf00266522420c9d47aa6e72abdc73f2ddbe9b270b4c7a44bc29c5886f342b486743ab90336b905e2028f77a04a407278c5fb2e17a981d088f4e0c5723902ec76285413f7d4c0ace2b557e7e302f0a1c0d1e38a27d1a41937cc18eda7393ada15032a725e312752feed053e9f74c823c27b0ea1131feb060be58d2cbc520cedbc2074524318c1ca51b470b4288853bad81b3f0537cacbf3fb04694f3e46ae2e01fe90cc6b580f4a0874dbaa74c9e62a3a8368012964bfee1455c4f2dd03083cb072b87d816274aa5d2f1e088cce88b0f1e29c18d01daed0a196a005336c0206b503b5e467801a1e8bf97c3e4b15f8fb530862b3415913f21319ef11515d31decc7d3a2a2cae2bf84773632736f64935f696cc3b866763b8a493bd5a036f1daa150480af19f90123fa07ae1ffd49ec855a1d4eb401797264a5e973680c5166e00792c8047e27467063554140d1d47cfce06a06b6f32b36a4a78d5de24c632baf07aa51991dc24e1035e07bb676d28c29f11c3abb16511c6fa86d4dff4fa7a984130cb4250d4a218045d8f7f2ab3bd6254f427420631841e800d5daa4e52ba9961845ff4135d9d04c6c019fe1d4d1a5cbbf03f360f07c11b11fd12964c0e54cfa3c12f4c99032d5e0ea880633a0ed4bf523434f583674d38d8cb7b9bd9a287cdf8eb8c7d8a7cbdc19c68f00f8e6ced87f8fdd04368d3c33ab34658b915fd29d3d8e77a5db361926b74b15ba9381c1aa91e28f4323b5d71b012f9e5c8be50633ebb1ce8149c9633a2d6a6688668381042998cb6e980ba86266ca5f399494b07b558ac86ad01aebbc8af6902865bac1ae0891184a9c352c315a36b84f9308736dc3b9328364ca4986410fd3d0831469c867488ffbb6cea70cbf703bce614ac21c287af4796cb1fac7715aa191053d49872a4a8080a913ad1e3c8048b0ee52158e2637514a0bac814f74bfee125a8250dd03082c30f5fcf10d7cb6ec5e949258c92c20a475f7d709ff72b7d2f3f882e025b545ef20b2da27ada008f837378a5a3db1016bb57b3482d92147b919c25d8268f504925bff989061c98e46a898e56b801ec98618de264f33702f6141042edc75c7d9007554aa302112ce6b3293db87f9d92f7a854959d8ab59a57bc88ea1e5738c404f1803b403cfee3be5bb8d40107c96ca0106354976c629aabf4db879321e953fd1f5362a1dd56c6ed98ff050670612589dc1c0f47802f23a6b60bb23e1f91633ae1539a7d88e2aca5c72d5a226a5e82d8d11b1571159e83885d45987e3619750d02be603c64cfaec939249ecdb77b88d33cc3932b421262b760515a8aad2a18684a64beeb11239789812a555719702c16fe0c5c8b1d4855d85c3cb428da6f0d561a211abb14ed4d5a8c9391e448f7c287c1d8e593f74552725cd8768b7b0d87681297ec9b0d920a2c3e3bb28a2c2bf265f18ada0c9caa6218173411264e41f943c128910e6b27942dd7ddcd4b5769ef3082ddabe00300e309b43cd4188c6f39cb5e56fc6d61e56b0931fc9e99a73111468c45e7818a1a3783a6f288014d212053a9f58bc8ef91a9002129980861d2842c047192134bacf9caf6f0091655131faf29d4d7b750db87159dd330b95371c1ebf97b3066d5c315e7281315cd32911017e7ccf67b8438048ab89350eac9913dd07cb18a2180289965a1152c977d53794f8d136e2f36228758319c9d7c932c14fc2c793fa496eb61d921c2d33ba070684a9349a89dc7ac011c7fbe49b57f7a9d56bf1313455920794f647782d63b5084a9a327d878f3bc4ef13038a9b8c7a27fa7a3a21034f3525ae7d48e8f2c8ca46dbcd2b6c6dcd8b1fcd9d688d62a76664c314640b7baa46d0ab66c0b6b842bff52f0fcce09ddcc9a18208807499adfd80c49d25328ad2ca48d804150e7eae0a8ccfc9091caef6204623574027c51245a250de7e48252c7790dffaff252a22ae4e909ba4b29727d93e5996d34afa17713c9df775653b87db7c3898dfd18e8648da63aea1d8e248bd63c329e654215091dbeee84542565e6267894fbf486ee7c88810ac103d0d0b7402796f77bf324155eb8848097a55c5463f25f87315265528a45fd41790003c02ce9e7ecc129f780154ea4f30189801793e4cc39e43629200d90e52b619da21634719bc561156ee0057d6a93b6549fbf8285bbfd2694d4123a7ab994660358056357c39efe782642420a9ddb341e47a52a08f769b83cdcc24502ce1b9e4e5924e092948b3ef7d1f5a5e780bc163d65a75f4cd06dc83369692d1f38e953e269c0b8fdab4b06e19ddce52033990fef058b61bd1e734f222056c1285f25a59dcd7ad784fb6e46aaf7101df58d95b8cbc67a20fd5fd3a4ade9356f119bbe96056d625e188c7d14d74bbdae7a1aea11a2109c5f6a6b7a19c475c2dd012ce3c64b35eeeb07f93b80c7061e40c30b1e4017b7e641292b4c1aa35eaa7bd694ce49b4b799499e96b37fcafab8bc4c5f014cf511bc8625b0187434db322a8c9ea0e5184db05f21f6117b23fd3022afb3e4639c0f98bfbff645e3814b95c29ddcc4f39699a3426cefba57aaabe584bee9dc876f7075124e9d3d0c8ac8da45cc16ede7e288db59e1fb6da906d0b219b22f05c51493b6a7f61279ca5326ca047d610dbb7928653f7d355d512521e945c46693014b8fcd5c94ef99c22253328d2f5cbd5b2d871acfb50f564c956a77690a8bbc4a45505e18c7d3a59d6b7f68b170b59370e28d0fb532477c719701f2319f6846853631f6a09744c1a885f5d6e72cdb258313862ceb00e3c2fadc87414a4a7a9f6945d001b71a63bcc4c28da3dc64c9a0a7e985625a38b4c92e4558bdd142444d2591469ff5200645218b300473300b5a64010a6f64f7cffb459f60b5e8dfcbcb5cb9a8c6004d5f05f0182ea9697cc3346a19c0391b42d54fa45ff000f92b2da2e975a216c578d7ef9d183d33fab4a77ec1faabfd02f7bdeae3d7652cd19abba09513ea82ca49422fc5c03de3e2b9339143cd2bc60a1c3e2e1e40164b3cc43aedfb8e73b531d37d50ebeae9142c10e9bcfa1da24a8d76c9c4f7ea6f304d47a8bfb1d5e7620726dcb04ea554e92a076ed1b08986133ebffc0a0c0de00c505d314f86044e13647514456dbaa161ce71a6828a673fd36918c4d2c80ba3c060515c10b757f912b6fe42a4ee6f24737560038ee416a043f97203b0c49e2dc44eb22f14cdd8c25de0f50e103d812ab6ff9cce9574dd9efd01ad7c1847b6ee0f9d7ea9cb68b35baa170a561175adb649d56bb581e4ac172320da6f9d7e09006f8e382ba35c334cf64fe42faa263c93520247fa135907a42f682607ac95cd47a9a4a893ca6b5d9cce48005a602163f6e2f0e3a9450bc5d6b1d369a10b73cfdc5e1438ad7cedc94f22efff2f122f505726672fdca4de12697ecc224ee8d68afc407ea55ea01cf225e41ea7567b1a8b791c51600f4a4297eb44f34c16b038937140b2ae783fb6f5c7f91a307d2dc136a0edbda33323ddedcd51d5b0c43f824b45de26169e6ded793c099dc7dd4cde3a8bc3630b8532691e81e53c8fd345154b517e3d375816c418af12bc9379c729632ccb6d058136eff076ff1e7bd6b75242ab341935b3576df28ad0c744b5eb5f657fa9fd0f954218f5661c78ad905a60d3194ef5b411955a41071c18377baa72dc27fb2ff19b650435b044cddce0440a448b2e2379cff7cd9ec28205941d7e9204257dbab20cb53d22a73c9033cf00b55ca29819481e21b7936498c12ceff5a719ea5aeea7f18417e46da52899a64a4e9550d4e751174073bc9c63c659e044bf30ba98f4540606c05faa706cefca296877b05adaab9e29d97de89070de7b024ad7329aadb146244dbda69acaa317f168ff7314ae9b0b4705f52a0c3344a885d0812c17c9a5c8c564f50920865260e355a8be67a2d5712a02d9c0cc20938452cdb7c8244402af06cf07946412bf816eda9a56976e8383dde911a2f5e6ee2e804b11442eaf7a995b746bd9d06df2b98e90e4fd6e752ec167137a093e073e4cf09515137c93c8290bc71430738e26a2d8a12c312d7b3c25c61de33c4020efd5268dabfc7dc6d8f528462510466fc2c5cdc6086fd0b1fb9e9287ec4b957f9fa2bf2aec22e957f49865b3d26c3f95cad9901c91849d7a83dee79f0f9cb24ad5ae3a34d37b1f5ded35db158f35f26c496e587ea755428c4a0fd2e35fe18dcd94b21a483e64ca02c9a2edbf48652e860665ce6b8a405e0658c48d6cc750b0d193995a25469e953d6b991a0aa84b5b2fa107baaa255166409f089dd29f017b4513254fe0eb67ca9b9182300026e1cfe5db1de1afe923949dae4b141c742dc2ece45c4c48761bd38042621801182d4c84f8dba19733790b390739ad062b8f462d34d6ab0211949167c015f681a9b4ab5459d5e6ba0d0c9670d83ea2f4e31488927c4086f8105246bbb6e8d0a23a818c3b241c3a121f556101563f2043d6421f49baa2d67ee62721fed4a020dc9a1243e8e75a52401c2e1da1c98d65200e96b78fc868f1107f02f5c45b397798fbfa5b0fd4177f159c8424778faed7b20b7eaede1412342be94c8651948be92abd345a856336affd22d86aeee06a74cfc3bdba51a56413a8ee0de420a0d93260ed259cba0f2f996b6d83f1b3d0923b5e4842857ea4ae668c86f1cf66090d36f5ae5b0068f9d83a91701a82f831b5693c01b3d94907e1b2080d141400d40e8ba7faca0d09dad2b1a186aa801a0dc5d294ad9ed003c0110388a780e6a01616af109fac8fde8790deb49d9005a0050d92afe4bda00bc5cb06e03f0b87bea3bfb012faaee1d0bbd1e0f01f0ceef7cbf0d6cc06e105dc82bef9c8a090d000d1aebdca800b95cb8003ced183daa184f00d04cac9909a85900fbbb48a8d8b07aebfd0c0d0902ea1c0e0c130951afbade8c2e90de1be8b0ca08cf01909d89cc7c00bf1de80d00e05d3e8ffd90aab830408cb979f0afba690800ac298a00af4aaa0051508ba8f9097cbd00c10a6131821069d98b8b4a009b6b9c002f0070395b4a7a4a802078ead10feac8bdb10eeac80faa8d0980f91a24044829119d719034210083a010b132004084e2102491901112041117e444088a73e668b3b22e0889d958269b2b12ea16836e6fb622928cc01918908434a9619aa3386c7a57d9363c12c8e5e044893fc0c9587da4d797c0890740ed340d39ca424b9e905a5ed96a927a9c06afc09d4cae75dc9439e2b41673e691dee69a493d1d093b252b8acc3f8a49cc59d262fce823370ea2073fd9068652485e6c938f5e931365294efa4c4834c123553e6f829b6cf624cedfc6540984ad31b84ab24d3516c857e9aae6ea9d2d1551484e157c22fde9f3af8beb217b3e9b00d2be487e38d4d69a2bb25795f91d6e5924d39998d19993f2471c4360e2fe04e96ef6025b5797b2d07a95c5a80b4063ee75620d3e8d3409b22861855eebd42898dc50586da23dcbe83208d5f82773bc6d05da95cc9d3387bb1e2cf4dd09c0c6fac388d91c64f29f2aba1cd69125a1a7e3254e6176c7e4758144909c1385f1a89aae0091a64d0249137aa510eed05f03964234846ca167dd2eeb20418f6e2a40b2a68e7ffec5248f88cd6bc631a873583178c72022a868d564610706c75cc7c39e40f1eeb4026589aaa862c4279681468159321c523c412eec9e5aec2a938871c4238ee15b0feff7239a79c644e72062c1b45866b9b2a9b94322599644a29c9d5051f05720536ee78159ff9fe64b8a12d4de7f4b4e42cbf59dcfff06532bcc561177febf1234d75b69ad50c73148ab6833a9af968ad32d3e7fa48fc3ea364afef5d9f6dc57e2d1dabbb4a97ee6279dd5dbe744b2e73e98cbff71e50c52b08a3022f4fd448a668fcc82e057720fdab3f52fd05b71c1bbdbaf73eeef5d7e6149973ce62964d5829db583d887b5b1bdd488e3f26d2b69fd74316f1e5bf31efa2ceb0661df66560c76b39b9a6654f122e73a2404134af6043c414338b986011052739f7be6dffc73423993fb7c6042b5d2018c96bf90f7cfc5ee5a17f6720501994cac39f973152904996a932665ddeb7b551f4eb7a4dadaac4445cbc17789149f409e5ba2fdf9bbb3d72afded5f3d6ff36e75e940cccc0a030ff3c64dde4a0be5c2db5a330d9acb5e190bed69e5dd3d811ad76cb01a0fbba4f050900a41697c3316961bbd902f0d2d65a0ca698d1663a9e901dc97040b183c56058bc5e2f1da755f9eb7379b3f5f9a0c4186850a2256ec2987becc43922dca2ca0a1f90f65c11041f28baac814344091c254e08aff0094ae15d137069b12d1c43755537b8d2d3ae038972340030e766dac2dfdd1e7f1b0131fc3fa6c873ae9188605c3bc400167ea8a3b8127a0da4fc95c97ddb4ec1818586c89bb78b1ea19860030cecd09194c08d1a07185000013278315eec3e12ced6ce6430cfae29facfef7300020926a8c0020c7a68b001071d7c10c208249880820a2bb4f0420c32d060030e39ec0055e44854920514c88103011b3d1a3306100046003a0072b71aed28f672b554a5a5072260a280c7054d19f8f801c40310440852c209290861c105189c66a8e186271d86f0f0337291fc9bc4892824baac234664706e91fb5340498487d9135043b2eca0c38e881c9e625838dc20c11d1b6ae8c1868619747264708a5911030c1268f1820b16bc6981851c46561052a3a8420a1a2c513801812a134a606a424210d908225c3025041076a4f9c00304a83a002286831f35c26ce06347121a642081a11e4d3b2c185cb0c368010fa61f2aa0c06a02a61d6a2488c087068207921a39b05443e853caf16b40fb30beb61f972457c280f963268fc0f281b1d34003b93848cd162cda74410409460c117554161105195840a76787026e74e4b822094705841240a04713376cd4a85283ff907f7ebc460d15e644897243049d2a5872c08245212a54c62d07f49216194063c7960266c4fe1030800c8f8c62952e43468d0c9940808c68796258844d1945517c283a518500352b62c0e8f222801c45763a2e1f000bda20e5745be06e816cb5db919626419ed9510d30b258054bd84bb7c7bb6447b6355cd5a42e52344f1e344d1b9002c492234894094485c8133d51aeac2943461155e735acecd81d7f64623a1e8f47f63884a9c90708412e99a71fdba384a162b3be89079311221adb20a25b47c4cad77fd726fbfa91d3ff036f35a3ad17fcaefa5c3fdab64e1f5dfd068328276acd5dd4572c1d20a386e12208845e5203fb412944ce5787a8d4a775a6d8a481426fa030e0a591d703c06f81266815c3e08e28590c17c19b024224483f1d557ab0b8248711322aeb939b84a6cb1087127d4c50490271b855ff0111b873b25946dd4876384a1b7d92c6a91a5f14d9c6201a1e106505f29f1400bd2b534b038e68815102410309971248290530a1f5189dcc682263115047259345308801ae4e26e82f28a3cfd49257682d2aa7087004172d3848a9183da8511861406995295414beb0e293ec61006066524ee44e0b301ba1954b746d5ac5f317e5f6c1d831d3460300664fc7b37c822269f10190fee5fc207282b3e23cc2e4b6746203b3851563edf7a5d87271634503722672d0496e560c52e9c94752b6205c4c82caaa74424623502a4667310a0afb125bbe8c322c4a8fa74341065d51783446214bc80e1eb68a89fa18d71eaa140dd526a892fb4ba348d14328dd0adfb27472e35ad22a13f9040d0383a38354f612a91fe513fdfb9d73b819294e741ef40ca25ebeea467ef086cf8bfff92d68e1c427200dc587f3e2f33cef6df58aa60aaef599c67d6950eea226a3f6a21a581e52394ef9d509e8e63bb496cbf568733ba81b94adf551f3e6bdf7de7baf9337a6cade6add22c16b0499349bfd88b7ea1e87b7788dbffbbb3a9398f77c8df667b4568bd6aaa1b9192d1d123b408c7d7f64964518b02aa7a707f803261b1c4ebdbfdf0fc8444a38cc42f452ac0282a7736cde2677c98fdfdfbaf9fe7cb734da4cd7cbad5e0f2035f4b6cd2520680bf5a305652e01090a87c45bbc55bf2020fccca4927d9d495fafd70c8763da47b4580b9369ad752e97db38970ef759ed3d94ff5037085a7df18bf3f4867ad57bceb9c6e1f4cb96c3d96c1f456b2acac30df92c2f0f87ebf173fcbb6a3d7cf86067b3178ccfc62ceb2fbeecd1eda665369b676bb095d66a5fb1bdf7f6b76fbbd96c37d646f3351ac797f528bafdde69bad374fbedf7da3b4d86dbcdf66bad8c3b804fa0062fab340f66b62132a49c6e49884e87dbbb56866f9bf6bdcb75f3ae1e3e68fbb32dbd6ad9ba246bb12e7f6f0cf643ea79add55cd75a173f62d99beb556bd958dfca74d7bdab35d8c5e158178eb5715d6bbbd69debde75e7baebb4ffded55455511545d1b4b7696fd35d93896cf777b96a6daddd71ce7b9c7fce3d6f79a8e7ab8aaae9effd6653ca5deb5a5d4d67b3dd94b75bce34e270ffd7906a3f87e3dd8e36dd530c5a54abad7d34db1db12eff9201a1f25a56617adcd6c3c12e8e7f533ac65e6ad168f3b06215992213250dc4ec8adb242ccbddbe7fc1d49aebe73eaec9b6bb35295902052da240e06adee24b89a5a73a922c433e854dab2be6a229f2a24739fa391a6bdb5a53ab556b69b323594c0892202d33374390e389a1716acd2ef6e59954255489c949c97844265f6ab1688cd941d266331a6c68be7cb31d6d777f58a734c3b54847f746c45539fcc3c1617199856829e78867349acd76bbd95caccbe572e56e390ec70e13c76516e37049341e83c1ababe055f0eaea78dcbcf7355daeab9ab50823c1401cc4525888a786c4554dd5a0ca6699f660ba85a165babbcbbeecdd36949a0ade66b8281c526e1785db41dd765f6e3dfe171f50504f4e3d66b4bc9cd186cb4c2c569db7a5cd5c6cacf56541d60b8744990ee32ad95228b50c22537c9428ff9bef524e3af670ced9e41a042027b820e48f4f4e916d5b16a93cfa33db11cd9cc9ee4d626561201622954bfcc2313c5e8848a4edb7bf56c3e16ab6dfb23a1bcbb66cfb6fb8db16315c8817bf8618060cbf86af9f15ff591189a8c991c92b2c44598b30ce824422917aea2091c8b5a66db6f6c949b5cd3e326b96510ef49cfddf87fe47ba5563b2a3198d6fb6056b5a7fcc7f17fb652dd6e55fb0980e07571d16c690c8e20babb5da6a365d6bfdb65aad56ab793e9ef33b4302ec25f14bacae47900cd4bc26f917333003429e805718c4e97783407c98482fe749c47ad6d2cd7afc0c8810a17d1f5e966847ed510119b3e9d6a6f107e369c8056aacc4d4853213dd6933e5695782c44b461dc9e469c8ef02f34f3b6ff13a47b169756db060f2b908b060eeb94da889e41bdd1fdd474db399d69a174488d3d30f788357d8d49b612279ecf1c3f0e3f10d25a6940654fc32f83f13cc93536c71278e1659149798c8a92e59591c097304158ac895e55a84cdfbfb47efe967769277a2ea10ead2856d8c192a484c2d410288251fccdfff36afbcee787fc6cf4c6cb99695bf6d6b3d9b7963ceedb65c2fd5c87ad88d29b3a5b5100369525ac20cec98dd66ba2f887c66143e333985940fcf6e14eed603c7f795cb6577715c2c173684a998371ce6f133f01d377915fe3708c88816bc3a1afb2041fe64900222f961d3aacb8073d75ca38d369eb764d7061ecf4f7dfbaa2d57590e1ecc26236931962f8904a6c23c145ae5cc66104e11718ecfa36a3a41282928892d511c7146811f158c8650a3288e984ec4aa99a097c8f29e85284bd1f04c963655ea988d0ac5b1e247092b647ae858fcfe41151bafb0c11889a7e44059955d143204264d22334b7a470c2a224d141f28c42bbe226e65a236ed343194f3e90c7ad1c25eaf396d5d226edb35d9c44fc769532d32a9e461f596494664197d6849d539667c2aca4d1cdbf73bfde4ffa79303646d1a31f2330e1fdf02c39616aa69b6bee749495a19868abd7a9c73e869775970d4c011746402cc91092daee2dc517349a6f287078a1f95952b96287ae1e344986316374af46190ca0be7c60a8ddb36e383952d892a6a5cc9affdb8358681d13cd0cbd10c092bf3ce91b981992b3762be0851a4ce088c166d21051c435287ba951f84301ac8375de491a1ffa6e93e330f9f7f1e93142444a028314cc09850660916a5183d8de8f4217246f78c416fdbe60a04201ad7c67460d85d4305ce1a3f45007178be1257be3a4b7c495a2290134936564c4e8cf9058499d46b37735c3e8e4051ab349ab864027ae3854c328d324e2f892e0db0496deb717fd2c4870d825ea2858148a63008a961825b9d00f7919112a9163a3d81326faac4c8adec873426da868e3ee625d51453819cbc19ca31818a4483a2d0d489b2d2ab001369bddbc2f37a496e14edce25feea231e195909156cd2ca090d2a1e4d6a883a7cb85512508497d8153390f8c5b4fee76fb1bcd2ace2328f814d55ab692a61d3345f408c83f8ae00387a338966e9437d2aba756c92c5c32219b1c80b0ce2212ea224f8c49c124bf4c21162fe8cb132276a090f3a59c4c90a22111009fefadd582c19c3a248c6ca78e5b8a8e42463ae241e6512eb6afb967d70d6143f3fc0fc27a8ad08f7902fe2c44e5554055549f13ee533b274b2bfe1bbf02deffb0f3bc292459cc449acc45878c9d2e9253129f54ca317fa219165896c9135b24276c80a55414d4084043191a6724dae582ad6b053393d017fe6f29712d362af12f2453dd87fc0a0b013fbaf03fb6fd3090a89c3e0106fac9db59141acaddcf8d772fbbff7cfd28fce7fd75544fc91ebb40e4be797cfcbd6ff96f75fc517cb22d924ab64b1fc24af9253983a60c8d898957f947d5c58620dca18eb6a896899bc5977d1cdc2f37bfd5ec0e0fd2f616c19030f9f75a4183a56ffaba377400dc61ac0ea9d012c3b438a61de19ab0cc725500f7ea2b42892660946ec4289925013241af58a31f9d7fb6bf4a3e74679ef3c635e440fdd5020e3567ae4c717687ea71dc6df340e31acf232251e15af9a9857c57866eade6b0aa17444267deb7fcb53626a02823192f4ee705ec9e109a9fb2f5693a7ba2343fabe7194c7f95088a721d75825072835554544f70ebc834aaf4f59b64e4f3f604bd797745fd799d226f51ebf3ffab4eb9eeeae8737b245171e17d28fa7b151cec6f7c2016131261e4ab2dc8ca35aa31b3313d36897766edeff7aac4c0950058621d91924e6fc9a3f739ed5308c7a66af970468cc1a2c80968ab6fcb95202d8258912ab27cc6ba6be29b21cf73575e8d6e5cb04138f9cabe0d4b79fa70fb5f74c14a6b943779e9bbccde3e70039d3861bf253664e9ac93cff35ce3a03423429793d61287df61924bdefd4a6ce99f725455dae578a5dd976e3b6b66d5bdbed66bbd96ee8cf2bea7a71cd39d7afd74b866a1bbfdd86701fb5d6fbfc128ec3e570b15c8e6dd15a5b6d3d9add68472f15f6713f87cbe570b91a5bc3e5947239a59cd2034a35a55c0e77b3b53b1e0dc9ec68179341d01483c21b6fcbee78fb9bc1b66f39f3c9f58ad5eebdd7e9a906538ea98f586d677a36635d33f6ef9aafbd7ef817ffbade8ec600d7545e18c22962102147a6e38de38d1be8ff3ed3747a1a82041894124e0d894c6c9c9a78f4a3d3b211174e4b343881182ae647244e62fde5bf0a748fa1a030932493411886ff34c278eacf55f1af55b71e6a0ad582c278f9bb5956432372f20f9bdcdaadbb1c5d3c54caf746a3fa4ec8e628a2bbc44324bcbe4e2c987d66b87888f32ccab7b98613fea55fc5ad347dbc4d43e8311e1b40cf9337c2787e79fc6c5295984c2ce5efd7a7cc51c7abf7774e82792ab1965bac4142684a14167e6e9689a3053fca34798c205124b574b65524422288298ccfbe7dd17d9e78f7a05d3863ef5d26c6f8320a820ddfd8b79aa31ce537f30047c5b86faf33d74b580fd1e846d5bfd59da6eae72a4ffbae9f9ff7ded3d49b3cfd3de59788e661636d25b5c2af625a53bcaaa52bab38f12d6550896e28baae42aa5159714e0a922897e0554929aa540aa27e40a428ae40f50722b0f0bb8a4ac8b34ed82b5efbb01af21ccb9175ca9f571acd8a78824bbe2ac67acd19898e13611459acdc34398ab5ce3d17c67b638c33c69c7b7fea53631e4fe68cb7fefbd459cdf96adf7e7ed153fb645c57858f8c7aea8cf5e5bb8faa675786773c0f73e69fa7fb9e2947f73775d6e72ee5688bdb2847d3def3ee3a679e7634fd2947354fcfdfcf233d43794e3b3f74eef3dc193db5ee775d643cb7fa378aaebc5fa3553befa15a6fb5f316b7d1ceb9daf652de4f7b3d45d3cc79fccb74db5519effc77d53cd23394f71b352c4b558ef6db12d20104a80813b92f7a6ece79d7e8001cd51aed28dafbd75da3bcf78ca22f70782bc0bb06f0dd4be2dd6f006fc60c1f4eb9be26bf62e4bbf7160afae4951d023c8eb50c1a25fc123a5f22da34efc55a67fe7bd1bf4f746b7cb5ce34535fb06dbde71cedbec77749e8cefff6d6c33f6b7d05c538e7a3eeff8d314eeaf13e189c3557f57ab61be5ebbd68d49b666d9eb967549ffed4ad7b9f42dadbb1dd1acd1cf7fe9282a2fb3c6b305d50f5a9cfbdf7de7befadb7aacbfd3ccfaeaee7da5ad955ab4f8854442a22154c08aa17192a2215918a48b5e5a7aa7a47d279aae8be67efbb2041bef206f99ba3377a28ba5114ebcbcf5d90194a1e8feffec2f22ffeef670a53e3716d9b6a55b6f6ce51cd9fb829288809268edecd56da794bff58d5bd87f6dee779ee33ef7b0f1dba57786f2ecebd87ee3d94efbdf71ed258aeaa469075ddc7cf73d5a7a9f7466f51d0932351e1baa72be6e8c7a8da79baaa5ef4f85f451bffd2c3c7f33aad28df62c39bf0291a30ea045c86e820ef1aae3feff704f7a47afe74bc1bb53eb91edfbc88307ab9691926937a9eb8b2081b15d1cb7d7246142730a2aafd6f6c5b805b82beca459c80582cc206b9f8f8564c1cffa1a45fac14611bf9d7b20da0377ed583c6ab4db4b8f034aa0e85e760542a9ebd72c4ef2184009204ca8808947c62cda2fbafbf17af387f15ebb6be389f2b6ef50ca144b56ff36cea8c31ee998b364dd33451dd89f1894dd33477b8dd9d58e756d6444b0abfae9e0c33a3494d2a4fc218e7f5f37a3b37a9f9e4ddbfda1a97714046eadab6d5facc3e7ceaa6acc4c202f8b6bd610202c03e124cd373dea4f2d69bc8dec4418b03152405e75c7662b6c98561082fe5e1d9ea34c6b7118a26916534941b49e69d33c80942ee777afa6d60304aeab29962d01c375757d68c59406ae9a74b9e21b090211651acbaf75ee51f2c3b674e0ca01f9a5c31c1c61091229f425c8c49a29098385982c2e1512516f71a236683fb9d279278c0d4bac7488f7a3b6f9277acacdb27edd4f0f1b34e1a54ef3a527c7b67a4112791503446fa88f4db039b9ca8e48a37cb0a000609637700181206822449a220062124adb40fc40208045d0bc6e7b180202c88512cc5400c03321082218428430861c0206618b21d00cdb1abaae73ab8dafdb7818fd1b7b4945d41acfae5e978a2811abee71c3524c54c4a6943969bd4028480528bc7adf66eee8f0a87eddbaed619758f9b9eed6b354e7f792a0b8ff448fc367dfc97cd890fe762a8b2ccf1f473e58230a348b2591bf0609b1dc6b4b2a446af51ff10e2ccc755750a69454ad7e9db2c70f96ed7693508f39a079520fe426056acefb0769408dd4a8890d6272c47cbc4e52b69192d93df2423e55ab1eb89a6595f08d486148a04552b60ec6b2038ba48c341e8f6391ad2feda39db8b8ae7cdac90a493d4a547df36a1e1db5596a6534846b6ee1ed6ee92528ad7fc72dd1c50c276d4729be4e29e287aa26e9e063e0f476bb8728445eda8247ce70db84aa832a63b112136d3663a59f2efe86ef631fdea796aa6e405990eeec61f4b5e09e6cc7cf3634ad2e946e03a1590248170030a717b8ad412ab1ca448fc7501c7c633636dd0d0f793a64388c6b3582fe173e972e5cdafec03991b820dd6a8dc85739ebfb4294d7e9b8a6382a7521b35806d48b1189704baaa48c29b6450f981e124b326ae7e24f1b373110fde9e3246af966f95622b956007d4d17303cf34397a5f557614d9fdbe7f32892364e0bab1f555ec1715d03149c015a56cc13b3d853c1df08b9edd5e5439a8661b90047da62c36d2407bb2039bec0e6e45e696ff6b4aad6e6e23312029bbe1827886286e3efeeb307817225551361af999e28dedc718096f5449232b81d89df11fa062fb90c83416c7890fe53e020578b619711a570201217922ae29307424be27da2e4948068b4b8e736d886385d6c1a7e68335b49ea3c5f006909d0b7091e9633ad439bab0ee6e219ca6a6c45da8c8d4267a8d3618ce0d5586635d5133af2bda23bba25fbbaac192e94dee442b946668da12b9f7728c72fce24e87605f2ae9372eb7f1f9c1061373e07da581757dfbbc5c1d0fd41da94912bf20b6743edc1f6ec6860dcac83721a811c89bbcb7f6ccb57f2a5335b468376984699b665354dcf5a38fa63eb99441c84eda44e9a7a8cd85390d98d56b0b0ffe938aca9c0ac9c799963df1eb7e74c24fc475af4329731c79dd883b7b8a8363cee0967a8e215ea8ff5b93c560d65020e70be3304690970c5550387edc24955f2e0e0d782de4ea1f5c82f70100dd3a62190ae69311f17e6e6eaa17908ba8655c77e0006966b1aa9a1200910fee557fd14debbf94eb35a8c6d5a60448d422e4f1cf1e87e8d6654ac564d5ab9464d360282cff0b4bae6ce5e1fb821eae899f8b5fb05f5d421de203cb7835ddb196e5f5bad3d230248a4f124eebc41e2829c5a8a1c703003dc668556b77f36a8530e8d5092b281a8c8b30499845b2ad05b575c005397e322c684299ecfdc626207b17859d6d41e00cc0643b5d13d2cccadd470c2a4bbc5ed24a5aa9561cf425c492a019c9b59aefb1527f1b4d4138e3079c0584a9800f96774dafc169479d3cf804118213e0ac7d0224b11d42a39043069e31add2a0261a90766ff7b00867c23d2a91a35812607658c5444d0acc457a04d60477704b481a6fd71245d4839aaf7480081845bc9b0c1ea9343bac62be01249e73331f27aba3053d7c44f846f2184b41141805df284534c68a8e7aa3864b054dd6b839ace97e0b589abf39e5c14c3c1089962d2cbad42a59f470914072733bb2ec3ed83170a982edd7bf489cce661ca217008b4c3eb99d09e91a5ceb2b6172fdc57a24897db1b8af7eb134f06dc7b4c6a26bba4dfec7bb4a7edfedb2e183234a7b3ed1bc24f25f9a1cf0901733e0b9379d6eaa7933dda41deae7e3edcc6998b050ff48b71c77596f0508e4528142002481d874f3ec79f67639c29520d93087a12af978a5b415beefc1269ac01252574a2c936e1e8bea40da55310fc00cb4f760c3434033d1df93f4ee2e7183807bbc25d8f25b7793f02a5a0c2de719a6e80b27c791b3d6b67c66b5d1b2031ddddf723187187e5c4199694278af7deb2675606d467a9957b0ab4d71d4aa4f0817a99ccd13efa901500cbc1b96c6fea4aca26c14f916532b28425176adc126d9aa2017aed6d8618a5a580b0e4c0a9d6ba9884fa86e45b6dc275319703cf51987f10c8d3aac203948ad27cbe3a7179bb1287b7523919f833b24fc30250c14b2fb8569a830a73bc5e994e0e3bb683d9e6cc6e078263165e1bcb73b2f703f9ef9f282b821b355935b55ceb6f8ba0e7603385f410c72081e0550fe38f509712d575975b60d85b1f54d352c87419be2a8aa3e212e52431bda48239d980fc2487b00865428631536ec63d555937bab8b81ba40dcfe45e80d8db410aef7a7a1731a81af9baf5c1d3f637acc33b887db2c2ddfb1ca06c3921fc3adb20fc17621cf7751fe8aaf9f95c6250c18b51c44f1f5d3a5215198f8fa65e0d2a8a61d4ac37d64654ab3bb35679d751d6a87a8a89114cc580ac3ed44770a346c541328a51d36f9097ff3287cbdcaf69ec7dfc85493a525e7d63fd9ea908625e8e4ae0c9bb42165b16f595e117eea73c9895c551937b7d0c9f93726a0274846dcedfad584fc619d281e2f8077fb6836f6acce08e3f6907454f13f1ff01d965cab93a40f50a4299d7cb8a47169aa16d03eb5ae77a760718676f6cf33f44990649a4685e25d2e721fb218196e3263a39a2324e2175b41577ec2310969764452b3f6b0ad43749ff9209de20798b834f985923ff240e35e7ead458598e123f9ab76e852b41c6ed1b9c7336a5edbbd6a8dd909bbb7122fa338d1c2165656b657e551902825c7c36e9cc6b3e3b8ffa3d7b0ba771c2a6697b271800c8dd1ce26253d2c40cb3eb84687d68790bc0645272ecb92f54a484e71101be595405782c03204897ea51f2e12b801b17060243cd5db626b9ff8d365bad9fc4f614b5d2b5bed39d886e4ce17c74d1fada646de60ab81375f5bc0a681c591c1f549768faaf6c693f317ef30e95f25689378c35b5087294da3118c6a556771081f197d6ef8fb5b25dba6fc0eea9a34dc67de2b974850799fc9bb5e3bdb000ec3a1a4ed146401668febf3bc2e53530da9ac815e5972b340865cab2919420796b065acd8245b10200b77d068cbb397d988a1fb034af6aabbe92a7c008680d7bb9066eae9439aa63f1ec6841373c03f7046aa2ced4cff5527e38c60065e7bf2234bd159a92f5784da93cda6c9ed6b7e4eeb48b344bbc9b5611f9ea4c5eca6d7c147490ba40630e6bd43c574f08c423dc6533599a974543e2c5b2f2a4c89c8b0a813f35d589e149dbfde37741e6fa8ace025c5f468b552c7b0247948fe8a56a7a1132a622fd66471ba693891474ceb8ec6dfc7ce9307a9406f8ebdea3dd3ad5a41188b52642e144529436d35940286e1702edc206a0ba406fb5ddad712d164e4800bb4043e057758e5b04743b8f7ed99d82076bb9a591d423f91317f18fa419a31eabdb71623c53e73daf8c2461431f6ea10ac5c2b2fb3e8c37ab37a8299c4937023d72e6cd44abc6db127aa97143eaa95184b3f507026ff7cf7c4c5e3ac091e90902355e5b960722ecbc1df4ad3ceb52ca41f4987eca4c4b9b130263d3e301fb8a6f7982a6550622cdd34a78489259ba38326d38987c2578bf4c56571b1e7e15522f728959ffce40e2193bef7d38cff5d2e7c3bcf060446135ad994c2e85c38c930fe5a6daedf887d4ce312ace4e0af6ad7227c3c1cb0a229d1a66e687d894bd1b7057f9a17dc86b67a205eacd04ae5a7a8baa59e927d88d1219f55dc353765bfbac56d5e35dc1441587f5b1a46d3e12ce29c6deb0ede60d32c12469006784a248b91648b811d2dff65b0fd0a558aa4e93fa60f7938cfa931981eb798a808395616646e5cf37b258acd5e42a995bca54d77bc9f9c3df324b6cc91b9cc2071992769739bdc856eb28a4937995e6fba5fc2393f9e2271e2fbb30c16cc73d4f4a4257972bb3b4cb1af24bd733769a8a87a1daa81c1affc0dc50890058d2bd8dc5be75a60903a7eca1fe7490bd29b19d6ba02ebf166c8b37e122448c7475313eb1f7ef8b09426813e9358afeee0371dcd9decebdfff714f222a04fe94befbef177915955ca0ab9ff27f2ad2335d1b990d6600a79b1db623317212c0eb94a98ed0eb664cb6bc3891c612540049675325d532bd13400434c1848a118b111d35ebf102a756c2a38624e0412dbd7c3334dea9df1855f2925551f8717bac0bc7b6407d00fe199bea3c330bbb974391a2f7c71994f759aacf90c4d5e9efbffd3f50399aa46cf1650877defedcd66b912870129ada57dbdb0a2d4fa998e78a5ae6cc6ec5df2374f2693258fe2527411f728f5d3bd83d76fd9a0320dc992ca6d02c762cb48d42e9eb2158ebc1a04b8fd3c5d63632c34d18d80fb12b633093a5a1020d702fd328dad1257aa2eeec4dd5785a582f1729555d8dc8744e230275a900278acc5e05d77d03ad54302211489cabcc2c10f246429881808a333174c89e26f3f81f83693c686062429802381cce1ff52cec1e428b70635039eead03ae9100f7c30d31110d2c9b47f59ee87e48eb640006849a8a60609f45c32a47ed13bfd600cd241f6c4854f3830da230097ca0864384972a3ac4a49c76602b892c834897c8b061ae811dee9589968179e22751173ba9cfb32b78963d9993bad829c2d0ce901b5cdd90644d2c2c8acd2817a92149fd0ee289e39870555ca8f8890dd68150b55b4a46b9802d76935360592e0ed2abfe5dd2275ce33ace2fffaca476bc1fef8f7cb35beb2943bada0d7dfcbe93819b2f4d6010b6aaef4fd60b56464b8617777058861b74607f71778a3524eb49017973b11a385a98757feea355a61bb42ced597ce5cf85cf9df889b24fb22ae0938791d59f730db3d90360dc5ef80ce76286e1a3991b613d636506be0dce5d05fabe2dec42a6a845627c482a4efaec8361795a9179ca4e402c575bc18d60067c56b49b7d263d70a18c04141807b1576129671f2309edb738f85db806929147ae012f5540289f9e70dc80cddd045a1c7df9b958856439fd2245ea1f87647b5fadd6f8ee6cfd7df71a4742f6ce102a4b85a48228f6d09007a19a2c1bb8403d0950d2c2ad747036dfdff8b4b46b802f8afb12d892cd2269a2035ab5f31718b5dd9b50837eb2f7f80093ca8f41ddaafe3423018df231785487073e67e345a8c097c8a44c505e3f1695201fa9b5ab8ec33dcbc23dc3a4bb058f2a93c3fcb28c63bb991258e04e45cc6b89cf3ab9116f722743feb59fda9734fc98a1567f20669cf433b34e4e2b64d7143daa4abb92415ba1d6d8ae16e212069a9a14d3f9068ad99543eb4b5438e392e9b9c1e8711080083b83d4b8aea7a90c889a41b06bbbc0ded68fab27ce12009c0682db660708ec4c2203a20eb59f31151a0c10a4681b8b2e5e904f1079aeeee5afe836673925126669dd876d1d2bbe259906d1147d273c6cce239b60dbd9e8360cbc41cbfe186472b2bd256dbcd5d7d0dd5a9deec12ab48943b35e1ea44db7d11f08ab320f729a03c28b9a1afd317bc42bf0c2666584ec4e4f1ad86dbb031f981d1f4b711f5d05e9b8107c862f86d1f596417581547eafd0c9d11399f5b66d9200be1552d608eb745e89efa87bd972683bf0c58b9644c074100acbd7c942a3bcfdf4e0aff91db636b6bce2fd2c3c9552df8f39ea7a96dca886115774f1c0197c6a4ce7a828a6be637853e02c14f6309ef57fcad0faba0b976a1d6e1cf5188abe66576c82afe4ab4d92038f5f41fe8d748072b9f4c8c1a6af642e3962bf8520e7971011e1f9796fa004a304d709e93aaaa7c8270bb39783257ee389387791a319a28b5bb7eade79b08b6e9f1dafb9fe4c8bc6ba26f496db5355a802c9ab1c0e8dd7924de95ceade7e1f13f9bb389afb70287d5a7c3918ad10714bf4a3214daa3281da8ea5b5b0ac1619785d07f5544a3366b0c5d143e58ffca8a64219d618e5c8e104f19d64c59b572a1075186356d934cfdf15f2ddb676074b6743192da510016fc0c2c7d48dac98decc84ebe224804c78cee0734fb08df61e227749c38787c8bd331c61d2ee3860e4339ebcf31e7cba8f0a25b07e9eb2796fa32066fc58eb6e00f6456734bc3fbb2424e1b089faa6caa5393882a8b41d98e4fd5c8cf6610dc4a58c63b5216a3b1b2b0906c9106cfd680282f792f5c05c25bca9bf3ca821d0cb1bb808c05e04c08302dabe55311f79ce8829e420aad42ac75ac7c5435fa71f10fe3ebd0aa5dd300f0a12873941224dc397f9eb006e9fd5c352d29309fd25c4e195298b5c47e456fdbf4138c2382e07d5aa23837edfb42ef6f1a6a8baee5ddf0f8e78356003960cda6f1c997057d02b12ecf32ab73fc9a07011bd1d19b4da9ae3068e481623c0a2491907aac48072016a1b0513643ab71db2d72eddb73e01be1e40db1ba5ad96cb85ea9cdc586ab625e19416f8925ac08ccf2cd668a5ae6500777e2db5927220c7d849510a9ae9119de4e696ffb47f92143d7c4628a54f0aafb8f927d4c9237bfaebf6139bec7fde11548c8be6f25fb272a7acb30c608831008c8ea0f8a49c9e60da944ba635fd629af8c1397cb46c35d8639cbe9e6afa5e8d1cc13b43c41e3fa98f464356a31f705c73ef8c000e3c32257d1d7d791fc72509961524c3d6fd4ffb4b73dd49afd2cbba27b7478852dfce59bc3b82607f31e4942b1043878743228df41f526c1f49906d0f2481cb66071d4ac2b1f7dd6c609f02bd7dc148b76d4480fe2621add67e1875b96fe636ec12a23bf784deae12a38f9844c086d05e1efb85e5b9d9192af4ee27707627256dac1d9fe02cd22e9615774e7317c2a417deefb37a0bf48b4872ff3b66afc0a109b3db6efe2ca5a58f9e2b363c9cbdd360324c11735ff5e3ab7725e1636b66f3b819e6691f84c15e7a8922d0b936a11d072c19c6cc7343049f7d4889c593ea34d18290e8616c21daa32915a8c289be23a9189bd5cc8a984bcc891e53eb876ee18e57635ef4490a1d23ef712440e0b0ea6969d1ba1554e0f24ad0422e09cbe62a4f41a15d1fa18a28018e68771a1b8a3cf012b86c133c532369a8db107a894503d12eaba5cc86a6506189272535c2b36c44f16bde55500d9e1f22df404ccc3be1f1be98914944936209fe791ff2c661784534fe3debf161ef5fddf180535231d21c44da355c201f9c0a2a9cbe48ba17c2dfce65b65fbd60118e286c2bf0e106bc51282dc3701254346efc83efaa0e681a6eea70a547d3c8d3240203c7a3192650a3d4b8788f6ffd41225533418401e17742bf25eacc82005f0052626740178fd7323739d82dec02f1b6fad014c353c5915d81e8f9c1c005d55888665a31efab9aa124369e8a08ace0e14abff0c459c8d451fa48139003bb8a589c262afca3b5b3da340e4971c0dc051a3ae324190cb820e5d77c37efccca49045f4e648521ddd623b4032a42251760957c6fb47fe8987466981e361a6b5c22b132ada2ba7cbddbc58e2aeac675eb2a871326283a1762815823e3e43687441c69f0f5d3bc2e41b087367ea20349a40e0f6818a990f33514b161d7d13b0d252e11db465c3945b8473aa47f7e9a65a7677f9a17f3889883d405b11ec07315474f187aa719b31ea984167924a09c104aa70f2e7e753431eaa10f064d06c788714c09ae4c63d2665ed57b31285e863040aa2a44820590aad890200d455601ece159d75031348e1b6dea5a66cf3c038ccaecc98cd8c6ddde1b039b590dcfe297f9728b5aa72a0733cd05771941b6b0f687dafaa0c86836288c7d22b872e5c110b69d14eb305280a8754445056c69726a7a78e00283cf0554a94330c60fef04018a17c44b13d4fd0f8f5fcb05b0e835c5549ea35bde0e265aa7f220a70395b645f35ab8c52f03238a007e3127251ade8a82c7edac02264de93d692ad5df81e62f3b703e8e18d2209453c267ba41390d7b7a8f4ba57c4bc96d047f89fdd8ea26eb3b8e9fc5f3a42e5bbb531b5e159f863eceb0b0d4eb439301efd0f772518fbd46dffd22f9d6c34306b50015d6576482bd2e22c946b3ae609c1b9e5cb95172a8ef89b85337c7440e1e28128b43f1b47770f654a308a818d59637f43ab2ad398656d57b2515d30c8f314e08c007c79e699048e157af0599b08f15c35ecd21bef6669c9365df15488260e9d78d080b09b6371c1c92b91be3a15ddc749f7a2e795b26f90082b8d4cd0584d1cecad5a4b241698eecfd08fe2d6dc1dea2378221e837a4c7b8b979a407c08010d44e780d53c4b6a1e4ae6f1c03ca1b0a38f3f94c582bebf2f4a4ec549a8675e341c590eae804bb1f9b3fbb2ec87bf4d20751907cff062ec024e70866a1a9efd8fe5d58cf20bfb03c59fe0c86aeb189dfbca6800f93d51163c6c21a93f90030b0e2957e80280a9a480b3bf55e44d72056d7bd2c55ac04cd1e19a2f2846d842a9370c809adf81ddedd83d7b9c5b11e92785be432f2868ca660ef38049683b0529a99ded4796ffda1258619c7452011cc061a64a49a033bfd6c3a91a243a003e88ace3716822bf3aac06d61171df6ab510af07b9f5db62b16c932ff51da8dce2ee5a7fd8cac8a515578b35100ba6e427167877f41870edc12064131f75d2e1749be197d4fe4613574ebd546382e568ab91d83b074d588109e82b3c854c25d2759dbc874decd7e7ce2c1ba033b228990871c4adbcede238190f6d6a7f187b9e0cea583385293151650c952bbe79e58f37a7d9d80a9b92e6f02837c3170ec4910aff2852ed7743259aecab2b2a619455257ad43f994778044f9c302ec60e232fb1ed457569cb69e447e1fcbaa3f5095645989d47f9609430fa6732d2b6bb6656561fe76f201a328584a9020e16417e84a9d3f4b1229c4e4f510997635a0b9484cef8d54e0c2d6578c7322c8ca0a5d26f2ef0f87bf69491d85b0a7d016ec4190fdbf75fbccec636cd307ff91f49e5a30d1982d9d3e24ca75006a49122f9ea55a72005a6a75e054adee90b848f0882744dd1275131436ee727b3918ad8e15db99cc840fd16462046ec5fdd84f8de83af01dca32a43883fe375f51f58e3b906846aae3103028f5e382527fabca314dc301fcdffb78fa667e24945c258aa1eefd3418ac5469213903254409b6e9a07426b47f3431ab242d214e58ab480bf165c0663934f3aa91f95db2c7892e3d16922d99d9bda6d53ab7b1e2021f7200ee2d8ea59a3f1d5d963ca4887fafc9eb34249ede8d3d0e529483334266939635cd9e848b810a4aa226ef70eeaa9474145bf70da14ac2638d1f12fe811aa301b8181ab705fddb12bf9b9a05ee2594420a6dc1defe29e47d1048aa6a93becb1e8df9941dfcb81d50bcbf8308971a61d65abc2cd4b09c4cb820643b236328c22cf057414873d62026a69bea5957cdcb35e9932e3aaef827291a433ca94155acbcd43e7c462bb7e42157c7d1698fee9c17fcaad5b523eafe27f5d3946a01fd016800842136a45f01ff0f8ce874f5cd80e4313c598ef33eca5b49b282bfc831f22e90d5ab17a01a32911044fae94746994ff5a9e08686bb9885f4cb6428accc690b1eee3177d084c9fd1162138f8bd98f3a5e0253f7fefd800ef9f5190bfe6ed1c98337ad31349aa5a2e18af264249a4818b4759c615bb41a9eafa89f58166adb558c9d59588360342e74a74cc75272b35bb9a50f4b18497bc8bef10836ddc49ca125999c77bc83abdbbfe332d7a055ed97d3b01144f0b7e46ff75f2655b8a28dc121e6a88a96a8d42a57f2c2422f73d28a465467f859e691127ec7655c5ceb148679e7bda5d3043513a4527072173a23bc0d15e62fede8fa002d6f7c87ec3651a8ef2325ab35bfead1a397de02192ea02c9ddbe18eb7d41acf2410303e8e79b4c5eadcdd517a5eac62ccf5236adebb5c130de63bb6869468b6c8d8c5380c9b2e8f765803e82183be483326d4e54cd73b76ee8ab4b5fdbd4a97a13342a9254b6c4638eb024b3f9a6a72611798e7e6cfcbcfd6dc08518b93de9448778610785a8e7ee1c0784b2e0d48b6eeabaf9b1a0920dacf808d55cad404369670f1844967cf08c8c805999704dea85043dc3348e73b836885e5d56265a34cd6c0a71505a7a8334c882779b8489ea72fa40e14dfde2b7ab8a9fb1fbf38851003c7d40356a3076dd52a6902918926638689c0092ac69440aad159676e855c22866efc4fbb500e7f503727d7f2b9145f864ff36fe0013368d3293ec0fb6cc8a2e32ae3c1b58ac091b3dd2767a95203d8da18c922814ce7ba70f4cacd508c84ee92089de450ed810e7d453de80b56b22bbcf24f6f90ab4844893fd2c729265b305826447c42ad889f4b9128b4894ad3239401a04d3b960cfe6654abba077419110874492bae097409e532b329a76beb25d18c24f5a118e772e25e001b04e7520e4c3eb109774e8937690f40dd77c9640ee73829a21de5f35ae8af5ad72aa725c6be703157dc33e143000e1f984ff0f59fa8c9ddeee1e23790e6f43315f1ee6a57c448ecad624f533ede0c5a6b2b140c3170294964efdfded7760d4fd795f6a0cbefe0a37409582438b0ebb4ba55339f1cf46e2f8ab8d27ee4a93b11bdbdab17cbddaaabde7d68c2561cae311c3d00bf6c184baf335fb044c61f411e21031db2362b79e32b510d7827c37ed8b3ff7c6940be549409f3a60c7b0dc5cd028f31244f5f854090d210f78b722efc004312d3b04ac39d8eea2d6ba3b97d10853f6a175aaffa21b5eed95e2172b47c788c13107e694c92e4b735a0860ce87b360794498fa00d8442040bfbeb3260496221c34a2e414ce55c256ccb1d47bda146eb52b3e93a4895c3a4f2d93774b2682627d14c555af6d52600625f842946254eac925e8f41a71ec1e982c1f04c31dc13f97a850d58c99786e801b3e88ad7bc477bc256c0e52fa953e1978c3512b2c2e192112c3a3ff917f9f4dca70723dfd1de8e5123146ad033e65a59d2746987993dba99471e53d5f694a19060d4e6cc935acbc32d0d2af70abd408269881d66c460d7e2160076b2b58fc303afa88120ce0ba8d582c2024b4143e152dda61fb383033b278c1980c6da910714168f3774b0d83541b05bcff34c8ece027234f85ff7411805a6fe92f830a59a89a40d3a61b77e9c28938e6d2eb23b7b80821d456a02aea567bbab3d4da2db626483f7e22d0ed92aa07e4bb990ddfde38f6ebcb36ec37b07c270c4342f0ac1c946cc8813937c309b764eb6bd2d6ea8db954e28da299d6463b5c937b9e943e9fe68d32906e789008795cc5c20d10e3ae9bf7481ca1ab80bf06d1b9589c40bb7f3ad214fab92a86dbeecaf1cbec878411aa1a2341018730baee347b12a24805aae9a7c25aa13d891eba168975490f810b1572602093a1b48c9b4c09d89040082d27328033ce15f9ca48f81f11738205c03a22329693e0e7e652981fbd266ebcac310cdb85cebef84eb102084beec90e360f80801bb054a947ca6355c78aa9d1a48b2459a414e495d04ec3309db39563c71cb170d5619bbe8a2025bd325fb955ec62ec470d7cafeeaf95bcd5d8320c91f741449aa621fc79b3c2a1fc04f26c06e13c1be5b7ceafd804daebf95d163a74f26e213b73b5867ff790abbc90147314bce82fee4fe0958ca6f5ac97b1d2cce13b14cb116cded63124d61065b700513659ea64cbde4c1b98388f266c910df543b299f1bb7505ad3215c4e0842d8b456bd4ddb3fe81f731f14267b7086ba6a5e1a9f07646beb3d2c9478d93c78b02c77e876880c1875675540f47428b49e65b0a80cc4922425b7199117e9392deca468c56a08412794049299d5e2bac85d7da7a1e3dcb88a1d27298b2d65080ab1c966a48c4f7b225cd2bbad98b92729b09c67e533ee00069fd98f93f481777552211cc9fa0125b64eb81947171491288ec6a398e3d83039a4f566083ebdb4bf72027d9f8f11b0f7e234e86c9e68fdb591a80a9d00d50b4fdebd52710019b528ffca922372a370b22ce0f95bc1cfbf9158b27a4145bec8df1c0bbc96b8872b5f710b3872f3ad2a2533c6dc975fc681e256c5a57f6cfe468e5d4c493ec003b9d76fda7b82013207ae6731abe1728e9c267152aedb096c1d13556ad742911f3dfb7fa23894104a6d65cc3869f3657d2cb16d8612071999e6a6fcea8de8d83e28686119705928284aa78400e5004432f94800d7a716be16c0bd1ed942cd05272ae1481ce5ed63680a094d9da4f342e74cfd537a148c9a327fe1926d2fd06aada5acfa459fe12dd9aaf658e46b42c8852465e29f30bd42d297118322a809249ee89c6c64637494ab8ed39755d1ef5bb4c644f0a76c3f0f18faf2bfa583f46f1209f21998a97486967f773a8222f62f138f81f35065fe8ab937122042a6f331c09e633e03cfe12e4471140f6e72c08fdfb8144e9cf912992781043331ee067d218ff47c4e1f84e4ec773cf543aff026b0a5ed91df3b802e2a5b98fc1927a4886d128aef361a92110f891ea5e8861331b4eeae3eccd8710bbf6706ae3eb097a3f820f2fd7e5098242bb292528a6b270f0c5c1fda2788b543970a899292fc11a6858ae8526fdf79e50987cb0c02b65920287fc901407d7a66efff5d7287e3ae464e22a626d9f49b4d0d21dbc420171cb86dd3be8dc2095c469cb0cdeeda35eaa0325957ed48a1d873533db03938b7f47dbd5c384c89d1331c46bdf05a6ac26451b9756fa8b536b077d4db2e65c381f0584a94e38b7e4b06eaefbbea739b9b212cbf2f54e203530378eaff1153b150ee917a0d2d6da8740cf8bd2b9e24337f413c4fa340a7e6eb80387788db86e03a9c005b6f74cbaaf001aaee28b686141cc683b95cf9419fe6cc8467f985ab6ebbadc185a48bc285134dcb10c117312851e4270e9931751e8825e5d02bede2b33a9f2b4282c0f2239386985ebf533824545a416d7dc833aaa71488772929f31e318724246f91276576ba14d1a92bfc6bda8e320a32a192c9a5bc0fa3f68137fe6fcb8f13cf1cb9ba20dcef54caa2904e8afc5a6a35574f3c5b4c7571aa25f37bc2199fd9ed57196d4d820337d4b981935e1ec2bbb970d95be8871b69151b2a4df7590553bc6269ced8c4c4f3ef5616ed14c1b3a4840e8835c996969413bf0619bd7f3c1910195698a1eab3ab8d139e9c3e29e1329c4b882e34c5188fcd340de987e043fbddf2a9f51f88acefd894736570b8f1127592ccba091ab51dba117ff4b172f78886e10eca594016599733fdb2802b67b9ece4ab173fe6aec6e8f690821b85a3891681929379c9ff1923013f0aeace80993369d9a93c93e48678287a29cdd5029827e734c7088b82c7332b75b775c24dfdadb9761d7e95a7b469c73ed1a6761167486cd9a008752348ad49163272fc8514cf463a04b7715f4d7e4e10094596645c9fceca5a91cbfb76fdd7ae9ba0e27a98553dd0c304d5762a14e1623646ebdc75d42ea22a6b7e95ef2122e0f3e7f80cc18326f46783f3e4e121b6b08a1d754862d422274cda4359e5f2d94fceb163877e64097b2d90c6768d6107e44414b9190d93fa811050094450c9763159d3289a1235a93c3bc008d582ab69358a984ca151bc5735d751424ba2cad638444452c6291f3fd17a9b9d7ad581f029995b039a9f2a6a91e9c4b13d285363b234a9ba70739d00b136bef4e7bff913d714d7ddf26f242b4d5348a3ebefd0e445c61cc7a73d1b0055bcd5897b1a18327adb3ecb65fed121e3dcc0522251dc00fd6d8f0d2ac8d502b7b9767fe9c860a5c6ff65f9113deeaad2f591d0d0b84ebb664313b408caef00095100cf1c532570667bfdaf2e975c95aedd9c63eabe64b3a24afa456c15558932f08b2de6596938f723879c69a29bd78060e163e55d78aa360d16a9e139047e144b6540414834a86fbd63f32fbd0e839b2aaac66b7576cdf68be68c24446807e2462118e64bc1d7db029174a03c39b7b1dc4db821a6a8b9a11f1ed34766aa40c1f96054278da23a707155f878198488200bacaf1254ad5752463a1e4555754b8a19734c4cbf3e575ca6b539a6f4676980d3dcba1c2c166430ba944c1188443c1a532c7f151822e15f599cd6c8aeba5d26b086d2a0080b88d62c806444ad5cce554940ab2a89fa2141fc4507f12e221d37f8a59002b7d40ad87c6e0037299bd2d964338506006399510b37ffa91e20604cea100eeb00ac5eaa472bb8b28501d2137e737a9c22bd4fad034daefa8c66334e1f1f3c6b052153bc82be3efb8e1b8023b8aff84564131d2c5cbbc6de0a8d8a4e9c6371d1454c154c1716d1ba77814a3494c045ec32d05c35177bf4c5c5fd95d6c7fb1a869a117b31a0382e980bed741e8ea336e0c8a798f50d460599048dd92cca494c81b16c046d05e59c3713ad509ed4f2a8857c331cc933b1c53919a0a02558b239a648ea1aa48f0578811fd061c63b9ec385e70eaa1e086177e5f3e2ad2f0a5eae65cb1d7261a35ecfbb0e84df5e77c073fcef306d785b4c43de21e640e4f63fa408270cbde1a10d3c055e675da09798794d464342e32e2ea9d4d25bc2a746f1a9b288f9f7f9c3e50e0caa3a7f460091ff495f36b3f2a4959f2bafbff23281b315e13a7fb7e4ddcfd917390d1d8412f97e137ab8d9989409d94c917bcdcdf416f4cbee0851a8ae3c7fc39bf5e17b6f34046c6f697acf9501e76ced0ca82c5984a83993073c1b1f75f4c678f9c6a0a818fdb8b3b4912b80d63180cc80f0f0bc13e118e87fa7c675413261413fa0f2a249c5cc02db4f9cf56568cba9465e013d95d072f7b6c7987430e4506590b65a7d166d2e7055f1ed2b1d54371ade6ef0d1624fc3a25070e923bd6cf82272c50d99e8696618b7312d002ce60424310342ea7fefe830e86798c0863ddb08c284bffbd8a1168c7fed93520a7d220410a4a1497e99d3ced30211a6fc7ae7e19e47cfe1b44e05a2488cd7d390a70837e4dd46bc9e219e9190809ebd5c5915f420eed02fa93b82b23bb162354b590640f753be77d190b08b2d2eca0d479360b23819084e61d38a037f59809fb2d2df73588d00d3facfcac60bafd6c6b7b87da0a2ba48613e6b1c63e4ee6562d65181a1f995588c16d9120bba3fef4e356b84006fc8125bcdeab9374f8401dcd95c178af11a0b22608d425be83e08f38609407ef856b5e026a4ae9317f98335b416d139c45d3cbf65dbb7427d6c4647bb03e87787431fe07a708d68bda5aab6d0b56bfc0f0f1a0732641ea423661fdf2fd8fb524fcaf1f5b847a8416c3939d991fd1e6d81f7ad1bdd5b671cdc714a7faf39b1fd821e218c6f3d638d23f75655fbf42009f8d0ea6c40547f6cdcb1d9389025ce176fcdeba07625e86eafefde399d9b7a5b6bf8ecff35e7706d4a354e164fd1f8b2eba704bbc671c4936b6649142a662b68ea12e68a3c7c7fb0a515e38560be893d84747531b35b87b162d0630a0a8d4dc70c37f62d61bb62335323ff25539a041207537669642db375673c573bf968e207fe38288e4efc1256eb1ce8de317c939ac8e36bc524208822c249e1164a944a05d086d1bd98365f5339a135444d04de17be418dad3d5851b25a82fe3036a19d5e47bd85d99630bfe381ce62f5d0c5e8ee4c226e36dceb472dc4499a462a6b338d00d2a5ac0d995544b245fc97515bcc0b33e8d68a61069d0eacfcf5666a15069126a305d63ab02041fd22158a49720d1ed820a909ea0be9778ad62ef59fc0d8f7ceed66a9cf3f3f8b03103273a9cfcfa08907c5af6a8b505e428bcb11877998e68c6d91f295ed88c3b16f6a602eb881eafe72b98746bb3c88ff1903fe1aab37b687ca4572c2ff283b94c39adad9a963dec64b0584b5c42d81409f69369f20725ac906ecd067fa6ddb76edd88d086f06e60b2c44a3852117e679e1020ca549f9744e31cc860c97ce90e05f9419133baa99f1dc6acc2b63ae19ce2b54a7afd83cb2802c4d165188a529e7070eeb13482f5dd457fca1c0f7d1fa95284e00483dd295f2f1ce2387ccc0e6cf829f802d453e027cf41f885e13b7163b1a620cd3b4a51649b87d11e07334ae18eeb218e73351c4131cbe42cf89c618050a209a92752fc0a939524da7abf1dee1d82a51ffb2dce8053ddbd28072663c7959f2271805725c72b3f5be27ef2b2248e2e02445de7bb53226df48fb47c2f532d8dee96cc9dadb2f519ae4abe1b652db707624f3c3b24ebb74d212f9bdcac571b2ddc5e09803e2f709a60b554bc0b15330b10da9660af53d5055d641b84f03111ffa088b18e50635d30d8b745865488237100168d42097e675192065a12a21d7876cb250c86731460f0522e11ae2ae3ab6c88de59ce601418c513095fa2b3cc83c14f3ffa533a912e1098bedae4734f274d840ab7ecc4f336e3a901e0ed1c2a7020ac4d1c6f91651aac0a901f6964c4c8b5d5b013111c548a6726d1bbe2f8830ed5c5616a08f00fc773e4bd8dad8643d1c6e75b0c849149216051f5093f7c9f449edd4603ca210c32c6a6089f94c2426688b1d60ac2e651dbc4f4ed4b2995456a955af2d3714265002eec3e228c31efd4e9c81f37dae53f192e234c4592169ad1a1d559aa5804782b1c11bd3d7d926ea69adfe12fb0b3f47fd888a9fdc9c96f88bbf47d95268267d595f71cbdbbd540e2da64222f966c55ad3dd2a4480caa86f74f0ae5d737689194cbd0c813d1f033db8e339f39a1b7022246e4054d392cf95a6ef60ae3991a25c9d58b5eb4cec047a91f514272342c4e5ed8c41b33ea2bb4364bd8f723121e11a20353e0ce111ba32b52615fddb90fcb03353c7566f076908ebc988de0d62263f6731221663429d08fa4b3eb8ed1edb62dc363d52c67413378647520c594694e17e882b85124e2eda54f113104969e99f0c51607d0f2b326cd4aacdae9cc76c78a31425d236b1d6c8b48c3cda894ea2ce156f7ccc6b2b5cd6bea059a839ea81320d56ffc244276270ffceb9ab06b21623fb4217d4ed5b809638d0d10f1fab01ce6bb199af3d04f381c8e02575d782367084ea0825be0ee505ded025953ba185ac4aa08826f942aaada288e68450d4365ac5afe3402a85889e238d72bbb73fc34123ae956040ab50bc8823813f2c242dd7b2f45b056f42f94bf01759e97550090c09e0b011bee34e4da271bbba7234e98b40d3c72056f587a418e9a2b56dd1c54482f2466afb6f88943d4b9a1b2111c2f6b5e8704cbc3054ef0fbe20b5376b73a328e03490ecf4bddcd49b0c95a621c7dac2ff9ff8703a529d5e208f95004a46b3236f381f0108ea707f6c427ec7b5920d09e3e16172b1e92ee82b9b76ef5a756981a695ee23a50e21fcae738ad6bb2734a348302bab8b6c5778e59c3960b4f38de9ae29fb3f15b9322e3807f57076d78338e233c2ec24b3f168bd472b12d6a6a18907e2650ecf7847a2eb4200a8a587430be37910d70eceb988f00ed8aa6bba2e3261dd4d5aeda8a9ba7b48b1e3e8307624d2a82392a3636dd08dc779c8705387f2efc47de4ba426b464cb2d615b16a1ffc9e6c6196f39e9028ab6893731db48ff12cd189f258159709b646d399f290aae283ca751cfbd70eb22567a2a7218035679aa4737a7a63424ed73c3d226ecc1466f76e3841b855271142b04369f3160a04e00ef4a8e5358eaa8de134e89c6b682f5d43dc93837d87f738ff892031ef3312e31c543b4309fbff5f6be034d11ae17fbf91dd3c7448b2b5607f2c4e125232a84c8082a27c0d0774f55882f3a7e95b3a7882f314a07bdb2ae6498570db867d6eadb2a6e4ddaaef360f6a6a25b71afa810ad43a567022c56dcf18b9193f409f5be31b2a90b54daed11931d103cfe832161721c396cabb89e935b70a52a7e044a48c7413a867644043ed34251b1dfc0562416f986ab30f3d70c4e91a4b1b2fe0c3d71e681d9596ec1a994f7aba4a5db6a90de437c2fc6bc887363a888a35c219a90a9e0b2e8688e27130c8fa198ddb81df677cbb3681ec5f67700860c54b8377b7e73519abe225f9c54bc4204cea5607829238e7dbdc9a43caa02defb7ba83af3bb07ca8a218577bb1bb318495234c7637fbf526074507cfd2e556898343c61e5cdce44366987d7bf9adc1411a33db0939494b28de3597cddf24aa82530b5ecf93d85588049999ed8804f927b9ca6dacb1a603ba38d8f84d93e40a12424ae63f8038a0bb287e884ab5810a31d8bf8d0d8076ade7d6000b6e7cbaf8a7015b9fb288cded3eeea04dfcf1c9ffd3062093d930d2d30a13e6886610d6b9a909dc5df0e7ef9f62e091f4e77ebbb7ca47b7123e617f1f5186ff825458f5fc3ca84a2c5569e4d9903336dfd675f673e6bd283e7896fc5129fdabf3e2473c0e512b6ba1f92748f52442025348e33c45d9d2725f92714d2f57bcb54fa4b7c71fa696245b367bae8014f904454b6685c6afcc8bdbd2a007fd015a303046bbfadb28da478a5edfa5f562f0333b68e0f022f2f37167f2d5948531590fa9d82d64aea8b0b1d0ba74a0878196626293c8d6862810ea1d7f142ff71a7de845133d06e041ff21fbef9fd1e135b15ac4b41ae334bf2bb64a3dd78039d3e08b43f1a8cc6689ae312452f63d5009c9a482abfafc43452b6929befed4c19521ef0f4d0f008fc171380c060e8fc7623018060383c5e271180c8683c132161858938701607ea1ace80b9307b0fad01cc6906a48827412079ae1ee85f6382e20feb520f0fcd18f74fa0bed94616a15384e949ff74030782c1687c3e130183c1e8fc1607038381c8b251c2444b94ee9a7880900287a0b6bc0194901692c5ce60103defdd01c6608252449f88aba11dd48e644a15ebcd7e60efa07ce89bbada7ba953b90dabcf725005b8bc644f61153c660cdacffd620280072f7dbe8022b8c728f72b1a8711f6299e6d3d19d543519a66a0d352c084472550b443552c3cc66ac1da17560c76ffc77272a778e7db415614e899fe2986c57e5b10f3cf8d7633e407f12374bbc1ec1b7ee587db837c25b50d5225d8fc220b66927f2eb856158f0974b6feae0a6f34c501e19d3cb9a17c2a47406ab1e02630e02b288f082ff72be1820fbda92786032d051f029c44a12702ff58729fa42aa69704057d67d04c8d0334b4f158fd0e97847247686e8502a19d89487427af5e3aa471c1df1d9585db4aded9bd7d2f92674588ee84dc57463b723d4742bd243934bf9623ba5e9a916a165e09d5fc4c2c118ce4c10725169d1ac28395292b81f57eebf09d18c51e8f146e39f18d8f8e2d4723067a3d2f68bc254d3180ba4123a541a35dd4e0ffd05b86a435eb7032eca726a465cd24e2194c02a42477e35e38c12e63f983bbb7b32b852d9ab3cdf0402e6703bbd16c42080915bfb684ef46737b927a89b7c7562e971e405a3eb50e434d2b6598a99273b3fad09eb1e2d85a572b2985e6785e9e42182d4ea0fe2e68453c6190cb717fe10580c8d6c0bcbe5fcdc8bc3352c9d3202d4cf6fe7c121047738ad354b4468917b2266ece80f42acc8cbabca9b10c0999f801216326c2a4d98d0ff67d96a9638258cf7091b2415c6bbc16f2134731576ba55a36ea16039c94da85d4bbfd150ac70d4edc7bfc5cb7d29f3805950c3a5cc23d33758be68cd7bf4921e1db60f25868b106ce650322a2c5fb00733922bc1dbf147abf3a3109b69b90faf514e5dd51cc31e9c6c6f0a73c41fa5805f3555cec3bde75bb71fdc499df3eac31c182c15f3e88493c0611e08990fe57b76f65072e7e1b1391a79b3e2e3e30f20ed09df81f370e3d9d67edc933427958771d0de79e5610e6b38a93cfe4da23901f7d01eef1eb17a57e8f14f38457afb5062797ee7f9c31ae2deb6bd430cc2dabe79cc29a462b8d6c31ca06aed1e7afc091e9a14b4d6e3b31780a163ada36d8582dde614791f82156242a26d6705a19538756d667f333e07ca04392e64e448ef38e2db0febde359d1dc7781eb064fc0bb3b407545cba8be491e34771d131c6993cadbd1da2e0cdb7dfa4e07a18df91de3255fd9af88fe2151abc66a5f50eb1122f240e7c892e85c4fdc8e877eba69c0344df4ed1bad6ef1d4e7c1c11d20195f832f34049e0660f629671b873fb714fea9ca83cec8d6ceb846bf381d8c262dc13b05dc737e30b3144b3fd706b4e8dd91e80249642c446dafc20b6580adb09fb68e42301fad923641dc19ccac3f942b3194b7f52ec035712cb4f99515ae8a13cfb60cd97285e695e35b2241cba73c7289bbc83608ad19cb7472387a16791c34ffab9a0b23f1dcc1277055e3e45e479e504da83379396db78f8d3412d4b6ad7bd143b4fea6d79fd1784b7eaeeafc6bd002cbd1668e69301054e2821047524c0cfcd8ec3a91d4567f5b51aecd7069722dbfd25e91731bcf90da2a03ef0a24ad4a7814bfe7f4147e923c33d71818e9ac804a0df70f639040d10c9f39ebe2c8c025819df0c37d5b42c0c1f8590dd021bbcf0e9cd9a8571d6093db2f738d592ea785ea2192e69170a054c2d02da440d424b4022523a45ad19f22691def22f628e57ca5f2dcfc02ac9699c071f965fc670d5277747fc40b1938be1c084480496390334d4282a717e698964ea558bb5cfda2fc9de5b4a29a54c49a6b40316040604e5035734c5e499f7eadc61850e2622b8dd4195c7c41730eac863c86334333a342f1e3b11934b15434ea7c5f29cc18db12b3131cb16938c14b4c97653d428adc8b05c1d1fa212b6878e551338dd153a5051b67674caa8b58903c3d125285849e05899524e14bd7d04172d9d27b4898e922d4e149d2ee6e68dd99a2d89944ccc96642a698e144349e4c4d408ca4273daaa40c20ac5d189b1ac33a89332a478c13561b72e548aed983635ac8dc255b12b279a543cccd8ee0a1cb33951c0236a0edc954e19e1c3f7071ffeeb1e3db6ad42d84ddf7bd35dbefc8f10c2185f4a97f135ff68cef928ed6a356edb2e77c5f65e3b945af3b5c15b3bf2fbdcdddfabcdef5c47a7e559752ccad9d6f3e13f427028fe781a05f2f8b95adc3dd96cefeaa769daffffd3de9f2184ee36caf9437963a675f3d9f7b577f7f71ecb5d7377777f6eebbae84379b6dde48bd0fdbe7f127a7c92e91119edd21d3467bd4308279c0e27849342e6f7c7cc73de7b8f1d3e2821c79ff3ffffa0a4b5c20b1f05f3a09cec0ee59b33a7d3f9cfec91999dffa33f7448fdf983f0fdffff1dba3b74777787ee0eddfde50bf0ef0f5dca87ce1146f7187dab73b60ae639363b002a1c037adab3fe65d5581ee36b9265252b4a871ee753f844e48367be7e5ce0eead014d04ad04aa375a940a6f5e2f7ff94bc6771923376574ada2ed913e3f560255a06ff93880c29cc8f6e3c78f7a9dc8e5b49a116be8c7050c9ef4d7cbc6162c1249e1616458f401a3ab0e3dbeef70fb7fd7f8f99455d2f874db2aac554af9f1ff371e9ecdfaf4f4b0361f1f1ffbf3b3b18280805a5b505010cb878fad25f4e3c7d0262424d40202641b121224c8dd840811324444b45d005caea20d000000b83080ad68800d0af002186d034038c000450410b01971b18002860c19128d861cbd80c838224ef0c6680780c54b98375e98bc78f1e2e58d172f5ec2bcf1e285c94b182298feeb68ca8804fd864a2b0a25cc20f41842f44016ad94131cd1405ea03d4969641e1dcd58043213dbbab212a9b568bb77f3218ee3380a9158c9e41db43b308e71acb3b6eb95b6e21ae358923dfa82566e3242a39a5a7c9818150feff34c3ee9a3fcbfa93a4d555cfc8b3bf9930ccd8cf5c6daa820de3ca947f5aa2c6cc5c45d09290a0d1c6b28bd286fe931bdf7bed817c60399931e619e642e854788ded25c60534a2dc9058de2f4fe7abd01d5a345bd199c352d8daf1b543c3669c9c7613f3f5091630b0beac7ade4b92f7f590f575b3e3e3e3eb33896669687878787a7078e39b09ea16e2525572bbbb2704081d9d5c64cd8d183198ee3389ed9d4163394b50622706265cc92b96d3c554e1853bc9c3d7e248523c716525b582d2543378e1a589ad91b5a0e80b3cc9318cc677094a8795ec4666e7479c0edcb60543ffc8384146624147840e01c1b5b5c29461a419a9ca9b3369ebcbe0c9543e9a5414280e24189129062432ce2857e3d491896bb48eb4677fb7c7692dbd2603f4f486ecc6833b3c2cb9a2f0ecc2187072a4f92e44c7141703db146445e451e5e3881502cfaa9c3a8d53a3ae2462d2a1dcad06094274ba671422959d3de8df0bd6b469c2299d4068786b569e8186244385fb0704a504ba298b024e94b0fb423574c523c72b6eedaa8ca59715aad99db95a76e8cae56e1b8a8144b6c9b4ec4aa16cae44477582256719a3b38a9ae0daa54c93cba8f12eb4ccf32bb034599ded80daec4d6701b38d104a50319ba0196a70652856ceaeeb0760a1abb1a82ce51654967451d55663ba92d8de559c3c9ecea69b564b92ca89022084b93382a120b115ee0d0e5efcffffdb5c69aa6ade0a0772259ad00051e68766d15890516ea91f7c7ef8ffb9fbbffeb8f9248f3319e191a144cc67721c118f9de7ba3a2a29020923f281f928804915ecaa9ba1885c4b1d83d75b880e073fa0fc228e78c72d2a672d2aad549b7ba71cdb1c6d5ad485befcdb50839d9fc50aa065741dcef01e08f6140729bf3e5fb212a6264ddbbbb5f7376fc64d95bac0ffabfc317fdff1fc97f836fb9fd9b72beb16dbc715dc76dcc049294f488bbfba32ee57c94523a67536ca6eaf6ee524eeace3c87524a7d3e952de97bda94fd835c99104e5afda5649ef3ffa47c72d6ff0903c475b2aea6139a287b42232d4f74c9d5c692cec8f452195dabef4ea79cf3f01fbafffda537c262b1582c9611fa1b798ca5688993980933794092023080978a30963865a414d65a2bdd3605582c160bc808032c16cb8811234638234638ae3362a8d55dd175ddcb68b50db5ee0f4b1ac520232c166d71d3d7e6393da7e7858b1f1b5c47575276d672970a26d034aba8a490905640428a8a8a923302f939322d38329fc2a397d18d03dceeaeb56e3f9bcda6388ed9149ba9ba71b329a9a8a96e356b6d59a9f1c72706ec39bd2fa838f6c4708c6373ce9fb5dbfc1ffce777f880b8d175dd4a46cb4e8ce68171c029816704bd72edfad80e8ca9988ed2e3d87b25c6e3955ee939bde7b57abd716e4e3f6180b86e5b45273454f644d154cb23eb8abf301373c15ac8e7546f9d92a9980a72ccf4b365e3ba7b4e8f89bf34c595a593fe92014af8f36d59e8d4df0685277a6e7f18a9b6a648f6737434c5154e607a0c59af798fe859ce39258db5c26ddbb6ca71de65dcd60fdb236913156cdbcc8f1eba6955a3dad3a23a6bbb6ef5e02ba29bbb716898fc33ba69e577c5bd23596badb5b243d2a2382edd3d458fe9305d059b6eea26eab1e745151c1e9be45b7ce2b0302942517997f81e6eac3ad64ca8923a22b1f3d23b6ec478824c2b0f3b437a90b18713d91e68506b74ade48ee69c7376f1850e5fccf000c30b9fdd1903737fcdf72a315f4099d9a19d99dd71c58d204c228d29493cb7c394c64e1e4eb3aa02606f03971f337c9508f3fffb3b0ba6b9bbab05cd0d1219737e31c6cccc5a1adac60248d9a54df244f14dfaf0e2931fdec6660f26cdd190dd1d18847ee3089af6a42b562b8b257506b712d36df1cdb5f14eceaf1f08be3df486acc1d7b119556348b7489e8de6711fc4f7b1cd3b3b1d183fc68eec2f6ab06a4fc9bbeeeeef5dbacb7e2e07b3f96ff0aff4fff6e70e610d3058a6bef6ee86fdedcf0808239dd299dfa33dbbf976ec8696d50f8a0adf83ef1ea510cc560d9e7259c3cc51aafe9cbbd9e194d1dddd293b0f2b0d8120342d8c070f0624432c1cec6491c6509d176f44524aa9b594f6f1d074bf4645443487774a195d5a18ef67139967e8e6e20cd4d7b25273d7e2305e21aec9cc4ffd6adbf3c92f254a095f735839facbf89edb0ee8ffdef3c8dd0db9e3305f16a450fa7fa553bef8fee665c99ac916115b34a48d51c16f8410c207a190162fb0005108a2c3d1d1916c38c6afa8d2ff9f198dd73a0b36342495562aed43f82ea40be5cb1a24ec2795c6ba8cd00806bbbb61f7d5dc0ed79e0635ed5db25b9146dae288d0d823cfa7357eab560e44311f3f9aa029c3d699020a8a30b48c21a34212e43e73bb3f7c4c1f960742a8847e808a000a8898074b7eb85aca87aba3a4047297d225904b7fa72078192ac1200f6a2825d94ff75290dfeea00eba3f3f8f45d40a8aab266ca49323603fb115bd65af8db4cecd475e1f37b42b04a11f57e8113dae537507080b35d00dc2fc23f4d322faf9773e51d05b0821ecdb4151416f08c89d3e2d202e3bc47ab16eff78403fbcf93427256163995cd0739b637bc4f3b6839d4bc8e99d136cd52a51bd817ef8e9a28c144a5160b184521b6ebac449b3051c2563d02913a892438a26b2746972729334849339ecc89eccc0ff71e3c89327ec5c59630f2c2ea82ad314c714354980c1c6ab0d19505e2cd6adf6f1c61c248a809aec9006933a5ea70d1019ac2a54b49854597140250a8a49920f07539c7873d29db1037ca96aac8f26661336c80a1399c61d2d2926b56f775bade5f6bdc771f7a392001bcb51fa74ea0e219d7e656cc8ab97b0dfd52d71e08e4db725b34fb3eeee06e12580c66c36bb35545555b53f24f291bcf7bfa69b2d73b21bc2f87dbb6b661e533ae5c36e7e93e59a97d16d9101fd79c632963d96b18c65cd32426696b14c46f9de12b7a579aa5bcef93e42089fbfe6bf0f0ccd614fda96d37ab3b8eedc56b9ea57fa8dcf614bbef7debb2d794bb27edfdadb6697a55e4b120570c29359fbdcfbd9dfeba749181b19bc4b78bd8c8cee6db5acd5661ce5979e6c0b86bd63990b085ce2024bd82429dfc5ee7233f5ddbf37bcc2282d09f1653a3c3421b9819f5091f205090e7cc310143d810068c4d807c4a08c4accca051af4b0245cec96750eb59eac2c0436ef570c5e568d29f385943788c3c64d1b2a8269ff59e04f61c9c4c4d4cc4fb060d1a8e00e3504279c70e2ca952b923ea10f626cda1fccc95746bed08a152b2d63277eaa52a5ca005482a2704bdedeeeed321811942ddedeeddd7d1beafd6fb77486a24105d1036cce196374a1b276a43b8e5d31460d429f5412759cf3d7ee4afaee9a9dc185bebe55ca9c6f9128de1addaf847ebb560aeb9cff2fca7ab7ae5456a2a62e4c22ad838ef7e7e4b8a9c5a875f0f0d67ab75bbdd26deb7c7a0c0d6378fd69b5e5152c96dcaadc2c945bd7b9f9bd15c8be1bd4fbe8ad72d26e11c182b79b3584456a1ce564bb2a8597a747ba6cbfd6dd7d5f3b9695b4afaf91bdb2d5b9d11134828e585d35b0e4fe3b91071f82edc10892870fa6bd7e4f0cd16308173d53a688e83c993324cb9573a627ce1d05c03438534a3e9e0c70e3e423b34d9b101f84902d2075d4bc99727a58c30ed90833e170816b7068b62936760383379ac5fbd2b5a96da61e9c1310123a2c5943c586f564c40a9a62bb02c454a28e92253f6dbc655ce3677c9c8cac6b412596b4322286859629302952a892f8f65049b8d24645d4cf1205cf125192dc25d483b97b879e909094b78811912323d71f111123233792f6be5c44e4852e618c44655e76aaba33a6194b50cc1e95042c50423029d133b5f57bbc95b963a58493cb9fda5411cd79f283ce1a65e608637ba8902c2658404cde1c3cb4618a7a6c3f715e336a0c982d545a5045b13d53542b174acacd600996947c08bd3b03c6f82b31124e27548e00022aca923b7550c571838619504a526074d145803b4da68ee081cd1dd9982d6168b104142a20a08c88a559326b434494166db6ac190355c492d01c6f609adb206baa0890c79b59870c0775c1d214a5806551134553b3c4d528f5cc9186cd4ff13c01d1e2583a243ccd924fa3c4a2f217354373c6f5d8de01056caa3124e9f647348400366a02fe7d335f66befdd28859732606851b323928c9da3c0dd1a50a2cccc0100655933077c84c3981014c1874a2b270d14109926e131b6aecdbbf3b1f9ffffd9f0c1ae3e11440191c3dd2cd7dd6ee76dbbcdc562f9122232a5f190753b462099460691a6a3201e05ed775ab5a54563a000636460909f0ac776ed65e8dd66a575b9dbf15c1eacaf25ced15f195d25a97e4cab9ba6fc3188cc6602a5449810c28942059a0b32f5510cdb5aa4bfda6343cff93cd2b6f2d46cfa27eec6e286b90af5defff6594311220650db25993716bf1db82be1b6384fddf9a8409dc605164f95e725e49eef76b0db520bb65d9a27f0ffe9bb2481daf8ff48bac6e5c7cbd62e5285f09c0ecbce4eb059946c9d3c5a1d70eb138d59406193b4480890213876e1111b9915084ed225ee5f420a58837322492372d0ca0b0079306e18d30f8b8bb7fdb84274c4b320a0ff3243df9a19fe860021077ba2062b8ee569b06e39a5842d507e18310fa7b314a59f21ebff7c8019914ace4abb8d90c00501423a700101007845192c3280ae330069ef73706544b9287b68993287d9835f193b8b3415af94e895ebcdd6a5e5dcbb2a529bc9294777c033e09159d80b94169405366223a5d8027b1f5de61200c5a9c2bd272bb705022e2c2f56a5fe04c4fa667f0fe99ca1d49b46f0e4ea6935daee04343354eaaab808adace390efcb73aa41ec7c2070fd33f25ac24524fe33060991d0396ea68cb84d5689ccdf83a796f40483e4a882dd70007b2cbc833a4199fbb391bfb8b114bb57c86568b0fed2398574d75c1d4801e387feedf5262572bfcb7bae04882ce511e1efb558b2f064a4eb9b8f74f5efed6c512e56f813003a73750439a18a954d2c68545827aa6ce5d0b447278687911931b70f7f56ed5921c3f515364fb7ad751261f3f8a501418a02cbf18acb9bddd8be346f17e5746fc2264103705f93e2a4d7be06c8d94098c0dbc286e753eac44e32425387b0af86def06f58934122b2cff69e170e36fdfdae4d03fd110364236e27c44114743367420a033fea97aa96e9314da08647098c1ec357869f03754beb63afac68988d990e6e2a8af4223b0ed0ab5f8cf51af854ba57d235f781d5ec755201cb7aacbac8d0482def39c921b97d70ff4e687cffd0bbb50a7f04675b62dd75c937beb5ad060fb95a48629c76162a11686b23f1a3ec7c8be63ded9f8da3d6714ba6fa6eb88264e6d207c74342031daa278cb42a6ff6ca7b0f9d7cef7045ddbef390feb68f01add80e1ffe0ac4df72b0fb634252e0adc39019f0d07ef7d487e40c03f2418cc4abdb173afca56ac2a72a1b629edb05ee47921fabff0028bd5bb5608806b2d599d75bc3c4a1a708fa78ba35a2e8516665485ceb9ba87bac4605fda03351ac82c15cf8ef64730e345dc15cddbf19454e495d04a0e633baf328d6aa52035d017e7a5e480e9551930473d353809418e470d01d5e1ce42c88e494c78eb0f747526ad393d542e075afb459d87961a08ccd5eabfa3ebeb237b99fc6dabb65080298f1249356100d0758f75dc02ffb8780a35c8f7e72c7035c16d3c437aff747292a6891deadcfe80459d5b178dc10d82af1b9e8d652a040cb9ff791051759e4cc4aa08939ad9bc5b76e0072ad931dc60c358ac5d54c40e18620afb78e7ec0de883dfa980c2c81e873b39df3596fa288e3d36e48a685277003d48853c0e1f09fdb517b42d7f2a3e87487de8f69855e696b86deed8c8603f3d8d67a62292cfda584e50693438f4f924f8302d1a923464b6c9ad03cf75c132b8470345325245c0660fd3f5233590396a3d1bac1fa9cd8cdc06ae622d7f4c0e49e7ff2d451b7cd38322a27fa3dfaa5506391d1bb786caaa42f4aeec2ac4ff46bea68a2a09f187bbb4b984731949f2da406e40ee2f61f18f4d0476dffbeaa3f1c88c42c2bfdc1dd9c570cf6e67f8711639c37aace843c05d60eb43681f5fd872b537c2fe56d51fc12150a7b7015e479c12812adf0f6d8d07071a3207d2fea3f2dac682555fc22d7d0c01df1ec7645f162391e25d99b20d24b6a482d55405e2d76eddb281e8dabd08bf2dd00222a8f7091bc81f3032f0d834e5866fa04d3ddc854864542124894c42e89c6557ea078b01a4f2e1cac8ca92cb869f8ef8c7462825ca36bbf0cd3965cd768cca12bd0d636d682f3d917127e67a8e27cd47e454810546851f8f094f385e8da6c8e4796bc1f46a34317608acdf3fe392df446f7da3358a46a2daa2785156028819ceaab67ee32c4f95f4349cc6824b77d6dd0f8ee7e18354cd017d638fc5c3706a5dd217c5f72f9a9f47e20d2230889cd5908e9bc90221fbe7b6ebccb866ac7d806fc9d81c953c1a5fb36ae6da33466921270681e1328cceafd764022add71b8c65d82496fdb2813eea7cb0e9fa4f7d3aa4fa137a10db920a13cbd369a79ad181a0479e6c0e52cc673012b4f2b7440fa823af00762484d1a2dc8cfb5948dcca84dc5ec1f49c02547be42d5798b4e6db17429214004090a034a611fe89f3fbbb07c111bbbf0506305f548d4b2d7b6c0a7ff1a3c1d8b09020f292a36eea6168953681a44470b58b6febe1a6aa013bb5b9352fcc47c7896aeed3dc22fe7cfae9ac0469954699fe107554619c09542a6ee4881e827b4bfebfa3816e2c45bc1accb514afbc9d0ee515531bb86182ea3f94500e30d4d3ccbb588bd1bbeb61dc14a5ba27497b7a765e59b53d7d7d77b7426cbb7fd4d0d4f34824c83690c517f2244229d0c217ecdcfb7a56a2376aa403d8b7ac2f308417747d2e96ba651d48f124fec3c7aff678739f1cfedee9fce83eab6d2c9d47696f74888b97421d28f51f483792f4cb1e7d47b30a082f0e77b4775f44fa0b72f45cbdba60b0bffb463c8263b4ae1a72c0d42b6f145de7ac545f1ef3f23933a7dfa90b651e0f34e1c3b814f27ffdecef4ec64c38a337fab727d6a5488f00cda0e7de329c26f7e473dd78e57ba40b7dd439cfc45dc18e28c368fb3c969d8524e587251534bba52f26b8234a89b440aa9c487e4957c7f913a3fb42807f01095d1e29ce1830be5c3ac7f8aaad02413018671a2d4708ae4dfc1a7fc22380a1898d059e4a3a2052933c884e20a5478304e7b69aaaf912538835689622bf43b3b52d909bbf21b45f10ee7241eb57e9ae03c711194d147195f33f62a61948fb2ac2e3bcd1f27addfb145f05aa6ada6839779dfd3892cc1a3e751a11119be82b3d646e52640b67a6ffddd133dffa2496d3dc0b5d1f8e4de106d83c79673a54ac9fca92f816e61f8fdcf5b90fa5ec0a7fc1795404e6e7ecba4aadb3eb5cd4fbdb400490f3e856e88141a7929983eb9eac3e3b3e1b134300b04d66c07ca727b552add6354d041bbdfb4d00f92608a665d0aa687561310ada2779393bc3458498da0f197f24bca4ac05604589979a282d05da62e7df46da2378a1c904ee39424b1a8e43209f2260549ddd09cf4e7e7d42b3ba74d1a1a9fb654f4cb47f60bcf92fd887d899a3eb91c265f147535b91c0b01c9659a159bdf8d930838ceb33f3a520c521d0d17087aa29c4de2aa6e72df811ae3d759955d1b85fb4b5b7638752537289c456cf3c8cf0fd48fdefa4b2cecd881293fae40f21c3db23e4e7f2940ea7bae1fce56d8e5a4b49794760be0d3b58baf6fd4e5f6ed0b5174305c862ac67eec9c339d2242e004e067197df806953fb081e1e21ba30b55c2df6803f9cd0da3e10dd157d29f87d435a25c93b9d7445ef1d1df8dd44de5d4a6b3823c3086505fcc492702f7c006f14fc09f1ba0e1f2e8bbe32e747efdfacaae78cf4ec8d9efc0564cc5720bb540112731f4ad5824053ad916313cc09f1b4c35dc92829f26a8d34d26ae8f49b5a6c589968bad76f4242ca52094e6e41e9f70912a05d5c0d4db1a2ab46577f411eb187f4b9305458b9b4299452ceba254e89fa7fdf634ba0f1f6de0d85ea1d64856844f7b19caf8402523aae228c1e554c98798b2f42568b010ecf5d9f097bfd11e9a02218b38053ba56813ca98d1afb07cec80f91f03ed0372a1c5ec33fc4629d7b44ec6172af3d577a93a8c506eb267e0eeed084c81b90f91d952b545fd79f4dcb50c01f93a11fd8ac35dd072f8f323544c9c3a1c2dac9a4694b828820e4a2251c729488a993b53249630e8030d998a577f3cfaf69ee8edab6658d6412ebff3f3a09ba802c8ae4bd0f4851ec4979d4d7b8c36826a05426860dd0084391193d198fd6623a35fdeff628f0665c107c12e7767f494f62c13393bdf5841976e2c5dcc211a3acc00a1a89180d22945a5834dda0cc711abad3b60d84514a8bab40334a709c217095df0c4d49184149d2d99265a6f58384a138c66e143f9589887f45f41f3f098fba9ed529d9e6c0932ef10eadca5655edea48f319a9b9f85a83a8b23a5b6e15bb0f1c5d2d04aaeca5e730eada4033ac433dcd8c1a64e5946a3d93416aab430692932cca04e07e060a98d0390f0a284b69ca6f061616152055ad07630aec30a552f1883d321093ad482cf11cf8081d91e5be505214426bcf34e664a29942faba5cd160d47c26b274fe6bf08e53199523097c25c10d270045bb7c5679661fb74cd9393982d85496cd6e2b523b99944bba7ee483ef45f3ed025a4b62322ad1bb77308203791bd8418fcb9efff74ec0277bededc71baf3de52568813c7dd8d0a53dad0a10a8441985553fdd3df805cfb17f13bf680f41d3d70365602bfff2d1df64a9bad401384ee51372e19c8f02fec8e1b8ca025125c8d5958797e10d7a319a770efd2d116bec8c8d9d9481e8bb27f713caf9d747a8c6b4d54ce234e5042ef9b76b591a6c969310acceb889269f8b10ffc9c425fbdbf03b54a8d4fd25391e4370954f0c70cc25bdb9899d81f1ca272d9cc6987970ea157ec61b88dfce5f427fe4e662dc253bee2a8845bc5f8e90a548b2ed99de98371a87f2b292abf818de2a7add8b1fd02d9166e533ac1bbbcc360f0f43f4cbc417d51f190669c4649f573a08f1da8360c3d017848fcefa84923f8af56aa435f61a5d95ad740d1145daf7f85552474d08e0ae213be56a8c060d24950713ce0a146ddaa11f22ba27431d96dd06760f0401fbbd6e9d46a6be3315bf650e94bce2194c57b6549ca9d884f7242510fc0d08c71af913778baf7d4789431fa1df41796bc95e499ad518d85f15d89f5a36eb310892b3dc4c10cae37b9a6ace69187d3e0d09482990ab986927f17f198533980cc463e229a715a3536857de03c26d9a02f228fe75dc364f17ee1747095e67bdcd0f30d2659099cf748964f3be29ed0fb5e309cdddcf38cff007dc2c5e83c3ff8ac713a14ddfd2872c654fe9382c0aa39cc0224bd55878ec3d7ee630a408285efc0f216365034278c6e445e9b91436fa9114854c068e0b93e4b050e2fc1c984fc8fc4010ce5cb38ad229291b44dd006341a717628d6df026606f902a88f6f6d42cf1d2f0eb8104a7290fd8a8788c4e1265ec691ed4da7f3d11ff8a08e2ea60414c24e147a6761ae54e7083b3e6e9ee865b219980b1f1fc2ef816a9cd6e0862c441567fa5fe470f6a303d3d225635c8d63c20ec3406fa90fc0007ba30eef9b981c9fac12c32d4f762b80d59024afd00d6d21763d5e36185cc21c925d6503bdf117c1795599cc7698d425dac1be5699a8cacb8ba83d1fa576adc70f9718a2e4d40a77f51aedcbc246c316c61885e0a1790d7f8d2c44dbe2c920f708260e1878a5185a85712262f8f95d21223e60adb51bb4ff03f96aa515583dd24791db5d002f9c7162f86f07afa5e7e36482554b4aad2454426e607b3fa8a379c86cba7ee1f5742983d99fb020069a10ef5d0fd9d5149b6b193731bf8998b5f81589430d000364bbf312c9857977487447c3d23af6c00c5b50ce36a60c2a320c7632cb63715d582961c480fbf9eba23f22fe2a13daf241b491196929220f339d93711bd8f83165cf557ebf0d1d8e5b80cfeb57090d65eb9eaa801c551aae04aa260c00fe07879c2bb509b233ae9803cb41a4f0ab5c59103d6b864d131961d034a279219c97ddd662c281683c0325516204f7a996ada5409924470a79e9951ad471a7ed606aa4b4c46205daa9e3e965110f3e2f2b46702196327d841ea2abd880a0b3d80066a2e11e47fb8acc3b2597c168caa9e16ed316b37361ee2743b1b6ae34c1fa439cc75140d047fc5d062abb2fc1e16eac0698321c7405b33bf8dee81a00326437f41a50b0c7f8cc012e22432a7a467103d640ad8fbd18cf0efe23dab8fe0c723f1744de701b445e10c5c0121aa0f9ccb636b75bc308ba123f800fed4008ae91b6f00794b493e867237a490078ceb5468aa740b8454b3c69857f74ea39f367a81e5d001190d23ac51d4d04cf6ae1adb01c4f36bd7aa563584896039bf8c55c9be95cdb0afac167bab18f19438c548f21b250b7895b3f63d0396d37464832897ea472317dcb1890904c99871b83facf2527bbc81890235f7a317a4557aff5d844c388f763df021f71e37175088a7ac389b4ea9646a7445fe2ca87ba782b490fc1f75becebfcf773ffefb7299fc209aa00d421eaff842e8b1e1a4cefa6d86965eb076fd577f046dc9a6938a7d5aba980702918187529d3ddb240b318f436b0de5d707c7a280b6449d72fd2624bb7954fc6212a4f6d4e4c710a145d347af235bc69a2465ffe64892129d72b0cfa990383bea965a601f5ebe12965c2b298d99c02056df6f1e25c3667ded6102953a757943395188609dd97d019bd81da047997379cce8992777dd1322bdcbd99f7134258bae84562173a05060f1d34d19ce62ea2dfaa2bc292df3c9ec50a5655afcc3f22fef8076513800de6f155c39d5519b7df6ca8ec6d43cce9759132435bfd4f56ed422dcfecc342a0b11b7f5ce2956ba4d3f4833c125a06c1850b5ff5f8cf97d4e3c19ede7fc2b45be2035b26d81f54bf10c16300f1cd51e96f3bd2360483fdff1beda05ce3dc54abd1c287bbf0ebee4f633ca7df3742dbf47464ed838467661d9167aa7cd4b379d581cbff3a1f07e1eb39b2e5d2f2a2a229d256ccd2b49d59816e8506229eba31ef4dc98586e8b2a80c5e16ec9d455f74113efe5e155563863200b352d9b58436192706d31d04a407362736e4740aad8a31b7f167224e133262798c4108c9735c6ebf91170795e54d329109caff91af7c72d509bdbb3d6cf89ad61b46249c2a6c8e7d801d4419e2e4664fddf36483a31f66aee91dd93cf50ab749f6ff2a5738c3101bfe88b741854883f752f4f341d6286d3284711aec95d25bc744c83b398d772a3036ff2154620c7ef379f1fb83665cb61fce13acc601df457a12ca21ed9585eba08ac175c6d8b31788f619eac6d34325007e5d6fa9407447eb0240755d89c30d4b0f95c02847dce25801a2034727fc9594e73c04187277c79550e421d7f4b882c1384d74f24b12a0a048e27812027d3a7a04ed34faffe2e437c4164b7ecd9416f2e0909b133c8048464d1042d4d0a5b182a1476e06e61f98b64f6c096ee77a09bf14b41a84c8b092e829167b9958285f25a554ec216f8c1cf521ec21e9b7277bc8f5231890c1b1932fb371d5578316eeb379679632fd126d4cd5d74ca9ea5b2c017e9ca2b4f4a79eab26d85093024c05b8e5e49507c7a2f53a8d7684a28fca3d388da6be65a7aa4484a96f28b5e56c762576fab24f9d0ec1c635958ecddd1839fb567da1c10efb2cf2c6aff6b6b139562bce3ab780accf307cdfb45f457bfc4938a0061cc2f0f5c9e27c0095189a2fa74298c414a041a993b3480e78e8454cce808ddb663375196b197a40090e57a9b29d29b8263c5f5461468c644b663a700cdc3f6766f75c4a22f4e30396f70461b11598d3dc7342c381ccf4b899ffb345802e02a30bc0a11022e4966e8701fb2c5a350a8416dbcce01e0a81eb3ea930e0f6f572a66e291dcf773456793a7719d73b4f42b1002a3e730404b59391f3f0042abb7694370d8b9e0d6bbbbcc5b4939d3c81384c23570aa4c68f38291c25565063d403d303b9da7aacd71d94ac9c33d71160cc0588b4ab2581fdc9484bda2e097ae80639469674e90d99a6164e402619e6d2772d560d74f3d2ea387025bc43b9449ef8291c6a25c725d2c582ea62b1f3c66034d43a3859948970b24dedcab9d13bd48d58db8df8810c4ded7d4835842d301028af43fc0f4092c02a9094ae7aa958df5dac81a489480160960d458dbac446e00054f9c273104abe80ad1a8ad45842ef6adfaf3bc8f2fbafe8eb92a8f6fae0f102e78ee1278568e1de733a26b914b4be24828edb79b40bc9d9f7faca4cec584107fdf8cb1498d60237cbaabbbc017181b0811f3b1d04740abe79a90775e2d00b4bdd76e3419ed8e09f63615f74ec8b952f439033d7c5705e6a882517def3877e6e4dfc9ee093d87320112695425b752ea37b2b5d68952d30571e2f5867dd72f7edd6c7d3924469a6d40b26c0f2186344949afd5a05c5cfe6208300021b9486dfb72564edb4abb544b34fbb563a304c0bea74e0561e6ac773c414cf1fca0ac65dfd429607836f940c726a8d3be1da1f5d3835fa907fac1c4362a0dc78ff55dfbbddde1bee31e06970768a493f8876f66ad25e9cace9361516400cde5f916d3c242c1c3d6b86afbcc66483c8e76630c45e89cb5fdf9a24428cabbb47d32ac747531d965b17a41a9c46fab91b7648158518713cd9372b136e88ec39cbe5d6ae17254f8653fbcfa3480304c95535f4abbd6e09773c36bf522c6937b95291d997e547f4ce9d90ba3ad32c4f1d2dea60b5ac852c1529845c8b582ae9dba1e5f322663ce39fecedaf377df47e7e8dbb47e89f1bbbb5ec40b3f83ed71148ce86e2c6031582a88f1a5b53a3b515c8b352f26e7387d8b74080cd7e3c377ad962bf3d0a5fa1e5f3a399d4301548405ce502a9460ded75db4cdbc350c137fe79a0c5a42799ad2626f84977613a741bfac98f050c417f240b78b72f35ad885cc68eb5a72c9d0f04bd95c501d332f7c8c97582e93446136e38baf1af14aa847b1fae17e08438f61441e9a53ee7160f65b35fa3fac77271638ec69ba6becb958f7c78384ce1bd1853856d064b633a9f11a822a981385782a6a5369d52ec8aa74b061bcc31b71f39b9cff84f8d70ccd9189a44ab4239abc17e91815999812f01fc58dac73e34d1a11e46bfbc13fe724d938af3b6179027e533883fc5abd0c25298b2fbd64fe1b75f801bf507a055a9ea8f197592825a7d43af6c03a0f145f41866c4e6d578361665af3bc28656938570642faac1f43d772c7167c9261dcd2100501acf266b1a605a8d8cb61fba3c21e319580a2687152995fef199c794f9dcbd4b6a54ec300adfaf9fa714be57097b7fc8f7ae18b746813362128833543db00d31b1add0f09317db88c1ddfd008133c906dbfd0f5d589c863b22f256212a314f078569b9480bfad4b302daf29c63732fce32cba3672a2de9939e9fd36e8cb0a066ff56475972464c1e7c323e71183d047320143ca8194d880addd2b441778bd390bac18eb839ebb448c8e570b0be0df3490c6a20d484f4e03bbc5407533be24926fbe38ae74dc6d2076a81143a3ac050a5853920c3bb039cde20185691bfb2dbac2f0ef045633bc0fc1a00307a5bc0a59bfbecfdf833858a0ca325131abfe6e7fe054f5e00e7b24a8e1a683759f5955e1159d5cbd84201dc6f22dad4c1e6901620c4ec01845bd47567927589455ca34369cad57e88ede097ba5a1dcad9131bd82c980299b23a062c72d66c11cb704ce000cd39d37aed4406eab9e4ebc4eed1cc0fc5abb05cffd708545090e1bbf22aa514506810027af8592083ca2a955b07b7b431682e03b10a03a338b78275cb89d6e57f6167972d745229a2508122d60ed5c4b4b2b006c68dd871b46956916a2f8d43724bc188d17400873fe9f3073874fffa6e3f8c13de4e3443d5aa3716be19ff25c398153b18959b9d5ff1a7c4a8674d6119f52859bf01f7ef838297267454f4c36a3ce265758e0baa442e74b1a5e4a7e11b1f3bc5b856108ebff26b67f3385795a8a2fd5348c19f3e96c2b5db237eaf66f2f2b5d7f1cb88fdbed59ded7d7676f0dae4aa9d5a4d1657c5c0982c72f0fdf8a4556f1ed85def85ede803b92f88d76a87beac2716362f6b31d29a8044a753a5d735c33f99c9cdfbb78a24060f91c939f811bbb0e40ee220395505d468eda0b37d4bb19aefad1293c3ea130a8eb1ce215b3ecd9db28306158670a5ac74ea5f6bf9c49556e10a6390aa880fdb2d4883e4c9a44da2cecc142aff9531953c732d150e1751296c0c95326910f014a952ed146e6c544a4e364cf44df179e201148380af35f97179501ac09314f56d1e915ba178fbc74c71016fca9fe4a3154163ea820a87f8528c890079364c84e39e3301d842e1f8380212a911882716c4b8b6b371b1b12ad2429e6fabe3534bd1bd4a87a90f45af7f16b7dd54410db430505e928f39f6891cfa30d0b7cbe81f4f4dde7d4dd9971e8b0ec7289579ec662e24c678e6093c425492ca1d37053df5444d2433fc3263690e7b03fbf08c4f1a4d2ec2408f6b11cf9e3b7cb954460ddaa57b7760ff0f36e3ff582b63818360c9386dd6d6bbf0f395892de4019182d8007ae046e146a9de843a87f8939ecd1c6cb01e2c2ccc2e80a6680ea0915308d08e29868d8b12bf7c156e29d8282af7ffd48231eff474b88bba2297075688a0a9bd2001f4d999c11a3599c394aa346a89326848474108028c09611bc33ba1f65b0b588ee27742b914e5664f4b85995d58312df49c6c6c57e67e75b4cb5f8eacb70f4fbbafbead2b9c6167ff36b5b6bbda82202ca5da76da50ab2f379f297bf065816a1d7a4908d6d4fffa4417c5e7acb7527381b2b979e85bc86355973931b036c4f9c28d52ae3d0b519e65105139e89bb7f332213ef9a5c0b36e0dba4fd53c7a7110ba4e30b37fabd155913ce5be70eff55a1967ea141ed20c0c439ddf818cfeda56d02563a1773c92d49616282a713b807c41317dc01bcc5117456d26901bc8aaae483c673a33e54adc9570c30c31aac2393ab757965420f78821da2558a6d47e07f7771838ff235d2aaa6a81e5791181e095458f736b9fbe40f5175bf05761d59c0b39b374ecf30e09ba9ee22bb0ad62cc75f6efb38b3532394eba981be6ececee6255c39281cd3b4ae5eca9853de10629c21a3bb93ca28df8fb7b17c5a9956222348b1a74444fa26014a6360875120e4f7508057693388007c88a1059507a56bbb8eb0dd6a3fd1fb5d487f24a36c801dc9dd5b31b1e23b854477056cc97c7998df2dce758110baec320459ff9f0ad454f180fa175ab8adc68d8ecf74ae17262296ba0a9982bbdfeedb7b05fec31606556a0c0622823a90fb0bfdbeb8bb04ec0a2d203624d61478951a4b48e53e7fdd5d81be72a100e79dc71e5aff2c031a562d5299039f5732dbe1eaa7c8d6c764021cc572c6bc9ec06883306a77e89edd550bbf8ca162853a997569a10674918f395ec126476a32fe0faa8fa11f4d366f89521173f6a5c2ce09a23897b97bd34f4a0fdb574d4725b1f75fb2818c2815e7628c59498cb0904b9708d413035552076ee6c44427eadd8cafe966d18f19286b5c0c5c4b7253efba3468c9d26a1217f8d66b14c901b81d84201b4f829b9a398e04bc8164d5813f4eff84aa548023d6646816e168d9955b0cc3c6ebe5296488d9bad014c466582161dc4c7f292445f269ce78612d26e6a7516022562bb38d5b8ec211bd706d7efd02d8ab227c4c1c7acfff78650c08be18e049259af52930dc8c47f61a1f332523e011afd62f81bcf1b24120c1df07e9608d0eafe2b4e3cc2882442e953a5dc44598642c3ce947059f70dd3d8ab01f0228064beca5be2d9f7d2d70677d15d2d1c93c74f16307d7795706cfcbb5752116df47b3b8e3c8ab91932ccf7923c4d3c9df331599371b4696040bcc3b1ccf6e62ffe02cca920ad5a3442616f85c7e72e5afe0ce9b01e37dce1825729df0209e06f4711796ad3a8d2e4137978d38f862fe3aa26e02c6a4af9c1d58d4d01d62f38fc9ea2ab8045a769f08477c5e0306aa7c7cc550de4e61176e949d72a1fa5c41cb96a24adc13b058d009b6503f18958eafb67b6d371cca702dd93369d945f7e78d3b48a95d6cd4daf23a6cbf9e2a6ab2bf411da0163e3329abc00e3372d85b5530c8680c5e8e4a295b608727d83d4202937a3649bd160f2e1b3146dd3e649d03de7bc34552b5e2035b99a2c168ad7140a144c95dc1674f8171f6a3846ea53fe065553d9e515cd45ae8f7a4eb4a6c3f64c6f7e658c394e8d2ee317379b32b1aa21053dd1ffeb2fe8c77e1f390b16498c020c17457c0d7c11069c32b376e47ccd8b446eee337254ad15c919d1c088f5e32bd1d4187c4faf9ca7d9bfc36a4ebf1e7887acc596235a88ea8692c1b1b0bf3274a1f73ebf729af1a1deddd5920116a8167720949750d3b08401773321d492de772ef8c84270733386a72bfe7bba0eea1c8f19c0a86058fa4d7ea48fd0a2c917e862815e3c146f56c121716d0c34efb5883c1c87192b175697b74ca8bcc1d6a5b99c18c251b65445c8e3f1ff7a937bc37e3a1830d0474ad8ae2d0a93b81d7f84a17e64828f2e89f5a8da7301121feb9e665ff23c97b9f902037caff624d0b089760b90558bd2be88d77fe9c446fbd5055cdd1270275ae8d4615141e9c53175605e7772d8a95606c5d23cf0169aa3219f2eae10ee0162e84b621925a0e054194caa494dfc7753699dd8c204a69daba0504485afbfe59ae22b0c1260f4628f0ab419319f4e4f93ec65804252558c1a9ce093ebc2ac52e65efa39a4fe7d35744c40d6fa99b4e46c8d06054b5630fa13891fe455b67824bb139f6be3248a89780a31da2f6fe3c4a30cf51c8fcf1b68b8cdfb402cc1866d0c6b295b1983c1061fd42f6ec2fca600df9399532e6e3ae720fceac593276db035350543a89f38b029f81a5ec8e05a67c89d606f9e33083d6b6080302a6dd294fc20f6c71038008d26bb9bc2a2b748514564c89920037a732d41369b35a0923214dfc3b2ab25437c919b8c5b45b65cfea6c8fddd2e85df8f30d8c3972a87526fc2483a5082a99060032fb9bcd692aa6ac9b26e049004856d1d8568a068af8e50daff8f02c5bb579fc5add8064390a1fa492f32a0822ec821cb6d29f0e1b985be518c8838b808d2d76e8be376585704d0c05600fb683089b9d04ffe430ed68e122e8dac88cacd7a020a0b8a0a3a57340c31cdab23c4bc8db07512357155bbb1c382d453e45d8a65615f31bdb9913285db84232bf4acdeefe14dfa9e6adf24f39738d4cdbfe7decde7a6b0d637ba819d7af811b0a4e29177768407e7238ce0421cc85776444d573ccebf36150a063eb0589cc37d7812f8e8c0f76487853ec81ecc700c67a9de840170da45ac5f3971483e46170dff384e1ed13c7c20e8218c077bf22c2b890717b4ff910a847578445cf8846be19c00dd81d7a66ace8aa88bcbc719d1913482666b04fd6a23e8e346d05cefc23dbadb3309e5000a2f4b6e8ccb5dc9a852973207b239ea8cbe2b1842326844f9a5bdbc8c8000b5cb7176c193615263a08cfb6731b70b2a83168148ece87c149bcca0665a1b9fad8452c3f8999e74ea5168a5f15ad9e9f3a1c645e0334bf940b63ef6dd673e3f506dde23f08f85d33b8ad57b84db7bdc1cfd78a01567230b912004be75d75d6b5cf9add1ddeac1623943d6885dfb88796fe6df6562c640e506511678e339e43f05d07905b0578fdb3238680a7a9d7102d1b47ec9ad5fb6ae62eafe5df8be1052875fb8531abfe0f0fc634537254c043a8f5b399bcb9bf2d1eba1893b5bb147105da75aa7fee16e4550a4ffd90fd08ccdcfc5c78af76b5e07b7532682cd8c65f6d05c160395deb173b7a785d21aa2ba7fead3ad6f27dff4b98a8789b0f608fd7e8b7de5259ad70d52e4179cccf26bf639e737c719ee9c4e696c802254380c1b847eee75408c5e3861c74d543c3190cae4b9203c7eb69604df7a9c94985ca20c848666b580637a07faf110388038a1a937238c7c6d228e104d41ce559bb1e490110d78f6745796b650b8937c6070b237286d5421c586fd6d1c2afb3973e744ff9f8b5264429a57019d452897fa1251d1a33ccfb3adf2feb6f123e2fe4252cdc9159cb310d159d2d3dcc1bbf8d30d236c2d4406316b75d355780913e3ad629c55445e82b66e1c9439868a5961be1727e79af00438c55e561f0af034e0f6a40fe6da3a297b8dfa831016ea6a72e3f470c64ac56d3eb15fe807cf35871b542001542b25820e448fe9f8ac45504b5019af3d4ef47a6b3deeabbc94e311428c20e45f93bfc6c3d6ae464c3f062111b5521cfe756fc4732811356e9acc358457b6d05bfd424450d28f7ef446c910e51c6a69b6a8676ce4eb65ef7f5a9a7202d0e696fdde7c946006ba51c48785c7684856ce8dedce7ccc7601248ba2223d781e8dbbbaa9cdfc8aad34ddd7407d443000285cdf056559a8b2df57ee5a19b8894fe1b4372bac773f7ccf63faec48bd9e5a43ccf4aa05b59060098a2055f7f53fbfa88de26c660ce7c7766738641e62e53e115998ecb8a538c15057811b98670834b873f22ed60ea9aa98c2ea343507a66998802665e3047c8fb862eb604738f79f77045c00c1093e6ffaa2e856c19009a412b10010d609a76ca62d89c31d019da699266d7362b832f5f1f55eb82a615722f6f58bc9350ca10e290b56f84d331077f9589093208629670777ff077b7e34e92995e81f62640910daa9bc2683892562b072457f1638488f06274e974e1881c130efd5a8fed50b7cfa657b87cb713eff4a00c7267da3b007772b07811ec7ea951e696c36ce003101c9124cb912a25379b51592a2fc3d3e3e35053171dc8b1b5f5e8893481a8685997c538eb96ee0aa34a50b0578a79159693e82111ce4cf514ad5e610ed43f897923f185436a595c7a6c7707a54a0744a0074a6f59001c87ff87fe017100c7747a8636e7ed407674864a0bdf280a511187df70c4e2f32253c83dc8b3f75285489be568aea45c23ca2da19a1e1e9b475a581590029922a9d8489ac7e3cd9a65f941b8c3efba90d5c2c7e79dc7101478d1258aec5e419f9e6f3f617c1eea67878688807138bf0dac7cb29bcf551c7fbb50113d153420abc5e13caa6bf05783676df335c0ddd75c21c2bedbd8b8997229e56575d3b3918fb12d130368168843ba9e3952723e6b937f528845b35786657143062d1c1d6499f39344c223f61d3a3ca427e9efd2601f5d7084a011b23b02a19af4718ad8742f67b8ee3b98385bffa5a23fdd204e900d447eff6398585f7c5b24d88d3667ddeed796cde367246d8681958024dca9b60d3f26137fde7292a6c47986700c52d11b44567ee76d94e1505cf3474317ab250ca970f74fcedebc903f4f20c78e536e0cf584da8a8b9a3d16748c4d885c45a0889b2ee3466f724e519d08d12b6031ccd86d0e16b4d3ec462c3ab6439962b3f4a06331b97da542172d4383ea06d506305e9f951090df7893c6e1d4610a1a7e58fe5034c3430db36076e8a181ca51fc90d74619a5ca1cd93b174fa350bbfc5154969e5c722290d57abeac8832386b7685176d0f35526d9e677ca030f985e6635866c965c912a270ff5329264ee2dde2f6fcf3e48683892f30c666cb9ac63e72bf1269cdfb1af1938907b5502961fe55b61129ec383caeaba8df4406734cbfba3a7efc8beeb964a12a34a83aef2aece6874733e4f25a96604c2202d6c0e1a13a33b9c465931de9a16f410da2deab675100957e87502a1ff4050ec3a0696773d680f33932528502605786f7161751bd9e63ad7200eb928b5e0d7e874a00161e4a0d468e047defe603cd292ecb9a1b6207528ff78098daf7b43475abac902477d7ff388c6ceb63a9306512f0970d3108484b6253c362bac80e5f0506fba4f6ebe8c5e696bb2c90e2c52ab4826f011969ed9bcd5ec80180eb9e2b1ae6bff299672d2c666837feda7ac4f62bd5b809b2baf9992a62c7703dd14c7c76c83c05bc1e4f0bfc92a2c08d4b11002c266aa2bcd8a4092a34ddc2056a167cc66eb155f20e42aabc25280ce1ba4b380f916ede2bf2116f9503bf45a447d1254320178e1434f5000c85a6f2066f631852ba9dc401fce39b589e88fddf06a01edb57290add4c3da4581704cac82c46b5147a8aa8117a909c9a196e1215eeae819b96a61c10aa8eaa1b0d0b6be4eae1016535fa10ba86e1240ba686c97b2184ec7ecbc2ea5766627f1eb36ac6cd25d97c8bc7ee3baae7e4af62bcad4914de720ee053d6a400b35b081277af2bb4bdeae702752a29427e54f4fad33e9e1a0b80f8c4f9d1952c01cb3aaf7b422e3f7bdd5c1483eee1b4d1c1f31377f34928e9b452ee951ade43017e60fc6c8307313ea3daf4f34907bf93fb5a200a87667932bb097acdbafab72af14d60c946e6634092d72d542fc7df9052dcfe75f2e826af37698065eed26d3d6da0c95cd94c1d053dfb0cdf5bca1980b1d3dd4a5faeba2280e6d38a44d65848027e0b934ef1a06465b2b61024876db9638796d0689b637bb227ceb087a64f86a68ea5ee0c4dd1f44eba4ddd729379417c8279be751ab6b36a96ad4592fb80ec66f1e938b5c3c9bb3cfeab9b5556d504b074e6769c82067c196df699d6f76b061a18f36874e35a4cf35a9331347697b1148f422407bad9f8c3efa0018a0cc005ab7d2fcc1e0822a75380b911e44389817e13ddf7b129108e10d312b213bc01ef55d99a770527d4a26f73d42109d470de6840696351f0fe2c6eaed03550f4dc6a3eaa55473e0fe3d98b622aa7ff2fe9e802fb08fb87205816e5da616601dc7e47a2c06014c75e11a644ccb73647b34b5054142430d43b3b7923aee8d4d4f15f5ef5080eef441c1dce962bae706010d1b1396880ef0473d815ea989769373f1c9457230730800d5a84cd9a0d53671e0353dd4eb8604562f2db8f874a3eca3c375f0ee331df9c9f4372401033b2c27d3094cc11b951cb154438456ec658e3548d9d34a31610e64032d11506a3d2df56a4db1638aaeabd2c0747d8c8a7660a5d9b35efeb9bf342ee56e964943423ab00145dc33fab2d8922eb82487a2a5022788e7c4a801cd31b8656745133cfd5d278b677da007435903d9fbcc30632e51c6dbe27c70b9fd9369cee3f0a1a817805758284e02bd90f59cca1fcd124dbd107e240dbcdb94f0301507d13d0e7b53d549959acc33b1c2947f982191da045638a79d99f88b34b55e1577d732f3df8621e1631c47ccd6dc7ab1ce7e9267ce4f710c9d5deefc83a993328ca96ddbb5dc6a711cd489a623defc9a48df1816c7cdb7d15ea2a17e192b8710e97d10c4ee11cdb1dbfb759fafbc4cd0dda7e18a42ccf16ba23fb654929416ed7c1470da5932e9bf8f94aaf2a062f86e4c8747251ca26939dae55e3be2bf3bd932810af8a9e3e6904772be904897af6c3a0537da61256c381ae59e94273204d8523b7937beac77f210f7230b6910550554cc0113f00aa8073ae1617688d395a0b2a903459fb2537ebad8534149c32db320a202961877500185668c2ba10a2ffb8030dc487451997ac5a7b2a40f3b0b6b99593456ef942107e408bddab037b00907b1282170d4b99a6f71839119fe4a69c319092a5ee1b40d09fb34c3444fc5958578a253573804485c69da6865c3352afeb2fa5cd8f14924d09d0bbf85842e8b2924c604fa460370aa84c2cf9be80f9b7f1a33ac1ccde7084e0b44ed0a26c8118e29625c8b6bca766964167ffe4247cfcb33e1ff5b39c69bd2857a38a6b2886fc89c6367317f738d3662f5597038f2a01c4a3c724a299d8ebc51b4db18ad98176f1c21ed5a5fe669be06d2b4de33ad47c435494899f5b88fcf83ff3ef127555472b010029dbf61e258bb04b264a83f78716ff82269cff4ebc5c2317f4f67e8bdf2e6954b470c829994d1fd0a0341b112131f9957ed212d5923b1cdb10b7a4480509b0e4fc842d6f65141514ce884f26f4a8ced08d0c212912ca14d3fd6bb96b53286dc38e1e9b0406a41de3020b79750dc0e1b97796441284ca01f08450788867d651a7ef6482a5ea91d58183eb3943931e06149203892323fa7025a1c8227f78afa8ec2df78a0e00a7aafebebb6be3d753a744b71d95bfe5a420580dfb8a133b49185372ed7c062ad5e41be83c067c967d21052b827ccc4357c2ec44222f76bc8aee7ac1f9c3add9463e5ce8b729c00455d1e70edcd12721c0045ef3c40b49621c83a07086caaf83babe45b833f5725074b5699d68459b21d47c0a10e0f1a6a6db19345169861c30a134c52ea9b69d8902f744c745868eb980f1e3c02544c5834a1dd63f2aadaff319ecccf9a81f4fac6b6b75a96ea7c9d0525e6b6a1ebddbe396f68777b66af27545cbe3b8958eeba48c3dff0b7b776ed37e0d0fc7fc75fcbf41bbcf4338fd575ce1e7c28782bdaf98034a2c99a65b83447a715abaa15b847283248a3c90c352b8ce7956cecc730dfb19aa302db0ea9447b220b05cd42170c648c809001d221d32bd6f994483eafcfd9ffa3f687b4951cd9217ec72015ff82e5811a303fc00e25b8842ec9de8a270be083e1a870f7160e4e7dae2c65b466cb9541f51d95d4ea68c9343871367013167ca74b6dbad804c1efd25854cab3756ebd08273805541181533fcae01e3f3c881940d0621b9e712904a134d91a67e9f0bc1dc6dc2f78cded8e8c40c9c6370703424308b11661072972e849867639f084c5f8c74e00ae1f36d2ef41886d0eb8cfe90ae74c17525f96f36fbf501ea3170c979f63a4d10c37878449f295cf50025e95979980c962c5a482d89d1876861072410f5fe795250a9792c8f9300ef90cbb3ed940dff2ab0b42778bc2128e379eb827c8cc9273253600fda8f6982dacd74ee45d5821c226f461354def3a1034b4fd678f1fa4f7c8dd3420d55860ecb81661158487a2a9a0289b3053d12f5d5c72c7bd3928ff3662dedb57c57ab8dee6d1200247209a592eee292a29292b5794f53fb9d3c6eaaeebce2c24c3fe559262745e6b301d23eadad6bed6e6b6dfaf4105338bac992a16a02d500a958496349b018616ae8697bd95f28983448f6e58e220a9852443111c328f2235a9eb8a60d43aa774820b7b26bfed82d975cb05f36b225462ee056fd6a04d7069b2785191d7c5aeda617715e40f315acfd68139995eb4e41a98a1d58e297565b216adacb59feb5f7f72862a0bea6510519791e992e71e57580cdd365bf3ab74ae7399f44f11d8336a4410b0fd9ae0f4ce524230862fd8b53543737aea230391f75b335e79cbf2633ba2141abb54e29602ea0ab8c3b14ab5d304cfc82cac7be6c0d207f7a0335079482f78bbc2df291b140c0626e9d8bd8926a13e63ab182ac21ca85a4f243d2a3f0be68b0930fd5388b2e0d732018604b2237fd6cb0aa47c8c77581647f1be549dd14cfde346ca553b50afbee685d445112df74a0f73653c25522877d7d5f1205aa857286fd9271671ba92613c20e87d60eca1315159945a7c9f65ea984a9b10a32e6bf78d83bccda42e477bb75ba39120aa2158e3e5efa1bff2cd78799e862981db5a39c4cbcef8f183a46a7d23f5a21da13cbd2ac3714427638ddaa902d723fbb313367d8473ce0d1d26a5745f7bb92fbbf995d9e6577743473443365d73aa03a8ac6f35964c083aa1578156335643ce02403af1111c5e02fa48b53b58801ad5a403093487e8707101f948421694e145d0e2c8f27c2eb78da812b21a4c7634aae8ebb478037d7fbfc408b8fc45c0f1656646ee696d6af51f43170182ea0541646d06114dba779346c8de726f29654a494a29939432b4039a0365032fbd979b3b81da74d9c4c0299c12d95a07e06ec7623064ac0a9eaf4c2765a6fe57a8e36cb38cd57a50ab8b1895c588e11c3b625d3607065cd8cd1a7cf0e65817462372b36820488b1500abc180bc1bcc32f0d22c033f74703146bf1b0f07370fe760cec65cba338c28834d6619909963f091deccd3ad7c56e24b8a7acfcaa7d90ac1bc066069c1db988e7fafec828b6796d2c5f25a29198f593b4233b3e3172293e9767718994c8dac7da0d329c94c27679ba173c21a74ce25d5e9346b52f87ca4f724494a7fced65a6337ea7acc7315893451e340f533d18cf615d2886056986b6dcecd91779ef68c822aad2b31561a29d6a2641365b55aa3d866989912efb0f89f0fa6b190b6626b3870e0c0f131895b2110e45a28db97bbfbb7b0bdb7963b57790f87ed1efe731103ae7cd600247cb19c73bb4bed2ef8a0e7bdf7e257f8626b34348638269eda836fedaab4c9ed465247f8519c7045b8ce6df59e8e0ab71f93152c9cff636ee6e5c47dbb69b81c84ec5c4ac6866dcbf18bded5f81778e356b0881d15276fbfe464cd935844f57735860b1b97aff7e45bf16d7fe982e33e7942555fdfda72193f32af0b0244421f70beaf97f73d76b9c7705dec67ddc757577cef3f27effef3271fe78ca9c07a9e3086d039e7762d5cb0d75aef7113c1e2bd7b4f35f373f95eac9e736ea5afb538af75ab5848f054d57b262bd8aa52eca03e133ad47a8b7bf904b6fdd939a15494749cf9602fac07e3c176b01c2ca4d26035580bb3c16ec400b2dec7cb5a26bdd65aab551c7ebfeeeed7b0e1a6fdf16f20b7e5b6ccfb9e74ef45175f7ceebd0a56dfdedab82ac7898c91c3b98a0617b78fe990c1902097c9b7d6d66aad29a0390aa4f4a8f80e63923df6d8638f3df65eb5cbad78bbfbf8bd8c3186f5cca3c78b8f1f402a56f11daa24c366a8c85d790fe50793c55839337e9f358496835cec3d08d9638cbd87fc72c5c8cc6c198bee1f7b2f897dd087e7707c18934c3296ee9973cc51e75d9d73c499ccfccdeff81993ce394eca743edf35a391bf477b3e8a2e6352b2c8cfe43bffe833723a4e9f9131949023dcddb80c42f7dc728d1bdce00639ecd8b1030436b0810d6a50831a342f47218410620de1035933c15ad556bbef5c104104f123fe40031ad00008208098c10c66d0f92142a3c5c5c5c5a5c44d0ceff14b793ffcf0c35aecbda5b28badc516a316906b21dc18611274e13a29559ee338f7cebd153ef8e0c3d6f8e19893410f3df4a043878eb8c3dde8000f3cf0c086b096ffdf61871d3616580b77355d95a31d65edc59433217c09bfe1af959eb2b1df13f0e4b21b4d4d54b9298af631cccccc3c199273ddddbd99f41849f3235295c178d5341af541b551251234254a3325255fa204890875c2444f1334a7cb4ec4349a28e2bcbbbc14b99c1e151a299a93a6652455e8276812a14ec837e12b3426529a46c3f998f89088503f218ec9088785098908e55395a2cdcb124e6f32f145445e9620e1e6fe523233bd21abfc856172a1270f9708a2b35116505d985d449a44f1cf331fa2a22ad51514558aa02721719f584826392daed40c1a8600c96b1fd48886ab449f3d8b218ccf9a19ba74e9d2a54b6b740be9200dc4c5faaeafafafd74a51ff73b237ca24305517eb87145520520445ddcce16f8a91819993b3f11983214a69a861096166fec9d2d7b9981b30138de5da34aad49859c3eb74e9cca633935803dca52fa5cdbf94b5d49d2dfbd36dacec7dcaf3257f76670872798359dc98ce3974d01ccb46d468ed70c97183590bbba0406a106a09791a353c3efe85ea51bbdddddd976e853e0a42ba44d074913f77e4a07744906c36e53ee5a6d31435e96ebab40cf1602982b88711b2c74ad1beefcb19fde4d04f089ad52b049decd454bed0089a3e9efbe8a804eaf8fab11ecf3f736bd90634956f3e6694d98fb9fc078c658535e48605046a206c050c0693e9a02c08eef5877877e7b2a041d6a2b3d110c28208af6104b712ed051e264c2119d65a6b2d0aad393727bb139a2222d09c900834371b05acb5d6863253dacd9452cab4b5a73cd9379e99cc63302892f328f6c4522baa92c9a451e8d2a54b97ae638c6e46362213677a110d97a82414f5231e8d08f4bb1b14e855684bb53151d93001e9b08141846bfda728ad914a2a9e2a389d2f4171a264371c6855363f371b13bf7915139b92cd6e5028a5a88a2ead269989561b0a413ae5cbf4f478fe296a775bfb7c52e8604d4eb00989143c387ae43821a88232c60875ec68cae8a1a82a3268601aa24bc981efe1833d783d80efa5a4dbfb96dd9b37c2e7847571099b47d094d2bd6a9242b37f32cb6e8766a510a7cab7bc2cf9ed72d59c6d885da20ca3f7e70a652f84bb73bf37922d04fa97d8f7aac96fef872fbcf0a585c0979316b294f9062ae4d034d5b71e1f5b3164558b2882e7ac3f45dcb27727adea72e5a84d2e4911a530301195525629657d28a5949032f32e854250596eefd29f1c7d5c088a38ae485bf7435134f973cb9f74294793d75921d8edfb66e3dde5b49592bf2da7f91f3f1c98670c5308710a1fb8b898e74a4b974e91fc9593c45f23a6f2a5e4dea73be52ed4bb3fe73253a62c379c9e73b294ee9124d110837b6ad91c9555999548dd69826ad49fc17c6ccf60622482884853305f296d1a4d18e83792c4cefef2bba594bcdbdfbb5b5f2ee569be24bf4e2882b653d89d9fd9dd9b996b93401862083965cf05279d536e20689fee3ea5dd50064fd34b12043152fabff02882534afa338a24951082559afce6fc45234a63c080104208a19c957b64c80318f7217c58cd8858fbe8d8cdccccb1bbe7e6c57f07685836fe71adc53cab464275774429469a64fbcf0861e4242529a5acaf3ff535ec66c92c59d8851839726cb13134d45dbabbbf6f6666f89899999999999999993323cccccc74446ea00979dc49edc6dda5f0456666666e7ef617679c1fbf456421a1983dcbc78866b188d4c8543b58685047b03b77fbe7c32e4150a411c930f31445afe117c94c35620c849198e99c2afb73f7a81fa2e6d68d2ac899258afa5f13cfcaddddd6763fbbebf97c7efce73331cd13bc7d3b7a1962e3b449e36aef5d359f348a5a362463f438234842924fe8cc51c68dd19f0e27b2e5a3b16bac1caa327a1e795f7cbb2e1705fa4b2cf45d35145feff33b8f18333c4ea24e61f88e689e143f90bb1e84cccc64604066e69e9394e9e69f24aeb24e29a1a5dbcb4fdfcecae5aedcdecabc2b3732823395996164380331080b4f3b94d2ce5ce6b5ba27a5b4330326e392ce9ac14c4ee952ea5b175a39436706ea26b44f76f7ee9c94d3dddd79fa735742169deea65a3e9d93eea4bbcb1d185658436e709603901f9559c50a1644a074b6a1c38ef7d8ed979d134f4189026688cf673692a7f843c24ff15a6bad9139a308931181dca7a410f422fe198c04f9144d125a69e7d27daf69fcf1ac30bfa7f4e77ce86d54d16a565c692a778f6777dda4c77a69fa517f778f68e0664ab92b7777590bb3c16eb01c2ebc8312625279503dfec545ffc799ce6f313d9effcfc9fab860acc5e5f89fafbb79f63bd3dda5cd8b17cbd95cc69b15ca6026f79f2d9f469fe1c74c114b529d4fcab9d142fbb65f529e0f7a4bab59795529aa79ad6dc852caededed95d057f5bbbb429065b3746fdf5d19cfc502b2824c21948ffa42997c4e983e64686e246f89efeac74b45301aec2dbc71c61bcfdaeefecc5ea1c9815aaee4eb2efd9f7353679fd07334774aef857077975c1bcf2ccf0c5de2304b7f6bf116d34b2d6ba3d96099a4d9fa8876192833ef7cc194524a292479038b3d01da7777f75b2faaf79e1450ae28d01460b6c2acc2e1aa67ad2523cf4fe740d07b913ffaed3de73f213ae13b7c0ebedb1a18bac6cddc5ce1f09a6b2fdf4708dff38fd09dbd9d01872cb3babbfb8dbdf6643c144f09eafea732559dc7e36078286e67075802aa1715f0cf005b9941e3050ed46043123b50c214b08084167098d1ba716c603478dc68a97103075612386a700f398c40082ed002116abcdfdd1af82d1539468e150eae62fbd53dfce79efbc057e1d09ea99769436c0e07b2e3690e8656a14454c5896708c95a6baded73ee494f4b65dff1a87030464802e60141656ecead73bbeb5a188f65cb1ce338b78eb3cb580eccb99786c36c460c59c2cb0bd26fc020c80b5e98d526080f8c458005dcc281ba0302a40dcc861374f0e105f936c8aa87f6386c78e004225e88b18311ad00270baa804f228e1fd8460b9e312f33ff0e60700211f4e0812155d001051d4dd091041d4620c20d45304107806c41c88f000c29820e4c909d26548ea08b8c3d039a454e371812c68b09b447516954ccbf3642b78ded4af1c7acb1e3902fdd3ef9bebbceebdcba5d19a17b6c09cbade5dc5a6eadb57e9703828f386277edaedddd4db9c22e878016bc2cccdb90619502df8b2fc356d06d15586b09dffae31afb4d15f866ad689ccd1c31449de494ae811d4f1966451bcf4acdd9ee5cdb748f2d4992bb0aaccd2374a45332995a3d5392287528a2d1a89028ca442ba12525485244365dbb3fff28509c3851a2c22494888a9b9a7ecba8581fc72a73ceda33435515585366c9943269a7c0ccabd494a6463893c1cc94771557d2e657c82c25241d1231ae94dd64686dbaee76efd9acbd48dfeb5643d38aa583b0c9d03db89221261855844c8144836fddbbbb08e383efc1e6de7b8fa6c0f798ad830dd7217f8b1611d2e62a5af71e0d312cf547df82383249fd27aab5663052ad108b48ad99a88437d32662a1687d2ab322894c53a52425382225251c143ffd091326fe495848504414958922179d0e0000503d8a13262a940f0935b2124def81c072d1275c1f2049d4431f459247e4937900cdb0481a8d898645c260a612249432c0c88b6458a2921295a4f27c46302f6d5834269869926a453d007a1718a0325f34f64d32f6bb51639c17ecbd28e2b43fd98251e8b13c7fb1aa8bbed5a2bdf7382f82e882efc508df9b29b4b0cba16674a37e205364a12e19e30c081f8cd2fdad8f17e0c6688bd5e8c6176d686d6dc8e8b03113c75cdb778ced3ae6b83fa2f8e713832f63de5d77e78511e5c4a19bc48a4d20248194b439e79c93db587755db021ca74d37196daeb608694f08e13e8510b664e79c738eceb91de72edcfa313e44e346107e6570e53b25328005dd029f31a854ee1e5d0320087a00e3d5181c168a05e4619a06255346a8f20194038f0794092554516490c5318812620c500600000008000c880c30090072cfdf8ea93ee7444e3720de309d18d60a9a636a155081f492955d7592d8c4f91dc3bf07d6728f2d75d238a247c16d32ec44276fe130ace28d28d847950a2132f6ead6cbd7706f6e0afefc3cb4f2606c90f0fb8a21aa17a7d61f043065519345453a7dda43c49f1b0e87f35ab65ccf2e2593d978724d8e760e46abab31c1d7d518acd109810befe01ea7c378a70b14d28866739fe584652e54d35866dc2f1a1a260a8c49acd23be1634082e90dd8a5ef62f6413aa4d37f52dd4891e80e9136aafe4f9ca3682367cac09551fd666cbd650454170edc04aaffda8fac97bb4b8d58934ef02be875358b88a1aa75a56c6e825ea1ffcf3ec1ccf032412c2cdf6ae3ef84ae0e687d8ba062761055005161f141689e58286777138f2c7302ed56c6c8c3b060494766daadbfb16122571b8556ba35f959b27512432bc6c15697ae869872c4f7db9b82383e9378d483e23857e649411f6f48745770e2537f8bb772de9c36fdc5422cbec67b88c0fb43d0585c60215f79749a2bd1be7c2796875d058becea29fc224249dc94fcca87617d8d921a14b59c8e1ece9459bfd8f0c3387ad3c7189aa4abe61c33b32aa858559fe5b31606a95568be8cdfad96eeae3ac6921ab366c72c90f40bc04f70d292a538ca74a50dccd6e55d0e63b24bfef15752d00f4fb707c4ff953e6f318aede21daaaf84350b618218e686f5eeb2034cfcbbc03d88050b2b154de8b92979e9598e67b0f8cf700d8655927d902548dcfffbc58310d9cb71e56ceb650a5029fa8ec37542633a2b7118bd582eaed38fff2a44e63cba117814cc65ba0943a80d3d043b6f9f0836d820301eddb97d30d3d37a2dd6090d5eb6fabdbb1cc1d5f7c630fcbcb1bc4e50e996b28463de71bc9bbc48e1ccede435a165947832c437c9ac296c1951985d78c5845febadbb702d5904067a4400a6e65e5efe1414c4307baec2972137a2998bcc150498ffa9f3ac5bd200aaa778e3e189b8f1ab96ed5dde26ecc0c80a66ec98ceea72d1b10acc4e88969bfac01f6e381f97f0e457c6fd45ed14e8e75bf495ad265a0a708e6087a7d093353a34746033fc1c2c4a09f70f908954fa80c83ce9aa67dedc88c76b1a939667ddb1befbd33f5cbd01f639736e5d2156c27bb56dd8cd3e6b67d62231ab2d1ad0307d88a7f42452a08d25ab5652cf88ba86924bcfb57567d12593f09df1315e91544a3dc3cd98b9d486d651ef30e1bad65a8622e3d1e5199aee5982eed9870cac29da462fe18812fcd5180f6a29bb5189900a1cf1daf621525002763e22068f1fbb45db14aca34c09d803963ec6aeadd10f346fe2dc7b0b57e06931811d1d3c1a6a3a2f8166e9c56b27dfab8bf74b2c79d8c220409fb3136351c5ff18adc3d7e1aa170861d4944ec3959505eddeb05f385d73c56513f2e59815d5f48d6cd8b3de54b313cbfab1031eea9d4b127c154dc1c2e8b6f29c4cb4aff721ed1d23a0ebdc8f5d2c37912a712e86acd5bf7e0e763157c288f3ba2b2b8612addee5ed849a8755e37dc9044e9691ae84e663d623639d2723a8d9358fbf8a1eafed5aafbff08bcd99950888541d273ba74555362ebd44f97e47168bf3f115518ccd7465c8c400296d780afb2b44daf85bbdf827617a597caf77a76fe9793b9f653a3113987a112e35faba8719002f4f111e429eee969c436f43f379a53553fa84fb4486e1eb448082c12820bb1255d60148c749f0629204409ea40e0220b979abb4fa95cd2765b924cf7a92b9503d49bf147e819a88032c97b204a20a96dc82c2f75b37ad685e862d6ef5419167192f0e599d9fa7928b50e6fc1ab89724ce232a8f71c5b8903b6146a447851e8b08036b03d50b7e7e12a048ccb4f7d464ddf091e0d8d51cf58c425862f834ba7fe6eceddbe5c14b9709fcf52d63f9ad4d24e14e94dac98d533df90793ca0eb89351409fb58399a8a43f89db171cd091586031a1884d3a6d26270c66cca0c492c71f74fdc866dc8290e448df33d83f0da69b2ddfe92a4cb849145cbc93b5c619efa6fcde507c68eaa49833a39e46d03509732bf94ed7e00bfb580d786dd1b03e671088e14063c879b694af4ba495b1a375bc1648ce5a096ae7ad7e7c37b9adbbccb1ef5fe0fccecb94ce8d6b9b60d8fb28050007c54922d5c1e94c2275e0c57516a28aeae25d2a3eea4740efd384c633097a51bfa7c5c8ebb1bbbf3872a3be9460e4abeaa28d62fb8b8d93a7b98f352d3fae278a83971eacf0877755849a0260799fc40c47684505c8a7e1fd5a9b4fd585f51942fcb30a2cf95250f52ab6cd03619d06fb98a25ca73a34f2421599a310621fb2212fe58e8b41f2e27266af71ab55f8cb5108bb11dd466834f490e391c077841166cb6a62b6a62e6101a03f99661af308888bcaf5e69a6d28c5d2d26001ce55b56fb4fafb31db921e4e041f96b6dd4cce89373057d34b2b24ef075318c8109ea07fc30e6340482cac1d7a6dfc1c2a2612f198150e3a6699b0866796d13c630f9bb39e32f2a30d625f919fef0bbc0ed213adb1401e1e43e7859e09acda6f80c076424df9d368a59efc280e786648f2b571ee652aedf6b31b2fed5f22bad851255e325240b0ecfbc170235d58d1399d24ad4e33a546385885d7e7dc38ccbc8b4a19d44ce3031dd9d06cddf516f98862a29ee1273f3aff1d2d48db96802e6bdf46a4363dbffaf471f6c3853425a9461dfc0d87e9edd614403bb954edde8a60b6bb0703639aab6b67beeece9882efa1dd50ba4f484f76fb40ad9973e1e1e699cf8156ecb9253ad824a0ed02eb07cfdc2f36b6d11b392bf6b784197860155c936963e319e97a4be2003d38cbdbfef2a659e7a9cc21a455d87d1c6ea27d23a1b820ff522de5f46b21fc85ce52c6f80599c8ff3e606a7b9782188672bd3116b9b583eb08fdb4874e25386328ab4d8b643a69f77c3682fba2dd5bf6fa90b96b590854715d6981f44bfbebb45b1e2300a32536eb6f6d56acae06c0e93ac43d58934d84ac62611600ef53d8bd19df895ee37f057d602662c080c55abc848ca848a96719607ea720d68fa9a01bf66d5c3aa9f0d572446bcd93fd0ba2b1e3d1bef794050ae5e39aff55c462b56fa6e3472458447369e45267ac3d6ebbb1e2c62e52b5dad6147fdf12c714f053613f93185c209a5cdd94581083573ec9a64318f6fdcf62bfa1d90f545d2d451bbfa628c6d320d779fd6852baeec5871dcab166d88d31025992a86f282a8fc46e7b88a4767684054f80a150c6d54349d0f9817e26ee3ad09946c66fcd17a55a8b595de0c46f98ae16543fdf3ecbe60816d07626c911fa0ffe9110424a042b2b7e25d947c9644f6a9ba9c3b84de2bd9c32bc2013feb7dccb5edc57e41b4b997803935e538ab221e83730f19ef6a78bde9fb11c05c3c7ccde6ea84a42d263e7a4c6052bced902caf4e30dc78e40ad0c8405934f3c4b3ad6a275c44bae471a018f8c605776c02429bd2fe935f80d11c0cad67c9d5e0c66229185cb7ca6257bc501363b70434e7422924a12b2110e1b46d9563adc8be265b09d47b492619e9b5d21e74b15102ff665f427955a4c055e5304ba993fdd901c86ca93d700d477e5d7163f214001e0a005a5cb26cd1e58820a07e927f96a331c8f25506133981e4fd3a736163d457d1ffa78c8c7a57b81180a6a0306b247a499bbede8cda2790d055ef21afc3d8b2c9e59ada70a00c21af8e91e2b564c990a7298e830e937718a3531056108058784bbc71b2f150b0c82fd058cedcb6906fa9cf9549fc5ca2729a043e524d06340f3eea856bf82fb2f3c8184b88aed33bb6011d3c775f0fa198a1a1b47e3587b83610b5c5f9b0b47c916e7f915c80aa2561812f687b42fa2f2171cae6cc3d3462766869f485390eb172629338bd9f394c5362e233bdf2720ae4fad828c16eda1c97bcb40376bb1fc7e4c51c29dc9443443f0378f80ce0504a8ec1fa41b69861588d7438bbd61ddda7df516abe2229eb958d6cc4561955fa78ab48e36d026dcf3167e4460524f74901f7607ad7ef6dfb4265dc47b031c587a9d95fc2990d36487311e6815544973fe64c1f47d4bd9b7ec7dd1e79b980fc6b6c53c805b76b2b40719eff94cdd1b4abb8674c92e4e6bcd954b3d143b33a2e474fba6606f2a7f0f167a410db9d5d5c63950939b076eb9a6c82920f8bb59c81b0fcd517745b2a4ab83d6ede5a35debba1870174333eddd0261fdf0c196fca40059c8a448f47052b5e4fd5e276a967967fd1b4f4c4abea1f08039d6bec680e8b91d3882840eb6ef4b549aa683bc8259069dc25d1f5bc9a6ed77ec4592396f590f14735d6981f449fbebb3e381c09c8ecc8c5e16d15aa358ce96a8e1d28662c05a104480622c41c5a99c3a636d56a322e8cfd4df4ad4a4b3d46309cddaab7952e4cf6ba7190fd953a0b944f00054b965c9d30d8068d37a8abd173463efd1feef2e1f0ee540ceade21155309358fbe44291a7dc08042633fda1df62ad0decc88b4a39b4dca2667748ae909e0f0c19dfd4aa4fa8dddc721d7953462af1c2cfea6f60868f64abb58e85344276cd91ac678fcd4146bf7feaf2b7f5f787058a3eda82d32aaeabbaaf0b5695c0f44d3188a95d6f7ebe00f42f25c53ea9d5c3366c3b4d739f3b7ef1db7894fba57872e963074a0c018ae8ca413dd54a0131b06cc6a7057ffe9e488c5100bb716ab04a3565eef17ad4ab1d2dbaa3c35e0f53af080e16ffb70b80738ad3b3f496153d4d6ade347e3056f986549f573f0df7af1f0b06c202bfc8bd2c1ef2f4652292ba5b73a33b0d5aa54356788f659efe49573e7fdee80d8c1d8aadb8915f345c9b8d26ab34c24e9ae0cb112912c2a638901ae9e85220ed2f3b62442f50f0f365cd321d1ba2f58b20e0537d98510aba18d6756dd1a43e9aa3c28241776876897be6d5f1e3ebab6ee1170532f83b48c86d75f54191a6b029e2d86d09627f000638d28965333e13d59e94ca0736da72e1427f8f69e39fd499da0e3f4a1ad12a6d9181351e8a79f03dffda30644e38fe65d8de5eb2b2a8b7d2570e45225211f6446a46299e95af2c40d55c585d4615985158dd9f14e8ef23ea92aaa9d1c506b2bc977c8341928b3a23522b2cf207bc15ca4eb960a141d56f68b3cceae3515dd214aa97903ebee01ef86c378ab5cc0fcb1d2dcbc853f5abb92032e8d2c0a52ab42e1d26e8118282aaae9746237e07629bcf47f5bf571a2642309997052543432caf6372e5bc5c6e17a37423d82eae6b4e7f6a09f6bd44f15c8532d87e6cb1da6f4e91093fda7b6b6dec38ac2e7cfcb14fcae4bd33558075c2ec9e09811a8c951b93310705e8c7b0a70f1db95a8abffa1013beb03da4c422c50c3b80a03f8d41e48f0675a7c53f6e84f6e8f5a80b8b0947ef0d2cfedf0226fe5406552d54e404111e6a78673720470989ac6894b71b967afac67118b22c4f5a3aceb464c717b935fd8f92b95cb082ec512f10de7dc0a86612f59d79560650d89412c90ec8c9fe749ac8827feb7825483515c9cdeb0c1b38427f48c1e53eea4d456c63115b308d055da8cb09b2c782b9c1487526aafd5991459db910cd3d025be3e45d971697de302998e026b7cbfc19c2615ccfae7bc7049f8870bdb2e9086a99d0088bbc8c08fc49cb5491825c85162cf49cc7c1d33e5feae6add7b16660904b1c8e7880dadb0fdea5d4da994d880802d15e77d2322ead9a5fd3c74cb52a4fd61b5aa4410a6960b7932aabff2352c176c47cc203f8d5ef3303f34ba5baef8cd19d682a00cc348264750bd4f2ee6e0b94a88b8735f90865edf85a72a00f045a76b0d400180cd7e03015aea1c296b32bf78771f26be7aa9fe48a3538ea706eb32fe61709d7f3db134b372455b87b60f26a7e811b64c189ab3ba688de54bc82c87fdfd8c77db3e05d376f866fc3b612ed2b8729e1e695d6450fe7b43da69708df3070b6c47aac2a9d637dc010933502b7148741c768b0ad1e93633736f30a8356f2c9c116bd17a4657a0c7166523d77fd8ffd489c67eb735e94041437f262a3e095cee12e0c9b70ef1f9c6d5743fd71b2283d95a7d38c7ccdd5442f8fb238485644ae8314363c630b719999dec2908f1fb1b6487d1828d7a23da139c3e201a7082efd7fdbbedf8d67f889cbc5ff9e11fb7b84b994f1fff081aabd3e29034044f3c8a2546474c7ccd4bb02d83305f7272f338a7b481051331f97c8202d52180b8d43761a08bbedb7c634b93a8ecf62ecbf90e4c6fa2ffaa4f3967a7c6d5569d4a5249ca91514ad7062a14e585e6a9f24e56a72c0585153283894157c4178e5b8207bb082d341fba8632fed457651905081f39d8857bd6142a724ff47098b508923affbc5cf7ef41dd197dfb51cceb0d5b82fabf0dbffc3522d81a69cee50eb51ec66f4009f7ad5c041c85415a75955083f64f20f0342008d4cfe881d9a75f68c808825723c504aea1163c32e5ba4cc0f764ccf68efdb0836b75eda446d59b74609cc28bbf783ba580e08e4114658d5df04b2da34c379516870a88ec7898362dca8c5082d9bb445b46c0a7de892aa9de18726e55ec2df9abc58e0f4385dcb14f9561b61b54d82a6283308b5da8f1e9598794c38f4bd272598d1c7365b5fd5f1042ce383b9a2be3440090b3a11859d4954aa04dbadc7d8b6ef66d11dbbea8fead4d3276ca6164d0631fabaa5afe33f81853f9a02c46b63822aba81f41890b918a97d16d0356e394a4cb681add70a7b615d55600e541d780c23771add66a6f88d49845446def90b00d9436afbcc24035547b047c8d86e390e115688a746bf5134e0d9b7dea23595732367db3900cbde076c4326342d9592ea11412c0c6a9aa07952000b451090df96e2fd1d185b20ef785abaf903ca549c7273412653df3972000e601d94562852d56d54670968ba3981cf66d3199de762e22faf3a3f36f1f8fc429af77f06a37f3e392add26c3917d0d5610acd4e57b3b42efb72509363be9a414b3149740faaaf67481f40614e5300fa4b96be8d6e2ec97dc27f555d4a1508ec80dbf09371b6da2583db623785bc02288c5f8adadf830a8e3c710a199c43c2ae09eb2eb46c887e7d74abb07796066354b0a7e6334548afdcab49e81dc8890df5ff09b02a74646f868a44a6494e002923a3b0827974344635c4cd9d12693e247b60bf7b472bcde905dca74f1ab4288f603af0cf97145087f1970ed6820605b54458570600ac485164158e282f7a23f4cae4dd83d8110efa381d2645d1db7a6956c1d80ed6d386486ed98273d36e1f2777700a42cbbcd8f66e53f3218b3bc385618c75f95e874a1b5d757b9b0812dc49f84bc23454a1a662cef0fb165cea215f1afef296a4956bffc69412e865c200b7303874635806682b098e6837eeb1ebf8a8a162340c67aa203f8d158e3a05dcf2b0eeae4f5c8c94fd1e8de9ad11b5ec96ea06d6620eb9554509d7e1caa607babe8191746832654982e0fec5cc6af08ead0961e2d98d60e5428357666bdd9f3392329544387a21790696434554ea829ef4419ce673d6051c8fd99d373e8a8941b81627f80681b7e9e59484cfdfe63d49115b825a08ebc19aacb9c29522ccdc5caaf8e34f2a3e8ba51aaa0929c13208f2eda0ccd49d9161e99811c5590f5c84e972b14813c2ce43143f3006484c6733af23756300e7b9d49c965889022672a2f13e32aa7ac57efbb655a147d191423234897aef93ac231ec03cd6f0619520a09333c38dcc020e26387264ff0e0e656da9b0c33ce5465c483df490d921534680a6650be8f419a1bbb969229adc28cc3c0de090f32067611091705444486652383956ec0a70f99867c069f378763bae4982cfdb42a7918c94f99874a8d2ab2ab54f009d3468d429c32d038535fc6597a8c33378cc3fac53d7ff72f6c5a19e5fd5972100d850fff876609384f316103a1a2e24ba405169020d3e5b1c9a4e0b9645d5c5589fab28e9c995314fcd2e72bad69eab3abec21584cbe3065f8aab0d233b6138e2c12a040721de109acca0f1770a6b6606c59ee54b09b855b6d0119afa57283f0472c09e08316ebcb36cb25fa1d4a218a32856fed75e83be1fa9bf3e95568812f7a5a81055f113d509789f7379ec467197441f32244b3f79e6573f7dd8a09616d25e48e64e06d0048bf81c5d86270cb26af2664ea83b4ce9cdc13f477fb7a953cc84d9b87a0e147ba5fbeb212d350237f97c809cf1dd781c73e7d8684fa12c5e05d866fab67f8e2d75010b6f528490b688819b8cb82834989a6431ace453ff7d5e52b5411ab8692dd4cf88b4e93692125935aeb3eab45f84885159e44cc74b72a1e6f7011f6e131fd795194d10a7655941e24f696264de81f3830b6658796b69c0b472e866068d2155792d91bf40e889bf2d410e6daac4853d152717819ba2806704081c8a62d59aebd860d79280af3395fb71b9929b6038e711867526ac16dbd1c8f983a9035c0d9d38806318658231ba66f26f2ec383189f7f2febb44d81e42c28ab08b6a4524e81232445a9ddfe31f921c229d4af5a0d343a4bd975b381e225da02f82819d8b9974113b74ca599ac78d58b0c1d554b94af83eb3985507fb0295298e821f5386ed1069e455f43eb8ffb45f1489c29501f0ed20f41d1f021313b14a8f1b8006f05068880fc78b25357ee35564b8ba97201fad0e202c3459103301bfe32178cd69b9737a754f8a865cb1560a6e8439e7c85e812eb89e92bfbf4b059db22c834702b3f6c6a8ba930299f96811c4904822ba471d06b428a12f1bc3e302c3822d251aebc613837ad681d39e449e07ae047d0ad910079e89511dadfae762179b9b31cc3b11c934fe02ee202dbb3206711d13a7316df858ddbc676a0b052b7817c01d70db7fe8c5c886c698b545682a61b2a93e66c57860232384a16552ad7b5584f15036e368279b3eaa3178726d9a71e3e622d8c1dee79f76e293812499d22bd39554d96e54050377cf7cd6fc5dc84efb09b0b6d6774370fb94d7ecc25cd207a21e27491f63497844b0759321799d89e8b73df4f28a6b081d5287dfc496fab6371c1ba23fe0c4e25868ba8f88d211557b3699a74b0e56f1b35066eb4122403f0f7d50ed5f4a36032a91952efe92e1aa9762f5196098c5efb508be7529c43293e5e2200d537edd171fba22599104ac56db2a46980e165a08508e18c1defeacf14916d4d93c42248b150b2f449259dc6ee7f19eb4b194d213abacbdd24e6dd4d1187e0298cf19b0a12429158b07faede3a6974295dcacc28d350cbe822b8b4d6f2f351a038d4baf1bdb540aaf20fd0f2b9cd1f35210e98a53038850a593bd1f8432668f837bd06032c775d0dcf7c5fa99bbd4410bd926160758874f89a6aa934a925c8086d22f323cbd997afaeace13c79e56c6402369b948b40f0acafe5533aaae2a4994c40d13d7a3ae37eb58ed1a1db6f567e4d39b2f5a07556546b405b9cdbe0a5964c2cbdd2c6bbcb69e4d29aeec99be5d111b32951da473a4c9aaa99fc756c16161f6c504f0acb49de0e198b79ac7939941a823dea24fdce8860ea00ffce3187beafe60fb5fccc09e62c932bc688d48d9b31886720cfedaf432f174b136b622995b264a3a37c89345a34d0ad0d3fbf1863d7d6e882dc174166cfae5058be79d0a3e8bc7904af9b672f625b5e8715c7c19c27cedae88309a3f138239a550ae28d13b41defda7b2111311cc91035913ff0f6496a61db85a142a9920dfd380838b8d2110a0a8a20c1c81056325d2217925fe1a0f3a145d1fa8bf70061e3fa21fa3f3d17f7ae9f18ae142c04de33a5deefa8999024d785daf9d95a9180701a6185891cd5c466a53f45fe7207a5157e0accea2d7c6b5167e8a70701f57b61687a8f508fddafbc488a7412928330c8bedf888ca86e594bd230efb9abcd6e4ca78c076416a0ece702f5c672dd148a460da358a251e63fbfb227ccab2e9cc81a468139e69bb025264e655f09f76f02b781271292703e222fed53cd5cc84c6f25c8d77201d09a9d8abd5754b636c0efb161590a4a1957ecf1d81e15ea3c019d155a3ec2709a58891e5a135c69a7cf021d4811d3efe889096ac2f0c607f4a09fdfa9b8c7bc500ff3abe0c0e00c5cad62613a40e9fb567475afb462ae45bf3b74b4cc91b1bdeba8fe152e4abeb0bff5229fea1074a6ddd771e455993be0b928c9a120b8e35e07eccdc9495313d5a37fe651e1086d8e275b106826bf91c44d2017b9c4ee9b784af3d142a94094388303597857166a9f419278e527ec3450a3c4bbb69ec51f3817833a0ceab43692147e8da99849dcc19ca30ce32ecf1ccd8b35cc5c3f087df1948f90763684c2e95c65af246eb1d463b0ae999d3044bfe0b751fac96f1abe45ba594f97c130854bd47101abba4e3dfe25ce613a92477873433ad5adc24acf94db156d677ed7dac65305c1dc8104df159f49c960f26d69d69dcd9d11c716fb2797ee8946de9ff6eb0ec06933a2d75990474f950fa5512d72c8d6a4a6c50462faf70e49c1cfacdf2567245df7d788696b83d9194222c5507dc4884534c88c1c2bda016337173fa71d0d08b341b7dec0b1322a14209ba0d7bdeac850f93ec4b907bba5beb454070e0af81d2c511c9b0055331425601ada7e9056c99f180c4befc66a8b234b1e891e2c210e89dde13414c9ebd9aca2e75588ccaa5881a9eb0011415fbf0f50b4728fe4fbe1167bb69feea71d3a1507c63f9a6b344e38063376886db883d07dc36f90ab5f693d1c763cb314b88c6f0f9d2cbdbc938d26f398f96f4012ed10be722cd5c99fc00b73639ecc75126edadb0673733b55f0c1123131a44e6e17c56a49f44302ec0536c42893509db12d5799024888ed42a56fa9e22872467e48ed6b3400ff6103a61d450dc91952c5940992021adcf911c509fd5b0bb0a041faf0082ccb000a94f9c3693ddd28e4d82fb5c8bf8fb95871316f5b7588de3a70bc33cc0b1f9652b574f16c2bec25138eae9cbfb62f1a7c97822ed01d3c3de9b0b2d7d874329db5409cda0095ea59190ec98349b47f1e3231d2bfa034c6f602db709d1bbcb92a97c4a9a8c7983aec44a5715282216172018923b0c9fd25b8f7bbff01577bc3eb1102fa2c59f126327245748db27f9e0d2a115962d8edc09bf1609748b190063ce1d3ab29c7f2d2753c1fcc11886dffaf914989d68b048b7eff8895ae639373178e4d11e129ae936caeabb1897715aaa7a397dc7e321f9c197e5f2e053778bbf63db2d39953e9b5628c4a971fafd1ea50c1599638b3a771a8945f0f54801f3512000d3481b4ab9d52653608dacb1ef6542fe2dd1e6e29c2915a9f143dc1a8c1f0d66850a63e03d47b9bbd8014e02f843ee77e6c547a64cdfe6b9e0e7218b4edd98385f92b868871ba35c50e2ab148fed71177f9e87167b46425fb83d3070febe33e89eb6b0028fbb7cd60b617c8a92114d7718d7c9676713a533338ee5bb654e4c15ddd24a7a174848f817a1127a642ca0f94e0807d4aad58451f34ab6291d50cc1d1cf52c6c0ad445fb3d5dbe42f6b5b37ba567044cd9300482da10a22b36364e52d5940a1fe69080c9b8dbd68ae6a4e21f6e6406fe1f22517db10e053f3b9e36023b3c64aff462e2f524a268a30787b5db233e36199a99285b69da43a25108ef0295a7a2e17d48bafd9a7a6441c2afdbcdfb51fcb628b5356f765995713c72d5c58b0eb646291dc828b850c4e4bb87a1bf14b057b0704d5a0563da38163c5a11198d5e0aaeebdd01cd9b5366017b3869c3a013c25b90fe0dd3014922bab0f3189581a9432e5a7753c26911720be6c9fff463b2fe32a08e87261a12494c427fa281e76b1fa062286a83634d6ec2db174b3102417f6b658935e63313c7b7815e8f59c686901a21b400ae04bfb0466a8d5a15018e8b92b30a61d00703a8264f794a2b53231d58db44e850cd948ca819c4ffcc59841abaf1646e5c76e7a7ead79218fdb87b0245e68e5892241a45e1fa94a86ac514213d1815e0835bfa07136cba2c3d78c90b94600c330a79a31e9c0180359b419715c637d1f91b082bd4de84d824aa4af2b2b0361095e2d91e0bdb94f90f527d0c7b858fb5a3871eaa031e251658fd0a641f75142ced2b9edec5fc4166ec04abfe3f24bf5d010cb91d38e6a7ea2608f87d801ba736b07ba7b0d299ce60f0dd13581591cf3ab79b0ceaa469cccc5f02c84c28a7dcc172926356a62dc436073eb21af82ab991dac3894ccbeac147c64a6f18a0bf7863f5f9e2b31c311d3696149f1b0fcc9763af9dd798a812e7f7d0e4f5be5a2dd0d38ad9c6d541f02659c57f54ea9b67237253cbcaf22bd04fa226e31c1c4f8df5f822b1124b1864278726bcce697f0d578102adb000c0cce03c83388c103f83a08b10a0c147096fe7e3a244737a69900f68cfb09c1b8b5830b5761ff122be36931703e9aaa4f56772c4f55b93286ad8b3f71ac91aa2f5120e1220dbf99f8ef1e57e2b241a4349d476f254b81c03319c75a7d05288587a0ef31cf413de9d6e56c8ae086178a8e2a3ec1ce6fec14a3678311708dc1e32055eb23cd5146e5104bc1fa0dc03b9854eb22d0a75fa11be13b6e858618e4edf252bb511fe78974f692816ceaa2cd89904bd57f426c083015da18e1c0779ef62acfccccdd072a73f2b019a5f0b036be220879e7e5546b5d13189d90a42103c67cf6cc3d026c13ca11282b4db21387ac769adef0135301125604bb61ac5006b9635a6e70be9bfb9435bcb089ef85323092dfd502b4ee380acf5f8c178a665897d878cd42b7ea6f4a250f66f52436393609ab51bbf62ee99138c86594828b010a89d4e7445b9989802b65d38788547986e9e11fc16dd509a00d68024cc400e31750fee9e4e053324a997c0e861d85d421cba490ac3a118cf102adc88e3224d126d3fb17bd4e15aa6c133c75c66f3e6236d28ac3c2bdc9f23f4c665ba2ba47b46459bbe9c888890818b9806aba3adc7bf7cd1f9b87aae7896d0dae8b024e988e94293b377624276938f9e07864e978b9000caf93e2794ab11173ba0202867272758fe707247aa8c13e30a196161e6c3e9b3d6c96c216c264ddc1947dfbeb60cf64f8718e50e5815b47efbf189863b113adaa2037cd61c9e3665c311fc3229093ca9d8f0fa681f50eb58534848c91c65efe50c725029fdf63b5de54219a2cd419354da463f6c74a176c53a59dc20827d904827622e35ded8178be4dd74e8323c3292a652e240ab08424e3c5f79e2173040bd01ed2c211b47ab75df131cd27c27a9f72ac2db662ed5446cde332b28778ec010ac1b0efe5ba4a59fb9cdaf2ddfc719dda9a4f19b705758702412b92ab6a8e44013a80c131a6c949009bbe86898f6180c2f1c419fbddc7caa0408d26f94a929303e0b8e0e30786252007ae12cd0eeb51c1b11d3646d52edbe7c4c5c4becdef01b423f0159323ebfa7c909f8b530656de064cba3ddf94125d7ba315eb165e02ea3b7cc8b73c9dedc7d8b64fc2a00c2e36eed311a81aeb3b422fb0c2963550e993e1dec1d8704e4c63caa1fb44e725e21785f42076e4d3db9d8bc9bdf119ee5751d0b20a667e9895ed2f74486c7d02c20c8f5e9471737a8fe7c4b61792e761196eaacda6953120e9cd02c7eb4d7c1ce873a576bf8acfbb6c256d72e4ab800a55fdc3d30caa6f63464ca6b98133009a436f7356cb5c9c06f30c2b8b0d2271f5f6e2982b5ec0dc7836eddb4b9433239c433568f8316fa70c40160767207260ce6547c647af147ad847a5a40d6db41725eed4854f9e10559771dc4b8fc949f9345e4947e5cbbe4ca24b2bdff411d131f23ffde3ad19cb49f5d5b328fd6d4c54c8aa26947ce5c7677406f7a82314da2715be7c42c9cd1cebf60b6298253cbabd5864f89c47f8821ecc22acd11138fdd5532ab7c1a42046046601e89a4eab78579f4ac942ed21e073fd3c1e819bd77988714199add68e51e5483f6420f0f12ed2ed6733ae3f38636a990e888e62df82112f8af67dc27ddb98fd28ba76c235b82cd70181fb01cc88f0a030f8e29bdf6bb19f34d601f9f18df34f756017aef9b6f45940795453acbffd9b5b139a5b062051334315620c277285ce9e891ea8d06d6f85d89ae98a88f52a20754cd30c31a1620d7361ee0f1f37201bc5575f71f123b353233557506922ee7a3086cc24327f5742e875bfed4e2090ec1fade8fc1cc1000eca9e1c4ee0f6752574b06a29157a87acf92abd0c289bb25bcbd8e8df95d3ed70900f30118804db5e62cecf383c9762f57abd1523b40cf7e34f960ec3318c3ed5932540ba1528da1ddddc1cac76b05c72fd3b89463174b3cf0c06ab513016e258369654962dfdb704d8a26ca6f5303c5a1ccc79606f4352d24bd53f424016c6f03a7fc627c711459de33798f157d8c29c14edc797701c5bc89fb6d1b8fb4649ad67fd5e152b73bbaaeee12ed1606412eff75386ff275b887ea3cfc96c42ada8362eded8e52d38a27e9e1e0fd967367ab0f6ec2e8ff26b752a3bfe39054a34f13aab2ad3fbe4a478e90ada742c1269c53a27ed3b9876611a1e335e1a421da48c6a9a848f84e180243a64e20a776594a255a03d981adf0ee6286a959e50ae1fba19b20d8bdb0f541183891904659ff441c8d23c36478e400e4c3b7b405ec2a73a876668409db46e552555264772b55ed5fb7d7b04bb2c3a91017d283b0f051bceea8bc5ca7a4798e69e9d182e30317c5f094e387728f337cc3da2659dd4ba1035014ba3088774600d06b9ab10f424d0f88466c9fc4bb837749ec21ababba28030b7d2dcf4a44bc732ca68cadc7ad00796764303d66159c07f2e39d43afb073b255616f0436b795eeac7a8a217f4faa80c28d55e1047794c64cb5eeacf77e2315702e4527a9fe71eee4e52a05c22efc058b7e9621f2f1d5d8f9ef5ac08913e1799c6fc4f2477d46cbb93b47c3aa93cb076ceecedaa3569a35ba3b7b49a8562e77e7363105f18bbb3368df5c915f240c0a6fa6db70e48f9dc066bb73ba705f965bbbf35218ee5e9c76e7a816fa1df4d6ac2a6895ccdba5a7d479ff3e6176acfbd00ad441f130a89695fa8240585da7fa4aa85e47cc49910684c6aa46aad2559b0a908bfc5e5ba8f690566c5b63e8139f1ea2e6cb6b61d1a96d40d7984050d1660a524159782508c9ae2088a927f29c86e5cc1f2017f8c2ce80949d09ca0e41eed8afdbe313f5b02f3f45fb04a2783cd91994e84fe3197cc99decf22fa1b99dabec4907457babb1f7ea73562101c1d9d4aaa59cd0d50554050737db6259e6230c7fa553b247437ccb83bedb110f05c733d7119e9ed2757de07431958a33baf2385eb5bd54ffe296f93f2426925239f61da54a729e2d1d01e90e603c492ee5570a6bd264330477b0b3bcd87e007503ae562c81e5cf7aeb33a060ae9ef99bcbf4b91b08870e59937340adc1eba9e1a640c4b5acf32806051efd718cb4e5ff7d0a5c0d5d0ac8c4ea51f86b62d8951b112533284b02b1a20b6786a8696f15ecc465943c566c44d42a0f7433ded4cb88cc12ce69317934481adda087cc24ca188137c40a4516d7b722bd32f408191e8b8c73d1b2a27aa44183261a1482ba778b6e849e2c79e28928fc17455afb89be29216e555c58b28dec81a388b87553a8b52eea850a65004637d4cb9eab9a3ae232520ad7230997c6149c54ac4e4681d9d610b8d3993867191332bac94a156ba146f4d2d2d85d54a5f4cba1048469c29520eb9e29cdf6b9d6e78c5bcb79ea3830f7b9e8a5e4296307bb71dfe7f2843fa6c0cf5583a6f9ba19240bdcc3cfe5f46f9b80f7b3ab42aa98a56c5693fc5c3b129a60854afeda0733df37f6a7b47c53a8bc101a6336ad8a87d36c58f9b97b126abac2c7cee36e747c267e1c38273e69e0389a35d8e7631506674cd7277771b62c44184f0c6ab6e0eed52b3fb75dab5193f10cb427df5c9f5e93de029414a08a73a97cdb38230cd2f53d000e21783e0e32da4b485f7c6e9c093964a2bf2595206367ba69c760d2274c49b35a1904204a0813fce3b0855a732f82e695878db353f597ec331752e635cf0070de30eb945ce947e8f6fc4e26a9d7c32169e8e202303aeb9fed27f09fdb310d1d1a3dfad94a532a5b8b1711ac4e4a735d5628bb4c621c219cbbf80c30506f9678779eb6b2cb4fac8f54f5467028afc7726a25f14751453f10e67a28a3b91656962b720056adc129ec39bcfa6f029c6b9c4f7677fdf920a58bf2d7cf19cc08a840a93d2722f3ecb263fe45b612ff8fc98ced3c08691cca65b4dc9babcea23cb9a771469df180ca06ffad0f36d86400cc3fc3b595bbdfd109b8a75b5cdf25957fdd6d775cb9243d862fcebd347e4e5b34a10f90ac16d17235f98f30ea4c360b22de28d151081e3055d2c628543f554eed225a00a021dfc9a703fc419958a2640e861bdaca3d9ec81921c2098f73af520e13e51420e79e0ca7117869ad4e8f8676fb6ecd63f232947aed07f3b97ad08da62975bc1d23341b66c21902ac14472b97795b06d35a82cb2c33c8700f603c164e0eab344671e498f12ae303cfe666f79a57d65eed9f00da5b76024cc12737d317c13ae7ba16a203ffd11285c3a59e7bc35ca8aeba1ad9805f92f3a24387f7e4ae57f66a4ef93d4d80bd8ef54a4a608dc7fcfc6acd50d49a2bc5b81ac1669804a5fb25c0bfcfd9b3086462d11e7fad29e35f20fb713084edaf718fb2cd8687f3ed98943c97d6d75155323eb0c95e732055f7571574a1c2e1283183dfb7460b031d5cff738ebedad16e4a1466584ae1d3508ef635a22cb90988ca7c60f143f5808d4802bc4c6cafaec0e9c299e2fa521a0685e2ee687e6c5d26b6538b5023d373e7e833e2c4c411392a5cbd830aabd42808d4be2a2f0e66eb71dc872dd6eff1995352b00269a9672f3347c72e257eb5f726440914a26859fa953e62c9e8cd91f709b3b4a31e11e0fbaaae64cf8250660f33b7771ecc09bfc1ef8b1603f43c7f4dac388897625aec62fb9d6ba05bcecc47d8d5b4482f6445f6a2ed47fff883a1dbe86ab8f4fc9985b1679e496a687be4af7458d62d3567930e1c706bbda69945a37a6a5834458827ed0d35b1efe4c216d1562c69abf4919f288def2f775fdc83bdcac5fc6a70f09ff1e4571cbd05a5fb2f6d4d9174f1a23ec0dc2bb3b2812df47704c6b94368830cb7dad8a90b91d22b4730b670587188877709c83099c6a22ab39fb326eec955d8ec04baf525a6e6578fce95d74019e971107e3d9069396947e7790b2b7c1760b56574d0e87add4c85660d76d2b803854337bae95782480173cec9934ed9a40c9ba8d0fbe540c73927516f6e80b81528421a36b9851060edb5a2abab0359b935ec94fdc62fcc3568f5804627ecf3c88326d87425b67083b9d1a84dcdd0d89fc5861b26a285b669bca48b36b3833ac96b5ba82a1699b1cef3328c6b9274cc941be8b148b1d65e7f98bc1b1cadceae762bd16e053643487ef02999be45c9a0823985c4a088aff57a1befef03aea590a0dda087bf37344da75c1f53aa4ea601c145b9b7e91d4a8e5c2f06e8ad937bd7a1af36e0c6a093cb28f4a26b761cad9f1f84d41f1e36b1c79b5cadf973e100f7b6e07dbd703c0618b140f39bedb67de6591d79f47925bb74b7e6f004c0a07d11e29131a97a56fd773e8800ab7b28979e42619a2e3293bce4f653195eb58c1e605e70bf03d36462cba8db2d1bd8ba9d98f35a8038684bd6987856bfc25b9466c4335e1412c81fb220f14eae409701f88592c4721af1c6e574b13fd88c8aabe2c094e65548aa0bbabe1820d2ef190c6c6d1eb18be7c7be8e70455c021ef859b77fa88d3b963116dc5780c502dd8a9ebeebf903d319d333adf92978835c79bbace1e600a8cc3c9bce6e324af53ff07982a0bc201740d30e08e6de7671d1c10caa536909d9a714964ceb41a73bbd2a699e1cab928d9efe5c938a27b131a0a7ffdaee400953c0e2cbe0858eecb29c42eeae13cd8518815a9c90aebda0bf22380f84413bc043095c2eae402fb00004d9f61eaf565a47a10659072e8a1c06098b56ae72f37a20f3c1e37692242aa0776214fca8442ef2e7bada685f4f00efd8077c928eb6be0e292318bf5b35b8432d722fad0c9eb3f46e25aad22e1e13bb260d60dc444a235489684fd48b51a1cc43a175f5fc7452406e3039d89f62da2a54a4aec8220b9867d742fcd12db86401dbb6ee42fe35ef0b683dd144252cbaf38cc4989bc0a3b8b9198d42eec2190b8d199dd512f1758fd3f0085fa06e619d5800864c114d05abb35b0d1d2ca43d63beb6a534f3e33a9813120ba0b72cfc59c6d8b80d317019c6da40020e4c4601fbb3434b76d02c1dc95ef5dba0b734fde2fc2e2b72c083c01d19be924f7bdda3ff95b990c25504815ecee3adde1d96d08d985ce461fbe54b801112d9398155ae5996d4ab539f59af041ce7a7ed505c420aa029be86d20db1d13b78b3c2f20a5a80e0b8c68c8bdae580cc102afd564e1949fb3a3e23e1b0ed67a4a3d1b95a66f9fbbe93f7ee7df34fb16186a1fe1697072967f6e0d754513743dcc8f2024c66d9ce39fb9a043b8f58b7d6292a83641c0151693a2db096319f14e2e288381cd8d5cf07660089f96c81e2eaaef9be7a722b2e9d8305aa671ccb471531c98960d8d8d9467c442e66340e4eed7384c356a6babc442746d4ffe754db5815885b2b16e9492dd515253fda885101334348d6cbd8e55f35d0ef8888c07ba12fab3eda9cbda795b232c9ef1008af56fa9c5392132e7a719b3d081318bbb194e565fb1040b0b89f74d7a79e4a861c0cb0daa7e2086748a52df4b9fb3ef4e306457ed22220fe7794bb9e40685cce93bbd431845a83e703d3c5ac6d0e5c6665a225f65be6651688bcb7cc48d26737de32d78bea60daba655e55e2141da1bddc323be471bacdd14afeb6cca4adc4c198645be6a81fb8b2b6cc2e004f5b669f6e80b6cc18bc2aa17a2271f922832d73a8e2629cb1b680a4d632a3a53598e4da05f6ad3a6945ba691ef2241db5cc3a4c73d9e75541755a66868a25f3a6ecd232c7aa4ef13dc218e099cc6be55ac3f01de2569babf349eaa4db9ab85a0f3b677c4df112be70a383abd7ee2842eefda2899271d4be332b18fe7eb81a297ae4f883099c85f146df9a6b2a5228ea5b6e6d0e7498af82d7268b182f885dc412082d97ef37e95a795683172e02c98a1bf38bfb08ce8831ccc9a94374b4b449d892b3ea963dd886bb34e51094f8044fc264346f783387e4008fe92fbb6d318083bcd0ab7d3838b61ff7cfdd3b592ca94fed7e9b24461d2546f233e94566905260562800b170ec6f8ddba9b670e637d1fce2fc95f718ee676dca565a6d9d5fdf2945bd1128cc437d9723e069e24958fc014946322fca635fa468170e9566f564ab564432efa4906412ec8dfcf1a3bea36ec4857e0ca3d5e981be56f9e4aa01268e5e0d06414910b207483a37b5ba89b022a59f6ad551b10b814901554aee8c59c230e49ceefd3035cc6fbc42003ef800df636285bcc5a3f1cdbacaca566dcb5692c2d1634c841b0bdef6b497970aefacf48d5b05daaf6066be83ba4cbc1857f4ca05fd05280cb386631f3744818dd3605460013ca9154d02c75866e72c6f77f5e79618c43f5db325b0734992c8108681647c4afaf502cff3f301918466a4a0b7b1ec29ba856e4a2b900e0fbd36c9ad0ca95ccb8b556c6f4b6932994976d8a94f4c034607ae762809b67468b12f1a70da76a0ff201eb808005cf014453d703bb9625b08f1f2347ae03ae0c1ba390f5c7f605e76368e84220fdc7b2f9482b6a8d0ba8dc6af9a01e1814bf7373c70e9aeaac2f8b3b621800feddd05fe0edc9e813a0ccd68e64b5226fa230b84935495baba428e48fd0348fd943f843a3ca0c37b9733de67b952bd6b61454df17fc79264afb2d043bd5b426a78b2ed5187484463f9ef678a20ce81f1fd2352c8622cc62b34c06d974ffc5f8a8ffeae30525879aaa788a082f43a0126ac9b5910bc405903824cacd4be4c074aabd00c1761c8d574445c603c2fb5e7ead416647ed5213392136b2c57110112f524c6b25d49c6180aed4fd99253cffa952e2cb6c03036c8c574012f200192a4ce81a5d96b0e4fceeb9a990301090618bcc896a28ea41a7bf32f1d0d5b67b11784f7039668e56c1d15c7cf836a04db62d6cc1e5d1c72672144185efd69bd9d3ee650c2cc3173a0de568ce68230964481c2e699f96da52b2a016e91de14a963ae6972f74c0d369eafd467f2b6dcda05ca9989d314382ce786030699b04c748b399138d01139d8b2250e4b6203cfcb2e577a93798992e84987b61699f57ce186344dbe1b929ed76d68c037ed1a0dbd93a6ed035da63b777d157be50a03e0f43d68cd340ff28483ef33f772942ce0f49b32073ad73e44a0589e88c0ec5666bc1a18d70306f888c867bd03b8473a63979c57d5001b4aa8b7230f216e4c52dc66ee201afaee2a51609e6e8e7022c88243288d0341fcb2dc0554167d776e09c67b5b49807f5a45c803a3f0bc35b3bcca71f649029b75ffb28325fff508bbb05fe2d36655f6cdedddc7dfc22e8ee0aa55249520bd73759a6d49c364253e0fbddb5f1b7ce6acf5827eb4c0048119df7ebf56d77a8af496900d24f98c349eda2dc5f5856f8e56ac14f756d0854329aefc9b12a79a25c55db6ada09329f124c5a5e94429e6882a06cc79440c4e6fa4b8bb5c40c591e2c68fa61fbcb0c5be1497a380ed0d7451ee69bb267f4c869809aec921ba19661dfc521cdde88a615c40ca831f3dc53b410ac4366831bed207165cf6a4326bf19ab47ba4c4508b1a4ca6d4a22353fc3b16f5b30932d207f2f10818fa1ca79f5ccb0dbbc983e7176d56160006b449dcbf8f14b04ed35cd840a7f6b198a880115747d024b654053f3c7094c4bcb916612f6a45ff86508a87be01ef96fc002c0024755a334ff6128b414f471d52c52f9a484402022131bc773b62c3c2df186aae7c97699265b26bd5d86ebbecd7f34cf28b634362169fd22feb7e31f1a73c742c90d6c31da63053be1304d5e1f286ca26fce05002d30cd64e78e4515d829f5193f11b47f194fea8360385cf60dd591b13296c8517da2bdb1e78e254fec7b3037af84d4720fe44637ab452053a954d070f231592037be71016963e04a7ae6330269d006b3df8bb26dd3e4453d7ab122712dac0b9fd28b13b732d27fd5a186901650e375787dacba763feaf763103b78c170d8159907b3bca667b759508a3badc440a435fd7d8dfc53f7145a15907135d66348d0d5d21c35d8990383d861b8d53a686ea8de1a2f069954740b32e1bc3ed0de50f9dcc7079cc5395e7fbbe571c063c5edd68363a2fc6b4ad9f3da8f4744f1cf5e024736e711c75a98e0e1bb0e6c18dac66d94e196e022a9f4ee3af782514891a6322b05b45c3319ffae1273aab6361c8fc240465aeddd6d8a1cb9314d848cb4b18d6ebbd2c4799c1e9ee19721d8ad26a192372be5f6e87199627dfe5ed2128a4ed7bc6a62e05a5756fe3a15720b6c7cfac8f1804aaca77308c9ba86fc355a970669b587a9dd2cf7c129263d4097881d2d34c4e1786fc701d31bc6724b31564d289a5c9e0d88b5bdfe2ba6612947c7cc705189c16b1c563f6d6d6c2c00f5fa61e21e3d3e30619b344c0030d12497ca789f8e914f58195ca5d737832214fe8db728993471409f25289b0f8a2adcb8f18b1b15ef998a00707d80aebbb40f862e5af8d226da6d12d22a0d5eacfd659daf44a034845bc095862034bfff119c6aaa57769e81f2240a61588973ec76c31b2611ae9b7fa1530da142254b981e9104892d588d32148b952ec0f4e36448589a672b0dcfe63e95b999edc6a3f580257ec82572d26ab64c0301f8ad7d4cd086bd2fe532ce5849d82126ff68b904a80cd2a9f5cb9bbe8aaf10996dd1dc124643b00f6a69339c03237bc99116f721dc579c6337a1cf6e2325ff4a00a82a22436b70d6b18c195fa1f1ec02ff203ed6d6f96cfa519515208b76dda2c6a499136900078007e00c89d54a5634731aa535409c64f37da4e1a506d19fa915bcb6c60a2005d3a39604117ec0c472a24f94d95a965399f2d0c97131e5863dd98bc35aeb06212e604ce38ce7505ae74fd680dfe4974b8a4163607b438addda7744756b7a36d2bce2744ce8c13c98f2b0a66b9d3713e17f0a43624aaf406c6f96448611162d7b3a0a03ead8624a896a529e7f3e7a5a7aa2bdf0f9f656158c939b082c8e356ee9b6eb797f7fe7cfbb8eef1f3fcbfffb3f72cfd9bbffe74b3f99f04cd1a3acfbfae03fe4cffff679a7ed6740d1df8bf3fd7505f9c65a885ff75e60b13837c9a7334c5b15addd7fddcfd7d55efbaf71c56433a847b1379df9d4ef9f1a1ac089d9eef95afe63b848243c8b6250160574f46423e34d3a8e85edd5bd9144aecf3beddd66df7e6c7255f6ee4ee3b2060c4680489630fa1902318d42012336018e37d2f86c36492d7cacf95bd0f2b7a715d168b9f7f20775fd7fedba22ccbff7b59feb2fcbfaf9b75ddac7d67bab2eb12c80234f22b93fbe2dd191a1c7b93207fdf4c02b6bf1322111b0f9fab3c00c12d26e0344baa1af5b670aea955343366010c9b826f91b00562dd1cce65dad6a507b1a0ee6b37ec6e6f1c463442c148014145f8c618c7f1f1685c7d7ad8d87d395e9d20e1b8e47ba674c104daaba5f79ec95cf2278f1c621e6b068a562af2ddfcffa7e9f9ec0fbf68a254dd3c1211b83c050255510325ddc1700dc165a97e092fcc97f2c299058275bc8252a34d0a92c670dfeb1c9dbb3baadd977f5cb13cfec715fc10379c13ef19135cd3333fe592f884e1fe6e889cd7f5f0e5b0ca84d03827d7e3823022b28babcab335fdc2717c4e18cab1c099ca2f4417dd5b69932f553015dd3a4e3ff49cbc72d10f9c49eeaf92e084f6961818a75bdbff20f2e0eddb1b71d0393d49c8bea0e7722f997c43a64ff549f333f10c0c8a1b5096a063f6bed27d41cfe45e60e29bd2a024608cec1f961813604fd8e013bc6546812d4d589d783069f0baf36b04a146e02fe6905446d0677fdf9b494046cc83fdca4c5936557d03be7dd911319a29beb5fa5fd7e9beedf5c26ef72a9fddeed2977da27fb4e10a95fe0d6feb931de91f953bed9b05cf5eed48c1f0cd873c9aa0b436c9152c1df1abbba23db1729a77f844ea1f533fc5868b68b3cff741bfdbb9714e7258b33bcfc2c89adc61760142726b02a5e8f3442ddd03ed50ae0047df4e12a9c2b5c9034f5da3ff2df0b60d22162245f683336072e51c75e64e85e0a09da3eed4532318b47bd49d7b2a58a56f108e8df05ee5cec3b7393a2a0ab6cd4bab28411e89268da3f18ce6e8e4080e6080866498d37033c176a723b4782dc66f5e6d389f0da404e3ab0294095bc1f4d5ab208b9b50107e3837c2aff2273944f8febb4fe263b4ee9f544eee5f67bc4f09a6a205e1b0bbfb0fd3ec9817cca9b2722e23695250d3abe9b14ed580a0e8dd94ff72313cddeef4bd8173031b0b2d44cd4f16b8b71b4f9550b9cdf8f2961b70500bef112ca904cd22cce8dc43ede7372f1a03ea910b7cc38aee6d5ec680e5a560263b4b426439d1775a7c0524a73c9d2cd7ed695e8e9c7c9be7086ce8609e0a2342e132a033b1f204df70ad11499f8d3ec8a7a9c9e574bd163e5154ee9033e8e89fe8106c1b815fc36613010bd253e41b500d690e25474ca62f9552c48116fd5a4dd3dccf6b5322dce387244933859a07d614a074d39a998c4e489b531fc8526f17590b8c20694c21f5661a0a99946e1c4d5b9b5ebd7c38e4e0993e92347f393d562e05239522f925234471a71683f740bb8ae545de8fcff8f65ea7c284e9426cebc4dbf10f210fa9be29ce0e65a0f65f8fb0eaeb4955e66bc408739220f1f524b1a4f648d41243984c256ea3a3264596b1463418dcf4af4fa22d046162872cf608ff0c4a2c88a30b9d7636c554f368f9739bafb79e97a83e9b843d4f058fe55762919bf81a624cb6f94a393a1f7cf118a9f331fe8311b8352ca4d934e0a0f0ef9000c53ed97bf16f8e89a3a0cf8bdc032525d23cee7a335b2057a348f7474d67cf099fc993cbeffe6d47c39d96c488e2164e85f710508ca827fa64812f660ca2fb362fbafb7568a69cc620a427ce2c7c8ec933f0d6004b6e3975321f6fffde299a7cb253790877825fd41e78e6863499fa973feefe1e7f35800b2a8a3c142aa0ebd922e256b1bcdc126d819eac0760b49b5ebc7c0c2d38874ae292be3d026699929484e63cc187536dd6de8f046709caf28f43d2f28f079464dacf16e4db6d9e22ee934ac395a8871a5a6b3188cff90bdfa5d076a2158f2b110788e1da771ea97693e71f4d9d05cc03d97fb146d20270ecdffdc446edbf736b9f19dc8ab25743632d76383fe0225e88d619dd63992a4da4a84af6dea2346eb99ab39b3c7cad678b10046a2a80a98255fbee10ddea6ac5bbe55c09264689a0562fa46b47a81a64e4457018f8b97d157b67fc504122cce216d9677f637f6f377cd81c47647ab9cb2245d32b9c7bbad0b84ba3c78ad4920bcbff94711ab8168df514d765097021f793d4a0c4454e110774257c215da97c5e490c3fda9e1bb1f874d44600a6f5ce3ab0b01de8ab1e382d21519020cb3c2dd13218c007c722059848b60a42ff507fd41ff587fda7f43694f8b789fba96f1116d3889452ca56898c2401c300bb00b8004aa43fa7ba285ec081148ada0c5271da137eab49122f81796ba5bdb98bd9c5d418318fdb296d96c7cba736045727d970c480f12d5f64692166645fb6a34316776087465bb72c016cea62c99d8872abc45b0c96afd2362845d58b4f1b531348590aaef6ccec026a95bddaa86ec31ff39bad76b54b8a92ed159ac50915e8252e36b9f41dedc8c6c4c2e43def9ac35ac6d158a1e41c99c17c125c09303e2e958e2fafa144d7d7e81dec3f10e8bf9278cb00bdf7de7bef5dae697a2f0090e768b06c884507fee80fc7407279c10d87561b31ff7fcad13e425498fd392df609905efa71a022def5efb0bdf2f3ee4f194dd7317fa08a2efa04543ffe0a3b5ee5fb99fcef17fc98d42e79725e937fc0657bbf4153f3e746cde03088cc47c00ad1c7785f50f9f4375c5e2dfffd3d0bea76126f1a224e0dbed9c81f241a354e821072076ef97d3ff09de5b903c83daa8434016f65c25038355541ebe8f54662cc96f0980469bdb0261408b72b99d782b102ea69d383a10f202ecbad17ba39b8aef60c4604390d9c2bbca393fc96d08ae7d15cf9d303dd360cedc2532be9a71be9e3ecfc193e65ebe033377dacb3e8fc3287b3f1ee6e7d94eb24ff1a6d732787d699a6afeef466589519d147a4e215c942df277dd717889654fd0ff6c74f07c589fde1b5d691429df6041dfe7ee961fead1c438db5f40bf770bdba7cebd76ef4f2e761644faae79440c2def9053ce127f389e4f905621a6a8eeae36976f2cb1bfdfa6a6980a1a6fb3f88befaf9cdb773e6ef4cda081c1e7890d3183395b7ca62ba45780d8a0da1005268b6f929b40bd279921e838fff9cc412b409cac3ce19c9fec2ce23c8e2f54aee28d334048cebf6a5809fb66353ac04cdc254056a13aefb536b12a1c219235a73124af62f5151a607af9ae527a51a3871b05529564977d78e0d99a2ccb9e07dc52a3e3a774fbf29cab66602d2ab6269e4ccf8984b2329e2a5db914db28ea97f8d608bc6a55d5516e963e5ac274f19d527adadfdc6eff4322888344f8b86a49bd5d4b3929d5cdfb8cbafba5a9bcd38f2d2ff096b84ca3b8276b82233b33b257952a00c0f311c82f010c418621821841822248408082102a2042281ccd0b503d95790954dc1a354af3aa620008c26d41892bf6a56ca3f0c4f88566a30ac319cef49babfd2b82a6ee4d03c3dbbccafd233260e6d9181dd367e95abb6c52f89aad1be2a54c315f4fcad16693726d5ffe318f20c13eb50e33634bb19afd4e784cca850df403cc89ce705ed15bfe105a453db7d0d655cb5e9cf80450c79c71d45fdedb821bdd9f19f2fb08ac5aa4e7af6aae370e70b37a45576be0da31793786917ffb101eae21eccb310ed410000a7b4a33bc76e8934fab3fd7c2184ff69dbcfde18091690467c2a33eee080b9f9dca3150cedf302919e32ac0584096aa00462f0ec2f4b68b2c133aa750ee8932065af51d580d80304bc3fecfd1c72452a3c262fa58d19e7f30e089c7d9f974737e6893032273da1b02bfc2f204c2593558f4bad90561aa9d6d1f8d5a359ef98a7ec0cae10cd26969c9e2389e5bf98662befea599b0985e6e9ad5263578ac11a9a5452b7178f68c3842f57d1f718ba55345233af7f1c7c4578090d27c70b37df41f34342b99e1fa9a0db01ca6d96fe3bd36860a7770d93a7603189e1c036d407657c98affc19e4b40c17637768c07e180aef56d8033a70e3658e436b871fda036722f45bfae91783231f785e77b30fee6abbbd0349c227e588de2d0a62d17d867aae3b77952f92b35a19101bc8ff2bc6c4e2c7ed267c52546998277252a3b2b6ffdb6ab8e3e43b11e3d6d49de46b6deeb6b2116dfe913fc02db0b7d066ec9d21c4a72950c9d78a6264eb8fc60ffc171ba8709bb9996fbd8749d548eb0b896bd9bea5710ef2a68ac847e59ae11aa8931a10de9b86259b4772324018be4f1b669ee0515665bc16f1ba4591802eb7b6a0304fd13ffe5a87126ee77eea4cce95239770e7ae58bebe0f21087916ba6e5a4698d04c89c64ddeaa710fc9c68dc5fd51d1f07cd6c89bd68161c61702f4da14aea66e79678782343cb9923862b611c8974e3fa661f04e88a2044c72211fa1fc962b1ec2a978fe30d31b476e245e6a32b00e09a7aa9d909ac51a8b98eaa07b15802fd6ad6d0cb9258e2678ddccf1fcb3e774fa2f096b2e48892353e09905f97bedb91099ec1d6fa31f957dbe2acb3483afe6c9a60a7d1ce75b73e322c83a8c1087bace0cd46c328a8e02a8a8b63e0e4463ad28f0f905c10d29f6b5750daf3ab1142ca11ba3b08ad12dc9b636d27878e74ad67c3b17b5eeb231519d9b4fbc653130c960dc31992b5783a7a2e939352957b2ccb7335aace1463ea8ba460c1a26c5ef966dfc8a4e69c08c0a3912913ecc5eaf0e59322d8098bd32c1a85ec4ed0162d28a73ac23f7e363600209e2ad051c4861553d78994f560f6eacb27827c12403d1040a3ecafa03b50e777f9dedc28b951004260a32e646cf1dc808f80906be24b39111674e2130112a9ceb42aeb286c0448e5681c20d4d84915e3a614a0035e732c63ea301e11b95349fa1637f28a818c7275f1ce9aa973c895b037bb4048d8598816cdc3fb8927c170b3f2c1917b7fd2bc33d420f9ee56651b96c70b5312256b5133f898de6d294dc31c16e160e311908b110308a32c1dfe7a5b534a74d0ac9f5707498a031421fbe3f5c7033ea3f48c826195aa9591a595976e42df27628cc08221c6e8418a5efa3282611e373a8744d87220eab4cc38bbe115562c926d6aadd8ca1ca64ffd87952a6880df3f3acdba9f92835185e6678b0e63ef8ccb2f588a3875e0f12caa3e6f05004b1b0b3c7a6badc8268fddb06566ce039e20be1e94d15574afbcefb6fff43211a2283e8a1db0eb135717e6b7e4e5b1dfa1e723d86b57bc61946c87887a0b1cff6791ab6febe97072807a7b6194742bb9136316c4b2016ca7f78fc0ce8dbc41be9e71ffb4a067a72f84dde62f89390bb540f45fb92ea23b6c427707d4df689bb8102253dfae3b504516ee21d5bed7ce1d27b980ae1277b80c0cd3526dae17786c7217bc716dfeee33be0505a7f5b8d2c5c3200a41502ff0ab90bbe08cf07d00410a30ec2f90d800502aa0fa304a40d99898305b60f9a03d3099e02e60aedb808a1a70b9403f70ac4029603eb079004e90c84ca0cd503a30b8804ce0cd20210dc0df59604810df80cea01f88303fafb049c0f9d0d03b50ff503868684ebf8e00803fe0b95b702d20787038eed018b0dfeedc104f40d8205b2a703afd102ff8504cb0ca8808103f7e8e1f902da0fc5018cd704b00e9ea3db020230200292c00393d80a95031099089bc203abfd09de0a9cbc048e08ec0d9d9f02be0dab07e603d90b9fb90aa50d9ed304ff0da80e9d03d4028508e2099dddc20b9908d2008cf10c9ed903b30bc3ac02fce10a9b9f0bb29df2030be70bd203428002ad428082b803510daa3a1802150102020741f500030607040910885704050800040b208d1c8b381c20000201352d0a251c101c1014000808080c8f3010a224821018100810811010bc031818030101030b200241098211a8a2f4b8d68233044118848140c820630c3186291f32800c94414086e112438404114208113e112c22248410e27ccc0c6f79231c055291657a57fe2337cd2887cdb2aeb084e32913179e25637641e14a09985f124a3ba1ec0318144aec0d298d0378f2ff6903615979af6187e16d9d97cddd227f1256619f2dbe7cfcbd0886528298c935137489847b3d42497404a5da0938b775f093e763007d720e3d20a575614721c3e17bbe13c35d0f9c31ba02d4e19e692036804d9b28aa90bcbd1b2ecabbe4855e6058b71192fb96ddb6456deaad7fdc0f3d3ba8ceef8f00c973ab9d5a56f3584075265a9a9a1b80dfc1fde551a645b0c5008d34674aea7071c875ebd109a346bec43e3e70038a4c943a7e466f6d63e4a90c161b8ddd9a2d80289e6d564227bbe2ca12633e009623a6944094f71df8862f7d24b56ec56dbaee48f3ec183e9ca7f94251e30d9bc67c133507d2a0601ade7742cef766db0ba85f6e1710a97ceae2f8be539a5d02506e8107bfbf2037b32e0385c9f4a9187502751adc87b5edbdca868e8fca86d26dd6dac4cb6bb3891de42101845f1e6d420365a26dd4ad5d424ba21a914b680cf2876336803fd0dc9ffe6ba751b3296b7cf08787f3a762d0ac5b860711ce71818a66349ba8cc50070583c47450d6b4cf3e610ce01b7148b2e4a915cab22379e29222ca427888b4becc10e9da370ea4541ed24645b90660f881166e481c0a373c5de76cd0b8611c29596f14b2950c372273db60d828cd1d1821523b705153b9a46994e107434714384346ff687d8c2e1575cc06c703d3426119736d704e635c0e062cc6c5fc0eb381114138502767ee682b5475c81dd1a813556e39a2d91d8e2322c5ff8cbaeb180cab7973b04dd407af887a007268aee01c893d3a35129fe17e16cc52b469dd718d539ed238a1943561d3c8e59ac0aac5c89f7ef8c62b741dd0362ef597ff6cef92866798b1284e408aa2490d171ee3c4ced4a6fd3520c3592e607826720b586767696255195d146da358ed388dac53375a95b0974f0fb0b8df3256ad0ed7a8e570d2e4059b814a10467c651e8c9ef4d312a0357a3a8a1a8d1c91b69563ac9177958b6768a5a0e10a0f6e918d4bfd5316d95ba3611a0cc33f7524c33f3dfaa62540ba0d57b15ab4d4ab9168a94868d0b482cbe0b1a0626ede6742f6d314201bc1574579f6d11465a1e2685b5d8613df3e09456d9f16f0d376152c38de0bff4d37f3ea340e29440d08c9688a19af30c4b71c877a46f69663852ced5aa10bcf97cc237a36826b641898d135a6b10994c600c9860485fad86c02ea630b8d36d7443638948402c5d1051caed0e06d0c8b26edd1110af2e87c83261a578006de5d0b851df04f3b013c43ee57cade95ad9447c6696e4548068c1115e66a45635c6872f1077eff9ecd2463c2fc273425169e262dece21761c2d09b198ed183b6f062dd68b81233f81bbd804d3a41f31bdc2842b023f020588fa039236952ef68f1a677d7130d324ebc60e75130c1ce8da3090d1588581b4f1ca7b195cb90d7077d5ba0f98c70a7107a8d3c21b411b4a90d28a70cd997aa4210ad035e43f9d62ea963d22e75ecd1d84ac810fc3ea1b7b6f984268006936135a27e45a6f0fa1f8dd8e0d85f588b495fd8124fe30cb227ced5b41ece2d1f8d61e39519ee8fa39dfa86fb717181c61a3e1a13538a7f42ab0c31a6b2dd954ed9560e1adc88f3bded5c9cd17083d8f8ddbb7173f8eec5d95d3cb2085b603350c0b79178dbd03ab49e080a7440013aaabc214f7068513ad242b928b450240aaee498a7aeacb14eabd65621605294047aee1eb5f9807957288d5510d0e9a1714f03f9d84f577cec2fdfb6ddb6df8d1061b36dc37e6bcb66b2119236d952ca949294322302f601f10140f1135272c443d08c4555603a409710e650a446084980d2ca6725b1c52ed94a74b183b0e63fa746556f3abd10b1629f8816988f4165cecece327d2184b065669e95040d8da6a366fb9bfb2c2454ab3f8ac1fbe1cb794e6787f5a43bc27b96113daf52c3e7870504f4cc97c530e819b2e436c60e78338b861011529ac71000cf7ae272660a54c1a705ee79953ef6c9c27c87ca4a33dad30a7bd8366e08716e1827a654f7e54a95b3e27220a6f340b8a2d2eb60a52ffab1f33ca7979797979793b5d6bb5b56a7168342a150a8982ccb64cb3df21b49f1c3fa235650d0f77d36dbb66d9bcd8dd05b1c0853a9542a85c383071ce231d4a3878feef6e1dddeec2ba2006014f8edf0f0f0f0f0ec745dd7f302f8f4fcb07e002056d0f73b76f427c4ae8a434f0000433d3ace8002849abc0f26622226622226621f4c0308006e1ab78a5a7f00025cfd7a91012dacf5ac92087c10208f004ce09ba102d89c31f320362a1b6f2a3feefa52d714f85afba23748d35ba9d15d60012142b021ef2aa11dbc55620c1599434c0930f3f74d974158c030ec8628394092489e0d45aac4a086a313a46c295b7681644b36c60b599623cd516251b2824c0917c610639469927dcb4c0cfb9b0dc6f1b2d422658b2295bd7823c6e82afe7666e957f832d6cd61480fb2c02f930960d97eb6be2f3162994e31ace3d96961aed3b69b9bd7a9f43242ac3b39cb080756652be12bb117969173e00857b57c65b56589706199742084091a1c17391b392b2e4787e3075264dddd935c4fcddddd9ded4ff7deec6c9b9bddf6b66ddb66737373c3ccccccee5ebd0774f7d10d3070dddddd591bfa98d999f96bc7d94d6b777777e7cadddad1fdb92b7bbb1719e02d6f3933df2df3956576e66e6666667677ebddecceeeedb79ddd19080cc398c81ea40858beb614fb35761d7b4a1ed636a9ed57ee6a597fad3338f5c22add8416b382c9919ceddf5ab35f4f6404d908147ba647bb4adf9b1ab5bb4e0e77eb6b595f6d7eddd76b99e1d7af5abbeba09910dcda5d9f944ead61eccbcf89b37ebbbbade7b08ba776dc6fe3d4b88dafc65fbbafcf4efbfaf5eb014a4ca0c2828247644911925f941f50b4af831c683e8b3e0a84fb53a1cfd553f2b0ee794c44aea83ba7271286cecb733607e66eda2ae6fb51a16ef6ac275232383337349b66036b6a74d868dbd3dccce03c6b8a4ceab30b3fd5c7ac6072acbbf0f245e7b463e2795613dffd2d022bf55c3e5f2b451db110bb4ca0dfce70d596ccb29898e229c13ba4506c2dc17c8a5a5004922cfe691fef991eedaad1f4e6295d453f76545a7430ee734c93f6e62beda43a42722dcc1b4d918289c141c5dc64a82db391f99a99d741a36934353a666c6a646cb20d127d289874f33ea7c7a470606ecadefbb2529d56423eb429e73687e9fccec5f3b5fb86d4831542253deef3b0425666fbe7616b09d1e701b1645054aa5cf18c64dbedd2fd18892f44ee6bbe2ad480fbaacea52ef55579d20a7b4e3e42214749a1e5ba062db18c38d6e0255f38e192a403d26d2e838209a60545a41c920391118c134ae8444229619224d816c55ed0b104855f9aa49cb18912ccb2c74bb8bd1de4125ed948be0faf15a244e5e54a1756f4da01ea507ecb105b3ee4eea433dfeeeee6f6af730bcc53c2bd24ba8498054a29a3703920330711d45d786f841f10c718c1acfefcebf959c17dfa830dc9e0ff3c5e12a88825bcf7fac4d01cc4e23a0bc718df55725e9673057fdc9f56ad33ba91555d6b028171756f91f461a1d2a02a44123337334ecb57d7d10e0e85b8713d8d107060c3c99cd37d76b1d7232349494afb8f2ee5c81ddbb06ce406bf37c5df5db9d65a294482d72f8e7dc3f6f525d82dc259481c6d6050420821c3cb254cde6767571d39124ecb5acbf17b0e1b8574f15e75ad30de9b72281f36d74ab95b7a84f37d7ad2900f3ca963830151b436adb4d6ca4c2933f3bc1b50c91e9b5bae3c6696689d94e96c9e17d3cb739ee6cc0293cc524a29b919aee0100f181002870a871b082949b092591939022eb6702cc1119c8f6e088e63ae9130f6f5a7b35b377dd3e9450dfb95d31ababf6d9afe5a6fee0f68b4111aa7b3c3d9aefb6bbfb6ed1062116169e04aebb8dfe755fac8270bf3179569d69d995963cbad0a1efd7ed1e375d1088f65be0c406035ed5e5ba50a1152959d525f7b35185b22221a9250161111790fc40caeea735e5751c9ab698ad5b9586a1a9d9e628ca5f8f1742a3d8d54bee944a9a94b2693a974329d4e26d3972eaf73cea96a7a95b0ac74699b4f79a9946cd4ceb2ef8ca6742d8f49e92acddb444df7112d22a1a6d5ee47542157a35804a594df97148574406236834bc7d0c911daaef27e5c0444d2494105b2b9482330b649526515cc6c64edda09fbf210af6ebdf5de9e0205a83ad5cbcd0cc2eded8f0e529922a4e807106b3bdb752614db4dbb1042f9c3124a696d6712e2c162b1d50c93f45ecdaa8faf17668e5132c72899a3648ed1dd993ac5e294487232f3cf19270c76521aab38cbd8867312623e28582debcb66ffaffd53d11c69b77f735e9f15b21925163e2958a757bb5dacaa78b5e8acd506f91c71dee2752181f83aa2819b524afd731fea7141dfdba2bea7c5f55e16a5f7ae6058e4fd19559637e59c3c2c3c7bad07c343aec0a46eea2a95ae1ae3b534b01283832a7957a06eb26c9391b1f1aca0d1a17d457855e8a0a999b1b191d9acdc6edea302e7bd2aa9f7a6b8ef49a17a2f8ad57b5472de9bc275d7c525894bd2d589227850e83cb6936487e73d295df53eefbd283def41f179ef899ff79c60bd8701c9a0a0ffde82a4cf8224d8a4ab4f1ad138c612148ed1e4cdc0325e019078d25a59993efec815652c69e2e449ec12d78010c228018ea9a8a4ac3a670c00c35600080c88c4a2e12c0cb28c22468afb64e14ac311868548c382838828100709825038088a810c06500c835010c30194a15841c9037f9dac848eed52689ba2c1066253ebe824178c0a7589e936a405dd6d0deca6b7dbe8213579cdb119f7be663d829ccbc29a994561b59b3ae44c7c02a1dc896e3b7b1f6b17b7fb8153d2a302cbdab48f448f39a60a652634b0c9aa28b5deaa005c228362ace74a75a963b1610264a7ba6576fe0c857b897cec915d74f9c0b710a467f1325cf1c164c69065100161bf76205540601912d3c1551a03cd047b4fd98bf0fa652b64956fabf9c9257365ec44ba787cbf58fa867686f17beac8034b8ecc1f1769f294bacc2f47c47c21006497fa9206f5c16acd4658add3723a9e7b66600aaf461ec21cf44d5f99df1dfb84625912941d5279f50e3cec37732ecf442378a09f54af42b6540e97f15b3bde335b149ff920552df5435f8c7608532ff21dd64b52a8a577c3a68dbe54dd85c88861721b4d79635ee131c07fe6553f0567b423f82a084291b6b403fad8adca96bf778d5542b000d6af32a9284270198cdce9634a3cd4e722df3558212115e138bcfc3411bd509926314d8bf58c51ca75eda8a243fecff37db4a2d8348c3e1efa7fb1f59c8b575431e08be5d12c5fe5502d777b10ced32cd0ac1276ef8062fe0e9ddb68a78c613e3ee7ee36ae1854d77279901ea870bd4aa332517379e7e5090da7570237f2dde3b6001e758f386c671bb9c211794932c209cbd27f39a70f55ac74984cadb518edb9efb42b34483539a17a9053c6d8a314315a60ca35f30daf95cf026c14b00820e3f8c72bc920e12c656d37901f26b0d1734bf1e131d251ad69c1813d4a9b4d60daf1fbb3618a81bfa4407f435726ccfe8dad535d8198d442de0b90d7fdfcd1980644be4cc4d1a0d21f07175b1636f2643856e8b717638918c03486436cf862044325e73b6efeb45c766b7d5a7aaec9320e8ea944d49e1250d74e0b7809cfcb01bfc2168ce712caf0166c648304e8a7c02e16cb881049a48b8ff61aa85fdf9f72169ed31cd821ec0824522851ddac9cd748ba89929abf46b221b6dc32be977c9241cf7663226cb764014430f20cd6b1c334400a59fcb706e665f28d84dc8ba3ebec0f15912639ca05c4bf09f556f532d70902d36e5128fd637f184c507372934a22d942eb64f7c704ab293678e722020a404e81eaaec44d411ad761f0e6cfbf60316c845477703ad7a7b5f4b0b45c6c162fb08ff9b7afff909ff32ee45b68e5512a870343af4aa764bef1f32fbf160fa86cdfe63c49c7c837d3435a2f9813897a7e4a163347ee4f8156f2af6d971a1a6519f7354e01feadae4ead476d3bb928a688422d6a7d47cfbbfabeccbae6d484b8caa53f2a7bba575382d61e8abe08497413fefec4f761a8e4f0f4877bf99b1e4995584aec64fc8184bd98e034567b0b1a8347b372a3b005defd55bdb01765a137436376f247a448fea7daa8e1147a315cbd66b4fcd58562ac42403752583df9565e41bd3213df2551cb42138599060817d49d76fe34ee2f6c6197fd3709ba58f5db1f4238e8b909b713c76cec076e09e0dd3c2f3dcd80a9ba8d949052ff60dfaabf1872ccb6f5abbe03faa64969d10032fcb9af0b7456d5f00f3e1096bd33ab7301e4cfdccc90d293475b6f5ee2dcd2af87182c34eeb447808d9909aec57acf2263e891bac5d1f099e30d159ff773399acd605fecfc2b30452748546a0ef2fe48518b53cc53c3dc257915c2a9647bf7022b8eb24f5a36de27f43c8bc70e9b0b452af2db824e4321e10356fcdee97903098527c7d4c6df67a5e7dd3df7d2710c6a1e5f1bd124be61128f73d2dabe5518ad457734af11c66d061abc1243b1d42a784ded2fe0473414ea86d243ac6798dfdd9a2a31c2e5d4036412885f54c750675c203de3e821d6365c4522ec5db80714da3e3c3dfb296e4aecb4e7a4201b8861df24461b51b3835be6ab8d1283b572a3a11d5289e8825c79adc3e6789d29f2532e72f1fb13d0bbccce180c962ed321104da9002b78c53e91d4e8f36a94e6cbee1c2f71f96258ebbab4fdc8c8d08bafdc0e8bde4269b8e03c9dc4cf8761e66d213a9c767b8c1b2169fdcf5ec03322568fd2b2449cde9eacc0d02f69cd94b88bcfc808926bcbf6747c1ae680ffb8e498a0c1cef7cba05cacc526f18038c3e57a81149a513701978c4710ebb4680f0bbb313d77208ac19adf3ee6e2a3f5d42472f3091824dcbe9f854191a454f155799b33b0f5cd1ad29220cb2df98f970e10f0ac606f3842ac5031d727281837093c9a5712bfe5663467a51e8c72b68ff48b98c6cc6812363c019577b42fb7248808b93afb196b21ae80e221e1466f6cfa16dfa4a8848095f477c5da1ab5488bda0875d8eca595e94e3e63b8fc5fd3a6e799ba84fd08693d561669a3686001f6dacdd9d99f5f57e098913ff2053619824143f2f267cc7e9eddba6e0f3afd00e5fcfdb47e8b5668d75591ba5d02b01dbc9dbda6c62801568cd1ba5187097236e57b7b128985e6a139e8f02cc8d8d2e4a1d496a05ebbe768fe5f55bbdcc8504c10357df2d6b794d550dfb6e09e0583698582f9b1cc6a03ead05eeb5be463083ccc2ebc1bd18dded0b9a2ce311f4fb5ae99dfba4dfd0d90aa0a6094926fe29751fd549cfafd50088c169f4661a2e9ef044181482d96109d86b6a6fdd5f4b1bb61788be7631dcd3068197a90ed8bb34dc0cfa1c441dee9ce9ec0f4b6ffa38d841b09c484bae6e7c890205c263c860d10356339a66a0807424f5d6a7ee0cf34c033c4fd21dec960a7f588d0ec2de53e60118c75b6acaa2a5041d47778ec088fb399d03ecab3b6952a413215adf3ff6e00e7310545a50027771d01c8fa5025716b1bb91dfc2420347215642e97c9d34647556106ea41c4364a599af5b987b41077b961d3ac3bbcd767e0fcfe8766d55b4d38143660539666699cdd879527c8e2919110090a108b508a72208f472d1b4a46ae5446b0503fac9e3c2dd751e68af05da3997729008eaa432c4c2348cf7c09b9eba7298e3b04f6394b017010de151c1e656866b91621a3353402ba39f79d6b02dd184edc0ad6496f9d137569da554c8dcb5117cbdc4e9bd6bdecc0ab27514e4705c6ce8d51745bc742e10dbb43310387680d840d512987f830d8b6880882c528ac81e328fc3316fa34a33bdcea257eee854a03e740bd9483233d1968734cec5ba639f40119e0eb9f128b9722c25dc81284d52e5e4c1076a2b0fda9c9a13d4198495867e1fb848f2035bdbc067b49e0135b5701eddde60b00deddfbdacc58f28e918b569362a2001aa488bb28baf12b54e4dc5ebfb606de4d174878b4bd81f211a8b7d496bcb0258bf84aa92a1200b4bc74bec2f126edcde5be4cedcc342d631af04ce8517b930e0d0c5b53009a3c256c54d98da32f6238579f6e42961877001e681456c66f46c85a984d4acc29df8a6aff63650cf88ae095892c206c78b8d7d96dd8fe57a94288dcc04c69ed1a3c1b5848deb124b9a7a257e23745145b2a7c24205a55c7a1095a9ca421b51229c7e2fd718506bb6ad0b818169c2012a5f400961fafa0053c70762760a756946dbc1f817c60cf8d29ba944fbdafd838b4b5c64ee4b79f167fe006e0e514d0608977921aaa11bcd7e269539619a0fdb55dac6baa3e61219132fc03e106a80fb6bfeca68a726c981652b767b01a348ffa0c211901189acd2b4021d002fab376110ee50f2d87c996b231266fac5d29d7aa12caebdf8addeef0d6eb47bb6edaebb0bbb0f66917f709b0f7ec09d49d0f13df787efdc6ea8a37779d1a4bec4dbc965a97a2531653ccdd8a63480981f692019de190438247b11a49614ca4774115df5c8196a7c502c4de13bed1960f2f79dba89ca225757d3d4142016541ac9bc4a9d31958d35d7faba36e31a73f883603d5b9b3a57eb8392a5098bcaf86f3a19280fcc22439eda3c0a426f1710c626222205a9c5ea1042da7785e3e597b5ea0db02f59f990d29b52a3e28e1007d4c9b0a49841117f4a0caa89a9c2ef83842a81725d6a7bc6df7fa0871153e2513099f7f3e4a8a802f97a8fb0df331d2ac062805e25bcd4d01393acb042a8ef2dd3bd4b050dd3aa3cb7f4f84a8d08a79130037fff3569fc3503f4433a7bd38e9b4e9043817786654d83bb29a175d331b4d2547c8f72fb784cb781ae52a1555392b2c1c3fd7546b01709837d5d3187f67b88442f530008a6f95888eba165b4b038a7b0bfecf603ad86040b1be0f817a0f225d9481df06277417eac17970cc0b1162e94125062294c36a857264730ea80aac0a5fb407d0585ed73141b2509f52858c9f07e30a506e5e441e1d9099dbc23ca25a66bec7e98a99f22d9d0672c71a8129b761e65e9d7086ddf2d908606317b7800080921ee2712d2eb5f667e2b6cc54daca005aa6907c6b0a7f187bb56e9fd5e0b757f9af9ea9aedd4b8fd5de1f90ee3eafd28346255a164f105487edaa8534f7436ef88225bb53e226eedc1379357a4fba221b580126a8f2b0336735f059e365acffa5e6109cf3f440eda5c0c6ed0c2561e69939fd603601a73bd55ae355e215f1c6c72795eccc14c7925894f1433420fcbc80bbc6bd406a6d9df67d544d61ac5465fa094db98463fc60d0e6872e31d01eee32dd1bee3687597453290c7d6721a12960daa051dd30d7a10b39c95b1c74e162835fb5e41c78a9569a06e43490f91a7631241c83e12096a41f9a8896acd91a1d8d29721ee0fce9285e780a893e13d4dd4740485d8f09d69dcb51e7c03fd5e4870e091abc2dbe4913826065c2b34caf84ceebd410ff13276cacae122f5d6a726e6f0c082bd2a91c1128a00064348a239daec868f6f301ea23862c25f9d8613d2bf1058f707fe4cb69b0fd55eb7bdc14b302ab331e2bdcc9f1efc4c956b7b8e52bee8122770766491da0012e18e24c05ab570b221f427e29422e6f700b57f9cccc0e8dc8a87bf8baffa3761f4b00a481a3e292e9d4e1b4181267f0a129f0001b9f25bc1acc043ec40946753cda4e409cde9b139dc505cbf318142e9551bb623e61515285c067d6147d2810b44715eacb3dc4009c4c9b8222803ab9390dc8af4e150e9b037be1da643c41420595f0b163704b587877cc4b74fcd81befe3162fb36a6f1ee52fe0826767cfcc6541b9d1041a439db3f17024bed405402fb1c96fa6f6073de36941ef99b8edeb5e6a3a1eb8fa1874e7161f7ca760be8264173577fe2e4f3787cf0c68fb5c6b990a0ef2d392eec48345e2615ad8f45acbee9afb47a5062ca292c742e5ac350dda2b914c597152ae509e05cab367797ccb83631cf74977c9054f4464b4cebdcf14c763768f1bf8fd298019a9f0aeaf746d2483c77a403f4f0ab53c04ab3ca662ab71d80b50e2db7f12b84b319d52c63d0d7a37a48ec51f19f605a866f2450454932fb1c137853751fbd40ad38c1de058568a68f1800c5d5d1cc9440567af349fe97361054b74320676213f8951da8cc6f1c81bb9b20a10a21a345c1e1e1d7401c95a213a40044158c5854628420fb4169094dacc6e6a44f95c7d59d426caaa2b4383380d6daa1daa25066acba10b05f50398d9005047976bda58e155a97555762d377b7970da2b0f8f5b7c5f5f242d172433d4c0598ebaf9422f270593d35ac58bb133dec612241b654d3d01cbbf3880c383297ba35c7803872e35ba253aa3173329c2f4a8c6cac183b1bfdd737471ef60d4380b3480fedb812985979265acb362d27787f9e6c811440cb6d772a7234e07503cdb7648070d238c2d05b9658e1dcdef850ea698ce87067a3ebbf02620000f60cd6c1130d11cb45da53f9d5a46774b70b3934a39b0b2d21b762207a3dd8c162286b175dc42879e098089540e4c433273dbef9283088b4dddf8379e80f45b5bc28146971a0e2cecc6ec23f1949df624ec020e607ec899dc3798f0e2781cd022d2d6f931982582457a8369ed0d263cbec1ac35f33a0b734c8dc9de45ec0685de5d9726570f265035745e4444730388cc9534d19e5812608ff8af082e2974f85931184d4e440d487070bf1330872a029792f49f77dfccfc40206f48527600e0a4eae7e3526e01fafb25700d800d491eb73bdc9950f7afd50a45eaa54823c2a858bbd83b6c3d4bac68ff49072ee7644ac6a6ad9f152f3f66cf37b8fc966d0e89b53c1524eace3ba9adf445a20373abe498d86063204cd42b5b6438e36e47b0c1fc54618a04f65f67c5216ec863c8770d262da2cfc555058646c045d7b509e6c7d81248616a12b045fbcd2d61b4b96e337a6ace93271ea289c786360af3f2554c0bed4b08c5ebf2033d4849533d2c2e7ef6fc760d2638ced7b7d6a019b2a3a382d35b8f9ce0714a5c34b8a17baf062dc0f908b4bc3b85505925526d93e09bedd89919ea9a485e2fd2c24c45d2bac17e5274950d1242b115de0c281aeb59042b066087e9d4ca6f8eaf6d1b8e6bac00e5b1c18481c8e997f3926b30d94f6cfa6b4e1b219c0b2985e2d92124edd74908cd7ec1e26eb858794d1c3d83a3c34b14850025432921e8b76b30e170458c9e5c1a688f30c608ac68f3424db61449df138174088a49706dddd4b2cdae66d56a79766923892964144f1083f92c598a513cbade812d6225ad013491f82cf4ab872367e00777fae0ff4046b87556c013f6167cd2fb9edec07b6373551e8eb477a0725e536f7ced499fdb9117a4cbe89e3a958c694a815217754aa7df64acb6a4f06776e9e13bbbae639cf3e6246dd885a6911a442c709116ee24a6ac85c9448eb173700eaf9c8f29defc4e1f2c3d2162156f52eafff11e53c01ac831a5a4b9664566e81ead4a62839cf8380fa302d0df511bb833a81a72306d10f1b599600e3c4381d10604028931558b0731f7dea906ab97a9bf385d951153a27ab6ecbc54b5b579b6d4db05dc62a900e5a89bbc4a81328b22ca0c13c2a4505c5e6116af2415660a63f522c53a13108454c854e7d2a0d72586df1fc5da13e34a80f1285fcb6d7314a63cd1362a9551a515c6caf53ba36427c3a70ea364c427b42842c895c95514091df78a76771af572f62c200e00c4316af9a1f36afdf787bc591415e096e09cb8c2f5b312955aed0783f345141203e1781faa962c87aa1a1979867a459c8066a10226c936a192df8c2d34790ea10221326716a58cc68142911336cb9a888a5012c90c8d0954bd7650f8c5d55e4c945f834137ab5f508c1a68c23795ea9e32e35009d562534c8379e9e4b5a82880b76f415eb8df5140565072ddd1504aa4f880d2952d973ca3549166e74be16f88ba3a0f7c0132e27614b79f6d744b7e7f3f2683fe3cc958cda8a3047c2763f4201e5ed2c74ebebb483e16b2f9a049970181cd5ac3d7353a9814659ba3530003dae4ae9d574e182c0a534b379c2203c19ff172da18e0840d984608b2b461995e52141cba21c64c6ec2e7a55c36adf0d28f4e25f5eedda07fa4096eaaa22175fc680292f2e822d448209a9cdb20a5beba6599d7235edd6a268ed2bddd8349bf0d8eeba06d2600c1b553449958f910ce66f7c6d4a94ad629344dc3b4713b22abf9d569b9e215237cefbf14b16cd83b488bc0f5acd34d8639592aac2fe1a580018af20f1d97e4209939f7b73b203538d8e037e0d1320db8e862d11e4b410070b825eb1feaf89bfbf921db17ceaedf171129c97caf5392f81c8f964d2eb886b71037e97bc971282569efb35f64cd31b2e3e826398ebc5a41e8cb507a041eca2d79c549a0cfe3657aaf4764c0f373e1496c88d1d74046d0654b1d96a5c33aae268528aa856547293437f945235d46895949acc66586a428859b9261a5caa36fde4b60c92b839d9d6699d708c2250c8c8af3a27208be126f6a24c11efba835ca412a7c03b43107885b0644f46de8055430258570874a5822d230b5a6cb84034217cc6db8c17adae8ff6c1279e6832b206e91c934aa6b057005f277d1c15b0739b96d30e668e45f1cfbe9881cc53626339efcc6cf78b7a779cce03439dfce465c790c7e5ac9aa7fdbb98acc70f365921c48d9d431fecf86a892ffad0327412c884ec866f70cbf566eba3cacf721c29000954160c8013bdec0d7c23cda6965370ba45ca9efcacdacba6417a87485a0a6ab4ac8c7b8917d0700d1389196b3609d716615226abf2904860e538d64721098139b97af9d46f8619ef6d6f815fd4850a7b1ed9ce3e0dc81c72417617671bce354a5c767144d5fcbbbc97963d51bc050dfcca625dda54ae87d8baa996d658a53cc09a53d55c748907595acc5c8d624f3bf2a877b149c79ad6730365f70896ea9b1424fff2256839d35fe3b4b0bad6c3785e5ab8f1a713c85973c5eafe722989512ebba12d6554a58b80a7c841db611b1b97b5229772d38d8d71ababcea06550bf9ae3cf59a3ef35a61f480df644125b1212d96d4d87fb811f7a188610fb13bba3c3e111afe42ebba92411c2e5c54899e180a69cb4d2a8346071cc745b94daff2d4bf549d05d3dc8a8485c1ff12946d622c047762af6ee8582c03c0a48fc29ede5343dfac01eee72dd97057d9f6aff6db78c7b08f3051dd91afeca699d03f3278b9b9df195709d1ad2ee371e3087621dcaec705facbd55446af7d9ce21bb21560a2c78a5a9c256cd8ca0a5628b5c406fd42561fba182966cba34bd25697d688b455911c6d6b2ccd9d4427cdf11cdc94f348b4ca6ecb008824e1e05517c2a72ff647e8de5ed4658bc105bef540bb9654494bf1918bf24cbe265b0347ab81e7e10912c582f8cfdbed76059a7d03dc30d7dcc7f67cd367ee7685008496b0f9631894905b40d19432e594d838b1680c29870bc88cf2e81215754d4678f6229a7293df5f17bfbe940beeec588e80fb30f49f73d9392eb9c7013f70dc1ce418ac71a258fad805e8a134e77b688de46f6443898c46f79ef3c525c414deeac7e65d25aa659759c4cd348f3bd8dd0271d9d9861921380f88e3d2951b40f5a7ac7a066e6156ddce369aff55e67fb7ff8649b3d60cabdb4abf6c96dada48393cae4cf9cfbd379f91eece26923e4cc0a1faba36fd61138f582d6ac18414f8abc096025845a6936215dbf836f442a3abe70d35d70940446089fb73d457aa8005e99889fef8c785946cfb7f2e161503331afc54ff33753d6de21790f3bcae69012791a58bc12d3b87d99c1d7c7733bd703e38cb9486e553564c1a3c0524b8e2c9e7c472db25c0dfa1f9f6db1b0f3844613c578e80fdc70e135328a3cf34a908429fcd69eeba24a21174d57d4df340345bc9f13b5dfed8b7ef09903c7a9bd8a3a1f651480d9429aecf7f3180ffd413b7624a4880e92645cc8413cd5a78abd86673ec171a6bb5b0b84b649ebba4c963405d18df16effa59b7fc1b8eef3087883d76d6da17412bc2404a35b949cc6351016054f7626a87152902a33b2fb98277bc42c5b7ed906b99800df8e2c95e8d817782515af0c0ff4098bc04e239de96f83ab524a7c18d81567e0ace044a1135f4e1f19538a2827c54ffd1fe5d9bb788560915367e6768a22f97e37d3b824aea08585725c42c9b1a1665b77b8131531a78d834e645c6a18bb7d4e91b31a63eb1dde77cf1801a2afcd28f33aa79cf8acc6d7e25660054bc015ada0074ad0776033da3f610095f35142641433dc1ca8dd3ed0da7695a26f99b927ea52db44ede06ce08479bcbde6a1c637dc8586919b88c0073296ad9792f897b5097ba0538b7a6dff5568b946f95aeccccf0a7ddb66c9e5c5886153f363e947a40f3eb2eb05cad4372d756bcbc9957b2c8e87014bf4a9f9626d1759eaa89d263f661e9a45c0ebe6b1af13456050d27406db9b051841e9a5354646c3135eae83fad92f833bc0585d833a10874dbe8dc253f0166220a038115070bcd4579cbb8530ac490c70984104059880f192ada40d46cc9e89924d718a9c871b98da2b9d2f28c0be84b0541246fd71209a9ecee967a58d11ab4352dc721678d5fdd6ab9a10950cdf1f92b826e1b3963e16590c589cf9f611923325759a2931482697a771a46adcafc55df5f57d6e04b1257925856a1c3aef5224c4079a4290355251f279e266b1468b2686959ab516024744ea5c9ee25693d0a22b52ddfa0bc8bdbe2dfcaa0f9c813b36a6783ec95061482b0e511d0188ce348ee75502c4328d7504957df739041c57fe59337623df427c49428bc9e74a2fd24b7e64ea8993082e74ba25d9bbe241a2fe15a561584fb4f841c50a9d6447f0581cc36a1df383e3c43af5a2f89215befda326ad1d8753a965917bb4a007f9c492731b85d8478c5f6c9978210aeee248bce1c857d8badff65bd60a8ef45678d8d8af4e6297c7a9a9c169246e22a0c370655d29080902f708ef1854f882a98ebe2662bbb066b2a1f82d9986c4b8bc5e5fb27a8841c23a45a04d69216006cd9c06afcea0ed1137fa6412d8c8ba7c4d3a61443c5ccbca9d5eda9f6334a0879d1f26f4eda1ec8aea1af5e23f6351c077fbb0190d81676f4081d0e08b0d22f63c56318049b25f36a6474c5ea306774e6532e7ee6c166cd51d760020123b8655baeeccd283de7827835494ccd5a8cf06b32b473d6ef4381715f25b2ae68078e1d25d5f05f556039052d69738cd9068763a25016b6134b21f08fdae2ace976227cb85bbeca71b758e6c84447deba152009a8fd900d5b069efb2d592267a58f55a89969ae58a466e0ad6e426943fa5403793468a6b1ef1227ea29b1d5954f0c42950ab3c0e229e03ce300af6a3eaa774475d897742c66227e0e5f4b370681288929c83ac1b4f7e69cc81694d253b89aa632d50feded1667f5f215561b7855d3551bed352ff7431fb0a3bc52c71862f3db2dbe56e2eb98a803dd664ebe12f4161973029275336c5dff3173b1f20b88dba10047f9b6e575ae09dcfe19300ca906164475e45876fdf8597433172c220535d63631a16bc07ba243ee05e2740987a5353bc1e0921bf3e24d2ff47a40caeb56dab433316c915c895cc8fb1971245d99bbdf5be7ca451fc4e5117a2e6676444580b5a190c9fe54862ff4e3e05a94a2889752f8d8bed4efc90b26e6a46d9accaed8e16ecdebda8b1045b35ce3081854365858bce536c57aa00929c205154dc0ef9255e46d04e602665d5ef92e43ef8a9459cd076761f200b90a670585b223d82cd2557b1b6d2f791b0ef32ee39ad53afc4f793bf06fbbb32b6328f2c21fc909747e708e029093269cf2ad80d67bf065d1bf286ec3810f3c63845f405fbad9d4c1052c527c8367de3a9b8cd20fd98b31421d8a7e18ad53f8df415206f2fdaea61bb90f4c81a790c3ff4af2f0f210a46cdc2f20c4bf138d4283fe8689789679cf78dd1093a715a8fe015cee958e2c99c42e523b20c1eb89f6fc0ee414e57eee92af3eb2cb7be7a8823942532c22011aa4dc2243706c4d07c0504e234938a781a1c8092be2d62f7d6ad32a4896b09dde8735e6e76242bd83926d9b6c4f2966fe294c61c3f62b4232bcd2781e535193724b29a59449640b13022e021c02f6e2acafae6ae1da0ad222517aa68746552072abf5ad6f8d6cc74d629d7ac7e6b75fbd5df1e3bf480f0b1936e028ab4a6e9ca48ea2546a105a96a5a6a86a0d12a42af9321b55b5df1a9ace588fdc551a385fc0d5baeb41a810d59b61d950fbd0ebd57a84669c369c7d1c0e87c3fd160c3a96e9638a35c5da5e6bb5c5d65aabadc517bf7dab35a5b4d7fab5a2c894d2a165556ab79893318b330ec9ebad20447b595591ec5a973db2498db73eb191b3ac51d228679454a50caec59493d3b380658c1246edf71aa4200da9ddca92848c4e7e94ac6c41968094533ece5bf982c70e020474e0e288200b91a37451b6285990bd5c91eba50a5d2f5320e8a5d48eeae439d549202346a3d914a3458a1221520195a246c73e49aafedbfa9fb7a69f9fac604a279e053efd355be36ddba3a58bdae69b5f5b7bafb58fab4db46fb67aec9cd3689cf74ea3f1de8ff8ae9befa3bdbbdd7b775a37b177a7e93a1fb7b63703c218e745b8582c66adccb380ca2805f39412b997b4947e152fceb808fcfa758c148b452b03a9880e2360b63d46b2a81132c562518b6bd35a69ad975e4a2bbd37bfad6febd75adfda7aabbd612fc680ae2dd64affd8f6e8f862b57490c163d67b1c498ac7067beba2d330176ffd3586b2be10a1418202c9a903e84fce52b2de5be7323f56567d8a7c28b5edd943a6270f9e3b76b2d659e73a4f9f6ad1a1b4c91c3971c6e05859519a33a5d4ea625dbd55a85a7f164a4e402503b6b1c4b215585ac231319db9f1049819408009871354a361b6326264c6848909d34992247793dea2f7386e1d96c314f4287b28b8609cbcbe7801ebc2a5f67ab4815483261241189532c3a2eacfdefaec28c2b5150466859101dd0885624231a190482402c584560aac0a38834824eec8e2221289656c547d09b9e89071ade1aa41241281348442a1989048ac41f6256c03fc12b6011289378862b4605d89c982e58a952a634ca87c614d91f2fb15898810451942f17ae2a40913a050b8444912245dbfdf4f2c092ff378bc0e35aeada0bd16cb82b9332eb51bc9eb9db7ac26a85662840592e4b936940e997f1c6b5b677c7f38f24edbb4ce87e330e77befbdf76ed22efa72496badb5765667bcb5e48be170d8830a8e4a5a781287dd0e35781ef5b1ea8a7b51db018dbed6ff07b3d6c3aac48eb15135a33467ad773c120284a8601c4d23eb2ce86df0d68be6edeb59902aebbd873a0fdff664c0f8b7e4f5b2371d64d6bf77ada63379eb53d91fc71c59c309c2d96a15933b5c0d3781c4e1bad6ba5a3538dbc7986bac49ac31ce3b679d2b6fc17f97aeafe6ed55dd7b3834ab86b70b952a8dfcfe91f6622520c5fffa31706d058bf05e12e924f97348da1150abd6cb2ca41f9444f2804a42c612cb66b5c414a09757379e0072480ae8e56f00011cee7705e028224f243251608810ab20407eec7ae9230119f5650f52c1fda6d7d5ae6a4de54f9565a963412f733cf51207835ede80ea352049f28590964ca263494ebdc7cc39cfdc06843c6c69a1a58808acc6954d85c61c261243f2f4688145452ac657f15bc724085aefb3ddd111493b22697df74eee8e1b3927c75ab5d6da8ae0cd48acbb17c0d75beb6c56ff6dff954c8efd9c2b59ce3e7ce0fc3f66adb5f6667b2fbe566b2ff81f878642a56a4d62e9edb5f6c738e78c692dc3522404fb12ca18fbce20aad783b2174359705e1e79bb3d0f4765de2d7f36f666657abdaedec55a05b67bdbdd80da5ad5706d05fd8c7bcc61f5dd9c167695c3a6a2e0acb5b606d9a8d2cd706ce5593ab295680b098cb796d2b7d652fad6d2b796527cf1d5f85ecda9cdf92bd6c539d71638f0d8b9386b3b65d2f87f21a3de79cce4d6d9fe9b334c2a538619c384f1ff71cc29f3c5ffa7f97f33ff654c175a47315bfc2fe13059982b4c15660a53aa11a3ff07a34f7f48b9e87f49a9a84c54222a0f9586fe877c8b1ba5132f8b0a19d08d5028e4432412776471f94192f125e40223e39ae28222140aa5c8b280b941644208eb4acc20418100fd196352e6076b8a94dfaf0f910f19d91e323d79f0dcb1c304584748678e9c3863bfdf9f28128aaa74e235d96b2faf17556b03a6eac69aed862377bf3df2de5fcf7038bcd19fe51694308c54e36ba7c64dd2296b616b5dd661ddd5d9d76131ba3ad3d7f9d2ff60d6760f529eda7294b3a00b1f7cfb4127bbdb9bf5ef7a6d3b9c156ced6712ec7fe59b6760f7cfde05bcd9aca7c3dcb461b3464d27c3a0684c7368470800a441830455734afa414907f40e13ca9fe0e4338b587c654b549a8358999d4feb2720f0e55ebc20167c77655a7927ffa693dbda77c1bb93670427d7ba936ff2e4fc808193d30a9cfc08777200044e5e1b70722401274fba9d5c29c0c96d4c4ba71293ede401944e7e4b3ab900a4930fa89d9c008093e38e4e5e80767203fde407f878f2dcd62747904fbec3274f704faec09ebce9eb2d9d8e2ecfd9a9dc5db80b64009525df358b3e7e82cdf74f5c9492c827df0c0b1800df3f05573c6de55ef0edb3b74658993734d3449c499b2deef2f1a7ad25aa2f614fb917bda7265fa4cda6e9161b59292dd2085ff5bb39c57653ca75e08bda6016713789b9e7cbe9d11d6a33f08d63e7ddecdda475d3eb49adc9a7c4010e9282a4044addb4757349e763ca954c0290a3f076408081010508747309ce574089800337920ce0cbfdc931f9cc242612b32b41378f28e8a691a66e72f1bab9e574e40b9634336776b3c8d3e86320c1c7a09b50ddec75b341371d74f38185f011724e82cfbc82a034f40a7a05bdbc84395b0823fd35f75a8d33ff7137d94dc6da47da386e3b8e7b8fb49146dbbb8f7ccc18638c473c668cf1ce781cb7c6f6de7be9bd18577cf3cfdefe773a26c13bdc97fc7fa5fdfff37ffee348e39deb9cb5ce99f3acb5ce59e73173aef5f8bd9cefc5f8e672cef7e6ab2fc6395f3aab565b6b491a1da7ecbe2a49626291c8d8fab87fc6f459a0c0f2b202cdef2796474f150a5265b66c01f103c84b8d7bac546c3a571c14007358080008223912c4280e0ba13565770470238924b54f7649145e1226f16c7ea0655f7ed83a65127d23964851a2bf320cf464c648c73236113a552e4a080e4b486ac4067cadc20486a5f8fcc910f32f2cc58fac53194fa47b2e438e2941fb60e98e2c68be60c9b5e6431e58a2faf5c360da073370fd8719f2f0a658ae112de99562181622768f19cf13067b2e0afde0be68aff935f8bdbc320c791463e9ff67b3e40544ff16b067592ffd15cba8379dea103c99858203d95c6d99b7ad4a05e4be8da7caef5410caf64ebdf7d5355d5ef6fe5fdd66a763ce63dae1b957a92116a272b5b9b3e6b078b5e6201782e29a95e06afaecd52b74b227090123da90adb2cd5edb7a79557df4fa26a537e9bfee94574881dc4980b692c8da2f23b2f79c2a460187a470ec65d9e7931d9dba3b6fbfa5b475eda9fce4aa8ea714263cf9c976499b96110f29c1499d4d28a6b7508a13600f92cc334dbe82c0533e6ff84be85724ede628fc2b5024edc744d12aee3d7f6fe160e18965d5dc3f098b71c61630cec24236a777dae31c0d0b79aed8cdf50fe4e4a492240ad9c3b1072ac7bb25118b74ceb1cae799fe7cefed294d6992cd4435023f14f07c289c3fff728d662e647d100acb4a162e99bade5afcce9ff968f23d1cd2d7b1225a3d2d3e6d434f2e78fe0fb7a17f3cbe41af9763d2a7b7990eb1a5e76da8365f14fb72750adce098ab13b4fe9c98052b9e8e3ab8c37bf3c8b2c2ebd3a5886a8b8573cd7caa590c72d7d9adb4ee3adf5c69e6669172a882f55628f0f7611531bc22623b2774b4da4736e9a013c719238a4d84e3dcf2c439c617218cb43b25530d9c573e67f640cadf05bf46c69e1cb29cb0c34b0eecdc9d73e6baabd308cc013047d705e25275ca1389839abd5817e04fbbf9876a29bdbe1443e06d7c30828e8e34b92b922e7e5d005e61069b1dde3e762c4dbe9c835231ad590145ce41c0ccc296ab8dc7718e1e297b1f0f0037db2187c2d23b4e850528ba80c81f0d15be5fe919aa8d77c6210efb81180aeaa02529942421eadd3df82b86517d55390400580c2bb7d69cb8afe9565acd71203ea548cdb9bebc6a5f6701d849392e4a384248c7336b4808c07b094e713e6b0419369ca616d04b26c83e86020d33a83a0b807d60d9ec9001a9e66f23a24b85c8988e8561f70d08c0d5b950412cef24114414d9ad1f0bc6ef27ca68060e1445255395bb6c50184b9682805e4aa825bf0518627d5836c4aa3ecd0b31a409d4b22c289d319ae5835174e11cb41966ad41bdce8cfb8cf08501522c0d1d05c030d4e351684084300956c31bf9f6f801350567137492c3658c104a3f6e4e0f9793c2a466b421280563151fedc6f7d1fd6566d24955529830da193e1d62a23019076d740f4591a85045b0cfdc7a2ac9ce053dfbccd6905aecd2103d27d0f18829227e11c878d0a73214e3b999f495d7d9e2c1bb682a1488c41618782967de10067709abcfc5733efb477efa6728fb5c6005a5995d0edce521d6c9b7dcc59e328578c265058f4e907b92b57e8c94e527a75812a5d4dde2eab543809bc39b2cf4dd9102807b4781f5f1c5673c0c9f277f75ca3ec4c25be6be6e5ebf93059a7ee70859eaf89fbf9cf25b3e03bc0f317e3326aabc6b3978c8dbe7eb2f005497c740c5906d8374a46614f4bc1e510bebd167e280f8ad5ce871b104d03cb068b2acb5753e76af9894f65e51187382dc8b4cff025b079b8f162d2fb4f0afb240cdd9f6e1bae5cf31d0c20da9aed7aa61c11bd0cafaf259a402571f7c3a353d9ec976b262e2042078467018615b68e5316923f829e1359f5e8ccbe5d6a3848b40533b46b799e531475446506d471cceec4464b70d9d1f0a7a29d84074ee29a23b5f51451b64f3d13bd93c51116b718d32599d2d9fad219494cd6e6c5460b7bd8e8d66595ef81b68a6ae5cd81cc339f1711df99a8cfd4096bf6a757dbc690b73e0a87a74a7e378301b1b06143cd7f0176022681cad91ef9035df16c821122bd6d62bbb59cd06d87f974b6713300b02c73b010d58be410a836441137d468f8649df4f9d0ddc7a7a07218d0ceebf067b398c289bd5d5828236b85bbd3cb502778f9d67950c3c34cb52ff41025c173da13cb425936cddc9722d81c18320d1353102bac03903467e50a93d4b2a43a15cfcb0166d260c7d6421072dc0409610d3e961073183f8960adb475d98de74993225d286797ac79c3a67774ecd5d109282ddff09164ee4f2ca813d7adddff81d173df5800f901757290861ba29f5982998efcfd0f8fe0b42657346d86d554eff8840237b20fbf0cd0633463c2b6e4e5fedd8f6e8c405f2bbfb823d40c1811bd30dbd17c5a14247712688368792178dce4f941f3b384033b4acf96485da56e136e42c9408de3ac86cc0178b0029d7c3553fe183240f9d06cd04e9bc0dde00acfccb97c442b9e71230d0a11520f96ac0910b01f37db0b648a2c70a7100e9c915e80ec443764c4e18a86e950e67f7f1870d64a2c33c133f802ae3b2b03ab1dd035a00283e966011e5899f61d9f70fbe9f9d94d46c890ad46e1e10b7a1261255e2a9d64efbe54522162be10fdd91e1344e029993a51d00f34dcdd825566fcc1deae04491b0777483cecbe0946c4f36c0c8fb59889dde104209571f517471bd8e61285c85b2c9b229b1cacafeacd9d481bd9a0320211a8b23dfe5bcc88faacb7324c9e482dadb3bbafb2a98a5123ad9a6299601a51601ba75cc2636ec938ee4293f4ae30b5757bbcb8986559e5603138d22d61ba4a576b46512ee2495940824ed24c5788f34e2ad7205abef28c826bf84fc742e058369d9730332d80b204652790e2a3a80f1a2bafbeb13123f53bd566e6def2703c0925be6c72725e190d67363ccedc90ac2901a675f5b3b5dc708947d1bf78a4ee068afb818dbd1e71c954edfe992b17280f5bc864289f81af732f73832780dbd465de5e3626561b5e8ac01a3905d458ab2e0c2f1c3b56d7be7b4d79bee16029dbf07ed03adcda7bc8b17eac174ef9149cc7cde6ea61a25dd4df7a6e41e49e3cfbb57611024aad099c31e36d1ca03fb25e628666c16d5d492cc93a09d9e76a64799be755653928e9e0b2de9b6f165c940ac9659288ddb562494c4a4e20b136c64e8f47e5f5a98aeefc4989f449c2472e43f14a6b6292e616678092d49649288204cbdb6cc2349de75e00ce61b51b49a7598cc5c45bacf488237ed4934bdae59fa8724e9fbcfcbec3a41b7fe786cdc5590047b2c9929f54f17b2e463e6d07d24bf851cc804a07da00f40b18eeabfbd3992ba46bc7058d8aab99154ef6274bcddbb233b8227e63d8d841d9c2c61dadb63d7cdabaf90f52123298d57463c49fa74918cb1a695ffc2e800294065305856633447a652b31c9e45aa1f6f608a75862240286bdfb575a01a5f246942e4d7703ffefc8058bc96b5387933d6cbd421ed0bad48a4569cc912805d0367f6950c28e07633816c184522e3ee9ac9e8ca8a4dcd1cc80e0c6d86892489a3fd8da74eff1dfbab71b15cc9eb8f98d719ac1e84bb881889c1cced65fa65c2c08be6651af045a3a292512335783508e4eddfaa2963269ecfb689e54a5fe60ac66763f44960e0ccfb04f02d3ec0d9c2224b6d91e8a6d7c5345b88deed4e6ced3022569ba612e9bcec030b110c2cbfba27bb0de8c47dd1abf432f08550a61f224caace908620fc38fe54a603c2d21c123bf548c56d1d04666a483042f23806cfc76c809c7d4c5a4f2efed1ca9f4c5734f8c1b324fe2f72160547542ce72746fad0bf0faa7f1b45dc5f199dc91b3adbec5e0ed5cf0dfa36dc9b52bb897efed98f1c07d03a9cfe3867480f0405ad8fdc193434ddaee40aeae51cbcb9bdbe7a47ea73d139ea732273996da69133165f622cbd38371d7691c47cedff17ceef8d6056e8b5f837d31a288c2f5ddc09ac11de0c3d138f6a1f33c42a03b7712637ef3aca851a1d0ebc54d9ad38023fed88df367bdfeb7891814d2d3c3e87ebdd5bf5b8d22d74349b4785ea200f23ea197265c4c066fd961af8fab07b844fdfbf35eb1fab5bf2bd7c09c84f2eab6045d50e2531abf7e1ecd33f0ab179f7f6f93fdf07daa4c653390b2a60b8f78000aae8bcdb2b2264b8f7be4d3ea607a799c3c47b9e58326cd34933a6dcb4277a48cca6ea4f26dd5cd2f290a08d4cb1bf823b0517db492377ec7f07ea4f86904d15bf2268e75a4ca14ce27b45ef225903df09889dcf05d94ba09d7fc1ee4253487a348604db9ad03036111d7b7669220a6d01b4bfe503aefd28a2fbec183647f5323c0a3a37243474fe68db4b05a7a7b439616cc567dad3a1e5d6d336488272074b9e58c78424acb6557e6879accdb78c65299303d109b0fbdae27379cff503e43fce00e1f5b18bd8f97530eb9209948293b0c044257befd0f314af69705d4f1a73cb86e8a82cd6d127ad2910d37a19ba2b5c8398a9bde67b1ff6d36d58ab45417736c5cef23d4f5690db02351853d9cafcb72729aba84c330250594c9aa78c419b444e19927c5b5fe253e61c582247bfc5bf0959b6058198c931459f60a06b7a3c47c7ade38f0717088d9fa95b5e7669a47b7dd85e7f553bcbe6a7ea7e6f534ff477526b650935ff70cca54eadb998a00e46365fff68a27a23a44b9b7117408a1a7c7b1c204b723fc53759edba5006675eab25003d52cbf237784853dfffccefffbb82c0165b57ee47bc31fe3622675ff6b21b3296a1a4a192d407dfad625640cf7b36f35bce7c9fdfed7383423bdf9e2fab1f57817b5e734c237027823e1f3b3b16ceb04dbf4f2febc9712f55482fb8c9fd43c48878cc7dd690c8362a898a8337aa000922e35b6b384b67b5bc6cc8eaa0ffe1b6e37339779faa52febebb4dbdad33bc0b07ccd2ef9e21bd053d8099c99407a4b7e410a90f72b6d63139c658a58ef6f69b723387c3aa762f79b314909d922b48ec1878fc017f8724c09ebdba2580f1addc34b6eec78c7a36393aa0fa93f3ad917d34eb3cfb5ef857509b2a53b1e939feeb63d7000c319ead054b0034b402dc7f1cdf3550cec0813609b50ea00392a510d8a68131d1c4195083042ee45daa5cdf49b5559db0f919209d9d1ecf538cc572a5d891ec46411dc4c15833355e3ac07ab26ea5b2d34eac883e0ec3d0d0ec1a98da25735eceed534839ee425f350faee2a1c4a6d0a3411c32ce8d94c6da4a8be705f9d3480511e38629ee2a66464bcaf87a5e4214953cfefeb9de202b2509820e64c6a54d9dff1a48e8cb4d6a60061708962958c453cb25afac704ba91446fc4a95f86ed6713d5a5ffcb046a5e096d2ce36832261d02aa5f8a285e48fc7d5a456c89a260881a4c186d7d10139de06269decdf89ef8f4595eaafa671dd01f82a1f79be7730a39503c41d2cb9b19d2623c06dd3426b26b86813cc381b01254592480f21637c6f303a9780712ff54194c0e2a62ede04900625657cb9f8bf168707252d54af87aeb4768bd1479ad6bfe23bb6c78f112a6e25c5010a7dd307ef8043c5697fd14efc1570599a022c5e6dd696b8f4d67636381a03deab8ff909489ce87570f9ee1a6323db1b07bec99f229e1616a43c5bbb4b98afd108d4e858c56d87fcb56923c4d5814d5e135dca1fbe571ce8fd725ff8a32ed112f1f0a0038e846f36e230b1155334400ef76a7a6c78986e3ed872b495073ffccaa1c4c92d651c223281d4dbb81e59edba577f75483624ba21929c1ed24009ab32a0f4b092396d70a2f4b0f7fff67e1f63868f05780186332ea4e6e11c5c17db3bb401b1a6deb66496e0a879e86487a094299cd08de52debf55bf619cac6a8a14a77b229689b409fb49bd092fe96c0fd9990a2bbd4545874a147a378eab4e9157a2ffb401fd0da44d67b7f07dc91c3ced7379d5e8a312fdde80020b374d9e80baaf5dcdaa9f78e8d0bdc2e679df8f5bc80e8526fdc0cb1df26067fd4b325e2a245236a0e011193467a2dfeff5be50fc437154a5c7b8439a7d92ba5ad9f8c234e57444f8d14773f2d95db2f35cc694c70376e5faabf0b268d5338b3febd4e9c165b4433eb3b32c52ab72616fa029faa858c769b837e00abf972341fa7ceaa96074a853918ad0ff957f76845ff0d91eeaf46a779ec11222ba8998b10953460e244ab9eaeeab1584ea3fb48814afe8bee5c9ff9bfabc748637b641efa43addf2b4de6eba619f58b97affbaf3c67a83af2d9790c0d585f1c994bcde54f894be5b55ca249c6978fff372f36c3edc44fea28c5aa3d4c63293477c7cf685044af2821f9e3e37a54888a5828ec5308f35ce9b22a78c9180c333efc6c4b1f6e2f7cb49fc8f7ace2cfe136975adf8ee87b3ce2d6a6eec4f3aa082594b83b0845893976a754e88e3b18fdaeee25354f7e0e1f1e1833b4526ff117eb5eaa8b97af1f6274e24497edd426e05f13a76496f0e01e5b324bd21435fcba69e1c40ae2b60ff401847ed3ee79bfaef587f6bdcabde1bbe530005eccc5b952574494c3546e074eddb95db8385e821e2b8ea1c0845c40730478b2cf237dc697bfd0b11afdedc07ebdd4d65ddebc0e9e9b2ce0396150d004805bf97c69e4b082c834eea62b7b15fda1915736fa3373ac5f450298db05a887b60d8af68f1b88d29cac31094a356f669f290800f3bf72f7db044d18cf41b08eb6e6241443209c15408291a11028f7485e19cac06e76ef603498d3aaafba7526c36d281739e08ee9863ff5030ca96bad7164f93d238112206accf2026a910baca5cdfda7bb3c00f4c4dcf59f381d89cd0058b15ba9b0bf38806e85685df99ea95c43fc36d28767183c530189c4a317added3d2fedd5cd5af660f41ca1fae2b459fef9d8567e70cd519f01a0478a6d78d7f609214f3eaa8dd9c14f3fc527c6f05ea99332429a3bcc0271d1cb9defdfe148f1bb2a06fb38d2c66b29ec65b9f899a8b9201f2231391f421321e3e4347e83db8218a040b8ee11a9b36185e87c926297a1ba85517f19c25446ad4c716850fb44b2b1c32c2a9d5641c4fd11685d65edb9ec5c4169b2286152d091944c37f65f675786c937a79f81f5e20100e4782c9f648ccb5455027d2c66b647c4938ecdd41b463b1ea1e572d3b3ed6c18941baccb0883a86ba9572ef2a9269cbbd7caf500d8a91917212fbc26972ecead1fa0dd20333dca8c67d5e6ea07449b28f79380d87c93b8591edf1cacca567d54b8fd41a00066030b512124c9e193e35f3de70392d12708744ece45d82c9a4830087abf12ed047990c45910a0cb5e87893200e38addb7ce118be66f18cff7651a81108ac544b5aeba675982bed4e8cf2fd844baf874f853d3c7f5b0ba5da15107dab435bc4e96968ca990680652e3464264a8c20c2c108fa58966233087d2f74d9abf87d7a4a723069d75a2e565b1c8d031e4aef4c924ff8d4240d79f7101a49fa2aa4c82119a607916f393276b837831a0d6188410be4264a12db7c15061913c897ac61e84d37bd0ddf778d848873d66453b0dcf12f8ab613b152abf9cfbd81de9f2ded7d0f77b55fef13942c790baa37357c25538a088e695137d643b11c4574a205e05348f6452bf4ea8795ac47ce2bd171cb979789464588a6579a8f5dd8c8e03cca2f56430fb4ab1d5b31963b214fefde38a5ceb328c68abdc1ece47fe4091668486d9a59001b373a4e96a6b1c491a79eee02e4856b4379ecad548107fd282120e168f87af65c6f427951001d8761bb78f7c91b432fbaf00aa04508f11964a326e0d800d9b0a66016d02eaebed841f9684307ffeac2035781ea2536cd451ee58974c76392194d79ca32c2cefeca1d3bcc2127f0107bf6833e604438da47db84dfbdb8bb7f670e8fbda64217cce2c5e55a54c86fbd0a16eac10606d9130407fb9b3e63331810b1a660c6ca0ee0c622de5d4a0539321487d78212d4dc96e203b7010fff12baaeb7bb02539862e77f90658411ade57fbe77b5b38a99caa0d8d5bf31fdbd106b6a1fb9e2bc45276fbe49587629621dde4c3eb2602c046eb3e1b1b8be9b7942236f412540bef12a956d8a92a8360be223952130330e96a1e60509d8986f369aac23108b7ff96480eb9c3a1f93a314540f668de0309f14f2369ba85233280449da3db92c0eed9a49af1581ed2f0d0fb088701cf69493da1d90c5f718f0037743e396da53a027da1b10e3e8a7a53243a93061f5b0a8aa6907614e267f6b6eead0ec25c0f36377db5bebb4b80d832a68d126fef6b870d7e2acaa1ec0628b0b57d16a5d115e97c6057db9af1e99d1d32eedfc5f3b1fe2bf45971bd9a8929c52044d24f9b5e5597de48701f21a2200cc571b7c4526161d4cf7034cc1467e1f949127257c88680d59abd16e84904f6ca6eb0672400dea2d7f4ce634bb9beedf969631192284ed72581b77b4075f64997d4de063b8e84e20be63599edfadbac372efbe45e7adc0d60882cb1485413706b47796d8f88982889ec68065f795b71649b8c334dfe8b957e8f7312aed38db692867a7951c09d270d7bf25a0a62f38f0d04f889be9dcda1c1b8ced3f1c7bc6593d7163c661ea98af8868bf817e8d8f213b45a900bdf585400de5f827699d9a33cbf378002e627cda14b499d3aa2980bc38a01e80f5e83a3ec94632583bb6f174411f86e6124eddca6bd8721d809b1254fe067eaebb70e73499011b098c3686d69d99ad9948a8a835c7943e69cd7c699cac372ead4c430623051af04f4c0724b5b00e28ee2f8f74af66c29ca2bc7603775883f2085f5fa569852f60906349a80bbec67307db0602a6c3d60e722e9658ed8beca9a733511b96098c6cbaecf69976bcdfb452eb5686c3680b0538e9b0ccca2bf42271dd2e97eeebd914b4d3de0d9d88ee73a9ef6fd9acaade414ddffe6e4307908e161a065dc08beb70f433d10a7f9377eba1f23786715d32ba99397205de67f1497cd38fa0fb9e18bb5eeca5e7f9bbfac7fb4d22fce72bd0a4beace7061bf06ecbf461d8fb8185f5f5f4ab319fa4f11c204931cc2aae85a5d3c01d355fcb1564aeb04af444f9b7829a5b7009cc618037e494ebb7b5cdd6a6f920748d1dc053e01575e9b9a8a45ee2104f0cce5f083c0516a1fb5cd92eec2856a7fe8fd875e2ecfff51946e234d5e4a6da86d435d77da227ea0fd321e0ec18ba8441721ae056833a62b6acd6fcda0d770121583de004acb84ea9fe286485112539e69756cd5dc4c0370628e2ee16aae630c0eaf43e69b74b2f328ce07b08efb92b8fd7e24f809d71ae29e156a88e2cb84441ba4cc9990a756cc0a2897a8327e972ea734fd82771103eb57f0cd5679a8033834db1fc2348665451a5314758023d9e15ccdb25bc479a9a33a1c223ee3928f7143dff85d38d3ceb78ef371aae5734cd8eb75524874b571e6bc3e13b45ecc31899a32d7339ef263c4ddfd7f970595cc230c0156e223b365f86f8b5ac5de77a227187ab738217a3ef891b832dcc1be7294345027d6f8aba3c085eee2e0b750576cb913e42f26081a2c809bad6e5848e469a7934b41f914d61c5f9524ad7a6f36c22678932be64625c4185ae1aa0dc45b01f9dec74af0d2e4f9e01ca37a74853c5c9f5f75455d8201a7dde2fd20d9118b3d2e1d50ad68abff9408f2b3d4bdb7c4d5bdc84d6d0dc1540512c30bead477c04d5ad49114138f02be8c70a1d2b12a6a2382ecb386c5aa9057476b5347ff0de6df6e9b5a44ac860908ed0196a6e4c2c0c0feaee3e9b7120c1134457c42b82b615c9bcfb1ce292c9e21531f1de9d077572a5b4ee4907560bc16e7a73678088614f1db4b77496ab7e2b627c46583a9edc0374a7546b1028b062756c77d472db6ab17fbb2a8ba738edc407272e65cce30cf3ab08250fcfc37d39bc386d030920d1da6ab5759f7b1e1b82a3461539210a0311b2c0dd1217949226e38e9f646dabb7de6513541ad1958d40ca5e1d44c623ea173ea26c3e627ce500da7d281b46706c4d07c0c0c7be84057238c981e1f88e07189500d0251c6060d5b14697019b35a171ade49ee410d3ccb3ad5b294d9f175bb6e34cb451af77391f9d7eb2f796324929e5f60fbb018a0191014060177ae0cd58d8edd2a864efda98edf3cd0bf047cbe53fcfc2f4bf38ffef32160ab9c271b451685e8062030f83c4d1540559530d747759945e6fb234971094240eb7db3131e11d2a206caa39c1a757aff9eebbb4aa9f3e7cf6e80170f6a20b278d88c854f314992a9e5ace46ddc2cf28bfd69f03e8d43b018eba9d239b0d094980a9d649ba75e1cd54e90c20a0a484f6313435d53972e2c079e3a60c97fff3e75c57dbe4743dc5d2a9a6ca86af1db89a2ad99a313569183468d07bce5d3dbb8ba436443a82623c383fa2a9609047e5e3478f1c4f9ee0206f0657753c32c31f6f4b304815a40a06535e9d2f2c3f52ded6d6960d325a290f4a11119ea09696f3a72585a73562ad4a79c160902ab8b535f5e3e19992797882577846b6b6f004cf982943664c1b1f6062c28481f962e6cb4b973c5cb60c875ab6c0c4c4b260b962a50a95295f3c29c128509e3869321c0e81238d4bd4b133fb8f233acea113e1eac4104cdb802cb77ed3f6452eeda5071134c61ac4e674a8dd37273eb3ad307e5d22427f65266da6dd14094128478e338d7eaa4068c1a893543b2bc2314e3dbaeface887f3e3bc45731c4727563ccddadd358d5e16c2820938b82a146ff16f7258dec799dc436ca6f71caed7f94fff4e4a28db6cf395f0637e8b33b67ff1b579c4186b8d470ca4f7ded35ed75a4a16ca0d7d28327000010e97d337bf833ba27ad25eef36feb3a24de17c3346ad72969154cfaad757abb52aedf59ec9d777eb138f2315ce465257ff6d7771be37a3196721db0ddbab95f6b8d8d4a0feb90e9e834bfdcf5e6fb2346766496efdfcc771fc97899b86b4fb2e3b8fe237b80d5e83d340c34ff0195c068fc161f017dc8591146fc159f0151c8aabe029380a7ea2c79f8e7013dcc77b9cc74bfc73121d8f4976684020033c766fa28bfb0b70d68fbbe99ccd4e1a5a80104758bce4e4274bb8b70a625f6242a2286ad033d16974b212f838692f5c7a757e9d7f44a7369af53e1f6b5d5a13e3fc4bee92783f2fb9f6622aa382f11cad38a5cbe1c4db5540577a8ad5b5742010d881f8be5028fcfb05a8ffd4ee28ae600e6ecea662160960686888aa0b855dd82fce58d8d45540e368c3ecb557ec62fedb5f98851b6c20da8d9e338ad2bc00b70cad557dace368d8be623d110a85bffdc036a4ae164112202029e966f22c0308740226c7a284a6e95237825aba62a50a15cebf722697a253bb4aa572be9a3c4a02059d73cef9b03b70f0a03fe8e2881db7315bc49bb3d114867a3bc3a5496e3d334b52ef47ff6dd4db2967d6faf37f2e9150c0c3dcd116451115b3fd72cc39a79dac89b197d71d33d68209765f146be1aacede9cf5f12e355bef28dfffbfe67a8df3e7fbfae6115fad487d6017d026752e3399cb4d52c99bc44fe68cc9fd1ae78c75f90f9700de55268a6256fed457564494f367342b8bf9c99f51596faebd593dd6aad457ee090f2688c821c431ffce9d5fdffdf78ea397dddb46618dd1023714dbfc177f7e1ffe7c97a4be22988f0dabd5feed0b074c9628b90c263475619327c9fbcdf97aef926b4b180402384f2d769e3403488ed47498517ada8c0440c922474a3624ad247de3ca1a404049a9864ea15857448608b1aac2519d3951a77d5a37c5b58200f9e1a3c7b55af34cc31233ce771c7ba6b536d366cd7ef16e37cac9f7de7b6fced866b349b82b58068373b9c9322dcd14c944491a391b89389cba1c6fc3e12ab5b5fe7ebf15c71ab5de586dac35561aeb8c2fde2a23b8c65861ac2f56176b8be1701876a350e0df3bea7748e4f49ec39df91d65d57befbdf76eebcaa20db9972bca97e5eb6b56efd7eefc7a73d92428bef92d9a24f5f5ce645db142693da437599ab3a19959925b77ad2adeac295614eb89f569352146b5fad69e91223c78acbcb544d44a621d31485020407fa87c7efaf0d9a3270f0f1e3cfa27edc1369e7096c227d0ea3f97e228a4c9ad1f8fe312aeeacce8cf5aaaca4e896c674f97009c7fcc6aac880863ae53ca8acc4aaa9c2192af7726af4421fa17e72399ecff75dcb1f3ffbf3aff5f664591ce1c3971e0fc3f9a376e947c0c1865ff5d6d44d1061bb235636ad2a0f9ff1356b4624f4c148f9c315386cc187b92fd43c111bbe16cc6cf84bbdd3ed74426c3180c142a3435798d4d056ae72996c97a7fea6a9711d41397de7befbdf7ded52e4bd5a1d6aabe52615b6e4d967d0aaa3ff5f4a9f706a2cac45e9387c1260fcb0a7669cecc1287dbed98983e4bed7a9383d1bba76e3659f672d6bf78e902c0e45c4e936fa111f5a20b67888a6a35936b3132395880a37e64eb3ad5488b23a824adfa379c0043590400c2701447521006c23c0dc57a94c044c19805091b06048e03827038440a0403c1d0282c040501612018200a84856010cae3488c7d075e7f01d6ab085909e7fda6fbc38863b6564f87cad25fb9aae32af6f669acc15df5b741ca267cc58fe5af2869881cd644a90ebd51e004613655d5cd3e47c43132353591106a0374dcc28c13349118f194b7c6318c19f1f178ea3a7b359ebf9d3975cf0c35f9fe4bfd8ad2b7ae46165d948904d6f3f56d484994cdf5155af0299193028b887d4a93f94f4993b60f61ad661151d92412cef9b49c6dee3ed4df5eeaaa30e0a01f342c4075119f1f91ba2b68dc270ed2ccc10a7d7d449b3ae6bced001ad5af54ad8fa6c774c37ec650b8794633c4623d9c27dd1f1ee53cd757c9d6308393f858c9897cb4a42996d0a102fa35a0f914bf8bbdd7631c7d7d06dd244933146c004d0842cbbf831d07a1f11d3da6dee635e6a643689c770b41845294d2dc895024e39f4129422f5b89e58ca1e74c801b2d8b172f62d232da36ae3b4dcbde9a0020d337e70fc898d018cafe924fc304cae938174b8a437267095ee577a985af5f5fbb7afddcdd26b14b7d6e18c72f712162266a2fdb98da65e29a77ccf3937b1dff757015cdae4b8984a80dde546f7fe5b6c0f21d80e4461a0cc86b4f305c2ce009a1dc31d8c33d674ff7774ff77fe2c4a31ea5f2bc3a46c76e21c91d845cfa3df834b8c58161fb8125e267f38d3ddee02bdfe1c270266a2a788a51788a3a245861cc04b88c03b0b3529f25ae0a50404e7c9d1a80b157e088b332fd06e01221cef942094998ed54ff3d7edcfc8aa337212c4da30b630d0c2f0db859dc6dd93bfe8bb3c2b0cd7580398c4e80b9aa2f536c666c7fd730803519b5917335688b49465f933ce1cede8721d37fc828f9298fd195d44b0cf0a340b9932d915dc5e0ceb3c3684ddf5e0c8769a5dcaa44a3728a6534c03f0c13c337c9a7984d5fb84e2173b655ad142916a83026fc1cc0ccf13aa99e2131aca1f2b278e1b41a2c95362ca4c2ea5255790b96c36eaa8ae4df2ba5aab73e457c617a02be076413879245faa9708e79d2d99e78d106e2d4703c6e15ab192455fc430ca1c6bbb917d9e53da29bef89467e17a280d2aaf1054db79955487e762bb3feb420ad2fb77e01728659edfe5c1b30eb7aa9a6fcb23a085e029397550f473e575a6dcc58a998a3efd121893924d3be5142cc754bb61f185b8f1e65456c211328eb144fd8f5c9baea50a9944b2e5b2b39125f4e49a945949f377bafbed325d3d874b64e1618eabd48911975fe437f029f265ffdb0eeb3c6aff2a79360e2a900a781351d15e4667299649c3f0e6c19cf594a98d86754fd655d175b4e93a1f0e8d0934ad3ad33fba7927824e8e5544cac5d1b6e765cf30ad7484735aebd6086107d8373c080c11be401220062d9d230e33983e1ed719e10b88e499c8492a091b8688601417fe3b2ece5462e7889538b05bb089671eb98315d263b0583fe86d20e453fe2fdc6781068d251db5c57ab4ec940102fe92437e8b24d35a24b9eeabf0ea64d9e355517415f90cf7b9a3a32b7ab5fd80bf639c0768b51a406038a7f22d0d32401908f0c1c6e06bb7ae49529cf97ad09af16d29b36541cb1c46bd9d60f79034c606f74e31c195fa3f918d5b841b3702e3c31f45603ffdc0faac78e2095feb1d8cf4ac7d6eee3267937cc08e0e09b9de61be9a613f81d8438b068efeb90c96b639a7bb41445df038e987dcc6cb63c6b1d2015c6a7f04ff3007cc0ea3b95003ddcb13a94c6315592328dabf5d5f45182e6f146a49fdea94002df1a07fb0245be1858e9c4f5e295aa7bb626de2fdf9da6de8d1b84a946076ab81b1537e99bb47d7c28513441d527a5136e04b0e593bb76e312b44daa22b5d18e5cafcf12b76db674f46c9bbbd53bb9897e7ab77edbcad066a0df6d883dbec1dea331c699911dde0003b8eabbfcec71265c84e8229677bac60f5c61834e55e4e4a81f50c6a708d7fb2326cf9cbdf58acf736518a4831e10f9b1f1cf7bcea8a9217c1c23cee0d7e782bb5bda388f4c924671a18d95811dc5f491969b4893836e4f7340f4ff9160f3ec16894ac6072c06492619fdad500820309601a9ead3f055a3dd464e66c92628abbf85ee7144c4cbbd95ae8f35d1a2343c3ebfc7243d273e94db16638eae2fc1365d11e04f5ad533694b25bbc760149b93a9ead1ca5667009e2583a8c275d0a59a17d995c779837d3f41db3ee123460ff0a26a89372fe5bd1c9b08187805a995744dcae6d2ab2943d0ccf5e0ba03c50eef800fb2a6f31e618f8e797ed929968a9a3b3b7263438904d35f7ae4ba4ab9341706a13e717cbfe7c6ab0511f9f26671bdaba10cafe7a52f379c3faa174fe4792d6e3253698f1677534ef2ba7fa406dec8c3213f0d6dbd2e9e92eb78ed0df592ac4b8da27fb42a4f9727ac6501dacc690bc1a3b2cccb5bbf584870617059913241ecc09333973cc3703bfc2880d12faa95258ab237d59a5d8745d6a73cc1476271b7460b38ba801b24a5c68734a57ecb2bdcd371ea5b8248c9ed517ccb11982e86c8a05e18d75d1f6dd9bc8614cb67caff2e17d6a6602389c74d438207ee2dc800873d693585c740a6cb905a5c7f863460d912f93f0d295fd38bba86349742ec6dc841910e078cf91bb2db3096f61f87943565ecc7a4d9734856b2b389259bdfc880c967382f2572a6d84154dee4bc6d0fc8f3ecb3475557ba5733159f98e63e3c055e5febba3c8fb9fbde98760a6aea6cc907facbafd3ecf267b827af63d26c975a37cc062d1d7397eaed2166211b6a3b8cb84ab4b1b516ef48d3ad0aec5a4ee08a094427059e631666189934209a6119f5799464cb47d38ea0b7dde159a45ab9177cd1c8514bb620f9a28ca5637012faa2ceeb0dc523fb9fb48f691fa78857fa45911bcb0e70ea13e7e0609b1daf676584fe6bc0dd56d676ac88d1882442c0bdba7daeb7dc2ee0bf8f8116d8264dd9557626be2cc1610f620d9f524e9c7b504bca98dd26d1b27c261fb4973f4170816dbf337c98b154de2df4552d66f7076e78adfd23c568f03024512949610687c5bb4e50e15003f6b1c80924c095f0f7a14256c68ddf3e14538cc22a86b72e37a55666398729aca2adb282453c70ea13ad0a01ce4dd4ba47fd6305f2fc3ade54ba29580e831dcb3a35bac92ce111259136bb1dce9480f9fc222725b694bd2d227aedddae2be3d80c11d42a653a64cc3d8401285867fc975084cfe0daa379c11ba8dd9c85f5b0a5c0199073107984b8b6dfcaa0df9b2f215a4798f85e234a72484744a9378a324a89df2155586bd32ac7f059250af599f5c8b84a9fbe94a33e8d13ee551e2890c4e10508d2899d29d559040ecadf0f6d5ad2a141a6121b61d4f8848bf21932bd151c142eec271c62c6857373dc1a8d605fc9b9508189f728cbc132c350eedfb09af067f18a75966d000c39df51929d332fdc5021e1576f095335dfd60961c013a598618d414e5a26db821273bce680ce0b0943d55d835c93568f610630d2ecfe1bf0a170219835bf2de1d6dc1a2ac5a227d8502241f0208434d782d631747edf7e006fc341c9bfadab6a3835f3a78c2e458bae0c07398152ade45cbbb452849fa8722f3704851f41b46a78cff57e9d3abd9fe6ad0cb77844d05fcbd0e5ac7db3b00a8f092a0c30b8bd911be5735932be9597373bd0ab13592195e2c77d5f6f7e3724a4262721a797db6c11072be440cf5646b93dc1e5664132d726903826d903ac5177683adc25e2fb5c37013a2ff0795b8db1438cd5d215278142a6236d796627108a19c9e435c5e6b2974a5a39cf8fbd012ab87c77800a1e3c6d754e026bb627f7486d758e9b6dd7234e2a2e0b64c743af1c4648b333c9376ef39c8f0af607db42cea6a9ca7847366009a366af877429151fb2e6e5d4c9e31bb2cc39fbfc2b7a94769e3bb32a5824af43045b67068563d35f230fa83b4d6b67b9943cced3637663762b5fa1c27a1fdb915f46767346cfce5565b2300cb2a41dec262d45ae739921c28e342db31c1e32ee8e9a170b8028063fe48fb69cc596fee7ef72cb33279045fa4e6c8742b7da29aa3c54286b5060e3f85e5bef2d58541199e3094a7984c4e2e28d88696597ea3f0af3fa23bad58d786204a8f1b50c56f4bdaf22e603af60de9afd69da6f813d3a0ee203577e9ad65ccdb6cf7f5b5093be8cf8fca56a65e2b7943b96c68672d1e0d48a371ca4dbb102b10de43836de28a3be3b9d82561a87fca11f6d7fa7bb0180d83dbed11b5fd6841c279e54b3992de0457b89d1e58de9374560e2ec28c105c41d123ca1524ec72c94f080caab8347fa723f993956acb3371a64322f4d62f54a0e1c877b8201d174b0e6e8ef1df851638be18f00b743c441fbbfe875b059c217f0443e1f9413ce95bed4a1f29e5b3daf223aea26212e9039a8cc0b783a1b2b4853ff9d7b5286cd311bcebcf0c56333431515efcdb556f6f6fd339084f90d9b0c96817e55ebdb9ada58f21ba2407791a3d39eeb2f80c32eec9f1b4e20d1ef630812e784a66d79af03c0d53f1346e42bd472cef9037c88cc0a6a8ad5e4cdd6fe96e7f7aac1a8c40d749a828b0648adf4261d9c350ffb2c9c0e9e60c3033e2ffba0665452890e8ebe60ebf501b8fac7412c13c771c2238cde4ca38f36bc92af6e8dd241dbe3185e7ed8bebc7957238ad0219bfcb61ffc793011e1ea4e56a5ca342b40e8feb627a1edc214bad4a2b2b9797e15d8ef236ef74ffd28b46b5797ae5d743e5ab37f485366bdd60b055a307ba144f3dd452598f7cf9ec736cc53bb8fe301ab73fdb477d1eee8eba57858021bc0f1be7382fa18087085ebe5ed75b94348b6c0a52b26d3bec1b1b1c86053954f6ffdfcd74b8f8f7a701fed4fcf3144b35cbd611e4d040894902003718441f3824be79ceb992c81bb02daf5d14b19187fd3fd05a99ec94054b932887ea6a24871d57745ed6895c8ea93a13837e1e48208c5b301e88b04522f06164c65f9f8e3d16e90647e3e3e46d0fde57fa093d8c0421872a25e18e44009098901e5e3e01699e7a477cdf6f5d6f2b1c65c384a8ab30bac01be22c0682adb45d49c2b623accb5a266c67870c01ba1d1a028a32d78d88f2921e357b96d420bc7aeeba222def90ddcc5a2fc38ccb35f473793707c8d997afbb62d2f384ac322e4ba1449ac39348be68e49908aed07ab714211b0dfedcbdae6165f1fc4a95dcf0370c567477ffb9ddde22274b1d1933a9b9fdb01d660b2f38beb91a3598290135a88e22b5a13b0858c8ab20fa559bf246a9609f26a8274e1a069f8d2433f14a32f037a47bdb1b5df1785922d2ccc25e83d6ddae6aff4f2cd6a9c16524f61243f35a55c251f8e23fd9a88477d67ac94129d74c6e30dd33dd780cd9be758dcb30f2486786645ec2de7d7e10ab0960b0450dfb825bdf1817a65ef4fc34b4718ac2df8003ca8280100294802e470f98d045f1492c81224f47f6677a1d6319771c4ecc06a880fc228cd0971f93271d9a386a57103bb9bd286bf12a39d792b5be16fc4aef2edfb66af90e014637adea6f648d55e32a255cc119e882f6063f355a82ab12536fc4f6150cea434d2c6284b28df472ba481fc18a11b00339d52279ade1ef2de33d56897e1b1c0b2174a5a409b4b2f698526764a8456c220f664dc751a261a354d1a781b781515d0fd4a20cf45a7574e5c8e352b84ae07c5ea27c112300326528de03b1c1754b806fa0671a87ab821bb5f93118b4504dae769d3c7458223ad84f91f794a61dc47354ba2b8a29550cfe06af5c55a91cffafb8c550611fbbc168a8843ca8fd8f98067e7d20a44468d841315bd4cf9d4c902a3294fecf4ba1c50edc23ab29865c7681fd5e24ffd6ea4a817352fb5a27268bb56d42a396ce5cf5a09cbc3377869ab9618f9bf41578611fe2fcf04a07eee7ed09cc6bf509e7870ac874c8a6ae6c9d6bccbd0b8873e20e37f2f3749570db857a01f401e50c21444671f4da9887b8338572cefa203357ee65b8f9b5c7f6ca5ad22f41301ca4c5969771ea9c67ee5735f8038400dfb6a2b441647a35871dccaa7cc5650e9ab6878875634198d46bb8a159faaa462331a2564870c0e2bc07db45450c78c8cfa0cd0a744f0bc2e6b7748cb2b6913b7840a4536515d3dc1489691ff52882f29ec03242364cf8c69238679f5d6dfed20c34ce340f22f76d806c3b21311e7c714d8098c9838d8187ea8266679ee75a6076a154450d9c52567fd618cd08dbd9bce4b5b5c38105397fa15a388d97dccc19d881c5c6378c8892f9a1d76a0af11476834f99b11459c74ca66dcfce5c898250d8d278ae823604ce856bdf406718d1e04a7b91532090eb663abbc576c3eeeaf9b51bf11da5070948d6b5146481b5eca5f3a3f8b2624635119754d7a18ded4089df5c231fc5db988313c9b17b4aa3e2603713fbae6dc9aadf3ceb8fc59dd56daf5b6a82970377bb637cbd8f8502a524a2ff061d30413796695f0a2d6763594016eb4f49bb1896c4f0b9748108d003a9328c0d291d1093119f6a50c11343561f897ffb129146b48f446ca91bd3e834bd6e0ebc4dc22a81baddd36d6ab4bd9de2896df2e778e6ac9513f969b1a4d1a53b1fb30723a0a208d448a943b71fb13cc580cf9ed7136df7b2ed1662928938148dd0bf2a016b03a8d979c56a952191f7048171adea7d205fcae19f6c311af7a37e07ff767adbe7683412979e4c54a50e3f813c791804f221816d6d98e9c8f05e21b465d345c5283159279a66f4914dcca0de18406ccbe7597bf349647b0134e74291ff685e6c976222d723a818077e2f0d975e51a008f05d8094f5c35ce833c59cf832193b4c079e25d99f6d4246e564f22433bfcc4639ed46029b70cffa8f7e3d0873032fb667e12a71b4a11ee2514d10b8553cbf50dd11914170698a125fec4114302e9fc930c64eb9f6c094b0407fa7f826e4240d940aa4079c4111463c8be191567148ffa3ccc7750827bf040d19ad1d89a5fb60865d809561321a7940f8e3cccaebc44e0f92cf7ca1acad55120c43c3b14b6471154b8d7e0e117f8ab48e01200a21c10beff4f0523ca16b59fddc646183427bbcb99f20fc4d81ec23be538688c9828e7845214fb0d5ebf7ced591411b417c597e40549d1286e1e5080fb0426069d948cd2e4d75790713b84e6be993211d429d696c06fcbebd0aadf67b90f7d4dc1525286e55257e42c75bc39d76778aea2a7e7e5a71c44dd4fe39fe6f77bc795e028c7dd8ea200139afa745b93f63387f89ffefccc8b2b18fd3b9df8fe944b226ce74621b470fe21f613849185137d4d03d342dcf05562287582644ee2d41ddd8ccb5d3e1ddc013f1d8e4e0acfa24fda42abd9077caa4f73a4438df58635665844054b935e37de68ec47609b23ebbb4466abaf22181991625a0a7bfc4e7450fe6884e183ddd6433c5adb71f42112c3f12e77df13ca407d3d233a441697b69315518360875df32b243f1d914bbce3dd8e09f3bba7a83774404127cd80e52111ddb41eabfb019600a25ed2ff64dec4502cf4800f878bd4fe24fa576ddbbb8210fb771263b4b2842e7478d16da40f40a6f10ba597a22f4d9b73e3709eda54f7094120ddabbb484f8b3713f70ba8c80fc2dff0375d33eb087b9bc12ab82829cb61319083993e52002531a18dbe3bd1ef77455e581cdee39779eb12a2b343e68b88cde40c85e0b302e989c08f2af4b9d02cfdabd46cb293c4a6e2a1169e3c09d091aaaf885c46008a6f456b27f15239a0857926a345851141b89a5a779f0fc111de95fe306964868bc2a073ba8cebe7472a30a67463a2d29e3d05399343d194ef09c649c69ed73c4a775bc918329f6bce524c0c84a072c56e580be42402ca3fa5444c30e2b10efd60301cd7e555462aafdf6c9f3669b4a935d965f8a6cd355803015054a223f4a3bf4f41865c9e413cad9fd9c1efb02aafb00ce44b09afa0be90ad728b2452a624654a29a594920c1d042d042804f7c93686bce11ede5af46ff9ec8b3356bff7dfbd5ff8fcd5cbdbcf65b35ebe32acc33ace7f68606262ea0187c3e57bb97cb556ebbdf7f7db6a89a0f16846607105cd8a2524ba783953051553eca488028a26334f38a12b03e60b9926c6d092a089a131c144cbd523e4fd6aedc77f1aec759e31f29fb64826a2373f3ffe814342598ff91a2df6f1c48cc668b51a87913b25ec655fe93f69e85fe9b0725a415e3827901b9cf315a49543c09acb753e2df66bb418797e4d7eeda491b45a4c95963ba48de4feaf523cb113f6c71efe1239797e7e7decfb2ebf27f9c7a8f8560efbaf33dbf8497a4c3bc91af7b4d8af19b100d42339075520cb6bed87849dfd7a00f03f8d649ade1e2cc19fd0a70ff19ec7c9f3ef7837c768363e0a21ea217960e70bf6cf4fdb31d315cafa2d1d57ce79e339f9c2c101f20a72e6bcf8f882bdcef7672f46ab7d4e4d3ebaaac568b5d87957a9b9a382bd38b9b2254fece7fc9f247bfeea75a684f0f3c7f8181365de0fe93e3804674e6c6a8fc8879dbbc8c9579fd7b41dedc768b56c0403708ff8af7e3050a071e126c381f03d459121434635061932b12ac4f6f06058ded1e946f90775c29c1ec4bf449c1148ea863c4b55cbcc99b562992d95ab3cc99b149011477cf9203d27d4013f4777aa77320cf3dc1e2ba4c6c8ca2a42161362ebe1396f3600bd02a67776ca51f0873a3dc707115f234e0a0879539e2a97d962c958ab96e9529de50d09248573c34b0ce273bace27674079ba77342cf3e09e2bc4c62a97fd6ab39a2c4716acf706277aecd0c4c31d5bf24853c578871b2fb4e1b445174dfc94f9c10b365b383147182a4ce012a6085703193a36bea831228213bc4def8de2fc6d453f9d6b3d03ac017f3f5871bf6b7b5f4e391a39e77c6fc6f85afc7d2879bfc7f5628cabaee37f1f6e8ad734f7fbec57ebb7d5da0f7f1704dfeb1dcccea531a5bf2163ad19875a3f7badbdd65e6beff5f86e9bc69d5f8c2ff6b8629cde39df7befbdfc565db7e8d55a6bedbdd75e6befbdd6dabb465a6bfd6afdee55c3c4c474546bad49e8ac75aeb72997cb6dad537ca728a214c384182c98d0f6de93242f7971f683cc19efd367c5497245927c88f5b237172ef7d271b1987bef95a14c0faa4c0fea8e325c7026ad3fd67230dd5bab1cfa5ea7ebadb8edb641efac37dffc6b4e06631e864c86f130170683891afb15febe5aabd57befad39e7fcee14db6ef04576b55acd5e22b8a9f6cd6a352570cee6168d453d44abfdd47e68b5da1e5223a056bb75f3cd2f47571b9f2489f3c5f9fcce572cc3e08069307b2dbee1c7be1b5bbf31477bae39a7e8ff17df9b35d620e7184c3506da186b2fde0b04c4840e43090e2595973265b23c650192c5b2a851ca020610101010101010901a26344b79a49485290b13114a546821c60925d29879991da16666045497de6c69d66556c48c88d90d0dde6c889910788401862d3f3dd08a6c7e44779e1d4e710be9123d1751dc39f48e24a6436b74b55cac20562ae69288b85374892dd1147b77b54caef729cb016a0e2825519428198284da36a9b9a42ef1e1debd6a1ef6ed838397f383b6c83c9aa951b5288a9b873f1b4db9d2982b55d98829239ee2a994c845dd6736743000cd3b112de7f9c17ebacc70a886bf87685a0c3630fc382682a168eb7c2fd1dcc8668624288006c00fe0c5d11f01b388b78e8a38b1e5c5f4d24a45952972277c145d3cd77ffe69da9400b3d15c76f40644837ce057bf2f362d72918b5c3c53624ad4a20643f3d49dfbdf59a711dfda4bb6cea4085e3f4701819b99ee709df20482a8324569012a40d8ba023fb83659858b6df3068458f141480f0f0fe776a3b58d11e73cc5b7033dddfc958f30dcb29eedfaa4a7b9d21a6ceb1d3e8a2d196b0782192238b24960a29c889322d2b8a6a6740562188221f847f083202882a0e8fbbea0f750a7877f87a48d8721c8f90f79085600030616bc90c1053905a16bc0f9de23dfa9ca464c5536a9da662c1253551cc52d6ab18e756b540a9373c8b5044b7ad11c045cf4fe3ac2984370ef1f5325a95a99db8bd6e29cf3ce1904c130dc5ef4be24f94d91a5ca54f59a66856beff6d0de0a8de675de74ea745f70371d0c0e0ed7e5f61a957292928048d229ab16b05edceee6ee195ee6f8d67b8ab258e978918c8cb6112cc45f4e0ab139c6049e99b2185bcd3c641f720e5f104cb7e376872cd4a3aa6f9bb0652cd3b56dec292ad0ca5590038f6e01880a6c7a48d5092f12a29056e55f9d5df63b08a1eda603152a3e591f7bb34bf696416ac1d34f91225ea65aa1322e9f50cce6f0f1d073568b45b2b58bbb604ad59d51e9911a974249a22449f2848764efdf9554bbf7b79bd8daca26ad666a5c31c3db8c649dc424656690d1bd050d7dda4c47238cc751cbd0915a0d0cb992a35bca9888367c050d520309d1681bcd79099bac7f6d53576c7e6ab1925c0d41912ba8d516c007ac1a958ce9f94f26beac6a36f987325200de66b5640156e845baf712f1f4529006b9674fe494ef6fb40be03b91192789522a2245bee08acccefcec763f3fb32eb799cf9821b9dc90213e4024f9c89662b75b6ca5da014402734682889cd309b160ae614f87f1c0ec38ae724e083842511d50f69d5434209623854a020a4cf19d8a5f800706db498f5e3c7434d23a6b23bd530f6e225b833dea1f96a15e5093f6c502f4043a3e7da0a325a943a53330c0271be80e78087618ee0d720936ce8ee08a04144ce07b055a5360c7ccea74d4d2471e8d8e463b8a7fe46cbff887ee1fce932bb52b484ca12ba2ef5742f00adf5774d62f7c7310e8a1ef1b8931cefafe9cf3ce19dba1b7152b3fc7b07114f80d34603ffe5ceb8cf510e4bda98aa56829707a0d4631fe1ac37ad6b2852be5a5bdf787c5e00f9bb1fd38c87adb90bd56ce2bafb6e296f09a39a2ee28ba6d8e8c90b4e02d58a9a6b75abb9736eef6c11ba10874c457a47baf902331217ddc388781a0e0f6271a2b3fd7ac55c426a6b0f46000cb20dd3d37956d1084835707381edcf0f0c0767674f7fabbf3e9c539bcc33adc746f17841649fe6be6ea3808e3bf7e67ca377ad95853a612c1e647e824f8b004ff99e02b51495efeb1fdaa75aa4f17ad511f5fa04a8d4492121a45df43daa77bde8a1825a5217060ff6a3d6faf7b71d69b83e0b70bbbef3e267a711c7b2a45aa54a6d957b456cbe53acf9b1b1809640dcec7b65aabd7393939a951f4393dccc9f9193f58e1fbbefa552bb96f326596205785fe49d75a6fbd6963b5a692de91bef66c516d539fea9a2eeadaa68b791cbb883daf69b652edb941d6ac2523d99c9495c00beaf251de12264dbe29a103c3101ca36bda85db69f7c2a0d94f1ecad73bc050494969694ca5788f2c676bcc15abe53acf1b201ee715244727cc1ad80f3f5ee23b10cc9de1f12d7abc33cf5cf4a0c54bb3362ad4eef5726972911acedb4f356a3badc1bd344eb78c2590c09d05433d841e426b9e72e769cd13ecf2a4a49b8c27efa48db49186f46ca75eafd7ebf57a3e42409da49134d2cf6a43eda87dc7e6463c86739a7323db2bda434324799effc7623dd4d92993b193f66b3b5eeecdc8efe2a109655e9672dc493424ea1524ea966fa24bba58abdf4aba2de1726374622ac79065c82f7c4167d0b88a7420712dc8d437fac75460b9d3e0d06ca942493465227940c6431208beca5a2a053e47149f43097abbe196ec608c84939608808bb0112e62c2e446dd28263d4f4f01c4eebd4ee651de92745b1a939b7219fb26fd7bbbb89be3c57ab49d663b6d354d72d219a99ca4747fc0f472f0083c6a4280cd46242a2aeada0a007188f5074b222230e5bc4ddb4e1a06a64e4e16aadcbded74f753a906e7edde4ee301e03cbbb33b3b809fad81c239ce3b4095c9a08c14a4553697fb72505030f22777fe144a7602c4337490b5e7f72bb32c537b84c41a71cbd98045052cf14a440376e600e513ff24974a8dc985b2249ef35136532860b8732e6f026ee18ac372ee768362d654dd088061ba7b19cc672daaaeefe29ca3b1485cb62827e528609a8f9e9e2c80faa2c00abef4a8e08fb637d8a340f9764d3e1e02345a4dca94542acd4639ff980f0366cceedd0a3212965c8559286b65e44803e66620c70751a1b1201290a909fc95f29b82b4b824311e9788352cbe23110a020a655862a010be758a62c9f863d1c9c172b100813bd005d18290caf9fadd55ea872ad20413ac0d3569f57eefde5b8320188621ff5e1cbdef64a932f312a7abd71d1515c6b6354fa2e946a7fb8203d29100f3c2e1badc828c38251d20927ee9bdb04491c76a6969b5d29de8124f5114c52e7231a5c1de775647d8bcd81291c6d4aeb16bf4e6e1e13ce47a9b62e83a7f1365985aae2dd6da7377795e6c9546983607bb43cb9e5d5cae7e4384999e1c44fbe6ae202043d8fa275d5c0853d75a54545434244907a9dd8244962a3183d28292c56ab9587ef7e4ea372d161accd3fe7c4ab15895657d2d4f8c775d8ff9b99c191d0a2eeddc6e627230bfa50709e90b4e48ca675914be4e51e11d188bb9d787e4abfb193346a8b7f093feec54f8d8902449ba485629a64ad405333b307c14a54a54ca1317621c41c412d1006c615f99415036ca1a1d21ddc0b28d37d4007391f8a202e6d30e42ba4c35ec0b79160a1b7f62502c56bd674a26400ee023ac051f61a517dec24279cd27c9acc990b5760222a2073ea7254401105066a143636637c5670594029e2c02d7c9ead49029debd49c4f409ef86eb06447112254a936fb7e489ca6a24ac21295ba420d56a3f9a892ee2453c5db67767b3cf4b9777a6ec054d19eba81a005bdc68c33118f6ba4ccaa8608c6fd8892e57b644eb1d9a15a50ba8b05fb2aa04edcab4b4a3b880b504e8f1bf4a1496350ac522f5056e644d33a6ea8873f9d91b034dba2aacab426f6f44afd315d3cb1b1b1881beef713a4e9142658a023ea70de0d4a2e1cd20a8453e23112c1932a31b52d29444a74ba2444c4e490d0c121c0e49ed0bae26a414949414b2caf2e32ef8866fc4180b88d4a2adce8e7777777d2c5962b832b30517a4586cd09765a0c1061cf0f0c0f4d7565b8d5a3676ba9ebdedcea0f9ecadea0f46980f47956866d48de38ee8bb2a2c53945ba1b27306827b08228c404209e7ffb16a65812423d0110044df8d60285d3e2ca6eaf10989e35fedfb53a12f75cf265665af71e7b768e906fa10ec5ed4a552de93a5ca5c91fe13b5c80eb077b94e2037dec8abf41fefe1c4887ac6991f0767138162498ae7e983d088c27c6bd7f9694a75ba2d783ba90f181e1cae8a5d0fcf10a5585292199d2c26533d41a94c95cae7293b69f2e47ceae135184a8bd1a1d8fb4f9ff9944ef1520d2f3511218273b5e89ae8d699c83cc1cfe6420f609ab03042890aa42edf0e88188a60410d0c6f38e95d166f28a981327ac105a535b8a8a38f282278dc936802506d2cd551860d3aa0883caa7778042184ad0e233a92a0428f334f5d6e64ec012600a2af3746d11b38e8800315456658895cdd9b383769eed385ba73dc12e38c62248c71f8768a4add2f6e1866af084f59b690aaa064874c39997e3012a2623f34b4dcbabb3be380ac07522b599da4976c1068d3f119ca99112d0192811327163c05703ab1b90c609d5b77af50e8c42714c34cfd801511d7a5aa346fd30ae3181a9cc3aaef9350b9b7db11302fd2dd729112889240024f784ba2781c5445e4376a2d59ff94ea648ad194a226df8e898db251524a227f9b2e8f4ac53901ae2789f80af5dd5f1f1b40fc421e3764abd5ee8fe95229ecc12a3711e76e58ba0139a1d1aeee7579383cdca501b1d7798e225108e55b094a655c427e2f0337513c4f50441138ff2d2a62e096802672c0814a5e7c57a4bf37076e53d69d011c34e326ec518cc3514c532faa15c9531ec807bc4f0e7a285f59af82a92c70ab582122c9f4363d404119a4be45242032c16cc9d016bc21256792ec76499454b153521b832497435233a3ab092d05dd6e415f488b01750e0485029877a834cb388b0500e823007366000c0a860403d2384cc2a4434831cc0134224c8456c9c5ca834149309662508cc2308663300401430031c628400055447406a0ac16a56d91ea4cab3d8e8b32a8dbd05a639f28b44e9d5adde543564521b289a26fc68ae14d1998b7611dce7e847aee7b7a00241f1a360df1296f20f6d315650a12608eb29bd2f40c8cfce402f52571880ebf8cb1f88249951e919ed1a16a11c475edb45b48d063cb50fe36efea0fed0917c7e96daafed2fd6070d8ce06d51fda0de7f088994c1e2448bc724d2a0a4332c270c616aa80b9420fe70f56d0f7446bdd82907415ce235b95531eb1f294d9073254551d28cf6067bd2ccba69f7f9ee252b3e6ce8c4e29ee24e8fe7c28973fcb68e0a1df8a84dc5ab738eae1cfeab4d2d38031629e4a6b5f84713e284749414900e319c739e2e228e4ffcb0a708683fde3c8bd71bc1ae54f4dd0c861629e3dbc000cf3d431416069059cf0981662677124cc39475e6c45c2dc27ae00cf1d5b02056fb112307cc471104a974a3e1c6f8266db22bcbfe5b0e8f234092ccbe0c89b7f7be2edf291c13aa98b5594e6c18bdb26f3eb20e37ace3adbd0e0c64f81f7f6d81b3468b3d8d20b7d59db9c644d43b8caff4132e4c13806bec886aa49c23768dc819a2408fb21ef9ccd69294010dd79998c37212cb95a23b3ddc5403ae344f07626bee563cf567e7db3f9985fd7546ff1a4fd5176dd8a29210cfb02b3096919f737537364517368e8f0059fcd0049af3892998e78bb555aff0a2de6e2e23fb3f39dc392ca3861e6938e743001c885d79f0a88f153e8501b52f32469d02fdd4e4868c532cf21ad8c652d6067540a14a37ecc49dc1aba2a7832cc64eb34e2114954606d270a7fe29c9fce00af3626984c7381b3eee41e1a93a5112e506283b3f52e57671852e2035efc0bc90635983289fb47395b466917275656484565b2bfe65f82a5ae6e218a92c57d6f0a3cfc98bb4c511db43e7c54d90c22a1a058940e5e6c16b223e976ad036b29a8170d958b65bc9bb588d623f5c9844103e41a1b081d726863b9a7a8c03801b2e4c676c0b004c3b599c4b750b2f46cee966573441511fb22cb623298d42e2faaa6c64c0aeae58172ca53c6d47ab8a30853a19efc2f721564dd85c70f1a9b2b5c312f0eff31b1b541f7b05db6168ab19c15f2f3632399b4ecce01f5e833b01655b05094f99e3139e3da9525826a1c5a47cffb77835f9832721c8cdd4fcc6f51ecca1f85725f7201d3164446e0dc4b0eec91cd2d38dcc4271c2a8af0fc912d88b41723393bd62d5b47578daaf0d5ecda110e0a914cada627781db6e7828bc7cbfb94674bfca636c6f9e3dd233ecfb35e286b65a309eab39ba4ac1404304f8ac19207ad359dca859b0f7e0bbe2042c014efcca7dcb647fc8d8a469cf4360d1a93afa759728cb6aa43f30d7ebea9e6f11bc8fcd56a9198b297d77c8472656519ba8a6538aa6a5b717928e3e243c8dfa0634ef3d4cec3b1803d7009955c303d83540f9e2b8bc6b9845b1a7b85a43669ab6488113ca4e30944bf5164375717b461998206580aa69f6fb00d08da081990103c64868c5623a04477e271ee1415ea2d449f0d2909100028992374ca6f157bf299fe8ac00f000519dc35feec59fc8f002f0005a96bbb840a49b2bf44c203508a8f81d22924d8ae76adef4b297df60d1f85cd49bfdec1722510c2e07b8b07d0df65ee423c5701941fdde5253d4ca6811545f147d149c4df34d0a04d03c7a86e22cb338778aab3fed69841a4770b41f462013e355e8b782b896ae84e5805a8693de9a238adbec563f83e46dcd7ddf59d2dd8b417899dc91f2832f485ea0d9e12c2ed2ce5a1648664848360145927b81ea43789cb82ca1c531a62595027bb585bf5352e9d41907567bd76b43ef9a112c4e5a593b493f4379b35c2226a0fc5fb7f099639d3d5dfbace7bebf0d7025fa90db70c70980beb10eaf9b9d44b2aaea8744b2489c28c41a5c3a85ea2a5ae24123146445c2bf3a0ea48c1b4022ca258bb80ed6ba2a48ac8f4d3d4f80516932da1a0ec16599dea1acadd2fc1c2e4f05072efaa0fd000d516061fa77bb79decb3702dc7de17b14aab62f3ba6257c31f2a118d52f1d69a4874ea0d85a6f94945623f787044622765d9a25d57559ece5c0102b01e640228d30de65d1339288b1e86d4e1781ab104b1a4fb37ee68658e4a6e08e29a3417349a75fe3c72569d14d86c0993c143927462f1f33e0b21b1a052a6b80447d8d65cdbc4ec0793039ef57f5858420944ed6492148bbbf37308f5e9a75fe227d3b0f20de631c824ce16bc40c54d01f3a700e075677b41a4e8d4097b4c9940451c6b5a58413071590b07a5830586e43db86a96a8ae20cadac039ae79eab4921300b23771c669da9a86c40641964d9ef0cd73359deef5240c3a37f56da73974facefb9ece903f9b02fea3f3103c2af0890cbc37a4e5e00e8f483127252529ac70511b4034c700a56eb8c31de276718b5cd3cd9ae575ca0cfa831231080fe0fe4cad2743f85d2eb4076ee200d8cedefd5416de05b2204833a4e3ea1a28421bc1771c2cf660a0b9b3d19eb1f6f00c852208486326b1c3a10cba3cae616365699cfa94c2ab065cfdfd3fbdff43b43fce7e04e57c57a35e1b43ec353951f704fa7f1ffee530e0c8f6b149b74125240002dbb7bf3a5406322465d0a023ba37901092b1d23d86a9f0d10911f7120f0d8833ab309704d063df560611584f50973835f1644057daf36f26821432645d5f91715ee24bdf25839f0b3e2c4f7763e230922d3cd872dc758401b73d60cd0a724a4717c482ec46be2370c181e94f3b2ccbc5ff57bb1e4dea9ead2f434141f47eb2684a0c5e332558e74426a8b6b244d9130df362c49087c9a253b7b4902bf690585f636b746e1650c2a316bf770cda28b05b3f89b3d56d7ac7ddf2d857aa015115ea6a43698def13270025bab3e3bfb02580b72b1a58ba57b51c364f0763470625e06dd897d4e4126357f135916fe6243a74496a90a177e220e5c4512e24a6553b693781f1c9b3e52972668e80d6de079e9e1e64bc9a006c113035abb82dc9edfd4f785267a2a011229d7a9f3650ab0c1ca028f556d03047d5ce5a0328cb84804db496036c2ff2397cd6d0f5dc6b986513dd3347ed4ff47f98277e6cd476ae8f7bfa98360964ecea919b3e1ba4d73e99b182cb84c65ca22dda871e8dd1666dc6b76de2c12a7c935651910202767bb615f3e88bcf48b808ab44c6f2590d21e8639523a2e939ff93110e5ef78925c22940606d45dca4d0e4426f329fcd450bd41010f60ca5fa386feb64338e2366d54a51e525367296cfb34ff68bc6a238f612b371f43d2cc6769a3fcecebdc294f1ff34cef7c104b41b66bf72471a5c9d38716506a1634784c1a1d0a7a0d7632031b56fe5a50d6e02493c911f2497d8f53ecfa416841cd33ff32cc799db4ad42ad482f7e24fd0392e70a1cddf6ca6163b463f7c910fb254513f545ea275325d6e70e9278fd929ecbd93d3849ec0099a8d138d26af7a0c48a81e5a2d60ed0eea3171dd66f0f540b074f062238f3edc6203062e9a7b51b91d5f8160500713a767bffbe5b461b9effb7e8ac815ece3361fff20cd65cbe746c51cd4cbf25d297e56feba76bcd033be2cd04eafe087d354eb671aba08263c0e6588da08ec9912678b115509ae29ef0b196f173a871a65a13fbb138b7a58891111c8dccaa2e9f4e158b905e669a3f09210050bef55037c48eda888dea2b7b126f69a3e3fb211572609955c3fb2e24f13ddf3680443a29eba30a1cfcf58a38f03c8489a813c1d523d736ce4b637d842ce01128c3b79457b69c710d8d607a825d0f83b080f07260663d20ca4e4489693977a5f102ba9e0121c77fe88f92672478af9d9e5ca4f97b3723504180802ba11c14eb5178c385527394e0a9934022f2918de200b0d9ee19ab1157e23ef285e4ef2a58cafe581f655df41ad97fefc34bdca0b75224c232688157ce92073b53a5ac7dc721b09292e5b4e984cd820a52922d95f54c36dba99c0e508f29f84fa506d6b25d6f9677830cdb665b4c37998f7a6fe2b1ba0c6d02a702c00a2a5c843927127cfecef28f0032886859771cf9fe52f91f000548c8c6cd7f0f024f84b34bc804e919cf410dfb82ebe8372717ccefc694dd0d100e4b5d1944468c81c2a7cfcf8825ec471e0ad3d5a6e6cb3f5724566335758add17bc1cc88364e0c1d36c12234eb6a591c7462f4d69e96af31d821c37bb0ead8b021f58340a7ded55e03608d5ce8d13f64a712d8e4033d913d64e52de08abce345ef34d7bf2723cb8d8718f47654d69bc3a74cc8af10f045369bef395dc6643e9df8eef5ca363cc69f7eb38679b08a836bd8003aaa06b1e41e893e2b09f4acddce88c8171448602d7486249ad2bd2843af230d5a7e2cbb14147501741f2006292a89212b275491b9938dce571b07b193b7872ef92f6ccc37e527338eda3792f96a073baaf160b675540f788c83f117582e2cc903d479eb3885fef5f02b4d128b8eb57a3b5bd126b02ef5b7570c42393381699b0bc635f2f0b16db8107f6e23715670b594a852a3e6b2057d4e3a0936e979fc88ac5241aaf3f0467d4e156138ca4f1bc80a98e1a4fa9e56f791dcc3c59eb81cc0cd418c23fffeb7b3a120445774136820a7fdf3d76613381fe82f5200791b383fdcfc4d26fda297161b2f65b6388265ec632476da8117a31f8b99642cdaa0126f2b34052dcd4339582c9d24d2b98a4759d1907baa2cae7c8edd0d3b990c23b089f40bb7ac4c8599e3acb8145ca6d6a7cd6e640150a026ed28aec4bb4b12086f3751a5ca4373a48588a5d34c8005040b761fbcaf1085cd45def31b8ebc0aef894e452cdf2f9efc11d3485fc9088d0eff176535fd76af9354aab29ad4081d2c5567d20d920d82a1fb3a1bf0564b2974a52e42d06105580e5187e4ddda724aa9ded1794e6f68888857b6633e6c3932b470c784334c6510a6e415036cc8053b97ec0ddf6cb9e8bc5ca7cf98a088afe85edd20a813909c171bdf5e240365104b55bb3cfba433bab6f492efaac9e7a79106bb0f0954311a1680906a7031a6799de478633c06057d41c5f8b35af5ea89ced4f3a8d7915f7eee77150e279aef0a0c81f09cf6948a913c8bf6fc4865e02e7a7ef88458ce7f64cfdb8f46a2272860a7b8f51f97c6352459393c8337f948a588f2305b5e18d4996136b1c7f574c5ea598ca6843fed6f41168f883c9a7bfc94d8a7b8281f57a863c7d60fa57f8d377679060c6234b2ec3abfb55d412f00a7b9de4493f5fcb5f007784f8d2656a580e6005ab920729366a1d47e865f83313d066b17553b348ab6060ad481f4f9962d0682d1573028cccf6423290bc3428d2b04ac55483d0377ae199b517a8164bd684f16c03f9f30cd510776a73ad6b7df3e0becf35fdc35ee2e5ecd32e542e637bdb921c4d96ae49ab4637cad42ecd4abc9ce0d0be306ab8be81a04ddf5efea2b4d60bd2103825ab2fd88e9443e57d301aef479b899da2c40628d7400147b84a26109829bb09f40ed53f44e7cfc39584305669d5a1f0cac4a86c82f233804903764e894da223d2b840df0764a6f4922308828232106ded0bc18e7cc57e74ba6e99d36141ba9632a8f287770fe5f28d9556be47c58688f06c4ff188bca54ee14eaaa965527764cd23214463b0110c837da2cac693f5106129ac29aaf0e733db0a6d200804985b69d2360075acec1aa3938b8f43b2cba3bd6f3e5636f647e9fa3eae6724a5719704a722eef92fa3832d413c7eba8f4f91ad637d1d49970cbcf7ba801ab38ae88f0b4fb4059e0ac7b5d15f402e2f35ab9e9cce3caf11b6c049b60cbeff91cbbc10a2f8d9b10bb389fea8402da18aa80706f3a15bd6368da285cb3324f1bff96a0f49e3e7ee28322aba26d04dc2e68c28f859dde7aa797b55a637ae80bdeac39a33c52ce186507aa9ac7875a8cc4ddeabcaaf9eab95bddc354b53487166bd4c30f7b69a249398f3f71caa065fe3d1815bb050e2c08e6982f1ebeed89a6830b17307b9f6bea8585167565d9def7b0868eda3617ee43484671869d65ae27e326146dd65e4d0db65781ebfca73af386bc8b11b291c014ea0d7aad0c51d0e8b99e0e2fd73f5103fea67beeae3f4256d93dbb4d44e0ab404cea4f93b74d7283c41e2f467b028fa0031909197c60c3d236a38a20c7110adf8790548a09f08a7c03f70a1c7ea26aa8c4ce99f11c619e219834e59303c129cde0327f5f534850958980321f7981e54222ebc5416e4f230a56777b9377775b31f27ff65084f58628c2e85edc552b1eaec80582b7e8bd0c4948bc0f5d1f79502496c1e2363692f6824b89aa65c3cb7fe587081aa6c58c1313a9639620e57467d88ef98396e93cd9d06dba3ad0ba64607a1981abbd6ef4612200107314c58b8604e422a9858649177f8be88bc0c012be8eb53d07d8bbcc0fc724beaec5f375a927a9466a80f62f41230ceb23854838454956c6b464d2187b4bb7a7b2d1b8e65ca435f602600b1154e8fb48b44e05081ee5337d2c56433ba5b2ecea41064b66c8dd57fe3253eda8ac67698a8249d98505d148538a99b2ff0e82f0b715787e08188d89869de4c06f1eeca5f9c2293451fe3f4d3635802a006dac23bae0f241f5b7b5643c4503ad795add3487a1626b0494aaab490bf3e97b2d50a1218ea7f4569ee2e9386706ae3adea3f8688bd76b420922ab160e26d18e0386e77d46433c50f157cb214b8d4ec19469b4cab57c3003206e4b3d58b0c76c714560dd77f826b226841896b1e7fb07eeecc6902689c7665a85b0416ec834f179f8423c2d613e6159d2ebc2cba9807dda3419ccd80aa0f21b070521f701613c29f1d2c47538f519ca2fb6519b5ac8f626ca2a6104874e0c61bc99f7b69068a31638bf68e2b9038455064dc11ba10b4b64f879c8eae883f0f14fa7ec50dbd473c9e1633bcf3404d78c36ded7c1016301849d0b5c4960e6ed7dfb2799ab5c900037455efc2bce2f63f9f25b2c2d44585d14bca2c3b10e7b77844a658560b42eddb6a0052af3bac648f679a9a4ecdd31fb9e997d68b2ca8542d2ed93bf8eac6b282c11d46b8654c01902a8cf242dd24ea4228d862866db21871d34459eddb4cb43a9c24aea7065f38c2469c75791754c713829423a1eacff171b986177e8efc0113a2c4ec974b6a72d98119b377217ad773909f5e8a67c0267f1feb1576fbda1a2e63feb8ab18546720257a94b151b01747646d1e3e6be602bc663b2ab2a462e6ab2ee16727342fc87873c2b2027db368c8d4f9a41126a90253831291ee5e90fdc3889f9816f6208a9ac57c0ff000e0a51304156da40faa34b24a6b73925299e8577c4e2e8cae2f2f2cc77d028acb76078f7a5ec31b54252e6da50eed69ba3125bc03561f8d39d5cc91a460e94570fc62888d226cdf35263636828d50c0869d5cc22c2baf8a65336758205dfc1b4fc0655d7f9cf35f83c898b73547cbb4dcace6402c21bc1e8514267a1acb07326ddb2b89ccef85427922584254dd84bb2fde146578f070a2d7604a4d5955bef07398f12a8dc8e8e8035c7abc500936904ec3ede03135b81bf15ea6f0a518b18a3112342f35614459ec022aa493b9a224b178902e717a2d1ded57c9f5fd5ee5154fd078e83e85cbaff7ea61ffd73b3572875034827e6da6a81e8b5393f41009338e63424b41a5b5d93abae8458df7d740d358eeb18926dcbf6893aad9ae53c166747ed5846a214f5557428e2998d27335e175c98da7e7dd1f75c1a582280352b65bfb511ca00d9e28e0915ee0862626bccb3102681a0493a2cc96466a26f20604fc7cf86e0e8f85d0d01e8d20343495e67dc74666b79028fa8c500a03abbd6d90b571ed8aff19f4a4a39d40f11df2d913bfcf75b97bf42e2031ed63c41b73753260ffad3c447083f05ab46ff4a48672c81fe09af2fd048ebc0445d17c2e466509f09914244898335c5771cc45aa8cdd8ce0dcbce91d1dbf28c6d537e5b34f6bd71b9acab4b410a5c4460d2a34cb0547e210098c01990a4b8c27f3d1236de180c895ff2b4cb741045124b1b23eeb92868dcbc12fc3f32cafa6be93f4ee52495e07a2d20a95de623bbfd9e7680788d7435035206a938057e5ac0e33ec44ae5a2ff4769cfeba0a204e639db7c5ba9e051a963ad84275bd1b36f2e1e883b0fbcc6fce7c0f7931735f466c817c8739358486e4ec58417fe0b41b961831241117648ae74540777df56e58b8c3d238832d9a174dabb182bb4f5e1fb769492fa2a83127d7c7ce7ecbc585fdb85757c76e0e798fd06b0003eb006846c548a5e19a82b2982e7a1f77f8e071451cf27c22daf7195b0128e9b8da49685a7e77c2187b551fdb4b5c5a3c197f682cc908421ce8da4c2c1e79fa8ec277355adce98771cab8f751c6371e49664f4f5923a931098d5a06eaf95eb66ba9d5ddfce1baf77a90adb75b50c6a0031040cf6b82ed5a067620c827e54fb30f5c245461852d7b38c3de8d809f0d72212975e48fdde112bb33883ed3f78f689e12d1ab46619f6c29c149e98441a7de1120020a2143428e7483abaa4352f62386eb0a2efdbe41d49ae488cecd9d830c49665ce5027f7fa5bcc53168fc5f242086aeb4dcb1e1d2aa539cb3828c5142d1a877caacdd034d5f2b9e81d4031b055ef452dfe249b4f0246cecd301b9c8a2045822dd47a1f96035940d170572dddb4b510a7ab827af47f0ef2b4696573333d4884eb43c2e183249737d6994978404cc6220e8cb4154d1011c32bd3a8097db02a053dd4483a8a13a4daf2ba90f0612b7e4c87447a3bfbac988f7f5d8131d8e557a03b6dfd9d17f89690778432b173cc35bacd02b48adaf32fac86118d8b48430be14e01aa0675005c10415249b293e40f777180ad6895dfac4734a60f0e85d09d495c13372da71e5fe516f1271760bb1dcf7878bf2578f35f74b6be7facdd4e235ff23b5fe8a749456f67058ddd4182f07fba88ee201d352a556a8930384777be940fec18e4501860d713855111d272c56e8dc98b94b5a089be1de160e953d25096c8caba22bd937643b0921d55168eecc59c47dc1324894fc31c71c6509406b94a718f387a685052988221124592811ea0f75dbd1c19965161e0997cf16e109625140c898b6bcd2f387db1d0fc355991ee7c4e63aea7c7ce1c018c370436d2374fc7b38f3313a6fe20472e770cc3531ed69bf2b599ebf4ddb756c13371a7d9042b026c46924496d0e87811ed0a7961b2b30b3fde3e729110b84e139ab2631991186f6df8a330fc76d21382854120f2e25276f00ffafede34bcb23a1905f5207ac5f2fa9ca4d558452feebc9d91fd60e86b1bf3a79f6101369e36b691e839199e49f61485e60f9f2562fffe7c26d1b135798602cc9d09e4308267d6a654930ca07e9e52eccdd2a45ef5df8902363cca92536b72387709a99fdab0d13d81802a9b1f795271d826ccb38bb22c5aa0a94020a2380934309a69ed588ec58b3cc8abd78a8992240fa105245ef09fc418b795a9deb8a7bd0c6ba09c1f896d960e0b3f37eaaddfd260b2e358d915f928c4f165167790d1a7b344f5d6d44fe3d850118f4ab1147a31c9180a9b6ad2d8222e1cdff168184cdc295abdc96693e432fcefe3815956ee14f7dbcc62a3a83a9f1c6146b4d8e51f08642f0051004a66432a6441037f3fbecb1027c5461e44222afeecf20f190e83e9e05755358fe7a8df7499994e2986af07e55ac02c2cc4e1ee3c1e55b6e667dc39b347d2765aa888b971272296476b37c85348d108c64b41077e1b7401dbbf7168689609ef3bd7d4ae3be4eb884cda1ab0e26061ae36498c55369aaf3079027f0f9f0377c88c1db79b7f71f1d32c4d2025a4c810951725a74cba038fda2427b2b9418a3ceabbad029359694b63b7e5913f7fe0e4811e38c01671ad7c9f90875478d7ebf59b9076041169573604f80505f28155127b1f15f963cffd68bfdb368cd5da10533af77550e0e63541af9b20b81ef634a684e27e0a5d7b93865cfd8a89336201b5f26c03f8653c5f538284a6196bc5119a6f11aa50dc87e4880882bc28c9349de3239c2fec3a33106d66d8c25b1402b7edb263c487ca7380f3f2c5dc1a19403372480f4b89272937b1835f9ae71ed45450683248b7bd5cbf2347e9ea3320ee88686e85922fcb99c9a6c2d3e27f8594439550ccad9d68b95dad9da56eb00e314d59fa0831a92871ea7bb9d26a5ee261267cb18dcc5e18248cf56eee0b83f0ba9a97d3a69325216cd7cfc11d781cc9fc9bbc152fc2e31ae189b9c6e79417fb450bd4e7bbd0a2b31c283158ec9114513f28394a1bb3c0492d478a7661c2d68bf8427dfe0b6d98ef5f6d002dcebf4fca6ea849db042622cf56e2d939c6462541289494b49894b2591b007aca70a46e3a6657a43ce1efa3c104a812eac5e971ffa8dd7f1f8e11254db349ddf55b046fc2fdc87711492cbe3b2a9718c1d2237ddead300dc6ce4304d9263d5efe2cf361c3316d577d5ce4883601eac47922d17a942d500d56e1521002961883adab2dae53cc806c8995c2d76fa68485bfd16c22fd88345f9639ca399b329e28730d12860852b8885fcc977bcade4ae1b724b5799ce5d26341416f876d6b6d19b07b30fe39b89d2a8bd5a393442929c9504e753cd4c88fabaa3b4b8892c975b497f36d850a9a483405c1618fed69888f4c017028dd68c129c426683d1ea42100bac4b94277e0277e06da6dcd4b7185aaeb6c19fa52fc5efee65038ec9ed796ee4fb74112741cb4c57d83a9d497555583ccf7de071deeeecf6e580529af75852332e1702c8c5b14e8a3240f65cba86f7ac050760fc361968c5fca7e16bf1415c5f7fa73e4678b1598a33360587e316147c5b7021b0fffc54d6bf0f2cd2cf842d41e5893a8d3331893ab1210f4e4c7917db3d9068851b30d5c1b7366b60126746ec72d2eaca39a8660bb532b9225518047aff3b65218b13e1856bfa9b6c165f62c8490e48d83e12c0c886b181d1d9c518a114587650235a639b664122098d09a9f5b6611b9804f9308b191f1b1b18f1a27e05b3d9d2b16c86f16b9e2e7050dff1e744010af79d17026ccb5ff8c902713fd29f889061ec38524c1e0e52fa9299f421f55c8f2fd3e9610b1f3ebd5575c56af0bbaafcc571a8313d3356b062a85656667763c10ca4b51fe8dbf451c59f7b9cf021fe49b585058442443776586725a2f4fd1d365254c2d0ec3949e4563e49d4f5abad5c3c7171fe65bac9827ee88e04a7c1b9ea5554891f97a8ac5936ecde16a282ba6dc9a0644ae1f1a0b7429f310c555603cdc3e0ef711775a2b5d614ddfce6e57cb43e89d6f6ab4fe78f90863f961041eb846050cf0cab18dff8cb9d5be29378e28b517dc15bf177102da2581c45eec32a63fae0c3e197e7c1940b1d5882406c4b54c16242bfc2b82479d3468084e3efa11ac07d983783b9815d09c1b27edea523081c0f95f2a6ac09a0738ebec10f648202c7909085ba0947ba69d50972bf45ee1e65d55369364599270be18e33fd7156892fe288402ae320e35b2c68302525f3633a3ef2b4801eb56623ab50edf20ec0078195f8c512fb91b38ea888da86d6a668b460e49c4dfedc71dfc0eb8a378b314b963c31a23afa303165bbab038f90aba1e599e58b09d9d59f8f44214b24b63dcbd47433eba860feab56e72a142f20a968a0c8eace7e895f25173cb2138665785f40ac7bec40b9d0b5cde282776794e381a9f1e18d1194251d7d33b1af1af1ca94a0e01dd91ad0ce9f2964a8748679a703146a4b49ffe22a28e6c4a514c4f07a7fab2f0ced1753ca9add14a725057c71eb1b00af2b9f99adeb96af2a8c800fea6ba1b6c268dd6c0218c2bda53d591683834a8fdb0c11d3a993784cdbf54e8cf2107c9f2d63fc6e2207f6b0ff215baf87d620622be37c1388ee808cefb8b1b04c5a5fe5cd0c94db168f363f9d3ddc218fd1bb3670583a5d7ef8e52893dd9c78a2e5eb99691466e4501e03f6194a54a97b1880b333c243ee0b7f0a2ccc7fe8a41dff59cb3f42dddf027ab57b11aedd5853f6f38d1a1d024f9edbeaf1a2202aadeb4d7f9197ebb67abc64821b53716dee7cff0fb9eaf1a2271606582f000b07c062fa8563641ecf2a37213ae80594118fc76f62186b960359c27f72f29cd2cd4b27fd7d4c06aa3c54389fecb9c26128ccde07da9529afb7cc65a01e1df1189ae06b7ae35113fc23630acd7146501e02811d79f31f0564a45bacd50b2d9bcac548288d7b985bfe0c5c1e4688acfcc7444b38472fac0b0df46e2c884b94204d64002cf21c5095a8697ee86637e801f20e138cb01e3865ba028cd795b64559279d2ddd933ca44807b7aebb656bd1dcf4896382396fe03822e5fec80a914dc12084cba917588039f016443a00931004c2022f57b2e9411eac1ee9acec7ef9e656a509134774fa22c8a5743599418277ca1f77ae73274a811594b6b8af730133277918b98064e54a40dcb2d0a7d5dbf7470aed30b04b8375aa6a1d68db6e1359e0aae405951a368afd034b604ae49c6e81443d7b72f45f3a9c78f3ff05f971669e126f4f5827090c0c6dfec3f8e152bd6836570f05bef11f701262eb3a02a6a7a721f3bcb7603e8d7820089a6e49899c9f4c421ba8394b1d92d3f240b3ebe748973683281bb82d788ebfb894a719e63c34b0ecb28a8f3f64d9d89212ef617ee2a09bcab1ab6caf52b3a84beaa10c5cd8956767256f7bb7b4e2ae344212bb09d8cc522f54c9e2e2712adfccf1a88feff1fbaf71786974c49d6b8919bbf6dd75f208a97fb98ada4e4f2b4154a3e7f03c7451057f2174d1864646318c47ab595aac80b4f8c1637f35b0496d64cd5e786c7704b867bce650f2b3910c462a1331d67e23aefa942af5fafe7df1512c9b8c0270378bce18bc46884b331d2cb9303830801d49f8141a77f96543b9b0384dcdab2c3fdb68ca5687e0a8d3d1f3c83c288591bf2cb257083ec42c454ae375aa4b8415364653a93542984ec3b8b606e0a5bc66b177488e9c4e201f539664bf19e8adbb43db0ebd2d867e66904a9d65a483b24eadfeedbef670179b649b608dcb996b6f17a2a72e17044f4f470546dc1700993e03b3120662ec3b39e4467cb57f985239f77068d2a6f35091ef0ff1e8ef98c5b0e18c2c9f56aa0026f16437cae9c84adb3217b44a78990a0c920938e899c7915181e55c240728f3f539d9463555516b44ee5706a20158a640998f8fb6e1f3ee1a059d165e6e36a68bdc484cbf12a6f919c0776cfe3692a0ec1b2e6f9eb33303a8dc12f925b69873a497ccd146208c12d45aac1863bb17ea6fa1c907b44e60b2f49b7ab8b50e50ade88d8650fb3f9927ebf0b04e2489acd832a645ac8c01ae5d5efac8a2aa9135ceb0a120d6d5588ef894c8a6336c6e2b241fdc4a76958ad36f7987920bfb5e2c1142427495ba28f31ecda1adf76fe7c765943ee11bda9c4604763327739203adb0d0f0218747de5aa48152e891a5ea7fb7320f115f0ab1d85226e009f31f3b701342bc92199a71414804faf2b985a4dbb89da4e6d2c4db54b63a2c06db04fdd3550545d83828a077786001396e64f4ab46652da0d49da495ee98549041cee23f81429b00988c55521ba59146e86a2ae3c1cbd0435553eb2a1897db92add265007e84b7224d1235b15597d62c7a173e899e46190d9e351f1dcb3f02ff760755033f6867ee2929c448d69ba526928870ed954eacb1aba3496403ce1848a867c744fb9830269e375e9950126141453fcde8841d9f5c9a2a4e8b58861762e910c2e9a30b3741a63708545d8e22e390602ea07e710ea322c1385e9e5476522d125238955ccce1b5d7595fba95d9c71274edc3db0e9f739b8ca77e7c1c023af3c05242f73ee86236d299060da3a6cf1d184f20c186d96f9977065793b107e88190e80888cd00095990c2bffab2b75397c121d517a7557baab0f5fc2ceb7bad432be81419f8d9fb7b231fd7a6f7664f4784b2c1f68d10bcfe24f820e662888c16ecac3c9671dfd651e81fecd5859746d548d796c30d96e1812ab0c8f91f74b32df0bc3c20938a17ea119abfa627193e86d778435e5e763c92781a36745e0a860e1c0c65b7f4aa573bb4041fa08d09bba6796b1d87d5e77f10e545dc21e9f92fcf7dd7144a4d0866512785b355d574082fd625c5b8cc3978e5f7bef915189f3d3ad911ec53db35810d46908595b275408d98c22eb3fe3c746301a75af0d0d28ca726a2fb434c764ad4bdec7baf27696bb57db1a024d45175754ee98b72443f2fb0b3b2b3c1e7fbb55c8ab6a0b47a837b5eba04ec6cb5b54d72f9225fcef3a0bfd6f948c9d02ab4576fd5cb8f2d2c0af3715f8c33eaddf3e316a71c5d7875de133ab6ea67b5d57927cf4de4cbb6677a387bff128a59037171b74351e378b6bd82bb759f8b102a4c8a9d322cec91a7efd54753ea27586832995af30b879c8eac2130524c28b129a35251587cb121c560d9f534da89817fb3a66ef5f99e74f2792be2fad0e03cfbbc75cd0a96e6add0631b9fbd9e873ba0519efa44c1144e07da458fd2e53cbf38be252aad41d11cd369561d16fa276f26fb8edf13ca4a98f135cd289dd10a44ad34d3e34caf3cbc1f3c79248848b4e7af9103c7e849b437126f61c1db863261920c49fd6a4a364a475bcfff18c87c01d4c182b5de7f77ba94172e730d571edfd7f56ad45a53097eefcaed5a00b536df8f87c7b6aa495a80c9625868cf3a26430b1013f89967c3cc7929df2239366871b6221b40893e89ad9ab75e4c3961251760cca1c1371e7c2945245b3f7d2475fd82033c32b9dd60cdefdcd7364041cbf598c5f30c27c6d23aadbb0a0c9fe5568238a880093a9cc47915b1b2762532f03fa2895c8e6d83d05ae373f6d303782d82d0f90c28f6868e67dc8baadc8dcc3ad899185e30b7a7be32225b4839820ea31938602089b42e1a6ec55d2c446de223a17060c4ac4d8f25a117d39b960b272be77a8bf8adccf967817f15191fb3708dbdf55cf5447bbc1bef26823aa26305f417c99f07309ec1396cdeb86328ef3a5885e70fa8d3722f59f7268e42f6e6417abc588925c5fa6fc130c5d5c50a5327955c37a19f05b5ba0dcba3b3be197651531a64b9dd63a605b2a81220afadc4a0a76d22c5a8207deced964afc1060e3ac55072b876022327902d4a4ae94c9e453956c6526a9d535c86c953a0873251b826c4edca7d99f97bc8da51fc8bdfa7a8c86e368939e5087d1ebb77e6cd1c493ffd40c7a993874512f522029e2648d5d51adbceeac21fd454668bc6722e989d6e338e21acf3a51d11b8c84132e649a2f989e91074348bee2e26691a42341b3f0a617162062e0a9ffcd3ae883fec61680a44283728c0a50e03c95045c2ac348940d4c4876272dbea8028b8100a936001b61c8af1274caa874b3396274cc2c94e98d888c416c8d3fd14c540a450ead8810408cb6620ac36b6f581dd0f3fd689c95afc50f46e941b5cf66be2b76f9a18988a19725c258ed74efee64f2608ac3083e5b8cfc98089a9b9aded5022ecdb385c384a8224953743600476e9185a9caf99fd9b33dd080cc70c1ea714e668b6fee3271383d398018715e2f8a2dde7ead3f6cced60f0731876c2d456caebbc4333988ab17edeb93a6ca24adff71c949ba9db17891318b9c6ce56d241f7d2f1127826b471b82117dc6038afe315f5cb17bcdf8df531c45dc41f5faff11f30abc8f4e2ce6ac02932d087c8db490960d0d35657f9309e8c5243331b120991275e984d50142a401caed32fde8c41a8bb46ded8622290e4767217886c044accf2103af23ee607297e1a1188ccec5e08437eba710fe88a9d168e63f4d4ab1640c7386dd43eb86f0a6c36725e9cb0cffc5c1936c0331889c571b5bc58dd66f3e3dc276a7e64ab160d90218e84941e837988eab099f29281a45448302016f1fe1adee0ce242c0bf2adb701bae24885bfb82e1acc772cc20527cdfd259b6b88f74f19e1822600e453f50570b348c0ee24222b18ecfba6798c2abb62a4eb91f86129b2f923ee19a8795f616d594fc606cdf0bd44bc0604525450bb0849770eca6025497739892c863c3a0919349da00be1b29764d91413bb275a5312dc3e49e000e63a2379161d985e764e0936e348efea32a8522bd3c0ff903961fbd4801ee3982420b26c380f9574e23cf5834bf3ce52fe6de2bcb3347ce70838ba48d6f8ec53f55c129304fe29afe755eb13dac95ba969928d7c67c81ec458195285e8edbaacf179594d206029da88949776fcb42e2b26e2281ea7eec9a194ba6ca804de6ff7cc4d68abc48ede399172a10d8032a581630af662122bc501273dbe445c7b31fd7d8c48bfdfb7ef3c028096bc9e873c74a1af9737aafb30f73af3176e2b3d7773bb0344b9328fb9c8e020fefc9eaf98f92991b820b2d3b374989ffbb299ef50850cb5e4da91ee656c149ad53cf06b4114073ee5d2ad576aa1124547353394f58142ccd38e8681a54b57d742c770d1502076082773de3996957054b5006805ce109a2554065485eb0d402d19a4e7c478746b9c5e66d389d8e49f92da1ab11c99858a62f00cac7ce3912901f4012b437094ff565f902b29cf783662d1f4e9809cc334695b65a790b1cba6950bb00d36375e342cc5b8b3e44c02fddf528ed031028f9b22d25bcaff1cdd5974a03bb587d75bdba44c1053fff39203f1ee1d186fdb289610c5f31294ce351ae97960ec5f26a7c1c2e0c6d716d784a13f9f0ee0876be68a952e70906d5649e52a20449b044abc964eed386d16cf191784d49c75e91af679d2aa135fba4025924d6294909b5cb562e5106423eacae3b4bcbe962337981dcdfb2daf5c96cf23e67706d06689a8da364bec3703879b25a21874b3c4e558e6738cb1a375c4c9c6fe76778cfff695011cb2d9330a03a07e5fe671e2b19a07e08982030d12659a3a305810f032fba9a8717146a531535c7bf614940dbda78fe7c7f3bcd8400da0516e37f4e1d758191bc23bce7983c2aa5a49896291b94a9d37f0a170174ea097800e4f88802b807ff92b1bda2b3a338ac11e3a9864d45a54bf667d8c4c60f968d6dfb8869c9984281b7515ab67cd52634e5e93531097c77e761b2b30301683ddcacd2975964669610c276146013bd47e01730fc295c3fbda77fb33b86877d77bebf8e28d2e750508eabf3fe2bf8b0dd515821468d6ac7e06810033bb6d587e575eed5125198a988280f7047efbac346f3324a2cf7c5def37b28b66488d7567b8eb0e098e51fa760c0796621cc44b386379a870c9bd36c3f93f1dc712bbe8e960a718d07fd756e821106739fac634e8699a57d8706960753eacdae40c095d45ad7fa70a3e87ef961ac400d6a5fc97c3f184ead2d6ac8ef5777822b19de80b81fee65c6396429d3d3bcc8ea1e7fef5df1be32acc6b7397769284994694d8fb66c67a6c9720be6a65c94ec30b78141f1f67e03739510973d4be9569fc342ea1ae971384bedc0fc33ef0dc37c2fd5c23cf5e6c5ef2f2d66162747f02a5e5ea1c1a77319e45cd67cd70184c119be5d6ddc26be14489411c7db81f86a60fe5df9d7f56cbbf25ffaac09936ab1d5ec49f4e3c00100d5d69f3b28d563ccbac4d997d38d913aa1858888409c5358f0d3d1af9ad66851765412890f34c26c978b8ca6909a134a5d6967f13eba908e55c28008e505d47a1ba50836d18ca5c270bd578705da88175827b27423f2f4296b027582506630956bb5b9de1e33bfd2f996a72f8b7d85ded652a8814d6d1c3e548c60af7a13b14e8e9ff5ccbaf31c161695ad5de224b48cd1b82d00bf7dedc5f669e3d4356267b2149ee331b73a5ceeb3d4b10ea3d388931ba991086dbef560e8469cca82783fb87596a2af40ddccc871e742204da6587d87d2ea943253f91359a945d00df002c5ba4ce6983d89c534912df3db114257c0d5052259c99b0b242eea34c97c095083014748fc1877a23a307f55f7c5f3ac87f662d9abf542910c4ada40dbbc44f870c29d1be68adabe683a59cd92aec74bfc0288281247331d74c61e147a1d0dd706a6081e51438c2748cf2d0b9a2d5974b3fa85ab01f1265abf1c7476aaf40624abfdec924883234613f182c01f5e3585236ff51b078923c0ddac4c324444b7609ed2dc7889ca92212c56de8910cdaf041723537c5f5d33f079f1ea09e78a391b345a7883e10d3480cf414a1e3a246a0a21f69bbf75bccbc1b76c4fe670801f7caa7e29236b51e0cde3f4ba0676ea48a4bd08c8a12075d3734b241ef31515eaac73e561dbc7a380b86f51a298ab4b139aa9b63151facd6dc2e2787a2e30333d23ddbef7b15cbe77faad3cb38ac88e8212b521a4c4beb3be7be22dea4bddedd12770bec9d880a2e13c09b3267c57acbda4582d4574606437f278726d7ab15d70cff74f6bb5c692b8a15c26d2c25b82295e904cf7e0fe43e9efdfec4cc1529bae95d7a70507b78e95bccb72b529f9ffdd9ef7dfc7a5830f6e3eaf8a133f4c52510831b937cac8362142a13719ea940a8889e57b28beddf1d454c64002a4d6c0f4510739b0300528141e045203018440b81a06c614ca98caee905a6bdca1c0ea7c4e1f150b510460b216590d4396ff5459c33f3beef70951167ba4595ffbfadfd95dd3ba54c2de300de00ef00ad352895c21f0d14ba0e600a4afc08fdf339a6fdde4312492289a46f2ae985914c0cfbc035636956541b11ff04975f21b5c1aa45fcbfbeaacc93735d0cdcecf7dcf4f33befd11ef4a2dfbebee939fff9d093de5a1885702d8c92b058187da0625107999535604ca603b9ddd5a03777aaaa4c7f4f5777f32bb7a9db4711dc529e9693cb383a485ef3af4b0c95f53cb5171231e5f7ba9c21e3629b02c31697cbfd7451ee5dacb9470bb96f6e2f8ca9d5dcdd8c40c6a833ea8c3efeb165aecb365d5cb03db8aeab9dabe9b311110003342001423204287659576bdd5806923985848834273e76ed0eeceeba6bfbd86cbb4fd2493a4b9d92f68ff9e06dcab066b363e440cac6d98a3a3a4da6e13e173360b860a1c2bdf7e3748877744777e439570a0a3c7d95cdc7cad649b694524a41a060ef7d2e7a98f1be67715692fdb538d3b0589ca95826172dfe2cc62c6cc31856a278a0283ed65a4dd54776bfbcec1a7411e3854437b48d72a847f408557929cd3e392e3a18764bbbdcf0dcee8f99b92c4b6b59b8e966f7a6e77ce73fafddae1d33f36f4ffafa964b52a1d56567270a3a1b6913da129ed4d5644bfaa59b63b565599b0856c90997745d76895a60fef5d8f627a5adb4952a8728bd363552173a10e44fade02305b627ef4db82612f8c31ac61f9a9190e0d8e576723004cb32208d5d25102d81526849745d1d34293615498fb0615cd08ce86a084fe52c22a8aa04d7c6c08f114fc83ff68c089511244aac9838d1ec9daddd455dce3f172f0717377c289c868ed367065135d5ae6351d7555b3f81976d83d57bdf63d725a74fd14834128d483dbe07864db2e0f8c4f0f1a205c6e33e17279848104bbe081c0412acc5056dd1ccf63de6de63ebee6eb96dffdba473feb98819ffb2b8e89f734d963c25cf0a8802d3bdc7d6c7da59a8998f14d89ebc37c10403aac05090f0282db3d9069cd2dd05fb7e1e98e2905d3a7c6a2128b479e82d2e8e5ee92f7e3ee73dff711727ddfcce6b1646690c0ba3d80aa99a403c2b13f628661a9f1c8dcf2f0c352dd4409a1686a1935f05536d6b68e23a27cc15a130e4f75bc8b9b6f352ecc2e9783edad627ae8bf175139156429ece470375d92f4deaf0f4d92d1df6d8a2a66921ff37d5b66e1fe4a051b2a0c0261b11606deca82ad2f91851a4f963d4ed9174ee13ff86b8a8f12fe3ac0c6981f468611cc53694471965ef7ff73d2f7df4d1c9cd47b66c99e3938b63ed6e37b93977f2cf4117fde39aec91efed50de67aa276e0b8540a8e3f4b74b63d3a9040c05611804a234af9888c8f4d3109208aa18220b6210c3201083400c4629620831c8100121849121a2996d47015698fd673119860ac707ba14fece223780e8f46fcf6a79c81592c1473e20f7d93a163fcfcb7927735121e2852ecf1c87dc6d1848674448112cf783dd687abab60a9d18a9fc06ba9dda1acdb039fd53d6ec6dcab5389e66f2fcfa6e8963ffe3fe7257d9653fe37ca699f8db747c29ab62997f10eedd203a4dfcdd629fdd32f5146e337bba073cdc1c2377c094badd99953612950d51572f6bea5ab553f3d310f7f104b19be12b4fb357dc48ce5e94535da5d2c513016bac0b5d1f50cc1a042e729394a8ec49294b8e5bd2807540cc97bd902810ebd744c17207e6a3f0eae741bbfa9e945cf0fca050b4ee2d20e4babb2cbbacba5589736f954dc2c6bd890cbc1ce24516471e3e0dcac7acaab7b0b4da07cb377132853d92d89ae894cc911953e74cbbbb033c2f447574d79898ef36ce2073a8137e28ba68767a355f19b3ffb834cc0e04d8dfe9193c10a43ead620b589f722320ff02b7de88d96ecfa28c723da23ef4e8c23dea870e377b2538314830f3395c04482e9e7f7f31734d9be19cc00c2d14d8f5f1da13890e45b935e825d02255a0e1eceee1e3d08831271ae9cb0ad72b25429a7773342287d8bb86a752b4f5d927aafad530baaf4aaf38e233f6879d79ce50cae7c2f5be12d1109bf136a20dead933c14a996fc9c2faa0a6ca98a9d5ee8baa9b3b0d7ba59583037bbb557219363d103893fe84db1979df6b27e80b1c81c9eb746b71356479c4fce1382fa619af3c05c408d3c373670eaa4a08246841ef1239215ae4135954a40fa55ccf4d9ccfddebc18e3cd8ca42af680652a18041d220c411b6b410928448171005c72ecbbd517fc705c0d9c0a33119e9e88c4ba94e34e11f5487d95fecd9723f34bee8bb61a16381130d26a2c39eef7ab68abdbb7bc8d1608fb1a666637337171e2b17781cfa16961169b1cda16f31399e643e8e03f950617efa59cad4843523009ec86caeca67982405f13c66f7caf2a0185ad830da9cfbe04ce5e916ce45d27002fb8337292e5a4241b1a2bb537e6337c902d4e82aa0573edd3142d1d291f8ebf31be978f64e774ef047a10dca5f279f09bd1af2f59301827c4d279eda533d627a95c3b1f3d0e9962582770e7a3a6353bdaf7564eb6d3d556b9d12400828b17b25cf5e9d9ceb23cb1740e4520e31ea6404f386e7c6701c4bca07d9030bff9870a6b852b43ad12a199c5f6499cbd4dfb636fa904cd728fccc103428f450349c9e040ab45db61676f9ac7de803e6424a626e4549edad2825f56a3dd28c0bdc4f525430416f95b60eb1dd392ef7826668e8349c51694c69158541747dcee4078f2add9575de70def09952b792510bcd8e6f6f30340e200f4673248372a022fc8d3452b2a28eaaafa50cdf6b89c8d946f97a1841c851e799d73c10f5651e5432459c8a9e191ec704f8437b54dff4e0f2f7012ccce1a1adc8a1a495eb0ab5c8a514d66be8d9860d39ae8b27af59387a25734641b058a463ad266f175d2df5d3e2d6034107787fefcbad9d993610ba6d3be5b2507477468353f563a6c6c881eadfc9e5165d2c5fb8dac535b772e7a2e3b23d820246624d75e20c9422a9daa8a0850568083cc91296f49471fd0336787e06085f54b13885b765095b9994b70ca513d359bd4f7e55600eb63176f8b77ab0a82826b0b4e21e7c3765491a76ea77e612a9eb94786ca4aa797c4715e3970d3337470076aa72c15ad9068a5ecc6acde6e344636c44e25a02392d135ce3d5c0a3936d94c10095ba544969fc0cc63d46d504ce31a0539d7725e24af5d0efead3acd3d4ac5ed1349659785d9b7827cf32098b8a149efde2d414d050322b08e048e55be774c731654c2c00135aac80c01bff02031413e0c25665931fac678200a9379c0e49bf24312cd1651406f8755df131c3fed155624448898cbc8e75c788d62502fc3b917c9301861751d31ac79574921623dd945b85c29edcc849b6686a60647d9f22abd38a8a0afba9581251b76f23a799038e2137168a0c2033224ec01f2a87f356c5435463e4cec1229fd63aa9fed42f0522a5a3979133c4a6711e9d889f25026f66a41fbc8a04d6871a8010b3c9a071bd6c59cf6f4414b8a60d406ba15dcac08cc517a121182145088a6c667e8d3209619105a6e72141048a3cdc3ebdd144b80205688a6f186215d8abeec9560fc410484a52c32fb7c10a78beb37a1c75eeeb0c76136fa6b631bf84d6c76d8e67b0a700a89b14bfb130aa6080030615db86aa7a888c1744f3b6889614c22afb7def9d9278b3231a3328e90b87bdf28e541295e68bc950f3a56a621d6e41511e09f035b013d8d0f89763c99a6b100a1a2d09784439cd515d646325973f98f7a0ca119314c1688cbb580d9d4cd96fc89ebbeabdee2862874f303e68e7c7af82a77ac809fc2e0b35d7e1184d5a84da8de7f461ff50af4f10518bcca8204044b5c527b4b8159331c2d9087e5a46fbd7f42a922508cf705ff8e698e26b9afc3437f30fe83c2e811ed271d77246d8abbce6951c80cbf163efe7c365c881b443f6aabfb00429dc4c31fa87ab10dc0dd3a7323ef8c19db758ebceb793aa75decda6e1592c7fb76b31222afc590ab386359c6be3c12b2517655264dec856fcb89a1b0689a792185a54f2fc60b43fa98450417490a2d0cee5a741f6ea443bc7324ca9aeaa75544c029dab392a331ece6216e92c313372ec187ecc8b4306f95c976b8b85d6288922d0d1cb00425435eaf39bc03cd9cd2e77adbfaf9e1a3ab64e84de0b9a85ef0053f7b811430f0ad15b51f8b92232a27a0423dc483b3c8c89e199c0e22d6f9b1e4babf82c3ee2efa13b724895ff1cb681dd463f9fb3c2d005c89bf5c5fbce0300611b2c0825b364eb1fa341cec889ec31d8d7ac2cab65b8e2d9f5e9c6e83f493601f243abfcab3b1a97083568c9bab9194c302c02393a34c1c70899258dd0d67af1f5e0aac921dcc591dce3c768212abaab5add4ad7f5a6d42adad6f761e8162c4b11e8e459d208f15c832fb74081905c9e8483d22671793909f2d6abf0b9f9de38952795d4ee01a47d01eacca0294f509e913ad9c99cbb6479f043c2d015e374842f2f4d0ebcc7d718da438fa32d3e40ab29ef84ecae757138082080e9b45006c864c0ae6ca12ce6133e306be10c7de0bd44769790bdf7965bca945292019b0292027e02de27e3e38a33f6238533a8cebba5d28fcffb51fabc0ea7ca84f221e39599c1d165be25eef6ae2ba56010c16b3b6e66e6d1e886a4ab1a532a111c85281a588996af6dca86c9d2103c6dad94d20b03ad4d2a4793de52856ba1ac50c38107b59b5409b7f8b5c010239dec6401af4493f2ff22585a9ef810357c70c9584adec8522586e21e2bb83b1b1213e202a06d416a3540acbcacbc7c866357ad6dae98cf62aeb6d5d855e44911ce268014ea0e9945509ee0ba4adf7b32c3da9981e8a1e4bb9193234abe1dc55e4821f8fe2f150103086043a3d1605e6a341e1a0f8dc70683c572ba5099679c5082cd15f3190041663531202e9ab69d66844c288165aff7793dace674ad6deef298cf26ce671e7357dbba96a5551b8c95a849a339cdfc309136274d501eac320dd632a771ae5b9ec839d2a865210ce4cfe6bc5ce9594b6474c344e44215a452f94d49ed91a66cb75c29210d45480d4871edbed0ac603e4c69f9de77ec4d9b5147b8b253a15bd011240824a040920518a871ce6d7c5be9e4b83ce6b389b39905104bb950f7c7695e731ae738c7b9d50fe7ba6d1ef3d9c43d2cc7675dfbf2fae1f9e1f9e1f9527bb55caa7b1ac30be0e02cb75bcb683b423ee438276a2058cb5ccc4a87d5aac07bb9623e9bb8970c6826a7fafcb8a055c534ab64acfa7055195669ca2488a0654e739ad3bce6b4967177b38771ae5b1e6b98cf6893769bb8a17f113d8cc5fc74f9d72ae7820e12eaa10e331b7d60b19fee120babb45c565e2bceedb07ac450d64eab0a68d99550202d24482ae7fe056b99d338d76108b6ec8379ff6adb1d2349e221e11c0cd6b056af74bc88df70ff820d390dc74445329dd3180609ddc2f40cf50c819304c2d79ad04b4ab50cd6758f34e0d112235c8f94aa66a1ac94ba7bb979765a66a6f9b7807630253018ad159e9d45ac00a9a546138bb2569d184be485f98446d7edf36c57290a49c6d613d55000d2a695579a565ed3ea2aad5e82620e357dfe969428aae452522f61fd9ff2381c8a31b290b517fae360b7f0764e265ddc297b75df05590cc43622dd1344ea9e86b54f9138124976c434ae310d0c4d2c5f913f2e3973daf1d3cc0f92922313bd2312042905a98c5299cf56ddbaf1904b070ccbf342b0af04812078e50ac3dcda16b7ae6af21dfffedb7b6945f9609815e5e85551ca386b4cd5277572c74a94db8c49d718dd8e10fcaffb7fe82d992bc0b6d6dad44fa6afd2b35df7a11c809b31a3a7c1f78d657d3166fffb3ff7efce4f06d8dd2cda288a88b7a34459a3c499b321be8690e35806f1d329a45f1144fac332e76743ff7baa03a5af71a42f0e29fd9bae7b5a6daaa329266244fb43736384ccc1b026cac419100fd9adc72dbc8552ddfd7e5e7fafda166b54508dd12b438c30d4a2f2c0af49b349e1041860dc905d9180942dbc90418a317314792c1966c0785b90f8b2009b089b0ad7b765088f5fb487a6e215fa6ce0644c095c4c384105282b2a7498c52d7611f16b076797f8f67a06a404e879d6a388454fe0baf65e221ba751d51199289ad2248d9e7660e4899657cb8cb29f022358cb483d6b9a58442592da26d4438d1b393065542702095a17c036f8e22404134e50e149054d4ac881523d1b32ae7a16b455cf7e5faa67bd70875976ca78600d9bb20d545d04478ccdcfcc7569d968b21aeec6b7a0d619220a23a6bff4ac6d2dd438a22231b95eb5ce7863c65920d98c695cb33dfbc4f887bb70157671eb891f7ef10bcc301e180f8c272613c49c3d93e0b8771eb78f75ecc6eaa900651cbdd1eb6eadcccc1d333333333333df9064bd2fec4212e94769e68e5ff53c6f2475f4d250efbb34a7cffb025b6a7d63fecd1bff3775dc5a7af6fb996a30e5a7943eff6cae3d3813a8a1baa55ffd87ec8b2f4002ec3181bec019499c204f6d18a5ba771cc3f0daa8706e31b4261102564c223d7cce27bed9d9b973d80067801e7270be9948167666dcacd58b7f232f1b6e7dfe4ae93f593d8912de75a9519c60f0652253b8ed9ed6a75ed84fc590d66e9073544def7b570f92e84840a1bad9cd6e3ea54f27eafd86121624062c30af0bf756721b5e7566cec80f3f7394d28b010fd8d5cb29f2dfbbdad11717b5d65a6bad9556f2e42cf0b6675313158ea2679d0cb0ea3a556d7c1bde21fff1e63492758ad199f320e5b8a325c67a684d2a4e81a874f654298fd2993af5897268adbc872993ae682a46bf98d76e76628c4e89c233068c222e5ab8c8007111c2a9d4a98a65ae6092c791d97b8a0edb5a0a3e055f5c0e1bf7244be0a461da71c3140546b6be6e0f1dfcaa447165ad9572927267875614af1845b4e18a68c077defd15a63b9e1d60fd5624128944c16f556bf7553bbaa414783ff0a33ba247e4d9e1a5eaf0b724db2f70ff3feddb3967698d5a9dd25aabcf3a3bfa76eef076eecc19e514858767cc1d3752c80c320dc771dacd93b527ef69b2c2cc64d1c99e56737e96928c4eefdff28d6bf77f53ffe7666e1182ba002ade085ffc8d7c77e9df4a4e15d32e41c822c8d79221414e279b79ef1472492c2dd145badb298aa2abbb8e9f52b28829e46b55f4433e1e4aec11c529530151884887f80f7664ac0d221c63e2830204fa807a366a48f9bd7bb86a1d3e2eae214c8ae8fcca00b2b2779cfc5d619b73a6c8a01b5943952451cd492112c80b8d1984df14e76847f2348e3c8c4c744c8dd212235b2a5dfd4326fedc3eafeb80b935b2a632b0e5fed5c0572d3261648e5079714b681c1086c704ec57afd218a762e218947c30b244a223728cdf8bad78387e0872d726d5918261d779261f7c5a1fe8e3dd301bb0e957d883a274ced0a3e1eb7c285234b174765ef6a2f8767c63ca386e69846fdc86be301fee3b6336f0057d1d9a7cf886e36382995a9e950eaf093475a6ef7e4a197eb7cfaf78f3fbd7f92b7def6f08b73fad9d0d69577aade577b4a4f6cbea79d9d93004c1d1efe7dded3cb735658af960e9b1da63fc623348b46f6160a716e15202af29129a188bf4ad068bc95cfdf2bca9f789f7142c13f7f6ea24316232a194fed7b16b6efe32fae6b70179fea7d87760ffebd4694a1e3b73c7414c01d321765d9742504997d0f8d6597297e33d418094524a6f135e69b561fbf094f2fbd31f60e6606272cf5248f36c6e1c6ac238395f670e29bda1bb183775bc679f9ff99fbdfa9c8a5c526593388fce0ced1514a33a333333d727148f206bd453aa7af97624953278381960a53ac28ad96423336e42491a8e35f454cb8fb5b8c3e9f51dc0fa42ce7d780609b2d60e47caae8bc31534719d927bfae9ab56a68d85dddb5988a7f63eb5f6d24f39a5e174be1174c79e43ad75ec985672026901ebff3d9dc6913985eadb5d3907d542d3da7933c1fc1f3feacd633ce55dbdcfa3d8d57f24e81543e9adf4fd4b291450b144e4200af6b7355c53d3a0cfef2e91da0b0337cc6700070ebc196601cb9f9c82199c5a46e63498e9b421333522a56b482504250ee0fcaf6175ae3d7246817289439deeed7c9b9bdb3f1cfdd2976d23832ddfc5d634cb5462f1a92bfedf53588c564ad73df5011bd8dbd92d0893a04c297922e38910d1efa1bf702aea79148ac048909ca8c40c5e0e070400337600100c06c481d1489a062906624aa30e3482c8c49c0804ca841139201488c3288661290c800086e11000a018c388725031762d8187c5e68d3cf3eb496786cf5a1cb7f684202b2f50c67ab7c038c18784ab712dc0b80326e01e9001053e1c6935b0ba6b6fb01a7c82a5e4c033b06e0058252c5c5515b54657154297963405418b72efaca59249a23b4db1a596faaa16c206b31fefd0c9d7071206495da5969acf03aaf1edd58a3c74eafcbd9429edfc05d7d4a3c804cf2614cc178b22a31af9bfd1cee7508b90893e5d5419d2c0f5e973a5da27d68abae328229f43c8ff56ddafc4f7f34c974d9105ef4885ad88c99bea9f8c3dfce4833766600add8b810c181ba402db738162f807f1351689577d3bd437e5ec686ee338bcb9b9c25127d90467c23a91be706bf189f2e8bb93c3c237871b52878c8d7f897fe5c428fa27cfb7d507f2e1d284beaa46d3c5a7a3ce24434f4d0ee5a1f52eb50021fae94478ac382c7a53384be90654a893f81fbedaaf40aceb71e4d46516b8d5811f0bdb8a58076e74167323fc166fbf07a7dbe1c3d32591c02b3d107b6c034e766298f6417a668af73f55d92a079aa06f786ce4512af0af39dce9427b183249af292cd8a6f1ea9e3af4c720a31cf077d13bde3d4bc30dcf464d72c77bac5a9264ed751f72f0a14c45ad300ffceec72964f57bfb679f5c80c986c83f6e5873aee9edaa3d2c77714da9677b98d13abcb37ce5b0f7390da3a672ca535eb92ebfbf3f05ea3fc83ee42c939a80ecacdc70be6a384c42c0b59042ae812ec9cf8ba4cdabbccb70e2bc601a01e01d543f0bc60a80497e1ba17f77eb8591443826ae39bbfe7e1ba2cd3bbd40e2063b32ee8e6dbcd9f9a8d5f77f82915910ab9a43fe454439b6feb975e0a692c62094f222b1c32dee814c08d6b3b5019cd3e30a0558e20e5613a784f88cbb4a69c468eeeb1d5d1e6131d188c4cd472a402627b1278dcb54a95f6c8439b839607abe2e39c332962a9af166077667663ab77455bb02cbc778614ec6f20056683611cac5904b1fbd02d5f79250a91244af46727a6ff2f04b43a29566c799b1e49b62791193d59e4227cf827b9aebe72646605c78fade342d6e1fe27716019974f595d994ebacfa34218e273b3b2d554332973eb7baa091f84541aae9c1843b6ab14f3e09b3938ef9c6b14e00cee55e806b402a81122c7e579aedcf12afe83c74213f31757020a254e890a6e542ca02a2ea36388d789659b6147a32a057b651319b013f1f9ab4cd75bc58bd0c81711183f94983f51fc2172eb290168adc6c176d504fa02c544be1c5cefc147d919106d0c9436f0cf82ad86d95856a9ec504e79c06fb315430929922ec9bca09816779d5e9e5aebf53d25bc7bf90b65fd4f73d5c3ffc1a5a2b5f5d34c1e55e73c906e9fc069cca8d3a11a0f9576203b0c842e87bc9a8d948b6809fac1ec15f7acaa6eb01f82a0b3756ce65b7744b5567ee2e7e79c42b492a229632effe601c4eec9979f2fa3d86e93388e18903c4799a95bf5e540e235c31fb0843a34f0c0d6c5701670c068445889e3b3fc7f3d7a1bd33aaa3ff3a8ec9fcbaec060e8ee9b5fa9cfc9ce62839b1ee00dc10f728badab544354be642f3b96a0e716c81371ca5dd85715a6c9855d21b6b7c76628b6b91d2f54552c232fec292deb81708666b02d48c2e9dd6d2ee85913237de5a26b84affaa5c6f3fb7dd17fb79edbd0212531d19fd99a10ec121da5e0a25c788ea22f319b8fabf58c9ee3f776cc24d6f55984497f9c5017c104271c01086e39742d56b8d2f036e95746f65adab225df781e6fef673579da7c6950848e5fafcaafbb0a0d99c58699d5e27774f1edd5fa099de8c8d7f0ef51ea03deff1bb9f8e811044a81d9ed0f1725a548ce19d74476638b0e5401e98b11fa43cef8cec197e2f19dad82b56ee8079b012f1023be2e02e145fc234153f44724de5758637ba9e1e8c6603e46d8f0b6ca6a9dbc7a33e091cd036f711b72162a1da20a54b0300a292c8a799a5cae96323d203d9d3616f31436256ca6334ce8f5f305439b5e6dd478c112b98d05df8b76ccdbbbc7e579f40d07ddbc83cdcc2fd1d290459214ac32d29a03cf1bfbec0c14c545826a4f5d7536cd574a08418f548e7743e483cfb7a54be4f000427a40190a30ba41b74002a210ff708b7965976103d1386abd80f9751775776bbd0ce2bad7195d458910367eca0d211d456d8f51be208774cedf30a293ada45b8d3376da171b79d4190da6b4d903d721597186113254c91825d825c487770f794656bbe7770976e5b9ac0446e4031e05161ced803a81e31d136c5e436866231ba749ff5b0e4f8c60587d144e233db93d6d0f2dc4d102c320235dd2c11e61b5474a232536ee9ba5aabf47e8fa4ee06bf2e632a283f7cb3e5075d0127fcc77d8a0f55697ec58ccfb6dec56426c5fcb2c54e6c436277cce639eb521f9fcff4965d7617411aa35d3a2ba153134b433fae39c2aa2df201bcd05fe3f96d97a8d2ce7ece18d66f9cd3cd6878d03d06987ca99a57ac5e1da80339d025386239388b398fc5c9ff92a6e27433351e7b95e3813da61d7b603ccf6d29130064e54a92e6afd4f2530917ebb82e1b1166772134f0bfce09ecc6bcefa8121317ddd2be32af904b3846789a18a325bd11d11799221cf2243e872aaed3d2ed0dde098545a0e94033a333b149839a963b382d4a2cb8f2c8f5377430253659d41bb529dd4afa085374824d8eb3ec990b7f392d86872e422dcb58034e1a5646c41fd63655a2b47693429f1868bd23cf25a9f0b41a979c0c384ac1bba96ae8006376ba9c9bebcc385d798def1c3c2097f328e60c8963eed8f0403a69465d30f464a10487fd96633033558e8fab495be577f3229638969e95645ae6c490602718659d3921b342f9f52e0681f868fc2808fd9803a45f764eb0d2ce3746733770a0991a566a8c848fae483ca3c11b30896e21cbc6183b7d409ebd27530cec23ba78bcf7d625819676dee60ee0479dd5320a8896f33c2fe9d28e05a79b3ebb2ad795f885ef315eb2424d2c17972503466e04b945e2c4a7e3a15858a9394661e21d5a551e276baf3e35b04adbeaba56d439c65b6ea2e02fc903e0902486af0550fef2f5dd5c8f86f866fd8b5694466844e4e66c640e2d65553ce8168b7477ade435c9267a265482c14114c955ec4a848ad9c18cd1b534651968762bfb7a061a65bce62f752c94b150488ffcb85b39b71cd57dbeeb503c142075c5597ab2a5de7fba18a26bf881ca92cbb7b1f8a51a2e26ad7c824ebdcbb584d4f72501169bf2f3c1a9f73e2b471d9abeb044a287909afd97c7895b0a5d6c711a0018ba4998862998efd5a2fb00728f4acef038c4bfd3c1b69c2f4978983ba246ba121caa8c4df11a2e4f4021aebf1954d52d744040dafbeb0cea349896cd84fd445bf94e0ec21fda8dca33220dee8df118e1d97aa7b470e6896fe8fa057fa5f3ef8019023ccf52a9cd75a0d96e389c37842bfd9d7ec7435e2f33603bdd5b4e0c0f9cd3c9a275ab1d3cb399e6943b18c17e61d1297d27335ac3d227cf87292aea0ff01da01321a0256ca308484bcd0bc9670f5e52a6e2e1964ee886099646b494dadbe0acc78f404911033663f9da6c1d8e5393595c5766ef10f9119daf0c478705522ed2429bca7d3711c133aed96b331f923f2841f383df5a81a4aa2ec2e250d8b2d5bd09fa66eb639571937ad46f01d3fd08c2128420f94ebf78900efad3e6a55ff21b007740f29d5a10fe4fa276f799868d5e3eaf38cd2a79f8f8ce3904da97164cf96cd8df0234413c5bc6f776378d4dcb8bba0ab3caea9126d9c7a0212f3f45140a0bb141f9c532b2408a16aacbdfd0b87130c807d5d451801d14e15023e75641d8a15e4f2289c5553cad017b34e323c50c571e205751b4e9263b091e67fefb5e0ca898f61d2d5be434e9ffd5674faeee44646537b9dd364d461b31e3dde27538226b484e6076f6a9cc85045ec8629ec33a3db5900570fd6f907d4a0c5984661e18354fd56680ee0f5a053406adf312df2c870562400896ab70e39c860de38882de153c9631f5427f08cdbf5d6360f18d9464a898000bebc919380c8f94a3dadae4ec2522c903109b592bcc403d2f63af03ff243744fee0b318a0da7977ccc6fa27c9e403c0342a9c019e0ba10709087fc2675e9761d9a4d3c1638b0d2cf323470deab4c8d94aee4ef51d4ab512e77fe69d9140aa7fa37c38f2ed24e351bd949ce0547227ebc71e24c464888a6939bddb9faddae5428af7d12a621766cf4f975fa4a43048b81826e3cc6e7877ea3dca35f4717b0a693bc05c0391028c13ea5295604b74af7404551ac25c2285f9b43d482066a7f7f2cbb75d3ec55e79529b264f9506dbaa28f07a5253c12fb2b41020ee47fa992e12d851158f645dd644eeb7671ec942ec67529c695657ffec1043a3008c3278480c362f7acb9f47770b542677680e6f5a622f976264b1fe1e759f05c87a0c066b7640ce02fcfad9ae8d045304b1f1a5de2299981b3df1827ec222539d2ccac56b787387c13a467db674a3cf27c5382d98de3646a80be6cbb763c40bc5c813be5543544e2738c97a27184233704214ddf121561a2e8cc836775db59dca2831f40f5339207598ae48d5f2697910276712e82f3ba431edc5d60022a24a583c76b8c2914ed8af8e295d40d3360b8da1ca03671fe243f0efe763d1284ad147a9bd850356c5c138427c9e5726c5541f09b3e6778623814bed5a4f02e2be829096d2bc4fc13eb4e0edc15858bb843ca50240fa10ae657f2de6984513e020086b804be21dc6b3b1c7e96ed86091bf7830be1a89c3d1bdc72a42a50d819e015e564a1cb091034c985e0e97ac4b71840de63b731aaa7a78a9df70fdcd8a3682e955e4b1be2edc6a8e2a1f72905c448835f915d7b81562cbafccf5e9773000bfd2129161906b2341e557eb92e3ef05b0c6a7a5be4b555848b444e4878e5827b26391acb1e7a968b00bc29221a143dddfed5e7117a09eb92ba3dd4f7984a591debaf38047801bb39e36b3d8f85141e2ea3f7a32713b718c79f6a3a3ea3ecd2e6f57d2982890cce4dd8772916484d1dd338e19b62f332e323bb2b971df84aeeecce6a5269f79a5b078ad09fd54dc314288a4027da2bad1a2ad6ae6a6d4d24d031fe0ead78dbbd0671d64a2959399c3257681a8b9143fcc6ba53605080c1ab5a265d359b1d78a2e31bf9dd2f0e03f621f4a5e09c24443a307f8a567504c164906bfbc8628ccae99d76e6d8d3dfbd15fa5f3ab65c7253075e500321c1863ac1db5daa1e2af4da28d9d7c0fd5c8a8847e0a05cfa8f2bdecefa509940f3b97919009b98a8250ed286b86abfa0aa133eab8acbcc30ee2654dc5c4c3b7033b1d29f8b487a56e6986b580821539e66d12ace0047db0c3a45d8f2db78aa87d190c6e4d450643bc19c89fb088948ff1854dfcdf35dbf95fc595af8bd22eb4ccef6680dd89046935d608cdcd63d7f1640b8ca0fb4427462c41cacc9a325692e92c67bf2f293691f83ac1f410b24a94056d7d0da2e85490eb9cbaf1fadaa38e689a58d1114b45b1de8cec108d55071d48b569ad4736c11ae688f1b2d22bca397639c28590fae72a91ace0100ecbf55e94a3854f8458e49a6d264c3b1b7dfa4f6dcf83c97daf52aa4c23b49584c2e8ecf7feef9dc0896269cd90e429f13e08f1491bf9b496a950a6c783941603ce8fc7d699b431367d854b183f3a14b9c2942165afc130b7940d5385e5e6e672800de883d28653a6dcd06446b36d5012689b4a5eba5f9c4997a6e231c95b16d4496186fed8d5a1430b81a5d5f1dae430b0807a3c2decfd677ee8871f8695325e815c3ed0aaae08a1a27bcad9b96ac023fc1722735e289b36e078d394cd6ebe8ca0b5a04b0e8155ee51f8f6d83b60d285d0d39783e16d8da732c4a0f4b6be4228604b0a2c83e713d90d30594d85d024a069a84afa1a0c825198ced304967a2098152d4ccc301b490e45d25748d30e94997445cf6f42777ddc8a2fd274518a275cffcb401d22ac4b0159377650a9455060f7ca66662b3aeb24ee0d6db79eb1b9faf8c4ca0a02501e96a5aac58edd0d3868870026f6923a5ced4ee4277f38b2ae6218ac020c35ee1fa7b0a425518210fc1705e9e1ea052d9c418bbb8121e73082690864a621d597d980a8632e9883a2946b15311346c235a1765a647355e45b5e7a734ce0419c9c013f3b1eddf34b6b981d0baf58912162e702253028e74a6796c6fa9c375045203fcce0a254fba6fe01115b35f40b94f8c566271e03d0b88b5301144307587fe1042b2e31ccc5698518c3c0c18a6e34f5b4aa389485b38525809e662db9bb1ba9f5fc9349f297d2781ebd007f3ec99b161ebe515e58605664a8854b0bbb13b8f96af531f886b6d3fc9a700224bd8ed58a477de61dc380752e3ad0dc31b1d03da31a7863bc1eca75dc78615142efce3b6dfb4eec5b099b8eaffad4929ffcd1ab1a52a03437332cd8561eb06a24933051268292f464102494b5032b7f3892ec23d6307364613a723e59d6e4b8027b775e3e007c4ee21f736670a257905ed28db5bc61eb55ca0a1bf72aa0a9b9ed158a64c0685443f7fc8f17660fef817611d8ec9dd1d17a459c752d1758edc6ebd0c276f47da3465b0cf6018be6461694539a19f024f3bc76f630c0a55bc9c3f2ecd55f1f9f2571bb1b2a4aa062f48f2e23711193af5c4c2bea0abca29b71541f5a756409dcd4b139589ab672eaafd4f04d6e430845d770dc0920e14d7cd2cf0592f614b1d4064c559633294f21afd6ee192b3a872f91eb4b242f688aabc5519cec6981af760de9f0272c2dc6ab2e70af754faeb22e92e23862ba9dae39d17c4686200817d89bee4bea7198d1cc791a8e9fe85759eeb24c24de65dd7df40f2c0bb74940a4e174fa482620833daef2285eec92368913079d6bc519053ce34c0447f767879afe4bfa9353ca0a9fcf74326bcf279d1549f06ee7cbdd0f022e74c5e14e2992008a269eaa137ce15d86bfff9179080e9c9df6506a642bf8f58ba8afadecab2317ed15fc98e41db7aa7cde335c92426b21cab7ea918f72255c0a802aa3bfe4900d0c5d32fcf28d773275dea851d9e99935123e9d696fba0dc47df1594ed5e318a6c888b73c748e4cb1ddc6655105f3e2ba76360163430f055c054dc77d44df525b0b7c5e8d84cc4f759ff69012b48ee3741a34eebb799311e55e79b26d3c2867f0a306d3c148f29e3718327fe0de04c868b20d25c6b58acad38b82ec10dd2ece298aea82b2836f411950da1acea7bb866bffc8cacf715cf8ef9450bb4d0368cff9df0deac6d0b455ca4b14a0498e421ccc7cd13005b1ba067f62ab58d38664e8d03b33f3b721e286d431d7cedf7b37c2f2496cde0efa6fa92ea4cec02aabb84868b212d6e22f09d206646e71df9151d0efe69c78e1e4c0dda9d17494564708f8dcde5849fd5243ef5c9641308f0617f691c165342f4643f3f7342f26194a201c93b64fe68fdcc84027d9c18ad1f6a9c3444358fb2f43c52cfec88010e94706ffcd3f3274be5bda50d77cd52f445158966d45e04981dc56a6171eeafc4a3cc54cc4c1d13086731cb2310f8826e87e7d5554a59581d0d0d0225bd9a3a8a5a0aa13bad7216a0565d59e181ca87feaa2d2fe72c5827ad4472472c192f50bf707578c55e9f6481a0018c8f73b42290374e6afd8022918ccb282c7789fbab121726d257f7125e3d6221c88ecec2322c7cf909d7bc4f4f018747403118b0266728f40ce922b0c9f273ab7bc131d27d682376c796a54e98de7227a06248717c85aa16bffa6c3e40b0d0acbda2d506491e19f542f0735a3f777952af357b07924f86839709cbac859b6fde981607cc1934d058078a7bb7b1de5c556d30f9ae5e2f148d046b7ea0ba8fcf12e74c56688c6efde8d7b3d5eee27270a91bc56f77409aca100410b1257b4dc40c68ec8dc5bd3b9bf5725aa1a14b00827146518bb80fe50d672ae8773052dd9afcf6dd8025c141949c1f098a15510db108c3a54adfeeff0a5354c2ae16ba13017afabd863ceadf6cc444841975ba015929e524cd67a71259039a57d8a6e22f782497f11fc4511f9ff2671f7dbd47a0f511bf0c80a2ad1755fa8b00ead081f9ebc9c0b2f25ecdb0a3dddd320e7b7f14e8541d7df2eaf5c9ce0d70c818644cf06ab3924990f68d201fd22467a30120804d67e968f8fd3b71da1d663e41e233c4a72b733923216c4705052c0b15cc3c418fe16e6c735cdbd4a03501a92754aa4fb2d5b728a9d20ba4316553a405769f85780ad390eec754b5204dd631d7ca718366f08b36b383df652225e9075afd87a5c43af882c47c261f911be8843742e97bb21dc7235bee67ec70385c63a7d8111ddb237de2b373103fe9e029fe9f9c78a706afa7bd1889b42016ba8678bf6914db884f6a271298803099826e272b7417c395d1ccad9b6d77f789c97c694a1b30700fe6c1174f7604ecbe215883daa7d2f50e37aa75c5efe3badea53007bbf01239a63e6acd2ff1072256dc4573b8a4782582703b2082fa4345827d2e77a23c25041a33421476bd54d478885aefdb70150d73bfcc97591817272d1fc47d42149d8da80752f8aa1f485093982340c46e8bb33f54834a999010f0ad14a1e37a8afbf119eb7ec3741a87a1fdd4c479c5185debf412ce6828798239b87c1928334609ffcfdb0722aecf17ee0ca8e99834f99a3b25ef3a57a777572101b957364bf5ea811c5deb9d7281085972c3328484ed8c70e3c9315f4a2edf9f1aa2b7366fe808ba91a1981a44d835fbc75bd55804899018ab676caceb0f9a82374656f045066c08d00d73e1d8a184185e810bb8ce6b2cb0040a4cc29a9f240645fd2110ec4c40021015cc89551b9af73ed3813f645127224c936366118421bef84df7d61998a48e4f2e097f607f298c26127199d22ab4ff991cfdc4bb93edb53b5a38134652acd04a28a18ad606d473450345d3d8ac19ded50b686f499d9398f2c7b038c06e2ea13a8bd8aa898dd952c33e197a99ddd1e06a814f00818b3802f29a0a1b38a49b25bc56f71e0cf59b5d297f4fdbdb973b691fdd299e5f95ae8305f04fa7b398e7b4ae62aae94d805538574afece44888651208009fb499aa02375dd5ac3a5e5e37399033a518187685ef653c425680871435eae871e463b5d66a8eae135bcf57302747adef7e26925264ec0aabd826c7aad0f21042aa79963b4e5474bdb72b65967f2686443dfba2bd9b7c4c73b873ab04b9475da317e097a84ac3d5f798fc85e69827be3a49d6115138096b85fb86f396b7bac001fe922486ed4453c1ec55fb6bfcc421f14db86d11bef9e5d8d13556f6e6df2a491f7ec90747472d317009ca84db7826a6158a81d6d35e8681bc3fb064b4171092c4285017eaa985636539aa1f869edae1bb049434e1b3ba764a99eada9db0252df5925c96a698da672cfc5a1a404dc495961f13b12211ad22681934be4d92c06d27daaec328043ec44633ad4b6bec856d11dd89f7b43247bb8ee9de7254866007c36ad6df434bb71bf51d4a66b9df4f0a61801e8d630ef991fe09a16ab9518beec4c4c3fa8385faecf6c878e2060b970555ce96fba471e12a36ef4a13af953ac0969818cec98eb733a3f1ba8537b820b79586c46da5df8818e4d20657694938c309ce9b1bc100c263e08f5273f62bcd98afc4a9fbb53a8a004e2cce893592898ea75e8c59815e6d92046a9c61fd3774269605dc8275e6db9f203218e7f6853cf262dd8152061ee289d6eebc4ca904345ffeebeb360b00e981334c924ab5d881ed43260f8427824ef19d0a125ea44f65114931104f37de68c8df29ed22f1965482698c791c560a28efeda8ea743784ebf8d704ba5cd25f4321d7db3d0b8ba5bab81c20052c18ef19472c87371c3d9d95dca7e754725f172292290568067838b4dde64ec7ab0280b212c5287e2cd99f4281b73d39bfe29588329cb4902508827aafa642aafa31c82df808c8c8233ed231a9d387153b93042c5e001ae8fa3e72cef9d3e280f9da1bf850886f9f7afe37f5a4072a7f39f9288f6d1eba1c8bc148d5818c605595298b55a6174f1156bcf8373c2280ae70e4f0a129d285e75064e88b27e93ef84a26224a24e473a69f053cc4e3a4ca31ab4c74e98a14713f96b8d1671821c389dcaa94ebd97161fab33398160f92f277578057aa364a5988cf58ab7366fc569e3f2c5d089e320eda3770abf9b1406b6eae8904297419b1b1ca86f8e6926967a27357b6f5f9fc016e0eb921d15db6bb179f99152c679de9ee1a1a062542f4684d2ebcc45b2d709104e122dca5263033c96d99f4279e5a6ac17b96c6d4d0b3a40fa51a4211fabd65d43ac92172be23ebea557376261f1efd479192d47f71e2194c51b2172298556035ce45f48163ebc609a6c87db9352d18338c67d28d63a82bc2340bba28a9ca5e5fa597caceffdaac15b326fdc1cc4b1c557edfa5c96b79cef654133006474c199f26e0a0120b3b691a74e9d80ff22f299e62d6aae0f3e43f6cbde09fdaf051e447ef97e17e47aec96530ad98acc723e4f0b34f80166391e66263a47d7567e1f87a3d8c58a30762620aac9fb3e2ac0b97459e0878af6730cc82c21d93af15b28c88feaf2bc6c562f94451ef39fca96db802d41f7b7f36a7d0fa94a3f794e7f94c51858bec1557373b562dd1ed34f1245e1942a06ea7c786ee3ea27b53009f86f0521597bdbf96d53204f2ea2cf73f649003c3fdfb131147af521561d5992bd1e1d8b7b7ca81549e95ef4e12de9d1616a96a16d70840eeab6bc914aef5d9578c8062d159c7010bac350cc64410e48991f954d43bf9b1acd07321090535a34d6a729869bcdec733fd644242d53a008bc6a42fc7ff2bc08f572631ee31be41b1a0a55b8238e28376de9475bd62efb85c032a4d7e87391d0b20035999909347e5977c2c3b83078b8a0960336b560c1d6f0448728e98791b29028e2ad5ab99585d0196807be09f938f1fc305b515a228166bf271bd15e74a0a944fa4aebf5900f299e0ca60b2996307a78842b926b0535676a0f796c4af3fea71cd9227c0e7d93f55a5ff7f5d727931d98a03a3b3ef32a60d89d283bd933a12466c6aeb59664d5989cde48f557890c08e39d7cbd83f68abe146fa507bdea5100d20af1006b12cc8fe2351bf4d0a64fb682017a8e82c21bac47302005833604fb8f329a27f0015f9a94d31ffb9ab6ad167e0d92b7314bc33ecc0338e29cbd2cc45c26762556e140121156526a978035c24304311c48e1d27de849073e44bd4449e313accb2a5651c5a319e9038b8c27084698eb28fa4a98ed6e9f9d1f759345b3d66e0510790185e44011b4e098fd841f8450c18b494f1a94529d3f13fcb871dadffe735b1cc6125b518a09f254fd2a3b0130303addbe9e2a55534d79c50409d4e7447a2a3b8d1c2cf7b8ecec3c97f0479116b1b14af72655a32e80c1dfb56e3e741a4fa179db35be2f9126f3678458f84e8611fc436ed6d105573cea2c1da6555f491898d1c7c31e52ddebce334621c7c4281c696761b20061b9bf1a803bd3de5f8e99b25b2b8c60d8489328b9380ce33b9956be777d9c034ce39a950f54d41560ba77bee04dba300facd1e3e4c2f5b02bd5c05c446494fe0c82a8d35f67d540315a4a19d3edd0b1afb9989c8d0b6eece4317a2ec81fe78ffcdfff1626a30a9e9576584b6b0234d18f06c7f529b03f66a82d74eb45c99ae56f719e8456a351281d1d374dfecc8dca722d08a1ecc854e2ad1a4290fb97519ce76b72d7bb28422e507278d3e7647ef9e5dde052dc3ddac8f7a82d8bafb28be58ad4e9ae0951d4897c6a3273326db1ba9a2c0c88af8ae834cac8803ee22663cc3c1338cd7f7b48cf535c8d54390cffa01e44d16a5ae49d53484206e5cfbfff18edd4c7ce21781415286ee2c4dc44b604c37de2c9e423bd16ff54a6ba22688a5ec5169333eb76a9a66a7b4d66429eda3fc35ee9e8daaebaa3272114d2ed21f6a5a73879601de2b6a1a4263e4678922b935451ac3f9235eb42a56448903541aec58a35ee637d1c9d0584c3e7549c3ce65c94d0725c78b7a06ddcc8d42f456dfbeeff78bac67242d6ba87ad7824004498b0e596205e040f519c46ab23db06dad794d454af5153fd5d169717e478f5d2c995006198d264325e1320f795a119e2010c662ab43c8f9230064161a11a44a69ef87e20cbd45b3912313fc09cb3d66536e49fa0cb83a029e1c1f44b3145ee9a41d27a9346204d7a5fc336df73ca4feffad022857b7662de8dd29136109e03dc9b8a8d44f3d1e4ac36c456db3f84f7ac244f047ffc283d91ba823e71127c44210936d11809ecc16dfb6f82297d874fa62341ef87ccb3aa909c896a561bdf36f31b65007dd179dfa9d675c5d4bfa09f196e4f578677e8e207dcd99ffac86f5fda9c0ba2589f5fdee5bddd6865e3ce3dd9903991fef7c14951af50d4a751e52d00dc9e9cd40e069acd2010f990b6cee2c23f91629a4ba96649151ac0862eb5c5e45e09f0b4df7b29aba367966de31110ecc02b07d7f3c195b14a9be7a4438484417b202952870e3e99cb3021bda72dcd1c7f762bd1ff8223662ddaa3bca6ac3df5a1c357898185256f6a8783c9b2130240105ad29b4de29d11ace5ab7e727412629c9d693d2e5950e238f162d861c96860bcd48122f3bdcf4b85cf93bc6ea278403625ba89deeb55c6fe7c79a5e10fe1cad2e10f5549755bde093dbaa06cb29bce2fb57a561309275508eb647002385ed54bb0eef5670c53d82b5916aecfd0f8c356fa98241fcbc1ac5014c5d757c7e1b298fc7aceb19fd3e185796b63866afa80609724ab92633d3983c53e76c7d73a5f555cd076869b7a77877443e1879a6e0bf6af3367dccb244c36fde53fced88e7a684a32526a147193b68da392a3cd1d1534ed20d9f63dc2f53e250ff48c53e36cb82b16854a4894be5547b9d0f7f3a641fad43080efa115bd5576af10136651e62050dffa158d411eae95a6db128b649cb840e1f9f0009da8af3073d8f2c03d83d30e529d3f30043a567a8e824d93bbb80ef7a5ff531654bb84e1322a3fcee8bbc288cc95e2b9137fbe3df12df79304c468d22eb9d002f97b29508439cbcbf96d43a8b06a6b9658679e7fd3edcd4674869e3423c06c4f99f530d95c94c11710532bc1aaa982c89ea5eebc6ebe1f36f4d03a4b3c7302bb25ef4c7ebeb0f62cc5040cd91b0828e414379eae14c83badffe82cc46efd27e80d4d2374370ef03f12046111d37135b53633f78764e02ca596981fe223fa491c02b9f7d225fcf219d0fffbf9641a8d28286f09e7254f714e7072a46a45d5bcbda797f7c320065bd9ec83b5c528e1b10710b34e3bf3ee2231f8aa1b3498e1f9bd90ea0c8794a3983072d741d931c04c312d23ba9e619aca4004a6694174b80da7503c969ac94c72645c25807845a47d0320f436a0a4b00e854329e0b4866cf8fc589370a0686c01c8644133906360981c7266ff53c5ecfe04ab3bc50d192208e757be5e696b433a50c82017d014d014844a0785e007bbb4d6a311246458c46158149d9d8188b82a395044b674ad45ed63812e48d496aea41099be9148c9d8ecfce0a1948cd344ad2684c4a4a8c516a49ed084a0a914fabc68e6de58751119f2cbca9e28e0c25045adc54b5e8e16521f7d75c4fd1aab2e48a102ccc13c824205350423e471e003d15b1c851ca12b35ca2f10cf2246aa922b4a752e68e7219bc72b1232c4a8252d3cd912620de97cdc466078a33646aca0a0a9624c022a31b4320f4c948952a8b5bf58c2391203ca0124451058925d5455e459b1a4243465553513d78ca59d0188b15384b414d6d16582ccbd6908de613a28bc4a6a8c8c593271c93c2b3b9112dfd6f2f7a28f7bd3c8ecabcb2a1de16a4436678e3e3d876de262603a191db76450fc1c86a7d81cd939fa5e9d85565c0d637f5ee48a632786b5ebd63baa90c7edddbeda2bb1a0f384e2db0f6d8787000e8a9b6a876edeb926b4be2c827214456352aa1ed49adcbc7b942c05645d7a0ac63aa7c4d8a963e5055d69645254aca711ccc27a4aaaaae9def6a4b017e66c4706bb835fc6a595e9c21e4c0707a9bb1b26778b0b9fe1ff5694ebf45062c929a7d919babb8b7b8f9faffda897c107508552050ffe1ea957e5f2e523a9193d47bf542a5352f90e378fc7b6b5aad6bda181857550db02aeb2dc7752ec7be0fa80ddab66ddbb6dbacea0ec2aace0051ca4154504da45554b1de7befb910b9e86dc1bad79573eeea360a9e301d25418e4c60534f522650171e48303378b4ba8b5b128a0963d8c589162a5d7c805ec62e30bb2e21438670858f15982eac346bb9d422c9d8122eb1258e28c60b1ac11d1a469a6470fae5a8f25261c47a7214168d54608e4d5a5744928e00f1d173e54792cdd00b8691312f41b0de13021813251d2f5b463dad0d484d5684968e8634ad1040af7208c969e245414ab9aa9058564428c9abaa1240395c37ac7841394f1b1d432617163e72ac683119820249d2b5e5c616afbd25010fa12f28de0dd2d289812bb883cb290a0a735bf9306d30f1945638b75caa3048260e31435298cb3d8542112f4b3b9e1b202f53298c02bf5f9d54be6e2cdbeeec9dbdb1cc857f3fbf9fdfb95f5aff0093bedd933bbf2a95caa7655fd926cbce3b5994a56917b6c9f5f303a07fedf6f5bcd500fcef6d73ed53ce41997844331ed557366b65722f7ebde7dcd7720d7b2e3fbb8adcc899f89127a370cfec67063ae367dcfc82c2b40ccfa0b0f71e860ea1c32cf929ff3cb2a7afb29c839ccc7171737ece7acdf8193b89abc459b393797ec65d311c4767bb994f59ef9a30a27cb42bbeefae93ceba8e9b4422513e7212e3660cade3665ca53ef22292891b79aa5375734fea9b7f74add3e9742277fd2c396babf57bcbfee74cc68fe335e75c09fb74f66d043a9cbe78dc847d2eca44fffa4f8d0eaec295b6d5e6b9381be7e35ccb6135bb1ffd736fbfaeac7567ef6cbf7befbd7997a7e5a81cf5f34e5ed7d93703bb66df2c7fe5e2669780b0b09f8028b127d72d977b986ae5b2c9af9e8c3f3f592807b70f5b3a2f0e88524bb78e9ac23738a5a2aab84fe3b7154083beaadbc15e79880b5cdebfbb775781ea7d885b8095bf3a4efbdd82f1949609f62219e06fc00e04cb652befc1095313a444c8649d65699234350dcd91c6e9a57b11fda1567b43088313dc1ef38ebb75cdfaa6ddb5834e952223accd789af6e90f7c4978df546584b3dbeb5cd91e74ddf7ddb4fbd6bcf7eeba5decb32fedf6eeba33bd6571116a9ab1ba39cdd334e5fce59c732ff31e86bdf733eeafd1d1388fbd4a67a1255b5aadd64e68cbd9ebd2b3e7467e4c8bdff769b4e4723bb18aa84b7665f96655b69dc970b47a36f3cec4cef8a9337efe3ffcb4646572cd39cdfdec4bbd8fe33860fdbff2232f72a3ccd718cac6cdd829e3d0e47f7a5d695a2e1eb92f2c8b67b4efba1e3c4bff2fcb347de0402e856edc05a51fc7eee6047ede7d61593ca3fdb6a52da4c8e4fae9b6e3e01a0e8677ac03478e4714245b0d13960830381c140946e4598a4230123314f5010084d86c264351725df931951ad84275efe715f01752f099936f7c75de01a29a1d26a8f3f29deefd5043517ace5785d3126a7c1d8aaec46414f71477ea1441acc4a5d69f71209a35d19bab32db78fa3d80aed2ec8e9eea491aecaed97c2f33f3125eb2fcdfbce8ba00ae549601f970975ab9d31b1a4c76b34fa3d986483c9e83dab55182b33250d74eabbda7b4e92c20f07499f9a9aad858c76e04d1c039db61bbca1584ab0d2e8054270b9a29456cc6d14d613264c3fabee51e709c702f8c14b74e075abd2def111f38e5036d486e871e70d504dd2e9e12c979642898473d192a363b63a27ff5834333e5f62361aeb987a23b7e2820b402869d9e74e9b2872a5996b15b98cc715413404c46f8ac87a64905d21202940f44441c4c39221f19edba088242a6ad3b6118d8138a169d3b3161728231a288c8d6fcdb631a4075059c5f827c54e39cef28a6fd2dcc1f2c4625a0a685d447fb087d97f10c1483bb69936169a44ee302118a451e686c0b23e918b7ff351bd85440ff6f2873f8306824aaa71875e461ef5e99825f40110c44f7864ae9ac5043d131826d1c634346a7ec8136c730e34a0f8b4fae3dd3e73516b5ed0c4b841dad7f6a56373b36b3ea29900d572bc69abbd3e5732704f02a458d2db4f68aed4e4ed0d8448c272f3cd2aa197958a4d92f2b107f3d88ff791a11ed8a4dee1f8dc04b8a15917dde2d156a7d9b25997bcd23588293926eca206612e8d2d4bed0dee7cdea481367514ed09861934c28a41900d5100226bfc20163bfc0fa9b3a9216831674bd0a2bf8ed17569047c51f105ba189fc130e901d16034a87bf547d9770f342af9f2cec8115497548f7ab9a2146e7aaeebc4c4266d13f48623d06624981970d3920aee58f73879bcb41d79cad60879184efad22cf671f530a4a0b4433b0233ae78dc96499140988ed54c02470222146c24e601fe08425fcd2a272bd9ce08ce0cd9902a85e7f06a52da48c62d83437b41e1ce969a276329ada720151c7ccf98b58f978e78203b6ecdd65d0cd84b26348d252f4dc4752c244febde87c59c38a2877d8141282d7f7d5cbb065a85684cd2ce585db01ddf7c4bab1292bc1320b31676be5e6df20091d345e17b61613d0f3c2b82be41672821a8e43978916672b4e2d402a99a7f78fdeabebde63937dba8d0ba6550e3ef8bd141601154806fa545c3c88e68ce01480cb9bd290607bab03200803b12fa5f8c4168acb33121ecaf75a143631bfef2216e2558866635830fd8f53db2115fea9bea78ec7870bdede1a964d5f078291e048e6b9c630443753701020d2929143cc678c0ae6bda6a273989629ea8c9293221ada6833a7368345042a8d89f3d1d97b9acdb80b9c99e1d9ff271043b991a1cea99fd75d35f25506e1fc80effe7315243119893c1b3dda7bd682cbf8318d32b82ce2730ee674e57a3a6e593f57e04653099bfdf1a0bb279b212f59795ad988232f1c0d6fe0692f30e161ee07c72ee49d770793e8bb32338272e79cb2d35ca9e1579118e9c35b3d4d86c350b1dc49678bf82493766b128cd831d50168904c414991d59304203314e1a7ecacc05ff40a65d9953f34cbd6fb66dfafe10d43c5c546f9e8104a2e3c4efa8e19a602f561b7c08ae0582a24c0a37d6d86a0450ea4f1b8bab2eecc0ce964d3de52c17348ee1c9f0924dc65bbbf16f6671a3d6e3c7f8dbced8d468abaa3a78ef64cb6ab0fba76d535bf59e166114b6939d7c5f61cc07dc40a64658eeec12e29079864b3428d93d19c67b7ff9bd00c822c9e575fd4ac8dd87d982cff1afb89639e3e0dddddf8506bbcf62403a2029498f84457d5d0fe296f2902b5ac0d89a32cf7862b0d14b59130a0e4949be7803d4fb382b1040ac609a9085a753394a34cb22ecebca8ddd4828da6701692344acd7bafc79fc230860f0c1575987a11ddfa1d5b98287760e100ff0d639181dc4ee5411a3c35c3fd4919bdfee6e9b8cbd0ace0a3531e5cd22276fa66b751d1b0d58642488faa4d8e5013b5fa0eca064305709386874467de50a6beda6ac74d0fe3a504e9d409782ae0abb11bd28fb13a0ba16bfccd2359023d299beb206a6ba1cd4127ca8b309a5089f451138ac74f44c5b02924cd4b5b05f3e2cc7a1c0e8095d7a4a4ce01df8eb35a75c34e651c6b196ad78a44abf8ad79c99a5e49e998ab7b4cee12b0258d487ff53da4028219f9b52c740a508cacfa34016cb98c8f1ce1f78cc8a3aa4f9cad0373c0827f0486059b8fb8b7162eff9a276c993ae42eabdfe06996bf71a35b4b21660244f2c9b0ee4d388e973536b7d52a7e3c24765baa0c7e555ca8358ca3c1f6219352c598f98d2a6f90d1ff1bd8212b34dfeef2d334b2959b053733a33234885cd10a2994f9ddcca06f4b70939800e42ff68fc2ab898d4c24232903f91c1809e447fd503ce422c7434d0d7ac5731cd07620aacfe6e5696f4154dfa96ddb6ddaff408506524b0e5514e8c4183e86599b1d4be72bd9dafbe7383babc4be4f77e2f2c69595b2a8b278045096916d6743045cdad0fa99aa245b168319347224d5163653a40360b8361e6ed571c12b4a67189d2995518fa4f369aed3c1eb4ddfd33c84445589920589d19caee269be4ff8c0482158b6b15a15ffdf932288d978c3a70c6ec651173ae76003e404fbd830b2223355957aa61f015428c2ea35c8753700b22f50c139ef90c29c072c29e7c92c2fec6dce739c2de7e5957e951219927f2f5bef03193d56da72650d562d9553af9e70f305fabb8a40b985cb27a59abf54371ac27bb1c14e5158515cbd06e446a68ddef30a2740813d6f1014673ed38e08c5e0a5d36a7a0e2a488c7b593322bb3e000cef4df959e119856b54a6e1b7bfe78dd10cd0dc7ac20d56377e674581464f74094573302bbcbb38dedc3f326990ca864f1a49acf9c4afd5f033c01dd338e9e2bb798cce439400185eb95bf793a5c891ec6a7ee758a2571383298b8724154e37f18c2618c6d7a0b397a9565273f8d0bea310d4db9451ed68e23766745dfe46201424a38189035234ae7e6f83d031deb3eef8111573d661deacc31597779ca539ecc08e45553d9c9be27d11e9828d5c79d3e9029a22bbef3f8ad708d11681914a559a51f98ee102967a11f8bb7d2ac160b5903c94d6d0b74c2867b3984aa00bde90d369321d08e8bb098819c6d56ee297f95b0cf0c9eb97da91cb5f92aee71fcb204bc2596006f336e3216489dce921385584d66a4c71edc578e8ea59d855e940bdc0cd657ed9c33d28ef27a25c9c9df9031df4d3bbdc96a634a083b99076fcf7a131218285eccd2cfa40cece7a0e7cebf96865d0011b6a0902f3db3857146a46504baf63241419d698c3b1d73d7dd58062eaf43f13933fbafa28e27d4e57aa556b840f6a016fa30099c20f96a6aefc8cb891081fc716782328b709b8c6115c81ce0757301b678f4811de3fa5fc2b7570999ea9689c241874e91f1c1df9c02b505610bb95c7b93e4c52f636ad5c48be62a8750345604905e63e991ae5dcc2d415236cf6bb42c8060c426c32d9a0aa52a4d7566acd05faff9ce3c2b825aef6d1b0045764ae1407b90d73c9f7250d0817edfe5008a73e050b034bf42988a9133fed6a7b9d8335a45f067204aa33a4122d14fd548e096f0da17a019b88d0fbba504c161706d7c244de36d4b4a3d80c19e9064318124a6e6f4dcf4a0c8d76711fb31f8f3398d4baf06dd5b357ec39aa18c2964111792a3c7358edd719f84052f4adede2be582f48fe8212804cb2d705b497dc5a97d7b368a5f3b7724aaeaea70df208e062ed336bb951894e1f3db45ec8f2825c429016896320a3b61c8fc4fbdb3a512b017ceb8ca37e39eb9991a8a4e5b8d00a71ddccb29f1a4f1b0173eec207e78716c16824c6575263fd349403a57b90f15420ce6418164dcd7d63e1bb14e3d008cea921282a0f4b1cae558174d046008a88a422780a0d70f23441a98bfc828d432790b5e2b06f87bb6ac7908807eb0d435149815de65e1b1ca771841e3fa887919ce466b9896149db751bb91d79dbd28ffe4228a973992addea989f5964fa9845ae91ecc0cd667ab66a43778bf198b77c8f052ab96cf2bfdec954396d774ee8dce3fc8259e18d08c13e93e546d7bbcc96a5c72872bde4599bcef451ebad8efb9dc7b21eb85c71658d60bb99842ddcd0dddabecc6dac47289721499fc96e93ebdaeb1b79bc6be19714ac6632bd5bb291c395636f97e8c1d92a70f20c584894d7abab956679b4c9e30a6092685ddfd30692b156f4676d204fe3687137bea5603240ee367377b6395c3bea05593d7a176a939a990637baecb3cc87798c2577490e40ff3ab17b0c2d699c587dbb76b3c64b4c845cdd0d94bb5367897f728eeea2dfcd851e239283bdc14c83b0d1d96239cc2883c7207729b93d93e88ddcad0ebf3b69c7bea25837d202676920d3f08dae3b4fead4b16e0f4b12ad4d3345b560bbb365dd9401c4310990ceaa8b4c55ad1bb90e7c33d80eef4288a41e33596ba3bba56b4761ec20b9c74fd2963d65b23500373afdcdc4f83a42cce19344ab2e9335373ad55db722190875634ec01633895a36769bcf4cf61c030b356c898d09dc487cf4e4d4de98f4e930f7a7c1a79a6e6fee2a3e56e2bbbd7082c23d023426f3f47bf769b643ef8623ffbe2b859adb57c7fe7b999113404f1948ca8cece817b878e0bee4615c21061f128040070435f7db93291d3ba097ca1c40d78beaede8a8c2348244682fd4a823fb20340ac4e87b1d6105eea126b06f4424f7901a55f0ac5f4ba3832562efe736b213ab396aa9f8a0d9aa15a21e6b7e87fbcfd16f06536a018135e93d51aba8bc0329c55248188f645bae85a674acf1eba4891eede4d9c59d39b95892ee0e1a58117246a5d510ed139a4e956c78edbc5d658d4cef3c11218ac09637b1e4711dfab25e9a3ddfbd713224fbbabd8e82b3de47846a266fd47a56891ba80b3573392044c34ebc85d9106169649c50347b3ea5df56daf5b1b58ce80347632bd8bc3d7d2a0d3b4325c6c5e63dadf01bfdb1ccbbc13ef0ed8ba6f1bf0debcf742c5971571d93fbaab24893af4ee2015c0d8a6b89cc175ac37096b335e31684302288f1665e4d7ce0bb9208d3a12b1dfef473b2075eced205090d378e9dd3f7c00f9f7d4252efc621e3f263e84c0c3531e73950fc0ffa7cfd41c6044c496bbac47461ec130042a6aa41e1c8ed1fed366fe1b40571f8adc28812892802ff0de9e109d1939c059cc3002a68e8174d8014da1ca5f9d7cb8343df92de7ddb1df1557fd02ea7818d2816f2b84a0f1e0ffd5a21f946c42de58e10a5fa3fe776fff71052f10f2226ae5526626ebfe55bcc113e0ca3013e7b647b139942765e017a016b01eff61eb3efb4a5335145dca99864e3a56bce75360435761e335c2872fef8a9c238e86888e0e33e3df1279d239888a8e7aafdb7bfbdc5e7653d18c1cc6834ea14236dd31a0f9b47568e9fa86354e9e6b103e58252a7ac47a85a536a94b445ce550748f772cbd917c8ea6c3c6a3e2a1e6d21f1ba65fbb3bde5bbbb6227e76bc680e386f6671bfcf0f76ddfb8e54ed86dab3a2e44e3bdbb54286bd1816bdf481a91c957c6c5f68dd9b6f81adb5efb78abe33d44c87e2bbe2fecfeb0fa2223418a4460602d3901a2f32096449781ad57b1adc2314dfb62dd02d3f7b1dbbe6edbba9cc010c9957cc99b1c8a3bf9934fdb373eb202b2ad225fb73793399f54d269758babfd45652ffcc2b23fbef177cf3cb9a4a45c72de679d27e1be7c999d37f1a54f3290b6ccd6a96d82a7bc09a5a766168701d77503b86cf15dbc32e62ef5c6f7f9177a23ae18d49f22515e39420cdcb1d0222f704e4147fbecf96de3fe2e08710c77b85f39db2d303a8e0b0cebde390fa2a0d948a294fce99eb358d03a7cf8c00117693da42c4eecc70c7b880c4907c96a656262aa99ea0e5a4dad25588bea001713135367eab6283093c9649b4cb6d9a1430e14deda1e6a1eda697402053b0dcfba98aefa7cb58dac9eb50c6aabd65bd60e9f1da9daa4aac3aad3ece43b8de26c7b72694caf0a65cc094ec2710bda904c3973936a61b4f788497c35345f21e5288f512c6aa456f5b1e564cc29926e3626542e5f6fe276a520c2cd529ad4172d458eaa03d34d51b2732e63212bb42a9ecc078dab01a0ea996b01cf2b58e08ea2f7529547be59508bf2e8f22277d5549fd8a8538ff1d6cf494e7203671d304378cbe0f419ab4e9d53a8981e9c6568aca7d089f635c45acec42d2d8b26863fe07ad4c8a61b724d36717c85e722524fabad1bab6715eb98c3b22a52c2443857604949455fb7dab1675a94e9fbe44a0c9a9dcb5857153d2bbaaa82a24e218bb00c4980955bc0cec6d0dc0a5d4d8b3c06a96d7989124ded87e10f03196a2b8000714fc47ef425085fff3cecf3b0cf8d5353cf1bd41a264204151e9e29c763588230b0a2a22b070ed6a0202740405e54205db6af5e95770758fded95bf7dfd56fedee5ee1eb0ba2f77b7f7775fd77d63ef1b8363315806c3b2994c5640e8caf8d4198d26d3e2af78468b6359966bb558aec9f2ff7fcd56abbd6d9ee5f966bdd97460f3ed26df704f70f30d8793713927b95b2c0497cbe5743a1cad2aa7d3e976bb9ccc876eb7b2dbfd0a8f27f3e826f44a47c1a3793c1a000b0b4baf0780a5d7937b3e2f1f4b2ff6b5f87c602d2e2d2d43a5dbe5c5c5e5a57e79a97f75fdff03fe7e351006089c326182413918c3240626181323c7c82c9109c6c432421999170e85c2e1cc70f83f43333373e5fc95175e3435343456c7afb1a9a9f9aaeb8d8d8d6e57fdaf62fe3ceb76ec0d0e0e8e6ddfe0d8b64d24e2d844a24c9c06b065967d9d9f9c29414b129686667e748e58c420029a56b24db65900ae7d313d9c63ac2eb6398c6b5d1d542152e28910217e7ef806bb47ced78811bdff88a0a09665ffffdfed6eefafeb2adda45ad87bd46732d9f4ffe3ffafc1724d966db5da54e9d6ff71f07fee3fa7d3fdeffe57763b1ae6d13cdef7fe8945beff169fef9fad5b9853a5dbe5c5c5a57e79f9d535f0f7ebc1190608a43fe65fe65f282333140a6786c31a1a1aaba3cfa6a606ca75636353c5fc7f1bc7b66d22f19f7df6ff41132ced31f7f4d0a4f7db91420ebdb01030504dce166e910ac048a406a7110121ed56fb63cadb2e0b22d3a25221e32212e251686c5d1246ec80d7d0dc5a2201c368142236940412f15675c8f972a95ebcacca9824f6d84366ab55c1880d39610d6a3caf71d7b248d5c6a64209744d206a484250228514cb44a19c6b4ceac7be6d5458224f67e31dff3313349b8a4e895eb7fc8bb337b108ca5fca7708523a975dafe191d128e53aa44eb0543a74834941dc47a4c7bb7a4fefa63b7a3bef143789e894bbe8f6718a2e995a3eabcd8953a8d44ddd4d0033c808180a626112034912968a089c74c441c682980b830c06848582436160901c0682058091184800008600003000060cc0622819c5ac19e885af63afbd6f32916ea2549e8850e7e20385e73af6065897af6381cbfc2ae8487659aa0548ea2eef0db88233f2edb1e116e7d623f3656092acf30776eb43e0f3090ab3de21bba8c7459e1a16c0c432a9a02596497483516747f8e0d06dddeb2132e3dc97722d63a717348d4e7c3dd70814d652d251ce82672943447b96e86b38191fc30b2b7b3d3d5b0158b3a0e20830cf574942c075ca6290320a7926cf82dbb4e83cce1cfb703c0f492b36805b0cf882d08fed95829c64420fcf6ecf94cd45f5c70176e2d99977a87436784ef233e1b2e8d34cb0bf72a4138fe8f00a8c1852de3bb7341d319f7866a47b09e632dace1738f261afb386bd22f4321c0bcea3f1830c9e9447d6b911d71d33b2416590a19fe524f37a3368a9f34aed929e49ce5086e87c854ec01816cd1085cd79fefad83e13ca79134a8577bf2e253fb1c3801ae790babe7aaad4df703ec69adc8f3aefbd24efb268c1c2f96583333befe02dbe79e85abe8b25f5b97e5ee9f97aaae51f129bc89bf1417ebd0951671862fe0b10969ba3a4e8de81f01e6b33d92e89df25e782679b293b9a9d8400b97c36a4cd74c43e04af77b44e6a4dbbaed7b9462ad6d8ac11c7b14fc7dadbb6a306b3e86b0011b039fe47cd25a44bc571d8352379bd8b78ce53e424506b16de92586bdca853b777f869c61bb9ba9a2f03d713a50bdcb120a909a066385dfe766adb9f341ffbdababd6b16c4dc94c197d1dc8463c2ae2985eb1443b3a60b55de1f6bb60030e0bab8171ef377ab8df47b00cd63f41fa67a66b93031b7cfdc87e2c2d4955ba5b55a83e256e9ce8c7d53de3df9b800aab516f234fea63833d48fe6e8a66103543a3049da372da461a5d2e0e7523353eb0da8cbec658e5086cdb7e7f56074849836a0c7c91c979a36d7cdbc5320c84c3547447832f3d65f95d2194a32ec44b8b67f909454f12e92a8d386f569257592bcf7e9b9ff7bd89907afaf9bf4373e3c7ac66779cc7753174a0713b2634f1cc2291063e3f05ddb41cdbf1d04395ea3cb6767fd7a4755ea07a9006746b059b191e28b35f7c30fc3280ee362649deace8af325338605e859cfb67ca2f03de7fbaa0bea7d36b3de4305651909fb0fb0e08a4236dbe3dc06d8da18b7958ebbb966a96283eef752157d5dca0ab3dbfd5220cbf6dd6c663a5d322ce7c68b4b1fbfee546fea46e10afe3ebb58ffb55dc0e2b230a70d17fa432b620bf67c0dc39eba79aa275fff5484114242b4082110b03766bde3a48aab07bf0e84604640f920b8cd29cb4dc2431002e8cd8db9151218a1259a2c7867d532873d380e36319fde5a4ee64280802c2ed827a15c94be3d9ef9381bd1e643ecb4d8853388937bc3a24a0f39b7fb9b8628ec616bdb273e6d8ec6c469600f5ae6b4703e15002686d725e677e5b56d2774ef71bc46c597090f4b6c85e5e095d74fd345098602287ce1451776f1a84add570b20f9fbfc38b341ce99026ec8be49b1f109cb8d19b86158678550e0a1d154dd1ec4ccaef698c6bcbb1e42725e7d9ca99201beb151be135e9dabed1174dc84b1d4ce32e7b7c352800fef36466526d81d39c3a585c1f60a15a83a2f7977de86ab1e01802d03600accb04ed0e6c62f03189162bc160c7d3adfe2bbd0c52948919cda08fc94381a9cb2c3869a6d648ceb6333e342222e2dac0945ab583b0e4c70ebedb5bcd83b77272ed7d640b5872a6bdefa1d43490563be14331b19f6dbc1a1fd7138a3a30725f912704c9b51a97e72b7fd0aa11c2b578325fc5b792e2551fdc0ba7963f6fc95d5d1869b56cb02d7a63c5f2cd9833232f7fa8af174180c671a7fce83d1603bea7a9d2a0d40679f439fdd2789c260cc3153306f2e59fb56499fdfa24bdc5d9c9edcc9595c4d25b61221d9fcc4850dde106c8ad8c92f036bb2bb931f9c954a2d9801fe902cf0e3d223e125b71557a65496a1260cd794441bd9bc743e9181e53b47d24beffa7e20c24539d722773f4e93903d59350a42ff5aeb7b855af68aca05675f4def02e0e1842b85a0235e4dfa0106f476acc5f9c027808be43d7831859305b0200e349f000731bb2d1550a59058ffe1777b36d0cc512b1227d81dda39a1a248e6e401f484289b4a209be058f3f6f625f541641a61b7580c0eb81b317937a00088f0e877e12668b823b53d635433749d0237c386b0139b100f15dddcaa7465285f50837e56bcf0415a1e858547ed870df2ea298a1cb5173e48bf7c04c55fa3f6c36f8cb3c33b8f842e0712cb655af684f6458ffe7aa65e7b18507e4175e00cb621738d05536862458a1203c858855b85c74656e58d5c255af18f1823ee5dd5123bb02a8cde3802257f11162f895e2be37e40916db950b170d0029d56372fda691f5e8b4acf18c7d77686e52b1abd4b3e047b36bfaae02d52aa20b7dd8f5d9331ab1c380db260b4f6224949be03d1b4d1ee97ba27e043f0b654e48d30da7caa6fcf1750eba343c51629068d08046c01e6c391b6596e2bb6c28970dd8966b7554de66e17dcabb52db6a2bebdaafec61d1661331d484468bdaadb457b196f366e95035e9124e0080f2facd2001ffc552a8cc8f183a0faf0c090b2b68c9f0fb7b1567cadd5222049151097ca558c880adf9ced7c5891775218dbe441ce3e6de368d3188c75107c85eb970c0140b87ddbd27e54e5c0c8b0de3d3777c64588a58300b54d6bd39cbb14989165f1294b7c21e5ea96db2576c0ce64cd2a074e07c3b185e293586c582934d5974ce1892f63498f223636dbef4d6825d36b8d033825db9678ad3647b4d8a36742eb08a487e360e9d7df1622e93a44b411a68c70da364c445c50afbeda9eaea411113141072dc423633ad39d6bcb24a268e516ca3598d15d6705061194c70dea641afeca1be876c91a94abe689ce842cc025207c5fb06bb99584148f8b126dbf16965d5fc20a56a48fce61786e9c4fc5b1d06e22c9161e271203f90d2fb30588ac276f3e151002c7aa75a81d1b3de7557ddecea9f6b205b979893d56af98d5d40ba2ae518d167896ea68e1b1ef985e80d4db5ff0069db9eebb94f8dff02dd315e1ae91b2ab9335677b3c8904764aa816eec8b7d39415f54eb78a9bf09425c913ffc379825ca9a721697bfa75114a0bded36fb25feea955353ee5079f38069d4f50954f673db23e6139a3f969aac09faa46eacb17ff29734c15500a37b4400d5e08eacbb5a096500ecad68a5082040a95c09b5ea82c4b43f11f3c3a14e4521f0fa2ec7e8c2881455448b150a2523c8ae2e5ff0acb8a82dbba12b602d1ba2868688c9ad89670914aa3ee4ce88d2aad749453e0faa74771288114516d3d1b523c8919293837494d1624f5d13d521b8a16ea24ab92c2615655b826859c088552d26a4a95b3ac140c56961a4fc81d5ddd264a008e6b56484598da4c73878848026420543adad08541fdecbef13debb8e82e840517cc7b5224dc53f6b218e2778dff1399990ba86125df3f6ecfdd746c4664a348eab2ac84f7f51db7635e4995ff4381c2b28f1b10cd7d53a16c7ab5e058589cea64baf4db3233659809c8456727c9b9684ff0edc2523c21a79eab8c75ea9cf9b2b6843f54983a104b973a8eafcfe89eef8240ef507617f50a3848979ba72a4179efac6f775cbb20ca34806509ccc012f9812fca69711866b0f532f75be75e7028dd3fe40f01f8536d2a5778a40d871fbab67c27dff9d23ad0b9d6a4fba9d25105cf41997ffa0f3d45f2b9b8df50f9209fd22a7c11f7910b68dc93f0a78ada6d45157113c48c00b0e9da7da788a02a1929d4d9c0a4d264a9dbc04bcf9e13529e77d90def9ae9bb26ed6a79a6c5cf1eaf441b94adfb4752ae646bf70c03d2671f1e31673c224f30d42c585d3e1553f506d7b9d6f1af50a89e42e52b4cbee93283729354625d9c88fab8999f9f4cdee683a99da405d7bedf66460844cbcc5b7b923d14eaec336977a30b9680564bc04281c7d3a1f45c3117ef57ba7128b542b6c4a13bbd8f171c0e15a292c0542e90eecbd0c731b6deb5f167df0618d614a176c8ff2b7f9dfb84b37696062fc3a8e042f7c78eae2cf89c801e8317dbfa979c478fc07424a76064e4f3dcdc57185d43b3941957ec0ed17d82799a0c01f06186d7c4e516e7360566454ffd4ed446324d66bc76da310d0186db621b9f9c6a5477c8ae95b24628d2a930441a060881fb659849f9b2f2c8b00bb0d685218336c9c94464fa4d3c38a13e7ab1b5399d7d736e8d73bd7f337b41b027b55101c7da9c5f338bea89b684c20fcd05038e13547aa2ad814ff2e4ef1a92e30a67a0d4f34468c3e0325b265744c433772dab9a752a251500ae5940ad378a15f98534ec353307c6a23ce579fc501d49a62517d5c1a7a4a593b5fbd52ad37b7fd8c8ac0f0765c08178823ecd32fc7aa86a16bd829306f1788259a338f88658ff587f244895f59dec259ffa072ec53e2c1c8b2db05a4026de8fb20b77e1a27d78c78da9cc4edd9f740f0983f5778d61aa517119e135681d778aa6d5680bdcffd3737345d3a0c325bdcd0301b6a5f71506839c2450ab296ad1764f0fc36b97f08edb194a519fab253549780c0cc114b31c824c72852966d9dfb5f3fe45878e7e62a289e08589ea7e2926420d7c036badd0df93fe2d1e807bd4cda8411f71273d3ae2a82ef90cb4350eae3834a9238cff29629f6c5577c708ca2b33a2d52232eb353849fac1dc33e24323ddf25428f441779cd572152110432be72da1cfc8017508a286d5a8f7f10077a085ffab2184d3e9bee5708b8b75a65c784315301190bb9071a9c8ea52c41421fe25f779675fce92643c7a946b9861360fb335724216fef71627629b13ff8c80cbe90077f8aba6887c773c6b9925806379e4c2f575d2d53102c487aace849c2341b338f8b4f0ba5f3f5bb3286f7443f2f4054820bed7d465ad0dfa8fe9a9d46a5dc4f688d42a557c87c51a2a023b221e7c0ae956d4a999c0b2d19abd081221a406b7286cf0d2c33ab59302a8b7e01a5f798cbbdf88234f06d4f251cef44152ce4cdfc96dd195f98b20b84a5a076a87e1a6e172f9f27fe8924e079eddea86408ee1c4df061c79dc2b85a7f4f4fcfc682385416f92106ce4245c310c74ea739834ce1bee61c299b4b8fa0d451c5804af2678dd3cb9f5fa4dbca64dd18085eb54ecea373ceddb043d619a556c5c52ce331b25fcf9d59b78219158025a88e3a56e71d1144845f40683f84ea015a40506990b3598ebbe3ef991e4bb272061a588425866375dc314299067a0a0e019fdf09da8b99975c5ea46492c1e818ab84162c9c2da6ec137587460af178e173688fcb6bb20c92a282b3f20cd6af16e9fd5c3a4f52c3ad9485fcb508b5346af1e97f47ce29498ba37ebd12c08c63bf14d6f2422fddce1521e4379ddb3dbda495c9b17206ffc25e2f21e1320caa0c3454e805ada3aec295c9dc121632d4e75ff670562d0ce5c99293f53677a4a0a237e509999c06e139a60fc9ace109181782258eaebbcfbf9f1bbf1309131a6a8ccdab0419a538969c37808918e9e5527a2c1bdea78a2d49427810622a037d57e9ed3f6d605982cd79bf2fd02331126e8489c1b667a31ff60af7c4b96644720866ad364a5422ae730e0f102bc5d9a0d1f78c9025df583a5e90164fd030d2258fef904f9432be7cead0735f6886e277f78f0ebf8acd8aec447d7df40e0f291f5b415661f3a0f3f0c1d533e6b9d3d0848365e7aa32c7798d3a1222a7a5bcab3558dafa0223bd930f1a949458f32f41a623d90c4b3c2e88acd4cf1e0eb7c4d029cc5acd7a16222195977f88fa1e92c96f1bda81a5f7fb7254465c4b80c0dbb4d4cef4c65f12f37143a8b4fb3ba390c91c822a2d969bf456961b9816954147c4a34a1af43126535f3c51e1b8c1ae50a43d8e03f6e9bcef52a040b746bf881d5a00e21cd89b357a651218f69a6a21324edb91e25cad00f7e46c25a432ee16f401e451155b93c0f9a857030c3492771e8330bb9d3e24e3983ce2ce47ab1efc3b1eb9a38cf7d73ce0aca7bd5a67cb01392284be6c5077a961ba73019bcba74b95800769baa03494fd9c95354af79d230b4c187893e608bd37c3320c1b60e83730b1a6892b49ce4d3e4f8932dc72edcdfb2c2fd10a78579fcebd5029dc312c9cc0ce51309e4a32dd2f27a0be41a28dbc43b60938777bc002b3ed660c8c5ef8171177e83fe100eb3eb48f3a0e44950b59600edbd39ce70ba56b5ce5c629c29f008e997a6b7d8a9c1aceab2b9f84ebd1a122e3410932effdea2906b4f15d9afa790240e6c9a0d2b72f14cd64dadfa0ea0c20fb496cd3db31bf69f49397065556325ceddb7880c9f2fa390604cc3a50c66c07feee0d8182e9fa1140f413864b9cde88619e7ae0a2080e2f3c7de3035d7f5f567af398bb81e4c547739e5fef892f21d5b47c4535769e09eb610826b81b98c184aacc57f736fe6b118eb55d96895649e23ecd996fbfd7b1fc642951bc91da74396a8994971d67bdcb4d90046e19bf1a7bde795e32a78e5386e806820c51128c8a6163755f3a8d080234fc909cb529c512fb5235452c03cc4440d3ee86dfbe5598c82002635ae43c01ca7035446f7d44a3f08ce05b57fe794384860b5b70844b28f9b7df15f214fd1048d7f57a1b82ecab72bddb7b79d224a5038b776ab53375d4c066d7f4b99524a29a5ac0091009c00c90307db66b00d06db5830db4e20b54142937c036bd45e2061f109e373660a8d314d576c4d900cc991144528280808a8c2138d1543b52f35a6a49a121428a8588d779c38517d6d551e5e2335b5156b929880520c89e55d5d4ead34468d5dd71ea3b69a4b7acbf3efc4d0726517deedde9e99ed999922b0b2a2fa777977370b77776f182d673fd414741d8ce99080d16e74bad7010f46bbc96c2cecd604bbc16eb05b0214301aecc61c0246cb91cbc1fdff2784f5f4e6dc5a600b64f287624f753d5eddf532f9b3825231aff2b2a73a9eddddbf9b9b7b9d50b9baabb15d0fbc4c45bf6ee831e45f7701d8275caf51b6b604239caffdd33101d4eb8eabaf63d5d7c59142bdaa4b2992966238c5c45830a19acd645d3c62f5f9cd5f0a6474b2e43f0f337bcccceee5ffc6a8fbb18c28813ffc7f2325293626396423b2050930a2d4bda2225bb43c9bc964afd71365122f52fa9ba5cbe63d30228cdc9051067aac57fd013dff26e04290af3cb2a0d3fd5bc82aaaee2ef32b7fe494b682e8892d0eaf3f4c424c9ee07f8e8018630e865f5e126242727219940051f5c3d6b3bb9cc1320e0e8e2a8b643e50f01fae561a56914ba0e08aeb02b4543d6fe7c2ceb26ab6b73e348b65c0fde575fdc1f7e89ed287aef0a1466fde182384013d4f5a971eecea6a4c6399bdaa2557b5cddcec2a33a3a51177f6a0deed1158b6df16b32599e9d9aa4ffbabe2ff9f23f2efef31723d948e786c716590731e7d07fc764eb74a1a33ae8401c2694387222faf5bf55490394f2bdddb5ded82e548bf1e900e5aecd7e027d74c93ab425588fae16cf117dfbddbdfa1f690ea32db78d55d5eed231f3518c573d02184d0212af58d50e58a0285a5a88388ce5c376366100808864422a15016262188213910f501e390617041202087c28248180491108270088620188250084288218620c2a06290ab0322d1a42484e658e8af470ff49d8a08f5e39d1cb0335436274567749ed1b51ce1eba331700de308ed4b26682591f6ce4977093a1a6e5ca79e97c4d063ddd888a62d5594310a986a43b4ef6b3da133ebd1fbe2577a6863bc18c2bd384d4fd5680e3de38429bdb243b782006607e420e398c5fc3bda39d20d3312c08e0ed91115d7a32de1266dfcd020e1dd2a44d228c78acf3a6216f1ced963fa65b1467bb1e29d424ba965bb63b5bc9a9e4fd96e0272ec4c9db13b1371501dd42b6cddc7992d285d994a3939d7bd8298851f8903fd0c7da2f70bfeaf56397a22d355f108c9842ef302a474df3e2804d53685413655f94ebef0c2cec73164754ca65224da151d60de2015adccf62c92b16372e2ea1edcc769e96b35ef69d17978fac13cd2fcf362d921b92b55718fe5a3d799ebe77940ad4c9bd84b1751e23f0ca8ed8ff843612f597afe038e3f08cf0c67519806cc3b433b833d161a589d34f3d311f2682fcffbebf0e6cd542ac871ed68beebaaeebb8864de710211bb9ce537c7df253b8610673e755218553faeb5faf459a8edcf6e518fcaf6b968ff2aa846e1f35600a042ebed9910ee992348ab95ca69c1926aed1582fe1bbeccc54f2dfa3b40ffd9054b7268539025a533eb281fceca8e4549fd41f30bfd4c483cb4e2519e7fb1c8c41f2b03e7af96ef3da55fd890e67611815ab9dc1c054a44b911cd90fcdfe6f8ffc27afc17514756f5ccdece92d50ed7b635cace4bf3fd30f28abcbc9a8473c6c15a12789048aa3d76bb4b316974b974969097ba31b183d3db83a1277f61a96cf14224ce13a352f7d41110be59122449deeb41e7ff3a96d6e56bcce5cfe15b7e0bca7f8fe60f5fdcf2744e321ab2bee22ce2c7b7651ea4a8837e3e30bc0e8ab1ea00c006cba251d4fb1f760d6baf887e11eb749a1fcad816203e8af94d50f261f65112e789a8c7f81564010d46248cbe65e9581fbf64654ee9c75d9ce1ddd935df09695a790600fab11201217b6425c9c25498d2f30e26499aea22dbb951dddc947032d0dc543a39f1c5d3c0f526fef7fde01abfb9ff2cc1a2deb101a75c04610dc6a916832367653db2b1c1c50d674a39fd9caf764a33162a4b3458dfe61c0dfc7f333361e42e76830de2649f9e500efa883caa8f30c899e495870e3c080530fea51c74fc2d8db40fc9b33e47c2988354b1cb05541b678eb86706b2dbe3955e4b8f78692abd1a2368d441e8af299b595ab403b7954d53ed2e3a73d2913924723b94b51472ea7fc586b82c11ef2b821d06ac3cac7f11d42ba5e73866db2bf793e6bff1d761517fc3c7f60f5c2a86665f59d046619fccccf8082ed1fc1d81b8a54e6292b8d4e2ec3da9b14bbd4ab224723ebdcc9a616a0644c7d9d8f597f582b023ad83434ed8ad05943b958376309a65f1abb3bf6305eb2cf06c31a3562aa528327607abef43bc81c4cd2b70fec5ffec285ebb9f36114630f05117d64f0338c2b48001fc45a91a92b3794e5690c0dee32a410a5f10ef74cddf4cf64f26dc2140aa61ffa88cb260847c167a6d12e8614a630f79e86f725c2cbe1739d758d4ddfa02ab2fc34401ab58eaf049dd6bad5e8f8b05a76187b47caaa342a052d7932570694877251390e473b21397bc57419c1ea1ea23afbc7966da33f46f342ebb368a5574293e0deac2c2cab1d7e66a2106c86a73c0080b43333c7466df2b424f6215d088c61eb16ab6309a86bdd940af9345d6bd0867669c8d83e5477e3871f7b369d7d100cd66fe905adf73978702606c5b5bdb0ec78120c009916e5bc78eec3988f5dbef631fecb6164725ddd654b4d99b4c4b3ad667ce66fa75d1c79633282b4636d6531da376f4253b3419037a1ad10bb186525d363b99a24666c99e8e03fc5cf34208fe7d01dcc9284de10404cc41c1773868e16add5065837da98494f03b011c1eead687e5b1e263970e9d46abb22a5512d90f8f11db881f7d25b28a3082fe269f28eb433aff4925d5805496dab1106866bd82314c5db3119244a431b7b7ff7b2d8a5f931f7ec6bed9004a1c65502d78d9eee278a1dceca6e9e5ca5206fb4ad1cf0ed5e8280e8bb2ec5ea2f588e586f9092a80e03c1374bb0fdc06dd14272f3f0fabc9a05609d2715706e819123aee83bf77f9855fff9be67b48d214c6b435b00149427a21de0e652a3dc824cb8150dd953d79d157ba31f10b250ed8938b5edc40ab3f8969498d23647ae97766b92353dc16f12135c6ec1b5a9323ac72cf9bd73af9da34f4eec402959960203ee4eea20d44af273e40e938142cdd4e571de55dbd901a32e664ac54101faad3bc10858df4a4e351414e3dbd10cfc95e3cd141fd6254db469e91d3065a4e171ebbb7cd9f41482c0704931ffd391f627e655194d04197f4209b3aae6f32a031a812fe67c3c15b6b3d4db81d85d108de18e1d84603be03aff16e29ea1424d1b67f4793331e0a19b77b37717c4079fd6ae1a0ae10edc2ec349eba1d8cd262e17cb1a0fa4e0570940d996112878fb5b8fbe7b23f515a3047bf9208fef27179bb2961118e6c07d64c8bb4aa1a44a730201f15da4e45da24482958afeca59c286354e9bd34d283101aafb8d81ab5d459d9404a500d2f0b2bd51c781520535bb89bc59816697158d3f152d71bbf2b251ce602de86f0986943bd5098fccc69687b87602ea54eeaf642ba5c9b6f09cfccdf5cb0f41f5501012aa3147bc531f003a51c282a3f18ceed374f4ea8c4c80cbef1f340a5788adcc85d78a7146b8796d8b1dcfddf33cf4bba2b79ace56fa9e7da7ebdecd02f671f1d889c599a2b89e3e4fcbfd3c8ed95a1c280b752904e5c0a78b2a4e0eb2629d58c01f76b9139ec9c2eba5181171b54635127d64d2b39ee65e6991f5a51215d1bf7e2e67d43f70a5fe8d99d092410f8fd6bf488af432006ef1c4b049d692880ff28861ef655d7d213a3d3c2ae9dfe5738a0effb5611e6fffb421582fe8fc60179117a43243c836383eb2b9abe5610add48276cc5587b7a65274ae6f83034b20b8564d17d25be8b8169b2ef117de04a9b1e021818e35bacbd83999deed2987cddfc7822b15bb072557886ff962c0f99ac3029656181bfdb576c9a4acce07e7ef34832bb19a3c55e7ab50a99306d198bb67809bd9b356d8fa23d625629e9d12a388ca6f3d6350374f63023d74f274a9d3ce23b887d3b643133771c40c30f9ac0e295c921b2ac86bb9623abb890a5290a414885cdd9f6cfa99df92f74477bab053e0ba4800e39275472bad36c3c49e740e5741949a3904c4e18217844bc3f67199818adfc4a3656ca3ad5ad6e8f7181e95e881e4ae6f6081a7642d5c496289da8559f22ff4c50d65c873ad4d9cb1a69155061e3734211ed6130962e703c3d035e07706a14b34e23e2743fe27b3c6f6983b55fc2b92a024d91e0ece844b2024c7fbe256d0466cc9df6445281effdbfdc2d1cf93b81323f289db416f0cc5e8cd431c07b5a1aa4b4c0d1c354ad50c543b986a9b186af30506ef7e2b4d9ff196ddada97c98bb8d62f0981f5887b64417034263de5292332f89817b7246b44791c351f19b4b4785725a1220ffff879b354f5bffe2e4d91dbe0c874e050a139321677611c01cee8d3ec1e3bc27f820ce8fd0dcc64215f8ce6b59208be7eabbd4e7d3766a1286fefaa85ce2d1745225d00a5507051ac09e63b9a10fc73217c286dfc0fbb731dbd92bcf324b6d35669e8445cd671099c834b93897bff5e81b1e7fe3f1371e3fedb7bf4d3b7a351d9a826df15f481a3b5770428ef4a97dce82939457482885469aec4f360088e07e43e4ca50073234a8a20efa352380379fdaeb9b1c377cde26f4db122c361fa960a354b3834e32c23b815e1d02e53d7d70091ec3643f87f8bfae53fa913cdea0c458bb435c97393d7eefa6755a45237d1122d9c0fc44eeee79ce54d3cba407f9d2aa321d1bff16424e6cc771cfb75f58e30ff06c21657dba73e6c66535a3279d33d2ebbf3f7b8cae35cf99516d26800e821128a846b76bfaadddb5702e6c0f2aa515b697d51271f382f3698c75cb294c468d4d4b9608b692f50ffdf342af5d8c9c75eb3ef2083299dde41f4841fcee6b5e0e9c713645d1791ce99d21347ea06e324a4fd872c0b160418c5d7078241c6ddf230268adff116c457a08812c1760c965d32765c3fc47c8d39b8b6f667046d673bbc8a943973fa4ce6b7d96482f2688252337fd85e87d90fe2075f8f574465ee2d790d38056121726afa35228b3591a65ab746c9eb9345ec93e3ec96e872406fcd6124670a584eda19753cac27eb200f88d23cd9b9c0e149dfa321a2a78b5b49b73637233c964f4dae312349ea3eca9dec01e5b834a3ba74be09764eb010f68806bb41a4f757223f1c1542dc128ce68bf73a28e215fdb2f6d0c7d90074d076daeb6c6a15fcb024d8743fb0c06bdc6d0d42586e8ac0015feb9f9f249d46b868abeaeea715c72834a517129b666dc90bbb89555ec9d9459ff023e00d6fa5b80f849d4401d11d49fe92e57ca2c6d46dca4a1f6d88c8bddc18c141c05c1ee8d42a1b905af9b0b90fc1c9d5b513cbe75031fb360fb6c0d9e91b006e68c9d8a79aa46b54c05ea0f08b286f96aa94bab0b551eb45e14e028c6f2b509dfd77d18d34a68d7a5946acffda5419f9fa4770c45a18eba61d3ceb1133c9a27a3c554e2733dd5a9084dfc7340f70fe03d950d097f34316f5b8f9aded930f10f9a979c4dd23064a33540931eb70e8b517629e94daf140b426502393cc975962dec608bc292810e653e4187c870d0321ba53c9ca5ff6332898f61b48e17e8106a08f9eaeca18688adc8630e044f017ac0c02a4450e8ce01c5a53d487fc2bb5639f78ea0111d176a7d61555d9912ebcec07c5098d488a84fb700fa0ae3c92b019747f6b45cb10510937f8b305865f79652ca24534a2925198402aa02b202eed7537ad6f81937e9bc1131d67f916ccd39a7f228e4464737342c7ecc9e65236eb491b2479130ba8223e5362723242e24a2407cdbb69e145dde447c39e77cf84df42712ba254bccb8f06fcf5d225048f47f42242322f5e348c2b1327d42162b50342f43a7f029a1edaa64254844fb3d9312530f8ca3f531da8f1e018518f913e2a35179f47889c373e5d96fd7bd770fda5d98d99ea6476c6bb24f7b0e5b66be2da8b556e4e2d8784f59619aaaaaaa72df7fda79c65fae199383386411a34528e23cf14f9d287a01451c3d0c01c502f784331635fa350b0c32a184e7b066e0628a20fc95082c8ff21d3a245f7a53498038330441c3a2d443278e2e841cb6366356515ca8c0fe245192f10233b67494d10fa9f7cd38cfa2d668c222d6469565bdc76b763a7771cf897fce58debbeefb7f91dd2cee2f5cbdec045fc819cbac8a1eb7392ecae595157e828b84be321417b3523f69cda4b5ce06dc15c8856fd89665f3510f41b355566624da421bd19a09ab158f5aebac81c8aaf2b4a79de3146361c6d24cbae918b5d1629166339666590d7c13c666acbabc643ab182cce63d1b1bda74635644eb569ff6bd7f05cd94c3b6663a4665b437bca456b6795ae9ab35c5025b6fccecfc5ef2f38dfa25b3edbdf747b16a60a312f6e131de7ac7b865380ce7ba4c042abd5ea894c7aa8849737d4b5c5bd8ec59a2d1b4d4ce28c6bf0dbe7fa80111052246314a64e7fd8f7befbdf7de7b7f9ef7dff90b8593eb42e1a6a696b4961691d6229292e23cd0372b3ab60e19f2a7a8a8177528282040748408988a0a4745ed3eb8a8b151eb9dd4586bed846a27543bb11fddd0e5bf0ec8aa34fbd7d40f6b6855e83f4f1abe1d7baf6b68615232e9d83ff65e45851e98c02d26c0493c569303e9aa6ebd59bd77f6721df3bcb5de1cf7d64f565656942c32b254fb7a9a72ef37891c614c55d7cc62ef7bbabf198dbbe67d77adb7ee5af3cdc7f418ff587baf428c551a1cd0aca6586bbe7bbafe5696e5dbe30d60e38d71806016204000fe2f46d3fe3f97df9dcb3661a34cad588efcb6dcfef474d73f3e966ecb4715e2c7e9478ee902a559bf1f1cd2ad02fae28e40256a2b47f9f303a5b273de7c7e96d6b965abe7d5384ed68ecfc7a1ad716bca7463a6792ec7e4e5b7014e2e4c4d6e98f3e4ca6f039da5f2b761aea9777437c83d51e8f1384179acb28dcb199fe6faca8057cb3a6e7be5cb6bf2e5aa797961761f2fc3219198313713967a9528f3d04ca292d0b8dd9e902a730c6e3b3601684be224b63d5919b93995a169573001cfce596e5d9b7a149a1f14754e4e62b28c73c4f0b726284e5f739818c5a6562e4e1e7c3675011d882bad92407ee448bcb5bdb5979bb9cdf6de6c7c1759b5537379f733653de64a94466a256ae702973deb2d15f7acbe2c47d4ea3bd64c2d6afdb988ebc53cd300017baaa019d07e4fe4baafdb03f80414f1a00e1bc255a60c5cb0151104c28303a4c7ab05dae3f40b0a5d0001bdc2271d205eca0263e468490125d5e4518377e67e09c50001f6569abb202affb9f98ecc0dcd78e4ba9edfd96176274ceb360936f184359b798e1468811e057e36829d9f9dbb9fb36c82cfe7dbebd2b433167c711f26ebdab46b2baeeb9bca2969d6b9b3c0cd5763befc63b20e923b7d007e9ddec4f4bc250d1621e5fa3c63332089487aa3f33bda58b5305dcdc9f15acd0565867d7b9201283ed386d8288549efbcd1fc36042bae29ea88860b439c56979d570f2ce4163030df1f74e17c6cfb5b5e179431396c6c84b2c2e871e3e175e569150b12251d5a2160d0ac5336d8bcbbef47c7443df1c8d384cbd3c5001bb338438c4db63059c3baa0dcfbec6ceb080b22672b4d9c51c91caa97250c8db18a13daf24a19ade368f774654a99965d9cb60ed81e3b527c9ee4b192c605b8395b6253f654642e44f32bcb1329256a8e1cc16d3f986d3eca8a6bd98966d58f3f4f5f846039da5adba1e54f1dded24ff20387de164d7f9aa6c306bdedc1debbd0475d2ccc0fd0b8ed2ffac5fcab7c9822218a8238ff64eb09aefae0844b9b7aaff50e06dfa1ff81c97f79d607a58a354056fa9a7a75edbd3337dfcc2eec4e3e547d80f2a189042444eaaf220372a6cd59220b71858794a8b5bb3d5f740871b3c6cb0f3e74cad26459a3badd4d8d11a905b53c9065bf59538226216bcb81c16387c212253c9666657594c39f511d692505724739809bb3e96bdc9df30537b7f55765a8982918a3567976417eb7b5dd9b63e54c00c47593a43096b0c4bc61a356c60dd958d2cd0715bbb86458dbd7d2f8c4a0782c1ae58c6fcfe1dfe1c44616ccb8fda36dc66731f9878aed475de0d0fe323808f9ae00f7c03b5235fbbc234d79e6d8e87b4fba1a52b8da173422c9155af9c0b6c5c1b6527ec6df2ea19f7f74cfe8795c8cd5ed36c4aeb987b6964961d209ce9cb94d79714255c4494507ea69485a1b183876752072ce3a0c5f9240091793397b6647b0a07cf6f4f041a231cd91b3921171724f87571dbab42868ca9e531d9aaca481eb4206b9b676f943443442cdf6d4ae30328b69ebdcf64b0ac6e563ad1ad77f219832e34b1f2b53b09ccb6ef8a17b8acab3a6440a0fbb29264c3c3744ccd6b1343ff348a3e1a43d1d992f9a9611e61392206450394d74bcb83157a61cd4c612f49302cbfca8e6b4a6d79c9d1311bdbb7bdf443963a0ce5a6b0066d037bdf9d0ffaf85463973ef75d6dba3a8bb22a59b485c7dca77ca77d72cef2946d561de46df280ac6adfe36f61780e2ccfb6e75c67bc53bb7abcfd7a29a6fb7ffd03cecd3907aeff7d7a8ba71b1f33401b6f400db6a90efd71710ec4c5dc2c5c767c103e05567e8877cc839c75b3254002bc0639a85aa8335b574ddf14c22d1f07dddbdf7d74b7b8791c938cff996522e161c952f405af090606ea080cb3ca2382c17d536e37651d571c3c4bed9ba55251503636ac22e9d8c6f2244242595401391544244523742ca80e6c1a379fb792dad5e7b434343dffb21e01697140fa0af22aada2bd605e9f3aa3240ac0eb71292f4dfbbe69ba79c6fce79ca3bdf5380b69a7d5a2f3224d74a33b31e61bfaa824c005a6c7c19c4d805e707b61735404babf78e736fb55cb547d498c16050e8ffff85de6050e80d0a3d10636a2f5b735d6a06f2060c282a2ac21756ad3003824b3756ac8d0d6947c06b4d0dcbeb5aecf0b4ad39c75863fd39d61a6bac71ce5a73fcb5cef96badf1d6986bed33c6a998bbf17ef35b5c4819fff325a4c75108760a143c851e0c6a313a20b01f597a20fb728955870ec698638c31c69873cc39c618a368440c18135ba48da5a6bdef4af2f6b4f6eb8daf0b0cbf02203665cd7aa2f225005718162fbeb0a4ca95660ae3bd31de1befbd31c618ef8f39ba7251c162e250bd0b4a996669066981fa6d21f975f548b02763ddf9faa4bc7361dab9f0a7854c07f0b5e7bdf760555b0daa37deed6e77bbdbadf5d6db1335c0d02009d780e9c1da76494b7cdff77583ad2f663003237b5f21281305da9ff9879e9899dc0b5361e742f7eb4c8af55d6b8773ddf135be39246735e7fcb7adcb22f92ec93c11d51befbdf7d61a6fad37df98e39d775081cdbb1616d85cf72e7c377ff52b24c1abcd2cdf17f830a7e9de420b9cef3415f29c3786ae80138946c160306884814834c240346a5da2c780a26d025ac960c7f8a3dfff8c71d59b9c1886c245886d12dc14d5a6b5b48dc0ac242ddc4d99005402f39600100c8603624192c3200c623810b539932ec0e896d0724289ffd6a54c57fa1a06e11fd8e6c18c02804753f15f4488cea9540bee0150770c99eafe29788ab8dbc0841326b299ea7eb25e009186e0e8ba37183991447e53492910d41c3da63c2655bb79f8d06801c7e9c0195d0d5b05c282ea53de052101df5e0a496ce54034d779c91c3816e4f45040c37e7321ae6945c9c70f220624e30e76c2f6771c586a101c8d698fd042435f00781f9b3ea218bb7fa664d1eb450838e10a5183f90b3de951fbc24a18534bdf63f523938dbd2bb77eb6acc07e893d7b74cf0b66c73b215d5767648118c850862076144d204bf20d645a2d608ffdbe1f222a86d48cc4f667d80de203ed47511f10af548040f8e8fca0d407c07cc69f097d51121c12084f22df67a117a845567a251d1eb0bc0c5eccdc4a31775c1aaccf65e26f4423c723712a5e9f0f4ea0a09848a57be8ff612c61270da3d00ccc123d46cdbc6571ec65323464d15674d2886951f0ee90a41c9536cc78742570d56410526a0e0ae245c7b9d9079b152d855b038ebf1502b2ddc0c428f506f86c220ab6e3909af3547b5b2dc2849441bd0f40d74bb0b4de70fd1d5eeabf0b57496f09ca9452a2c224144a870439fa8bbadcffdd6b1846937fe70e64a3d2f54a438608b027c3a9a6c12cacbcb7add8c3e489aacdf1c1f23eea5560c71664a917e0387dd74cb1dce3759df42acebd3f686f2bc32ee8c2d7ea70413405d598802b500f70996bda61cd548520f92a71e86110626a49d3d3a47fe9bc9ccb5aae89db35473521dc7e94ffcd9ba39d5840f9ca1860522e5c6387308abc5b4e76e6c5d168336ef4112df44c6e569a6334f9e0bcef51f608b9a327102649b13a82722adec185c19ac49f2623108ebd159269625eeee13442c45a3c3ea6719a1d826c4e7d84a3d8653ffd89dca1196dcb06ad0074d00e241b7524469f4d0938128902f8bcd33c147e9ecf61d96172104003daf80b309869acea698031b285011c3884ccd0124654caa870ab472c5c18e6e399275dab20f2b904f94dcda203bbe3c0ee10fb2ea68c40b58542254a8dde55db1ed2a9fd0a3ac07ca23b6011429a6b32fa99a8acbe86ed83c672d12eeb556001a34ea028e6d6e7e8e2b2eb3a6cba7fc51c5b8008f53e80d2c19b2f5c7c8dc2dad181d73369b43bd07e0196cd988c43477bfb0cd987de0ecb1f948451ee6fcdd8854154193fd2d7447e0ce136852631ec7d899578171f398e58f820322b2d38995dad60221228e3a6e9bfb36e30e342b6fb71c6c46afcdecd38c5e7a7b550078c2ac47bd09522fe8ecb3ced3871970b6b20f28e1d38399c290164b928d63586b0f9a22c610211b76d325cb2e6047d36e810e077143aa5cb7170e7aef9a07a94fdd12368b2b21f69200e3130ff9d38403aba00a3b25783ae6a60e2fc790f2ccd44ed7eb1f053f3e88b507f051b5c57dff8bc322e9af5ba083dd70ecace75da73d1ac8edc79f6e94dbfdd37fb226a97198dcedf44293e7e188040b1380ebbb30fa1226101ad501550b3e2638c84e51f19256c80a02ee22c0fd3bca7ad0e5d906468ec7ed2278d607ffa46c92cab8b4d0076c15396b58c59f1c0680f214bb9fd538cec0edac226ca611db2dfe9c11babf06c3c60d6284922c7be11a072ec489d60cb871c5ec83294a9abc40a3ff88c77ead916757d82c5220f39f65d901706edd49117a164c379a86117290c206decc93194a43ab9ba08fbdf102c8ee1448ec4053e11c2f9009b87a82705a0fa39f1495d8124897dc3d209ca325150b4bc9ebf4121eaaea46405525ac789a2a00f80c84ca77f053e5e00a74d59b8121f7f40da1337046d81e1d2b83c1c7ec689c986260dfbc15b85e0e7a4dfa4a1990c66081356fa06f7b49dc212313e21631ccc6ba9c5c3e049759e66afce56f354be80e0e95f985373ca544bd2600b679d976cc49acae20731da044ce14a7a05f0af031a2e84efbe69c0b7e7a10dff03d847f9443c613bfc7c2d189981438ddd3ae6ce449ce362fb4695009e6073181c531226e97361102f411f0f03406377d0f12814d8c3cc04cda550e03c7995a7a5188967c7feb0555da9caa8c2760e78528df72d3520137b54bb5da13c0cb3efb0412739155dad1115ef1665546eb9194ee7c9c5077d40314b84e1fee022fa6899cb60319610b51f9058af69871fa01d9edccc6e59cf35dbb45e1d358c4d87315cd8ab7b6db8b5af6d7b34c26a149e6d1af270c8a72a549242b7b2dcd838424742e02ffb43f4fdf85d2420e72a9d0c919cc5f59af2f888c3782e399ff1afe4a5a19f2aef7d540bceeb92ddf3de24bbdfee8e7fd2bd821384785617622ee8e2133dfe0d2ab77848783f5a826d0cae53ad924596a6bc700f78c072f964903f0811e77ba100ff642f9316f96d1de8fe455350c90e1f2cddc1b271f32c7bcc6203b9b902f7541c8e0cb0c25f6285c26204f2aac913a583239d0d80570653b5695e2a990a0abdb905d2266e81b455bf63ca02f4b5bc4a0633730c818ed08b233d8e046000b30379220a23489c0dfcc478c3b94fb6a73751809bfa060b9e140523de82500ae95a994a0339e4b62047e3e92154c09c918d8fe0d3942ab5f81732262f0c29ad8d571fb14304577d9d52ced93b4591e7bd610a381cce33ff4daa435f3c7d32722b290daec054d97a8b7d456531ab5599a5ab0cb8398abbe8f8ab540c23f4503bf3584a546d0198597c83b73e0f8f46158ee817203913f29a4c636e63ef171d273627d9ac1aedca5fb8938311c3485d379ed7d27129693bc4b5770d3116ed4ec3027c571e3640a9101ec3c31ca75dcd600fb18881adcc006b97ede93d8e3fe9597a6cef11f68a7890636c7daf9df63285c72048b6e9d476a61ff694b2417ea23e26caa0bbf22477df6baa6c83ef4bf4563337fb11055e8b19e5a9fb2ae47583cdbb12b5ad840f605e626ae60861badd74ae11239460db37cf97a6624e50c5c5ad5ee2386c26241fb10c97d8864346790fbe40f61a6c5470b23d4d54821b9b22da251322f0a72143aa691736dd22c002b70c9dcec8ed7f0b275933b48771868493f21263dc75e3300cb3c9b0a63197188d1615a48487d840a1346c4809371c94452328ede371432074b78c5e246f170482325b6f2e981833e26ef428f053d1d3634d0389fb4b924cd19ea93b8c87e340edb11ae7e57a39486c4133e964097893e491a3807ffa451096c7f389f133d262ce5460c3703a099d05d473e97b77013ab1fe403b88ed109055de6ac15a34c15f67c724a277fb9664e7006abaadee209a62aba71d077e7c44bd052ca812607c6f5df79c6041e102093d2a059650171022b45d91e76ab4eacb69aa30ba725ca33fd297b44cab676a138980bdb2727dfa71a6d52047e6c0342826f5a1deb45694db9edacb47545ac2a0a07e7f4c2e12c4c3fadcd6d024e968b4ab171b491ec52f5dea2ba85ff07fbd70c8bce40caee64c32fc674c1dd45bd659c2a32ca8b53715d1020746b408e6540cd513cdfa098979888d94369160bc09a885c34accaa699dcb96b06a50b7aae857133a15ac7225a361873552095749e50783ce775467e018cd0497e0d5b6876625c385ad2627484a016e142604246a0bf61deacb9f348adb4e867da21642722bae7e07a936d66c8de971215dc8e81cf9fe15f29e78005bcbd564086e21140822d8ca4ca1babde6075adaa5df5120bca1310832f10d11e2abdc1c635436880fed7813fcfb2dbdc3dd853692ff0f115c0378c0b64517c25e079bcd95d84cecbb18e99d26b2879ea9a59ca66fa7250cc7b6ba50693ddba8cedafdd1d8efebcbb8c541aead43e0387e6384186cb30b6bee8d5a634aad930124abc01c6c726397d93d7b8c2212d82e53794b80cfae927290f99c2c4232340119465ff1c1642e7e7db350578fcbd291c7fde91049d107beb2eea3462f44f6d3a2dd1fcb51f91ba9c312a4f4afecdb0d8d17c1d8416855bf7b91fd2f6ad31241de7179123891353339cad00c27a32569eec3619397d8ef718fe8e32e2509f34d6d0f2ac649ae814e40b9fd6700c7851863ffc5e75876c4464da8a734530f90f9dbb12b7c078da7284995185f0cc6ec70bd7f18064bb4989f129fca1419df94c76a991c8ab4f88820d87f02d42c936744de5feb892e86bb2597b33ac365729083573ffd85edd514099e25f3b64c6e5ed58feac9f56b7d65728e891cef7f9ff9b4e3053004631e7cfa54f1a5c0ec43234b2dcf29096f95b79a11b30b54fff0b52b2f91727b3fb008087286e1a50d579472d3c2bd1ba7036f90165d091d591c4e7dc5818975dcb83738cb72db5812859dea436fdd1b0591b0fe2508e3e7f29253b5202d9c743ddad1260bf753d81703a49581a79394c32dcff8e72e8283a92679aab78fcfa65366a1922470ab30acba173608a5db663f3a03619d2e77502421863074d605575e8824fbf9c42b3a927eaa92d86f17c8024b7058371464d49a7880cf9af9fcec056adf0e96af48209539df55f88edbd9d89a413fb06e00f78b8f518ab9f92f956f4874b97e644b0a0f33f651e7069d51b3a20d48dd88ddcdb51a424ec76ed7f4aad61d0c7cec777df0cf49b0cedd103d66d44668b1789a8e0302d8e4258530d09208a7bf3ffcdb4949f56891eec40e39df99d14ab4ddf90e2d09662895aedd874f4ee0afdd31cbed01ed5f0451d0816b72fa6260b221a517cc019c8b48ae0021037019ce83351703b06fe519131e40c79bcd80345780a6d8f9683cce394b02a22151d46da3ffa1bb23a8dd461b30b999a89148af15a58bbfeba2689a3995015263d381a579cc6d5f6a586f3af217cb53160264e89c1591d3ef4f7dbba91984e68031063fc1187a54f9bbe365d2a9cd55b02e611ed16b1d74152a0bcdd9379e58f24fb0a0bd8089c848eec2d8785c3faa64ce99593be996d9b70efc0704cca76fedb3d182c1883b6b1494652f4cb3859544c0552da29383ff574119997ac103e71aa2b485432155a660bf14c8e1aa038ba381d56030006fd667590356d36c8f3c0a0eb42d1b7c49472cc1368b0317b50f499bf1067f346bb4181cb40610efd0b88705bc476d8f165640bce10b42a82acdf33ea33822744dd8f0a20e1a9eb84e677831e52640dd915dbcf0701a8628bcb6384409182622333de5cdd31e3c5c7424ae07ee19a0bf5a91be81b083bd802b595013e7a0d7dae5a14eb01759d013be70f6979e51b548cf4efb444f9670879bd8c418dabb967d06089f81aaece19231c05c365f5fdab2b0f52c6f2b2793ee189a95e7998631406eaac33e0ecaf04e92338a8f6e3950a086a6f4854e6889736a0fb08b420a200f1439b04a6f1f38c6eaa1513becbf43fbe7416140b1531878622925adfd14400a03cd8efcab157e3a6bae9574f965dd0bb3d4a68bede56f79f3d8973013a9e917b24fcd692fa81f84c912f64d3550ca0c3660804ef999aaaa44e2ade814ca629cb40906a80b8c9560c0713d6a06c0481f23f1bc4469ea7f2a2e09c2136ef087b592278a2c3c1d204363d86710567812e95261735db3abca56cb28dc34bcd23dd1e588d7a502a95e20c988708b218dfc0d403abcd9b70d1ce2f0f4d0737b355ee718f08d9c3873dc1d233440d308009a980856c3ea4203b7555ea03ef6865d8fec2e4bbb060c60f5ad43d200bcfaa0883074ab01f5797b70296326dec5151724802eacea0593115e4870ad54e5f14a8544a21728f9c324e9c52b50ada2d74fd2fc6fd586db5f31948f75b323e621c59b9ae0359d19d204c62bdd2bd6744193b498821e101673dc30849872d0058920f804856aeb1c247b48de5ae7a5f2eda9da61e7f5f74885dae3b3f382fc72426210a56ca61cd101b3d3c519af881b7c5116b2a4e22d71b503a6868afb22aaca4893cb335db4cad1c1032d4f7663f151d45593cae8bde1119d85b531a1d7fd26a84636ed2c024ce85cd756880250d7a99a095da7c040257871d430b8e298896b1c7ac1ae4d7864596f2eedba4c0cda954e753d64e09e8d3f9e7f0e4614ae3fd131bcda90de4aa51116e5a49c9c8542427fad7df94f6229505d6f7069001e75e12ec95e507f1c9080c7ea8937ce379f0112590227e5a8bdcf31264507e7e38a1052d0d4f0e029fc17b9ccd7cd568799ee88c4534f74879507a89659cde071d8d21624886da34232027946c432a7115e2359fda5e71688d48528cb0350df361e386ccb6217b2f200d88722c81a5ffbe993119d078ac69075aca0a12434ff28157f0782ca887c3ab3009a4a8fe0fa6b88df2711b19466d1f6aa3d8bc01fd02a4fcf8ed6409f52ef19145d207af96da0f343b38522842de35c718532d1c7b87994b41018742d80ac0ae29104161b21402409fc975048d8840c3c6672e18198d006d6ee72e526871f31e64392047cd64020498029418fa0ad47126cb7d3aadc54f629eb1f848ea9e9e7fa1e2d8923450478d2bdb18e04bbee068001f45a8abec7bb6c592a1e1896aa3aac1b2c574db067b55fea4aef00647005d8a02ec8e0fc810ea1e737ae5aa4a5358d07c0fcebc20e5d731e037c6dcf566011ab488a951c5a81c58d622871a559cdb3a2fad21c9d89267a2b08cf5413bd4f109f91267a93d830df2778290833e513bc148499f2095e0ac24c3f6148a96627effb55b6fd4830f38d83e76a6158b79279aa8c74d82bb44ff5c0e185f6643f54c28b5baca3ed1799722432f30ac07e6efacdda6709fe6fc0747db2ada72f3bbd68b41475ddb6bfcfa8e70ea0f2b6df5ff80aab62379999d18447c788d132a9a6d694710b1cfd55a22c6640a69e944f66c9c78bb9de68466b638262f2eb71824a6a3d0b3864c5cd1a98bda90a46439f6544523541dfed1f255200e023bf06efb31f760f23989ecf9d2868bf4a83a45a893ae0dc0bccc652daff5554d2fc0e961a980ea650bec87ce95a7a0ed295dcc023a25c8812b5d7604e870fbafe87681f5993eaf0b988c9f6f0140b984d21ef1ba06228b97145d671877137d282ef4cde50f64dc45dabe5f4d9348c2a45cf3751e3a2a4993c51ba33797a65c95fe2864c24e9ea2844ba9cbb5ab3effedb20fae580a6ed7f5e44a518334f8673a44be0e5d821e5414558411c755b4070ce1de68a0bd53ef6fc657cd65e594ae2fe4593eb39745b73dbf8ebad7a8e23954e04b3fb21402afb07bccae50a2008971f0dab499a3ce174462a29f407902e0acf65df09cfa997f0dc2cba3f701744142194d72c9a4cc7745f29438b80c583404c5955f707f6f28f954541d64fc9cd6b9297ff38b4b3baf00fac3e1fe707a806ffc08e75556ac582971754d54da06af1b798f00f4088d7dd1edb85573be89300bcf98138289600b8ca1d77897da497051bfe014cfa26d85a87bb83d7562bfe01acbb00417345955831a63fc093fe76b325cf523aaa9ec2c367a2d197159ef10fc4718e4df4fbf0cbbedb8de577bb15ff26cae21f8883f2cdb30da1ad0ae995c9371a9b8df2bb38ec565f64c9e9c478e4b8391912bcfe76c81aeaac1269ba7007762a7dfcd6f672b710a45c8c02fedf86ea970a29e49c3b59b95a25172414853d869743e94f405906e3df9071eba175263f0db8ffc4c86cf270c20d91e94999413d9ee59dbf8ba0e58ddfffae3e72fabfb7855f09598df2bff36602e30413d2d180302fe90300782f1b7ea001ed6e8698327fb76e03a2af7d1fe06ea2ac187efaee3e528d902c38bb25acb7b7fd4206ca7e6581aaff5dcd30c2aea8de68176e8df05c251408dacbd1495e981f937f2fa7f18189d3e475223ff58f2b12c1becc67f69242faa3f04d4cc4b7ddf2b1315270411c522e32ac5e7d8a5058afbe4b23c1206e87d38f6e2dd3124c85a9077d422ffc457088277a1f5898f63e3093da0323ad524dd8793b2db5cb7d60909bfbc00c9606f3a4ad3a7ee6721f987ff3f7f098a45e1d17439569e6eba2099afb40fe9305c1909d7929a72c9ef677606270f6544fdb7486c5fccfe23d46418ff3614d4db7c37eb11a1dd5c320e72d90103c10f225f62354acc7e881606800981da6fb94ad5284a8ab08f76d9eb2a9a327eee6cbc0b83e1e4c6beaf3e20fb138cfe097a7cb4d988eba77745cf1d8630a8d8cf08cb846e6ec13d38f07a211a7c60e748e2ad6a3385b8210c1c056482585a94e521ca0a6c2734a2890150540492adeb42186f3199e94a60077e351e80f28b5ec73c131168d492a0c93e1c54355a3d025bc3f66ebab7291a732aa4bb28be8d3be407d485b48560f4b932139482249cd24536c9c048092712c8556ac83e3d4f5891637a31acc9ce10d1a19e3c4577945983e989c4fc0ad0e9f68697358197ca706a1a77d3e8fc757bdcfc427edf58d541a2636ea4d9bc355d8f8a447563b74b8489dccc6e2a2028b7c3c65210e54108f660e2c0b75c79409669bddec1ebe59b29ed4362d12b987017eed9428386225dd82d85a02d59387dccbb86880371423f2a2c118736ed4602d6f6c59bccd3c6203ea42a375ed486547bce7c6c4cf2d3c09b77c72d0772ef29c9bf0d4345e7e4893422c8f00c5a701dd4662f2103826812a0f877b289e23fe615be65e747f185f072cceb66ea87a5ba86f0a01df9088fa9d09a7d24ea8e76fe3a16a56d6038e6db55ad8aaad1f16efbd56332b4e82bd3d23bac25e44343147e4994c62ac11d14bae3d0cfd77d95eff52267e4f94a0f694d1d60c8b5ebb72523691a4b15d863a3b78c862b77eda00d4853dd0a6758376ae0820936907155512a192c7dd5495ad0858aa02e0d4650285c9853d2763cc6ae19d9a31fc8b5744536f9eafe3161a3febdf8d91580cea13b2fabfcf130541c2a7e0020b3f58bee844723f993caac254e4a7e81a7748a453b5ccb0f6499cf308a7b8ac8b6933cc5d2791350639441a05260a2dfa6557d038343491d526c748c9fa53ac0982ef559ed27ae7696ed40229020231c134d20af2546e65bed198a891075e449106f2410f06eb2fe07b1358ece1f3309d76f4a10fa033674c1d8ab5482cdf21c3e9d9c5977646668540b0bea47247fbf8aa8c1e11e88fe795a7a8a28aa19dc128c1efc7ea727efb7c644e23ca2616d752742f4a9110043c485b7e2354f960596379ce59c63260af7f6b81468c8c7275f7dc295e598046c2f52081b174b1869055877e36167c74b9181f8894a94686e4ae16a7f07ca6d5e007d35b6ead951ca94de716594c056fe330d6a17e539173f16f543598217a837a71f7b6224152e5fa58cbf51bdd7157408145b68b477d2d95d81642643932b881e35ea9942d09b4d8577fa494816dc4276c8fe6f59ad4ce487bdb4889b622c2838ae3458e5bf6d7cffeb6febf1113b876307050f1421cf14221d01ff7a82095f0f34bfbd6f906d50d21a4666e2484d43de626bca6449c1ab7eaf4a1598fd6fdc60acfe218b198ebbfe9ea3001e5e76892f6c1041566d3a57258296e423c896e1853d9b0c5e495bb1779a2dae2d9d1d62e4bf02970144334ecab957dde4fe66e5d632b2f2c5f488459f7a675b35c6a629afe22314b9b901ba3244b96d4bf1a584296e8742933f91d9356bbc8296b2b179d1371ba0872f1d61cce384eabf9a18ea75a824db6c10b4820b289eb5dc27eb42971bc5761622483e98b4c5cc7cab2a4998b2cf2697cb2a8d5f4d38e2e0947258120ba135604bf25baadda337c969c69e8373d79fd07feb6d574ddbea8733a99f28fdad0a41e46c916d38517b1fb61f221814a166f43ebd689a6d702b2eca6436e7d531a3683b62b30859f43e8cb242149b4e3caacb79fee135b5a85431455517d6c84a800a3f3331161387bb3d595f835a4aabde8444e6e333bd088eedfec152de92dbf5477c564210eab36da8022bdb00aefe00088ffede090f9ae60911143700618ccef71a7cec00276fb361d8eceeb3413778c386325ba66d1482287d2c065271d6a6f3b838a904931f190828470949e569969cd5b8d1ce89d766b184c5e145024b4cd66f7b42e370b93da4453d328dccd74730e2375f940a859e14328849c2adf48d5425b2d79b0b4374bcf8ef6b51c9e3ca01ff9e86203279676b2396cfe8a6cc7c1f32eaf627eb8213c97c474c8b1bbf06f5bc0b73653bbf04f88b16b85d1db65df0d9269d1a8bc09b7adbde1fceb5f74ee174fb845b284e7be5093bdcbbed07a497dceb217b8b404cfdad3fd590c398510f2c9584000fc82435f9e28246f231553939d9034baed99e006a3a53126b6c582d3477aa4cced44f0e202970eb42bb3a6a4dc998d2e7a91652f18753ce7017fb48caa814d08c1b68ec6267446cbae2772738c9a4725f0e6821005215b5243d9189b67a7561779b3838213ec3c5fef8c3f8968c888d38f16463c5c7392c305ea6a94d0e1b97adeb5bf7124c3a6ba2ea4d0136f941f786ae507a566517d251d5696bff7210c9a7842248c64d44ecca9c2c1abf1561bc63673918adb457b8f7d25b44a1ed0e2cbcaab78027806bb8838136d053f937c942d754ff3e3239035f9f010c34041a879add9188b226b520770450445009b5806f860ff4e32bd29990da1b5325d9b0f2058e8b07e9f6f0583f985c4d10ccb9fb3a00fe9497312a64114b4ef6d3d7bdf39393ac188fd5ebb343d2a2a1964c25aeb8d6aaab358975e96ecec01033a81e8b566d9678b936d8d60202d4d09f4893089f16644914a6d9f4825fa219f20a0f6551b8f9200c815948426de70f21ff7a2c61b1917d83a882ef20250d04d2190ab123433ba806c47aa35834f3c9904fd92157b86eb8ca310582c64d4d991eb4395c5fee809fff45421acb55d80c745bac28de0e83544e2ebe7ac28428664dca432d500588264d1ff65a290c418015d27d8a94e593ce27bbc1c51c4eb0c3f72b5ff395020a72db20190feb99e9e3a1d3d0c747a6c0bea61df2bfffc1abc43cf3940bf0ab14a08178b12862db500f48873ac2937edbcb69f8cc179550e778c7a48fde474380fa0ecafa275d494a120a9d40a0f1d14c119e1af16731536eb3253259d57d67dd9ea1a7d3e10cb88a69f49ae5b6ca63c5875d69c4d81f5c8eba80f47a91a7266d5b0bbf6892f08a8e9cff6d7e35b2b83936788aa452a7e30e82bf51377e678c7ad4fb84958c3e8d4ee0d28f2d958184b96f01a393798913dce3d5e91af80a08a4dfcd9134495ca29800241a7009aae15a36b9a8a6e0971dfc11e881d816ad503006075d9d4190c4b3fa099ac956f0e90eefae775149801138dbd824e606c0464039aa9dd554a30a2d574555cb526e138985cd568e2bf1faca84b70a9060ac3262d08d5dd31fb09e9cdb2e9eac1002804d6f95fd51df0afb802b18a8036106c229b7ddfe7d14b37b2f7de724b29534a29460548053305ddddfdddccb3dbfbbb3ba87fba99ccf4ec71830cd9a7e65dd45fef67244b77ddddddbbab37454f56a45ae8b0250b866d0f1cebeda5a5a5255abfdbc16ad769ec942255e70678664aaa89e9a6d449ada56952a294504404f423ebeeee6eff629357f4649a4eb3a9032026cd9b68d4ada363ac8b76caa3a45c8fc7810e5ee0a7bc53f9f846f312118dde74ebb08c413a12a23d06164fe3800a1acdc7b0b2bb4cfac4a5e1e4a9ddddb9b7eb6279aeb5b55e9f50c6c53631d21a81929a566728feb524bc94d60c73648dab71d2306c378263ac7a75e4b9ed2090926e680a265a626bb4312b3ae1ca2421f13f6577679db24e8fcaeebbb7a39f37a5f835222710bb22505011155ffd0cfcea92bde5e4949102e2e85565abf25cdfbae987c67d5ff883525e10e30b2d9ca69211b8d1c43125c5cb9279975051059ccd31170394163ae7ee621f9d40c71acd75d9f046d1b0515764d76eec0e751714893e621c45288b0615a39da87f79a856eb9a91d18d879788c8b5e466b471d58c526c7eb0a8e34bd8ee3c7d03b38185b10d60600483dc5be586e661e6939b98dc2b8ad65e70c3d5c5205c85b070d56368efd7cac0b630603bb6c207bdd152f9fa7e634035fab275ed0996b794b03bab0a80fb0c61addf6e7387039ad371020eba394b6fd2bba2682df5ba2ea8d60dd4b03329c46d00311a2c46931b40ec93ba81136fe0347449499b727144269379ed2ebb38edcb4016f22bd67ffbb513a9ec0db1b75c0e8ad33bfbc6840ab8731e81f2810ce22ccf1903efd1cefb16c42e06ced91904d85deab2d788171bda0b5a4a9f1e61496fe52a4b43a0626b6aec35b2198dba86c8ca1638a2ab77f5aaf36297adb5acee0e2994982a4adb5adbaab7032f064aa7ddb8897674b35240aed68629b458f7ae42f0d21ba397d2171016a43d72d04ae58c524a29a5a07f57800f0421ebc0da3dfb88f9843a779c392c10cfc9b55a669a134cae0c935c99b926f1a92a59aa0993612631de9aadba2451ea5049b25c2169d5acac6df744db62d9b8e83726e6b8cacede8fe021dbd67a918d6089d1ee360bcdf11ab947e48dcf5ec1c67192d78a4b4e794ff352aea7991fc87f577fc3ffbc91b9f897ffef49298340178fbbbfbfbf772e690bc9fb32890652ac380bb907ebd9c30b0d9ce1d014f6e647b10897157d7208d184e04f1249c08f8f3191e66127fdd8941f3036265e51fc39b272f4d1217c3c6a82e6100e1cc57b6d270990f32ab762b4ba6081994274c222c1ed43bc159f5a16275bde106cc0a730383a0d73a4a39191047d6a8ae6de3934ee1eae8bbb920dd57f75ca5a19d99665d19c4081e2a2146589d9dbb188e5adc225de570147292c14f3352ca59456da51ed474ee5c8a950ea2ce9a44ee5c8adfc9c73d28eaaa1de626a81ade4ddaf005d675b23e830afb02f4b346eef42b0c1a1fb8d5eab2ed99aa8a6036a1c05ab478225014a8dc763c59b56c3dd32c06e60adb165c414bb7514ae9fa66a8e01290730122907448931922831187818090c3c50ee7db2c3489eec882c7a9736713192262e6b95845cb99b88b9b9ca36b554000e4bd466fbbfb1f9ac15c5dbdf0d4b73e49d1d4556a423ae479caf688d6dd9d6015fb3ad6bbd82366e4d0d91ed6eca566dcb69f435a56d3d686a6a3848a09125ecff03493a028116e401049583d22c021ca46e0c6803219efac3694a8885ba0a0b3d08b109313dd9c35a26e8158bde5abe312a7c7c78a742d8e4fd398b72a4a77777e45e56911ab26e283ef5bca65d7704d66a2a3f0c54010261ddfb7ce02c55ca4290897d59011d03387ad81e6bcf1b6d13a375051144fcbf7bfbffff7ffffb7fffbf13f00678c5d2a791830f5d1566e87fd775934a59682911364b4b74531c05760f1c304b3c7d7108b1d7bb7990c89a451d59aaf0d972034815631c32a6278d4eaa56bc41ccdc4476e77250644bae4e9e74cd739d449390ccd2cf781591c31538e0b4e113c55fd78ed8d3e4fa46c171a26cc37c4ef7397dcee9eedeee5f55215d47ff653299ec25570a8b1dc0c337997c7a0dd133e69554851128b494dd52b694b2bb2bccc00173e792c5a1e2ebd3447707d3da1e4364ed7d64f356ab970f49fd0333337328aebead04bd6e6a5a2b1b7b7d0582f38428af40fce81a53d2adb614a629898b1f51552a2aaaae4ea6e80d43baaad590b42871b17d590a736bf2a34faa56f346b752f3a3dacb88216a35afbb71e8b8bab960ceed625f2cc2c1e9d7921c239d570d4cccd1b92e0b5b55abd3ea998e8d75ddd8d4d856789bb50a6d9606ff2a53cea6324e779f3d5b8a6c6944124b95c6ebf572e1bc725e3939afdb5abd725e2ed6c5a937af9bd7bd79dde4bc603620ab0f7002b984bf129f7fc7b993f36e521c913b7a63124cceb9242971715ff2a46f86e3bae49f8394d29a94c4c5b6544b5a72951421ba47bd840619bcd1e85a70fcbc298533f7b46930c44cdd1b1cc5d78b82866422dfea7eab68af18bbb298ecff21084a5fb6270879d9c474bbddfcfdc90998cdee2a2c1c82c2334107418f8bc0cfab4939084e3a35313159a626a7292de0c053423414ec88ba5be4d15bbf93ff8f7b9b9ae77fbbe17cd5555ee57e6b620a73f492504958b56045ba5568b424b4b79ad52db263c8628d5ef8855e0348d6ebf5dcc682b9e39edcbfdc6e6ef3da8da9c9e6376f729c3fe5b8d8ead2ad71b58a3461e0e75567e77e9b1af88517bcab1518ded093fc48211ba044695a1f8172f42a4643c998fc6e58af94b2cebb9fd7ae4e4a69e9f4f1c1d2e68471034443d8556be6c928a5cd55fe5387ba98a17f70d9fb2ba1099338b8cc8c5220d9f7f9e7df6d7094d1af3de9d56e9451245114adbd34c43913f6547d5fe0bc9d9a26d3ac999a1c6c2de9c142790a0e89b14545545ebb06ce8a9adbe45ce72ef884f4ae9b30cffb68f78d592c95b0e6aa9ce647de04c3a7d371b83456a8cc39a7804fa737ff7f65815d7f15a0d6da92cee93eaffb7c4aab7d6a2995b5ab89ea2a7d52af79cdaf38d26406655fa6cf1606b25806411ff9fb3ee72571c1f940d51cc94995df1dc61b42440981b904505be7495c44d173aee5a777713a7acdf339b214fcc20f6cf75ecae935f72b74f45a0dab869b63d890cdb21228b8285a5beb94ffff7ffb259bbbbb51abcd4a615f87ab5d3f35995aa5678d9e70487abb97eb2211d240eb292b282198708ad0891c86e87723a337ba914f745fae9b0eef5d85178355b85aad5621287db601e8794d9db31c16b3a9b9f7f6217d3939ab1ca8376647cc582ef1de5e537cad4411a7c595e7aceaf7c2b7fa56dff7b5d7218ecd8d0ba75f624e57459798c37a1c178b864f80ed67e08e943a39c6c3599318876da3cfa04dfef4f6cdf448ba6ff20eabb75de84bbbdbad0c5b931399a76edd2095abea6a13274f9a8deeee909b6f43f079b2bbbbbbbbbbbbbb43a670e48634d832f3ec38d34d6aad2750371c418942fbca27dbebeeeeeeee1bd4ddd5fa3645b257ac1686e04a5fdbf376932b38a75fd0e18b71d83698ebec3c6f72ede47316d5ba725c06d86781d2998d62463a17c72b33734eebc55241ca0a3c0807e251ea3547aaaa92aa5252524fbe2a2d34236aa251ae504be4d0050d94124ab6a5da55609a2ae730395dabd77ebff1f612f00540cecb6b5a7fd9493293ebaeca79e5e47cdecdb9dfcb039188485fd6b581e910b91fb06e5c4460eeba38af5b64c9004951847188d00bc775635363c5164e1f560d4f8262b13e96d4cabdafaf7670da709f28e6780973feeefbf37607e2adb55aaf3322660c52ab4db4763ed56a452051b4967f557574d8734e8402223a57c7a700b75a332911223a3a2b22534707e6828e8ecead3ad55b7dab551d4598c8b30d687d101c6bce6b564d5bd57cc28179cc0c562ee28561e8855cc3ead51085b0ca8d1d7e2279aeea569b2ccef6848b7afaa9a4292e39b771715a37793beec9b6241b293735d5b6a8e6826b6aaaddfa28698a4bce265d300fe337f7e2a38869581fa3d66a4f47b86ef25cadd6b3acfa3556088661e8b5da5efa2fe17f09576ffbd55f091fc956b534abe693fbad95dfd6344980a92a2a7d0968a313ef73c3184a102a8ac2056373d70ceb789cf2b0f8f4b5849d922790c7c94037f273e73585e5f6f1e2c475b98f0d56b214c9b4bda075f7fb5aff476f9422328f6cbe52b29c524a3936cbee295f4a1e5b42f7e5e6e6962d732b2f1fc9b74dba74da4bbb3170de9a288d29b97865224df6d7ae92d20bca0b5cecff7630d4651220fef9a14049e89431f163089811af8833baeccf54f8d2fbfbf23de94929bd2ba5f4244b7a1e78bd8ed662b1ec6dfdd76ad59a6bbf6aed0d6f8ddb16abf340af8506c1f099456941dffefa3dee5e4a97c997d5eb1e37196689bf7cb14949cda486045e566841f1bbb74725455153b95975778fb94d52f28ce3ee5b3da21fb5f4a57b69f69cb3ed3ff5937932ff659c4e4adfa625cc12d2d2972b5f6c355bad8b952e5c8eb81c2951514a6a5a526b91a2450a5214a4285760b802430d4a0d8a9527569e1c39397242a50995264ea3314953429a12aa8aaa8aa888a888724a724ace68704683a9a1a921a909a426880a8a0a2a93a44c9227a02720323f647e70329cccc9e980bed5bbd4b69336333859b019d90f3ad0cf0e1edcb3bb6b6fbb4d000b4bbdaf4c465f0b1ace464f0f75a0bb2b8ab648c97b4f17d456c419a4db05a9fddd0f73bd84b077c86e34dc1904c1d32e93517086475e507327704a9a0171d8b9c21d90e7ab35969150408159ab6b1f052b765ddf962d4326fbb6290708b6be2f20960eef4f18b68d38c106d10341f4e0d18177bdee6f4b58cfccbbb1ffdbd3d123b31e406abb14ae6766669907bdb49b4034a869f7f39f9979949325f333e5d9dd3a08a263daf2063a60781f2974704d4aab0bcb6c57aaf5247292450499b11aab598d1326666808634c4f9ab07694d24b2995947ae9c91961a207184022dade1dd135c4860f0edd2d077d2a295b81a3a10a9f2d72c826d7c0234b0f55208ca4e7ff9df2fed3a74fe5ffcf7ff94fbba7f3ffff9fefbbc23441c77400c421417494d2db75740483271ff134397c7af069e25f4a66235bb84790338e74f50875ddd89c738e95e7a5943233fff33f3ff3e4ae671d3238c62c81c1747078ae18d62355bf6723a9b3070c0b05d845c838e3ddb5398d14315b5644419fe099b56c2c3d6eb051b372c414068ca61b2f43647c7878f7394b903f5d060dfd9cdc3e2792a239866cf953849465ccd88cde8389682cee300d629802b31e31adc713199a660e94785a6880990261ee4faca352cabf52ca4ba9ecfeffe1e869921d109bfd0f0f4fec7958be7c2999999999a51a53b2b8e3da71f1ce2c327b00c6f206c59c3be28ed4943d53cf97855b985ea2ea19964821195e8e3f86619b3b6666c9cc53b21cf7d6fa5c61d5f33acf9b55afab19da286a19a4796b90dd503e54d86f8f0920d883c57fe748ca397bbe9c93d2a622c89d796fd775d7def4e77e619b2d51a541cecccc9ce685c64bae5e6ec3f8b9c3c9fccffccfffdf92bbfb594c15d3cc0f92461a0148b1441572520a8af247f7def2ca22470c1632cfb6071f2c2f356c2747cf0a31f552da4ddbeb3aee74a3289bdcccfc5d39de9ea751778c518711407891bbf1102584166bec41441e5f3c71c653162a07a4e111772c4b312d4166813a9f9da5d322602d9771d2b4129a4081414a53e9a3b6d2573ac9cb8bf1766ca14318676051c50925980d29906043cc156108d28390f37b333633468f30449e1fda81068080c027020fb7e471e95dbf1f633018848b346488f0234c194f4a68726022c7eea1280b27cfcf9c1364d055a826bf3b3c9cc9018b29d05ca92242822c7c20628f2600d9728810c59161eeb0deaf3d133dc2d1f2e56fdf448f688d2275f04398990bf26b6f937e86d21a9d729c3fad606eb38f14037a148afeff59b5ffffffff2bffe9110de353f488d6e815aa8526511bfd4297e8cda73ce7552f5f86b8979730ace1f892feff731c55a8ccf00287370e21c3954419217a40630842eea0382206b851413e3da01b8f57af37802707b87dd71ac9daa3264c80706a4041b5dc1047a591e2ac90c55ab9ed8bcd79b82f374c54cc5a859ef779dd11d38dbbac19e1e00e4ed5cfe4eb210755abba34a0d199688deef3760ddedb33ec20b5c6163bc4fc01e5440c493408b105073383e08496d0b2c58935e2f0a10c718c1a726081258b195e0875ab089f2a759461a3c13481c33333f3a4c2a776040ff799e28cbbdd7acc20f2763927086bd87e776623903376e7eeb8aba70cdb4752476874caeea6ee977e5eed469ffcef45bd55234025cb7114719b7d25e3457aa7482502008027f205a72ed55c6b819d9cbf1284d569d93a56e51b6e9bee161d08e426d62e56694e49b5c61a3b5a13853623d71d1e22dd4cb4e7f5371eb90cbc35352058c15b1baf2af634915907f6ce3a39dc54a0083ba1054fe355a2e7fa5eb0db6b8f5bc7856e9d669db1a7134c0dcfd19ccaab3ccdff5bf11b1c1818a8a5a3c344987574588708ebe47c4b3957c69ff7319421dff7f5ebf56c41dfe0b86e78905a97b2da06d66ce3b598e585a0077a7cc1fb71d78e87aae3ae1b980268708326a6bb3a137bec9e30d63f56286d27a5a781abb9365789a5a52d0f59fbf2bbd12709a024dfea1bd8074658ef1715c81541a6c861ca4cd4aa572b58787b55f92b62d9d1caf22a86476737257730d9c94f7e527a20f8b2ab3ff37be9646ec9138763425b49114e49fb2a4a0375088260d7ef63cff3d8638fb936ad1dd8a1b5f6de584ce6cc04e7795788f477ff1d9e986b7623e606aaf6b4ab432b0040918b4d6a244b639e2959dd2244dfedbaaeebae2fbd1df56ae82b9ce75b99cf3b211eaaff6ff7f7ffd467a89ec7fc49b5d68f757f45f171f34b287a6f0227da916aafee2e1ffac606ebe7dd7c78153ffb7d9f782fe864bb9c5ec3a01e2c9d3e5824f875b9b0c9132712e8a728827eab157924920dd47346f62b41c74bbe7921c5ed163a08d6a61eedfb55ea51ae4d772e770c8e234fc94fa76a94023dd57dc54994a6810bc88a1802c10f0c67087ee09c53de39e7fcc0d9fa462323ce81928c383c2feae7d8512d96f79e37aff72b124868d1ac93d3ad72bbca9555087e410c759805aa907951a2885bf5e7ce89ea545267a77c2b77ed717bccb53fa6dde7ec04b8bbbbbb0b31e574d6706b68379d7a3bbde1a4b4d2119c13a8a971fee474f6444694849084af766bd4d814c0b1288150a0935268a509e8a480cba841067ff1c003386398a710848c4fa9eaae0de59dc90e985256e5adb34ec9cc037c521a9f0d0a8936a48112222693c50b95a58b1c7f5c3616a671da0ac4ffffffddbf1b6bafe244d99794ff36e7cffb4fe7ec7ece28fb8452bfcd2fe4509918a53b5162543111731b73cf62b9635af0309f9c6654abe5460dac2b376983532d37a98a5076634a9a9957cd76a894713af299b11b559066733529adcc114839af72aa9e4c1429321221325f4908dbc3dfe087d0f71a579a76e0c60da94054444bb58c95aab5f2d42239af2ea51ca8f44d5d8b0400a0013365001412864322a148300c931c48610cd60764e289851d492615714c1446398886184619648c330411008800c1ccd0a60d02695b226a049db8b27c0182e17497459dfd82ac28b3fb17fe3a89222e49a530b2c58021e2a3a412c9bb97fca4a595a39e9308802c786051d4584187353bdcbd01d573f72bf7e4d1df4f0fbba31536ab4fd685a875e4e62fa24ba1e47195016f75f00fb4b6983dbc9f6ff27078d54e65484ce05235ee54b0952aeb451d3d0895191f2a2239bc9940e487ce87aaace1a96f58af7efc4b4e91acde1fd6b5d35ca974e6de31d13542c8bb30b6faffea88ee60dcecdb426bee6db97faf13563cdf167a2d3a5bd2671231e810997289e2b5cf2089547601ff0f4aacbf29f7211483a3357914b81ccb531225d57423b4ba3cd38e489576f7003604d9ab5a6722f96eb01972c444e119e9e8ed1a17e0edc3edd0e9e464a7eab37c923dea12fec85c846f15279b67f3e8b073bbd2802c456e8eb3ccc87b24f3de71e89a9584cc3db97e9f97e3308c234f3378a0546d22a14338915002444c551d1353db7a572cf4c7a93cce9b7f34a63f2123b97eec5586ac1edbdd207a52cd6b9150e720d9ea910491a2fd93b7ef377dc52b51038e7f4bf0e704c54c1aeb90e7e50ecca17d4944abad5b4dd112d0f5e9809803e0f24058b217c27e182cc9950f9335fc2b2912dfb433e8a39aa35df59b08897d98e18843b66345a792a7046d544b785507770da6e1a2806c36adc1ca5f0d97b17b14d1975da647653cb584229cf921c4bf1f608a9e26c80a2f3f045b344183bb51678d5df1a10064f1cb098706487233d5f559730a75e17df67166f361106b8e7ec9f82150b7e6e2abbfcc9bebdd8f6464711b63bc02b686302ae16e018fd16280c4ebfff2719fed7010b74855541c45f5ea9da28874cac5f46517e24159012bf28a3726dcd0ac166e59be25820cf6cef0e5b678e391a03a4b57a1797521634c0a0b6d13c46158018f376e422e42b0e25cdf1e7e96464601bd664b21a5b5fa63a8a070e5f474046f1d78cdcab9b7f559f71da6e8f89fc80f9ddc2b866501355072652aed9e1212e612f589a2ae3ba99b578558090746bb0b143ff7a8ba0bf3db3df4ef9d750f88a01dfb993ce34a5f1e8a06f7ac3da2b20ca8459af063e9e7bc25302f4989222e508e079366914065b1ca4e750222c14fa323d575f32eee199bd0b8c5063dc7c1999d6859759c7eb09cf61e48f36205a01e7dd059a2f1f5b7c150f363199d1e21c9a06c583d60b2fa7d1aa5710275d5e4cc185dbc9f15300c05e221c88c0ee2fd33d9e0aa7bd951820d698a904e8c778c3ddd116679cc3aacb22d4afb68dd4073141cd24d896044c447948718a7c4fdb2bdce5310073629e347b2e5c578316be64a7175808ebbc3ca9f070eea479c985ccda69f35a2efb0740eb0c505df449f3e3a68e05cd21eeb9461e55f387fd4797112b52452a4989fcfcb4cd7bd6c97eaa8d69efe1623494d220ea5b2da9079421c56100b7d8e3037f57c0e3d12c77470ea6a061dd408171c7fcbb206849f32a791256b6752e9d1318bb0a6ca92882b74d3d8fd9f05b36b85ce859e3e954469a6080073466c12dd11c1a9ab23058906648afb251d456e48fb0b2edaa3ed15e919a9c87b5de514541fe4ed34cd4881dde9ca0355e617b9caf683918b92807b7aa80e8254a3ef7a84b272b19fb59601b225303a48cc131668c81d51f6a845a5faae86d55fa936dd968044b33f819a78c1ef45879d763b7126f77e0c8c9badb8bc484c6700c9ef747d484f5d18bca3da902866c58615a5a1b670277882507ea597622aae511b87354cdd7b962e8806ac86c33bfe36f1113ebf1afa3566c67c2525de10ccf074da13b4b7f86e33cb6205a27a85df3113501e87d96b02e035cc468fbcb1c4c9f6eac3cc3fcd746bd9a7e4b19bc561063f0317b6a91d234141936dc75c23f9afff0801f87765819755c02ce92b75d4ca02b1dd3620392ff74ea1aada5a639d716de933a6e911babe0f28806d4c40fdf406c397ae17ff2ffe6fb84d3e551bab4badcc39eec05d785da489b7942e9433d5fabb39b0d07b48db3a2732c10cff3176897419e1d4815aeaaea5566e8da04b78751da32fe32d271e778f42234c0dfa26b030482dd3f45c813256962f538f5354a787cc7313779ca0619c531891d0409170246624cc0e13128dad69998a1ea91009bb549093b784d56ed41487454bbe0cffa0eaa95ace2f6b0b14baf4f6886ac803c6b46ce6835868ba0cb3aff66e053ddc81da21cb0b6559a7a80b769656c2425e60b91fe998ab4abea0e1f01ac0da3317e8317ad9f0d470ff5b1def9aab8110d8d225bec365eb84530356ba16e61c9957a5be095109100b4a325dbf0d8e8f4e538fa291a319542d79e291b7688dd3cd6758095b4f35f07dfa0f32f86e8053b9b5d293524e3f7241138af5db125c8a5ee38469b740a0b44a90a98db940519d5154fdb6af9c9f820596a1ca47fccc71e704646e928687cc0d2b04796f2452bdc12c17cdc625d8f9c4d2462c67493875a1a23b0643cce929379d04dc49869116dab50cb70ccbfe154aed4f0bf0703e69dc96e47b46e0c10b4b458300454e8f686d389e69ca85432be9d9339229f8b5d59e48a12e7aca51810dffc8728a390716e0fb3654e837065746c8a368ebee5a5948f4f72746a19449351c8d9672e55f1c4cb4c4af6f1a2902a032ace8b5640d63801b188a2c44eb46b1b82a9c54b1d15fb122bdb96cb05423d0a8fecb7148310b748f00c492fa87fa6b0e8ea9402cd32220d003767894b86389bec7ebf2f795a36876982a75b26444b11ca52fc7eb37611d8ead35400c863fbae528fd4944a161370c3627a3ea9820e5361002121332bbd16daab36534b9138a06542c5d72184e90ef0dec65e27a6ac65ae28081e0ea9caf64c6e0ae5a809b1f3f9820208b9ff7748a1616d74accbcd2bd901988883d38f37c3e6562a480fd75d911659e967b8d1a7bd65c6ed819c0c5cf98d27b654f64be11cf337ca9f46146b91873188662e628d9a546b197d435290b7ad187ef80f45f58a091a5ef8440329016de8e509242b63950862ccbbf836c241cbe373d79bb7bf5fe4cd273d3dfb60d6ba6600f2838e5130c251d4b0977eaf79b2d4fac0b48519e574d8b47d1ec57b54ceed3a3e225cbdb518e73a41e3d1ee59f48a4ce7b25fa7814be270ed6609cde38c87e504c3957b7f3ec390d6cca0e1a6f13c4118da6d5264a217fe05342f30ed6ca277b91094ab49528c7229d9a2d686437bf2eb7a5cbe94d93e29598c6a16e302b6c75fd5e8af8029c46a189315a014fdb2064f17d39066aa508ef72183e58d8ed0452a8da1f00109d77dec4fa5d67f1351ac57373137c0c324dabd69c90abae58382747267d66d77dae15db0efede5a4b06f72e93eed3cd156bb11fd050806f1287a48a7c5b5eabcefed25e94d5ad4ab7ce2afe188c647ec4bd25f4a9a59799ef5e033babec0467229b37252e06e1166a3f49da62e6e6f591bd4789545c578ff0c1d6654c81a01a689924445e746ffb19391e5801b8de4f998838a250e41a41e9b127544db139c8f5526bfb870abe10d22af82e642a42a8368e26b4113cb4c6b022dca7e72c568929d6c750d65e55410adb08749af4d731df8579b5057b06ec62565c1c22456594f68f337c2ad0e56defc4ce09e88cf1179e00c88c8e07cfbe7f2d58babfd909446f54aca817908f739a5229f5843b567505ed9f0769a1fb44dcb1d126b9322628a5425438decb3702f076ab80261691844c6cfc6b138196386116fa76ab82d936c89d6195bf03ca7b3cc0118699f69faba7a9314a07e53fda61a92abf87353fe93999ebd1f82436a87c8c2c3ebaf410e64c65485554fefe73d82b05b532854a222991991757e0e3b82f19b65ccd7bfca9aeefa3497c68da0b066d4d7e1224a03ea6e1de3876598cb85625e24ab60bed9e35b8e926fb3c8c3cb1fff9752a5268f5ad5927b47af7229079e50e9476a3a37b45f28ec1676c2d3daa518efbd8dad35223afa2e8c69a8fc41cadd31aa043669e727ec2128b001dc5a3f8306cea1011d4260cad83ccd942f25a3af71418ed85e2aaab2488aa4734a355c3445476bc3c1b736867e213f40fd41646493404f09587e55da4923cdb47e2b41577befb97e9361ee5643447bc87b026aab823ee4939f2bbcdecc86528d74162792a4adaf6ed11820e73ef14a115a246ec8aec38429456c2df46d24f2482249823980b6b1e6934bb3c21b8143008a18397c1cc44adfe0eab3fb3aa8464d7e5c7ea0683221de73370578336e45227d7ad5bebfebfe2cd65b910851d05eb69125a2f91378d1873929bece27fbed7fab90f3ce4032e9a083889bef8d1304f35977023cced10e4edda48be6c5d58300dd10d9a4fffe19dff55bb7de887ff27430b5517f9f6608ccfcac7da2f79329f8d8506bd4a96f1ea9e072d84475a3a8132afa1daa71869578c62ff524cd972a110b3d3fd5007920dfe3c425da6b8568271cf57cba0a5d4da3583fc6a45ff6da92efc47d6b0d32eccc8fca2471f4cae12fbb300b5344786762e8dc8ab9c2a411c8fb64cb143af0732e5156244b1a78a159ff6e59a2dabf2e7b908c50cec3d0116e14be8cde0c33b58882dc9b307830c947572ba89a360dc12af7852aa2f399e2b65c7191e64dcb584284fdee18f2235ba1d2569083e915cfd8ab0834a9c4e397083339686e91e967eba0924c84a82e858714b7cb79f471f7ff4e27e87abf2236d822c56fc26fb3db436d87bc80bc081ef8cfcb1f8a2d86f24cc370f2e6a9cae104168899b979c9522b33016b00c9da8215a966528c7bc057e054aa1189ca59e67c21de043c45cf120a63689bc03f8829c825313bad7206c0296f6f2ef556cc1fbd5dd5af445b947fc3039f8d98998ce83eb5f7d2a69a50cbf10a1eba60438da486706508893b4e30ab33cf0a0259051812371601b681b0720572ebba716a0a657dc241c7121c157c8308415ed676e26b24e0ec879d4ccb6e326c5a0cae2a85b96f97b51e5600487e779ef3d400c8bab174bce5231f1ed6f9bee8c4eb005e8cf77a76d6b1bae4ad4d26a791fdb4fd0c0fb5837c6044c94ccf2b9024bf7efd28aebbfde3c0f41d95e698f7efd1642e115c5e8202116f02e4a1d09dbff121923e142fce6cb99f6401963c6521c350760bb38bc6756081116850b556ed99bad8be87c2808a533e7c7e4b81e48bbd0b8a003a58aa040773876efea26ccdc0b9703d56abd4cc8fee91d1de1d23d8af0b1aefdae2d1b29222e9859757a52672a2c812c89a96129dd23960cdecd8f177c0a8df64c1eb4cc1096b311d46520e29744e955d091056bd89775f3830c6467cb2ba36bab102153af1a9be38b90260ec12b6f67c1af5e8c11124def8072c3973de7b2a4b14973702e1ea203219f249d5a25b54dfa61955f35cadd844b3782120fff2335364720e8b2c5e2610ed1fb72e51a86a312339365b595b5aa9adda828b78db11fc33754c62b68fc5e879ab205fd8778685e0eea152d5c4c73c979450a1cdae95307b59f62eaefc973ac66f4a0dccfa70ad1491f013a09dc175ec94e8c146dcfe0f26ec44089aec9258c95f3e0f4de1d5c823539c562aae89f61a73e8776cb5b704a288c2bdae6e33e8b33f0ed8046749e1139a0a76d6ad6556f4bc5bc82c2faf30381547e1d399c1ef04a740bbb052f34290296620e6011ee55d659272a0a5ea5ae15c6ee5f847b98313d9635ea1e966e5496423b26f7bba2d10335da3d20f7a82f15acfebf1a32a51a71af635f4bee33c270375d6ef4cf940b2944f72b57b2d7a284cd38beeee6fd4424f99da5f978798b13ffd51ce2205b5a06de367001ba7cfe79bbe5eda5b42da4b4898c0ca8d3b9edf9b925989955e36a5a95226beba0f49eb023a2c9c601e2897fabdcf3445eb2c1a1d396d4697067b221c5d43a54aeac9bb623603c21bd63f4afb613b33baef31ad7fe4dba42b1802f54be400fd0ca9880dc757591312bd67caf335ba527a40867f568ead1b8122011b7940eccc69fe31bce0e5f63170d808cf7059537711daae507a8a19d5bb1a49b6060bf89a6540503a0bcddc429e33da33d98e523d7657003c970f8401e95df0fdb7847c17ddae21ea395d4c54be3aafa6f60b46b36a8bd97319b911c59a50f273c7b271dd89aa188801c9d6ac5607f5cd211d5d4bfbaeb5f1970ea31463b46c4b0344935c8cca8f12c3d6e7fd04bafc1a56eccb973d2b4b6622cbde3083359501f7f8b0230430714bde4df2dba2e3b84bfa890631cb5ec9382839aa54cbacac90b7485125f7d8f598d2d5b518c6d0ccfa89df52e7f16217c236b068ab9986f877dc808613c0fb1df28a9676db111b481c239ead073f7c4265d225a9db9624e97f0286344a6122bd2c9c7b3e98c5e18831bc3aa7809e9d8e841b14a15a76da844d9b28228c7828ff95d6e964ef668712889dc094fe7d9e51917715caf66dd5d00e3fa61c027d0d122591542a505e3af8906a8dfe21cca1121c397664618e48443396ecde8a605e055445bec55f78783a30ff692c50715648f84337e5a2612f952e41fe954104d4846b4af192106ab142a6bdebd7ca912d81c2d0a5e8c656d67874347f6fce08b215a7d04f64cdfaea3e78115c49b578be136306eea958ee56d8c0ce343edae14d98c55af090531bb63d306015c8592ad5223662d1c8d296a96f8345b335c54b445ae9341998f460ed39a99c0f49261560c02d1b462eff8a71f1560b551ef447cbd33375b8f1989831cf3e548271410849d94f966fff7f41a1c35f63299733d561fe74a071148c3837a503ee17419ffd5887c8b2b9282dd506a26878a37041b420e15c5e0c3289bd888709a83749b3c2c9535692b35291109d0365f480ef606c80954224dbec0573e09f3daf18f7cafefef1a119e3e22ecf6b6c6b93024ba14e23aa9bc6b18d839d7550ba5f22ee722b6fb520a56ca32cf54f31524441a7f25b31e27555788b442c9107d78b216a1b28e4ed7a547088b4983129d88d1f791a8b101a364dfefda964843ed3dd035b438abc4eb2e580ea643e64f3512cc9754cf1038c68c7bb4e7e0d3721ac3ef8d01f4dcacd96ea4c4b7f1e15902de9f949bf4f6eb76d0e7e7aa40b13f36d8e6ac473394784745d4848ee080125bebe699c7da20343a04cbc169cd60eaaf3e9a444bb497037c01f86d11a08c4f4c449972cbd05f34ce765f340b5bc030f29b38a659f002bf91273f4672fb02f3188e59e239a37702a62022764b8cec8b27f7b4d728070c37da59d9377b64d4d195b899c31d1e99620215279cada39c6c3518f891bc796cf58e882407546ffd7fb8abc89b029de593a96802ec4467346ac875ac5f4bf02626d2f065324737969f9081e4fa3436d322415e658b23ea5b5782c13a8e66cc3deed638c2d901ab1baf542c6023d8455cc5fa3ab307f1dcdacb4c503823140d945f1fd977d50bca884168c4ee631cd01b7b7f83e3632df058cd0c89b15138a864125eb1938a1eada778080cf8e6902c96869cad98874f8615b880b9bdb007006a379082ad601166e4e88e3e99a8f2b29ec033b722c0dfce7df292c00e8be616e01927a548ffdbab5452fbdaee3497906bbc39e6060289bb1a87f64be0f407cebdd526f32718cb4cecada0377d8b58949cfe69a4f9da5404a15e2819ef77aa99b80c27a58aec4480134776fc84d09a31572021c4a765f7b0b3a35d52671172e0c951accbdad1a783137d80d46e74bc0c30c595a7fc8caa43dde542863e25f034550c8753f608f587df056e87d3a7a8158950a56dd284a7080a7b057eb6849f6413dec3b4849fbdef64efa78bc20cd52442fd19225d5bb9ca81b2905031cd9636c5e6fa3fb26e4687152a4b67fd488db8bcdf0462382e1802ceca5f6259dea2a2c018e8c472912be5c64e343dd28e8c6ad660ae747e05966a48d5383ed644642dbd541cb8c4208425babee4ad9e731f5e3b675e755937c2fa82b1c8fb85d1bf435fcf67cf3b6215745c8590e06a9c5976c0a2bb5a4db79c15d1e6e67eeb0e9c4dadb0728369a2cdd53df8f7318d127a39fc5f0db987b5e729681b13ea4e294bd10d03146e9e22ef2b0345c2b6adb19f21d1e5ad8610c165c08d12ea4fd07cd28119442424a583534a9121ae398821b04f2887084cfd6d0e10e1921d308b6524b611d5abf12e2856a38bba93503216b57cfba43f65b3f08e17519584ff9b8cf2f6b44a5a8d444846976616cdd8545486fde4c9e2d165273a8ddfcb021969e156c276cc5c563c7fd770b84493154ddc6681372181c9ab1c18934986b78c584d87da79e82e2a9428a5e125a4f2deaee4d9343d476cc24f4e466ca4515cf7c959821842ccd66e0b9ac3271cd8c0ba0af40503d04480e37d043dc2beb84962ebd4d84369cbfca50b332da18b90060b6b2733596665795a61d3abc0571508dd7c68da3da9c12a4faacc8688b576af0d9a9106b1cc0d168738c5200bfdcb9ac17d674dbec00bd25e02dbdd2173872faf7bf44d76e501ad7ec3513ada4b02056177859c86fd5c6454523a79b95bfdb51f1529c95ca65936d75b28da4085e9d7fa92cee01dfba6abf11a343276907f8527ff920506d1d9e4c9275e8ec4942007e11a25130e68e4f4ad1a3d7c0e638cd9805846f66c36884256ff680be67c857d1e2a8d225384a40495a823e82646a598226682a89bdd0652a246b8c908f24f48c0723d9af7be480b8ba94003a88406663363bdb390ca27ed645895818a7dbbbee95f2ffcb405e5353b784571195db5a2979d318ba60065273d015476aab6d0c22c54c1782bf2e66be9bca7a8b5ddbae09d25235db8074f8c0eae32433dfd592f1ef3afd12ba9be3da1f3beaa4164d108689acc911166578a5de071a7242c96facc5104cc5072773c2c6a6e1d161cba781f11978d3e0027ecfec0328489206d8e1484945cb14913b10b454084ed3bb0a2620fdc2b848009e380fb945d344e1bb6fb09891ef0828ec76a3d986064aa11dc1376e5c16786522464b7d64d615321a80ead998b97e2cb988a1655c7d0ccbf36d5837e499a575b6c28d28cd6245234c669c82062bc7f3977685762cdd86f82a242e395fea17c015b988100683c40d35da27c7f02d8ab7e12f6376a211b76464950a7b99e15bed3ae73b525a7fbefc92a1c35ad4a88dfc30caf0889eaf60093ebd37db15374c4893b7e9927ad0866cd2e72a15c4bd4cef00543a899afdefcdade7438cbf3e69a2c9f61b094360ec39ba264160fc0eca2c12292f70e00acbe151409e1dfdddf351821e30380d0d8bb893cf7146187bdaff179f304c650068facc3fdada2e0492e0e61a3de60af70d9a02eeab211b80842af1726743c3b1a81da5c3f934042314644853c9c371b127f717bcc16cbcad823e5e44ea388acddae7cc4475f4fea6c734a2504a6683b049fb40a019b1392c48a4985ae58da2b567e90ca66123849d7c42d63ff09e986d0d323d21a1fd0f3a3104ca44d6fae102760f57a4317e635989d17665d01d9439a3be9c5317d690cbbac72693e4d6225b7f0cc9a79ec61d5684b1a27d75256dfb29d4096b09030c6cb411665620e247c81a60982c4063358efecd48e508d43a1d43f367898902886b09d3a0d4554069439b6850260250442056909fec139d38f8779865e8473e5186110aa9b720fac0acd26164cc28f29d10ebc92d50fad3b3422634cd0b57cc7b9b9079cd86e0138991a67394063684b02eb285dc2d80f1ad054ffb8901223c71fce11a88787768412d383488cd60acaa8b9561e01bbe3d433f78e7824e14dae2e147649f32cc8acaac7341fb6dc61d9a8dcf34c729ff28ea45e1c1b0b6ae21c62c45f3ba6ee8764a253669274165999bbd60a4680c0325f9a108bbff646745ec2710ce6932511b9294d45d0477464c323d9f183db01b1fc588c647016e98c3f605779a731546a6d46181053e1bc33318dfdcc7bcc4a593e114af68400405cda98ff198781f939af31a0d689182f27c2e4dd31f87d32b9540a004570680da2a8e8c669d9e65fc4300c9838afbec548a21db038ae9e2f08d0630c10b1cb7017f228cd4c62d963855d22a899d51161ebad3de38b8ac46d12a6962f5612b2a12dacab7872b456526239f9d7c10ab4dc11392652d36233d442b2c2090186e5e5917b55cc7610e0218e900532d6b9d7e3ff377005701da2ea7453860b92af0c469898dcda609905262c245bd6863e1d731265cdd4e7dbb838b5e277301ab05d307021ded37817980683105936dddcfa94a59b424731aad8a11d6367b42f278db1153d0c5edf57fac82d3112681ab2ae2e8cbe39040b803ccd96591f39f91d673c1ea74f8cf4d7a4d0844eb3eb44f4b9c2496f9ca31654e6c65793e8343c57906d3ea22377453f86c35c25c8c9bd8a28dc2638404cfb33ba4e2698a5c34bde475b1bfa2c72239141a49ef4820be97465141cdac035c06fad2cd680d451ae26074f0ce4c8cd8af5a676c7982d8f67ec1d1abd8729575fc633b2d36429f3c2daccb3e70fe27abe884919b3d8f36304da099de8929d28f463f116a1b3d20af4b2c79820191e693523952bf601bae3bee8ae7c662172de10682e6a52d148d2b1a51e71fe71d63ef511ac938de2889d985f242a91ff65b87128ce3aa271898b7c03de12bc2068ddbc71d714830528ac6fa09fdd0b4aa878a546ad9c3e3527fdc9c042816183d915f9e05b2dd545caa0a46247c63e5c9e2a63b4128466305564951a4f877e1f0f5d0b65b641e4c850aad8da0f9ad997a319852dfb545c56e109eda9c080cd0b862cd1d05e8c465de8c331d3ba47cec2af2bbb40b25e4ecc697a037b622627be27599e3846930b743d5af05c76184fa2765b2d2b34975cc1da93324bcd174c952c36b4acd41ea99261ceca8c9a2eb155b2d84a49d19ad61832edb2a6125a020b274263e299c1a97f734d2cace221f761c06ad884dd0d502369b70dafa37452f40b454b7bda1660a43e03e7317dfd6440add33df9d71b4a28d1b39d468dc39a2d3f12149191acf4ba988cda12f22b7afaddff58df658a1cc8b2c9ba841b3a5e2e114935c526207f0c7ed3d24dbfe73119490658ec7ad6a13eb514081614a72b1c3940388596224e61c2169f958f2e67b0f9ab73c7b60c3cd38a2276511f57a8426e0165ee5c5dd7cc6bdc39c5aa48e6eacf45cd0358b11d003eb2f483c14fc62d7752ec72c7867d96b5efe80ec23129e31c395d64a5543829d296e96b15110d13c0afa85b82272a5084ff699febdf2772ef3fb70da690386914c702720de9d8836ea146dce27cc8df834873b149b170beeb2dc28388d786e6625153bad8c853426201ea7aa27c2e1f527316cd2ebe838af5932b3ab243c35f4facb1166549ed66e557c1067782b98cfb4275ef6309840f33b6dcf8b61704e3201b7c421c07e86c12c4106cebb8357d902526835d0f3651deb6aa14c92f85b419ef9722026f6938b3087d146dedefd14f12974ab5921fc8e6f95cce22906e79e8be6b07ff02aef521313a029a5b3acb4702139f0bb8fff8e8e076180080c341e2405a70163f8b9148fe96d72b20caaa88b0ae6628be52b14a67802ba28cb4a084641129328a85619a10107500a241c298f5e73bb19c8ebc0179b43431f05e75012da8ea057394b8099ec74db94231feb000f047d38c84634273d0f9fe9c4fc18c228a16c52a31f57988527e850360423bf89f199c13fc398046680d0e78097fc1f3965d04f72cc7a60a649ac8c176096e8ce5dc174be41bf8214dc19858cd3be2b711d740d1e66c4d582bddd75a4f47bb74fd561caab876a0401c4ab06886e70fc44e0b6c6e51a102995775c2f177ca256efcfd94abd85c4060bb9cfef712f663236c9c9efe10009503cb19a1073ed143d2e180c74cdf547aa9691a03c0645f462e021df022be5e507cc42dc03a53811ed57df34ed8833eaf4ed09b7fdb95829208407404c67cf5256e4f0699449f11c983d5ead85ab1b7131a6ce32a6a40cc696c8683c53eed0b8d4d22dbb68a1fcd19664235939d33b1dcdb14554fe7430e59522f0a3728666419069d1506351cb7659cf8c580311a620c0d481382348a863c3d3b6f06c5ea4231bef4a2e3749b7cb914b6d70bf06105ba3605dd751f693f1707120e3bea612c465e712356a0b62669d57b3276430a89ae0cea14713f3e821340683f32e45ff8b977acaf530af7f39507033d0ecced06fdb77f938b914457b8d8ec2cea402691ef776685766318cd7a21b9ae96b6f71a94b5c89c69595617d07ed5a49e138a1d164d22e941a3d5ef855081ee7d43644897353f510c4edca9f5b8f7cffcc2157a1a49e18707bf36d61296d96308c0fa3c71e30a3792b180dd773d477419b021c61067be72b8364b03014981c2fbc5676e38a1e3390b4a6ddf092b8d60b8a3ce4ac1284268efcb7f2eef36a7390690894b5135522a123775f03903ba354e8271fcd87c60338adb79f1bd803a54425e161d113f5808e40064c524f17f036c3c0b77afe5f9f585b6a6373da8f206b517e80c4e37f420c0d83bbbfefbc55fb9aad1be9021f089221d619095a958a6f813e6686ca139118bc7cc1d30d242a84cff79501cce0819f7f18112affc31e8c682159cde04938e90b14f9b5d91b4ad8694f3c328a0f5c46b2f851f6600510ec32db6c8d630e82964a505baa8e7a0e1fc024f9f07f44f9aeec379e140f292747fa5a62cba18fbe12cbd688de56dc47be1c6126a06c93a649524e8740ab4c7ee2a1b9e109ff6acc3f0c9f65771220ea0407b7d07102da376f3696856111079ea9cb667f69950c5a146e0f1c03a0411a6e03271209b8d0f321601b981939bc441d0221f41175e540114b99fd4052fc7afd5b2960ddf5a355756774ad2d64d9b589a0383de0aa1f4317c1a797c5b9cab4edde133018f18a5a8f78a53b87e04526cac90fd82c84f500b272bc663d3ea6da2192d44b5013fd28a3bd3d311dd18ce1c1bf6a47676c44f19f6ebb7085d9a4cc5d9753ba6fdcb8feb5c8d01a8aa56138f784ec699f6d18d1822e494e2e173db20755843d8e4ae5cbbde973322e4913427175caa1b9da2379809bb391b08d3d6b5235c3ef85064eb273eef82215f4180f8cf4795f35155d8a5b609d559d055f7326d648ba46696a6e290516cb1c358e87051cb2d19314bc58050990a194d70d6c7ae83e7bef4adbaddad8f7d5650bb3e2c5b01859163b059f0817c74913ea944bffa9e1dbeeae2e01acf0574a0845394f71dd7ccd6c4e5bc0a9fe6db0bb48c10197ef89e287098f49662c72f86ad70c6f82ac35e8348bc792153366d7bb6310a904f0055087cf45efc422dcb50f684e0cf6cc6d6bd0a07807f5e2e2c268c4172f70b6f7288e23179fbba2225cb422975f68b5b5724655a268e9b0ded68f8d278b4a8b647195f8e4d59d1d8b75f0d87d2cbcf4942ec3ced260c0cc44550b03290a477e973ed83d0dc6755aa7d0f42bbab821684c39243c89b208d2d0a0db1ba7345b8cc1dd135152024b892cb2229a87574f7b3588feb933c20740c0e6c9b23a2d76019508c8ea27651c8bcd5df1c0849cdece67618f82d426c52d1017da91369d333e615e956881becb391ac252c9709e4fe0ceaa37b7b44639fd73c5cec45687a492f796db8ae757fd744b7c14a49f27d99649aad2e3c275215851d18f249bbeb67a7582a6afbc21e470d59040234b9f9768b348805d7e30f9f1cc9c9a7c19c0b7f9fa0a2f07a12156f53a1d01c92f97f5c1ab18a809277f249bf9b9947943973505f3c65d6a520bbc22c426c1f23a8e4960cbc31dd2376aabda746462f0d82092e44bec7ba6e3ac44c04d322db1db2f835886523a0ca409f9644e5b2f35c3540f6fc3d1ed25d62b5432e230d3296b58de5c9fc0c62bec15261f0de0f4d613f2f7ccc767cac37c86c0f409120ab8a9b1c14d673053875784c2fe351e70b5edf543a383ab661b178ad10416c72b8c148d6840ec5b3bf347087af79092353a82131ec5fe4e0116212b9fb0d306d634cd37bae474d81b94ce4217bd5299a16f6af3ea2ddf7293a6549d22db1ce2f151916b2f081281c17b37219046ef9fe0d42658c1207f64f21514c3dad3e1397896afea73e838b2faadb76d219f6eea6392c2ef11c5eef537eaafa498b5d13d546919ecda1cc163de568cb11a2bcc69c56e29086600d1d594eb5e698ae9f92afaa6b7590ebd122215c427c2e5a2eeeb98a610b36368a8fcbb849bd09361d326bd5c1024c2331d69acccd161544879e451869d802a5e5ba58fbad3f3f0092fbc6a737f92eb3afe553f5ed1bab0a8e557260544f2f1311b56060adc998bf4afbdce1c86aae89bcfda284d454f14843109e0bb749269612af75768253e8c2478243f085ed635f9d0fe45767561883da1241a797270c020ae7ed97670b994a7549efadf45918b7e77ab29342c4655d78b0a2b2b216cd9685c47d08040d392016a55138d8af96a688352fb4b28fdb0fb40d28eb3d609a23ec794d532ab09d195a6deb48ad6174c64332bf02312edbe90e3d3ffd87d3b0920f443c2343afb104ca4407556d9a92860faef964ef8f1b7a3fb4bb03bff1fd212fc4a1c77f455264e06dc4b599ff54de22d2a4546671e48cb912c8de36f613797f7f3014934d8f65aad41425c3d26ff8b6fda01e2180ce2581010f19b4f36a7cadb0616152b96eb9ae47e5d0ba84be817971349737150ab1993b723dad151e3a3e70bdc77b2d76d7c56ec3d663896c99cfd2ddea5498f4f9c30f6ce65b85aeaca45ca88a9433f7b37f685e70f0663f1d3788bc33beb2bd3332b119ff063e83506644fb5a5440a84c44053200f4739bf8ca7b860f2fab75e7e1b52a2dad4e18c75da799ad0dca3afb49f9183b749f42e5090ab2a472e868a0bfc1557732c7a74b91e90cf5a622cfe5f131b893ebbd30a9ecceacc096e9daf2f4e0020e3e3939207eadeff6f464159b1a337707abf320909d9225cb1aa09c107d0dc3adf25605dc8e16b800b57fbc88d8dc103e4bd7e2a9310aaeefa095b8067d4eafd5f84ecb3b4a865eb6abfdf075806b412db31069c8883c44174f37656778190d041e389d68e4a40e4a0753cc5a9be473189228fd20130f818fc6208f21d125a4ea0bae03debd15aa61e55600acd57b079f3b06212d135256e9f44caf46c8ef617768a33ef2d6d012c43c8294de2532068d371826930890cb3c5451c54011f9b8e829a20c75e7284694b0dba330b43e45b5c0232808ea5acf007c4394887077645f5a960375e5880dc5850f2ad345b4be8349f8162b77565d45e3df423614adf8817dcb3b80a0c230ec96ce14d2ca5077da015d7b0345f083bab073036896945868b904d090078d501effe2d71fe4633b155ccb2f151533b9c38952c589913bba8694ca5a8db742f6c4be0a0efe34713f2a6a8f4e308ef8a5801e94628b559495d6809b567f686b2f3d0867e48302ffb4a7b7a19c55c5e552721836ced0c52a8c3c944ed59fdd116c4a1f34beba1cf2d5eece8bf02a79417a3614032124af3e2adabfba8905d95f32b94603b7857b51fefbcab9453f492af0fc1db2081103eea78ed1b546a3a11a53bba075c4e50267b8e9a5e7488dc459485a2e612be68051573f0fb399cd8aeac21fecf7e431cabe98bdb8044b2c3f9ebdc50cc774ab24382a5e8650b399d14df9654f3472d3638a1d6c0de54eed2d5830b5a2c6e51dfbea4dd8de547dde2f7df83246239c071b44a40b12f8ef4d84953e93ee3acc924a1bc75a46f67a1a6b28dea7c58b1218b06b6fac63c0088cfc7a2b1ae6b8f186013c990637d19808185d39eda8b185a6662a309ee92f5782759abc89d5b41ecadd94e73a4f83a7a2591545e8ebe665c1b1ab6c308ff461beeb5295bdbb1a402b1f4983660cefb2c2c4cfe938f7090d12d3430089a5d08c185c13a239415491ee16a7ee4f8629f4fc7e7914276cc2d12c647a8bbbee2036bea66c3c17efff9e549846f83fab69779404ce1d2cb55a8e276d213649267d4d3c746c96288df531926b855fa05ea1d2bb48bfb9324ea547987fa0e9cd5d7d49ec637a11eb184cc4071e98bf6f232ddfa93149189fb88467743be064909414b49ef02e030f88a3279ae6135b61353f1b80c5983a1db60867669fabf056effe1db9e6d14a6f690ef0d4f9e0d6dbbd32de357086c3f5e4b27bba51b4d0e9aa9bf66a7330287234ce81c23f75756524fb50ff95969bbfc8d61f774504180a76364bd6755c14f760f988f78b3bee60b95e349c12563afeac345eac3211524748753f7d42b0c10f534a8e87754b541cf742453a022e253f8365c676c601e918d218f90418fcf8af1d5f3932a6b487adc643742c3221032ee0b0b68649736ed9252210dd73dd2bfbd0528d2d6a0f48f5bfc6b02060ea43b54e18f17f0f5620cdf3ab50a4beca3aa6c6765c9cdc822e871efe98198e41a0fcd7d0b3a7dcd1adc615ff0a18fade6709cc3e7a31fb981e23271b4e5987ed18f215c187307ca38b6343caecb373ae9d11e979b55c5bc0e65eb688599c2553549eff2299ef2cf6ac606159a624d99b4ddb08d069c12b6f9678466cc03928e8b908cc5875999ba5502bcce067d92cc1ed0dc59c7731badfc0ad0ac375e22adc659f5f53cb7d2634b09b8849f50a35b7b75b963553cebf52015dd63c40224733228bc9a0400fbf799642d442f6cdc5398c0b4292651bc007a73b313817abbd18842b633391d969d917da52d0cb3b3e982b7e56ee3820dcdf5c0ee7f879c70af4ca5e721a2fb610b29cc5a8da0845c144b34136c5ba4c7b7fa50a9dbc77f665e0bc66a8e71ce723893b97938747bb10aa8c4f184231785946a6dc76a7f3f1f323dc7c87ee3ace14810838d607f079c433c700a0b7046be373c858207a6f3725546430fac12585768159bc468f33ea440eb8bd9eac67fc0ea4f083f081af237198e109a1002397d216070d3e2159b63a32791fa20b06daa793b0001cef5117f82785019b897371448647d1ba9a147ce3b01736dd121eadeed67be41670a0f7eaca7354e1d9627006539ef10f39980739863389124f8ba2a04881a3b312f4b4f5b4a8ad97346aebc8dc44a21aec727e85402e24102c45cf1cbe3243b6f0a244a9185f677cb673e0172853f94ec94ea96e18ffbb912c911d29fed03830890000b8802d27470230ebfdd5c82a3300389f12044ea6294487ed50949334c3fe2254f6e0273fc352d6fc706b7b1edbf618fac3110dabc3d941a39c1316cd1be89346f28b3f59fc3426d354bf5fa4dfb14e9a298673ddf443807a20148f5c93704c7804072c792d36670ec400de26006debd2f7401484034a5786068c7e0e2aaefacb5e71defeea57587b1480a732d25ead4446bc616e1d89f0a5471fc504915524ceea591e362218add05e4011ec8602ea46df1763639ab9d253beabe3a12bc9cad18736c265652d49f08c467357ff721eda9e4e6cfb4e6d6d020bd426135bea3176b764be16c52f77115787b84e63ee0e64eaef91786892bdf6efe1879d96ac6c936ab3e3576e65f90552599fb302fbdabcfc8e79b36b55e662ad28f08c044d5c7df5f57238a7cd3c87fbaa5fa6654a494060fa8028235b0c380e35435a1d869e569f3a762aa1cea0a396ac64c19648aff89643b1c44e232b22242ee1072f93735007b578540303bbb8ab5645f24efdc70dae7b291ee937c6584c24cc745d06f1b688b23be4a1ca2e75a9ef7d7403feecbdc828fe2dc28ff78600aff03dc20ff6d08f7dece7610809972a5a000a931ff77cc93b4db3b4caab3d2f555de87bcd6e583088589d0f043fcde529690c850c1eb421cc7e988d707cb786bc3b032a4aae1278e33f5fe8779dd8f8bac43fa8a002d884eb117eede03898889ce403755673f068b16787b12a5e9aa9c33d97e6f3571c1f8be942c79c673f99fc14d0359980461818a6b1f97e7893193e3817f26378e1e6270262766441f840b49ea7d73b4b89f8ea4134c517e4c2abb23c98f7da149f0dd862172422e2b4d6ce9522524b4ac07605d80a4c50013175f9fbfc8ae485053dee08ef5e845dd1f597159b329f8c76c69d159ac5c07ad53209d4d41e0474888ca8548ec2547b961b8ef56847c89fd1ac070f9393e6ff3551ec48f656574ca78b7e02cefd761b696bb97141defa4cf992358761b642b85541e6c133ecfb0f9189e111c8b77957406779c01032bf602fa03fbd6605886f7b73a88133feb4413db660232b8ea691a47414cbeef47f1a428ef3451c7eb2a0eeaef85dcb1ec10b58c7d27b4afe3cc3618763aa9092cc79248150288d5e0c52db04ef66fada5a1531ea4eebe9e874c7a88816db48d6aeab213b332ab5134343bd5962233992702c9bb2f54e5d3438abb0739f0f23a89c713f684ca2100aefc703147fc81968d8f8267fff1794952df8ceec689fd941256b3729e536a7cf1398cac43e3b99ab82db1d4f73d8a1075b80f87e918aff676ebc3f27321cc6486879c06d031c4328e4a3488fc04d2f11b68eeecbbda438aef260b53c048605a78d777035d207c62daa4df18d0d11e8ba74f3ff4a24375b12e3a23dd2bcc40c3b5acfa4244ca08e43b042acad686dd5f4a22221c16fe60c3a020aae91a5b0619d00c6ad77f8595cde37108087384351be024007a8a6bff456e59c1f1d7361d867a81802389901e8ac43cf960013784f0bcf5247c82c9c3324929f467d4936329c364d843125a5b63058e608a05e8f13289c1f86edecc8201ce930567d2b19d7a3d905044323b9c0c75b2c94183afeb14ee06fc34b15ae8b8c698b41665c9c7a26ae02a5f0dfad4885c08adad2c8283433cf53458d56fc65146dc4300e1ee311cacd5de5d96e750f7d8ae59f5426bbe2e2e9b1b8b67d9e49c9199dafa8a5ff316d98b61538fe822190392dca643ff5e07ed3f05f05ebfe6767e3e043acce617a8e351785febaeac42fc710d1b33f32395486dd3a7ba8daa7b1adf66fbcd940f8d2f2168e067aa6704c90cfe0d7d4ec7439ab2fce384f7c6710ec8a3b7f7073f5a4eae1eb43097dfbbc0b616d1f2710c7111966881d536da1c3b37a64ff863cc9abf1d1fd9fa4afb4616bdb6925b8ee4b0aa8350b237db8e1cde44ef107d1e40eed487dd794c1c8892ce13c968923a0d21c7b98905b891dcfc4c40fb92699fb27d463f083936754db8b0ada66a35b7247fc7b7a256c0a919a62bf76d1cbeceaed488c95315642cebab3dc0943d34f508d71bfce4e32530ca171e96231f5dfa6825c6a299e9daf52e1c414a8d85c6f2f813bde91f8bfa7eb985f90fcda4eb49e7d64391b53a03b846e19f6eb9f9b13b1f0629cff5b24e312583d13bad265119fd9d10f357c90c9a13cf0f8f4fb695b1636f37f4ac8e7eeb1d8a73edd5d5b729ddebc16d556e32b1d04b02b88bffe416146d9147457f02e01bef191aa2b6c59cbcf2c16828169e0c7c0463e8b7313c87222f56ce79072485a233e5ee0adb73ee90c196caa5b125459ac184b112f20cbed232129864db6d1f6ce2eb9ed8411e89e566105bbefdcac484a3f78090a80e4d13f50c5b4bf7be89316e6583957df1eae76bf49eb667770e5a83e02aedb0d1bf24c26e9cf4b310b2dd197e988e98124fee94e68c2add42820080b83de48b785ef20e9ead62cd4647485248a7087954e9920f695503492dc324a7cab641d663cbe3f8d5029047108164fbf5ac0301603deeb6525132367756301fba7693caccc170eb625b5a1614e940bca24bab540fa404a9ad27d945c6b8ef3095230595465147025d5595767ce5e6e2ba4b190e9417bf5c12154e950390dbccf85fb3976cb7e2cc146f0c9db64678744a11f7b78e8020ae48c2ef33f9a9b3596b79d12b37d151c111ffb564d7d17d258d7b3ac33f43e88c290abb7b7f864f43392178a542b388de18095e46e5fca72d6e3a275cac89c11c730d65cf83f425494059565f7485b05f53ed33fff1ed68b0774fd785a1217a80d6d6abe89211909267dc5b29e222d87e8b3ad2c64f08b9a3a83eaf043edcb40780859a03636dc837044d8bb6d055c252cac90d40ad63e1be27071ba09c2a93e9e511bae10c4c51bec236047578ce80bd073bb8cfe0df5e42735181bcd48af39992b32cd34c022a4f498fd9c096debb5bf73c8462bf8ccf8066c24d0debe1affd185f473e7836105a588602462f5e4429e57db41fedbd41f5a86e4d2566cea14e2dc13560bc386f70fb74117302afd6e9114f13b7e5dbcc3013865411050bf91d486a1512c7a1c0615dfbf4c2b9e48867e936320a16c7ed571feea735a425b25e04b523c76ce870774ee75252358d93366cff5bc802e01c19ce01f900c5396e05a3849e458577515e72ec34b607784946bd147fb0821144cc68fb11d5d1062d4d2efc522ca8762b6550bb6fd705bd5ee9d7630f030e5951911953616d4f8fdd2f4bcba20d82095374d51d13fff65e7e255ee4bbff5386b6579ec891b0cd2e6be100d4005b1641b9ca0ea6d41f485b663e48d906fc1a1c26a557dd5ddfee9a7b2994bd5ce03a5122383c27fa18615a0093d8f48967ffa3a5830b3ac76bd031b26f09644de7064401f07e727854f94c613e22478d57b23e5d7454a5e57e14efa54f60a86e53e6404ec7b86eedcd67641fc35e4317b2920269cdd8332ca9b0b79db4f35f4b9ff62d217c0c0d69cffdf901c68a9758b49bbefcd49e24cbb0de7c67c73de83e1b9843873ffb85ddf17925322bc7022687941f70731473710065b17719a17918134a448856e3dbb4e0210f622758d5bcfa908f99c08c7b06bbc023a201fdd4b6e55b29bf436c3a178b94f5ae96d005cda96223c103bec12147966912eca6deee5787b0cc27fad8521d1cf342ccb6135499f22408e701e00b9b2a884048148a1c3af0d4ad0934cde6ae25797270784af923b6bd2ae48dee99f840cbe763384472109b5eaf1da814bc0ef9ebde287cda657ba4b10420c9969ff5756d68d8a44ee383c1a01c7f70ca35cc44b07b7cc4eff4a88fae3c532e89d9ee6628e25f8933caf09742a37f86891caeec7482817aa7295d00af32eb7e2249234c15513f7c05fbcb66a857a9219ae008d7c62c2ae9e1624f1b883610661f3094afd354c4997206fefee45ec8f91b822e6e8604666073c5dec7d1a38b84122f4cc1d6e5d1b8face3c62c29f1f9c1073b4b0cb69f1508ab805c80aecd5866255d423927b3f15e7417fc0f6d5ce35695b50508186864299d57c7b034abf5923c68867d8a98338e9423483e04744ec29f835d2214b5fbe88917831eb83f8825835014031de337032bc7d095d1ff0631d60dd173176f70b07100d1c00fa73b01c96559886a83d961f9311c252a9c2995c9190bbab9ef584ec4ea86306b2fc38270e1c86ecbfbd5efb3c3363d6464c9c7a0cc139d0302189c9aee506220328912c91c89e90101ee2808f4527104f6831c496e122e9911cb45a24dac69863b80a5e7c0b3113081529394c57b287d44770db697506d8bb2f9106f8b8e38e3421fa7db4a5ad39e7de9ce877f278be61bc7f5f9bbe61eab1a9156423df270e781327c56fd9d0645148739228490b0d4ad3e9721244bb3c9b16cb1a27c649255922c06d9a7bfc16756c4b6a3b2866adafc7536eb854c96d20aa221783fb48d96c859597a3e026992f9e67e545f52251b2e049c5db25bd3005b6a4a297671e45280e74e5b184bfb7b42c9294606cd29cdcc358e9ddf28783dbf3baa3806e62f3026b394bd654767fec2004ff6ee7e61509a51b1c05b06f6e1e798e646b817f9fcf502a931e2f14d9a931c866475ac80a65f18c379051ba0189671bf3fa08f18dcc71bbf0608d2a4aaf7060d74ad1c9fd125ed64cb315a5e19801e57b168540d7a1f331fcc26a1598e3ef9d17b0a2806bdd1004d3b842c7312417922a126c7f7d6010661909bf783be2531fccbb15f590e9f73a1943d626f3c8802c6aa60b4958423f097f44621b88a049528792679ae86f42850120abf3050e69c96d08e75940c45cf28d4eab26f0b7ec7d91ce52f6a230506d124753a325b30b78fcb2848244446a1d448959d19106462dcad174c3dd912e932da62206ec78eb72b050e2d8113ad29a086b4f84023b9caab777184607da5199b17f71a7b2dd8e188b708d4ac50b031676c63ea35ecd81760c46f9c7d5914cd6117d701cce9fe38c3830e272cd2f1c171a2cee8e2f65990910d9535a0d1732270031519cd22faf2acd5ff4fc8f2f403c0976b765b6b309415d16d80cfb25616ed3eb41015350856678be4ca719c281a272aae1534ae2b07a75e344e8c7ab41b3aa6218b027fdadc2ce7dab7e30ca9150b47efb591cf50d3b6731719e3718835887025bde23be68f04bda5861779a19c90c7c2fed12a177298e4f1dc33d64d055de810cccce9b5d44ff399cdf228176aa72344a4c68e960a7911489b425ec4ab9b83bcfb38924e7e9b3e16f038492b0fe4ff563789dc771ddc01789cb198c4ba3c27d78ae3a0b92880b56c37ab5a9b1a5de33043781ce2545737ee6bb2c2a90a6a7a6a054b3b875737135f3c0e78e224644737b4a7b73f97858c29981a53c6c0e26bd515572720ab53edbbf597232ea092ae0b1fdce5c4c9615e35cba72adf09a1ab6619af307db138eae2f88210fb05d2aa99ffb11fe92d39f28a4a88965d0e17b26fdc30bc7842c01e930ffdefecaedabbac5f8cb9d9b049f066872efb3791924ccd19a0176ef805aafdcd31da70cf0a7908d9e6005e893b62546795cdba9a906f36d1d2ddca81244613350cb40a659c871179e37095c93b42733b5e65773582f185572ae3181860684741c94f07bc4baa6e50bfe6143b01264aa98d638afcaa9714011aa2d131e4298a93ba25dd6c0629a2643069a8bd840224a870bcd6c7925a3ad47fc94463810f1a7084aeba379b7df610ffe4e0cdc8886acdaa3740f6826d014f5aa7cab6e67489336511cc12a7bf0f25ab5f3ba743cbb0b9fe985d6515d5035d938051dac446b675bc65160f9134f05bd24bf27a42cd0fa1d400838ed73239725340bcb4177384eeb266b932c9e0814d5d778fd0487dd6f3e805904e20875abd4156d6e3a9ca6ad677c187b9f64481a6639d2c6595553cb8528b91024212fda4597caad5fa2822179426e5b6861bb7fddea116140460a9cc8290c7368aed033876ae81891331ed26be7dc4bf7311a6780f8da2345b00cb606b1d4416928494a432b2082c1beb699c8375c3341ccba08f30f54fdedcb1a0f895b0291cfc5df1806d0f60c2f354e52573522107584e63a636d6e490030ecefc87e03017b4cc86fb2414cd274b44861c56bb5ef47bd1e37cc704096d110525b54146b0e7f7fcb7f00c7bd146fc557acae1d0ee4bd42e95626eab2a73e916e29c10e65947fe403fd1c4c10e93eac0fac810914c0e9c2903e706df0c8522eb65d2b1d60a0c9745a17af596e60954c74b9ccae9148d9730086721877f44d1ce71274f55581c1c7977037bce28ea5ddd56cdd14c6bf5e814477eb9a48e11aa3acd3b93dfd40866607b692f593bfa6bb2a6ec86e7f0d3f4b33108b32941a4ecf56685b7a932d1022ffa46fd739825cf02531bf6beb934abba007516eeaf7db4fa46b76e1a77475d4dd742dbe8cac07ec66517d41713130991a617b497c41f4137862bcf9f1bef1aba9e4ceeca752b8b2c2665c6ef1563dcb337018d4edddd049ea1986f400d931b63f4f309a721aa570ba73e13821b0297f774714051360c4a121d2c9cffcdd8b5419e0e22fab2d74d5235fb116f9b1d54de8f97814f3661b3e2ea1889333947f5005a9bc84f24d2c638806ed22df300e236bcd0464c3202b0f2b0449675ce4df4f8826ec2a51bac3bb981b05b20e275fd2ece0db6c5da4e79adb8cd7b3152641fb4f8eee7fa30b6165aa4bd5e06e18f8ae6dc7b48b3c166b019287de8dee680cfc09698f9f46071968dd301c71c79fb96cc3bf2469313e7fb4e883fb8ab6c430c3e27d81836ddbba84a68635d0f3ba99266b531eca63573bd41d78c65a2b4c16086183a4bbc2c6d29e104a95249798c76c2aaa3d2b54d30d37378ff01045217d07fc89bbfe84fa920fece8ba55bb3db30c5576152583428c16e138492944ddfb4349cc59966818bd4762bc1f218920da83a3831d4b3374f0958bfab8bd2aa9c74d1fc1f8643e37b4bb9385f4ba08f43ff03d95e7b82f77eb1171ec6792ce31087add60179b3c4ec20ccd79fc11a89f5c20096c1d866ea796188476ff5479bbc1bbb18b86c4bc863f296864bfc7f07cf475780c03b7170c4de0028cd47b7cab77c747b289de5fc7dc23c7f58d5313c210612ef881df2e070ce12fa2925598c05729f28a7c5ad75b31492a6c68bd3d055133d703fad54f525af9ff71edf4ba18a22b41a3de5bb57deef7272521dee0664601fba2579404960a08f242556f596d1f56742331d9afec708021cf9f27a96e90089d26300107c9dbcc7d1918b6814643b17ddad53dae52d0dfc5fa06716b69a2e46c9033ff87ec0d1b600419911518a1ab403e15225dac1f4a1462940d81660097844214f01f22976354b161809a8588c6a82d5f5800bfc00f99a0821147b9785918c7650206eb85a0a1023642d97d10e67ca872ca507db80de450079dd8442e1edacf11594aedee8b228eddc33fa49b77b3159498f2698aa450a67509319d168514256c0e800c535c70907e2cdb59bc37c03b78922085e7ca507a08e7d4db3195e52f8c3ca4b2d62e50dea8e9ce1280d49ffae65104c2746378e07ffca76d1ee35f9a56e4829b3e960bab8a13cb3aefd05d0110ee175b175db657d9f7f3b987139ee7b772793edf626b6e2fe6f873f4de8ed992659c74edad154c07e92b835b53cf964d4e8ab6cc0d72ef5665534cfc9c390bf1eb4be6cf39d76a120de2fed414561544691408f81c63f1afd5387548fcb1a05e21e379a79e08e3f64de869db99f15db76ec69750c78039d39df9831ba0488dbadf907eec576b5f6bc1e0c188815574579f7f3d0dc9000333a3c02526b2192349fb3513f807b34f01289930e60081350d64cf17d037447ab3a8c2663b3f08c6f1bbcbf5251fa6642856e2d3c586d8c276701e612cc2a0d4b0d74bdc7c1d91e1db64a961547e192491db53fc09c5564089a26a54088da8b684a276239b29100db60a5cc1524b8ff4284de448c913ff53c445fb69223629004dd3cf4cef0b26847f37cd1fd5c3d067bbbf7ed48d1985654e88b29da3c14bf79097edab6d19e94395cbe1736fb46a1c8668eb71c73f0d6433fc3c6d1db7e2162c6d7b2bbdd136d91436badc5f7304d92f71499ff1fefd998afabaf7d9237b347c3f704bf9dc9a1d0a593a5ac42a612dd66595a4dc165fcb8ecabaa80fd916f099193afc21c260fb26156039d43086403663b5bb8a11bc0c3ddc82634c16d877853b14eb4823c3572b5a7366064c2e42e89f5542a61baf28ff33e60be2f61c538febf6824d0a88d1562449b6299f2f86dcbeae08f4bb8891caf932665914e6f997438336487d86b30e8a95b8cd16bc8324cc345a3377d9dc41d976e263b6fb3205867e9c17184e08265cdc6f2709676b31c8cbb205109410d44e7639c5b53812dca26333b740d1c8c0df6e1254b1c5f0fa86740b7c3b9fd74d63dbf16000cc626f4a4e7e155abd2bb3896e9d973dcbca6256c0bd8d6806f9fe11a29120b3f73a9290d5e4c6ad6ad4e45d5021e53767357ac3c1ce2dc4dae4eab2ebdb158de62483d1e459af2de208251fb30dee842476159d2a08ab01fc4b4ee1304bc7d087b93c26076b9d642efb6eaf025218ea9d0a0536904d78cffb5de800c79c31b5ab5346e2158ea012c62ab3c01b4aaa3170281fbb701cdef415b02a5b8373997c81baa258f569b1ab61b27f6366709bf627bf35bab5a081d4931692342331e438108a745967057b37147c123b7148567735799b22d70533ebb1443473644d008f2dddb117436ac849f626eaf7e8f1ec4a7b85c5e7ff823206bc8e51428b843223d02155b36a8d4401f5e37ffcf9f7086b42cbe5cb7753c43b66dc4d5f5cec343e1d2b6d7657f3f0d810beadc31f196015444e4671f257268de0c524282bc094d416fa64a0a6bbe2761cd8f5140c0e3d5da9c30f02affacac37417f5cfe302ef753e2bfebb504767da0296f0af0ed02536f7f5f69b56dcd4a68a859737df9573854666ab22ba4c9d9e504e34fa04f17cf426fe8000c2938d61de0b381fa4bb19f9d8eff1a88b6fc4857d1130700bbff5a9f964fcf328d0ca168041b77c561e8b936aa6b127a7356d036c8395734bfc1f59904dbe2f46bc734f688cdc400108cb1202aa92aacc24251a05d49c0fd6451c3ddbef17096027c3a5e013e050b5da21f01c8a020a353522d5fc7a3db61d5561848bd15e0040eac1a2ec38fb56183ce4f0839485d653e15e7dc627decd529a585343e16df4d424c6e7008f44541617736f3ea633051139f996a498ebc534c80bb4eb66aae900cbfec61d37c0ec9a9cdb0116f586d5dc6ac4d5344f7316e27d825bdfb50faf85c2ac0118d9b2d0bdc7e11fa8476049768fa0e9a03cef49ed5c7a96ea4c5741b979670078f5fea0e73ec6482aeda5bf74b63b360be8037f1cf6d5d201f83d9da1b088591de9cb8e7380daec04c5bc0ce4e55ed4e3fbd1cef3c28032ceec8b5702167b9d48940fb5217541e10dc3bc08ca92ac18de2679f0de4561c8e26d3104c7a8c8846c757d9d7540487c228d618460dd912336646e8b3cfc94026961247d19681ceab25201cebcf98190ae4259120b667ba79cf4f89905d3c625a32bf9b1f04beb006dd93696e9980d7dd7db92eaf3b3e27694ee1bf56d9f0298322161523098ff5fb7e617d9ed3a4a1f0b948c5d6b1be71954ad7022147094f2b4adccf8ca9ea6e778d4ad8a31ed3bac20a2408de55cd5dd58b3dcd69738cf2aa83a0d212734b34fcb312fbb18a6a4c7cd61cd3f8af83a312123a2f742f6d8a28534d8612fae51af73a3c64278c1233466b547a0ce5a860a9dc264df2b112de240214838e01e0a9408b3b52c56b44dedc5ca44425dc553dc30f05f09ca4efcbb96657798af7b9115cf50649850382b5967b93e8718473cdd25a9a13dc3fa2a547dd1b33f723b5b2a042ae27aa0ac53cbe222a2c61473804184e92aa7541fc69c0b96701ee6178bc0494a7dcb6aa0087e12c949a820c0a50e4abf060613ea11b697d35c810cd1f760bd7827389e3a80f3e685485dac1b90b0205dc0289b160d00e9968400ac75bab98a070c388028bd21c6627e530c627e533cd49b72d786f2b8a16825679dacad262091aa6b52213cc89e35c76328889d09211d252f26e3c444e1eb976591e8992cb22cdfca7b09cc2e417c24b279015d73623388914cba36186b55bf826a4538fd797b50038f74cdb582b7ce29a677b46275a7429a73b65676ff0a9a59635fe1beb441ae5e139f3b4239b79711113bdabcb3a00c84e642f95f34124cebebba9c325615087184a271255054aba88a2f0dc2109c195b8adb378a9845295650b0a748bd79035e9357161fbb4439c1af5df162f0e7103a60eea97da373e42b84a20cee3280e1e895744da4060e7e5f921ae8bf792fb041aa82754e8fb310cb374e1750a9400e44780caf688229ed35af0ca661cf656f9032806da5310c72ab1d631ce25bac7be7a0cdbd4c36ac037707e4f3460c8b4ce70cc8795a241ca4076af59016608a61d7e752300c42ff3103ccde0302b07b81442acc79ff596fac0e728a2839e14516e79460c3aad710795015cc8c5eaf419b824dbb9d08de46829b3424988dab9086e13bad4f50f5bd16ee073184e29145d78f949be13146a1ebd850cd6ee8d440cebdcbba0f1709a067297e0f2b8d361dc503d10e25964c0fa001a32dd8210ff554888da93b96677ca3bee870a81f1e0ce6d4643dfbf067f26247dfdd507511aebb8993a47dac946b2e5f9772e2a0401e30e3d078ed26e0a0fc550c8859aecedeb189c0ddb9a84e95a2de301f058966c843880a60462d6a56a88ce17050759831b57b91cc490890b4030bc0548841a46d3d02a5ef2fac5aad44bd99d730bda520584520f37ead326feb5896ee3a6b89b60096017a6b51b6ba32847ae2c5a2a9c9f2542f7f957c0750cea2c8f7d8185426f864c301feff1ecf367415b9809ecb4bf0e41bdf298c6d38c9c3ea1ea0afa91d09052f9818e473e774109ade0d6917758c735a3e07c537194f0ac351b7b81d719307346912d5c3cf2a73b30a2cf1daf4ae6552438bb71182f0ca5c83093e36269b180310902904a4e7d8da2fa7a71d2cf96d9888c2ac0517b5542a4048150537d2735e06f64b88ad4c26879d8a2e481b04bc5c8920b77aca4c966825ccc2cd1dc56b1e2011dc6049d99e0b7cbe19d5dc1f733268ddd892060c7c365d0a8125d8e1d472ef2ad3f958ad995312a6b680300e07db1331a1328015e44d543ccee04856d1a919564db3ca61cacae332b775ecf1e0e5906118cf63053187d1b439b53c7a89eae7eda933f028c95d9447985d8af1143390d8d1b88d7952d1401f84eb3e058b9aef9956bb143904becc28640d048a104f360a5997e44f9ca6b9242a1676dbc20a0b8c9e069e257d272b5593c8cf33ca622980a00e24c72584aa06c85190f85f12cca1c54b38630741513491c978ebe232f13272f5ba85cfe6263a0316059bd8f828fccaaf7356ffa264dd2261d08278916d49fd8dd40792f4af8dd5ecba01b40cb984463efe50ccaf15bede777366ee1a26416f2f2463613c9720e08314396f2b294a630a91e1b5e2b4bec4450248846c28ae44be05c8ea4271e6f4791fa7747a1dd08089d0d315b7fc7943c77b568fd5230019c4c364803bfb3997021b589adc51c5f672b4b9062356f097034646d743cc273220b56f29e196f8aa7830447b65217b8757905ed21134bbc32fd639a529656a27333aa6e2f6ae6a4df1ee90d6f277c8ed5828ae6cab8e71e1b772143f3e0b925763816233b533cc673a84ace788f32bd32a4410ae582b40b6e2788037a915caf8788035630ca98c4d8f9d6a63b94f94d95b30870c02f976f8451fff53d4068be9173ab1c97e28395d1f5b1f5966b19b3094078d5e0c44d2fce8e6850c03fb296df3640dfbc788355bb60490bc04c2edc301710859788171f0dbcc28000388ce528d2e63be3fa69469acd3a5a84a23626d2a79222dd086ca6c4a21d3f52c631446591e20d075c6e1979e5864b173f798bf68dde53b8cf1880d480eccf110695705f368a3bb2db78e8da70f0d17016bf89daa3ae79d6a6b261de98869dd40ccbdefa654818b2c02128bef24260486aa70a35c935cde46f910e964cc9d51aa721fc70b7aa4f9cf7adcbdfa1e1f3569a5186cfe1d6c4583403c2a0a492bbde49e5a0e6574c54f1f9f6aadb5340750d5244b8296c1060e476e842a028d89b89e3e79163704efb362e7476c40603be37852e537c5520a7073d4c267ba22281b746070995730332f880686570116e9d11195c9c893f9ddd8471cc8982d02822b63bbbe3b763ea3ea52702988052d03fdd93e52b93986edb3edc60ae37852dcec06b64944a12f8da70a32ac6de071cff9734f0efc14fee6b4a69b209a7f9033c72dcb9a6117d8a7f3528b41c7760e8c3500742c4595e7441b2433b426d5e031b50f89cd1b7a2cdedf8ea7ff1d34e9bdbe720fa985d5b5f69ba286040fb5aee5d5dcc41771632d315c59a03233b54d78b4368da1c4638a1fe4689a0eaa2fdb4674dc52fabb12652b4ec35e10c68b0abd20e49af4769b9c8de8bcc8f99db515e76c19c3d9fa3406fc1127d013a33d4b19c28b45b32be38dab6e661fadf8c6b735387041eef9ba4194b50aaec5bbcce82a7f32416a6438da4ad33b569a93182536965caf2eae7dd3eea106f8433c56273dea15015630aef3ee1ad4a4dd330cc02558d85d1968aa269193dc0d5f2269cb2f0502fa7d405998a71ae8491acfdc6237b7a8f9fa91750229fbb2146aaa438b0a8d3b29670ecfd45f16e0e355ad8eae4277e25539967e5c2a183a6860bdc5dc35ac612aee342b1aaf2a16165b2e47a0de9dbd1ad6e4f059eb4ffe10cf1c0355e1a077e36966238ea22a9b0bd3932808426e32be858f50b9e8795cb7be062e967ee3bb040945003c2bd18e38cc28bcc3aea34cbdd80d9449894c2d8f42082ab0a108689e9d009943030f65c6315afd9b0218920433c36813986e531b56ec7443a898ccb3165daef97e157be56f68ab6e3c7b335ae1dbf13d6a669c1298f714c2fb6bf43eb874496a59030f472b3d35b2c83434092a08fe4fba1b9a2074c2e0562bc0a32a52d36103b9b665a6558b3a5587dcba58e01ff754776cee4ca6456ab50699cbd8bda6cd2045d4316423a86664e42043a9005f676e2fd5a7872878ab97eafaa7397baa3110bcd113bc16100c28f3fb9140f793734694c1ee6355aa39820891447739487df98da3e68019a3fe13754a7859cac6d561662e2b3c97a3149fd526504899204d960f29a1e16ad6f4a1b64f8399089593a93247f562f31d7c08aaa4c042b5a6c523ea7a44b109f0fbd24e78cf1b0c7c759e9e20ab07066836d4de811edf290ce3fc70c15584e39e1f2788ece0a25ce66c941aaa130068ca21282d5094894f116297ad17c849ca1414a5e439fe358c84554b540ce66ec01b33b9160078ec3409e6ce2cb0036edf840edaf14e3fc705f1ca8f9e08fdf2ece162183f98ae1c86f4bab65963a7bc93831caa00d53686ca904457e761aea678c6694328e53e8bc37cb61d2c8c5e8121cefe9cf70b9c36156e5e232513a1f365c0832cbfb77686f1e37769e946fc8c33b587d01e70ec0a4aaa404dabf29c0809f0e078a95481c079b27c4250ff89a303faf4682a4a7ed3ad955dd6a683ce49840eb9de16bf8891d8777d1da9a1a617d2920aeb1f820323b577a6b8887f082e38a17a20a79c66ca4088ff5a87c53bc2f0e592081e364d202ca50664d74be1a0da35e654184ae9b484fae9eea66315b5243e492c1649dda4e5b7ecb7d08dcd0ccaa0b185ad24547b63b14ac98c6f27210e8f0df1aa1784f44c1fe72d5ca222de85cd1583dca2c53c9b25997e9bc91fa0878586ec7b5fc17b40af4fd1042e723beafc7950379fdfcb714b7d79505a59a457364697f252dc6b255458fa25505ddb3f6a103f2c5abc085c7008b62ad1314d66a0b5d9d676650a70bf1067419b8af728e8925a1aa34d607ccdd082288b0b805405072a30e53f31cd095b38948641feaaeee432aff45d90f39910fa2dcba6c7fbc41db9f90fb50443eaf8b9eea317c9b8b1d33a0491d27e155b7ea104caf94ae1658f3cca9864671aaa09ef2b09668e6253430b835ba10aeeffbacbecf996ed883d09dbe7e59bf095131dde19450da8b7a70b1e2eaa9635208cc04346eb355e1f64ea5d4f0dfe08114045e02fa61294f5520ce249e031540de5f7343907871b9fdd320809b4cfe0a2601bd342cd69af3faf9ddf6b66a61e408eaefab0cd8810e50d460cacb29632cf433fd09298f752b9b72ef1b93815075bba2b4cbee2da59429a594524a29040577048e044ef2966d4a3dadb6979db7dd6842c9b51f8771fe79c77fd35a6f7aebbdb7defb9b10105031cf921abcc6d4c7cc706e67e76262f64af387f8df6b2c5a0a3e5994fb9bd39bb43779934d2cdb152a224182095a60e2162fcff5b93fd7788b8a6e8e41955efc31cf181bb111af9d4e5c58888dac997449d9e068c45802014915310246ca61a2e2cd7301969ad4a6ec881c81691b72539eccc1df5ed3f77f69ea3341e7fb7c3ea1cf470219f8f879a299878b8457d5250827d4709b0c5cb894bf4c155c14802046504592f2ac7c3215de151d1438ac29773977f1ecb00f090448214142fe26d298990c43189a34c1000253142229bb32164e46e0c5c3cccdaa4cc8cea540deb2a7e3948582b612f4508c2fbe1d9e4caefb7587a454a2e027596b4a6a794fb06c5a943db36156164ccc9e3151cb72bdf2cd6a1dac75c0626f0a74d1b0606107081b5211b66990c2b00e438a3017220d6a4440053648f1440ac8b426fe485002888b0c0f6a73be2ce37cfe485042b23b199a918f5cc82bc94d59eb9cb3be613f12e0641f15f8bd4687ff62fa867f73f03f6ad7edeb706135c10451c648bc133055172b74f74d6ea4a6a79b85e4f2fa22bbdbc4bdf75ef3de2b53a55ef3be0835defbf6de7bef3d02387fafc6042d04637e058b677409aa4160f017bc29d2e2982e17ee056e3026b266a30831413a090a22a4480286b4507883410306dd10359bcc39e79c71ce39869affabba41c8c4cfc84487c6958eb6284688e08c74acbe9cce8a92d821d9e270e26734e1bb5b9a4e0e3ba09dbc13539abc2c004da989a980724cf2a59fe2527169e96929c6125f5a028303df2935ff5545667de02f52c51906da0bcc661409514a711505c2d612bb3c231b6755b4911d5d1b86ceac952b2ccef48058394b03c0941a58c4b080ca8c5cac4fee83c3734dd98618d4dd9b1afda5bed4e7dba97a9afa06ef1470d63e36a0471de16a8b8f980ba7e123f20b27b112b361370c87975db39d973f293dd06aa2f221a7c484e9cdad460c2c6f47882469e0f7cf1f0bbf267c0c07afcefc21b1c6e64683a58befcc7478ec58e1a3480f30aa2cc9262eaea4b0c2f5650756e6246a05561292ac29bd10547145fda0d3131ad2f91f5e3b546f40a8c3cb71cfbce3134a6c985e8d655c5231afc7ae2d01b2c4c164edaa8895225714a214e52bd943264eac880e2dc63723e890e831b7b6632fec5cdf9838228b411757d693205b33ea74569cf04308de915b99552f629c8dbd527411422a46aa6accb789991972a8f970038110bd451223454aca166b4d4e32d088304d9d31d1da82f2f9f6b41735f1b9c7694e89a269fe3c74f2a042b00232c11062821f78090a17d0c1e5820ac438460a83c039c02970c1c199e617547d243e6a96d05adddb004d74d6186b9fd3d8de891c44577b464ddc3c802abb91f4a3078c1d43b606bd264838b094a4e4a9d2810565cd98e878f14409e967c8dbac28fe269aff99f5c5d77bdeefbdc91028f1597a33eb19f2a3a84a9338aeb1bbab1f457f553fd65a6728624d2d946171476a665558515220d2a405953a1c469603cec71c1fe004bf6125b4f0e1c42583ab4b4603c6c076ba8ca2b46c75c5d8bdc14807a601ba1ec7b0a0256658847257822ce121e62454c765e5880f31b9144f16cab1084554b422cde85cdae7d7530719784f9d5cc3ad6a94737eff4c8dbad20c89361f6e40645ce26a1cb4fa44f12537064509125a969d1dfbb555675447a7bc8264556f0afd70edc2ef793a4cf1fa0f00f44bac341fd6cf81687303011039401c36b77bdf33ce79e37d14e69406d59b6f9c05356582353738cc18d3a8987fa15b0f3720227e10f7a4bb37d18eee6e7299afcdbdd993fce4fcd4e8e6def4ddad333fd39fe9db57e7f39ffc27c4f53ff54f75cc07997ca69a6b9fd63efdf3f98efe1a9a9a2437b5e953549b28d75a732eec3ef533e94cef3e3593fce4fcdc283f7bf77b7beffde6bfec2dc6db5b8cb7b72257266fdbf5e2fdb29d9c777fbd64be36efbef3eb75d9aef2262f9bb9f9e61c0de1c95cd49f9d1681711a30cd7a3648af8d7e85f0757ed6d4f822acfe522dcc461f230ede60689b286a13f3216713d5db26448a4cbf72daf9f96b686af8d97f0d7158e337e4e41c83fe999368d5f5fc79c3e4ff9277debea37e269de1bdfb1c9bf433ab3ac34f8c63ad55e6e00d10196f0c37b77be476736cd2e2cc0821ea0dedfedceaa6a6f9101a9b35fe03d7238000d4e108f778d39dbcdd67cfd1f39bc3adbd5654780a4da1d69bafea15e22fd25fa47a917b6f7def4db5f59cf7fe399bdef537237421920b91695dffbe3790b1f5cd45ba421ce951ef931a976824809ae94f97316c185fc968483e302658ac6754552f206ded3a3f5c7552f294d8f914477b514553794eceb7a0193f62be339094d066607dad2b465134d371b6e6b3d6258744f2560305bd2561556e1ddf23151eb4608c31c618638c31c618638d31c618638c31ce18af69de39739c79d638638c816890986980d603077b7ead7bd7da776d76b377ed7d374dedb5d63ad5bed4460e8a9eba07e822001bbc6089d6aadec622ad97bd54f2bd37e79c73ce39e78ce69ccf9b7fceffcc67ce674e57ecb1f6273effba128b2f72c7375feffdc5be5f9c31c6386b0330698e35f80ef5b2b7b6a05ac8b0bd8897ffb360e19ba0bac8fc64b25ded8b0a9331e6e05d80186dc60fcac67641d8388132157031e700813222fcdf075ef87f187e86ef32fcf9be09ffe7138a5055610842980a24c80849e86440811fc646e6073322840a391a7ec9df0933f3819cff465cb8b0aeeb860b38cebfaeebbf7041a6c40698bfda258cccaf5094f9301a606062623660c080c1040c19d00c1964703568c830a6de255504979cdfefdeacad85e6e5426aceb5fef2e23bb5f0a2f5ff204cd5782949c575f4fa9a3afe64198b34d63fdf5ee555eace4db363bfc4be6d56908981319d5eeeb27fabeebd351b8a65b2ee45338ec5671649913095c44df770bddfde13f0a5621034c3db73028ea87d4d4d6f7acf97397710fd1333d1634de33db1eb756b66f0f8af441bdfbb0d55fdbeffcbc4bdf74e89c86bfcfd2c9bcf67021088a2409f8d899ef93c51f4f7fbbf34fdfd8039f520fdadc0a63e43861070ef3fe71ce417cdd637027f2d15045295231723da731245a1338a4b50a0f769df239caa6fbd30829584ae634ce0810028805575d617dd7eef9c33f73d9320016b8c33c618e78cf554f76a5dc73b8d10a1d056ce95ca09405792508028ad98568d243674ccd505399dc4a5a95a0bbec6a818c7d9efdc8a3222769a4aa2d23c7527cd14d4229deac9cab838566b20f032d1a928138f2aa34888a39f0c9d3e71a81e72eae0ea60a11db97bc1040c469b07d2024b6a106d9d727869b73c4583627bcec0eb16a2464857b02d1031244dda1c608cb3893373aa4a86187b1c4cb710637df3de7b6fadd50b70a09b32bfd6cfb400afc89c71bab11530b72015d1d533d820df3bef5f03cdbdd69a8be080e445f3f06d61704e8033f3d201918f7d1181e8c91ec08a4084636632aa798caaa6f7ea30feefe7df02bc9bded4ba7fd36bdd3be737fb64cef7beffa2faaaebbdda263df0ecbc93fb0644c6eabd1d3ae00c05f08357b5d7e4e066e800440fcbd98350ce7ce539731de47cef9be54430e32168467fadb5d67670566e96e5bdc37707d39c1028081bac37c615f0e6c1467c19806353633da8c43cdcabaa19a085ee8bc63fe7f64edffcb1bef7eaabafd61a84a8d7de9b7b4fb55735b636e7fcf1f048ddfa6f1d857f667151a2c658e39cf3be995b5cc49981727001eccde085a0cb857bbb4b0a547c5e0cec198a7b6e9c82aaf963aebdf7f9e79cb7ee39e79f71da68f24c8ec969de26eabdf7de7b9eb7ce46c07cb557b1ce9c0bcfcfd1ff87431b1b73f8517eea6f3fb644eb3d3f793f3908af80d477ef83253adf5afbab24c6f9835e220004788075c0ef838f080a22a964f33933c4a4461f757f41df1563404de660edf56d1ef71aa9a67e0c8e57ea59d798775c299c1b821295041b1b22b17f9d85fd0abb9418fefb34e86381d727568b509d7b4b309f8ca54f545f8eb30b50925c238955696373c38936448b2476ef3bba8ee06a127c5fdc1726569164acebc07294234af2971247400dcb36b975da7bedfa9386441bb8142d26c70c187df30fd30b4d4a89669dd363f603e7ce78897505f79eadb4ceca1fe3cbc2e2085cd57bf9f292fb1f14d41b396292ac2866c67e14cd1047d40c91a8000b470f7cfef13ad24c1754cc7ca77a3c518266030bc798cb68503e4cc80c14558b530d96beeeff7e75fdc8eb2d5ac2c4fe23f4d7dd9baa2f3822c7fe1139d6eb166dd64bb4589740b53ad476868603b166ff0ffb0507136660b9e6a0f8ac2e339859f1b36c57281befbdb77879aecffd61e2ba45d9689313e25ef4a34ab3e885f765b07e19b8bcb0d98bf665efc8be94517072695ae2ae1a7d7f045e8e5dbd54eddbdfc5e795edca58a91d77d03e146b9f4ffb5ba1e909df7b9157e75589d9ee17ba082fff3d98b385201319ce46e1b8659a8c382e713878f9d57b46c101e2a91f1c4ebe1f002ed41c1123a08cb0aaaa4651ad61ca92ba2044d652f820b3205dcd38a1c5648bd636bb4c25712fea7df0fcb76b8f7a9c2b08c9461225ec9c683b2e193966e9ac48a1eeea48125310a91a5d94310aadcdaba5b118b3d1f0e08a853bf9b37f905f6e482f32251b86c3737889f1b08dcfd9560bd4b9c33c95ddf831676532982357f64a2a739a175b86e3c71b7cf3958b316ea0b1c4b979eae6430d110381c36db79717908179149aa21ffda837913c8b1f7d41acb37e3eadf9311f39927361fc31e6c7337b61dfcb7f99d42718e73c85a7726c3267c4086c4b722428e1e5a5237f59f4e13fec1205055255a8b1a32dea4fc985daf1648a8ad85633f38319454264901f1879a1251dcf0f88bc44489a4a89ae540d564b36ce29aacc10f0870aec49e3d4530f35aafa0dafc293321b5118df1f470c586b1d67155867fc2e19c94b72a26a32abbb01456c0de90897da09e30e5268abe762178245944ac1ea71c1522169eb9a9a009182c27313a391c4b203082c868eb39e04af15927a3a346af0b019995b4ab591cda9690952446fec48d05dd61e51d35d5911afc07e5ce7ca88d20f539239272b58a0b50432d474a52544871198e2ec43c8b6c5c4adee8a15186049768c773b4280605c45a5298e5f8b62acb7f9c9a8c4ae2c4fa9ce6ae808c85951eb87cba84369db98144e50820cf19882434a8101ca47152b66784643d0175b5e7e86246510b5c9882285e584282456949698584db9a9764955900fdcd313f26d0030547c29ab20b108428190a85656ab150ae814142fb2907b6cca25115e434774506b544ca80b6cd4e9a1da91e3090ca8ae362f56a4cdeb889529573f412e453a36e67d60050b3d2559d27cecf9104301c9c98fb43117680b2b16fed29920690a504f15b32944a8cc9d49ed59c19aa283c5310fb8019945b205d9a80c18f93aebc1d5634fce961189e165030885d91174c5912eb52a9cbab76ab7048db9803b4306b3fca861e4075b14243e4b628e5a9b4b012e2d208dd6b696fc30fd78e871c409962437b43015472e96abd82e238ea4a82d414c3d1cac8a7eec5c8902850ced391af982b868bbc3734b53a20126250335cef0a688a4b07787a638021d576c9c5c16db86c8a940327665b32451b1f3e4e8eac5139467cbc9631592f282552865111132046557021addd7909136ba2a7447ac6b6d39c11a0b2ab726251d8c202a2d9cf0d88e714a9cb89d6d435bee605c41a3dbb371c7a4eb060d1e3531391f47d4870896cc8a408ef086e8a9543cc498c6f6e6cef82df271c38785c689e77c0401b5ecd0f0494251ac52145ae13912da92028f27143e78d4abaa3dead4dca333b5c6846c485186f2c9828d99c9298d9ca0f4d01351fcfa8752da7a1e8f10a39d176f553176925011f9115a1a8b438b6459d484dc70b898f1d56333e53403a807a887d4961e447c71b8b816023115278851a5c0c1c3eec130929176e505e4ca9e961d725422e56e478ac888027b5c7478405c14f1d0b2c3a767d980c546181032c7528b00645b549ca89d00cad3cb01a4d2893afae09122c4f8640814d54f548c1d56828ece3c25359fa8c1a1456bca8e635ad1c9245786a7820de974664141e471578f9d9f45c23521693bb250ba95206d89424a29c7168b13cbdede09d0c3728b0b928442225ae22a2b1e497246845785c56e13b3939cc975aaec789a5c2479c0b803010a2ea41881c5250d5d79e3536a508e4f51932b2849af2e9d21222acebad68048699d5676bc386db2731834315d81db62c5060e3b46834e0b14b9b41d7177bd77116c352749c851d71b104abd45bc1cbea4965c3b3d9ea45c80246d0c8887941439ecaad48c7c93fb0ba5c434cdde4dd334fdca857befbda15f4db6a5ec5c1d0922471644a6a3c3c90cab8a5410e55b952a31bed7b260f0721995c782856c9c3efe95093095a1a8823c718347a745d8b10a5491b118555808034d8e58b4481a4286a30910d25d91149eb4e839a928a15a6b0e5535747ad03c284a9d5990ae25604ec8cae67cb2b6945932cebab85f1ec6a2c109101d3c98902135bd20cb1e13f2e7cac5f25c9eb96c612b27526bbb94c010152d3bbc7a6e0c7580853299a7bc2b2274d28df521d88e68895d5c3f25714a2a240674b7e306d857931f37bc786498e19872f22955c02cf6765dbc1ba701aa38deb548ce390f42d5d4376c60806ce4efec76f5fa87982bce37e3448bf205cb8dd279d29146e4c484296fcd9a9d70a75545859a50d22925c9de79447f8b82487aae24712bf22c79c10c2933a91f29d2ace67814393dcd9066c59ba87631e79c73ae45c0d5f50f6d78051cbef7cdb2ecf7efbdf7df7b4fbdc8cbb10356822d295e480297fba8542d1d8b0800e003d38500140e864342c14892e4388ce438a7fa01e42108441d8f8a1647c39258241203841806432086010184020000638803cc20c5a06202f356461306994e0f4de070cfd61feb89dd5c69f0801cea0bb575448aaac75521402f4ad38f0e0a3e61439f7f737d6e6610a1526760449d24b03fdbea2d57619efa181ac09289b606e7bcb59410a2635915ceadaa6f349c0333c02210122df4d356fa4f025681465168a931e0fc7f331a8dc1841af0c3a8037046f496b9b7c24baa1b949ed03f03c1f36e4c9311207cf3733124e54ee1dbfdb7f91352dbbfd83019bef9aaaeb2d6cf144dac8a3139a3eb69de400130b00aef1fd23a6287f64251403830950f5f126cc680f9217896d02ed3a3e03c408249669782942d7c24cf12e2ab13cb9907b3fe56a91b2d8814b6b02d13892edbc3e6aa03380092e811b5d7655903704b470a7153a37762c605579ba96d313591654ec678bcd170c3b5ab6bf0573b93278cc06ae92f92b43ffcbc018aa66c7dca1c038cadf92476d069f3f9ff74a640cb973ebf3920d0c37a69e086efef732a31d1ca3a882b72490c16711c9fa83a089898dff0fb053146b8e9fc2e6e2c9d9edddadd675c2b8b455bffd5e898037da3ea6b778fc43e2be474a269e2f57b154ba58b8f93dc88158df47c81f061b8bb9e0c4d0664253322d59d9488920bd69bda0e21ac2536642fedb162c7c17280f1abaec50ea0397208a24bd335056cee5ce96089beb5905bf6128f418f03cc3da7f08b0fa2ca4238e4fb1ccaa5841f7f032c9678d837612912091e98f4bb04822c49c0872e12664698070062324f60a6cbb47dc79105fde598d6b4c52feee06c3d107b65dce60dbf11c29195b98b3ea49de04482357547780904876efe1a5f627f64e8100209eebe1459948e03f0a240b07188b42a79cd3366163578385f0464daa8405dc5d271200f7a191f3cdb8acd7a10c732b5604ab8ee8140f27628854af54fbe9bed5002a085d865658046e7ba4b400bc117115c1fcbe72887044c082243ab002dde67a8546caf081d3ff1cf8280d211bee8312f770509c20152ee260e67c24266c83aeded265b61658e026e16b31cdea1378827b11f9681f042005ca2af34171fba889986ee41449711bd3c94e7e08578f485c4b05681ebf913600f408eabf6b831b04081860141835e04fb26811bbf0050e28b945a20cebae33caff294d5050b6ec4f62d55c9b09285b94a4c4c59a97e40cb0d8b29309b2bbfd55cbe6d88fadb50c9148184215a4729657eb8f8f6aa6ad26fff80231390a728814c6c4b4ab68eb23d0975e0872e307537d9ac24645ae457feae073d1a3f3524c037ea00a16bbb2c4cfc5517bf8346bc1bdf355945f3116eb9ddfa6ef77fd92564e2d4621e8460a5700542a4fb61a3041ea0e1aba8342dee67c6737d58c7ad2c1fb8e47148e77ffb4f6c6a12112bdfd6e185b6905771fb76fa20bbd3bf51900a08736968c498873ff8e2a6847868a5ea0d5d3d8380760ef0a0b1fee4ad83e7bc2a20be387b9aaefa81e35e889f4af93fd45da1de84a92643df5a5155759477e878eb35f4a55219a26d7ddbd640bc9f7fb78963d7a533592f8cab5b44a20cb536c3d4bf5ed05a73d61c4c3c02f27b13b00c9f805fbaeb05cb69426aa3b0047c8097420b237da4821a08cfc21749488a3b64a5f3cf09ad15982393d2a55c01423bef0735cad0261749c484d5514bfec4a0b3503d95da0fdaf6a495edadb0d0b4e46f91e8a5c01cdae5d6e0c5aac143edeec5b070bcff20640597b4cb7e98f6564983a80837b0768f1ff8b11a732f7c31ac0dab0b82aa6a3af4bc84f0f1c0e7687eca8a35db187497dbd1791b3308ef452b8af33159f95780a0c57d2cff7ec54512d5a0e58512c2ac585f6b63b2460283bc7c3d996cd8b2663ba3731c21822730f4507733020c7a4a808ec687572d9e674a2019ca7785ef3c864a86dc5e2a0a0a5d9d3a34d9c2d6614abbae9a045477c874131b975e207055d3211a00a26c7c13bd734639ab1fbd5efd9296e1ccc53579831b3056512740422200d6c010b9d677c4372bae09888f18032422d627c290b9f4f62d29fb70f7f92e0d7102af4faa992a83d4f0ce6f3c0671748f82f099e6e3f490b421a92c45d3094290311dafa5665d6453436ea05667477d2cfc9a60fa0b910eeb8d59ffcb77a4597e08f85f0229b487100c6f66667bdfc1d6bf64802d081af9e0b23da2c250e34f6b2aaf3a9691520078df3784bac34cc6cd011e4a72424f90cb105d6d2dbc6fb86cd63c83810e3d3ffb0aead52218270150a22de24780586bc075ddb05ebd52299fff0726bbe070b24698815536d604fcca18ca87b32b0025d2bd42b0235d6d8e6eeba99ca4f16b2efe7db7ed48f2ce580f3cb73689f267a46acd9ed7d1e7631df0aa17bca79c338702344c8a87122bbd3f1fc2110811607117882ef4c63a88ca46bf18a60e62367b3c31f72df86f220cd8a501a8105b6ac45233437ea53113dc3ba528027a510d8e7538d869c3a0d0d160cd8ca24d97cc5ba553ce4c6431d8d2b9724de92d79c29b183e5d71561205d38779eec3c4e93f7879b2db50a50258b187464399b007fa4e54820fc7ac78c1e1633201cf661f3253cbc9df722c5b6209421b4d68c33ab15175bc680854baeeb41cf2d8cb829742da3bef3cbe43eac777e3bbf3dab132b77906663c1b503b0ce427c2174315d3ca0bbc927967fa8defd01d7cc6265bf53d5b8a74b5287a1f33c8aad647d4856dbd4eeefe104bab81991680223336c8fc611e45e20f69a1de257ab23cbd27813220cb5e583a299008eeb047217c2eba4930ab3f92524ce56c61087c18866bba1483b782d2e4c1e0d6ff632e42526f4a75039b8bc8da178f7182d2508a335c4c3312bf1777cdcd5b577e23b0e35afd0d8438082a8419e26f3030cc9a15191f0ea4859c5b5a2543a956ed06cd5a82bacb2b9102b496580945d7a500e71537b32077594116aa20439e85b403030bc448f9c5c26132a362ad0c66955f1e53cee8847e1d60d93ae18de7cfb4cdc407177e17eb9b61e2abf7f0336aed4b14cde0686399f74032d83a9a39c8a5b31032093dc8ba28d551874fb508d24bfb07aa243985dc1d1a896db1d37869c184bf0cfa2b575130b31bafa73d31712e86c8e8217f91815ed98d1fdb598478f14306a4fc9407cf514670e03218f607a2050aacb40726f5041725e962e48ea5442a1b41b8e119aa30c48435f0d23025767372d531def5addec7d36d61889eec24e386998edef1f8b432739eb9015bec88149adaa2dd6de0d4b8160d94f6a174e8747dd83bef419c8246ea5d5e898a96d8b04b68f4f2c04026745da980c18ae4268800cef21ddb1a2f080cb4a6d1ab6f527e385f161364a62451c363137328e467c2d3d1dd8ed69988531f18ecccdfb11826551a521b1046ae76876c30deac486e9aca6f4420d66478fd5c058eaa54bb46d1b7c91ff3b4a5a9bf64d6fb61acdb0ebed8a0a026c00caab79a8d987df866275cea07c62f9047971cb890d890acb25833cd9e811b1ffea2185a64d682b68b68538ea53a080584433b308a9467a6bd6f3b97cde2340b92196ce04009fbd470bab05c70d82453d698529beaae000f8af0afa4825a80bd9db8faaa108511998b84d322426ab9e2f15cf0109ec2224c3f3b620242ece69258244938442fd7a64086592d790e7f0f81d9e03f485bab67f69a01959b48ebe7fde7f4e1068e53f0ee97d8c9ae630cd7dab873f740ec2bba4a26fdef7e1023e907cda1513d08fb48a61826a628c64a2feb41c3405bf02b036d32bb70c280dffd454dcaa55d1f200f039f287f0601a7c641a72565687f172faff3a25cff5d8e4d258155dc0792b2bae94e6baedc4d9ec3c3784b8efc84dbf88427f7af14629365d90b700900ed5d7ec3e4652cda0babf602cf5655ed5c187815342cbc6bd160cfa96da80a1fae6eb330802f973e283b2ee47ed03093c0c7a8b521221b71e6c1c78133189e2c53fd65f32c14bcccb6a2a83df716ba57f0edf158f08daa5695b875941a8daa94e0e510b3526b2ac096d417ecb1bd22381a752d910a6cd44ebc620e2330c0abbec1fabd753ab3c818c4537e82143ead2101641e2114b259ec3f2ab9d548d92584db6ce52a92c9d1bf245060d3b12c481cd7fc192f914c57a89b18b1216024a260999909af72cf585575f89b6c5286cbc8b15f8252b97030144d3b705bcd263b4d016d6d911ec992e43c095d7fd71ce5c5ad91c8bbf87cb0e44abc12c905466398a4cd521a2476c7f9628033888733007d83083e64ceeef80980554a419e391a41546049c304b9a39186f8d62c18fed4d57b51dd61d2af8068758e53b3db5e094e93fb6332b1e48303ddf11b3afbfe1704cf7018d9340e83b2768249c2417317b60c1f165f4fc806abdb9ecddaa7067787179ebf644c36c25f75f9a654061b9e6944610eac2ef173b6360343abb111efd875656c223eb3e2fa4f0429365e5c38555d203eb8e720cd8c359b20a00d70adff0a3d8084e88652cdfd8d2a97219be7419efd1e52e8be0f4160a9ce6b2b42144f0812fe2cb99b97076ee796faa5f55f68d9cc83f421e6fb5e3d16891c8c526f815f84029963080096eaffb5c7c47e0af65cabb2c403b5c46f6a9ed0fac793873deda64fad942c999311f8bdc6da8b552b39ed175ab580382bd3cf40285a252ca763fee54370e6c8c15c33d2111dcfb2e8a1bf21f3efea239ace717afedbe5c1e1c8d84a648a8fe596e3c2ed7dcbf21bc82c70e4dd03d92a6161cc7a6f04e72d2ade5bd5aef1dd4516b259edfbef4671a07172fa71f1371fef3a97bba49057049cb42d7e963a57c867cdca7e3f2f5fb6c0321636971e9ce4842f0f633d3f1ce03b17e976c183d04116c9a4cf7a10203c1a1bb6836de376e4fa48ee6328572d718e83a2661732c07085a450ae65392b87df1dece68eca4033c6b013e115038a294527dd25fbd5831e2980b5d533ff5b326edc6f2a5c64d5dfa386ca2384b999e9698a3627dbcbf458b8bee5963eb53d5715e17b24fdae02ec95e9751a9d173a3a4be6b17c93cfd15f593806aff1c46db8f6546a8a9da54776b75e304186f2e4f9d4529a58753d6f9f7d7a2ce940bbf88d02f2357394cf0d707c255dccd0662e1315438dad805ef1ccf1133d8c232b948aef454d9f6e2254ee94bfcd6805ed823fcbd44a5723017b2316858803d3151b5ad23a4b1fd314c6868e02b7b99e10c340e6edac5a64db673bbec64fde0a50356c2e417fa88e13784854eaa72a4a5210c87686052cc57b896cbc375a140b8daa588f59aab4fe57db3ba85a6345e054280b0d0b38a7ba2a57df2d9e8924eeb1aabf17edc3958bd658ed9577430b565afdab6b69a368403899ae7bef29a42e90ea53eb8316964efb1bec2047e440b583785d1f7f94ebbaa8bf371459cf828d9e82a4e40b8ab1f07b378f8a5d247728849660f75c61108160cdbfd6b407ccf6749e985ba75ca7ed758a16780aee561d518f4705ab3ad17034ea16be0196f558a2831aac924513529a09277c4b1d94ceb3544a067f218fbad8241c51bcb4dec7168b22454dc4bd4ff4268575852925e3ba9dfb7efc37f77ee0a4bdc57db9c20fd6a853eb8d97b05f1e8b1049fa33eefd3e73e389d97dc2130330df04a13224c85fd0a5e3c226c5aab3b2cfccc34adf3b0376905529a116d809abd6bf115c064f53a249c3dbaa9779bf5b74ea00b2ea8eb7535e35fc46631c884a9272b5b7d999d04e2c8f7b44af97e146e8f08f53936352ad7c7a919cbc5727622b453a5b97cd04550a8aaff88df44450bd95127fa05d33ea548b93dd13bd763794f94b945def5221d5081d6b5845fb68157e81de0cee2834a95a713113a21bc1fee50f3dd746c15d4925baee227066c4db629c6f84f7d79bce9f6e5657580c38298b284a2b461307ea23c8a068d259e712080c163e716640a40d64b9e1a61f2e552081edb44c0ea0b94d87ae4afd75e981300ef435c777352702e344c26a01fefc74f666b4ed4e1b66d39127a953429b5b7cc447d45cf40b05c9f5506fe734033a1135ec8eb0e35d01adf9a74c406baf51feea480477acfcec29d4cdb40be6afec469b8896429365b824c7c1272955bd3bfa303690621d55013cd62925ebf2e0e6c783ff6e3898b212292d1eea6dd36d0e393d05809217d0a39162c515d54f0f75503ea0bc300d677662c5b4f7c1f203e6d991c58927bc7961ebc8362a37048cf792b08cb0affceb07676bb6a236979bd5c65c2f89c75b570bd43c0f6502ff82d039854fe84085feb0b97a0c1a1b2f6955cfa2b492a6502e05ca1bdf948b5737ebc2773027a2b647ae65745c018ec0923ab682effab36f51f0141cc59978f2386c1a568a4979f39ad7870b60feeea49c5cfb3d30572be5b38d21024fb017bde0656a214449abc63d20bae5ae0fd088c1fb82f24c8608418f32f6ae637201de11a38a0bdcfba2facf51e0adfec487eeaf6a81901e9493c1f230c87b3d1ec8454473969beeb81b4072c8ea43029593da2ef7a26d5d7515860caab70bc72856810a27f822b58c90e35dee953b708b7ff980db3fd9f2a80bacc40d448def57098c4c79506b4ed9b29d9453811c76c7f9da537ba524429b26d113c0efb5b13fa61547a09799d31553d2acf88141593c3e8a88cdf32225293305fe0290fc2364bedc903833c9faad0b48a83e6de49c09f561033545d576ddf1a087e1b305090151680fe53574680cb42880fd34681a72d33d38810255a5a16a89c73391f4e8cde894bfd10e7331e74fabcf305334d7cf3e3ff410360704eebe2a3f173a7e9cf7d52ada52c40ccae5f5a164c28b562c8e7394e74bbd20e65f1eda33287c972b40f768a7ca7ab3a21c9388e7ba23b5a21cffecc1e26fb315e5d4643443bd13357ac25606c261cee5d1612149d49576cb44a164ae024a08029c58b5abee5a385dcab601407938ba7ba3ff9f01454169d7dccad69a1b144fa52c51cf6490b8f4f58812c6ac574c1a8aa181423e733f79bee7e241de3a5b7a7ab288f01ad3f3ca5f5173205d7b4201fbdfac22cd92ac53d31c2cf9e22d5494752a70e895b24e3a66c41956452a3a33330325f3740ac5e1d3f94d0da299d4585371941a2048a68cf6d7a954657f3810a61c7b6e2868853467e51cf12c0793590ef0c90c60af9d3d5b68bfecb9365835d943ace712f7e7134ae49bc6f91e0031cd5651a9c00c62d426f9dc8864c0135479275dca6eadf7ae440416828b44934af2862a2d31c30aaf4e085a71b4e85db3db4689682d8564b58fb49cf3918e773300c8cfc1cf5d41ddbeea1f9ac1dcced4fe99ba004d295f136a3c759a20d4bc51cd8bd65c725a9639c5dbca6b33b41fc914191d65eb262b399ab70cf416ed030a74343c15701762382c2414cc2cf4c6233c190e9acc119b84aa17244a143539f991138242ba06cd3197fba385946d32ffe296998e6fb0e7ca5c6d4628244e4cf1a78243f95ecfa1a63810679428b6792516c07806428d9725c898834219144c080553d3479dd6cfece82a9cdac862314d71d538c987ab7d44b476c9045167aa569ab536616381311fdb36858044f27445c63c3b58d61610bcae03b145bcea1b0d4f90f4a37d2d34629c5d458ea8e5e886064ade253b5c7a0394745a1305ac0c0151b8fe549ea6c10ba44f3bdf17330e336303164265e4a4c509f0d0e93dd6edaedaf6062eb939d3dbfcc7d718b4ee050d0df0d2f17da0d9ee3b8615b817240c3fa22ee5d35f5d1ad25c316239d2a2240e371928d6005a92a6c4ad0cfa6c9247a2a9953968fde0897652080af330e529a7087737e9a6e07cffd14370a57a68776d895e97a993ff3aa8ab7aa9e60131ea67b3d710529b599d11dbed272a31cc75ddce030a5fd1beb3800dd9b4df541a764cb53565f3407ddb342417455fb2628b065c4a894f83addade7513344a0fb0d2904c268914b5593abfab6a6aef2b1a459fa2f4891745801899941e14fd003611be1fb69a115636451df891ba1d02676f6e041235acd339f1124980cac0e207fed7bdf6dd2a830784828e3b94a854b75051939a8972f5a9f26c594141b72dd331fe5e8a7ddbb4551401cbc28328c757da78215e44370057b886d279865771e58fe39ff571c4bb1ef1eca89057112aab4afd02fbc6eeb0f742369557031662c031f7201cf88b15a8d78e8c2287d0981db55b39012929dc3cd1240bc2821c3bfcd351d36d7085f5b6c3398f30078ee280f5138fa4175a908785b0815ca145a9b585d59cac44c4942c43f084c5d26c0304ccae3c2d884c1e7a9b9d283e3e79cef615e51fce7b9b1fb890b63475520309ed9f3cdafc49e433d250eb7818a793a3500308a7f8da1c712c272136379034332e0eaa7ed2101fd3fed8dd9523f3f639131511b88ee646a41427bbb8fb148274c44af962b4319547e5a83132e5bd627b5fba3920af78afea4a511e63b5f62c150fd102e5bbe8bcbdfeee2954bba18a6e025fce5b19b8499c8caa552c83f69ff6cb9cb5d510853a0e764a55be99a7d0e798169ae225bac02e3c2c1941fc17cc148ee4f912a25f28bf6adf30d340dbd03539be29b00e3bca0935efbebce3c914c11d713c75ec1b97673bd090264a5dc08155ca8e4eb914dc0bc982aedb4365c982e2bfdb6a7ceb82dcee0246738495bf43040ebcdb7e963540cf18b5ffb89e1580a85d24128eea7269f707cf93877afa29ea075123bf0a5c4b8cf89653cd747b57202707f36ebb2e2157954590830f23576fe6575cad9f96a3d0fd3f737e3949822b427b8e04323588737e68eb6e739760710437b3da746e0342ba4917d08247e054fcea8a91614a9a2ecd8018d1251071cb8c5c2b856eaa86312c3f2e5d0bc2c17d754e588934ebdc5d582be67f11b8edae7543fe22d9801bc46e911c3fd1232d0a0b10eff1fda10a2f5d024a499388c08480f692940dd61bb0a514de6b502bd217d5e960eac5d700e8be76f5d4fca363ce6a44daaedd16c033cc526754a65791636fe1ed187c3d61b2aaa4f0453d9931d67b5ddfe98539e2aad76a61bfbd144c9920d37f1e620964e8d84c8d3b2576b7d0d8e6adbc40bec08ae98e0a4dd056ebb296149a2a1e107d2c654f1289bd24b9022c7c51f3812fec2c6a36c4e4757a6af2a90dc78a518c08f7772a166c1c970c27b01d580cb6c49e2622994f9beff958d813dd755aa620ccf43040892a87d71090d7564203f20000242289d38534e1404d11cd3d908451c64081c2a01505ffd90a32a8cf325edd0be65e8326984c016c117969e09ea7da671d0089c2a50fcbf34817875a546713a59ca1c099c41d27daef3323fba40e2c48d2b9ed8e1ebc586a6328a1a9f9ab03516828015005328407dcbf85581085b84067a643ea24862261486f20a2923e2fd2e0e29cf11a0a8c64da6d240689a186dc8937ca6044d940ed3462d2e4e89be044555b2e89f1de4499eacc289f60b655596da5a0ec01ce3a709728d57046bdd22b8b11f76a8aad86f684bcddbc08f2d41808bfe31293106d9fddc255a5ee5cfd456651c6a65b0103751197537927cac340c2c122c7e83c31dde8824a83b46f405139b891db81b02b4b525d184b0d82a7194a0d3a45a04b14f6c8491ad481afb9676e27d1c920769562554fcf281b2433a3958b62f9e19dedeb2d09bc5027682e5e2b19e905751067af8b69cd033f29ea4a4a42f723643e1ad11686924baa953f6a794421b2b31c47dadb25ee43ed342fd18c110e733a1177ddd6c33493a5273cca66af99bcedf2745b6e43258328a3d13e91dae5ae701f995134cfb2ed5f20ec788d7d4d60c393b14632ca8a1ef549bf80576229967fbac4a73408fc6eca23e1555144743f0b214eda65bba8316f2dab183d24f36649894b0a91df5166ec96232fd32b35807dc1463876609268f486e0cf981d2c8c5414e610e3e173660306af1f77f012a3e28bbe449eca49f2b50682378715381814582c78290edee39c424d238ac62cb59596d597f2e834d211f96e5ba23610cdbd55c577e709b16fd4d796a8c53f205cbd122da1868b042398039938e97e50a08e7f3a75e617439493be93634b903eea43e28ce2965d6e620a1edd13fb0f353b7d132902e0e1e1267c6677a5865e8406ce77c95e8e40132d2dffbbc0e260ff82b3821fe7c750797bc849d2c9f7c634f45cf9b2fcbab2b311e5108dc597ced0882ee2289c1047960750502d9ac70e1a9d258b7fde20af9808874e704a83eede21126ba5a2c48adea0aaa4e2d6a8866d10a8af1db4e02e71d9a061e7f668447e12ee216b75a4af9e58f4dae4b72676244b437e6a74545fb9d4ca157bf451f71b3565ca127891c639992086182294853fdb7251d956d0d8d6cba4161cef7d5a7c24e9d2ae43fb64d6e07a37ada1f7548d2c7bb7cb84482d040dc96144d68b9f651815263a7a5d634090a62b26d31c82c965e158bcf8535d36fa2c6ac2931fc158e0d6ac3e4cc6d049fb1a5de602b03c7969340a20185992c3411b621c3d24335a18c29ce95ec70cb3b69bf3262022979df029f863269805c35db32adafb67cc2364d1512e1cd4c6d91663777a882c4c776cfe4461da359c62b70d7b39cb2c2ba6914e2552a8d7fd6a58c68a848425870da071a3ffdc124fa248ee559115c0ac9f8c70216913f9128d10fa2d861136718ab9edcee17749d7dddee4659c0e5a51fbe66b9a5848c2395a81517d0a5aa0188851413f54934d21b0a6aa1df71ee7a9b85d586f6e3af0a92c1cf7ef384f6fc1420efb05f0c00e39b073a1490ae7ac14809288fd704e63e9d19637bbd4b8594623199eee11f4d2155f0826b5f8b7fb9d4bfe842d5e66079fccf5a35a3e099382a6a73e0a8f4b4d994fe7042d3c5d36edf8998691b6906920bd7527ca5f0786f183c600dfb7aa88620feadc62169e12e63214525062377642cc967bbdcee068c7a2799a44fe40008db3bca92190340476a61dc5de4daf4a6567a4a9acbe7f12d99719d29d19e1c2cd08ae420e33eca9731d140468ec8628da0c7f0c27671a3431e18ba7e9e65e5307905adf4114e1207f5b365e03799b5c9bc39c604dc244d96cacc1897c3fea04243e0c3cc6dd131450978cb88c7a2fec3aa0f1da83a089eec7588bdb3296adcea29a8f408116d18b5ab8861ee5a494c270b8fa65e8d5b1172e9a253b2a50632b73fa8ab6dc5547a3ad0cabdea939fb1f40b6539b11aab6abe58dcba166d9a00fd926fa90ffa0462d2ae9c54d909586d4a2c5bf80010a17aa10238046ec5fc801fec206e236d540960c6ca00c5d285a961a47dc239896e967b9559a5381009fdcd0254d45e697e881e1cae2158ae1139bdc030241072040c72698a152e043fb4cb89e3c4d85e9c1a753c7bd0eeef5ea9f68310019b3d1d76acd01adb95cbd4a898c5e5f2566c6f562374a256c71b97f6a29c65690aecd3a74174b1c9174014a6f7b7acf24c6307802c82dd47f120a55b564b134391e9a1ab671eecc79947ee1bec950e0d3cb6cf8e8798dee258a5e86f57228ad4cf5a4fda7b30335a0d9818c185801534f7aa9b8e573743c691146ca0fd53e539d76468028c5fe7bffa40aaf414dc6e249c3de66642fe38b3d340ebacf512cf9c6c6094657d200a511545611cff95169c086f0a3c43bbf80973d38d4d45c9bba268efde6b3850f04566547ccda3210e46fc1aec07fc937154dabff7d2f1e7d0636dd2daa7d627e57c2e38ab41745c7b18ddbaaa47180f8283f2e56f56fc7d76511887180c213b9f3d79086516a6ad0ba3b601177c1470d72fc845c98906815a3d8c46990cf38d82880331bd460198701cdc4a9cb0f55adaab2bdb2803bdab6b775c0b9444eb43cda67d267ade00f79cef9d55725fa48eb6b4724a0d1f59e2494564aa48d2c66171bdb2fd4f64d4a65b2a0424383c6609726c6709a0056ef1842fa1f3c6c47912e0bcb216ca97523a51b4af67a8053b054c22c90726ae6b0d6c6ef3d63f7cee92b3bc163affd840a07627cd4a3a80a1418cf27decf4afa4bf06434127ee7e28c01364414583272a8f802b4f0344a6a03cd00e31ebea9e7349d4d3f2249995fd672ed10eb04174f52bd5a771eeb4c1b3ccc91a3b6378c2e68abcc2eccfad8c927a1b3abed406aecd55ceacacff6b980bf9265851e8744999a836c4b6a37c6114367d66bf7b460e8b17f7eb039f118bf6de107126e4762f31f04dcb3505c2802135a07e7fbcf9d52aaee147fb646562c89497328cb8d71f03b5682107cb7b078da877bf1b8e2fae9a02fa4a31ab21db4131b7806be9eabad3d1bf0bab2b0234cacaab1697e07969dc846e0bf03eaebce4ae2593a618b3e16bcb98c0bcd7a021427e7f4726449e737885266bc2da1d9d82adc6a5a1972397683a2c8becb3d581730ccb12c7ee1b81cb446736c6887d6178e5c306f98d0e8c857026793168ea4d6aa9565662ece1182f04c037fa0a642812c70b4bba4b6efc114d3d03ab1f4a63fea336e32476752899ce81e08891f1ba4207d4c3265855f7fcf1ac73ad74a8ab1c07599fec9447004e3325663399ce222f6a78a1f17495be2b174a38e175d6397f33802da012490d4998076ee415112df318410bdcdafeb3aad126098e2191368cc5400bbd243815d237ef0353fe87db51d23e918f2e259e27945105f259fc7d23688faf74310b17675be8e2513a94d24e0366c03c942c7ba1bf8f46da9dc170b195057cf448ec56b205fb50361e6b34f440ad5467ae09d780898d0755654422fcf1a2b711cbfc4dd6d63d6bf27028f0e1b9654872e6e51574718f7057a5a552974208732c578a483039c1a12aca2198f04e949bb0a41614a8481649f8fcd194c6a3fdc37a7ea7c4fa2e73f0b2feafeca3de45372cb857206cb30eb272a5c9b3c2b3a4a6c01cd611cd032bef48e986b2ce0c87422e8b4258a9ae338d1124834aea43916fedb875478aaac7fc6fe70426c06df78b190c5c623ce8e062d4f753eceb44303d0d87f04dcb40d60b23449622e3d3c6c3632ff24f676217c27984139eb3e3ca8b8ce44aa997d76bd84142d85d1a565e6f956c235d5b55b0f686b0c55f101ca4f2dc1a8a2c2ea111e003a099817b87943e80fb7e8d1c7d9fd0e3be58038c55202a28fb9a7849f37f18a40c6d538034f2bf5f21f23d0e8a695e0c0b4951d1b87e2508100a88dc69caca38a2e1d4b337d53fdd7295d577570eb8f6b956df4a69a85732a254b546e87fc9beeac3e0d88cadb982b06ba7a052996e36dbdb82128cf2e9e7180b5c4fd25b61319c03d9eeb02d18b20ff7051e1ccf476bb5814ea81ef063dea6b96671c5b1891c00decb4009d89b4d2d71812ecdee50ff6f4885fdbe8d6a29996a30465e9e49187050e3369698c08a4807cb262167408409a80ddc51100a4882af4f9c3241571b08597350d3970d3a28aee6c324e9abc3fc3a1f070deeddae2381c4740255d1bbfa02870563036a2dfc9d04faafef2e12e56a1e22dd6da5c613ad61ef09f689864880380a3c8e4b23b70696be0ed277aecfe49ce40a6bea1706ccc44c4d647f3fd50588be2829da289478d340bc27e3e1eed763d741e9d24e5e43e55cc9953b4b4460b7ba4a90ddc90dc19a0737a84b3e6a512e28399a3232e50945af225d56699670a164a6e6c0a2879a7ff04342af8c68899cf9866ec2cfaaceb4fe0c5221a590154681c4212710b939481aa7ddaa321f20001e52c0730d86a34cb07000656714ebed75ecc38ca57b282b13454416cf1acbc857b5e4c409228a66f2a669501348fc1066d418e59020d9841f96456462b45a97903c4b58574faf29575bd34c4434c471ddc798e2915fd4708ba0d10f2bc5cc752c3d978340488df4e796f2dc3154348012edc9c90ebda229ed925daa6096959978c59719d93dd02794678f209456884a1562010764864aeb2a120702178e109e2187bc1552eddcf7e245a0b4766479eabfdd50e3403c83652b4b45c438c5ee895b407cb607584e55c65a7f60f3984bebed59325932e8df2f62f65be0341f8466a706acf9c959520326600e90eca77bf4660b4a568cdfb778b794a1d1469a55040041d1d56c762070e14a09ba813deacb998888965634d0913436a39dc38535fe0e7352ea72ccd1a0594a05c5c3c2bcc23049eb933e1d31e53718ddcc6a7e96950289c3e7751efe49780618f061feb39681760ad7f25f10592bfa5d9e615d2d739e55a49c81aae9b28cca68e174f506c891e11c709963ac167a3a92d22e18914c7a6c95bd19453baebfd59b0713a9d45959a9ba8db044b1caf345fb81957e6966cd02d0fddc19a770e953bf8073bcf5298a2a96566d148693b272a6fdf58840bc8361406ad2a03510f1a1274dfa6eac05e1f9758364774119531679e6fc2f22aa04af1885a455fe1c5f1b052c603cd8be5369ec66bc56dbae57b0b39d6b1c9730992a4915079d91f617746f19f748a13ca9e6d1247f839a3fd57b38b175e96629d0dd8cf1f20f02705434f8d8520e88bb161ee94592bafe4621296b4c6d743619075edfa32f7cd0454e15b5a8c546eeda80927b0d1d10041acc02c3c345786d84787bfddfb839e38ecaa9485dd51a6add9024f1fe07c2e1e89dec8f15da4b86791a01a2510742cbbdc753ce0977acdd2a99e1be0a2301dc055492c14a7cb06676840ce53f86fd8470bb2a3cded7c489abf1861309d574fac3bfaec060773afd8a5390dbba8d32e4b7a75e2c5b61b2040f65539824529450d144d1c5cd956b0b17eab1d0fd6bd1924003295cfc740e9a2576d9e8b4f5a82bd7b12b07b3cb20400941100e3a9182c8b2aba71aabe3b4bcdd0e9e24130b1d12b3a672e3c45dc49bf7310b117521b8fff28a5fe3f96e0a3bde4b93826cdc1cbb4ce3266d587f958d3aed38e1c45b2a69b8ea710ded8532053aed5a4397f3a82d48ba6a42fbb1f82ad31dc020b47e1007460466618967126ae83b911796c8c3a4a298d444cfbf44923f48801ed6c406f88818184bbb2e333c0fba98f7821a20235d95ac79b852b00923e4108c387e839f5252e61ea1cfc3b8201bd54c4dc80774926776053032b4377e0bc60ab8466f022159da4e89728a24144596a4115200311a5bc87290c1bf9c9d80f49eddd8e61f9293df35740cc61958eb21be4f93655277cd724301a3bc921f572afeb9285e8d4be12df0b3ea771ecaf49b186d1001c3e88cdfc16a43a3b78795d18dce977e595b372aa21489fdd4b35103841dc976e6c04f9eb2d04ef608e6bf1238999984077bf9ab5a2ef905d39e929e23dde919d0b98cf72cd4cc4efc17040c1cbd1b202f878a9a3a2bc4070a809eb586d817dee828f5bb17acda0d7f7aa6eea403908fa662d0b835c64c60bd3be24de3b5043cdea1515d06b72f203f2763e70cc9a38b398b321c585f237dc0a120b008f1c8422380c98c62dd381f08d119f35f8b93ee0237b5d18d9650e7ddbc48874bacfc28952c0c47b71d909d4fd84bb4bffffa0b543213476e1dcac4d69e7404e767d017b333253d4e365c12e035da5fe15ac729034054c385652c3bd20cbf5463434a074b682b1b96aa736848a7e2eaef9b92caa1d58857e6e8d016619d4c2a29312a54d3540a2f7d687e9b08a507e0c63101fe3545cc29b837a9a4b163e458784136daf85baeca62af8651c4edd0a5251a825c1e028bd65e1466ced3779bb3e6283efe576992f64fee6d527171152d81070be4737a6925c077901d8c781302bca64a6ad898b5a160a1b70902fe4fdc7cccafcc7e7bc7998085e4add0394082d39f73428cb115ca9b1330a9b0f0ac11fcb689685a40e30448a9058b9eea1b37962935889c59310a33dbf93bae3fb1ea84d86d1617f53371ae53652ecf1c7bce13f2295510d45e12ce72dc756aef1cf1e95545c26cc5e2fa512e8e780a10bc4136066163adbbb74d59c06a305e514b2cc7064f93288048fb03e64d7a9d55435efe1ff40aa3df802c1efa8d113455664fc98692d6446e323241a69a76681501f9fa030a8e0aee27a1caa08ba1c35e557332ff674a71a85b427897fa1c0f163e22a21a0cb9427766dbb2289261e0a694a705b78e9d31302c03834656cbab1cf903ba1e64ad20d5d9b3d0d13d24578f234fd4c44aaca39b58373d3deb70928d9343d1d90848f24e45da9251418b488b35c033f9781b06162c367930037b5a13576091f6777299d5494c34c37167a105068219efaadaae8a3bf2c1c278d92575308eb6d11c74b7148bed1b258254b44718a2f5083b365d3b38e1478f7fc02a71b562aa154a3dad324dbef3b41064cd5eedd6879451a56094efe0d252edce45c14851f6a96b99406863f4761fb7bd08e24369066b91e8d04b1f3b566ab17515fccc1282de7d2c63b395de81edfa98d22e64082311fb551c4e0b465e5cd23d13894f393d9510a1b834eccfb0d126f46a2f9a1e408b65879bcfe0d3b1f567946f56a8202405b6e15ab8d46b3dd8a0b29075fb6bca0835f0957807c42d8ab8722fe89f12941443a13a76afb03a4d2744e50316161820b80650e1aa6ff12954a2ded400261b87a3e8ddc071d16d01a87da604a7268073830a0ec8c2e6b131da8cddb03d99224cff6fbba18bfa1243a6070d7b32d8e0d4587284b66871be0a065a98a63e6c48d44aabf23c0c44192cef6f299097877fcb6fbf1a57dc5b80ac35bcbc8dfd1b858f6b329052ce8acf470d296f19e8224c42640207bd40aea12e3cf68a9ecf912da1e3055cbdc15b3ed94cbb044396a5191f3522903d603698cf1a474b1d623177e83564775a9ab585731d61f3c9e1a3b5e89c696c86e77a6a5b1a5856a6ca9f621a470c95e738810c49870c7db9e53637d813848377a2988bba7c460a03b53472ace1a83795f90630fc301dde0e0b2c31d7b3d7d70cf70a1191cb2636e5ece8a1d634e2d873932e28804f349eb19bff5172ed63b5881c496adf5bbb378711c8b5e9848b6f29436957fc63fbedffdcc5706d3bf1bdbd173d995a397e348b73e4cc47560bd3a5a500c2d061a2759a45553d030d989a3252649bcd001d670df5f9b810440400a5dbf04a955867bd8cdeaf0739cc447bd46d79b4d403fb5e8ccfda1660fbd45a78cc26f4d2cc0e06be09fe1670b62da1bbcf011401cae1baf6cd7cc61f38e802c7aa93a8b272f87f3f08beeb7170190eb3a6434cb60a682b98a973c34bdca571bbd3077335259eea6826361be6566fc2ac46fccbf9849ae15221fffa393dfbdd2c356eaacc07aac18aa828043508eb6ac9eb89df13029a8daeb1f030cc817bc42d849e0cbaf2b5bb1fc888ab11dafda7896886c94d545b04f9f922b54b18383430eb47ca19bd994af3af4d28805906715e9f4f208ff9661c3eb6fb4746c6e41fed26198b2379b6f431f1ce33b58f7844b9df0f59c54b14a1caf33f23074a33562e3004011370f3f0cee2b19a0d1111891c19064612cfc3ddc74ee88c58a72e7fb36f9a95663009de2311d8d7c0206654d38803ccfb9dad78a5a3b9e08f2c1b30b311a3420e185de814f52b98d16cd6e49763b2d61efc68a0078812a823c57907e34a5163ff0924b7d30a37fb80adb26612c0e29c8cc18a9783898d3738f20029e000415e380bc3d1e0583a71659fbdbd01b8820a0c3339128c9bcfd6bd60389334f83cedfbba547b2328381aaf540c72526854210ecb033c85214521852c4dce2453af815412636863d270cb8c44595a106df879c0709408ce274f0a7415c49d7256a50cff50ab11212722ea23f4017bf65e1dcbe4879c7636917c6d746affbc19f72ff2271e17854a45827a27159c9ef9f8a6f39929865f64936ddf5acd5b5e8bf7b4f86103b9ff3d8778ed20046875e790156ee8941ce486fbceb9baaabffe9e822a09ace12046616f9cb594119627ae4e69bd4e2a29b5fa7b5920892b1d6f9004851a7b39a00fff2580cd7b8c65aeb620f26c0f14851cc3ae8042651f4dab9043bdc896c747d1d19ac73cc68f77c21c8753d855152abe6d82babe13a8f9afb5284b3d1069dce61e3bec5567d3e9509287348935b739a4b751874b68077c147646cfce60279c99ce761b0d73cd1f520dd8461decf3ae44d96ce6ac44199545f474e5920a263ae181cc4b84917d2559a09a03e459185ea954d53984ef417970f4d490e0eda6a42f571cd7c930b32d43fb6c7adcabcfa79c15b771a7a1543489b79ff46a6ded4778e94b5c4f582bfa5c1c8568d12771fcc5b67e6d417ac7ef3a16d8e9eac5d4627bba42783b1c0e50364edcb157d6324ea0aee82af226da91adf3412827d0470d5443aa0fb66d8b6a3a8ed2941bfea2380ab151bcfe3a4bdc80e5db8e304aed3e2a21949515edbc43f124750e42c63e23d38698a017768b79a6ee6c5c65200d7a2c2891039e5265bc5592a68a3be817bc556733d1c2a849f526238b13aec6834bac9c7b04487e2336a6e7eaec564e5b21da6ec6893cd5008b5ba93d42fd55aac3d62e1338c62615066e13f0210da7f23707348a57b59e8f548ce8644cbb3162b9c07b8481f82ccb80dad14acee39d34c51581dfa5034cae237cbd4c605f5eb8bf2c9931b2010ced401b843de43dd474deb6a50075d8c8fcc5ac2e3dd943710398e187e7c4a62f71c3a0844136ecb3d58e0c57571e3b7c71affbc44a7011e2f35f06c4ad086504886e715ccadef6597cc4b241c8752aae6d6291013ddaf83cbf481f7e9b8e1da9b4f98094497c509095137e76ae5c1485da872723fe2381b872511ac6dbc38344f33b3715eb30d995f477c669b4cde939dd18737555f77faa6aa1e6ebafd82bd6f6a112ba796b994cd5457e93a00132394d8d37e908ed15288afc1526fa6a3ebb923d872d67c37f68212cd7dddede8cc37720ba540f71dec7fe83bf5d3e368c575dd94cb9d6d579c92cca57358f99f2f57c8202c9224072da0682f428b4b80258482c015fe0c5ba21021a070f4e61c3001a6064f7aec5a5423b25acfe808d7fbe4e62341af746946e34a555530d8cc37ca8d2212a06aa5a742deedb8b165df64a0e347ec91642f4a12d02ebd6b66f077053675a818f41aea664e2e64287cd0741d58d0aa2b0b8ed56bdb9b33a8b15e620e3f0b5b175aeb7a88f87f779d18d7284750efa0641b91483c23dd57fb87be9bc8cd524cfb6351d78ad837dd44168f9e2768d0f098f41047a042e5101cfe1b1bad2c54fec1e817fda9ae6874d29c054cd96382ee76e2180f10a8ea3e32465789e9caab09111feb37b1c2c0428b120e10d3c77d22211fdf7e9f68e738cc1042c4d3caa0b849596e944ef4601f10107af3e341126739a200213410ed3138807cabfd3d3f9942a80f8d42c963ada37dab0e55ec687b757ff1e241d095151a62b6d5a96b38d06172151e6101f8734f215c076803bdb7e8e6c4d0f38de5ed5bdde9848a6daa0e37318ac3753ffe3a0d094366ec162bd4c0e05e28a148064b8c706b8baccea0588465b44d46b334e4e10d2c74f6eaa9c1a0557ecb2c4e4c9e7af0f0fc458c01c4d083eab658b5623ad972c0f25f1c7ee70061ca4718b775d283c4b5c8c9859563c7d66524eec6086117de2142a172bebc4e62c441661a2d223bee4a592fdf9721bbf83b2e92b92e8688445b47e40e1fdaedb1195762c2300726c6f7cdc59cdac2fabdac08c753973cee4b9ed9a1a0ce7feff9d64be5e329927054db0db93ded6b64e42ea80fd5443c17371e2dee0524834d1b7edad3abbaa65d2b0916d35b945ad4e5cc822accbed33393f4f6e5760ff251ec10b729fc514e6fa40fb32ec3a662ac867ef4fa15a01490e4b296fbe9cfcc0286ea0e6968754ec05990b6c1342c5eb1160b6b47dc821dbbf6fa4205893531550ac7b40a15b24c4969f47b85493ae7e0c41f88a58bf14898e0adc2491e7f0a92bfb97da9da2f64f425fe119961e54abd078d6cfed31a1dcbd1e9d0d1ca80d61d867f0fe678e7da8231d7b4943c84d8654a0c00641bdac7009ca987abf6d0258df62165a1a603669e75ba22aa71e7d41cbca317eaa16d523bcfc9ac70e2d0c0617c1e32bd85808cbb4328db78a71e2692a39801cc50987b9453be2c19eb8064201494273aa8a6ce94683f0e789118538684b4efd497bc3b645cd276d5f318b727fe10e32253cf9dc8df04b73b728a109c8d627d308f94671c64a5547f167a1a695a28abf3e05212392003344982ef83d68c391441e934a7737581f95293d611ef7e7678f51cbc2b24b0012af58836534094b23a5ac7c71e31b84d99c7af2fa1432b5b883ecb1832b08d1380433c10be04e16369522fac0a0804b8753f57603ec0dce4c0e448371312de0bb9b200ae74f1d6b0d1f748d332a44929a54c32a59452920155034c034d03ba736e7481ea49c4a75a17b8d11b747f40ce046fba3d2154a660b0103564e44a0d5510a6e0d04828c99187dbd34ab4c8a6dfde5914b3c5acd23184932ea960111f3076c8e283ea32a2a2042268eb90a1ca90284e7e0053a5a7a47564ccfa19a384508304556313138c359b65ea266d33859fc89c8ac999b89f683f31d69d39af796fed77937d545f2c7eb1ecb9aa7caf6ace69ce7955fd4ed1ab53d466767c5334a3d9ebfcf1473fca5522aa654b8510f8de2c98c25def6d31fc8f3e82f6af43fbdaf5cf9ceffc39df67de18dfbd35df1a678c5f04a1629c4f8ccf75637da21dfbf33c4f9eb5ce99df56db785d73b46bce4fbd79c641f4e841c434ee7cf9bdf76457dbd7f9bd7676eddeafb0c2f66bb31ba6be52165d772ee3cff12fe1f7f3ccd94c9bd44cc1e6ed74097c0620d01e810426e8f99f592380cd8c7556a248cfb3a6a818b7f44a9b925e2de0daa9348969a0650c010ecf89e475e561454ade0fbd8abc8a63d703b406e3312a9e82a4f2bd0681be8b6082813190db5b72c4d63ee79c732e7e19e24822cc12d273a5ca0997292740aed4a28cbb3adcc7e19d858a8062a508ce081e1df18ccf8eca0f116a22982175c192285d2350952065aac6510ae655d41b18b707c42fbf41e5ffb631a0e0aafcfc2736f5c73a9ab9b56ec7db9155554dd9bfc1897e107edabbf736dbff3add6e77b9475b177857d52f639db1fede7bef369c5debcf3d508b7ee2ae4f36c1a8563b2b72ed57b1930277d34161cb3951a3cd64310f7bb1ab9aa2fde45b677cf5d5104695e7f2acc02f15afc8b5596ffee2e7ebecaf9c2dd020732b1dc4db066000df399bc4aca6f9a3199b44199b481cc252504a8e9349a099c245d4852b788a7983d40409374fe200811283339be1c9af54cd258aed1c423d9d4b35b05041d625365dd8c0918f2d30452a2ec62194c1271d39a6927e60122e257d59ea8862ecf22306a9221345f4c4cd126594a050136c7274b9e2830648965497932d537c18be418763645d379e44491191b0a283071973ca5019375bd2907132a4fe865ffa188cf4489c28055941b641434217225c8c74240929f901e58748b425844d72f081839737565fa46859556961a97a1a16b1f8cb8082d4c3d1102941af85431455549b2ca20fe11a5cf5dbbce8715c8a5a5a2247d450911d6fb6dc100789901e4de02c0147aaa9227178efad27ebfc69beedac73baa63b90046aeb7a2a4551544f29cd21c748ad64ae9df83614bb29fd3908c3c16b4e3d759e5aa9a734953e6aa4d6d24bbd467769383be8c412321c12f56c2d6a56821f1e038b5eb31743fe358b79d96f33cdbcdd6e37a3d3501311847111488506cfb0b2883879eb2a8af0661610c3d3047ab1738ff8458a9c5953a3f3754ebeb5fa240977fb361cbee530ea31483f2da57ddd1e10c79b269bf66bbcb778db4b6bcd3f93c57a1ef6aa71dd680afa964ce0e83054e4c68ead235167cc5091a1d2da4815a4a7923e84b0780942c7d08e01a0a05881f129a19e2cf9debd4f53b417993fe37befd76d5f9b46e5611d0fce66f6b8b6a427d82e13d5f87972b46840bf17437992a44e9d5596c0e2e6dee9ab2d18472daef0bd8da832228e152929dad63621b5bd83b86f8f55600e292ff4d3f96a2af979e862453980edc2aed3551521be303019592a021a193d8911fe964a5ea0b8c981a4ea6b9aa6699aa6699aa6a959736b13176735acece02f9d74419eef3d6759beae4044613f7165cedf4f7db6b0ff7afd5a3b830ba2204237dbce8e8dbf838bb2dba533cf09f889bb7e78295bf6d971d665b7d7dba4fc7b903edbd90c99bbf232237332dfbcf7de402f74beeb59682723dad3f6f4e46e32196d26a3d164b499ace7b3e0111289c233162c5aedd33fad7b3d5ff7977c00008baed37d00fc095fe7a3c0e168a4b8b799ecebd97136bb5f0ba920fa69a16c96fb295a1bb8d686083d2c7039c19bfb80c5efb10173da9d6f6b6f9fa7b5b1a2b5e518f32fa603e1f671c651278ddacd295aefcf9b8e1287b5f7b5aa380bb5900e7231c4ea69b220ec6495110d5d33641e42c200ddb0347272723334c083afc7adc6b01b046196cd68ae6ddbd999af6286deff477a9bf1986d1c7792a61303251d27013a2f6f3b10d6686f3939371bbc9d5bce4f51c29f9193b1dbc9b1d1c8b16143dbd84981ebe9a030608cbf576b3d84f7bd57ff744f0b699ffed5da9b831a2b9f0250722ef001e1bd416dcb7dddb3097f4dcb6b8c9fbc3c69b1b25c3e793261b480a409e998644a4e0b638837d9155c00d566cb19e659014551de0c1a20e4ad1fb62081b50fbcda0ab49624176babc0769101d73735511d03fab98047ef8c5e9e11d8d6afad4da35d4dd18ef6f3b648130730e530dbdfd61badac8dd1fe2ef66bdefffe3d4f67ab7dff7dedd37eec6f10748db4daab8a8f254c2c1ddda87ddaecd766d4907d9a6c46bc6194b88cfcb0e48565ecab4917c2173e56ffa99e9fcdbdf1429e63cfb4e9aaeae8af51789d582393efb90380fec2be8afb4b557bb6781e8cdddf7befcd72adeefd72ef987b8db78e7faa7a8dc77ca4ba4675cda99ac3c0e035766c5e1440bda0dbdb3c87ef9fa777495772be4bdcc342d8877fc0fb46682636858dd887b130126b61bdafaa8ce07d9e59c945820a42b1cf8f393f31c698c7476b1156d1b2044f909d27057447b029eea07eb2c618eff6d312b2c633c3818747b779f0a64af3d3efeafbdef9ccd2c67310b575f2fd6208c895b8df24ea98174b99d4d254d777a64694d490620d4d78fc786592de7029cf60eda01a8199ba8ce5288865eaca68e484d61ac61034439c845980465e80b292944222c8441cb5c8139023252e26de0cd18499854844cf0822438820518fa8607d8d4320462e345b16a69f4f3c71ca318ef71e437f6df6d955009aeca78aa7d13a80f21debb01001257004baba52bc51f0693414bafa69b9f41680c19a5b81f657169dedbdae34585f55edb3fb51b6888175954465a637c5ca326a99c253c0a7c5cfd14efc74b7b2bfb67d65d5d6851a237c50420a6acaa6ab0a3ef5aaa9ce70ad469b65d9657d36aa773a35613ed3568ffb2aee369edfd96c9b9fdc87fb6c53ffee6d9f76bd54cffbeb8cb1695e7cf5bdfdc45d60a329aa5049bfdab77a9e7da72b4e35ccc91037828cd9a2060b979e18215fd22099316a03c5081b23e13aa4a944a418b7942a1d9ee50d15a62723218ac8c971430e25989894595e579088d78d12facd2a254746fad4215270e8b981830dd70f2342c490416918ee6006e904eb081408863d51f44c179ee751539628505660212d80aefc387998f71a2f82e83aaae2d50687735dec73ce7ed8574f25fa5d90d166df7f18ffb4599b820bb0d797f9586ee7f371b0d8976119fa61b79887c562b01a3b49c9794f2644c47fccc3f89596208fe97c0e566bf268c6406d574841c7ef8b9f470f48e173fe79c6266075c5261c3ec2dae4db787ec7d3d9d0de3bcfd4bc0e1be6008462e5194d00d5c030897a1eec00f4690d0c0a9d30c618e3af856c5df46377fe4e8ae01146e6b3a3fd6a2503b34dd3b55a6e7302bf72d617eb39b6f9c06e799d224dd2e8c0e54f74a5463c4b066675ccc1cf8a782d9de8819b8df9d5d0e85865451a978a5898ae9951c773fd644ba51626c629b6f4a97891117a363756998459e156ade3eb6947dd32b2677e68d332bf350eea53c174652f95a2e24ca24770dcd8cde0e8d94904cf303b7ac9892bb2d2a9c88d8331c4ab3237a8e080ab0b4d8d03315d1ece8aac93874f41f435285d8af245a4f4c17674a9509049f89c2a38bc7fa27af1b223e793b791d9214df25c4b04000467e7cde4fd3cdb2ec908bdaeea50d18f48f5a9693015a64da9534a4c8b46a92b434a565248bee571ebb7e4f1e5c98f1e958a240985245371b72ca4ee422480841a01901fc985e74b4d67a7a64447c0a2341d4285a8133a4489681135a247148976e1b2090db3f4fbfc1f23860f0adb968e01b69aac7c0a4483a812b4081d4289d0a0ee44ecbd683c2293cb2e264570d08df6a3a6224c2c4e198fc8e452ff73aae7242548f79e2fb5204bac3658c5295e5d4da192c3caf32106958c2e652298b163832ca01d2c38442f266033d979911b39153f72244f72158cdc1c597a42c266472a651904891a88d624e921ad476750c9d9749ec37326f3b28580ac1a62a7711f37d646eee45eee2ede13e2be261f2fae840b791351f328ee61c7a0167d3d4259f1505f9f6fe22eeea9ddb48ff4512375522ff7cf97046eb37a67644e66655ee62eddd342daa77f4636a28e9ad2545a81f5aa5fa880315a8b341b8e47e7b3fb49791a27f112afe9cabd2c947df9978139c844091551b998a732553e66ac8cf6aa2eac2d545db828559d399b4708c1c34def5d90ce2fb8de5a3e585d69a5d97225a668cb48f39b6894009928514249992e30621822c2061f7074259f7c41aa5bfe3c9f9df6c94c68607243f08c9938598c3fa29430318365c4433de2644b8e89e461b894c090113e601e99d43040b0ec800420b22534c45b39b0aeef12c1fc6fd156f53e77a3f13191fd9e653f8c7db1ec8b051bf08bc566bff7ee883be16ec79331639bbd2ac9558e6e75afe87a9efdc4bca7ffa6e8d5394c3435abffb973def8d3fcc51745f7d7bcb57d9c8f8ee73cf77935d6ab6e6b9a514dbf0e0683c15218fe28acc34e58cbbbeabdf7aa3dfcc10f9ae3f8e43f31ccffa3a93ea7c1fca60b16b68939ce19678e79c698f3bc73c639d3029141acb42c1d6e0d005893a5001812074362912c86511485d22c46f60186b771da31d477e982e524f3cf08c9dba37fce6a808a5ba5971222fc7042c76ac4239271490281fca08c281568f411b336ecc1b10a71abe35402228030f56d5f0381eee3145b1b18f952683c5d2d275f69b7a6baa01fe8e54de8f62f49eababa9d0a2e1d8b36d70d04e1672c00d7f4f8510f8dd1c6e39f0688d51360d6e72095ea522acbc3e88b651886603119b57da73de19c83fad589702f07ec57b3e0a60ed6677a112e72d07ea759705507f4aba3c24d0ed8af66c1953aa09ffc95c0aae420fda451702c0e5abff23a77cd01fad4818cc841fad450f02454988ef0e0f15cec256dff69351cbb83fbf4ef70ef80fbf44fc1c5c11dabcc21e3208802e55e0be4545f64de90890c50aa73442aa364a9154c9fb9bdb148d900aa671678407df0b7605cef1f4c35ef93c1934e2f21dc1aaab450fa2bed1c59459ac72f3b04c353fad139cf01c09e40330ade85e489065e110dae62e837b9b62c30833a3b90620ad9e4cddec77442fe587f098bcbeb62fde574f7bacf0ad526387c6ef015614d5c8391677bb45800602c0c53e4804bf8e090c0f5d19eed9a28282fe33748e21270dca3b667d6e0be6234710f2349729c883b979f22c06dd579666b3a03bb3887bd069c5a06f41dc2fc48f2c1ae41222a11b4cea1605086d02eb2b5755135693fd462b01f2ab1b013a75f019b124bcf131cc0c2368c9009dd8822c0898601f3c2d6b6ffd80f793b67cab5b3c94c70b75ef8785c753c8b6c932d7a427c30a12be6d492f020865a981cdf7bb6f1ab97c67d49f1777ba8ed3c551b317f8636f0c39b357c58d3f5a9883a7d17d6634082fc5fa56f3bfe4729de44207c6eb163d2c79a2844e347045f299f30023fdeadec661e43e9514d50c2e7416aa5d323a3ca514aa747ae066de22703528bf44c3481461f26378ab5d5318e777b3882d5fee2184c7ecf51844e0abedb772280940a6f1774649a21f74d929622efa7515785acadfae8860490741c5b8a3c211415036ee2262ca167e1d5ea2d247fee6e9a593061ae8f7cc314bc342b578a587d1dd417f84d24cfcbd5fc12629cd89fc73290eaef50a2785da53342dcf2bfafd99bb379dc4c87f3bda0defed1ae455de7b3347907a2a8257e9fb8725975c71a0ed28325740e9b6d540d1fc256fff7157b218fae8979c8461b67aa745163c73ae22931d65ec805becaee55719a9fe00fecb1b104848b250dd3401fda9461f7becccd3f109edf8c882bdcc6c2dcc07af099c76570795ab0000a22c86593848f6393f4d082490a6b45a09184d29501a2acb3221c6ab9fc7681a5a395e1833b1328a7627164d1a2bb3c77ce74408b3f6a671f749905f13d5d716a47072283161558e352124729c18e8219fe34d5e5387ec7ff7fed3d1c063cc64b17ab77ce776660ad6a9e47e2d18320b1c4ad9a8e06cd62ea9259b0a36878955b1e4d4e206832e9e6330befb3905dd9fce8aabfdfebe49aba014bcf90d3d5af5270e767d3ab6e822be5fe82df93b9c4276802c054b6ecce064d4a7572fc1fd35b4b702a411b54c5ae6303413d814b21418fed1a9bab3baa49f7a48a5668fb881b507d8625222917eb8e77f87f8ea73e7c49753d3fdedc086fffd274db07a09bb82b0157180ebb3d7635c0628d2dc320248e2915c6e89731a22e4a14e9620e34514e267f8ae35b4e748f2aee91e2402ef2010131c2aa39e832fcd589c335c02f5579d2b9d8ece6a6c727918d6fbd57b14912a00bea4091418eedb8116cf4aa8af0c4508e5fe1d4e98f4f62d219dfef896fba1d15ed6bce4352377055abfb5b45d9fbc7efb0ddea34b2677802da6ff0f34ec64c8e1bcb8f5e3106e454f97ac6002160f01ea26a7cf611f82d0468b3a9f2151bb990d3dee102f5aa3b4ff266427c0cf03ed0524247806930c6d606ed835862a632e63e424cf711c6de4748fb3e42559b75dc7e2b8cf3022509b6fe0b2436e71077c9f9d483c894b6062a10f11b81a0fbef74392977db0b29744c01666d9259952a0b52f4a84fa2bdc949503df534648a53a35a94b3bfb542e4c874602623328f364ff8a29d50aff1bf720da0fc631e64b491b63d351559a89c9fc6aae9568b01b80574950b91434a682b0bfe9a009eea24c3d7f53a162d4d2f1092265c438607e449055912bbbc77995f44620cef801676c36842e31d38d80dd5f53c274a93ba655823762d72e13c66fd250257731706e8ecb070cb8b97b2d78641bca3deedcd6626270ab7c9c794cbaa43aa3caa55ffc09040456d16efc99f0cb711ac7bfc4af5c964ff7ecaa95d6d7d8719319748ed5906e1c806c4963f6be35b2d63609a2a06aa59622a8dfa673f6582e818ff8700a40ecc4c7a6be824279760848d89f134707d46af9976d6c82cf73b9b4f4dc2b54ef8ae3b222444cbfe2e2f96ba4672561960c0920f82c57c82d7d0bc010fe8ae21452c8165388da32ddc4476671c2d130a1c84732e1d1e7479e52f532125db11138eb5c4d45e5c4ad5c0657224cf175e1d3ceec059b800225c7340317ddc7a23e69611d5a9c4535b7e633cc5eb59eda03c31ff1c19ac2198c1524f6d9be9cac3758569fd4084d3910c89cedb71cf3402536d8fe82e59fb7fb303c74b5cd635e0f7034a96a0e89934fa1cb976fb28ff06c83a33ef6d7bcad886c51ac41e65996ab1b9dc17ddcb21518b1f5b0d5eaf6e45395b78d899b434040bafdc100c2b396dd8dc200706fbcfaa32bb1cf0904a80e0a42deca5fb047f70d09f9ae710b4252769e86e5df06b0dd1e70a26394b8e7014c102792b868e4448a4c27f750671d2344fabc363dc41d291aedcf0ba1ef01f741ce8c1b30856a1249e32c182dc42f5f5c7bcf36a2b80e7d441ce65665a846970d88eef0a4ce056430cb985599b21e400abb100200e80975bbe343a540a22f8a59d0a6423a8c2d5c23c996e988582da0dac29a2d5e7cc79f8ed083234f97481e56086ed8f6a7c2961aad8ed905e82974d74151428a10b508e84721726c9125e23b9d77dbdc476a9a60aff7cec654f40e23991c33bd85875e066871696821cb7a7cd68f9d8e30e0281993dad23dbfca3d4e6f6fe3214c0ebf55fedbb7e750f3b8df61c108d0bf7d37ea54e4f989f30d182abad90ed9f61cfa5367880db9693101164118e15de2908c6ad6b4ea5f64965695a3dc64604fa9474742f9e54c57637591f5dfb59044071bbb2ad36763a8c2051fec2cff3449e923b7368756e317c6334d3f95813447ff8450708aff87901038075df1f36f002bddcd38045b171b00c087788e5c7462f5c37bb5851249947605be6925b5f53d821561343fae131cde1ddd452fb6036bce4b38da6eea6f6dc8c402a61ebc545e09073e6710009e6c42331e77a28b93bd6adece1e0eaaec74e17436c5384397021a36da893f1ef243a03e0f7fac69614e0e39271c389d997f2d5f27669d9c09e91868103f38d1917c8a92487a5d927b50163195564a9f27e819d341270201a064361b91be779ba2eadd396695d442b5ecc469066bc4632df7856c81f092e3507df134e206caf79f0a1583f339e0502db6950230b185445934d4a8b9eeb22051200916c8b8a6f86bf102583210ecd3affc6b7e007293f7abb7c86d1e2d4ddd2bd86c94cc15084d54fea204446a20d27b76613168233fb55477748692719049a0fd6df92c0d79f00e1949d3ba9c74e756b0e6129c99a02eca20a267768950302737fb4bc3c39cdc59ca01e932451b77a40f7cfbb93da73319d2ca517393810309fd2438a6349bcc2cde91b536ec549168ee83627c37bb672d6b9bd023e3e4d811288b068c4ac80caede4a12b95e0fc53a7b5fe7af5e5edb6342972befd69c209673ba51afd4d2e64f49737104cdb4e81bb7254b658793ea5d7ed6579eaad068b79effb328fa28e0abcf75ad89b0f6e731ef2bfbb9da9ce122f10598c02baee4f5f7904584278b0fe578acc9fd6183f0ddf41c68470cafd1e405bd2f02052626dacc8f2d8ac9d82c5baf6b0cd2b0c49d1a1f2b8e2fbe9986b155c040cafecd4845615e1e254292293097bf5320c7951c498a2fb31268c0ad50c200a467d9fa3da6119f64782c79448c365d14729900ea1a086de0b6ac851618ca6a10b00a0ad23cc225abafffd6a86c9fc382e1d8a229ca7e08e77f7a31f7798a3806e94151c5e3585428d41ffbc09b5fff2b711ceae772cc90fed4c77615a94f950d35d977b68c3938968c37bdd05e0789de7616c3e04f96c65a82416446ee331fbc59aff71a11114a8c6a2a674e0e6b9405a700d0a002e14941326424b6f397c572f0bee490a5b6c16f1f905921cbcccff4cd24b506fe11ca1bb585d9d69259db578f585383d466a695596ecef458a134201420cd60b57f8df00d0f5027f53334b6dd4a3fda30253576cda6082109117e99352e22be711a41b7f299114324fd17f55fc0f81ce2e9417ea0f191f21878c8f07045e02104bc25a633094069ddb210341dd986f49ba93044484c9ef23f5b42fecaa3b05d0c28228e13f8d5cacf6ee797b46fad8a8dc9ed38af1fd793f8a2a8ade87947aa3a8cb1888cb7507021abf03d2060585a2f2aff1a6ee7250256693fa756af1e49baf24b0caa69618362a54db1bfa19779254f69a91ca30fc59dc99e47520a6aebebec94f97cd0e45d4a940bd6abd63acf200980604eb45b950a43d6b9dac9efca0ef6f20a8bba08bf85b4034d0cb7d5e024867519185443292b1983bc817209ea53938b91894f7758613d7ef3c2181bad515dd4bc333a9c672ed41ee2ac319825e40fb9b9ff26386c3c8b13a88d78a87ce40d4a0e7fcc3ef33338cd2ccbd4013a47b8452a32e274f6d9ca3d67795be11224ebaa666f810f73d8956f6438fe3b0798e177ec89d06fec0fbebf7cc4bd14c0c7c2dfeba7cb3b28b83b30ef9f9db3e9f4f50696637233a50bb2d596a476d5b0b7189ad5a44f43be8098ed7fc8034ed0b79679923851a2cf31b40a11ccffd517f13d239c8df77d7961745143ba9e6e58b6bfd56244e1b2937dfcaea3990d439ac06838d0efbe81b728203245076fe2a2f770ea1bd7fb0f62e4030c365f9c5148f36414d1f59069478dabc38f4063cb790ff6a2714c4fdd197cb1a915345a71229a846db07c9ab7a26ad1e12d90b215fc48c310e3fe78680f8dd8b771b904845179418c15a0b1524f1077ff4c1f807941ed696074763f810cee93d6488ae0e436703c41de1d3a05b8616f8680674f1a0fc29171e1c4ad25f839ba99f3ea439c0783414dd06ab46c546c1bf5ca93bf290f7e0cd943ac4658dc3916731f5a460238c2ba4eb1215918f6b20a9e11ff758c5b209fd67f9a2ac5ae9323b97c6fd035aef3e638ced502ea307b4339d90a38377991d31e07b01fc0ce341b964775ac9136c20b0ec0ed17c30b2429c3e86916ee3e45b7d86ee2364bdfe32da02095a68f176b85a661763cd131db2f1bea0ecf4ede0542e4ebb689e793ba7374df3facfc9e1d4bcf5c3b2f54d0ee5835f3388dfc428bfac37bfef8c4629854a03d70bc3c42f7a7e2ffe3c3e900e27f770f78ebdab280c9c0de8a6dc835a115ca9b2041564ce8a0aa43acfc147353c84d4192a4fb4acf98ad0a13de215137f8d8d4540f90919fc162292da45a14d542da3bf5c9d3299431975817307d343d6872d2c187669666416be20cd3975304dab6dd281ec4a48b0ac6fe1c4b0d72b83ace36be4b3181230ad59cca8c0548a546c5dacacbab4ee1533fa74866bc750b1c1f592da460db3b8bb10eba8a6294b1bbbd4981b7834151e1ec9a55a28ca5a3850b35537ce88b126b6abd5e69c33e68b3237471c1256197b5daf3ad14d2f3e876b3f928fce11b680cf4b0938188cf57c829f1a19acc584468d8338414b44bf139932dfd040737060d565006e8948192d09521b826e50326b899876a6c95b1ab7cec3ce30b70df5279746d96c7578524b44f2ef0c855dd14742dc028257f11f43838124907aae8b0cae47d8715286d05f55c200f8c8af3ed8a211f165aa4ed61db808c46c6335833abc063a58e911f6488e08e7eefb88069922e6417d2afe25c5cc72d70f9797fce670e21bb4070179ff55ff26560da06490a4b2705122c83af38ff8be4371bad41b20db7e5909ca87b65b01a2129dd980734eefc4f40e99c56a10c46ca1fc3a013dc87a0a32d19a2be1f3dbc8655cb80466077c541a077d462a5e606e5e0612b21b47fc783248839190eb01540963bff5b7ebbbbdf0de406e2604069c8ffd7d79e13153b1e5932f5c0c69364d4820b16cef9940c4e448eac23913fda3d964a0d048b9b6cfa458341e77fc3dcc4c979a196c59b56e894b1b8c4c166a39c69194d375ea84fc16b2b8c24a45fdcfe6712767f1a4c0487f33b9b8a3e126c3e61e8eb97bd6051b4c6e88df86ce9a83ecd7431fd272255dddb9025c2fba4e24b48047a9aa6cbf7041315fc20fee9ff3b74024ebfc65ea1f5bb09b3da9245a3133577c432106186d15f3e82c9a68b5d757e8ae4e10af985cd78f66a129ace08dd621917564fb0286d2720c5a5cdfa401adb4249c049887d1f423ddc50c1c28097536b21164ea315f300f5568bd7f5bc959ce6f3900ab506e9271d323364728f6bad7212ee2ed9c50f1bff71d7d413c71998025d5be9eb3069c7aaf9b801358423b0502f224944f78470519e48d8b26a9eec8295223020d1e122c010bd36cf6c950a4e301621fc42de9c51b1025a5ba15db6664d81fb7a13953b0aea376ab65b260be091e482fa6e2c1b9683cc0b1d229132fb9027c5acc586a698811a61a61f07d63cbeb2772dc7d8ceaea128a9592f266b0d75de8a217b4d2f1f22d2e4732560c904ebe80a21a440fa20b2fbe5c1f4d17c8838fae88f6a936fdb4151701492a5acb909cc54ee90cc538c13a32e72296477a42d58af4517256981decc28a84b44ac39c2b7e1b2b576d9bf0edb5e4c319b4f376649f712d27fdef6fcf2df95e016e8711cfe6f3c33b5360d60d0ab669f32f0249aad4c774a99aa39e000eaf455467746a98cbb7410de9d24294428d9746cb4693276b7d30b703063360100f6a32e9105f1009669e546819c2bb2ab25fe09a45a0e111c616d4fbf7617dd2a8556da164c89622495e9e3b493a43761d676650b843cb9cf4c66e5393a2ea3c37bf27b697704742cf146dfadf431112c034e8b557f606bd7acbfc8c29b5982f3eed661e4ba3d2a639dbf3eba9fc80b9417c2cc6c067aca38772ac50f1913d77b96fed8faed81906fc701dcdeb3858f036333743b78758aee009e41f7d12ae43a040d44e985234ba6aaab0b83052581b10690ff25450e91625eb05477483f5a0da15ec074ed3a006c3f7638c76ec4c42db9e05877274d27ed900feab51fa5be26f5ac903e97291b462ac9814331319f1bdda1e689a94dd2c07dab3cbc22f46d51d55bb223c34a338c89f363f44de0509db58c6e23c308f256c5ac5900f310ba53d26939381724c3cca825f75338e4751fa85ecd85cd6ecc4482c5ae799ca5bd798275b2c5bc57890d52ad62a292ffdd5404422882a1bb9c123404c1eeba93b9cae2fa0b3f5fd9fc2630a9d22dba4260a29eab31da3a464e893bb09de61e1ebf225fe979852b22b48f4cc469778f166f1d05440b154e271b440917d27cdda72c2f07a625cb33fcce906a794bc3272cdda43d9d4671d941e44211f25a27f890784d64a13cf81afe2b895d0704f2454a10fa692817c9cb71ac8ccce31328345075eb4356f27519b014dfc98974c5234786342bcb099363457ada849d202d60f761689385ee3d56c328e3b1337d761f82acdd130ba43c4eb2dd76a94c7a80c63f5750be4228c4ab92d4d8e21cf1407ea78e38edaae2bfdcdb2543f577bb32c03ded2b533f75b1976174bb49e137245c3b1ad1608bbf8fc08c9353d6a00ce5bdb8665a99fd6b02c2659a0975bc24140ce51582bbaa3d1c00d1261dd7500edb0da4049fc0c7f923827c715403bfaf0195890eabe4003be2bda94f90e3fda23b7856424a0f4750cf963931a0e2556db9b27beb3fcfb648145163da1ddbc6c5a413392e617eb71153346758dda80f1bac0df5ebeba592cc8c5bf258d1b50c3021986702946b7724bbf2513443862b4111ae142d0185f8b1cb19c5b2bfea972642baf2845f29c758fe73866de27ab0fdb5398af900c08e408d25ae3a5d858b190343c0de3a725e25735e7f5a809a3aea2255472b3dc4b5a6ec81601fd6f88d556a104164258879a69a1a06f07452e9814c3bd65109f02f7441dad44852fb48239375128f9aabc5fce8197a023be5965ad6ca5feed7fa802f499087e430df72ec4f049524a9ebbd3ef814ae56f90cd9997c33f23fedc781403bbd50b5238dba269f94d105e521c94f9944b6044a3ca0051b2851e6ed38e0c15707a296e3b6481080e6685db6f9fb511bc75038d5c1208850ac05d01bbcd878b02c8e4563cfe8271f1209604108d0b532b423922cf318a9485a91b1dc611a8d568443e98d2ab19c3490dfbebf0e2a24addaa0567b6de92c3d5fdc96d17b3ac1d7f2a68496a381ae1dbe0a06e27b77784f2de8561b54e3964273167407ab519d9a28b5ad549b713dae88dcdbf773556cb5bfa8bcecddd24f568474f1036aa9064be5c809ec87384047be4390ef5cf3f637fafe3af51e6390e141e2f7f6f0ce0f80d174fbef1585c240d75150c61fa463a4670e698867f93982f2a9096dd5b4399d75b10744df3daf249f4de85ad76ef77a4728fc5f50d669010c254f8226601c3bcb8ff2e08fda06a7114ce7a01f5b4682742bea8abe6a3fd74bd255c2ae022780a618965706d5fd0fb061732c35399cac064e1518812cd3c0542eee5ae5e78ffc0f7670401520774f6a0db1d1e581ec5920c862413a816185af7a09f07d4f5727266b4fcc72886ff80f62caee9a9463de75a5205b4c5cbe7921b171aef2134cc447440b0248fbafaeec982100ee8c001396666c3af5cd28ef91d28876541e4e561325b962ff023bc7f592ad67bdab43cdf4eecb16101a771a74f254c1c8b21d84706ca8b3eb7dce2b7f6868db0a0d4fc92dba3e969ac448a49fb66aa0f76d702c68e5802bacedd4158bbf9c84821279ae4802fc765da188ee3177b9779a7af9d9bc30541619eacddfd33ef697ef6ebedaf183e7b7f3b5b5e21be3617c7f8e4108cb58f6017fbaec69a28dd2cbac976e66750749d08f0bd854de1a9f13588869c7970832c9a4fa27e4c8fa11bd8869ffa392dd96f885f1a0d5ab1962994fcb4f4491b79bbdb6fd3261b3ee29470eb35bf11ef38ac8ff5a9baec9fe5f46f641747c1d04693579b3a02c9bbd1ab7ff5fd3d0efc019476317a64b9d986f3a3b4b7ae9d0bb97f82c47778389372677e341eb24aee92e39eb61df11c636a22dcc2c8a5b110ad5f2fe376e934c42738cad90be2016f364fb53d92ae6abec3f7da48fafab522a58c08ce3f7ee4b0dfab8d595f91d5b7abaca36a99a0d00d70cbbbb5e19553b5844631ebffd99de325b2a412ace9bc2454259186c8af5d7197f5594e4db761684274b7733458078f41e77b7904c748f7c61d80b41451667df72214d3abd738002070b7ead283bbf8e8ac3b741bba3e673363aa2111001548561730522418675924e439dcaf0479d8205018f89b286d33e37a09bdc19076c3fc186b9f7bd648a94014f46a6d1e079043dbe3194a6be08b527af8449a3bb9f164655fd95dc7464fcfac6db1d939dc81cb9448c9b314f3cb1e1d7ebbdec4f58d2d3316900cd38b51f6343e15b830908978780f5e1bbdb4e7afb9699412322df32ed82422d2263bda889a2bf46d59e1d66b42be5c3a7152cd3ae851da1ce5a3fdc3274c8d2d4f92e19ca591b30770f3af122e8161b0d5f5145a092ada56df405711b0cf760fa6e83e2c25f8c7c5a20e11e0c33ab85d6b5ff314a4296429a792a2dd2d44aa0bfccaf99703d410e6f9a72bdb521eaa65df33325a64244583964ea153df80afaa04bfe89a00b7b79e31c71f258d86368bc95d503030e3962ef55f1e5dc6e91c9aa88666adf347091add0bc2a250369208cabb23664443d36bea345199c18d425dc87888b7f24d3ae5061d7daac01b02d30855a896617ad21d8f59f26dd693192a2dfc81d2ad65b81af311eee8902486da33f2f528a531918fecba4e68bfe9489380575528dbd1d06840c615703662d3d36772d19140f5b0c004bf55731eedcf9c86c4775af1b7f8fb6c394d70f5559197b3bfbc65a33eaa837af379c1a2687c505009d26f3695c4ebc1165707e7a9843c9f2cf47c0ded6c55342bd416b85795f0eeaa0b01cf884bf822577c2e8f93bef6eee91a99e1c05bc3054f8403b0f144b48e545586abcf224d69caa28fde723f49b3517f447460c9074a93fba2b07e514e7f0501a2b37347a4635aa2cb88d48e24b396ef9c4627f934da11e96e1ee2f7586a9a77595ebcc7384b039f2a9faa8bc2722395f1e0c80fdc7aa3cb7fe241702367db459b75ea2d6f5b0bf611a9b847fa0494bfc6bdd1e6a5a6eb37698be8a533d9243dacf68544061cedb4aff337b2f9b01d93767d0fc0bca5a46ae62da654cee5a32715f35cc62c3f17e8d39dfa420063598b227a09f613cf73dd2a46a5eb7ec335d3959aef7028ab8750fa11bb37b641d91ee4505cdf6711ae757ba209c1c3648990b4b4620e42ce0ae3c3e1ed23ad38fd9723bbc163ebd9cf1c12c06dc5af126e43eaecc75592364340246d887a89e599745904d98b4d05c89dff8c3772e19c529d567f48129851b02060a76411acc04d93aab47869e252315cc6d44cef2b715c918854f7e75f46da6f93b180c0e69392d0e0426f3b065d0868df292908938ce2961f5d54e41262ba932d5310d32dad27d71ae1a29784efd936491049aa9faee1da160c944daa470413db0e645ee825da51e50feb2c9100f917f080507774d8c3e58c70c49bd48b0e2da2831f3bc0802962b51860521f2eb358ae21b80dd07a853b0c41cb420dac34be39ce2a97536e85807b865c4a76d25c2fa7346fba8aaf2c51a545545963ca703130832e0c7b77f05aa6bb66ded81b64287308bdc2dee9f0725108fb7b41f863cf0b48a42edc71112f9dd66440a6e0b2c01c0f1d3f770bd28834280cacc0fcd88a56cb179b77e832f88b8cf463dc00ad9f1e581c139d15f1ea2623053b36f2e32bc8e5bfbd2aa4966194f0bb9d100c14dc00b8dc731f5b0d8b2222c972c313ae080c9e85f2a9e438382b4d2093906c0f5895ee81b9e39378c66a0ed0fe4403051b7f4168d0b5f7626d2f8d874da60468f5569780712894d636c38e6e727c6aca6d5e9f8d80693ba0608a7b1068287a3f835bf50b5564bc76277e320c4f85d3aea05b207063c6b5e8c9410d3a49839e62af0538870007aad11766a7732e1fda8443a772859fb6f24d8876f8134f26113a8cac3d167473ae9cc9daeb7eb08202554ee346caf05389a4d4a9cf79d0b39712f5a03b2e913e2ddacd81b46f329676d4658aeebe253a6ea83e44e77e04f594b2dcc208ec5a90e3062845c57de449131b3ac28c08b8124dd85d4101c85b59ba468a604c9694edc2a0489fb207e88de0481a1f73e57d248c79d5ec51be6851002a8ae2bf437844e9cc9e016e4ab7abeaa1023fd2a777c7ff37b1e65b66e8d0ed9de1fb2fd4542a9894ea0365188c5b99351a894d64eb7944c6df7d57a59de056767af43e80e8b243f7e01676e1e7d49b8be16494be9bf366e4261085dc66ffc70a5620d245fb2f9580c9ff6304435cadc3b4b4cacbb8d60c64c418a574c2c6280f5111663a9a91d2088dedbb3070c0d1c68888d6a89600c28b7e9524994793f6233a665a4c4945b5c1a6645ab4e47606cdb16d0c96c9823f8eb01efa3493e52eaed44586599cb7c64ba9e74d1d4d2f556d0c29dec0c7a018c38634762477ac58f59ef08a850fb609430ab7ba0b0737c1912ff57ce0a0af2740ab20031990aa69556253846fa25a16138901029bae9d994b8a85c8eb9a00d240561170c4a0118c945b8f0469b1d8b2eda9d9e7f6adce1b34b21407053f96f575615129bf25918a9dae653a630615e159cabd12268e25065fe3fb678d8cd64faf09a62c5cb3e8f8aae60c58abe9ab9c38fd7ba9eb0ce674e855fca96b2b5c5f072b06401e691c369b2b20b533db80e57a50a43797600490e9d6ecc9f1713b38a19848f15f398e5560cc496709ed7875b11de822c24c48a8c44e8539b0a0b8beb3edce7a07d4f1a1f400326ba39b9047667822142efc7097968a672ac9c39fcca9f0badbb49c4415f09e03aa852cdc47c7632fd10ef35376a828e0a4742e71a28d150d52afe8ba319251781a029cd07bb5beaafe5d8faf061f99c7158795ad825bb3ab292e612e12e585b6ef7892bb1895ca289432a79596584c0b4cff5eccb4d6313695554e44a8e66e2b64927ce3089e10ea4b43c16e05129c8da9c4a7ed410894cda3066b13122612d6fb8d636fefa67689d3ff9a92aeca4a85cd459545adf1265740e11c7ae3ad355a051cafd80b043795ee310017b1ac7df27ef863cfdffaf6692f82c1b9d7fe6ae6430b8463761268ee24ead467bcbdd1e8b00e2583a4d36d87e49d4caf607aeb60488d39f26d39f3923e2aeed82b64d88c2bee5bd9762891e95337a219c7af64ab047419aaa56211d18ada6252b315dad432d2dc4ea1d09adba9b30b65b47bbf1c1b1ae9cbb2c106bd061e5bab7f6fbb87e2d3a2e2596503c8e4a80dc688c40d41f787ed4f5dfd968a55c465fe63adb598210da48c82fdced63ffba5479ef93645bcd137f48fa04a02df7154c9211112479a899aacb05b2fc37746d6c2831e00e7f0bef84c6c363d23feebd278e75a93f7b35d5657a851f932114e55570d72acdabb4cfcb0ae5dcfdc410d12925ae40a1cae6c7a8cf47f7b1f4645f4399c55aaf74a1ef2121e513fd0d5d99e9bdd6692021d43d90475455488d5c6d291ab69bf29f4cb5e8653608a62f1359ec672563cb78bf3fe4e57155f8aa856c63539bf7ecb2fb6ccb5638ab88a6131512300e4ab38c40755e1bd8cd1d0b14bf714911fdca6bed981e6ac36b39400053209d26d4627fbda96850ba1a37edf55098cd04732680104f6efa20ad664228a8a1af24ef202b77f9f1692f2b6aa659897205e02f8a9b042836bc3da00accbe3c9507b1b3dddf4f83ce68e7d6e24dbe97f3feb5a4432dc0fa2923fccb86983edc0fe245a0ca0870eff8f3aa0b97b1277c34b83a741e00f64f113ffdcf2c90d79c2fecfe201d2020860ecc9f74d558a2a1523a271b3228c5db99f27c54c3c4de84f9f6ca9a486947cb9f69ec4adcc77b0359d82863592349c67dea92e47af8ed44ee8a061e5052e77dcf1097efbf622ec8cd6f90d3fe2912eec2c497abf09f2c2901e557a7ac21b7344298f8d7284eaff917411067b1c352063f3358e12c10fca7216af55c5d994696ba9ced8d1f133c696f3b1a3778e7318e4da87c48dd951cca7c75b5ea51532c2e57e30876a12a1296b1fadee5945ea5bc7065bd973ee5f5823e5edb863dc45004c34a94a98fa24432447b8620b015bcd1aedb40964fe758f0d74a7363a1e5250a48094bca8d925d265e01d03c7591a13c1388dafe23952b08264e4f84c706cbda4baa43bece5afae314247afb18de64601a317daa9393e1642b2c08e75e25e9f0b07b41526656470b70ce81df396ad18dc5eeada03b8d9dd6c2c0ed11aa8ac6827f66b3ec4b197f89fc743b7f0cf5f78ba37f57436e6ab7995bd807c93477892095d43bb4ef87ae1166f3e341a1e5663ab084fddf15c8438a2025a3c70c3e83e56c34586626d80c8a58a564c26f74c1b27130a02d09662e3a2fc5be94c268d94140929521224499090202541428204091252a4244848232145428294146912a424588ecfe5a675d96177326e5bdd487dcd19542066f0bfc951b8abd73244b188e7005f4b2b040176780695ebaa9f4816c3f311cf53539ff0ac919d975a7807cf8d0de0b5bb20d16dfe1f57703273e13ccbc32dacf0652a382c52cdc41d58bd45f018eb1b1abb1f462ba46e058194d942b1315bf48014818829a801575454fd34dc2b3ed7680c3a2c48be8cc3f46c8ca9aabe023e8f521b1f92a78453e62917dd32f75919aa42c35b06109f943253ae3451ac81670ff50c13f2b10d1b3fc3827682c1f23c162cb749f693b2b4c7f4e12b828f98d18f25b1ad42f2130c870c209074503e8cdc161958d73401dfe2308ab865222d39471b0dfa89dd548e625b55ad7e7864ad014a70628dfee926eac8a0a4e5031aa2f818f7c4feea585d341cd0cdf69983233165f91538120e246d1cf59438410240f280f8197a8863dce6f40a5b8264d91f7c98edb0edd8a667b70745dcc4a2f97028ce47504c7de9e2fed4b7a73de9635389521bdeefd054d011cae2bdd2bfd1757297a9125743305cb0641f43bdba14acd24516494ad2edcd633ff5b8bbaf3a96f21355eee039b8330b2e78068093b2240176a38ee7c966fe891cf2a1ba01aba346be4acc3770e28869b07c284a41635dee42a45788209be20f16d6ba0bf1475f7f5119a1b5ed743134846f060c50010a93701e527058d9e6b37d0c6818b71e4bf6637c73b6f401788edaa528366437aab568842cf5bb87c98142bfad0d413d3cde03346bc3c2bbbb97cf6a0df277940a568773d8a68e1f6c476b6b26bb7b6577f74e49a62403b701b701ce0162e9ea78235f9a04b1dcb6f42246a3ccac3b8ea5bfedd340341d2cc4fb9dbecc65b3a0a1a6e25952d89ef5cf0bd3beffcec553076e1c734440e03c8ebbceec9bc675aef1a5b4b562caff4f9fef7d157711d0d26aed099fff3d3b7113b70f38ce6647b0ffad832a6d6619fbdf678efc72c6ba24bbdbe787bfcbf609f291b9f7109902fb42a70c2a2ba07d548a3a70b7b456d640ac12ed13be6cab4b7619fbe52e78bc09920c34406ae2f3c1751c31d8daf459baab3b779df34b4373450d4753afb81ecda561b92ddcd7dce4996e223da1b4eede010e07115b550ca0c827cb6f55304cac7853734e955d59d59dd3921ca8546310aa8a35360ceb0dc31284c092aad46f2a5515bd8bf252de9d23b8a1b8609fb431c30a7171074624aaa99a2e54a7ec4d8523a43e54a1c2ad4d6d6d45eb527d7d0f04f7a2bb5e7845d1eddb57a93655ea2d45d99910ccb1dd0fb4f1c249c79c73bbb56e5b0ed75c93e5a4b429a6c12484f64e9b39e4d6fadf29f57777faff4db5cadb7cf7cf991ba37a1db7699c53edfd8ef34947c16a126c858d882118601869a286ea750f6ae3c67ddabbd895c5fe8ed2ea777a9d573fb072287aa2ed2c871243d4964a052a946e94a3577b8efe46b5daee644d932f329821353c83b69be6eea64f7f524a694fca755d73affd7357ebb6ab39f956c9de4e35addb6ec8dcbd7b4cb36884a287224b1459a30a15bc121339169dcc20104517e7d3902b0c455227d6bd5259e626b819a18b40cdba2d16c7b058314ce3a371f9f28d9ad9b49152a34b5d9507add68a27a3c1e21a085b00a8308bf7c6bcb15223b3b1a19202408d160dd68abc28bbc4319d8f7bc46c239d050d35cf0d56f5a0cd49fde9c6dda6431babe6b43b666f7461980d6a38fe20848f9277e3d749795b4ba5944968677228470550b456d68bf1f9e23ef325cb7dcedfd851a75e7ae9467ee44b5cc9c79dd6ef73233ff2beeb9efb577d89accabcfc2ae8e5d192cf4b37f29263faf5f78483eafb3effd9597b41bf36e6acc13c11e046d7e7715d32790ad597bf3afa10aeb4bad75fbfebdf1103a817cd7affab95f4d2ebf872af7be947aee44cddb8a48dcdf44a664f310f60325f7ae96e3db077b76ddbba3abbb96d55bbef69ff22b3edb593fd4ddd47afdb7cd38af8396b7843ef2b6a403ac9d776cfdbe20e3a951e06ffe7c6e957957142a8573f2d950a6070b040a5ac6730325902452bfe6a174b9c9225d8f2fbdbfff6ebcbcf658f41403f329f1ee6088ad88ef9515f0a7bd1f982b566965f3bb11b3f284c27b6b35120b2592b89d5f7baf7bcb7e1c4ec75ff5f53536535f9dbfafa3edd63b10f021ff74b9d88ba7b8ca747e64029215e52ea37b48986e1f4248d10ab77e67194eed6fa7d3928088221a5ffbd8bdf5d59f16af47bab59dfeef6cd8434045d5c5cd85a7ca4ddc6d1c0b8d088ac71be4012a691031a0e6a60728e78ef8d4e8f287773da32cc639639bde9ed9ed33f038cb0a86207a426198a5488b0418523552c31210a278d3b87bef4721fc70df160dc317be4d0eb659d3c595b2d37a7507654a9350c6b1dbb57e855274b4e70909ebe5aeb7718565848be18a2484bfeab133f8ed1e1580c0ee71c79b9c02f446175d7e34debb64dbc62cb0d0ccac660addc22e239999999539d7a61b5425191291593140a35b23247ec6ab5628d280a24ddff7ffbff6fffad7dd2a778451c45689aa6699aa6699aa6d9ad658aaca7c10e05a4b054547aabb10cf1d5caba45cd100451b66df3b6cb5a697787e659d239d0ab0048bcbb792e1d37417790c18e6dbbf351806e8b4ac90e43c050366dc1c34c42c40f2d0419c2881b7a1a70915ba68885e971b637d91f7830c014cc72639b7563d61e9d5a62ba2a2dfbc580030696e921210184544619f6e0c4cc600aa30a0e88886361692635b929fcd0223c7a5c4dbc1016cf8a087d22e4c512a1264709fd58bf4c8008ea4a15103e84349810805291b8c40f1fbe1f3aa4e4ccb2e57bfaf1725996143b3b47368807a49be1c927e442c9a0b1bb3df9701f4eff1344d441a5f3645fcf4592a79a40cd38198e1231626218d6d331e08cffc2c5c730fa7f0996feffffaf4b088f277890ce38c1c9492909e706e9c9d1a439e08f2415cac8d9b12a2c026022c5678b14ec185f179c8d225088cbe6b082c3697163c38a2f492572a12394203b1e9016d34b7bb2a2b4aa21064b0824a16e07952c7cb84a05192ca0185a02a8881f3a1470f856e89143773a1e171c6135ad0711492768e1dddd4d5b26c9bc2d9c3bcdcca67113b06857a575bfd5a21cc7f472374d10b665c6a6694700f7fed3ae1eeb795e8fca20f5c6d137066f4869482f53d01bc14a1f7818e5142ea21704afcaca72332e1f91a58ebb0a5e11444889a105282b8363b91a1befd60b7e6208de8ebba04dcd4c0bbbd08ec9c1011b182ce6d3f70097751f4b4eee1529889201a35f5fa794c8e8e89dc830a2b4d4028e13194fb40c99bf9a7da689b507eee129519a34b5b75ce27874220adb8c30b30b471229456cca1c0c92e8444064e70453010aa60c1203b30002f88687cee7d2331c55c2472435d467e63c3dd3e52b1d4f2cdff92975198dcbac346ffbdd4151002384001410084584a148208b412485c320d8074243fc81a6156e7e3724968997337900eb0dd5a294e58a6b3de46d8aa62e9aa6c84890350e5ad67051f860c19480fb48f4da3afdaf72fef39505aee28ee3d86cd4266b349ff8dc0d75751c8c82f162260f6d66538a688dac2d81a89131bb107fbb0937f5ea5533d1203d143a508966e1c9616dbc58252f8b4ad0e83d817d9eca7140c36bca948c4dbf277f26e95bee9eeb0f3c30885fabb818a3e1373904e567720f23caaa42766eedde6466140000cd4b9f0c9f99ffd62ace9028a3de0d97d1cce89c3741245496a24a5e1944cb549bf084bad5b093c0309a3fe1ab9a72fc5ac0e474a95723c72db418ba6c30dd4fec35af0d60604d6f225bc2488f3d4b98701755a3daa2307fd6b11804a28be157a5dbfaac4c99049d7dee3b58a318ea9e528c94a2b18fc9b7cd2b472de6c82b481129df519949ffaac5864929ece3b233147904c9c8e115d3be6e0b7557296fc1264bd963a4b04eede130658312364423bccb374a413b1ca78ec23aaa456c63e608c6a28007b08dcd93d31f816633b058ebda6b32daffab9071309ce9ef280a0c7dcf4f575f167a272b808467e40ff4157430dc6f4f5799176d4610e3807524c2da1cfa5315f4173687346f0d0594db77cc6c52a7cd354433642bb99f369c460663d31dd11b94bdfdebd020c35d1e8c0149dba27c316cbc4e4f525d3d53a23cd0aaf10ca06bb3b031ac5cd745b60dd3c1c399131d435d3975865dcf13799830166f5ab4d2f754144ab2d1bbf4dcaa41923ad4186fc3abfb795c35e6d2b617fd1f83a1ab4673eebd6a4ce7dcb21429979714d6f23a5f1d9df1ada349c1fa1203ea22b06cc1fe1301e2e2c2943947899508771f63e8a8028201cefe11492f4d081235f1a91e1c8364359fb9f77292d5b30bac160deff188f52fd9bf5791458b53afa560fab51206a5ed4a8b8cbece02307f7b79ee34985a584f193b9b609c5d36b6db41c28eb3f64245762b273676b7e3d0bbbe2dc4269e735c9341f3affc6b34ceccc8cf5b4e53bff3a604961a6173be2760cec0f8d9009be2d17e9c54d5259c9ac36b14c2c2d6762fd5c560b5adf05b119acf8f86c545ae9f887cdd4c16c6d04055c7bd2c904bd599dd8353f764a6812e62794dc256f5c255e2b81b2f2e1686ac98f8a3906a7c4fb0f07c54ea196e99dd7670ed0670e46646127bd873f755fed02dc1836c086ab26044408c44f6ad4b9eff50664458e21315508b405445f3f4f392fd8131163fbcda6f23e0fa835787f293f102ce8d60c1a0d90fa90011ec4f3686059b2a6181b5d67662c7f376c3c2d90d53148a5d7a1c67ad4a300f3b89377e92946ee97922866de566ba8375455e74c8a009871cae0e67e1ccf56985a0d5535d24652a798a4623c7e83a89374a9c5b264aa842a6eaa8e9b6699fb2916f4175650d52f28d58ddbda4e8e14df7c11a9eb414758d2cc5ec87bc88c264dc94bcab5f427b6070442787976eb8ca022e2bb0da4f3517173769dc6d78fbae8d202821eef0874ed86e926268d79f61fb4f88131212d9a6dcb00efe16d8358a3ab01eb45fa7fa0d43b51ecd8fb80175e92948db359724f06b72ac8d707f902c31c4ec82c08c3ecd248449f1b08fd618358cb37af3506c7367c6efe6a1ec78c4bc817585fbd8f38cb026c00b37d00a7dc55f9da375cf946e6cb8a85cd52df39e94881e35da858e6e1c90b2498093ceee2f4be9ff68c027a9be5f686c1669e130a40141e80556a8c2b1ad0ce29005be08f5be076590d374893c31785c67f828df8384eef46a18f6122502c18e59b6b3730f7bc13c9972b6db5d279f4d1d31f6ca26673dfb6f0bef336220a9e81552291c74761510ef532573ea8eb4a7e27eb78d139ab1e10afaf7135d22b8dd96b7e192432f244a71e0b069d25c741bceb62cd1344c241d5e35c210e3bc775db7108267974fc61663a27825650890d5a18117bf781dfae634ebe16e4c27ca0c021c10d83af740d990348f416e6837672eec4fa42bbb31bf72db0b99a74e9eb43f51731730f0c8aa989d3abd8ba40498ca89cccc3279e692948eb297d6bfb64fb19dcb0097110cba0f76ba985011e514d3394e961b6071b991da00e3fc33103bccdc886b6814de32e96b665be599b4c34b146e5c85c75267a08aea0c7c2e25e1948ee5a6e2380a79821d856cb2ef8bbeecc1efcb0dcc96ed517b4f5a74e212a45b36289446e750fdb1802f97be7a2ee1f1de5f33f21b248448c264378669148f2f3d60d3833f65c73c2574628666695bfdf2204567f51b07bf530962c2425c4909621fe433d5d6bf16c0322e6a9dc1227678bf7391f9ab294b20d6db7b3db657673918a68a73a8667d0ad0c4823f321178b2a6b733c9ee523035953176e1f9814139bf4c43d53b3df05e375a727709eb1e47a4441a9db8179bf1672a6606ea170a64eb4d7c7c117265b96a9557d6b27273e0cfc4dc61fa74a02e6237ba891d54107ee25e8d90e8310c0390217f0b4246cba75061051620b961452ee671a606df09337aec1ab97f3e320ef257f5a1958c253c6719eb4310f7b9e3f28329b31075945be50e7cab0ad48c112eecaded1ecaef213fdd47a4ad51cc455d225e837a2a88c2187555aa6dd0a670df660d55e26f792f715a279fcc40930f8a917cf24167710194e7a16ea751cbc17c1187a5b24d947dda870b4194e19a7bccf4029bb0bbb6ef074a25f62110db27b5ddf5b0d3e9df676cbf662c99103734e96fd6f0d022d4218ff49bf4571c27fdcd7ad9ba86796814856c3c764dc863181c520eea711ec36d607b4d0e0c56f77f2d9191f9eae243ca9dc53567fca0852164cb7ed61858f3b78d16572352656f882c455a32adb312afe50539eacec40a76065a8fed291e54c4bc647cdc06b9eddc1452c03010a81e3df0904c67245dca30ba8c16f673fa1d5b8a0043b6181403644fd98045cf925e6636d4c16c31c88739f60b9fbfa46436e5783c3948d506ba535960c2f2ba835a9a9e0a4063d808c55d89580a19f7c1f78265526f6874b3a299446d1a6415cc6c773c83745065109eeffa0160778bc0d66e3503d97c29243aa92214b4eb96d7c4e4275646b999d62987d07118621b8c61f16db8d6068957b399b2accc446ee711ad805f5a4a8dc969e79670693a50fe9893eceabdd3633d00f840f0f8db372c73d1b8b0209e350aa018bcd39ae35800353ed282cb817b77c603984c22a455ec3fc88ed5a67c5a2e762ffc3f893c18109bfec6681124113f5e983e51a4dd5c699a702cc3df72aafd94655408568cc8d89362a04bf890e3df1cbfe1a2e138489028de5a6ad415279aa82b0faaba04a42f6553805f59e48d21c504c78145d338817e1d4bcd0bdd7142cbe230e56339d25d01bf123fd1869e8bb0bcb4aed5756585ae8259c3c94bd4883384996bf2854d7bc53fd3218ee49734e0e5a00ebffe20dd6a39552b948bd348bab89bfa98d4fa4f75a4ea7096450e1cb08eb487a2c84590f9b9e5a536849a305ec511ee17e55579bf63f94c3e6ed3256f771fcfe486e3d44cff8ecee48f5d728476105c510e3c14452e06cfda31d5bae2d61545ce6b21b50e26b9083c1ae3f33f340d54e3b2d3ee63b220f9fc2246a7a45bb82964e4d9b6bf2bfd6510967a05916ac3f092bc294cb5c70c390fc61ada5e7bf8f9d6b6a511e209fd0081c4ae79319603fdd683c5cbb2430eb0b7acc5aff761c5917237852beaab3847901a6a5d5b2cd2d9e7ea6379b234304ec3ad09f14c89700782a77b99986e16b5f02f5e9a0e210dafbc2c251b9e421c93cc14c37761c81c2e4ddf47a47044227e1da8e41720139c0362b822420849c3c1efda1f84f6f1ec0811f937037feb93d8a49679e28ae0ef094b31399b06525b8e5279914e0a759b3c4c735afcf43308094d2d7eeecf7594024cee0bad9b8fb53f9a544f1598278be7c173801f09841f9b894d75b97a82d7f5a3949dfbb9b38d17cab8642f64d39f6d76f383ae3a4b362cb77479db4b82041d1b7e7db1bdf2fec7adcf8c95ca7b41402a6df5198de2ea1f90233b418874d4e7bc517998b3314d7a27a08da7b9b6d463b0ec87b9ad13bbcd048c038bde31e5dff9d5e04b26f51a617987ab612df20bbeb0cf388ce46a9605ed5fef8b0ba9faa1da2b5d2f8d1f412bf12efc12b0385fb65eae022219fe3c74f7cbe11618bb4f53d0992d363c911e8f75c6ffe258bda1d74c4991de6684305bd3cd161a8fa690a844af7a03860df9c4c960068db14e2c49506b06cd1566ceb2241e31508cb24a1e103824456369b929c84dd712576b3fb5c54eef345a5da924ff8798210867b719d49fcbedad363e451a0b5f60b539140ffc1c344bf410aa70a5b0fe068ffc79d26f145056cdb43219d760debcf0b448f3f09b2160581a27e31d42da23b5507da222eee03a1e45e4c3495584a4b67e1ad04e973fecca18187ded6c13101b7cd09b217ec8c3e7667f78187f6eda2d558063416eec9cf2901af3f35e2da1e3b11315fdc3bf1e95ff55d162038be3e157901975fdbb90ff9dc63ec2e8f924bc24c716cd229d7d2dc2fc69e10c24bc02e48fc91669dc0b55ea0cc39b1d79e8bf896754d9640aa88f8b19874c590ab1752462ea87b835c34d1fafab59236ea94fea071c0dd6094a17c3f9550e52361d15a85c1a5c9fe67f15e6791240795324e7f2eee198dc723448c9d28beb11f8e8a4767414995f1526f9e4166580a26478cda9a6644d538f0fd8ae60ad2297825a73e087170b3b95282a84a9b574bcd639bbbaf63ba7bec9fe08607a98dbf30080949fe1dd93fd4b3e5e77e1e62275356a17d0b5f725c929a6ff7691007c95f12d258abb0968694517973aa59a44a897498b560638f2875e93f748a8dffb7b3f58e877e5b2275be3fcf65bf018a0762ec56294f7ddff63ce25feb7e5760ac663ca3710af27ce0215767bcde85125486efae347df94bbdb6cf41f353bf51b80637411287fc902af59741cc9b1f925809894b68a2bc72d239a35d5a8b721c14dad579292d138a12d2bb8a1bbd5fb59cae222674610bf68655c6707c51198b28ad2f068635672d9504e7064d0d8853d86c6745d404542f4c85ce9f3780cfd0da779d3b55406d45140602887f8764ebbce95ab1b863572230e5109b616106d08b416e959e66e27c1cdbbd65066534be5ed50290ee39d1dedd2e6c9d1bdf435b9cd41f945b945ae837c47583dbe35763068b22bd3f60832d4f31f71f8dfb6284c9564ddfb5c3ec5a07c15e38d1624f870319df319de296314a992416e2351940133f096c06dc1a975f58a5c6336737713c31e784fd326e2f2e9dded0104a5930fe5f6fbe978736525f4d0236505a9db201f2e557c275f76bc05d2650b6b7ceb47795e39c0ddc2f2b4e9916f51d2b1f9ede3b569804ad4589b82eb0db375ce1fdf472e685fa6b4aa1837ffe4cacc973b0555af26b820413b78d639d5babb5d9316680d9f5e2334ea2148351af47d2df569d4ec895ea751ce88c03f93ba76c05bf3a1d801d2938e2846c574efd3b8feee215d9fe3bfe1f712924081b4d8be7a0a095abd58268a69a296b63a2f1c20a808b18de043a9462dff374d9886fc66e20f5a440fbb3546edba4fb31d63b399618332c3c0a022eac76152baf323f84ed772d718029f5eaad292e1d6bffac843c91896b4e8dc557e3208fe3848ba788dc7361bc723cc78aa8c6b3d8f9f0c414e8e0a6ce0a9b2eabf5d8083ec9f351127c1917b4359dac9e4d8d7ce5ef52ce72767f61dfbd00d7927f06de3488309d0b6b4280842809db39c4056b10670388e80edb1cc4e4523122d0012f2d57e8496a1dc2e3cd7bbc0bc278bdf87eb36d237970e0746a677c11fab76332adc7b0c86b38a1db346725482332bcf5f4a904a4886d45c86b4b59a7c8db1a311b9969bd8066b5eff713a0ddd40db20c252efd0449e7a921f3acb19197c29a876316913555a75d2bfc52aa5eb2c33b980f9417c6c268981a849d7d1685842b01e2de47ff924c8914b5035bf3e9b382ccfb995c58791a75606bca125dfe25f5316f972e3e2ab86e5c19d8103716f31211b2f9e788144891d440d1b65a4dd6d940c16c84a8813a1266f0a909441448a35406462385d4f9ca5cf531ebafab289412451b6ba5faf70583fb7fc6ddc6929d688b8d517ff920fdf75fe147ee0827157ade45d630de434f77c8086afc9a88aa82eb69593af3ac218dbf3db42bc8744d38955c5d3080d4a656dba0cca3fb88cc1f93c790425915a63c254cdc234ecac21484b8335b29fdb49e5567c9f5b88d4de71f41b3ee06547a4a1a802c3598c5d51cf542ceee9d2ea680ba96953e3e9c847a5a8abc241a4ba1d2242ffa83d3e9593e713370541b111fccd08018a0830a29937c5ee4338f2c54c6d1958ab040004995eb4e7fb3fb5d6eab09e1f3510327da64214e88360cab6cba34c47b3728aec6894c4f3fa60470bfe63e9141a42e8d74e619f02927193802fd77d0002dc50247565716df8bf92a3d0310e863fc149d6017381336c43e8687075c9d194e5f35477e03e3193f431eb0463ffac9b1b94ea17daff64f365ef638db1753bae82f8f6e51018d244ddd7cc85dae941e59c9d043fb2571c0293cb4e51e3e6cc5ed870282b74b85ad1a8230250bdf7e02977b210983aec9a330254a221985a21fba877189bca0dd6b90b1b63c15a1d324ee07de179603d22b417573c8d8dfbffae29dcef3947cfc9de9387f0103adf5d98aefd2bde456462b79d68c30ad8ad07554c8b666255cf4fd09fd95940d0a55e347bed13fd06d84ceecb3365d61d2edee8dca041775638c1d19f13211c424ea9b38c70b6f572457c82922b4a108854805503de2f72de6463148beef4e73d431ffa027750fffa83a5a4709c1ee9bc0944b71f58857801236c749099188e8b7ab5372e047f386c612305c67c9d09d0cb02a4f869c72fd280baabb2001eacb20e87b5c185e0f540322b775293b3735399b14932d4d35e660b0c0f75eccaa28b44d29600796ed232ec2b1b10fc54d994497e7f9a673cf127be539a6789950f8a57957be5d1be182129a1a477e012b5a7bb4af0dca80c40fdd6e03195b737bf81a1c6b106ff35f20fa0e3ad910173c004ba7d6004477ce66223ae8efa3e06e156873ea3ede84b2688826be4afd29b396683dcb8c63b7d3e1ee4d31ccb73e89ad9c4453216a8e446142dc1ae90182f3f191dd41992425d4112f1222c61d49479e168c96304a325861916d68c2d07928b8b94b0a2bcb9d10bdda2926a6d6b2d12873968c9da287e15ea16cfdce111621d2247b9e828d7fd7995dfd29b6f9547585160307019855a1572b15301b80db256f96f87f34f6a7487830e29c780a580f98e335ab694b3dc87618cbf40ebb8ff84e5e92d1a0d885938368293d65ed31829f175d2b1a4189ecd19034af6a3c7a6400530518be7b920da6683b661b55abe08fbcbadaf468457fc2dbd109d1ee4b97ca6d75e085dbc5c4968320038cb801424a50e3ca04f89917b0b43556a1a694c65e856747698efcdc9e2b577d29875ce0218b1fd7a8cedc819eb4d92392b1a8438f227675a1c89ae14131a55f7524303a80dd7dd46c1c3a24a50d20e67f3b7e1643dfb4f34cb3144c0b362ce5bb7e076dea8e07c870d0089c57c7815d79cbb61d503789d6f0b6b78546ff8734c7d2c17d59f4db95cf0b640d102a81fcbe9e8024f7b76e4462e30d3d445cb854822640f40d9503dc9f22499a59908c5ec776220a6d019d52843c37d8d1ae8915f92b5fd9533b99e47fbc9e6919b9c764fed487f10611b003e40623591f781f2cc57c630303fe55f2e6c865d3ae5b4c89a2aec25730c16d2e6bb082e125be46852c87be01a0b165268a466c4d7bedf09541b219997ec2b709be5d58eece695dbad7cee6200752ad27c3fca535c237825ac126ad92b9fdd8d5afcb65862f5dda268e324df69b7fb702d31bad1be7259411217cfb0668320dd46edc0b1ea3ee9868a6f6d6060af3762e8db78e054fbc50fc94b8eaf5f15286bfd2804a6a243ae9965155e19000e286a35be5e9a744572e03b5a661b2b93915a4f6b00973e4075648758584fae3707e3c0b2d64ac27610332be74c3f8a0d3f98612cc4ff1432d0fc5147c97f2df456c8468591119eae229d684b03590027a9d61bf2a311f86375353b6f60c266496bf2a751318b47168880d2d65002b74e2cee14c29b0b92bdbc7a310db5622f3ab73d3de061abe807d6d0e43857f03c7a4ebeb04212d589935beb5595414cbeac0d1d7a80ad11225290c093c3a9168f7eae8ab7636059d074e0a0e03e4c8b9c60056daff16d64ae77a254ab7483e96d301f869b9127e0c991b1ced0b775f30dee88e10f6e115061bbbaf953441fa57929061609815070bc6c20ee08479f7156ac5c0387f6ea371ab86fdc387b4328dd40541c3dae54b49391768c4babf4b63b225aa95cf422b3d920cce8c76e6efb382f0ed46554f4e3839602845c7ce6c214c0082631b5329c47b1dc84c46b604827b715af2bf5694ee645097735fc7add28a0a9214bf2b734994de769fc89f928457c382e5fe2e37986716803788689e314e842a7c8293816cd5fd1cd6cb4f096a5e694e7c157b3b236a4f0ec5c129ac428025b2176c66415d14e78b5e12828c33e8ac4120e7b6169f02e94fd43a66cea4d997bda7aa65fd4c60d5344cdabde97f93a86401f70e9ad89aa9282fa938c2a27b39749d0c0d2eba7c132bef8bc128de8e4a92dfb44c672a2cafb9e2cf0e7708cc98a733d3f173fc09526ec267f5238940235004947bfe1135fabb589b43789435f15ae03821ae5697779311cafca6910c5c96a70a9738dc7c8792f016b5e4ed5bb6bf209793b6c96297e9ada9b91e864795a0af722153f27a112b2d3acc816a9e57a331ae2b599a86b7d7a9f5ece7864b90efc59946e2035a5b505822e1c856c137ed36a0ea1f4a8932b01a28dc6158eb5f9cbe3dbc4b2865a0ca682e5c8b5079138cacb3b461b2fc195394c695ef3ecb85c2c0f46fcf763fd991ed97704a5485dac1f829297fdac475788e73ab63bebe0ab9f13a42d1403fa857aa39013d0dd38be34c58e15030bebacd0615a29ec925ce3b3c8411437621321859f269229fe017e3877b8c8f14ccc3e11e68c4c130cb9e68603a9b1f330041e078dbf160d7b18d72b90e4d13f22386fc9cede5b71f7d6af5cacca6628f99e519c84cf34d324f96d8daf25f9ff4b5c9b22fd6755e1775a76b94be7ecc019ce03e48cf204f8a3ec875f2aa4f95611ff08ba63ea8d2ef6f158349b5c246bcfd9284728ed9500f189825c20ab12bfdd9656bb81d4c669a6e065380561ef56eb3bab4113370569ad87a898607c03d7a35f5cd66ea746c5747c032d8450b9c9efb5015a8ec99264a4f540e50d957060d693cac814dfba5b5717e9c12680a13271a59d6d8dba76687496e2fc32b2aa1988a09f1d966bf3c3eac3d1d401645938d3106f388e3f0731ab0efe83fe17aca399623aa3f1a1b7974609d283ad72e2a2fad784d93c6fca097493ba62177281850723efbfc16aa4de80529254b35c64eb0427f17685ee51de3ba3464c1cb3925b74a12536069d60771b3ae98db002f0611660bf1ad31573957aabc9435b55d495bf0bd1ef18817bdddca20b15164f08466848962df0a8de1a48a0840a87ce73e7318cda0bf707b995915d5b4292de8aad05d350de1c7176f308a4e9cceca60b2eee6036bb9424e0527845c095ee694394aa0259cdfb47eddcb055977647148bd43b08edf6ad426021f62d6c17eba34b7016e75157335f1cc661d234f77217a2de3f310ee875e58b9fa3d952a127c351b78b0c18f0192711afe2c8c7f08e2b6cb9497d92565da552fee9e62d04cb1a7b1240cff513e6c2a0e1b9a8d9f09079896e5a22bae77110734dca5fb41a86d12cf74ac9363e7881e4245d5a083089caa214ea5a02404e1191e02182cad25a6b0efc7ea72c07998197679240a89cad027fb779a7b9ae18493b4a68c9af06e3c109d5a03e6a9da2d841f9d3cf29525c8add4d5c35c51262ef0951eea20079f9f1abba1681cca9886a0cb07e25983839249069b1ca401873edde1990548781782490969c624f83a7dbc02192994381037eeb0464f5932d42e097c7435f5b13fd4e78919cc6de4bc8525401f34b8ca5aeeeba532a8993cdeddc9b712861693491308c26557c926ff8a21fef9491a099591a526ff8a295a8b40580dc2ad019c01711af7b11d7b53a1f367f800634a74c0997e2b788ac86f5a66715bd6860679442202daf0098cf9e6e2ef2f416e121e95ea3c73034eb5d7abe113a2f27127ff827c2bee845a38f61f5f053a7cb54f582184f9d66afdf7b9f73c38182bacbeaaaa0c34dfd81ed94a9e6a7314164343fd2895c83633911e2db43c0bac45250129a690dc87a2a737a8b44481a6d48812809ad9af6fa2581d2e47f1ffba67993316010771c3c20836bb36c142ab0574cde530352e32bb0cd01e9f2f015c6d0ec1efcc464c81593c2e43547e7f8bd086d9c07a4a95e96a3336bcba675fa9debe229ecd7a25b42e5aa7ad7f7f9444963b64c892e493340ebea00d8e02f7281e7d1ceecd3bccdc67c1ab73b5bb2696cd0bd777548c633d7f24a21b187348af22696a4131234f71a3e817b70606140b0562ee64c589e02f1d7683fa3b744ecd6d65a44d935d45d6adeade858a58bdcd93d77199221f826fca7619d637819b9ecd1a8ccd43faf501b1e0d3a17861772b38bce81dbb40531f689afcbf4e544fae7330cb36984a48d59ba0e4502893c515b82b60cc0dba268073cf4954ea346e27527c63822a20eb0e60255284a831f6f6d4710b27db877ce13ca5674466edc67888a6e5ff22ad3af9b49d2d5508b353ddec6a9fb507327b13822aaee6e8ff13844dc83b73a347627a1388d1cd92a0380d5e0429453100b2e5615d5ccefc45aaed8a1b5c831a45da3b8a1240ce043962b931712b50f117280100f963f93939186df735305878943eb79b9aad33ef8cdbca4c7263740611cfac34ec98487e5308f1b2bdf2169bff940951b2586c4e311d6675d6ce8a05382377b43b78d2dcd81ad8a3ff88dddf64cb6528eca1ff14a8665cf58c3321def9a86c1e33f586ad68a803eb4f3a5d1e4883418685715777e69df04bb441cfa89d79942cea5d7e135e50d5ea69a779f295a60c421a5988ab9dcfc3efad319240974e359f7d3bbd1595f7de546c29468461f51d7e457759f22dc15d1e836f67aa8681d1b396b588ebddab2720786a910900341eb501558865169c2be9a36ce61608d85b147b6cce644a3863e47e56edd8bda2538f844173300a26fbe9bff1384f54141ef609aa8e63e2a79dc179cd90582b55da5db688378c07dc9c5fa57c46a4b65a943df7a93bf50fbb7d18b480dedfc4386069ecd7590cb81f42615bcf129f9406f1800a5ab5955152c0037782831f17afe4eb6135c68c0908cec125ba39a96cbcb09d5e3e573a948ae99b85e84541014e64fbe2831a5d6a129814e57d162a5acdc94b81f9842d2108aae45ed17ed6748ce860fe5d9989be085105805bc5c4c8f284c4cc316ecc473474877cb6d113ba8d8373eebe6e600ea3950ecf4b70cd86ee4a0ad394f82d8a2c94df3bb77814ef15af2a40b6d1c9d6c5893f39cd69cf8a326a98cf596341d88403e8752542335962dda3c66e5ff2fa14c67c6f5c1f222c7c0f16f313669dbc7d916b4276b02be855a8a0d81472c31678fe5914c4854ad5e090deed1c0e6059f61534b5631060af77b7b2138b4f6557ace5457770e29273aef1ce6ff6ac399371fad6e8611d2acee73d1fe18285ff74d211be7ad82e993e5359cb7abdfb38e708b036cef0ee43fa2c4000b1d9a70d49d258331cca2dae1251470b0a3eec393d5ea7d533a1a71d9e473bb156ee517c8ec46c28e115da36bc022b6f71cc7caf7efcc3ed5a8b45ed0f22f694ee857fd6fc46851f7a27151d67a1265686f21c626b69c1ae03c402b6b6d9f357d161bc050a467e22df19d15c7a428f4228526ceb44ade7433aa4149214d24880929ce2b43b3eed0d457662e6a8b4822794a0b98ca866d00c527a28832460a4540dd249b8166149cb817bfbb3379a5cd652bf4d45351e699fc375116a55dbf3eae2aa386d9e339d09d96f00e1ef2901ac41b22585a2937d013a49cd5cc7c2353d0064cadc11599fa67dac72c6134654592c50f49f1a030f9b7129f1da730cb1f4ad99e2d149d88ab2ca58049c612f76e814d5ab73fd20f2f4485f72612fe8d9a110487c355e98b2379bc0d8b2d3b265d536f1e0a1fe9e97f47e4a927a5bba3290f9f9f81c547a990f599adf120232c267608a6c25aa241e857332b22e4bc6d5681adb7fe81ac386788b483b6d37ff9a3ec01742503eaa5dd534b30e2713add73311513aa7141fc4d1c84eb81528c50541e5402ca8f3326659abc479cde21a04702003c1112f6b45d03ef3895948ba9b8c77d13c88ed5fe761322f7de5b4a29a5943225b90332051a050f0593cb3b5faff7e61c77def04b296597b7939d82199b1b984fc92988a167d8a636eb00a575d7bd37edf605328a3d79a1e96146e8b35e06e67d7f5997b48634cccc4c72e8d4fafb81bf4871b5764f0fefbd57fe4bda1a31126c6db5368afdc7587ad7018e1f63a5ddffbb3f1d72a09f79cef918e357980ff1c6770b1da3774e865ed875cafdb11b032eff15612c293fee39ad0df3f3ffe5f46268ed1affffdcc7df5e6e29a57c29a34301c4d167ed0752b6f7189d865a85e41c6924dd6ff79c9a714ef91f780d3febfca7718118521abf4fff7fddb4febfcff9bedf29a5eeffd2ddfd679b2cff45439c724b0ff3ff534a49e9cfff9f3fe79443baffc35cc86978392595fe4b45d58ad227db61d3c0c5d8233e203a389d4cdb24b4004544701167db9081239fdb1f59dc0c51249b72ca82e43d5d969e698b298850858931944b7491ca2da7944b3f54cf6c6a06f678e83be60eed5772e2abfcec69b2cc4b61b37c5bc0e2ec2ca51487722d431549c5f09257a643e26879e6cd645d511ee2643f3944c1c7ea5ab332b77226175aa4f57693c0b586f1d387d7e029df251ced028d7e685a8f60592a4fc55c9b2bca52f4d260d2de1e952aeaa7bee8184f710d037129769c12f235888c01c4183707c02580d6ef5ffe89b4f61a1451fc99d2463e9aa8c8ba91cb9ea292dd439622536cba78cf980a2a6c712905676af64d34eb485ec6153bbc31ce38df8d2fc65ffe388ee3badce58e9b4949d1a6e04c2129c9394931a532b3d84c4f711b616a664e556634249806312fd6e4d2bae99596624caf04d5fdcc8b4df13ccf1bfabeefb3a2b5d632954aa5225aad56ab22168bc5725f2145da7331a729c605d4ab79fa2867ad54faf3e2377d3173ede8b83628c4f5b39dff5a6c85b1b34dab974a7fde2b46df362aa109daa23b212ff5425ecdd79a10b28708f92621af57f34f0ff5512d9f6f8a4c5129a29176c6741c80376d928adeb4193387843f6cad9bb574ad56838a7273912eedce6e119137dfd0508d480d2acacd17e25a169b2a8d1e83aee9ac7444dd5027a3665a2eb3b64c686d19581b2f50496dbca081755132585744cb9c1b5717f3226eca391cadb451f6cdd754fa0bb70fa97c5564eb3c5229adbf2c22614916d9292b65e1d8275bb34f36cabab16f5c2d5bd3164a16c9221b557bb25ce72203cace2ccd1e59a42997949bdfdaf33ccfeb3acf891a2768e8dc6acd9e26758825e0424b49654332a5aec4a4163ae405c6b4849bdc0e4d31c18e78b2f6a809d7a8d5da579bcadee5d29a22bdd67a3b08a1f6580c8168f10b63c7cd2ff868e2248adf20d918ad5320545b65956c196b4665bfa85476a67ad92ff6c822d924cd594b73b7477666bf4857165568b30190e81439f47bdb2491dfb677aacc65aee2ecaffc7d9f8e51628db6d2e96dcee33caf8b4752766df8539bebd3faee20a6a2af1961191d6688ec550989f1a74fc5ec902c7a4c7f4debaff52015ca98773f7b686e32c9bf111644d3dee6e1a490605b93cdc57cedaf5e54bea49520333fd592d672d269a868631d304b8290fe4d5e8e9ecddc0ea31100ebd12d5a1ae3b631eec44aa9a5d6778d947afc4864822313f8c401e899fc4796f870a0e4029f08818e2e448c086c5212a0d1dbf6d1f9a866640516721048347a3a00c07cf7f444987d808caeafefb915805d9c732b0013440317c26b69b0f1b7279186412b0010d3513004bdc70d2a1b511ec11dba0a9cedfbf5f2b74191869cdf10ad7b94b03c7e30028e248a4d69c83881c40edf5a1b61efe55c35ce2e9cb5c5fdef1f27592ceee58effbfe5d6716956b4a88b3c5f79a7584c767c44d55a4718e362f2dac5bde27fb5e5d504b23d4546333a612b7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777074110044110045920d80241106c390b0459ee200882a0832c16088220088220c80259200882200882208bc572d041d01d04dd1dcc38572e0e99bdf7fa7677d0821883137c3f8c9c0ca9a8a69c7176e7acefeb7b8d93fbf69c73ce1594b02672e6dcef069371f6cc6177cebdaef3dcdd2d37c1ecbbf3aee33af709babbfbbe1d08ae4010041d73a0ef0f59abd56ab562ad38f808e23d35244b1bd3baf0ae159e33378ba865058cb2a97dba3cf4215f85de65acf10e56b9d1f7f222efe5b3ce563a7de7d90964a8c556cafd724bcbddfc924127fcbcb7de5ab76f50f25fbe06916ccae8512e0e991f52a7345a6aaba5c1de4a6b28e77ccefb22d8e8742ccc103163906de84b1d30a559749f027670191b6ab2d367f6b14fd4a4f354cbd6f5f75463dad4b3dad1fc30078664a8136116f23429924276840d891ed44b3dcf56e67fd67ac5a52f6a85049ca187fcc8d191ce99ba7aea879a76a65494b27c15aac22df49a177dbc0c51d18eb229fd13471fb19187df9e7e88d25f12af46aaba062003b6f34d790c988e973193c6d19725be2c61c4864d8e7f00c2753f70744cd26930714e4b24c11c045bdab55b2ef97b0224ed1b1013a2af7d131356b6cf83bb890a9639acf80269698c330b883912e3c51951ac295a9a0522479025d8c8d8bc1b304cd03145521669a2807c40df3048f045ed054129a0d4b5745b07674b0ec062f9ce9ef90926f7cc6f72c4115f1d9c705282c9710793090ccb4937f5a9048824bf516671ead7a7fb9d777aa5eed1bae33ba7634afd52a74e29c5eef4fabebea94f2b25a5b2ee308118a7249eba251ebcaca969de10c2c180a20d1d01d2c713b128cdf0914669815994f232da410c500e1378e1020b20195e01ca81f5c6b9c8f2656962e902f41b90d13dee86cccb155b40b9f1234e6ce3098c12d0983f13bfcdc728ca488d5191bb6bff68a6015cb772f0f9c962c07c494a29a51147bf45a5fd72128896fedbfd7d5e1f631d3f73583ac6a98b4715e22c0b95692176cba654444b101d011aae667605188208e1851e4c68410404ad082ed864f9828a2172184af98c2d622c40c6196070f6694a1689c7530f6ea0b1054bce39e7188be250b41265916816f4c4881227211e8946ce549f3aa991bc43dedc20b9bf906cd1638cf20ffcb6614352c9643090bcb82e50ecb811ed72cb591f12b3317ed4a674e4ff8874e349cbd1ffffbbcb49e50cff75fe7f49e5c99842632962e9e2c4d419596c11b9d841041589b4385202fa97149f13460c13500e720c1aad08220599a773ce3967f3e2c8083192d018e2912346885ae4414d11b4cb830f5053624c4eac290c317a904a8307204bfe43184645518c2972a67c8822fe824d13d007260aa9a7b141faa2ca959ad5628c337318c96a1b4039b4a040a38f292832de789a8ab241bac87c92d418d14123522587181f902c9c8b75d6499fd27ffced0f633cb99af37bd1d3faf35e566b285a728ea4b3dfc997744e4ab7a4f4bb0e1c9852de39c37faff5da9ce5e733a47c2965b594524a27a5d4564a2ba5725239693d3262672e735ee7752f2fbc2a15ac0b3bcfebecddf285a5c6f4e9b5b24aef3c1b526bbb7a6f0de39c6d2e77b9f3a4173ee7c9efeb3c5abdd714af7b4de95e5efc85dfdb6de7b62fbbb795ca1c5d76d3fe7736cc7fb5d24a33ad9552ba418c2f9d6efbd756209c2d95536e196974df953ab5766baf5b963bc80976c2e1c735a8cb9b5b819b30b430a9fe21723e279669e7cc62468ddb23d77dad1dacd6edd27509f689466ae8a1500c732cc19bf8271942d75a6badb54afd1ca8386503f7f23c91619cf97ba30c677835279360d136bf6aa5354b957513958ab552699dbdcb5cde9eb3d77dde96bdd04a3537abc941db534d0d549df9ba9cb86f7bf5f6f9c9786e39671222f453a172434a7598f2fdffb7bdf76e7b6d7d4d1d932ec69eebcc0bf47747b9d7dbd7b586b63b77fe30ef8dfaefbc989bf75e7cb92d2474393c65936e474767c76aab3bbbf3a735c7a9304c6f8d55df4bffe6b81630063ba0ce76edb4b82d6572ad1d17b873efe6de39c95acd29f16bea509d0deeecb4400cb684b4b6ebeabc7c765e3fadbbc12ba4f56685370babbead551cc6f8f338cddd7c35bef7decf8f08c39cf7d12844a564891da243d7dc2298d173b56269d6fc2c17bfa61a6cda2d24342dfd56ab156b5fd66ac5929ce4eef7792fd66aab582cd64ad512e2a12a95d67a832fd78aa567ad526aede6eca6d4a396daf9d5bea64f8d954d169fa13ad41c93a003680430f9a2ad2457b4b51e8cc649c455ab38846a21dfb156b97f5f6df767bdceb3f6d3b6e3c26a75dd3774d11fb4eadb52582b269aa5b5de2cfd45ad547a7f40df9bcf0dfda23ea9262437f3adaf5c67c7cd5b25cc6a22d29d68f66caf00147a6e2f7e32c6044a143ba465fa5fdb274e3674249a3e2794191324bdcdab7dcb2ff4be2a5fda97d0bfbcd5fe562aa14929a59452fa7a81d25648a5b559ab4da5150aade4eb95566da9a2f9259ddbd4414d74eebc19d2ec262d0e95991ae9a7abe5d8b54929f44251b7b6487792211d9d38f16a1359e5cede93afc68cf37669186e1179d256b6ccd0ae85d21f18d52e17a57efff7ef08a394d2bc29a5d431dd976ea7de4469940000a05228a5740720678cbebfabc010aadb2355727f84a8d0a6f4dd3aa9a17669ea83a6b234e4eef6a4b5a84658b4d1b3348d74a5949bcaed3d930035522494281ef36a2624778cff2ad72e24e4118439432732c92715460cbbc5896684a4d43292449a2628d698b1861f505cce88e387972bd078c034e7c88e3245c4b9c3e381298f38ac14a1452c902804090cd413d1cc899cc034a1c965eccd2671208e492f9e94f23899935e0cea41e5acdfb3375dafddc0afadd9302939ba2b5569b9ebf77db248173c4d282d6233cd393bd006904aeddbad565a6badffdbdbdff4a3b55295fe3e779eb73baf72cf558fb9b55bb54a1aa088da58e1069827a488c04c536c0e104c83b0317d40b96bcd19df5aa9f55d25f51e21f2087ac680b771a16d1202d6e8586d8c3b6b19019168e53ade2207ccdc178f93bb459fdaded463e4c88f8391a47262220afaa66220f13f0add937b4d91df54ae2f2553ea9887df9c4fbfdb39b230c15e79e6b9e6b857608c2008ae56e06cc92f9576ddbddceeb84e4a26fc8b0df3b2304d85cc0266060ddd65c04ca3ec54ec0e75db31d618d4e0f7e1efd35a7fe08e14908dce517b98b2f5d8b1d128a59e32dbd5f31ef2f1b48dc7e4e6e1f9dfd15aad5d2e8f6570c78b3ad10650004c0198e4c155e4484d349fd1295ab5f14b156376d68e78ebd0221d996aab581a87ac2cc18a0884e3ee7b953798f31e51b08c656e60320397307fcd8e5839e60866f0e547f8892806939488e6ecbee3bee32e37f7089cc0d13deeb87c67efe370980d68c369146c468a442c46bce3beb3e3724f02f7638c270641ec4ed3a1410e65b722230a33b4af9da6f012e50e3e244927a4222406e0c1b17c683de14d949e55856dfbe467a1f7d44f81d5ee52febfcc37e34cedeea614d4633e74469c22baead070f81af68a33f1da8ee3b83ded92b54bac77919bee21456c6b51e38f7b4189923d995d82d9683fda4874cfbe38bd58e68c7188ebb5d6d2a65a9c554aaf9d9709ceb5df3d8b9ee14995b8839c2dbc52c72f81cf17701168da7d7afc8c61923b5287d6481909d34ba97dd517922e43439d54d3738b7086964f5a58c183c898a2080e2b698cd16265ce1217398c904346105a23e9325a694362014d0b14d31062cca1a28db488d1c61d6da660020ddd4edde594ce81084b3affa7ad76ed9edfffffff8fc7f6066a74a2491d9169ebd55a8f57666c068225c991e6999b67864ddca5f876dfa4f6cbdf30dc2d36d82278818631d0fd5151144e1d6d0629b3c6104e49791031d1a69c61d306882442985ad2c4a5746d2bdbe2b452cad055829d135f07e3e822b982164cd831660f2a5cd6e8347784e9424b9c268624c971bfe3304460497e403498043df1dd42cc5ce8a21a57cd810c97a08139f7e2f2aeb5d6bd5fdceb9fe00e7321c749a1dcfe5b6dcd95a7be24962d4768daa5f61d3f9a8ea01a3a7a71c2970449e70f9ed22943261db86c020fb0fa500287ec8f581269646c60d9da20a3083ea692c8a439216823e27b003ff2d67dffbfac8f318512ec25072f4ca9a1502294602e10b8649182228dda1ba604c45819330b82c6658f377264820bfec849c4681c6a65804972430a2494b460f9e3ca993659caa88285f5040a8a882d8a688213479bb35c365a9131c628c291286d44c621c96957177fff2a5477f5f96fadb59ff33fb6d7ebaf1165ca140c055f5b7b06d8ef34df006649dcedc6092929ac80c532d7818f96bd1cdefd3977a46ef7dedbbd70770754095151d552df94ecb71804f641fd98947b367f7a7c768fcbceb49539b1521b1485e2a1804557abd56abecafbb48e438a236cedd6aaff9cda8ee3b20e64e4707163479c2aa87853848836c6a826ab820d900693d50263c418df1db19532ea206b9223a9891e02311a021264cc1657b80cf2051c2bc8da542902093ac020234510610402440f749cb922bbff2859a2f2fb8580edd2367e1e556b98f1b5363e8ef48e261de553f91e8fc4d0c7e77de88f0fad0a3b27ba6b6ff195288931c6e81fe791ffa85fe35db38e71ce3963bc43d90b1d9d9b383e253465c3294e229ee265623bd1cce46ddbb600be2daf667ac7e8ee75bb4f8fdba61fb713eadbdddde548aadd11874b97d8d5591321ba6ba8f3166348c5ab93d2f9da1fd41f51bda9bc9047fa3546f933fcdfffffff477866aed0a4bd526298f42d7f4b2965e5eadd184bb9af94f25e29526e29a594528229f244a4a58fe975ab9583d55a6bad55765556dc855ebdd65a3b7757689fe7d65a6bad7bda1d848336fb0201bf9413b79f9ccbc338c6cf1428663a3defa9e77dd9f3248d52f5e7a9bc6faf585ae57dd477d7650e6fb9a3dc3e6c4829b7966ebf585b23131fbd7bdc40d57e945c547372c312615dce5efd72ce5f55e3e9bcb99e6a6aaacd2e27b5de566149bae8a963f32595db35a5a5282d220991de60dc8ac549d6ea5a7f8fd29b238f0a73dc079b16f3482e943a4e74847636ab95776c0b363369edecac582d506787b5b2505ce77d54db6e379194e77250506ea4a6748c9ba348175b403dc81429e2401d80f88073c619e75d71ce18e3ba29ce39638c33ad384741efc5185f5a848ad005e536cd9b7294524ae99679f1dd4d3cfc8c23f6b9fb07d483524a955cbf259d7457ae6bbd9d3dbf91a450faac9837628f1e5494b243ef2e8b4552ee202b235691500870d235fdb4e52183fc77f7cf4e93178a4b2aa3d8e0aa99fc0fa3c8a874ce9b74350023005365001c12078583d16014e4380ae3b0a3f60154220bc69e48e664994048d218c3210818621051c01040800142204033b38e00329bd3468c0113ec2b4feb522d72c0b165f8d49039ee5cf4c43ec8e54205dde766f6ba1efea1270039da5ef776e9d629c07b9a3687794afa2b7d28b7cebb4fe325ec82a98dff676fa158481d754537c62c47890abe89d70c380554441dd701a2fc213dffc8bb7970ab4cfacdd26574e9d199857cf49e4a09b2901912376e8c18d369705c1b90faa2af6fbe9b818fcfa3b6bece967fef3baeb097d69ca2efff58c30782b37262aa6934951e08561ae31b286415055109106ddb42ac25c7ace329b0da5c15311aa4b39337f5dd0c7ee10712b807455af933d1d8adc635804acb9b69afbb5f16ca5f2f1a58608a4e2fb8787ad2aa4259f007c5c7d4920f0cc66e40590f61af2ba02b36983b9da53b922387efb01de00d525bd45d743c492fc6cef6312d7ab1fd9bbf454061114ec7a2d830c3d796396c413cf3e4487eccd320c9ddf7c11c91513c213408a307872fdb8762b507251f6c9a371b6f5750023f8e63d7b1dfc89d2e1e141c308f8477d45e8b6b83e12eaf9c0cd4607972f4202724ce508dc2f3bc490c327c969679b0bf916f43ab6059de9491927b5a8ca7c7670584d1e306b41a562600eac9d00e58c3c28d720e650f78c5ba185615987f5b13aa828a40ec63d342a916925afff3859180367850d33584829586e59c8eb455c00e6fc30d22e81b16a8ed9e4b79909b3c1d0374f153b266a0edb89a1ea40d40d404732893e718b089caa400854c0b25e093c9a7898cc1b96c8913cd8726ce1859ae7000ab3455e3993c1c8c91b20a5cda1507d30ed299757bfd1dde5e515aad0564c38aa0c8782c0d5717db6814d145b20d151cbd225de2692ba05d34782803d52c12246b4fed1b13bde74a8b5e698ac0687bcbed466c6234d3a9883914218911a028f41b66a90934d516d9cbaaf83ff59951e58fa4e24241a798f72c0a28cc4e0f02fff586fac2846f13ea25fd7f303a90721f537c1b24745cd86d6cff47a0b3913415229186d2e4774e8f23482b178212da1c51a901fd9051531c17006a9d7c8d50a578712f358ca83e2e9cdd5f78afc3de5c216e8e915a42185c43a6ba259b19847e5de87ddab2deece39e271fb9618795d04de711e8c63d00800058e34d83d590a55071e991e1aa8ca6cd294df0a900d2bc1334d114b04fa6e467093d63900924072c75f2b65c4c80c1dcd940c642e5fec1da33bd7094e0fd6a1d28cf3cfe09805e25d16bc571b69c6d073292f6b02f2dd41388707af3e2fc8c5e8da28c64bbbb85a9917b4ef70c1635f97ad8bc76a332cfecc9f4bf461f9848dad2c56ab3ded5806a59f031eda9474d31d6c2e780414293031381e7b30afa3e9d8d90a592817301b84e03ca5b689c68f115f69f0155e14f0f4dd5c45ccb27df59f47a7405228a28ebe60d0a2a0ec7baaa2c48a6371768f39114d045d1a487f19f060770d1d124d0ade3ead8e46dcfdd4589fa7c9bfc1e97c5495b1f945a7cd4dd9e9e1e43171f01c46f4fe04baaf691b70a9d59f65eb9b9d8e113d66202aa38a2d7c4b9080203d6f836703db12435bb0cc8d09ad6e0193fdeb462ac1d12843005f5d0fa8ce18d66e651f2fd86713b203849f5132a59c38722b1df9d505827007f92ddb22864ba8b49e76c1bf7ca33b128f2c495ea1eb4b20c79414f2c54d1ab18d04a0655d94c3176403d11af944ba0c4e64c9ed8ec724f09bb65790b2669e3cfbd7bc612c4311082433c7a9e055e58facc9334ae1b3c2b00547ff000c396b0ec2bbe5ec665e12ee5cbdaa191adcc8cfbe26ca1f1374cc142d42ca782312977fac9e254b626b260d1876c1a60fcbea480a622728fb406c621d3e2df5a84113835f9bedb9b0ce0a2f59c557bcec04dcfffefbd9a9e23c711689e35dc29b81c7b3efd096e671bf20ee6c02527b9a0fba64f299ae3c54f41974b01b8850b58adcb7e6baf4bf1ea05a0227c862ddc5a117727e1a4bf298112b813ec54e659fb8a3aaa6031703a5ea817d852a38de67c5ca18eb58c07e6c5dc1aa3017fd9614ba703610378fa0311f200761789afa603ee13e0d7d284ea9424af16aeb9234906b7efeddb8bf96f4226bd54b185b702595a6d13f8367320d6af2e38f5475ee43868bd12ee694671fd8cafa0f31c99b9b6f78b6c6cacc0f3efa776caa1057d16eb13e99b2689e1956eb09e3cbb4cb6f387d922c3f2c70197dd6b71eb850440bdd84d96dfa441b4fef8d11565b9818ec9b7522a741f3abc82eea3b73cd09302b58a045055bd76d539ed714fea1ad574a15d357ac92504cb137a634f64359d4191f6b460f7aae5b51b55fb60b0cc7903dc49e0663acb3e032c7128bc9937497de4300792ce7fc8e676730371cb10ed310ab9b46df9504ee5f72baad971e378ce8ffabbb18bb1d4d16e9739169cd03c4aa6101490553b94c10caf51b8702d3ce2861a8cf85b47b515a42bd13024f6b8446a894bc7560b7ee2c9b06a9ef294a974cdae83a2530a0930ae66b18dd4ac8562ff0acf64523ff571b4f19990d62b7ee6fa6e00a656272389c5d1123d6d55226bc587fbae36f1b2ec7428a2dbcfd88713167f4c7b80f1d04e36eca4d95d16c1de1d9daa61cebc4af9a1fa18d0091469b9c84f4a9d74e063989e601b52bc978ae4abbf8804727e4d5be7ddd5075665418a0a2324ecbf98823cc9c260b42691ee15982bb46b3509e75e6539f0d5df2ce0c58dcc250053d3b3249340385a27054df9260689794f2df40555728c47ec81643e314f52c11efbc8c4e3540529ef0ee5b5b83f6083d5488e7266bdecb1a38ee8ec8c290bf1f9e024dbb9ed690b0b329d4f98e5d8fd941f7ce0c3b699a66f063a85164f2d416e8cd95a0421fae117911e44d493b1e0555f0f9014aea6de4011eea4b783f948e282f76554567205f7b405abadfff19c83ffa2c17b427f701f5206f26f95c033562825bd8e7f51799da84ebf26a70b0f3dbd482da0a819a9b265766c5594b25248163d817b33a6583bc2101b8a0f98076c944e9d0407e3510645455d1442489f0c3ae8d1c44884c0e748c8509d5ee4a2a3fb4ec32bc14f558ebca04e29b9e5a911e5dad97b544da6f37e6bbbebdc8a71bf0fb7c45285a096d3ed7d76a8220c60f5ef9ef4555909eaea7ff067d0759d3888198a7cfe27c5031d35a65832864baa7b7d0e7212eaaacdeec25692d6925d82ced151d02f5bf0b9f0f928888699d56989432fbffafa2634c31d05d2b457685c948f84084417d849d6351ef96b8b5aaa18e97f53c440b31e13606d781afca962748b819dad266c88713b2fee74d7182f00ed979da687793adeb976470d03097ca5217cab5063af02adf099772179b7e58fe76d13e44e36c5842e6a3c7f2d8a3bbe4147ccb65ec0cf8723944a7fcc9faa6e6a466417cafc2dd06b030d274102d4aac11d57cb19aee92762d18583b9c6298ab3d0beb3e4e907942136ec02cb67d47de6b92865dd43ac71cd8b3367e17ed773ef2f7cfb1c8249a7fcd2a1823b1390b0c89ed6f5c182c59bdc7e9f024eab96d030af06859e090d77f6932bbe8edb6c79a06a4f99bd5f0b419ca8c1f5ef9c03b029906f6e46595e1bf7d8e7f984b8d07924de892882708413100931760336b20606e8e8be319aa7c93031f126bfb3f09719fdec31d475964c32ae0a4d29f979bd59d71b9e9e55fa3c33355e539286b4da78be4dc6b655b4dcec17b6a9edbac3730dfb5775b158464f6971c011e8a807882993d8839ec6ee83b712158646e440df178a648af8d04942ee62175eb73bf913f1fe1553dd4d70de9c9dfca9ab6f7533e86c9e14c3dbc957744ad93af1841c1a51e85cd6bb0682cc92fea5d6ce0b69588263aba650e120e815dd7e522610c63a32004c6b4d48c359423de24ede2789ff5008f9558403c8786584416d58146031af4932d490b478ec8f5663d89e227685afe921d1aa0192c88e7b92a72cd94d1bd6be5dd9fdd5c2b6302297187788ae930eda371340cc9e6416a9b92817253cc847d30789a74fc783c671d4825397042b9329935ba861135dcb8f4c1e15ead8dd26f367ab69e2997e2d2afb14e459e0a5a8efe3a62ec6b26762808bc3edcfd7a51890c69c17cf6469924804d1fad9705132b52f2e45ad93b626e4426aeff0d567312d031d4cb50dd9ab5a95fa263a7ec8500695fd66bcbdabf85d50dda9a5a392fcd6dba277698e4cef0c6b7ecc372d95c7ba66c77bd2379370c6ad412cb48a15abacb26241c059b1e6432bd6ff689c6dbb87d75c4e9dd6db3815c671184934eae05258343e17289ae8d868c4ad606baf7f54de07781a68986bf335e98455f248c53f01b4596b6625d4f3217c969d8d65ed156258b256d50554acc4ba60dcb9993945230e849a8d6e557393219b8aa82825e2db567e4053c8ea26ad7832b41ef45802fec7ef9fc5138df7eff047cc672263d405e319d1747d8968935836d61f19fa472a0521cd080f9f1644a3364de6911b3cd75838beafce6090e279c6017f03b4b4930b580ac93ba2561d4422cf3e48046e8e7f2091be02217b012b03f19f43bc87a3c870a31b317e0fd3ee68586aaa9ae6efaaf72862ff824d18ffa21e9bd84fb3b30212b65d8f9a1fd23d276acd53161ad7aaecb9ef0bf6e820c5549f9275a15df76bce17d623f4ca3459b90621edc9c23c8f643e82ff87900e5a6a9658af8cf809bf7bb9f1c0e0b1a24a98d80f10b578655a353d61c438e74e83a84db14aab3a32a2ffdf90fbfcf10fa55512d6f31b91c75150c698e56ada31e0b7f14f3f4b0377b871ff14227b8d7810fba2d5b138f3614c03e9a2960e789f880810324b176c412bf4c3b5dd2e3c9d7db5344c124e2482b9dc961642735baa881b3dce8afa6e5bdfa22ecfca526e1b811b631f99c2584955d1aa2ea35acb9ddc27a41f144a2e4062a6e037212d332d2f39e3e77b42557592588beeb46a4e247f931e4eebe5442cc1a465a7a20c914ea196e27eff055ea2cd4346f9d365e9243c2dc2546e1487d3227077218373be2b640aa1f7bc89cbb40895ed31052a02cc25f94df8ae1eea60a9198845102b39fb1ec24e4818ccce69d9721979dc043a34fe802ecfeceaf4326488c333e677cb020deeddeeeddc46ab2eec846c04f75c5f334427eddaf85a49b99c9d522034aab9ca4df4721551640c81837b6cfd86986767e8b189a291fdbc6202cfb4cf960c414c6209f7d97215ee0fe52b229f04cbf07fac4209d06e9de8dc31ac3abbd61d91b624924f6286ac766129ffe995a08875730e859d3afb68f884fa747916a8e1e6cbf0375e0355c0b4f6ec94f85da021e3fe5b74e9b9fdeaae7c16442024f6049213f28aacccb1c19d81b9522950b535efdc9cd5b190abb307bb3d4462b085168c65caca7d0985bdcd7d5e4a5f3af618d66a6f5e960f96bc0ddae49b89a1ada661ac8746c1a4996189a119a216361e7818ac02a9f1195d7c6a9c1e82f7eb81b394dda1de4653991b1fac80bb0da6ca1d70d28878817b641f5f4f97766be0dd93829956197d5ed1ae0b3088bd123ff095a3e0911aab12ed3288f580ca32b0559f7a65a9ea09e22443bdfb5575efd8925e36a0161657ffa170fe6ac20f0b4112beefec1884ca9b65e750b3e33170c2b3bc27e3c00c230e9c6c92062683898c7bb08781fdefbc654388e11ae042fb830af9d1ec87b049b7aec90e442b9423744759429a87dd09daea48df84b830f6e3d2dbd6f1c6a42b381414cd4416b00a0cd04fe2e22b9db5d649c90a409080c9b70d1a754be988a215b2b13710ad6f62e90826c35e6ae8e2b07e4329dd709ef7179fed6554a6343b0c4439d48fd95f5033ab80fc680683c28f29e4024aa2764a8ebf148c06659261712dd713f03b187d6d8c14aaa7bd3c1cf410a46e3b4827d2cc2a24506c96a3aef032d57a6cbbf005f67fb8dc104fe18d1b2d4458ca9ca53815f20e0eb46d389b5f588dae9030425c9808b67afd27dbf0c0352b94c34834727e32d51b90823c007323ad1de445f2dad659e74827185d253841adae5d00905784f81b5169cf6ec431d935d8c86ca7c9671e70abf27e002225c307dc59d1c708288b04e02492692425a3d7a4987082cd6ee9901382b06ec42ecd676626a989e5053dcc54b2b8e9b82cfbc2be65398beeb4d6b96e54e52ceb7cb6c6d2aa9984d3c5e3623d6a1b8fc59aa887b40a8fe8da73f8d9fb506a5e0b7001711715d5947081efa3e7aaae717dba48d96d04ab48eb357c5e6b231aed29e2ad438d7c8ae4aacdea71ebce2d2951ff83879553cbe30edc5cac038862d117844b40fbac07cf65a00b14963e42b7698eef82997af002deae258c1e99a990482d10bb8ee561d62c7c03d8ce7a7d2294ebcd39e3da0934e8163a22504fd3a1f30d7a963315b38769d0a2b474612616575c888a52acb4980e96d5197db53dc792bcd67986e0c313a1d610a3e4bf6eefd32f5105185499135af2cd79d2a5651227dbaab71cbcbcafe675374f9c44445c92a16960923d0dea7d27f2570d108d26df326ffc1e8e879fae009954fd704d237774199d95db5d9b988cf75468d9adc65eb6ef2b68b9c20d621aa173f05b29de870754f849506d653d6e0b318bc2f07671c59c1324103ab5ad459e0971539fe5d48f462ce653adf69f8953ed9fdbf4e992b5e0c251d99871705205102e47a37ab8634b43eda2f72370d182f65c0d760a8e92df895763bfd9be53f26ce3037ae1bc7d4a650acee6dc6ecde73e9dc1191fd82a3c91ea1b82536b5f545c418bf85f542370434e96d32be808db74cf753c6efcd6c8212cad282427b56a741833760177ffd7802d160fa40c9a8434691d9ab0e218ccf922d7a12f4bb2a2d6d4a9537bc24b39f5916b1ad2b644b6c519766d873a05ae5b3f45e6e670b32b18486bab47aa9c63611c8d8222bf7fc64784687e9466c17cf676b9689eb25d2811a801e69fada12914b984735c4562811bbd95500660e5f73acffb63c45ea7c368b81d74a17938e17ab545d4bdd62beaa2eb8136fd40d0054484af91510e85cc025e2d7d689d32083958dba88439e14e4eeeb34e1ecab50c0a8b0afe4510fe88ac45ac3be2d900424a90dd763b32ac1e668e332667f510093684fa4a7621d0da4df00d44234d5c4e89cd902ccc4e58457417f15dd984eaebe786450f1ba4003c2099e4279670c603ca16a146dd366259ccdf5536d32fbb3a32b9739a89583bc49c86779891fd7c499b8667a48f2088925f46507f1914bbbf73a8dd4cf5630e9e9040b702ad02ee5a8406f9189581b85bf090a8ebcfabab799942b2f2d0ab95a781150d1b00adb2caef40b03098f3c3cb922cf7d242e077521ef46c9fb85bf319489569ccc1f2a78c0cd46b2a4ea3b7cbc5a7724a931591d04a9997539cf9fa1ecc53a2d38fe14a4048f8ef2adba6e9679a22c2300046f8355060bcb1533b0e88f02b1a6bd5145db260bb17feb61e97be0cf58f2e86199fedaf0856efbb81d6d566a7530d079c55b952234268c8df81f9de042a112d774e12470920f0659dcb690d26b42b742e346c3c59b6c3581eb036301e1b7c1ff38e3ef1d5ae6480e26ede395c596424aada5c620f8b95ba55b78f5594e74e9ebae5a550cdcac9033e07e31ff35be66840426d7d9286149d2e903de552b4784a0a92b754ee4a6848228fb68f5c38db9017ee2829488eca21a1ecf4a20a67fdcbe8e72d820626942f815c9df120ccb2696c8a882e4a2568040a19d1c691289a3464608ad4f68226f96709afc44fa85e77fff9a0b37094157da45c8df9ef6d1050cea64228666b4e50f8deacf188c8f676cb859703a186b45ee491c2e3077823579b4b3c4e33593822ea6ccea720f3244756cf443eeab99559f68ba28af757575a51f532d01af88d104a7dfc41d0fd3ea048d22571e18f23812f8010ada0af739633c806e1d087ac037bcffe3d5c5ca4e4aad90910c77da576f7256d95ef0aa905c83a42d1a5530572235f8641ab4f0fd2e31106e02d90d25c67fb889943d9090c5d3be79779e6aa3b04c181d3c2a3fb2307e78e7e72e6aeb250f7964158f3e4561bc9696550c2b44843276ec9af93a5d68f5c487d2114f8b8a9adef9c3fd80dd91566365485f6d7f856de543648558ee1794d1b153b910e61e525fadb268cc34c63a9557ec585fd5358d354f0e3b779c924f369f4022647da53e250a87d146c06353511ee2d4127ed8ecbe738853fb3cc4b7eef5c00272d18a4c1dd7e3c7b04573123268df07b6834a97ccfb380a1f17c231d8a3213724845e9a68cd3048698582d5c10ead0873aa62e811b076d70650bf00e23e68a82f4c6201ef84f94a0b18e2e3e18e05e2af7a385a39ae72706b36805c325fb84218acc4d9cbc82ba623bc36dd3a19b5d6a6a3b29c5460803e98e4d67662703fdeff8b8c57b0f6464b24714d060fa3d0b4fb808f5a2273d882726e2ab81a35c1061bbd8cbb53c7ae9d09dde6509527317ecf5d10016fdfd3a343d923b317a2440231895872679fd2e35ff431a7813f860b7983633ca2689f976b7d6af10df8d94ab64ac9a0dad2be7e9c4146180de45326858bd403b515cae58797c495fbf3006ba09339a001b7284ee3dab0a60a14735b671fdd46b50341bdc368520c781d14bdfb92b33c7330d62e4206eecbae5373242fa27f01c351383585bdf7b52f52686516a91d5cf996abb46094d8a4de79b953b23dafd93d90dabb51dc330ec74ecaa02c70038e7616918227e002249cbb057bec62c55116cd43182fadbf2854929a63358f931f5769ea7f6782ad53d956b38d11d243f05fa113fea2d3d95bf46573d61f02319fb4a449ae5ef64e60681e457955a90371cf935811d06574ce1544e4a1081153d3e2b51173c7cb1b305a36c938808c4bf4e4246afec536eba132cef2a1238ce35cbdf8a4c964124032db2f90c921b6110002dbd7afe2cfc5a82cb3214da78dd73892c7de6535e6dc51899a4b8468faad27b4b2de321dc42cb6a2191e630d24434b49f2ed319102cff54cc4f0e921013a58990388a0006ed9328635637ffed65a750843c739e8876be78a3f5e237349ae7846375c5e68fa4234ec165636a0d8f0bf1bc5dc72eb3dc4b674699656eac64194c41b95c2992c9338966c9903a59d7254b15274e7cdab6fde3b3ec17f63c453d91477d2a1fbdd8c9f192278171ed890eb6815117029bb36cf7f8217ae1e07a53e6feed69ea143145eda8f1d195b46a9609bf33801fa94bc788d653bef624ae6b5adda8e0d5d876cfdcece8c2cc6faa1bc73fae0e664dbd0a78a16a57ccd527633c3c2fe03b750a913b17c7be488711b60b53000eafbc117ac5c53a3eeced1d7e618179851eda942e0a0ccf66f3dc40619464ed7b071746a2a13a86b6024877e22e38a008a975aa80769f6c931df8071b82d0bee55202c508f45fc78f9748c81dd0b6d04fa19442d193578f0388ca9292c6d5bf6e03c7641f54497d18f77e8d1c2d533d402c32ab97a9a4493c21ec538e4facc97bfef17e2bd8281d4db92812083dd5e22ae6390277d0a34ec611afe15394550dcd0c692a6ebe058d10e87a04919a56f569a5f8b5657f6b3618896c888ef2e81e7ad7f10d0e5571842754b99a6a980678eea8cb5350e8af297379c4b970401aac5b9fcd2111d68b330552017c6b8ab8d841e65979b18ba8b352f0a9bf0f6a6c325cc915785438a75207c812ba8cb85bcb277963632c1f816ead8e000c883b771461e3f61651df7b41060d954aacad591f756db507591582e4da57719308ab2e7c7cec4861ccd826211218050e8164f82aa113d6f501052af79aaaf21b28e4b770fbff250b751d92eccbe6781317ff2855c0da40be9c3e3ac9f548fc451b74cadd2519ff009dac1308598e61a8ea52d33c2281ce8417c93a5cbdf145cad7a7e44b407639a745a2e0a919b2acb270280e0b762fc7c1f13573d8583101124b7d041d6e88ea07c36c0436a8f278b3540695d54c83998bef6250fce289b8a278a1f8ce108b8f77ca5b62118bc8310252570d37b8745d0803544f8d68a360f158485455f7e5bac2a61f8830cc2aeb42f34e5ec3faaa20370bdfa6974bfa97a4c616fec66c5b7f6c828ede483ab76e1464fba0df736749a6bc8bf394e756b4a91ba7f54674ed14e4f121feb855dcd6c84742e87c2bceb0c7adb00c74ad006392984c7061d7950a47efccb2801221a59e08145b8fe8bb271444304c9ab9fa937f5a6626426d253bebc6b6c624d78929637af18caa5f87c52127604c7cd633b0128fcae28efd27b47abfd215f1cce8b249f2e9844bd8f3fe2b305a2163dae14bcbe48369da539106a2322bdb24ef3bea04d3d6e4562d09cf96c9af7e97feb3fc6de0a87750cec0669581318855b68418ef96118e39337875123467661715bea31b85232f7045c9d7c96074d4316ca66eac53a267602098f0bda396434d7b70a605a53d8f4d4fe6a90674ab922a966e99b91b64ac35df7da094c89912fceca05617110f694548193474ba6d00645521dd38b5efa64e309875245488c08e6b7a07d327398146e79134bcb699fe1665bded5f8bd7432acfb807c434f7f3edf85fef3779a13e847bf2e3c9df613f4b6879e67c5e7b7baaa5b3ad39e4871adaee2dc260271815f933728b06874e67aecbe8c11931ff9ca028c15e8792a42dc496969c3a87721fbcd9df6b5bc517b96cfdac955dc20aa0ee089237c4c3409cc9b48cf3d5ffb6556c4d97f2ba5b64337763f0b4080fb451814d64c6d1d671c61157cde9091287cddabb1172de741b4e56012310ef51fba69b4192b03ab1716853642ae2452103679f4522c89787cf16c41de27ba535024f52bf93d12fa00f6aa85e09cc389a354432e0e30764da6d1cbb3e5e6d0a44033c125c4f31c7d6ebadd8ba25850c01e8b21760d532bbb591c48fe0476b5d9f42e9e230dcae0f4c4cba6f99ec4376857d41cf15528ae935099df3366be63a2c43225336db1886b1b50ee2fa889aa9fc0f3b44a5c4c2ea47e82642aeb0d3834756d192a4a7550e67ee235a686dbd8fc51a93df558098c6b4e86ea20b915fe577711907b4083b46f5886555f73df3d6db772c08bbe767743c3ecbea6c08faf510d70f78b3061f51811840f909431b2c978e2327238cb6e0b7020492161c9f3332fcc07332367c75fd33c103f39c11fb3dffc8865a85f89c293d658476f69eb3504697d8f5cdd594ad5b9c11fc9a5fab29dd81d978aa400bdff052ffeebe6a0da0d038f1c672193b3749dc22461ddbc3d9a053fcf99685f44d6fea012cfccc984369c801db206cb7eee4b7325e277c4df55b5c6bafb34dae3f6a391b7cf0640308e2be84088b35ed5df033e55cc288153a9514ef7f85a30d9e2ee8b7bf16264745404187086e01d472913fcb310a7f53b58e45891a676f70347c453001622d920aca35880cb4457696fb3b5c5dee5d8aae45a24d4924a7c76d69bbff07544dc5a99d3933e1cc0b9c183620670daf5f021bec2c39ca89777fde56729a8a2144f05350531225675b606438e6fbddc08e2e925287fcaa1953a7e9b2565a028b6a53a60a55e1bea3e44c6e45f9b21e5a164a14630a2a8abea5ba1ed0e55ff1ccbb4c185c990ebac00d1fc10b5f4eaf11167133d8ff20e6478dfa5816d201ae5b1e425bb3ef997ca6b50d5b13b750f52560fc35046296e21a0aef774d19dadd2f9e1b904ef823b3bdbb07dd3bd43b370c30ee312fca11e142e1a0ad6eb5f120f3b88693d42c6408216b4d467cdcba17b63be11b2951f0f741d7c853c6afeeec008f8a21bb0d10bf3fc04a5c64ee9fab06d69ef75978915b2251b9faa903cfa76b602f0af093c04b7351e56aa2093a8a429a00b05f91d1de95ca026324c2fd553b270967d7d0e23dbc889627acfd0177e09bb5336777d65ed45c0bb851ef0cee739f30cb931db661f0446702d0e9b277da0d86c3bac5ddd29a18d3788b0e2c153ba82823a3d7003409578bb82cc79cebc73d8d3f38a4f13a8135c607ac9e9fea649a963f0219084fa340559f2fc09569d80c465537e1e86b6fefa842cb25edc447abc6ce08d1479ff2e121b0129a1668cd4523ecdc066d10064b9aea1e52d66123d8807f328d984499978b97e80032cc3393c5c996bb85cad1e1852ae925d61a1472e0857743eb6a0238bed5766a916ebe82b0e5396fe328fc628a9dc37a142d96a4528bb775cca528443b91581d9e2736e04cd90b73ed1c6a879b00e93638513be70b55cd3f5d36520e7a71d4b30b72d0545373b574bee7d212d6cb9b792751570174a7572ece3c0db5c2a87fd2cad13cca70da730c6321b54770d648132c2eb0420d838e9218d53d208c90f69dded4b1488189c8d9081989cf54f885537588570049c4df4ea873dab7bd0fa12da07514ac9998f43e452ba314dfa4a6a06d62f47a74fa9e3a9c259a5f071f13ccca32b61417f0b4a20d9940c5d72dbb0000e9c2b20b951650587021709be053118a54263c2846f12623f8bf2012af6ca4ad6c4fb54d11c1f43622a71e1251b2f7369c3abd50a380af4d64613b13e66ec3b29f0e347e429f90b5b9768efbb1d610415282460f46cf312997ecfc98ec414d7ce176bb94bf3a0b45593b8b8e29ac76a0af0059040842c00ff5b6d8984763dd2565f83da4d6fa14764162072524c6bbcb10b394d6ad2abdce425f84c96dc183f7b5d3b1b64a04f7a984a39429ea092636bab1367b94b81b8d33e21d973c189abd0268b832c07c6e1811912305c7e3603bf984fa9fa71880c0ce385f5463fe5fddf5c4e958cd59e04dd2bc1bcc3839bc112edce99785a1f85fdb3c6ebe76db943bb8da734dd047f709a0a7ba6611cbafe5419e4df4d89a717cd36e69f3c391679818b7f50319d024c0aacdde494a896169cec125f30cc67bda5bd4c734860396d36badfb0f5da050e4e9f925745fd973ff5170d0f9926c1b50766c116f26e2f552af7f674b7aaa7a66cd44a313cdfe4f84fb208c2a3d6209542463cb00da1d84fd4d4b76db5e4526970afd7e2c5758c1712815ca36998f827d8f3266fa2c7fd7dfb00660a76b6f094725fae0eafe26169639b5cbfcff6469c03ce78dcfab96083df12f4736d24f2268cffe4223b073068f089743045ad6528d82c9a9702370999ef835a2d5b4ee69c37d64d30b7856b93c56c699ac781e994852587b43ca708393c457fc06b439a4a7407e790cda3ddad1d2bdf6a3962338d81c628b5d0532a8903fae3eed83dbad9420048a34311c854b3a296dbab409b4e2842858bbe45c199e055a5eec13ae1fff28dfe0bb05697d4aa4ddb55ee7bd5d9f6b41def832470456b22c8614d95f44a095125f9128b2a737c50ee882c66af7a5d76441c2ffd79882079932c28de22708afb96b8d99b33e2622b2eb237d6a93a9e06dc8983c19853f9661384e0ce96a55315e50727b6a72264f1214bc2c7d3435074f244e4d7cb7bef721259ddaa4b13ed54156c434aa6cf106adb9aa4796682df34b3bd7ef719e753180d38614d226ad420dbb79fea62e3875b67bafd9c75a425b0db5c1e9fc37c3542f068f2f67edc4ea5575607157dd1d16b8bd6e4cc1184e7b7f282ffe5f60c78972e7249e12d9997b69b7cbfa4be5e964fc26b5230874e539e1f8a02ce25126ff39f92201a7cd22ce879c505674e2684d4d384b45bd4dc6f5a07ded2ebd2bffa9dd29fc57743d9f60f01d22f8c9efcc2692e2a65759af3164261a6897cc0a79e1d35876c2cb625ff4025ad4206547ac902445f704ff6dc95a96ab1275f8930b1796e3549a7d1c3964dc8aed72669930528322b6c14f0f057629676e976ddd6f4bbbf6a9c9dd70e493a3a1d33d50b411380a4034b6ce68d1a9dc5a74a20a67506f32ac56966b5731460b29071a1943b339a47545adc2265566402fd19b0cb02bcf7d704cc6af4f2bac159472cc0678e962fa150c1f8535c4e6430861e08fcc549727a4e5c541cb00a040fdc32fe23587606f848e77034c7e3d54cab901d62983119f08c291c438837c7c675b53a67c39d7489ae843b96f6d64d2fd0ba942e80284be9e1bdf847e2403ece6fdb1d1e62fa9a36afbae3511f1c0c8d752def9514df5216bad94a29fa9052d25892dde05597df288c3f70c1ac7c2037e2a6f0e4cd074e0ff76085bb1d5ec63be3c2630235fc49814510bf2caa629cded99a5944b682c6f1fb615d5cab74275b77671cc80cad03a051c64564aa1df7afcb09633ca4c3852ffd69ce2f87a0735e701d8bb937fef52a0520a8d0435a994d275564ae904d2efd5ee64f0ce56f1be06670c7d672b2ef30483672b4fd50568e0f9d6d9e3d2c04fd0818ba20b08f418849b3a2cf41cfc391c48299b881a0a921f4dab07d071a0b419847fe1cb0a4441e445341a3e5d62d6205ea0b8948c65bef4ed4d68cb126178ec158a3f3267bec29c51ef1f5794bd1316a338796616c368e52a4a60ab5a168c731e433400d32ea4ca2af65db464aba28ca6409f6069444991860ebc2ac49ef74d09c25507a3ee12dc8687cf59f22a03474158bb0c047ae46b8cad589069bb8634c3b1ead9dba0204c3a255746ffc0665852f7f8df2da5356e25fc017cee49221e5ec023f86d90860481116778b2e4daee25f636373fdc1ccdbf2ada6321edfcc714fcce76b84dd8e980601746dfbde51af48ff370bcfe0d61ba78f3553edf026e685b81ef43283a1ba0b46b72a2c2ca5d01055e0336b58ce4a74aacfb8893e781af8c3e5e67b711a344d670b5be8b71c1e080cc01b6278c60e693ff7ea8761f95bb65afd21f71109624b008e5cfd99672906885b0212415a180686e7f04a842e0e9b28bae01d823db52ee7f7c04e893dc390400c7b6141d3c00791a1c0995841df067899672204df96d3720d1523ac072c4c9955451afad769f4e6ae0151e26e656876d295794e1f97cb492ee0e7bc0d1ffbfc81e0265b0cdb9b61421110f31e583d12d836be988a5f28b29273ea699b8f12a9759fdc5f035c2d0b31d4e81b0c23cad148d845a22e760eb2147bc187bbb0e2aa703d9a771b7a550d08520bc638ce85467a09843d22a5bfde2ab6e4b99cb9802f35ae1c13f7efb60745b4a7fbbad1281fe4922e4ae832945e6b2ed19f3375b362f6678a49ca3fe112a11a5fd72d929749c4bbf10e047199f7851e9227736d85c81ff41d01ffd77e59f7bbb1f2e8a50cde4a4b6f8d1ad7bec95b3c3c307fb8a4f3c924e9ee40f5e10baffc203349b467eb4ac36d69923b96f45cd25a1eb27344465d7e447cad7ee367d5f4f2002aaed262f44cee6ea1b06b47644a72fd4509f629d8d861f329fbedbe84799576c34bc3d8fa081aadb463f420e65db584b56bbd9f68bce884904526b0be6c6142f890e5f2041ea56b3943d057a41c8e836a7b63588f589ce506c9a7991b2caadcb9c66e8ecdabc68d9d54bb110cdf0103885abc0d1c76c21cef221b233e6f8a183ef642186e511738d558183cfc92282e125e48c552107dfd92206cb23e61eab42071fb36504cbe7015d5d24cb57d01f912cb395afaf36bbe70d0c410be674a9aa8cd8eb4007e523f1aa713fcdc13721a0d17293b0d548efe64f09e8e8b934fc6aa4bf799a7008b2515f694c6c8e14d4012733e5d236dc3b89d5a03528a09c4a6a4632c400730bec0fc713ef7121714de91fdfc56d207cb1360681995552781a1dec74a70e1654d386d12749e8058189c52fc4a6187bf4840290de1f32534e15569db933feeb22729cb7785f50d7a9cbc205df1d6d73ed403590adfa6a02b7ca0d78400708e9b976603125e48d8bda351cb14628647bc84cb95169246e55a28e24f1973b6ab93cf03c106519fdcb334e31c2b30fe364e4921d2379eaf8a55547e2ddf83533a40d9929f9539c3f0ff8069b5d2dbbd7ec76a674ed33536a01e34012cef8020e6943664aa7f4c5011558e7d37aa29521b8667ef888313c181d3253ee1bac5480a0026352a95f0102e4e888881b739ef03264a6e818055368919345cd612e4a94c1e4ffffb554e1cc20770f9929672fa9ad79d9a3d7a4280e09034fd31085f819aed0e01d949445187a752cb8009b09e289516a13d65500a9ba01082a3e0dc793bf606a10d7f4a1a779bebd54ff7fcad41588961b13c2b9f763c84c59b42e518b325374b55a0fb1656f9714bd270ca4d02c1348e9dc2bd53aaf1b932853664ae7208f33c3f61e8609836ac986f186788d73a3448fa7cbb4f7d0328b98e771bf61fe3688f2b89d2af43ca902d77e370986570a3dc22c4cddc98b8d082030a9791ddf197d34619dca243e24a781c9545a2400d06abdcf8c08209091ba8d76e615a05d033f77d9c2928f04b534db6b23549d89cd703c6854ca9db287bcee31f2394f545afd89d9bb2cb2cd3013426bfd96791a6d02051eb4b875d7c201885f9739cc3234388d1bdbb4a530d0198f8142b98871282175330bc67b2a6c277084382254dde89a05000becc9be8d99213d4ff6c64234b082438c193fbd97856efcdf514f3e20cce8e07ea9b411ece5a7ccfd86fdf6afc9c8596a4db63d9861bd34be31f7c0febc8cdf59a60e5d32d99a5f12a46d79d2deb2224d8e68c5b5b45c8f7aa774d22113f49eae3ef318887203747084a22ac68d14b0268a2f8ba5dcf7381310ab5d416fc2a1bda718a39d20246273452e1696300384b8612662f610bb2df14fb6fae6040ba93fbd6b0bb5fae4a16f856abbf9661ac89bc2f228b8619934b6a03347119d210324a79414e9ade25dffcd64a853b20d7306cff03d3c400687bae7caeb8359f5fb1a0320cfc778e3c4d89b6e4c766e1e4306b7fb5da7db2e4836290372943b121996b1d7affd59a69d2ba6b105d5c308c80e08704ee9c1bd90c86bf18e0c93247caafea0f461046c2731c60304848f1807e2bf942e9775dddd874c44fb4466971f1d6a8dfe20693df404f0e184a23b649bb329407dfa786c6f68921bbecd36183a2fc5b7dd1a3dafdec9b6ce65c0a9e857eaa4eff65b68c27057b2d47294e28f5dd03ae8431f745803fb61f7437974890014b99b95fc40807262dea913419b616678d486845fcda59cf8bbcbac86bdc378a116a25b4e3824bc8cad45b802b3a287f0323816ffa5be698adfb32e059aad7782de058bbb2f7e45bac256de5fef87d4042f9364c2f1a2ad360f7ac8716c4ef6f554c8e48e380a0d9f3ac469de2a1a930d61e3b73e79325792c715135dd9341f6401079c15bdf9ccc046c4044afbde96f0ad61257b84c1e3ee4f062909fdb2302ec2659256632780f764a3d40cef7b362bac9bce807822bd139271b15563380c0e56d379d81219de0680f62bf45a0da25896201e9066e15f72152df4184b77d6242f5129db50f81442e96c3300f327243b01922783b69b90294bc5c0fcff57db84b62ec8e1dc358ad4fdda36f0c374b68f6e9db2b028dba63531a8b1e0fe08b50e04ea01f25cfc7a8b29c560bd6add28eea8e5806f15a16320b31c69dfa432e126a29a92655f5bb956c968e9601c5426199b23a3a97a280ebc8ca2815abf5c6f81566f083d506c87d5d2c91c74500899eff1dc366b7716018f1d6036fadabaf69a67152420e8642149d1d29e83e48eb2082e85177e8327797d1fc8acbe02cc5a42902dcee33335c40be0f7e6dce115805f628ecd829a0425646b989dae2879064f99e36dd4fc94d52061923d6ae83409d9f1812e25fba33895cd466866f2fe53c59bfa226f7342c4a01e6aaba69267d3591ec16fc33dea93af70c0a28b499c1f09d303ffd8bdbf0e987126d24f20a5a5805c845481645c6c08a8ebe51dda5fb52123aec53d6f07eb508a7c93fbfa84b1f5757b3205df5972fe31faca390e548f93af567539fbcfc633c96250114773065447662e241aeaf7303b4de516146ae82f062fcf68b3133ba91f07aeddd9122737525553d60ead1762c42633ac223f1fd380dd08fd0a7e9877ba69b6f926c7d0f598476b94ac4c364b894a00d06c1a31203744069756245b138529f4a99cc72bf84ddcd46d63eae86948c72c6a6deb07c968d170d12991d3b952a257b7629ccbc57dae9f0c73886ba5fdae4e152efe88a0cc344d17903f61dd8bc16b46253c032f2825daf32cce94ba7274e392d22a35162b506c8168ac01fc2035950c0330b26da33d5573191cbf9229a36dd0972b2516a81f7c5f556f595072a690f8d84ad701c0951acf733014c784be9b4cc16bb129e341425fc7e8d36966d64fcdfcad55957655bcc207db8f95f45251b7461a5722e15973734f29c5d2f894bdfea149852c8adc0433cc8f2714787fcd2e532f0887d2ac82ec5e28745002ea98ce09ce4a47dd441bca657aa25d2643e2b47d0321a3e1e1686eeaac1722eeb8c2d05ec31fd3ae140000081a3d534e4292e0d86e9274f500d3b45f4c952f2169ba9882de97c3a4407e130e0ab4b14a8f97d0e5b286e124e74dd5edb6fa1aec37934c44fff3e4679201c2ad57eff78d58977a9c6d6f05136344163d2c0123938a5cc3934f3791b4ab1ea3675d1970c184eb8b8de226a5aaf37259071c3301175a38c6fc0ece50875eefb82988b2863f4ed356b6ea79cca394b9021112e022485d66bf044075c531e148c0096fd98945e4c19803e6e5330837fd4a9c9952d7f9a68ce6800781a419ac36a882ddc88d99ab2e7c6a339743c016ff9475ebe0a56541e9a97de9c858f5e0266504878b44dda50dbdf3fbab640ee42b308e14c4fa7f6ff5723026b6f120b6371b9ac1bc771eee5796aed2dec664c3823182e8ed3a53af68e769f452091b4c9fa18b56c015d063ec89c58b819191ef99a7f7f64893289650898ca4cde28764936feabfea87dae1bebe82c8e03a3cabf8d89630aa940411314fe80bfa9b5385d2d5625ac507cb35d62c60b872225bec97c3d96283421b94a23c6017e9cd9213fab54bd1f8151c266152532756ad99972bdf13335faaf943b1cb061d3707412683a8b24e7d1b64326ba624f794244c8772ab9f2e3f81b5aa430ca9cef6de965a2d4c17ce9ece15762291056f2431a1b0a16c215f741976a5df851614206daa5a5a12d3dd0af88835d1b1516b16e0e85665276591a947f791e7575731f46569e6aa2c1e4a8bc269f393f3be0cf93861dcf6d78a35e7b99517b2d4f65a5653e544d7466be1bfac96c9a349b9fa7cc117e3d7229750034ff81e4c0ce32a73c2d71adb25ef5985b88b9c1456755f49730f003b7395d616938bf107bb7bf1e05d31de406dd1d564bc88cb5404dd8f21ef41a5a4a1296e2c45b16d895139da68379496a13fd371f126d10a34bdfe496dcf6b29f0a76b8462ce692e35a1d412abe389fb58a415cfa41730c270611a8364a183d6f590859b537d688c7b4be991b1ecd542d450a3371fa31c20f81e5331536b44a3954b840c5afeb1e65db017a28d5e905a9b50d7abe8bb3cae116e00c71ec6553ae81b1faf3f408f19b18659cd7b9388a14f5957471beb8407447d23d4b16a7063eb5b43c962deed3369b15aaf1bd71d5ca0ddfa2d0bee5ad856633775784dc9a9cd00c8f5e3d42e275cdd3672654e1546e6a1b5a1ba9c2efc404c7d70a231f0a38b72bd173f29fc0b04c8782891cb80b3a605dab8f7c46521bc9ee001e6ef6065ff059a2c45637f2a26e1ad498cf64aee9a0e75ccc90316c724920f193f0f15722dacd6216e2953e2b9797f3f311b6957038eea67ce3803fa1efe48f66acd4faf5071b314d17c9cc29065fd76a94f624b55cfddf660e8a3d6975135c81227012273cdac11b7234a3b0b5658dccf33215aa7a0d1311480240e906ece44fa45228b6fb5207438da83a932e68891374c72730949af3c0ed74ed0b31da846cf26a18f103e8556f9e64eb9bdbb85207f8a49f16448a97e494c0f4b9945e3934ccd86c608b772607984f146b941d6bead30f699b5a38d7d13605e316dfd0519cbaf01e7bf3a059898d52a52c9bd5580e7f35ee7e9989bf3589b540cbe43f600d7f70809259e878063b0ff32c8b7d1e20198793b46e78d72d07bb16cd554166f0f29e97109b443e2b306d82779f16e86f376c7a694732f9d7711170da932b3e7762c2cfdb717151a0d90e1ef6da944636ea70ef4a2f58b112de6ecb151491db77fedf106c51f337b8cbb81b3c792ed1de8dab08be557b31ad83368660ef7d7a1fab7db639b4720dd39a46d2874f1ba8afe325086e20916e5e800a488e8e6a03bfecaa25b08a01c9d158e7ff01da90b1d9898fbb7c368713236dcd0fe1134ee41a76cec8c8fc98efb869e594300d53de283bff7f59786bb7b21249c9d56080d25839f5c9520626520f69658e17d9517075e51a0cbb0564733874a7fc080f1d8b1ccbfc0d1944098cfd53bd20f7b85cbfeee7c30d1ff64e95e25c2dd5e6771ccbd839cdf78961bb7edced9cd2aba780ba3ae6f7c5df22d14664fd488aa7a3f9d88403b54b368c776a3649faea9c2b5635668be5ef00fa7e26a89b8ea8335ce6de5acb7596c4cc147d0cd29265cd35604333f7e906808f3892d6a57c77496ad78656dd28eef0b3f3dc87e534d7ddacdea2357a380b29ca8d40605486090a0130098c2b8c9cce01be439323d03c4697220933d59ff4e338f5b7d6035e49e96ff045353250bc30c8c219f44fef8f2feca8a0bd4074516ad703b0ca015b6474322ddddcb4ec4988cc22718b77b8cf6d7aafaf8978c4990f8bc0670232a7c1e35c17ec4efcda12f6d7ee2f2d7c172de3f3ccbb1f3e873a605472b6423d236dd8006d9a8bf668ff9101ea4ced0e87016678dc642e82333d129278284751fb27450facabb3fba156524d3a2667c04e83884a9301942a561a7abf24f532abd4d6844e261260a49e43a5174455b0a9cd22504e7ebed0a9d7469e14de90794e2951a64096aaaa55dc04df8522065865ddd75c86d0e88c54c45753a4f5bc4845b843de9c0443dcc54700d0a9d6ffc127bdef4788714ad0d952efec13d36e8570563041170d82969e654e2c408a17bbd08b09ce35e5e837a6fb8a4cc3601b6aeabd946784b40d9c5fe9d08f28dcb36e45d8b870def3f529ba2b5218f1f42e06a1f97e74d2a1d39cd1b4f8e55ee4bb28651a80d71dfa6003ef3dd5332fe10df2fde615a9895b6dd5deae97f0b1b411eb964ca6e182b87f08dd042eada89144fd1570dd170400e5048ef9a06a2d297e2b889cf011d3e12035d537f5dfe78b30da15873df92ebe93ac76f5515780f9e1786a0955ea8c97a017a5e20482ddc6ae95cb7859457173f212f8f7e74e777fed469145e6633853eca524802bf112f99025578a557a554dd23ac63e78ad50bd32800f9af6409d4f325a82de8cb44d4f87a4caad107c2f8d913212656962d28c3d0a4c39732150316b80f6ef4dd8f82de107f36b400073824b05c4a62137b82b1e225f3032cdd85312c187451b817a95be0c991bdd7d8aae9ffb54818d0d8b4c3cec902df752dbe3d4ee9f1ef27bd0799385f97ef016a612742beac95f2d6e940e0eff0041642fe79d83fbd9d47ef78293b4602a1b5fabbf6140890761930ef1a88426a6d2b516379555163aad94cebc09ed046ef532627a873f358dd31e9a150ad106c0318f30882524756b804b870a846c977b2e8a376ebace7a759b365539f244b836cccf6befe8b1dd73ac24a5812d121bcfdda0d7018af71697f1f6438c7d50930cb4385b3dd76c5d30d1dd13d4e68f332fd281d0e1ecadf9240c13be978ddcc46907cfdcdcdabe991875dcfe3b5ed8ff71d2d69d1530f185313e50236ee8c4ed766388db1af669a0540ede836c8482b18d0620ffd402025eb0edbffe0dbc54d91b9c908cb33d825305bd9c847a32451a86dbff6df6b397cda7b2b21257ee808763435551e3e88cd23488c4400c387cf0b851c8ed64bf516f4fc0fadd5b65ccb461e0b09421af05d3943ad0c466c546dcaae3b88ce518670250243e931db2006fe611f592c65fa83900d414acbaa8661bb28634f9ac1a192fd6ac77b544983fe51fd3e44c63d76a560c481071dbcf296abaf765267489d5166ce8d17248a52ec7f960ab72a5435eda847a76c95c2c01e6dc380e9dc71c5a6cd8565c373b5063ff0114baecbc196f7c6e329b656f4aeadaecb9504cfce12152e58c3b8c1dc96b0a7c7e5716778181e46be5f611f418393e8ed69e6a514a13f43b07417fe0a30fd21a8e888045970e4270bd43db56e6fa64b57e1d0b5491f172d485c753103563d88f7e38e6d10e5f1a65050716370dab5c4e594ec6b6ad31f4a5f3d9290d35179954a5e80b23017fddb78d725eb07106bdc543ec8c866485f2045e8dfb0496613263a5cdccb0a604d7d87357fa240c03b720d063f1948c0d73ed801d3bd99be05fca703a4dcdb6327a4443d21a6763b99a00e333ad054b22b5d54c7141f2b4e45884db042c6b05e416297455408d4f53fbc8ac9d511d61ba983ecbe60c5f3c7893705f7d9353b61d8a46281d447eb5f2d923d5274d2e62ff2db88bb10fe1135c3b020b4a4a93207c2d71de22c50cbb54cec7009bf453e0686006a09f17b3502af63320bf4c14054d807f739102a6629b52a85681ed7bca074f915d47ad3e15c9da0cf457b72b993c9e0c2b9ec97a9c86367cf233d9db7dde0a861ad68f967ae2f265c6ddd2e673cb6ab0c1cb65366c29723d9f823150ae9b6553a16a406e1fd215e4e3bfd8efc9bde25c9d3e0a0303de236ff8c967e845a1515ef2b7366786284095b383244f5f73004c9ec9b7ed359b258292b3fe171b6acaab4c5dae69a2313b41080186fc324bea53e6f9ccf83da04d917f4c0af3fb05d116a4cc61b08860ebcacf262eff4aaeff691694f09cba487be9ecf03f48009757f45dce7412e1cb42f3525b61419c921cdbd5dcbd7afdd377920efe54fc1d3276af6f9d613f8706702d8da34b716e2fac32a9f33f22a67d27dde52bfba9749fca87c7bd10d4d573964391411d831df4a20554549a48b12dcec34021492085655e740fd10f00c8d26b6c6d56d165774ee39f02e060518e3114b23f67a2487c466be8490381e1245c1d4386bfc955ea520c9478c6f612ad8225353f669fc1b3c5a559f121676b5522a33c226da1dd49dff9bb100bab70e16201d6718bd2570400b92eb3746187a32be39ea751a50b3586ba04e520a82c52dec94b95e33f8c3a8172309f41e141a1d133d5c5ba7cb4802e245ca1cd9e59fc0ec9e5395f38bd5ad82da36638828aaa0092aee7ff89d193ae5f494667037a34a745a6e5c42fe4691d31b579caea8c3a972bf01cbe03d659173001db07e0de7bcca2c1a0e7f60c0b1f473ac90be392116b4f042b8665c08ae3adb64e0c4e15608536c9c0f2554c9f0845a5b7c672357ce789ef5bce1ac6fad8859b03ebc3b8f5ee8b9c973b24caf184ebce7cdf46c996c81df12b457c055f74ac12c2300e7f43794b30a2676ffb1f7a7f35b33f6878044a11059aaf7fb528188ace940fe6b568605e01031c680436449bfb145e7d670cae152f081c9eb7df713a45809ea118c8f4e4b3706cca54367c1ad05feb4007472c5197c9e9e7f2e1007bcf47664b3fc52505e883743b8d9e1432c581a74bdac4f76f8ee5ada4c83b8cc7ac79dc4fb260584e3f53f5d4de80edfdc5fbc3006d1abbc12ae6636ca20b71bbea2f0fddf5ec652fe63346ec52b5fbbbcdcadf54a5ff48f0dde3932a4ebfdc11dea5eef94bdd4c3f1df0a38f0fc4db31dd6bc7bbe8e1336ab05350f07dd48ddfaf3ea952e0078fa5ed53fcb6cebbcee6cf95bde8c048eb05043a9925c33e615026380ad0a006c69e0e92983240188827b5e1fb8f19402c063022d1b3472157a7b815f5194ec21028d6c5bb9ac8791c6d55564e3e5cd50beff5942e14147ed6602656c9532dad930688f6334b21056925c5272dde9268c6b7dab71070a69c3835c9917a5b49c87ef95777dfa6769d0e8569dfa2925480d4de7c6c054544b476c58b2c23ec95c3f0a9f8ba10f6bd1d4da59004a4113f948c1ff0e65cfda654cd5c9124ec3c15b2d2b9c3ed4445ea49f1df0658bab5111a4e050ed8f64d3a6fb25477c64b6ee24f0f8da0ee7e24f7a81a3d8998e49adb84e4f6055db89e25a80a64ef3fb0b56f33da1cbbd82af3578100a6912c20d3b1f6b546821b4edf0eb1e4cbbad1bbbc4755a436fd7ab87ef6945151750cab1ffda949a52b7b6b2690ecad038e8c136d5ffe6630613b4381eeaab0600c3fd4bf1be1d4391c4b48663318dd1062513f484db368015481b99ea462e4dfe28dc1ee9759b829e140d242b53eda24cd35dba47954cc76928ae69b12868a17f284b5a780a912a1fe15f3d4cfe2dcde2d128c54b7846aeb799bb53d27b873a89ebf737fa5b64596ef23f978e431b72a88aa9f3473a01eaa55b8e78ff16127ae6060e80bb61f16101fa3363d5d1979b9d69114b17ff61b6ea0ab26b5658858ead40609c14ddff8257b13a37eabb5c0e5c1d8c95d6094b5c0c17e6c1c90d1f760f8e668c16e625ee2021d12169f2a034d0f489d74e1afa8972772ee0fc3f22a9372305301ee92c2d02ccdbd5f3bbf1596c940a8ed5db45615b72602fc5d2d65972eec7f2f940e52e6eacee71c71babf00d8414006fbbf75687eede780305b9098615bc099eb3a361877b463b8ea6756f3ef7855255f4a64dc44413b920a01b08d239a070f225f69a6bb04332d406af494a9ac30f991e39f1f90b0c16c702a53cbbd69be215a638875ca8d2a33939365d5d704b2065a45d39dbd4ba9b33a97371046a6edd8ca1c3d70cf9007f7cbd47c1e73da69fb07cc83e23f14255695a342a3fba4fa4ab8f547f95af341274d8846e0682495cc93f392039fa311e0551f1fca7df89d265948d681cdafa9a3f5b80db9d3bcb4ef83c7b1f1717f6afeaddfa5d3e6a08f8ad2140e9687ec5da917bf156d5c5a46ac94577118290ef4d49394a2e4abc10e61ce1101b63d34e3ee6f1b75e4255de62a5449c58b8f60c8623f06af2024c485ea612cb6c2cc82d4e5a81b0ef727cd11b4ff8a9bcbb0f7991a6389695dae6ed7d5b1b8820495ecb93d6f9f69f06542d64b97508ef21bbb77deef19b1a09cb8a23c0f01550ebcc59c5f290440c7457429583c9c50c25ee2844cb4f21494f6785ed59d153296e47b948250f8af50525c3b4890d33763e16e9cc0b413aa710732078615cc7b1c44226c15e85b058810dd50549f34e9aa5c367cfb24c905305bf33817043be0b7e86297e4cc94e0df34510ebecd49481deab94afe781035326a856c7711050a71668ca848b6a82ef711494b7fb09869858473e8d2144c309d5b0d219c03f0b87c750f55637a830e1b16527c42550d6fb6a8fec64c2bb8ec407825714f36b7de878694d755f7e6c6e67b76c16b11af403e206ede12866d3dae50e038b7d88db519ba17e06acf590382a3a1701e2e0bfccf0720eff14214abdc14449ec4a7766dd8702c1874c1658262155e80eccc21422670f3915070e093fe5202ffe5221163c76d56a8a2f836ae4c471985a5919f8380b4ce35ce958c8fbbe8445c6b7b4b6e99619711ebdbb9de504ab36084cc9ecf0bd1c1fca211259f3066bb461eb7c126c3bb088a2b8e2e94f2b8f0271bf3dde9b12408919bb11a8cbaa5309f34158eba4402beaad9e07be939fe98e8a2638ea294d97a1427e88b44a82f1ba44f2903fbcd4a5424161aafb1f5503cdc3d158351b29436617d0be00a7bc228d38c0f958138352f40b696c59f2d6a74cdd0701f2b35f3ffee85655facd1d7df077855b0e23ff3f4974cb531a799985e8126c0f321ed1d973c1dac11a33743a1ad21558e8852ecf4c3e85910f9ce8f4c25407b38723192d24284ef88b04d479fa458af007353c7e74495702528476992f107c6750ee6a6e4a94b8c8f2bfb93eebb29e985675e6ce9f87f07fd69ddaa53a9035b5a666256efb963cab5e21fa7836d1a5f4c6e25ff2cd609ea46f6e67915d1362f3f88d47851c8285c51c3686b84aa30d9c25b3b102468c06a1f6d9e48d1aa2e14ab28389254ce3dba54eae6da30809a4f39b7b9ef548a076b13964b27822215e02bc330b70ae30338fa263e30b20180881f05d8041008f93a5617c1cb155ee3e3311e4a32b80bc259bd25518d03cdaa25c697b9208ae408c6c3ed6c5aafc231444d1e09eb15fde734b1ae281bb03608b5e6aa5b8a6e4368db435cce998b21ece6d55b368ad7da055c1245d21f0abb240900a35e0133aa8fbdc8ccd38815cf8b248a6191ef3497f8d9745b092afa4cb4624d7e0ec459be582f461c95df38e04935172dca76e8e753ae9760e6461d4b8fa9ca3536b33739e6f48f4b6372315ed368c707f1047cd383dbf978fd5b4666590b191bda2d14c584fee6f53bda08699a8380c7b974176cfc1d47a19e22aada8935d7785cd7ad5db30e9902073247217f5197d5858bc3d2454066984dd4c60b2d6f957ee45460abc4b75cc49af8f4744b8185eb7763f2e09d62ea783b283d0bbdf8344bc7865950482649b31b024077cb41b4c15016aa9a6366d49a95e8fda2e00129d3627eff4fe9bf22a9dc6da1470fb05615fd5b1f964c33bfa95b440d550b3e8a621674a1317d6cd503de00333e06dacd771bdac2970667b9a14d6e91b7cdcfdcb5abf40c7d787c17f6387d61e6487423ed26c5b5b7a39cb805ea4702fd13ab27e02b6e3a42ae3bd4f60cd22f965c2bd1bba817c0834a4c30079008f6a774863ac200b5aad6bfd812d86d5bf2e8619dab1286f061dfaaf0ee7821c05520882f1ea1ebf83ac662c47087524a673174c27938030055131632c309a4ec9a2f2d77051ed89dfb952d741c2e280ec6b52462a19b3a6bf6e083c7683d430d0a5deb18ff9694231102da7d90a9b5931a6aeca2e473ef37974a91649e15cd64dde6ea15f7906d300291fd933646ee65a946e59b154d4b1df0c64481cd2b961cb6f5aa73251390d7755ab7b18d7ad9121bc22b949946fdd25cdb01a963d6e637b250fbf4e40bb54c31ba827408c1cc778ad9da6d1346f5795a3326f6f53622913ed3af350bcb773ba9d97c6e3f880694d932fa145d01e13f229ea1b47133d9117ea1e1d8124baa7e8704a807b312798d6d188bc3470af4df3435657b19e5dee628f9108db0fb1c09862bb7056a55bbbdb09a367d6c296cb87eff046730cb8e0a1092026dc835ae1de0018c56a92e71d2d844eeb376d98a95b7164933a133e64adf5e5eeb83ee546f28ae8650370e9d8bac300cdeccf4fd9d3dda70d45f13cca1d6d574ebaad510d1a2f7bb84047dc18b8c344d95e106a86b18335b2871818732306dd6778329dea81a9f978c6f50d71aa1fd7c14117951e1b040eaa4b3598e76a15b8779c80064afa2f7e0c62ec25eedafa8dd109b6c62994e0a3882714603e21c743cd08cf91685ace4a601672b5660a1014f9e9b8bcc806977d161cb3c2a42449521929602da967a38ae8b46014b0740c3125b60a63834fa04580129ad6717783b6cb87fbabf226564b0935e79ca42b9a109c7fb44dac2177dc736c1198e7814c830fad15215e8896ea48c18465f351dfa094ed05084e9710654580ccaf6658a940bd4e2ac7a2e62c1eefd2f798ed313b05e16e0c7ca681e0bc842ad267891c0927877ea38418e85c228678c01c87a480c0663d2aedbbe0a223c9f1cd458fe37f4c589a51217fcf900362fdffb6e2321a78e7efd3cc31e488d3067438d8117c0d7fb0a11290662a21824b27a128c60291bcc84706be425ce5bb48fd15feb1431573f63f11e9d3bb2d6e644990fe6e392e9275c00c91f0cc6d96312cc2dbd684d64a5696470f5cdd5a90d38c02343a45573b35a785323d5c03109ddaebd298cbe7fb216515b53c4996eca387bd0873312a0b1ac532391ad0a894bbe54d66ca3068baee23f3a711d18ba6be1651c600576cac24a473963e5e3459adfe93c2b881686d2290649bbe79e964d5d77d09083a3a806d02dc8d580f944b463f4aef153e77e6aea99da881da9dc1de425a099c0b5d0776656e5396f650d419eecb7472aeed5489e57cd6c88d34410f743561913848a1337e9226d428d0a5dfeeb0d508e0bd6845003856b6ec92f5c4e5c1c1b34f430feca621b65512c0c4618e4ea8dff490c4e9d989cdcc22620538c94d3cc67bef31be65c397724ca3f12537f6104dbac20c989683af91e3efb56bffea81bd187f49b621a288155a2502bf9ab35dceaf5c7066314cab0e9d4e059382e49808e6246975dfe48a7697faa9c0413b2b3766fdb2e259d0508e67106855bdcb98e261ac725cd03a137f9b5b4e1b05455e8359b20d91e27d9c75da4f01383889110c4602c51e738e220dfdf977535500d03ddc742af0743acdc0f2408aa339d0c7790aa9fc12099f6d3fa180544d9eabc228c8efed88b69a0a1d1cbe50ffb54d3484ad253a48b2d1cacb5cd43cbb9478c6f80da64d0ea14b3fd74f870aa47914308bcb8ad3e73e88dc953a15b80fbeb929c971caaefd737a8477b569428475449e5bcc9b2f0f1184243b472530096b6928cf3399a98c3a58a9d5132302fa32320ed6cbac4d5b21e1770b0296ed37f5b8c311898d845d9e9067b0429d3b44519050cdf76a6efecf6e9757a83d91550e0942f290ca056b988a1402ce3e1009a2f6a8a3db6068eddf2886042cbc2bcb4fe6165149a419701ae78d1f64dc07005096cb55fa749ffdb851df7d39b31bc0c7bf95aad973045c542a15dd70ffb2578a4e3413bee8dbdc1342c0e3260e828f2b6b97ae5dcea11db41e29a70e3d68ad26ff684163f0b6f8d61d6ebe6bd520479fe153e5d73772fcc95a61ac1ba571b4bd1b0475d362cf907235d751896f2ba51e01dc90006a4c8c1045a06ee520f61bb608fe58089116e7e2056667e58a00c15c1a1d66a7128baa3de53901af654c1a6052b8bcc48921b378369f5665efe1699b90bdc96eb92b2222222252b6dc011c01f200da006458f3cf396c55f0c8500bfc3ecf888f291ee9797f0d822e640690b7b6c8926effd4825423c24636d69c866a43664fca27304f820cfd384aa615802cce30689cffff9c24853721195eec070c2972481fe0c34a94800a38660a748a949880da0071c1d403a4462689489324ab292796344ce94b0015492d003de25cc9a1e08405d20a1d39da9439120ae304a6c4881a3cb814a122790422c6aa16c4c96f427abd462f4b46115c158c7ac410f390120e7b04892da7ba45d17c4c897aa324ebc59685c6284b4a92263348388d4550ede3060a417af00941edbf5475c0d3f2c3eaa97bc37138b0d492de54fff3aca7d71d552aefe9a2c4d460f78c3d8c32a5c7dcb9ca6d7d458904546393912a59c80a317f13292ae6b1a402cc2da02889bd6e099fa59ff77d20d720d86a5150474dc6370cf3e71ae7f67abdfe38e6e4e4b8ca181c0f97a01cebf7f0ebcc1c8125ba9694949a903d8405629827c96706cd635c83fbe3bd77dd77b6765e8783173bf7fc874ff9ffff7f7de33f1a7ec0d68f864cb5d17295f76d1004f9d7435807af83c0b19a43d43b4b71c107b670287aad1c8658bcafcde572edd7013281dd5ce3718752aef1080b458d5d7c27e79dd7b833f81ac731a7000c6bfb47cdf7564517df2f4d6043963be6546eea6d06e062ac8644049e4cb6098bca063d903922a20b182af5077947d4a344f4a876411e8b77cb85128df943552e588092ad09ad6a18860176d76d4f1ace1648bffaad773bec73d77c6fae7bcfdfe3ee7af6d78f82127e6ae55a61af5c8e0dae0dc4746202684c07028ce3fec74d927e99c66c56349b45b9ea52349bcdaea25c15155d6d01b2bb73ddf90d9dde8977b773cee9f9ceeb7c9df75a7cb1b677d6cec1abefd5ded6d9c3178b0b3ef0e67bb3b57693bb73cafbce7de750dcb96b6db9b69dec5bebddab9f9d9fbbf36c5d9d6f5ace565f3b496f2f19e39285ef02b05fd2ee7d17c33df5e7dce6937d9a4f1b9c47f3681ef15ef1cc53cf093427d004aae4b4155fef6ddfb9bf9d6f0273667c6fe7fd35a8279f2338eb777d83088567d18637c16252050445e97f49309cff97781a23ffe577305af8a5ef72a3ad7e3e23e4c59bfabcb6a5feb592cf7c3fe52de9373e4e42e4e4757c1ba4eabf60ca00e544c625ab4f5858e6c0010f0f82d88ed65a6372d26be7a4a2e2fc92d0377fe6bcae760651fef72bb31cefac75de314c29bfddfada518f52cafd3ec9af6f75236d9001c16f2bb7e6e81f4b326f95d7ce5efa2bbd15779cb96c74f0794a045fecff9cb7de19c4e5ed076277ea0fc7f1b6ab1efde0c7f94cd1a82458c0f081a04fe94362f8655996341a0dbc958260a5f15c4046c264bcda0a93c1fecce4df18ef7d038690a89386de68524807739710080a06459234cc5118630c934e7c03a3e06188591c2486c48130a042280e41308461100a31841062088104298ac8d4033eca3c1b458073a1d9f66f1c90ca514c642676e8109600d6fb9e440f46c08e8d9553145bd5e3823ee5d527aaa28e90f7f1aebb7bd045d71fd7904a515763b10b07a6c9a2cc56388c1e0ac8a8400719b594948697bb9e8847a28b54bc081344470908844d8b7650fbca268cba69e12113a00f23d1562ee2e890a7041100dc6013b822e013ade8903b40c50a05cd684008b24f8544ea89f144d2361a4d5494ac1b5c906dd23648e940fba16070836a3af1ec6e00e4a694c27f36bc02c56578949ea07a631aeefa1a6d1cd511397c33d4d9a2ab874066109ce10a55dd2515a97b704f9d392e1159cd874575b660410a9762b260df108634f77e45014e0ca9ce8cb86070763b1aed021c973d917d0454e744f3bdb29f0915d1151a4864847c1db0214686f74d7020e9e052908e738064fbf1e231a2ec607148be329e9239d31bb8d3142a1df3e379453214424015e0e7f9cacf6b3839d735900f0d491e9f4d588ef4e178e21c8f61c23da61582c72645dba7afb0b083f5baefd6c4e4f2bdb59de1229385e6ad6c66dd06ba51c0fea2ae6fbb6a2abb59d1c873a8b30282cd343c069b311a1e716619a1ccd3800b4813d8b8d40ad99d039ea07c9afa7f7db31c9c19653a1f8436416e138cdb28908db03306145bdaf834c1c1cae8dad5380b555e229303071a260f0e2c8d797b083743491f7fc0d54e73e9ad420502c7f19203e0d68e7eb2de53f1490449282d2166cae3713044bdc1cf31cf1719885f1f7d61002724dc2935063c3a3775009cceb0b8840d211db5e45e964e6a2d7d60dd316a6bd3cba0e2ab104c188269cbd7fd21e95e82949f47ec71c9dc78038b91ccf3cce44984b28a72c9d0a1588ea21cd5c2f05c8fabb50d29565bcecc3e6afb164d5a5804c8aa1fedba73dc1c2adad3d7a0f27bd6c98299e921def4d2a109c8f2d274c60a74243b231d1a9da04039a859993f62789c22fb0aae7901cde9370724e6abbfbdeab199e0b08569be97ebda986250b824abd9aa0b7e38afc57c8e5b0df5a4a5a04fa0c342525ba3fce51d008cd64154841a09ef729a60e897d13fae84b08bab1ec4a040cf0f1483593305ba9424b06ed924dc1f29d352ad13700b4604795a063e0da3519f1d7b8cd447f63f6806478ab29df796442dac803acfb97a4d989c706638ea0521d76099c88d9003ecb1299560abe2c520bdf3b8d51a8ad1a9fad0415104884c3bcdab74317cfe0da85dc129eca7a3fbcb329b57e73015663a8525587a3316f16015b9524fc64a9dc21279979715d706c2f8ebe7c9b08df7b81b4c38e94cba8c864c6988a4cabe71807c2f47ba9546c4f73c0e5e67fa253893f0366da24f9554533949b06c8236cdbf00efae98ce35adf7adc8e377c0bfd8b0fa4fd33a31f67fa28a83307feb7281ff97c87512b93a3cc72826e79100b2d04c1e1c6898cc1ce03c6a1ac87e9ac82a1c23d809346acf4740ef8ec6909eabf9f57b8e78588e3325dd61c0dcdeb38b30f5f6ce3ffb9bcb07ffba41a86946f1ca0758291967ffeecc6a0d37ff3ba191e35646a9f3fcfcda382b351c40d63543f8d366d1680a9beea5a27a7120ba80ef1c2a23efb552fd7954f30b1c771fdc265773c8127c9a626ac1302b8deb4ca5f9c1e71b9ea67681d7baeef84e079af8773af4ad25d4fbd27bd73e48ab6bf67b635415ca019ea67f6037115d55aee3f6676fcc1764a4ab78351df34c1375f19dc3302e245e3d46e674917c3375244c22f5dc195d459258cd1d514662e3bb5f4342b9774f0189f5aa4456533ea5478c8347975cd0ceb712ebabc443d7988e7000d6bb115e58f3f516cf39bd17baec68840370678c600e18305dc4d80df4a0435f45769627a70f98c9239a1d4d243f0bc9ca221210858ea95990051c0b5c8b1455fa0fdb87b17db607876954808e82fc03a386ac18b3c82fb880f7405bcfdb26074f22720c148f8b50c75f42ba708d4f75c5e6b7925b72af24c704137df3bdb5e6f84ad69ec5e1a120546fcf0f71d810168ba8100ec49aaeaa1d99bde46cc32a8497ccf95ab6906539f62a7cb168f4aa4b6169274498419e08b90398d153b0ddc93b848258e070d707cbf46baacc6445e11a06d214880b648f138048d9b7b285ace9b84dd68549735e2d498f239cbbf50e5147563fefc2417c7ce2c12d9b82ce84a01cc298521e159a1cfb21e39c74da42b60b4dc0cd49859e1a27e8f51ab755b4c5997ad767a48415a939b7d6e317438922e3ed448629df3ee40446de0c4c39ae1da4c140d4a071189cb57f2e88c5f4bd4a413044d0c6c31666562cc42a72952f17603c8b0e62dde080c592bd6af3469e40290fb803abc85a80100b69f67110c8826ebc8fb5e3c2e201ff42cbaa87f2af1478908872120fafc94eee4caeda82c6febd7b3a7810af5125026bfd1c4b527c3d3d34083f29fad2f9dd074d19ac4e050472c6cecd16c649203521218a21613636f6174bf2e6afa90074fd62d29273b3202478e81a7489f891716a172415359dcbc750c238108a6ed13f4527727fd545caf3a1ead814824ab6d3911629ff089526a3766631d6bb8d9f9c862e4d384cc40d89da54e7972c6ec527594ae3a3bd9804766ee1c8ffcbe1d25740240b787e562fe8b53d5dc7caa505cb798b53d61c6c9868fb8d21ce0c7eb9a7936b58e9315a09818f8be4eed4b748792dea69095b9fd51fce884b023fd3ac3de63fccdd126637ead1ea4c064059c13a1dc12e15aa8b2503f2722aaf3e5347188ba4554da023cf36c790749e63cf88ba27f7c1f2e1df799ac286dd088af5326553dee13aff76a4fc8febc41e00668c6f175b808ce428b12715203438472fb174953c199b0219bd15b5ce1320c64fcb64c924e718503c815d5d813809b4a44836984161edb97ba504177dd176519164b7666b8d9bd338bce3ce64e8b44456342fa78649a2ae77ce6d9e1c4d0f35cda9acf76fe2c78e177dfa915fe6332a89cc05eb214860cd2c4fad2f59b38d32c80b013d229f4ee25b8134852f504938f12b1fc093db869395db866afb58276e50081e796208625bda93ad37d684d80cfdd22ece8f172cef48e3caa55972159fc093b6f318ce287aa4a1bc11ee79d9f42241674aad9176fb310319429bb61d7aaf4b748e116d04dce9cecfa5ac8ba872f69fafe6b583d6b3a87da1bc79d66eba93ae243ec49f6fb6d92d0b032b1ea71c188dd8359fbd94b962f66ec001adae9c4bc27ec746f8bcfaaca9d7dc517778f660181c4305b70b846773623865b71b34b28917e9fef10f4d6f2456fe0772d9560818e087a823fb4f916a91d7fc62f222b90ae927897f7ef7a89cacd4c9176892bf6f61840675084905da9f7c44b22db4d96bf75e080ed46ecb24e6a85ccd84d8585005c026eacd779822d3d39deed244ad24cf9c4109dfdac6a3adb09820a5145d38de1e59da419391a26433a5fb80d259d46b2d0b249c753268790b37ca8c4d61254807cdfdf7ca535bcab2480b4b93b5c8a84f718aa8658b67f1436223541cfc5ae7f056c85520416d1dfadf2cb929eec058eaea7cecc3b0148c91922319441cb64aadee49d3536be6c8e71b9d81c884ba3debc97e1909194efcd1e2ed3bb7a69d6b9a50ca84f89896a900fd01909c39a03a72ea50dfbaf1d121c775da77f90b42abba7392870d948baaa8920c791eaf2700e975492ae2819d296e5e2a304adea6afcd4324d5dd2151b4334f5656d62ea14db04b2ace2650ce9af8f865852a3039eeb848cd2925bca0264aef4c7008c1d4f60a94aa3e8045ca36bdf34117b22a61d8ad61e1ae7e41aefa2730655d7c1505c9cd0493051d2b5436a5c9a13dd3c0540544131a55c8aa9ddc56c76a3d4480e9477b1b2a2902da7e69a454c2abe23d4f55c01eace293fcd5688b3d98927c719b627e39ecac919268cf73674b60bc7061396c5438fb129366b39ed7ab816fcf839116e2b5a79a12713e56df288051779893839a6ec4b11613d00e2ac37a54997c748ef44fc99183e21edc87e4a086bc4f4a25bee09e412f65f0490e8a8392cf3398e098da1c605b3080c0095a2f39e86c1f22523d5947334376984bbc4270a2d139d43b811a5449a04c03d68cced12c2debba32490fab191d3439955b757da036238e1ec2df734eefbb9ca36d17cf391f03b2916e284162748ece3b39e8d60a948629991d6d262dcd64095eb3a6cf39fe377855bee6a0643fce74179b83369ad8ca99a0a32afdc3ba6c759c6613dd7a68b273d0f7497f2bb99c04e3ba5773d21d6c5b9f5971deaf763207f81c5d403b6d18d885c63c812c4c923f9f12a4a17e6ea1a1424782ecbfc1667405e44283ffdbf4c02176ba274442192fdfe00b58a864c9be3815d035763fe7aef1310c08c2f7d3f93d816a1695b9b90bc941ebfceda0e1d0ff39f40be692dcdbe9faff39b1d9ab5c4a51c61d1477cf0249414ef9f1d04af7d278682b24031334bb3a9b4c81672a351d9d8759945385a527f8d6c193efbd389911cefc51bcdfbcff34e7d7fa55964eceb080425754584a9d4e0b027d1efc14621a015187f3b319fc22dcce59ce11be17ead651d1fce42a044f1f49a8a968c383fac786a44b775643dfb944e00e28dd3eb52d993c523fdddebf0946398b0f46fdf44795d3f77b6a67403f382caf3a043229f94197ee7c15baaaa936eb0ce4c5649dc013cecdbbdd46051f5414ec7744d89d1f58cef9a083fef64709d47f6817c00cb0b5796a6d011404e136d2a97ace49199e52f52e2c109944fd6a6cd42050ac2890da6fc1fa8dcabdcf82762b1dfa4bceb6d9338905f8361f9f05761c967a432159d12848c3116285f8060c6a1eeceffa579d8d7415990df0fb0b9a95e73c848c82161114f7187c2298d38118bc0003c536de872a4f2845cc433d13341aa7e6299aaf00144bc2eebb7e10869e3d3a289e6f86e550738c5585640d4c2b60027604382de444015abd1828535056da74c1bb97e9220700405a664e4a171d35fb7cc17523fcc0866540c8f3246923a9af3c2329c5184126dcd1690b611006d064dcaf0abc9a47c120117ed1b3c3f6e6144883213f64db5b6e29a594324999766e026a026902b249c3326c1dab6cd67eb060e1e4b260f1e24a57ce132eaa8eec8f217f4e49c129e794f3ca56739a44aa5d5c8ee94a69a7cb2d5721d0f84084267a856b8252378652134f4cb341f7dfc8ce29c3ca62b2ed775a9fe1fbeb78575b220ef5b46006b37c2c80d566fa9c039e6b7ad23dd74d225fab94af9d62adb517c45ebfb7fffdb49fce790ceddbb76f7fbe7dd18a56b4e2dbf937b4f9bfafeafa8df7de3afecfff69f7ce3706731bd9f1959cb2fdfe08780441dd95daf4fb763fdea13d3ed580c8e9fbf8d643fc1876b7cf94c560a0a43f9020410886a38631e1d03a0043716834da01b22fadf4037dd4a6a03e79c3bd4d3d743e75bb99aa49239d8c5e9433bec08ff6d0c571cef9cd6f7ea19ea000bc6d63df9e06dcac8dfef98b99e35173ea4131e234520abbca2d5928f94447a39e94919c17144606efbd3b363ad4572a25cdcda6dc6beb4925d136b69e64828cde2aa8f2167c0c194594daf0da8f28d413e8f862c8e917935afe903eeee4372fc6771cafe35c6bf25b8ee9492785afadf4b38c36926a6e7b2e193df46440472ba7b5a3b56391ff2971883a70406ea29a17c0ac246a42a4b1366c2de675653f18dbce5ca4f68b0a6661df40855d3bb664c3ecab04c3b63d72eee6c2c6385e4a9060215bd9b38aeb635b35515c344aca8e009c8c543b199405c04a500f364055b651e98707408e970f150e28ca85db73e5a72bafe071f998c13c3d353d626c4c8b6d8516dda9e2f174b93ab81855ceb1b2b52305b64527eae2e896f08e80bb5a116b95bb21e366e839c1a17769761399ac85a7657558cf93aa82a3d365c9257929c13544bc62b3e15661d2a129c072d56b72033fad0929a86ae2c214f4785b6334ab222b83e0be8c7eb4928727fa8b09154526b4fecd77bc5fffe2396f7e331857fca2e80e448412d122aa5fb9a57f5a29adf333e860c695d28cab4d2949694e5c33056fce195a29add68a2f30e3f9357cfdf8339c747c3a567aefd769866aaa6f48358d02b1195aabbd198b2293ff8caf195a29adff5a12c015c3dbc709debb63584b9a83584a47c5d22cc5e093949cb3a5187c82ca20a8e993942ce5ba2c25146fd5b2c312d3bda963a0d69e63ca3909e1a0d6fa955ba234e7649b98ac13a55a6b8df39b07790d66eb362577305b5b92ce16749bd2759cdfae2be91b7a4d8ddf98486e0323e59c41721b5e53e336445104f7913cdafa8e11b2230da30df696149fda2398954f6aff8f2a8dba55afc6548ceb1882da280a6bacb3d106dfee93a2c2b2571151033e44f4721d06735ae83895ef62d818e20b1380a48b14ef39bc0e768927360ed2e4dc38cf798ef278743e00a14bc440b9fce8e818162c58bcc8d2b5c3500ca49bc6be8b3f0a8219cb9508af109a74f85722e4e6262f914bb9404b5467af0b96dcf59f572e3ed45a632e68b54ac28095134abebae08dd96d8182f1e0f59408934537a4e725064de25c758bff916c375cc6f37fa4b2dd65b767784e2bc994bb060a09121d05763dd745e9b1178d942f3b4c910136a62a30a537e50026283d2a4fd0c44c0562b15d906fa237cc67141a6a416465c88da2184611346d8084071f5cd160f890c29cb04bd3e267deae18a181c7121513162d234d544c9ca23c553994eb70c4b06715ab6f726d42c27d9b73f7a42c0d104ef5d8ef6ba5d4ca88c6145698618a1c11db11360051e2e006912abc94592222077777f7a7a3bb5f3c4a1fa994dff8055352ba4719e45d311021f5800ad33d099f01c5ec3ba593d82f288b648b47b4765ec23beccfa1d9383978c08199f85223e3d68835a0b85a1b8799cab23cab2c54a0998d9bdcc843a26823a26cd7d64f60995d7f78b26d0f5943708e4c65dfec087959388a548193768ee2de40c669df2f76e7a58bee72a9553808262f38574e228f493bed7ee8bcc80062a5d9518315265c6225e4e6e9090b47890d4b081c96935841103b46401af63b61ed9e1f49b6cd0f1b78646f35f669bf9a086d5c6e8f8d13c59ed922544662c3704c3b3a3ae6fc3f1d060c172e0ac837eeff12d635638afdd5be99930bbe80d5bbaa9105fcf1e959c1435444e5f8d5633b3a39309c1b9bfd12439df1b5d7ce389249faf3d349bff65a20a32c9f9e154febb5957e35aa57730d4f8ca848e6d874e72775cfe9e4c0705ea2cef8da3ae3280623dfac90c9098c643c10faf34a4edee84057738b7fba4fbad4b329a69e75bd9e4941f56c4dd5333556cfd25c3d4383f52c8aac6767403d8342df84a18d28ee979e99d97af6844d7873a3675c38200c08a6676572f4cc091d3d23b3a36763666266b3d9d6ec47cf80f40c4804a2b2caafee17dfd06fd25cfea4417a8b1983a1168fe428b7a4bd6c7ee22d2ee7fcb1dad84bfd1d7bce7982e01c69bd7a87ff7d22f87abdc2bd8f66e404cdf1ff3d6868ce39e7dc2f1b9b3ae7cf9fdf931deffbdff7755a2ae9bcfa23a27d63c6212a2a2a4b092559595159515959515950ac4f29671c257063d0be282103aebca32512bae31d1dd70c82a0b5d8e882f75e8bbf2710c8fb4ddd25f7c7a79fb1bbbbdf5b1fa41fcdfbde6bafa65aeb300c43b0da21a1a12121bf77b4b22abba3988b9c0468a294744d7c9172f5246d43f8e08a86085b4feb0633be9d07473c4a471c2ce74cde548daabbfdae7bb615c98dc87c86247c7b8cb1765cfec9d2d26fd9562c33153eafbe3ae3180df5d551a116413172003eff6fed7dfaf7beb5f75a7bedad76e2fcf7526aafa6301fa116e3a8f5c9399fd2ff7badfd2e7dedfabdcfe912549ae3f39feaa7944e6aefa5f7528cf1bdd48236b4fa521d5e1a863487afbdb78d8d8d8d95b5eb30d8f59c9c1cc7d9c13a210f8eddd80acd73797830be3a3d77c5cff5f1f9f9b9976239b620a5169e1e178f9ddb6f59864bb65f166126c7d2fe32b7275f5611244884523d86b63d4329112d62a618f3ed46324584b6d4a122607451b66080d11806469ca809f04bb887a9fa764010e93951b465b8daa3ec6d7df9db6b42a7f113978135e54b2a54fdcbe1fefa47f78e12e034d428bd00cd099b6828b693ee68361d7f1a91344ba8ff5febd3d04d72c6975a18ce0cd25356635e69fd39e5acb34e4aa94e32477777fd34d7ff946a90ca3a7368b00fbaf9209b25a3930e5b6b2d887111d1d08865f2cabe586b6b1de13a591837fb7f7b606af66a1e28670fa5a055109e9c3e7dfa74e9d2a54b9fd2a5fb0ce3c191eb2f2a9a6101025673488e464b788aa3944640915ebb7de4b5dbf16d4951c31725b478b102414bd58e255548a6766459f2819784c4a46e2ba6d60d1e2035986861f9d081fba064f50822e9a985246a546d0103744369093056637890913101c5c70d2f2c796205a4e2417cca934a934d65c815ca4386b6b94c15c145f554a38821b94f278a9210355204d1b115244cd74e481524382d3ce8b61c02cb922d228ec0917b009446cee8a6a0a48e264d6e0f8094068e8ea8d4cb78aa1210500063d7000c0a85624190c430060041ca3aed0d84e187039e0c8a1288e3a1305c128543511409310c83320082400807201880481629296901c85f7b7cf20076c432d88d45b1af124ebea73e813d125223a1ef4880ff3878875a0443441d07d5f31131e48415ffe16caf4e57a7375c23aeb2ba598648bde8d55d9ea010873ce8fe546fe8b1249d2cbd0724cf3cb8aff50f4a7d49a9a40ed2b49fb50622416f3fff0fc0748609d8d874d22d59c030445e52a2028a08fd5d62a41867983edb27517f932c09024de57a5c4bf41610df234b371193bf138f64a55d9a40c9fb86de7634d45789528889ffd0ecdcfddcf0cc03aca8572867407ab0cdab2d19258c2288e120a76fa3b0fbdb5972ceea295a32bf82182e0f2414c0ab281d854794965277d691070dea6eb3df1e423d15c2f7fc31bb92e0fd808aeeec7bf22e43eb7ea55e34661d6b76c3db871727be122f2aa39bc8ee12fce1d544578cd7dda83b709de08381b462084153fbdc96c7876f3aef89b7479743fc89fe838c9d1911ce1a7acd1604bdf559b4031090eecdff0e4a4e5968904d1b5e81e0673b00e1f8ec283b08c97390e2d586625bd1f53c94771a80929fa8002134a095b232c62e830ee93e6fbfd201dbcef97dff908c39fc62b2533da0db62f76af0e0308a40d0de1fd1af7e00b0c5f5323813a917319e0423bb1b3a46b07d50d00b38543148b14f1bc91baa8352ec132a12726f2c8cc9a1c5e145de0e4ecc1219702940e2274eb5607561cfa853e66a7218cdd88838a6723ffbd4e7b969cb7e17ac510c44d8c8fb5d94e471dc30d752ad00378a3ab2749269fd3750bec277666605d1366d959db72dcb0b7958572bddf2c7add3c972c14b44d120b77b5a48d0718a74e1833b99125e2d77f937b1adbe97d31758fa0aa246413f710692257e33233339dd0b0a709ffa2395ec082583428ecda5d7fe87ad171293207687cd4076baf2b203d13be3af436251978c7ea4da8b9466924b443642eeef83419787034ebf3bead6cf34012e9ee1384467393150c2a371bc2640a13b5091ff767dc8a179993ac55f2fe8ea4c706812f29bb1a035fbd9364195a146db01cc66d07cb34523bee476280feeef3123d4777f6e390195c648837446fa2f86b385b7af8329dae5a234dece00fc0f25d13ea2115347fdfd92f65f2636f9375205b86dadeb84522f46cc81ade2634919058c5a86d43b23fc183acb66d7d6dcef4a59b74d158a813f95daf4c877f8aa43c6d79217a542965f3752d95a28f03be1fac0d8a73ecee19b0e654ae50606f0c83fb7afce14d486ef448837dc0874ac9f5165c8e00745de139298cdba3771cccdb424368fe160d1612a93dfe04381fe625ba2a0c4523a1b5692a2cc6f4d93de6f0e380c8dedb737501a341f621dae64dad4b129f906e534dd63d3438181428676edf1a87b4b48fc66d36f1f87c5e162a648a01fa857d4df14d40050ab6b5a517efc67f295e945e718cd132e96be1e2a85866fe16a832c921730786e20d3874576c2ad21582c541361942f21ede7506ae0e50cc35dddafefe0607d0faf24d79dcda1389f2340aeea9ee550116aef0f7fe8c7017ef4b51b5a3052ab2122d2283424807c07db3aa80cb094757eebb492ce08e7f4145adabf353a6022fb224833f2f8b0a7bd11e73303b4cfc230fa88b63f883dfce58758735aab9238792af41263c8fb2b60cde91485933c0b4d0dd6bda0fd285ba633a64d1b9bf6ba54664e4a95c3d66a189d4ea951b6a5c9e31366722ccb95ff25ed320f9c80ae04359b6a95505fb3d9fe329b5294613059267d74329b72456f61d13e489c99de0fcdb46290b079f0a1b4068ebbff46d5a6107e500ed1fd3615fea2f561e590dfc36064b95e658eb47160fd732aa90c6e014d9731e15ad2ee6bbe012b558f2c11a21ef75f183b05f8c248a4fc94c86ef4d5bc9271e48b4d9917d7ff1a17527462836652b2d8442dd068a138a11eb56cceb8f475adc3a305c499a2e5eb6f8c460bab7659dce710223d6201356b3fccc97342031d0c60ce6747771e6c011208766fac2dab2f04eb25631bd3efd6202173c5268b125ecc9cb52123152377980d96dd36f60a6fdb5837046637c3685a709e87bec7a399a1d936764ec45a984fd07aaafcd1fdb322b5bc2333f4199ff93a42b87a861b6cba33d38e4602b022c8c8ba13b6802997382a652404e5d8830d71b4097582a299862018a5e4d4e7adfaa291fde85467cd8e97859a15d539eb2c6ce1a42425522465badd1fa833f8091f43b77770b60b70ddc098f9cc2c0d1adc9a020c301201c82ceaa0027306f4b93de86f950374bd27d5347bfcbae784fc8b5226b422a57c266e8cc3a884106455c4cb5e8a1a664983fa105848389e281722b650709260666e277a725c483981bf0d257b741939387a974ba211f3f48e2369aa6e5e29b50c33b0df4c23de7f545df8ad255c791a75d36a4410856b18782201ae8ae02fbade828d96bbde4a2aa233f522ccf2ce3644b013563454d791cc5fb7a8b6fc2b8c8dfbefe81bc0c382fd8c9db746c819dc467ae36431188f026752407c335963dcf446e87a7262ea96c4b2bd54a24e44709bd1a203306eff246c33aaf93bcc9242d7f0ef6214d65e63905b248c10222c21f4a64134de13a92af46a39adf1fb6d462e64e1aef05736fcfd58876ebd701df8db99eb10d3cbb78f9b25e124c207bcfad03d0f02f1ad538140d4ec526c0c28df58336eed5eef040e182fe3f13cc5c5756f1a96ca37cf5dc2b4338fdf2dfb115d58c58548b1b65d2370cd70c1207bea45ed015866ad90f5c420d3e95e0ea51bdbff4adcdb5f1e48aef6d5e7adb8d0b5abf6d1a60edf1003ee5287001a25324f2bae7e7190c92ecef5e9fc90a2e054f05a4d0f50ffb8300471581bd10a864b5f7c35be02b4aed53d92123b648b306e9656a99a93fed438576e49bf3132daa8ff731a423e910a40f15fa5e0dab1e26ca3228d6394a597ff8e5acb01c8bc53a846c0c7c85d047c90a153c5be830f4db441a8c9cc0cd2612bd79b82a192a82e572737e03108adfc30370e5f48430dcc0cacf41e01b40c22b3eec363aeca5bec86f5510d15251422b51e8835ad155106f6df1b47ad60bcc1a05f438cae398732200213604fdfe68b0c74dc4ce9f6639b79f8a1200e1a6aa23f0a563fae6b1bc88ac428f2d029d10177ce346f04b176a8015372e6186df7aacdb232ed22ac011dba41b5636456fc45d01a1d10949afeafec9aa5d42e2d26c37efa8be22e3a949b6d81f469517c9f12112df7105592191e3d717d5a97aca7cc1f8f4b46f98d5386171fcb60ef0fd5c685673b3d11b59624117ab1bb98d3682dea6b9529b1400b980be90a9e7db8d0ae7d2504366a31ae143c58ca702813ed4c61190e5bd390d6eaa70c87824892e5e90c6eb2cc589ed241d777bcc94c96a78bb67cc000ad6b63798ab69e4e4d30418ccc6dbfbd3d01d9ff4350544626e2d4b1c7760703b773c5fb106fad0a3b1101c26c3d2d6ae90ed18547be579285869e7e11f33a285000e6ffa93973ac4e054bfce1e60ffcf9e38e22f2c9e94b2e9f55f593c71ec2f68df133287658d717e73b82c44f78544f95f8dae50fe89f5f3b8cb5d6e4145d17db2e4ab503e29173916e5dafef9fe10f0c313f4fb8fa79662adebfb940cefee6a26afe4097d8042728db028d086c513366d7cc9fe30700566fc5cf088f98dc2c8abf11e3e33d44d1bfcffdb0e406c23dbd8428cea931bb91fd4e16072d41aba20496959b5f813c766160decd3deab103deba4d4b28ed4891f5b7cced3b689ecf3a95568b36e0c57652d5db61409822b5767ee0814914563c9ec18001490933cd7d5af862a790657645c62cce7575146734c24dc437116f22de46b845b889183711186e23dc44a4db08aff24b2c251fc245b8d6a4a491a881901e51f5aaf6352345808ef4e966c4817684688b0dc5f945f9774679f44619ac63479524730446a78b40e0f4fef3bad7246fa00f22af85bb7441a66dd94cb5e570dca560b14bfde4a545af85971670657883e0c7004b2fec39cb08a2a574b76daedf86215571bcd8b95c96d22e84cb2b72dce42756c86d6f7ad7d31fc37d3779dfa10c85eab2dc725c1ed9d81e9b4eb6bbaa7063611542894759d04d413ecbbfbeaa9c632bd7b8277eeedd7df2f7612cb7dd8a16af9528f7b30121e50095180f653f1ecd8f1e117111f2c01b1fb78ef41d38d99863c575c88be3645128f0485352135a34e9a69eaef4825599077ef2e6fc2386e2378797a669f10bfb3b9ffdd5a7720545435b24d4f249513316864cd5404af3bb0faceccf5663b4b37cfb83e290b7315b38fa30215857e84ad1e2b787d760c12c05f5993c5f441c2ded87c605564df6c411e599d93f298b22d2c750ecb62c21bdc6f73f4ba745400cb6107cf7be0550fd6599fd05edaf73f940a335813f7fdc2d416a1adc4832d0cd9a3233a9691e463a514cb9f4ad3d1e59c047dbaf7787f7b64cdd9ab47aa12c830a676ba42ad7d2ec90bf90887d898fc86cc8819b16aadbeda18f08e2a418e8a5ec4b061ad00613add9c983170ad6a42a628f84ca1e51f99d1a415d6bac2757fd679ed5b221d11b5c8868a0f3433797d66fba1b99149449ff88de7e2597942fb335910776278135c9141b86036f8b39b99c80164f9b72e397c81a022d3ddda9a1e492a88946599a4af1ea6b406c43a85fc65349e46968d47c0665c197c2eb3461183a555b17f659aaf21ebd452d7012decd9e2a4cc4fd00d24a893b59d49da728c7ecb0f26e3ae889d30a3410ada52d265f2c61086163b5e73fd352f0d4c71fc5f3c32fa06b4b67e2cfbe6bc0a96812bba39cb011efb36ca8a9e77303966bdadb1bfa9a43ff7b823a6845c97cc3499bdf9d6e8adb569a5c5aae11b891f560b6cb5de40ac2515dd1f3064af2e06ce30c30e88b9d106d31503f57c40f2c703325a72f15ff56c75ccdce8f16084bea88802e6326e3aa9ab95a7e612766a1587898c251a47826f920835a481b45e657ceb4d2efe84dce52d01a03be119299f507e4d3dff4fcd1235af6430b3ea7ada6e9c0950b3d828e0bd065f621cce030bcd089fbf97efeb2deebde6cefe472266adb587e3528b25e6a6a73bdb6ea63c03c3c028d8a1a6370a38b76d9c2b25ea7cb9a0d20b7bc82c06fccaa216e87733b3772e55d3442b77a591a6500d1a67ba1b47910494defdb915894007d5f7fbff9f32448c13a2e862a7fa852c2975b56db79800f86301e2632509101c76240d11592654052efd640af5ebf6b320b9e315f6f0e12ca0bdd4c547bb3c4f13b8fe14f22f5dde9025a85b5eb8ba182709f9faa22d2c34d36e222cd80e20824ad1fab050cc1e2262454b55e3d68838aee00f19addfe5cd4c8200047283528b2aa34a78df30f30b473c28c5bbdb3d4b3e6f4aa1af3eb37a59fc55e0140110b2e95baea54c5de1cfa821634b25da03bbb9187756dacdcdf376341742409cb286ebdd5d280827f8a0f440b7ef25de00312f280031eb63faecdc3b7d9019ed35139b00ce35f065c87da1134115cd0fae7b4621affeef23f0cb87980b04de5ffbde8570515820e3dacce257e9c16f68361d6529e05310fe78a3c5608b662394a6db662f66009e4f725a34d2dfd904af28b0e2a0bbaec812e760433343ea93d8ed25c75b0a3c27cae782f9d19282e7bbe51af91152fb08ddc899497564544340e2732679ef31b38c0f417690c654ac5b1c033001a425c877cf0ce47aab36cdbb50bd9b023ce44de1b5e33cd5db869bfdbcb6201cc50db2ad3c0673a3f480eadce2d47d0a23feee69580aa5814c098da8a78ab929aaff5c257a3669ea471b8a1bc5ccb304bd0d52f08826fd697557fcc5d4a7294bb1477d5b994a37eccd852107397aa898db8e6dca59965d8ab416aa1e375629d4998090e7497fe9093fa6b3c184e0fcab47ea4b85265baf1102b477e8117a9461d326c5dc497370637c5cb51407e9dc923b032051afb3afefa57991a3b913ab413a9658bdd8803a494a5e28190abd9b59c9f7dac4f75cfd77c8ac271e81faf9b295f4f29418e8bf569ac6db5bca4c0015184ed60eb109b8e1dc3c36dea08b95688ec24d1c4c16720d078fe7c577275e56a9bf930f0098015db1c275be6c4f01239ac2943ec048b12f39b614a425db47724243a41d24f9ab74c1a48d18b5a57ffe8e875dfcd8583cb26fd9eaa9ac1b0f357ea70e23ddf76ca2c656c5b150ff1098c3fafbd8b5f033f9cf973e1f5cfdb7360d13e577a9e55847dd14b16a22af5941a60a801a32c035d065428c4f01a0a0991eaa53016cdf1dcf315b34168289cf9941529b1666542934cc20fc68a498474b28de616c253edf03713449a9aeaabe8a3387139a3b7a6167b3c5bfc5e881a4e46ee96b49ff312bd8efbf00b995e1e439f19347424290891f9756d18686286217f1bb90958b543cf4dd69b5239e763c9c2bfe0c20a6738c16b786ab69aa296695d254659b2aac9568c0dba98cd25462c3dcf4716b4ab38ba468ab8514bf697b0252299850e5cc7615cdc098720558f60067ca52fbaf92a5198cb792cf1f1e12034ca70805550fb920f2a555046326348d67dd7e4111c7f952fc5c478aeed7ca829051902ab8edeeb6366587974424924732513134ff0744bb2155ff3b5074470ee41a87303a5dc9e3d04994f6538cafe2a87af3cd9dcd6fc5e15d7e0676b93d11f060af560ef9d6233cf21e3f5dd1d0079770ff5ee0cebbb63ee95cca2aba3d27447efb7d82e45eb0cfa138a200e3adde4e07c7d6b087400509cdcc1d43c12f3ef338c92225253a564177ebea4a63db841f6a47bdd23c559511463eb07cc714221d44b6d7ff9addcb46291748a63190adc7cbb1edb88dadd0f49a7cfaf024549f2e2d1e9bb116d59e20c1d45d4d6d5ad4e11f415f063f043f06d84908968a744904b830e4efaa6fb90ad9229faa6dbb08afe84dd6a1305d586179319f2a1d0bb6a1edd975c68601502bf0a9acfad85bd3f25c77b7d0bc498d2587622ebad4264e2fea43329527fb1df788650908e6c13be03de20a15bef24499ab4ac8e25eea2bada063a6d1790155341039daecaf88a4dfd21e85f70a9c362a8a4ba9a056c9f2407988e2818fe6932c25a12bdcdee45451a275183de19396ef24cd94b010a4c34639cc3d96b13337430d20da4692e5a146a6c864ebdfac0355469df5352968f49d92c2fb98643856fda45c0261cb8d7b5eb9408f094d9eb95b822c053a1cd1ee97645a2b9df53c5f274a30232f96fdd9a6be7f46403c1d92db5840758d90c60bb5246ead52ef0b66e9d2dc55acc97ecd43236353775b53b40d64a0f38c2c3e468df391464c656f99f218f8e65cfa5dd277a206757a349ceae3e7871de94dec96308bb74c4177b8c5f7e1fd37db468db21407ebaeed0b79eb1505159d74aa62e3bcdc1608a1c33975874f9566a6710e27e00046a88440e607ae16f760f28ced5ab3240f40a5df2a3d7f454cfdea0d94d350c1977cbf1c2c2d98da68013140297453c2e6ebcdf42a9f07048c63270d29b2a4968dbbca58c663c5d981f36e34912c0d0ae010d8cfedffd6d2d00d69b98dd03f6fcce854c4ad016a0946da0b5ea7da3d8b1d3e500a99fa2a9ad99e911ed806b8e295a7faee6e6c84fadb54d0208ce1b844bc6c7a6d8e34028636593281ea5d1420a4936252e3bcaac65ffac08c710fbc6ce6fa9f32c446eb7ce12be8eabf5973b50b256df3e130aa511bc1c8a2ab9f082bf0a9de9f9fa2c0d2a4de8ef66df26eb4953d67ed9ab432abfff5102519ac123fc55bdd948200e1bfc77f43af6b6f4b647034cfe1118aeca169b7b1c48bdec1777100582cc9f38278ec283a8b0ed3fcbcbf6ca41211950ad8f14e263f52051982557e5bfb982465f75ad8877def86f67891dc8af34cf60e2eecf0aded82d122ab7424c1570e2aa4adc879e461e1b732deed0e30f8b2b5bb3755eba6d5e1eccfdd583d4981a11f6a7d9114efbc54043fdd3076b5b5c06868448dc2c5788c047994e5e106275f54294f1c656b3ae416b6282501ac584bf3edc0f3932f8377392409c215d8dfb6fea280c999420033a6af17fb053cccc325558c826c4c7f8b638fb84bf8dfcbf3904cb9cb11cf12aa46556da613ef1008e1a3232f742600c68a7bfa226486a468df799c193d0f8f5c0681034af77b2ed4033d0db0647b01fb04f06724f3a22ad703a4eae9820ac552a6b2320807bc92db566f62c32fd434075ce2ba700458d6b262c1035fe62cf007ba9557c4d03186080ab7aa0aab344c904c7083017e047296fbf048a818cb513f0d112998ffbbafdb0cce8cc2e641f22da418fb4fc640f647b1b6df481af6f6308d55e1cd0d7698a672ecdaf5bd078821cd5121fd891b39f65805d487753fdc1886af8222c6f3d7e6d049cae80ac3ef95b2616b842cb50a049c7ec3328a2eea477a38431a48ad8e9e86560ad9f920f1b9ac66c81c29bb2e19e0615c97280af5e923236d40553d84d0da4fc09cc3b5fac1fecf7c9fb88c1c0f63968dd6fbc81423119c172a13bd6d03342dc044b176c884a4eb2c8278d9e2dc2ef1f9c06c8e96d796f6c856945b0d87bffc5a29b962de42fb0c56a577fdbbd7663c4ff40ee9cba7ccfd947ab6aecdc049648f58d6ab40ad1037a27524b15f3d155c2c5bd7aa344b9e25b34b16e43ff7130eb3cbba402f11ee4525fd2750dd7881b522dca738dfa09596b45e56d14b82a8094ca39f435cf79888ff60af6040f63c55e9d41e95b48d5279682015fe455a74a811f5a224b768176013e274e309a2ca5fea435699f717245a1b17a4c4ac5eaa140847f450d12589c50b33390cb2ddb3b3bd2298eef7ce15f6362602615d7d5a1b6d2bf1ceb18b993d7304e0a0e2cb93e6d87437a8f6ea9282fb045671f5189ebfa15b693cc9a4c9da46e33c14cfbe2fd9baab56cc5eb9e60aee20dc2264604018b3f5bd62829cb420b89bd539aa2bdcf57912fbc6cf847162238bef03f458775b06ff10fadcd3eb7932105afb7302878ca3028cd1416e535f91959adfe10e9fc957d76512c29496083c100b0e04e95b8f2019fcbb4463ae2d135e379e9f5cbb9cfe987735055d32e2e6eadf4ccb40480962efd8894adb0487b7039d1c0d5383cc182ec471e5c11a6dfa7725ef55421c35e8ec40bf16953516114f6812fafb97ac84463a3cefd848a27164d4ac4ca1f22f76a0e0c4f071d2c4c6a88eaa759d2aa7310060ba13346199d2000c4c0c56f85e1f0a6d20ca7b7c966c280c04d5658f2d80b665c100b2764f80173e425bf7c45c2be2a3740ffef18f30714b974f67fb22db4c9564c67e4f08f02f514fef8ee980c38975c34f9c5a7657ee334962cc5a43d7759d7ae12e15aa3a3644638f34e17a65125c8853db6fe76e387991c6faccea39ba974135b1af0f52ecbaacb061d218e78feb1722e999ed699325761b12baf47d84b563fce8566889d7b7a2171ee7faa3edc2412849d1681e17e1517fa23e011edcc1d46ef088bab5f382e373ea9c7ad1a3f6fe2e592b7e206370139d845a8dc1cc09a9bde9546420b19440b1fd6f06c1ae0a332c17d510c446d2c2effb1a5367d88a0f1630c02ee0de2bc2ffc3502d7e5788e604a78176becc8623a6b7fd2a73dcaf7fd35d723c0c7a68c44181c62dcc6420a6ac65fced37c9f9645096a4099e3c9b05c9bb554490104218cf173fbe93c5379db648122d79c3bbaa4b3806babcd2dc5ddda38f036dff596b4fc51cacb87064321ef768c1ee46fef49ea325ff84e318abbdd4238bdbafd229e5b083f42c97fb785108329635f7ef7a71fcc622e7cb1fadd09ba24f69eeb19147613a37b91aa7722ecbfdd4c0b579994d7a0e90dc4aa28cb87f516f71fb122c8c7821ee1c2f10dc952cd5d63b442a3d2aeba1d766f7a205555d415119fc1fcd4db0a2d00cfd81b4d81530e70023f4f6158b3c68d3f6a9aa410c32c4da756fe6b133617f3a15b4ad41f47c57170bd2f91559e9aa03b1cf4d3a68cbc446de52f0a4c7d35c98aa60a2e82ae47379178c0d18fcd0093d9d94c358bf6181bcb8d6a42ce25ebb9b03848a5ca497fb48d5980bcb98841f1146e5cd253d45c68453cbceec7a1a918df228bb42207435f9ff645ffd24142b2fc78b9d415c65e292dc4c901c86faa867097c89abaefa435f2258542173f1498540d6a76466fae9aa3f1c1d4bea3137e55119b7771e4d5aae113ff84998cc47307bf7507b8a8cfb3affc011ae8f9914954b3a5c1035470adc2677cb53dca20e38a41223d559e55d6e059a6f2a55d66d45fc2daed46b2bf574da28fe651bcf52c2bdb3d7e7e6191878315784d388b8a93a5c174ecce029aa311f6ad7a6939fb828b343025ca0d2b7d46e17356f040aecc20692d8f60abcda52c9c25d940ea07decc543bb6b7626c9191b78fa221c5e95e7033b4b32471c8211dea8b4a4b3ab20bb71943ca86856933803d3bff49008b5dcf628aac441e78b2d3d73587d4098cd1194bd6398eded5e39f85bf3c13a895e618f48296b2a048b15421a81ecc54db7299d862522ec469e570e260d199cff333e557a5b402912ae88449ae3e927df4ffe2f1b0fb0ff208d3ffdac409d4429d6d9c3c80f742f38a9e207cde1addcf1be23f56bc2c75a42b75d500eca1e01754f61d9744ce7dc6c9c594dbe9ec48e5f1a5919e0c1800dd0206371a8e2184d12a88b30f9fddca5c5cb05760a3ac7e13d112524cc36d4553dd3ae590458444c48dd26a0922a9ba31ab2f233d5ba292338bd4a46a5a6a4b9487039a451645295eb82c6f4594c005c3825344095c3006b71825a8604c708a5202b13a65de9aa99b1b773c40a17ae5e5aae4aae36468fe50d78a84fdaa845145550daa87f3f6ea7eb2e27443429f7e0c1a8716b5006105e750161590b03f52b0aa8b5603f040f60a17606f90c9caeacf3091a61205bf6cc4aac3547d5e29d74a24f68aa4a96226b8b200596dc3816ffab33c0235024db37aa56c9051ce9bd40f73727f31728167e6c4f11904fa006a88401c5260dad57465ebf766ba889c4cbdca33fea6395f3f1b10bfd374812f10bfe22f259c47e3f0558650578f3f3c7a07579086efd1a34797164c39791c56479686af90119208e0f1bca2502372ef2d534a2949b903a701ac01b101b719a97af260325c72b81c255a03463264b22ab2261b8fca7cc8e40cd86ac1644132ea06336032a0561714e65d068c8c09e0045252ca39b9c1bc220ccc570f7c378993323719a5ef933192fdc827faad27abed4b56438dae46558d1e9b633d98cccd93b2ca486919251925a640ca2aabd57e5490a245c9164542988cc882901061d2018a1f5364c121eb4e130748ac23b32802dc17ac11c22674aa81441413442c15c9214b083d8220b912a544090f1c11c2dbbfbe82002c80e23aaa892aa276f05099f2a34a87854a2abaa32788e843e97aa00d9544fb0cd1e20285030039720882e2119343c89094625df145e0e0022b88161f4c9e105d49f105a1ac2416134a83100930e407a26f9b8b5d8c7e53d73bb9bbdfb372fc31338705eec6c80c2be4f697d135a1f74d15e43861ecc92de7cb6f7a1f5c5d00d3112d85e9dddde55edf5f08fde776d7b9e642d91b97a9c38e9399e72ecf8edd0e7db6f7121ba4a18ebea5ffd7f7a377c9fbcbfdbbffbb3f336c2d96799d9979b9869061f3c285d0e1aec3e55d67de75e6b9cb4f99253fb36cc9cfccedddcdcd4c8018369bcdb664b3d96c361bd2922d3a3a1c4d47e7c60d8e76e3860d1b1ccd868d9b1b8e76736363c3d16c6c66338e369bd1a041a3a686a3d5d4c462b15a6968381a0d8dcbc5d15cae56ab452947a3744e8e36a79491398eebca5b63dcc8221217ca87ae9cdd67e6de972f37d2e617b07a5713bcdb3bd29d0b27e438ee95b8843f7ca795e30177977a10eceeeecc2c9b3dcf8885f86e3beed81d77d7fddc5fbbebde9f25b36cc9dc921b3273c7cc7226e30c8264b3d96c369bd036fbcf9ccc9cfb15ab952384cbcceccedfc2ada94c69337352eeeef2c73ebffbe7bbbbecd6bb6eddf33cdfd9c759832743132af4b3cd1d5f8c745a3c905742553f2c1f74f5e5850e0c2fd48dbc9830fc2c793e4f3c3551024308189e1786c00082e1e9f1c41222a33882c5c7b3423f2b091c0183a5387661617ae9991b0314ce0b0e338470f1473a4c8a357b9719987479f280abc58509fbd40f4fb888aae116e5349d902a6a51d82a97d01414c90588d50b3f3ea5e6828ab28892c35b6c52a66088331cb1d2c2a300a4ef6174a32ec2fe3647a8d12e114d6229c17488603a433a40363b28908e8e64c1364985c384ceba9556a3b3554aba3d3846d0991e192813ffff5d3f1a24bf9e04f40119973580935f8cc2ee8637c01aacc15a77095fb8ff7359028ca1833eb0a78331bcf4bae8c17ec11a7eaa22f5d5d041c2ff431d314b0f2113b864890e123ceea98993faa494522250bbeee41bc12db1212921218184f4e57c34b02794346c6c6c6ca691b0d6c358bcdc1c4ec30aa1fbf7b2e60669840bc4884274a96a9a580d9bf35f4aefbe4e8139e764f54cb74d130d94a543cc5b42db4916ab16a8aac67ab2028fce8bca69e56951b252258a9fa4d5531117a0259ed40d09d03f4d510188c7a3a5c63395c4b3c528e68a29cadac12736aba0f38bc4629524cb6ca22a2b1f1343a4a87e506f8812d548119b2e74ddb90e002380dce21cd186c539274e51adcc58baebeeeeaee3fe975bffa5fcff662afb6195e3ee0c9e0228dfbb65776d6fd9b2ebb77777ff15434651425cc85895c3481852c49862818aa2153ba5e706041652d951c51854265de8dd17398e1d202b434a393a70c42c29f6853058c71c9694f49777a32c66496581910a10d3925103aa7f73062c276739f1b7cbf5ba1c70e83e620351032f28e420e448847e915fb56eadd93adb7ac31af2f58ef0618001063b3b1c6d672772891ef5f8d47e580172e4872d4c50fee7862428ca0f1b5410a2639402101e371431c9b0342589c80e5b909a20055184084fda80278a0f109190d0930d5ce4f860850e4b9c2062930849d213670adfe3b52be71e7037107450dad3c231abe4c43a6734b8f253dcb0f82d9c95fce65246e88a33c44d10e63ed4b3a59ad786bcf0a79bd30c9092f7533bbd54cbaed2893ee6096ffa9cc8dd65849cf0606474a4c4932b481d34c9a18786a924361cc11c079a097a7ffa265a699df583d58a5695aa06b0415da97c200e958ad29f01da99a099223f03e4ffaff27f77af140775d58bc658d1c5cb80f9fa55290306637974a5825198c37c5cf56b35ae59bda9a9cdf6e77b62a6dcfd048ecb840008da43ad52baf5b05edfb47a7d15d5eb6faf841385d2267a76fcffbfcf8cd103627c2ffeba23ab5c18779d6d46093000c1abc668c42ad8c1b21dfd63eed8ed70b668182e10bd3b85865f8f2feeee6c27dc1873628c3d9dbe8ccd1e619cc75a46c8c518c3338e316fe4c8dc45e6fabc2f264c4c4c4c4c4c33bc78f5efba774f3633acc11af3176ef71eaaa5dc4e3243d8907b177afed2bd98a5970ed55d77e7ddf8ffaf9d7c86102a8b1eac048e9cc9320004f3a6000c0c054563599062188ee25818623ea6564a5cec79a0f9d45b42c08939c950f5e5e862b5409c2b23906ae79a0ca5ec6c42930b5c8253186892d630ec6172ae860c7fbd78ccc8f0d4954e4405f9e14f1a70c7c4f315d0d62704513c97cb3e192fd65139a76f8d11b12cad55bceebd3adf594687a1814419897d61abb00ce104147362b4cf8251db82078d41cc7f17b1e06fac95ed437b8fc2554c9fe2f7e80a2bca134bcd8643663f8bf5e9e971de3ac59b4addb9f7d7aa742c673b0cbb9785d80e49f2653dfb30dd00440e61b418ce0105ea0aa9fefc8d2a10614f0bbd701e1224e5481695c6d04253808ae37ea24e33413eec6bd3d44542f0b3f2a9bd248ab8a51f64abf3ea0f93d41670e71fae0d6ace684bcb6602797cd72c25e58f91455cf385759d8e6695925957eef4a2231be090c8f42d9739b9066740015ac8356ab70e1803e10a74b881bd056266633473f588066f09e9fb3a492c33ec1fe0a56736113659c665a8e9fce73b5b2722a89321820dec05a49273a55b778f6f378d5204ea3b1c6ef1b8397cac4db521c310b6db05eef5983fd59380589217a00059925ce51023f91fc576a73c0f26d575301e32b253f7ec62c2761513c252f1b4e62320320e8bea1d1e1d9d826786e25814575cd709ba35984341a5a08e713b9f7b4138658c68665fd3a77f05358dff5255ed6981638169a6ec73c17c5a75fc8ee0e90285290562e3cf287de1266cfcb22650e0413ff0d413dfcecc06fd40af889a02d16b74c122091290e0acb5f1f7ae8d30af6d6e0d3f14852c4b2f754bc24dd519d9412729021c04cb47159feee94c1dbbccef206f9948685d071c8c2f6fce0d7ad478f8997383a6f4aff09fd660aab9d56e0dc8d2a60d3f512d0fa4f9db18cd8e00bdafa87e1fd76176176abdcc6f031e5d00f98fe25278ba043e661fa29e303975086f8fa438298bd108261884f8d7d053940d4c02338078860236d09d2428a1cdbf1a961ff9418171b0a26f40e2e50b0fd2733704849f6438f0f300fd5a0d4ad46a4c6d0847e5f3433051e16fd29e9881fa4d1baff7796f6a79994608fa390a60261055b0deb3a4bc47ec3fd3c97b93275fe5a10437b07c063b82760ad843090c18dfc3447168887740bcd4ab1b670c59e02f01e6c99e73ec0197c70b52120bac5aaf2becc25f6ccc8513cabec09a0e6861249c3f8c3b71b954a79293ffe8b9781f58d337b078912c6e1a075c2ba0e0e872dc296500f62b8e7b6970b7d470e4f685566eb8d0f9613539bc3251bc1595d20ab2adcf22ec8d6ded4016ae4c4bf1601a0f4e2e595a8c0045d9735e9b54c619a64c14891d78949a57ce2ec3168873418f397c10cdfa0ee3485b8a7d9062f57fa6e2c0a1c6b4c97cc40cde1f6d11533a06dc366a24954fc070060a9dd1ab533ea77ccf3e5d99c83d0ba12446a7e4ab32d8e094691e92e09392b29c0d3747eb155b930a64d1e12fd7d3d317c14cd34a24d3265b84497620fc3eaa587fcbf5e4b9a106b7caaa9589ac61c28eb9534aa97e90c66a90bdd98574359452c0886c5bb50dc7a59e991a144d09cfabe2f1060098fae7209c057af6d0ecc0d9dcd419470bce0a8adaaaef185ba62ac0d281fbb9abc8dc58ac863e3ac12d8476f024e1d67cbada41bf04d3d13b110ffcf6570c9efa192b83f2e603897125d0aa20f2d2858422d4fcbc2b80c2ce8c7f7ee69b7dd7bba06aef47d6cf6dbfa40b4e429d54fe85b153ca46cb63008b0711244ac13561d27325abc1de62ccd29bd73f6f2593663f52fe8411f7c221892995347f5a6c36d0b605001f3e960cbe028912792d43d56e9aed600473b91221e2628199f5a7c2d6319796a19c36c83fb1cedf172a831828d82731d063ece158f5a3ccdaa04297e351d5521c17e800d73b2a07303e1b2db107158dbd90c57c39c2589f7d5fde20f946a9bef872960f181b89039847fe6366b1f5eef6e8ebda9c41eb267152fbb20e5f3af4d45e7a50218e2707c84c5eac38bd2574be085f4aa23078ab846ff95e043c36e91260d2f9cb2b0cf20f68984e33c1049471f929c7f8f3723ed3dc32a4267fa4f451b3cfe5d7228d6fa9b7f3e29b36c7c959f2ffd181affd36fea7b1c0604fbe25d841e7bcf17015037c090749649046aeee6863c4e6001620655cbf4f6b29e4c9c63c2af4cdea6828805e6abdde342259e1b5ffd76d21dc0018d296903877cb95f51320a4d38af1813f92a28dd1849755197e7bbabb473c99c5f6160ed5ce66b3cdf4bea123c019bc5fa7d345820f2956b2dc47534a09f06a2452a5f2b0057620df8d24776144dc3aa2553b773b601af988a931d0a28283a0c673d38a8bc2a7d8a2470e352f91e12670f25dd87165d5905b8e0e07579be3035b5afd25b0d5a3dba63057c2445f37d553ebca1f72de7a65b5b9a4fb7413e9b3e625bf26429b5d6508d0f0b13b6b6708cf4b15f204e5c3093f61052f81e2f10fec3ba79de7bef51cd30f1db46d942debce541ee9c44e332aca21363352b0d578e5434f4aee3e81fe6327f2be7c19a84fecc8b54ba7958391f43cd851b337bf3c3732615c54f7ab8fe02601b7554f6673c41ed814d35fc8130954ff1ee99177e0e7720e82e1b080654e194ff0d3732ab4c1f98f8124a2befd2e5aa4206bb6dbb786013243e2787f4fc0727572cba28f695fdc018c5aeb8891f370a52c051bcae609b12978e3155e48036eaf37c0f8186b53a2a737a0cc37bfe142f5827e3bc5a0bf8c00f47234d5445fb2ce844782e7a3a86f9b0fe2ab9c5af05e0ea3fe835929fedf47c9c43fa53800482a5b65d9f961d49693f032a946788a26731aee05deb788e403e115ead40e0c003ff02a91c745ce5a8ad14e5eeb77ec5ede2da499c2cd70523c144080e2e4896af1f2465ca0cc22b74442b5e59cb8ad5193c9cf1a5357a23a7b66f63f556a2a893f21b178ff23d652a5acecc3c9c5cd103a4a7bb355023e03681d381f51c1640486bf87d0451a93b3d840b588150e175e06558c2d0e5a7e9a1efd1667a5bd5c7569652f9cb87e0a9e188ada818364e3e5b8d2aafbd6c108e160b7339fdcf87810ecc11152204e26cb4113cfe7085590a73062211ee56146b47f3c0184635c8dd497b8c5bd654ed7bec48be8c1d4d7942023406848aab198d8416f9d9170594b8a995bfe745e2c007d097d4491adbac98be858de234c93384e4daeaf9f463ac41eb7cd8b04547234e550ec0deb411671595155e5da90a5ca18dd7ba457a2ab5ed450725b3daf2a5a40d43e013b6598d45eff27ec966e8830d4335828d9b29b20f589cef55383f8af56417a13d139514545a60f486c6c41c842dfd504f5e72758cd7028c20a4f21fb6d6d667ea1d0acac774b13030d1e798a1888299c3faf91873f51681e6e267f54f717359ac5dad2e915e57572e2545060ed29d0e499fb9d8ce62c814bf9c3279d32c976a1073165e3af613a68520cbcff438d46a2b778d1d996eed64d6211fd80bcc6aaa2e8946d5c48eb51bb1254d55e967c81742da3245d1e9ad32cbb2bd470760ceb50eac88457551fda8a99f87eca9c1e4d0715f3aa3f02fb77435cc3f08361623b56b89d37eaf00ddf9d46897a9088b78ea2736cb0e30a17381d4c8c678c5facd35aade91e6a98bc1deec035cb70a777e7876ac6149cf7efe46a06279ae7f83d0951895433b6081d9f89d215a237555ae11d434253a3209661ccabde0e4a8b9aa93144319bc7d9880f05f8ad876d7abad4221433eeabfc851eb2c7e13fa001a89840960560c2324c0a78dd37cf0c508f03effe0f834f7faf65634304ab5428aac95d4bfac6ad4a2c3e901e211406fe1c1d7a7ddb9bb91fc5d3d0f773da3c3f40c83b62c940246f707c955968d9894305d61da3aeeca450c9c69a60248db2ba8ec15951090a40069759f5c2a7952fbcd522991367983f8f77e0624d90150e163ca7d5a3926966dce57f8a6d2a8ff465bf59e8e6be90203e2394414b12d46831aadf34ca44225985210b8eff0e55c862eafe830f161417d14c4c4a97d8104434740fafc6816cdcea97040a91b43935455a46502819ea5c0060023d1b7cef4beb2dc4a6e0a83aa405de0af81fe84f6c2090ef246619e5600d94ba5f57ea782d217de0984aacf3c310a56d9721ef6bde2f24f7a29a7999659c17f0dc2da7f3941d4a54f908abaccf3be54be44cbb690128c79bbb63365f9e38863e531dd6a24fcb61348bc533dc27899e14e1a9ec29d3f38852713c07e124da3c767b399669366ed5991d147c7ba045920f8c28b4ea82531c4f8bd11098960136f58ae09c6a11ad4656c081d1e4ceaa212de1d90c56638ac4f044df0f352790b910812ef65e0eabd40decd788738d9e10bd198bc4a4055a0207b7c933be8fd428c5a4625186307af2d896fa84b9ba925be0e4bee71b2e7a16faf1bec8f3284d433cceb182786824f085f03879dd2f4ef6d7933679b43ca9831123d2d2e2bb496aee23ee25d247021333458de2eef0b213c6d174f4da2bcbbde28b5158ea9cc0b91fc2018da9e0111211aeca8d08343d24420c9508ae817c1f290be22d8d18229f195c8e7b38daa99f940d7f6ffc03340077fe7308674a139ed40ced0e03d525e6550ee6eb3b9411136ed6a90684e1959f3f00139286053e8eeb7603bd60e773225341bf741dd2bac6bf0b5435919bb3b15276caf712f3a184552e06552c05b687aa47186e5e3b9940c948c992b5ae9c09b817d78c3e2aba46efbd7c67cee824e4b06e97b994251d07e7080ea67bdcfd2ad465ea87949d18d7b916dc450fd3c158283bb49c024c7e0a05fbf915336e8e8af9b072e2fd2c965efc3c3c7b63da8aa5d56210b3b6c6e9aaa6124b25785b665c89ddcd23648bf0d2907e557bcc292d1030a2e6ddc10080306ee34223fa06b2a29c15672828f7455fa295e10dee516a34ae4a8e7dc38f8398c27ca6b126caf331bcf78659b40f95f8c7603c5a68079e3029e7972875b166237b4ef818018ef02500317d4784f1267dc347d7cf8c212c4a8f38e2c951602ccc7d2e173a6d8415d87324923c7bccede4ef299a5bf51ed85ac7623732ea77e2de4dcb2f17abc0ae5f7ca96d22eda7026b3a2fec6d7c4adfb070b84f3f166977cd79bec8775a22109cb7b5e278dfd98f1ee1810fcefabec07c34192d878f0d2c98cb1e8773592b97b7c1f2ca967791de992fddc97700afa723047d4844124e078c78b955175102c351ca045a2fc7679de528ccf23f46257c6c92536c5f40054f20d4ebfb0f804a26c1e70cc3f183861df29863481b284a309a6c79920cdd28f0642baf66cf39fd82afa432e6cf0b1518583dc7f3e77c513fa2e7f8f483189218cfb3cb3684d69404c4ed833884359006ea725db28727ccc15010bbabd9af333495967b72cb839e271bb1abe9cd2276a2a71f714014e2471f4c00299952037e495e18376424fff838d47a11fd5f306da826cdf22956cc4f6a5c8da8e88582a12a9742f0ac35b7467c3cf1f9e773d722d5d1184061a223dba2439e5b6f1749e79cc9709dd3e71a9d04883457a08dc11d3e927471f87a42aa196322758a5e07a0f4a9cfce38be7399cd7f9d35913c6b9bf1251dca16885478f227070d79770b178768eb36351a477314aa45c08137128e454bc00c7cc08616b0c05d41cbc62c47c923048716ea68ab79918f509b286e696909d512ac160ea43346d0cf2cba160a6123e8550e98072d954028c803016f1f4541782a9b131fe11407a05523e2d2b6fc1c0636c24b33759fcb813ce71f6c893b96744d696ed45749ba0d8ca3d7a70108fdb5f8e4bf9471218ed8c562fd42d7dec196fec80fcd631648d1e8af859ab82341a3a6b101c4205fe99472066d4d4e386da9273ba4a5d6878484032f79632da530bf7d71ce236343fc62021e10a3b8b9e96ba4045d8865b46293c9170dbd95642380a565e5dc256fdaaa0fe0f9d59168c147a845673ca84ab928734b224ee65526c3a9510c0a2c287b05f55e2b2cfeea0525b3a7de9f508f1f39b3ae318e4f2f9cf5aa5ca4ed45a67b123879c7b428f38174a85a56a619fe8e9cc93544b7e63d1cea0ca150fc738646bd1bdf50fffd7511d6332823a399eb249b7d2738ba0e8a18b516063a72bc1dcbde1900586d335463a2c7e3ae005af65d7309bf25535b3c7ab5298866a13cbd92a310ec23a49afce15fe9f6f455e41b689b1fa7800d9987a8eac251d86fea97104070aa8063299144c41045103a0f7b5217a7903b39a1782881c27145eae8043449ebdd2a474e803c092cc7cac51019257b7f9f5801820912c46f1db0fab024331023286a545102a535c3a3c68447606f95d217c0f0995565b1e82ad926e6a33f0796fdd982a68174a4dbbf73e8e759cc279ee8fa1da0fb4114a0e030bdc97380764d885e0699f82e1b7117fa041b97dab03045166b03daa86320b932143f3c0be9860d19404bd103c84c0088f8631e40dc94f1ba3672782d3861e10078511593c03a78535eee060dede7a6da3794111596b57b7f144e8d6b8731a337d800feafd4dcb2e49cc462615add5ae0310ca1176c60c5cc0a943113645c510609b1b0fa26a1e72017af28ea2651762ca418a8d40576f05f8894dea43efab8e5211b189c59972b6c048c93924bd2dee321b197946d3e5fb8d4217d1e7f4a2178b7d6947209faf82cee2245378c4e01774d1b34919aca383be6db1c2ce80025a13475d8939ac76adc84903f02cda04e1e6cf005f95032a080da4a50f50e574a4f15973ba35868e46674c781461f1e5068d897448a769e744e3dbfbb27ee295120ca8f394b874b1c9e2c4591facc7f743522af4b210430ba607b24b3d26c8ff20959cb39bcc13d27c703881d6118aa7ef861919e6a51b91dfb028b4647009ca6187e88072d5f97f4c40424cd1c9b2afd18144ff992b979cf117d9a259ba8e90c739d22e2dded6754fea6355fa8954a078589463ae5fd4938a787256b569221e139e99b14af72126e52946656daa4f89093904d8a5a31a01328d816d3eaada1e0d6364faf595a8bb731a3d6e5cd13d09c6e9cf8cc354e221861977bee6cdf87eff5cca84a7b23149bdcbae84549d6bd8267d638ba8ed9949c6a01642583d2ec4e4cfc4f23cca814ae341185dc0f4bb8e158c6f871c5624f33b864dbe03205c25bccd71f8177ce9e1872308d614f808598f4b7c58c38fc2ae97569068bf710b6188d09a11b48344350b258be5c9ad7981063c790c1bbbfb0bc1304dcaadfbd7af11349a80ece78991548f93526b8d035688f19efba5737262e49a5940931a490e7c36a6e23fcbdc4411e8b4295877f855bd333d1c1c0845e5ca033a6f669ce45449323f25ecdf4e63f73b80afaae70638421e04f2f021191d898300de3aedb64d2a200e9fed82292db8faf0ee303df5ec3f1087fdc3955d708db9214b87dad6710ea9ab170181369c75f28e0d664098aeaf39d9fb2f2e7541dc23db67c147dfa6c6dd14f7f07db3533ea104d4562c51558439cae0d1f849ed1ee1f3d80192faf42dd61207023e80209043989788e6e9751a0b934717137333b49c9df9e50852ead1e093b9b3d82171b85475c6f80d79a0c8f9800099244c8e35614e31c4be1967db4f7320035c48707ca4bf2126d72d80904c786a4d8205bc831f54618ec8bab5ab968da2b0867ca6c9a70586269aea72a15c9cf2ef0e08309d003b3b1f869d56e41364aee3c386abe65de267c867217e14117631a48dc89c62164f83d24a1f5fe855510bdd369caef41fa7de7ce0a617fdd89a491f3fa2acd5532169258283b5da51e19cd9c9269f3bc55f247c9e08cce358af8970fb5e8a99fe6fb5bac10cc3fc69192011cb8a912eae47c3dc9d0e968d4ee86fe312d97790f6a17d0de9a1b69659782b524b90accf24351d3ff46eb7690a85b4af679b57c919c3452b5c1d24780a1d1d828648483c642546228eae22cca40de372616f20b9e062a102fff42b14ff09dee6423eb6ceb9cd1e7659510920a3bebaafd68f4aaf3f6688322dc8ddd1ff4f0017c3824bd90a7c5785e566bfc524ab9da0d0c2ce7a64159bb65b197ef2238aaa0288a90263cf55ff30aa4e02315e738f85eeb87d85804c9cbe795aef05ec6baa5b5058103154d26dd71b1830c51d8a00b507b0232b449b5d74ecd6364def3c2cce5d89f15bdd8cb4175d3fa01a15db707ac6d70f54705b90aacd0173909570e2ef4a5e00f4200d432a9656b65232e7a150cb7cdc2f7afb49d6f0695e9f3c862b5f279e135596e9b0f3ee81a33d8c15621db2e27f7f0907398039f36817327a8ad64805337f632e2ad6256b3fda6f39b831904413645f1e0f221ef97dcc8e1725229f40494cc970d4a0bc63570d245015ad30036f2bb9c4311fd8087f9fc402ce042f8c9e09f504484a46553e590d7fee705c0a6a1ee705266994f3c7e99411c2ba5b8898c12fa0eaaca5682f4e75605c8d103d8790586f76a7f854bd4def19d3868ef61df4be249a991c18a93570a848f1aab400e441a4518b664b776e092de45c32c9805e96acace56a679f5291584d737b3a2d1cf12dbe2d243424e5351d8e885821cc1397a339e623831d5e8710828350581fe9c31ca9c5b111af31aac995f1e499897132004663a30234f7a311be4189d55e1570346109f1bc8b432d0db7a005be8899433d03fab5eb9d4820d99fec17f42a99f828c1226a5d75a0a4a6695cb60c60948ff35b1a710d404017a9e90225770961975dd4430803fe8974ad760e9be760d65e61407dc4f220cd0f6cf1c41c8fe4006a8f563e5c08a931ea6283c3638cd4deef030113d94d8c29f001e3a42ce7a6814c9900a7e7f902d02ffa571775b29b7dc526eb90318022602040231b2975850ac735a8d995a6699699dad1333cec864598ec941b399a07e1424a3f33135994e2d077dd641df6f9d67961bbe8dfde856a476a3b66fe0dbe3f1f636181c301ee845cfe1402db1cec2632d27d0c9027381e36527f3155999b373f8f8d2732c73d69740b217a07e04d4739eefc472765840cf2a8170d8586079656523fb91adc88e0e7367eb58d97e45da9e7c1daffb1d2e46475ab0f8c072e6c9b2a2023bcd57eeb5a2c26247cb4f373ab222a7f8c47c7cb64f0a6c6c61c9678699bf5f452ed692eb4739169f87fd9c3e3f3bf75b45ee55fc8ed15c51c92bf22be55b6fea1860e9fa91ee8d8ea8fcfc8bc78a9f4fe90c6c94473f323ad2d2bd4bf7aee7f137cb830ff522bb4307cf81e306b701c0d7e0335e8803d0c3251a7c460f79ba1c8edb1ee5407fe3b6200ef4e3d3c3779e87e77c8defe8f01c15dbd52a59e44ae7118b7c855e8e2b78818a880e7cfc965002c407147af05183131610e084dcb6bc8bc665ba6cf0c1084c9e20f1c088d60553f89e1439420a2510ec228db56fadb57fb32f1482f9de300c6f139fb92128c28fad052d67e5b2fc562bb7ca1e41ec9d1d7bf6fe888e52631370c74c82ed269e8c23ace9d63aee6cb85f1b2ff1cc26bc247cb18a09a716a719042baf0933297000fe07506e4fb194d5ff8b53fb4879efd1c7b8c34bcc2473c9e4994d7844e2e1edb0b656ab18f3198c0d77a30a6f8f7d34cab1c3b63c296c3023e52198e7048a112f07e14505e318765b7412b54230ccd12f34ea7197eb0abb49cab5d4aaaed01e7181a58bdf5a51200ca9e5ce046015d5547af2ce530aaad7749e465453be94679aa6905d951414da6b7a1349a7d319e94cb397b4f7761164eb7623be04e4d8f3dcbbd27af6318f97d27ead1e532beda92a50bfc66952517e4aa06e0902b2e460921844d8e1622c6dd388761f06d2f2cb5b8e683dda8fe6a301e606871d9a4834d9e1743bac35bf347b668ff6a3a53428d097ca9264336c16bebebbf13f996ddcc0f461fdb3b669ac1573d878b5e225a94b306b5d751e310d5a29eac8029c7fd47f776531a12cf2f56a55bffec0ba0f826f5b8020d6d0851c3688a2e4e107ce81030b5cc61d13a03801851a92208282105ef8c08711241849728291063b9f227ca67ea47e8ce42ce52429ed1049da01a1a854a53819fa155443ff8a62f115aac5934bfa4e2a7edbe7eab590ac1ed6f42b4c39dee4e5f8f37b643d303c339e026a2f1a507b999999eca5d6636e58370a651c7a88260019443108a02960e3630bd82832a3cf78be5b19914058414a21307f87c0788bf482c8cf78a834c3c324191e1211798884c36ff89ebd66def630c82913bb7910bcd7e65a744123355c4846a3df88d560d171e258e1f1fa1d29b8198d476d786ad099990d2a53339b91a132991894c64d4fee389567f3d48c3736e82cd7a03837683f426d78bea667c6d3d38f6884e88715fd8a9389c91dd72fcef6235c911ea11ea17e2474717f2d8ea6868c0f8a21a31313f42293e901fff2b872c6cc17b9d9bced76e3285a59b69c0d8a9b705909d863e313927388649c15386a45cd8be625e385a55e0ff6c490b13116c6c2b02fac0b2bb33aa34f65dcd9d1a7f2b61c8d7383b3f918380a4be1a81a1a19319e369b758c8e3beb9be1323130305eb8908d3bddf14bc7befbdf790a35fe30ef638a6fd0a0ad76d259fc5af16f741a5392cc59275039898d6c446286bab542d5ffaa2a22a9ffabd5606836ccf99b1491542137a7dbdf7b9dec90aa3f57ad6fafb5e639779b6f2e62677d0b16b19617ec34396b45c5bec65f96214585b86fd5b34a560f8a143fd841f75d32b041acfe7c8d9036b1eb27ed94eadf90123b7d828ad22f4a915399ccabcb8a3d09a14c855080d86a7b543106a50e491a519b74c721f7e63c44d44388a88015ad6a0dee68db01996e32889dd7a15b223625928945628960fbf46ffcd58a8f5adb927099ccdc2259241c8aa2368b94646dbd81dbad9f604974047d9b8d3b20f6016c7f43d11b0f7a5b50504baa27b441425a82b8162f7951b9440727584871e557f04d202652eda4d9da99d7349372265dd5fed56388af886fb6ab108723668d228b5cb146cd4a51b15d2d8b92b0d35c195f2adc85450bcc045ffab788b19c2bb2d68d09adab250392c16d5759f7d3e962522451427946744bd69ee76e4acad7534ab2b5d6a9b3888c044335dad1b5fa955ee995ae44ae985077d286c44e8d74fa6a7c3251fcfd615542dde2084204d14210e148ec3c84e984648504ec829228150c5c305a35f991f2448545edf082214944794c90385d26524aa00e65b0d8cb5efba1b5d65a3ec399d1e088b41c28205006006646669601202a34710488284ca4a00c42a46994284342b8405421d75b6fbdf5d65b6fadb73e91e0105841b03e586b8b044174a5c99c878a00a5c0902afcb0b6509f6a540ca1683b0097e4da9424946087541f4efd93e0bdbd7aefef8712da7a17a77c7f7afcd9d5d3ea69fcf904fd00e95f4f398599ae2681b868d32488b90b068686a63642f18e3b99ae9ce7de2ea8116ab4fbf1ad2a919c7b97537d06cfceadea89a95895f3de57ec59cc44430303f37f9e7ba788bd14d6b34ab12a4ca2fb7a98b344ce6dd8f063488f93561475279fbc15c84c6a7bdae7e7346ee333fc899c3dcc4c1aea51229d4b44a553514b0ff4b508a29c97e99ddd67b13c0b166a5826b2f534b7a2b20e4994e7c2ec544eb574534bb7d2561466751ee36770dbcd93a9ad49a93053c54c57145f8b9c7391ecf161931893505909ef08e0e73a67ded3c3d622174991e3de52e3675e9ca5299ea93f9c90b95c8e2c05c8895ad459ebdc6ad4b98e1b2f6b2aeba69e936eca287facc4138a3be69c46fe742f26922c745fe5ee1435818fe39d38c32a03280a714513d8fe011c69bbb14a01d0d791a5d6fd45aad56f6525c49d4c47dde2ab16459aaecf9e460b8b1ea8944c5d4b0f02000401b3c40018180b4825d2288b4146192819d4072403cc499f6a03a22c4b9234040c000411004030000002c104009a06ae5551130fd8a203ecb5abf3fa689ade1396e96b8707ca63a3d89a4ed1432d55609f55f582e4c010ef1a4a64f3d9ad1b4d0a0f4fae1f33b3aaaa7a6c16bb4e3b525c297037e14bd7b8917d5b193716e2f667361225273d91aef8eb27a59e5085bb17703fdf3a673aba82a15e7c21d0fd387ef472754a84c34de60a46394af1b9d70cbc8a2502e4da5de97cfdb232544ba8b42b4b0e868b670026ce64f8a5147c2972c2be210430e34d38e0bf5d1ce3d88ed3a820e9e45c480b4c335f7762827bb046404ef143f2038ccdd7ff46fae1f5598269d13c434939d53cc6f2c2de553e3cc0dd7e889846bce599afac55c05e2ee95439c60b7b35f6a56a9f4933fd49034cba7a0b354425ed33b04ec8ce4dd75e0902f131f32d8a5bc24a56f25bf561e4fc73f6a259677f1607b48afa63fa5b68232240b04893a328ae887ef4084ae58b985a2b47ae89aa347b82a92a3b23ce428741565f20a927f1bb67aee26ce8a56a01c6617829b38d3226da7083c31d53db66a14f86a3d2bb772d0c0d51e0e27255c74695a36c0d4f52969d14c5c42afac2d0b07e15ae72269f340289bf11f06a64ffd6bca42f8543e2cfe92a1bb50f3368358cee50c2568151611046ccde10860a8b5cd2a851f7da963d78e70483dc52ad67dbc27481e14654954ef754af7cbd5901a3708460f12c05b9283ed598bc412e52cfbbfb167c4e53223227069d4dff29543a8f360a753bfea05e6a4f1c504e01e3a8c52e962eb8e34300574c5e6da4e6ec01fb88de6ca59901bd2c3dba704b288d3a84d1f32f3cbcfc7a83e0289bf851ee340fa27dc3cfaf9b0b3a36cca76b4f889c882bf7de350dae096ba707ae7ffbec7464ebba57644e0899ede7a83f10896d50441d7e92c024aab89361cf814cc062d59141f4e5bd40279662989b090da0cf73e0a629554c41a526e2d3418f5aca18cf81afb7e51d1f1d4a0427383e161b949f209ffb0e1a56c7c8683165ef2d23a07b135dbb56392e20de73062063b3e34ad38e7bccc13593ac3a8e91d7f55d8cc8b51690997c3e5d44b5ef45561b2046848f45602453d3c734a71446369f9d169eea8d01f4792b96bbab5a4ea1ae086389898c6e0da04fc5e1be61ade467efd33e0017f9617ee7af1f6bfd9e23b10670c9acab828ced9efb7cabb7d4219ad6c02de2c0863306a12481d0dc18fc2852fe1b67220aebec2b7ce40727d7625290194a2295b3258289637eb0fab30937ae2b608b25c6a62b44f38af57416cd779e1aa8b1625a695a3c079ebb93feba1683cc61514c8e38fec590295ee7c9707489b102c43ba230c20f470f1d04b2a8468b38c2d64c9f91b5e958a294cc2f032d2771907dfa167822a1cdc030918933149195c0c939ea9dd9a6612b9e27b3f0f66bb2144fe42b4016924820fe766d5c94a8974d8f756984908d39a512d9203401d27095ac206fc73066e243cec259a8abf8d088e843c4c3828241f78609701fbf73cbbe0a27d8adc90780bc5c30758515e866bb0ec8565f44f25244e5c24d5b66766b6cce57fae41d53ea80fb98dc12be02fc2ee247930098eda45c19af989c3a2b6e2bdf3a5305eb59193738f45b63290e4c175cea25245e791ed9282cd35a2476daf2275b9b458801dcd475ceb1eeca35ba7909e308967ec6ab657199a604c772dff8662f9e979d8f1a29cdbf981f8bf3fc8d15f557caa683cbb866871f92d13a23a2c3703615ad8adf94fc3c7f006823d8e269e875332ff8a769ff499d72cb04b578d1c5f293add2417cd43935235c7dfa2331d77e44c43aa9a280db0dd53980a098d07eea03a22730603bf52038cb6955f77137bd6108f2a639b34ac394b659e37728d5420a9e54143a4037c1fdddee43fcf3beb9a91f04e53af937ae5308a4bf68045c0a90d34076fe6d180c751684ac51c05cda06ab07008decebfc718de558c894df9779b9ff2548922fe5a305872afe5fa45f5b16ad53ee7ecc458d442604ba733b694aa39e4595c5bdfc112268bf62794da5ab65c6f8214bf65d6f354b640a0c926cdb3121dd85956ca78289a4c33f5c9e2614c575ba59434448cab5443c34fc46ab644b20b841acd85b262e31ba68ddb2dd6d0679d02ac46da61a15ee68ee44c36c4792bd019307a4aefe61d2b8312483eda5228adc587f7642b4c27f2af751b3a03a54792d88ec6cef2c6ae382983306f3468b5ad2bdfb796ad2923c58f8b26019f9e765a104a1c6f9830c9f79e1e34135905505f3323d9b343c9f1c6ca1cf02b3e31440d052b024b5f8aaaa27e517866fa31e5ee70c4c41ca06f40974a4641e51f3decaeaa621ab065b241480537a62c598d10d09c549c4065a34e6c0c248cc2e02b2c2af78cf7329948489e196d401b7b9e23dbd06d05d2556216ad83ed9be85216a9b0d96aafcdf7b06c5e72e38b1cf0851592a51efec456b87c2bfdd8f05bb1c928c7dea31c53a29c8c950c31fcfaa507c2e90f18a4f34095a0f32ec2db50136b5aa5ca944c05b6b4b9cadbacc11eec1a9523064b5d21210a14d971861888a4fdaf3c6a5301aa10d21131a89688d19d010e98041f9d401353a77ec2176d6c8f42efbc467f56ecb15e1acbe3eeedd675d4b6511fa07d52ce82b18e2a48ae40a9dd067abf4740807bb9604a1e275efec146e1db88158c1a8022ab1fbfb66114f7c9ed788652d6d56717668c024016ce1e0bf857f9a7b19cba71583562fa7493c0a1bfcf040c8f6a2834dfbfff7db2808a92b77146c5fc912d7d200fd4c5c4335ac60178297c02eec3b3a10c298482e3b376522f9c1df1c9fc998b3a66166810d4b616b92da496ae14ac1e2a87dc50dba22cbff8900aca8c34234a71d903fe7ae8e75e05f82932bd6546dd3030a30ee55bbfcb096c6668ffca9c6a7854c225d07f1c7bbec754748a9d95588c025ecfc4959d35e321df3ee9af56f436e4123e8e8ca6718518d4ff5835f7f3bb26a58a0eeb2de298dcf8ee9f8cbf70424777bc82f597ee4ff16e664a54465abf1798467bebf6def434db4df8993d652d257d2c0949e957267fc63f0b84b487d65d6f7b5fd38f2783cb1407a32d4a2c8e8843acc97520c9b8a95d43d2570afe505043917a87afe438b4fc303cdad852e1a572c2a733c51606d8e6bb1a29688462b3c795a71b499fb6eeef64f4bb7dd18e533e7bd0a599996239a7dc76eae8ba8fa84f4bb44e0c583a22c6fd9978f886410146afded3b82e02c1427c12352efee93fe2018c8c20e0d217119d1368a8273116d2bc0d1c755836b1356ec8d8e94ee8c4f407644511b2e703d104c763adf23f82c071ea3ea2ba4a4a7fbc7910540df83a7772794d3e2deba2526393ccdf643d3008fd33797e8aba9696721441754932c464f75bb127419f9fccea921bf19b7bd4b3d4ae7d169461f2f7961d296b6d481b545d8e502f322c2b6ef7927881c75fe307909a9475eea9a0ae2297c978dd583ce7ea05ecc2706d03c5c1eb0400019339a3d85dc62fadf34ef149e34a0678b01d7a50c5784ef2c5937310189e6329726c83dc7a3aab7ca30388e7abde1a7d85ceb5930b5d166c1ce6873aa83578c9eab39bb46a1e6283a371c75024272bd04f3631dd5f967a1ef005a7385c3c06afb78a41a0a361fa55e0dfe083e40f9e90f9e64d75a4b4545f21681c30e3ecbe8b338cd6248559f11bbc8115c3ae685f86461459806f1fd6caa4ce6e2e0f7a4c2613d51e0a9af550d07865a859dd6bcf555e332ab4d067fae414910f586b141ed1f87b9cdb6989e9e30f83db145b31933b5888433ee3556cf45df7f0e9c086bd48c8b675e7e9c4275602aba99cba48393bdf9729ce863e9482c8234d3b18997382ecb30517572fd5daa433bd922d0f818e52ff07df25fe06191bdde0544367592bc12db25be8b42e67e4e760370e4aa6f1d8820ac528a10785b8811afd05316eaeb48e9f82097fa385e0af7ecfbad2323461ef10304b3091f8b42f3664b4b87048acea9c4ac72a54502a4968a45f26f30484d6bab040241739b6e100ecef2b9901b9fe8aea51b1b34f5c73e4511ce79ae4f6145b8028a3fa4081b098cdcaf06bed0b0c349a191e30a2e808114b9b28b171ba52fc06e2abead23ab19f97d58b53acb7c2979858b72204dc08b3482e814a71df1fc583643b1cbbabb3d5ce8f58530780f1550db8f0edcdc16dd5f2bf4768632a10e04e96ba3be4c4e52b459b154432daceaa783bb3a5c978005a95e4050f65b7dc451c4bb78602400c33d3848bc647d7bd66dfa916b3388d2900e29f84346dec33c0eb347a90315eb80a2e5b298123ef973781b5b54b4d0f8aa13a45a6a821fc1a768ee632d8667b058f596878a10a90ee2815cb2ce3c93f931204e3c026755ca710fe36ca75b1bdd5a802625e9199a0d900181d9da1a29e5bcea32b2ab41fbcfc9134bfaa366c87071874534f07debd63d7860e8301a2c9594e60422096b17ae6d0a5025930c4865998e2fa3f908786619f17d627067dd07d44d5d6e8b692f5eb088b9ef7246bb19c9e029f7becb23fae88c23ff0ba7172029458617bf03384b9abd389fadbb2bb2560691d67f0de6612a832c82e248032c73e130b63ecae1b3b908df5e8392ae3eda6adbd6ddb9206bd39c35628b2cd60d011c8215a134d0d1347522243cb439ae56b58d85356b0c29f27e47afbd2357afd59eca998b48afdf70d401d322f3f26a7a8b48672fa56b997d7d58e7562811cab24cb9d593175699e30640f7a962a99168e5aef58a9c7c1ec47f0a39402ae55d539b0bdc729af5ecd697f25acac544133f02bab595178a3727f3d81e4d22778fdb4ca129c4e7e6bef526c44fcc5c9856ebeb4399c10aa47835efec073f097d43eca996535c0d47782bcfd9b9cbf7b4c5a8da4d8307cc76af6882152dbceb1f96ce911342952344bd64b9723c6b5f21dadfc6ddafe1b10c416ff1b65686b066b40ec047470b9c29e3c4c8345e7fd2ba6cdc7b81394ab158f6786d756fd5c8f6ad92b2ddcbd1c38efbc6d7f54b11955f494556f821c6ff674e1cc535206e3bad6496db048d58a7da62b51220047b0a3751700996b188dacb93c1794e1f3d0303ea6ad56369408321f73dab887cceb491088bbe58a71a7ac5deb93a7073935ad438eff657ebd7a39593ed00cb8036fcf8b055e05d299b01946400aa6baa8ea582b55a322c1d92d9bd84e916c6af185e1a16d73dc49aa57ef81046645dc339ec52fa52f765e1a8565abf3d2e050105100f4befbf856a804e88037e67e5ba0be32c407f1527cb24d09b5b31ebd172bec62eeb6ec03bc10c2382e68fcf2a912f1a4f776b32af68ce19133652215b0e044060f7d1fb05bf78430be935b26e00c73037fe8c79e38c1237fcdf24a62c5c4187f8cce69be1a79b19283c102f1b3a052ad74c57c5dd13e1b0a405f0b189444503065e329f359c1f204998bb0a7f5c016443ce1a000e7e070007f5fe7f8322eeff0d5ece6a54c499642e21016fa15e9fdff5dac302f077d48761535f3c69402b50884030432fa04c108daf256e5a2d8b6ccb4106a4ceffa9e9813745762e8255cc1ec39e5e968b844762a80f0038721eff5cb7a2be159ec82aca0977e67cc56b1477b953ad66659890586dda643ca153b4ea37ef3b93069e4c37904a437d3af60360b0518b40d2469d83cf85ef9b0bc74bdf01facf8cc0e24154259127f050f66af3b081d9f241248eba11f9c42a6bdea42637a04e8a3d4866ea2d54075eab9fdd6515521e51a30455be14ba6d3d79745b00f6797263244ff0f024efc408766805c120f20154363b2763f5822b16429dd074930893960aaf248a6d11dc58e6e4f5b22edf7da24b5c63db3332ddf5062f45f7da647ecab8fbc3a300b56151e5cc93253130e02e6b320629fdd49fa68abefe474cf709f03dd5952313df120ca4479ccbfac49203a11eefa6b0b6a40184cdb55d528e302c60c213f5bebb1c68a630f92543b3fbe3c4fa3fa037a6fb50388a98e6a08118cac34230cbed1f2ce8dc0c49a3c707bcdb96446cc530de7a7bb3e07f58a4d41e808954c98010e38b1a9290bf6a3547865c96c36af817d041d13087b57e29a05a3987d8390a2066f1d09698113f7539d974ee992b4103796366567db57d6cbc472271412311158e64d186b2869d5d42fe40896437c5623dea30d1183db082258e8d66e3e19b8ac6021edbfb83cca65fb2ce91087ebcd60461e374eea4e5f25ac40496a1dd18d074a225e4b81121f05562b253e453b1b1dc1035c46b2c5bc13a9fd8e7f6189d249878b975ecea721254c6d3b6d728d6c882b309c722c7f4f0df61d97da627edf46123804881219560fb571c817ce68875efb7f42241ccd345998944b41ac9abd64fa72c13532c91f07ab5c10a942e5c163d26c0414a56f358b1dedd450f22df9843c5ba3954e6117a45d6a1459f4f96e0c1870d1a12ed7a42d507fb6c71b0725a11c6e9996aab62e9e85c3ae7374117aac29842006cf196369dabe24c989744744246406a43f39d7de668a80e8db054a1515b4f5ebc6a110dffa814c6859e933cd3c23e341a5002eacb1629f022cdd651f8740b82702ae0ed0766070cd1ce402c9f10035c84467026fee58c964a195d204592d0f777511c15bf9f403caeefcfcbcb1f93b9b1ba23a026da0738679758c4b8c0689f120e05251ced80e975f20a5b189dc264b56dee57db3550b5288ee3c826539f2be8c3456fe82241cc515b902c5d5030d11b9bcbbf3a9b1449c86b9f55ef4f9032ad4dbdea83ce46eb8f5ef6f3d0f7621b36a4c86f141f38ae6e1134345f54d909bb440a51118217711f65b66b03e116eaed27860d87686004965f11032ec22d38a3bf9d364b916c174a9130f4e15dcc0c15eb4f221ed6ea33f0f2c4ce3dac660a0053ec03d9d972ac331eb098b6a8381428a1b483dbebc8b4619c37d972b73d5dff67a9a952e5a5070b8a9f1cba2a1f7ff7cc7731fd6cf4c8052329ba5a99a24c58a1e89d54d12d6926e435cddafbeb4629d6a656f531e7d1ac2959a73f4c3a84caaeb62a357e73c8d5c221b48d50cfea67b5145891aaf3dc3f91d8d808629b97edcc462a0f31801e2dab262656ac7bf04d2f39374a939dee2ac52374e5a79862eb0f893842db17d96b21d6f258a01548796f7f09c77e11cbc4c0df4eb14ce85b16ea2954af5ddddce88315a329e87eb6c5d87bed41311a1f2339ec6a3d55efbbfd02f0ef6dcece3fc9c565c5651493c5e22875067db32567c808378c9eea1986ad63d5d869f31ef982842ef4501ca9c3f4af4736bc2db06f442b547413e1fb003ec559e93d7c28b0090388ba150bb9980f4146409657131f5e8c5b7046bf9d369562c78bea240adb1be0840a94af4f14bddfd8cb0387338bdb02fc645da583a21866a0e0bf83583c7465d5b2ca0dc2fed86e6c9805615368fe1b23bd64d9b306019f2619e39a9c2ddacb4c6ee19ca3dd56d8d8350942479824f5f8c421282627493cf16d8a15d5422b2839c25e3ed0054d6f70ff3b405f707d2d70ac4082870cb8dd41f3ccb72600f2a1a862e52f7ab7574567a39f3522dd10d4882cbcd20f11dda11175077446541d651fdad4a18f6f677e4d0fc70f86f312bd7f6d9b6b8fe2fdea50c39b8c9323273f9a49861724ee4e1783b3d63182d042d57517beb8659073a0a33de47a3530ca4e7ed404d489960a87ce5ed7a68094e63e7c894ace18443f2958818d3c85050c896137c3949d48fd48943065f9b96f58a64fae3f12a6ae8b0803a2936964a394a4515580711e231b14d3e932dc9cf8590850f0a955e84b011e744a041e7437b01e15eb12cc5b85df074f1ae782a52981da361f65d196a3c7b96ede6daf0ae36e8f2931c6bdbdaa02bbcaad086db66c79f5e714a451387542e739e9b9b037095144807b71dd51352224c326d11196a66152d704b548c578289b2d5c93a08327be7676fef58c82359fdae3384b7ebf3ab29c6487728c9d5ef825cf086783f67b02e2804c072408d7c1e1513a7214051086983fe21870f64c0509fef29f5e30038cf2e47c5a32e10ee7ad691d5e0b8ac8a25ee9542b7098b8ab5388b8088c65f56667837e1415e008fe7c7ab1a869d0c91dbb121fa1cfc8f675544163c13899d7309c4f86e7114661c5cf08d80c57d3e6294af994f919a295cc3c1904f071f56e7d705709533b57cb127afc70697ed2dee1299ab3d84e9459b89bff5b80a516755199e17851d111b0919f083fd0d9ac186912fa234d4c27190ba303a8b47c54cb444faa987d1e8a72f0619da892789712697af41304b91c0cf20c1e89b1adf7db7cfed8457e0311bbacfb515307893a69c3383c4057c015358e7f298f01188a1c5d1393a9a65752600788053660b44225fa439c90e840bfb9f754aa86718faae551feb86054774bfe525dcb37092a540eb87eb6c63d62d1437d619ace18a7cbe0e000ed47afffe12d167c5757e35a89646177e452dfa9b867f05f790d2d71c5e61f5a94007464b79af7cd07d8af49469e99502e8d925d112f09112857593144b9b4cf67ce15b85ea92d04c025a68898d53a315ddd526ab32c35e4b903ff62b9ea70f80c90640be398cbd6683becaf009a5c5c1344a02eb50130555d2a80679a78d0aa65cb85f53ae54af7bfa00f37dc1e2898bc1e22085e9f67e5e560c65ad413e9b1c0816e77b097a9f67b6953525268535272a76e22222443012701120193086fadf3e7a6fdf5ef6ea7a88aea1228cc2188854a6c1062b463b5be9497190ad0288883590ba816ae999108a0d46cf0f9b452a5eb439e2a8e056040aa2b616d892403b23644893568debd9f57b7ef6d464adcd6a34a817119a17e8fdb80aab5f5fb9fa6c1882ec0806c0b03ec4f50b5391384088ad50623bb22cbb21ab2134e7df6a48f48a688e37b62d4e324b16171b1a094944cdfb8f6c59764a19ab628d0b26602de21dcc67402638ec66536dfbb1b2393bdb84dd27defe493841de190554f5245b2b261c39b55fc1159910a64cb28ea60784795cdf7f4c59834aed49b64bb3481bc7f7446c68135a4973656f2258d88377aeeb1ae6b636246856c3e0fe6d5755e1292d5929f3801f93ece61372e9e06c57ed9a808c1c2754ed220f0c2d443090c4f06922c0503ad662e6824e82bea94b875ce87d5d0f1d050187f4f51f3250524f67d01f941ef37997be9b1ef5deb0da9b18fbef4def7d41ffa1265272a2a2a0a06c50356870099c9fa1e7a6050b9fc7bf774fd7bca5e8ebdff9173b1eaac691cabea3775b9e2f15f70c461072ebcd67e10bc61900db24136c86a6188c35ab1b5d95a6ced07efb5d65e7b41f1e76a71ad59ac99f2fbc10ee30fe6a15ac9cb1acaa3d82dfcf1d6df23b6228060ee68f871b6f687d3520a6230c2b5b424a024e533a74393dec02c74e6f4a3d8d181d1d1609a81de85c09e662c62b3154f33156a08f880c9216006f6d4a954459b08a8a7374e6ad0342dcdbe7451c252258a2663e0a3e055c03540f559ac6f9b64a775dbba3955298d03da686c4d02020060f5f0acc851f49d6f9d43105f5be9f71d4d55caebb82d46d6c2f070f2bc6ee37a04ba2151a5d9a9d85e7adf9c458dff9ce0b00adcaac3ad9c2968ab2dc61d8178e2a129ac6a5bbbc4afb6975b8ac30cd67221c6217ee120eb614d490d5aadb9db6daddd1fddb5b54b1f0ce207aede3bf88548dc874010736fefad5bd6e3382495e65422c31228a688f3afbdbeabfce738eaa94b1ead75d01cb3cead2eee9d81ec9b67efddbbf645bdff224de4b5d79cafbc2271ef71fc80f4de1b3c318b397b195cfc8cf82161a94a53faa6662de49cf3fbf5b59be61be65c6dc638e7fc29c5b4d4d9f57215f0a1b6ee073ef9e5ca1a1cd45a2b07b7a65c535d12515d5b957e5fceb5f2561daab8d2fb39a4be2f67f2a3f6577acb251be6d29da1379aec46693dfa4efe7b6fe67e287fdfe4736fdfbdf7e3386a9dfa11310eb15801424e4ae1ccc8e73befbcf3ce3beff4de7b51c88bdf973349feefbd288ade1b7923efbd91502fb00bb85c03067c8ee3b8aee3b8ae7bbd5e2f21aca39331c542cec437883908d29cadb53573a41f41c2df290937a852b2fb638c29483168bb1fe1bd3bf038030553f7b989598b67b673ce128bd3ea6efddcdb8fa31dede69d1c2dc6d35a1dc3d8db98bff64f6ca7088a784e0cda7fef9dff2736673867386ef1c7e499538373763fba9e7dcf79f5cdad093704f1b52aa52f55079a13586b9aebcd29a73c83a0b5b602ade0163b8ae11938c4287247a5e52d4b43aab5aeb452b03aac15404c792ab5413c1d538909349b8e0fce09ce39cfb96f2e6ebe4b92dc157afe6aeb16859ef957d793bcebcd89fa0d889ea8f48d9f860412d3c60850302c1cced2180e42468881e6f40423ce8456c6a50369341808c86020843018c4400048020000800870c02885e86e136650d88b06058c2bdfe2fe944ba2dc0f5d3cbb26ee1f71a91eb5ac3846511d4d6dd2456b5bbe11c205a1dd58a9cd8b237f3f964b493efb1660c43d1e758c09562fa5eb896ecb1e035b092efcdf9d39a2874a96fb9f98ce4a38c8b31ced8d289d658c0820dea9e67f13254e1a35be886e053a3853e84a78054c22edfdcb4ec09a21394372c4a43e73236edfa528aa28360c4e1c4c8889b08c1f9024db66b056a58f65ec876c87811003cc0a16f3cb7dd2b0d24f06fae29a17c0365bda2d80be27bda46cb9625ddddf899f24f5c83e624d7ace11ee58eed49036bdd5ac3015a9e1503a3f2eb93224e6cb22c73d7ad888a71228ff316e68ccdacc2035606b0a59c98c4bdc2fb53b06198ec35e32b80745cc93d56af5a1b40a5dd1dcf54a79d09c1e139c9e342f2650ce676ae9111821c9d13a16b267d8c6547ed60dc937c047bf04967ea44ee1f64988cf258300062871c67f901d0a2fb9c2fc98e6edb07ec12f3a92259c08b6f313ee5b92fb673409480b35a6feffec586821be8e016f74ff8011a84e3a6ba7b5d2fd171814616178bef9ae518d4643146a13d60308c06027c3dfaabc4ffd1b440f15e7d3df9e283810234adec481354b82c7180186b1eaabb637804c0499edad1d48b83ce036b09a801191c8fc7831d9a4c86d8019efcb1dd9bcfeaaade09300813d2db000e686833d59c207cba27bb5993bb96a4c250eba4eee859a393f62e7b5d6b5013040007b9af580148c091883a23b81135bd06670a3d04682ecdc19f2b76ae4b8a3418e843fee9654fc2a3e9d3d2f21fb2bf49de62dae4336601c9dad610a6e2982022eae4cac789401225f9067e16bce85dffeb69555f1693468d455cb97bea55afc390c58cb0a82b9028e5ebc72268c60bf5408a4dd28ae2bb211c02d0d2b7485a1946b852b392d746870ee981412407cc67ab68fdec713e703265d8a3627849cc9373d2e2abc6d9da1ea4431156c015d50a1a12d461921b64a4345441f31d216af935776249d242e33e69ae0a6be22e6b9c0d480718cfde2c0cba3b7ac24d77ca03df18875b2c6e380fe43791374b39ec6b90a4de11f7c5b96899319f433b5f854173a525a3e02d315c17ba7b796c9392af441abb212f2f5eb9a026b7d0df0d6d7af431d766c008ee88f6e53914961ed9303dc50eaf15547c8680ba406c08d359291f82b297e289695d091553b30586495e808afc920df3e79926a9e477e5847c3f28c9f21d5d680789954530b8134b2a404ab751fcb4e12c4c82cc27d5071fab7459a1b2d54421281060a885ac599b943989513ec455c697408f20172256b8757f7eda55a883a49cf828ecc2a64e7e450c3abe8856fbc89bfc5884669bd5ec413bad40be788a57a850181b156897c7a41f190914d62687a5caf4cfbcbcaaad6318a0dd10bfa5feeec6a01831a160b5d1568c03edcdbc02dac88354bb7a4674f847bf07518626585021ac45c0913ec81ddf16193824be42028441e9f48adf1677774e7fcc2fe450685777f543eca5ea1f9e1aed93ae3695a6fc707d7b12b09ca0b4cd7a5225a9be838cac23c852705ead010482af8059ee83c541c5f5378adb4e072e569745ca2ea498152ddf1799b258c56d190a6f39e37c2563a57406e0d87db294caf0a9f0b55380a6900a7cd693ba78c48567f59332d13c4746c3b28d60a07c9c11a9a39284ec6320133fbb60f1387561ec2e92a8804ddd87a2d1905f8d870c29f002278dd13027c171159c18a2b32b7cfe06b612d824fdde876aff7ed2a1390c5558dd737a37b72c7f118e4889cb29a080504b3ad514ab4604b2301bc1117106a1b107903640d70a310446cf23f02e7f63fa52cdd6621d93218ce3c20553849a813c437d43abd1c93bdc0404c09dfadb94f21ba7c28f88fe274ebaa6f0914234ba484a9653ae3bdce62cba230803bd01c7d8c9d83afe01e11d432e767b3127af98cf33ff98ca4abcfeb8653cb4ca83665b5f94d8b3efe324419196e17178f38a3bcac877a24fc79552e7047cd0ec993b36c6cc0db4a9b6ca6ba6e0ed2f64575cb058e85f84704e86d217a580d37fc8dd19607133b15dcc025f2694aa75d45b6d90acb1b05f2f3656ff8bb2aa71bf8627c0c14759821681d5609145419560914fea493faa09034a9e72037f9d04365ecf0014ee9d71542520717a18ab36dda2a7523ce036e64b82e59be5d290deb026de9dd8c2427ec0b62f9f02d3be0fa3488313e4ea244058094fbcccf3f3cfcbbd8bc7a6aaa8934f4002377dab5efcd723acb6435f3cb23310b3e9ca7df2e5fa12ca6716440ddad319261893616895225c624d607a1e0916cb7dd22b43618cd485145f614bec84fad4cbf152c2fc78e346fe895eb4b208e7ffe008666d942ee81748e6671e9527385d6fe44e3ee467d4e2c3c8d4460d074652904b3e7208fcc2d394bc4538a38851f1239e340c39c6399eeb9d43c8ab2f7d777c94b784af11435082388d26d6b7902d4148753e71de1646cec45ac52cbca6c15c602aedf3ad1d11ba364b7ca774a718261c0d40cf53b1701625db0851a81138976e79b13f528784a742013cd18ed3ab7d52ea01ad45ec836dff401fe1f0afdb2b11929c294479ab3824bce57bce2dda641f51d25f0ab340b64dcd56663965fb93299fb08dfe3abd0e1b851ae1774a53277d6f305ce39ba53ceb079e4319663464133c73eb81c246ccff22a1c33a8b04a2eb5db6a071d083c4e9f68853a09e580cf4b3aa4aba45573c8ca42aa8a24b961977d43dd2bc9e2f7df96657d621f72b3619b654d19b50641b198e7625da3a31bf6fef30bbecfa70a4a0b5b65ab73c71728b9e136b59a8731b82c60427c69346250731f36f5ec63f56ea96cf7c508085c8af4e6c17255b75c0b04483b8a30ee76b1e2acd0ed1dac9c1e5fac5544a90e963fff5611e0455f5aef55d2924759cea331b3908d0281c6b63b70226a6ce75bdb4a08e2dbca4c18fb05ae0cd01bf1a4dc6f07eabfbdbc09f47cc1980e8de8076ac646450352d9328ec11d7461fee5e10c002f5f461d927a328dab29697ba2411f4503712b8a3f4ea01493f88156a71d0587d4be86367f170d8e856942e5b36393e0513f7b19428a4fe9b2ba4438c61548190d3e255d1b2216d1bfecd0c2f195fd5516b26ad38b69d88ed3a1589fd2737e677b87ed04e0fa9488c5cf5376de859d8fc85a87931bab817d4a40e82c8f028a09c926b0a6bf4e6ad639b8152d4084689bf1a3454490651c254b4c4049290a26676174f0f217ff01ce4150c16ee1844f22fa103b294a9aa7255a08225383ad00e01d050911bcdf3537a59c4bd7f1353a8dafd369ff009831fd99055d86b7b4f4e9e759f0d217ef41ff154523da63254d61fbaf04340a06f62e39493648457c4949150c37450f9e5d526c9a8dccaa23d58ce52adfb31e85d0d97fa69585a6ebaf3414172efb46fc8a3207a9a21de9f11759570484f2fb75569918d81c69a07e30738a9519139b9421192b09ce74609d18c4606e0703e49805a83b3ba1a93b02e3668d364875460165cb9be30a83ef0543c492c2303d2b0b79eae23eed87b619c7082b4a1aa6081a1089b3eb462a4248294bb9914a8f59be715f76bb35d3021556ec94444179e056ad9177bc154046e56af3fb8e3266fb2602879f6523d5c5dd1031ba4ce1ffd74845634846e9d4a61bccf64eac738bb655b8f0541f120eabac912a029bcc8879286d9c793552190bc5c885d4daa76e3268fdde680dc6c92cb9046958f408ab91aa0e57e47c54f63fddd60b3552b996fc706aad9334cd658568cf78f4a47be21d089e5e9995aaff83b3339deec3e69b4fa50a484b2fa9efe626ea6c64ac6335bc7fc6e9f79580db3dea6957de01f539ba89491fc42d2c5bb1b1bcc72d561f992c22d283bc0d4a561686c7718b9523939d88f4206e43d9571da94499990c4ae5901886563ddc1f269dae1a82c3a017afbbff08d684c88dbaaf48110e1b3906f459eb309da4b24f957a7db900daf2df74a6a8656c774da065c1f884385582842d553915dca43be835aaa82dbc19321b9adc7d57d6cc41751542718512a7fb94af29fb4e723d4d1d3b69baac0045785878183030307061e160e061c0c2c1c384858181853100e00e7c74f93bbbb72de4ab40ba08ea27a05276a6edebcfcc9d9dc11cd4653352e9f85b81b7be1e1f064f8530864e64ffff9176f23be347e9eafa6caea6eab134bb2cd42ec8ac43ad9202a2d3049eb0a83be906452f5f7aad46de0fa3e787ec26cc602a72bc90444ae0f642fd3e89c420337d985f51215ea66fbcd00515cb35b708474a50808d6aafe4fcb1a2582e65b6838d64ed82960bcc139c97cd0f9b0ea59fbd104984236cc8456df14b6f71a5bd504cde0323f4d5fc3c212b3300e866379f932725ce86fff01155e8d66c1895461f86b072f78b11c207cbb4832f6b6bcc5416bb38ceded1614d2e7d37283aa4b90e448e37ede397a2f3b99f3a7446a97b726ed2861c8275d59d77e56cd76d8978313f72fc5508bd5f7718fcd708509593a2dd9ba48a1ae51c988e0bd822e3645f8f81e2660918f4254411f3cc247a3f67d1fffc288ae11045839df430538298f7d1af7ca565bcdf4770e16c86b24d369f60874fd41d2aeb247b137dcfdbad729ca133ca1b9e924f5ebf614d20a4eb6c092b34f90013f420a9e7b4427497bc1390157e9ddc83cb310862357c6c08f2601d0dfeb9fc54d6e1bb54abf679a835c6472b6d1796f4a8132d2f4938e38b529d0fa5c2069ff3f14374ebe5934b2a6447f460b9b67caabb9c560a196e392aa258b724f6399c00e98d378aa310cdc56c91679352ad46a97c1d4686acc337c14b77c216c6946aabdae3104a97f9f320887d04d76cfbadfe2a78a222fe15d81ea2b46ec36199cf97f121b8d210b20dfb855ea70b5024f0c614ace448552f107baee124e0359178457b5c520868d17a676ac8902e5f455e0800b9ae66080c65f973fd287bbac97267ccfc5a84d0ac2c7caa323a8a6d468cb051521ae940c68351e182544d9da23115d8c415352eda3b3c997f187ecbd501df05d338ff9a058a71fd5f2fea0d9761d1809aa4c86b1fc8e2637f56b6eea83b171397de87242651fe7cba942c7a1ba9d1ddec37d9dddf9697e3600eb98b38c658ac864eac106bc1d6c459b84b59b6f2c9868291c46ffc5ce3086d0ff7a34cd2e34a655156347fdcf8d37de47d5a1085f6e1c0cd7c849536f932b3c2a2ed6b48789a74514526c735a6c345f63ca4268f681c81b84e14231bd2d0fda0d2adf8fb1a9adaa6e3d29e2ebd184f95f77b9abe34cf7b9d44acf26fe1889f8bffe607cbb473a2e74ef630d0c7a4cee508e7fe5bbf28223d4fc77f9b7304e8fd9dd228bea21ffbc53df391901c56f28d4b4b22ab07bb4084dc0ef88152c0630b70a5c6d6b7c607273ef910019e49cfb55dd84a646e6932f835c49981caab6fdda3955dc05d74476948e87bc08666457691a4b8bf3d08871781065ed5316d0ffe30928ee3386a2a41b1edb3ca3f598de2da88fae0aa0ccd851a534814685ea102d663fba1051072da4d6476052fcc1de2b5ff9dc63e24074c02d639cb75821a59d23acdda9ebdcdd9e39b55c2922e3b4cfa8453630e8413290c284f0059e4af20f6541d8a64cfab3dceb35750e7c3ec67228851f4a5537ba4fc15d360a043ba320a10484b411821da345fae68208dda9bfedb72e51adcb3e783ba7ae5dad5b5a07257d898a510f2002f970b57bf8e7dcddd1167da8ec2fe7e841f0002cfa11726d105f89947f62320cfb6781fc6a0c8e2f5a29252013916d36ad41adb93b9d0f39e6edab65fd037e5c256c17c09edc4c667a35946ef99b6b5702d5abdbb08ec3bddbcf5aa91b8a360f40aaf9cffb043699e322185a3acb5e72898566efe83858f2b08ad2b74d65b2cc7b592cfb4b9468c897b6876e675575a0358564ae3a7ce927f0aa69e43d530ba25f194c11bb22c9c01471b3479326834fa0bd025bff3b0fe317b50d18cd58503e0d047a924741683ddac7b3dab880f324ea420a1031095070dcc7587a1c176753b2f7d7aeecade15fc8216ec268ac770b6a225ce5772fa6b3546e2f877541634e5003a86341a3fc09ea60db0860a0ae3f3d1e91ae239145040816c10417601bc3f84dfd735d9f55bb01f9c7cf654df54d1f7aabe461d6b463691c8eecd2db9b237a16f6bdb488c019f0187013060c070d1c2850b172ed8b0c06c6c9d73ce29b7bd95c6e8ee31d21ddf8ca211bc0102beaa1b3ef8e09ed74e6cadbd2badf78e3fd76ed7b012494944c59d153f6ce60d16dbb675ab4d6ead3fcbb66ddb7e56db6a6faddfdaede7c7b45aad56a6158bd5cfde2894d607ba2e67bc5ae9d52ac30adbf22363b871e352e186520f4e6292c2cd1315f9bebdd65a7b7f7372cbcc5a7b6d5691b3bd5785b5d6daad31e64c196fd8626dd3201935406adcdfdfdda7bb4f779ffeeeee4fdd7d3ed596a9d413170a35ae0308080808ffe33a95d2af752acd39c312566110d9e9eefe3f6df5f72a67044f59fb52254a2184173e0c31c4953efd14065a69ceaffd4653af51b3feff630b1fe3cb0d74bf6d9473be34829524870eeb53ea60227199a8f321dae5047ecc6d5c71bd3523e15bb37a7b6eaddcbd7fe2c4a8da4dbb4ed4ea7ad6dae5dcfdeeeaad39e36da4f3cc583b2dd8d381d5dc14c370815302cebdf7de2b777db15ead042d040dc48408fab2b9e82d8f61f98f30c20877cf8b05238cbbe7a58125b794520e09611171719108a4169c903fc8fc5e4ab15c7c313a175f3c778e3885b51ee07d49aec25895808400e33b5b514183a023468e1c3972244d91344d88a42952a448912142860c1932244e101cc7ddddfdded295f2ff3b1f9f57e97dcbd7b7edd77ab616d7fbaf6957e5d0a5fb94b6847043f85430aa204ce9a7353cc14ec7cd412071fe4d908dabff95e3b8d3dd3e3e0136802c0185cacf6d41826c5b108ee3388e3371221f1f53809384add226a076000000543da62f13502111afd2ace2fae1f2e1fad183478f1e3d7aecd0b163c78e1d7382e640c93127282828a80d8e36f7defb2fa5bcbbfefffd777fc3f7e0bf7f91bf189f84ffe0ffbbf0c20bff3d8ef0a39601e3a8695a901b6db2e0e8349cb50c19340e1c9dc65131ced924d2b086359c41cc181b631e901a636cd8b061e31f2b1083c60c1a3468d0e0b246468c6bde7b30c60763fcff185f7c31be07e17bef3df81ebe0d1f8c3146d67bef3d1ddf8b726bdabfd67b2f89b1869691716be5be663bcb6a6adb76ae7bff6bdae7fcd275abb55e195546adf7564e06c6bb56f7e93eb7ee3acdedc939d739c615fbe48c8979f90d182f6004f75aafaa07fe74ba3410af60605e3b254280808e25e7892647ca79b1186f8cdc36b998e79c73ba8b9ebb6f0edf9c27f79e973675734fd4cf94f364c2ef277fcfd619426a8e93d84a6e4a6e6e99db346753e77376a9b971dc54656e6ed6ca6de73c9deb569da9f3a9e724d0f3d22753d7f946fdb83c995427140a6f0ba2ae93aad3696338993a2d39d536ed2653546e49257529b7849a26ab38e120670b59204ffeffaddd7f717c8df3579db34ac319c65967124bbd31e82c931e72c6a1c3f933c6f789fc7f59f1e3ed7a82ff9f83d6d8b4ff2f649079cb9c965a6bce370c59c32a4cbaaa971cc63461d2a44993264b942c59b264091777257137d38a154208218455ba47f9effd3f0377488a2f7a29b6a20a34625a32ca28a394524a77af2dadf7eee961b15a0db0b8a5d4644892e48dad56f41486ed18a34ad3628a04777cadf786aa0154903430c3e55a4982338c311e6007e3241cd7aa496a95dcf52893dc49e99c2d6ba901032c56cf6a75b7bb517af5bd576f74db2aa5d5e69cb51c47ce609485b61cba31608092ec8801040668841d3963bc68c10285c80f0447a602193c1886613c251e0ce3c9321e1e1e1e2c536d9e2c1b6118868929bd9932dfccedf2ba3f399f9431c6194ba552a9b46587583a48297dde39f175139c3e531f01a3514916b11223e54de9438fc8940838cb3678544d993225cb321ee15210e512a72b0aeb37694e1e160dc95af7d7bdd5fc9356cb4d0b45b0a3944e07210824d148ce8971bb6ab2833395a9050a1536cc29e9698bb6b4d64a2badb4d6defaf434a7e666de5855d3feb5de5b4e91c9aa7024d95ab71d3da57ffa9a9d52da9442e90e736fe596e1a6f2ed96a3b9df6a8fdc537b460a31c6ed043ed33056dc9af6af751c30a5c705e5bdce70294641517ede6ae05eb9a97973de036e142e0a8739c717d31de5a4be41ecfdc1fdf37645c9f76efbf73edeb6d7bd34df8c42a17277336aeb7b77cebaebee15b0bb2b60633d6ec4618cf526dd281ac91026e9d7282d22c950800831436d1ed7003a15698f4e1a436d8d43652d404a760072de4c5965c2a658f22ee795680103c9836280da276bb7c53d3a45606437e5ac886c6f8c47acd44c3cdd01d3b7000a47c22c8a821c66bd23018a07c68af81daede3236a26b292102698922383df742be97ee95d7935c15aa5e06517a062fcba7b7f053b13a2d83f784fce9593ae4cd453d4011767f69374d8d50c77390fb0fe4cc03ccbaa053ff1b8ea30137e3414c1df0c737a50004b506a97eeac5075a80a2c772ed18f5be58980b5dea8f27e9717c90a38a0b55ba60479595cbb402d67d7f9d03f8adfbb1c1051e60a0bc72a448288ba8e4b11c193ff862819ee0fb6bc567f44f69b213290f86ddc3d23cc61ddbe45e61b6af8230852a9e347838740d11532d705b59adff6dcb885f218a6c94b294ecae184cdb75adfdbf9f792a9996bb39cad496e25d41c25e6d946c601e53ffd10dc6c74cc25508fbc8ffc0af8269a737b2de6433dd4ad9adf7dadd0218aa70c13cf912dfd699616cb60405c8774c71b5c1626e27863781e4096651d46a7ae496ee7a64cda28d7ebd3cd3eedf6226eaf178d2cf28162f49b8fc8268027e25443f008cd31f6fff1a126d29443df1c2ee5f14019f8a94f7dc149d4b4ade86a313865f977aee4dc187cda626cfe4dcab502ff1622924790c135dd844fcd126aa993db5eabf7c78e4965830ed71f7ae31d0f02d15f4c7b1a5c76854ae9a2d53ba5ef098caea65301b13f3f773d204353aff67e4994cba0dea448e53963f405dfaa384fdcbcb8c18b0affa0e906a3cb289f7917789d3fa0aab768c27c70c8f58fcbf5b5b5b032e55b9698eb9a9e16b1615175dd7694aae342eacc62c0f3da879b601ebb67050809dc73f6ac60fab93bc6b99dcb5d89bd0f4e466cfbdef826e7658581a6bda7822f0035b7074c3c2323c24800789762c828528c44a74913de9f960bed06c13662c89313f8ade363b51939d93e615bd5d466d28040a5a1ff3391013064389ad285de2646068cb2e183135ef56deeee893a1bcb14219ab2729e39264041d2abf58e1a68e96f577be360e8ccd3300c6b03abaf947213bc7db5cbf580a1ad272a6e3c00930863b00c1ea7db419be9162950fdf4fd8a41930307e3914b22ff1cb6043fa8e94b997786b5ff71821db5e1f83dce2a1120fb214c6afe38174c42790165898a1839c8945413685ab9362b872d826e2c6c31ca6eacd0b4b25c2158b916d8b680f5e71e076e6cec7b83628af74a65cc083a56546d9f28caa238eafc95c932bb066dfe0e203a40c07fd205c6690397d1152e3d3511eb29847684bb4db47c74f737096538296c8201689af11d05a05b7162b10c81800d9b62140dffb84f3840db574d00056c9c7c09bb386c2d311472ecf85a78b45a15dd1d7a4d2094129c54b35315508798dc6361832455788820a59009381614ab24c394ca5c7ad3626c26125b06243e12c1d95c41ac63523aa4a1699d302bb3cfb92e6b03965c03bc920b0913542c19c00ef765c1fa23b59055e960a8b770cc6a46897a2fb211ce4e6f042fdbd7473a399ac9943669f92eb378f6179a9603073b06b7649998f396e286f8eb31bb53bbdb0419e8e3f59d4f551e40dc39139597d062e47098d6dc6490fa9988e6a300ddc8f02165d50483933c83824985c5ae13bb62d5997ae4744aae6fcbfb67320a7dd0d491954bcd9536f01bfcf736175f7abcc5db6b90b19511118c32496e0d3450dac799a2b798c14cea9bab0278bbfcc6ea766eb25528ef3e5cd7743574b53ca08ecec975e2d7bfec6c7895f063846e074fd9872f8c11c4e59707bd67a7576158313dabc2c058a31699da0768fe2c939b049ca55cb72710659a14f601d65309cd2c83eaea93a6768915d003ced9257646004cd57d4ab8c5014312f69111f5a02ad674ecc4e91dd4da38c8623d35d67c76cd82659ffca4a5e397076bf4b9e256b570a189b372b3e300a2376d5afd1b9eb939312a294f2717ea03cfe3e1581eba94328765cbfe398aca830a696c06127ad81a7633121d483b3d92505241ea3293f9c9b36e3871e597c41646469d0b7255b357f8ed40375a319749390cb5903c8d70e46f3fad1758f42b33c875c9cb38f3322a243290decb2b6a94289d8277df72f603195dcd6feb74603cbcadffaa12d6b62607578360d06a043167d0870ea818c7def09aef25f53a19a6e5428c2c21a8f36c869695cee8dd6cc8a59732fb438bd3bc4b1e58be08b7e2401a0c3be53b831ed1e7627a18f533c4372da8687f06a2bff8d263dc0fcaab3d3883b7db9ebd8068060aa2290d4c8c3bcbeeaf200852cc2e80363d6debd824bea37a1ff91db01b8b60480063def722496d828cf85f62d7e40ef59874c81de3fe6d4b86be0110af62c5f7b26287d8b8721a166bc03048fff510a7f6b8d7ef4ae0535a3c483162570f03bfd2a63f43b20af667a34c15b1af40875523ae8da0016ed48ca2748d2dd172437f8d407091581f6c0a305562e62606bea0b006962358c04f0884474ccb03e9cfea30c8e6c78ba00ed35fa579e6eea4fc94e694822a0428bda4368184ca463b8dd9673bf5bf7b46d39a09f47c05b112321a4aad1c4bd3c2bd53765191b86a65b609fd300ef9e1dcab6adb5bbbd51f3561b969632ba7fb2d654892ecb05a77d100bafac5c59b9910bbfc1c8af4ef7c8c003028acc490c5869c9eaf060a0af2b062f30e7c6344bc4fc750f62258d2b6b0f3b237661622a4b22d4d4a1682781fa0b6afc0b69d50c12b9e430c3a9e2133804ca1a457e2f4d84a73499c9f78315dee8c589a86a3b3d9ffbdff3633a2ccacabdf0eea4d9d4015e2ead10384395274e19b28535a2afbb00ce51e785732c80bd0d6171327be253ca3ea58b0394814c86865b44e0b97b872c5bea360a105440f7b2305ebc35a87e13f78953cf062724d5bcae1de62baf586a5ccb46f4fb0e5d3c4c76d7f02aeeabf8db94fc46407e1fdd555505670ef9a61758c462e7fd23cdc3821c2a745e6abc965c047eb57be76967b49f8883a1b6a9a7d6075e81889c07b00a3adb7ce22d895b7e079de5ad5c6ede10b0cd156a0dc045b045578f5767ad7eba7f4d1c0c4c84a9076b803ebfb9fd30438e6e731e992c53a173f3735141d58c6e2fd534b86e661eadf00acef821d2288958bed3671b76fce73cfceb277ce2a52895f5536c98c60cc00191bbfa3a2f05721e3c975e85f9cee863d27a716cf62e3a8c5c45a96a8d29a2090e014b1d7152eeb583f5ef2f6ba617d05e937abf1fd4bfbdacf9e809e378530c10699f3883eb91edd1e33f01841d7f11327869007b28252fb0cb2efbac8fdb162fb8c001f6c737e7d6bb8e19b7d396edd0430997de554c6702a63a57fc87c9d8fed48a2f14132a00b18d31d551f8d8c69bd01955050f81e99b3be0051b002f0153c9fe08c9db736a6ef024250d52b22cdbed11e8e74a9d4b4dd876e1925ef59246907a75629d23673b44ca7ed04e469d9e18b9bf533cbd31b362f56f58ff253d5177deef74db3bdf1c26ffdfaa29d91e0d1598f73be98a300a87f196604eb1dd9b774a61420f1dc8564070e29d3ae74435cf73e68aec6c1c15e854643858c664194815e3c404c0d47a66b5e5e21e2304dd97e62daa99b9bda26b10e9848863f8bdd20d0fedd851783c50fa4ec04c64030edd49403a2290bc772ae0f6319b5c62727fc1e5a2f8d6a267d2ccd7b4aba8add10e81ae64796a8cc65856c977da7102c69f465d19ba5230fb623dd57190dc0e66122f5c609d7902c7bf4fc311571ee9772e4eab443f6bda29219758ee3ba580bdabfe2ba25cc4bbe24304460804805d06113931637e2fde829aabdb9bad1e9e06042950788e95e19663906c48fed543b858defc533db8870b038daab8baee26c62208016b3fbd35adfdb5062d311e66af79a7243ee78c1a44c90a8bf24b20655a19b8fb1ad0f93d1e00c7ce2dd900cde84e30e2c360ef7e798f00652a8a15f7b9326c87ef53c4a9f3af0290238bc6fb16290795296cf278509d45a75ff1aa3cf84e9a5ca52b03be3c9f61151c9a3cd62769d46921f74945969f595a75196895b48ef5c70922171d9e90f01a543de3f8fdbcda9cda9296b7aaed24eb362ed5a8465a5653bdb3e034ac231d68008c6ead565972236f2adabcd9c5a570a028cfc74c7b6104b68b4501a2b7b63d9900fae2d0eefab1ca95b723e9ca4344aab4b836920004f00e10003921b0ed79bab2f9bdfabe3bb0c6de519a3fb66c2d27fd404cd44574eff89ebda47d61ffa84d2276624a33bd115881efbf03ac6f2f371f7a964a5d3d06d099922f4e5f64f8977c23008eece02fb3873d96cb6ae9baeb3a757e50b35a146031a903255d09d525c6e834f2539996c38a30a2e920f14db3f388d3b1dbdb70aed0cce0704602c972ab4539287febaebfa8d3469268217bed9608c2a1be579f4f3b5f90190983e96b54c25e69e9ae01b8b89b4608370d8d6e0dba41ef8cdf14583141b320ae16d54b942d4d79ae4c9c32476170434208ef006569e71e89d84119cc920bae412b6f094a55672df880c9d7040c249bd95c2e345fc9a81f4c97d85ce60ceab41f412feca1dd267bbb471ca8081dad8561ce8eec6e06ce466b2723858077a2400c3372daea9536b3f0cf0bd3c07b3838acdedd410a6e07f29207445301ec58a004e3c299cda9d5df89327ef7564a0a24cbfa1df2a85452888aed7af0c50dd98a33efc66025f158475e883129aa0d2e578f5f8486e20ad9f1f35bb5899a6e3ef7f7c6b2911f900c6c6fa0019bb71f7ed189a21497370abc9390df49e0a7728251b674f27377514e51b729b21a1eb2e6c011f83ee79f2525d53c63128e54065969d34baaab61af2096947bed60fd5bcb9a8ade2fb1cf1ebf11f03e34da7d43fccfb194ebcdd45d42fa1edfbb67daea7a3b6c7e7a731c99945e94c9ef0ae414544e253b90d54b1e106a420d483f1ce1aa204ebb067976c8fa5f24df91e0d51fddf29737b4cdfaceb84b989e20783f3aa3f6a031ca8a133f0736825da949c0e1e7b3caef311681718e1aea6e06c4e9e10e8f805bc9ce5668792fbbf91c05fd100820d790fb879919291cae9dad73543f20b21c8f5e064f096344aa717396af1ce9156e46354a27fd5e52f17c4ec0a8ad1b4fecdf88cc75dc36a9031281dd67ac6f942a46f27a54d5cdebc12173efa7e34186eac9e4342b227e387ee73b1e97099b5ac363c8e7617eb1ebf19685ed18927ddcbabc91393caed85e110122bbd52ab373581000c6431d3ad40f4e02d21a25ba8f69427a6c3c706144c0f1317643c986652c1000209e009f68929af1c689c2c1a963f2b140957c2d127cca6922aab149401f0943e52ec2c607a843e0991a8e0a05bfa52332cda420c4d8d3fd39ecad086fcedf0013c6c5733dc7f44cff84b8db631af097d519d770a122e8ebd57f5d3e4ad3c79ac63a640fa288a9932cab6c5e4d75a487fc04b80f8d77df28be2789156c9313b7e5ce12c70482c73cdeff08c19a05556a02739c947e6ac12cd133019c6be513143755813d4efc9294db60fa3da9a97271a52eb92f353a32af9a53c268d11c6180b524d266b8975f608fe555151e10c5a8486380b180df143281b3f1d114076319b7d50b7c5c20e43bac171c573034b5b67ecb6b2d6210ebaf80a5a8ce127c8ff6a100287bdc83ed6bfc68495d3ed838983eb9f37d6ac7fc82116967110db3f742a6de5f061b366236dec6444795052f01a69ca9523b7eeb9867882c68b3a8c539180c6c4d82bff640edf7af0899956f4723f8055bb860a540bfdc5db2f1868132da5f9f8c178c56f03acc1dfddb68da93a647f3e71f4cc287a134e454bb7cf2de1bc26f7622b2f118101a3a7a26fd49070d7bc1ff33423eea3a99ce5c58685e2d18ecccb20982fd42908d4a85534b6524c9133db9486a4b51449ad4e63c19aca364302df77998c2e02b6f4dad6432bb174e835ad53828bbe033511a4cc688dc8355b939e249b96f07eadf5fde3cf47ac1d8bd7e4feabd76a0feed65cda3f70c03cbbd424a7b305398a85352293d1129582ecf08e34eac2ce52bacd90b23c3a2980887b5ffd9f8573f3d4b5bef18e501089454a3332df2e26927d91663cab5806357b0d17d07f21ce899901afe52bad3c14f40d11011b47b65f25155fc4e7fc363cec363f959eed83f10afa337852bf739438007da0db9ba7b4db2b7e63c29ebce1900a219ad229902be58a8e8d8c51a1fc2f0fa147e11c029310f5b245669ec21fbbf9c2fa71110812e2a5a18ac2c23fabce0db53356d1a818d4b198aa9bec0709d80765edff98844fd81e43147b00537424029a0d0a93ff4f8015cc40cec3e95ea715c20c604ea598ac188dcf8bc7de4adfca5c92203d53d7d66e0949b0d5d77a3d5ac12a21aaa5fbf308bcfcc11ce28c4596d99597290495b9e865a301bab30c87467a4c9cd327150e7d2f7285f5117022aa0773dfc9c68429401d59e03401c3fbc23f6f77608212ffb7ea76855c410c1ca01452580598e59284a50320117545a75a5befe4b9474942e646d7515e08c32688a4aab75079d1ccc3ef2292432e4f025266ffd0d25ae99330315be90ef2795563ace21475ad2f99264debd47966ec2dfe4382242a8c748550b9c6e9a55d2391cd2993fa21103e71258466863546975bfe531453d82ab1a08221716ddc87505370ae2ecd8226b050b0b1e20a0fab96770f703f56810837fffc8de464f02a7d58065452d4110b8ca8b8724424f68af279798bd17928e468589f3b161cf9b4a50e99d29824ce674ab40c26bfcad08784280387e55401853a8616995a22c5375d997712270acecef89ca927212adbd1efb30628541fa95bacd918cf401ca215dc86d4443f782e0f2f57a2b99d9d9971beee12508dffe68ff4cf8a4a0266a7b1dfae3ee1f20437161bfa84d8f3d17a5f43a304ee6a0de7ef043845204a49db00f618cd2679c53b3f245ff5634c1993775afac7a23edd5193d52af66e65a5d526bcd126b46810c1ec864cb259f0c53eb1696022dce892a9ce74749fb5f72447108eb23eaa04702168eae3cc611b506f9ffd8f9f488b2fb68503bbcbf5201cda0d62de97246587f860ea101a2837b3b098ad8fef68e6ff75daa6f9a6b8a889e64a767a6779b76d81c6155dd16b6a657fa4d5455c86268642c3b1d2663fae6c64ea8dbeb36402e08f0de509061015f17ea792b55b823588231a4a9e467d2bfa2a740eb1d2066e05e84951f74e0996902000fd69fbb92ee2a0173b5d6c9162d0c9b29af4e5fbdaf8b02c7bf137fe765dcbeac95fbaae0a351370d705ffb97da07bf90d0f1244f03bc34a90acc434d3c2f97464af677ed33dd4c436068439fd6ba3073f19cb6bef41e1f84fa648f53875472f0d5035e540ced4cd8e629ed8ea41b67dd1db02f40c766b0e8505d07c2f5b70c5918c741d36fddba4f3faa097ae944909eee6b753d9598216a51253677dc5973bced9f2cc2f14ab3cfe8c05d5b002c13e92b18c908ebd3959193b8b094a55ac3095a97319c90347bd1812df06d53a4d17a22a37a496028fa7e148bc0102dd0bd1731d10f1bb094847799022396bd2b186fa2c52b1e1cb0314ff4d7300a433060469825a4b8472fe93f1dea4077c0049b9448502ed910f48ed47280c3b5107a718c4de1c8ecd32df24d1aea7fbae49482119a723f13d9a15707f84d7fc850fb338b68b9113a534728257bb01fe542eb51698cf8c11c5150555890d9f863c2d778724157aa577aa9170b98eebb6a23e23bb63663f22a0a717955c4c75c11502e4dfdcf7a48521be2c59c0ede2a079a44fca5f626b86478761a26e7da97d8659ff5c2b7f23535c02684db0246701e3c4efa00348079ce9edaa8a0ede712ddb710eee47b07e3d77169806328341552347c73fb721523378a5d8fd1fc3e79e4fbc6c1c3c819063ea56ee8bcf816e94700e204242447bbcca853daf4ecbba38154bc0b2132635d57d41cf88eaa76c8c3b0fbc0aafb127e126d5880fbbe74ae2e9d06f4dcfc240633f59ca2b69b0dc4734aa2eb29f7f3a98c49519d61388805ac50018aaf88263d40aa4d074ce03d47d4723cc2cdb1301d063d2517f7d8634f49723e1497ef6dbc149f624ad9fc01517a436dac41255834429f841ad96d4deebda59449065d024a023802fd3c3fcec9dcc6bfadf1098cf2a6b5d6ba8c6ce5ba4c0cc2de4135efbdf7de1ba75bd53a4dfe8db669c82e89a2e7a93f0ffaf51ddce1744712beed43ff7f333ca4ca9b7b904971afc379260de4cf1ffeccb9dd52909bf9de1066790e57835ae7799efafe38177e158e4e8d81503d717bbc83017770054a09d3826de716d2744d6a35dffc4322950ab834884011a347185916b436cc77d3faca16359ed4e97aa67b6bdc95f4f1e7f3e4cf2bf79ffe650802f9961a7e76a6faaa5ad60543afb7a2aa5effd7c35d456feaa5d37d7639cb6840bce9e29ee06da24bd436278e091aacc784e88cf1df3828f83febbd628c59965d175018d2bcca4b61c88a2fcb62ae22da22de01c344bcc6a4533b19bdad273e7fe8636090871d4192444cc91226634d9c3c21835216c54cca142a55ac5cc1923bce32e88d5021438710c1258a9353b4688e512347cd477490ea22499a6447a9d29da0bb2430e82e956f773980d05d0a287497010cdd65d6a1bbc442749749b8bb6c13dd658fbbcb2bb9bb04a0e82ead16dd2572ee2e8f8ceed2d8e82eab1cdd25dbbc4baa477759a4bbcb29487749acbbcb61a4bb94927497c24976942adda528a05c555f6fa76e69797f89d7d19376a66c3fcf80f6f10868ff4e80f69959eddbc16abf4eb27d3a6dfb6cbdfd3957edcb01d07e1cabf6e120db7f736cdf8db1fdb52a366bd4a8a5417326cd4c1932b87d3431bf5677e5dddad2d2522a7b6739bf39831edcf519760fd77d6fce59b677a5524b4bdd7b73967d234588800d1112e4bf80fcf0d183c70e1d3970dcb05183c60c193160bc70d182c50a152950148420fe39454fa8bfc606bcb0ac0dc94f22fbf1aa27d9ef6c953177399eeb27bb4eee6fad90c936d9daf5ab5e3ff63a80362cd6686575decef6d36864ab28b0491f155eb19d92fb49b5421e3cfbdf8ac1d6b1b6435d015a393f82bab61ec3c2c54c3a15cb7bb0c779c02dcea61e5add7addd737d70a2a81cf2a7faf6cedff795fe4dcc66d6ccb5da32e8c794f9973ce517007f6cdb2eaa4aedb4aeafac3d480daf5ec610d0568a736e2434474706ce0d830b2a273c32f5cbb4d8eefafda4b1f15674ce38a235ea4e2b3c3899634dddff56e4c244ab13d9148bc54d4cfabd6baffa79b382f6a2db4403c231f29b625787b9e02a6cd788e923929ce719c14383f8f228cd9d4f4fa01c10d4fca2f91d78fa124020ff810499382e80e11609733086b64d278fdc0a1f0dc8809c2f1fa3140d1ff17506fbae4cc123d5ef99914c1f355950952992a4a722499f1fa4164e2d54367fc1b96a075e1075dccd752263ad0cde06421837025be07f02bfbb7597d73acb5d6fa4270801f35f7075bf7decbf6bfa585ffb039f8c3f9832d7ce4c86bfe388931984d4c3511c5a78eb3a67b5d31e6c39c57617e90d9dcebf5d69c735b96777aa6ecda39f0c13b30c1b22c2b3cb789ceb26be6693f7930c557cdbd97d1ac8c791b64d1adae49bef2cd63b071ad9caf9b4fe07a1c24c61136ae09316a5cbce007976469f628605767b5ab8fea76c6155530dfe19482614f6fb158ecc33ecc7d38cc693e3f9f431eec2cc7c1730a801b3e2476a91a53b8cf0d5b13fdcc30454c41dc1bc9895d5c8866cc7bdf027fe8899e27d62aeaf375b5419eafc5e32078ab778504af431d3f035aa767d6ffbd378a1049eb2c5059fac40e36f1d71a4531ee2cce38a7591aa37294c870bef0bead71aa2a2f5c3b1fdbcbb88a8cb7a15a9f56eaf2e63a5ce8e0fb1c2c9b6e549760dbda5afbba7d52061a23e7dcea61a6045232e88e3dbcd68972ce59e71cecc1e0160a557c8143629abe142a44b78af1f76fb7eadb592835248605bf38919f357813fd319e73d639e79cf38ad3281af335ed292b45d58ffd5867440251bfc5735e9a7396fd21fe343c1c0ef3862dee82af1af15ed76bdf9bf3349fd6462bb35fb7320e715b35552c168b7d88a7aa70d5506d980463441e75f2db4c6120b0e7a08ab1a738673b4e063f48ec2cd59eeaff4f2cf6a1c63ff6669fe5cfd2da70c2ab9bbb73b70e8fd37f7d18d673346a29afae1580a3f10a5f2b2457fea929dc4af5e2d40b3126bae15de5d8486cb95406a1918cd068ec460e6c7f5aab613ead77002d5c639d75f7e65ceb229682a3b522594e5c7460d18195788065d9ada5f765f1f79e689c0547ed79d1d7674782e9f96e4f7156a235ca8ee15c3295276158b97f18cb39a5c02d12c0158adfba8f2b6bec68cde3b72c6b6565acdafaa8ad904824f25ab5edb1cddbd822d9af6aabac7e2391ff973d0239b242e1de9cb352527dc8872856e28a9fd9dba8de8a7153606264b98ada5cedd6bc15d4cafcb5fdde7e71bf2e4034a01a100eb0f7b64cb2cd68677f6606077190cd9ec3f37c56d6038641b179dc8e37b9d826e3c6cbeac91240c01a9e9bfe3ab2586c3896b1c71d3a2403e736bb1d8f5b9844f6deabb0d8ae2691c90f830a3c7112b706940122fdef1af1a15b73e639cba9fab634c3ff4d6f86d43d6f76a642db615ed7f93be9ae6383325727c8252519925c8a24a4692791144d52d22c2906037c2b92662568f3ff534c29da83934273e6f9d5e204db809c48ca144bf3399672392440c42c31d7a67c45eab4c6a2c8dd202769c0d0d9a999ae8e581a032a95c2d566a64c9827ba4e6018b0f9f225260aae0bd9e32a796a462af5e963b784a929d4b534a7d6078f1c36420e61ba5293d669919f4f658cd6224181cb7344111c4eeaa547d324e3c7ec0d114689e4042170e6468bdd9bd9da9c6aa9ff2f77990b606f3ad5155913639e41c4880adc27244df54ccfdc4f3d4c2121cc31330d132a6650b03c9ab0c9113353932698c0dc5df183c66a223d3f5f00d233c8c6f6c7304ec4399ff12dc0427c4fc1d46bc2763ad168ceb98726b7a556e1c2b60dc683710874257088195da66f1f8cb1ce39e70c074d73c67daca8c959e7cc452d521cf466868ee5e19280aa27674f8e8ea2fbb85180e4823439f179a89256cb7277664e4472760e8a9ba63ecc38a02aa9942cbd81e409cf183c357590a0b4d6775d5a8cc69a8b7abe9dcc93edc473ba694ab74e040ac284651d69093d1052d6a5ac27359c197f33ce4307e0989b569e0970c4ed9ae03da730bc951fc992d6773251c1501da5ac5501e37d5edbfd5acfdec4e2c2ac192393cb22b609bb14bd60560e5e0725ce6e89b3273938a2127face25139b07891335fb5de3bd55a6b7df6f499b62a707aa2a83e5134eb8cb6fad45a83f93611b942c8810e40f10941ae071ea6ee78890d705cdd6b26f6903b557d3ce73e97c114283502050a76202c517c450426dba93bd6bd0688c32e079e867dd8e3712ad11d68af87f3a3fa732775458dc8a8b40d5e979800061395001814078462b15094c3288601591cd53df4820d8498090655713898033288620841c628a08c0100006300c10ccd6c14c9f49f262bb8a2af2b5420235e7300d8347b48240ecbdd761c4600947f96d859ffa6a556f2ff003d47db367b58e7ca0d87df4b7c35ed843b4a081dc8a4f3ace59a7b064aa3d18709d82a714dcf94b60ca5391cef9b2f23c71a661ce15e92d3dcd5cbe8d0de53c47ec5914261af13cb7222fa1b6d8867873bd0f665832656ec6b62ec761da6d5ab49df5ca9f79c81c223d7aafd80e576e97d8fe14a4f4e04032ae0501dfc2b7d7a75695526816c18996108a2ab26c854d7bcfd6184bc4fb460933d86e7706cf4d7408815456cea8984fe91a6f51493a58fc5faf872ac9347b08c5bd2c7d6a210aad42dc01bffd80eda0cbdb32a126e1c174d72a66aafd8bff6e5ea0c7b4974dbc58d344844b7f9b17f411887195980df54b98a8aeb6d321975c08f3db61f054aaf8d524a5239a5486650166a544c86611f0542d8112bd40801d0915825bde639f311f248b1602fb3ba4d131b9454158ab5b725565ec600a14847f15320dcfd2791ee31f4507967258458f7733961b30835125803610db25dd3a1f6dec4e2efc35eaa083699621969d8b28a4ab65a2b058eaa691bcaee5e9623c89c1855a48c24156fd2420b48825c68306f41edc9054caf74b4753fd07d471e7198e2c8cb5af45179ff3c86e48347d18b6b728bf23c7f64387f22db542ba4ba2e85aab74b5ccbfd24305a111b16f985c3b14eb18c11efe4710979e9448dc269512e73731e1809410ac71f9c36c00e9312f0242a591c8f88c40515eb5f0912f71447e20bf5e93817f40768598091cc1469a96898a115f35b2ebb9844a2510789a4e5959da2e7f567d19a44a2f7ee6775d4616a79bd68a87f196112697d432c098e2de0619b25d13ea8c0f09cfef28a2fe8f39cdbf76a04093860540ca2d5cc1e0f62151485c3cf183dcf87a8bed8375f22e772005f40e42349ea4b0664a51b2559b9b87baff2fa1c8c5c9b36cc3e501ff79901aee53c608f76a71787402e852decb73eb43cfdc86f1ede2bc149de65c8444ba0f0dfde93d79a7c02ddda8bcaec5a3143e7bee6cee04dde74a1029e6c31f6738fc115eb3b19c754bd5d3e06abe1b14cd2ea6c1e83c8e4dec9622a9d1f5275822320050644292ed0373a5c6415c13a4c524d428fa0b4e07d049b572e13d22d8cb0b26149f444588b1916da6558e1c06634f50f45e67d99f7d3a20ef05e5323ce066ee09031242a99ab83fa620ce9390357295c88f6eb7ea3e5fb968970cb5063e1dee03e9789b9eef00ee92ee54cbf4ab9f12d975bd0706929089a1033119c23ad8ca7592a9f756c6d5896a97c9751361f46bafe9b6c7ebd9c744dae8dcf64b935d887c9ecd3979c546cc9266155329b987f7a16f88dfc723c46aeb1b42e290a0852287641df12cbd5654c68de1302329954dfb5397d0d663229ec72b7c42a286a3229fa2ebd4fc3cc2693eafc67291d7c32a91c18394bd63381c64daa03f7976bbc1539543af34c0bc88d4b40562ce9f5c51e3e7e9b4461f814778d8dd0bde9a497f58c0cbd65864e7876254a519fbd5f2e01ceeb992272342f563c2bb25156bcb982c292b10de1e9c77b19844fab41e24d17e82346b37b9b3ef86bc72ffc3cb6800f3bd77b7b244c0a2b42dda90bf3bfbe1e51938884580c03e5a047a3611107817993ed12e9b7aae21a1e1310817964971e28d9ad33b3b885db0dc8af5ef644bf0473e58694cdc108a2911ca49b1fe3b7b4f56328608d6415ce52b580f3496a40214ed81048a0422190382051633a15887def36eb7ba69216f076fd7f8009b6f67831b27f43e7b701ba5995f68fd66933e3440fb011416cc4919702eee375b83101d353b8b8050c44635dc513c06c17082329adf3bbfc1ffc3fb308978b0e2f534cd2df744eef036464b4bba57b0cf04226a8089e4ef3db035c8356409826fe936743a22e29368a49b88ba4f8e236cbe845288a001dca27720f321f76578d60c99268401cb6c15f74d97181462c5211008a2c31b30d771972c9557a4736d26108f8ca2a9cd65dc9f7b82728ad865663520a01bfce0d771542e46bcf3cb9f64bf9e3a9e16597a9c7651268e566a16ee395cb4cef2ba387ecbd3162ae3e75835716a93600eaa8249bf3034c334e1d68df9eca617fd8b9e8b94c849db29147089f1f453cc467047feaaa25d4a3639fa2ae52ccaa400c3f88cf2f220ca6cf2f80a36bcb887072f48a474ea5637d1e8275dace6eec2634c88e1c4e082abad1e53a3ef3a2258c776b93e4e641978f5e19248c0fae9a737708e0943a9f0cb618f8789344253e5222324920097598f1d6e6502360a19376286630fbea3e9cf8fa0ed1f8b63645ac031d82218141e7563ae350f49d43f5b8ba768f77eae3479e32458cf0d77742d1c7b18f645d2ea68e792ffc868449715f725238c38d5b5ff596250d4c711c140f80c971fe691c87ffd538ce1b2f5fa4e9b0e31ac7b9948a5059b63ad604319d238724c038e6837aab1a76bee2ecd2ef73c150f47a8d722832e236ff80f2c6313d1a5e0b5378271113c73bab6c7ba02b71e620a43f1f9140ca67497923adf09a8c637d8e083536b4d021825c0c69374afde31f8181c17c57a565f1b6135a3a9ef97ea708a9b490c1b618b1a27092a2aab06d84e57f026fa3ef9cd3270811ffbdcd41098bb9a30e0e7ce8db9e8204984ea8d0edd2ef2aaca0fc0a159ad84e0c3136c6c3f864d718f1420cfb638c61a8d050561ef4c7bbe83ffc35d90db64199fc34fe329a4416c942def7b31b9dffda15341519fd45645712bce747bd738e0a02fd4e3066a0222289cc39648e7581b09ebf1cd611941c36499e0330b91ea9580e6243f740d6105a2dab9ec1321638e81bcaa22902c57deb1485c45d2d3360b2d35fc7fe1bd3107ecb87a031821ae446d856c9dc103e520b3f7454d5657fd298b344a6e09682429f37033f5435abb919fc1ef9557b0e593d3def8bcc96c39497709f49f319855db42acb713088db29d3b32cf694dc8c156e22efad951fb762668c0e519b323cfa01125852ec46a242406e71b81012562129b8d2296c7981e0758fae29be0abb25f0318461b78800d6ffc02b8acef077271e55dafe640d8b6223fe1de1bf42bdf04774f7499886ff1af29bcca56270eea346a9b3d9a6ab08b16572743da2ef3d9aab63330901c045e461e703e60dc8e0bb9a7f33c3e6b3c12f346c0e759086cdc3b7880d3fdcf526c72a44fcd79c6d5f391eb082fefb38f15ff9e686ab0db62052f760bbc4454302f9e01508eb14b737b7c28e8d195dc68b254531ab322dd6e2a4ebd762129cc846c29397df70908f5e3e36ae41ce552e431f31cbac2350b1f90cb6220804d627dd45c413f95786ce638f16a38e7ffd77f6ce76f8e5cc3d073a2675a3da584fa50a6e8755b53b56d53722ae52d1c31c209f183f334bafe4be8417acbff580d7057c8b31d084ae844b93a32a9223d0735ebb9d2a0f2a99af4d2db87d32510b24f2bd3f22fb1e6596e5abea6c4307db4bd4a8684bae49e898095adb06bb5c2e581699fc947674c0a1b9c7866008ebc54f35ee785d439a16b79ad2ab7f4ca8edc698b9c79128dc6e00c949e35e0f7ba8c0abe3f3655373a84a3c1103b08ed596a9959f3798278c0d8959af42fa3b97419d9d5ae9f5a95506092005a683ff9b91089d09fd0228be0164aebf81da7b0317bfb4fe733b33a782e3f6aef5cfaa47a2ff4b9acfaee49e678fda6f4b8d6e2647079acd8242289518f8bc7a427b0e5f5a6b6cfee0194e1412e71981fb4cba837ef20812b10b91b808b48982dd0a555801a6b33579719555d1e06ef414e5f6cac1a1be8f91fd4dc124047ab9fc4dcf2a1bcdc089638617691cde2f4ffe794eb6b7836194de5247d1d2f2a83daa18f74b8b61cf91cc005370b994aa0e73b068e3e2cb658a7f477bfca7dd7e3f4597576ece0338fe9ec7009c08673c11bf14869e11162b153ea432d4a7469662f283304172dedfc6e6af568392a999aa87e881b2b2903ceb61e8987d1207a6bea09e815c22d45f513411413f4a7ed47d8a3a62ec65cf00e9af378a506656eae1f047e923f1cc4b02cf304051c05de2a3cccbcd6b947e14583f6b3eac017d7bc1e0ada3b3345f44e2a7416eae80866014f51f9811f4ad040e7201f7ded96c4601b143a503a2282892c4462f01416ef1e95ce8b65663c4c0e5e5c5211b3b6aabc34e3ad98101c39294dae65f2dc24159019cb8cf2329295c847d33236133fa235ac9d6071e38c45bd7354f249471112f5dd1e59f5f79f0c5c9709fd8cded0efd6c7a1da6a0d90118c703a19f02f833a4f71efdbe0d58fcfa7971301e42223ceb82169efaac55b9675cf2bd6d36018bae39f6e767623b03439470a3fdc3d79a24a6abc081b7b51287610f0a17b5a05d0e1718e5aa50378c7abd2b24ac7b38ca3021848ecd8dad619cf34da92e3db41c334906de1585f534e4cb25e6dd44064b6339edc81d890f43ccb148649e6d0df641156802d1773cd0db1a90e144612b97c7d43302f98f7a7234cb642795fe107af1b415d36cd99b9ab8845a22906f6705e119b90bd493e3ef178265dadcb633fe2b75f98972adce54b230bba6af6627a09bbabbc01dd7020d0b8d9aa47c50c5b3b03dd5a9096ab063438b637d6e6ae61bd5995e42831b6514f349f8168d358f006d9f7b360d0cf620eea94593836dc04cc3c7762c3e129d75bb51f4e735cb8280270df14d5a9500e32573ac9352ad1a0002e7a4eea89248af58c8f5a72e63cac2bff7f721ecd5786829d5a00e1128132172458d0486527a494d8088b8270b774346d11979124b8daf0150edc08d7aeb16bce9b9786a58e30f7b7bd11a0b275f2862d48adc41dbb708752ba4f085924184792340e63b501a1c5ff5492914f45584d82a70ab8c529a60654f86a4d384c105c58a9b34bac42a90167eca199c1d870c4af71d50cfdc07f9843963377476880ac98f27957e433819ed8d18d2721e312477d604c3b799b84874bba201b26b53917ea3c05cdbab8bd15180aeeaae2fcd77688484c8fa51f9017390334dae25271dcb919a58692248771c1d4a0d1d111f2321395c2c16d787fbae378efc8d94064a59ff7629784ab0e79d7335f5a9803cc7682b89f6158524fa8f13fe71ef08e1625896e03efdd668217db08ab4b4208c9e59986e420f167959f4341bf8c08738eb1e0e490ee55e0236961bb9ecff2db6c0cd33078ad69f4d471d552a5dff3ddac790c214bb20b1743035b190d170c0aa623899ef88135cf8aad31e6b321d4b4172544ed2ad7cba8ab98f4dbab47813d26398a51b1d0fb7b6e07a3c7bcac0ce39cec59396cebaf13ac913da126d95ccc46816ad11188f7831f0fe2ce856588678f25d60f38d0f74199201998098ce923eb730bad2c7d6c3d8f7edd08a7fa74d1f830f9769508d3b6ef01723b68681ad3e8af12ce9365daaae4afe8626bb93db674ea333f59137f42e4f18ab98d4c56a4e5e63a5d4e275e850c61b2fa98d04887a8b788c2ff991dc8c0de1956c6da2a3d07199032c86ba5e8be8ec46c165831fa121f21146c741afa8c26b7de18704211d718f4c1114e1741b75c92dbc582f910852f892047070016c839d182438676bcd3b608944855a2b3f466044556a26fa21d19ff23702226c2c68a8e629d0336351f7f780a841554df44d97fe9dd3e0b3f9542539a91836d9956f23ba14841c0798bb346add66bc07b1b6233623e1c9b44ba78e5821019c4f5263982cf11946f6f73b0faac5ce61eac714c4ae3e6769a7e920041da6fb77e54909b953f610a8b69b3888c8522d2d6f7fc27d711277d6c333ca32d4d32b138e724eab24377638ab10eaf2542ab003337a85390edc7b7874ce6ab2057de6d5ce99df407ec8d1bacda38918eaf576aa8fab09f2d7f28256aab9836863cb8bab0c0ce762dbde30e2f4d5c53ab4bc003acfa3fd24baacc5437027827117919a8fbd1935750489b256d250ac8519c52c0b1989d1d9a2671f69a432b17d2ac0091c185deb212671f15cda24eee399c36800f65e5432cbff5930aa42cead1173a5cd2ecb68721d29288a3abac81f2364c5c28e30e0b198dc3083346fb2ad0779f11cbc9745dbdbc74835e60b59da12e8def1823e4a5ad0a1573ad668922e785e184f9b008bb6413ea5b7f1ba263aa5aec8b79973af557d12a07f8bc16ccf2364b45aa79ad6c4572b23897ad449b56bc3f62de622cd8c226ed61aa68a8fe7d5333d29b668750e6fd408dda2ed944000320ea574fb4cd1ae2191d52833b1fd18acd160caae11022897d2ac964d06bb8494a32d2e8259131e065faf9f4d6fdbb8616e885ada76dc26901b7a129252d20fa2e01e26e711d07ade1ffc8d1686e56c0c2ee59ebcae7190038d95ec9421ca074e27bc3785877380d0354f56e7ec6a128709a9f5ee6d5cb871e5c8ca9993a199399d7347221a465d4fe548d5618ec2be90b2ca582eda1618bf59ee7251ec727d63ccbd60ad3ae23105a2272038fdf13739472794543ad7ef2e63ee5016560bd26e4976c492677351360890878d05b5baedaed6ca691babc1458c112fa766e1a37bdfc27f9df1129e82eb05143daf39981a5fe62c6fd981e58ef99064ee5d146ac31cb8b1cdd4449e2c6238ed4cccb6a1c1481dcfaf244a44e4a73e0983b2a423ea731d9f0370dfa1d59070d914b0bba37a06d06807d16905b79ad6c4984681e3cdedef1ea025da3b64f667f28b7b66c9dfa3cda853a52b1ed916763c339f8cc5aa55fb5a8ab0a1b7c558bc0e9719a9ee388083852558ced7ddb56b683580d4b2449c6019ed1bc70d06ffc021e5885d7e11cae4b25e4ed1133d64d78bb7f1f8411ea8e884b41dd9788a301573d55540807719db24c9aaa33466894ec218d5e896c63a331dba4686a3b66ccd1bd1d7f3c5a34e8242b53fd8b9cb445a8a72ad2eb13c153bc1bf808de7afe049953491bac294b11ff8c6dcdd2835da42a2f8cc79e2d4f769f84df46ada327b80553e3e489488e017d2e8b072ed5ce903f13952f429b459f28c3bb4c3f4c8dbd2a689011bf2503e3e4b87ac58e7e0421e98430796a8be5bde4c7c14c49e08431eb7d19007e9128a3cb6a7af699a5015fe0f01644319f9011f16d04d9141d4488fe301540e68754d839183d815331727eb15e23a30a93085ef185a117f46cdf0e90a8cc1872925567a752a157edbd1893c718b63d8930fec11568060e1c9a8e5774cf248bcf51a61823d76d4200ff5573a673de942a9e8551259c011628ffaf408a30cce0813ca80098a000e45a9d1327fee9c61561e23485b9dc33971ff730c0e5e8e880edda0fe0c8ea8fb77cf61a2ad59279c8115bfac80a6b1e8c428a0e76b6af165a2d78a7312dfcc3f8efe21a6578302d4bd271abcdff935379c29080683ad06c455cfe6255afaa227fd0ab1b68992d8416042f6fdd4f665523f3209be746c451f3a843f663ef013df6c6c737001409d63befcf80a40cb4855bcb745a8bd88c3dbea3a06d3e60142e7c955c48087b576c56b4fd6ecb9b0f8f784dee70a1189e053b2cba70843922c5119d9efc0d214d48ce805c44e5ff85e077de1d0c0ffdb3ac24f6867679362d93b51f1d7747a000f3b3d808b7e1474369269884e8b32de11dc8cd10321d31b376a3a71dc3ca152148210d6fd9d80b8051f3acfaca6aacd4faf29c13edf134f3de8f5e0aa838583fb75558a38681b1d8814e48f56edaf498a9756898a49fecca620b893d3c6bcb38331ec6e14df78df85d289d09ef6e57197110ea94d969823d765e27887eb901bd8a0231622b538c03c305ed614b1bf9469b64600cb885279de5a844ca89e87110553f1c9692a074e7dd6562c7d4eff8b586f226d247fed04a011277c538e402e0a6106018597d116570dab646871622205f13514b8ec3845ab9cece426a512c7b47e8fd783de0f1307676c301c61e698984b679bcd31043971006fc094ab8d6d24daf6f7d5e4cf67d70872abb072b405d5af226d2f552673a42760accb29434f4471eee800a038809cf562f19ef8ef65cd9ebb88b9db49156cfff8a9f571705981b24f8d19ce7aefca085852291b629bfac92e25a46f2325a6ed6be272d16a1797145e145b4d82705dc7d905a4baa84ea3c5d69ccdf9d2b5aa303c53e12a1b656495bee47ca143a5a0717e0e223cc0b1af49e8e56e34c5f25bb492a5a2550885dca69abf24170a656f196d10e6cde0e4854b0ddae447dce5844c67537fba111ef8ff92cdc101791a9cbf9921bd1121dad2626a85e89158d7974f1b9b4675753146e1e2eeae050caeffeb5cae90863f88e43411adca542e0e0e45d874c15992a6a5f84613537868338c1daff5a748e2fa8b884dffb414aa08b0ab59a70ba13d9c84af9fd02c14acbe442a90fff4149a6cfd252320255ca1cb187d2c489c690118b98eb41d01a2dacbcb94a9bdd1d2285fa8e5954c9e367ae6eab5d5b75376d8c2df3f053b439922b19cbee42bd087dc15944d70bfd66ab9285891e9b9c34224a4a950983a24083fa6336973ab6d69588b8add88a8648e8b31110a99c53e2e0322064f708cdc496038e96f07aab193ceacbed3b005533e50acbcb9fab2d6afaf7e446ee32962e99da87245ac89682e4adec86bbf968e36e1f9aedfe95c271975df58253f59273251e6362a7ab538c6a1b4af16468484da9529e599786633a475228ab8587b0de1b7b4056123c4c215d1e4d08973490db523ceed576a9138159e8657e76e2ba7146972b95cfdba8795b22b6c7317746b4fa98c931479c64a0c04fcdd50b536596cd2cf58786010a0327d98d2f462a80c9da30508efafcba911fb4ba655ae722d516f09591681d26c02d2779168a59d898df02e465ab91d18bb84686ac8b54816212514465f5399c2c26a04d35a0a18a2ba9999c88c7f57422a6a5eec1c59795a242bcf5342cb1aff497d1915ab46c35d2d7bb02b5054818d4d9262c538e05d7a74cd74952b275fccf3860a47ebdcaf303c5d9c752ccbed82747744d99ced7782a27661cf99b9b937e91142bea1eb099a95661904e34cf5b2851b594509921ed8180effde089338b94f00c8cbffee13c0d0df983d1a7082c189f1e6ee7f2cb8f06f7d8528fc50c41d921fbff5f3e43de5ea4aba64f8f59b13b9a45944fdb53874af4641c512bcbe4bc44828b8226f31283da0a6bcd24c1fd9fb1b2df9023960fe7b1e2dd132cf3401609f35a0ad41058bf5c2d0caaf51ef4b7cbadad4386b22155a59ec69953b0e96f232deba4734d7a0dca07aa8fff13c1a4a19da5a2b8ecfbead29704cba7cd666a727c6c19703c65e26ffd45afcb1b3d250b07f9fafa59d02c9775d3e63a33d85fa87ca5301751ca8981d05d66464df56ca2c56c2b0e5e837aadca6e899595665b3ab7b946dc5f778da206e6b1a4f90e05cf2159593f69f8fce868fd2ee5222eeb9e884e722ee27cbb50c68506fa8de35dbf064e2cdb2760203c3e542b08270f7876582ff81d0484bae7aed79f3334fc118f2f89004ab2cc78e43e5079528bc0ddb3764351b084c6a3afa278cc4333d53013ec16010d26ebc80a70e7b68dc81c4b5481c0f75cc718eec5f5424c34238425b0cd05fe51af00e310059c784dd66205daa4c9e89b4a7ee43c70d5218073c48c8af153ae43439c93adbc9c2af83157205aeecc676c908e89c41244136135d395381fbc1511889abb038567f5985c48c14b8b7c2c37f4e58ed4fb2daa391337949642d86634229a97a82f4a4549444c84d83d5d0c9c387e6a3d561741f154a33936305c61a6e5651df2130a436bfd3acebf539c10c5fc39840cf82400d0de1794cf55ddfa04f6c83766284869be5c94988118263ca574db7c86cfc859818398b33ef7a289fe6accb686e7f5baf391f32b627f60ee2cc8558719b208a0a2416798fee66665e41bb69661ac3750b71e32a010d5ce4817792b13e4015e8ea955afa5a3b41e2d216ca55e9ada5164fcf3ed4a0cdf8949e45714923462e6a39a9d7720cab34d98fb35b533a121eb0a8b25aef7f3f17ff4ca13e28fa4a9fdb541c6d217802ff3032b28326e5308d0e68bcf0b412d1a31a11c31137bc7fc5e0058673f7fa44fa412090953dccd9b3fb9c7dc0e92acf58e82b8b0910625cc50e2c9b5a028e5bfc58c738da8333b82e3b127d984c3f2ffe3554045ae655b31bd5e3e6b18d8ca2b1a0dd5474b260b99e991fad80c903cf3b5619790312580b964f8e30fb3b8161719eb0dab34acbd6290b43f4000468ed6b67b99cf1a8badd0a72c75cc552e6888b4f36da62719cb08f32ecc0e2cae4ac9ec2d40c543d9e8fe2fd0ee7d819b003487800de034d3f30b4aa2294ea39878759214f0923305d4dfe87cb03504725b1543c78c628a7419819df9df94573530e7f9adc0822d4e2114adf0d70ffe5a641195a2fb31aca274c528431e90b0383454403482e5568d05f8006c47ecd23f9f32e3e7baf50c6210c85dc77205e2d88a7b23b8771b15a28776544aa41f776082162f5d7e92f73832097d79f9b044e2e3eab9ea5279a8999cc06aecdfd1a395e6f3ac2ad9bbf4dc11bbb472c30c7dfda1dfd33f37c7fb5f7f8728cb71ff0787e741aaf36dab24f4ec6e7784c51dbbdf89cf1acfa95f8e0cb7cdae6e22057db5c7b8b1df07c29005cf48ff1e537ff682e9b4d4fb6e87dc46a7fbfe690ed04eb91067ef9455a4fb41e7649002e722a5c76a7b745036dc76fb283c173d9bf86dc12376b541237089abcbd9cf32fe7f25ea94e9752a61282250d2f174350ee83e1aede03c90bba9578e9b3ae782f338c95febbe2b2f41f98750a2c2210a589980f036e13b250c2a029c9b8226f4f5ecbf51897bc518f89b373910f6d867422c2073ecd7ff95f9f65fceef10990507b827180116d6371b014199dd9e964e1bb621ce54118b1c4d7ba4197110ddb4382ec7b1bd7813eaa1ff23aa983bf1139a6fb5406d92658d35d3660d1a42eb83d82986db13b830e75416910d864bfb64cda2904d37dd79c66ad2c7b6903d97ad7d44ecd8c8dd402d577819936bd6cbba800d374bb891e3d8b225a2e3a846c0abfa409d235c4732a40e9b571df272b86ee086a4b3faf1f1747486bbb897afa7a7865446cc3fabf60888fad98ce672a833e177f69faa6e307addf68f84bcf2f3d3ed3f849e3570165fa51093262b69dcba6721979953c9da2dee06115eebfb12f5e06b96156778b3d6665c0651822e6cf6d964d588d80df29906e11aa2249aa85030a1e026fdecd766adcf0c8d10ea9464804a1f1f971cc6039b4dc7c4ceb17cddf69fda4ffff59ac56d7f03e891377efe0e6db3e4231dd8f73360f147b34f03eb9398841bcb968e883f2c12f2c976027249eea5d2b781da32a0d8efc1ac1205a2e6753b11b32ff4adc13b729cdee57fa6edc4152297c37ee9ea491f9e415941e235a266d0c1b09ce8066394a8deca0d6b9fba1d085de2ba5c58b5897b2f22467667d589032ea2add41fdf2255f2c5afcfdf69b70de8ba5e3515a14cfe44f1534a2eabc43ab330ce8deeeb4dc425a0d079292742c7602d68826e0767f42b85028d62a8551362e8a3e566733b3658271e8e44f5977917dd35aa6d220be86bda9b7ccd192e106e5fd6e7702207403348bd77e9f5ea60a8e3de8950fe3311a31a5087a62d302e44e02ca4a79464d301e920e398af94d453ed6d166be8600e82dd913f33adf74a3ed758794fc1737152132b2021db5d8d9b9e71e8df033043d1c58fbe57687a03f976602bc91748d704b36ed5d2977454444a4dc015d0464043c04497021c57f5594fa75d55516c30ee3a64c1d0bcca08ae30e355ca84d3bad22bf20d3ceb458a9b7af20cd568b4792c52f094110ac7fc9a696671f1c823befbcf3d69805dba1b451dab551c364f4a386cdad3d209f7dfc8db010ab22786336bc18638c31b6d66e54b8c330871b8320a620fd9ba60083d802b59d82747f9ffe9f66ad3fad49f2a3fb5e20372828b9a018d6257b7fe6c9b49fcd8cf1d67eebadb7e698de72eb12eb8b2dd65783e0d720be32bcf9df9f0beeda5d6bad43b8daaa500572ba74a9c7c453b2340849972baa4b44b81b1da2df763d09ab33d0299eee207dea8b0e8c1f638c53e07f75d083bd4c4e635377d3adfea9b5561f28f492f009bf84c3f6f5dfd61328e0e384e75e1603f7929362841c6f6aa84b577410020d20b22452438d8dd63374e890b317e731787a9f8943c70d0c37efe2487a544a55ba110768e537ab65ba5eb0588ecece97cd7878c9d17a00e0e3fc01248e3b8a82f008f994e0e84b7e27456e9765caa634b5f7bd5a6b357720693c839ea2d232cc74b180aa8e5a6bc5822789e24b12050f43b0d4eb018167d01add82855679fa7250c41891013a72d29b32c212fda959fc3e854e41ba618d1cd65afb6bb6bbd67bafd6140c7bdf9bd3bd41ad6fbdf882f48e118a22c4637edad96fb05268a0192bbdae55dfca8486565a90cfbaf76b55575db7c639dd7a434cd4c6e3e598743d24a74fa9f67bce5c8fd61a54e0de9ff1a6dbfb729fba8cfdedfbc5f75e2da4b72ef3c71ca4f7db1a1468f3c3ffd8e7311c7b7d415c30f2d5130004463e3dc20312cbd1d9f9b2190f5a0f009a4edcd65ba8a5261d2284e7084c4693063022c34080007a6aaf51b4b558ab52954279b2beeaabbe5eaf0a0be2aa1f565d15067bc15e30d912180c0604267b0189c56231204070bda62f44628a8cbe8c92d991519d4e8e120c565f3bafd8373f37776a6cf672c15e2f73bba8d962ad644a4a1913550a25f3e40825745e65eb4c6488101eea86370152fb141a85ae5237b5d332163ba32db4ca4365415d4455d4f2441316e20545500b0dd631ca3b4168d8134e2cf9c64e12087a32315cc8c3d0dcc109299777ceddf84102e92f31870f13bd7722295c4558c45114536a74ec18c9714c0283b4449255c0ba8c8145901a65c041cd9b2f7648e4765f9a884324c4c7ee65e8bd8f9d7692243ba57dd551e31f67900109f9bf281b3f6a9b22eaf3e3ffc8d9f6bba6c5f885f8fb6fd28402d5fe45257d46855e5862020ba3d881fad7ab376ac30ddd6c94fc641597c430fe911c49f2ca2add793bb9159f39a41f91089ca592ab4a3557755cfcadb9abbb44b7a88bd797a8c7e3f19c784c45f8ccc34358488bdf18e8e37d4c9f92178bb3363b6484c7d646896eb71b2dbae170bede7a3d8a29554d70a9932e92f029203161d81e745e29668b6e51b0c028a510b7e859aeacdcf8bd33e60d092f4411af209afcd3106f7e046165ec59d818b90e2b5b05892c632cca89c2030b1d3022ec28c352a3caf2852644ced5c328534598447c810911340b620b6d88315a6c565edcaeb0f6ce75701b99d28deffe7b5fd9fda6ecf0a58df8c4f6af3a16db2188cb8bab8d79d3c4f7e6c0da1ecf11987ab99eda0c6bfeffc73bc50bf07a17e0d62ec06f1d65546f8d35df655fa1b0a259cb4e1e1aedff9c43f0e6bcf7dea017a495cc5aa4212e507ed096796bad8563ef176a10681c2e91c02fce57f4b602f61056e13cf41d86acf15133761fddefeaa88b381c33096780dba3a86c5cffff6968b118ffffcbfdb22cf977a241d2a3be4a2c3f2696c9d78466b5ea658bd56a953e67cceea3e47a759f3160b1ffcdf8393a3a3f8ddf326d21d539e2fb7eb7b52541ce7f524a29a594b31184fe70efbd411e3209b712374c94bca00215a2402b0049c10d1105632bcd7ff63ed4a764fce97dcd582c168bd1bcff69d203727a720def9831ca441cc9bf97360523a5cba004b78aef54df284a434a4b94d6a8df539fab3e58aa76e8c999e692f1dd42369c3d46e3a1f7cb41a9055d5a2bad92033dbfca44f99e1b4c233d3dffecf74a4f0ff6d84aee4157d93c803b10090abb4f18bcfb2471bde9d2f94f38228a388c54c8ee73f305504c23d4340f40a1a4a4bacf172aabba624b1f9f27ad56f7315d4e7aea9973f4b23397975cd795f5e209d6c04c5d534fac914689c7d45b39e5a026920a95588b5c292691fc614d6364b383d31b6f0b22f1af6cde785b95de62ad51030b0596dfde97226bf555495f8b6dbc10d5e8f2527954ea8d9fd4153f29316c0a99caf4b07b9224ef8e8d162bc2f0f79087bbd7b839b34be30a2e421ec2d92d9541207b7087c6ad0c01da9371a445594b7c4e9f93d0de5e4419230c9e11013b318ad4ee3ffdff1f0ea5bbcf74a01d9a34357c65b61b39eba046cd9b1d1959183d41b32b23a56b44494708648fef3d6db6d111061aa61d9a9c12551c059931f3a48b222ec70d4f77e64b7c96a5797769b4002388ddae8c16df098cb78cf1455926f669f6b4a3d632dce065d193bc12b533922072e42c79cedace8c9d19450bec947ca895db87a1746577024e9c0153460b21328caaaef5efddf11830499298efdc59e30972c77827011a9e624c2fb8f4848a82a560253f036aa598ce1aa830ca4204348d264f22a07138606f933babdc562ab21cb2801f483eecfd9b7c4820c0df6fefcd7f923c4d447f32406d4069ce5152850e512c220bdffee4f0347c4672ba9bd07bef54cb3e13d7afcb396b991e32d4efee39e43cd4b29b73005b78a24df7144f4e4d4a49486288bea460420910308084c6f34b1c6618cca2beaae4189b35dec595ecda9124918c16f3077018558a730b62507b5488f23c8c050f4dc1557ea0f85982abb7f80bbe7520fe7d7a6f7d69ade7de5fd594b1a18d20239e5081030e34587a88a2260b9734362720fc24dc9b878cc5695f30d6c0e90969c373cea9e59ca3b2fffedbe0fbf79b65fe51fe77d04146593cfe9173b2c348726c11717eabe03c89013088525f78c03f39f64fb420e0ef3de7e7b73ff8975d9bedfd9c73ce39eff5376ffa57c66817459c22306a54b1668d284b40787113854d177730836507917bb13313e4050703a6029e0e6d8000ea6206c90532409011e70d9d502f97d962ad4a191dc272db822347b1f310dc3a5b9f030a90d5087852c2118931cae98e90927875484d97db18ff6b510e7beffd8f3763373268a708c4ab19a143d7e3b39b4309090447aa0ee75a083f66398d78e836cc1194836fb141e2d2a0914598058a383c2712936e3c891d6e900308bce38d4663178e39da67bc37e23981e9538c6f7cf90368c6a79c8444223fcec19f78728d6ee4392f0e8e030648f5b1fe758895a36fb81d1f47c8c792e8e93c7558989ca6fd52a228a6860b08c60b4d2fb61718620b0c928b0cc9e2994ba056615a5a7c298675a5ab8e58c5514399420257c621a2981052f158fe8b2d65450ed94341b1479d67228b44436497b183c18d56507c0922118e286248d4ebe8a0114c9c0dbfc1f4c23246ad0391481b165f8cc230850993c019b1293042e7b3ec2f76d7644b5170846d12c2bc00eed5186892d2eac978f17632e9001215e1642cf2e51b1c7c6b8c349ed4e936de178952bc6b883de45951a8e0428316714022d800228dbde4c53323189d96c287521441c49dbcf6c2e70002c4e2515ba49056f8f169cce2775388e43bd34ea3258d91246f68d98fb57ede28d2387e77df9dc653e3a97d9727e75af2152dabcaa62e0afb4cab27a9efb845b0879c871da4e21e31d6a4c7a89bb25b55cb4eff2a0825697415334d5b96de5f150ba772ce28adb5dfdbbe0082a8118250de90301479ef2217c5311c479082a85eaf47ee7d668fd259e9ff8fe46f3bcb3325a87c532aac2a6fc95a51bfe95db12a8bd5d29d35a59ebffd0b3ed753d2ebf53e253dd68f12db62b17a4aa8adf2d8516dbd95feefc397729d040330fca9576fde43fead38921e95ea2a2b7659eb8a5256cb745517fd5c2dd3f5aa2ffabd4cd70b5661f483b95eb0588dd12f96620203bf590b95a3d377be9f2f9bf1a83ce8c7e393ad6c29ab1f67632fceba83dff7b3cd7b7bc87b4c1c7dbffc842f66adefe2487ad43892a4bd17dfeb51295569c70f4693500c9878d5aa5cb1684b66cf32b55aad30ebaeeafd2d57fffe176f5ad9875d9db260b19caad3edd7a145597565cbabc2fdded49207b2b837ef2cbb28cc75c77e1b21c150e4bcd7ef56cec570ac9116e00ce62612f4fabca89cc2aaef4b9611992350c8ac7a67750b2e6d7ddff775cda1a2c38d59c22de1c648592a6269cc93a53164c6e0c658b162c58a1536dc98896369690d294b4b6a0c8d69c364868dce13334b6374be36cc1adc5414b115d55a9224499224c98e3bd9790fed8533d2708bac31c69aea0d67d3cb860677063fa8f3137dafb5e0d670629f89fdc626b57953acc5bdf76a7c4110b4e005b3ce655f590d27e77caf9dedbd371156534aa91e1a024a90d654e05a7b94da6cf3057748292562c39aa5fb6fde385f7075d4c50b8e5adb8d2f157d3f1a59ef507f9dc327795bab778673c34be919f95e3378b70c4aa98ed2998b0ba5940dfe361d4ab1c59783a33d3dcfa6bdcc5cf3d9fbd9cf7ef6b39ffdec671e2d1dc5ceedc7b61f32170acc01b5d75a956ab6b49ee5665cf3befb8275afb00aa72c14d586800dd546a4b5d6baf77bb5ad1a5fad659a5efd850e606aebbdb4ac94d27c6f6f92c3ddfdf63be4acfbdf7b61f70bf929626945625787ce9b458e6a8de7a4fd315cc21b1563ff4f78e3f528d5904eddefa99d34da0f97da5a6d77a1407a2fde147423f310dcd65a6badb539245981ccf7c67f8720d7b9b2f1e6a1d6588754fb900387162d351b827fa67f0fafa674227d1df6fbb40ae0506b7df50577e8866643f0e77c35a594667c416acfaf47cc8d3a12c9a3761f498f42f2e5c2f0df9edac9fa62eb778ec465ee966799ab5f9eaa5aca861404c31b86e10539d5bbea0c591b44f3f8887cff626c533fb59bf82a52b19fc5b58bcdadffee5bdc2b9f63f6c042f00018018c71ce5506bbf5a7724186e087bfef73c2e08c17e26c952812d5d1dcadd5be9c024544b89bc57488daa8100502411cce9c706f04d0d6ea0a4fa83784e0bd3504efa544ec9782eb2c0cc3b0d64fe943ca48700522db14e91090a2ab47556722a0f5cf06f5d517cb70ce3ae76e918e745f7a3f14e78669cbcd9b3cfcb42e01eb3cc20b26ecaa5a627fe0cfa1741e09e5b7f7a6f9ff79d66afe46923892880ad9c69ac3be3244eda2e4914c27dfab27c890aa32a066f8727ecb8e9ce1695cc2223631ea321fae201c10b93e3ec83d42c84976ae9bf4596f30e45d1c512955b9ba5556eb0b9198a21c19ddd1e97aed784b4c6e80f004f967eed42199def2978fffe5bc6afd088ce1cff33ccf1c1f2f0064b43326fb3d3e8dc74ce67fdfc989bd74726239b1d90b26ebaf9eabd5327b65cffb5eafc713a407e447afd7ebf57abd5eafd7ebf57a3d1fb608be17d32aa6d06a2f88f3befabb4137cf6a0dfcfbbeeffb8a5834f40641387a5b8d2fa554c706abab9582441329386182f03fd6de9ae3c6b5bb5abf69b879fc636dbfa2b4326b7f30d293c3787be1f313e411d70e9c1ae11a6e6b11b8ee0568f4f8875cc78d771cb0904ad401a5873fe1b71d4f4fb55641adf1944403e5192bed2aed010109d986ea4dd3eac4fb6aeb555bede59e8eeaaf586c0d395e8c868afc22b55a95d4006c01fc7abb573f79ca8360b91719974e76f491769274947276319eb8d4998ef4066832e2240011a02141428478a604b1e12a40867e60396f3eb60080ebf18546c443ccacc8346ae5586456baf24885944a4229f91d39fafc03beb5d6f654355d8e7e2a8ec9d723b901c818d10970440469489210259e5d101e5e02c2f4c3cdd9f3d10480538fef8906c4236826249bf26d3b55748672b0c46eb02d2f9ceb8b49d412c32a5a1995391599940e75e491c8a451496cead489fbf803cc7ff6d4a7225556e407607f2d52fb76e85693559cac12b13cee9fdae3b406523cca93adcffaab529512320408931762a000f4987dd9dfd1d9f25f2ed348ec9c6ebdbbdfe2203c443e9f030c28a08700ca3bc0a700037680fcf826ca9319f308b14b2a59295bc97a6404885045842ab8fde12a905353cf0da63b243f4e1f00f4483293fd1d9d9c182c9a66a8c4cbb9a70c101000638700140c8684821c4741144351140e4bfb7462c9c3da8784c8c30149203087e22886e118884240064100068000044320e7207477030b9c61fc0fc955cb0ab10479bcc8f8724249b4b5d9b540f1cbe37065e16b19151d6a5faca813b4fbc287b2a4e2537fa60729a1bba4b2257424e7982294c446d8be669c4556743649f2a37a1d8655291305063405d2828366eec78202bf3f1c5ce8daca5a5e6c99e58ffcd48543a2f0bd9adcfc3c33a4095e976a9271e0ee479c8817c8995e0c2c5b2daa9867d4ef24052efe4e4947e6b0ec24f665f6971cd15bb4646c99ca29a9bbb54ea752046f428c508d9a484360f6594ea066c4c8f170d82036b6d7ef173b7402b95ddc7bc71dfbd0a2d23e0a4562e255421e448ee983b74ab522ea3b7da572617433f3fbff0658d8afe47a443eaaf26b36dcf47c627adcacc0fa3c6c79ba245fd392c1f39c5f9b2ec7aefd67f6b9036409b2a792d2b30f974e172352030869b0012db5ad6511aa06258bd114639a21023b2682f052fe9c8b199e2c5f244648df628f831997382213817f055edb10d479c6381f45dc98f82c100929f88806e8fd6e4bcf8b44556a774a8ac957cb6a966dcadec7a73eb82879d302b6f2ad86191f3427cce8e64d954062527e8cbac4fbc73da5983e0b0d8b3401bf4dae9d49d9c28ef03d47abd3ae7d3c50e60b293ac272335d9b8dbb16c37557888fbe6969ad03c827a52462cb57b085433bfd16048094b82f15d042a2c0c99235a23d6522a755b6824adf5da9fa686487ba70206ba9161deb5e011d58b41bd2f0248629b7912f6f13fb5272411056b7e5596b855e07754ffe10d38686812d9bce26d78a41fa33315747787ca7827b13798115e645089bf1430361e6c78d55d423ba8d6f0264c83f2315e062935fd9b79eb5e068b9525a05e19f006422111233a404191123f05557a1fadbfb8296c064cbad4e8233522b55cb0a643176f8fcf4e07e5cdf4532f48454c479d143139112cda4f8b8c8b89091200a4a59c23c93b8505e0343489542eabd82590cf9befddad8103ddcd009dd662e24f150fdf390ba636092d26faa775ec89e29ee225f1e66238a09fb835a1d1c5efc07e2fb828f290c88c1a05817499aa29b790a82f8220d82dc14085925142ec72d191b136add130bb52b66a8d77c814d58bc270687063cc8f7cd8230e6625c788d98bbbb3061de7fe92d976e83f2d2ddccb551c0b65178fb515edac28afbaa55090f1cc61a0c3604d96595253927cc83ca00985f31cf19df6bc5e1a8e809659658d62d7c0285b78df2b0c64d47d313079b4e8c9d21ba022cfb66b40802807bbc4ff821a3ca44d209b8b8f0823cc527e329aed7c64453e053411edecc1c1822534a3f913f08f5bde11299c2be302124ce93392dcefe28981c91a6e4b23ed310cf997a0b50587a98fc742ce3a7df848527a6fa07b0d720579cb873e87b0400c9ced051a2494115a29cec4223bd5d16d8934b81703471da3869747056a418cc1f3f4939ad82f9b8ee540b2bc5c0ee7a623d868e140e2dd0167273794c36ca13b479a3b4605aaa7d059c2d81b7794a41c5977b19329fe4b07c96473edf8e2ff9600c998779a04b3e5b6a1adbc13995108b595638f216e137a31d31a4b0a4e4cd7635f3d7a33070565f8c556dfee14e511d79bceba8ea377b9b734f475d1aab3d15b428f345070cb648501ff7d43e8bc5cd16ed921fcee83d42135ba54d61d6eb66f11efa988c6e7085f99d7290054039658e3d612001fde0bc10da7d8e1d6024b24f5c07152b725255a4fa015f28dd91c06902bb8351c2b4ea4d80da8210fd18df0240bce863321742a816772105c7e4f85b24886b25872b1b63f31fcbf290a58b046d41d685cee691da5072be7626b503680860729672b0126b5e6a924a9234834b248abc8105c6b9fd02eb71d3f66186050b79a4080ae1b1f331473cd4129e512012824540a26d231382123d06cd26a6a5a8f193abd1495d6ca5a43b6f3cd0f91e2f802cbb0c1f7b8664da13dc3124d21b865cb603d6e68ec693f2f304af05ab96619d519034b70d86b2794d459cf0f4ab09f6dd59154e77560a4e36c6db25f5792df6e6f4575438658c1372e8daa826fba5ae8a742376d391e4f0e281f9a4dc1af11ae2f183e17ab87305004ed0bda408e300c68c0a7b3ef87506f6519f188a0fe6f2d31f66f1a9f213efb58841ab92257285b1d97693f2a3936d676514357121d825aab105180fdbbbc313c8f3aceff7f2135c051372568d93ff00577c6abe956e313f1f373a9fc78de648e21cd40eeda1fe2b89fb0742870e641589159a14461df28667eeda98ce7ea44e3ad8f3073429edd1c0feee6a1b83f397d9de352bb20a3fe3c8dd18f91e2c0d096512cf86b31e7d9c5da26c7a1d8755143e9c5d8459c7111bf85eca199c1fc4b935a96e177bd2975da47510990012adf203ac626793e98a65114f2b067a0b3a4c6803c1bf767612bb496a401aea944c2a31335b2a6a71450a35ec28019dc7095a4a18b766f9a43d737cef9990a3f153aff7ad7641c8708d135fbc65e909141ca9022580d35d9f71e5f226f9af66820ff3167b1c8fabf837679c3febf08c5baad08b7ed63fe18d92dd00f2dcc8328465994cd2abee61f6cdb896f7a0afd35067bc759e05575a72aa5955b4a6d0956c4b1dcddd0e37760432c7af17aaacb2f3eb04c5db0ea2328007d889a98969feb12faf296a7f3ce00ffe821ffa461cf6de1bd0c7fed94847c655dab7a545f55ac77aa9a09ea5c7121626a15e048c56ccc837fd62423bd31952c7647930c9ba39db51455ada1320165e342bc4e94d1bbe4d56f9954b91903672e3421795ba18faba6bc45c85d1e8b2f580f1755426c62022f66d9a1d5650b9081dd4c9b6d084d64d46c19e0c5b8c4848caa7391dab80b1a9d3bbc02836d5104473f6b85abe1be498ee7af6c737181721fceb8bf8f00dab63c0a67a890efb404f8d9603b9f5fe6a542c8f7e4229882d25721b7e0eac77f0e2453987e253f5e00c52b737b81b6ab02060427027e654ca14e49edbbb8301c33982c04b0f340961ea09804ec6dce885f24d52c181234c10dcf529e0a51e007679522951a35a43cd126814351c5e7674e960903bbae18db11db6ecebbbe12dddc8325f52920bf3adf9191ff07585a625f99d22780c5162ddaa8f1fb1fd4d33291d621e1b4f8b949c57262c255192b416717c8b5992fc53015633a2450b4062801a120289206d3800266ae13e8d26785902d8755a013eac3acf8be072a8dcc71122d02407e6db28f53525a04c519e6fed70494e7d3b325e1aad09ac8017aeb40b8315929362e4a440275b6c2ec5e4a6989c28ac19f28217599adc84e65809b98ec2212fd3dc72d6f541227e4eef07e544a55998e5bf163dbdbff253544798f00a606f31421b4fb00645c1e94ba809797e2252a54140bcf777542d4f695016b1030c1851356e2f630cf31b19f5376c0fcfe7ae13bff42ca4d949291703e822f9e8df20060c79fc3db65bb1824be36077456e1080d491358e4aa7293ce41833e7f4fc60152ed9389064e9f0c1df2769b992c0a089a43467340f4a084edd58450ffe815e914a91890ba41cb8e5d24a3185aeb47537673610825ecf6412eacd45d1b43e42e4a7dc3f0887bb6a930df514755da96e549e7af924d7256b30c5a3c535f4f79b2136d72dd6a0968835deef1633df00c01ce6fd2c9434aed51b23b5576f94f53fefdd2ed32c1bccd06358493f9ffc5e52ed7228309c04e75fffaa4ae36b50a463a40ff3025b20c1b18ff21b548998be25370fdf85948fea6267f0162e0556396cddc1eb8ad2736222c4dc9eccb301ac3b7923b857f93d6a19c6f241aab077b3216dd55e889c020b8d979d895e9c0a9262a4cdf170c3a6426150bb464bdb9419b2266e7b1c777ed1e6a42b0d1c439eac8f2f74c5cc64bbccadcfdba68b864ecd8c6e7a8458df07e9aeb228c4a8402734e54e7143b27084477d28e036d4b395ddcf1b052f3f8c1c62bb555818d97657b56e66370abe01e985bb5229654cbf6c7c3bc6820bd620b76221bdd6beedd065a5bc4626a7f19dc5d475575da8a364e9b76f0d2bdba035481e673035b6a470de460d3d2dd91eafa2c90f7519f4928c65b9d5d8f69ddd4ea86f3d4941727fca197b66a418ebf53bf68c8a99d38445d4feee93fbe90edaeefcfbc1c5ce5f9922e90c044108f75ef7d7ed42c016b26e8f29c47b49415e3a6543292be18715f13c201f1e0b3637dfdfe5ed6c8a64b09f811cd9a57bd2ab61cb2a42bdd6a28572f8953000130fa23ac72f41006cbec5d5ead1863ad701557a18195f3f3522502955df08c0f6b5647ac20e96f04e3a1a8722c5c6ecaa69847fb965d76c67dbf5d72db39875d72db3f815abf3bff61ec6125b2cbde6165b16b5f75e5badb2f5da4b2cd9c49e7b6c59cad63baef59eb5af84e880b5f319ec7a3daf94d395b7ba0e8f5941deec93c80f2c24c3ca674c0d61e28af904256376173e2f1560a1dee4b39c480dcfaaf61d65c493810a969139f7d4630b259454734d2555d072cf2db5503061634a19652061ca09649450ce2924904082296794410229a790512219a718a811576572497de1216598d2d88a7a273f2109eaa220e7aae400dac49322370061ca83b0634fba99e00b7c887c809fd51df508c3af9094d4992ac8f1c5c03a5d66033273af6961d9d2d4560f22af3553415ec14161f0c961b8cff5e0c4ce2d3c6d496f6be0399ecd4b3b346a8fb06df6d003a2cce4d1a09b770b7163f2262c0852e87c4adf0e720a75f56c3deb6e3932face74dfdd3995e2f350a27a159f28bdb2efb626262bbf0dd022f120cff29196753c8abdebb1e2b362c71e118d0a01c6dcd770c119b1383aa897cbe95261de75c84588a9beb08053664bdeb964af99fe3c0394be179650f6094b10861e265c35c903e20e1af95e18798c5ada842ca033af7715ead38bd778b06b8938ad65ccf80af5b66693b2ac63303f837d39e3dd5f5f1ebe0bf1f92200ce544f9f55ab430ee4c6610379aeb2ac0397201c195dd86c2bd545b03ce84d851b9e4de03ab53a59284fb17d6f3cbe37c962a982bcd8ae49d4ea9ed5502f0755f25805d0988805eaddc767b59453663f4184ffd528642b59ff66dcd3020bb5e1a763bda225493a44395afcb9f2a0bee0dc7816bc48d8ae2879022dc787d52e2ece3f493a2cf102078cf1e8bf7b601e5075d57dfe90bccaf7483bd483fa695801be9f1c0f8c191f41aeb97fc588b26707322f57971000c7e0ae6d097da2d8abc9b0e9f9865c7667ff2f349020c73ee00802e376439cc4ec11e4b29e79e14d8c498739125637cafcb82bced54cf43e96c55a36992ea9a453e12577820e4900f4846afe494ca8bb0b9ce00300441d62cd392046bbe569b68ffaaf53e519cd7b5cb3ae057fe382cf739ec135971f1f813fc7e7846fd476a638439afb45fcbe7de00ebf2b68f10ee2d2cec31e8d2fa4f2b15502815f174ea06aeb046d16fd5877207c4a29496377f1ec73ae5d9cab9873ded11e0ca6bd4e8656ec9675d425e06d40db4ef867ab33d5b21a3f62cb1df172010d0e41946bdc7d33a0b30a371f7a65c02c97d37e3a05cbe6e33af59513bd089daec824e504ac576cc81ec0ea937d7b0248ddb0dd6e6aa6266066c9f18c3441edd956cc997fa6282c9c4fbd36608673025217d897fd40fa15ac07b62790fa60a50a72c0ea3b4bb61f48ad59927d4089df8001331fdd260337ebe73ce4a75361203e748a40339d23505db0669f03d2c1df42892105aae92b263013340c7b5ced78eda6c2cc5af895e970c33245fd339d14ba54ac0bee62a44ea10a96f59058c3c8193b70e31aa7ce8a91827de430d5e0f4974f5f707185d8698aadab8f71c1b5b988ec9d729b349cf654a2aad327e65cfcdb09ffbb4794ad3685668176f3c8879df07bfe2ddb601b85c0f97d1969dba051fffb54716c4cc2cf6fc9d012e7980c5a932a1f6b7cf2a1ce5f5f32fe3987539bdb6f84e48e3b0b6e541eabd53285679ede0d3d4d7845b765f833f24d45e876ebb8dcccaaedd2f5657e0dc264d52a836c049c3a60be3f51dd4d7ed80d5bff1ee2cef51ae1e7b64926f561b23c708b2db090014855f17effcf139c498f6d362916a489889ff044512757e3475fc0bad7c350fc4f2193ecc03f14be5986c107f3c7081deca8624769cd746128f8964d69bb2abcd9bdbde78704164f2270758892370a2a967fe7c5dad19f655689953cee86e123ba7da36ccd50918798a45767580d0e8331b12b68d6cf6d6c4dbd06df612e979ddc808b4ff50c2f109007caa49f60478665a28f6f6a994b6540ea3470c7e7985f7e354023e53b16a9398943a4ec4cffd45c1c101f9e89630b34fa68a33982d40a2d941e6d7d5cc02de0c80b67ce12682364c18a68c2a83f7af4511dfe84df838b0865a2586ba9bfdb8d94e59992653e51ef1f26eed1acdc177af7f264dc98f3c76c3f291b2a3ea8372edbaa4220d636494c1157dc35855a7357c0919b74d0d155eec25b2e536624f7aa40101dcf93dbd46c05b7b9a3b8d380cd70ed15a579852dcba92704e6bef558655b41ca7e22950e5660177a150f64dd76168bc141d391ce345f4e4b12f7fbd0124c30975bb80eaa2b836bd91591ce78bf58ed32bfd5c721d858eeb1fefa54e20dcc1df6f1c41f14ff192d29db538f0567c56a184ac2e85afc411c028b3fdb749d077861cd7af87e8ad6dec0401607b69f557a6ec8732fb485555099f6f11888e59dc8415ff965eb93221e9b547776e0016130ceff2dbefea741f9cc4cf37e5a196ed27df6f7ff84ebfa17037fa7ba25bdb2a1b7ac57ada77d9274752e3bc300bc4abc50e5af020f142e13aa932742e6d63a864cf01ff37056ecf298cce7ade80b51e7cd232f76b26b176e6721038b9de23376ff3be9c59ab9dba245b4cdab34bb5ae00689c8636dd5d20b3832c95c206e619263df4987fa13501b82d9485b18e6294afe2bf140dba223dc1e983638d45681a915468548b74994e67690049a4ad56aaa0bb74a5b7983e1470b5fe2d330222258d0d4f07df6c7ab435515cc3913e9ae3a683e380c0675e24e80ab184d5abe528698aea6085fc1211c673d2fc3281c7aaf53464d6b48ba1220f09ae1e59cb70566c77d3926b513ec52ff1412db103a0e6338cdb52d5678768971ac1b7508aede33f221363b249d0ec12caf63a73a9f836f8258015eb12383227c49082b247d842a0586eff1b6d64bffd97375c7e0d718b4054eb1b85579497926168d63183320814eab00fa7710d728c894a3a3bb51ab20a121446d68d50037974b0440a32b0218ab6077423b90217c96a37fda13654f35c3723f9e86667a50b600c47180d35e3b7d01377226b44d335f1bb8e7a67b05bc878047b0855c672086e45bac851872b4b084c512a47ec499c7ca26c5df58152db04ea850ca5a6f5dde9755217c9203069a35855905c254a491f6434409010bc8205069123b80a3bc32f8c30871f982aa623dc5759ef2f0acffee7caeee71d715c3d16f10e504e0fa52eb8d207dee84e622eca95953892de34715a8b87fd3577e91455e1dd5521a453b5b086f0ce90651a06a9b8e02fcaa3892ff136e243ba04afc306eb3f61a90a937b9537175e9cfc20e8fa26346226e954c8d817039bc6f460fd7d7b1679dcf9ea5bc3db2a6ddb18e469b52445ca150df8f432da813dd8ee20d56b4833b0ecf2c4c93d1bfbfa8843854fbd66f09f795802505d4312e74dea93dcdcceed15218d014d84c686d8e28eca031970704289deed7a5e18148f9eff6bae80e071d1aa6a3f379a3e284777ce3185803bd3a7aa0339b75b96cbe9a967a34ab03491dfbf0b61274b36708bacab5156b69b0a7ad5dd3c64d662918787a38a644483c79f408e23998f6f2a0ae096538933e0b7672047e0d8d6ba6afe1eb72da65716cb9bca58e2736ec26c2644423fcfde01e11d49f9ccd3555f04117e425c0cebd5f22bf0d3e57ab97a5674999d48df357a72fda52d56e26da4e292a37b32d27ca4d449d048b0f89449bb589792aca1f11fa6237d11afec8f02096bbf93bc641a49351636d5b91de8847a084daa03115f54d345076c86ebe51dc22a708078af3480b4daa7527f4d00bbad00d2f1dbc19f58bb6ff6435d3240789fb216ab4d58887fe5953b7d4fe3b8ef4363a8c9365a63b28fa150cac50fd3c9d13342f8afbef17628c931d45fece3b76e84096b095cd9f388a4c277e4d3f3ad43b884bfdb821ca09230b5a58720bb7255425155b9e2c7d52a9744d1fe5952f0b056ab8bd4cc7462130f7e9e20a7296f52261a0baa7b08daabed6228f2496f1064f4493ab052a3d2c57a4a9f726d3813f449b7702c521a048e24f5e9046e35810d9f2217457bafbb12237f9d6cde9f1f89101e7ba7b54feb595e9caea3ae84e023dcefb30c438970f9ba7b2d51c779f49f2479d618553c36dadc729f33135b6f300ee3d9a607ae9d3370185e534c1db5eea8000b42e0d72f61f7b54008bbf9ee69c9b1ee91cef8ffac35cb720bbd2c86a468dc315bfc98a9832444177c4c9256fab9365da728861e43fea6fa1d0cb2ef2294e86be91c0a54b080508fdb39a3a105049d4b0dcd87e6cb734b104567b5093be5b45be596ad58d821c12c73088204e6111d4aad5a7c130367d6b1711e65a1e5168c4dd4ad56939f3b99950fa36a253b9e5983c782ef0bd39f3117d5ce28de2703a0ab5a128e8ca10e014c4882dc68952cca1ffc963a5c6bfe55947171bf09bc4a2fdac3a5e7f3c44e1895e96e5110045a0e33f88cebe43dd376f5d585a86b597b4515c35ded53352fc76b51f1501ec88b41b8553ab4b586ad628214760af9dbbe42923617968bcf0c8dfaad9d6cc429dbf46425e6239c8b372adbd64965d57ba36724e2686eb1ee2f77c92f30bd01508e99ff89ffb04ca92cdaa63366ba0d6aabd158f7c645f22f252675e6f4434f325a1f141241c5852f480c2b36015bfeaf64dd93dd6f0c0a82c7f0aae8193d75619a3fca8c7c7a7e0201a474e1336ddf6e37131dfde0c4e1485165aa5056096925d3a82428a971d412f934590f462c06bd68c454cc6fd241af8d7f823a8c494bad009c9af03ea874aababc2d0c457bf42bdeaf8e8ac253d4d4f87c188baf5115dc36060525fdeb612d675e209848435b92cbd032515c77f734b21361fbf3a250b530d9425f8d29220609e30a58b0406c718191f37181eb25d30f6f915787893af636582f840c3bba089c27981a9b6cf77ccb7aafcaf832b0fbd93c41266063bb8047e034cfe81c1d9cd3d2cba4c7b0672cd37d69747cbfa7a7d0ed0fa9c43b02e016739824d111248b702159c98a2b39d837d2b644b86dfe5fbacac16010c9a275509b67ee8499a87cc6919fdb4400492a32dfd8b81918e9433818d23bc0febeb5f2e750327392c445730108e66f692ab4ec4c01d4935652b2b148a3945cd290abcaaf5e983513c76eba030dc9a404f3b9d9c18ff9cdca0c1b83baf46bb1ca629635b650215c9d80401068870249a456a3509465ac05e2e9423004ebe4130e1260e3016f5932e6723ecda6265c32eb9b1615d54576bab9281cb696c33704043d1eff2a1c2cf9b112abe8dea1f043f21d7cd8811fa62284b54509fcb88db47795aa1276cf403077eb54469ebe017a414f5a58693565f0066592a6500f309d510865db611609e98d91674a29baa55a2e164a1e75b33df0c0cf1f224d0227dc548968a5a8cad0f8a052dc8cea930e5805e15d0275168de65508457025748068974e40d5385dee72b9222828c72406389fad6ce21599d9fb8a8bc9173230a681ee5c4f06d93f9df92ccfb5b251ecafcb29c362505f214d2cfc554f0de54b9cf1f4315a62a487aea9e8d457b970148ab7b000cd552104bb7139ff91b3da89f69ce04cd1f0d1d3b62733e771edb81c402996b99a22a80138b6c3ab0ff3fef099d4c1c20b9ec840790cc1024d7cdba03dec4b64acbe77ca77522f2eed3e10cfb75e5a84d6bd53eb884051037c3ede636081fb4c0ae7dd89f1f0393a0ead60df3c8ee4066b4101ff4dc04c0d847a09f3c10718d0709aaf73fee6dbd95f5933ed3a33bd745b20ee6f030a90d5bb0408adb0de9ac9df84d64e436d65aca4085f2b8825a47f9c1bb29b35bec37a7928bcef34c19b96dd1946dbc140952004a0ad320af1235c7791863a49dddc291475f4801721ece81ff4c9973aa951ab3d58017a86b20a9e5be4ab27d6501df19b87492b6aa0c9452ce9c6051edaaff79a7c291ef026c1986efaed67a3324ece616866113dad467a06d8f8b2914a045053a678f76f5b4b5d8b7711ab496ff85181b86d6dac51b1c2e5a6979b893ce29cb0c9f05b4c47d14ba973669b0c8e64a8039cc723e2efc4616ac2f1633025542011702a82ec898ddcae9c83d770542487b652fb398ee5e015554670ff734fdbb5bbc191aa48bcc84664c1a6694078e6f0089f8a23d2f1ab2018c152796f860105d6224a94862698e4a01057640dae3d7d7cd70179402f898a212692f8667e570f59803c2128ba9aaa3a5b4c369b03c669206984fec847e3b6f45f54e97a6e6803011cd819285352749c0a1568b260109200c2d4b82dc164906a256fbc3c33dc7bc0c7c3adc16a77986794421ddd37738e638805ca8e0bac33ffc4e7e56599d428c8c6efc2b3c1c7488f3b9389680773dd2a7014fc729261c04408de8e339c01d8a557b569545575fd54bb2bc8f886f433d3a7cf20dd8e9400c3a4f26efa2087a428c56c786378c94e16ac61e2f0a97968ea4082e581a7415455386275a4bb7d40743307621c73d03826087aefd8927072247e6a1084d6ad884f0d3656614f0f89188f39f51ef500a76cb56bd10f22d21807a042f5199813a583c9f069ce04c7513a9748e504936a00e8f15112edfd1012a632b77d86287eb154765c148f7b0d23622c9bc0469f5384c80aebb96ea5e91905cdf22c2206bf6d93f62d87f79a7a6c2eb044ab6259fe0003239c2d2be9b03c45837ff8a5b0c77b6e9f62014642ac9048c38385fb678d3d1152f395e13692ee583d48e8abd9cd7fd00062f384d9a3c18a3baf4f46f2f6fe08ad14d86ad36d7b24b1d93354a97c63ff46598b3b96576e64346cfa6cd3d5bd303e1b066b30c6f13d608ecdd834268e858bee4e4f899d6079f89d4f27ea7ab889704f29e834eda67b775075f3514a708e4e08b845e89f7718b5d2f1c4cf25e28ff919ddf4451c0f13020e574ff1b3a9373543fb833ad2d514a7284f3e522171912db63da5297dd1e05dcf68232dd2341b6753da06e6a58875cf87b1c3d30337e1d0a44af9bdc5395f6ad29a2f79464efb87a6f72740c6d3e36c5f048ba258bfe93e29e38e0d30ce7d5c3a7829e3f736177d56b80e2f89c285b3e64c8945563e0f039b936b48a567522e6dafb092ede30c8b06fde3dc540841d08288761ba28ca9b4b86b0d2f289ce91350eca19c6a9b0685cf3dc488c02621ca92f46656b7330333180c9682c81beedad99afbc4740feab7fa4a38e06afe029e49bf62d29b59f76b85b6126931a174d7594f1d11a66d1a953c4292549017824a1362a9c00cdd7f1e160873220d62e561b0e27ad4ba8bd356ef203b642b1b204cc963e19409f452f7b09789ea805d5b7cdbdbad40abdb45fd2d80ce2aeb47ee5aa8a923d9809036e6e792cf900c4144afab35dc9cf11092fc23e1a61472034c530d5d761821c6772093bcb65b99cbd4de28ce8f2aab6aa88ce8e7e1a82bf9768ebfc1e804c04659ec26e585b3cb48b33ed70d2405c2e27ed6cecc24035fb5a53ecccafdbb1e38054a67f247893e01049e2fa7e5cd6fda5d9b5114a6edf03a958e0636919d625882c4c0825bd17ac9104f30a5fae38469c4429db93b9f04864ce0020ab526b42552220551dfec5f7e1640916eda429629d5aa8967276bd990fa7896285344b4ff67f02b7ad629f50f64715bfedee435f4822e42556a409fc5ba518689e36175a450d97d62ed0c65e2fb566b27e81e250989d25093f8245148d32594e68205dd9c01ce910e522b8a4c0830f52aa2fd003d0166aa15021e242e5cde488b01497c8c1934a7c81baac1a827e27384460ffe30ada3e400e4e611f3f02e28797d869908acad21d7644333ad7e83d0219f8735c0a65333271adff097416406ea2ee909f8fd7910d5cf1f4013a48b45eaaa122d0da5f8b4067b9684c019de869ed6b41768bb81964f742377a9c2429c85d25bf30ace5e087b94091a160205002d920a375840905cc338f1307c174c8f3f2ccd64b265a6a63e8b7ff3d024e03bae7a4513f4957aeb4530c02553fea1dcc974401b40a54d2135c0d0a024d14c46248417e40f5095a0d7e9431ff73fc62e1e2be1f62c7f7995ed9082a4bb7b603aa2efe892f7bf3da80436f4ccec7019daf9df83b07fc08cadb860289c9900d0509db4eb2b40c1a514ef4102ba29c3a049664afc68118d8141bb01bb01e5745e7f054f170912942da2160f9f73d8d4300d1bfd05ad72fc92119be169f670b92c52be78244c4ce5a5b9a067e6ec0c945962dc4198f678392e86432e7eb14a9bdd6ba763fc2cf9050e92c36b798a537c9466d0c18723a11c85873d81659efb19639eb9bf8095e92842294207f72d5383caf28a8bdd731670f1adc6e29f381fb1c49308364b5769fa997d29c2868b29fc21dea536393880898f18e4a5bc21274e27da2add5cfc8401c025bcad966f188e632876cee0a254421a78840808152ed40b7a14e6de6fb885e00af6efb0735b4d47b7bb7f12033b9f392656d15040021f8cda2941a2d641de7422259d4eccf7538982ef53ec6bd30b4ec21f9cb142453adc77cd4cbf60caf3b89dc18214b5d3dc947c2ef97a956d5f94de754738bab61150a7080708c437a976d0e625ccd8be076fbb8092b390acf0e2eb18da138ba760dc7db536f15cb3ec0171ddb86c9eff9841b44c94b368c44bc9716d5c10dc4f7c5a9a1101a515a8c5cc02b7e50dd035d02db778d23b2f5eaaf0c4dca9be178c03e8667161a60589ee72300d8d73efa99af816ef0e783d1a90623c5c3842e4ab78be3c5721151ee0b77960c01f8732e0fc705047027863975302e91059207fe0e1e407d0d794f11be9e1771581b94bc3e4634191b087c85535aaa3b9c16ff5ed4a63c95d80e4bcb374291aafcc350635a058246c0f95b1118403c813f3c2bb90acd51d2f2d020e2184fc31a1aac9be04388bdaf03ac391fbf502928faf683e574206a8918345735c5b283586666a2d94e15b5c7e83936d4d995b16e6e1b99d45b2f1503f8176817f1d569583bbd65402c8342988801a9cab76200b55dbcb592c98697dc419a39253024d66964fdcdc1e5c2f2fe56a957af68d28e2d3de36f4cf0d761fa9c5d7340c391fc2e49f4ecf865eaa2a7789feb0acf59c0abfaa0c7fa01169a9f9f45fac67c88949242b68ba1623b4a5e318218485c759897f014b8a5bb18176b823b0295a7de84b8508bad9947a495fd927c271ef152649b86d4111648dd79f1b926f600153435ce67e1d435286a981d0bc7c0b14c39f3b0b704bdc6e01c3d76ebc6048ae9ea7f3d6227213629a42849d5defa6697e9b68d9a2b64f5cd2e839bc68a2c583b4bcff6879cb56b1f5f770cd80e81d4ddeef1bf76c19ad240b11eed03eb7dc68b2fb2ac61db387575e7e596be7ce9aef488add0986d21e479ba3beddc8b5ae6db39668c49961899fece8c91794471afb8c1706c0914e374c4d81c28fd3e4fc7cde43ed498a86e88d651050438450fb9e24fee8fa1d83399a4dc29f4492f92be3a090590fc40f6d328cca0a6e0c608b2b6d1b23fc5acc6a90c6ccef6a2bc65c9bd946bdf248fda928d94602c84c5487e58c8908a8ff1635e5d6ff9fd648aa97decfcf0b56e2d1074cd355ea926699a2bd9862b3b5799e396a935624b5f3b6b96450501f1ce9ee1886fedac19a08fc895a45efa007e522dbdd2f47884bb881b811eafb2a69bd291f5dd0c993252a05ccf185f7281255c82d5d4a8e86c6317cde368a1a25e1d241402664423816bb0e572c716055f71745ca89dec38c19e3ca2e12b4835a86ec93859719a2b2edf19f814ce6a4bf469c648b33c2c8d8643f51b3a4f4229e2b8945a7f09456a85af75d51f1f66aa1902662accd440a4980abe5516c641c00aec8e8d2d202609bd3c3d66f101cd1a04b85799cb38649ed5ece002d89504210f67bf5f3485815cccecfc9bd3e39224603b2643ab1549a9fe372cb38c063f386ebdadd778c831f1b364ce122943a190e6bf4d489646f6c4ff382202233e83b52d3c815bfad4285337506478c8548c4d0f160ba61f283b639b3f9e50d846afb1389c4d5679a167b706c1e6ce6973dc3eb0b9609f9f5081b9b62a3cca1ce3e76a9b7e8711aa31fa330e0d69e80ed4712e98a46490d2bad4616815339c48cd7bd99a429778cf83b3ea2a26b471745d0fa097c2df02ff543c2e26d821eef73f865542844b17373ea8dca5f279fef11be474937b16137512e4de09424e824df5fc058d2fd0f4053f42f0d7a194356776bff0f5c36a639a5a1ccd484b9036859702a517301763aacdd8d96fac8b1bc25e8d84951315973d2edfa1a6a2e3b743fc1d081f077aa6890da2a3689ffe82152478481f34953278ae40de5f0deebb296fa125f72ea86b09ae4c0140991ed8c74446f1db174413af8b25834b3200f61a19a8fe3c5ab4793aa9bab10eb559d0bd5001a82c88573a30a0215b779918298d22ad17b7f2a5b39416d0fc35c10b2c79e7670d6975e9168de23e278742cb66ac49494bd908fc041c887dd7195f653525ba0edeade049bd66dba51af4e21957150cbc8210c47499d6d5b35bbd9217fb7f960fece8f9f0e47985f67011c7991cf3dde603409a09c0ab4c04e0d27e794b8ee22cdef0c741f36654361387d09b3b2455f40a2bb5a06eded29426a4cf1cb6bd4cbdc41f64a6ba29488d22cd8acf7543c4b8e841048d8bdd82e909de28443a37ad9e915058a230dc09628d833d7f78a25b63181d9f34d8cff59f7d60212f11a3ae0a6ce32552a96ee94727a1b41f1d0492bb2f98c726e6fbcce1deb560b56b0b5479b7bda7fe9aeb65daadeb7e5d9b700b212d123eb7ca9b3ff1d190c15c75da671b88bf3456c0e58ba75cede0edd192663bae9492f721f6bd7fa099f52b6e303a3a8ba435ef545609e97f6b9456d813c0d0c25a45ef1dae06b9660bfbf12b3730d6b8cc639824cd2b3d99d143cc8aa2c116e3bbf998ba2a7c4e78e1a540f5f407ad36503946e94274ca39ac9cc4bcf6ed1c2566a69ed5071f01fc08805b36bb4e7df20f03cdd103876e2a02a2112925317e3cac6c953c19c855b853f0cbfc2600dfcd4149eb704696a8b84cbe4400a13f76a77026f7a6967fed24d36881d278604076920fd2f1ff7ca4352e32c9813891311b0b8ea7bd3d3a1b4da6dfebd91c186f6f59b0616acdaf05377c203c5207abbecaffff751aa1ee49d299a5e8b83455e62c5ea6e6adbc1af5b8ddbe394ab64927f29b877d057fe9abc694a641e1974b916c536a82b737205a93f32f426780c85d81e0375b14aedd72ea4d7174d7f814f99b54ff1bb3aca1bfd1354d070d07a9d6ce0ff0bc2c5af1fefa86255d2a6c3e3ef9ca4f4e4e54c2b06036693659571257f86042a538afa4c2e7ba842f6215e0b69c45092289bb7d074514a9fe52f3cb4ad7fd84e5d3813b30e9e0826423b548789d5aba9a5026c2c78543ecf94d4186af786b4eb7cd7c1acbe51e7db8f2c2e3052787d1ff4a04dfd8dd99f98df0a078f99e4f0254d64bdff5697ea5c5bcd378e26326b22e04e86b8852407963e77e8b0c2366f0e7c355ffe9a154d34622ada138e2028174f69f23bea0477cdb73b9971740cb56b7dd827237f7cddda66e98e1f7930615bfcb4e357f959603ee2ee44aa60d61fed9166b0c3bb0d2f7fb591cdd379c7a2824f67eba0bb253196bd05a667eae698cf642f6ade859f1751f2db3d043889aee7ca91147db0a5409451abe688c3f084e429118451b577d5e206cdfaa1de109dd24487ad54e520077ea6f22f99c45bdb4981db4bb4be9b6f628426aea12953619ba446035a0ad09328b02d0eb2b20d1ab83fc9e611a039dabe196f7a06b054ce5586f68a17bda9ca149ca91e56bc8ad64d5c92d8bb63d26bd27344a104f12c2c6f62a1d68fca1623e102ce4e2d62ab657054a26c1d75e158932d434c0a337be423ac26c77fbd04f8391d26716cae3d0fb9eb61dddd50153baab954dafcf4b9dbbfa92394bbf2c4a997c6e5a09a92c3b912989801c1e9d184bfb14c6e391c59b977df8b41c2ff3ce745f69f1a64e55d15db1bdb8c795a6a182a61e6ddddaeb26c02750a7fe662f1dfc2bd293b106ed06b4378fdb2f5a130314818160efc5a0deca5d29dc2a04005758b02a8902b25128313a799dd1bb5d06f5415380034fedb279f51be806663895c01ad172730bed25c77745ac30f1f4d930a7b26621a72281d7fa4c8b29a5fd939a55561782c8f4806c6a69b7262cc92031ee528621a46018afb49635c009b306a46ef164c5a901f48cee43188a36b68c991b53312bb4c52a574480815a9e397244f9f43f5df62d08a326ae7f7b12f9333f98c1d5d43cb878a795cb94b6ea3b13f67833b0405e3b5084eea3c5b574d0352898204fbea3aa3fe96c69878199d4f1e993a319d7e8e8fe59d9d6d1bc2d9f11148270ef1edef87cc030688381d1def2cbfd6d600a8b58b46a61e3548ad296df24bb2b338a1da38b2cc2c5f292c642ce2cfd877f267419d250e667562964984fd402b9419f40329a85cf4e5475341c9eda49c9d318d106b545d25c6a090b663eb536c02021fbcf6c50b30bf2d8256714cf9169619da86db2d76e8dfcdc38f50cb4f6fd91ba45857e7b81608d3a11b285e4be53c5020d37d0a7fbfe9cd413380168bd438e73ee6f6520b246de8a4bed7d6f446ba2885c0706c3902ce3fb810adddd79de8a0fcd08e73a830d115f353da9c4f6ef8af9400a03a4ec8fb082e404d85069fccb5817bb8df7e6ae533fef50dc7f8a1cc1f12381b5fe76f1cdfba01c6f2efc5566b003fe146a5075ecf08afdd78386ee32f06e6dbd6bad4ee031f8b6e51b2500aa15c26ed3955b0dd0f1292a20f7cbe9360e58a7b99c4e0b888cf2286df829d806277bd53b75f2aaa869f720f52b462e9fcf0f695cc385611d03fea98bcbce66554b6641de81046a368d801bf3770af55594260b721a21c87ce593230feb9205e902d8878f830a0f9a4553a1abdd22d8478200e2e750fa3ffc65060679bf432e38fcbb3551c51ea62965d9198eddc2aa99853db6583cbeaeebf896d56c22a2a19bb8bdc4f2f6578e6120f46ade1d470ba29e1ab247ccf14d9e1138e8798bca1b30ad80e190ab3bb876f52551a0b923cf518d5dbfe29e345c2a2abb7d5d4c2573f8dcf33b4abd71c75d3dc832d21e85b4592621694fd7830315eb82624053aca39d31a014bba0c68246f7b56e75e74c27ed09ac4791d65a27ee996827f0dbcd1f9e62207c074a4b8fc901e7bcca511689f6f2544f556074e3832b3d34aa9b7c6c053c21a49dc68c6d78ef998099c933a8d46358956152f574d4762c67fb9304fa69637107eb754db776e3fdf1c63d045f58d168b6527bc9384ede06b5f91690d7e128ef7323684ea3f8163da4dcca2fa1a091cf2f495b2caf2f2d06987f807f004aadce83a1253f4fc50cbac19a5695e2fb34be0f65fc283b47a9b63409a6f53711b2f7ecee5f7b0a3da4e7ad3ae21cabc820cf50bd5c884a567b3650db39d9e240d8ea4bf89d92bbb4362495bcf2f1f6a37af90754522625eee49fda8466522f1051a05471677b235596b9978acff68377ba8bf7cd8d2fb2204fe70ae0ad41799c89eabb62ffa1e9232d181b86907d38e3cdcf42f9726b91e16fb5c74b35a29ac5bce0dd06f54273a233127215e9593ca006b419c2e18bab65b6301744f760e734a304972da1ce5ac468506dbeb0442d3edb64e2103cbe9cf1d3317aa41e5990d2fbab9ebc8ff62a4b8503af97607b890763fc9c2f5fc26f325a024fcb796b754670c671329179ea13c8acee0dece95a2997fa92d37a6ff0566e1588dcf2c808af33151c8b66f8400af52b722bb76594ce63dce79222e911f62bc970c692cc7a2cc968cb928cea2cc924d2924c5a2dc900d7928c8f2dc9386e49a69092c400001479c8b36fbfe226f2051701476ce2640a61494a30f1deb0b9c43450c25fdfbb1a4237520823aed024a84ca4acae930982b769624a3f134192e61c9a9c318014acb38a6ea9632a6a8d9478ad60bd7a41f1958a29c910b82413e2928c964b328b2ec95ced928c0a2fc964f4922c31b49d470050d971b9df4a8649425a1008c1ef73866393b500d33fa43a5e84786e21b891b6755170e5414ebdc5a83bb09c7a7af614aeec1c0d3c8fb7691aa30d31b357eb1a5823b2bb8b544e02eec5d1e3ac0ca171931c3406a725bf88825545d3efe36f11e363e01cdcc07ad673c0cc1ccf162e3e4509a65818af4a4e5a89a6cb715a85795571c5252b77448c05995655bbd5caa0b0a2ef1f104fad9047a16cb52aa9034841c3ce8ddbf932512282d855e25bf2a14409c8afa7a53ab6a31e617bb27d00cbef0e09d5f2d300c38c484900597fb3f6180487f2dc8d066c191571cc3c215aa1c9a9846dcdd4a3e3ec131e0f0c28dd7a84afab50a7c40a9c7d0be9b384bb0ae9ecdf336073e13c46aa941e52ff76630df6e2af18a84e991071d6d7582b6ca99b8693577378a9cc652e0fad8f4d48102f84d05c56c5e950747581d47ee2ba4e7e63d214a7e06dcec7bb6e2dd14aae4fdfca68bac080438d7cd05875dbb80a2d69903a6143c591692d095c8e280cf0b9be8af89f7c511d90e53a38f9ffe9ca3d0c467d78e599f4750e1f903b90f59696c56cef072ef88f58d9f45e63cb803d132890fd5543776be98841464ebb4fd2af544a239a489eb588e4c2dc4284cdfb1f249f17b87c8a657e2490cbef0d019bdd9233d97b6e2e73315a364f51c5474550a72b39f1e938997fe19e9f9eb809e1e9b855e5911805ee0b27210e729aa18cbb5c47a3270b43cd2afce761791c4f4c42e64541617a1e03dded68af8c47ff335b78cff27698813d3118ea7c2d69b848d6f655de3579597ca4bc6c8fd0d4dc1d31a5af97de4996def88e088744dcf597f929c25f2c6b84a649a7405c82b2968bb4db9b35b898246bf18f8a9a7e72dc3e63aa94b2a01bf3bd9b91a8a544f746e486144a483dc1d245009fab5b93a4956f0f7fbc9f98bbb9684f0a57bc4b731810c8bab2e1f5e342c0fb5320e892b64aedf68af94742311f43c6aac767e18e394744d3abce713fc05f91a7c7ded85b8f005da1a7f1302ee820d90493710ffae7f0d33fa685fa53d972a7c86bbe4b2050c3e617b8516e5ae1ac99ae251b09f6196605b90cb7474224c5ec4ac48b78e48c536a2e8824d81b987be4e69898eab1ff71e1c0d2ec07b1bb49340205addc16d8e50b86d6e544b374845b1e77848bdb2cb5fd97bfa46e304da0d47df384db67835c2b79aee588a279aa7250ac5945f954c6ff072623126c6497a5b10fee6d93103376749efc0f3f1849373535c9f2f9ef270f45f6526d69aaa4085d7836f68bee584706e57fe8c148aaa9ad86ab2058e40d3c99d0fc9674c30efe62b78b3e1d2943b949485b5ee88e3c0c3b1d5aa0dad752e00db8e6c860fce0bd8954449a07f2e4acf79e292e5bc373e55092c02a8ff517a0d9173e0b6bda62ddb00a0764444270ab273ce31003a766e9dde2c20dc504681d057431af5bd2f7952be37a232095c6e600c7de6af0c0d809dd43fc71c86a197a25adc1a0b642c979f230d1651686d0aa5fdda2a78da511b3229ba18d758edc50978e68b7ff6b753c428f80785361381bdefc59c2093835878acfeec0b5cd8956c3c315b410323973505dc746b302deb0c91018f32994c6d954a81cf0acd8381c010e53e0aef7ff9a8711c298a701449cc01cebf04705edad3881c768a1212366eb96614d124e6dc978db79ad140e53d182e45eab7b2baef68163f15e315f04d1dbbf876ef6ec166c09cbf8598985d130ed790a2175fd242653e3a194ec4d6a5ac6b07122c059d4324218541e61ad49cf10e0a049d8cb9face85a69c2d5a831b59d661f908af648fde4c4468c34ddcba73b08d0f94d428ebc812c2b4a40f4c238aff817ea07f5b30997daa7d874dda2e78dfd151c9f96b90e4e3ead18a57ddcd6067005744bf91d2130e47c0b029a2f01425340dc15758b210f8331fd63a4300917abbc8267cc211e3a7fbfe817ac181658ede08cf4a2e88788a908950bca11bbc4b64bb8148e840cb923d644f3209ddaf841b6fff988c307d99adc7b6fb9b794522629e50ee103f1032304208f5d257924e57456893ed92ff6097bc5edc2b6f9780f106d669765535656d59f949c2afd6e32ade3ce91c2a9d64757a643895c4e8b0be4f386c2beeffd44676f63d2eddef63bbafd926eef5af5da5bbcf1ed3d0de754f7d92e140e6fd5434d33a991b1ec7765bf9c43d1d98c460bcaf1906dd9f6c3bf9faddf5e8ecc8d399e83c1ce0d134572a3e34639ac03981886e1de61186e6b85360b65bd5cadfb726d6dd33631dcdaf63a6796362dce90b7a804b6da506b9cb5d63bd41a6b6da9a6be869bd561678af6cc741070750a6a8db3df4aedba836841331a3a43cf8ef18831c71863cc390677bd5c04a142435f091e4dbd5b2d0d21153faebcd6047296e55c339af5c6e16331873bdde86b8ef1a3f9c9d6bdfdb9d60ad6bab5888e23498260899665498e345ee06258b475d6c121874bdec10923f7d6ea620666510b45a6cb9c51b01b429e134fe1129ba722b02d379840b235ff5334cb38cfff7fc7fd3ce06ccb3d923844417c3e722e863a5b1e4ac87a899a241d4dd9a644ce39ba7d74c62178918ca00e02468ece66345a5050ed6113005f6469f6fdc2a8abc5ea6689ef9328a9c984815205faae78fad81dad2b3bb4d6a8d668d53aeff0b7d63d40dd7f68514b65767670ef10cd61de7b6ff471164b3e9261498e3cc49ba33cb499496f4b19844b1559a860a65e54ef57734389303a4c41a48a23961800469219325ba0a0e2420faea5d658e3b284e9a51cc066e6872763b24831027ac1f99a80140d2132e20585684313164748a4982a1226c9070c51ba50991a034687328cd8584e90f7459217433e54356142a64899251fc4f488ce8841cb00b3f476dab5841060a5e206e6de706e19aaacaa0c24b464c8606473a11abdec2e483af62a2a1cb3491e172bb1ea0a891a992ba0a002228093235f8009e284d518dcccaea9ca14930b9d2fcd162c176e2ee2f7d2e1ac539cac289dc0206fbd7204ab8b5835eed45c3d89f34a3e0698178f6703cd0954ba228cca78020593285cedc8932351700952c615e3173ef6bdf75ebb7fef7487cf4cdfab6faaf55ffdfaead7e9fffdc7f12a924d7a0ddfcf3814474e9619b85e34ac27a7f3030f6807b0d2fe0aa1261dfb0834e91e7dbcd2df42ad1fae16abc592f5defb905992395f462eead4807718bdf7de7ba31b1c10b4c3cc7682eddefd44eb0475735c5fe3bd33bfb89671024ac68ff1e31c3bffc54a7a59231e3fd6af1fb7a2e41b7e60ce1c2174c71378d5156475e917fc0d8217e4d7deaf1a051f0d0a63dc3e463c83ec7664bb4bbd5ae99bd69dc630466bc6b9a2fff8bfd67a7fa83ab48cfb2fcf19bd5ae3bcf7e5ff1b64e0844c67d1f3f8dfa2b65e8cfebdf7fe3ffeff7b6fcf06c1bdd1b3ef0ddaede5a9676bc501794bd26dc45a6b8c7113bf9dc65906297a4683d0962106be0589197eed929c38c5150437d6c0c34be68c0d9e50cd10a6d08abddce2308b42d6da48b1f77d22d42f667c22e1d88675df6ab1067746cbf01e2a3669cb8be88c16a4db91335a10a84ba0a29a15d472a134e85883f21ea7cdaee934e70b75cd684162a8377e700968da9c45eaf7ee1db4e2579ca667cfa3c55252b608b0f22522ac145b9cb0d68814c5bcde5b1dd4ced7b3a8cf5a4dd5c06babadd6ea07556d49b6dadaee3795f325e98876d5d6fba31fb9bb4bfadda66c50443d70f7a16e8a33c87c99764fe1c46aacdc0708c2bde3e3ad43b1fc918218a677cbee488202f704024808ea31829bb5bf84bdf1c677578cebfe126efdfa778ccae2f75358a8489b9f9c72afe526a48a58ad88b588b1c8d37d1029acc5d1defa1864b001071e1cf968e01c875e3f420812ba6c1ab6f883a402e0a338fa1622f97cfca80df56c30e87034a4c38522da6b2ee681a487615996a5dddb0c7b667df82e578b1cd18d53bd1f1db546b9eee10957a361485a12095672424eb95a9c307959d2031864b0285122451231618460d1647ca1c7f232c508e44bf825069e1690c8c042ca53194d8200e30231ac7cd952e4e80b29635c252eacaa462f45a86879a9957784c10baa2daac85c299d75f699f1a0b1f3d53194235a8810d142040ed5dee77824f3eff0e251976049ee22ce47cec7f147cec390731eee6d791eb5ec3cb5aeda8643b8e96341fe3b92e60c03b394bd4e0f48597f8530f61178ba471ffab7dd56eb9034e1eefd3ffe566eda295b4840a342ebf120fa738faffc17bde0dfac53f41933f160aef789470e8c5a2b55ad3566a65ed55ac7080149068080bdfe83b9e15688cae2090c1064bc00a4f5f379423604cf8904850119e261e60cbf40b291e27526f1442c4ea91a8083b8d95d841158763febc845ebb316c53eabbbbadbae77bbd592724c37dfed7db7d7fd79d46d3be7dbc86fe2cd378aa06ee4a24ea7d3e1dbbedd706de35a98d1f785be9d7db070678ded6714cb7835a596e8e08c7865929429624a822449922437569f1fcc2008a2af0e8235dcc17aac37698a63677559699664385631dc3a77310291e9557f21da46fdd353a312aa4ff5cf0765a774d54f5f59aba15a91911d3c9ab8c1354d4d8953b5d74f54fbda0fe91dd2e925aa9dd9a4b99baa01e112587cbe2d4f582b31b503509e59b743a6897d37cb4c13cde450ade63349b22447dd4b332e27e9e8c13746bee5f8bceb3da85bbbfdad76abdd6ab7daad76abdd72edca9272b59a8fc8e6f3e9a67e3adfede6bbf96e7f756ff5bf9f82eaedae5d21df68b4d90c4573ce950550976bb98603e3f3f97c7588852b9d4ed4893a2d8574bbdd6ee21db9a8af185e146badb5be351a1734982a15b62a4abaa6dcce69a9f7c40405a68a4f4a3745d5f4abda55ab7ae5541bea1139e91541d96e4739dd7555d39697fc117331dc3bd422fff1c5a4402bc8763017e93df1166e1574ade51f98e89d76d103e0032f2bc9baf4ba20bd8b510ea9dc0d610302434f2f4081bb920ad43581407ea00b52205216100411a8813b891db47721e3a9a6ca0e11546fc9091d635752359d4fbaa61b20987a0e4bb91ea52f57bf249a285252260e7743ca7204cbe56084a70a5b1118df0b08a2219c306a4de6e58ae789954d0e55bf9a2ea8c0a97c867fad313471fddaa278a31b24991081e3f47ef54143940db599063558d19a30ba5004c18537f171caa168cc1356881061228a22381aa80b0adaf6d69b0d4c94b56e30aac8d30e294bd40c5644613342871d513458f1287909c5acd61905b1b6b8e2a2c49825e79cf3d05644141e85469a744c4b26ff393044970186e8114cd141a00a7c40ac4f5b258b24ad5a2979059496b572a8242acbb22c4b32e5b9017e10d36748714089ebb8b669231a49e334cfd99d10af12d62cd7151401b1f6ee9d245b68af0fc4322beb39ab02211da885034abf93e8a84b525a6af262e7144637f646a8074a39506aa2a509549649a5922ba599b22f4d1d4b7414d085869a3e3a58e2a49269ef6647abfdbb7fc43dbf3ed03b767b0a02093fb6ee68d9d1dead691bb9186e9d9742265da67fbb680559f4d72c1f90814cfbffb3d5d136f5e383a3855e21e554b8c1ea99d9a0c1234bd19da5ae94c3eda12223ae174d8dcd09bb410188f9e8b73249470ed3344dd22451d234cdf27fffa360ec29488154afdd64a1869a1ca8030191a8c6e534d65a6b5da3a396680d447607728c5ae38e2450c2dd4613057a5befe6ebd938ff7dbfd54a7c9e3d97ebfd7bbde3b2ecdcf5a2a9b1c189e5eca0337868d898f5fce068dd90a53ae90decd441846bfd14faf1b91af28545bd9fef46ba59e9ee49f72cdd36d25d23dd34d2cd93ee19e96e92a55b97a23be9e648574ba752c7f1dfd0ee4674526d9593eaaa58aa7f00a47a0a27d5da77936a30b054439da97eb24975af26d54e34a9de35e974d0d29a0d778c5bb2b066fb78c974a461eae80d4c02af8d5f8da4352e634ca4fcb1379c2af0a137c073824d270f329d078ac5b4a01e0d08e9e2a90745153c069965481639df206804b87400e3f2a2b5eca219785363902464ef2a976315266a0aa220b43409c10a91910d3e9c113326e542489441ea89577bb1de9c6573ce9092815d3e27bd55d0bb24c42589ec2c6972019ea350e9dc1f7ba47062519e5837b04dde284db647c9a146fc52eeb605639c3543ca554d5c141a185a3707cadf07dfd294dd950586138659732713248deb8990b2f564a7a68bd1c6a255e8f03c11cff14a087be580c837322f8f23440ee593b514cb5d6a13c4dc6658598e6579619514a9304049056b0fadb58d294e801812c6c999296016334b438e900265c48511863926ab9fef0ceab4570d1ce06e5447948c6ceeffe86bfdb57b75ff87c8e8af2b7a25baeb542b549daa3521bd6d0bb99a12a6d755fd13dbaf7ec65f75507a3ba727a929aa1f94fe67a59fc6de84fef62d1c69928411122ca4607942822da4003284972a90a060031981b7ea3182453dd8a05aa727292adb569aa1d6365559a2a1d65a5d2f1bb11a4575bdfafd0dbfb556a7dbb9784852031022c07621aec79af2adc38cff86d686150c3716fe5b28d46f05102ac0defb386b16bf37142d1fc9d2ecac96ebc5a2a9b139613738b11c9d1d3495cd007968d4b031ebb981c3e747870e6b0710c0e61cc0ddf100601d99a67380f7fe06fa2bfb1fd187e3186fd82869983c5dc64a5ba86be7156e1d9a9c9a980dce09839d37363835319a9c978e6ba7859a692923678c230fa711d6d836f20cf7fc8d8bc3fad41f1008043ae20255a5065e11af88a7830444cf88c7e3f1783c1e8fc7e3f1783c1e8fc7e3f18c7844443c23231e8fc73332321af2d776ebbd39617cad8febbdfffffff9ffffffffffffffd629b7de3ae5ffffffbfd6c73bdec2ccfc0f141de8de1181f7c11847ce37b4deb3b0875d86fe352a1f7948724659ca4c33ed1d65b1765a2d1dd775e5bcee2b4643a36bcc9a1b1b1bd8799e3098cdcd4d0d0e0e4d2cf6cac971e9e8b476765828dad3d494c9ca1933c8717fb07fe4356a88366c84b3d9eee9d1376e641c38b08fcffffc5c20a01d78c78f904d73543beeca238afb4021600fac20907db4c6c1c1dec0b76f84614f062206209438e3dcc608394fe81a9ab4614243680209c05ec90381d9c0ce9cd1bb8cc54a5b2dd4e5da79bd746868726a6a623636381a3dfb790383c16e6e4e1c1c9b58ac2627874647e7b5b3e342d1569ab264b23e6386a9004f0f50c753d2a0411e50232868878d2ba3d16cf0d94cf4e999cd7a429e1b287a63e3c0a17d7cf2cf0f1e0188012d401fcb719e392e8d36823b74e4d83f403f3f3fe8cf8ececfcfcfcfcfd63f41e5a335872d8c080f7f6b6d14aecb0457a6c01d3b9f4b78a5bf983031314395decb185de8b0128aee4a8fe14c21b20841a2d778115ae9ae3056fab9c42ed36340884e749e5d9031bd55a58fe835785efa4c49173dc502c388eb36c2983ff41d23f8151f4adc1244fc886ee3855806ca8a3ecbf11b94d056f41cabf1a8c3c4884afd46095d8f31d164341969e93a6130e9af2aa8745697b1aafffcb0cfd8404e91840b9ad771c68843fde489ba9ef384871e33d25bf416122f6c257acd16567a8f32b77496d3b8458745d9447aec881bc8e83aab1d002821460509510319e44a4dcf0289b1f3175e1863e408949325b11eaca0c249194f90d0320a19baf22fa32e783852e48b54d1911fd40dbb042c80126584496fb1b92afb49976c5292758234d55f5467ec87f254cd7cac683bae820ea8f55060a801088824b000f461e0cba068030e6c1e8430820f157aed37744454846433723b42c2dd70524935a5a4dcd28f298897d0a864ccb8d90e00e90163870010128724498ec3208ac23014b3903e54220a4599c6c4484363592432446110c3500882201cc30108000a10041c620c225a01f700fd9471d0117f6f268d999e06e2b0d41ec8b5687af5cdd84f66ae3ae36ac9d1f593c9c69eb3497f2887fc29a3ffe24799173fca6c067e3fbf7e512ad97b70528e911904404780a84ea51f283733f3779cd44ed2589a25a524f980d429bbc1307aa401633256aa4b888e33b489d466d36a4dc4b43a2d69d22a9aa98784d6e9168278c30a83f5157558c7582dab647f592477c5765652debe51f10eb8de406494721df6f5478f918e418a52d3287fc65082064178b3ce73ce900448894a088562bbf1cb88cf9fcb76460d64f1536d3fcd7616b8ea05568070c864363434668444566710f1c3fe16bdb84ac04a6c60e2566a76467412fc12f7061484efb8b5ed36635389a5cfadfa40302715705d832a5b406cde7342c90a42741815b95bfa4a98643822fc206f46eb6babe1db764482395588344958a676641632517647898bcbaaf78a48d7afae6ba9019b2df88102aff38d246cbe8521d642b8b8c7482b47a4a684f14e80a2da4bb96ecfc1cdf02d2a0ac0b80421a32079066813c7755b62c6f037cb818a3ca5795dbdffd0b7248786de52dae73762fe4e300012552befa72a8fc76eb8290e04cd33a1412feffa907037b1e033a03a5065bb3a69ba19066f3959a2beb81b1682148fa806e96984e4e05267a69b6ca8ecb12bc310fda1b76b82e8ce804a03eae54b6e932a675098a293eb644703967eea2c62a38bc5888ef04b5255901ad52614f97a2361baa53e5b5883c770ede19baa8cfa3be4904e999fed18e7afcfba430293c6fc9d0d35493860745589bfbaba0e8604a26505d91e2a23b3227acae8c903087cee5e6e90a2beb6214b7120d932fd5b615f381f5f139809cf3ae643ec51273f413c2adb1abeef81d46e8d2e87f4a771649dbecc361e62920de13fd2ae16ae4e5501e6fd5f2076a83b6dcfe0efc14ed8e8373ff806d84847eb7ce429ba387422683df5272acd6471f9637c64c19677ad49cf277396db89217a440c2a87c48e541e901044a8740a7d3e7ffccfcd15b9fff99b6276d1a77944c4e5d2d2bb8ebd9c4c65327f1a4e19f05288a61f3739f38f0ebd32e0814962e5e64df2c258aad2f8691f16fc9b0e8196ca9e0b7f2cb1d30862fc72a57c306449bb74e5bd128aec96213603c9db6ca96fe5662ba2a70aa76fc08f19b41bf4c4973e994d42139b922ea22f3cf5048547c696b3f1c390016ecd8e6b5bc85db0d678367bcafecbac3931200f7e539139c55dc5c738347e2abe9b40c1c1d6ab2b33017db5684c96d698083bf110d2e4a53e247cfdbee35ccd46d8c72e97729cbb1947bc3a066b8d1f0b045d11d14c720bcbd88be3b911fffda8737c5f548f67caccb041478e208860c2622276012c5438a889c188f75d75228e9a6f06711d9a176b295fe9e61cba51c47de8622bb56337c208fb3fe4177b49298edbb83dfc4bf0a0c9c8f3c2aca1e61259a042591375ec6610d721cba51cced514711fbb584a71ac46109663165bb9ce4d8dfe087b8e15dc452033e001fa1ac31ae09df156aa73378ab00e592ca570ae6611f7b1cba51cc76a0661f9b1ff2cdf5bc461aa20cfd065a0325375753808220e0b55ceb0c0c48127958fdc3b821f714fd8c6c0c35fe8888d0009074f3365a9b7733469d0f9b71f7ff3a51feb99431399b0dabfffd89b2efd58ce746987f5cc9f8ed0d94944e5db322817d6107eeccd9f0e50355ecbc48e7f44f74220e15101839df7f27b8fd2935dd4790bd36756978bcf950cbfa73c1d4c384db7dc76e295e1cfbf037c4842e4a888b8118c4d1ddc8c764a54127695d4bb20a5e36a8446c024fc24d0952e77d055fa385922c5ff1646caa73bebe86f1b907400ba5548fd929e32e2094e6fccb31549de2824394ed915f5538a2087d1da8587d5bec599ed0d5e140d2e966eca10d0a5867a9579c220cf587949de52886e4c1a00dd1540df524f33f204ce7fcc593a0b0d911651740b4a2037cb82fb920de2e0466fc745878fc8a5c9c42970746317ae0a15514ea9372d79c01817e6efc555038287b46b01da7859e099d176dc0f557ab53dafffcae65ec63b57bc5dfd343b07155c04020f94e4080a8099a5e55cfe00ca1a3f4c93a0ea650b99c0184f1932a7321feb396793d882b7132aa3ce8c22e1c23a59a2fd11bbcc0dec18dae2eec79473b5bc9c81f43cf3bd4d012470ce20a5f547245314392f6966674d603b5c37d1ca0eb7530f0ff79bf4e898841739026d59a343e5c539c413fe7732ca38194981b7fd045238f4299196e6ed47d0ead30ea763415a0e0b22549320c8a9ce63b91b9a8caacaf76f97ced3aab5b24833a5a26f3d81504738702216bcf500421de5c08950f0f6032875948353b1a0ad07106a28077e2a8c0932ada0e3af52224b444c236a0b2868643db530fc8ef1f451218f42a3d77e00a58674702a124cdb19b45ac2d18940302d4790ea29477e2aa84197fd72a0fcec6444b90abe868d4464bf2f5b7c662e9c9347d74d4e2af355f17b95e1c9f24e8655884811312da1fc9e2c10c9f506b9c11b18afb5b674a1f6d512952281d67fc84c1580f2093e98502474ffca8b9dbfd78c9b601e89935e28791d7373de6600684843e3648f69efc6811c785d7ae0d1e206d9f34c04dd622df3167b717ed4515af7b65dc4e9793effae880af65cbd80595f82c061d6f34f35c74ea009c19a45d744b7ad423052ed1ea8f58ef16228bff4c6b785d0279b5ffb5bde671997208fea1393fac4a03a65509f9e1571ea1b147e62b55952693d7c0b4f9fb17f842eb70b7895f0142aa92e687cad467b9b12fc6c95c31c64200eb3a8830ce22807739cc71d64b0e5e0653107590425e62f6be83b8c2dc0b95505d615a126b92b79a1c3a31989f25df34e0a873b4f6328acdd66a17ac57b83b3c20c06a59deb826d0605e8d52a834084a40fa11e1cfc83783d8fba3395acb94aae2df82f0c3322da8d2b82a44cd2c7bce667fd8a353f384af30b364b9bcb7a439bd7c87536c7ebd2db2494b2a8d2cae34eaabfdf81acfb53c8df8374c908c99f4ea6db0e64c946e1812caa79290fc0740e58aaaccaa375592297e6b215308fb9ab2e1b3ae9cfaa25f4b0da85564bcb4f74e3d632a227bafc80b31a17fb59630dae9aac8f882dca1e24e316b7a20b8b51b687f30e592c22887dfc7ef551f0c35f47d81c5544509f7868cbc9611dcd1758be5a413c2a26ff2cdcf3767d4ab00722760b380899844839a9df2ecccd8587c942b66d908fd088759cca44324c9986a27509caa95852408addcfe527b266129a4a02253a8225b64f21856b43741174bf7efcdf2a3ba961ab6c71b7d4a1e88b9bfb7d3fa628fd4165a0a57baa560393ce607b7c02ac4b40e3f5a1585400378f71fec81de4aba4dbc33a9a84118a76e384276154c7ad62c5713e2ae435391f05bd0cd2faa42c3cc8c21320d2826ec8adcac95c79f6d0bf75e19bff8e6f9e91bfd5cbbae285fc7bf10b215b7650ae22768625c0d2076f381bd3bd6aec2ddddc8b3091bfe9dc7836c69a5527ad609ea87c94f6a2a759fe74df5c337395622b17f29500b327d1383cdc45e805bc0c15009e73e2b7066882ed0e0c45c26dd1a64b45cc0932318b88a8c537c47c2ff348e3fd0d2433261f5bea7c25c24585c07ca00d5d8d1b26e0522e3e82221a4e9a7241708fd31161654e0fc941888b6e144b067c1b5967729c9eb607c45253e0dc1151479280ccd73a0e32c7f435fd4d101f290c84ef5aec4cdc0e0e7b4e7485dd4e0a40cdc073b95ebd030e2fecc3c00bdb72b963d9d8039995b5ae8a4081059ea3f415057f45d32d2008d92335f17d2817666cc7433c8e7db4935aa8b245888447df2d382e7c1779487469f1996ce06f7356ec80c41b79aa0fc5d5e2ffdacb6f79b36a9ec5e0157d23751879256894438a17b2d283051652845c3895123aa6b482757ca1282f206b55bb9cf0b6416229a6c279ed5b02c5959d951110f6eb9673bb3ec3b7a67727c66c7e4742f36ade85bf64eb44072ea7e005c4fc6b46fb4a5d6d0fe5dae2b8b18ac08d5872bead20d0688cbf5ee4bc4a8c329f90fda27846f15c103506e4c882cf9645ac207706b84f8a2b2020c2b88b73b5b1281d7ddc2a14c6d866c164754d9e6893ed0c6502e2cc00869338305f1b3282322496439c8303bc0184f22f03c4f7192cba5232889978c97da8fc6f9c3b90cb863b1c87b3de01cc34cf1a9ab9607262191e4c978417082102549b37f9ead71540cca9f7f6d678735ee1a7aeee1dce1b5e8e68911dc56c360960e2df2230d5cb70b8b32127b964c439bd3631c9c7074619afac299e98c403e2bea641217cce49f9925d97963b2b9bd4dd80ae75e6b2c089717f80cfc28059d9773cab52853ebff2e209459a1fc76876af5db3e905c1dbf09ee62d1b330d2e31ec56eb001207d92599c3a678919c5e76e858cb71316e94ecce8bd0da640e963d1865c4ac923401abe647925e5f98746c7cd2e87fd267c6ca330a75e933b104dd2448f9a4da36b5b4ff7d1d4fa98d706690393eae99b110eb9caa3a2d2654a391e33f66fe38bfdd736ea2cdce08a12108210db35f60fbda19090969714a33bef0a6dc9f2a712be5364ce093bc25da19a6eb81aed9d64206d1dfcd4cf57536b2070f3443ec9dfc33e09a7f4aa6e330f2bfe97b24e5a18a508edd008d9ccf100c9b481f680850cf38e1ab860a5244bd42f7a3ba9ed414766a91e30a5ad9da0cfa5a6b586d5890e22a712a42fccd83a7d0b38d65b85315dc787e4bb085963fb7ece8e930ac4c6336f447d48056888e30012820adde0820a0063c60e15fe30834a3dee7cc2fa9fc1e8a007b1dd7a9fac23fd7dc3bad48b15deccdcdbbb2347b4374838da1137605ffbe903dcbdb71467e681a3226cda01b7278cb162561ab93c8fca6088fce6c672c6a263397347aefe58398349e0e7f13e0886b0b59881c940ddb04b2d99636bc46a5d243108691562595fdada3cc561866cc4dc2ae149de465ee0da897efc18542a2bbeec46b627337dc7b07445552b60c4f2bd12ffebf3e10e54d76cd251b329865c617ded7dcc0f7d728bc038017228a9b15f4591bf980a951ebdd250b5bdf3603cb2f710dc853f3cc96f149a9b1af267842131de43692966cee1703a033c21990d0b1c25699422515d4ba09e92d0f890e19950e43a87eed2e3855a82dfabbd5eee300089e2e6b2811a1336b357a5e1f7a47023cfdd6fdaf0a86fb25ca05491fa16ad5fb48081bf7fa39e2b70f8dddaa766da4021bda211442d70c253ccffe719017b74f1973a4851efee80bdcdf1a1520fe8ce1067ea9f3930f40793caf2bfcc3db4a687f644fb631bba52460130525fbd6b6eeb034caff2a52a310b7e9d7d77dbfa2deeb8f8b6e11901432a1b639fbf91c3ce5601980a866fe7594f210fb5545615c27250d1459f914f1129188d7822e7a4f287757759e503e6132af740b828938c2d5f1040922eac06fa18a357079a3c86a66a46b768e6f9ad90ae8e65cd78f1dfa78a7093e533e38762c60d7e3e4c9233c2411aabf598b8a57e3d0a7ed5b33bafd59b2007539e960e9ab145be8344663db4f5d90dce972820b75c915da8ab311c6228f0758f097209e4c08d41510b759ce8814765db39292e18d09a3ea12bf2af4cb69974e1b1f4264c9a850e124ffb0957ed06efc868be83518273ce205a69511a25d93bd0826f45e0b11dc68c37b64e484291ef11aff010c41968d650cb328dd76cd65bde7ca6589761d626f2103be096f88bd840cd3a7ee6e56ae78e9ed94ce25f03d1f73e7ca1f46033eaa57da497ffbaab88deae0dff09458d9fb03ed0f7dbe33121777d003f15a4db34d03d9d28a2aceb575074aace9c90fa766d1a4bc01710ee2a61e55be6d6bd3ca2fe0b5b5169fcdb751fcb1b9b681446a7e240511c41f10b5ab1244fb251ed72e03ac40e17f95a6e08ad7d5a93c5f2d59da9529177605648d13348205fed651e64f15636d262c0286afc19328518193d0c7021ce89a4ed6a71ceed51dd6bd5ffb1704e24e854e95547224b01d31d88e336b1d2bd07b458d62d0d4590eeb80d7c1b1df6137e30c641c56e7536fed654a999f85a597c3c102cb9b9c81e15cb4c0e79799e3f3b6477973fa9a9158dfe2ca6583bec18855a8d9f2979ce1446d5e00615bba07ba5561ed45cae6f21e73a4fd0262ad69bd04fe1fe2471a62a62a1587a6ff118691988c90cfc4489cbd04b590e44f72893d98651106679cd087f6b9cef48c882be41f572e3188a295b7481988dc6d633ca68d4b0c19206e0a7a0dd0a5e10cc4c0d7a5b3a5f9a1b2dd58cfd703a1725f7252fc581466e2a5a7c778d5926744ca29d2391790fe6241355da05f0739b672088aea260ecff07cc1adfdb16bd68fbb2fc4a5e424e89fea7261da3e7160d34720f34e5bfdd4818bbd4b9aac994218a594e1c5309b9a40c4d8f70d75a0bd984e17ac81a525976c48e2422a96880124dc00cf0bf3ff3a3a87414b9be6c1d0a882fb00dcd349b47b21cdf110d09bf9c73c748bec69b00a0801b17be9d0754cdddbf0984703e01100d1e71804d5652bb3a5545a747a742b874f1a4ad50d6211f2ac43a292b560bc7e3e643a6cdbaf2d62b9b61ce4fe7301d83cee8f16505c281e925add81fdf4a31b441e1c687164ca7693748cb232eeac8e59cdb18e8315c3dd066b3959b6a25028ced6a7c20a370a5bdbd4cc4ec43ff03119dd9defc9e58b3c645eaefb765a627bb741a23ad572146fa71fdbeeacb0aee7a12930bfb62295cbf75c2c4a2fcc8b532a0b591491e07661a33b0dec047d7034a5c13226028b82fb311e66462f4405837f4d62a37950f6d8ee6532b67ec604a77138c3f7d83497fea7ada6b19c9a55a6543a8b4a7195f0de82a34951839e54dd01c9a087113fbd6e4c48b550817c7e72f1e61c7cf8cdac3e67ff65af6e70d959a73dbe0c0ceda74c7bd465662ccddc98ef9e629805dd3c6b5fb5815de083b2397d62ac4aafff5e70ab2b987c7330ab4159faa486f739f63c7c083628fce9b5bc16246742988e59690ff80fea36f24aeade9cf3411c0e559c2580826d3480825b920005bb14d7df66699b95901b5141945ade0c7188570934837c9874aee8dcc9bcf60349f39aab5b59641e68f522dbbe7331b2befda50874e6b9c480d605c80ff4481b5a7c75d2156979d29504302bf6874beb03daa938e3686b0e7df081215ea865356c4b273965ecad6a10ccb8a3f3d4493659eaf5e8b1af1a8a9fe905e6c8f467ba31d14d46ed58a0ac7eaeb39fbfdd88b4e421ff478151202ffa716ba0eba2f9e18e765fa0ed076829ed02c97b7445503e087667d648fb63a3146c806d11a595434da141ea598386863c8bb1ec9f2afc7a59b6f90138c5cfaa5fec811381849e3ec69a425a2011d58492514431fe79787fa5658344a62fa3056439ac431687161c34c27458be58a05f7cb4955c3cc81e8a3029f943784b5e3c58a9b79219cd2acb3b2c6c454e728d59deb3e58db8acc5c90861e13cac35a09d4626a9371e93eed121f5822c72a9258695b7545aa08c77e9ed78d661f33ab96ee08207a22889614ee5b59777a4e066470689e9e3b66a5f318e66792570a38ce578593b27a3d35f550f0b35f9428829c510b4d2927a96761ee3849578540720f97fc84eac233d15acd17495a560686a5937e1101e977a84f857e7b3a90d36bae18ddcc43909245a1e9ee48ebee8295b4cb6aaa4dbf48a75d64337bea75ac54943225ddd8ba2ad02b78866ab421780ec8a8f962fd3c9ba87358098c9606d8a91067cd53ce360ca60c2ce829d461ee6147f6f8a53015d53e1b6b8c5279f106734c8a50363606ab2cdbd431750545861d8176f2b349e70a78aae8574bd35289d33824c42659862e5cd400bf3188a11245a32f2fb482bb461e4b890dafee9677ce06c72e02b58299f3c3ff172dae79e450e4fb38442c18d7e54a3ff391885997fde9f96b74cb2071ea868968450cf3edad6e0fecb94d7077bd6f21646f974141f9dac53af3e0025d7c7b010b12db7a0aec845ef0df87e6156a477137429591a86047bb8bce2c76d5e53447e140309245aabde3772afa8683a8a7d97e4232acb613543b57c5748d41ae00ec744a738de98ff83e6a5ea5e0c9685a1a70c9441f9ebaa1fa80008f317237fd0ccb9c193556cad82093cefecf1d670b4ecd13ecc2fce472ae21280b1133880cdd5bfbe22234fac6959e5428a95bc821c9d969fc50366b30a6428918f94f74db0176bba42bc99f26c29fba033983b072dd40f9d383a4225698d64ac9d67d48e0b719418881c236c9ffb8b5d4ced04b1eb1954d9404e85c76d30493c7518463a9ef27f14e1c230a2c87226c06cdd4e8e444648a7cb308c2be6683f1e51e528d525deed8fba344e5b4c57cece9aa9c64621078c22e97809a142ef044a0dabe0056f8cf7f7c3cd97e89d76a95a3c06805797f09ad19ba635a42ad5e52482d7e2f44b52935ce9ceeb0d850bb52027ce3d31bfd91c5498711d653642fd778c213f72ad9caa0953a38c5cd1e94fb3ea6f9481a9b8e694a10d0c5860f7d2662c69ca34194c1922a69c8d772057b9efa183b2ef2c5c9de7f01ba0d7dd9d46810585da3b71159578acb85fcef07f2df968b8f58962eefae5b6f3a6d66dc50ee8a952b22260a84cb80761e6afe72cbaf22a8c8e0dd4ee80c98589e5421e269d614ade24512a4ee3295825fb6c2f790daf0f7424a9e0753afc8f6fe3de44897150d34c167466a28fe1faba70ba2b560005271bc9d530d0da3d2360859bc847bd04a9d571ad625c1de6dba0367b1d6f1b13f9ef0e7e23d2a49055e3cce053b4696536a153644c8dc69ede74718adf04e63f534fd2195562193fb7cc9b322b2a6da4747a941c13258f83cb5a82ebf20e4454d73f61ec6211a657a90632a8a6803fdd74d4e408d0ffb24f7cfcdd0f8930d1a99abaf89a847fa1d618be6eee499e3cf01b767a95f0912fc0942338982c6cb0e359c06296c8931e903699411fb0a3c0102dfba99aa8ac8019d90072ea2fe7203522a9e6ffa731d6ffd561604c38e0176248ab6e04536d51523dbbf50c4069a5023ba2c759ccda6f2b568707ad40274a7870f462a347151e23d70b247fc5e560c61d830bd18e56e6a6058286e3d9c9a6b2d47b590e77a03818d0e45bb17afd622fe223e87aadf493fa09e0cea523a8649b0e698887c91d614106ac75149733aab1f674b8812d58480d268ca392d9afb3d76971928ee60829d0399f72a4a7f7ba2be9602be8be975ed3e662a9ca31155106232a4475b24f2c3fcf1a68de054c5f2ae259e5f53fb3409f0a3d262244416843a885747b4e3cc3581e9cbd469567a29b784681f5edc89b6cf7da1d7a0ea001ae7d6c8820164e71f5834634eb3875976df3585fe8e3055e2e6a77bfd99de1fba45be40f1890bd59aa4a90211a71256a1df03e0ea0c99ea50785203608e085bb7fce253fadf19c503b153c8101b3829ca99c41274f42b0269035752082b39327bb31b50b087f60305d38edc4caad5591387aa788839fcbf4ab4becdefc3b95a561542983ae5ac096907ec976f11fc95a0738988956499ddb80c9726ba4f68190f29e081e1b0e9964464b66a60e8d10b17155a56ab24a6209d4d4d0e76bda2ae53831a1d9fad9ee058422847d302788b002662d3323ac909f30ea4375419f62946db2849a2e527992d33ea42d119686071331c642705ef21acb45df08700ce8dcbd85b00074cdccde483849bb19aeca9d8a965b74f6a61c146ece1b74553a82d8effea9ee489e93f5a8dc443e1e7c374b5da70885240f3d02d4ec53b999816e9bc32c81d438bc5d324215e88539cc8ca2395a7403842a03fb8dcb44c21cde6b86b4134ec71f9c646fdf4061ed02fb05aa92a155c435ef940043f24de68e21142d536082fac8ba19fe38ae0d268460022833c7fba66570d509760b2627b16a3506a6704dafdbdb235ddb64ce6766a9497c35b9b76ef5b86c320012c4c74b212e7241c858a351cf56c5406ad05fd4b34d11501f520165d3dec8c92d89ec6b1da727b773e5f4a1f3415342bb33f0d581ec43ee2720c375c6e13d8ebe98f7a47c4247df774cd5f9a48e9f1ec9aebcdfc7fd73c8285a678703b91a05dc0bd58402eea48010354cbddd349c6e028fcdecc76b69a818189d2becf43e2667484f2873fc63862838b58ed03da113827ce7b8eb31191b0e62c41d3391031987d8ea8fcddfdd2cb1301b33e031c0f541d1e7a9f12ae694ef02e008fd499e4fc74d365adb2cd0c697d9ef8bfe3469a81262a6eab21378a501b5b7c8e9f9ab96c17a5f58075d6051b313e48248a2348508e0706b9af5ba31aabfecd49cf876d0dff7632ede278ad74d66e0a088f83f2bd3f1ae6e2ecbe6edc43a22fa3b7a7db1373dcc13d39e2f1923a18335e2450b9e62fb3deb9b11e5d4b0e6dd6f726392c7b8c85a4c7416517f78e04fb62eff9a457172b6ba1f15e3e9d135fc5d9c7bd02a5162a44c78bea969b0d41d47bbca1e26291df0f9e4e42abba0a82be1ccc24d9ce4211952d7c40d7292677c7c3d826c0c03890c030793fdb88196a04ce213e42e6d6e2db09bbaf7c288e957f311c1db3c953d5c35ec8e4298f47f1b56d41a0bd3e3f6fcef840dbd7bc18d31aadfeabc56b76ba6be793611d4672bc531105629fa8b3b4639882b71b7c2da614a7b2b1e586abe59de9c84c4a3e23efca4bdfd10c11eb9645463cdc41a94bb7992f2e22c093abc1ea97532bdb393d7508c92d0b64b2270ba8892ab4ad003b2986a2119ba69c894f034a0948612a01a25ad45c4a95a0986387b21224fea5510e8c451261cf1b8602809c44afe25e36fce1ffe121c709bcc64853a8005e9e2ce6f72c352a5758b533a1394a1b8d8dcdafbb62e17aa50769db91dbd80137d2ffa0f10a73097ae89936017f0c36f32ff75e29cd73a4611106af5a64d999b36e7e8c22eb6008fc3f25e7dafff20a240590eb0e560ad199a974bed03ec6129b593f54adc139e2ffa0c65ca03087a16238099a03479b9194bae52bd4cd15459df9b0fa56afcce72c7937dc42c92192aa540e5e82388682041042112c4995a7d3dc5ac0c322e8809e38b5d04d0f414401f3c5a4760b99870e65bfa6acdc75f1e7de368213047e2b3d22f91d3e7b76eed5e787b0644bbe30d1a2466590447e05a84ccd1c92fc1ad0b282c59525a7eb97f4beddf9be702ad574fa534a0434cf0753cfc3cf9e34bb42e0cde1a896fb2f4ef6d31d67d356244ac3aa7965353ddad9a303ab6ad7e4496ea8be99e441491e5aa9b7d834f7aac58ff905c135212dd1ebd8718d69ce5c191df9268ccd75ffdde8f8b66320d931df59def778b3bfdc664137364da5fb4e4eaa453fc3949777b2cfe77cf46436ac549926b153e5153108aca282c3161e69a93b7d908e1bae32aa0c03b6926765a852f1a3e682f7e3678b807b83875fb9363c149f1e7dbfaf9555a3f112d28befaba7255979a2ea8b7a9f37bef263ff2f58db38fbeea1fbe286e43094d1cdc07381b60e9897880651d09014b2c82042c37f639014b3fa2029695b3052cfe25edb5970ad4303ac57ab08598e8a2c309e1c4dbc9d2be4aaf7b3c2a00dab80cf2e0b9da21dc30ae2accd0437c01cd34e6673d453bb53d29ed55e601ad0a539b67fd43b9527f1daf2e859297c3ea4fd301318d17d3a1c929dc44be5552610c8b70bed8efe78dfa7514718a510b9c9030d8be2ac9ff29b6dbc1811ddf0a0afa2629c292494c7dcaa7e52b08e74d0128715afdd746b7034f8f68c2827418e57670d97e2cda5f2dbc95440e7f3f2051869f4fedd34136790524157853e5504597c4190f902b404ef4d0752101bb5a2d2215fd92c8ab5fbdeee5a4451542d114772cccbe93a2d3d7054353691ae689b5792d18be8b04c6a926a46170d3a87fb776fffc22ac5c3557a4e1167cd311ab59e2c4fba20cd58ec4f719cba76fc033cc7d7cf38039bf4c4e6fa8d63a0b9c4aeaf219bf6914dcd6c49c569b941e0e7ac97f7877e215b7f63ce7cc2f1b566f51e20397c508717b83bff11d53424acb048cc50b29b2f80fcea6ccc981409048a8e58c1087eb23314a420d6d0a84ad9c02c0ad485c147264ad579dfc1907e41b58cc24a49b9dff7ab42417135ddfe7f22d66b8ad124c8605ae7eae1931f27c942ed50ee59735f7c48d9ccee6049ed5435ef3a982648701cbde474e75485df7b6a0d362cb3a150731b02cc627775371100bc9e2787236213b1235c678127169ddf873237f9d549d44876478b9515c5b8c2a0683358c6e1149870c591cac2de6c323501bf82d4e931f00deffb5d06a423d1189edd866d400af4a2d8a28b57907d4893a405c33a9cdc1f2a8d25a77da1e7f985d1db0b5a896df6c0f4e95ff0241c73b0e60148042bcc86b23cd4c00c1065425f97ce64e4d5e8daa6cd8d38eb6357ec1f19c3492cd301f2ef55405bfcc8af0deb1254e29182eb83ef0d46431377715867df9e265fe7f409f52e157fe8d3eb73d5ae6ce9d554ca41c9ffac2ba894e92810af3be780dd0896e8a9dc32e535a9f33f9079c749cb5cae61a7bc96aaf62b09b6bd52b0fb289f3833b51826e7a1b769f2547fc9f03c7601ab996f5d7472ce8941141887d19620a0ea4bf85cdaa07e9a5ff1ee15eff26023b34693686c7baa90e1229d4b38eeabd07aa16476f6b250f18c219d10d3d245cb828d1f067bdb1d6e5ec1faaedcd6bfe0a32c852bc19587cf9bd7ebc57536b54ace1a57a1bbc02b164c876f1b62e965c7ccc7763ee4b26a588839388f0e88e04a6fbcee049c4f17136a7640542f2c718cb52d94bd911d2e79ab722691f84f880e54757fd159477f141083008572847034140c89c0a8ad52c42b67062c1dc60b3554eed4e64e4530d12533104b38f596da1943f36a8ca1faaab565d553c54276bcf64d6efd9ed2f597ee6c909d403122858b48b9b53c7fb8aaaf8b2af4f0d1dc9509d2aee307b9a826aefc4d4f67a766ffc76be26c3a0be774a63ae7babf8d893f216300cb77dcab8175d171527943498ee8cc91906073c2a7f9d7d8960b1c1183d32c549bf8a915f8aafe3ad95986761d656c1f3486efb7e19bff5748b0aeab64c2c3448988d48917fe062d0a5aab9b05bb96a7bf1af4f38af95bb16d2df74859a5b866dc002e0fa232e697941626666a4f1a198943a7367e43d986da4cdccc151ee5e9ed5c558c2dc417cf3b1978c624c6969ca9026cf477903293768141744f1dd45cb900e6c0a9a24f86ede8e635b4d26551b1aa934c4d898e0fbab3a321b68d36d5d3addf6abf346180226bbce0cd6db7454f657ff270b81fec244e216ce94bd4cd4a87072bd1709926067e40e221688f51cedd744e2ce7d7ea340025e503b81ad1115ad57d8c1969e79113a41553159315bdaf885f9775186748802f844fb03897811e8e5afef8ae4162a90a968a6c512f2e0a2a8ea189db15004471c6150e34043e5ebe6dc9ee3d242ef7835d05f355866917aa0fab4cfbeaba6783ba9007611286e67575837bcc890c717a7e8c2d54326c818c3926978e3bf2043345b60cd8f17bf7135602d4fb148cfc2f38d3ac0e52a6d76e8c7dcb3b113ef5eaedd5565314cc8682a50efe4cd98f3625406bfafb1d367f48eaff505d942a025eefa6f4d2b0365b95cc2a28776fb4ab1f0f9dfa833586da0b7921fe75d34797aa958c83061e45f114aabd8cbf3269da2c656e33b66701356ef251df2b59492779dc6090a031d95a2eda4881d0e08497797df3af28c938d5031d5b55146499c95e2a5ec1799d3de607aa237d289de84db603f41f592547dc4d5395bc93885d849c07e40640aaefd2fdb0478fb28636f5c3f17bddb89482e246772cd1852008f44ec0483498119938e7366ce1b050152c082101e243ff19a6c41b0551704b888b4cb98461bfd24009304b23ca7b7bd8a324902cf0c6a61fc8d77c6eae609f0d04b8249cdc19474cab50b4f5b2a754b07ff1eaf14785bd9b0524d2816e2afd2815d79bcb2f46a022bdbe7626a40a57e045f54cf1658363c6105fe976046ea18f0d3e0420b7d656ff302f216457deace866e4b107822213aa942670c2de2c8221cbfafb9c32da097c408de2a8a61320c35a693b465d3c1e8acb46400470ef22252e37c5b3c4763fafd2efa90ea2ae6be772594ddbef91c9d4c284d710392924f7a8a81614538a8afacc19e0c9e138bcad369730e2faca8d8cdb6e077a18455032d269e3006b27da9dcb16f2c59d4be92b921eb8e489b0f48403b7999412448c5d08966cf341499e77ba26b57209370dddecb3e50cf73bcbb4d498d35a50bcf93a20e2c71320f4ae64a274236b57ae4cd78b34ef50373cea8964ea48531f45c98d813569b4eecdc4da8ad45da21f825737c5b63a018b57927104f6177002301a4f4062bfe7dfeca6c50194dd317f8e3d1413bcabb417b1346c27cec00a43ce90846f61dd12dd7f5e336392f7a3d8aa4978de6a89fd72af7c9ef9fa39000e2f405cbb7a4b903d40b968a7ac16913301369897541546e590beb83c5abea2c6c071160a49e86dcead02a2a253babc59175e31eeb035d67d4354c353d3414ed9798b23003b76ed90fbeeb83650d3606806ad95c0f4043a115a0f4c71bba44e8778eec8ffe3014fc5828cd9bcf78cda5bf1e618c05048cb4163f4a9ebb6ce00737801e434d55345da8904cda92809f8233cd23e0c7a7ea122288a9266b978623e98ab1438282e20f313e33b03d12200c723fdc25c10ffc330014d7b8fb7d8ae3f886b811aba63aa0c05d872b09993a4719beb4a4b8cf32c6318b45c45b9cc46494286220990db4225effc812d3a48540bc1b5ff252703d0edaf7c9b2d7f6b0992f8e0649f03cd3aac902127b4f5241bea7de8d61077bb541ce681ef0ea37ff5a4e3f71f811656a2ae13c0d086258aeaaa307168b36cb2c6012d567b7404e84b99726ae6158eac88ca610a915df3364451dcc9a600707df2713714ee062fa572041fa46c3df2abe38869ae7879486c80c668dbadad493292138d5bde9679bce9caae45b6f111a4888813913b3b074c74dcb46a2fc55abe9a2de82684cc1b9faaa24d28f18e04fb7aa84144a424380005869a09f099560fdc4eaacabe761c44d397b7ce8a7f96ee428969855833ca64bc9bf6ef079516494f523779729398ff573ef7e1885725ef9fce1bcfe0a76560898b181e397f970a10411012f340b719aa00355413bf76f7cbc8dd997f7f62aa2c7421a23dd52b05d636a8392ef41a86595b9020ea8f031722ff331a21340958db8f278224ca7dfb1de286b415b670af3ee4d4cd610983e1f2d951aa0eeecdbdc60b98fe6017f962fd695b5cc4974841589cfe5f5800bf3d9cf8db8a5d4a3844a82d2b01ac7570921ee85fc4607c34aa63f1581df6c77be4e9ad1c534bd2c611a117575f359ff5d5f5b5199e8457488a4c86f1449871224bd422e834d8fb414c9524a2b22bb9ad54eb2028e1cb77649508b260252ee6945653c2aaa562f9290ce6ca6eefbfa9c7e45b2a1d7a7f3b65ac804374f61f9c307021ca42f7477bbf4cae0d41c843e4cbcc8996ffb042f351cf0fcf7877fc2107dd689cee6acdc1e31ebb70c6820808485ab97a28b4abd4462fb7ac90e33eb6bdccc8825b008e64fe05048c5633a58e64d122cf6a3a26dda4775993044d6ffdcb3ae68fe2aebc896cbb4255a9f4d960cc0c5fc50d848915e5e4d100680ae657829eb6268bf3468855815f3594c0ff49c94756d61298421770425691936af9d2a02b4ac1195601ae63ddfd938e76518bdb74161a09a40e21da668a1e4641894f04cbaa600613eed80dcb249f5448a7c2b49ad69b0f978a233bd769a6a40946106311006261ac4788397f3a5091552dc4171b2e07e92a9c1e6f359ec80d0c5809e82c77f8434402cc6eda5a4f0f48ff550d0052ec4550f8b97eb721272308551cc1eb9df1189fa4272e4c50b6fff4de6dc8ea2bccb57bdf3e13e494d02835ba697ac4af6276e38772733960875a28ec8291d2aebcee26b57dd56086e087d6cd99ae9a43cf44f5b97c34d4c21fe310be06c61e40667b77b5b0b999a4fccbae62f2fd0b6566fa12dc545a35578e1b6a6f3b069be1b6589e1e6cf162ee2af3ddb2aa465f0aa029434c660c8ddad7d02dda014e2d3289d2c36c2982a61838a0e118c5fdd83072fdd4c7765d3650f70a4a328a047d79054a9af214e3d673f96b7a16a0730a078dec7c65245faf0c6516fe21ae7c75789453ba10a2c9e342a2c38baef25087b87ba8a08b66d27fba7f66b6c4bfc3192dbd271ac8739ced96be5919bdd3b7f9a042a88f4dcf6b5280740e9a0a0f057eff8eb2dc43a611fb762e4ddcc872d66db54a4040aec47cb15f5431920679080fa3a44604b8cdc2dfd0cb32ef8ec6cf019e48e30054d4406b6132e470f159b4889413653e46e15c80545d53a3d1df7f21d377e0067948060b2ce1b6c62d6991b2043b656f844a6d3c11fdbd6de38709da0185684cb521eaec92dfe41b2b02fbd7325719ba143ebad587b7d6b2361dc9b38c2bce4e1fd0a460911fc6daf2b6e6a6c929391ddfca2e65e854e050a55adedf5f6c4c290550d605dbab100051846491ec1f5de60b1b30e24ba3b06ae2b937ee93231835c4778c032fc7c9ecc1982570ab165156e23a3ac7ea5925a46c6393ebb8d425148e3218bc849a3af9006254459ca77b929e7892d071c000738a50a216a6ca12d721253e497c631e25808de94a1690426eecc1a1032cbefd067e029bf67985a1f63944d1201c46be253f82ca9d43b2fec8cdf8871bc459b9cbde3d798fdabb48a5432db60a71252211a2f4aff31875b69cee6709bb650a75d8d3949f2feca9c949aa1fc8e07b13df54237c1a2376d8b1dd5d16815acf67a3f048da3287d1c6955c46e54f4a65bf98de43b344dc53b90231b22f316bc920518c319248ec96e32746617df9e14138b6cfc6239086d28fcf6ccfbced72fd3f5459658e7ac14f837ecbe494a81238ad218b9083ca5f43ff6cd97e24e4ac128f5d51fadf1f37c169696d068f911285bd4ae8ecbfaa354a80734bf99efeb6f243d7ed748d26358b91e8feb1ae5aee2ecd30edc880cbecfdb1857aafe4248d7fb8fc20a2b40be5fcbd6b95290805e0200bcb64435e889c343f8021c627ce2d76e43ee00a15341c80a8f771e996d079339dd76a06467d15f95901d4d2e66687eb928e13373ecccbd8cb71d281f0851e8a411a7e824e8384957db032f07b2a562e8cdc2479cb2942565bd56e4bc36d089081e49fd2d891e1b4f8ab40124a031a0a8038cd37d9bfa005f1b74c4f7148b921eba18daa705a04e91c7073334743e952b6b981b00caf7ca75c7a1e2e521df50513c81ecbc76b5f8009d2739cd55731d14e99af56f2cb7674442832a0496a971e133d2c241ed227d66a1f9d44d2099dc12dfdc2fcd6e02dbd7210bfe615566a7e37e9828ab906fccb89c1df35075894801edb0d3be6476c22ceca5c98217d006ffaa91b24067e79f8cbb1edbbd1d5e01286757fa6da04fe1a06c2ffd4934ff07823e75d7223928fc91201a447c776368ea2bc3caf1de99ef57cc1f0076d23430606dd21a50b3512128ad8a831d454535c2ab3f45abee32dc681bb0aaa990e5e68893773c84861e54ba7a10b249d246011b002c002100ffffffffd50356db365d6dbaa853edff01c7713248343a13182801eca813b8bfda7fc3ee2e96b160165035706998ac8469fa842e93c7b214105896cbc6b22c7672f8c0dcc3ff03a7ebbb5fd33b7637bbeeda51efdfd8dd5e743c3017e63c25ce343a0999baecff01a10a099005065245517754a6aa9881e852d88850192981e8f8784440a21493523522a968aa0301685abb52206457deb53bf6bf0e8188bc61e99a0316e83f19c43932b12172cc21e18edf64e0f53cfc28931587e13f19152f387c4d19892ef87b2d295d807861f8d0ecfc9b7f555c9fd305ccef1dc341882f037e661190f264d60fca797f0da81215fda29cdf642a7e94116f193f65e24f19f84d66e24799c183f1a34cc24f199230fc28037e9439f851868b083fca809f32073f40294f8c4ee1598c203921ee8eb57de8ec90501bf237b6c37684072cd87c1d92f9824c414a9af739471225c75fe593e32fa57d1d51cac7837b05e92673121c3f889b78f92cdd61f8a12a601b3c420337e0c00186120fa8d200facdd7f13b70972e0c65b9609ad1203d5e218c8b8f06b299332c4b49dbe09ba5e0e366e15cf8048b7c290fc08049b0ce9ae6f98287a2b3676f8e1347f7c9a027d6ccfcf1acd4b518cadf060d67b78ff726f318f0fa4d33c49f44ac9c97a172066199ca015f9e61a5a5ecd774fcd3ca250ed130757556d2efcca8d0410177195d555e28b10fdaf85216c84152a8e7c3ab9a15d814c6b08f7e905b808af71d8f13dcc979ceebab95403e83513d651e1bbf0dc75fffe0488a6e4a3274c05ccac2ad307a021efdf3058e487576f4fabccb00a03f59680a89541a1c6a10fe0341d49778e71a3f2fe484a95bd1f9d329e61332ad8f43603c36dfe735dd366ba18089431f00d6280d408369467f01233ecb2c67145a174ab772df0778f170d5d79b949e18d73c1a02449fa9a15c475cd7ccce7f961caca1a3b5f387f86976abdefd53738df0411c243d396b9b77993597979ac540397e9893c2b2e2a5a6064a8872b57af51f402f353bd44b9437232a3a151ede59c6ce7cab2b53899aed15a73a29825fd426f8a200c90502f5dacd9bca2e429d041c763c1b0d42f3f9a67c39899186ba0257b029c149b4f5b0f596c72d439e21ef843e29fa293bccf93e591fa30cf4d2caabde58b0756a3f453f4df514577afeb1caf415a699f183b8aa27c6f6ffaf183ddd29b37bf1aca8cda63c466474e42fae8b9081a6a719b58ce1388a3896ad9f5b0e4975b59ff42a353935435360249dcbcae1d5992f383f6fb7114a1b5b0f16d16332fc29d36c801f65e24f19f829c3e23f990255fc28133fcac0e6a454da06e607b2022c49016ac7e42852709a95e69581000573076be2093f1e1d51e45c076254050346fa7881c72cfae59823d84e6fb2551b4811c340c96e68a9cf612a59a5820b3cd567b401cd3842a4c23124b3dd2b7b4b5b576aa489ec5ed93bb56f0275024d0235678ef30b0963f0c350b3d65aa72108ee6b8b8c3d24947a64a9e23091a9cd140441a7d404443fe31c94b70908f53aa191d0fa29575a31589e44ec766aea56848ac6f11ac74bbbd18edddba07bdd35b597a3b4d451ea9d1dad26b16c1b1afae36b5ec8fbb83181fc5123c4797ce81b0d24c5bee05c31adc67a2f1b5e1b8656155e6b134e5518fa1322776279e8c142d55c4dd6f53c8c397aa2d686e158dfe2d44d79dad4635acd3bc3598eafc3b23a469e9dda38666bc7d18ed98ef6c10b765c68edf5f082a0b5286bddda0b82e0a350ddd30055f1e1e486e635336e6c8c7e68ddd0a0748d8f762613cbe4eed6ed5b77afe1cde258b686d4d28a6a8638ce4b690421656236347e438e8a2ef4a9515011a554e350e1c09e0c8ea2f8d7a8c9efc7716309812f628c3148c1214132a785e093a46d79ccd9452012c267ce3cc210400324088c69e531bfc5b034bab529a5ee133371fcbc7799f3e7fc6509960f9660fe176e3301a1a1d2e147eb81847b4abd8dd33ee0b69dec664789072a15e899dc7bef12068fa32efbffe5e53549925993997c90821c9763485da2a046575a59d29c4b90e6727f696bb0a978563d5bb900d984db1ad4ba3205ef3a9525988c637cad032694eab204294892a411f2770ff8526e37813ef9f2ff5cde9b9e6ec8d9bd9065591a2941baf5cb835ab33676c98e195bf1b9d316a02ca717173d31f70efc93b837d5d51b4fa8ad868162c687a64aadbc0c75c2d7fea6ddbb95b192696163e2e447cb13209a609bf6d74ad17ad4bc161eea8852095d4988c94de7357e6a966edd546948cc9a1f0fe481d8689e9a0d54c20d8d69f5c387d67a68ab9b192da38d6e50c1f556839888765c570c3104470630a0000206d0218046ddffff1cff3972e4c8f139fe61bc1b30871014707a6ede07039f13c0364971fb0e80a644545b4da74603c5dd57364c944e78f348290587d1fbd4da692d186a8d337435f861c663a94a98efbd37c4388c20dc47542b1cb0c6576badf8c3effe8e45510551e17c8a4f0f40132bc2c4af1511ac209e203a17a7840e480f705e93a8f8e8f06344157acef8584bb2192a5df0f20c6bea5bd53a24b48394d4573119074c474c41be27dfdea0ce90ecc10331328ae7e358bbd0ebded6bdcd9a23f7509a09280828424e442b75a28631c6a0d33084d273639d7e70256518e36f1c4f2629403c68a10162caeebcf9c7ef9b323f00fda8a1297532aa69838c8dd922caeb1ea85a4e27dc3870a4813792f345348fcccee1470d0f416a7088689e2134ae89bc1c0da4011c3d4423a9c0a9f50c34a0d85fb39a86118663ec250c3a083acb4d68cdf4f0a185a4dac854ec84bdaf28d47fd508e6df87c2a4878521be77dbc28b711866b18273a6e4ee4ea96bea945aeade6346c647a9845736c1c0cea1661cc19c71c676f6807a62df9e3c5a8cf9844bad524e29a594d23dc4531aad9fb3b5f66a5d45d67aa725f341cf03adc520a51f8edec9430a629bfffb34addaab961d65ada2fb37b3921159dfb6fea43a89d3ef9b2a20d7210b8d4d94a0190cbbb7446d7731cbdc014c14c5cfb24c14391733511445f1d228adf35a54a348f468aef09c96fe74965beb3fa1b4e6a499d366ce89a794d59c96f698f1713230ced95a7796b5f65efc9845dd86a1ce56d72d175593749e40fde5945a6a7507aaeadb8f8f3624e41b1066856a2f2f4fb3fcac545beb885e487bef11f3f696697ebf8ae7a9563cd3c90f49ca548ecbd9294fbf9d243bdd20534cb5cfdf512c9e73fe7cb5bb53fe297a43a9deb1d4d2b729ba9584b4cfbc696badd456aca652a49d297b9fbeeb9d9aa257fd6c2bb5d66df56c31fbe16df3c4dba8cebbee00cd632eab2f140a553acdea752f5651779c583b4e24c9f2c54ef4bc1d248f045edc9adbd17d025c596443d090146e56453550c12e28bb9d5a721c49927b7b1cb93bef4bae2bcbae2bcbf2bbb29bf3f1e4c4aeebbaaeabe4ded5c351e03f8fd3a9bc69d9c42e777dbaf7eabc3becea6ec6f405b35acf7efd56cf9524ffeaba53dff3cb4d9c77be6d2658b064fccbf7cd49328671120cf0c6bfbdc0fa3aed9f8f5ffe3effb2bb28a638ffefbbf8cb8fc50dbcddfdf5bbb757bea8cbebcd8ffcbebcb9017fc153dc2625b78610f033879db249fcef9be2cebd7bc9dd7f37ced9b367cf595ffc2576ff7b6f59668caffbcb7dc978eef27efe17555bc426938873164d396393e94553ce597477271f93dbc3d94511675ac29303616789288a5e82926de5bbc4e57e0961677e18a6c056927a6d350f1bbf63e61b9fefe9deb8b7bb37ee77b7bba92e358e37c61b3c3e011e977c514ce99d70d43be3e8691f43bf618f2d986cf77eeab49aab0654d7bd3bf78ee34e4253a1a75e9ba76fde9065e9da8a4c896529ba56c281f71f2470bfefbb777ae36864bc8e3f5fbcb30fb78b894c3aedacbc717af9a9717c89631c1d18b7310c5fae8bca5d5c5c36874dd50c43ac68b02983cf94a2a99a7b66e17556183a19628a8737cb4160cf9ae4a51345bd8aae605a60b12ea79d7a6ee8e1ff0d69e8a1d7907ad5d6a98ddf6183db78543107a070464af4e810f9d3ebe820ba428dac585bcef6a08891ada36b8b2be23dc7a150a8d76a780def5cab515bfea86d73e738efe2be460d144ad3b6dfb60d85eab8ce2f21681439fd356f66342d2747011a203c7f221a5340e4755e677ba0f3b5a5e3ae73e54c7085a772219e3ab119a49a25c98449b9562aa01f1f6761413d580b5813cc09f664e8c2722179eb12c2a85c4357158c678b96a42cd7d1557459b9aaf6d75a354b4deaa8900a80103cce858684542e86c020aa64f895da6272d5d6a6a9b6adb65a15a962a95a6a12cfcad493040fcb8479eb526d442bfa333d871239900395170702ce750571048635c1883016364503614058102684e1212430b7e2fff3440a156ce45eaf2b947ade38fec3c070d965733a79a9ae3369a7a1e424a3a7cc07334262e8086b6d453ca9a128b685285f4411e3d2b68cce8fc1b26ccbe82c1f8011bcb73978274aeba49fca03370d8b183254d92c6fe6746d7b4adddf2bb521e4e50020828d2c2add6ea8a051f73919e13e97e7699e530131960ca493239e784647a4f0492094a40ac34502236a155b152f33220b8f2a5450cf8bc962018793952b4547981122cceb28851528864508a3226c0861072321a02862882895e62c79f183a98ba32f7104954e30445cd8277825ce60b2313ff83031331795a4a4ca0592962d5a462bdc2e71a57ec09acc0c48930c9ba72619ea0c14b4af0ca32b9e705f186d316991b242bd2d504a05644b6898a934555304c136950fb7ea71aa51246324e931ae09e88661680aba52020880da31dbd18e39e73cd2711c69a6da38e63c8e990e1d1bd251eb8a95a4a449351daf2da0a300fb38fa148661760ac3f0c63b37e2118ff8fbbe0fe3255f585280889c414b1421b8fb04c40aa90a0f128abad54a73d60f11a87b5a401320c002da0003be001c088c21d67139ea2ccd9856ba64537c51dfdd39d3ff76fe9cf3178e35a814ebf65a4f012da3750018128804a3e1384f921431d242d70754230e88988b25137130c6e110c5500c22c018c3082104100284c8cc8c4d04d226281f8f5ff123b5b8d2a9a2deaa3fb70be09c22b801ec5920318eedf74b085389aae843fd7aa657e28ef476b1f277bcec92d75fc6f4d4545c4f65b763975f8b8e4318523e9e32a723ed849ce4761a4077bb63feedcf521f06fd397a787884cc5a815de08dd94bbf8ca6483e4ed28b7dc0e91474e531f3459337108dc27bdea5725c187900674747b3f4da1521b2d3255e8845a8212b1d945662c09a002e96c7ff82356d09e2cafa1cb153ea32a707eda4dc93f430e3cb33e2c712343a669514dff2cd8f223631b766e2391ec387a4e90f35da121c3d54f3359f40672044be223176c534d00bbbcb811d1f3da6d6844d8779bbe38386634dac9308e208659372cce97f2166bc6ef2a2ac14924b3e56996d2c93b8cfd3088e20f7ea0e8dee605d0c18ca05b04cc3982e5571caa8446aa69e2f3dad3fbd8cbba3e7b169c6a0eb7e6490e7a96b69f5b7d439ab36c553158f179be406cf5350ef17e106712c86e45ba64fbd20705aa752bb32b37f366dcc4d00300a3307a0fb2494da4ffab07f8c60d1d5f3fce44e0ce89cb82b93b3c13b94ad7a7c41d41f17d08fe57d7ff750388e6864e8d1aa0a1e3f2814297122548a0d91ddec9dcd2b45389ed3cd40c588627bb80c4d09befc593e9daea32fcba7ea343fcac6d91bf92ae9ca8a72d71106fa0ab36e42baa39030ce77bc1f5965a1b7c7cfec8a1e1ad76778dacf958f0724bbf360d6c9c12e1c3c3d5951c4e51102577e27991f9f41f8b08bf4f16c27552112bcb715e4efaa3010eaefca9bccbe35b5dee9ef81e931295c44bf2363b0a33c0f232b33f783787678dfe2de0590676f725b86d62e3b70de0d192d61856cd0bf65cdae1b5408b400b532b82523c0ebb8102718b30c1b67cdf2bd18b497600e267c88779682f0bd5cc5618a73b01e36a0d45e590a141bc0e2f0c81f3a7c69eeb115be04e04d20ca84557834f550b05834b320a320b32023c93e54976609ddae1b9aff66390080dfadd2a1b7eda92cd30c75909562532c7b1014e5be213377c4d42cd11ebb6696dd931617472aa0a41d1a1791dc1b09c535ec88ba8671a65abf5f6e34273c463884a98e2c857f5dab4872e322a1c5899f731b57f2d32bcf3f6da2a83cee51e8439a4cecdd5ef845b87c84a021f975a5d5bbf3a92608c625ebb38a5934e3a30358afd917aed3a8ed57ee4a84059fe4203351c7de3b4c4c2e4bcfe348144697865b8bb59807a90cafcfdc24805c086b1446bc0aaa7a65ec2dac17d4c103807358efab6ffcc6b5181b166983086cbfdac6279f05ade931e7e49996e4807f040d68cb8e45ccf71e1f6b363a9b9f838e4397eed29d600c94f7c8fa4fd56cbe8b4f305199015fdebc60e6a9697824b4f8291948cccb387297dd5a23b4a74caccc33f6c789095b84aa0d4ee934b782725e504126505754f778117263187452ce221215427b9b8fd5d590b45c9b8cb02b72abe242bb0f31c2b16af18c09421ebd83519f8ffc8f17e9bce57f840144d2ca3eba71f0a172a543d3a3ba906a5cca9d1b5fd050bbe2422aa7b797491718b15b8fdaf3f0e0940daa05920eba792b9012d35183427bfd024cad3158c3eb8b7bfc2a726f37707a8dfe53e79a9b60f3ac28b3b8674386d5edd990ba528505bc1f7e4b47a5a06637ad457a82a02ca4450601d59e84874c81bf1bc7a93cbd63152460080011e57d17dcdf658b9280d6842ac1906a0e06bc0bc73a27303af313c39832f964f1541fbb556852374b4cf0fe005b07fbbf404b11270252ecc0146a297bae5408687882b1d9883d26688d6b1411dfa83ec45f5d90349cfe217acf81fceefed23ed55c46db215bd451e9da7316b4059c3cd464eacc53de8d78222cc367ab7a82e91a484aa599d7c86ae96a4988d65eb3bce665e2d3fd95568b1d9292a5c4d1be1ab07d3777286674711ac3da8dae0b9f19fd31a219bd0eb6e2530212f46956479f43b32270a783a8348d2ffb7cdf0e8996ffe7deedcac3505e6db2dfea0dfa3ec9a47bfaa3d069836437e64fad1157a47aa3943bebe998c4307111357d6012a18b3ba47f03556680ee55d6efe12b2f289e3a7d979898145496791a4d199cd8dfc1e93e75ef1c041086d43d369f2e662d996eb9272248300ca1987e9abe23672e181f94abca0f48f9792792728c5027a5f267a21980a0e37f43d30234753f90469c38cbd194ec95bf23a8114f1ac5ccccecce3442aa9b6bf43dfde66db302def2ccd9c0f8d960b9efb4ea450bd93a745b5bf1488759083efc014454f09e06308ab51b545fb74c105e9a82efc9ffd46b59746fb81c0c0d5dbdf29ed3f01b189c6ca51bb9f7bbbcf53f3a205bfe0f91894173afcb731c4273d3c171117d6eedd8fa114a8468ae05de5fbddb413e4712bda0c1b1b7f1aec24a2192a374f90735914edd533ad89546715290d1c834c76c2c7bdf57ab699d52556714fbe3d2c1bcb676f2c360382c880f556e27427b0b1a269fed5562ae91aad885c0a4803e1553211850995d1d11e29f375416b215a3d53e78dc9cb82b57c7266e7c4dcdbcf4e189bad732e0870d9ae2b0caa7e103c0d90fb3cbab0ef984daac0932336b31c205dd5aa0ae735d4f9bd51c01eaa3ea5edaae8d80a4a74ffc02236c804f7befa81bde74278f1efd66b68463e47a43116383d3fa8db4da5a5f03357d13689876d0f77ffa2a6e877caca190a5d18a3a42a34ad014f93bb923ebf3898f389e2782ecb898f48d0206141be2fc8cd8b09b2a660c8cf39b30fcc12770c3934e7b7baa89d8df6143bc745902dc5e8c06bcade5d0b96e4188342a53acb3b49bb11eadc0cc6e854c575651e53ef4812775dbcf91ce21e559e57ea7cbc10698b999424a9a023e52deee62cbcac89a8af6a29a0fc08e8a9ba959730c5843a9c5da7c2131233e5751623114ab14c9c520b2c4be9a016e02f3799c0abac647d41c939a88d0672243df4c202a4240ecab5dd0f22fae8a848518e1cf08e4dc2978323a42fabd0ed9447ceeec0963b522a323880e9d434a5b34572d4dd003a2c78077dd1bdcfe572965e22dd58c3bbe4062d3cdf3b84d735853c0c684792ad44895314a89099f4399fcfe493ca5deec93a3f8b09e9bb4c3a9eb0b1b669a5526f57035bb044bca265e1858c9fe9ace7a12ac4ae7c7f22772a44b4aa1eb857e92cc64761a11881cd267812d9eb761da61f2e1078ab35edc66e2ad21253e66c58982609d1e559a5e8464423908878eafd7df0cf537cef165050d331ae679c7ab82dc2ac8924387983a2d756da2029322206e03904d418c20c3460c1108b3d3926154aeb0d700ed80055439d2f0e1d75656a738039006e44319f3c1f84ada766d41051aa9dd6fb7992707aa91c8366c3739c381e575883336426ec75235fc748958d4c2d09da6fe9ae45d5d16d8cc4a840b8db939061f4e1251a64f5c5bc13718b7539b8c56c2fefd4898d852695756a1b20a52a940fa03614a6b8d7f51cd3402fda65ceb8122961888ef7497c3e4e4a2fb628c4aa6b98b5cf71e17efb4cc4c1a80616c522085ce9d45d0f42d9a6bae5fc919f9e806ad80c0a74ca7b7d59fb44d556f2dd0c82d9cbe390a28617a12f3596c4be1edecf67de693bca9d9fafe139396231396d8e1b9411a0444185f6c5f33d805bbfef3f4a4a16327fa12a45810b0e20d9b871e44f250e92829da0f8c5b1126a375a1f976625bc9bf2843090f6f7242216b381252f5960b9d9ec58c56eb69db400aee6d9dd7819499acd364a34f535384ce914b197f9ebcfe9d93a1be603d21673d0685313a47b9a60e569278f4ceea537557e049bb36dd47147718b19b239ea75aeec62730cbb6c9b3b3b8825ffa62a3bcfa4bb7b925ceea1cd43e8a3125eed416d1ad2a6b358321ad0b5fc512699cbd90fbb5af154db7572f45b5e28e1b096c866fbe7323503a7a83de4d0e1d6c331149cae2ee5098147aa5589596901d618914b244181e741d1c0adc12e5e6b482950882f4342c0dfec254ca01f9f9d80c215a0ac259e535cfca6f9e14135cfb83f9d4718e8f9cdcd3a0d0da9b7211259a7432e00e80550fb22a79a2ff1ac6c86b625a70554859f2ad760bcf0a347531d5d4a694f58069ee0e6a0891b68468952a3f97d46e431ad3772f90b4469d2fca84e033435baa8282d1b06b3041f70a6a468a85473587dd0ed1f55a4f7959a9094694e6ba588d5da22a69f325a872c1389f1d696a282f07ba77030bb32b8a1664a1122789ebfeb6c2d31e7398e5a779d5622c907b83cf487eec4f52746e3664876478e6e26cf875720c74833617aa97d317e9168d0b9de4df30974343e771b70dbe92a61ceff955b534b27ce09e23705f6853ffa33f16c73bfccbe22ee123aed588dbec43b8d9b796ef5d491721ae2adb7060c3096bfec6dd36f3937b5046f0174458a1040fbf964f0f07600585196b4696206ac3fff46cb2110089462994cb1432f627b803f7ff56b43308f888ca22959e98e714313e66ff07cef9391cb946dedf27574f0e67b0033e9325c14d7ff8e87bf107f8dcb2d08966e6e85227503a3d2800e8113ab0485b0e07a1d78828001c23d3ffa9ee7b2b120549dbf963a233cc5b27147fa2997eb24b4931cdd49401a2a32f3592ef027e214b3ae96b2ea9c13b468bf99256e2d4a09784e18f3a5839e5b3579ce052bff48369c5d51388e3f99b1de9c54feadd82337d525c50e0b4b0fc85dd2748acd685652645d09c0e62262acaf8b8de4e11a4d4fff3fe236351519d1a54370de41af3351354d42000217d10e3f8da4d6f7459fdcf059ce8e753768593c02b2124ee712c2836eba6c1dda9fffda4c2497e6487123a317d297cc2bab5196a302343cdc29c3ff69094f49e7357d5815e72f689ad1bbeca6687e319110427df0c78a37e1a1ab80e020f0cd0f3f356b6cb25f812aa46c28972ae2a16ce9463e412bcbff806a396beb8d65116e0e8a0a8a6fd5e2b301345bc8cecc7a6ec7387028c4b7c60a54879435f377a8ed46d53e5766a062fce380b1ea2c2582019f46b66ef0b0bcda6b4f6d5bd8cd83a6e43936469c9ba45182455b7aa5936c928e874e398a47e323cdbfea4243ba0ef220ff42b274794a4a0d5ab5c3e21c8427402e82eed1763a44928717d33c5a661a425d0515d9e285143dee753a600e5ee2aec08c1d1f68b6181fc547c70c7993e5d86e6f118879a5fa307a6855956a891e10964b17002fa17811988d838c799d14a9d00bf41364047ed95bc41a0b5bd13d98d5dfe30ed1eb32f7fd51a1a5330985d955d8392d0789305ef4fe9bf00723617ef06feb4c7d928d62da160c6fbd5670046209e5fc5ad4e645492581175614cc8e899f2778ed82859d479a643af11438814c14fe860e264044152806fdbcf8720038d9b85158f958e14e136ea8c6000a0288547dcb0dffc15c02aa6a056d7eddc224e8e2b4c7053b0e1a3298c5c05815da9e5b677463aa566102e0fd72a086a26b1f1a2c087644a9942b107022ccbb72a78b5425bb65af07167f2d283efa217e97d87ab6cc9489a162a4dbe9df1875d5cb6e59a5f54a84864b7e92c569086fb3843292488ba0c19f0168853a8e4e11b8b8f9a1bc8b985809d2ccf3b9a2d537d2e1957c885e4b6dd1f0b05a7b4f0558243b36b4f4ca6847eafbb9ad8fde1140c99dbdbaeef7741ee369ad2e95a90412f685aa4141d6e5b5753c65bf79cdc9839692a27f9f7e3fcb1bbd41846f4674a16aa48c7020644a147c48c5f89d10b908e83d93d0200afee051ee925450ddafc186fc04315f4dd9a66c08c13ad513ae191f305e2c927c42627d7265ff9245d2febb2c6fdb85a708190bec302da99dcc37dcda2cc042516308723c095579380daec2e12cc3c6e9d92f7740cc4fb48945d09a0473a89358d6ff1409394bb87930ba9566ee12bb81eef712fa815658ed5413ba86b73e2e35e9b7173df703806ad0c88a0143420c2580bf811be81a423a8d773f96005b379fd09f710c876c9dd69dc4b01132257cb7e9dc6107b9c99ba33e9589eef6bf938f30b26366bf53e4cb71bcf108cbb75d23588c3fa77dc37fb41165b5f580d63acebba6741e1c723dcbb2eb7d44253f76b1d949998354e03d9a2e0e008b2b06b73ccd4bbdd72c652116dc9edefb6a3f21c9bfe9e909c89416719c0ea3c38a62109ea7c47821a0c3b658755aab6e69fcfc755fa867b9b446307229f6a65fa822e3a88458d0d3d781af256dd45f85b99d80fd3ead6f9ac8771931130a4bf68dd70b1c60842701f5e064f363df5542e5353118ddd041a921396dbef573c2711d5b92d2af61591d857b0491242628da12867ba472d9aee595eb12ecc43e2c1e4291398a8516ff9d601b2c9eb0a31a51bfceb74058ba6f70ab5fe70b123f00321073040aca07011563e5956221ccc5ae49e681bf50ed4ad36c64a353857da0e647b97408d27beedc189445d7aa4250f1bdb78dff06b2b2b2f79d48b36d80a05e2b0336a1407d467c2071870b07fbc3d509baa188c08fdf6fc22f1aa9420b99efd42133de1c525c089064227b3ac6219c9b0973ce5bd09547df33ec27257f911bab30501a7e95b352b7aa19e02cc1867660508a995800e6d3b8b21743c890b87e83038357baf752585aa405d38b74b94cd6f871c299582226505b18105baf1ef8fb38fae634d51341917761214740cc19173ca9b0666861f246e8fb4dcf4a8ab507dbea9090c40230c5b6ebb8e80beea7311fbe0dd210510e11a8a6f094565e1cb83a8a8130ddb032eba807f68546d01d2f082c221cdc2f97e7163a131422d9f98d77a7158a60b8fdb17febedf14dbef56078dfb4fbc8628172dd3ceab08ab62fb4ad8a94d4395f56182330001b5631c03b31cbcfd4a47cf858e30f0a74b97b67d819a37ade832729df7a83f7afb11c88bf8b0f8f2a1be5880da2d710f65be309cfabb32d4e647b3c713d62e61d60bad25a2d72dac8ae99905253d5d380deafa3d1f0dc1b290369bb5aa00f0d4428f00396440a87f411628c5cec19c1368d49984cca64dd5633ddb3fd0b3e1cf0ba8396032acfa19cd07163395c2ee436950c8778c695c13f28220e2f615f988b17c44049ab83912002efe1b9ae3d3ac244a420273551dc6f3f23468ffef2133df51846892790b8b90d36db1cc315f08ed84f1e0ff61f8d02b784e27d88c13632c8e1bbe65c5abf08577fa3c79887bf2062377b9fca0302a034a59b7f1069ece56e7300b87eb2eefb079173739a9224363506b728ac7af5ebbf976e0630bab9719d2c4618c97467ccbf8a385b20b1d6556b2f44103086145f4de7ff060735de939f620889908a817d478a2ef2e764e40444b91209bf0426b8bf1dbed8427f75580507ab37bded09d13dd634529b14e87c095a0bd60cc6df1894d8295de1d14dd8cfcaa623ed5b6e7c727fbe4283fd2663d4b5adfee40565ef23b07d005922db6c158092a68a0698070fb4db2e1b3d8336ca25127222b72ac905610077bc1ab1dcac926a2cb096d23233e40d747c2ba6cd1923114bb90ec715ca49c205c229902fa46d96a46b39403b23084bf7901000e29b00ababedb6fa2f33b8ee0c0958dd62dee2dadfd3daaca98cfbd48459302b053e93be1100a7a1b7c24530f42d18f340b173ed2b4c12bab1f9c408193bce93db412715a16ef9c1c87354c07a1eb29aea193defb1b540c8e0e054e7b351fa3ce3e3594980ee69397f2119099935f1aa5eac74405b7117ac2e32ec0a93215a83a7a4260d2f0b144e54cb1f6c2497a7820122447de094d63f61d6489436c4a741d34aa41843070288307d0317aec5307e7fa23cfb49de9d2af3f8bf41f20e35de1303f9d5a62e40975ccf8dab3476e02d07ced13eb672c6285d334113ea8d8381a4a5ed4e8675b85143765d42d019bb28e09d4ebc4af19abf5ac97d4ada53788c1a5e2221338a8fb5b04cb88f72ac8748c80ff9836a0d6c6abfbfa42099491ec31d095e3e56ea6b9d2073db3a61d02ac38eb62ead9e87b0ba713467ddcf05f9cfb70f2a5d564a9dc87ba7b7b667203daf2448dd448050cb48cc17a621471648c54e24b2bdfc7255ef45fcc001fe1a3dd0311ca2f7c89f0fd41b2bc84827260a30721f81818c20bb4f16b3129f6fb4a65884c7370cd08b34ff6f44ba82501eaff915e888def69318c10df679c7a7f29da74f0f3e2a406e61627c90d1eb6adac26e6dfb8372258f9f28db75cd7504274b494b5a98823336d3993c0c5d6c4768e388de0ee07311b83b718adb87ff0bfc949fda60b4c62c3eebf286ea2d26fe64d12fe99bc50cdcbee9bbf1b8eed2ca7202f06c56347314317d1ec94a06a74dba16119f95bde4dfa7ba69e3abe5fb1491c795598b00383400bf9f5094035e55effe000ffc735c9b16a69c54faa81a3e452684b3c7bc8ea22a26523f1a4c5a5b0e13dc5ca6c277463276a626d825b36c11a8298b6d34d03dbe5cddd3b004cc49f80c4233f81f5d7c984e6383e39a0306d608071c30b62c1a085e405442b8c976e1b27855295d3e68ff41669d81752c4f5abf661b0429c3a5ba575465ef164717debbaca975106ea225748fc12492fc40147268c6c6d9d6140e3a9d9ea53073daeb5ddd0c67eca324608ce36709a2adbbfae05806de710ee07e57567b7ead45e08cc695638b4a9c3783ef8675903aa5c7c3c9d87d83932c09d194ae94f3c60e75dbd5eddd5a43ded8a0a2d0e272de29e606db7a2a978ed72b339ae3b58bd0421a5ad244e30d97803e8c2373be844e8cf303b8d27ab44c94979ae25a86148f87b97e8856891717d490bdd47993e68eaa36e63e326ec021d24e23aa606ed90e29ccf844f37fc44f9a6b918993b33db1689b446de9a4e9544faa15b1db76d2d1575cf059fcfe2032cbfcb5e323e946a2647d803f05a2af262cd3750d83cc4b9fb521c85f8ee31228198ec710a12a8fd271af66f8a7401cf19ba6ba3d7d2d10ef706355a0ae2672976c52dd28a582eea3fcb63042a558126c94f5e190fd91c25fb8178b843c2214928c52010996fa1a32b62391310a0f907fac666a5cf41a686b7febbdcfaffbf3affc0e916da9f10a6bc2713ede0d45d7f159429e01b4f5acfb8c5b9ad79930236b99a559da09465de9ff5e33c8252b07d0b6dc47c2ce8ad523ec18788ffed8287e99f9bcdadf76d80900a3da209084f2a38875b611f04897a5b340c0d38c403e44d7b718dc61171f1e11654b1007bb6b3c3fed5a200b9f0760c2b10ccf0651f05141627343e3729441fbdfa4e24292b1c180a0925894d24b5792ae0c99e30c24b174301ddf99168ab15aa7c87c93837b04345226f82e25c8cd316698633e1e0c43bf3141cb6442bb7eecfba7a29811b52ef2e22c44d20a1caec332aedd4f6131dd6d6fa9b90290b0a800a5af989df653dd929e4524533bc06dd7f0f03a2fda959c2ad68d6253a6d19e067175dec5b01706dfc6c2507c5c44a330180bbb9b78c77e7704aa3345475f278f1f1f809ae6e3831e3d30897d879276f4af8b45e8b6f23d661949a4f6a2934ad4df7ce98dedb320dc2360a74cde12cc513746309baed3a9149c1a6097e26f8aa81410a5be9c9ca0e9902f718761cb7feeeeac0509025c38e8ba71dffda3a6a4a62452eb9149b20b5c9555a37a4d479ed7510ea623d82cb74a3018e13efaa1a9b04f55c6a6bfa1a3d5a3c782f464c1b084410efe08545db10e80a31dbab29b1ec344b10713d3e8283c88d6e666bcb34faa1a2895c6d0e2262a679c567de1faff6115604cd37ebf9c4825b8fd1f19fae42408195bd00c279983ebc3aa64473be5f02f2750801a0864758193525824db5bd673bf259bc9638cab1070bc598dccc12bf84dc909b5b2243e63b1a7f23a33bc6ea3b259e13e362fbe0d7aaa29c93432f9c3823b6c8ecba80f29689dba6bd3fad6a41ab6112c40a05680f0b0ae83f10e7183ea8efd86df9d9e174df8513bbecc5964f198c75392c2ef721127ba27b8bacca6421e02218545921007ff1881a9d6b21b238a0d2de69fee6232a65ebad7283cd64938522e065989d46f4373bdae51ddedf4761a6d412ca84e2b83b95ccbb2d2c2221ed97c15aa04758b9354d7a84ed28076eea12613fc3746d479a46d154c313686c7ee012dff207aa8f54d93af1e626b4222dd033fa80d715005c55829d0b88b3a64cb0823f7972d2c3cb04a8bad80eda5a7bf422f887228b16b4eb32da177763402bbecfe77cb7405519e6df83a2fb5ad57cabe9d9ca54ca16431cdef6c3259e350d072e8b00a50b6692b680c1e5c873ab412f62f33efb339cacca71a25b2d1d3232234bb2dd5d4a457d0be705daf44e8a05cc4a4e08655b4dca76394c600485937a32c810e2709ee8695c9628d49c3baf93e9b03bed8fb64d797e866863dcf3e19b9923ddfa2d395b3dd90186b7168e7117854b1b38dd99471aee735fec07be4c3aa5cf0ae44d87b8c7e27533a718b621069463b9242476ac94775f9e057068d7ca493903c522d50418022f78fdd8d19c65ec576a32e7acf2170fd84f03965064fbf293b5a75d911f1a575ae701b9deef406d309bd64c2e5832d26c704603d67a468fdd9c13a8112db82e796713665e5abb10b8ecb5698453b09e25b0d761f200afe7794ed90420268864fa1e61b8af56f8dad89faded0cec76abb298cb7c24e7d0caefba758748b434725e803b31f7e8739f7443b1f6a7a58ebe7f8ccdaecb213b09070ae77e0ab941bd68f47c184c97381e2cd8a4e74b0b8e1290d3320228637084b28f618302a310dbc9e1e775d5c9a593604faf64ab454349d9923bce8ceaecc54239556cb5b8ecc5a1117bd2529b085fa9811b8ce59275109260ab2922c79eb6003c4388130c80b0a96cbe9ce13af191d1335b3f711437f9de2ebe7d56558a2fd710e45374a19dd47f2a779293c52c1cb36ba239b0b9b0c5eb0e7b4fcabac2ee039cf3a4a19186726c938877598f9a69d08a6077039cb1635439dddfb140cfca2220b1b3b1bf1960a7050f34ffb40921d505bcab9ef01bbc0edc4270d0deaaa7c5992c7afaa279a92014672e9affa2026ac6ac046f68c28c5ce6acbe34d6e21ba2162d9531342a55ec82e92e6a1d2fa703895844898353a8fee6fc01741c02fa2e693f50405e1975f924471ffcd640d74fc7a3121c4debe07358f8763a7cc9e4892f0db7406e4150bf9d0aecd7e01e3087d748728a81d57e2fe10f51577c57f2b7b81570565e35d161a5dc5b24d952cabdb7943bdc03e803db03db5a6bdf278ae37e58fda86fb4307bf5a597c2ae86f1c0787a4e200cc3e94d358e0777a1280e8703e9a594521eaa50834544d59250a87c5351504f5756bfb25b41d29f25491f55d596ca33642dcfb6d6f67defc3acb5b0bb79c82a4bc53344e396feadf5d6db6aaab7a67a5f6bf5f5d9824711c3b289c784a9e4680660f868c179444f6c59fa64c17fee6c5b18952c7ce703b89a8789d7e494719ddede7dba1b06fa40f1fdb01f370f50155e713d5f6741f47ffc8f7389cc4f0faee776924af3d80d1300473b3e77ce00ca576745f1d1499f4e27ab7a74f267054027af723ab905a7b39cdc74d6131e9d65d359b7939c8ad162f6576b36da4cc629887159df5153eb268df5d9b3eab4311beb994847cf4bb49e9d7ad30cd3f7fe333a646878877758092f61de92e5093054a96ad5ed94ca0774b95e9528448080808472391ccf576477a403b2fbdabded4ecf6969c79482822e79442457240bf599cdf5190d7bd255124242fbe9c18c11980a5d72a269e1f78e7104758342faa42863048f698ae191e41a9c3cc219ef7014aec218633c93c29ac85a922477f9f5af7a6aaac35203e5b24ea79fdf0c64e4f59ac15eafd787f535ab32ad0b45acb2dce6b6d8d22f6949f61c92172c070101bda6f0784e08a1b0e7aff15f5916ca3a122346806646b4b9f71e7fc68791d477e43b28b45330a8e774948649e0dd91d709e9848c7c2e28e8f2783cae2dbdfdc9f606b7582967cb7b79cff8923b1289d7cfcf838ef40f8cf40ff2a59fcb8dd7ea724fa99592fb29f68a9a548a524ac3fd3351dc5dd2d53f21318657f6dd93944766aa5010c3a34f4f236beffd6bcdd30728a3b73ec864368bfa6e180cb6f7c8f5eb6ed8162fd3eb8a7ee25123fd4cbfbcb0f005a5732f3b852a4bf249ca07283df224cbaaece351fae9f5d62e5951765f56ad7ae237c1a0aebca69e345514fff9f259559ee2267ba409412e89ee93944a84ce991224b93f12149493e4249422e9f4881107843e4897cbdd6ee4fce00cea1f1479a11cd3f1eeba52e0b18789757b155324c8093e45657f498f7758e9f6e879559a7fcd6bde5bb4c4aba579b192d53416bb9ac6624472e513317fefbdf7bea4dd7f29dd9452bacdf277598b516a4b0b43247662988e93864c91bfa229df7edd5f077236f788d49de155ae87bfbb7b8f1e94a55dd94cb0e4141315cbb33c97a6d1511561fa55a788765555f34e8201926380a41920a90524d700493740320e9000235eeeb4c9dc9702008511112b4af80b77e155ce75720700d1961d791443ae0b218fa0eeede544dddef7b052de41e11d4e4f9c2de52b19b8d34b7775970e7b421ce25ac4a0c4c30e476f8067d890830927bcb005a9d569967858557bf237550331b65f2ba8a8a97bef8c3ecd2808fbe1ea1655fbab7523e16e8f0a1a39eed32dba46170a8adb1bba71fc9edc02da6bc5b2fcbd9f664b739fb022428082850b32d8a861051de4904d31830a591091c30c39e47b6beff64271049b949a740c405af09c6890e011d472b9b9c9dac2af4c9e85b4f0db2bcd4d4ee5bf77777be6ddad0a6a796809a5288828cf2e2d85bf5cef07fcac34d99c4e475b3de7c44a9647e4cc9d7609e80b031ed733efdef7bee9f4e3c74de76fb19aad0896d9d4da284a51b7d17d369bd999054b6637369b02ee5b02707adcbb7f6fb3effb3ba251e20efcca03f3bc2c4dd3347576ce7bf31ebb310ef3f65e3dbbd1a28444f34480441f54ef90bb4b22d17deffe6badfd7d61344ccca6f19b324483bebcc9b4669634873f424ed334cd5c96654b0fe964cced633ce706ebebfbc1e99e314e34e773ddd2235a6d335fb36fdc9730fee2fcc24c9f0382dcf2bc3c2f8a1788fd1ddd518c9bcfc9b90140801f604d803c02ad8e72e30f4a5501fa2d975992d215038e5c2531b918f0477886f0e8595bae076f60ad6f62f3faf63b979ce772e79df72e39df556f9a5f5abfcdcbf6b79e79c933cfbcd47dc9edf5dbfa12dbf36df3d926976599df96c931a684c8279324914722ef276e9b6d9f345fdbbddb66b3d15bdaf6c3deb66dd776a96df792bfcabfe5a5bff7fd26b7d7fce66518dcd0f26ba7cf179cee7c0f04be2cbf963b25ddd971e5d0eaf7bbf5debb7ffbf81c1f3c7cd03c0f1a1e342f373c6ede8749ee4cd387e9e38686e606ef76bccc4d87ce9f3c017a76375d04a0639e9cd939a45b22461e08869fa0a29f23dd49929357a4934690742742a77ee1479743a0cfce1772fef420fa7f3e3ecf9db3f538e3acffdf5d9003ce9e8f1863630c78b9a76d01e9778731e7f60b20408a2ac985245aa7a4aa2d7b201dd9df598383f3b7074e8bd60c4092489c782d69e79b02ca82fbecdd7d09f4374840dd3d99e6b6611181525bde25429d1306bfe2c05233a8a164a5440b31684963042e926062042c5d3020259ce2b877cdfc501d1ca10f02d2e5b85010c6409ceb62b1dcf97f9391f282697cdf180cd9f949753aa7b6d36e69aa6d26a3671639ce63458f18f7e0032dc0bc9fd3f1cf644647b7d6ec77df7e73fd16c100627cafacf011368ac2a3b152b6e161b3639c769bfd7abd5e377f8393f33900f4f81e3a436e8f8b3011a61786ec23c5afb514ff08b9d113c553abc5f062783fd650de81c176603b3b670f1621acc7f46a6a32157f609dc24e8c443599e3639140ebdd3b76903b603b30a12938258f76626231be4f7247088e9a12dc8e5596ea4edda80b857778971ffff09cf8288a91289636086c32e4c7ef1f82ab9af4dde7a62fa494f6680dd33c301eddd3536dbfda23048836a8f8028b9f132eaa00221cb145872a56a6c43024c30921012ef0580fd8dbc1e2b03e41555fbd72556b7d3284af052e5c75ecf1ac90a20206b1c6c23a4201450c988e85b13034c20d1cfe92420fae936ba35926ca79c7a470c2801f9d4dadad00a00e7598b7eea1fe30f797d7129c1b58a02cd55d2d629a020616909ed8a0d45305afe1587baa708da16aadb5d65a6badb5e25a6b8dd55a6bad9708ec81bdb1da717c5bfbd575b4a2a8c35083a2b5e28b231392863e6ac34c73a5255896ba52876028b27e04b31dff690ecbcf140bbf557de2e84a2b6a308a168b98c3b783548a84389ec2f0296e4089fd9902997857763fbea51f1d12250d8ca51c4590fc03bc3f71b72738417c2224f055f885c90575183e5f8f6a2b228e10c9ab1f9116a88290fae2c91b68801185c5099ed20e452b487941821b525d586d5d823c210a41dc304a915363408552e8a643ff07a59452290bf60bea9f3161b281f84dec99817d0a8af7927f434ab31884c77c413ada2636cc817f13317ca2484142092ea00f56e0c13f089e130401f243a78613f69a684f49c601e105d1c9809b2af280043e255ff0c44c350fb1d88b3348e8e05420522759b850aa35340b11a5636512527014b50b22f9230b8b642fa2c9236fff6619c7374d738f7b8fe698c3d03459632d6b6591e6b758e6034acad740e7b3924035ac26b560b4f4ce66ce9c9ba6168300f9e1c2315df88b3d255427012b9ca0029e459ac5abbfa55b3ab75aad56abd51ac7bdf71e5b3ac4b9ddcc9af9667f8e695ce4bf5d74d65c7353676e72cefff2cbbbcd659973be9be756cecfb9c95b262f73f9dce45cc7ac399bb99b3a9ba6c9b3d6accf61ac7dc6e09453f3290cfa636d06e28be51886b40dad7d313c6951e167f531f468c9f2ee8dcdd7b2f40dc3c330472f4e2f49ad5e6bc984329bf254ee612a1c35fe46993ded2e5f9c7e36bf77bce53d2df8e0c955399e4b98a829eedd7b748ce28acd634e4a2e7fe6300efb8ae40b24d6e6d2a16df5d6affe7ab2891a75461d1dfb628007c34b3dbef736b76962103765b0d704afe27e8ca3c5416802ba90c7b41486b8c7cdc4c460624d3503dc686ddf5a5b0e2904ebc8b3ea9018ac41f1389e4b7a6f99b7bd4bf256a2e7dd95546a576eb32a04f32c0d153e550548fac8aabb4515d089b4c1170b2aa0a82c6aecf47bc3acdddb6e98ddb734ed7dd3da7bcbd2da97b5a5b5b72ccb7fbdf26b77e4d3c47ff5e7e434fb91cdb253936cd66f3df36ef7de4b95655d36a4f7bae5ebf698571ff20437aba67ca65992bf29f3730dda43cc6bef8d620a88081357badc5edab0bffd0df638fb6536f3b8f70eba96966fda5294ddfbba753c835d2beb448074d4ea271707a4304ad510df205546e8c372883e7188372c8ee1493e69c571cc740c699808c3d80ce6611dc7d15e1d8ea1e803c7b36012519bd140bed1821cae32f64f140e1b25d59862526ee82051b5b6af2da1cbed5d7f4397b0e746c37bdbb1df3636355fd33d20810ab9d57cefada8990c6d262333a30d39a9502a5114a32324a65d5592a1cd68fefcbfda725587408cb9af95afe88e289eca6aeb5508a73bce5d9dd68ac54897cbe56af559df9981f71d65d12bccc9d68ece830715c20366db416dbcb7fe465d7a168231bdaa43f54925b2e9b7db8e89d9ba6e074cadb5be6805f7600aeffa775ff24302f9517b16c9da3d7489899c96493ee8a0a6e69c09e93f563868c1b312850a3b21608f053682d0f22b61ea0a1a295586c6a822c21411647c5250b4d4f0e36189d6ef5cdbe572e99819a5b6d0525ab87658db51578b756fae77a1573bbcd14ab25ab796adceb759ea2698a457b7d7ee0b3f344e6777d2cfdd77fa34d37574dbc710f368550646ec2a96401020dd0a244574b4d88bc673581f07398fc5fef36c68f46064917baca3cb75610f8b3d1318d8c7acc18150efe248ab3fe455351ef18f2fc3630f6733bbb76cbfecf7ccda5a655e5fa928298de7388a2fa3794675e8a0e9a0d1eacfd4b1e28ac53ae26ac555067751a6fed8893333322fd62a8a1563fc322cd6992c93b49319c52dfe4c1467bd8bfd25be7ef67a85ff3305645462b82534aa47f5270cc7316ce2d13572eddfab4cefb5764a44a1c86a45b4ca640310fa8c8c4caf5bfacc49ad721f7baf74a8a6c6d7eb100b067fcdf811a5f509dff835ac3b8cf56b15695fd365d4278b27270dfeb1ff8c8e2a43ab35dc694efc18460567e1b3ef5fbb71e0c1d35ed4f1bc12a8f7ef7537a34326431bc53e93714067f865b01827b1feea56314a89400ee8107d42895c5a7c9bbd2e95bd32695688732dedac373fc8188081d3b8165f34600d1ed358a4e18098d38f21711ab2c01a5616eba40f8a2c923c635a24056dea158f561a86a1a6b92ce290690e5070cb74339d92482b3c0b23318f370b145cf07dd286eb888aea8a5d938b0e533bf47e885900890aaa0866018c451b320b48396a85b7866398f886393c5bc3389e0301449582c213d63e1dd1148794155698f039f2439624a8584144aa35059b141642d08453a4aeb002258856153ede13d20b67b1a5ced4859254ef264d3089bf09790685f4e9fd71747171b9b85cd6d66aabb5d85a6c31069f4623c1f249f2e55f48b267166b244952b34816f9c2d2e71df3f31f479a47b0dc2e2e17978bbbb84bced925bb700e6e8d73bb912425c9ff32bfcef45994fc6ac9911c3169473ce2d0d27bedb5217ea130a1ade51a06c3d0765aec465c1a6b1805731332188a612f2a0c9676a8640c9e2b0f001000338500140e078402d2581866498c61d63afbd4020b87190c27f4883810e4310c811808424421061000041800033435433425220aec3662d7a19f97a1c09b4979113dbf716b7b0ba343fe5978a5cea2394739e4d7a983c82ff2a1fb83b76ced08c391fdc1c6033053d9e9c67ada73184c8d36fe657a824e875d7c71d74d12a6175c315b5fd635a041b4a10f6a71ba2fd4801554e7a8703fc0694069308ad05327829591d4e0e18b832cc0762482547258b78f600cba404202792b802ce1c1b62542eb6c0784ca5c95da3a3d08aa79b057ea50bab566e190f0b7ea74223f72529fb5ef6369c86c0ff6732baeab0286474f68ac77763b53b038ac8d75c2eeeac47c70243bc7cb9ddae81c3e1c89d723cf09df9f43a8871ad12cb1aef5b64e17f8bf375b53f25341e34e871159cbfdf443054dcbb64fd2905b1c03d90b454d7b4e2515984e59314dc8ff25831f20c8f5e042d81d1e0a1ed88d11d8a1b81f678ce1338bc70445d7fc2a05800485165f4c039e88933d0bd9537dc9c9fbfda7e9dcd2b0ae07774e7b9e4ed9b634dca3a1af27800c91857c1794ab10689842915982a91a7958e06dfbd068cbe4256461f4a20c198ce7c0804a7d7a13f1501985ba6463dfa89a61fe7262e4cefb85b05ca1ede764195202eda7a2083d82ff82c58340c2e71e65ff79e4529e298d26d9bc1a795799bc1b89c39eafc21df7519c1b6297e02b22842126f60ff0ffe1ae15b0b29ab2e014c84c9d53d550518057d448b9fbf2f99996b39fc01dccba7cdb73e08833f549b3d2cb33f0553bd1e1cf6992a616b7e7cfb40343adaa08f26b3393e0d8f963d6407efdf9953aad3b00bb56ab975ec43e3b3a8f24d5df87c1e6f06638dc2054b9a7c86448ada234e1d2afc0b45dff4358b829c7fc9f06a146a44b66c18594a0a40417fd56ab6b1c7cb568d85255250bc3fbedc6e3823a78e2d12b497f30babe4c69fe890b2c6d73b90605cd174198c0b34f01e74d061b29322f09a14e97be56dfb1290436c4b5854df1fe570f2655e9651f2d5c8a134d354df638f97b2a91378eb0e19606a535bcada425844eec3e5436fa6febe6330f7cade0fa55e31f5a0aeb1a95a7a2e51120b5c5e7d8383fcd474b94152b44673d789888a598f04328a0abd5a2120401a9c2be9b438a0920e296252d18dcc139c28916879c9a1dff1347332ab11864d13464cb09de72eb6137538bc86b75944e9109b94e3ca3d3ef785de6a1a2f02e620e8b6b855a323164eaf01cde6dc18c484400e17052d2100518f25dbfc39307c9f0ecfbe06b48141b2afeee9e4caf2c651fcb7aeca29bd37b40964a887d71d066681b3095c6f2aee95ebcdbd028df728bd0ff23ac026fcfd6492e9fd1ad77888f1309e66b2f9652c892c32154c02900c88649f98b63536ed33b028f86d74108a0db4405c8438bbf7ee8e2f281a9848e42ed6abdcfdfff95a34f80be48eb87ceb1618575c8b5c23d78e3b974be0e66911dbfbf7a53efb00e6bb3c6c01c35f4a60ab7fb4364c85ce83bbdd83ff4e7f707e994f9f109e297c02762108a35d319ce726c1e965067aba94149a2390204d6bf12eaf949b301649dec0a2ca1cad5f9a17d24d3d0c005dabc4d16a1e2a74f650cdb3eb73e2565bd70613105b67a86b447610a6c4baafd4f714decaac6b6e6a252d135e7e0561eb3346a7f71700054140b7ac991d8d57992960a4679ab95ab4ebefb6267b3ba5fa787f5846380b27cfc1f1e22c58ebcd4439ef24fe9d986ce4a5c98a083adf5275e8d3b3373a3f056fe78ed523f11c6158886ae47ae7574424fd79f40cd4f165651e81c2b77d0bb1336e8b27fadfa286e7d23e0d68e8cad82101b2564d0d8267fd50b4645af7646c73ee58f789a693127cff21480834d7e6a4a66aff224d40ec1033fbb707b56865c83f1e5639b0e84c703493fad85ee0fbf53f40dc38c99c670609b7386c37e2ded669c74530e1d78756df78f631ad15fef966e6e21745cb0cf6742e01d1602bdb2aed37c994e1bafc24114367542051ce57602962f1cd7de53bdcedb02db59c84a918c9028ca92ab7eb7360efeb35bfbbfbd491394a0d3dce85f53dc6ca13a3a2e0b1295c498f0fb0e1d4197e6e2e42e736546e41c0b84df49f77bf5f4faaf8707484ed0556bb2369f11dcd3a2ec4ba9e23021c9250a72e92cbdc4ec0620ab21cd15335d41b823a401338c5bc898a7c625adebb087b628a2ecb93defa28e40519a16c1554fe84777957ac3b9e833033e53f9dfac527aa39922b3b1a6848c1dfe3ec98bd7eafdc825be3be0f5bf74006e2dcf0fcb05ae0f9aee61a07599689884a28174f1358d91fe276495b8be01ab840d9492942eb8f1b9b8be8ef4f94a3bad38fbd0a320bc8fe93c053dbda1c49cafd6d88509dad061d1087b46b356694af0a827b2e2b249b2a90be6949d37257ad6f5e9a77f2f0d4656a095b8128ac53a01408cb044ad02647d435dd6dacd2c5959883a5e680a60ff0ad0e45780efdfe12f192520f6294036872ee897876542cdeba47fb4f52407ac7d2d69295e4f3436a0fd03a719dac5ad96d6f5bf2ade81d3e8c100ba15994cca5a7a6ce42b3baae810f7605583ff57dde71379bf61dc7edcbf2b510160fa5062713286e86a592c32bd0d4bb2437f7958d9bebbd8f63b2b2d90e524c0e6a2c382c836d43d06130a4ef9738f0b6c1f8304e6505bef1569e2c5e1e9e96346f01f4ea241e33024a07bb219833a1d2594d293a0a90c47fb5f8d7b363fd6411b05700cb61387424c14e46e7883a8504756a0e1fb859e67080da8c893b8fa602eb1ecb86b9dd026d3d796a8cd86d5db1568b93231d61f659484de252a8f88b01c2d6395e3ea54ac72f4603c3b602db8ce697d6edd2633a101dd2a871f73ffa3de479c1a8c74f7486e43b5d38895f4769a55b081dc0727b69916824a3040d9622bc409dba0abd1f00fca845962e783dcf1661776ecad55d748791d214add34d8ca094b736a351ac7fe2866ba73aa05af87665577f7ea6347c34c213a53766caf4b6013955e3b6db27245d718ddbe060e6e56bd028a6cba435204cafb1dc167f8daac939f6d6793de5cbd2856992b092aa61e9208f58e5774216d2b5950fe1ced961a69d7e2bbe47b80727681fe399a706d190702bb2a9d225321ab79adc257610d7ded7691dad8a17c12d17e482029bb6fedb47e27119bb2c1ba90523934ce848ce09f33aabe1583bfd3e7441c1650df388ae14c93be847b87d5f415e8f6fa9f128c9288e109baeb9679e5ead0dd553c7514881efa7f913839b62f2d3be5071157cef471d08402255fbe09273982351b47e3915efe28a18b24efe73a472b53a14b6c51355e3fbe6b017d4b57a7ae42a0dc082f35aa05c11351eb26915e424d3d99291e0497b678d113ffa39acea114ada79100047b1608c1ef86afd31e07d47b0c4b8cddf0653e2243b8c6cf56a8be3d330a27621b684513229ea73d16d05c85220bbdd011f42465e55e7e700aa47be69341f94f2c11ae0f9a1445b9d1f31a8577136f995174d79fbcd0c22345fb5275a6d2984fe5679e2e6018f3ad906d988ef52f6ed594f76e7811edc1da6128ca8af9decde77b5f353fdaf75713f2134223ea1c0f9284e2a219e2800bb23456593a07dbac91910c68ca5040201dc6e733e9b7c52956fc37266a6f40d529f54ee9d90a463f71abd79dbde1e42286c6fcfe07c08cb8d9db60d0a492a373f61670ca3faa553bf0e8e1f522526552549a01db6efe6b6314e5c6a719b8d536bc0f8628480f80e199218a05b19c8e2284dc03e60feb3b9b0ddbeb368ea697fcb0f8e1a7b102d1e5402ab79c6cdcdddc16a0e7887bf83eb339c1dfb6a03491e781c2d84db2dd08b40d8b7fb5f2ca6ab2d81207acfe5ed1fa40fc635f8aa3d67b036623290d66b062287ca1596fea49b1ce35dc9b7a36502ace9bbdb20773d5df922734a71bc4aafe7af4b1f218ce76c8dd489bdd2a06aa1d63f4d84e63e79bf0119a771f681c03e9d3bb7300dc65a3c74e1e33f33510a78003ad6fb87cb49dd2b4806df5d0625c7ebd7a44e87f8f622d5d5d0eddb42d443a0877cd252bc4272c9a690e5727905bd4a57622e637f93c6cb91e74e3d880213dd50e0f7502a152b73334cf6fa071104db7dbfa0c2e8308cee2f40cd772c2e463ed7bca9240bd06a0f8666ed23b62601c295465ff581ba11782d0b69342bb675cc2879fc39a0249f03a7a8d032a8f949dfd80d4f1945ca8e75740b9bcc00daa6640979003182eb59c665ac423a4045363b8002e5bf52a94e723dc791a8022e719cc396a9b15ace0a7c5cd7d01ec5c1d686883b3d3ae6dcc8355dd2a06729cf92fa1d153c5ae7e20c7972797b1341588eece95cea58b33d9d007703af92e0645e015a9252def54953672dc4224a190260c207f87228f1cfea4410f096ca00cd11a65e59dc0af37f10b9514e71cf4e4c6139152454fc45e531e33274686d9647b29b1be8a7d6ab60b602b654fa9ca30cd1f0c4c109b978b6a9f2d9b4e53eb5fe489fc945918cd3aff1257c7b00e3b15814a83a9a44e18cde96323ef2adc05b7612d4c275a1f4632d13573b203d33e6c1685fb9ce225cf885971151f72ed1222ea4450d60e6da28e0ddbb92616ff4033f066c30cce66035b79dd0b06c9ed4fd2914e6653d220d2eab83ae28f843241dc93b357a65718581eb7ab83a775033abdd09054bbed99f6ecfbe0b19138221ad7bc2598c1d8b954d7c714066324f15a4a5629c2978b9688d3f1596de76f69a367706513e60bc421193f8016cac31080e0da6fa122c24a951c0421f4c608a99899b41e28165e37740d1e8c483d5b3117b1bfdc411b9012f8973dd749f59d63fd373357a954fd5e2f7262697f79c715a6ad83db7d2c2006225746c2f445e68ea99f05b0a3682511418fee51dbfe9727ab78839a9d51f0328df82bb3391be3e9ea1f2d81d5e30d31c69ef0341a039086d15e10083d559ff91a1971a33c967a7e63d23540960ade686cabbee9e7c2dae5fdaf567d9e330c65d2bd054c4717d9624c57e58dba89bf05d93b4d540addb5fde5c1315e6389a75ed1b8fd5d0720c2b58f0560a8d9e101cf5e1f54ca0b8c0981819e6504fe90d94f4d5be7b7fd34b03a68e4710d0d2a7a71e326819c686979aae96276de418841bda3a7877b3a174102a0c14f6757787c53487f1060f48edd8a39ae4d2244a3697f68c0c9b37e57de5b8240ed589b027b69ccdb5eb6f8dbdea6c2ede50f3ba9b61119ce4605c68847a6fff5dcb3596d2581e93be45695123978e816c7131e02da970b0fe595ac370d0f451f9491f1b098451ab74a753652e1c176bbe91940a946aa10129b785f8e892bb11e2f313ba8e13b739e7544373c28b7e8432afbb6847bca8dc77d15c1e084c89690e9cfa116caf9215120782f72530e2914df7492797d925e247f6ef58c31ced5a9fb22252831b116ccf72f518f63cecb4beb53d2d4e3921c3751dbb4edb9b3d4bd884618f4321af1c373906f1a377c3bb34dd42b1a4d3be5cb45105f330cd39dc229323068c146b7352cbad396573b38034983f5c94b1deec260ce4e1b95398016a798d7a179c59897bf6b9514dfdb7011b9a76487c46c153412c85e076dd86ea4a73088563c01e32d1901aad333f9e893928692d0eaad0c0336c090a02f3411adbc45531181a69473e9d9609748fdd2c50fd35c1d93676e26a5bf50f74c02fe30a9646e47da8434fcc8744c81db8c79923fce93c52fe77ac7bf93c70712cccec7db57c06ad780603d2a2df5fef1ffb3265a67557a4d477b5b7645de0e20fca013a849cadc7d973f9b0b6b13b17cf025cd284373336718739611c361f5856d99fa7a07f34a2f74b037265e70dec2e156d538bd81100e9a6a6f211ebc57611769904bbd9c9101c9f1ba2fd84ab4bd64222c5afa98e8cb37ee3cd0096c59de0e2b7aba1bd1e4be3579c85daa661a9b6ddd5b863a52d2a286c74c2c32b4d9ca758aaab748cdf57b54303e32a03670b2b9c7c2de2c11feccc5f6334fb081d4e0ef87fb3635cfc7deef99246cd4bda41cee779ed8723db9cc2d04a7c7dd6d68e95e3097ceceaea668e19866914b6f7faad449e88bbfebd25acfde053c907803186c511e14abc9695956157d4308370c0362ddf0964f23f78821cae8692cd3dac7fdc3786ae532500aedd5934a52666d45d505c0ce6ee745b0684635218d101afacd84edd0a70698bb14a47eb8b90a8a13f8739f015ee7e508549c9c020a131260ac923d3d19a66b90e176621727c34844ddde98438851a67bacf7c9ad7351de1b0d64790614b520a67c93e626ae24a15f5b37cb0c9454e64439764de568623d06bef03d495267429f75567f1075e58965681438d7a4fcaf89fb9358a7a6bda4939986f13fd59b6da9a9b4b39b0da7788e875fa948276f68da9458818364cf41e27a33232b9ee226f972239986db2bcac16e5ef907ddbddf030a230b9f8faba77179493d0774e667a4ff0c60bd69c99bb176723e7c3cdbc4f43125f49d8dafc3d64ee7dc1a38c5c14dc1a6b88f8ee25a87d1d296fb965733e30708afecb815ee95a531a29b0edeec2336fe262057eda76e60a4ba9da951b3257a8cfbd0aed3c2461e37e0ab6d9418cc655b8f8784860f8aa00f53e7c2da8a517a24fca5aead2e302ff98034c85c1b24d3e3300f6e4c53d8acf6f4b72db9ffcd0532af863b8c81bae9a3cdc3565d705c3fb0f297211658e8a02b23bd88d6ab1cea72f41676b9d799006569d5210ec6567d0aebe6615ad1f1f22a6b9cd8776c8fd8bb6339f655d102b8e83a42d179c2c3cc502c5ae298ae19159242c3326abc54885c3d69c736f69625e01fa00b2a20e93210cc28e7d99da5896c7c4a7c0e5225b9fc69e0b81ed3194d5a30516113213a0878d1070daa3bc7a1398143d2fba781e3f4c0d322e6c001c6eb97543f5a0456debfcaaba631c21ad1d37f4e48be3c2dd795a8cf122df545d4aa5ed453da522807637212b00b5566343763317ad5e7b100b37908a866a5fc6482b86e8956c1c79cee398b12111b6b1a0672c47cc6ebd66ef453e227f132a9fb6782f68966db7496f2421eb77e0db5555fd45761b0211a1c2936b02e196bbb5dcb16da5aeb4fa9daad9a2bbae1fa7d61beedd62bb2bf541f8ca4e17949367039bbd163bc38456ece3e844a671f7d8738fe4f648537b0a1f66d5d307a5641573d68237110fe1a166d9b9f3432f271c802ebd61bc8180cbe9d786b20d0a77a3feb220e38d17433fde4217fede3f5b6137eda79f8612b85bf561b287a6c848e36a034e857660fe3fed2e20fa52215add3d0a6bed3f8233321a805b2293bcf9611d992e07d96108ed2b07c425171548f1da78682b5033aaa9ca86e47b64eda9d25790cc37882d8fde5c37095f7c15dbc290b7732168d444b6eb46294de8038eaefd468abe5cfd1628f3e5be0c4c914dda471e94d8b13ccbb471b62111508142e418edb4cccc09fcf3bf3634b25008315f892e7bfd6053a5d09475c0baf638b8da1edb0e87711e48db08b3e3141243b6448e85c8f929335a7fd6810249bb18293d550d270388489bf7c44f2745c271a6a103948d42eb2f04fafd073a9fe6d08f5a1d5dba7b3e998fb5e845af2ee03a0c30459ced9573412d82283ecfe9cc712ab39a61d68cc1c0982934537abf87d91147199df8f31fa9e994ec2921ab4657a536db3701208b11bb3c1e2597b2f620fb4e924136f5eeb1249d02dc4e1e083c33f5f889d46b9c7c91b5d8d901070d86188b256521d5c2bd9df01b1847431f189aa17dc2d9b1609b6937839b0a7f95e724a5e29c0238b98f51e5fc83b00923324e3aea221e4b70568f5b653e25e9c886a323b5af94e3856c5115342ec7503c8223ab48a6e43c28067be39c790d04a2b338d8b4c2c7b5b0a21e0f2a50a15b8a67ca5b559c887907d2efd0d56f6b06d248ce2ddd0f9b765fec774935e07d082eceeb46bb1ced7f0bab210912a05187048c9316edcd2c5ba468eef0bd650bf7e69cc13a35f2008fe51ff319b57beb029194b741e8a2e460a23b685c60b6ea425a32d1108a18d64610a2b5bf364110044034bc8477c44693e922e82e1b70da80dce98c747513eb780fcaa3570dfea2992810e8f6e00fa76f66968fe3b53447784df8bb7fe88dd2d4ac546d598b79a6f0ed883adc63fd043b3ed0273d5e71f7cbf3a36e75e50a0e79dd234049b20fbd588f95cc0f94e64766d9149fb5639ce855a322d590abdda2f7ec04ee1c2d442c5c6157cee4ebb688c7c861fe44a845fe01b7488405d4fef628d536ef1664ef60be2366575b9b611af3a4e384946b8a7e5eb8e3c306b907202f356c238e9cf63f963a196a085d44aac1bc4b83a25c9d9dd19ef28b86b61e30480e86d882f42db195da9218ac1ac878d0ea1509602292a0204faf2456f4d45b608ed7675fddbcd25c2a5fe5edb7abec7fc9df379c8db86af2bbeac759ff58c14d603b25d86862a904921c6f492ce7a62608993f648ebcc3e4a787ddce70e219f34e07f28e9bddb5bd0839256d689438dd63e620740bfeeb4c485423ff8ab531c0e960d7d03e34a6314d9f2814ae862f656ef7a449181461d6f5fd4999d56bcc948e8d7c3ccb63b47013836cb1568074235e8a1f61209541c770f028803a45388a69a829e0d947e809f87a4c0ddebc4b4800e1df7dbbe542dbdf10bc8dd0cec8e57da2a2b40ee20fa0d07d54ad6b881a8a657f286f8c399b1cc0fc425a46808ee732bdfacbe28a69fadc20d412a42de1a24dc909b627a0783c7082e901fe4fffb544e92a0770da4ba13373658a89cad1a5efb1cc38fb659ac8c0a47ea727d196e7ecbb0e834e0b44f1a544d1c190a30cf27198f9204247729e30b12b4680635591d08f9115f39d7430733791e3a0c0ba897d8832e395f3c1ea91747e08f1550c6c8038ff9d6c9762e7dfff2b6c4de1c5c6365fc07e0600cc8a79ba57331805cd7dd6b06b25dff9ed7d108f28c9936c03c8d817952cc2e23dbf5dff2036bb5e420f2c4b711556bc41a4a76dbbce095fcc65dfb18bdaeda4b8f433ae8953dc5d81e5cf02e318862cf033bced592b0c6a1b772b394225d615e28a1bb4f54ff4211c28b1da4c0330164f22da6da0f6fb43b56d3016b3b9e0f59486abefbcf0002134a9383ddf290e2ee302990b5a4ba8d44b59ee4a6830a9aa867d5b1699447bcb6c64be7963c58ba9629cbbc7fc6d8cec29daa4af3c373e65672b8902496286eb284cce86473611a12adb0d55417563959f97b425609177acf147175ee133b54d6b294b2dd4957644965abb3f328901c1c28213d545fc2b3e7b1cc2933bcdcd7fcd6f66381d4a78715234c26429a07a4e0619e2ff3d108985f28eaa512579c160ffb88cc6849110aaa94bdf1fc0e470aecb0ab28b893d09483bc19f2ff95c9a18d45202c1f0217ccc02bf2a7194f81c86fa71b9b2e0f648ae262b6616498706a622f4be9d81a84fb8b1ec14f37bf241e8f3149c1af101c8489458eefbb866d7b0315a44575f5052734f1f9af860b5be9974c9834c1aeb1ba2d81f04bc85cb4b23dd2a562953ccbc82dc5126fa0e6c96d7bf38ab70dbc85eb324d3294306c74f4b418963f3868dfce0b0a9056001fa639b2227e34b139cdf66d604d341a3a7a9843fcbb7f08f74305336a8d1cf756ccceb05bf72c203086194984350a9b57ac66478adccd4ad47efe43f42e0b890cdc2bf418c59df8bf5f2b91623408f5d13fa429af9064ab7e288cd2b1149ff28c4714b70807369e741bdc85ad2ecd70c09f2784b12abea4324d3dcb346e2e567a5a16a34eb7c8aeebb8076efd1d8a0a5afa3a4a1a0ac51e6430edd80bb48be8b5e85797d8c314f0d622669eae77ee80cb17dc125ad81e869ec59c3c9aecbbaebb82eafd04974f55bfeaec6f6aca1f89de370f7e94795635d8215d6d8e8319c8dc0744df4270bfb24e4ddcbc86f2f9542197d9cf3156f1c9c993ad501451e91f6799e9ba6ba335d0d934c146f0bbc0d8e4cc8bde76709462097e6f66d799f1e37aaf3dcdbe2b428c9e0dac172b57ae5c97719cf9379f40dc6e4ecc81ad3b2f67d98c945653ebd1748dd9f556fbb237fd6bb8e792e71e89c789e4016234e66b3328ae3ec1ec7a198223f39515343e9e16e643460fc106de7aa99e78cce66783d89b3ed3aa8ee27d26fc1d4b5932ad2806055991e4579725ca2bd0ce1747f4b68acf66776be44627416bf5c4d1e57dee68b5989e840aa0b549014be35e47db7b523846b22896cecf492f3fb808e4ce642887639f4acfd520deba05cd6d71d0481a52dc76e63eb572ffba764a7acddaa2b414c9f08a0a405f16f1ec6fe2f3b1fe2dcf7d3875dd3381799d18fbb4cac6a7fdc32529c71ad602788843ac1279d1f2692fcce24587c89156f0966b35ab50c1bc784b48424f4db00ab14da8666087247889b88bbbcba7f2bc0ca4d4c15c40e5b3c8860c3c0ada3d7eee8e82a4e94cbfb1e8716b94087f4809151dbc390c3e44bcd007eb1e4cac92cc6d04842a88fb53b539b78fcc46396c658aa0052c1baeb32c178844a8d000dc388403afef92a2c88f786bc16a9cbc3e3bc945a14ae3818cfc89d5727cc8d66d8d69e1e5c3ccee90f6f19fc632bc6d70c120cfaf6c5de4863e350878638a58e881d000a4e7e08c0df4285b073b38ab2c13093721ba9389a17e18ea4392346a0b1327ed722a8fad7363cef605e49ac9e6a13f9ce360209091c57214971497fa01620415e452c87c8185eb6afd399e6c35e89e3908071eded083ef91de6e491d513ac8a12395b64c40d53e8b2ad9f7bcd598f0d5708011280bad185d851709c1fbaf9d761bc6cae335c540cdca243c01bdae8b7ec337555411aac5acedc234feaa4443005a58d230fbd6a4914a0ee8f9628b2edd5ef65e4c742648305a9ff8ad1965fff2ec3f78b797f03a7eaaebaa5b49c0167c6fc919849f7bb53921ddd76d92653513b0946f9a0bbdaceb00e8e9d5333d211ec818d1191e5c4504e2c627f7584c8781c1509b1f56ade60d51746fe0ad103c3b118e42e07f685fb0d26492ba9cd17d05520e4fd3f69db189ef39e517504f77d7f68bdce30128c76ac3ed7c95351d3d4586c68fc4d38859d89017134b52b7b9af9b6a02fc0622a77a3ec87c73eaf54f76847f331496db54b51ee1c41d210c632095b7ffd576ce00511d30d541b3141aa1a77de9413b1200fcc0a558a5149adf55ad1509ff886ecf2e5122afed71bd4b9bae94b5a026e7f72f08c7c88184e5cd64598b0c714d04003acad5f8e9a01562d08cc26b2e253b218c415be6760bc92d2bca9e529179fc2c8e0d0e0ef9ae15db79d471191cdcdac8cf316a2c77a0ed1733c91d2dd02a0f87e8d6b21fa437b0cc2fb3a0c82223bc9dccb43bfb026856259011c4b76df1f5f3d162c5ad3d1a4a4b6d3ff2171b9bd060fd525d680e2ca83de5f857ad7b86c67b6f2e4001057301209332ce050ae8e878d836b34c67acd15a027c3b8a15912955a8aa040251d6b45f67bd68dbbfd607e5fc4115ec5367853b1500a41cfdc8ec05d93a56b219e8b7a02e3f95b0a616da84389b588d74fe1530e1b375e830d11b5c1f466ab7d20d3c27b00ef3cedeef213382451f6ff48017582b3b48016c6bcd2cd392d2bcdc57eef710bac5f63db2dac6d4c36ebdc9aa53b28fe2b00f9ef00dccb3d30bdc6eb473e63f7d4d0e9e478f9b0a2fe05ab93e334294d44f4e3b5aae9b64ab7c804ea05f9df0a24bec94f78d8667fe09b8dee673c67ece1e6a98a225822978728f061f37532a8b52dbea942719e7b3c31232d0d3a6c8efe01df20194fce9260d6065a86a471694002cf07d60e3c03b0d60bc73567275a49cf86281c2209364b1e4980904c0f4045b78f9db4f7434f975d1900ea8bf11713415e36511b8df4fada5a29ab514492b2904749c3b62acecea101d433aa4e44358029d0ea8cc120e231b140e1e9db00cfbe1f8ad1e454e8d9e5bb4a7b1694c392e5fe0defdd411de0f8eeb4f62a21ee30cb84c9717c41c424f23801bdf24365971b055b2f20a37518bf4f5d046b6b37a254f32964c4394918e684a3473936dfe52a060877e718af4f80e7e96ee6d0c1f07ab1182d267bfcd346891c6658645ed7ad2e2ef5826e74ba3125f8d7256132e18702d6974ecdff2e5a8925121d94d5549516f2b4ebc778671321123b3d42f9fc8de7da1166cb67247b415769fb7ccb6853ad01c92947ed1a4b567e7016d3aa374804d4700aafe175deb557dfc4272c4be2b88b8c8eaaf7c1b2d9ae38ac9770efabd9f91b434eecc23b8223facc61c07d0a7334f716d18238d0f703c506cd3cbff96ad07d8c405e7413cb622f91c87facf8f2c20f824835b7c48ad4079f7a28b262193e9a3ca15a8f46651d2f08d640d3ff2324441128553dfc36ad46def4a819e972d7cef213f1a756179d323761838725f10cf24847b941e15bed96727751b17dcc3e78d040ef2262c54d038a377215e29e65acfbe1918a6ecc66bba7c589eeb3a63d24d44dadde57a187683fbd673d1ed20cc2b481ec9216bb051a46f844ff3dd9939c878907e63c8ea162bcb48ae5c4a82a99a174d78b5a52a422e84761e7b83c7f179b8acfa9d12c719356d8223bf35db9ba8ea6bb53a78d6a25264dfecde3afbf86cc8ab2591bb2683917b8cfe7f31cfb40d2f163563cc1b5df65ac839dcf055fa6e7180b18c6c33b03d9463ce8be2397cbbcdb6ae828ee5bb8dce5886323079830c76322949e76357c236d97abcf7c41b2c69d168b392a9d522e86305adf5abd4920bc5e0aa49d8e5e8306fd89aa2d48af08138b11d608ab6c7ce1a86616215c75f312d63fe38c4fa0210579e5be946582a27af16128dabf8f4640d2d1454066d1b7975ca297e32bc8c33ea62e3ad981bcbab23ceed92580539c9d5cad2b07e44c21a94127e116cbffe4ceca4df9a4149935a9c74ff12f27f1114aa322dc07628d1e2bb75c59464cb2ae30ad1caafc7fd1e1506b8160f740b6b098645b9afd9d9fab5ca5ea7aa6c7b2d3b3bbdcd6af525ee08370af8f0dcf3e0990b316f10aef37ea9fe34842fff2c4416026468fc8372d9dc4bfb680edaac1d2f9c14380862256b437a25d38bdf12e2490dfb89ee93e197ad87f3b0a31b62013be410671a0cc9e3aba57a6a2774dc8dbae9eed9c4b5c8cf641deefd115429cec1153ae43598717b4dc5a94dd2497cd4247f1f5f7e5d1dd53d05102803b898d42f6aea365b805b25fe1c28a15f93300f3601210e6ec865bfcf07349d803dd6f182d8c8d10c7ae96e7621caca4f5430777b66277fdd8e31dcecf0c3dd9407994ad9244a5b5902b045f5d710baba93d70926c0e102b2c908cc72fcc4522361d77c7e55b20d23965115cbde8454d7687dffa879a95a553187f67c1112e6342b16e32aa0eccda90764da64272c4e804ce7b662af3c2743192657756cad82dc31a9646915cc6130d4548ea11972542ba442aab87528fdae8f7b13d02988d3d28e941b2aedabdf738468dbc2c146b7f47d2edb0e966bbafcc14e254f3b8d4ade47e98b7d6cbfcf02c6ef71aee4fad3def54affdfa3ba82521700577cc6feb8c076ce7bc058401e17d4da6ad19ddcce66cca5d3c041970a611779bad43a6b4ee826401bb3f6d68d816ccf8cad1100979021737b8166f8968ca8d16bf4e1ffe851dffee9f9a5485adb9a6c645645ba6e179e4e2a52b231cdc49735e4449315c111e890e5d3ae2102f75309a175272073279cb0241718d347f622bf6581641fcbbe7afc2e4197c681ff7b08baa0be4694de09fe2e101f1dcae79a11c9518f44a53cdd49d5cb7f295308f5f0b344e58d16a41333f68b3f9d6c9167f92f3ac7e84ca3ec4873e91e5a6bf2b02af22cc6653ed05ac736c8c57a7443179567d1ff8f76182470e35e9aabd870a12f3a6fda6fb099d0c1e7ab9b441f9f5ccf05e0d75a779b5c62abbed544dadae75228cd0db374d37db3076671e3b821339fdf28d3a735b69548c8147713be7b5371af54d149d7e11b5f08cd01319439b7126f9609b35cda9047ef4698210f761d8a7f8319854357334dbf660e77acd2426c581cd2d9257967be96b176c9b4a3e6a7d0105617621b683d5102f3e4d61a91f33f54eba19a3f50017960556505df5dc68e49315903a4c3149f27988f91be822107c37a5837d1f4d9d14885fe45acfe4afa5101b914a0aedbf8fb84d54327f67b52bebff9415ee67ac2a71282a22e331d06741493d1d96f5a11c0cae695ceb9f4b354fbc57290bbcde7471291bd41d9b422a43665db55503e319d236706132188a5d03ae134552f33264b2774968848214585cc4aba64c810ed59217e4c668f5f59f8e011633312d954c0e4a096d2e524cd7c771bd0e67c42a19dbb897d1504e851cab861797072bac116a5211627b1c76a4ca6f19ed72becadcac665817b8499a82751f3fbe30ad884cb023c85df05052c275b17fa4225d16b9ce9a97972cb04b9ca1c46657554a3f59dad14a294eeacc1d03e6ef0aaa6c33f39b2449fb4ca21398b4c8346a9843e354e5be6eb80303c42b452a016410db605a04f16dc3ab2681e546973aaaaa8cb9ee6dade6fd64078ff5e3fbda1209d1e90c607a526e359c209b14e444909db1d1ca4c4f39b3c066573030892daa2fdbea3f66016fc6e37da11217539776c1bebc61a4bd6c164c0ca810bec4f3f2e916aadc6013c8b03c78047e5cc9b54aca194d88927764cd014823b448b83ca98b978ff2cfb601da69c6cf273cdbb329182a327cdf9927db5bfabfe40c2d0c6e29dfaf7d81d58002e70bce75b881db001f089030d47892ccb2adc666642fe01bb172bdf1afc3f5e42ef8600a3e55e2683f362efc9ba47f81555fad7ccaa156ec20d546f28f9d4f58147cf9b93da70d397f4d89e5ae746efeccd9cad352f6bfb3db6c8e0d9332a009743ad667922cf608c6a9ba1aa017f6ef85e765b1cd6d283feeb945ef857d0e24ddf32a2ec55c61e249c989abd0d0fbe327e0a4128eab8bafeba69b5a76f3c1069d8dcd5212b2d65f338ffb2627216502926208149249a95c3ef1062461c3ec42b341db16c545d153f2e88d7fbbd7408120c9a3524d374e273d6204d17f9c72eaac25aecc43ba536837e1b596a6900b16c46bf4a0b69b54b575d571a5721c12615dd3e5381334ef9dc9285e2aa382b4d5d18d12464ca2480776b3779c09085f541f7975d28ca592d0d1b25900f2a2f4bc6dacff883987b5d4b4c37abe27f24b357bafd788474f8c3c478b25faedbae3d3b2c56e1528f1a160f034c94c1764636a79a45aa0fd7e3f66a20590bb610b792d263405c5d5dbe205a4602715d8649e7a7b45e900eb9629f3a56dfb707df4f498bd94db3f43cac8dd2633c804d6a201c111b430421a609ff862f17ea289c401f8aed4828a4dd9c749d8d05490095aa690a2da6dd081de829b573124a2dc6563bcd0939778340c6a4a4cf3e3727f5cc1e1a2576476973f1cd231181260eac189f39e889eea19f75506982fcbc106f72dd2fce73463fa26978b3c8232700ee88385a1c87e9f17dea1553919865f7348ee9b911f5a0ef19ae12f6bcbabe3565704759ab3cac73c792058c3b826159364e742469b58e84908d14c0f3d73a08cabe013deaf3b81ed08a01cd3492df69dee01d0483b30c6498aedca2cc8c07da5c42f87b8884ffd7c7ded3ea586cfe93beb7d8930640af85cb6979bc75806a73308689b32cf71a271a1b74cab301d2f9b60d070fa0f81c00bf6e66d9517fc395107d7f465205f80ffcaae080157f803ae1007a65a0070d12830b37dfa29681881e7e110f9058b82dfb4efc327eed267e4b3e38ec57a84d5668667190e706136a4835f5088da90d60fdb61f23077ca9bb9670bef791551c4f0d0354f361102cd887baad4529369afa9bc0751397cb0c439eb42b41461f2b087d04b329c5d80f93331870fde7362e12e647202918ee894829b5dd16aa344506fe7efc811629d7092703271b0caa059567729fbd55cae4158dc75ae93d28f75184e55580a2c817b35010668199f201c77b733041204aa6ea9ebba8fb3ce7d3e18a7ebe9a6614d4ebed1874b202dcc877fc3573d6e653d431bc8685a4e0212776a9d0f3c155f91bd710a156404f3ff3ddf5f2c7c5077da7532b8856fd5b054b08e48091ed7747f1fd279f98875346628490f4ddee5460204e6a3e30c9a5991504d11d054e890f66b7dd97e1023669e716270b827642a469c42e24b44cd20bc65688160d184be813a3af619f394a4056a64a5ea7fcfe267e17c1b82e36f40dc54eeabcbac7ec8524b193fe0a744b9c897e59dafcfb288281629c844de97a3ef19c7eea0f164b7054bda622b064eb87fb462d8c10b0bf51bf6605c6db11369bacae538a1ef33536ce0acdf41dd7926b4b2d513a2941dad52b209d238c0d30dfb82932e4b14a1164f52c52622c72528243627d6218f1edb6d337755dff61732d37dfdd72a8f0b549b9d3796730c0211c1f05d5838a4ff1b697c82bd73102848ad70767faa0f503d38bcbcd9e94ed281441bcc80f19a9f57323288a32a6383e793704b501def6c16e5b838022860f9b0cdc5fdc38032dd4351b2960d10b5c4eeefe0b42b162ff146f7c3e1370f089db62479b0519bbf918839345c63aaf1aa066a3702a391dc11dcbecb839056764055ddc3f309281fba06e3b74a991d59e6f22fc0dd83493173501656d7d83a823181d00f5544db295050f7eefd14f0f398a742c416042eaa07886f39e9cbf0fbce02e4d6ae86e84881772ea037fb57c26fd1f62c1fd9119a2bf0c9bd95f6560ae8fc909acfdb7ec97b58d548ed44a50d69f41ed90c9e5c1e8d4fef8009a2154f89652be82459934b9e95dcf099f9ad8dc1d9cea028346ff5f44a753f8d5dde3f824cf287b70b2fdb6e9accc05041f86f9d4fbd5720ef31bc1e36669d4afd6787ffc0515a5882cb6aab30a2acbd57e008ba7054fd840b93fd74ce6665c1789a0fab9dc004ab145952a0b3b99ca22d03640e7306061d302006247b5aba8825172b9023a94d2d2c62ac6045f6661fa2649dafbc9bc3bc6f9a4f78b843cbbbb56485e1caa372505a2d4352252778caa86b6b51992d485736cb36c5cd1338a612177ca11ba3f7c97713a98f963c49c608f57aecda0e99569989ddc3c24e8ca4fbfeb128fd3a8f9f54fef38e2358bfd3033d9452b316103b6faf79104a0f569d129781f8853b0724b0dadbfd0a36f287a88a3a0b440a848777069d0a0f6b4ff09c4667af967d0f92a28faef785466d9f192b3058fba758a79c2499d098265d8f5239fb4af3bc5678f2a9b606e60bc5d826b4f25b251b030759544472f5ff13824d9239d7c26f0c1bbd7bea99e2f3219d76b484c5103a1c1cdb947d054fc0bc2de1987bf499bfb6bf16cf9d160770c803b4ed7c7c949b62b39448934d35ccc4f69b3e3f069ebf1fbe279d3c4d645f3001a2421516e10f9be7fc03b7b658cef371988cffa346d07cd7560b42fc139b9c0ed60ca735dea6864a3cabc08c30aebfc6150f5cea381f123f77bd11f58af7e2430baee4c20296a7cf99496819be6674b7c3a076d0ea652dab975282a9b4708b85e600a82590392068688a43591d2f03ce20abf5071266c0f592c0c918e15e3e2e23586ff5a1e73c280573ee672d74b178c3fefa77c94adf3d3d6768fe972aff69689dd2fe72ff6c850c8362930598c4b83d852852c4cbdb498fc4b75fba22c14fba9fc69ed7cfed000b2ccb4f3d9015e674df2908eb5386ba77e8538476e6957206a08034df680bc4573fb8114f5dcdc864791e4eed192602842de388781f958aa487ffc46cc36e4efae35be1568bbc8cc2f2568c3220b3a3ea06df6fbff708d0aac2ac7763e602285dedbf9701c86d85b039ef740bf2ab10a594816700e4a97f4ea710710de7460d3cb69f9a78efa745ebc4a08a4d3bca99d1c9a4a5bd398946f65f210ac2e1a7e8d303c42432904297bfcafab529a903054009bd394de996961d43f7f39b4088ad3ecd41eb9fe35ea30d285c7984077a10a38c4f51093d2f1aa37557260591b4abe2ece2efecbcdd1b4714e58102a1bdfe1f25de61df6a61cc1836c0e07799f247b525f7cfed5372e8ce307084db7d346d36e0a2707268dd4adc84ad18ae2393fe1177259740e5519e237c5885007baab989346b668a62e3dbd1b34fc3837492b35d59f9059b7d9bc96554b10d7815a5b6f62e5ed4d9a91f41beee1f72897d923098ddb0a0bbe765257397d73053306b44776f1729129ec331927eaec8f88602220a4d983f8113d823ca12d22abf26277cd79dea48c66269d0650d36b927d4936304fde63f8b35e86248366bc13935ffab8409f6758e33f268276b98c1d51d9aaf1c479a832c6c658b3d85ce6b6c17e8a557173b5b06eef7dd5ecce41a34aa126136ffb211760bf9f750de28e9714410c941fbba5a8b205c94a7b2d31baca35153f88f4628416e396d695e2035a90f3c178e70fc17f8afbf1823a77e81b56697e9760398cdcf22d018554ac391619342e7261cdecb7a1b14768df756c0842f95c5bd03de935f10ffcd5b5ca07deff6f2aa10df200e6814f69445b2520ee093adad13210433b32c87d1847561ce8f7207fb865ffcc72edfca53dd17613ebadf04790f4ab1e5baf3799fae90f0493e35a31b723c801ac92003a490c1149805e7503c90495ee059fdfc05dce51145b54a0aa3b7e3da3436a64de9742e6e8f591fc242468c398ec39b6e1605758834c0757ada8613599ebb6c1efb5bff6ffaebafd9f49669299640a010901f4002e221f6cb3a3e96d288549e5908f430cc718601a5a1400a3128e0cabdf8d15704ea2b17ea90f4626c5eaaf3ac4d65115301daeac2a11b5a99e95353bb52c9219892fa137e6a25d6c0e52fe26d5914af6ad4e7e90f8bb58978b2a4d624d7c967db12c95504b86ef5eb0d70badea4a1b2eb0180cd636c5da584c8c929165f198b160d556cc0f478683a36cde206533998c8963810999adee6c16f449cb113a1da74cf42a6f4c5822eb8e1d10554650a09c8ac9354b29d45709c9cefc86d15b6b979ace642e79118597d61349a3c82bec9f841c0ae4656bc88730de98597eb99a2f60405a81cd4e574ee36d48ec0a77701a97bd806102dbf6b83538b7730001e88ac54c61ee2d6ea6ce5808a77afacfbf6f7198c3ad93df7af1547d3fb6f867d93cdacf9ee42d9d06b992435bba810487e8377eb22cabb661846703c54d895caad508d618ca99e500495a6aab75a3215457551d3066b55957770befc7d0838b75b976b4b02f96e5e9f182bd5eba1942b0180c8603136b633178498bd3b60090649090cd6432025b6c46dc1cd7c5098b726839393a4cda4ba3c158dedafbde88048339260d6ad6c480118ba6fb0597c3e16c4072ba5c2e408c153a013a1d6ebe457189d462c86004cd963a516e493c047878742fe2a902bd9e4d1cafae51ed29cf348072e103c6d844a0ff881105e5a62bcc88ab6473bd3232ea1db88f451b2be29f1abeb2005954c7600f8a1762084d4c1095840a4c40274e26e372b95c1a854024704c3dc298deba4aae520bef8080dd97f932dd961cc14c4b16fa94b1f9c8b6622f5914c629f62f86b17f7de8125da24bec43e1da5bb2f2072df80e28686744d3456b32c9ffee3d65f5dffdff3f4d53ad53dd7f4789d0ab9feecd78e15f489d52099a4747173699a323a038fefdfeff704d6b9d6bbd2d96bee9dafe28aa5c7720cf9307126492899aafb6b66f0e5e5fd64f77aaa383e7099a8454efb74fe2cfcdf786b5cd73dbe60a8628df7c7b54fbbd4fc84ad480a9f860e2f8ced03f077a763cd0bfc21d52925525553a50ccab08f246c76f1e6ea9ed81731b1ea3a77a2235cbb6eeffd58f06f32c24c4e379efbbf7298ab664347d9da4a4e2f87f661c6bddf469ead394499abafab00f9b3f3f9c2b685bee6bea73d77962346aa6fe5f47e928bf35141cf22c7b0f141f49d3ee6d0884fc099fa786d5f76fed46a32248eabdf77eb25e6ba8255c6b9ea22eed43d1be53b4efbdff3fb7f6e94ef9b9b54f6d0bcecd0ffcf4c4bc5d0eaeb92dbbfef4dc9021c3ee68146f665955db86c5a1ac7f321cc5406f8e62e952d4482a41486458e41420aa54a7645ecfbec5f267d9998b041feffcceef1c0759016ad8a7a7a7a7f545b3f694bbde955dcfc9291715159db23ebad0e863ac82c5157145d6274a3f48a1cf86aea80387c737a3b70830401491e5389083380c196221c50783d14138290c898481411885300883200882200889200883200882600886c00c07573b0926abe65de885d131b5f05b5988163ef90428a1a8c00e522f28741540a18e26ccc377725c13d83aca14fd04aec7c2e8112da92d5ec2cc71aff12c18a875acfac69f3eeed17969b3409f9ac9dc29a52dab01e202b39e5a6ba5cd9d8865a80d50a5f764639b32c0324646a3219e0b02e111f945c573e16699b1e8a663e099a0acf3bcc3d11596688b63a5535f06688b287ae7b56ed182f034f9a10d44e6c67a1d73b6e183b299bd2ceacb7f76acaf3a5d5818040fd8954fc103f69c3e96f130dfbfb50aa61f0b151cbe412ba59aca97bab964d9362f04d20a1bff23ffc96dae5db26b11ae7d8a6ba2c44f2bc60ac850e2d7bf5f835204cd9e5bfbea962f82956afd4cffab704fc44d88c588c4ea136d2da0ab43c0d5cc6ded9e7865a2f012d47355eea16151788b19d65b2e75df2038e29eac5568ad44da6c2184336c8137a66c552a10b2e58b612e33ad58991d9051b35fba7c23a68b95b875ff58c0641dcaf616471b1c583946258e05ea5f39eb03d779d51b408ed2ba5ca4fb6f18b918812cb4917a75f752d9a4d1e2d536ad7c2d5abca3da837554950c49a3fb18a1c8e8271de185ff1527c2f82ca0b6662f80e3053a857144fccff64e5c6dfc3ca0e633bf818b3a8c1463b8f0bdbf0bb8d0ac282e7ad73e26354120ddd0e1d9a606c91f61031b46ab3522c2f859f4e1e93c017a64399982619d9f002436d816c2473317cb7084bf502c0ecd0c803e932bb539d71357b968898230a1fdd747c2cb735d339bc0eec3f79823ccb14b740092567895931d58beac6d0419f5288044151575118f858469ef2541bfac13e5e2723c5d1815761f9a889539fcf8da3149b5140798de70038c2ec5c3d1b588c51a3559309f06f89491ab2d807867093e2d796762dc73842c84f0ff70d43cb13fbbf8fcb150c8f543b1ea748ebf4fae12274b621b91277acf9e09585fd379d7a68cf4392b1be3a1e890271e1431013f807d061814ba8f4f546d9019b494d1ad259ca60c5ed8f952ebd171c5dfcb9a9bf645064e0964b990de9e5d445509dcfd3c7c0e1964c5862d7c9624abbd5eb4670867ad3f203a360ee5dc403bb4bcd67520d731ec3069d8da257f6c249a51b479ef8e19cddcf91359d3277d2080f6dc07a6515a929838a884d046d107bd7b85db232b1de25167736b9fa2f92a449966c0d4ffb693908df75b36cca4ba1befe58f1e77eb45d82be839c7de974fbb563085ab88880d6949016ffad7897738d71fc448889d5f95862d610aa95ac026edab6a62ccdf4b5b0b9842285461b9e58a3d317e16d7d85af69a8a9d9f32657bf534ac44c502800dbbbf3c2d5b69b247a5192b0b1db5c38a2f9abe56318553a24251e39e67d74b7e5f393b77aa437dec7bc554b59c49a6aa32afa5bd981166f4ae580105e4b4841536bf64da5af52450092b147e33ecfce214688d53408d852b0f5a90197e52d6a3a6f14a50287c22ccf4a214d81aa6704db82e8413637f3f6d2d600aaa10858d54280fa3be2c05b7c6095889552cda37194242c6e0bc9887977c7c863d9f97f2167802510dc5d6f232cad8feda29d1c2934655c5954bc8e6b195a74d81de388528a12257c5d42f0df894d6963e39a85ff1920ae16194dfa5e19638052b51e14b82f859132ed3aaa34f9fd5af480be9a542f458f5f5d3b0254e01aa4528445479c05c4cfb5b69d142d30e5562a1c2c7aaaf93022d71025782e217f483db6b26c6fefeb4b780295c156461955b703a0358f022e9df2a2760954424a61420d727a6fff4b46ce549439550986829c2a21490495d9a74bd034588316349d53be679fa94f5c229a04214572a048751fe3c0d5bc3044e890ab35820e05194fd89113bfb703a6c0a1338dda262946d2a49d9638683945877e727313e59fef74479f4e4df197cff071455c7a505f8c08148d956eb4e0df85a3c499ad5d2217722cbccba6be9ccdc63302055d309a035459181bb2de46a05d10cb3e82a13b85b919167d62a29672f4474f6c54d9fa6bbacf601dbabbe333f875b837fdb4cad7b1ea0fabaf70d43bf640892ee7daccefb2683342b820fe9c5ed8414417b9e8a1419a2d6392da6bfe5e4e16e860b3b6ce62cecb025954c091868d30906363386eba0a3b8372c94de7bbade958b6e8501cdb125d8d57d5fd8c579051760ee8cb4ef0493df806b2e2a23095da33c9264e0343ae297915803c9268e8e680e270e0dd925ff4125aefae1ccfc35b2ee5dfb851c55a7e170052b52293759ffa1d453681d9fe207ef2da0a076d5e4683a15b60b38215e5f891a0f946bfc1fe99df70975e1ed62df5dd779414f20464f5401363d0db8f0f4b0a5a957f059c923816b44912f73c0ec9dd643fdf6ba83cca5e144d6507baa01a4dea4e568940356a17c304f3e95983347b2b7c258c6e737097f3dd2f0001a00a4e3986e64e4a90b5de1ed476f8f1544da2d6f5c82cca545e4d0a7e703a0915ddd3d29c23481806f592245538c1ab9ec4a7039ad789a8936e4c62c59cd719d5d83494b1a49285497d7fc64a035ce4a0476cb5a5a13c8ebf953cb66d4d7ca7cc07889c02e690a9473a59159325298b754db3a1dcd1de6f4e773c88e9625f4641e9dce4a57e6e164fc7fa6ee84a5477f34af8ede7694b8ebb049778c61b5a01e1f673d4cfc790b7209ee3723b3bf95f09b2ead0f841b4dc34ef1d790d026e8012426b21279db94f464818a7a16c44dbee0759bc78db94d6a456ef31adf90685dfe3b087972b557e554a52a6f79880566a52182d1e86422bc10081d18adfb6892977283f6db57910c8869c74347b5055e4c8da24d7e5c63e44195282b7c245a428d70dfa44f4a30d0fb366bb11e5ea7932a4164f19cd069d89d3f633cbfb556c528a5504c687a50b10f328f446600017bc2cb1757692c959ca52874f58d0eabc6f4b2356450e82bce0109efe2959f61c7a308749dc82de7681d050bdb7d12b807dfab45d9cf7ea7e73d92898df126f7dc2d65905c4f358feb6991970f81f58e23692fc2d37e73da2c56af638232b6f8300ba1cf7b2921c9cd407c50c1432910463ea6f100cb711fdad72594a6f492f5ab99364f7dba01bc6faf110f4f46e31f75a0a0130983ef376e0897366082f61b1bc00d3d9d7ebff1d4ea14adf59a3894bfd16778c500fca2a9fec60c5c30c78001fe8dabf6bb179b1d4496a717236ec2089f50b3db654c6f5b6f0987de064528fe460d2ef672d40238fa7858ee50e32dc7a1d9c2e53d1d45eb3bafb664a4db9ba92428237eafe90de3d06d60f2397d18e13b4461af3025078e381cce691d12da2c00c410c0151c3708fce795b68ce9f76795860cec5ee32de7d86d61f2393a44f3c394f837e2185077ce1eeddf58c1ad3d1cf7df8840b2aa460538366079dbc40c382a00753670200a1c09041733be31dec09107b9f9b49a141e0cbd95510391e5eba81e86c8f475507c990002c731186fe5f002c707a0438da002c719bc5361c881e30592068511098e37c83edd7805c711d89772e482e303b09b798e8956eb48b2a03abd4c99c9c9d8e47c6dc5e57617640c9fadd4118e84fcfa359155f0074911c810b06f5b2a383e530bf5e3066901632af50247d74e4d51cc6be606d5c4309ff7d306bb8196b82eee24c10dc937ecfed2ebdc0d793ec90bb4eadc7695c9b740bc6501a20265d51c761437d4303c73caf32448612ba3c84d05ae8fe6248e91526898b44053dc2662e32f7bc0f754cb77aff17a50b4db0b451eab3c534ff942d53f87d49c505065595f817a691761ebf782c5bdad1dfc27c7c2aaf57297bb65ff396a70b569a59daa84cc5f430455a9815254c58c224cd806802d96470d50b4ae542bd70751003f25cbd977a48350338c21dc0e043ac0c6bba582cb428dcf11273fdb0aca0bfd6a7e21cdfb41186b172ff4d7870cee7b6c52df484f5ec1f312927e4f91bd117c974d4267185e153865e82c5ad4e8e4d9040a762271249218895c7e0d59af9e6dc275c59d6dd5ce10f20945576a309b84e85edd821be3aff051f335e0fe8066cf6ab0d9ba2a7dc6657745ce31b6a03a09d7a248f6c3b73116ea2cfcdd7d2791c8fa6a1da42b88e51c953c940611d74ece458103efe23bb7377b46f0e810afa1e93bb28f3d4dce41ca04588b012e7e09d7d322fea7cdc978eb52e7c08ee968f04c118b9eceaccb3c84228e519a26b721ade4e9184b479f212418d6639e172d7f252149c4a74240d37271b1b5ca58f2660f20136ef700dd0665fe992546b7621b018054a52dfc792ed9b8bfd90f5b6bf34760eae124570751a34bb700126d4ec355a8720fc34c4c76ba0ba681525303030e17fc15a9618f383faf88a3ddc1ba5b20769c2b274d2fdf129dbcba5109d0dabbfa9129285dfbc294fca854729f7f309cdf12cd0896fa2839cff8d45685f9389a2d432e5f68e56923b95d2dccea3e7b74c276a652981a56a380e1a465e2d0ddb5e87445593960848fc65386f3bc0bad18ef75efeaa07f51bad6e35b894decd4b5fc7e679f0b8ede31ec0f38cd0776c95b5c9b67c1cacc6c39ee771e024bb0663666fd873d7268e7f5a31f6b77af39802627ccfea622c1de00c6fd7c1e1bcae3a82b22d27d0a5ccb27797af143da98a5ba7e65aa673c33f75cce0085346ec10f3c206d197819d3c2c7aabe95f2979eefb511541da23b03e8417e94377f9078951c89e426a368df0b4233ad47b8ddc5f8f6f980113a35ed9f0d5db3e4e382352f9776ad600a5781e0cde0a545b9c3e701438b0db1bc088713977b75169b692801f30d79c2f175251d45b58cee744d30956fa0f79b76565b9fef6458ae19b18a8b411f5024ac853818b6a40c902ddde32a8b5406421b5b077bc740af9cac5e0d1a69784b7480af83ee5f80c82ce934ff053007e2fb7fcb895ea545698eb0ed5a8096734cea45d234be4a8b5e28b616bd504c5bf442b1b7e8c536eeb06afca79cbe365daeb10d6b51aff421e39a777685e7e107cccf024a60114a4d305c923a59ce58c781f00190ac0cb48faa312524df3337b4e6b0d099e77fce8b3207679cfbda930721c0dfc287b40443f8a5a2084642929cc61926121d99539f685636d97bef2db7dc32a5b403bc0486047b0420780b6961f5da5148d8a1789de3647a85aa3f77bd17f92e893b752b0ab7cf2c53cf5a3cbf152fd0acd632542308242fc2a25da0085c84cd423c916119d0e82f9264e490e5ca1638b6b081668e16500b396ae6c851c7e7459913a90d6bf4729530436e910abf3ca18b838cbd623dfca2c5c3293d8088b273806de0a0d96109c90a24a8d34912994702c74b0f6e58e91207ef876e0d046c776629de93ad0da028587ed85171fa5245a94a12ea1bd2c0033e401debe761b9ec30ac35032bfcddfd41395568d1e38430b8fe7ce842cb78e2e1e9e8875917773c26b930dc252593db95664b7f1c41925f621882b8b21cf7e77ae4eb9156528beacf0fac661bb2413f3559020afaea54a2a84455416a9ce8e3192abe5aa7f09e0e9c1d5efdc183e7cba9868c1a03c011b201079f2942d5b584671c7a7242ef4da4060e1364a23862082c08f42084c30e5b57b922e6f643132ffd4408872e9340cf13363c65aea0ed00078bb7050f88c6e785141c7a7c01e452ce8ce144b71674e8d8f91b27777e0f564107091b9dda57ca78c18560ecc051f3c186752e717cf8e9411422672b138686bbe3142e4d8e08b28244438d324a908d1379da986de58d1d39ce03a6b0ede648fddae8b205b553c60d4c87193b95056a8071b48a130618617a40df9d3c41b00c90e3e8079f8f0165c8e8024fa8c113d88482f2e60d0f336a3819c31222d788a983c5a5274a1d6fe66823eadd4100a0c4f1ddac2a7a8c6209da3d8227c01d4792a346f67c72c44113e3e8d581f3c2bd9ae0bd9618a1f67ae205c5eb8b086fec68bd9478b22d8db0c3cdd68a033e1882e0121422c4c1fb8940478ff71af3fefffe70bc714a0e824b6a2af80ed6fab65f1ac1c9dfde16e6afd682e0ceb62ff10a13d2c2dbcb89b026429eca04b652bbe1fd68bd763fc2deadf4b65f7a2dfded7f22c0f1bde755dd0b4c65aa38e7e1df3568362a08de90fc5b3425f2fcdcbc69d2fd7ebe39bf5a0e0e284c4b37386abf9e938e69e9f646edd773d2b901f5a60e141414d4afe7a4635abae1a92919e1c3f29303a5e7a47b6a8a625ababd4973a7f60b7b3ea34f57019c3598bca0b374c1a0733b75980e531a6622a378e6d2245b462ca314ba52ad546889ae54aa8ca2aa15baeac92b5536b10fc9c232a45a2a550a5dad5879c55aa954aa55ee59fdaad65a6bae3b6aadb5ae6a79aa7a7a5468fd57e5ff9ef3ff7c55d0bf4a55ae5a3e7a54a7ea7c554f6b954f553e55273ecf6c943affc9176720c72cee325839c943f925598666ebcce7676b5a6bffde17ca9c67e4cdb7e5bdaf03f69d1314148bfdfce4b7195604e8bfc4d8061b6617b3584f9a7f16b97d6df8ef7efbfd643227272600666e4553ae19b0390cad8bc9a148b296455eaf30950a3f2caf3db3598a67e935159ae70c7fbac8fe1ade226136cbfecf3f7e06ad0d6badd55b7477c996b86ae8f5d6202b76acbbbbbbbbbb737e28eba1996f0b82b782f53b6cc9f0d32aaf6918d6f0c3efb0fe7fd7f06f156d78fa18c9c07a4195a462ebaaeff6ba75d1c5d0ad188aeea1d8b2adb05d40d5a5408fcac34db934b543589881c2ac40e86918c664e24f1886f99fbc6b6737f2d388911afa95ce448c60a30cea4ca30be642d77bb739808728b22967f7d334d00c6846a78bf2f9fcc88f7effd6a251eebba8a834695aad2d9ecb73b9f77f7ea276bb605051c4fe7a62ab3e94664150b7a909ea17255a726c5b8aa5488e22ee36e5704d3e305d33881b9dcebaa9d5a0f0acedde0bead2e8ba06854bad5ba773e3c6f276428664b78653b8dcb6b6da5f687d4a4d9687819b216b979e9a30d539bd3a65f8f444491a9d934fc14dc14d61b24ab766b31d6c8fbc09cdea40b3482e581ea67c016bab45179be090d79fc464993eaf466a24b05784827f177d04e6cb2a5854c51488364100e38a209b71bca2a8e68ad79573ce436760cf61ce479ff343a96caa20ce924cb9f079af89711887711887632293253024f130063a96d4091efad7bdeebd6f2c3dc268e07bc77b31ee71305795c065a49552c17e3e21c2098c9a04b3bda0e4da0f521193485adff35d42089c2d3bacd930d50a46e1e64083223e6834ae0022a2b860e2cb983b4b20185e984993836a526268b7726a286bc0075a200ccceb85c3e18c9c8d97332cac858bafabd7ebf57038150ec347575b5fb4e60d593fe98b4505eeeeeaeeff0f81686db540f8da7fb4e7d815744398d4235570ce4db933ba8fe2c5a4b1ff04f8404701be182b7aab73dd54dfd565bef683c0d43659d38268d8bb99308f573310d3ac3be8c9df2ab7a202c5ab1e1bb116981af3aa7551748336cb1eb198c71263562ae3ef996d858d012cdbda155265177fecb819a08f6791e2578c9861316e6bc24db5e9d779bcc623c54ba9b00de3f4ffeca55a38e3941c3f54e5a4311a0cb6cd6dd6a80858a4aa9a609badf7faeb57327f9fe6afacbef1f644cbbbad7ea447babc0998b84d6508526ec5eb4c7a826fe2708ef2cd938a6d58d7190c9ce73ce7812b00c03ac64b74bf4334622851681255cf3cf008b12ef1e9a9e92c02840dec6e2100c13a8886c832b91c845a023a11e1f4830fc62b5a1810b82322a3b00d07117b5bf38710c338f6b9e86fecf48920800244d17ffc3403e5588c65da1a4823e0eabf2d315f095c765b1cb8c1e9927e42eb76d23cf44d889404ba49056b7fca828dc52063b04ce679f4e1b6103d04281671239a508e5724c72b13edb7aa2b46a47326c7f4aed58c6ec012fc07774334cc81d12541dee0aef5909f7569888687f8d0c5385d82a5a948868816224664d9428448144c63a078428c1361c0e09a48e2082696f8c285881244bc7421b284f1bdf7fa4f0f205245c1283f64201c55e52487ffffffe6e6d2cda56b4dc3693eeaa3a68d1968146d789bd6b4191afcf8a6e981ebd104599a3e3e3e369fdb17a302806e98dbbce10fe9f26892502414e914aec9d88924c726abbf809cc1a08d5a61ae99dc91bbb20beeee81aba3196fa532b298998f4767deb11a8b0135e0b158ecbe2b06e6d91258cd58f3b9fe9847d17d0b1b6c986de80abbf3d5e17088710becb4db53929401a066a694de9d273459f09394dda9431359700e496cbc7401a7082d6792d8c931024b18523861070a3a5ca058423c01fb8699c0e26d70a428cd4f51e234ab1ef99e547b496b7367b2f3d8f9b6fd6e611b9661685b267eeaf23bd30615c84ea0afea5e1dcc03b891b399593ff855bfbd7c95611886ac9f1750678bd30ceb31832228bf60310842d37bb7459224595d7ec6ad6e7d47faf582c92d1411a95d6ebb37acf4b90cdddf3418baeb806ed0760019c3079810b2db737a1c5202e12ec6c468ea344bdbbd28c6a93367b3ec604cdb92b0dc197699b5dd60d110778b97319351c8579326b495d6d25d1a8c0de3b6c964329bcd7d6229267663b1580545dc7bf3d5420e9a3acd921cd1d46996e4f8fda56db0f9564f835b8912f30ac9638486d15d271579a34ead3ea4d3e974a29362cc8c88c1f53f16cbfd0a806b6e50e8611cdb400460ae63469cc0fd0f402b1561081c8bc562404160ad63b8b9b36cde2c01155d982474f0810867c021cdfb619e5b9a8f82b01bc10dfbec0299055bc85e14efbd26395ed32cc9f18a5360cc46b7aacbaeb22a437e4c70eb4fd2ad41b025c118ec7dee93881831b728369bcd668b12c566b3d96c363c9a59f15665f4ac54184d9d3d2b15465327fe3e7d173b33ccf36c0b8df647b6c0af84e5c393769e281e013533ee5ccbfaa658e2b35d0cd077aedbec457f1b863d20ed8004c5b178eb8bdbdc6ffe485ff3600afcd591d2c04825a4ce339780feede420f4a0c36ecc9b3386882f679878f6e1fdff27fa3975a0c02824a37e1a26839ff684312cf65c9ecbd7fee8ffe87cda79ee76bb7fda8ad7230bb3342b58cbd41a844d8f1b321f0c2b24c90305caa936c3baab2896b9a8c736ac1c8b8af1561e587960f3dac91d4a15ea212ab0f55aa1783dc11986b4b01644062bb519cfd92cea9a308a951a6ae1612649e9a17bec4f191c982df141862d7306cb398859f5b9abf6aecb751848940261582bcfbdc2a9b5569ee8d773b5f25864193d3dcf63870fab67a5da71af0fc6ac34edc9790583815f7aaacaab8a5719a3b8bb0326dcad184a8ca655ac558fea71ab7fcea0ee436faaf539d54ab77282931ea7669f271655ce2471a3dfa439327dafac2acce59012245967378f68163129a2bcf13abe19f6fdafcb4de04c3f64cc660acdd7f56f0685936a733a996b5c3fbaeee7ffda235269a5cec2035f19f2609a127797013ce3f3f97c4a7c3e9f2fe7fcad04fa4036665980bb2141cac02bcc1a0441304dd33405878475fc77ec766bcc3713f9ef691e10811018a969e243d8f72625fdc42bc3155fe7cd4aae4f9e0214e8c1818e222a114551fc7901050951226611ac1594c97e586f93a25252655195670ac52a1c8ba130582ae7d36fbb003bf76c9e3907421af886e0d97d7bcc46b0b3f8d19fbb41cce0cd617f49f23d5569d244a57759e5845114455294a49fa644852b1576a5caacc3f983a4288992a531075b95d9f715892d3cdbe10577ae75bd6ba72a5a0b2f64638c2df79c7b4ecf691d18d5391bcce472b95c4eccd95c98ab3924b99c12d695e56c290f40bad0df88fe66620cbd898e18df82aec0a8ed362d843c18759a816035e88c36ca73f71415636674437f46381a05440cf487c56031f8d61d846d51c68c6d18638cb10ddbf251d95db689421ae810159c821af70e18472355146abdb9c886f78a36741559b7568813048100d4815600e99915bdfdc5521caf28be5e652cc67b8377584daae4a6699aa64dab79db348002d7b0a4d39b769660cce2f5e0c1300ad1db2672270c4392233001a90f708058022eb656dd42201e6a827d3e9fef7d4af0ae0c4355e016b358fb47964f946822c1341ae89431148cb98c393270fa39d6a53f09147575a75bf01052126bad394105516c05613a4a0acc69ba482de3b5229e3e5e61c52398823d4e13a7c962b18c00c1022bab884809a19ac33cf405cc55e640dad1e63023294a72767b07a1edc21f0f23f231c2d49adb74504c68070c54bb7a99e25b23fc1252d6d421d455d6d967600340b13116b3498866130aaab8bb98c36cf30dadbbfbbdf706c9ac5f2737dcdd53c82c68accaefa66b8b58774c888667e03f98878cd1ffb76e23e106210a0c5ad7d05f8cc19cfd88139dc97a01dd398241ad56abd56a359ba787bac1f7d3e256fd7153213dcd93ad81c918b02a958a6cdb937bc6a68bc390147bf26a955ba9543dae1b7a9a37ec061e2f4eb9723ed32c471fbb24ab09de7bef107fb2f2add8f8b43ff5369c3e0fa5dff2cee44164dc720991a8ba5a6bcdbd9487774cb825a5c6d528dbedd3df634993f03ba14d1b5d6612b499772962f73d5531aa6ed49e46e85dfc8a2edb6eba4e76b5d33f11adcdf6b757faa510d85cd0362e8dc2518e40750dc6d48a88629b17a73877c9a6eea082814cd1230439b053776affdff660c0078cfc0feb7a2b11bc96ef1246cdba0de974653857cb394dfb6d1bc4563cdc50f1546530f9b9330999b823b9bb92e7cc0ceb5b101459e492a4999a2e8c82a58f114a34e592c5f298874a528bd32c499e0c09b7338900cbac6d3ee6912392ccee63cf1a27d44cee9e7326f7e675af7dfd133d78254bdcdd3368836d1e5dee4edb910548ce879b104ade4b4cdcdd9b8d371b77777777f7c635ce5dc5135d75e60977b324c72b5ab324c72b5a6b5b6d83b5d7c79c24a0014d32bb04080e618191d4221388709281a0a3785e097a07872ddf21d716e815481cffdcd9424025e808e33483533a77efbdf7def2a70758006bbce1a4d106543ad35ad0b801a3b97800fad6f3679037daca27755f299fc787f9fff3e7f2533d669d6b5defdac99928e9307007e101df3caa444fa12934055607d4e09ae4629ca6b9f2c03f41a7f4d3aac1900b8af4d4318f64376896240a4252a759a6dfda80e88892a223441b80a012b986833063e038e00769883620daed763b180c0683ed9ee6755c7fb00ac1424949c953215760ef79cf7bd87b42b4b845551b5a0e1d11ec341e508c38476a0b890941d204e1c26f7ec58a8b1cafe8caaecca3c5ba413c7bcdbf786de4ddf4071aae45880e6f712f1ea65d8aeb67fc8c2fb56be9e639926bf12e0ec6a370336276a56e57e2fde0ee2c4416f4281d8cbdce6ebe2357b06f08fb7ca00e2735c6e1264ccb834a104154c992c478018820fcfa2fdab03ec6b5a9360fc5d07b7a5829ac5af5b062b19c53343592333bb9a7db2efd6da96d11c2e1e55012ca5f7d352cead9fe17c4044e3970314ed3ee6f852ad738c6bcbbd61880a2713f1bfb7e0fd7294d43320affcbf70589e37b74d5426c05f6fd72b0f2052e0c296dcc4147162249949173ab8386985f17bda0020b71f0dcd7edea1d6b524dfadffbbe8dff4fe5f7bdf9e5939f4a9d6649360d28b60151fb7c3d3bd3576f7821c77bc3fe7b79e0a9e37fb38ff6ee9ddea8544efb5d350868014365001412868462c14012455912a31ce5ee03e4e147c41a130c1689237348600cc3380a66280a6224800001c010808031ca90d109435e1aa12bab381a4b3744b9f9776608d0a4972e1e5f143848e20fa5f3812ba5ff4128b74f0529087c02f238d9e4c0a227753f047592ab158e83d9a283a75d51911c87dbb250d3797069eeba40c41dd9f74b617270f74c86935533e39c1f4ba2cd22395424c8a3166c618e001dbc3ccc97fe0f482932295cc5dc965fe6898d5d2eaff7f2728e0de3fb417e40c068bb97b0f9c892482b990590615cc6e49bb10be0bbda581c1e0cbb401a14642d42f8c2d94fd28d8ef27474d238a1f2a86aa1da734ffb16304d40e9eec000acf4ff6b80c8d50ec602c04ce9dca5108db9d41a734d2f5c1e76ebeba6e1e25c3d898833f719db33d29c959b3f8b083b12556c36de92c386bccc35ccde0ebf204db658d4c9cd16df2873e10870cb90daace044ae9c7cb27933fd4d059bad37192140c0895abf4f1407cdd98f30a4eb2d3908c79c6ea3f61d65aa3dd255c1fe3ab10863428e89b89e5c322b9c58d922af3b605ccb9e4fcdd6a8936ce67ecbc69cfb0e6e58991ecf68ea39ff327f171cbb8c99791e05cc091c1d24017bc8e68490dea9e3ab811de504bed43d037ea383e84d1a4052b3f7184e2e57c67c412b8b21509af5bed03a5571a88df7176d98759f0c40000b2033cf89efc44a6206cd929a69bcebf5ce4388088984e86ded756cc8310f8ea69905c3e6dc7f31729bc5e4a7e52a2beff1e5b29cc9034df640b238272b54d86ec83267a262707910b71fec41dc858d0a6043507c228be628b2d85ca21df93e44dd5d671b0ede99361cfb72da9cb51527f65aa848e9fdd3902134fc728aefb8d319095eba24bde9df4fb25a9a05df27fa1721bafd36818b49b4120975f5141b986847025431bf95a5b90d2a6258bf675e415410e649f6be2ea9c2afe1d40d4d90e9c134ee6b78dd2fe41f7d2eeb0d30b4eb3cee62ce2cf705de26a5c0ee5155341e19c948786290cba8face4a34b87e07d886cc04648a64cb8fe49ee9633d4035cb2b65a2c392263aac0ec875f12b074118dc4008c6cc02bec2b11a3cbb416e115b1733071955135e331c204b165da5fdb4cad538d7e75b758df412290a9a26f4d38c281b7649cd51951f98bbed49549e9ea087afbeea50ddf07f551ff8354ac08b4f446a7f3d615a13034456e75ebd02edd62dea9d3f9d87f63bde4e2f843c78a4b1b0ef4e071f9eac5ebc8a469529a66897f8511b874567ab35b5845ee19ec7ff9dcbca5a45337fddfbf29898c0998d99a5cb284fdfa4233c16020a408590f6d26503d2d02769a8bdf59a3dd100509992068719e13350f43b3156dc91abc6baeb262d1e49ae8d15fac675bb0af4fcd3aceaf7fb233a5d57886d9a58ee979904b26a97cd5f48e0a0cd36a1c640c0e922d2143cd1eabaf66a7a5cf39db009ac86694869e61f7f8b2fda59fbfe24373e781ea93f5565efb557a2c6cb8aa156887375a9b1cfe026512ed105207b20443cab1e0319f1c059bb0cea43c169b083f5754983e149f0e31431ca753e9266e7ed1b6573528f083d4ac4c5f504e51603e33dd17af7b2afc80ea2722204547240aced0395595274864b933ebcafa62c8b10ab3c5ae11ff0b2d2b50049e8397f4d799ec3a5cdeba5fced7c9821a1f4bf56b02baf6db4652a8f4337a515c585b1b1bc803d16582763cea29722125f9122d3283d37f2c73e89e0942be81a0ddcaf9c9edf72379d679473e79923a01b57f041640a8a6a10a9ccff1c4db7c5c37bb60997f4706afb03b861cbe1ff527cae399b14a3a6c54588f2fcba04ad3d0e2eca494255e4409e0037bec150a1ca5698ead86cca6033bdbfede7357d239a583d140b91e9288705b73d4f0e80866c8fe695900c5dc9a308952af7c055cb3df0c7ec2119ea5d2803a5a453cadc45253bd38dce774efcc302f14e26fd4eedd3624ace4a05e1f326da84a205df98f0f9e3812ab3a207d9ce3365ed69851583451df823ac7e7840dbcb8b1323b4976e65c6a440e00b4845a86343215e56ce3780473ed163a381185e2ce259f0b47f622f8cc19c6dc58d2d95173151779c348b95629e0acbd03023dec3d0891fa0175f423c574164ae4a3d16f5a01cbe8cbfa10cc117070b0fe928912ce1fa3552832f3d12b7773664c2d297c1376db28af2bfc91a87e91e889f39626d55f619bd2f34dacc349aa346a399cf67fcd17a49e3c69dbdc5fe652788c0a10c9cb9c68e5f749a267753b137a7244d37eda33df980a4713dc44c1a878e27d2e8c1fc6f77a0753db07808f16a1be3e547fd23bc1a2e15fc97d0ba48a4d0f24dcd2a07e6d177d23b41dbc84f092f9b1089fad1a0261bba8169440805737172084da8acf21fdfd4ce02da62acc3249c2886a50e122417aab1021faa13739463ea2647acfa51e2ef8ef6bc8a0e553b62f7d64c2273052db5f1bdfa8c9964973ab3c2a47bb0a0fb20a44c1a8788595ee57838199123a12b2ed6f74ece7b2fdf50b65731357693b7ac2ec7e0e6d2eddaceb94129bb8eb782098ae4d5f3a8043c1ad1e77273e140c5adbcd71b863041f16ee2515f75c3103171121f6c8d2c913e71cf6ca06204ac286d9d5b341fa0aa8f3aa9c0312788c86b07ca0d92554715a4bde56ef1d157c26c8fe76bca0616bb859c2b33cd636f690c63dc9d59ee1df73c63f8b92ee41aecfd0ba8aa29005239682229148635879eb67c97bde843505ce63ac1dbbceda56f035d790720399895a729a8ce7b4d5dee94e2b18a1ebe6f67165d6073088768107d07fc47baebc90563446171a37d4f0a011ed0a85675cb0deff30f914306c15377cd8d032ee21569b0e8a7d9f824122674f8d7367ff167e50f006fd833ee6be757762af645285541fd5782813cdded7754f339c5db937d0342d7640b270b091dd93985eaeab57135461c9c547d42b9be9cd77d00782362c70eb26e5ba17529f5bb29fbed3e6928f6dbd14d4f5a74964a5476dc60a2a2c273e13770a40fb56255de560635e31364893ca9b7c0e7e21ebb95801ecd0e10355333becd09f4854345b319f48a72d43d8d5781686167c8366eeb611172b757ae76b757af466c517c878baa2cad70c2cc245e64e35fd5c943d1e094aedaedd1f19c7af9d70a4ce88969c29213ff33ffc34771488822a8c0c268afd3f1db43efc87d420fb709da06e405efbeb7b96e00c8ad3a049284feb17c6d6fa86fe4538597c658032143fa91726fe4177a98b410a89229803bb347e90ef7e2b2d8985bac0f5ede23aab51d016dc0db74df7a3f7e47c4acb7eab93840c8376454a81f7200380410d36a4d01adf828e7d3df9bcb7fe464f3f906c541e2fd31217adb0f4ae0127ea647666eba9f045cc95571be27c1910ecf7247c4cd313e1c2f76e15bb93768c5f4408d3015781abfc0909581d3c8d0a071ad6137926186ca0270d28617cba9b3365cefa9e79e323d2dcf3424e608af9095cc11181218c42456f7c1ac15204c5f605a7bf3979ab9e23dbca733ad11fddaf064eec9f1b54afc2277ecd6052b8015b2dd5dd19c2f81bf943eea92ed8d5d57db8ea04b68855842f5ff454cb6750abf857f82988fe50af0dc0cbb8c9b111a6164c7878bec48d01b7bd2e762c55e267610d8db2f324917ce24045f6dc63ddd423ae60742fa81f4c5477fa4b83c99993c7030401f4c505afad24680437af78c454b6d61598efc97aa208383e5cb66a46aa5c1ca3229fe08bee2d8faee25c64cff236934324d2f5d452324e1dcf00473740ebf31f271c48dcc8db39da31767467e29622a6d24951525e6cddf7d2f5d99b2931d7b46a1d0f02846177e47047df335d576dfdc7d66f4dde5fe669aad35a2196c8ea4d0c8d9c6e69623e750fd969bf60ccea913552bfb4da1573da4516d93aa87a35808ea49247922ca8d7bc8c329c000442f827b48b2b7e01774d45c0d41b6b660cab53f55e00b34f5db68b640b8c316104c3e0145b263b03ae25ab04ac3199c897cf76835193504b560075b2ff646190eb94cdef0986d3ba10b934062db6930e7a77e81e632086f308245bdbf6709402b651c1e63ab18f9ed10e4c32ea92c1d35102c7e5583cabf8927f8aa16b4d2ed168d153c0f0e354b9b380c6b015514c9c04c86ebeab729cb385180b96d17c7391b3c3a9580ed0b6b170a135d4f18e9df98aa1a28ab6c2421f5dd94662eda64c9d6a07c17c370ca0f146b52ddc7f51ae29bc01da5146a8bdd6606e6a8f4833780abf432c93a80261f3985ca0df3778e5da558305b7785a2416b1072895e5c934ad98d345456e327a2624cad3f527de2409ae8a67e66124289d525be80a19971d0a42cb39a524cbaa6a1f5b446f8fc760d6d130c995068ec88bd43596d44cd2413bad8c67740955273bbe0aea0515f3393b185b9a0d5e29a4c27b2b5220dae4b5dc448d07930716920f417b04f090631653b3722820d8c0d6e1b981612c4b16b165b0f319605dd0268ad04b289730bf821cbfdb231cbfd6f8396fb79a396fbe5ae7f7063f4a6c2451cb173e2a1f7a8425c32b0995efa04b6e60b59d420eef07450718722d8aa9e70ef20c60d4672d39f56dee3166cdfaff2f8662f811e298c882415cad4725fc95e65929ad8dfac56ea443e252915701154ce6871aa0b49014488bd33155d77a077b0a669081e14e9c8d9cefcf0d39ce6c4b53a93b546f9f5e4b48e0f8d6b6bb5d21f5a143b0484c8275a4f0d7ce4d79359ed4b246bd0516411edf95843afd0c754f454e7fc959c1a3cff82f9dd86843b4209ab6a10a5a39381a5e561236bf0ed8c194949d96ff0fd74c572b5e5dfb02db71d92c91a79abda2c6df9a50b028f6233973e16e97027e269bcd36ec22dbb5d4af4d96537346613ee63608795c69a58c049fa20b54f77929f58cc4f9f7ec0e2318bfbced86648d945c81b3d6b62b3c704406a5c2d031c587c9ccfbc1b5ff8b584a8bb3d023aeaa49a9133562d35c62b3328867273bdf54317b5a72007699cbddf96240734b6f088589c8fb3200a781170521698a7ff0a528aaad146778bdae58bdb5c6eee135156d19365142355803b4a84dccb9d8e9073469baf858e91644eb95c088682ac24162df68bda9639080f670d328728072f021081c485b6b5a38687065223d4810dc5218c8be7c2a25e7def9191d1a629d9e423eb72cfdc5072a6fff256c4f97bd31632939391207082bc11e9b112b9c813e5f7e8d7edaa18c54c19af07ce35c845c7389e4dc5b38e762a7ba20a49bbd381317724a7ffbe437630ea62c69525e7f3f978292f442fa7135973eb5e0133a4f5513a28cd36601466c6247fcd6cbc938074c70f0f423dfbd04e6085fa1919a56f8b885243a9ea142abd68c80ca5f5d5b3feda13c54901956ac437251d524f3343847e8c1835b7f6320f92905dbf79c19b6c8f8ad60954bdf67311d9d3d859ad1fc0b8412a088d2f12cb6440b38cfda71228915fd247409065340fc182da55ec48efe7c33ea5144b9a169a84117a9e4a5ffc2b11a550e683a1cc5b655b41d85070d257280f14818309e66719dc337ed9422eca1193bea3566694649ad883a177b9f9418321e1ec9d26b3f1a36b83e2a57af2bd539b3932fed9825c11858d8af2cb84d372953d43c825393f158e241b1e7ef3e2f0af6f69c4e3216788201131765b4061b3fc876bef5ab707be1f796595f9085e7a96dc19219669a802f63a1b29a032c4cc83ae89ee46e25cf0425ce107b4c7c8911013b8a101f43eff3bcd918f26a111b200532b1fd6d3109ab3dc00238fdd4317f45028e278d370febdf57926f4c4299de9c126f2e6da90be6e4bfb87b0191273e461a6b9c4fe82cf22d6bfd0a6bdacb53447076e95e6e0417913b7272de220ea2bf119f3e42d712ccf6d0919b2976eff73bda6632bf6f6a821f1acc7813a6dc48aa498e44de9a36cd0d145420cc9eea4f65433822f245645e6d9e13c9da47478975ae4428f0f86a2951fe7c2cc1a6f71e35a0b1f7a9b7c9d6708758ddceb7cced3398271afd93639cd3892d704089bcab54999f34382eacd6bad79c6c15be166752c4a85cab321b128e5c267533dfb5fe306400a853dc91d4cd40dd1297a148944a3fc1101b100dfd54044455f7e8414ab492bdc6fd630011bdcb71d750ca8b40e69e27c9d2b8013fa39573727b97e254a266d44e16e1654655a8a55fa9868b12acd3e2fb95408fc2cf36421284e3a3821d5139d3c65032ba1d880b7b8494a0fd943d9cfd2a4a836a7cf2042ee796b95dbc868b4b52f566a0a34f465caa6fed0d3b4438bd67ffa41e45032894e16e10ae10696671610033352c9638970a25b94379bd61b2a78cd1aa892bc11ab504c7129cf19d9cf027858b6755bb892a6ab02a08b42778882a86165c80c987421fd94528feb2961d421b82d7225646a382282e7ed327edf3bbb0d82a97ae5c6ef1d50688db62d4944950694b5f0106d483e6d3d4eb9cf9a1b695506c59a99b0ad9bbd6f2c05bf0610527ebd97033077d3dc1241e70ad8aa409cea39f9e12467d3b268e62d791793bedf574184cab8aee4c63a30251eccc710326b0575dc430bbd7c8f2a355c04140013b83ab417f9b1083a044042f2e77179199da27e11a97aa5c0092f471c3f84cf4859644a4de431660a5161fb09458c52b4e27096dbe0b1caffb6ce8b7798032a2b3c70adcdbf5ec54739b17df2472f378f0f04c6474bc76aabbb103ec982c37f85310c9b73dae92696738498bd105fdd506032f1d6add9bf210e6423179b5e18d3481173c0b838b347b6c95e6a74a476330539ff48e666ca3400c83f3def960075eaf8da6c36e280c0aec0ec54a84b65745685209f412d9a87ac48152b5442edf51db112e39a9c7e67155f50d118583baed68bdf123efda45270d0948e23f217e24755dc5d595cf3e5312ada8e66788f97a9f57b596043e0a3011471e45b88210914d33e050679579843e0c46920b421de271d2039929c0d9981a0c30c5b4d93406322f82754717d1ecfc90d3dad0e3d7c375a8e1f16f3349ed15fdd7059e7f166a9d3a5ea25a3c228f7568d4f4e1bf90a490d07ec43b1f68f86bc0d960e3119a63730301d72c24f52a7de45b52f3e7e1552d1eb84bb6343f7fd2bc99e538ea779f9e124162882a825a251b250c0e6186964c927e9587964461772f333cdcd87aef4272471bc874d92957ee4e968685466990e640c0d5d56a840d050b809f08cbbbb62a2703de29b06028115a7ff10ca2b08bc692365877c2ee852448f877a21f69a9ebe8694f7212ada70d8f478ea10da44bd681954110f8575ed01cba3029f74f1753c5636b9a0209a03a9c084efc2dda6ddc1b0edd6ac3232371d4864c81b792555377721645602c1999146830518afe412b71dd5893c908b5920469f55b6fd16d674b98f7c146b9d83843d4582a1d59a471c9ca5665e0bd19471a4e54a966ec3bcc168788582126e6d68bf9e70eb5da853b83f1647bdbcbd87a0c63efc87f0c0ee039cf5d9386b741c3ed7d7fbd686c0aeecb15a9626b0cbb6c8fc6fce028be5a193fa6edfb1b4e9e72d500880043390f0c6f2ba45294656e560ddb48025f69894018ef7b7c9a60c698f82225be0f570749d4dc28dae61c065d4634190a0d92ad0b113cd7be72c5942c84b86be3a556a812678f97f7556a651dcb454fecff8487c0b02a50ee2aafb18e02834808c3909ae6c4a5abf537420359ca942b8c2ff7c23f53f282b2f198d52d79c8a0b132c4337b61662d31af458e6e37f7fadc7a6efd7ba1b995ed70528ca74d534393d2f6529e833200b7375ea3294b875a76d9a6e0af17d3633d41294fdbc7802829d09d82800fdb311b41cbba05145678d9709095bbd17c4d03f36a088d6285b5a3bdc26dc3e2bca18f46c6a636e28e349e1b31be66c73cf56d43d43322b134e7bb75fb355dbb6a6072c59efdc2aa1e29f17356cd101e6ecc865ed3b3f24d95cb514d0c6415b7c5f0ab2c07c8836df4d61e7dcace7c09f88af1f07cef94ec05bb0ef2112ab0d3538e3a1cb78ef5cb2fbb9cd5ee7790fb9ce7deb5f84c40db9b953ea800d250b672d6902bfa3018b24b39c634d6559bff6b768ed4c238da611bfa651a8dc705b7985bf216badc6f6fe1c1df16e2321056556be3532f896466a4619f66bf573aaa38a2428ae30483457fd52b5433736d164e292c13aa5978373a75a824469708db0a9d8c4e7878be83918e8c03c7c47b0e9eb4275b0e76d45bb0ba6614bd9db54adee8853cf87abd9c083413896d64df891b5323f807fbedb573d3e261fb8b345f0a7abd2faaf91a10ab58c6c06943cefd2b844f2d7d8db480f00ad0ccd755cf0b491ad30e2e0574093cd4ce520a98e7156169b9a725cbc1998e757d14f274b7d5ab63a2d7877b32db4894f1698662777d95087d4b877b528b3cd784718e187489f7b5263f9bb35f3313169a4089f267567e190ff6fb65709d19af9a3cff8a44437a04a1b1bac466b94a8c94a6c7a49d3676f0c8d69eccf3b8d619afaa13709a33b4981b34df344665a6fe698dfd5a19c84fe8e3060ea837aeb3548ba49b400cb704359fd21da1d01371e8751921c382777deb48432f38b3c767bebddc54160abc86e127faba7dafce1c720b891638eb363bf04b9fb73699164074f902c0b6405edc39071f02e04086f36b92d868e1b1fbe10aaedfa2e2f102505ae766b2d10ea48f8cb18fd56645f1e8455f050cdb5c4484d31de34fbee225bec9c17fdb090c4d1b6a2cf7f69a514010648873340a938e20810fe8bf0b4b4d1bf44baf4cfbfc40bfe2512fc182330d80279cd6dcf59ea1bd693d4b0ef84aea123e05cff5e1a779a72b054ba5559c9b144ec56beb97b01d01e758e38b4f488a2a4c6d83ceb40d45c00dcc2f423d28c30cba4b09a720df005271aef570c6ba58b1ac3b989b59dac8a17f1840cbf462a3b72c11af5f258394241d46e248b0cf520e4564ae82e8f6f68e6326851afa16da67676dd58bafccd5c8f7dab117f6c81109554e1d7ee26f4190434dbd26772956b1855358715bd2696d5d1c5ab7312389e96937ad1885c5a2e703f6725176af183fc368690fe2973c5f8d8a04d3e99b0c13423143f727422691948095299246aa7aac88a2fad886b7971ce2cc69a5cdb732ddcc14a5fe9d381e4826b5469aba34bf7756bf8e3cf8a25712003d5b337527b82aa098be332115c85f6505f18fe64465936a41bcaf630ae9f2ce5f8caaf07493729a3a9cf4c001d8dce5f14b78121ea06a47d48172149160b8639a9c23dcf57d8783ac4f31da462216220229c7c911a7c4323c7e0783c92158a3aae0a8e615cfd890cbec3894f891de101cb90481afeb15e2cd5900caafe643001a9b2d776c870df1778dc225ef89fe67cafd8a194540d1113be4ba59d4ccb4979e438c47c6a90b03ca5bd884857c199ef8ae553f2435fb0afe7118be4955df42a907e97b528d376d7047d0c7a65225bd05ca43858a502f84a8d09551dd0e0e721e18c706a63e8cab1a8ee0363ded13618a522c5e202516291a27009c93f6aea7b76e909660d9e1fedb2d0b5b9b411e7cc90838a738015ea776d2477aca7182145bf00c3e45eb7ce8969175d700b7349921558724a01020f650a6d4d083cbf04333e63716ae3b634501391376a50f4362762c24944c1570f2bae63cf14c24e805b96de5d9f3434b928f82438692453904e593f7f2e4ad93741ac99441ec35f1547cfcbd08e46d04a344ed2e419d00fcabb3e0768e10ef227ca0fb88c41ceba0902602dfcb86fb6afacd0df2595014fe52e0e59eae3047e0604458c719179cd5c4c388f3b0fbf0bcabea82cf0e2b613b45face54de68764ddc53e4e306c2436cd0d0cf0df3fbbf1e31d9458de7da26b806a09544ed54140432feb44b9a20d439533ad748ab550fb4466f3b3a183563942935765d16505fb446fc759ca923f8c868ff57bb25717690bfa6d0ec986cbf2623cf9a7862dce71be16cde27257ca6533479761ac066b7a516bcb9d9444bdb235cd36382f47da86bbe6c112cb2bb1ac1bd9024409c450db798d55aadc0277ddb364f817e8db40a99f6b548b66dca18e2299b975543511f551d569fc712d932be34b859c4d505b6874882179e396a7070e79a502e1d0ecdc1a73e9d0135187c481fcf3c7ba756e7f734ff411395884bbe9ec0d36e9927a2cb28b0d27cf0b482de6dd11646051c7337e6d178ef6c0cebcdd1549986158e1b0e597247323beccc54fca40c6eb6514fbd58e2e90d47b05b03efac396bdde0efadc0c53e92ced47636efeae32db966bc84f77b1eeb11e001a22ba0df29c749274d4e23fd199ef5421d54a8672db0cc0c69c05bfa4a794c1892b080374011887e53669121b3048baac1e9f39f74a2d00023f560f62156581a9938225c5428fdd6b6ae71026287c328bad575645f2fee6df4bce7d36de494013853343e5ece5136f5a822866788bed9cf7526a3011d3044c2010ecbf84e0b11569a3b4ea56314bd28fe1246d76ae13bc7ebf23cccdd768ddb35ea21487972064ed1279a9e9d725f2ebf0321a4604d87c85d98074c90d92d522978f96e08dc605c33f5528df1598a0785120fbc5f291234e310d12c2843c3adfb471203f96ea3e67cb425d2343470107632095b3df253d92a70b58e2a70b58e7c196ac5bda0776c42138d9ffd62bf958cb4ff6bfe10cf6af005076aea5d22746fcd1de7c6cb8e31b7430985e01c451a6f48a1adee24c33d48a1794552f673eab7d4cafe6dbb94907275202a6b7bf5a3a1e7bd88ffc6b09c389a94d285128d82ae4eea6b480e824109f79d018b8acbddbd1715553da68046458b28710ca95cfcb111e30da1cd02f1a10ec390097bdd17e6ae70b1da8027f422bbfd9fd56b3dae94f8a7ec75bbec84ec822c9e9ba4eb821badb14091ee7c327cd3c323bbae7fd9bb9cb2659fa1788478099f0a9124c7950d1c08f4145117923267a18d9e06e23cfae6fc13d3fa844a82aa9d22d47f03cf9c939ed2e5ee57d224a926f4f425b99ea2ff38bede883d60a13a03a1b382c2f08d1e6b5ef6bde6a499141e94beb644a8f2a0277046306783c4f8da09006a03285e0ffdbdea3185cfb309bacf2cc991a0b889d46ecc65889becc23592f9051dd1b9a6af98adcca057c6781c9240bea1aa06de00cddd4bf9a1329219cb2c8a45f75fd883b0fd316e62e997e566e64fa83a40aadcde8c37658dc97b8da98d88e48a04218b612f157e6d90f54bae969a3d7eeda0a01be48897b251b8f1a3c988795a0d0f8559cac366ab8a3cdcc3ea62befc15010ab959d7a6aada7b5b5945d383a7baf68d93303802716e19a79705bb0e464e5d8f1594f9379dabe058a2daa09f337cfbe664a5fd35ec5ec78be0c2233de3e39bbf1db32e40611ae0bd9488dd43ed10de26cccb67f8158320183794b55f7868823b2ad168faa21fb2960346d9234d0f4f0389cbc96fc10c450b1de6906eb77a07f2f054641957bc1563f9b272ab64449c1109a3b017f53ffe1277840fb62e7faf2cf0f7199c39033ab275594c37ddd96ed71dbd1ace12a4660923eaff71a97a6b258df689581b9c55db6fa3f41dc50f9fae3896da48e9b965365d73a69561bd0829443a180df5d6c98fe41197d4719654919517e4c19ea2e9cfd445622ecdbf0f9cbb6898d8523961decd7f2671cc266a1774d243c35084aa9b6762c4062f91126508764d9bc0336554be4c98012a627d9d5ab8456c3f03baaab0e486cc7250fd14e0a77cdce183f4e730d657c22fce91845562e53e839516886a809662f2e72e6fe4738acafc16672f38f3a0b8dc80993f9cc27916187c5096e333e64b319d96ab3a50d3ae716b43e498b920d3d282dbbf8964890ae8cc42b3ff2d29336e0056929d43c724c94ab0f16a6f0b1fff793d6834dfe1b1338ff9143e1ac317bf1026583151e80281a74b3e27c93df3b2a22e6a30ce3c295930a8382db0930c13d4a6302842b22f9cc8c249f2632275dc32f4c7bd0d04d9647b1296ebddabd2650dcd4cb62b0b44c80cec5abe7c7d4eaa4dd4da64c99cc89947d6024273debc89830e1e7c5395dc1011d207ebd01487a09ce0d94f05431353c41acaf1482d0cdff9db84b1020eefca5a7dfa67c8712ab1106346fea1ee7406ec5ca742639650a8c489996673bc3334b5d093bd5facb0ccb39933ba578af83a110e4b519a691e7ff64f5948a3c092f28b43b7456e0cbdf1f54299208ba246be5a87e3229cb3f358dceefd9cfae0b399cbc806ba9311d936e7a4320e63464a40308902ff5341bfea705c6c1fc1d34c45a278325728b32cb4e9a3f187bb860e598084d8a89c469d63df628d1b722a2c81e553f382e4247912a8537852fc63bbfc64de15f401c4361a0b86fca05d46f8da20bc28c2c910533d47edd9e4c60a968e72d5d916d04641d251b697860b87f087d0a15950915eb3e95ab7494a30d44bf0be65fc73fef9d92f09ba824cc62e4f925a071d12a7378f47307e5c270c6c9f9059ad1cc98fc44e0ce90dc340f3a33f6c24fa07e2b45faee6313a1dbc5d09391a86871e1891308210e4330e79711318b08378f20b181c45e97fceffd14767b8339d49d229c241c059377b1b4242024ef8637cee80ba4ea678039e3a8644f347f377124de51e381cd01c6064043b47e2c434402d606f11447b02d0cfcc9e31cc98b4a4b2f6220f2baf02133150f0967371d5a638f1892a0187d452b400bd84f9e879bd014793d7f2feca268738038e8e90ca3cdbe167dff216bb85964e4147992b95ca48ffc87bba36879887f22bbee2be115fc5f1ec8079630a5638c7e00e04f4349dea3d927bcde631752202f671bbca1bcf6000d9c97ae6263f38921accd3eb65108bc8df3104d86038f390f68b77884d88ee805ce4688cdef23e1080398e8e33a8af1ab6d504e9c95a15138e406c92d30de8078d5d008ebe97dc92b5d0a4fdd98db63159545d9ab91bebe906d531aac3455ddf995198db8f2a2658904ea94b8d2e261f2e1ec0aea46c4e71834572e60504d39129e276e9f111c434ad4c66299bca0bdb0e015c5ea848a2f17140e9e2a522c9a761a4ce554c72c351471e485fd1fd61b5df8fe5998250630ea9ed09f006abe4f35340571a8dcfb99f6994c58fefe3a3bd185599302041209d8170067d9182d17bad89d695adce125b15e3238e02a1748cda830bd9891fffaeb4cc94df543ce1657423e01e5401294092d4a10e8e098206ce407e175651964d21123ab348acd12101e62501584dd088904a8b969a302cb5804a66f196ebfb3204a365413c32b04720a7bbb8cfdbb2535fa304233d540f5c8924cd5cc16c5a943c590cecc679d5e193a1b0bcd30a19f0180d37850a820a15fd4854b2ec8e8919c5ef04890912bbd21d7925d228e90e59dccede833c46400c7035c901ef8f43d902df501fe6aa71d0ea9460db68662cd4be0656bebd618f1e536f6fa38e335af40ad6f5e0123e3bc0246de79058c8ce71530c2d801bebcde9d269cb897c476c1829fbe11edd361b5a2c1eb148a2ba11c578d57e9c71066cc4b6ef23d87aff4f8bd4efb4bd34fd0671edb2ded3d6e3c542aff646a17e94e0ed6b18203436063536eeb816528751c4c7b59b4205d65d3d5efcf12a85827a450bf7c01d49d565c8cc618d2f7473c4a49d92515c67e3b68b1bf4859c35bf54ed9db8a51a278cc53bdbb3688986f7fa2daa1977a8e8697c107cf68c1586024788d5d4737666d69c0a82bcec70f12bb0d33cea7789c6f14fe2038933a3937a19cab75397b17a03e6db3e751a47a13026937539e90377deac487b53093a2c108cbe82ebd7388ef21f7017d19ddb8740452d620904e9cd55c3914d09224ebe9acdd845d0d2954ee37ea5fe15f6ca773b589b636b28da3b30c331cf4aedc071880065a2e53c01c036b967f77dee73d7e25dff9ad400a75091144e76af3232456257f5571e1e71241f2453c84b8d8e9710fe7fd0e31273159dd8f30e8cba5009fdeff3713d855057da0e611c73e310b344220a0e06fb760651405525208d7887d15ec994ce8f065763c8f6c66daa0c7a949e18c95f3bb9ac297794e2927935053ec0e9dd22f29c25bd3ac3581e2e09a9b4ef36b672104f91e646929272964c50810f8dd178780893ad937a42c31978d3c1fb207f7123d0309a967f1d6069a4e929f8e0a4df99aa0a724ea9a5829f5c56acd35bfcce62961936872fa82c7e8c232ad301fb2e74f8266abde1a19f95bb5db58bbb51db119f133e8a08722cab084669a88128a50f122371af949539fee9200c0a48e749aaf4806ae0e3675481f05e0792ef753620bc58671ee04a31e88b36df84924de8385f00af8d8f319735f025baeeec621fac48793cbd6036a5de73eb72ee2e4b602fd18411e7bbe9f99efa3838cc79e0f8bca0e50d67ec1eb2240e5b451994e617711c1a0c3634f508d7a24a90470fc7568fde15aa8cf104de3ff02861fbd6b82c9d2318b7c711d126a0ab97b70ce629fddfa659db017c1e822ffdd0b73c9c3f810b09fff4450404e7383769d9037587cb49f9b939a4ad9ef8459e4be85dd522d737569d67b1ca9e23a7f613ae2ebae739385ac0763adb84cb21b333ed5936989fd8616d10b0a9526029a7715f86a2333ef2ba0e4f3361fa2a0e3da191698ead94f974c8c970e77f8b19b0ad82712b33ccd9c811fd6d3b2fd584e19b2b2835d607e2d0204311f4708fac4da19732a5029c91c68f06cb5c8f511f941cd60ec3e3b1f366e1c838d98b9107047efec379e5aac370964e42bbd27ca960d81320108fcd90deef7eaae1ebc254d7cb76a28cec6a31c3e3e98dad36dc054245acd3b0b7549c512dd0e88d8c73ce7e4312bd8ae1f8e39665d0edc83d99b03f7707a74e05e484f1db89789fd0ca3ead18326c8593532a2f26c383d323762efc8062ea28aee9df86c1033c3d57a38c29060dc8d80d6aa011d051c1205d9d730cf038f4ac1349e325f2dbd0d39893fd4e74541db4cc65513afe2c9b0b98fab821591678a6d30e1288d92b6dda55d902084d35295358239515fdcd200a6e42989121fc8b21725ca8a4012659545486c7e5f3f80ddc3f02e5f57508c66130ea1e5f1da57ce373b26cdade0c5211a6ad7b506dacdd1cab0d3424239b5c749c3149433d0aad4347023ffe8bb7be04ab7ce5a5e0e0ae050b2fc41a00c52a1bc544c26bb59aaa2c066911f1538e6e336a97bc06bfead3e70022d4ac9810c79e2cb3b183815ebaf1d03a4c23e4c6d2bd798fc5df5f13f3b82d130e88bb4c5da4ac6e351a148e309eb8a4bb22d3922e216f69679b6c5f10172d0ab47a1869f02fdf3419779e9650968b769b95716916f908b27b496044e1d954c56d2958e016263f6cf6685dee20a00cca4c2601a604dba601a1c0aacb822a8ff15573c0b4ec1a05328d0d732c9a408a5ce047e4b5deb7b3b16d3ce4cb72cf06e866837c1fc179ced1e779aa77482d70129a2b719793cde10679686b86753b4b6380e4e53e22daa880e39776005f22930ac0b427a35e16d2c02237f7848192c7088022d41672168b23fc63313543e7629a8c1cb39a807659e6ddcd64116a3611febf937814587bdbaa2d41a17bd7c03e45a94fc2e49e1ac5ecb87bc569b17ee244d6c0daa7ddd8ecdf1e28f7064e8a0ee4461508e2b502d418ade92bafdb120d82745eb19f7e88f5abd60ba663958844ca4472a0a6c31503d79a12c60f2c297bc6d3ed586deabc1ac1de508039e438967bb684b1b590bd3d2d600a8fe58c6ad7a7f2a507edddc87509bbd783b5c8f01da06ebaae4cd664564268ecdfc4c9ceb77bed977e703d8855261e63b7f808de7f5177dd0a1fd66f2bcda1d87aa1f3d4099dd2e541af8c568ff42e1c6cc2d964c6051cfe9f514721baeb26466d523cbd21b6409bc72c7aa4d621038b38f43170955d9413d33f2b808ccbdd2ed83e0e9dec4ab51a2d4a10ebf6a5b1ae37b4339ef2ae4b593dafeec715db5655e101fd65247accb15f3d1cb239b1f831caf36f9b83802c6b4e469ca7733bb7729301f85388e5e00eae5ed58b995b154317de95ed10d81d1dc9b58c45243af4c2a01e24b2f81e22f5f0b9f6bc2bc1bcdc2ab78b05eb05239cb255412b1a99330ea3a2c3e8cac3a0498ab57c9433853e45b6b97808da593960e23825976354371df702f40d2f67ebeb3b7cbaa4ddd70ad3be520ff0fee620cf03f08c95caa88f97dc36f1930d5fe9439bc34edc1e58765c964a3854e5c92beeb9c1b8295737c4bf64c467a2c2cef25dc1997ebb33cff2af2e2f91bfd30c3c0e655fc930c1c8d1840631b12091735178bf1aed6f153a899db270338ebc807fa564f98d874489febf97fbdc08d91dfee575c0ce33b83a73a21b41bfcb1dd8750dfad2acf492a860ec2c2fe345f933394b018dd92f32adc4d62854e0f9823c5c805746d1f839a34bbe89fea377a3687c460508407485d41a189a0cbeb5e20a9e7f5423c8d015ceca9b841892dd33be4785e48df1e399d0dc0ab895557b6f3c1518aa2d091eb85a0eeffdf5f28634243b3e4994f6028290c382279bf5b43a4aad04cd57ca0b5b710832a61753c8f7205aea9fd4c908a0b900167bcd68c9ad71f9c4ecf8d20855c5df5962c91ba545a32e00c00b4dab543d0184c81cf1ff635c5e31b3bc18e9a1b872f4200b1295a547fd16c6cb339b2907ad3086e5edbd51e75123400b1261e67df293fa80a8e99baa3362abc6bbab2d7ca1ad90839cb66029cec47a9a647b0552b6c56064f17fc12b50babe0f6ff05a936e1ec70c53e9d50bbb93c227439777a4c57d757cb41ec88509a5c59e09dc33cac84a0cd5ad20be7ac7d1a367b4e6accb1b5ca225f1dae929a2b6de0fca23da37a73170ad5a7294a3b101d97d68e61933061d21605959284ad4af11ef667551d73890bb798ac1d05bf3edc22340d58bbb2587e055bf40d435ddc52c2a07ab676ed1e42f9a0acc27d1c0cb7dcc1cd6feefe2d98bafa44dffd58d1656f7f007eee8c6da7412c175d0ba29a877e197ad08b17047b3d2203aaadf5aa79a0e07bf4b84b127a89c89861afa066e0d2066ca36b2780c575c1a4a56fe8c8b911796916fc37af6146bd1039a8fb990f0969a3b2ec1f42d28cf0cac90f6e17af8d6cdb7725c23251fbfcf8be2bd56eeb0a2fbf436e40661eb376b9d84b366abb86810921653243734d8ef6eb95533ce9f35071116d987da802dbc4d12954d8e51a252e5c996b0218c38a4bb32cbc7cd8391480bce81a89cfd042d72c7db6c1756fdcd2bcb6141d717f1a4f63a3271aa56d29079cc69fa26503ca22116ba73c7cef0711e12542e646f31aec3b70741e0d9679b8d3596cedcc1db3b026bbe5525c7cfa8f96faf5a05dcab56d466c444578c48a693e598677d7e0ecdfa5ba3f56f9402c6773ce536cbb86df99ab8e7565f8e6ac33dd05cafb061f3496ac82d28da57eddbebd6d2b892c5c67c07686fa3b57fea8caf9b4625539efba87d33276129c0d87add7f51247d96c908731689c260e6aed433296b306e930eaa28ef795a0dc23f092fbd4f58578dc125d2eef162a25e226593e463433092328ba25a96c038714f9079afb190c9d3f12dfcf12afd1d8440bd9770cb23b8cdb1869b9a520cc059425fb68ce34b3ef4d25ae62c13a6349c5ab5dd04bd3a647706b98e19a047308c8b39574e34c1ae9c625effed3da1b9af68c04df7623f1462de8de90110a3cd767094ea2e543f1978d1671c8f00cce89884b0d8ab27a0be8df2d03d5b0a53cb1628f9a456ff47b6228ccbbff6ef9cf57b39c5aeda9ce409973ebb80fbf2be0b8637d48693cfd9130d43bd4752a39db33f659753c0acc86467cf04e7d8df3b4b3091fd56be51753cebbecd71d898261318e7fa2bc8a93ae8a1e1fd09111092bc2db4747e4aff87b471a6d5c1be4be22aa981c7c0d124cd6e9a34f61e0bfa35fdd9f2da8e15ab0ac53da8da85fd2adf961a07fa06474d085bbb06a7ae3448753531ae63570d13c3c894eb9a4cbb2723994de781a075f73c5d48d3a5486dffa4efb688f074f198e4a4d99e696f2f469af7e6bb0d404a3b76ba54ded5a1d72a5bc4c98ef9fba692870b6eb6793681294d9686e0333dd87d8e5deb659f2db6c9bf851daf75ab4c0bcdd3207ada662d021167804b1d001955e486d3046d00071b96d01b0345bee25521c0fe429ad516a7ce223aeebb2592cd6c3e21dc4531c486103b9d405f40a758943cf799d9c85981a660dc70c5a00c38cea4eed8d781aa8842d83f598571ab466a4ebc1a1d82a9beadfc1de4ca25682538733297c823e9542fb5f571714ba6302a26c84a341778fe51b08e1e5071130808feb1e5241484fd7f87ecea20efb2630bd7fe1079a6630248bb2fc1f02a48c4ede0a8b5a6e084dd1b2bb1406e259d564d1e391a8fb32e4ea682114bba4f4b6eaaad2d11162b56b128717aed0ecb0f180372d912a1debf200151e16dc789debd1196ea9d600350ddc436be2e660dacf23b478d9e84ab57276bc104dfdd42ce914900b9b950a6c9bb7d4b2b93534eff1ec1633fa58cfb42164d4258b317f8b6a0e036002a4df45e40a759cc48adaa056350fedcccb5f1784a8a5930f3d71833ff23fc39f5f9a0843e4aa580b0ad1986b154ec9f53ecc6033feed1ae5c938d62fdc7bcf107e8688ac31c8786ab94b33aba30bad20e2d5ba9382266799e27b87437631573873c0f8b16d6142c042beafa3626ef9aef3c1a0e1b58c447f71f5de8ce9c2e98f4b0babed62b8910c02eda02bfe4c3c996d69814dd66b6e6c12d7170af1b486e0f0916c1bc4be37d119041d84b98375b747e019d673320936402d178cbfc0d82f02f84e10c050e400ae9466033805a9e12846c0a100d349fcc1b100eaa8050808e807084b986ffe35b13e0686b299e8ff6d43ed4c67a796dffd08e6acf7252a0c0d60fe60c2a32cdcf83186ff73b23ff49645317a9f5141227a6f7c609492b3ac086e03af38aa5f9ef2709459f789ba5eaec68d2719b73c6615c9ae7c0dc9cce5ff5301f0601def4fbe6055e9e64eb97c6d027e06a4562cbf24da80ae351d39385c1a0a2e06771d6a4445d1a9ab6baced4cd0144ff2102c6fdf3a7b59dc941100067da9dc164a2266a0ab47ac545ee02edc191f09078fc144513c3d4ed34b5a30582f0f29021019fe3f7fe3fa97a66b0b3e798c1d1f3c71bae2862e426dd5302b26b4b2e57d670f2273c867089ea5aeb6f38556ccb705cb5817585058cea8c9a92bdda19a73210a49b176c3ab9a414c7e872d2b702edc69542ce222203025aa6980c694a6a52fe7ffd85ce0b620126c2e7a8ad0773652938acd684449c450b0f5740763c4605b94a3e6b987ed814bf7d181f5f33b0509554c65fc7b4402c5d55f16218166b4fbb7f11d72bdffc94b12008271a2ada135e877d09b7875c1f9d9f734381843b34e2f44274a67873b9cd31c8f0adf829b201ee0d3ac979552f745b0b573449ae917236e066dabc0aab4a36043d4f442ba9ae69617d6d0861d73aaa57f32a5f43f012ba58f3e76c052fae2d0ab8c3792b5f1a46f8452634c67f6a029ba93740cbb90b1662418947c3df747788afb16ce813c62955676b65fa6f401044145c9101c366374e52d41ca110bbc9bda9a987538c14d1c6e7c0d0d60d1027f8061835ed6834ce61a2a7f340f48e57da6297f8d11b7387e8622751a26106c64317fb762dbe13dbc9c4e9a76b30086a6d58a2430f7bdecfebb8880c746cf8845964bf50d1d6641eb627e71cfdf2d7db320633f4f89db19a900ed43d4d86ed6ce4466204d99d7c54ed07275ffec1852be6546c8c5d51b2de809b47e237547a30e54b48fd415a3351947527746f4a7647292ba9c88f89445b879ad65ef943d49f88bdc49792753a4e57d4ce205a963fd997fae807c8155af5d7ee0520502f64f3910536ce8ec8135a9250ab1790e2d2b1af15855630fd1099c849770e94f9db8daae41bba8c8d0c1d35ea6be27192e5333f8c0b49bceca3184af48a30e8bb7bcc712e236863eccd0e546de95538142ae2e6f6626d6b8115493b9bb8787d505997b7d12b015f99b267305ad9a03fa58a9e14d451e981c48fbb1a8a7af6b4af62b81d332f7a375009b01fe7c8f5f9e421a67e349b743f60ec044244d91a976837e2bb438078c8b0a8fb2df17f63e9e0147eda17b9858b42d3c5e934f2dd058b68000b5cb72a8ec69f12968ec2bd7ffb98808629b6a881e972fe5bd4b97349932cedb3f443f9e5bd0550fe0fbfd2feb42f31de7303a79927da50b68dc67a828437891c5f9232dabe8aa626b5ea051a21bac5c94a46fbe48d9b6b40493b544af928e996786bbe6241d56759cbede6e10f3ece72884542e3947f193458dded76687afbffbf737b5cf6fe40f65edf35bda068f39d5fd66a9dec7089f5505ef42b78f26d0f946cd8463424c563ceddc3f55dd6cc4196035b8b182706f6e146f9c5c5e53d67388065633a35cb592d3e770dda2e51ea019f782dc789b408dfdddd80b07a0a21e9e051d99b35696792a713240fb3801d0abd5ab00cd07e9630280bca0c1c1ed54ec4b38aa91540ea101f52fc39e2ef3217071c0d05322bd75dea15ea409814b1784d22ffe17113d6a6608a70574b803a82bf02044613e0846b0be55df79cc83ea1a5230378969f3302cf6f2a7e27a03664a0ce72d90d318c62bf1942510a12af50b5fb9bbb6c47c7d82a4caef2c1670fc5cdae2a4a149f028e5968398bb07b4d142e086fffc43e490142c662d2608c02b4049885d769fb09173d434003855206606e329ce40668bd8c27c89212ac5985bab73f141d276e071541c80715af33d531b3a63fc8f3b36dd3d55e5f6f7fb549588e1f164325b0370de15792de9488b8d4998bca1d4edd82e040f452d89d9c4e091e5dcb5081b195d47b37ea41d1055224c8b3ab3e1038b9a0d3c77e0e375989aa26177840e5a7db3c8cfc3e92ce24d113251ec6936cff469d2d13daae45d36bf68f3f55017d20cd6e316b72c3015f47a6008d3c09a50f8e27fac3be020f440b0ca7b59b16c30a9f19dc56d3ce2a17010760f85030a0cfdb56c60a8eb2431caf641be186b87cf5a715bb6db8fe1e56ce01a6e1fad78ae4021b35f9903e19408fca7b8adecb8f1abaaef6b4f1a8807884ddc6e42ac4aed7ea210c93b75061519adcb34f6ff773a8dc37a38ff96233b05231807965faa63b12573d28d306bf2046e04334d4a46b26f7851aad7872426e31ebd5def4f2b34ac4000e4c76a589ffd01f468db6b27cf7fb810e667357dbe3cd31ee95fd86c00b0f7031a7039a4d08b3733456937d4c4292441db811b75973b410cebf5c1e98310a6c3eb5aca4ae898ae0b9e30307803e0b834671b972020a7a7524476ee191097290d001ee16627c9d1dbe55a1a53de3baeb8fde47cd19b43acd2267e05b0bfcf2ab50823d2ccfab65b30fbecc95ef4122438cd6723a75628b67257749ff28a63d7caf0e535abba1351304021c1d64375cbefea89db1484c14d4ae1fe8fc317f31223264ef4308650a0adefb10157f60b5556ee75cc829ed86a74a238d1cd5bf06c1fc74b9956188c5072e15e3a0eec3f8e5b71a20a2d48c704c35bd5f9da05839bc4189798bb1de7c5a12192e8f63ebe622955244ee2f74f5979f69929e9411949cc69a88315d3d9c97258da834d134ae5640a9fb2b274112fb883eca73bb016db786da1b56accdbf895a95d8818be77ece5218c1d035cab91b03e93d1d9a4ef064e2a4a00a8b440698b596754ecbd8648d9ac440cb2de11c6893a39d1c330c09ae489ba9d4edd8aeb876e7335f82a00069b80505b81b517cfb4878ca87f05ecbc1be9c0b8df178aea8676cc13f65c0174e0c610fdfba957aadc1ef5544be8dd5b41ec7308d0cd00329f63f0408292f797cf61116ce4cb1df53da260b8ddf2065b54c81d618ce59a092d99de4af020d8938e5417c7a6e999b0444c6312a05cbb2941d053f918a1399f25d27c2311c39b886ecac68a88714e8bbe32da2100da38043031048ca936b5226d74b32eba818d1916199c2a3fd037557eb82581115e8ce5f393520703da89e0687ebaddd7aec847e54fdda482cb923704795bfa78456f3d8d1835c4c54e300523ba42c4ac0d9d463cf162c74731f15be4da342c03318da7f4f34541be643e9931e99d20c6fbdf86a8ca354525d06b404bc81aec1617c649e48698164cad4702e363e28dd07808b976d1510c4db47095624325e828c52d92f1a159e1169c830dd3731c54c37928053f1804957b80f4d5f4fb11a65ef75035ac8391f65ec1cd57613499e1d53f1446ee76c38c61bf15f639ff81b47cf7828cc590a2bf36235724419829cef668409c94796be8a87a515286b77b6c70a530bb1bb13dea6c4c367a2c29949420fa9b897e731da22a4fe7aca452488ffea690b214ea6dc7eafd84f6adc2d39da3dedbebd84d33e2ca626572eff31cb8756bc91073aba132489dcc42f458a3982b19e0e33ec224342e3d5d392f059d3c1f75000185b8bdfb20433649a99fdb96ffa07afa8e56d2d3cc0e64b69d798143c6558522fb430a35b5bb06b4fe5a68adc8dc2e91fa2d6010a9dfe2b0f3db4172d38b5d1422258500e0ce959d738d5f8afd71b4e6ab1910bc89b3cf1efffa04d042a3f4b87dd0810c7e738e5f128a875f64b65f62b064d754eb24bc9c82c78342ad9de2d9bf80abfbd69ee66ed5fdcc6a36fc106398f3de10da35233caf3496ed1f19519358c19d8c99b21172fd4d824d7b09ffc791f911165f0c43402504aa65b9aa5b07ff52603c78fd7ccfbf77b12ee7f81413deffd50b45b9f7fc62d9d6925bca44c21f82021ac813dc2563dac17c8780c366ea2e0fd33b8abeac61583f82891a6108b269e9006f204102c630240bf1f39c10e3c9bd137e54de8fb9dafa6aac95ed02452006d35348dc9687fb15b30a92820d884389de144ca4040396f98349e54afdc02c8f60166440e9f441045b7cad91d83763adb753ec383690673248737fe00aaa2bb3603fc0d0768e010bd3054d7970a7a01d990aef6f08449b8fabd36a24f64307cc132349effbffe84fe7fb53e579360638d7c6e1ea26916a367fd4cced31502c5f02499423133647a2c77d3f8742e3b425267f1c30623606decc9ffda3d80af08b3a54805f705bab66a7498d773d3165d0000da6a1baf190a2ac1c925615944b23878cb7a38de27bac417ca2f0c00f951dc1131ad7c5cb3a46a05ec0e5cc6fa30924af4115424744608143df65640c340003344a2eb1f5195c1e8b16f0e818162f23b07cf67910838c153f1c348a9f13b7cb62cca71ec09ba5e25b4abbd200e5cadb7fc55511b3c96693a7227e9e4a10484d884f075d42756345f1482f4aa7af7fece805b4bc6aed4e055a123c91d76082c78e94430dd54f60caf4a86319d58d13ded81c4ffc3f2006fdcf6b65ef6790638437161aef14ad7b63e2f43cbf83fe2cf5c3ff03f920a2d5753acbd19344315883455581ab80b488f953c28b8b889e93c59e7374ffe00a6f42dd60caa36781a70e714417e7f98606c35c018cf3d1ff900a27c159fe15e0cba24a9f1949ccfc801dc461c2319a95e9777353986309358384f6e9d61f32469135d0f161671ac902ba4880213c94fbea96e4bb4e109cf379b6c03af80a811ba5e7bf157c8250d0f343e528bc9b87da8f281eacff87b88e42aa482bb041994e6be8f9669eee1595bcaf82c187db985b1315027ea000bb542101ff40db2abb2aa69a626d631fe5e9fa968b7dbc2b4636da297875108bf4cc6a491612b04e88490c0ffeec6500483d51b0e5572a3979233d9b942481b3e1758ce24b0b4b685c3a9b88e9f9ff4c71a1529aa8b5ae8fcf5ebbfdadd40cd673769544fcbfa264b6c3ff5300404e5749304ea33a77b13e1e79d41afe45587acb6b958822e46b649ad1c8be302d037b5a6e68676593e522374088880b733a1f60af3372e9bccab33a7fa8a5ff5eeec60ac522e1a1280193f22d165c7438bfddfc4197ade52d302d73be6c6168039780de8f7e292713bec097921a5de763526816c55ee643d47069c0051af54f3d00a11803bda1619515402f0418f0f185367d92be0d8bdc8c1f0ed794bbd9167903ede5797e2c8a5992f4f3cd261f4be4c0864f0c920a93518a1e98101c1d6e44fbfaf4307c621f7fb706ff354fb7b5f743e683129f5902d36de5b5ebfed26f4bbb830e93d26639aa44457532f52f634e4c11e15d1008029136a10b27107fd41755b04975d98161e421dc82869f70cee180af93c100417f1010c237e9cb2ac985152cebd41319755e9a45b98aa2748b4c76762c6aa706ce49276211b014ee65b9d5d7ee5d3bbc9df18fc14855b41590eaf6c32bc8afc5c0e1ebda7e3656dadd6ec14496d80ed33df2c07a3805f75de6522a4a776d85a672a9f5ccb61e423d2965e9cab6780ffd021c120ee0b03dcae23430a3d4ca33145e147b32a26175e43f76eab5c146cbf6642fba2ecab94b8c4ab91227e012555c590cffaea0a0d1810afd0a6ed214e04795c5c3dc1d7bcf369b31cbf7662095c98c2d00fdf70cfa5de130712212bebce9e94e4c10d43087602aa914fa084f2d686e70a00c9d7264629117b9b8c3164a5c6130c0a3ba46df46f83a40efcae193a7f306f39b59a86a807ad69636010cd24483920e5f796a3b47129588750576d94b9296bb6f6213a67a97f112b51323c180c1581b30fed382796fb7bb4935c6fd12498c16aed226b21aa2cad5335015b5e0d9d93af9229c212f4ef3bcb592b861f30d2df5dc9b355f7ad0449e2e404b894dbf88737b8c85b34d7e60148345c282dc19e366fa5f83bf122b74dd7aaf2de65281824958b262846a5b2d88f0cef27c813e36fae6c27995d1e1b9bec39f84a596857d802c24867226a27c7e2c481f36de00c3b8c81bad85808a5631b5df6d3b7ac9402bde3131660fb2b076acaee5e458a34e3f2a428af8c707647879ca9a57ade1a914ca3569b605bd90ff2d1a445da176975916602a62aaaeb5565cc1771bfc5f933c006e28ec44b2aeb7a0fbde68d73289d12d0498cdb00082bb77300b69478e6b331de73937832e9eb04f42a2da36c4fbc9cc8dbc71a693282f3896ecaa9f004579301832d71cd9cbed2ee35cf8b257dced3601ede2e0232421fb3b1f8c103664574001be35fcd1a9eb176156acfa82bd1be6184e12eb0f05a2b5f271cafb47eea5588615680711e40c58387a4481935ad7745cba01eee19869cc13ed38c07bfe0a2a5148b9a12316b962997e319d623e387cf5ff8c7bb19ac8be5f784dce170ff92349276ea43c1a2a452b842cb94b6009478263062af0e56d85495cac3c635a0e481f982054775dcf157eb9e844095f5b00c42b67b4e63e39adfde08f09480a01375067f796cff65b2d46b276ff9b8f3b1789f1b3d3cd1499becb6149bd205f7ccd7994ad6aba05bfefea0e5c926f8fc74b63ba06c76ece9dd3c9f3dbf62f20a8003dcd981330dc4b8a7026a76f059b350c894e5c01e472a7f62a72712733f724b92f487fd3e75fa483f8dd12ae98394a520a51b10ec4c0805840d49772f181af4fa52de2348eb8867c925b3a1a1fb5e87b5b37c7026effacc25bdc1e09d1b9c97cd2adb4f9f204d43fa13ada14e86804342c1f8db0859ba51b4eeb6dfadaa73674dab96ae4c12d89efd3abbf9b302b4d6fc101d69e8d9ae0b98db23243d120359ccf85172aa6d021a62f56dcb8df9fa80be47004ae650a99db5361af6b153e6b48d4a175a1e17e6ebe7d95ebff759043dab96ffa269892de829c54b00219345c6b6dc4cd334ccb028a76a94c5b30d8d53807d16ca63782ca4a164cee295ed1d5ea43041a2217bc2093fded9837be575fcf6d8b9938c3b2e927a55db7c306f89cf117e8d1baf0edf685b9823170b7deb5c90eea0ba0dd0dac5599bfc7c215f2bdb4644b29a54c99489004b104cb04383e6f2623d3a6dfbee4394feab0fd5287ebf775987a32d7f4a54c8ed9cc749a2951a4ea57b71f79ea08eba68673d23ecd986cf6ceaaf112a5f23c55cbb2ac2972569072a5be35c95a92aadb061f7d1bdbad4be5c1e664a2ae098bbdf7efdd1fedc3c8f0e0f4dd79542fdddac7c9a6d360319adfd4fe54861903203e3913742329f7eab56b199fe9167327043d65e8247af2552da5128dc7d7b3db6d763a39ca8646deeae6e9843add6e3d6b9b142be7493467798b3b42ea23474aa2689aa9d6e820d8b3f6dbd9a6e7b4e9b75a3f5eebd34b67ddacb5d67ed36e6cb450a8f4d25936db67db4c6f2acd907ee3b5bef5e0616d365b8e49430619e3243e9ed14fb6d29ebdbe7442a96025fb654deb4dfb24bfb58ddb7ae6b6a6f5fd0ef77bd7bb1dae9e63676d6347b65af266fa9475e2b73ead15d9304725cbdf457bf8e091c48fb6f5697346f6be919a919a9153f423dbe5fec6c8eb3e5be9dfb0e9749daee3ba3681de79e1e12cb523a6ded75e7f3d7a12b0e2e539c4d98b87f69bfee1e57ff6b39ffd4c03a20d0d30e1b8e09e705f80a2288ab5b374f6722faef6de11df6a2ba59e7b908c0db2d43248b44e2fedbc7298d2f0b1903f7c3429248a643428817e68bdd7df7d06a5a04679a1efbdc1344d73742f058147b009bf6065c55756fcfb46daad9cc03ad26bbd0e5b8c2b8a44d1a6dc8dfeb5b51f9af4038852a5955efb34281a144daaf1ca59dd3aadedbf8ffd707bda9a8f9f6d37a86a55833c2010b4ae655d3ec36951a8d376c3f7f3fa76b8c39f772d8a44c5cc8461873d8cbd0ee38ac2a4f3ac67b5bde9ac158583baafcbaab964eab66236f8a686ad296367f6652f3555d3a89e9ac438e7ceb6accbb680a634003c2608192142e0920ff7a3a5af8324f47996e477b47ead7b8ccce28bafa54d13e33434dd94e3c04ab10d42b1cba6580f943bd579dbffe0128eb1116998dd994ab5b2b925c6977b992fab32eb5dfdedaaface6e4d0631936ada0fb6da8ea97fabf5760b32a32159db1e05e1263f0fef4ba65ab16a70cc3ddb058bcd1aa4e1e38f1f70624aa61914ea9a17f6249953a51dee505a3b1cd2f1e2785e8741eebfc7785ff775cdfbe26e254cc2a426c959cab656aa1265cd7b9e3646550b72e3b400a234b2312bbbd456b7ad6b7367b7766f7c08ce109c21b6afddffc1a623a54f29e865a56b9148241291646308d0206c2850ee608ab8d29f25edb1b6ed7f8a905f26ac65dd4d41e7a8e0874613da877b1f18521823ceee8eb6064f75f1fe3f29ede28dfcf5de8dee841edd31cec0b8b528bf8b50c3396d6a8cb89a17386d9666603103fc3cdae9b015e8872354876e8299c9dd11539a7e28081ac04d31a80053a3b34eb22b4fd11f0f94c04b3dc814e1022f0422152cc86b5a45603f21780ac85832b7850df680d703e6039426a22d2c398fa197edf03c4f2412895cd83b27f8c8613ef39973b77b9a14f3e940cb7464a1a2762f5cbac6936ae6e3071e6f5d03f5f99da0cb7e24660a2f27682d43e4f7f1ea5045ee2e20030a8e5c6e104293c00580e8b0c66747fb230cf5565a27603d4afd8615b87081431fe45d27c0a13dc2b04514c63aab4ed809c1cf280855e98e3147478b411d60ce0fb4978e8ef47a24ec7518b37c2d2c3ee32b5f592fafaf7cc64fa89ac8f442b90dc99daa9c95d9b46b4cdc9a288d4c3dd3277a6720754e4c49865e6ae38ef3bdea9289b36bdcf4fce532cf631df6d9ac08ed69d4b8083caedef761ef03698c3a4db6aad3c963c7b3a48eefbd37d6efcf6376a71804fd4bc191247b871fdb6c51282e9429baaeb593eebc006d336364da6768ed68d8d37d7063fc677792767999831372e9a6e69efd6ba3525f82f1f11d0de5692c7a37c93436c3debdac6d66dd4dba90425fa1f3188fa931f17ed5b4553369da37ad4b251c74340dc523133541e4a0680a74012e95068dbb43e42e3b5ad98a1874418f3997fe2ce9b1575a449ce9c2ede82105071d3cc07c3ec54e148b10e9e8207a20ce40cc3a1821110d114511f601d20ed2206e9288c7156f033a76c840288a0e10d5a84124123f884ccab4eb200d0f0870df025970b41a366c210806d0a0894bb25bb01777de07238a445e28d48d2316c59bad8bab45f42f481f1df8f9207ab35d213f0e2e70b270e2e82eb63082d96a6199829e1f1624b93f0050e00899dace5b12326d9acf5baddce9210ac0b8fa43e949b92d48d9e807359274c37477ad333664e98328a5e725756a1cbde18807d9b924c2337492a3b6b7f75d831ef50e6dd8359c06ac542912356a913b34ff437365eb77dfdcbc4ccce5aa61b11a8712b80535112c6cef1c8f79148a25e34f2a332e784e8adfc480c160a1a0be2f7b5ddbf0accf1113210e57b8595962c15aa4ebc6ac81e5c862b3199ad76e4e38a413750bcd33a62b75ce0bc7563626b6b5e0462ac9c0fede3e6f42586886b15016a2564ffad2cbbce99e6638b5d376b33fa392c5663634cf81b56a5c2fd353a4ca4b7799d3fd3bda3bd67b4134339a190dad6b5ddcc89cde3b3652c9d8b8c3603237d4e56a57112a1a178d8bc6fcdc61ee3236b5c26030996d1a48a496a0850d135aedef193e8e2ba258fb03242cd65ad20b70293ae479e583b5d6aeadac225c5fcd6324d2c7d8d27577da54d58daaf56954342a8f85a1199a4faa1fc37a927bccbdf6a4e360216aac1e9d9f229f8645c3a2699d70d9a8a6a25d0d84ee2a38ef21d0943370a1104a0ef71a6f5168a305d760560b975fc377b806636e864b5ceed041ca387cc0e5ff7b1443171884621073ce1700c13081d113c33a7090c7d83a3612c314e3059db0a48203b95e1e99150fe4951042cb5438ce59cc55c85d366d74033f91953cf5db38e797e5702d57047cf1e80414ef8317c2cb5ef635b4fb241da8eb9824655996b4043faffb12fcbc0e5ffb252d71305dc171eeef1f6783be0eba3421bb8883ec792e976b65d46315593c60258b36449136e7ba3163a503f27937c88d1570051d9bd42415fcc039c5b36db50002cab6edef76410a8aea3c0ffb87c417dcecc5068b025858585cd095b2b0f4e77dde0d4f30a69cc9c56c78de3d43685c49c920b54230418053df9002c705f784fb02088d46134551bc45be18ce189c549a2bcdb91b3f98f3377d522e5190943b937226c55089900323acf7e0100cbff0d3e7ad513d33613d8b3da5274755b24f28277ff2f2d4466c35b7f6743a9146723eb055dead6eb5d9b08e7de94b98bb6eb3b5eb166e9797ea561468ab7a7652ad5835ad975b7f27ee644ae5475636b3aedd74b7772a955a1d7101f47c5cc030e4386a982451c01f4440064c9ec0c102da02203a05b80c38a541e083ca0e4de41079dff22d6dba4840729e677d818004317bec529bfad464a59e722fc55666ad64f2cc775e32faba3424b749a6d4e7799e7d8b82124c6e70388ed5d0288633fdf0cf6e1b0e720ee50b8ff3d624ef5ef5aa1bfbeceeee922dd5122d895062d73d447ea04cae888209070bec17315bd0e08417383a6ef534b70c1dafc3d6ce1fa421aac18a7c471ff1cd683f9fae5cd2314089d981b0c8231dbd7084e1688d80cff1156193be1a3f688971cfd9fd5a2a8ea1ae239148a410fcbceef34e8b6f12ee921d2d3d294d47b523beff23a5c1f40759a243ec8582151b6f8419382b662ca14b6dea5301566290e111f03da59ffb002a6ca4186183768560d942d9a2ce0470fa2f108377ee397afb8e4f6f7a14d5169615daa03721e159b92bb9622232684f6e551fc91efc8d5ea3e87841c9a367ac5183a80614189fc776503edfe36db039da0f26e4fcef12c0800b32e6e88f96112296d04412aa26499e24017b82114c586184bb2cd869e0ac7c612745741e61f3f2925b5e3e0662516a9936614c29c678c41cc65d6a9936c5c0010a0a0c94ece984200c94ece9847d829d1edb950880e4451c08273e9193bc6b092c241be12ca84f0e36da8d76e24081f3f189a769de59d468c2650a6f20a84fbc249f980430b64ea149b7bb7b37c6dddddded75d7b841f0f33adc8d12ebd850324a16e5d0451e2bee719c81d8458cfa5339e323329ebdcc6677e4800300b99d031801d2453ab13006a0f981bc1672affdee90a0f1441086a31da489e84ed075365ef8d04800033cd11bc531246ae128989b6c574fc1b5e030675014bf710cb57c60a8f1aac1bd148c5e0180f5c2cd70cd9de7d9d2d2aedbc448f5897d8860c3860d1ba316f4f3f9a89a4676ab5596a9d4e7f475a3cf7ceacb96a71c470e72834b321dbdf424ee44eceb1e6518d5272a52189f6454ca49b3416d0681bab06bc244f6f4f9c8642714e964df4c337e423909038572ca331e53a76f9e1776323cbbb2245caecfeb63d293669bc9e91cd2e9a39241c9c8eb4a912b19e5e71463aaa156aa16eb65e00cb401694eded7755df3c26eac6526abac69b950ad8feac3fad49c9a94d39dea9b938e6feb10da10da909ad93757f402da094d3359329910a98e919966adb25a85a8d13b44364436c40637ad6927252d1fb8a87805c1cd1819a543cc21e6905857318818ff5175ce47e5accfea537a0d68d339a4ceb9e575952c2f3faa9bcaa962934122c57c4a5006d2c01868d36a0d69cde8a0dc018b565341510c795115fda675930f8560382d4b15a9dc546c22951c95b34199736fb201aa9c2ab71049868acae992e3d3750d47d0f7b6f7b3b77638bccf92ebd8f175971ba63791a3e57ee684fad4ab3acb753ff7a1da59e7be768f7a32f52a0ffcdc302f68d72b141ac7f003c1d35310a582302c18e382291874a10355bcce7b6f82958284aef2e7b66ec44f7a92df3ca75362c0f03c940edbf1ddf624f79bdbbafad9b59c1957b16a7ce67af9392b5b3524b7d1d36e6a3877a6325fb098cc552a576df6a3c81425794c8e8d0cfd1bb55f8bdc14b92982d3e6cf3e76e3870fd512bfc4ab54a23782fe11dce88da03c12f441493061e6ce73dfa1a38f6d4527d0e3abfff753d77ce6de7bc7fffaff9d15e72a59d6bc9103071d2f3cf4c0c365074c0f5c3bcf07eeba0f2ebac109dadff60894a43570537bfadb49967a35914c6eeaee6bf253e8eeeed6ab537ff71933dcdd9d7377fa042533e0785c45f63c0f7b5d4291ec823d397744311c473014ca2f5e68c1c90b86f01e008a07be77742bf2bd810618720c19211960d8b1f270b91f16161125e79c732a859273ce9fd7e17b8b907300ba22ad447c2227e9da12b88acc0245261d0fa15d7a1371ae3d353d845b536f21053c4860821a16ba48716923664ac7049a3e9367ea7442f0f3ba971cb5dcde27e89d21d4883c647ac2b5269312b302341fba59d682721679d86a17890c9a8c2d3aef03c38e48048ee3e7e58cfd248371a38a2f268da290881b2044c6986c950c139ec125c6a6f724933c72b46b3f03b022f7a94d1c57390e5f9c8bd32368062b7f122ee500f9c10d08196cee75228df4a26a565783f097be56dad7755fe78170a90361128eed9e38e7e2e02098087c044602638ceb0dae3718638c31c618575775612ce3c240420a38ea0fe3afd75e5b2fa51e9ed1793366a0b1c308f9ef47a462f7b822badc1043335856c6e7c08e0a3264f4df7b69edb9b186b51953ababd65c7cefbd9e7be37089c3d4ed0d10f9d2be1bb5d22ceed935133e5950d37bf37bc1500592a72e84c31a1158863ed5e891629729d0242bc9b11d97ab2fccf0d9f8c27526671094e8ee05dd7b65d7e6ceaecb10f9d2eebdf756ef2c8901c3f581de88278d0587b244f6882ec4817cd1c922640272e1abd52aaf749043dcabc2aeec6dfac6e2b8cd733c179426333e794c9db0cd06d9e0c5cb778f501d2b8f76651f3d5c3bb84ca002a6128410126525322e19185e87617035978b44a205fb56ed70456679c13a3636555d17eeea0e4564482aa0a841002a8a6f9b0a879b423804490551985200aa5bf4123a48913faf3df2bfdaedd2dd71bc410733eba0245f21b97bc86892bba040683740edd17e5c8ad46cd14b74935d8424c92699d03117ae503d12f60e929c474aa90d5558b1f1f846ae4968f0b1ba2e77e0cf45e60960d451727667e161dce5dcc409d9a6d9669b1d50e2a6c491288e8001921e2001c9174230993be8c26cb3b128de71ac23aec94d8e0d85aa48445b5acaff2f350e2e28a32ecbae69579b6d4377a9d4a63e35e904142d8426ed90c96a929449bab415e36b2b2dcb194ce81e248a58d48220966cf021081cb68dc7b6d65a6bad8ccc494740798ca081b4101e29b58b6d8d0747edc85dcb715b1cb1c19eafe8ef1bf97fa5953690ff7498fbc6149400eedc7677bbedc0f0d18f0877cecc373e7fd0c7ef1b9e76295c8ac6ed2c67e1d14ded342a2a604e80f7cc07b0a664b22c8de572bd6a5ae68ce356d4dad5caaa281da9709801882283f6da182ce0ae5814c7592cc8b4054748f28d1552b22fd3d662d60636ab4e6445644584255303c7cac4f0436dd0fa8318b416f4f2b41e6e5c16765ad78dad59d98f56306b612a88c97e581bc9ed5322448810e1c013129baaaf5dbd56813dadb5f6efb5b5da8f5ed8b54f6c359548f6dace88110b112f10fb85b52a311e4c91bd8e3bbf957ef70f7137a9eaaef1f10cb841e79e0eb0eca61a4df838c1f34d3d6078f4d0d2c2b5fc209544318f9a881cda0025fbcd397b0ca34ed22c2c1305ed9749329399fc90d410876ef49ed20af4f8b607a42a65a46fe004e7cadddd9cd93d8a2c91e4092564934d36e9629aa6199f39ac64cd1cee060004f375001010064422b1501203619a0711b3f88d3421e8470120e3d425b78817243016b143a3c83110358bfc29e72ebc400e819bac769bbb3c44334e2cf105f8d5838f3beb2ffa130d3746727c71600234ec01bafcbf30941ce1da60e9960e2240b5a7a4fbbb9546e1a9eb0c69c359139a58b2736d9ab2ba39367eb487b8eb97ef56322b1d008ad91201753faa5c9a57c2a1c732386acfee61a25ce2509b6e6409c4cbc509c41379ce8e23646dc384f4c7284779e1be9e3a9133e35557303fa8f74f35d26e70c7d8dfde95d8e21f5daed8cf204ed3e596307b54d08bdf20ccbb7df231f180e4c0e7374c35680f79328e6c65151e61a28791a78cfc9bf914b42cf3f8ab5101a0b83e95fc2e97a4370cd7be7c30f2010fa3d8fb86bb39253d0a090008fde137d2d079a8d67021bde0938ac5d51eaf735f4960f4bd27e632dc908471d0ca0f1f89940a054994bcd7e313c4fd9a7b59d9577dbe22c9f18de188a35356a85d98a897e6eee83cd7621c953bdf99a43e3c30cdfd90b0304669afed9bcea6c9dcba334ac9cd8b593787acca8a07cba954c2c2e8876c7532d19f4650f6b9d779b2383f868790610bbbb3999a4bb4df4ce9645c4aad4d4be4d491539b5761d720f160bcfc7ca80bba0c41989cfa079b6957fa9eef5867c13e6da44c743e20da509100abd259fdd82adabcc3a61cc64e7ecf96df8545ff1b10e249028636e63e0c5aa58fd0eafa42978d8c5c100882a6bbe45292188b76d2c1fabb136b8ffcb7c24d997e18ca2fc792b47f09d0c49d9a36fbc9b463721ae59e417c686f3202c32a9365559485cfc6a1d85da0908f272414edb1d1854551a85cd0edad665437815a766f60a58e0ee31ab53d274d33941a636e609f98eff31a1964fdcd43a8c0d0cc3014f01228e0391e85a9030cb46b25cc7e54185e6bd3fe9e3ba1fa4551cf82026cd5bfd903600d606f45cbcddad8337a1f03d32b385f45779367275c8d91613121f9b53626950f229ca820f30624b6afe6a193abe35ccf9d060e3b82aa20e7ab72c25415b25cac2064f531d913f249562121c3c2b0e69512c46dcc54ab04627342ec4a84b00731dec1266d64c04b6481d95f0abe8a7be6c6a668422da5933870f96f8454259a2d4195306c981f909a01975a975e5359320e003358bb2d46f360923a74f058438594ba42f30573eac2140b89be7b17c0300c68a04c4120cb812fbb955715997578242ccb5c3194bb129eb4f048e4c5309c2852f32321691cbae611ed7cc2a3806bb4f2a09e48de4a4a623db1f8d135d1279f8379bce8a32b0e5fa9b6150fcb1ed8e05d1958ce464748fc2f47818e24b77686bb40bad5d2e07be396628b22f7ebb80060e6543a66ef81a2274d4b1427a4d1f7215422e97106d7b0ea1b67d0104c222da2a5c2e9e006d88989d0d68e107261c4a73346a28cdf7ea45b27bc65c94193ae02b4194ea0f421b71767ee4a95fb95e9dfe78ae4cadae705b72002966ace921516b3ff5f1b7679a93605cb522c3cbd27a69c8ce2b1938c61f701ebdadd4e2a9201043121b688961849b138cbcf193bc64c96cdaab20089cde2665906f4bc8c5c933cc1b6bf9639c759f33719298505747586781a9bee9f66388cb4b10d13cb1e2f0b0e534aa1369f7e60c2f18c304e20a1e1b6e5ccff319a97b34946d33c5e4b6ca7569608c1379592f3b4fe68e29627610d49970c27ce681542386b116b5fb6570a136f633775c64994a681b10bd988e444f988ac20d911637f5b3f9aa094b5e3154e162ba887f1b43eeea30232b71fd4b971c3e1a2e2ae38a5a47181698dedc345cb54508ef04c83122ad5c95adc3b3c6021fa7d1a7d4b24244e0a17da912ca6be46f1e886fec462f79227fdcaeeea8e9fca01925cfa0b34a08e1e6ef54c6823ea8259f7b2badbf52be39de0339c15a9e87feff68e7418e996a2f782ea0ea3c7d8e8817a836a675e612c9beaa60a5aa090ee083e460db3a2a815360af3f13ce6dd4b65e0d49ed4a6caa2dd165257fb383b638b0b18052d8269f804b02bf22e7c9e0d39cb8ae708ae9502bd02d173440085abea79f35265a71dafb33c8834c4375a28cc22ebff356b170f482a5d252902caa35ac228f507195013bfa826cc7b2ffb3bdf60be516da049727d4c165fcea49eef4056cf1dd510182cf90401860530eb50d3a9bb218bd2209f7533c268d49a656793b36d6fd46bbefa7f1bab380f1c38b028ccc10e4b1a0cc88c8179f134f90b2e650b3afc26675f55ddc814b0473faf06f25e6a09e8a1d51828417a7a38f6d53b443ade9bb8475d898660967ca80136b12375d94f5d95002118ea987bc2b7d53cd284697d47c545138621bd9dbc9e2ede78256104471f9ef5dae4f062ab16d10d2fc008cf8d0481761dc84960502358a575acebb61818d22444353d38b599e0f6b47e805303b55932a60fe3a380b8bf440fd3dc57505af7c14804dda309cc5ef9d25ff181c528cae47c3644d7c38fe8dbf0e7f909d277751373f8e8febee74444cd1680b19bd386fed285177b066177673bd35e94b4ae47cb9ccfc00e6b9a4afe03db5381dda64f98c1da54d1bd3e7790c79c754df13552efbaaac658787cbf48c44e9ad464ad440f646273d2d57b8c06a886b92ad55b4c9ba68845949ddf7b6c9628f2041aafe997363e459a9a0af0d575f588c9369ac494e7fa6ce9a07c13c8faaf4a94642eb2ced46f8956f7fcb36bcfed42b44b8929f26ff7824da376e7c0e1d9169f3f8491850436e373540c6813583731eead969b3b8b0e4d81a7add1339de3403f20f20661e4597228641f0d0640ae138253269c94b01fd1bb3c60268930b1966204f140a46dfdbecd8a58615605554002482f60285f68be4eefa0edd94553ed92c6a8de2ac1827c2ef33cf5ceebbb56252fe4853b495d42612aed7d6ea8167920aeb71ddefdb84641ed78f8f63d0a875da4a0adc2fc9239370da00775f9ef811988aa8e44a5c910bde8067ee181207cdcc1da58500406fde3239c43d886c6765598ecc5c5534cf7fa110132b0c8402fc7328470bf11002fe09311ccdb57d0402c8fedd8a71af71d832402dabf0a2c3a187182a3956e83457680ac7024a7880d06f61abdc789920f2dc04bbef24bc68ac3a366089f3d06f9e657dcf27c4833744cca9f0fa7ed740f4d71a8b31eb4d3e46b42c5d7ba47caca2fa2f210ded14d465cd76be0eeebd2c2418133db1d117f3af5bcf58c70431a1f2a8920f5a85e328d41f8c7cf7f9bd4d31f1be477e3ac2125199dabcd7dec8f7a668540f19f92a5169eb9433599398faf3378c109f40e5d362616c5c8c45ae19a58427c1e878bf70ec94aec4e848015c39082c7cc82dafd21a9c7986b8dbe13cbaf300be7c82369458cd534bd2fb53478c41e06827515dd7d25179cc8d02048a3aef7afb61010daff090551f15101db7aa7d8634b42402f38e261cc86e63ca03ab8185accf27636b4b591db7d5f70e48544182cffe33ced428178207bb3580ec544c7f4c459821cd26c38aa4545029377b06d23051fab01ac8a994a0c2f4b1d0a807612ce323f89f3e7d4621ee2cf02e5663d005952ad3afbf333c9cbe6541d7de9c210277adadcd25791a6ad10e740635e992a4c9d2acd819c9cb0cee5eced50ed89877d7d0b3d168d9cd5d923abe3c025268615ba97947f39a88e2cb6e8deee7208d4d0c27153e60652ce9e0bd44dfe96086df13da3b9529b0c870820b0ebd3ce343ee9ce15f9e7eb4daaa3422693b563028f58eed8bd13ff34dacd18dbff882e9e6411a07e8557223e5c284b125fca337530cf20da08bfc9bd1c8013db524107e0dc6c7b0dac4efd0388fc034b404cac034fe42ed1c18cea12ba75b02a4423fbf411bba71516691ab4895507f236c6f5f9411049c382f2749be207673032f109ad783b6947d10ac299e80c4387b832fabaa3d064a36b05502631c85e22f2c0ad6a56a6f56acb81c6adf877dabb85ff6d71a6af24f9fb3b379f36bda3d72c00a3203faad70f51962682421d399db169b70ef365ed1a7fdb4fa35ec80aafe33564216113774599d98515b755185d16ed2428d2c9bf2e550a0ee11271eb1a95b43405e8050db02e1b348ba2db86801e2bf53c9d7d2f17a289c84dd794272e253931a82cec40388b6ecd3d0b651348c3570733e80698fe148e421e16766551bf38222c44625c2bc85dd542c4ecca077331d803e8b4b253651631f6380cfcfb5b5c642903f53c5d2d56d60a782607ff1a62cd3fe7f521aaa954c36eea1f27d1377963691c1d9a65cdf46f08a08b720d848271afeae4501e75725419befab8a20ff4d55b561ebc1e0b6871a83518d8a59b609c991a329b99044974df4f31f72a88a1199d94569ce5971af6a88286c316a9e546d28452fadf71f945c679aaa11bf8eb643b130ddfd8ffcecb0346e1a90cddc05fc7815947274955850652a9d0ff5fc799494e52990a30d50de789ab3a9814831ddc406f92e5dd528756050e3b9170992140de624db52cc24eb66a167d07c642918ef4908e1964c83312317c4a7aba092fc949de327423e80b98307c8f390a49394296b5b6c0bb36fbcf4045f8120741dffe7222c096d99c38dc333781564da5374260dfb5c8ed04a923f5dd34eb53936595e84047676ddf6ebbdb5dff58f993fcb2db4b4a82e5bfe861783a4257b4c878c5ffb9c10de24e4dddf2f0613f2b7017ec8039a406b0b402ef77967cbc2856bc64d54eacf012c0e3a7a267c4e95c50e9aed59d20fecbd504f698f5814ca279617a5e5123b1836a4194fab839963fa86e5d5140570221a042123f8a17257e364ae6bb826f74f80efde6b65b4086fad7f68a9370bf481c4681fb9df13985aff2c0be287c06970d9ff249b1ad6c1d523a0f9b018fa30496ca801d7bd18f199c61d173ae5b854b5763a4c0e90b6ea8d5b057c0bf503605b4a97971523001fcac88a93e70b02516c3fafe726fd4cd4f742cdff8e13125bb29b34c634544668fa3451604a8218f417843d198147913e7443e29e68b6c68a698e74e697389ff6d9bba57c91c9bb5cfbd56cd06c0a62505772afaa23e8864bb847a2327fe3fcc4a8c000895ee4a899e44730c1059dc4e828e41bd3a8039c61aa9532e00c885f95025e93ae9fcc14cbd39234c03b8d115d0cbecbecae5f4c7a1ee6c75a9df281ac731fd26a64797fa0dc513bd1c3d70363ec052e6992d59dafaeeab054fd68f5d123e60570a8575c849e70aca5eaf2fef44b6f8c499625288dac9d53ac69a62b95d492c69b959c4dacc22e36b7cd9535ca6f390acbd829007a09abb41b13ddc7cd16e356ca8feb2763ea5d0747747a2d7ecd984a5c5a331a534c2e44178c53efde9ea969e4e7fe0cc29c03a238a183b5d3deb15a0650408a5d10f9f9c48534a81bc823f42a784cb7ad20f0d28ce4b1b0819f0b7d281aded73704a463999058f2ed7691b02ddd4f01d7bcf6c1131cdb51177a70a5d86c35499c17012846a49986d7f9c24ee2f65ffb1d49b4042979be7527b71961e8f96536806233c51efffa10c08a1b3a83ec803d38274b232a84952b308deb77006118466a03deb122fe725965374d44f51cdff52560f53eb503bc364ff7c323636f3a8a2334f8dd14e9a9ea9cd00fe9d5b5124c77f9c42a810e34511dc1bd0476722d89f01e075d77d59c50a75e4e566ef57e8e496c9677a5c2111aaf80b3ee337c6f1b6e38c20dbf3e1e31c86e06d14f39a90371fd091d8591da8738b3640030941410cfdcfc4b956cb83aa6b6ac4bf681ada76da515594584beee224532a7d76b87740e727cd4d7c24dee3ea2a89658b80d87935c1c0d369214a46a12070ab420225cf16ea3fb373a48b4314e3afb4cdf02c3640680893456ec13cdddd28884fc26a6fd9f501880dbc3ba43678b99339b649b9b04e340ddcf0d17a7846cf164ab4e360b70ee27389ce5beee8dd9d937a952035c92f5b40482fcc5b56e019e15ba8279cb040cc6b1cfea3fb162310f6857fee93b6b2e590f134cb93d4aed454624c64a7e80a60a7ea79b5ccc9c96aada88f1058d0316f05f01c596cd003126b83957b66145799849935e258e96a42055db4e5c5ef5a286ee8d64bd163469dc9c4c8d373a23797cad9b7aa5fc497204d99624c8cfe645386979477a46f4580d0c19b75886c1dd367f49b5c5f201f5d1b3cae48be52a21737a83a7e44a2069086a644b1a79b10a628638c5ecc41e54c9db0fbddd6751cfe073c1a21229a6188805f2184102cd4c63146c444966f4a3a18fe78202799f9753d44b36cbdde999cbb3de034df64974bdbae4ae62b70899aea35bd252eb0277e62d084b80de9bfb0cbc020df6a13f4aff4583c7e7181a2defb68bea453e2f1cc644405a013829ea7669ff4de33d1e21daa9df1d64e6c5390da91b8051d3dacce29ccfd3f69d68499ce8e9a653c0dcd1635f469ef97874c0925f16b128279e9aabf58acece24016725fefb050e41165c422cd565620c1dfe3d6d7de243c6d6fb81bd848852658eab6f92770858fb82c06731986d1eec24c646d3f9e800541bee02bce6600dafe92b7b9f2f284dabe6a694f79c7822013053fd30c90b947e2c3968ac5c4793bbfe41ecec9864ed76cd6080a5a49094db47c284c141387e5a36392c5ef9a06cc25e2c81acf9702e5cb51a227c2c1ed50a0c4913727453d38960ad7f6f0e4aa96f56e6e1db8f8ec3c240f8a9618b5e4984fa7b15558ee4b711b9764b395140adcb0f8d481add0cdeec653c6d812599cf7f917f29a2994979baf6ff2af1f20ee66a76e689fdb82bea40e2031f57f87a2462f75196366e800fed1c57c78845c8f725639cd7a08f137077e6299dae3f3d199fc2b7c447f097a229999b4f02e1f76d6d0e2ae2ae5e93004d9f8903be61d0a0025b3c8fb97e7fcc4da4ed6cedd0613210c9dd8144c287161c548f5cfac03dddfb33c1ad1071d517439cc2d3c1c8403a74de1f1dcdd877ab2421a7ef6e5c6c94d7c5634dba69b53d341540f8f1110b28b45e10a5a56f9c7ced48d7110e3e26f7c312ec9742eb3a7ac07259853fde6dd3e413d5c998b42d3b59e909a2e3d98b93c160f78a56df54db4c0c4b0bbc74b8f73f7bd4e19cfc50a687863a9b436b220076625834c320d61627b649b33ca7b9413d8454837f99048090ad0388677cdef3ede4997f7dbae1c0a3e30880c0a9b4f73ab531d493c0673ee4d6fa99fad5789475faf5a777a5a84fab6ae99c649ca0d109e9c640a44689684fc97ba94b6cd9e46db191af49126cf8bb5b956050052b29a65fb36053f0be18b73d15ffc908f36091aca81481cdfdbb5034893f766af74649babbabdd55808d4e269778e1a69a2943982c48bf9f358da1de99be552e7127465a350b21711c3a88f8d3cc5c1de92cce4b84b12fc779b5ac6fabc0e4e44e0de2164a7ebef5c4854cea283128b258d4e024e3c91429c020e05d5cc87382704b40b7125cb837f6733221266c1274f850507c5962e5669318c45c18031806407f1ec63045027464eeb85198b2f8aca1887b453c46fd00b46b5499d8cc2b91c2194e4a0a62471c42a118a56909c46905a2346feb10a0d6e5b87848faba3e2dfb6abc241e019e69cc3eb51237bb659ac5ed6b238d2657dfc2231c770f0e80618713ea9ed52e505adac7e37875e6f109faff57902a071763ce9a008e107df3b5b2e2e1154aa83e81c321d46dedc452a1c5fef980ec9008b3cc3c9c5bc982d9a480d09c30aa0538d3e56208b2e572bb60f8137e0c13f5138867f09d410afd1ef49b4edb4d041b7b8cfc3e61e2332d19cd1f49ba8a562730ef18c8d492b36e7fc97be61c20287e94f6b4999d831cdfed23dacda86388e260ba644d8f8feb075955e913e6df335980874eca4c7b7f42ed34d49fa8efced0426c276d38b08dd087245384bb48502e626caf413f45818f7004e6650d8977e3c92c613c2f1ec0b17c6950168d9e98c2c94a560ad2ca87559c7974522f2d4f20195f1da14e49ed895ec96928f9e499499a407ff5e42d343096f608feac054fc758fae001625e28ac336b394d8e54a162e35024d549a815ba27d7666a8390f10506db508fee8fe6288e661796466b776e0b34e0b31e6c08e368b40affaeac760caf04fa8dab814c8e8d18a9394a3e22f1bfe9d864907246edcae644841a04eb818380eb8684e2de820492e1fe5f32071e461f2d9c2cf4d966e9454d39cbfa7a1655a8e138d0f0fd7e4b9ad09a8cbe43cc1921eb17584892205e5ff2d42929e7b44e48deb4ca1964461b52e7334f05a0d957ec91d01a817d46853231591727b4f434eb4fa8336ba7c9b2233059760d1596f09962e9a2dc172612dc162b97b807556e9389688d0bac168ada80cbe75d1d564c0f9c9acab59813506d29bc13d44321ea151378acf0cf6d0c1c0b4bd33e2400570d699652f3640761862a3b6602bc3c0efd7eee0fee732e36c4cf013e0133e16ab67e59fa2a6f9964a740c97b6a9a46f0aba129dece96525733a0b793a1e83dd21ad9800428ca6b7ffe6147c1ad979f97858222667e151f3f65dc1806ac8d52dae2791e1a35abba715c2c8e62e4dd0dcc3d54f7bc6be996c393190db48dd956d3698c714b523c28a0c71210a3aee1a355add3de6b3dc7ecf06a9ebf2a37b4ad7d9b954a3bb22b211f88626639de9f6f19b4c47ad8a5389de6a5188b1ab95498a74b32393e51697bd1d6f38e78db0eb54ffdf6a7fead38d64e11458522a624c470e9cefed50bfaabb5e4bbf5c8eb0949ab5662f97030d5fcea395318cbc286d8e66056361b8c7b3f9bc481bb0cad7feec4f1152e1ff0eb41012f7a374ef4f02e52771e0466295b125ba64c441dec1f0f04a8c68a6d4ec1476dbae8d8cc61353e0270a043b94e3b9a6b877793320a1542a6691601eee758de42e7b91f8d46d17ab5c45780d1dde5ce10a6144434aae42cf09c9490ae8c5fff712412848c481418a05649126ab16e64a5e8561c0854c07b708af911e7923b87e71652217f2180614b97d79acf6e467cf2760210b0b568307dcc3014c58e2657122986aa075b1647c1690f2266743b2d372dcc7844fce838e7ce39c8cc4712e8702e9e1943618ed8d3ffde514e4c4b04a1b54b0dd1c54d0b924f137e8c17e1221fd10ea4070f0e4ef2269f895a36892c6421e5dd9e64f97faf2a435c431e7da2c035a8d28adfe93d482958ae4a754f35866fa4f84482d231021e21c21de406eb84f02df737bfd782411c01337784382550c301d195afb623d5e952783da4d91dddd60dd55b092c80d5ba4332679ea33b2a826ec5e502c5c9ae124832650f68e410260e5ffe2228b4fcf3fb8895acb8fa5f4cfb9562df704c65ea064dfa695bdc5900098f2bf1ac1a9becdbaa9813a7b241f4cd643813fcdbaed50f5009964d8e874e072b278566fa1ec521c8b6ea8cd842a876955cb6ed02404580e3a5bd1e0666493133b11b2aed43bade87e3f86ce4365a8931f55c783e24d45be325123e61774e78a9f8a00c35e06df92b27327513010c2009df80b8424c08ebde8df9197535ac445052a82ec1e6917362a25770cf2320987a0a8315b83d6f9238745ec837ac2106668b4828484ea6fc8d071b360d412166a90accf5746afbb6639a65095f39160263f1efa5c0bc8f65ec58bccc900815e6c0e67734ce54f1069e4c336edf34df6964aceb9759f5dd784bb56eab860dca801906bfbb4629c56b05cd5d31b0b42a46f40f136c19087a60346cbaed24f81810ad23ee28ec1530b8c693129995d1af2c626067b0c3e090f214cad10731c722152d1753dee0db1689843c786d0f7e9e2d3437e303bc173b2c58c2629e22c65d80c41e88c430d541a98393ab31c21547ea60784f7ea9bcf48dbc41cc031e27a190e2cdfc940859e0bf56cf2651ee32ce9f92460662cb7e9866afa345699e92912c54fc8e6bf2dbfa2df7575c8077a0ec70ff0c507175b0957dcbc226a41d9c86db0489fe6d26dbf783d966e76d39a62374112af24dcc0bd65e7e3802b4b47c264a96900f0ffc1a63afb2dc040f197f990c21716072b91850fa7fdbd0ce96bcb5e8a2d120411c6a1ac3138a48da727005f797d4456acfb3f41e196fb07efc5e4513a42a2a3789a82c7ea35836b2894cb1329ca078ab25034268f3a6b42041bef5ab0804bcc783fb36bbcb9a5bdfe803ac009662c5abd670e16e6a1b785fe00132d065f84c7721f758585d3f98b0f8f96207ce07d98066af60f10a2f830e3b2108e62f2bc3d88ca85fa20320464f7f0de11026288e8531c44288508d6d3033602f9243d5f64937325fedfac518332861987163c74df4e221c519cb9eeadb563c8c37d4bff8187a7b0f36f00c76e04a615eaa42846b21b602f9daa2c003ca206896a9f8ab5fd1fd7f622d8d642683225d1c5806e980c90b81960eaaa29b2409891e318468c369274ee6b16277748d6655f2e1c63efafa9827db4dbcfac2dfcd9ee3611df0109ce2be3a7687b4e169dee6ca2b3ece763b5bf08807c6e6e47031ceb8f33dd1a63f448998a8b0d71d9327fde939d3780d800a6aaa05d24b3e72a896256d6060fa2f990ad2bb7b555e637e910bf0437dd256cdf35bb8bae4f61cfa90c364e67f1f57980d7d379d86ff127a1fff5f02be696127e52d824d0bf212fc865b25c1095391f7fbd83c54b589ea3aea2f24832e7b20ee0be67817eeb66649193dc181fcea8e85ab1b8bb9d498fe1296da97e23de2902432bd79150902f58bfce68473fbb958efc3bcf0907988740605cd4f64b52988b3d9edc14b077240d610dea3bdab710694c9b737a1e71208ed9c6f9a46445b1c236a8e347f871a8971c7dc701e099e28362d7a218e717d32702379a719256acf054fcf88584f8c90917c07ac6595eaaf4c8ac6298d8b2be5b2fb87295952bad58666e39ff2ff9e8550bedcf8663562ad3745cb0e11dd5cb0b91cc7ea963f6e6052ef1a2e6ff4c6b19e8fd39e85f59e6d65bf5d023e4d330be8b0d607adc21a22e55675614507709fedbf899b39e9e57f17c934e66ac35041bd228cd6225ef670e40f2632c247d6d1a4ddaa0689ee64968433c7863e5446a6ebdd3b735022869d9c69fc9c3c6040a5c1d607073055812e9c19a7236926c783499677764cbc38ab9fb3d2671fff890015565221692375df401b965b1ee366a34ba7470953df215b8d85ac959e8db08f470939a00282edab8448e23c10bada405f84f76b648b7b69a6199993f8a0b30ee3beffc7a7bf537c6a372d5ace4c47e677d8492415e54ac61ebdb4742195a38816382cc9a6e1159c1206e70a13b3abdcd265918c4026d796896ac91297bdf830133fbd572fe3e2e8467ab74638d9644bc6b98e5c914cbfb2dcdf3acf7888ff2a21d8151bf85ab53036efe6ab2c95503eb73794c0511a0322d277136b5daf967efebc396bf2a7fecc7e92cc59a4b1adb6dc7b98552c82a720883d64d1938256ee4e17bb8181be59d25138d9417c752274685f3a068ac25a6e5d20ce6056c3c5f0505e840c6c8f72e15601146a6ad40a8fa466e998e6295010ad0a60f303c9f0662f694130390cb20d7b36519bd5dc97f6a0646d87d7952a05d82840dd075b40e3e2aa248fe8facbd3e94eb7c9c49bc556460854e61f69b756c3fec22c09c5002088ac9242cd52abc4b47a7d471ae42811389252e5c233919f1a1aaa4dd340583ddcf21d306c35349336a55707de780e7832f8b667efd83e5423d8270038e1ce11e11604980be8e32a814e8d0c58e6864ca250c5aa9e921b38ae3f179a2ee9d933512bbe119ceb9b4328903ffbae14dc96ef55d11dd6baf400f49f489a7af17b11714b400ed50445a402ff5ce4a266eb142b1ce12ebee66dc8156e631d0aef220f5166b9aa514290348a065582d55fddca541b05889f85c862ed5fb9e61c532b4e70e8d526fb767c24a4170a8670c544d71f664beded6db38d3700c87f746df672bb1d116b30e5a167ad27d0460a1a69488ebc48c17d8e05e8cd63a3d2fad47dd3804a2efa5c80e38c337929b86cdca4d985d19adf51edd3d4e92245480e0ce446342cfe43ea6151fa60c6c1773e9944fa9bf51f664b72087c11c0a5a380c18350eef8c8c8320101f264e3b978679e49ea2ad5b1258e00fb43aa5d215a03d9dfeeeffdedfd73af90ff049c557356dbf5712a9c98b99760427d0b6cddef8ff2d118199034d01df8cf50891378c63f96bfa16f96b625789199a062124c6ea1c23b0e353d468fe308720468cf81736c1c7133217f322a7b4b3a3ddca796269c4c48ffc6ef6bb2bb2aa330d09c3c14237d896a8ce32e0189aeaf149f41045bbe742675c75613739dfd7f02aaad6dd93f8b67a9958e8f06342a1d51ea2df1741131bc1023c974e088c3827c3d324c5382f916c11879c0932fb412810cfc5535cf078da824538eec38b58e32f53d1c5fcd2346022f83e8718c5e652bc2dd1160daf98b4203abe24c0348ae0103827c25c0a7563034a5ca70be93ae08a9fbb974bd9dbcf7a2060b98d5094aa83af098a8184e0a2ef706d4e03d72165b8e53ad92e1378807308784dc4c08d20971fc0ba65a0a5006e1aa0e1412f817ac5428d2561296ecf67698bf0431ee20ad3410035ff03a8c84787ed0a901bf5295b2b3b49f704e76cd1951a8c3853bdcb1a79967b1fc255eb4e82e187fe622c7f8bf782afe9500f438d45ff64c9dfe2fa29cf2f298179d6d137cc015dc5da4c56686855e7567a65f17cf0ae396574ca5f7b430a7958e562c950a878abe10723abd6444f293582d992dab2c39ee8291420370d84deec4f9b0184316409e862718a6c46d6004f55bd0cc334664f3a6220a69abb503e541e298c05c0079f0dc6eca4fb8e6d6b8298eaf05d146b1ca1f6e374d7766e0baa426d45d916c64ee97a4113f1d9a96aca7a19afcb05989c0d00d3b2a4072c8ec8f218f4777231c8b5a1d672da33de0a7cf3f5bf9996388473412c30e132735f17b7d018410813aa71d4a2a2ea752444c234f9f1cc880f0210289e5fded4132a0835d4e3eb953e7aca34d9dc532498b82cd5ad6de5c3e99300f76fb1782864ee244fd0175f40cebe665846e0b88bccbeb992aaef72d3e3e8be6f4516351151bc050922099c47502d1f21b5fccfb5c859e680b82b595206133c9956470ef965e426c595f7b2803fdc26b8f4b480a178427b957b5788604ecb456057a3a9292a6639eebb5e9b71d7bdaea513b1bbc01f376aa0dea773e5f0a720c7634b074ac464a079617b4057bdd22ada21733936c42524e2e3a26e1d1d54a551f3f6582fc6238f9cad2b452857b474de5d01cf0f574d113ec983e52de28c16827b96206db1407a8083e966cbeaefbfaf56ca44a032a83913cc656c0ab90c3de232320df0bc5c5aec5846b62fd5710a0641268b2640f37e954b79e53df004d3c5bf2bebe29f80142785b90785419f7c10dbaf9128d4c1afe2248ed396fa5fc0b7bb23205175f888003b22ee95187a5867a5c1d0c1cccb2345b30ed97412c54bb0063d839d802c593de24ce7ba8e3759725541a0fc8c0b7c9484bf6c73cacaa8fc595df3a795150a484db8a81fd68b209fe967487fd987d71573d7c83e3a8a00dbdf0e41beca2afc3cfcd427f9e4f41e9d7b941474fb339377dd4449a1081c08cf68dc8932499edebe9824350076b14c1a737c5b51c399c625df1622558f81ae9e5184aef060c157a832e71c1071b2fb2be34e1b4867aa5de010739aeb2dd952d9f816482b5dc5c5643114ce1e0a28fd16354f11a65b87ef5da128ab2e32e94940d67a58a8a7a45c56e69337b74b517aa97f350166061a4250792a997189bd4613760875be0cdd5694931e80bde999a284356ab05d78cbd9ec2339c956bb88447c4048ec661d98fe4a3d433efeec4cfc0fd5a142680e47b2315f439c7feb68777182a0128ca27b4bd193bf9bbb8dad090d05593f0fc1a1278ea001490c33257b24f5025c23c1a450936a4f10e5393459647820ca48a2040d03ec5ef5a1888d5dd227f986455629476b7f67d64ef52b165eac7b6b6e7aa678740f29c1aef338d3d90fc3a212e8a6202e8665312339766ed44d0135c8dc02d704c44a9f1b059160295c96984648cdc31811f1a3f70a9c76c757e68a5eabf1143ab635a8315f1d8a735c448db74d6eb62cf0552f1fc310f99bee2735acdcccee7f67e1414d4acac94dea089882d4bc6b887fd4752bdacecba3d4251949235c4fc0f402bdd1a6ad8dfdc5c1d285ee49fcc55ee14c60f2a82a354979226c8fca85d9e366218aff5c14807e5cbfb960961bb18f99067078223c5c4cfe2a9143c383ce86b61780cec4aecce325b73529c152c6e42db2aeed1f08aefec2e78b2e04452ada6ecb0c85e0abce1150a747567ef332104c34ed1fc62c894f66b9c39ed16a5026cc8d5206e650fc87af3896432b1b0a598db886822e70719ea70b470d6ca0a8962709170ad96128ac569ea7cd6432fa80babb78926c3aaf0051ca3cfe711c5e8d1e1e5820f72a4a415825b923b262fb26a91bfb8f70d382c506f955afce6147b1f8b5a70be9e547929ae6796a192361dcf958f2a25fc337f7adc93a2c30c3b5644a4f358e61217cae3282f4ecfcc49c884b3a4fc1296b58e4b6234a8f50d3e5728ba07057bcb15c7af28193cd26386deab4b42278e0e9434daf0852546f38c18617e07ad004d81c9a06ccf718d60fb2ccaddf2842ba6d488a005b757c2c6f92b6b24711054218ffaad2d9913c2f284d4247ea3160bbe1a04fd91cb0ab66cfd034ccd35c4f5bd03a47033f2610affd654720ef887608c5f0caf84ede05e9df137d218271c72698cda5a33f891973794cc4037e2b08533047b18be2aabe548995d5a60360dee6c98d83d308bc0f8f8981ba8729aa69357ce2756d09cd9a1c78d3bcb143559730183529f5e3b71176cd4bd235e790fa48f674daeb6e29784f860663d9c1c92d458d8b3e3b33302f65be24a61c5f92ecd84822cc380537c41c1d9bf1b5213c2ed9895f67242209427408f02280d3b2d22b7fb82134c8977c54f660e1e6c624eb61148abc5a7dd1de01e3422b60c425d8cc657219cd1ffaaa231f9b74795ab4eab9acf0a25c482f0092d03318b2a71810965389296f09623fef1478a54f15cf664ed1d6a0f2c954d8ae0d61375217e8583c8f9d1b0d8a14fbbf50f37ff8dbdbacd9e91d100706734a5b4c4ab5ebd4cf934cfb8f17423fb5176dcfbb9bd169b39639cb1b37a610e9779c1462a4a6d8bacf9f64dadfead80f375ce21d0dbec9855b58a054a4fca1c70a82bde5b4d4a14d1092c44cfaec6173948ced3d73eb35f3054db465ff612182ed7f1a30baa8338156e4bb8b60833e005adf699b3ff7bc7ff2df3fa9e1b395321f4819cd29f60fb4cf10b834d85b926f270f58c41d00f355465c31d8d1830328558f09e9b92c6ff51676c087931ceef9636c9c674441607713822de13c0ab5e7ce4bb4c8bab3801e6cae873e7c3a4b21225e200268d7dd68c0d913737c4e3a3c65991033fb6c67d7f13b303df9927049472a7e2f4e303be6295bc8eac5fcfe618678f3f5dba5c1918b5736df2d8ee76143aebd7fb364b5767ea5276cdd512c5387152aebf08885409ef8811dcd06388ca94f704e791993b8e382849dc40f3519bd4c2be76689842a8d76254d691010e3d774d0352d866cef9a97dea05f05e0ea15ee4e267e8374281eb49789d7681d8c59a0b74ed301519250379695bf1f9ce893ae71c4208d7c0316eb974878b5958be67d39ef162b575ff9faeadaf81ff861a30bb55536cb99243ec0c6b57bb672c672afcdc238d23132b48466fce3fa9951e6ca6b7019e047b2b13f3d4aa0f26b4b9780a1762d9f496ad6f53b539e3cdecb7e84c2a4eeb5013a0fefa0f12692e57e42eac6b649008ef3ba0d190101f4609924daadb6112b79384cc0df9459125028409fecfe999210533e7fe89b33d16fe5922d907a37cda4fbb65ab02558aa93234545e356913f28807144a528e742e7e144167c9170d047a5ae510ee358831fe1bd50be7c89040b2ce13919ecef2d37d782ad23274ef0379349990dba48a281c720be2dbbd15643ab24c2e276420b68b145b4b6d2b53a23601dff377d6df013288f5927562048161ac3e5b3b8afd4f169d0338bc5d6f22c210e31ae588d7cbf4e2b4ce38d85f19dbb786a8d90158934d07c7e59e51e11c8e3961a80514c36b24f698f032e9a845e813534680ace0e012d9d20381288a4ab110f149182c7e833703cf0374c00c4c2da0aaa9288b2aa1aca31385db4b489f13046810e61fabddc485b7d4d0b8abd7ea35507321835dd9479b04a67cea8717a519a5e55416af4a4e33ea7f8d1454ac0791f4ebb4766ae44ac1934d24200da31488da17d96520379c2d4dc0d155e39446e921dfcfb5edcc00ed8517798d6f6ed7d8717b723c379a396dd54793d90ff9cd63420ad6d87d2fab31818ff52a0db7eb57f85179af8f5ee18ba1e4a743028f323b747a3f5bb8d8d6a43b1b7e91a1f34f50122d64813997b56d6ad6a06ec6c731c49dfeefe0d422ae756c9b1b050b3f789080cc33e2c6efe7b1def426d4fae63e098a025146c5e5cdb35d7b6f415a8efb82e7dfb660c3907e116fa4bb81f11fa5814aff03d1ce322dedf052e52968a8962470cecbb13297831eba5ee8d88233b6e476efcc1cc1c4ddfe5b0e17a26388525bae4f2cf64296b1c1a645787809a52ca83c3bf1b00bb152ddd957037d496b1d10df3248072fab5e441d519a58d144788035cf86763a226f4d0c7d6e65ae591dc18705b6412e373a4f13bf6c93a9fc33ac10a97badcd26fb6e6a7983b2f5e2294313ee8e5c23585607b290e5333df1861b7138b7095a118c70394bb6c5b2af83c1f8ef72375d9fa5234ceb73a007b3a13ba4a5aa7465276f142cfee30f08ba5af625ca44b40d35d8854812a101e6eddc98d6d72e0cd0bb368c2a42209fc188e236bfa48b29a0e3e277410fe2d30cf9abd89074d14dc8df54284c7b9e677407b62fae777f33565b61ec93bdd737df618c79dee396a35680fe0d04dc74d623c0e33b830d8a5f51d27c2d993d69b6022c5f0f0cda0ad0cf6e6f1452fa494ae176f4f56033c24329aff3c82e57da3aec7b3b16e306e7d523d48924efc8dc118ef9e3e074f3da25b59a276a49b4a56cd4d33a0a274b5297c797b2599b16c09966a465752f9addcd08d702d9c0d1f374d57145b91c4c75118e43f315277b85bd60d972daf91c56d4821f4df53e582b872834ec15c3ed8440d0f8d086e271e2da8fcbb7d9910ec54d73d7a1b28e61ec8735d9368cef9e461bdd8da46753aca94d0e279f5436d4b0d933629f1ae52035af1daeafbcc61932316740806f8775900e1c5108c955eec59e31d478bb1641941ee548f64a8b2b0ddd9f936a071a67be2117749ad3699f2bc285d749ece4db00a76039a89ba001cddb19a4e566c896009210b5ae420d2b824898b3ea93b8cc88408b69cfc14fb0db253563a6f8675bd5265f14338d71d2c96e5d5e8d5416e0f85de6e99859c59cf4fa7a6da5b77b7806f238d90546b6f9d437cc3086549c99c4e388836b13df7a6b75b45f28b9b6c6f3bbecc52e40b165c945a21d4a4379016cd1a00ea97e6f7889fb62ef45e75c9ad3ef8d8ce51181092e253a82dc36abbf2a1f33ef9108414b566e4a14c7011f9a3e386984a28c8ce194cf1d85d7c67dc5a9b17019f116bd2a25d730a9205c835da5866aab7db1a50ed991e17ccf4c706aef28a231e173d64ff304ae83d046279f24002edf4f3c12baec0246cfe39ee5a6fdb74092d247b73d13357e1ed6928e139101053190e28e5964f664ef8b3c925b1b5ad594742e1398cc00f3f79854443a51db9acf83f959de55f4f5e2a4e0d923ce36be17ea12a6cd5b98e889ad9e0dbd593577d8026dc1f18d8319f88a8c697baa12fd9dfceebdfb93a7f7c852ac7968a6cee9a793e79bd83f2368088849a0ed7c0220a3081d6053a23b492ded429725762d8fec60083946d90d1128e4bf141d73eb1e7960c7bc2556ce3104da60d716d1537d989a5d715ecf2b743c6162884ec8c0d42c8a602045eae240c31a97627091ba0cc95fafa7cd97fba20682b9f8d3ddc3aff57d93f8f45b0e66636970d1ac12d8536a56169ed90d6528e8abe71180870a6675d3ebd3b14af341f3aba8b8dceb3d186a58d86fb6db4966e948c5c45f8f593ba9c4341192a73c94fe7e295d962026124abcfe9497e174b3b592648e0659e5de58168216f4cd2ca95f63785dfa5cf280ebb05c04b653688eb8cfa194a6125dbcf5b4287b3313717ae7162c643b461841a84b160378156b382c8efe67b92770297b3e24b7303c65074fe1a5994b8461d983fdbda8aca2fbe88f1efb53ca9ffa56fc26f74a651cafc014cb3d20554faed2f35c576f8170c6ddbf51d0048a25c44f6472b68980349770f44b195e0829c5462f840b07125c6d73e21b023ae68d14fa8f8c01136daeba6944c7b732fa41ca7f46d3d818f8ba5183b223df1fd39ecbe05dd95f018f8a252014364547a191d5b9c02f7a24925b616fb945a0132a466ac2d4555293d857ab8ed5a44d62558c8ddf1815d33524d60b391dc35a9b5d8643a93bb80500b7fd590fc7bfac58913a80039b306fbe16b8fdc2eb47bfb977ed425fd39e879449ecef2c8e5ba01a38e8b39c156ca3c70bbec790780d281d50fec28f2706f01c0060ecaf4fc04ac7f141f0373ededd515f74812aa67d3d3ec4e74b6462818597d4b377cdf93ca6b6aa79f21a8d19977163744d8e2f1c24aa8c0ef926e6bc212869e58064b3390e558b3299a9860f614dca6f9580b209f17eee133026c0338ecd7df3195fa499189d725c21620d9bd3115fb817c9a0ffd9ba2a945bfcebc88cfd5cb33629001ab0484a38505f71c23052b3748ad39b42548bf4c7c1cb4fe472bf18d8fe4b96652fa80e765bd2872b4d95b44dad342cdc628d42e71c088976da74287ba5e4bd58494430f289c74afcad16726fc7ae15477b0746acc5399f32f9452810144f300de996273d14480c286b307fd62990c6a8789f10cd0430be1c1263df82920684d411276dc343638b5f14547000fb15a8cfd2b1776965c2d7ed6a652e0c875bb228c3afcf1f33edadb45bb338eb57b4a5ca55de19d4a97d44a9395df73792ea3a83df21f6734dd22840d37c38c443db231104ae180976d8ce81080af5340d61672e19b192bbc4563e9373c8f3f83b13ba8138023e3916aaae621d58e8eb0208e44d7b0c70acb7bbeaf2a7c83ffcadb19d51311426a9260a181f3ae05bbd46b6060f0851ac520c0c9dd2e6181c7acf611151568626ee69261c22046757d2bd4943104f44878f392b14c6a225d5a99cc3491d706eb4d33b3b5130e0e31d30c1c67afbb7168918f173cc4e0d065938dffdee916fcf9fc1d1322fa7d6cf47e46cddcb944ccb8fcbcc63c56d526d6256c0888b3c969920f0f427b3fe180598b8a8d0e433f353c2817ea41c4a0993764f63581002a4e2b554438b315ff1e499dd62a3fd69c54365b2392b99808abeedaf60374c433e55e7837394c7eb69ed5b3cc5b12896db2e07aa71a3a2984476cc909e9639746df90ee71c8218a0291b26e73a95e37b94c00ec749a4291a9af09d35f63d32cf1a65c6dce840bb7d07ef6b2f1af27269e48091cbe61cbd6004cacb9e122260bce56cc315cba2daa0f3183df597d9600d0e25e699b36e94f4e35e0c42d83a9771318aa472ffd8e63bb5d0fea9de1f4d2e9a2114f200044fe2de909099871dc97ab20d5d3e8c0d05dc2d08be6383e0afe38b6d62a98f0d6b75c6e3354808e3edefda140695946dba6804901eadba2a9c1f1c4daa8ba58185c2cb4bbae334dbba6107413dc1c9e6e188893e636d55d144564e4c7a2206453d17ef0783ac14ff684215043f04a70f876b3ab9242055129864175628522bd278bf8f5702f5c3a8f8f272e5112bacc8e24bb24cc393bcb31a662be4113fbfc446e99c3ddcf3ee6e5cce54ba3c1b31d5a06531cdcaddae4c698e711aa2f091e10b5703e94dd9ee3cf7f958008595b0e43f41d1f55d50392670e48435a9d02c12239af6643934e4269eb475a0e2eb6978b2cd66b6672122d86f88b9d66916e24e2647483c17206bf29080f928bfa8503e31eb4aecf4a4a0059744a14b26e3c0891c179f1bf12b804eacadfdfdacb168831d5daab9d228813f827f9174cf5e88ab3a8b1227d90c21cd2a4b8c8a9a6094ffdcd6f09d35b07b1bdec9c249b1b437f1e511391bdaaef4ad17479f80b2f6f929da75a56a2f3cb235cac876ed89915a6b39f0ce99e8936c04194232d21d5e36bdc93fe48e2f6805a3dcb7987892770c0ca37a1923378c6f3b89cbae2b2bf7743bf92595d08806d531c2e8fa543486302527e547d60c4c7eea28929f1fc5841fb3962873e49b7dc23d11b90b9cd7a4fc9cb6a88cb91ca199808759250386e19b1a39da2910593ce3b272064c4953ae9926d92fbb1ce81380dcc9bcbb34f8c0454ff7e51f6835b3ea132dd88be35059968c0adb2b8b0da88fb0e69750261d49251834692681d49a81f0addd82b21da43babfe0efe0e9e365fc861daffecde78e33475a4915dbbcb4b3cf76d047cfd5a05f3e2dcf6d65996187a096836f2c98a43b48ca242a30a0cc4f0e7ac2cf4a9e9c59583c0ef26e5b1e4a30d3a2f4f6f2155b46d848aa51df1a27d7528c53e3f842fa8ae46e2d09e0d20ab00ee1e1227d7c9203237a56478ee24171f053bef2bc8c1090e3cf1a32039272e0b81ce88db3f635878240d0f33a1ffcf196cb3d1970c29597a45fdaa091857e1a63839dd433a1b4a1ddf7a434f9f125acdf137ce0e3ebefefc9583e0f1f01f8a0173bff5eb57b92563f83d3440a0ce3b7cbc3d9f8ad8e105a11bf25d8dbbc9b0fa72148b653f54a04820eee9af6c13d6b1475fc59bef3cadfeb3e6b10a120b9a5f1546d828f7e0dfc36b46a63f809d3aea1a8e4e1c3e0b8248c42d4758a6ac043e3df2558cc0ef71367c64327f1aae78b85bfcb1314127c264cac02a3e84fadedfabb99ee243197426f6ec5b89e613d770337785063721ab8002f13d483dd321bd86f209706313e32f2cee7a566b0070321c2724043ec14e59a14af4b6a3573900cba26ef128665f4fd45cdc0b53328e05f5e8a3e01b5285cd908a0b6e6ee20a75a6f11bbecae70c11235afdec6c0b542a6008cf6b625b3cb313814e82cfd273ecb9ad7547ebafd83c8193bf11a85916080d1b114e061f282d7159342131ce1164489b67e388e1e0f3081516fa96063a730022b126a678991f9d2fb032e673b064996e230d79ca0d6ddcea41fbfa8c32f8d0e60363b5cc7daecb05936e3c38c65f64aa4d1ec15cab54aded1c04fd8788222da48be095210c939a94818eb3982f67642d9f8e8536c747ef61666c1508298585b257c662b3429499b04055c4047067400ac2c9164dab71c7a4d0ff3ef03b2258ccc4d611c7c6178a660fc0f77acf932b7f0633fca9c5c1cf0c872b85adcfc9d5e9ebd04b507c6f2fe748845f9ee7d8bd760cc0c9be2402ce6e8d92fdca84538213432f4fb70709eb54090e9b0d6ef58eac3c7979d43b00e9ce439442f2f44cbda17c61c962f960b0d7c7a64701f3d92b8257b8f3bafce243d088c5874462c299edddc650f97af7c1cf42b49368dcd4cd26f8769a9d25cf25a3d85bb70d705fdd9199bf9654a820892a7d69888a2b73ea7508ed01e1695255cae8c63f84b85c93b33d6d54a9c27f5b4c523ad2fc9c4f73d827952ae32ba35c1daeb937e51ce1dc6fdfa93a1bd19e8fcbe5506547fa0b7014dad0502269bcd8c9a3184d2fae7169cd372fe8b808f0840c57c9b9996d9b97295e0faaa3992d80eba64e89a3394c75e3f6f467d168d6da7ed8169338650ef7cb68fb2efcef6d1b66c734fbe7bba57ffa09d6dd6b60050a84ecbdabbf03fc00181f87200ba65b26e3b2273407c2ede296dee6f5f04deda8d8017aca5811d66373f3e4cd5d2e31bea2fd247b44bd494b1c824e6725dd959c5dbbb58ce5b5b28d64321510615056256270f74414122e368409d19c98f9b37668539ed3312f7eadc864662f4ce89e234f80da1fc492cf32db8d42dd4c2c4e907fc7793a8cf7cf12f0cca0898afde9077f2cea5675ab9bbdf095ba400bfc90bc58764dc06ad382e1213d7c041863ac5eb40d69338c53bc1c07e911a4ebe32236a06f595b6c2196cfc5be3df5e0d2a110b307ce686a7b09f86def0375be9540c14846f0840a384b2586aa1eb18093ae94f493a76723ac90b95aa9016a79db8135eb01aacef2eb950fe619d1a50a1c95c5c5289e25efd5e25c1b6d97891d2b82392e62d098045e38444caa3a2d6fe7baf74eb6999aa6059d2b122d40122b7f4ee6ebe47268d2cc1aa67442772a0e08c259d6612ba6dc3aa33abbc9a6238df90a458246a206d2120ad3a785bcee930383fe4ff41e7a90280f90fb3f446b4e74fee7ad5386b0fcddf1886f4a3c29b8a11a15856cb0d2ee73875ba4e76b8108ba55a2cfa4f55451fd1b0ed6bae06600ea05fde0f5c8f612e1623fa62a3afffdd93032354549051268b75c89781b3c4fd0c6a54bad13505c98482ba72c8815f5abc23953984238be3cb0f46db32d22832466843f2eef079b7881b92072f1785a8b34acb298c33f1b6de35c812857d610f4a1707be2ed6a42f85e28ea5e4b7919ec844a750405d43034c029b6b5a96888d9cc3b17678d7ab4d03fab75846daa6697fa95a8d873d076bae1c5c18612844e704e2f84aaabfc49260d3e506fdf6433c6a56478c88090f216b2ab053722e8017ec10bfafa2957ddd1a52d2416e8c0a9b4c16cd9c85521e1c249780364d6989acb66e60b5956047bac444535437a1fceb60ae76ce1fbef28b27c5f9ead358fdc9114b6448a4a250cb66026efddd176768de08da55742a784f1d43245ae1562a64378dcc7b6fbdb1fc3791fbf42cca304ce72fd18ee8f1a0ca57ea3b420c14b4ae85615a200773b018d498a4e4a4d218a837dd3db47cc09b7c85c813a5f0b74a67a5bd0f472a1393fb93b3d08b23adf716be1fd29e9f9057ec93deb9c953690470bbeb94fb61c1da731a6d70d7643e90e6105024d7d20a8601cc174a916226049ae1eddd9eda1f78cffe20fe9ee64f53b0ee42a8e6f8d6f3010a6d78fbf8b8939accfcd4cfeb73736d6e94680074f54c2f341222acb4cafb514e1487a51d4ef56337c497b9e502ab6d4e7263cc08d3ac6d8a642a81373649d6c1458393dce2e70da3043fc1b0c4df977b83c059fd68fe5dc2fa786fbb83ff5cd3a995b1da0c8f9fdff62825df4560f41640b72648d000d0eb166cb4dd9397893797965e3e06446df41e474549cbcb70b9556061dba042a200856244e4090529d422f584ce1aa2af2ed14703f12845cd7519fbe67ea2fe1e96a7fe7818b9ae9d8e168d24a0a3a790d3c3ea06e64f881b5e8c1e2212b30b083a269b9ab6881fa007364e1980bfd85cbabecc154771c102c6923249bc461924941059347441c35951713eb706aeeb80e9bab4bfee4acfa4421a2f9a0bd4a90ff0a7fbd86b087d25d5495b16389f9257108286725fae0f140ea87475fc2136ef592861dd800393ad4278a4a7676ceb0aa393694c6ac9641e9795009b60373f2081e541fc22db6612f41fbe56cf0710b4d61b367a3013fa39b6ec6e9da3a9c29cd109b1eea753e3b39565137ec2fc96fc51e193097183a0a742ce330de28113f2aa5ad1e17999e82c64eef9743b3e3b054586a546362a3bee9ef2411c22eeb00a4325e7740db9bb2b8c18762b1daf897a70f5dd03f403b8019305955c4929280f3c51561a92392fca9725b8e45103856656096303f8cc2e135f406e60c962891835af6cf8096fa092f2edf5ccbb63d94240673b9e775e3aa400f4d671c175e81f0b98815a81197e3e448604261f0fbf0d34d978c857c0767a419630ae65688abfb8522ac5a68fbba65a8ad4c49f54cc259929401f5a673022cddc70294a5b9d3cd8af13e05cfb505a2fd58bce516961e8b2d30c1619e454423a710bb647aa2da863d69929c1a1252d1355ac93a44d4b547a23ff0fe4d58535b490d0ab8540466f69de06bd9b0b9193b5176e728f67e9bf00ade99e316e1408bd404c40c20b8c505c56ffcaa2633dd1b6359aec03135c4389fac5bfafca9e08764af9e8b5850020b5072080d94ee5d20dce89da46c3d82f9ea52e1b5b234f4fdc0b4ee314de6f2eb1177fca6f3aa23e63a9835e7ef225ae8691476a72d2f22f68e9aa03849f0e0d8aac6f44ebd4440367174f488e201be545e08a7bac0137996ea3dd30992771984ccb3b8356c8cdf925c7a7708b22311d0c60ec7c63236997a0d6202a915f92b131d183a075930de19a3f0a69f48425b0830b0dd898f3aa3d16d94793d64e01a5224dc374931aaa913dbfc27f83dc4b909693f7a66f59b6dba255336db08a0adae409f520616475da9872c97c977705fe2ccdc4aa5fdc1d0903f43538b26b898e6412f8a6846665c01e63a7065aeb0b78ecaa8d807f71980983f621085392dfc62b362d9257b1b50021a95d4046a5359d769e662f76a4769874a2404ed8a3f3daffcaa79b4013f5895fb13a8432fa828106e5c89c7267be7f4431ad72ce2939e73fd50428a2893f49d95d29cfb3a79e691adfc5b90683bc590ff1f3e3c2106b0a3e54068ae905cdc358e3f6a16b3ef0401deef84bb0dbcfa4f5711ccfd5cd82723484395fad585cc455ee665033cc7a3bade8a6d8bb759453057f8c4308c99ec8a1cd221de22b2161446b483a7f878df89b90a3c590c44014d1f46f0e67435fa51568f878c4ea1f03923104b24c490d0e59e5b6a45c4f541652fef42de048de1a9f73a0dacb256d453087747a9887e71b6e07883d060c6184e6c312d92d9e688cbd5098b684e82a8ac8b7095457cb886b4b9ec91fab4add0a932b4c512301c0c7bb74c1e9c6765b6da233afaa8bc689e5ef429290f443a1dc08de5e1f42e8838f24e25572968cfd97d5c233a204bb1928c248339d21b66e31d596ba8d5f2ca4e4b15fde283a9894497040ae18a691195da2c14928638055d6c850df5cd6fd6db51a463e68ba18037bc06397a6c449b028779491e9735f5de6890340ba4a57cdbe7bfa86969e0c14914f5e221516bcae6d4db42adaa86a5372e543709285db3dcfe58ee7d2491d8d4edde0b1aa59bc87c259de607ac2f65effe45fd99ee368d7293f46a342b42b04a6aea012e4d38f5eb8720da7e90f05f8ea363a228ac520676119b6bb1491ba5caa58dccab537c88db3b9d0944cc678b5937fabdb527b387f374b28186e4d24620a756791d43b9167e163ad07ad74d36e99c5e33de4188ca5a8422a2610c09c0c297480baad17b4994eb74f1a04049802ca3f05424b3064913a2996e0c8ee40d8052d93ab816aa51382d057930009d7115b3a23690cf0e40c80005824d69ffea37b3a838af15240fc7f80be0b0481a926308a5afc234a89dd726fb9a59429a51d1b04f7030504a99bd2465763d2c450b893a924ae4270753f5b57ac0e6507d00eb042c418460649395304964a450040ca964bd53c589729323ef1a5e22de545c62d06aa01acc378b70388f8ac9d3f72c52ca3c7d61b83f4365ae259d37e715a77d93193bbf4848a0fcee0e17e50c75226d95bb0d153f0cb51d0f69630a460bde53764752514242d4ccec89a386c94faa223dd0b158492a18450a551c3be9e3fe25cd7ccee52753addae85727e5891d82fd1d9e20302d64160fcf510a3249932c9aee1b8fa2845943253a6add676ed4ea58a52670f5fc2e05229172a0855a26228a1a3a323a43ee2a90af81c1be1316300e77b519856af5246278a44a5ced4792f994a4a25a58a661434f0a8188a869aa14a942c75a6fe4881499949e591229312838aa552e7010520e10794afaf42145ce31871af4be563b7542428cbcf0201633ce2bb0500385e44b114822ca368282b704dcf793ec9c34c13e253baeca4110977cf883ae5430a4f9a02084a40418d3dda7aa04152876274ba6946272bdc225de0f8dd27aa710c3cf247dae4b58585c912d9c409ca1ec80a3f2843a0b047956acb7b27428f78e0939edbcd1363b53262244912071c60c2a467de6597a4cb336f47baec1204bb0441d755a12969b0f823cd20654aeb369addb39c71dc4f7764376fceaa93a9b30a5bd3093775d18eafc2a1d3ecee85f1719134e5c582e6e0b491b367eb7d2538b6f319f9e34327b7a81764ae711787b3389cf947aba4c84db427710b6956e37aa4770536782beeee68b9712e9869907186d7dd634ce957c3782eb8b40bed82c3e17038994c269319b91cf7bb9fab966e0430e0fb58f46b1b6fb5446acf00491ccf02e5c201ba1c271af4cca48cad5cb292c75c3116e05348f69bb34a35b668b6ae9b0fc1a88c7d83bf37b78d661b1eb6181075baf29fee6ea028403c41330a010468502a5bce3ed4a29fbddde8cd97b41468c06bb55a39c4211eb3e8554423516ca36c2a89d9763295441c82f7b3df548a4f8f068fa399d16abf1b5292045bad3b8edfbd75e5b5aee58ba38301973cc5db7d65c00b5e08ce7c6daa4c61b137cb8635ad29939542b20ef3858e367a33ef8b9ed5565bbb566eb7d3515dce8523a9b5d65a6b44a729c0452307381acd9a32239a8d365696116b8feccd1259316c1d45d1d6955f61cac438a340a3344d777bb3a6ad9d917b49761acd5a3355f2e3df26894e8d62937bd1ff8532847b18ff46fba4c75f2a8c6bd447ea44efeefeb397fd90e31d6c7573d389bebc05c3dae0f7b9adffed4edddddd4fa323dc0fc58c72397f217950926fd9fdd051ede65bbab80b7916b021ffb9fef2d87520f0b5d4b4d4b474c939ab54e3d82249ef8a2758893549f6087a394e78dcbf0608344dba04f40101ffaaf68fe3a733222164c41f736861fbc291742002e88c930f2e3d322c7b242115f23adfe8409aa0e30b267ef822660744b56a3c62aa60018ff3c5b7c6c6029b1aecedd991cdbe11b511470e0d3062c8e472b95c2b3b0026fd762fd17236c049fb6b6f67d375eb17ce4c45e968692a96c9df1b0819aa9cee92242f2d49a39758f1bad6524ae90b16937dd65b390b5b6dd33cecb5b0ceade368face2ecae1dad6957fb78a506d10e1defac48e5d55b4da85f685088f4e9fb25c6ca9cca6e1722d65ca0b2625260271f928a59d87d3c703fed9ef07c51014710886feb90182ae4bc530112383c939e72af99573ce39bfec2c9f12a123de195ba46b4c42aef21782fb04ef67ab7b15d394ef5b13edcc3431a3b60e4f91db7d0585ea95ad3d4ce932b12430b23ebb4b9ba967ad32994c669e27eabda4cb21164da78c4353c97748b2fb678e944eff28deac1a5b8eea9c73ceb95fde8de77ae8e5d26862ed57c33a261b127b5c72f637fd1e294d49618e637811bd23156ec807beb7091a7d2ba2e1ee596fa133f6d045c0bcfea185e8b295f81e68533b8c4cd334cd6fb3cad3e0b9cc1bac635070b85a9e209be1157fda3e058d5121c06b2be86a9243e29c6a4efa16dcb96fbe5a76acb4baec8ed2958f15bbbb5939a06bebc92797d3d58c69a98ef5c7fa7fe352d4dda61e30328541f560638aaf789e271888cd66b3854ef39adbbc8bf8afafbdc51657ab5287aa920f789db44c1bef9fd55c6e384d543f86a069dfd6e8a06844243af62448fe8ec9b230b2d162a6e547cb0fd00581e8a44ce9171649373573b7dbd5ccdd6ea7e5854a72c7270ec5a37816a9c77e44fdc8738e746d08b6c517df10a4bdeba47ae4bacfd5a324dc9b492ee43420ffe2300ffae2351b2d8c9b5ed2f62dd4677d674833a4d9ff7f56a9c6b1d522fff5e63bf9eed7315c6cf4f4f7e21d4232e9c229a0b668ace439605ef4fc4bc317d953d2fa36e2b095a1e1ffbffbfbcfffa7a73d1f04fffef7f6ebb37a741c2eb19cbcdd47139229268be1744739a49e9894a227264051c1e4d3e3f3458302c6964f0f16b02f1af868d0e353c642ea2388923e490d7a7caed8b5ce3356248b9db13376c6ced8193b4552169e826442e5d02c3692b11829234d2567e7ce4e5384949f96378e2e10aac8214d692a4bb410af3b152e44791242121cf0238f2dd73d5221bc0ee6f1a249a4e6945134254d892a73792a6b4aaf158e350fd745ec92a85944eeb881a4ad7145803fbfe68b709feb2f7f36d43527534d4d4d0d8b0aeafbbbfb4b5d5303b0d676ed1effb158237ef99dc5446e0dccab9ffdd8f969cf7ac0287f132fc59f5ff4ffff59cab22ccbd296b5a4a5c984c3e170ffafec857bf7d2efabd6da5a3f4aef3fe81e1641a242b252a9c63672249b281d4d5973dadc9cbc4796fdffff554829a574c4b85a2b01d60e50fa428cc58b450bf2c826b1f47d2312248e0409ab96abd538ae065809b03ab20a60f532a22a125686304dd3bc382212f49a2419db33ae60020a2978497e8c39cf1e3b7acef33ccf568fad56ebddbbbba1748b54527add2ba6cb4061d329a3f2a924623260fc8cb173c37722d5a8cdbc9db818d83724f3ffb31ad3af52dbff69648c31065d74c3ccb9275349c4e10577caebb2a8d06c4dcb63f2d08d164348d09c274a9464d014bae09d92638a5ce055ad314a29a59452fab5634dc25cc9b9b6f32f4114e3d70dd86c849158124bac2b7219a05434825199692e5ef483417c428ce9c99675ba7c327a9e14de155e17571443c760687153de60a966dfcff25a2aeeb9d4dc7351755f4d10ac445f5ecffb5ef68cdd7db56f4b6863b5c64aee5e6b916aaab5888e35871344a6b782ff63c9beaaf9e5cf7e484a88bf7cf15e0b7ef6e5971fa3e2d32885e26f7bda9b5f8a6188c51087b76a82f7efbdd5cb6d23d7386eadb53e517da22a4635ab59cd2fcbb2d69bf26b88c029dc3f9b3d2ff73c0074a73fc0df6863594a5a4be49c9a7976a82cca7a16750b7379ba3150caf47747ebda0f1cfa0457fac3c122378eeeb5cc66b334eae8e221e7190f5b3e2f39338a61a2e1586431b9c531e3e2876856a588588759212b4f904419efe8dfe915c1897cb15f9bcdd00c431da58565e999903da30d8eb2bbfe5d4f5db7e667bdbca2172c26f3f2555ed1c5192a6118e20ce9150ec1cf64e209774ac0c69d439b54d0fb0779d3586bdfb0b0a2ad75457182ac97fdfe2ffee3ffbeb3708b9dcd826441b3998ee2748dcaed6504034a0adab56ccaacbb858e747667400cfb3ae90887e4b730ed4d8d6c96c8b649413c7bcd5e3398c511bdd651144fa348836d031c694841daf32f7c5ae9f408845b4a63da6ded11d5119bec3400aca8200c91db5a1b031680c0da7b2f8f0e5efcb0e3d7ff277ff5060644f9486f712fcb320471099725b1c4655882f7c26030d09bba576446b3f977ac27a4852c983b5079cbd26955ee0886d844b6f038862a15c82aba343865a235ef16c9844bf6faed28c48e34d3ca6324a3129349f2e212f51fa09d10666079f48bcc4e8c0e4cd348170e8d843e3ddc084f4678e2155db76e1253e42cc28667e6e8e88b9d1b4c77c0bcef5e2be6bd57eaf95f6b1159bd1204d91118552a33848c2a1b6c18ddc787754bd93fdda7c3afd7f9c974c77056c1bfa1e26e2eeb54de6e6c5dc5e4756553751b593d8d5bacf82925415618ce3eddb7fb92629feefbe32be4e670effdbeaf7d5ffbcc7cba4ff7b18f7d9f8e8fdc4568ea105d9476e92894aa48aac6e686a655ac5c24772a774d6e9bdc37b96972d331574a5c0332b32ce94863c52169ecdc406201a60b1c68586416391dae5f0c1c41fbd6e78d100e220f83c994bb3b28ca923332ce54a9f28a26b90e30a127f1fbb273feb462994aa5fe2f8d0e30791b6c6e4a3a5f8f36d82082085dd345a7f42593c9c445e9d9e4c3ab2691b22c695b667dd44666593342a32735e98d8af25596594a2d5c6c140c1543c9d09cd97e94b45959fa6ca82cb350224a342bcbb22c8988b29465599665599665f99a028332dbcf767c1f01aadc22a82220bfb5f6b367c2248e59350662a18309dbab56a9b13acab2786d8d9cb5f6c5fba244094e93d629932d097448ef0c6f78fdb2bcc6aaac06b9bbfbbfbb937177c7d5588d95fc70d0fdddbdcf4a67e06d5819180d5fbe8039cff33cbbbb2975f35e1963a31039e79c736eec85b3120c8c7308a62d88b0c0963ccb66c67928e7993b6d6acae5e8258335ccbd53e659a6655be999b3d289f2e69c73ce39e79c73ce39e77108dc4787f7c510da2d013b2aed631fabb65a5bf2d35e4e27703b8dc609845944a5b551aeb54aab36392aadd2aacdbc951f1be3af5a699576937b5a8f2d86f1a50c583a61c2545aa5e10a21bd2439219428a42b8787a75798c5d38eb12852a1824b1897b088c39c66793b3cee4ec5f7ca840db47c4c08a147094fe7866178dd820949328e4c3f30ca4c7ac09ef0ff5d24f8ffffcf85c5593abebe6e2967151ec7b0457af5a8602a107c60d1d3ca782f3db9b0570e993aee3468bdb2b42df58474fe2c0cedfa3273ad4baaf8b13ecd56ba23ab250ff97ef555abc57bf4fd44087abd04de6d2d26d18eb56315bb0377e4cafa57962aa626237ce3c7cab8ea5f972678beb04ea148f1fb420c2cfc4061ada89437325d9203351960c4067b645736d988a24905bf2ab5c08690b0711957241231cfc36385bea06c5206aae674083f3c77e4f6acdbd5b8e271a2f2ae95128b0b5192bc332f4a6badb5bb47daf486b7f11dc37aebbda2288af6ab9ef5aa57ad574b9b1f2b562090c9ac1c010101f94003020292593192c9642552902c7b137891a23a3e8eebc00b437f8f38da3b43e5de7bcfdc9787c6b5c47154a952eda6af79d31689bb5417cec82cad2b6d0ea1b29209f112132a72f52931707753af77a1ddba9fc191e5bc721bc2b4d2b41c6e4abfa8e09eb5e39991e9b67990076ee7af166a21f0766a81820da19a961d51bc4d7298507059ae2d54e817f8812c10e452f6eb92ad51953f3ab61698158f0d9bc7e57a1d3bdf60b25c4d1df71a0c20936fc33ad6b21cfa27a8810cd02377feca28a6c6c1238a0bada433fdc342149b63296b87167260e1288a0a2ce472b95c14100814eac6a68606956f6ceeadc99906358e59e5b18ba2318d2d4cd3b9f770af65edaa57a607429564453342c8446b3aa78c1a51f93b3264899d1baa103b5484274772037224ffe2ff63cf74523d028d70989bcf5369259699a224ba7b19399fc93517204b5759e12af65b86fc64267f04b1ec95f132858e0b35052df4a2cb89501367320405ce8116f5688b5cbd0977071dbc348f857177773fb9bb9f4e4d7b771c94ee3b89a2f8d92a7ebd06885174c15152785aa5cab9efe7f038d18905788454099cddac540e5cb6810000a365000c1286030291308c2369a0a92a45ed0161eb9768477ace2161e69530ad6e941838ebcee010fbdb03a71d3054ccd520192228c1973c3627f6461b4a891c5664ec6b2257c27d5e88dd20772c775bbfb6d9f12fa6d3c891ea00a64171b2b44e516641d1b18a6860284628b7c0b2f90cb8167219469da2b0f2b9b05cf7a09a3338e87d81081511006e11fd0ff4fedb20511a8a86284f7eeaa0986ef5ce468a4751d0cd93f49dbfa8a8156ef2d2312ffe8ec23059c72e4cf5a4b9221817058c20d6fd2cbaba2829ccfa454e88f727d2e1046851784d49084ce54a3a4af80f951b8007af1c2e666dcc0e838ebe2e8540f46daacea941d2a7db3927631a0dbbd240419dd697941c5303e9df2148fdb0ff7c7e601ee09dcbd1c365a3a0c1e0cfc7f57510615ed8bc262882e2da2becef4ee18ea92289b1639bc7c80113713397ba48611d5592a6892e5d10ee3e952997c3ed8fed6d18f2af66044634aa139c2c557f460fe746d6395ba38d962ae5fee579e1d11df274cb6c8f8664dfa381ad4793e8ad2bfa560a663e9c1b378b46041ef12d05cb46034cf62ee0d8b44ced7430216135692412e12433f3b6f47750d14ad8c55e9f3cf8bae8b348a2218689f667a37d9a7298bf48363d47182c7af329f4b41ee5227fba1505782a6a062d45bd8382a29c335978a29cd1dc23b1f1af451253d7e562a84d59a835d07a4c4b0887f1f970e40ddbb3f6f8bcdfe1177110960ffdb2ce5ba7f5a47371f12240882ba2ce474e000b2c60fc160026206014a6f3cbdcd09f2a5074ce2f17339cb78100afe52b370d884ab816fac7adc530b690f01d28a14f702d52fa9513ac6be1decdb6104cf3f098045d91590d76481c34607930bd48b3e3dc4c35a567b34161ad8474a470654172873620e09709b337036a4b40a3f7efa5776ff7b61be3d59f4942d80964c6dae2545b37348d7fc261a136b0400adb89dd214f9e091d636ed4240a41f297d09732bda9bd624e2183b1a2cc0beaa16fe08f5b770b18799a648cfad7312bcc80a582ec92d064834ade0191ab479774862a46753164562d1229d6ad26afc6a6e700a1cd17ca1a70d4e937feb4d89839b334b90e622ff5bac2441c65e27a14a9b8952cec46a916622f6caa329cc117f623b40f6c8397bf4e9c92f6f0c8089c2ce1ddc5362b7163f4091c3eb499901ef6c623c8abfaf3b728554d29584123ab03788d22e3e3685cf8381375970290bae544c0f851c43799657a7d71809a2a59f788c7881d7e4ea7d39c374e907b2ac5248ef0a3302d2634c6a28063f3c79fd773e1e6b66a7305016ca0d29c4cb61393d803c6da072611388c20d5b7dec597e54c3dd371b24a68423f50583c9f4a2ecca623f7af73b83b0311abdd582b879bea7a03c79da6b1ae11fb5bdd4b44422cf3f374ed3acf07270b7d4d4405762185f46c3a40e5303d502540685dbdb0173f8a68feb22d5e96a8d4358571327de5154823088cc644f6fcbb3db061355da83865c24a455e076940caf0809967409702fd7af9c7b37d498c3f54969756881d7b808f63f5257a6cb45dd1878cab339b4bb00b98bdbbc6d8888241dc332b3c0dd70f75c032da4f8bba66531a363c191924c7e855a7bb010c390c6852775c931e249fdca7f723e05bfc6051805a6329b347bfcd72c361e37dc5bebff884db41ccb657b2bd872b88b4a696564ba7f5bae00c65f6a32d73ae555b497566f03c9ed743ac2e877b54f01cea9b054ed1e4eb2f3e4bb468d4acab120df56de14184b1dedaca700ec22c668a0c735302e02e140ad8df44b8f1f49fcee919727ed084ea5f060b1e2f6c42b5df6e4a5ee6f48e3f5ee716bbf8b7e5e6eff0dc52c5c853373508d635c48edb42eb437cc346817c3ace465d3e31f9dd3fd31ced1365f7525b6be25d32e16d530e38269c8c1ecb8fbb403b1ac9f2a80a65250e5fa14fda4babed54d5a05035ac642e6e2f8796db7b128a4edc3a4741c26f99a707b6e1cc68a95306ce3d10183bda65a518e0e13a924a0c100463394b9d66ff8151348b06ee213e108c0882f4fb4744eecfd58efa3717a12b3cfa00a3e83f81dabc5c5220e19e3067d33071ab2af14271734a856d802d58cf1ce6fe2b3e1d50ca162d715334cc6bead6939d6ff0fb21b3c9de9d4e83fefd5eaf9e363956141e5c9033a7b190881ddfcffc17f2daa8e6ca5391ad9992479fd91608a94ac1927c110d8a0e9d47a6673143947591cec6d20fc13ef8d54a4612b5b6a23bc1582bd55bea286e3503909b002a9ef82677d2d6840f2a60bfae6004bbb690ab9cf32f0f593d7f2633f192a078114ff10a4aab95c039af03b91e3ada3ccb3e5d913cc59eae002901ef4bc82a75ad13deb9f46633ffb8fb14bcdf1789fdfd2c42bd070f86411259fd7e254650f1ffe4146f80b7da169114c4780430d94a6e692694bd36a82c87e8db6ca88589af7f9d03c4093a13a89015f79fb1c81b2a7bbecbd78614ea837cb603dba8cef953739920cf4c7b61cf8f1caf22efde8baf622cffd3806b7d973d8fa7eccf23987f4d46d0a23ae91a2505d53e3f578f0b653f29fca73e4cc195a790e4334fc6965a50b9997a01028966f202d12b030493875b04125e5f854f24676b4ca5667481cc35b8c859fd746f5bf0dcf750ab07a1100d5a9f92c235050b120c13fdacbb7d41d9122ea1f480b45957807757a46fde04992a032a4224d6796f208602c3d567892b89d94b59d55611e8aefd39edfa55a3d515785dc3af258b72d78486c39a716372bd640ea69a9851530ca2503ee2842b6b659919d16bd3d8b07809f4c618ab207bad0bf9aba4168c3e5d0b18f5cc80b5c2827cf7812567a6d66ede35f1752789d5ed4d25b109d3c791ed157bfe02152af0f4ffad777685e382a87701bd775790264e39982590b4cdc8e0a1bdc37915e17b05982bdca66c944206ad2ef4c275167fead52fcc9523bdcac71dbb92e5d150da93f28a007e450f1ebf23cdb20e9e2720402803e264ea5165c581c1b603add858442528b4b40baf1c5924942d1d785cb7bfc82f2123ccfdf2d87b814b3e93bcd9800c1f673932e06e50dfd1ae1c1bb061239d9e52ab17e2d9891aff509381df5d1e9cad22021576b4301892f74e7db3e0fb01626b35404831112d58320262dad8402578b165c204a4ba03988104e8975a4756fae45678c396032ed16f177968517cb727a7605b99bce3cf0b72d4134bd260c235c3e571830b229b9809a5d887ad30a1892fb63c689211702bfd59ef34220037a85e2b255fdc4d5887a83c813b4794737eb10b28e3eb38138e8e5035c1b6db42b9bbcf8233fd48980795eb82ceb453fcd49ee2f8166ce90d25eaae9a092e41a2c701c6fcda956633fa750750fc332be992d0225f469cfbb2b6abd838b3ed627e0d51614eac5ffe57149991e827088a5902d9f247531da93a51cee84820da54ea5076980d0c136ac7c5df3c424c548c850e9462aaac7c004c49aae80098a91cf2ff51535f342a78f6dd7dee0c5686204b59ce5fef0c1aa3f692a8b6c74251b2715fd027fb6716e38f03cf009d1b45101724ff27904f3e18d6d57a0502f7c2badec38005ebae2bb378a854f3dd0a029cd2dd2c2e774ed1ef4410c658f1de798db5ad90274ba342de714bb1cd599d102c825820e747ff606fd93a319175a6d4649a33491d6ae1f41aee61c3eb0012e03c8005962d08dd90292e57d40e0636ee7ea39257d6dbb2457975493751c471fd64bf8a42641dcaf924180c5297b5da30749f34042d3b2eadabbe2bfc0f1ced1962451f8aee633c37b53a3ada758b4a6a8ff8cd1745bde9f412b543e6c8e60f67d3797734d84bfe9c2ff7df3c634cea142f5e2a08d2ae349db99f102a359bc2da2b5f9e1680b938c7e461d93df48280d95e6e8aacbd1cc307620273c18e66e1dd38336db69fc134bac825219ab3713b0043bea321b0b5f94848a80d2b547cdaa6d42ad99ca442236651c38328e6a9dc25cebb141f9bf7373c74f4fb8207f57a972ab8c47fc3e81d06e8d86a348ff9aac5964fb8ff57ac9d585f8f9c7290088712659ad73b9cd9f36ce5d06252f1ba5b8ea9c9c463faae070ff0b6dc8502691c4cde51b994afc406ae96c596f9b9831f5fac9073b0b4bee8dfe7e3bda5f95ac67bb137bad8463c679afaf604bd6c1f42f34ecfa8811e6c44c3cbba880c950d42cac7eb3ede61eeffda2f4ec7f9c31fd1ffe730671e5aca04a4792359cfb78b655dc674efe2b273b1fe4811dfd24851f321dcf0ffb934261b4dc14be9b6e35314698227e22e39e316fe9f574e5419683e395c5a39e384ea7fca7a30f3a7aa70c1e45799e8dbf50da0da3504c14890a7297db3cd8094505f5d367f9d1eb995f1f83e1615544ee91700aff59c47946846525a8773507c31a104dc94608049951436ee6a90beb269781eb91560a6aa5eb88715fa9b6d66b02abfc2a3a6aaaacce50c8bf6320363e1e35f104f45b8f49b0d7c33e6b479c9ac937d75254fd016648ea8a5307b81ae533837d0d94a02644a4e5fa932763645059d81a5a47e067aa104016f78294dc29901d60d1f02ac48a54a4cfc91c9f5dab47ff8cbc22efce55ee6257edf0f43377407ef62884514c98f6ac526eede461ef72cfc1a0bb8b9a062959b3a23c10a533274632acd999ce25ddd26328a934a2c27c54ba1da0f9a4aa7e86264850f2fccdca6936ba1dbd89d18181ddd4c8794d8365675c6b1c43f1ffb24e41d80dab7ef1c3fad82114cd3cabbaeaa998771184cf23b4becf3d7ed349295299598dc042982e9ee64232c7fe1a240e7045df0082a7432b2fa6e0857d4e069faeeb1d67ecfe075e48828076c2e5867db90f07c1c0f1b9f47b50b30d80f3032911c121f2065cb60c9e305272ded2c4e987624240ae1da4d4f8d28704c4855af4ecac999e4d8722f4eed245223ef209beeec56db3409144907e44b9037b67787e240dd883ac92e606d2d28571b64c13d777e2ee40517aba3a6304c2538960bf55928594c85dfc070538b521e6f6852145464f94a6fc1eb74f549ee3f20d8ac857acba1d081f184be7c1472dec41bee6b14712e0f1c2b791f777ae1909e42250c3dd1ea146e5f839af57a70f2c21e0c0056a46eb5797f2a12a6e0ce64f530640d59bb84f010b648eedb3ebda488c1dd8398074e113c2a5a40f18057c1470a1f4bfa82532a0e660714e440b66f3c281ace016490bd54aba3d8ac90aa03a893e46a9fd24c658a87b038769e1ca81c9ee5ea5662b634956be577ec7da0e36f26b2b01038a2e8695c56cb6c1c31146a38fecbe360375ed25e5dc72ed27d7bcaed45f527c6ae7b460dd1c85731f2d087a891266e283448262f9f672f176234f60ebcda9ade01325c51e45396fa18edc562a2cfb04afd88ce5b03ddb9242ba2037a5cfff70c6571e61c24ea9e2a6e3d9422b1883c6e890ba85326976c7b46698c56a8e384353b059e7ffdffaf86704aa6abc4f11c40a98c1ac01aed51e6340db964e7199a46072df93f5dca504918a4f3c9e76b587b81d9f9f32ddc14887419d80d15f493154868db2465f333ffd5bdf4a0b560df04a93f7f1184dfedc27a6edabad308283fd77c293c324f715200c1ef552ad2fc166c18cd9fb95197cf6ff1d111f2267a95008cca8490f155cc0b8d59beb91ff04d64bdad97a254ad59ba56ee555520c40cc895660673b7cec199cf1828c25b00fb2be8c59a722de57fe5562af6263e310223f459384adbee38cdd924b2b0516507cdd81eeba1c25b51f878b4bc48f13607be0207cae5057e3ec41fed66c3bcd4051f9dac9b47972f8123a3058e73c29fc8b1ba64cf465a5f0441fd8851aeb3f723135bd4b10f31256e1c00d381e4f9d1054416f4ca2aa998e3eb825d60ed41ba4053a14ef4e885b8269cf04e5eb5089c9f546624aa32b9baa074087a19674ce9a964aea116ea9f92ade1e9c003d61b1d755fbe603687c0228b1761e831df7bddb0aab85d39583fa5d9c9c46f5859d66145fc76856cc44a1584498f5e2d16ecc6e86febc86589832696aefc912c5461ed9b19e8dd851a37aa6cd111ba5b2867d460226cd4022021394b6597379e633826fc8837eaa81f1f56591025185a77e1b44a0ef51a27ea6014eadab38b5582ce61f52f238ed9123379ea03bd7695a121518018c44d73e227162f5610db12485df2d5980479edd5234ced8a52dfcc84f07bf8b7f1e8d5f2371a183ec08db96b852080db3c7b87eee1c199eecf28e0283cfa8259d6f0e23bf1354909d80b96bc8081e979a44652dd7bd2ace7c1426b29b05057e89f769ad125ef9a9b597bf347d951805db989f74750ae620459c839ef8783f4df374354f8f15ac250701c9c360cc9689a10d7acd91c964964133389b689441ebace4c18c39b973c87f7fff7a536dd2f0d07a243eb163c412e3f78f83b6792f1340ef1f209cbf873256d95a38bff63fc68307a52705923eebd53dcea9a7cbc13f03bb6c1e6b4421329b2bb19218414724842687cf6ecdcb6219a6d5cb1b0d5b86c0c1ddd1fc382d735f6034d66cdde3e17dc3e61385439dda2bb18c7b216b58fc8129df4132c15fdba59a91c80eba9d0cc3fdbb41e3a10e43492b5f41c64a007a3dd3ce764415cb67dc5e50086667fa1d193ba12ec357406e25b024a1e491f8072fa0f29581ce8ff1cfd2e0c22f9c46437781fd055bdd3fc94fc80c96afbd95f95bf52743a1f7840601a71f7bb721efe9e3bb73b37b923def85c04a0d35b580fb6578f291949c538d4da47082d55b58008b4d8a38bb6ef696b8be7fab60a9f4a68324cbffa7ec4c46307ff89c2f685bbc11733b07fc7137bb7c6da5fa2496f36f4e4038fbc40fda2e18b9064787344561933aedf08b9320c192b234112e8f1d6efedac8fbfdc5ea18ea8ad3f6e9f8a42bd7f8883b7f591f51e9ab369f847a9d5d2fca5efa5bada669508d45bed63091513499478473cc3dcd7dc16cc6f7f3af43a09632386a6f46cf3c83ae362e01cd850e468a6a46001e0219bce4851ab01f3fb38e087eaeecec5623fb611514ef54ac223cc06b1b17637ea7af83bd7a820ad8c06fa7361953bda9340a805f7aaf1414eb7397454010f933a80773b74c60604c8107aa06415443dcab34730d044ab84fc4fcf95f4d77c1c142e84cdf48b42d8d00e93096f319980c42fa466fe7402b60720edfcc014ede7ee2f5b172ba4963d496c369e0373334db1e2ac8bd07b324cdcdc930c438efb1fe3a67b31548a903035a7926f33f5ad706811e19d67721e88e83f3fb14fa825b8750961226577389a3672c9e76689da3930f3c7f7dafb928028a21df7c3bddd8097186915c63167d8ef4703057464619a7370e887c97e34df89b1ebb124470fbaa204a234e9d9611849c990eacb64e1e4f28aab42111e4bc4bfcb9d097720c162845f506add10cffe6f325f9515d24acb88c9b5fca4a2734dcef75b78291f2163ea4cbb594a5dc4b2dcbd1486ce54aa8abc8927666b14d8d0b04154db86c5c2b6aada2c111bf719b192df3a4b800389d0315cd46c7f7516cc458c3cff2ed13e6b0461743ad00a0c2bd4e36aa0ffd79cc2cc7f94b9d1772f53c6bbed0c9bf68e09c9892fd2b237bf704f346830692ea0f5dec14cc3eafe508d06b4bb83ebf6ad17826f4d3a0cea857ce3b5fb7f899522134cecd3ab6813562669eabf6ae09b40cf159869ccaf20d579508185ee86157bca58a4e807242999c22bcb158f0114624acf1303e4c59be36f216104f792b56602c0bef7345c9dd7a08c923107aa35278a5d2458729f30b33099a72ca780236e5c4dc9b477ceb7719736bc144964095329566ded2cf6725f3c5d1c1c4858a7ec75e75cacbac4291fa6de8f685c6d1f192d6b20c85cde658c9bc9ef7e6f3cdca2f759d8b77e6c31d14f37bc6088d9c365585683d4ad2ea9d072f391c5546da231c2c9f5d740e0dd0570dfa3a047d4739c68d01c3ba7cbf1e624c72f424cf03044235779c17e878f934b44e1341fa53a7812b07158d6752d1c77b6b6121b695b5532a40e3b7899076075558015ba54216612a862be1224c6078e0672328558cde2578f1dab01a42c1c6541e805c8c950c179a0f2a864f1561ea7ca71b4eee5e8b8b51d3772c680cf7ffa219b4e761327f445d54e64eca9a95a02d8c083e6a066af0fd73cd2294ad6d8170bde9bbe38a1b97371727df830855fda6f88493fc60119f8ab9b2c2aa54818047d1549807e06539060e16a8b6194be189182d25ab821e0bfba33234532c4154bb369b60021b46c03e9051985eab78635204062170245503911623a3cd971cd061a94c315fcff88ea6abd107a5e5284c412d5ebe461a4a5c07054effabcbd5ff56fbf8ac86a14c48540a83dc69144a9ac21012394f34509eb317303f2a1ceec51b81ee3c8f70a931289370a0490ca450d9b3014c265341f8314dc5dddbbfcf409d22dce28fc767c4e2f79cfd3acc36ff1acbcaedcbb3ae13d3a599ae335b552832cc4a09d5db0c67a35968b17f581b51c178559f2cae02621e6eaddc25798907c58bc4928b288978f4247450b3a570ba2970cdec9327547180b5aaa8ab15ef0e7ba92e865087f61a41e67246bbc689e0b87db4b62cd63e8ff3012ad73c578f431985c824d16662fa68f8763afdcfcf13227bd062fc562ef3b81d6214039323462a1166de93bd0bf069b1a2c63529a1240a8ec385babf96dcfb5d6564796cd13402c63194341ab76abf5525b185820e8be280b3cb75e4be54f5826992ab008c23eb201ecf734602611b05eb808d5096e40d9be02e8392f0806c214405324ec3a8348ed9b0b84c7f37a62cbe371c0871e942ed7035cf38d2b696e5e52c2166890c28642df2ce8bc45a83ae4eff56428d6f6b84c4b75bca530022523c756552399f550e299856a71a65077be541c0362ff1449f978ab83ece4c69aba7e5efdc1bec9b163cfa079725d1e45bae29d1b811fa41e8082d74966ddca4c3cd2a6e429d136dfaa771582b931af0cb29240468934400b4a3fe2a9d4315199af2ecf6109802d3edf2d2f04c4f56797279d557656ef4098397422804cda2768844b3d4913eddbf70e5f087450116ef3e03988f3de7958cb0cbe0ef8b50da89ef4e98e257c04c19d6812dd8df86d336f8ed905fab173713940ba10150ce59e29720aa0f7ba138ac3baf4faf7f67a2428941778550974a2a0ae64dea53600998420ee330b9b164b6ae5d8eeeee12ff3f71eb5af7ed9e00b0008be7ebc4bf12be655bd417465a45dacf818d9c0bc66a018bfa8c7323e478d73b17a4de9272a1549b9ee228e8e0226656c4f77c7a93579c22365ebc841d555623d4e6d19430a9cdb5a519cd6ca96fe4b448276e56c78e1419ff40dfd807f813c03aa9d3276df7c3061f0edcd69a2ca3f074bef0f458908aab48e5f62a0a61fd8e97ff84af4f46ab142b45ff38eb98b4936c4fa077b97d40a2c84c4a76dfe819ca1a03733054b14686320a67a7a5cd7f79366bc6b7648b6f2a09adea9b6dd26c99b8c760c11f3c9ac2867e6243eaa818813d21ff4548508655fb91c8c31d6cd8904fb69265bd6abaecc9bc9701d81d58ca6370b7b9cd3e333af8cf2fa18ee5f871b3838301b4b1216b84ab78fe3de5d32b6fd3862ffea66df33fc22b497b603f869d094bbe9ba31f9a7df22f3e59c0d6c28ff3230a2638c2a88329afe258e403d5c55bad0eeb837b0198179474ca93e1c95c4ee3ef188e480547dcc6db11fb81233e7a76c4547edebf25e373b49ddbd44b0a0e483cbe07686b5d8b989b347a17692b8f64ce2caa4b64cd0727ea11e1ae9039a7326d1b24972030cf047991f6ebc46ade87866aa15e7585eaa6d836cbde3fc57558057df8e2854d1ccc9a97b55811c40675f5eec2b8468f1c25a78ed2f31ce8c9679163038870b3a3d789a9ea8183ef4a485c476f68646543c60345ad91b85359b22365381f564a982eeb4192a9b1c4ae482d56de0ec2798a90503c0c7960d78cce077b5d584a91ea95452192cd2702305b831de97c3285df1954269353d3f4f770559a3651ac2c09d3c625f3fece4ac3bf83cc8334022b95ccfc0398975b343b5b6780590fe280c6f3c3f4fa7fe01e823240bf2576fb849bfa198530ee6e5cc2d78f2f17de52f83617f5c77383bcbfe53c41d5a3157f3ca4571a21d330b010b14bd00514896714989d164b1e4c75c58e28a4abe125854c087cc6380a39d6631994b66dcad1d8cd739be25d94be4fc5bcb42802621facfe21dc2c19647555b3c8a3f7485edb28e84fa7bf5212d034617e45ee03260b9a7f5b65cca77ffb5d8b1a84aea45f114bd7b379928090d21f90cf5ebb0cf5c52fe44d2e10eeb3639de47cb0219cffac982aff9f2c560b5c42e5e0882cd3379c679cc3d2fadba33d92ecc60174ccbd3c92f94b5d3b80fef8555d073bceb3ade8d6a2d74821c6b1f5ba82ddb63baa82b029cacfd622f8c58f77b407e68967d2abfe70b9c650a79dff9c504762091d9ab7cb02dc21216395ef0c7628cb8bb892803414c4bc55b9f81e8e97897534ade770376eeb88fe0d3305989c9044a2653a9b2c1dd59e7cf502f97b5079189388880c464292092c044e258d2e337dcb58f5b1c26030889a6e5de8f48ea3c1b264e1d7035970456af5adf26e2f6b6a5ec072e42324089d5b242723e16d4a4062d9c01f811e89ab669453da71818b5c22b1aa9a7c34822a33f4768195b3651ad8f23be4343c82374daa1e694f50009a290036285c6f57ab289e7c15ddd310c65a591b2edd064273c4310b6abdb0bc559a83800eb2859cf2be4ba5b8cb1811c34c2946463c3c0492be1489bd282daa705b05292d79eb37e564ed94f1702bcb17c0c1845cfbfaa8c7d6084ac3d59b4764d9ae779a25ee410d695a247c9ec4e6d89e821204986a5ff51393d8d6d471f4f106584b239c5b27011e20aae481b6210d640fdca0187ecfd6b82ada481ddb8e1dae0c04d54fed8631aaac9bc1ddec89afeae7a37d705afac246b8d9e50de69166cf8a13c4986a52f6f7bc094cd31b361d48dc58f880c5fa9e939b694e79312d1f3b739e9bd80055ac4dfaf868e64a0451d8668181e1030d598aea64803a85804d8a78747105de0421f75a211200a8910cacf25bb64a0740bb9a5d557b4171ccc0c63ec209199bdf05783448ce120dc50a5cb05c6429df9d9d88c080ec7063c1303dfbdc18eca3c1954f93aa3a073cd5f0aa462538ed1757b00fe82935ce3e4ec84dc98b955a54b4b38a8740baca2c2aaa42a7c11346e713ffdf4dcb6883c0b1684c2ef5dae9154288851445520f361fae86d3065bcdcbcd27ccaafc73fe77cbe50eff9a7ab71b53a85fba4e9af591171286a1a98c40c81b57e09ede65844c05a89f76762104491cf176236b11d32104e0e2df75f4d6badca2eecd09abec0cb493b4ec9da709a66aa4058fbe6a08cdecd748d991e488063101a5c201be737e9c147cbabcbaa7ad3dbc42c77a5b57a579861df63e7afc57f86d6e0fdb95471a9ecc7f21b2b411eb1893e6eda89a1bbf00b06e977dcffa2ce1022e3fcf0000962d80b42068267ba5dd8685569cf71cd0d3d55f8e47fa2126bd03b6b902aa60c917b7ec90b5841feb2105e7a154ea402fa91d18b7613ee75774c1201971aecfba7b53e7355542323cc82284ef18500845f4a4cc82260fe3021e5aadf8e803b6409c6ac70318b12b26e8bde7dbfc153c71f03bedf39e8a4b303ebb69281915af7333c83ffd8b54cc5a15e8e6dff62dcc3fe49bb39b5922c4b63ccd541bd30c8cb702151480375357ba8cc78d10e7a71b2d91d7473fbaafbc40f71a6aa9fa59bc0f03b68378155587101050208a8a287ab34db716c9a6d66e35b5402ede291d8999c61418f3b476cd571bc40aa053ed70d55e1d20dc4a23fa2d14b05396ae350ef99019dfe1a5368aec3979582b811b2297694c605ea5b4818ba7adf01e8f7b513b6dce62744454997cde7fc6fbb23de9acf55bc76475c5222c4a9a8011c27d7a5d60156554bba0df26907b2c30342c6287253d2da260365a864ff183f426ce97ef24834a99828c32e428776795e827d951b8217a2fa58c82285f020e680159787ed0a123d9538144e65c4c752c0a2e973492554fdbe67b0b5cac7eb937b83401b6e697e3dba91d9b9362709ef4f07459795eb4b89b94607bf07d3a8f80a9a97b91f1ddb0a11782e5663c7d3ed42e8408bd5763be5e71c292be67fb80107caef31e5b30bbda58260c087d1c345226e4ea1138d3e345f336d108d8a6bf8201fbdf9aee99d191fc0cbaa56e16c4b103eca15eaf48f96af696ab3e0f8e1e2a315852213a7cead6c5b28c54c73d7d3996a48815f1a0a4d155ac17ccbbc2f5a3e13fe2ab633c1b2516872ec24d26b1f7e03e3025b16d1ebe086d856741165959ef773b0d6acf96a8e7379bc00e18ec2e37535cf2512f22c005a699a761217a68d73c0cf42f538573992d7181b771f79e1a33f874ac1e678814c5192d3cfa9aae50036c9f484cfae045345b52eb94106c66dec42aa3012ae463206c8097c154bd3dbb339c191592c121f13a0e66336aac6587c2d48f750d2617ac02db148bb79052727427b06214c7bad7e245b151323095aca9a52e558689806386b061897637b2997cbd32d0693a9dbeec1cbcf2063a579f93bf90c5e7ba327c794400e494411bc8e24d617f423e8886120516ce13519ece586bf4277a3d7354e6265b5de873e1c7dc25f107f3e11f796df59f41ffc0be0014d3be1eb129e170613a0efd12dd693df0297a7709f3dbed1330308a3b334b085b52a7170798a51d87fc4f7c78ccb812d8b86b19d5f1fce717f859a990c91a97ab15cc02f85a3be256c12eef7015a0b06ca140304b59f94696729ed6b387ac65828f6d81642b39595de7b9984712b3da6848ef8f1dce8ba038e0bcbb8bad6ec1bbc24e9c3c12b029f6a0bf120e804849f64718e678d70baa45b02463f169a4552da6efefa0826a7952a19f95d3d1c570bdd5c63d996d7d50efb69157377c0dd7dfa7d839a13fd9e0ef1539f59183fb3d78156aea337e168a5ed19b6a3452bc9d27f2d0644c7952440c631be92ec3c51e085a8fd7d48877f55fd00ea3739bb690d8b241cf9db88f061227e6bf8f59b7c4c5e2e361ff9f3279a1a9feb5d7b8ad246935f1e0d630f432f910f3ac76a3b5253274f7eae401200aef71d3ff1294230824ca0691e68c14f267b6fb7dbb461dad815cd82b139f6b07e4cebb3cffcb0d43fb5528e78f78e75f63ec6bcd028f10ec06ba323c94fb21c88237325dddf08570795c67834b89f3f49046d93e1a7d15268797e82228dca8188381b7c144abb4c6d823c7a547016ab324999a4e54a2db698297205f685eca9135ebc130018be017d5e6054b92ae98b3ca071c78d03cd71031cda21397dba2028e680193731238f4c698d312064123734f6a2c06c0f7979c1b709807b5d4bf4d0eae668e314392fc8980e9ad08e44a15dfd0dedfa1dda99ede983ca85b79e2d8010ba24453c6a4de973466dc52c44d765dca932f4e475821ef5eeeb86d471adb80ed0bb98858a4bd47c9cb1fa441a50cdf9e0109624c354401d335b286509a0f93c3a6692cf2585bf0e46804747175dbeb5cb2c5cf4aade3a523950eb411f53f123743d80613255408bb37c4ee9b8c7479ecf9576d3456b21d024b86beb047ea41b38ceba627edbb388d46d35d8ad0214c7d0e00d15d9253920aa0deb07044d9dc171b882d61dcd327bbfc4cf03c86c32c4281dc8ad8e5838843c3e50eacf10e89c3a1d8d8a539e6f12549794c90a6714019d5a678a1f9e1f3b860599f4879c3b59120e914bf42307f16ea88b39bc115e44e7ee9c174774b1b3a4804e1d20e717ab880b246ae41f73f25493e30504e9d9781bd7e7eab1be54faf11ae4a4cb1d8dbaa7ee269729f6f92f7dcaac8088c296997bad5a121cf8cc14d178c3d19bc3f4a255bf4176dbe64a2d3c81eb7bfd96be77a9ce76c587cde3a87ababf3c03bb44d740c551f4252d7b471a0e0843f4478b19f471d9f5b058d0b816fd5b84183ba53b9609bfb87edff697965d6ebfedf9481683797af661d33e466906e969069dd1d78f079d836166928ef1382495594675cf780c05c384cf02d3af0b8b354233494d53620c72b13d63ccc38d85ed538cbfc6354ea973f84939be832f99fd450080f992698599f9a9817edd00e1167891be54bdb3d6768b63c569cea0358de966720611289af6f6475ba7e9e2c00b5f047b430f556054293d0596730ce4c1c5246d24713754a5cd91cf13a8a0c47368508fa52b79358b7e704fd01ddff1a1b5caf0a269cdf2c4b66655f0befe26beadf343c87109c4d1751f36637b470bf96000cbcc69428c64a2363f87351c098408212ccab5b321619aa504e11b24254af23898289084a852427d13489558bfa1aa04fe2e9e15904f23ab124de7564fb3cfc1e93bb06361aa6ca8f54fcbb1229afb6a7e75cae4b3531f70e00b3b6399f669c18de4c1920067f429c0b6688e38dcfe3d78dded2803ef04eedcc1cdda4e5dacd6bcb9febf6a66f8b9a2d8ab0bd78dfac091a65b39f9b326ef1d7b5c841dde54b2f1d944ae650dab77442c3d94e1abe165786fbeabc32381f24d211e85a65413f18ac79a1e621e9043d2c5761038e910fb8843cac8dbf43d5b81f42a12f6ad1b8b77b137205312affa2592bf66324301bbed998d64c740a02be3751545a2bdd3c3a58dfd228a247927a2bee3c64d3d4c4a07c31a7742ca1188e6e571c41f616ac02b8052d87e92a4754cfd96b6669b9444230ec55ad0809ee9d6b3dfb63f1444ecf5b7489e1f8467e51e86282eeaa4f1261cbb6b46ad2d033014860f0de823b54aa47e68804d6a78201e44201ab83e90b5260dcc8be369f19f813fbfe5757f5ce878806880dc842cde483299718733b6477074abc7b2b3575f9a1f88a727912d8ae44d024985dfd0e9342818fa1db915241476021336ebfe4ff04378b245e475502192905587020cc29074217a7391af9445a44443da939079dec22dcf3d76ce909a84f7b28262012c252de7d1756c11672d0a3f89f724779bbc318043323efba9e0ca52a949348623553fb7b2d949cee0167cfa54ab245e9df7e94fb59387ee93290894231504e4767544f1b3e062624dd9317be9f42559a554d2ace7d4d13779011f4dd0a62048f2f0d6c064f698646ae2f2066c2f34b1a82208f10d4256a3f236c431461018826833c28c66ec71d1ac6cfb693ffc593ae807f81e83aa0ec416b0b5c0c81d7c5ca6d0fe5277602ff692fc00c22354280f4f3ca5e86eb889d3b78690ee6336a346e8085bdf9b86d84535d7b9fb1b1cea86481755ae0427d265eec389764541747a980d2bde7868d8a75fbdf77c67fdc2a0efb0ac0a6bf97295ee4708ab13c463dd541d42fc65a951ea2e8e9438663328d05ec359d3ec7ea50f6238aa2767f6b7b91013663314c6dba4a230614aa5862aeff4803d1bba562c6789b4b1f0e3f06aec58913b434899a5fbf262ed4d04872303c081d5e8b7c63e3b2316cf4bd595df6842b3364ad9801b615c82790311a5c951da5ecc281aad3e2562431a162c6f0552a19a8fd34f2426a990c31563d7fa17cb713ce73c25753e6ad4607442219781f29e1fa44fdba843a4b1c241f6c9119dd6d6a257b3159c520474391adcf52faa0a0565cbb09605c6f0a155cc7e72c0326a0675a5b07696d34362e2b6167a05412f2bbb753550544de07248b0d793ccbbab28477182eb4bbb3b4a64c57384a8d6f925e45f122b9454fa898bf6493c6ebeba8dedfc0ac632c1baf2b6b282c7e8f59ac41795adaad3ad9aac658877a071b856be732a014d2dd9317bf45417bd54925a5b0cc10e3b61dee23b4ca026dbef8c56fe3811022a70ee6fca04b729429ff09b32d1906c9ecc9d958fa67cfe86cd0bb1f5f5016a9210c0bf2607299036d66a33fab389faa688ad36c277a78105b011005ff5b23fe6799ed57b30df0f3db878788c45fbbbae206c4545d907f8779bab131e74c0afc451be462c3b392824f53be7948b4d6f5cdd62c65ef319619fda87ad455fac551e0107eaa3f6c5e9480f3a69a9e95386d9d1a84e094a2dc921828f23b154232286d570ecf88006e668c116665d320672c948a470eccfd950c6017dbe9834661b598f0551f182e4b4fb83c4470212aa2f39a6f8b1be1b97011c78b3cc2dcefd560f5005fdb640f0d4f078f821b723b70f7f0b2a31c47e9466ff2d06834658709e6054ae91eccd0ad311e85c3c443eba01fd6cb59c3b34a3f0c19e6374b7f992f42617746d225adef4a07709322558629b9e1e53619153c26d063179ab4641e2117ddc930c19cc21c5fc8d65492c1c37671a0b218fc729f14df033591f81df79a2d8bba31f054372e4d9da75fb2d20621f85bcd1751d381b51b7da18184dc9fcb20b2de578eae3c2e02c6d3f8828d6156404b000abaa5e80667d90517334c2cff19bf900f7ac0efc6b221e823f0f14e03c80aa40d30808004422801d05efdbc21e03263f0bf004355fa8b0698a8ae708e444066c22f08c2dd9e26b869320c943d225f06b4000a37f32614c080b36181c2b43f88123f14fd6e736f4c1dd40c428c876d5f83a267ed551ef3e980e5935dc7771749c8782b05b70947cae2b27a2f32b877a5c35a441a488761762464c9835e112e88fc3069ecb37c42846e60c40b5951e76f6596a2e67216c5c50f4f2400abff881123e98da4a5f4b5ea9e5d05caa491fcfea1371675f3ceb61395d8c56dada0d0f2a9918f31d6dbdd07ece81538eb17fd20123828f4ffa73907bcce404b77497e92df2f6fb9dd8fe1f6cc9298be44ff5884a8021cb6c8a50c598cc27b9a9a56000bac561c4de1d07bdbbd4bc4a8cd9cdb72bf52b0186226f70e3b0694967c2939475c698099ec4598c211100f900ebc1665f98cf604cc4baa0b7403608b5c9a181741da98031e0bce4edd4aacacff02bf2c520203bd921ad5fcc3e47f30908e97145087287f0dcdb9cc2d83b8009965214a07b875e75373f03a89f2ee32bf7e4eea198ef36d152bab750099336d92020bee095a9215f0f1807efd2eb434e2e1a253ce067dfdbee27514a58617c8b04927448df990aced2483b0ae778fcb09c1af128b6e366f5cc523c3c6bc9ed7b0171876adae3c32733d251952cb8365b3b6d636b604f2c5b0a0f17cad1c07cff27f5c6170bc773d2e4d647745da54509d7781146c7739371f96d7af579b38d42b9bd7f2a4b41ad41b290dbe417799bdc6b36f1956f24ecc3e33354bc4788cc442d29e7b2a2e25b44a457478386bee3bbf83b2dd64a6f02ceb4fbed9f9a1c9f065932c4f1f93a6967da90662d4a4f8d7835434df3b000febd98dc85bab38680a6d14c727ad305e8679f05375a66d1417e5b3504dc9891c96ee097d0ac6125b33b9b64245653e633c8d2f25d974ff4277959189bad426937cfed6a7473f7ab38c8d1c9c55bba77cf78b6a922a87aacde4b8a82768b753d21f922b5211b072115f093d3dd37a613a1417923ad60ce798f497c2ab9df5b56f3846b1ed5f95bb9fb512f33e0a623a9663ad6d1ae29aa0e56e1c45bc91e6b98eabb8a4f3bcc9bf88d46ee7d44e008271ffafbb220b8092b7e81924592e640a8a93becfb03b5f67ecc3cd4c5a1a6be018f299e15168ac7df87422c4d4ddee4cca9e96e135183130529ff637b07179c5e79b295fe401c23b7d3590f0c67b7310dd4f0aacd28d3e2cb37a1c2dd119953288d746be6733a2b194fc3f153e718bb4a86753ed4be9906f39f531e2aba5bd86a5337c0bf6275d08453c48576e0a0eb681e6c14ef138addd7ff1cc1d6d7fe29c0eb2df64d8ad85efccf30a2557d7d37e0929ad28abb1ab5e28a9834e90ed268646a64ff5d9163f3a4c182d9e729704322b74b0ed7df745f96dce87e0857d78e334d2ebb0675dd16d4670cd81922c690271993c330c657ed8793cb104867c57f4bef84a712940b172637b26bc4d2da37e9c65207822d21349a378421d8153758c2d9c4b73e185b62cf4d8821a3eda5a9c7dfbc88198cc51d4f6c22d7377e07f4182744fdf829a898c812ec8d7d5f90f9e990910d79da89480dcb24baa2623555763af8535c7da199f3a7b9d5c4415c0f33da0257d5bd4a3d90d0ddab06ea6a1eb0dc565b3f6ec75cff28d7d9b5486bd39ffccd9502c0451761091a34826f57ca7660e6fcd7aecc4927b9c4956601ab09f1e1c50f8313690e198b0385f06ffc72a66aa63d1913b2ade046e3893d0123ccc0a5f46233867bbe65e5548100deb81695df92c5ec94dc7147bf54ae4a5ef5fbf092b85c893431d85d81073f52977f5e8acd630f55eaa11c16892be97d7fb8597a7a7f1580dc18e18b4678070d0cd4e217db2b95f80ddc497e95d359f19dba7c8cd23905a49f230de3d9ed3aab75ce7c23762af69ae28adde324fa6899c39ccc24582072b822889e81cc989916e58ddd4053d2398d3f9b6702ab7b908d2bfc0aad225d757d0c3a290b06972c1632feb9e708a72049dc7343f4c8ed65c00188b69dcd4a8f17529bd6849e3dee97657156f312031a297409dce6dee5ff630bfd960960984cda4f8ab761c318280dafeeb0d54b41a01952060e48ccb91602867c793a4956b18382edc4fbd313a8c3281e8282b40a1a81540a5219084436a5a21863076335ceac91a83b42800f5cf7d5cfb8d56f4e62f5a55ead3b2e59b4d438b382567425b478483f5e22af5b4099d71d3718d3d1223cc7f4ccf1cbcb25ab26940867fd4aae5eb7f10fb98176f69d9859a8df6ced8eba8c34f11eca33d8a02b1c6a6feee24c2a9f5d319841f96dc53d7c022e27b72751793ec3053aff1bdff5da71ed40e4528737deeb1241cf3e7f9abd8f6a74a1db29deaedd8e48c956293a92c3653bae2417ea3a01842f596f4d21c9b060c3a02f29fff4feeac43a4f69ef943c22add42c5a10b6be54b23fe4c90152477f03a5e2476a01655a3332bb842d567d8d3cc245702c6c900d8f8aa21d756a677e86bb067d877eef8edbc9d975123cb73a7da8a370c6dc9c33c8d338e6163f0afad66b84d969d4b6a2a36fcd1d1b28ec7b4aea2feb6cc92ecc952026aea3e68a0d83ec59ce64f0403755a42e2ef6563af9fc14056d3d7847567b2f7be162c73b3acd16a6d732e5d17dfc998dfaab3940fbcf6ab3e16857b98a089c87d31574c9ab0ca083d7cb89efa5654d9d76a622c426631ae397daf948d58f8be0e04cfffbeb027a5a6b68773db20ef67196b8253037d20214cc4e5d8e6a51beaac19b1f1dd75683a18cc4d296158fff3be47776b8da39004050265fce8c1e2ddb0cd4d70ef0c5e2877d87b46453757a441a3187b6ce1d58f6aa4bd05161a9195cc4af2241301c9afe3391a838cd05b4c7bbf75638a43388586cc3e31023a1e7ae04518430a7c7f2ed6a94f4edf8adbec7c9d0fcda90db075dea554202eb7102d57fafd74233f2f298cbe7df57a086d9159ad0d987ba23a9a261ce3579e0541090970029298917b0846644517ec19ff375d1993024b5a01e50255e95528352109ae7df48ccaa8a04cd5c8d87dbada0cd86d5889c585246613445b6acc5a24c64bff6552f4f6a9bc1673815d60422e5181e1ac2e6225765449d0a18a4a17c3116439c0cd06c5d61203eaa1154747e3d191840e2aee4e9016bae728c482952eb667009cf634cab15ca9aac61b9b40e84e71b1dbb58e31077d083fe3964ebaa027c7d36306770c662a4dfd95c0b8167b3ea83c0a08ab00a83a73ac005ff33e199ea81a7572223c14b69e99da97edee923956dcb16a564e75bb5e66cff7bc055cd96220e485474b29b69c7d2524035895fc9b0b7ea91079ca1170c35d9158d181fd42ab7fb89b41925605963cad7950003eff3d2632398d7bb4fe7f8e55c3f72d78487f0ba39917b77248e89b01e827a0fdcdd26003e4c4779d5e7f50e50962a3b103804e0d11dfea881c5829fd22b98f568d203964724ac57bb395f0a6efefbd436c5c8bdd8079792365d9d6696a6e87d5a0e8af403ae69d1007f7fad9cc6d88a2131c073343414b8220c1ae900d2e5ac3fefb674aa71d92c66a9535dc06b35bbc72371f4871a54e48fbb02a25c72733e70aa718c8e04b74f5cde7f0325d1b4957a2560c3379109e39f98ad74f6e124918069ca60303a9ac305ed4895fc1b62eb092953ab34b067607d86548970c7e2445bf999080bbbca3ee0edc56c32e5bc0ad0f676758475e431c56dc8c5ef924c528d78c99ec80e16d4f1ba173727a8e35300702e571818b061fdfdd1f5f913b31078140a995f3d7f32298174d4b11eb577ad2529c2f441254309161711a20fa32f57625450fb21ad1286d3926c35e4858bc1306e314e8bb08901c9127d9230d20198d38fc8b534ea48c301b931493a244f46facb6bbae43599d8a88bce1b13b869b6a64e9105c12f1236cb15f6164626ca13b7d1aa14d12e85841c890be35f4a5b4793acfe80cce20a0b0a48f7bf52a078727b88d5305f694c2acdf9a9be7141f5de45e827892c8de1e5681fbe6e6452081a9b9474b5611925086e45c66384940116a43c72c9dd8d75947dad0892997f81fa1e5c281c934f2215525a5ee42e277491e096bc9468e9abd38f0f314d25f0fc60c6deddb7d399647760ff124023c06271a7c5096fdea0a646399d5953a3fa9bf19c8358483170da33373748a614acbc91f3b71c173f461e0cb6b65cbd54b199f552f36eeba566235866b3a30311bfd8457268dd463d4c2e0f6a3f42e8c7b4e692e4f381af79ac81c123a8b74c1c98a000dbd99541b8523f1d0e610ff5a1d6667e3539227f80d7c99d44357336180c0993de08875c6289fc7636f30d624d6cff95600c9cd5d740155f0ca0145a975b41212542033bb20e585edd6d7139b0e31d356da6056e55446bbdd93d7063b90e2b161162c1830a467b21d66a044c7afcfbf73efc88cebb5ac6df78200897d6ca368cfc08089ecc6cefbf3f979c46719bfcd973fe984dd42adb131875ed2567d80204c2120f424ca5607fdf1f441ef6c6557685aafaa7d7095f5546096334a37948311491cdb58e98c051699ec6b135acf5a08175af7b434774b1d0db84c4fe99aa9cf147ac19d9c88c07f0a646f8c591849a434f30f115d93514bac2dceed92a6519ccd0fe5c52e0cd2308380f44fac42fcc25cba9870449589c41126c3a7ccc21033877ef033c4c3392c7ee6d83dd4f4e648a58b1162c9e38328b7c51feec3033aee5a7cfa4436af82000ced9d0438931c8e25307cf0e5b60e41ba8ea3f5c2cb9c56c644af4732c2ce1cb2aa93234f0b184fbfa2bd6c40ad11d8e2a342bc9a4224dab8ee2ad4aed4ab46b0e0e854b7ba767d2cfd073c396b4d4adf00901e413bc558c728e2c95e92de4f63ef50fd2136cddfb04abc16f7563b6f4df125a8199b97ca402e1de9d8c397e6c6a8594db8ec8e6792beada49ee564ab45071d4c7fb2295288492387db2a9e8a5632aba61a9286ee1790838ca182566e4829d86741470d91844a6e8b6c827bd30324efe1eb87c9ca24df9cd4699d3e4873b342de88d7037bdc7bc9c15bea622e3b307e4a93db323411010f4daad99030cf86708eaa546e7e821f6342e388190a09641edde8bae5330e67bc693f2de0abb59d820a9068154e671e3f7323e77f907c8d6262aeebb1f48cb9a21fb3998c640a371b28a49b461ce4cd1eb558fcdee7a3e50d10d41ab1af201b0f403877170f8647ce9ee13c5b8e6de13a9168585e4b7e76ea181d337e9c5ca04e9093a5c602f66868404027eb0bd508458a57f87166b5ad0e6540abbfb59ecd84732cd22e076c3d8332dba5004c97396b8a25327a7615884a8c451a4e0f5ae9417215065ced8e89b16dc7d0237ddca7674b82dcb1d5aed61ffbb5680943c31cda9714da0ed90d441ccb825f0a9a09fe29c1028c27acf85e7a262515b7e95ce34aed66429ae09907ac717b5d3960bc4bc54c2b82f07816e8d980d8e103d5f327c8e815fb3405d981be9cb326e6a679bcdb3ab0bc169608454f3f355991ac106322fd079e7ea74ab49541f9e3bbf03f85ab6b7f25a1842e74abd27f92d20fc8576c20238b0b2ae12d5d9e7d68af85eece7095ea5c01581fb0dbaf703e24249eea3403f0d47341563b438e719fd78629049bc975102bdb790bc8ee8b1538968a5d2c5285537642b9b16e359603f30e5ff33a927193f1a9012dc092fc37bfdf0b192a6194f2b777658a1b6c1c3174cf00c48aaeb5ec2add8de207410968239b97b758015b7ef6d974ec74a95a03b204ce1713db732c07a7494c2f83b08292c12cdda673db7381b62ce0198c870bf107427a992c28480289adba40509a2014f164b98c5bcdfaf63390535428efe9f249c044dca5b6f933ee5d54329c66023c30de05fe39dd3e35961c1ef9ff8e1153e8f475a9e83bd7fce4e20fe4a4327c070e78020dc056372231ea54fd587b24cdb9e244d2741271709a4a750eff3eba06cc2b6d7a40b676a8eb0e9100ee7ec8ba81b683b8512f491c4831aee6ff740b4427b7e469215a2ea75bde3121deb5147f6a023735c6e8aa68898295039d49c1ae2509bc9e1de508bb0c756fc486bb2f5c5932fff1414381a175ee4cc69e2a9cdad87449594ba054daa6f26a2675bb4b96f34050779bf22c73c811245da9acaa4be9ae4a82988bf210d2212b3b0ae28e0e04af5dfa1b3544d88ff13a7e39a1f3a620d32c657dae88ef17a1bd9878f91ec42c6b74de91108f65a2bd7730f9b984fda7bf936ff6299cdbfabb61399a2aa703a4c73853d3989a8730cd3919c256ea2f53c0bd2a0ccda50683f6d8455f7b5cd932a4131cd3274dd31c5003bc5fa1b49dbbc32d18f0db4e72b6ec086666f0d5c9e4c2f045f37d083d14ed83c2d6b939a4ee79c9f65d84ffe48d89418bf0f05d795c657ba085712a272cbaead1caa97aa5d37db28cd5283d6109aeea288ff4bb0f1e8651dc63214e8fcff288030b172435e1347c5bcbe23db5d2c7f9bff72d03b908cadf1b1b034face980548ff94660a742fb1952431d792079cb9cc5bcaaa2553e6d8a21ef70322672806bc891d8bd2edf7e1f2a6c5fde73ea8cdaf3a154691d70a0b3c9d5a90153c7e878b9b460f185ee3323a115487288365a9498e013037af800c816342929c69e742a805780ec32c714fa0b8c51435679bf6366e3df29a39fbf69a2b437d4cf9420abfe41131fbd8af7b70df468934ceb01af090fdfece0f859e06fa6ab2c930b19b57997c5989e40b74521f577c71fae42940525d36c564ad112eb1f494fa817edaba6872e26d028cc06d0d7405a1357ecd2fdcb1d4bfece528dcebbdbd3f90c1d03ba1cbd22fd7c808c0112beae65da41e9b630cbf13ec9ec012581a35701a0f5c7b131793fd0e314137655e9b7d60f9c4b55580f41ed59ba05da19297a6146ccb5a1b3ac306e12bd7f0000c28cb2ce645cb8d7e6c9353145e80c261a3a32f9b7790d6d093dd9a700acc17590b63372de25b41323391c76fb52c0730e10a0515d8f72f3c898e0a907770a099de44f94c34950f2222e972f7a0fb06579b934a3b8f800650c7b678d5d53be62a7a1374520679219ff6c7303e5f1fdd0e2a93864d03f391bf878128c5fa9b57131ef48fe82471f4c49510080acad129d0602c6974e0c8c6043e8a97c94451078f073c12f6de8abb62a8a02e07012ae3e128fab4bbb2bb8809880ab7a904592f9f4ed4c7db90f3f2d161093beaf0ba4503a0537e3027813bbed743de48e33ed491987d5c5b7ec1e7ad88fba788b3455b4a8bbc26e864cdb705ba7fec2a303622765cbc7eb9451278e93a121b2a5cf85e8d6898b9b22678227c04b2e5d5d30369efdbe9923a559d5e6f5a35a7f29791f461466ef3299f915ab4e141b016d236433f93e6c4ba911b1834d9291a4e798e2b4bb168a51391220e974d072f7f82e0d12d091a2a7fde0bb67c6b641d2d93ba565a97d0fa0f0e4af72ca8653b64e802635e71bf7a4777e703ff436e3e341c22373d2084f849f822114a4d29083c7a02aa342d3e4f40a2d57489b6ce5e17b26d7a7d50d9f4ba9076a1b25043a3a67c3a665b13d2a0e154ca43792d4429fca20a40f5762407d291ee9b012b0e63a6dc37c7181a85cdaa068ea090b6a5dc5b4a29a54c6907c103d503df03517875e65985ce5486b0d191406c6d8413d45a0880dcd4b5d6faae0ec32f7f3dc905b467a62c44ac28168bc5721b228df64f7b15c8a166bcdd79b4175f7cf15bf84519ca177fc37e6421ad933dedd6a43cad53cd0f53e949b55a27999ab82729ad17c5dbd28b2e3e1acfc6c7f1773c4dfe8f7951144551ecfe559a0b543e72242767a59b5e88c10599dedb9f98c62627324baf2537d420b3745bb2d59c9a46a6bce4468663e9763bf2b15a0533233329a5f49bfe588ed6ae89c5a4a4dbfc62885e7b6b77efbd5ef3030444fae6cfcac0e3b9bc52eefbef67681f0269175ce8c992a39e3a1a80f17521af0e77ddcb38990fe9e9dc9d94d793d6b3a99d0f792b4ec92b6fbd97ceeec3def765ec694cb37b7831bd9dd2ed633d4568283e4f4268d203db1b07a7d592c949abbd9d574106479c24c9a277d92d62717c7cfb4cc2680748baa372869eb42b8b567b3b0fe71e8c69b5b7f370ae44ea907eb0fb94d0181c4ef97479951b85bb818bc6e2c33889b59eeda0e0ae02b0454de282d739e9cc3967940db80197fbbdf77e5c4bb7acbf3e3bb1f3244bb9a5bd6914f1bdf21e50a01015014324b4d62b70733863269260a4e52efeaa113d512e22caf927d7913396e39561188f1ce65ab58714b68ba8042b88c79f8cc718d0b5dea476e7ee76d79bd5c86d4046496827cab6253c3255a13c74a3d78eb4a36ccb4935235d0b0414545bad6cac8a5666c12ae267e0f36767a0509116a22db33c42011b9af9078ff907048572cc0ee1263ce231671b986d19cc42b00ce271cc3f3f3976ab629353067224173d74252a302a302ab19b8dc0ce638e0307078b39ad7aab4badca544550c8916c2ee261156b65e3d63b6c937d92c453c44ab152eaad8ab731db6c0dc5f1267a52b67904361c13a5da51cb907952c5b08a55fcb61c29540ae53989dc9d37e1439e8433912385d749e94cb2ecb6e76d8c77ce1b4bbc3de9ed4eca4e66ec75b2fe5ff1cfb363f79c09970482622ebaf65a30dac711de22fab2c740a11c2cb453ede28c86daa97dbb977dec61ad5c43f8ee3d66b7cc32573aa57c9cc77aa48aa9a6fcac8693f7c6ab95a7350652fbd998ac732f9855182567ccf2d0bfa5fffffb4ff15adebf8bd77e7605f0f21f7bd9833fb4e5a3782b5e8b9af8ffafe567afe5673ffbd9cf7ea6aa94525aa9c3ea1e5737ea641bb91aa5d862dbc571ec75d7c22a7d556bebbddbde6aeb0c5fd24f778f523a750dd3523a3117df3280e3340147e82b29984263dcb90f691fa2e3323da42f48458cb39ce73f2e64f55f7680058e05ce011c1afef76ae5f20ee9013ac01877332681a827b84f7983d688618089ac133f83fa20209017b287fc007b880f110204489292780be241683478e482fb7b1ec3dffd76930f6bfbe1eb6deded94f7a13cff6ffbe73d0d9dc78f966a40b6a7a367f246e14b7918d0edcb6393fc2790dcc83fbf5fc68f058605862586bf2deace2ed9fc60cd9fc9009e48962469d4d79cf72609e3e8c5a3ffdb8f7bce3da738c5294e71da88b02b10814c193b3c4a672b95620fb5936e5be9c45274b7a322efe9136b1f5d34c8747e533d6fc7b9944e7a3781f05101054ebb708427038ee984eb601ec29d87498f139ed0c37b2f8feee2d66da5d33d084ce7982b333c4342a11846ccf5046472ca235b7e4c28d25f0ea3cd7892acb8cd80b470f10226cc6c369bcd563fc7b5d7a6a1a55ce284ce117a1d05b8241cee225162a495d4749d6cf8a7338dc89746e6d44952800b8364fb1429622dadd283d62f0e944334af2d21a3484e101667ff79bcbd3d6280524de0b92d89b74dddd3d27a0188a21d26c58e233d9df745dcd5e2b4f875ef247c4cb17b57aaf79e58506ae50f1b03885cd96d57d69acba168ce26130fdafcebc9e9ffffffff1fc9cb6d7c3a012fa58efdffffff7f39ebde3743b30a827336bf8b555ae90a0e837b0dbe034bfe659aef927b091e774771d1b4645d978be7e6e63a787df0243f634b1bbef4a54fa2863e42a56de222c165e3dcb079ddb59c48ab79b62ebc36942fab6d88061bd2613087c9308e59534f18cee2e80953c65f649cc68c624219db03f5a1be219c2b31438f5152ff812d4a6a9609a5a91e273e50bc4e809cb1cb9c591f968fc32404fc1e0d3b5a7ca1650155b4fc823dec0500c5bc4fedf8b6ddb7f35ed4ad160e4e776d00ffe3b908a1f9ef62e435a626d761800ea3262ce670d61359d2363a611130d7d2213948dbc66e95d51ad2c51dfb286b5449e2e186b75199edb9e5953b16801bf47c0348ddf456ca92d3c707fa314fe6cbbc1d328ab52f5a3b8ee36853d54409bd18c771caec8d1e8e32629b948ebfc41303612027af8c67ea8dd4fb51eb6a1c6f1b7756ddbda78cefd23304025bbe9c515a2d9cb7cdd554ae9f65ee26ad966efa3429b7db49e577ff7f7ffff7febbc7f87add75a0071fe8654a4040404131d08b8e5c74424a9a491fbe92df9846174357ea429b1909813322a98445e9b128fd92bf7274629bd3995384b9c13859f151cc9c65fa6365d173ce0dc5fd19fdff9f3ded6e7bb4f434d083d0f01ced1b04de552444c2c93152a9d7ec83b47695d64ab37a9a49f711f530f4a3ad335be00b5ce2447f0a8bfee8e734fab088d6c56b3cd99fea963ea178f2f1dbd26e9ad7566785144b8825c492e4ffbabfa1a86ebd79692ace7adfd0786ee9bc5354eebdbb2781c75c2205654d96b4560433a22c151c8921f174c024092327f7076d46125dcae07a740f02ded343398eeb111f0ed7d311ca1cb111464f4e6b8a140104a815e1be47c414d85e20afb7a0acf68c11b61718c19f7b7c965c81598fb7a3f0035c76f1608c531b88872df6ba6bb1d7dd4bb7b80ca831ee4a5d06c7c1671cc771f401b90041f0e2dcecdabd17bce0fd31db228bf6b6fd2adc7248d2bb7b90427fe814926ddbaaa645394e28e010acf67a6a629a4b36a7ba7463ba551a28a3b727b77a53c52ad62d5f5b1c53ab58cbd46dc7e442c6869546bbd12a6572cbdd74f04ac1a1196da6dd462fada6e7cfcfcf953f2f93e9149c0cf757ebf70be6c09eafbeddea928b95da48d141978141e04d76bbf9e8e46037f3c3c17b44fa0d8a0fe7b441d0c7eae76b6635b4bd1abd3d69115acdfda594524a99dffd0aedaf3ba3b55eadf656c2f82df6580e5fbe80de0619394f58bdd2743ff1c1d8df2968422204858912255c68245996e4dce1487e2890436724ecd54c411c7a825e77ff02291f7037374284d4d47c0ccc51bb3bf46dbb0ad2407606e1a50631ae8337cbbacafa79bda37198c75cf6d12973b4d632668950b020e749a77c2ee54dc89813299d8057a49419e5c53c58cc65f275dcc3711c7d944eb0a33e3f7929833c2fa376b6c9744c6bacf1d63868fcf4e443a652e9ad5ff03827257c1d148c5ac6fea59e4f12e86f3f08a5a4958fa5fc85c7e3e1a917b0a7e252a9fcb2cc799ebe39a352a83d9381686e4795427d2ad48ca6cdfe6d7efb360a85b2f921f9d9fce71f085eeca0a40c253b10be6c376822d671c4287985ca623119908cc56410302c2e73228b5cc65cf22063322663eed5a94f9732a61abd1f67e08c33ce3a03489f2d4687f1ab850b762b3e8457f118668d46aa0b558fb5e0a3020bdce833c4b1715a3b5b1eac6d82bb6bb1d75dfb615afe840f1f58a9de31ac4861258f31b670f1eeee3895baababa594328552556b512a952aa53b9cbfeffb54d9eb541ef6545e37a3ab45a52eea82243da4941204673640d252be7cf9f2e5cb3967cf15ad58452acace755dd6555dd43567b60c0f7baed8c7c33b95da38d36873d6f838ea3a1b1ba0a3716987489d8a4637a1510500408a46b55aa9ba1d40b701a0e9c04ec841076976e747de114dd8011d755dd72ded27ae566454e435233fd4d1f850759bd6a269aab13576d3f85075401d50d77540413fb4042c63011e0c22640ff92144ca1d444a17c081d08fd5c02371c9e9c9631e343fcfe7e7a17c7edee775d6f9659a718da7b344a5944b4d863ef6e0ffffbfdcb71f5f7e48bda934e51235a16ff679535e79baf284450a07d286facb399d66eb0f04a181cc8600f959fef02cc5427d9e8ebe692183080a2f7308902766f2bb7babe9aea7ac657840c5ca75bff7de7befbdd7ddc3de75d9b5975e6beddc73cea97263086e8bd9dbb5f70e0a9de7566ec7e7adee8561f8c3c600220f78db48052f19ccb8c208c9cd680e877b9a0082d014b889a2c70c2e45d29b3ed88703922d78c916f8f312317a2e69434f24ea5f240e8fdcf76a596386664032a96ce8fa59dbfa92b9c924e5ee2996014c3ea78c47afbb5dcb721c9c295fdfe71b66c529ca71a9a2f4526fb536ab5556abe138e7a64935acb56aab6375a2379d3c9d35675236703e3e1faa199dfabe0d841537c621456654e1f2fd7d727ea86f66940d965712aa6ec93da5d626678fe5605702a52ee5fc3e9494f3c39f0aa948cf902ed59dd17a95da28d7e7925f9010e82ee57f60f7e6107a9a78ad47323062a5378dd3dbeebe6fd3fafddff9b9923fa6cc51086c6ae2902e6809e979db5d163d9566d28f9122f464cdf08895594ff75ead57abbd7170e41c92403772239185ec8d665d868aa4d30bd982946a373873efd54affeca6a4b941eecdc513779e7cc242889c745cee54efa51449ca29a79c72cae94de95dfdf78ece690b9342a03098c03cf1450d310d357ce872348517a0b8339926d30cbf6973a06903f3413f58099365ba12d39d98649e1574853491177917c77e2fa5775e4e67aa69e6a44e739a0739103d8089394e387c4ca1b9fa45afa19b1e7e9ad1cee27cef71e203a5fa63afdb4ff3f9e71f27ce8c4595537a4635036a30057e200acc604bdecf1e732a424e9445263915d4104eb4cebb0b1ae088ed7c1b02253829a78de720eebc8cbdec535e1bfa537e2a6f142a83f71ba03b5eae8020cd3bbf52b2d7b623468ccc5aadd5a9b7de7af79560fd1b2429f5ccd37223b66e9b84d2dda2dddd0ed6af4068cd713cb98af03cde87da527a9dd6c6eb8c30926e8bdd5d6d31e86aa5744e29fffd07e6f91ab09bc31b8bf12cc618e78dd3ea648eab08138ed33399427d197b5fbb77b5023fe865435fbb481d8e8babddab57fb977ee96defe56befe56b5ffb5aada602677476e0a9ab57ff1dcca053feaa326d953e411756ad99e3386e4cb5536ac49a3328a5948e36533b9de8537d55d8cc957c993bb51a9c5bb9569b1f35e869a3e40a3d37e71f6a6e29e78762514a1310e7f46dbd7aefb4a353ad2d3aa55537667d9673529a53d3fdf744b4e32fb9ff1c511bd9fe1f639f5bfc9a2d4c32aac0f3b00d954aa17440edd1785e4c7f4979ed77fb6365d6ea620fa332f650a82f63cf1558c23376cf3bbf6ebd3a8e58268c387a1292126655d10f845a2f31fd93066374b4858ec669b9adee3b3cb85c44881860808dcdb6ac2a453d53831da1848ebf3d3557919ba1ac24ae9c7c03083366000c0e85c3e180280a025118a98a957b90601dea49f137fb16eb62993d985359978c9f7561c884ba0ffdfe28ecc41e0f706580e32f74896b8def30471927d4af83b6ae792a5c36a04bb28cfdf94b1ef7245c49860fb3bcb56eaa1bd765312870762d8192cbb13ad19e7284fbd23cf86959d9593b7c614c60386ce8a51f229d8f5f4b034fa68d0cf0a495648373850e5409bd57cecf134fa0285d4b06f9df65d84b94aa3540adb0b320d83ccd6b657a97f00bbe510ba54721db9120c6b8e65cdede0b5ba05dba9b3380f769e4af105d0016447a9afa966370c2b612ed3ddc5daf1f4c60fc165ac6879122140cd0544561e332a4996d32edee65dc9a623c136d6c854365b2f29566866dd13ec6bcd0059060bc74570b00d72742fe635e50177dc6687d2814412f8ce5e20531148904891d37f96bf4524e35e14db38d6811ab6c4bc35ee6556d2458a3046415bc3d4e864b635a4ade0786c51ce845acc8650a0373d19a1caf007af9308bac60b7facb0faa725280c7082aacf415a82708167d5dc32aac0f661e3cbad0458b4950ede970f0db84af760539e120869b009acba1501829b787a7b462e3fe4df89243c0afecdd654ccf0354d12970d04883b3d7e35cd6780e5f161db62fba1b97def9242b3c02a52d329ce932818afe5539bad477a137617ffa6abc06c9dbc866ae202db4417c6959485c22e71b6c2019791d9df89baf1d0a11ec61312de312a9c9753319d15ac335bfb5865ac6f634d85a8fb273358e9baf9e1bdedba1d440cdf80fa77a3015b7b8bc287518638e8df57d23ceeb27f1d28ad853841552279700bcbf40bcbdb42612e7292f6e960f7d92d3ba976f8438f7eeea0e028b36c7133ee64247d9d1a056c8c48e60fdcd555985fd9457073e9079753520e8f3b99603b070fc55cbeb8e4607a79bbd2a2f71a6f7933ed36a795d54b496d72d1127306b79e9bf54adace5451dcee22ed6f2ba83c7ec5b1524f2aeed29e56a7ecdaf23e3a5f83ce86a7d1e3c567c1d12d9f6e720c755c2071e33e22e4bb5465bf23cf16c0abbd78d6d055ebae536be3178793e4272dd0b67d0a08e0b1e652a70d4810fac407cfdc729ac88e6667f4e010ff1097c6065e30cec68740362713c0c55916b3f05ed8037e1037186d0223828d0e3f14d4f53859bfc3a117a5c2fc4decb066360e18f21fcc3f355d872b8e1869b6d75d5817847609e64d451a2f5aa75697dc1362676f8f7d92b19d7e2be769f4bcb0219907bc89127b9d1a812e73e7fbb20a91479e32acde764cbda1b54294924b221beb1808fae44a0fd4ec78da80d705cd339334e629d77f95fe9cf4b7b1f8e83c933aaafe02fa8dc946662592f6e4f1439aca88ef502c72d734a7be6d7a1f923320b6073ece1782c2d824d171d25872d5aef6e5f7e38b5f6049dc83bc5ea139484ea78638c2257be37eef5f1a900b7d90c9a496f3896f41378ca9b3b915aae7bb906d6360215e0e386fbc84e97761d7ba3d6d9de3121ba41441c0146f944702e375a23fdc5318e060a21443d24f576535a85821c1624d5a2a85e7412501a5152da5243a10f18a9fdcd31f51ec6ee819411383e8615bcdde630b86b2f15147723ae8c9ea48e3bb22fcbc7302c7c9cdde582b4ecadf0651412e87566af8afceca8957154c7e1748ae6ede797934230ad4625a65f4ff87c478a73c986d1185a42e8a9417fe1d071c7835bbd1bba0c049cc5faebede06d3748a6badcb49fab43d4e834e9a1361db1311578d276abf267e239f8f544264dcb8d1fb311ead55999f1119870dff41508aad4616c6d2484d12e5c53c7ccec0809cf6581a36ba153c00f4e29c18d64a623131b0d13756a8516c381dc67d9fab9b56e880c760fbe6e66865ecfcc4acb90bada39aca28016005b8b9e40ff7a8277f09c416ee33b4e391163440880d7fd354b6a55b3f657879e994bca1584f750ae4cea35a7fc0c66e5457593205ba29ce0c091da8459d3310e72ad3c2d06d75aa91743c59caaebfff09c168c79ef603d31ccb74eeaed13ccae9ff4ce476444013029117536514e25047c2ecaea6b133ddae89b18834999243b1f8092907fe3ece7dce05c286b8233ed16f83a81c2f3729011f29dd24ac13bd7534bdaa97488abf649df9714db51ab408e7a84a87376575bf450f5ec024500c02c03a5ee8417b81df3da73a00b8dd019f1ce743e264dfe487f133e73ff63eb041f9ed24a5f109c5ee183db0581d89a195cda2270f76c792664a14378f11463ad3bd7d58a9178aa8e083de085ae3c1440b14ae54701e413709615cb4a0e3deec8bef69d265b9283fb8b36834a02c12a6e5796881ddfe433749379db83a8310725fe440bf41a3a9c29ac8057a08e646803e2e464042cf271bc32a5d66034220065531cb36bdb33d42a8c72327732270af86658066572e422368bfaa723e821f008f752bbc05b088676f9432e102551a8268ad4bced13af0aa91e3bffdfe314256e62de9b1088ef2b52fde8e8e1cfe6e648c7cb8394237dfef497140264f5b9e181e0b22e4ab73de4d16010991897a67481f056f2bd71d1142b267d201f0ac2227fc00814eba20e10872d8342e8478d5be382bd474c173fd9b999e69b643027e6e7c16a55ca561dc4719f5a6f83f122faed8063397d681bcc4361facbfea5accf440ede5181671afecb9c03c3cb60b5b0bf333f1a6a4a00e1a5969cd7bc36f2f9c2a272145df797c0b484296ac582bd44102c588b05e74016c41d18d047be41e531da08e8f2151e8c908868e9a7275ad5a4c4209410bf51add9e8ec32e6ae2713f9ecd509a2b6e8da08fa2fe8f1e85ecf425a368448dc03c6c24602d210ea0ed5472a2b3b14d4d59abc6641c77e22ac7b3ef8c59b7156b02e0afea3fabd05edd49cda1de33ce2db319ef46863a6d05c01e18c697d57fbeb81e4b93fbe8cb1a9e8eca1cbc63094461362d543301e77b73378e28ef2463f7ff3500ba19341d268617d5c36bb0e8917a931539c64b54b5f4e8ac0f0ff7a35db3203448e69a4d919063434deeff00483bf0811ca70b2fe657d2dca1482a55e2512611414401c1d5207734bde42f858c0295cfdd8eb5d733f779af5d378e0f762a9b203fe4a09e77c8faba06cd1c835f1bd8b1846b724c597fa02ff08de744686f706f3577b10f6dc3e67cb55f22be597d0ab0d5b6cefa1a8739369219df73b5314cc66c9330a9c04094a13a015da8a334b1c2e57618415d594e875c5d0ee01ec3e38080d31eb28518dbc901ba1a29f08b0fe30ae6a05af9b16d688ee0c14915d867fb341e8b31859ba392fd20fb3f730131224b0894534f4e168af919985ed0b2a169f7be0e63e46acddba5f3560b131fd9abe8c12f847e1900e5b50a32b163033791178321408299361927cb84b8c8063a599e8c00686df06eb1ae400cc1990bb49a54eba0c0bd681f14cacc0a88440d141dff6ad1b959162893529ee492b05b45fe3234dae3bf1e405e205739071f62841958a422899d19b82bacf5e3347ce618cfe2e1f7b638f8f7f92103d7e6f29fed77157e93b0c020f6d0a1bc5163f16831a055798fd54a2a3d86ba0733c3caedd6adb94dcc6c90f5efa017e98b1ee7b4233560a38adb919cb92d1ee49233265d5313c0fc1d298bb940e0addeb35498bfaea955a40ec15505b19ee6cdbf6036563506a093a5e72e887830ab4a51cfd20bcacc323e9077e7c08536fc51d7e6d799d1e81b54a4687cdac0fec50f9bafc7d726dae01a68034e5e0ee8d13e8716df31bbd737f869f0862a03133ddf9e7ff7a262574ccfe1a5474ce3530211aef87cbdad0eeb8fdf176b727ea1a3aef2e37b0099a73cf95716b2dea94fe647ac17f533e498648cd6a1a8f1dee62fb76a0223b2532833b36a5dbef64296bb9e644dce8dd7b06ffd2321d2e22fbfba6481fce8120f6a2279f2188423a618e33786f72372a822e7b9cfdd844bf110e1c5fadd71f022595bef6b4ac837d639b4ffb9d295beedd5e577550f4f59a19c8a58c6e9f1fa7145a6d5ecafe83998933f58ac697b48a9e3322546e7c4213223ff23183bc0875e0755d03f01ca91696617645a4ab215221944f7464dd5a01f78c504924f39f620356c5a1386bd6b00eb63a7443ef70bc68073ec1e1e1d6aa0a2d57d57ea14507ef3a1527ac2df3e7a6cb7aea89f75a20ead902d4745be040686a4855547efc53f50f6be7ee065e305e5e71f2e4c98b9747ca5ffbd7399783ac99314d53f181acc4f861a92438108fac64f0c6da7d93911c0c4d157b58610366ff36a2319da56cc20f2b6012c804710018b74810a1fd20e4b29a43b06b03d299c664b3bd72e10c2fda49612e31fb7e07bc6b64fe015ca9e4f6d4b3b310965f0873328461f9e6c719e6de36151c514e342c4fdf468c39cd7528e2b33435744fb7a94c00e132cf8ecf6a2e5202dab3b038d30349d1febe06069a5503223937a3320a240ca6744069cfb45d51ab4d308f834c74807ce78b8c8a9d31b6d13baa7385707b8650fa4f8e5275108200ac649ee668a5617a3bc4b5bc1034038445b8f79c1b6f2aaa3fc7a7609604829be8c48ac6c2ec51434500388d0a43ca5f4580b9e70b326685f0643c4bd069d0e1418790542a4143459b72868a36d380d10f1d027874f000d22180d3c11bb74b14fe5d1e9b0fe918adf00f2b509ea009053adc77f8c30d2ae817eeb829c033bd0fd0e4699254e20aef168a3fb8c10c3c648d890bcd5622d272e6165bf0bb31e1c708828184028021a2ed5811d2e059db5f5b43c39dcda0fbb871b7867bc4c38a063d9fc50201ae657ee39953eb9f69229c781eef655facad1a5b086e331d8e9d44b105855b2724ddb527f7da89fc5fecc57ba65b79ba6db3cfdbb3f43851af706b2396cce338244d7558e38c82365cf51e826e21ccb8fa13bf3b54f8cdcb465ddde211bfc9aacaebc49df66b3ed50eac0720cbf01884d9e185c606481df5b26bcb3090a78fd0f3b451115fdc482a292d849584cf0744231304f7903f2d28806586e7df96b34d26aea62b7bf0d5b7fdd5bded318749a50257e957f802e223c1d56b84092423a36bab63d792c34a7a7518ccb7538657e2785cc7dd5b78341f1e5d6522734f6bb14c6f5da1ecd5c1172303868a7717af87d4b07f2290e4fb7622da8c2ef19b7422c0002fe80975866bac4f688eb2ee6087938bda5c1ff28a087ba860e476bcae9421032fdf5675241fbd92462370757138627cfefe1c3eb94f802ac1d50633280891439bab77b8eac440442e5076137239312149d218af9f89674016d7b29d0544d3f3a6fe3fc9ac101aedd06535cf9ae8a4164bcd5cf141fadc6ecb494e25fa987f06a9062e699c822d6b4b3134f869a141bc5c75b5c48dd96a2cc8027a15d0903d94b4554af54a426c7f0be8506eb69dd2bd795961959ff1b6f21322be6b3a166babcde1dbe1eb8717348cbb0a5a6b29051781184ca5e4ad2f37d2a9c558eefbf5bd0b38bb024d41f2a8f646375a1f0866d9fd36e1e7acfceca6f3d6590b1d9cf8e2566b338334724d717a005b885a065f246be8f4d2856d4d008021e4bf70e45f68d6e6064628963adc586444a7462058b4a526c3a6924458beed1319cedc0778b231435155fa11cf0d7ffff8b7bcaaf2685baa7f80d7217fcf4e1002fec1e748cff1f2f0d0cb40d7c61f78acd6922df70dab6d51f11085ebf6a4dab23dd1d539d0ad68dccff19e7f1395bcbd03c80655a0e2bb8e2c10492d5e3b7e0df55541939188b2798bb6836101f329cecf608240eff1462d845a2d04bfb4bc2e3bc757914a991fa6d71d50775be482e508140251d2760097ada7a810da8c0585d90566a4e638a1568c06671539421ddc1e1e951a73938d57239879e621fb6e97b815754477a44454ce010a34b0000734588302e308b490a4ce87bcc31d854af45f497bac455cc7749a9dda0c0946fe177bfe4480f018d5a8098fce9c863ca9a098c1bc7cbe4120bcacbb0a97df411750a5ed1d1160149e048889c35de70a608d2da5910df872da49f2095f4e577a72aeb4031bcf6eb75a19e1017c30a2f877ffec68f352a4bea9d3c83a176284f0b135db50cd98162f0be87062e113a010c6fd88d3482519ff81bf17adcbe3c9ef7147286728d07e77d6ecf7436e8fa8845ff187921fd64096946b7f89dad03a3ee32668577eab2c2400488e4c43926edc6e8ab575d3ed179e11d3e51c45b7766cc9bd2b4b127f9ecc4164f94abd2ba02cf5dcc7a2bd2cfac97c51c0f75e2a8131a8bcbaf4b1cbd82af94ea69b3664e06c2fd8394cd33c879cd7b457a0dd3c1ba1a879f5bfe9e366166621ddb0e8d606411a555c43e132c4f228ea84bfab534688006f649b79d702ec26af86dc40b2c1cc70e70ad269738536a1defb710eee4d3f262492d831535d41604fb53a5c83d8552579d76b27af622d9264425b2f0ff55772cd5eeb7555ca54bbcbb31038cb1e4c133b972d38f5da0b6ff64e59017122ddc19b742cf0690c15d0d538c95217209295950a5d96b345ad62d1172f1b0e2d9b99651ba73666aca3a813a3d7fb25f19b0610f89482f495ac0cff1a5d922532227c4a1a177918e18eb02b81992ba59e565d224387fec2e882e26362dc40c6650e212763a4d6e4da64a66a1ef5d8fe83d5e9df256223849fd254dc352cff6b38d00ba474c0e18e7384eac3d79ab915c589cd533d56329ad4abe25740e3a70569a46e849388335697c9322c53157c9078702f7f6e06e18041712380898e5b8c9908ae61cc06936b35099817ab1bf6837f1a8b8846d3d8aaf5980411c12441cdf95ac9d2ecd0001f370b91c8a86ca57adf883398a5f85f98a7c5cba58d5bed71345088bfc72c3ebc05bcb8e9f0b7fb5180431b70e191b19b816881e313f06ccca4cc25bd9771f1fa60762d50c6ad6c3e25524589dd37ed66af9b713b47cf70d27f6adc0cca3e0ccc2c59fe44e9dd2c0c41231ebbb9a93cdd588303ac0d3b05e2d1635b55b999dad69513e7b49898cfc7cf35350c01bd74333f81827d558e28917704734c94de0392a8c79b4286fbc53955b967a7004971f95a24545f33eac79f5764f3d4b56e19b6b919cde0fd1b4b2e251d91565ee395fb9af5d5b0665b13e1afe96d99fac28f874872c4b23542aba56ac5dc9e0bf840b02cf18f2d231dac7148139e98f0aaa01795f7d575cd9cda6b5181d1a0c6e35e27ef0c7345e616fc8386e72235d05f7aaefaf6197bf5309a9b17b141d59611a1370da599be86d4512d96578e63a6b87dabc6d9985c36f3188bd9d75a4a7eb248349a896e501dd75580377b1e82bf92daac5b67fdd10561dd484d05755f272953a80876713238f99e5339cd149ef018ed97cd44782349d12be1ed40036293957d8e8de054897f4aea8a860f64e02e94be2e4e5fe561cb94671b614a0a26624387d4a2862729f094cc660889c3038ccebab4b8b0e14b8b5b4bd9b7d9cc418c72aa362265a4ad6029a22b8447f6ae2df5632cb3e6cb5190a35ace0060bd7ed40831ec332433069fc93d11c39bb917b9fd56960c6a3c634fec0636d6eec9ced4efd40a72172b24ae0a8d000e2904782472a90b09fb2bb7cef045b1f442b8f07248feee2d950fe78d5b8a30dcc1d0178fc0111665c5d6402559d44e7f65bec448cb90b1d4c7fc603c55ce1c5c5bec310b5460259ca68524c2a19c739a519c9d666b44bf2ab4b8ee24557a61ddf29c20741d7ef985eb7bcd228d40de701f717e12f373f8f617daf5c692a6138a52658483693e1d8c385c3356c695a38ac2296e4c3071cdfe82315659dddfb86613f1760742ae8329624ff0a9c1f8366737946d3a3d069ed24d2e239e6329e1d7017de95152d41c53c86bf354154efb5a9684f67422461369bc83a88b907763697344255db8640174c953e9ef964085aae0d2ce019e254514c576a995a8c02d8fdf28ebe44d403c68ca82f25dd2bf546cd58a00f3250f2dc5d6bd00dffe74fd77934a394e2376a77b2d14a6a7e2b26d7453272c80fc85007055985dca5ffc9ed7a52ab3b30154ecb45a054ba287a8729a4baebdaf89f8517e577115341c17570cae792c6fe7c6090f1cb9fbf2dee73cae9e288a161d4906dac6bcb16d81e4527f203935e40667645a827433759de0ba9b88010890164d05e605dbc3c9ae3e6d81bac5426700817acad4d24cbfd526bc727e11a3d682228364ac538120b7e59ef055928b5889fb02e00e63b4c66a8fb19702758d1c68a14631aa3bd8d8cb655ed7504dfba6ea533a2efb791fe89bd93b3c5bdbbe31d79982035ad9eb99fc9c68109a2302a0fe6ca60b333c107a1a2cf80f77da38fd8ebb3b0fdb1d17fbe750857167015227a6f550035b0c54206a57beb6fedab39cf6b849b1dcec874245e63b86942bcbfbd268d964f4bdf06b37981519aac688b6c85acce64d77c4452be1341b94fe2c865cc973d2a19f6558c19feeb24388fe4e261ec31c41bfe89144153f855c12edd9c1802f492e0a706e8c9428f4770f3342807421f378840715f50003480226bf14e5608f4891e24ee5b1b59a20f2b4454145a4503e29a81947a1bf0f2deeeb4929ec87318c470c6107bf9e9453046e3d75b62e0836ceacb5ce1c5d220eb94bdb7e9060fa62eebcd8f6dd67b86475d08cdf7f4e4e8349a56375b04c38c4a43ef181b04ddb623394075a88dabba20bed2be817a07a6cdfafe0920ea9865a4075fc7ec0d9b9f2fe2026fa99a159f4abdcf26b2eec58fa88cd71cea0bb3cb8386765ecaff886db2e257370800e599c16c221c6c248eb1159608dfffca7d4418f8ebce1d9fe7453b181a061120a3ed942b0224e3c6c45b137b0858992bd72de759322c55be9f790943c4f2f1078c6a657eb6ca058ef88b43ffefa5bc42b79c50b8c3e5a5d8df64fee0a85cc0a553683a6aa14353a75735a0916b1d1e7aba9f7aa427c696ddb1cae5d857ee59b223224be317f6cddf47cb8eff5fd1873a8c37552bf3e53d33cad6736a3679d453f2787f056ea39699758c88de50c2e1c60363975cac7ee29abe643fb02d1523bf81bdd3977151b22ee5a2181a817d0f18b7c7fa946b245122768abc6806a43816be9166678b104c145ffec94dbac6e13da158b06fa79865bcfe69864191f20987c5416ea6bfaeac86df96f9811d1b35e9622fb9d298945c35bc476c6938d69a04f6b0ca5d5ca3efda6e06c744de2b32c0daac3725dc802f097ac4cef662ac6c7460ea3b92d0d586935ad444a010ed4476c4a1eb57f1a5c4dd798a8bc197ec46b3d00b26f64f7b2000e2652e1dda95552eb27ad444c1ee7c1ff845bc1ebe55e436cd1104560eae68621522a1d56921fa053505c2d11406bd613fba185f8542140a104e9a1d261abd48a68e1492814181da65187043b76c5abbfdd2193110275f49c302766d5a6010a1b011f6b17224d67acdc82ccab542f8516cb896a293b055e900d93f50c5090ebdaa737226c48449cc0ee05dc603929e40b0af75b5f9bd595e6ee1e5c2a81eddbc6bfbbb5d519e55a3c8e8b03872264ea1a6e97f7bdcb043b941279a8ab7c2103fbc7b5ea91b646de5476ef3f9d533bad97c6799a44f6060136ab88a70e7958d38514f29e8aabcea84b2664a6aca776e6a75d2619e43d360a3024304a87fef2775ce73cdbd361d10c4ae14f5f68403ecc806cca719f7eb598b48fdf0735bc4fab0d890a6bec7afd7c7e5c9274cfba2a5e0db739cdb6801ace3187b43b09c28b63b9a70872b47c9c6107b7e9794051bd480a16c87becaf20b8d243ad38a13d46d75eeaabf479793a6670ab887295c7dcf2e2ff5063b2879a2182a271a8e972436d9e7126d334b41e0edd8b8d5c354e0592e9a696218c7cc009afe27c9167145217aad8db5f36c126cbf2d9c2afbe0fb493b62613ebf8ec92aecfae517e7681b0a6f4ef659d680df80263897a17dc779afcbb429e680d728765751a5892c28f8a68275c06198823d18992479bc9055a55747e1e3332ee4c94f613d4fa037f936ddbcd221be153ffba14c4fca1fa5121d122b671e25ccb523a699623d8536ddf533ed25dec8aa85ad73dfd155c8ae0983fd23b7492e62e25219b6f79a92c0053afb054238cc210e1d63d74e3c5856b89fbd6f655b91687ad5a7def7c6ab1830a0505f26723d7913070f80b2b5ee0d5eaa1a28c52dafe827ebc7adf7a77aafd01e91536db097c757b0ed13d0759cf639199b27d31eb81c86f5a357b8aba08499974d21551e3662a06a6216855d49b7d16a5dd65c05ed32b52e662e2d315dc7244fa3b076c1d979638ea522e69ce62f53c5a5a44f8362d763211744527d5d0130c5ce79d21685854084aa989f60792543a3409e0ee20e8ec04655bb249568a440d1a4cfa30f05a7628c185544b472f9786786ad19138d5232a8cb10bf1c638ae2985576a740663aa96cec1049ecbe186ca525e6c88d0953d05c216069fca81dbf95d2495e452a84ed9d842507bef2b6eb8cab36dd6153f90ffd16ed22ea7a394c66c455cf479eac87afd3b050abd42c925700cf5c0f255c29f014419103606384421b5b0fa41c367707914379c9c3e1e63c4c16961ee0cd3a750f56ca175867b2f044fff955930b0af0ff317d8cc6909ce882563cf0b1f777aac10af3e0be8143a79c3cb9774f7839816b6d82b5a44fc66ab6040badf89743d346d07ea6be00faf856218e48e35a6f9e74e59f65ade1e34c50941776ac9feea86dcab133bfd58222164c917f4138ea2a0d5a04f7b5d7eb7c01c39b6f4ac5a7870367d1d04120711aee6929b3a89dbc8191a0b1a2708cf9eb9b7d3f79b84d15027e90bd57ca797ba3893d3fd9892a673e3719ee83cb38968213a8a868a95518f7b73240c8bb677135ad79ef57dd98d882e447297bc00fa4102c8a57c48e657e5213086c705e39089af948758c09396bbbe898120e02996ba857ebdc30592355a3edc13d984e1817e19a2fb14cef2f96a6fd4f0f8e7c8bb1072b1eef30622f68d67587d10c9293d9d0d10d6aaadf5f4967324e4c3360edd64ac6c756d311f16bc0597613e8bd1b098bcf223023cb04a20cffb9a7d8730a65cf5cd0aa43a31c5a7c8b69c9f71ba071c9b06466f2b4e89335053fb90b2d78e1d6e1b4f9eb89f5c638c22a19f1bd0fa4346ef0bdbfcc477ecd01a48d75849581c9c9d07eda9c1de906b9927a2903b5b31c2b314674569b77d62fb8af7c89b37d0fec9841c26c798e6818beca2d85946b3274d2db423dbe1184f1c893989c62a7e814e20f0b92bcf18dfdc758dc21bd8dbcd84dcdf89313007e6b02681c9f59bcfed792ae05953c9074c5ed15dfe747c0a77d3f4af9595f9487b58e542150cf5e0f606d204076c2e61359850cd58513846caefc80b7d18da0bf5af908581403f615be1e80b1cce00dafe868abd2d3d7c61562cf8570089f1eff48972c631abe8268067c10e5947d12896d6d2c9054fc11772d4aa74d35e0f2aa9d05ebfccfb525e1a3d0aee277e062fa6749aabf9329b3273863441f16ac1842726ad9799a06f25f71e7e07df154a47b5171d6d170e6ce82a3728d883d338c1ca1c6fe32eeffe945ad344895ac2f54d1e99bd867abb8ba5174e1212e4a5413b187be98a917c0ba02a689ee38f27f47b55e02ee0fab0560178719842edbf8b40e19a3557bbcd7f7039c8d7364cf7dd74f65154f01f244620eb89b076400ee22dda4d4d91a0fb76e45853df6c361e20ce2b14bd35e5f015a2d2c083a72629743598ab33fa0f73cabc871fec5c06df4e4d9a914ac65b239057e442320164732ba2916c011760131078c704eb4c23a6aecef085568328b4182f3d75b100fdc2480ccc4760fc84d69db48096768fede5cf87d5fcd8935c5e9abcae4a67a3cb09a73a31bf3bdbaa4e7b7a820ad01ef4b0392d373dc4397c6bcf32d038336b915173264fe5ad54645ee28546005b33cf241e40cedddee2372352d80decc7470c9652aa9314acc9ec6a425e959785276c631b96ff9d13139b11f2d8a25bedef2c2891bac0d475d8d5eeda15fd33072f62ecf2d3917802cb374fa4b0b833760ee48a5a7bca8ad7b14fad2734af90b4e65a3ba5fd7dc60268ad9435d98a57107629fed6f54bd06313f3c1b9749de4e105c61d72cf710feb1838c7850ce15761ee5f1b985037137c046f3eff0f018f17697f437d112c87435ad37d9d52eff857faeed74c49fe6dd4c6b933d30a9e38a3cf25a01aa704f28e7c23fc44f2ca3b8b3c953e57a4e89db8d56da1a7e4aac6ee19bb03546aa9924199df856e1d933d641bc5919330de66c86f8c1b74d9120c3c265bffb2f713d65b24462c6208281f241292326d71d38b5dd9220ac7cf208a42833ef99607b8f63977ebd7afc535c46c3440bb230a528bb3aaee4d910599621d9de0c2d6d5c865c73bb60d1091a3f18e69c82e032d89a8e013141d3c1bddf38eae0f691279b717170af58f4a86a9166af04b5f250e95588943d9a7a24319504587ca315c5d57165aed36c20dd775d50dbec3a21c735d101ef8bbeb9e4547c6b49e99bb63cd10b9aa553a0843ac5f7450bda8866544c4bbd0c617eccfda5957434c9841ea4eb31a989d748e83043fb827289de384443c058615e74d8ea501b0879f93151bf64d5b86ce61ef28f5d3f290d735a8bdb33e2383f017785d1260f5bf23433109e7821a0cb6bcc5909b6110ef15e5ed36cfd36018be900fc35faef78830b3f14dbe68a70340aae45b92b63c65aa3efe2bbe122b6c2e916e736c981b2498dadc3d1a041c564805756d91af516c63c0287d9f5fbef15531c3f863c1bbfd5025966e854673b6275f67e8bf0460dcc51f09ede47aa9813656ad280b75ad9ebf8fe726af112283e16e1d15a744435f78a2e135dcaaf42e7aba80bcdb335246183c017f10200a34a285f2c761a43c5921f78c619c0976ceb02edb1de58cc93e31d858bf0b8e23b1c764d811bcb1b5c093c71c6aaa90bac460e3e49691731b628e1eda16285275070dfbb3708021fa0ba2c65f2ddfe49021d87f2efb1cbd2637c92f7256280210378476b7df2b2081b766c7001a5daaf6de70f6fb2b93396e0ff5eeb43e35f08e83dbb2116965075c370c4d6e6631f8c2f7e79dd1948e5e4d0db92b331510f91ab0ab25f6bb46840632eeef4a5d850d324bae7da01a11258702c15c1cc681b886217ea77177f1ca004b7824e1934e3dd046bc2280c03715889fd3254fbfb27698af42564ecf1aea8067e713edaa900f8c6412034d2fb02f331b2b32e31da55459047cacee3eaad55073af0f8a08c98b078c4dc0575a23e1010d4636d8758bcb7d268bada5fd4ca033013867dfd4984b09626be306c76f7664724fdab697221c611dac8455b469d86226338b7d5921cdc2d0a3543791111055465756e64bcbe0bccf06947a3be2e18ad6f25e82a51a2e06fe018b61b02eef026c9d0f504a27cd8e2198d31101b46425c20d3bac11771d1cabfba489ece34a8c62deae0c13e0ad5529f6343de66a6dd74c2472fcb9d9e722d4f255130056134a1fc34ebfd8099816672b33a30613397965a709cc073c8c53311174977c33d02378375f9058739b810abebe4d62b7f54ba6e71e5c75589cd716f51c4bde126a46edc068d9691359de3787461800274cdc554519fe54729583a7d139338f4333e2ead2e518f19ccccc3b9c41c0c045c353628c2081b22a215d9260eba6c4665d5e728c05f1ec758f8029fdfa0dfcf8d18df7a77c12d6e77535c67f76eaa9bad6f689cd24d594626824fb890475ccb1d1221aa5c150240de813dff6413644420554fb64ad45241d9c0b9281f95b4391a24e3710ef188da8b699e64d075f8ee666470382b030abc21f5ec786f41cf7ddffcb5053c657632b92494cb707fd176bda6e516d0166a115f2725e530c01c120fbbea164cd4d2e2704202597512cb2b353f265a70edc47e21308a9534e3be66c28576348e51cf39947261b4ef31897a9b765a84be64afcd75dd1ea7ae725ab20c2920026a9442f3150daa7977831f0f797514c32a7115cef70d096d6be648accce54c93286e41186269ef5405767314a773d0d044a7ac01c526bd2ff5a31f9b44be3d6771ddb95b4c1586285033e523c44c05f24ceeaee8c220236b696fe4b649efda4c63c0af5e654ac53945ce89442c3c420a4e037c061490dce43e5ea6ead3a62a7ab0eaae7286a9b0a30051015932344e4946272504e48c426d732844df2b0c905025b29e22e2dc519b4d29a1e8a2c45e14dbb36dac1958a66b48fe6f7e323208369283eb70db8da33693dc22087a917a1bd98c57d15e32e0d05caafd35f2fec6212859824bb7fdb05eeb971097ec0a219bf28ed67f31930a6c305436dd95a456a301423efa4a4b4a9a0a9802b04961cd3337121cc92ac7effac50c39cf74cd559904cf6fb3cd8787b990ad51223a9505dbc1049e8558572dad5348b8434d79dc3dcfd2cfe2f1e406c665f24e7118d8d5f07e8fb871a07c642430f04caf4a267e537c52c9b206c34788d14b8acb502c1fa7642c69dcbfdcb0a5b7647e54b2c3a59ba90bf34b682389de069131d5058e7e029deb17cf5b96ef7bd6723bd3c88101e56b5bdb336dead0ab4ce69fc28147c61e2bf8f2df1128998601094206e0a836da72b947dce1331de1105eef4baea8a70106b3e6bc464a5f576e8d25d60c6a399d4cc52e26479f398986336472695d016b85988a9120b85a230059e20af2aa28ccc64be82c852e115df27c94d9f1cced4e67d33dd94ff6edad58b7161e1e940db4a7e3631a05e51c8796bd80985ac9c9f3cea98a99a4b3189883ca1439607d45145ffaf237357aa7b15ac2450ff3848228ddeab20a2236cb7a315016066baa8bf7b356794cb1a864c81d2a490200a5a5dd87476c32a7a4cd034345a33c8e128e21e1b1dd2d0d631c83d99f554ee7b0699f7e19308a44205888a1964efcbc8d83c7cdc457916f51c28832ce98da873b9d904915e42ea053920173ce48fbd6996fdbb6e3aec9b1e13810737b09477a014483ce1d4bd2be878a6c9e35bcac782ffdfe14ee295e62b80f6292b4fe9f7910d5227111fb5f9b8e6420e99b5daeac05611d8471debbffcc3e6ab9b8fa54fd9d0b004d610c39145a7128c85c51dec6cdce99edbc3986f0f51d52fdce56f5900268a36839a24b58502a5319b9854cfa3d701a070b65a0b66850a76f89ea569bfcf4bf1d4c8beb91e10e9d4a704bd57c1153609d965802927f315c3296bfa52af19c676d113dae96b9f581fce1e00a6fa0ee34c11ec07682fe94e06fb07b8ecf64c64cb67dcfe8c04e6b526c744301457c7caf3707d472f072a79df57aea7edd6eba1c19c003449ea48bdbf4948157cda7f39bef3a21a93eb244040e7833164814a8ed731bd8abf27044bf1281e1dc66991d63e734e2bec9fac639609354eea674b0c5f475da45ba940d5f3f14607a3b1e95150620a62390204dc5b3eeb6d1f4bacfa21d39f0220573d42396ab4d7f18928edcd14eb067718e7df903e7c16dcaf6034c628772a245f1f7f64e11ef7067381b1912c208ef1f601e532335d409524db6e61b13ed28ed19407881b6c8bec81bdbb59cd297cec65117b733f748729e1ef8c4123b151d92b294a835b65c587a16c8e479b9b291fbd5b56cc7a0c13627cbace9bf10fc9e70f4718f15a1f8cfa721b905a71501b2c6e3355922a57c10742506be3aef60dbee205cb685cf49b314b1c9bf0b7bfc8f019788c35ffcbeaf902382baa2fc36c587a1cb970acc8f850593c3e96c9ee631b4da1d985668d4e02bd19aefefa718a10c72c86ae78a09ecb1553af7a5e8c5936628c944588e79b48278e812fe84a058f2ade599edb44791a1ca4fb6c2c1691eb14870ba843a0d1f133a85ce1542d814c0d14a23a56c3ef9ae32b4b84f0083b541561e9368362f358713d1de997dce21b0b97a14b7036f9b1722a475fda95ba78bc8f80fb1eb1493fa3b2b757e3ae4c75ece087a0722df328e27e4589cef2f1437482490775badfd8cca5d14459a8c9e4512413c1576f6a4057942198be6f82f728e65bbecf74a8d5482fbafb34f98665807dad033ee5274930b2e1072c0690ba1b74c5bbc49143ae03dcd1b87bf7551a4a3e17f4cbc9dd4f7b7cc2aaa6ded7f7c3af0751e3236122238135808b3fe77cfcbb320aa19728db6d711946e2472db5ff6c19643dc3ac14f8730c4a09d33269fb763c0495736383dd344dd30359521ac585c43f26f29c260c276bcf6893adcb9465b9bf399490a7f69833bf78f756462936fb6fb700d0811c404c906fd1500a5124e04b6d482e9d2e8ea1595e84f2783ada08c1536163c6bf093a11a1164f7dd277aa0db60273417aced0c9acbdd30ca45c65aa95ab9554adacc605de52b2c414d97ab0b83c8677a04a2f27d04200cd35fbe49ed955fe37e70387d6b3a5fab2dbc29d6ec364c91ca2668863320dbb4337d6fe89c8144e925b8504fb423b5e2ab40b6f2d45979ee071d3f1ad784ba7576a48bb88a90ea4d4d92a53e450a1c94a8398f72ca3b47f493dd06465aa9819aea0fa2cf8838249977ae7084c1f1eb89ae7b2eb9980e89a2f72d3c7005137a53fcf264b5e969937fde1e10fb4e59f7de9edc83a1ab0e1372ab86a0ee84c185d7d9ef1f0a2be95c4b0fb3c7a6669f4dbd2ce5d418cd60dd69c56cc58851c2144ddfc803eb090bc95facf206dd3eff911a8377f677e36cc5c2814583906c935dbeb6b827cadd98c519c23ffa66800215ddd07e48ad984769c1e2359bebbca60bd7e19acc58791b0b62c1ed97c87540bf70e1fabdd9bdc31c16037b8a17d5622151522a1784fa5ef04408566fea7a73a48d4ffcf7d8051eceac9c04eb394ee322afa479e9c682d900240398fbfc5e481dde7702e52d52520a1597c08494dc58406bcc7e2446bb84af88a70c433de9e1475af9813f8b09fcf3bf4bd729d3c94df56b95477f7dbb6bd3a2de50fc37fd2513780ee96bdc289d6bc33f1d714bf8357f87b22db3f4aacabeebf9041491868083d4826df6887ba441abb935e209911ad42f3e51ec36dd907ee829406748efefc9081416838af35ab94933f5503ce2f550d09f7169706ff5ae3fca4511f6fc1739e78ee5ceeb6e60deff19f8070478f5de92cea8e995a7a392ff61a32c5cbac4e5ef67863c98cb892f65ebc0b78ddbcbcfaa184cd364c97c1851c1bb895a3bccc88cbc221ccb87fa466c2111c6a3b63952ac78a64b0c3d81c997c17ee80068d3aa447c798a24f7708df1bbdacea3369f37e1bc20ed96892024bcf05b9bca2767c2e463970dcf6f6ccbbcbf900f0a6623e348598d0454e650903659a6e9ea07c039c1e8488d6f5acdce8e6cfb0c302dd8c4db2ff26af9a7a0984b3e670337301c1c8d50b7b99747306a19509757a4a733a8bcb4e3648f674d1b14eb639681b5a378a85f34e44218189f161181a346f76459f36db4da1ae4abd79c2a9cce17a3e0054829313bc9be3d68332e9c84a531c2c918e03fdb0ec88fde1f0efde9a0ac9e4c27e3a633dc9ad471984b4c949b1f1508a8f22495cb511a74fc5f28cd29bed2b27d7d5fcb5d28aabd7bb80de3228cf9827ed3615f60d6f4dc6faf5fde48c1b6ac8b00b029a6f279c97a62e08fac1ab00e2c255a20215ff4cf8f91cb093e0d3a19823cf26f2b8adc5b6285eb5d1878bf8d9073c51d4c3c758d02abd471320a7708575460b70c0c95d0d38988f2a610cc15b3a32491432494727f132fb6a2704f44c288fd88fc2f521e6ac2b0b7af1ae960f7c301b885a60181b080b7bb6c76b8f6940286f2138eea00c02ec3ad120d2539d9e3891273d713a17e3f0c2dd85095d0b30ad4c97d980f489e6d2bb67b06f0d3f325deb7f9c35b72b578c3b8e2ad61122d56202214f028255c2abf7a62092cca94d4b45333513005f8440ab45a6cf6cf3ab67b66a0b4c22908fd268578e73793f7f56207ad4a3fe72ff61dfdd19c0f7bb6a2cacc6b3e4259e787e8bc87b34ada5d7caf7229546a3d1f1677ce78f1182235a706483496c8cf07c189901dc090eb8f55bba85d59287118d2aa500e1dd0c349654e9725568ae03eeb2c7a311e4ca4aef64760dda5c6c0d4d55485802692e758757958dfdf7d4970d97ccd1de390e6a4efb24f23d2d74776ecbd8deb6cb8fecf2b62426ff6df295fb971f8be1902556dd0a4ba831bb88c415261d003b9848a0e213428d5447d0eb42a97cd4140c1da06924322bb2bc07ec58002ab69f46cb81ed4916e60be22350f74169b943adefc8b9b04acd54313295ad5a95193ee93fabe53d0d9f0abbe1936931e138302d4a1c3e9d053c80ec21c5152c71d9ce74ae83d6f9e0cfd41852cd0ef9cf571ed7461cd41bfe9a8f804e0d7db5cfd057bcf4ed90e99c74c7603142e545fe120ef445c80012c801a864684714bee41b4c9fb7aca5ba1eb65ec3f3044f4abb2a0efaa0c783e8df399e84e20b48ceb3fe8e8676e3439a57c8b1c25020639e6f478f89a45e850599f51cd31a2140205fb526d0c66bc905919aa97812723a8e6d02c1462c86cf49b954d935587ad1d1fb975e7b48d5fa6933ee7dc743798644c137c46b3b3dec6ffd6a580b90ab61c53da5f1d3cdb096784ec6436d85116d7fa7e07ddcfa8150afadd6aefff0ce89e19e1ba8996394ec60fa4f78a9b3ed0fc44c28e877ac89d7004834132cb6ea20f89a42d0bec32e0a34603cdaafd22dee9226a1d85b9b993c54a76c82ca7827729d8b6de413eb1d75652455f054906899d2dd0b8b3d253bc85cb6764ffa4422045a0488e8db49bb4814754a4980f424c2250e0ae55c05befd040915b860533ba0a8bf8e9bc7a6dc72f08072cf2eecfbbc93472a2ad94b51a9504323911051a15e6ee52cd4f2cb9c56f1c4172ec0e9e3419a4f15c9f1d9147f5c8fe6a6d06f3b267b5906a7b2a2684495173256d1534cf690172def553a05b7dc81acb8210fc45b037d4b49e9807c77b6d21ec72f21f6f3c68a94dd58727c2210a1e644dd4a6f4529f25b0736ca2c0c3169f7479bcbab0e0a870a7b07c61f69df7cae2a62bd3fcbffff5a4073800cb4d7e72bcf3904850f37485a4d4a25e09e13ad5e9c185a93250e656d70bdc3b59299676138b861a7929fe8661be8a3311888df01fc959af3220058df6d8385fa8fd0e936d02cedd1b13c2ec7fd7dd3e30e4ad4fe0ffca191ea9f710767818f0514b9110998fcb7d62e6ddd894d38a259f5a5c7195c31969587514a7675bc10e5a819052003fd13136503193a84b91a72b23a3f5c62d36119567c3f1dbeb074b22cdc93ea2a66ad3ab02899bcf55c09358214cba2ec5b5d77584521214feee17cceb8f556a69ab27c771738fcf7119e157d17eb8421b9a5df4d2948fbee05b731e8228141e75822125229fe045df206f452d8066c9b33e89ce0635fd6da0146441045b2d9a5fa96e4a337e5d7d7f06e407aafa8337d09b63f33ac6fed8754c0ab16eccd8af4b32cc41f3004cf89fadaaebaa54a86f4c813753e791ffd77fc22b486f2de969ca5f2306fc2b937a123a256bb34983af6e5a6e228f870f302cfba9ba218e089e6e7ae65637c82f099548ca4169647061097d51509e1130a3164c8214385b4fdc868e98da6ccc44c1ea4814689034d356b0748a05082804e258f8716972d88c9ed19b0baad444620ba25424bc57cadd5de0621e43392f1062c52256dcb0c598ec32bdd680c343b421187cd1a8e5616b331abf8af5851c9975d20399a41a1f97cda85b52a308b6b75b09ce53637a27ffc27e909d309cfea365f68d3e1a92db38c329f5b08998dd800674a7eb2e4c9273f64984e7f5d959385b83a4c238646324f267972c99337649c8d0a28a80e19d8d7685d9080451179d934f881768d14e0cccdddb3466b484525de0a6388a65ab879db459273a31960b20c14d36df2f70fe76d9f875b992b26c3b01a30de510cd8470518f13370059f9186e5a336017ee34ed54f74aa7a479b3088de461b3af61efea736fa3fd3df6ba3f65e750972f220378cbe3942f513c20b273df7d43838a4b605d04652f018e43acf8a688812ec8df23d408d1ef0b8fd1bbf7b3faf5b4426cb8bd152cabfe5019d3b551c0bfe4774c90ebcba6086a95fe868817a733d0f35d5b84f8f16b49633453595ae67650cc0650a4d465300bafa9c76be63145965856c8852b66c50f4d84447aff219b18668da493681ba864662d1da9ed7f3646462431689375495b3d4dce9212790bff113d5792b05c5379eac37add6fbdb5954248c3d7f2256933d390d2930292a5d73f23cef973dd650750a8bc3cc5fc34e586cc53719d6f2766396b3f06ed0b5a71f938746ab26b693e6344d7f3cd070be362199ebd5977a1b1818093561397904ec0edc86e7d61678acaf757a610c389f7331b0e6a26e4286044efe92bd38e37e808e7b7c3616b1423a6a2bb7e1a21d5fc9b1dcdf40d328a2e82b9085740f0e5080d944270aa7270bf8dcf394d80e29b60df4e364301622fd1680c21bbef4b682c985174fcb39d420b54526cd387bdfec1cdff0504e2dd9ebba495602727623c01b16725dd272a58bf55ad224cb7e7bfba746f340087a4ec7c010ec68df938cc1d69ffb141ea683e10a8044a3f7a5a3db172d1dc62ca101abf1512bc16bdf5937d496c5ea175c190619a509a6a0f12bf42770182c8c5a0544fe17fec3745f9f5625e885b8eee807896a8f132a064afb866f61a37761840910c01da2571e0fc240a1bd10bb262e1d8d2cbafaec869957b0a157b720132562f54383fb1f7a654a061f7b7cd273c00e614e84c233017cb7fd82b820739fe81f5afd1061bce2d7bcbbc89a932de3e08e7bf57202a2e102d60de2cb1573ad485a5f6dc1482c238cb7613baa246fce82d5aa084250c7cae1fb1f2c5a62cd5a59113f7107f5cb28efeb63a9f176236a69c438952294f7ba71a53c5567bfbcdbcac472751f056cf71027799bf86d914b7f2b8335e3f1ce20d7ddcbd3e268f8ee9935bc4ecad2bf3f58e45d38cfb4fcb238f99ca7222d5e5af920af6417c17b1bbbbcf96541d58f9ea287c1fc5ce02752e8a2d9a163af1fb73fa8dcf57bdcb907ab7287c763c06ee370ce356c21295545b5c05328c84b3d356e13472220ea42232ea732011235889de71492b6d6038e47e60679f3c9b96c7108f68acc5a46206fe090cd3f9c687c1d3df394954b16a4ac050b005a9707975f145839fd1b1d4e299bd4362cb015279ad36a027181c61ef5dd5c2bc57eb9b23b5744f1abd296d8620eb23009c766d23ccd8e314a8f8af755c1abc4e340bcfbab8b21f31c41a1820625505fd593c6fd88ce5d3a5ece26148984906ddc8800cc9e91dd77970fb6af1b34c72c0e8e20553068840eaabdd3b484ca51edb75c17caf4c35dfab534b0fc69827cc10c7259bfbbf894abdb053ab57e503f90a26f950784f62d38803090f6cb1befc04150f92d7484d7133a677d83c802141c92a157d89bd00c26bbe62c41ede28edc8a85d7708229755ae2073de7fd1662d82569c3b625eab0d2826380f77115bca62cd054b04b08dfeb541aaf5dfd270b3d6564d627d333f339965c2ff88e99791a929d7a6ab2db72006d0a87abff57b6e74d1c084162f4f94ad5d1a7d080caa6f9d128497d7dc41dd032718cf7d90fc7bce8caa72b198e2cd0cd580a458a5a9db4f5ec854859006cb64e50cdc42643f2c111ea7f85e5c869d81b92d87f206ff3dbe4b1d2788c286ba7430eee87c509b34574cde9b59036639527277747b7a7210b91ced69ca580df6ed8edeb6a3e73fb9bab86ac09fc31a8ce74ccda8ac10071cfc89dc98f422fa8e0da56eb7c586a7a19d0a64581a10eabed6b9cf1599a9504e96d6349ad648557e9fd2057c1e671e97426c88a7605831cccc3e3c454fce478b31a7621b181bfab9fd4a455ce21d99c2a50ee330adfc8638c78e412cee5b44b004152c2418120d930568306e70423be06c369b1fd4c60f84f1c411f8c75ec29a1b5352c06cfe71573a7d93c4cc2bf28259a1b1ca459c893720022b20598e9f6d2214f9c43c2ffa84a3b3a26e948b10136c94fec075aff713159a962c3b94c7e1d118e85dc9e03ce2f1d37085b2a760ed1b1e4b9e0b639d7ded6cd0e68980cd99fe8940411be74be47b304ba1e2fa66e4b104ccc474cf03f5fb592bb88389c2b99ac8d45570ec8e4262d2d2335a512fb7112c488716550c4def27a1efd4d044c7ec0220a42cdc97fbaf9b381080d3bec2a5449da3fab828caded274a63d77257dae4b2021de0e8c5de377aec3ab5c9b4be5ebfd3f8bc7a9d40aa085b8634d113a78c1caf73b33c7a9c2479355e280f6463db037cf52201931e0049ad1ea8b6eef9c2a073e301b448ff26c16addd7b97f6e0720cd335d0cf247ca4a7293dc1dc2aba28157e4eccdc8a767febe0ef0585787f160c1f0fdcaca4d2b4c31c924e537932c005f9300c0e99618b9625a0f2fcd2156611c94db1315b7cb2681a30adba95df8767c9457a35d1f0a6aa918fad86bc224a9d9d27e775c9c1e03f07a44a4d91d3a492cbcd1885ea9eab7de2bb3e8b9d76b93685da747dfbcb939fe3415f89588931178e1437580e0627f2f631c82cc7189fe60c6d0c65e69f186231941ce386738ab9c6d4e082f7a73ad0a134da202fc7c5372ee4a2c595bcd090321c6b01a3490551c2977e8c859c1d189aa5f64d718d66cc453d610130091242b2a786e3a160d9f7ebe9213904edfc09ac0681f97fec388d056fe9f86e013f206326a79829c7a560099532c5c6d9b445a3b8a11900529f274514af254be2670f1c62172c07eb0e74f9c372965ec6e2eba2e1494247ee074df59eefe53678d5635c5727492eddf8e6c35a63e30ad08570875e762c8af88a0ab240d06af41f86083098e9233b78a5da6e8755d057d18d447a2b56b7fbc25af2e2912b37fe2e9fbfa8f43d08dc68363207919da24dab0c0b85701ddd1df22026f9ba79243477c8a8e8841f5632e7b928079febd7b9e3b9f839e3b5158f0cec4edc18f0512794a0d229bc33568f261cbc750e33dbc26573b5258b07ce92636b14155317ec4f492cc07549101eac6842a54501812e73dc6edce2659b74e4e8a25d7c9dce411559a984b8d35b5302b9e3b88e7287ff2fb5b1929fd3cf9f1f2c800c291400490c7ec16a8457af92a3982b426aef41f1533cf968329aa7c371121a14d6492d4027c0280028502ebde7647b3eb89da35dda12d4467e1d119cec22d610ce10d210fe152b814da6a215a0bb5846888eebdf70ed110dd43d8a4f50907fe62955e330b65d632166b8f702fbb9230f20762516771e85e50142990806929d6d3f37ae9e860decd6f38e79b5bede46e3a65ab5242fd6eb88356b3a67423557df5d557c9755d57cc52c13d0c439488d4091e92f8808c0d70c458882862077a1040e3d8f1a3c9d4fdab37cded6ad71f8b312da30f34926390956bb1be25b6b68cffc95a281bc563fd5f8f87774936bb5e6bb3b6b7895ac418fd51c4765d4ab145f1fd2b456deaf5523c9b578c31685b67125893b1035c0c392886cb8f4f1f08334596ba64bd5c8b973f3ebcb0562acf43fc69e6a8ecee292c8c390ee30446c8f00304c3a47fa6a30d057d4ca34d3c268bf9f42ba36c96c75fb395bbeaba01f3d3d33c287a31af642b7e8ec0e3f19474916fb8dbcd85f5013d72c848b2bf8ea454f75f2f7f1f7df760c688318e781f4226aab070bacd4f3fad6b031e8fe782c58260ae31506a1455555515492e97cbb56e358c220ec1ef8e220ec1effeec336790aefc634f858c1fcb05bd93a91eee2c8fffb6f45c46f28fffffff8bfeffffef4d2bb356aad2835619603226755996a30d57fc3967d3249fc62b39f3dd8bb118e58948a6a0c051d888788df89038decce0f17114458d95c496ceab073f2649d50921d2f4bb69eece8e686e2ca51245d1e60cc010eddd6ff8022dda44d165975947c507471e8da471e97b14f1e8431e041114d3d43018991aa60ba6899e4089921ac26408fe6bf08696a8075be2daf5e97b53d7711636ea289296145555cdaaab19280ba12f4329f7255575c7ba75b7a54c515b3a350993256a1ec3a4aa3225a9542a0a9b3221f904baab6ed95af64d6f98aba6e755afeea6b9ebedaa47b777d59da6b9f4aa57779bae9aa63955970b93a6699a86b9bddbbbea55d3145c5b2d6d650ad8b26bfbdf7edef6d2b12d2a1ac1ca152da92a5668ca3d30304cb2df7d0cc4c773799e279cc1c93d55c4344dd3c437a4c6e8c6716469f1420886e0a772b83f70f9bb20e8fbdaef4c2a2d72459011245ddc6a50716e5a99a57e6c5cc8828d011d8c48c8d42775c78bba5b556916c89ffe7d191fbf06bd1a4341144441d406ea70e8cbe5ef7e45002c419054892058fa8b8ce54207d54f557f15b462121343108a13a9aaeed7df9131a3e6d7e0ef7def753fe6d5ffff7ff5d5d5df6e3f6651a7d42519ebafe7da7bbf0f66614d88a06467f249822d2e825c0d014d917153dc539a03d9acd4af3c6e4913264ef30fa670e0c1e92574616b844e7324dfe231f80d359494d02b3d9a065768341a8d46a3d1684b5455556934d1aa646df2831153c2614e228ad2d580712ca2c888c99fda0746b2226b3bca37ddfd114604ba201490828a4c20d30cb2b7ab5c1c50caffa62962d281b4bcd634f59caadb914204255dd55c9a26e164dc8c1b19618c719afab7b4da6e794bffa11ec4711cd2921b50b3f72082157e78002b72968cc5234e44c78ea23633d7679b6cae54a9accee66c93aa7cd75fbe9f581c75220645129318c4ef4fde7ba24779cfe69aaee7c4ffb0cee55efc701534b48535f1c3a258ab252109fab64ae3d79e437bc3a0cabac85aa53e76f7768bf314026955dffd5c088f729688bffc5cc734ec7ba04d769d4a5d55f9536aad75ce027ee0f7e9efee768c304234449de750beab6109d110152144c334cc85e12dfc12aaa12e5cc3dd0c5bdc68f6de7b360bedfa5dacc0a8a64edbae966777b2bdb70d36d0864a27fdda709e3ef392b46eb3d96e4d16b5e86a6d3bbd5ab408c96b3deda078bdd5a22bb9ae3bbb5ad4a2bf6dbc000454e4484a88f6620b2544e082e63c2209992d6ac4a0500667248213aa9f2642f0df3281532f2b19a238cff33ccf33fc9dd0bdf8068acad8cfcfc04f211d72188621fe1edfaff2c58b4aa9295d4c45e553a9541f8fa61286a0fed05518a84afe2349909cf9ad2c9d3b2852a6ec035040da12c3e3b33ccff32ccbf3ccad9e7b8abc63526a92cd75103c1e6808fc000c5c5684e3fe25a5b54043b35cf02f1863042bc898b9370541106ca1d7b28e70ad2e347b6f16fea2d408e85bb1edbd691b3c67327009544a3f75cb9cb7b7dd3ae7110db5dd4ed87bef9d7ee9de32a3bdedbaed6a57bbfb6d797beff4fcdfb25dc4ae42020a48b59aaca8b66b457befbdf7de7befbdf7deae22ac1df17f3158f6714c59908123ace6b287ac6cfb6a4d8fcadacc2d23c6712472255264d4b188e3e31b6a52d88180c954c029463350e5d23ec6cb789a29aea891c30768b42d15e78a8c616803434f0c9782ba28618b05921476c278db024a15c6d95c69ad82c1707988ec6fc5b311734bc70a1ebe020b11e7290f63d185ad624908ef7572ba381ccf79f74b36b8922cc97d5a1113068c5fd1e24503ec3b95d72ecf7b36ffbfa74c39dae328caecf61de9a699f3e9e77d2113444d8e3733e49b15cdbaaeabb568beffc7a9c7195b1a66571d14d32a51d4250f913aa22b0e679a16f7ffffbe4f03acb6a779d36fdf5a6b3f96159dd7aba7c7870f21a13061debedd6ff7fffffff3c81676a6c99462fc000d8fb921dc86b65a8959a1668c18c551fc21e3190f0a051544b165e9723ffdc4e50e6cfb29e5ea7b79af7fc6fd19334a3c32915e35fdd6cfe9d38147b31b5050503f36c69654972697f3f074b14e7caec9d2f9cb22db522060080b8f1ece638887870e582c87f5ebfff6f2f81d68b45aed76fb3e2e33fbff0b2c91ff8b92e239521b1d8e60ec53c47d3e1e5010b8a2468e946796a724599c9c3cf1ef001f1f8c7db08fcfbd1be31c3087d458971a5c32cdf755bab2d61c3367a532c5bcd6962a9d238306132a402ee4acdf5dfa5dccc9c9c1c4e238dd3c41611c8bc1605a9ba6cd01592b55498ebb9c4fff9fc892f4a9012e0b0442ce3aa761319b597855aa7259437cc2bb7fe759209480d4563498bb852f5020d4908be9588f6d818f7b2f08f29c9e76231955a63f4b3f723c9806507d9a04d005e0f4ad3d4fb0dd0e280074e4c0c1b35f465a7663b673da38aa41a3816506aa53336d329262dc72beb870384a37696b29e7584c2b55d5e44486080509090204d4dd2728c71a08d0cf0f6badb56bcf136cb7030a009e8e5e8e281c3cfb65a46537663ba78da31a341a5866a03a35d3262329c62de78b0b87a37493b696728ec5b452554d258fec8dde86c810a1202141a26e4cfbc037d6a387096009790fe0d303db01808e1c38785efac68e8d1a3466e8983262e4e8abddbf00042032442848c890206d86b015785f001fb254b56e705c428204d066f7a4fb8c1c4192640993264e889e40892245832954b6916c761ed1b0a0355bd2ed0b4e295dca31a94d4486080509091215959483840c9588dc13586e4fb09002b13b39c08045976df72a9b812a929a21dad3d790967692ae38dd70403e2853b4ebd9d288d9d199b9a18429caacc1c26ed70dc8d0c2ed4a15ba354038f922f5a2c5191e4e2af6bd0f20917df8ee77f5101fb6bfb54f432a85050c0b3b8cd697acfc195c77abbdd9d4d6accd26fdebfbac14471d7525574a6db0f9adb42c72bc3ed6a2374dacad659370f41797c5b97839ae56eb32a9ba9bd7b7a5739c37b9d32dc9958a2cc97b9fe86e93ee36dd7bed4d679df09acc56d4f2029170b8a44d1e7d2329c42144839d90899acaa37158741008c2612403710c42030cc4006294510019649463ba037696e21371e828bfa167047a5c14b47b451b2308f74b048d71aa7f5ddaf7f459cbf9062ffdbc14b42e2c76c66ad6b99031a3b8bc8f19b73db7ab19d3323064ac3a15868c5522c690b13d4f9dc87b65c868118b70aa7a6ed7d24d3fdf21b49d21a3f284a3abb852b40ad734d8b9d66ae9eaed63e833c747044d69e269a1d5c7052da749390b2c13f0d0266458b0cf8e2a4492935ff2b8890c2e487b491ca8d798b71ec4c2c4552aa8f4f5af698a77e0f3bdb9206c4599dc74844393caa400dd3be4b2ba7074e73510969d71b7fa33a2fb521ba4879a17380cc2e24c2683a455a28e1400b574cbd08df9012617e60798ee98f3332dbb85f747a3fd0c12b747237eabc65d70f0be103e3c15677bc56329d4dcd351239c1a817edf1168f89cb59562753948a2bd660c91fcf2627341fb914312f32276aa1d06892a5d0bb3e8f70f7b53ee9c3c994a9e24c45b56c5623ed30436b425fc4cfe317f79b30448f698afe6060383008580e0354291a9e57c1a4d4b1d1245466bea48d98ba215f934167c0f01de3e641a9c572482b8ce75e634997e87be7d2430073edb64a575dfc245e1ce22d5c4ce9dbb4c34758001ca2917423afc96d9f6d739df38105cde0726e06fe1b01a3378ce8f1832094d16160cda972b40e0783898f9b82c189814e3781af76d900ca6bf9026c8dd459ef7e08086e1b5280035f92028a11559598f3945ace7d613d0c3d342fbbb7b5dbcafaaa4eb914f7af0d8cef861f6760bcdc7f22a67fd12883458cae07dc890a37fbf233afb897aaf03830f99c17139430fb7eaf9f73196c0ab9d45c317f8a1d1a19394431d9fc488c95d40f4240f84c829bd86fe971f275f4fd376a8701cd76ba43cd2f921d093b0974ac8b233e577f5b7aa7849aed55358651d050488652793a040d07665d2fb0b1e1e46ca6261393d0884f9d76046a3c5047409399a168f9baa755ca3d785eedfa43e093154b6a19332bad5de667d0d4283b0f224b9af70b1bf35894d974d2f14fe2cc830672609e1771ea68a95fdc1d078224d963a4941d3a34f33603accb5f022e71a3e7918249e07ffddd2592b5794181fb3ccab940f4f558a08d1133883b7f0dfca05689f1683858d7a3d8e33b37c07499dcc66dfa20e21d4752e5acc0b52060236608a38d6d1452537a256b8c92331595790631dbd63195c61e9085bd90873fc62a81df3bf11dd39b57928145dbdfcb8429918557539e06ad7280ca208c2608294fb1d941192844e916d24e90b5b4a86ee34273b74c1debc9bf4bf08f447f110bcf421fd6b3f043a4326454e4b6c565dae46f6e9b2a46f567aa1e8dfbf18f094b7876a17f0fe15bde2c1631d60a46ab2afc1a8c79090a2dc204d71998c1c89fd07efa5525a828165fefd35b19b9b24df25dc12c8a638159f6eb0c1ff91e37d59e4886e5716e87931663fd54d7c4e9bf4fb31ccd223d5c5a831fb547771e670d58117d7a3f43add4791afb4073ab6cdf2cbf4152362976c5bb5b2936b262d9ecd19b48baa2581f9f7fbe6ccf8a86d3d9bf552b8122619743d806f27e1a41c93b8e37159e8e47ed10df8a73ac6089e1c80eb94053b3e0df94ff4156397e90f347931678feb268e3caf1bf0637a167e0359a186ce49f5fdfbf1a7fffb7197a5fafa4ee4978d3ff6bfdf2fae3d4d81b00ca74fd349cca2d13ae9ff7efeaabe8657565993e290558ce11407340e2928e2ef7b7c16c21cd541e9952b23f5fbfecea3c7718c8375784adcf7b336b528916a189677d56cdec5324d3ade2be8a7f4c924505772bc97dd4accadbf7f337a96f62d38befffe94fbaf7b83cde09be906e49a08e7cd39543e953b3d3faccb3792e40b38e6e25235a647c4158d7501fe9ba0e588548606e08f1baaaecbfd5cf65176b0ad5d3ab1cd0815e07f69d76ed7b49956bb6d990cdb649936c36ab33c4146d6b185714e9556acd7f4441f952e92985780d58b8b38567201fe15cb137b635ca7f0cf422f49e75a25f057f624f0d782377367ba5ded56d4eff7b937460772df41ce4b66ddc2e41a34c6c6790e21c712b30357482a3ee037eab9f37f6ec6a2b2fef37939241144fb46815c40b3a8b79aff48e4eb12b8f3c6dcf3e9cde9b45ef3a3082ec4b832e2eaed5c1741bf8d0178ba58d3faf0888d72c8c0a547a96f1665e23709a047789159fd96173b573dc24c539f9345e57dffb4854a78bbda4c6f0607329ebd278e36236b4eb5e3c5d0ab93accf4e82fe0bcca806b61c5c2db8e37ad4b9de87095d4a23c794d49f584eba239950c51c863e33bb687194bc5029a588fbeab23489d5711cd419eb125777c9d80438485230a58afb1cf38d1ad3fb771b635658d15787deba3c944a29b54d224bcb10af11368505e5ad5787061494c646470a9a87599bd5d1bd73931ea1aa8ebe1cb00b77e1ae0a955ae2e6a32579a258920233831fc2f5c582c4597528e56894ac5d6e8c0f91f4c3f10957f7b969a778277bdd17746d3f6ce5bc124901ec443c131c1fcaff0d674862ff04cc56e29e48cba4645eae8d9ae174d5be7c55e137aebc6e948f4a581b7fad02229792aac2868972eaf58c7c10405928ad534cbd3e657a546c4be4b2bd109a69913f4c6ae20132c96798875cdd12f61569a20ee6ab64fdeae7b1c5732a1c3e3baa0d7001372730e8b3d838ac65829f2177e69af0f69d3dc9f81760b03cf1c3425acbbdba39574eaa6ead1c2e973c96d353f1bbf46a7e4c42089a255fe8d90ceaacc22000155f00bfc99872d1d10a0a6165e440fc1b8955ce37e1550e018cbc921b158e329804ba6ae0762605660cc8487f2d487a9495738d9c3750c05832128682d064ad5532a2bec3bcbcd31db67e2da195a375ac388100dfb87123c8865839c975121c94cc689b8a526d0572546ae8ac38f2d8d0d91c1b751d54487505f2089c32c5cebdff8b9d30fcadc8c7d7b78f08ba0e597ab0a8f2f945dcfc335bcf291c562784b60347d5d81f01ca705be5385ef64760fd5ae52a9d3ac5a5fd30b6eff97699df72f9bebd2f2a9d1233866fd7c4b3a1d5bfad076156f947972531a5ccd369a41fdd0f24df30da4737c3176b7fabd197c3475757690760132bf7ab68794a760acf12b508578040fb735e011e38fa3c4512ff7390379942edc0e030586b96b2d115f5f632355826550fe81490cbf71d2d2f66e007bfb1473f640bfd91f2152a64644975b09254a74c61135a0b9621785660a1748d10c0af2513cb150a6661cc01064496a021f251aee64b87fc4d1f1d4251b16ee5cfdb2a7636fe75361185f457f5e0d88ff232aa61c014fb3db4e01bd39c9bae25f2fe57ec48d32498020dc8df194ef09b660468044625d080a4b55fd375ff0413be24b1eba62ac84f6d1dee99a8b4ea1af37a12acbb92d874619f72e06080b0400aa31bdbaf6e532f2963b8b3730fea548081fa0f1b20e27a5ac84136112a84d663f6f01b42194e1375b232266e6bc99243287baffb3285270a42dcdc86a3c69d1b67c09a1ab8661102a17f7ce7971a509916eecb6a3c34958e54248db09f4477bc9b73735256a90c960d5f722f8bf74e5d831cc022e8c1600f60b3ad3459de3c009578e195d10ff1db35c5373584a9bd9e72ccd14e66e129c7ff517eba3ccde5dbde18825329e6018745a0ab1edb16868ecafa43a985cde85b0e3cfffc8f961d5b779907494ba49273b0adc2bffc3b3a903e1c7b20dde13709d25dcd5e952c3399861e0384ad941d9af2b837092ae50dae862fc892f9296501ba77b50dd347b34950224c7929019d252b27449e811c534e9e04bca4bf86834e441b2376549564142ec37b1c54e8764f1b95c0a6ccb66da851c237fb3093d7e33428fa24881cdd44e915b028c6800b769a86ca5f2e40379f7fa2897a14a736f18140fc50b189fe18bb80922bc0060efd31e44a36f7eb9216ad461e539795139aade5485ee4ab859b710b2b19ca76b2ee17d3027fa5f3705978fe9c527195401f6a6d6b12a526e3707881d6ec8b94375f7f1a5915cffa754ce31974471c047469ac3f9ebc7bce509394646982e8bf56e28cec790f1280e0d70532947dec82fa034d6c43a36cbed431c792554f09c91b054262049d445e1301409c3a0d95b2ba581adf028e1b679b6d6729d9d870f8ffa8aebe964ead810786e85f2b4b65a699dad2d9105023f3b59f76cbe458ae64b0c98e226086a262e8125699e5e27500713ee8613f1c3013596dae716ce35e9ae8bbbd23df76bcfa545bb2d691c85068af232623464c6882fe47ede70b32f7dd2807cdcec2d8fe1437dd602454af1f69390a113713e903d45478bbd8aa1a129000074d4a1b2890f02d581ce7ea037225b4cc330a0d886973e3040703e733b60972d3c68c719e94322ec9410b5211a702c313621ca200644b7233f07ba3b7fc42cd6f18ffc30755f2ee73a274bfd1d9a5399745fce5f8363aec5c3dbbdc88a5512d4d240f93ae7b6863f6c264c5f93454d4eb4bfa8d7b2074e9a6fba35ef5372b2b1c06103e5574ea5cffb9f9efa631943d4283f1345de1ace60a5e83cd3c0f039db6d3cfe54c47f6ae279f7fe3e095098372860629cfdf7fe83ee0ae5135526fb6a56b7749100f3b1a6f7793853acd630397006643ef0dd13df179de22bd72bcae14362415e2c729010f8b3806c9389336d4c72f8fcbec0d87856a2337248f964f02fe15905eb17b0fc855b936a0e8c6828db41223e1eb0cabfd4a235e535c8c2e3629e03286f22cea6bca755fa7784b480187fcfcbab6fb209ab9392028e1cb7381cf6f290b28fd29bb144e054cc68aa5560efcbda1509b22ad446da7ec20eaa44de85a498472fb40de5e03e2111aa4a813f328d197a4a94f85046dcaebeac84e1cb82214db951d28f69b0ca423622665d86abce751060586e7fcfa71c3db8abec279fd4fd2f8f630b071f785b7fa47e67c5b689a73adc91a1c72164ceaaa277539119caaff093a28b5f3625cf8a1c6c851d079ebdd2e1ea2a055ca2f5b151a6692b23e839777a0ff5a8c8433c459990c89c5a11717a81c261546a357016824624ed5d95a741609204bd69703176d5fc477aa3ed88d3f7b858f095ffddffbc7fe4b1d1962edae9ed3cb7a2e85a5f77ec5f34deab618ff9b3f30245a6bcba59b2a26b947856802c72ed6c69a0465dde8e9721f460a283bcbb5ae34d3d403b2bb2bde54b47d5879b53fd6448ea4623334e1ec75b3d9c09ebe70103a153bac61c12511b67bda2c941cf92ceefa899038375c8b7b6688e86d831ee2a984ec1e1a4d42d70784e41364860dd112895f84b27080392b3e39b0a3a11290f926a0444b8de77d4210b5bec5ba022c9c7ac2171e180bfebefac458d01d5801a3511a519ae7a4210c21bbafcd130e0ee11d8da2afd096c2e5b541be6577964a4f8c6d77cb6efedb0450344894df3de2fa97780509bff755cd719d709c8de2ef6dd5ed0a7dddec0b6b3ddfed960f1b1eb65a3b636b2f2f4d30721a074aa62d538f6d7141a4cf8d88d855d4da55239ce108bae31afd52fb240a28442c041ca626c0477ad96c6adf0988c639f6258dbac60295fd83ce9bb08f40fcb02b24a9d3445ff894c440f684d4a3e29380a902d9da4846cc94eebbf56c630cc73070c4f0146a1d2fcbae7c47c1e186f70f6bc48c7a1079d7af10a94be88fc0ed6875c4feaa0766a65a79604f9199789690a01396921266cf3eacdbf6666d2e072445b504efe7a650d96f9087a882dace133486a7ef8de002f2fc87ac1a229f835d7e25a79094be4fbe7ea6960fdad364ad9a6a1a61e88d12e6fb91a54430f7eae338c0de64148514916ecc1c6df0cc511a37ebe5cf5e1be23e3dfd6e9cc38c624b1fb418dba175f11931dbb6b5448d0264300ca1e334f828b197e878dcd37758fb6ca335d58c9447790ce61737e135ca9f791de9db8247291934106293bef29dbebf39f2d7a4d7b71f49ec20a29af4e00dc7393b5d330f9a22d75e96e56c22518362ad37fa6223d7f40b55faa239b544fcbd213e149578ee81986f74236c9616ba6f0f0983d696ca2998d869415ed0686b99ddb874f38915e1a3907ca9581620300a2cd58c2b5eac2e9a4e3d387755f2ebcfa7283899e6c2d885d00ace3dec7aeaba930cc4b83bfea2ebf8fa8b5c26f05ff48dbf2af448e397036235f5d5d87e02436852c603798970acbbf8f82a042be0de43fb69b307a167c1b463c8b0296447b9d070e47af2bd466678d1362add1795e8393eb415b7713f461c540b2cd7e7d355bff676dde4c0d60f72e44ad481270190f8e94146645dbfe5b63b78ab02f590185496fc40c50316b2fb1e05447247c7599f1e4836006cf8c4c86430d12e4ee84b3d3c4829a60e47b6cbc7801cf89d226b8be2ea7d285a5bf12bdd7ae3f7612948ff8ecd5f40a7c3682e976c9b266a3c130cac4480e13a926ed258ee2fca725c3ec7e78eb207e5e4d4572b894365094f4b8c4ece28262f16d2bda8f127b6a985938f3f3dfef70aa90c8271a4e99a806fde20ec5a0c110edd2b84a68bfb4e351c2a43927f659a8a57ca9bb62f3a8294d39d7164bd2e675cbe570b9e99be94b7d681ebca5ae7fabd6e76ac9b23379f71fdd8d8c0741d348b58e3aeb250e0e8348908ab5c791d826ddcb5c3987bc3d04772e24769c8e8b0426cb0c860f6b99cf4dce9bfd0271c2ee24bf1c7788ef52180e6afed02a4ff07f78ff98c65de187c19e25bfcf1a53bca77b792282cff075a1f1882eeb78c56795dc415abaeec4bf37138295732782611458795874a292b019e857a6b23af9530d2a1c76bbce04e920942b571129ab860f136c812d4fe60bb0d8b27644fd701e31da6954e7843a69257b62ef130af19a035a42bfbe158a49786c505ff951e5d657fb395336aa618eae50c3be2ddd01d3232d705a977a37b609896c5b808ac6c248a0ad22a6a243fd2b9590390a8206efb7f19fc34ca2e8b7effce75c72fbb36114b0b20f526eaf19e58ce80d95fcd908835099426d1ba54f44dd6d480b869f2ef6f04ec4471931d2382c62eadc4f07b5b67b85e302a411a9f0f9a38b7f1b3bfe4e64f7850702c08da859549da04c1bd071e16f9ca694ac5fb571bda306feb40964616496eec4e647469bd21d361685f17544f47d5cddfb06771121181a088088e454440181161a9848624e833a6e25ba69b262b10d3634d0a323968121ccd0f2a3842864fca5c9ab6195b90a8b580e7120117cd4e53de8f6dd784616e069744f6edd9340deee3f4c462330dae130dfe2ef0e58e2d40c429e7d8b6e78cfedd00f4971f02c015c8766b0bb0f457dc78078e47f4bd1a5e071e8683aaec4d09b8c203fe619cc23c7a52d293d7726ec28de61e71a30942e78ebea549a614252dcd64999e564524b0520d16f06e1f90ad6483f1ce87e66310d2a5db4a40d429a6b1fba2a8641164bd7e8438bba7390f73f689823984b91dc942705e71234901ec6b723f1a04ae85409f4f682d3c822d02a2526c76d1d6b44c27d371900bbc722a8629de6b3eaf6f609ba0b3a2b3180e9c315ea9f138ec07b4f5d3ca458d6956b047866d414bf90909186d67a097969c91802b465f2656f7c2694ca3d85c6dc43e7c0c45dd742e798950704bd05d47b088cf0ad559d37238018d7cf1769d311580ed55fc302f5308af3c9b723fef9455a7a891b56ad9f9f732cf88ac7a7405970b556a08f375bcfdcf7a2a726265f77462651640f698ba0de2dda405d93359482bcd1c32470cdeba1f54ed91eb0d086e1068f1a588d00971e5474a847102249c84e33953b523a71f108a780f24298f5683f8d5a95a778afbd3e0bdddd23e6b5276f6bfeced34400119bcbd9dbb7bbbd1dedbcbc1b717966f462d040aeb0982eab4adcd0e640e21673fbe422254f8b418f1336e60e7d7c7c5bedba2e6acd68bc5565759c4151b499f768422ae1bb300abe0a92e8a47b9f334dc4b5f4ccd3c30ece5270620bb1b8b4b54add8087a8be4028c40796ef7f83ad6eabbd88d22a8cc113414b4b54515ec6e9ac41b7461755bc52c2c7d45dbb466e05f9408da3b3e67faafcd844f132b8282dc43607756f306f45dfd768081770716f24072396460e136c87795c403605da7b6b1bdc2aacdb524e741c10130d025bc7a2f0137a748042de3450a3f55fae1eff5a8cdb96c0c931954fdaca6deb573480462c5b33204e0271746b6136bc49a38cabf90c45ecdc33caf7260641e03841f3ad7e089b04a007d1d8ba352eabe80b9d0ebc06e5e755ebe7d0cba40dbaa5f252b25e34723c6e34bd4e92dff7b6554f9c25287bebbafd64e279656fc2736220fa551fe25c56be26155cba5e322391f041804dd20cbbf971f7d25f612125cfe8d188cf1dc80f4159758ab2dcbb03b7a9eb53dc28be81569407413be875e432a2fa75f48d30032947e29e14b6ff4cb18f8535551fbc51c1ac717126feae6c051f18526d01fdc192173e0c6f2eb0d691f79044eb0f9c6b679d69bcd5a179f94ca27de9d0f3e99bbfde165d32fc02fa7e873fa65c9c24b5b6604d511076b367c6623fcfe7bd411b5044aef17885d23d404ba80276adb6c3270eef403f3ca2eb33029d3609be704ebb1ccb787eb05cacc11f8673a7975c0d8f468c0c96e6c5a894ab1074287182624029914fd326ad452a505469993196688db0ad8df445016c15942d84c89993b5159ccec63e62276b5ac3a06423c823bf22bbf89534a9b3d49aa6506a25bca94d88c03303cd09f9dd9e0cd41a6de6c14ce4f06f4c029b47168f2ee81ce112cd567f3ce7fdf4862db096ef90f3da7162cc00d6634805527340ece1d295a810c623bb86c210ce481378390a30277810173e884a09fd3165c7269c9bbd92e6cdccdfffc7182a21161428e676fc44f09aeebbac09956734354f4b83e4c1ab47f9d0c89543134b0937fad8f3f94635282663f58009a16b48ce1229bbb3564d2d17d5288e9c8805d9a61176d9e26b55d81c7c84c66ec72cb04f513a87c088633ac5309dbedb2f6077a5ca914d79aa2745c55c09e10efe8b8c4d49e18b394c64c6dd99dce6c0752199dff9f97ca904b33ba3d13c99967a430bf4488f806fa02f3c1b71071fccc42815642c43189ec4935d70ce3946d60de5bdcd19dd01962c69aaa2001056a9e9d2486ac6e1e9e3813f334a1f4ec1d58bca51d8b51fa2b0ec2d9479f10f1f0b556134fb550d80a6394da9a9807121b7a87868887f60604e3190b11f78cb69fe848eec4288af95a735a3c963508716d9f874ab79f824910e7a7169607836f5e8c367aadd1334782e4498c2672c55d8bd3677f508c3104b57a978eb9739dd6add498c11eb5617996907a1acfb0c570bd0d86336c230429f24ecbb27cd189cf45bb620e164cb0e31ddba574f49b8a01b6959b1d850977f01f67ffc74d11aeb2fb783710815ec6738b389b701dbb1362fc025c486a1547c548c20083bdb31761639f599645b55a6ecb622a0fe08d2806ed9c94700dbb53fad97b89f3e50fdabef4aa533aac6c857fbdc4ca215f689b78f3e42493f2848385e6ca9291ad42b0115c215abac8608404cc186ddc0d44747be12811145b5950ace59a5f1542f27b889aece46a36a05c4541af6b968291bb414a133b1ae366e84ee234292373112ed9a8c30694fbbcdbf66c54813517aefcbf9c74f84f1e836e02d2ec2877d45f9954286f080898db80a16512d6fd0b8a13b5bccbe3b4ea4220b831481d7e3e8d9351f9501e65d416ad8cfa9a65d484d83425ebe7e85b3650bf2c4d5069b23df6f5c3abf96234e8ce62399549cb71f3048fd672f396e341862ac00fd8b388e5f15c3f34bf93b499f4c6b114ccb9df9127ef0ab984a1e5cc443bdd5436b313078a126b846acf431ee328d81a06f93c55561cf426b3b0045bbd290a05b409c97a8285828dadbd60b7c9498647987a85a25efc6a719ced7234dccc789c6b0183faacdb46d3ebd92c46cd794f6a5c076bb016db344699e46f9bd9db8b2d2ac06c1da6d1013d2437324e520fb7c38e8be3867e1aae272f11a83082c570cfd50531e106b7fdf0d709f509035098e49bedae5a9fe6a8b874c0b509d04678afcc908ff05cabae768b18f2a1be0a858a6b7f8555ca18b3004ae8253b6024c39de206fd0ad7533cec8355826669874fdec565d2cfd1828731278a0ba3bbab616e17705c73d1979a116f35de7697b80a044f3453bccaa4ee7d675c964799668ba9d9e359efeebc53b524fd429115b26be96a4a5e550206272d3f5e971e0d4e0522321ebab95039e820c0158314a2f047640f7e8f28c49431c96a0d79c6789ff18ca91f618930d974f4f37c80e27513d5f09b7327289cbd3fbb1a9861574fbf9cf2931b456214ad08be029d720e5eccb1a6ec3aee509254672a0dd257d782b57819c4b4c69d43951e23908ed14458c79f610f2b94e7ce7e60cd08b1530d84592aeaee8714091132058aaa0a8418a43ecfcc09ee359808097e91d15547f3edba9af74c480770859641c74044e844ddecee471fad336bd6a2f1f16203015b28587e613198bde8fae986c1f072e5d9762df20a2fe647a01dc5a4d33e0db6ec41f629c0b1ff5ee8c7b3ba9255d7752267e17371999d5dd7525dcf068d808588a907ab7f9544bdce20df9637e0d4bceed65f6940f21661b92853abde83030d13261e27a17a6ffc2e4fe6af8bdda569a3514b29e169e52af58dbe17d3da43e55ccfd744d8082d408ccd762d72c2bf5f399168ae87c716b5646be7d48e4a3a2f8a8c5e8bd1de08d57c6a5962071511d3a0483bccc1b6fef5f228ee39e8491eb064f2d2bd236b0e2f59aa79c88822f6b38d348a2de9e53b1d7691ac855be0605006677a52331fdbacd74a33f4dd092dbafbb339d7b8247678f32e180be84d4acad66282014dbf35e9a46cf568042ea3337610b61997c85e54bb7bb0c5f8d60ceecfa4e5e475c8b9d59cba51fe0659bd7e08dc27479415c20017e64e210259cc8ed2fa6acd614fb628a167c0091b7ba427a8fa5e843591a5f10417480ca30893b912e849f4a548b5dfdfe3d081a4abb8c21987e8148f6e2b121fe318a7eb2853e6eaeabc335d4865f1d9b22d49574bb78a57f9d57b02e351c7ed12adb0102b3eb64a4b6e980af64be55bd0405f5d044eacd693d7c35713d0981a1e8d07358d75f1582ae30908261b9e1a1a7079fcb6db7fcea1ba991bcfa5b8bf3197dd7cd3afa0e5e8dddf9256d4bc1b1d54debdb48342de8dca1e7cbc1b7b3fd292776a90e2dd000ab4a7a6d2c0727b78bbe7c623250513bab331d340b1eed0b14adee64b54b93843339208b9ce84c4daea4dd8877e63ab8c7b96e74fb9af93e4456b210e8ef4975264b0e5ba24ba0c3d714aaf9392ee522200757e57186142f2b496b8a12a9ef9b04b987c62f73354a381cc1b6501c4cf03c84d7dc61e7b3438f53f4c866008aac6d75dd1e45de0dd9f3240dbf849b6949f44ec971f695368fd26ec7c5dec77f4ac5d8c601ad23aef3708696ccebd2b0b3d95965c3a7b8cad76c967ac11b7f651b6d9c124d26ab194abf8bbd931fedbea4cf65426e7221010cc672df6bd1c057214fa69a354869d1221621def6a3db5c5607945acfcb6c955f91cecb8a04ad615f238e7a274121f87aeeb46043595062549af90d230d2d9852e83065d2fcd3617f48c53992939762e615012efba15ad8120ea6cc0de6ef5923c3b3df7938d32ef27078b2c84452bf54f1e8708f90f549337d168f760c310ef6beabfdec0d7c1fc243e329ee08cd68208d81abe0a625c5358e2469062a0b156fd096e4f6a2f289ee0f201d9aac8f8d3fce3c4ebc1f2107674b5c169b74f4a46dea21c568fa359f648a58918d5b75ae6e4b794ef5804c74e20dbf4ce4b2d75812cea6466bf3eef53e0b26b0f4113e0b23103bfc32ed2e723021769e02d8b0cd05b36c38d80832ebe20fbbfdfb9dabbe52a6dba3e3fd62ac8b679ea5bf9aefdcd3f29fab22e3554eeaefeaa301a2a64d410ff2e94590cd92b3118403f88c0696db77e51eac795fddfb438a968f68ff18bfc1ffe34c2dda99e5a5b192d3eb0f44d7240a99163167768621e006f8a29ec6f72332a8e494deb66b472c482a0379c9fca6043241762b4ec254e93e0626951da49106cdb96954cee2a59ccb3140b8874818ffa6c65b58f281b806b8b9fbb7172b7c30b22ffd867e28b53a8ced22de447045e068fce94db84e0521c590fd1b9ad5b71db9ba01505540595fb3f1a6561ff6741351438a0259c18a5d55cff219a0328287a65a0095810450a1d102379f9a4cd6c7f7f6f6fd9ac5d3d4115925af2e967dba5b698385e9a1f8e8702bd12dd4b148ad578b1eff137de59978427f853af9e82524cfee1d1f20ff533ff305ff3b2ac48c633c35b5bad94e44f9e2b6095fb0f4dc63ca39ce5f91444cea5cae3283857a95be25714c6c4c904a56abddf96782f90e24d846c0ab299ea05df9d24f071f97c046021647785e904d65b1edeaef1c032325936f77d249cfb4198e1e837f2c9dc8f46546c77d9a58f70dab88b063639829bdefe2d0c063b822278204f6a6f97602ed2ee742f5beaac26ee242ba0946835f7c3b38b84dbee999e5babb51d3105a26f0c4e177364cff6a6602cc9e9840b975fd241ae2c6b853083b4effd787939d367ef916a3198b29ad2c456ce551cab7ee90c9a060d34a9050fda80946ae48285644de57a6c3e724398fe52c068066ec2ea91694b5ea8cb89fb02801de3c45b9cabc2811d111baa3fc0f59ea47e447dc9802381c404eda5ff1ce7482e737f68adf4f6c2f7ea0eff90ac2ee68f16e3d54dba993c6d77aa2710e41e0fba17d51783d526f5ef199cec33b08ac2d157ebe45b6464acfaa068f2b4511e2b34ff6772bf39641aa2b0a97a9db0d6b0dd256439e304349583d33be200add2d0d2dd7330f5e5cf589c1f372c165375381f086e168d915c7c7d13fc461019e650c860f140861a0b00e350f7734d7ab57f60e006dd738e2cb4c2cf67cf0136c7d4a1bb8c5e8b012bd10b4ca7ad5b7e9ec1253de762e1b93ee2d4c5f2c0e33114f13a24ff1b0ba2ab528410bc0db49e7e4c2e90602c584a83b951a4dfd71917f0d726701293101160d5c5b24d767c24dd2ed6f6aee86a7717908228960a761be08b84a67de930813fd86dcfa601d388438f525b6d26df49b7a22aa6424a051227a78953cf7acd879ed8969220903941387f38a55341c06d00bfa59709d5baee2065c45e302fdab322e3ad01a557310994c2cdca518e358c2ef40a0ca8119a3566c472917ac9c88024e0eddc2bb38c30dd2042be76dd3d331e4f528de8d8f65c237e456f5d209b4923dadbd4105ac346806acaea0e57a971263017db89cdf71a6516d67ef6e43eafd7c394ef9bf037f9814e31668313969fabd752c60fc65e6d283f599766571e9dd567f8f378e1dbaac891b4a84da34ec36395666b062a102be6795a0cfa615508bf1156c5153d228b7077a166218c8e1a622d4d6b071d1d5eb6556c3a9dc3171949f161820766f55a528e96d0c0cdbb32ea06a33ecd02ddfdca6c094bc526bd34af9734ea67b2d1bc9d4932681eb80d8e9e183e700bd6e4d33abd5e4a976a3f9c79827ba66430094da4cc835e10a98f89c32b2b3e94b5331fc4dc0411bd8be15bc95101e3c89da14b1e345c862506aacaf1e54e249d537f72a8caafa93f6ebbf71278837ae13f2382a44b15b86935eff2bcf05ad21b6c0a904547b0dfa866677afe07de6be1d8d11c40767d3996aa782c47f987c80bcc691f67cdff9be1a8958ae119e3694a641b2b35488daf84392a6c2ffa4bd2fe503403f001e352b5f61cdf4c09b5ac8a335d3deb2db854b1fa76b829309f0a0732bac4b7e98236900dc6e7f7be7a9ad185d3977289c5839f614e221b024c044da49e66d78372c34116942867d26ea00f20e53d091339d37dd5194c5ed1f0328db8d00df4ec42e2a2bd0c94c906019bcc390824910263f5a6a704290ba2717a965d334b824d998aad0828c3dfb5c92701eb0bf7d4b662a280ccd6c28fc5a5ee72f856f75f1cea49408eb30e463c95c3af5320f39885ae7e7873c82c9b3d2b97336d1b18a708df29e9a26e781405a0071ab2f324dc9baea21c42e0f4669a4af1d21c17f09b804e39b041a9c49e10c8489e8b5636ab1cf4aee579ab9cafd0ad37214e227abf5ee5b8140e9a5ab494245574b1482e82102a4f3f44e34bd4d204c8ec62680bde7e277789367e39ada777723981715b7211845100c669883830753ab14e020d21da4a9d2d4e0ebffdc753701b5f3844a62b26888c517adafac90b0046418e3028ab3cab6e64efbdb74c7ba714d2b69432720076007d00f78ae0e75e955a959e75bf2aebd63ab73133c71bb37577e6ba87dbfdd6d66d465875e56ed64c3cb95933500a296ae6cc745ea87f7c7aebad1d2a0d9848052da14f60312cf4f8fc98201e5e1112b086860586d9c0b0c06afdffffffffffffbf04ecffffffffffff15f1100fffffffffffffa6eed5258efbe6deddb9afe88a02c05e1114982419ab767757ad348b1c5abf1f097b892ef08ade9e0463a10c2553339fe429a5ec6cca5e94bda1bde007c09de5ce63bfce39b7f7d66dd9b67317b6f33e39fb8a4c9a722c8a232b6098b8e6e69cb3279b26c7c641a591331e8c95c554cd71074385e09c5ba6fba6dee8ac559a4e2c59209d65940d0128a42f54848a84212a454554295408ba4cd98ca54c145be2024f557c69777677b7066a5a3dd5d3418847f924a6a2c213639a19110694cd7160735066be5cb44527898ae3e92ee7367d7376af98102cd60b533c5a6bc7aefb6e6a448de1e88ddeb5963fb67700f46ce79b94091d06477e99bbcc1910d5d0b3d16e6e6de6fc033fafbb0837390e7d54764511f4103a5a591e9cd7839514a7c139e7d77625a89975de47654352d2199d85b29b25eda13b7426b56ee923486544c545ce6ce77dfe7955ba9c2549d1d5bae0847bad5d5d8aa2288aa254758cd1341ad9a9a59536a52f2d54268bc5280a8a1683cca832b3df06b2230204621808629231456488e87872601093c4680e82107284104310218410434424121111294912757d7028a1d242b4d657a16134ccb951d3f79c76d5c4cc89fe103d4c35a7de87e1e10f73aa909fc7f9deb7bf942d2e30480717755c7242bd250ff8f21435b64e4a7b216e49b1cfc141426cc92eeaa4061e2d08113ebb1636121e1c86ad6711d130a72366a262be65cc09be04c23b64fb4076e6500d746520288d154ca8eb5083f16106d50d335a993751ee610412717db8d8a6095d641ca4c2a1daf82b3d2059e8a59e346ca5244e7cf85fd4d4f74776c2cb418105517b4c7e67f191cf2b233637954d1bfefb368364bbbcf672d884eec9d4bc375c99816eb28a424b16d3e662c99919bb91c25411ac7559fd38eb7026c3eb1dcbb24717cbc402118965a014b11832100b24dbb31e36aaae09b55d77de5d3e879d4e6b5c53721c2c450739d3ecbafc5dda2f241a16acae70e6b76fe68fa1ef5e0a8b31173fddd3b428b7a2b498614b6cf1a043f82d3a7302eaa36568f50730c175f79b922f31a293174fb27b32fbc91b2802c8082ab35fe4d5053b73c5592bd9789d62c335eb228b8a8dcfb2f31781dd39bc052c83cffe7b7847ba3b83e826e6b9fbc3d2dd9f4f1cbe8f8689fc7d8282c363adc2fef9a8fd502a42142d45e98051fc1ca5b2c6a2d2f62fa4b79844ab94ed0d9eb8bc0c49d47683a7d3086cb159f0bee9ea472d9a40a733352e41241598153430df1f983d04b34b30950a66a72e98cd601a6c3091528991ca118a8e84293deca544ef39ac26a055f44a7c3cb0a27a405e4d41e60c346fae80f8ccc4b0301f48d756c5485a2df470641634f44bd8ff23e1b6bed233c9fb447013bbc9df1fa406a2ac4337ad1be8ae80570f08cfd1aa1c5bd7160f0d65498feea281d0184796eb405b083306a389e8da08301d77e8d585c79cf5a194a2f9548f1a5e16d8a4832156ea3de5536f188ce652eed1d14482f96765e6230b3e954e394a0008d8a38e55dd99ee43cbb192390bb0e6ec10d1f7386a5029742702a1c83c666af807a0ea9c37caf0008ecee056338b5aaf147772fbcb17c56d7b2417692daee05f8529e61ff92fcf39cb381fb6575d15bbd9983945338535ae1281a0c0cc0dcf820d122e9abb0806017b0c02ea946a06539df6a7c1430354061bf3d7eec743712cd5a35684ef5158339b464aa1d9d18ad025aae0f46efc1d5e52c6c64b4fe56dd65c6e81623868a521f504dd3ac4bdf3e544df038d24f139d408973fdd83021d84196de9ec6ddc8245edcaac8e3cce18d838c66f18d01793131bd5c4089721e4fd2209d895e904642321014d063d4265ae255dbe28b26cba85160cd61e203fc6b1def9ffe1acb9cfd63754247f42681adf64e1f2f124a20b2c49a70becff4ee541cde3bfdf0734b32231f2af024ea82c2767d27de167ec0c86f172226801f2cb70d17ba7de54a0ea99d5fd125b4cc62fa2114ee7e2e3b86fac3837a2749b15803825245e80b94c22e602b0bc1dfdedb9ac7c83f3a309c529ada1afb6ada692919a3a71ea1726975af67840f9185634cc31ddc26bc29b4b81fa9085b5b249fcff88a32d3d019d8c266f613276b1a527d4c465499ccd52164d1adae0a3acf8288182320f427e688c5e62bdc5100c551acb2f1002dc86e07110a5b30f8617c885b40bcbbdc27cf18e48183b0e37da4a9f2926d94655595d4038e72e5d35732bdae60617b0eb958c17b6390e82f1358a8478a5a0ba68d9507d5a95351a46cf7d9c3785a73002d88511323d99f1253cf7beba63878bea712010b2e4b48b01c2015901f3de7b8a90464434c9d7411c2946bac730394dcf02d5cc04049a401b0c03241a9c9d48083bfcafb7c2f6f1c1e3d63431783e158982154ae8924bb6b1f215ab3e5962611c6f10acfa15f34db04eda829420e63c8887b68ee8f34a173b93f61b2d3937945c1d5d2df4cba282fa6d12e956d094da38aa6c5c08ddc3769995670152c4db2a893470704b09d0e08d3ba9977af3446205811bc79f7295e98c92b066956a6468ef4bae377085ba5aaea11f8f71c28eb69396d2015aa8775073257b07a21a024c03bd5bacdeb9f7b9d80ed7fd869cc36f2bbc9f1b91f1a4d04ce4c2dd83f7d85ca333c8275afb885144299ec5ea1ca918c903e9886df51a344f968342943de1ba8512953b46bd6dd1db2415d7888fc3182a2516acd573b0110f7b86cf442550ebccccd528f5fed3adb887c7c028a3e5054f8893891f09d987bf55a1fdf936180dc40ea67b84c6393a3344281880f2f09375d9b20cd4ae67b27693cc5f54a96c6a62b64945c0bd4aead20b265071e5b6871239580cf4188d8a54040430877ef1537e85569b91bf374c9ee2c9d65ba2f73f79299af289f83f50118f7a8ae5f2e923482b75efaf2207dc44d311b76531b5507fbc583f204ccbac1b2e8922f537d224025c424ba3cadb589a27baec36a79113c75c735e7e3d42edd7c956598186e4741624b775a6a6ec1ac0c073d2392615c00dc9d32cc22f5becc7fd5f8a1aae0509a645f171579622803ac803a6fd303c16409b5c57ea68691bb52829d0d325d4263d096e123eb642ea6ab76a8cf6f8dca67e9e5801877af2de91088321b5523df63fb486e56a78fea1fe58184cbab1e9104860591fc67088fc765deb1f95694a7a18d3b4dede341ac3e49f0e8ba3c538fa8a8a4ae7535f066f74769cf71ff3e5af9104bef6f0eeefc990f1a1fd86de415f882cfbcf5eff135085bc5c43827477b9776d2023f2e2e30ce0632ce63c86c436c8cbed9128148b9a25e5040300e295d4b449d3244d9246b2bc33ea1aeaf2e1c00930d2e392c28686157be137a3944e82539f1fa76203562fc093a6492a6992a2b16ad78a55f699c428dc6f00c63ace39d0741dfca76f8e699d0f883ddf0b2d818b1b8c262602236f93d731b099ecd46290a50e2a5c301f09c897dbb04d2659842452ca94924c29a514cc00c700b100c7a48fd1683c22b4618c316e360326b2ffd8ebdfbaee763329f0e7cc3ebed7bcb7de996655f6b5f3bce4bbf79bcd0038ffcffbbf7b1b9663f5a1814c036968cdc0d07ee87c181018a9af9748002e760aa7e20bb11d207a19f0c6d4e9ce0681317ff46752adcf6369beca06be324a6ca686094df9047b95aa8aae746e9ccced75a2a6031317533c4bc2a9a9d1b1e5643189d819e68a05c551e6a41516c3d335c4caf02188302fb6a9e18d4e580c95958344ef021f0b8c502f29398014ec7d75783f6b506317049ce270436a03c027303f7d99176567fbf5d67434bed9bf91319b5fdc41a21d52f6789a3c4d1e67707314438b47c2bd01d76de69c0b93be56a170c8130a7dc1a4060e7ddca29f06fa8cc717a9cccf601189cc44667e3685395dcdc45e7c8fc3a12f281c067d1ae8130a8b39481fe4b388d9fc0187ae3632c9ced4f2332791599997b9cb03a423e929622cbec7e17048642afc02b8928b3fef7d5fd72d3236bd48e532d9a5b47cdf37b9c31b229a7a4ac2fcbbaed2efbb6ed1759945e3f14d2ebbbec87c8c46a3eb16199b5e64311bdd37b7f6c71e482bc1db1ce5beffeffbcf1bbb37df7cd38ca7a173681d8a3e793524a65f5bb87a927acd84c8f5f3f0c16798e0f18cb60c2bbd657141db8dee71fe1b5a6bad8f9befd63cec7ca37befbdf70658997f67e5cfbddde99d9d1baff9cdc8e4de284fbfe768fa3b5751bc31c61be7fd729c5f8c31fefc67a5f25d767de12633476d933539e678638e86199f9c7794bb3d6e4f71e85c87723481163e89c4a7f6e95fd659eb9dd6ab56892e9118998d78897849a980b825d806096d266820c860d8e26d8f9176679010111374d55a6ff508d5b5d0446171d1a3d01e222425286d292a2b3f9d13169050146d33bece99e5fcec6defdd0bf221e79c73ce399fc96aabaabe65b3f6da7b74b7ea06de90593467ea75b7ae3bde67e99d6dbfcaa6fbb7ea3ffe96e5f79497fef4ff364dfff7bffbee9b5fb35f42d56dee6dba378989d617bddda2bd63e54fd58fbfefb845d594b3ddf7347adebded1efdabfabd6fff6f098503b883969e693a1381812092203049621cc7228618620c3184384288212222233222b4750f2c0a6732642730cbcf6ce225439b8fee41f433b7cd6e78dc57216da966966ba5e83c8e017c62d5f924afe8fe6ff8533607d50a9319dbe5a5a49483904bcb820df967065b36740ee4b08ee0f9799d00334ed58d68a6a4d12a15ffe7db28c6f666060b7f47e82712059a1115c7483c6b772850947f91c8006bb83ef557bf847dfebaceadff898c3cc2dd55ede9651b56b763573461fe64533f94199760f2fae52659b9c0f7de4cbb08e5e8f9ca40b44fe9f3a90a57768b5bfa7c9d9447921d61fa3c9e0785446c84047dd3e763dbd860cbe5022a427946614833457bce6019b74821564c8c9e051fbd40b4e920bb3e66bba5057816c058fac52a0694ac037abcbc3bf31c01d500f215cf85486ca26c54d97ec1197d33768feeae56600d3f5f6b007673779229cafe4ff4b8bdd5e4cb6d88a8af70a1e08098c74e2e90b09d5f65a3f7fb0f799cc95642127210182a6e219ab6e14412700c0116389780689a1fb144fc09eb30023c3a575eebe16e964982083e6bfaf337f47002f848e1cf8bb13eef7a96715d755c5f10eecaadc0ef6c06e6062c06264bdf4cbd9690b51d25e55a7bf71b28d8e57121dbbe0860e8c3bc63bc31a12f1e8b3670a04a0091c00806ca732f7bd9fc4ea71b9baeaa3237bcb960b1601cdbd0571adf3b4d87af32f860ea3bc66a82ac0022749714585e83f6d9990b41a54ca165be92420c3e7275c0ae13d05fb0e4e9b7620da1543e0bc216133ac5ff434d7190e133135caee476c7e3b226db6c3dff51a8d52ad9c68958862802db7763c422e0f9dffd4c51886aae9d4f2f5ba93117893e076d7611aacbe88eb5d453700dddd3e00984d9db26245aec9cc771501b1c44bae6b8b095f036433203493c16ace86363f5ec5127f89e8568a4446ff32f5abfd74c8306827b3acedc2de6bb1ede2e8e84bd2b0c8d316112e4596c949665455c5e42f84e1391403f728be94494d939ad4fbf5479fdc468b434cef86ad49ce3593d0179708593dbb25119e6f8b7b6d2165d9289efcb39f2678118e3289f970f8e89d6b5225c1bf6929024b0978a01a8e9e75663f4e2d26303ccb9bcd90ec133f426af0dcca35250a329b2410f71cfd08fa316fd19fa92a0bab0de39bab5da432c29ce9b309e30a1244a318725c30a443c79196d764c9b5519a0ca8e7d138e6687369f7c6113f124b698c06e622254395e6d050589b5add8f6d235b061a6625b0d7c48dc49ebbf4535580f0e52cba9e490d29afd496b41760822c517dbd5f5e089dd2c4875eb51f120d99df465bb76a49fff094b17a07db4fa159b9f7ad584cbc5706f22cd2caf0f2e7a8410126e87db6fac8326b01bf14907b9bdbcc2e43b7ac20a7b632ae27ed49ca8cfde83e96661575682830328d22778a5189cfa067be52de47dfee62cb97e398dccc795c2952895175b70d3ce93e4227427733192cdeb0b202fbcaf67321341dc66d0bff941a5b96ae92e14f5cf80444b2818f3a621d3e58f456478ee5203ca4a8a0b5274b7b96e7d082796b841e53490aaaf56df984ccba004a2103a198141a8fa6cb881f2c12174992964d95d8f889c40e44c66fafdeca959ee7a7de6ad9f0136addabd0b1a90dc3605e86bdbae30bd327c7697c7de6f124143c8130578d717873628c353c68f8e4aee9ba332cbec82637eb475ddc279246f7ff2dd5d5f58b9fb74fb165ca14903fa1b586a543fc5e515addcfb1bf4e1c0c6d785bf183082eb6a7bcca5c6fe55c165aad9656e44f2a1fb1891bcbfc24b9ec770bf7e24758ed4ecb15892e19e9c16fd1e684dadb5c563382d6bf851c1187cdb1fccc6e5c531481fc7f49c97905ff35c3aa7729d803707a81ef8f0156e72cb0327f469bdedd3a775a06ae5e91bae011f414347b2d578d7ffb02551dd8b7c285ed0492dbb9b7887e44885ee5b20fb68beb934ddc5231fde990b416a6831eb80a3844c1ef9f3740608051b7c1173469240f741ba1d0eb86effdd90ae54343d412f2a6808c828e8ce0545e39facc6993fa842d88aa9a3bfca8c3138b6fbf00ee77c60e70441d7b9bae85250f3c295759939d4898c84bb0d79011f78c841951cc3a9a81390dbe8f4add03970363fdda62ac71ebfd04a8225224b203b13c21c1e1dca5f7f6254b2751a2cf000d29891be2b728337fae2fc5f16290c00a0e6105fd1ac0535007a00336ed4dd6e31e94b7dee0b2534efd45fb10ce1711f6776e6597b2ca1536b92ca3dcf5bf8ab67f8c2e16ba666698690c9b2637441bf1da7563363d864c02503e920a2ddb30f0126c6f2f4b4acd946f78041334c9623885e97f9bc7b339ff807ccc4be5722042f510d5774b369aeb04a63e9573c8e60bc73683adbeb7e215bfe52c95913ee9d2ec7b2a2eb232a52be3410a10ff62ef6e146ff9095fcdafbbbfc96fd2452c2794565816073e47b80225045c8d470cac595f27301bfe88f7bbdc92f354eb3e8ea7fc66e50ee6d11ced1cc437c01cf1420b41b8de86df9ff713d4aa400c78f1be117e5b8ef0fef8e3d56f16066d327b9a42d8374482f5800bcec9509f7d37d0b397a9ab6fcfe97b34673d111b78558649149c4ddbe01e6646c7a3aeb97e9d9f68582b15ad190776550069dd5a2d7c316ef9f48b49883078fc3c0e07058699853a18305d1e932ad13b54a9b31b2a2ac8d9dc892652ac2f6386f1550323271855526688556f341dd76582dc8281be1bf02a8915da0f9af437752283f8f884c7c1501180cbe3c40300d2d1141d05848a6ccc81e646764a28c657dd403b74b8d23df7b9042b48c4f208b6a5ac492a0dbb73154e9435ba7d1e0d5ff3b6e70b002d05433b6c7c1f29428fd151871dca1102a7b31545a1e354a784778d1aeb1eb71b7cbb313504b25fa954609c1c808396fb99b92b37e6df5efbeb2af03bc3fc3e7cdbec7b7c2cc4d26eb2392045ab34d0d40766c1be5330512580e88004e329a816351d0b27c15dd17935efc78e727251e58745e743089f18dfbfa23050f327f479bff50ee53c4663af9e1686397196670b2f37981a7a44b7d9276f0e799e4473246e6ddcecbd314982ed05a46cc9cb1601fbec7c2b6c7bb8cbc3063249d631547059c577637099e17b30e0ad4df3c4344ccab6a1bfe8d9795d3d595c18178f952c5bcac1c14665b10952f0b078541056eb1a0d9ef8be5a49715cdd8af0e0b1fdb706b93f59dbe5b32c9e0cbaf4f0204a247806bed1cdcb3b00c137f93970614230ac70f24c71b3c9c228f2432c68d2428e92ed95459c24541f99e49650c1a1cf6223d1ae16b95fd5363e2e0ae90566d1c658203c55573ce819f470555fcaafc0f32750803bb50f683829293da90d127f49c954c50f2d453c8390b63d39273827ae9aab41c3c7ec96c9e1209bd9116328e6537628f48960d877bac24c22e56e0e8b4e1f908e32fc628973ff9b153b8bfff27a53df5c571fdcd36cd467152d51d84d7fea2eb048b192d76bb6519e873607a035dab3e56c34d44ecae412ae9b095736b057aa9abcc6f0d67d9fb1e216ed5c659abb502d4f6c78e9fe96b11f49c11f4c25a64388b829772d075286aae742c2ee4ddda8b3d2e10c1b932f9eea574a4c805a2bdcb90191a6aa2bbaca5297429fbc923fcd9b5f622026da2249592cf15becb0d39f52e66aa106ed5b73bb029c1761fab1f34822620b26d7ac9448ff66c3d723dafc1d351444024a4da14b8666975e591f0ae4d65e75e4afc49698fa10bd8b2289838ade80a359235b144e59bcf41610eeb35d6024f4ef3f165806ef3903052f210c7746988432720a8f8b99887b8101ff5dd3b3e4ac149cdf265304d6a91fa674567860170192fac2601a42302ba0da1394f301c1675c985fe514d8f55e100b57f18a90eac6496115578e3bbbc84554012bfe88da82b819b1a8203d2002560b165a27f7ed3a3091fce3992911358846ea61e86a3110b51b7bdf7967bcb94649201670394037b03d8adcc17d0e46d955be5b0cc2ab56ed6c93e91c1590a5becc0eb2c4b5c9650a56dea970f4a7d013fce968f52bbd49e184235ea8f1819232bb9f033c8cbc7131c5204812a700e838f7cf5489834acadf5bafa247b860bcbde0beb050c8352d950db57d0060516c25eaf600beeeed90afbeacbf79a5a02139fe074d48b0f2e8c5c0d812c38e71c0547d1bc5466b14c5b94a6945ed4e4334b757635b3c13303aad8b74965af9a9ebff0869e0d90629671c7c4537c6b6b918c8d7cebb3d24bbb0ab70cfb9c60fed977ee3deb1b591c1f1a56c64b56ac27d811e2f7ad2aeb1d5660203bccd4210260943aaffee740ea6dc1b1a95c8974010383817476dea2a69159b51aa057559e76dd00add68a45a5ae168e74f89e7fac2e0783c164b59b37ed226c05175e95a1135caa39f6bfa8e9634dfb598504cfddba636bc7b102295fedfd33682a505381b04cd4cf6ce1cf1b3119d9d7efcbf0b57856451a13b7fefd1d698ecc93b4e2bd59ecbef74524b7f19cc2dd7bcf12a8a4b170dbdd3b92a4285e1690e8407637490ad982f403c0bc70cb10d2cb094521b57f61fcfa015ef7de8befbdb796e32ab5b2868e257c39d3cda9b992e813a3cd7bcb2b92a219b3ab9421eecc64597697a5699af7621c8be51b415699ad288ab9c4d5f20e4bb3bc2e17495e97b52e3b8e370bc982afeb66f2bc2e13f7c32e9a8f6d96b391bc2cd06866cf3c813707bfb2cdc979619afd52485409bc3cd7d69965629562935509749de5f944d457d2d7ebe5d205d1c9c9c9b972a648e69bdf7c5c222ea77bb95ef7468599277ee5dc70b82c7acd519f4dc26c27f796a5102d58ccb59a667669dddb996c6002bfc2596c21b6cf53438194089120221458c6794ee9a7acc3d1299ed478c9ddf4068ca6d4ca2ac8aa8327accde9b1d898a0a8d5fee2503c43d4aa5ef1f00a05e276448810a1c029298870ffdda4894e31fdc54d857a5c3b3554ada24285711cdc28072bd08370235aa66bad6c72b9bc40eeeaf62de27693e7f6f16b914c0687663247b82a9e4d9a34393a4f21aeb5525cabf002330ccb62a358452bfe8b6fad6a6e777777ffecef8e468a4ab09dacacbac92a0884c9602f7c14af7ba73d453f514ad5b7627c3e95c27cca4eab534ab576b25acf1a9c71d3dab22a13f064315b2d5360059309785569a74574b2d3b25bda69d969d92d4dc0dbd1273a2283d56aa9dc32f5406d528f726fbbd2918addb45b1429d6281c836370684289496b703d4f037ea9d6674a52c254dd7d69c715f8977c98f151e4db0f87a9bef98eee397bcb72ec6336b7dd71b086881f6fc9dbd7dd6ce0f8fdac109174353424c21728ba4c4169c286171c46428489a2858a092eb2e000a58051630545184cdad0c25f95c5e354828d2e6ab68ad234146af89acafcbec952358a2855025b4b2d007efb96b9058f4c1a5dfa4a0bc9b150e98cee81042c022ed5c80ca7ab7b83b3156b1eeeff1ba339a2a929cb1ba8565a6aa620a0ee272d4d3c657a2ff446e8e63f839750e0300a469b28a50e9051640328581c7139335de923b7dcd36c2525ff1bae5c024603444ac0083fc49e4dcfdb74d6710ac66db6e8a5b6b7dd80be78a7f180c2b77a73d8a7465d9d6da2f28fece663d3e51a2e976b6f643fb25cc3b253f66bdc3146bbe46c6c886e5104c97d9725ad763331c80d456bbbd77ed3c8643743031eac15daf3c930aca9d8db98ac77c313cdce2a4cd73680a10612ac51ca4de180f8c4d5286a84050471ac81c990e6298b36425f0811e506265dec70e50a2adaa439a3655231a06a4886f00ba5583ca0804e474c87d4fdf8d0a549b36bea7d25abf9d8644261be24d94d365996b4a735aa4655df78c9ecdee47f1e6d0f30b89665b90517dde1f0826b44c818e19006539516172580405344e58a612f6b84faab2618ed59c13b49cf00137a2fc6b8a7a2c1aa55260e84c129b9a119c5cf303c920034d169f18c6bbfe38822dfaed5c2dbf39960db6c318df3ed68ce9c5de4a3f3ecf72b180cb4715b4a10ab52f96a50aa5446542a3345d436669aa4d42a1c634115aec32612b00ac670a7150df7564db4f7b35ae7213f140102620575515b49010d3182e43c613099ac56bbe58060ff8df5e754501cfc40a5dbf78714a98279d2c88630210566d0440d747c3a8f31785e6afc25b9ad4ca3540f28edef4c3c3f7b2a17c32e19acf3c99387179e332395e581bfcf1326ab75f65ad1182304db6153db9ddc4728dcc5f81dbdd6ddb4dd8564e09da1d19d0a2cc6232e405c8ce3f3c42c05ae60b088b95a1cc475e86e55985013dd223142b5bea5dfceab7d3dab12f91610a12b547f5403f7f63dc98d5cd63d3ae5375c0e28b873133ab06c99090ceb3d95b30c192fca40c0b00cdc3cf72751fc414d39b91316bca3063b128eddeea0e133b1b6c13b58ec2c83338fd3b4d96ab5873ee0be1aaa6dc53c8742f07912b47960babda8857a28e88b8a44085fb0192fc252964d626c51faeeae33f331c401465e60d90a62c569c385945b0344304b1433443da0f0e409171e9312324f2e3146a67388cb33aa98ae3651e797a1cffc8d21a4713103ec2207d7eaf1343553a5c865b5bf733fa689a303118506af801f9525a1d6ee6df714273ec67f119f74622a605312b839fb3025e70ef5fd4d91e20664e5c7b464c742319d4629cfdbd9ad480134c15d6d8b56b4b25a671886c932acb5eff6dfbedb9f6a2db5dfdf1b7a76f7eadd3de496d3fdf8c040085090918ebd327e555c6fb5d6fa1fc00e781cf3d3d04e21e8a1739ff9f4675918dc3d3a24b623baa021458c24b1f57c2eb314c12cfb7083796c6f6cb4cefeffffbd8a6bfce817872bee092f74bb7b91c4ac883b6264a435815a6badb5d6aa1ba7b0701278c229877b0042d8dd5da79be1dea62ea0292ac86ed00d2224a8c8152ba9a6ea0c921cadb5a393997cf276bdf9dfdaa7d6fe5f4aa9bdd43acdf7d17812921f05f1e1a3cbc20a52010999f204694d2d85384aac12885406338e9aab304eea9540f280367038414a8a59f29f84e02f7812f31448a5c21af0d328ec8435ad273e316ea8770503d9faf3af0e46f0a428d6ef286a38400eb8e28047373011527225eb8912182d43ae4072e28bb3b4e562c472ff88a8155781ab9721a22aaffa6a4d325d14c5cc84b8ab4f0f95abcf851842c8befbecbbad0712ceee7329aa8386149ff22da253b92f4a6af41e45e01c6660df2e47116f8bdf511ac70951f328d5c2f4976d1dbc659f378d24690118f23c3696eded7bbe1787c1334c06670d1babb1623228a3227ac3d96c8edb3198bfb5adff813f21a4963e8bd31253ef4d93d725202d76084209803858455a4323477000c278c31eeeef872dcd73e02f0e3950f950f4410328c1d80d06d61ea07aac9b5a89a63e69e8f6ef857d8e1fde2f91108fde5aab995f1329a48b23aa8f8a74ef602db5f469ee33dc86f753642ae6cb151046376df11bf2217b478e64f9e30b26ef28d65cb6656278cd96892123ef4c0b525c2e66dbd5dcfe08836d9f6d15a9cdf6bfa1bf93fafee9df1f2a8cd9e05c79b4f8e4744f903e3f1d90ba88f6783e3b69c3e1584e930356fb6e59e08b15b80f60eff175b58551d2195a20fda47a90b8e22342490a303960f13df1137ac2726d5d72cc2797c115bd8c6e5a6badddb52ec1aaddddb5ab567525e3100be3dd300bd75aef915145aa454b86689113f9900fbd7fae465f9d8aa2903824deacadce8e341a1165f1807bd20e7cf682f801a2687103a102b740dddaeaae853aad662ffdf1aed56c06d7be858d3e3a5d0309f155234580fe42127268b308c3b896b3298bc5744cd7cd66dbe5e470b853474dfa41e64ad2df143f2b687cfcf4764daf79b3388eae355e3c45f3def3d9a064bce625252db8e6789a230641b6943fd0c0a4d340b07483eaa241062d1fab5338245945e6203922bc674e33ce37e790203a4592b7e67124b3df1c17f93aeb7845bff5fe15674b88b7dbc7a762edcf2fd4f4a9d9b02c948a6daf489658e70600301c3b39623a72f0c87608d09367b4ecfa86550176c8763ca38e9d79c91c3bb3dc395d392f9d9d89755e3bf3460ecccca1631477268fdd99b2df993bbc27d3dd2c4dcf0d328b98366b34029c110683b35997d94106484595671d4606664a4aaa67d660f07ce1ebd2a5b70840cb96a8a81db3be4287153d2828d9aca78859797272e29935951c539a98985acace124b4a4a50703c4942428acd7a0898932323231f00e8a18888a899e430d4422d846366834e0dcda3610b368b01c320c30b59af159220c14221e7842346823a33222e128a0c997d707a100424f59a6960662004831f6505417ccc22207bfcf8f89cb3062e0f5d2e67ce10180fb8ddca5901220126edc7568db4e2bfdf6abb27cb7470fe1f1552b4f1ac03906206bdd96cf6656dbb70e78973892fd2decce493a44d72c924361f99d91ec7dc3b20213ed7dda0ba3c09926b8d1401e664bdf0fe04d0ca4a46c1e921ee667af68eca09b0d339627fed77e16e3a6b3bca6c5769e188b3e695f65b861e0d3e50d9eed55a7b179baab9e85eadf27235db549bee75af7b3d04e3c6881ceb38f6fbe8f7e7f3049446f07a047a72bc326df41f7f84f8616b1cc238a787b7be99b3e0ae4dcc7eeaff7ce5b830f6432ad429586ee8f80547e09a75691a973f755f393fe5aa7696c03913b3fc1389b1397e93f84dff4e235008a251168bb98f2f3a0c97655996637677b762398e232d53218ae2d30f1bce6755e318f1497cbabc1b3cb0e11900c42f99edb29fda97feb7e1e7ff38831f045ef540f46fd712c56cb38da3a8c49a165da603a132b6ed815cc1b4be0e0b0854df03ce5a2fcd479bf8c37c2abebb5bba00569a7261b709ffeb3153a849b614b106893162ac8670011824636a091618225c51ea155789859b463137beb8d1220c2a513b556c41a3a80b9c071305e9b54a088731554bb2e4bc8143f4841825580c97b0c2cc165e9599319e704101a2522e96b02c3186d2d0d5185d54193ab8a16285125ab89ed412deb0815a43073866daa07002969ca8140e1cac04206365000c0e8743a2c1589225310a0449506c0f348287051e108a9748a4c168548c63380843188e0124628801c618640c3188d0d80ea3faf451a582b253238c2baec7e6bddaf6339cd4da13a89974375bd6ab09a07826116d31114d2e32334336862d8899bcc25cef111a2882f177c825f9eb9d290e5eedecf3519c0385a3ad90f1c08014052885a587b1fb0f73069c265f76d97ef5b552c65ae112890571ce63ed10afb736bc98ab31f004957d2db3e6c112c835ed35818d3e9366a3e959025e3f7ba9489a18920b478c41c3fc7c8d37ca71b516a57cee2e345e37258d8d7b82036d912f1a1686ca0370de519a473b040d5b910be541916abd4ac4b84414d8decd06d57bd2e29391a5de85192e0b62c3b7e21a9cc984d90a93e0d220907867d683c7f6b9d25d618941739d8cd0b57776d830fdb0a97613439cae445aeea64911b555798961efdfce2b553e0f3d40a1b22b09c7ef8892c5a8312406ed7a173b5f583ebe4c9be96a85cde3c711d0c7442b08664bae2ef7c872f70a46db6d757f9a07e96068655d4626608bd08cb327a08ce7b67698194a770d66848d37042f74b86cce420b842c201f84683127960dd76f2b4b55c2e97b1fe5d0ec0d23e3a377d4c7d5494d4a539014ec2f30cd56be0242941947a2fc34f7a4cb0520b46dd32bd44b71f85d75e8e5d80a9e5c25ad4ec4307df4a37a7959ce3ed238fdbb8a7d8981e865c9f3f5a540d7df238fba8d97d8ef0bfe7be8f7e23e2a739334c8e0b48bfaaa47a5bd93c87f2a0a4495915387341c9433b487c7f7e06e4af0645570605572d3aa182d6ba7cb31cf97f03124373a3e4a88a713c6a7e5c11ef37665c3fb1aa2727de9348a16169ab7199d10439afa2c0e6a7ddc8f7cfe8fd620b556aa087fe304890f868b0353bb62938557b17da88c4f6b317427cdc235123cc919526eb338840f3e4a37f8acf2e6e673ee9816656eb2c3d303666761fb3a986caa1d65879180e2f0a41add5b0c39bf0c6b579901ae5012ae1ffa2b478767d4ccdd89834893e032e73dce7a62b014f2376c28e5c89a4072a547e2a83fb5e8cfa79420f552b2adc68b34f6fed439b2f031ee7144a997ae3a69c497b511fffe16b958ac382e56b0ccc5725cdd918a3b1379ba6f21cf055dc8f348b652d24f3f9e4c7222a248d2b41dfd789608439e59c590a7fbf9f15c35863cefc990271539e489a4a922334222ff3982999dbe0c5aeba04d1fc7a2a0afd261a92a79a8e55ce4df0c50042ed607fe4dff808e5126cfd1ce8fbebd2e2cac6a63c25f9e463b6354a52cdfaded96180dea38c53d85dfd9f859f4e59b52d740b4a405770cd7c8d57cec395bdd8336da380ebf2185ec8ce5eab6a8cf996079c74cbec5e9ab9fa24ec16272a967390f319a5cb6d0b3a55a05d89f548fce7c49c71ff6b1e22aed40a5f7104b31d3ec50a0a40f633f9bf451e43dac33d96db864eb6c664ed9c1986ebee7360e998a3932d2ef19d64a0f5573777cad7bf0e2dacf9dffa212e320ad0d15aff3812975f760a0e4e16916f36b8d679fd78b3755d401be45e4ec42590d2d287b8f7513759561483e6f840e496ad6319804b92f3d782889830e1ab5db88f34be1b3014812a44737e5688e5e1262f8eea5e3fc2252c20f4d12ed7d8575668db66d0e4a2e3b0ff2d262d2f09e79a32cc8d9e8c4a99844f6381fa74503a5b11be1cb1b47bd5c31a8c1c69f85b31a16aa7ad59fadb583176301a14d3b3c11f73ac4bf16915c83b8d73c5688784f07b6315abd11b1841231e18f72a8fa776e420aa81b179911e9eb88f4c814683d1a759dbea457a37b08dd986f135ed4bb46b7c49beb6ec94c1579aa19a845730949516fdb15aaa319dae1ec7d5b8d7f31b98d4398b5f19e98af6f6ed1b0d597f0e48e90577942ea82d0dcf509a448b75b804bf0a33afb30acda439541c87dd2879ec184d0a3e91d50e6a23e0e724fa5640916fae423b099f0b6f0c367e71f457a8c861b24d40f12140ce6f4ab262b6b38d7690b102b1f892712c232b4a3cc3c8ab40e06cc026a3dea488bb39a5708db5650c11f769edf24a7512461f1d302f29426aa2568f0994910c34189e55ef38aea44cc07855ebf2c010a2613a4d588ea8c94c90f5fae14fc3be3e0a31d4b15ce98070ff5552b745668673d0eb823a0bce39abb9889d8c7a5b3dbf0d9fbe2ba1e5f3c9d23ed437fe3608bea502438a947348c0c4d1427914d83bcebad1705235b6d82dcd9bd7e1420f9eaa2d2e1ff2059dd8d315cc416ca0d4964d802f1d12e4165541892d663d2ead16cd72721fee8c0e6b42e711aa05004eb2105b21b3affea575d795c0a5ef06f8655e1535e813c305646000e6ba437568999adcdba2811bb9eecfc972a89dd6b984d6cc0039091051130f1e9149635bf10d0de62cae22858817e3fa8c2aedca2814aab11fda2abb3e2a1ce748576a16ec8c8ccfeb2a9c690916c4ccb861782ff0812aa6c242c7f8f63a4b3fbacd6c932de619f78d93b14e70a6eb164a2cae87af2e38d112c3defe65ff703a146b87567403ce6341ae10d21386daac2bd0fd3109437ddff9b3ee59f30eb676ab4de20481387537ead8c09d9544329adea005556360df84c6389b786f248352d8a716a602381efb87446c20b4f975d7b281a4b6cc9280f9d758bd3dce2e75657d5dcc979f570625fb0f1f437df63bbab8034560e97c8f19ffdcce1862d76cd5db6466185c310db727a9e1cc8a526602bbd1c0bb0ff5f7fd156ffed193fe7dafe438b98ee4e11460ab62deb5b83888d1e00cacd26c9610ae6c100dbe9d076d42309922e0a4e9a01938bbc665758940c3b68332b2e49fca50060cd5baaa8a00f909390fe7d93447f185a29760d5a3f3c3cddbee991c6e2477ec6d0e1cfab6ddb1e9ec695097bf42ad10fc695afa2202ac086a13f627aedff0a3cbc87a6e5300d9ab20a8804738b9a90bec285056292810c45b8202dd63e7f06c011836e52ed0091a94eae54f036a91e42307e22d370b4ce0a2705ade0b3cbfd8eb047ce1c998e897e9201dd1db1541414a39e0a2887d4db6b47705e1fc306378107e33f3b289bda691f6a5d87686cd1f35cf5e147e9b8ed67f8b7c2b427004df71c3cd2e0a0e718cf960421e3e7d1b0b25f878aaba9af4e77354a428d20b48a672651b1fd2e29d90a7c1b002b54d4a9a5fc77fe9f4f8d08bcaba280bf0111a47e4c9865469809dfc8416b9c527976b79b5221e487fb64fd66e32230de60242c2c79595250cdf8eef3e7210f90780d555629208204d8c4a8b322922ba3a9199a0d3966de0d6b3a6aa5c4c2d95623b985766f126eab85142a3e77a70eb2a28056928bfd5f40267665c2b77f0c1cfca9783e65cc2550c3d29e058dc4079801cb219c3f08feca806acf1ea179bd364e8af2494a6e897f0b54f67b69bfb87ba9ede73b5f273637114d75ccf30595e1113f9aefc5ad26bd2e96e679aba85e925f91546244fedb974573df3c15b703a8da970687e45691a5609608183dc9839f50ea851fc782051ebbf162d200d6ed33c286d546bd61adbdf368ca1896d706cff33f6836a59e002677ff907e39a29fecd08b9b60340a66385ffa9bf2b780574b29e8260f353cc0ec8876a291d8f37315c58abdacfb9a2e7d1ff61f00bdcdbf42d01dd2bdc2be8a0533780c076dbe68277652cf3ea93c2d763b4cdae873327e0fa5ea980cd53600c48abd1d73c9d1f3904dcc87dbbb934c58b856a43f89e6f4284964c14539716d182d41660320bbd80e3aa707919e36ad82109284a8f6845c7fc720662ac47fcd45ca0bff46f2ba9eccde3c61780efb9938bf7b7654e04a6a20ce2943ce72b6ebb74511fc51dd5672f33b7fcacddece16be235152205bd8fc6274471a01a03d02f29f5e1603d525db569515a2317807722b9262c4a40e56e7ce8a546680caaf87a8d7a05c2b593824efab7efe0b00eb980853014b855a525972666b41c7b2854b47954482d187d09503f3d2b64510e469045ea597b01154951d44d530e46b41424c0e7cfb562c98aa4e1c345918a6ef0694b996a03944c8c998754e40a4fb86ccaa6eb4867d0467cd240e3a65796922ead99ca3039dd9a9a0f86d6776fbce609766f53658fd918741ff56734891a5ab4fabf236fc00927349468b1a848cb97c31a42905e60768bd5079c763aab56c84a072981a2da9349b1c9b8cf61038339937d8f7dd2a86fe696e95876d1f879c2d3f2b27a4844976e89b4371f656ef4cfedabdfe75f7107122b4ea55cafe69ab964e27a1f85ba25e5bb59a2473370d5e821ba8dd1bcc4de1e4dc792229a89e79cb936dfedafef9c4dcd5365febf2284ed7cb491a0c14e6022baed32c56551b98fe48cdc9b7282b443b62bf55c4d94ce1c95989333bf6302242e44f6c7311f4cac2660e2b99b96abdf5e219f645a58995bf33500432894d45e7e160ef69311868428863ebd6299ec4bd6d280b22ff1f1bc422ba3e2af38240725edeed9f819c8e1ed23a297bcfa17396a62cbb65b92e75d048032e6276ec03298ab0160ab847811874584fece8517fe28e9b9f52f04a9d4a17a287972cee8462f42864be57fda98260ac84364a55878ba9949cacd9b4b38d13b2ff18cafc0b0b587ecb99b167d580ad6483d37d067ac1c51cca2924d6c31db36ab2ecf1dfbdfcf4cb30c750bb0a8c45a8cfab61bec8c88426d0b809bf766e30bf250af74158ec96527aadb4bcb117d43433a8c33f423245fada4bcd85fbe7e3f4a747893fbc1d5e8242be60c4da4b558aa3d2c1e47f05f441860370cd44d2c98e0d33ac3765dbb76049db7b97b8bbf6747954b458ee97e875f0fb5375d0ba7e6ce7db9efbaf1c0dcf2067d9ffcbd2641da52628db4c422a188551c8ce620ec6d091c169a6b104b153ee80e2e471345182eda7d6f3ae407b9a778cbf8d2e660ba3ee01e97d5d6e5381006dc8c7bd4466e9949279f1c3c9489aeef7c27ffe9dfa5e7136e14a745d5876de818f29d34fbdb8db59e4620454807289cf3529c1f82d062628a26714a8bb50fd8fbeac850a57df216a1ec5ec265b221ee80620e60d038896216e30c0c093cdc000e09022813fea18ba89f8f13fca315b2549afc58207b02453718f4807ca9201511663846cd5c72a7d89b192b7082b60c5985841bafb3c1cee627dffb11c15d024014a57713c03444c9c9c80815b4ba825673b86e642ff02ce899be155b19b986c8f645e7bf4d9d8c5ac517a861a09019554ac7776100101216cc9925fff4ed74a2d90eac6d7342bd06961a9f8a75c70beef8ee652cfac55114ff077fb08499cd9d059a65de144d93068cecdbc55f9e36a18d6abca781cd201a1ca1bfe993b5bb0a1c40ef4c90d290997eb86019e24d2d9d476abc4a8b82d114f07d52bc9f369a7f40c07bf9d5135139c37a36c6220570a173c05b4bb34afdb88118fde747d72cdd37820e40558a6c1d17ad228f8797352e277df57279497fac53854f764b3d8d85827ffbfc1fefc45f4023646a5d5a1bb061c1f636299821719ad1f2d3cad6ae80bdda3ac98283b20d3ceb51b97572f2e174848d811e383a353d817085360a90ae28763d09506649c2c2a94e2f8b5c610c134af4c8d822990b60b1cd761bbe1b6875ff144bdd8498c4727e576661ad977fbec567064cde5880609926b2c978511f74f80d0e76e11b7597d907667e7603a72de5441a8c271787714259fd74255e7805895cb213ab89a94f67c5ad48c1f0ad1c3b4cba628e1decc707716a27917d88bd9136b9932d1f570f0644a379d291d7d8ac69563b846bbfe19d90ebffdeb7e6e619a629509b9ca2ea62eac253fc3ea74ebd9647d9280810c9ecbca79ff898927d252dc7747427760f9f477ba0c170707a44d7e807b6f4c3ce439e5d79bb436539df0f0c85e291d2c821b8f7b344f2d9cc9f63c35c4104dae819aaf52d1cb293f44bb0222395b30833552f6f2364c985ab2f187a54fefbb3fa82f1fc42cb148a99c5120f57bda4d4ed1f488c97b480cb272bbcf9862f48a7ffa56f8b61ed072b906cd5b54cbc79432f4c41a2e73eeee128fdec4f431a8c8988bbb7aa163ef2042233cb45897ff41230f1d172256c5d9bb0f174cb8e9c94302d18d8e48c0eb24a41a097d1a28b5b1b41e8a4ed7adf8dc8a8ad0951e4d5cbc053bd46bc75aec3707d7c09090c4c646b24c8e2eb11f0d86051f45e11089c078e29aaa9b25410e2f5d846affa970031f2e3f71bec9cd7beb31c3154d731ce3d8cc6e0ceb31b70f19e7af88039f0db4a6056b66122cc0e2696f0dbaf88ea67453644c432ef2147252c17c6e11066f0179206f10179e1a1bdd7096613576cac2dd100ec4851fc0acb6e2db76a0ff97b09a8b3aaecfd501ca4acef960c5ddda2b99690e75decb30f6b2701d14d60658b040b1cb2e059eb009e914ff243f3df8032e51b33b13500892a7e2117c5d75cd2ba727156ada21add92b690eabc007a1b4e7ba1040269b2a8b150a08c7f5c5dcd75433015fd2ce1756db9f7867a38cb1e71a79f8bcc57fd87e650dde12ce1cd2531b0ce3c313922451098d46f3cd6a28a025b3076465e8ac56027b2963d7c1af42f810ade4f1c2df54d9c97d2f58fcedd18dd0d13f879fda72e24d18a8ea32bdd6089deaa0a472fd7e540b7352ed8d41b81a6187430090d0e9a209dd0fd8320476655f40a317ff495f2e7ee424cf4e9a4334c734b85f8feea62c686ccc8444905982908ca91834ddc00da7a80440ae3762c886ea81174e073716b68e8819ddf87f5798a5811276f5ca160c67f0d44260c5bf4e6b2f7c0f135dbb96add25ff0a850fb9299181133685db92daf8f1775ebb3fb16c6be7a2b88437597a49f9a937b4d80eaffa0000eb1222035efe76047a45000ebef5d88813e0e87a170979a2329e298dfdc1c8e83cb7ae3e088544b15a1c27f893edf8dbaefc2541f7a16e3e9f0cbf2010d3bea04d47ee2fe3d0b8b649c9f3d76b3efae1a91b42698a890d41475d05231e2a5c0a951431779c64e41101953e797665602ea9bf86baa3c24ee235e2a0e64e254b5dd8507152477e27afc0eaf244690e7ae0191c1996c850dfb2a9f39ffd1fb48ac4df49ec55fadb9184c32b120970f851cb740e4acb05ef93e5adccd8f75c321dd06bbedc35a232ac099744db3ce21bf652d2cb45434932a725a86e201bed9e565be39287a248ed1205c348470c7c0aec388118d76f22b993b188b7d1517ef2d10930cfd66b65b75266883f085a3bb76e8143ba783eacb23cd3958b7bd2199a168d5a770b2498d893716e5a65cc7a7ec137b318f6efe737fb92478e4042bd0bbfedec7f70d12580ad53080cb226616de1d92829be0f0e801f2cd8b1dcf5479a5bfe47483b803f176c6eaaf92d93e98555c663645a56aab3ded1042207800f44ba782fa44245a6b4e1d965aecf4e6e7127fef39e634e237d60f33edc9f7c4c0fe620e468b9fa8759f8f9c32d4ae93feb8ee7fbb9d7bb776430f9f58d495a12feea9bf2fe099719a1b1dd19de96261147796881e01d492b1b0c728d58145d44850a5bbaa1817a60381510efd6ac421bacd5b275a3eaaec0674287e932151e14836b8b2b90c0b181df99aa87e066dd0e769a4d8694125244fb62508486d89fe597fb4c35b18b34ba7f38743d94caa9cb9789b45352fc5652b23cf7beeaf03b57f958ca4ecd9f7d7bb1cbc94e8025267a66a826270262350aa6201224fc4267125d8f04848ac6d0f2cad2659f768c46e5dcce5f829216d115959dd589916036aa2a02b73e64f44ce79ae2b23f44927effdecf251e2bc8a7c5ed97a5d42e72304ec8527c704e9dd8ba594ee7408f7ec01e657e3ab325737699f2aa427fe2c3c75fdfd7c17ba85b695b201461e4c3906da3965690a392a460091c5b4bdb18246f486bf917eda11d3c2d622bc7303ba0e8b69d9423edd4db0b9d59a602445c65e176717aef7d82f489d8e6363da97f9d0fe7b02b3efb924e339c15734e1c073af1f5926829110badbaf05a4c05f9dfd9445a655da7ffd9a7e1e2cf10e03955195f2901578e4d95eedfb9d9cf103bf73668750b9e1aaa9dd36c923833842a03d35be6ff2232ed5b1f7512d19d80f45403cc737afd74442bd313013079b3fff8117227b1d6482090f5d41332ba0878a72f53d67b22e2a0739cb07451515010ba3d1fac5ff907aa75e00dbaa049e47fd4d2028cbad32e0657e65fe8ce493c7592e706ed849e5acc3753b6adefba90f220424ed7fbe30ebf8fc92d1f7b2eb44c005b13936195e239563e2f46103a336519887aeeae26ed3ebfd683ced858e7dbbb5a955625aa26b5021df9aace166c815e23536d1842371f4482142013315acc219f4dd5bfb8fab87b7fe1f1c264176126d59bb18280ca7a5ac07a6b82375fd90b9b37ced26cb80fd193d2ab906415a9f4254b230cf3852be0230838c5d1a5054e0d186f5fa38c61229941e5c0b27859c905cee84f8928c6abb048ce0bee85ab4ac1f9664d26c56d4a2776ccf06cfcc5065b237518fb91c24bcc87e15a538b30d6640bb893e8231d78d9715f1bf39b374ce3a7008f0a3d6464c780e0e5e87a0d22a1cf22458c16babe39e4d6b7d5ea4aa306f1a5d7c95e7d04df19a21d511e6936875bf0875b6eecb545cab5c38ee10615a79ac8c39224df847b69bfaebbd457d34ff0efff03c202785bcd3c42298d593cd09cdaa7381f8f905dac33e805fd1e250163684f011621d4899012d23f3a367c298c49146559825a124655b8bf73afbc033b2000221ba7ec97907efe0b88ac4b8b057cf9ef7e44bb8980156d03d9e7eb796bfda3db9524115a9344d6ce4cdae6c074da3c953a8fcf693a39b751f9f6a1c2d7fe8f299134865f51c92a58c9a4bf2843669b75b60eb028f30f8a1a3226210d53f1a4ac833578be22a0d1ea4b6dcb423cd115c7e2b8fe1d1544c3cb7020f3bdfa20237d29ef5fae9cf8908fed0b7d9c89d89b1d9f22dbda1108cdea547348b86b15c2106498b8a49701012645dac60cb8844a2f2a17945e4462b22ee68ad1baa709ac7f6147b5797f332845f8189575970d9d3893d973426c7356e29cc1b478d563e71f651050a1bc1d9a7d2f9ab892bc5defa3ff91f408b0ce2a98e592e6ba5a1ca4ac6252202d2d58ba84374cb7e4bc0690f3219320c2cea6407348b45c7053013648999aea1517d58e66dd2587cc5cc300d3ed6153b57e351ad3963b5cf03caf197b8d7c1602daa6d393edcaf5edd32378b9fa044e3b5648a1d91cb273a6e90aa9d14523b18a7852873f34915d61210212f75623f82e3ee56f8f25e955d57308b1f959381f3a4be69f04109cdf86194cb2f51e99d6487ce54813806243b066f0634e7bbfc6b497acc3fbd0e52372f3411acf3733e5f1c6724b3d35e9e20b06e011a440d2662758c9550d3be89554e1335552ade8b6c217a9b1d339418b48f3a0825875a7213c1e99af4d4f62e955e2463663dec6119abf96e020a8a83cd431ba8a134289ea155e0fbce2e06a33015facf13e649c6727d029b64291996e5ff841744f8b224aa7cf707a8fd7032866035b0f03f68fcef5500bc7b1980e3bd1ecb59137eebf93d94bf4dd1d7bb7deff0c4c23198d21f31a323a5a2285b8c1b4bf5167c0b0f11ca27167e07c12181f046e83dd671627b7bbdcdc5d3c37de41f1eef5385f51b58a4eb78feda442cc8044d913a45e3064186867e6807e739a58853196f02e6d9f132ce0626d3568d99f748f362d406113a5456aa429b73a927743e10ac867e917cc68cf04ae3cacd348926ff6aa76c0c190110ee15777e2003f87c32102712a2289fb26f0905dc8646a52968e3a22f15bba1659be393bf286f524297d48ac3f3228396309170e8e67c6d925330cd2796c371541b56f4e6104712422a2150f53bfc078b153c35ef2407ece7d6bba44d32fb1860bfaa288fb435f057cb976a2133e90e0ddb4110ad8807c1d75d0f662a82b6eae758782ec6061b6320a3962a4cafb4b8b53277eb4e780d469b76d673f6612470f36216e644db913f033b92503c865042620293bba4464c353466eb14d7e465a88780cec7b019ee687cfa04a2d0dd55d976dafd4fe34c4ba20fbbd13ab7d1405ab1e7c503ddc10c5929f3a201c0afc3c36a16bd0eb2317483a256ffc4ecfff49ebc0f494a11a65a42730a5a6372d642e3c35d46b78ac81293879d77ce1520b47d6cf15c72c2f8e822c8e8aaf78deabf1d0a749178c60078f1b0c3cda56f2a6a77a5aa9aaa68912809bd46d058ae4a7a47112f78a102421e9cddafe804e4911cd3567b9af4b04eadc0591d7d7257d0fbeedda01466507c07b6f9503278a5af81a8ff977cab604da6f20e2eec5c7dd8a5f054f8c557888e19c5bdf79c319619aaad42c5c32bc9481ca5a5d913e295da61ce8188921e55a04c4baf9166ab610fcc27818c83554a5129eec0658255cf574192ce568565a2789913db0f55793f8605324506d5ffbb8d76748ec1ab0c8a9f196f41c200ba347d7f2b2b967c08b38dcffc010c48c68ae04aee709a95f4253864eabeb0bfff302f68006bebc97a120703f8c1915224d6e2a472688b630f7b7d71bb46cdd345aae41c325b0c3d9721b9e6cec8b9156c132f7d0a4364df996d054bb663aa0f37599041047d2999bf5b84ce53a8fdc902d7a1a61842c81b4e617bb81a1a94ed14ecca9fd953417c4a9bc3838510bfc82028511c5352922975c279975b43c64269bd483b540e7fe461143c644f735c6ebb104204142ed6128e222f10a4349c306d7b1756ab82133e4e1f5c0bbf7afae6baf11768db687fbbf6a8fa522749b4fd83fec2610578b341617efd743f82d567370ba00d9047cfafd3a7b382fa3f667fb181ab129f66fea2dc08ff87801941587cb3a0b7043dcb2a87a8f443d6c7f69e79d829fa84b89b2e3a05a4b24b13c659a6ceff34f687b88d2a3c874f1436362129701118c5e455fc1413dcbc1e10dc565f3a1d217b1699c705bba44b36a2265d10aab13941607b6b0c1a699bcc46da26f0b3587b4176119b2050e320043b79c9fc5840eace16440e7336a5f58b397f6554087fbbb54c40416a30aec8c60fa86adcbef59735234e216ff7286ab1613a660a142d70fad9f49fd9b39993e31dd4f5d53c16a9385b86549223be0d61e4336c4d18eb47161ab095d2cd849293ce27ecd3f89b5cc3539dbf01dffc70b8024161b1af275cde1ed23c0baa1e55f016d7ed86e3c592f118e6de4ee97cf24e2441c8f8f32f5dc321fd1be8682bbb74c9165e081e91e6b413e04891384b61739dfe869adbc78ccfabbd1ab366bdef85497cd117b65f6188d68b15053de1ce5e570951c0259441d894dc033303e3d6a7a01b854d97d6c0756999614bafc49fd4f47d5e9f3d5325747fdabd333ef02290e6938a45948552710b4ea12762d0a1c7c044041531112a0e299e4495b104f33fee9ade2c4e9a6fcbf30eb83e4eba38a243973a946c631989c3484dd35e8112577f61f36e350ec2881c55ea2ad63c4c032e0b2876fa3d2c2f6d8368a3005cb557297c09eecc106b427b4ba31c1782064ac45d1446e696fb96c07f690e179aeff895cff5eddf425e951ef2f3f62fc79b04fee1731da8a20f945c2dc4e9c5efdf3fd820fb934c8f6f6208be4ce096966addb32afc2c1184ac6ad50b5bdf42046edcec6cf1b0beb8ed8606dc3871b4c26d575716ff895a23b0d134e2de90813ab9e04265b4493e1eb4f720090788739557aea42c12f85da7c500b6661b8910db821e206de50fb2581640117dd72fa992a08c9e76aa492405123da3600062d0b8a679b4f5ec5cef1b8f2179793ba5cf994052af5c90a2c5437ecd9a6eb98b3b099067ee4c5e1544adb554d3112baada0d6ea12b560eb779ac96706bad51c849ed6196c9c7821efc4a60013915918c4a58c309eb3ebcb5db9975fb3fbf4dec06114e920c4fbf3acee124a2474ccb43ecc0664adea1e22f2699f1efe4f2ae9dd82734b32123abbf882723f79b4e665545afd0466c27933b6045c34e12aca0f9de67a7fc178ca1176c06f3a02aaec666cb3325be7ab63d8f9b4569d7b6e74f2f044bea8666a8ac357bd30e1a1a1829f7040ce09c70ebed0c9621bf90e84f508f24407e920f928529a95755831c9c24561af14554171562119179a5452de35cc5ea3ee883b2fee2cb53dfd3ee3c41709f8415556e49e07263d9a987462a5a47d9d43f3df356d392260e11c14279c2edb851fc472fd64a24ddf32da19b549cfec6aebf19dd504086c06439148972094cba81ac9b27450359882a9de4216b2e6ba21be43a09fb7e298c5d44746fd0ff36850493320cc0eff9a6bdeb9f2f12fb97741dab4e0fcc7c3e05cc1267ac3483b246525f4f40746c5ee834102271c8523047e92729b40e89866bce72bfb08e8530a04d1f601c6b810e94f02fa7bfae2ab0c250c244a53ad77188d9ede728200f2ce2c0f6a1a81a05db3ad06eeb648e72e6c8244b1c1e2b721dbcc2a3da728509900824a3b3a1bc91dea9c525a8237b3ff46fcccf4af4f938aa0ff504d0fb53c6db62344237064cea81e2e9ec44842901e4be59e4f83a057c229c06381f8071bf92d33470aa1ac0232a8907c47ce0f22ace856cc94404ae067c37105959462724ede3babf2117273039e28fd16b875ca27f873cf13eef05e003617f1405e5bc342ea6f1cbd1428e9b2fe498d8500c790dc80e0127708fbee8c5db95d71d65d926ead4edff2a4d97c40c51ed4359f40f0d268d9f2780eb249e86d97ee64721a93c1f8e461d876cb1d09c98df1120adab02e6f0229bfc612099b4f0df916d4652ed9af0cbb843db34a3891c2dde33c3e6cd230247017d934952c042120d73966dee771c7ed43951948fac5443da590ae9a917290397e417e4e078fbc88141372855aa11db61294fa85451a33197bcc18fb17d971581cdd22816b9640a0e45f9a3cf001052f991979a4810135f7fd164834244721ed813b0c003f5559ae951201e02e170a3a840816e4c8ad70f65a293af81f734597640edeb161e6ab63a9770c6836a5e9dba6049db803fb662cc4077675e3047d413e3910175fd28ba98d940e8831e83b7c60c0cc2f744747d95610dc1b9270077dbf2212c199fcbc6302ffea182a83d2ada13b45e539c1ae6d96ae0cae8f68e4fc6fcfd14690e1a85e4040845571c178c229add5d8b07154c6121cc565a95e4c952397a908430bc35bf3982e854c688d0dacfed7d51db077db448a4d4c6c3758bef68443f6bf0954160581e68e3c987bfc25d7104a9f91b7474df539b66ac5857e6a26044f0606b660d4da2cf12b4e21e74f118a6c2de70bedb4f4ee42d9a47885b77867e7da4e29e503e715781e140c6a8095fde841c309a894a731d2b61824cb925fa3e00a344f7f14f0df54b67228a75ad166cdd7858e6aa35f5981c88f6fea6c9dc20b3c074497bac4c59a820c72138605c5ec3bd66e99218d81dfe0225c46b9aec6e679a00b48b1f0a7dbcb1b62c247d3ebcd66f0b5232b9e7b48f0667aa9647098d2892f677a87d514dca06ce47eef3a1f73484cfea6753fb716374d4cd12a4f11343537dfb03ed371dd3d786089c30dd1372208df8efb71e6429383b3589cbaa21f327733c50511cd3b917e99a532589f4a0d37bb3ef0c25dbbcc9ff59dff1d08397ceb9779965fc0252b9fe7aeeb1712e6bb511542289c37d2f3ca9bf2487979ce21a7a12f8c038bdb776edd369d5b28c0105116050ee96c88857b4afd20230aa04b407b0e103a921ddd8748417b56f814b8dc99598a046d34af5e92a4676d24fc46d00e9d3aed53905c1fef3984484cc688c263b9834e7d77cfe2d79132a5e24e7756dcbfe1a9bc3bb53d32a5aa81a563e5874b9126dae509cab60b0bc2a7e985b974db637d53ae59f8304adee20b39bc00fad13922fd12ae1c5a214fc2c511dc5766842c13047bd05060c023620fc2705070b09148a3038382a2168e0e125b7b0d8095df81bdd9ace9336570e3be02921024c749143c3d900b64f0071f35e0e34f44c28517010d09973007d9b851c79498dd3b412ae0643ca467b9d34e493759fd63dce37111ed6fd3ea984fd0e149182b2b5e10960352e1fc8a04d52aceb630f1b6e58973e721a1864b22d2b31d3146e6d5b32a15492ca17505db1ce122235c2ade6edaf7687fb024a99243adf8aadc1c431f8d51e728fc7520611997456956ef03c13fd74b9cedcffc91401150dcfb5d24e9940cc43f047e0372a18062f04b562ded998a64bac4413b75f54c6083df5b28bbd5334782ba45b80ab4f01aede907ef7c4d5ab33031ec9e538d2ac9f334963d33f9e08420da91f46a33e61f021249199092fdde30cd8fe8d7af50f45e569914d6123a7991b045bb44b168092fc375c7e852ca540b7891068de5a73cbc3fb6d80d3351acb259ccb1e68adedf4f8f6d2b6199db4d4d3bd89446b0819c73a6f039b4685ea9608c3c93c8284dbc3cb14e9d378247abcc7a7e597f049cb791451ede5085ccf50a244c52e4c5b8ad63425a00256b52e01feb18ab46e68afc2fa051a7315957a898979a37fd6084e790a001aaee8f2027e09c1b23f1201d56337434d6568651c4271ec7dc6129da41afd250f134a117157162ac15174ba415ac2ed8ca0389f33ed39fb611c135850380f0d47e16bd8f67a279af5b7ab6ba2eca94480890efccf60aa4557ed2ae09e97e9413e91e9d23ff3a217ae277dc6ed2713b689328c18c34f0eac0f6eb82130ad011bbf753c59d8239f445cefb7fb8d952a456f1095e091f82810fab1fca0925ac90303c2fa235e23f0dfa0eae801b7839a687d4da3aa82f9c94154ad86325b5ae552030983239928943738e4f87939c7561190c4d352f922cf1db1db4213564ef0b3249b8181b7e01efcc0660186fe35ede6a5a1c25b7eef62c4b4a42b3c48e23dbfc161e7aa3f3ce3713e30a80fbb9779dc7a325203b467aa641b2c8aeb29045c18978f65577bac128b9030f81e50e30aa5aa550c844cd0a0685915aece89f7a2fa33490ad38a28dea0a71528643a13133567a94ab6903677fa4a56a252354831d16ef443c64055d247ec858f3e064ce3020464ad6a6da38f37f412a8e35a3a30da6ad9243d4b79e01b6351cfdd2e745518b0a32cda61cda4abc4897c891d1038ae3a4ca30805f9e0dc7027abbd085ee6805b909c8db7ffcdbd3bad2e14e93983d13b86e8311b8986a963944c081588dff77791ac1e2cd3aa1e6940c57ffbea689b803eac582037f744c45f9d4a0fe671ae17276c8a6a6dc34570361ef03052252573643703d2432917eec16937ca160833bfd2f22fe212f784ae0cfdad0d4bfc3591fb92feeebcc550664988cd8b5b63dde58ab0248b3c529b8ad6f408ce4965c276c3a01a94b114e2f88fc5a35d3842c353b8d10bcaa83774ac4e8168b94bf9222c07fba74fa9de8ea90925ec20120e32782ba4b170be1f20d8dd286b465a3eb9312f796f164f82da237c25a0622ea9cab26e2f8d3e08c9d228ead522c677f7bd5a99237c71b30e9630633bc87bc90be9720fddb5e863050303d30fa19a6931eff99b0cc01fc4f808d75dbf37ba2432b226ac0cef08c183387f7697c509498421df990d840c8bc71bfaf4fd1b30a1408fa074ea61cabd39fd9ca5d145ec51f47ee27ed00839065b58538da19254481bc102212eee01d7eaa4e581c7c06b1b4f2d31180cded0e24122e065e4c787d16157beac61d64f75a40b13e817b96fdebe4d6ba34766b84e0c33b83f1d49a036565e999e69143b74c1cd55018a360d5262a8472e3cadb2b47c0b26554659998c2d58ef40e308bd1f12e0ee23b72e73a7da3ca2cf4ce91b4e0d79c9840e023e0f4651319cdcdbf95a608fe8c4e893c475b7567c5791698c81790ec03f9c5d3e85af67126d1bf7265e1c144d6e7d030d63fe0832c26f7d9fb3f4da5299664dbd4a2e158dfae44f3d2f7c17d3e01684955dda29970bdd1c7dc6bc4f7abb54eb15905a0a99b09d630b7d5ec2f2b70dc9024f24cae1eb937303c77d0113c0afc66a62300a26ed1d21aa4b9f677376f416976f221f62be8a1a11e2952a79706847b4db19cee581de5290232bcf9b65b409cc9f75175e33ed176444e3e2c4bfca6eb49775b18861c2cdeba5868b0369064d6af32b5b47b2473ba2a492a0c8f02a1cbb9fceab3102976244c84bdd606419f393aa11df3486a54301fdeec2090c59440f2914fce78cf0ae36a34c015bed7395897881edee07311b6f5375c9278e5bc6cba4c93e80631c85c8980064b38b68602992582d9e5f1bd232be3a6cad75b53866333030a1e76869140d3ade2722b10f71d4a516bc6bb221ad84c7dae931a959f97056d122c64890fb725527909b99f5225236f5ae56b2d8f6c4612ad95c00992a7a90c9e2f8a383638c912d4f27461dc604900e3afd28054d5795afe26f3906a7e9fe7b5a7508807c3cd22110521fd3a04655dcd385f0ccf334f87a984ba0660ead396dcf7f50c4a6b01aa4b2a9ef5e80d5530d2c87007f8a922f2a270f73bcb208690f59403ca7249a9b117a8ccb6b5ef8444ded5b2347388a083a12295169f0decdbc9e9f19e55eb2eba45f866aaf49700fcf960d99b98a0e28303f9cb0e8cb257fcbda1f4a5544464009ea9453fed5651d103f102f239de50801ce61757e96b21af46e3c50f0b1ec5b2af3ba405fe49e71f1ce4656c4f0ee09b9ba7577d2a74c3c96858ee0a2d55edc1543cc1a93128428f31b9ffd7834247dfd983d084465ff3007e62b9da33f5680a57bc27c5b42eb2f9859712dec1d82246267e422d0dc1588ab46a5c17bea0b5f079a22d09f7cbc01badc51a15d385019384509f232a6ff71e09314508f3ba26848211909c8526c625dff4e04d13aabc8fc8613b1d65d3e907ae8453ea6b426b3dc463481fc75501c3ec490a1b6f1251a8ce368b1dbba0e0002c2224b1fd25fac8ad88478613f35d29f9e2e2e601eb7943dd56121e120247c72648e5f669848faa6afc71804d268a08d69c0f456effc9480e108860acd0614a8acff09d8c6dfc028cc363b69f47a0ede2d766030ca1b8813887ba27f6404fe4877854d3173894718075e7291c1718456b2d4a01126c7cc2e7ed51116057738e6ae2afc33e577641af1ee7dad07e65d0916c90fb2a630f3d9604300ffb07f4ceb0c5760b226f63e70d63411c3a243c0384230ace3a63f344a82ba29156d7e6f025fb560f844a92965d4252dbf19d73e4a49ff90b09483972660ccae05da0f57433248ea14dc037489a1d4f89bb4795dea0e7eb56ff689ab024ab80ff6f70bd1cd1021c17e63d8f2b368db224b203cd1b9630096cb069803d7dd48a83e1c11fcc56d0a28a43e7430651c91ff68d62a3888a329f1e1653fc86e6dabb4b31f859a388be00a9f826908699c1523c83799a521af6fca2248e627bf3a5f358a7baca14f67d0ac48575b9bdb556904f8135f17fc2e55970f3e86c93230d12c0356aa0fe6118122be6ae80af3003414df7208afcf2174e4f4c76ab759ab3bbc9841b92baad0d1b6c6022931f1cf5bda260e444415278939af01cb163becbfaa1ccf30e4d59a9c280a83e76230d2e9b7b2e5767331f45b436fb9bac1f1a7e89a8bb13ab0cdc5b8c44cda6b92a956fdb347322f523ba6619fb7dccc1a409085832a3a5ed0a91ed9e08bacdcd6c06b9023c4ae189f3306472f31802d470cea7d7f417588ca7017ebc2019d3c26cad5df3a4c2bdd6c31044b5f149b25a9e8b96cf980619f98d8b932d19762afc38a3a14e302c7c14f60dcf9ea67a73ea01de00cc47432ecd39d9f7071a508577c9738b3aefc1634aa4981ca5f3960141a91a08690544c3f930b9768f8738edec4a22a6f8f5f299c7a985a1cbbe992ecde18575dbac2bab831c573c1ea142b06ffdd55d429ab02d7a92a1b85ae2bdff6a3f91b317503dada02070c49e813b35b8ccd5e1cea54fc52b6b4c3289a3ebb96916f0800bb1ff90b58bd5c8437da13e6223e0e79636b0228b14fdf40f28822c92da097a70a8cd99b7df01180a11c417d769c6a0038024c84b40f1a1c180b1446211f1f59ed4e1901f7902e003f9f601e8c9a2d18997525b0bc089a8fc3598f8671907c29b89ccdab1bf9f76c67f4c04ef5bc7ebb02acffa7703e1c2c6a18952a4d0529d15484bead600d296800546d09b40ef3537b950fadea27998511e020bec39e15127b1402472fc5a19913c6cc7b093dd4be5e1d8b7a803b06b8b97fb9293dc6b1c68d5102d0563ab400d70a5b1c65e5ba6b849605262452a94f046cbb7b2af6844f7d96d681c541654a8cb7a2c28a5a524f2bb715484a96975e5623e5a4a887d0cffb9f6500322b5bc065219b24ce6a5688d2a259e84c78445b6f91df649e11aabfef5690424fbbcf827a17674463f70d42e57fa13a8316a94effd305063c0f4728c0bdd2e4c4736ed364931af2ce91d02e78325c714465da903c92ed8e8fa035886d401c9becc7de8b02eabb9c07a03c10b96221f46ea50c5e6d149486cca68dd9b887b656c8c06aa8256c0625c95bb64f4d1be73814689303d734534d1b11f8a7de390ff9c17e7ec91c60d4b3bb24d3c6525f67f0dbde29d6c672e5addfcbb29241aef1879e6d59a3ce0a6078e30af4db323241f127006ccee4a391550e2ad83d2a7385bef6a9d220a0d8ff2c1ba80ac268388749e1ee68a755c817edc7ae3dc8a472b438064d98d06769240a6bddc828a0ebb90a26045cb182f6d68731cabdc632bb5786a5e2ac12b996e2b3d290071fb6721bfadbfe0d57ba0de1bbfdd61b83679883bc6bf6693f2a5bac0ca2815496ed7f183503573172b5ec9fa590c01670c57801c3dc3563fd4628b58e7fc3b2dea214b7a53a31e1dc124d4ddd1e54edb38745af88e16a20eb59c7b41a8160f71415227eadf35dea2fe8767061589606406897c35716b59466cf2c6e94976d673fd18146b70f944d16589455b716bb2d6bc2a128027a249762264006e73836133d607bb5c05d665ea07518388b5342dcece9407f42a95db25fa02bb7736740fbcbde845fc40940701e53a089c949a28281e338d8a8f3ce27e789eac3ad0c105d1fd7e983eb57b54497807548c2958c427a1271f8438562e0c8954626657bff3ee342a3ecda7fee58d1f179faa522f68d3e412b213865ff9bc74fe0d356c089541bb3265ad55a6b0029dc425c3c1a8b7fae5a236a2aab4e69648df5957c34ad56bb57395c3c41f4286f050e91421b0489bc3050ab62b7bd64a8c18ddb3338ae3d899dc89024dfeeede6d1c5201b8aa2f52951183c685ad946fb10b73c3d6549f8a03e688a3f11caf0e9cdf9e5f5e68980d22b733d90f64a62724b8cdef325a668187e935f1ddc33758fa15f7d5acdea2732167d771c9bbc289511760af96593a87e8f29fbd6f446818471d09fe0405764a723564254d8f12dec3f81ee94463dcf392fb541cc4b6cee68cb8789b056af69d11f1ac29701514461289bf153a068fef6d868b3cb4f5146665d5a137c211096f2e52de685d73f325d3afb4d06b568172370f83840102cf301daf918324b40e251daed04b269e56f905d499024eff7d4dfaaf818be62ac3d0632f46e928cbe3718004100c5ef60170941c2c8264005f8618243e579a8aeefba04d6691fc5ffdd8844f6e6caee9d49061703f402e702ff6284f345a2f8de96d9a93240302571b96674804a7701ee043279a68b80352e24cf692e570f7d71b9a6cb3e9af5c3cb95ed03b0f5787870c6aa2b1258ad56ab207aa8b54e6db3aee9bd2e974e8e4e0ea554daa678e5bdf7d2a82da735d6123adfc486a3daa4835338326a5a3538b25636d5ca6a882996b782a01e89896e00c2cc665b5dad0db71614daa4c1d3660d4df265b5d63fa706129000e16cce03b9064f1c5313d092ed56323fb8a627388dcb3ce4fc5ab3b35af98572bef7d4b88c4e9b9e254fce729679ef2d796fcab706439843138716b027cf909ee60b3b603fe7ccf3418faf57cfff3f96efdf054e6cc03eaedde19c48b25d9925da95223cf4846cd76e3fdafcff4f7f096d35b6bdde97e472dfa4aeb9662605126cba1b317fd3566359a0258ee9f605822d8f6013abb0cbe90303f2f1f9b1d2690c0754dd850374d11fc22ab377f6fb7eb5dded7a74aaf02ab2e66d99fff1eddb95f584ae5618bb0777562b197972d39cf536cd693f4f6babfd233c60dfe5ffc85ae732c8694ed6e482eb80dcef0b71e49a7285eeb23292d991c4f01369342753141a236b34dbeebd9a23ba7048c3978eecef48478336b04e53d1fdb7d72768591d7a351c0158f67f7c56f2f3cf2906da28e7134fabbddab62615801300cc276627a7cb112b411869e95164b5c6aa0813912a86d02784141144a506afaaa8c1b1404b7698768e04d062b5e4a605edf18e649b83b5212223ad93daa24829e2266a16c956b5a5567061054557d90ad1b009291079b2442ece08240c99699608cd81128210a715003a138028ecb3061329820acc16a9aa271da89a727484c08200c14e66875c239a6d05f981df6e3d85c5774902a49cfa80877f3badc9b2a08ea222a327ebb3a6a5383a38ac16eb731a8925b40567621c8c650aa78204895b6a13d28142988635960a53fbb4bb5a690e4bd19c3d3720b3165b8a76ceacd0aeaef7760908011c266596f2ad15f30493b5e67f49338dc9cff4dfbaad33d39f7086227e84c8090db56b1604c2be90c63f1b3a38e1ec9e3df3cecac177f9fe279cee2e07d541bb83801d4636949ff3937c429e33cc32cb56ecf78e79209229ce0a36c2e690194ac893f37c736a3f3e3e725b02e49824f50dc2d9f39aaff7e0b376425514293d14a5f98711e34f5a9c08b8c08f3e9b1456b0b566791fcc1a1359642d98e1078b9e90d19037cca35e3b19726db62c1804239114252a2aaa9d1551b2a424282590b0f2e2bac43ee27a2f99f3a5add6def637b0cdada5b9d2247a2fae52a79d9b11dcde88d34916e2f3f7db49f2de3051a918135e8cb0a2651a215ba2ce5a6bad6b608d44fc21a9c3f9375648adaa07986ddb2ad42a66669d5dcd48e2081d2e6dd89015e91c21a6284bd3573b7fd67f2a6d3bcd7ebdd2f3f32b6c2d9fa785dd69811e74faf5679d576cd36fcd0a1254584b55d6fd79d768e5cfafbed946c38ca3dfb6acc66e5bd6ee1ca2ba6ccfeb3587c8615a6f95792b4b9f504aade4826693d3d6f9f3e636f4f30354efc57132c4a5ae54b5ef840a5e62cb2c69921326c786bf7fc45369efffcb4eaba6351bb5cc33b39c0581052ccef97e04e6f37a79db27b2d5ba1478b960ae24b6caeacbbe987e8c11d3deff5a5d85636c2693b6625eb1786276394607e47ddd5cd5d60aba3ce60ba533e6f839c79fb5becbd3b9c844114474de364e5333e7e0bdd61fd6ddacd6aeb54fcd3fbda7d7c69f169b70762f55184faa4495a414b29f5336715af34b946116d512249399e98d494a735f5d96bc971651231aa34714895ad142bbc83e8326293979027f14be3495e219583c13673e864ea5a944f1937318110de54347ef9a8f892a8ce38d5263d9be3cfe1e9527d8836008fcf95f66a3e7ca3c39dfcfef4622a29f15cbf30ab6daa95f94b31a988ac3194ced955b17fdd56c609ee54112fea0777f56cfcb3e99c4e582bd49e7d3a095bac1e65b6bdd5a6bad55c1772dd353956d8b848420c25aecf63ada6e6bedaa14ed54f3d7f6bc33edca997b7aeace6a252d90b5f6eb1f39454b44cbb18696b9c99ae469364992d7d73ae97d9aed4a59b64efa904cf17add3a2102f7fc921ea61e9fbf744cd133d1de82f097ad707f1e737ca806e6f8593ed1fc355293f77161f3665cd2c0222cf693ffb4a9fa980366a09bc6f61fd70ee13b8832165d199ed5ceabf04eabf543c6d246ca3246593d44bb48ca156296124552227ee07c0094a75d9f677a313ee7bcdddda70a1aeb9e734886cc98e83e0fbc147021c9ac5591a7cfa3ccf29de1638ce19a8c6322339b8c7793264d9ccc9fcf6fdbcb85f339aff32a212a9d1c1c9cdab6bc79ecf1b02f42e79ceb947b6e8a967e2698f0f4f4f4e4da59f0697c40ac0cc4b257734c9b766d4fef9cfd6a9bddb46bedd536edda0721ec0a6137edda4a7fca0873dd1c034dbb53d3b4f9ffb66dfb496fca5a7b532ff5601ddf57d4708a45685b6814f08b0c563168be30799bd9b1e37bd0b9e16f25c4fd908e8f47f26cb17d8cee096cf7bc5ece93f3c4113e69724108c8dbc69e2ea4e0b0f8c11cff010d4073852ba8ab765e7ba3e7aedb8f8f4f8db5f2412b1ca9242e579a3ef6c0373a2848238594fed3260bfa8d5fe9dd5010217a4319211deef707f65e8f140eba1b3b136f87f04534553c77d938b01cefd9b3ddfbd6b06388343369810329b307ae3790d55b7f9de533d866f5f7c30c2db4cfed0f6c097969d8f3f3f05ce3bd21f9a27787d1ee4fa5821e9f3f6f3d2c7cf71ccc18c457bb3f596b1830d5ba9bed1736a5d4f50cb85f70cdb0e6aeb045edce6a55b30a4bec1e4a29a7c6e3a6b877139242894de3f24939e54cf5cb084313148eb4d0c402d8ff8455675fe0c080bddb99eb9bb37eabb6a6cc3f673f340f1cf15c65c29e2d2c6ecbd2cf72cf00145c1a398a3ccb0c7098e1e3063b64493ea7684142304fcac76855314e212ab04fa7a150a568de797b509084a6105ac236e8da2929951d5f9888e36b4fcad740af352742fe2fd971c5d3d67657daf945a183dadb18bb7bd2f7de7bce34c6665a634c026b5329e4ed3cf83881a6fb1f723189f89cd3bea75014f12ba80f5aafd5ddd3a60f7bce295d6d78a55517033a7cc81dfce9419440a7f7fa391518d4d6dd871cf898dbf17b003e03faf90e16cf77a76b771723635f1bad4ce272bd1ef15afb3bab15bd43dba2696b2aace35ff828010e89e7af475b2cc6b61b51d85c537ab10492ded0237a45cfe821694ada17ab8426cd92b38c549d3e7aa6dd4cf16bf75928fb8646d93694d553e4ac9e1c3e4664c2bcfa2782f190478be8cd73a4527d188ba42d44b22b5f249a93ac50984d6139927022c471736ec1c00b3c2badf80d0d9004a6f21fe30c6ec0b162e7e37a65572bcabe0917a99548abd629bd5604b4547f72ce8f2a92a51409624a06671a7b31397b4f47669dc48795d994460937c28791f76c881087cd6c8ed2bba3093e2cde6f289607511779a8925aa90b2b458cd8748cd51812146c48d21d7bc086b490885a6a7dd95fab671e63be4130838e7b124b9d0591f541c8b46998e17bfe1e6ce8ddddeeedc58a9b2ecdc40495869ba23702d9e981813562488dc39a2b4e0a30a541420609408a1aaa0e0a72584aa29f7c688a1a638f4cc61d3e6c51f2034743e1068d2f002cbd2da0189a8571a30706627e0c29916107cb1b59f0a0a4440667061e4adeb5e16ec69d5bb93fd87e82b30e9fe4c03df9e0f59b2c63abdb380171e0e7cf0998658b716a3dac5d9b9b8a7ef9be188bb910032697f23bd7400c8ecdfc18af1a2a0a2a47c80967d68379fbcc2fff63bcca2e1de00f65e84b67deaaa98d0d65ca275cb8a6e77d5f5ee8d069e5347b822a6af59936cea676014e7e04062f30dbb928264ce989268c9604c71216345898d1929c10e275160d99be28fd96a4478ad1212aa32494947366177e35acf259ac2c3f69db405fca21e9745acc1a61b762996b73bdb6b22ceb4d9b326da2dea8a864afb9d64f627dfe97b327c9e67599366fa2163803bf272fd358388c234bc9f6c165e106cc1935436851c48c66c9e18b993fbcb4218412ca4a196128834dd009ce8e4881690bb67606e9427392a5dbbdff18bfad79cb6d457355db2aedcdd19c6b4ddd271aba224a0aa8269e649619162626645e9a201824321757142fb7c2e731cdee7ecbdee1d424cb000b18595102609060f00cf8e50c1394099581dbcdf8c74aafe4b1c74dc3b66d9de98c3ad5a62a63aa49768b55b25f6c51ec36524eeea787c22e4acba9542ae5fe31b6cec17072506a83b2b825cae2932c925bb28c2a49c3124cfa31c1a5d55da6a062b429603c2066fcdff068ace8c1e5f93545670fd836c71b4723471446606e560515d82a958bace4cdddaa0a0000c364000c10094743d2689684410a31c6bcf5481a742a8f0295bad8aa1ad9070d29feb29bd8fa700130d18a3857d3e47c8637f1ad0766f76e175595bc9d45434837f8f8a9e0df1a1050e87084831a46a95110e74cf8d633fd2711592930657fb04d18ee9beace9a07c4ab90260714c08ecf00ef801571740a48bf3f7bdad690e1145022b0dcb4fb24623a2d835f0bf70f3501e792f8f47ad4566939669623c3853652eb12d3b72c2d33a1b06722e794da47bcd05b2eb6d9a5bdacee84441f3397fce6b9f787c75d5b4fac612628bc5fc8e1b85f4ccc19a15152c0ef180c2ab12352cefeabec4d521447b6eee2826295ecb09823ed5073e0f058bb7bd0ac720966e284a89c5b2966546b6d976e08834003805f106818111ca602784afba86b2e432024ece93c4dde84dde02237ae1cc9a3d39480866b6249acca86017aa0e0f709757eeba94dd9a0f9c985013b6f9294c072262e8612c4db6f14e3c34044ba8618ce61a23a4ad15d2056f268395e87ca72e759da82b232202481ce5131cd0c01daf7a5428b76097509e7f1bd6b0fb2d634357894657a884663c734c43705bf649627c95283201fe2903a11d1ef646d301572443725f579a46cc992469a3fb53dda74c950efb2a2e05325601014b7c969799e8c82e651b58df64f03d6fbc75b666d7a470a174901495713cdd776d7e616e19fe0d997f5b5dfb06ca13642dd3de1a80c2f4d54c24bad146cfd6ecb85164594a3b7e1e1c680728442cbd134289c9f15dec652e770e638c0eeb73decb8f6626050b8e1cb9119175496eae83948b003d5e32df09aaaf2bd9ae8e644e4b1a03cc32640e196cd654d80ce1dca21e19c35707e7453438cff5e1490b3c753f5127e1f2d4258ebb3a2f7752788f1973a0b42d225d58214e8f7fee82163ed03a1f66632afbf5baa27a16ec1ac6aeffb8a29a977bb004f8d209dbe47879c11451b73534743f302ea082cbccb36ee643f80183c5f1bf508917df7626e935505bc706275b1d00bb70e84d9b1873a0ad1668775d25a0e7a5d6c54f0b5411b6f0ddcc60c31407eb48552aa7bbd72cede822866254078136917c52a4f53bf2b4744db3dd8c74f292ff35fdf5e0c26ba38c1469ecb8ee13c5eca44643fe8694d588a16d4109b0cb19a58a8c82f26fd90e013f2a56f6d5bc969850aabef61c98d6051d08377d791900b169c9694849613f00751ffbb563488551f249c3d49497f286b448c4f98dae56b23acdddc3032b1d85c4395902e1b7959daee609e5fb331e9baf420f1e75bf2ac8ae9d6821acea003d9ac2201651d56818d7ad093a801b8fa9f8801838be2dbcf80a6da2aee668798ced7029f016f721e55e3de1ba876129bd133f20a4ca26f9246fb3e4884a68211da54aa0a26274906a1a18404248ea74c49f30dda220d71520df674c05071b7f98e51e055dff572a7c847ef539a7e9206b7b467dcffcf182293a47a8c89244deb51b2787b020538a1f1fdd5f4bbf78f13053df19bf8fdcaaaf8fa4315ef01a84b4e0a468ea42e398da3f185537226d889290795f9012824b1794d4cb9df25883c09bbc4bd8e27799b23ccf969eb3a900ec2f1b0082e6573f39a9929d14823fa74eb093970a3aa1cf247e36e4dfa78d6845ad4abb265480f1ca7ac2bfe1b3314afe324f2c2a71c6def2226133e09bed48f64724575bec47e0691b5edcf4f8b933f449a972946b942f8148f70352812b77476d69595909dbc11b272550675e050647b1f40031bddee093bc7fc8e5f385871e2c68baf1274911ca3a01012c0a292cd0ff234a005740be05cf126d0e6b800cb42a8563ce1fa16044e9c1d41161d6ac48a6da9b8ae19ff4378f264a22917e52dd30923ad9c0b20a242f36a484ce09808013063a20509da96c64405ad6643ea7dc1e99d6e0f420d02a248b9f0a047935ef63230fd410bc8c40d4235c64c6884c58af992ab45176553d6e104e828f3e32611b9dc95d5ef3243c3c25985a35d0f3536c30d8838f4233fc007ac8d27c0e7bddd2db22047b05045dd7c2ff1a488b9fa7218000e24c6b454b2627ca61452a8b2f745a2c2a44bd4722dacc56478fc3cc342f834f7b8e73ee37d69337f903e2817f08c27d43d1e80bf270fcc1e8cd998aeaf44bff132251604cab5fd4e25a939e008527fc3ae8b82d89908b2a662214243ba2b28fc2208ebedb08be9e6bb60eb57e4fac9e136d8fd697fdb60e9630bc5f7d9a02d3d17afcb5483ca82ba624c1b8032d778eb5645785f1812c8ac75d18e7d3aa5c7626d6534e52a4bc0dd00e42427f4dc786f5a7281c4c0d865e7d46b7492b04979a7d82c7c90630c928779f762feaa44ad2dc9471a272579b51e6bb6f1fb5a4b67948094bb083c299b2a2e301ddd0b6fec1edd42a766f3a476939969259532764b8441d2b116bda33d8deff0f3a4e3c99446fd0e3958f7249ad8e12e78383a67f82e749b373bff72198d99251c091711abca38caf397db24ea5ba6c8fd6b0aeccba0f1382a6d6fcc402dd2e77f56447a3aaebc276df46fe9b9e72e6ad7765c8a861d471c01f31c598b74a657dbd5e516b17dfc4b2563fd931693def04879485cf3a9a20e9a28fc3508b32aa0f67744f9d5e4f382d5e3631c14b112104b6fbc806c7a0047bd0b9834d92dfb412b7776a810a11f9badf12e8a1d10b794224de75c7572c1c238277b30de5ebe802369d00362a7b3ee5e9cad0126781e3e0073e9fc8114e045760c388e8650323c55723349f8dee070ace9616ca85c6a7ad83d12903a68191a2a4a890dcb7b43c1f7341d31e7c64aa524c272f64ad8c31782e5fe195c71ce79613d7496fa8b4ecc635ac9362a1fb0639518f1a883eeb323fdb5f0a9a31351f93901d69bfec4b2e54717f8f60bdd938cb29de5e9781d92d88532a08ff0936dc362e1e300f77d969e2027faa9e4efc4231835ee39423692abdfc7cd000f1bf237c5b8c76b2dd8e36605045b8565ead9bee71b2300fa332e4984ac065d42abbb3b48fd75053cc29d093aba2609a4b7c7abc6c8daa84d1d31af733869fbd45cda54ea759b37a7d185833b1e08f68c3f27b6d0529fc2b6c6905df9d67d753145acaa7e5ece442421912ea6487194c98f0c578109c0b078cabd5a7534e5962e18417c66a7902c6a44e3ea2eae6c75ac918c76474c827d6533bfd9937f2a05b8e907c878f778150afa93b09ee2a7bdab701c9dab491eb0daf4f88891f3640605d61578ca8935e650e8e4062519d25c2cc85db99bb081d9ef3557e5d9b332ecbb3629c86fc7143ccef7f4c3e315a37971754df24af6e917e45fa40023cf4aa97c20367ea6571c929e50c4ac21403dc12bc991859fec1623accd5877b9f3d7f7e976a786aae49096ee8c514f19cc7511f0bf54378c61c7ef23eb2a325dc80d67c65d26d4c1bd1284c1680a9d3121f55a4b1c27b4c33c8df43efdcc53f46a0a00a936aa84283de4872e8e05ebf431a15ec0321a804d504fc7927a1f5f3bcd23a6aad4c54b993f48c455e80223613561119e05186a7ebfe90d9fba2830d956c20fa12153619de32840f68f6b5ec847dcc48f97870d2d51e0c6fcc1e4b018698a25b3c242bd05218999063edc82238a341be68360918c5418c3cacd4a0f6d30fde41f17641bac8731b607c0a1bd9c14d886d7ab49801093df617605453378556b722d7d18bb04d370172a147bd0655d3ab9a93315a697272ad48261c318b1007aa7a97f732cffa43a0d52fc326bc2d38a72aef3cb7ccfea0a244f05568491b30fe28167331b213847419a69a48ae31c1d552c6e2687b3149b4212f438c75e2005aab6dab9e436cf18cdeb49b22b2daf21214618acb678dacfcdc72fae164646d60a2fdbb178ba40ea2fdbbaac913d671012fc5881290f19767adf842286b24d427a02f357d7345ea22182822ba1e57acc2ba0221a8233ad8289bea8952553ed31582fe635e360d1e0a4f1d39347182f8fd3fe608d9a27c3066f838db2713b410c87b88adb980c3818614f2c425450e6490b8a7a249d905fe9f1ef92a8b5731d7e96167f8af0b5239e5d15460d6be18e91762eb4dea106225f89ec44580197c968533f8d7fe0a4f97bbafcebfe8b7a5c3e6e41e8d643ebdc207482daf34affce0fbab50985b865e6453d52997f1dd0a89d8e9b87e9e130897dc0d7e913745d05ec5e13e44c40898be5fc646d2679b6aaa58205f34478505370a4c6b55b5f0b2ce8c3ad87d6d9a07e7b7818807c56e7f7e2548eb895ddfc026bcd80faf1210619c8b5d020f8c0c83c8eab5f5db0e97eb8db52c7d79d62aa72b4fe698d3fe172e17eda137fe0ba0ae382e826a4665dcfcf80b9047ea70d9ce89f46c1620c1b623595ecc04adbe5523187bc2a8d179d34d4f4e16a9d3002ab770d7156325995f0856030e244c8684f74364193751963cc5577798bfb1c86141ed61c94af43ef141f71a5dacc801893883282b1c3ba1e54b57001c4de134ee1d5eac47427d4d823330827296c077c79b387abee37555c9c23dbf1fed2d5fe078c22b5ffa288d252d44dc266db42965b2051707abed2a65afe381614963371fd7e2c10d397d86518ea1bf182c0b08b46bffcb5b6b6ba850405e714324961ef23a8c0bea2903b9d90d85b4f6a6c1580f2fd3b188aec5d8cc2d05f52bc8702a96ee0c070d0ee48841ee45f84cdc5072845a8a7ca595ea05d4af6d8b1aad24ac8eb30c8e77e692b538719d8546b3d41180539fd5834fef6006b6d3f9b81bb34dfa738d0581b6988c7f1a94aa08a943278ba819f8adddcb0f486c37e52e364d400d3a0786e940876351d464e643ae3fc967fa0de8f6401f699c07054b9d235c3195e03b6aa469f2527649f28cd8799728bd950bdcb1d2b51a9f010fcec0019e670d56f081935c031337c38c812832c19a0bf90bf068f74ae167ba768a359976d4c6a76dca2fc92099752709b86bbb72c763db0a5ec0170c4d95b9ec633e2dd15054a5b46e9d12b39b6a3a187e26b624017c5b306eac084a448747db5a3b804eac292ac5fdcb29e29b30a8909f49bac3c64d96a3c3319e571497783b5270a618c0651718f5c8554a96f50a3e2bdbed654605eb5a5fa2191d500f7533cde3f000e61fdeb33bf32ac008978921186947a3df937b960cd65277eaafdb4704a2bf091002efcb83a9762189ebbcd666259686edb8c38ce01b7b780e802c17dd2211201076988ec051dcfa61a3be165e2835d6c012346a576ddf6c5ae09d5f434955d9be429916902c303dacb1c35d36e2ec6fdeaec39717d15124be8655cb6731362b160aa4ae4d9e27267be46639d7fd89fc75db2ce31f4c2733bc0c615bbad226fef2e410e9744b924188533c1cb14563aed11d3729a92f58f8427cf19183d0a286f630e66f49a98ced4fdbd5fdcf7edb369260d1ae8eebf34eb2ef309421b32efcfe72dba6fb945fd231b4820fedda37200c174fe7e674a830d1e284f78f4e8426fe2f0ddd858db915ae02a2f15a403213ad53cbb4bdab443cecb629c2eccf41bf252c2a4515e43dfef8c5c7d817dcb97ee91ab9e778728ef2a11bb06917879b3f32a4efc08c5aa7b3710c6f30bfb361dbd68c61d324e2881bb582eeffc8989f687c6a3b824de23439f2e4c5eaecc331de64f3fb15d119979c0b1b17690791a482ee4967a8d0b35f7d221c4e099d0fa478431b22dda9c4b630345502d7b2061c2da1764167cb60224bb586eb302188b3a6a21408d902c01f608a3a684be140d202991fc031926f6e6af32d43513ca2d076dbc24faa9bae8282cdb71982265bd95641deda5020124d6f85bcad6fa3686cfc28f1b7d661a7a992afc5ab8e99a7999ec8eb5154c599fd65bd6882689585f6bec9a66b8ace7aa30b2ceb577cec54d209cbec3d3e4e965994ed38d891489114256a1664f29d7b5121f316fcf3a2e512f21c3c1738cee2cf644702c50a08b28ec93062db863600f3b323a597c6af4825a5bf79ca44800392115faec725509237504479e3a806a970c1f034a086e67d2a52fcaa5e84b9bda52eccb7c1a05197c1f994a74048bc41b1e238ca7e89ae01377d55c179644d20a983880318c5a08272c210286382e88260eb7e52323fe14215fc62acdaf190c35127a3fbb78ccda93b03081c535f4c4bf04e14c329779d1183e1e0a99e3caf0fa61a864430c2b2bb7a1625d65c3b193ef7fbd5333a40ddb7eda82ff33f9e83519e4ff5eea32704cafc1a0d0f3733077d0cc6eb715f4839992172233547e9b5a54fee3c55da108e47b520f7e753fe5f9218f94e01fc5ca0b8b88bee92e718ea7d6e56a4c3897e87388a627885b329da71bac59a7b59ecdf1651cf4493aed6ceca5a7043f549f4248485f5f8a26bfb65e74e929a98285d83d0a74d51da264ab8a97898d957e329735cfb4e2a57a1cb328adea7e3c3c985b6c8d967f55f80ba6ca030cecca3948b98ace0ea2279c89ecbb1d477e09e91f977de171abee86c00f31c586fc6328864e727a45a9517392231d8c89f815bb13da6050f72cc501ea56c727ceffe9e343420dc4346de50dbece063cc849c97fbf37bee110971fafc8231464e00184f529a9f125e5d41c9f25c9c7ea8a7e26223019f31dbbf8a858e9d6e18f3a62e14b5c5156a0bd1682b5fe0077090c60633f3bca8893225857d13a6fb14325fb6846839c6e55a624daa0a1ba9ca6502ae4c0419aac14fbcb39510c10ab2f1a8342bf67ee08d86d09a1c458306f0cb46827394e0629afeb2a69c96603c16fd0633a550aa247121c4ab0942330ecd55a990ad96ee439bc20810f2deca68bb1f7f78191422c25051b21838538b5d439897fcabf8b20723b4ad0cf68f578c97ddd558b67a5dbdc0f8167453274400bab78c137b39ff8c46bc8344f37bf1eb7fb95929b2d2f02741eac80921dbaa78774b622bdd8bc4241f497f0ba88bea6a14886b56c0ecc3cc1eb31a2b1ac6dcf0c487a60569c75ba55d7b2b01e5ed822a924e09024dc5420b156c2b333b18c8494aeff9002a23efa7ab79507c7cb9f0ee2e51dc8172bb24d0d8ca0c81fa289b76b035592e9f9c96b09589eea587fd744539462e450f0090b1cc44e473dbc41a51b6ba56a81761d4dc1a9ad09348cd18b0aaec316c77a5083a6ae11887c7557d04a3070c195e148c33889a42d01e4266f391cd349d8e61bc2be1722a375d3d6ce26cff76148ef0796ab8d60abf45027485223286d3f4ede349bacbd7d2d3238bb0b9670d6bff3a4f04d72ef52dcee5bb47857a193310dc3c797145da9244b5f91c5a1f2f8b688051064e953b96676bf6a70a3a7752152de0a6e9939055b02957fcc920c0a79d7ce7578fcdce64d61e3063387a9373931c74ff5d5442b76ba8f840aa3facfd04cc740d83226a865070c608d708479830f5efeaea0f77622db461f816cbe1fa5ecd109c5798e66fb311cf1487ae8251923a9e52dda481b825354df0690952982e5e937996253f0458f0eae04089234f6ef8a2a7e4b3ff6abc7c15e3e8c039ae0c781d0c01f866f500966cbc4ea24b59b03ba652d25e2797c0cf9d8806dbdce847ece634e5156b7e2e042849c8b86d87387df5c0fd754d222c35b0c2959b895ad182942c3c13f8a088e8f8df86beb4258a5737c20ceba6475fcae5b18459bac8dd246875f6b36b16b7a660a4694808cefc334470a085f5446af97a32838ab6ed58c18b5c84c201fe3d222f7f8bf839a667986e90f5abaf07ec999c2d2748250e5a33baf91fbb1ffa72b23bcbe3d8250a855b7c3acde6ee2ab1f243537c67dc55b23ea511aa7ad11faf47895291c71154a23e3016be5247a58425739dd0fe5a5645012f1a0cb386237659674749316f3d80df5f76fd673cb165d329bfd1ff85b7bcfb845e970038aa8aba956132987cc6b5b25326f7ae12ceb15ee4c0e063c16561865defeca0f83bb5496dc508691b5a2a65323bf8b73051f9aaf5ceff49aff1cf4db60df214e864d1a6a822558bc38f199cc63f7b792e8cfb6b00af9ecf607e153ef6f9ec242f598d7f6becf1a2ec02e3071a4566ddf83d76473a864b6ca01be6160bb4e2973f67266abe883ab5f5f99085263f56a564d05afdbe7fea2d8608a6efafe9c5f45ccfaa1b93152b6191f07a0be3ac9bcbaabce3fcfbd60187b6215bf06a1735e70654d5d392383d29c11223a5076529ff78e9f936e1290e547f59146ed41d4eba3ea0648a47a62c73cc2732e4bbaa433ea27fdb0de5e74e32aca99740d010df396f01a2689b70b5b67931d6685f1aea9f1307b249ad4651947d4a9b3c903ffaa0c9888a2e3c2d67df460537ab594d5d64dc5726eff7839c1ba385441430e555db958a1727ea1171989e2f1da3c8ac08da5aa25b459c1878a08ddad1426293dd9a836d6f93ff0aa0f0a02d56dfc31a69d780e5a65587010ee6061304132765dfd98e28eb206c02c83ff0e4882fbfda77bf4bf9a8b06e8db1ad0a0d70962f71519f62ab3ca411235c602993b5c83bba701bb59013a980a56ac9ce5d8b8a09cc228593379bb58fb4a42a4f730ecc21e7953f78d486709d007df3260e7c927550ee2e553ef67d45e103a1a6eeb2b3f075dad7311db493f1383b1d950ae86edab4e5e9e22829d284326a20c8d504271c454dd5bde5434206207e2e14883bb00c01630db035f49d65c0a1931deb00fe3228ff5497e2ee927b2c062c6e54809f42d42d939f340df9f8c62b6c64f4b875b6052f38e8210af2f3bf74718364d8901ae6b225b67abaa7e7b8c18fa7981429445398e428d559ecfd8944aa42e2363f50826e6182bcde93185ae5d097e062acf08bb59d6aeae813dc2d22484a5386e1dbb38489fd1d440ab304965152c7f3ec11467130a40042acbba506224b014c8522d8f1e4d5e563aea960eaf0c5f98accb10e42f7565e8941d8f10500b52f19c45cea1b06fae47fc14eece089e45400b0c901a85b57f5b6793c2bbc4196c8cb6f3a0ac307dc7c6494629368a2c5982bcfcfccbac0b1d38235013e1ac5a0b531c2fc27e9b5197a5bc33a9b25c31518aa39316281670ca9ee25e7188f8e8749f4d8826b3f133889e6e6aed47a17f9b495069590e72cfe63d5287ac2ac709cd3d0117ad24e721cd6d6189e9335dfcc733604b19a0b76a47f2d5df656b3860ffa9caf7f5d900bd019fee7abf2acde5e86b8266a6c44edba2ee344382d997f51cd286966cd9d9e42674619b7fb35332b6bf586b5708cb24b1a7eefcfd6e2cad41b8a20b4b078116d67fa7df108fc15f30d42042749ffe71ef3dbf53be193ee7040f82c2ba0670e6da7312431a5349fe161a202a11fd5c0eee33486341ec26dcf8a297ca1c6274e3393132a13d6de63895e6c176b9a69576079c87c3d5c4d07ce3d553db541e73bef8c4c18c2fbbdfff296e5d6fd255327401192ddd78f8ab2ea79c6336a118934150a0d1b9909e87ef388869dd9861331f667ed2729856d8d6fec030a469ee7a1afb77914acec039dfb7c51c858682277bc31703992cba18555d58a2b17bd685d14cf9b7eb74cba72b83abc97b0e066817340138a0665a0eced79dedfcafa4e9f653315cf417bdf1a5a452722a115c2234a109840feeb0dabf106e843e38491fd8dad22a916034fa25da9842b5e5fd5d2f0e93b25d91296d02161c8f8063251b4455fbb416d8fae3f2b2aa38d675aa80afea2f644afa833ad8fc3d0a17f941004747d0c5782ec22f218b33448eca03ee822b6cbd28e3614a665287a43e7ab44d0e1df8cb0c14a3183ecbbad00e1f41a747a8e1b14f322a4cd2b55070fa57a3500d4e4bf9d266f959dc43f7db8790b9071b6c0c4995979dba7fb2dbb1fb5b0300ea01f34f02b02342181e7721a0a594998ad0e093c994b6236a1a8cf6ed9400acf35a99a2985bad6dbad1c5300db760a7a3cac8f03b4be5abb4777382ee4295848c86f37e8fe997971f39903c4165e9f8c9d80b09f82be65a3ae39c5a2fb6898ca6746d2ae02255e9585237f7fc7df8477598f57c9ffd8221c8caca6088789f8a0025c3510a3a69005bd4b971bbf1272da3618771a7977574d8341ef410f77c37a6582fae7ed75b99bec476cc978adead2320264cd0774ad5e005aaa02bf952011d611c36e93a7775524d03a71634f0cb4abfc5240b8e2da817dd0c1d872e095d4ea9c9c4dd51aef8732279ab4ea0ca03250d7690ab66608eb7b53a436eb6832594499a225f12df2b738177c1e97316cec6748d1ca7d24793061e272efcf5e3689d333c57fa48675259f7b5e446e440ff4c86fee19aefce3c968b140c1de9abf9fed263d1bbe8362006267d1596ac01c4d6de3c8061901a781b5a852ce5bdca57bc0aa11ed2d276793ddf3fd1751523389dc77f530741860041e1dc082270b435c995ee5bbefaf12ae70e8fffd35e453879723d3a6f24539e17ba23cb97dc2bff72145a5efa3e2fa72347eb671b23b33f3a30233ece0e065bacf16d2ba9d15534964dd5042914c64e3474f13ae934122717d402d19cffc371f80830e4790f0e3cda28d198e282e1a2608ef568c273931db76558c2c66755a57941d6152c1855d94547869f9b308109ddc675dab8c541a3ee32ba1f236d8ab78153323af2e9f40a06b9eea6e3d316e3ae96b488408e0192ba83808cc1fecbc96a22831c5e7c43a41a443f02b6df39b88f7a71f8b5309dcb8fe837dbedee2da67fdd529850a17870df140ffd02e1e56d5909a8e60b4e40b1f11fb054eb91f88f46053de70ba6a72e4069b0e35f70e8b989b41321c0e3d72f00852623db6606736b28ca16895365509492f22bacdb1f8d4b43cc605b8494a7a43f40fb2bb7395fa784855f5cca720693c00274aa572c7b03ba2e2922dd94fc84d5180f07ce3b824e2ecb03f20e7a723f3a271c8ea59ec425e8057b8776526e418d1bc195c71fb9549e7173315ace03529cfc7d2242be1bbf5c8e08fcf05bd634f2ffeb40fd5f3b6039fed5423b3bde0c950d554a20634afc4d1e00d8f14c446cb9ad2943f29cbf7ec5cc078dda14f3874683d0239a783a6cd10607a87827d07cafc791b6841d526f9c398955c2df4be345563ce4b6fec137a4d62c0b361a24ed03504d6006dd8bcd22b5b3f40d424c4d818e4ba8a6b2f5e16cfc5378c01b4f63ef8cbcc1a5d9508d7b56488db594b223fc8759c173bf80be541169614c07f1f72eac236cc3e31d14ed98d8421a187d24b5b28d29d6accf66f02db6a8e3abf6d27c5c8c188166f55a79ad724fecc38802e43029b36a68717c0e896a10ed001380bda0a6ba110072488b005d147ab4fd14b8be4f48c24f14153c9182f90dc73394f76ac85677fe8814ef7ab35fee3e3c9552edf7c73fa1330db628e47e8a3e13cb1b00613d29cdc0fb7e078932acc16caf427f64de53c051ded78f0ca0fbbb1ec987952a0c3f00bc7dc308a97d59190168913e17a02afbf5e8b53d5cb0c4cfb769560666c38cd7e37f63c62a8d45e00f9a63c336dcfbd75e95ad8138b28c8d3d3b47b580175f0bcf9e9a65603c3c3f92398d22bf3769cd7108f62d6945426a39c9c455950461837dc8b733370677cf63af685f06e13af19848ff4a6b43f2d3df6a7c554d593679ec12296528d0b6f90f956445c1fd8e735af0d85a7d0ce7954ea5740c42eb06c26a9cbeca3ee9b92c9b5f87c3d2f4734be5394773d22da4916e17fc37efd25009c1e29c3799dd05a74532dd06d4520fee394f6be45a81c83d75be2c9f7189b197f92bc1e3e22aa1a63b80991d7dff038bbb21b2df67dc9f41318bae40ab5db51f08671990bb366b905df2d17b5683528d0c62d0ad944370a029e1f91f27a1139410232e7011ebd3314612a78f376bd50d059702f58bc2751a5b9637e2d846e33cbf2dbace32beec0514155142af758b214242dd156dc8e822f87ee3be07cddafebbb9e0b353c7e9243264fbb6fff13a9500979abd35055040b51ad6b96b15ef9acf85e7ba95c88e616be8cc629aeaaed4fc25c3950482aeeffd1f9d1bbb907d595b4190f55d17790a29e4174c5be49350ed0dfd728502288ac164d4224f8fb798f0e82858d4731d1cb38c12df7c4e1a188c2611c7aa2880d4b456ff5655a3d83c563fb13167041c672953bda50138c5dac0e2a3b80feab9a5e67ffa56209a283163368f91112a93567e63fb587888736e590b2e71ca435ad7a1cac800a406b2f21a2c4dd04190ab2b791d5a0b4a9e91785f2d3851bb17abf5a8a96af5b9f961152165f449651144688173ecdc9a95ad6e1964c2544a2f9046677edbfc4b8005ff0eb800a377b05450e9ec33f9c75f6badf012189c92688ce6e0bcdd98deacd098f48ea9ab4a8aeb7e5c9d77316fa53ab0b50123a81026932d49e0d8f8f1339acb2d03f41fa0abd8ce894a670d850f08580627a6ae37aae2c31601878e34472d8f9cf98c3bc5e11d61f1a5e52715179b8c197f5ae94805bdb1914453d72f758ddbf6507c53f352e3638f88ea6bf492ffbf16e465c6ba63f23b3da602cb36a43218aa1ea24dd2265acf02e5fd14d6b45184d2f5a10048e1c59688c88d13a9d88b3cec8b7eb6a0798b9782d0a3747e085d0537e474b19fef0c2abaf640d21511d19203e0b1cd05c6ef7677484229b449dc86c95967ddd8a1336ab175f492a29f8eb504acabf2c35989c82ffa9e10cfdb725555c0c8393c2cfc1b4114d01f91b92aa43640ee1d61e0c2eec6917257ac93044b930d3f3ee2df10b89c0256dd5907df7b8c52070011e5f0d02f0d1d2cf35de09292b73f0f6296eefe2f205f37ea0407b815f1d8a01f1d41c44d19f3f2eb3cf1ad5b7770d8ac7ba4f45988aa95b8a2c1be9b9d46a390f2c9c61b6c71c3ab0ce8f5b9ab0c304bef641ca2fa57eaa7fe9ef62cf6151a2abfce3f8f4f76c37780edc2a28a338ee5bff6e7f5bab563edca07030e3d3d29dfe1b007d4bb71225702a08e313af0bd9bfae5043946f7d1dbd714df71a36c091d0eb0fbc294c01a4d1422673206087fea24d1ed14557c6542b86fa225e27ab1c5d1f93e4b7a4475ea482a8ddfbffc51e6c7afde03864844f8996f48dd71e5d903db87f4134aa74ca0eccf29622acb20a48f45806c5e4fbfe7a30611ab52e9bc248dbe97bbc69ec3b176bbb4866f2d949d7ca5d3c8d3fb26b02ac604ca3ec6a70159140b0273431eace1a8c7e3ba5cf9785e18d6ac451197c0d2f5f1dbcf68421ae8437984a764133271200776703a86e278e0cb63cbd954824556aa1eadbf4829395585d250ef8b647112e0bcc6a1ef1f35899d74587ea8fc452cb611ee37914994823e05e4976746bf738566b953551c8e4259faa5c41c35745e4174165bf5d12a5b1155c32643b688db2dd0247d051f2d73c2246eb6498efaacb5bcc72182184bbea21bf7616efa8f4165c769229258f66854eaedd98df5cea243bca1d53e3e83f57c44c7c59c79f0e74cf725bf68f9bc04eeb0d509ca9e6efa505b9d556d13291eb4538d9e3e59c85dc43fb389c8fab241bac0e6052aed5b807b49a8b9f6cd762c6352f8fa83ec66fb23a678bafec322906c4a3a70b4c2fd8f56540b4bc50924408cf109bc46be6299efcf796da5b9a0f3a6ff6ec031d5cd522a746c8404f13524df18f1f8d7625b72f783262569fcee5b74360d536745554c8d0f8539afb59c250bb30bb554ba363ca35116cc14ddfe86d1ece9f7d4d724a69ee90f646f06d38d57284f57752ec69e6de60ccb24a388fa00f114d4800a2a870ad2ff223f7a9cf4d0d060f339ecb9f00f35e860e9db4f85a807d64832b0a5dc94844962e56bc11855b0149fae625fc585ecde460fffcd4df022c8ffb77fe941b9f53d0435d7ffacd1fbb77af0ff9d33bcecad71c18b6c6f5d0f2088cc34f349cd27dd75ac2a5fc371c7ef674e828c65890631adead788e1740b97c6d9e10da1461dfef6d988bce13558216863f76d2ca674f7880903d42971ec71ec323f1327f6b82002f8e404a3110c6412198471f6dd6f9a885eb226ba7a1dd92a076a8552bd477e19ff007fd80be2c084a41e07417caf70764fbff1f6221736ea27d32a0df8bb55bf3cb85fda123831e3b1c175e14334e4c4bcabf89081146e477e8e1645ddd157af506d20da8b088a17f40d03a48fae3482f9e3019154acfb3595250860629b44c5dc82abc93e6205972fc05eaa9d72c784b8f7dfd4a006ba67acade4252875aa7725ab9516cb103fcf020986b56982c2600de9da3ab0b410489ece9b305c3eb9e07ea9cf97e6a0fb0f86c195154e72dfd5d86b39deba1eed6ca0d171c24158189494b78f71604d54b5bcad91398714243f7190f692c5f290b32fd9fab2ebb863593a1b573a39afa4503d48016d8eaf502117243bd5571897753600af4293277704aaaa8269d8b0cec728a0979832f23e3eb307b65563b3f4aa5459da7966e8c4c890f6fd041e4fd029231017291c1b3c12b15217ea0f9693a19a5132a04358ca7aa4d30937637cb314a4862ebce9043a514294cec2c1eb0e3ead3e33c37a1b62844b060bed7c45fcebdaa1d09308ad859dd1c7b9de38863a5043c0ade631365974041286635fc523084775eb86f66205968bbcd6743aa9884f19ed9feef9bffe110c8ae2e5b642e21fc9565eca52bc330950bd4149438c63bc7e9b01ce20c38889564ef58be3ee4ab21f4251c948e64c57e078cf78e50943ef68bedfcfc4d10d77f5e3429898895175e30a0073770506c03613f8f927e816fbb554ff500bc154ad876f9638fad9af6f961e741f17e5b2e8eca4a99f1c93c07f0881712c120ead2360c72ce9fdfbe15fca344ad55ab5acb4cb7dd34281c64bd3e3d2a6a78c1627016b2096ca9b19437306b5ef74bf8e0dbe63cf9146b912532168d437464dd1672ca7ac32cf115ed036a6301a73d9e90acef71bd5a425b7f6adb40a8cc42e5d6f46f39172d6ddd16e17a4eea38023a141a6efe02a4a67430c837011b4aa2ee5771556f5f7d16a86fc66120dc6d28fb4172965ab9f1103d5ae9da0d16182e462dec07e73549526ce128656d1b91b7cc65b3716f7b89591b0a49539b746373de66a2f5bd49ab5f37801d840ea6bfa56e8b9aeea62f614c18216b483a8c65fd538cd5dfe068cf735f93f25253e0d775cb3b4158361bea7cd75e394a493828f759658593f1ee860cce71fd825b0453ad31001a9348f772a0adb0d68ef90af6f4138b7ed442cbf28a32eb9a10ab991af5184b439f8f6259200a4f450cc84f1f8e742c78a3c906dc8b5a6887d91a523b3d7daf5d57ba8b01091ef78830307aedf14e28f800484fadfba97d8d474e77330dac27a979caf5f8dc07b9a1e7c8d845d2f1659b3c1fb0e6925d24cb5c9d85d48e4103c2e449606b11a89732f222f4c70090a4d8880e5210f4bc36dc56bdf96351d2bb0ec4a923eba839b6b2f3ffd936907017a4042ec22e55dc20d79dfa9d0b3e6ea9f6a33aac4d91c524674c93c2499021550a33614cd238cb2610596ccdd53b340fd11d0a5168cf4f559097874fc90d282bcf774570537b79d4c940ec1c6a626bd0fb509ecdd76d4aeaa9028e47ff8f8952fd52d70cf61c2c99afbf7b43a50504bd4accf4287b44faea1232cc05313b856fbe2345e83b327fd9a2e8744ba89c197f14581cc858dff0bdf42fbe2106684f1ab78495c3cb6cbb1ea0dfe6547ffc170a86fd34ba3962f70b67ce67ced33c927e83b2c2e6bb9bb795c4e589c5f6cdc32fb1ea1e3d967d943f282587e3d9c01195687edec934a19d7e8c7db20d5908e2ae140dd2157f24a793aa2c0dd5da0a1d6ef2573459188fff21eb091135fd8b4c77acbb70ddb22e3c5787d835cdb3d1ebf656afe94b57b1da02dc810125b1578112ed2f45c98c381f5e4f1f119f1c7269dfe723b4c32f22733b165653283eaf1baefb740024b734431be86301ae272237ca415eaa927f43e501f0a7bde7bee8f64e9a11e797acac443b255c143133c0cf249d3cc778dc60a4fb5953a34d4e0077d3370a878de166adade68420879b0388c10cef2570a575a6081ec0431ae078f20c7d838fb0d27824f7c508f2c121f087a1994d74222b91ec23de5647803b090da040674a44202a2e02d762e0cf2454e5d6504820a05f52266c84cf0962867d5759a895352bdf546545d3bfedf4592b8d88f92554ef0198c5ce60d762c525d83a4348d2a42edddca8fd120af726f797aa0ebc82ed5d1c2ecd7058ad9510ff0aca49a98d517e8f768a4eda296cbc7deb9ae64c577c9dc5c0caa9696f5ccdb5e9cf8e5ef4a5654c700493d68c2b57a2c29df1df5c5b939e57b0156ebba47f954dea2a404f22446c3817c57ad64178a4ef163d0c5e22410b4759abfcd40856fbd409879619401f222a741666225f3cd0138bdd4b9fc29e28398850d6ef84c2e61fe668a277d557feb192bd81876c5060e40f38def1c258a9bc33b8e07eed00492aa14a1b41c353534c9ec1d92f068e1424b45d61b2b7d31db09f45235302b57bd3b2358691a5ab46962d4451108faa7360a627b32dd97b0e657c4a6b85465243d5c1159d8603641cfc699b7106e7797338b6a86454ba7b6c5efc94550bc4716278442cc0f7cdc4dabf686415600c04aceda142d4b926d4cd418dcbbfaef10ec9279263169deb734a1122a91f79c64838b5051470afa9149575c376bcab50ee1b7b91e3f21963ed8ea275aaddfabf56c48d9a2c8d3436c868afb0e5b23c27d086e83e63ca22e85693640638081375c11c8b541137fc7e9fbb228e59edeacaaa8bbff3ec9b70dcf08803a7ae042b7cc0b296c3de712ae13847f112a069e892b1bc9d78ebee3b8eb72913de49a9c44b3d7b85045c764f53fc91a0bac0f3f46518d77dfa50f5f3a7e95a71f54dd17b55461ecefcd8dcd667622a1a2296bc8ba2df5939dab0c2ef8d17f31a8330e7a6c4dac954310ca3b87783a4b0ba917a1de44fcab2e6784d87aea68addb366c04748ef02344304d0801e0513b3558795cd5c98cf546e15892a0157340cf43a4c5601348bd964f24337bbb05a880a2351ead52dd6ce93f5eb312ef241baa0bd5c7f7efde7a801f292af7a3e6ff840d776b87cc3f9ea2fef255265b19310793b42f812637406f46dba1f5a73e1093483c16f3ce2e51060cb7e38742587a5ea183505e81a375dff4858556edd8f7cff4ce5217aae6ec5c6302a43f2052d540b964ee987ad893c0a7d0c73e4c9e0007fa064c14125fdd31d3e776a25a6fa4f9f7a164ceca0912c58b6f89d9dabffbd76cafdbbf2eda32b850e325dffa10ff74ddb42db376c218b6f1253a80373e03d69967e58f7947691ead7e885d849a4499d36588ee83bc914a347ce023b183c594e5d9f8a43d1c404c5bd1b18a37db1aa483c52c9ae27903130ef57f71cec948b21b343b0c30c8854e4fc466fd1096a5f9c951840aa394652bd4129079983147b577f91a9d48096219c090e6ea6785c06401db3e800368324c14056842da4e29378abc72ad29ad125008178aaf2623d602f12da73a13e336328aa7c93c556103d814b6418cb91da32ed11b657ad55ddfc9e8669b627691d799a1c539b971ab8e610f05a8d25cdc927e1d7f6294d5157d69d82e16db35d9ac5cb4cb48ef85df86a2703304aef3aba5f44407f7baab5bbf2a39354cc41e86dbf16f9a370ea39e65c713db8a47b017e4ce9a03e19782f214be65b9f60e5d3bd46974d196b90325c62f4aa6af6e3339bf8cb88ef1cfc54fd306eac640f7fee921ba0f3d82f957d4d2791ae1a20d949203e448748a9496e4bafc91b45a384adccf7d0a02fc618504a69708f27c00a69ca5b46e5b6fcb6545f951e683eff356406423d394aa1b791335d6a6d66d13c51fc0dce81be5a2f8167c63219f8fbc3d182a30742df27d604a18f548fec8e762d4db256a5a7d181c9dc9da20692e77dc83b5e0f6c2f33951913136cfae869e43bfd0801dc7d7915b02d01ccbcb07acac4b5fc8254929e440fd2f970d063b5d703c8d8a82b98753cd6f9fffb1046038bda043cb48baa85c74459627cc454b1f3695fbd0ca5515f8ea42cfbe116e685d4a046c6fc531b7418faa5ec7d40a59ae4eac4979b3eb5190f67d8f20db19bdd7bfcc02015a88f41d4460aad501a44574271519c22c06f03d09b66224bcef2718617815c36348995fecf162f07873a7b3e5adb2018f711d75167b214b11b6a6826a3f524ab64c29a524539229c9d401ca01d101a9042738119c40e4698210e247fac0c19824d5058ebbead405ea495c87f2a4e94e6217def810346c28c6d185e5d96c4407412b30f4783cf6de8b3d25f6de7bb7bdf73dc19eadf8e422ddcd4a31cf6a4d138dd4dfbe1a2831b805832e6ede136dab9551a447cb7a074525058d1e8bd035a8dde599d7fcd5b30f16c9792b13a364242f64311b17fca4a5736764a40ab73a539df4c9c65ef310425e93f96617b7a949eafd89fbaa62d55b8f7dd05f1bcc6526d5a72e388bc35f92162eedb5d3f939506d487e0db294829f817a66750dd70a1611f221dfe2e2e5cfdcb818f478b6c8f2c82822c3133cfd5a12cd0bd8d026cdabcdb6ab23f2ef29fff75e1b076c9ea8c2407c79cfdda7f9644e87f4a1c7daed86b41d6b4152c7ea29e04a80c08a09926ae45da24ea7e3e5d3880ac34ce48e29c8ac2f6b3a494939d2011e08b554fd3ab1d4c0ed3a4a60a5abebc8401701fbd31590aa93f2d55680005f057c0802d07d18fffe742a5e0ba0e61817798f476c23aafd303247e60b952166fe80e139c3650f1a2fb5e00d736fb17ec5889e10418f1d1dc35fec8886e16eee9dde8b4407cade7baf4d5c2e32d885431387699dbacc7f3b71009dda44d6d4a62986ffa95accab79ffe9bd9503c4e7fb99385e89c3710ea42c033f23ef4287eed417a51e2c673aa2744c6c1f8645bb80d512bb2d49ce5abeb47627ec10e6a2a689fda937e7c8eed1a2d71a458d362edbede671b834cd0d0d11112575baa2a2ddcec868f825a00398016891802f50c0006a4047a9628f88be2f3f3aa5960e7d5179bc0307905024db0654732170baf11ccffd9c17f3613aeffdd09fddebb7bcaad19b953524d4503f9c7d4adc0791b80f421df5c836dfd6bce6f587d43f078095da3c3e0b59222fd2460cf6de891d9b474b38e7c993ffdcf4d3c27ce46527d3f6da1684e3ed0e6a96867a69cbfda9f18be3d28f3f310a3fbdd26e122d97d52b3169117b0e4fae2188637a0afb4f4bd33477444169dd347330d26f62ade253c5f8eb86e263ce1e97e3389c6ed5fda23f280a2ec7f92ef7354be01f236f9af6dbe52255a7e67eaaa7b5d6dab388dae9a4a44c8ad1e28bb16943ae55b22e227d18f1317c12b916a182f97bacdeac76ffffef9ab96b220b957ded410c3e83d459502d03866ee18253d9be60a14287d21542138216b44155e0133285df1d408234850978092f3dc1c7b0237ed280a80191d898189111062983146986541a34a43468e80ced6c6810939a6652d3c9b4a456f3a949a6d1bc9b73be7d96f78ed6284c16cff9670505f769efbd6f698ed753dced69e74b7bd9abfdbcea59c686bd8ab78b1b30325e9e78e7fb867a1beabbca3bbfedcff7de9befadcf8c4d15bdbdc9797a0056eb539f00b6f71fc58f7b8f3f574f9ce5bcadbfddf846fb466dfc84beeabfad40b7ffbddf6ce8e71dff9c61789b73596ef5a6f5defb0407a1a56c08ee4146bfbab7cee7bf616ce231e47d13a8071ff3869d0ba7443b9a198bd7766ebb58d80395d4149f14870fd51a5e5cc497b6a7bc2c79c9bbe5b6b4bc4c499415b71474578b758336eb0aadd6ddb2f7da3b96bce6c5e635b54c1c6965905f625e47aee2b0ca2d425c8357d079cfc2ae11cd8c61b636962c83fcb25ea5d7323f9a3be71d85d75aebae9eff84fe1c6d9365d8c68b135b16bbdc10121842284e98220429a558d90f236a764b6e133b163d1c4f41aa2d1116584535251565b4c360a1c2847f45cc20f4addfc6485594239e22343d48ea25403aa01a2000c0c3efa0e3b04143d1af28c305280a129c2038e0fd23265f80effbbe00e5d2718958161b087d0cd6afc4c4e4f30181dfea5b014da087103e8040abb49f9507e0adaafac00facaaeae0240708f45554543a293a5555545d80a638a853d2414929a92fb5010420bd412a2aea4769909a2340439491d137427f507eeea8ad055736891b76c4743d192be301c38bc90e355e7cd0b688e150dadfc25adef197a65aa6c03b3d77195fedd68efafc537d946cd282bfd114c0aec76de65d8b84cbdd754584b8bad79fffa2428f77ff197b6c9a2657b7e699dc859cd13556266d2fdb076c32557ee055ee9d2eadaab4551f94bd53cd6b02eb199fa0a89ef24f2fced6fcf767bf088ccf9cb5b616e7136faba6394d94f07005d524a57b197ca691ea4ac408bb931fa9bc1231c284003ebdde53b92badfd616bef77f6b3fe5a02772a998a590b767cb2e5e4c598b74bbbf5599abf3479369ff79e65865bfed29abccbd3d87efbb55a5e6c1e71f79bd7c41fc320dffd794ee149b33ffbef53774a32b0b5ecc8f0c4f97bef77076aadb9ef1cf2cf7900ff9ce3736b5e087c9e187ffe6566e08865060bd0d026cd04cf7821cb322b99d98f6b9636efb22c3a62629a2fe2201b639686107386cfbc233577b8cca3c4a8ecdd3bc43e43a7b684e45c31025683ca45ed9d315e6e6e982e6e0eb21ec7a817b64d980241a26c30c11f5b5335d31d3bb688e558db64c5e921051015e1151b66082157b03347285867e2e800649c63258f30895999a83277f1f7dab4b65d6bad75d75df76ef3e79955db47bdb7a96599e20e8accbca48ddbadd108002d65aea78283feae0536411c7fe41cebf40a9b32a8d1b77e17c626499ebb2c408493564642606ad4bfd1c7299228792ea2b0175c3741a943c1d182621eee68c0a81093bc682960b3fbcdb65870534a948cf96603f3d37436fd8b6ba5cb5e74a768b6cee0f7275528f7856099789ad515534a90b182dcb979a6313d22dc9371ae1a874209cd70a960688906da1772af1c732a68dea231d8b4ee5df9faa0dbb1d6daa8484d1aa81b447dfa741324779b7aec7c9f9352a65fe66c9c0fe3586949ceb47ce154315b086eb6a88bee887188b6a9b0cc2150a8c931e6c4c2f45054672d6beb6d2795f2f4a6efefe5e384086d4dfe4268772890c04a52cea6d0b061e34b71bff70e05bfe50e8594a71d8a3603e6fe1879ab27ff4dd0afe4d1004e3e29a6d35578b5e0abdab466fcda476ca8e2dd78d4eb0d940c85016e36fbb67b0a81e854dd8b0d611e10151bf1d93b7d90b2dbcbd57999815e8395f512696ebd2202eb4b1b5c2ea5c1ec12497d6c55c6c34ac8151da444249696f6545d741b2378846549edbe9e7ab50d95562623bba2a8aa7f78fa3b23d0dfa5ec360a5995c15a85700f7a370b5e508ea7ea10c66b935c636bb3393dd408150c402b4a70db5fec785a4c5f2c8214410a04739a95fc72a39d97bf0d3533bf94764298718498112453751d504d0213df4650d221fc87d382aa9f3521f0957b035f501645345db03442591ee2dbaa72072d438006fbc5048cb725cc7b7412d1569e54dcd30592252f51244cb7edd4515b1567b5d4419ff19a434a4770741b6b3356f1dbe8a15b82b289b4125348213ba9919375633b59c3cd7925a1d93552b7dd88d76dfc02f26ac1bf25b207a18d6f13930f4f220cf1596e9bbf172cb66e50021879a11a6faa1cf337ca4a0e1c2e84d410fe1de1bb629397be471000ddf95cb86a26038f9552fe09b3db16bc9dacab5649db5984f6ccf0ce1411d668032e1d4a187fa59fbd0b0db35674937d5634583beb6c8e0c2bb9dd9d82fc0dc59391f59ca5c71ce258bbbb9a97162154225a8152a48da81fb3362e32c67a5f7ab2fb8600b67b0f7f31812862a133d4f6b7d2a6f7f426407e522cb36c998abf79107b59f4c3dd076fe52231116ebea67c3f4d59956272e83ffbe80dc62aa553a04818a4e72c3a191b2f680f19399ff93f345b7f2c289bb1b2f3129d7fb16440324f15d8d5e64897c2459d76f42fbae88a884e89ebc3b224f0933cc53a505e20c2dbb4aeb8567506dceea262ccd76d5af8f0a848c0916f40d552d1436ecbcaa8bb9d27a156edddfdaa47e38ae2342af9a8ede521ae7a8dce66da21b8367477acebe63ed84b54f11b6595f4d11cd532bdd24a7cb849e349419414d613f51df5f5cf6dee13adbde890ae779ed137e46072b719078066d12f70754422d9d946eb7b86a6c05538787eec00633038ffb5487ca79b8ddb67e9b0be156559bf25efd6fbb0a5bf4530310918285b1f447d35dfc96466258bd1e7acc4a0937e7530d0a1adb843a18e3d7b3ba5327209e26ba171c5052c9f6ca6f1f45872183d3a5b400e63a04711573e539e44c586330cfc8ce44e8f8832e5b3dc3277a7c13dcba1a516d059dbab78f95145e680eedb88fcb0b1628743cb3222a6c23c94b90fe30b4cbe384dddb0296b3ddde54490d20005729f0655aab06fa9851945368e1228ea9df9f712406e3236ab1cfc4d01d95aa02d64220f4e2f830e715e7e1c7dceff94167cc9a53bdc379ca87a4e2b93d6c099f8074c63a653a39d3d623e0520286a59099d24e588a68a244f28a70c1d136bf8561231950d5b0d53264e1a5e250b9d7c596a658f2e1bbaace27c27c56e103a39d5e5d8e34a3a1791bcb8d5eba308c574ea2ef4006f0404a442dd255f7259de4ee01f11da0d4bd31e6a0f10d7de896c9c8fd0af544b19f0a086176be6509bf990e127e958cf4a702ad359873d3b286bff090befd185b489f266e68d0138800dccf6171e0e7dd9dfea2890d7dd54b71c61f349bd2b96584ff51c29690f85c99a4da01ed738eda838fc1059e9456a4ce79fcdbc22bea63994ce38d061a172f945319fb234e5855a6ea2a0a7c52ccd1bd2c7a5f16f48e4f5405c8f340747d7a644c3769ba2df0450236b4770edc0badf5e2694923de6c2489c03fb1e7f2cd9123c6811015650b88ee6dbea4d06d37fdef39c7f252a65e0e2526fb0060b45692efd59991e36abe578791885f46371e01a0059086d4e86c359dea3f2a6497f077c4bf13f9ad07f69f5db65acbe805b9220fdc329ee030b88cd46925981e2f1ce86cb2f9d0a21d2502b1ee36e6e59da3cb0d09c014ca9a5c3415f0df62d3b9d9bae64961ae1e19a2d6e507c3fe586651cfed2af050f4a61426ec1288b5597c3d27828763548035156fd071316bcbf6003a9f50f7ba594865d98fa91ee32481d5dbb3b7a3cde84b527c7db78e6b957a34b95d9367975835577b306c8419010dfb6b11a979452869783b795f74cac85e4acb917061cb8fd30a26af5f4eb81f4aa31d987d18cd4aa50dfe2060f0a6c04a29302dd6a8ecad6a9886a27652eb18ecdee70e29c5145b5ef226d2632d7c8e60f75f8db55b749941cfc2f3067cb40c444619ba7bddd14cd1d21470268f489356ad95ffef81452606f4749914ebb4d4283ac1afd85541687bb5d8caa401dd6200445addb4ae2a5f96c34ab01902dd18be64d5f1af1a4115851eb016baa2b1de0cafabb4dd5d59630825ba0d76f46bc8170b156601e13443dd26c1ad3b0fe7bb45e05b07ab40798807f6a535a6c3de45f927b5fad3ce12a11c69846f63f0860b41b72cac50be0eacdac9408340258d5cf72fd6241b3f22daf68e1f05e0d838a698510f8c86009352dccc4649dadeadc71bd195cd27e44ec9928d9c07be3eacf5dfe5335fe5c0aaa2e6d696586666d05cef387b1ae49bbcd69e8274d5ae3a75953dda99bf3073d67d9001cc1ab6a0a54c9f90837934363d48de0ec1131cb2348fe3e13d03488bf25a15cdc0957e8cd5fd5de8dd23d27170cfcd1c9914a3f5804c2472097503ea2bcb9477ba3753df3e27a9e2218d346c39536d8bb341c941ce32080bad06e2d1140c1b9e9c4b45a606d03102705c40bfcd0e6f483b819598782087fa9cd915362dcd472f13d7ff78174217e3b0a47c761bf74fe3e2f9dbdbbcd1955d91e3a9380ba4cf06b9de16541783c0fa539aab64bcb56da9b24fc7219ee7f79836686324f71620baacb6e177c401089f8c508e62593182b27f557639cf832ebc645f240b3297599be0eb060edb7a814b62a730797d76eb4d93a9ba2a99eebd6935a86e315e52bd8a50736bf841648bf8dee4d68f04a40c6fc7ead1ec3a93db8c6cd948e555f74eb52c698386d338830c5816ad4932bdf6f756b203c4b4b56e1449003aea4f4a49c4d8c3927a5b57c815cde6e42af20266d45bec2427cb9ffc26109e27714fb7a35191117c2e294551e14bc92d393a4636e458c461c33fd607081fea48aa5272ae300724696ee0da1d1547d236d258b1d06bde4b502aa46b25444f2d8961182c62f42b318e823e68b9fd7be1369df064f965389551523fc33eb4bf54808f944cb0ca127dad441e836108ca4da4aa5e64ada6c6e8a1f267046eaed2f2147cfc6d41d730fdf267a3266ad416066d7134f266f2b0f47ab0bfdca500543c096c8952a6ed00433c793bbf24f9774ddebd042c3d45f2a877ead0250ba0d252e8df696e2f99d2ab793f8062da7c1691cc8de16e6e9148c98e9cbccebf323e08d96ed539a27cb95bc16dc6ed2d5ee15f925041fbfde183026440dd49c1a09137a4a68f629741880575387105a11b4c7bb2a9ccf21b414c9e0a1fc9b1afe900ace644c3cad0b4e015a28cf998b0bac5086293236951e55f4caf86fd65c489c3a8b315b127228ed761d2df5d365b235722261134242ff13893a971b3c6c18c97beecf44adbe6726b3ef53beb38292fa9e69b6bf9da29c9ffebc7eb4f8d6749943479301d3d67ebdf7acd9a2d3939ad6f02fdad406ecbe3b22b2ac98a884b3527f51f6c315aa5c9eadb23f710d418fdccc1f837c31202f43897f5c2e904703122df08ad65de026f92cca3eb9c295ad1cd8a9ae85b9e7bfc6e235fa019c0b1fd5c6a69f6fbf8d0237ec3f738092e23b18baf7d78f592f108595cd65a7f4cbb722da6f8ea429ffc60331d3f528fd8ea5dbce5770028f30fd897d74ab5accad7ba90320d5161d086947d1962698d6b6a052ac06b0b9a45a9c5aa9472a56d1dc9282964f07e8f2f6a1b10888b887553b4a3a59c5c2c8697a1e8af3eee8ab265e359de8874c9ea6729d18dd5a5c0b026bf158dabf7fe6f0d0ad1e1ee6c9a95fcba7bbac15a77a9d8a3f5de6fda909799311e826438836b63cceebe0b6932231f10f1ea6f0f925899b49d06b0721507ea6a8b26c28a55fff00130eaf9cc454c64df699e6d095abcd79c2db35537ca4a608327027052cbf0feab0a94c8c343488e9786cb5326d08288fc6f809df2cc106f502938e8bcaf8f69f80188d47b52ba34306716cda0f0c42a8fa05fed3de4e442c443562eb2c9f346b843b310e51da3c4d72009d9c13de052decc793cd46f89d6d1bba21eebc471a78bd7c3c4f398112aeb2fbd8f4b1bca4069d1ec308749b1f4eda98ae890007e4aff778d478e094b92bb3b973def19cc79cbd553410e2982badc8596211e40da0cc723d3fb84696b0b9ee2d5c7b5860f4d52dcb6ae6999f1a65384da308aef46eb374fd530de5c31854ac96b22f0ea7f1b35c09b22318a0eeaad88b77e7e0ea07b21e3fe89dc182c484ec23b0c3a155b00f380323f621920adcbb85ceec6b968f6b5f3bb12c2a5ba1528d9c4e221e224f3f4cb23739e0ed4df10397bd1b499d324d46e60866e0256fd6087fd022132b01278ed23fb2be54fc65f80513a3f30f565080bf25a26a9503a70e68e0ea4da394c80de400177d0f55eff11a8f9e3c07e24fb1f34139338bc112f683c0b42f0a1c6dce6caba5528c45a97d9aeb38f8529ee8a3a50c0a40c0fafe2c7f8da161529a0da7eb7b919708ac20843cd7a2629826ff4a54ab12c97018ba6cb85615d96e6ff0333fb89de249243856ed3d091832eb41bd66e0021df08b559849379eb36e486573c3c5c65f847e0bac1cc66774c07fcc781447a0f64d811c4dc4122c12788e0ec94694fd62619ebc7733efe9fa7ef0916563fd7f5d2267fd6e99a47d1b0334afbd7cdcb53a2fa13cb5f6d3f8edf665c1546782fa26c86c4d087c0496a20c6a3968be64f6f8650d8195b32bced2020baafc3edc005f6a5bcc7a8e4b990d096b2f2fa85b3e3da22eb63bc8e7ad95306c747945419329b78b4c2987da0ba20d3cc08dd4e9e8208ee052c50047387e4f06469420ff2482432ca8db7c7d3243427f2f403c0cd10cca2c279ddfa3b8568b73e9cb53cd6c72e090b8925d764d9ea56a6d16df5b7ca04f2ff9a37ff0b5398200fda2a89b90ff3d000a1058761ab400d1592a214a0fa3f69861c125a832c994119d1521913d8070861f65bae10a8e48034420a933a73f9d9bb914479ca865a3a055ec9509a13ee20622da03f5f7b2faeaf1ed63f0c18983c249c57054cae29ab14aa643d2af484742db8cf5c12c694cf4aee3447d5fc41ed08418907afac1be04695a08241fb7e16d6166c0f17e8549273133c5b665a50765d3894270a0d769bafa7d35a9ee7657f9b639458aca55e18bb7a4ca146c2bac51e24a9932e546dedf277bbd49b5030ff646c6a16ce63f63c442165121fd99afbfa361438412f232ba54806f579eb0e6b6f7fa823b36f5e14cea49a3d8d0bb3b39015100ff183fb84f44e112c4811cb3617130384f4b70891c99f2256a59958ada69c556669914421d4715385e119669d67c6666d241b7fc07a58d646b2760011f8a8ab1732cc13f820f02232a3ea3db32e78c047219401577421b4c77201b9e3ab2b10b3cc5941192394460a4c9d93b5bd4f27edd49a13e76174fc5e849fca6e81f617df5e314e2e181b172265f5c6ff375ec844894a417be775aa5caa192be3b853b42cc045e5189f6de42c3d103d087c36543457002ae2619631a75065eec2f9626f2af6efea0ee038000ca76cae03afa310538aed6a4e4d1d83c100b67b59f17d01e4fb459927d7a1a4ad42e028d18d7c32ada0368dd75c9aec01aea28a86668934722f340c690fdfae43409f7ac956b64a1cd8cd324f6c677ad9dc55ac304aa678381c9b710f441886456c8db07cabb51a23330a1639a617ed884ce79f37fd9a509df1ed185a4ecf788ffc5cd05dcf744320cad1dcfa155c804ac4201c58d0bee06fad1b11b247c66d1e2387e397469a9d24801dcb28f0e93a7ca66b3edf5fb87feff35ef3051cff2db36086e2b38b7685789fac88e5254219d30ab913d7fc253c2a54d5944a042ff09d630687557c93ee20bb8ef059159516349203f53f6070a58e5d5ef2e99662cf8110f3f7151903c4e2dc71360258e270c84c17504def46b773f616412a8bd18c328d5bca6e0b94b402a0118eea11069f63b1e6dbdd2e7561fc28a1ce19be993e76a0f63d5f9aba49c64963ea28735ae9e10ee79863b5f2efda38b645edd5bfc653c9729fbcb2d49e424b3f4201ed8b83a21b8e319fe7c19e3518b64aee65bdc65595dc9d7362c0dcfc23718c9d6eb3c7a616bd4c67aa6e62771917c9d9ea6e08a62976c79476abe14e25fc23a6d5d5baf5b945d9c3d890fad570150d3686c1ded8012ead933cf5401d42597beeea60cb3c6ece974e0f94279ef78cb7b71888dd25a4b6209295d2cc368276787a513a29031841e9180a73687881611cabae3f9bc6aed1d220faa31967eb8dab9fe2ac806508e6b6acd3aadab4e9de54c17f1598b9a1451814adc3ed0ce14804601bc70d4e82a342d9e262b874561ba88c5e4a9492816390942ae6d543c72fd4461ac4269c75eeedd44a6da729423db34ee21cac539e0464a73a9f904723f882740d524b9c141fa60f1db6bcee240e21935b41e0ead4317eec4a88d1b86eeccb368c2228d394d09df2e22811e7282d7849914d50ce89e840c5fc0dce79a7d20bb0345c10c5cd2c06725aa71c8d14153d7cab4e7b41da5df783f4811374cca8ce95e171459363ddd614e55450419f5c85aa8f69891fffff3d5d9a9cd9f688ab56af3285a13247f16853329f09e32de4c89da16224c32750888a1b0e841107d41386e5e5ff61ff5ae3598642d759186e97b17250ade60c4e42d0e0d0fe77e2d54a0560310e2097cb1968de2e1b9c61268321343e0ea803243225bd2f4ef73e2270c569578db91b5d3beaed6f05929fda1032f1bc7e29c738cae013bd17e9879e2419d8e765b005d698c44b2e0cb663451264947c41df429d25d8b770d2784f007fa0d2b0a117e645b46320094837b9f2a06dc3786acf0c7c10bb979cebe6910e7130e37613eb36ce0e3fe04b8d98ed04788214ebee762f385c2f3240dbab98821476bee3c6547c94d3b385790c77f27e85eca0d71f2d657f44015df3d648913e050c7cb691b9c97cabf4327e1d71a9b0b115ce4fd7049e731cdddf7f902a85ae1cdf39af80da051e7dd2d1633c147571489a0f7cd63b7410c9e78688547963e6386e162d0e6d3ba1d431f800863187999d89ec67ae0d119eeabf5c4db88fb61b5999b76c80730c269a60808906074e6c36432749d2406b3e6de4af23d52609db3b6337dcd7d0a462a72dc1707e8d32f7b3625aaf7f8a48624946b481655c5fec1d8da7c1b42e27755e9ef2453832b922957b0d748f969f518171d9a564787c36ef385010a2eaf71f4cfb2bd977fc8189f128c36210d7d22a6373212829de8f34d3694deb23981bb2089d120f1c81fb9c274b9149c7029e4443a9a7b9f60be0d723e794d575d68c32fe5fdb7eb357a038ef0944e502523598e2c2e5698f08161db876730806e1f648a299cd70d03791232d26b00007969e815ccbc20b9ebdacd3d5498c82083bb59381001b11c95865ef82db1c15435d7e398803fd953915e2f2233226219cebdb846a8301173e4ca034ba2ba3119d98fa34caf782295e0ecd8e81e7d6439c6da37979ff04b1403f2a7977535c825487aff3a784ca1388a8adef1b0b408cae2e509efd3d4a9bff118a40c495248a155956827bcee03486f19385941b91013ba8e4011c86d5f2521c84676709b201f1052040da01e1fa0b8d13a341101d5b98062bad2aa95a5c96f1012e9c8c6bad51be0d17009044d3cee7f84e5b904eb7870eb95f7bd7fb02a0feccc333f589a4ac2e06199dced32c854129ad7df33bfb8af63edc450cff2d49d1112600f0f6efa187fd42cc00ddd841fe97ab945ea57e6674190ca75f66f27c07e9ec1fe036d564b732c0eb9e6d118065c79ee973ece0ec9adb37ba4ef20a228dc7c02dc2c65f1dd137186520762521a2ef617d3bde5a82f70f973619213898577660fdba2f963a727f82788ba95afd7ee178e2a588d3424084c48a0ff13562b9de7b3b812e60ef3b221986ee2cce0de92502a1c27cae2a38ab491cbd9a11055e6d43f8c7d9def3d66206d88db74a8035d14555e9ca59f4e10ef994251cb9a4c4f1eff371d0d8df32b2d3558c2c86d54019a59fc90c98e72d3232b92787d0b702fe58de22e62ee474762e81640b8f30b55523c3ff603a2e21ae1b6acb72b50dadf0e9644d749523c3444b7640287777d58d76957daf3bf6536b7447d82094d2226ae26745b46fcf53f68ee56f2ad01f1fc359aaa23369b0317aefdc4fb9f51eb1e3a20eab4c98a3b5369d34e4956f604e69e6bdbc57fe9147d987c50c1d8d8758fe4d0830554c54b61d2ece8e6d4f104665cc92f8c564a20ae60f6e5b0ac80d38e6003502c476c7541423f5c9270fdf12e93e8681ad510c499e32fa348660cb578f410606460d6e50efd0021f275a753f68b9d77657ff57fd4ffa74ac9ecc25aa3ebb8887c0055148e7ce0cb73fa898756f48014ae02da99dd5a5c400c2de3063ac28a998b26719f20bc38406972ea9d869c5cd29f901ac334893586d521acb17826719f20b27be1237ee25f987bc7d9b7bf2f9e21ef2b0bfdecc98dc5eb482339cdce89a4092489cdc52584411f32d9dd9b5ba69432c9b8056a05780535ba86b08ce8cab4f7d6c7fb002780e277d67bd8797a7f7ad8e9d10c67f4ccbda368effd091d55974473e9994e42a1653f7393e7a48fa92daf9edbc0b743c0063e269a8d5dc23967ad7951e6456899fa23ae9fd40ec3d4089bc5f2b155801ec1213437e47b876cca5ccafd91e98f3889a1b26897a72a1b82aa27864c36e760a77537dbf89fb7dd3d69199ca951614e01399693cbfce29322dee44ca91f4ce4ebe6dfe9ccd734bdf7dcc7802630e8bd77a7dc9f54112695c84d92648f8744243147168d5ed745cac1ba5ce9dda312bdde56a903973f6019146ab82c4992747b1a72ff25757dab137bb1bbb9b18f39ef7d0bdf7e6d0cafbede6b7f1afafacfad81fbe0ef3110138849a30696c2da9c37a5ed68bb9b9c7a937bd59e5e8f0feef9a1288ae6e8c8374747dbe5bc394a396f12cfb3795dffdf7947e39de8799e2747d1a91cef57e9899e2cefbd77153d5516e56a3fcfde39ef365ef2f33c399654d0dbb84d48c3766024602a60306035625b624d623b3e89980a3132b1343129b12bb1ab5890d80831243112b02db026b11a31183115b03430323015605260576057e98874449a227d918aa06a51515075c046a860d4316a0b6a14d58a9a4505a21a514f5047a45a52145411d4176a8ab485744c0a268d925a49b39c4827d289e27471d240b95026688e1409fd82b280a2415340a7502ce80fb4086a028a74729d4c501aa80b14c589e664e1fc72a6704e9d58fc913ff2495ec92f995b2694c9741e995da697f965469952a6d06c329dcc27f3c86f792873c9543293fc97f7f25d3eca4b792169441a9127c816e48c52ab5c52e2f046a5977285f24c09a5ac525a953e4a226509a511a9452e2967942dca13e4197205d20b0985ac425af1a2931771139c0597d1b3ba927e832cea5dba986ea63fe9547a55efd187f423bd886771255d4667d14d70335c0cefc29f702abcaa67f6f4d1ba475fd03c7b674e54e3a2b35386869343b5f2b811322341b68980587ac7b05951b34bfc32b130302ea913748af6697392be734f96b5b12dcb62f03d40ff828d871803e1deee047a8b341f71a737d4e105571d30e7c5b1f16e86bd19d127b36537840f5167137c6b80f9db8ac43ff4bf1b90dbba2db339abe9065016e599b7b9fd6943f817fcf4d882807a920beb1d106fe847dd81a640412029a91d31ac8ed7b15987e9ecb10ef63c1b8bebc7e3e901490109cf9f23bf8c440bd78ce8e9c5907878ea116d871ae9e8cca29cb7c7d4e4f4c40505c495a4c4b544ecf2fa02424549097b4c4d4327e253f1e73d22fa00b79694b692bebc1800a3cbebcb470b4a152b2d2d1f17472602cc36ad132db466c05a5e5638b35b026558856855b4b93862a3163e2a81888f192db24e24293140b7d4c22d56173166b28a884a9efca800ab82c01b3d78437a477c58265860c960dfacb88b18334425c01b3dbda2b88aca9323437a986011cbe8e9f55c71095326261a2671f29b02a40afe6cf0e009e991e0bb2ab1e22ac6851c1697306586497e3678784454539c9020844789155962f0f078dc78482c667163f8f70302834178c7e3f57a3e1f96dc8b455773e321b118c3f08eb67383c09fafc7cbbd421d6d57bcdaa20219ab3441244d7e52805782563b78417a23f876aa48a8b08251bcda32548148a61844e2aba1a34b73454a931182ec20a1a20a868e6ea5d202660c550bc0137214605ea974f080f48cf8d6e08814542f8859b40cc110c7148127f444c8795b085a89828211203a46a408bec87971ae5cc95f882c14470468e00a9a3100dafd99905300669c2b39783f7a457c3856907228de2b5937e41a7e21b250fc99c0a371939b4233154c01c864fc15c1fd08ca7143f228be8bcdc2fae573f9296f7a1fc39181990ff491f269b326caa0ccef5cc121154b8b0eb66130588669d868e63c235bf4e6e8c6adf1f1d9bde7b2bb814d4e4f1a8a73e001089928e7dce3a1b8b7a56156eb2e25bea499725e3fcff1b7c7db79ee1689baf773f0e083835d7b2b77691d332d6925ddbb735e5f4740adce2356f047026379152c416aefb1fc14cd2f53a260b24657f4f41ef5a759eba02ba0fd6c2d6d7ac7e7e3189f3d48df0960c01889a7744dee0ea3174a5a25a0541fc3153e17231a1711b8c0aaaef83266805840cc8cfcd782f60e12f2fe4190079c0339075ee17108ce72c0ad408110344b7d0fda0fe79ced3b739e82abf538669ccd9bff959517f78574e87c7340cac1e6b2dcfb5f34f4dd2c3da75cefad79eee98e59330317182d48721b9d8c5364a390eb5477b2b7b8720b75c8f165bb5d3b99fb9452cd59f3f4af7928966f1b26d070bbdd74ce7c2fd1237b9e36363b3b638640d69cdbfc00be0563929fadb70b726f1e3d9a9cd6cc6e1bda8b98d8a55529e7ec6aefb6b9876759ad736ff378b90f6d9fe6b39b3c4c5b66338fec3c6737679f8112c4053090fe59ad348308c06100b5da6c566af449e723b0673d4b6bab66c12b4b468a2e190a178e225bc2b8e593d787560b5844535e68d95d80e51d2366c40565d7c0db1d350eba83de9df31339ef9cb3d6308e2cab533334fec850948d921ac7911cb367bdff5fb3385589cd26abfa18c9962d66d070b34d10000030e51813a0ee5852c2a853896cf97cca413d613850698eceba5313a617d2a41f314683c5f4470028057fe9a7d48b7f88c6a4f97a6fd6d8c8be01d098d4022af0318ef5f5e0d5d7d3f148b43d636cacbda9a9f9efbab6341d243c5adb537b40928f3e00fee88fefa36c8ba1bdb11a6cb69b6d03bb01bdf95a5683e10ff5a4347fc34f3d846614e5f1e805933595966e4c414d3827f8e9a7aafc29aba54d7df5905ada480d80a657673f322799934fbb2fd0eb82ffaf2bcbde80b7b7c73c3df4bcb8175f0f7b8b30772883b91efeeaf0e73f01a8f0f0e07005b0c908605b7f900c9e2003230a4e0ad8095a01502000a4006c0000cc9c8085869bcdcc9001030fcfc630b4401a48c967069bb5ec0d5f4edaa3e6e81fa9b7a657b363d958af062a7fd5c01ee035bf7dc23a214bf472613eac8dadc55cafd8bbc1c79dd976b5181b7b653d262edca0674e4d8705381ccda4b53c3e88e379c16b82c1bbc683c17bc37e384434116e54193b6bba9243a8dec93a2b899c9bce8393c1ced4c1de0be60dd1df290f5081efc2eaa2a3e521e58d015a5ff45e329bb6a6f55b301796fb364f8c0919630c80d1545b105e4b4f0eadf75daa94704b2d0e811a34ed5a4f8df51494c74b01d578488dd52d169671d8033d502600bd010a1afb3539a094d609775bbcae9e97afc347fd97a48bd9d65c4eab3caea6cea39812c99631a51f94e530e1569717ec2b76144be24ee76b6a8001d1fc77bdc58268d4cfe9f3271fe7e38c2fe9b4d6413dd45b1d70c09378aed7b49976dcfdf222ea949272380e18080db7b614b01c41aaa3232c8481877297f9a84ff63c67a3d6fd075cfb4f97fd3776175c34bee4e0ea3f76b12bf55c77799113f990c73cc881fcc761eee33dcee33bfef697737788e7a276754eeb9de6e99ef66958ff34500775ac879aa88bdbddb9fd6edd5eda4c4dbf28e096dabf4b6faf0f4a26ed6638c743210f1f4004492026490231a768d4d4d81f95246d3fecd4ab9a3f24fb53ab6d08fae1c0e1fce19c646b240fda1074bb059565529914149f70e4e70db75b103a0346ce2d282969f3a91cbf4acbf23c4f368d8d9abd4151f4c6fbd9ff2c0fae30b9e3f99ee933b7eecdfdfc8b2bf1efe1cfd7d854d8874997a3239cc2607cd51afd9f034eb7ab4c562ae952496bad470f1d024218dc6637999ea1ac8d03412587c7df08e37082705aeb9b75f6cb7e6a5d6abd59adbdd65adb70521c3a7c7487cc01c654e388e062f83c7f27f00cee4c9367f64c5f767deebf5917a21c7e62595c831f48927b77e15c9c504a26d38b7cd4a2dc820135dcfac1c5f8692efe2a5a5f4dc1a4160a7aa38e57ce9aa92592bbce7d6f347f28f3775a4b48175e8415ed19a3a82b8bd9e81a19ab86a0d3dffb430d8b759ab27feb7cb6fdaa684b9eedeb699c04e6c9a2fb078790d325e845ed20102e81bb873ba6d13ee4c6a174c7904932f9deb3bbb8893b46c9d85b20ebf87bdac8d366e2b8208165b92b79a6ef57ee1d0995773d1b2f1928d97cb32f7a1f7ae0836d25f5dbaf330f70200c1f39e7e3c83df7dcf3711cc7b11c39ebbdf7fce709dd36d00f3c046f5c014c29cfbbc83ae329b9d6588cbb1ccbb22c4bef67de9722867aef7bf79df39e7df59df526b7df9d9364d7a83994b90abd2ccbb27776c405ddd8d57fdea1db84a6b8d729abd91e9e5650dbe968868c4103edf5c7a7dbc8b6647d8f79e1e4416b294ddd81e9c4d69f53836393f6defe1bd96c26bbb1c1a9c9f96b4c07b6a3d2d21aca735e307b3c5bb6a4adfbf09f0da431e40c427adc5a16abe32d67eec5b9c9393739f7666972fe0342344b14359f985dfd801ff240183264b8913df3763bcf13e867c83c4b6f9e68aac262bfc64636b351737e6c763674ca4e9bb3e6fc67ec849dea999ee8799ee6e9cff224cff33ccf1bacb3272fc72c9563569c94e4046738312269c46e4309a8f1426d680511020ebdd469498eb50d7ee802121d4d434ca312544d85449be8f20957c910b0acc65d00eb7309e33bfc280e1dd06ef23445cf936c6d9a3c776c3060a077cd7bbb495b07b2e37ac769de6ed0c669f64e795714a56aaa158c88803815968d145f942238d546b8d60fce611ce1a0837e23bf59f775c42468486d1579723c34673edb2957339941ed6f9d3b8fc1b6ce3a97e385d47433c23d5a3afad9c44739a3252321adcb73fd9a1330df7528916b242ace61a248c5f8629aa83223caa862b1f45ecaa527689a78212283a724cb4a0b132d494a9438319f62c2d88d2264d37c1175651531f5a031d11865578323a422f00c23274c1df46862c28f2c5da4a4cca729338b4f141c65969b8888472541c2f1d9e5bc0fba884c3abcfa8ac564b95e5f3a65826996d244f99011925d73ddf92635dfc376d459eb0f204c2fe4210847eab44c2ce7deafbbedf6b8c73d72a0016fa2deff3f72546b1b39acb68d2bbe7f3fa4339cdb7807259b5d22b0cc44ec5886f8ed87580b8201f10ed60aa9ad07a0885eda06a12d6e8485d81b279e3a8064a05cd0709175e5d553e68a0c181a42bc30a94072297e86703248641ad42be9cbba507cf50abdfae414db18283ff4d2ffc98fe10989c5184ac7a0a81180a72eee05546a8157f3d2eb124cf5dae52704cdfb95b4b3e5fdbb549fbe8dd219ff1a2e23bd65c654827a8052d439246e0d6153932958619123df256a0b5f530e8be0957097b2e06db0e58b39f967aec7f7ee065a4521383c23575a3f888c44d2e16f321c826ecd37aa35cfe3e6257e55fa0eb350281c6ae2593cf5cfe4795db271d004aef0f7f99e7f7fb973eb70c85bb76ebf286903bd3a4dac1a7e73b2499521564c5f6b33116dce37d366ca5afdf7bade3638d10e300977b51e6aee6a5d9c8bf00afc3f78ed7d5ebcf3eecfc1c5bdd3adefce6d775dffdf59c909db7bef6d5c7197bb99a80469e2d863d580bd873dec611148f66eb7433511df99c21eb9080907dcb652e444c1937495657456696022244589048b16febf5ac1091966bd8f45211313a80029e1476f4c138545a4b1a508d5881f2760d898b1d10ec76c8dc5d4b092fc78ad419892b5448427193b988c6868d9d2642804569b92a29ca5f04a0a1620387204b53789e24203ff4ad27d75c575e1f7db46fa9d7b7695a56788ff14c6cc5a50828d6a9b7292d3d89573314b39f9b613bb21c3625a7d53a5d354d569b962ab28ac82ba05d8398c3980317f1de9ded906941d6a43edd85fd7aef78bcc929ae4ba9bbcfd6bfa3dd7dc34b5c969e3103ff316eeb601bbefae719e80e0042b4e7cac40c5a98a0d3263441392ae289f79026e2a6294a333bb33384cb17c35a8824371140f1bb3c40e8d5ab17a15ba93d896275e932a873411f45096e0745f2902528ca770631a45b5445c04468113700c85a75200851bd718aa1430f1862016798ca028fc0c41a80f44a4cacf61b2a40ef93c69a4b6502727a90a282066becd52ecfd32a812bee8d3c0983182e7978fb344c904bf32e48b7ac04028e75c63ad7859bb98f1db4b8a9f27c65e4c7096b89d80083b8f2a27988244c555ced8e415b806b13c2abb85aa4b6d08a4c2039a99522548bbf5a8b4f7ce927da7eb7031594bf839515e4cba14bc6aefcf6d03cede5a23f9fe0d170fa9ed93c63487b9aa61560d2e4456b85cb1ea32c4d7410803d92f783babb4b058c127aca06011f2a662211a2c554b31963171162903b0016a45d9c16bbc0f2a3e76fcd5fb143166312b533e5cabf88a95541c0c8225a64a5a1147f119611d57ae942b2954310f05952477cbe4890b89b7842f9e2e229103a302510d2b6a1116bc184c15d6af2aebc628252b4cac355add764ca14154528aa8c452a4803a369c5d535d56a0d215b3b566b24ff6defaa242c502bf7a99baf1a42c614b7c23bd93b8ca89821ed522ebe45a9454f9a5748cb72020e78ea484921acd63aa1460144766b114132c64dea0f365a9c0c550741bf0ecde3bd55b486bb025d0818de26bf0c99cd10b37cc96a3267a9667de46403819b9c205498ba62a2270cf0ca5c0aa130b5287a4628f6095e63c31c36809a111a12146cc11de08bc11ac7c33fd7e9ba669fa339b7cd46c4d152a5f2aa14488355462d37a020c8c241536745d969c48138ff1e14e31e1a4ca123199ca139e6e04191f298ce050d701ca0bcafd504b7ec5ac14b90a62253a5eac007112dd0f459c5b4002f50017583a7ee898f3ffe76d68363210f2b0033456418a585996eccd07fd59cc9230e94b7b296f97e6fcab669dcaea2271d8832bf03cc710fdfcb1f26cd336c6cafeb7a9c1f9ed0e9c98cd8c3038cc6cce40ed69db6f562065ac9aaa2a9697b8d534380e3f0c19ea300681d0001502ad9c7c1ae483b2156c9594ffec675b05499cdd39ac344dd3f2c82da14884e863d871c44a9e50d955582c975b98a05c06e7bd99aa285aa2684a1b3d06374cf258d58b83bffcf355156fad09e10889009a8f7344c48e1a555764e44063434903318278c52a545981e3029bd65a36d32c0ba72c1642ef83c69193bc248fb008bd8c2e2841df714578e36b0414c8fa6c51bb3aa75fed1bf29531894e348d57d6d7790fd0293712593877a53191ad9c89b99749d8c9fd62b1988b3b2440b06d36bb38667e311747ff5792c7d679d456380da61e0b3669fa9ee0c9b000a81114b3c26a860e283508892beea383851c902fc216c31c1a525f92ba8a7c0d9150b191270f2bfcac7334fb8162d7bdffbf2cc951f3fdd3fc6ce0903be79cffcfbfce5a67fd7249bb1e7366402003231fc70a8008c101073cf8008410f2d18883c220762ae321e7130911c5124e93d4d00466852993cde4156bc887b0c4e2dde7f0bcf30c23e94d82673de2134e41273b924c98781a7f399e4a10b34ce464ec0a1cae3f9bc43710506257e297cdd880caf586230a3582c35c523e43238a049084f01623cff8bc0fb3556787c67adc0f1a47b6b6dedcb021e4f81b1bc4f21cb6e66b1eb781bfd3d90f1ef04220fc8f0eb01fd6d92c2767464b7d8e7d4f503fa0545038cc7e07f72ce82bb1857ea65d1b0ece87f6261335ecee5e37c7689f7b3bb49d224b6c676d7cc3ee0c6928fa03ddf1defb319fb7b6d5e3fc59f7ec11a212ef732ebf59072244071e80e0fd463dca87729a0053880d2bfb39e764536c78354efe2e9604a65349485f14d57ac7a609b92c124d231cbf88d374b6b23f1b8238e03a8cdc01ab7e420663b2244b112244781f82080f3c7c08010208a10ee211e84310d159b3a5f534d52c09fe699eff6471218cb794f56caad98f01ff5bb455732cf76c72b2ddebe3b9595793632aeaaae8ecc461736e7a3528fb7fb00cfbe8b9e113f8613155b369ab49560be9d8aac96bccae2696ea1c2f75f54e97bae96ebb43e2cec5c51c9c9b76169dc5a8c4eb9d9a110002e3a60014160885b2244751144451cc31cd3db4a288855a07054906024a2c20a2308a81180602188c310000070c40c030a56ae80ce1606c9d8f6856e57f4e5abb9888bf0e569b9a881f928946b16655fea62435a836cff89147a11a1c6c5273cebf127dac64c3320a4426cbde32f1fe7fec8aecde3138c92aa081e5ea53035291fa3639e1803d03f74dfab2e04df06857bab04649486e7a80bf9573b6f6193f42da90c847d3433f058be23ec2d407d0d8ed23bc5086373bdcc5c34860ae74b7cc00683bbc5465b73f6ceb33beb65eb2b5f5aa0d71978c0e754012746c677165c21273e759b40e255708904d69b690d83b5fafb19c67f9cbe7ff39009939c8a438977d132e41f02028fb534b37017ae5ce8cf8586d7dcc24e3670a7b89aec314bd6478cf696052d1e8c59a44878a3bee794ee9fa753f139bcb823bf05fdd04e02f3176a6e4ec055daf299fac8ef6730f6c7a1d0480eb14aa0cf1943cf6ed804324a938f56225f489f98e3d2c756ce79c29b60b334fbccb38ac2814978e663cf7b04817a7cb3530d452114b8a39d53428a18464a132e4db6c5e88c1421f02593d6374cff36a011f2dbf4dcff072d2db4d9c65e177f7806e6341f01d49d9bbb451bda287d8e78469179c22f45a9672069880f5e8dc9d2655503bf8d7d7c03178caeb9fcb1fc97a83151f0c92790676d633e1aedfa40410a55fe2b186045923833ca4ea21fce9f00e5092465861a015c293d2930abeb4c67524087cf120c99d75e158003d06eb6c62be27532b8abecbc1d57c249ac5d4905c231f7daf92864af20019c81b62c0eaf5854ade5edb1dda394342a4a1d22b557c37fcb8bbc84486a4635cc98c2dd86307246660d55bca8cca317c58721d531a5a479273373a557ecdd50b9ded5a8ce127847164617564e7f422357d82e7454e754c258a34729a8a9a3f4d119bd490241b4fbe23a1ae6c4dbdd943a024eb432aeab0f92687f1e748b57a46b76c75c9bae7c7ab3319e3d96e3d497d935a44b537756c0d20a87a0e722885ba68e04aa12eb6a71c93d1fb7455425ca073e7ee16674a6d6208c2b2a5e3fd2e5b4b2c5144dc12ba442273efad347cc6a82b5333142a59d425b1863c6dd94fab91faf6c82e07943067eb02ef7bfed82b7c27ffaa7dccaa581758c99d1628d39b74ee47aad986205d6097d95a472a5d201d8d441728ac57f6ce74f9eb900ed349eed4ff84a40f91cbe0f52b461a9a11063e41a8b5701b6dce82dadd6b4d836a16daa32d35fe293a99b60c45536c7805d266d74ad977aa8f1d304d252137ccd100856aab8ce9a582c52b4086a3a46a510e15a885716d15254ecb60188502064bbc4ac51b09c04a52a9979c7dcf12c9665bc95a508f700b53890ab31076b3451c290e02a7dea1c5b6de7bcaf126dce944a80c423e3e750a72e039817a4cfcc21cc3c5cd7f00e3fed9f1bd0960c483fffb612bd7a2a27c2de9fa8eed6a79aa9a59c1474b526609cdf5b90497fab3b6c1074f9b204422565d070e8966cb7df2f65397a9c3ae0b78a2c0211cecb78b4b65dad71d1d078ef54b267b1037e1cfc7a7e93e7f11599e0814a48b487564851498b4a9ce693fdeaf29a0ed35a714591ddefbfeedb69bdeb5e64cc355771b3e80d662acded4a95f58eb4007b035a14c19d3aeaef50ca8198819f9a587db4c868f0d207d35b19549418056f5449be0811708905b1574ad05d61129f78c45ffb690d13bce3e67ad2694dc5737dd8903166bd3708f8e708aacdb0c9118c39807f76104e87b8dbe1343624e5705dfcd4cb73a41b5a0ba833a23c0f28f05fac4fc45dbb09abac6dd30cef5054bd4094bf0cb8b78e061ee07ca29664b06cad257f4c94c7c3b0dfa69ca06a08a75ed8b750d050256a6edc6c5c09a95cebd181f8b6f8ca1d9edf4cfd9cc201ec313aad263d2879cca8f8ffdfb1566ec7f37fa1770647178eba3f331c80e0f1cc4a43de4ec11bf29bba48675319a01fb146ece20e57b998d2183db945fb8974235d3e3ff692b15325eacf5c4df004059fc0579a969c08707c4c90188b248405c72cdeeacd70f859b411794ae0fc78dea7b1045f513bf189b42494dc1a0633f362811aade4b0033871ac650ce116a2d985a1717fe9a51c20c3fbc5eae869de87e7a4c9f5a79c346a71a1672bd3a104000c6704fde175a8957ac50e15756ee722300ec711f258fff8ac3aeff45727c0d88789da62e0b82f1c4181fec81fc7e50340ce9682e4266755ea5699e5c468b448cfc9d01eb0f398c9d7f6da6405a4dfe688f384f5e89494544292cb08e2187005f94e577303c44ec55db693a6401c85876fc789d6278f4636dcba81d2fda202102d315d1cc10c812ba4b62c8262c77b4f415484df81b6dd645a0508208565083caa218021f1d59c49759cc91e4093f310e489bf971239667de297dcd7880dcaa1f97cd2b80d532008575b003771c7b3d1528ff58e470cd66606dd722ffc9ce2ee6ee526967e5f74945dc2494a4745faf9acdcae62154382c908da7b43d980449ee20df8b00d01db59fd9f695752824344f3c458e06a2b4d991958414b0f3c0a1a246dcc58ac25b8b6a835b0927d655ce8225e4e89714f9ad56483b82c216503fc2faab677979b651cfaa107c467d0af10b05d4b94f162b5344b447a1a93aa0661c264bed502d433811ccce532dd853ee619f812f185170b3a36bc3274b2415e99c577ad8618b50dba655c33a9dcb8b447ed59118a0fa8bbf4457ac5178f3ff4b0f2bfd48e971bcdd4d59fb50062ec7bc5716c9b7ff4b7d63be49560ed0d03dff67bc80e82d984a4561f05d0a9e93fd8995ab4082f9058266710d99cc8c313dc7ff6cc8318a08f155386cd014c69c5a6f6bb6b8cdea0338a9f329984d484a82382b53ba44f91b68880df10a2536ed002b22a8902026966d2cf68a4490d07eeb7f2e119dfb4bdb1b14b10ce633089e23a8eb9de10f1a62df80814b0cd9193a7627870233a1fd72c3901214d54ee3ce7b9d115b424aaf04bcfe392b66a259d7f467892a9a241f75add4808fcd62e7d122b0f1d8e7233f937c116833656d8672630d61e63ce619d9e2194d6ada8c64642d8c2cea286ba1568f4f44e208229aa6ac7b1c8bd9e087d6725321cce612f5aa53762aecf52d3b1c16fae7c85831fb82035e0b156d8d6be9456d30a7f689fcfe413987fef0214c29fc1a8b5d63d9d6989235efddc5f8d2e1a20575eef176cc61676385724e0544b9618d4762680981457dfdf5c3d4fe3a7ce0c69c1beeda1d7699d3736bcff5ed8b0bb1dda6c2ecf524c45d2f049e151900c9b9de2860e4dac510e21a5bd1e114b7d5f8738f3b09dc3ee3cb3d7e8427cb427470771f811e57883a156a48e22b78be3e429714028ed911aac611b11716729aae306e1a8345868bdb28b53b9d6dfa272ff4b3b71f4db9d5794ca354b024556abd93a3b53b2354d9d4f7d42d303de9820f8e6998e59c891012a74290664635f2851e817742aa08dc16a61ec14b43d0c55e52615faaee357948883a90ac69e77680957c8b3d752fee07ee7bdcd4bdf9a43ad695d5b1f6504add6b251aa46427b8004b160924538a9fe25431b4f9f061587438a9277e29097f41b0c071cc20f55ae307d16a1028f78b8f6c7b5b2dd62e81b542ab1100836aa888293310a41d29548baff675eeb181091a9ebea9e5e21e0f3485d5d168e3352e82b16a2c9a1b7e235199dab8bca64fcee6932ba45713f3bb13832833464598b3bb9a7d93f92cc7ae2bca8d973730e278e4bc22105b4ddc4fe565df9b02ddb1f18c227c176170213a513d59f05689769ed7e22cb4d9d6ab421109a93ce81478cd51aec06b4c1165e035b002aecf4bf03503804356c5cfdaf8952d9fa048c0c585185386f557c44b4ce9a1d5d20f6a0fe9c0bed2bd34130147766cb38f7e6156b3e4f9df54f183c7b039f6fde56e852472df545d1b6db237d2f1f46670ad9ca0c8eecf03c799f4dacb018af271c316cb09029ac0fe575676c7c2f8f65d86af28827492167ed199adc7b28fbf9e7b0ababed3f8e3065553160b3f6bf78090e0df4d19cf39c357446c7da6bef686596e99bf7e4732ec6b40f42fe25067dea71ac5433a9dab4e3e834619d240c98172371d8beb061dffaa065e447467ea784e2b2a349c25c1e126258ad630a44be2354b2742c3fd9f0007fb2f02841a867d2602bebdc452245e3da1efda783aafc2314a0d5b1763643b1580f6fad0ab2c0bac878f213f3abf9021ac2a1a7d9f18717653adbdffc5947e4cdbd466d37a72194b173415431fe8840924fa173e95d37e925540b59e8ef0e2e52aa8ef16a95cfecb00fefb91aa6c0a0040118e6a4c3c2fb8095ea1c7842c4afba9ac6f4f70fbd3f753e70fa3398c1c073bb1d8f215bc694c301135a0a2d368114bb2f671456b5cc13caeccde3334531c2c0c3bf317e3d6d2757f5b3499190dd82fe58726d995803d084c43723673da8c57186c8e75e7beb42c4c13dd4cc8bd5939309cdd30211b5dd797cbc68f844d3ec734856add22ae1a12c13c17f27547a8aa66fb1e2a0a5eaa9459eba3afbc5b66e3c46f58cda5a87a22a33a24c27beca59bb92984a1a8f62da2d22b87407dbb31d27b75c149b4e20d50ab0a6275a27539922487866af93d9f3e05496a4f99db30626591f44869751db07153b61a219b3cb720a439df88c057042e94dceca04f671d926dfd64bf038fe129c915ac7815efd9c8f5fc8229aa523002b3290017a4bf9aed23fed60a7c1e0efecf946cd42e7528d1baf9818159c10ee608a5e36c9acd30c75b22e7d31bb93d32c73a2f4d7a786050434701f830bde0eafc457108231b2bda2247edf293bbf57911dc8d01d4ce86e64b616f9cd960ec8ba9dc1acf28d21203d8b885d35d555e3fddc7497d8041d0750958aeade3a5b7fb857d2913bfdd6071838c1baf8ca83a2c2496ed5de497f7589f382025c5310ab7bc0899a1e5361ff581ce4ea8cee06fd6941fe6beef3c4ae2ea2e41bcf29a1819e32b0c3ab8f53aaf90b6beb68dbf9463341299c1d3480557ed719004db7e0aa9c120d89705a54e44d23f99ac695caf9e6b706c6e020baf49d73f32ec3069f757a1a5b0c140f3549583d8abc453aca01b841437d5ec38c5006db3a11b20230be490207d76eff7bb5aa735ba5cab20474ed76efb20422e41e60af86f9b3444581fbcd153ed1131282f5194db6e8f881841c6a4ffb67f365a2a5e15f05db9e7dc44a82fa9792ec251d3160f9e1840f22d8efaa337cb75fa4a15d33649227557c5aad180beee02d5842f8893191ef4e011215dea0bc055eef18a2c583457b840934b8435be64706e1f291a6856a4f956bedbe8a4a582fc1363a8ba3cfb0b41ac6290ceb63c4eea7c49398b22a5bd6611831dd1fba6f8714b4f73f7a46b61b031c61b1bd41d9b6ebf27832c4d67ac14c64e560a5b0b205865b652f81ae02616d0a2e962ae2c3c82463eb5c78c3a87f564dca2c057d6081a50b361c74448ce42751e022b6d9b87e745c4f40d6887cbd8c885700d768fa56640bd20db07c0aeb8c9e88da16052944819f439acbb4d766b59ebfa2abeff13d91acb21c998fa3b02a22e4c470fc954428c747c6c7715ddba3cce900e99fe21cb4321ba8f06f50681539849dd6ce08bb9341fdd7ac1f36742983e406bd995004909f55c6d8c58c452c501a1a65b429dab21ee13d84a9983c0baa2732fc77d0090c181170e17566c830bce4ffe33389db980b427968a41e61dbb53fd268fd36a5b2cc41339a65d278f8c1653c06c0056e16649932d33e8bc697358465077eca117e7a920450f6b70b844be4873067a3f7f950938fbcf94a133a8327525ed9b4e2786cea6e47fa96e3a6d50b74a096f9b0ec46c33e33b26f973531ed21a18da149d3aaa14cc495e6a0fb79888e7a99e82ed32c7b08a1b93767119f758b47d107ea4fbe1ad9f8d742e6dc8e81aa57b109483cf04bd89a543f049b96daa6293dc75accdc9f9d043e732bcd4857506e91783e23b999803e992ae38785a0a0872ccd4947edc95ef40a282e42cbd7a0bef82074ab528fa10e572bd52b437b588a32cf49475875149df871cee0ac4232eabd8bd7a2d486dd153cd479ec5422ebc9ef209ae6098eee24d50ff85a4c368cbc0456d63f009202a341cc7b90204ac5d786909ce5c9ba1f7bbeedf343b146a894b534dabc225143444c203f06026563ccda9317ccfa340a0a0d46556d7e3a684ec046e36e247de5d610bbd0b5a5314c2410c27ea722e7f5d3ef6f594bec2dde11e0d8fbcb81db9fd656f4ba055fa56114c86649faaefa226732201a53eba0ea3ed2d9a0da4b4f148203b3705fa93226a9ba5137cc6d59e9bb77944a6073f4a787251653a2339e7c494a5d4896f1306f91a442f2f551ad61d712aeb0dd90218ac5d4f59189ca2b34edfa0336624399697494e34be1c58cb500481a5d1a69fdae7c74e33a883d7e13a0e3cacb8c1f8ca024faee7bf93aff180446094284601734c4a50cf4c3e067f041d9092f04c3d53c45d854378d3c45ea451b0eafaaf651c588c69611bc5b430771d6bc804b71ebbc742bd1d6271595eed18d14f7ab5749dd8188ae06632d20a43679d85822a2385c15506ec28c7598bac1fd899cb4f85dbf98027b34865c08cdc2b0b9e211f0e6f3f3653b788acca45bb45d9640beca15a093c00f770478c9b3d1ac8af27745645e22c8ce4b6a59e4c8da56c81e40bfeca2cd8390a85896e214028b87de063c9d0be1ec7710ea89f47bba388c4fd4d09521fcd554d9c9183a597fd30a5ab19d438a36e26b6320b8c873fa5e38e83e6feb2d2fe16cfafe9835af3b5bfbdcc459e4054d12f7c7cfb77d10658d0d93fed60e292a94310b9c187d01d1afbaa8066726d65dc408371985ac1b76906edb51113269562428d313e5a2dea40a604723358e4b854f29571cbfc8e71640b4150196d5a24eeca4a3c972aca9702ec57b4bd64540eba932a9f342607b230c8930a2acdeeb1b51c1e6a69d671c04e2a62d2c3f3d00b40782223efd537407b4b9c2c6134659ddcee2b974c3c93dc46e21f1f1d4cfb52f287708ce8eca42bb1f1b4fb1f8604ee8405ddfb1482295bc39bafeaf132301a130352e4235a21cd4943612e6e1a000eaa5ce935faf097c44f500b7181608df9a36e52c946631dde2c9f849bf1ac7e29d2c47d6af0e68f8271c0990abf39501b5b5388c0aafef20de6f08a82c6b1330599c0b341c155a445fdaddec0cf8328225882132cb4686586012454c4f590504a6a16c74d785c554a8aa82edcdf77d7bb9ce4802fa48d469fed89243aa02db25c922ea14e2d684eca26d909f5d950c70d1936afd4766d00c05251326b5a4ad07f3c30add1ffcc18a420f0188d87f4b0e88da2e843acd458d4389281b38b7265d2d5cae4b2682638b7531f6d6697dfdd4e11592261df3677fccffc883d0fd5c425d4794492b9054fe399c6ec5b381e7b80c0c1feb9b7957bed0cc1abc8bd8e739a7bbdae2a6f065698a694e6d6a0572a70316b4b531bd172630bd5323e5497eecace2c066e604efe0aecc4c4c08980fba1b38bb89d6e530d1975430557937b3dd39ab2ea860ae1a2ce70bfb12ffa5578ca75da6b08e61bdd558fd64356ee40c1557cafc7b4968ccd81828bf84e8f090d59bb430517f1bd1ed31a3276870a2ee2ba57fb779bad8c0df79d98ff281b667fb08f040805c8449184db0c7b9a0d57d7fcb29c4af91e158597dc66362fd6de53421198ca58ddb744e800b3c3ad91f5f69ce7e7cf863a590e191dd6b7b02ec7c606c34399c947d5026262d52790dc30ad5949cf2b14174638f6945560a9dceb1520763fc51391f34be8306b3621eeb96305720ed301e2c6accd6d93823182991a085a2ea25f7e327783a80ce96db96315ad9c6b9e6e880f75d8e473bc4d364f11c717b2e830cdc724d10c2505937fb8a47e024f55869dd7ba1526365a1229ae33575698c84b5961a8a253a46585b9aafd47fbc1bf9bb9180ea6c48b3366e878acd2148fda08921e20a2dda4f7d02bc06d70077a9ddcc02ed15bf04dfe86458d0284f6713cf1ef1afd8a97a724c9af2ff7ea5b166a73d3f14507c84e0ca0854cd0924d88959d808d0e81858da9382752bac43925c2945a36fb6ac35bfc3b9e0057cc08098c5be6911e48d7357d0dd7febbadff1ae3b00d90167da60554a9a9cc2ec0e536b0b9970af01dcbf8ec401711c29ec2c90e7b5c68d1f53c88388adf4f213102a0b835ca8b531657d5c46c2ecadebc98d3e26a4c43a5fd62dbadf188445909af41f7c6cc84830caf40904e90158a02a21d4884473dd5358dce33e3154504a5a08f33b38b13f147a4cb50ac208f294c8820359d465df9a9892258918f36457ed0e5721c0dd4e32a3a3f2809f1071dd18901e59fb80ce8403442bb21caf06457f6da8275f8865dfae583fe4410f8001f2c24e1f9bd4ca20923ba04fe7cd22230b3be950e71eb8803eef272f06d3daed64115908c4bfea015199aabcf521db5081a4de1e73278dad7e7a09460245667dcfb504e75ad2cbb94cd38c5ba65873b5b04e0bf1eaa6ecd79385a38eef0dd5fed8ed9c2248637b8f0728945a51a05bb2b2d9160e5073d6a83ae913618a247036918a8d54cf012d598aff02852bb8f75675450dd769725b6466f3ad060cfbfdcaeb03b5424e543be0dcf4027cb26510b40d7a8b4ffabca76ee4c0d72766b86bdde54c75e5b963a392bc0c81f0319c7bc7130b77806ac7bdca083c945baf6d19b842051959749b92f220bc77d1ac3f3afb52d260af13dde53d3f55a6ba4923a31d823e9c73da54611c024ee5d337d2523d5d67bf79964459ee3a6699700f584302d4930dccc6e90a08b602c5a408ba10b02a1de349d074d5ed5b7f32567239fbd030c596cb4574ddf7523a827f8d8dd7b2bdafb14b75ef3f126f42aaef8c8ee9423bbd5c87eb4ef7341de4253abd49d8961e7cf9368ec1287c3ef72f449099d73f3b3a2aa2ba9233a9fb3a528160ad6410cc591e5e17a85523386b359bc0590e69ed4c747d13958214c439f931d72b89e8a596d26de82c9980a26dbca188525cc496914fc32419ca0f15e01fcb6fc05536f29c86f4f59a0a785cbe82670fefe7b47abed9c9aa6a0642dd23f3fb4c2529eae7136ffb54d62999c0357533f00b4660305509a4182a5ccb8c25bbf36f82f9d6ef5872e9dcf1f0135fabc017cb60260d09cb565f7c4b664f22972f18d8095800e492ff6c3fd73b94628bffbca907908f3fc6fe215a1f75926c541a591ffaf21652bee9f2cf63ade3f8554305eee9fdb6b9b659f1b1501489c096575a1c762c01ae278406b730a3eee31f34fe03413a102bdd8ded612eb8bbb1da84d56ac5029ba62230651adb4c7145e61ba9b5aab92f7702978e0cc0d5701ee2acc6f4515be97af0f9811ac1cae83703fad02b8a22ac4b4041de340198736ad731365b71a51ba699479b8c6be307f68b1819ca7596d0ebb6ecba1741f0a0f3f4b9346528f2344c22710b94b1d4f2b1355c1784a8f70517c91e3546dc156910aba105d22115b32f586832e469f4d6917dcfc94aa4ff5655b55d41cdaa9707403193f89f675f339ddeeb080f8c95560d04bf1c0ee84ce6cc24fa834dd1b4c0dfc13268e809579236d9805ca5a784be07e5a9d9feba4764754388b2d3790d501a063eb3dba906a159dfb9e763affca17544d44cd5aa2c8f63eb15c800eb9320362ad73d203feb4ed6d87284c4f7a8ca42406ed0afecf4675caaa4d2968d578b2546afd1ea03360a621dca61e25e26664d4add69d9347b47701517b6ad651fec55419ec8b2b5f798f75269a92ece4bd433953631f87935a21d166cb615d5af92d277e9956e2b7584f610cd99afb4f49322f62f98a5e25bac6ffef8c45e7c537d107d5142fec5d50e2f208dec75e83937a7c43c9f7423e6b262b05f06617272238aa72067d67cd516e8c41140b7c18fd7e005717f06560985a49b9f7b165de12c2ff9975994c7ae91d2528dcab3f00390e913c9df6c5fa92f697c2138061d850c1a621f1bfdde7a9fd2cb32015c83b9cb270467c81aeca9e6a026cafce007b9a5f5536ec692cbe256e20a266321de6c4e9d3a623f7db7c6a1b670b68eea3b3552f95874a6416219b508f98d94879107f62135b151cf9dcf0cf8b0a8be9ac002e9ad8098e3c07880e6d04c541c1458201ad3c4c3f95d543ce94aa0d23b7f7ce264fdfcda968152828c79002c450fb6f2cc0b9cd34f3523c46f159ef59742055fd6a8a63e056d3ec0189b30110475e2e09870a6e1756f9d30880b6148134744cd261dce6807fa8117f37c7ca4e7650eb7381948371085de3554b002ad64fcd75c300214196b86e88d83fcbcd4d7750a6704470dd5cb169c8cf0f727642a5a593754cd1a8d158466872e874684b15fe17e0a7991b753370006d53fbaae83797790cc06d0cff9ddf01fb50e89c81a81405f2e7c90d4a9da018417975adf82b5ec37cd794a107012855e4e129f4aeaf1a2939e4ae535eb986f78a4fc270d551730d2b6bb627f957c460f3d63a0ea24222d296753452ed99f79302f8a384123700c7996a0b357d553a5dc1a4822602407c7099837f52f5e7337d3e45aebce22a371180537f7ed128b4aa35f398bcbdb77db1ff12db16bff6213e28dd4af7b8b9de423c1f9430182920b3047aba3e807a0eece06e35bcbbc583bffe8b3fd4cc732ce7a7ee85f2aa15598ad618cacbf94a8d0f878504c55cae601bc58241a5b5c18da96d5ccf0c585fbe9572c306dd402803a8cb4f4cd7157f41e84c217fc9e00c0c2519bc3ee2448ad989764ebfd282216540469ac12e0765ca42290a60e6b2761fc9de7a83101414fa2f9ecddd950c089f21420ac09f2d0e23e6db0058acf447691d2fbf507f370c7f4834e778c37b687de025754ee4406e2901f88541c93570fc957827978861774082aed672cd919a16007899f6fa835675c7c6674a67a2236cdad898ab48bbf2863ac2d46b47bec64ba025085c83f7ac1b2e06c29e155e7dca4fcfdc2a0978957d54936140a9a971e9670f38dad0031c7a56bebb3be68e695f10accfded19162faf9cb74c08f9488f4508aab2a9375f43e2234413245e8be2695a179350f669014bf52e06ba34c617aeb000b1543cfcc5f47d01a31826712847456341e2d1517f5e039655e4c225211917b51e2e93d1189b6faaf89dc9f22cee7554308d3056051ce14294b5a3b613d76a56924210214ada2ede225042cd44fd7485bdf17eadc360d18d6f3b151ad486c67cd6323d10a954afeb4f919359c007cd05bdc285f522bd65c159f20ad6c7f2b8c82d4270e8eac50c33750af709ab4819af874098611b69c4c7b9b9d7a6f9d1d74c93888949b2761162f77eaddaf0ffe8a89174fbd67d487aed8ab93a7de15d073f4f866ab906e82146e370e8041b145fd28dcf6792a75648c044b758178e6a946f270235343426536fb581ea0d764678538f9a1b4b2373e525f26349f173a366babf6fefd9894cfc0584945a58217870c6fa4e672c99e56f6950730f7d8f92646dfd68778e19f5d90d4d46e16fbbd8e28a5037f7d3edd68179756835c65363084ab125343e9de2dbcdd5592c85069bbf9720f12468d6b4f18c1add6962a7ccf7f502218707aaf3bff34f9644e98060daa17c841f69e038f7ae04607e451665d0cb1abe0cf0015a354069c920f15422bf05d038778a34b20215c8c25ac6371d8de892444e1d7066f5255c1e222a92e5dae6fac994dddf7cd59b3347cea4d9fb2e1ccbc2de984184961c38a812e9042f5e68d579215284d8b9b0e777ab9df0143d9352c0f7e34d5ab4d3d7b1aa82f5d49591e9ff5a55528f8a08637dcd593a7e9d735a8e56753ec6f55a7e41f5cd497d983eff4f4f6aadb9df19a365d610c2b039ebbcdacedcb2cac78f370b71c9f4ead84b401863049afc6126668c61ec14ace773da40af72122933215909b0d91fb967407cf8f31b247bb3d3beafb68c974a45d25dafeebf86c529681264f2fd8b01e8ca6f7fb5334e1c8625489f838f536c9493f39f665ad403edbcab9e494074c26aa0842af1d0ad13bfce5c2fe2c5b9a70d2eb89c8b9f8226be1b8f88b59aaf2d848090d9260288422dcfb4e546df71dba7ed22eef4fc3adeb32fb796d90b44c851aa814fb7996b661a109b95861ca729d0c912d10a2811edb19d98e5826435b2e91193549d18937819a68d3750e784a6ede1945de45c11985b3c771c3dea0cec2473250edabd810cad0fd1ff3637e4876efbad106364078853c0b79d9e34e00a61d9b1e2f4261299e140837a16563073a878ad221908e1a7acf395d6538cb4d07548656e5ccb67049f510102e77ea76fba81262bbe0d5cd18e148aa8c88db5e0e0ad5c390949a615a59e16237f5d2387334cf800fe9f7357b178e32745517bbec2f7b0e1a43463a18bbfcafa61a4101d21ae358eed94a80e4f5975925052e66391e301a717989a4804f4bf71de057de4fd92df1f5b65781d396f7d4323d5589e029a7b08f110bd3503e311a633cbd226c3cfc274860b825f6dbbdce8c0669396f4403be4f2befe08629825e7b61a55bdf84fe1d6833737c06e1a521b47c7eb80204bec366428be58e1d2b13b19e9f3d1c0dc2917781e5b14e2189bab51098e3f91ed8a81c956ee7d2f3bc42f674e9159aae74f86454fd7521894745676549e80a2532eb29beab56ee723efe329df6ebf4c79c95618c8733a33d4e61a3e9571e6c4fc9653dc62a5ad1c8bd102ecdf0b43d179369e17da92189cdaa512326a324f9b48e75b8ccce4b9198dadcdd4f24fe855a32a4f0514a0ad80b63a06acab1635f46aeb691894beadbce6f6d307cc524653d13da939d89e38186c60e4cb22f4fb727bd42c308b648b64af01c596b21804a34b7c08f4daf42b425ca166ccb40f82332eaf8a6cafbb119b1c002343fce979dc103e91684cbc9b302035f9040028727e49ac61d64bb553e640808d9807f0f4d5a1cc9fa33011341754bcb39df337baf76baa6592544f417fa3fc85d5077ccf8c4801567c55e89b8d533589438270efcdea044e33a2e6f15d2516649b2c6d9a1cfb3f36eefc9eb9398b481b0b8dcea22ae4d7e3bd57775ec4ba2cfd76fec636916727bec16b4720c327d199923b6d4aeab9a9a63424cded187bfac28ee784007d0d96915bc36194dadf27fbf685528990592e0737642c49e6dbb51b5d1c4bae026476387d13204e420152f582907e521363258103dc68be431aa663f126ff95105bd20200d29b742dc5a0f0047770baec5e6effdaabc89ca98f340e7f9b5fb904297127ab51e4d6918bd7dc4ce75c75ed91630e383f68eb45107e11366797297ae92f152e8eefeee859ed8a013403dfbe9b5abcf5ba7cf3ec87434380eea68b90b08a8eac1cbaa4307b082fb33162fa91abcfecad500e34462c17c8c8162f1c7d821aded9d1a51fb16f1bbe02a6335d6d633bb4ad73e29be054492a6236b7fe29c3787d44d5392946f483c1a26d2b2c4cc9b9d3fda269dcadf28316b13aa6c7a48eecaac91b2c287dcd28fee8538f8b6e0c486595b3a5777f6c5b3fe9745b668a3bcebe6974142a85e35331444eb70ab6945ffc2ac20d836b7ee897b4f55ba33f83b660fd20e9c53d62df6972a904b8e4fb4b7bb509b8a6794e843387158f50a9b36c1badc3234aae5717ff77a53347ed4b852f8812ee640f1208eff353cb21ea4e5c98fd63f6552da4692796087ef94937454d79453d2bee22d744df49dbc1b631a8e7d633562630f6fdf002c9344a1ab6c5e6485f87f0c0a48c4c791a673ba512d8d4f9b28afc27149cb31e918067d78c7387224e4d1add245b9cee813bc80e7e7b2fce139e2e602ce866565026cd61510a9905b733dd1cc3196904116e21fe3ac9a0a2bf30f4db344fb0d29c91c6304eae83e6e4f7437862681fad3b562f0301e137397eb2b7a7fdcbd1c07c0a71d2a87b9f29c99b776e4a9812d66655c3b4fc8e58ae4d8f6445c0cb9a0324ab34d5367626a0d271d7462c95f45b6f7a5cb8afc5f61c1461c841b95541b4f2e8e4b347d266c765c4ea1b906b778e308873a7a71ec6f1a039fac7b02497b4b9b6fd87d8161dc471afce8bd9d631cdbfb96af39611613fb3a28e1dea4557c9f6abe71c409e481eff6436c57425d34d18c5cb300ef03e486925035710d9a549be194f6c3b749dd41b6b1b5d44d4e739bc01a1bec121ea8347fcfaeb03661863df684f24a855aed8bee6b9979937a8e4dea146f932edab4b84d97309bc8af515106c5ee7be9d9c174da4420ccbc115a14125acd959d761ece710a87896292cf5c1e4453057028007108fd0ab1b1038c3050a09e4edee6211af09fdacc2891e0210df1f57d3086ac22a60a476e898e6fcc4678a7bff559324d05d6f45c10f64f044d58ba305a2c28fcc9abd6ce0035d93e43c7cfa23f897d28eca35137d22f97db1d8bde4baee3255678415689a3e6888d7aca7fa261f72f1fa058ab9cf0ff900db45301e4602c4b71b72844150aa6a6bce19aae40e34bf7585debbd4b933c28a468ab902a0e5c0b8201a9107b4acba904968302128500474568698a171d3437db569e199ae64190f14d2439d05ec158cb2ec50bdd52129d9fc089db40d6b3b668a8c794a1c4aeed8e996b7f26936abf2c56e1b114a6268eeb8d7896ca763c97e6352a3b914ef7e4b8dae2480aecdc7040c6cc9b4ce4db65bb6a66c9bfe0685e67c06be20f9bc6432d01bef610d9024d6204288859c2688750b0fa2ecc164d293aa5b693796d01babc15cf568dcf6d45ec4585ae39901ad1b0c121410b9cac700b613f6f6021dc9cecb7150811daa327143a40bae4d887b620a793fde8822d0ad7caf18235087a36fcd6448d70f14d0a4e706600b3408ae5bf0453510dcb7d53b1b8f88683ebce933b4f94e086a1b3d11e6b7c0ff2760b9882e487416548c1a5fc43e287e7a0a9c14fbb81f53c3b27823f8f0c89d723abf2c9b05e300a5899b36e2364662cfcbf157806f6a5c729278089fd2a2a7aa36753532e942a6ff31f4e9373e4ba18654f869811826a16da5078ef7704725abf71f24e816370a40ab4e81f3cb991558644d450cd75d9769a3ec1e392468f44b52562acd64e558cd6c298773274bbf77374bfeb278778a9503f31cabba5ff6c47700b1a15032f9b7b6be88b5761fd8a1a0ea5a27902baa0afa0a16a2d3a1e159e5b31ccd0813e14919346580a62f37b787a5bb52a16fbe86bad354556d90c87ffaa1ccf576eb4c3f8dd43c2afa61ccc8030142f7d2700d20f3ac47ba7993a4198dbf36d741f83e1eb98ef81d9215bade68f5e7bd7591b62f85d0b8390b18c8a6e69f181f8812812ccd7bec825e6b48f99a4a87ef031562a842cfdab6aa7d1114478d5c5ac9a517ef79f50caabff06c623efd82e9e99e33f5928e2f0b004afe5585d25daf22be34bdb757f68c20f9440b8f80f22767dea3bb8bbeeeb5cec1587a83067af8f58ad8674697234e1373baa042320ee4f0134e519953c26305b83acfdb0b07758d77ec7963d282a2008d0c33d0c698fb7907622074f2ac1b066f540da62dd19fa1c1666f5f64da8b6f38f080678712cddedd0035342d81eed0047b4d6214f5fbef0b36f8cc79b977984e8d9623768e924ae1deb0aeead753724ca6108ebbfd57529822f888be9efd52ac62966a90e5cf07e737406fd2d67c5e484c986faaf3de00a4ca11df7224c9dc3243164ecca19fa0429a7996a3cb2a87d7849fe113a5a861a510f6a41a1659278ca173aeb148215ad0a6eb12c7f96c4ce934ce88eb5c6ae8856006a402555db47372973397a64cccd0a8554a8c2f46bd28953ce26eda4f1b7340242cad4004cc90a5d634efe8375be3b7ee5433397bb6345c54c5c40c95c444db8ec4ce6349162acc878ce5f207ae631300d699ca4c9b9781eb8b60954b263b6217cc7ac7008184b2bac8c947bed1ba74a2b7238c108a9c926a3508c78fea479308cfeb2b25e6fc976e263c4443b8e21d528afbfc23104ca834876eb910cf54d2c9827aeb960d8c8fb422f6f5d45d0b3bed75196bbf60fec92ab8c0ac82a57f6ce76b69a5f2cd6f7a0b2f74051a8f7967dd5609eb1277bc87a3259a6e7d67e1d1802b350abcf504fc03ea480594ec2303ca797d029b1a59abca532ee63d479fce0e4ec535ba981f05e601fa39252ba2b00cfc5521497fb1fcc60256fe8cf5b3f688df558dbdef7e741d45c925410a6e7bd3331a3c0ad664774432c25c9f7f418061adfe10f28060259f58351c617179e188ed4f34876276b1fa029e818227f4a0b6d18a5b7a1cc73d7263932f74015a42d2503606d18292a2fa823e9a4e32250d74ffdd322aef93c83de54d9742cc3607ef1654705edc0258a9b82de157a80ab6d8142470ecc4c75cbc420092c829f88bf3287e3d2d0db6f11a19d9b2f8915c024166b4ed4ea93df0c86b15d6b3d0c683b5cf28d958a37b07e6509f8361fcf35a38ef62d68275ee044a5b48376b820c00443c9d048a1f6ba75547ad2ca5451d6c300291b92d7ece9dfc00873ed6aff7d3bc607cc3599ecce6a4540fbcbb4bfe7738a1eb01e858d61e9a83109aa03a0fa1b4dd8f14f378ced0d92cbd3e084e4327d5e253238a285707a30dc7ef1cf44160b82723ecfbd7800c9c635e84a5f8d6c71bd6527f6e92b6e5d9a3b763b65c8c984be4d81aef0528db4e0e41b2ba3ea1df5973b900046bc912c1f8ee7bb8dfd24f1f46d452593b85bc0e21e4426d2c7a79b82641bc41a100f4a7d2912e986b143675c4c2840d8a1034487784619e62220b25a0d4fee967233523c0c2d343146159063c3697d90de3ea337592c253e986ce8058e1903ffbb088c1752fcacc6be67d14cb0e23346f7978a2bc1e0efc4976d11b64a22d70e35053adc14e812e207a006bc534e67ae2e4a6da8fefb7cf774ccee4609d86889b0e8b515ce03696dc63d6de62053e33bfb0e4c51e9f68d321dcd65a7205e4a83f48248c842cde5b4ff364feb3a125cb0b999066890af9102ccfb1bb3f7e322a2b751a01ff3837192f0cd0a77addf2149bab44c93f58a9d517d339e9cf190a91ae5aaea260b505d5f5fe1cc216324f4660a036fa945320ef583505228d07dcd5203e8799b95fb0ab300e360a6817ea37d7a9214c01809d0a30b4e0ab0b1d4e548d1636cf36a3405fec2a02545c289837ac410d46b721bebaf3fb1a69dec30d6ec644d7a7193ab3e68d77d01ae108724f52ba737befa0e8ef788e2b3ee9e5dd1128e51284a31cf17003a2a5defe29a3250e9ef7431bb2de555994048c05e041b148c8089079ea71c8d53355a39fca2d3d52e3a56c494e8bab518bdd76074f78d001c7023f8c818f0c9a2a4b9172b4e8d2cab38de38139bbb21f5a4166d63f5a3963431e6fbbb13185d7ce872b5a2ad701a9f0f83647443e2f1cc405dd2d00873d8fec36fe56a1565788e9715cc4e4330183e07eb6ae25b3e3b107cf13fe9616c1057b168346829dfa2ba3803b3e86f595ebc9bf924925ce12089725a86ce938364792fc5878a71dfcecd5a97982e2eab6a2569e3a98167cd3e8611205b560f6103d934a0c81f08c7899f5d984020922beb1fb53929ee79a67fb92547e7ce3ed13e65f7785fce636e584a9be33763bd1cd58475dade792ca98447c43639290df1c93a3a2e4dca9342cd17fbc19ed128200ea3103335f7ef51e7e423dcb4d0f609ddc254da3f4886eb9b379bd5b21b735cb9bde6c9a1e835a5ad165ed7187e3fbb209419abd052a35f2362dc48b548f4c936ca53eb9460e701820c931c61ba63b993146626f0e88e6d7d46362097c1686929c701a24240341d6441b22e63de043d5c7d497746b5c2b539c5e20496c608281e8fcfc209a5a780392289464002389685f1db87adc968f1601aec7e3b49218666412488428f9c9880322a41f39ede1a88f640fc67aa68502239b7b1cf44ae844ea5d09df62f28dde173632e1f80a7e0553e471042ee4b48e862aeada7c0b1a6929a388b692da26f915b182a9b9ed1a729162d11c68270bfb18fe27f7cd067410b145661f67a28e5c0d00a66c2baa66699b6a71fa77ba05146a3b9a95965f544807d05b65bc79cb48818ca7a897154215ea2157bef2d4ea19f29191d0abebda91edbe0072aed4f92d362cb69b196362209511cbba0193a756d6feb0c318f5fd0ae365bb11de8143b454a7365243347fb4601b1e6c1fa09964ebc058cef71211cb236046168ffe7c3addaeda42e688bb72890deba7dce89ac4c3c4116977dc3d94a4a92bb83724cb36d6e93ff9ea2eb06572cdab08cb4529c7084adf0c0d09eb411653cd84dedf4d8e6b6ab63413f9fe985050b7b699c0f570ffbe46bef7ffb9801672bdae3a75bc025d7184968ae04da21e8fa50ef2caf4d0e62b74b3d8ba72b3789bdd16d1cbe12f01e710fb9bbed82616e846b630b23d137dc17e7638e2b6c1cbf7559b42db488894bc841dbd944546c77245589b7e144efa43498c47cbe634082a937b3464bc6ebded77a3d3f086397312a51641e3131d86607429701c31900a6d71980e7038f099edb069bd078b1c5edfd6c1f8cf2f6191559e6a9a4fb32d50578beb4b3d34b230fc29b1678ea7684d620d9e0577a06eb4a2da35b22deae431ebea695ec6034268e152118dfc105308430c3446d8ab0cee24a1dc7914d7932e18f6ec28e56982b112d2f2006b8f531a4f010080ddf40277e44edcec0142950522741f17bde8990fad24d0905b6dbe55e71ff40299191ab985984f5d39cbe539b6db264b65574713f0dee2694130d984e6a3d6ca7eea7792269ac054610f193be1c3a1d37321e03fdcad4cb0d9629b1d47705015fb38ca63f553627e50f5cdafc7e50c774e2e47f8ae6ce1597fb5a8afe59e43127903ebac0bc822ebf21500de9f27382e28fa1c916b02ee7edc66fdbe4be990bc7e8da33099adfcc32f8dbf949dc27356618adb7a812d6c373f82c3493cf87d5364eb3d00932cfe0af7673a89fb01d0f6423d097c5a0b3698c4b5d2abf117bfc7045789e8a0cc76b2ef2b138e1033a3043625a539ca2d438bc155a8f8c4f98edb0548d8d3dd84cfe049a855a6f807b5aed76866a26eb13213694776c9dec36a62421defa48ea7d1bab2cb6df59746586a4f9220fcbd59eb090e1868a7187357c0c545eec0f905bc586e39343c4dee2c0bcacdd0fa20a05e87feacf5e70d71117b3cef92cf3bdb692c58635d62fbd0b7b63f81ab45c2e15c161d68810b91269d67f2a1cbc9d1881af638f719a245810b48b57ea87195051642304789b101d0efaf03493fa8bd64a1858df5aff904e3d599f438820611a9a829cccf0602110fde634a34088da331442baa07caaccdef1fc691fd13755b219c943fb93676b273cabadb77fdd752f205f1ba57b8ef7e0d8f076de4e173794529b3b566b0b68e6f20b24fd8f93e9dcf205eae5eb0c93b11984df1922834be5c46ad2b1a4bc4b4406c5d359d18062a64dbc7827d41619bc213acfbe6af979ff24d698ea182542a75404f070b7748dc2989c9d8cb883d3727f1f05c23cddb8530f82c1e672c0a077aaed8cb6ed00596397413aa7e81caa0ffab42dab30d8d7b3e19784b5f6a65e34bf5e669311218935a3e731529c8bea1435caf0a5a71d682f2e5b064abd76833bc4b257ffdcafb784ca9704cc8210e29a3765ef075ae118da5d46e7c77eb40397d5c565c604309e37c8807ad09ccbe1b6f347eab41847ed92e3edf0d8a82d17eb1086dc1d1bbbe3dac95ec6e2fb066d8aed1aa95956b64c5115bcfe613c74662e88cc3b9d47388b929c745d358c6da6e5e7909db0bb2a0340dda601b7fd4a07b2215e5fa341059889872cc56f827ba1fd61d424d2da283cd5f9a5a7b25c5787721304b35a1fa77805ee6820caaabf4309e980ea2196d2af152a55271527c4789d152b5edd9d867db4ab22727633616a6b435d22f4c2fc8ca0c7ecbc9e41afb5e790b9966b6b90a137ce17d42d4ddea4d0dbe55c16782d4029c9849f8c9a5d305e15baeb811788c391a6603f2ca4f13b6a592856bf42f2d0a25bdcb493b7777a9f582538a02147a028d02478ee413edca91e9180a05c50ecbac7f88ef8e174220c4c13d9e57737c84b939c5d3d4f07d95220745308091461357627a1329a12dc3cf13c2ac8b733c0aa4adbd92c0f06ae18e35886ac530d8e5d2aed0bae4628a4274ccf7e6be0c19eeb8ba88ac103e70644799f11bd5403440ab898005c40da5cc771cf66974e8ce098f4b0d2982c205ca8486f5f7faed39e53084c08800080fbf333f1fcae4823ba01e524795722d6d8e2c0050101c2031d24e8a1e539b333b22c66a056127051477402e6206143028681c5810b6262b467fa48d244cb75686d6a5968c056104011467000c041c286343c33bb335704c5a80f7593aa89cc7660616051c000ac2080228ce6068c8fb42d8978a696c76e090ac90f7490a08190e1c0c2c0ae98815937436ebbe94c08d3dca72a856501a382213c3c3e6498f08062c01c181c589c7d4d8fc3ca12badf3b009bce8024ad19825efc25b535186e87fdbe104de9bb072ee0d75aa6ae2c7d30bfbc899a71ac320192d54f069f42bc1dc1e08988ff75041db0a9fae6c838a330be7ccc6da0a5a43374334523c8b0c9cb70b95e11ad8a67363ab93c71c41905004dbfbddef25582b51498d437b8e93b4828dc2c22390543fb27d91dca02e415c0cbd5508e64cbb18c5fef9394e34ba1b5d587c7b7c7f27dac5a66f831630526308b9b02f6e719721ea25ab2420109795b71c366630d00acaa66e9fbaa8aa63d4bf85df439653eb805651119eb52886a60675a62d9c0229a934d663acbdcc935f0bb9d7c47584d8875390ca0cc14d6ac09a60e3a9771f20bfcf5a9695f8907e7e398f50130e476a034d6589d9f170b88f864ce04ce27a810cff33da46441c250f3c7841535c0fbf7c6ae57420189150c0dd85900791f07a3d425ad4eb5c4f053e4f1d6dca99a7b6a8a4f1034b2c9b3fd1cb308ae1ee17504964375333a2d4c37517c283fd65a8b7608e5b47c70f33395ba2c33a3c1c8eb14d4f90fd33d486a630940b75d00d42e36b6f9d9f3ba894515fe081e95d3fb17a4132f80b7c76613810c2e0469b92c373e735f40bc27faff466003fee446c2203b1bb331c64f7a231d40289fca1efbf1fb5c57ac12dc0d0328b818400b9710d42e16d8ef4a98774144e058b6e8a7141b00fc42514c14c05b44335ff8396b063c3b363c30387070208371e0438dc3378bbc9dd83d212c599979076570a771081e323ee7e11205d29c0c5a48bd7399fa93b1e200bc5627214bf5e25ec1be89a516cdcf829181fd486c7ebbd7ac4bc6087c2d8937aeb13c8018846e8b4c29871a1a9468c591a4f0e7436000861d0667a3867cb354da0685bcc38cc2a0eb5929c52bfb9f65f09e60ae8d696d96879bbb194d658d4671f5f31f24aecde39066cc9b96aab21c328d7e6173903e02a384f1c73bf4811a5fe50881d54fca149100d729c5fb4cf17c37808c552b89b558b67b5dbc234dede1eb97229594dfcba24070e4f4a79c840691a348758c33ff5acf63e5928c863dc106e2f91b99603cd001c97a5ab0496600773be3fe5c07e259bd031b04f19e77ca1387c7c29f6d2b6bb32bdc9168eccba5853008fe476661e97ac4ed316505b1030152df8c987aadf032720383619f6215713030652e9c9050e9d86cb0509800403be3ced68a428918781fb316e9b28786ffc25bcb9ffd1470138208e03795432035189c89ca52f2fb0ecb7b4a0a6a2706b43e1935f55ae563e44606c33ec16ae26268ca5c3a21a1d2b1d8f02a19b580de947e99027c568c190fe480ddd5d1cbd3d8dccfea64c209190ace0eb2addd952962d050230bbe71a48b09d13623cdd61ba990dc9d4149e7f7fa8cbce6149fe1f32c448c6a1730b3691ee440b2fefa69498734ac1f7d1fad3d1a0d97cdce4123189ddfcedac4d3d8d0371b69256c0eec3c22603d492208c04b932c54ce9d7928a651d3073e46647067d6dd479187f1c904e1f212f0117aa522f265163246e58bc74c920ff12f49ff7e4892434ad68a9e8fdc00019e3147756ed1cae96f6cebf6c16d98f6a49da5d50546f20eb25f9b3210051e5060a2b56959d6c3d5dd8c68710ddbac34055d3d31f45e54cf9a0b3321d229a6d1df69b2b40e27d2931649ff3801be633580ead58f411e3d020e647abd5aa490c4603d3aed9c14ccd2efa570166c9022202efff705c79823fa51426aff010c29d87fa41491980292d1d681557fec351f4227c28f0359302e0d264d7ac38b952580b0195f6dea6aa66eb669b9b559ba3a7b841c06b9dec4e625bd11b9d6f6dbb6ca5618340eb8cf77584a1c83b7e9e322e1295ad3fe58de59991edf98f040650caedf407402f892306103807bbc7b3e926911843e0cc65541c4879765621e714ea7f3aa73ed7fb437657cae3b36ad9c95a583b5995b042e8076c0b9ac5686375c25d08d195295407db2b9a6505f0360095a60b1fb310e2087c8babc5d09750c075583d06b7141290f3d2d95ee7339872ea60a56f646abd33093120a1ead74e9cc0961d6a07ee49ab4384815c4d3cc1630034635002ff9c09d9381a899d458afab5aba9626851a4b60af4d95b46c45a5efe4465dc33474b40d75752dba1e69a0b5001a435f2b5f2b2ce0300d3987555efab9c1c3675f16e5a77b6c79dda5916df36a1c91a04790fa34011aa74dc0011673c6c688c9eafc1ed1ac44420aacdc027a69454c5030de1575a90d23f8e0c51ceb35a3fcd4d0513e12e347bf12611bab813b3d6bfa48b455380cb0ea6f1520341c8200e0ed6172338f3ee86d6c28abb906a88b4c37ad5b30554b6964efbdf79652ca94e40ea7049d04c504c1348295eac7d3e732a4bdacd4507a01594dbab264015366d1557d5f046b9a7e4e6a2401832fab250b16772b39680fa2684dbe5c2f994b666934da139a93d6a4b31d5ff3ad5ef5ca0a142434e43b7cdfcb0b3365874eb2acc9330b56e5f0e85d96a553c1c1d9a816a354a45214b57e8b4689db90a334669c11b284f4b2d55e1d39319038f6daf1f5e46559ac5b49a02b249e2f4968b73faeca058a82f443daf17a34939781dcaffcea2ae6345486e29ba398f2807045b2ba4ab53382fd39ce99786fe26e5bb460b9f21e947b8a9aaabad2112dd568b921a222a726a69e529291a7fffff5fdbd06814320d5e6a48aeb5a679cf1b53f073af9cf567125a5ca0dc432c1946156a2a74ae96346c405cdd23125072d9a2998afe38ba2299a09a1d280a143a20d21c484d083550d454841f1050c59309902466f00b4cb1484294c74e0f56e8b3709ac3977a779977a2346c37a9ed0ed7be69b76fd313ae486feb070e2f4d32bc372b358db965bc5e5487582a030ccb4ab1e832e0d217f22aaaadf5ff34707fde113ed5a0ba6f0b06b1d721486a8c6f7d22e085133361bf786f762c1f7a51c867befbd370da02efc3234ef2d91a0c014152dd992a07a804a2a7aab2770f6eef06ab9babc5a7e8c7cfbfc751b561082f271d2a456dccf9136adc537fb34a1e5de6b423d620bdc8d899138987493f669262d626d1244a36a81a373df7d353aee7b7d530169f9dd1b5e2720bd815a3abd05316448a3e32892699eea6774d1736a4fd35bc19b5d2ea04a42ae8a1e13d7aba78c9db3deb316185266c856d03c59e56b8a132da9d6d5552b6d65a9294ae4dc8a6a0575d53d60cbb2a735eddb948312839614def1c46deecaa4df5aebd65b44310e01aef827b01e484482344eeb1013aa89752dddc489a2719676953555f518fc38d7e6bc6ce35834e58e0a084c102e57a433426252b259b4582bca80716332450afd783baaeda38eb578d0038caa58527c735583aa501d02fac08cf6f19a266b181d6562c6e94d81ec90babbf73a521d620da1215489aaceab846e446082aed5fcf1a2f1acf61b80deffefcad0a4c1d88c148b9650eb0a45b8e3b1d45b992e90b040163c23aa7e0da39c62c21dd33d6974cf5a562cf82d7adcba88393830f333b619dfad431d4bbe8a605b341dbb8bffd95a8befbd17632be617451fc71ad2489234c332e5c5661645318f631b65ce6fd2df8ab51a8d369b29b91867f1477d9dac65cc069d1fc30881e12ff4f9dcf0de4ff1bfd7fc838107031725a43130946ae4887a6b47f28a78c49b142fb66fed1d772d4f511445115ff22c4572bc3f2810bfb26cd6e2332eb6d76e6bafad2c563dc3de2de5bbb717e7339b9fb3cd5a7d41c4232ffb31068b25fe2e2859cb7ceee22ccee2190d8582b1cda86c0083be5aae1269d4caf6f611d95c8910d73c43cf79ce7336f39ccdb08d6cddd6c5b72cb5eb5daf272d39b3db777e7a29fad09960bcdb4b521c736931964dfacc5d6b9d6184d025a73ff295969f4eee4820a632d60f0a328a86b8ca70cda588c791bca4a9ed6f6b9f7c697e796ad75858dee2219d01430e3ac63253061985d668c632baf533e16032a34d5eeba66146ac255c187f66dca2a4c8e0e20574f54c964663e687f3e74b4b474569aa20c592c255aed03b8b889142bb30294a50b7aa1c627a8029408a227270b02ece9a7e4e3f27affe4ec691f0313ff80f3e4ca6eefb01b3b8c7ec4e0ef41ceb3c628f4e823285ee0bdd814216376473513da6d7195d55514d493d019d7eb5c9579390aad2ae2ee1241f8c6a90078b88867255e8715756553adcd50b3c22bea0177455976d78c643eba929f93839c2ab18398642875f5a5b132766949bd3152ca811547a6626f088e8dbc4dfecb135cd1d7227f01ca34e664be813bd2d4f6ddf6dc5cab260cebb4b7b8acf629d394d4f5908b65a42f99fddb4fc2b6615d3b7b62cb98a1533bcf64df328689a59b4984037530a9733454cb3616a4588a869a246fcbd8abd6265c8519519cd0c7ba699c534dff51137098e846ac5c4775e22895f700847029334840fa3161595807b199190c58f242b22a17a0bfe6e67e278b87789f04287a0c0cfaf67cbaa15ce0ebd86b94094092a71e64a61ebee0d8d436b8ad080572431115e49176def15fa5c38ab6df4bffeff3bf1cd66224dd7aedf1c8bbf73284e3fb9038ff7c85d8a75873c168776e6db3d94a7772712cf9b62504aa6a659df1d7f6eb5f0add50c1d9289c1ca6827a16e43611b97db44e10244bab0c5f26c94b1f937e3518c128aa2d628ba374f153aa5a39e6c2695d48a36734b5947110375b056a2a8358aee3d9b3de13f1372acdcdd4e0b8c31c6f75e8c31deff05510bbb25502330fdaa0e80ba7958dd3fac61f8b3a0bbbbbb3bcfdfbde6eeeef5ff6b75ff7fdfd657751facb86eaf81e229a8adedb2d62d4d160547ca33b4518a592eb3bdc5329f6e0bc91177b376a424c7c70ba4513b9f8cd283f97fd16079783461dc6883ead1fc9048f36882c04151e153f2b2030c3b9cb0c6638bd1b0859fe64c99227ed88183a3038e327e9bf69a8f6dda038b6de68887fa92dba186873a0a9a7a281dd07c5005216ed570ecde3ef04775e3f6bd217c7e0624671f39db46913e8daee029540067b32a3f63a004f3adfa0be68e9c33d10e18cd9683da1c2b3ebea558d631480905f83c30a93061da2221762418db30cc198fe2fff537df6611c4bcb00022081a46350bfae28bb14d739007b4b6d7de7a713671b6f6a6d735aadfeb939dad15af1a6f6fce39db3c43b7c6d56e732445b77744e215895707c1ad69c309dab42abd68181b51f94b8d141c702bc47c52bcfcd6081a75c1918453075d863943b3be905d9a6861b4d22f26e220e08918eecd1d2806ad447055b982e5b5786ae233c3f4add72e09adaec8526bfdff37836b88c963e49a9572bc1c93136a5439ed30b8161b365ec4725edac018e7f34221e9f050bb292bdc6de893d924b478d08611004137aa70b51a4fdd26150fc3d03db4d5f027a522f1b05605fc16e901986c51d4dabde7e3c43df772df9e7bbcb1ac9ad6dad24a9d6595b2bb46bb12c57ed4125393d35311aab56c01b2764828287793a2725995d5c4394c34e4c8d1eb0aba822f71ccb5c26296aeea70b489ee996d6db9e172e2ef02808ac4a15dc57b838a6c11ddca6d4f151657b779e8576bedee188a06266b73368cbb7bd06dcef212700fc35e0c0ded8ec37f48a3cd667bd72a4a692a74df2cceebbd02dda2686a3307c5f181490acb1087db86a1b518e7b06e71bbbd158b2879c98b92e525c90cc69c3146c34a3a260ae7a979e78ed6ac20342898b57bae98a251bd5015d659f15ce582582a02202c18fd78c35524630a8f52a1970853d7fd9e111f03bf27c0313813a0e6bb17ee5663e5b91a2a542a0803c27e68b5e9d9f86ceebd48fa56a2188a06a141a9bb5801bb00ece41691bd6ce7234875fe28004f0d2822a4568b2dd17c961ce0434992d741c2c4b61d2a87f48f814c684284ec233e4196e81c90ba722871259109d948f011227ba7eed0688e7768400c08e2fb08ee112192f10f370004b21b00c245cad6c06e0008104c6b0063d911149a0c48c5bd9d22e9f883b18cb64d920b1d246f21ba21204841d22ff2eb1707715494be3f0dd377df8cc8700cdcfd04ef641913cdf30e4e6b3d431fe523c7c7ce29928a3818841ef24370a682aa041c9760357145bce7957ea6d01fe6628c0b702aff71b280f77afbb715f004bc0902cec46deeb3e40025499018806a7dbbe9c03a51d43ba0ec00a1051132a48748112a466a47b6f0b44c79226340967780d0821431523300c9014b7c6c4c1068f2b38002092849728448cf102153d21fef771a159d40f979df02a9d8d4c3f9e100a040024d1060624b53b168c901a938a424157349525108492ae20cb8f140b5e6711345dde348cd0815252269def50c31d2d180ece429299434e376412cf5e8ffffff2d8087c745f3fd7fbd77e01fd85f85f267227ca54010451407d8b53c807d1d9d1d1d9dbc93f3fea1e33a3f70f68db33bceee3fdcfd87ce0f1d9d99003f7ce4fc5000325dba7bf010020088b3634a87508e2a34d6bb89d9c06a5e2e8db71408a2a44d0f389040132746362850ec2ef5effef7ef7830fe8ddf9a626c0c81013f200c988dc35e35643673ce55cca6edd925cbc33fb5349fb0c941b54565a93c759ae7791a894233a15db473eb1b21f4f9432c8ced95b5ba3d8eb858e84c8d8cd1ba0cb19de24d5996adb281bd2cd1bf12b6bf9f72290f62df37b90dbaaa425f473dbd53c6eea28bc683ba098b6511638c6bde137dfa87f27ad797f16f8773184b611f92986397eafe30c6dd1c2c185461eeeeee22ee71363c3099da7e49d2ef122e5fe4d5d95f170ed5a21ce88d9bee4a322a1a6209a11ea4afaa5a4e4f62d438e57000d1917ad05f6413caa497944e72091b41b64be6f0a1bf1b60ec1c6f2d1dab17bc39199cd6b78642399898f67c812b7229d74648494acf5b7a0f6df771bffba4377a1d6e9165b96b48ad754d6bad4d0fac86697dde71bbdcefe97bd4ae5f2f276f8dbb76654d39d538beac6b3bcb37cbcd0aeae8726d966bbbbec8e5d2a302d7d463083637f5d96295272ecdf02c654fa64fbedebffa20225e7bc7c5ac6e2b55529a5b49a3089f92f8342977945f4ba81586ca478fd0376dc4bd63db661cc7711cc7519b1ed80dd31a76ba4a7293ba749db01bd8b649cb5a4b3f6fb6d63a0127cdb202bb526e5d535759e28a0195b392a5eb66dc3635f5051bd3d8cdcd1ec7adb5d6da15b3b161d99354a034771d492b8e22ad86393410614187543d88d6e9e75e473b8a198b195b7b7b5fba37fd9c9e6736fb7f5b7150d4dadfb8fe65b24a823d6fcbab048a9e9e9e1e11c0e898165d9a5845e41c84927a5ad435287ca175985b18dc4b9bc9d1e21151e3c3010d0287c20a52636c1d153ac2f89860e580a819e3c54584cbb9f00f57bb20516f77c3e60af15284d0532d1ed40940981420823a17b4141e2ea8c41a0166d149c56580a81c00c8e45e0035048d435465dc9ac21e128c474609ba340a8636e508c2d68ca1b369339d329da2a678baa99d4da71014e30c988615f1850b1706b8541e32908093263895cb41d20a008886d0d65b8812eaedc6df6e129f7664af077be4ea0213ed0db391fb2b18506febb46493c018815ab9e01548b62138464e49082b15e92e11628c76aea64bc63a69c49736d82ce68e6290f81173e67827906f9c31262fe1a9328930dacbcd98146ad6807551b1182dca1c86388b23599a27aba55d351fd63cecf5e1d7c06c6237680e1d3a74ecd89163078f1e3dc21efb7fef9047d863a7b200727c443130821a6a88ff1b67d48b32ca9d31fad5d01aa1509dea93dcb0692ec67ae7e06cd62660bee7975fcde9278ad8dd80adb558861cd497a096d6ac8b431cb7b250287f44a9ab22212830c0e089d094a796d224057f28e3e549d760af151a2eb40d3a84f951e3278dad6fffb234daf70253b8d0d69ed9953baa0d109d6943967a46ab6dd1dc339a0d1996b21df56b1354503374b1e241d57b5f78c29f507715577355c7ab44f55691eacddcba9aa3c06e994d799630f3dca5c3dcb4d952c5074bd92bcba0f8e507678db9c916059a759a3c9b0ee9057b9f94ecd5abc10aec9935088bd5d7e94495ca84eab893eabc9966eee665c61ce60e3c79401e7be96c60bbdcbd17528d2c6f2ab7a624d1cffd82e67913b381d5bcb689a43b651e96249ec08bb6fb7361b568062fec3579e79c83a680a1431eba8dd4a329e79c73ce39e79c73ce39e79c73ce39e79c73ce39e79c33de39675df5ea3dff0f33ced8be7b914be4f5886988f23376ecd82d90cd186f7ca67c6fb93cd47fdfa5817eaf7fc41bbad5abd22659820c5eaaa0c8f098c069a2a809a3a526a47235d50d9da382ed20d785a95534022742110511206afd85480c4054cfb418a2ddd041d5e58702c47b52e1b920c492c74287328512b6f8e10405d04da6261e420f4833c4f1058c11912f052127ca30238615583c9d487061a1c8fe194d43c160a59d346900ca852aa8177e26d4d0914d80d1890cf5848e3d41b6a06f7c4a6054f95a70522229c7da1750cf18775b2cfbed4b47d56efb388e3fba4dd9f3b158ecf5d8f4f3defbe4bd66bf600fab89790264b064b1f2b6a6c62686cd2cd6daaf89d9d83cacc6dd75f7266feea72d729fa6ece8462781d1c7d7e352f9bbd65d6b9553b9afc9c98136caa57caac8ea77ef47a1ee112d8da77a6ee8ffffffffffffffffffffffffff7bbb9e0d7fb6d09609374d8c37c661189abff189cd164d2cc9d17b2c7fa29645dae4de03ba138b75b2f0d9c2a66962f3344d8f721fd7b98b415a682858246544155a3d2145ed7c8ab78463cab90ff5aa6a98646544552425040cfa5df99e90a2a62aaf244771d75b45b9e82622a69ad10bd3da64c19050d9bdeff5276dfd4649bf63f2de2d9e670d079de568d303bb615ac35a1ad5a66bbb585bb758b91cf31eafac765f7417ad84bdb0e63f0313c57114f3cee199c1729e106badb5569fff7f12ef3afeffe36c0cf08de9f4b53664ac10a63134adcfbd3a3b79df7bfdeaf88e0e2eb2438cf1edb68471311f1af3618c8d3e4704c5c50acd51d0dd0384fef326f7fd2355a3a45ddac31b976e7a7776f0ceefee5c2c4471eb185febcdc06c46abd54827cbb2b42ab536cf9f7facb4ed1dbb080200b3a5001812088582911c46511046912c48d6071f9f2b64c4be939229893387023014c40a31afd39f3f089f81dd3f38b03f25272d2ffa8cb4682d506eba2fc708c503b1ccda03cd15813f83a6232b03cc811f1e59770c7a1a12e64acf5fc370342ed2bd961de60a106c9772d8f155cf93209f78ae3c1632b55078fd03ba8232279331e2fd6c28bd5939cdcc1ac60f8103f77bb75d249b1561b2858a8f8e839672c5b1faaac5472b6b194cae0c1cce9b4ec9ff8f8acb11383574b712101acba293100dc168171aeb396733053878c5a5f369e84bc42d1652bf8efcbd153b0daaf498924d7030b5d88010e3481428ecf3b1c2c9e32efac08751b92b6623a01e787aa3111798f9684533da98c14cc9ab60e51cdfcd7acd02a56fcb1ba10e158b6b7989774e388a2f2f0124345e061d49b8ce8b450831839beb41b47fe3661469d9a63ba3e81c77da442112d09747944b403e47e2779ddbcb411cdbef1f7637c2d95ddd78042672ea6acc5fabc4adf8d3f9d3de08d1f75bc8bce11c252c0b5470209a55016bdfb223fd9a3f500361743283dbd54636dcbf599706f6b32752467b1c5a10fd7499ba5fae8aaf7d698343200b37f5754598dea758b7c26ca93e7067f60724f657f1cd31af6f079d918e69203c31d5cf73e0b7b9c5fdeda394d2f799acc05e7f2ab1a99d8304e2c0a80e8836bbdcce7dea1c51673d69a7adf97255756b67959b7fb6b2339272d217d3a347c92596f304524dbeacdc1f51660a3e648ee40d42a0b74d9be8b7b95ef0e0caf2892e4aa5f602999be3b370429702665a5120e7d7e6c30157fa861a7310418238c032524728b0c3585ce9040a660093533df59a17eec7e56a85c880db0f2188897f1cb9c826e9bee7e3ab02b1378f1b96e4156a6e21250135b8b5263db2a2d0e249b33f0a81d6ea7e4fdfeaffeea7f47a52bea303cbe6a176b2c0a6f403e9d8e2eec59bdcba4e023b319b881abc955271d01cc2d11845314c04d8905129ac063c7fcc552c7b1e40f9aad181c24e41490d8b3bf670b8860e94d10b53af5113f14ce627e53040cbea33af968bf302da38917f4b960757389a91153a772c98e1a5c4a96bd931d47c18e9a4e8461d7228a3ed9233f887615115ddc2596a779a2c636fbf5b8d8476de6985f46181e7f1294f5db1bb476fa54b3e393ae13081dd189af2e8771859a942b4849801555440ebdb2999c1be94722fbea93671a9b5b6aa38c088e700531bcaa82ae86a6a6a15e654bd6eaab7bea66cd658912fc59569297a6ef1d8df95a6fb7463e91963fe9f81616608afd93efc8673dacdc3f77528332473c6daac6d69dc0551668728f6fb50c1eb7c59ea4e4d2898c385fc1cebd0b632d81b8121dab0fb631d2062a5c6e776b9b87ca431e8d2e3ac131803eef09efe4f9f75d5ae76e594194f536e57c5f035e480b97117d487e2bf0694f1723d495e87a718f4fbba88efe64cc1a66d2cb6cad0c422c823d2ae30bfb22b092440c2bd25b03564ee51ed7a2e57e85f79546824f4461a7eca583525d485ae8252649eacb52c3ef1c1de5fc3c22a038ccad0c1dcd24f04669979b4f0303954010ee8a20fc69996ca941bf6819dfe981f0cd51311baf50653005f3620460308a075a8a83620dc082b8137cd3bc98fa15c9ec39d89304089b64af18867c87072cc70bc34dc5fc32fd7985279c3391c2e395c4087ab913353d39e0b28c92d1dc05020285fb4aeb56d92e0ecf6a7e9f6f1c011b0d9be8c83e5b32817b588a40d02aed81c45606653c002d60a58eb5b086c0e62bdd62cfb7e36cdbb62d20007333967c09d8b35537a8ce6f524693765760f461c396164c2c1b939079b1ab7cd7e0ca20e21edae69b42dd6b29079930531e572c953b285786281ff5ed9174f75a7c079945d4edea64ab4c9f1dfebe7efb346b37308906180d634c333e23fbab8f7dd70be0ee2441cdca43894fdfb72cb387c85f4cc04084b0489e1f26d23afa0eb13505a4893eb2eb1452e48774305607190e6a5c931ca7cef0830e1c992a727749d55455566b625f29a034b442063cbcf8a0453814a7984cccedd9c11cec5496557d77395458dbe9214fd4c4251d978ea202cba84fd41aca513202acc8990d59756c1d8c294e609950004a277ba81c6ac3d561a72d49e31a28346ae45c053de428212981d28979f8364a8012c6406de98674e91557af668de8162bfea336fee4bf05cbd6c62caeca695c1984154942cf1af1d4aed40b96f058090c94aecf7ad2a30ea9648dae2c4b769a06bd2639301fcf638cc0cb6649070951d2665c6826ff42c53124ddb50eb091dffb5269915a67106018a1a97840b39555ccdf954327d79175c867269a80e289a6a92399a3d178cdc3c1aff8891be69c98f24f1577af3bce68fa3a12868bb01e4b6c12d94e03c3932198e2b68598781d924d1c24d14321afc5b9c6c35127da39c340384dabf71fca16017653ec70a713153b4482f1ebd4d0a350335ce6cfbb0b4299181b7427d9aaacfd4a967bf0bb76304afd0a99d226df40f38d9d0b2d8b523a0536bf2f12d577d0222ed5705b476559c6628b850f6e18959e1c82cc213488927e8dfddb4771f1efaecca658d344d7c05713d300068f62c4b2427e88e90e35dc232ca60c1171452d6309eaa97ff74521ecfe1682ac0a475a8f79f83644c5aea74f215dbce6b877c1c1ba958815b6d96f8ad58e84856bd214022b20c0e1ca4aab009801223d01058008c018f606580840c4204e1268e61a8763e2a913bfd796d27da98b44319ed153082ad2e858d319b9f8b027eb78a2f3aa7ec429d6ec7023711da38e427c5e5864997d23508a6a5988f8776592fc5c6263a8345634bb54adc47b222c6d77d21a540d536808e9cdfa1b6972de03835ff5a4a572dabc7bdbb57f34e47456d15de80226028d7baefe7ef24e3ca9f38c2cecaed83074d294b4f5101c102dd30acb82860fe01b3c9fa9e444dce2d3d6d7287752e54e22ed3c6c9f9c578596242bb5be6506da5a46877651ad5564b9076f7cca4da8ac5d26ef50eae99f6764f3542f2f94fb05cb216df7483078b389ba64353521a2b030655be41e2d4fb27079f7196430724aad74f7f9388549691307f83eb44d630a5f134a366eae7a57148890238f55226e7afea93f9dbe76be952e262dd3ce006c6edd89e77bab88aac0c4bf42df95007bd2515fcd50656882dbbc2fe28d0771f96807954d8b286420e86d13a936d3d435f44b60a29a9bd784dddb71ee248216d659706f21fb9b68b988a689de4103dd2fccd09a53b47902c987405c9822e9075fad7b0ecef959e1eb720da8219aa4710f6c263471e022918b8b9de346562b76e4df48511591b8ce4c7bcae5bd356bccca50e944f4f0c4f44a57d5db1cb9dec4be32e856a11135fd6b1334753a82e7b90d9d2710881ed9e1ea1afe5d28be6ad69cfd2f508a364b85e05afc0d350e4ec243b24238274b65d9a2f44c0a4bd0994e290445a1c7ddf6b8a261963bfc80971479448db2d8a33a6b2d678dc5ee3048cd694b43d232d34e55ed26bfbc2efafb065c6d26d12a2b435415a8f299d1cc30a66f048155ecd130f6602282c67d3901dc7d0b4c8fecd46a57cf35b64786fd7dfa249b29083b6d05a9786ce1436186738eb7048faabc4fcdb26692cac2769700446ec078171dbf1e53fc0ee311751506829c8c39091b5326e53306e699d0e18537f3f9969ef6474763217d1fa4fbaf76b5d82b4521363bda8821ecbb41cb31fe38a7c67ae718b1e02f4585f66b2027ec4cc93701b190ac0630f5c2d681fc4129ece0954007b72b01ef72f5986e159082769ff28d7e8f810508f838026da3fb4fb77a163c5455008341d4b614de71ab77be2786468990f0d305fa302763ce8e13742efd2171173bbf1646cc0895943bf456fc4765f7fc472df2dfdc88e9face94c5015316d1be356582a4aeb39a569146f03835cc4109a144f5a9bfba6149afa6039974bcc32fea592830639106159bcdd4d2b7484e51c2123d3ba9afb93773f86073a73c95cbcb0744ed98e6347b4b2470be91dacab38f707b94b8956523ee06c91a09633afb6b59d06c03540135c6f0440fc02cfa0d5f0ab2879f0b2fcef1d333991f300c3804bcb80ca4db3c5caabf53f73a9e3bc8d07769720c7389a21dbd30ba4bb9380f3e31bf81d8151e5c79642758a52828ea1fb9c69c664e05beb12f6c69fe707400c5f59b22cf807ed194c9c3c93920b706cb0b7ceca815f97ee1de434e7c995b3e018981aa213d355d24884cd16925a080d5f5f572d202bedd844c4f6ae7a2b49d839627b3a658fadb02fa9707d7db8a650cd3cc6a8b78805eada60c15b88145ee139324d4ba93ba0187f91b5147fb04f7cf2ba3d4cc877138a4dcf286527b8c8b091d7f189cbe18c8d24d3378dce079651cac170a321a86b07831c96e028bb62c91e612305418529668ea88301f1181a150100fbf39a703ba3232801308beb462eb49e1e11fc18b5cdd4ba27880284640a1a599d8cc01e25ca1f04a7e58fbce9c9117ffcd9cf021c4d8d998e3786abcbe8351942febfffcf7b90d9a0c3587349fb5742c302b33b4ec0eb08cd84b2477607fbc9fb83f35c5ff9643173fe78853ea652315e91e1d917907da959d1562bb681bbe07a8803ad23b0025e2bd920b16d9e7082ba7f8b1ca457a9613f0131f2544c710fc66d6065ed7ca0458f22433498a798787319ca1ccc8e60f619870ab3f5086505f8c2eca767be811ef29c363e3c66335938f9f8cff764c3a1dfdf0e37737f63c398f1190cd7505e272fd1497564ac63ff3af082c0527570b6c70483d866ccf1196290763c157763f7f76dfbfa05fc3eb06c5dd624095ee64e92f6741589ba0b7bc835184d4f984b91ae8e78462f4027c6b78e3a920065befd6ac1e9650cb91577dd1f626001adc5464f5c28ff9b1625e413e9c46855b2d2d0e230d902cf958eeceefedd15ef104e73a2f4190f991c744c845cabd151562f663b3ea6af932626ef9fe1be0d7da5c1e3f420c3f1203bd19bd2bf94cf0f5519bcd4af3c3cafc8eaaabf044d590d431ce297a106b79d7905f22ea22982554b2ce8f6413ad653f0250a8d91b42109d235c5f88d4dfee3cba07361a802d768582574a398204e4a48159402423ba5c1a195df512aeabaa5a2bca5c2346019abd726318e91e5a79eac8781065fd791844a3adcb20c186cf751dd2cc448152e353951b50f1fb7b439ec3f6c92901484a00dc977391a02f8a6b3341a9e38dc0ebaa1e5d2a3ad1bef09a7f4ecd53e7eb48ef28cea7eacfac8e612927e7c37d54ef375a9e6197b4dfe53ed7b16cefe76a59e108d96e0ff88dff786c8b910376140795c33ce7ebc70c8b0d568712afb66b3f68f140b1a3eb55c573fa4f3c391123cbc111575264621b53e658ec306792eae873e635f52fd737ef9cba65b45a537b54ed2121384102b69ece1617344df8e5a30174ebe02a187937d7ebc46b180e361a069f21e1bafa59833432531d1f792f53d50b8a92c5e123a4a8216862eca29a830a183d848defd51e9dfbeaf5506da28c725dc9eb3fd3d40aed9d673cbb3e7c8e36491696570a396b36c78e62efe207d46f9143f953badf22dbb9984161b32873acfe6ae56fe519fff179110525f78b7ac9bf48cc4560badd1659261d59f54d4f15e3bc49c2f3a9fbf42d9209101d7f4d1d15d1f998950ea9fb4c74354576f932de5f9a9f52f60041fe6826b38ec44858aea9ef96dd28a3f3a5c1e6f642a44113cb0601758ce076912c101d62b4d6ae8935cbdf753e3e4668ca96c1fad4e6051d3a1f5e38726ef156ddd382c3b7ae12992fc8890c2636b3ea95898d527e64389a939fe8e9a7b3f301098d040cf8244344c3536456291bd9e4012e2e164288a44a03c9e3ab2b3330918adf8c326cb7b1700710f3b273336b1d0de71cb674c4b099db659254f402c1855cd6b9b865c94c331e716d320d6bb0b67da26be775a0242c764e31a9c234b605e0b5c35a6607ecf465381162f7efb975a645b6e7319ab8433a0ce1473adf56cb456b019ce5946646e795c6dd6a9fd509326ab36ad30d72825786550ace57b3d7b131858dc81c8d8ead5d618477a9e254019c6f282c248ca1ce78c67573609eac99348695120263bc8ac7b0699ddeac9b635b1794a42c78cb9d39914691e7397b2e85cc5b01b0493bee5e4d38fd2d7c8be9a009f79cf8116506a2b24c1be07c2be895ea41df506f1737564155d44b955a40486f1960b34436aeea5859f167ee0e4d7dfa41c263cd0475f1826a22d368ff46d0b64285a122dc23eb3d4be04c618dd4754e47c56d0c189782847e1568c96c2df4c6a77bddaf8cc7b03404d1727e380f75d5e2e0014a3fba22b5f6a5066f15c84a7db7b787fdfb8fbfc0afd79db996b60ef663d9937d265c09adb7fae2bf946e1cb701b06732911e4d69e7644b5543ee4bb1238285f7ccf9a92fbbde1280b4983917d3e3783b936710e162ac485e268e7d9812d399bcd94ac3035d92d12e63bdba5b3979b35512e27385ce1b5c06e176d60f6c25259d8bf04a9acf37fe4c8be1e21b1985667c8cf2472a2ba2aab99963a9bceef23c75e6f3c2f36b534b64710cdb00abebb692888aaacac9434baee602864b412dc389e4080685b7e42a083a3034347dc0280f9e4a5835bd50adcd2e47244503f4756c177f2fea6b8b68853a2749127c8415f4ef90b5d17718a81d96e672e284f18dd2e09dd11aaa50d62d61933acad8cc7b9f256008b649e69380bcfe647304bee0d1ba5ffa2dfa7838fc86000341de44b23128e3130e113eab22acf31b9d7a3f6639dfc8bc5f7acea2a1a49fd550896cddadd3fbd49c6bcf10ab7ff935177c5f95087097918359c03f36aff23559c9c1aa1b277d41b3ed39d08a43af3369462dee66b85fe855086557fc5680633462bf19a72386da81ca7320bbeb28ea7795f18ed66922ae0ead9a55e1103169c4491f3d82385cf91acc058389d2dfee733b88b472f6733ee07e508f2be4c6edfb4e7aa58d5be22b20ddbefb8002637673bed48c43f5b140d82968bfb09a521f6fabf2fc1ad062c126e835dbc3205aa1005208c8547d519e9e2c94103f6a18bb32ed034ac8bf601de882ecc958d54d06c4408b0da247232d58c1cd2024ffcc8c22d9bdf598e18af05ecffc386af83d49c149fd8af844834cbe3480e2e7ab10261fba70b93989604d5aaac47bf84dd3e27dff21a35b7bad1851d4fc0b053560f74caaa414e59a9b0cbb0ca3f29c5cc0424e13235a1e2e8d5b56a3d5a9bc31857e0f4c0c19954172e31abb009c2d58d66c052dfcac193a36c2b607b926d326113dbf29d82bbcb0bbd4ddf8be7000a39b72ea720a31869239394b0667be9ce309285e85c6990e7b48714213301483a10be30d52dfb38473130cd491afc94681ecd5a4da4a44079a72c4e55d4481db717588bebdb079a0421c67c73ec571d881f352b3cee1f61e666680ea36971821ef4114a1da5ffbc3c499589f7f898d37348d943b162e49784c7471e3399b6aa9e45bc93fcde1cc6169043d983204be2ea982173319cfff773af6f063941bf10a6fa77b374903abfd629310fa25f00d4125306050b520807d025fb6e8f4dbc607a856f8f6cf91847366c2ec75231a669239b1f33f1f9f10b3a3ac4801fb3fa2161631204e7f17d453e32c7af9ee6ec859b24979a1e74d0d99196decc88aa6ff004b55d73b0f131172fddc6fb4c86ba23f5c1ebfe9d8edfce61b9b922ffad569a4d4493d6fb63c76e13bbf968b151a13a0ecb029fea994c502146cf645c173807956ab9b4165e18eea0a6eacd4179fe109c9208838c69799fa8903d04c3540fc13e3f43b08e9d21d83c3743b065d71c82644d6e3419e9919eba0d1ed3160d4a2970bd4004039f859e4456adfcc7fc5833afa4b113b40bcbc53573f952164369d05393f1bb6ab2955aca74b2f6bfea64b4a36e473f33191d1f4d6678ac3959a82d272be9e508c9d875361e3371cbfa676fcd0ac70ddf23e2725a32d4789f77f9ce7ee10a22cac5d260ccbb983eb60c05e7222fa0d0d5dc48a5be7790d605b2f6d9355241d4475f6ebde908526389058de606b8588993e83851fc7a4ac882dab1eb2816a7aaa55420a46ff797badccc9d02219d3647784eb93eb91976d7dc0c9cd20a844e3a7ad0db73cb0619f6d599efdea619f23b12b9bc180e12a0f4e67f30c9221c255606a5a0c522305162b2dfe61e08554779d88d96d686621e372e7f272041253d7a36000ef2b7182ca8b33e5d0418191ae4077dcd5b0b9d66eb76a8cba540c71e1a2b8f4b3bdff273a6b61e37187bad4c9e85e406fa6c576cc22b60cca75327ec40c4ef99d517997265503dc4279c0c14d8c93be97ec5928318485e159ee963a6cc230741dfa1008ab70b4f1b5401222e8384017322342b4391f62e6420daec2c9ec8e0162528f9f1f283147dfc20b7ee3d393932fcf05b831fcc0fe25678b62be5d9e74944354c507baec2f25600e649a4a022a77dc7cc98626c44bb43ec83af9914175f9d62dfc7fd2fc62861d9e27c03aebaa63f6646407970d4e88ec420bcff4a24fd9e687b10b7f84d0eb6977ad917e1350e2ca7b18f6b3d2fdf3bdf0db7426cdd14912368e48c822de8f4c8b920364280935ad0e63d52b61d1a170a3206c4c59191c9fc6417202f0776ad8cf6a6edcd21059f325ea12de5f36b2eed3d9c33806f334b72a17d9370c2f140c6b249e7f0539927bb473aa4121a50772a0e0785186e0220c106a65334666d0958a3ec90af00c4069904262890d6b06946d8a5e9ef6f678302958cbd53df8961b3eeed32a2338bd74e406427df7c38be55d8bd8d5083d926d1431587debfa07b1b30de2f9b4120fa4d2c70e66d327252300afa1829ee21f88aebe1d156c23dc6648048045b1cbee9022bec0bad7e7dfdf546f5dde45f17d33d394c160ebd098fd527facec6509e08ef2ab8768d543f2635e4996e9e1ac4ee8436ea3c89b0192006ea9d36a48a0089b3bfebb4fb2648e69d1ab8c29d1a70c39fabdd14980999e951926c1958a6a4eeda2f291e84766a32f16915a296a85a507c1adb793b9af8312b1f6ae5ef3184f2a7d9cfd39f0acc0012d3184e5587a363c3712e7d6fe61794cf94b64f6a8069503b83a10e553d1f78136aff3795e552bcb709e14d2d1d25d5585c511529eeac7885538e20caa5bc5efef14027143529d8d0b37044ffc5659368ccaba8f64ddd98d93738e91df471386616c022feb38cf59be66211f0c21ec53123fe3020698f596b0b34e594e9aaa314ca882201a3a862bc5f55d17b765da669c1d71c7fb6bb13cb29df8e5d0145026014085f68daeb031653ea22c88661a6f8f662662d9aa0808cabfbd9d3c437686ed9778a3dc59cc1528b05bed131b0f04d5ff38409f48dbbd7f2004176ce3fe0f30965a148cb6e22f6074febf199edcc48b286fe013c10e7beb0770b8c47b9acd8e13b276ff58844a495cffccfb311229f7e0e61b339023e6ac05620716b694311be6880bab34184bfc8476f6831ad6e206de6436998459f6a5703c36f610f5acd223740f56b1a338c58d9c2e76e35e84a46d27f51f73986af3b3ce9cdf83514fc831acfeb920be49ad36d4b00644226b461a2a3115515ebed8c028bb14046126c16125fa674b0d22f13d83aa40da11c7e0c37342ef8aa2f75291864a9cd0e931dc4ab18655f8adb85e541635bfc7e6ac5bbd061db93bf48fae8085e3aeb8850aa30fb284a3e406aa699bfb78088c482905600ffeb52d0d1e881cd336d5524fd9d950322af38a25f1115d3d77e96d74ce28853ab088cfc63a26582d1c94010528110a796de86b3dd754da2eb97834e05c6889520a5535a29397c7c9b39019a32b53df37d6666577738493bee3c820ca8211b3f6009745becd7e0f31601660b8a31b428c2c1396aae691c18e53fcdf5afecf8eebf076dba11745ed0f7d0c2beb2a7cf6de82a25be7d6822c6b48db811277faff9a17fc95324777577751ca41b0778827f7d5b6d2a34030288782c16fcc88a1c825839ffeeb98379f390ecc0eee56993d743e7046ade56128d38fd98cb0332fb568cb453ff46a1098a2780974164c42b6123b7856709978874d4f45870bea833cf98783286e1471f48ef0a3086246e9d42c0adb3eefe9ce4b10165a32337c32d0148a0686b459893df53a2208d8573e27e262a36161f0040a805c4e662f6086bd9b24773998e47a1675946ac6c1791159c299935dbef1a85770c7e982232853c8340809f9f0c08b07023532ac47da0c86e5d0472f3d0f03ef62c3887b6e672973318ffa7f55b018f58c76258da9616781f463f46a6757fc97546f23613b1118fe555943ac4d1d1f4c1a27624d5aa37a915698aee10c5d202abd0f5e2a6f45e59a50edbe56f5a82f7787efa4af60ad5f0f3b41841c2f99b30bd7e69e2b0ae907cccac4fc567444166131859259b20c1b417d005916170032dc29ad153dc882404b05570b5bff9c282fd1296f32c7828cca76d435c390219a93175e69df64fa32e26a6588b1be4923413328b026d6b03f78d4e989e0090a044976e039e5e29458437483b590cda6f6815438a33296bdb5eb8c88c958cb187872a890e624a33d66e33b3508ed0592a425c04e11bda3c6e7dcb50a0b1c80fc914918c9d45e1c75a12ab20226d6166b50726e4b9be540217f9f260cc5b7fb4a3cb226895c0afb158f543d3f2a57e3423b07c3274d3a44295f38dfbd7087d63a567c2d3717995abd1b0f7a67ee108473219070bd2c83d2e18cff875f1b915314abf77019bf9323b7f6d5003136a38b70fa3aff365348fe8765585b5a709bf0f36a322c7a2f2522febc14083af6b20993b1b049c4c9bb264ba0e0f9e70839b7fe5dc48a830bcd8ed3465d8f88b2710330d326524c248bb5a32b641e28ff7ca94bcdfe0affa096e096239628948d4b67d6f31bdbef1b9a92cd19badf0918c867f7a3755be916b742d0fbeede07e7eb7e4822790f3e195b7032311a8740f27bb383d94ba9b2c14e40315fc53c146a473f78c2bc3acda876c536d23302838cc00b6ac47f8d9c436eb114dc3406055426bb3c93d16f4ae3b7cedaa9678c47959d01deed3838bd05c7548ccd709ecaff6a8a9e41eb7e09d0076210f4c1b5e76d4f958374ce06d9c8de72ba611b09690a15fa18453257b2e086572974d94d886ebd1b246f7388b9d6ed5be587e39b93d5202c0e11b151ff77a4f797077df68fd553f0cba4e42c7c6f938ba7ea736fe122b8bc65a516e6d8051f02289fd42e148d569442bc0499fa095ca5e79da283845f2fface1503a9dc2c5de534c69de46311d7375f19ab0adf945b8d62b25efd5e84dc79646bff23189464e8a02001e72f5632ac64bb2e4ba6f5d36ecbd20b4bed95ae74a8a194f903c05cde1f19011e7e4e2797945d02f4c04262a9aabc0e411eca697ed8aaf2db1a13801dba49ad6bf312557f68851d2ff3c6e64c57f16cc6fe29f725b53b243ef9f07683d918300102a06bd323ff11b3e93bf136913996868d22f70123bdd7ff4671995240839270d861f048517c1ffa7b89f3659dad5917ffe35da82ec1c6ed8944e7f2d98afc56d4f5b8d2592dc6d18cecf2cd826441dd2c9101b924eda5d17b848678a781c92124aed033659b9e97ee9f2403d99ea1f848936d561a90a0768946fe644fdcdf91793c4fe15e142c3d55daa2273cdd72c502406dc41580cc360706e8ce8342ad1b6c9fecf17d2ce7593d60dac5f9e52772648f9e4b99b284193131e907c87d32645e00e7e8fbad10499b0c134c30d4c6bdd101fd9d1f9a09c0d6cfd4b85b9ba681c829f21fa6a5636c49120485dba454459286356c1512323e8c3ae0f51a3a80ab3d91f0517c9cca3145f34d4d4ea276957e7b3063dc59792256f6e32db0bc7aeaea21d0aba22884e9f9b1b4bb2ec67ad8923d12f89ea7106f3c9969941062ef22ce9fe33358c1e3f047bd841b8b7a0283ab14eb3d6cd4efd2c50170d67bd2192e46471c5c9a51b7577ef62f1d97ed07ad2b21dddb504c2d68c874228e42916d65c4bb8b2b305b1d80ebef7dc2766d2d5561abf0e9405332fe4a6b88b8834c519c14892e299048124ef20bfddb82a297c84bdae0e9be9739fc004ae7159c6d7d0cb34205ed2caece0649b0f6463a4330ea32b594aa609409169debd9d10078fe58dc0f5b5769b8fddc8f8ac77da4f56641308f43fe67de944c413bf7fa1c8374a24b9c76bdd99f3f7816b0b786a76e962e9da007dfe6074a45c65d489ac59e97c51ee80f8407580ea03881d19cd58a5d2516f969725dacc080cc4c63b68f4d2302ba0e6bde26f054be46f8082e0ad74429529b55e38421b430ba8cd23ab10289a7d76b6e8e83e7ca4ae738222e3f055dc9cd612e77e0951ecf2e5767573795b052f7f03cef8c895c6076f53328e1a36f99ecd37e2cb41303a5fc6c37c031fb1ccc12b8129c732cf1cb05493a020dcc3dbc54d41688818a831b40de24ee5e6ad1bb87a7f7bd30fc43c6117355a457a4641d6c23bb2589d293a23b320f78cbebae9ef8dea2eea1e3c9437a84d7a2554174425600a577595d04b9546e428c8c339ef7a5ec6bdbc28571eb9b02273dd3b9aed8a5f7b052e50b294953fec8978720674ffe8ea472c75ecf6281c4920d5665512504bed0676a8279ba27935536e2482011fa3a7dbf943ecca230515d1df439dbc8c4516a9eff43545ea7efac723042b1f3e88f3a844e0d9c54614f60d4ddbcca0bcfb632a2a4051f8dd3473d09c7e23bfd65c2a6d9b2937d7bee4b6192ffa6a36e0553e0c221bdea2efff8783d0805db8f7a123e00d1eff3d7ea7ccee39ccd09d0eaf38d9c8bd39aa90b802bf154c51848cbd78734a87d3c1dece5897c78f00f2b0f5bca3f045979864cecfff5cdf0f6aaad0fcf2caf1875e2af7c3bcb04a7746ba9c0acab4c188ae377bfdd39e5d71eb62548648c9041570d229214e2f5c9f28e2d19305a39a79cd2776e91e93b633dc5039aefa1d557d913de9b678c7d81610effbc8c4c5d32a3ae4960d17d93f1a1ee59505f040a0cea8e2a45c7c9e836e0362569109152d9b38055ef6c5adcc1decb077168f05429412ab4b6117a397580a1a9904ea2e2e37ac2ea41e5f127ee913184f9668ba93c552029c67e59ecd02c85b96575b83c382e345dd4ec3a00f7df022d58ad167f99c77d7cb0b477b34ba0b542e380c6ab1670b5650794e4473380c564982d4b08d70d4c192e2faf6ccd3d89a6775de0a6bfe034271f62c9d4b630895e4a7b65e3ab6a40806f68f34203f29d34ce1ecf3a60122a1f93bfe0a42a091fcda636b29ef582c3a492aed073f2137eb75c02371387ec3e1efeb3d4581df2745372c843f81ebb323ec1129777bbdd09dba03db50790169a26f1383792523e0f971a532bc9b477ec9858e3dd1499c466738937eb4017d8a70b087e5fc30f269bc60769c0c434021e84e84e34f4312bc8fce9050a0f51182d3073eff4c29f4803a0bb18f103b46fbff429668d1a2114398a8c4cd57574dec07d57cf41bd08b6bf80bc8015b47132536aae6de0b1af4935a0dc911f10a497a1c0cac250f136726be437a558b8d74557760493650b291902718163163d8b1506bc07d571aa8d9a0a5d0795db132b2484f3c34ddfc8e0e24dca7216d3457e800802f4d355c6329c2c65f3f0cea6860ffa17ce00b1ac2e725d8e76d58bc56973f4aa058c3d237c7f969b8a7299a6a313dc6e0104e61d908107657f63447ca45cc3b95a407398db44a22b7a97c019689315b0ecdd7bb09d1b5b1ed54808f5bdfa75781f764a9fe19db632a8ce157e698718e5f01473f2109189cb7a1dcc9f757b5b44ae15ab6a4a48a08d523624d6d97f8d50febb182d4296ac682d34466b75604e2fbcbddce8436942718ea4d269652cbffb72800f6b79c5291f5bdcba885e70a8437f6324e248296d096085ea4460ce9261db58ebab488226e4ddd3cc83268a3114f844dd325669025171829accb928246523b24cf1a1103082d26ab5a1463d79c27b1b8a05dddaa172cce19592a588a3ca71cc4b555ebd8dc33831033b2d567245339e6df2ebc74b481560235f6962e2196348552b7d48a29ac1e409a410dbfdcfbf603041c286473484b42859fd817a054326960a53d8c7e5f497c06b954f5eb6ef2e1f9de2f5a5b96f7b8adee014f3e2c489f39618f7b952f94770757276288292098fb6638fe867c1b2d62dd158cddd92c6a91872d1fc57732f4e8f343b18a49f3ad98340b2bd2e7fe82d5172edc7707b1f095599b3edb2d799b1c2202ce2e4ab26c402769246034ae5fcedf73343019058779b75696cd782bc072b6b23eef20f2e076de47624210edee643ed4ff8200762a9ae1d68400ad13ead17b8a354c485ce426138b40cacfe04d4b9dd1740ce180fe96f5439ce88e7288f641df52d6ffd770d79471b714bc81ba2e1a5c11877f50a4133c6908b1e7010f35fe82e845692980cb476251c1d639115379c39726fddb2b75ea2e166d9adc6bfa5f692b80cd57fb3130b2d639968f5f11095cd74207de912564b14da625f73fb4104da7d7286bdfe32a03c4d50bf1cdcbae53adbc334552b6a44492603180e0b95049cd481392c68d441e5786bacfc8955d2d1cd73ba46fa6cc6bfbe67adac0a621d9742ee2ff95f0119eb680b81a7b344fe7ed54371fb0b55f7e76a8bc56da56091b3be6a07929b850933bb36a049b9a6c6accb24d70d3cde67aa39d25923a83de9fb12b267119eafb37ad98907c1a3cdd14820abf4b9f80d1bc72ed0e749af584d689c8ce5b27d817cba87c47af5f2db06330c1667a844fd6617951539c9313e4e86243b162ef7a718ec5143548626c43906195ed1742ad4ea5406033f2742466afdba76cea998f52a8dc28c0160adb5b85968d4cf082f0d56bc7714094dba38286e3e547dedd33353dea28188b21ba8a45e4ca2c9ef24951dddab81e78c7ce0a1f78a95141b9654afcbec7620bf82b1d53f3dacf8f6ab7c4f09e97241055148a0190ae2f56eb44e50d5f55093125e30a69c2659b451732c4f3abde847b541e64d1891937d7ef2415585ff58872912d628c729043a833512aee41bd121e24739dcbdffd27d58381ef358a46c2696dc1b5de94f9767eafe645efe9686260d23218dfb224b5e7fb1ab70564208a168ce7efdd28dd82e27529bcd7acd27868c514d38c17d83f15dec682774fb79d7f5ecdd4631e4c895140df787ed5c5539b075c4e2fed83855be6577d23277bf45cef1c7ac1685b3c107ff6bf4baa0b336425db5772b7034400efdfdbad54957bed33f1fcaab6d2f55f77d8bb44439c3c1f82e052aabb86376e6d95ac02bfc02945285f0d004c3ca91189bf100f7263da4d6928175dbe431edb89a0ff4a2ab6c7db0e50e18e34e11e36d35ca219a978ff60866be5bd93d6ba69a219551e849fdccc893f0ce3a073c9074f1ca3b7eb5ecdba8375ae9869e69226f61e52293b7a2a6576e60800f5d767af14598abbdceed7f1c4e466f9261c6cad35a399ed33241e16de5a98192dbff06f57ad081af46bd18ae358a1586a846272d2c8fac3b19d892a942ece6eeb93b6b8212cb9d7a41873c3b6762db2085a688e3d4cf4e7f99678925d1631b78336770b45256ace75239a21464f0fad1c9d153ebab80d9dcc893a7f3493191a3138425db03b6c962ee6c37f39808f3caefe243bc8861db2f860dbe71333ad0312f5d2109d6aa15f40514ee9d4b943f11917313d69e9b57b8c8af2636683f2c69766b75a6aedafc086264741e6f16212f65b7226fb5606b8a3be948e24b74342875ed00367dcc669610cc51a18683323448881d9ec7b30b4cfdc6705789cf28f2698dd228788880a69387e412dd9a346cd3a1c665a52719da7dc29175c9f1a695445307d158b7917ef0c255fbd618d1465c0d33c95d735dcb82eea0c617326ea6597c09cd41f989d57ce10040cf9979cc988d1661e273d04cc2b8c335862264ce2e486163e8653cfe629bf1b9d599a6e920046baf2c7a65d7b04293bf74dd37bff5eab5fb9b5da56a35cc1d9db105faf1de2761e1e8eb0371e11a36cecb09dbb60218ec2859b9f0550a23c6c6cb7fc7cc7f694764ed2c1d3f41bbf055957563a26ca8533588ae07b9dbd39dafbf8c5f15f52a745c13794ad3195e67e2ac20a79acab4a915ff12d37062625e881500d685ebc194ce4781b6421eac62cffd9ec07611023f719c20ac5155bc611f6acda2cbcc484cfbb67770959032b89b3673daa4865dfd718bfa942fb22991dbbe9d9091ca021e7a5a8d489a9294b5db083786bc8cee05beac20316a4718a1ca94a17ff0e5c2d049edb61b2fb9c17b8443640a1b9143c0f3abfca7250b70f773514325c3fa7388c9eec7dabf969d245f7e0f3f7e506e25a5c61786722227a2fe2ecfd084cab9d54563e8fa1cf2f8c42d5baf3587fbdaafe8eeb7f8d3dc14335c09e85e234172df1ec5581610791c99f78d2324d739409538f12bbb239c1fb778ab07a097f7ed29033fef4aed369b8b20bd06bbfb2ef97c882399f09f6d5c88be920e8a1971bfe1bcab9d0428e07e5dfb5cccd620fe47b618ad61c93f5cc7d7d3de2e0de8917eeb8132f726bf2779cb8e723b1b9ff7de6c141a0e77672e77b36af2e68acc7388d48330a3a50c0020a0799538bb7c35ebeb5b59e57aae04742b65781e2584472e64fc74973ee9183cae055097826a82ce40e4eef49f6d1ad51e6816ac701a017fef5e0653210a36bd25e87c7a371df8b68cafbdbcc6455373ea55580c2d0acfec1960d39254beadb7014fa678db4dbb4c0b8c82e204787b8c3e3b053f72d3ca4de4350ef697def3083ea6f829453cb63fe51b989696f01408847dc6281267e68c078ee199634e07c84e284e20b99ff8677c0b3bb8307c28c44ff8a11b039a77e3d798b96ecded722d96abe3c8e67026a9ece40372b807749c44d305c13a2e6071bf0c1e088a52d55b0433dabcced31f6c74341c6feb9e18616765ed3e1ff8487b73c9162df7ea11ee625a129c6f83f8b90d6d652b8dc5c339a13a29911ef3d1161cd1f244039f5c1d5fc8a1c99d0ded43bc0a80fe2a22b3dc44b7c95e2cee80d6a93ad554892e22892946ae9442a2cdd9f1f02056a08289f35d6bb06337b421e67e1a294f4f53018f9527867a56cce86c4511f5e3d82a1bea5a342b1756218fd1c6da54405663e8e0604cffc1c6efa8bb24f1064bd89a63b3f0853b08d563340a22d6c000b2067e93ed4ceb3be69371bf4699a69cc5a851ff655148590c650c03fb6a561ee6b43ea0784007233832b5e48a93538cb5fc1588ae2f044c93d26676e00432ab39e415c946a8e60d5d14e6a49d51f76ee8553f3f47c765a04a429e21e5eb0032e8e82982e4133feab61e1d1e397f08beb25a47d76793e5483bcc84a9d2314e480c2f09e737d73dfc354bad6e88171d121e13de6af14c4aaefdae63cc3d8a6ffcd2858efd6eecdfb5f8a5a44e3cbed3cd9dae0b2f75716a53d47b3f7d05b584826a16df3323dadb39b203cdeb9af407580129018170b19c7b233210287816a4ba69ab936718ebc7b0a4b3d26b2d992cb77f217b30ce1c10b54a5225b2a70695886e5db50549166c015e007da0b37146020d2c447562957b10c4d43b10a903d77b598610f5cfcf5f1916e5c634818a2bf4bdc449017cdaaaa2250f7fb673abb715885482e87021d2f3b746360487866de08914bf931f67e1acb075932210cb3db5080230083fc1b0166abc2b1e443dd583231253cd2e2870e2c328458cda5a23084927e35d425f2f8ad03ecc5e7368a91e03eda2aeb2a083f5c8924d3f5df000f6563ee038c03850800c31762b1b29ddba500876c86193a3e42e75c626aaead315319a1429875204a37cf34c2c3c19267e445e85a6b650288923d776060c94e67d4545b229a3e88fa23e63b132106a3e0a21671807b9b656a02ac1cf2778df10a1d3668536cdfdbf5495c5e1ab2c06054747a17792bfcebb4ecdd0ef45cfb1ac74c964d6460fb1a0bdd55aa38dd10648679144935ebc58490deb28da2d26507006e121cfc6dccad0c07a7163dea5ae3121157a4ce2da1f54038c6e0e645616d922eda690ef0d690375f7c277ad42c068a9342d5594d583259c9ec12c93b487e10aee34b08761cc29cac5f2e57ce91f611e222d3e90fd144490e5411823ac8cd400e84afba61ee94c4b1f3a64e953acf35af42c74fe308e2ae76d003752043b070a07ea24e71c21bbc0220b8d13f3ea776ba1d09e94c7e319d1c096045ddfe060dc512321dcc900c1229e7350bd6c0014005795ce267e3390d6fd1878f0f78a1188fe631ee00677574cd61a19146a925f5328dbfc32d096e4936226ddf222af9ca4db054e7aee8704722c526e29e2f4faa3384104a7b49f5b5de78e390de5245ef6ad676ec966ab48c07c81ab5dd094a8d057af85f74637408440631fc488ac9d6306c97758873de671f946ae46a28c46bc13acf2ee1716897ae5e0d8d0b08b01b3135448f89bc5f972c4f4f264abb42b4096b365fc27294f2b47a6145159fea89ee70b289f51bdf2128a142e43405153eb084a18f614b2a4a485f7a3d81feae44a1687325d43c8e64209d0f5653ff7d980abb1333ce9b7a4a8e65f4401977bc2177ba36036f972b5642fe7c242e9f97409a98240cfd69b8aaa74c996aebb61a167268a9535b50448af742a9aec68a30a44bf4d59bd7e919fb35bd75049911834ca98b465e6760aa072e4d7bc46c589e53214f3b86d53c19324c5f1536ac9ee51662edb29cba434f03a0b2921085eb381f792890a4500becaee1dd309550866be399ae500bd0f5b25cbd01726b4afe22df0bc36ffed35ad97a70dff5e8020d07d53b3c729a7e7ef68307b0a6e59e637eeb4def51cf884e24f4c7fdbc49c87006cc0a8e13b3a67b76a5583f8c2bd1781227d6dde6c5596363674a6b10b688960301a91225168b91a3fd8b4ac0705b201be6c21026710a436f61c2595eeab02ba9c210551fce1de9eb6301370ce10b9eac1baf71993a20b7ab6af14b7d6eb61667e78722db1eb8283ba596ac389b51139534d10e0529c1edf852bc2e5e7e63abd9863dc14752b62c7277d890310381ac02623394980676f475123c68dd21b0adb3827f618380b314dd7707c0d09ce34661b17111ac3127fc025cf3488e90ae82e6dfdf3a31aa4f337c4440739e8b2d46e4ebabdc7badd6a7f209e8c7816bb7b6e55e0bc8bd011b53f388a44bb9ec1aba3150a6e839467f8e23a7e493f0bd619a4c45efd5214d0e4832d50924fb626c68661a1d4f0ee0a2d8ca20d89b0385e4d30c6096582fd79f40d158977c701251354e5724bb6ef1670e5e3608eb7b5f6f3144e9eeb70514d0c2e374660b867a6e34a7a54f9b0fe5a0810d01b7dec29c665083ed362653b9c9e8cec07b139521faf02490a23e6b0fb445675b238781fce05d90e2443e14f38de5a680c3b960df89caa7e0dd91074fbc569f840b14001774409e844d58614a10f95e7c132274d953475abf25fdfe2817f93976eab5d09e1cb50cc33e0f162747d41b2de1fc2d5a41855bb55b6483142598a8301f301cac0983b242692a9d95c66b4557e3aa951f181e62d5428d15a487f9d1db8ebe8f74a8a8855c5c05aa868d29eb247741d3b4a1313e4c823f1b09de80e89fb0bd2183e07938a5e7de28e78c2934fc36d00cfa6de359aff02dcf83a3ee20773736075cee19de79db84e79c57a1f3d86715bf8385333313b12834294c8467740f598287b96b6a70ed0c0aaa5289a6f60b31ca82bd270f2d799a65d68b753e53d44aae870e7c26b3cc35987798e919c8183d5dc400ee85cd3d934e7983e793397956a78bc189ed997427cb205df9b421912963b355af15fe9267d1a63e38885998525119380079f79055a279bcbd0b36425d39d9d0d4e5d809053226af9dba53684c86e1a016062b512f35735ec13ba85bd8a54405f585448c37225dccbe7a86abf390430402dce25c0852764316fc8267c020e11a0cd742ddd0632255727040516aaf5ca568b7171e3bd4a88eb2d8985dd86bc30d86826e2d561156e595d6637a2951428a2584e2e88184206c4290b124acd02c43dfc0c2d40aa3e897cfceec1a95706d8c73602c0d58cbfac296486a5d03bd4bdc7d12ace818326ebc0338b6d1ce01650248efc4722deff6a67424e9aa834dec7148bf0bc43f76fc94b4bf5f8be16c082c9af4253ff1e9cab3355721a2b13dc473e787b8013f447fde43acc55993408219c37a399e728995b4016fa2501d212a857bd23234a5229ed00d20ea0839c155f9ebd3af4882cd7a0d559f6222040f2e0cd12d39279aa20c35d80e4f3c0c72778ece5aaaaba48ae84b00053255a97c4b59806a86eba55c923ccaf56f798470f5f53788316a98b55371e8c970bde1fd7c073be12661e22a79e35eaf81cc874aec2dbe41b9f6b4f46e6de9bbc8ca9f127c0a71266518e2ccb6ae815072b5c280966d84c683edb43f813475566809bc56f2b5f2be41a6597e7fb7a527d52290a9569a27d47abd48217c066484322b3dac045966e9249f52620c45f32940eb913c11ba2033a10fcc6cac54d96e6c43ae3a2580b5c71e9ed702512d40dcbdcdf7b4674a12d6951c59af40a60db213921fad8d3c92a07a197e419f47fabc4f9e230c26617266dba1ef3ccf692d55e18e9fb94fb04e6c3da585710ef361a14fa003d61c6d2de40eaca89f89c72df05aaf8aa242274a8ed93593416be8800b0e4e3f9b3f183c0f5eb5095c3368c5e317d0e01a56a21c9f89c4197c40052326350911b209fc85077f1e5063fafc690f9cf021d703c5d01bf5435feb3a9ae9f7d382bbbd2fc450a31d16eb50f841b89d577f0678bcaf50974547af7979900c19f3e792261b8d442abad5f9085a976f2c6e960565ed0b7590a085152558d695f049c041364339acd936942358df633e9e3af83964dc4ceea05477b28cb7318c06155d79ba044e7100525cd358480bc00a10db3ff4b03ec70ff784d96cffdb25425bcf5b51006085982a842bbab0606877ef715b11271a87ea75b556898874d5e40419de7c95768a03953869dc34859c0b73e10dc9a826a139e602684ff835edf14f4bb626eb8a0fdb6ae124e69ed0cc64dec35a184fc1396525805818dcca87d2e308fbddf7f36d6a171e0b7531739b0aa4685bb00fc36d4aa2dba608b0aa2685eb4867af01d214ae223d4f72318ca9350777096e7bb9341c0c63563300d2d3306b641ca4216e5679335ed20ab23c39f44d2c5a01ae00a4dd5e71ab28c0738a13e12d5645108773953e88f8922d7c28dbc2a43cd3e54e1a806b2db505a79c206c5ed2c7e390c02992842f322c5f0a9490facbea735afb268f06465379977b2659c2006e0a87a83e97c15c10400b7d04567fe6307d569641b1482f3ba0760bf3886b3e001e9ee732144bda5add546f1ad67479964217b895a33dac5d8a627c720dabd3a8b20cba38f70d974abbeb3621ff0305f6c81500392c47af6cf374524e29ac1240954c68e8514bb8bc963883fae6f13cf3ea9d9f6d346da0140699f108d770516d6b4f3c84dcb58f1189f640293076e86ad49ba8cb56cca1a7c9611ae62e76385585c1e2e09d89c2a9ed6ab7fc62c767ae45ecacc11197bed2c5572d9c2bd5bce6a7eabc3b26fa21d6ba658941ff98505177712f6f75c224630b0686d54ab7d680f9c1092eae15c727a6d710e0159d3b9418fd99bcd295d24b8fd6fb7c8ae0a8d6f7d0b30f6f3b8cce1a3cb0e08bfff1e3c12c10f70b23463ce304df280aa428201545a6594343c315eb3c1ece6b450648e16fe8be0d8739bd536cd8cff05ddc30c45f78993b82684b3d7a877472616bb5305c6017d397cb084c08d9e58dabbf0f2854083f02c48a4bfdb97ce15d43483bed274fc21e36f9439d52d233970b21fc8c6d75c5a86acf138e00637e9474c4c8aead71ba4a5efbef7a90b2e2b473c046361fe75af4d9a9f3e0e34d0ab8d486c12c23f86c3fa5d80fed930f544b9cff7cabd9997fde1c4fc052966534a3c2895b18be589ca2e89b310e0be35a69d8aee7e93a7aba18e3d3a727c2af1266e1d5852db2196ebe501da707fac5ea2680c498795c221c1436a56344ef8964d85cdd591d216444a3897f57a45bd8a259fe2a5355c5ad8a19c4474226633bb6ea44c7166b1b0cf7da4e03ec5422fc488f7527526ad944e6ace39c6b880bd557e1ba2c6e599fdd3614d0ca8f76b66b2ada3245267b431374c6d731637278d2c56b110092d2466f7a6684bba6b9b371820e74c5d6f61402886937b07301396a045e744aba1ed616030e182925659d27c7f66f26be91a7bfcdc7e35c5b82ace890eb5de9a57169b316469a5a8be5b04f686e9968dab8e1035047654a1d7d6368af0acc1f4f759b175383d3d238a35101c567b951006d0772bbcb8b6b3558c2d3bb49c74150450ea32d6217147892a56896e3ec227ba379d85713341a68b66c8276c61cb2418d150fcd06351e5c6d016d26f3408a305010829136467d4d89d8ccbe0722571da53b67411be2c5c6cd521e5a3024ea85349e9dfb6c2df62b7e3491dd2f5e81142990a8b91e9f43a60658167a6b882cab36d349df8d79d154f4d056ad1c0dbcf80e13ee77ba63e4744331055d2a5d9ead0aa1a5121dec5dfb4cff683a16d29da0fd539f55b9bab06b5ece1c9d72a4d11ee34c95ae6332701c16baa6640bbab83aacc0c594c8512c3da153621aee3a922d69b257da0d932f29acb5fb27bd7a9338ebf49b7ee0e8bb0dcc05a856afa911be8b6ba1581e39bf1b40834df21102aff6e4931ab6a10915882918f2873a918b6ea64928a9e237b38d1334c0726b2bf166cfd6b4062ba1f9c439d63f1731df0a543eb350a26587d160f9b0d469e313fd93ac6ffad446d641a843fc916ec4011e62459a8d47610ef0ae533ddf4997ce738bf9d71ab20e88246c22114c9968dc05839f4bd70b582298c83f7abb3cf49591021ec74da543dea74c32832181bb1eb36691875d1ef91c8b9620d8c0b0f569bab888e912ccb36db94788a43139a598ba51ef8d833ac17c70304b4d1d39d24e97399b75005c47c439f8cab53e1fac24be2a7a4c5fe5e0fff9a7b86f81460be0058129b7acca37fbf778e9d29755310882372013fbdfa2fc2e8a9462c04ff2291747af7a997b90eb1743e167058f00bf61c45767881bf8f461f2f455f5e2a9bd4487f5bd16d12c2ae5b799ec57986965101f4d23c8c7050c6cd4e5d4124a1bb50957f3aa4d6ebc8534fc5f0e605c4eac8a138bb089f3a3d5226ace6a6185cd6a7975592d89b7d6721b31ff01803d29436864e84ac52d9519fbf2150cc9128499ae3a52a1c4534ec5015aef12d5558237216755bf7eb9f25fe81f930e52deb4a292aa825ca950b828648b02872493fc8f99e471ab74b180862c7dfbe8fec1895ed68161e8cce6837a9f838b2b24cde229f61a471490d3fbc22d971bd1e03e43834b4f2bb1de8ff6e003658507df0740adbddc5bbedb00bb1c3ef85a3a758c268bd6753f6ee737ce4262f26e58d5845b95d1ea08f280767a0470f8202430b573cecc21a612cd68702b838a804661593aff97a2a1f3b21990282e0712f941ba4dff6391a47966414cda9ce1e8137461701165c1527fd55968207bbb06197888a6f85a9f64c1ee0e0b82587eda167db06cc2b5f0761bd521e151680e19278398488a94fda9dd19c094bb9c6d2afbef99c5477786021bc08243a5547fcf3023db1d90092a8600a579d23c31934bca9c680f3c55cf79e263c65eeee21f87f0bd82e2ab1ed57aed9d3725736d5f8070f41a7d414056385796da774cfaca7b7114edee75c9c3a278f2161a0d012d1e6326f66b52eb12286ab7d24f80a94593cc613bc92c494cef66e183a152361f33f188451f6da363130eed5d3fb352e5b0a1d3174840254396b94037fde540bd0f534c0bb1f2181e8ebefbf37137b95eab2ed79365ca61fe4b83f9849b99ad528ddb39b85b6af169b175fed9da71bca46b680a9bb5b112496163b594d68731953efc0bb5af5bde60bff846bfec999e57d5ae82a619122b3e1f7390f13fdd845e075c58a6bdc8b4f3eec1a761ebe420295602312d9b63360c3372453c9af1bdba676356bbc1d9771636ab35d0c0b90a2375c77337abc6195e27398bb1f7917afb2af7e8d1347379248dace94cdde4a45ad2d632dca657b05fb0aab973a7979063a6fd5af93eea087d239e436a2bc318957075dc5123e4667b71073c625edb186a234c51f7630ba123266ba4e7e66e2b268b1fb648fc234925f0b375c4b8eac56ea3cff3405af2f617f81e2137a8c2fff53b9e348acc33dc796fbcb41be7f1d2dcce7b53686e3eac0bcc2a65283eded03383bb9d552c8b8570dbe6d3265bc86121e43da2e4a62ed3ea78b9d1d217adc7e599d1bfd5815d0b5d2824f76e0fe7e992138f1d406e55b2eb5767cdbb4d2b136835dd985a511940f9efb521a8a0bbb6d42fa9dcb2f7505c127b779d1f2c4a5b49fe1b4d45f3108d9b14ff8ef6798c90e6d2fc2fa080cf91f9924360cc032fbe0bff64448bc1382f0a861ab1fd1907b8ac91b99d11f395a151b4b9e76625d4b1bf8d21ba90f77fed7d30e772738e99d7db8ee6f4ff29da3e9ffdd32b8955f35761453e4d9445d0c1875270d1a51bf5b31c37a52fbad7b4eacc3762b4c5aa8c366e9c064b84213e1a61017c1406d8bf467b7c1ba7e875a32a504196a76c8b23b1b7f939e5dfef668ed64c2cdb2998dfa6e6b8ace9c61ffb59f6db61fd7f9a13aefc304115a02d53f1d650e284d548f9f2fbd75feb82f75deda30214819612027904186c703adae664eb34d7726e787db56c148c6b541226249cba0523a280749ffcee88f5259803abfe68fbcf5a7929c3e33aaba2ed64777495a64052d5c40f929cd3be855c62d1df5fc877c7a4cfac404a79c1b030a1465f9776e532b0204d60bc4d38ee15a5e2aab643ccc8db6195c2128fb4d52f49bcb79cecf602dc0c9c0e437b160acd33a7c40d4c79fc7bd7005940b9a02e82e706494b6bb5630a207fb2541a23325d6e115b9a26a70c2e724a6cde1f4ee2da91372358da113fea79cde9fff9a6c2e4ed2337d0ebfffd84f3c142dd3377c63117b81571769c4aba4b79a8c1a80b4c6965ac176d748218619d449374a7dfa3c58dd87a6f629f3da569c7e643c7bc0fc68423689af3dbc4d3a29e526d1d228537637e8a58d8598d9bf26e5d3fa84f39f3d2611bb26e524ffe1d4abe226c5fb8e71943469aa1786435a9e27aa9c3a87e29099525afc7e8b69843072be9c4936cfc644397162e63aaa69aaf112373a9d201747bb0f3e56d0b48dac4c09966740e6b00dd55413c17ac8278527113793024239e22fbb2c1066ae5cf0e849704432a033540dbcb114427541cbd821130dbcc042a1c1138070efeb28b7c03989b926707cabf9db9aa9bb2c424d863ee0995be652c4ede168b666eb6055a1bf805ac36b813c4e43a8c7c5f9db1d5d83def33ff69a21133294020baed98e75a2bdc650f4cb15cfaa3411d5a34544ef9446c1071c59489cd299966fb632b7bc546193d2c1dd570506871685c14e84cb54c15fa6cb1e2ca6dbd680ad48899b5dc941e85a44a0676caacadec126c4bc50435b59cdbbdf03da3e65fae22744293c325eb623551e2f53d63250a024516ee7f22fca2fd44b8f53f44000e05bb1d8cb8b93e9a0322b0cb2ea4fe819bc710bb94a1d1ee31f479fda0086fc0dd668b4ab39687d3afc1fad06da6eb90e0062c0603ce2be9217793b671b3893b6da0bac9fbc3cdbe366f62e84eb2c2800b77dc31f75ca82d6433e1f092b3d8714dfbb89273c6fbdbce116b04baa2770e7625c9b07ab656f07e5edbeca841e5c977d33f4fd3424df16142c0f820098ae30175e290fbf92093332fb8729be019577bab0d9a1001c8c116b8db2da61e7011fe918b60ea2468cdd38d9d753fb236c0f08e465455a773c2ba974a42b9083c2cf9ece581a6a5e9bcb8728b250d8e7441a45a985384d5a85a32e15ee38644bcd0a28d9a52863916bb0fdc0704a80a289092c002f4805108055a1de6d3f77fffbf39b652344562c8a4861d37abc85df081e4c60cb7a6c14f093faa316447514297418c8ff63d9a45b21cff9524bb1acb84f8abc86a6c26e2af05576b994a6bf41a2cfb01fafd68344c40a2910ea553bec13582cc360ce500578347dec46e7335dbbe2e4c74f97bed3dbeed06fafc89284c91b0ab82016f40dcbcc19fdc8472525acb295e786486193bb5fc8aa54db22222222252065903120326037478ae7559f29bbd97a9ce967a2dfbabdebc7fd5ebbfb1acb7d45a424bad53cfad568bcf5211e0ec92db7bf1c55ad73155d8ac1630f556bce4c8db6bb383b7373ab53289a3568c39f61863bb84ca7052cbe2f6ff96edf686069f2e4ea66a20f345b659418cc272628cc3d42fbf5759ba4a1a8b23d4dfa315ec05e6f0de06f4a04fd52320089eb9a9e3a8d63e0820d3e55e3e7a4422adf5304334cb390f1a0650fea841467484054d5098250770fc205d2e6a67eea2abf8873304bce1a5664600a0dcde76d8d81c9edee87701943f8456f032b337574a291d94cfa97bc2588a8992e8ad984f6f8e146e058240f4a9f5ffe986db94bf36b9894d1f382e98ab72e13a424835733261230cb10fdcb88b02899a4804ed863152c8306688dd95323b296669c66cd9dd3f6712568ede4e1a9246e225d2ac2c1e2322125d03b93984a568d47ee9afb5d659ed85824f6be7ac55e2eab55ad2845aaa843a366fcd84a9ddedc71667dd6f4608048545cccfadfe76fa4d5775080d5cc7e047a535974058274d024767d78582d22a330d1c19cfd63f32c529668a1e8b736f574dfd901f29f288df5a6badd53fe9f11929133e3d4f743e98d6f09db0573ef1e4b4d791b86db2967bbddb55aa84636338a9eb3dff14bfbe9e9dd27ac8848dde6749bbf339d6bd37920d7226dea740124be874a69c3fd5a00a201a1ac2e15246b2d86cb71b105750ad2624a42aa2c383e78cc61364db299381362d000450412605d05aadfceabe705ce3cb8d50c86732c60f114264f55937028051e4aea5220048b85d2e23adff0b3000e700047ae5b729c47c4f6977455b428cd802fe15d8a29bc91b13094d602ad0c799344609021448600024af2345e811246ead594b49bfa437f3e25fe7bcc15287da3fadadf3a6566bebacd6072e75ef20f4de3b04655c292f1d1e28a5d5cb955b93b0e14a231d1c2e1d40e08187bfd75ad0e5a2f7e214ff7dc52f5de12aa45e26436834687c057858262930d5fa1cc8235f60b121b799f307904c11d9f951542b76e1991a2155ebf0177cc5729ed440d9f55126cacfb51de98a32e31f46350d05b387ad488b27683a8b2664e02129973a63b9bcd1c51051ca8924b00479568072e00388155852da5a2a980469a13363a6d2406b9d31d05aabb5740f35ce682ad60bf714495c644853055099700c15688029fac3e370802d333d67e09c4d531b14277bcc8109c17f59be4004d26f3b279a39525ae71794efacfe4f78e948e142ffe762f7c72b9979029a907299627d19adcbd08e4636838c66ce2958c7defb9fd27bc7fd7f10f4be6487e79cefda33051988afef368ab2d07496a9cce52f95710dda89fbc79a54660d74367394682a398226873f8788b06cce26334c8af3c455fba9ed7f9052b19bca8c5cf153680c758a097ccf422aa3b220776cbdf997758fdd4c94fe773d6ef925334b4fec0dcf85bd5e3827c6798c738f7bba8975726f7872b8f53fc671dd5bf7defbe3fd35fe996ee14191d0b65c5c0fb8a8b2edbe3d389d1d4bbbefc15fff9bcffef329b4f7df669d0fb0857a9c5b6f80283c4f06289f9e5cc8e364df5c28c5f4ecace02b10acfd5a32f6627a35ee3b06a3fcc234cc7e7f4771adc759e0c66038309cd7ad58c060bb874f67e629ef73cf9bccecfc769ee5f704eb8d3de822cbd614ffd9adb53b2974d8b3df5afbadc57affed4537b5fed9da9c33be966e268248b26a5c319bfa6b6c2f9f32cc4210859852d79239b265cd07d2f060ad7f55afbe561c8529efabd6f9de5fafad527b2f73c350f10bdae25bbfa0557b71d6dbe3fd2b99fca9069502a252a9542a954aa552a9542a550a9542a55029540a95ca628576da63dee8bdf76ad6d5f9e26badb55f6b5e310036a0101d1a5ad0a1f5d76b6d6a754d4ef9e715ff6bf7571ac2879886c05e2f5b810861adeebf4096581dc0a71265d5edb725702c436cc9ec4e654a008577c293db3bf5b1a433a8e641f1d171bcf3a84fa17acf134ff43c5cb197ffa9ef493bde9b638cf1b7b6cfbef9c7bccf4ef967bf146a36e693e6fb6612078d76056bce599b6fca0340521b0ab70c74778ff3bd03681254b10ed218ebaff5cf6248732ec37ab7e7618bf9f6b4defa66d6d99d5d1db268acb5d65a6b1384aa98a082ce557a2b7265fc2b273cad2af59518ef9fe4b136ab89ccf9e6d56fc572b0802715a6401e99e319b7cc3f071822e4adff67ca6f4fbdd82c95e1b8ac6bc27006863277cc5d811adc210c685cb0ba0517ea3495f4eb8559b0580cbbe9bc5c6b8dadb6da6a6e29cfb8629df52793afce01126764641465b677bb1dcd81f962b667b3d994e5c0e46446adff73b9bd776eef8d63c184c9e1e472705e4976e472b99c175408e38a311e470a94286040351591aa9ad96dcc6776f29a4f5a3beb4787256642feebf65ac1b7eabf12fd3aa5f4e7698446271295d12ad8cc9925c81012c9f0c43dceda6866cc58702b101c71301efdd83283f5388ed88a22c6711ce9e90bf18993dec34007d3e7e4513914829a9c43f6e960324082a997f97e48a0e133d9def92729b5b8648a598eaab17301efcf49eb59fa87bd5ef7f6df4bb3f6debfeffbaebd25fef5cea7901148481a260332eac3dcb32a39c3ab202454264ceb7fce39c839df21c2454e7a7678aa1561449b05a794564a2ba55f4a29a594574a293f9572d66a5f59c9676b98abb5b2529b591c6c5530afe1449594f71937b1eb6bee77ef4093967f0673c63bd3ceb5ebf7fc2fc51801c98f46bb40ff02e549f3f6ee5ac07c6d14dd42ad6bdf9549f3d1ac3d69d38376e2cec33e6b16e84fa02d55e6f8147b516a3bcc2170278f660f60649fb9c3a4e97ca064ac458e46c383522890bed4f0dcfbf26defdd1c539d29f0aedd37e73b6f9e35d4c225bc5ae75c77ce578b193f828aaf046692246122085ddffbfaf5e4f34ba95f30ca635ccbde4fe27dda2c81de8fa0d753a3f00de2f5ab11192511699f84f49134abc4f29232984443aafdcb483ce7722ee7728e23dd5a4d5fef767c2b15e22e5a73759e5935dcc4cd223d7b903fd05ace0897a4b5f738a3ef6949b7a27b854671504e0807042e57cbd5723551082d700d885a4d0f85b4466b540ca22daf3bb7fecf5aef9d37d7bce24a45be2f98f772e164579831ae58bc214fcfea84a7a87a766e1dc5d0be9ee29d0352b09393a3b3938a64d1ce1a3414c5187b99a5c1ca67e7b5977eb4ebcb180c5e7269d065d21689d3239f7bc64547bca88e16c229f747ca1741ffdfd25f1ffdb03047b14c22fc168f14e9165c9d4bd0d0cbe2d62582941f57e8c2c158d88e8e7ee64d63fc891439726ba62a88fc187bdaeb7efffdd1fa8bf03938fb70c772ccceb7ed5deb4f5fcd43fd8d779124c0faebb2de3faf0ba070a360bbd67d0a9a3e8283b4f26303417fd148cfe399d9c0e76ccebc53c7015bdca277ab33154ef957a127b3af775ac9f994e1bd591be961d6cdbdfaaa486aad77d743504df9d7cbd6a96905fa0be62b10f43ece3fe31c2fe4dbe372f0c96dbee117e704ef1e1f2906b7fec719e682ed9b39d75e84d509061ae8ac50397360b0a23d611e366fe73c8c1b16639d9957b36e1cbe07d6e3c3b3a8adb161b03c3f39eaa5f55f5c714eacfa1c7eb90ec63931fd8b6cfdf8ea1bba6d9ea10e6968764ddcc46747e703c56bfd2febdd7951f0d279c16e6e2c925543e989004dfd349f95eefdeb9df8ba6e951abf68d6df0750dcd022e8b3818fd4495c179bce47e7a3673753fd000202ea3293e9e45c2e46dce15fe9b678bcc904ac13411e39393b3ca52f77c4739c4f4ea9ad76e759d30dd30fedeb9cc6717fb5d3158618b439676218a2c8b1dc44511461393a3b6194294384e5ecc062477f88a2289abee868cf5dfeafb6e294f7b36bdb6d2ab141423231679a565351913548bcf33a1d8fce831050a154e22790a52f713ef6fae04c62f522785f9c897587eeeddaae50cd2f95fee9f4bd9bbe5d236412d3b456d6844c5263db22ef90d0d4e1c021d07b2b6471d7ee6eaedd5d594dfd4939ce7a7b72b06cb642348b1bfd4d9669425afbd1eef04ddf24e83db63bd07b7cbb32a96f978fb211310131a48483103bc66cd5fb1838aa84a96f03c4248aa2b88ff8a4fc1c954c986232d98c26938dc9667e22aa2035b7dbede695a0f8e84c1f44a9a951ed6a6a5435aa4a64080a3c655aa67193139e9cef79723aa1c4d3097542dd21423c00a5711cc7ee7362b11d9d52a954f2259f85acbe9b2e8aa2f89d705cae1ad8abf757ef5fff3667e11bc637014a352b10c4a8ce318d635aded9d4fb6996b219fe753e7a33bcfe1cc8f5bf71444a79dfcb5d03a930691295b43667ad0ed15a03bd1f9a49ba8601b8550fa91bf5a8133d4daae95ad5da8fd5060c5275350d1d0241ef75f408ab02921ac731c96254cd298b59cc3aacbda9846998866b7a7b5ff7c6714c1a43260d9f74b38e58d13a0b78fbcde5c0599a0674bbf6a23590d642680e17b166b1d96e6aa69224b7a5040fee618c9b784282bb9dfe75c670a0f5ab565659364c64b3d9364e135a6c3689b385b1d96cb62f48881496ce0d418ea8c56046b91c9d98066ac0729730a834ae9dac05f375000c108945e3d12c4a729032ca54503e742207c51d108b95c8826268540c83488882288a6238c618829c0140016214b2a90e6dc360e16c438f1f636d4836299d5a7f22b9de6251e6c4384fbe207dc001cb898a2a052708afb98a71f5d3cd34a4348ed76e7759108f7aadacebc08d3b0f65dc6d7703cb31ddeb71f2ba53d9b5c79278707ccec8d327d30fbc620c89fac29bb1c305e4d9681eb1acbbcf01d0151d78458e8421db450ed59d414cf9ec284d84f1854b0287aeae773f210182e81c7b05f357ca2a940c5abb5bd2d7a0e524695ada5d04aa55139b7f8b10537175c87272750cfb5223a469134dbcd2ca5d029005592a085f6174c38493cf2e6a6b5e22892a148bbf7d4e29c4fc79b6b2f4c240f658fe2ebf8f5741e51aa03d53aef3cd0505ef9e8f8249949ebbdfad151e501053fe9b8e3baff796a7b89003c24dc4e3402206ea507a3dcaf5251f0af1abfd91a55629bd28f7643129e528b8a8c5f6a0ab43b72c9965e8b95a251fee99c62be92a9711c70022111c50d20489b30d6173d1e1576db0074ccd1f4d5f804be56d48087da1e0430aa66a10f10fc0c9f2d80141ec3a57c9b6d179128961bbd5b2d811502bc9a938aafb375d963977840b8dac37ff130bee053f60bb36b90263d0c6f9987a9887ff0726c73c0208b8f2e65477a3ff2601f6de14ac45448424e49f11c316ef58a2b5fb51801a3da419573ed828320992954946b8914a73fc0f866c138b61d66cb9e642f67e2308c7dedbd5475c3400c13d40a71d87ad9baf18c5a9855f45e6700cbc0c8ed023c604ee1281b975007eed292ecfb4366a0a3102e4a8b75112a90577713e5ed38f0c3f9c93278d839d982409d89b017bf6b6078b765dc6300f9337f3ea8d5a9420e7fd7fd5cbff95e86aa4cf3df7d54832866fc7adf954338bf42383f68184684b1f2a1f21ce25d7cb0e87842dbffb2f1f89c8235b0c918bfc3b851e1c46848b31cf4fc443fd0f9d42058580118e65d0ec00b8241dc334a74094ceca872c7f63487b8a03fbcf0d5ef14710bd9c39e2c7c01d6520f4750d4b3e093edfc6c2d11b980d69bff3c901c2b55600cf3f10d3326f92a13d8613f2773ed3374e39d9b66605f98e08fc5ddcc8db54c41a11c0b93c1094386f5540c993072be823a5b7c9af05b92afa60017c804e297c3d3b9de56ce7f28b2bd27af64499966524bba73bc06c5c5e878325936240087eac83fde5a7b08e43683f5176d679e7f39e19ca20b00ddcb328b2d16549088f8ea4297777cc0221aed6bffbbb44dc7e28f5902a972ab9d4738711e7d51a0001621e71feb2e9a51bb054922e14b0b6af36024c3386e9edf923f248bf0671ae651d732fd89ff3e1303971d2fe90d7c15d5050fd78710a462b9ab31f5953a46d69681042d9fd723fcfcd98f03f2f6251396f0c889169926471a6b97f6391b4d1345b3f679b9ff42275b90ebe0f7de39358f9373d2af45b4eabc77e921e1a545c7f3c8df9550c85b8da1f5bbb96dac8ae1b9f2d2bdf771c4fe04dc2584f76ec4853500b2007d2e02e25907898f0fc404645d797312227795fee3c9067e7a7a8b1021c25422cb4d137ed5031b5419e1db3768ee3a2b331f0323b8e9df53a63ebd09dfe7356198bd59ec17413bdf16142ffac7309ac4073b64ae745d53c14913b33cd8ed9c0a21f0139922f7dddd57a91280f9906ef829bdad966c148f4fc87da5c2683b191f7dd2e74e965e7fa0262a8e38b34f05b0ee417e3327a9f43039e88b1fb7dfd2fb7f4a5c3f05b337fe3c330bcffaf9fb8e1086d1e254ff7f670718b7b0e16c06ea967d2e420eb3f50b6599b6c3ec7bdcd210f70599f97f9e838b51d2f96786c0eaebecc62c72de9ffc9e92d2623b9fb66bdfb5faa2d261f189312d532ac619f45cba26fedeff40971ef7d79df24a082507387b45fe1d642add3e8171ac060a600ba8a5a4b237e4046546b9fd4ddf61d3eb6d900d9449020bc177174a026808ead405a63d6ddfa04b3aeeab66adeccd0ea1fa29b3de9fb8e2e7c4985f0a54522fd809fe63e0127b052b6320a0fa51031beeab3d9cc87ce871637b0e7ea532d00faa70bc74004b0b2655d412ccd24e0a871297f5ea5da9b702c5b7a905ccbd36366e4a36a1ecd84292ebd282de90a9834e39a1d805a71409fa2809e7f95d38100396ec88ef31f1afa75c3befbf22fec4fcf56eb35ac3dd778043e5d1187065a23f252d7f99905fb2c29b4aee5fd3f57fd81adda00c1226c0a660f0456c37cd95478d235faefcfdb4805b50fbfc0cd83ada72588c8f6d7247c0d21d93aacd7df83a20d3101fa3e7bc841bcc3e190c335ab41c4b40dee990f6547804feaac4a7ace922c5ce38a408ff3f1380195df7e5abb9faf2ef7cf79eb9c5a4f1622aa114b36d5b4face9a7e24c6cc0d22c36611e0aaa5d728f9954b37b650e21efc9e6b20b77b8e0f8f2747f4b0be5f0eb74498dd64be68ba962a7d08dbfb31a64bc58eddf918672cf752a237212a795a0fc64751398a77159d875ca9e6e22fc55db63b3bc595f26eb620da56b3ebff99715d443700910dc3e271ba3bdbaed5d9999e4df6d909f152526e8dac2e824a4ad7e2dc620310476175de34e17850542733940e9281b7b87a71282998c49afec726df63838ed49332638218782092488c4b0288912d8b46d69362f0081a794a98e7cc9c897a5a87208e60719e8b74f254a9ca931403490b2181a3278022c950ac193c66227210e2ba29c286b59a4b0939b190ddc0430e52e7743fd0737fb0905af6c4a332fc5f4a96772e58d2307f311b2c5dc61a7e3e52cbf1a53908282ffba279c1ab06debaf1fce34ba052731e4ea4a9f2cedc98b23e261dca9fc08ca2501a5c50d3262685ff086067b9eb3e408c7b7da8fd8525f0a56564aaa2f0fe8b9a0575e3d00a39d3872a6479061e93327efbc7a47b91262f4b87c72564482e63492e4474c3972b5e0744f79237a211a0b772d366fb47252aaf8b2c12bfe42aa9480da5b8a856de729866fc1be633ba4bf7b65b2a537457190da3bf15da8ffb77614a7732a4a5c69ceab325ded376b3f1b1bd00727e4bfffc10f18877d6e91d49efc5ae509aa5d9827cca121e4ecf646bb8ca71a04c56739c2034e2795ee21462fc0ca9beef1e00ec7b056493bf554a7e88280758f54de7bfb2682f3358e4432a24ed86a439b9b4d43efb6a937575c2e27c9c180cbf49ef77951060e14a699c05055a6d69770a27a5a081a2ed990ce45a67e55ae64bfee38570074c3bb99f0e44ccfa6292d962a00287cf14ca5ab7e61677fefa3f9e9107b3c56c00c09c74cbd8868c29c19e5cdcaeef695ec476f60a05c7919fca24bcdc0116d934e1fd39b9313cd6290f67ca6a66fab5236c9929d03493ead4871f75d560f9d3cea82590cde44199e8c58c6192491a2a4131c2967478d555eac5699710fa63c83ee4be3b99436d195a6b4125593d32d531fe3a158cdac545429eccef1229f120d8311594c40c642a0815b094dddd39608ac37a7716324e742a038869ab907c48b58c6dc7258db68a516b169ff6f70fcfaa4b440e64b1c7a1f689ec00963d48430c6ab4478a08db2495f8407202b0ec2c75e53fd2fff0668e985a6bd13ec85b491091f569dfcc986fc92af33c9c7d11ab008c9d910c22e0fbc47dae0ef5ad8b9922974a475985de9a23cb073adcebc79c9105e086aa152a999c0dce222b0c6ce194a68af26306c7b36df29a3a711f6626e98f03e7a7ce66cd29a6fa8e06eaba0b3fbe97dcdc70fff5d698d673b605ccf84913bed28467167a7dbee7047e93791ef8c99924e7f7ff3a13c01127494c2a724ea12234fe3936c0f06236c90ddecf8f37967641c2d053ee0e98ae1f7af2eb43efa7878da7938b3e7c0eeefabca5eb237c7d33476572dc69b7d10463ca224d7c5acb86fce9ecaeda305a0d541ac66c29aaa5f8d36c0116c03355d9432bfde9482e571a4dcb42f8f87c0a56a3eeaef045d09f4e4ad14ee504bd6412990cea6fac4e98789d48d1f7029251b897a2fa38f258038382592cf7297fbacf1ecc0ca89215695c34cee1d88d2453e3478393a5a989dd91b7ee5b8a78fffff008a1137da17ed280d01a37c9a9b429b6abd08317fe82d9c486ebaa09e7919c2aa9483adb374bf12aa953032cf7fbadcc38ee49ad03ea12456bfcdff02098518ae37f8c31a718accd89c5c47fc07fcf39d6ab7169a8fb9e8efe44ed8223adb13983b23261e7d88923782172829ad3eab9e73ccac4044e17065e92c5e930d2cb79b3e207ef2e2b0897b761b0bb142b512ef460493ee3c23e8042581346fa124153915faf7d35a902eed5a23c1a12be6dc2447e43956693ead78e1d971b07ded2eabc2d55357c7a2350f0f58cf8c686c7b6762b530734308e86e1972c76ed05d795e1bbe0908bf69ec0654e96fb534e1bc2b7224390c69238d81b8bb383986cc76d5f12bd78badcce96554aac92a69b440acc83095a5b1fd4fe02607e8e5f0e23691437d388670c87c050c19b413089d1cc4943ac2cc79614fb410d28a9e8332a75823a0033c5b9a2a27cc49008ea62ba8caf920fa4cb8fa357f4842917217ecfaf8f13fe0904ce30ca2c39073b5c56e32f85873612d06c5345c6ca96cff811d0e6b268522edfbb864546c4d02b23195e2b3f0534934994a89bab5db7a3bb3f3e03594245dea68add2fa84efce869c510930421d0f5cac9144b3d6f6c005d04f0739a02de3390b8ee60d69d538229c2d59691fd901cc9d3bace2c48bc43031fcb565acf60e240d9e7a23cb94751d28fa17a90322cb22cefc5600b75f86f63f6d69b5a21dd5b1a3595fa7dafc8423153afa492f5b3f16140f710ca64e1808edd69e12a4d4b3b916b747d6576a6649f2b48a6eabf684820e30c857b98628ee7527a3bd70bc2f996dce0717f3d0d0d73d315f72d3c7e151534f51032ed599a3a37e5a8afd87f7bdb1480d6dcf340aee4ab87db5fbbec82db2cbf1dc40fd58436cba65c8e3b41d4e83deba5e800db5c5c6ef48e55b2a39383aa6a02caf5fc3800c73e11e5f0fda14eef926c1756ad1451c19541e9b3ac4ac57777a65a1c7ff7dcaeae508ef7ef5e64247a33f936cc3779d38e1119debded95b1f65d558e52d58d22699c0c6d7df1940335b05cbc2bcdbd33944e15c77427df64dbae3260322d03570593991f52dc77822ff146764f359582d15edfb4f0f9ff767b3fea2f3a2743f15da956cb1ba1f38c5e65f98f0ed556afabd0a87123b1b75e5a434365d272039613c03c857e55718601659f6c905aa9e9a1dcf7e11b3206d4271f24eb3abf1d891b5e0f5ac863c42ed0da4747456797d2cae798f2454690393b79b42a9d2ad1ada18dd731d4e1af323dbe9c60faf56fae13dbe5b47a1c7b1d75ac4c0767f7eb84f31925cb88d3e97aa8c3f3318f83eab67ab1bdbdff218aae8a71c2034c29707a6c1ab5d9a86853af9515f42ddb1466b05dfef3d9c8403c0a13696e0f2ad414b8871b16695abf7433a04dabf3b35d289ef096e8276ac6e109435aadf6e30132910ce5b392e27e97059181869926874ab404f407a53649d6fb7db89a5e1115f5d073f0496f786da2d86624c093a35a5f92dd178636a044da03ed2190ae14e0fa6b025787353e857ba31c080d5c055f6b4096fb31ebfa90c3c25dbc6a44d72383adc590a5eb799a868cefc3cfd569455fb88841cd7ddcc00ff71ce1a26f53c7327fa5dd87eb4697a9011a9cabecaad09cf9851abfcc31cfe553151451cd5f8704b1899a74142e627e7267c4e9e20c7302923bc833644c64ed1d6048c14c7bdbfca4e18d93441ae91f2b159b13132be1434e1e57cf423a690a180d7b56e91656685fce8e0ec52a1bbb2b5244ea555be33fbbc96ca9d3431e31afb2bc6b1eb8a398db2e3130ae1b7a60b7fa4b3813300373a1798b4e577d1e3043249ccf55c210cb757abd4ed7db95875eb6194673327e88f148a89242363cabf4e651d9c4b5432421e45eeb69c7a0811efe058da726b048131825061d31f541fecd45bfac4f9f3dc4353bafe73ad39130a8b941ad97662cd435777bf9e0717d0e437b385aa26bd6407a343228c25718561e2bb501027e67b54872c795e51b079dfe716cf7f2d02e4b2d0f8f2e4b3439f4400fffa1f50e6fd9c32fd0e3e6578f6bce9a19f59b73b0d6e72cd2a38130556c597cdfbbcd6f6068f4963887245e3f2831a65044684d477d7177a3c75d521bf6c605f5d572b505cd2c397ded4300926d0cd063cd0add5f4a4625b5ab603336a60dacae707f7c7400b860344a8cd3a938f52a2d1f2ee7eb4e1f7af8bfd4fbc03ea3b6ec45bc24b568bb034feb483d9e525708984e376d17ce095978e4ce9b077e5efdaa938f4fcdba52d3c7dd293c7563836318354b5c4b3036941c2bea799d7a84cb15af7334c1b2f80cdb4d3cad6e230ba403804b75d2a94f028037cc30dd7027afdfa61418f8aa91173e82591b3e2ec4fce1d8c5d18e0456d6116cf3bbfe755f799cd077cb3b01999ee0cc223c60b5b5ce73cfcfed0de9bd0a942edee3a118d329987dbdf7f7e0438817e730952d19e06d664519cdbbe5c0b02d0f66e9dcd36d709a34ee26f2e8edf88f0dd790c15e421115b2ec8a79779b1960d1e8dce5ad6361531db7afd6080878ad7dd96fa05e97c1d256326c5438e6392d70a5dd625b1f2f90b06592f127edea030a4e4a90b41906d2c294ca53b5df4b7e4c3ece08e9c1e7cac274177b6a6620c10e18f2e600bc6bbf066cea7e625e3dd06fc161028cadb789688d1e26c9aba21aac02a71aa93e973185ee1f8a80219a3b1551d3acefdb4ad3869867d6100cfa0c4d4d9c6f87b873b40cd9d2bb7f3ead743f967ce60050df1b3f14d50392db69657f9fc6c4e45226cfbb75960d4930078863d02180811581a18954be6d5a0cc497c96b81212d0bb029f1d0221b433ec6fe7dea7c1ca8642af481b4b22756c89d7a1d6121417cdb0ba203d61eb3140c66ec0628a74e4da0d8e1072ae53f9174a2a5f5bd3d3da5a82274d717ea49107f252130bb554d5fc220edc572bd6fa1dea1ce7b7f2028c64723d42e94d49d05ebe7a2920511fbf9a52851f9f32f38c99ad7b8d0921509c3266a717be303d46b1d9834b2f3f2c88258493bd19dda3cd7ca4ec287aa8a4f18a780ba5e5648b7c049fed44216f170948f4122ba0440aafb64bac962120d310accbe084038b883e0b08486b2cca382a8ee907f2c9b4677c6b21aed11f80dbad4382b662a93eb0f9b197be15e91846abf8831c84b64be46ab0c7f32a12e9c4faa6f3e267488ec32b1cc1cac3d936c3d746063961ed4079670e1a4264865303471abc3217d8b9ade7a59b16a708c2769c3a6f60364709e41e4a8f4d74f6083bbd839596d2b07c224280287e12bbc55d3e1959a45d7aa410f84180d831d7e973e0819bed6d089daa11d83d0f3d182b8a47dee5532217a9fc0b2c6d0d6894ec8a9667bbc1872472babcdc45d3ac3995511302cf2b1839965780f9d6f4112d804b6439ed76b22864e52f2a651a29a01b714f252ece8182192de089e8ec8b0fbd3fb113339e01ccf703d39247ac000a709e5da664a1de97cc28df1a8475db413323be48058ebe10d2c9477aa74e840cb9bcaf04b282964bea9031c0a481ce9a4a2aff464b17f25322c482713832c4e015eadf8a064503cbf984e6a193bcfe313a334eca2411adc9b1df7e3c8c2f1b04c2410cfa17b768b8ec04841eb20dba5a87d2fc17e39ccc991a47317fd6dc10563e309867c04580d7753edb797fc4fcb558084b2b6a2ef394f0790a9f8a2fcf8f17c171d02060dd77ef267faabbbfd8559c2261abaeced024ca97c8d34e9bc64d05525ad6821cdea392a8530d2cacb68401562e626a8e0a0a6260a009237bdf40e19212b2f4b6645679269ec422ae650721f555783fc1870eed232054257592eb3f6201be16000ca574fa43ad97cd4db98be59b5fea47892aec791e8eee586a41ff1812f0601357a210dad391861f7cc6c2bad0d4ac582d4ad6c70f40b9d15bb60d9f017051d392729fee31a8bb03190d7c74e595f4fef4296582542b0c6ca8b98492b1f11da6ad57039071f06cf5db576ee0b1e175c1eb06a23c0a2792f328cd210fabce099bc13c2e6420c88e67930d71b01d14706a801ef1ce62369057476a8ac9e217abf7ef637a57ad3a4171a91cfc53e32276a3cb453d959498a1a25a0c55d16dd84695894f677304de5143b7b7770ae0f5819a90ee7172e56d1e9faddc43da6eb669e369f1e21bca9ec71e878a74d937d6a14711a287001d5b835a42e5574c8a3a343b38f430e9fd6a4a98255370e47c6e06d7d2a29f6ca840c8601177c85653b890a311439beda72fa09cc1adae8102a448fce8dfcb5c2f54543bf9bfbcd6bf66077c24c9abd2b6ccbfb3b753851dcebfe2c8a2fd7c7abb564995d10b43055103481003cf9bbcd202f67b3079e9f9b38f7c376d09004f56512f53b76c366435a6749e870bfb9c301edae2156b0f95a24d4f23eec3984edd67e7954455e5889c03cdbdd9b9a339fcc81c414c16b809eab474303aab081ec5edd63bf947638a5b58ddae1929e680ba2e40940565cabb6f5c98cfc60d28efc60e14d71b6d1554bc440d82ef564a1e896c29149c3358fe7c0b3992c0a2367eb188954add303db95a2a4a712a5cf7483ca0ada016735f38a86ce45a98bd1d5f9286a5471f322d62a5909ad22169df36dffd764278311b1167b24293c9dc807ec90b721f718bd0a272654cc72580da8699dc7e744bcd5e3fd03da52caeb155d455030d25059b3795a0a872fa375453013f6a252fa5f0955c426ff436d8a02b37b88e38214f5f9e525c6b002e3cea193c3d20637a1d9845a0e435b9a550a3cd3fb28c7f1a8f9c0c5710a1318f104ba0ba67e8ceb1ab809180a0ed7858afc14f06ce89404558d96ecd388ffe7bf43cb0f083accd086147c6cd513dd349d6d21b0b00bd199d8d4d33a9793f9941b8f3ae5d510d16c6bef9f0781a24b363e546a2651dc9945a4ed5cd390b1c178ba43e8c84f42752ab1dec7a232a2f629e18b3d6c8141e8fc5166f36ab0aaf7c2172574361bd512128a4aec79548226406009049e66625d7a6900710b55f735b2f253939ea02523b5bf51968f16024ab308869bf206eb174443cfb88c0b6754e7261b9060ce906b343776a2b5f98b43f1a818475a40b4031e6dd435412f455b4ba14b4a2da6d3df68b18ee63136cae51d4aa5c46f729453000eb90f064dd4b60ca37ae9cea6e0928b60f3ac5a0346a4072c952a25351b1070050fe64abfa6cc2c829b7a37f8f26b7c8ca6eb5e0c5134ee19c65e4d39d014629a1e8d844131e786805491f141e2392675f43dcf75d99fef5a6e22f8ba53819038c2327c7586ac8a32fded60d3d9df9e3f4bf5fe674aafb2d6a03440ee3d25f06929e98c0cfcee908966e444634079deb2ea1555220a595075dbb3840bc4a364df59740e13563ceb027804e3c07d901b4e689d82e70ed398f5801085bdc25a341566b1e31a14c7e92ecd8048c66fbfe79b353316513225703c0955e59215db6ee38a72422c196423dcbd17cbcb9462196d5c8784f835c3a463487daa61a26d2750ba4abb39f8f3fdc9ef9340f213c6743e311c7162a1b9956292fe2c9cfa486072f01b3ad09a09b436b925911413da7ac497b16cc0fa277bb12f252adf13aad561b660a8fa6443a15f28875ce9f5d840a194c008a36764d9c3b72e078e5d61533c67ad58dd815b77205887b54634f9bfecd4f6cfe7bf09dbfeaee6bc977aceb80d1a043ff05be54bd3ff9b1144055e0eaee32c0bb443a59aa9fc82a6d11f8b8ca3775d71341437660f6527913c860ca5c7a5b1bd24ad28b54eb4d68ee90f879a38c197a7c4f6bf6a85aa459e3af889267ef9f9cbfabcde384139f46ea43719284fe8d03a8ac162c5468e77b6e86f7cd708800f8ea8065c575ce6aef1e016f56e0b23ca6292fec2b61d30add0f16a02c8582407022ac7154e5ad40670627cc28c29c41e3373082278c5259792c8cc00506596547456fa30521e1f0bd598a1733a93431913f59592fdc7ad0fb91752e651cade2c0540415d54e49cc4499dc86afe111ba8bccecb1b4acdd4364ceed27bc4adc3791d9933760837d2ef5445f631e7ad760712158dfe908993b4fcca582b5b466854604625b175303698dd28c4ccd35925603abcddbe2da50a89f6a31d5213ab3ceb53e726ebb1f06d44ac086a72147f4f773fe71f25959d890c3ddec7e7599a9c3d212497a1140c7a65f21986c03be13874b0f81e82413e38b9cb4f064e3d90fb79774f9ade41205d37661ff291ccc15d0bd82f64408985db5dfb280fbaeb185259c35d2d8d85436204a077d4a9f9862c1544763fbeaa5fcfdccaf15f55e7b258c7d4a47589df9232cb82cf0d13a1e969e9fcb8cf7021ae8f12c258dd52b177fd820326d6633670714615bf454fdd986ed68a65653aa4bdf4624d2d892a0e1c450f3a000b7d4dc413c8745aac0d6e980b2e600a845b26c9042c69fe172f2886ac70ab1bdc63e70da1255f254dc1183026293963665a0d24af440e92bdbf33c88914e7eb079263092f4e404c6f5e24cc620bc62f7588c370fbe0f34b8a52b4e2a574ff6104def4ac00d530dbd29b17a92c36408cb5970b1dcbc05d38df11d51605d3110146c70716cbedbec1ebee871ebb5100ee3fac97623c9c6d8ba1e4ae9200427df7c260bc1ec956baa81c6360e39e871c1081b37ca456a91557570344fa94e69ee3c03049c42e271ad4ae05b2b75b05f5ca3baaeded777308c0ef73d19b7b2d3e3c7684fc83f2cc05987b28fab4b8099810e15b128375b3866fc29d884214dd8b90f720561ac8c3eb614bb988ac6596b55a9273749dbf6aa0e2aa51cfb486f268d97e33ae85a197b626df61fef1e80307a7a65503137de50b6bf0a327e0b77686b007c8c83d0b71d0ba8a875c5618ce89a7f762858d334712f6e621052caf78e671b420192f83ec85aabc18bd047abe6708af91bb75fa18ff1d4c3aecd101feb089807f0aac1cc42d6415009e120b2731cbb20680a7c0c2418c852c81e029b1702266214b60838b4c94b1379431523a8341db33a93ae889dd5eadf6f9deee8ffdd99bbdbd77f7e69eecc99edee7bea76d2f69d89776bbd36a5f5ab08b7bec3445b96a05d0c7f66d2b24b6e3d599d3b1f706ecba6d41aa28bc932e13f9b5484bfd80b15bad5e268a2637fcdd23342192b92713089732d476ba3493c1470cc414d661266c13256033d616d115d6dd413a02f6de6ac38ab3c30156e8629c710a85fbde038438d5c0f75b4cee5edb34317fd1e866a2ce54a728147419af0d91771eca42b4e34b5831945bc298310d8561857cfdb33f266c1b9e420ce758adc2664ba65f381bd53cb16a4b10411dcb4ff8d4c720c0cf36b47f2e8e0880163e1b56d8b8de25ab3b894970de35986129fbf37f50da494c089eda523710a230448801728f205b9e48478dd6d1e41330f4299fdc88a839550b7f1601220d4c22cc32dec7330388db1d04975177fa854ea379e026320e874489b75c8494a2ad343c4c16b1a7be5d99d471c16f6b65559f933a2a91b9cac82fd6b1107417c47bb2ab2e0334326dde7a3268c13607370f82677850c30dc5e1aa3d2490738e7bb042424f81672103417e7daafea0b701fe6fb707e8590711a0635d46a6ddf7c4b930eabd668e8d91b40e1d8edf350d81e69ca2878dd1f1678ed80d0b26f320a7d6cacfe3e6dfbe743d80cb45ae6f743a8509f641980cb42fcda9cd4b3ed2a49e7d6d012a3d866d75d504ccb93612f13204a02535e19d0a112bc8c5f66e2b3661cc42b5f420b1b8556dc1211bbb3397a67dc9878285016220c72f305da6758b79e3ef46883e49ca15ae0c02fbc89e63845323b7820849159f538b0597eb354efc92964ff370a3406700e0f2fea3555b213478ecb67c638cde0cc9c2a13bfce90135147e678f50051f794d360290bdedfb0107eb36343b70b9ed9ee07954e08cee34042724f1fbfa8a56ed92edeb9dfff82a0d1130f7cfb09c8026d4434a2cb08342104dc11cfa152ce31fe30fe39404f52e90499205a58bf0d8ded49271a0d87ee410d0ff132f53efa19744b400d8189dd8dd7ff550daee513f522f3831ea7c840203d7e4c72963fc41ca711ce87031fe3abd2a8b2add270888f6a5aea8a24bb6a6a137bad58eb3f2dfe96efc8310e07d915c311280abe507e9fd2d074e0cf07d15bc390530d1bb2df2072fc00fb46f7c5f5e9c61202e5877d96e183000c06b60a997846c13fd43d235a5ad6a708781b9f8b98bf38bf76fd83c0d1ce16632c6721ba2afd068a809b8da4b725702dbe14afdf7a36d4d0fcd0212fce206d32175765047df74617fefa2ef5488f33f1ae6b815095444562850e1f5ca6ce6fdd04ed76cdc8d545102e0e3720b09fda881ae351dd718c14072cdc26ae21f5ade84164a841da865f5747560b3bc14edf0137319e36d95d9a0fb368d4e9fab6bee86b26efe45c8fee388343bc8787acc3a5bf690f0d63ec676a81638908994ba6b4f4a4df2000317ed039f480c1a4e3ef065932d73796de450ad3ab09908d89bd1243cbaa343af029170db62228b478b540512fc2bed65510f27725079b94fca44df613864b5579afe2bd2272c9d5735d15b02abf17dd584cdd73ba27b584ff76bf92d7a6a21240c5cc8ad7bd83ca57d114b725024cf5e4ac58c3df3c9c2b6acb02ff02ed4bf935cc4c0282be9b852832c117bb32a3be5ef25a8e177820cf0c81eecabd5267127c5c9610b906c3bcff10b19c5bd70a7397c753296501566f727d5765471b032a1ddc4ba46d8d2dbacd1b0d344e82f689250d239102deb1f6cab120db8d5e775d662a37ae421c50b218590563417c1c1e51c687c881a6d415b9a126ea75278f6fe966b6a7ed0ace88932255c6e7cf2454f78d6f4b5b0bc29d68a612eb0661c4a6d7ad4846590eb97d47d1b3a50e72108920e2e555c70a3573c89d093767373ea95d46ef4b765c67326f02ffe40960daac369f1d1217fbc032b9c0618422e99de9e1395d9ba4c878ab42b45f13b948c484240e86c2117f99e911ab36d890c455f4b15ab2de7d00113415cee9d51c1094597fa783359468039c9fabcb44cd03578e560e53e0025578eea4b3aa3ed97986c01786b6d28eec4550078160916e0aaca4c9d4de8db8e1fcbdc86ca13f93de5dec36011c4d4b275a6f56aa5040d0293206d8e6623a9d29cc638c1f4977c8cb4bdd43d6b2ad3130ecdc907b99ee8f6a25943070369f9d5195823a2e2979ba23a5eb1973a888e3201b067bd3e7c5f3292b0cc7a86f7ea5273d846100f056a838ffb844a129f8398058fa8421ce9a7bcf4d27fa99d0c1cf521e162b1e3e547d0c7bb3767fbc912395199a0be27c9ce21997bd02787fd6c891553ee36b1e66e637b028dfbbcd7c47684602626290071e8f69979a42b4de66d1867d0f6269dca35e3189af919d3fdfc9898beb28bda91b9fd663977a69f0f0892d7a4f17f8a361329bcac917cc6780162e1c59f813a76fcbfc5b594522bf6a6dc58414e4b5e2825411c2bce39f61ba1a2a6bc24f42cd2e2c8a6c5a13780a61f6fd661ca96bc6db1600eb1172fa697865d33260d6ae214f211a258a6ed1686e36d947438766bcf88144a135a42531b663fce0633dc496ac4fb78e8667c15e9f51c5b403b5c80300f1fceee80fe5021ec03c604716d4dac294a3daa72445555b360a60e4673834e78cdd3bda152925002f4d8aa8a6b97b92e5e49727208824c5962467611444a960a55a97791bfdc3cff1b4f2507f6bbc758deecd2c0dd54ef184cd71fe7412aacc644a2157fbec9c00eabe6e9de49a4c17a9b6b352814ed2d790006a32612497b9a253daf08022ca8bb3941f5062832ee0d08acc38fb542a4619c7e5f7027525131d900cdf924e255b4bda02978b191aa78d9462a4c05c391885a04f3397e02f39ba4d9684d52c10e0d0a63104ee4ec3457ad8aa78f311f3f2375f3b2c7a1dd38caa89e9b5c48802c3e75ce4fbcdb09e53f136315682259556561df9fdc28c6deaa567378dee7c310395adbbeff6f9a550ad8e39b0e294195a9e453eb63fd433b926f0a4b48444934c7eae2ba7431c306fcbdddf16fd66ac87bc9cc3cea158b171b7040d029679dbfde5b3c37b744bab320133f0e63f1620f47ffbf5a8a66ae204eef457c1ad74ba66025a89788ebd3671cce0396f90ac174d65962fcaaba0b961b584362b8cb1b3f0137e8eddf5587129550e46ca4a52fbf8fdf1b4a4f13a517087a8b58390238e20f3286f9493c7be9f1dce616f0f587a8e91ac41dc90c9d0457527552afe136a8b23766c40a8aeaf7cf4234293d9ec155579897569e41dd2950ff9b5794a602ed71955f5d5d35eb6210f5114115207de231492af7c3823462f6e881bfe1c7e2f0f7ac326712414df585971fa1ee5874cafb43a1f2d202d1b4ad393157104c4740b46dad2ac0c6898d243369ecf9f7ea5e4d759af44a33a8f56bfe061000d72be25023ea0bd58cb27225213618f815a3407b86675131d4cc65690417b541383dbe8f0fb1c359bcfde9806c28d32439cdf098ab458e6e9091ab95159f734cf5796c4ab9207359fa596d37a0b7245a72b907042e575fa6e4665109da9eb9bb61720fa071f4573a94cb512dadad9434f2af14af6a96b8fc508c64ebd5282c5edd3d6f2281dad2d1525223327392a329d7442ce4704949e048c442f737f495546eb8d4b070890c961c82deba70d24e41432ff9a2b1f458a1d3f3619468f8a2b9cb40694e09e4c017cd8795e4b882642b27b3df63945841bcaa138d6c7cfdfafeba7ff53771481bab84e442e113dc950b2f70aaf6a5004c542e5c5c7e6a57ae26e03e1ff4d4e68e42aa563907b281dc4fd8daa9cc7b9c455354cd7bfd9843c5ba993abe7e8ec2bef9faf16b15ce0de37cc18b5cf4617ab6b75d1deade4a62b0d15da949926913e67fa9b510c5cb82552eb010a962a57d0bac1543137efdcf9a49fae533911076b0ec62859d25307c9fd17d19fae39934b64a70ed4de079718bdc44e2561be0de62251f45b3df96ad8d46813f349a428c8e7e1842a46e1d6d8d089886a28bcb9ace497b9100eb4806f367d9936625a7f76c5184ca8f7495050eb70a4c3d69646a7b6e36bbca03dac1cd77ab51d0e81ad5234499c527344360ce07d557f013f5ccb3a3fed3557c4f59fa81819eae758be6d355adae19e5eede55bff49a70fa0140c72f22a0d38ad75fd4f6a2ad21ca8e636e0d287083b802ae691034e8f9677d9a808ca49e1e24ad7da257f639804ff784711788cc54119a09b4dc13cc779fd78c0808997f301edc535dce86de7da6e01c7ebce4087548705caa533229dea11e2dc1f8f5747ea2af55b165f95657b0fd2606c721edb8ec127c74e40d3f94f26daf18030fe42220a40f0fd49c6871f034762dc1877406123c90f5df5ce846f8f1c00efd84b070987b07a616f63a0b06cf5401e148c08c97cae1c8a9896b44ef2514d7fb71afc4d5657e3f5c7bb135e24a0f2255122576548cfc393d47d631a1196fff87473a883ee8687476a70126be6172bfe86af0af6a5c71db1c92a51647451e317462d7628eb6dc6f0222cf74c98fcfd03d6864707a64d44678d568f1e4dcccd5d9493f5dd7bd2706e6c598966abcc025f4f9238b6e6af227a27f6643c3ca9e608d2f692cf361b468a2b8a7b0a0b7644ac52674a4c9a3f893508c9adfde24eb5d8ae2433b4c117684a155c9d4450d782385839dd71d33fc336ceaae774ba751316391905c90202e04e0b42c9d26628947db552dbc31475c4dc9aea749b5d2a8d2e87688736374e0afe3196b82ebadc855cbdfd594759a4a88a10cd82e04ca2b29d893025a21d9897a1046aebafc0fc75836cb092b48946571eeba9d41c36cb654e5346b08c86786811da5beab0fcae5e0f687a382d8cdd71f0f4e7f33207372a0d62c0763ff894bcd76ee8192afb42873f19073c34fd90e381d52b38bbd4152ece0a0ee3f56a8e7d98a18fdc15d130c0a7ca9a0b66724299b514ea0982b9aeb1ca4ac2b21743caf1c78c8624f257a81b6bff32667026a69e5c854289996cc17f2367c83f8ab452ec6fd83e21f202f93cbeadf09825b042150dc4d88bff334b2df4c516483d304a8c191ea7d60f9f73491aae00e22e2f60cc401014645c264cc1c4154813a8877c7a5143db8e734f748bb04c0c675d07eaffa984c49640b457c84a727600c0814fedfbb15e46cf4997a37b476cd552395b6882fd03665c9d35c9b444f05901d95ca82c7df93e2b38960d6d3ac893dae137b03a0b0380d311a3f007fa0ffb562da010857961054b056bfe36e18d01b379806b9baea9ede0b97e3ab961b22237288739e9c112bbfcb5e9a2f88e79a697b13cb14f0d3c6b00cdad7e8d69e4ef589dff52bc8cba5d07bd4ac1142c82e43a726379d68fd6192004d6d094bc54d85906bd84fcb04f4a7c540f4f0e0909b8af89e0fc4398b509c743fc050e31af142988d3d10e29231113b49578c77d4000727a52dbd3013a4d20016f3b445e0b9e3a8c21676ebc8efc47aa4a317e8529e6febd8408b79d2a4940aa49135fd23df9e8300dc1f9c352f6d374f1e51f3a64b5677b723957ffc24b0af8d51cdaa07c86e797f95862aee3e1b8abf89eb72beb1ca06192944bee2f0071bd942ef848748dd7022a15c13697423867a44e88dae5a57e413aaede216195063c095b1c80b264ec607f25fb81e038f8237ec04f63ec7d026d45b612d5d086cd1ee978e328666aa4f51a81bc6d3622bd7e2070323380874e71595e7dc112a9084d65c4c13ad4fa7691d1c964fd5bc59861d6459a59fc1c53f2f1e34db4ad0c74be02b0d7faba2ac629e4c264647457d3325b90053eb21964c3868b21f686a1348c268e91dc985d7f6f96a2e6520034b071d686490fecfe46a3cfe0bbfedeb695ecbabdf9438ca220a5354917797d830786801dd03634cd4eba846a6d206854520b3e7fb3835956f31c1a81adb8b5d7afc0c670c71abc0a3b82a6d51cedfcc5e33976099bada374b8b72bc9b37b0eda84150cbbdd241f2be0495bb1d00351ab2b5c4443b9731b83e4e7f1ba3948d19f1a8254966fc1625686ab224eb9370d618933e6807f4aa9906c3f868cb5540554fae8038a7c5430a43c21c64516592e9f942c28962950ccaa63f4c351d1b8a0b09bea8535b7a1397d9add4f1287b702c737205856b0a981ebad7a4164965e5cd0415685c0ae321672e4742c3dfb42100f92e21811fb8ecd65d9dc807a19a3aff3d0a2a79e866ab0f40ff1680119ca0b721a9b3249f293a62dae8af6bae8a80344808fb872332a8c0ec396709ad3c0221bd39d23f5330566efaf8e27ad2e4f1a3783bf8c852ba929e0bb40eec330ba0cad51781874431170e146c1cfb147b199ad10e72abd243e45c7d1d83e6fce84f80a6e87dc8c5641dcf3ce6799d89a3ad9296a553dcd6326e205a5a8ad292c36b59f5b2b9c471a06f7e0de9109436eb41efbd1bb7a3c875a549a0c018483e7f3935198fb570ecca78a6d00dfc70401e30936f588af20c23b7de6e96f83844ac897fabea9a1dc38d4a5b5d81a44a997df0df98e78f5664aae9aa5a02afe5197cf078b61539b8bbfdd0834ab4ce07d92b2caaf4bacb17fd56447e9b0eb3f3678e6de1c7db72eb7cf630b3b78d1970ee587132ae28ab758711b12528220205bc514cdf801ed2a14a975db1cbd7c3cc5e537936d85af4277f45e3354ceb45252983a1de328fa234b75ee3627065277b217d552a5afa98a610885eaecab9c899b3ba78de40ca3154a1939cbaa548ab62004d2f9e9b02a429f008a7eb0df3d5d891f0b2991b50bb635a38951a861961900aac703f88e4078b5f216cf579dd7232d2d8878c39bdda171b62ee0e1800ebb31fe5e0d16d7de06fd511fd8fb189ce6e12edaebe9b085ba29cba69fa0050a522459e766ba6569ad40d680c02ff9dad773e191a986dac6d3028fcda3bea0ae7f62bbea61ec62fd408564daf6956ce00f6cb26d844b312b181ebbd4c425e9aced7f08fb484e6cf6481daab1032219e05f68305e1a7b3aadf71f4d87abb9bfd4f4031f387647d7af7fd0cf12ad1532f83aeb4d55810280c5fec2dad9b063c5d00d678bd3a00993a55bb6770f4721253e292a03d770c6c629199d5dbd2378f5378b509fa27a11684b51703d90dfe77987ebff629b399c8dd646f29a54c29edb200a500ad003a244f5bd7bb181ed3534fbf35d2d522d85a4196a8f368aff269cd19d41ba4d67ded5166b34f21f19effdcc7815552b7dbd4793ed55335cc570179bcfa564514497f5babfdebb8452c3289b9d6cdaeae662989881371fec33407de82c1db45cf2fc1254f155577775779b6dab32a56c5802c6f7fc0ab9c0dc8426462cebcc202b0a94bc48935b9625a193422ffa22d5c824d468fba77777770e3f137123d0958149943a3cfd61c6ccdb2884733371b53c0062f286c731f07beed6f7f23bdfe57b77db11d3ba7fa2c8b65a9321b5005bafdcdbc0051aebbbb3bb95a5be9f444beaf65596ccbe8b702d520dcf7f2ae8ffdb3e7a27ffef93817f3a217c536579b539de3329ff9ac4bd2fdbbdac7bff4affb99cf60a546253fd7bac21a3dbd8ffb1adcb5ceaac83b494895c91c99555665e5caa3308dce754e97a4f787f57ab894f3ceb5770eaca5f1a3d36ed008f77bdaa82b2179929b7807b5c4b875568613bad65c9993f87cd6f6fb7549fa7b87a2cf7dbf1fcca561b3afb42cb685fc2a6b55a01a34fae7ee15166e6b6f16a6025fac0d2893655a9bb55d59d92e9af6891d1e1d1f1c35d3fe7846a31adde16bec7a172af5cd481d7ba36154f3baa77d7aa77ba3bb778d36eab6a69156707e55e5f9d7fad66fcb565e0149be5253c4d9841100d35c41a35c4b5c824dc86f8d7e9d9e705ff146c411136aef46ccd55e059a3931c59c981b03619a816f129951821f7ac728c25eac576362edc58460d8e0f84202cbccf0081c4b1dca52ec097b3197950f761f42b221963b975d625c64a4af8c9073ce39c3cc9b71993d1a3cac1a73f9ca24829397bc2486c80849001e340e1a48adcbeed2e56a9d0a62a30b284e72c000bc895aa3e3010cd6ca79ec33e7318f9924b97218a348f2c49defd2c9e769b13896e40b01e3c22f2ea75b77d284e48be19ca8998db61a77a227cae3010ac1ce93c0cbda5f718481bcc376dee7305205826698251b8fb2182019188761c2c3595af058a4ef009ffa8f47ed02098c355adde41895c401e7c19dd2e497f815f5b3d1a54cfc1ab687adcd1a6ab34d7967aeb969b49b7695d053f5fc9c89cd548e9cbd398f1a6c8def3918ac17e8d082f55d3782c1c987c00a8c1e1da82aa43589920141f028e4c2cc21c532d2b12fec40af6f142c958d1142b2b19ddb831f564d1415e5908283252c3c0fe6316232d5e74805a5e7d8921a1f4e5a883b67c346b5483c6d6e6e56094b0d107ba02d25bd15a48e5eeca110cfa22b7b83686e99750d60d7981f57c6f04009e336092ee1102f283011827fe52bc4294a851f69a3965cea9f8482dc2c2fb45f224e3431e57b07c91aa0d8619ac0ea530ae341232c883381e6622e040381f811f48838024308e61abfe3be8e80970130a87159bf8847b3717937c2aa4127fe338118061e9fff55dcb13f235d5ea3b3393a8c1416052ea9001e2593ab9a9ae1a28d3d71a31467760e254b4b0230846eb3f751237eba2bb509804f19afe2aa768e50e4eccf383c76535fcbbe4050ed575a24ed2c81c350e332ccd24fb5968731f8f1b68763fb2a042d993baf40bf256de6194d2acffd39e826a1cb05ddd8c330e3822cc8528c53a6e39b9ef56e1a932097769b1ac7edf1bdd794ed6c8e77e5b8895f480d2affca9873d37f8aebf24dd85cb28dd1474b0d86d4d37ba2769c5014ed25e9de3188dc70363c639aaf4d4bfe6e0b1a007e4aea675c07f8697c1f0b602328d0c9708ad986b3ad2e41436853b504b28c7e35678d28d12a1d568868a834d89be234d332ffeafff25788b6a3326ddbbb89145bfcb7d44524ad09e6b014414ac6b1a89b125bd7816c0433ad041893a1c470a8e447aade596fc83a3db1c35f18430c9733b7a8f05101bd7e0888e1378648242547666d174faad3f9c5119c9d70769bb990ce9be17275d320b6fe8a605d6a0640a70545a96e38b54e5f2440ece18b03975ad93633b8e2a33141b629c77ee2a32decbbe94e3c3da9427c0eab233e23e3355bafb4894afe6876e38d22976c13e50db7d678450d213ef847986ebbe3aa31b1fe7e69bef14b0438440a61786152cd98bf68b7d1ebb19d84b9750f14ebe8f41caf56cbf2cddef2cf72a4729d03c184b0b0cc86474e1761a7ffb8fa98b382d9e5b096a8f1c1272fc122f16ddef930100fd4f942f648f999e1affb3f9c3f5b328f4d516cbd85e448be69f47fbc4681868ab9e05767fda3fbeea2ab35002305834cd1524fc431229818b4b9c67a36cad9fbecd66ef43d4c5ed85d4b54c28526b5048f7e861cddf3752bca3df7f40b3620c75ab2982da9cefd7e873b63773568dbde369d07a04446449bb1579c8c25b6a57727730db8a7c909d6dcbdd78c57e4a610eebee013271768104eeb43fafb462c5c8e6c51ce5d2738823f56decbf773ecda19bce07ae4b05f9842590bd9211232348b362654aa20ed996fe466a10078048614edea7df32bc9edce46253bd339ec44eb2d7bbdd63906d5c43193c416aac75fc8d29364634087285d664c85a31185df60d637141376c5cce248c3b88d7c2bc7107a0720f0635c4d1b2b89158863081c12c44cf23254e4e8ad9c8e23cf2fff47c644e5c33b830f2c63d23540821ca438f02adc86d0b4590b71cc6ee16cb67d59e18c386f2989f996821827e7f8eae8c127aa32862b68aeb12d75dbc35d6bc23a9c41bbe2a6bc6638c15b7324eab2a4d96520ef83cff85c0cccb1a55a121bdc39be24564c19a199a3982ed48a80d1a2e1e17f6e5905186d245ed1bd316449f6a841922bc734063c39e8f61de15a566a358e73d7ec166d6e6108834cf0fb2b99a7ecc631472682b9872e95c270963c38449bb7549e839e72dc7e0ecdc2046107fcae85d5099cf6cd8c192a6e6eb876366309e201e757df3f432f682393a1364b601e936f26597862951de3897bfebff19406c500caa9cf33ca89ab5c21f2ae939e044bff282f58833d8234e385de4086d93c8eaca23da5d5e78095e62fc75a060d9eb330c7b681be838d5f8e15d99fadb8d17419c1023337f0369119661c73fe87f973536ed2a688fe7052a660fb2194ec5d57f1b2a2ffb107107a48343798dfd4b91f2708691ce43b545170c0dbc330904a16c53abe9651a583d5dc2e6f258c9298ab82f8bd29d87ca0887678a1d9db955979a85b0c7f5850ebe6ba086e2f1e1f8b393833e1774edf9a89aac3c6b26621f26fb3860045e0a9ce1e8185412199064fec8bb3f3f7b8f0339a170313b61df63dd8e8f2c5023b4fbcfd316362bc79fc85f16752d6914d86fc68521dc076215cecb936f9034c2179d26b62abb8bd1af664a66364b84c4d2cb17c24f373c517ce981db4dea72844acda1706951142bf2ff96da68eefeb3b0636382f236d70f333cbc1e76dc2c232f440c3f889e17273a22c2e8d7e21609c377403b597664f614979bf002150b720b10c5d028e17825c041817fe46cc67c26c5820a783df1bb30c98f241925462a1dc180c5aac4818cafb2b913174dd913cc2c5f296f5298d06cc362b4ae0158d4c29b0f118e109badc21975f7ea90733bc7b4705253895e291d19fb6347a0867d4becd311fa1d4d6cef3098b16fb645d000e8aafe19cfe3c760da31476fa761f61944837d437222553074683afbe23867d436720ce49b60f1020cb84bdbef2fd4a5a541ba9decf1c03d2375e72f39be4360b3a79cb2bad250ada1c850f9d8637769a4d49a86b2f66f2d7a27d5b4b448341e6a7b525c2efaed1a9640d38ee624e346063c2604b36b74fc25913b939c604452512359ddff3f211d5874046301c13d9a25fefee329a28b35e3a7090264a8de9abbe07dab031ab490f76bb50cf78c99ad67328520e92f64f03bd33a240f37fd530c2a456f79b8b99bafd1d6ddbd75c8a2c3fa4c3a470148960eed392d762fcdfbbccfc48173543c9bc6629550cccb16db8ff60469761ade3469e181863a3f1d603995d86b5e38d07365c76f1c04e8fb75fc674286b5d08274ee6a706d3c56b6e2d48dafcd60b947b446c1185a78f088acc3518dd12a92796a2b8984c32af45cbf86d8f9808bf87627f1931c9f94f8ac360eaa48af0e5ffdf299f6233b619ad3f7a5501745d00ba4660103bc0721db4c04712908c26f1541c74e72176f458ac9938048194158522885614c4ef7caad25afbd9b7fdff35b2d57447cba64eb724954cd292c96e01f200fa00f100491eec8561380758db5165c3ed55fe548576f8001d2505450af370893994a9fdb6260fe681e5b2779cfe58280d2d5271cab0cc0470f07c2219188e0b0b46a7d3a0d92c2a28d80909440484219319142e97caa0d2a600abbceffb77a24d900cd0ea0c1c1cd448a4c0513eca40a36c4c4141f975946e72c36227267e86bd4ce06e3730a08bc500db26cec321922c14fa821e4b0e1b0fbdf7472c98671e414d70076b78c01eb88f765cfffa667e9f40f3d99481c0983b6b09612ed8cbc5c6dcf8a6e87dcce5381ccce1606f1cc2557c7c3c00b9e7b3631fcb3fb61ef378f7f97ef7f559e6c93d32decfe782364f3b02bcac1d3fdf25c7ef576484df084386216cfc8e3d5abd86d7d14b41e3f70ca384cf303a337ed7e8131e9b72a3dcbc27f6ea4f4ebec98912fec645afbf670d2c3c869495d414e3776df1c25f38157b4ed40b1bc35b74edaac5ef1ec3ab27de713cd426c5dc8afba32828c807d2433a221287b09748244254fcfe21c47a0a1e1e2bc5ef20c10c3f8193833331f17b48838697e8711b7adc0a89df450a36bc758686eec2fafb0801878f889181bb46fc4e3290f510306b1910bf97d45affe0f282b6f1f0fbb683a5e59bad3a00990e4b605cd3a7fe17df702de0eadfe1a6745b4232221202f2e1d1a1a5726c68649c5c312e2c2a282624ac11100f550793d9073c756ddbfff7a39c3bddb87a1b62ae541a8db95269541a9dd65854d2293461cbd7789b115f2bfb7e672857e368db2d74bb856ea1f3762a2be9a6985b05f3f2f26261344d87d1344dfd6101519f4e5fe27dde9ccbdb4b7e776058f024520c37b792fa912c30f811a7859b4739098cfcfee07c7a91aef3e64ddd0191df219a501f72d4bc39d25141c8ef110a510f12a470f32221c8efd604a9ffe00937e7c48fdf2510a6de8323dc9c173d980dbe83336fceb9c68e25d56be99677cf8e0ea9fdbd4249a52ab37440278ea55adc559f85bbe17ef6f72ac62fd977e09e1a1a1af76d6bff27d7fe4ffea4550e16e300c2737c035b5dadefd04fdbd78c3be4958a79bcf74760413c153855dfc5098a746548040ad40304050d41a15d34301e9107f7928990a0d0742e303ca1323d0df8724c1e35f9bfd7eb76bbdd6eb7f7dfcf527ea5ca924a0f80bd73a703bc4c73bab9b67dbc737ef37ebfb9f37cefc78100b040f2ee74f73fa0403d405010140e8976d1c078441e24ffad5c3211121416e629ddeb0cfd09640398ebdab63ff5c743a4adfcb16c4a7e1a09506cc4b612690a31e801a9af6c3e7e731e4eb00e2096d6674594e5c8378e25d886f149a3189451852d78bb32bf308a50175ec92248d55361d75118cf269457124c212b71ca2642e806311c7b20e8aa4aa5a41ce08481a843c42dd50703990843812807b2282895614698c8031322a2005e1c2669c84866082184104344241011191149124a927452a1ab3727f32e740e74037e4f7eb1872bf3842d2f68a3be05bdd39c20f878e1ba30301757a634dbbeaec498c7e4df8aeb772bea2ed9e9ae7990096cce9c72e19540fec56f9e6e747d40003910c0cc00c400c1cb2c4d12c0f1315b9b8af19110b8c4e64782a67d1cf1ea187f07b3c391c4196ab17844ad7c89a0b22048d7bf76eb52b282248e56f3db11f63f7dfa6c2f211aeca889fb637c86f678a80037dba83e0a9288b68955389ba618e0135e3f4f50120dec816dc50f18b28ec79d88b32c84c24c35df76b24bec45be42cb01c980d9343067e574dbcc67bc6ffa102ea90adea3be156508c0a98d39b26c84400021fbf85bebbc3075e674a96e080a1606bc93b5ddcd2e93997e4a15ade107bc7d71c532a0e02e63ae5b72f6e6a2298c589c0d51c5c895dcc96e6d65ee1da18f2063a92456b13a81e8dcfeb175cd49cc6bd8daa5393fd0dc7a91e3ce0f05b75e6cb7f383b5ad177dedfc706aebc5473b3fe0d97a11ccce0f49b65e8cb1f38386ad1705ecfcb0ae55e2f4e60cbc52153e75be78a8a2416ea7462ead178e34698cd9d2c0a1f34503151de29a53dcaa28738131bcd7d31c2e6e0c6982d19ce6ac39753d3badde264daa208a2ab2e98c232d7b4389468cb6f969df52932f0fb434198cafbfa85f53af558c8bbf6f15f91b515ce538ea8964d2e48d4df1f72f475abcaaebc0fa2e50db910605a4d90790d0942499effdcc8ad391b5125bd38531b7a35645c951f4eb39f9db61b2fa48497feb3c92a18648aa714d1df150931799c79b6b0ad10d6625228fbb5b5bc00cab3b05450a87f1b7b2a00929731442881c7646ddec9b7ed07e64a8f9a42f7cc2849f90830cee1bfbcac58320c07335fb402163c9fe1049c19f91f37a10823a7ef12c600e62af864b8277d8105bde87f9f34a26d9f5710346e6eb27673f3ddbb8a0b84ee747a7bfdd53dc15a30e043d8defaf2bb6bfd182c142983db6f8892b022296e3961c9d0d600e3ed5666b9217b6589df62c9c889267ead6cc83cdf1764dfbafc96338c3ae86694026b2058394b1f6dce38f3217e6a052232e5a30b7ff62417afe98e049a7e5ff41f5390e0c834174c967f142a8a4afd120d6444ab75ed2902d4edf119889c435f1eafc8e57c7454d7035522d1488d1151546ff8bc59a8f103463fa3c1fad3ab1c0601b500e882c3057f64ddb1f6ca2137aa1b96b9411879b1195a91455791eb69d67b84ac2665515e204c58a72c6481c70520d0661f61849dbc20e366033671fd874bcea8a6918e099ff39b8dda2dfa5daacb976b96edca7ab881455eeef12c6132a77098b2b2e7c813719eba1797f446d3d429a6100312484819b407318baff4738750744d505078779a1093323488530af358e0a80e4cf6ae455f5b424b74b88cdc893a63de27de48cbdd509c599c9fd97f02e0578a7cabeb3e8323565395f98a0d546f8b8a2c41adde86cc56d817c80b8ec30033beaba085e4a098d75d3d83856ec2b09b0e684198999adc93905496946efa01324848cae6c18d18e9e2c20b3a4e87e55989d92b097b061e4025e3f7c642791683c59c57ac7d509a3d87cb2b933146cab5b7e91b95dc18c22922ef053e9bb8e5809c742c1d49a764076b3ea0c9bc975e83d3edecab981bb00ffb936ed7346156b031762cea41bcf67b944553c9456602eab7d3c0e251112811194cec0f5c9da1724ffe507235304c9ab7e429ed22e11c484d3505d90a073197132b956689db935f69d6bc6acf101c744f15099b06f668ec7f39020060008002034c205241637ad4723931afdc8aeaad09cc7b175d2e01182bebeb4aeccaf65d9dd107f686ea2f0821a4db30beddaed131dcba4390c65b586ce4d41d1f529541b785dedd8acba22900843d3d57f8add124c1ee48a9ebc64be9edb1abdbab28b7d54f05762cabbc76a0a218170b9066371a8ae264978aaab3653575eb3ca565db5792e57cd2ad6faf85c34deafe0bc25bb0aa38058f32485301b10664e439429a8ecc4f0fffc01592964fc33dd4289cd0b7b40e2c73b26515716bab607127ebc63127565212bb639efa7ef6f094e9e70392007bef6fce6da4a6598f052652334fd0fecf080d4a8551275b95159af73e698d5798f75fad41b244b1d52d883948f46fc7a074e9584a2b08fa370ca311511737fdf664674582ba22fd2966ac766abedc12b0b0f672b689d4dc3a58353965585a482c0957c39edc54342f9a560a7cce39a46fd0c229603de425a15145f34fda6924456572f816ae3eba134137454373565f80922ef26886e358006e01a10571febc1cdaedd1bf5d960828a311b52a031d3cb4705ce84ab9749849dfcdb6184cb61d29d4527ae89d6945d1cb5d98b9a47a80979e261b2b38aa3452440ef661ff6965061beb5b632646d4b2dd9bedf67cb0c77fd0011046158e1e57261699013ed15ad64857ffd4e9763c939ba7ef599ffcfbad87af47eb7894f51c4578efeb85a4521c779126a2e40ac5e0c785136cd00279a7f47dda96130900d1eeba725e9098b9878b426d90372ca269d197b89be9807a67130bf0b3c3118a09b6c077381b2a6e95140049d78096157569709b99ce6b02b71ccf6ce980e233d7871bfa8adcac95e08a3526e5beafdd63a542e81b89918c799ffb95aa31bef0d4e1652ece1007a82841d3e406a71037c9951fa8e2214a1080daa310001d064608e58c59ba70a7e313b306635261da15cff44bd58d205ef20597d69a035891089ec9d919624b2772619cc01c901d9015aebaaa5c5acac4c6ba3d9ced5b9ae3b1da52ce01e236e32247b6c678935b1b0864d2cac21d6300db25cb6fe4a435ae5083365a6a9ac424a67cf728a63e3bacf90648bc43b6c2b59766e3d732fa140e44f9a3cdeaeaaf3661513b8b7b7aa4a91729172b99ebb87b9bd09e404aa2926934b7129206d6c6c5287dcb81be73e9f1fae4b43437bbd84083a2c6b6a3a359deea7fbc1be04892c253f344ee7d9f3f7fcfde2d74378e0e0d820e8db364b0ad9d89859595bd6b6502dd493254b76594e7c624d5fd3e7937d3dc872b9a02fe323ccceec5dc873f6a1f7386ca071b25790c0674d517a3f5414e611108d060a7400ded56e51068cb71a335c372ab7c6e646f59e1f21a2ac0b4c4fa320c1a65db0e8b9f57ac0d9871820805824b267a9327d896f9155237ef1d2422382007bdf37c04b818aeaf70368ed45a901030cc3dfe741105935f66def7e54145a14b18b4c2b301a9551118eca5819c73ad643209075f5acb7de42e250f88742a170289c01b03cbaebc394bb2242a5171259335ddc6e5f52756579ebdf3d731e7117c3afeb7babcbb12bbbddf4e71ef68b216e118ec7086d93b69f9e987fae5d961d0281aa1a98aaf2f618e1683c1e8f1834a069c7aa3a31d8d1c1f1080662ecd807050d8e9cadebfafb8a6ee317e7f1ffd2edbcf6720b5a33244e52c76ea249c852b826a94326b416f78347524785306b8f74cc509c3c463f2c14f005148befee35f00d18117c042e0dd9f573bf72d0fa5a5d90ea534d4d213f92ffbed505ab7f85a1c2af6061f893c9ad24ef6f6da12ed0d56a170a77dcd5be76b6e77a0bf6fa0ec3dff7bff6ae7d908b8d92eb99e1678872c657ff8aeb7705834122916bcbeb7b71f83dd8792f7a29b0b483db9aba07adfad00795f28096f8e8aec46648a6571a56ad2eae2df58b8397ba81adcdedd01b8aa255369032a8a6a49a626364473355a74a5023fc5419a632e80914f827e992f448ca0c92ba5a1a300c10404c4bcfb8a155d9889295da5aca961e4a3f5c8a267502da3b18ecb9de733ee872b24aa1b4fa5bdfbdefab4e0562a59fb33c034ff2d8cfc59adc0ac3050b152870b2aa61f1b341a6a82670a409368cc92a7716cfe5f9b5eb83efe0d8c0d7ba7c8eafd7e77545b0ae6d056457f6f2dcf3fd78bc2bbdbf92eda280012f811062c4bf7bb360b63907891f88ac875506f213c5fe8679ced766bc36876f901dec00e6036a4d4d4df5606d6c6ce9ea39786d903d108b37fc0577c22ff5cbc8d9f3f99586e6e5a5a27979a95e6aecbbb8b60266cea049a346af010263f90deac6f9effd6f341e8ffa132a64e810a2448ade16316a04e7e811a448922651aa64e912a6b84c9a3671eae4094d09ed42dbd03eb411ed445bd17edb8b36a3dd68c36d47fbd186b4236d497bd2a6b42b6d4bfbd2c6b4e376a6ad696fda9c76a7ed697fda6cd6b451e326cd199a3767e0988953066d964366ce183a62d2ccea84b103e6ce17351d1e2f79bae8e1b246b6670b1f2d7db2b0f9c1f2e70a202b6d6281aa08a23268ca6e3e7bb3bc23c1267e721ec7bbdd4ec7620a8a5c410545aaa882225388a148145650e4892b28d244091223b4a048115b506408105c50e4070f5ec0388041911bc2a0c82faf2e2e3228724bab8c1914897506455e69c890d46b760cbfff1b3b2b6ba8265bc96e1475e3db0d4d4d55afb2523aa902eae66abad52fcbf2cb721ec740e0ff5a36e4c329e77efc6177af7dd50181401dc7f1dbc1b9681e6f96e7599665b937f7fe3cf77a3d9ecc9b81bb9827f3be2ccbf23cbf9f4052bbaed1aa406f750c7b3fecedd1b76dcaf48bd3990b7205fe530686a223e2d67139395f35b1d1aa754346968a7ddd55d4a833924ed18b043c57e51aa1b7655c242b1da7929e3ccc34e164b8bb5a48527f950d6c668391b5ac6b15b8452229aabaa4af2d12b92b1a49cdd25dd5014aaf9536b40edb47bc8de5326e2b75d8eea17d6ca65e6aadf50e5b2e99bbaa52ac54ee5445e37068388e23d3264f7a5dd7bda6e9b2d8f7dade95523638b543710c04e654dd33e5c7bdd3e7de7bebb8add5bdbfde6aca25fd3dd54e759d7e18b87a964d5797439075c0737b1b8a32a6aafdd7fae63556d5557f45b31a7f7f0cff8beb7cb60f74e5497d171e95f362db9c877ee2f9093fd3de3233e7eaff1b27f1effadfd565fa236bb3cd9a552e1d7eb94adcefeebbeeceed5b73542aeda9ee1d4e51a9ee3b1cef375477e471bc5705bf37e798655f91bb33899e7c35f7d6358e77bbddbcce6892fdf0cbe1bfbeb3fa7731ebfaeed536de2854a1d85c2cd4b53a9dd0e876e8b1ac6a2874a842b1441e68579bee6fe178409178b7cabb2f82d77ef825b66dffba5c71a34f78ab6bba7ace6248d545cc5c2e65f7d73bdd533b74b38aba6926d73b0dfb59557f76c9fe9c8aa56535ab4b2e6f709e6a42561b088c6396c7310c7cbf6bf4bdfd22d6e2cea68d9bb33770e2a0c9994327ad8e9d3b6a78f2e859dbc3a70f9b9f3f80da02091ab4dd9a53a85411b37205cb58162d5bc8b874f152f6054c18333163c838cb048990a824abf7ea1692006396001810060482c1288741100481306bb10794830986d55265f458448ac4310cc1201040c62804081418840006064684aa01a7ce8aeea07748a0f167545d2621beb77abe7a4bca9cf420dfb103d76a6e6a7963b5b2aea7b99d4bf2ca8ebb1455c9b903d0af318cc26cfb22220049990351d1ed3fce950e581f4069456b86acb2be727e512f97cc13a5876992b9dade16e4103845a7099f1933e7e89dc0d5d0d727b02796e248f811a58fb415ece708568a4f8dad350fa9572d447501ae9c667f9cbd455d50da1c25ac4bb1a514b24ce1649bf541a1701b90da3bee9a28caa2604053c9e95d6f0d1bad757f356bbba6f7c8de229df2160c96d5f8878e581c936d41ce91d0fc857e5428afb4c182317dc783c6c2940345ca6e62666bf4d0a47c023f4c602d5db8520ce544b808faa8fe00af746d6678aa5326fb179af8988712ddfba6b31162362a71038cc3447752998bd80dd3c5846f1fd06142fd29c6ddbf5249e43442c4cc647c898d347ed7c4cc300c98c4c41d6fb6ce9284670793e8da9f4677a31a0dd30dd64223de48c983c1d2ca79bcac0b2c28c656cc062e359bf041e1653f34a87f2ea9f6937cad38833153cdd0a6468725b46a2e5b7b418b27670965c19c44ce6e77796d3f027b0fb4b1746ab7a74553244ba671194d33addb6e6165aba82183e03269ed5f90a55b91115dffbf4efd8c96ab46bb1f928b2f3dce67f7973e0ba879d074351ac66b355d93411219f8b6989ed79efbb505e1fd9cedeb516208d12bb6ad52e32519ddca3666becce86d11f1a1b1d8807f1dcc4f59ebe1263642287f48de28bac6485979d91d85ab775ec196c01ae6a5be5a39356e586b8c85d1af9097ae5e6272371295727a0efa7d6474085455b3eae87834cd06c6da30302b6358c21df98728f7d220ae1ad9b53942211f14076c7b6661997d41fbebe75e4a54f9e745b93da4eda6497836e41cf1b5f3283dc84ac6f6bda212040068d9de8a8f601c5e773518b801b7303cc93b287a01c68271bf6a87cdc2b311aed6461d2fb6d1614433de29c591a501d3dc00fccba89d904ea2dca19371558eb79fb370231feffb34a64e8735aed1b903603c877b8908bf6ce99b0769a46f5b40c9fb269d5459d6b372a38ee28662cda7947ccd9b6f9578fda90b916e1b14cd9be4a70cd106297b95c0f58cab8cbd34485f7d13f9b7f916756b356354b1d023c06d95cb6442824a72de6fefa99195ed3ff684f51d2d43ae3a5fdf4198ab04b4957b274985756402b39837f732e73966c01b2c023229bc2daeb5407b30b4f2ab5b2eb26fdb71e4866748d32ecedcb5dca747d352713d6be048e27de2b3ded3252acdc85e629ddb977155197932e17c9bdfdce8e71d4d3d0e2d4278c2627b820bffbd3c7b8ae08bb681f599752288dd8aa7ff75749245308bcf0b6c0ec01679b7252fe654ad544fcfcb079042ad12a57b279302bb4a156e37c4b4269f50d7e433491658e82c110bce3ad80efa3debd31b51660866ebb0559cbc9579a4c5e3e8042abe4bf6521d6671900fa2d0f04fc3378a46e1be700d35725b5ed486a8351001d7ccf9d9bc6f296054cc44a19f0e3e1e0846db45054452ced56bd6733abb6c87942b2c49a65dc617e9dc0ca3e77c1efab9cb21f81e23e1817dec25d4a297acca9a12dd92dd26ff070a647e509cd1b13bf8993dcde2d1e5540e674c604912b0afa5a4a5cb134f0a8cebae3968d74b37d747896560ff3e7041cfa6a9a2e35c2f1414cd996c346c2d0624141d35166cc4a361fc48f5d1ddeb5b2915e83a4511a27165058538e0878785429e9e8487c5b3623dd6b9732409251df087ad9a37c1b2fe2ddd8baf3c3b3cafd657eda566528a7c2d56dc7a393d741fc3d365c9176d92e18b92bde2d22d1a498880381685aefa19ceae8e871eb7aa2e430eeec9f8f3d137278a0a4045449d8f6b57d68992f2f14617f8398295210e51ed41a9d0f5ec608b05a509ecd2febe69115084a9207447ad77ca76f13e52e6fa486e3a35f96613d4eeac74b0a640dd0f187f690e7533af7ba72613daceec8c09e86f70fe46239a287de597d24b47bfc1427ec857a355ff04f93d21406677fdb48ff5f338684af77830397b531bd22636e3ad0c423b5c3e826fb03904ca1545abaca84527870e0f8666200cbaed8ac959a84e6599d66673d76051ec28d8f664ef41c258a24d46527351e1aeae5589e6d3e6298608012d139033dc154cf777643ee5f4f36916591f62bac07f23258bdbd64fc8dc25804b8dd224af3dde880464b74409b692b0a869ae7f9f945ffabde6cad82ce29960f4a5bb3383a08e4c0990e09cd569a25a9d2ad645fb366a7dae29f0060f2b4fd6c5232d2c96d0f4c3f008b19674146793e713c6e49b35f99eae86af1c4f7478c118a19d80ec494ab926ac41dc09a49043727a2b6410b228e8f18dc04106a0470c420e5b081d32003ac46262cd90f971de87157dad79c2c983e9c214564c54476fb5af45ecfe25189153dba87c87d7161e78860aed92a0ea6063932a4f70b9feae287dddba115690b9596f6171d0c42f0848a62932b9994356058a7b15265437014c29ff4ceca4b42daf8dcc4b4821289100402201a1840584293a0ad9c2af7bc40fad1e9865ee915ffc59cff2d91ae28d6d7ca384d62ff35a43e3cc3e20c151216551933d269e10c1d01261ab9f0d377af7e67505cb336dbf60b9b70061264190d296c3da7294c11c2c919c9d23aa198668032e65ae426eeaec3a7c98ab8441b1a124485708cbe0fdca3ed6ce365a4e26671bc0e8fa400404f3d2631400908bd36f1c1c42ff4fe30b64f4c8bd4f2d073e30a4a9d62c6aee8fab520c35fa3e3513a0db558d21264868cbb6551e34d120f541a06b2d3db17e8f3d0209cea743e64c242173e11d7dd207b9288e84973d53c3ca3f25677c7b327d58e812838bdd87e5b4c422cbdd5374f6f71c9ae7962ba825c0732b81bbe0d89db00e944716c13d2ef8c01d3eadbd3670501e484a76b310fcc98251077eec786106fed7106b90792973f2386c0469a66ef4e6fc715f7c17b43fc65dc4c44584c9a6625aea3fb6eb04ce6eb3ec395c9fda97066bb1a6e7211bc561d4ec141bb152edb1b80ce89cf8d13d44c86a1a4f3927af06ba30b202ae4a49f2184945e7302e1ef3fc3b69d3788c868b7822972e17f2ac91ee7c96b468bcd2a733d0b20f65c017710e8202144be7c664ae902ac590fc25cafd0ac79583babc13c2dd7be03736f7710ae826dd1b8f9739cf7b2a2e54f3f69e680336e71d59d882c537434fc765bf7c50d65f5d91cfc1fd3f55d78526577206cdaf6fe36dd394d23364437d8de3ed50d22fa5c30af0715b85995077f97c31ea5fc8f20418dc7a84b552ac22c844b126ae417909941601f65b87c691363cf78587ecbb2e6ac3522859fec77e3aec01ee597a0cac65e36f4702b8d46675dd3d532759aad914d430279939b55fed7cb88e77d48594fcdcb8a1d69db1ece26a63870c96f57ecc82c85e4cffed42feca30384c06916f764acaceb65804160c732e54829e215e4707a32b794ebd41f142221fd80acc2b3b92d5665663c2be1fdca87efafc2a6952d10e59fa688c6463cf29cbb05f501e7bdd44222956162d700549f79d8ed5f5756ea08d837ca011c0342269dfb5c291f78ea2418908f38f6ce3871c0f56e2f7830a79380d52f3f87fc346eab20a7aafba76d2152d8f9977dbef5fe83788c182202091502ebb45b0a37114eb3ffade6a1c7cb91c7f93583acea9082e4549fda225131a2986359ae5a15507e84d15b5bc05e69b5624c781d8db8e80bcc7cc206c6aeee01d4e24c6c353f1977e764c45eb6871f4fbd89a6ad12feb631e3f7d638b594cd2aba7c9542f796cbfa5025d7d81363bb2c6dece37daa1fd6c815603c9839eb85f5ec9c3df9851f6d69bb230d3577713d770e2cb2ff55b9f5f5d6f0d43571491e22e23e5c196a463ae5170bea54e76af7e2ebf6c1fe74ddb17e0b9dc30e34c989971eba7cfcb2f84e93f8c23bdfc5a62294f419e0e18341803663a1b9fede9d7efcd4bda28bcf029535ededb622fc30b58180457c08720bc5420fe8ad44b58f9601f10c0def126c6c2bf40d9d30146a8803625cfccdefdb3f828506e63f5e7fbe37522ba81a9a10303b0c89e53a41553811d2b4c914702ea2f254b60791095054c99ceb635633c54605347343fd725e34f50acbdaa569b27025acc85db2d8a9bcd3153dfb0fbf3241f05cb4088d5163c1564497750629251ec90a3dd7c415e5421eb0420746efa1f7aa274d4bb93b1d27db187a194965ff5356ade4a48e64db0c2f49c8fb8832bfeac9c82ff0e4e56a42309550c1ece5da993c645900f27e1b608960bee2ce5c780fa44b1e46d95f2124ae13300abee18442c7f7759be886ff7b333eb613e4bde8ad3cc7aced9b9fd5c9493bdabd1aa8201d11b306cb340fc1641f299e988009d31f7d10727c5acb3b0cf7d19df843d61a33231d82f1e28ba793c8065e2797e3e28a699754c98d517885672e57ef793b40b0cc207ff09f9a33e1872f528a83619d300f20507a530a0af2751a5732b97a277a3a985d3fd3c2018d7d90247c4d0e8d26d20e022b3269fa27516ff4c55ef923f10068f01f83182e210af9b9dd11d85eacab9f03fdc6d64dcca3eed180077299e4166264c45723837c26bc91056b2bdf1e9b9063cb3af8a20729681d6c8e02c3a95bbca87868c51403c9f415b014d54009961f02e4175b22090edd527b6713287aa85b135da6e0a5782401fa46108570976cedd5471d09da1d7d16d4ffa1587afedfef3e3c6621db904b09ec0a0c7a5e750260b4254da71c7a4ab3e7e63eef311fd9b8b48b0016aca1a41344c978c8f6c1933cbd1646049a2316257ed57dbab4f345c1c411622daca6fddc379eab6e698bc7a5e3421c9f189dbe58520f44726b04687c0f50b09b11bea819ae2a5123c7e2c31065987cba6034620066662fe23110f335a7c57083072b8beb8c8a839ed5f340fee786ae0d64c12cbe1ffd327690a0469e3bdf77a017af0777167dfbe7540b64d7648e80ee67505377804c187a5e008ac3c65797e0c6c42545e824bf2fa50c699184b7d90c26b91330a064d4e0921ae849e17f4b425eb42646877fa162714c62da7b01069b2196081b0b05f11b6be24d8be8644b462f63d485ac2228028eabb42341c82fb8b1bd1388e282770bb28e3c61303809e3309a3b5a67ab38cc0af39c8e0a6af520570f5820f1c37acede5a0fd6341042c065c9e03abb8d1f940c3c1526e53a1da15c73cb06927cdea58001a700881292a3ab72dd6e3c470f492b887f64e1e06af03238865091f7710aed6dc36c586c0441733c0e4a87bf4f5aabc6131f486b35d8598e6f3f1d2733a985ccd413c17e9b4d5759858c190340933271a0e6394f015026a5cf50335bcb920e6b2013b574760300037cbee9a1d36da5bb05c043d9596f43eb676d2758b671ef21a7647f1a3989f6db95c6a86e1a7f3cfb2f58d8c5074c281a42a0d82c3da615e92eb78af7f9ef7539c3276444b1ba35ba3d7972f59a393e2dbdac0cb73235e245e80dca0cceb179026a88a93961118dba455cd3b94bcf360418b95343dd48da4a38ff07ccc2b61d2a2a50a532535f464bf028ec318e962b256683155d636a9fef12f711517846f8aed21aa9bc1249917a23e9529b76913bfea72aecbf6a466ff3345f95962034fbd4294fd4ad6a90aef78af3b713301848d5f84c38748ae9c693884dea6fc8f491f384905a956caca3c442c942d987b0136d8532cbb66eecf999f7d0184f412b1b6c23526b2b464cf0b556ceec3f76666175a1d8a6ecaada9203c4fed856d89a23ece7c6634d03b3aa5c2ee9e6c1a9b5f34a14db3c8de8e4e192bbed1b21f2e85a35f9073ba411d26721624d6f57979d82979b72495515d004049a5ee0ec198d48f3ef0dd44caffa690fd4422e36cd3c26f05950d5b180198816ac090978aa7134f284e3100abeb81ee5d4d1b75b13952d752b37ce3a872c06441f078b7c43121e8b580e867b742d2a625c54a10276351bde00a1be28f91a78c9674cbed6e451722e523655468b08684515ba5f1551adf022836930f73ca4279e25cd6852f810b5e7ad383146278b6fbb9aca33515be919c3380aec038e55c3cad93f6cc4e4470066b2952cee9d1b2f42c75339fa3ca9356649bfa4807da7d5b857ee79c5920cacdb78b3182e262456eb6f4a6a4c80e6338e77d6fe6b34881442eb8ae2b1f68714e8ac465a64760430e41368680d8800e1c4671166bbb88eb0f62257287bedbc4f9a06b712113be1da464e8863db080bb4dc4c84dd599ad2ef124789b84e706a77d9ecb27ca71de43a9871368616884a86de4cda88ea0781ad26d8e7f465fe7f9801277ccd6194017606641d2d4262020fcc4c507f65eb6631377c445de0e8022ba8e10126973fe33d08d8b637be7a15e9cf473aea1308fce953723613072db88422016b8ab399a1456231da88a5c88efa0ed8261ae21f1fcb34edbd68fc15d1dce9347c273b3ab8ec528c7647112663814050037c06138a6d676635c0a747233d6021b7d8d79ca6728359b415eaeefab9b44be45dd1110100ff5c6e99e3f9bb1082e59acd4ec9136033d8a734b3e6d14d470c068fad84ad3fcf28ff5818474c93ef96acecfb75b83a6b186f1c5e8061c470ea3bcc17c4d26fc4a9da4e50a60623f8f4227ddad0050c606c51ff05d153b465e139f37ad716b58e5920a9cc1672fbe9cd63bb14d70e7cb7f9b9a2346973ec407d31454f43421eb24fc1bc3dd27350ab3d9c164d5d45c38806bf008943dae15a48bf78be8223a927e71cf06e2588edce5174cc640e58eb54d6840b0636297dace66c2469a69a81a5bf8c0d009d845a8c8b23bfc39849efe9402907826aa43df9be526243eceb51cc469c86ed82769881759d231efc89712cda085c272054ae60023aceeaa09d356f79c8a73e4e84692bbeb4ea37a788712cd917584fa69502fd69312c69acfb2a03fc86823651b5f7140a2a93ac2d9ffc2fb97e78cd5b68c64b14733b1e16c4ec06a36a4eb84e8b15be162b2cd7391edaf85f2df0d95bfe678a8a59ba2b2fd083eab917759f6bfcfd3ed86f83ecd0349192b7120a9eccb5a93581e2d0736608e11d8c1ae9ec0ae437120deab50f78b0b5f8c47e24cc10640646328f757c03934d36c429c1a30db52454912442d30532de1227a5cf630c4290660514874293b797d1525ecafed435fd5589385ea635c3f9e68a82a243d8103a766b91ee9d6ba755e6fd5d9a523fcb6805d5fe74a30bd89099a5ac34b29e7f11fa9e1382235ccac4aaf9c0078dea3ec8927355e305bbf359c00c03338281957cd1e87002ed3a14b950be80a81a35a877302baa2e3bb10a9f65ac3a13310d63441fc8435807f940765bab981c7cdfe27e27053ad93ca7c8577a654eb1122581f757a22a25a7fc7fc1e7aac9c545e1f28959aa8b46e0ef7ac2eb5f5e4809379fcb62c027470011ad6682e555018d6e67f32b5524d50e6d706ae1bc4245a8375760c625326951e7eb01ce81fb8b7c176e4a7b697300a238e80a387e813000062018ef1aab6f55cd049face432dedd84a5636c3e2adfcd7ccaeec2da54c528adc010703f5027f0258905139a752a0de9d8779e51de7dfd76a71cec1946ac5025dbd8f2e1e9e1bd9c756ea01915b18ae3824ae0847e290909c7010c749054e2ab05510e526a70b10cd12bb2b4abc964e0224701c701c4918bde7450f09c3c562052931a65213682a3c1d88541384e375a020a7201c272f08f77ad9eebd603b5e3a463b56c1cd68b6a5268b529aa532261c2076c0f1d577c6d70e8f2c931a8c3be093146ba6719ee02e27b60186f11a258a92ed89c58041c6881143d6332346aa8320ef3588888888a410456941c3844d0695706503a80c10904fd4143e687ca8f049f347329c1b3e657c96f049c207ca27a782f9a801c20141f9e0520e82f60d1a3468ccc8f9dc7c9c7c6e3e4e3468749f581fc194ee9964229b582d3237d6a891e27c935c1c7970311813d9c4626a914d35c81aa91c6497dac189800594ce3f602c45a664fa039224ae088793a3531f486f390f037f2a892bc291381c12dfb081f322e706878c0c8c2dc02e1e1e9e182e174992366cd475857c0698d3c5ee1a61c43acc7573a5f81649541b8c186ce77573da79f51ba39517ccdbc9d2ca75d1e5bab99c523797138d9c168ecc916ac828f25badb4d50ad36ab978fa184285e18185624658f8252413de425c58264c225c2254c2274c775e689f20031c42b0f30042b1c78cc218a9c682291d9e7bdd42b4e20c15e9f034540a9740a554b8440607aefbe0e6d81ff2e2c065d142e4e2b119d8e940435a72600280d1810dd9a1305fc408010444c1c8c08b0e077943caba056cc70d208412e7f5058008234af26044444a44281193940e8829186a080b5396212d9c69e84a155fb021d850d3509ac3747f98d4f000c008880847217bc10f3783c9b7ece40d004400d8c5d850004328063b842cb4833c16360ab97438025cc7a563552f1e2bc29129827209703bcfb853eb7058135ef448c02ae0ca5199f5801b3fa6901562a2c3bb0b3632c019d08171203650c4a4860c353c598e9d43f71c3c797c7c5f2f72d8eacaa123e6c86123878d1a33d527360901dfb8b009bf5b6faa94030978512aa7a74133d9507aab3b07ec57d683641d77b7dcaa832c361863fc29c6afd4bce6ffff9bff2f722ecd39e79ccbd9556da5ad69ad35aab54e596d7b977b83abcef36c5ece9815ceb38dbbc7c3fdabd950ed1d2b8fbdbdf630f575fba0db22df75e77fb7d9c55b989a413399b5deb623d214283c08cf611ae4ca9550363136b1894d33e705708ed97a7641e076887a4589d1e284dc28831627d6bcd47461322a1f86b0881141d46651ac98d30493c74c1469d2f1c83dca475230c2c3d10061924491529ef11126862a7c18593962e3b2653f99464f473f8e8822061d66781202a5a6cb028a091fbe9c496a3f9470c1c83fbdb0a45a018a13afaa928409ea05a72145607c7162092a352b46a680808980009a80ba334e96b0d532383568725b40d5335228c14266f8b70a169e84ffdfe1eeebb5e0c56152c638e71b1db6dc3ff78c59ac0f58ff6a8933b29333176ba0ecde1f8bb9b54a81fbbf057f87f8f1772ff4fdb10c42dcc042ee5656adac0f587f677a86ade71df07c630924a8354dbb14e32ea473f83bc10524b512428f0c3824bc29ef11fec723b4479492a8d86a8a468492007928f44bec28b9240b916237f27de961516ceae1ddbb8068b9647163fd47a8d788e2192d6a81f34317218f8b193cc410150a2b22dc482bd1c1b3814912211f0e4f32ec508159538413a0144ffc4a18d5163ee0a09d8e5400633052c3449a23b897203c1bb64c69b2e4136324c86ac813931d464c01f58571cac18bc7e4f48840da4a2049e1f0b4c4481381054804cd964286082d5190c0a0826e21646dd183142794f14cf0b26f547493272f54138b204f4a6030c3c36e87e10a1656fbabf7feaaa0b55d069270e7d9efdfbf37eedefe505b9cbb333b3b20cd8bf7998c24217e0569d0399075510c431d66bd738fe0887026de1cfb8a7500e1236a0a3026901ebad44a203e82e4ae505a6342ee87b20620a80f566a2fbad447528e810e891f92ea6d0a930146e1912759bea6d1c14791dc6db952042a96a4375895caa496cb12921bcff8aae80be91278d157e8643d26d919a02afa6c42b1bbba68672e3ac71515fd08c3f76a1c42ebfbc81fb3b91d7f3ea6a44bac48d329e9122bd2d4059629b7e7fbf3fe7712064110c456639d41fd3be9f9a7b5d675d7ffd6783bebfe9fefedc1eb2e22fd8cef677cb5b5b9009b0a0aba5868810ed5100cbd0d19ff34dbe45488bf1d867ae32dc2fef9c6d7fb7f305f9aae3c2456b8ea2f6d2aff7b75adf756ce39b739f35cb37e9befbd0f431817700ff462df86698bf1d6b87ee557fe0fbbda5cded6d12a8ed9ad56085b0d48f8d62f38aa80affd160c7b284d6e378590b4570312a422e1cedeef8c356cc32c92794b2bb8963857bffc242be4ff8de028fb65697babcb284192c4bc72650a27197fdbfbf8cde1f7de7babe7f5edf18a77ff76fd5ab7b73fec6d1463bd265b1dc3d5f8c18f83f98f52394887c3f27fa31b2616043f750343ae1fc7629f7f5872ce5bebfdb5afe95d2ba8adb0b86fcb5df84a14be998df354e71f4c47f5d703c1ce1ffc529fb54d784ff1bfe0e78130bd73ca8be97ec1d87fea79d0d7d6f25762cf336bcea2b7bcd8b6f5d69fd359e7f49af9f3a78f1f5f5bc317df6abbf6f65c09f7c5fd76761c82631bee9616ad5dae07cbde1ee0f33ccff33ccff33ccff33ccff33ccff33ccff33ccff33ccff33ccfb3062b78405114455114455114455114455114455114455114455114455114bd77b4b57565f53d74608c3285a978eb3819d42c87a3eae89ddd8cadc54b28461cd397909df1a8083ab38fb497bc45863246c91eb383e8339fc94769ea41c1a54a10cd71f34beba7a3e258dd29cdce5a6bad69edabe278eede7bf97d616d2588568c31885db5d2fe97ff3a3995c59beaafe91c21d5562da952f66b5f13abd45a6badb5d65a6bb5f65e8cff73d67a57d95e150fe3f16b317de388bba54573317cefbdf7d6eeddb9a6f9690ee33a97c9e5ffe8d104eb35e1833d72b54aa9d066a50279e56bc0effbb817b3a1125259a97aa4a870fb483d7040c6207184931155ba1441c4deb7ed79de0e73a4458b182a43b0ca84012344105f522f5dd600716f5213971fb630f9fcfcccf6d6f269686335f1e96cb3be61ef58ebb6391a3364326e14970fed4ab6f0cd2f4244886759666cd4873e095f0da6dffbf6e7ed6af43b76a4b85787883fe3fc1168616d7d02dfac9f87cebfb4329f6c42ef6bda1f1316d3fcb0a4aaadf36699d13cb2c9e309dfac5f2fe5a55fc25fed5a6b434dc3bfd7ff9b6526dcf11d7d47dfe9ff8177fcefd8f13bf0c5f91fdc5f7eb56bc155a84af1caebc7611f6cdc618ed9d24a953f75897880b3affd129f1fb42cf6a640c372a5071e500ea2604aa50269a795d0a68a8d8b19391737426e7658ac578bb644db81c88b464507a52939488942f6e0d013238a76c30c9096648362c3139f9f9f59adb556279fb2ca7cf963792e0f3466c8784d06ae491fba8b84a688d43ba53200fb2d7d4bdf0edf0e5f7bdb188a5d36eb419a557b67f8cacf1cfc40fe95e5f8459e487975741d0122abda27c4ad1fdd1eaa835b30a5896433ed4c2b59993ed88429ceaf1ba1bbf387257f4c39e731aabc6a5a35adb8acb87c4d7995cef0a1da0913a425f686003eb6b6dba7991feaf1ba1dd0357bbfdabd437a8e840ef4ccaf55c207e58362bef9480f23f24cde7cf3b3e123a65767fdde7beffd198b25a2e97fb90c3fbedabb190b53bffff6f2f0cf037f4cd05f3e9ad046a3e1fae01f629785a1b7376d061a12ad094d065a0c3dab1548631282b42536dbc585c1c5fef46f37e35159f2e0684253228621cd6485ad32ac7dfa29ed88f602cd055a121a12da119a91d3668b412b12837f105efbda486b81c6026d051a119a0ab421bcf6e98b4f79ed539a904f43db6d49b1624cd4edb68e70eb9aafb5ff9afd27db759dbdd75a7bb550c6b7c3d576f8ff31be1777150c9071a8b4cc5d4d1d08a0053387000c0c8604036a14e538630c628ad107544287c3d7c803086561311c320744e1503818464110c4401800900c02010885221954a505fee68e607b3fc69fe593a665aace25e28714ea284d08a0a34c63ea40f58a68d498bd61822a12f0a4eda599fda4f8db93583732753390d10db4f5c83f76815cd6aeedc96afe888be658076cbf7e13dc8d707a827cc7f091c7fe4b8538316f61051e941c30c82b829f340962308a0899dcc566d9f00b547886f9e4a56d7298a16c94307a4cee70b9354cffc6efd6cc2eda9a2332cbbb8ff13186ba3982cdca6fca4a2425e946d7d052b4cb1037b5a23ce6fa3ac39532504053177dc25100e19390aa8ff22aae677d487053d675675912cbaf5e37c7b11594998f5c65743ae83a00583c330bc371e1d04637f8331d5984b09b9f50a174cfb85427d1935f0242fb74311f076198fb2634e7f172298061b5e2c5007b9b081e5d67878b58a30821a9a30492118cb3e0cf36519f64e5f56d2563497833e6e4d78dc2f5e62b550a8e655edc773104a000f65a3d7b1e622415ab16d05f633bac9dd82c12ecd21cd64b2205890e7562a31e005bef91e9356c6dee370af042f467725604176cfda0e9fc48b21510320e2b75191b2f86b0d79e374934cc8d2f7cd15bfa2e6031678a46c844239f54031e09caf128eadda9c6e89d4dbd50a0da201886379a5d3de6a5732cb57c54a68ff141c2d673f454cb5112550eb2afeead023f3aede4286d1a6861d021eb573ca4ac27ee3bd5074b232455a3e49218fa080b6281f977a9444e11b07120ff8c40270e46e170efd9d725aa06552ec863b61b2b09a1b6124e1958c1b176ec78a64b5a1800ffbfadcd7c1d1d15a3830eb1342999437b6fbb7b1155a74c3275437b5182ea97cb46c9acdf68522cda6410d2aa708a9978a6633ce98061b2d87c1166fd81c04139b7ee124e1e63e546fc39d67878c1ad3ef1bed088c120342476ed317ffd68d5f77cb267276975ac637b3abdb527279801e91b1698b8a6ac8b4a3154b941124c0aa24624f4f4c435943ade1109bbad2128a1d3d6877e98d4744565caa0ab3283b845846428b0d2fd6a204e6eccb317b840f41219a4075042f9b24c7c3746008b369bf67a21b53e980c069311041b88891984450a2ece3c6982a4f07e7ef70e95c4373f4e2ca0bd43a6f631780f95568c55dd169dec269d4a96dded2ec0a7b3e58fab57c159562a05f1836cc2636648301b2b6b092363cbec2d5966fa60e4a574df44d96a69909b08627f2c3a5913be842bb71c09489a0f245e24a4a784a1f84045ac6671e98cc737d05e3f6d2c3e1968ef42cded4f45c4b716158ffd91e8a631721d82b40379afe0cb1ab4139b1697f6e23880d60a6f6eecbfea474c3e072a65a0470d5df49d4b31d699708bb7934002fee9f94a7b21fe97acb2ddd02d6ee8db82a2c58299978b9246fb9dc2ee0486059d7ed1fb427a34b1e100ad8ebd4a492756acd0d2b71e91ae54e4fd83d32d414f61c55d7289454fe12cd5be126ce0e7e657037d8955f0e7d47fef09f38adb85d756c5e1b055431a04b287c77ef77642e5743b7d68da80ba801913952ae8987e819288fd5800b81b6613bd7dd55ee1ed9a14663e1a9e65a917ac709ae4584cf3be5c0ede55d858246bceb2eda041996102d0e99e449445bc8a83f56d1cce0a37477bee942a9c076d419528d6117c92970f9d3449eccda7cebe67d287d2197ea5b82d318a7d1254040ee7c56bef69b2e10f300bafa119fc04478d224fdac6bcfa04eae9c6c0350e2ff3bb7c61d971af76b4bae4e3f1039efbee2613ada261e3ed80da7e11854be2777be6ddaf09e89efe47e6e635a33e8d6fc78f431076b7f3c92776a089c982f5ea16e7185d23d1e95c32ade03864bb1399a042a2fc5822aae2593255c71bdc5d19530abf9a7981f726875859e61857ea0f3159e268de852e818ffe91fd50a4f9913bddb265f17d580e30e672a6ba105cf234992b0c11001838f6a2f979c432298a7496bf00558733f3b88dae5601bb6de4a059e9df94b36009bf6f7660112366b4401ad09954467646d22b38ad5f01eaa5c400026965629edc688e1a1f5a53818b6c4df2cf6bfc57f159061fa266b725786d80945f48731d74ac181b603ffaf362bea468aba925b3234d1008bfd0258b2d5d36cb05bb51c2a543c7ff975b7040f51d02e39b24613bb47d05d38f2a6cca674830fbad53b5eb028c039bfea37b4cc7934f2682d829b40060e6f3903552e4b4a4ffff15222de93b65546d5bc76fe890932487a0cdfed3a243ea19c12d435a268b0fcd26c8d537a0efce1e748803e310c413771c09a6b1665579bea3118e96dd6bf281f2d00fbd0ed637ce716cb4ac9bb0b74e40b0f68841985a1c350c27b4907217c8f6712026ee509864c1d984b786cb2d7c506fb8079d5b994f0fd8996b014b8116ee0ac2ba94b7074963a674870f20cfae7c772ca33d8a18abe447b4a56884d76e39da7d8f8d9cd0eced6d86733ee8c6cfc9b1b682cb418327bafd054dfe86ef5e28c3eb237d8592b368a718ba31fefa02e502d7c56c4cbcef3f793b8fa24437a6cf08e58e15598caa2282293e9da8196b528813eac491adaad3ac3100bcf970118c91aa6a23e94d3d2bdbfab4bcc6e41e63e329d36602233691b7b8370b9199eb2962a7eb315cf638dab717000893fa6b964ed5a645dc8fd65a960c5a46f7dc41ce68c653967af2b862738c33b97decc90144aba5809b555c7c3a5003a33848755a3653bcfecf6d94b41ca45a342b707602959748439b374949e60b5234ddda507b0392008fa4968568843b6e7c6fae5c499dfa156ed924753a45f845e6e5a40330db21a9d3a7e9654e1fa953cd9a38595b8dbfa0220d886dd9ad2596463779c4b309ba962e055dc3d4e06ffeb09932cbdbdfbbaa273a79813d061d761d25dc18fb2671e160ac3efccd2d270b121df46fcb92187188b1778f328ffd64ec6a167ec753983da7ffd0f1c6af851588c6a1b0ce85cb2e604e68ea353775b68adce8dd5d3314e3d90b58e22462aac22b9c367a533577d34d970cdfba385f62b82c259f649e50132f8e562887d678ff49a172b39147c8aef01e65f3518509949de507c136ed5dc9d79506011bdfe888c032574404b6f0ec2fee7e79db82d2a89be0efb217591236ab9b96316ac5ce270d51c4d55feb7db42ba8601172551a6d6b52ed8ff115f9ac43660005a7da3d9d5fe1d39c0042a431a82ddc90b583e960d3e2e167256883842fba309ef54d49c7c94b4ad22a77ccd4be98ab755f4c4e532a88dc02c71413fcd6c0c0f0afa4b8df9ea73d82cc7cda94462061ded0b3bb2b707e1a2890353378a143a68220fe84449c214cc977c0f7b223ffa1e8a5687530f383d5c1fb318f105f480edd0867acf7bbb64e8f222a0132ece9b2aaae2f93dc480cb30975f1068d8f800134d82f208f484eae06cb54ea1b3cc1c54a9d0226c06803b4acf893c3c7f825028d2a4fc3a41d25bdd46cae9d8ee434d17070f11891fc4ebd642aa905d9d81275d9e0f1f9e8071399d2c96672c93ff7dd1ce37714bab5f31be10cdb5ea0d89a50006d0925b26ce062bbab49d75ba77ff30d1046f68289a831086d191847942900d5e2e47fb4d41f7e164b3dc09a0bd2b6cac3601104b991b97384bc55842dc6a08d8deed78304e9819440aedf182d0bfa49176849044430b0c191ab402b7e9fd2016dd69e907cc240994aca7f409f09db0f07e6be3cdff6eead0f33b8f33ea5c19cbdf07a034e2600f844c207e5befa0dc5c22ed42c5570d226be3745ad833c3a9c579094cfd7a55ece6353771159b20791b538af49d9b4e5ca12eb85e4bf889b6e981f66b502f202cc663de6132bc4a6c73628b7421e2c9a586db98617834903a9405bd02d3636bee4b00263158a2cd83ac7ebb806dcbfc866ceed54213dc6b914dbe0814c48f27962e4d9584e991e6020d23f77261994af43747be40087282edc61b79e33f7157fda89679d6345e2aaa0e44145d1033ad52043df738ee1c9d94b2fa76e45080b4e24d175d5ebf10480442bd126b88932ad1788bdf3c7785139ba5cbc0b4d5f6122f958b79814a501b8570ef8c4f55c05e284bdd55961214ed53fa3ecb31c3d23fe95f3b76736b9fad799b605a5a8e8e654fd2c247863d53bd58dd6dc0fbfa610b78ac42ed644ca94e610ddc15781bd0ce0556b6959d268bbc1c79645ecd9e691e44a2b4cc6a08a3ad1ea605e1dd86de2ffc2249c91f9380c9e90a0c3fc500ef42f4056633d96a7c3be76afbeb8f8ee63f40737af66c821583051a83d792b038e88593a556d0345fa9d7a2c3033c4dfc3e5ba41b34a05f27eb1d995f02903a9d0ddaaac47e3bab9b993be773824a03e47be544401dd7a474cd14840dfc2a741761bbc8daa94575b3a20d42d9d5306bce269554f0e943159183fbeb096c3428c26f1765998fcee0ebbf173c445cafebe876c4ef6a1de43ceacc86f4d03325828476ebf33be499cde7f3bdf1382c0229957517a03587dedc1333e11c5587d8a5869653c464cf8a4b307df184153c29102a163c1bed7c10aa56c433caa6219e1355279f0cb3af01482a02a4c19035cca920268bed9b069d5bb53d4ce0c44730713c531eeb08066be2174ec9588b2b469361502675899b91428d4ff08dd4c8de23d0be941c728a9658140f708031634e92db2541b3868ef302450a8054b4667e81761652d8d7d086dfb1fb80e2894afa7123cbe6673a3a2b0047a13af8042a7b4a780c33b5c82963870a6e8bd134827ce9bb614507858db0f83e99067d960aab64f5343b35ef8f4c05472b1e639a289143e45bc417c3d5d75de3616a42dba73407323da5ee9b6c94158cce4d24cfb0bbc0a9338847751711be995a650a1b22ff8169689f13a50e73122847813c4b79185a12883a8cd1db3e47c747018392792d32d0a87bb7ab3552abb4e7eae8b46d4a7b1be69b4074b19a4371d48a21e7968ef7940f6596b9a7f66e52c222037329bda4e05af63dfe30d2767c51270d443f22d6b0e7bdd5bac04dd246523ab5a6c68df6510883309686cc6d54b65df343012ab0f8233b2049f605628da2061a2262cc795aa973670f5d951f7e9925df8c4475af87239bdd1e6f83fa651772f9971c02c427137264d7f9602f9c916918644b0c9dac5b5272de444c8737180621d09416e4c71211c92fa21a77242fcf6a134ae52e08cc03ff41f750c1557ca981fc0d989a669cc186189a7715d1835e6cecfb9023bddff8387d7424d0c5a68bd74a53bb0d4920ceed53cf9d9e0e57392c0b5a037c44822bda1432551aa1f310ac79210e1150b9d89d98b3899f919e261dcb5658de3b7a110b6a2b0d38c5c330024343bf85a134d6712f0829ddd4795c7287a8b3bdd2406920695d7b6a96df4491358177d41f5e2fdbbbb90e1c22d62be49cb93b19b3b811e7fe73b0f2a0ddbe4c517545d5aa91b1ecd67b919f482aa28cf60f58db735a497740b0576381fbdb822c7f3a47b8855349927a11a02e0cbf1ea58efd6c80918e35c303eca6c64f08966731ec9bce23f11d827cc8760cd0d5fec201f8675240858a86f079c28440377a3a9fd470a44de8713391b192965ad0aff5ae5d12fedf82394590ab90caaae1b456ad2c71d48444fa998272ecb68c2a188128a3c09b91050061765b638566ad3719db8b250f90a7ed123d0fa103f3da164e6e3a73219e577acacf9a18f90fc1292591473492a3b3a2fedf81224f3106279522417656ad3c5058518598ab1244aa01b65b4e1e05aa24d8efbc4f5520aa43db8da2b7560974a25efdff78d84c8a86157256a122c1aa3eac92a99bfc2fd9c0ba6136304ddbea59e744d82296234f008d859a44fb91c0a8a9cf405980f64692563976c476a84547e9f13f0a195a192738a6066513da4930068242d72f5ab1fa8bb97349247a742c95547f754a92959d3163ae1497143c9cda6bba3d8fe5a230daae908fb98ef19482b8d8f057b9d6e29b92bb34f95dd8fa1f251d60a8e45618109566899bfd8155805da53f8220b2ec7853cc210551edb6c2c4b0528a449985cc985f7ab31b328b651c9147c95c8e0418e0af06ba1ce5f226ef2d2f3bfebb53dfa04c546e19153e4bf0b3804f63b5a3962e261f5930bccc67834fb6307ec051be0dd19af0462b4e4a0406b94d901153c7905627c849be1978fc031500c65f5a22933830ce7f563cbf0355aac5b5c31d073cc070dce282613436bae8c2d71dc0ae046d936eb9b2c4e0f24e56f96aaa9affca1de58012f000be09e752525e680b480d54110c261dc2f67e17f2b973edc3b0695ef40b90cb71d48ccdab73e08d1b1074c05bd0e6108cbdf50f59623b284a2701d11b784e52af809a2ae192880dc385ba684bf576b8fab8e84652874b93c14b1f5f3d976c384f3a9d7aaaa0dc71528cfb5e619d9b6766f231e8f6766b045ef62feabd8249f29eb523a524b16e97bff2a869ca9868b33395b9456cc303fa2099777a0217168d4807045ddcbf56b1ab0fc6b048cbe2ef24b28f29c10764b3c2bf5ad470f29c5dbb7bb3464dd88434bad219d02e25dc4253985e6dfbf590acf3709c7e5e122b83ff9b2d1ff8428de56779bd98eda42f1d71b9b9c03fef2c6839de2e086298a958c5cc4b7a77c046768490d9ed713c1874d847c10ae8e0fb12402de24a23b5cadd0144436bc936c8bbd2ad535ac9784350a387871d72cbcf2ea0a57501a950154fddf33604b6e6a23da26f5258b01c0064b0385aeb72df4c29fd8253b9ca0d86dcad6d38c752814bb081438a642e338c31e0d9b37b8daedcc497cbca1ad21bb6ac28c1b35d018ec6b90388fe74b71c4c6e68a8197450127190df6ecaa59f4e546dea559cdce24588c97a4e4784df789eb8ee499ac4428445046a85595c7c2a087193c1ca55be7d2a7c1fe8b1170af5144f5390f00d70f3940126fe89898372593274e4d64fa18bca6201ccc03cfd1dd73c6fbaf26fa69148c2140725ab6bb4ad033e69cd73787c16373619d2e1df8b1ceede6980a8da7cc7b1306aab8ed444c7d23dbc3db60cb67342e7b1290ed953fb836e89175b20e0505a4a3eac54e132c1b0a0b797fb8e1a57e7603ef732f5ef2e722f66e7cf4435c3fc9c66d93810ecbf676d62c42776444600161dfe9526f8e8d22456507b0164e1baa9d13e7afbda6b2c59b0ca135208ac8504a6fec5e140915d1a48b318eb17e9135122c88ce4378a95e52bd738984814a8fb0405680de04b1c66ec0d04be276150c25db90b0a274c4420303a090436a6a5018ac1a30c2f9a756e9199d16e888e7a06760fc77a78443f0bdb86ee69ed359fb8c5b68cf2af07d5344aafc337bffa12523b257f0f70f8c6906b518f7eabd785785db8fcfe11bcedbb8c58d3f60403745c47a199d16cc819712f303fcf671ea6ca23877201c0b9fb68f3012ab17b8e82667fe058ae92c63fd5ed8da53d6219d889b86db0cd66fd7310c1ae9dfccb8b26629c40c7a2faa214033e1ff67f1c0154e2c9d271bf21501efb1ae32ffe3b28e46edfab4b14a659ccaf582bc97de9b53d60ddb626532fde3a2cdc522d4e6bb0782213ab5f2fbc4015c60e03b8bba8eef5181df253e97b372ccb3242dd22b9028cbca7e1841cb1e6dab516a168e10c139f837573c4ad6e7b38dca003082ffa0a09766b1a3ac3b06bd083bcd7af37bec3c966a32dc45e953141128cecda333c2411b43a581f90f4df3f108605159c5ca14ecc57b30b029345f02cb52268c8647f6197703f0e85b87113ce2c03f3e58cdcda09d81a01954fe008018fd77948ef2d81c70793ce8f7161e13ebc5842f5bdd1516d8d22ab923377676e54028d88609164be2152cb6cdb101e3e502ab7e499538f50e5c138e683527d0bbd5775a77c6f76e8b7a43aa8b8a964a27e1d57a75456364234fcdb88582917b563cddcadd61aa88f713838d24720f74968702200bdb31a8485e62e53af0858b8d9f56e34d3a884079344454cb0469693ad3281f1e225052a955e301ec6c9b205a45285b378d459cdd168cfbe66f22d2bc5f37f93a47f134a87acb5c99214454c91b543daa4e1015e3e0e420863a6613e3ec585b823913c2d150310e62c27b7510c3ad1f7709f3fa780419bc2f4e7ac00e5047f0d979d7dbc73ac3ce3eca5857203a714817c9b119ce062e451bb8163d9b910358de8d0aeefc6b70def46cc68661a67f9d1ee5af1d986dc4db9efba8fd6fb387defeb54fd5d09e502d0f597304eeefe110c615f5f9aa361a54e4fb7fd80427dbe07a62be00886a6d9b0b10790c4983dfd9e9be86d72a5587d7d406fe47f7c6072a1579806dc3bc3e6993a42e4d1f6e9a6b85998ab7fd3c22d4e60045e17ea2e975dc1e5e127085f80cef12a3fa06129baf1f2040a7bdbcc2795ca6fb9753f77bd94971ae11e2041beac1c741b99724eadb1ed735d07b8217056c4e1d29bce1484455b1a30a5c0e3a3c665de3b690e07dcec81187f60bfa073d59b62385636721234f06402738506d050c3365c32e3bfc0b30385a5d14957e2667afcaa12a8639dd7a2ab4c271441e31fd4f7dfc05509c7a4809a9549c076242c6c6037272f880a796c227c82c69a0f0057c8a1bb404979242fb611ecbfaeb831964d995a6210b23e8cb8d2e12a43f5b1ae1737175ccd072a386968753a59d67827cf65ace881d24732fb01075014ccb4c9099b92ae341c633af9c97b084eee77ef4c574bf58c68cb092f78811b6e58d40c2083b253760963b850f22980233971b830da2d61f6097a278760317a0f9c8a02105b3f4afa93f8b93766d457df9343781c26aad793a7e5065f1de0d3be43d30682a02a6007ff4500c2f8f166e680e09f04046192fa4a53249ec7126a5962e974300c15934abb54a3988f77f8a41d0ad827a0a9d25fbe9baa970e216f226dbd16b19a5a92e225b8a76c5653ff71165bc8c2ddaa0254493193f8029280d92b424cd4e309392530e9bbfd0f4963d87baf4dad1d2cc1d006967dc84dea2a10768b240f3bee387fa986befb11dcd947f64cb75d3aaa5afff9a462b02b98b4d71fc0828604f516791731243d37057083af998d73599ccbde1c896ac60810d4e15880bf9d0d949ce7f49ab5207e4078003b00caac7cf89b3852ea5e8136e20b9a0071ee9fb118138d56af2d84a882774d158cc8d9221a1d126980324074e01d6ee71c6b613c2c5e3c6e271f1c0fe51392dda4d9813474f19b09aca4694070a1831f190507de9ed8ad39aa2f8fd0438025dc7aad2678c88b545453a63e7cf305cd4c2f5dea27fb4ae9001ef988183f11993e50153c4b42fbee89f0b6ee128577f21ffb398ae1b5df7b398287de9a7d834b6208dd83742f9c11e8b708c45f4471e712b1881d804519742fcfa2405111fa0b0ffa0acb6518b9c906d31f4a5e97e5356519e7ab773de9d2b9dd6221bcd1a3d8971eb7491deab0b9fd39b93791fc0f6dc0e6ee4cfa4900ee3d0f80760fc10bfd57c213de355c81e0d1bc421a2d6439dc939c46419bdbc915144486c51d14134214ee6ded41e0181d013526f4295e2a3771e59dbf640dc6fbc8f65b72bf3dc6b4e2c79ee81a96febf2cb14c8bdea24b82bd799efae63f927b9f4b6b203e1e2a06080c4a747eedc5844c183552104d9f83ac1a7ec6f3eabe7274d0331e17c548e3b4b84e0140b6cb233966e8332c470db5815a3f065ca0587fd6f0bbaf7c4c641d0bbd87d0c92da405947aeb3611582ac1dd90742febcefdea2d4135bf1c43ceef48817af5401c1b7e12869ad1ce800a78b46e3aa66207e471a3b0e3779fe11e3ba7635ca1280615926be34a140e0095e32cd5e71e9536e3e69028167ef285358f4e57a03a03c62f4f5b6234bcbe10265b8a657ed1ac428922f67d80545a8f6b5cd10620a6d6dcb060d1d97ce8252e0a53f2478bf7d28217488c45ea623618d52c0a87942e15850cba929cfa4ef67b66db928be0f3930bc49f842b6316123f21409d1466c6cf94a4142a15f7aa5f429a85cf10775df6c329a232292d88b5d2320c50c68901bb3f0048e9286e97d6332961e04a9c789e093f085b651cee1b52fe45480a0e859996ffa07ffd01d33ee45af9992504eeef8150a3dcc0b80066194fe2764fab167636c7fc7d74801983fc4b9d257c83cff0c6f1e350b0e316446ce9e5f12e5a5ede51f4371d0d3d3a30818365dd72608c2bdeb974d60a7746a2c42358e61a42831cf25d5b8f698bf382a0747995c3663a1eb1f89406cba9660c48f0dbaf5fe3f05d5e32660dac6f400947fdae33091db67ee9a17a4d61f19a03e22474caa82e113ea8cb13a64bc8ed75bc08f6cfa78f4fe0eafcfc3e9d563f441dfaff2e43d838282eddcd8652f7087539d0e7af46edacaae6154abd82179031ef7ba612da48e970ada9fa0d442e4c23c2e1c536c9c2e5a2e8d9acb47fb792fda869239e7b086daee596c76347f735fa2dafa53dc1b274475205780e014ec715fb1a9cea4f7aeaf052faca12e1c81913d50a9cf8b4220b913c7be9d98aa5f9361e09888c52cd2b75732daea86bfba19a1fcaa8ad8d5b13931837bdf12298e589acf6810b27cfdf05c8d4f9272e73cb2f1c6a3b29430683e0fd4914da60da4bd198660856e23f736ff970360e61e8e40fce5f6f430be8873628bb4ab4432c1c85a70e0fe5c8a9d9c616e71e101db717175b4804f2d516e7e12fe8c26a0a9d13b55e61378d2a1a2a8be10ac76439afe70b5c1c127cd65a41d65dc0fa6dea44985058a9b8350ee4c6f1eecec8b45dacbf847759025960ec35636db4cfaa1bec970fc889ee7436163f63e6d5a71a31dd70e10b2af9e00db7f1123d0d8eb2c914e322a2a47185f5b9d026bc9963fc07da07f32b2ec0024ea7ad8e12bd6091565b076cc2de8c99376d898a2079b39798fe00291960dba380c45830f8a623de9946ea69b74b5dca46f2270e72a2d20417388225713f021bfbc27cfcae8a4cea1643246d7aa571787d0b3a0794677ab1274a666532fc2cb6b88818c5a353e332ad79c52bb9b0d4ad92921dc0405756972c44b9c3185109bc6852801c225a94be172413466f29b0f70b08522d59f08f7da7942a3301b7a883b9ee003ac100a372527272f94dc01e2dec1a87144c57af6b287982c568e4665b93837864d5406670ef881e624ca82c6e4fb46f0149b3664142a6d3a82249fa836c36a04490920f09cfe48b707593e228b387108fde3da19e5c6d0fc8eb2afb1a00a8620e121b17ae629769de99df4be08895d02adc14af6597bced6cf2cf6d571baf72788f1108682c2fa067e6a11d543baba3a797cffd53cb3e1faf64e3ada4927e73269347089d36ea49e5f1e1ba889496972d1b9dc6fb13993716584f3a4374dcc1818082ac722a647e338e5861f7a2c537715b8c386d09014a9139084f96a7a9f9c0822093fe5e6d69017530b9810737f265229a58da4a5a4c9dd6b144f4bd20bd2b97ad5ed7e1f077447ed3b5d1e43c7f7318632fdb29d4e6f79bd0094bc678ce37b0e40743a0d92218af0b00922fe6967e87ef43989d5eb23cb20928e1b55ad3a8f0ec47dc7122b825ec51425de9b111adec10cdf7f1e2dac27d54010787ce8b03c9e05260d6cd889414130d7cb1676929489a126e207addec117ce24c1b30b57200b6069235a5f9d5aa948c71099c68876a8e223a013013bc24da6219c7ddb08d03f7a1e92dc816bd87a0839c1489977be4c6060bae9d30c178e6583aa42c94368cbb1cd835683e39ac33dac97724e6e57254cd2e5a00c1d8279eb6e0cdc4be8b93f36b95d02df68d446d06bd468286d42c0d07d5ba06564bd3503ce1ea21473090830f7ddb785f4ac19f9568fc90bbd8b72314d5e485f2960e9a9ddd950b76e2ba29e1e2f53b4d8c5ca6f1da78568de6406874287039d6bb1de24385d9cd9f834f8814d881bcd0ced9f20883415c86bc36ef725f1323496d41e0b76bb7022da630c3da07a3e3a8855cd93a3f618a99f14d75a2e295ec6ce4d07c536faccabf1fe8b9f14c5411de69f3b31da3dbd664b1912508f1a1c853989c48e2a3c996f3b3443c5c074073822ba84f8086c7f917f727f7ff3a2a0371c6f0a4e6dadd5f265a38a4d651b49f0a2b005fb507369b9979732b61905c794a9d7234b6e4805bc6aa6eaf1d50be91d858b20222f04e5b020baa9ff60dda04008eebf0298950d2b706916a1d1fc79de41e7ffd02944ea794eadbbc3b11082efd2a0799352998050cc04e0f520230e9d143d7128f1cbc5c39da30bff4d2fadc583029f254895399aebb3114abcd608702534184064423833cb7fff3b54f5891067fffec7ff5a4ddbfd453eeda3e726affcaf75522c2a23d2c82a3b15e31b0c68d6c3411550879b38c8d493f1a103404da9e93bb25a8151699962e6aa63d79c665e5255bfd4dba717d90ddce8ccb8178e5e9c779052b81d2008fc2501da96802043606cd501727fa129c6dc6c04c4c9ea54dc26326cc374eaeb3e14cc98af2613075f6c707869e1a7ccc11bb83157c2c96a6df01781b41ee56e494a29a54c29a594524a320a02fc01000211525be2f093266a8a0f44566c0487906686741601f9a106cccf1999260a0a9455b04f9525a9d4842c272446aca0085282b3a11e3dac59190f1e512ebee7d22fe7ec4d8bb45afdfb0d3603beeb59975a8195fe29f8f2f7ff272daf24ed80cdc08d4477252db9c6c0a9f7aee503b415c14f4fe8c841e0d5ff5b33320d349148ff72ce12cae0f4d28ecd73040f57a679efbd38bd57cd39e7fce2adb52edf7baffe985c7ac2c2f9dcbe3c71fa6927009c06ea02b7c0357073ba0447596b8dcb5381599efa97f5defbcc0e20fc8b84c4336020679224499224293891244962ac63c20dce0d0e1a3c80707288000189b450e18287133b34d655fa24499239ef9c33c6586bacb15e33ce5aaf642f61c2c4098c73ce1e0851516d8c310ece718e21ee1da98704b5f7c97bef7d3b894096a34a195aa02a45be90f4d524ce22fd3035849ed6351a5f23f5b2de1957a0e6e5cb9fde66463b966adcf02ccd30f22dea6ac06077e53b7b22140acf82595851302b98b50727149a58b4e6c9772efc42fb35afaca7b0d4f7d4e4ec098c50283c83ba8b7c675943f25916942ea1d086b0e695086ac917a2436786ccb8f4295446684957b148261c74bb2328d011d01f3f637dcef864edd193078fb1582c56a95183d879dfdc96d6f37bcb1a30d87de1d2f3121bcbca610ebe7db74e5f38a8a8707af37dc287af0de4b4b5b59587f675640ea73d46a73240a73c5b5b5b567a323e60a51d97274631f39ec9c6d500e5cbe018c7d06bf6bd7bed7401eac872b85af5ce5a6badb55ed75db6792bc8e515b0a197516d4fff4d1c5eb5ddeb914ee735445f3b8acc6b4ac1cb190c0ec8d4a5e254fd3c0001704c5c053e53929c2ec1514d4cf7edc858394a0e86fdf8639cebc8b13817f7e263f81777c3c3c48a7ac6c8b8d618c7da40fdd3531aa88347b323f038a67f6245aeb58388fee99f9ed2bfeee3c074c5b42fab33e9ca13c36066e6619268fe905640f2bbcda6f61dc67fbb775b1103ed88a18628376679147af60d76cfac39d3966db63cde6eb7aebbddbae270ffdb9b774ae076bb60a9d7ddae0fd772b41ccfed9cb31b4c5500b4ca5f62f868f5d48bc2c42739921844845be4af132cd5a5bccee3f14e0ee46a6c52a4d8ba04114af403070d4345329111cb193261359c8460b9f12c8a40237c66d8490345c20122468d970f24556772c5a52739a33fb5a9e5b593e5bd5b5ef5ac75cf2d6696bbacd6790b18b3718f2b29e2bd77e35bfead8ed49d6fdbe540ed5003e7c8c9d193a32b47564b4c7a3e940cf5804c09b5a0c4595ae2ebcda092aa6a8386c652121c6cb0be940ef572f482f4a29690dc8c2daeca626d0d4e164ca66f17a15049bef75eaecb3fbf4c7c296ad5b32c51aca26a9aa6a9ce1d4908105f6a5af43c4fefbd4751eb558ba22a69cdbcd3aaa9a2ebf5a6aa9e3a9fa6699a7913f2a0c73d4725967faac236ead5f765502abf1c9a47be892575fae8303804122af9983c58c7a9cd6956c6dfe16212c1b23a0931b3299d441148e412e424ec8c59c10568f6c77c8e7f2e490b7d354a15223563f86d7fbafc8e678a4e9d6fb231a9fcd4abfbfea9957af97e0a1121562bba8ec42eab1b959446b3ce17cb59637bf792d7262555a8f0e0bc1538cad7f62bbefbbe75ce7c6bbe35d9a597c396c3fda0bb77c4e5702db647f6ee1b40c7c5799b60a418a9e79ee68b8cb3d65aefbc37c79ba633ee3aaedb3acefbfd60396c98d0a0ac0dd0ddcebdb51cec8a4bfa151ef4f31f61e0e91717d7f9e457e679fe710b6e2b0e67fb8ba367e29ce3fe4811b518a990210b93bc11969d5b65daac773db4c57a69d1185e0bb453f677ece96b79bb1a24d68aac4e1659a185ad7410236af5fe715a5130ce0aa3b572490ec5f86f6f337fac76f556f9bd1562cd219800778c9e7cc988593aacd5c243ec65d3302c3fe010b3e44990762c76a21d45919c215ee9c38688654b799edfb4e2d533cd5e76afa8e7fd9ae74cd1818648250e18b14a87de55e4459ce285884592492deaa58f7e63ed96039b051b895759c6dc3a42b02eaa9029461692637dbdff8ffb657f0669fbd3ff61a97cec143bdda7dd35fbb5579ba0ea725f33672cbb5ad25a312e2b65b57c9fdec5754142f032f66a5a6beecac4ecf0ca16a94d49b181cd922907b6d4eb5ef9defd5684affc2cf39a3d8ab7cf297af25e6eacc5a77b9b1acd69eab7b9b7b9d5af4fde875ebc9fde97def3b3d45ef3b347d1fae47bebac5555b5bf2a1b5595f3ee67e969eadf7b55373f4b6f222afdf9b54db39ba5dfb83c4d4f850a52ce78ab80512433cfadf5d65beb6cb61b1ed114567a231e886ded5ecff52c7dc6e5697aac132027ebb8bdbd3ccdce53b3fcda7b7f9a462f852fb7292ba3d168345631a291324a196f5356c63524d7a51f93010c2929055fd7a4dd95526c12cc729dd7a4ae5b9332ce396b3f1c0e87c3e1506bad77070281402010b839d77cf37ab73e6ffb1ef2be73dfad2aeedfd0d36eb26bbd9b44a4096bda19ebfada6fc6bcebbc7aef7de7767f8dd129ad78c9d62a9456bba24d6166a920cb35cd9234cdfecf80258195bae323d26e08e16887e6e6d68d1ff26dcf659cebe7b719a3ff688ff92ccbcd875e9b9bbdbbf11df57d9b3e180c7671e5d5ee35ed08b669faad73daedcffe9a54a9aafa8bdaf657059caa52c90de6253f06f57f6efa5e22f2dd2c4bcb8397b4e3033d47655b057a5ed132b00a184532f34455c038ea21537d6deb7bf3366b369baddf76eb8826dc14d61476bbdd8cc861061e08d2c8c80880c53d1030e5dbedcd92ef6d5a32ceef79038cdea8644d5f9c6d00738700080c04449238c7511840310c7350f73461c642988d061086058783a283301c1003c5c14020140a0242010020c3400c83913448f230ba08263387c038e09eab477c58b12a8aeee0db4e9c0c8b69e84d2266d1f308cc39cc3de92e9163ff036130969554324c9bafa5855201ae7009cb748dce72e29d9cbc8812af9c8034e31d04b22b336321670cef8787a873d6014c2b63eaebfa79ed2fc839fcf207195b02f55f34bb5667ea1b5d1fa96ca191aaf2cd350b72d2a7bb340e57fb7c6a11887e5ea802f11a2c6fa9b482bead8252d48eb85b229f9a723c9df01aa72fb9d0b05463371fda611f030b85a47e9d7dbe393b5ea6220ba66abfe90cf9ad879f7534e2528194c1a6e2126f10e403a263b8d793be509f80e10c8d91979e2d828b2dbd2c5cd5b29c698ac4a28f608b9f4d2a1a466827764b887e86bb1724862bc96e4d037a445e8e8e422df8749cdb812ae4da1926d7c2ba3b04d43c4a650b90a0ef661862f9ea1166872aa4ffb3e02e7363e78910f8dfb0ead8cf37bd1a763325e3ce80a2e9100775f8149b3bae2341898d924c22abafc655425a7c608cabeae5cc03351f9b9a4118d0caa70410abc538cf77e0830d28c54a9f2d3653fe462b90a4761985e2cb22a0abd0fceba738f7da9e3e395d3e47e0251740410276dd7e06af6f79a53c5aca744d6715bffc9afe841246cf0d007f5698c94060b8c75aaed67d7158ba343fd1f74eb254f0642849d6f15d9ded2597bb45cb63bcccc427ceb92e5daf2d5a9e3d71a1c57c20121397ea54398b067c0dec1532ed956a45a82d0702f736391a2d97a9c16e5d98fa4cd912ed4c40cbd6e80d767e0f2e06a14ee222c60bab25a085c8ebc7f320ff2be25c38b15dbff764ade2dea54bd7d8b6adc536068c687b5a22df2038de8616d18135d012dbcf6659e210df50eafab22c55703b0b9d284b9c0425c7f28290c55b108b40d845b99144044b73efdd53c89fa8b055be821c3ae7764522ade28aa1ec008c615713dc0a478d2a78b0e81606bea4854132168f93610020ef5574675b7a1cbbd280caf3da6296e98b31c6a419f6a92ae97a2b804b664c7bf4a6c3d5b74b4548c4a04204912b765ef302886c0d0548d19c2fed8b5dbb5e2d7ac8edc6ec35d82dbd70f65f3c35c5e839d58dd16bb05fbc7176b5f7f52b2ba691d606850429ebc32bab5a02047f9c880c2ecf2a5f70cf04a1ee34406db7123f4eede6ed3c10ca5449ca88d9ad3c70762b7fcd382db7f35ab2b77312575c459ce1e528226b953b8362f29ad03c07c5087b794a04e5dda9e24e9cbe74902a3083e01ae06df18036bbe9c522adf8fabfa4a0d06f7924fc3132d30de8192443492f326cd261ddf0ce485785ff22b4fbba78c6c6eb9bc1465f4c2814934f168ab4099121b1e2170240d7f2223069d51b818711428e2191a4603597bf59a285a64cac869e9fe883b589ecd24ed130306506a4101749cad6b5c9aa2ad9b0181d862409fdf75bf62499e2fb93508a3c5f9a9dc6d85e884f678f6119ab6f3c18fce5133b90f8a2f8a18c4bef8c3b00734f6c561f02d504ba63132c470be2940392c72332f6d41fb80270a54ec7a3b59e99073e69f06f44c916d97b494fe25d0a2159abc24fc021c0a72b892f8e6c2d7921c21666420feeac4a0158b4c98b8eaf3b9456cf908242a8c5ff81192ddf977daf69c2bd4aa54ffd274403a66fac3d922a5a98b8f0ed6db965b8e3401a5a1588fefba0af5186ebaf8bdbe11750b2ed44e6e4ccd6931162ab5b50340d5fe07a34e4db8ef293384a34e10f88c8235d70de7e90d2ca201789665eb0e2f0626c2194b482bead2ee1b623f8fe928cd2ac85bdfc4c419b6042cebbb0f1f98e58c979bc037217132652a07ccf8ebb97dadebda18fb0e2cc80e002eee4d3e67392482bca904c7f250ea38c0085956487068797350da67ae1bc1005e235f85aa89706704892b1ffd75c40811e2ccfd7966cd9c734c422e2b1245659a19f799ca7ae2f28894455ac5b342f33e999d536ecb5430a7431485b7a2f7c11636fa3bb168819d60485cac3d6d3074dce6281a78ef2a18f21a6a4c9b70bca25b0ae0ced24ef933c76b15665f7fdd0a3da855786f208e9ebba80b09273d8490332379885ab1a2fd346deb781ca32b12384ad1e575198a96eeb2e68cfd2327204d3f16278ab44f0cbd940e2df379a0f057c8e445ae85132ba3f65b700ef969f80e79fc5ee88251a4fad7f75832b6588b1610ea48461f664ab293b085a3ac0307627f9b01ed2d749f35036400e3935e278acaca963c511cf7308562a820749b0ecdc4c541df111e77bca8deb21a6ece85760862263531b874b3d51b742854d6efc159887a48705d69fb0f238c32013d6301b8a64733ace0ce232cdd78545855b126711b4bdd645a02e2c2d825903e2446d26ec3fc0b1ec4634d2c3ed5300169d7379fcd9b7bff0ac165f2951e86eed21afe6839f18254e146ba4dca4996d7041e54ad620c3d28c4a1bbf57bc07ad81080aaf82ce5ac3328dc3bbb178aff763700105f6d8c1222b7290169683ab4132584ab478bf1a3fedbe12747624225e656d318f1eaceccfdd121db555bcc2cc9138b14f40c1b9047a1090d0683596feffdbaaafdda4f960a6fa04f41840a5031464e763a1dc1723cc963d74ee574755d849c08690562e7c115a00d70ab5637e6676b260ba34acd49243a9372e55861433288ad6f71ab0a8c84810f3307a948fd87afe80f15e4f720a384ae2231f32ba39468fd00b890ec4d055814d8025da5a7e6cd74481de9be3680db59c18a122a4d1444d7a002644c16585fe2e8a9c62fb4381964949899e66a49ebc611d6c8e109d97a30eb69e7c2446740004f586210c2d4fb4d8c49a1948e528ff45fb083cf7420f558677a44630dfbbfb2d41877a812a90f9bb3c0d6f8d402e92364be76b312ef8a6dc7fc4b0184f037e11d2b58143b4573874fc4843762dc400e66ac91fee94b778ee0d5364a7d940f6e401bb2275eac6dcd59951de06a79b164612fa70d5b2c485977b992133248b74b4a1ad945d0c251caac4e0484a75c5e092a8126d72187471ec8a41a99ea56ead9c6a72accd8ae8c6fa54e042c16640ab01600811450098cfcc20dab3f3cdaf0621e98f163c2b333f87527ae9f39f94598930b2097effec5d8f3f738096c127b46beda976adc15dc6d5a47cbf97dcd4df9c41b39b7afe8d7dc9d1b9ebe1437cdcf5283cfb032a743d2e7c5ada997d34bf2e8d948328c925118e8eb255344a8391b538b8ee6c87edf61559e428c42a037a6856e4b7318defffbbf7205458fb47e310663abfb2e2612bb5b9a7c58f8f6ceb7c18d73e962fbf2da2e83cd739837cfa4b25064d93e679f7020aeecaa200d593f6320922a10c5f3dc29a481462fe537f6ddc21e7a41d967cfe9f051ff31dd9a29ebf8e8047c6bacdaf16f8fef3f4684672ce6d3b2bea59ff1f0e2e54cc564ed1df9321f5588c2149fdc2f47e201c3d0174f41268ac2daf54988b74f92442a8da92b110f98f24be332afe052a1476cfecb8524b0211d0b50fe88015a4e4a5d95e9160b580e22f5e7e146b05ec0a92105f14ace204210f63f0467f2260fdaac8963e8d8b7fb3121d5ea8d338dfcef654000f9521afd305384877c59cd99fe02551e47992a650be9aa37a751bbb17ca391561d74afef53eb03b413bf273de1dc223e7b3409cde33e145949ad5d3ba00cadf59e4d84f7503fcfaf24a39ee3265aa3c54dd3252d54584b148ae3dbeffc339988dad546ea75a8c352c835d5af65a44dc0f9ec5e4634616d0df128e02ba4be1d8a92f0a116968d913272e5016148214794f9226056cc270661bd0d0ed98d98407dcd1823ad15703860a415f8553c707350a1a992d5c4e4645228f0708d029bf7337fbf7057ea40130f14bc79efccac04304268777fb45a1f0e6584da9fa71b049cd0e642d32dbf4e3e0cd95d87cb2b9dc48ca598c08d7646bcffae49228eb51b961b3d08d7b95f8d3400e22a5d2011bf53d21dc429557c0fb0b1e18e8b16b830f0194a53b8e09ea53e320dc0a927248cad529bdb731f0d980751b6302e9caf8b1d023f98130ed1bb865a04776183ca1a98d96638df6385b9b6ba99870c6f62fa1b4a9257ab160dd850114c77eedd7ad1aedfa3e79dca3fb3b2befcd6b739fa8ecb404b1838167bf575305944194b35020683a5d283528830195b33bece9342bb0cffbc2bb4d2c8d2162aa2a35273bffe9b52f9757f89f2fd4bb4b84c5a1f61770e00035678ecb9ff8962c0a920c13e17c70bb089163354b2e58a16d8fb7b2bdf6033d451b83e2750220d869958a3d674afc1df137325d22ea61d5cf5049d8713f523c054fe6bd6aac57e607d8770ed6565328f39e593b759f377c32ef67f7994ca61fbcbaa0b5b800bce8f112c441cfa9ba3a2a9aad86006d170e62c60a71fc77471956c874149558063fe4193b60b9e0d519968b21c44f221d5c2da1fb844b3c52227e8c1883b3a5e58ab3e4c0fd841ce2e57cde025357ae52a0f5d67c5eefeee84334e9752c3882535d148d4dcc9eb8be4cb6630c1b5e218b79d29c5f15a048472d1079fecee5cce3655273da0dcfe5cf3c2e9e2da1633924cdcc4a3c82480679d63cca90ee4f8beb7a96e24082b13ba62d9a8650363edbf45eb5e1c96d80aa4e57a1680f667e4a2a2794f93a49f384704f579491d8cfcd86f22559de92db156cf90712983869437f9e4c4721482d24936f5423f446054689c5021973c2bd257af53a9651cde5e60a46d6a194a43e288168ca8c45eb8a552b363b7664ec4fc92a60e649391489619c7e4f830b39c0919e2b2db14017b928806cb16add84663d785ae360d07381748446a3754b1c668ebad54f696f438568ac608c43cd3de6f3c5cd4956f712b302a09fe10fbf3f72c68e6c73bb9711436627490b344c9efebb411dc0285ba7db2cb210f83a1305e72e0447d0f42e8b9ce5ea76ca139866e50aba3cb52cc609bbe9963d0aeafdd463aee5419e5447c98d67fd84cbc8426fd4bb28dbb45edc67ee7149716d62e5baca7ed5de47998014e0bb5c84b0b59cebaf532d950ce447bfe565b0260e3e4338345189530c3c5c2103febbb54937529852cc144b9693f7a28b9b88d2de1c12a60e1a3e6c8292c1cd69374614e92cbe80667c6f7cc625647a6ccbf3b561b3163ba8bd7bdeb311f54f36888f0c0dba300c78192b0ea292dcdda31c4ac0aee9c877642f5bdf1d5d5e5fac34af6f9861f1ff43f076d4a02983dd8d62f84afb6173dfb727edef2551db342f5effaefbe67960bde14250b6fe51c8168423d3772bb42cf4f2a28844dc4b7575d19a1335536d31bee0a0c18b244ac438c8c557f35a704988246ebb7a5914ed2de7865a980b2c239f41615ae2e14691139dc27f3e2d90c16021afa9f6bb4f7d04cfd6c70f07279632b536a2e3e7c20b1254ae1cd1c9dcd50fb7859eafa2b8d0b9e9ea333478097c5c5f69111d3ba9d2128c17d179deadad485905342545332a45bbe6102027d7bc68693a0eb4601e7cc25bf895261ddad72169d2d751e5bd809b7658cc9cb8aaafb7c156c33df1b632fc4ad3fc0ab4482025e0e550507a4766954d1d26533794a60b71bac105b3fd3a2a3c90ce63a4011e8908361771ca255363d0db540006373a6912a1b0a2e7f3c9685ae0cf5e4882bf75d499ee135cf9e706100bb8bcd9e27525544c8ec99dae4e0522c6e0cc430daac86b0c1348936de90f2a6b135cafc6e924419bd26558818ab480eb581c2b0c2ac3128625f7023aa0a016d3a4363644382b282bc15b80decd37c342c7c72af562c139e40450cc4c8fcd10748afbcbac45d38da8d4e93da3fa8432258a33bbb500743bc5293c93ef1af1fdda6e55a6f07a0936a51370a18077671be81562e648f9da3d493f639f7e575ad8bb2d9e0eaf46adc5cbf0380cc0eae61f495730a86c19e467fd847f47d76d082126ad221ebeb203ac7a18bc03b06ff037d3c4d37a4583c98a973ea5552828aedd6b8727fe2e4a3ed73fb2efac7b1b5c260629c6d0f959a78dd8d56a4ce6219f7bb5c819d99451796452178c2142f374643096e5ddb758591901e1b75a7d0a36f4bed55e43ed3901fd465c7cc8db64224af148c15e5c97f64914a961662252ea9a8cee25364c4df394e873cd9a51d69380a36dc2cd02dee07182442e554b4afe913ae34dddacc7263d61c2df70910d80af9553a3c53d01f7b967c59fd028e6793413a75b86e7cd69879eae80fccb95343159774ee2895c912c2739df6509847f67334f1d41e23be7b7e01a0a761b889f92f968edc869182f8d9c0ea015b1476ebb1aadcecb108cfbbe7c7bd47bf453b53d7e2109e508c99eceec23bd82be5a13c337807d2b5bcd4b99866fe3c0ba340249d8314ee4627c1c1ee85e0f731ceeaebac37065e8779590443b1dc1652af7e0eaf831424e169c9371e7f439370e149e6c1818bc374f46e5939e82cc444fed5fec93c1d28315e468d632c89c12aca018d752e028aa10ba1cd264f6d42644f270d5fc174a1db029686c314bede3a66313409c0a2a716cc34ff53f3153d3c95bf910f0318ef810158ccce804206c33cf731875be82b965ba605ba353b51770ac6f6a2e1d3698298d75e9257bbb376c781e5adb1b0e7184cbeaff602493568edde8d920e876decf71bd7c2a19df3c36872a3548d5aaf0bc6138c332da117da0cba7fedbc486e31cca6a80c7cc920777dc10c0121acd0242b517334b88b9215c61e755c8221330fe269986f6791c2240a6b11728ddd70534191a2dce783dcdfc418ac93e27a6fa1ca6727bbc4251dda0934044251484f8874fcb437fa5fbe16e584312f0e586f7330b7c51588d2826237b6082449bf5df4edd6ba79b54217ec570867b852b0b5d0b954099944570747689ddbbf1214b85dcaacd6f7c9acff84183fa94221be3aba96375c3bf7982b0bfffe873bf63da97e4adc8a6802ad21fbae13303a151780a81449ff9a4ae576214c9cd1fe546e386c3f0ead42fae699148b48a79c97bcf0a561a003f98b74957edccf315a974ac380f7b93a91079e03556695624ecf954fa767df10f97568e48619a9391b7315c86475da0799a8d23082a27c6da1d4ab92b1ddd458289a94fe856deeca296b0217d8fb6055ba0c4ffb09e41c77585e381b4a1321c0dc8f1fd2fc7443d6d01bc6cc2760e06d48801fd780a8442abd424f662302d09e0d30333affec6386718b6460bbe7d95c3757c6abfa976407f9b4f650183d393d068d9369b080987fbf622b833a74c9b485aa09e6a9991e036e469490d11eb3f4d4fc5e942a7150e03750837c8c50f128af5dad984fc0b35a4dc7251b0f5dace4b3d5547aec23b6ed1075700dba6037d13ccbb552f7ed077f35c7b20a47498091b1a17d6b43ef4cf74b0d9211063fe610cc3c876794ac4d147a768c4cc01c7f340feb150bfdb6c9382101bf9eafca3db99b1037fb766d4a163bb4c630245f46fd46db750d60577b662d52dade53aecd6090a40e797813fe032c64f8f3118702f1c31724a0ad25336199ac8d2a91289ad24916df95c3a519960e7f35849fbcaa57faf632697f612f77c622bf597db417924b5cca38bb3dce15a22016a40b60b62bf65fd66409f163a3ef08222603ff51a1d48d728ea2400cf57851b505b3df4c8d4cd9f9b473db0d21e39c13051310f407cdae69e822836b57c611793c4d391144794fb2fc6fe65272e4ebf39259172fc507b75fb0f0392dbf8e783d21573c2d9bed923746f4938d803bfbbba43cefdac10c7a009e36618c02328fdd0dfaf0d66fee5e9ac0439aa06f9192d5451997f19efacb7fcd65c6e865ae83294fec7df1c4f92a31769db45f2aea0e877d4bce611749597312cfcfd72a82ca8b37cc00305810ddfe8f5812867647f394cfac0f2d6bdfe657a592685c72a0d714e77a576f3e550fe5f3ea1148f52b5ace94aa856438e2f65cf72d2135c286b0d042db30ecbcb9b911bd1916308d329481b013992e8e1e3f614f297ccf32052a480fb2f4f50d678c4ee7846b14e6059e6c3b1ff7242873d0fcd20e2309f949c11c0cc0f743bfe29eb9edc31ff72255e08600eef15572080f93c23b5c110c425faa0b9f833532131597e7c842b3b308efad0085aa7f90fc04cf6a3417b272f0e1f667fc609bd0ec08c7f15dcb687ad55ce00f30897512e6f2cca656b2562bca072150b98e9286f24bbf831416a9e68c06c2ab8968765a8e01c134552bd38058c223083180252fa0acc475987649fa304d5c05cc343702b89d47028ce5e831c6ca0c0f82977f50c14b8fbfc84977300097990df05895a5c9206f698fde6a83c81fb084998adaea28aedf69b88c59d73904fe09ee4e0d44b87d23d85cff0cf49e29dd9f1934ea763ca967bd3ab381583c42439165d0ffc0d67fbc915ef25bdd935f7ac81b9b002f9657869e1d86cf832d9d022269ffff31e58514e4f77336ca4cde76f288637b72b6fa92dafabaef668e6d51e86e2806e8cf1148aa969688e1fea1feaf2e39c984c105c046044badf2dc23c65ed14486d96d5dff9acae554554e3b9cf16d8b9ad9a3b91135afe0618a528c9a2ed7b8cad23b4b599a260452b6621fec8d2e3e4b519e2a6f0dd701187c3f30537e96ff524484cbea7504727cfae91ae087935b01d61bebff65a1ca53259d05365b278f90646ad61c322bf381a2e02884e8666f4370b78d643fa1ed8e656af7c0955dd0d8a3bcc651fcd0d2b6c33f7f87256aed492c9ac295c85175182e596e7227fa08e5c315d26f3d3fccac37e3ff3876010e36c468e5938ad60ca36079d2f63e36708edc5174b3018fcb71511cebab4fd3deb16361367f2094ffacc89f3b1d54c28ef3555f511b42bf69090e76ce1739b173e46745a73913bab56df603697a88d5864867f5651914f77f3c0183415088eef18d16483b917bc84118ee394d99210259fb9f88471100212b9b85833baa3783300aafcb4fe7180a6870223b78aab036ab93f4dfb032537a6cac611fe4409b8d9ed4484048ba221b53b80f3da20c65392d4d68375e1c28e5b8bed57d3e4be01f769ba6b7a6d64b7c8152838c14a74b972db2d9889985d2e7ee5b6ddc2cfa032f12cc34c2701c5cdfbfe0b4dfc0347ad6a04e35d3806553fb86dfd78e1780be8ba36370691298ffbc12062f4cf4e1c490e4d698b165c3cbafa033d717c179ba368bfad900d354e95c9f18a8530b40a5090785f43712c774c20b407c1639c7d2b7b84d4dfa3b402a8f1a8d2237003d9e8f30e5d3368228cfc87ee8f8a8caf2cd5db4e6b4542c51a1211333fead76f61bdc07e2c2382325883745b71d4d48c6b33bdf9d11d89366c5a04165c98a87feb3f20d35576a0dd365615a118963261e497478f9decb69089047e6d8ce00d2dbcbe6bf98a5bc9603138c21eff5ba9101b59dc52c0b5a6ad0615a7e4696c102c68b3d24a38c5088b949d9adba58ecdb9ed4a8e6e582a4cb8674b7d614adb0ecbc8bcd39ae4e246a4a098fbf07cc9ae1ba7c37264eab4201737a51b9151df1d4a804b96380396dbfa234a04112cd158f86d6406714aa3342e923ce9686d946222136ccfc14efba631ce35869c2019839054d151e2753cff4f63395a8aa0bc28202540cc9192ddcbd1cd45b14b50da127531296d27b40e168b06f5296b31a5c421608cdb2b48f462113dbd483184244bc9a720825f619d8a233e11df6524534283e160d079b83525682391a0947e9eb15190ff3239a5a4e194805290cbe1b11aa2ceda03c5cc9d123005fb18f39ed23032c9b914e553820d8624e74add1e8f38144550e98022184b0e4f8ba8e4eba24a1a21f7f0fd42920d9ce7d644173920076255a51c95fa9660df92764993620a61d593aeeb14894c47a60a274ff4f68ffdaf3783f93bb1b1e0ad6a591c35ad4ad7a45b062964fb95b1bb757f3c80048d1c727af0108e7fb8ec367ad4e9b910528a6d5d44a6ebef735ea1d5cfc414564113716352d42b1d6da2444e49b37f7d0cb922d08576d2bf2b7b68dbb361754ba3469c1f67568ad54696e2a4e964ac0aaa30dfee2c13e3e9ea7873ee9b1bafc12e9cd7f6a32c919c42ddbc516201c00fac77145ba99b3a9a33e342f9cf0da5a0ce7842d9498b0271a3093500370f3fc727074610aba4290620b89d3852ba4c8cd2516f36a3ab187438d835cb83a8fac762502eef8be58f698ea30198346cea4b089f5fb9a645119af2593cbeaed4cdd27d4bcd359c12bb89a26c9a513eb31b0d9d2da7c8e49286345d35777870cff6bbdd0d496bf1a53cf8914333c6e759dc12d334d93ef32e45755b021499025a5265454e40ded57475a0bb214584b40ddb1f3e947082ba423ae39d189bcbd69ec74cd818dc86bdc0ec15cabb415b0d6ffbf80000b56e206d24973a57095c07ad243942f57ee76b0b697befbda59429c9246503042c049e047f0494e1b0a46108fb89cd0904a405f7b8ee8a521159f77a7eebcc75c2c495e861180b03c37aac1773b76efd56f7b27b9ebbbbe7fed6fed4ecee6e6736a1a09b92dbbdb74a5c1558e244ffd9c5b3cf59ebcc130ecf4195ca1dd5d599349d52a2afb97bd7faccfc17fad6bbdd6e4d95b7d7fa03a01da58b3cefc21c6cee425813e9a876b9dc6d87363904bad8ed90d6ec6ef8bdbbe1dd2e7f60fec40f6d8cf60dfc687b9db7efcb66e67a26144ede9e28142825cf1637ffff3fddb7d6beb5d6c650c0fffd179b79b18c856ca64e8af8dc7aba1f4c2be9658c0ea8a847f3058a4e0f6d5eb3754bdf695500392addee1661a33e0a73ebc7cd1b7c1bb42ca5f282560c7ff6828f0b08f4437fde42f07b6c3fc9a7053c6fbfc60e502e75a3154cdcffbfd7986d7eee4772e62f1968a0cacc99af85595bb375ebb95a77ebd6ed75f76ab3bfbdeef6dd56bfeeee321754ee86d8f6afd7ebf56f130ab209b946797baacfaf5cd59c7386d35a6badb57fff5a6baf1debdf6ba7fd99efb5f9fefd6caf97ffe2eb929ef7fff6e62928a2ccebfddffad7feffffffffa7d94da699c38c2303150ccda27a0bfd758b0dce2ac6d099c4ed024f551fb3a5eeeed98735ad0fcd33092a298d2e5ee60e8b305c40699a4e334ad47c30b358ac0cbabbb362423630fc3e518c8d5566059e8d840cee0f861d2e77777747022a83ff69131db515d260f8d131ea3a5d6abdfc352c0d9d3988618696de39cb5140c1735ae9c88825b2e86d75c484c552ae5d52160a9e95e2d9f31c0e3150d0d875508574cfc8ba4d039b62a437b55a3d7ac060438664db55428d33069e31243b963c23aabafb75e453e4c7e5630b8afa89c24684aa9aa61c19a21a34dcc535e6acb3bfbbbbe79ced5dff2734e294348e382eb01a25f71e6c5a3b2f2cc802cf69edb4f6adf7b22ffbb22fcf9bd65aeb59971ddbb1912245785e767e154142de3de79cd37dce769c90925b1639fb847763b22d48086713c2d98484827036a1209bd0bbe85fa1ebba6832c65dd78f11a0db0fd0cc39e71f20233f40e1f8c23733dcee8f1117d0118c5d98475e039c73fecff93fe79cf36d51515e9a6793bbbf67efecececccd952b41413d49cffbffeff949a9d1d2a7037d4dd5ddbe68698cc66b22437c464c91093399f669c2d2827a464e67e29b97008c7a48911d70f778793a1cf17f9699f3dc739ce718ed37d4e779f737e383b2c42297d2217d25a6d35ffd7a7ddedd41763d928b3f5d3a9316bbe698f344a3a85f4ff7fc784acce3a44271ddddc10628c17d26ef736ec0bb56f6db5f555f8c0c84bc6d3e34bf0aedd7dfafcb65f96be60e28c3aa60c7143151c5cf8764664e288438d9af6e99e4d9b3aad27cc3fac36bc2ad4bcea040eac33a574c27828a5512abb35fb3e86f7a5bc4ceff1b4ad975a0f9f4ed9dfda7f28697b01ac2e2b2fe252180664fa96f06e02b86744201399d90a554001d9800208d0cd5d9ab97342a7d34d1d062fe03967fee1a3c798c323e3b804b8d9d1c2ac951882436601ece8c8847cb59f773d46613908109e1ea0078300c0b26cc6431b79e0b804b8d9d1c2ac951882436601ece8c8847cb59f773d46613908101ed8bc0dd0738920d073cebe9d400f023b5a9835a928d0d5a85a8f747337d7cc364445538ca824d58fca354d1c1a2957a070a674b38a8848d5e9743a570e4bd254142e4c351d1dd0d986bfc1a8043c644c248d1a37f92d13651c9cd10f1229709e7368a9b970e7ee17d4e4ae7c5125c7d11415a69c11e2c9092d96a082c30ef2a9bcd1176b8331a5947e547ebfa2947a1fa5d65b7ddf539185ef05730882f7fbbeefbbdff77ab1c0f7def3bcf7bc7bf10c43ef033df0f33cef7a9fe77dd9fb5ab945afa5953e752a59cd6293a486292e696a437472ded588316dcdcbc3d1eba9d727287a21b6f9fb3ccfb3d6f35e2b87bd5a8c8dfdb92773eb1636e3d90929b116879366dc1fec4e5bd0ed21d9129eebc5aef79031a4239121e494bcd1aed096f663b3d6d3673b7523098f38bc643c3df7e2079af0f099b29430260d186ab4e09274866c63460635ac5c91528414da7d7510981f8a33ed5de3cbde1b86fd392f519f73d249fd86b9d50ef316079a2c5e6a5063834f1756b4681163848b2203838d29aa4029438a2c4d4aa4b154c60f3a0021a567148b92973de9f3d67bedbc21b97ec88dbbf281dd1d935e168df1fdb7dddd499ff45ebee993ba3cd3dffee9711fe55c803a4c9f743a96f7c149be9c733a90adbb25904d4a0bd479b4751be9eeeeae483da9a4d4694f29e594524a29bfa5779e2dbbe79cf2bbbbbbed8ef6ec46a29b853d64b0ec6fe66fc27cba77936f58b85629bdd99f4f9ffd5b20253eb48449f59652d2e44918be42996f181b5a22a5e7e5cf9352e22d01e98ccee86c46970c492959d2dda09225df959e670b9292524a9c8698846138a3f94a4f6aae7ac58499cfaeefdc2ec1eb3519caae48da494625ce377cf9758d53765db280e7709af1fca821c9426634bacc9079d9f20127c6d70fd94519de0a280195994d423b7d963f524a29a594524a39a59d95e8524a2912269276d83d0e75189c35a4c51903b7bc4036f0fd384bfe3dddddbd7de6339ff9ccdddddd955d36facbe79d41fa75d92c92d7795f1d9bcd663357968daf6efc7abd846633eb03be2e0ba8ba30b7ee6ac2aab97cccc15f33ac479436d3529899404d3acd97d6fcd7d67efaf9c51bcef4401bfe481eef7af6bd7ffb0f5e813ff1d6d1e6f066b0bf0f99e86ac54010942e8d4957a9bd1c5d8c8fc2907673727cc711e35ec29b28edf6a1fd67fa5149d4c6e6d7d977070f2aea74524c25a5b0046a7652ea4e6bf4331765a8f02fafc0fce3defb65f1c964429a4773fcbc017647627e033f29c8464ca9f15fe322b3d3ee1632184c6d434e80666d09938944175650052cb17cefd202437aac3686270bb443905231ec6bf3ea263657b84101a3d664c710517c8401dda36872ad5cb15213410257f20cc3749768b1c99fa06ae31a8ce48d7b0d40a2f54ba2ffd02983a548c8bd5037ca13650f5fe695ea910a9ee245f9359da6a96e127e828a226a6fd1b556ec0fb748bc960847812d116e839728c3ea6ede61fbb78c6b94048a11288a42362989e6724cfd81b8ca3b3293130b7c96244671f409c76e13ebf6dd6e9518bb2b9874722fc6e24d0277e95e7c336bcd2f7dee73a873ed28fd62142860849394befec25b95866cd1220db849fc6b2f09d3fc9c1f64ee8310540121817bb0c8179664e64b91647d59f4394b7798a493ca6f2e27d2ac9250a1cf2461d28c190dd2f4be56fb7356009b0ffeffcfea0fa4c3200bc45e3907b9f7f6ac3bb7e6efbd0a862d2999c50661139edcb89a9c9e6e3950a3d413513ca0e8a29e4654e952b454c4844549290b932927c831a4cb80ea0c7e9acd103860962feba6c16ba4a68f1eb7a85b4eecc623168573c52e5d3b408aeb661629cd22a51de28ac98ca2d3cd282dcc025ab212a5135568efccc86c269bc0cf9b5fd81946fda72955448fd91283ca52dd3e8c5b8d857b25aa1c091a86f6441cd9a9a7361fa5ba1d30859c4855128a46999c8c70b24988b856d268a5dd6168b6daeadd57ce501c4680828a1936c8f0c5144fe0546539238722a8780162e5831a33586aaa70d16be13cd01afe8a95c17be8810d22c23470149d21b3a4461c28586133c7105e5871616a0a8b15be9c2bd000b3ba58cd0b2e43b8525293c3b7050213aebc31c6cb94196240711086105cb2582144184856f4208209575bc21c7ac8b5a956a859c1e6a80dd62677a2945cb55330c649f1dd266ef8c6a0b968b4e4add1a07ec5d6776a9da84196776f21c3c5d7c467a96e946835b073a6e8562433e2e949aaf9ae3208ae42d66ab55aadc01c86ab7075bd3033227ce70de3cf7b32cedb74ba08f88017a8ada9852624c192f30d6f7843eb8160d54e97bb39e1729ecd68341f9f300cc117e15d0cfc80410b04eacfff5fa482ffff1f732220da46001863b3cf2cf25c7efa281003b654d623336d56514155fb71253e4562f4656170a6f57cbb0cca2aa15fbf7f895a8c0d0d9747e6a1937728d5f11d1daaa3a34375dc75746e2bcc60922c78cee93e9b5e4c69d56ca48699c14d45573529a5443507d2c49453920f25d901d39135e68839958a0f1f39319a83f5c8f1bc6a65ec231604081638fb8f2b7df8a8483e82641f417ce042d813e8f4357993ca0ccbb9471e73ceed6620b21b99901d421a08900c240bf918cd1e84fa70752b3f90d8372950a5a5289a2f4bd04fea91f34938997e17d807911c6ea3ee111b73a68b36ddec68b9187e6ba02e957f12e509ea07d951b929738aaafb058b91baa3ce8e8ece8e4e063a62d3d1c929e8c48474ac3b7bfb0c063906ac32a5831bb7aa21b4883c9688e8ac8e08119ca428aa7076522411219246a79466ee5618824947800106b401b9777e0f88aa5017e7d1722cc3a2b254901c90dc8368cc39453c328e912bdf1cedc8ad249c595d56595c0a33c8f4e5047a1020e2d4074c1aadc7a748003b3a322131580e02846700005e3f7cf4201aa3e414f1988263e4a27273b403a9958495024f90ee55eaeadd6aadac9e41baf5b258b02ca917eede0505e0083c445b4a5ea86b2e416728b24601a05abdcca2fa257d59094ebd3348c924c26bdae02abca6861ddf780b636fb5bcb563855ddfa4393c5c79687573a6f080b9bc8531eb0ead92829488229550b38b52eecc943076475aedbdf7fe4db7a6c0569c1d45e3b1363bd844743ea1452bcf7e43ec1a41565e0dd59cc55ab134e04294422bd75a312221ac05b415c25c563e09a9b8a305160ab23856901c7868cfbae09293ad9c5c8c71131017183f6127dc54133f6b592c16ebcb3614c5107e9ad2288dd2c207893881a713fbc48c07676694b618d331363a01653c14776d361e48aeb036ccb31e1dbb74b872b0bcc02d2f422c56884e60ac84670683669670c0768b28eea8b06e66a0dc8047621bab8f2ad481de184460eedcbd688ea0f9b02dc3c9bbe2a65e269c9f5af261472e57a5d5656a8b28ad2362e4d8b08e4ce9a6a0c6c047c8c079e0848f2f1f952830eb284a1918afb162e09b460403bbac44e50081431b36205c28da4d46ec3c75ced9e4e9fca64e478f4849513535f148f9358038a7d17ff96966b29eb5b67b08a3df2e176d343104bfa69452dab29953fd3d92b337846b07b457ff967da8e9760b5d2fd985c2525447eafb67cff5dd4effaff2e7e7ed50cdffb74733e69cf787f753fadfd377be80d9344f98015f45e95d0ba1dbabab8ecde961e72a33ee9630fa3356be3d693bcdf469f7bdd6becf87a1871614ffc50a7163562becdbfdb5d65a9df650f7e92902d4d45ac9e361a5b465af8c9239a9b37dbdd766b3f6dee799cdeabdd6de593d2acbd9f3407b2ffd5ee318da3b2464a322f4c0205b111277efbdf75ea16b1f04fd439b18890323773c96ecd75abf5aeaa0f7dd7bef4cc8bffbf73a05df520fc5cf9b02bcf9ef0545ef13ef874f3d3bb5d4c16ba7b0f7e7df399dd249a5adef407af0ec5a66bd5ff432e269ead5be177ee862618c579fd8b97ad57b9ed9ccd27b67fda82ce7ef0b3d3014574efbfb556a69f462d0b3147c8de38be2caf3bf5fb5b48d442f7b5e13396da14061b057ed0ddf85714720760a1ddae9a25f778f5224d25813118959a45e4652872baf2ddc38c68afd07a14e2975dbf32f99bb5b98e7eb26b894600e6776eaeef5e61990a4f5f81401f1956dad0dc17f70c553c4dffb405815fddd1bceb7f6b3515fbd82d582224ff3cd6ff3b5a005808c2fe26c282d6304e6ba6621467c9a91d3292da0aca6b290c2015a992b5b94d9b9a818ff9d8c1066702c6821628c92ec690a9769764aa3b98d861c3b18c106154e604624a6a4a9f2c4c417a31c72170fbad842071c682099c14596366282a0638c2ae2d0adb86491a77646ad00a64244d4648a74288d4b1255c430214145871bac1c61449822c07c5922620821bc0401c40f5890ba70f1c176c5d6834d698b8d871c70be9c4e9ea26471a1d6c4a3410a4321d5c8322fa69d0af98284222f1cd20c2986e4e24649c90692ee174e612481f1079dbca8a48d5fa7a4108386001010860342d1248751100441208ba21f34e207c41d9508130b437248680ae34006a32086a128c4200020200810639c222a3bfb1d07827dc909d2d8d5d199ca8424732352554ed0a8697db648f7ac6ab6504b9ec31b2deebb0b43f32244afaaec71d30ab9b21a96638c35117ce8442122b5a7eab70e4803450a0e77b36a910f63741ff97fb8bb05f15f54008b884783e5078ba8bd44fe523a6c9ab5425778e69125f95471601f8d5a04296460881ac2a17cfb9429546915a531d8cafda28c52ed559c2d8494e6b07ba161af11bd0124824d0c39b3b7c7a97a7c095d7e425cc7f15e668ffdff601fb774b28d277c33e7dbedb9e1e32f5e958e545648b2f15d132ef1ece995a88aa4a0a2abf0c849463ee5d5111d28eeed5f9f7abf2198f88cea17b235cb5204cf5044440c6d82c17ccd0973969b417292cf9079b4049582f8c2e6af968ae4ed3aa95eca91f87b0d91f856e10b4de3e1a7e01ce0fa0b44794415e8a886c05c775c4fbc47d0def05735935f5e04d0348c8581aa7095ad4b1375da379aeda135196ec8cae42a9181405e046be0ac4a7a4fad5c708cd044eefe4cc6cd3bebc8a2d0dec0174a6810a0401a692fa1083b8d9e88414c28ae42a637d065931b932e987047115675744be6aa8d3ffadc4a262e7eb03da8acaa36776cbcf53cdff7d1e35f400aa63873f96d1062c1f576b3244ed0d73695859533cf05cfd610d5d899e6b5e314dbe4518fabcb5a7f34d64df8545341189fb0c5e3ffbbef08f7438b6fdc944f1cbecfd7341f059d6b467b8dc7546877e425b3fa44aec88d49bede8c2039d7b93155d1e83907164f9e033bd7b2888c3d99467754d4d4a34d711a935375d8cf0eaf88e6e66ab78dbbb3e04d8b0c2433ed63126cfb408662a4c1e4cf59bd579451e576a7fbc671ab1a66f3c9019132d1b5a4c113b8a2f28651f0dfc952bee5c8250a18da9fdd3ecfd45ed32d15bedb1ae91e37fc91539afbc97a01a3fd3044100a23e60a92c70080cad499e4e28cd20512cd850eaa69b485a427b96ab25e72801de2e6d3ce1cac0ca3d50b40eaabc5d4c707cc746c8aaad142eca66eeb8cf2455a16b84b66f88976c40c7ed3faf4baad91f409055926ad416e42e8b8b63fc200453e63d2f63326edbde6b1ecc86def188b1fe17ea08f50255c7e8b83826eed7f9a5e1e6e6c6e66e5749a4de07f0380cb4a2bf333f4d8985741a6a89b2e63e66d9a8a16e165a493a893e4dcc3704643580c5256d04bc28472d5b19a4c1114774fbfb9e933a0b5c4a997987e74757ccb359d04147950d1497d21556970c994b84c4b9d0c1b7f599f1b41d17d0ce1e02d796a77217da8de327c553912398c09eb85b2d72c56ca1029406b528a08d2c255b0cf83213b73b2602946a8552d7c4f3c0d9380702a8750f085d8d33cf2da6bd9470e619ba6b16c061c073981b595d2f15f8084d790f292041816214543fed824da6f4d97f675f3202b3f52a383934307b270d7875d70d1e5ba7c420badc03afc6118140d70234fdf93f34483863e454778ea135af5d621ffc4ebe7c38cf6c8f712d51dea2178fba0eda06ba67b7a564bc0aa398f492084361e44fcd9569144298a453c04c110283e8f74d40c9854b3ee580c802d1995baa722324d4984e1102a809d5287f3f2ab30de666aa80ac4095e3f95963fa9a9ba544b3c5fe0c0cf22bd75d41c298592b7a1631be67ca1a3c7c8b74f50d7d5030f695376493e16f70a7676a34274f4ebe09486104e2729aee4f9f7234bb201914093b10509e9a5c54ea53d10e6d7a367cc572a4739f1b19ffdf0626de16257d8f0c9a7743ea3414b0f3f0abd9c03d76f20ce2b04b2ca897e16770e02ad2440a42b428f50c76d542216233e116aacb6a91f8c8448c3bff2ddb550faf44380e5b15984b14b369bc545f7e0f587f48353c51eae38d40ee1133a8e8c93d2b53c6dfeaa4abfc4a602542265bf2156fad9c0df9db6549204553195728c9000e81b5a1f226fcdeafeb540fe7a20672f5031fc8542251895063be223096515675832540d85e59b2f6725cb567964344ee9f8cd75eea3ccbc3e6799b065c00814bbb778ac77950a9bb0cbd37910ebbf7ec4c07d25cb5935ae1042f000392ed5a01de9b0e21fff418ae70868c96d4b9510f17486970443dc20af142e06f321e9f0c03f83b47f68ef99ecfb666a6a2a374bd496114c15951886521b47de8d09ea8d35ba6852bba03922cff94042695aa436aebce40dcce43fc00c3cfc2d9ae5620ca29baaedea18aa1553a51515642c1e0a077c821e9d73d24030cad19b0f0baf350a98ffed62501b08c5187406a6048105668dae9c339d893a3bf6901801648c1003040eeb05b108b446f1562bb6b84b8db0c6e2a36f7caf7011cd612f38becbdcc16feb630c3dfb1c6542fad704d62116567fd880e3af5e20463a90635e77458eff0c0a36a832205546f4b7d15bec014685b819061d8727c5e8e99a26567cdda4d50ae2d4d833fd1f2d86bc93603e9d4977bc0cee7fe37489e925d38d4bb57cc748e97b220766bcdbf185fb77b42ee6039d561c688859cfc6872360880c02389063e1616c404b7bb690920b648a0a3504a75355c91f3da6a071b901d9436d961d3a3029b58369a47f07b3325d228136288fe53ddb0a2c99c9b1994f2fff05c4fc405d30731a3a3208b194ce4eb02b196d298c6913a76d5ee5b645a7470722fb74dd4cbe16b4c6def6c235233f4e92223a9b40b8cdf9af8363ab6acf9036e4db5377904a3fef12631381335a91e460764cca42e95adddefe61b8629c30279aad44c15f520a37ae7f936369d22dbf0bd3705bd496cc0d582954e380f9f7442cb08ce86df4ef4e0ce072ff9e719585a7dd66f43365f9032b10756487483f32a076962dad2611701804241104a1d904f70707a284e01d22db8fe39382ee3860efcf56aa80fcdd036c90f2f6ee0116565f28f80ddfa738f8a8f00f09ac6325f006c85a5f39f008ed1e81e5805a727012d213c75d585134fd066c6e471a21192c93de387a2f7012be23d3be0bfbbde8412d45983257b05e3d3b002b7c9fa669049f65e17a41fbbc97af1afbb82563cea87e85008f932e947728bc7d00dddecf192a15fe7d66ba2e0fc9f74315a9388c6923d1cdd1753eeb0fc35fde77a9a1514c6f96d92d03622a71c04b2031779df503c3a7b7ef825e8f8119a44d3eb1b1e4f58f4a39114c494fa2233d8987c5d38dc67cb702ee1017d48eeed71f4cad56c3dbbeaaca81fc9aa2c3dab73b14cc900eb918f758bdbc33220f7c82558a324cf7e2631bc1257bf18f6ae03670bfcdc6e4443039d30e1ce3fcee505d0250f7a40f5f61b1ba468e315e11f700ea1f1a1e7f1023c80600dd3df09a5cd9d4c1a267ee2430683535bc08a5cdd6517340c44ef376357bdfeafbaffbfa2c0790eb4317c1cbad470111f31e839e78da5868ccdcd3b5e1dce26770134ff862c6d51f9dfae36992ce96aef2777aeb473c9087b5121e539a506ca16964f3d63907dd96bdc133bd7cc995de4b81cff633f3de1d675725529efca930593a6d84e423948d64e95c0e9e527f648d104bdc5fcf0f2c55b507e8612f57ef6bb63e20eaf0c3f911667725f1b0a6359535ee2c596f2b7d0917dd4c6ce6128f4d62b501a30d21217e6a40836c0e77c439d41932e54107431d844339c07c4b9fa63db5fdb6d7268222cad1ed68bd5829c1882ee7531a8eefdf7b31e64e0e5d378fd064a34e05e3afb669f20354585378e7058b034155f1ac6060d942bd6ec40ded26c57009543a7d90b61d949b9c18dab4720ad0836a336d5af9d4bf610d689def9e1e6787f52ac757d0f22391ec33db616e7587a533e33b07ee6287526e01f5876f68b71974d0a96ae570a1f184196ccc56a12f2030947bd36986aa8d55006c2e61a0b1c340d0acb00eaab38778c3734992e38867a14b34eddae566c5b6c80e0f34c1d8a1312db0bc8af7970381161ef62d0a52ec2a1f4d44b98dbe20609ffc05059502adcfd95994af90a37c905b8fbe5fb00716837274f5e450595178cdb92434e5176b09a7b279ec900818b1785b799f42f98953f6e4d28ddccae9bc6296b12c1395ff34126a4e0b574b72ec0ab8a7284f54d558e704561786ce1780d39005a9fc5395ddda5e183767fbafac9626d9a43eabedc590b5cae6d2598e6b0894fb3b52272b8c1722288577c29b3ca424ef8494ff3f07e623886c73d83008643f41866bf2225d8348c3a183fd71f68e91a6cd3509fd3c85f46df568f4c2444e99fa5c57ae805263d3698832ec0c8cb58cbb54ab42dbe88cd1e569a6b7a125f3189ee9cfcf8c5554194795951a21064a820f2381c4b37bb5e4a5305897ba5720a6bd2c1108815ba2afe79843524df80c4f59bb5028bb3f317fb2fb1399349f2efbd6cc1f49c5350d4d2cafd332bd7d96c6be0a6400f21255a7f46ae5921ac31554ca7702bb85850dd924c40469fe139ba7dea8b8511aba3d455e848f9ac204c76e0080c29a6ab818d2d5dff8a988093d90becb5f5d85ed46742001c7c222e1b3441ac58709e84dccf663f4cd2c97001442fc6d872f54584a3e23132ada7819495640ba4f189e815b540156b21d5fa55337619e5ac22805e6c4617583566020839705b076d100c16dddf9593a163e8882f9f56ef80083fd87d41069b30f87fa2cde4c8cd9e0d1128d96476497be7e9caf8665124603a61552279c4ac87964968e979bc88907a9adfc1cb793111d8dbd5e2b9ddcfd9ea314df2a1456b0c7c142a843de85c0d2b64cd964b4012788c5157e1a941933f1f4b4da2448d831e4d16cce9409f59e9254a1b0b32a9b2bb211dedb43de17a81dcc194b6d2ede61185cd910288e4136048a636c0854763657a7b172af9b618c98800d466e72cda1901051d1d3b181cc351308699332ab17d8c0e147120d1ca6fd7efc69cac663eb438e5fa822d80364cf01431a18f0a0212de5ece79cfae1a5d71c66bac86d16ff8be37849b9b2c77066c456f6eac7144628c490f155b25c1ded360e20b20151a857c8c7822330d68ff193784955a0b47c54d04e0740d99469a09b20af92eae7203106372253da8aeae3f4700c66fcb782cc431d0e9c70e8ed439b2cf861001eeed9f64255223b47236ce6561269f6220d570f5aa34f94cd8adc7c66be702d6ce77e28f5780d04425f566ba197460ec28b598df0311353976a6421817d74bbccb8e809cb05944fe75c28e529c7a9b5865328111d2f1764a6040b99adf40dd6caf97499ec0816965813d3d3dd00588091f51114260750737759409c4ce442b3d501d71cec94698f48dab06648038d6201228f56fe751995be9eeeadd491b5099008ba03b273550cb5e142af0c8518ca9f3ead10fe117ecac72a371fbb455b301c575376f0786d84fa927af1ef8adda24de3c46890927049a120eb45b3dfdfd47760682810c5504f99aa3013e01392091a919617ae29aa276761a82c2447a363516ceeeb0920e6095b5f68d397b8aae1b254c566d6432d91aa85292c20f19b9d9c63c1fa0dc5da4c2fbc7ee968d66c1da94177725ac6e5957c350a9baa2a067c7c85359b870edc5c5bd503d8fca79227342230c63a8ac4b2a9104229ae10bb7dd2b0ba30b302e1b09761bedb90109fc005bb27f39f54a119e83b81dc1823005a7b2570806c4ec8dcbfd24e365eda98c4118424883b4f645be9e3ef31eff1c59aaff8e37f31b8787fa8c1c434de45a20786f1cc29db4e5a809d2c6379230e82d0be0a4b20a3f8ba78382d846c9d82ae3aea6ccf315657d1539c64f52a08e81743017d9d6e6520753295495e4ea3cd3784cb1aea655ee5d482bd46da356ff9c55a08829788fd5a48d0d7bcd5dac47267b8f635e83c1ab5d0711d9aea64ac34f1e1bc19deefa40e09bbac2b87291d8817a5e6b476deb7484444856a452f7f46073447187394cc2814a47d2f4a2f2bc7b22c9db0e08daefa1b500d3b5025c0837d9290cbdef9e04a518e6bd854a8df2f21590460645107d7719f95649fcc5f681dd738bf7965b08883d474022679a2552f4a04dc9bcfe0c291dd277112652ed265602e92ba9b843898108ffaa206607074e7488b4818f589214c542c00eb875e97dc4eced60a4724f632ac3ef341377132555d5f33d59b1e71cb09858011bc6b2f2fe8db99d364851e970030360c2325f6eb5fdada9f90bf9b786cf1d9539e130ff9e323290034ed162fcbd2a41df9e92a6c399819861ce11537af86c97e625babf085de554061b36400ba4b165e20733e60547f825a97a66620d69e1bd0e50cdf554efe1895bfcb07b2d928af1337aa879013575541094da0b6f688b475c08407e0826d023ea086802123a6ce4bb916c5c05496006983b74d9e1f516bd1b6222e62f903a2a290c69efb23e1b8cf42e7e54c1163dea6a54233198696bf2c77a1e880f0733c1c3844460864aef9d4c7dda4946b16685a855ad3fdb2693b6c86e5dc446c5718c56d1b9eea82c32ef5192b117fa893d173da71ee33d607d07625eb75856357551885fc418a42341b49a4fefb813763185dd8cd002c80d4fd7591d304e6733ce5cdda029c61308f31d08fc236ba990c305434d35875e8a39485eed9622251748313e621692d272443c9a27ac2f4f4e81087c58863e91eb05f1b42a7c8f670b4be2d35815a064784fa9cbb930e4a99b25eb951a7aee48a1df292e5aa463bc769873e1048370ab698d46710c55a062a353e57b99187875903c0ffe2a19bd84e500bc816c953891c10124892550caae0f8f01353870601726c1630d5018eeff2a36d145041d263919ba7a7202c176aa3f5fa0bdda12a559bf1f6daa7a9cee1f861fab72b505d5391e8abcb75043af2f4e09d6ca88dc20cddfbdc670e72b10b5e242fa0e2366ac7460060edbd6c4c15860a92571b6ebae420cb779235992c661e69b83f96122b37049ac13ead64e834dc9990c6531ac97686d919e7c5ffb08c23256e99ceae3df5732cd9017d58c3bf2900647a2411cbc62cb1305fbeca3590820d91e9c9667a15eb91f4d99892f4005148aa86903ad8a5149fd06d6e88b24feaa530d3acc75b108209eacc5a765726ff5716cde2fdc3ca1608c896ece0e0c6b85c79dd9003fe268c20ad7f104863630960202c6dfef3ac124e385c5ac5fb1cd9c2d1fc04c015ae327598c719e6bf86a60b41052c6cb84380f77044088e10938df650b65281f15d85e38ae8ba57f8421ca131ceb988bcc49296d44ffb3a665e9814d324ca22c7759e3bbba8002412b671585e1f827152cdd01f6f8a844a651c88b50fe457ad0c9966da72f394a05e0d16de0fcdcd40280df6bba21be0a2dda393cfd0c7f9765079ea40cac3e3b960152ccfcc7978215f880059f514f03f1def2cf0cb6b0655913dda9cbc65155c5f8d61f45231feab7644c3367478cadb257ffecae8a76217fb3e8c7690feed90ea8265b1c6a79d51cb739b58d3a184919e35ec33e15d1d0f68a02532228602d8d28e40bec3975a88bd8600000ef4c3e70c8195715174e865cbd8b1b38594809c9de5246b2906baff33ee83bedc9287fba1c5036531866fd1091e4b3a64f0c332096b3353acc85ae882ffddbd3c4b9ea934545cbf86dd67c8bb4543417224732d1eab14adeb52d4ae6ec971cb4ef2be0bad9fb93f36080127a2e1b6ee48defaccea274f391aee3d681d13ff424d9ec7ee1706da1c19841cddc9ca3b6fe4aebb1abe701ebfc848e8a5907d3186b435bf903df80eb231b27e19bcb429bf2c065f245061463492928a4f47155e6a4a75f308344037a508407eaa1161a88d300fc41cda130adb0fbb8e4d4e24a6cd8858f268dccf02624f7b80c7c43ec35c7a3552c4387ad146f6b60756beab9142cfa0ad13339c502221f68399df1a43d67f1f9a46ef2803877a8b8a702aec3334b233891c1a46f8b00b27cd5236bcf9714bdd87b8c4afcb6c9966f31fd50c2b36fe912bea8063fd24c0455e5a6e089139dc3fe9f56a12b66ee55db9d36de5754c99067cc3615f51b493c7ffc245d4b333342244f510aea89171fca2bfc553fc346c7cdd0462bcd65d794e8a5689692c155687bfe119b353b6e147211c79895df288bdd456daebb1582e25bb5ab0281e555c1ce3b60679b315cb8891a1bb1c94c8a3df85d7c9643360ae315c814aabef4447bab82863d791f6d4038376fa3729120978e02f554701f1e90e43cf5b8729cfc922f714fa6f5660c9548570dc8539400182b298be6889147398a9d2fbc7806f206733a0713261e34ab5e5e05df95d6d1685823e4a12c4af4c69382be42b95e2c51d96ea9171798afb884fe9320f0c86f11f5ff372b09dd6c0995047c0982889188bcba789d58b1f8191874d188ddd897ea18506296010fea820d3b119a1a0ab5c5a44817d44a1d1cd45854cb7086d420ba919c382588129c974508a18334e36af187de12cf8e646cc0bb360418ca188a9a4ee2a972dd004c3e2fca0f9475b00d0e4cab3fc54f188f11f03dc00ea28c5800d0629665a71ca41d99920be7fc6489e338f75f848250daf917958c2278c0801e592022b7ec73d6a6dfa0344fcb63fab1927c1874ac95e09f6d1fdd67545b680f8f4a173982644c38109dec6507d62448ab3fe1098705f42ee69c424258698178b42e3ddae03e1afd34ec33ba8b1b740e04c895e3b337cfcb0966bee7178fa7630900358440d3164ccdf841745457cc35f113bcc72f54c508f7316dbca881050d4ecaae9e7adba5eb5d3c4f220315641099c3afa9592eea97ea6cdf006fba81e4ddec1b1f3444128bdd2b9bf5fe161cfb9ce973760ac0aa0538932dc927af47232ef4569e70723e8915aed95f06b1629163564ac0898cb3a4ca75e3e40e2d2034779532fc1aff7c8c6934de18a97b90b6906b94d23a5bd8de7e8e59abd6c532fd7cc8a5b8a59fbebb746820a347a43a1dc3075751298af34ca2d38b249b319d114fe5ed796fd17bca1515a75c2747f6b6e5c007eadefade5116f73bdb764988d3f3523a0fdf4395c3b0d7da3add17465f0820650a5c4faf0ca73aa7e53752f8598d8549a58fafab56110005b2bbdd096e193fc0a746933e56163d42b51296078ae48154673e913efe091fc70ea6830df4c2d2dadc7f2aa379e55dd81ddf8b6111d5068ea6950380ba27aad569d0851e1ea28779579f50fc1b9357f8532d4f795b089bd464160d47695bc4239acb3206e2955f61a3d30a777327f99c4ed4c31e926ada8fc1f3d9900762fa00cbd8b07f13187a460e3b02537604d8b03a0cfab1734d4ce308d929b0d057a3f92e13d31dd51bec93649a35d963eb29416bcaaf3583589b116d9e396e4404404247795eb692ddf9cbdaa30303885f18efbc8a2aa2eafb1b5305697e9da1b6239465fad8f17ef33e481518e706d92da09d34294c3a79be0379b7ad6e6856a650da24eb5b4186f2217619e49bf35ee782853b829798fb1e7829bd77af7d4f6a915039d01f34b684c4232e7ff31dfbb8b86888133baa17398088c52282a625a7ff7bf15cd8f19ca24f61a68413e19d325cf82433bd29fb2e5800329ca0f8b4279c63009418dab000c7774070676aa1a984dbeaf8176d40d0490c4290456bdf259a8365858b89b1af10e4f63c19584611c526841934b04c92b284fd69185f4fd61f31632ae8b9977ad7be8a550e65eb4c7b00ac086883cd78e1462db893a753ae161547b505f42d1148218a537a56294ed96626035a2be29cb44ed2d060e23f20db2b436a633261e034a138a3ba9478408852153aec33cb9969a29cd69c09954a9a811efb6d68e0eb5cca6055edb8335750027357eb3bd6b5dd5b609bfd877c3d5111b848524a78019eb1134000a00307d742aeeb06b780136fa45c57d51d2b4f14ddde1c6a84073601b3e3a7c66c59f8a28821be2b5198b0856404f2c58bc76d47469701ae33e160e4425a2ea5b8dcc97b5ebf0eedd246e32445f7c82a65a8e65431b4fad739249d7ef6f88b09e345a9e9a0f7b3c0176268eb87fa4ea6ccdbe03610d512453bbcd1c0c49d7546363f0445f4835d2795621a469330f96937981056238f556af13fa43ebcf1dda91767ef7a24424ff6f406040bae576bca9e00c4c160ba0d70b9efe9669d0826a40bf555d775e079030a94f426c84fb258fe95079ac912cba55fb8e77dd6b23671df15bfb43f5d22322f2bbee4db68ab44edf7e72d624951557b31a12c87dc5f079b0902e524e434a2f1ac3ca351f0d3c0fc5db506ae4375a4693787f4a9359d5621dbccddc9534d1941cf814d14e83be2d1b488e3f8af24aa933c0f1d9d6034e4985791389eb18877956089ad2b76574c387a93236c83da60f1b57bb0879358cdce57af7dad608e30f46b4c2a81e4e89084488cea6c2a66ae8712ffa7232a133a2399691edfcbe03aaefbfee027f381c6c92aa92e7f276b13547d6d8d8b5615e6aa7ed916da41d564e0e4bd521f3c0be847b9db582e299cdc4f0bbe960bef4301cd34113523066a9baa652d5101596381afae3fb9c41124f5bcbd81cfc5d04b5a289e6c2429018f5a38fa803043bbc35f53dc8021601eaf6d37f79da7bdf755178c4531518866f8a3c97727031a0d862453baf5628ed731e086dfa6001f4f76127572b069258f29dca34a3518a65af93cedc787042460db00a7723d51a2c6c847f78d56eb30483d008a3cc714308945caf8677693825cc180c3386721d21483ce4ae351128c048510508cab087bb2a0458070cac71be3df3da5ffafcd5366724aa69c2e4a01d7baea50cdac5af5399e633dfa41e92b085a25f8e2734ab1a8edec28d1bfdbfd771b4e4375fc29503cf3f11ab2e9f509d3b66e14ec8675a93c3d72bd075da510e03c21f3380c0490114a704e622902980000fe7fe442284c041ed08729f0d067a8af9c27bca963109cb93f4a9c50ccd633f670d710f744b872b6a0f53031a4b250eaa6955ec3c4ba121cfb2e1c4f782a21f13401c6936ec8bc4e6c77bee841ea8a80e0842fd605582eb51958fc845ad60706e15ceac5d2b6f3467729e8c18ce2d8e9c6f49732cbb1304dd60973df30ca878617742326e14b1f0a181bb907943249a0e2f266c1eb1198a619c0d7ce19a87e3c78b7aa44707678b6a63107de8c8f0f411eca1710b501003bd067fd170a428434576bd6c6bc486cf0938f581176d1f70b2e2809eae730cb41074eb8a4f0310f65af4ab7640d82ffe7eda69c5421a9bc45c1bd8e93697fb4fd476425843dc25762e25da3cf9ff7020fd698351d0361c7c960c2c3733201a0a0d0f4bd3d6c29fa7f7a70439c1d972fe21ec7f20839258c93f4ddf0f40e6a39030560823f723fc45eea161151e2f72bfedfa8104cac82277da4768a64d57e4ae62905b6edc6b7463f1b610cd45667eff12679b12022eba47adf7c01b70e5244d9ebfe3e9d169ae8201cdd88026169b72b05be2f0dd9646e8664245b6a4a9436d3a07e96db629f1b2e5799c6d87dabad0f93e306ca2989e4ac6aca668a51ebe74121808e507945c5c3f00c26dc2b50bfecb02be7229fe7eddf067f6284ad4a159ea43f715a671aef390f9ee6ef5222f20515eb44acbe8f1e18e8458853ef8a2b3ac5f0e38a14ea3b8355a72e87277af8aa93ab9d3c63abb977d5c06f57a4052210f8f12d7ac5d4543287eb03988dfb18337fcc634bfe14766f51b3e814f53fece0050dcdff044b0d3fef618c7f009fbc63938193ee04955a2a494a01b7e90c71f311cfb578c67fe86e1987f633df33f8c63ff09eb993f623cfb3fdc24780c9b46daf007f8b14408df3c435b28181486cc5172396cc505b3b18ca3e24c071bdae872342710fc838f58e1163afcb8d3e11b7c3afc09e8b9a27664d3296c21f78ea001f37e6df8e481e358c77aeb1a6318fbda630deb8dd318cbd8d33c16e21bfe7262ad5e8466c994f42c77ffa1d6a44d0caca6f5f9c50fba6942ab1ef40086852e37db17b1bd454c06a36229ffbad666abeb390e5d8d828a8000bd40062b53993e3465571495e9a796b2b2048844c28d23cbad3ae39170af4c3c01f385a423308e65cde11bccf34990b78e6b921a76a0c4ef359c6968d4e434590d99fbdec49c30736831971e4340fc6a8fa80ea2bb68d5347668114f0ce445bc32258650db8211706d9e500e42bc5434fcc2b90cc4c6f03bcd0a4ec6da5eff1b0ad488187edaa6d6274eae8b795271b9e2b9177e5278f3f2168d3124c4064ece4c84275c6ab909520f2fa82408d3a4285e439793537b2b93309d205e75e5b27ab1306f6dcc215800e7494297bb5e9566e6a0cbe5ea92f95226b0e0013b7a685d6d377c3ce560cd94310c147439db5ed9665705578339ea88b2eee3d1970604c17968e91e42087e83cc455c52843a67291a851bda2598d5bc47303f44cbf97a405c437903f3a1e30cc47558ec715fad20d077dd958741879900261568c493d350177df51fd228bcde09a11a2da3895fad7e21eeebf4ac686eb9ba6b5103bfb932415a6e569f1408a1da65517098053650b1469aa000e5a558bd45a1b2ddab384d619b81ca3195b7ed64965e8314c65e70c8d78b8cb2fbe2a8631a445528e942675a12dd5fa47d9bda388bde1db13b0106859a5e2c2fd256416446e351d31abf8dd22b2129a845a63e2f04fcb18d6a4f20687cb5f3933f67b8aa6b1e787899d755950d5aa2375455f23f0ace162da1a4c2eb49761da1fc4cb70a1ed00012fd1b32ac4585fc42d570a03d7e084dce03f93c7c7819fc737d35ce513de2e0551bc83565a09a53f43ad251284733f920309f3454d174a9b871c18c05d6e1b9b24be773a5f192d698e5bee30500eedab1230c7b2827d4b31029e12c625e4a37bcf909bd8385276e91cd9cd20ab8e61d7989c44caa89d2882431612bc1637b0ba17b4d12136706da3f6aaa077cf2191fc6f7b74af9e7b2c31defd16e51a430ee8f10bfae75178b50612ebf9f1b42d547f64b7e371a9d936d65417a52f7ad7a512e9c5f279aa548e0a528504d2502dbd10c0e47a838c03c6ab805868b956cbe13f1daad81e28ff028b6345d92917bd9ef041bc29b2f1bfbed8b4961223c9c0dd537004436dc7ed60012d14696ab1fff93715c6a2fd1a254292ecb03fea65a9cd7017961553c0a5e36b276aaa95490d14482221619a10287ca2b88bad92f701202b374ac21eaa1f07165f74bc4f0546d58de8cde5f268d350704591ddaaea8db0cd59b676071a78b1cf7427825d58d0452b0ecd1a65c305f2b192fac4d292d91e56a5e52cfec8d11014e21867ee1071a62ecbfdec8cad5b53e076dbe6dfb8a107f7c72519a740b0c51b0f009a6d555d7607cae752a1d8e261dc59fbdbe54abbb82d0d170366c95ece4e8aedf59327fb3d9a68037547577d75de62b53fa590b187c99a44f240bb38a7d596fbdb2b014a1c5da32f237bdcac7ebb685f4fbc416850f25967cb5beb300529ac0350ad0fb33ff0b7385b57120671fc88ae9fef9fe4c036ae70bd3a93899177c17218c6246f8d06d80454a5fec61a26ec9e130b4cd8d1461016756d55f2e7ad9c8d6b45803847e04a88cddd49b981404dfd2ad95adf1c0baaa675cf899f3e2f1e822df1d8fa2b2ee6c1c8e1cb1be1e3cd6512a7753a97d81a286b1d9f0016d6edfab48afce832b1978f8021a89f3af20c1c32e5ea69177bcc289840be15cb589627a41d3ef86900858d14e2ad34eb7cbae38ac6a58ac8f164360afa774037b5a3f30dac6a10fde5d7808faa176da6d56a3c41ee1fc09fac610dccf469f82efa5548caccf3035f434c24026823238b090395b212a8675aadf91f338d3dd58a23fd856b2f35aca6255d128f32b946d89230dc183d3e6acf3a70f01e16c97e32f1b01bd12eacddcc0a9bcc07e17c99dcd4a5a36c2399ca9c64c74d2defbfa5a48ee7984109a58097b457a11ba687fbdbe51d9c9fbb965355390c13e8cb2ed03e50678286f159cfc4ced1d1c06b9b15996b894704e3b041d95500ae5ffe641d405c46f452d5160f841d62b6a6994f567298d779ecbb8c2f2517f8d6e2f75a9fa85b16d904b7816c34844d98260736e7c5e2a76d976e7148ccc3615ea300b80ac579ffb2abbfdb60698b530b340e3356cb781b5df7eac30f96fdded9179b9041a1dedef5c9b41b39dc0f35f06c2903b94311524044a270616147f664c42927624dd5be6aa18820b35a4eab7773a12abf4cc8e96eed0156c8aafe82e2e2bc8a35189f356de31b9bd04a69e82d286339f996984b9c47c66f333ed64d6bd3d74970575e8ae10afd1f52558634a162fa25786ee121cf29991efbe6d61dc1912ba4b3e04f4055122c667e6320ae2976566494eee571f3494170b7888a52cf225a036d1121a99030456f088e7a311fb981de5750a1058a70d72034455b9a6e10ec84631061a56026a1b5187ee0ec86672f4a55ae892204d5aad3bab0a41d71703f50ae4e4c812d9c5e220f1620111498c02fc5d01d0a5b2e67f9e8c408dccc3504360ea22b66552e3f636986875e9f9cf1c752abc33c7d24e602909659c61d7b0e13e400e9ad5762bba0896f0996341b28b04f82a94659692c760c4541d0f778bbe0868e443f40ac74566f6f4ff8c2049c0a033fb4d8b0e121019cb35340cd386958617fa87560eb3194fc98611604285d89c6191ca5d4bccf804880602ef8c0d3d778e9e03b28bee66f569c2bc7489f595163dcc242f66fa7227dee1205650637859ec60136ab11520b4e9e2af9361796ff1343d081180b0d12caab27011c569d86c0c23041c2567b1cea48f90959cda0215dfd2e87cd820d513190daccf9cd10bda6d2d8e25fb905873a64deea52b1c015728acfafd6a3e81bb48fa4e80308c143d2ba97c51d13ae6b0426a368e3d324bd8961ee5d7b40353ab3cfdf42917441b9ad6bc1b4e1e56aeceae95c2a6e180e0a89557a4e6b4f2b4b5ff51b44bb64888409c9320db7244e1c9b31fdadd6d3e0f0d1004713523d37b60b759a523245d90df3350d3cad58389959a16a4fd4173d5770f853a52eaa492ffe6b20b17754a2c6b64456e32a51362e41a0c0691627edd55c6c3283f23878ee57436f40abe691c1d61bac6e1098ec94e2ef70326ae92eb0c568d9376626ec023b61f5099f12d434ee37ad5d48873bdcb96080c5f2fdc98ab799a95ad323ec39ef4e0c35d8de0b5dd6016431c3ed1ba61dcf0f602248ee965ccf3035772a1ed8d8a7158ac8512fece100ea19f8ff91fc927dea3864b653ce4ee4a5e440edc355936669c3edb206c4a6a29e6bb3d55d5cff37dd870cd2a909d212af706649a05d02823cddc0c01200fd53a946e30f6599132240d9fc079ee685f4ff6b14785b26081e9c08b9147c80c551ed2f84155057c3beb74efe77855ff20c0b624e254f3509ba3b1eb6109af98c1f4da64fcdb184e90c5e2a8e8ffae7e535d7e0d81e1eb3782c161fe333bb8cea065354c07ceea01538fd471877a53bc6e5100ec39d6b4b6d0d4da0c16c6d2b9edf6ee1e7284699036e0fdb30dd901c77afda1ee89e6f5416bedbc1959a4b49f64c414c9798dc083314425f73cb3e2b3a9ff2a4bccd23260bf71cc554a876bf60b32586e2862923a9439c7b0701c46221f8979dec1af74c32714aab670846ab464fabd6f77000809ec2842c6216d8e4e57b2f7d2acafcc422f97fa3536fd5d3059faa52c1a1892464596757595c6bb8e5d30177ff363f2e97832a936b047c462b5328c975417af9847e726538317929f9d1a0e2eeb8736d2bd1989e136149f225257bbdb8e27f5480b9d78ef6605fc3845abb5e1fdb1c689de59f41f7e66088d6beed279cae87ce2541fc141943ef9e2802b51f098c8fe56e470857059269d648c9ae076d0637670ac9ef66f1ffd354c036ab2bfbe50644fb08d47121e9d66ad468b7b4e8c5573ab6fe354a9d0bb48bba54378e8bd9f0aeea197c65cd75887c6fd42f882fd93157e2daa89759d35579ad7f3a353db4d0983b22ed327bb5b9cb51bb73212dd85aa2a7e5ae25d9c03892998a9251c45e887d48bae8a28e19c64c36b8b6af0779080ec1900df035e144ac47fdf78ed79fb48517532514814af3c2b8487132edb3c33500dd8780b2186d055f3bacf47a9cbe2fc227b74396816946f6c17a5366bcf0032b43a718a16674672d1b6818b9053dd3dab5fd004b3ec2f677e0bc26470c79c7119e29ce9d3d956b94c51e55c33b67403bf30b56f42fe165fdefae5841e32726f68a090ad7d3e69a49ca6b618b4c7313517a0f111ec97cdb10f34a6b805377fe0700d2bbaa3871d7df9a66cb153738f955e16ccec7ac78bb046bc1f5863aab14c7808a5a6afebe091bc88a3ddf8a30b19aeac0a8a8403c460cbfacd8e9461e829ae5340a9b6083e7ef4d19a140d82d81e6841e8719988b81772d03c4fab930cb81dbddc193eb9d54ccf33b22fd05b5bc7153b765a6b13e2b48c6182ec797e2a77bf7963838236d4ab1d84a6a2975903d100cfa559d2beae558a40d643d94e974e9b0557407c7f900e1e0f315501648556302773ee741a5fffab961bf6201288dc37f67003074dd739cb23f7b2d66da7592ec17b5d440d731b63e280589621ad1e8122d0f7883a89ec8361bde8afb481e902c12a6be6e0840f70e87389ceba5081a0a9fc92f542c891dc813d70cb03ba8cf8401980fada69e2f169dd827064da1cfed1bcc9478b16f3447fa8da514b77065b1131210a7e6161d0595e01baae408ea05cc1831b070b9f29de48ec29f92f3567986a7d48dea77ea376d21110a12b063efbc14df14f669987d089613177d2ebe221f40ec1ab249376d419aeb50f4429fc155d12b56475d3128e3c9681669f37654406399c5fd8bab33c9f8173145178eaa626899bb4060b42fa584b1b4a28587db8f08d51bec2526a141ae6aef3829b1b1c95dcf5ac0e03517cae9c0e93f53c068743025cf2ae5fd113b7e20249fca93ae8a46de75716aa4bd25312dfcefdfd73944719e4e6a600531ac85aa78e4809dafd5360f22368d12c4d858f5852815b2c209a104f08d6763f28adc1851dbf89fc4907e9a76e5e52bb7b1ee1c7c72d283d2b510ef88f8a669b8ce8b067c1396a27f07e4e58d97c00b78813ad0be346094c17df9683813338aa179ed1b172c5ad84c788ada1d9ca632c11f9ca356c4856f34b2bd74a7ab9d5e669f819dbf073f08cc983652d19c0f9c6dc584bab5c2987aee26d35ff9846c78ab86475bdcc026d1a744d5afedcd72a6b095efe44a13383b6f349444d236e05e4c1a20799c1d3a323359e95d6eb1106e3b2c8c0967c5ac893a1e7916a36c044b496e60f1333df9d3d0e8954cd6684440227a61e86a6fa054aeb2db253145ef9deecafb89a55ca071758320b75a84396b3621d8d03558f70bb18344d743bee48ae45cc8f6d917176a6010c6ee9dba36b6e44a7cefad874dd1907ae51f26496c78c68020e428082df9aa52c3099559c02d0418b18ee889c1c388493859e1266687150ad7e047ec992be1c66495f10ef9ca4bd58531c06f9d4a9912611d56d9b7670182bc51dc34d9f514e5176e80f91b38154a2b310bf8d0f22141e6b9e762143401edc7a867ba2aeebddf99a6660a038d1247fed97ff9d0fbcb4f2ec39a92736280366e78a1a1e1c4c73354192ca23ede46d089f1b94af4a38058e78860ece1e7a8614ffbca8fd61fd16e810dbe57b04a97d9b37c815f16fc07c1d65ae47e3e75d13bdc32b5cf21fed85302e65c7e9f84e3c620999d086ba42a296c8be4cd7aa91cf3b48355d3e2d5d1a344e6b21af9e5145c04d52cf8950aa28ce7ef8d659e2646f64f8c6329df154ec31815decd30ec703451f723881190b5fae53dc852a72bd19f78903622302bec448cdd35413356c8621b941fb6c23c5755c15e8de044f786c980716019318e833bbd86394bbe3d2f4f069c681dadc7af338a1152cb689d1096c1552192a634348555f803a36ce10a2a0d77ae88da2f003c71a2be658d4dec42a475da2823cc66e132c4a6658df0212e20b0986915ec4dfd924f67e78fe86b5c15ac196c1ece0b7b4f7e3fa95ba5ef863135724d88c793f3994f8db764e34b513d342456a6471a8c30f05eabec6ff84d9536682425580fa5de42f1cb461c2174647f16b68730728f86d47abac71de53016d9d10feaaa1ea8886bb9ab8f2eb4a08a32314d260d338148082e1a758e8aa02121cf4d6b78b51ac2e74fe28193ce68c56e3eeaa37a490f8c434bdf3fc67089caac09217ca45409958bd055e5646aeb92f319966c28dda9962900ab6afab7b4a012396b8c8b8d58abc6f856ec81a7a5a7b81b53783e746558335b4de079e838731865c8ff42db3f6a507db9a19a9915d66335f70471f2755713304218cdc5d0b68e869b25f597bb8292fcbe8433ea0fa51b60eaa5ca86cd26d3103dfc597c7a33de4606bbc6ea0279c1c61af948aafc469b10eb4f8552f649c06aeb020e025d26f33116700ae1ba5026eee13ff718bb9c7668c79554944fd7a2cd88889480a474e8db28a5fbb4c27bd120b0922acea16d1cac82a471037083c09b26e1a6542b65764b012a7e911aaab7757153cf02d6ef5a91fc00b75e2b9997ead95eb1a8aa4eb5b40b22f197ec3e269c352af8635e2c1c244c3e0fe070ea89198ad1d387f92a367ca872adbfb942c3d9c8981c572d181b6dbf3fa21010b86eedf23c96c9f07c64da3f95b6f214042ecbabccc2df68b8c92b92ff5a40e3018514dbe83034486d0c738dcefd983c37b685edf66d25f700b34d0c1e2810c65ca7e6093589bcc7f34f048d34c51717865ea961a45740681f9d214c1723d4573e96efa35aa1051b5f35f03de3610a44ee78aff8578db94c4e4a8c3e890525a67f1b6f53688ea2af981b574fdc10c61d1399afbfadb6deb13ab2f38e86e5b919abfd1d463e7bd13025e0dd779265856e51c52e9e214de591bed984269469b329a0fafe6977793f9ddfc872de67ba13b67063ebb0539ac61158255ab7c6e64c1ce70b6e697bcc1411fe8763cb5226728b0a249729371e0cbcfcbff526caa1fe8050e50c43fd63e682d62d273cc2c254c9c317e7ee2e5f853628b416c190e887e8025b4bd7bbe9e1aa75bbca4469aafe415763a4db17b4dceee27ff0337e1f2ec3eee7423c60a985a181112a52cc0cb432565c2849d45e64bba6a6697f6e834e2d6ed194613ed53342115d4861eb0199dbb5ffc6c8389762e848733128a7584761414774a30c04d49dd76c60c1dfe1a5f122e69435d255f95ee53b147ac71a8c6a26bbdc17712a08a35e90ea8de7a3bb5ef1e7a425d4d7348d49e0eefe5586f332d0abd15eb9d44907a2f8d198b222c138b6b8e0563e8eea21e40a66b7c6b5c986134e3ef3c4c432c1a68a70dd4268eb584f0b8fda9df916a34e13eef5db6bd68c69a1a2ce55236f03b5d8989519ad4c7fd5bb4a14fb1444d26758eca58d38d624dafc9042fd6bee2ecc85ffeb49067433c931a5e87e8c204e52e1481ccf3c3d795becbeeb253d187d04cd72749e2a4fb1f1c792a74eadfc8a27779edbdb1e945e13c0a090f727b1edd82e10ed0dc5019f43cb371177049e657aa665c3e9e2010a268589d26fd93ea76c1fd3ad947123d01f2ed4ca5a2636f235374964ac306b6d6dab97a66fb330dc2aa9902b24d8a17c69fd25348d09f6e6c726b3d1c35c66436757e5d3e832cde97735628a5a5f09d4400afd02f69296529750726d4e323d692c41e20d40e4bab0e59c41c5ace9bd72c0ae01e6a00c50a47a00d2eaf19ecec58c81932fffc558b8ca26ca1a5893246b2dbcba82777ffcdd61a51aa133ad8ed5f9a5078a1cfde29ed4c6fa211e9b93d023b64899e9ca1b446171f86e51e48879901806281d3642ba493835463842fe57ccbe98b05e02b83ab0e0701761a27da3c66c41c2f124f7447afa60b9df58ca9c34cbc5aa5cbda4005c0899d47be1ae535440831add11a7eeae9ff926312897934ad4f4749b00b04e28de36fee0607ae727e9b6a70e6a348fba5ef582e6dd4422cc1682f4a0956819a11114f9d7c6d3a420bb477d60ac613a6cde1d7d51d2d3adfb7216fa73cbb9963d5ea284638ec87cd11ecdd023186853b501468ff2acfa066e11d8f86fa12a6f40cd51e6289b6039affd386e3566f0394288190e8b74cf856c95b4d02bf0f61c26347a3440779d2c6db60a58ab0cb19a6517d2fcc8496b9e7a634495e2cba8917fd5543aa5f8c33a9da69dd091bcc5088109d69aa64efa028c90c7149a138f9194200d07f3473abad49207eed422c833dd9bb2b04688a8c81ae5003ae6a5da65cc8f2569adf2488474538413002395c961eef79c813e5e5de4f61c6b55c46f776c0e14f64d4759e4c6f7d0911a8c30a27ff554e598819e2c4c32eafca91949b854510ae519dc9cde263c6c0651340565dc7ffb1f6aca41866e57cf6fb77a74eb9e87a4717196653f798f0b50e7ae1ad665102c870c82734dd97c5a62f66a871e3696827e7e82e83c61c3dd9cb35dcbd61f059dd8a636b37de31c536ac9e223858371d8252a06450e733a3836a85eb9c64de969b974904eb932f85f72e3b0f1c504dd8bff4ce210c35087740dbd030913855117509b40538302496a8ccd2e38dc2d71d87778d65c5f4cca3269df48c8292516b50897527be8590d5338964df10e8525122f377f9eab36796603575433edba7f86a7a4909014073320245cfbf97bdf51c9f941cf83e3f2760a9a327f1a05f1e24fa06f00858cfbeb90d3805901d09e0a814efd0508f306341e856d14dc796e3f9860ba6a673583a20a8ea137940016208cdff9792cb0f8f0807b9d1ed17af6637f677719503c1c7db4efe155b378d010dd0232e1c50920f3e307f490c8cd53a44c67aa68e9668a58d1ef341b89b095bb36c3f08320e9a1ac7733136b6d323b039a2ee90584014914c309c3fc3ba0139b92da5bbb311c14de28345b3821347a1ba25fd7c9ad70fea4423e6e221e4d8fb6f4103a3b008efd0f75c291bbddb0714db2ecb799cf9b0356c3a45bdd137946e03c8be95e7f52f4b5d803f6f809d264e013ab0421bd595d8a6894b04af95d980e77cee88282a86352e0d12f65600901d1f2cb5576da6b31c95d5f2354d1ccbd80afc64f82988f2c7c6dbcbc787db79e86b2c2285291a788b111c4421992fddcce63ec3e4606e82b454b55a8e3e71b6cc8231052f5d2c1af2260edbc06a109aa7c7696bc09ab0ed52a63f28b1f036780c403ae9aba0b3ca49bfffca5f359676b1a0b8373fb1fd34467a663175827e8fe959ff7f88bda4a56802c402745ec5162bfd745694941ecd0a5a34525af09e9b9255a43e42bb61e21baeff9a8c9bc17ee995263972c827564402580b5bfb62c2d59bba50fa19d452d10d3445d2ddb0e52cfd728146ca0498711d4c29ab11db9d58e84b8b4aa88bb2f5290ca4252f59696b66894ab4870a19c32a200536b5cd0ccd0506d80486f34bc36a786b62751deb21e09b9ca58876fa56efe99508cb3d35d9f169cff10194a97788cf13d5781eee0c89b4360c452b3e3e7e96290e4187fca8c282c111eb13d03664fb7cf94b587239ed7a59b0369fb3b8035b68baadaa5d4c2f07574f6e8f61fc4b007746f641d8981a8db97f146cc12c8ab36cc8bd9201c6f578ae9a62c09a9064647bf98cb6bb72830afcf1b32aa45432d96a6fc8d1f848d1c52ffc478eb1913550fcd44aaea76e5ffbd2aad04ffd48b304cfe9684f181a11a66dc7d4e38c712caf17de59a40a435885d13d3697e6450a9b1229969cec4ee2d9292260bdbda9ee9662dc02e5e84b315d867aa904bd7819e414a2a3d3a46a8f57880b4290a24ae546886c88b5a27302b77727e3ea57f6e6050dde0615dcc9e6c12fc58cf34e747b9487cc342618f72c00e3cddcbcc9002e5c039d687b79bcb1fd61dae0d164835447cac5063c00abc8b82046e99d7f68a6dd0ece37b68ef73a8ad45f7eced4c9bc4e49935b5623034369642cbce959ff0eebdb4f0a24be1cfae2e3cc50e9c603121b673e96b013b7b05c0aa964a6bff9943e2aa19c452519f5718b9f388836ffee621d078c41bc537835ccbc95096a1bdf35981f7ca6985707a678ebca7f4f53dac73cecff4b03e26274c17407904da9f904cc6e9d7e337ad70d13ea3f8bebec7ae58911cfc95d0a54dcc0987248a6278a5103f1339c54033a8cc44ac86fa86a47a80bb15072770848a1fc0b15a2b2198a146cfa733fdc23ace0898529394a3090a2c0989354efb2df81c55fd3c4dd9a975b29116ad2fd0871fd7dd1937271a7ace3a830d1ce852ae08a1d681107761cba0a4ee82c8501aacd08ddeb65dade65627463a6c701c2e0cb5acd2a650ee9f23aeefb2be49bddd8ae250463eb7891df8ea91da8f79348f98dac0141b59a20426d63f8c468df0a4aa308d083ce5a939fe554aa5465b43da2e61f9b4f6f01c9f937936c757a33a9021c3b64217ec43345fd0e0435e1b4377d4aa68c2aced85c5b3e612f72b9e9bb649024291d828821f89b85909d2da451c5b3b8970901799d9ebd18260e8aa90cf0facee41de153d44467238d6e58c87adfccb4349cebed7708ee41bed256a9a53f379d1585b3be9914118b8a0ac3e4f5534ef81d2357b88f0d3abb5dc4e48f19c0ca8ce8f7ef26591adf79e660f7f3f3295666f753f60141b6b42c7d45f028dbd5df8b8d93a9b71ab6c2746640a7b7af1ad31d0279a7f671ef6d9d3e60e0aa4dbeec6e1a8ff6d602f37ee9c02bdc23b0d8653b78ae88c09b01559fedd6b1ac16ecd3d0a63814df35c697c641d815eb6a2590524dd8ea3462d1ca159af6eb5a22835ac5564f1564511e94cc945fa08d268c8088f38bb86f1c782620a8aa32c6fad954c0dc5a5acb2d2ccca0b92efe5ec0eb73de6a5c7466ddde933f9e440669c9db8d7323fb587675126154719df13635e757c2d40de7bb52cfb8ee5dba9b5ffc45d1201598f81ca1ff1b3ae7bb74b1e43e449ffdf23856e233ad13fa4386e7332028b1ba56df72487f32f0d4d890c75a501c284ef6b3d483e89c8b8eb4ea7e73f3a1eedd27076b46cdc826b58fc16e58db39cca7d3cf183c0a091c2df3dad65042736fec457487a39c98a3edb0c59c7f22bb871248da841420f245b09196d798c9ec2bfbc53180bc4fb83ba93478765098b9a0b5d3c88863f5be4eceb5c67bcec2e073bd940884075724ac93daa84d9536296945ad4f3ff323e822f239181821d737c9a029b35176a0916d2a1230298a086ea4ad38c85e2a028cbdbbf85ee120c74c24a517281f3d735a293669134e8089772b1dd35ca891bbe6df21b922689b4292a3a5b956b4fd0d073340bf02ebe870ca77fe6f67745518c13bfe111e1d8a0715129afaf136edfa5548d08a3420e00af755da51b83719a51b25a00600e8899e0f901bb8870c6defc17c9e2f4d07b8019334034df3651f3d08d10e848564462280cfd6b6e516c95013f8953cc4b712fa526c271db33910bee836ec58f770022ee761de1b3b47e660df8b600b26596a018734f56d9750f71dee2721674eba34f1f1e3aa8112f47ac6944f35d988424251820c866999e5739d7bcfbb1337d1fcaa8165fe5846151ae29d4f6ed2428109bddf017a692b51cafa3fae32330e9cb6219463f107e00e8e3253d493b85867ba65b2a6bc2007275599adddaa984752ee11e3e2e5ba1c19ad25090c8b8b4bbffef5652ba8fab4e454f655242a02fb38961954e9feb72f6023d04a08d1caa18ec4a900113e5efceb294603626bcd5226522637c4c6e3d97cbd20a164d48efeb1a1f06ed47c1dfae1b2ef0a61343a023a3719414f401e723a7dceb48798efdadc27bebca1de5541bc65e888b8778bc7c533fa11772a37ec3b1080a2a54552806d6b0006c186f111f309c8a4988d05f05743b440fc053e352172ef2db7dc522699a4943bbe03ea03f603b2fbff6f9dc8a8ebde7b41fae415dce01b9aa3395082fb73d54fc865685cb6c3b55fbedf1575bbcb2610d7653701255ffeeebd9ebf1f4b5aa56f28feeb270718d7bab715c36b1f7472faf4b96ccae813cd51db9376a708c85c5f0622caecb3b96baf6db1542fd0301217eaa264b3166bc5625115b556d3f4f6994e4b57235c755b4bbb76175ab9abb4aef7eefb546dae8921096a7dd1cd72e293526e29a594524a29a5eca63690dcc2c2abbaac9039a79c334a6fb7da62c5124a4a205d6a54a6709f5edead670eb2d627914fa6c1baadadfbf711b9ff65aba7a9d8e2d7d7d2d8ca2adf6689a30669f17ee0faec7a6fd775ac990c0b8d0c1754c88c91464d175f78b3df72bb6374994db7d1ae8db4b935f8410f9178cabc5a69905fd0af5c3488504cca60533b6a7cd2b933b05cecc9f6784939fd79dd2f6bef637d1ec8909640d46838453c6cef1a1fbee08ab95eda5d6f867ad7bbad760f723722d301d3e512b8228617ce3bb1d15ceb0b84aa1fae9e4b232823be57defb54ef98e58e6ab52323b55a17a35a199cf6a63373ca18a9b9a1497d7fd4da7a898aeccb69ef44f47aad490715d25fa7a71b86f75ebcbd8b7558171676e16b8f7a7f57abb4be5b86201edc579121315bc7c4da2c9d97cf64b1e6d4d1b935c856d5a83c51a09456d998686c107dd97573ced2269bb29cc16991607c1388bfabd56af3f48c2708ad8cc8c6d70b392de3d961bd545ae7a5ff6752abb0cf14071d2055d1c14b98f55abd6a6e5645240c546265200831f41ea8e6bdb1a31065f5aa92c2116fdb5dc5f711efa582f53c6f87693e2fe7ec61d7f40f046b500cd41bf438049fc5bd47281f9f06f5cc18d4baca6db4a50e3ea4bc007b52f4b2e8f29cc6415154debf8f7739e3202070ea3483e7841e24f29d7a110f1690e3d8755de7759dd6b4765dd74d2965376bf020745290149a42f4d3c0854cdb76d7f9efe35a83eefeea9adada755ab44764953fbcfbe4f570de9142e48cfe19d5fd6781998e524a29dd948515b694d4917cc96d8e9bdb7dbadc33ad1564e4536447544ed940cd822df444b24b49485f86a4940a51ba8546bd94d2d65adf56ab644868ba5321feffbfb39f89b4bf844c219d2d46a7d63237f38a1157eab93b346f967c6165c91158b2c450c313612cbd413403230516cbb2536b4ec38ec49821278b2afd96adcdb92a79cf5ff7f53a671771d24ae906da7b5f97924a3ae7d1fdbc1f8318ffc7fe1ffff761f0fb643250218c67188260b82718deeffbe6eb1d05fc643368ad1fffc6fa75cef7f187dffe0fccf831063f0b869fdfcb1e08866118deecedf7f297bffc7d9ef7ffffc21f56824f3e9a8b32582799d0407d4a3455b20fa099afc9a31296e1d1b4186589fe8ac09461435e437f1b37498a0928379cc229fa36e19bf6b40023851425252d1a7966743844a6820c1b3e375ac74d12ed3d8961abfd9bbfb964497a46c57b42c25b92d1b01a483ed8d9d3122935401c9b3798889c28366d9cc8d4139b3544e220b1e9021349c388cd1598081a391cb6a21a80b01bbae7c94aa1575c5c2c5a4f91a368ff82715b9a348f125e187aa78736f41391831a36568c4f8ae264ff2a7e051c480fa0f167ebb446a09f3dfe6c201d203d785ae10469f6afe2f7ecbdd6f3bff7effd9b3305a5a8c3b6bc7fabffd5b2a307db5f9562977bef1037ad2bde201982f9c3dea55b02df35e6f3faf6091283cdf18747a745e93bf55a73feffcf5a8befbd9ee77917e3effbacb51e62461592718f0ec70a3f0cf5a8b51ef557d5a8b5d67aae3aadb51e8368d53df38d933239454a6958ff9dba57b0d6fcff9fb516df7b3dcff32ec6f9ab94ca18b8c5fdaec5ad43d808c6827cdfe75c3fdf59021f6a081303fce339ed0c649377ad42ad69188a7a6a99c10d8b8d60feaf2a55a7f538f75d60098d594e56da0664e513290d4175ca39a59ccfc335f678952ed075ddece6eca6ed5eb1e9fbbacb1f75d3d8dc524a091b149dbc7a6252af6f63f803aa8ebf1cd37a5f1878c306a6950d4cf963ce19a6f8baaa9ccecf6bee12033200107e1500b480123a798231e9cd9d611a6287fce31ef7b86afdef74aff5dfda7b3d8f7e18b6dfeed905c9eaaab72f59c1f4d79099dfaddd4eddf3873d2020a0a08963d765d0fdae975d3d3c3e90f7553f860fe3fb7dd96d9ef941b086a18b22d5bad6a9c2d395770020c8fa793d36950dbfbeeba273ca208db703370673c08a9a828e3fcfcb2531cb4043299d4495fa40c560c9591839f34247ad415a63444ed453b2067567544590f0c0c809d4eff62c2a23892497a44dee28326090bbbbbb43b13981b95db0440e728cbec0e11086294d992927446021a60904e114a828a91c5de38537c97a0d54cbcc376a3a03e7eb8dee443a62f105860da46933eb30087e46398d18bf47e4aca6857354701aec91b140d0b5f4c3d021e8bf569f052da9c282d28454a68aff272f52d47cc146eb891a95ef586c4c14075ce1dec594992bd478e166afa1a6498b01384c11d5a07933c6a525a3038ba966bf5a93bed7b665490a4ad78e60557906b354ab968e166acdc6156dab6ab0d80422972f4b576fcb31c8d53198deb1af0e394188110f6c1d5397bbf7deea94f35a287a775b186cebb9346754eaefbdd6da23299aa34f34479d6894751994d49ca9640e5d6fd27d66338d383d73d9bd9f75aa79d66a9f53cee63efbb9d7ee3c3327d238966ad57299ce6d5d3daac6cddab0ead4e6014d4d45b55aad56ab6dd9b2658b4d26b3c96c678a8ace2ce576e4e6348d4b3b748c397e461fea3adbe2e8a1349a34d278683b493ab2a525d992ec80275aac39e79c2b30b435d9405b934a8bb336b784606d4bb677ca66d12cfab02773340b2d63a51639e7ab776c967237ac19b267906fdf71d49a62fad14d3788f73fa5943e7eefffff76bb931378f7eeeeaf5d3b3183bfff8e5ed7755dd7d9ae73384c9820c1840913264c8c94e876691f06fc00db01a5432ac79c9f313d659a70e08efc0083a40752012d284f8608902c25b30186606208c391006cac8c20f178526d00043a00c0ede53ae0a9a3526e507e11a3f1f21cb9f1ec1f9d9ef9d006bc3492a81e05745143040ccd069831c166475050021c2121f1400a0069cc18a03133005ef2e9e8c8f584a3dd1cda2f09eb74bc72bc7edce596ef195cb5583876f6fbe0a04637a391e775dba1381c3d40089dd6a493b24291098a2964825aa9f4441a23864863c0ebcdd9d19c1de50f9709e339695ac5b4f399705670ee43ea54a90dddb620594a02da417ac05a5dfe2df5aef53efa8324d3c9d898004088b95c395c247c02ec1c2548002401040ef831556f6451e3968e8f3974ecd82e9f1ed8000414d0c3001f3c7efcbc00404aea801240e0070f1f06f42880800104780126000f017800050004c0eba7e7e7c7c7d51a4f70b9f4dea1e3e7851c3f3e3f3e3d387a6ea3eb48d40c8ae869e79680ab02045c1a1ce07220e68a604c52cb1544742082dbed76bbdd6eb7dbed76bba9beeebb0fd42f7afba5eeae4f97edf6eefc5c9602fbfe7ef5dde92a6d51ead1fd614ceb57faf656cfb1ffbbbbbbbbbb6feaf4cb634b36e0f18812d7ee455d5f7559dc63efe0e9e1eef7661effedcf9b2a22aaddd56e6af126e2f845ddbfdeb75ab0cde22e50a2a7b5a265954d26b7396b2d8d563c8487b09cd6ebfd7bb7ef7aaf77aff55aabdbf7acdfacffa7fae541a5c5e2b7971b068b057e4ba9abd60e04a99d09fa7ffc4a750c06846e2073869ecd76fbd7fc58fe5b29a3741cb5ce60dea0d75a692bccde179e6004483d32270644b44f2bbd1ee4c34ea9ed6ae834f7fc7cdaecaee9ee8eb14af43cb0ba6a1cb5d6e2b6777e14639f9dc576536a3dfbf5d272b5aeeb3a05b4ddb5ceaef6b840562dcdfedec133a9f85929af94b63b6a1d82f75ef04a6bad45925134486be8dbefbfc26fdfcf55411b7ad001e90e4a5ed90292165e90b2022bf548ac88126b055d576e3566c897de7db9e048348e164471cca90c508620820ac366e8ca9c29a8482242ca1a265a7804644a36c55495256d2cd1068d2a723ad810441835422a381d35504b8e6d93260142cfd94998d4226fb73deaee0e9b4e73bdb1a5417aa5beef7f1f1642bdfa19075013ddcd392b28dfd65aabc5f6971ebf7bd75e179244df464a444a4a4a37252525a5253725222525a59b529b8964dfa06f4cf03e1f49d4f5a75cee48ee84277fcf3d133c2339af468085d8f097f387c12140f04946c9a929ab40dc5b712e47576b50fafe524af9b5bebbbffcfacee457fe8a5fc19ead56f75a71add52b95b25629435969a5f425fd9795d6fad25a6b2bf6a4d45afd2bf668f5ca5ff12bd8b3595babb5d7d6df363b7faa90f4932f00bc6fda4dc14c7f211683c1f69e9a9aaa564afa6ff3db0c5a4ac3177f46a0bd45184c74bf9ee78edfffc5fae57cf527b3cca0044129431c86f945a097a8b3f8e2f181d63a4bd76b8430168bc5c2d58ca088072c2762acd58ac562b55af4bbae6372c59abceb242d5b9f7f676776f4fd678a242963f45784a7a49f96458b39589cf6e6c8c429e274e18485f46db266f487c516dab221c6cdedb15cc01d2a46239595ce518d878d21542ddb0e1b3c64964dc70dbd9a825aa99660e92f445d65b6c2228b464b2a2f3a9ca2b17c2013e2949ccf846b3c013f1cb8060e3bd86896e77cde11d3f706bc4f685a392d2e15dc17151427a410315aa1a921f39962d35324ca99292e544594308255617dd0611340a0182bf9ca121f4e3b12610e43602efa8998f41dca4b686c94e493e98f32878029522303eff9f554e3bd41314aadd7ea4fed945e655272e5e5b285a61c1bc43de55421ca69b280d6d73ec5195213c76947c5d1a43a3057aa4dcfb555f9e2dd8006f84e04cc9a70ea0e4736e70e672e0f68acc952682e6ae0e0f084b858a66e8f1b9a38e92109242e6668a8210c931dc47c813205451b396b2ec5727b985054923e038a9613a7674b755c786123c4194d98e12286082d527401e3d4260a3259ded4c02a43394411e28d29c2280140c692319486e024dd102e4175b65b162f685dc879a368c80809222d65b4d1c4132514a2ce7882860d4350a412f052a5ccd494d210356041a362a3c32209cde94b935952166396b4084324064b93274f7cd133b6a78f9c139c34cc5891e48d083f206901936489366e926028b249e530c70d282b683052a244a609519ca9294e70c162c2d112060e943663c0a011463785bbd206162325577068a27b239b51d132548390d3066cc8c981872952781923bc22a5a5d338ea61098d090e6ed278110444196f142921a586891029aae6c5997b764123659446185dac59b262e424c90b27435114854c54619246105aa42073c497ae8d97395a90a0e20b34be08add4d9d129c3a8bc281dddeebb8bad94f2de17eedd7fffbdbb3aa236c1465f91c1a0c96115db0595375186705190c47463bc29c2a98913246845a87933cb3ae004e1a0a739f5b5ef8e430bfe4577b0af0fe401eccacac401b8a79b5a6b2dbedb5a6aedfd6dadf569fbaeeb9cbccfc79ecbe5e5ff7f57901b3277810e3267011341b55629e9aed5ebf69944abbfa8960b9c2449c2254992244992fc9875b9ae1b75e4f8f11132eef4e00841c708ab25c34a168245aa9aa8b764dbb567762c7d4d1ea6f585d078f6681b4348da69ea643299915c2e9793614e374766b3c96cb2a298fbb884acb9b70800030442488499cac5c9652139282c05621444410cc45014c0400883324019629c42a84e0b33170772701d5ad8e5ea54ac108728c4a15cd14dadd90eee0d79a177117f6d04906e2e4a1105d1982320f18570c35f2c19c8facd08474d590a89b66bddb7b0886f72ca53ca519a9f9eab6f02cfdc3d2bb07b2a7cbe992b13c400b10a25901c5b0888a314975ce9838dea1fba6d5ddc4230393e4c6635b18ef63c76bafe36b808148c02fe79e8b1f8a90c1fb846583365d561baed8f9d10d22efe7a7432e51ab6d04e89c45344f3959f44d35bf860a502db968e046624e854991434abfdd1758da7caa4f7074fd20ad4d248c9c801d5ed1824bfa7474b86621ff23cff2ddcd032641a80dcc2c4b877b032a35a78af4cc99ff223aead008f9397d2b02bb918198dbeaafac3d4a4a2acfd20cae2342612b6f547c6f9c146cbd6e3d1a2fd359d48ad78cfd3e04ddee4358ce51147af59cdad0c7adbff04c2ac80d9c37ab69fc37b4eba4dd341283b12b14b439702c6e061784ec9ad0c1efbdaf0259b90a0574a3404b18efff88d7c0e2a783c92ce0c98363c44ef72fd00a966d6ff5a8d6e38254dd7e0b72a3ff734f334ee5f9ae83a29382e4f64675441940c24b4f89d83270ededf0808a684fe6dec9f31dd54efa53ad7e9fdd405f50cbd0a463d0caa8f3b9e024b98e96b0491be1fffb952854508f3374685f6a73ca6666737f0cb443bde6670a35c0ce0e34b174f974671a81d30e370a5a95840d23a8385589ad724513342eb8f9404f359bc3f547f27d052473f70bb877be7a5fd914fc050f608c9134d02f347f74eb4b0fcf7f395ec487296548f527f5d9a5c27667cfaf02346951a6de96febc5537dfcf1c144febb08e8f49d16024af323a9d2ed524540e9fd7b2a98f9b873229a5f6611cf6b1a9b66e6f71ca03408b860fba40ce86aee00e192a27ea4186daabfe35b95900a457809f8c2cccaf449022d2892fdcec127bd3203afd9c47fe8336e0181788f261a8102d83ae7f49a705f3042871df4220ee8c06d3681403ca0df9af4fa6376c728c6e06b4d714c11352ba3c769c10da78ffd431f1b81f579bfa196902f19297118bd8f5d3c60303e8aa32f9b307c49c0fb4ff9239170825a93d7085882035b09ab6f6100d7c5979157004307721ac5c2e39db0a60a241c9461a13c5936a20de52456f3a9bc2cf045d39b61a38dba2ece5197fe12a9ebb4f2ae264a2ffca022996d474430a27c32492182a846ced79cb9e4b40981a2cf55b403660850786cea31a269e74ec1b8744e192f2085cc18f01f9455f2539925300f545d5eccec7f896dae5bc1a75d72e49832723608928eadfd9a1ec252f7504e2a26cd9f497f4991a74d0e743423581e3ed95eb6a94e653ec4e6dc935ac3fe9fd55a998ff9ad75c487fb9f0f34af6aca784ff9b25d984be1b8c9b24bf109b6897577c3873b106c59789b37c36f8f49a61f17c7fe197e91638429863a61d763b9c532e10d7246152fe2494f9671d2201a14ad55a0f02f7466aceb17e8ac86cc1c8bddb00178bf9cdf6b29ad19e334ee5724b9679a25ea82553add2d9a0777b952ed14cd9248b7a94c9b4cf2a8b43d1ab87e6f90b1b6d66856fad1ddce18614a2ad50f8daa0b15b55734da9de1bc453d43ebe9f2adea1f9a77b5b279ae681fd0ae2b99e7d0505d56aa7fb454172ad54eda975e6f929906600c46d544dec35c434ddd72df8e558284029d4f7b4f6678e70e1f268f2e7ab81da087ea95b0f336d4ec00f3a33330652355edf7ba57e157623a47aadf34ce2d0abfe2fc03bd6865e97cc6826a63c28794310b32953d84106344042881bba96a048473642009cdfaa403b107201f5c7f969efadb84f8678280ce0c7b6941406781d8bea82501bdd8e5500e25303933ef1310d224aac275bf3f6028c17fe43e09eb72ba0cc6e5edd9aad8224b1dd27401106b29a1f52cf7771b0b2984d42239df893883ab4abc0f3e5c77b3a7a5a5f0ea4c8b308b75732c1b9e5677425d696a7d89bfaad77b05b64d086517ed025060b31c725c48a97651080c28679bb8d9d32e80461d302b66e793b5210e5216a92fccb6d4c0d29afb419b8f3174bbcb35932b60b3f8ce01bc9bc1a320b712eade946323f2b7e80b0f9d4e3e9e519802db4d3a9e702227bdd2fdcbc9d39e75cbe67993e562cad09b5da917cf4ceed7ef1378a88dd27ba2ac77f0375773f6716d5473047522e3d601e9a58e8bfdfcc57ec92c81a23c761750b6f5be60d342ed508d216b68528a4e10c2421b0f6d6fbc5ee4693d8457ee61dc924d351f8bba7a17baac7b5696771c6fd371920ff18d378a25f6dde00cf6d98845ec6e9f101bbd6728b7197cbda4afcfa6c5c2c0ceb78919fb1f157d5022a6b620c7709f2af8d04b2d5c8e666c87061ebc16bf8ede0e173e92f7f75ef82fa4b7d8f4e3006a7429023bed2b8f0a2e1c27105e83feb35f42def55eef5f02f4fa9cc60539c4f8b85b2fb301d21737d4da445b8e32e3d2cb477bb6efddfeaab51ad546da252ba3577ad3a865bc611ba1f904f4e9c049dcf529bdc2267bbdd3fb8282ed7b6923d5a7ae94a3a02f1909292df65aa2e0636c31c15263934eb464b9c97cfb10a93739420e594017e70c632834e8b4198016b3038cdb26fd0e3456be8bd052eac12599def2c4ecd8de42ec7df21e0030352eb51b3e6e39322c70eb151fa9bc71c71d89c44375f66e72a095df0a732df0c7db15d64b6f395955655714646b70b66e2f272931c5bc1a6498e44197d1538cc33c59ee31c5b15c5073cad0503fde3cd585a804272dbeb95182d50ac5e0854c8e7fde89d1006e8edccbe4868382e660351ad08e237a6bdc65a5b14a3e2c3dcc5db0b05a6c0dc9f9a4c95f1014c2911243c689b1b65444c1260e4d85c1352fbb43b6ca238cb6a204452387dbb0e9c8f10fe072b2b1d6dfb052f9177b3c098867e7aeba4740640bae16f31f25cfa5ac61b4f161d39a5fb4095292f85da8a5cea4dd716a633b06ea243cf6dcf31c1a36a795956ecc390a55cfbe61d943106d1906faac83a9fc771720524ebd2d8d0f52a108df8579bca1b1b5950b895869b9d6540536077e7d44b32acceb1a06094a68e92ad147311fc19ac2e3888455d0070c435ff3dc15ac18e17b76da81a4d47304712c9ef7b04a0abfac2dd6585e342d960ee776c291dc8d85fee050bf2ce9584e2d881fe4f7e88ea13f2d6b6081f5c4906060098758136d9c7fced1702fd15073934d5f948e5255a2fa96e102607944c5b1b07e82367d477dea76075e285acf71dd663f583f8c2f855b0b1f1ebe00395ae727040eee9dee1f78019a74ae4634e305d9e2c6cb2bd531a89da00a656f2a92597a94ac83b362b36b6467656860083166bd3981497061752f4030f6fe3ae1fdaaa432ce1bc22948968ee01306ed805e7da5e6c202201753f09669d2a51876864d7b965390ddf9d812ad5e0a3d25eddfd59ec595280c6f6b011c88b44a2920d2021ae4f2c9f2907004836f7ecf0a8e37ae04ed5ba593fe27f9718a4a28d09a73702c2883668ecd6d9909b972698cb1f9630e4002ed0fd593a6c02c165feef849102464c922c4e8cad22a5bfd9c7d715ecffbaee2ed84f32dfe6cc4c7cf0073d3321caace8e94c5e719e2c3e629abc25353d2765f4c0555686a4a58cbc55c5a89248ba47dbc191bda699c22326118e434499c9eddf10c296f90c5fc6121ec69781bcf29cece55b3092f3e468c034e285459311825a6b058106df07ac1e00ddb02cf4af1311513a10cfde3025a0f297c332a4822e99b4d558b7ba52d1afb3176e651d5aeea92f9296bbe04fc6b96242a9354be195c9dad44778cbda3e7d8821120f419b9617f5df4cd73e1ecf320fe14b63424cfdeb84929e609bc901614a23f002aecf5147f031eb04b848c152fabe02615e635c615cb13ac5692e830022609bf7fcda7198588f967f92e4ebb664483e926d660e80f3798bb3f0e4673d0c1c4ddc1393d826a9b1488e3eb7863b5933517ecc7cf0889377e9acb54a8ed46ed80fcb6b1613843adbd0f12b99e4ee512dd210d143fd04b0db74d978d0c179704e8ef82ae222b14b7250daeed612c51f1a1e1e1583cca0a2e48dcc0a8feefd441bf988b4428cf691623c4d15c4d782cef3e2ccec6b1019b87c5f11fa301d40649cc0801dcd222da2d7c26d23e71360966c0196704bf326629eb2e55a5d82cb2ccbe45e19be2492385e7f387f8687e8500b75703e09247671bde5069d5b471091bec8bdfb7c2879b23417badf2142016a2462d4356d57e161249f4c753086ad5912cfbc2bb153fb4d9b4d23858f722ade121db0aa67b5fcca8b80a9079240e47d676f9685a4ca19c934e27d55f88d362970e650f95c52bf120b237bbbb20f738d8e1a66b0fac8375e636327bf534fc8ffe02f998d1f6103ebb3880f519137139e1aed5379d090ca86dec011a620d8a421eb43e6e020037d0b620599aaeb0a73a0cb34d625480fbd1690ef1898b13830094bf90e8aeeb8108e7ea0b0301070038fda416bf93528b1866744a4c684d5c069208a0ac1979a5d0b650ec23f62e46c67be3e7aa5b022918b51f8886d2554d061b37aa7500af26ec9e6decf9989a57387db8f8014d64c584303242e942008288deef06b1b3b97310506ed5ca6c1f3591c3557493f5c2b448e1376c6b18dda0d60eab487618965a04ad923b1ceedcdbbc7e2b0999214768690c10946b80ff04c43806870a22317273b087cf07188faeaedb68a23e5f0b29e42546b8f62a3167dab85ce486346f1541b159989b7ca058c8b473da5af81a04121b219f36f278e932b28eea1c107942ee35300871d3a67c5180bf2c3539e55c0d62c5ed977fc82a88ce919aea5cd2febb2f9efa859c74a6696996c5b923b31b75cd115eceb93df1900add9a544e5b3d1024dbf6674b1fe3efa23e75841a8e339551ec70f63ae102ac87bad2fc94355f12fe69b6269449aa3f8de7e2aae81cb317d668c90a6fe29f2377f1527e7fe334cafb0a787f78f0a8fdd76ce8fdd95cb01d777960771c33500bf71b7f3590776d5359ef6172071ebc14ecd6c5284f3b21998d468aaf5dcdd1632f4300afc77e97ab6ec490f0f1fa2dcc309d5cd0d126f815925d855d4f74ef743d868f19e812af451d91194b010f87a7b39751599a2689212d60091933cac823895c0388f2c17ced684f8a8819795d499d1962e3de5fe2db829419f720e1b9e1774ac30506093304d06c60d02dd482c1f5d5c92d87907415f226d5b3c1afd0afd0770147213818b3f8aec67f760543e7e1f1052efaef6437cb94b5047c7ad81db0a2c74e81db1bbb06867d43089e579ee083c8136490993a3ebae4d903bb03821ba2a33ab67292c7ddcd39bee217111cd5f455b160970d67ef6c8754b34275a854d411c1d3bf0ae265ad170eaa9308cc5678ff38504fea139aaac87457cc9ef04658602883f6023779d81007723c3270850e3fc70df49ca563e6cc391217b4f655c35f0c1f199f52649f993ed111b62e48fd16fcbc0177ebd08e4d21e0cf352c6566ed80d6be3123fed37db0544da87bf2cff77b535ba1776ab53867f7fb77d12167ba4abdc7f7f9b66c203b31ad386138ebb8ddb0a5625c1c49ee84546b8ae0273fbb3f8ac80c8ccb2cee7d41a15d38d4d2dca70c077750fb2af10e5ff8d812787322e0d6c64814c640132269c1cfad4064e4ea744c8cf334b916517d60bcef04a0ab559fe4620b43ebe6671b34aa5012e33a20745709218981c897f2f92610ed1819dd0c3ddb683f723eab4d51824fb79ae9a60e19f53aa9050925414b79eba892189b1f70afb586e34803f7ee43cbf93e45da28f57c201775d2b9c48be81339c2d012c24ad2700d185b5e6ac154e041ed1dfa5bbdfc782c716a0f3cf6e3a41b470c2d8ad17504109b8f551fbae875fd3220e2cded68ebd696d1ec51c1f734cfd2deefadcecfac97d7904316a24b5573d93f8edce879ae78c92a4c8b40c21009f3bd34b588e24a082cef67334276f50a21f3bcd7b47f9bbc695bdd03226a80be2f36a8c7c1740507f60066d278e29a1d7bf1f29d3da8b2a3bdc0c8667e3ed9f94efce74e6235e40784c6f8643b37c1a01aff530deb52a8c977ab6646e3b7af0281b8586a5d7de682b0a910f8aa77275f5f55b5de1e0c9dee9ce9fe8eda2091cd7cae71e90637bd7d2439c8517c0f9e344e1b79e035fe4857c89f9341519edd3277a8f4ea22c7a1816a7162d507076ca1c305d23a20854e45cfc5fddb973d5ace378258ca2067c7825ddae56d9a90df32aee6a5b5040ec43848ad1b359e38dcd51a1cd4695734d7373839f6188a1f2af5b385b91bb271bcb2419bcc69f1865c39f19491cae407e0410dffcaba4dc2cd73c118a9f839c3fc73d342ea638d591b542dd1b5a5315ae9da2b489feee56cf379c5062d057051af411ad0e2bf40272249bac890a3ec584117219b05bdd9ac6e6d46e083adcfdc4774135a39b4cdafb648e6b50aee3918c2f6553a8d22d98473cdd3d3a226141877477eb6499289755586ae26d49c8a1ff9eed6ad7d19a4ad065b36c8600a9e5b6a56bc61311764d7057d25d282645a200d28b81ac2859aea6c277d9532818d49e290f1c98b7593ddb22fc0fadd6b8c36744639811405c7de6dafc33d0e890794b2ebcf723dfbc810ab4c9314c1f5603681e8c05abd892e0b90697129b55ee4441c0a1eb7a108bb72d6e818faa261c87b81006e7f6b26511da711a1e585f0a4a3b1dcb15be60adcc28273040bf98daf4744cfb56ac40898d1f9cd7967ffb1dbdc2b43cb5e225c02bfa42cdf9a70cbd08d08fb4a7f08745ea92d04a2a4d72d575f9f67df347e39e68f2c3b1e2bbd17151af25dde60705ed4e52d51eba1ac9ffccad938729e3992ca4a6994bc13d2aaaf639169f733a95391e4720ec9f933b9bdacbf5b30f3353d2df708a63f5a2d59a01c51267f6eeb73b4b0cd20b29fdf95f0e887ca462f4f8e5231a8fa4e4d3d4afabb602c4be8ac9aa75bc03e779b725413e207f362406b7ddf032c8344cf99595fd20ae7515432cee40188d4d8728be05ea58752727b189e2f51a17eda19f3116e7e9b65442dbd2798b103d8cd89882fbd5dcb1cc7026556449e91e32a5caebaaabfed4834e5673ad2f8716bbdc543bf1fbb8478a221fbb051b015c4722199e4ae44199bad144e6ceb8faebf17f68c29a7e7c7463dba1937c191c0f9c588c89e8a950793d86ac4de57b3c582684eae938adabbf75a94fbe3715b768dc3d9b0c30f47a183df2e5c30a1dd34163695d21c8e07341b535136aafc9981e018b29bb5dd44d7749e287f88bd296e505896426d6c2b4165e44b49d28a2baba29629ac582654187173e867404b7c4c56670d100402f8d0dbcf1c1ef16167dcecc5ba002358443e9e9719b283c162ea88a0ebca0e62c0d060a0226d582df81274ca705fd2baffdb9e7eed4c389c1ebfc803b9bfe714eed0a8abc478b782fead35292e348b9adc8173fad29f264d8523a9336036a6a7ee31555e45733297576d0d77b53ecb78001c26965c50705c42b95c5d0220c0a5704d6dd3052dd0355ec51cda6899db33fbbea944883948164fd3cc0a8229a5857a218c18a0140759b4def07cdd25b4d612c40debc3dc998560b136f9feef87f7b4f35f9069580c83e6cefa965501ac3362df88cd849a2f739dc8317305e2ae6fd6c9715e61961c64066d2565224beaed83012391c5bdfcacd7cd118a4b47b293ec12187b0a8a4dd5bb3229c22e1270992e9213efe4855449d8b68c82eb81b27d4b2626a38ab77de1e4bd0e55871afd529def6deefbe89532bf8980c3d6dc093a98b9c24e78ea18a73e7dc7b1ee37f76d3ace0d049b421cc6d365402c9040ff8a6427c7b00514be6517d746a22918df5657a2b32c658f3b36ca87ad65f6f747e43d8c4a30676148db1c86cfd5c0e10eee5da5787ebd720a92c78c7474725d2517854540061a779aa39c08684b6cf55cd1e56abf855d901af9aa80eccb686d472cf4655023503aaf42e54965467395a9f6537cad788932cbecbdea26999c91504aabc1970e031bdee0a747ef7acb847196914a1a22311ca34530fb2ad999076ab75bc8b678c434189bf31658b78c475a0e026874a938f22619072533a4c2bab5b88de153a23ebd23b201c83931d86a00d81d9872360e3ffaa0d462f4619956c1fdcc2d2eeb5a88df1ced488602e997b4c38e9b45903efec0b6b5e9d977b1af285529e3a8f499f9bbafad2cb373bba4b7e0c788e591e0f35d382fdc485624aab010ffd3cfb3fba99875714d79b5cfde0cada8da58ce20f9b99671d96fab48fd6e5acd82df0284ddf513388cf004e15c19611d9930027a9c978b798e96427e129a6dfbc232fde4f4a266ff7cfe83a641dd86e9c7c897111fc8baa295b1a904e176e0b9092408be7ebdf90b9336f7934dce51a9b939870fd6c6494cca84f179853231900a808831eba2bfa1ed9bc57b69830c9735173a2fbdd2b3680b4d90ba6421364b01560a36d30bdedf147c02dd6fb5dc413be7b6d9ebf197336b40733dd420d71f393b4b9eba3b0314d25492034bebcb83c1e24b8144d883d6b0945c237c205edc144d2e4a0fa1467209e26971c5c49c20c8914a453295d6d8314be2e97ee51b803b19ab0a9f81c1a49eb966686a460737abc7200608d194823aec3a2ea248592178c38fe31936a7595422f6d12f668966ea4c2d55c057c9d335c7de13e713e34e1c7f2e91d37435b6baa50d2db9ffd780b1aff0ab12547f688314f4e3d9ec5d9e4971899e40ee065fa4d2fa2d16e0bd3139c8effe8fea3ff3730bd0b9e0e8b1040c74e4c579000ca7a89972533ac3920dff60d5e21fbf9032d0167482416b2a9fd331c2aae675483d868a170852c15c8d76829b6e16886efc7a4f3fe50d78d4b5783e9c084414beea9f32b5de2e7403c0fd4ea51461f1babab6ffe99b0814244948c31de5f852fa9f98498fee870cc00b2485779ae1a819ec2093850f28e8c3b626daa12a832fa91194b47120005ae794c17bd3488a68d68ea1e2fefe2d4c22e89c2ded366f21f4db6abcf5d15f283c67f1e76a0383a642c03b1bb95835e5408b9a6532d5953a4899af84ac00a1f8102d3ea133e975435a73953f1a38ab0ec0a959dbb4fe3f7f907cce01fdab9a41afce06621d9023ba44e1e564158849bf33a1955b9a52e94063e779c4ba344e4e1a51a58d853ffb23a247406c75ee982d5d4117d76de1e0fd9c62731919b205314914aafd6ce6f430e282098ee9459c157c4fe89d011f5341898d0ee385227142e033859de6240507c94b9f7aacc103e7eda20f28fd13a30bb2d544e5eaf2c94c10980916432f84a00faeaa572b5f6f2c0c2b995a3ebc70a83978a89a1cf41c091bda36f08f3f524a45fb5045544ceeed0bb385d629759d712c1cbe0f681a2d9dcb295f86163ec7401aae43cb8e0e99a5d3cfc36fd3accdc85e732bcaac00f3d19b6d421e1deda534a3cca2ea17a38a0faebc8cb6011f554f1fb207a01ef0f33f8472111f18be3af08f13c3bc2d9dfc52b982de8e3347209651088a9e65dcff604800bdb1d5a5c305c2ffe33148d4d5d908ee8001aaf56639fceb1b32425117fe703f1b6b01d5bbe8f2d97f0430f69b061c42d5ab119876c00724596f9ffcce9ba9fb74fdbe64043f2b2bad40f521a122f968bcb455362c57358a18e014a9db87cf36724b9b40877dc836d03927b33dd6cede13e0ef2c3cc31785274da78f3f8990243b21d20326c820ea34184b84c5e25832f0738a8bfa4918126a239733de5cbc4aa2b8451f3f3814ec184ec081b7c0f23bcef2b6e44b6b8ff2d1845cfb1e8439e98e70145c25072bd8f4704d7e5fb8c56b9c65b4f4f2e92ce8b5e417e1b69097f68419b5d79901ff58531116520a6fb4697322f07edb1c5c10f92f389d8bcd0ebb14040673c926573d2cdd606e99632014e470e7c730768363272c7c19a4a403e28ffae543fbf13398141df0c064980729a84e523a0db731c7e7f13496c0159c6f80c55c5f01aff7c25f726b3912d8a63081070fe1e645e114121504ca6868f9c71f4cee1724afd020fa55f17d5f60e85d094b51901eb2b2b6149a8226c36682d3e490ffc485f0184a19428f43dea8fd13529d650cc5315a2c11c6a26469ac3d4519d65318de904309d08a30a3f0dc310cda7d0b0ae81d2c36762ac1ac0420a40816b3b19c385ee0a09f4be9b67ceda013baaac59d8d302dbf06750cdbe328326469b5c2252ddf67b7e839e0ed58c3f427c76365d03541dbc99bbf15913f9e5d84e52b9f12912f7e0dc59614dd06db08f214567f2024888a957d9d5ceb729cad0b94680e47161af291e06f0884e42c22a912c9f39844616d8e3ea5bf917413faf56dc836491a05140718d906563a91160745604d1747f145345ad89118a32227b44c3116538fe81e153e2982eea671419170b7039f68a51211455d7200c531fb43293a6c60a655359a8bb5a4c8495011455b91b683458096df16819473091aa6c313f6e8b98461132301fd7da58c9c9ad18c6bc54d72835d92f6521ff0a85b32a93a7ccf5ad0d3347aca3daa4eb4a407de9ff37414db97a898e194e059d74133f20406d2ed5c0be31955f817cbfa690ffcd81450ff6c923d49b805df867687e9281323413b10080ff4b431aa49204037cce60dfa8a106b971568e88ab85d52a235fa22de3e29d0d11571f7dd67428798b57bcfc38fb3f2b9e2f9d591d462875de0f471d6acfbd9c36b707eaf9bfc7a0eed2ce04406a143fc48e1808865335e7ee23cb9ba94fa28b3c52a92bd4f8ba588dba4146986d03fc1e3a8728eaec7bdf47b4606d16dbb27b7decf91f21d8a8eeea3f714f42e17ba5fc4346a0709148a683ea31bbed4933aa579185bea766fb0bd38ee33bc4d5d994b52831a7855c545d35079d30cc77a9989047d7190805e6d85ea135e2c8628765123c532349e03f12c2b3ee1ea684210f440bd7c28be4607c21332bf2e2843b7aa24380cac1cea279079230d03cb5081c3a60cd793597e09a1cbe2998012396f77fd4be406490ca7e26906af32af4d21ad788dea57846ad884d998c3456d714c887349d40aca9363c7f25620f441364608c2054c7b97affb584b27b6d6519466174655d3dafdf043b13823a42feb00eabd79d8457e5a4ea7fe0dca18c0e0cdbcfcb44a5ae379e5dc5936804cdd02936568dfd00cd68a8ec083624932afb7c4454732f9c3a0428289e953ddcebf416f1259e13d1624bf59e35b9c41bd31378323940f5730ab663896df3e78377d4794c6f588f043332e39387fdb8f3b9d7c9edab02e004f3b8138955a419e165df104bc082efde0eac066fdcf9bd65ed1748e4873c7bc5f6dece1b9ffe139786e3163ddaa066791b0c32c1cb0cdee45dddbde4c575fd19cd2b45771bef2597a4fe86497daa19b18a613a289c8708462c219b0904b30630ead84641a219400cc54a824de219859d386482a1a1151a54ec5d689a686274e69cc21305ada38fc5d5b47b3c1ba375fe2651ae419b0ddd40d247d2016a97b673533c1f55cc8f132f87bb9b04250bd3625aadce94b8fc6602c6056aa54c9d72a5aad0a34c3302f1ef3ad8d9b7ce32c808a7d0b0c6c023e70234bcbcc78a1a9b8ccb7253d59bd5c8cf901064e680525750557c70eac18870140a1b799c055e1308fde64a96bfd1b47bde2a279a8675c2a0eed7f227c630866fb9a1ff7d8003a048296a57a5ce24b5d564bb31b24cd98d44bfdbe59eb19c5dc8987b8dcce1e7008233bd02b5e82a0ba375a78429e8e28564740859b8a51b466345b6d22335f979f4c2d8b8bfcff794fed9101c98d9bca7bf0cd0a3d5f6e2e38bea248502a31e780ac6cce4b179dd156fd81845e29091bbce6a4aee15d8ef71fb9484b1846e165bea2399c20e12e65e983f9ddef53bffaa2d4124615cbbab3306fa236949d62e7833756ccdb6125800379b30d202375918ec79d1ab344e6db820e557b3aba5991e9a5525995cc4f834f59ae25cb46b3abad7ecd5217d3241fc2d37825b81a440f42b847f7ea1c3f2a40756c65b2791b2b97104ca180630f8a02e0594ff7a4f8f8b0061c72037d7fa41fb53c42502e5f0a957d30112a46e87c075137e6c282681d38c2fd4e9bea128b5738961faad96bc3930bdb5854d3150e0101bd70b27538f59768d02fb4a06da53e1af371891becfdaa8470f6d1a819485c156022f874a0be733155f0426a2f29ba5aa79c9ce60830c250e4d60e32959863c7cdcaaa25edc94af55a0dd4f77f5a0270d17cde7c7741b6f1f22d15f935619c716ca97f9fc6efc300c152c11567215b0c7451708137878e01777746d456b31baf911f0b40b00fbe8dfc90bb2da550b76807485a3394f5789ed915bc4161848deac863513dab13fea29bab19132f3976ad7a867125963243d9c40a631e2eec22453e17ae443826857d2cea53a7d7260cd0a4430edc8fe86c9ba2291bcd5c461b637046a8219d7dced8101e0032d65275b67d401376244838bd1335c282e2730b245e76c62b532bdd28a49d81e1a55c50db575aab7dd17ff694f1e09b3b65b1d65b0426657707df99628a70ed3b1b67f4a8cac3f753b770c57de091096ada410119d6c645125f5bb57f274c82b298beeb22e50c0e0a3c5556b78648679e6cab135849ec9315fc3718dcc8dcab633d224521d2e710e6ca4e1b5390d32d34d6037563e2bb5f929bdfff9de077a04d24fde3bfe3bf26223ec889280ab9112a6635d8bb56e2a28933d3f794b0dbd8749be93be69178fddd6099cfc4365f0ce0ecd7c88cb1f752244c76ade40fba4d00758e804e3436a31fe3762dea58ee636c64f0bcaeaf2110d6069cab3ae9b50607e5c4b3773576dd0b7ca41a0068e514d7d7a8884e94cf423e424c345e818060d7bb1fe7a448ec54d6c73a90f83519b9fad77601acc1bb0380e2c2484242d209683a7d48c31b1e276e7465ced953f14d78eb7ab90e12e07d983f47d30ccbdc954094ffdf39af77e75153e112c0558a35992cc5eadc322153ac9f0b94b7884a2c92b89e13b2765ae5cc2f56eb8ef92cd3c61c812d80c711ea5d5b9232b74f8a6f050629f68607b7f0575a67044f21fb2cf0ee4f143ce3a8c6e9a4cd0e6bd27d6e584a28da5516c983cf5cd82c5a8f43fdf51ad0808caed2aa5de82c178123e1935a4d664827dc4d42d738e16dd06ac68d9fa0a2350634e33c1863e738c12e6b1caaa06f3a59ab1fb77462209b0104bb93b449482a6936077bfce91c777baeba5f8bf372defc4685250a07fbc010ea043d4c708faa41fb9d595152fa93a37eb4c184b08c2e41d9eead6f651c9d947878a093d0d15ba6e4d9c48966b4830b95a864a52baf8e4ae80f84be98cb9a802b08a4ef622267983cbb78125d913d3fcbbdd774420ecea8f1bab0405ab3a19e1246e8e5707c302a64522edec7d2f86036935727ff36faceb9ace2b8db977a4367eb6a6e4f488bfdb482fae2714ab1bec6aba913af1125463fab752b65c7ca6aafff039c209a0a3a4be954b25ab8cb119d9d219dca744b7330267752813b70b014840a1ab7847bd0a224199abcd76666d74ef2d90d436ca7c89a12dfa91b77edb0d28f031a846cbb0a5e90758c4ec9f05e22be5d7d00c9508666034412355ceffb6e71f1d1b15a9181bd37336fec0cb828db45d6c8976e05bd2c150680212073bb3a6e3dcc16fa2cb53ee243e4b8ea7f36c9bd964a3f48f24c2260f18f9e0a80d2ee041532dd48a025ca2cc19de38586a72699e56447bb4d7f5257515fa00281d2441ec2f51702e71adedff718790b4a55803042670941a90653283e0e64a665c7ab4c7921178da20bacf049ed2158bfc83bee05ec3086fe50dbef3c676f685d130b6c5590b3f01e49a8dd29fa56aebd0d0ebe9d147dec1cad18fafa12170e57cbf382a649b35b8a87556e40c7ff60102742746b177f83a64c02b10ae3f42f3984b71d4489ae66be83302192d75e7c8b58f7cdc22c06ae945e194b007ed0209c9983fa4c59f6926c6c2b4d86968464f3dd59be39c2c9e64dcde586866518dab546676a9f9cfba2c13853d616809ce37ea7ad0b6a59701356038379047843d2487b4973a1aff985c6b4d8eb07a28a9e8c12b6d5733b25acb98797f2d18de3f24608fc3e4b17f636e8b4e7176414098ef8471af9b84b4320df638b7e0ce03221384a1673e81cf28cdb8bc47ac7a88aff32f185e5de5440f3de3d978034a41625ed9b40b00c15aa77705d28a0734f9e46430530a3c4a10574ba2c377863a982b920cf1990cdddefdeb98f7307afc6f4e7513a2499dfc0c8585ced278270dec333da437f9bbeff3f8d8222ef343062249c376f30fe8aae9dbcef26eb610b9a6f572e9cb9dfd9e34ea42fae1e5ef527dfb21555918032d50204554b53422712e575483e3faa94cea950675554aef34f00b48a0a045d34cb38246c475ae8f7fdd04376704c46127784830e16a25038135913ce1adac68cec6975f3968f6752dc1be54733d02029c95af8dc4072a24fe1d4e973ab2615de76d49fd45e3e24081b046d0cd36545b2cd56862b20f651d0e6ec01dfe91818f291ae98585658f20e7b52bf943c89f045fb3a1342a343b745375beb33f2471468912d54faa046ff9434856bc5d2330fe9c6134e7c62c0860c0f67911553142c18234db287900f5e64d39af0f0263a248a446ac8951016cef782e148213c57751b5a85be6726960c36462a3f6c547dc3aef02a7e511961c896621a20b3ad3eae86685edec1207dba9daec2b7ad9b5a52c312b09ed996d9c6502dd6390c6c207b760e58a92add3a963f3cf60e1b73c8c2c2149a988235c3da86e290a7e5ebaef5abb395f3197a5e3c7188a3aa57ca2a6f691b1e285b3f5c8e314287da22d8d285c127dd6ce8f7be96a6614ba86ea48a3a9de8d90d3d3838336adb885afbba89d1c6b730b6c2f3103bf26de87ef08d5d7b64f3a4385d181a9daf8385c095b66a76267f489c84f2ff0dadf0d70a8de98a271b804032687702078c8266193ed70c5c3082920c5a79c773fb5ef8bd21b571897210c24dc7e99d9c7985d48ab5556757d8ab74210360e9d9e8182acab53ee06d6090bda729d1b7ee96d9aa5173d7378c7f71222acd714faefaa88ee0c775b75264e8e4261648c58165e845c9f0665c7729fce00bf3548eab8eeb9f60afa635a3bbd4932377329ceaf6dbef151895d6414b01455253018453d75c6f906182dd6cbca3ee8aa716c88743ec0e578197267411fc536d863af164fb61735a71d3aec7a243bf6b81b89c65c3226158e0e15ed2ed1f537d8bcc55ea8f2cb838f8b90caad5f1ca3593106eb9d660bce1d43621eaafb15d75cdae1cf603acc7b3b74f61523c6c1a780a408810e82fda4f6fb763710c9715f8534f367292a80c66f8303834915033190d16eca9c83d14b94ef3b328081eaa92b97c51ff54cb6639a0bae132da53a8decc574fda90167d243df640946b4184037d9798fb254a24ca1b27fed7f2af6f61bbe65387dffb7f707bd39df43da5f02c506686afcd680ab6a51fb90c739a1f99e7fc336006a0ac097b039550536c7ec5e7bf6ed4b75dd880429c3a413d25ac7a37ab882b1459e4157d554e291f2510f92f17b2c03953ef4055b9add30ae210e5ced7b638d0d810efb525e9a746d4b7e86b46686f5bcb45a5ff1a8ff79b29bc3f0fb36a799d20ea5c3b3e1259070409368fc903384f43951a1c5167be47c422aa6002423f546ad6358f83f45964f9b04d3a5523324a4b5f81ccf3e6a6bf76e61bfe58e98e82e49d0c3c76a1f2d2a58db5e06ffce255a951ec9c14687951bbb2119396496c41a940d0f7216571c1bb48c7821395ec566dc75196967f9e4505f85fedc9970d66f4c8c794bc4d93d69c4165eba56a764cc8e63dbc2292811ae4f03325debeb56bfab4cc6f2123e1d0bbed565b38ec63aabf37817d6c6c89f0a55e95b49bd01ef7b100d682fe5849b870d6e82f4a8ebce267313eccbfd6e4e2967c62877f5461f95405b9c3f88bb3ae23fca6facf5b8dc889c8bf7f5c235cdef464f1480731aa101d7b78589c539c70580d3e818a66f25b6972f6f93dd6b2ca893c573e30ae6c287619b6ebfca34f9b8da50327e7f0e163decebf99f71b25d01415c0aa33d19272d9781ac5fcda62e63de84dbf8e873414d63e4878b8c2685f216baaa4b55df5d3463f54c5455c4c93005ccc75b2183ddc0ff72b976fcb000a1f1dfd565f8849c47ee0f060b2ed417f994ad90c567194d05bb7c87d6223b10440b1009aa349bb83f6f125e3e0e0781bf2418967fe89da6763c5720d2e263bf620e4909093ea338ee606060a6004d88051925e8411b4d811420df92d0c472eb6e44317ccb981b3e29242ab48a3d047ce95b37583936338fc3d67f80c6c16b9841256f524018a2970a3f0ccea8c3aaa5542aac2d3035145d65bfdb063d663e89d85fbfdf75984bfae678711723bc478bb443b50159660e639ee050b42ae7f659bc94002283897b7bc4130bd0160ee4ca9c65e31ebeaf82920f422c9dc0f282311e6624090d4847b8cc27ba2e5bd11f35eaa73de63c1380f37adb8bfc3681b1628bc40f46b3124c9150052474fd40d3757749bb6a80d4791fc63766a6578802d9386c35043e3cb3c00994c5d849d565343235d5b6a497bbbdb3da236a12214cb9b0d437a6326edb073b966bca28cee2193ed9b505c2789cdb743d46d8ca61f469b8f4c1ddc5342432d2cd68e25567ebc7055edacf3c133583bac1809c351d22a4ea138b36140acd81e73881dc4508ce5a30b9f40946325641ee6e25e91e0da940b0a983cb9d24ef4bdcd532ea465284fa197c4dd3311e5075c82ca9de5835a43cb4cca7d4412b3bbf5d3cd3095bf6b7a4403cc4ec8cb40cebd1e32e99792755df62dcd20b4b1dfc8387777e75a17d0d70b482988472b5416a8104e5ee0ec5b0769f5780e992a4b2db52baf0f6528065dcd440a92b318aa9f544ccc76aa6aa42864423e5af73d5b251377ebac93120be08cdc5341937883e118f0c9c8db608fca222019f0f6b4f93c760b34b9c81137c3173e8d860135c445b3b8203ec08dd0c38d07d35c7be9faa10f1250ad628c161b8db5b330166b5ae8c206f9293d9fdc436c21180861bfe03d08b5ee288b89da5683bad8c2b243ef1f249eadd286daa05e001a647d4d7a3a46c73be038b4a7c7a2b7f56c129a25c2eee0bab8565b720165eabcac4ffa9124c5785fda3cda10913b3ab557d657f2dc04238bb847b26e9868851f1a80a8fc4e04665c740f58df0814905e3a5f197431bfcbcdeb08e473439c2cbe088c6becb258a3821e98e16131ee5aa214e4ee7a5cd8918a6f4f16a376a0e0a8bb3e5ed76aab0fe6bf68047300b1aa4ba3433b1361c259a821da954bcc18f29c46f7d0f485173092a73ea9c4469d17458b9b713ba5c3a64736edaec714b4a689ab9c6038fa26103f484e56d48fdd438b4cae8068f689debaa89a5ae44ae099049226fc71769c15d716c53ab558eceda10f0f89693f616dea58516ee3305f9988516370b4ef3517ed5c111eb45becca84af1be0f142eb1a6a78ce1c462dba9e31b07424c82e4cd40880f6aca2348760bb1766d4aee036473e8b8855f72619b2f81e4169923ffa502d9850b9576449c9609062e39c92751e212142adc891900aa0b8020ec3415f7d94937cde1fcb192d8897981c502ba0ba80a2e26ce9b72ba8d9347cda71e492c5774e247190df865469f269507d60323e25351ce38df37a0eeb12dacc80d080ccb4891b28998e924b9125bd12f35d625846c607bda85393bc2864b4a550d3f27671df4934ce54cc3bd60526b5942398d4c25853c46e979a44af8d60fe188d2ad4a4c0cdde961753a497f0c2a916f7d7ac20534dace622a431bb798f87a9264586f29cb8043d7802b5763ec38d00c47fdc27f062e6248a120788f38507d95a6a7f087c5c2f5acabf7cd87b3b8181132d65607312fe2e5280ec369f6e0364fb5798211466c9b3f830986e204fa4ec60d8188e3c446365e8689126623d32c4f1556ce8b47c6afab50fa4be3128d0d80b54ee362e944e1407e766b380b2bee149264d994c35574f0c03b22f712a736f5773b11cabea2fc40963dfe39a7c48e24f3ac04f2c2fadc19d6528232026b865d5469a3e10062e9c3815b3e91a224338995ffb01cd5a508d601d98dc704207f88f4c8be98fc0b4e7197c58a64971950e34555a588a1e410150dfdbf591a33dcf398442d9c8a8c25975c1e2b4e0af5ccc8c7d79fe6e4f2fc061f84eb6f9e20dc665f3f39748134fc709f3c02dcefcb59b4773eb0548ebe568b343f61bee84f9513133a03be0f1a85b512466e3099ef59200b60ae4c3a3a08d3ce936555a64dcb40f8a546fbcf8492174b535ffc9f262a537e04841875f8bb83b07b86394f1a530300b7f08ce8a77337d6886e96c67d5eb141b206eaf8f4e7291b1b72e441841fcde4f414b67951446b9352d0ce8656ec5699f36674a4b5788e52d0bdf2df9dc6ab574bd30cf2e568292c4d50aa006f845e06655bb13ae1373511ad71ad49871c1d4ac7623f69746f8ea2a5bb5ca93813ed37bb458a3085eb80b9d346ed888f3db9ead82133bb33efcd8a5c3d8f5f0abf867d74813cc1f6dc8cd18ef67e830bf99ea02ddc3eefed9b0d95506b970fedcf3fefa2aacf3d8f21e196b00370367ff61d526e98c9528dcb6b3a36d3f08493ee522bf945fc6a91e1a99680417db941f8f94f1e658a91b665db6d943fe89e1e6dd669173e58c47541846086228f787257ce4578a8796681de478684e22975747b2731271a5b41d24417d84a995881251884ebba3d75437142002b6734e78facfd819a2054f4053f750ae97bde79cd7e3210798f366326c199a72dc1a7060313bb5526b259e9e5d05cdaba9049d373dbbb41f318f8123eef7a19eaee27cdad8245e1f0d26913bd0d3dd8650b42920ca8e083a8d555ae2220a8e90307aa30d749a326141678444a8761178aadb684dff2311325ecb867bd8d8053c603a855495c3957d441d91d289a02d03e784a149473930e5e9cd3b7d8f9abc183acaa6a3f28292343dc8e2200da68ba16bbacfa30efa1692b57538b43cf06f4013adc3d51cad34aa14348a51e9b8703ac56c12e69e39d0596a40b41818b77f5827e4cba2a09c7f120b1b022b7e4dd9ec712d805b608eb7f3e692101083a7e304c2b46a1cb2e6dbf6fd8a44142c120e7f5e474104891222dc2f11e1ed5ef5949d12d545dc448739b6bc17a0e0b595582af8205e0631c07a41e2a143d0ab5b1d3a67b3d9b5d31bc30219bcf2cb391a958807656952ea42e904b673c2fa9177f56975143a0379cdc9051476a570ec224ded608e21daa8f5cd1aec08ca93b52d1988e91913846779cd29038e28ce886c5ac25c7f271ec2be878b8e4fb3852e2927672ce0e10aa18017dd0dfe9b4045b79dfd87c1f621f3708bae375df700a013753d0cd912f74c5d950a52ee350e7e000cb3f51aa36539c8a2a75ae0dfd9f7c6adc08aa7486e02e40e34fa6d103208ad66e14920b465ea7fde75f59f461af07258fbb62fcdeecf8cee48b979c400f532714993a20f5d358894c12e35dfffefed0c689e238754fd1c41c7c2918e43c74244cad6399632f8f7d45caef390ee3bb6e864dea278ac11a1d6537d8cf29237f53fad154ed0edfab4500f8280a06974d355caf8ee034ad3dd7492793a992b80e119ea38ca6cf22935300633bb9a56880e442b35032757b24513a50b9d42ed179f3d8e0452080875cd661fa224379d92326352018cdf7093aa1b9401a7561fd4a211fa029b5f5c45abf275ac0222387fbcc051f086385d308476010ab8682653609cd574b50280c4f1063830a7ab578caed26e145b4a9c356665a36a42e8b20a6aa68965b995339e7bc47cecf32fded22607716cae06f0a166b55ae0318d26762f4fc998759b2cd9b2dbde7b4b99a49452ca1d6502440244029874273d8f0c5f628c46cf4e6e7d936cee5152e7d54babf775e0576d0541986ba1f647dfd7fa64ec73769bb21c84d20f68f6db4d033c47b6ef9a7afe9f8ec0967da72c086dcebc7fdc05d9ef7da6fda1cc2403659fcc9375b2ea42fd6eae14e50928a48055f61d427fb13d278e84c90e7b868c4516f3b2289910d26c2208c9566e5c402a8e6c554057154b2e2caf23c49b0fa12b0bcc854494437651e1ba428b8162648b6424d9deed23428b6d7748e1083b1f7d50b68dc1e86ba81de1d90a64f3c83974b8cfe9fa993974685638b94bc9bc0212d9160212d109255e4c611332850a2e421be18a3388b0bd584355ec1d7ba16a8fb022c315668ce1d98d658c2354dcf002e30b27cca801496d8c24a8008388290a91580a2f30911519c219b18416318c6cf1038d05285d58a9030809d19f3de9155d882823869cadc4efcd556c35055d28e832d3c15b1e004c28cfe8f62270018229bb81d50b91396f5c9640daef2b8a7f45a741af2b2474a75e7dc1b1426bef4242e06e01a62fa0001d3a6edc28cb9999d3a9334d0edc4532247d56d8334ccd02986cfdea7ea83e50812e390bc4ddddfd4ae0da218fb087f61d6403ff2d5cb82e402f9ddd3febc0e259ecdc8202f5bdeaa9cad45acede6b71759a35b7f5ecf264ad9c708c71ccb8f3b5258b05802543000070bf395bad6bd779d4ebbe9db927b70febd39da59f0d94526fd26aed2c490fffb816f06f92362c9e15a5f7f6989ead9e36dbfdd96bb3e7af01259ab852b822ae81239a70158de3995fd0fad5962d9265795617cf69efbd7eadddb6dedb799ef7d58f7e38ad1b1bb06cd5eeabdafbea8f6b01f0bb9fe9bb3d78a84424b5270e04b7a389753be585810df03c4792e40e0fb9e3a40fa56a1b137525563291ba6c2d82e30c0dd983e371f4ececec3ccf8e0ecf8d1f37f4ebe83c8fce0d9a9d9caf59913f564f439393b31a7b7896f4943896f0943f78bea7a7e77e4f397e074038cca1b9840689b7cc90a34cce8ac4473b443ab3a5232cbb05d5fcce68d2776b16cda39c98721e99b1fa357e6bfe69481a9a7c9a4d5e274bb7f4b78a244b4c04f37283833a4d102be97add0207a202e73e04e746546d0542934d498e20f9950ef3ca097e3048c0c81fff4fa9ff07cd7f8d2d493cf4249ed590984643e29a763ba9035487738009f41aaa310db83421432fa03c77384d08d2cbc99e3b429a08482fa39790025ad3f4d0b2139806c0dc62e80c014f6c1ab6118ab8004e4c541292dbaf5489d69fcb0e9ccc396707f275412af0b404da2f0d4a29a574920ccc39530f4c415d5b2d0d55d6cece8a492dadb5d6faad7c58bec7399be5d24b5cded296b57cc1def9d166cd720708703f4bb32cdb5c392ee79cbd2b66c197d2170c34e0bad8c0ce39e7cd72678ea25c398eda7bef374086793855a2262d736e8db38ae3ac2a5b0f315ae725c1481251920b5b24c59e5401c117d0146ef1f4721277680277c0e08e3d7ff67e4a5b6e76c7d7e27cbdcbf7d65ad4e1ecd662eb691083d8f3e73da785e3cff83f8cefcd9f17e10ee3ee7ab8d3f85aff403086840c73c5be1a984d39cc3b9fca9f2c16c17611ec61743a77a3958e4a9bbef2adf7524f698b2bd1d7d28dbe2c87b5471d6b9d2fb661760a54b3b6dab1ed3a0f3cefabf9cbf716e199e4adca45faedcdc98bc9eb91b7232fad49b11ad75c3abe9e75aef55d37a1459971d9525d40eabec067c5fad5f87bcc6fbdcc656e953fe76e5c75f7c7c75b6bc79fedc4d9c8fec9d5c787c55aadfe2b9d1967a73ea2fc00b9c0da4927dd55c3bceebd1f2ecc610ec9d65e6f8cb115b243b8f0df739a47b129a5f875bbdc25ec0437a11349175ae39b12d632311d9ab4ca7c50d9f81652223ae4216ce721dfbd9f2f7d7bbf1f5ff8c218e35f619c5b8ef41a838eb4baf496ec536aefadb78b73de1adf2e17ccf9a5434b4134083fc698d2d2b32c13255dc1a0e961ad09e21bb5452dcc40f813044d2188e910c638d4b054ca93828ba8577ad41ed6da22f336972697fbb626e62f700e3c1a48d8c7d457cfc0a3e15e8d1e73f73d28d1a9181ba998b1069092991a35351f1302659ea40ecd2737b54adba1782ac24855553e8cf33a52ec3a14be82c218635c8bc16224ecce64a998594a06f31566c4a93863ad2f39e3889333e28c58368329b113d44b278aaa9b9b1b95eaa6c4b1b1291fa7fcb1b49179f23d18c9ff991007e757bf641c25f0e0737076389e1e07f139d97c7222711731dcaa9bd266d63c4809d7570c5674a3b229c51d22c9e82644e46f92f5e3cbacc651a6fb11d7b22fa56246999a4463a34606441c081dc133295c5ecb21c1404dbd5eca80c146156fd949f54a8eb2a5b43013f47f50974f58d872f73e8338981e48f5250e10fb4160502f27d1e686f3447f4c096002ff1560cac53f850628e2b025784573e3264372255c84736ab0ce6c69cebc0050b68d6f62dbb841afa0d7251ac24477e8c602b623476c2cbc60b3ad40a5c9b41d895d31fe14cb304288c093b5c84031ab6dd30d53a59360185a5fb6578423649aed770be2b5c52cd4a2a69c7e50729d4411eaa2845180ec9399d186628ba0d8fc27284858ae5839aa6244b31961e2f1a06dc033d81b03204bb5c18460f07c60811d74fcdbfbad4006bdda512aeecd91b5ec74169a61a76a8820cbfeb97fc3603c7ab87eb62379b8e3a66b920a69ed33e74d9de811b55d7340dd07c6343db28f46548d69448d26f52a6e510cf0b57552a1234a9a203129b2417509d9bd29611b62c3896d8892399b343bbd59e9bda4ca521f2d70730897c9e2611d25d55ae98ea33d6fad957b5babe57014f69fa042adc5b3722c1ffb98da8abde25a2b2d5179de97addaddba3bbe316b6b29938486fbd579ff5a5b6d0a1b3fcabea53249ec9da7b59f0f2638262ead526c1b0a25c4bcb81821c0416605060914043910f5f042b39d00c30841931b688569c8aed13a43b583882a964a1010ad39e7e46c269490f2b92b24411b8914612be10929b6a022630f392409630b0529a52b56fe61898dc368db48a8e550e717a374d66ecf584dd149a3b1b9e4b362fd6afc3de639cb39e7bc432f4371871d9cfc45ea652e73abd38b20ec4d4510c24d3dbb20c47a79945851e3cbaa72a2bb73995b897faaab973af7f47ebfe8793b0c1a5723eb7d563416fde19ed46444040ce588e950182923d6a773f220e29a64cbf4b59ce077ade9bdfa931c321d2272482626c2dc04cedbaab5d65a6ba595be68a53128f8b4d4ea7f8ea3b43ec5d4da25274daaed8253b2b65a3be99462bfc55ae7afd8daa56a51dfcfbc5fe7058fbfac140e9df90c0450006395001c12878462c1409262288622411a553f7634a0fefd6900412cd82b01eea3fd1134ca3ac4267632468226b88beac435e1e85fe61be17bbaae4dd602db45a6256ea297c1037433edbc22cbefdf242691aa2040f69000f448e6baddfd415d53a2b529529d7204a027a885206f92ed7c5a3d38db3a628a3bb2081e36b9807bf02085a2809e4703e13b2dd04154e9fc07ec3cb0dfc817459a7cef0439007d25f969a0477fce3aaa366b5ca4b1387cbe67ca94169ed136d2fb436705ef71bff632d93b00dfdd4073373b1a860f7af57f702e6ab6dab9628eda90cc071be0bae3c5cd429dbc98bfd4603ae335616cba823ae9634bd235c5a60f59275dad247dd20ed8b55d95259c65264d003159267da834dc9f3c542484e6faddadcbc79285d2a4bdfbe5f4b19ef21462c5275302af3e1284473d47b1c3f1bc4a582d9ce24b0b457f4e447c1d8ee7c0937be260864025d0b598284f3f17fcd3cbd198ca0a73b43338bf1846b739ba17dfd83443120dfde67684703bb7d6a04038ebc7e29074b354fc711cd33a9163790e9aa12a518b3d73602b00292ca592f02df28ae5c9a3552acc57153148dc662323a644e7a72d2182b9b684e8879612493a48f68b67369d3d922d3b26e296cd0aa094c6df02997190e6a7490e855c3a6511d026a8d3602bad8b006be40058a9912ebf71ba304709aa79f8a9d30e1844e54738c6960f84154a64eb384e9836153e1ad97288ade59756929db453248180477993a844a34b95edf46c62c987c89649fe956441ad4f74b4dcf69b9f3862dd256b37c9d2f175e4322aead2918f3381f376911fda02484f78e4f3ce71dc7e03b4aa07be7ced831ef99c1f9f9bf6fc0e644dd9e99a7cb5321496bc59a6bcb12ddca153a34cbf491391c395f7f39eebe4d7a127d9cd05b04b9ed57218841d08d1caa07805762c749c96658da5b4f120ae606ebe3ba531204262bc8c8b11ef971bcf4160f6f75cc2e088b2b921e63feb3111c4dbfde14ed040c4ec83b6c0d454f6feea60f587900bf1a677af1cf05f9002a689e68719d67274c75f07b8aefb439a3de632cdac1403300e3fcd312b6ef3abcf99c12978c4e65b8ed218262c3d9437084e0e4d438dcd635ecc9820b4a4f58f3f2c0e89fbf34f5581170ec57477073665d2bd519574c2b322eef7581f355c1020343982dded19dd4938211bdb041924105e389c833236254c8e872a0b46e3d280de5e88637a17126487b07b09b72293a67f40bddfcdaa31995fa98eb3940f39508ff908acd719ea4e0342c1f67c29e2b4dfe89de2783b52a12a2f1655ccdf3675f6d44d54b38f066c1a242b43cd715c8269f322d17ca3a513a57b99c832b71704c66f997c4aa5e32e6ab1ceed41483f3dbbffd81d9567116dbbca3de5bd090c905b6e705ce977b8aa7de2495ecf6d3a501db0af8bf1f0cc90379fa8c89a9ddab02a73a0da1f1c882be0541bacf3be4d6a804f1c8a03211a04e179a3aa56c2e0f8ce2c190775ea95c4a88992bba887ed0ccfc97f0dccedd22e218ed1ecae5f795a110ea5a39adf94e0950125274868e62859f36f1e6313ad8f005d5e97a5dbb4d3f070559c96ef215b9273f7b41808373f0abeba3bb3ddbd929bc12ba7072546174b0c0ca8af3d223316057717d9c830f7f4b5c26301446dc059968e76afc4bf570e4288364d51ed34fa64ae36aa13dd43ff188775b8e1188c9ac5363a923e6056a69663d718e63f417285ba5794e7b616b5fe1599ff239c145acf14ace81a9382aa08c268f7c0da1cd5d7687ef82a1047a17152d1e19c28a67d1082c4ee240f933c9335b9220cf1ca30e3351c38536fa265f2d76141185d05417bc4ddf38f37d6eda944ba35f6ecdbd36b9844d00105af5fb9c20f0615fedc9103931011f9dff5eea4c342d653f03257121046bb4bc99a7b56604143e55bd7d8207628b58dcfa5b7e246036e355384104d72201f8583cbc16f72d3450613d081d73140b0fe33a62e43d8eaa0f61c6691ce418a9146f81e082974721dd4ee6d7918038aa73e75372b43cb12064daf68044c4006b1b44c334ae89d0f708a641e57ccfefbb4338b600597d4def4098c119e4548b65278bd4d8ab8951c5aa419418bcabe16ff864035d987a923e2f8ce4e4af71a3f0ca53332d50329ff48a5bba1af602d2734f41a6178267b4aafe7293e5c25505c8dcf007ff4ddc90b3c37e07685d7dd4e08240efa00f80efaabbaf4ad287cf0008084202290ff92a4e27bab07b3c3bad2ecdaa57653be29093d83a8dc3f1b249fd1379101583dc2a2442e3a78213b06e010f5083d659b80f08b19a4035020530610a1ccf746a3c8be9aeb35aac7c1a7212043e412c1efd7c82c281d1d019f201702434dd527ca41d38dde0c81c2b000c2377362ccb42978b8e1e82c40f1275033d0e7593f238a9528fd5be736458cae92d6f2f32a23b409ef8f92d947a762156f2c6b49526373321679aee750045a10c7be74a7a91b3e912221cfca5d2321c14189519555d3d12d0137bdb68afdb0333a1db7ef4ef5d99f88826a0353418992bfcba274d826c5f417d562fc35c2e136b5545808244d951873f6ef9be125228a1d655a8fd70dad62462e68efc6dc130ed2ccfe558771cd326ea4222005f74159ce854882805cfdeac5437d7291a449bb5f38944d53579f470396a6757937cb448b047b68b2887941cd13eaa5ad2213b80bf5441645fd0dd17a79e4fd044c728ae7001359b694726f3a66f2c81f823c07669eb797565ab194342514f59ddc9cb93790f08800e13546e65dbb4a92d6ac5f801161299abec381d3e73e0efd26946b54a03b54a09d5d1246415615dae850325362c7d1cd651e9325b7b9e4cad560e9f77d9d53e77f67173abe7ac06b8ff049eff8cb6691d8d9fa87ad0a158465f20436919cd429b87c8ef287027847850c4444c574710332427668a76835170f0942146466fc6adc1ad4086b61092fb1a0e5de70b847c027482838f08b322483231aa2ca5d8fd6331764d628fe8c2e5ecf601da6f34c69d94ab4b65eeba7472077cf85671336d235e89ae348159936a9b24b7cf1d4ff95a205433f35446fdfcc4e60ad29392c05e63ad63a04504ed11e72bd1278228fc51181863012332c17672e1afd0eb103e562557c2e7fdaed9d6cba5492fbfd3efa116dfea5d60980b3192221329b5a158e3cc06cbb1417af404f290583eb4747f83b6b7769d3455c22c483eb15ea64d45900931b21de5f93b278d74a6677d8e82e7593dd8affb446d26926c8a05a4ee967ae28b702aa3d2cad313f224d39ff15dec356d2f5249c3b9bf2d3a7c37227673ee6acb21bacc7ce1d4043238b3ceccf97e425d615f10afbe12621f403c8994757f17bb8e9228fae83f56172408ea8df5c990901403682b53529a4dce89d3b4962519b3bcf0dcdd8853f12cc12b7aceda4e52fa16772647bfdb20161e680c42096ec39a603fde6829d12102518f23594d3c19aa4f31b46562c5076c8d7165f6d657e3d9b517e0b1f46eaa91486907b521966fed83b3569150191067c074a5ffdc8f42924954a9399176ccb01821d4c9f8d64a17e9e5e0c92820f67241d6b6c1739a618a42edd324aec4beabc5c32bcf8ecfbaf06c33c29d0e6620f4c14491d46b000a025e4fbdd8964acf71a230a8d3d6c55d71a3bdaf80dc064726caa10c8fdac10b3119a1c9bab1c0c93852097a543e769b643aab7b8435a9354f438ab0e0d876e5a0c9fdbd1ca36b7e5775b8d14cb25c53d7ab755c40076ee310bec3ff707b05ba40da0ca43fd4e4c4a2b8c419d01b5212a3fcdd94058f370b6a10f38f1a65f4218adafc25905103ed57912ab8cafc8728ba1ccd7ad2632925d80e192fade9a56f4479212a788a29e829acf4e92677028837a43d5dfd9cb27bd2d7bca5179c5b0feb551cc12bca8f685c0722ae6884413d2352cda6ab56398755128c39af86ae12349d44026cbe5623193bbfda3686e7589b49942223112a6afc3116209987c2bd51e378726628cc368d4b5fba6b4d6aa13ffa8ff8284681987abc648ff8b97f9af8a7d1ebdbe19c0dfa041c9e7c5b735129e2cce52dd0db3b4b4d1e0a414c18ca9f7e1c2955972109fa7ae0e32932321d31c18a6bc34c7426f65a75f25d813b940c3022af4ea07146af88edf20e2acebf5a8e66e4f0745dbf649b604c1a81f6ba03cbb551a3a20ba998b811b343bb68ea2035253fa0d3baafb49b98f3743cb9bc579b386de400dce7a4054ea7d8cc9d1f0ac4305de9e657b4da0344a85cbd3b6f124cfd274eac9b5ff33d4723271c0a9e494868b3948b89725c36786da5a3611465573d2390d3aeb1d7c88d49bea67e45dd9fb93755c34395738393f0c8833a6f0fc4969c3574ccf926a378171a6b8c14ff237bd52b21968cf8da60455c6aeb7930ffaba314fb60299ce27824fdfdff49956e1c4248e49210684fc6296b805e22c02e859ca7a938ee56efd977c087efb8230a4a36a56e4761dea08ca45dbed34ad85b255ebba39b75c87dfef3041feebaf180218923264bb541fb3741d94fa4e99c063fe238633ae389e57cedeceba02eacdd0451c76ade9367fa0b26d33c5472295fe969cdcb3e8a4e1f7c76f64aec3adaacd30d74c1707754d26b7af5f4e97214dbfbb92c665bba66141e86e1296d28b32fbfeab3d1ac0b2189d7a33da7f1bf3c3b5df8295aee27e0d1ff87e256efe51e269a21ba769a311065d76fa4eab1ac36167794b5ab83d8634252cf00623c2975137b1b16ee9b8afdb5e40deae69694f8f482e9788d756aef408f1a3aa2e895012ef331c4087112b48489e725e8dc9b15cff026a8f5741056d5ad5811012ad9767449d6a6c72adeb19ccfe3f8d747100ae18b899b5feeff754b9d0c80ace2c1547ff7d0cda0020d6929f324e6847083fd3d2e4be2b72b54541e96d52d7459af4750c8db6c786c4974fee7bade65dc3eb048b73e479b52b8c67dbcae85f6c31fdfb9f4f5862f8d4c534482ed112d91ecadab0df5ef3ff6daad9fe070850e39918e4164dbc5ca602ab746368475ab9d3cde3e5deafbca6a135fbbff8bfb84b3fb2183b52fffabcd1fef4f945f017b5bc643a165fc7ff2393522d394df0951d778ff7996127d02797e088f1f3115864cdacbb46e7f0ff08ce75c2bedff954cef31d5528e9280d04f1a38ac41ac30f805b06b5c20f93df76028087e9ef0893b62ed98e20f8bed987eb700ba29f2e246937bd7863f57ed0b6bb24c3836cc633262a878fd24b3099d01a8add6b20b88017c7ac1deb00c3dd66bca70d3c517351bf643b095f6f71ce81a30d899a0c142e9667a033538d0ea337dd0f8a2b916cdd67767e72279d0a1271aab071ae5fa1cfaa3a5e8726e68be464864f9d8ee9102591a56fd78fb17bfe7eb5385d34a5c456a8c694b558dd97b09ed38190c7bc8e86bf14314c6d001bcd0a06d7db2fe9d59ef972fc8c2e2bdff85d3cc10b3e6218f426d6311564cc6be0f168472cbba6d7d6300b84b0476ecebddf874f0a4ed6562836cdba81825f4a30c3c2d831b94da14d3403ef66719652cbc034d0c1b9366826cec0cc388841dc04d0742363c1fa2240301cc2cb5a7ceca2bf42b95fcd22fd37c8227bbc718f3fa4608d0cda02c1028702ef5bfb46bef740d4030445057e0a375039dd03457310e70eca61e499c34934555e36061baf81d89f18a236ec7d06a2da919cc57f4ac927c0a27bd7fa8ecc44500cebf895af4b93a33b471a16349aab86b38f2f851a53ab1a603e871f058bb57cee1c016c2eb35425533987b20a8e6628e10bbaccb71e2a8cce9f77f8998b3a9c9d0e43cde0994116cf6c6fe499e1fb5cfab5ffe461b148f0d0b25224cc5d3dcfcd4ddc15491e4da8f8067e3b48462e2642f2be66465a27147c56069e27f222c44c6a3d7dce06645e141bb5d1b1684429817535a224093ce5da4fa629a5119ca0579c10a50c33f1200ec3cbcb32bb8f945db17f12c19fd4e8f0bd5b97a0afc268035320a2e6e2ca471d034b89b8058a2e1f41bf1f2e71db80363f509f795148c2d92dfc416cc4c22dc071bc7dc9c3f4a43eda31890de424982bbcc9e70d46ac3a853e86c95a360c02596f5203681da3d0fcdbce4ce4a5fce7893279c22130260eb324cefb9727bb8fcf6a39ccfe965fb7a5ce5d8ba8c735b3b2e0bbde2f254d62ed15e04dbba7f6ea56874a74bd972201f4e100b51cf036ef033d9707ae6f33b2d235287967f3f9eec0e7543e0cf14ac4bca47f269afb6b5ee26c25252137dd3162adbeed499b19acd221c94ec8b5993f82c1f57c7618ec987010e585c224233cdf1e4ffea3c9fb5283f424a486c46f0bd465e6a57a66cd91e0944a9dcb53ad4931c656c5b1b11c93a8234128f1dfc628dcafc8afa40d5213185179bfe4d388d5a8a996caba63c01d066986dc2f9d0e03590239459021865286bc0dfe080cd81d0243046e301d9ffe8c61644070862447567e83e1460a49a60330233c7d46e85519d8839a51c13d7442b78e20effa57ccecd5306c69a981eebdd485508e0ef7bbfecd92f7b1d358521d3d79130bdcac7f50f7471a13a765f2d3d79008ad18407a58d715df23d244e135823caa7156b6543941c78193815fafbbb2c47d6c1b7ea70aaafc86bfe9dcdc34b56d1121c7151625b7c81158bd22ca5411ef285bff70eb6dec519fff7cd237860e6104ad600cb880f27f3a2a935515e8fb1f5d349f734c43baea2b81a00ef7f230402bb3cd952e6b202126519bcc861564a03a07ae64b0a3d608f79c03d123828a88e3d739b631f0f798a543abbf7ca38c08988d36f1a1af05ff63a2f1068f58368130617018ac42e313c196c3e499b3e54afcd2cc0fd696453f9d87325cf2897639d2a1c0a97dacf61616c023550ed71dc1a8a692cc864732bc874bc30589de5ecf1c54e2242d16c399908ce5aed0cc1b19e91b08c12dd0bfb9d77c999b128e7d6054c1c303912e46c7559e7165f9ba5e18dbccabc9bf01667002f0d3c670d55b3f22d045a7e026b38b3bbd3c04462cb70e2a553f41409e7aa77750581d2ef3856be6d6b11a503b5631372ed5ce4570df6ef2bfeed527b6001adcf238ffeb05bcffd58d92465e3473e9a9613b4e35db2f7dd34f7574d2039378cc4a78b5ac94c9d5624d226ec5a44eefde72dc5d24946172a88965462463f83d231c54435573f5166100e61676ae2829de95a027e5ba86a32ad5e14c0c21b4274d0689b0228381865edd036ee2c2c4256568b5855365d4941e2953862f6aaa916ad71c1cfd2793a77d648f566b0b23e9a8ef69764125ae437532e271242b26fddff2d76502a6dcfb7f0fb5b302491ed5001c0cd42cd5d08a9daf061d6e661d0d1f71373090d7161c81231a03204b4c054e1d0dd826148bd8ebf0a9d1b2337a175c344bf118dcf7a0bcc7d6bad8bfed69108b6a341a0dfe49fda8f061bad7dfce501edd8bc7938a87b4e2665038c033d150d10a948667501db8dad1c4f15df8e2c3e403cb97093bf23a177abf9c99ec6ce239be23be89e8b783557e37ebe32eadf0da6a43bb2444cc240c09cc7aac155b2f02e246b0c9f8cb954c4c1783a9a4d631ef92ab61f9eaa15fbe82e19fef80a3582dd59b6c9dc9ac239992942df51adb33350ae50fd5a22d77bf207384c6cfedfac84365aeea66594062ea058239b28e0897a2448571d59f692252b1e5af7e2fbbaeafb3afe669f7cb0a308f5b8e86bf0593fc6a9913d37894964eb3e5ec4f5bee2a1b3011094619c948cb43dbc0fd19e09f919250108bbeecd5e5223ab684e9962bc859bb1ea6e5afca3298c9031b467afcab7294769bbc826dfc8c06c2c3489c3b61b2090dc64dcdfc1fad72fe0e4a8ffb78d5a74acd9b571069ae03a48e3e739b930390d4a5349063ea1d86e8bbf2264c19485812fe67862aaeb64c45c14ce55594fdbda1ec4ee3c72621fe2b2584a84383714e0f655a74857be49939d5265e2783903890699a4f5fc0926f35b6a9eb5a7021b125d9998bdcaa7517812ff3323d93db1e1b393fb1890bf1918ba65cab46af519014f7bfecedebf3613360f5ecff41806df35f7051776cf2a866c27dedf866ec8d85d13653663b3403693374db07d3ced9ed0ef22c38bc240184633f87b64908384d09f10a0a86539c490859152ad0c3c3ef67f512f94e8885749a7de9462544d244f79d26b0c5f9d60c3e2b0db3732b30cc66e6c3a2bca9c0ee099b10fa716b46fa8b23ec4ca8692014daa2f05d2d2ab887f88b490da0f870af1a4d51e54660b9503e9f059446bc3b3e68b46a124cc071346be80bd728a87fa9ce13d38ac1131bd7906a21ad32892d53c84fbb0ebfc66693264d2a72589344bdaa14954a19ab4c473f7a881c665462126041b7be9b1302b30b2a125ee82dc5d14bc7628946eca6bb64eedfa76877d906ea347de8267ad98b0b095f733f5204060e5b5b06977af32ac30bb8d1179f3120b6460300e36610f4d62b73ecc794bb2888496cfd213aaaca94b6e82074562be9030b985b6bb8255e2c7b552a839da84352fa1d060b002a0c9cf3b0ac821541aeb51df80f67917a3ece2b4604a6ce8c4e247bc071f264c8e9d52fb99ef907fd7c117a45ae80069a79ff97a61adc2cace9c87059ca753929938c85bf011f9b3fbe822cdd6e094c4a512b5a88fe6ff80025aba01f9276af3d4237e5d55b8c900896a7f3048a41dcdf9053b1994c1aab905cb9536d6655e2900df27e3a4d69f91e611b20617384fb6700d68f450c8dfd5ce9596176edaa601fe45d57b33e07976395e97832fc1bdbfc21f7827d5327ea584fc7968d10cbeed9fda9f4fdda2cb568533f29de573136695a91a8236cb5b530618f0596358eedd90b4d7bd145fdfa648b80952e7e4c4e2ee5be1bb6f8e93c5afc681e2070e5e193d529ad77a4dda2a259e96bc22f1de7383db457188f8d306202746bf9de597b2e0b0936e2547af9ec9a8e0d808b1380d5222605962bec94a41599137d9e049caf170d7b336a2f6f71b3b7938a10df53e85cb2b2e1c13e54608784d11fe263d258130d7d8aa2c2c0782c5b7e15b528aaf489e7e5c667c0c95df04472e1c6b1164914d048f58edc075f5b84078268dd23eda5e9befb1dd489b172ca7ce6d100beaa1869b661c04c592010ec98554a8dbeee295ec3c9cdfb9d4a50f510224adee97b59f8af60ca449bcdc99ab185103340b23172816942691bab9068cefe4a343bca1bb7378fa1535cb796ce90c591c5f324fc1c0851376dd3b01f5696caf4a425730c02b39966226e50fe2f5a43162e8ceba08b4452454fbd7fcdce133ec80a69e33a8823fcd5c6650f91c54736129c49c4f237de14cf6f49373275d2bfdb040c7c15d58f9745d8cfca84efc4497e14db6fc9163d55848df7e36e12fe389238e05a7d41e2f21196c27ef54b5ffefaeb2322c676db5067dde24079b4c62daa3c44a9b218ce929db9cdbb0a14f23f487f0cf78a77659fb226dc2764e47487ead808b1ad5c6f527c78dfad973249a1d1f70c3d4fdf36bdd432a91ec978731b7d2fa53476f4fcb3d3b5f49d439f782468cf57b5d1d744b90787d501e9a1d51a2823f20776c6e282b1e43f8e13d6a29e1b68aa9078f57c32c09ad825693f3102c0613329bcd315096e15890cbeaa81511a4d40b41c4211cfd8bc3d6d65b94f8d24b8d3959483caadafe1506a33fcf68ad9381b6ba5eed75ccb6776e0560eeeb936058955eb64e2a0444090790cbc97a0dedb892dbab1864c3872394404b6dd9837f0b1aab37a87a1ecffa84c8079a4d29238ced8330edd07f6b5659555d2e1671f1b8915671447e546ee2fb10618ec6c6a7b7376ae3506d95aa27c1ce3f7cc01d0c683c84dc8aae80038a8452ec05d8479e8516141b3927d36ee55cfd7e057f5c2a9c6ff855ca535ea39477bf607ee10012dd0982c42ca21608f2e0eaeb440f0ace4f2180b34699702b125b9dea7f2f8beab978448a14cf115cceeb231a2d3a3b621ad33537cdb199bb64400a47ccf5142e79ea1054bc3bc09655263471763028cf8bebad7fa1a6a7c272eefbac1f38451e0e4bc3e0e1fd9f6c67d20dbdc67f38fd2f2a2e0b54946ef519fa1a040fe58305afc4b0f5321cd1f51081eb139637dd49eb33f888ce11bc58fab43aee36f5457e4c8849f05129c31cde20d93114d13a00fb2283827d4baff1a5ec58c6e63ac34b565c72d2fc0726be86e78b169bc454a5033015b4430abf1a9ecbe6ed4189331a20119255a298f7525a3a0f2e27f395d3a6cbb8b5283b840ae315de7b4243549c4f61f4450175ab7894adb6cf9ad1ba580457a189618297359dd0e46fe15908aa36c6da68a63760382c487aebd2d62d7d6139265e5ddd59118b2cfda2496e2cbecb6a359a01ba6c8105b2be867c78464d1e65d15787c4cc26756713984018fd9cc24f966eec091799286f052d23c49e3db10b2cb49671da4218e70fb073f4390a23a2ee22a879e21d5c08a073b636f3908d540e3d9aca2e211c109660be24c5450438c3fe5a6c3405cd8384cc2fb90e8a8e07d6945379b052055b1423e1278a4b08ba273324f24b752a76dcd50c7d523ad79d0ed9e95a36a7c753d5a6b394fd7aa66c7ca85a87884ebb2ab3a240e4c97216363672485f4dab8aa5b086fe1a0d17ba126ff8d7cc6e7a7d3b0dfbf983e70e79f1d601207a15144120751414982dc372051e220e2ea188893eb4d34a8cb0e8d890e6e9f6c6829aa31c3d1ddab6dd2dcca4e99d1df49dec6002898398f6fee5e2c7132d522ec091bc8fd321d247b858803831d8bf07b0911d6bc6b0eb407dbe17ea4f0187fa8fb0e8a3a12b779d7296021f93ef984514afaee51d8b472c3685636fb130c2e41464a1d084852b8892a300ab9e4b0cc313a6caaac5f4382065eea0f78a6b1e9fad0c84158be62376b0598f3c0b55869249389682e59d5d385bfa4573da670f800dd39f8587fabd487e78debbd553bbf1f082e2889ce0561df71e04bd165440c913a564599c2f0792c37746dd7c060ff31924993fc538af24d69be3e9f67893cff539d287dfcbeb275e4ee97a3537142f93eca1a038ef9671c26985f7d7128abe1e7795207cb84c96f8186a32b2734a816d5f9692cb0bc039002cfbf41d208834695013142ab6f1a0da72b1aff03b086387d254b7cd88f1038b8ae885f2e3b4c16e12c8e6d0850b2769dc0beb5888390e8a6f1338e2e0ab44bbf0af6b75ce01d309a9ac2813ad792baad86d179ca2fc0f37e6856501bc826c06c427da89873aabb9b37bd5c91c9553043fe54a110ff5ad6d635952a0ebeafe2ed918bcb9e7ffe8e35e4e296b2c56dd2ea9361d137845dc6a16f2eb56ed5ec084a4200f6fa2bfa15b9364b03697227b9f8e260529c94fa4b67cd9b1f157485ada6f9386f37ddbb09975c7cbe580cfadd61ed417d521eae3ce5b91b2e3e24a79bcfb5860058fdbb7abc8b9f431f8eeff117418ef96787151cb9f866526a8ee9b6ba94debc7e48a18cb888ffd29f30a4fd7bb3f6fdd72a1193c3cad524e58c555015f4c0d84830b038f77c2ec6cc07b54d4f7190d4809376b54d5f9cda56016306aec5c0cf6244d4e8d740050c69f6032b2aae174e86a32df3b45cfe3299c4b699d7080a25684ada50fe75e90205928e147daa9867444c1c76bd1dd91672e697e4047f389944635b2101857186460c05c72bc07be5fb99d42d7345ba011aff408c30c8621604431f70cf713edf0487d7980256e6df82af440aa00a448f39302ae7d58d477da13d939b9128e45a236dd4d7f1b50f6139c35694c1aec6d1d5b7b03b055fbfc23b4b9e67ab9d702c2a3f6be7493eb20706cb0238790832de807ff4fc8f048a604059332da3f4d5e3c49b0aff3248dab73e835c150541f5040c02627bb2c11449845fb2eaf1752522fa0359696ac013a4df854afaa72e3239ea3f83d17d2f8cfbaa74769e64928e0f6c6db943d1a10c782c5b017f2a9cddeea5775121843db72645933e95cddd3165d7720007afacc6182f6d8e15e8ca1bf2fb9f7de87e435f794d9a9b08123ff6985d00b35157d3dd6732f83422b841f8a7ce103106355bf1f98aba94490a13e9b15977bf3c0587cd17c261592bc34035e4f4d590ffbee16e6677be20d277b7ec6a10d5a44ff8da2a50d1e1a7a447ad4a8735484143c4109b1a5461d7633fdfde53dd9374653963295c8d8113eb4387ba1b50f20a2f6a72a18cd26cd07f1cbfe55d295403ccf647bafc83973d1bc82fb18d33a9a3ac9bfdef9d00bdcc22c1676a70537a86eca79da2af1f30e6738c3f8520937d8740e35e75f1f7548fa2f535f61fc21c64ab7c02090cba0460b1ee78a5c6577f3550010deeb4f9567be82f61e2a7f3b8a7fc6a50e759432da7299b20b9a31fc99fe117321dcbf87ea19ee22f7f72f47e95cb8fedb9dac8a306751e06fe0d6ba0eea396af74f4f299b3425817601fd7460e8211e7268961b6c44c9a03054499fd20c1bf2bc7e97c9abf613f40612c58d31d918a43c1eceb33fd05d0f814117c2a57d29c17471b16e5c7ae8575091c5176f8e8e7b8697f01394ab0bd200af6c14d3691a14fd8a2921696ee0876256345cbadc1ebe2a63557c0fa2ab7c6d1ef8c35d50b4682c58de84632586d17cde5d1e8fe312aeb5782d285b079f4d61786d7a8855b4ed1894836034e5b8fcb29428ab641f20e933db332067db2ba8726ee16579b297f6e4f36cd5e00bbce374b694485e111618ad06456d49d1f108e6eb47eefeba2c51f4cf45f11d5a962c260416b7107a2cd416b1c056c216568321e9e6226b4fae10fe78af00a991d2cae8b2c668e5e8077e4f20a13e23898997a0bffb0230d64ea79d63c81711141182a1a911daef258abd60f2cc911c7884525a64d8fa342428020c799acbcd48ae3c4ce7d3b9655141c892f61eb97c91b066a1a1709ebf6d5be3fd29207485853519f8c08f6f1126551143e1d377a2a6f9803ed11450f6e7cf4a6c4fdd4cf2245cf45a8d5ae9aa24727e036ea2a90d33ace8d4d75e4e89935de07c07dbe5b7df0540caa582892523cd936134be852955b927c5ec9006889659f378b4c89d7e6ed95f3464062a98fc339cedb72f2a0839faf16b2a0529ed8ee2a0cd19d3d8e0d64c2e50300573a13cd068614c623074bd7e633050bb27612ca9ec80b522baf18b1ce934caa82c2f18c1c5ece548ad9c9b0ac9cd33361be97537d7df0658c122be22f325ae194ba6edf6cb82ba2c3684ac3f0f3e204e4261602d0480d84f3148d93ee23969240e228e3fc24116da2bcde16815d023608fa27901a39649b3303eaf0624472258c25246006f9f8bc7f6418f27bbea9119f128c8f471b0b6eb152fb8af3ddb2b03ae0e857b6440d42e5c7c32276c51cecfa5741ebdb3507697d051274f649503fd37abf6f4199545e8164145611cd6a308f554143cfc0a51b16d5beafde01fc6500a62cae3cc09e1d00a3699a07495486c5b0d21663b98c263253304a6a9473a886056053144561ba4c57e9394196f8b15bd4bf77baa4283502b934272b6524f207a2009f009b0047e29b5ad70945ded9a9f4b714a97ea5b7309e579b9de9fd5612dd3e1ab1ed8769d13ec7890955b2c81dbf33dd2a94eadcde6dc27b0e6fc961a6c7349993eef6fa12a345fa26b76a44fc2e21e1c8a6af3f69c2c924555e903f1a1533a31d83b46df023910c6721a6e5f4964829933835b5b53f3778d920070f4940248ca51deb438936984f7fd6069a3a2d89b7a80c9d45bfba3fab9a27ac16818d5986bd90ea40c3be3132296e529a7d769f1d3cd99c43cbcfb63832ecba655e9f53e78bd78b23a79a4df90e30c279ad86f586f329d242cbd19f30cfcb82a22223df55fd7997fdf5418270f800614b50e33bb66e597b15bb33ca5459f073a6c2fee7f0ad5f458f0f87b738f6d2a262c8ff71369f2d738fceda5ce669e45bb955fab8b430a3b08ac626a16fc366861fcd9259fc98cf79e5c8e27e971514d14013112e075f4e9701d7821a6185fd548705bdd21c800b38f5eb7ee51320dd5e1de5fffd3cd37582af3d8f47f3e6edd1cec58f6120149359446112bd7ec6c3e4d44bd4683dedd0bfd36b0259be4c9e39205af75880ae6cfd539acae6a31f87f6c9783aa5c76cddb52dd87ed04d75c3009c7b995cc16746b0c51212e31b8e44c9e247e818f50bdc308c89e4627107dc826a8f892e52683a13c48cda9f3f796c90bbf440a61dd18e68f1eeb215cfaae7a381419db50bd80203f5b0fef03fb8f0b03098b0a1a5b0c0101429deba88a5620c0e35764489231dd13ecbf21cf3e6799e67b90be72e8ce3798e997c30d246d5104287b521e270a1bc1883ab7c81067066015cfee8d3507d57ffa2dd9717a4ecf1ec92320bd068c339b7c7e57b51e2501e61ef718763201c1c37b809b0682fc4fe340d7195ba66694f00a525980184eca8c3a8ce1e636709308e23b912a338e61421c448b50713a1428021068bc420088262208441180441100442100441400441300a81489882e04e3a80f52183cd2d3950aa5f6d5fe0550a50638290843f1c14f7984ff0f21599de0c6bf3045ba12a5971462fb01eda0d378b5a256c5b293c36e8b3763b24bce14dfeefa5c8f38901ac8a34c18a90b30d2c800caa700794a5033475a340b9e13fc75455f568fb25c75acfe845683367b5ad4722ec43c645a57ef1ce54b5e63dd9c8a926cc795e0a39fb0db8b12a5a969c65b319dc2c4a5c2c11520a62b3abd8490a949c548985244ac1801d288def0ed52ae48cd25b2167694fc04434f863831b5e11e98ece01a27c4563213d958e80959ab40ccf859ce9f6d3a1cd220e76e0a1fa2167340ca461a63340d93d5614d869239176993f5664e72d78acd9d867e254aac8e97da37fe87bc156e1204a7e12975ba187bc15a36216e44616cdc71c3ab0953fdcb6462a5e983668884b2bd95ed24b979c36ba0cee2cea24f0b6bd60a08876674dab4ed1251026c8f5ed9659b9c7d29485ba911675cce3ac2083906a78a0f0093ca7827143e0fe17d1d40fcb07c23aedf85caa35b4ca646da77dc3affc27e703a4a58464e7c954cb757c9669ba58b446d21dbf680201bcb1e65114e3433970fc2481291753d29cf21f5f39dff497b633078d445ffef460596a1f8ff382a21f8224a3f60a09cfa5e7f53b7e3b4c30baae24811d00a8bc77940769fb8fcd0d8bb97d089216cfa7e5114112a51d091a1b54a5857f2729c16bec13b75ae0ce85681adc12b186b4964b286f47d3344d208f5c094ef7beecb52ef1017cd70d0573f731a1a8f30c7405b87eb465f152bd6d8dac6bcabfdda346350debb47a2afa5c91f5450ff7c2448e0c1027e639a5f495d99590c3358ec404f8e2599a046db2baf4c3354e46c816bf476cfef367a245903f216fa15ae3a8b7e36242c8b368912e12d8df77a2f5d42e54af942f3c50a99dd2c03e997a3d8a7a2346a405b2fea7c305bde878e843b51951c8c13f79636d11ea40ad848f4da098dc64cc426452c4a7562d3cb01c8a81bb1604316c7d010ddc156308ee4e58dc147d5ff53d0677243514834fd13029a6e80a31021697736a8b77467702653d6be235bf2f3378494be37ed83bc73677b14eb8bd4ead11d5ccb0a9afcf2578f9d77c9db84c23a323be7a96c302633313a8c3190cf700448ad8ac48f34f16581804a72a31accd11667521b5172bc774a58b4eebdd96fe5ba693a146f316ee0c15b7b78a47e101a43640e3da1921ae014ec52bb2f40fd2a8e5c60e5786f3b7ed999f8457642df7ca2863e4773de19caa9772aff050106f595e054b075ff1ab9659ecf0d3f1aa200af1ec4a00f9eb8cf1bc0c390221666126e9b014199d74f19d27243eaefaa08e52c36b894c5157447e347c855a7bf3d5816333a4dfb94c4685f59be11793c106e881e996250450899d5ed74bf84fed9d336541c0c2dacecc844d5e91493018e7d0ebe034e9b71f3e15e0dbc62cc44d34ff4a9cb38a5bc71ebef978e94cd56fe6a3a373074a17e4cdc83230f11319db368e61b97cff93a3d13209787eec38dc7f1b4bf41e8e5fda28904a810c6fbbde7aea0dfc8c5dc34c40aec81c29891c34c7df3f248e4e889d0d586106af07c162524ad896ed79a960f4e707528d98e96bf474067a469b1a232ea1ae5e89745fb67aed0f64a46e8fd1e5228619928012de14bddba8908de4036e334a4037fed4417cc8887c12d2ca5cc1fcdb567936e4410dd1b32e9b28c4b61644d7f13d0419ff7d13e7160212394a9a99798c8f379933c063c24b464e6aa5af3d7e76597b6fb5705edd0d7c59c499e463d7e4882a7c70afd7a360b9736a238f33589bc4a9a42178441a00948b43389653fe9f0d69eb6a13f70085c1e680bc337a112bc21b15a95762b8fccea3df484e84e71289c1c45f7287dd692f0226301498e39f39a6b2f4667127d447bff9021d9b6a0e9ec9049ad0b94e3e037e6f3a0e1099883456702056da7b5aeefd029f83b75b2f9351f5c21e6d9247dd9617cac38d1ec6d20bd9bd8917df2b202888530f23d49e234ae37c1a0e4f143f83b3c42eaee64c3438d0d33fb4ecdbfe0ed4492e5ccfe338386d7f28d9a412d3e71777a0f194f139045634f8c4ded38aeb8acd9f4f41603f8ef369f0e069d3189e435154ee0a3367484527d7da131b82a5b8b5605e22ed51e55d0ea13a87a914ba193deaf495513f4a721fee9bb08a1ec3f411e7899e626e53b1744ce0b024b96367581f8fa450e444133367d68caba6711d196dff4fc2b06601d5d9afe6ef2c1699682881c9d1342de0179eaba1069ea5d46b63a9de20de3e1fa89f754ba0894f636b75d28326c4054d48e599149b2cd26b4f63d814495226e41ef28246ab8fa925d0202a48afeaf6279ebb4c696aa867ef2a1889c056152929089dece6af2581548d6733cfdcaa75830967f4ed8f2fccd81c45df9c1482026156b38474b1f6beb024a5bc41cef8e862e300e853c3e3847474b179cea45fa60c2b49958d2e96fbf7d71cf288dd368210dd54c40bd930ba5868ffe88346fa32ab8c1d25fa562c9d25901bcf580a26030d340d0798735c9a8f9549ece10226d6093cc521405ffbfe57750c2efede2d811d50a485776d0ae74da695fe433132cf5102fbd540a5c1b4d0606a1161f07fe7a85183ccc6eb7f0d26860e99463a12f6afd3c2bea18edc696572ceb8065483fd22c9936474b1dc061573bb114a5958a592c13cad4df077ed444dcc9cdcfd24815fd21ec8635c7b57d35c3db8738d160456c644b8f5a6d5607791949d5f8cd5c53ebeb7d12147998c6474b16f5ab9e36c1d0049978b2e16c57a9255934dd1c5a2742909106e37b015028c892e761e4eba6121d8d7f435fe4a76bb95a817d48b4d4c74b1be602f777dbe5272d754210c83e862679c5cac37cc896eabc3ea835470a717a6cd0976e68aedefcd5b377730cd0ebe355be2a18bfdc8ee9e861b2563aed96742e0754d8851097a18b1bc4be1c6ad0b8b96aee41c5d462e0be0ec7d76f6fd1edcdb38798817070a2c1e723080375038e6e924852211c49ffc518ce71abe28dfdd1dba58460b9a1caaaaeca4ea6654c7696b294ed181f4040c7e815e796eb99bc025ce9c6675ff67c6bed1d58737afcbcfd49c6ea74c59d512e4343374b1b980e0eff133256dcd13abe0c7ce9c0187772fb4ae7278f769ae51f7c838aec8ebf1eaacefe4273dbcc30eb91ae0fe3bf7f1f7c54e752928337d3f6818ad136ea754ca9b3dbe60c776e7fcf8cccc7505f212ebb0aaef6dc9ced903da143dd53fe7a7917d5e0a086f9df3601d6270136ca42dcfe4a738c207cc6be0d7537dd1bf0f871848f434de67d0a1e01003ba59465ab300f053d74bbed306ea360ca235dca4acb168e62f6d387145dee6138ea04b828f20412fa21dba2ce1afacaa9cb1822f00808394986effd7db3dfca12fbb186993e2fb0cffd9f9fec3459ccd0dd120707c7d4c21555c4331e764ab599ab4e5642c78d35b9881aab57583729237fea29a1d2be1ab7af355b11b69008f6ad838dbd772b3e4679b7b02ddb26c0259dc9703d457017a9e20224150aa4d07e12056d212c0dc30db0f621eeeb3c735a5271ca654becd50cc06405c3e4134672f82c3fd243a6521b7d5ffde6404c9212db55d6c64efbde59652ca24650e024b02ee013803c7bc1abff9dcfbdf31153ff7a2287aefbdf7a21777b965597ae1fba54dd334cddecd93d779674f77299a79cabb9b0db54af15d11082c89448239ca0b8e605c16d482237e6e6a6f70835253aa99f3d38b5567cdbfb49c6b6e35ee431fef58ffb89a84c4e675564a97cc00902312e122427ef6bcb5ada51d21eb423c1e79f2c74d4e9b3362b65489227724b2830e244547444881a387db34cdf39ea6d547b497d65a4319bef0bcb8ca63bdf7ee5a67ad1f228c0b62b6942c62311e83a47da94721733c346b8f2748a9d119c2098552d47d7bb8e94553892f6151c2955ddfed76ba6a0ec58d8be366bf69c989e687f4c6dd9e58cfacd73bf95553641c13db427c3a750e5f45f79e6137550e2f16e3c4cce050889d73457ceefac9c3d7bca8fecf40271a565ce32c6a0a158bd80a691471456031a543f9a94f0da288d31b75d7759cd0a77d4e4e3b53ff9f3f40f8ff541ca84e50a920e6aea28b59580b2dec840c6c04b1dddf05aa08b6e3275f87e09b0afe50ddfafec09c72fed4f4749ef811e6dd8ac77f87a2400739bd194ece39e7275fd3c9714ee69c2f0e5cea8efbd659e51fe64b7d69567b9097fda993583ffbfabef85e35e55cdd7877dfb18b6ee38cbb0e96fd8a8736f5783da5de4f5d5aeabd1e13131353e7d9d0bdffe3bbfda20a76d9c4dda64b26840641a929934a034f495d620ae0e47b01c102e9151bd5c0537f39fd2aca0f78e06d5e028202036d6db832159ea2dc1d2f3b220939b6d9211706d211cd188a3e9799318d927614052212e550310e032d7ac2888f528f0856c2e8d8cca0f9d9a3e1ad50dc9620406cce28f1c06aa22544c9f10b69e70dac4c8bad8c4f96360d5a3db44751b018791ccbb6103a233bd313a58dec44d68c205d759420d24ab42490132259b2d800e113a86ac71ae456992340c7b93321903289c47c0d97a029e3d261a84dc89b8f249c355ca8cc8c8521c9a4fc511212e3684103277c93cb021786276c1014e60557dc33f664acae18b6e506d28e35356f6a78828cb53a3d3ea684e969334e722b63a60b933328878638596728abed2b4c185292d922224b1ccd91d15545d50903a88bae111e361e9d1a72ddd9fe172d7326082eedc06da5d71869587a866645b39915d5656280e66fb31cc043c9ace78ff7bc3347336ed8f60da3e4dd55a3d6fe50d3f4b0773a8a40fc35b0d0bba247b247f7ced93cd5af31997a7fe55951287cf458169744edab3a6b2d3588afde25374f54ebdbc7ec25727588aba54aeb1c901402ea09913749424641606e6ad7884f0c55e5302121bf976f905cc6aa1c251a5d5a165c96aa1c9c91d895c2966f358d39048e77882b81c3c596ba70202f7f2ad7eabe3b0d182e79762f79b9b15dd33e4ad4fa2449966a6a65568cf7ce01d4f6f543e2d0700fb0b962be49c6e2289942d36c76c435d96a538860e59ab22b617896102ea65a12444f4e1b67d29e21c13e5acf6b58696009d15c9db1816ec04086cc53793ca8ffbd10e7dc6310b0ea18ead6240432be82532fc62614145456937117eb2fb7e63a9b67c7f9f63469b9f6fbff838fcde095a4c7bfcfb93d979b19b361c2ff813a679c71d60f11fafdff331693044c4da4bfa6df8a55c68f4959fe52d5462a7ffc5b8b33a30b754d5b3fb143926cc662486badb5564a6aab269ca8ddb7f3e665b42e4f6badb65f96655996af77bfbfafcefa5cffffaf6da0cd081c2a40c7f6244d46fa7efdb82c6db64dbbbcff772adea569aaeab29f4bf21306620db887d031a5b3ce25940b5fecc371b242000ca8c749d284b40a757fefbdf7f609d104f9fa73e78f6ae059b8e274984088b57479d005362a20167d47ef3f8bd5e615abfd326cb5da8be496c30cec10e416dcf6bebc2e09b23064dbf3de7bef9cefdb3c7a4adf076a4d26a751eb8b2b67b6813a560e1cbcdb1368024dde71c9b46295da6ebb6dd7396fbd6d06e29573ce6f37f9edb79fe0dd342f05a922c698cbc1f75e7be27bb3ce7268428df3894bac670fa492b628c61863f36a92cabba9b5d6afb53573bf92a475de72eed53d012030a89ab5d65a34f33e2697b676fb9b7f9ee779e66cadb5f6f38f757b4b6bb3cdd9e69c73de7affffa3ff9cd39cb18b33622ece8401b5b5ffbf45aecd4d29cf7d48ffff2f14667dd9f40b098ff142a456f4c3c80c87f1cc9ea31b9d37441faf65cbc7a3b72e45c87891a152e725ed2d0b9c1297549b23eb2e8d52c3b3a676f6633f6cc5475d3fd29e10b7d6efa6aa6e1919e584b5bca354e5f9963a93d41d25eea496e897b19c63a592c9d3112a44b986a8576964ea3e9e6af91dcb7b2f4b27601494d311302f2ebd75df78a87fb8ab0978ce9d734c5d2a8dbf679b530d8513f5555f976a40e1f43acfe1b9e527188950cea9e0f9c09d04600e4da1110bc993d811f732a1984433ccecd70237aabe3660d9d16169e45c6e2a187c3272e3b5d0c67b3845ff89bcf309c4899cffbff08409de5f284c9f4a788f686366578020712ba3e7cdd81c406e08a860f92147a6ec5072d2f18c8ad20f2e5e39e3fc80a8da2adb4d08524d0488a45a1468efb5fbf7a8b9de1d05023dcafb5b7bd6e50dfb8711180f3a3f492043b0ce68d1ea32b7456ece14064c24dc5dbef70e8b17d79e5e8a5ddade15dbfb4ab73bdd0e757b9489ad66fc797a483066375b9b9f73ceefbd1c3f13fe38072fd75c3f5d60a2fe0529be26eec371d0f4a27f6233735dee5d6a9e4d7c3e9a5edb2f4eef5f2ec51fa3a8af495f8cf7ce6ebcf3cf99f7f2c3b62f44e4146761ad025a04b848f60cffeb50af2d5eb494e7c77c27c832b7d6ffcb9a67cef1edafef73dcb1ce9af3399ef55f6c3156807f6f81266a9a66d7a96ec293775af2b2dca509ecdc77fb5b20dec7b4423adb6b2fb6d75a8bed17958bd53a4acc8d1a20954afd673a9ac94cbf61e391f6be4b6b19e3ff9cc7ae3bbf6a23e7f47f8054cd038de9a8d410f973a6841200136500100e070603c24012a42086e24896153fc401c9831b0e8c97caa291405c88c24886622006423000620080038041c4204921b25e00be131c53770984126358100f142bb7011eeb1dfb4b89e2ffd36a72ccd2c89009700f3446de5cbadadac6d4147df38f269b8a00d0d3d29830affe76146c68b76a2ea11b892859898e67844bf315b46ceeb23047b8b9264520017f0ae96a879a376170903e1a00dcb7d076b9fbd71d04ee286f2db056bfb80ac836a92404c8ae56aa7dc5fa64e9d3d1a4c4e1b2f0e19c603bf5d21cd6b3f885428610e836bd8ff0f524975094b8a19fcb76e1b850b14ebb2566bab2a8e6d4b217f5f2a02eff4d687f50e2b1921d69327474ee16d9b2fff7b7e828bff8ad63e284a56876ebc39ffe1920e6d9073074c9b47926c8ecf7ec6a78995a3cd1822a9bca8d42732716ba5dd815af23f55aa0364e5c1676d1e35984e97e4b12cf074778bc192f6206bdc2bdb22ff1856dc00191831199a23d53740956647bb78fcd878f9452c5706a73bed7e988d0ba66f55fbbf769b0cf5b0a05e60ef30f9c34d47d2616928b270c3866ea7d08cc445f02e85270c146f67081a1f848721b24e05ee95ac49db3e546059d19cf66d34c8db21cbe099a92ba0dd27a8191f5915a77b341661c7d2ca967e39be9266a7327c8481b64ec4c7fb4cfceb1caadd934ce9a4db328a0850759c64f64206f7614a6f52834863afd82210ed9ac0bcbd7505853d95ac010d44863346b94ba7c4c8d83aaf23b8932cbc7981445d1da0c95e86bb9386ae9bb7138211da7a6512130827fb4561b83061e3e2bffe7b3fa525840515255fe1d4d21f3e95aaaf41453fd7ff5aeb63752ce3328cfcdc424f6fe2941af13a1e5866d15c66609b44068779b366ed1367fe2d75ec9d483ed29338e1aee0ecff4bc685b004f934590eaa344acd5d79813ef31f7743a37ac8f83ab1ee5a3e3720273137a9e5cd5ed190c47c0d5a25f3a65b5002c1c4562726196492a35d4d57950d005a3941867bbb9eb0de7cbfc6e1a1dc14ba696aaff41c1e7c099bb8d08ed1164b2f8966ae79f6f1d23cee4a10e05d02331b3000ee3a160c01074ce617ac0f200b2d8e0619e28f155d5a6928c604711f4e73ff7a06d12381001e08e5c645016e888ffe38df2fa34ac95ae2b5907acb0736c9f20eaf038485e0f6104264a9d7e62aa29e330357038fecc3c00eadcf18c19cbbfc6d9488219ab105b473e399dfd87a19f5f8237e6d623d27b577a2fe027dd04fb1c553105da4f81a8f5018cd4260b258160ccab1832cdff97b427037927f7d86e585430903738ffcf3adae90cb9e606821b1b731367c77f13a567a546f2904ba36a8e7882dbcf9e88e11fc2ee45275d6f613bcb3395d8fb2818c3ddaf466c74881746eb7a8c00e30ad32e20a2faeba514178cfe8809249a9526ac6c22bce324138a67785370c08b7fb02d4f5f272f56d6152103ab38b8b05028a63061fda2696d00b77c20794c6d61d224bc78bb3e8211d242bbf9e0f4338ca24f78ca54fac775149b285acda4ff9b108507dea3c483b84a4805404e6d2698e3c813e35bc508add020877c741cc776aa5da7c80db650ff322a52a7e0b1b735e23498368ee1e0fc277c650e98c2aec03f5d4029c033704a54acc5a8263801d3297ccf29afe6af10181ee99dec70edcc7756890af0fff0937145d6f3fad02fe0f7885cc76a9ab4f1c1653274b6574eab58b265582ec29682687930c31b85d653e6a3767c3148ec865c23c28234ac58d2f1cd618b885234bfcabd46871dbd7253765ba9ca3088a5f16d1c796df7081df9a20b5a6bf3a823158d662dd5f0d219a61decb3cc31aad8db49d3f6bbec139435f4daf19aed441426b20bde1ca957c6147af0dc560d92d4aa2c8a51d9f1d4dc19a1f1b65c09df67f1bcad4e20363c27ff04e4e0b4e4500cb917959e044f846b640b64ba734f37380550010558045aa0a624cbeb7dff5fe48051fe69e26b8165f6a7c1496d9d8e8e6517f99785fbbdae9dec9a514e7bd78c82bbf5a434e4132df4b9390a9b1583c58d8b06c20c417e96d2924dece17c08960bf80a53aa6525818c5144245a97589b275bd186dfc8a22a546a26e738e84b8258af61335c01ed263db08fbf96b8c84f389c6a4d86194ec11eee6780a7882fc70aa5be02ab2942d76747b6d86f8cd0719dcec975b004e81d1ea25a8ca2361a41493b28c867547bcb1f3a25de37f9191e6c894a5de943965019c88044d1246fee3b7e40fc4043a348ff9b390b1cbce1c106939c979f1af755500d8de642455e201909725f4496609d0116d46744c2290a7d842845dbb203c66de2cdfff899c24960f62aae9b9fcae79d305002afc94d1a1c7e1bc9216c606470c71693f675a981d69f9f400f84b2366191552dfbf0dc4205a1ee12eb7288ac5806632b1a530030a4f93184e3e34469ac5438182b06db93646593cb4f91b5832cd7c92deafd180da3dac22c2c2b1864775259a18b1a1e71c09cef66708524bb680695d81ece75ca2f1d689bbd4b0d986856d8da26e97b58f1a0fdb2b76906e92010b33e375347d089dd4f0fcd8d227d03836d11d6087019b365b1d7298bd6e77c5a9d5a24ae9f186088faa677d4784563664fbba89c9fa4c88cc8a21c8204c507f81585a8c1617502cf9a3413134f9f5a28b1ee8481792676d80fc281a03ae3fc17b3ac021251b5d37ad1ccb6b5542dda885945f8dea58acd5f2a59d3c9f48eea9fa7579ffbf4ea7398104b2b85aefa5df67a01fa029bf309de0e615dfe9f0003b457f4dcc52936c5c0154d819024f6ef2db0674984dc3bbf48abad0f90589a0a8afa9004f1eb825d443e037625b35dd748007b222a4a9fd67a19f9fcdd328e3cc9ddfdc28b4ba77c9c148451141e2487786d6b4d4b4de2e449d3db043f9bb72549f8bb642f82fb68bcdea15ae4fe226d4b99318cbcc7ad83146f8ed8f353b5926c35e18b8591e1664a084e5609d851d94b85eccab38c868ca9a70eb8b15d408ad2097a02ab45b901843d4f85804a9cbaf4f7bd6a18648f5dcdd3d69b61611437b70a94306a3b520db5999678d2bef9559005681f64a024b5a79c1a843e541fe8c47b1031b89cdae7fc285b7c0483c85ac2507407294ae96fb6c5b4aade27f417ff6d07e6f0c908561d8c57681f6c60ddca7e1544cd86bf84b09ac0e30c3287364e3cc593444b7d55cd2d9e3155460ca18f1a536ce79fff4c3d7612869fcab6c51fb25ce9aa2c587ff627c82dadafa05c3650b2e8802b802494c4c6cdcec3b4b961855109e27f0d6398d854428e1a0aad2f89939b339d97453eba2642418a627abdd4c1111b8a3376767e53d563a3aef64d89851318db2b6b0b92e3005a982386594094bb8e5fa271de88117c98c87d8a8c302480ad541e92967a06782bdd7974b9a6902f09bdb43b2481110bee4a879aa8c32518e5fd1695aad302a54a2a9ee866b3c71dbb343699ac7c661dfbcb98a9f2392651a970ce0bf844b007572702884e7e7bc0f6980aa17d7bb9042d037253f4649f1699ed5128e2b2ad2efa6f1291560cda08c7d3bdbe822f389e50de0f26c7abfa6a78c16793da3852f2645c6fe1e67f1026ed8fd02633d7233f41201e4cf4f9b53238428ec2ba2bdcdb9c651c703ee8a0fda9a996fce49abe32e60ae4d1c188040a0450f69ae9bda2de0d512c9e97e355d362dfbc63af54f82f8345b8cf7e271130bf1ff30f9cdebae7b16bc29dd86e80fab2860729bf423ab73daa3cdde1558738a97b0443bbe646abb51de56436a1c24b4a5e30e6fd3025730cc4254c6540ea0573f097bf5eb53b09542af0acddc3fb005baea0338a42f4a3486d1a77a58ff8071f980d8af1431a4cf86217945d34d10397c152af9023b80dd83b3dd55a93f1fd67e3d256352a931036f633d3dda7c0274e0991e9c87cb83a0dc18bce91fba1c0e76ccb2f83673ba389a3ff518c836a6c409644816b97b9fa2bb11177a8b19fe3d3195d40ac5494aa59b6e2815e8df0c862ebf2b12de0bb068d78a9628edb91eb088400b57a51daf8ee1bcc52f6e9eb144e26bb8216d1eacc34f1cc83d771a133abe181c396cd9c09d01f5c155e0d391048ac8c0484e82700e6b67da2e9898034fccfff295d9d5dce7f63cd95e7fa065d89d93ba41739e8b473cc321817a1f57fbe8b894ad9d14b1781d96606f4c07cf2350cda074d0e68a56518dcf5b6629a132799e3ce157e64cb2d4af9b86841fcfe5da3612df108218f7a337b65d7ac3133573749816d194464c6e0d8ff630e5785c21b829c25643b3b15e5c9879400ee55c93026316c9f48811cbb502fd1706902c5ea7a9378b1beb7c9b9df631d0c2f35e0c1f069aea1452c8fc5d1baad854069e81d475b89ce3294775c006712c666757690d21129d2a90d36a9531a436d1bd7b25a8b6a2a113ac437ca8f52cce8925784d9bfba175b9cefa91c5f8fd4ee80c2bb98236c746343af2f8a8eb16131e1f35be02d0966d0dbd900589603ef38f500192f8e341813b6097a115090c4a45c56305f8a7231a837690f3a2adad11d47af1c1d7fa2d95c4497d3678aa14de6061e317c2bc4d7a8c14fcce54acc8f091144bc02929174b51f9632aebb1245c273bc7b9ef438639e4dbefb51519cf2ce1d7d9f339df9118a5167afae5222b45208640e09271003beb49a4fbebae268105ad4c840b75017efdda69d57e7054daba1251a4a0a2f0d251d64cc5de219b31d66c41649e3d1a12efd93c8205ae23b983dc738ebeeaa7adeaebfe55d4fe896aa17f6249fa269996be8ff956ac75a5013192cf1e3d2f577d55656db1afbd0897ac7a162c588657a144dd149e6f70b344b1eb9dd7f54400c5c479ac56274bad10edf303a48e63a6d8c6c73995322a8e11e9b27d5788779dec313e084d8845639b36643f128eddae0d6dd2dd2f2a3c7da290c5ac24fafe340d93130205e3dc4c265f4f38822be7681d900aa0cbe740ad7fe9c57188637ca89852452ac0b7a240d103d9a8ea8329a6a3ff1bcdf5da71bde22615295e187568bbd21793cbf6aa58948540588d9981844d8a575249ef1afa93f2bf510d40850faa5f5538be91e1590e8fd540ea359c84d5d0c69732561f0f3b786afe3e9a1962619c3527a4c8a3d1e845f518231a8c19dd2cd4ea73d14b7e851898e2f72386f7c4e64927843659ff9227fe1a579110750c1af5e4c9bbe0a83912b366b2eb595ddc5ba13092fb2d9684c346d2b796de83acb88677df5120feb522132acb4076ee69057b17d4c422127b96716c81669b932b2de41d1371db9e30888a2ca327d650c1722df18c216a18952246d35f45f4365b44d1977e609eb9f09f4d36b72140de6a133675b22fef2d0e243e509add7298385b41560d3bbfa4df71478110aa174ea105f24a20dc64366ef9f7d5b74b320d90f27e68bb1bb440352a51291b5b1a6adb795683a11c8dca4b60e3ffc88ba284f5e07e04476aaa49c06402ca022b57be92f3dc6eb4bdf7764d4aa653250f8f2d66158eb6dbe02eb4830ca4012ff7d9eaa78358a5366a0a06c5e70129cb3ac197b3e6d7ecc40c1fb60eb3d7fe0e7553c41f4fa32e83583e1bede2ed8fa026e7070879d8ff0e7ce106c0b097773e26f7c8ce08fd24308b8a39d4b9d8e6d47094ed87aa6661ac4d6d323991c31b9df7d92490aed573e4727c933ad95ce89223d8cd5d69178b89262f5b50802149c2c04287c6eb8f0e22482efe861c650bf64d9370428f4969bc90fa4923312363cc5bf8708184bf910a0708d4750a8b4e49ed35063398ba251a9a6b26688c4eb74a3c41a932a6fda8a94e585e8bad4db9704e941ae37e010ff18c30c2be78f67bfc65191708d61a65ebd6d206fe121c1df285bb237227ba9ba89a4205dc581c6011ef2ef9c0e4496e62c510ff61f052d439d1849ca48b42b53fe34727706a39d88f80116a08c7871a6c6eca2946e2a4588c5e34bb30da46612ed2090c34eb028d8f284d34ff0fe23848093b1f18bdde9f29c9e014b53bc9799547ef310f15338179659e1f286fd7a0b4651e862ea06591a478c12c348de8687afeecc936be127f1a447408ce88645584ff1866214892b14afd100347bddb013f132459ad9db7c0a26491f4dcb7f23a73706b6f03465d770c81f46c391883054c7a987c33ce537a70c6d91e2b9d2c206b4495c3966beb8dd4c6b5d8693440c5f0e9206e916a98a00095cac09fcd854c30d333c329c3a3906a28186cad6ec7296bd3873785471491f91be4343ceed4bb42c9ec846ed34af7ea413b6a52625dde242088dadffc3f9566ba7a106d7fb07a3d4cfa7446a4ddf6e62fc63f5f7c36624eb84814c874844a5b9294b2d3828fe935d5f125f170c8f13c565b7d4b1e2776f807967b53da394aa4910076f2f9c70a4a5344147e419f038730e003b1879cb4636833806c08143f9673a39bd09f8ff1a6a6ccfa5f6d0248e56faac6ae86dad2e668e60b671369accf4f288c8dfb26a4cd6b40582311ea8a5797d941d8caed23db144b21eca0fc522721df2a9e131cd8964bb9a3dac8ea3f619b264e3b2d30b957383f8c9498db5a16a4ab85bf55ecef4c99e0f3d0d0c9d30132132f142cf67ac09477d837be2380b56b3f071e38c029790c324b8e86b24d9d0f0de8ed5791158a56315dbafe3eecb6096f7cc183613db9d5ee2e35f7b36bdc9d6cc3949036b254a717afe204708f0e24010e2090b199034e1ab9060858e06814f14909bb7ed13d35aa39fcf77e0a73a74ca28d4e14d517a96620b2434d609116e5a99c5a645a0a104a817d3b58af7b4b6ca04027284ad9a5b1936efa95b6f6ec80cf80f9475c00353506dde98b80e56a4021a50c82ba697b7930e87c686d0222faea974a68dc9b01b0c4ebd6a7fd3e67af6ae2fd78b7af823db279389d87f2ca345d3ed737bb8fffa346036df9eb52a14074f694f1ad8da9af16b52394ae6009f03f55a0372d58484ca14a3c92c67d52d03046efbb8f9f0dd1f55ffda53dd35d5e67dd7c9a5b46b0054ce4fd96d6047c61a3148dbe58acf1c4a01f6634c5388467570d2e3c583ca7fd789ee71bfa273712151eb6b9c174f722ba433a18c2688c2f95f714b44b3a45cb98d2022aa62f45c7912e55558297f4adc16c6ae9abeeae610d3dfe08ef5a9d621b9db3e30595b518bd1db9d18e5eb4ba1eca60a36fbd1c0fe4568847124553d1276c32ec55f328841125e3a4b93fe993aa2e4bee8a7c3a44bd0c78b6dda0bdf8732d39ba0a35448c1f85ea381b1e8cc8d0e18b54ba495edf94bb5f26917c8332093fc152c9ae18530f49d6d89622aa050bdc5cca52d97ceb10d8e138046bbfc5b48e25cf0389249fb73b00a699091bb1ab70d245babb27e9a9547e74dd24d9d9250238772baf09b92b7c19864af100c7c1d46d1a844622f6f65626e4e5ebbdd2ccab9ed23b16b9be50af8171ca61cb232b883a53165518728c8cae3df15aaca490ed95db8dacea1d91005ce5d52854c47dd3053f930e5ec3d6184d08c1bf523bfbfff39e3abf53602767725058af3427f34bf82a6f16594e38f38e204b6e827e049fe7839a33f7c868b6743f5d038e15003824c5bdd6aaf7fb028a813136516d811e6f6e30ba12da719691ee638878d27d063ad954e094787c6cd14d682c1dc1871cf75eea5240f24ab68458c7ba4d8786a6a87c088b6d53d8e40532ba20ed09c48aacacc85cd4e83993ca46b820188bb6d085048f96c5b46a35005dc5829c65fa9db35d42678983478a4da3806437d5a0634316509e4835f4260d62b11163e646c349daf3a2218fc1ad6074e9abad47b5446e433e02b6bef153a40cbdc0c61adc6acec3bbe078e244d30a5578a9d010167e08822df54251fefc7f82ab4e0729b66f4ed6ff4e7cc2c65f2b7bd4e230656d9795686079c59697ff5ad11c0414d0597414fd7b2703652bb618ecc1361532da8db58e298623fffdde68c71c4fdfa3506c4981daa1f2494e37e679b83c740988abcdd1a6dc19bc2c6d650f434101d7317dbebe87002dab6d5072c9df8bb145ec8c6a5ec08149b95f559fcf7757d31ebe23082f469ed08952ce041169d48b98e80fc971ab36eac55145abf56577a665903821768a817fb811702e7615ee00079e08568edee081e2faad7a9534bb58406ba0a7601bca63bf344b32e1660da63bfc9e7ed45d5e8b53fa68fd0b0f1204d1404e4bee1ec98891382899b3d17142149aad2d7569a40b96f65b4b15d2637e32b04b4e08d8a7b69525422d48ca0582d7fba216a60662c20a3272178297184e3adcdff1f6cbc55ffdded76feb3040f775338bc959b917149e5fecbe6911df40467b2e10fb9f0520d86cb9a9167550fb88f80cd14a5129a245cd7cb5f15ee11857c2f7a8b86bb948870c53fdeaa63a0c22df2cda7b4c94088326d96dcefea1a64c63f5e40ae4042bb5355313dbbb663caef7ab6aef7db0e07cb28d58749cb16642cfcc13ead7ee6f98cba58f50a4206747c106a5e38f24864baed0156f31094de62b6e8bde365e1b47e37b849a9963424ee9477e21e805ce005c0c997991c872cad4526e941b396e46950a3db56f647982222437b81a2a1c7a2f7ef33b89d6654f29f0b380ccf9fa24df9cdbec35d91be53a578f045b2c89e3e017ab53857acf74e1ca7a0a53edcec1e9cf2dd740a649656d0df3a70af3ef797a7f18e50796f5e35386dbdb6b6098975787f4c0e3ae990486bebd33b7ee618e300d11f0db6475e516ed04499b72114142eaddacbc267a9441ad5ee708e9043513a9e477d0e50d5162ecdc514baa632d7f190380cde035a1f29c21b598b1dcd48a950139deab464979b04efffddfde49c6c187a5ae5945906ac81e09aa834191918817e219bbc47b478de13af8f75de518d036efd1af0426d40db6fcc7841f82c50dfcf135616101dc14ed60774c769e05bb2b1bd674c05887ecd90cd081b7bcbdc57a9258c9a591deda361cfa3d187202ef64a98ce007404a7ac1bd5556a8556a62c90580a125dec7ba150434c6ef2a29d9c55cd58196bd05dde822e1d352d3dbd3c547231e2330680aa734918e3d291e1a23e8604e2c52a2e5dd7b865cc5a21992aa44ff21d556f8c7503dc93d1628a66988a889dd6a974be353d7a526929706389c378b8c74b6e9d71252122e5c653d8aaf3884eb5b929d7229f56dcc53188ca575ba2d9e29773682c91e0f5ec3f9e7d7e4bba332769bb3d46b44471480196b2b8068733f1b6b4d7702e66b07ba9c9bbb01c15134bfb701a6669eb91883e318b812adffbaa5da85a2bcf95475bc6547fda3d5c1c1efa4f6becb91e5bbdee35fda6ffb4598c0d3d542c89c9b5ec37b973ea3b8483e5638e3b513c589e146d41e25a2e4b2596987bf0a40fb90c8217176828938db616d18e24cd15445ddc369eb5d25868e654b1cc3ce05e431946b0f4fe5856ffb6e4251c2ae3dc2ef27c2077692eab74e44aeaccf687584124fd62931c628f74e1440f7b52ab6ccd5280e786d1bdeeae427c27bc82d24cb2cb326e36bea700befd2369630e079622233c2ce61b91785889c43d337a573fde8d03a62a4d6ebe4556109845db1bf4061d0290b012ece0e6cf04c334a36716a0626eacd63038c10cd5fa37e344779bf97d10d57dc967e2380a57f937be62ba3dfa4c667d1aa08810647d4c4f98e93ed4ec9cdcbfc060292639f6727035d4bd827f9d8098c8d409154d671ad1993ea6b784301b749547d5fa354d2e4c6977dad3d43d70165d40635bf8ad65ed1f43560e2b05c9c924cb8f408be1d025f2d921c346ca68a9ac3fda89a978ba48431bfea1cf2d3d9279adc119c96d8ee57ce9b556c4e5e1b397649edbf0c4b313c16cf6f1d8fffc1626a3d58ae430eeac76975b497272b3425a5ffab6fa0f81566270295742e6b06a792784240ab7e9b31c3838d06649e88cd43c2865bb62da581369858ab159016b3d8d19b9f7a2cc1855330da2774bc76b8208db168f731e17ca08e939436cb6fd6e09c278680fa7106e2f6ecc28abaa8268e9c68d2f0090fa99877c99940378fa99c70b5e80c479980c970539fb072d3fc5539752f54dd6cddc192aaf0a6d8f903372cb312880cbd34e1d74003a86699bbd390336074414027b044e3152c57b34756ec8d2ea3858ff545008d7787db33cdd185008f6bdee27050cdf4f08d430e63b3cf65d627da258ccb22da959ddd800abafca2716d06252be9ac027ca2127e5b59df4a4a03621683b65ee98c1c62a147025977c0e1a97790c1be92c3345d972a7f2b49105cc671e5e13bd348d7b03ef0d487e6c17b253226ab2e1e0593b78ecc566a069c90ca26c7eecb66771c43290c7db401f5ce996d4138932848bb077527be1eb5f7786669dcfdf3875446ff32b0c1ca7121e8066e1becc8cdb76489b6fe8b2ea8b339a591d3bab15b0a30e4a2f6048bc4398d76f50827478a0b3092d337cb2266a66dd779110332ea431e494de5ad217027c0758b9b4f4edd18470271fbc473c8931f08540e1d8a3c5303c58bef0c1308a3e24e70cf49d1e29634fce849e5b0c5ea1d221914c2c3701d327fefc0dcf4e927966c8a5e89d04f1c353c2dd85c91302d9e4f8a0048e2a12ed43e9279edc11c7e9f588b0a48c5f45b1c363df87ab79392b773ef29efbf2fe9e084deac2c58598bd4edb9b28c38662c219c339843fd2809c01c546695065e1b457be670089183465c4f0eaa7e1b87c685fa2def213aa036d34dc83a42ad9ee231cf002331f7d8a16c3e2067dc84965468a0d167050a40fdb43fcc687d4138eb4bb5acbd5d91c8cdd71a2d4f953d16c5150e4ff3f5d128144db7cb0c3ea049583397f9a4641112608888474ba6ff3a2d929fd75d5d4be11d63326804495ced8ea66e26258f5b7b7cd47f90e4d5ea58211b84f80e5d3fcaf56d20acb7b7fb8b2162da72b64c2a8c0122a0c40a95c29cc5b02805474c72b3b21777bea14d11f866dbc2959c3ccbb0a43cdd1b57a865c80e8e2f6cc1e8175ac4330e95e55c21a840de5ce968f6dae6451c2726e826caa1e72e4639b5b4a07a0670473a02b433a6fd39b6631d61c23c278026c00db25298c42904222f9ca77f0471f030b87395297947cd14708864d4e009ed1b34b023b2653e04dbb0ac9173165880b28cec630c70c6c39210944cdd2bd272b4c9460b76fc8edb50016f9274053209416c7c32333ebfd33fb2cebe7fa1558b0229bd610bffeb78a5fcffa607c6fb5be1f0353b4ffcdbcc5b129ec380da14fc789ef13a202bff742bf415bacf564796221f9433e8262c99c18b10b71739d26a3d8f6f2214a06b18de049a3274d7abfbcfd4da63821c4486413690421ac94d3a21a6a600e06eff8f373050b7e67c33baef14db8f7f228e3bb262fa35ed34d0cf135e79e3954334719271d6ba6c377a4ba6bc5c9aa3466679a2bacc3812ec841212e8fad58b378dc97e44cbdb8c623b6d941437c960892aeee922355a02e3a93643903aac4d157eecc36a0f940f59b0c4a590ff427132579387ac2ad7534253407099a00d2cd48428f91f1c8c22e43a30c01a8b39295bc43b1a4769c168fe86e4bf82bbf6bcf38cc62d7e6e747889e3ce5b9ede941ac7a816e15042ef04797bcc440802fd0b9192855dcbab9b4d463457532767e5b357c68d8f77058381bb89ad0e084dee6b0184adf0e25c4b41133840303bdd17708a009633eb2754356db60411c87b199965552ef09f1e869e4fd3715379c23e3fbe794db78cb1f3adf9eb410f6d48674659e1df8179c0bbe8eb4a9a7369b79265a50bb503367962d055d3a3b1d95f614f3308f4b922e1ad2982d3cd949c2c0ab22f3bb5933c626a8c09102338c3d3ddc9674f681d03a7714ee92c71243cba86bf79898d6227d485e07ffa92b5358c56e6c79c5337c368f14ac20963b1709e86a7fbdddb932379908ab2af684ccdc54c5ee5e9a4e1a4b6c475305f761fa3483e9ac089c2e63b93cb4dc97eee9acd10e1641ca78a9808e74d3faec15f5ea5d514735c2aabd276112ec23be6f2efb8c8791877b77ee3c0676260fa72b158b602be1dfac9bb7c6fecb14f6d714390ca39b2afc5e62c0d407c55deb8e60eb9d4d0cc3bf658960dbc9ab240cfb327134451a73f196ccf6eb96f46bad9eaaddc677ea1a448326de992515a52c2ebe719de3e9279590a8ad8dcdec178fbfe8bb3ba3c8e32072dd5506400a611658a01cdc3f4845112cf140b933b27aaa7a96caaedeed71c8a043e161a0eb0609172b604be641acf3807959e45b28276c48022991c84a8b1d4a5435a744af5e16c5a29e87f21475af6d60e2eff1c9ce38451518a899b04579834aff603ee09a0ccfd79ecdbb93a8cbbd234e6edd1c5c16f4895505e2cc666791576b39ece9bf64cee803b91a8526438f984b5de5314301bcfb580dda8b1e4ec5206737a2a8fc4b33ee9248afaf8cda6623d7f08046e19c50015acf782b51605e910e190eb9c4e8e950b51c4179da1323bbfa2ee8449b3c407954725ed1c8ddf40c0126f1afe48ce30d37f077c8e12f5487ea802ed8afabcf1f2ef3057f51f387ae3515d410c996c88a88888848b903b7029f02990245499e10230c309cb059b992fbc28b2e705ab8d8a2d4220b2c88aec812851555dcb024a122c914522419f2481f53f7bdf5a77486504a29a5364c7f5cbecbcc27aab5f761f873d678e206acf849ea0070f92c0a43c323c79fb759c3337f06b58485fa2c0a6462504b62bcccd79ec750d063894cd8e38761cc0b2a3461f6e859fa21159ff34a631f86e4ac4df28547c86aa5c29e4fbbd09c68687e2becd9f19108799abf6382ff617ea63098f08f3a59084349188686184c8fd280e654734ea8604e198515a4c060940d14be84f27a4e27bbea31c088cb9f2e3a6f164d5d9ed993a95e903925a7803a9d52e899f9341fe9f39ee43dfd2413a5ff0553d30a87e9a58e55a64d64edfb53fd299de80eeca7ea24a79b39d19b4cc6e2a566cc89923c76843a280c076c405bd060a4a1ce30a8a9cbdfcbb96402d8a3e6fb108704cc3af10039e488d69ef7c690b785081e08169504c811af08452da0e379de9166d9e96341b01fd81cef0c5785e93ed59fa6d25a46a68db4510e1b6aa274b8c2a245ad737c4d75b3e2dc4aba9d5ff99617fdab447650224bb592ad742b955f0c5b7eae4a9bf761f83f00fa872fa0c86722e5c4cacba202a85df076e92544aa870f25bcc13329a7980b7525718b96fb736377bcaf0bbb5fed48ac7872091d288d5a822c1dd882b338ab051369101fee1a6bda7b9cc79cf1e77d18fe4d5b1ae7fc79994127dafb30fc33b0e5835d58c42bdcc239832c9045ca91ca9ca9cd155fbba2b5f7a1eeb6360a17d568209e15ea2099de63e8f38b4ca6679e0c6ba40bded287b619d18eaea8e6b579426cee5e0973beb4b9db276afedb6dd919cdfcb333af4bde85f449ad1374bfa96e654eb723adbe1f7a504788fa37218dd7f1e5389510fe2528fc1ca8506badb5b6332c2b58b18fb21959b3f5d1aed073b0628b5d5ff55617fbabc3765694e105a93cd43edbadcce9ea57b3b95b0dc213125f4de73bee12526badb308e7fa5c319365b927169afbe379cefd713df96863b36d6c4e3bd7f45cb5b89a7788e814f93a438ae810d93b38f5fadcd69c3d338b76ba6239e79c4bfff583eb47966975bcb12b73a9a44eebe44bf595efb9c9cd6bdfe984a30329445288a4e0ea479d669f06a66784647a6c89e1b123d49103c4614260c8de09e16210f0003e1ab0850ab8ad4fc0e9a27a781bd54d1b17e045e6b6d04c9cab2963519d5d519b11ce15b5b5cb95b77aab43d5963fac8e1588caf6109fb81a492913dd8eaee3e3a776e2d12e77d367b244d7ab0a913397b72e595ddedaf3316fedb2c9bcf58ba99c2c3e5b93b513455729ee76477cb56f6b8b7c9c599d1d79b9cb263f4d80703626b340d7ea6855d72c1f45ed64c39a38b93eb7755fd75596a5ea7b7179d960d57a7b2fcc62912cc390a9736d4e8ebd18e7b4f6ba4c009d1fe00bf05335fdf608d8f0206871ca44f1a58bfcfa05457c04632e2487cf7476f0df993a73d24fe29f333fc5344e562e4ed9049a34a1da149a43f336cb899bb319346d9368e6f2d6dfdee5ad7999b7de42796bdd73cfb9f2700578f8ac721a9f4dd924c5299be0befb75453bbab2081bcbd8de0175d98c8b242ca8f512fa219215d15c47608d890fecfedcf1c6aee562ef405dd6679dd6c9dd2f798e1771dd2e21704057905df995455c86d9d81eed6c5ba0aa73ad435086a010618c29c656e686ce1c62b01fd7448b166da83e8cfdfc1bbcbd8aead4957e9d3b3a8fe81f3d92d62ba45227f57641061ad03a0061c862c0c108b87f988675ff2e26594fe8c885e0366f9368debcab002e27ea46a3a1159dd581a272a7850c1fca7215a9c8a09ad01cfa3336c7299b4073e69a2f114783106c55c2f499adda3735149b672528c35bca832d634bd4bc1d19412431d4050b631c41021461e850450b965c150147adcac5b98f5633035d5eda8a038b673eb7a6f9476145613d7945f1e125a8037724706761f69e727ecef88bf0b4d6f2a759ebec73ce3927f3fc9c004f20e79cfc734eae39e7fc6bce85e92d76199fcd2e2da876c92b84c3b13f6eaafb0baabdd43eebb24ed288304c83754ddfb85d5651e77a615ba804ca33ff6a3d19d2407897a0c642d68ed6da591e61b827329c75ce59efa0eca2ac562a0fbccbb7ac9509f02918604969965f592c8da509a678d90f2c00503ab69d9dab73a2bb7ba2ba6a546dcbae50201814643b00a77f547b4aa1f73beca8b58db4d19b4eb5632660dad2de685ce43372f25dd3bfcd63626ae69cf966896eb35e918b971790f36cce26ad68266ef1c27e625776818aea6ca2cb313966d2a20ea0141519d99c9ab5d9d1ea501ff58f54f121e89a5feb372730021600103eeebdf7cedeb54d8e3cc665dc86560528b549dd7c94daa46e38b5f9f183db70ceb90d800cdaa4b59793e00af409524487c80e97f1f1721ee3e3bd241954fba1c98038ad248d6a423e43e28dffcc7a50b76d31ea4463b0f8ae95fbeca31d5f71166fd56db4f94d918eee5c49a4e39b2835939af9fcc666c26ab01acc467d903c2eaacc93737fcecedfb1d402223baf0988a472f03ffce89ebbb5dee2c060109b516bef617c8e1ebbe88be941bb4ced33b6d3dcfe713fe58eb2c139d96ca1928fdbc6f73e6d201c5cab6ce576eae64700f66693292040766aff1ffb07b06f76ce26268bd98dc34792c7c81d1d4a6d7272bbdc381b67eda694dac09558e27811d7adb891962d3857ea86ef4eebb25285f36570523774e7f6de342745a7b785f1c17799f7b0b9f3d9eee304ba1238812f9e1345811298b16999932e28f82feb083f3d7559290c7f6403452ff2afcee972757ab60933ddbe343f17f1f8ba79eb44fdfc511485fa0159a6003171a764d159f436616132994c2693c96432bd68938bc9e4c15209f4264f72e954d42f9fc9546a8d240abd4d4bf8efc333ecf1816c31a20a1fa2f090438e4a4fd65e634cc50d2a6b546dc57bbfab24c1fb14255580f0a7adee4aaae8e0e5d82a4fbc14c6a46e4444153e4dae00220b1bc658094f95dbe1e4e1d1aa7e6ffeda054f63b8775a73d77b6f174ce261000d1edb8dace0274d352ba5d4a3d4ce0de6bed337ebacb52e69bdb556a9a1b5d69a33096755d123c4af9ae67465a0af17893e4fbf9717d50e4d430a81bf8373d2a854129f88f007291a0991577610547d586abb7844a658bf91169cec6ee4051b7c8cf81c7dddc80cb81a8a54bceb9dadee957f9d0496bccbcb2c6732e1306d2dc6679aa42ddf9c734a898a6f4e1f7b75ecc74e4beddcde9e983475c56b606f2527a13fa08d9f705da5c987648aafd5f33695326ea6137f3ba8be6bbf79efe4d6d6fab35769b5774e0fe78c7916b823b14266b34d6cb371bb144e6ebf38545ae7fbbd9cf3cdf9665beb297bfa6fcfd37903e95d889c6707c20fb93212ae55076b9154e17d6b27fe825e0049168584e26d461b1f8837c6997a2ef85b6cf5cf58678b5dac9d2836ec573b9d19df8af231043dc35261c1f6a692021bb44e3b861a38c7b992202fbc9c2caa5da32ad1fb115e4a0834ae0c04b10e17a74161dfa72488c90b75a6095fa2d252ed4daa4a82d650126406c79cf7991e85ea7e7d060c52d9dec18f5477900a2a2d4cb4317f470347a730a436e58ad65a6bfef1ddbd6d3f13f85a8db3d67a6badb5ae32e5af49d53ccdd362e30fccc90b7cb9401157e2727ec8df3c110803f5290a97e873479c45988cba5e4e7ea8a71f477ff82dce9765ff44abdb36abab7cb5cbb7b5c51de3b34dda718253f34d8a4dcd779f9dacd13559f3fd79fddb018f4ba864ecdcaf95005000e396001c160724511667498c10c41093d40374e28a041f8a456571208af110046110042188180590210001020c51a08cb60a527a15e95b2c620dd0fc7a88297b40ac225c756434bbacde0656f85ab5bb2efa75b989f20d3b556e91ba4e14d09fa2df9a1a3df28c5b03257e80fed487dfb587784fad506843365eac13d2b4e707c2ef3de43e8d3783b05601e79d65cb3857ce16f61a29ae7b6d256e0ec7410af46c29854d04ba460a1f260a57975f22d2f84812729f2e752d3869f8baac6e41dfcbdd06b94fc5e61829955a3a91035a7e37a54fc12ccafdff72a9685f0bcd72499b8496d232f6d9b169a9eccc9b3440b56a128f9861264c96080a1d14bd63414d8c0aa627cef7ab039ef29270f61c9438feb9582f56a2760392f77026eb42ad9c4abfa94b1f176113cf81b6b2b69e522f691b06276b3eab33499864c8d3545c96bfa4c899d23144a00fb3abc1ec27001dd271669f29b33b3fb64fe33da6420faaf5f3ae1c41b33dc56125f368129533c8092aaabdd6a38042f9134bd5f18ea9c3a8159dd0d2e4602382a3446386fcd83f8db9688bfbaa9b9152722baf3a8f116e544773b5224f15005aeb5e631b32994b1fc2974d44e97ae14a3217cac02cc726e72f9a8dcc550a75e33bb6d4817de7c2808cd49aa50633b8045a8a86cdefc24b7998aaee81581b4d159672f70fa93d02b96bb9ae02b8dc51c97a7361020aa664c684266c0bf430d4555e763f4c2924511a2b5f23c6f3c435aa1554e7cbcdd5dbcd9504cd63129a3e5a196ef9614e994d7a5a19d123fd58ffb4b191762801fd5dd0fb6b922e8303cf402be33c7ff5725cddf807af638de3b950a69cde8983037c56c64859278c53d50601c58e8757d091a2d22bc2cb1cd73a7daa8c82161a25ea42fc50ef9e6949c7f0ce20d39e1b000a3d1eecbb65036a21abc7a85a7f0c5c44c99c19184ad7a3a9272d69248c1ba49167e82293f6d03c2d9c28a6f6fdd5e9c6ee0fcf7d17e2925c82be00cfd1e9d83f02157857529551fe5198dab77d1c15e18ce3538a1120727e334ecaf947848bb771a87038648cce9046e4a8832ffa8c0a1f36cec39951d12dd1ac7ef34088814aa5468515d1b934258ae19e22e89086b8d1a87dcd8f6c192680a00942be039658a2b7fce2f7a71445bde803f5f324be52805ee1790ae5125ee0710cc4490c919fb2ee50447f89c6cd9674b20cb8da58f0131b85b60d8bcf1a2fea1a74dbf034f01193f0f255820c615351b3220240964a47df67f31d9ed2cf17b65b0a3cb56cb9b96c0a546f8abc65a7c5c12054a0e097946e34453e6a99a58f07217602d547eaa40e4f84789bab6323b331eb229a957dd8c784137fb5cad1a52802b4f31d240a7884e67c378bcae8ca6fefa2e5cd180f64c6450ad4a82ebb8d8d8e4f9bf21dda1d819eb5deec5657f92633620ab327f6f794d1d8e16d20eaf3aa666ee93991d1670e721115babf78565483c0268768349ede2599dc725a626393f9a1f71ceba18b164e17bf237c4e94f9db441aa49df4d822b4189cd4b6e05bd4855739a596faca508944fd9a70d959b16b7e26c27862efceadf95ac227be84a8ef49a8641141fc3437984921ef035b86cf1f877dbb3ee44b4bf7018741f8824db9b3370ea7e0009d0317619211373f77ab9ae15a1678865f614473422a362cd3a4b870cab996835071927fae4afbc322e0d18c442929427f1f7f9e03bf743829f0a13c82bdedd2d239d8b20e09fb35fda85927a31a0e9ac1810bc5c5682d67c08d5c70321f916b972a7811d33e4c5688aff411982ade13127cfae43c5f43f883ae889f7e2df036e635a460da28c2758432796bed20f2698a9b49934d11595436c9aeb30f333b7beeaa05c38a890d4725937f4a6d28c436b4963d672d2493a57d561424199dc3156b279cdf7e631fc63c3f69385f382e79140d977e645253fa631e1eedba1aa168ed3aea9070163348c6e5a6f42b974746717e218c33765e491d952d817d454c763c146cfb97d240ff07166e570230bfd1f9c59a3b45b918c1987fd421cb5cc1eb863964647d7dc9106f0e1f4393d0c8a10c5c9f8d2f7704ab4df00c14312f267104b219f1e27904e2e7c5a27d920e40a1069e5c69792cccc59ccecb9f11da8abacda010c6706c1026e06226e67b808f3777eec8b2eb688b1f1d2154609951b670d5ecf442aed9dae17840b05741adb4ba7d6638e62f0b983700db4355cf96a3307d9d6aa1f7d4e69e4234865d0521e73d40a429dcacac5e30fa161f42c69b1d2fa7189f06829566537765d6c54ca1bbb3c956059761a6a0c1ac088985a9d46250028b6b77d80a90c1955584eafdeea8c01e0db20d81a362e84fcb2cbef434609b955de05688ccbf299992f0db75277c0023c61210c14ea1c053380200804aa98fe3e17f796394940051fd986e26c88263f47174a51cd8632520c14f0a978d59e02f717d984bebfaf691b61df5a1d9207a42cc14e03d6692fab88f0ee8dd6b273caf4fdbca3954f05a43c54414b02cd749102750627c758902fa3a4f7d8410092eb29f49a4b81f09c4e514faf472422f22e90b549f7e590c626fa39cba17359ba36630a7380175cef8cb76c0de9d6270ffa36451ec6e57b9a7d30240f98191e8cbbc53f2a1fc79a7d0b1e27613a30fc85fde6d9f2f7083b1f1a59970accd6f3aed49a3b5bed2606586b3912c51ca641ac1dc59074464abfb80f39db85e90f44452930c5e15d7dc60dde01bb8236160dc9d123f2b8d9b45b4131a5618796404e312ac48ba74443f3827f373638f781e1c2364999418160ad3a025bd1b95bc204608d36ec7b366736365dd81c6b60ae133891ea6ff9d7eed55a2c81aa5aa31b540d1bc3182b523478bfe99fde4b5f4d0dbfcba667fb88df35c1be4154a0aed14661b62f3b90e2ec8c682df82fd21c2b99e8efaf4b2a778316404719ec352f6afc12e6971629ff2b8d070a8639fbadf64858905adb8ac82ff50ec3ae18d13fa132e0a1678a86c94ffca402f2d10bfbe6be4c94dec5cbed813697e9da7d8f452c98ca6c700e7b12b94977c110e2fbd882de1486d532c2573bdca1a3a2934466513f6b914d2e85f0f774d70a4ab40a866f6465f9064efdde125dc14eb0604bf5ff507707ea9152e33e01140ef068d5c32b16769815467b54f380432f3710838bf2201f05575e992790a159c82daabf2ddc30a70e77a2ac427297779c07a0301db060797dda605ab1b2c8f3451c20a728d26d457498b833f9fb8788d356f466ae0e53ad05b6c76b7158ceec7080e2b080b73c64a0128e8d5957f6a045b8b5fc7ed7f84c4ea13ff173a973aaaeb7378b118766e178d831ce9e34de446b2b2714e6069ba80998ad591657609fd14ec7d7042f0e0517440a5cd1855bb6e56f93fcacaa5744af899de78e5a123746c039d29b1ad147957b946726627bde49deaaa5e124e18ad7e5a13c02388d242e95d67c1695b49d0f09c870b93b29357cb4922c5ea362efa33ddada158cd39abc5adb797f028b869e9dec155f203c77b49bc6ec12c402f2511b907b79a038b6d7e1f1b88c85fca4659128f9832b6fdba266e21149acf9278806d6def75ba26cefcf792c7854c4961a911f3dc2664145d56e8626b4e1a09857ff46162d7cb0a5955503c3eb7b01612b06b37a5d8e3b45067ac34593e958c57f581e38c9082125a2a12fb44ecbb09b6d3f2e562e3a107a901961df7a70775bd299f33a0d0c3492402050fbc4e1946b7f9ebbe206a28af8f9bc61b6b7e55650390b05d876682c3d8b63e2439daef36346b6c5f37fdf1f0805296e9c82c6796a0766dbe0cc02df13c9798e7ecfc010d7e9398f201cc64256d3735d5460008cbc28bf45f4f69fc7d84b8d226032fb1364d6660eaa6b394e1ff26b174e1366ccd7149c13f2fe2fc90a3ea8d97794bb3fedfea6f0ec8cf29daf5a2fe8bdc5fe51e8d9c79779859774389941a6ebde14bb909a51626738f9f50cc5f4aea4745655c12bb9c33113bdcee521f409e77a09a03c983227c18fa4a7e62734370fa6723f24aee6d47ebea81da3cbf07724ce27a2359b8220bf4889a9918ce100f674f86ad7b6a861f05cab1754de439f35552c43f23416f8b76057929bb8b69dc629d42e6bed68c74ebfc4533389f2fb666549e8fef9134cf218dba614d0a81bc7ee28597276ce1a078d07906db0e5ef828e4a02d0e2e0c7a5c82cb0513e9dbe28b0e190e95f74e459afcfbf82d25d7b786e68cce30c1e4eee6c548aba407762e39b63150eaa02599c3ed03e43e0a85cb0acb29cf546f66384c2b07a177cf300394bee42dff98c0f5552718aa47eb428666efb6f91ac415aebf642a6c56dbce137ef51a650ed3c824be68f2ad690644ad38ae113c5320c77f21e604071fa78139e8a1f70ed945124fec8e52eef46cfe082525d2f6775052b9f8c74abb364cf177eb1fd89d932b23e382c380ade2d21d1d69b8321545a8e66366334ed8fe08bb65fd8a713136910c3b8c46b48e07b2e3e509ba9cce14005e21a757d0dd0a0c8a0b90b35a8fe39bebb42641e5f6ba420af6e030e01e644505ad2dbc15e636591be3c2ac4b5cf063819dec55e0c03b9b29bb5e15eb3bd38342b9a07175f19675e7c219f5bc1c9cea1b87ff3c48520c10239a23e2f1ea57ef05ab669e2959c508e34311feed8c57120cedaf94ac204f61ec1b8fa87deade949f2bd400c317f5cfbdd7a367b2d5d2fd9e8bd212394362635bdea9c15a500cbcaf2423847cda8dd78f87fc41a9500f9f54e3c8480a43750cded5f45e763f76496b9c384f8f7bcdaca902bb9289b8bd0dbe4dbf2b8734aeec382e664a1bf255db400483e294d640f87b14c3536d06a49a8bea6001b808c523d0e52d8f756e3debbd2c452165ecc67e377057044be2a51d855c4252e049a2a7c7973bd1a08ba187e921e6b1f33222819ca631526927412668f51c78dbe126394f86438203a283975a2a3b61e56273c2f76996c506c24608ab500ba6223297722d57a604130ec69b7b9cca5daeef05df259a0715cba2610af1cef68f770984bbf70a689afcab8bd36c931d0fb5eac4f1f6db121d1210a4d5b1b5746933b70bb73a5f2eef3ac108379295a74c1ffca24c9c496aead633589467c1a561a24b81ea6b8985a27fd495c4af56c6115998d7e9fa66e8345457dd3b8dba6a78462a6dc7b840946e84c13c8af9f05afc137b93109d3ec7a0510244fed18e78d816a1330cf70f82cc6672ef3cb319ffc9a59e3cf1710eac2624cfed1b90e3ceec6b27453bf1fc549f31811db147fde6f14d138f2adcf1a80bcea815b511c81c86975374f3cc167d4e63cfe350918f2e0054d65e2820203ce7200b6b18b492e51e622741ce4495c60748107f669e59cd602edbf1d62931b645241953e643984ff83dba78a85b6d8e5ff5beaf73f336f7bf318832f98573594d0acaa583d94395a46864b095a4ba4e68b63ce260087f685a58d10b0382232704f22cbf2a79b41f78ca44da78110bdaf4cc030e88ae08ba9f04a2402eedc4551b87a9052b54ec8321fbd5b338fc9bfd57f2c077e241e25ae3d85febb40d04ef9d394eabeac613cc93853f65fd6829feed1c16941f3a64d0183192bbc2d3261b824d71a453715d24cc936e20e4e7a30d670e988d3248b59bac5efb5f5a1da9edb01ea5c14df40c51fe50d50bdcb7efa3e511cb09a09516ecbcd60eedf17100dc00bc36290406b6634dd8f9ea7f51beca84ed06daa4641fa6cce1fc5213e9d913376fef4c69351ddb8165dcf8e50df13ec371188da30f8c7526b7123af0cb000e93133fd30580ae5327d02918c168584da6ae00b15e942e22a4a82b7e1ed6fde1cbd504fdbfc7506683e7056d0e3ea3ba252e2169c578ed9ce3b8b5466ecf64b4bdfbea022a250fca4f4fc0f1df13b007b7e7442932ce9c290cf3652b0804e3c62a098ca8c4fe6bc79051ddcd2112f810f341545272580551203e3711c95af3ca26cf1722d0aff9e825c6f9bba0b081697e8485181fd3bacdbf7a46d03261d325c6a60a0b8fab6ae66fe19f90a552e951a196633c2909495115b59a6d739ab351c272cae1f5d32432a6944ca7717fb500ff95c741c982661d36feab98f8c4115362c0953a57431707d693bfeac17486b2a724953913d1e4a4081eeca2a8e9b6bda65afdc7bdc80a4eec87b1f340745bc58297c842b72de5fa6860c7a5aa4937c15614da2dd00d0018f09a42aa18ca58ebedea368d99c1668c86a2fb7a1d173975584a926d926e59985d3bdcf04af115cd096bf3e578206877428d0a07db7e72ba81827a4448d3df1dbcfc49f12e1f496888e1c1ff1e6915eb61de2e9ec5daec1a698e545ea7fd1ad31dc8c8380e3d3c6ddd9d176f490d033b4e20238d35780287e1f5f352c0e20237a17a39c7a64a1a1f6949a65efa3b16fa35f40fa70f306de12204c98f0163146955c17711c3dae18d13605c8804334a1a2889e3a8fc3d0c797bd53b75f214cb04db44420326ebcd5bbfa2dbd7d50620702eac653d4901829c6561b010cdaa80719e5139cfd796a3f87be866650426728c30b53583957a6a276d0beab9587480481a2545b7b6709caf46bd90b6bbe5729a9a5c8ecdc3cf29a490a8dfff3e273592a47c821129d610700c569e7629d05b142e31e1cb2ae2d9acab907a6474648195614a765449760648de94db76a2220ec2531058aea59dd98ca296f99cbf4dbd066956881f064c2204fdae54ef087aa8bc34a7590fc1c4e0592e11a6bf31fa7b0fa720b03555fad263288b3c0b42407c2c6971766c7b77525bbacae56d970be747f73ceb58f1716d0db49004d636f401cafaa6201c06df169706c90a1b507a6f34df6e167b8936a426e221c82683c2225b382a4c5a68aaeaf479785a2d70c8dfb15d893558936c062595e077483edc712f5809722f10ec23f7e2d12bdc59b6c02dbd96e28d294be0fe64080d1b14543cad9098d11d28604e8113397ce75b6b64de8cb03ad15675a86f37503b825d5693ad30ab0b43a7e66bd315f72bbcce07a5f2e01c321924c927b6418193a47af231d7d60c299de1b4bd89e54623824a00af3531a108b64a04052ac184222f56fc00178e2da1be4ae4f522cee47ea6c48f6f71dbc5fab4d6cec026406b1d4f04ca0b822ad26e8a7cea9b728eed402263515e376344b08962543228de4b4905e04dc9051599efa8d3a2c9182fcb8a76e16440d2732b7bacdae9f5d199672f5aafb8a8c529d30bc2f55a48715ed9b6d47e7d170f29463bd54c7070b3e13a46371bd63dd2c29aacb005c8cb53365d9a4bf0904c0f020cccd861732abf517c3da83cb32138b0a98a8a4f25303c931c73acf84b40db9d56a7091b98b135be8a1e67bbd9a5c0cf155e24509e95bbd3a2052d66344b380b9d236f4efc0d27c5e37b1dd69e12d3e0b17eb2c0d11343c5d0073f06414257b1463b76c9ed5f28db2a88ae25f4299bdf904d8f19d65be8bdd104e78971de9fba2e7ba67836e6babdb97e47de3228c699c159abcabfb8824326a315d70cc4a813dfa509480fa13a7bff5f15db468f9265c6386fbf969905a3d5c1c14644703a67522e55044eb8b51a5ca30d9634ed7fb743801c62b09abca8e18a8221e13f446d012ce746802f0bc20efbe469420afdbf597d8d31a6804e76c9f2ee73e77f30a38960c7e32f93f05b960c8bcffc9c98e27dc24fe0c9f6f2b7be79d556b23c7cfaa0db25d9da735dd987f51e25d775ff1abd399241645149a81a7fc8de64a2477b8f92058ceeb2a445ba80224b2ba6f7c40acef58d16e2576fbfeff943b9b28400c3976edb0e180e3b17e71498d5037c272050ee2444fa437d15713d454a22d371563881c8ba746d24d44508e1a2b4673f954c79060ef99c02ea955940147957751a856be179385a24bfd0f9215cc457c25340ba98386d04ee9085a48904d4e6b6d282b70767f9f47e9eb0d448cb1f23858bcf88da2073f6b1b886022b35696fbbf8bf25b763a53d466bad67b358c67b170afac32d9bc57434dd59bb7096e1260693e516ab7adbc462368b3b0ce097b06d4843f1344dcacfe5a4cc656997552f325a958d3b837842154dc6fb1a8d43d6361a07a333586bf6b387bd626de30c1dac824d09bb47eb8dad5ce06b5d40ab2ef2caac1c2a5362670abd4309e1644a241a48757fd864ad922b4ab916cf9100f0ea3bbc6cd7c2cb02a91d24c8f844042857c9292eb39da1397f9b4a8e02cff1c7f1774b661d55b3a69d56be008716a8d98545db37270ebb4a2ec67e6cc864a15b08b9d7159d1e4dc34abb6a3dbd2c4604df69994137c8a3bccafb16696b1a92b07a753f228de946a8bde5455bcd4ff00f09889f2bc39493ed3fb1908d47fc44a60dc47780fd847cad8e2c819a7a39fa282e51b430c5936c9cd618db9afd5d181808efd4e2bb73a13eaf06165a4e1245892661f62ae80fb29921184c9398483f6f630732d7635e01a8b6a3cc09f22cb84d4f0cad686039389598599beec06e3973d86875d6801836c19a98d4aa8d48b2b39cb19c1dd9dc484562d2d190663c3e3df6350946fb2a5c52fc5b2370aa8b7133f919618a9a66218f1a543f8b514006cad09385c3243dfa6da2ec67fc1076b2ef200b905810839b314853dc20fa60d61822c784b5eff702f9404bf9c13ae2bd059e08e7df4f37cd84968fcc306b03f9fc0eeabdae5e309b908940391562f533a966436815aa4d4516df6b1dbb0c7f7610e2f9cd44ebe13eccaf4bf60a00f4f319a62dc757d28efdda45afc645672afa354614b1d9bd5c6f0beb398783eaa58695005c0361c7cfa2f9e3e24e18a316f1acba1f852c75f10e95cde66f9d17f72c26ee828578d156405e17c6abbffbd2b35f12ddec3873c7b790084b6905828ee30780c0e821e2be5f1410bd2c12012a18cb0e3a10c7605af4286c04ad42de4a1c661891a51546a115f30a5a36cbbe4bbe583bd4789c33c6a3c9f16931760c65464310260cd5acf074175ccb39ce50ced01a9637d8ed0ee574282e1cf11d688677a6d9be1f89b86266c335ceac14ba2c68ca8140ed7ba4ed28b5527bac716fbf8b1aee0e835b85503b47fb6b270a049c1681a028772b78c2a2af984de666f80f9e1257154ebeacc2d275aab37af11ed30bfbaa1c90d254346690272481d74825ddb7132bb74e632c40f6fab25b150469fb9ec07da1b047fbb73291c87aba97c425e76ca7f3c9a066e4eb4c0d9d74ae49fd95cc0fbcec5e5065dc38fd664b82426bceebcb36fb5b4dbbb1e99e8d476a01db696ebbfc9b0eeb1fa5ff31fb1af71bca92d1a73184b0060e1e82e9b76721c55db0650c74bcf59d11384631d6c70b82e3a0cd85b4a748cdf5899299a8186f9d99456804e67e2bd6e38d2d8ded0a59db4954e4eb6c52b6384405ff42fea69c1f52c2e4a4ddd0bc80d7212d9280225a462849cc659a6f68cc8f11745be7c0b121c56fecf036d0513a5cd168b5a5bbe3c8aa6cb5c8702aa6a021d3103b7695731f58231005b1d82ea7a1f55c07a2b5e3d4a588986a1585a434c6f12b1f89d13e2d42c2edcd638ff81f39b1daa5753fa738afc5c9a28b0a45e10b1d333eba2c7e849c89d567b91572dd4dfd46b2dff8fe0cfb3aa33d04b817643b3933b2af19c020e1fde7184abd6ba9a8808f9562bf29a8a928ef42144da3d326dcb247381ae6a6db775b26900cf51161395bc5e2a2a94ee77598ceece70099d35a76d1f47b18738270698ea6d5f0a6e190f24bc82ef17ec84b8b2df15dc1d0d2d8b8ba79bfd1bd5cc6cc6e42d75f28804f25e9ea23d1f69cd0ff6874dbfbcbc30db04d71c20d81df319a12429396276e5b39c20115c664450680f7d05716f1cceda98ed7c4751a167998b30fde6ce40237781df805579a852314051a29ba139e0404430a0f0b3d0c08699a4bd2941e8469f9e178205a8cdaae78cdc130f971f57442fe38a6d4c685cfcda540df1ce0b459edb83e59c118e3d3044423624f025373a8c3a823f51d4a80606ff0e7ddf635d75fb2628888d87c5cdce30bc759c1473de93327ef12e3e54a5885192039b2b060c3081083857c3c8f2e0fdb068b61c1646591653365d53a412545048a2282644eabe9ec02ffcdca92c7ab14e8b6ba014d11d3353b1354b04ea5b43d1b4ac2d7de2cfafa29776321909d7c5d90cb529dc9662af56682e9621c1232d89b6d52316630aded82cdea547592f54fe6d3b44e275f697a2fafc94bc5566b0c711f04ce8d65419afc5199a5357cd6ae2047fbf9a8e058a7d3f332645b1f423977b649a767a8b962862eb3c28e14ff59978193318820f10419e17f04ee410ce123331c2883530932b615b62b7bb2eda9b5457bd03b2becf604b583d51feee3c63ef5e61e7d941d29573c1caab5d5d6a071c9e1f2ab85512836d9bb5fc90835a1cf22e6a4e8a9778338255be99345d4efe4654cd07f244950998bd0c71ac99f349282c5a1ed9a3c0cb2838fb4dddddb128e0390e1bfa77626d2118185ef6751c12a212c8592a0a08954cc1a3607225b7ac5b6c5b8163d0f835a907dfdac2b239789d8edfe6e6b223a1c13cc1c745453f97fae519072cf2d3c8c68977f6efd0482d61d3e28414fbc383479021036fba33ee32fc9fe41167a5b1751c0493da4af11b883d4a380f6ba7cd25b4a35ca0bb5ad1e90ade8e9bc0f89b8ffd4f1d9c8d853f96bdf0de8968aa1165d031f377814c73821835822ca490e34e18a0d72f1cbb3cc67d604f3bafc1532ae817a69b61dbadf2ea3d632516f939dc383697408bc166be0d83cec2d03e148b9caae915a6b9d4816218989583836272abcb33d585a0b63502776111bf11771d5092c4852e1be3f5551ee5a721f66453be9beba46a4d2ea2999c60399f83038bcbe6e545d50baf59875281b812504543cdd7701675d258712523767563529308302206a4641a189084d631c27b153df95d29313c8f6ed99b4b507d3c62c098c1f9ecd037313bb709855eafbe645b67fe02abf0641d8a0505a167e01ef78bbedd27945d0b489cfcc1ad49c9e50c997e9260a154e3f8ccf15168a496568cbd54e29405fdadae40b55d96380b1bedb455ddf5376a3615f85d69a6896895ab1b8ef260cd4b6b9d5c13a3a275779c48087ea8e8dbfb4089da19dc06732f439a070dd81f5c8c966845e397774c0009fcaef1e5d8f3acf41241a7201aef1cf80dac5157fb881dc17b46866d0602de93785960c3f0375091ef2c5a51f76d598725563f7011a10637b485d87c0db7d542fe484d3be3894b00bcca4009a52b01149a05c6d0e4cea254ba0b89e8eec9a5f99361590166b18e88e13891c21580ad08c643cb924b403af5773e949297972b8279da318c85932fbb5b7de0074455bb3dddddddd5b4a9992a41d10010f01130156b44c81f9caac16bd3992cecdf6fa96f28e69e33db7f75564a0819c9b047df3babaaaf8b02c85a36db04a96c7d3e972399bcde5bab9b1069ec4a22896e849bef8f88ae1fd1e53236246bc994e9613f2db77e56096b95e9f941223d7f14ef296d1abb78ca663e43df38e4180703fdbce8e8e0e8e10f4dbd588687ea2b44155b3f9931f5d6e48374efde24a6f29c05be1d2c2d66088dd51e46326e06996028711181d35153862384c9f83017ba8802540b00707966881292b45cf3435d33275572d057ba480619a3e61fcffff4a9f3ffbfbbf8abb93829c2639410815c2add699dec2d6cde9bd38372c83e13bb6396489a9888e674a9a6569a62639e13c479495864c284a9e2d162b255badd6996a510306ec8aaab3829da24382e5e9af37c30463cde33e3e2827ab325d7214ad207206b1c832a2383292344b72fae1b4b49372038e523ee71bbcea07a2af9f1addffad92adba5abdb14d466d646b72f11bcce92874e05024da9e299b758c05590a16308c6dbfee7e736dd9186213ded6b60fcd886c371121ae8d2ac27703ede36cc9215c549ad62c490e640f35b56ad52baaf6aa3a6dcb5d0c3bffff447b22f43a1a763e8355db26ebab1bae979aa87454503c56869e2d66ab0b97d5edb56a6b4a3e73e2c28f706b4ca826ae739e993a13546dc158a8cf95324d90f071e0a8ea5635d5d84b0dcf0fbf63a2c4e260edcb06fa60edc5a5b146d2dc757e3ae83c9dc31b68abe239e24625ad6b2328f23e45cb02a39a8bb12dcbb2b1bf79558cf17feffe39f6fc7dff59bbaed8421ef39a6d4eafb2cfa22862fc2389f1f7ff7d18ffffff98556c06c519f7daeb784992fc2f49a927a67bffff66023eebbd651999ac24afdf7b419869cff376e8f2cfe0f7bd481427e79c336a818cb8ae0ba6a49cd22817506c89cd4f4ec781a47597e567408e0b0e91d9cda646abbd90967651b31790ce4394ecf6a6a49cce1fb400120bb30905509581a00170230fb4858464819e42c422280e0db0073a44850728de43dde8e9a1e9dd72bfb012c4608782e5e1fef494243794d32578bd900004814165b685b6a382665745c9ee29c60e378b6af0dd401fb28b85c4cde5c18d2b3b27ab9c04341c108e1d94aa5d1424515e68d9ddc83ceadd013f6b3a82aa51f1d89bc5d9de95ffea56caf2ac6ea763b23dd7395576deb5444044404441ddfdb30644abdda37577c1fc5a8c556b6d4cc6f897ec6ecfb8dbfadf170645f2330eafbb3b562fec8e5fde0b8f9268b730ceae4e6a1908080430bed71d86e365fcf05af05d85edbee0d7f7dd4fb58fadd52786cc1746cdffff7ed5bff6330f7e27b16db7a4bbfd7b3199330645721c45b2571f12454f564a62d74dd1cf8de048fc114daf6499e6841235a2560a4010c4e1fdfffff04cafe11545f1473cae01655f96655fd3c1fc7fefbbdc1c13aa086a1904411c768757bd865714c5c73f5ef70fe30f633c068709a81347474f0ac301f39608404014100a85290a831804c34890721fb300828089281e09e438086710064218044118044208310412420c4108325376db79a2462c63ea92c30cf6f7275f4194f561069d276a084e9d4612fbbb05e1f97f182eb68c8a7726a4d219710683e8a0e90fcf580754a1c04d79e91a3949a6ceadabada7ee0f54cbf91a43c01bcb3c3a301d11a0da2c7e567b025d899abde6388159f84a149f86017bf09311d64c44548b061acb68e8c853ff9d74535d8a9ba91bd9490e33e70d892a86c9c2657b73fd1bc6c5eaa7e8cae19e009166c3ecfdc76308a006d8107123d043375ed46ac4e1242e734813130cc67925d428c0066cc533b57b949294cbeec30306109d70e39c6f6d455e6de5ea4492ccac9121979e5d5e750fbe84ed9618a26f58c7a5232b062fac7bd6741f042768e73de4439de7e947ea6f069ed1d44004504887c81c33fd13af5f9ac5dafa59bd4786df61ad3722dc506b42411115692999c415a5c1c26fe593b7c6e22c1b1c1a3c6e9ce8abb8cdab70a7945ee7761857fce4b6c650de4a260a50e92b0c19405e6480e8427b145fc9f97f206d2d6e981696b3418e955622854574714d58444b5200815c8511ea704d503a60eeeb31d3872ee5af436078d11a7275e5f21aee57cafb9f80b897b887bed9e5e6ba93cffb51eb0e3615340beb5a29407b57d7aa8cd1fba6ba46f37eb3f810dde6fb175077c9fea186ac30ecc70e46550bab63a464e23b3ce38da24cb21613249d5bc7837acd952351787889ce2a50d2938aa4446c1cc05872da9f0e2321d9ed34c9cc100d8a5fdf2124eb61a8fd371ae9cac0815a7da2a6de4456290363688cf2e5d5b31f1a00ac64c3cd09927a8f63ea8ad8db549e34c23c95df2796d15f36204c49b1cb207962c06ae80f9c1004b6011b82184dded9e06c1824b9c817ea591755aaa633c298c78d064d7649cb7b614ea707860a9f86f4964553807a85a5925b423c335f9ce8e1524dba8cf9dfca9f0f42d8fcb5db6687950122404373040cbb031b9c4c0d7d81667603c76d1fd34c0dbce0765b92dc9a4a24763004936d8d84cc197c537a122022f672e00f8c8688081c05e2cc9dfafb70ceb6774beb190f2ad21f03574aa4fbc0fb60618d41b01e08c566e7859b882ab60ffa5f45f1f503bd609814054bf72305b778a4cba0ff6071d161b0fec4a670ea053459d1282796a4753141636959ffa517e30025427280e0319f4cbf7d4968aede0bba7dd5e582b0788b654d3edd2ef5a8b45f2d0909d5745db90626d2121c2e6fc3aeec2311c56bfab68f07f5a83caa5bfac5228085826dfffbeaef892328e014c142a024fd43390712ab9afb1099aeda1317eb7ad2bda826af690cf1c44ac001f05458e5552d801a1c992772362dc88c7726379e68747cc2cb935341700a4f3c438edec8e666da8e0f49ca7ba79f274bc146383e44559587ec9093fa7885491282ed3f6c456b8472410bb1d061c23a715c7fd20a294c5623de9807c1a3324d381c8c3abc4af0f8d617d6a9d6ca81482bdfa84299f311a12bf402f8c72c6e14b810ad5d25b484ac313160a471b441eed359e12f1d76077b123afc4c0e25f0cb038222d700f9247944c12fee6574a1cebc51fa0ca479443226c42a827d8a5bf8e51888971fcf3d6d4a3decf00ed7884d178a272bb5ecd544f75e461f6d3b06d2b777e8c0008ea97e7c94c41ae8bfe40356ee5a2388d5af19b44fa8b8ee9bc9777e4ba98b16247566bbce37160be4612fba0e04b11d10b07351c158aae5bf146a005ca48469e9d130f8417f14871c9e2f2caa138f110515d789e90fe265f77cf7317f7b289ee2fe7d8b4fc5c196304a4233261c3845711b3020087f665c378878bd079a4ac6154f73bd4e1db4cc38b0c5ecb2a1b8df36868eabf866e8b41634734a504a40693b3ca2b6b49c477bd411b56b8de20a7a03060400299cd7ab7c618fb0e317f48d3123723bd2cbe6455c9250eecba04db00a5b1139fa9341d62baa12a5175ea260d40d6df31292a2c8b36e5f37232acb47a798aadd4c3c786335213d13c0e3b0ef2eb9107aab094f6c122bff28b157388068c2f95f5d00d0a8a860152c4bcd2d3599f7a115061799dce2d1a7fe9af4a9381a38f4b143ce435914e8fd19d919886a034d6788851ff60f657893783b25b46f1c69c4d1706560f1111eab69f9f12bf22b1f0400b243c4a0bac3f658c19301c5e336cbe67e41af25f9eda4cf2ab65c2b048f309ad1f9a7babf0bd3e85d910ae4d9ca4085a87bf51cdcb4277906582830a99d05eeb6a6020fcb423da8d229aa681bf287bfa8dfb80fc3ba993fcb84bd987aff5da45540cbbd710f5c86e20d370cb8c31f03fe70cc8023dc33e012adc368d68423aea6f2e48caea76e1602a1eebe8179690d8be8ec1fbe412fc491846a18e3a902fd2c120347ed478d961db2410dca10997f4e9673241b6be893f90fbc758979fb6367c90be41edea45bf9a1982d8f1f097d9e581422b113640d739e160a9aedeb78da468e92c5fc36acaf7e2d1a17070d2d2606310077effc097826d29b8e8b0789f8ed1f69ae68575ce8ef54c796536b0e12aac6e10aae2325160ac7febb97b161e8ebef9afad8775f7f734a6e943f0eed1fd3a9ad20291f92310ff0ac271daec86d5a893058adccb6a346353c233e482c04037e7e54c3f9a3897e262b0443a2989fa6668f46b08a75812709c795f54c87953a142273a74301c4e3eeb38987049ad02bfe2a5e78a794d9fb07e4e7c6d151bb41c4130c3a21219d0d16d9716f9e6734a5be8cdd2d567052a343f67c381f031e90dbe6bedf02eb105d1f3442b701184cd3a67d04a9da97f02e2da960d36d99b6a6874c547ed95068ca84326320521a89d1787889e7e0dfe1c99200da4911d52eb6cefbe19d34f865e0d891efadb8ffca0442e6b11cee28edeb06fc40e9a99d93f71b4a0e26921c7d5c8882a14cb71083f14ac89fd3d6f6d2d71e25158d7af40a0dff542e918a6d9306a3d3eb8efc8c39d85961f0d2124117fdee4b0e1201b069b1f3130f4a3498e9c57cba02ed5884a0eedd0cebd0d2669bfe3c24b842dbdea8f0817504ee0247fc2a8bf2af028c263c757ca04e331100a127979d346ee3a0f64d8fe215457249fdc323877556ebddf3c48b0c0bae0f75a0e64f11330db074ae64243b63be90dd0ba4850c8c701f1dffb4de7041c844522c6146e6653addf50d23766b30683a540cdccca1b8ca5b4995f25cff6d6da1f6986fde68407adf9ee735df3749496ce2fc53ecf47acc4edda9c5e5b53382de1f82cb8862f674f9a2a10ef1bbf3d4726384766f719da634a0ddaf14b0fef1b6750541ac98a0e23e9e3c013b2a6eecdc1fe6921e74ee8f36b75bf37056ba47674e65f064ce9102efacfc14b073ce8475971a7fce048c273a91d6da76454303205372e365b637b0f2b8aedf19c6aea4ebc62d98a842767692a7341e657b6dfd94337918351b9d4f9cf0fb5ce6bb9b3390ee5a876271915bf56cd5b77770db6e47950e7873c09e58935114a9e3ee9f9b5d2dcc072d172ff25b7769107a6b0570207d07f467ceebe84cace692b674ac80d22e915a369e31874802de487940d534803905801b2c0daf12b0263623616ef9b10612e6e24c5913b8b83c437304e1a57d4d509d4e024816ab596542989f50a90575f5d301696875a4680b8b44606e5698c1213057636f774e98a984b4b95734ba60caf6caadb9860e98bb3262e780d15f76c8a40b3419bc018248ddcc3ad6c8a546a4ec6314d364ac775459da73a74003fdd022a2c25116595268c42305082bd86e0dae34d49d71af09a36870b4cfaab0afbfe821c4e37a912043493367d685c09ca723886772c2008ac7f535bd88ef84a16f8793e1e28e1444819e61ac3ccfd265bb139e1eb5d45d8e4a43c31dd6c3f1d82b85d5b0676dac7716278a23abcb2cf65b433723768ab32ce62ff3f038fc729975e8656451a9d8c80aec434fe5d19d29ac2f2cf5c44a2fb2ea964d84353dcc484f983bfa6e2d09ffc82098b6b08298f52aa0f94a299f3abb52690b6bd24daecb5d363ed5a485d5d8272d7656584764a31a1033736a1b42704341db8043f521a335f22e398c3912f77f7dc5a0fe5e1699dd9a1e50998424bb8cc2972963fa4904b482b925b5ba8db50620ae8ddf18488ad5ccfdd419e3d07b19aabd1917f53bfe6fa9dffd0f4d82ac1af682c8e3e5e8231e34f2bdf52b13f77269c780de66d1acd6ac0a59657643e58628b95be1051bed906f9ff943f27bd723e0ecc670f819ae360eac62c1ba288e4178c1e53a0f3f1254d8c1bbd1b4099099e5ca9cfe42e109d7cd0b4e03bc2c6e7318eea039884ee49253e3788a88b82fc7fb758f7a2b66b83c8e2a88e1ea2a3edbcab795ab42b997978ee57d9b9e0a5b6a36276876a2ccc235e1ba93ef007716dc1a32a835c6e47c6c1848de6deb097d2c447d81eda34f864e6994d0d859d9c2a94c43f446484245d9badd15dcaf149032cbf16dcf88e423ccfde56c7c6fea489114261b936a4018588e5a9c9478790ec617c339483b337993d14129cad34face6546d801ba562f2efba13ebcc71a1c0fce4e716129cca3c7f3b224ac5c82bd6a06769d02c9a5444deadde7ab0cf9649b90f40379bce4f25e96caa7e36ff2324ef01ffeb1fd1a1433c811c6aca3c4c604bede00d2ea915e15aa29aad8c85fbde5b3542dead143915c20258977ffcc076ac40d15f648cad74e7ba5141f8265768758754a71c34251b307763baf963330c320751dcafe3a125e88c30d6d681616610a89b4b5fac5f927e36722b5bff0944e44d100386d99efc8cddfc7a36c9ccc164f8a6c19ce39d4e0f13d71be5cd322e21d058651a215336dd9a0c6a95d3b19526f21ce1f46153d860e6a8c4a8e6258d690400a261d1612788e558be716a0ee41dd23b88bb6efbe00a01a026d90055530dbd26efedd010dcd08678b6c38711a481a12d64c6a4eb450a9d4d84220f36fe93c2045abe2ce0a24f710b3259413bb356ccc9225529384860efc950412feed288420f2a7e1e6dbd68e10aa376309f3b24d5ca107925c517c4495e8d874d3df5909fafdb9587fcd665572d04247b01683325e474fb2060fb5d28a7c35741dbeba4d43f1a68b0443b88def5783acd40fdf1e90f303e07cb04637f794cfc985c9030dfde5918d6d25a8124a166cb1c2dd75b686ec833ec237ba37b6de4b22c85a9b5d24461146f9b9b2407a52444ecd505a9502854c03650996cde69eb155c3963223a6d1ca46505170b8788296e5164f73c24523483b2177b9a2402cb71b3cf54259e43895e2ac286197ce77032c39c974a2a08b03639f45269ecbffc4cf8d12a1e9b3c2f15cd5b575200df7ea8f178f3525938a6334095978aa7585ad6eefb9e6a5e2acbbc5db3de8b314efc67fbfe5e5e2aaf16c2817c5d4a545a0a9fece1134b66a922b2d737685d0a52840aaf99403bb312709175290f2e31abc4724ebc079e61d75760cbaa64a2b47e9975028697f0d2787ba59873d3d6bd5dcadc48a9d9a45f305371e912ed337239c9450ed971d452a793ce105c8889955b015c610ab8d918fc417f907072dea03f3d1ac96b2f58e729f283b07a9ea2af6a11c1d20fdf5d95859557183d1fb544034dfd0ae729bf5d235816a1937c9ea58f7f19c997e1d3f41f017553f9528cc4d779ba95e052f7b240b5e0aed42ad09fcfdca78214ef6486861490a2b23b0431dcd38ec7eb99bed053581476e55cc4fecc9a0c163064968f13bb38233b8ed965226215150b6367ba7991ea6bb9de180cf447005b0104fa9377e62069030c8e018accf82a5040de913a39ac7761e41c4528ec2a36501b168b72e3e02f812dbddaced4cb61a87a4d8cab7acf0531514d11b6dbb8a4184a3ac8ca1daad3fc5db93039ac39a2c594d6c7e3ed8410c512b292ec2d534a328c02c2028c0227f4cc30317f58c167aab6fcc494a0b4492a2df1b5697382f669530de183c3aa1e2c5622b1b5e3498659d3935ca392924477b362436f3eaa187902b9bbb08b3fb8824457530e543ae8543c10d1b5143e3730e9e3a0de967a8e38554160595a8ee409428becd1d15c8e3684a4a6c8baed7d6efb5e508af35c9292c91456a01990eb1ce738cff11cf7bd4fd32435bf57fa59e7f178341f08facf923d4fe26dc9cddbd2cd9eb7db0d87ea1dcf87daed76bb9dc73c664ff1e63ce6b29cc796ec99cbe57638bbde3deeea6ad6d69e6d0f55a0f16226c7de380bcd7928395062b2540c27772393c91e8a4c9693c964406d6bdb43b1679a232c900d6dd4456d5e53ad8bfad6456ec1ff792c56a3d568359a4de6446d3ff6a78ef15edcb18e35aecd1c3cd4b8ce0d350ee9c70b7a9f26bd12687de887605fe46e73549f8376ff670f47831c9dd96af6b4278f1daa9ad0d766a8397374664f4783507bfe829650133551138d3daf4db47500addb7a5ff3a1afb96d8524bed9f7661e6293a7fcc84fe82476666767cfceac9db5fb7ce9cf913cf5234fdaf1bee86f4f54062ee9536bfed2799e678e0218efc5b8ccdf0395b8ed7bbeff99c293a80aafe986604d5aa2244d7be9f7de17f4b67615d99991f751cf4d48a90db2a89d1dd578ff4ea3d168349af5d9c16ee012762e1083dd5ef16df172c68702611a5fee3776e6e8b3b0e0d8d7ec29b367ecd136adac4debc3cac01ee5cf827a16fbdad75ee86b316b6331b7e17a6d7e6a4f6bcacea4367dbddf514e87fb01c1f321b7f9cd8bac245949b2b26463a8a34b5a4c39745b0efd9a25b2376b647156e731b711117dd11be150ddef623ee444b7cf3dcf8a97442d285e1df6047a0e5f795e5927729b0fb9db9ee871b5fed4dbd9ac17e43e5a5a8bcd3e634c6126b18901f5e3819cebc5a50b5f2b62c7fbe1d6ac310317336cb6d4904599273fc4f0e48d9f3450f4a8e8553361a067fc6ae032c413046021d8181336a67619650d43832d0ba13445188dd1820c9a24d018818b02452f95d995e446803aa8670da48449ffb4eccb32bf1020c26536522f2e5bd7cabe203b39bf93f6c38051de00229bc37f1f33e93cb89d7a73f1e49deeee276a9b47ebbaebdae1b9bc0691727639c9b7ba1b208837e9e09567571354ffc53b5f3031654b97324234a1d204cb1965d6a871451624507e02bbb85a49f03801fbd000a1fefcfac1773fdf94b81b0a6394094584c88e58a86ba3457b81138b2c54511c752af8f2c0e70a70da7536e824b81d54c0e45a73cd355b6f7281033f5d94f474b926520c4f95011fcd72c118c8b1d2c1e347571f91ecd3488e2c91458622cb75755020a18a505d291069d775b5ff833f8676fc40f4064551b4296b8f98749230c083c1176cf34d07f83ce204f07c8e20016f981e1b48a0f5aa428aee06735f892913e1704b86f9ad64ca2ebe97d8a301c2c85d90f9c1321cfbe98cd368f49e2aec973039a2413f812183fb4155ba408aec74554a02b206c330b689ea18cf5b26416020e097b8aa0be3d255711bd4bac9d3465d88125aa7a756e135d88f8f5117c9713da16be16342960540a5029700c06dff8e647312247616dc41d6c82b3fb4b917f38ec36de08b3d5bdca689d9233465d324de9cefc1e6001f5cc30792db898e6bd45125a56ed386e7acb4b45a91642ff90f6841259b7adb35ff5c96b8b60548b6cd42f790cdf9efb40a06d34f8bf286992daef8e21303e5e84baf0934d64849b1c14224229038d1b064c948b49c41aaf9006fa841ea65795293c834feffffff6d4d5aa8816c2054514d61f223d950834cbba86cb8d954345fc591bd3e2357a4f3417120bf48c2a3a28ab286aa7604eb48318af07220cb50715111e1537ee1238f8e18f99c64e3ed4204d8e2c7de185bd79363f02bc5cba1e1540f84f5c5aa9f75b76e8d08410fc1977fb69f6d08bedab2787a5670b87bbed7dd895a36db915c9d3142d5fa59cb8ed79a6fcdb8e6b2a5b04f586f94d9559fec44413bedb4535d0ec7dbcd803a3d79e4709e4033d791afd7e969c63a3dcfb3d323b46f1527ddaec53ce2d1c3ffd06842ee3f32a01a547df44c7a5e796eb9ee7ac6bc9d2ed7e341a04610a49f0f49c9e6a69bed5e739aa38e3aea34af0549916a8ae4a89f3e73d35147dd4c6d6c4c9d4ea71bb2b55227e93aedb4d34e6a25a3a2a49328f51de93aed54676496b5d6950f975b1a00bab844831222e571d961204560f6c811fb895a6badd5dadbcd774383681600edd4eab5d65aff79f000e69c97de3d9b6aadf5411b66aff9754606a65c9e7a6bffae7d656d5f6575cc7fb2ffc4aa7b7e6ff15ce79eeb5acdcaf3d3d65a2b1a14195cf2bc5699d506ceae9df2ba1505642114e65a1b0c6b056b73f1aaaf971bd65ad0da0666ef2c5c217fdf618857b1abb48ce2622f17f75cadf29619bb5c17973e1d9828f6d0c92ec5005ad9dde64f0938922bcc6387128c1977d93cff3700c566d720c88f9a36921dc95583a182bbe78aab38cfe2ff3581a5ee7e9bfbed48aeb0e4c8113b470e313514e2d9c3f0e22ebe22e32dcc5766bc570bc2ea5fec6ac62023b96ab590594af815e4b6a5debfee7e44cecdc929c310c182d56624576215eb0dbbcd7cfe9cbfe8ee26946ed8624a96996d862b619278436bb4a0e184cbf748babfaf7cf5dd395c660f78747902f4439f249126156b03088ba22eacf8587aa561c7956e7385db9334e84886858c15965853268a94b30dd10baa9b0d810d34d28459d2215da2881a51b4a869a192c64996fe1131d2d9a7fb8d2564d29011610310579e6863288c2dd0b021618fed5714ab5610d1aa218f3a4a11aff6802c1ed2eabc781e04ede9946fc5d93f57109b4aa835acb5d65a6badb5d6b066180659e16b82ec42a0aa8c552bc88d4bf860b6f7b6e862bbb5f9c40a4da2db6aca26d67843d0fe0841c481461cbc32389c11c20725d670f962c6e983fdb572ff5efee175352e7128ce203a044534e87ca42d18b5eaecd45a5d2d173645f04a3210c23caf1e1eb7ae0456c26906095a60e710880f45320d578ccb56abf6c94d02f0bc1dfb8317fc141b81b6760eab0dbb768316067a7679def1cce337ffd17e6bc6359735e79a5dba1f930fc330e37ad085b9e6d094b3c9f421781b5722babbbbe299b823ba911bb96e146f6aadf566c411c7d4514f8f169cb1c95e140e4e2aa76a4da56ac51151f79e4ca1ea8a219d897436d2d9a7c5284ed03182c45b03565eb1d6806048ebf5a2f50bfcbff70474baf7b26e8f146001c5cf3d29e05901239a158114b80e318202bb43db0dbe16546edd945c8818a9a29fb84899b205517fba7f3a7d19df0dce12ceef89a4d375cfc939724c7005bb5c18bb7c46966559cf3627e32aa67630c7f9811182ddfc6e5160623f584ff786eee31989102a65b4f0e2c597211aca2a694e335fa690813ed0260178a87a6fadf615e65bbd3aabbbbd5809c9e1b3b5b86ff5fa3f277c368f2089ea56c2b5c3e3a5e6f65a4772d5ea321f3e4b86ffecdae1a9b6fae71ddfe842421034c1cfc0d97f58182eeb8e30657659b31b0c4da67b45f196ab2c8aa7130a751bc720b01b9c11a7704e4ecf901c3956311d3a48d2ea2049d59841d00e1e6339de5e3d7a581f3e7c84a00fb0863d3cd764fa17ff8a993c8927d469448d5614c5d3ffb630ede94f6fc5f151a7f151e3787333e2a432f8e10231ff37383838293c628c3a61f19a7008621c90c1a834ae1ab7060446021376001010054462c15892841006a2380e0a7a44a106c4990f89990ce63181840aa3300aa310844140c430022031c60064906344071fb5ba15a51c79e038eac00dbbc2c7fb8f0a79fd27a7d80222ce76f361686b127d7882cf425026dbf0551e2a6b89811008b376678b4604f58315aa0a02325c5934f010fefe29dc9906b892bf23780ba0b953c469a0885812f1215cd5638c5220de6ec7bce6df735dc4991f26aa3405c5c4882721d5538a4730a29cf68bfcd47eeb12bb0e10feac3bc754e725460076d0f4b0bac9775d07a4e51f75815de2d6ad3a90cee04a0458caf966e5f009b7fbe29a40353b9bdd6589ad3f2e6fe813c1b4b620493b1d5eedd6528d9cd003ee059e2730123c54320df6831390c51438d2a181c7d1b4fe5d18b1f032a855fa561062e77326e8e63fef7308f1573224721d7b95b15fa52627b485345f213dc4d1cc37c461b28a3e8c48514f5d1b01d370d680085cf06f205de56bc7085e1ff351c15814c070888848c1f48f9c582cbe9421eed12ecf0afea37f39b410a59e177245140aefa441dc637f8dc6a127c28a65cae9e6849528d19eb76c6ab53040446d28e566ad4086c7c3b8292ac52330421961f7fcc9c62005ab5c1b3950f230aa752785a1b32056fc6ef5b5014344de0d0575424f44de54f2ed17028195ddf5407a90850bd90b1bf0761060d0827017961e97c237bd178bb8f67732df0620dd30a83f427a261ce677852ca52393f830682950986e9db68e2896006653b3f34fd1df14f73b14f215bcb489a6d547a55857c806b7f1248b99a8f920094170532c67de7a4655746cac7595f68c6507d39dce2e6dd2cbee601eb45319a9b42187cf82ff555da84bef8d770752d63bbdab30077d286ecade7ba039a314932e808ed7490d7cf4558ac260a510e1efb3d4018891caf5cb730792b00c8b44fe28192ae6136fcd16c7551147a92dd2a740e812a2954214a651deee4a899011cab856a5bff624ef747777e8cb58eb1e455412deb7411bcec95053c2a568a48acd9443528da6a4a85762512bfef1f5552ee7c3a4e2a93e7e88275b4f46d6c706a62e7e287d8d798dedbb9047421983f051b432a69b286a12b0d5e2169d3f2539f97c5cc3e98cb6fcb7a91152da022f7097bbb474ad9e50653bc1f77d296f2cf64ff7c49a01c3818be702903c00506d88c7d7463ec9dc893f1a593ae62bedc22b2e64f32bf2a8e62b13289337bde0cbaa4302da0d62ead3c29137c3efac1463eb19212df291813bd9239198012cb2e6624d4aee8fcae03d84f61676a0111a1353a0714fd7dabda1ea11190c7203a5592dff682d08c7b3cbca3074561e9a7e0b627382b8521c714805e7902993fad00b1835851fd0dde8ae07639e7f94e743c5b923e975192da4ac2da8a2eaa6e53bfca7d081db89a9050010796ff218521e3f879743bb79060004f3c4f76be2180f64df8b180c88c5f3d67ad2f0e062e04f302efa2efacb03f2d5432ae77fee00d953055dd0da966d06601da5501f836f8ffac1f0a04b9611553a9c56be35bdabf24993d774bc4064a29aa5d6e97e31b2faa87226b53ee30306ed17aa175333ef3a048369b9891e1834662554183a31f2ed9fb96dc647b8222e4bcce4a0b16adaf5a0b04d9a8d94ef03d7ee87f488e515ef73971dd635f447d8e26aece043481be08d0655f795e79f3620d4cacd83d007b0c54b12bb0a7144125927525a95d3ad09977f8806edf9a59f9e463d7dfc4e1b46af338f1099ec3e48412129dbf11a639c6341619673f135bfb3fda4fdaecb5f05ad68545f58db704f5a7c20c8d696e48addc06358539eaec4705569022a3fdc73e8afbe53a651ad118fcbdeda96864933ff544909a6568aeb4e3b2334d09da2f9d7c5469e3e52027c1eda454007eefd0b263c3ca1d325366c70546759232d746c1cc178810868b2ec14068d142e32a6ec17afd438276499064387a531765142ff9bb34a30f0df81e3cb07888e514fde90e40a282376099f99cbf4d993ec0a5c1a564715e75d2d869768aafaa38e9ed23ee34ea7077e6c3fed12cb7a193eacb8aedd64234a1819381d4bd5114a3b9fbd0f0e90a318401ed250a35dcc4aa42c3380f81f57db6ba55a89f38ac112b730a51551d0b9418c79daa898fb85bb4d12e0e22d77226e2450228807f88624c54892062b7795171b1eb6cbe7c1ed0ef5038366dd63ae4aca1843746fb1d103747f0892993545a3f85effa5d370c5777523b6125c33e3e1e6cdc4693277339a4120e30abd677b0b90d4957166ba6dac4ea474e2e469dc10611288650228f2a6f47a95e4d691db83f28a8185f624247ad5f1debd8d8bdaa0e68bdad88b847b0a031caf0b7b05b21a8e1c56969a5cc7ceb5545b6c3e756e4156336a5a9ab91beaa9ceca0f71a3de39287dcb3d85750a4c478bdda4f76963e23576e3d934d42700824324f905d28b4906139e410c41021fd93e509b8cd5ed11666754ec39af38a8e3eead9131dbb22849864540dbb27489e72d4105087655933044817e57512a98ab68865a024115da1f7f1827a90b57036bc8a7cbc0fe505873dfc96cc8c4eb561079e65d1a90b8c1a297fa065d15615870f48fe0145701a15e1b104da8c01eb856a0e5ddaef4b16353be8b5c1865116824f7f6d8d971fec4864359c88b7f761705b27727665a2d013e38bfc8af11a80894d109586fa593b677581f71fd176806f6f2588833783d50043c67d641bc99df6b4749975f61d36f7c82ed6f2aafe6b1f0245a3dfa2e83c586efcd8b494fab43e1c79b365014581c7b1b1b0c6b5d7802f158a3cff02380c1acb3cf8527c371739a7987bdd41fc2fa1da907c32fe90e3ea0c6b1354b6bf80a90fb2ace517f403a925bb4e8e7924d92f01b5dd0752e106d19ee6ece58ae8fb128118f92a3a85af5af0de4e706709d0c24c795299fa2072d61a6fc6be7c9f08449db795e262637694017e5440358898b3be18a8306e468eb0670bb42ddd73a9e9ded128715690916567f6352ec00b1abf671907fee92fe97d1eac7e35ea59f784ea86c2e42fb10f8b9884456a86fb4cf94e405253fc8a9a84617c14f6efdbc05fa03979b526d2333d2927634734865f4ac46a7875175e7ed69f73f72d16518c9e8a227f2ebcc992b9f0c6d80de0459155ad3436498f5f622f22263234aaed8874e636202fbf6e413199ba2348c9de0aecb0fb59b44ad7b3db48ddb325a513a7fc66feb4ae2effe2e500bc55964ab24e219c39f8a5c8c6d690f1761c268db00d02b1852cf6c6163319d050f8c05b8ffe0ed58e95247e803b4d1eb2cba149bd0fe6731bedf767db12ca8e0c3ceddfb81c751d2bcdd14ada0ae2c55d282ab1b8c98d08f9324dbbcd05837a772b56c856ab32376815b035f0489e27df270f02a341f2b605d67f4b12cce35f57d2e6d81de9856cec91ca6c8c4316e86fa3a707a3fb3aea21800e582749435a49a608c8ccc69063cc92d5e1556e39ab325cb57e50a380ef0e7aba25a5f89bd9c5f9686f084afe944d9a2b1b8c01d842df0090427e15eb30b7229be931591cbaab31531132c09abb0c49ce0d07133fe34017704f990874bf54ce1d8a30dfb5c16de9455f467e1fb5aa6aa82fcbaad6674e6b7717da3f57044159be08def7bc5057a0fecec84e090e3b1996255da822864a1b220745b95e2a4efdef0963356c2d8d8ec48cffce434da759d8777c339ca7bdaa190b01da54a2018bf9d1c58051e120eebb22d9668f841b135de19e08361266affc2fab90dac72798d9d55caaf0717c6e575f0adc99683e8e5e5854012d6dd62d9693d5a61b8963ae27f81552ccba2013e8135dcb8bc8289f08b3e66b9e7c0246bc12aca0722900bac62a1f8452186118055f4ca963d5e00b9a1f1b1d2f85744cf81d0ba9405567118a58eba123533358dfb6086be6af0fd176e0b18f46ece13f28528ff55601568d97859ae79037d698f0f628c82289babae922f3b5ad18954f560aa8f9e49035964d7fff2199b091e90eb2432c420ab589f57e1543f4f9c40c4b606681537103cc469ecc32a2d2360613cc49d6033f6a6ceeaadec30106dcbeb25f83e83df242912460d2402ed665f5d051da8fba254e7b0be97c0b232d6d9478902323c0cd887cb7229436991a53659deb3b6a2eb00f8ca9baeea229dfd4b4abcc60a4444ba48cbbb83854a1bf110ba83ba29cd4dadf75a3da96c30cd2f340bf98656629c4c91cf21675ef6a2d5d4b1135d8228441c7820293c5739e3937c5df50916a03174eaf63fbf95c4bfede9c79f333b029dbcc9f49e50002d5a01a5a1a8e802ce126e256ea2cf905c5ec1ca5f61d98d967d6d954ac39e6b502ea3de9d05ebd15aa144393518fa5971a486a8eda03d0d2a3a84a071122128e182069c9ab92c88f91503df71335fdc0ca9150ebd8cd1d8f527ae6433f04056103c5070472c5cc1e0d2cc4c1fb5a03778b80093e560f6b72ff94f98bea163871e63d59351432b42e98f5e856ccb15d16adab55852a39054c6ebdcb8c0e0caab15aeca4ed83ee694d3ce651268c22ba7ab777ee772a3dfe04c3d77d4d01b77b975543222dc70a445c2c584da066123149f58e9011541c3ec461b2aa27d4972c64ceb4dd65f1544d505476dfc7b60e4c226117e2856e92c35640866685b285c530e5189ee57320e156d74b60af6bd595887eceec1106c1b2760f924b54b54f6170cd31596ee106f1dc6d240731fea4787817b782fb9698305b1566558af62311183b2d6cb4ec4a005bcaa74daec0daed3c40b1e6022ba86ea43683245d99efe2bba9b0c3561f968b60cf2b765bd4293e1432787d113f776bc3f71efae2254ebebe09c61b9a8a299cf949390cca9282b077cad52ed8c8d5acbe2448dc522f049234e3fc5273424b3911273105e93e0ac3bf2ca6adae4c0604b196251a206ef399b2ce41e4bfbb461472542f06eede7358bfc94487a0f00717dbcbb913eaf8443cfa541415ba38ba8973a6ef8dddd136fe2d7152f4aae8c89faba3f6d6e9d6bde3db45c4ec68c4f27631e12ed0763a2d62e94f982e1d0f9a52b712de9c186336b11d55126787daf2b900c595a556156276058adb308630edf08636e24af73a74cd03bdc49bf43917c080a77d86b8e737bb9cc852412b6fa0d67a041ffc4255a77626ad5def8125be1e104ef06cf0564296dd74f66f7d46a69252fc82d60e5fd435b2f6a31bcb7a65545e57d4e9da6216b6413a0dde66d26983886c7ce19a66531441356bb5b29f1d02855f385ad146a4c29acddef4e8fb4954d651a846ed80548bbefbedc60813e171819481975c89755d73349d234889a3b00c858e1d246c5d40e784269cdac6c2ae0816552b73674e18316c838b36dcef80eb92c2bcc9fa5cc7cfab6073e1b51b93b8b717870ab06c07e50ea7b8a19c3ec0d3ed5513bb8642c37696cd4996730fcc5010a391e5de3b06f90b253ab557a4df3b0cb936c68064ccc36cb79820d449ccf4f23eff2f9dd1556ac67d401a46e09bc4a4a770ba3e47cba25ea67371f9831b5f6964a21f5f1e9153ae07845ed2946c34435cba69dddce835f9fc2ee90f3f95063004f6893d76f64a59f484c5bc75ef88203c0b21618a49309f62081abb007c527fa35634bf2e3463ecfdadfcdfdf8c0e7cc546f49051921e943766dcd326993bfaf40a7ea5cb21aa128a4bc87b6070b8d3c8c5648777feb629432e0bad821e44c00ae2e6f2bc1a2a05a8c91f142b8cf5f25cc5274c84209c7f4db9386b6c120a2e3f54afac8d7388f992602a959901affba37098c69f9337043d7485c877e9d8510aa223b4def0ae4d2fd5638847908da865b1d84e838119a26bc24f81ec53ee6a15febc048c261e3d489ac45f958541ab4340c23586e4287cf7fbb0a2dd001eeaaab7a0ae7c06ee8da735dcccbbdd5dd5b9f7aaafe1ce888c2ebcd0c073a34630aa7e5d62ed3926611b7205e2074143dec1a1ed34101e8ee311a610f0babb209f4d85670660f50be20d9507b4f432711b577e9517ac2932ea02fe0ca9c47ac8ba416743b4b6ac1de5a5c0f1e1e889f69861b70db622be4940f93952a80f90ff0bb9674a48d890a367921e7c0d8c5480dcc17418c1798e6332f3a547009213ca5382bd0626b39785edeb7ff1dd7943110b6b7e7f8f652f3030327eb8a74c640e168b622bb0460fa95e22d4c172ec2945c4e75768166061532c8e11754a7033162388a4bddab8eddeebdea38ab5bda7840ed026f800031324211783d054fc2caba44cc8257a67da7f426079f446c0ad46d2c55d864dee04e86eba34e61d39cff097f02fd4f8025fd47793ef5a1298a50e7ba93ec46beb52ac4843e7307e3b5641ca8a464036fdbbf592d04c19bd61cae8c4ac85484143b0f5a9734385f1bad68b73322130957bda846f8b6dab04123218fb8ab1b8afd6a15c82dda51157d805445e1a401f06b642229e20c649964bb6960dcfbd0c9592d4ad5396b7842b1a5bf4b2cc6506f5731e523df63a923556b39251525e5604c44ec73dfed21a3a29c91c8db0f1f72447b238bd90e70e2e79642aa5062d52a6520332bf33653b8dd4b3d100279c86ec120f3605cdcfc16588f1212a72aa70b0d21414642d67b1c113e0e121fe7433e2ec779abf3382b7eff93dda23550767f6e89bc52581edeafe4bd62313a6133d3ee8b48aae217d196ee81c1de5700bf93f70411f8a4c4845ff8122d1bbe1f2b355a342a61ee4128580b764bb1328a64f46cb4511ef2feb1043277efcafda5e4b64168cbaa08a1ed158e8dbc04a03dd159aa7587b3aad63dc1a8358571523d62ec91b79df529f5d5ac0902aa05aaa08842b7381b226ff99013c106e716cec5b82f8cf0640280e944e705fd535837ce87577ba18aec408bfdc4032d9ea86c98a3a739dff96dfeffb132c48c69bc42d327ca57689aab19f9903809a02ee2f718cef0cd3dd7a92e8a1a15b53a9a2aa456c73ec0518f5b5ea629cedcb4adbfcf9748349dc1c837d011248cc383f2520034e041727c4e24cbea2207f9a8d0c1c4df3fc0001e716a460fadb52353ae4620e79d3e726d6d771d8b850efa1816cf358292757c1d100a17c1d8ae4725b34de04705a4503674159022185bf98c1333fa27a5f96090778c16dcf3892658ae37163bdb1b8b9706cb56c90a28ec7f8cc3c632cff0bf2104240780daf99a2965b6cd94d28b177fcfbc704332c194f09074e3ecb21fcbad866d747fa54718643f8e12bf98588ca254d3cb47faa69a1eea53411ab6d26edf0044ee2bfec1406b74ac90e4ffc44a5e1d3f79bdca4714725af4d4a7bc9fcb1c4f47c83cd3a06286c69242084b0624f4a3781efa512ef04ce3e243bcd871186da30670bdbdef95dd9bb6d1524e23d236728611d9c65aa4a2b01c82cbd19886d81d5ab0d4528b3214bcb203483095fbda6399badf80984d603464852d5c4d5f8e0e58100f484cff02b1ec2e01b0e5f2edf9eb642ad41ce3579de5f10669650b1bb315721346a74aaac8bfa09e5aa90d86659f9b6d34af66c04692edec7345b2ab3e46a8b36240dff50f418740fe30636214f3f94c5f74f54a767d8babb9a525ec5db4e4ebaed03175305d049269e44db052feb91d2df149b10adf4d7142d43fe6dee7a7e860d993c6b32396adb36e54abf9b3b42f92ca882c09f7f282379eee697f641bbe0fd1befe345cba229082bd9ffef3f8296c010a5504cfc394abe78503d690c5fb9b1d97cb75ddb3c6f50cf1256aee04c8a24a2f664f8ffbae2ed87ec218867d6c0cc3f9e05057aee66e6bbc9e0d9afb90f4c37cfe4c2d36ce754ee925d2d3ddb747a9a4a0ebd170f19772736384e23cbb2d75cc8fea320bb3272ebde691be18831ca4179f3fb2976e0e54f45b5195cb8057260b5b3c2f7fa5e41667c3fd519c81906002e32ec25d4aa7408e63bb6b2ed3d5158f686ffef091d38afb186c7e70e3c8acad06de155e7e5cf1ab66e05b26a06d697001212ab9fcb832d9bc368906c813ed7348582bea3062ba32283a9fa2d47433b44b47f0db3b9e56a483af445a1151415fef19d5f7a44c6c8f58468cb7b848b122d0cc5a71d04f5a72a127fb88138bff70b0c9791631e8c38f52a4a82ea4355f73dd2f2313ba384c2c013c7ab0d6f0314d4845c3631c9a147f5dcd15a21fa7d85ec0fc6e1cf4e310df71c300450535e8c0c4c426d35d30afcf069349af3fe4b31e6c343a8b08336ecb98148864762049089f81d4a8ee0f40116ad2e701a3ec8b95d155e842e00688664a6e9f2a850f251d360ffcce53f333a64a2c928c5ed649ebf452accd96f44f00f9107cfd580c592f3fba92cf4ac6931ac7ea9c946c5d0cb28b7cd871178dbf74fe1cea0c03c3a23168e991fcb2a6842b33a6c77b3f6c048afeec75570ba74e0e1f98658018cb6c7e057d69a5358b2bdd4cba3d77b3012e789d9df470d427156ddbadcae72d473a93b22efd03fb8e6bb3dc22c8d2c94017ae2a8ac21ac391d07344d47a3ed54c9a19b3ffa6c53a83d4a2f95fafe46b3a9efe1bec75acf9c699fe803c55b860a592f8834cc15e5c940b001f2afdfb426f9aeb98bdb6a077a070d0725cff150965bff3b8a046523cb177966cb563257bd8b6594bb3c40a66dbf0c783e984e8a31265f5a55314edb9eb8414a828c6152a8a51898a224dc2fb7b9f6d77218a8e63b9c4659587d6300fa717785e6c8f5468183784d8e2b5fa2fad63db5d5a2019fb6d948f7dc6c5f6cfc2daec60e7cefc41a81f6faa85254095f00da456467da276ea3b9d0a9a5c145e546cdc897f3addcae44f6b05b8b1d3196e55ee9cd5b2006cf65da27ba59661880038e1c91ee5a2ac46514acdffe178f4ccd720030ac8542da0d1442b3b370f0ad0066b430e57cbc278fe71fd8560a45010e1c3a730b0638132e98ca4119663ed0f57b583b03e79e5c36eceb0fd80beae185f9ede115ca057001bdf198ced99ee61b3cfbf1dea35979f2febc6959c0c50121eb6ee62e369ce3b0007de756b43b2719cddb00f1bf8e43d96ec745387fff489b912a97fce888ea9376d9f0d1ceb6d64ddbebabb39dae7297c73cc01ed9168c162a4fe4413260d67e9a3ccfb3a126ecc6c865d7c60232fe67ade9f3eb5982a1394958e2c279df90c467f545d3186cdd634312513c08198c063f988baa0c0ddb1fcf73815df0644fa8c6c5e0bcf2448850b250190f57f330a636c687c54cd7273fd362db811373bb152b0f0d5f7cb2d818061ba399d58b0425b2a6de9ba1584767b423f2ef714ef6e7d95b9e51e4d7f26dc54886c66e020419c3ac39d2401ce73e71a407f0ce60a6ae93161579a71bda2e76cde419fd7207ca6a742769e0c02c1c5ce0b4816a800d27657a073e4cbd6ecb1e5929735e2140d03f6ed50dd57f27e8a04956318cd9b00370622be736c1bd0f879865ae5cc560b4ba5a056cfd25e63787058a23601d3b1674160447b61bb35c8f6414e05ce11c89e9afebf80709704541004b4f490c916b7af138fd4e5a48da170c206a72a3769caeef06d1b99fbde1316f01bac1ea9895301e7bb43e7761557be66cb3c1f223fef21f24e1c2bdc09296a02c2a06764fa5ee00138cb4d284dece159049db61284c4da2060a3652591b8a4e21f0f08660cd9c3d046822030db6dcd904c62a31309b901ecaf132c44740940f99746280e21f34d3055b4bbda2a11472905c033a0989f56b9399860555e4e8cdaa270a46df84dbdce2ff2de76bf4d7714379e42425bc258f1d511d455674071526df1a48d189a2062e137ecc84c4564b4563ee4f0933b009aee72e8d4ae12d14a94e92f2c7d45d586683de1da2f00ca51429b15f8162f13c02a9bc9ddf2245af7c9d5209e4d2d644eaac51e0d612164b91d368bfdce2e78aa7ed54266a987599a04a307ce06afd926aa1bf492e5905c35d8f05ba806734292417e5b7679a1e0eb3047b65aae16fb60faf7252f7430250c27f9352d1f09069ab93cf57e59b0c3957f1a1ae6fd0c659b10802bb33f59b2c8afaf32e053514a067b33940c3e99e992c41fa8155c4ae3346911a509ca12c21507e8b62b8288d2adc5c3970560ac6ec48a6ee98552134e975270827898f2bbe9e0e425492b3b30ce44616f8728e38893a8121d7c5a7920a4d1c801ed774869630fd83fb104277412cc69bc88834e8083c7c2bdd1109bf2240644675bd740519e1eea279c635003eff05cc3e7ff8d7b5dd0c9f391f6b9dce7e1624b32c1dbb4aa25f92e21d3d3ee30b48c47e93626071935f45afb86076162aac466050de49b3b8d8c4d63a2b836583f682086858b27cd56c034b7dd73ef1cba5a257b252af781afa1f98ac31d48eeb25939f6368a8deaee305258d1294e7ee9725c48f8407e3c35a2ca77161b05a53c7b8c059a6eaa3126934ff7f0e6f43ef093211614231fb6f79bff8c62874e1899392571b40656679597a0b26f9f0ccf924a82688b4a764d9fbc6166485ea1b5785c4e92d1664ff5d1bac90ea70f7202eace070ba118c4b2e46550a5b7bb95b8f24b2fedd322e3fb0c4498cadc39a4e97ee435f87a857517a6e4ff3ee2d6fceff222894ae60cd7aab76c821435f9852836bc8691cb7570811cbfaf346119600b629158bde8c71c385380c60a1e98ce8fb4966577bb08af16286ce92ba29d3ef0f59d7b7c0ae39192f87baa81f0e38ec9538e894acf11c9c51a5599f758af03e83df671d31c063cf8ea46ea362200901b8255472f6b37cde2b537813d25829334bd6a7e707152c992835059f52034e833380ca1e65672abb8a52a2238603e6e80194e357eca1bf32559687ab3a41391b006c9871df3c37615f0d34964a7a9675c194696317eea145f588af66a4725400540ea98b082e233c1172a715e5553ed804450d8fa935b0939a1c111b1bcc0899ed741d7853653e1a76c906030f2e68cb54a848afda586c4ea5a7b5a3c0a088664a9420f6bbf42dd0aabb28cfaf162d9a6d9fe81a57cb9f81f498288cbf5f52b259981f4df08843182b2ac477f3e0e942039b603721d1732967ac166230d813803931be0dbff26e20e74273a94f50a86fedcb4e6241c8bbb8d05bd4af3c24627b0e4bc075728d663621e0e82ad6aef989e874ed67240a368dba702c737545d8105f3c38afd4e3bb31b0b458afc21779a579cb9d3fdc0f5f68b506cf257e568ac955ae62ec79ef42903ee63e1b95cbd1ed1d80cbf0cecdb96c8afa8386de9f179070bd1407d70446334d9167f98fba17ab2c958436944a3c67eded85571e50643691496c11648994e2af8f2e54493f5b1cd5a8f873c3c2afbb6f3b7ea95f8779e5d6fb93c99014b9dc644b90ae6508192efd2fc4669fc9e8795ff7f4a72e699bbe3721618384e7f2fd7dedaa6d294e24697853b400ed5542527a85fa0afbaabf0a6ee6e0ced0a77d9e75484ea620850c246677578fe264f8a1b397acea8b0956096de7852c22da57cb76cc02ec98e24e13e66dccc7b0eff3806bf690a9ee818dceed809b147f65fd1a975d3c157d6280156c725359f1f99640a1e91b3041121a05aacaae198779980195ed12915629528a4275b9ff3e3c71ffefcb2df75b45262915da6ed4b1d0699308e28a16d0ccf502f2f6e8d5713abc1c8e2d871e837446c569a0633e1a79bd948361e3bd90705c55b368167d786158a8a108c91406a669d9971e1a76e012ada457e4d29bf49c8570c770296a188f5c48f178e09ddba9d4b0949be209a8a185382de75417bcf135105acd92d94db7f68bb0bcff311f024de4083748d3c8ca7d5d0ca5ff8e6652da1f692e8300b8922383a11f41b032a14e6d68aeec3cfcf336fa59840504d0d50165f158392f687f9db6fcd782e208e5e452aeb915e60428798d9fed3a8b296777397d3af2d8f450092235aa44586c3e92c2cbb4d5077537d5f8197f3addae19574470a6f6e3850febb95e238ca762e0d0d6e116b7ed450194f9b2f17a95cbb508465029b7872203b80a73117af8aa787f0fff9d9ed04803d022538c2926ed7d1768a9795a79f636935af711fb377336c73cf9b845b09d7d5b6a2d04c2d883655b1919cd5f19d2e7567bceed08d222d288af0cf9c1a193f3c30ae546e09232fc651320f5c31fa6347250c64f4a5fab929ce74f5a883db3735eafaf80c0659a2feeb94f5525546438f8b7d18e83a7d138a511f7d4d9e1e7f684e5c31266d20f8cc0dd33fe6e6ebdf103ec9c03bf27a8fc097de85802e182c0457295874a124b390a3e7c3d8940853ce1c6754487653bdbcacfb495f05a78cc2fe145f353eaf305b0ff8bd0849b1cd7077b3cb70c24e569bb743e39620d4852386d166212976f15e2c5cacb0a9df89eca51c59340e07cad89205afcca9e873553e80e33addf4a2fc801e0bc94c7f146cea11ed67961b07f6434a6267a7af45e0d44b57dba546bda35312ea8f638a12dba1ffeae48b47b7ecc205b243c958b55d2db5b057e629764c3b785bfcaf36f8f70a1fea67d80a1a311832de342bcad6c8cb44c89d728b9113f4cbcb2df4b4a6e954e4e13a8419b4ef6daf7595508bb103b00bb35de554dec444a7ab3a651a245bd78f8b923bb12ebe4e52ef36f8e88effcb71ac911c049a6315a5b73206fafa567b83120b559aa75de390d317f8ae65c2509ecbba21b0da64653204d9433a06d9cc0a43b67fd59d7a1a0e7af71bbbc907d1a328e956a74a05a9f0fd4fa2b6024d8419af8b2d40b4f77a23735c0b373e570e9bedd03329f65fb58dfb6c002b7595257cb7353a0c4e2e9233b3e5d85d3c5d7e651c505ba7160b90436c45eac6a088acef8fe9684792ee9bdde9729feddb3ea375edfb5a8c924ff67d3dd4cb54891ad8dffe4606d7129571faa683849601bfa513920e6a04a3a3e5bff4aab332c9cc2e12c83b0dfbd880050495fafe26d37596691003d63015c814a440428c733ade0054d7f1de607829aa91e65ecd104bb8da3a928f8397152739d8edf71d95620c2aacea3a299aea0b20b9bc441e8f5e7afec8c3505116b1082ad25bfd1d0d22f37a63932aa851aeb2ec107a445fa82043c8031fea871e48580e7a07d0a01956875e7e5efbf8f1ecca6068ff40d7085de7ff5ffd5183593f0e7fad44e8a34690abc50553fe7041600602224fed66735e18f4c218d31ab1b92c0a61316413942715ad106f1809962b2c252da0690399e5dbabe5dbf0fa75d432fa3645dfb8d0c68fe65409e60dfc6f847eb383b49ac5dc018f8c56627aa73d344a7b51390fc8713f62281d68a8db5c8d5b8248d80bb8f8dbe8b9331051215142208d93fa5a8b78ce934c34b3655f5dfbe8220429e9696baab5bfb09722790326fe307db25be2407caa287236c80432da52b00f22ac81cfff4d7502ada847854dbff0915d8a1b611f79cfe8ca95e373c9cc4c3a243ab29c755106a2cdd747003829845132b99202a92c5a6f67ae20c0e204e83786483e53a5b19bdf7c5318fe44ca0bf500cd1871cfccaa92cac89ee60fd69e7ddfab53a0254de457ba846d723f6bda7407fda58cd8f08e5a30370c881e41e946dd0112cecedd58f997f4c442abcd5a7148cad16ed287e3ad38ed0639f839a9b4545683051024a8f41beeb05cbb0bca4da02c1f50c8be639c4f14b3489cdfa4a2998bfee58d7d9ac66d6ee9d43280b8686f993443c8db3bad91b43040185158345933100da3d9c7721f23d27c892c165fdd92ee56266281498fce7f7f6533ac7cad9597d268299b0cc3fe311a3c0f10d72fbf44472595e6d44da2de67d6f9c4a55ebf9bd3a8639d85463de58a0feb020a03e018ac6db3faac840092f57727bd5842a2433329b194b1c59e4d40e2a0feff91b604399aeb49697ca25e822f7d3e329ce09b3c5491ba1f12ef2ab809c16bdacb1ab3b72193aff9c5e4b9d7e7f73d32f114b53c99064f151af66e6ef9043fd3954f52bd2a709590f318182c91c3091a7e961d6247e4789bf5d725b38db64133045686394f55e3243fd37ab731144d0c45cd2682eca638ae381e8db845aa963953f858db1492ed413e8e82a27673db48b67d30996aff4fcc4fd47609dee25e577605fabdd039e3be8635032e5ab64e5cf2b6748de6cbaf0015948c9d01ce0c89ca4e790e2d8601846b02ea4411424b4064d574b9537a5016471f9786e3a74bc3c523b7bdb6efafc80f9e4053089ce4ca6541bfa01f6176d169cc1ba68372fdffdd299e05f23b6c1b4b323baae7f3b6851ad97bef24a54c4926190d040b04d303aecb1c44abb584ac01d68fdefdaf3a6c23c82a47222f10578aac7011aaa38d2c80967ea2c40145165e70f8d895a07806c533263034f199315e586c2789167b6331de8fd7c6eb8adcc7093c9c108585f37a3111f0fa9a627158fbe1662d27e75b1292f105cab05d3ed94a41c91ca5eac635ff0eb9dee1fc6f5aeb574affe77ccffdbfee07e55f0286dc1f32c30f63ae4c6e2688e6264457536b51102aa8abb5d68a13deffffabc2799e37c0ea7e1f072c2350b50a5f256cb1f675572c8f456d5cce395bdee0e0040130a4a6264447739b0992c919b570d66825538535f05f34c619afb3203f9c8d9267ad368ba6d1b4b10d04c816544ccbcd4d749fee77ceeb0f365f3075c03cc08303dc36db1bef8d0e5abf7ec14ec8dddbe56d96cc56c2623b53de08021d3f0708391b3d90acd3c4114156bac0c521a544064f57e218434a87a92cc6289ab9c9611c38afbb4f7a6ba4cd423c4401d2ce8ed3ff8b2760c3f60b080b838f8d03316962139df404318d6b5c1477fcfe5bbb1363e4e8940213189ab0c74823e56282858a2b378031f31226ca81650b5d1b497cd1a207672c4ab6177882f78a4d85c80b16631c82435cfae00627af475023c74ae94de49b881b0185252e4c39785e6f9be91d638c3737ded84e8cf24b2c5e58cc3a616584d9d84db2ec0d933749cb69848f8d5fd9f3f65b174bf9c386945abc586f58ebf5f9af361ebc57795ee8710e6392ebfe11650a40a6183145515104576ca12d0125690b1fad0628e5cb23d4cc8d72ddd4510d25bd4a91cf889cc889b83bda4422cd330772211fba330b58e7e48be4bab0e60c96b8c044d7e38465fce384942f0e72d685253d314683c5c69024e9e9c0f5d6e5bafcd6c5b222a1c4c706253e3644eedb1e9d590b51205340a8e9ee73fae5392f4fca940a1879628c59fcb2bedb047e3852780e78a123dbf985f78ef221883cae04c2051c82a820754b038a9f2f69e0e1499f622a513bdac517203e3c632024f6fdf6c420c25c18b8ec75fdceed5b239237c63004c17f100cbf30ba04c128a37c50a5ba5f2300c619fab54130bc200882e0177a4e7dd2184a2fe96ff4bcfe7929756fc7fb4aa7779588cb699747638df769a5d146979f934344e708aee56bca492f2cb6f3d63565b75ce393fc97821968b04108cc00879247dee046939521f79bee6e279ff33311a67d93f41da12f0a9d73f2dbd369fce9ce3479c83fc0c93c7578b863d8f727765e3be7b4b50cdf56a4cc7c5d5f876967a7cdcc2deb576bbdb452ca4ed997fa257948155ea6d8e18434a50938706fe0a288210815e994e334d02045953b743215476e627d231563f42b616eddf862f7f474a4070b1b4df10c6d11630643e441d85976e488bc19c88a0505c170bec27f79e0d7316487c2ae229cc250a1e5688a300b58c1229037b640a1b1d1f4f65d478729f83337f65f889909128c41c630943449f398d963ef25857f2dab74e67b6325aee93cb12b226a9237ee85c5f87df2939feb26b4331fc617bce7fd3e29abac66f88df54e5f6b6dc853c7c0f3ad4c414e0fb5843f9c98704b42e0743c1d9ddbcc885ad7044d21b54e875247deda89b9a9e9e9bb4c4603981a9c4ad8d10ec00aa005a82e88c6ea8dc558a73469ee75d56307ba812ed2445a814ea01168581fd00674019dd304f4ab71faf6002d4007d0376dd300f49076754d0b699a9e69998ee956db66f5aa551d36d892a725e89d8ea0216823add30f24417d31246fce545e071a284244810410801d6040013904bc70ee0032016601fcdc00d90401203484e61aaaa90921a2299aa922631473d4b25924d66d95a4520a9740dc97f3a05e4a829d082030a253a318a8380cdc98ce195840de9416a08183bea654925dc21ff63a3bf56d9cbcf9cd058b11b90a24709596704c4d4e3909ec052188408118992244268f909a2146748a105120011c537c17ac49dee44d2ae99a74505ee8ba04bd10d9131f42d0c23ce98270b02db8ca8ad3aa943df616c82a147c9810ca230c0633b424e3542f1594a1aa55ab77ebf4408fceca2da5002bcea95a1ea55ee8858ce351f0f3eafd5a6b0e4d55b83411111111111171a952c50b8d46e382a3d16835c972d967d99ccc93266992a7652daf40806562be001e707567eebf9f30c3d665cd22253eab3bb35211cdf9af9f0cbe10fbee9c4bde8576d9294d5032cb566b8661f88ac1eb7f957d9618978496be10fc764352d7addb927525181dabd50c0393215993449e504f131ffe612021a609d19cf08c8378a872f80ca686ff505cbfb2aaaaea7b977a1e389978ded73334f40dd59086dc5d3a0c3ab923aa62c3d984a292684b38a993484a439e4b45e9baec5a889918f73989c437b671992915118546de44f23c24a43d846a49ddddac5b82bc81f25852e6248de49144923796621c4749259c6c92b919919411c91ffa15fcc21a7e087ea09d615bc454caa46496525137b645dd1d01c7499420fdf5f6eba4678f23193333ad19d58c6ab64fda6091a2c9eb5b2eb75af54a7ade5dc95c9b99562b54a9ee6ab552a942150d552b70e96385e06585e08ab5badf1742254de9240cc1d5e7f2b6eeeaae64c21b3e18de0882d747363dd80a47906931cde5e7cbec3509822cd6ea4a5528bba5372fed26aae5622db944a5412d20876118863ad6bb9bbbd690f955f9d6e6a6b7521985ebc24249afa08fc3a515c7a75324e7beccb7bdab5765ad1420dd448ef27aee7ebfd65ae5bcdead7c67738cf16b75ec69fe913329bb2925f10f65fa62e69e1a03515259246d3cddd77bd2925e312d52ccbaeafeba516fe3dceda58c75ba9decefc6ce3ad6b107c6751248ce3e1cc7e1bf1a1fe8c1fac89720072bc4dc010a4b3a808a28d41f149e7560f5c0af37c9657efdc090e876d6ba02f3eba43ea30cd287c39486f7defb7a9cfa5281b9f2c4995155ffa9e7795e9c21f87d60f8efd50f04437bbf9d9c1b32a50df010e2ac30401855d255eedefc563150f093219cdeb79271d92d13831c543d4d9c50296f509e1ee486396ac0b9d60ed8e62741cc78ed2c659fa242170194275f3c0502861037821ba6281d3d81b9638d28454f5f922ae8eeeeeef6ae775f9ef3729c4d67be0bbd204fb043cab6c9410cc43f20f4f5d7fbbd3c4f03467aec697c7f1c6beeefefbc1fddd9ee06758c2cf87ddff77d1f0593d3df77e79c5182a9f2cb890ec4c0d9db19986967319e96968aa7f5fffeffffbfa47febd3b0d6fffaffdf7fe9dff0ffff6f5feee1ff7fde67571316097aff7f5c2cb33baa7b258b735d1094cefdffefb97b83d2bbefbdf7ae0a7af5ebefff6ecf93deffffffff5fefff3d2f1a2c018c95b77f6be74bda41fd53eb4d2a2d292942de230c54dd8589e4c7c532bb9bba57b2b88ad36dfffedb4ac19fb7e715cfdc52d6dbb5d65aa9f865a776771c085c3ab003e449d10e7d3b8636aed2d3cefcc3c4af07ccb09ce42e97b54a86b821e1e6b5a2a25aad5613e32659ceee6e7777ef39e70ceb08b9a8bf96cad94e69b5de077ea0f7a992b02c28bc3c5ba9c25f793ff0b8bbbbcf39e7a4325cad220fcbda0f908d2de0a71d12b3cb9ef3fedb9f534e2ba7bc7e9bbaecebb2df71fe5229ff99fe37a5efdd9738df6a97c443f304881fdfcc4ae57a29c2d60b76c76b071af879144ca5d1a5890fccfb7b19cfea10cd4d97467e6c642b59407452ba13f486d3d31f484cb079e79df3e5da4902328f9432e41bded7cc863c3ea9cf49a74feaee4553ae59bab0b5090f8b1976fa51f38336e5458acab6549a1ba117ddd4176fe705cb477949527df0479197f0832e362f56d00ffca8a9a0ec6a0a0c5b6e05c65a9ccdb2c2f0a45895eda8860b3386609e2c646466296f113028dd5e10acdbddd2e50ca5d35036cf3eba03c0c3bbddc66c90bc7b526995a14591165166c7182eda59c63296792f5992cbe5a6648ac4bbd2bb39b43684133cfc95dc8b9186bfbce9c3f60e0e78137023d0b006bb492823c26030188c59524eb9a2b7aecc90e0048c409d77a692140f6719c6db7e0341839c0ce2c8f200573a417fc2f2cfd02ad1d16b761a81a8f23046d5ccd1de1097917853f748232bc99530e0cedb6fd2f9afdafd727e813809b8fbebd580110f677a03724ad974d4dc4a4a1f526c1f50545358efcb1616e492bb837e2c2c53493588e365e6c891fb22616698fd89e3b5c93f33b34ba9c10e65be92393220a0ce13df75c9ec85ec02f83177530a9bf3eecc584cba7461b28b9d6b524a364017c353d42d3d7ab4a29df7618411ae2265014244ddb69b47462b315353f78c6aa6a00a6cd76cfcb2d996f85544d18a5a2b653f3208d7466fc436db4a78e692202ca53288b6f29ed634966a1a47cd3927e5a11d6d57a3e0b752ad3e105ca9be1d9d331a8d36b4a34d21b621e19294e66de9296dc2e59a3c26282f47e76eb7a34d91fd33dbe664b5985932994b031f29b2adcbea269c4c94133252c6b424b32a8cdaf5d0ae6994524a9d4449e93e57254a4aa94bef5ce68cf31f0ffc842c79e047a3e481df4c150ffc64bc985de8e364f797464545bd5414a594ee7c64335e629cd1118d4693365a11ae8b2f0dd16a44455d44ed079c098141f25faa2655ebe2565e256ce82f932d9971142be6b264ae8d39191bc362cd16e37e809c34ae99da29c7512dd55d7ad74d0dd5ba06f39fd7b4f99ff7efd5a72ef0a6ba7275369b3cfb99b9749f732e691b1b05356d28ee88ba56247f846ab24aad89baa8abb4511393530eaaf291910de9d6487d6b1b54ad95a81c5139a282e4fd46355614410d13b858255a944c9530d42af225c90c7b226d42d5f0ee7fdffc43424d28b8e0a4fbfbeb66b235ce22606c5f6b5dae7b6130dbfa2a2586309ca448428b21da608a63e051c751111553714c1192c244cd810b6b25bb005185cda046c8ae92c4a495df9f5efe9fde392b9d2f9982114050766458b9a234734303cc93153580d041ca96ef830cee8d2179798951074a00111567bc3185100d8ca03eae60e387242939a26005f1431695540ed339e79c2fa76b0aea872a68ec79a5900d132273ea1c4915c51eb3fa4e675c8992e3ca1636a332ecb8e2cb51142bb67c4f3d0402a3393c73f9f5337ee6a8e19284471730b659930d55dc71471036a91eba9802c40e5a403d62161cd48802072121b44469410e27d6d075c922c312042444a79658396e308541129232ba82660e2722b690b2f4e5861fa244f1f87077775fa30c36b4d063a72509276e540152321a8a1206cb073f785c088fcf392ff5e953ac236ba7a85f2c4d117358d0070f8b992c0cb22c3e5444d8d5d32a8a17fb61018dec97b18aba3181629b32a5144141f92146e8b6ab09224af752765037e4ac14dc1c9e171b63b362c32aa115cb4262c87a42cfc5cec8547c4c69b1611de18f5d357d5d58aac603d9dfc20cd71c7b805fe984d9c088b46c50c646b28ebc9122b7889123f445e4c2623bcc2c29719cbcaf74c6c82ee54fa7f43b5256bdffb0af344772e5964f5abf7e0f82350ca94a35572bcf8d008e10712c56a8642303f2ed4863b158cc5a09d339d2d3d3f3d5fbfacead18ee9eaf464a01ed3003781660cab3aa5c2f1ba057dfe974d8cc61b2c1590609708503338088a5a1147a2284104f7048b82738a4214ce09e10d014c6f8b16db5c22712038359563f8b65e8cc9019976b86b59a99ed342d1aebcdb22b50f56105e9bc755eaa9a42429d888b4db1d62016ab5972a45af2618d6bcae8aa9487f8929863a9280d737e9a521aba2e0eed49fde9a493fa6ccff31afc3ef0696d9f3d5f7e44fbf5e995bd0ffc07e7fb3729f5029a2ea864ed5dda0a04030386000c0e86040291400cc4388cc23894097ae48187055a8984cb45a278283a45511843311000311c8240007008310628a32063a5057a541d17a8c5f3ce7298db39598a48a45a32695d1cbf79edd4907f160c3e5838db52bb755175fed05ef2a3d4e52dcc7d4f545f8597a30b51d246d3c7b6291f67fcc395ad7b52ca58905f1a85e5d3c43c4f2f961b2a6ab6deb716bfaf75a350619e6c8027ca4912fe29a5f64816b18efb3013efb4f95e20b3cf04f13a85287c8b5b547cfe92c3f60a1ac64963ab802888c2543dd648eb9538d816f0a0116a9d0ffb15a8d2040ce3dc17bd7ec5745d4ea04f264961d873f683be6e15b8bc8e289a295139abe18c728e69b512afd957820e1b62df539722f467dd210ccb9d5bba5b71f9a2eb610d61f44eded0dd724fc5a1953261e870d5ba77f180ab1f071b3fcbd80baf5f4b98804e54101a30780ac69eea2e52108048a21849c42ab1097714a82c497c2f0b808f18482e158622d8f98b20719dd55c7864011acf92c20e49d3cb3d48108947211fe09b68ca440c21d76838aa33bc396ac0a63c72f6176e959ea0eaa3228b3374d60b41a3a337598134b3a99fcd18b1260a7264e5aae27facbb452e21868a9b2f47fe629b40194075e0e41c7da219ed0804c54e7d058d1424c1c6753c0d34bcaa0fa2c98c74a5fd03b9219189bc7f537de6359b48112de15cf5fd2992af3fc3faea4f5b67f05f378953963b901fb6aa2c24903fb4a92b2a728e91e005e231c94c412c0b286ebee6287c49ad80634176728e75a4800f8606b096074aeaae9bd7beb0d7c558476598b8de4d7c722ee236fa6fe877c77e20f1b25299f87f10b789c58109aea0fffc05487192c2ef4536facd1ad91e2ff051c5dca106175b8caaa48e4495ab6fedabd599f2e2a7a33cfa6f7cf57a51024f9042eb54279f30d47ef69bbb658cd06d8e85b240bc1cd3e34de5b26a17ec9160833492f1d95a28c1a91bf8e667a81486d5f2838870251eb5ff00d352062a284e0ca9bf7bb5af4fdb47f2c9ca9b5711ce020e6aaf748ea46461f981a7dadbce8ef70c9a6671100220cc244db462667e1c48628df92625b2b8999f9ba891a30d3062bee87b5e3d95ef349ff7208bed151e07b9b5b6b7457a70ced790f3442ba277e5504c02f1f014984d9771dc52553025f62bcea9992cd28a385f31115a4374004b10eeb26bad3dec6d1baa22ced27a2ee0f33551d1a2af9db5be4a2a3fcfe4b3901ef853b8d38b6bd4c063fe30b1867800077fce0bd206678b3f68bdb3739c5baee810f5682dec4504e0f766132fda55cbbbf204fc6f9dfd87f5df6c4f6b758ac34ab78c9b58fd90b203c95f5afba4b7a5200980a001cc36a36785cfd7d8fdeb7beaa45106c9d508f20081018de07fa31ce6b2a2d8d08029140148e089ec5c831f00f9cbf882112c624be7953eab06d6896d4088993c2f6cf05cff94eabd803dfce070aa87223dc0239317bf41851fc7fe60698610b5db9018582eec94d8bd281cd89c150e51085e0a48053c63ddfcacdeeb3adcf813222c95af1b9764880cd7c919965f9250aa1a2bdf367a98888ff793cb78801e1e90d2c9a5e2feb49ffd212dd14e574bf1eb8183a6248c910c6a34edf14e145989bf8d2ddc2380d24874e5eb4e2b79bde530fc4679aba5d7740b5802268da976ac0214b83f56a2d56d47f807fb81af8ad13faead2885ac370327a937d3e5d8eea7e6e5369fb9eb3f6fbaae2a4d85946affe3b22ba123bbcf69139acb439124b0c6655facab6df9258b5840538d326a6532bbd31f9dbe8932607328a17a38e4d754b86d8696a04de3e8a72669e56e59c085acc7eadf0b230ca0a8c889c72e76f30e3e7fcb111a21e540a9b2b0915cc873b694b8910dcdedd524912a68ee1f8e4a0238130e76503e0c384906b6b127e15702fd0847cbba779023ba1d7b0a69ae4dada8ee74d68ae19cc282b3d16de6846335b803945e3906fb4edf63687089d769d471857567f52fe235fee90bbbe91d67cf8ff745ca42c21978e031fe68212f0a4db32724e4068162c970d9af84613211ac9890c9ccd2b46a05cd731ce1dd6e34d8ba4e5c9b36544fd5d158e29fbde066db46f2a11b95f7ea623036fccb5b5e1584267d6100168c5df2e38d162496c377024a69aea460d743995e471f0dd1338f86a5f75e1b317a648c843642538b7530320f4155d205a8c10ba4b571a61b38d783dad62ba564784cddcb5aab552e8236db719c271dae12b499787f80a2bd9974a2068855aa0f5942110242ee503dea96af5985acea338e56c64d5c8cf080a9d9e02b750be46e1df3552613e55886df9951158dffda6ee64689b80d592a7f364361f4bae4919e2e08b2fe7b198f574d6baa21192048321e5111e34eaf1f7b898af1f638dc62bd85a5b823e7de5f0b47bdd3a6d173e918f28b4013105671597a4e49f5c8f6afea9195839cc949bf204487e52e98504ffaa7f356e1ce26a5c33190e950fd6b7571f0e9c30f3413eb56db63bc4ac8b24af7b43d250f9dfaf56a3e7e21cfbbf10547cd46ffce8f6f3dcfebb2a32278eac5a399df95b44b12e7f2ffa886f0fcaa8e2d7c57976d922ad30a3641e8bf0976a8b76791d197eb2eabba924dd8c241808fdc34ac27810139b9d593b2e95cc0406ac71790d5b3aee362c040ae17ad5fe5593f76ef6a290c57f6b97217ed5abadd12ee66173831f87ff4fb73fa356f0d061d04e1bf7bc0dc6dea039097e64b50897e93e4fa114b5071179319b524e2363cb324f4701634b1ca29544f9bffb1bf3d90099016e345cfc20af322439e03caf3d453eb5ed38770121bb4f64811462a9afeab55463dc85f27c475006c80429d1b8154b893c4cf6581762764ef8af1094a6aec4e42a30fbdeebdca71166b02e93ca4bf5ee9fad395fe03491afe5383e52058b13cd0d86bac57d7eba5096c434c3575eb9b55db9c5b1612011a41c92cf49d4b7583a2c5089f55a56873fcfe514481e34df847112f7498fb6a703683d8dd1f40ac0e653791307b0ff1020bd98e930f6861b6001fe0171d2cca547129e13041b7bfbec647fb5c9497fc09b2d6db69b9b23489cee62235647f013d0b85e1bbe3b1f92094f5e9f91f15d69dd4c002b2d104d1c451e851ae284c2776453a40dfec1e0bcd2667e9852e40ef28b0fd52d65a0610c5fe4aaaa68861167b790b33e81179d33823b91435bf6982a95791b4fda3ed7ea950f65517052be25432a35b2475518ade77f329fadbd8d7d08da7b02959f0c1ccc9189fe70b73c851c28d94ade8c2e414a5931aa3c247c175c25fa55a5921bb2f312f407faf6841bd1bb4430195b76b891a30c81c0e7a527bae896626c190392bc1ca26501fc59e5cf737879515b100a93b1235e5dd3e28a1ed0d39807b9fbb02c7e4f1eac1a5976657f49020dba6fa47a035b2a5893149f5193fe540f6a3edb310cdd0d4a60e9ae00fea6e1a35b760ad642392590af2ed9a1c2b70ba0d65ac3b0c091d30524b548ec41d4f83076bbf48854b0599bc86aa5c86dbc4a01c6bbee14ca602f3078f6f586cdd86b1489197a772ef46342a5f10bef25010261496381c1eaf9991d368d9a0088525b329f9ca55ac9a61a65f3acbb79fc4d2e42c392b51322558accb0d852cc0e2d43b3c896233058b7e34f194686c90f555ba1458f8ee559805e715259d29ca8939d6d5f82b02798ca724d1ad41173aa729373b4370e271e24a472950187a92cdc0121d781e6a8d07ca78841c0e1fd72641fcfecc280566c6ff44a2944972385d5de258d9008aa053e4463b3c3434d3bd758443064526ce5ea4a90dc63d68b98ab8d061721a424891e08e3759dbc2202ef193364eca8eb4ba2069d5aab6b42a8a0f07588ebbc3dbef1e7c5a003cb4989df1e01657f9308fd13bc76851a8a37073ea223d3aba1df6f8a6218b7e51b7cbdef11ec61d918f419f531fe84b2e44072754925ee047477f673fc66de61f60291220560135c1edfb1c04a2dd220702d2610a62c4f00619501fee6592ad447001f5d5afdbc6630da18ba1772d712dc381191805aac2b1a7b77bc2ed23523b4370d835b0244059abe312c4818b15d5c01bef044f567ab1ef6f36f0a10e8d0095c6c2afa177cf93c1b55245b3c47eb05a17fbe1356b5c21523116868f697895747a2abdd61db0355371a2dc462236a76d364d967dece6f485942c254f423404bbb5018f9872ae6c2a6d6293bda23429f81f39edabca8129eb0d63d15d2ddf3c6fa7a939ceec8d1c9296970c6ea5d250788350376ba66fd5a9950a95dfb1fb9196582f01d1273c62a60a9113529e9b2bc7fdde2dacf8a0a4b0d271c30356d9d11c68e10be352ee94c3a3ce88bae9c10d9759a38255a533a1c8b0ac284c841b06a9e9d213c14402721aa20a7775467a6b124635b300ad6419dcb6dfefcb13efc71cff0a5802ee27200c6b9a475c1d7312ab0ab3ef356c91ebd327caed543f79d648633c94486811b44727d4fc567d0d3c6fdbee729295b9b5894dce944dd59de3225b6d0383833c298565d8bce3f5119a172e874a4ae35893449173efcc5feccaaf3835ee9af01abcccad2f38be940e4722839e1b44ebf06d4c383834951f166bca7156c9c04671ca2e97317a151c07252041230dd52f1d9cade06c23a136f6df19cb1c6f0ce88266c0fc39affe9eb87d3e3715681cdabdb8199ac5e212f390086b248fdf892bf72272a6da276b20e74268485dd40de275520d457b240169a94b51672a5a5f8354f7081d463350a6a518e8d33441ad826c9ab7be3c0178b285788db20deb2eaa3e86f172b4a1fc25c9f500eca48e909d2aa514d23261b600e512e1bcabeb916cee58175f6fa46a67a90d65c1a86acd06eae58723d74187fbae15000efbdc38b05fc0b217790e12250c2b4d8dcf1d31f048b039698399425380f6515678360acd20a81d99071f5a0c968b88b5c15f3357f300523871851857e6eae9eae939ab77053470c737726634c54c331602d785cf0ac88c6e453b8217e84884444c59a34af196765d20f089a8ce6912c55e8842a4470cc1e9c87ff07a381d8f9dc96937783beec2c9c58adb82c6f3658c704514aad2fb9e120b823db8e9d3210020623e72ca4b0a45082a5e8b10f6ef7d79b035dfac50a70e84a43604decb6b57ee343044532bc27498ceabe4d2c4fb3b256c4c6e8d3a233ad28bb0c57095f63a8e1d5d4572b0fa260c678888366d7a4a88172956a00fdf6180699829ec63139f0d87591107d5466f2067920ef0142a8f6e2d4f954fa00a70c522ffd26a1cc144c5a8cac3a12ae2d3ee22ec7455a3db1101d34acf44f949f58b662c0e85184a202acf2420c7879c5048c362c045f404a4712e48e4ba768ad8fb97b422581218a4073fb04607760e7d0f0faaab19004641fe05787b938840c3c7aa640d75439d95afb55101880814b81f7b7c3c154f1487030de7008719ae1d1d48e115c510e831d91c9cf488ec7d4c665deed51d183d986cbc12098b629021f12afa91c8d0634cb578e34bd2ef72a1bb30df6cb647cad0bb7aa3a785814a59d180d972011d264fad777ce5bde69500416a25801f0e7b9ab739070f6dd4e28f341f65489a31ae91349fc5866a2849c6c19bcc26f15cd08304db54a696884a604964f038923af5647400619324becbee43246513e410cddcc7b0a672a820796edc58d9938f5af5a1bc7fb15d53e420e519a584f3e27ae3febfec65e4ca908ccc567ae5e382f2494f3ef9e681b64b6f628257c0ad3852b07108783ec81cefacb43ea8d67744b2a979ad49be4a3f6340225d754353af9e01fd8962067a81c5186073d01bbfda3febdd912a95761ea529c0d37ca6c5ccfa3af6742cbc99869226290b8779a85981e51e0341bb37a5f6ccd25c2231d603896c124c075ab4dacad636eb023103e10d3dfd4a8d640377dfcff30c937ea06b6e9512ddca3731fdc03eb8965af97f9443a6b4101a16ae613a4e7a1312aff2021b5776a5223715fc8688d71be1049c5526e7d804b7d487eb815040e4a5a54385ce2755d639965dd630827d8c88b785bc8eef200767fe6a1a1f3b34d73b224cbf31f5961100852b59e643bebc685e49644ba3d10e7773bfb404dde97484bb82f3c0eda90271f906326de660e7c0c9968835384101ea925dec55979aadb8bdc7accfd5ff5cf37c4a1a787ba729760bd63ee7e524a935b9cab871b1af20aa8d63c3785c141e3a49cf2763156f4a8d1dcc02f82c9869ab65b2a426007a695ec31250f8f1727da492c45da35b44c2d8d11c338f478e79cfd221fa89951b380ffe85fbaf8cf8c1c85038b85947aa0fae48a88f4bf436843400583a1201ec8ed2002a4171f2d5c2dd444e0bc7764437270831a55464a59fe5ee2d893247105278e97d89bcde5f2cfdf02f08784ae812e9dbafa31db60f52a12c19a0f1459929f9a1bf773123d699ba98e0c198a85b132eeb6928e80898823bc429fecee62cc5cb317d8374b3812320e87ca2e48f47fea83181f99c620c440b18f1bae1a402d06b1153e63fa6ed8d328c57b0ab64061aef9a5f7f5033b22e1dfa5cf5cfdeed3d949836b0684199ef72be710b6fba942fefd4eeb1d4e356101b5e4beacef2921c4366ce3e97014003f956102e128b93e05642a77012e93fc0149cc8ba34c0730e7e52b83e1e459f496ebed90662d04eda313f819026ae98a7bacabc843cb220e9c1bc71c8176d44ee0f4193b7181f5ec58aaa48ae747a8094a33c876a0add44fd27291a025191e102edaffd675cdb7a1e1f88a8604358607739221b7998c0b446e0b78c101e1a5c255570a030ae8eb075f45bc8d46ed19c48a35c09b6a2c6a605df2a6dbc29da7692f7d08bc90875b93714b53952daefcf1877942fd1d513aadd56313e230bd31039bb2c4e3a905e44d4e4578c067f85adcc43a75165c153f54ef9935db37ff627456e020acd00febe304b947241ee9af0d819c3b65bdad9414bb3cf3ff7f2c48c72fabd99f41e5b8fa7111ddf47c1cfbab34e031dd65d9bdf0c1f56a3c047c272443c4c0af20f94d9c54d72c1a186c4e995f99eef6e2a1f89f45f26da9854d88e829dc5b52bf61d85d8f9f4cd2fe780ff6fc349a844af736cab0abc70c94a67b710bfe8be2d6da395f81c89130d75145ee948bc2d8e132f51c2b510fbb64802bc088c84ffb850b5c6fcd3ebfd87c0c1fb80d844886343ccb122407eda7c2276b25082d8f75f9cadb0b0166c985a6f8583159074b6bd10691d367d4effa743f7bffce7257d8629ef49ff05dfabd0204dd1199cb171c9dcb09162b4442b655edde199aa61d358ee254cfc29c892a02368a0b96e576d4779c18bb854b2a551c21ceb0b4c5359d1a9f8e71a25d98cc9af9039fac947c4deb8fdbf9d2ac398c63cb8a6912296b9c3df038b076ee2e44f8107bbfd8e47382d7374a46e756210b99fda70454b90aba53197711174085785265a5a1117045dfd8382e3fc14b85615c7e006be2f38e98842c8d27c6db79cd53ee0a30bd7eeb708fd6e50d6521fbc34fad69f63be15d047eb28e64839e2751a02a374a4104b8e6c1967d9561466ee8aef836ace155d6280c20aec3afd5fd775fa20970dde533ad2ba50a5a3e1a3ec695bcea5960ef6417118845eac812f985ab2aaa310288479949b9ff15631e22733117c4cfadcba7fef39259196308d4f9edbb49e90493297bad6d0a7d21a6142d3b6ae19079f40de31aa3d08848e75081b1fe5d2365d6153ea476c666dd26674fac1e0be769ecf143e96a74e8a3c7aeddffa64acb2e92ced15e4077069cdc9343edb12417ec6459a498915376e933c5a09f374be7862d944f558f86456530fb04eac431b2bf5002b18e16d2dbf415d68e3614dab926216a05496c7d87b830d3dc501c08f5e92440ba72f8de731e86228f3155c6e54bd17d66be3638d7a72d1f5938f06a00d4d91dade35a470dce34c97a8d6a0040e526ad9237849bf1c61b01da66611d84d97214385eb4ee19b94153ec5bedf3bb578adf3001db641721961b5660a07aa45e26624012eacc9df97396db6ca8d9e47e443118a7890ebac88d2d0946c0eefee978730dabefe0843b2d502ee572b78722780f3efa2090b1566c8e117169b31b57e696d0ad5e7b746f26c3a7a68d3a623172c4a4653c8d2e0d72d2a92486b71cbcd4dd7b29729bbc7d4b5fb86cb563c773e318ecfbffe340df7f3c9d01805b9a7d7dc9644bf724cb5bbc0e415aad8599313950fbf44f9d7d97114a3c4350fa8d43c518eea6078da8cbbfe180138d28067f6f71bf52df08ae2eeca90ba09a4c50a8193fd8f66167029766e6e7aecdfa6dc52ce90d7886d807ce273386062f80ffc3a5f6b2c24483666927f93a2a5590346d25af56e24b33a8a9828e9c79898280bf9228439435de6bb523474d9b4fd8543e4ff37183f7098ac1c0506a7f7e6ff4a7b10d6d584d338a28759579b4663ff8018e84c01e906f9aefe245415c5de6950a1f0b5963335043a20f4deedf6aad97490994a0087b9df05154c9e211d30a803bea5449ae9144063cb5bb0e830affec35a4eb8f4895046d25e98b9a0d6a6dcb8abda1775c000ec295f2f7d29b62e361f7a47fb84efb3285a3062dd103396cf835ece787ad229af158862738d6058cc2297a425e407c596a5abf0bfae3e3186b69f81459f84fef5cea66eb413b305baf48ec8080bbebe0b76d8255510bcdb797a9f167a6049ca7d5289ed558e43e7a4e0e326e6d115eae9f056e5e523bc1e1715101c8ae1485ba0801aafd84f325b6402ed7ae237b06c8ee24480a702f824ccafb78f5759c35453db9f2808fb4942a8cd6001c7e84cb8ccfcc5c4b1c5e1848b3bfdc1302b2fb68ee9868d24a74be62dfc959976692b07ac2f40796deeea200e19e2f12d2e7e8558a87a8b7c8b5d14c47ea5931e2c7aa9249cb7a82ab47fb8a26d26188a1536fc9c0232326f273c3a969841fc8eb13f62cefefdafa77c7a05aa4ff5318f65373ee0df248312caa2c9a3cb0f58b78a5a468799dfa7a1f044b9c49a58c40aac688880b9895bbb2d5b2a96075b1ca3fe3ed8564eaa4664745e549ae54b684613ae6acb012cac6c4ae86bc6957ed648dd718f9e3202e7a6645802a95e38615c7260f73b24214f302cfdfaa41c720201b0dc1d8127926c1ea5302e6695ddc04f6a11b3f2e19fd3ba8c6bc2100fdbd6aa1a71f6ab3687492ab92b54bd5070d48424978bae150fa62559f4fc68e1830af80b5075a609f7d00ba3f81759d53e5b3f59d5a1ce11c0e278431c19be19357aaf378a086933a738fcd0dd3329215983d6b45917a6bb64ef5f13358c87aa398bf9c5d3352a5a959763995aa835ec5f6b28c92d053e1c256a4babf27bb84c8a8d912a692184380a375a953b0752f9d4d04950310100b0a458fe53e862c88459dbf91748038be4f936bdb214f3c55d8af9fe0301c27b67ba069431fc2385922b6bcd161ace69a4b932d4d2ec52b684d0f3f8a35cde536d8e419b68206c1f8f1ad90d6e23f506d2a813bbc038a612d583c7f639625f8eae741b715d34f5c001769be893d81692194b39dcab99200a539f2a05ab64a59a4a53b1318419c637fe4f7333f25384c19f8ac417d762a30410b27d2290619a965bd9738c2bdafbf9bfdcc1939b1ccc3284d03ac54ad30f42781bba6a0b4e669911c654cc82db55ea8478362c38a176880c5770fb8299a129f1bc6568de719b132811c8f2bc895bb4552cba59189525b32828628c5914233fc5a1f3f71b3702bf8fde1cd6392cf3f29043a8c5060aca60f8e969331aa6ad0d9908fa833441f1f71d128761ce641f69e555bb214b5b8fa6940c399d47011fd772e2358ae09ac9845c19f072138ca5e2e839d6f5ddf6580df7c35ffc7f2246c9ed8b098fee33dd9015634538cf856243f1337c487e496ce31cead56ab1c9f5e7f05a63b9bad71cdd71199482f40e5967dd93fbecb2dbd48656812dcbd4bf612ed68e122050faefc5f9cc802c9c8db4d33dc103deec54c0dd97b54614ae42d8a377da286eb2d225847d6e82dd60427a1584ad763a6aa3381b844d009fac12188d175ffa9a08dfe1dfb3e530c68bf7f8d084e45a3fe1bdefc1b044ef83febca4af9cc16a54cad130ed1c2d15deff4a30270a0dcb3eae2411471b8aa669c1a9277a4e2c86743c7aab02be91d36e53051e7707161e09508702efcc3d9aaa28f7188c147e7753cb8d45c017a5395b28722281952e0354bd80f59adfd6cc4c9e3ac89cdbf7e6c4339500e2733ddb000e5f5a266d2314a247b075a9343a6f4b680ab67c7ea268474afd1132b28c802a4231ac6ef5903f32e49f49e252b57862e6f3af45712c2be1cd5f8ea546adeb1c5e7f709af3a61b768a0761e75e6f9475fc1f5bc3afd7cd53e9b4d68419cf052c35fc353d96f03161c8c7f2cf2cbc2125807df42c2fc75c54cde8c8fbb868ba0be4faed1a64f2bdc0c2ba1a29dc8477110a67ae6f18c3739e51db3c2c07528fb1fd3b7f64c28393ce361df7d2b8468ce00e1c312bb4b3c11692bba1450b6837bcca4280906e53529f5da788bb2e807d8ad4b24c639a48346c7cc898dbdd9e6445e07f74321220852d1d00b902a46dbb476abd2883b8b27a6acecbbadc5298dd8cc20707a07057bd32ceb591132d83b7885c941923bdf1691d5bc1f2f35e749302a960d5158a927821168bf120427c9f0dff0afee1050356d28451e48e8190baf2d210f4259ee4a16cfbe546943b505739c2081adf92df18af96c594a5d833cdf71f6e18de9755a2e0e6a7f913c3f02cae43cd4579181d5e6852af512cf7426627be904b8d6ac672f4a589e501e23148cd5140cbf173ec3afcf0c6d988f2c7539027e80fcc9892227a8749cd24d0f04403c93543227c224a2e77e0828d9380ea325309886544d47811c86f82886bf89f1849a85bdf4de723e7750395c0f606deb1122b995c23ba81c676cc961f97c42f47138a559df0882a72ab87d65dc774623733e147af4f2b005e86465b762a706c219c94e80e378638d62050ae8fd27534197198768e60063ba5c148e6d7832a15c88d56b7858d9b25e7f3fd5388940e9aaddf8b86c62a4ffddeb8b06fa599f32b95436454321f6f5b24429ff19e4c1cba6dbca46603e637a8abf34f713de2eb4000abc26b26e993d7d9e2fa2408884eb997d327358f3c64888206a373fa87b17f4a069b57f85790239b8a9f6e014b614bad1813e9f65a29c6ced770265e61c7ac473b4cf3538b47a6c9b7adfd238333635eb28d26a09ff02b6f9e49a49305691ce915d0276f2ac67d74d6f9c7a29b7aae19bebe48df791fdbc02ae636ad6bb49a1fdb7844ec4f2997f7af6929553b964bee8361397e6d79cbfe4fde2991c9e4c1ba1b01aa2a2843a3a27b76cc9247c0e56eedb41557bb4d67763fb442b2dc44747d76c77847119cf806a8c715e1bd989c2899d466e26ece1956a753a36893d86d908ed62043c21af353915e33213cb975d2a112d69c871c8d5b4b01258ab4a621f5e1aebbd32fb64e5a1a8b2430ee1c14343c0d714bf17f1cb5fce650501ced4c58518d2320bf1c7edb599c1d3e09cd30d7142f083c0a76abe8733faad4e5571016ee1e5091306e5aa7ce22c27cef965ebd23e07cb38fdb5a9621627a6b7e086d922fe8442e936335b3933cdbdeceb1776f385bfebeb3f3716ba24db20e5aec984a9e57b5dd9ca0336c2e206af5364c6bbe32c6671db9a45e1cabdc0f2091f98ce5b8bb38cb4e223868be608be505645af4c218a453895607c2cdc48a4b3ab899bab102cba2502cd94688d92c523866a4f57222fc29be3d6db8d88f3f7107b4d6d2ac705464baf35861830498e7d62d218882f39548831f5ec37b82b3eb8b4b5d85d1cd180e0afd81d9a790442045f3837e5af61ea59d846f3b9b906d4e0a7e2122a3c9b4be372711820b9c2bfb4121776c26e2ac764e52ff61b3ab784e36cbff22a9874a62de3a36f3c739270b174ff792b490cd5c74ffe05cc47b9bcdbf25524f9aa85aeae13029270790b199a630ae280ae151cb0d1134369544214a27d9e7e28b238dd75447abe503ec00a828383a5bb15a3d87dd4858161f20dcb285cd347f9d1536131a36e895b681d31f5701854436f267519125c3930285486da7f48ab32c7e36ffdbe632f8b2f428f75d8a89ce19114f010f296a73e7375f4a72b50b93772f87943b8b470c6835a23787629a20d8073beb0324927ab822bc7d58e37acfd89432d03f6992bda1807137d3f675908cc6ebe6a34271b2f21009a6939fe45615c6af88939b5f239108a8005f0fa4beba99bb86b67a7551b95538aa407e5cc365a3fba1809510ca307e1f025a5aea8bc2de377b10b1f6690fa50cc6a2d793f17271877e0115c552aa84503160faa694d0dc86562f31a962e0aaf52fd5b50aba54e07416f035e6938b6d28e6fc080564bc059bac841a73db40f91c5202b74959c8c4ce19f9c6ef60390969eefdf6e62078e21568239978bae80d54418f7368fbfadca2bdeb1e9f5b43a9c97ca82dbb43e0c73262f6eca71007dfe04ba71862dcb1ebb5743b9b341ff6f08cc8273f6bccdd55dd732a45f22cfd619ee9f3af43af3930f0ef4ca058dbaa8129d730edf5a9bd3e2898787fe442544cc9864d0fad3e30a6738b10ebebfec8489f3b285fd644d27203f0a5c92f7105f983c100b7f1ae592e677459f7d9fd5263931c1eb51a1fced2894508dd620f43eb57f2a008ac4240cb9353b02c918abb79e5469b08862cc37cd420f579d4d98c62cce53ce8e04cbec9984a782b75404d152f4754f460d1d2435d367f42cdd2ae5f88fd5f41449bfb70285c802840213c3e43f9e4169b3eeb746b55cb06d46ac3061b320cf0cac332dae1b2bdacb382c8616a06820673233763c48b70350c6bfa67bb7e6724987547f3afc8ba693720c60eef0b85f93ff9fefae50dd1e3f9301212948cc46a3cfaaf0091bb4ff0ce1d26dd96118c1eeb9f27af248b3d757fb06b02024c4b63413727ee7cca0df48e4c87bbf5b82d91bb006f1e78604978a28688d15fafb9098ea79dc8fc5301bac741092171c36d04b530725c94761d60a804fae904bddcb0381bab46ed93c0a6bcde32c314bfbfb8b33b61c950ccaa181dbc61d03ff56970dd78e181e2e1698454014ab914066a4006150dc413560e0545263a4a42ceff284d2e4cdb13fb2d14fc06325e44e2bd90aedb2fd332635a545d3ed5c07101e38ce96d95a23ebf6f15e4e185298cbb18b8cd92c0b8a01f6db0f25c8ec6887a45eb6aa7e890a8bef3ceb9ddcc90dab8f49473b3057d9ef3f1acccd152a8a8986d6e28853876e49f9a22a2f4d0313bf16ca46de7ec446c91461de6e3111cf147e8f158948b360cb82c1ee4ab1c7f7f0e697b81fc7e10f047a47ef0c6e31be19521ba244bfdb065a1a97cbdbd94b3d9de709c0ef632733e381705d0df08e83bf403b1a3b63244343a919f559a70cb301890b619d1ceb7233e938114011c0945503c667515a6eaa655ff1e5f31442e5fa194c93286f42348c004f72301a1fcd366e99abd2733b3d8b384cab62899943154c48cc916318b21d231cbd1a34f95411eba7be8734340c2c13073825410ada3f9f1eac0941044e15d5eb582c65ac4d033740c17acf159613d875b79d3c1e224538b3b83a2b92e7f76b8e63fe675c88bc7f47aac08f3402477833bf5ec3c568de13ac01ec6009f37892f73cafecb1819f6cda4c72c923a40bd5e52cac632aba0bf75f8a7b2cbeeee4314d9ef4ee0942cacc74dbc73faf23faaa6de659aa9c5b69756f4a46fc846393faeef69e2c085654b2f8d10130007a9a4c04d78ef4a18c9b69b3cc335f92cea99bd742c1ee12fd8dc0bf125a749b356e90ff1ac74fa780e68fa2da2b970f06e04887fcc4c033dfe79938857d5f49494f89e3440c855dd5bf58340dc4b9b0784bc35fdd7c74c8e41a39485181d27a89419a00015fa472827c9c0cde5724d1d7f7b4c8f821fe7b03db8bcaf4d7dc8ae935ef6f35540e453b64e0a3aa478c2bd99b6dda21a7d4376c76cb7545eb5d59df32b9cc6308c86a7d8a5487a7d47633589f27e1e2e354f9298df331bb29c2c544f05594e4771677594b6cdd1f04dd0a8a3b75294dfce61ab93dde38f907eeaa6a84ba61377792a70e3880b607bfc8e1aac0545c3bd55be535329069cccec8fa955145e7d9909a14aa7f9999a5f82113ac87a49115b6c55eb55a6ccd29e01ea80eae3de22b892321099e6f64199f9e0131bb4cf6287adc61211fddcbb1878cca79b891a68dc92afc6b53c74154c18802150b0552a2be661ad63d671edc03beef6c76dd7c17ad06299556239982ba52b694c2c9598925b66dbf1032cc9cbbc7cd9b083d00a7963f70d613043e5470c28ce823b5010e1c4248d82abc52b685e2d9e09d398b634a9ceaafea5f6397551007fdd1bf48c580e64caa6d332672b767941356d79d14e30df7b9487914637689ea1bf67cfdadf9eef31ded1b3633dc72a25886f4b369dd1586d796fcb0678cf70bd34add843cd55b8fc3dab41b6a77c0fbd42ee3d8d5dc6bda728a73b8a2e7878c29672ac55e65158a5b2301db309903511798c6588f5c8246da5f62760252d3cc6c3b8b8a05520c64fd05cce8f7c0015b5015db6c69e1fb96386e12fd81952b7711727f0a62a68608b4399b374f1c0d891eead3f772841856517cf51619089b03dc5598b62e6c16679c0f6e940ccdb1bac0bab60200005637b220f385f8cb4a9f030a1eef88f787d74dd1820420920e952a9b8ecb80da2cc7bb57b0e43550ff4dde8f92341384f0937d07612c1e9446d8fcd4148d9051174902483a12908f5995b15268459e168323dfc5ad2e77e4fbb7cccc2473ee947d5cf5b8fcf013db5dddcb5b0acc879e5dc5284c4820bbc765135ac621325482c3b5f821d927021207cf39b1fe04941274a563ea8557ba85856c73f39717c2baa0ed38202d78c09794641a29e5ae2e156951ed06017f1567bfef3114e14b22364938bd0f2ff3f1553b5ef81a5640006487491c53659ca0e18cd6ebbbf902eacb74d83e87e21ef79bef506e1a52d275c53f3faeae1c702cf23dc3488e5c88cf9e77ca9cd439d91a627ca74d0c46060058263206f90bd7ece0cc6f44ec5ab09a36aba8850ad8bde00519707439e24bc236183d859e0f8953ab850642e15c0f3ef938fc79c9a4d83b876e23592f7a084e2032b3a2284f014301c9e28122a2aa18d2d9be050b79af185edbbe74883614163a0405e14524b7303d2604cb39c1961876a2f2624dbf3ada0eba15b896cca9b04469a331962b69429bc35fc707ebb017acab38e96e2019e475258d4cc8056245a769c4c99372c7876749ae906d90d8c5012fff8f2cb60cf3bf15f74f7597ff973fcc865fd846e07804a4d4de61ac1dc7a148c87ad7560b918f22637bff5bfc686ae340d64448e0d4e6a765d3e7c87774756b66b6dd9e400b8a6a703a1c6d2e71d669c471a1223792d9b4c70ac6f92b2e6047fc150e19ca70e14b6412c95effa383cf53fa1739f4449f129af349ec8dff3192992aa08e3c830fcf726222db4f097200c78819a3dba4a7d20cdbb97543d41b082a43caaf4afdae7705b82e97ed62da72ccc38afd465f983d412f86bc6c2e7d1dae2742134ec510d41949b941150b9457f0b497e6a6222889f32771c8f8d852c5e36b3f88d7abff7675c916da7d6e015df7ceb96bc044f75155c94dac9f208589c809431a8781382534bc6edbb7bd12d9cc444d8db051ce2ede6ab48e0d0ea2134758426e47a63ddf473e3954f60631003033aee56d672971c7a99b56cf0654f83a44271104a4785626357e7fe9da92d3e956ce3308bff45cb15a118b1b3c000d11be3b8ce803a3000a192d9e77d2a37e05878555024205067c2d049e81bc7cf1115d7ab67b69e05822b9f882c91e9d40cbfca00cedbc5f9a0a8e88052b7fdd977b9a74441677fa77983fc7aff8894e02aedbbc4708fb9be6361d93ecd531ec8aedafd1c40261830d644cf899ec924258f9da1a832de5cf677e2656ee6dc2ac4b96f82b1333b5e6188cdd5e87d987363121ee7ca1f053db8fadd61b824e28147f759c46368d10214c4efc8ccadf7e2adef8fa3c3d0841e815fb9d06094ce1669962a347ec7757eb3f4012becb6d88ab2e306ddc805835c5a980b37c7f8e081707d7cfc5f9eaef7f7fe2045ee497bf9dbe3a3809f12609caf665ec172ac38395977fb6a6a8998622425f785257f7a828c97008a183787095fe111dbf406168631c00f31f2fbafada03008a62c7a55dc5dd2ba64ac0788e093ddaee630411ea284d78e29c724242797fb038521c80c422ec60530247865801a9bad9683524ace661f46494fa0caa83155389d1874d438984331c02222f09637fe4139e18cdea96e5aa22ec8b2a3cb35ba3ef6b4b62967f03709a709d7235de9210a8db200bc90f4154c25090d20d8511428f6263af0a07da501b2ed2103cfddd70f05d2e8453ac27922e05876a7ec61d59780e70282f586715a463879666702474d44a34bb16381ba9a6400f402b25ddd6b30103bb9658882542cfd430842ace7d6563166e4029ded8b7e786bf49a25cc2c19c6e750f07987ffcf40bc66d14e986d381a6040cf628595daaa2fcccc0ce1cb9a5b8ed55665b2da9fa6b072b81be864f44a1170d20446f87e9d76176a10ee709a37026e37578e2df858f7da617d02c6097899acf31cd3ab1498ce6902be0b4dfe4667eba1c37f39019f76a1f986d6d5bdba50fd4902220a1a21b9ebc3eb715547b7f4c7612f851a0a05c1cbb3cfa5d7b986433932b19d7d856192e9cb51665be0e1f25a619529b1d4972d1787fa37706764a5aa408f80dbd981eb3b4a37e612d98880cf00fc3713ada2808e2d3f603d0cc2761db74b6d8e3288c15bb9b99e71be678eb8c7ae2322ea3c906f6f07dadc48885a00085188c5a0a031b7c1eada4d8e0e4b85e43fda59387fc4a81402f80f28e241343354d0087e3cc25559c1cf7189389c815ed710acb78e937ed870fbfdc40d8e91ce5efcb0a873c62c770ee7809332c7892da1c94b615df5e855bc57a139624c05f8a08b0807ed0d287a3b447faa22a2797e82a045290821d12ee496d34d983f1932885cb427837807fead43e845b8b634f951a45cbc7b4c9c3ce38b39818d0eab6d7960bd1f14a5e1b7222f9f76a44286e6eddf758785ca050897f7ae532d9983ee0a23a7e3772040e2083b03fac7ad9047b75a56d4183a2e0f2cc99321f89b36c31799dc9d6630a0427aa1f21c50dd60867bb15e8fa1b45e12642b5737bcbc999c198fe96972366841bdf91807fdd66127a5ae369fe13b8fbf6d1ea1a2c0643aa83890f8316809b9e70c74bbcbaee026ea413351d8cce76b0c05cb706eb30eeccd1333b6f01c2ae09bb8552dbb070f7a260a6b9e11aaffe999940f1a33a62e55a44e9797f9faff16782ff0c5126d8391a8ac7f47f91f7665bf76b602760b2c687ad53c3a32a1afe96a63534694d1a91a1529db8b4be55581c69e253d61876a814a0f71e0651e5d3de34c9278e549ed64b5101bfcb2a55ee23e16dcb230bcf8c7f8c1180270be0d293c19a764f86fbaee493c0a5db8250360c2d9e94ae12a491ea9b0a8ccb9bac1bb09c05be66e04bef34b40b8bd468996e5bdae29a8290cc41f1c39c4b4331a8bd7a75e6e2a18e85afd7f239346063d16bbe3cd6c549e379476db18da105be3cab969050653534affc238000ce964fa14876f0e37bc9df9c1c08c09612f14ba35b9997d6194ad5abd479e2f3e7452e34a3d2cbca35c9af5e8547a727b8777a60984b630e738e100ab04b055e5ced4503817b8da1b6ea1d261ca66fb88fd3655de495c95bd87bd4a24777444f334bd4238d8f54c54bce4409b9eecf4857611c51f2a29dd54c173c98505f5ccda43facc79cd2f2ef01e3415013ef91555b0782a9f82e8b5f97bc2a05ad01dde29417497a361a0f021a86a3f53e331ddb18f67df932a01e82b579097cc5c5b75ae9376a1b7f14b5b201e41a0ebf247c9af1ce7ea3058491c6f5183ec34114ee1f248bfa3434666592c4a6a9c2b6c3c47559fb6e70f02924b81404bee13294fd45b5f77ce8677cab005ae3f8ba8728c6292c77a24351c95093862189e507e24f1cf270c71950f8d423a27b71878272bcd35aa9ccde00234b501f2a240a8706e4fd2b831b1182b1cb36d726417370effcb215dab278f433488f651041fc190db4b35c4c6ae03fd780196f4d28bf3a24579457c2071d460f08425f77eba86a386d710934d28b35f42f73b0fd0b9f83892ae55c77688913ca6875e2ee37a5075a25bc178a8e3fa722dbe54e7a7a7a644da650324066091d8bf5eb73532f4c77db6f38046bd9926229d23283f23183e708a0930bc801fbfcfb2cbe256d9c1a0a23877b975b5876e3d817ed1ecda46c2c398f6d9aa7472a9bbfb2cb4bba8d33d5753b7727051ca30fcda2dab48a109beb80d3a9d4210af8924a10f0515a9a315f757be57c70d528786ad09ed4f231266dcf9d42fcfeca2e11077e0195ad963c5c00d5b5261afc0258407b6a3907618c1421c63eb2c53e28d548f4dc0a3af7a12f17ad4eaff0c68204c42eaa463beeae8f6caaf0213c9cc2c70b56273be97fef4030b970c95fe36095f5fe895dde98cdc0b8c873b9560bdbfbe00dc5efc2d5a0ac7f2f55c4af0e50c6847d607ec27626cc67dcabfc73d01316ba60e94150a5af6bf5c7c4509de0ceb653b94a57d27782e6b8dc28c3b248ff41a59388bdfb48b19c1ca8fa0d391e237a3855345a386472e2b7cb00741861b6eee35ffe8b63cc3c07c41c292b708b634ffd7ea2ed1de219e985b98a03bac301308bf0fe215e30fe9c9756e5550b990c16d6dfe73f37aba989d31702261961d17c0826895872ae7be20c5899134cc84abb6bfa1b46bc497b3cc9ab2fd0eb5c48be098610f4c9a3d7801a1dc215e136b5b9123673709e1a8a5758cf3844d4a8cd3a017162d830374be9ace75d471fc033979006129c72c80091dfb732ddb04c3c1c7ad3aa5950a6599f9e53cd6746960d7746b0c93ef676a8dcd2f5061b12e89db4a2a2ec291a88f4f5a070ad081710e44c8a9a5564c50ab8cac5b79d6245651867a1636b03f0fe5113dc4044bdeefb0c4ebeb28e7133dd8194dd9a2e1043b4e12368e7954be163c7dca02ce543ce474128f97f91acadc2f620fba5f840dcd0e2be6927397066e08f9b6fb5fe7b6b6237798d29c3cbdb64461fe27ad4bc30cefc3be0ed06df0ca287e07839336327f57cab82baf4ee04787e2f96fb929deff94b7802507192512e3019b91eedd8f64aa0b444a85aeb8aaadcb5dbd8b02b187dc9f0be41609f417d99ac103858b227fd4b80b7284d591bbf147bd7e6761f2d68f9d24e7e9a125fcad361d073970721cc7e2030c2ae505ad89fbb24e5602cc3a655ae082adddc087fc94af49a65f70f5887321a3f0936ea86d6b8bf1eb1c54cc613f915591831d6f49c74ff641f311d6d6e7d5efe49fc2affe032c540e4d8304d9df9f160e584e3d0256752fbe2dfdad424a7409290142991f872b00e208f24e9bba556894ed143280c768dd211010cca917e56d4718deceac46b91d9e8f75010195f73ca21bb98e989d6e4d9d25e0cc4c4b43865fcd174f4068b4e2941584feda1a458a46268c35a111cb10bcfc52d10d8d69973988daa07814d4a9f65a00dbd34a59d587824adbc12552941985bc9550fce32685c2182e1ad693954284798f6b0ddc3299922bcecef400c4cc14cbf51ba2bca51202593657761872f03528f96572cfe78c4a8bb3e8f85cdc225c1d3ba71b1e9d5cb20ba8a8b29abf7f19224656339b87d8954e3ac457164bc40de1013df00ce37ba387708800be71eb7612cdaea1a8f122a13f19e2774160118d2f5a5e6b85aa4117891270fd8a9ef233e38b3c76d477292bf6c4ccd527f52aa3d9bbf2137a5805e0af78b13c51995591cda15802fe4adf42058a76d68b173864bb793e91344a4de174c2d90f7d0cef8254657a63e820e862f75a6a6c6652c658aebe29fd4be70408ead7f19c1afa284436e928fa0b8b77c36864200e5b446a8cf34f50a91952258b136c711aaff81f2ca33208e4fa4c6f281b5ab2ac3d5912b6518f2ca6b3d55b9d984332877b8ffd5e169fedb46f72e5d21cc992e4b87100955fc1bffc2babeced7c63a68595537818054ea9888c7037a173c0bf9d42298991a9eb83981c65a5891feabaf1bda181922213f34dd9d34a820b382431e5f167e8158f8fe3be54df67d5d7e318daf4a19b7db524bb99774cfab0189129db9e284fe324361a3f3c8d24cf6560a39b0f161b513b385a79fd2a1069afe048d0b407baca3f2a49998e547595cb17a4511b7b4c20657a3ccbe6dae8e8faa504a95e0c1d75c39ba98efe2f9ba99b9519c5de1d8684c54e51113a76ca92b85355409ede24b94dc0ae2ef4b14b8c1d72263d0c701d665cb85c7e25bc5acfcc310936155c0cd5c5071b2cd535f330be560270f7ae6a4ea37cddbbd0e5574a90f7246017dd0d94219bdbf895e024d2ac692920d845c984e37aad009f2294278fae645f23e7fe366708f6675514749b0b77f890eda947bef864d3ee0236c536a950cf171a47c57377385d2335512869f111bd373ab222bfec280cf4e070c545788339e01e411cf5e07bd6888a7e932c1846a4a7aa41dfb173148c73d79636cbb6c9003637af6c727ec0bd05c51c830ba2b1a6139fb6964e708a969e5d37f566cf9e427d1a49bae4d11a8b1481ca22cccaf642480a1561be123f5062f3a87f645e24b6bc34a8ecc189180f418aa92c0eb68265c13ed4edd8618352ae45ce6c47f3b521fbe1be1dd1a4a8deda522632b4f7081a82f831bb3d19447de2104f22db850b3bef23c76e0544fddaa3093c3bbb17a2c203379a87ea8ce139cf7bbd565fc8faadbec8d2dd6b4fb3408e8e5104854b1ba3437cd03eb924cc3a38f6ecd1b63f3ed86acdd2635ee2c0a9285c6707455871b88fd674b7d8f6da3f33a8c3409472a5645a02c3f2c15b1eba031266a1b5378203a8b503c2c943b5658cef0b6e78b998e5b263d404ba74a418dbee8c710b30969ecd2892c959671a97b847e3d305369464653fdbe1cbe0c6bae170a02fccb62e85694ed194c0ff4be69c63fd01472aa3a0c606ee0d28db8be87a0dff87bf313b85288df3e0fe3c32b39a312375ebb802b5f661f0cc1d8fb0b9d7593e7b3b7840c049a6b7d951eb5a40bdcdd7b3393deb11a6cdb19846ed060aac770a467127a9f53f6bdef809ef58630e9b6a94f0a97d072e046dcaa864e570ec159ddc25f59a8b13ab09d3a76e943049417852635e6ff49bf66c186760400ee2917e49e2b012bfa93411587affc78c6e7c0cb7b064b0b83a6138600bbb37ee7398d4bc7ccbf4964cfb6f428a7b59cf206ebe519b49b62814eb92339fc5fcff6d0205f455debb4596881eedbede47689b49e302f99300ff29d2305326d9e1b23cb7e3628246467dac980a623e0f7d3d2dffc9d01a18727d6bbec025f4e6058a287203034718fa89552ef5619c21ccc8cfb250d95c26039a0a1dbd5f57b4b15d4c7c598ceaa489746bb77cf0d62ed452b59974f9c358e552761f9ebefb767202e5028b3e36bcbc51cee26f142fbf7b67d094bfa50993a1158763c74d12eee4660afce12032528940a9cc982c34abe831a68f1c5ff68f6e00f436fbe478881e0f1ba5c33bf07532657b95ffb773d2986736d21afa2034c93ca23fdf45990b7c61409f2426c3a762d712ffe49cebd0b5a1d26d220bb8fa76d2b66ce834acd0706fdd3b2611a1e6a0492a580066d9c6a25ffad193acacea163596e7afc51093446e31988a2dcc7be3f0cd716fbfb9c14cd23d8db7f2c4982d957a69cb037630f258a69c99de39f5a6ebcba91cf8791936bf5c51d8f094ea5db31625042b783266b3811bdbc9aeeb20d89f08cf8774b381848bc9edb75069814ff429f5d907a0b04ad04fd79609c62ab94f4704298766060cf602aa97995157405c0d5507d98fd915e607d9060a6c8f71cab653e0293bb86cd6f4831a5ae5aae3306b514074581a0fc02cb40e00ff5c7aaa14063791b0c811e641062630388f7b15f82e604133e2981da3d0da8fb6945b4a29659232ede4042d05ee04215929be4e6ba572fe7bcb4fd1bfe96474ead04e5ab1195ac9bf835e7e0f88b0f1d6e7dc74ca79bbadbc1320adb13629c3f7aef58be87a2234811dae75d873eaa999d35f1e7399cf5c467b07860c456546a9e427942785467d526df9da61fab9e6fbee1de9d43b289feca47ca9944a26b24a2e178db658281a9590f84cfa44eafe8be9c5f482d2fec1d2c301ea3fc68f63c9342ac98d66b5dc258225271d91bbb8e9246e1828335026d1535bbb27e286c3dcddf527b5064196b7244bca8e0661e8f1db947e74bd6431ee2613dd458e4eb6126cc6f29adf4e28e972c5c51f7c40a1961c3a701c51e306cca54b29fdff470aca708c7494fdf8974349f171be9768f9407c55314942d5666ef2b342a964488ec23781711293b9c33c316c2aa61311a20d9419356ed0b72ebeadd9f4d4d6ee73eca8d93ae293db194f4e3c9e58ccf3321f63efaf72f29e19303eda4c86b3cdb8b80de6a71691acdd6448babc56dc35511a754aa9560eba742496588574ecf89afc7f7f7fdfffee2f616040da7b6c48d09e66fbbe8d0689e52fc235db412da9a3d56df497c75c4692a291d3bce6336e931f18aa941934c21a2cae72d1592a44d8a0ff14dfee3bca61181e87e12b5fb9e82b144903060a1130b818577391ac344bcd181e735a68459e5054b4e58f5ece78f0b9c14918181818f75611d7392dd0ff2f5e915f075ef099c175bde32944ec93d7344a74a90a5965c575c372e9c6d10307874307af9943871147fce6f1a9fbffffe98780afc48d4939ed1328a5750ab9e7dbc7c07b17e0b2ac93ab9ee56e62341fbbbbd7efaca05e1bfc0c98653b6aa7e03bdfea97a3534241048207a3696c896f4274a970055112504ad4af6edefeff9c738e6eb064f93854640d29e9674e7220c08439e5ab7e734e458d9b9cbd274f2589734f2675126886e6dc1d1b369bcd36412d684115a6cba48a26faf5daa5b54a51b6f2ffffddf7de6bebbd77a228b5f7e36eef6e7d77be938adf2011be2866ccc6f1ffffff383cc76286b32621a57755d679ba5f575e6677c9e13ee740e7b6d7b81aa54fddc5459bda959753f85d91d35a171e9fcb929308d3a67d26d303eca4e51a7ff061031143460f1d1941c462b1181031623ff8108bc562b1582c168bc562b158cca3799fd939980fc9061ab0497e6b605070044c6dbdf81f6fec535054ddf7564e12b7ce6d6f9d73ce69e9cbeff6acd5ab127ef0a580640339a493c05b0a117a21402cf09a1096059a3c9f4ee95155707e7b82cff9388ebb1a9fa58f334f1b5d5d442d1ef39714852e472f7da4fa4b25688e3336c70973777f19921f097a6c75f6d759bfd74a2b0d6512143a69c23e2393c94f9e7295fbca656ad8d2a80d65a14c895748f38fbbd78f19d6cad9343a9593a1299caab961669d2251d59acdfa40ea06b9777ff7ae64abdeb94f3a76c266384bf3f499acd99aa6999ae274e1dc6d468a7327427308b620f6b5d1e02694f4e4d6bdebadf7a240614a1492f513892e2f9739c152269594122557a613ea419f508be85e9999793d36facc9c25d6ed63adf2de7bc357f80a63923ba9589a5c414fcde438d8cb068bd499a330ead4dd27b5fe027b81bdc83e1f19dabbd3f17850507a009a9eb78e8239ea5583c6e88ab8e25bf7ac4fe33555533557aea97aa13c5fb7adf4ffff5d2fae979767c4b804321ca7ea1586a56ab2d75ace7a279de9bd586199a3fcdc402f974d8f4dea2f2f2f2ff9e46409301acebda0fca8e42714f77e1f98f7b8326202b2824ba95dcd78294fd5696fa6d33ae74ee7cbb22dbc625de1a16ccbca5e3426b32b1a95f15073a4b3dacd62b952ade78da6feccb4c8ceaead5d2b63b15cad562c51cb64123008dd2226348b14737006a195d3449eb23db3a8e15a94c1af98af178d51367c7e85e78926ec356395aa68cbca5a766669d7e6ae5a7df5cd1dc554455795aac860655a83748b16e9907631b1722bbbf2f84d845a6b5d4d2553c9346566c99461baf970684ccb6ce684517b6f97b3fe7c179641342ddd66dcf6c1769c79de0b932c91ef2559c6a0b1edbe033010b78d264d9dcede20d6fbd644fdd120ad33ebd3218de6abdd192caa89417fe84b3b16f9ccc76bd3e218518c286624b19627ab4d5e444df2ecc23cd187e6d320203944d3d1ad9cc1895d0b50d7175cde35b2e7d0c1a04e324ee489fe38ee41002d497ef0a152ee52dcfbde5aa24e635bdfa7d117dbcb42d3a2d76ad9676e5ec86d3d50a079a79d7976d3da98989818ac5b2417aee727f5230ba00e20e78f7f3c8b5f06bbad3b373469ae961db5376574fc5b7dc659a8a0adccd2aa6824346a0a6bed900d1619b115e42e8e9592923b5d3b764eb1a6396e63797db4d694f9ee6c8a6bd9cebce4a1b52ddbca2db1838301debd29ffe38323454ac503095be777123a8438a2c8267d2da65f779866a7391406763acfa99c02883081729b942b29a50e3ab8de978e05d01c18185ec4030f3416199414144cc39e4c01137c9e8b8fadd957b3c16f7ffef5bef6786a0827b5127666659cf7051cd31a2f260351b288c5ff5d5be091c3228761af59a6e0a13128cc935bd9f5aa956516f21b911113cfe68528961f5c824f7875c228caa99c8e67fa40eb0f9c67e942cd75548e9431586c74600104102c5cd8bbd3f17850503e386ab083084702d822dc0cc9506e501220cb9091134047f9bd0246d8eb051b47584a8a2cc5c596d3c9c9968b7ee6271445bc25b28005784368900ebdfbacb16ce15e6a06fdc93c4cdade1e0668162b7213268d8a69cb5698b26bb13680ab96d45b59aaf8dea5c4a73d2837fc1bfee0830f5c4420d95101220645460ff4278b5ae74d89d65a88049c76a7b3295980a6949b32fa3b85048a8fb69cf84d2609dcdd94cce0b40b64c0d14ab0688162daad7da0c86afd01aab55d6bbb5436553e8425b6a23fe441bf6208ee010f8880472520813a8e2335a93a90a0463a52580570cc008788bee4ae00f717d02c59c000069efb09aa492779c26bb799e7720f5aeb50552b33b5cf00cb0e3021a006f60e1cd06015526c6829db80b606b05144ce3187b882247389050b58ec685d0dfc36d8d91d8d068d169e0f50b1dbb0009ac07d57f3e1dd58020e1b7c2e428fe4f03a74a23fd9035a87e3d02c1fd02c5600c1872087267142049ae4a5769f1b81266962ee9d4940824962fae6d43a746c1112bc39af55d71f1314394e5ac71982c30600098595d0b16e17f339fe62ca9810495e4820020f18628603360d106140488a02128000141019417c9a0f1f7af03a314242a848489425b785f86db34346588c6c4242244986d224f221269aa5c5564bb7eacddd056e8d5375d4fb896a5d7b2d6a56d562ad56f9f16adfe285a64c96c5191d65b4b59ee8e79ca9e98f06e9906ed1a2178cd264ac9cc7eca2d7d6195a6ba533303330b77f4f23dd85069329745db656ca979c1ba1016240f910a44f31632234d1a44d76a4d7f68c7beede3de25385cc58e68c73e7b407eb453d767397b74bb7a69ee70d01038fe394524ab78ceaf83e10dcbbd3f1388ad7b8229552ad44cd6dddd1c262b29927937147b90f880abe44ddfd758b2c2ca164734ec96a8d3fb77c51c85b0275ee398395434436232c5a802ee69cb3b25800d0034923566db776f60917b69dad164609e99f7bab7780dc05c4775fcbf990f050fd71947dad8a0bdadaa3068e236a45628a3c3a161b9ddd461c6177d86aadc5d65a8b4fc4efbb5bea0fdc5c4981f082ecf3d101e7e2f88995ca12dea2c230eceed525aad4b8de5df75c6794522db15a674c44b5768c33f60e956960cc51a9f529a594528a223d2e7a440a4bd844af6a256a778d9972aec74065684d00dfd29db0790e06d0e04dcf60f11c481051e3c6113876c88e67f7ec346cf0687152153559afacf556db99788fed51a141c486e1c9b9c34680255ae70ebb6f3e0de2380e8fbd3d2af4c248795aa7e7f14e56dab5ca3451e940423a192b2819f81f733e6bc1effb4070ef1b23f3fcfdb60858d20979df21be379ea242e34164b0186c762bd5f9d25befbdaabb72d5b6b12f266557c6f677427b56c95152a6dc940aed35e288194de6c4a8862dfe50c8899013a29c3f68b20e949ca049fd281df0526ce79e20dfc94237d54e96c9de43d357c1ed41c1dfb7014b76a5fff4fff5db3b8bc1f7daeac916f5ba94cf31915badd76bb5ea217eed1ee4fbf8ffffadf9fdf12ea470c34001855a78d4ab33added51fd5fff25f9a503efaff17fd3dc53ea050cb5bbcffee7ffbdfe3b6f2dfedaffbff4d2813caa47a2b984c2610c86834329d46a3511833122191483d50312d12895412896ecbbd2df7d2139c800d3194c6c0ac4c6eb7985a4c2dc67603baebff96b55679fb7cac2cb53fadb4f6c3a378b9f282c5249560ad4f041af833ef9f2208348a469711be3a8fdc0e7758670bfa10698258daf04d9114e7ed4350688aa4ab65e6bf64fa506686f6ed343de99f445af1f932af98840581fa9fd1ac13e84c09000280c336e1e4a003fce84ba9ee97b62cbc176c5b0cd585da596dd40ba91d88a88ad4bad9df87dc21f7392c6cf8fcc37bbf0f04f7eebc67acb04d358998d492ed1662523fdaa4826ad581726981e2372b090a5b773b5b3bdad90ffb55f421354d5b4b684e1a9ab6dbe76e4658b4005dbc20b9d7cecc427c51d3c8a9c54e812e3648e97601b61879d135c2e86651e91ea11eb2216f7197514c96dc51395ce4243779ead60e7f38eaedb0e646bd1dfea8def5aa4dc92a29d5ce29ced09ca34a3fac21d72ad94e938492a9e48a9bb1606f72a548a2eb34e79cb4988449999c491a9d247c9a94ce7ce0f221da712f8bef7c9973ce2a7a11bd8c6aa517cfed190a1a4852b2b2003a43914fc2d081293576b8fb5ca8c565f432349d502a2476f0a0b676f8abb57346a7fc7cb81924767c3e73be8715ebf89526dbcaef99a916338b99c5c8c8f106575b8093f3a774002ce105c482524a9d6effff7f7958f511754ae9eac5f5fff27fed3f2c0616231b615c2e97cbe57ac510e08e6027946af59335facb631fbfa5372a39e97862b8b8388acd5de5416dee28d5d6eaeff568247dc4a5984614474badfc233a4d74fd345b58f41a71378b8d1a299514ae15131353857ceff781e0de9dceefead54ebcb96ab3c98777ad96bae66aadf5c9f0127314a594ce603e269389fbca6daaa54c81e72efdebc518db1ea18e26237fbd16d3dbb3a0e16e4d352b8b3b34e1332457e6f77084c5e65ab0d8a85aee75571193ed1d1a1485aa655af742a55ea89266852acdcc882ceb5dddc2b644ada9b66cc90c2a54abd51a431fb8552c356fa4f2441ea9549b599a95b1359bc5122d8fae16ccbeeabfe86b85c6feeffd3e10dcbbf331410c6a50431ad4601a022e01c1bbe92cce55d3cefb9754ffd6dff7730033d9e3f1783cddb7e93a87d15d3902f30184cfae92987df70d32f8f4193e62404bc319be6b45273ea1f551215be009b55676c29648e8ba287c4251e028c832139aeb1a7546a0c1c7082df0546bd06118be9616b413c42a5c0b486164818c8a3004cf0250105f885ff83e282cf18d08019bbeeb83237c1606075f26dddbf7a36e8aaf8bc1c7e8fb687dac169a60f35861062c4889842d92920d21df6c084ee8e1fbbe2fc21554e0961a48c109164cb624f10106d1438924cc52b0591052323e3321bcc0c50cacb5dbf776bfdc5f2bed248285a5a8b25b8900caea9d0317f4c5e9c9e1431ade8a0474c15a6b6d0cd911a94939472943331633207c7674344a58054814337cd684ebbe9017fe30fb9aac64a93d8795398b88c274265afa0ad50503153098f076abbdbc3cb7e308237438c7e5e0eecd36236bb54a9a784269140e43544a95bb0f4febacf387d7e1b014620fe558dd519e3a396a9a4295b832b9f451ada3fc686e10c29f3ed12bb9f313cc09e6049392335582809ecedda69f867a1c9db5d4ded41faf35547fd5e66e7c1d215da811d2459276e4784e47bdf79b734e1c40f8b819d65a6bad7591bd7eff4a9d2975b1eef643f38184886cf4c5177bcaaddb6dddfaf51bc232244353355552ca906c09bdc143a3d03f4c08139a50a4cd8b196a85e3ce98eddf61b27f90f6386c134e0e270218806fc7d725cd7984ba9cbb10e76efeb9f17083b628975fbff6e5f67283015d8c6fcbc5718e320b8bcda6e54cd877be9bf89a8444213361e132120ab9d0520a5247bf96a7eb179824199266384bb9f3dc91689dbb171cbeb25465786fe85e9d5d3a1bbaa1952bb29ed70eb0030f9e1e7cf82186cb499a94148ec251b562a95ad29492a24b25b25a15f499b345446952c06ca3ec615c605c6048eea2b7c0ddf17850ac3cbda5b9f63e341e9451f3628e1fe871b6e6ecc083a7071f7e8801440c7d278d9b30b0baf054f0ed2e0ed1a6aa65aa425d6772e343fbc8a45cef779deffdcdc272fb447164f9cafdffc71dc6b597da8b6dce11dbd0ff809631dd31e8e645c6098bfd6631b209992136b721e30b263acb5d3ebac03ce633a779cd67a6c95bfe7299cbb80de76e43c2b91399239cbb10179c3b10fc5dfddcdd761c7dbcafd19dce91aa622ad91cd13c2413ce983e0ffa7fd4874ea8946af52e2369b22667a48d92b896577578b626dd1bf09ba1407b82e6147da67676ef6c2643b388874890595f1356edc55dd6559c7377e6165f433faa67f5cdb81bedb62780c234ffadccf7896c7c8bb8efcfbf3a7518c1d176549d3f3c99355a53f5d7eb3fdfab574adfef7736afad1d3c815d9d73d439a1185760a0cc1857e7bf5705a3821137a594524a2fedb2f63e345db5287f7197b5f7a191f492702894fbffff972d72040a2a664ca0427de256c3060c04f7ee743c1e1414f194ea347e7922459ef5a20a0ae9f3018537842fc61c4a0aca94133551189b7ce8231ff41f3b2d0e6b4fa7d7dc586239b38b9c734a17172badb55642d14283d65a8b3f403413e45e79459424a2234a4dfe5da4d0d595fee5947af7721cc72b4f74c4c9d6885eca5df9a72ba5bca753eabff17bd86fa8d4a10d14148fa7d3d91bfc5ab7ee6bd7e0366a74a14e676f4f8c79fab831aa3cfce3a1a9d281e4fa057b52f8f9d0c77e2ccdd19b9e16b9137567ca4ed425bdfd307cd2a3509f7a958daf1a1b4c2c9342cca008c9d6bf68476d48adb5340c4d159c54ab644a4a14ad78d61a1a91f3af87d9a2eea8244dde8b0328281a7396001010874342611826318c524c314b39c44108842097c84b06a258284f511446511043014611a30c61c01803868866c80106393659898d1447cfa2d4ddcc2e35e94634f5b1499df216890ea159b835a0fa1b1e46658f87ee072cbe83a99efe2a552a16acb26f845d08747fd4b54acd571a4d69f63b466b1edbf8c073b6eb16a13daa2dcafd86be6127877985ce1ca97bdb5fbb86bde46efdd6c762d32ce1bf29f3fb014722ee969c032d409a991d3816e7ad2364698b4bcaf5cd4174b1c7ecaaa065f32198cfe672f00c9fe8542df5c356c413b3eac02773dc95f53a91912f7129708c9d2e491fd6efcac676761f849f0f557afc7cee9efc7c56617e3e3af15ac7b19d9c0bf41592d0f73697e9468a7f9b25e81bee9793f8fcca1cc6e8d9dac5725f177730abaeadb5edeae09273e9471e1cca76130b7b8ab15713ef64cbb719ff502c7c19ed1e8adec1f3add6b300093a9bb5703330d38897fddfeabb7b8b050c32a8a1a8c02efa9369fecbbfaf66aeb34f38c078a7428b44deee8baa432094d267c7c6adc4fcca30f48a6432236d085350c54cae36fb190e4a4ab38c3b3d5ac817ab7436129289edba960a151d40af3d6f612f3dfd4505805b8bcea0887512b206db21105403a0f5fd156cfbb119f7b382b56ff86714d45823a6206bb2858a477b08ef040b8d417611f1bad2d9f7a5ae75038ce69b6cc34950d12b724b59c398f343d16a26761584fc60e69b8fe47c53917cd78719c9d2d01cf19c11f119bb714463eb99a7d828b615b93168b44c7cdc84575486d88d56d74bf5b6ea98cb06c82e2cc89e6d23154aca87e456f3ed7856499039c0440efa09f621992b013564da715ecf4cf5624557746e313eb6b3921719ae3f3fd43c692971a877e78192f608dde7aa21202a5faf55f4a1f74ef776e8eef4d21add2d898a96dc6a04feb0033116b0a80ee56157a0883f0f962c9228c4ae07d362710acf94b587814eaaa391ab4de54817e92d28759eae2dee0a4336eed1941113fb211504176d55e85231fc94b10367df9066dc7e1b0ea917fb3c5fbe52aeb643e1867839e5df641a7b0fa3ca64d659fcf1628559eb9281a3f27eafb900d1518d289a8c299b831929aa43c1edaa063eb132af501a4735ac7b3548e382e135c3dac6d32212219bf885699936c87e520d261c687c30d790a3be19a02d04737374d515ddfbaaaccfdde7bf914e13f314c5be507fe16e91b87ee55195446cb3b79cade9c3d61867e7cc63a8442e684c96d7615f1be92af5a36d3fecdfad01a076f4419f582928efe96e59dafd910a403951461ce24b0bf5f5c07172580ecca81eafd027dd574caf2a0b7483174eb65b3190ae17c9a78808d4473b3a490f1b7bd8a906b6de46ccdd90cfb3251d005396969e1aa3ce0512f1985cb98ed39946bcba8b0ead46d64889056ae795eef4c4905d50942f8e2f5609b96e7136a207d0b651bc6ef8cffa03e498f4ab3814f3a159447a40fa61054737bb7f54a1ded6accb49af2221d25aa695e87260a7ea1aa8ac40f18931764e011c011e74c755a4f88cd3642c187a31f126ccf4de963273cf48cd72ecd783b11b72e8844c58b87a2796b527160c276bd6ffd62d20d015897218351741ae0bde62df6cc0877a0bfe0606ab81d1995153f3900b89e1473a7eb78499d5e52b1bd1d22012e5941d0a0454ed192c8fbbbad80fc582f92a9110fa702bca1c959d394178cce74676bba690b13244fb6e8a9d632631c57b1e4ffad6c886280e58e7a772a1a51c074c4290da44ff898972b4b0493b5bd20f25c572c7a63be6d5a246964c4771ce0105bcdb6a22a744d831dbf15ad18a7570dbfd5fd65be17ed945590e8a402034cc5d7adbc21c45286e57ba4836a2d22dada89a0ddcb8b725e9364dcecf29821f33162d98fda52ff14418bb832e8f426fee5126a6b889b12d95bd34414be03a2fb3bd1c39cb320f17a159baefc3ecf6779275c0d1225c0970eb8dfc0e6584691fc9050eaf7108cf0dc56db11bc0b11d3dd956ec67b13805c5755184c99dbc730fecfc5843a6151b4526471049362264f541d6a09651c8da12591183661353d8a25080b1c8474b5261a3ca45f78a97cea8b10509b6b0dcbb1871b98bd147b68950684ee122f763a9423369fe412ecc17e08a6656fcf4bc984ec0c393b5c3a8a86a5fa16cf9fa79e8eb56a1e87676af30735ab15baf7f781370479a75c8e506ac36f2326e0d6d08720eb6504acc546e6575ddc144af4500e562f4ec8cda95a9db9532b92ba87657c2d7bb52ca938a614472b7cdec85daacb9e38f4c5949af1beb58899f2b058f1e554c8382e35a42f81af5aca2b06c9626e98a342fe8d664ce187ed44c590965d691c3834e21be90cce3cfd6ac3b2c5ccf0d63b07993df96d9107b6b96e0230eaebff2a6161ecf51c2ee949d60958fce89ae512a8ca51d98d53d0dbe05d10b71a9de6667789f1479e4c99149326c27b2f23c77e9e5710ae64bb407a3a64d186f61537b6e06d967824a8c5a5b640edf3daa474ca0ec7ff156eefa9f3586958de877233da7792e8d6344a5e6dbacbe296af53d60840855d31b3c5355814a941cf992e5cab152fd2745cbac0e2eb1b2989b1bdb9d10b38f8cee98ea3f73441656644d2c5842652cc9e409a159f0a4e641725d5f15cbf3fffdbc389964c7d2303ca0277426a308ca880217054377e4e93480190ebe60914370688eed4fde8cc0542e475d4c748fb419078d7be59195772e4a9d7d89efc3fce23b78bb1b2470daf62dcd0504335dd554b1a802b8901b4201a2ea853d19553072cf07d84d0ad09eda947e893775149ad053a0aa3887ee644aa78855661630ec91ca0985c7a1e6da115e595d45a1bed80f2f2ea27295e8dae249a76e86cf9fbebe331765e5d781a971c4c90dacc38e55360b3b001fb49d8be0297977a3cb51c77e86ec945e35a7f294494ad368982f94db58ada16cec917c0af334b8263bad02983fafb01bf67af0765ed5bdc19360743b551438d8a1c848a4ae0f654ac6ab057bcbe44b45fba1291a0705b922c9540e040dc6387ffc586bb7ac7cc69bd2669921f2b8b456a5da35ef430cbec6164b7530dcf4976d5116da0cb30d1d3a88ccfced4d80c3757ff6e1e7bec7cc7e7e5a806bfcd4a8a60f6f2877b172b290e3fbdad3a3b8a2b0df352897c805620643ccb48ffeceaefa4177148103b4abd4feb15241bd0535da8507cd3b96bc5b63cc0b344b07011238bc55f6fcbf63105b17de6ced4a85151102956a0f9ae00a202fdf9e127e79ce4884382930022f84894556c1282e3d1ff0eec50bef5ee0ad03d92cbfc50a60e6816d9798a39824056d6ba0d7481122c54c5f79b30c315f27521c469da091ad590310859a5c1c839a870ed4c59cefdf203c1c232ba298b391aac4a901bbbc99d3fe9023a8ce2397072be706577ed600bc51af77034010e3a29ecc92a0ca499fc120fd61a09df9339e81ac880dca5e6b0118ebc911f2195d0536eb103a07c016d1f4ce0ab835b70ee478fd7219ee27c4d6569c10ac0f96e4d67887cc6a2c128dc1a437398f3db2561b33355e66a92380e34440dc9386154c382a47aa1f986712851468dbe79b5a8887f7af7677dd59f9a50185a44e75463ee5a421239b0faa510c5381ccce8b6c72804cf8c63684a49bfa075411a30edb34d4ee92fddc02f980e4395b4495f251f37795a94d3cf0ee9d776f5e98d799ac99f5675ebbe95246c7c2421d388dc53d12e79dc5af39dd6aa08244fce30cdf0f5f614bae243a2608fa2f470e883a8ac99564d49cc2544b8b76815eaea5db6e700e4aa35e467b45b0115910f033e61b04cd744fb9e50958290444019902a0b2791247d52326e7cca6ab3052c1e0dcaa9e02d8a5ff8c2bdb37a5c0a64f32a013743f0181ea525a035f7930a8634f11a46233a562a919bbdf241fd6bc2c53ef9224a1bc91f487f13cc5ecb8a572565e525c38210506f0f9813b03f5ec6a89acf53c5538716780f5cdf0894b2bdbe2937310fa8b172d73ef7d38f0e027fcc8c4fc3b1ebaa840852f85c21c92093e224bd6dd3b170b258ee65663e709cb4049397e56cca928c066a4a831f317d942e99a44d95ced8386522446a9b1368921c9305064f03ab97f68950068720a878916f9537ed33dbee7a09024582956a4a48026fa3b0648b7a22d8ed7726435ab5335b1310fa8bd3ac44d09653200604f1f963883137fc8dc5f52b312fd98476933b725a13d3b375f5ff83c8f503519051ffa9995e729a8a330453b6f146106c0248b3e86d622ae911f5c71366ddfdf176dd51418236dbc41dde76376809d6c1f5b603cd5f93526d801e0a580972fa2c9bc8f984cc9d24180d5fae3d8b76f8d9bbbc1aada0692909fd70d840bc0e24381046b1e7dd3a48338a7a12184cc557d48caa0e759508f31cbba6f69a4a3f142698ab650f62916d528daf836c4f85646e831f5eb34422dc5293c9a02b7e39a0c002f11b2a4e2073445b1897c7211d1397b53e5545b3fba4a31be382b2c38f3cfe0b033a874748a006460c3ec961ec68e6dd18ca7b5a29d2ed4687ce46005e13d5e849611d9c1d55d734a7a0b452bfd7c992dccb7dc578e6c5dd157ed6918d9e8bcc2d02adf3b012ad8225c29c0ce4259dfeaca631fa1586f71edb178906063aded8ccc3c8d96a0bae74575f5d7552e2ec5e9a5946252bb270fce6e0331466c10740a3bd2a61e2f2fb52d11d2010f7c5ce4b7be6018b290161e734688e954c5806b02ad1735ec1ace67cd2db3e3619d5b057b4028342e92ae8359735af24bb5b9049bfde0c5fe0d3fe19746b787f85b7e6a49b2a2d500cb793b30e30a836cf1ac8cecd997c995e424eabc822d0b68597e3fbd6622bb1ed7bb1a4b36e3d061e516f716b5432adabf63018b91e3d0c0a89a2d32718749bdab221d03060d526f668925b41ef84bd713d001fc63a099b0104de9b51b96e95e04ce66c6d7357b962d081adb9b68cdadae451e15a700af598eafc19eb2045bb04d3a0c5a58f378debece9198b68d2d3b7563a1a52c3592b7c71de1b3e1ad758e20189d41b52c71e0bade906f63d8c065221b1fa060894234e8b86a4152b2bc471200e4d1ce959a1e9a027e3b3c2c1ae5cc0a01adedf02dc4f37205a807c9b459a9a8b2e6ce74bfe189072922d803afe5ad38d4f78c6321c6de5417886f30ac19ed6bebd2429de0d58b37f36e6e146069160a2e5e1e896d1c0e22c6f18ab162cf8e8d303c6fd3025118bfc65eccbaf2040a7cf01b4331b2dbe266c3cda2f3859d55b811e76a392ae9b467820ea344b7225824ab6c87267a45e03d9720d3bdf212c45e1d23f7d242bd772838df803734b70d3e2aa8221bedb17c39d33c957087e309eb0c6ff267ec962dfc5e5bcb22720c966ec6a3727cc57d63b425cf9df5b2b4a8928c375f149476c4a808b0c5496715a7c1984abb5696e2dca052e1a25cc00d15e0dd81050a589ccf089d5c25b0dc95c7454c122aaa8441f7bdea84fa4fc35b9284ddcfe21320a1819925f662ddf18e171e92391279d84b8c9363f46ba4564f3a454a19c14102ce3b8f7ff5b636b2289194a9e040f5927e2e46cd6cca21560fd91ced97d2edef7149e130ed355242466f86dd1112524eef30003d57521eec1481ff39cdf427d614c520f3d3a8bbc04828539679174dd04cf25367a67fceb12ef133c92494f18d75bee4c83fa42a1bbd9f8155f6a0e9f80798a12fe733eb757c277a680358922b9e8624b0a63dfc2816de703937ae45e4e0999e87f8981a00486825227bcfe09e5a6ed34e96e336b23786327c6c0aa3e90a683c10528e7e1595e5a8ff4dbbf3c3a2dd34fcaaf265a58621ec8beac8813d3ae66ece300159222f4fbe774a6ed510021c4c3644a4d1dad9d3bbbd47b654f08c0f3c9e07364f4f45b29eef112dc7bb733265b5b4c61b04ff87054d6a0dd5511f7f189c351c67ff70ef1723f9a9b151ea6aa9d20c60e56051e4b3329b35ebde88a9f79b19417546f52e83712ca1072c9d475cef7a87a444435bd47dacd5c6db03807c57441838d79d1568c8f7c7f48d819d32b537a89db5746c07a6f39df55910232d4e73d93fd60453731b546d4801e7af085aad38849e7b9a1e1a4344a64c0c6ac37f644547171bdf0466a33ecc9210cce218bbc21fa6c68498578faa310b1678e5648ae4e0e2208614654a6db0e8a77cb9bd5b7f9212fa4f000b9e43212e55a48546a00261c3cbc1dfbcea877b6327145a37ce5b52b23e8b12f9ff3275e84159caa7a840d4400991702547ecf1d142bf64524863f4e85559e8099def953f23e75b302fc0a2d3812d32c450d08d956816373ebb1cbd5c0429b216698c184f312f7c2d05d3e6769374178908b2ebfa37599c4832a468fbff2e9ea4ea85a1c00dd7a9863934e94aee7520198a9eaea544560bd98c751ee34fde839408ef39ab3e61735e6f67415b5317083f216b819ccd315bd65b32075b4de9204a11de888454a6c1fae11930a36789c09dda538708c53655916dae2dc31566f61726161b905b4f9f44b248d57aa4eeb64c490ff26260c8f1a2e21364f6f907434953866bc8e04a4b544b3c5f0fe20b8d19c3438ac2f5921c5a143dcea4a89d7536eaaa8a75dc23c6fbd79e6184549992847ca2d8bb9f2da6ea414120e3487be997e2e50d9468030db893a43bb9636902a095778d19199ab33ac2ec23af10ae36f31b8899a2b1888639023a9d0626dcd3f9dccc846a61fcc514360b6f00cd6e0515be1d2cdfa14507723b6ddfc1c51d520b2fa112d5f66ab145fbe5fb3702b50375beb6d66e5b5eb1e5d982ccaec7094787b8bf42445f8bb7d63d74cd1961db00b54d9ae4307f043a867ecee81434b10919b3fb7b497deb041466fe04aac8c5c86363e166277734818d36ad0d3d52478e7d9d586ce50e0e53721a216f01a3c0b4e121083a69e6206a455fe0bc74cfba56303e81d21f7cda6ff901b37b9d6f1b9c7bfde21c3d2485abb0f6e8553df71e7ffbeba61d99254d20ef2d4122238c7ac0188ea350932dad7e26a5605462efb2630c1935eb904316b2d9cdb00a10d378fb581afeeb8f594819a3a573d17cd5b513604749a454e2923a41226db2ae8fa2c5d4dcc0bb266f4061e36d799033f227e4bc51c9dd7a01e7dba03b74020585340c1a134ccc76957c6b7ed53c109e9ade18419837d72eb1e7faecbc168f32b22c49ad3311345148932eafbcb694ea5eb1d020f057aa85c0c0878dc0933c8e978d395a5008c10d914155b59e3d59c0edfb22b3b423a0c7ba08cbbd462ae2d2974b0a34fbc5c1403919a71235a92aa4460749e6675b9a170ead5be13c1e40ee78e82ca7045e8b084acce6ae5821f3c05f1740175fc43efb9a46ef2a6a1a0f57c5a7348bd1c4d142801d5d67ca8b522578b8f85493736701cb6edd1b302d2f0ebcdde3c1e89d333521a5ba6caf0bc65059fcc94b4f2bc72ae4724853c75e12808886a163ceff91e0a9f6a438b9219949d66a6154491903a3ccef371bfff06947e9bef3c74f3de29fbb325c6a07cad6c5c8c7e8b198ee31fd1fbba098bc4855808eb2c21feb9d38184a060661e2a7092161e8a96ad6802e54ee9b664ec6bd9a7b18b319d22988b2344c3a2820b212589c42fd7d1840984ce52e2c5894991514a9c75ea104bd21b650f2407adc21cdae1391ec8cccc8534fc94197df5d0aca50e77adfd158349f14a15ba5df20aa38813b9935fe0894c9d97af6906f63e4781f2799a56459de0e1fae91cca28436d8ac701716d76b4b770e789c099c44c393b03390ba96a16647cf95e77fb7c6bceecacceb2e32ee5c40e5890c7f3fcfdb7b3cad80cdeb3e4fb58509ce2beece65e71527930bd1f31ab22cf7f3eaf9bbc9e25628f9977ab4bf2e3d111d8ffc21ca256dd1eb752c9d7dacb001ab95b257bf2709905199769e751968b4e3d141850739694723c43b5a1c7e009158edf8bd7a3a691a867a25b0fd7b23d6418ac8882c9d2b19ef269fc8726948c535d0ae3a439ac68446355fc3c781c06b06b4b20ea24fbf3c9c7317e7f2372cfa64290f5dece8c0a33a058f67754d52909d6882572397fe6387462091c1d2fd1f5f98905414fe4e849b3ffb9993e3a833c77e753602b2131b448c220891602dbcefc8becd2745b9797c307d64c0bdd4cc999d685ab456c61693aa953a16d50da9ac497b0ac2a892cac0573fd66e5e43e0d80c78406566ab9a3ee1ac798962cf75092b79b79dd35e735f1f77f1807309aec65ffd55ac47c00ff0c05e2dfc9dc0b361872968b8b30db598a8495ac9c4317dab658c93192c49ab4751864fd9d6c42254b875f88d3b6b3a3a2bac9222dc1e614224fc02e1573e5a2e92986a05a8dd51e2e8e621d0c8ef4863b34c6dcdfee0caffb4bf0e43934d181fbbb34d577e876c747a3ce20d6bdb7590b366dd16c4fe8408c64d8de78ac0c69076cac0433b0ae08e6c44e42da589dc0b0f9e11a40d568d81fba1fcfb35897bd136057ec57efe46d7fcdd996162581a057e0737e59724b0633d26058269fd8c246490fc60bc20c02e0afa30c09fc03062d3e0c58661d15dfbfc12c74a859b6a0951704bf71fc61973d50d6c0c8f644c1b3d0908028d18067b122d0fd7dac3372d569c229f904da5aadbab22f008d4d6ccb300226964a5e8b55be5090a65f55217812e15cf7fa5177ddc0ca84a56c39af6685b5c5965970cb2aba56e182729441049ef31a452290baf81c20cd628332412618598d480334bf4c20d097e47b225bfba426182d3404d5451dead6eb7428849a9e355b1ca8ec38984eb2a75ad7809072e51e4af213936d22d509803aecfd0c0ec22b01ee2cc11aa260c682c1383e9bad93c8932a051e423171240e1fa8221b25abd987450a20d762b4784477d461f519405c5229a62231d85c3137e3a6adb232d6a3fe125b2e94a5e88cc2fbc3d28f2f1e039d71a70e73723cf4351b73b199e2595dd5a9e7c8d0028973f93e6b78be8fb1840c542c4220309efe28f0ce81a35a924003c08c4775838ce432b41c6f60c0713cbec254ef3b7c1b9dbc64e470efecfec926403b1abe77e44bb0c132b1d88d16be52412b45d297d74d6fa1050d9b1a5f44e4832822f24c430d21eb11254968782a4120c1a7967028a33c0876b03aabf74457c5d583e22f356054166f4e5338eb742e5e1142c9d2176759f2fbabe32c0dbef33467a09cb4aa932671b3689c000265c227972436d877e2b91ce144a45e15a5f655266efa7cd309ea185f949fad5495ec0add12bca61034b4696b833ab187b618a05530f06df9cb639432f86c5b2a0d9f714c9ab6072b29756f27f1e7946604f3d5711480c3c9ebca3203881a0f75770da54bcbc1ceaac6f4708d74fdca3986016c4c41232468a987a7c71eabc9d1c91961b67a1244ef225571f17d9f58ca75b7333ff302356977cc28c977c0aa542f5fee34dcacd7851237633be0e9ea93025f5a9f32635f414886e1985f97d2d6b672351c602e980690faa8a1dbc876ff9f871c09d49552555b1265f915e5ae35f3a7cc6e6dd269f5b12bc8a1b84e61698287fee1d974144afb8212929740b0a3e5c979fc7d08b39317ba55bbd2e6d9ef08fb705852ab7e5a393fe25b158376475da0de47ff2940665d7e237d952b8721d2671d38a52c527263da8e89d41678b41dd31aa21a7bd1a5decc558ac27c28abdd2a32b3bab5ba74c71e29bc89981be72026133e7c61d1678200c100c35e464587449dc810d68837e9916f4dec58f4764807f3769940ce6507e175a38d5e2c79dbdd31f573a148d19cd4ba09215a6d122da36e58d06ab40a58ddb01cf840f0074e4280bdf69fb5fee60c0df46d8c55e13a4f70443ccdf048372d09b769ad46e7d8790d558f913b4271657e51375f7b64251121bd6222182607fa092d46eb979b45818dce5dcb06f7aec45a5d26910f9c1bb941bfeedb9ab61492b4a10ba66739b95ec608485bdf6337613b51613fd943ea5b32d69e8cb482299f4f44902ab244495a927388788e0c200b62dfc647d429893362b25e72d97024824697cbf0835a9f4634ae0dd4d1c04bfb6c971f9e0774b763a9210a0fd1d229d5746f59a4b969ba4f94b112fb28117b9fc33226c53a5942b8c05efe45e77748a000056064ef32ccf3ea23c8b315f50c3c2fbb39a010e98e0570e98e52a62f467bf21c1ff769b118b4303fd8e6d0f7430670d6570baae1bbf1e16e2db6d0efe639fca5b92bd01739cd5918ae4274b8e0cf226736a71e228fec9491b188c7b9f2cbb8cf8275c08189b7ad406154658a6663ba7f43f21b81b0a2ebccde9389fc2a293e5280c91fc5e71390d728c16396dd3682dd6d43530919dae9e1d8a0bc6914323eeb95533992057f0790d64998496072a25bed96985beae90b6a1bcbd6223ddbfda3ab04d53e55a7151263fcf5e3e2e97febc39d4d12d82087354e51726346ee38816244e60e78d67cad3c425769de0625f428fd97dd89760102f0d4187e37ddba10cdebeb00550f1531a3a8f763538a78cf32537a6ae6806b35f85824703d4700daa4510a1142625de6d759561e636307390d3b3255873f3c74f7c6cd4e3565965d6d87387f3db9b27fb8d79c485d7fb0747dddb3b51d770c03e27acdbda2e0ea773d1395382359421701aa1c9c581055969a607923f535475d0221c84b66dc3cf76a33a4ab18b52c211cf26a2f3db64ac689142b0c2c4880a7d8c084d942e5bbd2aa0ec767a428590d83809ffac1cdd3b5c580bf823bb9e7bd8edb8b5b68dc0ab2b04cb1d8b4a9b0e55e862009a09c8b26f813fffbc5daa3a38c21b66f0c790279ed7dee93e2eea2eb259857310da3f4821202dd69df01c6c78f6253f875f8c02f326d55e0709cc1d7e506ced6a94df89c996b9919696a08a2a81a083c2a9f011df711aba4f2023106ac8863127521e9b763c91b657ed907e5e6330410ce020eef91918a7d08242227a36091901caa6b7ff51bef02e038692d7971aae363a605ae0d4d88f9e4d8ac404a99130c1963f106cd90f03167d2a7ee2a518460f3e54d382c5848905b2212f55225f46ddb2ae6bb2ff82159dfce3a8ca68d2c2ac0ce6128e352acfafc6d340ff58c5c81c6a1b0c2612dfcc63233bf6cbf2a8d46030117888e2ade0709086b7c089e1791590c154a51b73ab96407784bb9f915715e0d51277900158ac3548d223022d76491f1058e18841c0201cb7bcceb06571949e32ca836207aafe9606e6039301870f0f5f49cbce101c441498d7b391aa48b1236d2a31b026b468a39009c82030852886a262b681e311a8cdc5246eaad7bd1f55c8fc8872486657d9a49f8aea0a32619fd3bd95c635d47ed8027f412c7383185f053b27863622943afd6d5c3907e8fae44132ae75e57cfa7457f942ba4b6240b43d67e30cb8270266e9dd19171c0710ab98db786c73e022995e395088de17aed8b14c88c40aeaaa9f3666810e2a3b4eb4e0d4ada65714025d7d20b48734eba89654a5080708c18ab5bab0138fa523f2e2ac8b6e86fb62423154992c869de8d9af6fbd3a5681101b705d05ca9089dff99054b12408dfc05075dccc8650ade52b08b7223fff0a0f5b56e2b013f53727ba1bd00189b95ea5af01f13035bda2f96094f1f8f265084ded04266abbfe6868a79f76b1c23087e2554706859beceba553fee498d112d965f4eb4686acf909aacdad1504658ed572a8c23017e0bbaed15a7768ce41ab7c6292db3a4ae1cb45b5494853e807a7e1c29959227e1a96badd1f3b4693b64cb1d6b6463dd4b9577c9ef4aed9ab47d84283fd0920287854628d2b15435c927d383c2b2cb3e676766e78202fd677d950c86fa55f654c169a186500cb0e8a8e36a15ba653836204bfc2a539367e3d881b5c37b496db8a10fdc06e8640413f6008dd70e4b4fb83e1d63d0850e901f3f654e0634e4de90d8d5b0d7cec627d2180872e52511cd27983deba8115f390e3df0a01177fb89e516f041c77b9f027e7340ddf2e6fbfb711bde145aed2d183abdccb27be44879e746e968c1c31987be737f508c609937ac3bb329774be0220b4e0b62b174d2db8e61dc7e170b80c24bd41ff14e4f7ae5cb99995e3f0dc791cdeac3e70cd7df50e2d735ceae087f6cad676090562a38f31724340ace1b84fc2472b5d69327e88da069f0e48dfb0af5e3579c1be5624437a922eece28243dbfc47f7554f56652c8cf01fce9592255313981cfd1df148ae8b5bf60d92f7987dc9fb420d7e6c9feb4e1a8dedc269e27f7d4ad629b81cf61298bcd8b1402ccb67bf724471180a0215763d902fce09ef8ae167cf047e09a64c64ea955a3ac127dad9455721307986f0be760882073a817b08b5547bae9d7f317f5349aed610a4681081d1dda754d68083554b96ab8016dc445fa860d9ca82d7ebae8a6cc0771fc1f425fbc6ee62bf93a1535efa3e713fea84ec1da581a04157cdb40cb093287f5ce471f612dd3aaef4fc0286468dc6be6c589c99fc1317d2e8252afb176f1522f7a4816cb0d9795b6736b2366251e6499064cc55ab97333fd988f6f7e44cb7f8f4ff990bee4d3ae5b82262e86b2f9e1bbb17fbdb67ed351a047b90b42a79c331f3dcc6ed418273766bc2809939620be9fc0dc930289acfa0dd04c0d65c33ff6f7d160ee91c4ac541c6c990ae486c44be2a38c02123987d15e0f059ffaa6c75255bd2003df8989eab90a3112a6ef78d7ae1b77efc9e2ff100a0de3d8da13e8642661054c530e29d14ef4f7f9c16a46bf3b44ba20c51d04bc308b49117a15e1e998f9e7d55edf7740c5c03093de0f5f67312a6cf46c334dcf76a91a439ddfd04e0e713e89ae5f703cb9b8cdcd110d40086b3597d95e459880c78cfa9baeba24787faa8be292f382759ea06d4f4e60e6d4cc2695b2825aa1f87d7ccd7c10200e4361258479850c62b53bbee807ad576324bbeea2ab96bb08d48bf49d7b88b43532fb6876d0c90c3c8a39401d549e7b5709433c78f559363ef98823131894b134a5d593d6cb4221c15b3f796014082121f196b105521060e849b27804b50ad1e7e0611c7e0d849f06852ab666740b0bb850f023c5f775f13e846d2a0e189fc34e4ae758894548d22e1f975257925746a8d38a1aaed61fe56c22357bbfc055c515ddedf99a5a74974cdd849b93660c510ed458be5d44519a30f84417b3b60ee2b12ba252aa45f62b4898561efaba054ccf78a179a9430134084f8c5a33bd38c496a9f5d2255b3956269e07c1bf4dca66c437fbad58602681d8faf20592226bed9290183b02d7030125a4011a99737b4dfc17c09ef273b3ac6baa567cd8b5908c0cf5faabeba78d004aa057adff2ac8045beab296fe32c893a99f7eb90d45c483b9fb9b875d9616568757c8869eac4de1ffae69000a0c742504f07247d5750ca0532519664db740ffb22cc75024af440bc31f1393e8c4cde0ef180fe60db8ebb695977b44239f1a3b872c49ef9eabebc80871ab5e70ee3c06b9d737734862653bdb09ccc36c3014c7caf8c567e2a3403fd92c7a093d2d336a403c251de6440274d949dc831687599e87ce9f9209cd6388815c8b7c2be097aae8ebe00c78c04c0bf1a415caee2b45a7cd6d2cb429916e8a7806193c9db80ddc1388da3bd7cc670f20062af3cc567626daa90d4f078bb8ff2aadbabe9349c1e31d30c283846ca15202c0288f300ceae166388cf568f42bbcd613deafd75ef4823ca449dde015f308b07bbe68b60b9600b23208a34239a0abcbb5d8a1232ac9a591a78dd31420287c1dba718f8704c50da2e3f9c528222a7267cbe6407f8ab63e70691b8b2ae701023c2800de0714afe9a1a36e94ccd5a3ce23c846f2402dbcd96137208386c7826a402db30c3035528c6b985e22911fbc6e9b3bd23fc50c255e6f8b739963cd3a9dc2773d13851592c302d9824d6146dde911059cb05ef7f42a1c82cede6db8d0a3b5718a603c59595950d53e0fddbf4ee882851338c5533d4643c86ae7714a3e7106aa2468376f4d0d89e5658395bcfdc94d2ad740466919fba2f226de9811ee7509be72cb3cb8f3d80441ec0b6d211ee20fe61cf87540326fe30560103ac3f3988cf7ddf222e18e8b67ce9248d7fc29dd1166aed5843210a646822e6c0eef15c07637c9f35ad037a268f3bf08d344f2a4fe2ddb204988f926dd1e9753da403feb6ebde9dd3ed703a8503cb5f0d235f60feff243bc2c04d2f2c33bca921087f0ee5e3fe619e75946f052e199a1d5eff5b87929357c206e9756b3902a14c828c7c02dd10fd0b41005f27295a93d6e88c5213e7fd0ab53d1ec659f867e878fede96e0f7c99e853388275706300142988fc85ac809c366089d7b1e3258e23c6094d13417382879bda4287c5843e1b9054dc57ae90accfc073baf836eb9d964378a3a5f248ef12cf492122cef2450a147c2371a2d308946f57beb526d9b3e40c9c4056c5bdcf5ace20976858c9b41545172d9fd441172d83d27522d8da6c656f78df08e9a63f057c948a3347a4f1176a5e8c6d9d7c9ed0be289bb5ea5b9d8d6d42c0eed447d8a5c4064ee4684e57d15f44ed14d2f80795b026de69a07d5db785483281378d264a7a5a6ef9083414a7786d52f3865123217363fae570451df36107b35b70567fdf23baf060ce0ed43027c6d4cc4d192192f5c08cdf7c9129d58deb10560049a7c465f60b748938fd3ae930337f099ed40d0d89b6307316777c959ffe0634ae2394a6ac976084763a0647b001d0f78d665269260c8d85cdcdf5ca31519e10c5322249bd58a2e8f464d4344f898b11c17916dfd6d6ed960710fae75d0203acec1e5098be93d6a439d081cbc78724dda885b6c94478bf49f1ff95ffbd082a7fe5bfc83d82aa0ed9c2912932f97ec1b2ac8d87749575aaaa9b1c0078caec66e458d2a80796343a0040615467393e7c645c39d197888efdd0042fb9c1c46ddfd2fbe5f79832043ee129f593dc789d02aaa88a25886381943180b3db8ce226a81b5c3674ed2d68e0d6ecf19b836b8b14debc81e5f060802ce40eca6196a2ec4148c428efd9b09d84fe9d7ad246a3f89c6f5ebfcf48023a1834a77182caabbc3206501b8d2535748a6e3c51a3bfdb43891b055ac93d9c604eec6037f43017538ac1f470eaab74ae5b4092f04cb51f255c3dc520e356e6ba1b6314c99d03f8a3d0e27d3673803fb81e4a6110a6aec0f2a6ea2d4bc7b0adfd2bb86a2fd0d1271c70544c7837a5d4d2bf2dff1ca4e0e7f70705d6f0610416242e66ed76ca2321a49968f44e9718ba0a434797944b904b290821f9c4254d31969e88bc645d8851479f71bb88a934db17d64b3678aad7bd1525e4ede35ee1c07a7b5a2e5339b2de79c9ce3aafb9c26766639ba479762fdbca93abcb23e4cc3cb0ac7556d34a7747065b209677d439c4e58960eb43ffe1dc7033bc25c0052021df9ee91527ddc0492bab1c712a9f73c79fc29d94510255eccaf00e84ac3c172ff774e85375b78f9d2ad2a54703660c4c8e6374b3892679e5bf037ac5dc7cfc33d22e1a7d4f901c7a09e53adfd60991036c0cdeb9ac8da1e9b69d208787f746fb4c5085ef9f12981cb6c00431a401ebdc935f3de0ed7fa72f8f61a26f8f759a88c2c4c2a162df289fe1addd034cf072da484674646df37b506671904db9882522c58e25cb8c140b81e66d7660f0857490881a3b5be0e0465e135333a20b4b87653b9173bc0cfb416be8c4f0763efa169d5f77274588112bee7a779bd13c750fb90ae341f3641c04c62e915dccd035ffb99ef6ffa3c7c98e054f21beff38b5116ff2f1a6cb3c0cbcabc167c890988325ec6d4e7758b854bc740d94dfdec6161933afdb42d28c80b2986b98a6496e21957d40837b3dd02b02f44ee41c51064cb80cd88b699a5aca3319031de676227a23ca2adcaca5661943d01bb25366d8baf1e0e016090b83eb0951f61cbeda29ad62adbf4163b8ace52b9e9b5fe757dad5e395944ff50af35b04ec95086eb745a3055aedf28eee2f5b27aa9f27c19ea572445cb7eed2f1bd504b945b55cd18d822233f57c844e33618e53cf337e97a1173c2f23ec7bc8d8d9f6981fc641486d79f3f66cad2dc8d047f48aee7d5714f9f7a52b0758a1b392150f557b0310434ed3383ecb602e814ab394ea83d1c4a1cb74f3fe7f06cc973184108ed59bc4f2db2b1700d7df6789027b5f0902ba7a6df7cebf8566a26cffc7bb121adbcb38ac2bae9ee96c1c09fc82a32f9d8258f5c70cc55520600845256282ac775bc504cabda235be9137364a09e571ec2d2e296c061a59c996e65e5aa80a21771ef2e114a8676df735ca3a29c95932a06a7440b522b01f28e5aee682e0a1bd9b065e9532fa5e2b781269beb40278a31443014c26e071624cbe00dcffc4d6b88f256755b3199ffb3d93570d1fc6f28ffa58fe2aa39e4db94a4a23d84b1af06cffdb82efc9a6e29fa88fc2f6b89d166a5f30ff4f452739ce2c789a3bad86074d98df75011044e5fbc183f7b5b1cc3136351c3061380c961ea22a56309984931fb6c06965093ab0e7056aa3b4dd475a7624d33c21aaee71d731391ebb69300017d692654d01cc8d0e5071c8f43a1abebcf1d64b16e2e6e21843b6639029cec9650ba7b503f4f8eca6c2679e0187aec39e4aae8a85de25c60f99a0dceeb6e91eea3211fe0eaac422ab5f4c8b21714fe20a698202487f7da48c64f4f6754e79985e1dc390acae8273cb84feb03650be570a625ae4bdeb717798d2083912a90327447c61b14d97ec2ec702e330b110536c83662290c11841a5ceb72b3da7513066ce35c4e1fec29c81933cf6dd1eaa242c044a21ca03740f2457d2f9a206ea9d4880a28c25d63af7fd31b8df8b44f26dd4d63d9abbf9838fe37f2451589a08d1c8afdb3fcff6bb4ec9e60625fbfd8751fdd5aabde6619188ccd7e20efe918f4cac5028932b98ad06b2d506248571c46dc6e1cdcb5606b8bd7514234061e01609c32f51fb755bdd43b98add45f83bfbfa35ac3d4ca01fc7ceec83c0c6d23dbd0c6e702e87e47f4d6b45697fdb31b27f56100d46f1e41e3208d4bde1cbee0ca0f24bc829f0280229328ef1bc7e4ba42ac00fd91b4c5aacf65912634ec426e920d020d63ffcec152677df6475c2a9b2236bc456020ca3bafcffe4399c1fcf7f51c4ab8a0948f69fbe965d1eae8b1e73310af18f0f22a2b17f8b4eecb4191fc0d01dd76926805ef1a57cc8775cb2a27766edac63f1caa1d710f26a9b26c6c91ebba183e6e0934628eaad335d39f879046b3814e819b906a5a91e357f0e5a522ba0dc58b9d839255d5aa5b964cd734773a34549311d874ca8600de39fc8caefedd314d2cba2b9494a2314163f2df99457aebc69f8602f4bc55a01f9572472f497e2746d1fd64307b14d7d6e8750a9823e177f5e2a034a6900c635070a80b23a58902f13c1307627cc89e91a5928f8de8d317980c8ad54f7421e3b6b36914a50fc2436ece5cef9d84864a9e1300532a03c2726f18d0ae041fd441718bd1795ddb2a0200e14c73feddfc1484ea8561add8edc1f0b897fe3a418a7f93d447c32053b0b9cfea4b9c4c0b79c396faaa623cda78cdc0eea325172a673d1218f64b9c25ed3b76112faade2ef912738a682b2288372ea00eca98687d2ca1677bd47b349e1e4dd5bd345a14c0bc9a3a097a19acc84aa2259ebc006b0b540009dc578cf3524a2072ff6c5979f814c164bfdd24434106701c96995462c7dcf2fa95243dd6cae7352cc9f1b4f905fa870b74deb7141b4a065be333b9f2ef00be8dbaf559e647918555a0483a53072fffcf32a3c206bd7d3d08649f68cb29e139658cf9bc980472f4b33591acc21461eafe8aefd749faa00d4e2592fa34cb97b7600a2821ba12be56a5a538e5d84eb914b3bf679a8b82f2ff81f9e7c981fe114ba05139cbcd6292dfc92ae39f0ea7454cdbf4d45e2a76d9a838ace480693d739c37702d015554b62c2329d747289b2d2982f11fd4719d8abbd5cb7b99a3fe0ec9767e097b39225525835e4f93618cc279857a750921239ce3c8b92b85a924a4d61a276f5f0ceac82ef3127d69909a8e4e121ed3edeac6afd141f9776d5c4f5b8b5889e7d7b60e7d22e1ac27ca66e15d43fffd6d94e46d34b3e533c2e6699d1e77e24e460a202caa8d8ceec73172c1d48988467ff1423359252d837a87ccfd657cd1a6bf8cc4bb0d515736046b3605b82c60c8f0dba6450aee1805b15381bae8712a97524c705e32430043fac1302e9a15493820d787720cae0c490d2bdeddc7977c125559df3e298fc9ab8e339fc35bdce46c9b1037ae2ad810bb68e15232d97e535650901c0db8c1064d3ebf10bbabc2b8e96775f907a88d630869b9cb3487ae583fe3af124185ab1344be3e8d5f1e41050d4b815261c265a19b8441336c6026eb0764619a584d947d6aa0f80983594bd52387788c7e177aabb9599e974ad7c05dc9eaf33fec5770cc7c2c8907e79b375d5c80d7e7cdec0858d85718bda88885d879dd20839e42cc9a459b27d9161d2707522d7a4b1a1030c7be82d6d408293206a60130920dbc71ef1831cc0ac090c544c99e617b419471335c33ceda31eb3c7b0bc4b4b0b3a7de2bdfa9848b7f684c32b71edb44241038e53e33193dd2fbb9a4209b6a2f3f3d704915da0a7610ba8b460b41590e8ca476ffbc447e1296f0bbdfe6cd6976a322dba08a6db8ce3d220091a82a6f78326e4d49b15c296ed7a51e650cfc29e68420743e865616740641094d0442a758fd6ebb7a85bc6198e6900ecdd637e29d3cd99c0ed08c41ed7a79a17adaa765767e29523f92a89689d4a2af2ade02060398b10192464837852e160b92744712db55ac9a537e4d7beb32f25b41001723c416de2e8dea7fae59e6234f1bb389af86ff765312116e027b366c3656fc03d688dd9326960dd702c9beb84476a20ea95aec3ce65d44ae99009cac882742cdf27858daba65fc74011fc5772115d5894c92f352770ddc89a08b9f1f2697dd425372e31dd1a434997915dc32ee1e5b971df2cb1f3e18d1c59a2c45a60778e90f2a16e5e75ac14b51f20eaeb2aa79b4f7dc2fe35396b4179d89e89958137aef1227151b185ffff4531fa70b67a4e1edc122f6c09755e0efed5e5cca7d3c6f0343694cc3126af51cd5355b8f8de6001441ab20d9d0d261c35fdd1baa7099ddc04bf80b8bb7630b85ebf3fab9f9e819949336a5b14dfbe6638966a09bcf86d650b40025988b3d214eb6055c4fcfb157646668a763daba7ff9a5e598c4242041a5ee34e57705017062314ea0a06861f3835d7d3791127ffdee2370d6506f62f194daf06b5063a942e95eba459b45fb769af4cbe90e5572b32b54420864d4316c43c950b3bab43f8fa044eb5b4d289c14c4915052f4ddf541e009d3f966e6d04d6bd126248903715043f4c0f188f1fca04d8765e2a447f5e19c2dc4d52b3760805d034a6b90d15d7129dc1964691fa2605bb9b1747cb322abc255f26bc65407f323e903ae966f470a315efd130a0b0689d075ec23bc9b7af78ae90c2af5948e9ee792ce04eb799778db5f483c09854eebb13fa3ea13eddf3bc348ff1674599a8789cb674440e04d5dd32dcf61cce5a92cf5db07fc9b82961d218642007283dca05c08253e3005ee73f4f553e3e0ccd235442a242537ac7bbe6ecc941062caf7da16f407a90510a868a19a6812971bef02a248632aa537ee7542d39d2ad6cfbb9db49ae99e331f12f19178519097f8009e23d136072a03b3a02ca568721666329ec1868e41a34ae9b0fdd4d35cbbf8a09e1cf42fc0c1e00c21199bbc8e489c14b8d6887ba753e47b39e69aec22b5255afdb9713006ea5e2c43e02af6093187c19ed4b436682a5a9aa172f1dc04d85afcb6a3de355ed1e7b7aa4d852c8e01e1677ba5b19fb3a72783a9c63a49b9738a7f6dee64e09f37d0a06d30f79cfb065021e0235276a5c8f86807f47dd77a780839a48ebcd7842bcee3a6c6cb82b23d5b57a3dff7be7d2cdab9ad8d3654d3c2066f5acdec19b3762bcaf573fb8bfe7ed82b3a11a81378d824fce50a36216631a0c022e5c82f1e98176f249c2eb625912803ce4a8f9d44cc19f8f38e1cddb51b23da493a7629b985ffead71ba4410d0937e97949bc3db27022c640fea69fefbfee8185232202147087a5d0a8b8c65c693bbd6ef65d8c45c2de5beaf8e1db5d728d20601c0a4df467250408f32db1f01402c7b80fce44ad41a0db96f05a3c44e18e8c325e25bb30b65a9947fa4745e98f3834b93b2d7bc8c11ffb1337183a690b61aec3bac030d2aab53a1d22908e86032b6957bfc0abfcc53125a922e28b99a985ad230f83e83206c27d11b10c30397e0dade5650fc87e7f8d2178125eaf29ab38610b12d24e2e26bfd5825f4715fa5d9668c2f49a1850f8c61a9541d22393a410a9645c3787a619fd826a33ecee89d2373260942c43c55b9be66d4c3ffbc8c035b717c2f07107f09e17217590a79285a17e7160f94c2481ff059da6060522418207b132e7226f8ab6a3d475a93a32b2e70514e1c2bf2034ba8a9acd281b0a1c68d768d220eacb2c4252fe21ced872eb860357e0cfe2c18b0225fec52f41ccdd040c802bcaa9a1c0e2803d355f6d8aa535f5488ea56f18ec3e9b6657258c852ccbe2feb7944ad24930e9412583eac74c4cde96c4e08958628128626b74add89526b170ccccfd1bf50b5150c5d24e899c534a079ab3004a64f4b61463e3d54cfb8315c7f483d277bb9ebb846aad04bdce0346517afab1e6c1291ba97209064d20291cd60ada9870c6731c153e29960fa11c4931e23b26c5f6daf0618e78bc3dceac548a18dbc0d7786b3ced759adc8c0b6299708de43757c1f5af9d096ec363b0535485bae3e700f224314c0c7687503a231543857318f78ec0b8ab7ced9d30099785dc5192ceb313273fe519bc1a62ec0a23a781b5a4c38a4f1957dbe13d69fd5af12d29751c0a210efe18d3f733b67737327a5b8751418072e00cba67335ffc0d9015e9135108c6c608385fee507a83aac7808ead298de37b718b5cd60687146ca44b911f28d33e4ab9bb49009267687fd6ff269adf9a45bf322cc363701e400575fe006b8a539ef60913b66f0d694b4500ac346225efe888ba9521470583f83d0c1420e95b01f166d55a7f996ae87b5ee32387a58d4e8848683f8e673469cca09b9d0e88776278ad4a2f40da4ec23558b42b050324565cf7d1e7e37026b38f8508b7be40c72bc91fcf85d5ce1d4880d267d230d64a45d011144739c072fb4983cc5397c45fd3ec8679f09cda8a491b6c85928a80fa848f78743ee70b1e710e38985414c7bd8c2fab3b3e8e2493a6f3f54391124bccd717e7fa3977f6223c963a35839320084ee1b8e1fe3e1f2d949d46cbca9905f2ca1da4d3452ac32de19a8005b87e57e0c37113215d3962b1b28e9151f50bcff9ce61e094b915009e6457634b3d83add5286f68430a381911d0f07548ed0789aa1511568b482674e41b20135b680381435184623577fe2addf45ee409b250842363ed1e0cc9a03f38109dbc6205e0614bd3b184c0f03645c18c6f58c98b774fea8d69006e040690f332d5c9602ee54878f35a0468fda5b2a46a45c172e17f72d127157e976a441fe78cab3e9caa77aceaad7060071af023ab1b3907df5c91e59ebdba1ccc8f8e5c99d8ba68edf1da681644116ea23ef9b9ecf43b74625017d49141a0eff5a9ae34ce4fb419808da2299844b71c29802d1f17de46d106568fe44afcbb887d2243b3534166eee2cd99ae563fcb6df173477f535086c67c682682009edd91143e6d502480db755fa509342122011ff0bbbb900ceea594ac0a47000d1f8e520203bfc5f0f00f0433fbe7d61359d201bda0cbc0a808153431958187ad349f3904ad84bdb3a18d7bf641f00f7d3b3777f4bba2519e0ff3247440284784184e93d75510374e3fef458fc33730c20e6871ac2ce1171f5cadb8ab153222a790e62af5ca3c24b1c74a38f6645885aa14413ff27937c95cd1e7178582be0d10c1b395567d5c545286c7974c470151b2408e78d01254587f484da1a33609a958db3bb05485c4c41f0cebb86e02117cf9a1a2bb32f51adcff9442674f63c6df48a0496b494ba27d2c068c40ccb168b8314ea698f495f30a643d4720ae76c39bd36402420600661e2ffdf11586768fe2e8e6a5f6b9f3438413d7c03d4a2c619842dd62ad54a0f6f7a32aba9166f6a28eb9eebaef84cb40490b5c59538b550705d0cfdc78fd3909768b1ee3a6ce9dccaa7971130797644dd5c1b0f449e808ff1b4fa3d738c82d9f46a9eca1df797d7d1b235634de89c26397b84c964e7142e3ae22ee0ffc7939809060e5a30d6538b37b16bd4672275da3904b3da9587892694bbcf1aff21b7460809741ecb4ae426dd548ee2cb6aaff1fc679f6aca2c32b23bf9ed7945b9987482f9c82a403fc94f82fa44658778c9f62dcb615df7cc32e8ca0ca5761f2d8e2d60598fa10c651916433b8ce75c3e2bfcbf1fed120501a624561c4c0773db859ee34d9d1309303c160ed35408ad4ed96cdbaf12ad9f68d9227e947e0d3d9334ef0a75b7285cfd5c1c3ae0758b98fc63347e87b176b5fe0306e7606cd61a58e277df3ac41e97d2f9b7ba88195bb805d8cee6688a56e77706275844b7c46527f85ba826d295378544535e93275360ff123906deb007b303514631ff13e45aa116ae7d6b5b0f3b4bdd896c9f3f796197103c1c75a9afdbe9d4250b2cbba66de237a7e71494a78982b5e67cfa2f1cdcba270ae982d7705846b12c6fdfd2310db267bc096578e5f3b9de8dd9fe7a7eacccff2759c312a4dcdedf8a2bdf40406d83be9e8cd928014c34d8de10744bea5ad8883b775eec39013515206888f50a4d08adde4ae2bdf7aa1bb51149d0007fa5598d8904aaed8b33071dd6cd1d57f5fc4a4f625ac4395cd1993525e54ddb2d65b9b7c2370eaf54752414df07afa4b96588e90e8e6304494d6b0cc45ee6f7cb0a377a84e6573c5c6f9429568d3ae4b7f1b1d1676673fe9a8b217dac40629b190a2d39a01212ad30f9f6ff399d645608294ba1f397f97d2dac7b17272426b9734eea085910b2d1590722daba61390991459a2829e87470b329a91a8f562283a5f3d956a5fbcc76429fdcfc9a606bea9bde301a0f1cb62785af9a769b747fcd70e7df66cde7abe20b69194f40f5e73fc9172bd9d9421d973fd9dbc5bf8cf8e5804969e43032a6046273f6371204fcae8f6f5d26fa257e1341188265afbe60fe01f4ca7c157b06f39fc179875563c21c49dfdf85ccf4e65a7389921a4141d74d9531a7a492aee8e96f24d59a1ce0c5230fcd0f85669d611406b853c5095bfbc37d459f7b04b0b63854f5cc59ec0e3e03aac3c39057500b4b7e1f35920c4a9f5f278103b8d6b711b6f34ea23c5e1f6ab4f4390ede2869702e4f0a2d68a28555e4a9234122e9a1842b19d46c7ecb92602e9c3bd8acf323658a952a22749446bea40a179867bf553b4e94e49eca5c96d5863a1620d4939ab622e2aa22c9fc7fce2c0b3d66386284468a99e5387622d20a07f9bdf5cc04d7bc1867cd7baad7e7ff87823b748abf2ffbb09a5e7d2560b3bbd4e9ed41aaa7a5b5412ba5b8590471954ab065513d1ac0996bce6464edcc26258a45d5bd68f8f11200d596ff9f7b742e4029155cf61b8a5f65ca8d6b79b2b48b814e9c00c4f3f8d5e4e8f7ff2ec8894a7e9fbcb85fe14879f517f0af14fda37c85ea7ea8af69df1df2bcc9ab6a6364939a2535b5c9dfe7de95b8e5240e4864f8ff3c725c96e157fdc9fd2273bc483e957254ac19125da035f370c41af37d246ac6bc9b57a0916315fef6311d9f1accf7737cdab98135af0d4d222205ab658cd93bc08bbb68d0d8b2f6dedc136aac4602829b5a266f8a73cfcfe6d77b65d728ef1417a39b1bec32f7b718e60bef387f70c38d6068b07225ec06d145dee4ef45ded484515713d39275066eb644e45e951a3285a463d54cc90af7769c9206851ee5c4acbc6ccbb466255c9c2267479f89bdd4d8c45e4e440778895d58d7dd4140eb33ade91a43783ea49e38a2cff1df00aa1adad5fc60b4caf3ca318f6f2adfa4121a8f4668a6f869c3e02a3461862e66f51a26e10e05a29fcd54bd7fb03ce652230f10343b9c3e04b9e3f856815dea7f4758e336a874c5c93111863d3b1f91d3bb0fae874d4cb42fa9ff050d24c5ba3a0707788a8ff13f6c966df5efa18f38bf9736c177bfd1d82e548ca756b87cdd2f4aa2819ba419063ee1fdad7b81507f69af16bcb6cb71d23f2ceb0999396b1746727f1af739c31c1ceabe7cd47d1d91f246b2bd0c8ecfa7312418d11eba4fc2174df525600b53b9641fc76940978a1a8f0d42b5bbf9d5e61683ecb154ad6c6eab88a15ca89460ee6bf1c26bec718d776521ea88ef0af443bd50ab0136d47d179f515dddf615e21ffb850f2dcfa3a1f6edc40d4e430de79c879c17834094decbf581eea00d2222c1bc9d38817b90c40d44c48cc31225501c9628817b70e783f0a1269bb9dc93780be6461546dad0f7c20036431e091cb1123d5d6c2f4e1016734dc5691923f2df2606837a73fb8eb74c0655165cce6a80e3c7614dc722181850706d949dc8ece88175a939b2b21a59243c7312bf662e54a7a9fd5a7a759ab293ff807d2d6151266b2e42eb8aada8749544f2b1de7c14944c62e1482a800acdff143c17bb7ac299f5574f583a8943fff4e36335c4b932483ac4821f0f4fb0e0ae92d52599f90115fae7f7e8222f217e2cd95dc9482348cc1f83e876f647837f3123ed791c9dc73d22276d1e8bf770f41b76a897efabe46908f443b17e1f9da8ceebc3551a4072756d4e740d4852d759babc98323a36b2068757b5478a2e310ef00d74b5ce653dd78efb144b165f270b428a4d00e28ff55ce1c9804e658da92573a1abd846fe4d425458798971b96d83073a4d6897eff087b42a8789556b9c8448339e88794a710e33e97fee3c5fe6e6b1f3aaeba2ccba28f802cd373e896921bab9dfb6e74860478f9a066bbb1463c9542158fb3f17b9f9c90ef86eabf302030011b4a89b76eaea9071425fbe27e291d58027404c4234dec83e80e43e890410bca83c8026ce430271472696c541f4332c83d00b6af28fe1109c7bfc96751ca280827eaf9b824865a4a9693b4676c358ad1eff7738004fb6f6a34b62de413a0e9426cb16973e21d1f66e4fbf0b0db67d94e6c9683056edebb39a5e88833a426afab98c352c9925551ea106b0d4636198ebb40866d095fb88d617d0d9ee9ec3ad9b0440982f72b089f09a358b54393810ca251f3c7349094c17a205529611104ac32e550dcaa1f5a58fe96d6ad78aad7266128136e9668b21750dbf266ad8a228bf8cc5d72de55457080c59ce8b7e167ef8464e6b907c5ac58678992f6d7807006b304d36bb70f283608ccc358c83204906cc936c29d631c9a9eb57eff58e620f5408acbbebd0106532a108fd21a907789966ce8fa6029c2e2a53b1cb59fa3a69b82089528b84d28e1136febedd53dddc88ddd56ba83f2409b942bb92cccf0a335737213017a5bc5cf23c0113f4f240ee2402d9194ded88aa2917a3201fe6d6bfb21ea13b8a4ab99a1fd38a9577c7c7adf86cb9a7df7e0bf93437f8d0a097d62328cbb2a4cb0f440acc0b7965e2612cc6c18b0cd67be352ed721867bc9265273f01653a82e7627d6622e0864ad8409b5ecf6b52bb5e8326f8a6afffedaa1e517c333188669d27f2761cba6bca1c35ea5156e59c26b238869c4a4fdf00575003f8e7b727e342d47ab47cbcd5ac27bd3aef18a4f8756b8fff120c853a29509cbbe3cbc0ec72d60a9348bf5812e0c7abe7ea2f39953efa3e1cbcac61663a5f1f87b169493b591c292fd4d10b5014fcff9e9861a9aad29f7dced1e09e818ecff26059523a82ac65b542538740da5442f11fcc1d0ecc7bcdc9df0e41b72f28c87db8c7d7487cd65cd045ce6ac85cd783c5a921469f1406a46950e08ed2755ccffc6b0869c7ea50aa67b7a213604293c10a3a44420e571fe93d8b293515f17588c53ef52e58f74d33d597c4d4e010ae7f7db7583e4cc741d6503b7109894b261d2f2dade8cdff73e45c6361e39b44d24fdd78b68f77ac543536c6fe29820268955ec9cbcbb0d0120f2c84eed81c796cc86279cb4c63be28b6843326e7494345de8104f3b8a4db96638cccaf1c39afa08d305025311d7458d19e70415ba027e388608086c698bc7a158565e6485b2918e0b58ea78c29f1f93542207564ce2df39842a966ea2a76536f06ac2ae7b392deb77c37981859592f3ac3ad7505c7ad460e7ec3bd2fbb7ed62dcc77b50fa46a665b6817172446a842709cefda2a9d66faaeea9bc0fa3ec040961cd6ec5706fe88803d0eb24cc4280d0cc4840eb037c41bcd453d731cdb53744e815fb1a06cc01c04f6b58721350b2433af5c96a37e60185c1c851ba348dc0d73758d452b0527387ecbdb91c2297376f6f45e8eb06f721e0307c2c737a86c1443906b6480f1c3134e15f719252dda872a138625e354518c537d8491a50236cb4a2d3662bf136b868c18a5d616c35b99a018e692a22a314386871cd02316c496975b17746c695508151c3efaf77e35b0e3dc23dc75f13c6329445aa4e5c586d78e2d8729dbc9360754b3490c80dc321b82b9c3b55cf27b478ba5b99721f4eb644ab9fc5105775e26396377b6847abb71785462463d2cc9b9603889a456e1f949a33d0c1aaacfe60132f23b27c410ef8feada2c85202a555b976d0f16fafb2c260d6dddded93fcbe3134805de16981eaaf0fc7e498cee7be23578331fbf19bb30458711fa9fda2f0974f3f10c2ce400ea72b8194350aad501c1978c696a56a2d89c6e1809a9ebd618a95e734f4b25a656b1e5b94534a94c10105087b9c1079f1a7b657e9e0ec2efe7fe0e182cb26da59452269952924906650191017e017dd5d3edec3760c2de85c6c5d9995b8cfe3cec98eccaf8dbf6c419c53f977ee9977e8994bb52347b35ebec7553e716ab8bc4392263795ce34c220aae51f1795dccfde931866546836930a87bceb89ce69ca61ac7711c77e3b8dbedc86dd955e5a9f790d5917af6099dae07d35de187431d1105f311274a74a49f24f4cca9ac55ea91ce7a1aca66952dc3a1fd2ab07e7b96ed2e2b636baf949398ed5e860cbff7567273b9dbd7f1ef712cdb97692ccafc6aeeebd89e63892cfbf5f5d537fe73eb3cdc6c37922b67ad1eb52acec94c96c758efaebe455b77c966b5f6673cc4c49665f150a9a8a2ae1a6604eccfb1b38c1ff9f6a9bdaaea54eed3a95cb7559ef6b8cdabe7eecaf1eeda19a785f279fa769f421ddc6d55eb9d51aeb5c689693b5e1f081d3400e6bc43f54fcf8cb512765559adb5d65aa9dcebf6ea4e53ae5555a9d429bab6a1ab5fb35633d69aef7473ae6a755dd5cd0ef2a9dcb781f52ce75fef7ce8a8e5a825e9039e063ae864faa29ef4412cf00e800e823c6083d7e323696856b8c812a40f090bf5f25125dffe8055bf175de64e216f557575d736b30034162ef962d4cbfb6d8ff73d1376ffd1794b85a45ba99133e9f3fbff751ee8cf5f5595f7c5f075f93e2aca8d7a6feffba13c01a80307bef7067e8b5c80e7f3397d1e0ba0f7e08b412199fc6215c3e7672c7df5f9b55068d83fedf0dc13d852f1f222013f006df2cce3843af73150345e18f818a7993f57d664808db1aa0a0b52e623ef68080334e97a00605a5afebe18eee7b69ff5fdaaaf5dd58418248c8a6981161d2ad087b965a885e38c87768dff79a0071af97141080980ced8ac182cf0554e1f16f89ffff1642ce0f1aa7ec740b3ebcc39e79c690a951ab375cbed8a35ebdd1b52c7af0e1daed111ad09fde9b6407162e56bdaf295af299be62bf4a9c79f44e07ed77e04cf3cb718fb315fd6755db3baf2786cb14f562c6e4ba3089b3561b0083a93e3c86947910f2c274fc06c15c119eb20a90910cb68442a69ce684633a62a7f9429e1a15ea416ea875a8cb19bb346b16bd6d39548688abff6aeab770a9d769d7fa9b60eb22ed6ad68cb6379ab0ef6a622f8879b2d46270e4baea859e521569456e8d856f0cc19471b5bde9ee71455d33bf6110c21e3297d7add5463dbc34ddc454d24eaa2366a2e7d44a2a1e5656e66b5cca687f9a8c37ad7e9bc0fcb47e2565562ef69a7d1238a861e91614932251b1b3a4489681135a25c64644ab465530d1b31c6476458f26c9e58012318ac9081038811aa916b1f377287eda4dadf22ea6bf32acc5e98facc737272f2fce987e43b217c476027c09f3c03070e407904b9c528fe2d6e3fd4877a5fbcb57effeee59d1e9f11d073c2efefa07e3fb75aa72ec7797ea2c55f4bfda4a47084deafeaff5f4a35a5402a1154ce39c1ffbfdd6ffa3e809a52792cd59be20a3ed5e7c695f52b59cad5043dea6dd79e777b2957ef48a3bd291e145f06291f2f053238d7dcb4ad49531f526c4cb1f2ad3df42d7e211c8a2ac1545357d024d5d4e4578d34eb1acaf3a8fef6fe85fd18f51edfd7079dde07be8193af25037e07fec107e2845a990e71011dd25ca9491a834a54a0ccd3a2373fe14926ab8b0f6f4f92ace6d0cc1e464c9862806ec9229b855321c3c55ca355888e1919b0274ca5d65616da4abd728570e80231a1111ad36784beb0711f09d9c8e34585c90899cae58793a15bf3688e868354668b75564b5887b2a5c8b9f216adb03d67d293e1d0bc5c2f61615a4a0484985eeccfe19a53d41d52d19a4b620a2c19e2e414e3a425fd091027d91e3adbc14847964bcae22e314991702143ac226e2d009ccd064c2ec90beb5c0de28be6badba636359b525d229378e4a0692fe65089ea7a2539666d29142422461789e63845e7663c8395b6227ad5fcc15265cd177aa701f38a0a3e5a7ad165423c3c31b0434d4dbdacde7bf5f53e69283e79bfdbe97415a872b97e4149770f20722d54f0a20a52c8406581c29557efeda5b9eea6383ccc37674c3862cea63361c0bcba94ecbd592da230f3534dd310cbc864795114a839b625e662f98364d6d8e262aad132f28239d676b4b694d64629e9826d332b4d9080a83b769b1b8dd8b019f399d3981c8fdad830a47e5bf4a266ab8e910aa6bd35e260ec300d54636fecbaaeeb6aedfafdc6c58ae26abdbc751b39eb3ddb048936a8f4ed1bfb0a002803a5086058241490859318045114436234513a34224a845c49c33379341209c74014066110c4200c07300c009008838000520c4aa531006440280e089466ad88494e3f5ffda3295f85728e6415f1c44ed0e67c4473aa4e33236437723da012d303162ca349075c42eb2b48946fa60886bb5d24724d94fd85710fed5de7114a8ed0742b0035e8682f46ae36dc3916f9e1fe511a521229dcdd3dc11fed9b479c9df68dd571b94eac768915fa4191f34121261fef93e711045f827d8f713dc2494bd1723a3c2a467ad6f237ca3c07d8621fa812056c9af17389bced4281eb3baaaba8a876c7c2557e466f77644d2c224960f6125cfade38f37ff31ba77bcecf23804a150f9b4975b5e5041e018dcc89c32c26236f70faf72171c4db824bfed013537639ac9f5118b63f40d153d48cc80967bd1bb9e83e7cc99371f69fde8c176854dffc9ae1632b642bd18043441f2d142f179fe94fc45f326049c7968ac7522442379738e90174feeebd16dbe9268255bb315de76a581a98ca1d4f558c295e855af32cae75504c657e324af68851a5cd757d4b85d9b9a852dfdafa0157ed247e1368850c62ae4d40674cce0c405e94ff73d3247f074c3cc44818d3b32b3535dc9458ffcf8d13cec864f47b42512f488a2343e6be0f26cad77e88638bce16034eba925109c21751126e544ef00e5edf69e98ef60193882bd6a653a6693dbf2f227de6582b09625893e5064629ea7b343e69779056136044b7ef3d4b9f7f4b4ca5349be1a01264a651cfd21d819b37c7202dca09f32cf1dc311909216e3fa607ec78eb89c02aa1bd6dabfcd098e8ad926c6484b8b76877d027d766fbe4193c665b5b698230245549fb99f5261cf49205e41be7235cb35c86231b3bac69149c96c2998117c7702738b2ffacc80ac174c045cc46277378719932bca3e2d4aaacc540e8677fa2a865c15b7f019771600d78f82f3eab9f2e7a6fb9396319c6b4a8216623b36e26dd3f429820af72badf62820a80e0106b167681235bc2e84550f6417a06b988cbe0bc5a8d3984c0e6bf42ee4fb32f4c8049a5354e74d6328eec56576290dca44a5a2b53d85e8c502c828dd1535135d5ddd4050fdfc200d82cb6bde540288a17ac6b2642f5e01e6b2ea00268abbf25d4bf453b9c3a6129529e0c0327be9839da180ecc2eaa623f3891530b837b3c313f0c42c31ac32476c63f0e7f23748c57a2ca8c53eabbb307e32141105593c85d112ab2c77be810c34b43ddb398cfd6015359ea5eaf13edfe0351331974f731d41f79bb54fac4e683f0146dea7059670c66f2f46630d34ae8375ab13b05bdf5e8aa2ecba8490b4fb0e26c08d7b674ce5a248059281e1b66fa7075f904da1ff61865160d9bd139488520f281997d58f1ef3f33555e3e90764fc19904fadfce1c64aa1e005f28adbda6fc4075cf04ff5a4c05c713c478a06c8350457330a6445c88676e9eac80de9abf3aa6a9f7fc892668af1b9cf877d87553b09494c2b81e89afcfe48badf6ff6a392c3a756f1ce10b0d5f6244116dfc45822f1d10e313e218377cb4c6afce7425d7164ae305c23b38aa809483a116474b94f830325a5fcf838193e2ad8219410d5ab631d3e98b51b42d44f24269865003e7d5db101e1cb2c9a03290eca8c18705d15520e9ddd08fcf389c6dc6925c85a970dd38828019154643e1ef48aaccfb797791487dad828833b7e6fab4b55ffd0b0de280b344f5c63bac6893a59c03a4a602da7994f1ad262e20498a1a652fa8cee2578014ea5f01da6148ca8ee222c0d50102ec9280006832ac22423e67feb3441b522963684b12a7e316403d66b7004ab68a428c3244d900f8edb301080987645088539dd400d188005862240240234335d5110854894bb1e7aeff1fc7f6fa3ffc08aa9b8c7025282911450c64146283e9a145a47650950b4e3707b64fbc28c75755128149847d1f15e4fd872d40ed2885ad91167e10349448973562fee2040a987f1c0fa0750490fe94973eff20405bb3ca9bfb7f2680d5e33b68ccf990ea2f0594bc5336d25b48ea280c3a1c09f84db0564d00b97e0eb82169c3954a2115fdad2382e90c2096a0537aa73f786457692046b9594d9bca526cb1accdb7190ae6de917c6d54cf79d3a8e3b4cea7e583392544ce1cbe535c7ddbd9777b72dcfba945d69075fb7baad95f95d22b93ff4b93199cd3927f7201d702204afe122dd710c0aa26cc849ab550cf0d43212e558a9ab86124623141a5aaf99345210808312c8da374f53de77c09ef51fcc65d82b4f86fa9b3070d517b7eccc3466686a49770f70b6c53a9f28240e2cf260ef54af7b45afb5dc08f2e39aeb57a9ef4eb2f9a3a4021ed1184c6b8d3cbfe9946958463b35648cce910107e5e82f2f127576accf890caad0d2b89195256ba23f54269530dad2b74eb627ca2ec6563135ad0babcd693464b9f391224a997b21ca435bab134f66651e597a122eb3dd29f6863eaea78df68510382474fee00fdc3bbc5dbe3e3cef7a507de16c71385c7501a4f4a99c27e7a15cff3557dc7dc1ec16d9c892e974f8f85acf91fba2ca52be37961ef2804046b01f7c47c1901fcb8858970c12174dfcbe374a1c99838c249ba74e8d197f7e8dc4bbabc6a2669921fd07a80e21070c59a0ccd294ab8765eb9fd1438f87906bc4c2e20692d4893131bcd678165f2c5249905830c65cdbd98ca1554defada7a0405cd0c95b1ad893d87152cd052bb358ec90504e3ccca90c30d61f1ea52ee60e9f6a7743843a04fd40a57e19075b6ac0ea8650d4306381504b1ec1978e90c5017a0c138551214ba75e0e4391e5e99fac23b02739a375a6ce1f1f03ce84212c93a6735126cc5886498d9639f5feda10f8e456a5145ef00a8db8ad3e271671c7de0f1ee37ce501c74573c350479eb69c1a7a745d6e2ba2d7388d0401dff962600ed21e14101eeafe48e9eaaa1a61ad0fd4ca03be2f6a67fa42976d09f95118be20f888f4be88cb3fb65e38524f0c119256de884c4cc7557d333e92091c8d3819da4a3f3d119d2785a95420ace5f469187636f6961e3cb88041f4fcc378c0b207ca1ae28e219d8c4674c278be2f8abc9e6846440b14b8d0114c97e46b4cec1eb822baeaeb6f03f32c5da7e31d257969ce32a1b7a639a4d81af2211ac05439123e0180f6729817b6758f1176dc4ea4c8a8b922b7d1009d0a0d9b9aeb61c7c92921f8bea3b820f948bececf887088c93cb96d3bd6074e74523a188642691e1f814bf974f6acc6a88eac307bb78fb1225984dc418754c006b235b3fd0e19d3f8d202b3bf3cc1a7e5cc801ffc695ebb018f17d4ecae1a86673d774be007d68b615d72b79a6dc591c4558e46728502ea6b2f41edf5f454d3e2e2ab30cd397357e386cb866253a637ad51c4e657e62a51632a62167bf865634690b244728e2cd9f502a8a503eb50114d299b21481dab5d74068c3acc6910e13a848e2a5be9830db555a66bd9cf568d3cf4c2bbe2c2ebf0d5c22b651c87084139a45fbf2b1038d66553844c54b4e341f2b1bacb3f0888e7fba3e0a4735e9a31464db48454cb9b5eb606554dfea3bd89abb7e8ebd1b2502e3acec5359685cf8d10fb4d5e5e47f57090975971e0c886c4d52adcb1d7c7c909bfbf02caaf59c8f1cf2978c0a6f3d9b431e78a75748321cff0653f0f0584b1ee8a7a2a20f9e494f3fb7f9c6e4c775fccec55531706dd319e881307c4ec460f8ded57bdae41ca785fdb93d9f6b510a16dabc8e7db52809a1707988f5afbf4ce740038f6b017d0a67fdb10720bbb69f497a5172c276e8a46deed94b3ac1fb8a9ad92f98e1f63fdaa76c5c578d59d0535aef3a40bb860065aefe64673500255ebbe21d4fc0445b2ceeae9da400e0d4babb62f3a6217f6c32863b901fc4c5b9b05a0509dedd3f021acc8669abc9e79cd218b074c2a2aba9999316fb79749a04936e8ac7eb3b37c616581d812ee8059fb215a9bca47904a58c5b2a27b269ba7d1dc1db5d0e2e8d7e36401468cdaf38fe6aa211fc6383c59ce1f8f7207f144a34332d2b25fe025d05a223b5fdd4974352c9d633f5b8ad4e7d384748ad014908b52ca94bc69408b5da9cae7f200ee3baadedfc19ff712613b49b3febf16692f27d7a3bc24b20f6644a22330e36658c1082d258fdc768f6ff132a134d59ff2229fdc90c75ce98eb698485adef059cbf1532ff4919d8d263c94f27ca18cd6de3110ff808f06e81f5d5a7c6bfe528d3e43b53e97ca8695262c81c228777a25303d97ce2352554f48224d67e1db163e8aa916ef5445bde144d101674c8d7f9f807b1d40a3fed63cc3148fb3ced3a6a832c1818547ce5979efed813e141258921cbe5423280a5e931dfd67b0eb2de4d16dd7f0aa69276d6120503757c75aa78c461df13bcc93249c051fa177074c79d27b5e2d718fd4aad61320e50668b30cfe0d35320c82d3fadc3483e6395e3f53608bad5f555ca4fcc2fa690021aac1b8920b0e0ecb9de30a0dc68e658398840c58efecac50ce7d6346491d446e94bac9153a4a9dc8e18fab621683fe67ee30b0517cc86ccc1b9805ca39b700191105cb1a1b482d21497b590753cae59546f815a48a15ef9c50bac02dc9228f03cf41ee6ca304dafeae74c2c218abf0825da17cea6d4bf5a86f4f039dd739d0793779057f5f92950e8e45c2472d1a3848904ce0f2feaf3354a032fc2c57ab752adb47b3c4a2527f5901d90cbb44e2034fdd785538061283a06f6f25da2dbefd85ff6f14d9e6a2c92780b5b582fc2681bcdf60c2afd9de3a14920686b569b354082161a6d845f0e9c7c4c2431741eb3793738c4f74e9e0cdf5b21b4dbefbfb7c074e9fa617d31c56a8dc2e550b9fb0001c44435c1f803812b29022f940f50b2dd3c55d76f27016e85f2dd957459d128ef9d699d406b9937cb2b8b08529a0b14c58f01914b4117520993c256cef042b7dbb388b7f3d726f14ef6143284394c424774c229f05ac936d0e331cd07b41d60490d9eaaccc19adb041f999fe4453992ffc3ca2b69d43ba011a9633a82add83a35421c5219028020ed1df38fdc4af3b4f75814ff260b0fe15aac4bc56fcc3ab37a3a61aa02564f03f335cd62be0c9dc9bfaff55cd032e1e5ac9c5360f6a5f0a2300f2abd5338ee327b509f160267df6e4bf6f4b49c0a2a87a252f4268deadc7752f4571cf49fbf443f66c640c9b7db2129fa2e943b998eac09c53cdb3b3ed67404c9474ef40421a2462be21fba8f6e860cbfe8002c4a04bf9f9333ae5d2329b3b89c91a1a8bf174c66d2952c932e42a62b99a2257863d328adbf6a82e9db264f5560b96ed2d78f84e1bc0e8e86f0274e180b8357e463cc37572738ef4bd8a57e6eeaeca1c84b0343ae2ea71c3f21bd6b0e70f001e7388d2ab4bda09185a3811803a820076bb68af145331dd23c55b967eb315b92da08c61fd61a9c083c3b3cce65403db4101402dc654cbae66a65bf37a81b561314e3c2d1ce139fcb14267ef63b45d6006b5b6c8a1fc591388a8799e71b5d269c8578dd60af3a1217b755c8afeef4f255b4fc4208d63b9df0d9115ce2943ece36a5cf7307fa49134b3c3cdda29f3495f95c584bdd4055caf7525722d1bd11564a76e89655f80984f99dd12d52cdee0234dfc88f93bdfbd3b82d70fba64c4e299f9df72d45c02638f2af4fd81e11ad174094a7db5de17e4895b9309f52af6f1aa49bee5ada3eb2f755b102fb593203f1a315bb25707a016aa23f823fe37410a26292f2a9f9ef607e8eef52c0c0bc633457653d5e2f6d6176aa2fd5bc652fe22d024de18c77283e991da4dfcba5b20aaf2506ab5e18f1b67ec27e42860ce8d8deea20d4cc79a0bb6bee92c07d1fafd968626438bebcd72b36fe08eca92b60ae15bd4da0df845eff5914d7da2e16b28ac069a3cbb4a840a174922c1b668883668fa3fa3b70212d86bccbe81f8410d3cdb91b8b12720e86ed48ad6d67c906cc36731d1913cca357a2f262c9d775cb66daa9866ecb208005e5ae42c167e0dc9294b9b6c97275ae89342bdcf544b38b73bb416f61666a722daab1ecb60b5939f7cbd632f8900b31daa6920341e90ca0f58958b5a82e93581b70544402c4f29e5fcb55e47cce5ee754f08b9c5f7efa85965687aa08aaaa07f0d283d1ee36bd821f021487ea497397189e9ccb208475ad8d7bf84a0f16a88634616815964c9118106952f54a74d9958608e4e93e0efbaada7f2ac528a41cb3a1a1b5dac3ae4c5c9d4b6180e00587c779bb4077823b85fd488b1f69163a9ecd6ac786be2ca5a3f84466406b1e8a7b68588c48abb061d6b712bbcc80b134953a6eac076b1dc8424443763675af6e99ec6e4171f08a7ae71fd33e4006b4186d2be2ebd5e8911c307d78b58044717a216ead37e68e1f76018ce4bd430845092dd293b0aeb4ebd26acecc56ebcde67e156fc634e499eec782b4e0605d9c1740e125a54bad10d24396646ec5d422f29e605abf1bd64a3340f52deb8e82de7ca700171e01d022447749e94ae47ff046d8de1809a49878d0b7de5418bcde22cd413d753d29ee419c5008465784e4a4cc1914e70636f9098a00f77397e10322de0aa3ccd333251d3f23cea6e4a2b4b9980b64572f05c56a74c3de467b594f677acfa06bd1d7472aaac004182b1b3c428c7b935bfae71afc039c16c556ee9fbda915792460dd4aecf8ef0dcfdfdbfeb064194a6f801841c6b3f7dd033e601e3f9c1d461e6f2cf9b84e4f991b9f76d12ff5fc00fa85193adfa48817372e750bd7257417ac10985cc64aec9b9224fc3503b82ee6d02d86795409241d029410e0c5c1ec21ba04fa1837ece5aa725ac4177b3fad86fc96b21790f858aa96d290c25796185b46ca9852dbb34046619f51421442e3d0718620823bd7018a13a251da7ca3fbb86f48ac8da091c5b243629e80a88c706185d53a1597145b66e65cb73298aabf0337d4d57e594f980ff19d33f18d3abbe6ebbe6443ac0154bdc304a32363df2efe5396f9512acbf1f7fe8bf04af80abe1654ac79f7d9a1b30ae2e1acc47f7066e4ac4a5dfac7d7b98ebc642e2089ff63cb4ef032c66d384f892c2ab0f59a9c848700716792b8cac768639e72549bcf7784f99d7994f1de39baa95adb3f4f852611536c821fd86f3e096743556dcca96571b06416997d84afc05b96d2896b597fca368b0cf396a1a71d8bc730cb4287700f5655ab2f6698a35b9e30f8f8f6ed18de21dd6c99bb9ab57b440667be1b0719240ae3638dcc8387f191838df73050fa3e3ec60cfb5572cac7279db6dea628fc7c08a36143b78a5bde3e2f080cc9475f0a69e1d3c71cfeed33a0340065ecc384ccd7323d994c1e5350cc372f06004080f75357a22bba17be9deec0b1bd0414544b16b9b032b80d8ee1d3dde4dff66e6ee1a2eade6358b395f84f3e31b598119dabc7c3f1699f612d751c20ecbeb74de7bc43e1c8676feebabaf248677d716a900fe6c0f140050b650a546bb6f8e482e1b0afed22e35c3685d7c487479505e40d62ce4b0622e13fcc9b6655260458c9a9417c1d08a90fa1ac577aa718c08f208adcc234b1d6977b6050dd1947ed3c2e27ff2578441d57090119a0b33a46e06c71474b970e760d202908a160f5c58dd1dad60a12c82686489bb42cdda6f20ba667031da4545c0b81ea0a19a4a16fc2825706f4084f76657156ed25a7c9cf0f5bf69905d4a6eb79cfa9639b8a22b77cb706e99e73b9eb0d0861dfa4b227f6726816ea59092f90b1b19bc4a364f1c882c92c542842506e0b3561d654c77c61a9b0c4a6b022f1d428442276783dc3f822f0ec0a5be8b6d1373138939b9adb6ea3ba61814a3fa8b4118470c9b444412a15ca0e179d63829fc1f5d47e613a524273dcac6663c85914eb05f58768d91c03a0868e5758289aa3682261a26276d88eebeab0cc15daa73e1dbe8a8530b25749502c2af7aa5b127a47f9a832107ca6017ad8602c4a4026d574dc4aded607be850ee286ab4207998be22965fe419ee26ad05cfb1f561fc3c4f892010b38efae1bed6d7ea7fb5380dcffd33e85b7e08669a7588a44eebdb7dc524a29654a6907f70282029a0229877da9fb75a99c0a33cea8acbadf6c49e9bb5a6bf52250859a837b37d95cb2cd70885e4aa694f429ddaede2e7b91d6b6ce36ed93ed9c7f77f66e9b5b769cc16b120160d35e393b111e563f3bac8908562ff566e566318f1093b99bf96bc7d5605262d48c599be7f088340fc9b161c49c44404131d821a346da13db7d131f485cef83029c424668c34ca0604a7094747763a6cc31473a192a09d786e105c1fbdd7bbb0c7ed3839ba13009ce60d74912708e49622db0637d2d107757040760300c7d40df0d730c879973b20143901ab800658a0b5094b88e85d3652c2416e0bdf78847f38dec5af26f86604874800de948a72d702f10703650e1f571b2157685999be2a40d9c70f6f95c3a7860f326890b0c49b44961c920f311f0081058741a804c60db9064b3a6a283dac82708e7095115fc2d1a38a49b2429181201b8b812c579dc7f3ef0a6b3e3dccdcd0739890a86c484263f70b51f6c6fc312958e05845f19c2bb40d75131b8ec2a59e79087ce3951f210e576737288df5790660cdf1ac20965548ce12e834204a3312570a64e578260b56ba6b70729a3f7f75fa5f3f7bebcb5ba8cf3a75731e38d47aff5268d1d484a73dba4ae6bcd6e6b9e35d7dab176ddf78a3311c5beb96cafb1781c4e46158100d9c801eea88224c01053d2b8a3878a8dcc399c142553b0b089ce240c4308790bacb091dd648cc7630da6275e5f1471881e65e00021a9051808210b4a6a72c40d8b4d8e2b0e9c089efc18c426a70f29c2090be75bdd3b70e4719342869193cd7d069eae60e1e38bf8ac96350122b37156cccd260769c913a459bbe28c9d376847d8843e3cc9be24aa014d6c7262a2d8c4960e3f97749ce80cc212afe6d7ab56327fe34bbf1779e13eba4ab5caae578d1d4e96cc846662082d1112a2d168341a4d6836c382259522c10e2e01273f47382d0971082059f298353951d9f9630fa6a221268c709aa28490db1e4d55c4b0e2091f2735749e6e3437928ca04ca1640421b62b495e500185531a4b0ea9ad81e4848691931499956b266b41810db742c21a26308105d3ab4f655619ab501d88c36f55f177bdbb83d2bf21352e7e32eeafbdc660586bb8faa4ec406f3669a20f6ac578b5cad9d537e09816b826861ad80d476432994c66e7dcdd9d4e2a6350100274f44485138efccdb75a1f8277638cacaf753165479f33c6ff5a69a533574a69d7654b6db5947634db4a7f4a8125bde0696c4f29da93c97356544b05622f630f67cff3a6872738bfdbb9b8841e7d6acdb7c3e06725aa737141596ba3876587fbe7e83cf9cd9fb91fe3bd327fdb3d145701015effc1593358bf82f7ff5faa28a8170b8a98abf89bb3e96fb3ece5bedbb1e4bd5ff362a9ab916b8f5991f398b93b8bddf2ddcbe5cab9c6d248296d8d7cbd5cae9c572b297d6ab98dd1322845ffffff2bad5dd4126f9d0c8ab71a30c4a8399b28d0cf3f7dfaf4b778744524267b91ec0accc8b8bbc3780c8c11777777f755ed224ec4ff05972be7d50affc79bf7ff9d84fbf4b87bdd9247f6a06698299481d98d5cbceab6fab12770f588b054fffffff1e9fddf82b8c5fd06e68e48a8c08c8cca8b1caad2743f6b62b22253aa17d0d4daeedd7bf59805c5c2ac9005b25e64cd5453b17faee96ac57895f377773718a6c0ae4b61d0ca4fbd5e39530b86d86d32ab2269e433ec4ca1cb40258b341f28cbd868964fe27b7ee769cbcc361a2fbad775fa87e627424049507c9f868686c68bb7a865ce88f4015250c133fbc94dd4b3b635cdbdc8bb453f7820c15e309f944be66a8c9126ab4591d5b298d16e8e77f6d16c9fffdc9b514d8b1f1bad59595b6db5d5d66aadb55cb5d5561bf3bd9e67f3c018eddb1ee7d9b937d7085acf7568ae03aa727dc93556da2a06843dacba31c6b8058cd1cb3df3b24430de68a385d71686285cefbd5fbc31ce62b5b956d0bdea79a0cd5ef454b44e4fe5f0bb12c776c9e04bb7ea6a83ca18005ba3a79a947a370465184a55071271d0658678626c5e6ceba585715605f02d8c31a55f18866128431004c1224360c618630ac34161267219bd903ed78aa77edfe73f7b9b7ff8fbbe30c45f06711886201882ff5927bbb37ae637f8dc7eccc8af8379563ed9e7c72808c985a4186ef0c77fb34d6dbb6dd7b6ebdf71b9b81b081cc038a79e99b1ed8564efe6191bc2aad527f3c9842af0801927e2ca2952b6e07be0edec57ecb56e8dec6a9dd3defb9ebdfffbf9b687c0d171398e83918105e98f25e685194a3be444ae831bddc5f90b41e5ac059b2b83c0c97e8dd5f4e8c5eaea5a79f58a8e57553ccb3aa867dc836a5cf2a92e25b5d2eb2e421d181f1aa58ca0a71b6b035758ad472bd0ebeaac37586846cfda33d1a495520f532a64a694524a29a5b4bf9012f4f400520f0c5f0fc7d894f72913ab628c2daa17e420afe3d1b33116850c9b8d19611933f0be7a061fdb662dabfad7bf5dfd68c47dae4f88aa4f9a581778b66be6b892b8528e564ab3cb45bb3f52199ff151e027c675c7a8600994ba28e6187b9ac753e1d851961512d61a8cb452ca2e266e4613b5c45bcc8917d2695bd14f5b8c09c6557212914c8b9608c5232b537e8c1f2347678d81eb4a57ff5e7cd5ad4f7998a994cd28fb71f8f3971c5d7eb50243da45be37623d882f2c0f5215956b3682658d5dd959e54b4a955327482b987ffe1f31f0c7d5c200f21a183cb12c6a6a6cb62cb419cd668bb5a29dd815989352ca39e79c510b121126f645948d7369dca35676b562daba1ef77ac57870ff46dbd776ddd9efafb406c921cde417d7b59cc110258d9452caf8850ecce8e65f8c59fe65bc31f1f9999833bdb5b2284e8f4bc6f36a9db9a8a4779e308fc844ec13e45fa3abde9e0a74fd695458de15a80a1f7c92c67cee2faacaf07cbbee0a109377fd56beacb72a6dadb5ca2a23eb7a4320d7cae9ec0c062435564b2db5d4c15af3d38f25e527abb4f2b64ac85e308112071e62a01164436f6a77d048bf697d183ac698615a768e52e2c076c8a192c503a5f47a38a1b783ed6e67290fd1030e3600208018fb23364d7711b637d8e7e01c4072044d001ba48aeba5aa46352a9c00876ce659845e9e5fc3b2136b3571574c324755d8c164461005a8d02ca1aa43490667c05c91fa695af2e4dd68a0152929285e1323740801e3478c957035c7110c267643ce08278f52f0217bcd95a04212cb22614e611785f985ba24cc147e1fce8d8a357795bae430f4c2798353212abbf88738cc61be3804af6505558f7b157de04072a959118af591c213b53780ba63fce8eeeefffeeeffee473429a6476c8f26728327668be5d1f908c948fad1b4e3498f535212566a6d58a9ade104b4a5263b8ad5248b5219e534c06536c080d8919cb3a7cbeef6f6eccdf2766f777777ef76bb848cf25fca98e3bf8cf17f6639e57fabbcdbbb3b76ecdc31ba17dfbde63a738cb236c507f974e6e9714696ea6b4b47b12612a855e00362ec985932fb6729638cd3ff306a82029b734a19e3bf7b7fdf124176bce9cf5b082c04e36ee7ffc0e6cecd47e75f8aabca75ad255f7a2e6607feb85251e9a2e8d4a02057e6f637088c9ba2c68dfb4c50e243835bf8e7e4c325a237848c41cc57daa1f5a9825aac47ebd260ba5ea886acebfdee15a30b5697521a405c9806ee439e50211ab3178e1635f0b39cd1530bbb65f8dcdd318b003f1a6480c10516544041cd0412444003c1030ebc1a606001051240e000970105103033408b950508000099181823ab22445e542917140ec1cfbb9dad74caf8de997ba58eefefaac1d86d9a7bb7c36f15afb2ebf57eccf15a309e12fd3f95f5ae6fa74254bbb8a45c40231506cb1814e6e2b7f3d252492f928ba8048e9dd70c00040503960010148905a34912a3300682200cc49a3eb4424b8599c9e534912c16ca7310843110422288204208001200a0c00c1109750034bdcf546768d6dcf8ad442b0fc2b14fa76bc74c7daa2f831d632d0628af8edbb9ce106853c50cda842bb6380e7f5d04cac1686ada965d1cc7febc283c4429c0f0c7ea2702f99a58ae505334ab24ee20857c2e12ae649c1a630ab40a6398257d0c85710c1b61ba985289f9dabd5b3d1e394f793fb2da8b188c9a146ec3296aa8eaee93704035303750c506387e554608421f9bb6603294df492e11797e6996a02d5d70942250fc5a3236f61926050adcac8a7f51d8c0d80ea82f89a44306be75a2a1b701cde72f412c31f831506157683892c0659e260bc63dfb917da9425b710a573a4dd5bad4e661910c2a995f4dc408591094c52146f1f7b67388b80cf411f80657c270f90ebd79b1c3da534b8aa22afb5a66673a25949ca14fcfee53fd775770d853750700f3c37e0b12fdc31e69ab34b1ab054c841cfe1f7187f845aac46869b0bbd2a2971f16d56a9eb0207a1b3973efbcfd994368cac671a996996d2332b1487b66c7b4f109a2687f5ba9f08dbfe065b234832137f45af29aaa439c651dc88005dc023ff3b59ac481e4990f2a2e69f5c06cbe518227b8eb97a890c6a89507b7ee0b16e1b7cad0b696b91829a3731b895794cbbd5f9b90c0a4544657eb3f067a49cb1a8ec709f8ff657bda094201a90c53a9ea456148b134e15691c476e6895019749edee971d50d1a4e86ee3f9997c8cf119d62a3d4a3c95cd32e3e777e30ad1d191b1a4f0a9c7ef3fa2ce8e5a6766e884cda604c0f9c224a54b8c3672f8cda2b130c42786d6f56423673330f2a1a313217c1ef3a9d45ff6519df6caba12975dc0c2c4b43382571e29f1ed679912ba973540e7b04d69678b4782852661a5490e2c4c1371f007cbc5fd800c023a005825b848fa2cda3a5a1a047111f2485065f87b65d64aa527e41ee003e3f484dc27f0a40cbae015dc7feb16496677a0773165cc28659efe0c482516292cc8abd9845f6e72cb23bb161920636330e45226e6fc23e0e37f6a4cd3965037e59153b72c0a61a386048202c815bb7ac889c7e06183119d66eca03e5d4cfc4858168ae38eb8f52cf5836f24207305cdf4a1e199463b09e5e57e88a6efa02c0aaf173c31ee44223962dc087660ff77c610f45946489c6ea4e4418b4966d49d65b22611877d24c697daa38b4222c423df8584631c7a191fee28ae448fd4f9518273bd2f1b8abe6b25289cdd49e041acfdbcd5f9dadda144367541d4577725994c02148959d2e23cd12c27b7d06c5a102cd31e4070820c512ea2db457b2894769191d6b6a50209a56ffd014a630f58874d58c7043e3677b4776445f566dd9b70a2074a9a3a82182ff37617734eb312dc5347f6a61e5d53bfc425f9acf1508b99f6be84887186c1634c2482f19beac8aa72fabe20b1dd96c628e7807d3ead390fc1447c5eb9fc0b61228652e79df1395faa71b8b4df95f53025dfc03ba7370e4fa18cade33a24a1d7451e19544cf5d340de8f227adc511b168e35f3b38cd084728b28d8367ef3c90b9b858ce41012e45aa811618d006af875ada84690f64ce8df5e80ac427b8fc14d3a634c0d200d2c4283713ca6be98df0262d737ec55ec76c044a87b08e5229ad450736dc74c609da8424680f9f3ec4a19ba4571c1180c549d13207816c041a7229717cd4d5b404eaeba4f73a5f7bab65ee7106a5cda78d154eda35fe917031b26654497f235fc768e03993b6a990f883a68b1b2203052602c2e49b697906e8bc199639922a76a3e61e4112585a3c262c5750702dca43c1da571130d0346220d5f1fc011fe6e541818d73813cc4de7e58ee763930124cf94e309e67cd0af16054690adc6b0a15a155df4308e689fef794b7e77acbe8a8640f783b49a2c18b6236fa57bb3f9658b9998f81598fecbaa2e5c640533cb1be33aa5d12df2b2ff53a85e9b5b1bed67b6b0469a03a7c7c947d6739452825d30e51b5023a78fdf8e42c5bb2b17ca69cc7ebf84fa30d1a91421e2c6495b8fc31718f69e1fb6663e0c417be562a5284d0e5c777934615f0045bc5b0acf7b99b574c69b490d6c821433e9761ce21e251dfa80cdd9c0c5166b4160b34dcf5dfd2c40674f0a46daa034a28db0af5b1b60ddb570190fde75e1a9411150534e0dfbbbc9d6f03d5d4bff093d17f659ae24204802033c04cd55e68ac6d86584c10bb1fc9630abdb1b95c7c7a4e49798406b5a72306f8cf20ee7fd251df07129a2431f61b903466a9b0fd10dd2517aa5b4debbcfeae3e1bdb56876a3bc86b6f4e2c4c006c4916ffc286509b316c09f76505c17af3b19877a6a38fc0fb775846ae15b48dd572c862715700899d21fb91f51e4deedcbb6bcf1dc70d47887837338db1da5c1c192a82f7880f17d4cd70359e42fbb19faa12f036ecf907a5842c2f4e9b5dd6cfea6b43b1fec13294069a6abe7875c6f26db0b3d101fb1bd6459e1e903eff41d583354f26120a414607a9d5da3098c5cae55027f15cac7575f6fcef058b65e1f1a33a563fa09bb1df51c5a86934b2e7bc485dd022c4feab6221b44cd7105edaf9d8ca81c366554368014b5446e6b66fbe69a9f37507e636ba50de68255378fe865456c020d3b3f48be6dfbaa31d9df48fbed790716be3d2b3248d670646652f1492ecb644f8ecc83ad8a3105fd7bd1528879c057ca2003a49594affdf0917c3b6a21a5163362be4d5095eb8f502a84d67087c43acf7fd179db142d88e0c40f0f4a362d18de5eb76392b365e5f4265db79ba32060538a9b305f2615fe848db72d0a03751e89aca3a9d53310a009fca281c2ec90e34c243604831be0d07467f06fcb0975fd735669430ad87e95bb49b9db95a599637dd2cc07d40fe678195d6ee78de2ea05362c9c48a7cb0ccf324363f6160c03e747fbc53ab45ce2bc9345a6b995668372a53d666d94eb53ca6b8c934e1d4d2b08b07ab6e45236b42c33632179270182a1d4fef5d04b748d39cf94c65b7cbf4d9d952e4c3e9bc66c37b34a04ce57ca7cae3b14ed937d6857b1bff1c1b68c7e35fa52ec378c50d6409c7fc820f2d681657b165ce8ffec3ffc34257cb98cce529aebf6762bd83b7d6ba5ce8f28a97f176f86a113e2ee53a65bc3647ec93c6c837c2bde88ef825ce926b9459ed06f54b8dd1db08f3d21c359f1a27dfb4c726457ba3b7206ac45f553acaf96b40ebee79086bd145b58ea265241819de0e2ae3c005b49581117a832ec068b4b8059cc60419c9d252e169133eaad1737ac37516e84ef11a3ac851a7155d7386d94de078e1c0b9748e246e0aff6a89259f4e3e59bfd3749133b79ee494390edc0b64b12ccedcbc7d28e2086a4996db2d00787bf8ca252382dedc1536ec339073ed61342a4685df20a7a626fad18de2ee77666975bbd58a18543004bf3c318c329a2ef1229c26ede6a5db6210562f7b444377a08c60bc0a438d8ab4eb57051d72f845decf2106d685bf3cdf77f4f56c1758727911182540c62e7d859f5e69b9bf04aa43850ae600be96df0b7a56b9df5c4b07a27489feb3169fdba2c48b128dc6f68755d038b1339edae6ed493268b989647121d098e985c961526bdf53cfa721679e7791e91ea668031b5e0ba64a1c0f437a896bed7b573fc250c70d89c22c08850959f86ee6f28efdb49e7661bc475b572fe0d74774e7c9c514931e99f3539f834a7f4f7351b48ab70cd108a0b0ae96af720cf158e7968f15bb52c747916851f994057bce37a244a88f97dcc418e488ed3df8b696d4fc0ed2c39366055d4b9aa68ee25afd17e384ba2b22698c08d2199732698f201c3792137d9bb9da6090bac8c6e392c7e97aecb3e3910262de2e421ce91a881cf34991d4e428643d6a21ad43b2406a744bb5c8da41b315201c0ce8e6d4d6e507a369562066052614b39beff41fa8a08e4429e8a8bcd18c7526c88401e37f071f01ba5f53aa32081ac7c956fba2bde271647b698e1a4e42817ea62cf69cb6a1f6d884085a0b8baa3abe5668bcb75a4b88bf12d64b1dbb2ae4c5d4069e2cfbb338b88b6e13b2f8df4c10be347babbb3600ed0e6152b8956a885190481559b478b04b21d060b0be91ca2833524e478512a201d6047a11a75952b90493425bb9dce6634a481d1f7e01befaff92c2ed8e3356ee213ae37bd289ecc5bbde3b3b06de7b79ebda0bc393220053d0bdb2c2d918c357038cbd90e55f0200bc264119b9e6cbcb26c3378e34243adc83912950f8790afcfd52b8c22956806eefa9d56c1c8e621ae3c8147a9366e420551ded3a710a672fd5c5908bed1065e92d696f299a97b1df38a2969e7dcb245533ba0d6574490d19e3637cee57cbdf3503858bd4ee795c2b6d710ad52ddb0b42ee1bb1817ba0669b3d82cd2f2ddb227e3f65bc035d476e3c153ab4861f39865846d3c76766034b4e0a2ac7e6ca379714fca57f5662fa9615eb94e1234f8dc1ece300245550d49a8a730c4456e9b1390464de2afafb62c80602f829d673446323aac067c230c771d2f933cf79f6d01eda0f8b9c39e39397b2c25dafb5c88eef2632b40ac4d8a00032ecb3e40b9a943b72ed9fb84a36598628c6737052a62e868ed10c096eb5d4ab33aa8602f8c9e5adcadad998bed47d6264401b6c7370665a0e75e53cb15ccf75c20514ad9f1cd799e9ca762425e6afc0623cf4146a83b47e06e8ffe8f34efc6bbc174cb73ec8b685315c20693127042684298e2c89355a122ea35b17e089a18101a9e22657d201a126f4b386a315812e273f7d0f506c5a7462d0d7360efa9ab616f5bb841e442303c1a68598d38722d52bc56de50e253db26e6e227346abbfded3552633c1a074de78889ec4b04c7c44f208d3dc465548e9484fc3184693214b1e9caa2eb0b6cbb16b562579229d88dc00bdc6ca24dc7fe457319938f0e2852bc057cf15e4d265a2d0d9c234e0b786ba0ff11b183b44e965800a11afd2378aab550831010db651399fb67f1e3ce0e99568a8fa65488eb0f551a947ac5e097998e1da93750355d77a26c97b77a1d540bc74ce9233fab3e47874c765a576944f2c34e600d0f5aa78b2a224ef0efa5222eddaf093516292cc300e1243d9f362083a448186815931d6709ef899fc6fc9b4955b511c6fbb5ed1a6a5247eb9bd3a4951184ff31668c4bd8ae3dcb7012974480923cafd8635e9644b07f25cb007926600544de4e8355f72aeb048bf4e3e705edf905722525506dbd0ab8716ab1043674be7dfefc0ccefd10b106c73c265913975b11352ef33add7ab45d9275c29f8d74235f08bd770ce7045ff1df02b4cbcadddf373b0b14025980c1e0bb12b27a02a9febc3709d68a763203063bf13c95717deda7278e9a83c9b526ec2c1bc6765248e9532a8faa44dae816985fa1f0bd468c24da1a5bbc017fe50150f4c2acf22206eae1100016a42923812363f5a9a0c875d70c915f67175ecc5192ba68b88d9424047dc8c9fd1705d302ffea962ba689233cbfde4dd13b26ef87287d3c64b6c7d9cc5ff61511dad46b8cef841dfcd458f0dbda5a955a234c42d6ed94bebc9533157bda74918860f7222bae02de833d38706a24f0e474950584962951a9fad3eec5de38eaf5493e69885d7026c5479501a79e7999e2c9865206094a8c7870e8a987027b4ed2d4980b44669222693802e25951e4c3d6d7083d94daa9cde65394eb419e0883f263c4729eec2fdc4b724b5192421d73366d207411d414f0e02f5509a40d4f420c9d74a8b7be6871d3915490520c7a80f08ce8d3df76f22855c30999d2a17d02ca6a1ca6e5bfa3cfe68da4e8363131341186bb9ecf4491bc6c7c29fdf8ab3ba4b196c0e032430f9722330af1d35ba9397fbb7b5ab7ab3ec9c6bc2028d279e7248455154dc4c677e1f9392f912ba4b3a27c2219b10f840218a3a26559bd417b630e3dc171c079798af1c205570c6e8b05cbcf8912a66c617907730c1f00e0325d9d2e3f2722b4f2a478b2d067d72acaa25d06840e6821401dcb1c469397970537022eb1d53943408b25bed8fdd5ffade29619a8b0fb9c6c1875b83b39030019bcb0c4e988caa0a5407e7580cb36a28e81ca619dea42a7eef1bcd3b5006076724c4c1b9f80b9965bf6684c16f06d7d46d2681f66748b71cf433f436598416bb2b948e95e3a676066f3f36023e6f14326284b0524b3b5ca61841441139f745a9512ca495ece4a281c2754ac0791e1a8a6d62c6c83bf8cae664edc2a91aaee5101d526585b7d0667dd4ffe638eaa9e16c172a1150cc1c68ba168be28c84fc77b858c6f28f165036503519f5ba7a47d02c3d69159873d95777a7dc7e35133195dc999ed4ac00fb9de0d4032c22ea052fb8fb3f6d0a859146c5a7c74e030ad729b1236d35208f00f4e12d307b807296b2400b4cf78d5e8a48d24c4552aba9bd32383df7ef040209da585782f0dc8cf8d54fee0f09abe0c2b09e24be02ba62eb5231be84763095ae2b32c9b099689a29c5b81aac522dd432eb923025cd9f90c99d77c14af958bbe82b0b40c3cb196277213190310017d64d35180ea85c03ee92fd323e49737a9599593a36264dc429fc6f0b8717b6d0cfeed66acba95fcd17bc02c9555ead5005fbc4ac33f3e77cf043c3cd43ced7711f58519f057dab240f034c821b594a3dd045f59060835359aee0b0e546a421fb55fd63140432a32139416b5e36aebb64d35b6fd3836af86aab2273140e00608999a220abde0adb3a620588f13e1898427fa19f2b83a1bfe1e146f4ed3ef08f7fa0603eda035a9396de1f825b17f40f3a3ed9c80afae7004dff1f9529eaa835c08992d6d284d04297f4366c8d34e1d62f2a85d02ba51b3cf2fd355d292e94cff3936a4de256139a172e8540934ef9e23d355d24e9f469d306ca1a1d1f9742503d1426d9cab045f1f930b1d4d17eeb5289762b98b595e2c0fce8bfbfdc892a8c62e89466229666c6dcfcdc5f01947f5f61ffc496912d10feef870250dc1e3225444ea1bea2157b212880af905f8ec3fec1b0e88469de58ab4533c726536c34747678f71ab10646b349d2272b34fc1da5684385c99d36f943b5310309420afdf63b3ab37d229197d9369b70e6389129d2238c4dea5ab3f22b8476894c108f3bc3ef8715179508e25ea302e3ff87f16452ae60bee156bcad0fe00962a55727cb06cb8ef37aa8b2a1d7444d17d840f4009ed055d54d1bf7bf2fbcaae2709591bfc795ca8a33cf78c889493a8b2c534656b72a18aa01b45511eafaa95b7c5f9c16f3965d16e2acd94a7435d1f5db8efdd80f8cd88609da7e3985e8e3f6ef2f53eccd665403680615e3dbcf502907e30dc57af6a21670d0c67769db10d32058a15f61459a82c3e005d25154e8ebaf01c19ab2e9a49775edb33241a05890cdcac99740c175012449a387e72245c577931ea96acc6c39c848f3022786faa3f783fbc270a3b66f601e708f543a8892c81c7afb41fbd6224a3e10c01a49e9e1d31086afcbe1de37945f32d9b09ac378ef1b2c5979e3ce035bb9d1cda17dea302e686449df85c9d8caec2c13279d89e15872add5d1e4e6b5b9acfa28ef342a3e5b1a184d512f7e21ce6cfad920499c1fbb91d63e22ee0d6d0ed38e574ebfa35383d5be56a665f40261622377dc982138ec3b0c107f21a008a8de9aa0d7200718c1b1c94ccee96b4ff4a5a40108d1f0c4fcd98a800b0460e4927df2f7b9f7b2dab314e4e1bd96e83df07cada14445a4ed2fc123258b906a2dee983c2c25e5c1d3cb54e8ea6109ffc65817f8553a2b7d51188523a69db82b33174fa5cf979d0c2f865873aee18925d9de205e73164fe54db8514aa2c290e8146d4874b9520d2731ffe5975cd11159390ed4bd7eb101630634adb0a40d6376c5bbca3b38152b62c6817ecaf6750c9bbc09746376d092378196a2bd4a4493d5b1b607c2fb4a4a91b48de18bfaf226d0cb94027284c2494cc3af42a28f6d45016f2a51054d716978447445217db9531d29d2e469b6b07d9b54e6f1083281967ebbfb0b3630c1c7af3a7b9c4285eb20d1f7a5e241fb9693b398b5f0e592641f72f10bac17c009dd8f2646b83661334a20a6b32ccde57613a2e4cd2fa6c376553d1951e62f2b0a1b651ae1426c16facca01d767cd3d46ccd53123a5cb2786ed75f7c5f5ae2bd906e7a9ccd1a292eb033a569ce9b93384589a33911d04be9ad66f6dea1da099c7a6524fc3b4c64a310552fe983d08846cb1cf1a9ddf5fb91683af0469e0fe311002c5e6edb7f858ceb89d05759405dc89e8be38808f3cadbdbc57307ac44c6f2bae6933b5d88f3a8322e4bd8147a8e9812397d7411f7747fddaa9d01234f813b522f58a4fd8b43c4f3ce3c51661c879fc2cc6990c60168d1a63477e4ece51a042a0e8dd3789f7524da4bbdf27603c80abc2043e8735987aad0f11b1fda3d391d621c0ae4d68e859447dc084e09959521a5378a048fed287f5dcc87fb069342e59f43ea05cb352069c955f4727c769a3463e201076b5cb0935f4a53987e9ea83d4c075a40217006d797cf0f00a1b2faa4437cca94ada4fa99d924d52a6cd2282e54968a8b7ee1ad3f1fa4370153a44265e5058267bae171cb587a33ba93d351fd863be6f3f3fd4c28676114e2318d52ac69110e2d5505884c2f5abbfedc0934a899d50bbc93a21fa80d80d1842b3e21718e5a4776216a3b6bf4299eeea317952da1b3cb9a445d2e7a1d9e4c1e7884902270b43dea6b235b1a3c6a859698a5be42481930ba9caf4c00626b5f3c0a959423d4ae8d4321e4835df6283eebc6e1995df60e35f40272915b8e7f37fc560127e437407bc9d5d0b462a12ec8fb5236d7852ec0e36370536e0c80ab6a49b89e4f1784f6a10116ca0e95b1446715b428a8e5ad3928debc2d7b8995a9424db4ce7c0d99d84739832c1921b27543317d36fe974307afc712951a563414935fb4198a76a29b7f640b7ba5e4de96792e94ad508a3d95345d326e513c2fc8e4092b1189d6cb4bfadf9d3bb1d4626ae0876dd229e8e29f53734e8d836f2d0094d6843ebf5233b0c66179630e0f26d97bd3d26e53e04a352c0f7a4b4fe2f0034956e38ddf4ec60dca41960b83efa262b775124856af5eda639e9846b0aa7a88d7cfd02da3517fd27196ee82b93054b23f50e99ea85ce73ea3b3a82736f270afc36f2fd40d06350c6ba6fa279ca800e6ef2bac81aa1f0179f3ac97b192cec845c82f732c2a00ada398f356174684c07eb57629e80411abd412b4c6be20e2c11dafa072f8065f7c3fa30094d3d59824f543add3ee9d06d893da07fdacd5a4c0597c222f04d0f290ca79532ec1b7f02e07942ce0d466968c32c576f49c9a59b194c8d461bfac2fb1b0d7adb247cf507d072d1716de248729b179deccf11248fe7533904c1de8124c1442b28f91a66c25ecff20d10edbb53af5c8d79ff3e2c6ae189a660a9e69743c2402ed4599e20d0eb2bfff9e23cd6b297484edb81fe9b0cbe541f0e014cd52af9bad8d9c5b4456889c396d07e8dc227533a35505811836c4a7f37cffbae1a453a6ae91914dc14ed62c522f8fdaeba1fc2bfe909fc426e0ee037c1870d830cb0216a892bb23f92b7bc64c7d3141e1a953804e1cf5e85562a3302d754b1345c7331b355f09484650a423c282904eec1ca97677631bdc3d3d05c710eb705b07edc4cfc16e2a4faf5546dc3e79f814f52de94e5bbdc22cb5347b0eef071b896f3376a7c97b19d641635ecdad05409aed4ae9e72de92ce3d8236f2504320ab2a2346186af51ad4d6339417748645da8a54126040e290b6aa1d2880f1142f7c112120f6acc026b6918d8cafbb451cf709350252191b56d2f461bb86606f864e40fc7f2b18e3b049a5f0b16391f4fea1ac50a76134fac63c931762dcbba6c4108838951ff5f408fefffb057c0f799f5fb5a781699509773ce4e08db3b42044bc92f774b9d30ef60fae8fee57ac3204fce703710baa4ce519c9cd739bb067aa477d825724094bde08d4334cbd44f6361ceeec03eb155a9b18bcdd1f2a9f49548b1a8411f71359db154b40bc5f56f11c221743b5b3b51194094221346ff771dea6f631de8c9174148e55cecf2e9069ec0912f69fad0d2927a9d15a3307bfa494b47d9b9b133e403615d6c9ad9da413be323f591cacef2c24243d160f2ef4b8d7571db541fc18a645f521d9e958859d5524b097cce1a9d3f5975a522b3fc6e0ea96684e07a95da15647cefdca4b97216d1dd122e3409b3b9acfbbd9a9d231fa3dd3138bcf54728601859430cb9156897c5ae506605b5b55967d559551393e0bbc13a4bbca9416fa0e565b10b0859db4f7282e1a97a2316bd0f9fe4200ceda2e5048abab276aa48ba65c900b9c9843e4b85fb39441f54938a29dda0e7e01bf0045a3b34668649dc44ba9081d5de1546f686f6c6a0e2fc6cc2ba86e50fbfb07ca9f2f744723aa9d8b4d6fa3269e5c459334fd6728bb5b811f8db6a17721c0095534b49ccdd47310d708f129a19a6bc97e76eab5db9400cde3544b1fbb379347a4b5e7e3ff388828b4388efb3665cd5ee011d4f2f4de9120f2f0d2e35c3412bfd61e70060432aecbbe9df40d0afde2ed772757e06834bfb4b1890ce2055421855ec723e87b3d3a33b402de4a92162f76eb0daf9c50efcfc0ca1906258bfc91ba67ec8cec69b490c7505115271c56cf2cfe8449039575326dc7c21c22da11de92e3e4b5ce5e8cebef023fc4c40f7383a00435d71cf3cec886b0925530ca70868528037b8f7b0d270894a2e00bb8d1f7484b675acc68478ef300b2787bf6d0a3e7f0ac1ea1c760a7490d8d5930f0005210e9d18053e1f2971211c0efd9b7bba4ba71da90a4012bd483ec2d109aa196e16612019157968e33014fecc42de5da0bcb9ee603f3c462cee3e40ffadde971d91663e665db8b071e5cdf919abc3099f0f9083a5c60caf7e86cbd26b60de9c965f878eabf5f4cf51338424af576013ec7f04a9c4e93c3f40734b892e4c53a53668e04a477d9890af4756a56c5d8b4e8826c393275f2a647627498068626b0254a804959d1f906926c0ee915cb013037e1d4187e37754c22a7fd8f90146a4afdffe319496d13ef27e6a85729278d89b13ce0fc873d38aa06a977b560ca7af55aaf58176c0610f2603770507baf68297ecabd16da551ce0fa01832836a058575562810a2bb7166b773063e3bb17cf038573e4b2b3fe0b1616ea3a5a832e8fcaece6fa0f39672294dd4a3cabb3d05b6727e40ab261e20c11df531e94bd80de4ccc35f2b311c2bbdb9cc63180273624a345d737c447fe1584e8e39f3020b9e4ac46fab5ba0f4be5cc68da900c57e17da9ddd5cd781f3032efe8c76a81d2eaccec558d2e8ba45c041f07ced56bb4d766b3b8a0662a9c5f723b2aad6376d6e8145ec7b5809ac851ce31c3900ba102f8f9b3ac343adcb380932fdd9fc00e2a52a4e37e77c4ce2952bc5e7f395f0139f8a4673313b6ee091d9f8013a370c740b5b720d50e1909f9b73ed5fdaec4efcb139c09bf07e69af37b70430d0110de15c78ecdf285cd6aa6641a4deaacc0510be7bc352123e0aa7b02e9e7036f46dd761dc081406de6aee65f6e63a297b6b22dba1e52d29ddf0441512d4de5cb328881f1f3b7c50e58d5a868b85a288f7f1a494978e804d255088266683f801f27e60c6543e9189ed1fe51da4c140b763ab330ce80b19c00b063aa5ed12b6cb7ea30ba65d2139596090fc005b44e2919c77b6b4ce137e57b01360365ff950b6fa13edc881f4e9df21caa46ebf8bb59938048151830393d42b4e0bb9cfe79b5d93ba4def1b589a91392590eb3ede31043e44f9006783362e02e83955f03618850a1f5711e0587a43067da3903633ed2811832ea28da542400da1d50683d60df005d5fe81839369b3bec7101ad5ee4e40f53fa0be0786a8aa1d2a4136243aa65c22bb1381153dde83b600785bb66d3ede0d2e81b0f9173aa450e5fb2d286c9495d13f5e113a8a0526801d68a66c5f13179acae4c27540ff07c1a9a98c45e1e7c0f7dd831183c1de791ef2ff83c273ba527eb71b246501324061ea5ff5627f7aa6546f7d0d9bf05755ec2a2b150b895cb437ed9d831dbfd0159e73b2ffd1473c23dea1865691304b8abe291b7882fbfb721c5d0a0fa4418820abfd3fa7d631c470fb11f9ce16530eb5e9754e9087d10876c1876f3f42ee80b7f151e603a090fe0704a3547e6f1691f312da2cf5bb2f11c0c25e6ed6240449016ef75dfb84e0a53d9553cd03c561aae661cf1769c2ed5d1bae9ba2b3d241cd8d4684c7015b0aabd426cd2898b885731efd8d258a4c794a7248d5a752e0c8583595b3b5e89584e1d94183a0e9a23e040e4262cb0825d40306ac767856a1ba42035e3879645bdb9974052b5405c450db66a0db9546f92c20347175df237accbb368b0d14f48b150940bb8dfc2bb8dc8964d573c1ec461df2f9e2f983f2643fed99d3e780bfba2b4fbfa517cf91d58b1ad37f3f3471112b105794c77f52fe115e9fcef22b00a6c4f1a65a174c8f98363d50ec5e4f597a9e7b2bf2fd18837d2ea391d7b19a1d869034bab74d809b36be46e6980e0912313537c4bc47248ef062b5868513bf28277b7ae933cd1f88d4d8c0c7e71cb88e87340f024fd05e7e07158308edace002a675103e34f03f48bab98d91f0f5fc2163d3dffc27db61ae8982aa4b70dd0b4c770002ac387088b265cdb200d619e22aa2f09cd46982574b0ee5a1b875bc83824e677b1ed4850c68a44b23e2b1ad9df87336776e0a9ef87019831cc6dc3324427b801c0e77ace3e59392ed6b483f1667b512a459aeabc824ec9d96454b5d6c857159bad42cadb349b4eb30cefe43e6873c8287770f40833c0477c706303e5a85965dbc3ab7cf0a49bc390bfd3d1578e53c2ceb420b8002a7da486f38e59be4cea94ef0d14cc68a93735321b807a2e0380bba5dc64fd67d2768878d7d82f97fc6f263195e8615f0ceb412ac08cfbae86285ba2a73c758d1116fe98170acd04c7d0e0ad2e006b5c0590f92ec7c9dd3392e1e2b14aff4a2537eaca8055901bf17a8ef62716878450481fabd3704e0104d52dc1ef12e21d00eafe0ee2a8804ff6d0f26bda2e25bd5d58bede53ca11c4d1e716eab95dad05412b0109db94ae42c54a1d41784762931970841148352885db6f812692d0430cc97bd4fe868dc88410cb88b9d74c468b848ed08f87e2e035b1af5d7ade42368d0ff3b3b2451518ddafb6c0db88abee92a2ce8f244094ea0c0b115a101844434ec4d75ed7b03b9da61c9a0a95880a259853928097e04ccb28b33aeb4ec236b308e11c2af587c50323e1007a651375704999a4a07efc3842709303f85c00b00cb356c961544f2e616891a2ec428cc51fe7a7f902c6b47251e70987c0764d1cdf3d2dc5989adbf09b56db427f03234f43a5728ba468e6ad768328640255e0abb4c9ec4c1ce769389f536652d5cedbf31e1383679e156597ab63e19447b513ad815341a676b4df15b8488672061f8fe9a5ce59e6a405b506fc49569e242299aee237580e13426fe951aae95c743c7c9319074092073e086ec19570fcc0165d3020b7060d23fba2e56010e741215e0a09fc6bc82c4c4b6110538d09140010e3ea3f1aa81d857edb9683abab8997898de295f0cacb922c954294a8a2367de6ab1e078dad6e4de177d776e4f4da8f2705ebf2fa9a127141a954e285d3ab0833b374deef8b99f4183bb7f172e847f80893ed4d3650dff67f79254f1d294839c71113dcb35b741cb3575f1e5ded74faf85c5439f5621f196cabead5301352b2b3abe2c9be4af7ff00f119282b43a319ab684035a6a469f7c9ab2012d2dfc4a9d50d480dc8986c77f42c73686db4519da513967a07fc4ad018644bb82f7f2a5fc297153bfad010804a1d5b60a787d300922ef55b9912771e0259c71d4668f092ff02b05b76fd8ddab78cb95192973b1df102fbe17f4c1c48720a3fc5f0c2ad4b28be74540132a3e043af597fb99a15c6cb0118455b26a787ed58e7e9d7c97cd0aa0b476eee71f32863fa129ef19ff1aa4a039fbd1b1b67d55d2357d01aa443da20bffbfb46a288094a988951e6828211d98246fd43912914edb72cabfd7fc2104bcac30380c4418aa9862a4e576b46288566b0bd0ebc5441e4cca9a0cc4e07483cce72e1bfb77b90de0b20a5ca154a5d72834d228613d3ca8a7347be39a3204f71022cf9401687c07aeeedbce7181e48994c5a52ab23326bd8a75d88cb2ff5858a199a9278e4c89b7a3b13dd05132fd9ce2741706195e99efcfc0969039afdc00821573f6ec86d5430cb86c7fdee967bc176c49ffa3631dc7737a62560f4348cfed5a865f4bdaa3ae876ca4afb3ae9997f5163464f85ce8c44c1f688126f002e31fb8b922e27fc4d1e1048283ce7745dfe4c91cb70f04e1870197a8a4117bfc8ad6e955dbdba6b7cc7a9b6bf741623045d30a8ec1fdd7eb2bc7432008ff413a424c728d8f47eb4d4c54ed7527ac2616f3521fb9d45e8681a91f33aa2e9638faf1d29a257dbb418ef93c79c39acb8f243ac1a7dd4847f30acadf748b3fa769f412e5bf4aa6d12a147f74425a7aaf5d2736029d6feb73805ba110e56bd2df2133877b2f6477d29febcc0b7a3b64737a4fcdf1467e6f042a101c933c5b9f05b0f5517ed333bc859f1bec923bf04cf35f0bb37440dee0d74e0050f36d7d0650fc89cf699a56ef005afd293f733079740b7ae3c5859e35ba43c014bfa8d3b956c25a04f42d6c7feacd456916a2b14d25fa6b0332ad1eb7f03cc00d5c6770bae1468cd0050ee63117cbed67c49f5ba19edf2a3932b3d873692db366096f17b220954856b5f3d95400ff00fe8ad557fb595a5de496fc5c2f9aeb5120e7b6a99e612817ec29c6b49209db25e6f06bdc03575acd49b02886900591db254c29895a3a8095fdd8e2acc586baaec22212f1612813c0d7f2817b4c653e109fde623abc161459860b0adb84cb81f9127bd2a0936d58d447ee50b39670444c9fa566e7c76aba19831824380096595a3830753a742671f19c5fa388d548975ed605bcdae567e0a832abf9fa3a6964c868da2c2bf2ce98f675b0f9c153b1adedbdf74e52ca949294014b004f004a00a01bb4db19a5b6bfa94b29254f8fbbab6a046f610bc0439919fa932dc370c5c39735e9c84219b7fd7322b03e3d53222615517066823b077c70e26e7ef5d1b7b090d33842bc03435bde56722f2504498bd3a8aa188b6129b1e1516d50d0841f608a48cd4b43ad6fbacd0517f462b28c81cdf2a266073af961b2e538a6564eae563a294ac368eb90a2bc757437dbbeb92117640248c633bb1f6d03b0c95c4357f5da4d4ebb2b137b1cdf9cd56bcf97a0d7569a67e4b16d415c17760ff3145ca5186b99ba97cd58001725e0a4d3e2d78e1e39426b13ff7fb7fff6ca9f7f47be82ef2ab71717717ac88fd2653559d1eda45de1944fd4633ba5765a786a83b94ab5bbbb5b768ff221ea0df0cbffe8714f292abe5a6656ea4a5d2770c6a790a4cca8e5574520ba46f449f936068230fc99be838a368988b543750aa567ab31d6ba5a58f56fc18709ae93ea6882541b2d1c77d395ff06b0ebcbafc85fe56203c70b7e5de11476d8e65ddc347549a9fc1aa1cc6c49b8beac57de244c9e62a59024bf4ac513f78dfd6f2b3ea887eb3e0bc49b022fb8e9c648cdd0b66fe9bd5efc4671bfeb120e21069e8b4e29f61f523d7b6ba22056ac5ea510e6e32a773c91dcb32e114cf83d93898721b8ef9ad7a36734ba269f45333c76a06c4d12ec8601e373f6cf930d77f85ae68e0d8445a13e5e0265741834e831735c7d2e0302268d2afa4b6ca08c1aeae0e9556772b3e13c84eb1676ed8c30dcecc2d0a540e61cc1e44ce2a318285df176d83c432d858f87758b6b50b89323be9d4bb142906c0b9ad7dabc13683a555ce896e8c7644fbba627bc8c7b4dd8a345d0738b2500ab6aa92e5dd14aa441f743f3cf973b59efcaf25b6381902fa9ee829fa3e0390ca46880b2df67c1f7c0c8c3cd7d9899d58a8a9248c31389cdb58b482195b6690a74ae4de2db180822fc0dbccf8009a47060e507dc919fc576fea0abe5b08d0659338af26867803362545545eb683292ee9399eac515de408ebe01ef12e0d6f338a42d2ee846627298dd966aef1d188d73b8af57e8640780945fc13e16dc1b6f1662e0cd2d01e51e7f2bdddd3ba9e265ae657fa2b86f6db30497aee22093ab9089fd0d09147438477d4615c315e44efa7ffd931d0499a2a3e513f8285e1782ec381c2dc3c816c5a46856f993857736619c1e12f77e9d440f6882a1016f665bde556127a54ae58d04a8fec33933057e6de8de746b8187d7f88ea2da804fa179b7f3580e8a8cd95002e41ef94fbb85f3d31533e2ea7bb036180df5b409282021f0294f148edc40c84d58a8dfa249aff94a19b897ede8cccee58418bf9dfb2ddb82a9f1bca425d8be72a0be33101c2d0d23cd6c2347f5708f6683665d8269977c33416f7074a5fbf31a344614ea7124ee97140a50279fc7c5e867570d4e5cb1262aa7511a30e72079f1c58b044c8abf8f1dc50d97512050f54f21510c8a717e5a99acd75f30c265b630f1df769d2f775b2b1ff290a547c76cdfd7c025d1087b898749173df97caabd542a6d4e99a97405d92d88afe0dc8231d043b5ef3e5d16937f6a392a18a1f2bed125b83440dc533e0690aa10dfa319444349cc1d293b7d2f0d1537f0d211c4c0e02408d7c0d52c86780664651c17f43d95b5b8492cf4080e4e6a68d3a03d1b1c14ea59e0380dd93d63df4e284f5e82a650f84f79464a4aeb9de00561447fb3c8d16761762d5a5958fd055ec77f23be13b563b2f8c4d3897ab2427447f04dc6c94cf71f3ac7b512bd86cb1eaf0f505b25d2890381cb2edad70babce04319240e4e5999a31994d428a8fcdeedc49fefdd1e350b3b1fea668d8495f2486b05949aa851a4abbd0d4c9544758a84066e40b8e3a617ba593a9b002480a391a29be57d23525ad1d1d8ad1830c64216334e51747da44bbfceb4889e74cec7e725e65351b8899598cc21dc9c96f730b1c97cbb4a142a9e42d6c190095ff92719173e4d78efad2f8ffc0550b5a9f491f1bbdc408086e19c6898887ba8f735709af93f76375b5176b6c1efad2dac2042b5932654417d213aacb9a3ea141a62a8d0e5a51e4110ad1006c2dfb01581009f189ff04cd9ab074b75fd0d25df178837a56b0658d0e134090ba93716b4ff2af47f0b4287dbd2b4f64c4643fa9936a9c8791b2c0d3f7ecef5ad2ae582d3ad8bd9cffae3ee7de36a46a349eb8572436e16b91a971325573c17429d233899542abf586b21b267f727e93c8fec7c24f3790a6df3d62ac4cb2da06ad53870a3ac1d6ee5d7f29049ceff6dfac98395ed20f385be1209f0577ef29a2a8f4e178b19b80e0affc744c81a3dfe994f3d12d7449f03ce0d5da3fdbfcaa25ff03945a1a9497fdc46f3a9b985f33ac154488e8d2d2d08d4ca0dd968c067e62cee62d4638d67b02eb6b2d4cd8a14b752aea4bdbe4aa0485c92894a6fc1a48b3092c75014ae3a83454508e711d2da9e2ae302d5972357cb9d06392cde28a9d42fde2b0a8f16b8e05057225dfbad872e2fdc6670e112cf6390547018ee064dc0d21587c10faf2b998bd415fe6b5f19e6cdbb655b5556d93524a995292013c034d033e0329d0cad48a4650eaba7ed53ef4b061c9a6b2ca944914149417ac0786fac415b36146823c393979bb72a6555862d0183846444c4c4c0aa8c1127da831bd19021e43424202a061950d73c29ac9f588c56271187571d4cd3e8d75ffd0a7048d46a3ac26652be1b48971fb429ff21b0e871c80a515f9901a7909fda44fa98542e12f7199a0eb612e050eea8f15094912e95396252525c9aa23b338203da47cd246be1229e253fe72b944565fb47c80c8e25a55919090283f89c8d1a798fcff458aa439babe7064d3a0232323c93f7224fa9410121292a3f4276a84b4635a8542a95422bf9218f429ca9191919787dcd9b4488a45944c26457e32f8f32949a552191cd31a456db1cdf408432291c75fed5390c964f27501650267086eaa0523222242fc22358a4f11412291296f5b35705a473170c7e331f88f28273ea5444444e444a6e8296b6ac9aa4624127f9f7862e25396c7e3f1b7b5615d1b4b81a229180cd63f88f2437cca27128927988de8a259496da1fd7e3f94ff3bf9459f42120c0641e89a61dde98185f355d7f589c9071ad9a78c7c97fa7fa0995b7e2b202068f9b174c921710109ea8aa2a0a0987c94903f1c0e87c3e170388c334edb5ec27420f504359d9c9c84fc93e217769d6e475568da193228999898148b26c392b5a10e331da41724da6edc4242428abfb7140a8542a15028dc5aa792e66e9c158bc5effbda13690d15693d6ed49e3c926c7085d8368a628519953d826dc2b08185903e63ac80caf78ac24667061998930769cff8932bb6dde1e6671be6224eed676a34fa861fa9f2ca88bba29a5675807686bc1f22522c168bc56291dbb66d3780a2ba55c54365b31a8d46e13f1a8d46a3d168347e1b0804164b5c4498c1e34dfb245221351c0eedaf23028140201008041ee55eafd7b4a5f23177c6c423492814cab41df378dfe7f3e598c2b8b9f999daea6ab16d3bb6390ccc87cfe3f15c5e2b2c113b6a9ea863d41697ba84c31f26feb0b1452e0004022d1f408480180171d2020343cf3ad8bf60c2992c623a48eb7616071260c0e6be86ff4c980bee982aecb1629ac36f4dc7fe0b76c066a0861ff81f5ed16198f397977820febe6ffde6700738979d9df39afbde3bcc22cbdff3de7b8f7fe71fe69f73debbdc671eff1eccaa2814e9e3776031c5c053c38cba7bee699779b526cb711cc7b22ccbb22ccbb13cc73bb03cf7b8c7585855a0289469bd79d68aee1ce9dc1a53d0ad7395c532ad7c0cbf5f06395efae58d73d532a16ea995f964df23d29854379489758fa0752db0f7f0efbc03b9035ec261030ebb1239eeb0cfd315f076ddee9c5e39c234ddfb8769ee693fc33b0eba9def73a07bfd61ded1fedd2efe887fb7fbdc68abd8f6dc5cf9449807d350afd3e99c255cea42e7dc4586fa03971ef007af409560b66f871c3a1472d8e9763387d9b7f4bae74bb48b7f63b7082df38899c4ebcef0b43ab09720030e2fc43fc6b2780fbbf8d3bfb78173d7a25b6e803d2dff18f67c4ea6e10a62b77bd3e6b5790d05b906e8c79e807f87e0361270fe9af0ce31362120e058e610394ca31b8407df0f3a87eeaeb1f6d2587e3142c03aae2893caca3d038d208e396fc2254df8d3aca8d09fcb9deeb34a8f69e4d698289654332070d0a51a3fb21b1ae3919ca06822b43e2d90b4cc186cb0223f378d0e2d7b170f2fe7a52f76a1e5a52c1c72a9324a575f3e559d9ec90f0e474e765f68a646032e85180d382e1008ac85c562b1f8caa87291e2051a8e9c51afd7eb11b9cee074b8327c7c7022a2b0b09111a7b5bdf270294f1e7891b4c204d25010295b89809a911b934c8f160920c9061c64735fd21140627a48abd50d439ac366ea03fedccead1e6953249ec94ec9cc3a2387aa346462628728954a396e078e084a6606551c21212161810acc6d6e4714356ea9fcff8f80e3078aeb0623566249a2010b24a90e1b989899e2f22f4b5c2c20f142461b8c1d163d1358cb4a204db5865074a0925b9b0392b3a30327a868ea33f51602c80da859550dd4e953aae889765df10206ddc18d492be1c1050c56623ae2beb438dea46365dbf72d6b4ba6e646a526f7aee94ce7a69a5ce438f1d2f05ad2ea1105438b1daf17d7480b89470667ab011b981c29242126b404b44939654f1c238a0208f2b9d1251735c3cec894c6cb8710326260215f552a0d2db64c60eda6221b181cb713d615666aaa31a2aeae461d70adb8c24291f3054d6aa00505e3a3622a484a815394a9baf425576d113a6bab99394b1af18b6a76b4a2ce68b62f1da8663fa2511b573269231d6e9e44406104d1b045293bbcd458124aab7222bb4978347998219c73ce39e79c73ce9b54deeddb16dc166359dc165c4d212d6e0b392c3706ec18511216167a0534c4222e29094bdb84796b904155a576b95109298bd4ae4e2b0d716f76d42661df742b2c0f15d0b9a6184acf1bbd178b2be80923c716dc8c8cb6e2eabb51dec383f811678af66dd7766d560dbe0bdb22acc0586018fe29ac8ca450f0c0e0dcd184de5c4b553d57ecd57ad556c548659b36db3b2afbaed059be516d9b3d1800f1a85505a1de3cd93356cf1134e85990af312e2b1855b6e933b54542e94031a9e851f17c0a72928bdfa6b3e7ab79c1636721755b999a2f2a8ea0829a3040459b334d7157a66c3386a9a809e34473a718cb56ab4febf589ad1e1d3d8f4ef4fe0189f7d9ddb0f68f1beccf6db6dc875557565656aaf4d28e6904ebb36e17d0160040b5581df3d5ec520d6d68614b596c6c4b505e76b70e83bcf6855d4b13c8dabe10cc2e7b5e82d1fd803d10d560f847347a9d5181a07e4165bdad31b04dbba56e6643356a78eecc730cbcfdb911459858eca0dffce37fdcda5a077e72c5a4020206787b9e73ce39e77eeebdf7fb768c0c05ef5606da2e82ff3ab7b1f2df2ee00e18e02501bdf31df0f62aa0e33a60e45e58eb66e5b22ccbf2f10897c81c876f6ab55ad9cbb31c7bded2b7d86355ad14b5fa547256bb4ad0a43733b39f0f798a473e01543c7143c7632768762668e020bcb82c8e4756afe6b24c176588c654378e6c208f5c288fa8ea9f677db414cf6ddc9e8f3ac7d98e3bff7a54795101f05d50dd8df64cf8197a64e28ea1cb242b22229a81c8ccac086bbd85b07750113306b3ed460a1bd2fe62de7c4c2693ff7b7b381c1e8f9daeebdab6790a2d63df2b36483bb426362436d4f681b240526b39a81f807a8a73437124983692de6eb7559459f104090dc9759b8c279cb05a017396839362c60b30f5e1bef9a8519fdcb88854462ee2a8daa866f8c159b0d9ce69290999e00266596b94acae72badab83eea1f8e1afc6c2782b32d2a2cc4150da3b120364348603c3766f8fdf3dc69c1e65e3c311501f9716f13427613d70b96cc8818646c37d05109dfed1374ed9dee312ffdb4a3c7de73bd76ee97fccac3f8159fe272fc8d73795509d9f32d97e254fccac3f815e7f2342fd5994e52b15c7693707299d7df7d4bd7ee9bb130c98832891409391a8bc4a13008b47fbe5ecddbe9e8598e61dfb9a7e32f01fce3af82bc7b29e8c092c20e96655d1dc734b20319600e2f323cac78b6f0e6b4a66aa25a763fa857a9bb851723eac9c65ccbcbf7fed869ce0b510417ffa06da2add96e7ba3ded210c158ea1b593a5a343269f14befadbe6f1c4559eeb5209664fc37c49f80df39d83d8ee3b8c9ed2c6f1c97f534c16e1bd2203cd8b8ee312ca0a9aacdedfcd15d2383c1e4754534a5b9d5a471d836eb993689080a34cb344dcf7249efd14ed373783ab4e394d051e8efeb6120252fafdb46332b9b10d1fcbad76070ee7471ee34e81fa189e56dde7bdeb4bad1b67ec777b636c6bd6bc8dd674fcf8fb71d37a4792c1f635aa5a3d967f63d06c48b6ab8fba2265a6721a49d6f587c65315e7e65bfe450fcfd71fcfe592ef1f077fa1ab013d6a571ed201aa6fb2e6b3a6e62d3e0dffdefc2b40f0c8e7d37ab73918567397b8d3d0f76e2bcf7a39b4c3a856dea16866e4c06876d6dbb6533b1d5a2b737cca4bf1e2c3c1a5c959d8e17d34b4fdb4f765f2ee35fd318e375cde3bdc73f4dd39deeba2f85d55a3c61f884eecb6fad597c8c95c1a2ed393b0252b17f586e4fbf0478f9dd4016ff16788f7f042bb336caa2d254f157baf7dec325581e73cef90c55bea55764157843fce7a30e689b5d51c9f2ee3fda59cf9d9d810ecd7edf67a793bbf425d2394bd0fb4c06d8161f3f2ae8653e041935de0d5b383d6eb0f4d1d37ce63c86df79a667b8def0e9e60cdb0339e63c9639ff5de6c0a02c7fee22c3bc188e8532e77f36205efa598a07bf0fe8fd4cf3aab1ddc580763b0a386feebddeef27c73f9f9318f4a7d3d524f4b8d7f580df06da714fc7dbd1b2bca47d06e880402010a8d3017d2fc488ea3aef2d4beadd3158ec5fbd4302791cefe25eafd78b9776894e9639c0b7d8b3c783798ff72392c18f6538f6b1ac93695927cb3607a285459b9afcdbe5b9bf82343758cc9486eec7855cf6282b6d9eb079607065699a4130a442645e38bdb44a5e6b207465bbae5cd9ad6dd74369aefde6e5187efdd6eae3ce44442289df70cea19c73cebbffe19c078f5aa8142e5b6d0300b00b0a93f60860401c12cdc224466118a49072d2ca03c4424ec6138683e3681c12890442203808c5b00803500080010c50210c8640483926a5b5050121e66e1aa034aed31d807506f3b434701336a607236b6420857c0dea0d1ec39702342bd33d4bc4e5287e59522731d90844c4ddc071a05796f85899ae0de42d34e8b3c2c4b0f299eb710dfa4e68dd833d3e0205642c9eaefe06c7ebce948ac1bbbdcff89ad37907b91274fec0322ff7cffd176861277b5bf20c7ad78b1038a9547240cfad5e6f04e19f0af8c27263f559ed642061f21796b6ee07277859bf0336ec4262ff9d84e715ce1a4427fb73a82a2914aa55310fb6de26d8218d1dba50d3c175038672cd13dc7ae2c693c1bc49851ef9ea2ef9ab56446e04f07f3165a63848c0c15d792d940fa760003fbf2a196c9d660d7bd29ebb69391f9d5a67f346d478f8df19e26d35dc5555cc0dfb1a556f4dfa56f909098e3693b976552b783e6ae1c50b0f4c29d9d6c38c70eb5f12e777acf14e6c8a7b32cce7278350b5ec41e39702f0a679424c2856ac2dddba3dc37fcb6eb7c93210226e975f98af47b06072d8807aedbf91cb8e7433fed2410d9603da3408f389d5cfb32937def4332b140daac168651847a4836a102a9dac0787d1be4941aa379f39d0b95b2e3e734f44644849350752df058d42570a34e540fb27dd5d3c960aeda508a7947103c843986f992324518bfe64dff902506d6478fe1acc35bbeaaefb774495434aaad31f62bfc978beb1b440d3ee7f178ee09c5e0020bf86a103209f47c1b989b83596b72b9a02d6493b78775ce4183b303f2006deb9cdffb0a035e6084004ffe393fb67033d9e9906cf4d0d1203053daa54f8619ad58a0ccf707a32a2e1c5338c8c638f0261ba3411327e6769b2b462cc00693fbd844203a9ae2172d23edff223ed1c0f69cb791ad59913915aec9481daf5405ba746152f2ba62dd352379c91aef0b82d799e183d572246ce67d271357ec0258afade842f1871cef414ff0fcdd0b7834eba9114e4781e10c55e223bb38aa14ece6f88b8b78bb88b722b76ed03037e380237051c44e5f995f2e1600b9380c4852ebe7baa958a54a16322c28376a1ce821ee4b5f8a1706f0f3883be6396036d2ec7e74eed6caf31cf5e0748538e1db7d544ae68c8e70d437fdece63c74b256c830c501d3bce9db48e144da808ca831c623307b4a449b04442ceae28b9f15316740031cc224fa5eba328dd1af618a45184d5b226e18ce0be6e210a372c8592f9270ccea18dbccd30a00b6161cc273092f7bcdfaf3a67a32d3adfefbc7cd1ced873316c715b70e742e22258e15d3d7bd81e791880840cdc51faf41351656ad47facc836a70986ef7870523639527d9e7cf1cf70f1665a4e0f4120cd87c4305cca5ab6dc18e2c93f5beeddec6fe80516cc27e6271d23bde42976d1b1d5895c15d92acf622cecbdda4f3a52fd100c786351498bd4bc91c6dfe763c9f61b96b5806774c9afec2d0678307a82e5108538681e4f28fd76541291c647113cd44c9c54a1c610ab57168f49238d3d123ca8e9986886d5bb3dbe160b8012a8832bde6cf4249d5b1ee5b822bcdf73a3fba48cd085ea0b97457b15eb3b8b993352ad5541d822022a8518e501b768b12739087e4d7fdcafb0d6f05abca3bb3ce6c01dac0ae6b0fafd428bbc7210c763a15334abc20d2682d6e4e32e664e701347dab1300eb108b0a4e5327283cb399924cf819b36f599091a3e8f8006254976390bf9655a8bd8f25dd8b4f98e6b010c28cb749ee5004cb2a6722fad700407d23ff46aad23c30186499cbe6fb596cac77f4f25514e461141d201ab2232fbfab051cdfdacea087c55e60778bd4a31f4c0c14590836973210e6d785c5ee05233ff37646ba5893f60b81066f5e8b015744e09a5b8483e404d55e13925f86ee5e0eb0d042c23f3b2c58e494d21091f8d8c4484f35ffa00d2ed145c8a0d0ba22aa03d1ff1cc768ef99e800277a840533fb3fad9836162cd94e553fe78761ebdbb4ce3d48b11939e5a4703d226b8a644bc3941a6a7d531658f78480f94412d815777da31eb816603aae3cf8945a0922a1862b462d1c46d7ed2af19f4285b142547a8d17c33fc569671a0b02d6c7de25c06b34f7919ecc30ab39de9aec202d3807106c24939620666b32c73d7f5a8335751c59efc21ac4855f154fef2dd55733302672ca883038b4ce37dfec767ae31d2c8fa0e9125fcf50aeecee23ee7d53a2400b702b804eafa0ccea5267791acd6b759d61b2fbea80bf0966763b012cb10676ef67be503673ecfc4d39c0857f898e4957374905807ba725a78794197d9bc514167ebc5b7cae53dde86731819496313448b019f1645e6169fce2a178058eda11226e6b47a314ffb793e54ac94c05f3848da5a161d29869d2a377d9c711423f62addb052a6996ca98310153b0cc5905997529cd39689e33ecc2749e9952dfe006d6e3f264773dbbee64f2dced5567f3d5477b2f649dd9fd620512861fe7652e6315da741dab2e4b4dc7c0442bdb2ca786d9f2c6a23fdf12ac86d050ae40e85b3308ea385b26ba2d8919cab621742fbba441e931f9fed1eb4ece7ff1c965968f258e3ca6e97c8d5ea77bff16e7072488950ab11200f09e9f496c79ee83cb8253ce4288956c9f4b054efc76ef289b9540e322d0ec9e59a66fa6cd47c172ca005fc229998462311ac39aa9094d3d7d38bf4aa45cdb29614c4bfb40b65254d06872120168eebbf4b6bd7bccaa80ca4128febcaa0bfc6c8af5131c384f53753ec96d627428e152cb376169f7d8e279a0c9d25791912227f205288d1c280e1bfa07f764322e2485129886d95f799b98b02645967d979c3915088e3733760001c9209570a84623f7717d167f8f67f39f9611a4426057008616f18afdfd3276ca5bb10ec8a462edd906b42862cdb1d45530c7a7c7ee50891c92255a3e4882889575ff0e408bcca515738fd08cf5cb64195232e3f71776aebc811dde7da856430392242d4d5996de5085718a1a804f51995901540de1df65451d8940bdaa2149ddaf93f8188f9852c34b79b00259d264936b4f73383d51cedd2a47d2fb13920de80b3a84ffabda08ab913877c2c38023c5d7fbd8ae93ef8252b21db33cd17ce30c1eea57fd04f0696c264b80580fcc4bafc87f652867c2865f65e9824121b39e1bcb9eb5accb779020879e8e1009e6152a10ac7bedf7557ce752b16c5e082e57190b87065f470980ce8c193070f1bbb176b833683c9f926b7f8f2dc955a5287a80609801d28ca18346dfd270394b55726d7e69385e09779629476e9eea3f5d5034deaa40d5224d54775f17b9a808a1dca097a3046faf0131b9a540637198f07c69bedd069dde68abb31f2f5c119f94f054eefba6a44a851e1503282de91a5b3f26a94740dad95a0512848605740aa3c8b1bf3c6beb6121c5278b98266d63ab95af233b7cccd13fea872b59b4f6add9e610f84b60dd6c0956c458ef3c8edb59ab1e58e25dedbac7544e3d60db22f0e78098158de79a117219a45eddb9044311039545cbc29a8bd7199b66f65003ae8e02414c09a64af81571db81accc6fd85797ba8e92bb2ff0a0d6c8fd072e58736233003f09c75a009db5109c6f168aa4151dde9d268ff0a24880f3fb40b5f98205c7b658c50646c9ec9593636a23ac0aaab6a1dcc79a36919643396ade50e832b89aa95dd5372dff01ddeea3648bcc2e3f312a62c750c225356fa2e6f911aae3c516facab5935ed286d5be08cc6bc674f1cc58a692143280ed0daeb0b0b8bd0da7a331c7a47a1e80be569baf5a923dca384b7c71171749dc7963f213c89fbcb15b53ed7367cabaf64e180b37613db66beb274be0c778ae84332cc531e892ac3efe502250649a3544c20baf3a69688995648f69bbd124f61da09669ec9e49221ede01f5cfdae7a45611e52bbd591bf9d016800f64df3db208cb34f49bc4ef17744636a63d805e72d2fa507a0653792cc6df249e8eebca7783274010ffd5e3d545c7f06c58321c23ed3832718c4a8392bccc56ac6d73a83ce79ac14f51d1f0a41a82e07c557193ca912215843ac088279f7e18f40172bcd11029ca6959854be371749ec1a316a44f0e0e2565c1d459c1395f048aff27beb14c0442b5fb584564b0c5b150044040f14cda02213334033494dd0471a064c115a2ca4c5f73fbd539232efe9f2458bdeec1c9aacc4326f29e1a75e1cbe8999e4ad94aacdebbdd4b883a257be94dac256672221b7b328e41244ffd0c54d3cc983a0632819a360736b7ada60bde5de9c0e427f9f02828a55a5977f0381233a4fe41030ff03ef6d9e536778aa31405a175df1706b3c4d2856d54e791a2b06436c0e617ccb8c8f770d5f0eeb743a22118beb97ea280ba527a5bacc235ad6bdb905ae1d1f83e55b9fa4b65312f13400b9b45c3aac766682dbe061e9600d1d244a180ef1210553a5f16025872dfcae805749d3f5b7f91d264f8806da69abfe7c1575e923953c83fb0f284a28a3ca2fabb31a9a39724cef82e3a6581864c388830e72a303610804f24430dbda95c3bfb8b9cafbfd9744113884267a1161ac4e9649e97b4f9fbce331d6b01bb65cf451215dc09174758a0c0dd306e8fbf3038897a51dd89862fe68420c689fb7927af60637c03a8543286e1803f001dd854954f4519f3a48e229ffb9e2f603767af28c1a14c199410814a1bc18658b4917219a31e7ce800d014f390cb2c937b1064299993a2b512cc548ffff8d75d54530a2e08736412670545c83644fbca19e91c711fb4770f8c92e8e2ec023033d3d5c9cf8026ec932404e1084f43a9714e57c422b398bc0f6ae17f09c1992bed6d157df03c15b03ef3b6477649c9de07df7fd3edb50409c256ccdf806a3eda0ba600670d898c896bc954213a1681f9521e11509df036d2b35072e1359d0311e1e6292b53ad21a824aa948e720b132c6a9dc6ecae8397f2e83075b64d46988bcb3a75f9973a53c04d57b4efa52cb74f7a4a0a7bae12bf381158bd5489f5a42358b583e935fe500471971b6f3e8490a31bb3e9f4ad3bc70c93e4e751ecd83ab810964905bee54128dab82b37d74d241a6af67a1808c123f68899b1e74c02ed0d69a7b38b542d2130dc8a0042b61b804b29eba0495b43e749a69155e5b0219591097e00f1dac5ca46917b4e8ba864145da217819a677dba797ceb9ee986af807d758322c9b3230ddd20b8e04773b0b21784ebb34b2c72f602dc0bdf699293bd0d7d85851145c48364b8d8160f7931691d71cbf91802e8ae580ab31422844c6e07812e99136f8db7dcb587ac227f272912381debef0ba38f8c49526601d5969385402897628ebbc85b7afc997713b330647e979e2d2f81f88794f34878a8a1ed2f6587a1b6f108dbe63ab644fdc8f68bcae22b7bc7bda6c9d614e887945407a07ab33f7a1250fe348e068d1f2a60585b55a56404a52188b8b75f0df2bfdbf3618b70685ac4c7bd7afc1b10dcf3c5de01670c3a5e0feba58c0c389057240b6dceb799d2b075449d9a25832a3abe959c9452632356ac3b3a7ce59c66c6f3535414a4d2a6e4984144294fd3304e8128c384e67ac50030f839f6ed538a7650c5a523f7008949c41554c5a291942129b8510f8f4748f529c6b691053f561142ebc1863279f9c20ea93d8519e3d3a75dff08b62207255f6a93b843240465107c2401ff2da71e8f74d50303feeee9aa7f536d66abc42c0d76196d4699a7cecc15c2f621feb1ad0cb1db21e0e78591afb6290f5dec46d0e4c7369427603c4982af93151b0de30a72e167a10eac4c20d90a1803e0de276d7657812d6211a4b34f6d0992467990e8f6d150ecedb806de12eece72d11bd233d1a7ecaa8da351f7b80674a778509cc3cf764e8f8adca507df93f4700199b85f4261a90b0c3974bd3189c0eb2065f322932b0731fff1b039cf49a43b4ce503f1585c834b3f9e588833cf6c68609c6ab2cc3c10e031288347c33bdfb5ecfbf8be8ed1a7e82528b8df7cb1a7e3f3c338e28fd07c4124d63c6c8dd9388676311920e4746e2e14f69266a2bd9dae8bda11880d15acf1e383be4548a2d700f4686f7fdc3fc336eccabaa1433496f1f48fca04c671394b373018c49aa1f0d97139354cb1946e4b6ff497aefb9c89f569b3dbd485a26eb5f7809cc95497a37410c2067c85bd6fbdc9e2e601b8d51fc9cdfe8f7c40dbad88b37bf9559c78a7116abc21a419ec4f4f7cb402544e402d45211430e224a3a8ccb7e1739654eb86c42c095b0f004699ce791fcea6fed42c330a4972be2b9cdea5c43a56130ce23067230c125ac3c731a64622f22ccff29ca8779df61653873292f8465b869efa2ac41d4f4bffb71c218334b7be36bd3b1411748bfbf663824dafccf67a109d363a7093ab43a361a711876ae3fe339a0b16a24809e40d8da833b5cf8615144c0c86d021d05b195119775359fde0e80192bfab400bee39e4100841bd659e60188eeff48620e64b405f5e02390f7b984fb74af5921f934e81881a0d7b51acdf8c8e99646fd8b26430144dd7c010b2753953565eea53457c2c70644dd6553174ea0c1317dc58a1eca20348e478c6e2deb1b74ab616482727c212c7b80a83bd6f1021533681595ca499849f370c4e480a83b3f4a7e69f54c2ddf459e185ba7c9202708dd3a60a658f2e35b1783d2bd0051b71d472e68448227c4631680a89bc584061ac3950e43af702cf2837ab6fcceb1e83be106bc936fa5d0fe5a587054f16571ca78fdd5f3f6b8f2a5e3f27c67ae09880872414b5cfb60c7480d6eb1696cdc74d55854691aeeab36f8037ddb4fdd5008ea216ceb3952c433c7412b2a4287c03335daa20e2b21cee631f76017ccfc32072d189d1480685f9d3ea26c627557d4c7e9940b493e9bcb172dbfa927fa24f354d6f0cc34488a5b0ef7355991ca0ae6c0ffd709835f66e47232b96c6d51a2234cd450c80704c6486b3ecac4fbf774f034b31c289a16634fa3132c037b8e14f7e15e0815b2feec1be481f107bfe083a9e3a0ff87a9c2cfc73a1fac3335618d1020670a15a17304f9a7f547c2a076a54c9dc2bce08ec0169656c5a9188900ab5680086001d068d17d52065b03c2f2ae27cb60ef6a80576a1905487e39e0dc4a9cec104fc27128458bf8e50d365f41d5a0c928884be3b65ebad94a8c6af5c4f428e624be9838715d02dc77fdaf7e56149977e50a89ab028724c5ff47bf3effd221fe2010ee65e75851073a5b3d13541f601f9c74405107bc7f0d22508f2708b7af848c69a308ea1ad232705cc74dcdeca70522622fd3bc6e0fd800a6fdca931ae091726e9e77cc059b621eafa764141d967a84bf476f5367ebc3fb99abe41dd2a10eb87ddd9ee483197ca6228a8851dd7d8b163471b8d17ebbe36693d2a72c41293240883ad03d08176e2efd11bce727b5a9f9bc0a69f6a8cbe4c5d0d7e0a98be0d00873ceaa8047be40d0d083c50bb84405a659f0b4f0ac0ab8aa388fea395c23b0e0b81ed658323f968e35fddfeb02ff95fa3b72ae7db9bfbd898ad1db715e2a24a37702bad7869399a02163497c6a37dd494d8caea426d101b64ae243777ac7f82170c502284fad7f08c789faf727ef74f1ec887ad584bf2351837fcf97d51b812b12291be5262ea03ff37e3b08474e3127b73bad5e1ad26c9e233d8940b0bec220a1a7b78bb22bb3b22062c8052de1da053b2015b8edddb4a68f0e5c1212dc15830e4ef0b4d21ff14707ba8f9b8b7cfe54325f0197fefd057694684a5b360104c6d2cdaac219844bb1adf2df8540cc90ab3d0e55dc07d5737711ff7871c583f643e32351b244b11e7a03c87efa958eeccc894a4e71fe27f293198bf33749b2413354eb863039a5da0886b1078e2d869cdc47b707a4c59f22cfa192934fe2f27a38ffe251171eba89431309852b028a65ae1a810903d7f4d89e72cd0986ad94581f5efc1725123cfe176d56b3750a20bfc2d2049ca229160fbf3221069401d0db4ed6040385f71ca0d62f0dcf800dc95b5af953a09fb9c3b32d30b86dbd28f4bb26f475d1609a9db7ee3e5a8f1f7d085cef40988359e7130fddd58df1de2c92f9c20e346515aca06587320491b8b61aa3c35d1188716bdb5286f2e7e8265c863ed1042c8b9ba1a58fc3d794b63188bfc37f7446a859e01028a84540124ef405aa5b2bcd1de77ee07ca83dc48da869f71350a01dc67426dbe01d8756d351f2af6cd808d241c7ab29732b19fbfffdd03f75125768821a2444b16dbb2aa2dcc54159a6bdbeb7e4a59d09d70fe01f6cc2a1a14806101c7d58cd656fc79a3238c26bcd3a5b07d5f990390b6b1979e111a35b3b67708d45ff4be3b6c8cb358e293038db0032b7f4e89cba862a9c9700e880425d184e40d14a85044eb9022de22ab04f8dadf236cb25642852ba7b7ccb74c1143f886dedf116b32ced2ead0e48ce08c5d1220529759bbb9aeb766623112753626a33dd5e49a80f5e43d4f6d08182b5f9f128fc53046bb4d34e5bbff613898d0014a09aab4c6997ede2bbc194b4fad1124ca0a8598b6800ae45cc3a7752204355ab88205d5ff8568d8dcd395c8647b618827434d1b393747d6c4707a2ba6f7820cafa76a6d4cce77ca61dc1db58ea7d24562e8784e136b41a806eec10353a2e48f4e0d0093d88bf06a3422d91f2a2957dce64b71df8ec996715414b583263ae40bfea7285dcd5e560d0467c507c097be1201f0817cea0f54316a7efb9cfbd507007e80ca1d76074210474bd761eb015e2c7d7003c52cdf11b809a6258620253dd80e50de0c0dc83884ddac8129835b6a1100c22cf689636d2e273f902d5bf8b25a4b2d3ee57e7f4de8a0bbcf7e599e19282a083f1e84521666a45e920d3beb952b675507bdf35dadfff933ad0a6716d4ae32c58f706b60e740a93e73588ed2e19fb732c341151f17a97edd4181bfd2f5f8c1241a3aaac59c7f75c153c653ab7671b9fb4378f160dc23dced0f04caac79517866957ab62492b0253cd60f00d27558a774e26b5cbd8093aafa8a228cfa9bc10f864d7aad2c7c32dd35c562acf97721c93f713bc9553253381b83dfdce34de1e97045b3308ba10596b9d76bdc606eeaf53ad67d5325eb4394256cbaf8ef425b6989ad160e423ffda2180494dacfd0bc408f136440154c9caa8f8a28484a085498d3f1e7649043f45a2c7ec668426680fe33f7796ee3dc00d2ca279d475011ca5c03593d089361208f59b71e0c4f2d1dbb78b0c680707fb6845a2c8d6c211d1e6bffc8f92f95d8ebfa9ecc0a7e1e0f6281c6b348236d0c5c8f4b641f959621e4b399a066e62907d235752b65aa4a9b96e8c00d8cedbdc0bdfbf5ab24c606c5d3d228c15c8dcefa725ce40ec689d62544095c1554406b21b5a661dba9d2dcba97143c6daa051a183318e1748be0306a3692cfb24f00fc8ccbacd7d2fe92acce3440bb59b1a6f678cc7fea40abbbdf4d1cb984bc826e156b7acd00744d413dbd1825b7bc8544865b9cafa24f27ab34c80c70471345abb66721167990aeae8954755b0efc7652e287f0bbd5933b1b3dd3c3e499d712a53c8d697998fd2d7fcf6daeedb0dbd31781fb10000cff4542270ea81185b829087e95f209f4a5e97bcf646a20b65791baa083c12436cbacbe40f383071fe564b6001e76f80405cda1778c78c557f16341520b2f9e0997e0ff7fe8f01a9ba014bcee6407af57ef3f6079f304f23654f001a83f73fb91fc5ecf5766610ed24fc1179b496ce229c943f22313faea1016a11fd396c731d8ba8b8e67011f617b59f9c3b4940a2ff02ffc5ebe7f020228d03ce73bdf8c9f7cf573f8720c85cc0ded358c09e9aa28713e8fe7131489ffa0c735a61e122e2d1fdb3653f0a20a3c9822b2c7794f55f58488480d7dbae6d4e50276cd852c3f8b67030bf0be3fef9fe1e7482f5fd99f3ff9be559e3bb187f7faeb49bcedee261fd73c51ce8f4fe0fe7ff15e0a1c9bb1e465454fca0f3e1f52dc7475f8370797c5d94c3a3d5a0c485f77c1cffa9cbc995777e7cfeb9b6818bdeff61fdbf9a0fd7def53052013f397e58557179f8fae2f0f83ac9e1e12a8c83c75221c1284725f647f9bee6272ef18d280818fce7517eb97509c2a1e0b7fe0bdefc4a4257f1bc6f118303e89f2beeeb90a40f31685968efdf42e82b84089236786b83b4ffbfe46bd91006d5b8c197e273ff3f025feb109479380cd2ebf3d07ffd701f172d50d0111c2939cbbf183d12b1457125401538f0736cfbfe7ff5a872d562047f363060e7c776fdcbea41496a8b113f805208f8e0f547de63f287d27e32c215067845ea9f898fca8500fdd9be08141ce0ad93d3b1fbf7d16f4f59403b4ec032c35ba01db4b6eccdf9b1eb7f4ea0d02b9862825f709c372e4bd7eee747bd3e654812743d0218bc2fa4135cb554edce0029693cdded06db0e7630581022dfc9c2b47f761980ac8da79cd2fb014e806543e9c28675678788a7b013f2218ac40e0c023e03a35fcfca3085a120ec9d5358375d0fdfa3951d064a47da30ddde6297892e38a075def63cd9ba2f3fee9ccddb40e7c10a4d2e1527721476ac70366836a94e9a3e6fc90b0a40646e6034f04283fff43972ed37e92eb383002a1f87bce59b3fe061295a24a83a8a11b6ac6b764a346a07247bec017d62044691a699004789c0f4a350938fa8576f7ceba0b1c92f888c62f9320a070317f4bf843cb26e3441544d32ca9c801450230916453960c5e5e288614580b0d81c18adb66e407f6b2c30a7cf1447e00c19c91048b711b4144f82dd97c6566c1f27f4afa90648275e8a684a4891025784e68b9684d53e1290b46780b0df4ac70f9ed0dbd11f503a3a78a1f07f90c107379b176e058202aaa3d71e44686c60b9e04f89173421ae17cf106683f5803db4eaf737d81f1cf5ec8c6f90ac9975feb74ff6d45ba71a60546b50811cda53d4854fd93671f8c55de8da8087f3103ed5d342c920263b65a907c39a88dd20a7ef040602b7e502e28b7bef095c03885536c05ab415c6c420dca53c9369706ffd8330d1a50befdc144c0dc658e1db87dd5bf3a8c14a9db3c5ef056fbf048fa4f097ff05556f325765419aa559b9ceb60edfc8498d58d6a19b5eb4a8d038efd06cfe311b703cf0857c58a9ac843ddd3a5c245cdb2a7c3b0d52d834fe00a8ad4c2b7cebba7dbfe0b17b3322c4b795427dc8e9bb072241f66dc9bf43aa769d2faf419c1d5c5e6da91cc1db75b63bfe2a68f6bd6672a9c29a87151943f2ab6143d81cfdd2046e521509d856de1cfd59dc5843b45eefb94b1e40bd44c04146739d71445c40a917f9f183b050575c94ca47222f5ce78bda980a6e1be41d845bb11526d6582f75b893625724049a3d401855a590d06f62689c5285863492b70f2dc790e2f2e04c0267e5bbe5d70822795d7e71c15e9bc7bee2fbea19d06649ab9059dffa9c74e9bb5f84f2d57e212324ce662c6f62ac5b8bb4704a8e9d4bee2c9444f271d4db1c8c2e659d7c6cfaae8cef0ae782921b4e03cdef3dd28ebda675af5dc6e013a580b8daf0acc9060967c207dd42cc8f8b5b50067e60a4bc8e6134f93b99d9e8635d632a44cb06988ec7f62a4e26d3af55b192349394d9f4858b24ed87d49547ed00e79963bb70f7c2cd105864bf00eae48b623b7073cae991f73942f23e393d4a27df87044627a03ce0444602f6cd708700c7fa8193593fd030e7ee04715bb01e609a9bd346ac8924d00732fca99e4f1b03d70fa848afee44194ab54a5956a4b96d409beecbb1402e44af29a8487111072a740951c3b947d0a6ff095f2dc93887a6d4f76f5d04c864e110db42acd496a7a1483b587cf4cdae2c28071609d1f73e5cc34ae0802d46e0525ed6e359444e30062cb443d49347e34f76397c5bb730358bdbf887eac1960ce5c1c52c4a3b920926a7cb0891fcb62ebff069182d90ed6b2dc5f5c652b142de70b9253373c7d76fbb7d1ee6c5aa55836a2be0cbc1afe1f735d0ce28283051614b415f3f012be0cc84fb591ca71e6d61a8ff6af2c5b445a2d39d5e4ab57b5dc4ad1ceb2385d4b7c51bdaf15701fc1f01ba8ec81d53705a157509446c7165fe19821b4f66b338f891051d8b1f0831f15692f7c12ae609f78d82bf4591d9c27fb4cff380ca9951a27cec484b5fd00d70b8a236b3d20d829de6d2c8a5e9a634b2b7943b49b9a5946907ea01c001b50151a600a1c70b8c7d8981f13121bfc0c4f46079cbdddddd835839cbcadd69ac02786aa2d27575179728360098fea39ff70cd2748219a1e211e5e56b39c2a25b46d9acd65aebe8f3e2a4470e9711471db74cae2b1cb360963f283a9593ac52465652d2a0d8d4579239b0ab19c335a9c7568ec2d15356c3487e3a77947e1f7e5a183f1fb885fcf7798fe76883c772e6f0dfe1d043ddf970b01b39628309a8889220c4921794040d1962e849112b283729058c10430eb7161527f41c215b7d6028e9e1c6384288881352ac287213438c18604f9250a1052c32111900c552abae76d401232bd0d0c4091f8a92641e2e68705ec01912baedd0d390e721c6c842fccd464bf8e266e5449e0cadbc35fb5abe39916e8dae94f42898482133b0f6ddf06d79ae9752a4c05ba45c1ac95a1d132960a1065d2afa2b826b4cfadaac68ef45437f0daf21d210574493a822869d5812b34812555c0fdccb7940f90eef36d9737c01edadd15d292f326484721d3805a4cd2583f605ab89eac44a4a032a626d755fc20242fb7fdaaff78e80d50ed01c074cadb5f370e3cba7ce6e03aa8229b88ea39ce4a6ae7d371347c4d2e2c251c4c58386b287916bd879e30689f4fed38bd7141b12a7467461e302bbbc4e8bc4851368b6166b09ad8ba225b2ac8de695dd5f29e9fdefb335d5538742b5027ff55e923f5c43390c968ab643425ff346da38ad19d11a6a22514a692ee9cf8429c6f96538d2d8f3487faef3e86dced696c2d075e7244a416ba9aea4a74fc35087a5ef4b6118e630cc39876126625209c3159a4922ce0a292cade41c96445fc924f07ae2a95405900e6d0a0ded0c1bcd8c215a51931bda1932ee32af3b48b4f6590cccf45975726a3e6c64a9d70d0753d1dcdc88e3dd936d356e26dd655fa0ef3262958eb0941fc7c90b4bd9becbe84f7a044fe3ffb89a13087c8001b94ece7a01f9930c5016ba1602a4a370240a95038b9556cd929275ee34cc0d56943c800025cc92399a9f6546e78936bc5abd9f736626700000481901a63e3be7683763573efb86536ed2e3ee01765a118fbb7bcaa5e70c01e517306a68d588120388eef882a30dd974d4cc390cd79052649591693c042beece82b267a6b459ab3b92b4d64a77209a1419934a0261299330c012357a00cc2af8c379846f46792c32f24f2a00b6993b4d9fee7b05a79131333f2830b5dfd889d0d9ff6ce7dd7983d069adad137042b5631165ca2aca33e33cb55c719929725966b26c19f2cb0c50220d092b92aa81940223025a444db772ea0dba4ca59c92a39268e6f48a99f9180232e5831f49dbb8a85bd2df377569ea3c35c91b5d0dcecfd3f8ce7945efad9473ca92d79b904c4dc804dbce223b0a9226f6d1489fc1642a0e36c6b4fc3102c90ecf93bc9368f79a139af0a2a312668e78bc8cffd85a9b75497b5a86afa2bd50db78ada222dfe449d3a4a5cfdae61733491c8920f6d912322677a4967f453aadb5f6dfbe952d995a10d08f0fdd7615738e6ac041ff402e781fffbefa6005ecaebb398b81a93e56773437afa6543f78540fe8d463c6e4a490fcf09a98576a88c7a6c3fd788d8fad040e7fd53ae280ee82a1747430d2ccdc54ac6f17610290751702deba386c9e4dc5eec20a583ee94dc434b9bbd33dc5e622b3ccdd44c80e955b94d023d47ae5c86429994c0b6e26cb71226744ee1ec5ffdf6750704453eefd39c201e61f7d46fd9c3f7fa2e0adea79f7de7b6fec3fe7d3496b4fdb9f476eb8de6eb7d616ad9bdfe44cb6883cec891607e0e91d94df7baceb6d792915c6df8773e0ff7f2c93a95c409d4b23fda54c72115f254b0d91bdab9782d7f32e48410feedd42e47f39f168832a969349e4e4bcdaeb5043587efeb4ea5aadf774efe4efb3a5d4bab5eed4dd77102fbedeb53c5dcefc56fbbe17fa6aff01ee5ed759bf52534cddafb5af3fa7d4a24280c5bc9412389d19a2735afdf267dafeabecfb987bc83d63b456ed54fefc68ee4cf5a481fd1bb6734a936c293613a1213515828800f12a07b85a8d55332f35d94d36a652b3eb28ad75762f3d7a75a5fad64a71ad145f6f3ead5377948a13d5fd100407510729c88e0811f9d9b4aff7035f46efa804f243bce07aaf5b76bcb88083ee28df7e100333bbb7154feaba931d9d611797f13d2c5fee0e1d95ea56d5d28a4c8ce3e7a2f18ec94c42649629a9d23b899145cb568bcd46bee45b4f6f2cb2f7b61251d16ff4893d93d94ec01129fbecb8c37e5a5ca7debc7ed83e8f71f03637a243c9c8e23326f93234888fac27065e98b5d7ba2be635ee02d201073f3e940f98042188b76c763827dbf1c24307de4a6eb5d2e0ace33aeedb89bc73b9caadac0d6dc27e1322e182d9c47a643ee1ed4b62ef2bf66c4bb137d0fec9b11142a1663bd94cf60fbdd3bb52dfff3ea121442f5fbe9cde5bb1522aeb6ced27b6d066826787765d8e4ecdc78d8ddfbc3898ca696e354628e5388ea31da59edb2ab6cfbe62037d5ff83987a6d14613ae28832038e79c734ef082589370265d5b25bd2038f1487f1fe9661d8beba8f40d1dfa0a08009395085050200c8946b21c46b110827124cdd30794e20ac6d9882475992c18c9730c843118430204208310308a006200191a22e206c2df546b911b05b516201c5c4bcfb8a0d7017a38ba6a23e4ceedbe629deeb4d97d420c04dda8cedf2ca1d43e00c02edc923a9422c3ea648973e2993f4169387e4c177961407151f194128156083649331c94fde8af753b97cd5cf14e8dd6aa94438a67102e61e77d119872c88cd69e10c149ffd3e4e227a4f61b6092217298c149b4a3e47b89085358bf4e82dd01b48db2889fbc41f80015a7fcace8de817c838d49d6c44d234ffbc2c32c95a905ce2c42ca78e8d86205ae452c300eb946f4688ea1e6a28b4e8d3ce24a7ea82d93e9919d9851c7bebcdb74c90d3014f14bb2df4c2b1355d6fedd74ab96e2018c367e120d014820f6fbb8cb6dcef711e79af981ecc745ee3f96e1c86fe37cce2facd2d8610615ed3f58125deb2ad171f4bcec8bad7e3a8dc478a8269f44bfda37277effaa4155ec345869b815e68ede3a1699af8f7315383c98c36556300fd2ea5843ec7d40111750d526ba32c4905ba54b3576576e539b123468ef0083fc3688cee071c519f9909df59bf7d066c0d88161acbdcc97ec3b747f9ee2029d228df253ca2395b66dc983960f09b4001322135303212672146cdb8f3ec854f84148d3fa521f04ba1ce17d961d40625b42799a622dbb8405ed529a0231c06a5c2135763cf8949f0b725b45e43231209dc3071cda5dbb5491c8a97a951c5ee3b87cfa01827d3d89db71a3e68bcfcca6bf2ccd0b033005a61ed1801f7e15517dc1bdf44b0137de048cf6e9ddebc0b052fcfa8a1e6a026819493310d75e9bd3b4f6d63b1af4728adb38c70b4f8040ea5947bbf2c8145f0b2ac46b6a7f2fdd09cf6e6c235f54c51f2eeccdfd33146bd415b020c8af18628599e3624c9edc20efdf79a289948c6208f2073a68e6718a4cb6b83e5f5fcc62102fff0b58f2220c9f0a304636111a47d8820b6c628bc07dfbc879d04a57d86619ea085fdce278f45c5d9f654ca120404ef76b2fe95641ced0fa3005d823fbcbd1d72edfbce91b66c47934a0aa0a7fc8bd5fb91915b543f00bcd1ea6297bbfb2c93475091ad7e1ff50f1a05c8e57f1f3066e4478846be2cb684824324a99ceb8c03bc09c527fb16328593f6577b8aaa65274ce62ec7a10aa5273ce0319f509644bc73c31743f1c9d108aa33aca509e2ae24eb8f4a3d6708e7432cf058230ad5c9568222f4501aadc9fc82cced77cf0cf479666b56e78f22dfe770da77189c463374bdb6b43c82e760b04036af69eb258ed44d8e4fd51af7984bd1eeb44286e2c08c90e445c496fa2d69771550471b24e0081c6d0e91d7d0405c538dd1537b52528d5de3570d4c14ea0836641c861218eea06202d10b58f564fe1ce331f150ee4b20f7f6ad21837d4b0f2c4cc6dbfd4d99de172a11661044a57e9706ea50de0fe26166edd1d1345eaf067f9dc66b5b2143c30a35590d12fdd05726b750a42813c2d9aa60ed89eda114a71e22de1d0b9f9a3046d5c2dc524430e3d8af9f5047fd2858e4e7adc598bb2ad22427b64c0ddf0ac10ef86b8281594536a566591b0cbc6fb64dedc207b72c3ee18b669316acb7ff7bf7b8e1ba0b4e758705ad62fda7f8fa82279461d7f03f4ce7ec8d703ffdafab56bb9e25b670dd75cfab58e2f14441222058501200b7ed2ce1a35a204a3ef486948adf121db557674d43f8beac3ebe8131b4a2c63ec961d19ae63c03eee673064477e98a50ba0d06005daa1f0fc7004bd27a00e6b580414a2d38199059616ca1ebe6796fb27216704d93f6dbcaba926d1049bc4cf0251352ce1f032e6e2f1fc71a55046ac0326a5e0f7486e5d243eee939aba3788a0c5c75de12916a6e460c2364d8fa0a94297c5332d234e095144046b399d6210560fe96199fc9cdf048118600e2365f30e8fb9f50f142c18b60ec322cf823835104bb651f527a745a82c51114b8673a25b5788cbfc39eb0b80b03d80473e79686391a7a676524124c339cba2278eb69ce748dbb076988b6a4e40148027c3cb120827f1307f9e5dec95f361f1ffdaea183b6686cec58bb539c3620e732980691db8b476666f389280f42e8575a2d03b1e00ef773ce2e1f6928cbdbb6acbea55b64ef523e51d07bc1523a2f6c27ce8f5979985de880a72088636463ef7afcdac091997cccee1d88563020b2dbaabcdbd31c8507eaa3352efce21fb26b57adb795aba1bb68e414b1534ad5e8b5d978960d6b0944400aa496a39b70d6c4b2430d3c415473a942633d3c05aebb014768c8f94196c7d78ac01d3b5c900f8abb60caba75cf0a6ae1f2c698cc8dd1b1cd967e0d153c581f89fa13d29a684a62a93ad035e83dbb8b86b4a564ce365ea5479442246ef0c3e19f9a513bc440030b88ece2ae767e4cf0020bece17f45d233d2912a227d98e9978c0ae6f0bf69d12eaa2c54eab60b40211c266ea639968d4dda4beb9baf7c485181eae759bfd83dc799256207ac95310e4e1d7e649e3c5d2bea4298f60d9e9404defb099f20e91fe960cc003d1812f07411b7b1ce462104597df58f97261d7885221042576930a6bf060abe74617d2a322f4a19869bd544a7ff0ca70ee3b689d6a58a0f1e5eb107ac7a3af9545e2b9a7c98a323620d4072cd6e43cd9dc5941913890e67d8950b831ae711a99ea5a6dd87c6bc3361eac8fd4cd7cfc5bed4e97ec3839a035a7bdc8b7b5a34e762f8faf36e407ddccbffdc6e58e1b650650dd698a4e76dfbf503a6c3340ea8acdee17050b10f2bf143f105ed6f24ec41015bf14f8bc3e4165f43784730922005ebc2fc92a7a58fa80d4a687e32d1b8243423534f9627993baee05894bc0c5df84107e401c37e41e486c2c4368b1bd4cd00b79c9bbe9b37da339f9444715192a425515486088d28a42e01355de854d1bf4ffa6c94730f7598f507880a13e40d69292059fd49c86c252b1a29bc67270bfe6918a9dda627b32f36adbff54ee9835e6c83068173b1de8e91e3748a9f8935d9b04a8bea7ee27267069c9bb76bdbfb1d0a917281405d5fd7c9ece56f5a94a7e9806ce36d92207820bb4a12cd17e68b0d94741ffb7abcef36decb85d4534bbab924c1d3a9b439a9d16324d1541fc7a87ab91c4850a035fd832ca092e8a11d2d6064baa9a7058945c9f3373f0e37cf2dbdfc7a2c472c8a31d101d1ab8688ca266e67a5a4310c02437a980455d37b146576d7d46466c01d161e671a29c6212b247133007a8843900a3e9487bec352233fa1b1e402c0ef983c712309faea9bd5873e634da540b4eb91c9e480153ee381edf7f8f8241f65d09219931e6d4a276eb5fadec6161bf4ecf53c2773cc0af0e69e493bc6d66009867cda8c23587a33d70db280ea76bf7b025d09ac390aa5c3a4ba74e21ff00b053005be9c58f96819d6eecb81aa4524a24e17bb006d795f1d330a2a835ab98bab6d4010fed68742b73e829fe4d5b7a70d95907588bff37bbc46bc14c76f5b49d9065df9ff43dc13819ab04d9e99c30abeca157605cf69113c5297cbd4cfb4a2d7c7f572c1f51d58241f6275f3f434ae560542f7193cd88d91fea83f2820ff11880873efbc44eddf306dd7c22069c51abb520beed5df28aff2edfce546d6510b9bd62690243dd595cbfc0e102508e9ad33638e4b7e8194ba2c0425082424cd78d7aebf5e6889c323f5f67c898bac08170cff8708ac64a319c0f71060eed0d9268ce5b35603919298b4b0bfbebdc6a3ad2bfb755bf0eef1af30581a19ec5bdb47720c31a06a5017c6f1b468c9e23cf65e9a1df030793509e70c649e6c8993085fcd05ca838857504486302939052204cb7d5eb9623b599956c4c04a63002a280b6a767e8187d6f43598273f410efd84b00284bb6038f864516e9f90b228ba08df897890a221fc922e88f8f5fe6f9b232c8bdb7ed8fb6fb069d2a1a9c8b65f24a411b7b37b9b176a046d1ef8f6466b7a6172db8b74b73450b816f662f4a4067dec932e42bb5c97646840270820601e86145428c6b0a62569a1e3af1abcc78f6b8fb9760f4d063fb8ebdc0cf3308c3b74ac3137ac89327445ff2c63ddfb05c03b0e326e7e7784ae3cecb46e09891dea471c3fd900b831067d211d45e5a25409b8b149d156c220c6ee5f47045bb48c6298a16333392d8baccee844ee719df607917d0cbc5c6ab83a5c6641e01e50f2372802e55a950c0b1fe362116f18b8c4d30f7eacf41e4ac5e9543f86e4e8b2c7a1309de1a9c88e85bc8237ac8337aa903efcbfac75c4ef592fe79da3bdf0e69ce321ae01111333ba9f8dfe3a7d38a10a280d225dac0e06add0503c5d44bfdf4f231d6d3b8cc4fac7597c5a2db3871b14a00948a2ad5d053ddc93648484c7339ecf5e3c534f8b08fb3005277b403fd2603e3373c202e4d54b37d96f775122847d0b0c4d8eb40de90400cafd6341e7f6bbb64cbd1b0ad508fe85f9cecd52ddcba6175c46b746f2cd29e9f2396d4f94a642f8cad712e84be01e4db966591e9d5cfb1bc00a56e01e3df488f91164785652d77d506c86d026409cc083611957104cf41d6ffe8da4a1b934c03decb5613256ee941b7c6bea54cfbdec8084be648b0d2089f2185dc89f6be75ae12e7a0e24ea6273848b9cd2903471d2f84350f53cbc784fadb20f89cfea20aa56fa43c7a55a93a211a200b1aee6bc4c2514c4396055313d39ee83cb1b6cce35118fa2f2d91b72f8236c634f1c14f6624f773608094b0c470f82edc2f0bfcd9526894f9e46c3ea985dab7995058a270e46812d8b22e860e0a94632d33663b4c3c1a85dfa21185fe9e4464e61f26c37240b0b29ca2384619b341bf37aa1cdcac03c67059126e517819b4248cb8f01286ff8c8516ece194a674447af55a67d795c71adf5bd1a782f7819af3097cf9d5e85e671ebfcdc25c3080f8fd2d5bf9adb6aadaf1cd8a0757c5200a91046b1307618fb5098fd2f7b286090bc4b970753a78ae43bacaa752d8eb4818136c9d8e48786f18c02f62c9162a13cc7de6d539de9bd572949dc3c2eea0fc5c039d2fabb200b9b79c492fe05dcbd8252ba0045d00c6e105d84931726d1bab9b3194ba392a5e7397947c877ed495c6dc6f68a5c529295c5e5b0b0bf3490d3b487840f9c60c7e39babafc37217b0de93b27f5e50738decee5f960bda431b0fa218a049578f0e8f1a97a258c41f888400ba888d46591d42356ae986ca1a48a7410d319c35d451d9c8bd54d0aa03368bc1aa40b086d708bc0c814d2aaf814aeda4c2342e8ea54db5cdd604417dc82dcee10d6e9cf4ddf5c075471548964f60650ec258432791ad7832355988b772f2a0f82fc8acc7a8082a835484dc32150019d0763bbce422c66b6bc493f9fa3e8d77cc4ccae831afa6606f0835911f9bfa23efbd4cf9c9d79c44c62331e4d0c9c56578f5adce65b23ccfaf9beec65802dda3e20610b5f3e744fe357b8bd225f0076bd21b42bf29d45232c57e47f37eda8279a7079621219ecb2e380e826336142e0910395f185f87ea6fc069b2e56e4c3b579f8cd30edc4a1ad57287fb2543bfa29283e2f7ee6758ebfbc14375b6a8172d259fa19e49d0bab341c7ffadc73a2d9e04449adfc2213973185a9c548075b8b75432a32bb80b64804b7d0ff8fcfed1db23ed9270b8c45890691426c36eab361daa4a97891fcb2f803e57a251f9fe3344e3a0b952845e64eed5506acf93e1f7430fd156b87e53006e1c1c66a8fa40d029b565505c9c874b83c146cfe652f6b57880bc399e3e09050f76c868ef2b9318b3509557a764c98c60792d0f7f90237fff3af9ff72ed1b622d150f645531a16599abffbaf5da1ec5b0dce00e908d51562ed27f40794350bf73e7abd607c3e35405b312a395348a862199fafcd07b8415f808bd15af605ac87861005f8a5c85ba425d080a0841d84c6e77b7e4bc96918df8e51f61dc9f5c6d9f790ce66de8027d8769797e023c58d9f408ed5df7acdb30142594cdc394fc8ec97261688b26fe0ff45f2aceae7c347ace1d4951a0d6ef2ff0ab95bf5eaf311511ff3867c0fa56c2475fb466664ed3ab995388e1436f85f7fe8f455e92b3ea49f2319de7ae8cacaaa7ed553378353926f8984ec880f7a5a9e3d5d88cb6c626a41fa38f7a8448522544a6cfa370afaf78e4772b3ea951e2856bc02cc2d958324d5ed6c89d3050ef100bcc517686a6ad72b017225d6d58be245e7094a8c50fc4e053281e3514d1382cb6be943125bd343bcf0e636fa3f73b05498976e14113e9ad614f09033d01a21ecdf4db55a2c2bfd7b09a70528517f1921adee5bf84147632ea680bd66da619c4dd46f5d42b41b8b01521d0b40463b6acf79404ee7d5133638b252c90d8283f2de9e01ffb38efa94a1c580037975d9adc9309f9ff2985d5382ba8790f937f0360537d8aa9249d035b1f286346463f56a2fa4896fd8f06250154a0630072f738e2da258aad39f66da26403be9652e5b154dba203beca3eb8e6444c40f9f08cc4c008db9d75ae3abb79c7657fdb56d3c241d6b97d28ef546d1a463e5d1492ae3d8e8a5d8cd1b6ad01f456679b40aec1ea25308964efb57cab91b022c13e9306480e857eb1d20cc7fbc0d4efa4bf31fa528b8f1ef6a03991f41f3d8102006b8f3c4566708e32e58d5257a5edf53d6d9058b8c0624def8bdc59ae4d6f471fb52ba8443c7d5943e2eb9f992171785892940260696f3f942c9de51f9f46d9fcf66ebd2dd4feadf1d2238f88dc5a35f2d1ea0620bd43f0aca11d3966aca9abc0d257ee3593b29ca4fc1d6257ce607a202c2176ba16522f25b710fbbd02237bf081d7385635fc430a040e593582de11ae272efb7fa2015c7fb71e58e09d02f28934b7801116ee5878678153ea02d1864bc949f57b6bad998cabad7a706f4f430376948976931cc4c43a2af16206464d3904b959cacfd70ed3aea627944fcd07cfb43e459a705607b4f9a01fbbc96103f21bf840466018c72a85475a9a6a77ab5d21f2931f85c8fafe3f3097f8d1b454500cb473210fdf10e0a61049db276a5d46511c8038db965900bc027044bc2c427bed5ef73aa102f7c73f8e4d9691e114c8bc25e8754f7956bbf574db60107fc5ba7889cbe6149986d33f7a094e91604c843eb0bf08e70115aed6e521d148797a1cbb508ec02fcd11e2aead5c3222ab14ea8457836af95e09b0ca437c0a02d8206f238af7d445b84a6ef4959edfd340fb8be36703fbf41c5178d6363226cc485c58a4cdb0f76756828de9fe5dad0108876b0df971d7bc6d01545d182040737e05c820a0408f348a84998de89bac3a6cd23f6ce6e0f1b5761a81d76e364ad9c913913154f756d681690ced4bd575286e9e5399db5fea81ab2f6a0de06901a715f33f7341169fea14c718a3844cdf82532bf6353207d8973c628fb47264981204ed147028756a2f5bd85194ac4a8fb8035effc1bcf6c32493a9ddb877ee647e47f18a9981400cbea67a61f23f7803f2e904f91ac12d33713248cb1a167f0fc896084ab7fee5165185a7c511efd8347bd001e546f31bfda3e82a53dfcc036886dec0e7e7ae1edf2bde65539d8f47915053ebab2519fa0b465951935f0d0a3a0fefc2cd96bedcac153cf5bb42ea8c88ab9382adce9bd10917b96b19225f2f8ca5c38a0a25812f2d41780c93f47a997745d4867cd7c356e103bb36456a77cd92cebcc540a298e787941a014b744e00a0b6de7b3c7a0886b6dd49f9d35fa10915c55573b0bb3269a5d2ca9b4c53474eb6cc935af430c3aede2e50a98ada24f55e9765b1198145df7f4589d2e276c47ac15a8213950c4978aa19a9a587cd66470cce2be62b3d344a54e43b3d5503c601151d2472f4d74a1362409142efd0a678a48999ae821a11a8a5a89261900754e24dd94e392e8cff89fd0082dc239b3c9d7dac804126e75dec75f4853c167e4dada94caf24cb21e06f95cb759b3a2a30914dbf3d6f0b7683a5b290a81800cd309c8029fbf3d9721c9c809c63e44146bcc269e6e36c7d977bb1328a7b301ed4c253763609ef28ca2634fb6a9868a2b991910b14f3f7bed9ce709bc4647608e109dd7af51afc42e033249579b5616f3396d5592eb98cd52ad76ebda7dc855cfbda013a8356ae1b2f1b21d006050e9ff2e48bdbce656903c3da6068ca7d2d39d390d7ec6111563be3fae1d5f86cece33006e535b533f0412c73471b4feaa5b3a6fba955b205116660dc4a3aa6b28119840ccc065a113e3b2cfa0a45a2dc41562c4c7d7ed8d69b7aabe2f02b7552a0d749a28cba61b4dccb8418970012303a00741187dc33b5223d053ee9543a80554d69295f0c930564d8360d17a7b912eff82630be8009c9a5f2456f1960b784d721c72126e59eb2bf7f8edd49e2b975bf494beb638a8a4b14e162c81f85c9a12a71c75c53a47047dcb4d55185889f0d647b121ce529f9792f01fcc898dbbeb65a8ba13be03a157b2f9cbd78e1a507ddce50dff3268509bb79901bf021223285c5c3bc8014b40535df6942464d6223db2378dd613f42ea91c856ed8a4d52fc73e91e387262683b96320ceca978e66864069f104a02d81456b49b5d64fccf057441f2b4fc5e5d242d892636009795942740a9948134ab7ddec10a86c5a819f2a30deb7725d09a20b5e7fd24daa42d22aa4def1811ab7b6fb6ed58a6817098c979277b7a1b33a08c7c5fc5164b16f3a2ed91fa7944c0bceac035b4de834f29ff4aa3c67b607168841edebccee24d063c554328cb57d1e460a7aa207a68f4edc0b61f5ee4a82a542528b0eade1a39221b2268b3716994e3a1e990b1806f49c255294afec4938507a661fb804e5ce15dc9ac43057f696921a2e05dd5cc8143aa92cd5c204e82902dad855819e21fa755cd4ccb3522a619c3681c02738bfd9839054caa8a57adc1d4590a3a424154a50fc5313a2a5ae72d24ce85ffb940fbe764e18fab512a9f63b73883a1014fb967027b614f3b6026f228a93780128392c6b67336583d8cda20bdf0f3a35175b33ce0cc423ae7648a07747304deba7211cdf34d6264b39eb238a18230f147d3ea3a7c294fff261d60c0f9b8b76f2b8377d529450f7f8332013d2c1144006a12dd6ee1713248024abf2fa730a08b7b68129795a542479ecf4fe5d42bc54b15659c8a7aa57b55ce16cba4c3c636b63df3912eccc813e83c7e22d419ba126f99e5c900e67ecdb41de3ae6ea40ef63fd6108afeaebab13bbb87a5f83a2d976cf2289e517c0b924170ef6f2132ee9a8f94a1c543f496b232ea1cc84fd28c0d340c1c627397cdc2d7056e6975b02248b25403aa790d043866bdc3fc90efba2747e82cb7e4ab8493039f2217d109ad63ac85fa13fcda8410aa514a682e4a1d9822c8928f1e2aa17bb270e238ab6a50fa3c83e7bebb258907f0328feaf7c95cf0ee06dcb7813762d9ba546611ccaa8a4de91d0fa372c3fb7f67065c80a5821b6ac4944a8162e28269c2e8e13cd52a7a16719b5868bb20c9917610aa55264f8abf7a7055a981e3de8cf96ccc8f847b1543f5cfd6991246b197f1aeaf3a838e27e66d318fe7e1e3ecccf05e2f0e339bda5e01ff4062874fd5acd2d71471065a9486b1ed7168172c709b3cef78901faf82c3161f55129fb9c7d5330fdad72f6515ce6988e71091e7eeca332cb51a7e0a1e04756a9c64f3944cec468a2aba613c46833da5c43b97a4ff6fce6392baf755bccaa17d8722f08160783879aa658565eb25c5396e91934c24de7fadf314836314bfe6556b8dfba09a12410d38043d50407769674911b9dcf222d19b3c1f0969ebdca7cb9682139fa759396e31213458d4ed9ea0cb9157e0d4fa637ce1ee1d082c095156c572725bcbef227a5703e42138bfc3985a7f423cde5fe984aa6818e38672920e75a8dd9e5a8e7270267e54a3c9ef31e5e9e04bda342d67d0d720190468246e81eeebbc4733f2bc6a42f5b0db034c168f776a4d69ccc5ed4f0776f312a9ed420078eddca82e505ebf31d6d3fb9b1ee515f2e045a3af53c55cdcf29656ca1e3e7659cdaf6d8f00f91d3421f0a76fb61c8a53e69bd0dca0294c457828d250af4a9d7e0c4042ec725d09ff9f889ce3104069eea6a116fb4d6cfe675d68b769be5a7b086997738589e351c424e37eb0f882c6dec33cb0e5ef8d81cc9c2328930f4423ca181d227b56c0ce09d2f2ca8d8b7ee821be66f7e3bd04142a57fedbd85483668d36ccccdcd64e9370ca8c0f3dbc13a1a1edeb7b741f97a7868093c5a5ddaa2a93a49602cd0da41df193a8fe82eb6c26cd27c0f1758c376e0326b01e42f00e4210708898de79c11948fe7c8ec10a4b8d50a84058410ad04bd0207c10306c8040dce05db060ce10711ed0810fe09158e8ed091e73ab090e7258af101b29da78934d88cd500a201d300fe19a829ffd8008001ad87bac9cebdb4c8b5b828d092e7ed10fcb588bdbac5fdcb6a0802b402c88af0e7e0009a3eed00de01cdc512d901e200f1b801a42382f8c8bfaadbe700a901dc00e301c2e4008d01e83ff2fd00fcf400f51184ee100795ef05ccf7ccd0e0b29f8c3e129695f0b8e7b4a18b87cedd098601eb040fcbdd00e601c1fa9fb3aee600bb01c900ea01fdef8ff73a8801d92700f9992fdf00c3b0ac051fc72432b63085b6be8f95fcc9ca0712f1f110f6f689c9e4f4cbdb4c01eb01de169f94f2031707cad6abd60d9bdae0d700af21be07fa83e381ba0014f611f0108f02372da50fc4f3cc00fb3b0a9401030dd3f4023ca1b90613889ed0011cc691b7ecd215a0083388eb93f5d03635f390e531e9e109f50039f68901d5dc96d3c0ce999ce0cb81a2870f12df92f6d194c6a489c9a7d44398011b9592a6fc00da88d3f9b3aae597d0eef7bbf7d599cea6ddba9d9c4d03b500fbcbc1e5d401cf00dd06bc8d94ecbda8e5dab39f0ac692f888f8888dbae09bdbe5ce01c6e4f1e7ebbbcde7e2a22f09a895f9d6ebfba9e68ad8e3140ee100ee381613e003859300c984201801d1d4261ec401f401b1c2caf800c7ed01ee3d9c01ec1af7b40122ea00a3d12ad2e92bdb108bb52cbd018ecf97ff00e80e0c81bfa8d1ccabc601f19580080821858a669254d20132180440848062081006811882044110844021501084004110840061200482307e0c2ade830602e1e281108220c2c6811f1c08483e84871e049ede81438bd0d30f4630c20e0842d56f84fc2007e1804630490e021198030f8209982be240830be15ae68111ea0110e210363826dca34378073fd04ae865ce839279004230b54188030f0407c73c7010204c0b07840d4e82e2d0c125018c382174613f80c1ac96304409083e7018c2c3c11f0c21264a06d64242060386800ede9d6818d33225c2f53346fd6468e0204188bd3d00074380216c00a1083aa827415089dc04f8926930ec06c2a41df897d1d0411116840789b053f140033848d3d03a859212ad2f868c911984201861847c302a007fd00ea8830ac2652d02b43fd09022f4a4233c6011fe161c944c0f1c1042d4fa87481d49b2683aff05dd67013533cf544fdb96011cba831a210cc6412042351121407808024290e13bd0000e8ee082e0e8c84383e0360e87cad78555b69ba5140092f10c1f0ac10bd1010ce02043e247cec0b2d2e785e8f1b384adb807ef8392ce814307e1b2e609cf003f681cba24fdbc5d3e11d69d2ef189bec35765711cfc8392ee81430b2186170272546abd31ea611ec4088ee48107ef095e258a80117c097f820843d8816680c6147df02128b90f86e0213c0c0826753004110a08d07222f0540f60280f1cc6039dea3b24d85f840b25f37aa0edbe17e9c41efc4028089a368c32651764d16b19a13d28e93a70188207c6081a40d8107c0aa108e4c00711845053841d8810e4844088011f487d65fa34eede73e80e42b620c21144c807f5201fe4832114218419e16108f2c01d940be0d741497ae0304278b2c9410f58b4bd8e29cb34688525e8d3ca080c9929be484e254d1a174922a2c077c4220b3c959bb30cfd9ab2db235651862f414b37900967c90d664533ea3e1a85c60f80700f86f0c18a60fbe5013800423a3807f1201f04e108211c614220420e0a0425e7418a901eac831f50049f8e500e98831c100898a5074678080f45781072820721b3f258b087ba4461a0f86598a0015887219f0de3997eceebd862cd3ab80751fe7b7e20fdbfe00ea4f7b75a401c6807fda00899ff733ed0a0bb020c0820041f3c60ee72602ad5461673b116b6e0a7b27b75a57043be65b969f3aaab2a63acd6a1424d05a5a532d134dd98a10fc9a9466bbb30941addb60e5f1f43917c29c936ce283a5696422119bdb72f98d9e8951ce715aca5d0683858231ce2d25de390142aa27a8666588c0e3ca479068d795726ffb72b2c4034d00684f78e8221803cc94ea89eb908b24d594c3428134feb844aaa9d66677d9c064139b33f1664e6002a9fd0255080ccec393038c9e4b5c8759e71c5a7a1010bc609289d9073e005a101052f56a2640b4663e39a50aaef2a13ff1c86b969fcae75b78b51324b2a8cf50d9a0a51f0d8fff9058428c2b6b33e482ba54c52ca540240024502b5fd6735aec67f2daff53dc76f4e1e4ddb399ebfcc34e080814f2f79a0c1af6041061d01370414c4163f6b774bda69966b885230a6b6724d2315e6c5d647d549a8c93a324582ea2cb58a4b12df8fe645631a66fdc052d5a169053c35d4e511b9c191ba308d4729130d2017ccafb130796965f3f46294b5edfafc72be64769a2348a8130e224d2e1ed9b20a9717ab0a1544021379006ad1e140d3dc406cb14ae90a5297bd1cf3072f0f2d132911a50e455b58aaaa4d0dd7f348b9255669b8f17128775cb02771916a85c9fcf5ca46af6236432b973163478906e034b9e113bbe81a87fb2827600721ed861e301c66ccf365b7821d4243425a3a8864d62daf2b65f822ec88ccedfd28a93e3367279425483b92c5c2432913776d6485455d94935ebad2209a1d2c0e5898a5e455252964417e38cbbe823c944c752d95797b8442ac51d328b45f16c5488e3f9c158d625892a76991f0fc86926690e2981f0daa63ce490ca3e8822c7875726316229351a2e6784c4690dc58d7a145aa19720179e230f3b4f8801551522ebe4ac01846a36c4f358ccb03d659b703227a2fc8dfdc495fd56f8bbe3a0d200c53eaa2ec843bb2a4d2fb390bc1c81f7abdf089ebe803514cd058156a4a16d57130cfbcbe8244211132fd72523888ca39a99786d8a4c708e3703d0a927e0187c335f0ac801b5e4f6a5daf75beaef15ae7711bfff7bdeb6e37aeae695a81bcc23eeb61fefe8522e83e74ca7e8822c2ad36baad13607860b7ef0a742731c15ea843b1426001860c1d303e78bc9b83e16f6d99a7f55860f0780c19f6db00c7fea4e4db74adac0005ea1ecda56f3b1cd02d4b91ef01e8f0640acb733eda8039777516dd93fb880df98378b69f16cdcb7643702d24acde8ca0971cd4a1f292987957d767db1b262dd97c5b266c0f6453ed7fa8b60ffa1b852456c5a18a5a74ae9895cd1b94a526e5d9d6ebea09d7292eb3bea782c48704df697def0494c48db7f1a8104034dd9c49f72bd3b717e059e1a9596c1efa07935a755851f545ec942300d8a9ead8799ad1bc113a0f3f9bd67662f29de5be93b2ef84ec3b1abb0e99ef77280de3cadf521d24227eb6b65b216a531a44eec94738731d3c04124387c775883a403ee77576359cff60bb790a1832d42b9e0fd36c2a78a712e11139d9082596ba5338f55c5cd397701d4041145fa96200616ce4c6666a254425fe0b735e3c0ea2dba07af0c31cb3047d61c8fa5332d8184054f5394730b515c4c7e6a71b373154450d578201385cd5745977bab2afd6d13d492123bc95dd105c363d414fd815aafe2e4300becc7aeb8c4889a2537f5f69d9db0d5f3eba5470e83d09b082c64b37c4637ad40b8f8a67baade9c808c34944614ad6731e5165058f12e58945ec38e8d404e8120d8aadb073eaaee76aa04b1bb4c40605d1a13d1caa913fc766cfaf1b67f4f49168a9e924d8380570fbc2c7e17e850bf8ffb79d42dd3f6974c4ba87bfe98cbc4d3e5b4d9aa44ce82d874b10d4501478c79351b0f430c35a0f03ac459cf7f184540477c23480970915890d221b386a6052b7228a2b4f73362d68480a665dcacc520c3655f33382e2c78abd06e4c4196b46c3b7ed8147a1355759b9eb3ccff3babe3ffdf5da0c9fe97f165424141a657ddb2fdfea0bbda4e33b3d62e6c8494b4c242f335a9a3c70b0457187980974675dac39034a2dd6918bf2a5d23e302fbdcb8ed0b31602b1464f483252d95b6eb7226ca6a6aa623e5246101f1237d6f74ddff92e03a4888908851af63cd01f3ccc2c87b6926e82945a35edcde91a7983b5922c97dbcbade1443c6187b3cf2b0596ac721076120a37be224a363d3efa083187ae5a592d25380185ce5b2353c9dbbb83ba344b12168a225bb274c1288c8ce09925978e2095fbb621b758faf70972fd9898e5169c15620756a2e49509d7efeaa8fd60db8c444cbd226f8303c8fb5a855c4d25edae765cd86875e5de5acaefb38db8959a7d3f6cb7730aa2fdb93a8f2acf0b7e4c383a243bbdd9ce280a9168c2433ac9295b8a97c86b65478464454aa43fa385fca804598590a11449510ca321e02d0fc7d5184d6ec2fac2b20eb1a8272018bb8c635460a9b2beabf4f6d4fe70b97dd16d26bcd936e4a688dcb02c8b397964402533d2052651b08eb6d73786ee52a61c413b2c3da5765118a2ad86d1f2a9240b59138d6b1cffd2099be5c29847fb4e5b2fade656bb56fa4c95d186e7c82c7224f13a2a6590c8332147be6f2379a776bc37d3a0ed75217dfec885d41b48afc9bf18bef342c9213c30f744034cd355ac0c1cc4630b7249be74a2161fed9e9bd72332f7bd95da3d7bab81db44ccffebe759ad0ca9d26b73820d367fb690bec800e3775a2613541e69413c707a9cd5b821c02c26acb26326271bc8575ffa3d563b6147c86642ffb6fdffb740db368d1b21a7690a92247a9bc60255d0613fc41621e8557dc2f523759a08ae57edd9d89ed9b9d7c67102a814c633727786d3fc9beadfc39fdfb71cfe86fcf88dc5dee13fe8db61b7ddbc67ff031c5e57d2a8d85514d5166ce15aaa84ff1a88e7b56d41435958f06b9b3ca7c3b9858fdf1628a414d26f218000ae7850c73f70147c87076febecb6b9b1b7f4b68ec7b9555878fc91f847f92f3ff891ddee6d63916c6b7722acb68534ad545bcc41f0d0d484e089f9b3dc4aeaa258782b261f3479db8238039fcc6820680d95cbbe5d4b046c1a9ff5faef08d3a54b9875c9810a93c0db9b2f2b983601fe083b3daeda2f1c6e562229f48d95cc45be70464a3f84093e619ce39b089ea0419d2f331bd5bb4b7e19bea13093e6931843b591197bea1a4b47c43e3e0c5f583065316149385300ac2c64e765b9a5e70b79f70b9aaeafcc88c97baec919bb4acb6159598f23f10dc9774ce502e1804c617a224d26a4ec1fc5ef724fc2b1b49ccf46128b5343b04943a39c0a130a8f3865ecfbd9c4650c1a07cdcc109913a87d4a3deb95c975cdf5a37214908b4a106c24e300994b55d25316bdbce57d852e9281d26a616ea17e311b7c348b2739494da68f196de47f8b26a4f4d3866f4b26694d4e6580987b8660edd0480fff6241d822c5e1d6aba68a08668b16f9283298698eb8b27ed3697d7fc310b4cf06ac8a944d16c9119426a30655c43d49e49dcff6042ab5f2a50e11bc80c37469475506c3b1c174c5b40c0f9e0e8fe030cbc9836de2b36df8d5583b2b4eccf64b34e624ba3980874d0e0945954eb5b60942cbdd8bc0124a86b8cc5e2f5a8f26b44ba61a89e0a8b44c5d0d0d44b207a3f709188a224912c4381022621c32557954618402a307848f8583c3cd247110000802c1800100080e0200008443108a023886242224651dc0b1edf9c587bf2c62c54f8eb6b0b9b9e5b0f8dc58fbe610fb79b6310f7d12bfbfdab6619ed487100ab99988abade8777f9ba2c6c153763634f108ad42d74d202c8da1fd35c67368aafecbc794883d95566bd9309de981408863d1f0a21b2bfcebf862c787ed36dc5ec29c24f680f874a4987280fd79b6f03c1cca3c6440d0f6b54770f20aca95a696c7fc071760a4db19f0127beae39d8671d523cacbe61384b04f01d2852faf0ea4ef24435334b2232bfe1c9f9d05ff4536fffa18fd715926452049c34762f43fcd93337abada11035365ceb01091e3ccf5f84fea38f77462d608689883d380d260cd2746e356fa3170b1e5e32b302402812e8a4086225b27c6242cb028d6804fe09afe594e1ffcbf7d94dc9abb533173b3ac9645b8924866d857f3f93eba383eb5298cb2c11403511a904573791f3d29e67a752b5b405592f4456781aeeb7d116e02777316f494cc058d19cd8a05aea8b52d854ed2de7cb3fb0ae75c8dc9ef7bba101ccfe9c2b509262032172cbc448efa4e561934df381c2366afc6d66260ecc1029eed46e025e21032d28137e98bb8b873968bd57c1ddc82de17407f396603e3fcd631564786e4d0a17740de2a699e0fd0fa021fb858e93fc147b8c6327f22197d93590b841e069d4a5d8b22230275f4ff9994b4351078d20fc54da6a54ddf0bc26288394d18681164f25185b105190b16986dc706cdb60daa470bee73148405cf3ca22cf6d3324e3f054202145d393d24059228fa2f8b4441157690e8ff5ab81c2167b3abad557d09562365df6c2272578f48488f620d03d345a9aa04be661888263a6a7ea99b6d7e2defbf10038100e3134e280bf0dfbd725f486d9a06be10b4a617ae40f47b378a13bcc083192b6dd9fe2fff54f9f0876a404c417a5aee9016093db6438ab17ab83cc720e249580bbeae9322e19745c8d9edaa541982d304926c9d95216877f7ae0e8db197854a60517c052cf5ba133602a59125699682fdff130def9bd2f99e49215147e8aeb8279a6e8ebd48e999aabfd6a5517a2bc337b4897d04199f24724e7c40745e04421e1407d066f5ba894c142bff99e8d674349b0d89b7db71235cc88e7684e430a61fa10aa4387ebc654bf69ac1ea62c0413586263fc03f88ba62970ff1560d024b9e3cbf3dd85df6aca8897b27a86a902e30622d69f01ef78a2e37205d209d2bfe6aa45b686a58991b892f31e38f2caee8050b9fecffef167c1fce4a4f0edec1880c23b7b8b98f7f92cb9c9a708f0de74f6a42885406f0d04fc93fbea037c9a70a98a8730bf85d0644aff93cb66d6f96f7c58252cef89bfd0196003ee81750462ca1d074cd1fefb373e539ec69e323272f142bfc947d38f30e51a96a7fc05b68c3731ab53d476389c7bf592e4361d51cc79998c705e1c4ba83aa913964b28b060ec1409c48a3e6a3bdfe8b2d58db059c26b0d763d40d579706347c40f2c5b38060f15559fdcbdace90092a698c0f9cd0aa552c06300395955e7dd9dd95f3c9f0468c8022e86091e7060b680c1da959c826d937ed39a474b6a2c6884b2462fef024d08ced3e2091c8229175c9caaf068d6c092422ff641e4b06ad11c638a2348fd4486450c3db7e3176a90bd0999cc9829afa6bd0af0ba5dba5bdecb6e2b5ab79ca2fce20c026afe66dd40d97b5fed40a5ee471bd2b2e615ed1e903823b2b5cf9182c2527487056082469081efe560ce0a0a153454e265a41e3cf37c844ee0bf6936b31142a2f41c758385080ed8a55ede29e8f7ea6b5dda2b2dc9351f52a4c826f1a8e537b6130f341007db916a405976378ba7e8db824f0fde1ac7065a8c10a0232fd71f75c201fa211665f70025604cd69ee5041afe02462c04a08e21ea49b83704eeeabcc45d6a7d66100f7a5e2fa6aaabbbdef8dfdb0739b76118b3aabb586911d46a0ae67c61e7ecb2800b0271dbdfd76459ac7c4ab25a2c4b96522362aa8834b872bdb7abef281a5e804eef49350a5c701415bc9914290c21b8fbbc820c2a5e5f19bb100090174a3ff99b9b517543eaf7a9c3edb2b4e9f27f74278d4e190fb1e76ab7f3a8fd0609b1bd1622e042a555f01538ea2661eaaa745594258bfbbf6393792b4063807156008612a38cbd18706f18e9d4e7241670178f3ae4f5d3800d3112ea3b7b05547293d12a22638b651e814154ed50f6f388d99e67de61b96b700b7feb7ecfe74377075c27603e38840934363e3bc28c783a2caad28bfc005e0f233b2f8e45f1fb17c73d84e7f3df3fa65e0bbb2e7fecf4dac268731c1ef4fc149d02155737b4219b6eb1dda81625e5f5a30896ef63304400fa55f4c96b421b781244ee1ad2a470e5c6444dff2f30254a434f357e63272c57c680cdbdf05045ebe635024b48ac04264731f17e72352027293eae399d6ed0032c2333cc7d40ed05584c14a03d8540f407b5335b105f0dbbbe9a36b4dfd7beddbef80a1f783bd481aef7b8b429708c4dad4396b83b58ebc03d5f59ba81d24de41d716f9a8a932cc23a4ba04a4c61c782f6a5dfe5a144367388147f7c381573084c8eb0661cd93e98ca4e6e7de746404179c2041bf56680d8cdb01b49cf3a78f3390932d8411c574478e11377dd98b4070eb0bec579dfa04336825e5d57259146314b85c154693612b2bd8f7b5580c26d26016556ae7b6c2f43c8c28299f10038e9ecd273c500aa3d345411a844c7e71cbe1438d95224cc3ef08633e61f4195a41e14fe93ebad6e294da4452799af4972344109621b48436f7c66d936a1403c540f38c7087a7c134b1dd8b2f9ab03a2097bc67a39241a846f3e8e284c89f97beaf86a08cc493bb0f5c174e7afc8f3cc151d3c1f029459b94a580f575069b9d14c044c598c02414873e71a38847245de103a105be588ec7b5dc7d9080e5804431e62d4103d4595d191a92ce79006898ad5b6f21b5b3df56df1a1407dacf7903d7fc57a93db27ac893624486623a9abd8541b79af22c84c4174311baf66f77eccabc690baaedd2cc6bf77f2443f7d0495eafd1f556e53d9fe0bca25abc9c547f82873a4e6fc0184103b4ec828cc4c236c9c526b9cfaba18eb600e151f23bc36679611532211cd65da0f7abc4902a649d8fe6fcc7f16f8a0d18513e538e948d4bbcf9bd31255d085acd2dc5266f1dc8b10868ca3f09ea283643f1abdce91fd85f51fd24d21efb15e5299b4d1013c84d3ffd4fd6a9b525e173c5685f1095950ff9eca40e46432fc2950bff6994012657038f21cde641ac322c05408d999ff868c359f12485e21f450bf9face23e3daf8431632b9564d0c0b11988a7de0a325222abae10a9a1670e8ec6c680ab89a780ffcf388051cfa01a8c0d22b515d64eecd17c2cd8dffc6020edd48467c445dc63cffc196f985876bcb0427153376ece18ae845d82dbf55ec9ca88765e82974660c08f70f3844fa378553dd3702978bc84fd45a9484b5d2d26279b05ae1998b60f6b94221e6c4df904937f032e82a2df977284a1c4999b7afdb91a1ab3605a99fa72162c762faa5ac8b744d6c6885794c9d9c4321d48c75bb391bf2043f9e0e3269e401fc69a213d544aa8cdbc8e832a42a670de427a1aa730433a8eafa3199775d530c4305a423d48ac8f1fa94574d0549c8681ac71531e366d1020338ec11a837fecde9b781ace235674f340e3662dc05c8188af8815eb3d9aa00346c1afd144990bc2d8fafcd2783c28cce6f433d5339f0e06031a4a94d6089ed8fda70dbc0b99aee27ade647945c8253c31c0b3d4b6cb1362f6382a36c1d7b6680a70176b2a88c5c4fdd1810e9876c83f39d066c80a4868ca03f0deaf90b1dd905ca3ddfeff9533311051117823cf58df91e7c33849240adb5cf35589e707f1d960f22c00cebc89f93112fe37ab0b141e93c962d9e446116b1c8ab7e67bbe6f2c2075215679e8c26479e3b559bebce00760265f17f974f34c53839e773531989538fe33ecca9736fe4f1191d97033e530082124bcec9e984bce43d699c5ef605e9df3d7d64358ca00950906bc3e3fbbca004bf38bdf1a135c0e2c2e13187ed967b45776ca950c330fc8828a655c9f22b7ce5403733579901f5923e5f0bba79882d2a7947613164b507819bf1c77f2ceb903a587068e5db70503c85b973295539b58ff00829ead985477259c0b7e9b99c5fca7ec31af16a8f5b20ed20f7d35698220e8f74dfc65879850bf021e107b371038a2ab459a124bb5c0957f5d4e441889881b1241efe491097a3a4fee533ec9f4a6193b7988b808f12834e3998d8480880a863b35db9b189010a42f8e073cc22666e81f0802ed3f0329112d07ac934e22cb51e9b9c78824be0df89a5176452ce4f5dcc05ba1367d5427e01cac75f9a50159eb5cbb60da58942d51157690d39c28cd6d8ca08efb4c91e453a931f9593eb56ed42d5111f27e35006047fb65c16c6ef0ddf579d130e796e4c8d74a6ce269b0ed587f3aa7c327be15959f1ba2c01c4709fe4b5cf8925c27ac204ba905b6796c5503d7de9bfbb2f9a70a8400ba2aee720757693b43576814a7f3eec583448966d9aab0992df5485961e1c9d8f5d8826929232ca5fc5c0f5c9a95f6f68a44737f618a383fe5a4e13f259b6f9165bb3bfcc4dca804732228da3a0fec38edcc4524e858653d11ba4a6d43092817c1151275eed57179da3824e02f9419f2708123462f7bf4edde7f04284aa0feb2b37cc5dc8b54ccd3933ee8d518205bd5decc55d423ac686156382fd16ac51c20cff278157377430103a50b37619f8ca79f2a1577413d2a9d2b52200ef80b03160446b1c362a7e8ccc3eb171b337b2b7ea0d41b63ff5d1edd96d0df9e87e76e8e8c20cc2d69fe04efe15ba2e01c5925fd9fc46565a722652148a66625ca40b56637ecfea48d822278fe413a10c63b1af680b031c06f79941312a1b7dcb28d610577e823380b0225ca3aaf0ee6446c5eb105b004308bad971996e8e63d798caf389e54ca9c6a4c4f577b7d95e231a9db98100ff249218d5244ffaa31f71b5e6a7952be095b45ff90735ab4a7001c6b6aeb1b68036ea0f9ecefbfe41d1d836fcfcb6d4ba9ff8dd0bad994d86a3da327bfdc60fb693b564440147d46ae51f029be9b0556b49b633f6b89bf76faea6fb0be55d2b81302e577446e2387c42477c6a74bfdb38566a6f5cd1cbbc6815888b7e92b01465e800068aeb70fa9010257a76330d6205063824663598fce8624989b2657cce7fe03b00a12807c926a08449e84843caa9196e4202b13a98ea8a52eb4ed396a90c52f8290cb03fbfe37cc56e7b9fe15ce46bd521d5f4246b573e00d5d7470c48a1ee00224355c6da664479d518aff02e77e8be3501f69b6a72e50f249de8708303745f3959c977e9e2d8ea565b2a1aadb4a21d75398fedd039ec6b112e5f979b80a4abd8267e21db16ab594732d926069196abcbc58d2f38ae4214aca8205ee0bfdea244aa4ce3975eaf083d426d1077fab688efb50ba7c61ff249f1e3b53b208e0f91e935e705093f353e598b0c1bf4fbd11eaee582ec0c771838494dab6f569529216fa720f780ec91172a5bb99704f2852ef1521b524d53222f2320a5e9a63a084c4d05c99e25838f4e06a4cf3363051089e850423c0d00d5d4a0065fec638892854d8b1295bc30c128548985c341ab055f50b8d2700f1b9ca99d5c2b8fdb366ab4cf943d265807ac0ce8894dd285f66a3cf590038a2c255e746c4cbad6b44b9197ff518f353c38d755717c7790ce66992e4c9c118d12a8d1e65a61143168df31d10c8676b221436730bc98458c5fbdda97f2d2d44865008a0c3cfa8106ba1f0ab23c30810a1a18b47a58d7531165a8d0ae6795399a005b31c1181dbae2ea612d43df77cec95dc6d53c711066543894691d8c4b987c1813a57a1907d7b2de779ed0395527a6d0f7a9f12229288b989b5191c529bef8a52e984501d0688ac91bc4b200807a6845e670543252a4588c3b5932540cb3213de41c76b0b7f39c998166f5232221936d480319043cd54a0ec3fb142cb3215e4f39c9e0703eb521cf074624617e0d7563b16c691190bb9fba7f3cfe127a452b4054dd2238324c251bd9265974783e3f1784a34e90107855d911ce853aa5cfcf103cbc0bae5ef30914f20a3c6514bd0cd7a7f252497c8f7ac6e93129fa0cf24c01e32e1b0bb021c2702e5d366a48682fa9c998845cf10203a31b06d4a188503a469aa45ea4d1843555c8009d6830f512e053d86aaeed70d25431e766087a6439a82ec692e508882a5d9d24329df7ea806e0682c085d66a72fe57a3c433a4c5abc377d1e0520009cde611ab088445671e6e481f46a6c982a16df2648aae7d60c12ea66b06652358708bb3734e887d19401183026cf76de219b275b2d36bd166b2720334d023ff568e3aef43e35794ad3ea740d89cf76edcd646fd1741378a86e96df9415dec81fdec6b7013f2b15d003fb8e6a821f059fd968f1618c62ce294629ed58a7eb757383ac04b429642ffc6627b5f8525f727b218e54562cbf60994e5ce3f7c7afe705f6548c8de22b180d85a320bdd389f7e9a07db23a8f8c74832bc837d23f07f966cafb5dbba616b6b67d8da6ed548b3767bae286ed336f3b7815ff7035efc27ecc61222116bb04a5c099cbaa23b14ffa818a8bdbe1a12c91c8296b0bff1bd8be61f970af2b15dbe0c1c202cc36255ec7b6950cd2a22d583c2d94b54eea5cdff8022bd1a43ad2252b1432cc38f907e2834bc17f3ffef08eaa8e18ed46c809bf35abc66cb9f0c4b11b835ec9fcc908d32117b2ff37bb7d52f14fb5119a63429748da8fad022fe822f431f01eb214f27a4d5a27ee0ff1efcc33a5d981e1c61655a3dc2487559e429f138d60e1cba38e8e680db41cfd3f8d0595003b6d28868fcbb000a631c1544806c4d074ed75cd0337ecbe5e9073c0583fbe5f4bef20a97420503a04029b6e30c79e7283622a9bb1b6affa71fd0fe10499ff86f938c7bf46393ddf696524a29a54c52ee510146012f0138df4babac34a9d8799d4912d3f8f2493f6ae7d61699022609a430820e677ad0968d71eb84d0013d311ad83eea02472c6da06a17f072094c891929e103b472cc0468a5100ae0a7480e91561fba15e9554defa3aa9a61115ad28372315914d8d5b4d8a29a123a063614628153413c8ab8733a0d549a27f18f7e03208d9600468ad0ec08d144653072e6978da81786402bdc41a4d3f56d56ca9244e650ca5e53779b26cb7d8b88471412bb8aa508a5d87a3112967108a7876694e01a0dd2e05c769e3d44635d8bafd19522003b7bc3e4cf659a5661f3140c07ebb861f0cd7666a597d80ecf02c25649e5aa3232d615cc5d0ac452274bfbdda57628109dff9ffeff3f9d3a33f369539a83a96d5be7e09ba18e84fea7e3e74923fabb94a546e6adeb9665b26fc1e1d989426679958ba5e08552bec74a589286707a68c62cbf349863723073ff993bc9d45bb35ea42b23809d0d7befccf30677de18b8d67cf2fc65d0f24dc74c453f3673ce6de69c8f18712309122e737a58b19953c2cd971b54b0a6c0d40ce962830f7555f11120ca96b95e34a9e03167cfa997a3f4eae1dafc57326b9786e7a249138b20f7663d7dce2b2b0a63d2062ab1b804786d01caaaf2c2725227ac62bc0547dcd20abdb6cc3481506b90a722d061eaca63bc74ad36a687c5e86a05a8f4908eeca80103cb449f320658d38b36648d8fb35b983ecb63fd5a9df47f0f98e3d30996bfdb9cdaee35305da84f71ce1ac47bd3bde7a77705b088566e6315a9c2511f430b470cc02414a12c2682bb83bc8313046331ae0374100c35844549b270431fb5a847118773c6420d41413f766a7bdfe22ce3aef700fc5a8fb3e3d7533b75ded58ec1d4dc91d06d3dee9c7771e6a44da391cc844eb3616c6f5edddee0ccddf7e05f3bde6c6d94e6f2cd4b9ff3abbd016becf49d75d555a6cbeab5972b111c68456979e2ed807345e6856ba3a902c50f1f22358228b9bb3c4b1843e1c3b93884df9874aee3d645a34bc58f11d3e5b424a7e33e6df0c4e9774e07aa6ebfb8ba74c865a5c6c93363fbb9bebdff067ec23735325158ba90a1b6543390a464a0de8eed3f08661cb5ba8610429d8f2cd7d5da7b2f2fe248f7e6afb8de0af23affab9a8b5fce39f38b6f593d738e69ce7c628ce9bd6f6dadd5fe5f7ac3d29be78dcb3c61f66378d023e7a208c16dd55609e35817e89c54afdd7a6f5cafddba3621b994d71ff3836c3fce3305f9a435f37dbfa9abe5fa8d3d5710033e9d2717415cc07063152a2de78931bdf7adadb5daff4b29be5df55a6bbe166a958989523aedff9ca39616edf5bec61eacd6de9cf7fcc8bf79df2f0e62cce29cf3a8f1fe02770e7bf4e4c17347084a084a084a08ea23e7d7fb482b2a48a49451923ce1d1048c890e251de89048c822240cf229e74acc7b1c76a257575a72e63ede47f65b9d1b9d3f7a2c6a10f77cf9ac6aa9bb3ac5e2a8bad8c476caaf4a4586f4fe8fcf3d8eb0c7816fc9f028d54bd11daf9596a04e61bd72db9fba2995d3d7c8567357766599cc6834ada6959e1591a82f1ec96c31320479991b39ad75d4646c066d8efb322e833567bbc2e2b04ee5c45fd2fbb9b794572b75b23f7517046beef16ccfbb3b891f2eeb944a557565cecd791ff71546621ea5f671bcd4e376d8e9bf9694aa47775757ebcf5c185d51e62c692d9d525febcc4d5ddddddb9bd9566934877d73d4f57d6ddf222ae61ff2d46203ffc757de69ed2cbf203d381b6dd6ded9b4975aa35169869424a14b1095ea045aab5ef44af2c2e6107de960888ba854ce5b4e4201d3b6000c0c8844234a1484280621e4a883fa146288449c0b898f47c22052200e854161501826032018040000c30200433118844406311ef6bbf9fb24a36d3b6d0c21a13d02b9db8264ec7ad08995b5d122e544f9a3bc1e1fbe2f68afb16f8498acca0911832892991e60d9d93a6996f86c76dee25c3e773db56fba1a8c90cb6ac12c1677303012f0950bb8d16062a789bea2f2cdd15a7b1fddaee4426610c00a25d84bf239c4e260198e9e2d5266451d21678bd96e822f4504c314a0ac4172143e0f1317ec3798daf253c1a936df9ca777028fdffbe91b30254efeb9555b2cfc803276077ad4cfa4cfe17c169aa361fcbe2c25fc20de703020f574f017742fb6a5963b0ef482d944900a59a07502d945141d3d517216062952350ac085e1c94ad18ded4b95dab6cab50d9aeb636474a3c3d4ff2a442eff33c12a0e268650625e9fc85a57ba5d191dd20f6ce3b86a227f44240b0740c5c85a952ffec5d201e03feb3334bc0bb8a15141a01f60648985210919e8c279759e3c0791f7290959674cd94cc36abb2b0d1ff3c2b09555c96eb73c57146d900bda43afe0b92d1be9f7463c138e49d8be1488237b8ec6fa8a91655c24e8eeec8b3eceabaaba2e8d2d3d990826f612a4ade16d23b444c2351f261e997ef4bbd1b8a5640288167c1298d95583cade7e1bc5969d78192a7547e59c38e590966eb9a105bbe05fe0aadca28baf9545afe24472fb6a877953b8dbd566e2d6ae335e7aa8363956356deb9c70e1df9102d844f3145923603304252505833e6ae362eeb622e0bdf75533a9a338b38c6f6e49ccec46038fee60fa9be65d8783cebf6e99f42716b6ffba6bde895e0e3a779f4161af3e3b5e9566fd2d0e3b88e2b28bd919c3b5f40b1a3df9aa7c7a04fd09686ed91c0eaee56a3b1b1f6acf0053007391de5e5d3433c6aaa98b816b167f613ee18e00efd232138453fb8bce9c1371e777d72026b0bb1129cf8e7fb3144cbed7a8b3ff5ccc1b432406da56995d5aa8101c20e6f9d52f564760b7ba614855b184bea0ae858c3895f886e807daf9bc23057a925241f4602392de6219d214fcae63f4e711b7b787dd16d9f7d6d6f13fd313d718fd9fa6bd3ca772b837cc237f95f5a3c7af0b84cb5fc782921edb678629cec6ac4c003640702c7e5d7d2b27811d16fd9ba955cfbdadc6b25f1a4ea9e0b9196049e96fe829b9d6646037147a6cf0d9822ba91c15e3619379dd04bcb266eb113a688b126c1a4bb0500e82451c52fca9a259134b04f56076655aa5d91f2d6da8668e9589e36e04e954d11808f84bee0ac04a40579d612b91a16fd6baec4743e6f8e70d61a2175e253786efb88e2a7af6f1671e93727668fc93d54e6c38f62cb6dc0d20b49168382f5d787900bb6fd2694afc8419534d2aae9ff415ac25c6a73befb5e6c214ba7dd31dec9470e0b5d415243c3bc7fec75b9ecd60224cae1b38dc06abedbe4fa7ab5eb25a39ba84d5c32b466d7636cc6522578a784b75678c8ca95f0667b7a73caa4325144e9fcca3bb2ba6cced926fd8335ff8f11f401e74023160921d1323a80b96281ca77a9324d570aab91ea9a6d0ab66925ae1b24fb5e91e403d007c447071adc57d93e8a35d5045253b6caf0bf30a8e9801380eb3909bb6199f8d4b1297acaf2b06f265f10a6d31fea2590c6a0f58c476d6101830d8a289a1f22d5e683119d39ade1dc2a8210606ba3ae9210ba2f3ccc888118d32c3837f26c5a809701ceb6b4d9b22a3c70ab2337a0e2cd56ce452319fff3ece5427900aba0d65e36fb214d81a63e1ec0b43ce48dbd8292855cfce8a9774205384df5c5f9e0a778926ba7c61d386ea14c4a8ec181e50904703327470406b15f90ee951b195a5ecf8aa012030c5c6e4a0c543485823da4e2ce13f400a6840061d9f8b4f19745cac784bb460a6ba052779faa39412b0378e15dd293928151f91cec771f4f55e748e120ffe5674a46c54d61704e3c8b922b20ebc78172aeb2349518149b3d15393032f6b14021011d6b8ffc53ee172ab4c6e63b0f70649f19c2968e097717734a9cd610dbff6e1d247d6e6cb4cfce6175f4aff6a3706ae5fc5eec52b7eb92569d806e61285c44013b64d851ab0b43373aa733b868af22c871b1c3eda069ed05e7fb8f9a6e9177c27abd2d0d4f564e4b321bb631fc4d3aeec19e7b4f8d1a327d26f3740213b6edaf1c3b146d3e35eb02b1c1a71f9f668b9ccd11c48e33402130698cf6d731b437940369973b169512c3c136c4fe91d72617bb50c9df88f341dee169d520f663e617b50d194825d39c9732b678b630494e215358a141ab6259afc807ab6ed473f658c53999ceff728d2323b1bd552d381a664d176e9044e43e774b9d00a599837b6b4b1bbdef9029118e1702ec43275ed05f65e9017b9db9507c41c917c5cc9c92c6509b84a94c4352efdcc70ff4e88ee02538b3c6e60ccc854074ead3c04a06ae5f9e62b0d3012409f45feb15029773d50fd2659d2e70f4d836635783062f47a1526e98416579ecfa81011a087a5164bba58310768c3e7b7ed9450e7fb2fbab794d9e0278a2bd49a44ded4a10545a428f909cbaca44cfcaac87c4302da4fb712c4215797b40e50c8ea86d47b0ae2d0b280f968c20e82577ad012325c2c83bcc0677d557220f33b5efbbe22552d877347a24abc7f751ea2493a4a14e8f576954add1ce6f3dc4b0aa28a5bee5db56009c5fbaa20b7c5c12138e39b7ddbdfd0bf525826d143688a2d32d624cbec778852ca9a5cddb8140470d8da9ed320f4bc06a2d7fb5e0f446782fae1618ae453fa6403f1e236fd70568b9b745802bc92b59588117c86995f4b591cb39489b832b0e0cae1ce62c4f3634c9a3aff189ce441333528baa42149cab08824294adcbaf94537774a27e787aa147a9214d6784f955be796c6fb33e33a8dc38871824945ee65d088649d7d566faa584d1c95ae93e70d705af6e71b9cb404e9bfa72abbed21fedf2ea2395da557c967235b22c91a216798ea22c4f1eb20deb0321908252ab53eaa003eed50a3a210594fc33cd24d0b857697bb26e92b38c661ae6c479304b28aff363f2189e0f0c6f8930aec7d5163922e0d9a168a61e7e249a8073c03be9008c66a5a71fcad2f2a50f365ba6c38ddb52b542a2716400fedc6a940b20ecbbd94d39643035d34e14c79abb09325c2d1f85ac93d475c2f48ff2fa40ef8d41d61e81d45c8ee576803f470e0bec2096009c2a2671c98cab114daafbb9304afc8d8196904056d89b991d3f44bac8f9175e5d9d6f22fe7c3d56dcb604739d2c00928641e224a904d2f4baf865085ceb266aa60c2e18c302582b3dee7bba51099e44341fb5402f46e3919bef5260305f42bb914321a943517fbfbbbc38eb4fc243d2ac1a54b762104773b98407a0a0e3827c742a09129bda4d845521115239287535d592df392a72ea77f98676b600b8b4addea82e197193326c9bd0591507184b323fa74ba06ca2014adb2685e9ccb28d404457f8e0b3c3f65ce3981b3ae917934b2a85c2e3c634e14020ad2ed4b02a9f359b3d147decc03e86a3bf342c04233ebf4341ffb06d4b871b968ad1c1671aea4dee2675443a1203782234e06e7600fb26091118ab736058ba4ec1e6cb79a6091041d7aa95f4fc52358646134412301a87c332058a4c24a4c3613de5f8d17082da770db5184052ffdd818589ea59f0bf33c9123871e22840a1b3f4bf07585ce118ea29f20b6bbf88590c09904bda72d09bc85228c95433ff7050e3d358ad234a8e233a8cf813026df6c243784ff16b10f410c9bcc73f075ac982deda8c2f354ebc04962e7536d4bd9d00ec6d6dbcf83cbb79c3894f5810dc6f8848ddbc90cbb4ee1aa7c18c21a1c1bc2af188c05f5b6c2ec693e5247e6e4aec96cfe883a89e567167a8568445783714daa5b6c7d2cdc65561cd30bf7ddf939a799c6d0dc943766fe25e13d194a6ede4352c99097a927d750ad97426a7c4570201df58620b39fc64c7e68d464fad5b3711cdcf808e6e72b25905dc65105f4a77f0d4f04c46c1cc692a0b103cb44a2900bd664280c321b64a5990dfc76c6c66356ccabb5e487499c2241451205f58ac3cbbfcf2db6a154e2f9c644cbd2f9d9b6184896f0f326e98b5535629da0ab385ff03a7bc2e4d6c2fc515387f61fc9d550295043e99c761ba03004068b50edd1396d4e5724e466275425dab7c366b48f16df119bde6562f7772a23149e2d2b574c4f92018c35eadfa323b1321ab991725f5821556ac40cfdf00e425859ecf637a1a69306a1b681009e2c77866c1e677d24960770b52b206cc755ba99ea22cbf6a64fc93e7b5322a9620e129a5f18957e8e640eff2adfe56ce53eac391a1fb2265d2ce2c073bc73b2e2c052144b4fe00584d620680aa9b05c1b4e11624de931b0e8158f15bdd9eeb6f3a8ed67e17c5ba64934a9070ae528c04c2421b6008c4b24e108f92e136124876633cff30b78b583ceb5e6ed4470bcddd9b03b2eabb32694b8043f8da7887d33606ffc6463d011544a57936cf52b3b047bfca100e4914ec5b13b0cbc05f0eba0642b02c6d42e6f22382af6cc39d1562bcb85d24e9b4129b7eb2116e5d0c4100ef649786b3f825caf0be93bfa45d71119d4e99e810f69e23a90ee7b8201139410deaef4fce562cc10f89d86bda35b27b4915a9c04be3f802f67d36f28dcd2d6d62974d5dcbddf61801643237dde591dfc68e5bd14d6b6a9152f731d11e80ff690e0cbe161a1dab96c368c3ec92dd3435747da9aceff9fc2285a11b72e810c93203d68ca61def8dbb48eda534aea4b51318ea04f55367dd017ca2d6ca4a01ea4a9893273d807be2acee509d985d8de8e78276682d41901a1aaf05667746f0990df48bbe04943ee04d7d3fd3c0a3020082e646061695bb2b5df9df3aaf79b0c72867e46143d09f0662d69ade96fc007d6f47bcf1a699bb1315e7e024aac3281568afedf1502ad26847029351d9adb8aac25ed13325e5bf28dfc0ead4fa9a74ac3d20799cb0a7ffff5c7a697515031a22ed416b23b32cd50221fac6514758a4697b45e019b8da548bbfa60416f304d1839f3a3f17477f6e4be424a6d0258519d204c9549c2b880d342edb93bcd94395c323e3379f8b596334ad08882eb1a33bb79ee543c10b3dc496d7a72e6197811c1651527301a76d4b49ab54636ad691613e5b6508f1a4b1059d5355c3d99444aba305b021cec775801b129b19d98efde2a44f97c9dc89d85e322193c1f36d48d814355c3a689efc70615cd98dc75f5eb37eba531e34d926f904bc69a37554630c25537baae58a6e74fabd0b241584d5a8024f6c7c5b718ee659cde303ae72af70760d60e6a53fb2fc8bc0ffae3f728d938f6ead1dc9cee55ca48fcbd7cc8a8460307b5b7554ff58c6e43b4c90b7f90dde19fe5a412a558fdcf0639c106ff9ca3e6d7962ea1abfbf348f162095d67665ed4aa25eeef3088057bdd0c6e31c7e6ab23a78e839545fdad1c7625f5d0654df8610cdd90e80b6a150e0b8843e8dbb08936f0b3385e1b839b7022d6c1f302047b775c51c50afee0b7e563bd7a38d03a017f3d6261e480a1c686c96680de0f44e78e5687050e0a0978ddc288d11eda7af5050b452308de036ad3e89d30f8574f3c3670d308e63f548666db736bcdf939d76b03e632facd71188c145c89e1fdda40c6bbf74fff9176143b53578b8a7c52491c08edebec49e44dfd96a0a13a02e155a54adc09b972eea4765a08a12f40eebae41e87954f820e04269b58c08a61b802e0d1fff4e27ad8127dfa5563aa42ad9a75d8bf9ed60b2ba2649882eaa70050a7308eed64fa805374594860e5cf57683ce4fdbcef9cc1d374f48d37c45df928fca9313f1a8ba15c6409c3e27bb7ed1b986619055a205c1c4c418a3e8a03d0fff086450ca6d3c52af2704e43cc1b9f95644120d16285827cd5c7552211b98322d6c2f0415d6114db9369c0354801242e9b3e16a29a2b9264f67796c9fd8403c2c8928629e855a135887082c6bca1448c88946308f9bccc0b716056d04e0d367e9756df57204e1bc8ffd621808e4c4c17314cd5b2195049f9671888ac3810c2f79f7108a6dbb233325672f2050c297b7b93fe5bdf0c523032f39ac49ecc3ba6ba5901e976dbb3b8fb8253aa52050876adafdd5b37c230623f2b6597b6909322567114ea80c94c58ba60bc1007b25a61961fb5f67221ed029756c2a4e14703f3700135a710ba4ba584c1de820a67d47e27377fe72c092d007ebd75424a1e98dc254d9e27ade4355a790efa8cf4d43470037242a1b1ab577e5fb9c94b5f3ef1068313d6fd46b581dc08c8a8f1ba91a72fb186e4891de26c1a557cef67e801231eb645d811259bcad55c871971aa1872cc294c6e7c06668aaf740664d77a3edbd7933bc464517b3fe41c90842dac2dfaf837d649da3e87147dee5fb6d2e76dab041004bc105bbf4f6482c73528724b41d9da1e75c2fe2d0b28bf1ee837975dec08a1b5eb967039846f1433cd74370a188e466dbd18a11230871e2234fc7969839a1dc3193fdac8ca77d10f0b74a6011ae50431534058d6b401c1fc5e960054dcd7ffeb0eb63beeae2ec7527f82d45789b6ec97d8b4b9cf4a9474f60df7082597b35b764ebd8a38fedbff3b781f783dbdec3db6a1134e2740b42ad0ad6d134224b2bb3757f62601ee02d102040357f6ebfc533a612a4ae8d6e4739fdbdacaba69d125c6406f2ce6406fa9944d3a8ad068206d74813818bbf84c8f340cb2ddd6f06c19843f16eb1dd44c455f04dcba034a67199c7a82324a7b8c70b67dc210878f31183a301c1ec31d860eec9593b347da612f9fcf47ecb07f7dcf0bb6a7a756cb94e69c33cd34cf7aada76753baa99592b763d22de564901c9245f24897461209a7d4fb78dfee63a26210967d30b9c394bb21d86b3d9b0651f411c510dc7a76eb55c1c71ad1eec20d09cd6122f4c14ac36d29ed4d2658be947d8cc73976ed04698db7b5d35e635a6b77e4bd9f98f18c736aebaee0dfa0d1a7d4ceaf4ddb33e2a356112ea6e15d4cbdc46cc1e44927f5b4f484050887272a4f41603d35795af264a48226272f9e1c61a4ca114b1e3819230510475b9a20f254b4e63e095d39393975f193e554e5e4e4748593ce898b9316272c4e4a4e539c903811e56ad6da6e1bc560a534d3b28c8706131a94664a2d9867add8deafce4bb9a8609b6affe67fdb2dbedfe7130e1cff49a02dbdc3facc924e23bd9bd08d87c4f5f4d46a345aefb118091e500af4864a304b02b9798914e3b158ef349addb71e7ecad3af8c99192e488fc9d27cfaf4c9adc73fc678c70e342744391224882298c0a107054f4849020a1a21483fb6987142f27443923d6a9d03060cc4e989e0b55d7a0469faeb11431c17a8fba841bd75fe9ea5f445453ad2f089c6bbfc9ef3fec9cabe1e9693d3dfea039fb7fb732a733d07c5190e5f5e6a237fb6b1d34d75e7797cf1cf3170249e31e815f70361f11c638fd84309be384e06fff5059df264187ff74a6be73fadb552fa73da514711c7b7f6d99be09d332683631c3b79ce4963c6c36375041ac107eb0f7cb09e0ec3911ca63355a6884e0c47afbcee242f0cbb8f3eb90b041b369898f0d980def4ce43431623041ab0de673324c16621f4598dd80bacd5dab756c4e07a11dbfdcec80120068387a7468fa18b3a230c199ce79d59969da716804fcf80562336f340ea54d8ec2b1f99e4e42ed7ef0059a72163ccad6b132efe82318a2107c3ac43509c5d5edc19bee31c0aae955505f5d82a0a39697d3ba5ccf9c5aa265cf545acda72ab98c0555676d510b95635c9544d95929f2a2344aa25e282a9a0707d2fd5929da98a6cfc434544f5c35aaaa0a76e6ecd798da5996785a7b543dc4601f19af0920d8032b64cc5a4afb0cee433a9f3ad74f771ac18e79cf3187e06842fa9411d3e2508669d2798248a38369cb9cbc66d3a846d0d8a388718c3723206c57d6ddd5bb4ed978e165fb63cf313bb7cf392b3f6f27abd5eafd7eb0576970d7d7ca6963cc8608a67650312ec6883b06a3d1aafef38e62ed0f872b55a4f8ff5f972af9e6bb59e9e978fb53058f0f6649d6f4830cddd9a7c6e49709abe0fe70817d2a4731e590d19517a84523353563db2a6aaa0a6bc5256da65c582f3cc3aa7fcba04c72b13a022a690f029206ca4b4a4d63049a191b2a222999c053d18917445c4bbaaa2cb1726a30c2f5b439a80824bd26e0a3753e47ea25092a21246aa4915d010291ea47290120a13a5157515d58baa8a8a8a6a0aa3ac9cd9749c73ce29a790af9cff9cb34e3a65155d7f6f6de5679b6a9c9ea2714645ff3ee8294f35ce3ece6a9c569a9ffc4fdb5b160d687ffa9352faf529b594d28a33cd9afe674aa9ceed3935a52148c34a65b25ff9d94a259e67eeb7676db4d3d5a21c447318d79bf3ca69e5c49deeaa11a594d25b7391aed65aede31c0dfaffb7bd89b3b6de6bb4bb14e7d9ccb21bced796bfab82d6bdc7e5ab67e4fc6a7296f56a344b8d841a3450d20a9984924cc026419c73d74968a58cbf2e4848badb10843b25c6204831fe49e953ce6532d9e5ec032bed0de18a702fa694895ce757ff3bcd58d3173099fdff1beb8cffffe5ef6a11cdd15caf37a7ac52560ebe1afdffbfb53a9db5d6de4b83eebd8f270ee39c77bb4c75d1ed08beb7066116ebbdb6ff7ddcbb706dcdce0d85859d9091214e98ca14292168c8cb1336483c9870b19240d8624465b169a9250a2695b2d68b277efb370fbbf5762a087e330c65f8dfc76f4dc70ef9773a852d76a01c2ac1810d7676b09dcd6007e2a0752b73f854843a0ab266280b373ff65516d65595dd55a01f65ca7a4dfa492b784b73fb67e2b158d0f257e2af44bd18cf2ba994f256ac97de09ed0465a2b163631a67e59c1b57a91f97ffad4ccafea53c7dadd362689f32fb556c25a5d7d28989c835945661c1c5e82eafa40dbf5ab090c853ac623bb5eabce89e258205eb9eb8b24a57654bb115ba7e00390caba80adf583ebe48f313865baaa88ac9d0248ce0608080f0ef52db68a9f58a6daed4aeb638cf360501ef687d41bd31967d4a3e7d3568ffabecd65a1a8637688a4d934d4747f7ba5a41febacf674ace39e79cf359e5f2d2ab75d5c919686bee211709feba58ac771aad862bd6b97273d2c2ee0997305578647e2411b2c40f3fa8494244e59a483f56bea52960a08059b2b9b021028c16560f536bc02c8e24c12283eb0209942f6fea97ad8e831446efe58a5649d4e6491b8cfb7abd2096047183941b29df18a12141a8183245cb8d4b37bf7c5645493caa314a868ce8a2ca1564c6a0c9d2d27381b9cd2e7e745e74cf5e2258f013579ed155717db1559ab89843e2fb8a15fc4aa9818f3db8459266079c4648cc76b3fd190fce4279f7fdf2abc1bf09ee6c31b5386c5dda198de7c6ee05f1df5a83c0d85a8eb108354af1de53d3a49665b1e11902bfa371f03eefa1a611cdc66332032ecd26e5bd7b7fcd9cc76218675ce361ac8198709739b8d673048bbb6c50e2392f4d00881cdec1cb6fef17e7e25c9c17073b88e3c3a50ee8f37ac182393939167ce580f6e6e5cbf94820414f4f8e1cb59a7dc17ea3d0ade9cb5d9999d6de2fcbd52da57903344616e59c7bb9e69cf5275f82cd79ef2f836ce059d65cdd582b53c04001b36413108464c4859a2c549cd070e56a883450600939e2e282f2a66ef5180e7f75bfb069346c7639eaa9a8e2e78c177b46cbb5b60bd7476891b46549120eea70858b677cf0c0b71766d498a1bae9f88d017ab6ad01185c87824b392e80c706d61a75f675c1919fa62f436963fe9e301831f9c574f817807d5d9cbca1272e9a0e2f02e610d11d4089e3d8e0c5d48b078bd04b1345241d29c9c106a11e99305a889872b4c30f1f6dacca30359194c407519baa2ca6c042e5084f28688dd5900d8618dbf70033c09899640b1e1d50f867c15c079005bae89d9952e28b3739261b688888f4a0e24715226146f01254c5164c4c4d8a5cb1c348cd8fa6223f94d1e9865851f4e5b417506819e1e488ca92ab8adc0a4ebe70f10412ef47183ca70b4c2fc2a687fc5c41b508e21a22c80d73072039b8926ea8f4eda51d288923e500a2d26b8faa9220305efbcf150787541e42ae3071655141b3e4a9e9874a0a1db66889c2ab21098bb5ce788894a3ad345b545b4e5b4d5b62b694b67ce0052db1a61622c06b21d6a1debbd62a40288bd51c9bb82bf8382ac73290de7ec0f7e20330586ff0c476fade0554cc236b29c3300cb1bd39d42148698843a908522a8aa2288a7aef8ce3388ef7825b882818b452cb06ee914f202864117d576f70a41570c38003348880124332481541d3e683da1b0714055af63e703f94cad8c0bd6b09e805f6000a1030c0a60cb8f498b503e203b9001b3364801853570432705ca008812b63104fc0f9147b8ba1bd61188621c63887186b3c4399288aa228de9c711cc77194f13fe3ff5f666cbb344e099841008d1918dbd8e18d7b631f109bc9008889198f313e66118732f1453187f613d8a1bbbcc6183fc63b7658a9301d42489147731fc12ae2050d358921d25db6909650d23134b5e543182a580039214209488ad615ad285a475a48b4846cfd4cad7993155594854556185e0d40b27063be28a68c3882c31b282dba1d7258a4c0d283479b28bc1a9a4c192102746454a2d3398f48092455ebdb5ec5f8c685cfffe6cf3b65a5f5aa098f31a214209e3c29e1456388fba69cb839697cee73f57e1a2a0aeeb9eb7eede7be890b5a8c3378f1fc5e63e9accc46ebdef84e2c69282e51487dee73bcb777d53d1ea47b3c880bf1a09834942ea399f44e3f8120c660987b2b58beacc43301661b63e73a8c0f4050beb8dc10e9983269b5f1d68a20697dfb82bd17c809ae4248fb2a6d393ae39846d9314abb9495735c65cd01037aeedbc25e10e39cd368adf7963b67bd37084a7004da0791f9a8b40d9ccc0a8001638600180e884543510ec3281084988292ea0324c2c8051dc6c447849108210c086248842259044138046010004480210819e410d3b600cca7f7759c063dbc532e7afbf36e94cd324b5e1b5cebc54bf4b08e1de4ee4e2a6b624deda5a255ac99f95452b0353b850aa4f39adc99ca71bd756e4ba6a3984f8e3828d410e5bf25634b20f18af583a6dfa8c5f093f49163b1bd4bff4b2ee67be92b45c5d2b9f413d862399d3e365f0c77a6bfbac5d69648cd383fbdf2e1ceea855ee25d7965b28133cc2a662d1c4c863a5a0d29247ba7134a2cd938e076a461e08b05f1f719db0a025de538917deca528818242569bd691e7b46438c49a27ad36433e914738851ed98555ad1d849e39b40761720e16ec7a8f779c3d25007bf1b7a483b4d9e948a9698b1bcd6f0737864a16d1436b95fa2ee625c7a3a5d8da39e70f7d3c6df7e5ad29241525d5141d318400ba12c8e859f0dc7394f883963d6513326696b4c2910bb400aad41fe3e978ef881170bfd58cdae9e75d49e47d88c48bb33629776556b8dfa6715e5adacf7e59efd4fcd5b3d26950c8880b2d72a6ea1f86cf654b45c5bbf763624a8ee289eeb126de2b1b160918add794132d664d48d2a8de663cb21b075f53b639fd6ef70d47c3418412f2c85c435070ccc6f1bde23520296d40968962cda3ee334886adfa04c95c32d0876d6055fbe433489d54e1ec93afe4041ede53e27f3b391d7050be657d33c0359fb84fb61030d0b5151c4d21e13b6d408257ce074a13077ca6474f503394070e9004715c455e45a13924374d395c6e4a5fcac8bcacd202fa65222da8548beff474c3bbbe0d651f5150b02050d3171900e21d2e8e26b8482009cd096e4615fd6a677180b23fc32d4eff4f383ca5a2534f0b58202527b4c00545765e6af93711fde04234baf0006f62d7c72cfd0c65956d8f8925467c99850a2fc2bcff26a1458077be728e288da9d8476e2dc1702ba1b29cf330c17721a6862c49e9fe567a5b732629bcfbedbde2287f23cc19bbc2dbda4dcbd4d010afe890cda559ad40c23330baa2a7e0f2fcef905d86007f52babd0539b8cfdf299afd2725654c317014e890dc7253f34da3b243bb8b0a8041294db8f4f9777b7d2a8e6561ac0b42d0b8a30fc975de20822fd8529ee5508a4ca3c2b9074d05c5fb3954be9683c5ab57d7a289b331f0b60267489cf5a1c707e802f10b065e6e5305ee34a860539e9e713fc5a8db7275aeb0c89270ebadd664f30ae7f1dea410f3d89b8d5c969c18dbd0652c4436b9100d21a9ef8a88f384c551601e2bb83a27a8f823527c57c2cd8fbf8844d4488282ba5e053319a29b822769cf9293cba9a14697c9545e692d6fd0024acfffb1cad39338611be1e02e85662b024ecdceb0935968bb4dd261e1ba43c00a128771a583bb8055eb81492fc309755a160dab553b17dca5fbe6ea4a24fa65f93f7611164a008eaeafea73e36b753046e8546448570a09361541203531c2267dc5f9889744e0d8e2b5c710936d970e3bfea6a175df716d17b572222c481aa47062df9b77d876296d955aa4196693b55d5274b7cbb8bc7766c346fe0d5529a8d89178141c80f16342766cb774a0e5166a86ad24e20a1f6a16aa0231305bd25a1294b0321cdc22390cab0d117cb9cb35a796e41e12f8436c0c67c996bb705ef267f92941a84718b4574b2a89c62681ccf4d4cb680421917d06f74488d66789b14af69848c7fd9a8bcba0b94465156d4cb82dc9c76b5b3b12be56f4dc46910cc605d9080de977b8506fa4ee5ce8ca626667b6772eb883e2f8ecc7ac5bce240bbd0a23075a746bc7bf3bce57bc5acb5b6469e6b1edb407e6df8079f1a2c57325adc5d8c955174af78d27e10125880e13e5a19c165733a31120b654f344b9c05d082097d19baa2198cff9a1680dc99567f1bf93bcb33142dd19cd0280308e4e222bc9ea93855a7930b10b098fbe9c7524fb1297f7f179f8fc09efde12a7af7e7694a90414f31cb17d20826dbb93569b826dab97643d078cbd60db7e23b8f709c1e1b81a6c1baa3d72e426ea4d76b06dcbff5f44bdcdf737c0989787d0c1b45eae1f0032c65e1dde9a1eceafcf03ec6225c2ca9b8104e4afab291b382ff812d67dc9eeed3174f338a64341ec021d23ae0198ecdf96c310ca0dd976e1bc5886575ef61c28e6a9a228e228ea798315fabc108ef54488919b1777cbe25c5c22db85709a88ce9b2ce1f1ae1c0901d4b05ba17ef65abad76bb1ee9bee3582a78974911d08d9720514d9f1ddb4c851be07a938912297ec6fce5f79a5323b899cda0317e4cfcd77395eebd5a9a6d43921f8b1d4f516974346fae1336941410a8b5b2d47d1e8e721947de77787d8ba850255d1b275788a3d77327ecf845079964933bf4d9dd052a7ed019bf97657056513bf402e97fec7702899dc99a41b7fa9cf56c6c32d47944bf75d32861f1590f9f84f48b5a7f0811b1272d629bb0179e02a3802ae686fbeb534c4987fbef00027eb2e5869327c9c80e7af317d3b15b8261aeff47b287926b87e7edcce7393667b43e34b64364a7ce103470b71300c4908333e15300738f30392b33556c48310a365f8835c40873f44221ea1c424cdb9f1aac76a0127dbfb9413ecf86101c14ca3d3ff87f1a446bee6af7d9b692276a6274884aa41e69fb50892297a316cb9737789999fc64890314a972156f80fcc63e2097c35dd8cb5d70dd94ba9bc618d953b216c86408c13d9a6ffbcf2ef242de423f41a3c270cbfe263b216e1d03ec47137f89f9d6acb7c20b7d1cb7d68015b6eaa1bb91038af3d019f5b2c9c5f80d6211ee36e83f5b68b4573d3be2152f3625fd4cc891c4c230e304afd811721faf7f5799b3687d347f2c00c639c3a2758445fe3dd5eb1973f014e8ef2d1af09c032780f56669e307ffae42ce9a4043b8bb0c3fcdc5595f133264a7a48809eee7450c98dc999f35f122193829afbac18f0ae013081e1a8c52f354fbec13cc7976426fca1629696503bdf92cef2afe87542cec1c607b52c82385e7caa786ab4610fc3ae57f606488488b8021eb0e06db23d53cefe76a16ade068f9568fe492ec743406d3900b6072537001a8316742a68cf354f5867a83311c1bcb5e60c08ebfd7ca72c7e51882a97462d2fc0b1508db2592f3b4e857a72bc16c473c3b50a2692e5f510c13c589a8eae1793ffddc690ca16a4071bfc03a1818ec6f12e256a6efa9568a46055d41d3a85574b029b27d753b9c0b8994269e17ccdb528d622cc942e36942717f935ea24a075a1650f7e488f9bd9fb54d0a4727028e50dbac94ac303b09c702646bfe5fc35e44c9ad9f8b646557dc9c20be861493d795b69da358f8ef104bffca56b900c86e3362146c4af352689485108c8cf438a2175bcc6402ca346b03959a811451a69b45eb1f2cb61eda7b02a85c0b7f96e32fc521df960b28d62d0e5e9e2f70b9ac403654bd684eeda2a7e41d5314d649235a1885e4b5d42192688769358176aca5e8c66c7889636a9d170e5a9a1da0e3ceea518707e024c897f67e1fafa182a0a5e8f2c3a63688792e26a82a67f5e23316016d3565ba217f7c577ebf581f71aabed30fac89c52d58aea1a69bcb1b5cfe7d86591ec2d92c7dcb0a79db6d1f05ff4181151e541c71b781f760ade95c33d0d389ec12d492db67b8715e86b5f826c414f18a99942854efae3972a01be3c8489e45b96ed73db18a76fe57030672a98fe342a013e7f8122889cb315fa47fc8098b95d5a8c793f246112b3d227c7c449b3f70db6a5481fc02d589296db1386f2d5beab8a5fdebc3687adc0e30c7bf66e3286877c5f013c55be3415f7a35cf98e82f189a6573518a8a3bbe979b3afd434d973b62d676523808e8ab33a8a694f6195e5320c1ed91f820c97bd85b6d2b62f868b1edae878f8743c3090c7fbce5f573d3f0bfa3bdab3c0f91e0fe921acee875785170d426a6c22288e86c64bbc3fbc9dd2fe7b2be7ec93f55d58713f888542bad6a01cfd427176da91a69cb3307bf7515081a905375eb6b22f49382eea58e88de3bd1226affe06011d2010f2c0d8e033d14d03f23b5b90441e0f17953a0db19273a52e86459e11f3ac880a878338b828e70c9682a27247801fac67e68191b513dc2426913f6e8f3361e70e8bd2ee41ac35a355d2775ad9f956091aa878c149682752b682ff6dc56e50a3ce8a7d8927c772a5e39cb7cd2a5c5eff1650da380283add1c289bacea287bafc0fc8f9ec8cd805d4b591355df2f31353d27cdce1ce196e38542f38486c61f1b9e46a4d76d9f36d51347cd9f35d3380eaec3571fdafb4d05e04f933e6672dd3577d3b96c58f9ee6f3fa5c622abf561b93017a36a07a182db3f82683a9244f79ec7dad2988457d46e7141a6999313da6b0b394aa3ae737e4a7cfa830015d3e3870707287fa4b8fcf25cc33a6e0901990f8d4887c79e827c4d485d8a2bcfc8319b3351df206476968ce82d419cf86bfbd40cc9c6eb6cf5b0fcecc29a6cefd83a8c2f32b181f1d522a855eb9ffb32fafca225e096fae40b2d93a4304d3a2b6ca57ba7221e2b4289dd069d41774369fb2de16c0365f7d2364367c9bfe4f06281d4b7f04c3efa339bfbe11bafdf9137c4e72b8885f7e1cc488e0a5344cb500ac9fb2c20cfa2e54bc8c0da0221582d4185b0f53e56afce3426656f5b6fd06b7d1e6e871840f25c10803b8853909ace69095e855ac666fe154915901bc09465513aa18e60873c399c1617986b8ac83d5645f2c7d15c511a00e135f13e8215946757a60bf1ba28602312b3dce6b7c0d71ff4bf0aadd9cd452f99a03c5db24ecc7f203c6d9c27ad6f6772916e000687bc2999bad9122a7c4d1bea9e1bb2e28f185788e920c4440a88e876040a9cebde2f48f2a244a1ccd7c459b36a8ddc726ce068cd01ef215d2e4b2d7ebe7ae474a4399fcec7efd33f6db8e9358861811bb0896d9833d19fc00791ce01c59f7bc8bf78a58bfc1e8920a035b4aaee345aaeee8e0489c03cceff97b10183ad7e2f347c6c7d8844d5a0590311f679ec9c5f429cb2c80488370ae6d55f45f5a5ae77571758119ec79701827911660a35a66966a3f8e39b5fc42c19ed2c4d4b6f61bcabb4f226509ab6f9f070e3013d7aad8e499685813dad1e938d44548a6fdb1ce00a146853bc53abb7e615ae19ba3ce4998b247674f627cdcb8058a5d1cfd650be6d4a30ed0902546f6f5b554fc8fddaab8115267d9bf7a286692ccfdc1b839d193e25805273fcec4a866c52720d0db79402aa9e5176642b670827ca72a6632cbebad36f787b44d29aecef914d969dcef5f16cae1c355d6e5ab3199573189f15055b839ed73fe81c8698560eaaa124a7cd8ac79519efb14696199c5f17f0a9f3c87e7a8909f267962f92138216c21efe9104da9dc1c1fcee49822cfcb8933e89b43d46ec779075c6329f59b5724799c7f8ec7ed7fa1afc733635005deca71419df434bed1d424ac1ede8d8b1b4bd4bccd0617fb0d7a442617de506a715383c19f8a515eb534be3d025d8ecf965cce330b9f2838b11550c7f013de3c1e94a006f7fa3981c1f0cd79041b8aa50c36f46601e35af1f942ae830bdb6b352e0ddd180e6342c7a7452235836aafd182560ad360c619a518ec3878d4fadd8fd1295734fbd57b94807ced4b49fe0046c45ae4e900168e305ea20e4397a148c7bacf9a477a9db9000a25444ad7bc50c7f096edfff31bbd18712cb9ff26cb286295a45e3ac078043c648d16f8c4af85027d28f23c1a4d5772765f48b1118132ec3af6905ba30b97757612cbb6b4a123c2bf3199e0d10e1c7e05271bfc1bd7c968074e074b384df2a348cda780f3d6dee3c8d258795ea037cb89e4ed7ee31bd770d942b90f04062cd1142bf18418affa24ba9055cb0202cb45a57995a2e4fe8cec2c827bc481cb96712dbf71b46a765234611402e36654db9a03e3677654d490e81eb672e02aa43f9505440e94c851083c30885df98d07df06afc1f680bf76593395866fbcb0b4907cc0becb00698d0f58deeabe946d69356d477cc0b2d1af0a708d0e991bdfc623a6a25f9f52a9e23058af03a6cd866aca858a6c65ffec7f7711a6d8f0f9ce9fc5598be748595b81e5af9a85345f2d9bf11a34d2d39ef1b61f740155c8534bcb4a76d2f9de44b235e2cde531819336bae6b62a244e61469a4befd64534c34ee9105f515d1cd7e7d6a545813c9aba4050f1902c9850a6f746fb63280752603af71e0587b0e3484e944749467b57842490f5f3d63751f31bb8c057432c36413eaf7446d1ccd2616185b6792bf72804be4d554a802716e6dde56b6f2ae94dca426ccc19126937a36a322a43d5ce1940acdfd4cf2d09bd9f7b9004c7914361512c0729fc5963456b9dbd2212a4d72b5e83b52888b89121f285189c799c9a4f88ab9a3862806dcc1b7cc687e81122641ff4f6c2a3870d7578e33b6ec9a2d62b998d2322911ebd0fc35a0052cf5c552562f1c4a68ef34a6235a748b3ec6a51a31d9cdb89a09ac1ffa9178166592577429f7c7b93f2ea8154c6cafe3b5c75235160dd68b7b629f7d411dd6b3fc1bbf8c725edf0f4fccf476d2274651bbd12c0d51622313667fee8ffdc14b4fac9bc184e8ad42895449d359639103a07fdb8ab8d455435c96c65add81fe393a577db171bfbbb3bc1c64d7eab00b2d6856bc1ba49dcfda0f0f611226820d961ba1eedae4dd41df0077f3acc1c37e90357e032bfaec5e9353a50a153f91e7f589ddb8a6651f3c8ca5f9fab4b5cdaf0ba24db23158a00e3e7e1c2e7da51e5439466ac6c496491b3c249667ceb699d2350db3ef5e9751a3920c9ff8a15ed6c6818c75c568168fe09477a37795a011569e7bec91b3449d2e80816d3bea2f02c7aca68b93e410d136c272a4018758b6a7c2bcc644dbf7331f91f9b7f701e0c77df52ff27863ffa26e907b47517bac33d8081d0579cd6eec3e60f3b763e23d89810c9755fd6e46c1bff96d0e01c28da8f189d3df84a1b3b3e87b6443c0ad0bdf57889bb7e118b05e588d16a3fb3d572010a16936b9642e1b1f68e954cae9de3387d4ce040d4e58e50cd495b3e64c140560941d12ab1c7c3b74edef5ced462ca8e86f2475e913a77b85c7d97c0a627702c7dafe37c91795592c49d43fab0b52f0e0adf2acccc9fde6501ae45dddd3ef3b88303a2f29110ddb616aab3bfbdaa1ce077e22bfa6c121f907bcd50293c66edd02caf787e85879ec819c3f8e55eda9e0efaa658ca89ebc980be18c3e9b8de5c1f12cfc3e5c8d5a7bdca69c641e51a457e70230ef13ce5188776db3ba964e50194b2df9d5d4907d1fc8469264e43e515526ae4148014d280d1bb4cf35bf26e492ba0d09d5859398d98c3f849cb55240b1949b8e0745b3845b581044dc428dd02f64e596acc8d03e6d13133b6462c7680e27f6af3e652b1852483c8d1a5146dc41a34b12edf1825af185a5d746674f17f0fc87d516364d9de032c3ba88ab45f1af719a8f3111f784525d2238defabe1fe91173c33fbd9c53109440316a18e0bc095d6ac210e03ed106b0bdd79b5f1f983bfda36f546de5fa4dca8801c226c220eff4c6b3b017ff63a00fa6fc30d6efa4a412914e241530c2bc72536491ac363610001a621dd2d4019b2bde57300cb1eb0d16ea99643a860acfd6dca75114b697958eed7dcd20fdf8863c29f0b49f26a8399d68f1c5618f2baf597975292daa21440fc504fe0da923d780aa5d4949007c9a5b414e72a59e29dc712756ff572ef640548403259ea44a047c290686a1e857253a0ad039a0d9e1bb9db8c96df9bae792bfc18f050c54a43935217e6a4cda67080ccdf3b34ec87e323bbff35fd4dd08fce26baa978db154375df5b5c0ef33e3315e3dd0b26e78b2e86557846ae4cc59be6345941f54b9faed54a7f53f08c208f1e254047ccaa8ff210e81eb1461b006a76133f9401398f136f4ba2bf1b2baed816fddeb2c646fcb5508bec0ce1b00a8eb7a912fd65897053c366f194427f59b5186426f3ff0438466cc1dfe136de7477e02f13e37d7208c439f2459f490838f696b6468c6bdfc6556a878ea3e243dab834516ae4768fd56bf9dc82773a97b9874ae82bc0d9dc82d95e31f6f90737d980af46bb6ff4aa775284c06aa7636df2aa30a1f7ec0d156e5ad909b0ae75513f767e73c5b7b58f7db563ce1072816c6b2adffb3437c23076ab5200eaf48008fd10dad6d465b11a10a4cbb22b200a9ce280eeb40b713789cd8921b35431431a58961af2828db828e73e20f090b1a0e9cdb329d21fb845356e2b06a0674822b4a5085670343ad034b1b71ea2dfe1771f8b81afb6eed3b109c74c62df255321c4ad29c7c311f2276318fc1df74f845a02b7562177999a18853cff5a4fd65a2beb52ab706791eb12060123973e3526c49ee9fbbfe79557e1cc004619f1b52eb29606325df8ebcc5eafd19f06d8d1969c9c1b4d8729514491885e84c0692aaf759c856c98107541ba54a57828ea52b42069a1ee05c12f15a4a5d99b26c1ff240fd490ba4b28c8e1fbb2659cc45277650876dfc82dbbd99ce6d1115625ecc206f997013f9888c81b26addf354ce919eaf1d3bdcd56b3cde4641d7c671ea2e95143436743299daa68523943d281ba90551769648fd2103b15fa52a8fac49d2cafca27c0e34e1c9e1585cfe1028f0455735df0e620b55ce18e0883b24451bff03b0765a66042d75e4d61e34ec2841792b5451fda273c34a0c6f4846530cc9d101fad1065e4ac4873e7d03a7cc8845339267dc9053e9d0b57fc180907fb86c2220436d6208d9b08b539bcf5d9fa16988994fe33b735e566484ad550890cc809a6af5f2d01e4b3830c7ed76691d6182c48f2180bc7d72684907a37c0572b28e63c14db7cc156bde7b7b5748a4390688e989e94c0b39e4013ef1267a4002b4208d582d5c3ac6b7f04aaf5f29a6323d8e4540e8a3eab50f609931c5cf794c402e9d7ead2b017439f57642acc5d9c9766fb94ac7d894bec7827ff70076d64d3b377c4fbd4b18c534592809279ac1b2cd22eda35c7655c5a16254e3008c93d06c66242ae1c3e9e8e8feab5baebeb3b7be7a5b1fb04c81b4588604ed8aa9a417b3d08032bba1a611f29bc8b7119d0d31e3a985193f3f33d4e9f929eb217893def2812a95501907bfb76f8ec2ca778e9a9747a04252b37c761b1901f070cc4d7114f6a7695d20c033d8b0241fa13d8a95c75d03291497c9c453c1f4d6fe5d611d03c7dcfc73252231793ef205603ef9fcc7f490959abc913108db0e8019a39120a068e61164588f6953a58a51bc95e92996d2be8dffea030f2d811daef57211f5ca488490f8518cb5e8363029458ee2f1ded4ce0e8cf485a0438aec3ac34720a8507f2ef5645af43c647b2ca1f0fb9373a328d91e34f2cbed36050f0275bca1626a9331d5c13925716e9ee95a4db64624e0397c548ad358c14736f1786b2f7910f1903b843b4439262dd1b4a5eaf3dd2aa464be4007adf1a85edadeb07513431078e4b511bf4a2c74e27f069c1c3612e30baa53f926324972a51f4feee1b027da951a04f9a95f595673d1d827eaed3e212a7e401e08c6131afdc7f1e5a437e26840ed927e9e353672b5c8d925ed66aecc80dab57a42e9668e2ceca62e6744dd0151f7a0f1e094c79544ef9a8e8fe5318a95f67673962d8defc848316525679822cc2a9d6c1269eb08aa8337c7c5c97259b2a6ad84c858402f38cc705dc815c8ca6d44d23666a64bf4d82226a581ef6b0af51a2ddda19bd343510f6eb2f8888845467fa8da018e047978ec1f0211d1f7d77f6fdd948d1398e402864a07aabf3c3555e19bfd7688ac2a32b1b39a452b3b4bed1341f24254690c208682b2d20b3db3e454cdf2aec07d977da84ac8b2a0e86b2f7eaec7cb0ebaa8a4c31d111a4f2a3eb293004f674e0091a66fac6126584eaad71adf409e5322fa75f0be9551654bbb4600051c07dbbbb6b272c2189bb08c7591aeb5a56d665a4345158ea46a7ce8f549e7567175c641ee2c63723d104e6d9bdab2e54ac9e71ac0ddcf57fa2e158a6baa3c21913219ada19064eb92cd92fa5440584044832333412f6811f5610767b9ea1cc485bfa252be32f50e9c30a8985e44c1d060f820d92f5919e48a0401a6b4a7a6630222bfca0feba2f873704905bd39cb66b265a256f2601faf17b551ee3fb6e7e04162aab7ba9253fc6412a3ffcc88b5636081173ed329d1958fec372782e2c178e9008175fcc882a645219a11cb00841535638c22785669c0835a5a31a90c7b902ad67dc7f8291b0e5fe09cb924a3a5872264bc37a7fa17b49fb0bfd2ac7c3ad9c495864be2919a324cc60eecbe0198a0db5f29cd2f9b4eb2231b50b3af914250731c648ff1e81fb772ff13840d0209ddea7da0e10b576a42f87d8b5b6848245acd8032cb95e2e0bce640e3155e12ae2203af7155b5dabbfc19370e7e49b78982973693df54c24345206283ca78bb898966443fafb9fc964c7c48fbad19852cbf19a0a612421cd5104307857756e923fe19de7785d099c23cc1231ef457bfa4db442836ee64f82d3f84bfd7b1ec0305f3afc7a8e885bf84e350acf3907db448d43a08f5cd54dac313a8caf5c467630a8fdae5129ccd1151b063c5647ff3992c4063540f3d333240a6212614b3022fab1309c3f45f41568961512131ee8a28cb331f187c65e9a59d8a68801862b338b0ec9ab16efe478cca8f58a77f616c7a91cb8948c8bf9c5586224f44d5e3bd0aa1cafddd04fd38fb85826b1993318b293c27e802b8f7e4c669e85deb610cfd11172f5890cd0018a95656f1305493bdeb9cdd309d571a52446c5500fbc6051cee2e18d799b1a6c733b0147bc4d53a4cd7c1e678177cdfa4f35bc4df71a25e18fbb7d6101c1c204a6bd3c8d130b84a830ed6ed3cc6fa5c637bb4db3b159525ddc2841ceb111149ea2b341e80752bed034465111bd48771fba4dd1fe0523f24f103e65e836111173f96c5cbb79ebab06188ff835b7c94ad1025576e636419ab083a51f4024b1c84a8cdca63afa876d723be0b351dca6a3c0ac714890ed10606c0b7d213876b04d318fab369c116bab4c2122d540ed4764480ae0365d377c333f15d89803de363d41eb12364dd252c06d53f7a5df324332b3eee17e656be0e1d93675f3ed113661208f584d8cb104820003f85edb94a5f90cbee1103e105227b5cdd35637d31a1da9ffb5cba29c7c2ad5366906dd5a26f6c8b44d985368da26bb0bd336713e328795a64acde38fd236f5a0f0b494a69036872b9de6af89f9cb3b1555142fa4a946cf18689b78d83d6a5c115775145b8f313fc9fb0b907d1e9c6de20240e134a8c9baf40efbecd33a5322cf657b61922c47efbc1cb24fbd6c93a816e5f3966d9afe3117cc5eb24d97521f2bfbcf649bda338b4ab6894e65ac38bfea37b8c4b143b24d7017e92f8612e55c2d8d6c135502bc98ca0d622c74ce430b22d2d8a1e8c653916d3a9125ee99df2a41567fb26d6daf27870a81f464b8d4aaf026283c82b70c288236eb63a380566084e20a23a48bde68dae1795e61e34fdc3cd71f79ac919705434386d5f3b731a01646305bcedadeafe34d36f5239057f03578e7def7fc29dc1de8365e68dfb108e2397ab310c59bcc194d3159886a7feb3cf2a458882a62598f762667d630ee6d9e63218afb02f7b9e06eac1ca854ba71c88b0e23e91e30dedc27cce91ec88ded758bbec82c620253077994743254d917aff154d8f0c298b4f20563fc05b98df782b44a48e10bc9d26bda2ee8b03ec3eb7c4319e2a6821cc52286c3164789cce30f3f7f60e332a12009e2adf56a454ed844e350538b4f50f49430d750ec0137cb6553877467416451e70d36415d682f8631479fe0da1630925b7002272eb010b6ecdc4f7044edefb0827d3220a97fdab032835879c94fc0161a88fe4d084bad52f1ed37c7a96e5b92c0ae10f7603d482708fea7848c9aeda84b666475361cb7648b6aa0cd72e5a6b83699b1ddfe719a1c8d929cdc4193a7cc7dffd3d32a3016b9aeb959d34cc48aaf5324295a862676ee315829bce85bb5e119f029ed2c1d4ee845281a92a76ddf220dbecbc8f95c3430f3038a3a4c299b4ee3f25f232a390d75f5e1e99e437802d94940ddf026c008cf8a7e4614f990f44472de1b70f5868f8c86dee25b447190cbb6ee6b8b2963676d0abc25a84fd3605fbc61991fbd38c9661cca3a70cf85f9815960cc4024443c867921b0a895a7de0dbea360a307e864444344bfbb1810d6a9c1123f83c17a0b68a975dbf5c1e5c1fa9334328a08894f072ab086fc299c536a441c7e07102a5300d161d9cf6d1fd688e0809f21ce3c28ad3507b06a36258bec1222e1dea53d815f94c7466d78dcb6e95c32763ce942162a44ee79a2fc6487bffae2916a6970538a18b05b74f0865eac9282f325fa24428005297c3f127c214904404a6d48ff1582f83a6ab89ceece6e60a1e5d8fa268efedb52a0770fde58d6acb83c56224304056af3b3f5825b599817d6d756b3014628075a7d080b7ee4024bed9805ee7238aaebbfaab82e08e34001fa53ebfdc46c6fc39cba0bede17e1196901f29f7939e8943fe04a8a729e9b74426e47599403d4f0cb0878d08e9acc2f801544ddae9359f862ce07354e6509df6bfdf8d2c61c790b5bab9ac2ef0cb14228439547ed3bafd8841a8fc930c881acba5d8402e947f5997f1fabc2d4862e8bd35e530f050a90d402e1c78b523ef0d6697686b398052197413f3b21f1d78a1f4a02a6550798f3f1e8e3327ce5a2e9f8406b22e65da84c6b758a7b6382bfbea0db28a65ae3ba39c6ec5d4ce9cb96f05fc073196de14898fc28f28ca533f0113c0a8e3419d64ec220371075611609758c713d6886f0d5ccac677fe3409926c8632e1b10be754974a5bff66e56a431352a907e46c5ef5c9453468d397b7505b1f2a623400130661973fbb46bb933fdcc82ee6ef58311e9c7d7aa07d22afbd423612a965844172f267b4f729f80f16271627cbfe4924763498fcafd843f7453e0f8ab1474686b3494bd5ddd81df95c7b19dcbc47cc1e3be80efa6e2e89172ff0d1432a2007819a5ea04619f1e0324dfed2e00ba41d215620ba0570bbf1fe3ec928752efcce7305e4d0f3aa2b8c978a03fdfd83e31f975cabb331c13321e5c7e5e2c2dec9c1d65bbab3b8fca78ccbf4feba73780c02a3daff0d22af00797be113022dda95f84f4e75ae2f284a04e4664b87594cc6328d39b52c993443a1c6f574739f7442a0f6ef398ee954b47f83974d1fe16cebd0640a40bcf8cca2f8e07593056fa16f585660215cec74fc067ffc37cae85da2d5428e764ad994bc2c429aa5deca12986c67f612022f88477aa9ce8411615e221515e7a6157be09c9b1b034103e443c5fd1d436a33ef62d572cd523b1db78488b1d0d08a72f2f22ac0254dbe8f454cdd1f066dcfa911d05820833e630bd7b1281ee947469f5e01be9e61b96728cd19a021bf57ee800f0652bc35d06772547f54cbf4a1a3c3012134a8d94fc16ba6be622b104cbd5f33871700ddd5dfdec652a51ddc73d17dae19872fd8b5b4f5ee38fcbb328807770d2beb64da789ddfdfb8ae3e04f87deaba344c5ac0059cf23c2d0523876d7358a897cffd1aa8de1f754ba8eb2d5227f3cdf52ad5a5047d823bac37fb76a30b5d902961a586fbc73d9bd741da4cb1fac168826e4d8d52d5f0b434a88a6dce770f867a003aa6338d3988ecce3ed9a5122d6729b4b92e3e36d32f7f6633ef16776ce159cf7ca7b2ee533fe61db2ba0101ac25899e911384a0857b963acd95d8efbc2df9256f8d4c871bf1744562f6939e110d7d91a00341885a9671b95293c12d447c24d7f22f0a881b4a8560f09ecd481847d9edc1f0feae6090a327fb113d2c9a5f0ba551adb2f5522a7921e472095cc6de45f6db6c292a2214b5f24d8fe6454ea512da777f4ed238e3fef815d01b2c3b4756db0e9931d960caa3e26b5ced8cb315e51713f869ec4b821a3abae1fa4e97ed4a569236444c3b5c0ca31b9370a1b23848b8585f14abc0e3e6cb9ae9b42d9aba42fb0ab523268170ee03c80b9a709511c2dc68990d76b4611c94e744f28242cbfeee82dcb6e27fb178db54b1887b30d220e1ed83eb244d0852a997d89a4f6d8b752301836d4461dda787d32d6ae656b0d9166c1b7c6e75110d4d2f67d7ec8064ef1c8aee4e5a7caaad86d9187234ca1c72b40e328f5afdca7c5a21024618a4035b11d96ec71f72d0b126e6e1636ac920a373fcf132021bde8e3e339e2785fe62a5c25d9803f22903cbf6fddc45313aa05980026c1dfa9d611b894e2b369fccf5c7a927a19902d722cde43e4c59e1a8c955a1a5b949a42759e8cbf184b28843dc75dd3023402ea3a5e58c5aa21ce8d4a0a9d759736d86e136d3028feb051538895010020c30b3705b93f2ab4becddae5901d536b3870e1638eee1b6a125e2cddba0be69dca6eecf8121fe24370c4be46803f1aac681751a6e457579002bee11572dcffa11e0f6af6c3d7d9304de38d649096c6d22b1c2fb2c616fe62140c646f5288152bee471ffba7fbaffff2f5a252ebf718b12dd581806f7323612411c275801dbce233d055884fc71002a49580f4710719c030086153c39cab4a31d0bdde0a89f7141d43855c6d46b9ab2f3f61e600762ac13fa6a7f575595cf58a1098815342076549a6d356a9c61bdd488c8ee95bdb9899452640be500d700e400aa4ecfccd7e92dd333ab1fec5ad15ce565663eafdb9adbb47c2fd36ab1ce2bbc426b648d166991e35b1a3d4353ecff140439e770f0080eb1f8d1e970389c83583555b296003ca0ade54549cf8271b6317ef5de3bce38c46286958057c4afa7188bf4c41eac65ad1b8feb665a7f3b125a3173ce3197d435759b4bde726f74c926ca9b6c63b1d207ada515ad029a9365293d668aed10487ac947149e806c4914b978d89546c5fe581e7200caf785e7822da828499101858713394ac820d192226157530410014411c44b4a814eab108aaeaa0d59d4ad1f4c499e079b05744369a516058f199e7a939a459bbaebae4774a8452d72268ee44aaedc545bdfceedbce3e3b703fec5cd641bb70eeeedab95da0a3dcddf9a99cfdca2855a98c73cca64263396cccc7ad6750204200040cdd7e98bc9d9d0b69904d8c46d04007668329fd76dbd692ba5c93533b7e4530bb5308ff298c94c662c9999f5ac3fc81570317b988d64e2538e9198092b9f7f7fd59fbfff7c93177ffc71a32654a4231d3554ce46c24ce4362ddf4cc44c1a23b192dbb47c31ac7cd5f73fff7c93177ffc11e41aaf118fe3555e2bb534a9e9714ebbd669b55ce1ef2bb446d66891169969a0c7be23dbf7ed543a950ce933249ed1746456a9df5f2a13ca6cf8401fe8437d2ebc9377fa3e5f0866f5d1e970389c832006d4a1ba7bda19d20ac7876683c22971906e3224cd7da94c28b3e1f3baadb92fb5691fe8437d2e3eafdb9afb4039f34edfe70bd1dca6e5cc3b611766e591bc0f9adbb49cad1e8309a5687430fe184c885ab88006d4a14840980b970f4df891a5743014ce557a1023a2f4762af7de5b09dc3beeddd23de57bdca34d6ed2a42a167af6dfbaeb508f68518b1cc999b8922b37d5d6b7733b3b8d0b0deaffffff7fdb95de2ddf3ebbd0ebb6eec23dfaf6b849afdb01185b6cc5afb576d8bd64a11d7275917bb2a14f880e1b2a68c0b00ae9133e1d832e29062dba48e9b12eb515578c31c53863997ebdac7531be96bd340627aafd6b1fd3fe5ad602d4ced6da8b5d30cd1f5850c037b08a1066c161ef10056387eccc844ac4157e8851ab875bfbd55acbb97744e5d4e28beb3dd919b6f5b10bed088994762ab774bbb725a2f7dc71234860532027259414142b2ea669394b229a6c2bc617306ad8c80161b421aaa674aacaa7084989e8a444cf4a6636c86a3a57b464f9a3ec1410055fc17901c3d349a2f0c50e0947845308608e6d43f4d468209a0acace258573801b08871ca87358d5258d0133ca040c4e312cc79c4464a444a6e601f39051305a20249381988cc219e209218488880422222222232249dac0e6646fc4dcf12e0b2731c330a3e861351ae3e07833d1159f5f407779a890194fc787980a18ffccdd64fe9c50ec173e6c258d9241565ab0c9bf74e9d10dd0242ef9d7feb15f1a194d2ef7c98d7e3ffc595dd5c02f5a629fbf0de54843998bb6d6c5e3873acc70a0dac5e8328aae4675882e63168aae9b0b84a37df49fd765a4e980904a062b04fb3c86234c88d59904a251b388f1b843ac9e0cae4117649346394a01a2cb483a0c0a1d8a99eebc3f85e3b5c60438ad9ccbff2f227f0717796d1b631f5e7a49933310c9fa37820eec405dc2f9d9bbe6b2c01c4d07be22ca72ea10b7c939025c22822302020e2f022407a145d8d27cb3b2f0baeca1b9391cc042dc74ea309c3e4aa2cf2b8f1a6df8526311687b7e79c977a733077a3a17919be0c29dcd4fd7448aef1680bec8653816063b6564eca8e933d146997ce6e244134aa5d90399a9637c5d1854a0b90400026c73cde71a51491a7171c6c2e0461a1e2be9120a14595c697dc7843951a27ba62879532051b5e561c487c2ce368c945e868bc0dd01d93883c9accab4a718fe79ec59c08770635d8cf2441c22b70407dcb0b3d7d6a5692708d19616758b5d308ee86f331bf15ed40e888256e1f55dd59fd305c266bacb87ad0c955a5cc92999121d0b5beaa3b5187cc7f2f5d1627528747c98d4d670e85defc8517b7c9ea52b83d8ce656cb5be34b6e2e6b608becf1e32fa2d8f71056c76abbc34ea4e69eeac60904d157939b5438eb82306ce5c5d99750a17d58bdc571ee9c9de4d81a8593e9e0b31937ad939148f4775f7b3e321167c4fc32bbe80af86f81db1dca242471a4ec44922f13d81d6e3f0a59195932b53fe369406884571b0511f407c4759fd642125a4341741d39f2d7f422c5cc106dbf108b6f6c3fa57b753aea59922269d066eb21f5a55233651bd2758a87713a903972e158663c06100f414751416cf4c8b272d8806d6e62098b58409f50330abfe26cc34df56a5604146f8288e7c2f2db14353445e1d96bc852616d230feb4735da39f4b95fba30327093441069f02eb5d980b93aa616bd0ced86a0092b8b68a75cf6df57d3599716fd37834ee78618981f31828b941f1c36111620e618a20c00174805a902b70e2df65fc7cbf5194f479b1188b54dab6badd2ab17fa43fbbb5dec678f73248b951c787a3b69360f51654fe63828dc819174e347d16759989aa705aa630748a672f15cdf0c64d4eee1376f3d4bbc52f1bb0c67a8092112a2980dc7175af504cd301492aa02bbdaedd961652b29f2f012c82d5a04732ae24088bb4b070257bb6822acfbb3ddf38d72615c30bcb2093504f023c0348e74a43c771791a6db8f1dec66625223f033edf5d01a5ec2744791846797406cf0bbfb7e4782159b0b5a70acfbb67ebb6e285ae54c4e61efcc72e583f1861f95b61db899e18afcbcf74f3df864da8595b85dadec3baac5069ba78b68284dd2c55a9354f3487f64f638728cd28d7b5a051d38ae4c652c7383b470e69621feb219bc1db99b18dfa79ad0d975702e6c0f1932662c21bdef2f03ad5bfebeee9312def5177aaeda3351be821bcc98c961db155df6e4d2db3198ec1d957b99be130344f0b86889bf97c37671db4f036925585f5ae302d8c4b2311c1aae18a8a4ef2115efdd5feb6f26e14a6d070e8361db8313267a6813ccc247fba635521c6a64ecb3b7398e176c01d4537ffe97df79c7d98166981ff162736f419d633b265bc71d00446158a4796bdd12a4285c600bf8b0fbc196f1302ef87a528ee88236c85cf04b20d8983f75c06a931239b13ca19c7d6880a14ac80a6813edac972b112bd05a8bca14fb95e7c2b5cf64774154796e594aac5910be33cd3c6a95ec791cbc7792e90539a75859edeb37f92abd9bde424d61e5f2f86e7d4c0a39e73a37f669168c4150dadc2a937f55b2deee849d95015fb2a280e27e509856b4264c52bcf2fb0a702d35940083cd6a38ee0e78b83542563181ae74454d52d9f2f664e05d3d8400870ac47ad48f5037c0178bc4a8ad9b77035a600d6c4501dea625eb288e61dc079fb8fa3f2824970e447722694da7924a185b0693619306e76159c332c2b44c0053dd14b2d240c5c831280c014c934d0473b592e56a2b7009537f429d7cb088be81890e68475c7f1862fb12f3710fe5296e91bf02d5a23c1cbbfbcb218c941b2f63531a147ffdc8f60c61f8d0dfb62054b3528cae4970519bfff9301491b6820bd1a2ca73a93b661d75b84a25b625dea2d3d4ab35811060a3c4a9aca66480bb8429203891872f2f0105975cbf7c54da9401851f09a1c2a53a9a42a080edcd5605b81a5756cde6257a27eda0110ba204e8c0bb3672a81f94bf74762cd3aa880901d655a5da5174fd95ae88ab4165f00248285b290b5136197c16509330bfd38eb89596e64333521d43e15c2bf3c01c50ee5705b1403698c686481e486eb3e5fb172ffadfaa6b2ccbab96c8d883047a24dd2d41600888e7160c3d550ee47e948d3ce2226bad26493f4477259d793ff51043fd5bfab7d65001291b24fb7c6120de311d8299788a1928a432c9e0da512cfbc5f8425551425059f5280629e924d055872d91c18e0044cc60fca4b35562092f11ea10af138af1e131e70a9585ba9ca426bf867c0267fdb282a5494bb34b3f3cb677d1fb80fcd344b62f11301dbb01a50b4233217a023ded67f094c99cf3ca8d514f4f1575a0ca000950fc64b579d2ad8eebc76c105efb15ff9d81d0301aa888d56a33fc84a8432e646f4662fbe34f00b7ae6401743f715da6b0eca052f9b7e31235508030afc2207e5aa95560b8517aacee0b6745e35283eb82b0de89665ee865d28b60acf401dcb7956940a84b183487d405977cae78b967ba5a1ed6a07dfc14513268481c94f4a28a6e13bed678b9dda75f9ea7a7165d6b2b933fdb3a23295b91451d8da730f112875895e13fead0fa41ea466f0d7339ea0683d36de6ec62bce847efdc7feca396060ef272e2c8a89f96caad9f00d2dd7e7ae90073f3effaf9f1353853e20ddd5a795eec5ac5436e83371ed4e97d49977c8528d5abcb3b3497633b1de67fb7bd9c9aa258cec5e01052bd61a8a32578ca1ebcd784da97cc6338f81a529d591c693d05eb00a0938c5f665849a9e28b2b7910ae753df6d2c9141cf67cfa0314f9abadab4c7dfc94cbd73eafe19641ed582362bd40d560c4f03b7a5f80ada5b167534300d3b4a238a453032c7b9d3f969caafa1a9c783e20e47cbcfe899ee539d520f7c7638254124dbd3b01fcfc8bd6bb5aca795316e7e3c02e538ea30344c3a7d6947735d313b24310e807bcd679f4f9043eec1785830aacee46d11d536b2c69486c56a500f6bc61e3e16b852ee19054b2656d92cd49aa0d4f2f9242dd4a1e3288d93382b45893dd4c49052116bc05e786d15f73a3d55a43b5408903ecb8f7d231016512d2aa703b5c4876772e4d5095b23d6bb36b1973f4cd92137afdb4febc10c723c9410834e6c6fa214ad3956ec8f53a6aeb2751a883e6c1b1456a68bd1b0ccd5306b22c6af9bb26ce28f85544114b30c3f02c0f3eb8317262ceadaab4201085b2575fb8204ec0a4e78549a25bccb748e27428c68e67202e6861500ce497459d83fb0ff857a8dff85375e5f2d0366a7bab488c8a66cc345692c936d481cd14d230c6c7b023a4f69415d70d4d1b40d199490f2ca69b221f6cc6fbeb28442c8ba37931d1e1d17ec28f9fe4d48fb7876143a4b642303b3073f34c15c84ad9dc902148f2d6fdbf022740b8079af17a012e081741b2806eb9c46c3476dd44444422db2bbbbbb7b73930b04c703e703999498fccb925f6df9d4245fe72bade4a1790562cff4c8312ac20c2754ba97ddedaede8d7f6356bc7e57d6b6b09df7cefb5a95f54caa7be9ba6a555871c7a226bdb75cc28e9400e03023a5003f687ebc40898aa0c760010cff5148b1a40f376863b8b9a8afb2ed39252423b46eb20b5694869e0c6d943c364e7d98f34fdca5ab7e77cde3a8efbd1caec33dc7761ddeed9aed75635e6bb5d65aa9566babadb65aebdeb9b6f6870f2ce339b0adda3a1613e33219e6b5eaafd52b281485e39c73f697e72e356bcfbbaa5fd90a5becb1d6b6570fbb7b0e77a7f8a977efbd95f5d76b8d519d223e36cd9ba9af66ca58a156edcdc858e19a49a926577945ec9b9144a3f7c3d67c75d52e5dddc3756c3b6a62523e4cdcb0ff609c2045535a10e8f39953ca19e32908f4f9fccbe9934a1e53c7bc33463e60dcdddddd270ea3257018f968c1b5e69ae70af6eab01b35b132626244a5484fd4aeb0faba5aebacd567a6691e18ea7ce1e2a40547d75a6bce729dbe02337e1410e8f3f9dfb6ed944a51a556b52aac343e532dabba537739aa3ec28a54341b08f56392d1ef2e18e852dc3d34da1856293359b552096351cfef5a63a9e6c58c8bd1898f16311c1126b1c414cf4c73add205eb549ddda13a534777a8eca4dab955a975efed1f53c77f617ae1f7775393b692524a29a5d463f5446d15efdcc58b6ca7a11cc8e43fb4cb588779991042082184105e20e6eba9803eabcc1d38a84967796badb5d63aa99df42b95dd7bc9a3ca18ea2741bc8025871b6848028d1142438c7ec82491c468083e9248020638fc306324d3524343c58f228ae8811146d4a0060e1b20181d31a38a4e0a1f4108020d423e443dd04183440c9068418b0e232288403043c308091591e809994e892360688c8c084befb94318a394735a4c27fab2321a428d90949462716f31be77cd38259d29d2f4f4706f7c5000b4b3d16d5809c73a006b80f722b158dba2c549f5d7b9f6b7e2f41fbed756f944d763780d9616b7712503c0197045b28188941d80441602d2bd39d64b458abd40607dc13ec6f2318e104248035e8aa9cb8ba1d4338539662b2775164a638cdd86bb00a589232e232a205840643770190cc0722ebcb01f638d6674ab2efcf9baf4eb4d698db19cb4da8b731e894644742917677cf30890adc4de2fb94f727fbb9bb5f66e9df799161c882443833765551475ed0b6ffcb8c57d8bf9752016db8b5d6b2ba6830e2752e79c1619bf01e3841829c880561a896044a0931736e3ebc117ffbd185f1e6a78a86951b9d7635f0f18818462b6ad1170c15acb85645ef7bae7f27af83bce6e61f698a1cc716649f3cc34e36b59e420a404f67362fa2469d20e0d1941657c4a3b73ca28030e11b1a71c080108981b14c103d18e2176f0d20511c2410f97175aaeb042eb510b8ea72b706b8a94e4fb8194524a29a5940116d789b3da3bf91d42484d9e5b37c6d9532dcdb49191af2a0c97e0ad628e85d364a1898526169a586862a1898526169a586862298a7a484d1077360d7fc4723c1b94d8add52985734629658c1342ea5e27ea3260fa7b5db099c4036db575ffb6473adba76c4a60002e4b6f2cf7be186368a185987a4ff5bbd2af2faed5d6bbebbdf74e4f4d19e65a82ef4dc0886338587bcaf85aadfffd4281850f0b1960f9dfb1c20cdc501d56d2455594d66f35fdd45659abd1bda9497bf2f3380d21615b4f8d4f7fa895d239a58c1142f722b1560741b54fbfa901b53aa570ce28a58c714248dd6ba88863a71840e56c27fd7e428a537ac7c8cf516b434ad856bf58c502e063dfb09a9002bd53f20029dfabf02e39678314596aa9d4d10e8410fedb5ef547e8f94c4f516ae7447f530c6b855042282194104a082584124209a19cb3ce8713e63aa949563c424e601827c49022097359f4e6695b00abbbdaa8d71f0cb228f49ab2932e9207f7820b5f6d4a635b3dd26385e4e191222baa0b3ef64929fe5876d2e5f3b54a92a4eed7e78c11c6841fd7e15d88c647f458af9c5ef595f618a51aa3d7a5e97bd8eb4baba87eb879cddad453d77551db756517b699b0c8b2d7dde394908c6cd96f5eb330b95e8fd795fc7f3e2050a6bda61b2a5a60b0deca46bf85fd0ab62b1698ad2a07453d1fb04e85e37ad5a66fbdca43ed3d515494805001e43d2da5c8699ae4a321117d2d4891d6947661ea7ab80d2f9d8be44179a48b9e6437512dbfa250ceab6e6011ee4e6b3a4d9adadd54fdce1a4e93d6d67c0a066bfe65cdfae6e627ddccd766cd585b7ad24b3f1a56ae60c8159dbed6e9e29c1fbb8e5ceb9db0c63757eca9f7da5a474fb08c9ca0614353b80bb5d686666808887794566a2d90d1123f2ca02387b53ae29cb1db20058140efa0bb40082184105eefa4d47992b2e67a8f7b3dc7751dded5dc49674c84cd0d41566d5f74a9738b5ae3bb37459e40508a77ae43d235a69c734a29a594d329a5297cad75d63ae7dc7bdbfeddeaa7139e36fdc92878df9f73ce5aeb9c9572315b4aa24783080e49b193182191310923f71667683a0d96126389b18cf905c8c5e7e45b6c9c8dd12b29963118cb4eba60d9491e523457a4ec300a08f4f9fc7badf0c1e7153ef9f4faa8fbffb9b47ee1fcbdb7edfff3018138990da548f2803b88971e2e9d4bd7511445511445bd5094d62e944bf7acca67f084cce8891b5842198f8199a669c2789222c903730cc3280cd31ac3284c8ae87baf7aefc5c7def6d57b4f491eaf7a404a29a594524a38abac8f25bcf2522b49548aa6b691f29294c4d24a2d2b1925b647ee64655f4232b26d3c9e17d0033ed23d1777bae1d88123877736ce8dcdb78e7b8fed4fb09f7c38e65d596d5314455116653dc618638c3d4a2b77a6b32ccb323d6db5d90840671685abcda900e307237621022ebcc0c5f87edbf430f2e86338f28a90c4919af828fedb26074a4518771c478e1d2eb0d6ecb9524fa59b919746aa8c2d383b7c9ad36c7cefbdf7dd520a45511445759b0e5c8133d5f4f9fc6fdbde6fc231cbb2eb23a5945a8f95fb40f6187bed5920d0e7f3bf6d91b2de42cc7258dd4d75a2a51973254089e12bc4a79f8c82945c10d08bbdb7ed3f877321981adaf8a2c70ab3c7897a28a511839723a0eeed65de7bc3ee39c22c639e32d3992bcd1647c79062014308e963980078217e08a39cd45e9df18e19532594852d851e054257ece77a3f09dddd3dba806b49a18508ac2049146c4e05929e10dfc658a3a7ba0445f995cb4185295fca9438729518b91544497f509fdf2ae7d35793a78aa1aa93c7fa0b3f99e3f3214ed8beaefd89989c7c60a9c92c170769681fbe4d284c3126ec944ed9df7b0f6a02dcaf6fba4a110f24e5cf0afa14ce05d0894c0bce09d642be1704e772b17c795d121e7de5bdc0a8b8f8b3518485a60610197f2ca57c7edb3ac8e8f1de8d17365c9cb4e0a478e88abd5f8e21e3c1f8d46c9ffd3046a98321752a2a0fa27c40ff896e857089f3c00b49fd00f57ba08f391da8775a50a1be504d7c8f828364401008e49952728f3cb81aa898f39cd7d23acbb22ccbb24ceb0acb96be2c2beb583e59ef9fe59cafacb3cef7f59455d695f39d1b665996655996956d9f6d2cdbb4dfe4ac51f9ca1796dfc28f7dc38a317571e7629c5dacf19ddedaaf7f443e0bfada7b2396575ffd93d6afb5d65aeb8caf87536267ad3bdc12395f7c391a606860934187b915eb31e654a4b58161d8e7ebba2eec2b8cca98c5edbd1580b1a6699aa6699acd94ad318a82c6b515762f666596a555ee2ffc250db85a76b5ec6ad9d5b2ab6557cbae965d2dbb18866916b3d87db53aa570ce28a58c714248dd2bc7816befb537bf9514b8b6098e096e06c7a95c53d4705d9a9691ccfc5a46377d9ad18c661b57f42b482bcda25589a5fd535a792c4dd3b2962bcbb2b40d6ada03b2a69998589ca66d9eac59dab660e4fc59aeaaaacab2acba2eae86172f50505cb800814e4e3e9f162dfeb7edb5de260a9c0c170e6e0339e7fdd925dad7755dd7c5ad3cc7e16c1b86ed9d73ad31569a02b81976bec1b5f5de7a719d355fbfb8aa7e64e4f7eebc092c4c38dbbe5bbd1805e369c27f4d1335e169b2306acddbdf0d009e972815843ff9278aa4a4a4f3d39b909f05a83ee73ee4789e0500783c1f1620dcb13ec05a0eb46eed2df1905053c655b53b5237b16ca64c5d555c3785845b6fa5c00b21c1c4394a803eb54a8fd2e7733a9412c618a384504ef7f9a4ea3cc0d24766e9e33fc34b5cfdc909eb9caaaf3c6ffb2bd33671eb4417da49d602e35c9d4a56b1aad4a429a57bfb0fe8c6bc318a33b5d02719df7759f94db1b7ee9b82fb0914086ca96666cc782a53703440a18448a58a29453266094b1022830f1722b0fddc0b68744003039a16d0ec4043029a0fd0cc40a3c271429e10d2849023b81a085142aa401adec51bdc0f3210690182c88e4a04871535d408a189a199a119093182e685c60738585083829a11d47c60a54685c810223044a220f283f301112070352022822135446e1811591922332466488e21450ce9c1093184055c10434c5064488d2136c40cb16264058e142190b410e1c2016164850968260e50cca022392370305b0fe162efb06ed8a8506c40c4cdccf0719232939285e8b083f48128b0bec040920bb8c2090c19294fd26c60830e705c101c0d24ca6330c06bc590d238a79472c648219cd5dd5f87f3e1bd9519c88119690615ee89204970500491e1a6084204ce8920319c144184c0451104861b05298203124414e4c5073de891031e398688c10f2d42dcc0d91805c9e1dd7017ef8ac8cea58bace17818cddcf0e1c2edf0763c94f703f4643e0fe6dfcbf6beeeed6371c69204de0470803eff22434424b08204e3af0203739dc0c3976ab4d5d24a1d2003ca18242250661c80f2f9d0f74f4a4106a8c8d36c40f60ffce67e71b2b5a8a047e30521f7e7eef33d7e0caf44beb552242fac0105124cb08c96288222ff0d002586866c98db6a4348c8751dde239404ce0889ab820a1b8480118a91115846a399cec5d2377be05a308534dd6109c9fce9d984f3683c1ad3e97318e5a45936af5f970bd8b66ddbf6b63779b3d96c36799aa6699a2ef5dc87e1d65a6b316bad7d0cb379daec0dc37eb5df992e05db3b27fdfc6fdbded86334f0cbd47ff3f9dfb6bd7ff3444f847db612fbe1d809caa8662fce7aa2f69cafcd49df9c5234df9c7f250cbdd9942eb2cba8e471ef9c714e77ea31de0ddeb05827ec9b834b487ae0501313a7932300c89973d2995d9cf544ed4ad37e6625249a86691ad530aad91d56d39f9ff9533a3d9b7624c5cb9c8fd239dd620a5b6cf840373a59586e7498e3616ff79c316e07f8eeadf93ef6b7f9ec4b38eeda7bf61adeb8f6d9a3918d34fffc6fdbdef95d945dc5a51416aff14413f59fcfffb6edfd4434aed85e0ea75103eeabdad524812cdee20730e1d5c8b4ec25df7915be048757a3c4e46d1b673d51bbb24646b696236c8c1d7b2cd33e24251c13162caa09c7757e9b4d963d7fcdb3ebadaf3635e9cc72f183cf1fa573ce49a7e4ccbc8071067fe94fd76ce9de81a0bdfffd638cbd6dff2010549156801f0bdf38bfd994fc86450e8e05c3ec7e435b71439fc6903db4a85b91ba146146a7699aa66b82177d9cc1802a52a2a0d098179e08ea9aa9e7152ae7493050023d24249eaa82ef803a54335d7329d0b68f2a7025a3329a6db8b9436c539d4a56d7a4b9fb7b2f9eeea8840e9deb041d23d700101486912449a2180541c821eaa43ea422cac45e8684059358600e4519884518880280410000001400061843105365140076a0b9412f3d1cf72425a95c3f58f4bf10a5e838047e51bc89689db7a3181c53a70b68464a8f9544ff8c2bfe27ae92359ea5c2de320221846fc0b7ec0e8188a072eb438291baf84f554dbe9c93d9de93aa7b1958fb62b3b548c82f8604e9f4b632b84b42ffb45e3bb1596009aa87acaba1be02313c442ef5e720f4b0fcf8ebbb56cf407866e1fe34be427af4412c705742c53fb8f569e1cd44be3af20129d2522eb55d4e86319239c3aecb3d313627ca83db7b61a3111883a00f8a15191b7b8e94a0c5fc6114d256aa3ad509bcd2998d7a0040be598245e3b7427fd7c3233d8b2d13bce7ea2ea3abfa95cb6102543c6394a0a0b2034b2b8cac5358890f7ee549c09a59951e0a7b606006119a107d634015a24f258f51c6d2a40db5a2cf7ce2ed95ba81eef0a3a8a70824e622595bd869e86186df9bb28479cc6c323eb175973d850607b27997e0d1750d8a68bde159e4b982ed315360f91c3314059289025bc81f530c69a45851983615f85b73a08b85955a5498ba039d432ab341c2db602d6a4a7a0fe51908b6479ecc2a9d2f3a53cef818a43aa2b77ffdda200bd5fb5b032fd9561fcf7177a15a587536a896f1f9248ba2606bdee102d9713c6f976aa9f6c83196cb4e330b73942a7cb2c48efb6bd6df97b2f8c31ad3e78db60e018cae6cf5d7f75473a897d619d01b82fe374e0850fd8c3eff7341c621475a163ca1471c50112c4245a94815c9c20824e215f0682dea705901341af16c62fb236a6fdcb9d0d384988e32cb10d7f945ebbf92ef4bf1e034183adb070e64cc6ce7d8949547dbc46cf0746b9eba6187caa51784db7c2c1e4bbd91d3216ed0884b406c1fe506f601216e162ca5aa83b2b2f0b67039e5b09ac07b31c15e37639d88dd3182c4db834032ea7bdf87101165bd7c05122198c4782f842c9c17bf58df6d99d9c2319e6de7b9d43eda2b32b87481292aebf57d7e27e1ddd02251849398f7022d9c13bf7def6ba7d1b94c17718f1288d82ffbf622021665c20a8c4ff51f81162f6e2459ad8caa018055f8580de5f3e5358cd3f9dc470994cffdd46ea5199f06e31c472ab07b93c7057fa4fa08d972345b2bfae6eb48e3adcf2ac813202ac4effa936f8dc0adfeccba2507e7d344d4c7d1ff8d6375abfa18a62883a1cc4eb79fbf90aae53f7143bbcf7441c9e01b2c8fbbb89edcf36f3ce12f1f201452d2fd9502e0dad036adb12dd009a470a64af697cbf56f90b8b4bfee51a7182c1e5db4f5de429302ac7b100c31bd7377a85854349faec4446ee9854b6bd042b7eed188bd6cc8fb63ed278ec9017cd69d86ef779343d33cb1a855e38d713b84c3abd2f09dff7458fa4e2096811e37baaf9c7992a1c7970533c3db530de776dcc861798f33f36a68b08e083e5fad7b60a7a40dfb222773ceeb3979d2731dc6a32b21426b000665677be05e22b3c5ea98e31f9f03bb8f82f66831aa80333773f8de50da5861b921fc2cd6d2a65b073a87a943c308a01ed21122b63bd7932dadb4b31c5a72fe4df1e47edf2e473676dc2887c88fc265ae88a35e8e2ee34584aa1c5c869a182ff2f199292254e4ed335888512b3f9779114753c8cf67ba8815881dba7286c650a72edeab486e6bcf35b2107c29ceb11b93f315f71aef6c5be3a7914de197f0f263d66ac9a8a60791e93d03e02140cf2c8a5838578aca3bd8153e17d28b1d4d1f191411db77e7c6ed3d6acbfc22fcb706f491a02ed2046d7a8df28eb917d7dec7586b13256d8dd868949a02aa5fa550c599dec3af42651fd66b204116036d24dba446bf0183c01770968dce789fd47894a63107821c98965974ebb8565ac019eb515636f417a8f6524cf51738c27651f0461ea6be77d766d889fa2656d4b8c714de51d272fc7471081cf060f776cedbeb8ebcc42ed7cb27feb1818450513134d2592c9597b9b4237cc3c4b54f1781c9e3a235e3cb471f24385e0ff5739e624258d5f239ca40a1e899619c504f7abeb6b1aa263078384fb99b6d42c45da09e14f2fae11409a175be27929ed9c0dc53963ba72943ad61268f7e15cf7e3aadc4e1162259dd493e6512d9499eeabce3d8812620bd9c645b06af0e9133b77b2c0ac27bb542487ba609477bbb4f8df7fec88167321448329510301a00c70d7617f3e22a8bcc2f7cf7b5e7bf6ec93a4ad736fd88cd46443ebdd39e911b1101caf0f05098b56d54892eba673a5a312c3651c735bf678fae89c43bd435d994c56e86fdb52c0526e95208ce3225914bec1b75b6ef340ce38696dacdbd25187adc78f06106a149cfcdaa503c8e8451965ac226529f059a1199ea5d6cac622e8cf7e13265a02855f245f0a44eda7cc6ced1047b67d03cdb2fc284a6ad9a0c8e9bf475a92e4e3170e47d87289dfe2210ae460f921e80c8fe3f417e633b60d302fe870911b728b367b666221da60acb2842a0514fc2fabcaaab279e92e7ba2b952a9000d693808a769971f5a2cdcd7d9654b53b82dddfae384628f3b02ccb33a701d793239985c4fe7a34d1ed0092592ae2900102675193e025e9d54a559bbb1add59758e4b1a40c3676a4bc2ded40922c7ecbf5d04c6257be1c4c6830ef773ee431f22e4ad520677ae2b2b415e07fb50f8c3ed6e9693edf733810d80d53dffeeaf92a02212bf35e4f7994b8d1f3b10ee6f6b4273233b1b43d7bc393fa8d101c23bc146cbcf512ba1559faae31b48b01d2c51939e36146baaaa9f992d47d9fbc3759c60e1bf07e9beabe15546e72e42d8a3009e67e4326e86269a4ef49a2986e42ed94348f2bacd6c660e4e4f17a8c1dd91836f6f1fe2aceaf0ffc6ce851bf0e6632c14dd4a5305d40b935184899c5ec5bcbb71c1ac87cb9dd1a2d3e5dda93c8a597f1afb90a56c1e1daab705b40770f446ac641cf201f760e10580ddcb81ca7697832ccd2b2bccdfa9bb8356fd84cdf8bd9f79f4e54f39904716caaa725054acbf169de5b67a9fe8b0f2b5ae0f8d0abf3bc49f967213f6c27107fc816678380cc4e97f2d7ef1810e688682598a4b5dd2318bf0df85bb8ecf07ed11436efccb2707731f65311499134ed1d35168c851a7bde821dee0b20b30d7bf3261a05a96ad5d059f0ce91dcd2d79dd95af1b2773923896162fdf06569cd05f9449cef9fc7625b5fd4575d2ad5b354fe1925a8d92f67f3154c5489fa5ab365c2f61b8d2adb4537a67784679302f34caaab802a26bf79d807565b1cbd916587ec05f94946421058dc38515e31f1ec52434a52df855c70cd5a2dd36bd57501706d46cdf634ab42f9a47ebba036d108008d53ae39e4587552ecc400c00d2c0406b70a21d81f3ef03853c794f12360579fa8be06b62527a2b25fb94c02f9b4cb7aee96db54b934f0969f931b88ffc11314f33818b4ed020643110915f87311b3190a7f888008be9cc16da353a8ebb24b0c166817d2780490dac1e8aaad1024b6d545f92d4ea585b1df956ceb9d8661535858b8167159c950b461acfd459a449075ca4569f5efab6752d27999b17f51b285096312aeab74553f8d9f9a886d9838afef91e4e93dfda8804ab9e8ba9b91be050fdcc506ad6f46205211d0654a105f35d9063e3508ddc92f6358dc93cd8e0aa29b003c0ebbef7589efcff770ef9f6bfd35eff97affa72f9bc10c223c7c49fffcf0f1c27420e4ef1a169ce44e72c5e5c60715d7c17dc3a60ece20a8345aea395df2c3e40d0e7f4aac877683875020a0ed2718ef041e783295c61e1436f36730e4c2cd0625bdf2595f85cfa10c390f4ccf32d09608ae3ce56c15c08e198d72cb35ed14f959d5abc30fbb8edcdc67c1166e785925231bedd99106e2acdd3782e83545d0ae474b12daffedbfbdf1cf7e8c0cc38f46c2ca19d0b74a881601d65e2294fddf97c9322230a76c9d59e41975a8235cc7527dc22ce561bfcaa4fceec7a76a129536b3a382dca94097819c8aa0893813a2ec40dd894b018e6c738a33211fdd35f1771f1fe0cff3a82eed7f5f55933c2514497083101af2c7532ab0f11339874a084f786ef17d2c2674ed975abb6df6ffa9b5d9d6744399ddd15ca580663fe09adfac05f481f2af0620acdde4bbdd7f8a6dc2b962bc2ba781d9b61ef0b4fed84b04b42f5ee5791c40dc649cc1b0cf6996077da7c0f3a95a560eef11a78ee860c1eebe5d6f6d1c03a6ca48c5e729fd0e2aa63b58b0ab7fcbd0db85eda4fcaa0c8e14ed7d40174517b79af947b7a630f71a8653a912342756ce7b7199cec25634d6b0e661868ede8bcfb47111001e4afa797dd44d69647286b069c21d2024140c826bb61f973bce4d0300d13fa710413288e2b8923f91990276e6341610793aef4aab90b0821e8a847d573b8e2dfd24fef6156095e0bf86d7ed6db0478307f421b385e4b8fcfa8d6b1bc3d67f28ccf7df8c1221d2bc998763889a47ebe1c819593e43b18f35ac48dda3dd59c609376fb47dee3cc3fcf4225144074eac1c55aa776a12ec0b51d9911de6978ed4f5fe3863b14fa33e2fa844837fdba499e4705b8eec59ebe3450238ed8f471a7068e28d6ee549d20953220920977ade15723a95bb23cc668261d268b1ca144fa67b5ea6522cd31249b3a10e7a1343c3e0cf635e80f2bbc4e4879ce23d3594e788b54fc524667a46f90c7f9ebcc968dd6183a7cc30c5ecc71aa57a8d4926bc61b28fc358b20e4d643a786606aa2679682728443d55d8c637f332ee94f8a720ac5adb1371073efb7e6b0b935979912879a82dd59545b70428712a8c208a26ae76bcf028b867fc04dd31240ed25390921fb58f0c9be3fbb7d950f410a0ecfcc9f9f319d819123349bc878c4e92d4fb99b51fdbed2574bce74c32f28f3f6e0e0b5353aef40418d737b2cddf73849bd47f24a82a476d5114943236fc008c89007e4a9a46fc23f154a23083aa4c5e316ddfbdf90a296d9e017f9bf083f9a219d6179c287b0509f2037ec5be52481a2bab4bfd115cba74100e5d9e98e8c4e00fb3f7d5c3a721c8804d93f64a48b5450a980beff9ef37eedca39ca77b92eddcc211511426d26c6aaf1dd92a2287eefd1c69d6ecf66eeee7df594c8721301d0ea6f952185e4d777f437f530d2361408f56afdaf52a101933caa84f76db731144cd616f4d201ba12fc7bf53a1cc519c1b7e03ef026f9da6b84774ad9ffcd72bc715a22b8d729a970d88bc80de527be2538c6366eaf480f6091485144cee1343b1060398066bd2bea7f1affdb21b7710086e78dd84e8743bbe4c480f1b066cbc48ff29b88f18deed9af481a644f87f93db38b68f3cf1477415638387107d11d17c85e4229ad1c2f34359010e8e092e4344b2dfd01bedefda79b8cb676bf4a9d663c92e58badfb90f386bb491c63a4d71c215483439da8d5d0c0544282a21cd69d6363419112df7a391670a943be66a6be8f63a120204ee266c7a8194e3236ae0e3f91470fbb06eb80dc92304f676cfbff2790c5c6948e33ed5505b4b905f75c3d4dcea3af1b2c037f8925d21a9372641051a26823a6168a6ecd7286abaf0f824ccdcaee4157a6f7b771bfd9b2a3c018f83e503d13632fe60143ce7ccd5a93fa662616c098ad7164df256bd414aec624ad37036f2ada6e61517d8edfd8af4706a107167a7071e233d01a281cd87a3ee1460dc7443e7aaeb68cae4d12d4565bd0ae2c6195c0eab4277c85a6555c96a1d8c7fa5205fa27122ec35392cedb71d0fb4e391f20f70a140f3d2cb012d816a5af76fb937b2127dd680eddb6a4b2b355268a30a9cc2397346dbaef6a223619be1898ee50c38604892d28034d624192fc0479e8f676b162490bc213284c155a6edacc70ea46ab5ca20da4f3e414c5ca3f1206610be3e2f6eb746cce662f5f311449f0b85c4c0dccd580d1920c9a16916a7354e7d40bdd923d022a1884f9385be84903f3535abe8b983dff91319f4761e516ff6788aeb1c8d107dbe4d96d474998de4b133349359aeb5c52868671cf224fa13e59aea09b4c22d5c41720198d69e2fab44ff9f7691c650f71a85ea799dd00b012bef7f9ce43d01001ab6beb42a90fd67fc082cf749c17639c8094bbe2f0e5130c4125378bff8382f151c489345bf660b0cf17b94c13337f658fa156e1045c7fd0713c5426cd327dc9bffe62d09ac25d9ed34e5f87f999a8925bda335f3a3dfbce0193595aa10871d3e4911a8aedea5888cba0a6dace0c1a7976965cd8fdd6226413f0576af307f6668ee3c6f5849605010ff5efb78ce506271712aa55653508d928df6ee2a07424505dbaf26e5462a0b439fa853f8c6fb4aaff8bd326cbac9d52ca2525fc90c7463d861406403e446f5f3afb65ae8020ed80d13df9ea132bd8cda459d2dcc51dbc7cb98a5760a7cdd37907ebf7257a1cfb19e15b22b3ecbab69c081a47a6162e7308cc2181a3094d063a5e4a26b81dc3b99b254b05f1ecd2709f09869482bb5076ab03a0cda3be371b130753b70f1941057a0bf1a375e15e489125d2026295797711f5cb09690fd76ba0d15506757334808f5633a86367d411958a3309787a505b365a6893f98a89c07e47404aac792a0d0b6ba47c8089629d5331c46dadbfd2e454324f7b26ac7919ca7cf06151f64fc349143ba71df08e468b00e9ea33b7333fff7b746758b8d4bef871809cec3904ae6a9e4d061d695ffea35e06204f7ef6455c62714fdb1071f04e0a1f6fb32f03506ae4b07e06164348c1457ee60178eb07187b46b1695a7e28b7d73743b7339cfeba86207ee715ccec7254da3a0012b3159899eccb647b31eb2d9f2724f84109d06d553e0b58f23afefddb3211df7e651ccafc6659239142e0b652b5d9848dcdff2fe7f1939c0cb42049cd6e49d71988b631722d2108a303df6bd80da930e7f69844d723f53b77da6dbd9702f6b14f4f215d9586e36aafd7c8cc573bfc2cf30d6e9471361a20156745da610e27141896585a662693349c9978c0ea5e1c1767d8427d2f62985d39fb1e5ed845d0ecf7903efa6090f4ef2cf84f64e6f07425b50d19bb606959b53291c76c2f708690cfcf78ca57344f940058034cef81181bf34466fec65c324f79011685dba525205d8af597d27f12d3d2cc07db079a16669628af2494894345a7a06c2e8f679bc5b939832acb113af6d2e00b4c76fa6a4470bd53778f2271c8fc48450000badb8591f9dc1c78307f35c90f49847770dd17c44b365c009184332650737efa941ebd3ea741302a13a8abd023a29b20670f8488d4919ded3580dc00dcc8b9f003a72761d2007dc924ffc20cdda59c41002a9cb017c7bcad854e5a985a84401b64cd40eb23f2ae24e370ec8064063a7574c7ccc6535f8a8e9295ef70b1d8089fc8e504767243f8a9a57b4c80f0638beaa8201634021b6b0b439f3f04d89a4bdbc96bbf703e343af5a91197d2913299a772ea1a1e5c8f849be96625576926590374745f6c91c8f2be80db5958ea9aa9d5b4529589f68f87881002ebe2d0865e7303d8ee969aa1dabbed024b8be16a0a95c16f3d2b5b8678a3744de0e6cef10419678b9a65e1ae69151eb3be5020e5c5cb7fe363002e38605a21cf4b9259c0bd302e6033521cef9eaedaf0be219c9c0ca715adb276c5bd20aad7b7176d9db5efb0a5dba070504660f0a39a0f753465f4950c69493f925e61ec05767478e2f139da1555ccbb8013e5f33038e05f4d3689aa7452d6a56f06a65e3ea4a9f06f2597f22325189581a3bf6690a0008ae77559a83f5106555e2522f646e3d48d59826287881d36d001bac6cba1b7ae4c9a6ed613589b6767715f2431d604028ce6c04cd6306afc276648eaa3b31a708b45b7d9c04a1348ca70599a5270ab735b06ae7c472f0b17a4561d78c15b769ed794025d6d5b07bae5c37fb73ec5421f4c033555d56649495265c27e4166c02cc5d75678ed17cd86d16e6de9d6d6f7c040beaf7d01de8d08dfe61d37fb62cb93742cfe284d6a2082d8ecdb2ad20ea4dd49e1896b3ff41a9702925a37600504f7a86f455d08607b19846cbc2b222bae9e91392d8d7ea5c329b49e469816ef749d455566232e0afaa19ed5f8e04380f00f184745b2d5f7ef9e80637da476fb2a4e4ed78afd5be28301f7d5096aaaff176a854efb504d1f1c74edbc4de3aaa90bbe0c4897c59bcdab47d3fd0f94ffd535bbfe77310eb95c10a6a2658b210da2e498ee53ca01dcba6f00d81bb411486533751f2715004501457a21fb594f03f2b268ca50d765bff92b177130338ffc614b61198ecc68844288975f5586c8487de14ea480ccdbb108ed1a8e34e4ae316ffb3996edd73f13992f70c3209c4ba7f790fe60ca657e7c6de9ebe9fe1db3094a3fdfabafa7528079cf5442fc7c39fa539b5d040633efb632028bb28f277e41fcde549dbf6525a2ea25dc111e8e670b7cd8c92aed1c611a64eedca0ea881389b92415b94c0ff7b8f0d7419f7f4f632dcda743b454a0b98b2115a0f3650b2ac762298cc0137ac71888a5e4a8da00c44911839bcb930c98cbf195cdcfcae51f1b9a9bef9174b2a01255e68225f530d774f5cbbd1a50c3a00db3189b21623fd596ff4a4d46521f2208893120fadd9b39544390bd038bc3a6c6fa8ef81d592b32a593ed8c0699209fa35e587748ea6b2c66a425488d8b81c30e13f0b2dbc3b1d0c8415aeefb814a754d77ed9d07a0248653bb0dcd26aa6a265036894dc3bd8d17a0c15c1b0ce64c9a0a9d02e793d866254753d5a410d9c26f54540819370ff82ea7eec238b2deb268494ae8a71f6660159a550b6e26d1c83ce6a40c89f68cdc6212a26bc40c54ca3b3d7209b89bf2c5d126f004718d1f5cd6daa57948f59b13c36be3fa52f07d75fa1174ced8bce61ef3716c9b3328cbb4cde8d9e601f0b291f0d9a6aefae3661739d440cab6d7e0809bea5c7d180fd38909e55f079d1229208021d1751c4cc5aa64321ee7213da0ea1593ba0d10498c191425fadcc116e2c2413544a0cc79e6e0170205a4fb2620df47f875a4fd742f51888ca7c32e0d32d03dd777dcf58ea703bead0a07fce63e54c077de4fd390978c5216d59a530f43adee2b633a20400464f219148d3f19cf9f0901fa34fcfd84d2988e9b49b2f08bfeaac52734c1e87bf90fcf422eefefec9e617e9640083066d38ebf965aabd12f814c3a431eb8b6ba3e7f1d032ed3b0c6f973e4bf4077904256508351502e63153c83ba94f1dd03c57b426416880806bd269cca8d2daaf74ca578d13e5b8e9e4a66dded2da30d495d469cf18591d6e6b615485f7ee92951c93f8840cfcb229a4cc7444473b14fe7333cec66c821aca64509ff166df71a5a0106813936d578b63614ae32e06746f426efb35226d11f528ce57ec89d09190024048403a4b226ed71abe1d3a7f3f6e85426aef21ca9c8dad283232d756c49651d996816b9db385d4649f9e52edf7ed71b0c4655772671e7aa7b43bc2b0f90755de1239d160b7bac4e9e7d37b89a0612b5b8a843d3b32a0c7cda9c8ce372bf1bdd5b7d43a1e5eb7b8e7bdd6495554c3e1f5ca6430a796ed0648a6c0e93aeefbad9e0d881075d71bf20875bc64bae93db485712c9bc6ab5fd7f26886a9ad3d440c837a92fab9d2ac1991c85d0e84add068260851b759947fca49393e4f7bd68eb9901447aa0d04037eafb6a303f8e58ed91390386e67c8107e434e7b24bdc6f0d22688831db1b0aa046e914e392a3203c4dd6c4d09b1f3003dd6b15009e7fa5d75d11cf0d2553ccc651e92ea1c08ccd3092cfb147b0334b1add2c6193094693213ccd3c318173d3c18ca5c83ac481bcadcc848f90fe944dc482f29aae15861958add7645ec3115d536756dd3988511aa66669d73603e66c4807c26b297569697a97e1c7f56c71669d5092c993476406f087befd93d8858ecd16044b420817659a84ca7ce88c76da113c132969c52a641f56d06019e7d2a6cf12bc7d2c905c51ce2e9acc9f0f17293345581a8765a65dbb0609a97cf9c35a1a482c5357c84c83f607c128a01410d53390009a5c4a84fab582813e900148d954e0b8ccfacaf38361b8fff6ca024110cc129b352c4b1c99a71683020d14fa93126514f059ce0e9d195080147dc2e1afbfecabdd91e4b9c7ab2baf47fd5d546a26c4cdf2b3ab5e9290a7bbcdeec7e91065c431f5f50b156206d8dc4fa1c50f7b334c3ee79c11ab25955733a2da2f912d9b17585fcb2b6671025724c883bb7ddd435d8462b86df1dc7e78087660ff2af2f0c3c1a350f9c12db07aa2141856d0aa31a103fe7c4f5d62afa510d0f6de36d4aaad0b739fcbb39006b313fe226d9c84d53884d330adb7acfc641656cbfd8595bcf02af4d0aaf1f75336f3bc6dbf4a403b1c96cb1ce8470da67989f945c06eac6022bd121238dd94f8eb4c0037e9b7480d1f1ee56eaff3e1e087e906f22b06358c6965a47ec7b3f1b365a965953cf5659f91bcb07e2a5d94c07db48ad4b2c0ba58b03f65a700d436b4aece404fecf81fa85775fc8f07656ee4cd4a33cfad029008a676233d5003b8718b4ec0bb344f3e9302efa0d046a30f2b54a7f18450e7828617b58317c1d1647a7d1788d98a8efb19471a3ed3d6141fc2d9c0d0fd708611e2919bb5decd601b3f4452031482fd66808698aa350b1e726c949eafcac47f2e89e7759ff5bc0a07b0864c11d112b6a81ae899eb053e6fa6f80df4fa80e0f46ce39121b94d9a403c7e0f2a3eb29244d89cf8a04ae701c6e7c3a44289125959130878823d49ff1cd5783b6143285bab2f7d140bbbd47cc3d1578d1c7b84a7bd9510377d357c0001df7a63ea8ab23f53c68974c8f35989af81c5ad9eba3ca3be4b043f22cf67ad2856873a4f78f6a2ac0051f7bc2ead390ebc3d7b43b0e2b08a5a598a27e76153f8d8ff4d2d1ea939804d1493e347981107e5e7f000e53afc2510856b8cd098b206c65c6e85a9074fc80efd7f3b9b915e78a1d4a37df2fcf74af9edeae466aabd070def009170f48cd936df311de0784ba743d38be37d3e7711130b4aa9288f4d9a4767f28d9989d4f85cc1b0c09377025a2ed15532b73b97e81a1567954bf4693e712dc334f9e6b4208e4b7440c5727c65a9653eb3d63af62ef8f65c53a2a522cc72ba21c67592eb9f25f92f5fe6a6ff903a4219a8c3253a9499afdd70d714295da696e5e9a0cc956d416af8303d9a45f9e5a15550d930822006db50102bd0c695e8b0a9ccf59157b0f773bbb756a289b10d28d8fd68257abbe36617f4f6a1269890617c0b018f392f8822be4ccce0ee20572410fa2894c91023c3fe69d4cb914080253d1363e1475a8802e6a8a661611a400ae52f0665dad154a714cadb1054bce736669a4270bbc5c9fdef360a7003789be4a5b8faa04168c33013f40fa4d074dd936eb593ae6b060e356750dbe68dcad74cb85eda5bc8225705d1a543182b6f71f1041fb863d70104866ef3532e2d6db69e68462eec86b2d003b4fd23701669243df56ba28b2b01b108a5aa319305d02f6127137835bea0c694a3f338c715900e30dadbecb49dac3012bf4ec3cf8f32b2896513c4fa58b10885d2d19093a2ceb64de6df5c907e04d96c02681e22668f7e639001560335128407adfb5ca4631e84fc62a0fad03eaa392dc4b274ee22b03a843e5739278ef6fc781288e67303579e8f7b7b3e74e8079af11bf6952be783037dc770721e945edb4196a55fbb987cfd8d86ecf30f30dacb6b635fa11b6c84a9ca49ae04f5245779d7240c1b5d09460167922bcc20526f8013c71547845c42a33a963beec48438166477ebd936136ae99378a1559427012704174bcd430d38375eb09d2a9185904e480147b162a727b4acc7c50f67560f40b1b8078141a45068428028949dd7fc69594621dbf69c6f093e38249dddde6359b49a9b9c7870b2d9d515f88fc52f53edcbb267249714ab6d89cdffcc46cbf8b19e06af3360cec1bd588b2b64280334bf59413d0785bb73670b5f67400eaf0b11dfd9be48f22d12b975ab564b11c45a926e04c35375f82b61e737e462a589b9d973b6ce84d141189914f554fff873f67cb46c2751f78ea10ffda53cff5166c881584209dd367ace68217a739c429b7cbf157805429aac1936846504283b665d5bc118aec8e1a145545493d9171a9f3a3d69678ad987d5686f3406697b9923423d5ff01b1d08997caa72dc3369c2667a7f97175d137be29a536f8887221a2de4bd9ee1a08d081623d52a400f06fdab3309e718249999c889d4d1a2d0d084d4b5cdafbe728fb42c2da849c87165cd325b53af0cac6fbf7ad37056461ddfcd55d1af649b571636d2717f3cf68d76d8513c393d9126e0c82281abffc0a78eb2283e1e9652746edbaf5e2124ba3cfba1654b1de1b339baba541d84288fb2e2ea82fe41497a621d884661e2495c446c3c4d3e7ef32a2e3d7a0748961aef9e85192f31760dbe6016a699060295859bb17ba4020627a39a47f1641f9663161319de35580b97a288ff756ccf9ae4bdaeee69903d4f9af9fcc64740adea0341af81b13e2c8796dfdc76b23baf0ebe970d15d704198aa826ce0a15d944ad0fab3f3a0103ece20c11dd648a6d547792affdea816b258abc88b1ebc49d53f21a2c340fbfdc59515b4999890cd8038faf8ae534bbf53200414c1f16f7429b4fd2873541cafd9aa50f8bc671625fcbf34d1598a49e378c813d2a6b391fd4c3370e1419632ba4207b1a87230795c85cd0f3933392437c1125c02e1ec004984789cb0ed2ec3e45568a60d215dc29c6b1d1bbd4c1ecc4613690431d13441b6415162307afb9233ae662db916a95242b1553f298e30e9bf472ce41bb4d0fb3d365eb433a83b3d1fb5cf8c36f2baf91a1182c2c1213876eed2d132d65eeca222c69ecab31c47caf12a6ec63bcb1e10980487bf3115413993bc1f78df085fc264cde79b5419abe1503fca8639ec64888f1f71ae97942e4ea56d95d00a614205a1e89fc2f0ffc62075012bc3c76903f02381a8af15d6203a17bd471946221b511c52e8d1e58ac9fd4606f03b6dba19a3050df908079e527d69f23315edf43828f87d846b316003d0c3d3c9cc57a88dc3547133854f553ad38a6b09eaad53d4d5d82f0cd6dc4ec56553821ce7268ff501e4504a653c4b666fcf2970d330fc659b8d0930f524e1be9a745701e0f7968630812effaf3a3e8f14de913200c966cb078755e62c0ad03dbdfd252785c6eb0b731d5d0e48c3754e4850db13a37bf0b34c450a23c57a93ed4df2c3a232a720d9f9b6542009cfd66b5322f9e933fc5a2fbd3f7642ddcc2392a6a53fad26afae8c2563f5a0a61f1b9bffb81c0802f3763380f9f2ec2ad925eecb8ead9fb9909db69388cc10c07e4a770c704a17484fa86929a4ddece04517ef077c51ca1547d83d8e1ac0a76f8989295dea7081876195b04321a5ae2311a83cd6b2d9c45fab193e860f793633b67d1fc43beaf16caac1d40e434a59236df04804441e4fceea4c34623bad1e0460d4e713dfda539126a3e6588c466facd4aa70c58602552d4fb6dd06f10dc5450ebbd490668a2ec097fb91f84c84e3ba88c27ecee1eadeb7ee7a9e96bd5c1b54078364e5882f6a887eb133402a8d173fedea8faf55fcfd0714b0245aea5ea6ecbdd504ba2885da3828b6cb27d3297bf9ed4e627c041a3b42a8f483ebb3e3f916df96be53abae37be4408a93aa13c91b7b85bf1075f81ecd28ccfdcec084b4e906ee4f82f5d2a64370ef80686eaede3f1f9bc545b15edf0b841206b76e85198571513545637a966da3c22b33411c8f1c10d10b5dab5d72c431fef640a0a303349a2c4ccc9228a4bbc271d6441152f684fb03a4c09899a2d41e387e04fd71a8ad02abe232353461812eea17c148b20417d9878b97feee647cb609b456ecd0bf035148236dae9049b21584cadffdb2c082c17f39ba6095f7c402fa4f48d717f80409ab9ca2bef76bd6fbd439cab27a40a11e9427a8a193381011ff927110c6484340b34e5891ecc61adfd96f6d2dd4e2143d9ccf4909c40108643bb37776adaa4c7c057c30d6183e69970b0fe89d288a1a960c4e90fa65b29575099fe2fbe342ac725c0aa4a44016dc71e95ecfbee5d8d8614315887c0ff745067b2e531af90625c69008430c86ed67bdac14e240de99bf28c97aa525c93f1724cd8218649069e965503237ef2651d24911eae0bd13099ad659fab1da1df92c0773b48ecd3d853088fdd1274b2a8560b61dce82bb4984c321e2d5f19390e90e3220215c05fd01453968f0f9ed260b48c15a293890076f812de317ea06991d3dd1fb40e8181cb11683b11a30c8b04c20d7664040b3236f9fdaf5794717666ee44a4b7846a1f9228de43104efa681c694550202abfbab9619ddd1c13a940c50d8b325b4a2d9092ced8278fb30cd188a4e5d28dfa5400c56098a7ffe869d21073b74e884f92fcc47df04b87ad9121d3b049b1f08c1c1ec89a6cbc577d5825168027959d61ee00478b597b034761d9968820aadc710a26c44acce39e2bc96d7410f17cb8aed53c55c8c8d5619bf31691f183aa5b8f85bc26cf84d8557ca39fb4b07a6c02c495910f954143a4b5dbbee7bbb4df0f70daac1096a680741195846407f3c1654632aa4374cbd1c35a4ff42712e10b645ad16b3a1fbadfa7dae1558ebfd26a8d1d1152d5b7a8695b4bdf2d5915c10beafc254299b29d5fb88439395bebfd63af48ea8d595e4b05897a5704c9bcfc1cdee273981f30024e2076a74df2f26f3f49ec4d0c541648ea28dde3200b395a4d15bacc4cb8e9c21e53feaadc7cba44cf4952bb890b386fea62fd8dcd7ca6b23daf8fdf9e5384ce16ea6dca97d641fc630730f5be28a668d871bf6ae70f78caa10c8fa14e1db4cf495f3c41d2330945f38b8f03cb905b16e8bb5aea3a326c27918c4142bc52f2cf4a6d1bf2083396fca0ed0e2f80f41b5a7852f41a594851a9b2d3a8ded7dedac46e3a105334f18e41327285de14bae9a117fb00c428d8b3b7a3715d6f8810b68c77a34ce1761faec32c4b389cbc17c1d6adc723ed9c274a9b04e9b9fc6e3344757922dbf356c7f42969de8e2a843ed1f018df612925a0197c8c1892909c512d0ecdfb94f39abd38ed38173caa5e8cdb8bb1e9fc2e60b2750b4d2d2ef78b2141c5c324709d1d1e1bb065b77e1df6d644211aaaaf82df8a24d40c81903e32aad0d2fc51368621ef14e385fc92ecabe1be34a2eea76d3b7a1f39551859201a458e5e5af909e94ad0fde99aa8eaab4dd31fc48bc8ad89f1c48ae63fd6fe14d9cc046aa16e26d703843e91422b1462047b7875578df0d763cb55eaf8327f6b91b3a09370d7ee32e5eace1e75a55314d9ecfb2bcbaa61041f595cae5586947ac29cee496f52cb32597ede4a18ae8a79fe3e86cdab2bfcc5aae67d82631a256abde592657ca77e60113a0a5d5b9472b3ba0e11c9ef5078c161208c9924d3e8deed2a978caf801b473e2079e9c22ae9f6893157491eeac1b58bdd5915396fbb3b4fc3e40ba51bc9041e0a47389f741f7b384bfe47da4332c3dae4c991920080c1f444adfb4cc657a3cdbc77f31940c92ebbe16574529283a8c3a87d736968c529e6feae8eba1b27547219938fa07c851d93f593a26bb7b2774ff4dde5663b2405c6b607ec19ada2bcd2169264b873667f26aab4597bcaab536670f6582c2d253f08c44eb436c3ffe8340df4b8be5af219bd5a8d6130fb7f9d5e2ef14b0269dff5c7297d1b205fd8c7996997cd97853f493133d06e6c2ea1cfe11352f407ab911f0a36f38e96bbabe701dff10fa7ccc087364df192d100eaf4a621736f0a98a7e334c04aa425bf5a42f725dd6005c186a6583522f3e143798220cf62b8a8ad55ac82678fd778c6e04ee61ed315ea1d380a81bdbf40177e2ea51cd03d78121f7e160466a6f97477ee0124cf47351dcf2386d3678cf7132c4dc302b3582889155f54c3016dae351dfde15857c20d3b9d310e87872f62896d0507f96c88ae3b60048b1bce806d3303ea4d74e3ab2d1b1cc1bee7091e885c54e2ddb9e20b4a240b30129966bb3b5e280bace3e5e88a97bca326a9f327e5f4900173614aae7c252f3923bc986f5b09ed56e73dc18f2934dc242cf160889d26d4a0396b49ec3abfc20ffc7d1f74479406a8a12c1e99f137146852b943bee962e4a73976712498ac284519aa1b5751ca2d0486253862e44b376becb0a036dbf23b13ac84da822874e1e9f02b02e81a082d574da8fcb4231610995b7acc1c7780ae01e765871e108ca775fedb261ead8255d7ced5ccbd1d57b28558a601c75238da89e8b8fa98bb3ae9997cafb6c1b29aa13f1b3eaddeb929a242317d2a0365209761892e8d73983beeba85d1fdd64a4731057076d022fb1f15b707b1f2f959ad0dfe33b1986e2638594d0ef72771bd8167b4fbeef08b69c935b1d66a78e9f8d250eb7e31421f2eae8acacdc2f9b84e42defac56e85037a48f2d707907d24695fb6ed6cb3387324169c9a960468e7c701e0f1b54ba775f1f978eca5f825efe5001fd2c582b7b7065cb21660fb32d060e1292aa2469745c361afa42a6127db959acf74b6eb65551d25392c6f9acef9beef9c5a7abb7945c64ba2badb297935f62200f04141b49c7a66dc4630f1aa20ba78e95863158facc032230f95c330f392e65e3e8946c983440b6686b67a854886bd7b6b01ccf5a1208518846e0af89d701f2b6aa6600141bfa756ac4bb411a9d03fe25f719e79ecec1c1067709b80184c285e95dce280159d04e8220126ac581f4411add2bccbce611207756e94574010384b7c832e4248cd889b22227a109b0ed385ceb6782347a0b85b2ed49811fc85eae4008c2647a5038f4bfb5d34ece9078f65e8c6a2c975368a4760e0b060421e0ece71aa5a383d78bd0982ef04b569a7c061895fb261ca13fb5302ef488007144c15554e3b5f30630b30451f6d13e22b6fface176c5550b8deb991a212a2a9a7842654234812267568dcc508be0da75516a67c433ae79d2180042f99389ee0b7728f07dea717dae29014ddfc43250c3a504f1c6494ec53653f46256d0580b605ae7133f5c36195c9724d79055b38d40173744f481fbea0f1d9be268b4628dfc7228db11bc2a04ecda19047cea66569b127119b97268b360ea954a8c702fd6cfbf7db402c93a79ae9b80cde7a4bc5acad34cbf381ad357c33cd116ffe9784b873ff72547431309cad4fba4a0b156415090f852efa07b2e391a0d5a477f39bbfd86cb3b498d2647a3434000db8072347a0dedcb397263239aec57956d2d2680e9581d46f03047a392617021dfccd1e8b838e03e07bda64200933e63b7cdd1e81787c3fa717b148a8ada8d888550131b8421c80124cdba7541ca8f9300e0cfca99712c417e08b1e849bd7c9702f43c8f33d830e7d29d2e53a3998dc4783cd5a9f4feea17f8968c2923f200cceac538837d35b3ac651725b4c9b31ecb224b02a99b82a80ef9badf07051b0e1cb1cb0a0333438ab990cc6d7e994bfeb4cdc557f8899528314d805dda665c1b6c52f3d861b7122d066ff1666d2903c6d3cb7f3487d68c438bc059f5417eae5c66432e8bd471ebdb61e2c9a352b2ad244471604b7008d158bc7cc4f9fc615cfb64f01837d5dac0f8b3dbd666f08c3fefdfd56dac107bcb002a384abcb47906e26468ee8d7479e38fe8f6f6a48298bf740d0f25ced7e0137407ce0039e1fcd0555941297c7e297fceffee5c76061b82ed4a73ff4d8432bf0c64fe0c84e381aca289d00eed86775c0977cf53e23a6941c5d8a45e092c7e50e6323b8f10bcc6d24c8ddbde9580bbdb75f9fd05b4f22b514699c06b27e72b0d3cecfb5368a2ea7c9f399fca3babc7fec2c80d4dfc5dc10c8b0f2dc9286373530ecb223d660052d55275d62604f50f9a10c5fd73743c2dfdcf205f5c7cd004256ba5140dc01e54c4dcccf6a098e6c24c60a1296ac01112fc386dc34957bddeb8d9981634a9f5e105e6f26a08d8f2015bcb6ffaa179dc0f08023602b88834519c8501c18d433b4c25042d780a014d7c4e7f4ff9a4153c804e3b1c9b305189dacf04354611df1a0783bf5ee09b7d67023cf2caac3006ad3af88132eba6600928a1d32ada9109abe83e136d6410e90d4b484c0374cb50e3af53d6b5446f2882c67b82d3ba467830d70898515d5e86cdbf30ca4179ed06eda5e67976308ca287ecc46487c559ca38b5db31d11c30391fa372de11fc513945ab18988f42af6233fa24ac564d8b18ada267290132727b64a6cb2c3d971d4fbbab336e1d3c49a256360af7700359494905de8acf44e96472fd20153e2fa2754fd253fb055061147aee29b6deda30c843efa5d32c56d3bf7c6475310cd56826bf27469ceb03559e6135e71ad61874393dba467a49eb9787e906f7be215972f00db54a8e255f863ad87eb67063f60a034d34aa8ce7e3d6db5d464e0430e4d4c5060fe70e10ddf4263419f63334da773b64e364a11d783e708593ffbc5ffabca226e7ccd63e93e6169729f35bcb8ab38499696d9920c8c5a010eb666f164d141845077ae8b8bb9abd39d324b58b892bbfd1edd2e46a9d41d595c54483216d700712983813937b3a32cf3e42dc87180379879dcc66b240523e2e2b13f7ad5e86c92896a1c4af240f230ebeb2ffd35f142a43dbc6847014c18738246e13511e634e8b31d9507360b383d5fd20134465c657df6c8869b5add82b5d02007c9ba2c3d15f266749ba017008a7fd29b197530cfb8e7aecc57aca163ae7a021f5d7ddf5ddfbd450bdff0cc100fd501d4eb6e5cb36f872383e69ddf9d57e72fa193d14ccb173359cd531eb5ab0bf49a0c297ebb3f9d7aff794e513ae34a17250cdf3770659ad48f4408fc9ee27a0ca07cc1477e12f129608a438714b1c82071837652d641243c9e7e78f55a4ad347c8b135d31ce583c2507b868a52a1391844831f1fa205253dad631cedb620715078c7d5f29f265331742a9ba5588c8f122f7b8a9335b0199edac2910f057fe9769bd05600bd8e20cc6dd17e65010fbd98a4561154972693385259f9aa58e95e3e88173c2b89ca4a74712025af11745decb2c800384115566aa376ebcd107546cf16513aafe85b087bb137708287d6f074f0f7ef09e7cb0d545dc61081561d90a92173a22866ae0a10281c885123103b412dff1e58a9cfc80e53f2fa2c397624aa2b293b0c0090d144e1ffae97ce03fa9c0d04c4ff0c9bde40f2505b5980fc202586c4870a7511b39c9e3587a217cd95729126e3d3cbbb1313396e0931471514ace73ff56085f2ef00abe1209a149c3458dacd4e07f5448334784d71282d1812fdb9043a83b48eacea87d7077a87ec24234d82a868f220fbb1836433e493e2c513f904d8baa6391387af40c10827282e6113234ecdfcb754f1cf9914a4221a8c8299b4d4c8ca92837782bdc8d4bea06a7e577012fe564cd820c9c850baa2171d71b1c16e8ce7f2f0b8c797c09096d0fc463872ccd583c16038386422b56f375b893d955aa44ab7dde54f84f9f83541a97a27ac9aadd6b87af9386868b0d55489c140da4c24ced7b5ea12bb72982ed075f1c48c1395f2626d0f523d17a2f4bf7d3202fde4562417497905a02e9b56a1c359d50da427118d8bed6dd6670e56f53c557c9a7f0c7f9d451b6376b0a4c1a12f8f4829865b8025fb11341f39286449194cb720c71d793c12894ab18031ed2d6dbd4943444a43c19c93bfe110b4dc23ade16fd1683353a82099ad782607506a7c2b122ab346f887f4d789d5c1547430e66584a436ca6bbcae382525dc453ecfe87ba655ecf10dd63659668fd002a182be5cd3961dff33be4d615753f93ed51c81eebd6454c7da964a008fbfb5af408e3cf13367a7e35245bbb5e1ff50b2698b11b009721d711eab52ae5e5cc0247cb33e068c593ddf5ea1f2cfdb6528af18e665642ed6481800734e6b57c561bec91d8195a1a879ffed48e4dd3b55e0a22f0a00850d13b9b0bd10dd854c06018664cc32b17f17cd9909d66154a7be50bc99c8db316b231e11d3fe9fd91731d26144328da7cc06ca982fb4b3632c8d013df8829d62e729e86f552ade0002a589199101399e45423fa4d2495cc475e17359e180e371445312ffc6878545d4316331c608e1d0119826dd3c3ad0bb7ce48a61636a0e330e5c5e94c4cf4f318a6bdeae9043293511c0fe426ae02ee4a79e38369dc96980edeb8b55e31f29516a9b3fc7ca61a7e6620dd6bd6285c4a31fc415387d11731b14e41039987316259ea00147845ca240e325c7301a990d01aacb4288d916fe70d11dea81b6a54bbf0f9f823717180cc959909a04477f9b16c0228a978cb3100c63f0bf240d8d134c42243e4eae06e996f2c0a2d5797296430bd25882a01c52528364dc57c0edb08740d07236343c2e00a7683e307e0e6a8923076907b03b72b002ac27ad96bc83474bb680569d7817bc68978dc01ab6908bae423cb2b2969df37488534cea52b443e530cd237adcc643d7b5250c67659703ce6384f48fd1c3712a0e888e14c7743c10af508b271ded49f10d1af981baca8b56ed047853b5a59dc0b4dc04a87d5957d5cd060d978a903f5641a421e7fec837b5c3cfb556c481f27a35d90d186d75e23d62a0ad110023b4fb51f4ecf2edb15ed1a262a585f2248b8b9642205875eea8e7394ed9aa771424f04fe61fdb6a81fe9f225836a57d38d46c9d652338652017e7aae130562bbd503f389037d8784a5ef79b46bb4303e6d0b91ed826c59bfb134db45cc59b6f5c44e24d7a845dba5188be4164479ed1ab99ae7c4029e2d1fb2a1aff672e721bb652468e715f0581eea882295af6994d227694791a215861af3406bfa6b939c9624706e5248b73f4c906015b324c1a085a79dd6903546a93c91ce27cb2be6020bc617f11511d8b78ed348812e152ff57c4237e99beba84ab127d3816e1fe8a9fa4d91b2b9e4d8f0e76a231501f96360b22b8040354f0932d1ee755a470bb9a4c18c02913892fae480292d49e9e2ee2d9ff92285c30a423fe168a16e62590daf94369607c90d2ee6854cd8c9b9ba24885643777e37e7b2a2b26a399531edc8110114c31e196fafc23b5d6ce50c6fad85813121d6e8e1257e6b5e811289a1744f7907466dd737db3b0e1bf3014960a0382a6b53c593e4c37fed524983f0364c12a137ea46432be591d8df06b64ecba9486381f73021a44498175b5f4f04d6e5e0da7f048fd98ebf98cecdb35db3138754f50e09522f1418e5e95ffd62069a314626f657c0328da4d80c0358b38d9dacec80c6dfea36c951078add4fd4ef4afe08dd66b021d4fe3575ef1f5749a7b737a44691005990a99bcd212bcfdb4a0e13e2b1e7158135f2a316c7d3e860ef87359355ef42bebba48063dfce0f9eaee60de904964838d730b8d608a4ab655d1edadf7d557c425c83e7fcf006fe228dd4a3cbdda3296c607e3f06083904e42d0fa742ff15b017231e4e943b35263aadd18130d84dbfcbae06abbcb80fecfda9b11b5026a46bc894e3acb90b2ce1cc853bc112513fc216c422f9c392668fbf24e13c9d355bf21053fc7e1715e06a152b582bcd9f033db1d8ed405e9261a2f8bb88390d439457c17415b3f3812e363a467076c943382a1d0bb49da369d06c5bc430a63af6949d06497064440dc22a4996716118d65bb4d0085ca6547e352d1ed541054f20c5045aeea4c3caf2c49bf30e57397b33afd6d823d29b2f553c5de8bdb58c6208342c99af38c3c02c0600a86e735d5f62688c495bc5087f9820e289a7faa3ef54ede66b9bf539af0b4e875d19a7e71c9582f7190c3e9e78174b0952b499e4a4e48f08919ae882e70852881fde3fb66ec2258811bee7650229dfc316cac53b3bf4dca5a152901a76688afe203bc60d4336e85bc1db1bd74450ccdb36735df6a70b41b9d8e0c3655ff4ca42f9607397ec51c835ae4fd2d8462692ae074e584abbbfaf2632699492d6506ac7a6165dd9d4a233e19060aa00a2767e510db3282f6690c197fb44d47507ab4801cbad5b83a21496ce1869bb860eaf2e331ef42b40d97f3b0cb580eac36a1aca2e70c8cebd48395f5485a8ce2ecebda607a3552b4fb58d023a8487946e94428f6a5078a99b6446a6564248ea33d287d95b96a4c2b7bbd92d81ea6059185f9fd83688b4fea27ba3192218698dcce19233ad1d66055dacd58af4412ee6d983cee19388bb24ddae7e488049f6e65afad91fce698bd8f8a2aa2ba917ac5b8898f8561bc026f0b658a53d0613ac575300626bc037a043415e9d86effca743d43781e82a0fbd84a9b636a1667cf7bdc2b66cb15e3d50ad577b0b018ac4640889789dd7d195f25b5aa61d93e678cc68793d43781aae2e6943c72e84c547926c6612c6939e609421944370daf8fc225802a6ba68c18784ca2b43e8efd5869d25b23c73ca10e2435d4c3ed10c0363de6de7f7d87d906e8a329156089e696421f9429c43319c9115e9377e0985668c6c0cbf102f148573643ff10d7b2118cdd11bc917c40fc5378cac45be11671782ab9f47e43364323b23308407641ad918d68a1145a6effb64833a51238326057d1cde97c0107c57fd4cb505d60602edf56f94781b1f25f806d0eb7e41cb0de48ef53522dfe7965d58a0e9bd7ece700b80d07492b83715dd0c45d00a0ec4fb42a5df34c097adcba04d68c14f484d9de0ae8ba090a0d13fe4a98dc0a18b204c38600e24c2494ceb725025a2b30719bb45517411fc0961fe216d1962422d5c00f94d1004fd009a7ab81850901a913a80527d00ca631b1b4a8f825294afb474b91ee810134ced2d771c75695387d8abd8fed1218f783a01504af462f738592b1e657409932bc6610a90e907ecf3f882489768566e29654a32a5b4036f01910175016ee2d5d3ede1e35fbfce6c644d8ef4ae583638ac164e4ecb95411539af1484f97bb6b0fb32f22ce2f625aaaa6a0804ea9fdb4bf9313e5c7d518e1ee626235c57777df5f0f2afc14210e6658640210f8542a1ad6179791879039a56881b51098991e3baeeff74ea67da950bbb5aedbc416550ea72ba8a71d5a909b50ef7ad7229a81bbd267052f32760f73ed1abcdc6f50816021516fd437d4f7853232e50fcb9f19828d61668c2ad0443c9f75224a500f2a53c79197a292184b0bb61c39390cac8f60132279d2ac5adaafc2a2228de5622992a1f348d356e61aa8050571353f5c3d3643e33d88b5287a90a4285f233054cd52393c96432994ca6b202675554a8aa5889f8bdf7de7bdb3119192db813c775ddffe98442693bba80ca8082f0f15cf0a3bd18314d50b393cfcbba980e198e41a14ea7ffaee3b894385946df2bb7f1bdf748cf64c240f51ef493f73b9ec6b810b2fbebeef79c19ee4655140f3eef870be878324b5253832defeeeeae2a09eededeed248da49928d0fa415002843ef27a2e948875c52a01ce82f50a992a2be3c4acc6abeae253cc0828949f9ed47bcb6f888a0c0516668a446f63f248188dd84856f219606680e43334e8fd78575b771c94168d1cce25d2f1d7da48a9f118f67000b09152e3ed8c23f7a713689b7f122a818294b6d2fe0e21040c02b24c8a592c1c9c562b27c7e5d2d179bd9887c7d57dacfb5119cfb4bd78baaeeb3ad868341a8d622b2b2b2b2b2b2b2b32128944229148241f1616161616161696594b4b4b4b4b4b4b8b8b8b8b8b8b8b8bcb2ac82ba70891144a90ef527a362da5b7622971135289672b25f661595762761d7617afa64dc7f7f6a9a8a8a8745dd7a974a395aeeb46a3ae472aed71f57677a8a8ac22f3be770b2c78fc2aab338e8b419dbee3663d5c9636d686038b713c1dec6327192aa67fb524dccb257974369b178c270693c57c64b354372f4460554b1842f8de153944a10413252c48c1050e55185c74e0c70ad98a9b288bc0cd8f2ca662d2af97451f6ed66d935f9d6c502c13cf07fdbd56b6efeea61a8f50c61821ac812f61266c30dfdc38799bccda6a329a68d6b54ddf9116f4b74c03c7ef1e9d593ae07f6c5de97ddb30eed05b024701a51ca806d1b3f366354b525ee4c0a607346fedf1d3d6fab52f35cf4d539abaa6f6954212fcb6769109393ee47f3a4005fecb2f979fcff7e355f935cccb8b06ffc1e64e120a6bb55caea70af5f552a8adbb2d9702d25712b19e99966173d3b24167072685cf2e89a1055d2ee8aacefb92ea12aa84fb02cdb75ac1a7911a65841d07ea5e503774f05069d0410deb859ce9ab956c166bd9e5da405182e4c757ffe9e225556ea5ae9d8bac5ac80cce8b15ce8f129618b04ef293240b97f5b85a3f496e7eb8b859d20c1f76cfc44082ef0d17f6bb3f24f973628b5717e180c453aa919851675ae07e5a419634e5be49c3e1208ac03d5e96d20a2926fb700487e63e260072821223a0a8a102870b2638f8270002c3183ba8c004890b4c10e0d2d7346a27b458124ef59e572ac25e5955431d7d5e7f7c310790a7c00efecb0e2db6c9081de680ee6e4dd583ee5a013d4e3ee4bb69bbcf6d933344333ff6ca548ceb51dbb917457f50c363bfdd044d21c0991767f35079853983648688c9b17c4aac235c0260d550646b8de726f43a5610eea2c62814832220111aa1700391d10c8521b3e58b546f815203125f62ee18aea84383cb78e149857868cd54103203c40e38cc52d8e286d9101bbe9863dccca72833fc3471e590fdbabf72ee32307f77973fca9f2a7737a952c2c74588949fb4103ae45fc8cdeff067fc7bf3977165842c5fba84efb0e73f317a497fc14ab9cc22e8e543df5eaa87f4cd6ff6fe7e6f27d13cc34d76c87d7ddd9ddf0437d9feddaedeee0ad248646a4eec34734f7da1078520f3637ecc0f6239a5297e8cb235bed4e8cd4d30817953e443674fd2f7e243287f69628cf0a1f79200b7f853c2df401f17ca07fcb51068ba6f5b0e18902e1361e4886694bf3dc88754d80c9ab2811f3347208c367577444f0bf9f7be87034cd660d46cb0cf2b32d16897b834038b16acf40ebc7b4540d00b237508505824128d0643690ec2288e823c49f1032fcc71a1cbba1ece2399f61d9649431cc920879581b93a5855f6ff06da4e6b5635f465af891a52e991890fba550fe52a224f6e3f9bfa304e09405fbd8777ce98cc7f31bb2c4aeda46b8119fa169ca4d3882b35d6863bae15afba70dd3a4f84824921dd571406b3758e5cc12f99a3abe5b652ad840d634799146f957da00159f4fc3ae17a98a62aeec0104c09236668c00619f7f49987f5c166c19fd0021438d7a1117d909b789239bbd7f01fb4d37a11e774e0c3103db9398970d83fc2ceb128cbb58661ac980cda2e5290b03d0c9d320c77661ade5d9e61cdb9dcb0d83d6066b0b0df0ebf1d36ff03277b528ce334fee1f4835b25261abad8782ecafbdb09618fa14bf12bf79f1116cfd5bda6a137fc2cddc2031279673a9f3aa3914bb2159c893340b44daf635f2d37b0335de8a2e1f70476a53de38a7ed8b52e77b2437fa5d81fdfaf5f8bdd31c28a032a8acf692e5ef650ea262358f90007c672c035d32e9e35f57d27d51713cf4fb18d6b26da453026218ac91bec47a86bc8ebdc363255011592cd67b7d89e167bc4b5f68eb0ea5217044543f733b33419b7fca5dac030e78f60735fc18d51c86b342b127bc0fdbebd24d3ce45079ab3cbed26bae23687537463f6616932babbfd297b235859443895090a1fa6eddb9210c02066c870704fd9d1730f4ed33964115cdffaa3a1a32cce605c18c69a5100c78ea819a81105816c276e747389c12862d68e2203b1fbdbb4b0f04b541877c6b44aacec6e3c19d77a3979c1302fe9a2e88dadb3b0725819be90ed66525ac86941843ba0ace94b1636b046ad417285bc9239b7d1404de177b5b7c82d9903b7d0c8f1c4d046a60be81b25756f0e7ce8a5c8e8d1b9df64e9379c5dc378773a314f855bda04ff2cef35c975981eb941a514cae2b4595c9759bbce716a8dcb2b06d894a5154a6d92e65dd62eeccabf8e05a6a02c19cb336ca7e8a2683e3ee65b4ce315909cec24d34d016b3bd21049d58336b35e7c555b6ba31b9c8f5fcf2976b010cd474af1c6e2982f9fee3800c1abc20ca7e69f5d73e4c3417e44c9c2457fd33581d783c97ca9bb74a238f7e370b35a207440c5d8c8acae0069c362db5557ec495d94f21c715f4e10be0572dbe7713d02b0ba6a47be8e50f9932c708582f106bbe61daf023d8ac4c20ef297ac1921885ad5c5d40e3a70f93a0dc1f07b8d22a42a713f042599bc43cf7902b3e87cd9ba6821574dff5ca3e56e1f461f9fb700886853c3616529d421260e88856ec1a3d74dd86e48d7ea045c9fa870d0221a2d2eac0b4c4c70ca562206d03d7584274a030936b38bd813ccbcb1c9b441a95b4ff35ffcb598c395608e2a0913276f4fea261b6c61e2acbbec2ab42e1233e26d9bd090b044ce81e45cc234fd7685556c9f6bd5c37e20492deee291b8f5c5295e75d0f01f01e7f1237b98eeaafc8c35e3053395cd7c5dacc0dd1c3ba88081e875e8f6e3f255e8bbb719d37fae61ac60b674b69075015798c31b1cad34ef1e95cdd704106440135de46f804335455ff956480de08116ee1217294ab20af872b484d84d8b7d5c05501a017c7f69ecd13fdf360c3b82cc5f0d8aa5e16d2dfe0400399a05f24f5e01f4ec74b557cc4ebee5e13684a0afbfad904bee86382f4fbd5a1d09536c01dd1f399e2178386e40bbce16dc43e5204c16481b67ec871b3fc7cc98d8c8bec421b295d26d4e8c426cdff1d38b123f82c156eeeccf08c4ff7f8b603ead19baded0647fa068b310e0c2d3dfc29d555850d365ecb7e5d135a2efa0c56f36876d8172ebba8cbc6cab27e5398783985a55d5534cb9102b82570ea3f7fb5f98340fcd859c322eec21db6a7f7bbe3bffc1b01c6ae02d3abbdca39dff644bc25e3c9953285e80c24fa9a5f6636e995d1467f690d9330a29af91a0ed1a4048777dd6f870b922c5dab468cfc89e6d9e7fbd2999b120a119a9308020901526f7e1c7697bdc68280b418f279c45ce02a8c838864afc95617475aca8f7d2de9a481db9a99909ecbf804f9211851d8c3083633f944dce24e0fdb487d432389a422425ab0075d2893cc54e0e1f2a558ed3a57a949d82d2990c95aa15874b3e61994d2072eba06d3a80d44afeb92a8963834a2a5ba41e500ac27edd893583cea053cb3db53a7b1806ce5bdc3616cdd19243345e77280c65ae7a602f16de31f079d4b3229e93833ed77195ccc7e9145e4561f3314144a168cdbe93818ecd70e486ecef892408d0ba983be8d7cc0d8e8669437530f6b5e826936f5d92363961030c300cb4a832940b3242ce9775bf281a506820985160fd19832234f7a58ffca8ba02a574c70ef6e20c1deb51e660b72ad8fe4b726d8ec6f791314384921fa8d582cf33c989f9ac6104eb63d183d06c5c21aed6b096f1386415a58dd425a4dc3d5b812883d55c4d05b38cd109eabb9a7f6ecdc584a3c83508335eee7a7b9e740edcae6c9c4e8a15d2e942ab16d1baae0afb4557a3abb9ac82cfc6f79815630102806fc174483e6e3961ed59d71fa9013d28c683e08f4c7c41aca911361839cf5e0cd587ff4127e637c313f73f5788ae1e0a5a5f2461d5e87e1479b440afea1df1d4f9bc1f96676170067f7b002b77bbd9d6782d8ba07aa6bafeca1d5cf960334458f8d2e4c30009f554349b72212676730ddea893ddc951ded5a1b3856ea74438151606bf2c7619cf3075913ae6a1cf1f2e5e0cd446061f4916b997541917273771bcf784f1073ecee521ebbc44ddd27a731b9c14bd3d14ae41bf0f670db335b46d1b56c83cb4dc116b46ad9c70a4d2d5d921194fc8aaf39e428ed72e20e47c6dcd3f86e6a856ca87e862b3ed63430f3adbff0462ff090e8c97a784c3801f1880be18b0ecc1230dd8f44895ad907349360ba0af3e08bc6aadbc5e538d645b360168a8f363725a2c91632cf0e2c192c7b5d26537c1c0291317eaffd01517ec49a4911d4e2779c48282a3ed8ec1821aa2f5b28de103e234d30491ab071b23bdc0fa6ca18106e813ad690cb74232f232ce8d5dcd2c12c082300057a5f41d69368bbd42043f86f61e37dfb9e172b4ea45747a2e7e3d6e2d52cd69243a3fac1d10566de6eaf98f9f83f288382b2bd396877157da1b17830feab3908990548e50369954541191f64f239011f43c87d74d3d528f2cc7579d4f209a6b21fc9a411fd9a47fc66a26692e0201ac4e9ab403ab3b22094ad9f15ae9137adadb593f9caf49df4129fdee291e1d45934e23f2d0cd6e7043f16d17725f14005c1178d8b4f83523c25e248e312e39063fad259a801e1efc7bf390321edd6cc7bab7bc776fc0e8507f3cee08ea47dab1af744774bfc1bfd95fec3e099a6c9d391a030ad5e330b41d1800924752c29bebce45d041b8b332acb9742073f219e761767eecba5e6017e453926ed5ea192b22bc7a3221ee19e2f02a0eb4105dcdcc8ba1bcb0f87936e693a568a50c291543ef436288951e9d5644499d6fdad7518ba237169ebb2099d00146ebc9c000ff506849388b4835fc1df2c1d2a5174cbb52634efcca3dd17996f1a5a2be2a690dcf8d752925af7542514c8e1c219739e14a0259a33dea7bff16726256b051ba587ba70c1abe912d32f349bb54f874f31843bcf4e2d13d3c4b818b0e2c41b5708ef01dc04f77d600f40c15e8532f43f5b6c2ddef8ac015b4da4904e238cef6bbf6106493c87a33e93d0812c77a87ab3d6b24213b32e9aa0d849d681bfe182f9b53feddf42a5e48c90fbfe8db82a56e4610bbd1d5bd245b34c87c08f8d77a6f7feb915449f531c1b3a430a81fe5e54b436f187a2291b3b4faa9de895646a4fccf2c82060452dd7b2d1a10b27c70c8df22fac6174aacda3e940b89431967083511dacf85342f80bb9809f4f700fb7564823051ce37eda1a92da3144202be8a324726f9f4088e8a87599ba07d29cbb0c6952b57f88054e74beff07f117825608179abf9a85cd718b8045d7310233fbcb58508479c2db8d65a8d426511c12fd46227dcb77f05037eb0d3b1d6d2ceb84c0d3dcabf6fa64f4e9ba58ba2091d18606dcfa9d9bf16783ce051b3e64090c924a57f1e4ef43ed659fc87d1e5d438a830225a883f219e5861f2acb6ddb62b55951762f45c62ef3f6c85543eaca447113e79ddfd991737a472246e18648680812e61d0e4426e885a5957b1c4da3237dee1d4ed2d178b1e1c74922f55e4c021e436a72107b66854193847e99703ff41b24de38edf16a27e7264ed617149885f6d41360612d1861b45ab7a6e7e836a04b35a7f268b2a64923770bd2187ddce610e3cfff170a87876a21891078984d59899eca0e6b8faee7828ea6be1ad80567372ce428eb974d22540e3aca2fe29e15654adca2eae9391ee20154bb18b4c30ee6f71d87c40876391e9d67a5bb72671064ebb0f69f9098e729ae985e8065e152ea22c036c2a2f275d07400bc6aa4f1b476034efcdefeb7ffe747664372331f02db4c67bc2b8c0ae2bd16145cf3799ecc795cb5ac195062c7471783a64aae80069d8cc823402b0f3216359bcee48aa18b3e327551eb80a770006b5e4873656bf244be656763984d6b9167a9be14a2d23801564ee868fa64ea3a77c273c3443a4d76c93613a458ffdd37d648188e7c5f4a955c93a416ddd7470b4c5ce2659f478349ba457ff4c763f0b278d5604a2a31ebea85f5964060bd39d096301b8d902641d850d41a153aad1714975990997a9db2795dde77210adae48a4be066db7751a4fb10b124f2798e1a0f0ba1584b2180f3e444117250bece4c4ccc4984ac9a01a1a4405cc019534b58b4579543871055aac6ecc7262ac1c088f11b8ec2e3016e2338b2355547dab9d1588966d1da1b78a078554ca0af9c5bcdff1c190ffbbc03719d740127003b7037355230eee366f8a1e526631a9c48bfa23b58bc3e961dd8e78c68f62caa56b92a8d824c5674261035d0359048ed98e6d4b50db26990fe37cdaae749490bae423d317567bf0cfdc2b3c292269dd83ae0617010c2a28210592dbf174b16b9a4d6a1c1b891a29a9e9f902989e31360a147fb49022ad8e1c867ba3b8c0611982cefbc0b01d22753129ff557fefce6e6394963ed93a2f0ecdf3fb57471b29d0bf81d802aac2b0e1e65255b87aa780326acf06815521f3b54e4acdc9cfbe6f42a0e19778b393307a22464fc47be82915e200b89ae9f3b6a8dfa7fe3f31ffd5ef27ed262ab4cab8ea4397ffce92409aa657341037dae0ac1d70a5a6ee456fa28fc76fecbd5d1d674210baae4d8f4fab737b5610c7511f8e1ae026f7d447c107be770a6cbbced54fd66c2d5f3bcd8beb14fd66359b87edfc52ee88aa21e019fb5be5635950de68b34a73949f4a303fbaa82cbc126a6b9232b0218a51365d7d07a984eec9f1eaf2c59e4ef3fd851fdc5a164459cadc3fc0da3e7223b0500ec15071b41fab58388fb6057a0852329a7eff7de6a5677708c7df4d7d65a30d0ac8ba4c6668fc953577bdccc77f98c8634aef778aeed71b86503d9119c1574d44901ca93d2987363bad2d13de41ecc6127d5d9c1f01089bece988af2c4d03337c3dd44ddca3a407cd68df1e18150098fb346660a0a6a754a8b6c4806381ce9279be16388e5f10427048bea0a599cf15829bf044c5b9aa25d9c210abc3d7157241b22dc08bfd816a0ec95adbc4cba870194a8bc6a8e672c69789d403975595b2485217fec1596644046874341fb7aeef96028e1a0d8951404ab0e2a66aec0980590b58d3f9e3285e69f1ce3aa35447be0108dc3af6e659edfaa74ca5e654010884bb92b0fe4f27cdd58595daaa6ac9adb105986b0bdfe7722daced3f87276097318dd55b6ee526528bd6351354a591f406d580d8d73607e0068da36760840f73c184660c496dcb17303131ffb8057d9e151ed778111a39e7314b7578090f96f39835d423ba49ee0715689aa74de2f757321db52286c231f0505302ea6e3320095dbae212fe1890457fdb81deddfe55a8688239f7bbbf75e64e4c8826fb955fddd27d488c27b776159d1e1e6204362ef01fb0e059b00ce04de4b6be598b627f87aec2c3a9d356d20344140782f6385b69901e3f7c6e1d8048d47a180289d7a5d34c06f90017a6affc221abdd6fb253da1632f7a4fc127608c2ba177aa2cd0464e3df0047379cf9fc92903f2f7e721077fc1833632ce0a51a19e50da6d2b2d109c2474bad8b14f00797e4b05dcc566f74de1e1eab056270376778e6e1c8856157f82f83271157f4e39f513163960f893c07a1294005c3fc9d6b6fbaee259bccc98db0a7793fb025ac0cd4fe9620040b3b75e9cad4540150b86152c625abd9d361fa912c99387bf4676938f6a802a4893ab242be7b5d65a0bf06d461eaa90c1bf245eb97acfc6b9f40ef10f8b6d7df7d81920a46c7d349f4c9b8ef00bdd8fbc30527b1d3d77fa2a33a0be4b6d7cee4713633284d80ad2c934734297e97a0ea3ee0d7992896c3b522b439382981275845885b9c76d2a1eea1863584af1bc9fc1e4ce9b677e8de2ba14d04ef1ea24e1104d658324931759d966acf2179320714d128087faaf6db581bd3e50e1af38c13b925c5bfd28580a9f92959817c3aff68a547b32715020047af8246c87fdd82895414513b6f16a046d51a01d7d10b9a989aeb8687f2176dc8d13b3d215b5a8ce809372cc9dbc7f28207f72132d8c988b751905857c349397f0681c68fd3b3f27364b920cc2771c20b6fb4563b3d96abdb27ac9f7167bc6e6ecca2307734aafdc709b632cc3fbf6041838820eac28afadaebe1e917d6fd86d31f43d4427acc546096ab1942d36cfdcf972879783e2e58e97336ee69e307faf59b4e9df537f74d3d9185c276012e14ce857dcf57068285454fd2a5992cfc5d0245fa4d10e14e4d050a4844620c738106d94b51a85e5c6386a89b1ddd31f77088cc2b39cbb01cac8adf98a7474f8c1063321ab8fabe82b7c95fa17a0a10ece2e905fb414c4212b269fc9d10e9d37f0a0b8b62791a20edae7f310f498e7706dde1c5a73a5507754357dbd106b4ff184088709edce3657cf16a8d2c3999ceb78e5e74dcd253494a0ae3e15a6526979784ea53b1f3a5a9174438a05b79620c16f6bdc78af81b08693e96a96893feea4eabb38e30643238286c18d37ffea343b8cc101821ca7d14341e0c0ea178d8a631258b34227fc98087c6ce959f442544db78fc0c12938352d6fdc69110f3d0e3d3a657c1d42e4fad13ecdf141daa7d43980432c9cfa62aa2dba4a1814ebea197ddf21330b2314e2650fd607f40e1f476e5f04d7f839cb44d6c2dbd7939f0487a292b00b8e6ab0328ace6b1b4708e3bb5b28523c1b841e7d8e293088fef04247bb7879e14115c9f5765096a9e14e562e36c6bb704cc4e94fe3afe1afff47264804205dcf913bebcf6ecf7d2fdeafd50f7e8dc96d668f8ae9ae6c16ae9f2309cebc95b4e69eb2fc47e1334fd9b004d3ef46173a8fcdaa0dac016e689d304ad5df9b85708cdbfa2221250a0098af1459ee85addb8906dadb1b6e7d0bacf250cd972af26b2bc69ae389d1707391a6e393b274afcfa41637c48c65fa46c4d493ebdb4f66731886f088b721612afcfd6622718b578dd977c84e11d0c89eb2d4fd4ad47db3bc80cbb47bbba7d3a2b02727d4204181b1028d151fbab353aafed1fcebfb3861c68f3b393f4e94191b44ac47eda11ce5b16d0590b24bd52f1b656ba90c4eae4144b98f859480c64ff20468ccfcbd107fa590e98d10382dd7e0d130aa24ee0131b5a8ce1a3eac4318353902014c80e1f948b745c56420fce9507b384e21bb5905dafedbdd08bcb2bfcb5710c3a6247d1576c21c9ee048ff68ea0501b7a401f599d33f1eba673224736607b2c0c4adffad980605a3e52f38d2a2fc6e4c6e3d51f3ad76fd469a2af4932c709cb1bb8c3fb5c022654a4ccdba232cdc2600a46e4fd1709280c7c812e350265d36e0c07220156a0db78e6b8459fe79045f54a4bec34102d77615a499e04067815d81c9a346378f8c6e3b2d86a68ee83cac0dea27d55b87927a554d8054f423683c0d1cbc3bd5aaa1cc8f26187e1dc32ddfae633e2aad3a5dfa7f96847f33d01f621aef0c436e3ed2ea4c36fbc3069346fd1faaa28c658a296b5430ec14b620b9632df04f061f607a0d77290e56c30621367c4b110325bf3ad001086801cba8b8c6eb752c8bb402e861029312b80ee99da0f40eca124f71657908291f04c32cb901b4f693503c45358db4c06aeaf9ab9016f8c44c3efd8a7cb4babceeea650b7c4cab5b80d313e91507bf86ec4cee9fe9d9d9fab320b8ea1e6ffe2867a5f96fda19bed68433288c67a491e4cac923d1b38c903a36c8164184277d11bb90f0336f7f922a4caf1f8203813420100305320fdee1c3dd89485b81811bda5d41223489078b501754c580e578435d2f777a6808b0ab8e079081cc75314f31b33d2497ef6be248c5cc509484e1c22fa4e3513754f2d69d3a9e8fc7189a6117226255628e28045909011756c6c851aec87aefa2a9a983279139525307b503ebb70a5f8e4ac30d35758c48f4cdb84337b3dbc075d82c2a6027534c3fc79b6843979ad0db12828831362574ebd80e2eed1b6fb10255fb8af61a72f68cc3210126e76167bb97f13264c333991181e571abc608c117d76c061226d9f0b0f3c8260e4f890a333bbfb8053ec59b3b39ec6cfb273b360178bade0f1bd926b51bb64516c51e292130f00408d61ab51063f0c969e3b8bc13d320c40872af209a1b239c99a12bb6cc246152be6f4125935c146065e31991d9dedb4420ab311e0be8ad5f7a24fd9c01c8894adfc1951c5bee4b8505363e62332c28d1b885d57c88f0ff1ad0c996be9cbc377e22e9b1ef64daea493511eead2060d80a1252a062a92d7f555442041625778a658d567ca856699ab738a90cfc16feb5e56d02e7e3e67ae1473deecc6c486099032415135ddf2e64685de12a86967d0b3c1c33d579293a3ed4039a31d66455ad4501ccc22838969050cc3d45e8d124aad019cd1bc55338f533c7ca43020b40ded95f4fc0be5e8660d150a3221639197a513f2a66e67e3a5c787ee8623410a21a8314a6369ac62e40850274797f331ceb2112b5992c2f9ccc729a9906d707fd66d8cbd1c08ac384d2c2287d74ca01ac1500228b211db0a903386255499252c823c8266114ec38dbbb22766fb9f79649ee1212ad818ad9c003ae4e2a656cb126a2d3fbad296ddf6ddfa4b850cda22bfbd37d641b2c0862100d95ffdb6b5e0959999d6ba94e9d64091d5cd56d080fa7f23ae55eb773ea213f3df3dfa1671fdce3fa73e8178b49c881111a4481902aff82c8cdfb987fe600d4c7d9dd80ffb8d0b80e8130a5196332226952a9ec737f439113ff5f1331b076504452d62ea90e3647c661911c368053d4c5135d5d3b86fa7e88ff2a2fdb93bdfa601c977e22a24e6dbd6c930d61153ec60f8944b161644fb0c2cf69a1fd27245bd48d4288b01d0d3103b55603330882b77e6ab31be75c94e03f6f77d0e82bf93d8824ff094d5501466f221a9253683f51aa1c1bb91baa0bb00fd86ab675834dd6c1d4929353a7406fff6e5f8d213aa12c8d32de3c1608ea05a2957309e6e7a6dcfe01283a5a296a50e32dac815f47ecf8c2f3b6eed7dec730480420ae73054f7c3c8645e4da4dda0919a444e8c5d37192406889aca37b94920e9a22704e29d243618166d0964f24a4e813707c5e0f9b502c843c2fbe274200b6f16d54781a7aeadf9c7cd12600d09d1e93429c1de5239a1341861418646a862b119b743d4acd11045b482718fcbb8ec7a99ea73f2460326e6359eb8c917d95ea95bf60ae7a7f658d00ffb9b9e418dc12438346317c632909d5bd463c991ca81d3121c4c8b4aff786fd61f4ba0093ab9a6f9d920ed850eba5686a4fadc101bd1751f069c29e22e21911f2ffd5579b4a9be23664605024a2f3d6216105a4b4db30b95750c5e44dcebd028e1c24353bf428d8a878e54206180c4966c83ce7c3c42cc900dee8385f30c2036f343cad673fb5d0e1d0fe6da95d5c12b877b190ad37b3bb02a75de28ceb8bcf192dd17b8fdd66561041adf06133168b22788e055bf5b7175d9269913adf7120daee42dce6e2dbeef91bcfc501242100065b623a309173c2418ed0608e8687627c88441bc5c093ab1fe67fcd8b2c738bec0c656ff5db5fc08693e465c516f8cc9d17e2b1d4263178ee77b42452ca550051005000d55ada9181b6ccf5b2d4daea799c07b6521b8bccb17861594bdfd20ad2bec5b936b89629c3519316c77d6d813c56ad9ac0c7729eebe76ba42da542783e194fa30178b66a3b313295866235068b915412970e16f304a35269d4f095a2d6fc23fbe8eb3c7753fff0a8531feee2157910fc7c3feb071714c8bb55b94b4870b1979803fc13a673ebbd2f78d7abab413a9901652495159087abafad7e08463dd8679be7a22f4b43013f5ebc12373ee5fe38c53fe394eaf1ee1cef17c9317cfe9cdf716bd4df00041c72761464fb689ecc720eb03cbb8951eed1b7da777fecf23385e2d7338868a4e750146595ce21b98b1e223c224a2322523530738617f525e62bd33f4abf01cae4a148960ff20b129073225414304c8a8dbbacd339b0c958fc89c7a63f895da7ca5ff83254f8c7227ac4db83bcaa328145cfae9ef047280e948c377c44719dff149e028100a831654523a220494a0a190e8108418a21ca8c8c888888d4c603c2f92cd13aa76844926841494159951a73807d48f95cd017e254b063389528c57779c0fa916c378bfd6fad385eb35460e6d19e816b7783227f27df0edd2fd818e56bf9791098ac55d6fdd3711299ad9ac2e2e067d1d98a79a79c199b719524ed41cb58cf0a6b0a4f00889f34896a76e04d52a3ca26791bc938ccbbcddc51af7df555aaa3497a517869caec03b72eb082676d236946fd2c179f89cf4b5336c96b7d86e98f4aeab0449e34ff72deaa18d6249fb36d99a4a6d226d3e224aa8cd11a88745c4af25325fb12998a0114cd8059ff4e08f4ea6f961bbc7495e270ff260576fbfd68d55df825657ae0e6bd5e11f9f06c2aa81954ede147fa776d2b13aaa9c97e5a203d86d64fafecc71a33d509b03b42bc5addb90ea02cec613f456a51806bd7e23921628d4bee21df3ac45eda280852c51d70a07e14044daf8432a6a7160cd0e854a48716a0ecf2060fe2ea0f511e62dde6943863f21193bbb76d63ac4d4d83482a0508e1188bc49c6fd84173d6675605b7c4d4dc94821bacfc5895e9413fbd457b34073807b62faad6193e27bacbda374905a7948407515e94882fb277e034ed01777dc30f12816af52abc2f08206de2c018fae7e9f69ff225a433afd757f98d2f1931d2d8ce15231323ee0f8aad9b288bace9d3f780ef1a74806a5d2be032c4142313fefb03b2cb34febc4f714d8d53f4fc4f8a2bdb938c9270085b45a5e4150b6f86aec1d92482a406ecb8460165cd41db4986d57d3be6c3c8e85515a0cf2fdae3c7938bba87702801520e3b5981fd57be7ca7e4a834ca31bde94f6e2753cb05c2f916ae5c16e1cee16d73220f0c19be48421804fa6c4bc60bab04d9a41a371adcc7372add3e8d336b9f276cdad3f22e2e15eeb6501499047c2a00e6708027804b21076acc006455da6e44722383c8dd229bc86e5921b13049bb89ae636bdba924aa2cd8d216850071006e00eb6a48adb0cc3ec7f2d8b136dce6b853917d45fe140a6a29a60e2bb6f6aa99bbf52ba0a12ab7d4e2b9a87b225afa9f957ebc6647ce12976467072248682020c0410287050e0b10443038f41ecc03088883380708c1604483080508581dacd161e9c97ee0d38612091a0038fc85c2e8011399905817b090f09a36b094a21d18066408d030209bb75c25ac1889ed1bc49e89ad4ec3122e8825f47cb4fc97575a521aac2c556ea1cc50a1dc723f0f3737a91a51d5b61af549056a1f9ddb96c7e1e563a95489afa09652aac40b4c46b24db63ab7f33417989615c4c826fa91f9b264ad53adb1f79a15476267b496ac94bab9b65c30fead05873522f43dc38989f59e49dd4ffaeb92d6b8fde3fdb34af9bb4f9a534a83d98b63d2409dc82e7d8b4f4229e666c3ff6e956f153ec55778ff3af3ee6d425956af50dd7a86e242e595992c5793792aafc8936712b161de529f2ef7541aa8eeb73633311fb2dbb576c72e4fb14b8c01cddcead0c42413d7c4268527a4cc164cc58bdd7bfdb7c1c872abf6835a0d7e39505522f4cb9cc69467e357ff49f95d3e64cc224627cb681f8bab88e2842a457a7a0dfc0251993321759369a0f7e15c1cc8d8def79498ab89f88a4f16e73969e1be5ae551fa5ae9712c37241957490c8200a8414dc9489282a490760351100432c6983bdbdfb2e56cb2b3ffff1d211e3897a8d35f681218fcbe13603070cfffd0bda2442aac801a70b99879ce758401f81ff25c85d926cf49590ac23b26e8fbdedd080f14efc8d4ef8060e01c8a80327ff3bb75957ccdb68e7c77be021e72f7a37bb804913b14cd9164ca02e807183397e068841571cab8f95d33a30cce989687a70492815923f0fe6c9eb68addffcea2042c6451e30989d60b5310a275a17d08f04e2414681c5142b2f7235da59e00048f298d692506d81c92314845b92889153ce45b833820d02a4f8a0e00a07597f574648320139ee3c4ae9f4be00a6636a101b258e20e8fce321a630d0642e96a0f0fc6e9fd3256c231b95949679b95b10f702a15ad3836d65983df08c40eaf41dec960579c97ab741237edf0d28dc65a29391d14119c0c52bf1378a826a26f9965500bfec1e6a6c17fc84ad8b8f1108a696105bf88cf2fc1a3acffcf7a81e31368ef3937991348bc2686946039e2acfa8937e636859354a6987a32c0dd498444ad4831edbbd17b9b9f615e93b43b78b0c5e60baa6d19c90956bcc78e6319c440122d05062dfcffb4b5932e0579d332ae94859eb7d018d676f1683e2dcfac1e1755a5a57707af4e693ec807a9e0e0c90fbca590373f3441ddabbbe0cfaf54b8971796b34e7343426003f1b027c5ab57601d0b6fa0202411e1e85372512f59c5db6512b50242dfa3132ff22f6970f45ce625e0373c0b8aa23e376c67f6a8380a0c6624d1b16409c98d4fbd64be4a34018f3c4f2877f5a44b77607b3237497fd22d303d6c2ddaa98ed06683540af7aa79249dee24d5e23094e35b4a3f5ba1be935432792129adc799983f8e7bacc30c94cb534001b6474f030e88a18117e734ff4791fb601bd883f93090940bd62b881ef913d3406f3120bad1bee279637241d0c044b3a64fb8d7ed01cf8724d8961c319e59bfdb26ca5a718fc2db54f3d37de444082eca621f457e4d52dacb16ba56a9d62dedf7514679e82c99421d8ef826c9a1c30878c82bbc46c43554ed445444ce84b189f6d78c4f88c1ad8887a176f326520c0f2b2f035ac32a6d9359c5492a17900d2729c5890a9e95e10305ed82aefe2c317bf17197bc5258c35a16996d30fef106393c2f7b2c783f617777e4bc394e028184e09c5b47e6b3557e01944400c6358014a0a51dc49a257bbfb99468d2a1254dffffffdf88790078007d00cfd63c10a0cc18cd586d1b5305c523bc446d39afb53d36c4c33a6d38ea8845b4335be96c69ae62caff9782d6af42889c0a71197c2f43aaca6df92d2b10e075577d7ab58ce4a887c513cbe282e506ae115483427ad816a0ff71ec554c03661a331d94918b28a51495c613467ea2f2bfd7ab355a0e24cfa410019dbd7b7b778bd306db2ae57573dea5dd9dd181775af1d3b91f2d70dec1389556717e66a9febf05f696f98a7e7d64d7e6bbbbc6dc92b1055f591acf1b690a346e18cd59f19468d060808630630652ccd8bcc9ffc3e1c3246ea2c3a4cee33ecc32c3d8e2de2c85110cd08ff5974fc782146643967675b2ac03c99b168c240c2a4248b839229456b520424be90e847851535089e00b82b042b082092b538540401882b0926523f6f0d6d1afd20b8ae8f89856f357e92747c4812b68e6bf0cfe4ff0e74fb7b25ab59241b0e7189f52f0acb2746ecf59c3399ec302e32062681b4e1f3e4b15f536e3a475eaffff7c04931d83e2e0f41406c1227e3dbeb9d6b8ba6adec4f04d98aa16a26ae8f1e566f9272778d2f7a7950aff93e1d0abeb98d68b15e8dd9c9f3091161f7d9ac927a625576293053e6151203b366ae4437e4f9190c94d472a23f5fae2f390a17ff7b996fd4a82685b330b223a599ee96bd9c74fb30dffa06c56a09518e9bcae2e738d8400a81244db511a03622820364972244a83dafd0ca2cdebfbadc9af6383bb54a5784992007d2a536a0a1801bf4cf327548ed1c791915a57fb5ba8031a87d80d2128437c1ed4101155485bd6ec9ebe85d9a4315355e5cc3f79274af20ee233456c173054a3409a29227c486d36b41b7c8d6b00bf19fa05c03eb24d406e1fca63ac9503e424ac96ee004390005cc2e3e89d8b7a0569e6f960b6143ef89a3eba7c5171be32343a9d30b21b48df005a20824c22969411f3741347a3d8abf8137c4582c5b1a5868241c50f2cc63e755f60a9681ba82ecd979ed743e8159916026b366d25baef25136d61fd611f1705cd6f42a0f38f6230984716e540bc415b2b78d8649aa55a20fc4de557d51861ed7b0d911507b4ce5e2d8491350984f1400aa90740d438b45265f26bbfbb193486249e542d687187a77c8316f0f5520470d15c98e24c51a4c18e95710381a6bab6ea74c878fd9e0700223d7fac98150e628e75002cd9353912256021297f49a58b017549cc6189633b6a0f832545ed4828305e667f4bcd0ab3f506feb90c5b133097f0154ed2005214d4a5ab0b158111f5778bfa0fd50992126914828fd242b55d2420ce6c22705c872ec49e2b190f7c24622c8fb971f2eaa89aa61411d5152eeb15b9bb163751d8ee8e564c19e5fa0044f3b6949dc35832b6b76eb96fa10b668f823a5b18f0f0c69f2461ae0264a95740fe135482d421f1c2431bbb0b3c11ebf2b07f86e7d990589f4197f48a0147820df2be7aeedf3d17832f51371a100828a6c2dd943a5bdac277e6d7376147f23c0ee54b29202ad4aa6d5a05d03a5c0ae2c674ac88d74c8ef6150511baf7d6e74c250c44075b76c92198304c50c72a5dcbe2cc4ec6b0033bd4350d6f6d06f34db9e66685a8e6fe51f1147c33b707b7774fc26d63cb71c0b86295c731a97d300e0564c9cd61c17231820515a274040182de26d33b957b750e66b8e747b8e1f2bc2ec0eb1d1a71807c90e004fa0705ec84095481455b30cbf46ca4d8d88591a05bb6098270b5cfa29da8a8f057207b61e350685030c10d2f3bf7366e536a6b1250afd68c60922d3cd5b147239042767aaf4cfd0c18a1b0e1a940e415c628c0f8f916074aa1d12a5d25aafd5070d03e6c3529c7aa796ce450d9d6e34f271f8310e3d2c95dca3948dd80217202b1515c836e9a4d3519588ee9a75e6523b8bf0480fe3df9e39e838d5be34362c8e9e2fb6dd385ab5dd7cfefe76ec10e23c54b3d97e17ed180cda4220cfbc53d4aaff11ead7043a57eb403e25c4695da6b40cc3816281ffff0eb15e95a8f57fc336f1879408542d5ee9b5260f34caeeabec81579eeb4874f554782a8a1460f3d0415598a6d25065b3e79aa9073db9d099093899dea3e7d723584294668426f0be25263beacf99d6dbca4ef1be2dd8cedc2e3f951f067d08765742c98a1a46d4169be9618660d7f32038f7dc2383d1ccaa62d0c8cde003afbebe093b45cb029f83d40cbf27b1d9c740f83b35e8295b8f2280a1d072aa0cf3ae0c184b93750600e29c72962b54d13b1da5eb936c8117ee908971da1291a31bdd4c96b6016e80966cbe33f49bbedbc7cdad77fac4e90161af43124913678f718af26a989ba0481dae117270ec52fca62234a3f58f7f3b2cd2481347d62985d651d162c44af30ad410b16393fa0db0ac4983428e7bee9f0dc238bec3c798cf5681592b691967c3294d381365f64835a450dd2213b5d30d42a2f9ca1b2288fb5537c98b1b89962197022d4f63014f25eb93f034bf2c34aaa05a058d57868b3e8b871d652198bf5ac76eb8568af02e60c4c9b69be2c3085800325fbdc12454b294ed730eac8b46e522e6a8a0385df96d245760100510e8c017e4c94c204e7b3e948ca757841b454665b78d4d3e59782f341272e569511caccc62b788ecdb24713e73f1accc4b5256b921706b02eecbd2495cf182640356acb4cdd66d9511ced77b8f0d26884181efd16f62ea2a30da0bd80403ce275647024bfa0029541742f02d68812386bd3176ce40990af069af8669eb1d41ede5260c09c3cbcced54c731919caeaa3199b7d9a01e9a8a6cbf8ceb81a7d2c61acf1cc0010628724b4e7e0c1e30884d3b0b3170b6f3a03cd56750570142483e4c55402587805aecfaf726d7a82c1eb450ffac11f2b5fbd5f515c8fe43cebc02b02544147bde064cf37cc14f61979d397c415e06ba2bb08bf797a5d62bc9b9ca208416c213d26078d2113a17f995060562c7a654737ff776ad2f84d34a1611871b48a854dd0872e4c52e57d16db1107f5ff6e3430585f01cee46f7bc139318cc321937dd414c862f7484ed09dfdd942ac0349dab1c324e194b40207b40eb602243f00c7a85d5c005c005b00fd6aa9572ab5caa1bcb732bb812115646f638d84abe1d8fc6a57ada2ab4ae57235d0941d3154882a7b1de5db44a54a24437334bfa941a152cb97112b82692325b954fb7bbe90b85a856ad5ae544d0a770db489668d7797ec10ac1d06797af0b556e69c93e9e674abc7a1ad174767a32edd6684b90fabad61f42ed3e8aa92bf67a219ddcf9affc12f4f88d26fb0c8a8955a4c7327488771f0fcdee4e5a26b49b87e85c6b90a2f5150f1601ec84830f6010147a4590b2ee501c41ab31ef7a259ddd3f05668789ea756ad72356190203a3141b4db704bd9524d69dc77f93e4f60faf57e83baaf99bbe319931e4ba7f5528a1d111e4d42b052dd9bf6b19445b2abaada68535bea2daa2c3dd24cd45d380e4c43ec158a48fa9ac87189e5e93797ece08ea3d9752038205b77c0cf030ec318c6a0c3b22c3886f44fc6906f8a8ee08fb2617c3fea9beb135e79bf8412be5c07e557ffefb4f29f7fd305be4eabd6b38216d165a822e87fae8eb75996bb97a5e9018400a8825c1d670c62301c9f0439104635e70362bd6d0360abab68a7ff5d30a56a767b63607a96a42aa647289886fdc88abcb100c2c98f7d8569629c0c9ee31334648ddf2b9718c4208770e0ec9d0f6a76e1062158085620b421fea8fba66ed2530cf7cf090fee1f20414e21c4bdc207c737afdded50a6c79f85887dcd95a46cfa5ec72d34043f4853e1e2c5b906f9e4d41f9dc3653aa8d50ed0fd2f385854160d23daf9d0e4552b49463e5b4565b842a33e07d5faa648081a8a23b51d32eff82fa2dc319c189a3364ed91221dd8e903421ce0f9b0fcbc681ad49feb84e6dce25907a9d0a22e8c1648d9b10a26c65c4de36b45561e7817e9e79e4a5064e235260b2b1d935b6b40e6731288ad495afe64ce4ef7cea6a723e1429a00fc49c09d8bb2a240fcc9f46c09d31f6999019c77626214bd20817e88cf0ee78fb4b7c830a3634dc968e58e7b4e265bfae398fe2c464f8dbceefb66c0077f592eb408bf4072fafb94447d5dab4d27ec4db6e216dcefc11392c41417a765ff43f883c7b81d6c11d256804ae6f7024a0559c0ed9a71d3aff12c2c1bd8e56b70179b81d68e13f110a77d59f5230d5f8e7c958fea5fdecc0069f663978aa8ee2603bf2d73a3c9958dc5412f736b96119f191c95309f5dcf38af92cd85da961210f618becd178c2c0fce6c18460f8e41d138c86e1c786b1a6b50c46f6228665c48ceab4082e8d6b69043b5420d3f6727b3f54f3f827a330523e6accce0eaf0b7b87965501049e76248f564b91a582cdd15c1aadf457db31c7cfbd59d97493ce23238138722f0ef037db9f8d5edb64438e5e3d6af61f53dc0c576e4cb54c12877ea298ecd3b59902441a09c676e888e705aaa94a6c09aa171e6cf8b3160420919bf859e7c0f4c26304831c881670c864491abccab23bbfd9ddece0f20b47d7ce2060d94ad27b28bc29e1f61d4383ca18368051c072d83cb3282dcd38ddc119d6803148bff7bc57fea00865aa7aa11fe9203cf8539f6ab83910b8038fe19b54a66e606b16fe4b21b01cecb7433fb881980e482313439c8d70cdcd83603e11d93ddc2fa14a3a8f80052d5d7e8ceca1f4e29904f4508092c04a1222174e5cdd7250326952b4000a05ff4c87cb3e13b43a9a30ebea2703239de55d4805668185e7d9fc4210a149d88f459c8a6ac1cb0a59ebab71bdbdf4bd5f0c3d23b92010ac29658955e7e21e0bc8d3201e573544d38d2750930fe136a8f7a84e01e8979a32b2f88d7b9db89fb0b561e086ef06af319465a083040d1abb6310705f9b470b182ec1cc3009c5699460e6f9d45333e86b90637bb7afa6267e1f62d62aa83a0d0af60a02fee2bbe0ec3aaafaab893b29a8075e13f20efe2932e70d7bc4576b8d10b2d67f1ea87f050c49a160b5bf40c22d5c7aaae73d74009208f0947a6edb6be05a7d4aa15dc09f4fa4d03ca274d57c3661726c60e03f8fd9a8107655f4706546241b4712de726cb451ceaa77a6d15c1fd73ef1416afed582a68960b4ef117a724931dec82915c3330341f49da71b3daf667b0c08a23528ef70cd629a0cf9482d1702b578370a75b9ce15edb60a5106800539b7caa87fb33eb0853ed943a2a57bed40d5b544d22ff30bcdbc04b30682ae43fd8fde2aa0161701f0b0d4b7bebae7e16b9c08164b5d02c79cd87e84635baf2429a07f34865f1916ac9b3d844b7ac99d36cc0f1c1d2b7b7f4c766a59a3647d5f34fd0bf26b3d8bda4916af5d8242a674261a3641dab60e8ad0649f73a59a9d6c163720e40ab9e826da02c9d9a2d1942791f876d2a27486040a9e555c424501703c1c590d9c67abd7ebc9bdc7ed9081b849b149eb428b1d102b113e4ab05a466e9b2b5fbb900445b002eb3df9d5eefae88da76474e32ecc82b7544bdfc39a50ed0053cc73f66be2b60f00c5c66d02c2118f1ef400c57e32b1e7af3051303b0e697cdbc1e167eeddc71220589e9a9b3542fed133814dc0197884d074f9575b89978db2cf5741e9014a619643c361ee27224b829adf6ef2437e2324990a7c36648928fce34bddbce98330851acac870252f52880e2ee4b4fe0e66dafb5f9c6eae7d6af875dc90b019e4cc84670c01501c00515c53b729e0ef5cccc7fe06c1cab04bc43a561645080d66d77e096c57f58f4ea035096f3931737a44e4c9888699e2d5b9f1dd9e16f49dd0e440be3d9fbbd36639917f344b8428d119d2cbf220173eefe3b702a76d9e93084feee976fd6d000450570992713308e59df54beecc5158f77f4ab6eb30ad6581bd6389478bd0c894555a86d66565084bf458454acdd44099e2a021603843300e435747465767977726277656b776c777765656c6e7269707769666c646c65676b6e6e747273776f6c6677776c6b6c7279636b73747479797965796f75617a7a6f6fa00510a7ae04b205b7bc06c2c808d0d6dbe1e907f0f6fd040106090610061603191f05242b3136393f464c51565d636a70767c810384898e93969907a0a5aaafb6bbc003c3c8cd06d3d8dd07e404e8edf3fa010706070c1219260530353b4008484e07555b626970037305787f858a9196049aa0a4a9ae03b1b6bbbf06c507ccd2d8dd03e008e8eef5f8fe05080a0810161c2304272d33084249055404585e62686f76057b80858990959ca0a408acb1b603b9c0c7cb06d1d7dde0e6edf304f705fc020908050d041117071e24282e05393f4b4f545b5f656b72787f0382868a9505a5aaafc5cacfd606dc04e0e4e9eef2f6fafe020a070b1006161c22262c32033538070544494e535863696e74797e08868c9297079ea3a8aeb3b9c0c504c9cdd9dfe5ebf008fb04ff050b0a040e07151a1f0625292d31353b3f034205474d52585d63690770777e038187048b0590969b9fa3a7adb3b903bc07c305c808d0d6dce1e804ecf3f9ff050c0c1219051e23082b31363d4348044c51565c60666b0772777c83898f969da2a7ac08b4bac104c5cacfd3dadee2e7ec06f2f7fd020d070d0411161a1f24292e3237073e0644494e595f63676e737980848b90969da4abb208bac1c9d0d804dce0ea05eff3f707fe020e0e07141a20262b31363c4104454a4f555a5f646a6f0473077a7f848a8e93999e07a5aab0b7bdc203c5cc04d0d7da08e2e9f0f705fc030f09040d051203151b1f242a3034083c4003434753596167076e767e04828993abb1be04c8ced505dae0e608eef4fa04fe05100c12181f252b3204363d0542464c50565d646b7108797f04838b939a9eadb4bc06c2c8cf05d4da03e504e9f0f6fc0211040b0f15191e2429073034393e43484d51565a5e036165696d067377057c8085078c91969b9fa406aaaeb2b607bdc4c8ccd306d903dc05e1e7ecf108f907080f17051c04202c333940464d0552585d0360676e737980868c93989ea4aab0b6bbc1c608cedf03e2e7ecf3f8fd06031308070f06151c22082a042e333e454b535960666d757c8305888d049106979da3a907b0b6bdc305c803cbd2d804dce3e7f1f5fafe0604140a030d05120719041d24278400a8a2c1d770526de2a094a6e9e28bc8f80170058e1106048a69aab6c83281ad7176bfc000d2bb8f7bb9e97a25cd59dbbd0645a2ef20986307bb54df881dbe80515b2dcbbb313e70870e3d8e9ecae0a6ba789393bfe630e405b9c6c3e3d150bb30c5dd1e0eda8f49969ac319c86133488920fda4b0b371772c25cf389e570664a493e93711b5015de45963640a82b2784df665ec12758052b08ae918d98d20d46b6a708cb75eb6a343c7a679d19d7ad64cb4b8c8e96ffcddb835860a5967ce022711288c087e6899172ba65f5a3bf0c6d1295c8dc836d9df27ecd2cec05cee8566026665e31ea9b0ef3784d50d2b4edda34ce2363747e3fab775c5c59c6da3fb0ca59c36ecf6cc59fd21d3b8c3d8cb59ce03e8adad3fae78cf1081601a2944161fede7b33fa7f5db76b66df44e0eee4be6315775d720feb4118e1396db1b27e94ad79cf90675246aa61a91c96ebc4d2729c61963a86c913b99964b56de93070876163203df32234f351bc1ac263187056ce918076d24c24573542600b38d2e20c28891b522ab5c43dfbeb44ac39b785fb957e876d6eb30539fb5f4b2499a0de3135a58f229b32c6c1b06d6c9202b0d3a0b9df031b2254616f95c37cbd3a1a6d3f9a60456c4146fd5066827649a3267ddb2c9fd452634d2097b5e5437c4263589a6781fb73317ddf1c3b8c03e652fc1e7353f271f08d8417e6f030ea5fb031dc5621354f7dead9d5b6aec18b538af15a896ac44de2c7d02701884eb967cef71a0f6bfdd1edf54ae7e36439458dd452bb3f119615746d86c1168f60af6426f98d8b29736a0353d50941dac13a92ae82e71a650234215681906f06b1ced382be6f141eddbf2f9b076cd663e3950842941f3c53caeae3964fc0367120cdc7fad1b1568c58f6937e929798d14ecd98ef65f81807e2b68479c12015a28ab288c80dbe17a3b700b0812c2aaab15d6a07385da7aafcda14b681d3005ae96c8825a0aace3b183589ad93e68d82ac8a18256e563a19cc39527c8b1cb2a7a00060af8f18ae50b7333d2b4dd3866414bb0e943727f695ad0e6260c15b4bc8785209bd5ceaed86b4ea22473c9fae953d80adbb8fe02048200ea91c023381078ae0ed8816f51bc02b32ddaa62ab1980336d0434f8b6d057201f46ecdf4b9a7efe965a75992caa6ac2c3a0617fd5c44174c2629fd4a02310236022e02366665e47fc49728261e0211ccf107a3c59ede0f619786b3dbd2305458dabaa2aabf5ba927eb9d840ff9fca59d9a741414cd182f9a58ac507962377a25898740046fdc335ea83891e7a1030e778fc316c294aca8fe9ebd1ab89992ec2afec3a3b443fa26f47b96d91c400909a576c4171185f8d8616346df9e898f57e7e7e0dcc869e1fa0259040fa18155823d8f6a5ab291aa77904f2da7cd1a4f9bf36f72c1ac9c9cf278372639424408a1a00e1b7e7c2748e0d5a1dd36a065f8e2f25a56606ef6362000a84780271d0d4dd3896f72c1bcbc27211fbd23a3a28d68583818083803c60a14775e080fbeee9f71b40c66490eb6ac167475acd413017bc0af0a79203c6967cea81dea89a4898532127fc278c49090c70dbb0f2f81578776530b97fd095f5a555d5b8b5f9b06d44742bf07a9267d33a6cbcf6259051277645cf4470e09077500ca4851e2c6b39bf3e8370e6a62fc08cc4103ac054708a08e90fe1090f7f947be7454d483d69f9c61b8e097943695c726498e14f1863f72fcc5f8294818d1a57ddcddb6263eab3001cc0bab0a5cefb9d477624aaa527dbe919fe3e65e6366cc26978fe54a951af2914912237f08a1608ebfba8f45809aee5c5e0b978d8171557db9753ef5644dfa443fbe27c05d3a2a9a664c174c8fa57a47715c82a44614e263070ee8c7e7f544dcd9e6bf615c150bdbba5a9060afb51e7b755a422a0af2b1ab3a771c37a09e9d64be175f644b4e796c544c3c2c1c0cac55e879127876e7f24d4eabc3fe8cac082ffafa8d2060ee8dbd3a311d1101fd7fdd99f3e606fdec1cb309652929056792e423da4380f4d86143c60bbe14b509111eeeb93837321a8632b2b07b8b9b953a504009a9c80bf9dc503bbef40da867a7982e3f8b954829b723a37da050d0077ebf3b0f849d5c9cdb1a1a060b131e34a8b11674b5524f36010145ffe7c0c74b6d38a19e9d61349ff0c8ffd8a858270ef9e1077500c668b19787dfa5dfee0d696715c4c0fc032e2b5b01f74f5d9b9890aad4bbc7b69f74e6fc366a3c39c178d9e2b5585699f2a4d15e44342c1c0cfc8031f8529410e1812eae7c93d3c2666411ec075c593503b0efe6514e4b4642bfc7404ddae69313ff925929f9a130594434b48108e2a081bbd8abf544d8d972e60d6867142278655175f3eb00a35ba8fec16def348d23bac69333cccd458be5242414c72548100d7fdc3b6efcd57eb60b1cc588bb7499ecc7b5860b4d78832b2a6f2e75a06e1a700708b27b9abc1c3cd44ec3b999692909a571b148105c30070d1836df891177e937728131302eab3b41178b3f31fda3222a80fb2eb033e74da81a336436b75cd656221f1b17130d0907710012f02848fc0f74679cc3386c9bf90a121e68557d75290f452029c04db57d7e4d601a27f4f39709d325f372b2a6f2d8b8f88b08f9c123c79f5f9f8a13791fe8cededc46aed3ce284870b055f5cda30ce04a4742006eeb14ce67f36986ccfd658b164bca3fe54993258b89f71042dfa3de514386ddb75702c4a78b6babc963f1198530ffc57595a09bada59eac77d22702e2b16b396fd82c79305d0272632d76ffeee822b000638caae81086d355bff1949a86d3b139563b352eb3a1c36868345a9c168fd1e826b52915dddd75f106f416ad960ec183764662d40546a2289b4d9fcd3c53ea79675a95e59566c3aa7bdb224bbfc999b3c6677385b1180bfd859633cb91afaeb07ca64213bed2d4decad637b61db39fc76a65d1152a669e05f3d24a641447df782b261e16f608fc807e7d2b4ee4e1ddd1a1cbf686f1c7504616f6608b8102eff69ef2514f059690aa1fa8c7ce75e4b861f379a6fe5fec2d5f12f2df4b14b39e7050875d63068c1528fe08101dd2706ee4340c6562ffab2bab0acccdda56a49b084036ab63cb11fd2cb399694939c549e36291203d7200d6327e8bbd127ec407ba73992c3623fb60779796bfa2fa6eb1d7da00d3d1d00de0dbd8291c36f8d46666a56414278c476c22406e41dc068ddfc7c2ef9918617fa08b6b238b2f54b8253868e0b3aac0fad4d549e93622aa833e3ee5494743d59c29b3a9596bc129a93c322a22fac3203e0201fdea3e3c451e880e680fd746fe1acc6a0a605d59f7027cf7bad4d3674aaa06d93dfe23f0a5a3a26a6a3464bc645e4e427e278d8b460e6f203d026fd83462b8588122ef83b79b3b97d9d2ec0c666311bebab0ea2aaf60cfa30cfca523a2fb0797aa4be188aaa9d194f9827925f2899223518238fe60f079152646dccdc171a8d7c265625f5c515c044fd6247ce8078ff2a4df0de8f5ca05f392924a1dc571099222417cd83b6af8e12cbe9e080fa2c37d2eb38dc3df82185857adc520744ee71f003a3e75e3b1d80e1d46b361af506872e8f0580dabb3f31387c7f14e6ccc8bcb4b2bcce52516b67005c1baa0ca7a85c2767083a343db731e22e469ec389bd5d36e6b595bcc4d58334d95d0374fcd109a51dc90298102551b4d631449866692563a0644855569a654ed3a0581b266f84424eeed328696a049076f706d5d224019aa66f5b460e2383356ea5d9881f5b003d6c9f4e407b778484a240d339fd49a78e5a4289aa6b4986c50f53bc77ba1c1838d51a5333d0af39d0c4643337bc8f07cfb7a8e1b3930d59f53e5ab0b250ad38830016a6ea2e00f726a8bcef00b310dc2b23ae039c73d3ab60ed6465913a0c56030180c067fbf5fefb7fbddbfdceff6ab7fb5dffc0bf67ebd5e6fd7bb7bb9dead57f76abdb917dcfd76bddd6e77ef72bbdbaeded576f32e78ffeedebdbbef3b77dfeefaaeddf31dccfd72bddc2e77e772b95baeced572732e78fbdd7ab7ddedbee56eb75b7dabdde65bb0fed5bd7a57df75aebed5755dabe73a58fbd57ab55dedaee56ab75a5dabd5e65a70fecdbd7937df736ebecdf55c9be7395a0e37a5da0d95e5deb269b396f83c86de4a9bc1beb6c65b5a4d5f5dab86166391d9b0cce6b1b4f355811aaba3f341e80a755663f30a3b9b52eb90cae6353771d9aae51546a0c6a9bc18a6d40e6967f18e058fd9cc53693c6f65693a0d56a625a5015e14f42e014948474601aa4544433c17f2fa684a9de39b5a13a059cde970aead13a20601fdc8590b75cca6d487ffa813a26e3222921424a53a1d93081392c81a5434a3c0b60ef315411ce4223222224949490aca29a7920e8047ce055cce1c72877195e0dcca53f5d7c5a3cbfeccf2f21444e6315e43b9c455bc8c0bcbec71250edc1569bac80c8138a057be6d3ce0ca0d26ba1f49965cff22e664f8420d459023af82f0f892b8e085259041277fe79f555a03bb52d75949248eebf9f4806eec2ae447eba675f185421f0f4127706e3fcb5c7c32b77b175d278f990d923d0eeb9237a69145a1f0764a37383153b3f264025cf93753ddb1ba9891beb75c0e9b3c177ca1543702903bf4c345bbe63975b1d3e54a8f42e9298ce0192d8e4c2789a99d0f640e439a2688317ed78037e763a62df098673c2c4b674174893cee6d522c72e079879c396d567d3c533beac4078270b20d366f787997b29dc11feb4ac4d019285105a35a94b88c68f9e638cb76145a6edb7d8f4bce18dd02928fcfb9e12aeb4ee3bc80032ed556e46ff9b90fb3d17375b9dfe9c88e7119d3e4e7fea3bf70637b599d60392280e073c7cb8e86665a101081181784f883ebf68e3d1f6aa32ebd76e6681f6dfe083307753159ab32f848f4000bb7bfc3bf8d4f34f819fdd2697a3aa1a9fda56654fdeafe11348d2725fd5ea69d2522bda2d9bccb97e62eb975b3c3962f64efb83cf98b49f7c72b310e1da4c89350e99edc04e7b6dd4ed4e6e660fe758b3956dea3a03908ad0e2084f15f16057409c21545bb0ff7d70d8c049774f030975918b8999f8b984822f00a3654730ee1c26e18c907d621c118880cfe8ecb427984eeba00c9bee25048a2db00bdd63ae575e95dc450be03c5aca58b75fba160b695268a68f0268051f3618d1eb7a28248b800a0479e3f168be84318649aa39fcfef6310b46c5acf3e0badf0c22341a30899360a917d5a4dd73286d248df78be6a4c4fe72743495287e01a7fa5528b3d989d1967967344db5d03fd97203e9e706342f59e1a472837c8c4add52136c489907271fc9a8bdd382c89b5ea10d59df3f0b6edc4b3fae6ea2691e7656977fbacf46d99a29ddf0d7374a7daf7f38eba1933dc63f3950b5e6d8278f6e0c3133708a2a9f36d569006a9548273b1d8a88f3e68415c6796e008cdac3bd1e0e369af00a283ca1f5785ee072b9bd5de437eb0b13aedd0668ffd53afd15a3c1521c9d3bc3704bda5d5678dff1de13ab23d801a79dbc079716b3dfef5274b632abb9d3fdeea8bf83d1b7d4ba1e2a855313ae0051cf63d1acb8e8ba4bf49e23570dfc55fbb7db9dbb2acdbf573d0f917920c996554d58cbcc7ab4651eda34e57fb0ca6f7570b9d8b7800fb5643bbd83f63156455923ef95161b1ace345f5f644a4a1ea0709076c5bdbfe9269c86d8393350d669273593fedf27d8f15510ecbcbf438bf77a1ae2dc226df1e96639a9077c304953fb47d74f6132839c027e4686e9ab3ef06b96972761d4ddec484205724c57c8865e05b22cc413183f0e3c5ae2248dacdd3e3405c5971c6b1f70e9f56f49555f3e19247181b75102f97b561feaee179378bb4bb5aebfc5d759ae92ffcaec53bf3686820df958c9062d93821d58c8a5fb711217798f0ebe672120db20227aca0161bdbedab72109b5798b9a0fd99bb3aa8cb981ac8edc4056366e4de2f9f952fe6b9d797f0ded080e834e13ffdd134664d822bcc43c99079c3cc36007c7b800b2ccf346e9d2d4d60e17592e028610897cdd5ffa95a310533db8c08d9351316792cfc324fbaa79c908d14c5763e1e0e74de1c8287f3f5ef087bb8f9a5b154df7552dfd65fef87a64a393d9dcf91bcfa4a7b1fcb27dd3a052ca4279654d5f875ae61a3c832873a721c70d3ed2f9e4936cba5fde53fd8a8d376fe979de97009a2bca07ae9b5a2e51c39cbeec29adb9bc833090e6abca773c3fafa6c7e318dd6eb8b2123cc4d5d00f5247ad9db3dbb398437efca8998ef804f66243bf80c4d8cf2c36cf6526e8f80de56a91895ffc116c9ea2086724d1a5b4e027d1bdf3c31a6db68e5eed0761d45d009d2dcfa620e7960fdccb7b8b770b113deda3b24e7f9050d5bf1ed2568883819cb705b74f7a1471d2effbd1c5a59ee3443cf45576de19be8990777647e104f06b89746e1406c885a851264a6db2a37db5615c4750b6c080d30c77dbdfed261464ea6f61d641496a2f8825a39d836b7d250ee999c348201fdc7eb642e69e2b01848113612ef879173b0ffc8ed900d40ca197c4b97e52cdc841548637a33569f9715e51e6d8ab88408cd94aa1f1318cdd8195d7f268bd798685af5fba380a6f72f38db2e6a14f091ceac5d96e9b6283ff389644ab7b5bb54b959607196d2aed2dd4785451d9e7d8f06b579a25d28f620cff2b66c66b071f93c38b6b7c023f129beaf394cfcc030ecb0ddca8ecf420db0db4d0e482130f5a1d03d7c8333d9013a9b59aa3ca86e8f4b3225cc608fbb53166b3a375ee314b376d698837bfb631832e5f454b2d0e6fd1a2bda3c9fbfb749ad5846b20d371bb1bf348dfc1fed787be90eb7871b8c4d46ddfa798b73b9b0fa7abf7a62ff65c91415f58d972327526e6f6744634bbaa6b9f9e2cfeab33ee6e4cd5ed6f285ac8ccc2d72366d7361c7e8705ba426ec3e7cce99816540cd5cfb9754fa09e427042e5008ce1e2e10685b3a000139bd9b281e59b0a04556b7f10dc87a610ea35af542f40749718580bbffff4371cb7f8c846c29530a391f8e1e8d1e3f1be745912630e5b687ca24f46b9be3ccc3f073fb007ad84352acf82dc6c2dab828c619105e7d921aa0bf7507b40350caf8845ab19fd309f2bb9925a72552e23d480cfa0f0b63ef01ea7767b831ec28e07468ce2e47ff31a3fb4bf85cdd8a8d3c5db436f85555caf6a4851bba004f179d8b43f887ad306ddc1d161ef42f7746fc81f359488df3a760820f9015e354cac5afa043b0035588e1177e84bed074eb6f7659fa08878d1732d641370eb17156d3d90fe0a5f89d0c76b96a2eaf7fe63e781b5134fc07205e5a93ceeef595ed5bd8004207978976e607d23d80c0938ee39ad4307a9894b57e157c1890a01eb2a9fb001c946adab59a270431f65ea280f0c84531cd80ccf077e4f09c90d4d1bd04ffea15ab295c0c31737faa11ba89dd103a95f88753313cdc000280aed02ef260fcea882ada4b8bb1343d6bfc40538162a7cd1a57f5085d2fba746bd4336c55d047145ceab1271b4334635fec5eb2897c980cdbae2178ea58203a3cd995d977c216e98f7ffa8889e4edc7623fdba4f948cc1e3d6dc99bcf36b0f327373675a69bd41f1da1d82836fd05342d7aae678d4362a2d032bc24d9e454c9d7a2f0f8121e15b70e38227f2adca1acfb60ebb3d468faa5a5047ab3cb05dd17c6859be075ef046a753405213c5606a513300ef1570a94388f9928f7f1b0ebb91fac34952414877b00b7198c20f13201841c52b5ec291c726a2e6a501e029c141db862cb9f91b9ecde5c189bf2274479031139cdd4a47016e1a0c735b3189755f4d0b2718e7d236d5569d81bc77ae6b0d57b9148ee5801fe169ef0fafcd8c2bfbe48e89f24004f56cb641fb90076c20b2a9e078f300ec2c8adfff644f90e0798ec449d5677d38dd3494b187e288cabdbe0cce0299218d07f2288b5101125bd8806b4134c052883b821200c1944021d37a6dafca0a7e046b7d80752a732d344577902b9ed8d2e0fc50cc87f1609197d2cd71a27bd72f327b699cfc035e15239610ee480ea79d83d784dcd19bfc2c2919ef032821b6a78f4dfa1e131661c79429daccd25958b6721a4a07fc0e50bd77e28cbdc28be7080e0981d2bb5ade00b5473a0fae18e1b72359ddee26b350a9b76ac837782c5d8549070b8cca793ded201ca81ad603503b529b79c62c02d9c0af9a5c3aa979911fc3e3af71b3b369e05ec6f3e540f9ed7c3c51d894775b190155b870e254ff4fb3bc34073f174484dc83577a21a9517c8dc4190f503dd82dc7358ca0b5790d96caec6be17c5c823e95078dd9d3f27f0c7e45b6d70d14f384e3c041f8c2fd4b1e689904cbb508692979133c5674c6a7a6b0ea2cf259efe8438b95d0238e92f6539f58de79ca682b8833c80c6cbbb3a9ecd814070de2ae7c507418da1e54c8c6d096a5536df6694cd6844d609c9777ab686c9ffd8d2ba9f51817f3545d4962330f8001e511f4171e66155f8959bdec241e015128fdf46af8caf4111fb7c34c0be4721e0eb0e2873a1bc1adaa6e651536844d4b6132e35190e2e644c2a1d1e496c8fd947c890062bf621af308bd3916454338b001fdee70b91adb6b6c06f620039d0115b67a045696bf8a25dd68786c7243b7a4dac93af2bd3fa01a023f6cc6ef0fbe628e9492b5fcf7961ea4ac4946f82ee6b8b1860f56a84b81b8d04a46e2b6163fb40a6f011a058c85e9ea86d4b0d999ac3075b3d4799b13543f71cb63055432521bd88144d361816136e2081a4261d82e4766a471ecc72c9df0af6fe94f198b7eaacd00f743278110a593429d7ed17e9eaa0056f8e38582d01fd674be4c2385cda8731e6bf78fdb0d31253b506a4c63fbeab74d7bf185a8a94119fd88508d94f8a845ea060ebd98a20d10f5a377f70030c67cd60f7055c003e9a939bc78544e1982144f7ac0ebe47d1aaf9b803729eb06ec56f496dfa63af998eb9c03bb67fc97cb8905cd21ef1dbe87e670f7654ea8f9b1d81710a1474fc133ed74f4303b483b9e1598a07b06d238cac76d1a8f6e56019b29c94fe3fe32c3300c35edfd5f2eb8d4774def723f363dc7c1c29d386db1941faa21a29eeb7377c869321be63407830193af4282b14070226eb8f37459d57a8cf69bf62f887013c3bc0831e57b560ebb73f3f3ad1431232025d09fa26884c4b2ae8d13949b61b85ce0e4d269431270698b78e2ad34fbafe1b2a026b082516b8969fda5da2c8d45db964f005603e9eb87ce689b8644fe6d9630b5155e091317af86f892a8e28c43d5287a2e70673d8338428f03b154ffe0be5d3d3f59079110f24b4e983e26d66a4f37fdcb0f11c4ce06821de200dc429e7c2a040e4a7061e34885053efc582e0f91401bd0196aa9f096574115a1a4e806ae78540c9fdcf5d9abda36ce545c0ea6a083cb85f467641374040762c3f2c6c632b48de4014c40b9bce5ec3c85847e942e393bc9eba1363579de9e56fe62d82f9aa6c19661e2b201de6378a5c002c52ef7c209729bc08da69862eca9c4058af090173dbd66af841de2a1f2a8dfc0f5dbe382af0fc8d85763b47aac0a70ac96db64c447713a4dc9c167e1dd0f2d31959c07d1b85223be7b8cab73840f73dc5549c4b3156bbb6a2798e9c582d61480e3fe412249b6d01fcda98193a4a2c0c270c303307665a701a0284cc850bba7ec901262d8b02c78316cc9f834bc9cb36f87300391c3d546655c7a13e39225016bd6a07c4cda848f1182d9acfb147eb6f07945ec886ac0f8303c23b017dfad40e3c07aec36cc8f7ddeebd5119c4932569eca158094f83d66e035525bd802b7ddbc7548f7d74448cdc6bd8f47e71027c2ac47e1f32be3c0dc41a1782d5ba7d5e18b90754a3cfe283c9939cd56d34236b3b7ec9ea559a0357e579cc144b5f1580e5f19a3e6c9eb2aa87728ca6a158416cd6a83b72ce9f9bfeb1a7f84935523bc970857773f4d35cb314fe3057c99ec9c5fd5fe001be68d7c167e40aba1b13290f3965e39e5c5e1f89da98c7689bd78b82e0578344ee7337fa6e3c97fa4910cd6f8d747b07742ddcc30d810db8079f718a91464c126140bfb9c6eaa0c6ca79c969c3d5731e2efd040b55345356d05f78029b7d0d74be1b8d180d63c28057a2bdb23327933c6d2fe88e20fcf835378e362309b4a721b3c5c045d4a0e92a91c1de25b1d43dd8e8f2867d680e2425cdb11018f178bb63be656ec6ab6080f4441a14f98e17c46f80cf6bc6b05d43d82b9a655ed0e919642b5b0525e5cbdad8cd219864e9bd2717627e78c4fd1ddf8c7fe173e3b4038478f21b4e28fc41105e4fca3bdc2d86aa9c4968c945e811ba8e1f60a721dee21d74b8f81c89617c6df48276f49d7a184680b6844f090e4a2be28fc29a34797256930523d1299e32351d0b222da369786ec474a2c9301878de1c469a4d7174cfe8011074292aa91e8cc1807392a5f8185d6b7aaa71cd719fec257bb0bc32668a4b22b8e0c7497cbf8aaced7730b1c2a30810fbba9fb60fbac0f35d76147d84a5d83f3a95f1575894b48c049f3af6978a3e60f565661c15dd74361ec96f3702f693062ec839601c7c92db0b5a77b082af59cd3a9314385e9a4a0680972a4ed0825f603db6048def752cf61d5866a5381a394e3319f2386903494ff289c4711d57b5bb8df91419b72d2be387b33054d288b33d7e0b51907e2a1ea1cb018862a470b23cd94970530ef0d54908e0ce4e7c3f681910a4cc43833f5e0c43886bc910e78f8a9e3e9bc5e6656574bd924fd2878df2eb66653ae7bbb0b64d4990f8ad27349c078ced030976fc311bb5e7a2fbf241230d6e8983f3ef6c08391104215fc000886e22c061fe4be57c22a56fe4bbc6a07740cc4b8e3420f8be6d50da450e11cda467ce2fa878f1e52b05768fa4570ffb00ec6e1e5078b916c1d6f2a2f2b846017696628f910779c1f24765cefdd305c1bfe8c8340e9498835802eb8e5a7efc0ea4061dcc4ae2253045bef190d8cf5074ff8271e717386b31ef04b3a70c82cf9491ba511b00f11d9b7ff311da9827e09a1dcb90f6a6272c9f2b74f1630d17f60cd9e021bb1c6d49a32a7eaae8a4353fc90fcb67bb278b79fc865881463075fc4b46eabe9577a672237e7ef95716240d66cad99f12a3cd45867bde65c7714693b2f5044c0c2143bd30fba0c537b281435d7d3b7383ec3714e90e68bd68e2f9c48fca56d8be6096b80a2d8ccea10391cb66fad83531904e96044f7bd95eb97122d3ee05b0f8317e3c3a11b1b9c78d69d55f1662b8940fc4db6c55e98b1787e8186b2bb4c7a191677890dd2d48c8cd3b4989eeb9e860d3c85dfbc71c5d9bc2ac81073a22b4a5e45e7d862c7063d0c47a074a7e5fc39333c7ac5473200de24f67853c1875f8a374153ed85b09ff40cc42130945f1564b7bef8589e6b1707d6a560214de430f4d3def76714d106afe8aa3f6416715900367625e8564ea4c535eb0754ce9b629999af6511aade98941236d28321fe1a5f0275062f8602a8497d228a8e5c0621f88220b878d70c231e4d56a205d4a7faab242834681e2413010f8dd2e6ea83a2a870c67f435f1a1af5acfb836a8771cfb7a145ca40d85c510ed83e5ca3c8635bbfd68817527860b5a282d71bb7823fc55b2910673d7f54392c09601816bf81a4da0b691c0889f317af92f6f5e5f0760e8efbe74f02434054ed35bf9af8c95cfd825d65be3fcbc0630112f359ad45c62823c08585bad05c19be3108be2250ca43e15a55e4795b9d26c5728f795e1961e3bfb072cd2da4157dc3e3485d84f68a163f62248b4d52e017505a9d3a7c003575fb9f5f9d88a9e3dc485d779326cf9d33ad7241a856aae7b7160e56e1766a76cb1410399f57bd40242dc4fd72885bb18fcfa0c4a34ec58b348cf3273fb40e6a2681ce33ebd452d51e73111fa1d2b4fdec616a71ff0aa9d0c77c597b051b4dd54b5f88220b8e7f1bd7bc29e13efba76f5670992b695b40a3eafd0b0ad408df81df2912febaa3a91381e1a8b1795f798bad439c3383eecb588bea4e4712f7257de20aed39bc8f2fc0d0872dfe36c78aef42bdfdbf4b66d7930d1163a4c203708abd5a23bc8ca066ad4fe81052db6140c21af04cbf243808b3cace79e9eb171f4d1a62a9d0b69e48bc8e13931182f8e48b8e1315504f9af82480da0488a6be189d896b307bccba858bb6d71e2313737365157dbd31e7ad89157b5fa68420c5d1ed0ea35b820915bada4bc968801b20e569b1d24c0024d3681b56729283a942f0ffffb01f8532dbf78805f365d04e5c939e010d6ac3788aec5b4c525e5a6dc76833fa928a60f960e3eec2e95830170fa5c4a481ce869eb752432ba0b28af2ed8e5ec9324ddd0550542ffc78f53478638a2d35ab1c84c6000745b1419f95548eccbc2b032079dd969ca2b1a413c6c4ae6736299f52e3d0f1a029208e74215d35f88247ad0cdcda69be2f1362e84e8df07809e5b4be541ba3eaf4359e75181297c8ccdc7c7f995f0025f2abc97c9ca1f878c8df898f90d585889d17b22f23e396acab6577b9ac22656790f8604272b8f7d9618b0e7fa01650b00a47a9c1b5ff4a468a9339110e2451921ff7413ca616815f917e3159d8092d2b980a1fba645468fc0f4657f85f270201e30e8c213707e67e9b8db9ccd4b5040f059c15a9c2e07156f30fb43d7f0a98a09d047a4a11c6292b7343ee920c0621a0bcc801edaeaf2966d610ebaf3738dd2a23716acda5cb0d8de8886d2bfe261843b89adf81f85bbeee484d7a31e84b93131a0131ecfb80cb330ae2a56c125dd101d9037845baa053a1262a42f211ab323540579c530c5cff013e42db716cc55436eaefb65accc404698a789c4fb1894039e46b0efbc49c6f1d83e0b1acccc8ccf6059a9b338bdf0164ea27c0366aa6bb1357b3bb5c7d7c1fddc66612c3ed395c82f6942c26fe84af0c108a76fa696e45f2075fec1eca9079fa57d70d4cd4ebbc1ea0d88991c0c2cdefb52d07a1f3670f6500b03641b9ff68f816a9ed1d37947b1aa078ca0fb7b4d3cf315caa917a2617603f855fb3ebddf4bc2c8efa547e5b66450ff059efd6019107ee389cabfe830f79fb312f40518917ec314c0dee1d1e4fb0edcd05d9fb3db05925fc62b9be7b9e9e81db236fe6eea67133bc2be91246dfbac0acbcfc6688d1844e8a24b40e8511d0b3682e3a3dd0548fba6635634092ca9cea366c103d9bdf20b283cfa0b0c963f8427c125650d5d4cb16e77b891e1010c037926148a6e364cea4382ae1c4589993dccebc1a34a90f76c20a6e3800d6e052abe34d197e0a6e1f5e0cd32a59033cda8b457d890fd6536aa0f3ca17b22485cf6511653f223d706879299bab5905ebd00c55efde1aec56f790da381106a399ded104d090afb616cf0fc61d480c7c354b2412f0c7132a6173a8f92d35fa055d90e0c971e2f11cbb64ac27a093754b895b322a7015bd5268284ab74842bb7fe77abeb3aca223e552f8bbe0493f6fa0fcfe750098f7f1f1f033fae8e2387233efe15614ddeebc8b17f13055ad0d4cd7fc0d6e8094c1078023d4b8f53f0fb6437a23a77f4f85b015b6ccbaed237f46de12f84c9f56870b680be5367b241c4a6504863260a83eb601606dee1a51880e18df01d3f8c29545b812107177e9df29db8e6b101847413940eafb93ba37564a170f3604701d602379e09f3d505d7b97cb2601545157505a5016fafee0e2ae7f8f898280c5e5f8f2115861c0f338f4175817be7ec8b1527cf7c433f674304aea87acd52553c006da0550c90e0c004019020bc86020cf0a9998b7126247c3a26d48b35e9923fb004b630b1e29f36913e83117a5cbc3c9d6826e38b6937fd142b0f84a3f889f18d4860358e658e9b9c3d6003499c21cb4d451fb345514733914cb6894972a2385f52cd3e36999de51289b3d94c0f0d819f10893314e60a7ba846b06c23c34046ab4cb3b904404994214d0c00a7387360cbd032839b48d6510c9a4db41134002471e6878b2c455e3142404d4fe5e2fc98985320a7c086da9192f9d9395e243b7ded9cdd25339c4825e599b86bca41f3530d95cdfc44c380ec1443a11ca437f333d313436187592c07ed1c8be42389487a335fd11c92d0bc659353de997f43ed05b39a8d4f59c74c88191083461680f3e59a4d9e6d76cc96d9333404e61d13218627478d6627a61cf33b66be9aa5e69701da04146588c89d89389e8a3be579808cd8e27cbb6860aec88f8d7b6b9bbc2e41726410039b8a14636109bc0ef8f5055f9152d2c9918979ab908676dc1a0bebda4a8462aa05a502afbca575550dd20374532a2a6972501045e0862d59b03c918d35c203c48734b4060c88867c7a4c4bcf403f3f20ce0911f0eb23c2b98d02c897786cdc850bdc9b4fcf0ead6a2a6a901ea3a1284e909893a330210dadccb53555c9690b325b27aeaa468200d1cc34c118220b165ad920404c758848c4bb2b1bdbb9c1b2ab7b8bc408a70a48bcbb3939b8b709654c3b37aead4862bc502102ef4e8ecb77755d5b57534b7fec382122ce419917d7d681d98f7775a3ac22493552fa23943352c5094811b973717009a4a2c0149b3dc8c1814220c5a309b709539890260c0b71cc1c6f631d865cac89653ae71b9a73defc2a4d354f7d540dd476da453d449ac00f8809da40ff33fb7ccf0c001e9ead33e7d8e0e8dc04d900d510a0d999899129c7e872994c2e8b204e8c99291388d122d36c219b36c52f3d3fc92c69cd36393fdb94e7660efb66efcc4d425426967174ccccfc7423a4f5994823c1e66e7ec251d45703c811e62f770d49f43213db09a1679ad98ca94ba214c59f9d66139b96283e796b874881a29e8336d4df17f8223bc92696cb446a2204e48431ee068a8e894033136c02d804e8c040c09f4c200d97c42ec19906663b14cbc4897428746266f60d59c34ce2515166c6290b7d8e95622f260dd3ac08192f940a766210cc0ff0de5213b7722802202fd130a0492ac3cd4d310816531bb77c54365824bf4041d3a33325e2c682598922893583175e84b8a9caf908429b2b06284b91260601ce3e50d6600bd13028d3e018184da48929bb6193211b30c6806686cc86edaecb47a2cffc44204099a6bc05e0a64c533366404e339146866cc84e48cb50a8216f1df297219469c85ce5a6afb09ac1192519b2324d0cd08d18da8c4f000249413d4d324f07b6ceda92442d23b493ca3432513156375607cad4626ce69820f2d6ce9ab199958a14c4ccc4d0cc52e407b39682270fd805c83d53333216368231ae1f199a9e99038a36571bade64a66693e9a8fca37129b706631b2137968e668269043b5851613a3a47e5fd850f3261f1a90938c02c5af0ff47389901ca037324b80402c0cd47001cf029d1c5c05370911d8d4cc1c906d69592d25211915cda9468e83817b137c211908028ab154c2baa909612cc19690009b9a7211d31f386c6c66d2b8b48c116149492aea45651bdb319861bb0ac15782ccf9ed44a2c8bbf0c545136343458a0333b54d386d6c21c8f209504323134360408f51b8d924a94588a08ea2807c2c81779786e6a08cc1d8d6151513cf0ececd2ce30409471e2958a7a09f37404c907020eb27c0fcba4458c29757d64c4c39b4f1870ecc494913873364c8409186f6c5a564f3c533b1f6326329baa27de75e8d4b96f24e34ad9e9d91b589d5afda559bead00daa35cc7a44324264023740da470bf8000400907974661c5d43a6d13332323a2686bc3d2b8846a7522aaf6ff049c6911edfb20f99d0241335894e17b854c4b5a1a82eefe774d2e6072ebce8e89896e2a2a2a2de8230935c20c510b5b0997aff9b0fbac2d4d8d414de140faaa9a8b91da25317faf2d0ead09ca0f232408d41e18de1d964d53ccda95ffd992a4d29d9c54dbd95eaac589bbabaf3ebfbce400f18f2ec748634493226c9c8f2dd12195070516a8320cd964ea4db161a5dd15f5a54541c88c70277c58be0ea7c97bce1ea02572890fbe97629c5271470e2122e5ff124d4b97a843ad3186db87e696d757a58d870eb86d62eaf14a0e10e093bc025308500f7470a411d4ee701dc9ba30305683e0bf7c364d11dcbc82a32762829c5434f526ce8273a4d3f27cba926a7a2a76022ba221ba2221f1eb70410e77464155e3487f00da76296ba33cb51545477073518f438c897c2aee82cccb124d2790c9ff1ecb397e5df9177729edcf3382f53351ff0bd621e8ad13232e54d761f1d05614ef01ec345f6bd6d3ca7ecb3c9e42b7f1db3cb1d6274cfdac778d4d6e5f2124d919e53fc3cd3fc16329ede8072151f99081a67deff0bc83b064780ccfe18e559efb9d7f3cc95b6f92f99271f6daf8fa1da344c39597f3853d53098d3b493c16a2ccddbc92c3e57e7afbc8c6e22ebb77a291b5d5ef0477a6a3ffdd700c924fd0d4f90a67cb206fa77ada68b687e769d57f622ba87dc5e80c8bb8254bd63fee6770bad65b4c85a653d17699b99a43dd34ccd544453af69ca323a466bdb5dfe193d6fc237a007a17ea646bf4ccc6ba1bdbf7c33ebec59037df9e70b3f73f435e4c739f00374594ccd8c7e3b199b18fd105ee67f7e328d4013a8d1317bc986eb8734cd8ef9728f0ef0e49adf7ae8673d3f02ad3f48d3c8cc5b2fa46962f6cf32f381a2ff699ae1da4ee4df3ff3f3cfcfcc6cd5bc0d187aa3f9b52eeb18bcd711305543f61aeacf6f1cf45cb9605d116480bb3e3c03b93c4b8a103cee5900ca50646857a4f3783558f437c81a9c34654f6769ab2850fe8961014f1c0a666e684099a8b28ababa8aa8968aba9c3e3b6f7086709d114d0603cde69c2a9341fa7edc72a815db5b6400d946ee983280b36b3b89b5f28901e39114ec6a0b39810186949cd8318aa75d2348015d05db130ad4d1369128f640aec3a62b2381fde7b954546bc7351c6047e8d579517c09c32686cde67aa193b94b450515d3cfbb680951b08ee604114f6076d944e789e051053082867595524233b3cd4c311d60bda4f88587dacc4db12e5d3d6aa3f6950d6e8ae8e413fd22d792c7134aa2a9ad58add8a2a782f06101b65b567d81b5a8f50513b8c21a45b4d90830c23e5a0c80e59a6aaa1e4f82b0b55101d2ba43f77049addc40a3c50c38cf0753e3c5902b5b048f48998f1b85c18c531796735360bc2a8ba61d70c494962bdef308169b912393715e8f1fd9f8d618f9f6c2c81011cf61479beea521941f0e1e1e4ecb4ce1e10e440d8c821f86c947c345653007077bafe4e4afdc05fd41fedefd4de459de93e6805e3738d752244ee84b18a050659b3709a12a7322a813cfd6cc4f7344c1d37a3c82c38698635ab18049155ba458a9cb47cc48534af2a9343076e57cb2b05a999d5412333c391b8a0f55ad87bf707f47ae2584b2f510498c0051023ea4980041a19715332202f8c65158c588a79dcdb1af6f6c0d9df9b815860230c7a2af3d7cdc7281f09e868f5d3c9ab2cef8a98d60053efe60ba2b7317b9135445f7d84218471e5a42f82ace93e3b21b47472ef2022399c41e47e9c2e9146972e22ab31e077091203775c92108cf22c65f94e4408a804745356a6a7c5b42068b9720390234ec302ee243ec4f12858d17ae9ec69c5e38e75c470822aec83446a1797b3a83749714050c63c1db2f1c8efe983e9cae30ae3089c6f8a8e247528447e304484c8fe9ae50a7d844182339dacd91f73c3830e1c19886070f1c366e1c27920a860916cef52219854896a4bd30b2343a2fb8ddcc39e17217e687ade7de11a25d0d1170612c2535cc682d454232d91686d1081431a520264a7e9885d120e248ec2d6c6a022eb1306a3ab430143761e938d115062bf88aa6854f93e7ee559801968dae4a2883500e3f85715a41c624488b5baa476078534cfefa6991b5200026c9109d155967c5120e040013bad8c5631837da3ac106cce4276b990a05856c7cc73398c35f180638185d3191040c98ba18809e28706822e1310c86011308704b54112a43008379825c4284230508305dba6076804850110ca661d6e6493197630ea16080983e498b2d7ed2f967eca35a99eac6acc5a8bc41aedb2b68ec3674afee6f46d209515454b46b07736cc063e03a8b78781bfe30e0ed65282afae380d757545754f4c78727285817f77648f3c444b3b484588448f344b355f4547458e4d4c4344398997717a35744a67840a724d751cc2b2a0ac4f3bb2b2a2a2ada9ae39b1bd6f599213e9d3a2f688ab68a8a68e88a8ae8f0bc0a78792d29f19815091605e6e16510c4719dc422c13c0b793e6fed7f01efce825d1d02ad035938e41c03663717784448057f919bceb4f44247155874582d515cc7ccc1fb8818ee42075f9ec0ac8267b182412b766d967372006e20a3c6f327f5e9222d137626a80bfd7b614b2fc16ada172887cb20b2a83958d416ada8a0ecd32c906db338d0dfd370ba878cb8f7fcd2f978a8c66e0a84f025e092f9e60106fa894c09871dc272f2efaed3b40a690b31ef3f0af47cd8611a859d415652a3c6a0c1fa28f3f844a17bae866c4bcfe20ffef163fb7052fbc387b41b8a1012dfd4caf43a6b49feb64189adc348172c8e5b49f850175a7c5729d68775b26e2bb6250e6623e787549874da5b3617d3dc7ebae3748cc4c4979ac1b58736a97e71933709db187a938d6f5ea5b1793eac105b52f0852ee421dc4a046dbc13a0294da0eb877e259ef7280ba807b1a46e27290df061a725bf5622c8799b6e745e9cf1fb5a466dd41dc573416576dad4dc4b498099e92bb4b46a99232a1e44c0a9cb254026a5ba8827327b554acdc791b8f528528034e2822bba0196ea3b584b404e00234b872149ed3925393ac381056f8447d77b8e85e8aa123b0e3815a76714a07d882f12af5becfa348a9a6c5e0ea43ea00793fe8244c5495065d18697b26e4729e97959a038638b60aff290c51f7c49da7b51d0de47c1aa3e3606da6179e5b98a42da965b052d9f30fef21402956c2d64141cf5726fab6af0fccd127a5b8809a3a756653d82adcacfe9d0f5a35926de855fa2e70aa6fad0700dc7f42c9f8495d011305072042aeede005017c753d2ea9897996fc0c684d682d8e9462734ecc5d0e12732b6d9763c88da970a8099cb9694f601c4c31bc1e2fabd941e7e8bd5a64631e166f6f0b3f65f127ffe71c4d1394450e10d78b04eba505de4f7e09af4e2a089907ff874f367526cf52deecebf9052f55b160e5dc894043ea08ad079f818dd58d2cafe9580c4065e6ae0941026b528ae8f0feb52603f39f1f633310bb220d813df65c3db87a03cdb8e14f665dc5efc9713ca37b124d1d3786eb4210cb77f2089f3b44e457f4508c185b0907b285cb87aca9ae357c6fa780c24c05f99c7428ffd91f02d1864ee133bb7a9a3040bbc9e884cb73291e36233d00ff172d3796f57b4a6d30c9dc421c79f00a4b1015c29da70bfbc3ab8abf51b536f368ec2dbdff298e0277475d876b26a6e570551ffd5e8f13f1912bc52a4971b96a5f8379e304e556453979dd27eb149b00ea256c27783d07d1e25affff084fb1153b1aeb5a47a9104142ed58084c778a574554be0b94728466b6d0dce7c47b05a439435b28dbdaa6da6e38aace2428cffb40d26b35658e26a8a96dbb64df72be166f605a1e057e292732d94c1be4a73c5bb00f07c57e322bb4586bb57b259a923cbb6fc8030105dc3aac8d588920c386f9808cdaac5c63d49b33ea8d0d42791d4d8a7491f7617e4f1bc5a4af88d96bc64221e833a5457695ff040a421dc64cd4656adbc66a3057d97a5d57351156ce126583e8482a9ff03eee13c8cd99cca02c6df29e3b08b6e2678266eb0bfa2f1785f1c09cee40bdeefae3e710487195c6687a2a6cb60f66587187491dd2f1a6cb253ab3561f51e7729e6bad426cdd4fae3b118126f542414c83422947e0027982f5384fa015e541ee8048b23f0a57c40058ecfa5c8e2768dccb2f295c5843ea1ce81fef9e9f08ec2a61a0f8591af0a3b7dd52ce5077188f35974143a55051bfa8940a49b923e1dfda5a6cc1c8705a56346dbc86d0c50fca8e6d48634ce9c41de32b1fb231a7f7bd9f2f8c01c607720891c6f5c02c14f5879f90a2cc3ba868ca21badc0e01f9cbc5ef403dad7e02e711db546761a171a978a32b6fdb6b855f0db34b867b205bb117704ff8770837d133a428f68b329ef26435c54ea8bfc1469b569f7de1e5cfae2a56c586409146afccc901cb3571e98cb7851e495bb4c7cf1475277281bf5c50524762715904f11c1e0973d2b3cc286557f85d4e2481427f8161d845f2881ac7d00a7dcebd74a2f1e82fd959a572d6adae9aa8d765e6a58aa69984cd0474c09f65322043da2eff7d3585c28b37d29f2532e5746618149a7d93999590080f038481c1fc9e78eafa10a7a1e542c0f5bd1a7f3176bdc7d0819315e2832c18e6d2572c1c84bdde400985b0080ba699870be42840dde2a8086770e22d936ca46fcb330cc635955d138368a90637077fd17452479c8912a7f99f636ff707e7ee90e01a7355027458ec135e32b7031d55ab60a9ec563148fc144f89150e9ed0a10b278140840f483b9f20b29f56c4c16969f33426d17a3427921bb8fcf4b35fb8dac107697eade73d9ba7b1e125cbce39603ff43058c27a13bbd0ae8863f5b6cdd0f665db5e297a939a8ad54e351c14076fc6a74131454cc5f14f8f02300609b9483e127990574a32883af8087ee431037f99b05e067336be0845808b892d7c99ff5b5b229898bb81713d1507f39be348c08cd8664e64368853927521637d207f67f982bb40937035f69e7f6296245f5272c09a7533265830890a701677899b7c08d0660643807bf32397102cbbda40a8b276d1976e3cfdc074b5aa0c16c80bdc7839f3b0e969f8690132e63eec89f883261abe2a8f24e1a2776883d136fe38b8cd602d5f8c41e94b4211ed4ff0262f0a82251f45063dbaf4961f1af15a4b48fa2a783d19d2b533238dc8d6f342be9a043fff4ee32941c2a3e4a12149bcc84ca6315e7fa0b3b217f6b91407fd03b732c297a7feeabc02379deeedbd22837ab33dd430898dc878f8fde2169c22d30da6a0433c27c0503717b52efd769605b77803208fa816682b9d19133c30c26534e4f75d12c53a18dd01e52746924aa2487f0bbba816486fdd84ee19f3d9175b916635aee4ad66b48f22707b7daee0d55934fc2d0c3474015fd1e397cf495e78ca72b83fa25cfd293fe86e962481b17d691f24c3acb2f4500e4c47ec71f83862607fa903e0547c91804445f9e487083b2062897cfd704a8dc6be8638bb649cdb24b24f8d01f9c9f8ae072c0adf756bacabec313660be74471a610ba0f5957c3916656f805df1b5fc1e941fb0e35f92b40575bc08c95cff474783c2cbe8ed9a9e5513162bc8d52dac7ec80fb48743fb36f5784ff30db9905a823d22cc827c3bbf8b8e0a15adc5f51abe6184baa2e21276e87404df25850d7360d81b887901bac93a4dd7c5011c3576de2f3aa78611ec6f9c09dc8cd294fb7bcc763e63e1aa0e3dd86a6f4024e23c7b902b3df585815690a21209f1081ddafeae86792194afed11afe1b3444c96c1f4eb76b0def5c35bbe519773b675b2cc2fee368c211ade6cf1151e49bc23fdc4c0ad396da041eb742b06e85427a53352437b01be47fc302f6e0922bae44cbcfdb3aab2f4e99f42f8e383f838aea567f41be820aa827a1e140e3c64eed513e9e5f1d8dd43cd26a5e7506c5fc01d884f665b11b9353bb430f581243d6208481ffc52e6aacdfbb2744bdb12305587922d4207a09c8f36973089dedefd88d7ba55c060a8f13c9016e5f209d5e60944fff8c1ef030d2ae7d6443944359d4da74af9a5fe10896cd644ac71eba3526234149a04b50609d59e74675cd9091a72b0ed386564a3d9638cceb5e41dda0940a7ceffe0f495190f77abc54dcc108602da90189935d6a7e8fcf5547254cdcb65d765f4ff0870f09dcf2bc19a29a96ed3f388ad64614d8700a414bffe408f6c98c90b6a24c9a06e1a37876e3b23bc6a4d0c24956f812b134f22f2796ae2a6e9aa378181d065270371106f8242a567f4ab8e783c8557928bca25efb20ebfffc8cfd7229c4de0115f7573695f85ae388878075a423c134ba926ca6934584f92d1f1dfeb5d6f68ac6a51ea24cfc2b8c53f526d5a4b67c107a2f84825f2c5ee14546937ef7876e392bec5667f5a8988588a0a03bc33c982935043a0853c96dc3b1789d5dd6c71121e13e3e335bb045e97f84cd776d20f7133688c71237f94f5c2fbc801114dee2f6859fde717911875e7b3376c7bb142beec0c20c9eda43c527b081f18c0d9e4c0c20e857a9b0984d9db8d0c09b32ca7b17821f0b676c3952cbf0c689a39c7933fc7a002ea64f82a0fbaa44467e0870a703526ef9542d76dec4a94abbd1507d1f0562fd65cbc8e7b0c1781e2509ded27bbc5c27a777b18ae2441889788055b1dde3470b2f3a32a07fa45c75e292e19eb238bc3706005b4852c093280fd938a60db617538ccd5563e34177c27426ed954c9d6919e47f5b25bc5fa599eb1470f178774c1e60b4f149d5389fd2c7e4ee3904761caadb9d81ccc7ab626ceac249c6c7ba4bd43abb291ec88a832d81c006c75941a8a76e86f52113e0a7d080acf93a58d1b354be2fd32638372d423d9120a1bb49ae501fd22d69d930bfdfcfe118394bf9b41d17346a949077cc323f8d2a8dce2152d89b8453dfe807df6e94b4f41a848c7b873bf94726533aee8712b7d120e981b4c8ba0e96b3bf4254443f7e907b53bf4aada7e3872ce380900ea642f54ef890380e595d3230798af31cd0d20f3e45bd09f18587527bf83486b8683f300a5ea06e4a4b92f17e2f86d80fc6b93a0e1fbebf9403f0e71ad870118b1d5e6a0407fff247fa28c6b8dc368cd28dcc40b0932c183bef65dd4bf9e37bd2543db7186df03a7876c9a5119c68a8f28a391503cd8b0af110430379f8a5a094b388fde017d302dd9449ed5951d8b83602c5f1670be87e0b107c1bf6d0857b8902f96262215e8505441f52dafa59eff5c2df013ee4ac8be7a870c84373085d7213b73d36e91f9807e6e1a057cb4eda7893c993e1706a9f820dae3f2443ce5695bfbaf3c2e80ba39af0bbc6c7d7f079eaeeeaaf85303e8ed95ad7a46bf13335329f7586e4bb248e3d97b75d07139563ab6002c01327086a2ec1650ec7218c7e9c10f7865308fd0ad3939f75f0facd17171f765a453771f045eb18519119b860fb237a38f6f0143d2d6ce0abac7513f5acd5dfcc21f3c52f1131faae2f0bfff268a95d9801bf5adf95fde459e63426bbbccceaf9508801772d5eddeba118fdda0a460ef7aae59d28c2be9768df6b28e1eb717a0cbc47c5d783d99d70272b61dd678c64466bd1e5399d50d811a6727c0f4b03e40ea147bc52778ffc29a6453701d99b7b44b8e22278b57c158427eeafa656f0d330e0ed6a13e0b584c9d35c3daadfe08ced99fa523f0495623d19a6f07dddba7c0618d6f339959da48aaf2b9a423a102004bcd2e9e737b9681ed58c67a3c831e36b9864e4a752297ee4f578bf727ee92553857358d58c1705fd249fd13a7d9c97357d05c4d7292dc73481b9f859abc03ed54d0df78c2265dba823e11bea6e750da8cc7f0d0dd5af4d8efe968aae7fd90df181777daefa84c063c141b4192c86f9255a441c12c1a246faf5b21f8fa8be94203d9fa1698776c1006efe0a72bb7f1887ca8739bc34906c2779802fce47d8b1c1a99a68fd00e79b569b72f71a1888d04fb4c59ef9f8a33d18a1f80a5798ec0e1338fc8c351d4e64011527fc26fd4885c62bc171b2a1f298dc06689fdbf04b7b23174dfb33006f1e519fabc08ae83062bd994713c8669082abcc6981c66b661ec50cf8a55f7b42431718cc7930743bbccf43eeb3a171ed3f5730afe9a278bbd9dcfcec18dc3f6d4d7ed26ba3e67208c4630bcbde54428b4745f4daa1bb06de2b02859de700d1ef8a2a371517123f56e9e09db8ded0a7905b76d9109f964923fd1b30547496c42232ad876eae265cede9c7400b6084d42fce7ef8d822994f0a20f39a242537a121f673c0b2ed2b5267df85c78dd7e39bf12d84983bcbe8d8e39c00f048a4bcfda892932d35828b1b301be028b018bc80dd33f7f31d7d1a33225f48938fae09b0b67560126a2f599cf38a053ffe064b490cdd114b6d264378269084e1a1c462f58eabdbaf95cba0652c42b98642ace70a6fb8acdfaf0684d2f3bc23f4660c937a2e4918e8b84a18ffb3ebb79fe0a8f5543d2abf8825ea2860a3ecaa2a0bbc426dd586b213e297fc10bdb96056ef96c57e1f8813cfc419cb44c0423b2e0f83a61d60bb1b0429c650ed49d84a8d48ca607e405c8787d22d417fbc17c14b2dd475c24de732dd8195122e21e8d56504093db9ec6a4f32f0fa2c12a49e80dfdde3103bbd2202c4d7018b421fa92c7c2e4fbebc66abec0187076ca2b9c1cebbb1b769a8ce3e45a1ea5399d17b38233766ac51b0b78245f733e348bf682de84ff3aa7cca06a09b3a597a1f590b76a1914daf00e04e5b82d5fc9801b12f6c91ea72c347bcca4cf7e94e77f42094a67fe88de259c65aff054ae075227879291b751f5cdbe2a1b258d17d441d341c8ece9f00bdf05544f86e5a622ecd0374371369e2424b2651e9201b5c5fc01683790d06e93f41b0d9764b0c1dd55284f7c041f0ca1f4f9ad374e99fae6c70d8ba53074544da6646a8eee349ed378821762ec7811d5e93acbc7f736f9f438d36e73200ea8f1466b4801bc6d952c0b176600100798b0a14cf15d2501e8175e73f123fe72f1e0f7422299b8efbd2e7a3048abf1794efd9aa945f88310e2714e1e1e304bb3cd262aebe0211ec10a67c9c0ae5b0d39a35fd8b330a3ef5e9b311acae3a964c21cf25a3c8f76298db71bfe193868ebecec3b490cd957297a8e41f3e31da5c3623fed7307517425a790dc2885bc892096f06e195cc93d3c5c97e5a775903d75f8dd1409f1279794dc0240e40b1cd816c12bf8e0af369a53976b0910e1ea4958366249bf35b27188fea41ce9388d8d84648b61e65d7f448b8f42bd105a32f1881d306a8d4d03ca864ffb0ec379385f0f2500202dfa8f45473e0b4db548c417cf6174a0f41c2e22d1cd6699e4260ff0a26d5349956bcc72ad98fc46ef8cfc1135b424d9f53d6a57e958b11c2da079dabff08c2f4298e7eff116c37e75e0b07abeada390efcfaa463898de4c8a91ec0d8576e43b5dd315b853fe34ed1837ac45ab5afe8bb9240d11d6ccadf435695cc046dc2bf0a06d99c425cbd2b07c46e748be25458393450aaedd78d68b2ff74943cca45037f736af0313c5bb8094828bf8b13f4192144f8989ace334aa8732a24881f72cdf8c58ce0f92dec8b2d23d5aa0d77183d2411c2bd8076eb9ba4c8288f21a0a1dd5a04cf4844406939220b36db60e28897f98d75294c579e37cdd4657c82712227541ee6234f7f08cbf1401edd76060b43de2587681e313478ef2ccffffd40f9373e2d7ac08c16dfb94463fba051f3354c10eb50ce23ef62ca16ad4246d8bd3428dcc5769bfa8f2ac74edcb5a27dba88ed6022367b822480d99867d2a5aaacec26cf2909bebe0282cebe0235f5c79842bc3f835474013e43ef1424c1ee11b47d75cbb917b9f85fe568756d67e3df2e2c1de12e80e936dad184f78ae1813c65e4e28ba3b6ec2954459be793f8cfb6947d8304a09bf8b8c9076fa418b21fa33bc151be0e19497c428305b28e9829c09d6889f10a2221bf461593f7f1600fc77bc96563eab8f1d53f722f1cd2ef90c5c7a3cde9799a13a8a6a167c0a7844e792e398c9f458129fe8392f5131066ed1851f8dcb4bcfb6b4963ba0b716d1e4290a95d1842d9af5b04f8d94f98d6ebe1c481c9717f828595f701fbf8d365ae4f39d0f43c8abff80e0d069fe481d477501e6a1d1242bd572c84d346d93ec404140f25724cdc10927cf0090e10bc53aa9e16d014b9a934687d2926d15ce869a4df30f055a174d13668d31c4c2cdb4be9a230db6c29fe940c09bc2e268123fe057f71de93cf8ca2f48da4a20f217684c6cccbf951b6f24bf1563a9917aead41527b9d52ed56eb32e1a293071ef2c7c6f328a0c24da0bdfd93ce24ff42c8cb297099cda18a745a8a7ef24a54103e6ccb2eb3351a6e3d308e9b964293060c8d9b1d4771780551b90764a4facf23ae6d4e997c25aaa40f9152e269900070502c2ec7b461a6ed866e3d0129b103e28ef0dfa1d59797a5ee6a0aeb5a60d57cc8949367e21a63d5513010d157829d7b86f18e8df9baf4fa3f0678922f5779f48f12ecac65c497de34a7ef05cecd23811fbfc9c59aabb02a745b2c2c5e4b85d19e1335bd0bb552937960f1173a26749681e11772c3a3a794b8f8cf274a8f052856ebb92b4e1ef405639fd839e14808b6ec27569ab4eaaf006d773440ab15c1422e9153fb4c4e10e9dbd32f5b87a795b22d8c15fbf18a03d7a0a4c09375195f152bf37d1300d8bf7b4b5cd736ea3b8ba8bcd68222ee24a7ebc304fb703225774efa15aab31090f1be942fa22fe505dc26f541fc0eb2aa3495a7a7e30550da7ec0387a1557c456d4637b18a68933ea5ff919912c9097ac28d5124a4567a9b5ad479ad1e7563ef813a921f44d1c3dfee4cb16a7fad1f3ae32097bc82b82173ea5e1012cd7de77d8ea1d409c9e6515e364a63d8f45f2d8bd18df7a1e690a973d9d75115da8348eacce12fa5586cd63403221077a80b01dacee6ca8d698bfd438640e79c39a4b0dd43e8c21fd2265a49dc5b3c743cafafd16a59f2ffa2d69125ab4fc04e3abaed33cfccd0ca6de250082ffe071d5432cdf3c4ccbdfe66105f311ea90e81a37bd9f5adaa2513fc91e485aa5a601a6e1edfc70761813599e48dc9119f2059eb672da451739c1e9b2a8503200a11ada490d23328bbe5967f99be19f7c3b1f2240a9d6525ae9301c65751c6fa6a7a5c0b0ab0c60e082adb4fa71ca822ff08bbad17a9cf8212508ee87c4c719acd139062a42afa605ea93be74712d0d279e934a122763f3f22b2683340e003e6771a8dd0c4a13c9c7b2293e43a10a3d25c482600db79be3750f24903d846e79108c259cacb5c01307166fd70d28feb1f0c9c355ba7d905bcf76b1608313c2defd0e27d1dfd550e4af41ee7e849c08c745a5fc295a649a66d0eab5a6950f5ebaba64b099cf59963e6a8f1eb987932dba4a0cbbb2a9aea91350d525bb82487acda11b327016dfc3180064f67025c201bd5cf793de84c77d6bf18140321f6b56cf396c08fe174e78f8ae9be1150ae0693029dc3e468fb7cd8a43c4cbf162ed2922f27cc8a7555f1260e114008dfc8a9b5aa7e182d26bc050dd168aa2c458fa6e3e1602205adb71e82ce3c5f43e51879a59c11019ef38017036a34c7c23bdc9f7f371f411e660789f66d1e76c9c6dc535c49f2d5173bccc3b1f01a0550bb000e62340ac79a0ab8c6b28fbd5c70320a8ed305770bd0e00a81b61213deb1dd2966066e343c796ca5662478eb825398329e37c28a713ca9560d83c4729a3cbb812b2f9b83ce9120d5edd482a127d030cf4338fe2be8107cb3f8223c357f1b2c117097f3896e1ba4d59c2cbdb2010a87d48cb9f5887f94c0265bcc090975ee4b2f3325bee2ecfc87ded091f8d032a804623d2998962b73e1321817ccc24a7233b30d1a8283a381723e0d98470a7c350a0b6a73aecb94ce3cdeb00817cca31b50dbc86fba56e25bcab36ca818f515f9188e90f0067d8e4d3d7a78592f90ea84838940a53f48817aa0fe889ea292a00bf6a91191a000eb2cfd127ab652254f1b3207a3ffc24f7763c016616607126ca688341b4e38a033b0b14593ead6b94fa9c4078bf0a96d8876ad2f10ea804fe8887509b6862e84b524bb89110c4ae23ed66fb3afaf9dd31a1bef1a1c18bbd1d6e2d16c57fc5e6f6436967bfaac4efc510435f6c85e5118990e85c63b69966c497df72d364dbda6d6d1584a7e4cfb111efc5d85aa68187fb074020cd2880e29e0acb745f7d10f0df63fb7f603cfe878029dad86dea79b810ba5157a353a5fe24bacc588d86e144c021a0fa3ea871ec77a160bc81e87a3f02228d77b1faf817bcadcf362aa49ff5c3564531622f90fcd373a0b58e04088b6f70e9eb5f6a53c9b942648e22666773a911f9542095ff6247809bf6697e4c09d4d70561c01fc3d8fecacbdcc6f4a48f3ba4b07fc7d47b2145e06a3c58bf808f8fe3f670f23abe7afd138ed20137e597d60ef953d82cdf15804a437ee1b2a590c77ec38719b28ee3db5b3a39da8766395e830a74266652bc4b2c61b219e0f8fa5d86ce2da8f4e1832280d93e566e7e82944e3d4c44e97aaa06fe8e46d6b18a891f352b8763354ed9853a3add4b8b263b3035c7f5e0826c9fb328ef23898f8d58a1ce4f6c61dc3a1e1937d9b3ed3bfff2f41666ddd380e27aeea6972d5a46651b21462147e225789fd5e45a312b3f2504cc8e39f60f0346f5a1631d5fe845c06fa1c8f29d40be5774b575255761fa870aaef7cc7c73b2d8a36b65b1f291a940de3449a44711b8f030784efc0260a90f934eed1b9b5a9d4053682f9a45f11369529a828399dfa2846a2e3d51e52f44b6c6403541f91ebe3d734939e12640647d126319ce84050b4d2783f96751cafe7538c8ad869f786822ebe318a3b22184723da1219cc6c138fa5f645c6e046cc16f4011b5b794c1fa225b840ff4ed75104406b494a11dcfcd8147fef064ceb1c4a03033498bd314eaeae60115665fe9c4e50cc72ba30d6c91fdcd1a216e5ae6ba054c36f0c308474e9713e37e9e7fff23c7f7e55aae370404f32ab4268d6ac3f8b635a1fe4783c8e91c773caeab8a071349407bcf0eb77552c321c4cc7820a6d2aec1f5d14490acd84af27268b830b464a528613b8125ea5cb493414775f0db824ef236635b881dc482da1bd7914d5f2dc09816fb89e0714e6cb624081a3e4348f66f0b833fcbeba0563205c42b25c8e92abe445caf07dd9685ec7a273b586f59a0e45f32f55d2cb9f914073a5b2e16c0c3e5c89cdb22893888205d1cd8c9ee5672c265fe2251f7599dbefb90d64a2f90fcf2df119bc3e0b599750faf25be098af3c394be6e360b36df19a5ba29e808f3d4244a2da272f369a416e859219bff1d7482f819523968d2b62d2e2293c77d4a577c0a13033e69f6d1b3694c331950cd2663a153e6b2604ad738f9d959a4ff4b645b90d9aceabe401968d3b126bef081305fe068e9745d143c9a844f2760e3b31780d17dd1ac896d66a12a481f1ec8f078b237ef7b38f81080bcbe4f949bdf844f1a2894862775c2d8b9b771af5a49426b58faff0a1c23f32979d4955802c43138e60a3b741d6d5183ae7a25f5621a1c9f62e9d187df2aff6c48dfdb6d753d91558d271deb7810c9288f111af94e365e2fc735b8d32ca0faa1834b8f22e8c2cb0c90b4021225fc4b5c122754e47b1663c7ff33e053e71ccd6a300fb426f23c2c9b00e2b725257590a33881bc1768968d4aa6d96d4718c84b9c703d5c23928625d3fd0423dc6992843cf7eb1c7566c6855c31a1032049f85acc159b8b153d170501422b89230b0e7fa696d0879284e96d2fe95e8643d7277138d54920b8fc120bd48db97d3883a6aedffba1a7f51a326f66f5e91faa1cf38e013634062cc72ddca8c0dd20cb0f208bc91f6600730c09047f72afd8aa0c1abd74c77033e082fa487c107d272fe05f5012bce1a4f03ec68b8c1bedb0fd2a4f62fa47568bbffd4ed9125220be9f0327e7f2b9e08dc244770d0f50b418210fd981a781aff922a6e1b8d074950cc0bb8eb0ef73584ecdbc3f521f78c7c87fe161fbbb571d4fc149eb6b9eb18f98b3a6992a08f116af051ec521d04bc08bf4d05f159fd5c35127c981c2bf0409a17d06a15c92ae87ef984574b0394b5f309ef1361e423717bc2ebae7c69e56956ca175e3a49057b7cfdffa04996f90157b5c5f86fd77e3fb8f1d4e3de947afe300cad11960e3fc47a498ce8d64f337d850fd054ad6d7d0d1f52f1554feb697e84a24be5fc12582fe9067f8e45e06ee849be2155d146bde1b891f0918faba433d2e7c23614e92425377b581d86f81839a4b8dbe99000eaf994d01b0c6575d4dcd065c7dddb54a9bd69155c26d6ef5beaa1de2bd4e2ab65ef58aaa5e42a75d31b6ca3e358af22a3c59dfe38be560a4e0de080c007ee20cf007f709dfd097e37f34287edf01393b75cfe6515c30a0a196d4f43ce46aee0bc2aa0d2fe0d8e5304774ee10161b47d8ea3b3aa9a06936e1dc673e774015e44de990dc65fcef02493c73f5c3ef2dd5ea143e619fc99aa697283ef1ab0f59dbf58495ffe0c3d0fd80379f41d792c682e1c4b504795dee51e4415466f430003f2df80bb6a10057f83e4da3edd377f9c079133408dbdc7fe5404a66a223b89534c0ed0d00201f8c54d1df4038fb279213b652dcd6fbb688137ec6b5a7e7c39be0612423fd2fc9cdbb2065fa26c50c9c0a18d79bb812c3a99c91ede1261cfe72caccc6228d7c209c507f64a4b119cb2690b53e5b7f963387ac9720c14b7592d84588b83e91b3bbc782c47e901e5bc80ffe781d8170896d735bf6d82ba0afb093c5a7f4e9fe518d19cf7c4cd36c360fbc8a08d82631b8e56566796c3a9f05df044b43631a40725c27d82db8c2c74f5505d037ae3f0ee91af47079371aa7f8af5c1704ee278065918f79551f6ad156cbb468a237bd06ccab373c3e7245def6403ce2ad144f7d0ccd1b7762f3b83d7840e25a126ae3bd9c0b7fb8d23557f2de825c11a773f3f45abc612d5743882b8dea6e127c3ddf0594d3657e9d7e83e997c30a59f028bddb3d612cd5c380be95e332a96824d1bd5f7c7ed96a6156e42a0512bf2c36c2ce227d22432050e90a4e5b7718290b3c848236eff223d09f33cd7140c9786416af4752887b196589db4d06d94f6011e15b9b5fdf07628bcec5b0e41b82c91a4f4fe9699118d8794b90dc868e9bfe3370a3774a102278c3ddae7db747ac7b6b20ce4141413b15418db9c9468e064203ea556deffef328e875d074f82f2a341e14ecf3774d767d890fd84f0144dddea4fa171c68fe1b5994b31e0b69d54c1caf614388a641b6fa1098846ec6342c5ea65863339abe70da099b7b3ba0fcb22bbab3662b1e801d60c751539ac2960d1c2bfe292a9c96255ed57069a15b30041227cb80ba0169307d5236467761d8e0349e48381189ad9ff2c36f6f213472b219531af26df4ad6c477c6383217fda39f586af321f019470f32df1e053406a8cbeee6d98fd45698816c001e747a35c7ed81e81794a908956a2d9e9403a6879bb571cdbd17077378aa2cd040c95dc06d38a1d2018c6a3ddd8d41b1cf07cd78e01cfb1c7c5476080b061d3787c80540ddaa82cd253efaa7c24afd62351c1e8acb44c5f5c9bbaebc8ba9ef5ac6f2b029b3d6cb080ad3815a5f16a7ecc0e02946d1f3a3be423d7c2cf5c815796baaaa2796fe7bec2152dbd9363465e7351e5bd88373c05b2f01f16ee9fd441e1b3e62bada7c181d7b0d3fb2d4ffc4e32071c45e1cef3ce4a794d381aaf608af7ffbc687d80c1175a0e31d7197c90d9b946439eb5a5cabfcafe6cbc249b33040a343e045152331940422339f8d44b403ddd55c18399f48bf48d806ae9a8106d9adb8e0bc765dfaefcd6082fe78297f76ac35fcf208df89bce607fd18c78d769d1e119f6dd871e0afb60921a0ee086eeb918ddf81a964e3c67a7d4c3dc58b1c56844bdeca5dedefd11b63d530896838ef234528a075b58d167b33de62827b116d0732a90e6b7e210efd4e26e3b36e9f41e7539cf55d5ea218e1c5fd1c0ec5c788877d6055c2f077f69435b14ce18c558673de9e14a167afc6f0d156f0388884d624ed5750531e81202969c0694f5d3405cee3fe10205361715bd79f3b4c9c67131a1ec7996428b8aeac06e360e761ac494d7ef790d7d0075491e6d02962d29a4f8134a18edcdbfc3af434ad3479a4a78f09615dbc9090cbe80126d132261d1644781abf30cc48d9b8789210e6943b54ba5b463c900ea994b5e9a0b10f1ab84ed699b1a222eaac7a53b70e99d013482f933a45ff21a5e8f1f60c5874bc972e742461f7c115ba4f385be4bf8697b2e785daf20b6f47b2bdc681fa2276e85ac851ba91d74592edcbde4c3f05b0190c16748a9f1689e49b40a270e8e3909411f3126e2733a26740b43cce7a24b1113a307f1b5783698afc843b616d9e64c88d7aa5f60fa6d585b269a4696a632041f825e86458207c9b9acb03f24ce7fc598c0bf1e167a2bd0892f86c2fd9dc56cf71dc57830b104ae93a6f65583311e240fe96d1acc0f6143eecf183d39153f2dbe409848d7821a6ba734137fa5c4ca3bfe00d54463bbefe5970b1956f7841efa11605f2956d0b74a266c9f233b6e1c73c249bbdc380ea7f6622e225ec5922f97ccb2fa9a46e63c096fe71bf158f7e88c9d3b3dbaee0c6b1c5c8f8514df51a2c187ede0f02a92007e07dec4dd0302cdcbbe71b94ded0a7fbb12f442bc60b5d2111df20c08191c8c2a83ad5ae9e32d079469271e885c6d4c55172219781c83b60e2453c35f9801e6284e00ff10975a6fcc40c2ff10957899d7f01bb8e4f0bb37958fa4d5a8a30274f82f65b76f443ae44608ccd83c88bd2e83a1cb0e04147405bb6683a51ad1349f14661c5f267f378246b9d3cbe81b61e87256e1919e7711b2f0135d3db8e5bb6bc53aff542f6f5735ad3a8dd3268f7d35f13e2d687dc11edd337570d47e96c68e458ceabe4c739e23986a07e8db7c262e7ef5cfd37930a1099f5b643a5418278f7342f749f474b8e38f9acfa229bc097d04f58f40391d7a8342c798c39ab126db5ceb8c44790981e2dfb48d705c312a279037ec9eb8219a368602453e33ae811ec2c4c99739639d418d59df6243c24664027226ad9bed5578f6598b12b4e58b0e9fe2d46acf358e84f9013a17feea4486cd0380ef476a0a99a9a2c4506ed61b40deca1bef5c24e348ff6946f200256c1f030668dee2f8e3c3f0caec2f446ebe462d9a1ba8a4e05f5af672ac4ffcca060bae418beb53a9f43e664aed173f497c0c6eac8ee4e5893300c3e18b0c43f7d1d7de97885bd47a39106b89f8ce97946f02a5f66c057463f6348a3742f49a656d81f4aa160e5b8709344d432913f3d545c7cb8e1b72c33d20b8a245c41ef0dc2bafbbf56cd2f3941c7f84f114ffd419a28b70df4df9a6ecce005b1fe0c99406ee14fc44c012bad7d4c443995bf4ab11a9bfcb8486bb7d3e79b90a345f233a43f300112a4f4ea1e1b25090769a6eeeef89796a5a1e280f6a9c647e9382e0a5b172cef863f16b9268b5ada0dffbbcf0dc137aa7a06eb0b0b32fd3957b0163137c582dcbef2825fe0161c1b1b7fc3ba071e3aab81d14e28513fb881453db8ae1f8284230fc97dc29736418a42e6371981954f968240700cbc672a4fac7ad94ec6a68e63492393e7228c8b9eaba6c5d60e6c5b882748c5be817df7c3e1f06cf0f9243aa672c58784aced89de539b88f1615df51c1eb228e4dbc171e52fe0aaf82d6a06046ebbf9021e92cd719da93147f27dea0ee3073e7aea469330be3249f4b3693756e3c35dc6b85b932888937c36af2a81c85cfa6a5a45d400e710e7f16b4a70c2c8ef325c5a370fbf35f990b1f1478ea46ac53de86f18ab360a1f8739c78efa5b6c14631618a5bc032ba03010cfd5e1ae0feadda7c2b27b9bbe6efe7f7b08c9521989ed88787997bc788d07d9860e767fa4e350f8d1deee4eef28ff85e3cf08deb5b99e0f85462f83e88b33cfda341e403893cdea77267ffc8d9645f098afa183614be64c9e754fed27c0671c01f41bf34ed8ee5df005e10c68fbc407c19b5fc6b7797e5c02361add6f33657f951e9482f62fbc1130a1a3094941cebf8e57d23d430baa4d6d12687adfae386232fc5ccfc2c4173ff836ae6504bf0164d7f1556bf9beae13bf1cde286a2db875e673e87c79863d0f2f45c4084d86632436ee397e3717699bf85e93a6bdd2a693204637a1514f43bccc8dd43b4dc6cbeaaa387127ed446383635eb07f1e0a52b4d02aec6074155a2891375bc8b2ae09f4040cc33e4087a16b4915efe73d23e2ca3bc894c4d6b212efee6e6493f2650fdb24a0eeee727c33934dabd288c1a676360aa79ac44f74f5bd18c45c0edb99c546861492d4d0ce6a417231cf9075648db5098c5465275319336f072220bba68d85d009ea304489bfe3cfd9305045a028d08fe4996f340a28079153813de2bb1c6877ce25eebeb713355300f4aa3e66732279c81d6aab708f3f6138e04b953dbdbeef1337a305436c9369a646dbbba13b3d4822049f3151b5018e611bebaba4a13cdf2db66f3018e57cf05f4eb16baa06849d5bbc7b025e52d50a07bc2cb23fb0749cfb76a10edb6e1f6098d82370b1ab6aec5419dcf9c91fe6c31e796915bc59fb28efe8496f34f45b2f91e89860bbe407e5229f4bb2f0e6384be86bb6196cbef89c42ba1846d3ed40c6e8401c66ee311e69d40a9bced438ca77a71a6459401bea71d97f34265794e0a66dfb8e5e6bf4400dab5ab8acf6402eb83a0daf08230f6b41498e27f2715b62ddfcd1f5143f4c9474d17a6b9da85b789fec7da44f3d8856e0c9825368a2d445f868571c7194bd0853c4238101f359e8fb093dc45d50df463f1701fb26ded65cfd65c0752e0966099e6c542a0fb96f4ec4ba1e8769e1596c3e65efa2cdbea2974847003a73fbee9aaf7514a47cf76a453e3185973196dc5bb8b8d8eff6cf1829cb8e5411797008b1960e1c7d6faf49b8d3d87de52ee707f2de9d3307e2cea0278515c33ca4a9708467a63c0cb8d1326f8af7650f10c5b98ef0979e481cd407df452ef5378a8e0543a13f57ece6aec2fe8a0fa540e86df0301fb66827ffa8e890c099af04d68198400f40d17b4bb48a38f1d224eca16f652fc8c6872bad808aaee540160b7695e7120169e3c1263e4ff3040e799465c7cde26d9a974697d5c91be87317aeb4818039d664692afbd8ed0a229067d8ff2e76507ccf02966339e2d88cd59a748d82970247cce5b94bf1834febdc1aa5de48ac9bb9166785da72d1ac99feb8ce304718f9802a66aaff957639308e6792b2b5bb6e84ceac183767b0b8f972fde41a2837752bc56e0de925862ddcb17c80b39dc3a4d271b80c7d9d204e17173086ea3d5ce6f9db2eb902784fde64b4937b135dd0144bbcc35e89cf4250bd2f9cf8804ad4a61720eb5dbe0c07f2ac8845090f4e1ece11c264355a637dd84bd16d157fb50d0f49255bc1c1307c7af1a9b79e69fd5f3b0a9e2502932f8093e38bd99a588d06f204af2735345decbf5eb24fc1e3c5483243f2bd9bd8019080f22950159c2974bfd41d68f1ca168e9a30c6f995720b66a15345fc8354986cf6ab334b7b810ea7c5f643b0056a56bb2101ea04998c517661973b20a594741f7f3317805f7010a69aeb6e8f8941916b862718277d005c739b0a66a2cd80d8e7ba06db3f052e85c9f297615d649fde0aec8cc9468a337020b7af3f4bf18492e79a872c91b1d45d05f90dc79dc92def2de8dd5ffb2daaeb5a5e13753a48e2348e92b1c6178067bec778c68b5541d0b4f8215413b06873e58538c8d8132cb9540817f01548b0f367afc360e594fc9f6e87f37443d44959c37dd44d12f6489cbbe85967beb85e4ae6474fdc8259c73a604c27f01c36c978a2eea045f8fe519d2ddf8c7c15f38f2e7cf09b76d4c0d7e6a11d03d448cc3ffc9ccf0c6cd63d7c35dd4450277789980190e0cdae261e78eb714b42e4fd465f348b92dbfd473fc57bf081cedc9c0079102e129c686cc4e9f5cfbd246c41f6a86eaaf2ed2d9ec364aa3dd69ceab5c8cdbc0ab9e1b8ddc7c82ef7da54d2b8722d8c1731c0570a70ac27b54c9985bbec6f964aa04a72ad3fab3d845b712a1823eb003f0997071d81cbe7cfd172575dab14befe9a28e7fdc47f44a9fd908a38d3cc9303362987230594d1eadd185aea184311f51bbfc0d4033b4a10ce3cd5433a4651517bd8735870e4dd2e35af6eb1a5ec1ce9481f65129ad3c27ea89bd88c486077b96d03a76b50fc202131d8387c9236903d6130a08bb9557a8878bb5f4e027dec450471e264192e61da27c203a07f32221aa2ea075640b1b22e92b81569b4ec89e4680a83a0bf781d16090f46c1d4d68def34698cea2a9dfabd4d0738bf2fe4aa5e21791cb9e18386a0772b53a961794ae2197e4b1e6207d8129a11f3928de30a8903a040d08b493180f5e44f4471318eb722b2f189e452181ef62a2c6d77172d13e9c4c3e8f5e013fbc79635e625723bb19bf48f52d230e72ab0c943f0e3227143dfe3285ab8de38117472326eb1b01363c1cee9cd6c9e5f195531e9f2c4606eff5aa47cd6af1a284642d4b5bf63c5ea56cae2046df4b226e4b51aa79a96792875156e1a7744d92b5901e1f498a462d7ae4564559b8a86a5f500c317361f5f82b5a64e6a73135f71151438bb003fca51f875bb751d19724653c492a9fefbd01699d99f9630083b58d0f046e63e9bb793bd0fe909dd30be5f0f03b5c18d893c6b75e1925c0dfaa20bde6014a774c31fb476a74d188101eb55812c9add808c0f3d0d2e62640bdce7ae46383183cf233a786e511a549aea9b47eee2702376d72bcb5446d2f46c27c21a3181f4177e942452a7fd186866641bef120108ddccd87c01b6eddbe2f9b8f27d471a13f61b0b90fc317ae651486df2e09b0633425b587c8d039c2259b1e1d9a3023906bf152318a6cb71e19bdd6c104f90a0dd1e7bbe261e6621afd238c5eba2b15ce6375e1de7672c835ddc01e3e5ee1ad3f52e89b2363ef4cfd9de04bcf1771a7fc84c341a71262f673bb259c48b0007f003ac5990cb8d8baaa9d0e01166fff2cc1d0730f1abc0c2c4c360f03519b47ab963e86c023064c4be96bd8cbddc09f9a5acd6f528f6179f3b0dc0d9a2e8c8413ea86eeb30846bf04a7e09bc83abc8688ca2d03b6c9835c29ed5f440fbfb3c6a3cb3604fb1641221b6bf28543ce2d1e510dd0470c09f2564650be670a3cff446bd3af0cf05ecb0ab45f0205ec4a607cf9d11e12bb8500287b8294155b91a7c8ce6ac0b7b94691be0bc80edfd190c283ba18fc8c9d6216bf75cf878ed0b12b5903fcd405c11d73f5eb4658a8782a07d9e775e4dcb08a834fe5ac88f700a1f435583c798a1e166f7bd5b361d4bdd08836be7c5a520a9f2d92a4378ffb34ad6365d942f0d447c070390738dce05a9810c81c706af8986d169d7bcbeba6313e7598144f4f1c11626bc98479ef1e94ff1a92fedde1a5569c657ddd5c2b3b1769cd2117e4fda5628a075316f1828483ee81a22fb4e7e8bd0e84341725d7b0acac31363d80b55c14a47d2081cf67a15dd9356614eb4d3172d9488b094fc205e2dc8ac2f6c93224b50623924ee682d27d1caf7cb398d24b33bcf85d4fa7770c547df21230daf431808f1003a045850ffc61500a6fc149f5111604d93fca632f777be42f6f39380f23e33da10887aee5a1f32a5c99fc8b232be6c25b489d8136458c128ee793b2a9d85da84e5f73cb840f0562eb5b7d1b76a858b00b411ad0355f3edd80e4d6d397f20878108a8e3f448d772756c072d22a07bbf88982477ceafa1039c46e5a03c67ef22d5c300bd4e7900efad31702afdbb3f24798fc9c3c13e1578f86b4131511341a9d6c796729685bd530de1e2469b8d7e89c034105f0423c4cee1cabc04e85c5c30fd891e1564b33f683c4265e59c1f3a32e88b9ab08fb541b233eaec9a67f6a9419c7c178eb4f61f1d56e80f89752611d7b5ae0457fa77cef5786efd4b52d8331ee789cb22ad9d7296fd76cf9d046ac56fc102a3ab212093ded42ca968ca384cb5b58d5dbc6865a9ec58e009d4a80c15370cbd1ba40a57f0ae56f1fefb5a7c23ca03d0dacbe28822cfa78c783f7dc20a86d351870102eecdcf505a0d70d5df1df12075cc9841a0ec440c6267431b379ab1868bd0a2b662b3b1ddf8183d32c428cc92e11e4fb8c331bf428d5e96c21a6f47768146ada21501cf6106c633906f386a9348ea5cff3c15460b02ffd0038f9aa523f8161ec66003635a01da2df28fa792d2d305f70838b7d6b03d73307adb84f4dafc770fbb1bd8034d038202495ddaa70fde09885fd241442eb1871326b42c979059973af6322c651a57e671c273a9f682b173efe4726936ed0fbea2d6690ba59d7e097d2e13c66a086a7e1aafa9851aa0e25860d9d595bebbc3b56341155dc1f266040f7fa4971ac25152e770382df2d81fdabd9055f5c60c0ce726b7d123b9e94118c88dd3c563c216f1a6036d75d87b96aefc8e34014dab98cb3ef9658c4939c9e7818c11f1c0711002fb48a71192b381e8fc9961d7ad5c197bac6348b144c1e79b7b9598f187e6b8a1baf7835e7a3af8e5e03e2f43188d2ed2e2c003dc213288df544cb37fa8aed20057aaebb33cb1004183a973e04652f2fb33ee43834c62b450fad8925808c608a81572134a0e13cccfa230d98cd7be6e5590cd6e9be1838d79113730994049e13cb1d53edc5633963b1d34801f80c2e795a6bb2cf87e88ef01d2bc0ef7c5a6d80d3f331987d7e8c237c7e98641973e446e4a9b094d05ce2707430d630f9b24811ed0a63c55ce440d87da48dcda1833b7e098316dee625d3316c81d2554c52fd8495c30dc546d3af9841b0617bf3dcea889c2e5cb47145dc4b2f12a2cb671b3b37874809dea00acd6e113ce746246d1e884e051f8d01411b16f9f9d04a288f4533d31b74a6f67104c3e34a8992256b083587c2a0bda3db41b7b5de2023d0489e80144d2dd825ce35b9606a0cbc9f4f62166f175011e0f55bd8cefc2b7b0e71951ee57789ebdc3e9f709707fc7490464f2455c396d263e4af98d96d1cab4b1f60f7c903a791b91171a26e8524fb4e309afbc660011de42be54d88f23c630c003159441e9eb28d6a56bb90e38970087c69e8a09386d03a7685ee87bed67a178fc5efbd44d56c0154780f607983d8abf2afbe79175804763bb0b3cf6d4474722fe39ee402c05df184f48fe094776125e492a5c31f6ba1739f20377da812291bc85c02a83daae0465b9121480ebba273c250d9f263e08fcbf615d19d493e1e8505149f9b5d74d5d9099f1a42892fc98cf9e319523721c56e3380f3f27ee5819ee242028cc6f9b1e3a3206236675c978388f37330d9da2f92d0f32f2a64d0007c8a7c26f445f319a9d8bd61f09c174814bd08e67f1c0474973d813fcb95e54c08e6ce8578b48fbcd179db13e29f5037c137840172cfcf059e3987d02aa43a7c9896eeef5c12f9137d697b1738e239c28a9f0b0b2e4fbb6cda424600fc69b578ef1cf8354868874113f5c591748fe719aae72fb46dc418c3e3b1c6d85e86bcd87834fa45bdec7c1423d75d084be2ab408776142253befb00cb273486712d9295df75fce27f429de8a9ad14bf636f830e2325d51bf8446a4fb8d7bf792cdb51821eac36190c82cf4419bd8c2394a90ddb25507bad509d5fc74c8039adca0b5f05cc305f580ddeba4376c8596c493f6b0bd94b1d947f05efa2ab6813e155a816f52100252fb1c7c18b779b7cd71f95d7c5f4be22a7e9d346e97b4608677b059ea66791197d2f5fa19eaa3540c729b079a2a0a72a90fec447aba6d4992cc7d9d969589b209a28c2927fa1c2ca66b1f7f42aba1e370c04075ece8bc5c6f114e0b9864b1c0967ab6f2161b1b974405f4490072d4003e4f3f5eee80264690f630882bff0047b5761c17f0028c4bb9c2cf8b9ca09ffed1af6179c483c9f2d76ca0b4f92ea2324118e5ab355962080c5f352117acb332f5a439ae65641c188fe30816eb6e325e02dde72cc316afcde4b0a813fe135fd1251bc9ff936f45a54cbb76ac5fdb0944e6d7b05c5675eb5671ecf3a83582a570285ea678082e8c2b04497b2c3e35d6a3d3c8d0a5236a0f18a4f75ca1d3ac7e29bdc8acc06be703ef530870ed311a649c8d0a2d3f41e676663314a0d9ca91773a0e9c13351e952f115a64ceeb9c6c55f61467a0db60ebf832f6ad7e874fdbfb11e7fca43d6b3f2d274312ae12730b5db496a8c1d01afd3cf89b0e09b3aaf5b496d903fd22465db113bd00028b0ed2aa11e1b8089d0182d0bc3db878002bac9199fbf72fdf9124b3d3dc544d187754abd800cd7cb82b97502984eb6719f8a7ffb57fd0546f4157b92680c63039cbcaae651f66e7817284a5d636aea299cfeec1202aa9e0792dda6dd3dfd1cbc39fcccf1d6216724f15101833a05202259488a8f5692231533d843446722c1da462faebc9887451d6484f43722846dd2a306ce8208f07b5052e1448037f5d08feaf3c151fdec510497adc2f4a940fa715ccdbc4a0ec3f7a341f50145777f837b0b8a0cef028beaf8f2da8aa2048bb8f2eea2c6f09e388005ee15151515f5d515ddd51505d665a8bbcb2bc2b3cbe3c054e457541485210a6fa9a8a8a80cafe84d8a1220001f0a181285a8ed2c063bd5f0829ce1d1e96b8f0802ce1a081cbc8baf35d2b66ccd096565e9ea13de60bcc28b5329864f4611ab9b5c7a33bc18844d91c848794dc5bd48ebd4b290a2adc2a9250c75305c42d99a1acf9ffb5bd18205636a6c506d6e690bbe6d43b811635a2a8a7b2b424b2b6b035b5066a6a60656c3b423543498a7761626e1ae011e5f5edb82b608586065120af1dad42c0ca2b58db18d2d401b8b00618c8d4d8b415b04b1b136b0b5b1b30868636660636b6b63650ccadad0c6c4ca8ada168c39084b33338b8036d6b620ad015ad95a1b5b515b59d8da5883b136b43234b031b3b4b4b00440c41e48c8cb3be95afe12dfaacfa4f4b13f79b4fcd0cbaa46f164d075af74f491b00bce80d6c3971063751b88c3cf8081b11f4163dac7a5740e49796057d813fea813f68d5c45399e920f64101a50758027697b4a0fdeb772834c53fdedbe298fbd5983cf157d253785e61c04e33046a8781ed528dff58288663a31e5b8469c9e089a8d93812c7f4ae68fe7b191b159c82e70a82d84ae4924c0d7002de9232a8f3fb72f68521dd38f61c0d3bb7c87382a70126de5cbea01e898d44d82a7df15d5bb114b63f5d62cd14f1902f98e85453b029299eefc9d2cebe4f0f144846c6a571b45b7a0abfb5f7a78f02439b6361928f9a9021dd439a5859f1da669f5877c48b1ad2461722ca52c2f450cc8a758e1a6bfdcdcc790126c177b48eee705cc6f58a0741d497c7ecbd81e105d0678baaf0285cb49a649745451090dbc43761dc4c7af95523c5e5c887f5343e13a7a6d7ccf8bedf77e19f91004a48f749ac1151d7bbe6a81e9a61da2e3a215847582505b071eacfa0252587eab81de7ee392f234ba1c7b1d1ad7e378f972de52cbc714fda16b4f1568232c849a89094377e2c3f09332506ac0cd5ead85dcfd16155ddb28c1d02fed3aea271525bc2984ec5f6a017bd558adeeed81c27b504bec194da5f353a026bdecf9e0dd62a67818aed8c610eae197fc870f6e9e3d5613e746b1e28a4b89f2b4abb4c93a19b18bb255dba95fbe96e7062740755deed62cc4d3e84d7eb66276e0087d641846c35e08f31206c1bc0b971eef21728ade5162c28ba08bfd2ad925373227d9154c2bb81f50a61b2378671137e6619cc5aed734b5f7dc823c8fa8d317b5007d5287ce6bb91cf3a42daa7ae642f89fbf33b39749ca6d6548f93ec1493f601729e666497523f8a06106b3c1e96fc3c4e92c05369d92f1589fa979ba9285246fe532f4ca1c9d4e3a4476034512bc4642f9675b69ba0416a8eb9256f11b8f8d7f046d861efd1a7527b9d731b698ce040a95f6c5d27b249e2f7d64cbd7879e0592137419d45b3ecaf39408acff244a166d2958fc7f0c62c9c1547a9f056a8e3efc15fec1b7d13f87693ec3dc8cbb1e79fc36e213bea8547e4358a48f0ce07e0cdaf74016b1f81724a30b87ae3a6d954cbdf925c92736166a2d55c5be2109510b06b9bd22d408bdc2eb78bb00323914b6542fdd70d9339aecfc76f46af72625fe278eec3caaa448d310c19c25f5bcfcef2bf1695800f4c65bdaafcb73f05bc4e4dfe0c3c61303917be00476839a6b0e817b99e8752ba71a5e62040427a1d91ba57b546abda5d8edd3b2767924b4363c762be7af4cfc6d5eb3478d53a04e6330c6f12e4e63cc573821ffb581970d8be04a6b8b16c07d087c75ff7ae6c4796408d8a2339b8e5938eb0c24bfbcf094b21dcce8e0634aff5c8017223f642386f62487cf8b04f94da6ba7c854e251e14ebe31edcacbc974b3d371c22e4ed8a007524abe04ca8e2c80b6155dd4ed6f8340120fb492f106a3b3aa68dd49344b321d0d1ad066cbe88e9709b02c87d1f30247516181e7e9789122f214ce3863f0e78100429fe43d6e18311d5f3d528837bc7c2a5bf864a7d5f18d1bf021bd68201289d89a90b27345236e04448569f0245995c210ca53e2312a45768f0a0adee9490a5228535648003e52ca667dac815e6b33e3d7003a77c5b84ee8f3f8dd1dc1c8271bd778fc8d76c52383114d98101df650d25e82331983cf141d9b144427d8d5314fa84d4d1a3f2a0f153c470de45c59fa7c938fc24b538ba50880e5dee1dda76bc4f749d870be4c0d73c6dac86b5072859eaa6161bca7e615f3b88821b19508b90f784257e532b4f073246b9251bd0f055d6d0878b30fa691ace5c6784d237320a3faf620967634cd3a56bb09f6a22c6069aa97d1ad8c0474b7b7a2bbfd49f6920f00bb95eff61968a165ab432bfb2c0f1396484cc3f764ddf5d68d03b7a0d34d00c0cf20bbc24bbad45a196fc15fdb98404ede448fc1a5c98d8a02d0a385c88c11f303ce66f738d7ffeddf0246d47fb4a74c79321783e8122229ee289de3f78a4f3d9bb40eddab8f8e5034d9b558ac60bb9456962329157028af62992f43e5572cbcc49a35683cdec28a72906d0045439ec113d21349ce8e04f9e9efa0547c8efa2c97d283f60bac58c193f38404d4fb6957fd6499b8e19c2f24642862f60d4819b7a30f60f55687cddd5033dc4bae4342480e8ab297c5ee62ba7251b597c9b8edca85338beaac81572208abffdc509615702d0da847b3eb40e5d46ddd774643edcd5dd61836065522d5fdca872eb8fed5a3dee818e3b8c98afd1e5f12fa472b8811b32feb276cf3b9d5cee0b5786186a54541affc124c29330b0f7338a22682484c29fb9cbe53194f8729e9d295b4b70f0bb782af83255245da0784e731999fb580000c85065bd7f2cc7461e8391f560329be8c01dc22b5fad5e8516470ffeecb07147f9fef25649038358732cc058340e205abe71d057f32596705628117f9504e5947e519a9796cd3d2fdd9ce80fc30b422ed9905c86be806498af2871e563b8f64cd92beb3dfc7037530420ed09d941ffc02de2c65f8331813f4f5aeac8f893846d702ca95e5e342fcbcb200d7dbacddb47c256bc776b74f050b72dd795247f10dcf98104d19c558a6943f69665d18a26907eb5c995571915fe512aece692c5fa5341adef00cc9eeeb1877593282e2f5b42cad632e058d7e41a88616db0f88e2120672e507cbba9850d6d1913eb1b60673506148e8fd9a108d4430dadeab0ae454f428ba04198a8e1e4265e8db336c1e56c67ec0c9d859fa0eaeaf51f8f7ab6d0df7e004a49f4a84fa243769071a9044afb4c49e523e9d1d127dcb866b5293f3a078c614c001796faa84802f989c6eaef30f2652ed2c9fbcb1b1b7e010e86bbf8a4f9a61c835f42b4f2114f08f8520651749f68e65315f9a22595d0bc98d384238216feaf579a76b2c1d7301be7723a9a9f88c7f44f9e2c7f4b29dfe7b91ed0bc9938cac49bb4ee6a466046bccadd57592037abcf80a7ed21221300c0c12777deca6d87590fd9b6b4af30db1ec8e4eec36e284f05e4632f81a1c31d8c80b0ffc5ed774003f1141a99f86fd75fd106f6092499e8a45acb7fb4ade020a4bafccc51a56bceaefd0f133a8d648b07cd08a1f86bec34f992d7df990d0a8a7f0109630e7ed2f1536e04c9b51f0efc8d2f5c3294d24a7fa265c7c6a453f11390e03aef17a9ef0d6fbb97a7f0d7c66e78961502fc868b054f0cd7baf4c6436c1d5574855fe686fed298806f61a4fb46b270f01d26053e0a0f1bfbab48ee4b413a9d7b9938fd58e7117294cfeb9fb5989c5fcd9c746aee930f80207e074b126cbebc1bfe37a0c3efca39f9143349f6099bad7723cb4f00b5e968a44af6b00226a7cd71e47785ac7ada050efbafc7cc3383066839e01d7f17f3f59135787b463e40a293edb3086687780ddb239e98fc08baaab2d217250e6445e34c8092ce3d545922078945fa30a368db8928cdc7403ca00168f9b8e40dde7dcc5ac167186879124ea63e2684b8711b63ff49d4891d782af39ec2a2bb12f3ef1fc764380946f28bb6c0dd5b0909bb67d122c979e9c2fc2d4ee98e70c84b2670a7e3317517e7f28efdca0c8f73087259b7e0bd21e73565d01aba9890a37ec5fa9e4bb007ffc12364d3e853f5d40d765b73d8e621518469af1f15be4d8c543bd13bf2a1964aaea3b59d69ce8247b0f2e9639e401bcc1180c72c61fd91839d979da474d5aa34edfb7aba376461b16366db981540616e66643503ee4d7821aa4d338e0ac0cfc21490dcfaa9e9813761fc0a4cc76f6122a9e13c8f1e0b2ca7170bd95fc8c5e72646797a6c3b1a4aba3c7326d84d09c868b61cba5fa20828e7895b624ea14ded8b7968bf46aaf43d83e4ca09aa2c78057ab51bc82a073771ca4bf68b81b9f72e69cc248f17db0cf415d76b0848edb5d1134f8251f69dcc7d7dac61ad3e5cb0c5754af8ee1c2f0afc513483deb1dbe6649f90db4f44da8366b0f27d06bc5e40abcd23ad488bb1171973fc07daa62d22c79d16bc19e1c632acdaefd25823d9d37c582fc3da861c984721f6d98ebf8cbbbc7ae0d93057dfca119cc758b9e06b1734388fb17fb11fbe5dc208c7006da1978a9bbeeaed3d4a02ff3363d383abccfe03166e4ee3b7e3c1ba34dc8bd483df0b66dc40d20aff8d06e023566ef9d7d3c7bd97e48fb835fa841a88f5cde4d93cf7684137482163065156f0540820d98eacb79e440ba7d6cdd0c1f91463deedb5e9cb60ab7c013a6347f429f326782d1c4d6a555b91b7f8d50828da91c7f09786d1ede00a9caf2540896d6c43f68f4046b70fdf22df2a8862ab30c4f45fc9117350f19e5622233d10155f7a8b845d974a1141cbb522984b71133ceb988c3284a3558f80e7b93f27e8f89781341b9f61b4b605f5489f97c6b0e69175f094e483f84c7d8e51a9ef0a8a75e12fac8fa2c3db672116f03524c4348e13f0ebbe08dc2cbc74ed4d2dbbcd4152c15b60252b337e78f2a3565cece0303bade6474c8e6076f83baa5c27f182f8890c3a1f4c1b050fc129c29d4c2ebd8c20b19b888fc5d7526b6517f0bb7410162ae8cae032574cdaa27717d71e4c6ad27924d579a05ee31e9c52f217b8463427940e3fae43dd3b544ec1e469194e8075ab82214f59426a9624bbd5b8ab891b0a6ff2d78818f7120d982e9a2ba94908c97dd9b46a97e8a4e193a7a97a530cf87b36437c99b2c89f8c95f8c361c86f3d2376c507a9137479f7edd38cbb6cdf296f7e1638b76dfa02df6e876e4bb5da6ec41f1d270149e589c4c520db4a09d251ee64c4889eb8d48ee55c7dc301ef13abc6c85c8e7b9e96f96e633383b336d6784db00fcfe3c8ddd708d07a0d983a1b53e886dff908e13162690fc16e89cedd0d7a2a69ad3b73efd639dc78d53bfac49c58d4d73b60f97b2235cdf70130a76fb028dc4b7414778f015ac76d1541443940e2de87e903324f698dd1836e4f651543aef8e9052dfb8886061e60716f47c6f0647a5956a09f8462e81e460b7c59824a27b760f2a363247ab7b1815732f178c32a45aea730f0a035063f82edf8ab084bbf86c3aa8f75c2193fdd06388d4440680e7315f3b0225f5dfce1d2498c5e9693f43aea20949f3192494e3c88b1049ac5891f7eeac0c76fa5f075186806fc4083205ef7baa9b7c85a7d8e2ad57df3aedfc66343476a25781e0caab8d350ef5b1db1fee3968067ac61b23f08a23a952531b4a0141aed805473fe9971e2adc6003d0a90a6e3daa4961528c9d5bc4bbae5ba2b7d1ac805c6d9b36dc737480503e58b768134152321bf83caa02683b3fb4f0c515b0a08dd731e997d0659581f6d08df43c9a2e2ed3a38eed442b5afd9849a4ba103d7c2e1e51f4c21e1c31458772e99f06b6e0024fbd3947fee96630004fa7819590eccc0b037fe45047842adbfbffdb12af74ed1e2bc59691aceacee7ff77edb19723e5b218bd6a132f85650841a068ec5afdac2f3116d115e08b19fff66817d2a5b74ec9e28a90fe6cdf6792d50f1c3f982f6c1a5430017f68afcb45f3e4d21c8963db744899eab72d5497424ce6f566c3dd72fb7059a5ddd64acb71f56f5adf470fb2a1c9abe29134eeba062fdd2441ffd2586aacb61223d1faa8f4f7d98db91922f5e4b43ac066432c0796a70b415ac2f9f13a0c14e3d11e5859ceebc88d32f5e26a9f32a08bc867252852c4a8ca81d89d2c896071affc5862f0de593ec953f86f78928520fb9e1e82f911238e20c8efda477efabe273f7de49780b24aa74645ade7f41fdaeb59cf50e613f1b000cd17f227b62a76ec23d6fe0d73efca1e464c92237047af3d720257426500a178047f4145a54bdabb028f9049519ba0b14973c3c0371cbe6dab98f22a07e654402f2a952d076722bf2ed8a4effe0a8e09bd4ed3e26e6efabf8d0e2b508c9e241da2238d512634f609af34c307f689f564bbf7be1f8a90a869c88b884fe01a1ca0599d4fa638feb4f293df51c51215e820a47ade1cbacfb2e00a1013ce5ee149ba764a26258ff61d360c71d77b9528934726c6986bf5cd3b0135ce873176b1f349ab1d74b1e20dd46e466dd455aa5fbe47878233b833ea4dce0f7b1e1135a58e246b1635e5809f9833d912e050b8db37ef17d12861ece658dca6efd39addbbb92c51ad56ec7ecf5a3e5457c30e7482e235aa78ec6068e05d2665e77310d78e9fe8b488b5db6cb791f85451c6952c6ef5d4639ac2c0e0fa612f4532507ee13a1eb3985a93c10990b4fe5e7c5916250691f2a64feefd8807651caf3314c23f65c6bd1a778c3a1e718f07d9a9898dbe8f3d13850c49a0c0b8506145e30ef5014d3ae91c1e54ca9cddf42eb43a6ecd49ab68acc2c7c22f8dfb4d11e8a52f4681f3c35eb865a5fc4ccf19584942f2af6a97f9e867d5469cb87f820fa70f0dfdfdd6afa87dfd22d0606f65fe66c685c23079c42ea6ad57b0130e4941856f57cc1c41c569ca52779e866dd112274241d24397094c46b1da950966bebe1aa7a51dcf506a3331186e20dda141fd8839506e19ae87395785a05da3f685ed6cb787be13ca456fc805f557f928475111f622de8248a3d9c09438dd3a120f230b99b3ac898d69d18e9f398249a9a4a1e979825d0bb1714a39a19f4741a1ad1327bc464a509523408b10e641b112bfe7134c3d790d4e2905432fa030229fe8b06b87dcf047c1aebeeae4d81e3cba484fe20a5029ff257b4ff2a2871a24d351d8b59c239bb78b86005af7f1073409ba041e4b93124bc118da426f20aa06c2509eaef9d2220ff854ef91d5ca862181d48eab77b720c0599e740a50299d72f89f3c6b4fe6e89b4971b937d38235ace3bf66333fee8bf504af8c05774bcc207221ee6a2edc1288dfce30c585fb2a2a8ab0268791f1d1677d9099c5fc080816f40247459b5204d953444f7598acd749eabbbec02878e9bc1da627333e5c455139f8ad8e4b5932a3da781869e1158f7bcbc57768cdab8b7556c75138b348fb3e8ba31bb2efc8459e10f15ade09f6dc53a71edf07f5000f1223a5871631c5fc07bf76cf9f40742dede67afef79ce406c5ba40bbf772287be4dc4f0878f7edb09df0b3d847366ffd8c9d4560e28ea6316a27a55eacbc104debe23d8e346626af9974bb2fb080349ef7a2cd493a25cde4150993e06b161c98be99df8dc0a36ef40c803e7a353f33dc58b7b6121c071fe381faeae50d789befd360ed472461efce10ce00d19824807e9b241ce62f3f3960806948b7e7fdfb4c9d716fb12d42c7c49ecc9d200dec58f46032040fecec437771b339ec58ad64d4588ee575cbaa33de99b386bd455544edc0706ddaf9ce47b9fd6147f9701ee3598013ed208d9f725bca289bb4e5faeadc50b70f2fa46b161728c040b6de5c4d95c3d7559460681d5c19d5c63e6153a14fcea4de71e5d127c133a56f70d0e9cae186054e7191e70d4194cdcd608a45f8589722f4455afddd2e74e6b4dbfb6634aebf20af81b582c3c0b0424dc110bc2ceb93b7661d11c8f62e2eb51992c37ddf1ac0ff4e825d71c893907a1c4cd8b4741f3cc9079439950dd626890cc821385b680824a13ee4a798b1e03cf73a1c00fd8fbf114094afc844f62fd05ee5f4bd299c69035fcc1c3611a0d32f5f30e413d310beadf6043fc802a1e6f002af5a74cfc7e8f61a1af424dbdd7d1f918ad930ee3caa56bc8eeed19ed84153d2b1e2163f09bd12c7e6fe70da3a8af8284d5660d75f23e9d5d9ce8ecef5bfc7cd93d527abc80cacc1dc3cacd33c9e241c715c170b7b2a1ef56f8749d231a7e38c6e0e75af8f0195a64be8c0d817e25a7faa149b6f61510c82f2d1166c7d536d97778c4ba2c4ecbd74181320fc1a8a1ff1c7489e9d1894323186642ae423aa2ef9ee8740ba421ce45f6511bd378f092b6101eee81d9170b076aaf3b5d9741b5b37f58ecbe978e5efd7934e09ecc43ca73196f1c6e8bac3328ace013bae03a032f2076172fc34fbbf6aa298d88bd1299273d7b7cf35f3eb86500b8fb9d22bfc8b4800edef5af2da6aaa7c75e32895326c4117e1c39c34ee0358c87f53a7949a929aea481a36f28c1f3500ab25c46600487d0f97a98d4c93f2ce9e245607c3e1dae00bf39b2c49988585d0a9dea9b46f6ee2c1e80dfccce46e7f851e858de692e028aa92f3c501233e3d0f519a79e2e0473e4aa4991facf88eac3d5d06aaf5a1cafb4c0a4b178f49cc9628d26aa71f4c502c2f8c3b8723f1b025b26f01fd684ec3ec665f5d12a24fcc1570f8f83d141fbdc12dfe1b8eabf3406f864e7af7641098fa448d6333862a199941c974158881180f67d6fc0960fec68a2af6267b4cdeb0b7d64974aae7ba2f879b3551a81cd9caffd39d0b5be851fec0267a7cee47e2f92a1bb4ab8fd3744205a86a09257d5c9e25b7e74b9162d48b65311f19987efbf33c18f81c7cf07580bf299176278701a0e5dda2ba0fc462384f62ec5b92a4f802642539dc390a83ada3e3d42fca95404dda177f28186133f0824ecdbec5679719853df7512e56b53656f6aa2893ee551c5831b4b3704169bbeb52ab531002d3d0c47019ac606a393ed907aee81432f9c42fc96a8707e0921cc2b7b4d9d439020cdc469821e36623507a992e40f54456aaf249d1b425bdd8c6536e5894d85f8b0d286977200860686f47ad8e3aafda5f8e17957c8f80257e6fe464756af7565f0190588efa1a3f20dd502ec0c34ecbc0fcd7133c969e26f7c909ee47ae9335d3b2f858beb938da6e9d653df07e274f87b340ab76394c6afb1a2b511c4f97d17142174e08c19fac8e6f12143d0ca0f80965c6b09af0f5bdef90cd9e3e61a02ea6a5c0dbeb280ccc7c62ad85f7aacba589608bff364f6b745c0bcc821da4f9004fb0150881d68683786fb5e696e27bd2a7efcaf0f5800c40f3922e0e17a58edac2d33b68cd9135bc66998efa380e1a3c07cd1135c43752b98892d23faf586476a5f15889457b25dfba037dcb76266e78ebb44fc89124e2d33e08acff598791db45bfe8fab8b7ea0dae69e6d7d7a9192ef1d3452ed029fb27fa746b7c14a943d0d86b22f91e4d36cab19c85a080ae8f2b0e5d652f0f45d80bcf6071f55348a2e0dca243e73fce0cc09dda503d39b681bf13dbe30f02c5372fc86294a2f4977632b69b2e5bfb30ff4129b0cc7ecebdb35165cf1211aa8f4a0e593b31aa540f0647c36de9817f3573a711f16e1ef6c93cd52cf43ca3a9bb5613d211e0c72300a411d89806fe7a8b9b281ac04901b699474914f883df829e45b40846c439c3597c24afc4c2a537fd947fa655388f81499320d6687ad0f319aa0bd18d67c1d68ef0e029afb5f2b5c1f4506035fec11e1eb8ad878b5b20a9d2943eb19873c3a03deb91de08986f9ef7dff426a59192883cc2fe6387d55b322cd252283a6f3ead50ec45a945de858f2361c5f786c18b93f40dbf97b1e067892d6cec31032e88f4a66b65b4ccea3402d7d4d5c2bafd5acfd3eb1576f9421e51ffcaeb969e6879d604b8a73da5001ec42029ff8a5d7cee74056d150710334aea4de2b8a9d6a2860aa326d8e938ec9fa996d2461bfc495af6b2ef0f1791f0a6cdf2cc1cfa333d4533ac7ae83c2e9bb9079dc4c3a287e6a1b96cdc309e1ff8ce9edcbd827de935719e5b736926812911e9e718295f7120a7619328e4b18d47c2e8b5376065adecd43100cf9cbad83b7a54dd5728a816f595b646e8c55f2814a80b34d909087b17bb97bab00df8890c30e5077e4e35271771b63ce5f590bd56c50918e15c9a31b540979cc04931b859d9fdb8296ea47275697e341f1256c77f88853357dc5aac4cf7ce2de30c4ec77f9d2d9ad0ae4348e08d8d90a8928fa48a5b0a6ed2db26f0810d06d6f023ec9c1dddce5a7fb3d4541b480abd9df6cf5b29dd298fc46cada0f1b2ef8380c6c9b6af8c203e864b07dbbcc3a0d5c2dde33a7f52b56bd7854932afe65450f3de487c233d86571f8b9c914ba6c27407fb87b2273a8a1f9a548a2c875084635150e28f6880f41dcc76095980473828f55b8838c46fef3b73a4c1e0fa3246b2c4b364745e2b7293934beaed6ec3b70ec735ee9eab5570a4f29d7f6a265a96317b1218a7f890246d34071fef130164de4497f93a358779992650f35c56a263186b4dc0b48ddd318a6c7907635cf8a295dc0eccab68d02a3dbb87491a528f6b961efd376fb41e1556ea4edb3bc998fe267a583748a7982515f7d208a993fa01db001ec79f030e445fd384084c716a1dd23d2647f020e0aedd7e3c1fb2e61e9280d7e5c7876f0898e08d198c1aff383ba2f3d0409cd0b1bff7c881290f3afd59527d5bab18b61406902be5fca8dae25bed64d86b3c0f9f27b38cb3e00fbe2bfc08ebfd202cf83820e5339a594c71d4bc2ce516f74f68e1ddb074243dd9b9c11fe514bed274998ba951425766e93c66fcba065db20bdf27519486c44c710bad406839810788bda009862234f5ac6b9a74cadf59267a75c3dab00031beb73c457e9d2e5af78a1f8e7dc906790714f8593fc4ed308bea583dc3f8df8e03d26cc3ca683790a4caebccf17c1277911426b421df8b799233b6ec7955fc9f8e24d0e7d682dbf5a9d8ae3c79b40158c59b310a8873a97e6aecf211d8400a8320a25650c2184104b082144444464c6ce03922184024992e3300ee7511a533ad27a200511328a8888884820a1482022124492a420e92faf4220f2ebacecaa058770845d5ac11027ed39ccdac1e07542d8adc2530cccd3d70acdfbfadccfa8ce8b6074e7fab2827be7906f0270163a9ecbc005c65ef6970d7d833278d9b5092b53649d0865bac360a4fc01267c2be518a05265556b6778e0cb49d08e1182112625a394f0a45b377162b4f1c76423047a7f75b6f2f42b94aa938384d5d7f5257961850b25c8809b77cfe4df9920aee5dd63fac51d1bcc8308381a5fdd922009e1d29c1c5403ee0507113876b2612f0f12274d7d5684510d185e5b5c393b5ceafe9991bbeb7ffa500d0af2544b4e8fe03a888edd53b255e2f39c1df9db65e5f9f98a2d3cbb1861d4ff38690f6f5262ec3f243f2224bd31dcd324a11a3a418c2606672fa09970d2e6776bf52330f958d82084b1dcfc8f03845de21362f778137d088aef39cf4f96f99e15fe332474fcfcc4cdfeb12679d2093b8dd08b0ee2a4c167fe4a8afa7780d7553892b7d9c90c2aa4fef9d6600327c1c57ce4edb261ee6c294227b67011a07d4dacb73f3a033f1baebdf20ef8054339addd2ff4db3392cafd7971386659498bba1f5ff20a8d4d865d1f5310b4c44efe221ab19e96458c15d7b7dcbc87074d4b6addd12b7b62ac2ee51cde33f0db2607f53fa3ead9c8e3f07a10e1f84f6ce5e13fd36bac8f6325d03a58742e2660347af545a683869894eeb927b857e5e8f526d7c3f39450dffe788b924a730a45bfd1b06eacc1bcf6fa90fb0089caf51c570102ae576f1dc20413170ee7a7f4cc974976b7d385a98747155f6060ef258ce7ffd73975d5ae62d739654731ece20070c69085c9eadfec653288d39051512e9d11e62972b4773fdfd012850237744afa38d346388779c88d830f6f600759169e7b775b8edf7cbe7a9c6aa8fbd382708e8efa17a998eb199bc8fdccdb53e3ba63d754ca17af2459f402f628eb849e11d969c7371098e91e1f8931cb5e5fed4093b45f95a9448ba590616aea9428f5095943db752240b558c97a0e08aaef23a85a38859a2b4dfa614d06ddaea88c0eecabd2d018547acc01be9b61131376b0416bd2395a442c20a5fb2807bcd4823ac931c71ed77d8ff4efca0a7376b2848601ca54c2db61f70e6c929dcce903820c2ddc8dad32fb911828e7c1f4cd360fb32482e01b2ba5bcce08b27c4aff2c2d2e7e2e1bffb620bcf93286f9b7d27742a0bc411ad42de44926b3d0d5df5d4def851cbdf0f1e2d3f0f52cee9d17428383f8867f9c36fd2c8c962d5f31904f924bc607f2edfb3ee5fdd6e7dedef39c8fc5e1580b4eb795cbd8a4b8f4b303ef034412edd5d4b6634f6afc5db8858542479e76ece71d9c89eb28629bffb4723d3d414b01c25657a39a7de79ae3a74ee20325dc5b01447ba2e50c388e8d5917156d3bbbb8dbd9cb03507cda2c2e7cc4c96dab93b6668d29edfafe8b9b776933aed884630743cf201d7cf848ee7e7cf0eb7d390d65b0eb8dcccef1246645fd342bcdab6ef0af7a4dde358cf7862212f27f7e31f4b42837d56bfdba63c347619cf32917ae62f40c4ab9d51d5077b2b161cffc7d1a6d76cf4e477bcb332413a327383625916310572a19b9e75d3c5dd3b379a1d6db93261d4a6d65335e90f7547af60505769f6463f7e589d81c047d154e686cdefb131ab19bb848a6c93f76f5903aa87c40f4a1acd3de209b7364c1a3c8440c887f27c8d0ff76b134a77c440f2969f91b792ea0ed5ffd48b5f050ec5ccae0c1337f0edbfe64c693af3ec8f8cbbfaf9196b2501b1800fc31454f3fe043dfc249f5a6e9c250ebb2ffbbe265ef2c7f62aa5bb35a769d264f627235924d06c091a5196fe9bb980f2bd3cc15c6dfcbb6ea75aea3c45ab62feffb0af2220435bf50709d0298b636ff42bc49f2134c332f04b5c8f37e3f7b2b2555027eabdfc751c736d0e55e5b88cd57b515070d835a1d389df1dd09bbb48b09e0465d6eec06a636e64dd04e1c5301c87157df1584fae1418f6ee91fc561a2c8eb00d53bc7ff878d22434ee27bc62a056be0bd9e416f72d532ba0279997d82efe37da9dfb3ec0078ac2b67125532b71736e0cfabaf99f927eb0311b8bebdc7c9db01ad47058de0199dd2c2ad2d766f566c420c04d3ffcc09975a439dca31df837c4c228e3b31dfc5c2dd5d489ea78fc357ff4de29f6156ff44d5d4c385fa30773fee9620815a58c2656e3631f9eaa3c47057f64598891ebdddd64a4c370d258b3dfa780f601186f01d29403bea13c8799f5fc3b874142f92e8437c287af098ac9e0b10d1f807706360d203c395b1b1b6535b68a5f83ab21fd7f6308a3ffb83991e535ac8e7d246cb049ad81a2cb72b2b24a240aafc0c86eb36cb9777f2bf1b1085b37107cc4fb67350ae5d4fff0154936e4310caef54d2ac2314001ad827d3d109b40284b83bad21bc286bb9dbcc543452303db33d13405c1c345f775859bc9b96371ea91d708278176b4e071b20fd66006ec1a403cc3eca1dd8b6ba47383688ba7b19298ac370ec6ff290ead18b51ec69ac57950e4e1479aabe6f2bab4cb3e06a2ea2091268176853a9a5ba205b237040c2f7962f931685fdd27c69d4b6cf4824cbcbc058bb6fcd0585e414bda0247a1373def23ac8d85d04180e5f01b5d0701cf565187a3c487d3039175c3bba8ee5fe8597836656c21c9981b37d4fcb8e3c7539c65bf0e8219e39de162966518e062b180121e37d072ae920c553f946f7bc843cc4878a5e374bb47b3b03531733aa5b5317a97fdaabfd12e25c90ef73b45b48be63381a46987128cb36a6e5db811b019425c610be38d72efab33fedefb575e83c9eaa8a4805570fbd83b4c57adce682211ac0138f96bd060ed619d21097004bb703f78a138384da8140e1b90464d19e033649705028c9efa320c720fd7853f322295ee8a3db009ddb2c928183bb816356155004eecee80c6ca07e61a63589ca9c3a13d407ec84a681e6d41762b846f064a803a0fd91621ad28394a0e7108de1cdd415c8b0bee024350138476fa821358533af1330417dc04e4293d30986753467f34f2a06888e1b0786103f93b7807811ee411a5eeeecdd61b656a3cd67d1ee5135e2d272a9f5d682021689f1adcde8db5e38800de552d83620566e43f68d476640367bb2f2ef0df884626be02bc619c7f61363c26ed139834f43050b3345a2f8ef4be656000ae530ec41c84138a5280c09608e917d18823f8279b3f5e6bb0d5ad5708ae75c75c8e2e691fbe8dbf7bde5e9fa88519a4404574b5754a72ad60ca44d6d7fd77441bfcb0403ea42981d9bc536b84df5cccaf16b23ce6bfeddf9f6bbba79f962176476a09cc1899cc5ca627e1e9304b5b624d34a9854ce698f470aee27e33e95f030f361de6677c1cb621fabc5a5493e1f7a9d81cbe19dfaa577ab0a4aed9bde8c5598109bc7f948a768c60936b692b388aa55a29540f6d0b568862c080c6b001a44a8102850f8064140cba061509ef1904287a30a20ce836f310b2064087dd180826c6f1c05f427062d5acb14fc00fb0008015916c096fa6ed2a293f03dd9fd865fdd30c9ffae354ffeb3e4f0b558f79fcc023406035f039b60243132207d0f14f7d9e111bc7c1f8a856025e2837724de2663a4c79262f47d447ff37137dfbfa5c4f45de44ca9857f699923c9c06cf96b5f4e44c11142f846dbf83c1789f235405b76855c2e73f401446082a47cfcd97e5c2df0ee1e592c6494f1785c100a065bb27724ad0ea4ec1c38bed4af6552b46f2c4225f4be7d77157c40d70b72b2e4310088466cf5d9bc369fb9dc52bf0699fe2e692a5919a75f44243e5cf81c0b0249b427187dc788e065751cd3f78b3686196052dfc51e877d175f83feabe25d556f1f5dd7cbfa9ec1a3eb4cbcdb890fbfbed3a498d0e8fb8c6d46c69be7e55966199ec449ea03e67dee7b19273fee37c99ca0cc61b898ace06c998918a2df970f25f57d448fbec3f04ffc4bdb6fbbff1a2476fc1702da9152a7d1e67f8d7e69626fc15f66c4494364f2074f96ff447ddf8b752d178e963f11b39593bedcd28e518018486afdafe6fecf5a6067e158d973a3d7e7f25bde3169a4ef2abe3a4f0a8ac9b8ecf4abb3d6432d4f594d6fa19d809e2a1f9fb94dd61fa4c3e396eac951ff6f354eda86ea46204d827603a5e5f3a01ab1261905450f629b338076828c7cde425969abbee759ab797c7ace36ef80077d2f23f27dbb3d3f7399c07be4bfd1b8efaf4a4aa8dcf23155556d086a6c0764e2b631b6b1b28bc7238091ff4baf303b02d874d1062424f4e2bc5cb57854a754b74b72004042a810d38971a3a09e7ea726340d53bbe7e086881f723b9d8508f3801467fc3e318e505f83b76ef1fe02c71c81df325d28593f3519181bcc3ed940102e0bb252ac4c7fcfc018c421124b8d060342bd5d024c08acc542364b312c1df61c562a56500381b3c5041122612b4dd244330047a93c65abe060e5ce6a216206d91eb06439c564e7f83bb4ea615917eb732b7f6958f8b17035d61087ef255274c90d74c56c6e98b5d2f79aa2139492a814aa2e3e240e1f7399c09b4078a604b4e1dd2c1b25e7b94c5c5a4a64520eca132503214ea227bc88d66ff2bbc7ba2eb608400c3f7c0c7d02ef9f09ae1595149413ae327ce7fcf7bdd4102e2eae5bed7366afd57e6f3ed3f8712bab714f060e1bddf5ebac79a3341a5dc36b99e16cb7508dce6fa3b631cfd34c5555669eff4fcbfd2b209e802b3531eb98ce0344d0517ce972f7559c8cbeef7cbc4978b67b0e37d273f2a8e4a9310b65699256ffe73ea15af9d2eac9f69049216cd9d721c3f2abd336528a5aa0e775a7f07e188c3455011283c8d58cf4dc99ababf6ab16f00bf1154f88f29774b4d0353e6db12e0e145b8d99f87cdf3f3921a740c1ab76f43d67876f6b51b5e573fe1d1f534d49890f6ad519ecb36fd323e403e4a77d1df3f98cd6f179b381786c0c0120604d0f8400a8728355cd485246416a0c07822186023910044190a646d0b614c6b28918c731659031c4102222222222128904124810494193074707c28140ba9131d0dc17fba35bbaf640ab3918f5331d2ca7cae314b98065b5d7f95034d61593abcbd5ea8ca35a3add4937af2c289885f4bb9dc79009245e65dc67920e164f709f15aa0f584a101fd2803e828e08b28611e183243b760961d7d12c04299da349b49ab1c9cc2518b20450a38e835cf1c37cf7fe2a2610292933a7d2d3954bb9934ed48180f0cf240d6846c1cb09940faa9a5628219dc6dc0a8d3cfa64b29e75cf2002067680380c1f891351dd5d73bb9647a24ce3eddec67513764ed53cb25c50315273fcc361a8c3695703b272bf938278c2c1978cdf447ad9c705cf1e3b80f5eb07e5616faa2f35c8772b1a0f2ea9d4d76c396b75d6dd4f2d47657f790c2a270ba71fb5f9cb829c3dec936392591ff96cd69615099bdd897c37c227dc213aa912079c4aae6fe2b62e43a4e9862b6a94196438a7062f4f39e9c6644d568e03db553bbdd97a2d39f12e4e822e5f127aa46be02979b341c459f78f80e3f3086b0c5eb36b85559cc83b84b2d553b11803f732d6fa75b229f9f199e75ec11112947e2f54bafbb0530671443d611d0b26028e6bec46179e45c0b19d01dfa05e007ae70c7e747d8f4277a299f0cb79f9f161584acdb571ec3c4ff849a72365ad3e6de3afe79186c44c14fa98aecb7b896d595eccf4ed996a6865d8ffd444842d6fbcac3c39b1b73d963ddfabad3d57c263f514ce0aa31d2042f81b80f61cc05c263638dec7f7f5833b99d12878829c2d1d1eb1d28d572e38e6b0eec3acf23418c33e321651f5abf6079bca86cf19e1d0d0f57710dc5044690228fcddc63ed0bfd9ed93c83a8741df15ec7f215a5582f62574116b21aee11d1bc6d3c1e0b9724f54b0e9e1ce473371bcc235012db0401194df14a3dc36e3db397dcdf03ed110280d825d6e3b89e6192f9607541e8e33ee0877b1c22151fd9b4f9a52a506ec7fcf65aa2734bc0902734c597e2c49bb1ea1b00126ea10556dc88d857b50f0bcc6f87859323d993d10b6f8dcb1c37110978ffecf1ff1befc003a85ed9649a362fee3944214f990e5e9ec630d65c481c6657dd9fdb8ed8d2439ccbb79814caf5e7777a6225c64896258471a1d0917d81a25965077b3e5deb1511e62f3c05e516e1655e6c41cdeaa787e5a4f33e93c9250fc0ab6393bd686184c759697ca35eea2434c3d6b605f8d208498da2a30fcaea8652c77fceef04abf1f69ff75b6f091cc46c414417fcf6aff0f6ac8e6d2cd3f1d1d202e09918229906dcb4aeb8b5b9bc652e370fbe5bc16ed65ef554d3b8285715f24e1e0345e5a583eb13c9b8849605de14a675b9ac85dd9d28af7107b351d293e110db940194f1a53aef936a7a0f7436b5b7f36dfaeaae3418df1582fb21a3b3d095f738de2f083a04f26c39bc3506e6ed36cb6c93a51e091767749adca4dd810b98859c1820a6a78f656b6ac66e531f779df3318cc781b9efc0b96e77063c8d1441281f9395c0f4fd8bdc3d4a9d7309c5774f0d5004921d30406701ce73145af114c324aceb7b5dbc623288a75d6f930882bff9e740895403066d5d18e5398f454c2166e3574b45457746d6477a9b7d45e4be77848f435b035d0b8921f8c39fc1d06e060a88c713ef9ceff28db741eaabd7b260ccf5ebbdc87e29bb4e14ba39532b89366c6e48728b8494d8dc1121a104c9f398e52ece74e6c50bba1a0c62c8abee8834dbd79149033f4091f7c4ffa9ecd5c379fd5a7c62bc5f3351ae3235c4511ff69bde7fe80a2bdf4a834530121ae2136b9b0277224636c23635e642a909a27238004776cdced8ae650007cb6b606537b6b8522cc5c52c31617d060fb8a9061384084c772ef8e2e9b61aa3ae19a24a45044898444eeed1aba762770f0ce2700b500cd229fb50fe09daa313b69c604a6d4890bacc21cc6933929abd9e72805a56a1d09d229bb97587205d945bbc658c6a644f116ecd89749d07481d8cb9d507b42592dc3b799d91afb8e4841664e545155ce474e517be083f4684feb15b53635d9bc14861b1003b3790161b65930d9414cb870326a1ed897b0acf82ef4061d5ec707a9a30b9bbecfb7ff6468dd1549012a0e1d0407c2c4c8cac2f1a5703256afc3653feca7807557c3088bab5855bbf1b9d5288158d544daf2c66a639901f0b4e4c2a51c92588dffc44d58948013a365d400eb891ed96b7f87c563fb9f202ffe033b600927838353660cd095c0b380ec3ba4c597b127faed74b499aacb267a97f9ccf84509d4ad539a364e26f898e7cd74287a16c5d20bc0520b64b9c70e8cfeba23a8f4c388f72a8a5c45eb80c127419ff200a20400aca0b11e9f1f8b1cb8aeb66e077609fead3e1059f2041bb7148d178cfb154ac6873da002cfd18f0e18b9859b7d003ef0967e7c4df8d57aedba98934e0a0f54507f384bc9e64514070807bd25fd52cb8348f754301ad6b32e069061486a3d01ef1c86bd9a206dc8d8a82275b9bdee1b5f27d896c4d29157b1a3da3f60c84a54d124ec13005371ee05b47f80ec5c2c327b2019996ccf610ac7dbf6f312fbdba3ad1667353c7fbc09fe70bf604af6484ceb60d55f5e2b909b89ea9682c3d28ec4cb761edf18f51ad8121da550c817366ce91ce0204e0d8be5756fd8f9551d45132d3b49bb2c74cd0a0ded808589ff9920654e1c460a81021fc040b28bcb1bb9e394c3533badeada294c1215240cc999c5072bbd0b907732af6c3b09ae96c7915d3f1bab75d0f1cfede38b89b2489593aa3d117eb08d014b9a935eed1335567e5ebbf1549ca41d70f0515de62dbb1db15ee6f1598a89e88bd51d19150594704a20779846aad4118291bca80989fe41a47d65ff61ffec3cf69da67ae5fb7522c8713513236cd3d43e26ff0fe87be01993802dab7119d1e500326d108f44c2489db87c099189205f649e4aded5564a902d35bf8b8fda283c0b22f4898c3a4007fc6b95df655631a39ac103b996d105d291b296a3718f6a9d169f4bfd80e466252a3ad0871f09f5b55c1b7d90b023a3e7fe68726790a0413c4598d9b06fca021c426338cbf0ab356821dc8c207d8722cd61caefb00ef660d90220827de1203f61c5938164354dc6e13d5e4ce47a81037fb2849f79732df061d5a15443f8954725ae66e2a4a4874be14a74bb37ff88f35cfe5bf24658dc18401ae5a3e74edde4e09d0acb5afb34f9750828d4746af936099f141a249009373bff32798c9ce84089ba6c1081f6aac05f9e63889b8a38e9d6baee27a17d0bf405012a89c4203b20e67503b0b095f1637e189754cc8fb9999154d67726ce58b59265034724e6bd7d69b86f968cacb01e1d2d9b67bfe18f832a46eec074756e186407ef0110020202520f3937278b7a3fffc9bebcf8b2af29381fbb82c17aaf3cac0975865177be6cfeda7730bec37a49d5db41134be593d38f6bb21a917d5f035e99f2d3b5cdc7767fd9c63dbb35b1a2813a0059a60470b226f7bf913ee679e722d4cb375eaaa29ffc14cb5eb1f8a824d3fdfd8c493a9e125fa329d28f8f37a4dbb67412033e4f806890e033ab4354559a62993b25d6b5dd7eff5ddb2644efd86a0011e03cef6dc1227e4d98c8454d39c9db206e2fb7885adc2b588b44a698ee85164802bc365ff8ffc964de5faeebae156ea9ab74359ba67b854df7bf05c33a7ff3cbe9c1cb79c595b34e0af6e2b10456f42feb8658c64acd4d62deff8e300ad10fa095c5f2ee14ef6e43ecec9c8b7fefd26540c1a8768ccdbafaa5d729ee08bdfbddc7a6596dcf6c9b6e732a9f77554758ad1f271406db496798feb7dbbebe3eadde6b9f6d5f2a428488704eb6879bd2316e33eafd428b8a9e914dbf6bb9173a15cb67526367a8ddb88876360c7156d4f7e23c675d8942abd56bb5ceda2c142a9643508bf30731072240ef95f658322d2ff6e1f9211963f32c51ad401c6e7680ca61da75a376196bfab8bc9549a47d34d6f4f2562691f6d158d7cb5b9944da47634dbbe5d206670c3e40d1f455bb5a55d65f3d81248d36afaac431f76ba56e5129dc712728f17a36f108b13c3d8b8b7cefb69349f1027c7772d88444010c267470ce6f8e122447000e95dcf02e8c1c85a51de524cc2e9192521f957d5694987d954a3e0b8992f448eef51df390e84f6f90046937fd13852397e2e5924cf292113946461b4967e4c8276803693fa18b0cd0da44e8661a44ec30017344a4746d658e21448ac81643b8f4240c51d63658089c10e19c3c6e83e4084e1d8d564a0302d4d4609c846c9c54a6b81a6240c07f945c4062619d37323f2ec5b46da47f40d17d5062f9b09ad6c7aa1e2d9e46a81e577660bdb2aea16200561e4e529176789f0ce53901f95850d32100d76dda7897e3cdc912cd1e122372f94455d7d4c3c117870320316e2fe76ebc892591fcec622cdf00da9833227b349df50978926d4c8df41d43c8a3065780e5fd4643eece0b7cead509e8a2a18c3f6dd4259898812505a795664e7232a802c03dc51d782120850cb57867fb76f219e3adc4ad61efd7481bc6736bdb421bcf0b381cc7ad0c051f2c93522ea20890048275039036a516017e4a4540bb0643587c61fab1a8bb1e8f483dbc15cf38507605bcd01180b262098e5f937874f46da7c2aacc510906ae859764d2b6a2e8aaaee56a1329b00054f1df381435322db5621905030f688294c258bcfecd26dc930f8c7c222cb6edfecd2c0bf2984666ee3efbd54040c2041593da6847df82f5f2abc4f0ee448909f57d87e1c2c29f5a7c4c3e851c88316c025755ab3116ccdf6c7b17f76aa697fd704fb68f6d73b23d281049e56460218c3d7a806b1d62398ea16b9e3c3cd31edb9d8a8d45bd98c889805f11de05456438c9f058555615c79ba8d148c4b79857b81016c94a65f0aef0e47b1ee658e2216158c04b2545bf18c4470e30c52cc94db8009f175278fbfd9a733bbf18af0e1da8396da8d854daff53d80ed38a5866f3e73f0fffee9d3f31ebccf76b175be5c0ed9bfbf4ef63d32eb066b3bb212a9d7fb519d67fa1baee6c6aafd07dda5cb6a9914a13972608b484f51461cd947a2662c0e0e34c8b5f12d94c1cadfbfbf59dff6edd341eef6ebf3896ad8d0dc7d3facf3337e4fbc77534e391a9c57366959925fc7fba5fb7dbae97ee64d2237edb70bab5c59c875cde9d8ddaf575bdaaf695e69c32b9d1af17db16b5935f1cbf8a0986e1a1fdba134c2430562f2f974d4c77e606f262e16fcd0031594231f90bf2e3b89857fcf3e29deac1856ee208b5abd7afae8bdeb42604a53808e8c19faf753717325cb674a9be85ea7cf3f7d4b0966c9feed3e7960d7c069c6efbd660a5e567372992b086cedb8617e6d14aab09dd2c555949292c700a90058258ae4451026eaf5c09a1a802102b50893e7e0cea55f983c7a76769178795a522854785c60da689cc94b4e097e5dd6f8b8d949bbba1a8d8717a13b848b12289e3630d294e51acb840c201cda228f5e068da48c10d0a149ef62486d7f278c657bca30c7838e19a40d7751328a7db2a969b6c08dfbfb3dd71b3b7a840acf8489ffb3ddc75a4a54a681317d398542e2c94e9e81ea135c74213067cf61ccb7c54c4afebdeabd4428e28161962b9d197f4d171ccf343b11855c5c5ac9e8470b6a285f8c42d70d1cb5abbfdaf6ed5b55dbc766ca885d5eeffc26ccd87453d0a05a3fd3dff9dd512f466b1bcc86a26e271c541c3ac3fefb1608a907eb0bc4400526d2612229a53d416f9a1d5b9d5cfd9f03c7febcc1db3cec462771e4ac3ccac7928c4f1cfe6dcf2bab39be67648ac095c201c4c477f36db2462b161b16cc82acb44f3670829a6b66cf34f0a84169abd5f05911cdc9931d0b8de61ec8b1083416f797b68781e0ce7a9385b174815041525652d9603d1686ef7e934cbd6dcf095f3d08fd53ef7acbe77a57d2994b633b6c97a54e13cff645f2c9cf3ecde0428829805723193385f673ec7408dbf96ff0a7f5a7f03917f9c98d93f47c7a46233778a8a9fefa5f63974654a77b12e1dfbb97c99ced49dbab383975b865fd7b29f8be3b8bed33436597ff7f47b9ac03b195bf4a94789b49dcd631b1a3289461bf3f8f2e082721e158ec711b26a578fd5bf37b95f306c3e957efc8190c294cfd7fad919e8927ffd0a36c07b870a8fd0a03d3b2df0faf07868347ccdb3fb33faf367b3a94088483101bba82f3f2f74b2c433719e13698e892a872eeecf3d44c78a7ab1803b00018b28a8846f17e7a882fe0153a30028188e4705d244d0d3b8c6db0324088844876832413c08654908a2308030c610408001042002800000012044f103bf02343f933b8334d48b9fedcd62993228bd8ace1cf329026832183190b825f168f7598243be13cc44ff383beb6dfcf10bbb9807c241fb9fa1ce3c37bf2c6f2a48977434e1ad5f98e6cbd03ccc0257b4849dbaa6919a3e124f64792ecf7cab13796eb5ff1a4feab0e91e5bffd3fb93443ffbb1aa0a026dd1c6ee179eeb1a645f06a2f18678236437c0237b8b5a7f33e68070b7c6ff0c0574fc600a93af8a7c883f21bb0133031b7355550b02e5467f7062fb07f4aca42804a59411db8841c99003c17e2e76f3132629a0ffd81eb6a949a835f4152427bc33982ee5a58f667f13ef53f3fc7b7ec4a4eb26e36b4bc23a206bbf2852ff26ac1a0c880f9c10f626d4d3024b9e1c2b9f86ad5ac9b439b4470974f0ae6f86a542de189802509e782e620d5eab220b3a15fb0c48f892092f44096e2d819e55a1fa73bf66d9994afa987ae8b555e9f3e3ec785ce04f5c027bf0269d40330f28f472f39d68f88b9fd50701da4f8bb06b621d773b136d0de300bea8b441f9f94a97e7d98e0121211d33cf8bd82c7bbb86a088ca773c5fdc687014fa94efb4c8b970bc6a3a51b5de79c61b2543fae06f7f94515f5617bcefff40f374bc75897200c58fd1d2c9102135925a92f27357d0be9b82ee74fa90f90eb30442012a02eb3aae13d85dcfee62554f2ae5d4dbf4c184fd62154bf5bdf5ea251827db9ef33266f959fa9701e53e89a3238d01cbea42073160cfbd8fed766efa284e2289c21eda503a7cbad22e4e59e36bc9574e5da4ded112140a24f67f0c2908fb51f2425a930c10208a6d2fd81a141a12297b836a6f121ec57a30454fc27017de2c49a6985ba214202f547ec62858328dd49aaec21a63aff90f531da2312fb36b5f4ffd7937242a1b91c642c6f8d10c287ec01e6f657d9cfb42f65de4e2211b7d2fbcf16a905064ef60f320937e6a68a37df1abb15183882270c0b582c88d276d5b33326bc5ad1c13e73deb3714c6221344e7fee76b9a3fc09a5d9e9121b95c62aca31caec63ca34c69f983ed2b5632f459e5c3373a7e25061b8111627cae40c301a915d7edfc9cbfd847ea8e5c68d80169a9a146558c3ed110f8930df86d0390c50d71f63b61c68da9aa3face0766ade1e2987b604d7d6bb303972075f60045433e1c90cb772327b1b4cc66b9eeded8affe0da02ed2a2d25734f04721d656687d531f885422c3ab07046e61b389f980d2667d8361e6b73b3bc8804aa287d1e4ee52112df7ddb88a65fdcc3ad089f1f367638ca74cd6fb24186455279bee68c52711bff0b8290072692475d4538967b5d993396d875818f2703f1f7cd9d477727b3ca15d7e3356e784b6fa15c6e6a53f1e85cace1c804b2d1cef473fa3715062c2ae91518428350248fcda676df602e637024a3d8d6d9461cf0cdc7094ca8074aa205b85db39fc42bf51540a7e379f292e27dcf39377ea043991adc2a93b4cdb07c6137b1c81420920d4cc093b20a8a262e9c89c1b13e73b02e30b2f410b6e2b22e3759af93b023afd844f429046d633b154574565d237f33a999a8c8ff6fdd47a1186fbb4b9778bf889d8aac77a20fd0c0a253943b078194d1fe936dbbed735ffbede4556a8f29b112269de332a559795fd44e62458b71689a5f8af4a92af3dca1332bce4a1efe303c7c576a2023134c6decd41c688a036a999f64b3654d37c33ca585cf14081cb922fcb654048a871161ba6db6a6cbee07b38ae22566f5724cf48953eb7ab5e1c23a6d6149032d7c0b0e9c3cba24fb003b4a2236e63c00b91253fa262f6785dbaabdc8f1367995d53bc489dd7bc249855c401158ee42f0b6d3557f026b1065c0ad51907be463c043ce340c7ba41fb5777373944076653a86658988b8da86bd33115d9028376da2b72d3647c17caca7a969d28d2a5d366053bd93583065bf429622c3a15836ee6925ff226b660f03d97a511dec242f53a8bbf5371cc4abadc079db979c52d6d0856a5e99a95e96ff02d1f1ab614c57cc7b3061683099b54e755900373c8ef94e631f2db0212f471d46807cbc53a6466bd30faeb209d2ea3c4c1140db088b9f29614cf4ae9085c9e6e8fb3b5232eed0e2906d107cec820dc4220c3535c57b1b1cfb459e4f0695c8819a8ec89d344b9f46ccaa6a40840a42166fc84a2607b0ba5d249d8139866fa0cc08d66565ea7b903fd1f9fc3c8a094ed1e25da90113ae31bff8b25e5b221a01528fa4e995c217ed256f2e4917b3867129fd48c38533ac101001cad32f43ca816327eff4661233d95747439ecee9625670f384cdd5da5873e57467006bd6fe46fa2fcdc183f2262496534c1eca996d3ed20126382dbbe5bdcb6d770774fd4a00006b9e74c9fec7292a044ed110535efa9c6b9dc7fd051f73c7bc87ae8d0fc1b9fd18e1a13489e78b1a386921bd07ef4d49e09aae818e23e19bb2ec24d7c5aca48dcdfc10843996a0e7289beaa5c0b4e3489c73004b7816307cb4e0843f14f5fb7c33e1ffcc52b6d2a5f196899033ff702421827e46d6b19ec1aed67a07a273f5800a154bc2e012468316b04f9980bbcd48b71ad8a018f6ec088479d25b6fd53f733f62dc1ad07bd5c1b8e73be80479d31edfdbe2bfbbdea00da7a19509c568a7db095e5aded47d28b766072dd4e28220968b6d1161814cf810091138c145703fb32ea48056437670c21a2cf3e17e3945339c7ae0ce696dd0c1c0c77417be9dbe52832744a2bb4ecf79bfe882c36250e78979f68cf025ab68ffc2adda7d1cf711c6ec0cf6e6e72726b78b6b25a1221b15496f602dee5d39f46d2305c82ef46d93a865aaab024485991d9b2da598bcded3d941b947b0c941e47579bb2006e356fee18bd68327042e1d670ca8dbdcf0358be455b5f7e851b0e4d0e91a8a21920bf75827b1acae923a5930c21505cc1ce069534ad383937cfaa9752003942acfbc56e56e40045b507320588883071c1d80ae100739ef57a68dbce87fa3753205991f754cd6b5b3c831eacaaeb640100fe23db8417220338edcaa35a4b0d24d2dcdbca1e889a2a4a40b7270f75ddfe27835e7b1f00de84ac63570f6c98753e7051093e4d942a1bb1db174e4ef90255afb587ef239af292ef23940ad811b3209b42bfec4af396e872fc79055bf1616405fc50045768cc7a92a1fc6b8b96c9201b9fd444c6dde8b41b38091673ef22c7e8cbc2e4b80367da8de843eb8c9ccfa4713f18bffbf467877f6aa424df56f098978d4dabda193da4effd92e0c6f3c6540cad2d767ba5f082abf7dad5605d1e401404b4e0e09202f59d129439388b1ebbdf0ceddd547bb03ead1ef3c7e9699daf4462d165957710b23ed126cef5561ed916119ca55e69123206fafb4b6f194a6279603113e1daac72973164b4d9a65cda6e3020ec02251ccfd591460e08f24b299dcc0b82599eefdeadddac5d266e0be7cdf8101d79b5711720ce5b85431bd25bcb7072cb2f73fef0b258fa1dc7a28ac23f5042c5cc9948da0dd7907e9624337e40ef3f43069c16e910b768d06c55b2dc05d29a7dd51128d37bfad9190d740efed6113d5c18cb39bb34492745605fcec2b18fed01428f5eb7ab19f407135864a7faa243761d0c74f891a668446e11a2e6928ad06028d8957cab1de6a5312c8e75771eee8cdea637ec93a791b1504dfc408dd957511bd106db22e5b217bcf7422d02a741b43b90dc70dc7d787bee5a812a628a550aea25b7de2db4b4e2c7a204c66759d2286845a0e91d48766804b40a92634f98069b6f62048a79652f7b5d6f806e9b2af65b8022e99546cafcf6a8421fd194a38db188fae9df29db887508a810b45ede1fa09d3da7114a4796ceb9eec9ea46ec275b3bac48803b104fa3a4b882841caf5127b236002b802eb50554eed55092552dc438e63c444a36825e5dc1ce9f9cbeef6ed2ac775ddfc624d28b3b45630c0a3c655f4d00d317b06f8a61ab2fcd1925a88c67edcb1502ec4c6c8d6661e180b1e6dc9ed1f025719e5a872890f223b17bf33b40be6645266b075e136f642446c39034c1136719a6afa89787fae40a11c1a75a4bfa2085e057bb84397e1417c38641d29dd7668f14d811e07a708b96c7a72248e39eabf8ac4f0114e7a25d69b2e60f5477e6cde8f7f1dbbb21c8d0aa5f1875ac64d5cb06ef6eecfddab32ea064139be451dee701894b60e09b663cd775e36a8bfda3c96794422018bb6b328402b4f6b058f71d04896b9da3aa6c95626145d9867c387cfd046544670120acd27becc5022a0bd263ae610487b3906f853288a0c08931bd68e261546e0fc6820d56b5ee2c43a4de22e0ba9ef32d868ffba705424721c6ac78ba3270e3e5c91309dec305742cf2dc16765f00d33c52ec48cd7fcd1958fbbbb8ca15d6ed902362ccf71d99fd607a2b2beda70a2632b150e32f242604fb173955d203af615e06f38a71e3a9045215af7070dddb5b42790f72a822eeeefb19c90f40c8a65b7bcaaecdc3473fe1d649395c753a7964a8d936783edf907a7fe881fefed7f1692078bcc7093e2a2ab9f6c745203f937163ea69b69a3e36af1aab267d1c3da039a578e41d1d6d351dda2dfda267d1e9dca7ea24ef2f1806d8eeea7ee758028bdbda05cc8fa80ddd0feb8e790f494216461ffef827d4c92c751d35141c7d7cf6e3999d6eac7622a550e1616b2395a604b9d95e1023a3ecc1e0cca699bab769d1d390ee3882c9d9000e7dd36b2bd196e3e61216d348f4d33a4dc71f330ad14f62e91053fb371ffa0dce63c466ec2789220384cb71d3c0e768c3f6700d08c5963732536f32fafb77fc3677ccdeae876fee1e5b7270b871d94c33faafecbe7d62c2b097dcf745d84d470cbb419783598b4a7c13d682d7a314900dfa04cb32961f8c33c831cd7a1e2c24fd985c7cbf7e40f4adf9c0d8bdf39da145f6ad572dbc44d2fb26fdddcfccc5cf4ed1de37806284ffcec9a616689cdb9cbf3ce13326dd00531ad6e51cf6490592f2837a74d38f2821272418d36524933b98dc33cd5f46e0333cab4dca9a657a72c1eed0793b17af405804b636e419372d18accaf1aa18879d8e59f4252c28aadf3ded0fc2787630f372ff767683e707f7b192c3b3d6ca7fc397fe0e3e60e8faf9c1b05beea0f33f7d8fe47ccfd109fb9817b63601afa66ba1d084c04b236e8176d9b0dbe7c19c16a4956960ceffd8cd9c78361c4844f538b576b3aa38f4c97366dfdb577eaa9352b4c541ddc8eb4b634f37ff282bba46fa2847bda9cad84e1bb2d6dc1da022707a4fd969ae85b190d90d2d633a0c93cf577beddac916907db7741f0331547a719c58dae8eb816863f4af2e918708e0959d5f8f8d5e506d9a9bb4dbb193571887ef9b7fbfebd66156fb059455c1576b65eff78dff45a7b4fdb647cb2a6ca8909b269bbd6d181b541a201dc23e97583fc6f9f3dda3fd814b23789533eb1330d320a1099ecb8b3cebbb5a90cff32b596e3c33be0631f5ef7ef7fdb6fcd2badca0bddd55fc93c28a0b9762c3266ad6174bf5cbcdf997402ba4bb6edbf6e2a6d335bb4052369851aa16de06af0b38b570d4c9ed3ee2df161192ec6178ee160e01fe1eb25f623f48d130cf3be35adb0d9177e1f4bdb71c9c7a6d7f1bfbde68412131521ec965910bb9f0fe1567e4c135f27f4363b52b016ac851967f69dbda65c68faff92cf27f01a532d393a2e92d7bdc48ed2c91f4e7a4e46ec36b9db32b8d96e76008bc869d39eb9d655e4dd7ac5ade73cda64eac719b3b942b8fea919992059d3e5edfb315e872787394dfc0d08f0b016029aea604369bbef5fe5e52de4da38c6839cd5d113db37a2bfb9f85588a2776256cb111e07eba75df173e228fafa0907f4bf09f2234f54b907b71c9df697b9cd67b34f64a6c2b88061f89403e2fa867a9ee5b46ddfb9f9953e76975b5c2f832bca20db4fb1f6b9cfefe67e96268bbb94d4edffa600365b58a5b83d5bf16fb0f4836733135e635b4853072e57d0f2b85166af7af60b2e2ce254f644852dc567d94f2963a6998c030ab7e6353f7c63cf8d4b3eafcedfcb0e926aa0dd8a7f8b8cf10e76de723b52ac33fda4298602dedad253cfe3088967626f8663ece77fdffe4a799fa469ff6074364b23afe03c4b002ea16ded48315c922fddebe40cb0f27c58442467e8bda67bd43662eb7a6e69b798491ca04ecdd75d297bf6eebc3928e4da72daa04c5ff85077529688c660dc04a2cd483301c97937f7bffa9269c15a2df82c36d3a38c93936283afde07e11eca8d106eee37379a3dd05a691ad05bb8ea7fc4b8dfd41d67a6353ea83cb87e8e6d320edcb74487b2b5239b92df5f18950dd91b30e3dedb747e4b6baf39b911b7dddf1f47bb67038c34e507174bacfb70a3739bae175b63af59f3cefa4f60e605e73d02d914705c356c6a2febd1ef763a567c8d7e3b8ee7cf7bf1644e4d6f73087ac6da8a79b9f9710677758225bcab28b85b8cdc4e50769ab00551865dda7f55cecc5440d1271fc31388b42e9067f86809a9bf9f0984ba0c66282c804fca4ae8ca99142e1d825cfa3ecf4a321b007fcfb48ef36ce8e0aad8435618fc81d18c2a23823b3e9763b9525b51d6a3b084b7fe428290c3918c08452f2942590901dd45db00376f16027e8f7e4143321aee117d53337d8249b20431b08cb3f1c5ba115417b9b7e5e08a3e2db7baa733fdb00e35dbccb906768772b9a91309ced7810fbeb9d574961d8976ac79c6ab998a97b29c530719982f547d18028df9306935712980b270bc104e2b10a881b0210b1d7cb601378edfdf04605b679608d1f6e4c4152f7cca8a83955ab627dd11af51f4a508dbcee4ec6325f90b9860fcf3e9904d98c46d7cbf18b0c42b8b1da739beec4a5cfa3f45bd8289dadb67a1ec062c5fd8b23f36377299fddecda1ae12d6e456371527596e6fd54f2fe7935d991d7b0cde3c245585e38df792fe6e9bfbf853a83a961fb37a14e52e25af48d58468eb688af97102c939f9a3cde176c0d55f22988428f3906a7497b1620cf0029ec2936d24ba113ac6441954d3669bc56fd809c6a4028872b77a7226bd63347e36e71aae545be839ecba3078a30f3c56927b197a4d7d04b91d5a796ab8648f2b1aa0c63725a22ac8a527479a7782669a46fd9ff25a4b32a8bd36f954066f97a8fb6f7890b92c8a7c95bdc4be8bae3cd847e66643a96d5461f7a07e48c8eefcb704d2a942173c22e835dc07e53452ba3fb212b6597b7f2b10b59e5c82da3d697fef4392b2b7fe9ea26d40ab8b96c698579c7b24f62bea79bed7c0158c8f01bf5d51799b8d73f689965fbbb4772bfb046a9291682b4ef4c77c61b6793c96d7eb5a547d9848d4db343264ab5b03ffa97675bba39c488a996717303175f4478fca20824d6c5c0dd9fd67c2dc4e01e83a39f41ed0c180211a346f9474f6b1a72bc960511d25c5940699a9071679903a796047b88b203ccac2ab520c0f36ab9bea16b4a16225f11ea78e37b08737115d90ef053d4cfe8b6757d602a5cface35cacee7e30da4d047e197f99a6510ede7e7c1427fd3c2e471d5733db269df3b4a68ed72d1eb111a55cb5e3c5a347437b928ce5c9fd08d97cc1c6e185640ec17cd986cb6741d0c4a1380ae3d0d970c34a2c4012352116547c3a1ad797757266dcb2c537de28538a73c1f5298823d0dd6cfc763c07a5feb226a87233cb4c71ca76d6b74b2c90815e0b3323aea8c377de66e031f7cdc2fdbb3682ca11cf3bcf69e9519d60d96f5eb129b1212c546f76c9a0ea6dcccf23bbe348be849a1da6abe347e6e4d07c5473b6710c2440961f0b277b2dd59dbc768e80fbb64aa05068948985f1c75e8c13293ba9320b08130f0f0c1ee7b686d03cb8ac35de8a9858d714a89cd61bc875ac8f7a51771ea8e78480911e32be1a8c0e42fe7c3c7084b698247874a9d8d5107b1e4c5c15f7ce0a26d621c6b156180079c4192878e77c384a45b60ffc28472ed48cf04dfa7173ed5471b6fdaee7566aa6fc3b092ee9ffd96e4f1998d0be8149047cc64bf019f3b4e97aa9949312104d00cc2ed2a3eb48b79fb2e6df6d50430abff8908ad31ee83bc2a2389c5d02442eec40a6955c150fa84b9c872e3090d8ff4abe9aa2adabf2ba1f08fa0bae58cf5f044ba9b16fa9789dc14b483407ed9f1c2b78360aad54df980645a29e95483ffdf66dc279c187b381b517191168dfb220824bd604c59f59cc83ddf54ba691948762ac3516d24d61a55b3e2e7e44a44a0421119d7366c9a908961a759430c56a3b5225c46e76dd234e4d67fa6789bde9af90e65315af24a7f24407c07a49eef964687a9f2c1e67485ff63ba9b4c5f0f27bdac82aeef1538d86353ee5bfbfdca84ebfb14cb93b7752d1a932e232f13c9411aac1c686afc6e5cebfd733e309e63764fccdaea16aed71b8ffc30eff45c8faf8999e413b82edbe7cdf091d9df19092e2069e6035bbc44023fc23def5430ad786810b5f9375789ce8c38af0ea9d356e208f8749d51a872f9eff53ff33283728d9415035fbc514427e3a85c590487558b14ce4211bd19f2063ab63e74abc13e75761fa25ba2a0796a261695804fe6cea57688f5ab0068c6f538a8a549311cc6fcc685c96758a4a9eeb8f0f4aa69a6849f113f4e03f71984bc7d78f424e922fbbaf1ba9dd7bacb35301600665f8d5cfbf441f6b4494434049d6091289ed88a822f01ab51005eeff9d62c467ab77d2dbaf3544fc2613e3de734477b9d15f2c7c663d5906a56e0078898ad71309ef308bbdf0c4f94d1d37061ca1e38936be9d3803c8742f758defdc6b32c94906cc4c03da09093d49108076756ef4dfa6fedbdbfd4f4eabdff5db7be4bbbf9ad7d681cff4b6e39b4684369034868c865723a1706cfb91a6ae4d7fe1bb1e1918795a484b7ef82f1a6a2ca0fe16035c33af0c9f03b303d703c8f782d87577c65f4cfb763cc1f5836a82612695fec332597a1ebc4ade2a63aaa992e9acd9468b120217b73445f549cfd327fdbb1cc7cfa27bf411dd1f640ae3a86c872453faa1a8d3593173385bb826f9a883f9cd1e2d39098a34b54f16fa7cdd203a9f39ad22ab2c17a4bc92d4a426f9f85aa732910244d8fe430f9991ea4062824433468174e0c8463fbbb485d65b669f5dc70bcc02ce489569ce71372bd067e7daa1bae5b079cd35a7e5e2d4b6b1afd017ca0de0a6f6b839eb652a53c97b2546336fff6a3dd2d32cd1d6d12aeb4d4b2c2b9ffaa74f94ba461cebffbf50668d0a9fd7be8486425f1fab8cfb84d3a5b0c7eb165df72a2b0af66a97da53d74a4fe75a8e12e568a3554694c470ab7d2e6d9166bdbbae9aff34a055c6da7ec7b06dd462fe6acb6e1a4bfd4862529dd3e0a119b0aade76bad7ecc6110af6b6af32a12098cd497732e95a6f2605517b9fc3053ebb6ecbbaaeebba6e0fdeeddc570bcadb4dca2f3a5822c067809b318e23c87a903c35ffc5dd8dacfe6ed9a9d3f15df6f6c9ee39f9bdcfc19284caedc8c05f439ae8f0e5133559b39c0062401ee1ab2c886d0a4b920946a9e12ac3c18114b6aeec6daa6571537befbdf7e6ecdeed67b2db270a642f8b88e901d9bcc9419f9ed8ab4d8ff59dfef976bee59f5cc3e3984350c9ec67698b620751ab4cf604a7e11305539731d88556c48c966c662b8d0836f0a3a633434a28011f6c8f30263d82e030250e943219a1fef7f43f8bbed677fb9dd8cd716c9772df224980b72d3bd3ecac3b804a08aba37eeaee7b57f7b7ea7da6fe2ab58acadbfc5934dabd8a1adcefdedeb3be094b9dc6880bc4f43fb7ce9a66b78ccb527b210993a3082553ab4c47102163ca1392c31c382b901514976403f8e0b0d27f5b653bffd4d9eb6622a2cd5fe4e6cefd69bfdebbaa3695f77e7e5d9f7267b1676695e1f0214095b54b8fca5526009038d6eb69fda575d67f7d4d880c7facb2005c00b84cad90ba92e4a5a0cedf1afa65000470f4da41b2fe6beff751ca84a137828ad6702305a36a35b9fbfba57cd0410589f565a854636889a40d561b3f844f08c04cbdf44c0d014bd9e89cefdadffb893bda7bbf9b7b246defeca6f2cde5eebe616f8a7bee3dd480ed7dbd81ddfd5a72db63dd36473d3ae30fbbfce57de8740d9828af4f246bc99810b8080b900bf3d407410086d508aec42e349d6365898dab659f3dcc3460b8cca3732d6c9ece563535898bdd6fd3cb571a3460a44b607f9ab4d59e31c323763465ff68d198c1ca34d6feb41f167937033e2f522de064c0e4410f249524ddc18d120c6e76f9ff684d25e0aa8e76a70c2d00f6dac049839afb98e9712368e0d48006a565fd1d820ca219e82c83e8559bf73eade9090399cd85e98521545ee5bd5c37bb2c3f5f448c386af9909efc4852b180498e0557f5de7415f640f9db7849c515f03451414115f66ffe7e23fcb38eeeaeae12d2ae109dd4dd034fa03b8a7dda7bb0205d47093ccd36132598e9c04de330554e6490b0386110c1d477425fe49012c52d212a08742cbd92540f14e1d660bfdf6fdf6df3b355efcf51a50e3469591e2f1dd3276cd2b43631c281b50dc04c3628630672f5175ad063210e2cf026b92c15a0e9dd1249202430d51983c48c5dcb17019c9bee8503a65e4e5f416b2d1b3b6bab1d63f4c0e207ac8803264c944132263b55246e6cb1ba818080c2fab718bcc66a4d13fa592dbeaeded26cad25f5baeee6374f6e4896246d806503628e5f5498690e3dae8a425baccfda6cb61b96145a63f2e76bf411dfa3934b9cdd1d31288479c0392b8e833c48fa7556ae4b98cc8b67b4672376edfc95febc6a3ac8dcd3f14a663e0d292cb8d5a3ae9209a5a93137777e20069a56d9f3edb9e19cd267effcc94e69d513fab711d4e8a4359df82c1323543300222cebfcb36c804af02cf0090b586b2935f4e93dd0f7cab297d6bb3635e262498ad03361b0b4f4d67bf64beb96dd58b2212e575d334eae6e54f4d04d1a47e70b0f7374fd9c7bdab3f5554efe5e796f95c5ea8a526be7481f609559fd4056614aa0aa889458ffde438f48b54cd3bbc20308191c3cf2aa393576efbdbbc290807800a91a78d2243c492b5c0425b0c72a4352e4d805db03f4ff9ab9bdcd7fa98fbddc9b321151f4081b9b32f3488e753e6da18a4265c48c37f8ba4097bbdc8dd9f136af3dd111010137ddb79a0aaeb6270a96bbbd69b6b8272cd14aa0754b7376b49ec5a020bb26751efeaa4a6fbaa2af3107d720c384903356cdc9cb42298ad2d7bfcee4d78e3ceea1152cf846ca0a25baae140f23114a25c6a4e316b222d7da7b3df3deb3e8b9b0b7ec36fe288bbb5eadea30abac288379006ad5eadd3d740eb2ca8870110be2063ee32722d2fde022b15d65439c2c290f97156ae78c028bfbecac4e65e6cf71a3a0b4b38a5e4e7d62a0703c4d81bbf7fb678cbab0f43f7b57f4d11747ddef7ee5e6c1a9eb36e52724223f5f3c9563b73d72637a16127bc3d809f5e50280eeee6888015efc1f28352cd6dd2cb067feb5461609d57e7f5164149f028aab238f947c45482c71dce5e1d6ea8fb2ce5008af3da94f590f080f6cedadf7d09966f266fe0bb4454a9d06690441a568463d7ee73a10319b20dcaf3305bf67ecb1d785da8c32a6ef2e63e849cbac08e2012e190074918da07553eef2944463c8dfb1f7b16c55ff31ba700b24dc2741a862088193b0e1dcfb6995e783a8c2a0e1f2be3f4e844c5c707400c60783a681a6c01d19f0056b45ed79611c1333410c5e7e9952218a802e629c80e0e247b1e69f9f2d035bd9b9c45935577f7feefa68956c855c04d14660053f05fc84645b00d1c207a75cf53ea1556e9517237f1c8b05e5bc38d12ca0c276947eb4b1482a8a41a54fdf8fd7557bcf5caf704201f9b7e0789cb1aeeb2dbbd58334a3d38a77b685476176e13ce758b60a18a11715cf9a488e8a9f172b076d196969521a5302d53ad7dcc35ca7d83dcb96e6901730c854961e6ecf7fe20cd34c91a24ff92fc804ac00969dd08c286af03f8eab7e1449a2f091cc2188031e288ef476c96ea8ed7645a551999fa0d181d5c03683742280a50b4d20955f5e76ef96e57edabbd594e69fd79eff3896ee9080e98989df06ea5e9e1a2057651db125aaac1d2e168fbdbe332e7113e686324a076af6be7542458a6421a1e25661bf2f5e8112c1a1972b4378ff69de33e7d81fa38ed22baf508b24b8d8e993f64c624fe59746a24662237b61d07f4447ee7e2ae0be114a4a8a48525e11fc4016c150a7e36325c7140cc624ee26c286072573889910557074d166712d6ee69df5b57468e571b72795cfcea9acc4373d14c24710721044ba2e3848468078975ff42ac91f6abeec7cf0e14910eada7fd3cf4ab9e7830be6d56b316228bb7858306372647b88a14223a5688487989c2e493908a33b140d49a3c80e55b43adfb55effdcfb5a4de8a4ca5328efdc7f980d1c124f25fb74004245cb8736a7b355468508328b2739f0c2f8ea5a57cfb7f7dc49cd42f2a2048674e2e0b3146108d60dc1b5f7da1e5bf4dfb3bb43dbcdeafa345a439fc95ed5bdb87dc936d0f89401935003500a0da321924a68d0e16e44c6a1bfc571fb6b5ffaebf9493fa1f4471a818ea66658121bc292e181a48dbf32e870f17184d7747bd1966152e97e6f8a5836869eaa232447a88ed45819862d3660b21eada1e00b462b5d76d25a02f599b293b6ac3dbab3b976c13f0359652e14d932ccf90ac2659baafa2d6c3edf58016ad54c49c97529499c2e3d0a142892378a02e5c5c20544e1e64729145700e25dc1748294940a3e46a4b0b5fefd3fe772955e72257cc6a430b33e69b85072a1f044c309059c006cc3d8fe7afe49a70940c9245080a68e286183f5f54faaaf7b6f0950c8b17eb36da75202128c55ab995d7584215d802dfc68252211b6ae6fe91c4365be280fd24926041c358030ffddffec94817094ac42e9e483a9f7def30f7874ed50e692ad3b06add0759293f595a2ba4a8c426ac129c0ab22a7692192165228669d117592cae810783ca30f21458d228272629622777f3f7008b56f633c35f1f4f3133ff184604041011a11ce049de8f2d6fd04734a5f96c09caa4edea91f3de72f30c7088c2713603e58fe668c6070d34712df8e1e13c90466bddc94feb4bf3fd7458b46b9284dcc1de7e9787b781578754d5af4b605da447e1779b6daa463ff8f7bc3549b6eca299058d8a1808937636a85bffaf3b3e59f95cb99a604e7a5225f0feb15b406bbc09fd3b37bf2bc9494d8312828b0aec943452579f1cff71e9d8cc938887c83f1d43bd4198b10d15bd82d3a15c12942ff885272700e870c6d429590148d5fe46f2884f7ef581c6e6271fb7e51511b4626871b290cb29154818893b5cb44d82631262943a4b2a7ba2d0bf4f5a462e1b468c175b7ce908cc2de23287d7884231a63ad74241897e3505aac6f8f206ef5f49613637b554ab6be365da39b2ed614a5c33d23bdeeb253f846e13142b10603848ca90f66fc88b468270464b0adb963b05482d29a2449eb8ca5d198408046c4698c9f248674c1eb6cc8a714a3c715c50ca09c847482a808da441ceece96ddbba665c488919fe7f5e7fee6bdb4f32df49feaafac767c1002456603231aa8a62844063b243852fee49657e80c61344088905b971dc247deb6ae6824b41ada4d1969d5b7477ade6b49245b64371b7767adb6835d23b1da076c67c967577155f474759d680fce4f30faf21c6de156b429590b2cd9967d77606e4a5b6c534ec83ad3017e799e773373682711922e3afc31050cc203e353e08d116723c780c874d168ad55a46caac70604e6cd456533b91b1cf703b131dad890bca8e9aa9957d77581312e32394485d20933192c95be4d1a25dcad84664f59316a79a78fab4aa43fded6d9cc6ea70ba3af9e10d58f1b53193d4efc9430f33f598070a84121499cf5c0c1a347518e4a9901784461db158f1e65abd351f162dd7b225a67315f686b073cdb215c967184c2d304a607b9e0547a054e48bca7dad3a96d9de908f2714931fdb0d5d6590e0180b6fc1a11116bb3849c0d5084038a190eae69d5d13ac3b15b7bf36d3110e009ee88cc3a13c08b530d39604812300b00e9d87bdb5b16de419fde7b5d0d5a400d3a958f456a2ca1fc964542d59b01e033648288083f2c901d509cad6fa0a12ce18d23f1b20b853de49be4f171cc0d2857589cbb0104f5a5c917df5bb6fb2f7f91e9454fa496da68875a5c12bc38f04cc658db0bd2948f2bcb256c447929d4f3e6990d1ec91bd648d29fd3e9e64d378e6245ddff74147ed7f8be63383b5d807657afe131aab17dba7ca464e3797201a7e6a8c4f54f330d40d00213610018128d0985c2b1582aaaaabc0ea4e6652348cae1328c0aca290a196b880202400000203080002100ccb0b3a314172c0bb1cef1e0849d897ad9e9d4e3879546311d0f3f694131904991c232051d3a9af9e1b9b8a81ff481853e9f077021a95f426b5c473f203e50393743a7c5bb6e33a45cfc9cb390e31cfb904bccfd6f5a10906e412eb83bd1982fa0a8cdc586d407517296326227100e18b6e0fb5a41f8047a43988e6e9ceff8804fda78d37be06084238a90ec1bdc9bfeb8bae1c71333f736f1e3de9a29695c67121d406b0795e939f220a11c3b7fb356570ba1e9a1247cf5041ad505ecd5f413056450a25128b8786034bb45783a27fdbc21113cc1043cfcaa11ba5bbad7cd9690ec654da41cd03c8c5c2f6cec8a806ce10334d0d5cb156cfe3cd0bbd64f57f33ea19d6912b3b835cd6bbdccc2508dbd04bb49ccd8709e8986a252d477bc621929631611948b4b669732b52c611f2b07815369043da0f2b5d0664f0d49b1860362fc3b0c9494033867f67ea2f08578c229f9baed16ee72d55255907423876572e2142cd51ec3b56141c123ab6db9fd40d8fa6c84910f89abffc5d34b31fad4772750620c2ec5e8049d9e969cebde83bb5973480074bd971c5a2d175348d67e8adb260c7964d400d87d7d2fd3cce91704386798b036a6bbf08f7615427030da48b3e192a76496956fdb87529938925ea21f38d6f08a39bde6da196a1fec626f4c6c09c5e1dbc44dfe5a786b30e93382dec261045e274787e7ce1c9a3955b2342fa556e4ba57b0a29294b4c0809e874c2d5d374695809d960a06528cf8477a1100a19fa42693b32b6902abd132dabb1eae1df423e4e71f497b7a29aef288d169dfb7d33bd03eeead437a5dfa3e8e7f5eb8cd10b38a1f06e3219a9a0c677faf8f253fb0d1b47aec0508867df0a234e72f8bd3200ade34b01f97ea98d2089ffcf2ba21f9f6b1f6872a2cdfa85f6fe9c69af323ff589cf40684334b001dc4145ee2c2024ad536665cadc1b82f49c6cb84d28d0c8f1d6f287c03fe7f2f59b6643c27ba7c3dbf6f6abf460abc5f07735e7fa226661b7be8240d0ed78e732b7b7970b4a23f30f5c7311579d25e1a63294f5f156cd0ab6dc85dbd20a00325a8ff2e7f173f5e722834f5bc2e08e02cbd720137bd58a446d597633a2cbe1780bb7705c70de01e1d8383a09603aea072acc833902a97f5ae2e31a9d39fecf756c95b9e94e9a66624b8f62a6c6acba74ad2856e491a837024896487f7020d09eed801dbd02a0b6492ba387e7f1b0c9cc48ca307b9157679fcea868b83beadee20c8ea83c3f5cdd1e25a86728ddd775396c85bccd20829bdbcd6557097ccd91f8495e15106a66a5542fb08a22d12c78857a9e22ef9d261d39082a37ea867955ae28e4d66c0163a177c4004e20ebb444bdff5ea5d54c8c06543a2e7a2e9b63d03b2867ecf242360192a840f1962573a5c209fc3f9ed91ee8a60f83e4ca348f43c4d0eb609e8fc092e7ebd7c942c3553df73c6de186ceaf4baa8e7ba520265d787c9af76b0f79535d4e3bec31a414369ff6063cb750f8a16942072c5565cac96c976280159d7a3da1388bd6ebd48082c5f26f0ba0adc29eded53286065168958534fad4d80318d6c9359fccd670a2df9bbc6485a8401812dfbbc08c4a62be7658a6dc606b3f0aa50f65e4f6dfa8f0b430704b09e9305af56fe3c533c7cdd04ec817a715b86d8a236222a2f90b1ff2ac3d6c61505909ad105e29a26635b8298e695b41b16404f3d7a91d4db464cc068860e9c3321baba2b9c8f046b98009500da261bd5e509c2b860000617e2b31e5fffb5b8e3744dfc8215a6dfb54ef61c1076deb49220526fe8be17640ac30ee3099b7da1fb010e9bc022a1911b338017249f3987426ea0a31508ac50bf4cd28ac063ae837f5a289ceb94e3e54955fdad28460450ce6d37523233dd2362f7a72a2f8d37b46c06ec32219f49aeff126ec8b5312739922c7834ba7fb61cd8ee8577480ae5b4eaa7ac30175f7e2b0afb8c6d0be96fc5688da40e8ee0238bf569bd006a92990d13e56f5f8eb47a4d263a521af1b3439c101f7c62342514a5188fd4316e55b548714f61ec19f84734908d35328fa712ec484390d1fc3f389c8c3422b0518847f88f8259ff91826a443ba89f26ef194148ab519b85e4693b19cf727097bb24ccb6cd8dfa8f4821cb5dba0f6f9f90389ecf578ed81c1eec9983012237a66bc7b9d3d70fc0651acdf514454f4090b99f8eaa872ef4e53d5d3184b178771a870b8ead6b011206022c5ce5a1e398fa4509814146ba5a9926a3475daf4cde0f17cbab3179f023a7a9853e4b4498dd7c0eaebbfd4a0b8203478a55fe0624e1ed346640127b6e38237b2ce69a77bbe6a78ec6e7162151d826bc04a803c3a9f3b825a9279cbf641fe01f874c85f1ac09ee40610f6c80987d7b293d0c38acc1eae413de62807d93eee519131cc3858c297155c9f5b1befe9c257255c69f564cb0023f9ac847efd4b64a709321545bf0e3c92a39aed8d089ba6c9bf480869207b95b86dd61661187dcc7332afcf394796db02e61c34e29c679c8c390672d0cbf998bb293a44e9e0de62ca21bfc3a6eabbff78fd0683067daf46bc00af7200d2d44d5960420029f9bb07bfeca44b23963749ba1c395e46d09c7cc9f74813dcd6eb56292abd53682aa92f4f340db4bf207e46ad6415dbb7dad34f2030295a797ae03144ed5314c00cad76cae4367edfaa2bdfad1bf0713590884bf71463dbb345a887d0f211034a855ec993c1a1699370232811414b147a61b91aeb2145285caa3d3f2d3b0fd0b2c0e66285cd7d93d3664b3347ce0302a6bb37d7dbf839cb1b94713a595dec377c89bddc399fa06a3690d8e16550262e6e5b86287e68dd79ac03ee1a4e461a49922f20db53166bd41e9aa5f9b0ba5f733f06e5cbf915e0f01a17415c5fefc3b8235c658c6b949202d272dbc231333745f28629d34c4eae6ebb223d1ac0f53166279858b3bbb3c69e28278474be1f18d57b7370d2e01b9d5accaf20c84bf4d8e2084170475a1b2cee057a9b7ca40e8d20800d5764b3a7b3509f5125ac26d188f2c58b6e28d0f58981de2ef41a15b0c2506eeac8cb03dd1472ffd143c4473130fffda8a83a0c9fda3c0ec31b4abd6b1630f06d0a00770dd5ec9d49368cc581a51f59926dfb9d5a7d8b061a5216f01ddcd06e7bdb0a7c24e56e20c156e0999fd78139d29db6fa7ccb1a7b0c5de6f3060319128b150266e849b8cf33f76183b2c1e4d79aa2d74fb93cd300182b74a7eef84e9517fd9707cdf04bcd20168a079c69a1b4334648fa4b81114cda843326632e5fe73c2e5e3f4ddf601954dc1f00e354c5f8f1ae8581e1b110ebba5ee906109802d6d2a4a062f8e3193a0129574c48c6fa358a08ed79099957e8b38de6827abb5d1206d9d4990543c4f16c33e02ef7588617d46756a9c08d4dfc826bca2ec2d9f52e6350c63456b2d371c90776ee3df571f0c3b86aedb69e631d4ccb757fc952f88e057e620d05e8339fc17a26b82cecb501824ab060f91dadd709e877f557fa08f70cd31664e13afba8abe919a1f2880ae1d1d0bf338c1535fd0a2d172ff19ae0a467055cba64c9e0cb91b4c81a58510abf595e99cb5d6f9874e603f0b7a298dc967453993919deb1991face280375fcfbadd09e1e3d47bf4d16e7ed5e1bbedd436029950be82d08566e23ce703b696e908a78d3e3dd9102d18c164a2bafebe75570498e1a973abf5f05c2689548741776df5da101c51816ebe364c01ce8d3abe4c56c7c0a3013756c1dacfbde4c4b2b4b6478a4701ca49b3f6cbe6f457720565265499351d9a8d028181204382818583a74aa03267ec4fbdc283b861230e636298fd9185b3560ea17a6bf2eb4dbe46b142a46ec74f5fd02da89be1ce82bcfab0ca1a05e4adbbeae9bd04bc70e39e8c2082b3d2ee6c0e2c445f288d44b381b96b5aa2405c48af306898147408f3fb1cd44cd3c2af7ab99fbea642d7190cff47ed470d1fdb07ada78522ea808d32ff6a4868b9cd17150028781f48cece69545b53826cee5f626ef6621bf6d5d031e52e73403914b2788e622789ccc887987f77c764b5c4fb325d6909f05132ed71e6aabd9d42d9782c222b1fc9db8fd6042c8cd303c39d8c3c3967622e30c24ab92c8e23b0909466d24effc36245183d8494fc8402a2d6525220f64e7745ca062660e6014a4b13c770d295e516e35a372f4da3a9f14354a4f63dfc63d4d111cd38a4a9485cc6835667047e6a0bb62818a0ad393a900c900b715fdfd046c2033edbaaf14a34d7d81c1a58aea184b783447296e81294c64cb396c4e3c5cbc0bf38a4fe0423f6db7f2bff415458599f8a27738a078678d7f86cf3aca0d71def967ca78020cfd8954bf924c4707d8c558d1ce0a84368e0cc3cf652f6d45b0ca9a84f3416ace661fe8bbe1826833518ca977c5a41489ea451c99582d692e62c0545367d6ae96b91e073ec39886a2cef26717b2135cf9ceba4b25f061917df72d4b6437c64862638823b10f784c985c5897cdbf5bb302a072ea0832da216b757182451c790252cdc6ef3dec4e05003e3abdd865876e19f671f3efd0e5426e769f76a0592495278f98c32cf41f2f4ce67cb92f70ce9fcd83e9f57ca66937bc5fa970d1d01a03f21f074945a6c916c980361835a48a2cd15bd488f6f719fbd3fc020931f35a9ca32ff90bca39d1a887416338b7fe0d4e05fb8acb2e524db9af98b76506fbed116dfc175337e5340fa1d769ca8ffdbf8fa6c4e9c530c7660d9d9d5a09970397b35ad51454e113b82281108642bd98c5674cb600b2d14b1fce7c37aac0768b1b72efbb0963c0047dc78b6f61a4091e3ae42176c2824cbe3cbea538efebfaa0c91b8dc6bce857c62cf01781ba2ddb3ed38962a8f17b3c095418dee0932cc43d9a7f9c18a8487edd7d80f746c07743dafdbe1f295ea1ef24a4a71537d5dc0aba78bebf73a6c3c408c1197ce4a287fb7d1e9e193908b6daee3e32f197091ea39c7feee23f80e3869a9b708a3a4ddb3d0d1b43b7e25e9c872020fc9ed0bee6781eb865759b61bc583b69916b085f984ae38129c14865fc156828305dc2ab37683771062eb91777fc51f35e98f875ba250ebca21a54683101f06a719ece99d2b43b1d7047f5e1c16ea50ba72eb1b273cd1ae06d83abc907f681ebec793f600df8da0bfa91da826b642d41527c6bf6d27d2d7f044c63393a309026b6bc2cc1f06e234cf694a5a4f5a5443f9877d081fad615ef061d687078405d8c64fd422056cd2e0d5c7b675d0adf8e87f5c98521e51a6fe6779a18a868370a3047c327c8c5dc7f95cd7cb4de415c880f9f8701a0c36b8a31dafacbd598da8bcf534bc2d94507e68877ae2ccefd98af5c45f1344a60d1c10dd8f7ac1983ace5c5c24d8c15d2554eb0ab31d9a944236784585188cbaa122a06e65b8922d4cbb18c2d190f56f56654b8c6723a58f16037aac677dc4f254c1493eb51e8d3b85006a0ff3d1abcd9a7264c55536de5c64e09e2cc35ff5125994eb5314144ae8fcf887019d928c32f4e4ddd59bf5db22bc71aea4f004caaea30b504d127bedbf40bf49e27b4e69bb83def484c406680180e2d79a7732411b9e317ed7f514ac211d81655ad12c860d88c1b4e4e470bea516a4434108d45820587c415ea8040e0c7ce77deee7f0c6d505ff5d28c1fd60ce8378aa98dc537f3c95458d00cf5857bb40fb1bc86cadc893667b061c516d469707baddec2505f21e4147906ae8a74ad0d71233a27d5c45d482e19648ca9489d283d58d62c89ab2c9ce3e5d84400121dd79ebcdc2e3279a386afa896300fa4a91e5c890bf6f1e90848d2e2c8f4f6437c6b3e4e035127f593da6d85f5d6fbc10a92259204792c493f6d2415e8675e7155e44fa851e41e0beda73ff26395beee127b3f74b2b0a34da31671685e1aab2e62f1b71263b5bc82a7322240924e8b916bc6045a2e9a9668dff1e2a7095ec67a3ddc93473c91392e323e4bd1cc8be52c8be7b642015fc1b7637d1be0ceb645e2f0aa3a4ff3b0e0a6fc46a010d5939638571a7bbbedc4b51fc713dc63bfa0970929d543ed78b164d00631429225137f75072423b9e5104d529100faf847c924d01cfaab040b06f3e96172913932bed93eda1caed0af1d509f450143d9e974b0d57ee9d155079fb19ce1c4d076b7eab3a4568e3d76b9bc4a4ad2f111a5e24d7f8880b50d02be96542e1e0a1e0824636a1d4677bed68ad5c85d6ff9c401326a131371609dd1a509c6f3b88ac794ee1f04368b3ad515262d0c5506ea386f7ddc05bfa8b3b9fc5f2378b2c7c61f5b56d52f004d3458f090e0560a6347e81913c88e7100d415b9bd5396cc66d473dbe2152e75554d456908b8c92f0e38007966b3fc48a31754806bbf8508471c402485cdca8737d1d30cd42f27b635a464102f5dd0b1190866c43ff6faf3fe059d4e2fa0ea0d283ff6d881eb2383498fd59f764c33d3d554d793e2b1a4b55f4fa9a9ebfc4571672179cb706081a00327b39eda30973e4a04f270d40ab033db837571b37f8ea77e2435e896593d92e9f6fcac871f60d88f8006f44880e4ea50411f02904f5f55cf5bf776ce042d3d4a4593aa05d826735b8b659136c28bbc7e50ad0423c865bdc48fee6f66e28fc337cf1b5fe6bb1446b735ebd33ff45dfad3c37a6cf8da683973d612f8cc8215a941827c0e23eb207279d69ff600996afe58c31c1c7c84e5e3cd3ffcde041d650fa1b52163af355f18701da63314cc3e38b13b4554a2bd108fc6e4dc8d5fbbd83f0bab30f12067babdd4430382a5df603eb8d723874cc5d11d92f844bac7458fbe10c7ae0aab0be14a848d04d38ac30d2ee11a1f1fc1bbc8c1e00f11ba74c9a85193125e907e6fd90ee752494f933e1b57c792bdeee334865812fad08ff5db942a4373846733d4676ab99e52d738039d913e446b8f63f952cdbcafd0825efaeacd1de03c3f9285697f40fdd68227b1d925a7dfb7c7b4aec8c58547b0d96e5e481a040d0baa1d6635e3c78a691ebcbd481a9bb0772cb0858f9957d7efc0d915cff24594d39fe66f88620f0cb789442c18e9b31f7abcb56c5eff2c892be31165d3559aab7566df8a3f074c94b4360633fdaa1a691b45709461b819d6708db00bd97e500f6621bad755c082a4959f63a56e559a0a1497c3a987284832c761faa42e3c772298ce03a43d73e34d1180e16cc6a94bbd24a41c8d61c45d57bb24831e606e4f5c6d3d58d873e2adf515b5b04cd1cd452bdd6895c9d764fc3f7cea1320259c1500ffed7e5cf22d05a5d7d144986450ef7988930f0ec2429d2a631b6b61e0824810e4790a1e17621530e8162772d989f6ee7670a6f3faf77aa5f221c090e016ccdcbf9384cc2187e05977acae765715a23c96bc2253886561df0404041d8f535a3f059e01f7ca1690fa16e5711b25ee788417e89be20bf1bebb08c72922b5d2267d72b455ae5707807db1d1ad7bfd6a7c6026be667b144faf8505e1558db02007388bfcc74b78d1c7d28304ef37f5d78dfbdcdf8b1adc757c4d35b1b1762942145401ec1fdc5a183bf0de8ece70650278e9853da7c7d08f5526547df42b0c7cea6b1c00f945327b3f73a260f2b9fe0bf4de07e200d14e4af92aebeff7976ce366042deb375da4b58eabfec08155d692b0dddeefdefbda6f74c16e1ff1d52d752c4bec3caacca5c7de0d05e157f61bb87f958194c98f7814cfbde406ac326cb273139b0fa6b30b9912241880f63ecde580f861af3402f0b0f74734473403d526526b180f2d8065256c6bd7058cd3942725ee15dadd17cdd5466e814253c326117ba00a56c525381c831baa1164bce4c7640dfbc856b2eee3d0f5e8a5e4da01d7bfbb5c9cbad3de77294b845c8079d1ade20d39ed11195910b07f3aa6c07478c30d12ac868a6dfd658464f63f9993d5af1d91264c45b03f4e89532a6dbf7dc6df92a14cd71fbd2e5588f9871eedb8380492dfd6185b425bdd15e382dd51a647a98c8d38973d9643b2c5ce30fe37b2f9d3f9cdc96cd0ba9423743f342f0bd8675f2d79cfe55169cb93e594a62aa7c9a8c428724c78507cd8673e86c05b19d48170c963b6788e0dd6134a1ca3568d88a2bfa1fe50c06b54839b81ca4956324e61fd14d5f4b173dbf5f24cb8185e09a76e7fe1bbc1a3f5047c4164ab1aea6b600cedacf933325ffe26fd7491f4ebcc455637d0d90d9335e0f473ad28ecbda4259eabe6efd527589f8c0b067de1ee193d3a99fbffe2373bc9efa4fe96b5b772500d1491dacc4b9cc9f17d5eab64ac85bd5d596e2df989b1a64a479b11950c77d617b8115e05425208a65edffbca0062fbae54f301228a3b40c68c2bd9c8009cb73c6b1499f9c153e2f754a62a12665cd790f297c94d83babe9e764e4307dab108e30f3443062dfd0574182660a45142f93f3127eece75fa3e242de705e01bb828d5a850bc8752c02993f89daf5a680684d7ec28c353401af6e7f696a93b70b0f789953ad68d3fe09b56cb4a0f1de76cb1c867648c650ece7b93f021a3184513a30e8af1359a4490114c3360792d39ebbe8ae740f44f00501fc653bb5edaeecaacfdc9ec12a28417f7f947b998d1a5b8926fba9104e533471da1ee7b15470d939ebff5a5be530603f1a4fed4796fb635f9c2cd4416069a1c58e80e548109e33bfdb55301edf5e23e21912a5af801a8e8dde5b2d6b48ce3a474ba6d2973ca6bdf423d7127a18c43d1570b0b0b7b65365bd326603dbf487105a2f109994164dc29c067a4d848dd61198c13f6a77ccbd0e084994ddd5a49a651e189a796da4a030e25981462cf4f2744907a450ba27a45a1e51e7169489a3afb418b7440123b688242d201865daa1cb300845b4b3339d83cc61ca621697202f4ab8eca4af20495e0243b248966dc236e9cf60ac7c4f055a13c1894aeac74a42b9b0dfcf4eb926106bf3cd09c83670df187abbbeabe41a4aa78ace4eb000729aaeb4e3ec0797412bbd7665112c82148581dd0d108488ce4779fd6dde61a9a90d84114f4b0cfc7c890799ecd05d5f1ead844223af3d8344d67aad5c8cf58fb7461ef74bfa98ff1d877039f8b9db17c5263fd3f6a302c874dae4a77dc60569a67eaaaa42926795adc0018b34618e1aba47a60f3ac52b0cddd0f63cfdf81a08bc564c715613f3934141c8ff9faa0525b766fee31e2fc763e41c9f0cc4cb7e709b5bbc74365f7cd5d4cc3b5e88415fd228a3a23f48de4b081f61cc2724c6e820ea36ce7e1958d71936eb4adf8da9a7b9f406f3dff355dda9b9d2ba15e395ff079439a3d849b621fd8d89ec087d3cb701b28ada1fec54339a5a22537a786f377829c0eb59335a9972e622fdebcbcf2f647db9350590b62ffc62af2ba784161b70b74d36dede19a25eb825004b94d89e72ca4602b87232654e8ff6f7305e3a65050965e50343a66ac438ac33e42c63ddc79671dbad804dccd6aad8b7282db0c05340a87feb0f5114ea16bc3e1eccbd03a505a3223d10193d81a7b44735db44dcae2e1a4e3901a3f0405185618a4758005b81832b99f5052e8f8ae0fac841b13e2201c2e8d0f14309706cbcc08194fa5048b4ce05e55556adc57f3710daa859972b46ca4175b91ae0d4fb26fcba9b0802fab48d283b0d3091d7dc1479757820ac99521d05108d00bd8a754bf390bebdaddeb4af08dabdf3f45c12de4e79b66a84c375c46e18b274ae3337be39d8a3949001799e05e2e4878707965fa7257dc47b75489edc187eb39e06e1c047c11aeec6eec135f606a45a60e857145a48c649ac11f25b9950ac93ebc224ff7ad21b609db3a33f4849c120367998b5eb4110247e1ae62b460b5bb2247b1a0f035d3b60c308b7da7fc15004052ac2cea62213ee12d2596cfe9ce825c19db27a99c8a6af22fe0eec563e518e6f67b695eb9c53698c03a15c961a048c290daac97b0f45d40b8909c90862ef62022e2cde18b8d7725813791282ea59f71243c5d6c1d30d25a7120f73d2efd03fb3f6163ab10a1c722ef400bdb8e00ef0ee772bfedac6065771c5d064ca0164cca038242075930530e82083a9c72f37f71a1d3784953291e304ff270e0a19224ad0b1dcdb1bef54f6ca82978ea58ffb923e176dd1445f03d9d3c2e7f9fcfb92097b87f6d9880f84dde3d6532f18bbe725348dbacffa3cd5ace5eda10586c1c49abfc5f821b6b1e7a2917babe587501bd7db4dd1395e8d6be228b320f7c591dc1fbe4c820173943587404603e97d9bf2b6118d48833a46591f993a9d194825ad962b51ec59bcec39b5d318dc7b6f6943832ccd24117271a5a35ab9ddd0cdad42af8a0fb383fc3d46f78e8d30c705b3a86f42d781dbba959c98417dfc8914b36eab38a199965f04a9e2e37818632fec1f58b8ed06267ee441e1c365083479bc04482023354f0d2d37909d86732ffc832e1777fa1ad6e53eccd6368bcd9446eff2257da85e0d7921bf5657f699fd74e3d51047b114726e0501a10f9ece1df64f91bf49b0732c7627fee24b7621599bfd710f78073983afae2a9e062d46949e802d3c5c1fe001e99ef37da8d07edfaca96f231c9a0b14817109c0506b747ee61bc9daa5d9a23b9e31f5778d501675e2eea16302cc6a2fe3d2aee6c671499e1e8ff119494f2800621976452f6a8bd6feb61817eab06244275f2412663032d430ac50ffd1d45bc6d014b3b27588e2f839a011a694608e709b658ce087688d6d19b684123e23a99d7628724e183299039716068dd9426469902deb369456d31e6af175b70f26f8b1a01dfa7909354763619edf5b148147477af0f2ff70e2cb65712bf926baf4e5ee00611316a0691d4bff8f4523498c0ae81305e4203a397b60f1d26fdcbb3aa6558195ebfd9fee36a0fb6e633118ea2a0fcddd629cd5208f12c8a0030601170da1d7d4870bf7b0dc3a812fb879c4f3824d49ec92b653eaf05319ccfc31568a5d5e4b7d2bb23c8b7b06683c68a7ad604f55a857c277408f5a32b35c87ea5b2572c98c2c8874e5e49c6f682624626867954c9c771163cb81d127f573465c660e06ae453813dd47b1fe549f2663f6d867ba0725b9dcd2ac7c703ccaee6e13a2b6b852fc898532878c6af717c4d7e05a83b28c352c545dd74c2662185bbe81bea84ef9d7d87e1de9e8be57d55c605a65005481b725f1dc2685efc98b5ca3a8daae5143312580ee8114346c6c981b1b7a9e5b770ff50099fbd380c3be0b9046281ac7627e8fa6c74829929fa48aed5882c85d42eb607dc73f8118718307382a70a892aa97762d825cc5b27c120799b113fae50471623a64ee66390477b0e6bd4f62a98929e589b9c1ddd1b6391041da634372b748fa8fc6ef373822b27c41968cad2ec18851dc10ba7074217acc41d19bab4bd5ac5eecd5461cb2f411c7958c730a3c505b1ff682c4d03800023d06f2802ac16acbd4b1863b960b3f88f081f1de6795eb4a6f5b743e6593c81225be3d277e4d2c27d506506b200153d3c71c91b35d137cbbb918314ad751ac09ef921e3a088647c63b3240344b7bc80edf3b4a858f3c312e6d85a75c516168d0df41975a6f3cb6be0e2cec0f5feb64e476ca97af7859847cbb9b628d312be7aa12a74a24b2c5ad96ec2988dc46736c75c3f3ffe6c4a7f55db8631e4deabe79bb0acd290a4af4a3ad93735cd7d3a4949d849ef28bf67b672a8909b2558b26041ef1128a6346121c485c65f7f92a126abd5423315de613bfb8d198652b1f1ec1a3ae1340263f7a44f910642bbbb37749f4d89a279d5e4be567136994bdf3053af30648eb635046dafea693820e7ece07b680c0e55a5a18c978f882b2d2a359175c0345a8e66bc618f78ffa704c6153429013811cb730c5500c08ad58d542c2c1fd2b5d789f413fd84e2ec55645171d169ff6cf211aabdc995de46888177449e3e5882d3c468b33753c498d5728052ce0822406255eaae82d72a911e10b362f9bc4c2c9c0b482f3c70156e2d4e583722061796479c6b09da81afc02bca5af5053eebbfd2fa52f0f2a9ddf33cfdd6c25d1652214d9f4dda45650f10f7113faa8b097493c47159a734043e84708fec5603737fce9eae50c58190ac6ff4dd8b0855b9519ee23ea7033c105d3c4433544f91c0a5493910bdee7193005100317ba84abdda3db58ca32fbfc9e2963de1830bf673c8593b22e79ca095950bca9bab1511abc93ae1ad79c878521bb0acf9a5461fd8df571e12332775f5ab82270bf6375329c7423ed996d6e3e12f8b26418b7d4107fef98d4d10085295638d1c6555a3e16286d1edd9459f25b72603f4364d14e0dc37c5ec4cbd9164b60baa5d8d9fe41cca72e58cc61eaad138e17fb24741fdc4e46762541a2cf9b21d189b75322eeb71c1ba2ef57a10b42eab8e511371e9cf831bdd6d2b7d18eb55623383d34608fae2f4bf46b6eb9151260868d66640e826bdaf522c502be1851d7af0e75eca7f0951017a1a72884712c9e20dbb8228f209854c9250993aa1e4655a14e3a935f02b60a249962fac7fde221c0e98a5daa58e9ca1254dfec06f5254326eb2d47278ce37e9f976d28a954082654e9aede0f1a94436c0a2dbe98541f42b4ff620696c142239859bc79ff4b88124b0f9b7bdd814455ca9da01d43300ad38267006c15b97d63897490485a669f6f1cf3633654cfdc0519dbf3b83e1e2dc0b1bce020d84162d2ed99301006cadb92c615f3b73ae7e14596503cb171c13820bdcf11c4db70298ef0a7f2fd5cdabfca4360e95d9de74a5733b6e5710f7c83d9c642eaa93656d93cc35cda4225a6c5ff7af6f892bf1e0bcf44ef20d1e12a7b7eb41c221604512a9a88324e01ef27cbec04ad59b3d414183c6bffde09bbbb39db557c30c4bd36d9006eefea7138b0e864bd86c1375912a479980399681890e224b4dcbabbe7507228fbbfd90635c75e824d520304acb3358b11e0c819268d73e6aab636cca759541fba75c00718948468bb7986a23018741622e37c28cfe307e1d1aea4e6cba1854f4605c0861abf6b6e2ea1ab84231114ec70e70e6240df1096c1d0d23eaa5c5604bcf8e9d48c5f7a4347ad61376f2ec6d207511b2202bbbbcec23209223e51169de2eed6dfcfd997223d82a0aaa5ce5cc4815e14f98fc4f4521b969b7538bd292f7a6042214dc51940e7d5024a863277ae82cdd011db05b03f887868b9186dd82748d6ce805c22b6ba3ce0a3f13ce203fc74e8ac19831160702209f43979d812b002e98bc0eae7958724fb63cfd12609154327197c70f6a06049ee4728d9e462a6ba724cb0a23ac66c1f2675d4ad7c186440c93b21e56540d09af1566768ed76c1f39bcb8b9daca58b8dc9a694f8e57b788da14c1ba37661dd2350f4e63c9c84773b500e458bf366357547f3924164d561ccc8e92fbbbc96f8094871177c61db15bd8f417f08be02508a8bce4643775191716ac5aa443fd8b68f3f43359152564c3c1b72c20eb38677d124be9668c95b3730b733ff49f30d8f82b997cfcfab0174e674d08858d7920bcb5ad75c64826c5cf3e4d0096b33fd52ed387caae0a0fd2653abde02b37e3764ca2d764a9860b276b326a01c30c8622f714e83908e34cb58aae6cbdaaa5c3723ba391d388683d2c1b4dfc68c0a8b39313cd45600209bbd7a855645f607e5a373bb97428a245cfea1a596a9fff7992a86fcc8f1f1e30a170760d616222f75014ab1e0da574383f12877db07c36e987b8e45484752bde0dc1c4dd6746c210ba2d2e799d1c741c1cfeff3e8213f7424ff73d8961bfa0b10f8f7db79550aada0dace163545987392cb2bb296c5308fd6dd33f35c39114db375a8a6d843d638abc2c224fa320e5f80b3713d5558c58c98eb80138e3ec70d770c8a7b5a859720415bcca9ec97ca3af3c25510c277269892d4266b16adb3fee9383f3b0fb8d86e8c3300913e6e4f85c6a3d6cd4be3f19ab1f1d487b4cdb3d5ab8c1289ea905b96fe77a949c3f38a2c3f0aca795b10faeb85fec1132c724bc7d3b5821e59f67d48bab7446f8187a99517b769ea5d6c512b89633b6210d21b3cf34a717eec345edd636a0c30f9965f046e4988b3cf79fd5bc7b52acfafcf34bfb77a0fdce9b5556b120f993040a074812d366193db6d04972f3671302a3bc9149028ba331e33c96464d8c2df0a8119eaabff4822a516f08e52411cd70a810806663f14251989269fbe91211e61f39a1156dc43f5cd9f5c18958e207a516ec74945f2285704c7b8eb8be26bff73a6ead8404b6f22ec6d941e69de743343519ce2765e71338624c14d51ca93ae561c68efade416483b9602df511bc86c20fd910cfd50e438027db0176390866b4cef73c6d14a2b64da51a3ae64207eb8e74c5f1877169ed4065a883f9b1081331975e425cb270a2953a2f4b9cab907c17381692e5a0d7a76ec157a539d2f986b48a22e64d4c721133d7fc321376f5116cdba33ec951ab7744699ccded7fe9887e4c0aea9f99955b5b0ef06c17dab0708570b4d6598b6ea6e79c12df3a550be8e5a50d3ca54bebc56e312fc5fa74a38712c956e98617e017d4eab9281af235cd0f2f707c61d64a7833ff8460c8dbae5e68b2dab893166af0bfbd1844a5388738a2effc5848e91bcf2877e767092bc9c05e9046a09642bffeb2b142f6f3dc623c9f33dea5bd1e8103ac745e3fdc1971104bf94c04432ab468cb6b575bafb07998cde5166c56b70af978a54356bed6b67e6f4299a2f7e8a5f85736cb57140c4fa58240d03ae2b4a3e8727268474a186df10a49829625eff294fab888428536d3bd3f5d208067ff558cc0fc9c810203d245be4757813de4189f1ba4ef24e6e8bb4f3fa09440557c15012b362efad334991d61a28622df2188cdde31b84d35634547edda30f3cb624795554eb0d3f1bc0881e78fa99b26b5589d9cd028a8175e878a2c4065068f70fc272eb7c6911bdf9c3bccee4d897eb7fbb8a571359ed514344c9d96ea468af6524b23d2a6c2e85a6f663c4884577a1e78afb41e7eef264caf1051637449f59f5fa483f780ca00fd9114e45b612c09b57b42e68636b1fced3167325d18769b884fa21e4bd07056d51efb3eb7dca2f48f215dc4c88efed240fb4b876cffe2bc0e71e2cb62ebc30ce0a89bf94fe48a587a2d34dea1dfc75be00ec91ab1e7e9f63e6b037ddfb4780e23c9184cf7c1c46a7b084d7320d373c842b19cf5541707e05b82ca5d94870c5cacc064ff2c4df1459c01cb50c07243a05ee42b4ad7f2c3cc4d43674219aa834b09bf9ce3144bd9c0acf481cc46259c50c4ad9c5f9600e672e7ba1f01d42d2dd03cbee16311046ea1a1577e3c768420754fc2756ce671cbf8973cc559216f0979e2bd141ce7dd06f60a083506a8bf905473d3246bc33cad8e870c62edf8bf5fb2d3d2596b94f86d281468206ac53cba83f157f8afcb3260ed963c7ddb7d5f905c292a9b250b2a54e1e53bea768d3162349ef827bf18130bdd2b5033d46de821e68cff213b86a0458a258d459beadaaf84530f9b361db519bca0b6b44246d27b1848e380845a0789e66d0e794420255cb1d464b6838c729ea212f1cbd3b6e3ef772869d85ff16b1eb2e85785a5a8e4363894dd29f4d9c55698717cdaa8a336ef1a0dda729d0416eb01419b244401b5ed9f4a78d5360f3d0d811a8f74405af64f553a8b5b1202b93eeac20ec799898e149da7b778b3463750832559c6004cdc57d8f7f4d9003f32dc5e866e6e12eefe27eec1173de8f94048c3448b408a56385e3f910690ab3f1af35af47906345172bf91e7085d66c7abbdce2ae61937791c94657935fcdca830b5dc84f3acae60dcf6cecc95bdfb2890d49cf955125a5369c1c00588f9c79a15ce9fa54200efbed278e68a33ae5d98e68ffb015e204cc38af91ebfb24312ef7b0793d9ca9f9d1bcf400231a7332650db53d6f26abb7d7371790e095a99bcee6a5a47da36b97eb28777417e88b0ec385648eb778ad11e54759055bdaa91f21dde3cd71812cceb24174ae38ef1e7c9590371419a710fc772327312b567dcb50b3ccc87c197e16dcac8ae962d4b5e89c942064a2af44e1b28699db9d66ce8836d5b1f25a78d4aa9a2f31292445aa6a90384798395bacfa0a29a3f939175be5dedf481c847304373fdedbeba1a43c5d322c5e9ff3b03286effc81160d6fcbccc3796a76da7bbcdd3fe43c7f167b2f2ccd81cf91eb813135abe140a29353b75295c35c1a27fb9ea58abd7772f92b70266175fb54e8460c4b16cab544120c9ef7217a9b22b377543ebf4a8e74982c28295178045882a8c8a2e7f148196265b281dd145e88fd23f50f6e515301755c549b187b6c7a213fe031ba96ad4eb5a1552ea46cb120b5719c0c524ce3bbe21f1d3506991d55907ba0dc9845c3304fc9d8ddc92285f054123e78b6495cbb6a43aee2db967283e78be7066d0c92d58bf2271ad3620ecf0150e35aea6fd77834bc0496bcb5ba785f6cd5846f8b4005293dc9956338015507423f1e8268267e9105f5a83df51756054ee62bc69c1804d45c46ebf405e2bfeed7f1bc8516c17560bfe986924fdf7286d28407c712e1838dafa97b38c578ed883be57c3e70396d3e2b0eb07e02a80952a23d2721cafd5a6152b07e1c6a1f8b82577e2b39cb743325c921b07e30ee9581cf419c4c6e775d6d6015a6acb8b00b44205fbf363e9c8eb649d8a59ad01cc1de43820b79c09f20b75a3ed6743a6e51d45746282b59aec0969384ece75ba59c57392ec87eb58c9e64540d24d4d2c89035c3ac48c6e68664f284fa2dee71d8eb805ee4bbf89aab0925067bb60455fbfb5546d2d5f808a4bfcc4f190fb4f2e0f98bde92f821e57d30f9d79e0c84321236ac251f87d0ce62e813787e162af9eb1951871a960b9d49e5ee05da5452d7844f03ea31542241c2838ce1d79348b106f072ee62225be2e775feb89813d53ff3a67580051457d49a9e5bee7c5c3a73702242c6f0851bcd01d7758588f3bd9f6ea4158598b281ccac5182285af503fea2061b703be692fa373fe062eead4fc82bd2a1b1030067af6d727c7d1ababaca6e0baaec0a5653c0901b8a422d82ccbc214e9f34dde91717dd891e281af930158552a548b010be74e2856a12a57e8e0b6549360af89399094603eaad06f231313ab7fb88f663bd057a8b43418f7637896f4682ae87b3a8653c4072de1c478290790fcfacbaf04bf6fffd851ca77bc990220dd455a0613fd6b60c83bee51f7365ca23a071f6778db370902d3853be574a06ce62619b181183e87085ba12d1088c75c1a9bbe1bc75b669f15d710f72f47252d2cdf5d7d7637bce79041511d1118e677f17c4436476594bc5a0b84d8556842b30dba1426ea84c5804641debe2518b945671b1dfb2cbfdf07b85123678bffb4881df0bfd78387334e8dcbb2d39ab100184fb4638a6bd26881f67fbe64813608b19774a16e9f9e61731ae018bf163c0cff1246cf9de33431a6631916a90aeeda4664271b6cf00536017323b3e44df4dbf790c54fa0e718ea53a9948b69a323d6c77a799bbccc963247e5ff9ad62b6fb684621e1f44e83fdae1937e6b753d310f99cb2119f61c9b6a67b09263660c9dfc485398000edf25516c9d87fc397d3d716f1d779f8a919e92c08259f1f9a3fc0e4133641b872b1556c2c07972e81c0226c9e3998215a0454f2e70090ee2e365553bdbfa149989d04af0d87301d0011077b3489da95f1a42105b24315527d5147c9d8909156bab032b95a547e09e1d01f9b562ed8d34f1c1f98f68247e5d0818f0e49bfb8f7ef811ee26893d23173303750c28d42f1de5a6609edc8bd3cb0d7a37a829ca3d49c53746fe632346c2f7a313196344596ba94357127d03a758907d4da7bff0e4cb363b42707174e2fa4dd398f35bd20e93030763bb2b39401ff066ff2270aa7c4caba687b946cc057ddac27b1b20ca30a97bc5eacc33c0c0e514b22e0518a8a3994ae6ec3c73016df25480f2e43438716d5fa334993515325758aa57b0c714f174dd4e12808a41744563ced8c869b9a443fbf52d076e1be7cfddd3152c3271fb8223bad8bf0c358974b66555b70d0c866f29bc0fe6089f2850b2f8230cb082b255dc17308b000298d9336506ea9f8334115f62859cf41c6a9357e63b732941445568dbc30d7f21cb0598e5dca599fb9a536856e14ac4140217f130670cd01d121ed5c331283584e9415e343ad7f80e1823b89403c8510b224b0741ca5ae98918409368e00a3fdc60fa93a73d985470a0ba7268a90e4cf71fed2e71da246495ecd0f03c409970d7bac51aec519820793d2154d988ca56b36cd73c4ee288dff6c2b1be80e82234e3706ed0460e4a675b1a3b82cdcc349cb09fe6f5558d03540fb206aa71661af40ea306fbe1e1c3222a4344fc393e63903b43c34857f0d587618c0024033b735bd6fabcd8d70f252dcb029f81a9f6fc079e4f523f773ebe4bd4c5b67b20d6b73b1619e74dbfdd9de80c21d1d7320639517fd6f91dfd1e4c8a9ab15aacb98e49b228667dbdd988de21b4e2df040f8fe5c91f5e8ec7feabf5808812f982dd6070dd9be44295726562ce51f5c4b050e1b8ff85e1b766e697357444123302be5a0d6c0823a05e3d7be7c33534d1e09653f3cc7903852b64ab0a48976620a880499071dbce0ead8a255df2ba154f9c065118af628f5c5bec2a0bafa357f6d28c15cd7c5a6aa3dc8cb6601909ddc697e22969007f8a483123c252ecaa8a185ff42ebc9a57ce82e4c68f6022b414e33997ad123b7a370ef15253a3fae3d34ef8220c157a43061d7d28a04b6150bddcc288ed4c1f1e99c8e9d000a09b3687de94af2d296e2c16e6d108b06edff810dc5a5b00aa3e6b2aa2a44d1ab4cb4e4b9c34c226ba1830495cc0628954a42954c7e7d003bdf0b35c216babe418d3c4c4e5dcf3f398ba14a5d446f1aadda8b8c98291f0a58548a4933f1b026f571debe42dccccb98266fd7589aa9013d9cf52fd4c315c9a3b901af40c101f9148ccc7e5a696c45da83c10d42267c45c4cfb049beb40db37737317ee220315c1d1c79e662374dc5e53cb7d14b8df2187da6bdf9988df36361642f3d483e88b985f265b69626d8972f8cd2c1a19edfbdfc6e6f4e819b5a2a97b9bffb466e8ada84a3dc063c821fd21445d1943b59af4394dd2c508fafcf0a231586a0ced5d64ba3f640e94f49be2f8afb7143fceb95bf6f3bcd0102dc3fc3c7984fdad1b2c594571708747fb2bb4c12881a8dca08bf67920fa874e9828fa72af60f03ab0693f9eade239287ed42f09320ebf0411fcfcb2cef9244be38b7480fabc9cc4744c3872e6c5641cf87825f578b1565e37abad9679b947f94088fd0ea524ec4d769dbc1327386120ec9f7b56290c2903b7e3db7bf5294673ff9dc128c7ccd000204f76d9a748fde37f0d5ee192bdb042c878832ad79814bde3165436fbe36f4e06069ce1562c10f77329604c3768111faa9a338841025a8d7327511e8237d3c40d8699ccd802d5cfd38ad4dcb52f30fbe6c9d42f63f75a40619fd385721ad43590162a1334f2652d62e8caa1da3e55918457cfbc771fae26e0285e9d976133c3f0fa7f47f61286c2d19c0dcbd849ea2256fc5b14c8f42102b022952960b45b8a9244efe0a39f0f6d24f1e5e17d8abaacbcdcb9cdec3ae83bba96e54d19b2b9914626185e80bd9ddd4de38259cd06f4e2a366574074a979d94289836862afc8a01062653651b28648c2600e01efd231966205bc74c9f4e49f145718c4545af4536b51e2281986558803c9a2927a53f2c3e73131540423cd2cbbb2ba191d40de35b22cf0684336bd4b6c8cd3fee8f8c6074ecb9abc74a58bd5dba9685eca79a83738f6998f896d4f3dbb92c76dd8e72d78f7c6dd68cc9b3c31c855f597e41825c5f8b170219a863c3de06d8ea8d4e7ea94888de74cfcd8c8824e4d240d341893d2b4a331319952666e476193d6ae5d53abedcb9bc9a468bd813f5862c5fb5237064eeb474f51aeb833fc79f8c1f7c88cd25491a168c04c9be99673719a5853f080c1ada4e65b666912a5b3482c60bc5aa4806b247d5b27e49e4ced00264887baf1f53053b687439424e69a844aeebcbd2b53a660208cf21d88d5c61e16056ab6da609fa6af6266cb893660acad56134c440b19204afcc17ae1dd525c0fa697133efc3e226a103f0a4ab8d2144520a5e04a7f62f6fd48280b1110a59dbf8a3d73dc8c8bd2f72214a9d63fb8b44dd371426ae226ebb06adbd72ce817517c622926f4db5f751758a1f5b9302b5473a42fb8deb39f5fb5fc73efce6c4b5fb29a52e0670392667eb2f02e649201b962c2178def2f3332ae14a969d107f9d8b517fd0b0230171fc93101339fd5116778443b3e88f32871f90f2720bb7b62cd8d753556efb34411e1446cdfb9342a3ddda944b86fd4cdacdf206152e64221a6b3a8d1b7ae11c29a6dbca4c0778712c718a03579b346dfe317860cd972f68f30a58f7c3b6b03db2aa203296f0a35dc26f3a52d0fbc27e13663feccdeaa4bb4cad5ec835e4adf5163d04a30c83384b9208e74cf046e93567b7106d66158981a8f1b4c215ed4136f25a7139bbe01acd14488a66ae4acd8220f55ff07c615ec8bd64c5ee187dabdc692fe2c314e94a7122cc4d7a5dd689b5f594dd58fe59b2805bdffa55fb2b1bb763b1c4ec0a242fedbd389bd0c91712f6f0f224eaeada4ce6589dc324e81f1a217f851aadf7dde200493e48c15b4d9f8a48ba1633cc43e2fb258e13d22bcd3d8316c36179035fd23a87e3dc7c2926c9ee165ac0312809a3c8893d2cdbdd8cba42c832e5efcf27d6f4f780d08d4252c074e946dcda297c43030ad20198ab9d3d417bee110b6ed890466059237a8a0d3a111d7267d0fe2f71e127318d08bfd79729c99252d155027111c9f6e9960dacace814e9fb3e5158059918cfa60aa97fd9377d186269d13ffa731ea5403b9253ea669fd8ed787f7feb4262e1a42b1b274d6fe9e5410369ad9fa75368f96cf5a8c35f53a5e246294caa0ccc977f0cab371cb4a50a9c0db5574a48cc5ad742953cd6525283fcc9aac8ad961c775720fa34f1278bc831e81acbd7d892d73e21f2f30fb234a7e8d07c7abd2f4c7773bfe9634b27a80b0da6491d6808bed5d9aa3a9adef0569f2b6836f092e9ed6c33730f60f3997a00e28d1a92f8014c91cd56b7dda63ea3b666de6777016fcc904821fa859dd25717fff1a517e4fd9b6e98dd2457e8640ca85d06d483f4d1ed5fe2dc514d45126895f3d897de066157c054497202502ba010cfe591d7206ac11e8b14cd06965965fde3a0f90c2227903803938d138ff768d7c389413d4bba3043b49fb93192d42ff4aa5a5837329d86aed4dfbc3d5010d585f558140fd2dfce9879a491375c55d567a7e905c1c71ba32a05f6abb85bee0ddeca02b60b24fe3956d6af2f02060314f3cb4b18e3d73340d3b79cdf9340bdb94492a5560b5295db2b70fa7c6265dc698fb61c955df220659374096db132ea523cb9d189b11e824da8eedbc79fc2e645c5a0701ded983d18230f302172bd822b509f1dcaf3713107e3fdc9b39243673afb15bb8c9e5851ca72b89deb9cea01e906944fec2b6f61831338cf5f4ccad2d42e719949f4af35284dd8d0ea59341d1cda065be28df1f7642dfa6a042d384b4aff1ec81bd70f405af819b77db2ca670375a4c7aa0599d77dde3f0f77be77ea701cdfa04a83055c816146a529e0922a73ba4b3a3e039193ec3e423dfc9d6b36db12fa092b8d18f8b22903dae10600fbf1b9c1840c7bc213ed74beff42e9458dce06c04f9709630ae4057f530cb2aca0965ee93e2e926745fc37b0716dc1118183ff5680980cbe4698b35033bae3f7837ede3d28ec8f2209f2e2a3115fa9870eb5e623be9b05aa842eea4c01c7f1291fde3ef9febf99a15ca372071a9a408eb8e10f9ee817288f6180b1ea8345b3ea8c248aaa12a6703bc91df383608feb6d61171aff8e9554cbc6a66cc84f9e369d19ba76e123b412af1836e1a02a6c12cd041387074f10fbccc3214d4186e1ba209327d359be04716b6144c07c2078ea9982f3cfe7b31bc31b4b70ae505174e3e8b64e658562691d220ea375697148a59bdc5dd0c8d12088b4b2fd5eaa989c08f800f982bf38acdf4d5ecec83b582de421dc573aac7cbea5bc60f8d1c65dd091f526933b3052f204e15626c54108b61e10312195994257c26b44570054d89a3ab7989c18239cc82e241b10d2f078e1fc4b5bf27861f58614da530d7c04abc7e28b93187c3a89a5cc1afe4b0716fb2db8871aa4323236518c62d344eb260382dac370673e288b3b3afe643db931e9242cfe42ca8fe7d5abf8964cdca0e55ff33310735ae4e3f97a0569f96e5846b36572aea60e8945c93ca810d6a838273d423c8587d0ab051e32a15a7533ff895108a3b3945d806dd3ad5336779d88d359db26f8919c6a629691267cfa95399f7d463dfa1368dcd4c263d3110365f455fcfb820c50574d9c2b55d9b58f4f48113461cc6cc2eed5cebee97c6e2645a1b6fb18b7fba9286356fa24d85a5d1ba474f7a34bcc68ce57b054352da54a2f7c7982cade455d275c34325deed46c11c29f5adac39dd990b99fa7ca6eacc6189268118e8926768ce4500151369ae56bf9873f67c3f8d71f2f6f93e5fc37074b2df0082cfc001b8d9b733af3410edd9954810916b484ee2012629784155136d51f81d1502f28a992cd026fdcfe29ba856ce6d125e3b7fa116512f9b2352a304616c38cc1729340af40561b5c49650d52e48b92f10b2e34dce33f45cf2ce3ef6decee059f1b42c7e36404dae03342dd40141f6a628fec3f3fd6b41a8fa240b58c29db59587ec240adc95142ca140499e3c4d544ebb7f47cf3919675a7d4554c47b7ea745def90de268851adcc7cb8cccee965aa727cedcdd88240ab7a6c4ad54643cc1d933e2fc56d81cba6cd20770735bb1db8bf58deaf43ddf0017a8bbf3783901561f7a6a9f2dd84e7fc30a201b8d7e2f38bf7323ea94b6f816c930cfe0041e243ee2781a1fb6e7f97d9860c040d7d67fcf836c4ea870009e87b9c3ddb157402b717063b00be5861e86a16150503c546fafe8c0c7ee3f0dd9d0c63e68ac3bfbd5c08761bfa44a6c188340938d233bccc0192a8ffdad7af2ce11d2501952a64ffc082d4e79d1fda707a96f4dadb0090dcab0b7abbd96075152ac73ab94f4caf04b4832952333f675b06cef366b70db58bf59843b0880550514078589ec8759c79055b8632be56be84202d0fe1a7229cd442a69aa8f115254e1de3c99aaa4757ce63750b3094e7c4a555f8fe3bc5ce03baaeb0ccda95ea063c295c2aa70581db3d4a7e48dd19146066dc938547323e13afd4286dab3490080a9bba22eb1fa25e4aee242534c719e7385d9e135c5a7c5ad739de7e48fabc49ca931826a7bb0f461a6390ede93b82ffee8a6e5b24801b29836e9bdd38a4fb428b2b322e4b2662363ce689b24d2ba4b61c457df3012c12902b5633ea60a2929447c93f5b3177dbc2484ba7dc0a97326129c3c2e05cce7bb9b2ed60f491a2fc7402976bc107b3c14e2a89707c2ad5cfde3e67b24edd9fac248bfe381c0075c22f499b8cf44b61c7c4180d5c27b3a2112b61f7db2fa71ef16d6092045b9c9108ed349fdc04bb476f7f2aef80a3fb43dd61a79aba6a1a0d0f6d7604b879b26e7bd1eed5970059ac15954096067672863199e04bcb4eba112c918e29d6dc20f877957250015f83ec87ae0fe9e9ad65b1ded14e82cc3c2b8f02155b90d7fc16dcbf81fefea707cdfbef5d557e0c504b01daa20ea04d0b313d6daf052c2ce297695ae5cc63cd5494429a16a2b7bf7c5dd51328e41d73b0e0fc2291757cad9fdce3dae49569b0a78d32c113cd9fff73c6017dcfdef8501b69c74881aebf2369e5b2c33304a4cbe0b2ea19d160cf7405f93f1ed0fd744c14dbb8aa01bb758a470243dee505fb5b88ff624cc1f096580f2f9c0864f8c8a72170a9abaa9947480af2e2362277a8975b76e8690c49a396bde91672bba1a4a4ecd83dfc0723620a0f4708d6ff2f9e76955a7d1114bc9a0a3a3176dc97219aee61b5b0799bf05fa7eae21f2ba20cf2ebaf95f8a5305ee449771e58e38cbf9eb1e64cb75758d050e4b4ef3284121df61fb24eed9138e1b471b23a688f63d03016daa4679c94df08ad593d774d6bd09eebb4942d216a6835b18ebcd4f2f1c93f028ab2eb3018fb94cba4d96698c45f5445032c64169adf5d506c120830849d829aec654f07f6e95b277c0ea404dcf09b6cc83057ad075a377e2b7b0778dc6819c9e49a3e26e524e0aea738af3dd2e4839f4df2c4bc2425689605111aa978bde52dc3aa8b70236b0639831dd49e506df67cc6e77e32c277037bc70f7e867760bf27b40a93a40b8132ee77efcf2d14e18c3084905e08d3677fdb0bf7f64b2ee237f3db1d245cc8c7def63c943cdb652c482dee752138343ecba7f4ce414770307b8c2732e06dbf83d86692322c5658785862980230dca26c9640675d63b958c659a875eba968a4d2f3c1a18b1bf7618f486e3dcd0143abdd25998f96bdfa86f885e58b40fcd81c0c05c0f953ad3fd1585d82263dab10544a051f18292849cad141de475df6a35a55a58a59746bae4a948fab2bacff0c355e022cd81632d7626e97ff3ec07fb399983eafcddede0e2ece94e2fcc9a34a657d2d7e35dbb106941fa4313bc57592210838f03f6781f8efeed046a08b693ca058b1a7b43151f6d0acf7306c0eb37690861d5ce7be8f83fbe03c6c411c0d74e889b9904e44bcc3ebfdf55d8292766f216560f1d9398d48e9dec71df62eeb3056bb73bc99ef98bb7a2642babdabf3022fe6c9d6eb2de246a5d2d9ddfd5bdd22f06180e0fe42aeacf0f7fd7baba8cff3580445818c05c2980ad67964b2368a30dfbd2b0627dadde6730fb1027c867a2676805784352024e22504bc203a126b1e10890fdbc59fcefb07823dff90435434b936e51dddf5b8acb0ca06ab0125d7037966c535a61737e3ccf625e44f500b7edaf063e4225c98a842751704e06a1c445ef314d9260fbfb76d435d8937903a8bba53149c77478e60d271b1fcc8752a49bd78e4431ac376a4e13f6d065782f2095618fa6b48db44bf89eb251fff66709cf7737edd0aff036286e04879384658b91193714a071ddc5d179b7e40a9a4421307a0b0632180a1abc09b4bf606f258b016fcdfd5c812925d8b959cda737f3461e09e37fbe52cef01b6bd493220ef242072c3dc6eff81dd89ae554458c94bb5b21531631ba7229dcf13b4a3b9050a816c7357fbfa112ce2a8480174f70207e17579b8ea6328328e94b3cdb8a99ea72d9c0968f89a1ca84157bc746e6490e998718384a1b3086c4688b67e2e14cd9f10ee55b0a2169b321843886e789922d0977235a39a70bcc691efce29e9a3340b215b43b1fa500aed4be1fc9ec013ac160c060c1ad9afdcef155ac8bbceef0b622b7b9771dfc0b072dfbe34f07b83b06946fb10c056b5cd9eefb957584ea0b6e8c1258f6b88c830a5755c39e13b320217480ca4d639232d12eea8296a194a3fe9a527c365a37aa66d7898e3704f8fcbd8312c430c0c6858d51299f1d1b8ea7d8b4b2d8f5f1c0b12cbf87621f66f096c7f6ae6693daff8fca50033212b11605e7d1f38c8bb851a138e2fd1b1ca2dcf9edc19ae7d14d7df91ed48c1362150ee76cce16a7483a48494b56d4f80e43698639c60f32432b279812db83dd2e68ab11e77cf243fc0ac872878bbf56343993b554c43b7b687d4d5559fb4d299e7612239ca95972ee84747ca3c8f7f0d955bc97041b253b97feb5c9b6056523af8d62a38b3e8ff1b734f391ee02389339cb2c1e6973cd205731effd30a813be984796a418fad41c55277b74da224873317887932a36aa278feb006bce6610243a6161c40c7739b7020520d0f4ade1e815650804192c38e1bbe4e95a7a2393a27484f0337a9daa622af8ec1e3c463e142d8cb8be2e538ca3ea2a1d414b86ea185d60f57377691e33c225c0a26ca3d36adda0e07a9885c9cb2bf816efdfd2f1f312daf22a3f8736e48cbbf0ac74d3f95c3e73d58d2f2c7302e0a19e904c35061cfcaa89a3e8bb8a5ccc4c7b8f1ae093aad2dfd03281bf58108ef50f8f040cb2701ab6930297a1b1d97af1498b0dd0099a4c8f6d8c850c6386d8c8e727a1bb9f743c80b1243dadfb6a8ce14e179fcb00a06411fafced155305d95f0b3dabd4ec01334ff520a8887b40eee8f696aedaee57b9423c61f87f1cff9c35d31adeab1a99608f5b464a356d30516501f4f0588e7418abcee1706c8850ff6703602d2e6cca758b6a2bb1359dd8cf2e40b15402f12f50cb18eb5d9dffec50a03560a6e988986ffe8967afd41f0817e7c4d66697bea2a7a0a2f880e8e11a5b8038f6db61512688ccdeb641784f3b285f2f2a439dce7fadd06e9fa4cc125c970963a5689f8f73a923a49793734e6d94a764d822cfc4997ebc58aa6958765629f073c1c808c85cb95f506280d0277f0408a32c761727f2a0923e4f4b3687a595827d7b6dbbf114c6d6caf8a8d58c0ffc76a282269edf713724916fb0cd8023b30f0dcb8ca749c98af25196f6d18a86529e91bc51ecabb7a95cdfefbf460603234b74299672b8fab93aae50ce45f212db5eb299c16dd139d36108a128505247da9db6325ba8d280158917d5be391ebf11f90a451c200d182cc88795480ba09187d43d40796ce8e23797746beb57cb585b3e704c29550d8e7d336e29475f8336caa9a03188e7b0478e322400832dcd7f21aa2a623b471da3d1c457847998dabf9dcb6e370f8b5cbea21e4ab4c098ce8d37f26d73ab1dbb221ed1bbde183c69f0adea67ad605754f0bfbe7cfdca9cf53137588986a833be2fa5361325d26c0cacaf291f389d07c05736b61906593ee8ca8af5e037a3a437d10365a29c35e2359bceca2c5040b9e1db0a91b886fd2e3ae2a6c9df5688581bcc8da6313393bd5997425f6d558a75afb3c0912041115704bd16b087d702862ccff6e916367a8f19a6198dc5ba1a0a6139f60296d051cd1469cf6b6be429c5e00799abc5767ccb3db7c692d1f196f583135680be9277f3ad51c90984ab45f6c4756c21dae4783d605322ecec144e24769996235e882b56d4c236b381ea5d99e12ca0db8742dac69f7f02e28141e718b39668e0510587d98cde2088a1deb787db33f512adc8e6accb4d948cbaa1b7aeebd0f842ec2f6921123a26478aef01c6b978dbb19113cbdac17899d83c17455d417b0c61c97cc898841325806f259b29639cde703118f4d767333ec0219865b29d97a769b48860d05c670c5248fbdb0c171bd4131a573bdbc17a43beee4f216c2407afb0a9172f0ff96d5d9d15121241116a011c76e05b5d52c0e7a7cebee281926f9ae3d1101ceffc955f951cbefb535a2345bacd2c537e412e4d52d050afa2e3c72ea4e548562ab242ccae9571728d96805ed963876fb9b71f24b6d9e32e4032b3822ffb5d7610aa6a0f31a31af2365a4cb3d7c8eea40ba0ac0a2e03825a17bd20c4997453c8e4c6e1f17a0b8b40406cde1ba12c0d76e70580d84c0d6836e308b5181304a735a218267236e39bb0b6e3e8301b287047adf95f88d5035d58f0b5a3b344f6376128f5a8a3cb444e9142280e8a531c6ffb5e1a1afba17d71500360f874e7e34dddd0c070051ecbe1396e9e8d0637b90fb35844c042869ab534e6dc560789174b9f046825091d8ca05108743305d33987523df39dc06cb785db3042e552b7344f53d6b9bda838380b4c8ebd78a36da6bba704199c723366a15a25170bd65f43277253cb48c2f1e9f62a7763832a8c8ea09eaa546feda2e808e683bfc2f462829bebaa6ae23b32d751fa17fa52f071a8079d1dc32e1bcd0e9cb038ae2a87278e7d6bce545f18489a559c5dbae986ba8ba45dc8b037e109488d60b486ec0c8bd6ea080a9966d0e0bba66a838b21c85f08ae1c9f53a8c868204e549b0b71ad4919ee75ddcc0527b310ed91fbd40a7fbf048f19ab6d1c8e3f71d2485b42504430a3ee631a42c0ce6b834a558813fb2c4b1938e201be5de7d7f861257fc56bcb1c042d9986041b3213b4ffb06ea8cec34e6ec01a23a27c1affd175b7116352aadbddc4616a7fdd61d3e7800e121c3c59b49f61892d586476d0b99a878e836ee0aa48edec243c3180f23885670439b4d7c06835eb01cd897ed8222906e5cf0fda9d1e38223106a4632b2303f69f2d08a87757261ce51d4f988bc7cced43bc24a84e815ee526215a4b27268c34cf00651c6ade9942539d2993da17f6405cab9047c413a4482b7222b76c92858873bcb60761037ca6baae76b9806436b4b1448b966a03aa820a29659d18c7e7e67c0c864f1c9f51477d4d8cba0e07fe81b918ae23a2d2ece1f0edf65fcb6a11db20bd56080c2a813e433f1e1316a874ff32a71ee99623e0c25a31bf9c9a66a30c7f1e02a627df69ebe23a66d7865d26c76c885552a6ec8783d7aad86fc38f6f06fb0c50395388900ddf58d3b04163188da0559409ca3a325e9e288e9c7b34be00c280da0f10840997929228b12b6487810c7f7cd2b558e5fcb7b1863722c2466fbcc8c2daa4bbf03e1ec81d842d93dc8c74445a305f1c8e6820a998b6fc751b32f28c5ed96d9313ea16d6f302d421a374d666edf18a89f7e7067ed8ca3737eeb0ebd1b489395cb4b09ea13913a3fde75ab35dacb1da0ee3c40d2e4b4738745cb5c800035dd539bdaf71781371591fcaf30010a0bfda7f6261e8f33bf099bf0e28f93197a13b0b1d7a45ae339be3012bf20d0a356a465fb5e3bd62794691ba58da057d89ce647e877a2e46c91c5e4eb88fa71581e47929147bb5b3841b797b12000dec2b22c225c447a2968bcae81b53c897af14f691625a92b18052a1a4846cf5407ff8faa3be5f9de686d82d317e2d0b511e8cca7ef2f71088e9e897c6b6915670e3cf96116a7000ddc1563f769c4efbf85a60656852b42a834165f6857738e68cd33a5b4f20ad0481f4f00e023bb970033b54a0981a095ba98df89dbdb162845eb9c4bbd15a0dce106c1e093376a028c0dcb06a95050981a9d9190c3b91ca789b6c7414909efacb2eeaf8c0479d003cc18b625ba0e0c401d8714b1e026186a872796719fe52ba931733213a0cfc837e9f92bcb428614a993648e7268c39a4e4720ce0b91f0d9c539d62f0fbe66cdf9b1a6e822cd4bb7243dbde79c21067ed7f1cad7326b908badd084f66866f38b18bd9b5ed42acbb291d1e480474f1d1fed3ad9e3bd1ab25d25e515255b66ef53ac66eb2dd76551f87a8a38915aec683a5f983cbb041c34ef98a550062a10688b1ba1df6ab0dbbaedd3cad6c9c841f093330faa34b7fd724cb5a4f8ba028b41956a9a8dd184a2bafce972e6c198b39474b464d045d311f40cea095ac4ea0e5c24fc7c0674bbad08f5a51098831fca4dadee3bbfb2b5fc6d8c1b14afecbc9e536bb8ec87954d08a3d6dffb8fc8ea6e63b2dd6503895e51667e95b0bf428b6dc25892a2eab22c6f75417623fdd18b76924870e0cd72c5b8dada222d41de52775cb5c02892f64621de9c7dd237857c131cbd8a789f37c73aa1726088553d4556c733f8c7102be19dafb2c06c7a0b62e18ce24f8d099ea47e55f73ffebd0e2970d68126b297daf26b24e39d038eb40521b327549fa0e4983682c0f4e3dac751387d2058d94f8242cac3ec45a7bedf11301e81b8e5c08cfe324a8ab70fd598931d431084a130c19924fa98224e1ca5b6a38d8fcd3b44166be23adaec56aa6d2f336e8fe6d71396ec862fc819bbc0d0e23595860b526d00192d65cd716aef66fd93eb47eeeae1f8937579049d28e99d170da292b2e20b3af86519c3df746ae3521e3eedd444271c7ca3800746a39deef558be7f9893e86f0b5aeb46070429753a220d7180376b371a1e429897852a659d3b62dce4e3e2d2ef255130a699418175963f9d06a3828aa1492b66463493c2adfaece60d89b58818998518da47d0160925deccbdc82fd8783d26684bdb02d1834bf7e81d1fb18a41e31b874e178e3a6161bb85638c6f84b3bb67b5fb639aade51ff9bef8eae3fad8f87bebab03b55c02cbd0fdd58678f06124a048aca4a66f61b52009b2e44205315041fb2142e5a60b65c2d30cc90f128db638fed0c7492a75c3da4df10c5bdc9aff450db6508e4e56ddc486c17490ec686f7de1cd91c6b4bed06b2d1f7df612c8190a040c0618201dcf49b8d05b52aa3c7bf7fc359e9bde136dbce3f8ac8e65b6e5b0572d8c258c2b4e6b5be21095c16ff91ecfffd8a36d91ea875e5be23d74560c942a92e13a946d4c456b2b4d08c42efbaf5049db6b65374181209d4b02a60fe95f7bf9aa3bba3b16b476efffafa9d3758189436310b616f4790be1ec4d2f3356b769533ab2aea5812a5e79ffbf89c2334c2e6b3d53ce924c9f57bca4de80a441af9b0114ff5e415109609793b340aae8cde581da2c1a78e0e04af309858f07184593a1281bf98117f5266aa58fbe2680ac0c0b9de7941f51bdfb6758763619d6d9d48a82b87f8c3266418444b6519ed91cc06c073c0611e07d25b102870c068f89aa31d561ac013bae5e1b3c8757293dc891ce894bdbe8a07c14a1302b0d3ec80bda679eba8570cb227ec914560dc69437c41ce1fab2febfca2dca63d3c3e8f81b14a3bd9bded7d51bd7c5c3b5047535ab5dac027c3bf8e37330773a18558aef1c180e5c6d125d9299b7cdbb8156ac33b94f46f8a01aa3d90dedbfed94ba96c59099e544dbf1ac5c8f4c02b3b6e3d243af0ebdbc839aa6636a9cf244329b2c018cd7da32919f23e4b79ff2ff12eb5b2dbb172a6fe50d4015f35eb5f576a9df4b8014acca5fc690283d6417d00a122e3f2fb69cc2e86252c861b3f49a067e53697b3a9ecd6f4416f15c3a818499988e6cfaad7014d8914da328c02726c9bd46ed87e5d0ba51eb13f9bb377c73140630e96b2cd7a2bd608aa532294a2fac8968851b235c3b08e40266d3cd3ba7562e4c0effca16e282fef75196f340f82b033e248ea8d808d06abf2056bc8ba2a172b83700ed6e01b4ace0a0e99e1e42332957fc7332353f980b625374e76bdb718ca9fde1f4905c54d648ba4600a1a4b5d01a0bc3dba4759002328978c2e50240fe672e5750a419cbc3a4f8a091d65cd5a05123ef36b22ce10b12b44609299faaf8719460cfb1f69eb51c1747f914c3a3f03988f25d27960d91c91433565d37f89d02195a2f6e942a416aa38ebfbcd7738ec07c318b05030a06398cf458fac189b5ad68fb341c7b41c0d02f3a62f6b2f5e3d8ee69e4f14ac99fe391d6f97d8913c8db58b72a790f4b0702b21cc7382afc47da8b3fe1d744b9fa9ba03c102d04cad480c1324b1ba068bd2432620724399a0c6dc40cc8eada0d0c23a13db64311d1caf25c8cfccdc220a49cc57b8e64e00d809afd1dd8f2056b548ba52e782ddd73f9a7fdc1000afe558d8922085872e6a8bda3b1e905d76cecc85a705300405c28e33f4e3025a18d2c98a19354b17216c39ac5f20d4c2ded36188ec9655cdf92c9ee203945a14335f5fa7ad25f7e8426b78fb425f9577eae97d718e468553cb2415f8f0b2ea351aac97a27c95818bde9b3403a4242d582c2bdb2077b1ae3a1ec97211f32eb606629b06dc5ae97f1232c8e0c85eb21522a84e9629dde86d812bf27075502c8e8fcbdfebde1eb9b8bdaca48c830e563b3af2bd386c6bb1e8c0ed7d84bd889d73b1c29ab87f5a4becb4785feb3c759bf7889077bb450f11d484851579cda490482b01dd12352451ab641067cfdcc2ca2b17bdfb7d6e54c3ac825b7b64b2d4878c29a89f0721db58520dc6a1cad894cba86c1a47fa31d986ffab4b596f59f35d58634eb38c20f18a0b08f9eca6de967851f88e96e9bd4de5f1dcb336b605077078d7946164d535dd53ba62fe2d6fe0b10dddc7a09ceeb473ccd52df3f30cd94128480c64426834672cab65798378726dd3d77e98c429339dba3a5ab4d56bf3002bfea6ace6ad22e28bd6f06aa68d89246839e9d5e494bf8431ea5abb1289626f63fa8ca8de94bf8202327942fcec46c012a35361f1a92378965bf4cdb5ce1d4fe78b34436185cd5bec6e774be3c03346ef98b4bbcf8320e696843c1ddc47cffd075c2b43c8720cb6eff82ff57141f7341143ebc1e02970eed26e9fbb97379d65a3f854aec1cc05ff63df3be3c6ebf174631dda4e34a77499e6125c0599fcc1013e3f140fc2b3958ab204b14e57dbbed91f277d96cf9098cc9ce89b562e5f0f1813f4d0870cb55f897778c7e765c465287f71d015773e57de1ffe1d86260533c5c40447473de3ea14712c6b3fde9a99bd1e07621f8bc0879fcc870a40ba989e7a5c5f8cb32a87b880c66c6442ed0d8a41fa1c8ee29f36db86ae0d4adc3f60bdad1c20e756044eabe60ecd0412c3ca62ac67de3dd421fe4b3e1b82b81996668170fc7b82ed4fd02733ea007a1bac0e06570d9bdfa10014b9fa6f8127da2276170dd7482ce810039949e6522d7d9ab2a67a09e92f1bfd27d80e66c74aec497461d278a7bdbff7b32c2e912679802951c66351d8097bd7019229662a9a842a03abde50332f0340032c0338a56ffeae4bdc3cb87b8d4f61dd6e4e6463aa4bfc31d56da9d0b849841885ab17697c75ba9e3befa04aa31076dbcd6362940942136a82cc3ba31a94205fd8f71bff94409710f45e7e3ae3c8482421678423e4780404a623b02e13227c75614742cd44c8e19858865fbc669d052484a3130920fc3e83601bf2863b6494fa944297c84728de07c718ba983a5dd05339379307503c8056ad9edb03181ca6e20e7c70f0d5e92a8f04e9a96a4644561cc8f48ad82006ab2ecb3eeaadeaffbabd38de0007fe7a6a9040a7a15b031c3d28ab2ccca19541520d2a755bd68d973ccc9e260c667ab45883127fadc445410533085c408b9a82cad513d92d8708e3120b7a2c7dfab966770b3fd96f45d3bc388e87b4ccafdc9a28425e9b2936ac6b67a4c0f68405fa4b5806a5d3097cb004f14292a0c8da33c5891b016fd9ad6004333d2310101fa8ca411b69947ba0e6e9c094034c482ec5119a089b08c14b20b0e337c08095f513111111792f7f1a6cc57f2d73cffd77dd9a81cd14b69d0bc86fb153784c88159c285db880d6020b28d0a5e86b48641b15d8425d12b012d44a8035eab27604be9aa2bdeef24e17a4aeb5b7f11ff0fb8ad29c1031c179b262bdda8016025a473f316010820c5882d46b4a2d5bd3f9fd6e29901018b0a35ef11341870128225422a513d32853a79fdb24d3de6f43eecf4fc2e7e0ff20c423a4507e6d94f6a4b9641655a2a2abf76da48c2b19202a061b890231037ac21002f287b24f328490983dbb3ad24b9fdf6d59d87d63781176528f2e0d1dfed9e54ad6fd722c8db39cf8ac5c164c014a4596cc826b017bc70c24943a4a6baaf796a2282bf7d95a8dcc3de552d5ac67456069b54658ff06f6e45749d875691fdd16325238e191c0cc9d34fd6b364e2b203010525266d1529551950e5b1472057bf3daeb5fb60824779c131e09780ee422c620b68a67bf2b3c324c119044c710240938114102f3d67bfa6bddd3fb29ed7d8f4412f47464c6c310099248435438b5e7c2ee9118776f3635190940898823b5690801434f5aba11d8b9906fb98687573d1bd18ea91c3ec69c648861410804b2e96c994482047a9150d55065fcee9071acec52e69433c930a7642e0ac641a1457bfa0c46ee72c8b042be060d324402d6688f51d8587842321654db5e89f572dc9daa8ec2d8c9900697bc64497f683cdc11c40d0c39039892608cd0e0590e4184abc512e2e5b067ec78add4d4f063b4f3cb25bbbe9d315df332dbb2dbd5bdbafee1a20f1a9b3154c613c34f03ca4b82a69050f932d81f37ba8e274326e58350eb3b9b32dc45e633b930c6f7fb698c998ee56847bb18b60ddc52d36c10864fb6f2edd7e56d2d2e43c826c0e0e29fda4bfa8a47e386913f188c2fc6bef071add3f92d2f457d5fb04cc00a78d13dec054edf4e6062629e669241ca77ee617fa4b1c22e606e84573ca45cec7a0b283c5a3ec62d76b4e86d231948142426ac85512649165e5458e448cac0a3841a39ff79ba02a6ffe42d5608b17c5a813305d6b455855615525a95077fa0ceda8f56f9940b771459038f4045f7bec97d590047e8502d39e4f7de89638a32e8630a1cc9185a08b260413e2085f746bcdd9fdc4b8f52241db7c01204e7b4216238b1108d0a8a4207b2069e74a60a8a204d52403db12591393e51b376bf9faff7b29191d17f85c63969087582bb5ba01cbd4d1089c1471cc514757a6662b3bb2686838dbbbf4be004adf4b0b02028884e7e55894ff5a55776b870a2b92b7012fe27016d7ac3f5e188058ed81d61d3841119f870c0882637aa147100cc2fc2f68ef18583c08acf0a0e7708222ee00d896057e4def4bea2979b371c22c645e2a70521a03daa84185b69a0922f08202f141af48c40b0eb3c433709fdb013a2d740cfbc44f36167b74576a502b02bb0a01ef6e6c0a1cdbdefed1e6838320398099a9e78082262a38783083c233b0449c2a20a0a552a50febc3fbc23a9a5495e0f0969e1b184053ca801803a0440650ba6155c2615df36f65dd455cbd231e6401326e4820febebe96b87d2151c2c58df9f9f5e1ffabdbd6b28ddab59f562769bc71837ff056fd81b70b6d85858020dda80333ca2866a0dcb556a4844b4acc1e688e3c2dabf3cd7e8dd37ddd2511a589f646d8633ccecd042f94486994f914faa0c0278d5a2a6fda9c388974c04aca7428c31f0f41a5e8201a7d4c203e105a8a11b365e203b98a2d5db5df4695e97e13e6563c5aebbfbd267ecba9b1f25a151e47f26dda38ff77f2dad910cc1dd9020e1ac92c1a6dbb26c4c1c43e3d875e3ef06770139049534ad354f3761184230f9484735bb10476b9679c2a7b5bbc6385813ac597b3d284e4798bc005700b648bc91ae1a2e414886e1ebc0c779877ea96e0997a13a5a063d262219be1778cb1adeeb5fa5a3174a0d8cbda50c4a0630792f23f131156f77595e3247e569ec7fbc9fcfda5c8bb23cc9a71df953f688c24dc0f1857fc422d1ff1e930f970a37822adfdc53fdebd240acef84c23d5f4bec5feab1fbf240a6dfb14a3b0cc74b6928a8b48fbaba5f37ac530a72829d52e4292c92cbe2a3436efeb4a9af3a9dfa7e4a1930d524411dd7e044daa70f0288f80479d16255ce436eda30de29c478a80349003806a924354735382f6e5f38043a47c2386e6bc3e581e6010259ef7003596b6e35525b72945a63b3ad488ef029ae0b519983ce3e614fa2d7ffa7b33599f52a120a3e6b3943b7c77bdc860d2347174547a37a5713d5ec8c1d8b385b1f8c3260a9d81dd4c60d17cb0b84d4d08a30b1d1a305889d9aa114da5a4a4434e55742dfec9da6fe9aee4a28cb527b612a29e4b5b9828a88cd9e907280070b68e6a78aa404d09f1db965a1cf2a69cbfa88d0426ab61949556266d84686d69a8d2404030a0a7258e383b4f63d9577d186f91309150ef5c87650f0f82015ade1e9cb9a9dab2ddd7e86fb12fa0c214d988083d6e8bc395efef1a8832ab56cffdffdc69d2fcbd89b56e5aafc0c02649b685b56ba8602ced45c83937b6f330dca3602ad3540f68d9523215d48cf1bb657eb023c2a6761375e3653bcc6064b8693aac121dae23b9acd7674ac35b301645e4b35b2cd611a2ee0a3b1860626e7bdec7b83543033a466c6e8478fcac0b5e687cc2eac07103e7c00199dd1a30b24cdd94327880de627effed37c5c53aae938d1b326e2f0b246c666acfbe3063c9a76d2278518e3d418750954fe1b69cafc830ad6f44f85367baeb4966b603c12ded748a650e378a223e797b8b15e03428edd9fc01f94952a9de79da335b5deecb56680991fc4202b3538207895460819806b3502e048b794f6fca9a207acf6ac716b4d003c7230d63500d09ec8d101c9dc894aaa517ce3cb4d2f7d3d72d72d9fdb4f6dfed60da41b2d1ca79c36cd8d96f7747d795db7dd85b1e4e5e50a48d1cb0e3690583d749665ff7dc9658f06c24237268ee338fa3f6fb713eea07090d36e17b3ab5798a9708612092ae05ea45205995fc1d019f3a480c22ca35084a370020cfe8401608e2ec498608251c906142bbef769c72f4258a24b204e2534ed5dc2ac48161d5c24b8c4a41c46f03d8b70d088f4563c361e61c6088bcb8533fa2dc24c1b0c8ac212690a81d665ed4e22bc4210608aaa8670d5bea60f709cbdae96b35d328fdc67ef7df821409beae81ddc7d0f607a5f2b92165090c591423b0880831fd6ee72b05b6b6f6c8084477264fb2ba6023620ea75c124e56d225a93061c8bcfedcd807de6c4faffc1290ca44658d61e394871d9546d158616d0a17541d0931ed40aa993974f8c86b0412488a20f825216002b08d255bed6793f2131c05415e0a0604af7b1ef51dd9d6f97a352301356c4c97b860d123e23a304301f8b93a9ee04a7e76d9a22409a218020f75cea02ed82b6bef7008e0343a238e094ada6c627929fbb4d969868e0095dd2a63271033f943930107d63cb85adadaa7a2addc2b96774cfdf05780a88d1e38a0b1458427e319501ec269043e98580931a74ba240bbaa1b66773fa11c83575890fc0894222b984492f5a31154195888888e8ad2e11567def5bfe97b048ad2ed6ffe5b817c372b35ac562a1d52cd9995aa283a5a836e015426b3200c6c968ebc748dd632b6ba5db7ca0e8a6a6381f4bced3d45f61a95f9f4aa6d4310c42941a058212a7c4de6301680bc5f1e179c033a8f5df43bfb389a1179c531bbaf919b81f9ad31ec759652447c89a66edec6c4e644e0130c6afda6f3ed3ecafb7f99564959562722017d64eecc771ff175c29f9d4809a422b69a8f9d3b5ffdb07e6b9071833cf5855793bdf415356373f672889a6dd0fe12effaa9e2ce52edd364abbede635728db7d2e4e1f4385d18effffcc5443ab52436beb693ec61318a6487c60b328afc93564afe88cd688c086518a4c209e2d2790930548d91bd0a9185740102dbb82dd6f80960c3fa9e8ad64c6d18cb5094ed34b52e6dfb9934ea6df944a9128912a643d9b47afb59189f84e9034049f2706e0395c6b18db46bb7af2c1a9138523f3c1e391271f916fab2d401570644ada040223266d3804f18f65d550bdd38ca4a57ed47118112a37adfb25ec885647ea9a541a8a456ae2b0004f3600018108f09043299442210e5dda601c405642388a94183881515751c67ac21080c81020080811000081017637528fc8c00d67a13e0510eb80ba59c28c56b254bbad6a81f7d74795211b3cbf111782d3af4627c540bf36955d2b5829069638abbef8cf1167817ce6bed98c2be041cede1a9a310d6c7320af1b261509443fe32646a11383b0ba3082f8b5941d422626d3087d5166c37335636ba1aef7acc40f13061c967bf2e51ebb1cfbac0eeea9bce8d7a467cb1f1356e5d2bd4aa24be2b7ebe9b1cdaaa7686cf90fa36f57093f75d0bea52de69aa57894923fbd8757b98e7ac11e45d5bd6b54b81fc559da1ed26b0a00ebb111058ab87ad2a35cb736e9ee7ba4c73550a90b38a3438fa32681d30fa6a92f4222e94aabe63b4fa84c142a0fecc74310ffe4eaf9cd0d16c50aaba10ac252955e2e65215436a7a95944321beb2219791e8e40c86cb07c41c71f78f4b34f8107dde5b93aa8e60a7b38043085e8de7442a7d77a7c411e3acc10fede804a23f3a45e787b7123893f863880f492246c26f5190b781f1c026d9dd203ac90d7546bf033312001fef0fe1af5d4350c9ffe1d0db10402064fb8d6bac5b67e75bd97a69a65132494688bf6c6db6bfb0a16d4f1b5df9131a6a483017597230b8b62751e456efd90b63c2750fc1e04254fd3f2c2e754008e485209b2b56f0851e2762385dff9915677d1ce4c0cab7a4925582aa8b6093a779ee9cef2998e00afb0cad964a2bdca58a16115a2bf5c7f3a3ffd87eb03c803da216c1c82561de17689ebeceb16e116662d988ffab4b61cb9e26965f28a6572a44295613c699b23bce93202ec9632840c5ed03fdb64efd2f9f8f54ed7b17727d56ef258bcba81bef5c36e3455377c55a74d2962885ecb370ef86b7da9747e9b17523ca5e1ab4cdb7453d9f73fa41ab4e5fa2e07b357b7e821973064e10c9410f7b6b1c83317fb0a8ec6a37bc908a304b4464fd61cf9db9064eca9df3fa706b69635b3660008c47af5000cdb8a91a1efee9fcefcbbe591a7ebf76f3def6f7022c713926a5b8edd4742587d02cfbc850059cf938b2bdb7c2a291de3a8dc8e1e1cd0fbc7f7ba200fd1c299d6cf8aae313a2467e6e128418cafc5870c65f6a7f6f237460b0660b6c97714f5ec238e2368e6490fa83d42aafb7abec2fcb4fe61cec5e83fa8da3b8ec90f9198d36913a07334ae9c5418f772a9545ed0869987bc785a0ed8ff8eef847da2c4b4f2bf866b6b4bfe24f8f7cae03538f30738bfcf0808a5f5ee6cf1a49bf20e55f5c380384b7dd666ac39cbb2810ef2c0f1eb498588490a9610e2276b944c54831df332c3fcc438a0314f072de2ad91313a7c43d91aca91bbd1c35552891ad30a00667eec5c2947721651b973782df13da946e4c3a7f8f86254bba610b766ef0b52defb5525c1ee7f5d1b1142bd6e55b030acfae11b0cba31b21ad464bbb80151e601ab50962e37a56cb730b5abfa8b72531c2f95aa12becbce34126c0a440e95f786614e3e1ac056e14865493b8cc6eaafe1db3ab1fd5b71c798443db81b09e23f729a2f59462a17dee8f74d07ac2223a603ace148000ea9c5182cbebdecfbbe8b0a50e0049c14db078a42b70f056d33ffe96b251945bf12db24dd224fa6877c4b791c1acbd7f0214396506e549d00ee2ae0776f530b6b8cd1ec455b4952e39d982d395313694f89a90c99ce722d379777944ec3af3adcf6b82088195a8c20ccd9abcc7ddcb77f93f690cff7e1373d0a0b4327fe1be3c3b5853a0975c456f30c149e29db2b7d1f2a4a35d7be18c944c8241bbb9a5c96711cbea5689257f8bc944bf55269b11fa93d4890a504ecde08f50ed90e387878cff4b83cb67891f82a9a6e729e3744b4dc9493e39b31b8b341dc752a912e994855d73cc9ae19238642aec483c19a932929946c06d45b5fad8a73f2b8ef555ba10af6860b21ccf71d344200afd09797a4e4f90515c3628b594a1a64f095f5d3a513d06a372342afbddc979acc87f21ebaabbac42a1cc423f502c52fbf564d856403a9ec59b9cea299151bc421749b63179d5139797a5b99e6e68678738c2932999e4116593b2b4fe87e6e72fd04dada80a26343448e004c46f12ee2d01e4ea339b3594c3b01bc3cd36c6966cf801335ad161086cf4c61e42abbe5fe9ac05243af89cb263d0aea6a5f98bbd6d99b7287df6d4f2badcf13d41cf103eb358406d1655f04c3c688a9288246b9b0d536ef33d5ce796a6dd8a8e5e1efedd19ab92b0caba4d5a4f2bee7965672e6a5c6f92c61234dd4386d9096e7a6ab37db6967d7ebd1257e9710581a2b89ceec05889dc4ef3a0c963d2aa160fc9c070070b869df5a12aec7109c26c3be4c3039eda81b6909273c2da3046221163c97805efc657076ea71e49d9b821fc268443f539375055cac1ca61c2bf817f0dce7efba31114ef4c314bb3f553b9ac98774272c181b93bb5560e50bb97ba757f83ca88dbcf0fc89fdee211729d24eeef0710d6b3d225d7ca8c4d9d48b68b4b5978b441115a94df0ec93898031ed0dc0752d7437980c25c307bec4ea938b80970c98d379ede3a82c3dc5c59266956f8539502e599edf18c63ad2b047d14d452d9411a86bfe1d596c4abe5083f64773ac185f9a069fdfc176896656ccf704598d972e2bf8c40e3b6efc9930d2cdfadb9d53fceb23c5fd81709a8e60fa107866d217292383fa4e7ea6ee0136b60b89b73f9c5b00658f6844be68b593b4c084646bec2052d94df2d716b1ecee66bceddf2417ebcb851102e841a75455d0ba82ddc8a7909e4442de79398e9706ab2b054ca0a0269029fa0c770a6a52ccb6fb7070ff49337c7ea398b0aeaef5966d63a328b61ce6a4fdfb352480e94f87e33a2f4f147058a243d2b38c9660826c0a66622a88466c0ba5e19c97188488bd3aa5d3d06013cb02c91b997a3463b20a33e0a53b040aae3049d5b5ea90d54f820536d3f600360dab3089d6979959d4b07dfa1473fb3bd8a528d419d69bf32519152dcd8500b356bd0b86b7a06ce5368515916bccaec1347b6f188e604687ec1bf1aa4061b50c985f9e296e9ca537b4be7d4dacfff090e8dbd3e7036e295d33ab22ddb49e1a0710d7d15a58f9d8ebe8a51bd10b6ec664a26c4262314ae3a34bf24c50a0fc0a65d76ff72197056a021c99f7bffda595ce094ae5e9a8d297d223a799338069a876f9e979d98646af12c66dedf92e8c6e512645efbd9aadf7ba9f2293881ab158ae9a5f7ec7d5b7c9528c99c3add36c4aa2007159e2fe5c75a047883ba8d1f5a2b3027b9a1609d2776ca6785d0720b7533869668e9f6c8d1235feed786c194ebf0df162d39f4730535cb52dfb481d77e04688ffe4ad5cb91c46fa8f418765d8a72181a1a54e5234841a6d6daa446e515369787ef816cd25b647864ed84cbbc79204c08f2ab28ce5d20e4ff248968c060fca35a4f15ffb927ba61a7c306a927ced8b91c24da923feffae887e8658e3c8bc5656c052de23008b7d7d449db9b9a3b1ec9b9f2a70fc3767a060c7dd134d9207427e55fb3cce2281a5d2037f8399d51b88dc1221edd75d2909c5de44c8551005778ac5d3461924e298bce23affb32cd5945706924310363f64f3ffc37073946353703f524338ba9e39f50babe1ce638d8ec01900b8a245fa62a78a9c9025180f75d16912a267bebbb2fdb6be63b931f0345d48b33ab0202220b3ffcb3ef7472a80d1adfebdbf5829673a18a7e9f8030bc52a05debad1b5ee3fe2a0c42a7f37c78de7d2159a0134b54d26611dfce4177e9cb89e4d4afd14e7715fdafd8944bb3b05d22bb9d6f3c65b9d03511aaecf101daf86b51f6b1ea354dba4f155b8e74b3bb2454efc55dce4fef47b1bb0c7e581d7e4ef4ade1e5fab455a15085a19130398194ae707688e57a56c65ee12816a646749ad42384f9dd6171f1614a8230d65718ef83210ad03193e0032cd76d8a7c99b19db661f6cd4e04987b680e84d8f9ecca97bc590d0091112f23088ab5869d206a0e416671719f1e20075325a47538a160798baf75f5c390836577b0c910657d25470cfe84f5e8587e9ec2a5d8fbe27158362ac5fba6a767027a2e60d31e3b43e3f3b8ac7f2fd151e9bd2f2026a7dc46ef38a65f4a9edd8bad09c0980b90d3563f8feb8c6542e091355c51ff06406606e1d4666885bf651fbfb47258857132bc362bf65bf23ff2c77ac5e2fd4acedf145fed1014af405014098bc135c9e1faceba0242e695f5c5563871331e3a78f74a99f6d9e705d1f829b6016cc23554b83d05d14b33508a143e91699ad4d97a16c1fc8b899d11cf36651e0ba67616d896cb2672d94ed15f41566cda98207d588e01d1ca3ab68c60e0e36f7985835652dc7f02ed886df9f9246e6276397b8bfa8c84e1fe04510de3ecf488e813441c826998456c2bef0cd9c383354e537a38be580aa0e73878c332237ccf79209c5566100b4519f583a2c995892fba9378f5cfecf6641d8148779b3e2903d8b89d5eda6aaa2f49e124781d6ab7651126fbfba33ac430b0bda64648a75ae5d7d00ebf09725224c76c3393eda88f6662f2dbc6777d8dbe4da0a45c3e9c7e8244a74d082029f69642bb2eea2606a5eff6c1c92887b45a8e2fededae02ab2f67c0a04090ba0da79a04c28c4b69622f2caa9c80a7e8a5c1f0e73870b24f0958e215e3cc78ad9e755c769665c51daef8123184fd293391c4febedfe4157e291a1e98b61fda0cb1c7888d06738ec94c56b8b27f49a2dc2226c0a09ee1b50bbbb0fbf539444f7ffaa55ec1ef7fe2bc1add92ed2c028fb658e951b6e8ab6675c75e4ce1ee985eaf1e3adaa34f6e996290a611c1433b945d7b5c38c49353df7dd2d4a3884d28e970343e1a400160cf79ff8a532dea5a48b0965e315e61b0a34261dbb934c4929b4fde37ae50bb15111616e49825ea92300c60d924dc57fcfdff381d2a4474499d063ccbda39ea6bb38d8c842741ed116c2546a8cc0619c6e17191071fae1a0fa0135926af165819db5cfb33e45e031656c39967e21b87351b7f0028f4d38acf1439e7036e3dee5a41fb5f7577d17ba577fab723bb188debe150ba4ba7b1c7d98dfdf502864e72e2f50cc4a9710e92be43577ca0286452ffae85a677465b0350ce0a5c67df7760c3b0e5d4ff6c52ca7b155f793fe5c61d802179a9b9c594931adb5eea8e920897f49872a94b71882d0715a839ba59ceda1d5e7b29b9b5891508d1ac728a3594e1830a78710bdb1edea29db8760e2b34bb645e8bc31dd4235cfb4dbe65be26297c2a509cbd544f9519fabd8248401daeba01b59819d1ee5d0ab2f97138c63c66b3dcc3c099771ce6beb9f31f58132ecbcf1d5d5bbc22ebb7bb004cdad4507f6cee7fe81860984582ff8b28e1e302d91d1a080cc3e5c851a326f39dd5ddcc2c9009b96ab324cc1c39c7d8017007e62bf049a7d1d312fb875125eca895685b1ed784c7874d7025b3a025139b4728d7fb29806b82a87893e70248c04025f72aeda9e80c182eafcd8198085ac569dde44eb9c5f5ac02f7ec85d7dbfbd37d4c0f805ecc0b892b2224cb4b0c9101c09fd4bd0520f8028902bfe9598285286aa0f990a46d515257d78aa2813ca7d85f05ade1aedc0f03dddcdfc0b61b040adc07df238f05fc13c01e7172ebe3179168e7abe83cdd947c9626ff6cc79d94cc8d0f5cdf55eb9b9ae5387a145ff9be9cabf314315895f903060d05d91b453d9b04738e91d1cc10995ebecd4b48e1e2b28687bf8f3548e7f562152168c40f97aa0ac57780fe487d0ebcd7a6518a1f5939e0f450e3cbc6b0f5e096f3ed4160d535741fadc40ca2073e518857e00abbcce09e5a5e0e833b23c8c53f7c346392ac61e45587af20621b633062b47b30f2ba404e3b133d81572a87696f9e3b075ffcb8c57eba3a58a0c37e7b3d401cd7119c09660c4ac99073fe3f06c6d2fe5d3c9fd567befca6a33adef8862f5b408e9a932410a6cca10361ca81b36b7be19fa3a0e6465f59946f1192e5704c2f4ace4f28e5645466f8090902dc2517e59e9cb91a014d347d2120bd1937760a0be7ca4c88beb56a6192e066281e395d9960a300adadc0139e9ad9fb144c944b54577fb0c0e50af1a31810ed7daa255f5317c2c27386c906a87f40a1175645e5fb4f010715b1ba45b02867da1e3b0d9917df25dafbe2d525b8bc2e08ebc4dc5548d57be98cec18651813c583636ed12bc441e146c80fd74dc555d1294129eb052bef1053ce348ba9671cf4936de9fb2ecbdee11f3f484fff72093957fb031567b50a049a0883387c0d16286ce9d5de9854b61fa09a32a2d988e64494038d15c9d15cb169ed18056172610b974575abe198872d2367835a0b0a2304edf6b3e896f13375f72973480f474b14fe6874efc97d6745ecc6e6a68339ae9eec0ed3ca886f1fa3b6275793bf3eb060944e3edb6f7d5f1507094e55a5d35c86b2e0554ce58347accd73aed2af9b20b6c6fbfe38ccbd003268f1d998230f19cebb38ed4e53961b082b606f232e949d0c107fbd9969bf317e1fb4e80f7325d99107dcc0c3d778d396e6661adc4a73fba3ef81a799e78ae200fa7301ee6fa37d731abe3cfe3ab87a6244012d2c493238939a830e1004a06b8693d90986cd229e7a4a91e081335377184f159d6c124c53c0c277dc8829824f50b239279c5b98b28b643e6d8bd05aed08fcee7a1e8558e382582427143f69ff12996526b8674bb0603a4a9e3ab6d04336f93b1de8f45bfa4ccb27c5ae3f7f0f7e485cfcd4b0d7d5826a69cd94fc3d38b3e8b9c9297a37c0b5610f8b27d90c20abe183e974130e5c2fc9cfe22d9f2b72a6b0da04d887846939f5e25818542170d59d47d04cd5a12aacc445cfc67af9f7e6e5cb1445c03be95fe22ddfcd31f05c0b03bbb28ac10e0eb930621685581f6a75d614af0f6d9568f3fc3c3ed947324654b94029aa4f7f7e24525bcfaf7b173e3c2970ee0ceea443c93cba32479c1faaef977f6d3977314dd6a15bd9590c2d55054a93df1c18d4401d8ee7b4635e47ba9eee8a052a9118a49529bb790bfa031b9e123534eea55d0693cb92e14b8d507bc7485c3bb3b9b16fceb1c9f2c084932c787f347eb8a77c51a0d26377b9d2ac55806f4e31efab77bf6edafb42229f349763d48fa1eeb5ef49b1775a8d674d68610726c53b998be91e91e43d97abc8b033f027bcc6db53252c7fe4bfdc710cbb34e0f45e91ceccbb7a767a1c06461df33fffcbc3f90762f5fc6ddccbc3e32d7d85eab436b735c26c52731e431c531524d962e5b249c0329019edfd8ee8911ec9cc244f36d7065c3bb3abbd8367872faa01557910b16bbe2715fdfa763c35bd8454cc7003b858340a96710d1b070edf6f96977e54c84f66e294f5217c0b7e0f80d93babe5cb040e3eb65d1b84e95458b762032c700d30526efada4d8106bb781030dc66d3e76631da1c34df854e8aa46f930fc161584be6231e83b8dc3d2cc86dc2b2c9da14dbd662fb76c1674f270ac2fcef3cb7e99f3932ca105c1a37fbc56049d9e43f39278bc709da31714eb23b7e1d8ecb08161e90dcadd15b3353670336652809e2224952cbf8a1feed7f2d2026d26158ad4be69abf04eca489ca6b5bcb51009f806607be2f75a77b0793c3445323918272134a653ad4602e9fd26860f24f4f67d47ad48d09741240c44ce71950d5359868a23b42b5fcd4623ed5970b293d60150d55975e9e18293330f097f845991a6e7edac1f2d75f11b73f993d390c67ec8efb2a710dfc241f1af073cb761f50bc66e0a0b92ac36c467d66861806632042cb6edcf632adde74409e6dcb7db68a5aba3e5910e5e97bf0207691ad38da08d3c041b1b4cff19443a0beba3ab63a96bb5f0775f5ec5cd019f40b618d9f71d1ebbb17ff1a8cadc6e1cedc21b611883dd880291ce52aa63ecd009f9797702371aa1485811c4432aab08a673a7921f566bce3f5d5382666d3ad626ed20202d3e9ab4241e94c0c7f9b2c58958056a687b64e9399e5a83a3604dd4ff172892189295d0dfad4977646693f2b5039bbe5ab61bc59a6baa55cd6ae22a7b0aece18cb7e6452918fcf5ba9320748fb920d15b22d01cc2c3e1ef93c0cdefbcaee1eb7d767b36a6fc9706d64f7020af77ea2334ffc70d581d5ed4d0b9452b4c8b13fb9a8c17efc56e240acd452513c976eecf29c0e72134718bbbbebe5fad8ee117d6ec3d95f7ede31b793f59d8fef08eb5fc859650c7a2f4da72bfe4c0666f2508564b8514df89db21af1eda08e0204816a2d6d048c1f3a74301548bc17397b60346db5f8c821bf82f3d11df7c4157f44075e1de7d4e41e8eb0b3c6377eb18648fcc3409d6bf17fe1b417262e2357f4e123d0ca306754d807e0a00604c556a1572e7bc0f73415b9d9ba9da9cabdedef76970760541ec029e944490740ae9204d4d3697839fcd154f36ef55afa8d8ecec7d0b6da49e03bd6f31c1d2712e5e9e7500f76052b6ff2af2458a0584050563f7ea610e7cd37528fc47a8a2d6012e93620782d7de665a317d79d1293fc76766d0596048589128d23e7161e6d3e7d59582789762d5d11d20bce8859ccd7373e70a8d88603ab676562b5c2a7119fd13f9095a2d8df8cee1f361dad8c93bdc7c8ac5e68bd5f629632ead13251cc9a92292fad7f645e34a204b920326857b39e2e134eba96bec9afc0a3d253fb6d9dd53ba9e35f2e7adcd5d9155f1d082462df1f1ad887e7ed49ec096dd8cdf3f565c3da11984e189a59a14f1426a0f0e92f7408e8e759bd17d2bb9fc6ebe01f432f576d24e7d5066c33470b08dc90300b9f21c0a9ee604508e1cb68f3e081d0e8b33a1d33c6962158edbd16cf5ccda2fa42edd193e1706c56e1731c4eba771ba27f541677cbe5398028e89af00649cbb26fc668a505a7a689730bbe14d2eeafcaa93fc02800399ecd7471708a66a483d63005c85510025d888d5490156aacd9e6d6c908d4fd1fa944ff961049dd13058d4b8e569819abd2e3cad0d401da22854dc55ffefc976a8dbc64c887ff9aefbfc41e4fcf79d8c3c1e09094d4bb33ba9af40490b9b873acc6865c953989eb95fcd9b2cb43168d08fc2b530ba682d0e93ca6a5c9ad604750bc67f3c6040da3164b22414a8fec9ceef9c0fc1bd582c809de997ef41cdb0b98e5c4922a5675beb231ce056959662213975762cd1cd07d84c0dc97be025592fc8c06b751c3d259fc277d9dbf1b67d1788aca6bb965d479d20a5bda59259beae48f56a63d1769a5f9d0efdad5d31d1925ea4b2e43c1c6a52e9cb5814d047a0244a996b98dc251239a47cb7d9fe7e3d29bd3bd2bd66938aac5c042ce29463a5de8bc02973568e961a0ef761b57bbfab9ba33f9714c806698c93a71c8ceec22948b1a320cc0a370dfbdecceeabd77abd78634c750e8dd2a67f1d1686313a21bddede527b2425e8b35d96c656d0afdeaeaacad24d4a7642db745a7b188273414c12f98d4cf1df1ae2252b80dfc253aadb6a2e826c69b3abff005b7621f2c28cfd51f1070c1a6bfcbd65f43136801bd27f33104f07ef5ddba31778b335b98e582c5e4093a8bbf01e8c4452fd5eb9044f15d518ba27a4a4ce97e62b78c74e5dbc2f3a3ba9747c5aeab0832bd21b8083679f58df0937d7187ace025cd65698643b9e45778abe6214a8613f0298415934f57ff88013de062b193ee046a140c994105c4c85c2622e59612aa6493441e7f41c2927c99d4cfaaa4a1d0935765725d38ec4afd80c10fe197bfd67005ff9a017762b6dbae784fdc09f609e6dedf733074417ee15c167201f73eb8fa03761ce88785d6623f59373a163e27868d6bfc64edee20603d5f5a60f0a35bd18c19e89f9b1f4a4b76833303a84b5cff713abb35303cbead623f5056db7b38d90afc28698963c41391d55af5200136f33f273238e72766a5a7f0c35da6c9dd6b03693adf1c98890625b97bee56d546edaa1ae3855b5cee0916de418d6be9fd4c6d242b2939081221f82d2ed3d931ea38f8a02f3d24cef971eebf2f287af3bf086ee2231fd9eca46293471123f7fa398d9b539daccccda406e6456fb6067ab803153fb4c09ea4fa3364a62ea371393e167ddb60537d28cfd0b57c36dd285b3ed22d965ec879b54160dd1b35cead580352881686123df644ec7d808b5d3ed716e6117c158e4fa92b8393f70d7fb4154fd946b15ff16814637ce72e10a54f4f0a46d91566867b0b9da436f9cdf1a61085e3f7536dece77233d7a4a06178048bae2b0d66ba73347b2cd5d0401e995cff33fbbe07609acc86c1ba5c789eff3f8dbc7401820ee681eda0729790fa889e86f39eae225331c69f940f11fa0548601665934614106053890002a8f87eb6c89b4c04daba5e820d37c27b5aad104feb66541f2a5ffc8b8c81d647e7e0549d37ce31ae3570bb1e7fcfa636f7b76ce7f8cb6906f65bc0ca60347a220ea59852e462d883e51c4ce9790329983f55584495e7e8e9740bb784c94d594d397a5c38322e3c7f371c08fa8e1bf86f1b64ab6237645f3193e87309e605b040f3ffc02a8a7d1dd3f8d3c9b073585c4ea82f141c5ae7af2411963351efd06ffc1153aae3298289a129c80f6709f8085f8d66c6f3995224a15b0fe14d2e538c7abd799f4ad796c663509cab77891494af79117f15dbfe381a3fe6e7f823fe07a4ad3f763feb671aa20a1585e4ad6aaa54dcfd932bea1b893e32ae734aa3a87de3e26414eb80e3625f6ae4a00dfa28fa65a434309fda9464558c186c6911b83535ccd212f2c54249b90c9d60204e35c18d63c4b251956272ca758fa9e6612d65976c4374696d84f30bf893901e7a67ca646419153c11247acbddb03392c50b6baa3cc483c3ca6072a9fd3bc48090c98f4c0ace89c2e5b2a74d27984eeb3b05fd14aa2736def8bea985c67bc30b470af8c68c6902328ff41e5676634e4faa47b8040ff5437d6c60603461eb5331ba9e52d4225c8633bf37024ab378d33e0104d5c5673293fe93fbb7603be8b8bf3a2935b3f38f3d1ef754a39e228570d3175ef0cf816a71484fcdc0cc00f18c0ce517fca89430eee03bbfe683ca9c4a43ab6fe84cce7d7abcbc80eae5b448abc5dfa209404b4441320f649e820e1febc27c711c2c832b5babac2dd806186cd29ac5c41c64d743a02bda1604fe59d88badac33fb62fdfdb3a827fabf1e9fabd074c2c1bdab2758d290343f4d8f41bdf9b6468cbb596d965bfdcb4829d0eb379dbcc71f9c89987a1bf85e4d50b4fc4d335430bd9a4d728d5d40c583ff385b5ddd5a9d157cb734449d46c33389860bc6b64b64ca87c06e103b1e8d21fd7d565df313c0e42c66afa7f7b193873fe108e720317de8ec3755145e6239b94577bc80814512f4ae72a883fead86a02d651b6d417a91a055855f94afee5774447ab01f0aa88af0216fd373cc5b79ad59eb2387d69ef46551bb76d32b631c3660cfb49068720fe8f1921723e2f2ced1f89025ba2577004e74d3d2e915320ce99631c4a03adb6152c7f700a49a5ae7f1a70c19b65caad9df2a18906c495c9207834d7740fc7307a128f80ecc1e02ee0f6bd9a935abb2d70e35db1b6ad07fb6c7bcfea4c9d7762b620c16cbf1628616565f56693d8ff5552f2b75cc68920f86acc5becf28649998e9b56135b9f4e7ab8d264dc7f529096bf86586c73ec398f53f1a08634c0cb0abe559327b1eed80cdc7f9a3c5a6edd49bbe75fd7d908f1f810928a4b503ef01cb38b208634998b73082d3277661e132e01284edd0ceb70e6477dd4c6724ee22db49ef0d482cb440c4039f924810490d6379884213bbd194065818db6a3aaa1497e6ff6897ae8fb00dc195610c09ef149e8b2b3987885e00bcaef42b478e297322c02bed26834ef5abf455a71899c4ea14288f0c615c1b507aa1a8c46f22398d4c14753b19d7d54ac52c5c0c3637f9725a96d1b44db55e0a6e146b3aed0b12af93f7dd521937a04290033ada9b2ae66f66eb0218b45036e874172610d2d1095125164aa708504cdbb1d7e17309915578b4a3e8df10c88731c27d17e94123ea44112d730d7e943da51f0900d9a5bae383a4bb25049f668c8e07c3f95d8ea631d0b87b70fb5d79b1d7875cb72bb8a54be01b5ac4d7732205fed1018f79cc77cc2c67daed1ddd78e49159b893530cd7a291099801106bff2dc86d038ed6faa286bf4b9a93f843bc6f39029bdcd0f0ecec93b765b717765514261390c77b9273ff85f0414de413d357a31e458377a5d11e00ee2b941e14681fc70d5cc715de43eecc67a886a0f8ca9f0ebfd484702aa743299ad3c25c916ecd2964219304039b196bd92830fd9434cbde655fc5157f8581a52bfc7f4024d04c6dd8f89fb8b1b4aad8ed56072cbecb30e2b17c219ce19560c97ac452580c6918afb5a7a349e265f7b46ab866fb676de693a58dc9654141605b3ad9187ad4095f15695a617d89a156835803db7e79d7eef35de64e977802295994c768aca146a79b338cd286c81ff1055b096ed6566bd93a7239392c6e2259d622c79d086667846a1285f235a9aee9d973e92c0a91de6b92ebcb4a44aefc16bf2ef9b01fb87b9a552cfe20e9278c25baa3b4523392d53906875cf30579fb0d4167db12d3f32ab1bb99942c7f0cca9b36cb1709152460b2d6e7735f1bda866b49c03bed78604dcd85d1b05f096725abc793a0c6fd69dc445b9a4bdca15d2223db3922e8537508dee47bf25ff715c300d427ef66abea7a5a946213a983f3725b0a6b95ced22038c301b7fc91b2dd7249b0a475e468b940b16f7abd35090a5da9ecada5645faccde3e643f8f987bfaef5b90d5c0f82b23dd27a30fb8ba267d7a5552b03eea04aff0ee897984939ba548fa8bfe1423089978c9ad31a55a3c8413c74232f8333cbdb16c02ef2ed7594891117a5cc42e3d5a0ec26c9ea8179e1899bb6abe09a3191f43f5a12f264a5d8ec64c3582b12d799e435299c71fab4ff3593288cee189420bc8fcffa80e1e83c6e5b996dc114c44f84c648d1cf34b3937bb5e948a47932712b2e350df2916b3feec144db72abf9243037810aa79ab43ada1e51daaa8df046b477705edaadfd22231fdd4c29d1f1f894e101a47fa0ae52cc1c936d834b70ae196d486eb912936b1876eab327e1f6aa67af4c5a88ba563b7471bb1b91123b99d4d03220d0a22f2b85b9a37db4cd18c2c9a819cee8b4e87ac6b9a06a9757b84d83a5392da959faaea52c8bd27ea7f16c5bb4544b0b4bcd9535e266d7d42d5ad584223edbe30ba7d61b24bbd6c6e3059bd937f5abe3fc3ca3d3f7480bc74392f6c39240eac2583e06e67e1e7cae7c8020d07a18da44ae290cf004cb9ac5d6401dd34a1a14305688621305c7f604d27145c1fa81c1ffc1ce0646ac0f6a7e099cde823360634f2c63304fda2f796200a45c04e0c3d3efe99f46c9487d3d436762dae76a341f2aa625af9151ecf0736b95971ef21827ae3aee528f21c67a13f3edc5a94136e0bd796e240cfa0afb24f01bc9d82716646279177e41d7283c6180e4158d3401760c20bb3306ce69049b4f2962e01540ffedef14ed857f11df2aa577b2b5b080e231c68b369854d85c37b11b7871aa320474ebc536724830f7275524d456f80ce71a8aa7fd23735e3cebecc968d17db83c8d75099ed59b9b625416b1e346dbd0f94099730fb8c0ef1bfe2be155776c6d256644defc45804dc2490d3b3635c446a065ca9d1a39c78978c41a924b311a5fe08a16214e90316d8873f58d2a626f1d74b52b6649e54f46b2805537539fb2032d44173f5eb9fb4424a6da0f3b3dadda8a346aadc94755e9da2483ed3fa57de79a6cd173459600a81985c81f2d38e7f7d6ff9e3537315f73801d7983f11f1b5a59773577cdcae2e529982154e5d683f14a897306552ec5017329e5d676b5cdd40d7051bb467733f11c8a50508a32ddc38c05ed4e01d17012da578f5ba453999cff9abf400c29598349d69bc430503c99a4ac69885c14c8378c0d3f0d0313d5f5a04a89ba30a79406c76ebbd6deba30074659e58ee619e7197c3e036326cca28a5ad1345f713f55aecfb13892631a44136412b85ed34d3575ace123f358a0650339a1977facc7f899d0ae9d3b7b6f23727c1508a6e68196c0cb26c41e1c13ada9765accef8fbd91ce774943b5a35307026bd43b1e28f9b8c1acc83cabc53c66e5299877b898750c2ce8279d076c98d08c8a932a690c05ff724c495a380c0f5f346686790d44d55ecf1a7c406ebc34f2b4c800b0e1892aa00c561c128d3713b1f7d5f83576c1cf5a6a8b7a4f73d1dbe95174ae4a2ffc1067c03aa9b5d672470a7b4e51aa355c9ab42b451838973843a86bff7a453b7179f741385748cf831f38ebd811bca5b8bd2198ac0e83bda99474a25bbce4b76ed50bea020834c95ddb9aa69b95e997a1bb73d27c5d5efdb295dbb5a6dd197af18f04e6ab92dd0e6a468d3528c2fced202e046e45d9622356daeca0b507c5b5ee47d7f8cd4cf2d3cc7405c4b6a91f43d01ad52f0919713b5ebb8148cd9840e369ffac2ae1bfd7f6e9f45ec455b780659e466c89eaf20edf5dbf43fdb9ae0b36c2743ead1d7bb3338b9e6e0181c54f6cc6987676988762e50d46e4fea55c30108596a73d72b0cfc6d7a72c996f86951fdc9d2b56c2db78d08c495b264029460904886b046b8831c8a70be2ec62de17cef0861b9f6f8ce7ef9f3b4300f0f482afd633a2d223b2a23e97253b66677c0f2df2a7f107ebb3c3de80e5a160fe6de0aee93269e97c461384ef61303750f3eccb402b7250b3b9dcae605c5affb05b17f6c01ad3676236b88493ce2268999516cacb3a27bd5fe50f04ad8878eea03d33edaafe7555e0403fe013184599313bc82cd841c9806a65a9b24e4d49b646c2c0fb56c36e8313306d25eb0f1161faca6786c31d20ef321680e9eb393e0f5568223d34e8321e14138b3d8e385fac574f34c83b50190dc3a1657d9466dcf39b017316333efe3ddc0c9657fa3d391b177b0e458431719965ecae5313b103223896b2905e45c5934be3458c06a0a8d09f30f30e398e9cf271d2529b6ed20db62e22b45ec70245041f2ab98ad1e7f7bba5f7c32a9eaa5fb61e8af2ac3943e64d1d4be3677eeb600a715ff5fef8b9071d61835605957bbe3c1540a225e4d9be2f32813ee503f2fcec13093e8e231000e96660a34a698ba781808592260a077d4316ee18dffca95977d550033d50641f5aecc621bf4984c8ec18856e58c92d2a4c5fe342fdb8d0ea81d3e3ee31936c5747faec6ff8e9b73d5dbd413eb0b3f86617d54076b8c840796d71ece64dfdab3a6ce31ba7f8f5fbbc23050169583b907bb40533f37281904bda431961a8c45a03be96ba5d19019a657659ce2bc228d980d5f162010bc0648e6629c2637861c847f4a64a56a82b0c20cbbf3c5f483621decc9a8e316f9e024b7efbf0f19855760c8bcb8c2a97852c174d4897f9aa63b6323dbe53da57d1c56eed076ca9769cbbf48d5163f6d5d6ba0ec1ebfb6b0b45081c843fad4166a623d64fe8c78ed5499407d81d03bc81b1ee8e223296b3195dc76ab0ffcb73fb97436ce94048ca45265b8e58a3912af488102547d6b5d8dd770a6af06d5477a3abbb16c4ef1c1d707cb622fbf46ca4ab0fc62fe39ae29768e4a581e2195a25f9cb8ce0141b62288cf6b7fa7477dd4d2d506a64e0ec5dd581994ca085205d286d428eea9d0c856629377e9544e4533041fa18a89eb564d7e36bb09fa06f68983a9c718744efebcf3b6659ee75bec184d81bc0229f027d9ec9788573b8c1808a20c4dbb9684cae84192c5944cbeaaa7929eaccd1a78c594bc31e103cb0a5935a2632f6098e5eac101606164f81e35b4d848ca01cefbc9b077d5013b41c7e32e57bc183dfe90c8f2d210c78bca7fe65cfc55b6bfaa4cba35cb2841003a9e66c2e94c9e1bba8166942c209ba99dd3673d08f582f639999e294b85ec4c92449babeb11d0935cca562743f8d70abb329728d0461f09c54c71251b2204dbb139ca49e5b8f39b3587bb22c6ed547ef146b0b4ed09a2352f3c82545f305cb03183039ec58804f8fa2f4a23c6956b61074aac811b48249a9ca968a7b1fbbf4a7264b91181710d8eef2939a82ec95fa52ac23cf6ff9dd35000c1e1bc4d4d685ff1a5caae909035cddbbaa93ddc2c0494b7d2ac4ba7e09111dcf20d61b8e5af3fe29ff95ed65673429dc27fa5adeffe087f328c4a446aa46dc0f31656188da6e2c996024050fd7ccb8c0394070b18e04bf96750f81a2e4aea3371fc96f802b31f3f924fb0bd90c3a534879a19130dee28308b31690a5e4e6aa8fe96206412404107ebc87e69d1c40590efa06ed4f0730b545978ce05b843e24918a5c1ae4dbf62d5936b45b8aa67bd3e0c8346df73898697ffee17570d556816935acfb229d75f3ae8bad0655060c53b363a39241afcef5798179c3cdf0313748dcc27c1dc21eedb298e2dd5d155c7b90b24607d26cc72c6e6c1da428b7f2a33a6031f9ae99e0123f44644d12e5ddde9e18dacd8accc3334c17637f31a24af13af4ddfdfe12bba3ac6f56ec4ce83515e0a8d718ead018809f173fb3fdb94b89052e1bc3ceb85ff64cb844a9333084c0fdecc20ae8c95984d481531f79ed366c0a59a8c70ab0fb46c0bbfa230156af6c5f9b9a2b2700dc87de26646a1b120c75ec912122a19ef39b98200cc6c3f48a7c16e7a20322323bf3e6766a989222a9bc25eafbed2ff22a0d157b2cc239d887f01100a2ba0d1b4bc94798399bbd0a6bbc4ef0a68379c1d2587a804c4cd431080553d6b63a814f4f0c2f8c8de8e5cc8168fa0f894e1f95d554b6e2cb68d4e1c66956d5f5950cfe4f6e317e90cffe8601bd8c0ce0235090153e85c06167259efc1d0ae608bb273bd090fb3994d1c081b6c97cc224aae4d8a0182d150f5702c5067840ee72fa2d547d02b41cd7141715972fc32cd13ee16b3e12504e4a7aef1139f152a86d13877bb8167246972ff725da5f565e0e6cccb1cede2d4c9167c8357816f606011e9e5c77ba548d5b40f83c41401772e552ce5e9c2e817d80fc02f4bc200e3ef7b72cc3c88d9a61461d483ccf08ca84a7d95950df70470dcabd42caaad6b1cd8e9c5d73da19f0706cd31c64f45dd2def45c47c4cb484100ab0b9740dfc521b2ccd5d59a693ab5e78d2f09b887bd47d499a395d6db5d8fcee5d01d9ad104aa4a4eb18f835552d5bda762aabcfd8e2068e92f27d123b09b8f606d1607366638116ef21a79fa418f26af4f1fab133ae54a58c34681bd9bf324130cf216b2bc6da6a80d28885e94fcc7579c12bea2e4a08564e9d819551bf95ac7cd359e48555f7ded701469ffc8639393873c5ab8391921e9cc6a384f6f3ba8182872882e01dfa601f4360a7b1e09c30354bb9c8ffb7c7c5f5d8e8ba39d304260d571bc1551c682650a601b981590e1eb3bf33c9fc8ae6c8a85c8644548af5db5e2b745e2f26dc6b5ced495ecff02f07e415b76ecaa3e42ebee3bf7a860d39721ccc0b62782b291e0c299ff8f036bf39574a9f193e01dacd12fcbb5aaf57fe9f772be602163d8f8a44cbc67e88fdcd276146e3137d7864c090f7a7b20a604caddbcc02f95029060168ba6b352fe89d3c8d8ed19c4466074b8c8a455cb2239fe88a25116fbfe729395e0ef616332e2a7e9897cfa34e389b081887f88fb93feada2e6d9f74b44096ff5fc6685aadbec64ff18564c04a197b437bd3559470a9db203acf3aaa24a36a412f40aa23bbeed2306fbc46de678974e2b72f4603ee03f81d3b28bc8ae7ef57d7018f2160bbd2b38e83f127cd65439935c5f24a59e5f486353445e93079c2d24ced46e003b6a780b914015bddce57bb886edb18b7bd5e8d21fe6d71a6e0b23af25c77bf4cb1eb8571b6d256e6a026406e5782cf91e05659dcafceec1e1fd4d29f5235f4ac5e34bad308dddaa6c10a706eef267beb006ecf9ab4dd1963657900b7414aa8ff710871eed8a1b2247f480c9513f2ca92bfc0b54daf21e30e80cd6e45d81b26481fa6b751dc542945b4a8b6dfc1cb653c50e394ae674170d7cff9d003f43894b76464a614c602fa0b2fd0fda692bbbfca73db1ca2ac1ca0955a322d16c680920cfc505ad61fe815b6745210ff39d5147a1db7f7792b7c1ce566264532e31bf389f6c9ce649915b23cb61da33f32bbebdb3ee823aea8073780fad7b633f899f302bfe1c54cd9cf84181e0da7b3c07607db5b9c3e248dd8fb869a894b185bf6316ffb5aae34c11bc20a5ec5016cf7ec0ec1cd3be3d810916885e51281149268316bad04b2792f4eb074d903681bbc5bcf34108dc3fff0318f8f004f11386c584e5ee5427c32efbc416ab60629c20ffe8cd49bd83258e1886c2adf4fb066d2c951e5221f122205c799b758646542a500c30b69680250d8c395954ea88697e6c38cf47ccf7c3ac15d6d3f128dea33168bf8157ae5c4f17584555a7fe22339735c03b4ab0edd4c1a57e9938a25d9c19c49bfa8cab1e8622a6289b0919163ca819dc201db538fa512b99ba9d0eed6c6b9e371e902ec45cdd52cf842038aacbcef707eb700a89187c84a522340c88981bb7762e1b376d3d16ea87bfca147ee36d79915c6737d5a2cf575dae341d66664e9d26f6bc9293d94d4cf108e605ed3147777d506a13d0b880369333086ed212ea80fc1290db97e7ae82cfaea30a710c1e48aa85aa56116381714322d1ecf2bbbd3891e917a563a3a383aeeb1226aa8530ee1a0f47b3a6269c30c6563dbf19a947a22a414c7fdb8692fde66400660d6268060102904f57b72b4b77a86c94c6fb2fd6509bcb25dc277b8214b507e29ee1e68382c8b1acd48086398e320288224a453e23b247df046c4ba555e1b0e8d943a862a13cbb8ec8dd0fc4904613c41207c2f2e084d4c518ccd799b5cf43e396008f8f30264208a8de639c69530c2c7cd96a6fe9dbfec1bcfadc8cc34cccea8ecbe29fc13fd93826e6e37ebf72c327763a963e9c331bd94ee57a2f02865ad4f693c60dcdb2293e25d1b1281b0350432b654f5a992d59fdd62fa191931eacaed5cb0eb39f7f581ead5fbc41dd15849fb34c77789fd92c7eacdbfdb5a4fa3222d47d694054c6653a14efa3ed3672beab3afb2c13c056c967f49f9e9a35aa51d895a54769f89216c88ef49f3c73880c5edc493cc8ec4203ae37686b35f840fe05339f7af377e0712ee6e6be3f52d564fb1f33d7344dc6001693098caf76bd9d5b5c2071c781778c1435597bd3943bd9da77587a4d3f115cb06b886225321b49aef22d03e1b9397cd4072cdbbc8d255dd5017ec4650b7755292b53d18d7134e9a55e543918b22defdb33426f5b4410c97c6d3dc90ba7d682398dc7de69967d1cb9b58f77a0d9a647d6f425c65b0be90fe6d09cc60e021ac25ca87f98efeeb95654b100fda653ae45b45eaa5bf3bc5f5f3e92da4a2ba41cece0182e23a7531861b6e9665ead8b5b79e0ac20782cbb69ae7ada6e94e3b29937db4799646697b1d38fba8fc8e3074c30c5a0bcaa344bd8570ff4db73500c0c69562a3971e1f422a54b3d8b04445e3e557223c2aeaf5d7358d522a2c2a0cf1a9858ce4f33be9f7bda244ce45460c0b74eaeb860863243fe8d68c2598d430f057683368fa77792dab4fd3c2e1405f78834678241b807a6397be2be6f52f171d74e16d500feb1579d86c56c6ed4dab74f0cd1697d6d841bf71b1eb7d59c309db03d53695ea5344711e75e6bda952ec130ac44342debca05c4c5b4f8005f2bac519a00759358836fe44476a87f9873f6de821053f752af414653cdea7ce3a2eae8e700393c0408203638b87dbe34b7609257537ab40b9b18732d9fa39793a07dabc8618a9cb0963337fb4ea266b50cb1a90930103b12f809e7dd8dfb0995fe57d131519dbc095a6335829bc1eee744ceca90ce47c29b7e67c3f10c22b8bcfc2f0b317e714608ad6f100bcbc1bf98aa22f9b9bc83c4af2bf7652be7743f54cf8eb446d862e9f42566f59c01e6c97e5030d892243cda7be396be51e0f3b062288fc4b52336c33c88230e0b7c110d14d411fbb860f3f479dbe4afa52e47e0ff2a42e92e7d2022825b76887b0d97d2f83fddae80f45af0e570e07beab39d4183d677ac5d1c3cfaff07433445a48be3ed51e89527bab38d823034712345b6a0c96285ae463f51f782f4f579c239f4478bb9a7ccd21312efeb85f909896cf34135dad9b7bd0d47d61788ac674aba18992ee600079fc3e14e812735426ee71925c34e55e199a24584261c387f731edc812d47ff96dc573a1dc3fb765ec91afe5107edaeca8165fd58e957933b4ae1a367fd20c5012fcacaf32ff010af4757c272f845d702753a983d627f3d898415e49adab5540a877f157be3d80f4cf096e14cab8bb9194dca76fb39a030f47ab55adb28b90754ebfac7a613547586be780f9f0d077c93c49306d3898937ed0dfdf5a9ccdb78956aad4897d4691e3520c361152cbd4dda3962af84f1e4471865f6e1a6b9a36562fdbb5609622e74f87e19e569519e78f3c760d9e899c10e5d3b63b375fd11bc0d64f0a13dc4c953c1763d85056c3f88ea59c442017f6400b34d920863bd61d74c8c0efa8d48a4eba0f1494d0ba89c1140e09be975ea78ea6e03e64790d39b6dfb93a64e811a8c580e3eb78b283a370e2b58e683e729453c343656b480011e103b0ff5ae78f95e90be54a169dce5f2ffdfed0509fa3f1bee775e59079800e2aad83140c523223532b740b1705828814d013b1c62e291ea9396fa2a3ba8b9ed55143d90623a360bc4861b4e3b4875829e63c62f8b05c411834f2586c066e69f095f52cc662d9c8ff48470ec0aad7fe10930295e372a3b86d9e4e62be358c8e188a18afe84bfd149f3c41881546d3397de28770b5a43afba52b1ac24075a05fbf0484cbf866d20fdb440ab9128f432619dc034e7f7982caab1e2cf27fbe2a75ceb69b88aa57277ff3422dffa98346184409403549cef49021bd0c13ea9d958c01dcdb967d0dd3fedd032f5f53caa674560d9a5754e73660b18ce27f8382ca0ab1cecbe81c562354a439f630f68429ad2a0cb2e737920758db3cff8e466e9e9474c1207b777c643f0b21af29e79d40d49df12ebe4a5084c9c46fc12637d88f253e25829f17dda17c555495aa0a65de32ef7dc6763840e692465459304262753aaff4dffeac39ff320c8c77c98eb2bc3e9587b58823debe1e6b1c213329b7a18f95ad7e661ec75edb2c3e89c62042dc8f69872ed3054121fcde13dfa7464557e35181b2e22027c01c8f93bc4aaeb801ffce66b7bb8a189ef3d73012e1250afdda1e7639ee984c72115460c3a726de0f33e9b41aba643b4ec9454e0dcb0cbb3c7c30aa17f08a6dc66dafd24821a72977d4bdd2e2cab9dcd4f663b79b4ef5709bcc7c017908d50dcf0d3b95a24303d6aaead7ad82649c13f097188420d8feb0921aea3d690c84d29c3fe87f409c3021b6dc70130cce061ef03b68e56667cb386d55ffe259272063283cfbbc478746a9b6784f4be268c32f3d6e75b5c9be010b62e6395949ce0b07d7ccde720269c483aab9680e26bbe9a2d5058236a4c7d076b0af4a083554e9d6d2fd21befdd50948c900324ce930430d1e84a11a3ee8a1e70b7751d7f161efd10e6528b6ff396f2561a421a50c587614211d332da4123e05a7435aaa455adef2f2286ba4328013a1352b0e5a5fca36aaa31c4eb2951e4cd7e8db2306cb505daa7c55e572dced466c47a1aec59d1b32b20fbd89b578502b1795da6c8d9d9d112cd267137bd3f133fc8f4a828c5c427ec5673bc17c77e793a01861b7fb5839dd0bb048380a705738271c7bfa6c2e82bf1a8b057df8c15ef8707542a9aefd822b3a232f367840b05f2ad0899b446dc0128e5eabdd35ae6722a7620bd2a654d4a7564a5dcede92632586e7b04547a314fd31652e3bae4446f0776c1878aa4527ebc4f2e99cb3c734e4f459f24ad64284533b8630b123c19795e1235bcbd4602342fe2eff366287f776a780b60222e0d6dff241e7b111b4284b5da0e8f2b1c8cd5039920ab3a05b5411c0de441711592124a40f8503e6813b9fec0abea012e0e89df6dd5ca361ac6fb119fc93601faf128a90d6191152c2e2740dfd4ea066fa4f0adbe058f83d7a91ff52f65082b1bd51f2927c3ccb623669dc12d81fc18eefc7246493c40dd429898621b15897e5d2957563726c782a009e614c22ae733581dbdc910a909c9b00a22a9cec4cd92078195f739243e87d848571fc4f937a1a03b08c038a1b547a742878d3be3757e8341e76a59dc199fed1a8f4f371c8f1633b9f0bfbffbedf4e9e457249ff21872aea26b55fc97fcfa987121ac5056ed62900aa630e2d1ca229594017a6264c7397d2a1b1c2623190f4f2b40ad10ee5901f5f30f739633982f8f6283bed1b20a6184368ae8e503215eb86f323edf0655c272dd32af301738084453c85d0e729b4324973cd3de807159ac769aad8839a3a5bcfb86ccfdf29d24e01e9f3176b9fa415347d33e8fda821e5892d63a6fef0fa3f01210e97d9b3a2fae6891f8cd881e912b7d8a45df30cdbadbd8edadea719e7936cb9d6e865bb8ea3a4201cb477ca3e3951bd9cded0f9ee3ddfd1b7846d7b2e853fffecd3df5c00f6566bc0021b284bd1cadbe5e6aa3e004cf2742739ef6049ce4f6d3141641b326d0b74af658f1cf5cac8d2aedf816d0f31a1f4c56f752311ee975b56cd70af4f133a5e6ed65c255f9c022e5d7bc21e76ccbef9cf2ddd9028343df3aca9997acdbdc80e0494f1f5d2c2f262c764c3fb8b4994773b824cbc759a522774aec77ef7f5c13efe027d4f20fa867f1b096182f35ea948230e525b83735edd47b657243596a1c0250b795a59f4df939e7ba358c0988a28b8fbe1ce9513fdd01d66a01c3b17b509c0636c4c3668d09ff8149c24e31e0e4ed469e59a003d070ac6f10eff2af9cc30536368e63e5261539dbe63cd03978bada84bc2abd31491bda0b628cc96039f93825ca3cc6a76ea4a2f6cd40510b23379d6a37e1940010d2a4f817f3438b6bf1cbb4f7dab1c5836308cfee5f8916e98d33b3e8cf9a3f020a095ce805f9c3f0c96bbe60e23d269170b8d8ac2ff0de99c315d1e12f479861080729bde0f1e70601a274af9ae12afd90eea8aff07f9d801f222e0ead3e9447dfaa61c35992f3a53db6dacb9185682c740615c822c8debb2366338b57fb0a10bcc06a0dcacedca3fd6c42e742f6e0304d17f6534333e802ac63a22615b1469231e1d513cc5dbadade689f19a866f4f5be6873fadccab7083b1b1c4f182f13d4cb64a6d028e2beca1e42b3682d19859b65e1b3d65b9d6aea9103277ec7963674093b583a082bef92734696209f5ce5af42e223db70e013cc6f611109a842d87ccac004ec27219f5ef029477e1ceeb30f8a8e81a69b94e86974126dc90f0f589840b7cf64661586cb8bfb6db775b134ec330310ba1191ba32d485a9f9264657fa3743a68aeb4595afce0ebb050b1874c788fcc6d11e8e14ff1afb9287530c13782f92b99c4953591e2df6cdf63300ab804291b9885441e80e599ef308380afbeade4d814d3b8df56410392121b29ac0d2bc85b9d68aa2f95f35a525dff1802c5c0cc5e40ca1e991113e85c2c78d0719dea31b6e51918c44832e644481c5ab4213b13bc38cb2b8d62c6dbcc8804b558a8c8dd0ee24277a9bb6d8d0223d469d266cae0391bbfe8167c5c98dbcbb061bb79bf46105318e50e5041963489c158d92eeef3137959e6ee752c8d1bce5381a95e96ac7932df8a9657780a09e7f0312ba52947584a01696ad86d8321d58883e3f4246e6abc8803663c4f29304830414d9ec1ae678b000d603cd7b292c1d55f2c1008f8eddf28080f4457b1b2cd6131f2535313292f3aefdf425b7b9feaa400c143b0b32ab855f7973ad449b87fb87c888f4115c603f610f5b886169b1f5ac69a97d8e1ff7326dec7ad45a1d004ab99e189e2cd836097601ff7b32222ac68dc498ce86b456e56c303b94a958aa40ee847203dcf958b4c6fa13faed9fb935885920f88750e56e9c005e5732c3e1de6f170698428498f55393ad98d84939485e5b9665a999176eb11e42e398265b1d0ee33e52f403e122781f3ae82b5f3f093b6bbb2ba80297b72e0ec496045e3c1b9da5673b3f8848e650823445536d9a4f3f5f39501cbdf7af2c0586f4928052b8ea265afb330ea524a5da706e8594895c2ea50565743068f303b222276ba4d32d9f66b7fb1acec070a423511eca2ba61644587a4b123239a41343a4d9c242102a84a54bb16f784e0a7fe7427ad70ca1c26430a5e36e53aa283f8de787a5d6a549991879a3999d032a961f8b1c7eb570a5a760dfb38e5b83f6c18239abc9eb49d5e30c74efdf85634906460d1883ae1a0548670053c439832ff4ec5a6ac632cb341296c64a0c974bab1461695199c433abe7afe14d5d4c5ae69628891090d4714de3cd3649d50e8b2161e742f1da3bd179aed5a8603c26e5875086cec613dde03b3ef1a68e97a683c3db27b86ea1eebcef723f83d733ed7660718f008f843f6190852edb85f535b826040dc19329ec28b78b9c419c8124f70b963e8df89bf711a91200687a676483b292cf44b35079af9ac61a48a1e03f89d1c17697bbdcad7125a3c04f3e02545b1571a93520ef022a8bb868d262b03401413d35a6c8bc44b2828ab6a3dc3816bbe84b4c7b4156ade00909524d686d9e75a29d411040bcc59c7404dc3486659ee9fce6bae800a3b16a59732fa46c3774c7f52f6c769a3bfeb05a4a2cf666bdde755fa10e6a157de302b595506bbf930e6a1dc65f30c778c2ffbe659f4d3561b3ed2e8cc82f4912f88687b713e749b24c747462b81183a1046ff2a82c9051eaef263c6b942bc1ebe3c6d2903f5d30695e46ded8fe8cca34ca1fcf9724c3a2233082014f335e60e0d90c162cdf3ec4f788c9fa7f6fdeae638e6bd18cddf54ce512de9767d4c9e2bb10dd81517ba4dabb5a0072cd9dbb576fc992cda87013d19377446659fe89aa57740adf98fcc4144c490fe9f1c3960edbb850791550fc94aa91255d8005a5039e8c8ce6dac132787eaad99f98c193d2953eab6561be190464d506174a5b70528e223d822a70d8b0fc926a1a0ad70fc9ffece3d9f4574e6bf1f641de894b1b5c9a17724971c36cec5d58f287d8b5ce293a1e86e27ad84bc883a4b36fba9fdada76aa398894ac8f16db08bdc7844d6f823c7e0cc0e72803a5565bed4d3be5bf90d9fe2e0e88a5075b48242163f277c799b7f731497fb07c9280aa82dc0920014837dd5d47c96cb2df8be607b7a9362e753d36cd62d4b393299cda8f4d483c62484608f6fc39be1efcef282683c3ba841bd315dd9f92ffe63a1d29058024ddf9eb86ec31560fc827c1d76303d2a5adf379445c5325ef6fbef5ce141403ec2075eaf7070964ee02260857bf22c8fc86ba63826d0294797a7c2f57d6e0f0b9dba25cda36d20f1bb0a521724b6e583c8f870c1e9c873dc8e3b3d10f1cdec8f63da77826660dd70789de26bd1e76229b3a42a32723610eb2f7807accfd478ba093b84a754988ab94b585569e41523ab0f3c40869d7e0a673f328f5d5d36a04fd45d5d3dcc9ed22a117c3019ff518dbe81787b7c2d7dbe95b98d60bc2958ecb13b94d03492dbb83e44aba5e22d9b143745ab906a7680605b8560c1292f7ba07c3aadf50016af53369927e3e112397999cc78c878da3c2f2954838cbd68e860bb1b0dcdde2134108e1186ed5f8f52978c050601c7b23e5fe42550b5b5872f8e9d9698d97bf9ac44048b3e577b0aa2864191217d7e73a7f7cfa560b8d04940485581c57ee0a53aabdc3b3db93ba982b56e8a31cb7063d06651bbfe94b570889db0cb08eede8127465e966d91f574f8c27dc7e263181a674bbb3004614ed87af28dc7710ab38eed41fea2961140364113d48492cf0ae0adef7c9aca954bad2719dbde885d1e6a6db8dc5e6462c8764addc550c47ccb1a558b1417093f503429d1e0018850bddcf406209e0f61aadda12b94225e05cd5db9e085c53e17d7e87cada50d5fa7325741b3676a828906cbc60b5d891d4ac61b54d7c66c980582d6483edf26cfd94718fd1c010edc844eee14996e0f0c508aa7ec00e8725902d8ba8b8d7c676047e90a1b5aa294dc8dfedef93ede3aaa18bbae52da37cde1bbf20b1f860e1a5ef1de3cf9f076a6c7cdadc118fd215e665e29c31690ab4ea5863fea2eddda0e9e7556d8043447231a10f34ac3c7d25c59a13bca67054112c71e45b9ebbf5c0055f90302c70959e005fdbcbf6f2d5a75b09d6e699ff5b23e039571b8a71576a24b8f0a6dfb13f71aef0d945bc51432844bcbad74ad4d029342c5d7483f38cc4cf3bfdf73bb1d1bcb158b569f530d03ca961674b8d2549666e1a6055833ea2b02ce0102321489da2f29e704eeaf79299f2d83d113f10d66f8e1337019b8e7e359d592debab1571de7d609868a49a7235a64fa6f3bc0722ad270d159a1ec3a04f0097d4a0f2285d9457b5cca331fe3f72f56593b6b4700a97bf182e978b2aed1e16575325d9551d2baa85a11a4bf83db42947806deca328af65370b719913816e792190b8efe0b9cf4a3ae8ceec5cd6cd3d38addb376da93784b76e3a3fe866e7a522a705126748238e73710141f453b5e0a81f283f2617a35554d52dddba1779d4da1125e35e4377ea85ae9d4d5c4b26c19689cf1fc6522b6d61252c6cc7d37d22449fc72e04a6d4e827db268f5b91b8dcc4764514dda753e9d31212653977d965a068d39e32544f8da602dc4395f088c6d14e545b391626a868e555a1310bfd420eb1cf81728890cfcb4af91338517fd92cc8482c172fc68e84dee9088e962943a3b2d61334229091c74502cb2e7c270183f7c78ef0fe0c268725d82be5859971d1da649b888176dcd7a736a2f93bcd020ace86099ff42f24e7433fb7199149788725befbb376e72ca1e1a1e67363abd740502340d149215b743452ebeeaef1fcd4bcbac4db527217679bde32b53b975dac8f0b56796c20b3d6aa682bde66e3ee598e2e25eb9210f5231b30e22e73780508a7258777a12c80b58904a374007091e64ab3ace1cb792d72a1861bef2dc3c704d69a368636f7143bf666c9b3e07008c73c48fe9508137087bdb3fe6f4e50b2ae48ae95c8f401e5df12173e3a86c4c3de9d3487f176b62ca6e594f7c156b31cd0094fde50627cefff790de01ef005fefb9968680f515375d9f38883222a55d2d27d1099ba078b743bd60fc055c27894c06221b71a55b12a44427a1c82e3fa26a995aa7110a30f1ae6810fc6e1c1f4304c2001680f129f5360971298d93037d42715f9c8d0ed8e817fc99ec2871dfe08d7cb717341fda350b183e57e2c044a926fc804596d78af6f85ec9bc938c09629072225642636ef760a8f0cdb9a91c40fc7d74642829864a342080787dda86b3fa832dbe352a9d95f2d40e8a49d70c3a1a77b8ba01ba717412c1f726b5b64c4167ad6e96119aecceb4f6e466124d2d23a9cca4b6b798c8e51fcb38e313b358feecc1e477626c0a544954a02070a6abdf0621dde689c0ee60cc885cb2828d240e8c36fac28ea66b96fb4da95573a9e09be0410b4be1ca7c0e270644c5efd343f268629fd035f78432f6912828124abecacdb48c9e5e202e2ebc9ed250e5925b640f6b1630098620a99b194a0660aab0b124c01fe253b6a7026f7a9bb135e1c38e3422eb3bca084c421729821344c5c86b600b7c58081158ad5764c2d29c87200e56fdc5bc769ae1098b243ab508eaff2c2f65fc204d49a01a512f38ad5eb42eac7c9114729505442167828e37d6a6f51f60d5004b75eaf11403b2972fffe716e81952fd7118cf1c6316d882b425891be2cf757aab5e42018e500693f9c69c8e3edd168e15e448c0493d8397690057d9182777a345542b19908a87b2d1b4127c2fca9397d62c85cd20a31dbf90028e300718eb2248af57e49da91797978c855c0e816a82e776d18dac50f181848c0b74e1f030de81392b4fcced6a244c5d8108c23f1cdbfcb4237282382848511ad037a9e7acd4c630b64923435bf9a5891a5a7870571361f409affbb284de750675bcaf1246b22a7ebb38055d3de4eef1b78e984c2f4efdb0bea8e3a8eb13c9d7c93d706da3d4d0003ea3a3f49c09d019fc86dd276628ceb7504fde2df20c5dde25e4767aa14e01aa27439cc52d2257972487728f5b18ea8f1967815d1ed34202d37ff1000b1435ccd4d5d0e64c199532c15a02731c3be1bcafc7a159ecdb6b306fbbaa08f926bc223f3ee773156e77bcec18d409c9ea0c8e81e1858ef7eb864243300b6e500cd15c4aca39031117cee5e176514bcce22264b5e8091342f7472d63f6cb8693165966e360e2034f50e6192041eff7e9cb3f6a7ab228a341b8cf6493e9f7632e1b9e1fe71dbd41c0751227814a85744a58ac5283a1c684be9b037a6be999ee4d54326b3a34e9318658a2b68fbdb93715040f7a5e4ea7e47ec0efe37f074fb8395066e8fde707051fead159d71bd1ab120db5da0e86870432d5325027626339eed8b91ad0e5b01999c5be7e359552f43d446706eb05583027b76ce0dba6b98c0c78ff214a5018c478c011f97468ac65dc92da27a085e40ba6ae2e64ae5998de60b4cbc42e62e1db568126a16251780e18778970b79605eb5652d3d1e3418ee0191de0830452423f77a4b095b0ef72858c87c52d0bab788ab501be5f11c369ba46570de4ef381322abe7afdfcc71cfd12b9cf3c93d2a58f874d81fa6b0637f4d97a46c4cce955f4a464f7ca4120adedb8e6fee28b268b4868e41d26493d73ed03d2c4676cf0ea41821f45e3a1cbd9ad74725884108f204ecb8bbbf1b92764061427d898b8b8ec702528a8da2f4a9329afd7e4affdb7302af46ab2c23656a2dd8b7cef8b7f869902fa8fd5133fe7b037bbf4e5fef2d1d3462367b4d4cf470cd64e4bb41de1a1e110e1ec1eddeb7d8e2b66f8901e008e2d675f59bea315e5b3507e4042e8c4fdfd9093c1edbfc69266a0996434176e8ae753ec4d3727becdc4e9251d58ae9892efea2b5c6dc04908920cd11794687a7a6a93e0409aed49b8617ee556444d40ef0082cadfdd79fee35112a197dbd6701d13733a92c5c0ea9d405c2acb0cca5b27109ab8764594ca8c90f6af57dc17f6251c6d7255110aa0b073e9dd077afdba72028fc9bf0206b803ec6bca7e8447fb3f05ebf193dd51b1fcabb3ef58aeefeff8f1b627a72a9a6d09dcd963c3b5db09d878714f071c38fb3e819d7d3c18e5430e6e4bb9c39d92f2f22a8c9155c56ac1a568e78b5d7730b0a32504b7520f2d99628df89c5a52703b73f319fdb4f511d7ec53146c9c75666753d31874a36c5939f290549d30507a9dd9f6a5e7e6f1f2b0ccc3df310a1dec82a0f00a4389034fdc44304a1bb900386e778d4356c1926bcfe3ea0a6186953f845735cf92042a9260cfd8afc2b3da663901af8409507e2de0b31ba03b627b9ee18420f2587e96934a0c7b21a41e6b4221ad863b830acb14e15887ca19aa4b3c9a1736ff108c38a284ad3ab85888782bcdf84badc04c38872985d94f4bced3064b56fe187c0e3616065036e1f503eecbc63c4f4e72d6231157793dd2c3c16d6e305ca088646cba5b5b416660161203831f955c044318d421c6449a2e62fd92fac33c071578071307d516712171fdb3fa3cf81f22d0bd05d750afdd8360741d4c436bb0f82c85403979e61a942e8d61a6fe0931949f753318282dd2ee6405539c14eaab8ca29242d87b775a572705053caacdbb557dadd823623f6263c7193fa8a0a57d2e64f8dad878d8ea3a40699123a5f502f45eb24972bbe3b642e4a9cfd28ff81f71048ebbceac8617bfa7fabbf533a801857e2981e436b264ad11f7091da6465499c22231bbe76dd21cce52d4b3429c61b32795632b90aedba8489f1c7635881c2761f572eaca4d00018b05e0373a812938bf8667972e31d6050251459c276669bd1563d24ae94df7aa32dcf4b7d47fb02c83b98f2d4cc1bb788a125b3d96ed87fde6eb34d877fccaf297b4e871ef09e7362c0bc822d549e3d1192d43799b65a477244c71e6522c0bab2650b229265de57740a709bb710291f0bff55e6ca26d21991926727e499b15daddb2810505078c30e920105ec2a49a4af3ba0d38c61c8f234513190db57b4687fd35982d282a03c8b3200aa514cc507b10f08782140de22f03bfd16f15bf6c25cac450cdce55ea6ef4fd49c610b1b9dd896e74f746ab4df58d18a75868ad239bf47de7bdd33815269e16b89dee28a0d707dd34d165bde5e91526e84ced645d8bd7edd568870bf5c097683f6a5ba39bcb02d4dea50a1c6fe236e6e127c9bc4a0415d7ecd3db9a83a52e623d14b649564bd915179272eae144874ddb43056d9d21312ba0f464bfa02f6a10d166f0c528b15030e50b720d80fc5852c64f045e66a6fb52408d1f1bd7f3a532066b600ab1b25e2d9331ad2373cc17d6b298752e7bf66c96f6278f57d383549a5e1d8262a0ea1074fe85ed08fdfff2b353457fa27098ee896e11b461098b00fc336a064fe4d27af14782fd4f445da2c9cc3219c91dcb9a9e71abbfcd517c53c9d3f497b951a620479d091178c3fa68ce7019a50280845a11ea95ffffeac274a43bb033edc6d4950f4535dba3bcb79d82832b1ee24216d91469522c16abb32fec3d05ce986dc45f21d7d2abc178a458fa6275255bd2c0a90f2ae0743e6a7a626192ca0bc389134ed38ba4c20d29f94c8c0bba3271e75b3ef6767b469dfb73bebbe420ce897b46297b0ebd31e15b55f4562c5afccb9cb85f429cfb9508f15518249f60f27a704cad691e69e7889573c9da5d43d440f6fb40357e1a9c1bfd86afa71702c51b50c845c143657cab5521fa5d38feed34bd14e368c685e1ccd045c0a107632a439ae96bc683e9dea7128c50483fa143eef18f32a27c15868d641cf35d35f70af825c1228e3a3269649cd236babcc27ac129648cff42861eccfa619861bfd5a92969397fec0bf206d166238e540089ba20cced699ecd5cc6dc03cbc5309dd357d90032fc73ea85b36346ec8f7461580d7d705648521d4e7cd4349027bff505a4bc64dac74d4681dd72ce8acda2271d1e8f8452b9ab45d0bb811375395af9950a7b5f80273cacb0495b40ac75f4d80142e0c89e9d5bd51e5077fd9bc7cd24b757526146b7f18b03402aedd623c7c7c0e9614f4b66b92a894e6fc04dea888bf7a261f0ec4a407023a4b9f7278b7588ce493b41b69fd8d16b3cdcaf05eb76a253186310abe66c39bf19c15ea4c10d7aba6d4a7ded90fc5a668c63cea0f12814ce89285b3088bc314162e6f8d3837d3c2dab4f28d5092e59d95499809ed0763681243cba6d99a1d97211cdc7478742be5886b86c29c512050c3a6f29ce88369a6f16377da6a30a3814a203ca053671a2e1efd0106078be35e85bc1802c839e68e85f17e2b88e80d56ee34f651c83df9ce197841112ed347fbbbe4cc594d4ecf95478eecf954821c3d09c4797c09757ab7490a7b4a0670d7bd2895c21337bf2ad74b9a5279da5f5355023b0126f61c21913cb77c18018dedc9d9d14ee66d4321282699c0eaf2c6ad6a8245e3e7a0fb71e906310339529047a6b553cff75360568ed572dbecae2313de9ec31097a164f711aa38a274f9e1126c91d8d27749671eca2e9bc5367d8930c07ae9559e724939e77c128c6ab7924a4e951fb9fd92cba40949d709cb02dde0d7d837d6369cb906d6ede7c587020cf5a803670b66db66913380a27a168e8d46d41d3d9f9f09e7ae847cbf57f5d0577d2e00f2666651852f486d1183fd1b9096e7f32d91e0e922e3af03e3b4acdc2c55fb7b9185afe07f2b008145539399fff683885c544a106e44ab6656a4da54d06278763aa9497d9662fa6dc6e1fef17d01adbef8bd9d2966e5988cb611e7c37016b53541307015a014701baff7bed57abbdf7cd7145bccd6f453c9627adf2cfff942ab5a6ffc7540376ff718f635b3cc7b190efdb42b07a1f2277dffe3d8a83ee287243bfb3ffee69e0eebeb77fe7dd2935203e7a5f65ea749eaa7b26dd12c91d25595d49599949fda5bb95b6ac674eb9b4cb4fe3fe34ff0ddf239058443ef95f0074da7aa31a2fc458ad64680d491455f57bdf3ed9a57f1c0e77f1cf32db7acf423fdfd22fffdd3fb5ee6def3fdecbeb5568f047fef9a9f7cf0f4bfd35df47e2a97ee7fddd7d7fdf965ad1f814a7dc7de9e9abee7bffbd77ef89f6ee72ffbed7c05e379b42e31b1bc1bb439780eac85db3844f2fda3dfa437aaaffd004a631345e82bbc56cbe83e1a514fa91bf5713a1c70ce87451c5aad9791911860987961e59eb294f8bce58e3e3072b076ea50d8f3c7df262f00ba34edf77e34b1b5ed858634c8d34d008c00c1fab8dcd0948a4d3285519416408d358672c3b7130092fe63312a168400f1ec4d0e54b0d16260d51818b0f4aaa38e98ebd2e38c608408c0d80159bd996954b5e6bbc8c9863b5910501d0c2f44d69c2c38e2128c6708a2287254278f1241449023348428423ca09528c331dac30654055e49260842a1480e1d34a07d8b9f083000b34f1e404136604403525642164c411688491648629427c10c694124c78e158f1440e2f9909609d18be10fe5872ba277810008f21eac7b40505340ad410c0e68230313ce8aac2440e10381803c0099d1b4d5aa08101026d789045120022409163c188d14b091980c15ac96045060c02d841082ea6c43a1ad00142f03a3e601e518015b68e33a066c586e608c51dc5c3ee3f12df91be6f2d6a8fa5dec877285c3f8901ccad5b655a2326595604108f4e05409905bcb49236929454039546eaa9ac028e473013e3539079c5948759bfa9d6a8772323dd8f4ea7ccad8b3a26779548e4eaa8ea9d89fc7c4cf8e7143526974923d2e4b1a693b8287159e40849045642c0d4cdca29557b83bf5a25ac800ac4a6d6375405ae12ba508d6ab59a0fca17841ea50098d1f344d10645167822a27dc1d7185040c002eb4a80d96aeb3bab9cb14d6bacd9301f10018b00826c5898f515c6b10dad0606801899a5b74700c8239aa3d4cd1dd20eb129a019bd0910800e1e39807e423b6806d8d1e34718492245ccbe6a0083ba81812d334b64c055e5c1541107a32f042e1c2ccc10c88404146446078f9bcda8d7781151cbd2868482807e846c9f1e9e1d9d9c2038406e6c6a66329a991f3e7ac8f088d901a323c700380408000001d637785ab09a8fc30e187a5a1840052b9c6e2e70124d15b4ac9003569b23d656da320a342b3e17822aa8926223151502910b6eb531cab076e28fe3ab1a4a8da7bfff2f0d534247c16c53fd68b521e60cc819606433cc29a1b0d0c8d74d546c23db4031b9bba7004e190b74b5da3c355d98596196815f6d84556e3f18282c001104f040508176739617f4fd77f6f1b271427e99a9196709b0da00a3acb5771f776fb5f9157b0f2e60ad99511b1fbdd29cd8e1decabbb66fde5b7903beafcbbca5d95ab6f7bccd076127e22f2a8689bfa1d30f191f6124b1d88b8f3f5fab1d3fcb6bb53ccbbc6dfe2801efb079c5b190444450acda5471393f9f9d6fada5bfd5887ef3dd7104ad36446484e880e301a224c16d9b210168d10446975a5d292111a179bc128e19b98a002d089dd8e010583dbcdadc58308a6b35add5c6168db0a80499fb6a06982580202000f3500010121049e4f178381a8d68a2f29a037443640387aa0107313b5c260e72100e196614210c000848001080c0cce00068764b640202b87039d1a9a6e965f2b658211fe832f039f82bd8103d1535d27851232235ab895adb1877e1a15c78f7f23462e2e86951b696a3e6bc6032bce64867f34c45f649fdc97573788348cf00fd39fd803887c2a35f36c83c1a98029e877a6334e0439bcf9f01a4f861cf5080420993ce0dd78de66d18e4072c8247c398507bd1a37bb5d20b565426aa8ff3ca0e59909d355ac136c97f3c863480b276d93240daa64b2f797d26e011597176de33e18b01a20b49be85d878f9ee70c79093ea576dbe9342bf8fdde2cea5508cb120eff18a162fd3c1a9c4f1de58650cdfb009600a426cfce1bc6e4925ff392b1614ab1d0ac02ab684e0ce11c44ef6812b75c5c41e8851f91233016e766d24771fedf83ec8db709925bb87cb0acb03020c0e79f4ec79fdc600b2dbe1ef9c881bc5d17d58d686077410c2da7082f69a4d4abde8a071fa3d0a78465a1684a9454e43b749cf5091d5cb7ad1d581731ed857fbc3baadbd80576f73c60c13724b805fbf24ffda73c08724af7e3cee35adc1fe202415571ab8f6ec9cc5763f9469282a0ddc2fb2416508dcb305fbfba5812f633d4ec180f5c459fa0851bd83ac7dbb3a4b236c758c7745db88603c2b71222a1fee7104cce792bcb980b1781a77a1eee29448c3b031f908431fca5ecef3a035bf1be5649ceddb998f4e4430fa6e8613dd9e67e88fa31785102e3e004489ac1d14fdb1fb57453695280cecb6549acf1582153c9d1998d34649a47f7570608602e39b25fbad07d1a61f21f453ef57ccc202718da3d31f86acba345633e03ae5b50310ce1b83d20676bca957e3d971c9ed783e21cd4f3f52842ee941ac45ea707dc0b7f67585bc601d3fa1fdb3b366f2f5007e7fae6989fcf5e606a604e52215ff1bc8fcd0bb65ace0a0185b4d2f18bf9b612bf0649f242471ed4a21fa0f1a5c9fdf7b5c23fa0d6905f22f74d1d7178fd24d7be14ededd31e99b58b56c784e1ccf1de055831cefda59ab979b8c8f78bc063d64540451d447e3973575453741341c2367410b28f04ecf091ab8386c47882df323b0de1d4100d15adbefb4ccebeab84c36ab8433943eb23acd12f3332ac6e8fd829b697c243198eda09cfe4cca8bb1235c55c838496a5ba026320441e8ee42b776a88640cf068603fe80de06195d5406994156510de9878371d830f703d653ec3c431a8a1d67d5d12736d6f8ca23448e9c5c32e92320c4cc254cf9922d70800939431e95c67976aabe53e4e8b5324c2890b1d5b024c895988d1c41b2588d0d0aa6c90e839c74a55e9170d02fec19499e9e1a12765674482a36f17a6f54c26b5e11295876f9fad320ff529649431ca32bdc024ee189b88df166a451c1089a35f886d65b4e7567c305f3af620debe8e26afb7c2661266b1d0cb136af94e8b0feaee0d830977e424ebff2c7a267342b8ce33c442a9ac5d744cc9c620710f66ca91e0bb1c86ebc2c97703785d9de1aa65b1eb716e1a276773f302b9f2d6c99e9f1fbe10e8026500a5496976cc4e1329828073e63667b192c1748c176048923370e7a02319465c10b8a5e8850ee07e8b6a215cb425ab176f2e8195a8ca9aae431764a3cbfd07a7a15581c0dd02a804a989334d7f060bfb122008dde783689ebfc9cea6f9031d9691ccb46756bb9c4a2f9a435bd55b1d9cf8e03ca8fdce908f2a422e5dd0a32af53d6bbfc768318fa5fe4973cdc044fbd3ebad838283ae3d5ddec68aaf6c3c2424fc0f3f1d47084a521185dd42ade41da66fb04934adb37ab8b507a263459d2618beb33091ee7a03ac90723a330b730d32b19a4011586e7c9e577447740afb13d8f3bfd2ba9504bf4cfdfb938a7247f6d2b5804131d7f8998b46621489d7cb6bb0489692632bfdae083ff74966ebc451251fc8dfa43791bec975399325fbf8a08a5a50723b161b3a0de965811719ff59d7dd25aa3c7685083c1bfd03a0a04ea883a092dd39b2adac807c4803477b0c485683c184112570b5b94d78e2fcb0046289386ec9035a96140607b1d881591d4b07d7d91a81a086d535f4364f09dd3022c5daf46a480facd88eb3916523cfb35fd5c9609b565065581910ec534d2277ef27065adf16c239c565f98d71833d2c4f8ab9bfe926e93a5af861b519f1c1b63f8f3cbc71a3ca89ef7679bfb31c950debb7f8071f588db4c91e7a5bcd2c879c86aa8c6e996dcb3bfdbfd014c8ee7a7a56bfacd92d779810955d8718482b4ea6cbd40de515c4d28a8240793f3021855dea8442c1b8ceafaa48219779e88dfc7d82643dba604060a1df1d7ce782f504fb85fb0851bedf32753663e3adc1ededeb313064ea24964296577bba51c72acfee665ceb418eecc2710c763bf3ed33196ad4364efb2e33e872f3de673c593a8dc6eef6ac3c760f557be9dd92bb3b8ca63a125b137cdeb28d259f40f4291db237138f07918e1de6c5ad7eed45a520e588583c9e1ec2da7ea8c691c5334b3b44e186fd10cf9dd870d63316d2a65c2cae6f5aa6dc7287d1a55834ba1fa51b0e50f7cbb1a96654c6c259b43d651887ebdfa02bbf8708ba35e301e500038ca2df8905c8b6d3aec146bd72792861db59ea45c8b7ed04ca7bfdab444bb1a432c3b73f97799095cfe91e5be28d1e221c1d13b0433ca75327742bd359ee9d13ada90a344a3e1ebd22a4c98f170a3cd50e0f9d24c1d8db650344f3af98c88b1e1117a3d054d33eca78d85bac4b732059a505d5b8b82f4cf8dc7a29ac3a087505a061d927ca0157670b5fe5cb8fc4ff506954e0b2a7687ef8028ce40b2938d309aa24ab439a907f8ee7fb5d848b081b08f1ee48c5f10f00b0092108ab1d4993accc09ca1e2cd38e18848ae4e1df72ea47b5e66e9e6b11fbf71daa989faf248d71e068d6c5b03bd7874432e5e283569f9499ded1a655282a5ad92cb3dfb09f8267edbb693620a2a7aaff7c3943327db4a0d6527d7c4dbba015577b92b13f81648458bc8f28ee3af7c06e2e581596aa88ec4e6182dff8fb9e23c98820f90652f6db2ef25bbd22cb1c2a81da252d4b0e28cb93f48d8d3d0191b957b2b0366483a0ecec6515fb4373db333026c5e1449f97801cd9e4f5065e33608e303043f9aea64077f314a6a1f319324dc206ffe82f8570bd0992fd8da982b069943a97e861f82f845deae644a807ad84b3d815a7cfa62770b0392e4e74d39d92885944d910b75e879db84eeeecec0d31fb2e42d6b88124f25e3f342ca9a0100b66192a59877a81c09c442a6c9c827aa2314d3a3cf7c053a1fbe8768c712bd566e9c5fac7884878fe786d10ff950c0b13fd40821414f73f7186ea1a4d04118dafa370a7cf7a73452cf65966f758d4ce06db5ee4cfe5902034ec080b0829d3afdfcabfc516d51a72c699dab9e227977825234c50ae9968b719958eae6bce17182ba63c2e419a0ff3a33db3286f1fd5a9fd163ecd1e3e9f79c34b6f27c7a16f5334862491cfee1cc0e80343c13918de77d442efff842e561cbfb4e3f07ca31f51b4916c2f0f3ff987154f13af1b0d169def4dbc24b52dbb60f88159227e3ac43e85bf0d285604bf5547dbca19d24d4814892e10e764f9ce1a3168f7fffcb05cf548564a17e92d4457d40ff901506272670e234d8166d48ba3480d82513e72316dc2e6d49a383b7c970e82004b2a6dc034a70bb5ebf84779e3484b65bd5466ae9ddedadbf1d84c30ddad8671bbe3eb3373a04da6b7f60109a69e334b7e097fee34b21b25231bec347afebe33a21e2506868f2d3bf41ea4c5123f4af09e153a86b104c1324bdb704f80dedcfb082115bbf52faa375a0fcac5e6782a7f5b2e1d57d83fd07d6ad5434b0726906dc6037379d589a5fcfc8acb2deb8903fa9c7ec6d3d8f9ed0bc13c3e48492102cdda9df83abfc3bdb0172d41191ffea33734bf90b7ba492d2a706aa8fbd887fcfe4463f30c875ff12f3af475e5efb89dd613e1b19db60e923d8417b9fd8562fe7c6e01bd74f32e438c3fa6fffa8fe37bf9eb7740429c04df4947ed25ec6fce7cdfaf3ed958dfbe9d1f1d2393db7f2583bedcf9315fb3fcea1b5fe71c41f63ab05e0cbf217f6c4748d24c18453b76afefa2005c926900bcf33d45246fac77467996fd04be29d8d7cfc277417cd6b9a96b20856ae385cf1432f408f9c78c95cb9d517d07f7ad9d9a28a9914a1fe9733a314e0c70efa63013e8effff9fec097a97d98bad6e6b5b4adc873fb4b1ad049060362b030c426a890e6570e561d6dcd70a368de502c061f32f1b8c37d6fac0c886b040f86f646b87d8419e9a267201f0d8e8d706eb8d6a6520b2392c21fc9bda1a0d98e1065a9750d08cab0f654d7c51e19d0fb896b38fb5b7f49202f4c831b0a0bba2e68963397ae3327d6b4df3600e40d17f795289920ab5a360cbafcb37531305ec6a8288e1fd99dfa7adef488ce8abf0fa5bc9fcbc1114034dec80469ccb24ecbed9b78cab2e770e6669446152df0ef3d1044dea95ef5145c65435747032e92eb05304f567213ab217c968de314318ebed6080169d395a5328ced3b637ca6d287487c5cc0f1d83a7eda1031f63980b5c2e656499ec0f6ff80b53ed2e440b3b0e0cb11447d0daf3c58ecde0fa7314f0be9b1c3d192d349a61788643324ede7d264a3b30716c60d762e44afe8a94b8c324ee1a89d9051484acfb4853e028f59b28b57028ba6559b4a0504e0f8a5941e9ca4099055008f61375f5c9def764887ac2347932f19d646427a950052f3227c51a0784bd812b0a03b31a05ea2b041025079b50029faeaf0b52d7126952eb2eac07099cc633139ad1ba61990d19fcc1d28b3c8c290818479590fc6b177bc18b6e499d5ac0651624090b1ebc15e81656ebf96d54fe72a302a64008814901d8a1e0313c01194d00eb12a4bf058c33a71c2d77ca1298e0703e4d2a465bd5657da33af8be8f3329eef3cc87b2b63f543f455333a05a5114140bf404e0743c538d134035416cf4982a11dfe4c5e18c042a1c1b51b1a767231b36220cb29b285ffb76a202525b3f1accc795f5f8c170c1844d8e5c1370a80b3e71617d39c41f0ebce00d806c3604e2d8c0569f52c3a3d6fef8c8c9f286b14b843005f0059c919946fc575b2595c59a6ce926b264842bc1802ac57329f90da53f3c69ea7f1a525634cc067fb5144fa600c4d4f1c5fa8b917d370da266f1b4023e1fda79e923a67943c03c89589c417f8a849c55a2aa2a2e625ebe19d8ad605c47b075a3707e2dc2b7f75fed565d7a5b494f6343790e4195ac76edae37f9320f1dbb9479c30cb960d8bf02066e8ce8c4f70d9f5740c785ac9b9367c47ad1b4be295cdfc689c0db50e60b13d3def5a15f2dae61b666430fc7d5e02e9d1fe059481a00434a2859393cc01e77931b77b18de3a8cd673c21d9013603c7fad1d2d00b977e6337973713266e36dcec62de6ce0cd336ecc0dff91a287a6f7a037e9f5b057ef86b257aa9ba77b9dcd200f416bde69585ff29ab780037d1bcf1ef2e0005799bf8e1d726b803ebaf3329fb005145804816a51c1dcd6be0cec790e5a44a56d796f18b4e89b30fb774cc3193e83a64cd5af3162f71ae4022f4a7686eafcb29f8d2ccacd1f40a5280a045e1e0a7aee1b7a4835d1af247d8fecdae1d982bcaea284eb4bc7a3086b779cebd225f29fd9f6933880e10a4e10a94a1f4edceccd4d5a231df3cdad23ede8a77a422a68246c869173f61f0344cad8ba64c60c803c8ab7f080b96c8a2f4b0e81972ec4c851250615fda1748f4671d41cb931c9ca85a7bbf4eb9f27d7f5370db74d77a117f574977ebe7666ade679262219537769b42096b361ec9e4ec8a8ac5ff15b1452e3b0436e0581f05e6ab694d45dee1aa6e660ad3032297f18c02bb89cabf1be9c7c59ee18961931e6d13ec8774a686414638249b6cd6e3f485fa5e3aa2dc729ba25759717a9d2e5d4245b96a8e8dbcf06316d626dc3780b65a1063df11d80c64f5c1a7e41488eec4515084c9c4f0fe5449a1d8ff4abaa5ac250e12004b2ee51e2c1b8aff22cf60b26777db363eb0f6bbb7c58e67cc5469027b943cc288a7c6749c2a58222ad4add1c0371770b5a81a79700108db3def986ca8a77addb41b847da2d411c4b4e2a6f92c9e0aac1dd7e292b2b334dcb82d9af5bcb6c113ced9c908bf8eed74ee2a049be4023f90c5c50488d9370e1e4e412004d665dda13363f44f24960a2331e66f9c3b359ea8cae687c08dc0233626ec863494be603b1dbde5cbfc45ed7bc51bc6fa4c3bec4918afdc5179b3f243d4d555a62efeda4f18bc98f789d250784ae650cd68dfd611bceebd7dc2d787c41cef8138e77211b4edb1f16ef22629a2364d85087c641de0f8acfaa83654e90d74611b2b2252b39ff0e094ac716ce7ae7c720dd5df50aae78ce127b1d5b38e95bcb4d56288568aa671d9aac44b43981e9afc270ddc85a8c55b7746ce9d1c6d5a66ec2c7cf1aba59e01f1e5f7b5454acfddae9d4088acc1b6a1882b7762d78e5efc55db4678bebd07277253e4888a1d54023886f520d85cbca259b947d4fd3ad548aaa320c18dd323564e1ba5dd389dd121d1f65eb57d06331ef4c7975fa5f00e40deea2f8fd07a8cfd6012d78722e31f85c01d3cf4fb80bc7d3f5cb5424f6452ada17209c47ebf381c359ab5004d59a76efde1202b29d8b7b16ca1f358dc996346003e72878d9466170d1fac2eb37857dc8a5e543d8f221590f0eb25c953768dfd541098f4141353b45900ab8cbd7a7e17b0ba09b4f9a306864830cdd0ca9432754214d30d58cde4ea60f36d5658db205b740b721900955bd4d80fedf9a8594dca83c6bdc2ee266cbeca30a8be66f1bd8dba53d8e19b788a79b0b06cd21a95c6f1b3ad597286b6d0ee8d97bbb657e44bdaca30b153dd658f835a0c0fad495fd3919a2d830c69af54d7673bb503e2f34edb50618c47ad20ff5d11144094dfc3b91d54557afa6fecfabf6fe6ae18ada8a07b9b6bbd9bc7c2c2397c22a8d05b8f65238adafe9ddf82e22ba0ef4e743e4e6d876b9ab09e55df94f95934af884aff0010f8083a8e8e8dbb14d7009f4ba496d970ee01bc6414cffce145f2b778107581e7badd9fab4b7deacd10697cd2f256b70c03e716ee36dd5313320161e13b3e38fa0abbb48444a80f1d11f88dbb80f00d92eede713d8468a948daf1a67eff7185b04b15427d2ac0b6b92482d23b6cbcd9b34cbe04b7b7e1505563c69b085edf2beed0e6165fd2ada3c93daa230a440d303098e14f896f747531a1aeb0d6992007e710aaf5d9e8b1e6e2f226c8c42ac164b0a26220cd8e89e191188b383ca3211cc4f6a4007934213ebe01728beed8fdacf1e3410565cbbbc1d93fa1480b57ed812be0e77cfe0d3861a3d2867a6c5e3a3e68b34cfb7f92742f3bdedfc429d6c03a78b952c883d7344353935f80cd913d268af00b6ed885195f927cf55bb686acf5a61a778907297a3897fe51eaa2b54744e5fc0c09a8252a5bf7f93704bedc23a6660b7badb88fbe2af3dc6967fda45a54160ef1b54b67ea21a6a96cc134c1a23ad853df11e9db73c73ffd0783289edd726e3c708caee78f5b502a568e18b2c9e39f254e0f352554709ac4249bb05d42411aafdba9d5fd27e41b3d684c5f8b3770225449f8c3600a80dce5d39e58ac5eb3310df5e9e318ce41fd3d5b8a4b51fe3374a4c7e2c331aa1da43220878393e7568448561c6d71afd4c9bf58521e1d6655d976458fda5de061bf194f02542b34dfb83db6fb47f04c1ec9158a20fb451c77c0d39dc1105162c61070a1e046d7921e05a3bf1245ba0e5215475ba39c2ed940ae8236db6962410cf0ac2dd40895252c55cc0abff9c86110ca8690b68f04de14b35b592a4539d8ab1f81ed45ad40d180e2457e725b0f32674b0396a99915898f104ae4f235a1e46e5949ea290a223527728d98ecfab4a8adbe62cd1b4e0baf4f9eb6def12ec917fc24b8b31d07112a0cf2ab7f53454e3894841f04c1774af4c09b06dd0a0653d34ace20a134802f995d3c0aa171f0e96b5348b0daf61f66c5d347483b5cc4b78562f9e47f600e510f8be3c75295a892e1507e251920fdabeb9c596a5480c549edcc5a83b2c29805c5fbf40fb3806906a8f40e1e6a2321e9583d77766eddfa19adb42246da0fdb4d94ff1255c79aa22f8ed98e992212d6b175da5785b819ed361ff47125184bba963b1483a8ee0e1f108555391a036b0b9d47c66c426be5c56ba1579259d275b892caa230bd5034e93039294ee24900c430fac035ab31febc77f4a8622989460131717150f09378acd1687d0157e09cefd74d3fe9cee8c8175792fbb4217b82521749d84d3bee33b4991bc8fb4bf74d1132268f5268c3d82c58f070ddc9f514f2ad10fcaa4f9e60386cd769f423cf1ede1b6cf4f19f74ac48c0615bbe2f202a4fc8913bf42fd9a5492eec93e3b829747f113d1585533aa6903c705526bd0c9f0b452f31b064f22d9b5ae5936d3e93f6483ce40c3ab53816c7dd283f1e40c2f7380d355afc6b1d59261ac342cd0fe8024de74b3bc8d66695eddc2fe25e8ce9c27dc58802cb75817e2d64994d98223b384404d49726814f02ee6c72083150f5d44dd363f5e83f92827154595c542801cea8fca9a94b0d120967fedaa8b668efb9c7b8271bb321548f1b2ea9c01921e9d05c3227ea1203fa6d8545dced31910b2b2a78ae47754326b22f2db378a396fec309ab34ce9018ddd714761ec4ed22c0041fac24a5d3ad54e7720be9816cec95e35208e29b887cab17ca2f34e877f7d9b54223e935cb6470176c5f2519703d33353e5680c9728cc554705bb793cc58bd0ff304f0a74b68b7020031de40b5cc857198d786b9facd5006bd082677a63e042c2b8ea54cc8f7ca500bd5579452934fd35642a34601c4db8e540a6a9308273ce62eea6491f229696cfbaaab3be799cb1792bc04b04e01c294da740e59df27941af65e9c18db1b488ab843d6b6449d10ced5c9594e5f81b9d3ee4dc11c0fd5671166ddf1567865ef8b47bc7aae704e9a520d9f84d683a92695b869639b52226c88536ce140023a8abec9ff8da802a26f2f0dbf070c6fa80ded3e5f649741726e283ab101617ba574f971e572b641dc581fdd9cad2a659ba944da8721e513a5c63262176fb3383fd4c97ce0bb5b59d37bf04a96ede8536d5358520bf4be8cae1edd453796b7182663d9029620b58ab0b7d2928bf997a7462c347fec20c1b0e24ff9906261a52469cb649e7ce181fb8597df8050a93d95843bd320af1d4ba7365c415edf85a46bb3f4a3d387a58741d828ebcf15985d88c74b57cf800d79883dba407070f00ea05092c169d3f268cbf23e7040d85ebcdda52e477439d970f4578ef56baf4a7d8c1bd72be7bb89795834b4bfbf5814a0233832f322e775a7b918c0ecd15600ab58956518866e64e471c71b0fb1c5b12e05c67aca26e851f3a76fbcec2497d8611fca22f34446f9782ba68f76f54f4ef590783059e4ecb6c98a269446c72d7a53a21c15d7f482881ebfbe5eb64bb3d8d0f0d0d2b13c8a9e990a77cf3ae100838c4060213e5fb6bc216fdfd8e5ce2fb07fb830780d77beeb657f1480e07255d6d3c5b921c242fddf831c2258aaa89c623877a8e187f6b3a530f344cde840023b2a5eeda68c1a493d237595020a9c4a450c0efe75082cedcb6420d45a77ab624b9c3bb688dcfc68289fd8d78ed85d1848502d18adeec36a712077c1013a3479703422835a1b563f47da4d66b104dd01db79578bfaa1781d418de148255da0f6b9b7c6a6643abff1f73f2171bbf5595b40f828e3e88bede6eaf645097851ceb8d2499d8eb49f698e5242f46696bdc8690cf9cf6c0399558b5d119fe49f0de2f0a1b4bd45753fc09b294c6c6ae9b9f34984d8bcd03d7359bf437f9cf9911625fc751f5bfc394d57847e5fda438c6697ab989200def57c789013bf592b4bbf0e7c7ca196f81f2243021cdaee88bbda6e8c91fc49fbb3314d39ce9e01b555eb67a691c425d4c8d757e20d68a830fd3a4942f1dea3eaa34191862f87e0cf786da8fa16623162fbd7cee1f466335676253bff1e452c0ad2626eb7141aefbeaaf12a4708531493adc74f9de37728d8d62714a83854297c6cbdbcfb321b99d836d791c3a7f421d507eda736d29b804e5417ba40858f51b231345b706d620925e78c14593b8f91b818aa01df53cd3c20c42f62de099fc0ac52063854e3e88609834092b32d6b08d1a6817379e0272f52bc0702c8922ac4e2bde926261c829d7a6b30e85e57d6523cc63d0146032b6c9ea23eef9cf388f86cd8082777cb3b21e48870ec3f1e7ec617fda9cc744ada7eb7dde671ee5e45fafe739fd2dff9da5d191d73efc0963bd03e0ce8901989df03c2b3fd1ccdaa24135eafb8ac33d5c8f266aa560d21d7569d15141672e288542cc5bc4f0c5562107c13a4b3101ee3a68e124181bb8c79bad98defa945aedf09049467e02f0f20eb399b80f7cd6ba256b4e46855b71576d90021d98a4ffa1d7e9cb50e13ffa59104134e9724bf057510de500363062b8dbd1922eb4493b751d819a960c9f30cfa5331e14ef8b4c99774cb01777df375224028eeccb33b451328a28f426e9782c459233341d03156e330264d73521c967eadd856004c465a0ab1aadbed33589a8255e199aa0e4d8984cc1f239ba28b5223655a1c3b65d2477f81f94da86522649c35ab336ba10af60ae408ba9632149efe04bc9a0906d441d28c67ea0d7fb6d8454d84dbf56709ecb3f77b900972056f72bbaf0d347afa39691472fa60977a2da343b28fa6d9d7f9645ed87a24b273202df692e5760f39fe08391eeacae84fe38a8e5c284c5b3c992892e27e74bd1010f7848e302646678645334d9fcf9879d86a754e474e14efbc8e882c9161098ecdf5267a23fe911bac4a35c793ca79a73396824b62c13ab6c0585b9970db3bcb9314fbc46ce6e280b1e246f221823e742384fd213cca2e399c776af80f3ab0e003361a1cbe100fb8b15147ba20151e8d24c8336f9fcfbd517bbf074b1ec1bf5f8fb010c1759508bad69da11c6195b43af5dcff44f3f02da7d6896fd3a2558b43ba5adb705e7d204382567e27f8ab264d2fb1289bcecc66f5f9fdbf5ac0b60cf50d937175209f5d51ae39f8cc9728c39c690a3d8cf8503a9ffefd019f588f87945b9ec88af730d0d1a8189d0286c1958103ef8090921b1c075334207795227f6901a22b99d520d3b449649dccad76918a4dac34805487ca20078db4915a2e803013ce98b30195d597b85a3dec5659714dd04dbcf776f42d93ec882e0657b34a00ccc4efaa98220eb4833e05954dc8a15876210b1c512b3a7769e808dd232a616122ca4333404390d139dde9b7366884786239dbd0dfa3d812b839e60c1f0a0171435367a11bc4301382fbc8a2a59ac4ea0478f19fc028ca36fc9f8f090cea48f76a4ade160dfed399bbdd6154276ad0576af089714577f819aebb60c6d200eb38b93d725d94742f7df204c2a4f82a8df51abe8aab749dc8c3f5dce9c5ce00e0bc553a1180b08ca8cebf6c4d7e85e2e2e6e55a9aedc742f4077b0ece435ea5d7d06d6153be7f566845df0295443b3d70bea387a3cc0de0e8129d34d1cee5dd5d1baab0a8378115f1add51a8fdeb108c3d902d498c6eb734db8fd7fd70ba3e670aa9badfa4270adc8f9c813eee4596f4db46a4f7f4c179743f9bb9aaa3306d70d66251cde212e595a990c7ea028fcff26dd6707b0ebe4f4aca59b10cdd8e787a5f5927a96725270a2bde75ed9be8b92677effab398810291003ed29884b238893904c6b36210583745ccd61a8346caee5d7faa976ba31882455686825c56a010714a6f176c44d45c9e5971506297dfa7529c5c758d345a54b23e94f4669bb61c289cfece38eeea27f531c869a00252458b17668aa505b1d192ba8be3495e158149da71711e0675de054eb676f1c4abe3c15f7aec10260dbc0d5060036d0615fe68a9b4945314796f9c16f306d09a3d536e54ef9a2bc857bf22aaad38092a3e29e9465c578e343084c458f52664a2e5e18b4616f12b83d42806106e8acd5a1a6dd440e693a0dd2df1e4d3f754d4dc1522dad1c25163c2da3172db461e15336b33685cb4da1fabcaff32d7a9a9cc1716662e740d6782438db5727613db2a32d50d63b1aa28b38e1ed51c07bdc9491c5867e321d839ab4a2709bb021691aa74431b8e18103144abd30f82b288af08a929c41b45c6560d8433d37c098c18041a2b3d473710a05907c3300cc3300cc3300cc330601885f29990ec55db06835f6e675aaf01b676b07c87c4d6924e9aa5389503a9a9cfa1160bf2b71475048604400428b438e2bcc043d5bd61a543fcc5c3c348c5d28a3a24f672fc68e0a79311136bcbb0a68c934a963e432850647849ad19994c00a951c5b80d101616e12966091ce3cb357646d05be2dd0e2034e8a0553d80f0032051509872f8411fd204c59c04452ce4849429a181422bcc8a35ef072da5011872580a53c6f73fcc48e31113873a007bfc49b493b1a70c5d07bc0ef50637378218ab787179bfd654427e59a1c6a66ac65b47b316b7b52126c38289081823c54c60abbd01574e4fc631b1a460f84f813086253180c8cb838c89dd714a9307deb22a131ab32d1cc9a4de1300c6355bf73872c95eb8f0ebbd0b50e551200b0b02472a21838322064f4026a1932468c4f9678c9b8481238f48d9218d18e23493871132154c550ad02dc8d615bf06b121a3646e42ee7bc52427b608bd8045a03810d97e2f3419095e688951b031841018972109cab754486097323923b9b6b4b2b0aeacc2c0208178efde85ff1034faa07e31313a6c6666d3652fb347a138d298d05e3009334ed9508312aac042d6f86e657196a3a634bec6a20690a9169da0668479a0a7195c3ccc3f5d9081842e33f9ba5a8f15311e346364fd71248c037b5f3232ebb34c6975a9cbea8a05088efc403818cebb22808e9d7872d4c7ce18294876bc30c1e17b3b056f4e135e565b555b545754906870ad32f94540229ca9b33c7806316069b528014343a3280e3ff09cf6b207e0e1ba2e2e6e80adc09a5a1ada99d83b855ecbe41f212c0d6feff00232197cdbdc1ea599473a259c714d962849a2ec1ee18ed0d1a3dbb9229f4820901f3e7af0d8c15416e1df04dbc2d2421d399850e0e037e4904742b4d9a84163c657c677825d0c184d2f5c8078f2162c56847014404ed60374ef4bbd5300e14371c2c42f41d7cc0e5a1d9cf81b8911229ab8503632b12ae652ffbc70ff6baf2102f4719ac9410dec4a0aeac7911b944fa8d554d5f5cb914c98869dee6ba83540fd2e3ecd1fd1683489b8567b417c80e0a1c3785bbd62e05aefe8c0ddee615e8fbe39f902c9cd66b31921bc37e8f5fbf6e0e0e0afae19485b43b3cfa06af69c7f3b4b5b83429d6d3d6a1697d59af57a8f1ce8bdd609dafffa14e8abcca0964125bd76c1e306a2ae47581ec423b47fa0f77bdeb1f7fb8207ba5927d099dd03ccae5b773a6befc7e23feffbd8dbbb3e3cee621eee1396bb84e53831566c2d760f642113f14215e0525d5d278c3acfb9e3ba440e1b3464c0f03d0cf7d97533ecd7ed3a8049c54b12f2cec461681c866240c02ff8970dc317ec6fd34cbb9370a27129729841382e2cc0cd2deb84cae12703e9e6f60d7ba5602a36cbdd7ee1c6755a0bdd6c2f73bbedc5613dffff3ccdbcc582755990feb69eefc37a3f3870f08b9136db37e348afb1d3114fd0fa32d27be76e8fc894d42504e5afda8dda684d085d7a8d78ef0edee9c515120e562b58c5b6f71dee7fcb5b73f0d0d4349a1dcb0467ed1b86a7e49f90dd8486c309794716d74747bdf6e507249755a69771b033fc7a5c618eac3770dbfbad3d46811be6defddbee6bad9bf346a375906da034af898980164b4ad56d9a99e4c8adb1ec010ca6fbcb057953d901ce4e0fe8d17a00b3ee7a4f19e84176e19fb4db597cbf5e7f61de313e7b5575197236fdcd5d58fe83188148d0b2b30224ab92454ad9321cf87b1ddbf1b0727102eac394a18423f8c9c1772c35dea91108e3335d33e9a2db8c6c8ec96007796944b64cca99cbf803ab6b62ce4a02b6d0551bc005c5d4e810203e7c766283ccaa321639ec592140d25c4548c228828700f1c1e861a6ba7eb0180bce76481494dedd79051714164a39643768407c9ea5ad6138e47394dddf1f1d75c2956b78018be355ffd2ce16f019ca0a4dcce7272e5f20f5fbd81c1c5b07844a09d290197b42d92b18ad0b097f390bf6d634f373bbd5c2cc04e534a1493e9c8b207861d1ba9d4ab1f85d8eac34400b1da7a417482ff0270ac0661298ec9db5e93a33b7ae2fff027c788fe6920373442271f12215ad555b86bba95fe4236b1981bdeddd71e0efdf3bf85d4aedc0bbdb6fd035036a4e6d348eaacd52cb56ff6db5b3e7596033ae890f7ab586a80ad5ff4936523853664c982f5db6306531b2e115c05bc353c34bc343c33bc383e2fd0c8492fcaee32ae8332850901f416e8a7c4c262b92a857e71d8eb71039672406c091816a9e05f8670f20e1019179efc49df0e7fae10fe19f34eebdfadeecbdddde7d98cad45fbdcb7ff0bebd5231b75ae5eec9e3c37de0af91cfb827d662fdd58160ff1ef72ddb5c1a4afbdfbb5cd78aa75e41ffab5d4ced57bdf0f7162eebf0a7f3b5e746a3de7e9ead514ea561ea755399a931863a8da59aaf8d549386960597e697f87ad3b090126c82927ac2f238d050727286846a4a97e1902e1a36a92af41304bd077958d838f2ccb68f7e3a305325660c48b7bd993aca290023bb8a0b4ad480067897cab0b121c088f3bb321ee33b885fdf4172c828b3bae61489d4b0db4867f7c46ddade607ed40e5a315fbc02e2140a83ac92f0a9aa54e00415e68b4f516a96619989756098bc53c57d0171fd528567c01add82231ce90510021f9b37270d4b0363643015a7202e8103e5a445870b3c45d11b0588311a5d0a0cda81fa622be0d98ab40585089d8528080960db1622667e8c40ab2a518b6c91575d6e8e0cbe49176d31a5212bd565b2ac09f10b5067c34c9a16657e2039029425d2c4a6282e4f97290e2e4e2fa0b67870ff238b979a588175aed9ed6689e27c82416ee0c82b9490583070241526c829544829854d16aca02690dbc6c8300450456503838da884e3029bc48219390e53198a8fb65a526255d703805a8841d024a669253d95dde428d354a09b3a0330481c26e24607225e30ecba4e6ab039c76598294b357c74de24750a6879e4ab964130ceae145958cd23036827778ee4f591adc8a3868b60eccb48a8778d82a69c2251d445968d2e22feb4e888a51c30047d41c1009c4b570d724f901c24ba9d5ecc3083d89724893ca0011ebafe40e2a31cb4432e1ce4a96bd217616dc8ac723828c40232969e58147802b3f2d066db03cf69d72d00e5901fe98cac9dacc41e38bc23e41b396391430a604b5d35559a18d9484d591aa4cce10090f4489b0d4f68430b569b683f2944ced1b36288a887a22a94c1056506bd4be643f71424e51bf40808340e02a752775cb3ca57dd9d2d9e206c027067e032a8159872c5b185d1cc133940882888cb6874f9d39c570a8e5306563ebde362bb4727b7c70bc3f5f1e07fdbdefd6b394b05dbbdb6327db7fabff7692fd30eff0f76f62c33dcc4f35eef69bc5e77993e6a0d0b346b48c3b75b2939ea7d6fd69ea6afccb93a3a218ec1350802ab4dff7104f1a00f5ffdbba93aefcb616f5f360b97e2b0fddd6cdb8bc75e6af74380cf3ce0ee7b07231e98d5f5c586039b66669d4cd3ccde210320febf15fab4fbe4e9f5dbf7bfd87a7f6e1ff657e1fa2afcdf87edc3f6650ba577d4620ce8ffd229d4ee7e51e8d8a4dbb7ecf1b98395f985d86ddbdf4b1684b3bd6666e3158800ac50b1a782082257e255b1a9d032fb20885ee86241538cf7ea2b171d231ce4921945881e065d8bf2ec2bc39dc83a3b323161e795c49168ebf38866f67fad76a7ebbc6e37af3d0496e3122549380f51bbf931d003c4341a652a80e4ef439d9cce1ea2dd5b4bb5eb52e5e0b4d8ed8d1563a5d63473e23ff01454c04668089f396cf042f6fbc72826986598cb3e22f9428c7233191a64b04eb518ba64e3a6ff5b1d9c7640870a8e47aafcab80bddd0afe45e8d6ef07d6eed97d4dc008e10f38ee0b576defb1556bf59bb501057f1df8efefebdf54c96bce1eff4023bf5bb66ce345ee363f03670a15b428b62ce1339f93911e815d6654335049f72893471d0f440db089ff540baca9a5a11da1c7a7f368376b025dcce865d900323e062716d6058005c0f305a08457d751994c307364380217d79616330bebcaea584535251505e5d48dc7267e86b606654b8313738f4cc7e2915f02e7a934a90f2b498acf7e4e1100f528f32eba8980652e12a4b0a3468c8c8be8142d1321e2878c860a81eb080da2991b1af0794f298866c3c97869840d64910fda02798ddea2d4e348067a2f94cffeb9f5de0e4c1f14a9bb2901dd1b02b28e9693ce8b4a3abd0ea7088c2b78509463fd5a7bfdf9fedbb7cd4a6dcbd231dbdededada3e20aef2f50f5e027fa61b8d76fd6c9579daf1c55dcd8f6153387d0af960219a69f96c07e0efcda971e9b67f81847ff7346eba474fd818ee51d30e0630388f6c8faa32c3c70ea028acc33658857228b3acb4a0e23c0161722af2193b7709ed49ae4342e90f9303ecf70293254c495d3e5fc594d0254882e41b3e629461344265b66ad5cd4151b3329b505589cf7274dbcf8221c290cbcfc182aab209999cb502a97478d7f9a7d63bebd92c3dab00e7cdde76379121f6b69bf5edafbf5d2e0b027e3dcdec1b13e8679e0feef72d1c573aaecb82ab56f0b77b791b8e46c335df74db776cc34a329f41d13573862692c30c0d9dae4faffde7e4b39d9d22b8edc87b603bb5b77d6c6e76d1d67d058aa38eb7738d9c09741162d3d3cfe7bd4d4be971843faf9fabcb76b1ea6753bb6f7b6f6a33ede82fb36ddff5fef6feee35cd1c8b3dd3fb35bfbecd33fbd503327bff7de36604c2661fcdf4bdaf37ea3cb64070bfc8f397989989958fa91926aea8fe96afba9fe8a26c0035d712ba073daaf5da391370bbe97df4ac068bcd70273c52d1087d71523d6a4db3fd1bedfbfcff81e4eaf777f7542d5b727ae554670d2950ae7b14302a2f19c78c8e58902d56e20a74c048379094aec155aabbdbef59ecb76e0e080e0e954480c8e5c270925977f24d79e6f63c8372a7dae48125e33ab83e5f3c69800a01a72fcd99cb326efbe6986a03d675dffe7fe995d6d5c2eebdf77af3bab5d785bf05a29ebe005bfe6262b4f7ffca93595cfcedb725692dab5c5918b32300aca1a8c823b29c5a4681d53db92c26cb4874bb9fcf130658e21fcdb4993d0916208e2703c8296f19d03989addf4a6757619cfd56ef715d154bebd5e6e5f4f2ea92d870f11282555582feda59cd21d1ae925d4f637cc220d9fac0d7a580ea8dcb2ca9d402f048ac0d5992a40c648779aca54736c625b615d60538811d09e766b6005f009cbc9cba70d840a6e8b560db7db83dae71d15c5cbcf7bef7e52265a2bbc54a6e35fb9c9460b4492c410b85834e493b4f6a71c74222b45425ad9ea4d0c8459d318464ac0ac7900114319f2f303bcca7a3b2d3c108e5bca4827ff28450508b85cd97c16c334914ac40135c53f2732bac038556d20f07d69c940de915b506835f4d5131edf492f0b93c4b1ba223390586890ee031d09319232b383bca0c99159adcc67549293732c4a8e5169727a3a0089f8449a8a71580fee06194741356e6c9639bdbb14f8f1245062b0d9aa471cbf9ecd173c48356cf5bc94458b6dc6eec397110b95cf1216f9e64c27eae058b6d2f4f33dc00ed04c2127c3fe0ef6c96aeb7f5b067fac07dc1a970de1fa7fd636eddd9bdef36cd1413fbf3f77302f509e54beff33cd43fedeebaf669e73d5d1b5f3ca1e0f3a2e4a78ab155ee9e544bbea9d3a9754afd7eba3b51888a15c05fdb0e9b1095fe3bea0d7b33b330ac96ea404ba54aa976ea60092dd18c450ff079d0e1057f7841cd28a852b7bdf7b56fd00f7bafdb00c37ef785deebff6fef84aa19388372c77eae16d8cb658f76e9e07d0cfb7cf974f1e3331fb82e5dd2c4a43beff95ab97a1864c7d87115cf8c878275b603c5a5d3ed56aec331e9cfb4fbaf6d72b7c764ba59ff66b7039f4d9a69db4f2fa66defa7cceebd9de1f0d33da00ac364f9dcf6b3e95ac3a3e8c60b13550ddff8f042671e5e703a9dce5bcc314dd492c9058433fbcc5e6bce68fee63384c0df6fb3ac34c03433f5878acabce2d7450a65bcdf76bb5d72b7cb640e4363168324ac4ca3f1428d961fbc1c64094aa07d1989e025c14f87d6183258c208302b13765aec00c5984d2504e0750691d4252030fc24ee084b8183d341c3e72e588ad0668f0e1abc60be7899bf6435bd5d7862057ef49bbd9871d9923cb350483858814c21702c069c20c14103bc3b3beef6d632c8d65de916289893ab52a7715238a7ddac2f5dba74298fc8b6aa250b172716b942eff18a95639523953b59a8b83f4e5973458f9073ce02e64d91b0ccf982bf94283316e9cda66625099f10d804141fa13c392b2656b950254b336bae372d0ed890d93395b76e880a5d30639fc255277507ad05a884376c1d0d80884090340433310018180e8763b150241c139165690da4e4a363074a2226f14a481a09410a444419648002000000020002185a017b515197b0644c920dace5e0713fa84b1789575255b3efab66830729d7b64a0e68f93dfc43b874bd3762331fdcd3f174c36827fb8c8fd7ffec14d3b33c175fe3ec444cdccd2a3de161069f4bdda219ce6dddc929b8e1fe133f342dbbaaf5c7e0267bc7eb6d7b8fc01464caf27d7c2cd75c4f3b1672d5c0b12aaa6af0623b40c69e3d851cabb7128b0557fb79a306339998c0b80f2306022c01624f04253aec64dc351a56f389408b74a0306921bffc502b0e462dc86dc124bde710ec79c854602775160246ab56fd171ccb20c05fff22f24b6057ad15f1c48d96a8d75ba0de791da6ca80bc2a8a5484d7e41ae25d405ec276559700d8b5a41da8ae00c116a4ebb190d7731dd17ac75c75b823882631eb9a65d69c291cf180507edbb4fb6249c85b58508eeda8b215e2b2e177ec1150ee486cb09f387b93658a77968e5a2fa2b4d09518bd2b08c2d62ebaaaa9c67227e8404d9565434d58138f6929a5d0ea1e3ade8e4c0080fe134ab0683ba88695a08c994277e44d5784addf74c3dcbcc1c273eb6a0afee92f36ea132cba4e387967ba37ffa7514c27da07214798ce783b5f99ff1eeefed522308cd15a4ac4e467675034186a668b07514c2d3b4b554179e586e31066a552f0ff52a36f233f0ac3087646b29879f9e2fa568b05029166e02402b677917102cff50cc7b06cd0d20964132cfb22f3171d1cc83fb91a4dabf7e5788863e1c991a4da352ab77c828c1b591238c0f9a4e5d8964b09449503379db899a1817070b4900628424d52e4ac0cf163bbb69f381783d42fbf8e90164d7265214f177d041a6210a120a2a25359711c7d8f55b7f9a6047b02399c58f8b81a447d70ce938ffa2c3e9403ca6d13ff1e037ea87290c81a15e21f9dae5997058e4198ab52cb23541a08a8871b4a30dfdd2bffab0afe7e017a9f5f6a9979412f999ffd4d12bc6e57c49e2c4d6d82d6d99a582fa9d489482d7adb076f1978915e18c0d6247b75429d484d0f6563eee2226f793c245f613ac6643ab8a412e8a38772152146d669b555282fd87755fabc88a0118577fcc3af0d5501bfd8fe4a341a4f6c4d48f07655636ac86700686630487aeaa38095039e50ae139b3c4d1889b97a9071df68b6b95f8f04137af265c2fdf11fe13f514e29ea4cf9827411bc8b17f3ff004284d10e21be3b063d70ae3d370bb1e1bacc30a3de928ad0b821d0acb18cc495cff5b2aedecde9cf410cbac7fc5210d0338fd9824ebcce1283e8c33883bca5b20ac13f6c5999c6416c82a41614dcd5e13501e5d0195022c6ccfc4343cb64689b855f4aeff366d6136c07f1e75d7e6668848e1dbf2a974bce2e7331df09a6fbddb73e845173772178c0468c8142f36c5f3860a24a73590b9a39ad0b35c11fb3d22072f2557e459d7fd15afbeec7e29030ffd08fb1a1d4d5ee4d79e4aaa60de39febb57b08dd0f75dfaecfa71cb28bd927af3a1d879cf890dec70fccba8548c87c1b085b5d30ddcf9b26dccf1ac32d2dbd47a00500f3cff3d211d796141d7fb55703aabfc912d39aaaac9e12f1fdb997ecb9d49f48b3271fbf1802f045e6dac95ab2d1e34e96766b6b9896010078bfb2ed1efccabd04b535d3dae51603c67244d7f876a0412db0769bd27cdd46b930a2188dd632e142772d3cbcead5d0a3d666fb9d95221446c606a5ee783325423f84ae67161601f187329ec3e1961315b45548a13f01179ef145f449d35abdc236c14d4db31c23b2aff2c351b233b36b12bddead687d55b54d714ce48442ceb106a91716900e826182b09401e77dc94cec0107aa2b1404b704e45630d5627aa1c4acf168910c8eee15dcc072ce6f1c9d688ee517af663c46853e7932ed6d181ca697c1b608f13e6a2a54c5491c9b33e4c9c54f79ca30b08898578c8998d936bec937024632fca786a8242ad5489d9bd1266528c7c004cd556bc3676a2a56b1335517d78ed5172e683bcf384bb0bf3fcdc227a90512b5b18020a6af582ab33b63914abf21efd68e65db1213ea852ecce40560f442a602766996bde1d9f6c14f107fdd62664bd3164acf67c703ddf4087e4ef092fa0bb87345553da9649320faad4ae829842d4d8581a90582a4c9cb2fa7d4d452911180bdc8c0b847d878a2a47f830de5a4590a51e9c8e3c920431284e07095e88828a949c5138a16db2b94955a92a3f0f1332e2c824e6ae9701dbf430dfe18d71cd5d0250b49b09a74eac293ddbc4fc76c33b0c2cd38a791c7776e7622c126034e97862efdc37a8e45c54e7f972b9ded28535d89b338860020066e90811edb86f24512dfd7c042ce4337327e2f68e403bbc55488b17e1b866f5428b20ae56ba4dec9ae2790cc720e722df1db43575d52b07a3f4ba6281f15b322a27e4a3c78c3894ce8e0de922aaff87fc540fc38c1ba53671b397fe4d25676103b6b1daa8171e0d04a638267bceb343a9ff89e00b2f9cda17c29402134a5aee8b9ae35203cdc02579c9fe588cb216c3ed76a5046e00aec54d2e5201a4e79e3f6d5dc15e613846e5e63e8b07af9802e3fc721b23c8853a2a964f3d08b9482e1d8499a907dd81d9e6fc4f7b8d3a5770557178114c20125d9af501843e9d0888b038b401254e9a2962de6a29e5ef0b38f837a5815f0a99778bb474171aff89ded06e3c839479af0e8053147401db6602ed58c2e51a99ed0a8f364376cc8649df90dacb9338226185de057f244df7ce3962a3bae0a230487a20ae9992ad03303c1b023178fcabf8baeb4c7a949cc4ca89dbe8c6e1a2770800f5012208177bf2b83de231bdee6fe29a4dbcc14d2c59b35a0aab508bbda44a3bf81c9065f04311c955ae6bb10b8817f1df6e9ad633397daad2264172445ba03524af15dfdec7fda619be008f160ab176bfa7c9a7392ffdd0014e3eb99037e0ee187587999436800a8004a35655436f74f6843b6fcca063e474196213bbc6a0a98f9381dd5ce2734ac2de1bc0dbc393e7279b5eea6ac5bd13e03a16995be207dab2d991a331bc3a658bb9fa7bf55e2e567dd5fc56e6acaa18cc1b55fd5f834d87e90f2c0497e79aed1cfc9a4d402bbcfd51d001a56c0a848c70a2a3294eccbf0f35d9ecb4555e206e09a8f7e0a51d5b0fbd28af92451a9ee14f034b89185ca4ddb349ecb8fcc7640e1e5a2155af9adf4fc41e13b306fab02499be73bf00e671424b541ffdc37b70b5c0ee32ca26e6ed29985ff46c2496f875508b345b45d64d4ad59fa46252dcc66e03fab549fb50e2d80a0ac9ca8fbb32240d8b3322c2765db7dd320be0044b4c043cedaf80f08b42ba8ee4d080931d10b8859a5ff25c0172d1b68cf153e8ef4af10a8d8862655afa6a1febe0468e53fdcec050f661479e3e66f20c2a6d87e04b22f2abc3920d9a9ac9ce12f7dd9f6edd73fd20b44d82e6398eb028b1a08977f50305fbe09d9fff7fa3fdf6cf9c2fd0c1a93db581476ada8ab92d5480f84cc4eddc71fa09e42eee35f49b96cf4c4b6c1412715f8d31021802fe0aef41b1d5a8cadac25cc72478efe87ea1e5218a9252604078465a43f3ec3994eb710f1cfd7b2986eb5ca857e602667f281684463ecb65f0758c7919c8f1e260423e97c6a7df01e07492bacdf189f43b37004d4aeeb926af2e8827a10e780c0131700cbce62bbe1fc5a3dbcd29c32b52e68c2027973723db4b7b03b6d6beb6846762d1dbee3b40ec609aad85bf6666bf51e00649fd89b9a6a63eb8d6023074d7b6fb1111e7f54416ec7ea93d9e742efcf0969adab1f748efeb0be5eed95e65c1ee448b88940690af5d22724783c79f2eca1eba4d01b8bd3210fd68700385b11dafea5b006c349ef39132735d27b2abfa346b702df90e7425f9db170543d232ab4ef62874250328a094d20e92141693e2210a8fc71128cee36e8cc96d890b9609a6346f9840af386a8a2472e5ec226572eb3dba44d81a47e0ca605c75c0e4ffe1be5f443c05f44786bec09b11044cf86e965015e41306789e4fe17f354eb435d15dc7e6ec868a6c73117325fa4916e367aa9f1980feaa2368236cc29fb006a83887d458f427fe1dba10e7c73442850b2c9d5a0dc87c30ad242ccac759f8e3262e9580d2c3596c6c3cc7495d3c31b3b9e6c06903599c0f67ef521a21156390d3b8a7babe95817827dedac5480f8bf1537f79a9884b07dd0514096db9bca50030d21c936f58b25c49d6cfa6dad52c7044792a4642c7336a12b7b553abbacdf27433e7b6ec0c36ec7173a11ca30935b4a19c5f60a4753baee693d496dde9efcdfa3a487878cd9c78165d2dd8926d077bec1b8bd6b72a77fcf5c362d1c42e33b9edc69820f7a1798256a3f3d95ef31d10e24706c538c75d2bcc6f8e1c66a03316f290c467648cb612ba8b960005e479a5bbdd8c14b8c8651446f81b193a939a1babd815b488c1eeac7a88f279467beeb185baa2d869a24c814bb12843f23143375053bb05ae8ad67045bf5fb380cfa59a0e08dcb1efb5281185685990d923d6e4665dcff23dbd44fd91335933176ecaac85395f55324db45f2927d3dac8c13c9db514a937d58bfc084a595ad3f2f64cf1da58c13b5c766b23ef696d663a454e7d8b83524fb665b2e6197272ced0dd91f3a1da3156a64c31f22d939551125b7e27468ebd8e104c91d12ff095ec5cc4033f5110ce8fc77ead1f173c037105b18c4da59a65df4247477471eea86d5e9f66e093798288fd5d8404accb4578b277b06eb9bcac98720188a2fbae5b08fbcac40c6c8645e16479f8f4e4b4245131962094598326fb4233ff0dee9c5eea6cfccccf5305a3bdd8dbe099fc7ebfe58978bc2da61042b666d30bd51cf83048770f18dc44b0e2894d362e754011257a8f1b7e26d8b764769295514c70a92c951bbe993d31b0805c1c24aa778d959c4f9671ddc952b667fad30af0def6c53d9abe80bd61c3e96e48ec5a6a404298203aa0622f20883ebe08858d78229e42628c60207e047ea73a66050da259728214b445ac3468bc12d87cd4e0014cccbb7d568679b4be773480e01587d012ec1f0336105fc6133318bbdd87e0d7f818fc048c6ab5bf4900e3f877436e46d14b0b82e9f572d8b97c68d9fc95d1f668284a9735f7beeb05dca239ee663dc8cec6e65a7fb671d65dda33fb5ecb0c331d6f77f561b61ceeed4aef982b9868cb9eeee4f12430ac738067bec3ebcfcc1412b7d37c36a8d68859def79cb9510fe1c596bd89897dcc27425b169c45d9f2b6737a695b2c5d6e9764b47c46a1c417a623ee7e02c0523b00bb2a61a14401ccf5fb5f00814b3b8c31de01c3c87d4de918c217446e7cadbd902b0896507ca907884d47a81ee79842282ac777643ea7fc841569b75eeb050d2d0f9f027e7a6e8d5ec764d78805aafc396b70f812cc9179f659fc7d8cbfa6b66557aa7e998e148dd4397c83b8d03e957e869cfcc14a7e0ec9495bc37fe90c251fa90229be036fe256490d3c629da8de6633d55614168b6e18447084633260788479805115a5bc3019f4aed7fac1c0c61089c16fbc5b6099eae9b9733f036d395540f34fbd3b55ef8c0944700c7e572f3cc13f709f13cb9452984ff933921ee1ccf9f10e78c859de21a57d88908a949a83d95d3f97543966fc7e4356427a2392359584f0139c7c8ca8f0b6c606c0023c4f5bf30590ff8f695e22be1da8647ddef9a47bfda10a34125addd86b6113e0c2234485d20ea23240233e3318e6f396276748d3af6ca49a5e50979da9ba67c9bb5ec77e5e8008cca81f956b9b0a5f57e4ac18ce3e4e1dae4349cca49d62a57b8d42fef3f7f90610dfc867e80e58ef76a203c63e7d31efb46de4ab48c109e2e981d15a2f681b3da3d28c589af2367049b77bcdfaa2b2e0e55e050e4b97025c15613243842c24d549756ccadc4b6560c450338e5c1ad8eec21edae4d42b433d999ebd18ad68b340a313334f2496b79d3fe8f6002867d1cd731957e0782eb8f5eb39cb88296f8c89f53ae4751351072d81a02a0435e349df41a4b14f1c8a352b0dff23e444f5f288f7737531021a9be221b0a0c836ca8756abb6a271d9f725a3654968dfff8b1ab0ab51417847d613eb2c6d4ad9c11e9c6166e59559492062a78f9dc376846d75f1f09d5ec7194322852bd613b47823b2c501e63c0468ba84315f4d9d3b6f48c73ea594947f34a79af9047a3ae4d3f7bc518c7fa2311165c77c3fbc636939756a5ab98a481eebba5c54dc39de7b07266c880e9a4373cc598598c952c5e36cb301dc142ff9fa6c96c76227d769d0f603ceafc053e93796c95adecac55f4357f0b6aa9a993fa0b2a30452f2ecc78d8db0529103b85cefbc9872ba433e01bc1d2104976c9084253b4c708d5acda7a39a4079e6fc7030cf51bf994c829a668424393373e2a7b00953ab177a7022856222fb8d4d72b3f20927f61e580f61e13a2b5c5dd7f8b8a3d5f63619b3ad2a5c6d418de21bd514fcc3885e920874232425da4c4efa47883820fdda53173fa27d82dfcc84742af2af1bc1039fdd7bad2874e7cc9ba3811f276c4fef7e92ebed1586b53793b5bafa5c991807d121636ac46d31b49040a51ce9b0a539908fe8a30d1829230a6b947ed437050bc623e7eb0061a154e4febaa160c54751f88ae50b0b871719f10fa5c37e771251a96c7a227acbe364126098e556b56ff25b4f59e114e2519a00e76284386d953f4794c7b41099873d48744a3e85f54b5a447f4512e2e867a88ad7965da9d434d45f01ce545a2849a0b00083ae13af3b6c2030f27553376c992800b09a41190e1f965a11f3f80fd65e5544905ba2b192faf67b2540e77603e5577af0ddb6fe89600e469bc14fc0298a9fd37e000d02c0f3e73e87fbc8d981b5799a8de0a28b0e90cc1981ae40b6f0e08aa090195d404bb5383a21be79ccc3a00a24dfac9810293bc910bbed3729cbaf9958c44479519b210ad0fae23cb00f6494c59f339759ce9e6e3a1d882717b643c0c12515618c4836e3502f067e06e6eebd4c135cc3003e39f64a85ac4dcd649025efa37a9d1951f876d1aa53f95415a7c6ae536d00ff9579be055f8e431983dce4500a230b4e3e098d43aaf395f972a318ea910e989ea23c033c81ff1586a5aa737688b454f5c1418a8870074a13705f9eed12e85b296a1037c585fcdb93d09c8fa8a902e5f1b5304c20363591108bf01013931c52a352d474354de81990577914cc56380ca9894e98b300a075cef831c64723b06c124eec06ed8a1448277bfe0a8d202b5e6bab2de46eb5bb7b250865109a5a887b70d79c289b830267101ec400fb979b663c234331020a6a4a82e626482b2fe006c4e82d0ba398d253c152aa839ba1c7265b9cc7260cdbf730a3d7a29b024dfea2c7d1c01c42883c2b7749f6b3af7c7d1e01a41a25597ae16d7bd2b441fb0b2bcdd83d2721ebcc1266e1ae3675dcf311b8ea3733a98108df305399b46ce65342826663477223ba24019cd53159bbcad00649f14de4289fe8d84c0c4baa5f83ff24ea8c169817827a1e2b748e934f92d322e70052e706a229c5ee2124c4f6f8809d31a43887b43a65ad820a7c8864a221a3c8002e00212e95ed25ac6f0eb183e299c8486c8c63ce1319582ee9d0aab08e1e09dcda7045fb35828e9662cf055d13fec5b14b710b3f66a284e89a6a5d10344b59940c3f7a347862197942cae08556882e62a88877d35c37096d994462146cc7440ad9c63fbf895bd987738ad509c95dd3414fc70a856881489092a8b4788c91544d9fe0b5ce44d618e5983be54679353061a1fbb417c2aed6cc60382c7150db20927dc2e5f8c94496462859902d76a908e97fbee181311827fda2aae1a3f2329d5f60a8d531dfd4d6da8ab8a8940578ec72f39001cd37e8c0d044c77ae6fd4dca347663fbd05dcaab08c74340c0f63aad77520458a6cf77810c33675e005f8f71b8b40f7c711ae4206112e50f277f568568c43a171da90d9f4f01d4f5a04c4bea61b990d4a1130de53238890f5e61aaa643d107e41e2676a642bee9917c705ce59df3d542b2838108761338679e1b06193360d81005a83770dcc7a63a7f7fb7c269e15c7b14d8cbeb18b6eaf8550e996e9a7ae9923e4d1e809c5eaf9fa1bb54f3aedaa72653070734ff3ac37b1b645d469f62f5f20f4edfd860e7be9ee67423cbfeb08e87a5632b763e1bc85484d660b4ffd332fd5a319938fe236d899de82b7d98e78ac8d7836f3120c42af68749eeba44dcb8e53f9640b01655dc27a142077eff5e590a9bfdec5440d89f61888dfeef80c30765cf54d0d4275efe1ae6fdf6c47dd9701ea17dd8f55a3aaac22cfdfaa0281dce260bf394b264c09dd164d96b74b191ccf58303658800e363c8f1b86da16420c7a65ed47e64131d2034e2db4a90d12991d44f728efda7605b4a9c6bec10a4a4564e8454d37fc413fc682d23504db4f7390886a66cabeb94b58554eade02075bc305b9b9b994b5eb054b27ab3177648c85a5a198f2a103fa5a67269c72195b00603e4de270a1f5ce84793e29a1cd7326f4d1938f240427c9e76a0b9cd52630d128386294d599cb06705ca9a34662b0dc3429248531ad196ae4cdac892616bf42272b3eb45a4d786a2e3ff171eb7dff634006ca2d21fae897c17a0f1489499cd9e6f67f65f74f137c9a266b5e17fa0cd8623e261b7e43625eaa073bf138db001babbbb5eab8a9bc7da6a2e4e6f7644c19cddf40e9767489343d8ef96b6d1fd28c262e41271a41e7a9e4732f8001117ec431a1f16528a334cf95da5dbff602c3940f4a86cfa184c75f703aab94f9731f8df3bb2891ec3397923fd1758af9329c4aaf155a25c45ea6a98169bd51351e8a71862c05015883a05627fcce21942233d8ad497f23a7d1c9931d288f8d86a51539ee3687f282dbdc421054391da8a77a12a99e9396ae8aa13aaf89f993abd964956a93b1119cb2aa3650c28e95384ab9fd41096e86276e8d4be10adf2aa8ede7057f2a9f25ebc2dffa92293c9bc086b230fc10e818c00bf025431f2e989318dec1c05192194e03888e4a2016627366a050fe4c067a2f8e3965d95c38018c7e1f299f83acdc80d2904dcce8cd03aefde417c97f405995783ff84ab05a0c9849afe945caee8c7404c663ec0f16fd8caf09918c0f6946b754e82cb510a3ae114fd1c07f1fb497465626cba91a969be5eb4b1e8d0cbcfbae49af47b918e85575e31e6807fcad2bf4302aaa84e023e121d40a5bd4ecf74c1960a7b5f8a33433370ecd29088b63daba358dea8730c00d0a0531cb40d027249b9cf274da86ac8d285275a1619d6151c1fbbb92e34b8b1384a2021a9304cdbb0a904c008e00f2a5c347cd3649f7917a84090516bdef59467a1c3c31da127873312e673ad32a65fdcb9adc0c79f348f099134a659385c58a9e95056f07825195c3bc8ad81ea62755b638c7442ac37c249e4f4a0bde74f90c316094621a149982d6ad6e1353d3e8d1987153d0e357adc12d81e0805e76853b8c4ca04f0a9d9ec1d1981938653c0f59850e869f657494e641dea507b84be6b8385c2788d4158149ff74d528a2dcba64b4c14740e26f128289bd748920ff3f01bfffc0b0141f748e319075b40c9bbc301e831a4c48531bd1b9e4f2d848b35981a937c06e8028592a004d51faf40b3b466db4b79c931fc40958f88fc5747986986452c31b98205273f90f48dafbb65337847ddf653fd093033493de055a57a74cd5c30ddde226582d3de7075902525a0452f9dba82339f78b50e2bbac22988f70d74debd5734ebf0a35b61d54ffc93be95d07bbd1f8e0e7f1af7d409cb7d5dc1fca4fa63e0b92ae1707168f26092a29a454b85966997d10be165842e8086a0031147e7dbd6132dd10e73488bc36dfbc3195f545686a433e516ca90fbf356ed488f136f60ccf3a87d37d82454820c30f358cfcaaf0f1ec4933914b8e02adcff36a853a6eb88be1fd269612f2f30e9fd4cd6515955eb690eb7cf38d0bf3f6d03cead708bea09e288e6b7793ae399799202c3ed47d99d0591c7209594e9639391821942081e95e4f5df6f75ce17683d24c6cfb0307e3b985089dcfcf0d9d3b535140850591e78dc651ff74d6e9428488bbe41ab3485f1b8275efe24c5df2ca4e33577dccdb62fc43b976cda7e0418cb0db5dc9d0e1e7c59549e1d12c01a12048c12f20a4087170bf27f37d4563da51e84da92207de6419da8dd5d1886c34f47b111cff53fc6bf7a324530f0e4243a36d188f933159d17b907f25f2fccbb8c4b935ba3843affe649487eada4aaf5b42eb7fd52b190af5bfba9e14844b67f970871c21e4b03bb8f819e9bf1933d45cc8f9dc4d9217333055e22fe1c3654d85bcb55519fa5e4bcec51ccf73fee0ae107ec7585a9637186b0570d039c5c0ce8104238d7c39c00c48f275d750f14b37b80856f5ebebd897e3419b4cf81f62aa4090edac7c83e52cfb0eff7affc6a5f05cb0782c04280bcb1ea67e38a5838e2fbd05f8ba477b82e7b2d77d756e4ee052348f7d1b31ac90bd80fa6919f0d67002bec935e55b82b5356c781d249fccfe1ef8be915fa3d28a9c46aaf3969a7b731ee89c217c49a3df9265e6db36ae31476dddf4e46d3097e12a4905e9ea0c92138671d7a24b6d2789070b1820f988a84275c47027138918c272d2aea2e0e056bb312740e592ba8299c8b9a21ea9e7edcb07bd9e96f3afc78e52bff49b722cdd329bd7744dc415378f811121beb37941faa10a0e7f0d4b27c0e7edd044107bdb428044ed1f306d4b7675a223eef69d27157df6c363d0b7553340df381c08036687556c029fe40bff48306be172f0d3c3fd91ac9c59aaf7f2cbcad3e00d760ad08a3b7934ac4cb3421b25a2ef51c496a42c1d3a660fc5b054eb1e185b91e0f79ffb73f86863b6095a315aade473d04add8715d72339c5fc51ea85c4df55df7f6a0431f94c6d87e1fa7db2d8d81be1eb7c309398cff93129fb84fb1d89b2c7d14b16cdcd636caf1d7840ba0c16feb6f620ef82b8b3cd24f7d91aa39b35c8f8c3f39c21b5a2a7d68a19bdaed937c456c196ef7ec28e8500121c7e41af28cced97a0f93fd262c325bace99426605a79826c4452e41a141bcbb06d05b749ab95f954f615b30eb2b1bbf1f1e197fb17e49c8f99f5c7310d030f62ec255cf66b3f3999817cf866b5d7750e8612977c907d89f81cd34bc3519c50402d9c09eb8e75620d5354c25c20b38bfb870c15a750fa736a14f9f3cfc2fb0e20f3ba5d8c289e7e0b5dfb2ce9a3a4af7a346f47d59e261269bcd553a82e00a1e3f53db68d31aca1646a42bdb2ee8e6026cf8e4b5eea216a0f6f645b9deb97515bacccbe31b1d8ca77d42c5d5371c9c28d0ca7897ff993917d9df6d223f3550e88f96b5af1dd53ac6bdc6c814f0225324726315e83c6d5c0c83f76b377cb6df5f253f33df3847503a1c371674297ee42223576bc7721ea70ea42a008b9067736dc41d37ecd5848833cad3bad84ed07c872dde3e39119548a27b75054efa261f99ddeffce8e0b286a3cee5dce44668565983a10e22f6e64047d93b23b0c88e3980c8731ab0592db435a243de90840733021b6e269f58de7daa7f510fa409ffa52da1fc76b99f56a0008b5d2b3c26a88a53af2ced80caed28b34e6ff78de1e9b5165a17aaafa952df3ca3a5212d6dba44db199e8ab4ef50d7e0c46cb50c37c0c1b471c856decc64d431f66e44efdcc3f6a829c1478b33a09fec6792050c9ef8b0c374019a1263adc037b1884518e794a1360268841d191b0506ef5d8996b7aa6d07d8448b4eae4714dd15457093822a29741c203d8fc3ac8ba15e803de598a06bedb8998a669b831d163b1d87678b1d2dfbb5f993f6d2d3f5690efa2e11e25e73c271756fe2de4de896586fc058fa0952dcca50f6066f423fcaf71837e31707d9075815bdb1bbcdfdfe258bc7ad85ba084811d18f78d94186d26c72cb9b57e666f225a7c6e4f28d5eb6ba5d897e80c87e78877b49181464f718c746eecd7b805f0c73f0f208c339cc84ce0ba5fe75581d7b99543a1bec40aeaac133c1d894e9b1b7453db8b83066a0624db7771cc3d9211683a3160b537d58986f6d390718cee7bfc1d415c2dcf0255e582cfeb49d8a4f8ac7739aff8778a05368059a39ceb31492001cf16f202bf9bda66158e88aeafe2012ec5119d4ae33d7e2a9b4d681de3ee6c20ad219c09d647cfc7f4d4aaa67864c78009567f47eced49aca197e0fad3467c537f7db2103ba8fe148445c30279e0fe6906ae6a0763e70754645052cc6ac47490f9871024f1693130fce1e45ee8bada992d143a0b5e1479a341b025e06db8dcd0d0b1b14c79bdecad2175e5ec5a2a56343baa5e731ba0e450fda00db2b485e886856032682fa0710a821e7930847fb99721c8208c3bc29b90ad444666c5f3a01036ea2184b34708d821938f2f1b38f05329f30442989e179a01b216e59bb588417139078051fd4e78dbfc028a205c833a700cb30b11b66461c1fd6be2870c9c711210ad945596cf159265fe67844094fba3c7c2e4526ffd3f3998343054ffd76f44321062219dd5276de23ebaae24e62138ceac4dfb6973cc472534b3fd246ddce3100eeea147144a7c39aad24d415cece2e5e272621efeb6300f571e3e1c602bfb92e284347b6d6212227d85637ea185a4e5edd79f3893053b9b0ffc79b70aa5b5c8fff710bbcb6c8811ff228c91bb572796a821989137ce263a9a8d9678f4777febce779e2e650a5fde221654d75add62f2560d16660332c0908e1a04bc7c832a16574f38f4f8df9004c06b34560602d9e7c782c47ae750b2c75213e7e157fe6d50de17d8ad4a754cf635707a563f76127fe224c7e51cc2201babde0634468607617e68baaf33af094db7b2d222dc9b21d6020bc9ef9a49502e12bbf635a1dded538a43e9090d2c7c11e36585791b8b76e15396d8e4844508fa06a8d82838ffa543eb50c62f8a26f8c6fe66bbe39452c236bba784e3b0865b1be7a2dfdad40b775ba25a00751e0477720e896b4fe93995190d2763b28fa11ed453fa84190ce96f1a26e52640ec9a0b1bf35a358e006454020ca403a8da1660e43cb6bfe0a02ba1d28b360605c8723d71379a0249044a16137f6816b0e0b196812d4c31931946a4222110310938bbc3814659c41c282274be5718f4d89eb4f1ba9eb3109ff996d8f357333b98a58aad0e877245b5796a8a204cbea2a794b6fd485979a697296ecd9a0633ee913b3b96c58be18ee71ab9de74563fe37fd93e446d3db6f34b6be8ae4432e90ff3f08cc41734469c43d1d4425ba97052f5fae7ad709138e4c3e821cf6b8f057f2699511401ac29a5e0db00e465780569b158db55a11f30cb2903e5016343caa8177c514a6d706184dc8148fae63086013d90daa1338344ac7d6b570d60c3e3f606eed702b1479fe6663d1f84e301fea3d326fd5a1eb89481d5c66074e028231cca822017ce4ce16031c5c498131c12281ee7f2ce330e4bcb78f4991bab0d06286341f53adc4edee4dd6809f573f572ceef8060d962dfc63bdacc8e1e77f606ae369356a06c76fdd761cdf737e555a4c68fa8032bb2c96480a4d2326b27ca23695080ad5dc132a79acb7959a1dc21296484125f04b1a2d606e78e26b577472caa678195aadd483726b97b7c76dd4c4474ce95d8fa5df81e1b590447092ad8e03a6436fcb8d549a1251142ece0b2890244d689d8e3c25e106401072648233a91961135ea8f450e4ab8b47364ea9e82ae224d3a3bd85467d7e9a57cc606388f9c75da7f154c883de29bdda05a6d020407c2353cf7ffd0b84207dcd676614cc0befa71c58c506e1823b94ec77191605d655165cc47a44833b9c72499e7d04481cb3b0ddd4404b6132161526407a7883b68f4b12e30efe11c0da78a08a980071992ebd874a23f1d4595c76f54638cf6e6d298eb05afbe261e14d30ab62aad6b10fbecec818866677bd49a44519b79457f26b9ed767e589d52085c112f22eb618926b21babcbf53e353a2c97c58bb40d16e9464c1f38f61ccb8dd265a2e1c9b7b2c162c685a141c8dc5a3eae890a3fd45674960a8acdd13f0404483d0adbb63640a101c764dddcbb7ea49c3f59d14362b08155b4ba402db9d94f922997c227a1d733f61351c38f2d8f0803cae260ef66ac72e2a2bdb94dd6807c345713f43b29d2dd6b4bc3154ae468409e559068094492663ce38ba0380df8cf3e2b99a08a86c46f1cb56db4a991be4926df69be3636d03ecb00912e30b19ce425c517ad5544cb4d02af78a91d3fb6b66a02fa41582b101352dc7d6599f2d0a70cdb6e0d69851db9d0dbd27a355a3bf4f4eef0714863e9b7070563762c02c755fba582cf4b33d7b00a43c610bb24f64bb1323cd5ef4a3988db8e4b5fde6d1a08f1c81f5a2548079cbf4dd8d861bf0b453dd1478c6fd4820fca644251313e523d043e8848d6e50536036d75737b585fe4062ff735d111466ccb6c66e3119cd612a79581b5fa45c10aee63d6ce65d37a7f83131b788d22b29e45f8c88af63e89259dc1431ba01c1b40bd55c3b8359d01380c36f32ce0ff152cf7efbc8f4066d84a9339aef785f6977bd7a329b6b68a8af44a9326135047fe6c88e338d7973d54e3a2728e0771be249facd787f44da4e7b6926d79599585238d7d900b2ce0259f50e738a53ae3003fca48bb62967512de29286094cf3d01443c52793d9ebf63fe189034d29066ed2f48a0cb3ae992a737adf67359e47315b42a0a9e04fbaf3d6aadb9d06cca415f4917fba741772150cc3f409cd4a7ae5f0507db228baa20388f27878524216f5f4ee07f2523f96829ee2835754f60cae0733949d396881076674556b1a471faa9dad496e04fe82b986cf1d172dc603b8bfd58cb1b686c9c9e5641d2d325f43f64f904e75894dc360f87c1254a7dba5bf1a14d7aeac1d0bd9643051311b62115979ea21449d89284d261de11354832d919de0d9c9bcec1215b04fe57ce2124c2cab01480fb9a953b02b654d1822d1ce25d2ca205bd5b0565164002abe2b46b40d78bfc442ccdacbd3bd4f1b261572bd8f912baa7920f3c93e83e37b3cacb1051199eae73171f985875a2a2c88bc8cd13dc2bb957eb3bce35740e0281d5dea86d943cf1cefd89cc609585cd2b12c3bdb61bc5e4fd8a574e967560cf9ec6b7e1dbca98271d9c69967d22af83fde52d50dc235c5e703173471873af23909cb6767d2f9e1bf830e1b516c707440449d8fd147aefad6551773f674cb0833666712cd4cfac12e4488ff593a0d7844b7b332551c496f03c4f6e73c61940af07f754e881e923d4d56fef82b151dc7a27bf17815a0df23200c113d64fe1103d8be63d053a07f821c0e01c6a06e23668bbf136c73e2f2b998ea1aca433ff4069bb323cccb5e49e353cffa0370f30451c22f085f5b80f860e3bf9995375b0828a474b6f8a297d1409bf5da754924612f1d7737ed503f008301315548689593fed9f4761bb746f10e386c58d4f1bab30d082784083e09935e7025cca60a82970ed02a77fca9805a7bd037c731eb040ba3c38db9382eba1e7b8b09a238184f1f9b8f39523f559f6418cdf0408f1f23e222a93370c44c42797e6019edddc619ef17c8876bfa403b265a316dd844e101fb1e4c27371de1fe5b7cb5ba229ab5b171500107db20ba808e0007dfd32b236287647549072225f9499587f46bf82bf10eeef2eb072b8dc2fd61aceec41c86335c4523f46f9df8d3afd128c8d8005df7f191ece7ca5e9109688fac2fd59d65dbcb800e30b1bff420ce7616a0eb4672fb96816966a951a2013bbc969cd10716a8f0e64edb3d8fa732a63371172ab436b44cc4980301fc4d8fc51a1b2c297a0b72b13223074461ec50c14358f90b10412a51f7306123804345c931f7e6c40f8bf18e2f6f099825de3e554c1c5d4e1d933ee1291a50f797f3594becbaf0d17fd2a0e74ad30e3743af2c91bdad52dad817bf2dd370283a7563a78aab8fde2e6471f789dd5a1a04f606d061a0c345057efed0cc58eb5b5c4aa96531922b6f69d41924a2cc3c0fc2c9f866bcdeee89221f708145f0f9b5fbbcf6f598f657ab71d2ed8493e7b2f7805276e9ea6eb3a48178af719c0834f2a69fb2dfc2a821880d3c5ba574f9860496663d44c6b101f0cf79ac571a8c2f5370fab2cffbf1c365203e1df5e694f9c4201298962f641b3213677e2a9a3988df8c2985c569a4d82b7ee87fee7779775d3e4cc84237347d190822495b6af2654680d680f6051033a5fff29b0e51074d89463a8e63eb021d356aab41ed8cc5a7351213f140b172972eab4d083b96fce408250764e868920134c964583f0e4ec77f475a9ac90036b55c06fe69bd656350c831059968bc77cc344af1de816b5e3c670845b1fd04c9d753c98ace3af94663f5fb93367b0bf9f87c345df62acc080315b38a67d9b9a09dd31bae1c58b5ad41819e2e77c8ee21017208cb31b578d1ce2259ee4fd5f10823fdcdacb641c68e5ce864b7217b83a0323cf4acaea75b49052308424e1a57aea34f971c64a6c60e0d61a4c364fbe6fadf8b3497f8f10a58f1890286cf6d7e375f7c13cf6aea75923bce78edc46fac72ca1f506ba3b76849834f451323f083c6c5f343b9456760cdda2d1ba4f888c4baee885e0463b6968eae42bc3b64664eff92c2e6a05d94d26fef8b565794394dcd3d76d56a44d87e98c07b35791c2344a51483bb271c1212912c22e321577bbdb286131f745f66bbdce5f3a9ca609f9c1f77bda14860013d7ead9b01def878381232d6a397f212581c422a998667e4f422d283e2db9ed986d1121e5e6161da5af980eeec07c934a06efa501ac27ec2954b4f2d7070c1ef7bb06b383e8dbb2d94da859d3b566ab6af622d62b319e88ef60494f5e97dc014b66fc7a25b093a0745553000b59fb907c6b606dc2ff1e52b9c8ca52129c80f0a1765155a8b0a12e82e02fb04beea2ca0842d0ca2012bfafd90474a4d543ae6f8cfaa7353e38225ec75994c96607207c69b1db38b3ac7f5f9c9331c42a822b70e71f324fc2120e255a25b52c388a3979612666d4d906f7279e74ee920fc61ff91880e3ff6e4fb91b206722e7680edf74b36d7d4c79d9bba112adf11b4a3d99d82a47ab2d306873a323128b914c61fbc65c2a1cb2ba67872f54cca94d450a7008a5bb45aab862466d62fb983c28f22bcd1d213f1b3a1c145251a57b550e086cd1b75df2c69009ee811489d88ddfea6411637591d1b3a4c67abc500cf584a4f877b785667f5e783c9ce03a5020f6e11883efc839249f10a917c2a8543d9c862d5ada06519873402385d9cd6c35954413f2af40ca94ba825d23940fe854e5e73a0f135d1742c96dd72c22926611d8d3ceb862e115b70f91c16bf077762f52e6135e5467d33e24a38c76f3da999309020fee4eae5f74c309ae87f206fd895ea39dc07a051b2a241dd4b42db1488b6531d8f8b8c090911b5180f88ae0f50e1c0837381bdebf50e92be7d7824e5a00e452c7aa678db819342fc8cf7da88a3a6cdf73b96803edeaf3f98a81fb2a0643df60294d0bc6620a8ce27e1b702a57fb3e314bdfe1934e7796b1590abf4b14b7eb80cee38c4609ee4891e1686361c82309f34c34631c84f7fe22779c251611db9dd6efec03941a0dc90f0a19c33e03be3cc05513fc54508e76312d0147c4a141f258434c65a09b64600fa2447b6e435c1b061e75049832bf8c89177a199d16f423d576df1a62cce9a15c887b667fefaf272f045ef0d9781c5b9ad2d96896f59de2dd5038a6ec11ac17a15bd140c219921f410fe9cbf08a2d803b8bf3517b2204929b221d6148ece0cf786679b45142d83a10c45d3947d0fbee8f972a344375d719d1cee8ff6bbde9866867cd0b23fed8a5dd5c36ef2c4d884c8c7c9f42bf4c42d07f1f304eb2095b80787abca8722f9caa1d702b8ca0479f01f75410f334e618f19de782c3b2395340624e30c3ef0dbf2bf8568d5cdf6b16200dd30a995352be6707d1eff3eed70ee287ea8b8a63be0e5822b09a305d347093524c06f71455bd89745a98023866b832a78c2f84d6bc98b67dce05adde26910a74a5ec02227242a26a8943853eac133f4a5a2f7aa218e1da4a141f034bb1cdeaf891b7319ccc10f0417e1a8ffb580ef5f2430487e601fa3bbc05d2a9559098e8ff95cee3ead71852819305c3c315777845b0d99c7950c98b8b419897e955ec553b3935b6fc51fcc25c720a70a1a31393ff88e15bd041fa505ce0f9fa8ade15952547cc40d22b2a1bf27bf2245a4ef7fff71501979fd57724ee4f24f5d9b4499fb93e12c7bf0b2917857213757bf62cff29efd1a274e50b05dbc6bbc56ad0e7bb227221c7eda1fb6963cf9a3f709aad0b31a9c0376d25b2f6234fa77d79cb77aecc74a5444d7f78a117977742bb2473318d7934bd79a9961b506f9938e7f1f7d07d6723e02a2c9a0ed20f123d999345e8fca7b0d0575ecd4cf2e0020a4c88d3802644c3726965a104cae62f773f332fff16ef7e5ffa7944022e7e6c94069f77fe1ef48394d740f0a48bab67c47c738e0e9eb545aacdfff1087636959f38426bffffb842da432fa637c4b633dd23da291f1ff26f77cf0d5ea525c453b689515f3b86859e7e2e682ee38d72b94609272d1274b1e12ebcd861bfbe2a6949022d78f3417e663c23e1c041039f973343bae1f9df086d6e467749284ce89bb5f78c20b09cc1008a6c3d5f8ee232d29fa69811bc1e8e5001bb42fabaf8afcb98ff79713ed569ce0e7a8ce0651f21e8618ed309f83d16745f9e86f2f29e1ae5668e68dc8fcebfdf4526e56a80ffe07832d41810bbd60b2f197ee17652069d891f32fe4c744f7eb35f1ccf85c51d2c229064b6c86c1fde1ffc7f82cebeee8dfa8f985ce12edc04f307725faa1e4f0a4be75c38155da6db41d83ce234e28f42c24b72930c9aa8c931140a803afbee30818e0ce8a3a4ecd1b36225552bbc27138a9afde8a8d77ff8ea2dac6fadc0faf35a67633eddbb9a2d2ea41bea59181e557193d1b4f07d99f657b8c511a37218a72d37b24694848344ad610344df41f1474ddf59f2e4f59dba60a97f12de0c2e4f66afbfc176a5d25a4dd14fc09887b374df1cbaf329e0392ba4f63c06107990dc0bc168cd14329f2b5b277ee839dce925314f567193a36e86e59af097acf19b70509b84bcb9bac13ae89ffe98ffe8dc328c26003aeed4cec56bdf5e9dc7eae34f8cea2124a491100dfd85a2b8d2f7fd432cb77261be69d341f8cacf1722889db645a1345d10f0f393ae6706ded7cdeea76fc1915dfccc28cbd97a1c00ff149028a38791da83e1b545700b38b7711d1a59139afeef9ecf4f6c902176a0e34f93f98d657d7d65db8da157885e93ca880ad211ff95f93699f746a314b31b75faaa2f33cae5b795bc21e03bcdd00e3bdf626ef71481e117a1a94173222f3181d6e0fb5366ea7e7b202c125a6324d2e895d9ea57761633439daa67c02020d8b8cd3a8e716a9e632e6203c8e98eeef61a34055f60b55775d2b561320266f718e3d469a094974c481ff137eb19a2a946f106dcc152eddc28d6c6dc6752524cd1a33fdf6c70776bf0d1c445efce8698f79439220b34ae4295655d31dd95577ea74764061290fc518f107cc7ee954e61adfd0b38c3ba225f98a5f7c61b72733c76aee6a55340f9abfa5742054cbe231090ea9592254a4404d4ab1c5e9c63171d737993ec894908437b7524aa352b2ffab9def86d8b284f1f20490a26ab1346ac3b0c90fc9262500ea4f6166eaa67c594d58627a8f2becdd1b02609c548432cec8e13965e2469b0bb48cd0be8a663255996428c9116fad210d69c17a408eed15a0e264217252ed78a308056b2c8bbf7f7819b7a9bbe7cc208b5d8653ce4615441ee10da070c2346ba7f56bb8a48a65f203e8ee2fe313a13834657450f341857920fce7b3e864968a21899be2f2ab8cda5104fa1cfcfea244bd96342808d265f6b793a32ac03855a7d197fd421c87b92f5a298db656648d04c9aacc6091a0ffda8a27ec2f5e6b41fd4b05436cb3c3c703cda27df420fb488c2b5cf90cd02bc932e21bd3195f2312377dd17f69659765190c2f2835132e8655f86e23498c671cbd1bf70e858a102356fc1cce9aeeb5417870e8b58aa6ac5252c56cd1d01d120eada5ca2fc119a7d9468fa04c2748e606f8bafe485774191bb651d4e06389de9de0b65c5c2603585e2d86435386436cc85fbeae66acf0d3a8d8ec36ee1cd6ff51fa04770ef09a50d74e3ef23072c4fc56f881473acae0202b7c2a67014c80cd08d507944dc8d72a31316d10bdaa1061af104606ce1727a782db6bdc8c86d5ae1c6fb1001e35f49305d6d9ac49eacbdbc8525448db667d9298421f67651540cf602d629f33f9ef143db02c5cecb64d01757200feb4a78bb28f3e2942052edce2b99ade7da421921bcb5fbd4bec1c463edc7296d51918135471bd99175cea8f6b3a76ea5ac751ee211dda22e16a6bc946e0be5045132dd0a7de838c024f858af054dc89368e7bc9b998b6e8d0ebdf1d470ac77dfbcfea88ca6ec0af049328953231577d547d1e4e62e9eb84e53af4b7e391c9ce7e62e29b510bf3f1dea2477ae1dc14d6d6ffec63891934a2265337a48d003ee0d1ddcd2b5139ce33f270decee0ce89fc4ef36fccb80a9078cedbdf2be0f357f8b7fb51a8c1dad7a69c3fafcdacb1d874b69c56e81fecb213e6f7e1fb35cca1f4ad9157342d784ed14e7b0a5af97551b68d8e2a81d3a952a2cfaab30fefa48fadfe053ca9df6d82fc012b8e61e035983c3b57288ddbea091b4e7e1b10d75acfd45ecfc0fe62ca8e6872bf4fdb75d1be2bc0704e697b38179df0c72945f10a541983e9c7e6d0375231be04dd37dbf06eeff3c5cb49be0e9e205723e0ee678f93a28bf9ca740010864deaab1f22d0cf2025a354a4757c5f79a6a0f72a502e188ca0da17e9299ca929573d51b5a8a4bcdada47b17725acfc91cf37ea0645dc201e6a48b1395182d7122a7b484b12ae421fd90289a1237732b1ee8f9f5115269e64ef51c9f4515741ea637c20effedb58ee85f5f07358d7678986947d4d87590474daf77ec2fb07cdbf1f2de3cacdcbf5a13aa51cb4d0c21e598c74558ea51d8c461548d612cf164bd45898a34a31d7e95cd2b2bd755503310f81d510f5e8f93cdcfb33d29c4c41b8231280a4bdbaaa9c4fd224fe1322ddd515cd45d1224fbeb71e2ac69e5374a575d1b7566f3a3aa25a729f3604a32137a6ac3ff01886923bd52bb362b2007655438b34c562cfa8219af8bd5fa97d33fce2c1a1ea42ca07a1608a06cdff654a2a4ee9e4d80903d81d245816003ea73cd7dd124801f09bfc7486c63b0e18cd11cea97cb54fee62b947555b4c4b869e853e3e6ef32afd3917d5773fcf19f6cc722f98291ecab4405ddaf676b5dee9109a342d7553ad455ee48ae0395d4211860def4203dab5ae46339e014df4f437a2b7726c61467d2831a041edb2b901af8eac5041695bbd63da6bb0681c3d3de5e5b71ec45adfb02caeb0c279cc37328d9710c51169a0944aaf8b5de2debf0847fcbcfa0b11b5777c40647e91cdef63c7844524443b9bd7cb26d306d26dcf2f5f757c9da173615d08dda4b7b46e64c50a4843bbc829f5c8a3cdba08fcab8d43c879b374f8074361095ee9e6400f54e97c3123830ee6dcdf3022fd8749ada85e58cfbcce8058c4b5a08fb5a34c33758d22956781a1c8ea32438580595f86fc29f37824b8cd52a092d335b6451f077bd643d90764bebf17128638ac127be9158ca41a07e949d90a236aa4f7f0e29b53987704ab19bc23ad3ea2ef293605d13c86373961ea32c667e072ac92bba72784035630c388eb601fc4c3bc3216c7047646d2f303d5f18d63698d17e0603ac573574be5c1f7b5a8f4a7ac4bf6b1d112a5740bdd39d2506c231280833dc1c54440e36f64a710fb1097ca55abe41888fb501277f1d15fb26ea4f47b5dc80df4310b83c0d02afffbf69acd7ba2d5922c1699397ec93443aeee9dc3140a418d1cc75a6d03d9141cf0f5febc51d21ecf1399b572a7904e7d5e7f252e6fde41675aa5db2a458ada104d4ff3d2c0c0c21bc534d6ce70b037eafa90fdd1d21a6a2a9f01e43a162c590e7f31fa1f01d194405a90711afc05ea3b70ac31704bd08d8ec948bbfb39e099cf6d671a0a0cd0b045520fd2da2136f13a1430f64f2a4d23d7067d4326983caed8157f2162dd8ad1c9d90e60acbada7401194a99357a802bfedafcaa41524e84078103c27948b1c0b204e8ec7688a8e518490031d0f8a7b8a55de45a18b2f81d5263ecab5165ec14c9089737812b3d933b425bac9f6ac10d8c2551d46fcb2926669a51917142e89f520edb1cb4dfc0166e9a0598346fb5a729976c4d6140da2335f9f4796436a6e4ad81a0320625b34cb792c9b58022439a19a5e7987e43e3cdd37b8810cf10fb29ef29862fa9d85facebb470e04a266f9505a60d0e5f8280233d3c8b62c4994dd67a3dbc701b7d66d2a28dcb07ca51605e0f8028d42156e5906f4512736abb83c8fd7ba4362b3c561071d7ae57177ef9056d90ba6c64d43cda8cac7ff51a0d13d2975f04b99944442a90a05e65abb3033d791ae557ebb169b1a89379f3ed5de537662a3018ac9e6454fbeac86b55480c75868da4dc90857d00f48b4f1b9e7ab0457b579f824b53f6d5fbe8034644fabbe05225f5c7f19701c042704b8cb2e27542294a078a51c850e9d6dc14e6ec3435801c027d27006570a1ee5096fa20a0ed5a81f3f57c9d731fe557b4dd27c3318bdfff5eec98e3000fa42718b886a5f9d8b5f396329277e7a9fa98823cd6c867c64b0ffbe19609f7d2acca5aea93da6c292256e1d90cf07b30cb2d117f8b57c0be4551c5ae4c55949de0f6d6bc752f9edf072e0eefaa2d5f0feedf564b03d3420a9c9bf5b49d91c3c4a92ae5f2681852722ad44c6db903ae2586d902b61572799cdbebf7264cb95fd57f0ab823e0c88cb71d28321e3f3833ad8ac3fc7c41d1b06b07ce639388295f4f4b83cf1dff3051abf65c7c6d59a9d5a75315ef106f3354ef02d61caecdcfe10ed52a23a13408ad9a33d10711c328803b24d5d4995f3da6423c996803f161767b822918995dbad6fe15213e73665f3db07fd06cd1b4557a4c5d7d2564116c3d001c82f49721a9e66d9013ab885c4a1a9db8826e59e1ec24cba58d1ba83e2844103e4b52867037af92927e1fb5f29f08dc81859044c6fc1b7d5d5abcc5e2507a27cc13b65e48b1b8fa73b852dfef36d1731309392ae15b4116e8d4f15e183fa248ae5fdffb2ec41aad45fbfa737059b3715f3167f6d51c2f8776738a25f3d3a21eb7b67c017ae4f40c9728753842e019a222e308dfe668057dfb35eabcab9c37343e22da0a97b5e6b850662640e47af7e0aac83ab5f9c4217c28efc633bc0e48f36325a2984befd5703f59fb5cdb0475186535109d606e21e37865d131a6f4adec20b6907a99578956c4a9c690821c9cf9264b8e733a403f2233f0f6abd6a75951fee854b18f08f6022b29394ec0cd484e098b76c81745d55a7332148b4a00af0aac121c520e0dee19f493fc9eb2cd21cc6318dc724f43918dbf1b971ae201417df85796d696b7a4efa415bb49a33ef1a9faabd6c955a32df19f899dfa446f6d5b218a76274348acd5b8c667c2a215fd1c92c8e80340ea0ff587befc3f6b427f999701cd3c8fbf416c4645f50cf4dbfcd0e21a796e09c0268385f33ca95850d4bc3a2c204dc567ae1f43d1e1e4860444ef4deea6a7203c8cfd3c9de858546d8964517b7ae91f97d5cf12c5cd1d9836e4b85bda36c305bc13feaed6fb76bebe675aeacaf52e51b91bbd88f224709d4631e6b6922536f5e8a3455945376f48069b80100c3c4f3cdf8bebb860be9c4185b0aec67aca889493f3e7444fbbb82f6038841f0775ead9ed3fac8b0893ef2951bb68ba94e8170ab9842ba24a140cb94f7aee9b94d8a4753668ab1d9d1282b79972ffebb5b7657232c6a6b02da123ba553712e935be3c04833e0054e0615c23f9bf2272fc01393e8dd98e9871507cb44578c69083aa832510a5a0e056d03a2396a98dcbea34064f83088e72ae8263a23c9ae4fb80f450e9d13860c5ce4441b9456be98458daa3c7f893c1d213b9dffa3738e076cd630e22629a19e408368a04e428bef4b6ac7e799346d3c826a5b8cd7a60b0be494c71eb3702fd52a5d49edc7b4dd749079a67641bfe5c6d930affc0e504aa3fcdac5fb15a210ca65a0e4b408113f30d24c2559a926ad13a280b41294664e157c4422f966d66fe6b5cae9958d25151430fee36d4b3dae088dcbb804d8c0342b05dc4260f4565ee29110499ab26344232c688e419e6d82ddfa75bcf2fceffe8e22e5bd90208d6e8de84db36e38470e734943af160e4376c943e327cbc69bd81d033bcce391121d2318ca333c5906bad9660bc1c2f148b98c06a76d50137bdee383257aac8b17686549ef3677a4e72f555bd1965b287d1d7b6011cbeb008187f0182d4f5f9cf7cd5ffddb1ef432f0d324e9c59ae3b3c4354f628060180fff7493587b5f0c4c758112479dae1fd9b843b19ab7532fd4b4587dcfffc2c82abd6a6b4d75fe12ecff74d25da0c22872d9aa644250618dce6596f26d499dc2fcb9a8dc4867d33ea96039be63963c343a0bdda3ae2472c9aa9befce5f54abd12e7fafa85dad9ffd1110b93936ff9bf6bbfe1aec9d3b8c8d04cfb7e163a6d5d50f77e6d6276198e053e0602f44ec290834867cbe94899ebcc98f01396032c9c8c4022018800f7346d03d8c9693900eb1a7812a4ea765287818ccb08ba220f67667e1fc001172574f417766b89f959d5dff0263ee3451839f27053d20e82c5a28d196c699dfa14174980475d3b04cb5597c92e0fcc94e2a79e617db8e6e440204b3ae2e439ac935c6a1eb412fb8a04138be6fb50e5bf02fa9728bb9bd22a64157a5ff168a45a17138820f1dc1e13974e56bfff588c39bce43a196a7af64d93911edbb209d687502ef89220dcbe7a905106de499f897723d8151c833e0e561c2496a16d42ed00d16c5194f40b108051b91c655b43f92cd9dd99d06c5c51d873f6f321e1c9fbf415c1c51f54f318681e4e8224cb75e44a7528c8c07f14604230811f805a5b196fff8d541cf3c10cf23ec5a668523202b509959c788db68ec00b85cb95fdec7b58687cba9d51590b66481c747187721b7856cce8e67a0efdd7f99d103c81945b0876c95d961af678ce1f98b86d391836fca6f006f226accf401e03e256e75a9b07be55b761116222353e350f70a10f2ee299be866e4c0a1a5cf6bbfdd91e30a9ba6fefc6be32e0baffbac6ae3297fe3bd35cb0929e52784e8020242d9b06a0c90f43552eff0a2bf4f5cf0b1fc47f206e51f1c5617884a4df0031ef0ccf2a99da14a4cc067420aba6540681a71723b0be9732ed60dc341d7c421fcbf19d0442d622f4a040dadd95211ca978a00436375c806da6c98defb3e0d1212f9721d2a23790f20215e713c8b7e4c25d0e5822e0ce37192f99cd8289e4da4e5f049e57dc25a41a41ad34f352d7f2d7f0ca03dba58175cd8d8e6597104a8bd769e8d98e332cf6a9c082ac0c73ac3037cd6da4bccbd4572948be4792d12e78b57e6746f49aafc0ca0eeab65e36e5f3a56b19e57c5873bc6f01cd7f3e180a180d639f6a115f50b281bc56d65ff29b392118029648979d90563f8b60b8eedbc2e85b4701349d03403d170900afce17569fa1332717fc5c5bc651ac310970bb3bbd3bbb1ca6a0944d44e17af12cdbee83223cde6b245cff1effbaa682b29073ef723baed85f78f4834d04bd88c6b216c8e4cd7ea046c2bb1b1f696b05838f6c5ec28365400ebc95c3d22449166ec71b39e4f49e3229ad8a360c7becfc3e9435ac5afb639481b89b36ed434f8d49ddf113a3f923d244f2bc2ef8ffbe19f90e082fb312dbf362c331b62ffa7a55993ff79f49a0b03046f0eebff4dfafddf2cefe3d877e3c199f09af67c2f1d538845de1390e30c3b674c6ba809a2923a015dcf042e4ebc033419268fe60bf616044462a282d462ad65bd4f8882935b51b6717913ce7ef268d419a2e6968aa607c09354e402c0a708ea6c49441632c3a734188ae0a901500fe30a9cdd9fe1a18a4e0d3056e1a86107dda8816cf40b48782d39f1372d0c82131eafda3024650116ac3f2adfcb04fbbbc4151c2a665ce4156287095d9ab5536a1326d39c395a0616398e66bb7f9bb00c459e6f42da9dae5ddadfd7dbe0e4f2d5e04ec7db517c1997252c1db85149f1250659fdbbfd9e82878c3b2deb719b9c10d023eb5d014c0cea746fd289f84632a08c0f0f956b112e1a883c380bf4fdc98570412ce99471808faec78d9849a8e83a3329bbae2f9504facdd418376088d521170e1e759ae79bd7bbbe21df20874f3f521cdd3a4a02e936f0f6eee17299acc18ef513913292bd356211382ce154814ff43fe4c98d3ddee8afd7f400db9d414eae08e6c4585305b66e410d9f46edcc17a9d9698e54a1325094c426c2385f509c66e6f55ae645f1940284fe0548bad911bab3950df0b0ab7cd07e15bc8e77d4f82d64c86c74d9aaa853ff85883fe319ac4ce7ac4a8fe76e2e22f54083fe88d78e32774d331d619cf0639dd725f18d4832f4f0377f73d9b17851ac6d56c1866558da277a085290932a73040c8c5c6ddc3666cc3e67354625bcaa95c832ad827a40d47b84504cca56e9d3e822fedde171f1a822c63e2162c815d54a82f4283c352f9b3b3f2e9acf76d70a8c999eae4ff42c5f0f6c2588487146478823a4de85fe05e34577a237107facf7d285a3cb45632e3cd394b8068711e4a1068f912cc800a100d2452e30a0734b78467f65e6d61fd1b543298f2467a71637ea8448f9aa5cd61bc379325e2ca08f6db42114a1ec4691e11a415d682864ab9cb76fe79bbeecb40fbe50a1b2fa9283cf58e6a95d5e741f4838c6028268008ad05860ce35f4b1337ee7efa23dfac56bcbac33439f09eceedb499c0124f4bab86692c36ef167e9234ed5223f49e81411454744ce91ffee027ee1fcc7d47d064f8e371c006660a17925f710a166181ba00dbc4ab8a2b0e8be87d928e041e6935626e63529a648a11710a815a1e345e08134fcb718eb496dca497a691cec234e7887af819013393f81a4885f3953243266d510e54a132ac2dac470ed3b6bfe36d06fdeff47a29b754cc7ee2a2699100a2203701f2a600fdaf7c642071be66188d5e3186faa4bc2b2b45ed8b59a1e31e7382e77141e28c5b11103f2b7489d65891d0d4d3af3036f1f35beadfa2c60efb769d1eb40c953acfcd8906f00f0c2db2d6fbc41b5ab71c52e1710127d1ebd210c6a2f38105964f810613c6f682356833ab250523f58ae85464b7f8490569a55f61c0a35b35c6cc68c5bef1f96cadef4bf0c3a6e8be62753cc2721e5ef88d3738ce898323a41cbfebacd738da69447f784c44f69b5ae56dab367ac98834fe7a10bd31d042fbaf061d6ae50c27491ceba4710e5d133e5304d5c186864ba064e0a730a29d1fd7ddf26f685734431003e79ed6af2b54b166bccbde0568333a19d6886f759e8f078f5b95e950012ff048039137aa98ebc929f95784c8f9f31a6c1adebc2ce59851e067a27ad23eb3e0c28feac3858da4335fce10395748a46378fb10be9a5b5ada21955eb7f13dd8bb52c17c3f22aa6ea62224964add834ab0822adf319440d0743cd19610d44062b2849b3d67df0020f920c5ed61dee07fd541c56852dabe617ce75a8e868e416d6d55e2170f297e48f3404ffff1ac64575bacd339cc17113f603bc954f0e103453e9e39b5a188fef8d8b208213f5a6c71053a7668f794b9213dc57fca02952a9acbb805445e3a431c9fcd3db5d333141f374147d27fcb9cbdb4ad24cc4d7296a98ef448bc41376be980dfdd3bc7897304e613d17372e96e4cf37e5577511c6e62eec02ba4d3dfdfd1b3d3f95ee18224ac374b2ee1de824c0ed2ae84a167a8613754363f4711c26903e82538282fd722fc0c7cc1f9e46314074cf70fa1b48e7b34e177ff1252f057d5ca139d035e36361805e6793e6a78dfa2510cfd2afe3f85790e256ea8f4372eaa325713c15fae2df56edb3d6cd0b7ef4274656ad5a38e2bcf9e74ca8a7d3ddb9493f2b5783eb443a6db484c5d69247bf46a4394ff1b2fc159abe9e512d9fca4e78332e7f9a36416cf23c888c4ab3bbee02b53a2a570460e6a6b994842383823ca72e17a945deab532ae440d0697fd8942996489a44c6569dc1cbb232d66cb2bb8ecf1b61c5073a9389ebf3c4c5e7839e9b2f2f1739d2abd9d13851189c8fd07b1c776d71d8551144584ca362438f94dc56ae105dd93927963a6891f4b404cd6fa580b8279a023507d1bf55b8337cdbf0309a0d8e0796d09fcaf7e69581d8a1e697c1c11efb81a1bd42242f2261b27e243792e848c410b1a68844eea33a86832dee55dd51208cd7e4ba1ff5e72c1aa122391f3e1357c473e616ffb25683c24083760f69998d193cce643661fb0e01c060aa8dbc186e228eb6aa54663ae611a31a137de2e8f5080453058cc7ac45bf4303fa927de6cb68cf0eb3892c5e408792b974f36bf4edb79ab047007e4bb8b6f29ea20997670635988ed982c71ecbc4692abd7013cc11b972d86c2507d885794e1d1b93ebba5801788fb6580ed3b9711b1d1dfe39978651981b5b2d1e1dd70189f9fe2272c7655b579d8a4510a9b534cf224cc4da2875aa4cea37b41a4433d6ae70eeec53c67d26cfa71c069c85b1b28d37af4f60c7a9df43293711b6a7f3e1ef3909e66388b246bd04ae227dec0c198129c3e9fe4e3ce116b03e2cb732c0475fb046d86e007035e52385d782140b108ded51857fb848b505e73bcbd2c81b97b59422cea7723a8e88075bf101ffa54327362c936eab24f77cf2262e321a4781e4870d7f068470caa55278488e1e8d0b176ee6f3f46b16aec7953e92c513fed2a41550cd1e3bd5b1caff9fefc13231faf17b13132d9d9821b5516ce8f8ac898bc94db97cf9a4253b15e2aa5179ab9f1ff64e6903c1bf913346078a214b3a475b82245fdd9392f03719a847526ec2e0493608e013121c0c815dafb2738bf6ab86dbdd93e57a847d5322b1f51441bcadeb2339d45435cc0b7b22042e61aeb5996f9dec06e36638e2827cbf2fa9c3428d66eedc67e038029a5d6c6c74e914cc5b4caaffd55ecd942bd92d6245cae1e76399317a8e04d3660821bed0e9bdc14ae1d1e5827dab84ce07edbf1bbc5fc1819c5c181f32f71d8bd7409998d2832e613794064028d4137a16d42521e515ab6a2f109b1033e60eec5c28462bd886fd8e04c52f1e570885472bcd36f8c724da91b0ef108439606dfea854fd371abdae024273619e67ee038accfdee78214d610f75d4d95efd15f65c5840de60a48d316281e80a100d506d5fe911db39d20a47a510753eb89917aaaa63f751c6cc197f3bd7a416143e36eecfa4a75436a5b00c45bd0b10143658ff1d761fc542ae1c3dac82b073d907758b78cc468364ebc62dbf6a114b682cff31aa4884edb5e1197c34d0b75e6a201a9bc9d16d9d7453c1ea8bc29c0471ff2fd7001b4e8dd8c8cd7f09f69771c76b230e06e94bf84668839b2938148cec80d9e8e2a261a7b0878076db0b5eac7dedef6dfdc3b78faed2bae2b85df067250d42ac89d6be556ebf58a8ffd6e20fce2908f1702e800e6e379fc4bd88f90c53948293ee9629a281553fa2f34c2067f5c1b39517212ffbb2c23721b1ecde3d4f5c122ad95b0b84df36ac65db9b3b7d8fb3866c52ae1074b796807cb68e0d1c1a125f1bce05ad59a59d9728f1c0181e1f80d3342d07e0f6fe34fec2958f40bb84816c31faf2ce625a908950fc7925f29385a49ac1c11bf7704b1ce5e81e4d5acae778be5801625f089dee13f9a5704d6d8477424f6ec0163db5f384c60ced76dac99b3e26fbe3536d1487edb3112fa81e4f1807db6240b01494adaef3a836418e5981e1c9f640883bb423fa051d3b0199703b19e286fa3f355ee1ae3736c947ed40cbc56f73eaee298e970fbe0e6ab59e22480635e64403306246e3b3f3910b53da1d5681992a14600138b9b18d19ac45648f08f731f014a475932dbef722351ebb68708e636e4eb22623de9921fdd119d515a4e4ac3b2035810a9f651415968cce65e7ec676cce88e8cdd6dbc324120df8007e52c76ae8d76ba8e3d492fc51a33f2f4f5b3dc10c051f903b5749fc4bc1b4b2ce7ed48e049bd16c3f52401257edaa43ddb4eff304a0f73c3e258109390bd15b708792cc5fea30091dbb575d58b6469a1ac5550993c28f641d17f269931c15ae773e4e691d2ce22fc4d8efe6bb70bab2fef55c6a1ec7f9eea3e4d3fa9f49325637a2b3e0c59af8b60e05c942123129f30b0153791cfdfc9802f402e918d8bf29e0f898fcf773e24ae0bf88ce0f3f89b01c3b74669a2a2dc6eaf0874cad0bbbff8010e09cfdf2707d8263080f0b8f09edaa2557cfe1def66e0d793883a71f3f2ff25828212fb48a41cb56f23ea767d7e1d373c6193ed0a30578da2a870381175b7bfbc2e9816f27dd164405166631176e12cb629c0012e72a5ea37a948bc0e712ebc43e479624059c68c752eee0d0326028b857877ba868b11b35f43b01c797111f55a05cdc9c4d347cf00549d181b27858752477e41364aa39b88e740992c286bd3dac4457743891aa80ea87b916ca2e8946fca6470d900d2eefe5d41f19c65c71ec78c27886b8743bd728c82636d8a0cd41b8ef8f822abbe1e3c702fd5c85457a6eacb1a39722ea77fed503762ab369c55d145099c87d941f2fab64a6a9c91d2ea6e4deeca12cfc6a71f5fcf7c5e1b292eae8aa706e69d55afb5dbfdffb4a1455c5e9ee358e1e03fcfd407032483a18254285d75a5f9c8e3ac161bd01b4e92995eb2e813e51edec5e1a91719e4ac565eae4e80f7adc2573cfec5f3ed0378ee2977a9798da893cc9669ad9076540ef95fb9b0d9b287c64ce3a967d29b1b26ba001a291d169d2c764b4f9298927f55f6b0be3bf6184fd898a26f26f831efa1f02335bb69b9fa426fe2a8f4973dedfd8a7f321a63ef00e135b333a1c02729eb217ed4fef3860fae9b16ab4bde52b261fbfc33863c05db6c3d583ffc6c9ab4e7192df05e22fb65805b21d9731e2da1222cf6635fed6d471e570a1fb3388204c0bc82da2ccfef0848676df2301101a35188cd934c6bd68fd89888d15999a7313d91ccce851e2a2ce4eab3ff88885a4e3790cfa37a8ffb312a95ddc3f1047bebfa576a675649be8a746dc1aa61f8995f80fa45d9303e42397550168707cf1f9c1db71e3f2b0f86e88fae0c81a9db6db8ff23bb4859ebe2237f919d9731840bac278e54d18c70b426fb96df51d372671f0dda409de68d05e9ace1a381efe56f1278afbf8946859294c041ac0d7da5bf35dc2bf1b6fcc3dadcb7fbf1a23cdd443945a26e2c47f212be4441a8ee905fb28f04b7f5e937ba7436badb7efd5fcd5da7bc35f88300c7b42cb325395bf6a9c661c04bbe8fbd55b60b11d2b9195e6e37d0f4f91e493ec0ec4cbee9945ef0650f711bf80bff8db26319e61eb9f647fee5b32d207562dae3d5b85f1d91c9d49f1e396977499fae84622dcc202e9e7a910ae36670ff9061e1d071cea84d9a3a1265b7cf74f237c29d31cf0551ad4d5c3605b91d3e1923c6c816645e300c0710623b2977abd373ba98e23f584f092f9f58b88b457d8ba49c8cead4c2b7d604ba5b7c80e9829c2662873a66707c3571fb62429cbfce7cc599da8c0de6bb6ec730336a5bb2f74837262e94f3c14b5f78712674088cce50ade19b4086fbc1b46e1410063f2e127f5e712291b6f1a64bc65bda036d9771b6d603bdd67793eb3e8bb64368a929beb79ad81679b0f7b3ec7ff94fed7327af41064d25f002f4a3a089ab3dbfd3a071df72a8535091a9df00fe59c89917eb3c3bf7d8a52c22c99e5ec8762be49ea5c3dc06dd9bb380ffcb27d0008003c75b203308465e1e3e1c1dc10f1eebabe017bd7d8d429e011f38a8d9781e30d7da3fd091c686d79e19cafb5b9433f6dd297bf846b6fe68f12fc0abf9cd7005e86f68650e7ae792a4f0826e213aba2f3debf7bf73c98113fa2094c08cd8b08c1aed179ef20969e53a8e93910fb8656dee2b101fe8cd528d42677ec9726e558fb540e02a7cd153ec35ec8a77f3d470475b5998be0c971d350cabda97da734c75a1ba41093efcbf62f80c3b5ca94bd574e8a43ea2adad35b66471b73d28cb8ded16cf778ffe867e143b8760fb57052d2bd13d395aac95ee24ccf6759e58b9de9040ce9ea25cafbb81f8d0d33d2b21ad3a11a9995967152c62a6a47b55d656beca8b2b81889acbad8a34fcb6ffccf938fd8114e60f7b56c2492da16fc7dfb8f46f226063c38a494a6f0436db1dda6f1c3379d0f532407d1f8496a58ab2f42a2f7640b64f62fa97cdf96ac0f127854d8defcae09e5f269abec56fb9a4fa4fafc20c532f647e7947ea04c4279a767a0bed338f70eb8aa018fb7ad97535d9bd4a933d59527f5150c81a1bec121eb09e585759aef21f4f1d6d8d6b45644a48b19d6fd2e952fe0af2b1514f4b80871060a1c0ce9785de6cb39d4ab536d82daf8c28211dab25738070d652bb689e33a5828f4e327b06d0cf2278a36c7c5fdc3725ff0563b42923d1a741f2ddbe6440d1ca59ed9f0e7766d0dfe7f1d39baea76632a24b3cc8936095bce691181980d83e166c70d704a5c1c506758983c94afaa67944bd7f8cd5688377cf852cdef4fe3ce3f10c0f0da8fc6a92c4fdba62548e9502fd390f04a0ff246b8fbd98a7279aa3eb95b7a259b2d3e793fc9b1f06bfbee4a052f9271c7035fb493295a737b89bc32b357303cd10761aad416353aea3834a147d08989915067f28429449d7d99b7b73a03897d5650ade51486051dadcb6bc3e55768826324329c02bda4fb387469b8f6fff03d05f4ebfcd4f6724ed71aaa7840d6a0a4ca407200574c41331d42f6fc6429b26aa6bfb361ba392ea7277778bae482682438d333ed42be1b023ba6939eb0931ee1a6de7ed7aa370a06845dd69bd6a103d98f3177433ac1aaf9ffedd8a8f2f3a1e88c889fc3a27293a10115be0b54e8fb89067dc63c86e7cc985714091ba1c0f61ce692f90485ebbf31f4cf485b6381743ee916567f2f261ca6522c85cfa590ec8edf178170cc99ed03576054a433ee06de54ffb8387cb1cfb5edfeef6173c4fb66cffaaf625966af876324f3f7afc2862f4206bb1f54cd3806b6efebf57127f1bf2d0211fbec5f8fa3e44dcae4015280dd8ff2c89ca146dbbab172c7f9696c67af7a9430ef36b680716cee3ac6cf471446cc04651523d2dfe69dacbada7f2df24df878bc43faf268fa0fbdfab5d48a858e372e1df6d2b4798169eac68ff9d87196b252bb35f0f49854893776f01cbcffa3f59f61de0f4ef0e4f679abe2d69fc51c24c0cc8d352f2f7fb7f1ac964685b671c98470ad3888cd988875d88765644a1c3b44b5d8bf6926711e89293a0c0b6dff571f3c53b68887b63f22f255292257455e6aced9c4f8b018fee0c9a35e8845c705c90a716e445cdd783d6a8d28d30e8b1d91ed1c7baa359c4c64641a9a31293510d63e286bd5e249c69cfb3875819556bf113afffe7e2601a00f11503cf19261bb0fbb46bc7a8d0c137337af36d96379699e01a7bbacf03546dbac64a4414bb15e5039d3961f825dcd26827133630f5448c3cfc1bac5e49df9b6f2a0835be5f3e01f9081d58502b05abb2f88efb467777b6ad16a48166e797f25605b92ada99be56d16c3800e02cc20f1570ae12a5cb85c4a95d15ad0f5e7317499a55b1c1afad72f5b10977bcb99a1237ff5f551fef8870cfb7670c385d3b61d188f976d3e0a7d79c5a24d2f29009f4b23a768bb7fb4597e1c754eb0626ed838a1ffd87ab6aa32032b1a2aa28263495da95e250bbdcc67f6ccf17933ad0a8b6d88f99ad09a0dc5add81268d94ef3968fba0c7ba98b74d2261c7ffdb1cf36aca8ed3566ad2de1693bb5359a72c7ea5791a8d16433f7e92e758a737e3cd17f2709896d2fff0ede3e2d99f0c5ad76dac20e98b2784eeb986815f227339117f2321c10735f1c4a41495d1c8415ac5cc087d9abb2a5a5ce0f963b1897547a3aa2fddd31a4fa11dc03cc2baffca814efbac87b9a9ba4065916c7d7e3f74d80b73b5ce37ce4457586deca32788017832eac11329fa6eb54870756a2f751c6d8a5261a41c07fd207d2dc56b25f30e6c4d60e95232312ff95e1912a857f4a5a1c2a9aa578fefbf89bc20e8e775c5776042f0b4b2fc7c881e90c5606639c869c4fb17361742df205903ad549e5692c23072f9b9f0250d57f71b68c3af7bf7de08dca77e6b4910f608861408b2efaf76231084bc48a4b0cf68657f71756b8857f0d88dc337059d701d8bd209cde4b3edf3c63c2d086454a03bc1979426bbc873126998edcd50190acf6407d96591a9310c5100cc9ef5a3a72523e2edac9d4b5ff7ec724bef3cdaac6debe057ab9f3cfde0f593cf7f83bbffa7a6b01849f568f3d802e714dd480d119aa1a04a0427a39438034482d67389e42d68666c1df3ecfc006eefc99a337d4f8fe621e0fbe427fc0dbd7614c462d1e0dbb06e4522cf8c1243f9bb38eeee4c76e377e5821f4aea34b7c3ba5edc6a4f5736caf8df449a990c573e149867ef71f18925504ec63f77aede8f70f6fa4f4f29f7a901bc6f83dfd8f5b05f825dfe35ae2b9fff43c8ed05d7b25b6e35402fb8c8ee360973e4307f712d30b321ba740f431afc6d94e116f345e833ef3ff5dc62d1290ef7f2f6e4589aff016d7083cf8fbad4cddf81defa7d80e7bbabb14ab3c77689c98e07c909bd872d3cebc2b318b1f82a38d9845c43ad7754f84bd368e9e0ef31db65fa5e7720e7fab31baca6d383b9a1f761ace8e9f2777dc95d839fa61f879b9cd55b885333a42d95778e12e5f740a0f32f8259ff0f09f7ce9253cf8c8977c84b700f98843780f3448ce3d383c55fc530343cee137a7e0d23284a7388181d5c0e1bd8151e46f985f6004f8067f02e3a137003e600850372813308e578cffa28b3bdc000ec0f8d252b7d3fd2bbce475e6df4843fffaebef4abfbc24b432306b5159071d58f83e8a2a023052767ab9561b6541004388f0f15f932f50bbd9c2850a172494e588bc1de486c299391125223ae6cef261ce5cdb579d0e9fae4b60b40c0a41d82378f7f22cb488bcb9b37c7df1d6c595ee16ff59369f03cd1dd83b4ef85cb0819b422c703018fe46a70c18cd897ff6ee0ccde7e62d4ed2557e9d33444ff0839c2b76f73d85235d320cf9bbf5ea4f66a54864f41f6a8cd8ce705baab6151e0a1da94f7fe2eb8f408f271e196b60eaeee39719e8492073ea298ffd634b0a48390f8e63f751d1c70ce07d92fb2dc49db29ab6fc12e9d3ef76eef7ed7505b485f2e540967721ccfd2661464d63bd671f9c92eedd94430d60b8e97abc38617b144f0af4f96333f9bd3bf15f597e864d9c093ccc0c2716d7f2ac24fb66bd0359489a8f6909e31a215a0c70ad34b5c2b946e182348378058defdae08c89f382cda543c723f32c418bc883edfcc4eadb56f2e9e8761cb3450229f3da1cdf723844dfa604eae19d70f22c594f16d9eeeed8ccb8c745f9be743d0e5688e3ac2aeb62eabf4449d06f248fee495e5e5e3e1f838d06d4e05d3cdb32291713bfe884eb5ffc5362d13f50d9a87e7e179540e18b517fce37c818086de8027dca63aed884f9f77af208f8f81e3ce5d7675db666f5edef8e1fd1a1e730f37a1be47634c745fc7ce73d28e02de6a449ba0cea08e8776c7ae16b1261ff3b15baf2d62e713024a2cb225b18c655d75bf9bae6b905b7e6f56e2f57d496dde145b2fbdac27d269c21fee5988a2fc7c1daec6eed8fff05797d4cef72d9cc9db77965be915f137d2d4c3813ddeb13c4a91750975f7fed19929011d20e930868582a7267228c2179aa5be612d26d4aac351b6cf1c5bff5d0e2f688fb28179e832ae89e1f4ad9cc481c7ccd80cd610b28192b5cd4c5b323146b86f9d650dd4bc46e866cc2ad1043ab9410d5e3844b2c43576b8571b69a41ad33c593d919dea01601e0d4c49ea96c14321be0013b3c30988e1164e945090aa9c16b68518a4a56e355361e2fc22b873ac84159c0db389d3991a139de8f68b89a81d326dbb5bdd30f036d057bce9ae16fb373e96419d2c72dd51239777e0de4b13d114e759bbf6ba016c2cbdba4551775cfce834e0409c31bacd3477789be994f219ed207deca2c0e86fa8ce2adafe96b8a470f32e9fc04768b58028d19ed7339f248c80d304e088f9e7b90813dde4da200df1e5f9f1c7d654885a01f936ab30ed834f779fde954d40188773eed73b1d6b457e94483b0529b0f11a13b4448ad1b83ca6dd0fbf31bba06bfee081e38aa6fbd6fcd9a9b2189f3f3746ed702b7f9ea55ef19bcc38acadcd92803fe31b5b021a11acacf3dd61db9f7da7f0dca0bd70d17a97cf992d18643e94c0cb70fc4db0f5b6d8d6789a7f71852057130283bc7ad9a49cff9b4fcc00d5b8d02c710083510945dd1e4cca3a918004299cc6ab1957f04106cf1b3d73d1c42908b3d9db786e6bd9dd3c0eded16962e542d5007d99e001b02022c1efd81a5081a5e43010e7243d909bd6826699dd35ea7a8c06603c61659384f11f388183fec4dac41ed16604c671c61f52b5b16a4edb2325468cc80a6cf826e0115e37f639b7c0ea1f71d4733f6fdb75182a974225f574c9217fe0d8a3db367f00745fdb385cd07df1673366818eb1c096d68c59073e7047f5818f7289d6d83a58df280acdbd8293eb112b17de597dc4101046f57ad1c59687056da125589397ae6d902115ce47123236707546e8192abaa0990115a807d3b1c21edc8584e04f80a1e319fa05ba201350746c90ea2053c6ad9264ac95f68d753ee8d760c343d0e5f28a2616dc494a1a40a054d335d34d6c7ce9f007a5eed6798a99addc4abd2ee45d24e1c8288444ad8c6dc2640b16d904f8c129e26d104c18b9e7f1d917e24e74fee165dcde1e23e477bcaf441265fb098ef1a8044d05c6056d9f44f059a74794f775686c0e3ada1abe66f717bf6c4437ae6ac7a454d544fe3a7d11155715d7200e79942ba608c1d0c5023b8cfec030fb03754234bfaeeba7a82054d85d21173237d097ee2fc628fe406b9c65cd85e3ab726c69725fec76945d8b0cdc153ded763b83e1c98ebc0575fe7c1055912a16ff0f59eb451ecae5c277e5573a3e9c6c0836943892f05d8555b170446e214b3648fd595f7631d22fa0a079fa83618cc1cf9461f818299e921bc3653e3adaa1e4bc8685697dd5f83c26a18907b4f6c1e78fedf785e6ff1bcab977f57d4d85efe2cbdb6c5696bb243c031ba08d5681f16f752ef3883abc1d8577ce31c1d8a868fb6918cb26dee7c20d17937a908ea57ac33ef5e5b12455dfec3a7c50270c39fce0617333a5c72ffc9216263a0b0e16a265ee72ecc9bba2795bcf276b82aed96ec3c056b3dcf92c3f5e66f1a6bcc49e3695e950391045ed1bee2e05e37cb71b88497fe3a4da6f676b5e9aaa52a6b091ddcbd1f763f0c4db921f40c0c066c26956a6df2058b3909cca18ec48889a8a621fcdbf0d25c93cb8bed10c5029c4315aa597e1e18bbecc8bb1784977994f82cde9ccda2b3cf4047727c5df98289b5e353346314e372e8dd44957ac6cd72e262a015446b6160634ada7a1c6d733dfa2ebcb25c4f27dd5d13644a4745eb966ee9b0177924382e6596201a9b877274841de2c66bc50a9f617763c690d99b7f8004019b8d266988414b7c8abde6a3c6337f27f431ccafe40ac6c4ebf39fbee679c3900f6eb8f7f6edaa7aeb3deed0f2c378ace7655fcb7caa4cda104aad50d35e46fa7f0aec952a3a38db63ea5b341c31db5dc45d6ff299edd953aa561cb7b07903c5901b31a6b46769617266fea3f6fad1c26ad9067fd8ba9ebaa2938cd88cd6a60a01302b498256232cd08776fec774632db6c63b0483d171b6ed5c24a035eb000551ca2d63f5fba343ce7ae786d2f3c0ddf256708d5fa55b5121d0b05004fa29caa6e5bb72087a19899c43f568de7f1fe4e7f11f10fb696fd1b19f5152ff40d765e05945d6e00cb9f8091a0e3d0a82099b07649baa3e487473e9493ea1fc28f6eb056daca5099ef8dc076911d1ddce9305deedfb866aa4cf3ca8c6348e0c2c63b50a174747d932d1988be4388c58d3dd3fe73f77674ce77e95fb17389c223c7b6649253b611ea6b367747c3432f198cc577f6f7d33a4f689e2d49d765c946cc9c0387a9bc07e06efe9dcfe09ea3585883f64fac0615da7034cdc54d50c4a02cd2c08ccf71bd225e6750f08d722195abc2f2439567edf1ff6a0017cb8f57f297f7c46206537a89e0cd0a34d9f8b08b74c24146ed6c93bbafdd9c4f578065651f1133808fa123c28cd0a365e60b07e144852c355c0dd14feb0dbdbb095fef814b77c5e253b4ecb3176f171c29c0392cfd408dcf1e59b16e22aee32ed85a3059d2cd012662f5f00591b09667e91034e53bbcb5e9fed2ce1254fcd48a39ffe5f5ee8dbb01c12926429d0f812a05bbdd2a49990f70c5bdacc860ed6239c072bb48c45b4f4dda31b0f41fe14f460b1db71716e34c6875e7793e7ddc9ffd2f6bdec2e639446bb40758d2c9f2a982b7b3361bb90a01ffd16f3b8da85bf54d426380b02ce75bbf6eb8fb0763dc50d85f472d2482a7344ae828c0f5866013399f6c6809b2f1c46889c0467deb99fdff3409d7557e835caf8b0c44ce4e9ba636202ef940467b66f1dcd768a2517e1a2b6bcff5983a842481607907095c87ee22dba9806eb7cb9f20272f10b3b0d24ddc3489ab93ab8405de12a877e78f00188e023fdb944b9087fe544af59dc9ddc931ad3839740a9971de9049373c50c70e29390eb963fbd56a4263cbc24eaefaf1f89db2543376f67b46022af85706b279351763677603d4d9dc0bb9f02c249fb3e6b712225162c3f030e2207b4e1b1e0d6a6720df5fa7559c10f9a35fe536775e2343ce84f6116d873d0947ae1993080c23345db7b728166e2a68c5890f408152ec43bd007ba127c9cf11dfb657b0e40c05908303d5455246863613c811c88ef96b4dac4e63596bd94883c4d010752bc5c49e2b5d3c0eee8ba2b4d660eac4e05b0d032b3aef09144e0f22c7ac4b9e58a70b3b57583c5e3dafa05240654bf9ddb5c0a7cf66433712af9e2051b3875a937189b545d3ed603ad87a6942ad80fd9c9f05833329fe9f277d2b8f609b94277e4ca2ba80622a801833b87c7982ef7d7119f020fc1fbcf6c57278c47d1414d68ba0ea14fcdd295c299bed3166faddf7682729a7983dfdc3f67cdf1abb3d15e7d31de0e09348cecd0e9075a772267f8886d414013a5ae93de3d02864a8d548f53227c7ec8ada34b48dc61e2b9c944e0ec1ba4368e53c7f8d6b6e25b7c267982565650c3b9afdd03ffaf616a65f7bc61c2e5d8b31a1f8ffca7e1a63410ff867adfe6af89cf1138d19febd1ca04d9877d003f9e0891156b96d796dacf354f4c5a4ce563d086e509c2f16db9ba46872b3989f2b88eed087b7219d44def26fc583cc45ffaf9a16b3c0edf87212e48b901345a020d290cda6cddcf6cf02779a5722b3e359f5b26f5b89afa5cd8d788204bb4f867d37fa37396fbfed8dcfd3ae278f58d011d631ad08d0642bcc0a516f30272ff760ed4d139939ef9da23ef1d1303ded3f95e6b149ac48793309548da155fd20f00cad51fbc5673c319e7a04fdd6d43ee6eb01a48ecb35d8e108a445fee2ce3223261b53358337b15e4a262b67a863274d22ed71beb7b7c45e7bf4bd5fe7b756a78c909995d61f77d3b116fcdb564c824c6e92b603128d63dd9c68fdfc1f92a8e7e31722145e411471bce0835fcd86bfc48c06d621b84dc35325b75d77ab6f9aaa795a3cd913f2acd773616eaf45f58272522bf831edccb32526a69e8414d7d7961b02d1c234c16604b4686fd0123ca2ba45ab964230ee5be8934a40c56a39d517444344607b27435ca8d363b0ce77ad9cd062b6c895bec98fc45c3f31bae2b51d07783c3ce4a156694ac23f57503405aa754984e1435cfed47631218d439dc5a6d3035ea958c9aad78f22b2a2ef429cd0b5d33620674c8154a672504a9c6abc3a2eeafe7e0e6f7fa3ec087fb022a38be17f8704b3d4021473fe713195f03c35de827326b18561350907a51c7c0499926cc18f5ac1cd31b72f21dfbf9fefb89c1923f81dbea02885af12797c30efd8098611fb07751ee7c395308f40a43a29a58711ee8470cfc97bd07020bea96554dd4b9a7bef23e297eb8073bef5a7398f683712640ac1451d8d01e5480a7d3db6814f29233737b37c1e4dd8e36fa6ee398089cfda6df9f0af8d29f2e3d4750175cbc585308e29b0a413d68716a83bc1c9e59db055a7855bd69e8e9c4a00f58cab4ed6c5238f3c0f600db71987a6aaf9ba78c9473c084c1d4c4d0bf918de289cab9148a20e3c4e9cb9b07383a58d76d5f7aaa0a743c590e4ddd14af97bb0d086a24c337903ddaa6410a058e03567ce380e20e5d4e71491cb08499bb05394fb90e9e8dea3bb3bc8d9adfcd11d69e610519517094a0d092fb0f1dd7236cb5f3bbbd5ed6942810ac89552ddf90f7efa3469a78481add61c13cb7339302efd6cb2180c12d56427bc6cc4d3f90c319625bd5c2937dfdb740a8e063253e9eeeea541a6ae7beea5536f33621e31459cade239f3f3dbb3cfd1620f3b1e66f4ffd9ae444933bfc4bac554ec11a7ebfd9a74e7f89ba977b8c5aaa138f142cf3fe023c9401ab7d401ee101f201e8014e50921ca660b210e266967fc5e406b2284440509c38565a70d54045c7938847ca7020100903fd7872d0f32485261b3414c9328ceb0201b95f0cd0c36e78c14221e1a060f9eb20dfa110b8371e24fe02fe4d304a08fb45e8037ff9f6bc3e46d71082de833c070df0eeecb8db5bcb208badbbd22d50609d93ab72aad383382e4d80e0cdaded00549e4a0f78b242816837e0c466db8992653abb3c345746fe1fff31942d5801a4da53d189dcf4d6c6464805622719f8971c3f4843ab3a3bc4e304d5123ff99710816d750d9804a4c409bf510166feb4c491aff797826b6fb8d08f0eb7fdf77a9b0c9211ca7498a25d4038b56d0bb652039389a95f487f0d49fd35e45b59fe4d16c0d345e3c19389c82fff4ac047c611f1ed9e983d247b34086401e0eed5795e4a3cec296603617bffbc5dcc9d56975f7c77b6bc6430bafe38042cbb4e002d650530bcba4686e94165af5c036776546fd907c9074eb8aa4953886a2e6426f2fca03c99470012d7e390fcabbd56075f5291683422b20abbba37409d065f65e47c59c173d2a3591049bcc30b52346f84cb043c7997c8ee93b5cb6e548e2bad810cf38a3d20622c90b4a3e2462b5e70aca670935c42a60027b070720bd0d6ccb6d9e4c96db3d984a3e5c70e8031031e1d81faf92a4fde770f2d24691b934aaf3ff333c3f44158264119a81e55c29364e88ab0d88ee1b2d92c69987931fd8c4e981a0ce217345f945efc14f0a417aa2e0fb8f040f35cc8d2f06ce10144cb9c014a0c6064695b8007cbf30aa215364c78d28ab28aaf42854d8ff6e0492a643f78724ab90815243c29c518852e0a942d14aa27647ad4084f3ee172e29b306972040a9325589618f6e892272325489424c172a09c24892192b43444478010612484278d24e0c1a2085e8f16a9e11081d1a34000d53c3984488f0e8124048a0e9e14424586c9a2d341e0aca168033227c40cb1479f027f90e5e0491fd16e47b36dc91e6b9c5fa959700810326238c1087be1e422aa8d8e22d4295384648e2034d3fedb8ec3be01886fbd8a5f25c03c6160f2648d08dc491e193ee503ccdbf7f8a202a55ccdc1a0c145c88ad01e2595362cc85405f97080d000341cc5ee0725632a0610dea1f070a172c083bdf764acbd3e3646399c60c4806155c747c9c5413789c779da8bf01f1911aee72241b7050a6e7f932c4cd84e4f1250753cb9a2ecad4d8f0a1c05a274095428e700f009745a4102dc9c424056695104b83a416702115ae205140a9dc35b3078da3591d89b4414a063049708480890f0a48864083b4a58de027e60f101cd8297ee4ab805ff95fbf7c0548128a08358f0a83cc00852d478a96f5cf734d7e624c5e7090d011c4352047bc60a309ae0704131773ade7e6f2899920829da29eb5c5c3a32ae135b07c1559ec792985288ae495024359939e9da48865f9e7e327b24666fd455672d8144a307800400d2e0768f8fabcea335c947505296f814378e4183c1ac324dc1ca1cbd356544f12281465ffe831125b3451d0ad64ea98a924ad6602513c5f1dfe1be774bc06fff12fc3fdc98493ba5c7890e17250db2beb950740727f4455757841b540e8f11e25b82babc6bab714a63268c1d9313077f56e0c94075626e96e9cd1f2c7ec850f5e14245276acdd713ae1dcc2e9555c4e203c5a3fce8bd87f7b4c908aba366b370739d5ad7a7745cecdc6dfbeef75b94c3238423b9d36747419d3675bad4254a436807171aa73366ceca3c3b749124e73ccb5070b12f99316258c0890b23c4cd1d6ed34ce9b4d77fae6b6daf1f18b62f05bcac7551e392b6054dcb5916e8b7ae5953abb9a1c243e11f5515036b9492aa5e523163b3aae037e1e6628203d19897d9d9170f477320a650d48054e8678b300116bf06586031a46f206595854244428f862b072b54104401e564647ac2b2c1a03b19e09051a8c4a1040e22609f11064a5a15e8d9e06d0d48dd0d7a0ae0a3653721e4360083b585d4a11c7cc12bcac940827b50c9827265380112aef4eb28b832425f201e70160b577e9f38b8920f8b2bf71011f14a2da0933882931da3917c7fa9759ce814955914dc05074a4a2c780e2c3dbbcb5c59e78566225edbe8ced85b9b2680ed36cdecdf9e602fe89e8fc9e3472070ce2dc2071420c00cac898bc91392b2528e4d5965c294a136c01549d0fbfeac50fff959a10350f02dd9f4d8f51a0395e1c74640deac3aacb73626bbb9afb5a84599a00fff026740101fe7113ce06108e8acc81038dd4c2efd4719d66f6c751ca5bf342c4e10fe4ef629b9d2cdd8a34e73e8b431f25c1d00503d808887f1a7261c1a1e37c095512eafd33419002c4c4780bf37ae3430c6956c5c3971e0d806ece03284b970494ed16a142348a699e0c1ef8dcb627fe1f75ef0b75cffe587fbfea9d8fbbf30a1209cfdad99bfb6ab10e7bfb7dbdefbdeedb020222e3833ef857056a55887a40ce317ba0294fdedda40800235bc247e4a005f7f7816ae2071a499a7ef2a8b46d5c070341205e8d2b8528975c6261a8d1272275726131ca0a49cb564b34c50572bb80edc400df2a979e44aae3eb29dd8faab522f9d1d576ead29b522e8e123b2c0ccb0fc7811e59585c025dca7b9b22aec56525d71b441e594d59bb4310a645c29656606757283a68cc2aa616bd30c74a684a2e25fae7c72c17676c6e765d337f6ceb5f2f7afa02a58aee40190c2a804168ecd2200b3510014108e8863a1582c188da7f2e626018425432366074226e14a38189a232916422884620032001180005000213270b503cfaedcc095a3c392e5e84eb8f170775eb142413b6228847094fb1a4770a8cd2cb895a84f1c2582c9b73ef614cb5f818a65485da4ca7e8b7854f477e2a0f37d2b6bca10f2d927e21c49b539dfddc14e2f2214089e64dd53fc6f21d3dd3fc2a9e8fe4aed0972b4cb1ac3d57d59aef0e6293c9682a332224581688b180ede15f494df9f44a94b771873fe3579dec8e24d7730eae297f2b709b12d24e31863ddc1693dc918f37f3a98715a7c1ee749aed247db12417c4a1db7bf9ad8233abe2ac3e686a25cae3dcaffbaa7884fb5330a915fa8d5ba30c3658be01a77a4d03572d7a6867e07d4f2a692a2d51decbfc7546f1e411cb974b8c0c9ef1d9cf8d605cb094cb14bf791225886af1d626f161bc0707a575e624a6763f1a16a4d2837a3ef1d92b953b5a9bee63dedfa25813153910a00d99f5e7f4bb9f24d4397d861b3917a32e2d6418450ab0bb9ba3151a0b0828043232727fcfafe86ffd019772fa714c321e4f52ae0394c5a5f6fa5a80b632c27ac1d20677031e43e06a7995d8a9d200a75a83194b14eeace642b8c0590ed761d68e2a3e3b4afffd7fa11c6a3a0f8b28d2e4f2b3cd421b4f71324f09cc17aba6cc477a92565d113000a67f9c5a960ca8035f56499d9bb2a3140e56d3bc07abeb9a9175b9f56670210cb43a8ecbe6415ab956ac6ffc2c08b56c6a8a3126ed3765d9a3a989a1a64e68ce39cc62f6de934ce388f741ba13f21813cb58123887aacf25d8da8aee1477fc00df99c56abd91a09471fc9df4df2a749fe11df36b8b498eec0e6bb6332e0717253cb9b203d7cfe78d7f1937b6023fda1ffaff458521c07523e0cee07d22e7942be82d085c178335345e508e8fdfe6935ea514589b625ace454821f6a618a0edfc68dbc26b3736584c49eba8a559cd84813e4cc49c0e729978bdc2faeee8caa0673446b3b644b216df6bb1e2c27c97ea8e5936d340ae3d302636b585bfc69a42727524138f07fd4213244ea12492bfc2492c9c327c4aca1ba197a542d03e14deacb3c2777ad9ba39e2eddeb90b1b29d47e800a7a87c56f5ea8676473f76e291a46988a7980cf6208e4170977daab89904681c1d1e4e0fcdff02d404782b4604a7b778c0b3c740dc114d2408c3e8f42973c7bbf7479ec41ed00e9b455420e3689e95b2b69078f88a76d473a6287b68935301d0920d667b5c1cfbeb0e5e17eed17536651ba6a97950049b86e2a8c94bf7fa3a76cd67b18ed9f2f2045c6578f9eec539ef46a5ec48265040718c59c23c3e3e1e4ecf68f850916404fa4bc65f932b2c09dd2cfe6f3624d013d3ab0b862b6e111315d4bf9dde3e2673f199cbe60703417dfc428ac0c29bf1afd588c76dd87ecdee2c1fa9f5638a594b6272c069a85324984f3fb7a24f009ff09d00309d2191f6c2f4e1f7f877763fcff5fad5387fed3d161d54c7d1d6c77f78f25acece8786dff89b855c094e48394af98476f97ee26a86d863f7a72199907231404a5e830b60b700d534cf1d3e7d017d5b9fb40c536ea8853eeef34e8defe2dd61720aa8fc302d4410a55a9f6378dc9a2b0f9bc24a693003d2661e9307996d1e20570bc9c45ed9b6e728ab6e0aea2cb974755dc3de1b652db3be8a49aa84c3437fe096d58372bcff8bf3bb07c77d3252c29cb6529a8cb74578ab43228eec8e650338e98465dd4d6ca33ec6f9915d95302a1321d7a839ec8e80af5464f2944445b76488213e3b0224c808579b900b2301cf48306e5ed8988bb1e18374caf26f7ca98fbb66206ebb96c4cbfb822245c1ffcd3e4e96ed8771e41e69e15fe1276048fc692420dbba687f962d542e68446511c75ca7eaffe130aacbe3b60fee6284a94be7bfaee04a63f37638dc049dd7cb696ae20bb36cef398b3a5ee46b18e4530177eefb45666b772dedda4f0dcb1bd0b0a7b6d57514db9f1b8e497cc49b16e47bcff789b418c6cb898080a679be0f2cdb058d33ff2d20d1bf771edbbb71021923a98d832946f9b4a8fc6d226d097e84e0d4c651f19387bbe121c679f7e58f5bef2623d80c68a2a2eebc71f2d3e91c1483d59f6ca7eb78c56ccebffb59d583e302beb323874e6513f091fae2da561a504e2a7a5d638bfc4c70f06f1e2dc919df229ea2d89e77403cae57d778992aa6e893f3ff52b65c815c6a21db3f4b59284f828364fa5f8d457b489946da67d7c40362e3279adfb109b9d98a066ed852623ace16a1cbc962cfc4c3507c451c72a6d4f6fc4e3bf47249b84c3cfacf4bfa1b0ab494233788abbc117548cc29cd6b3058b50ade17110a3b785fac54ac81efd45459310d4d07ca767653b3a67e3f3f563ed27ca149045a2b06bc2123e1faf349687bf5d320b2b7ebbac29dadcac3f80c007e808d46c612c92f9da278602d2b8c669b44125535be5687b6b8cc69a9450309669e71db80051c0bc9f9aa5ba01e78d583d3d5749e72d6dd93d45c9a6dcc5dd9345c196c4614485ee87a9be312eeaf26e8b02afa5060e76c365cec57075260b4c0552d1d420d551c063fd750e5817acb286793f820550854e448d9791e0467f9f2610d5a819247318818543684559fb71523bc54e048f282b5b0fd449768d63f132c78335fbcd7ef3e542f2dc9fb2086839e679464cfd4c690ec3e36b77df8c0951d01e955e619a3612610ca4b84099d2e92ee386ccf48afbd7549f7340f1fc5bb180dc13e55ad9ff5818b5b1eb7ca69fbfb3977304fa1244c1eb46ce454691e4b85776a0b0739c1e89c0237318a76ca79ab286fda3220cabc19b188881104ce114f597fbe10a29edd0c551e83626a0f5aa1ff7e823382c116bd8d1c3e8a1bbbd105d0dfa87a64c950e200a443f4b07f5f65b4a590579680ee70e1f282ad7a9f6dfa77ec6ef427e548220b1d109ce6004882aa245a2b7c4c8443cc8daf365bf70275a786f068ca37211e69e502c69e23010fa8d9b0cc0cf2dadd06c776e2c7b87194d00ddf2c69c548cec93fd432754fa16d61329c0e418123a363e256e6bf40ac910feaebcac35c2b78e0d318b8955b313af3fc6e10dfee0fe0d7e921b2deb33cb57acae78dd424c3c891de1e92beebd9b0a01dda60ade695d6f28bbc9126cf72e53e929ef8135a13f978102b7b06fad6b7722afa065d4f2c4372b54c5cc349697449528ef117443f114299d393867977cec4471a93de7d41d61d78a19566158a75840f48f6d4f72d54042bebf8ba714bc8916193391a4d2df52f660238387f8e998a2a8e14ea8bcceac3daa23540bb660987ba17812bf52be0b5e489207817ef88ab6d2b5ecc25dc3d46007a544bf06f672a0abefdbcddbff93bd62b47af57bedd897c0cbb2c9d1c6004f075262b5341fe009cfee39fcb54c51460a86163f265612c69bf2eee8284bc228d35792796c31277a85e0448a4ff944d5a95bc0a165d0f1bba5a7674c993b0f52ffaa22c454253a25bd51a0bc332f8b854050661832e7444006275ed4eab826416b2db2fbc2dcb12bff29c8d95cbe0e30c91898caad8909e048583b8644e6949582385055aa37e90706d9d1172a6152a99c880e73dac62ade594e837d6fdd73939a623cd5e3f7fe310b2bfd5d32be0c91520280789ee3514539eb722be820a92caa29c87de39ec0218349b760d91dcb3274a61f350f8e6936d0adb6b9df9950166399498b9b7d58998fb15e6d4d6dd00284ac206d0f213a1d0bf2ef11081b79a8447ae63a3c3115894a5db822fcecfac41647fea80ce99523cdac13e19eb15ac55dd177601fa22303feaca86c10359c9468cd134958d5d089edc2c3c97ee46712f3987df228e1bc48a195eade778e163fd1b9bb51cdd06845f432455911d8bb6d9c3824d5febbe70b215ebba72ebc8ebee168aac74da3da0cf436f2a036c807008830e645fe42279582f3fcb697838b6ed10fcbcae00670c7ba89c0e3369772e1e1928e5a3bbc45a91c1ce733bd08438238b1621ae13fcff33d950bf5b6f486cc986d2d36daac64d8795bc6e1fb256f1b337bca96118460ff47c92473b4037bcccb3a8be23d7c31b099f16e856fb870a9b1e31dc0a62d64433f96874709fb8c7e69ce26c928c4565a159e48dd5e512a1fe6624ddd213861c34bc6364edae5d43fdf40630ab4052b759b434085e2bedd6ca99ae5d7fbc3c93a3878e5a3838e64a3446d73ec90d75acb788f58acf5141f3f70177451c040774015cfaae2912e4e8022268577cf81741c07e1113bd154edd61d4b73b61c3f420d2ec5ad0991be739aecf3fdd0108b8994d85b81a5ce0d383bf1c7cd4ff4babdbec4f856e22d610fdcf9ee246700001a87d28a7ee8434fa5f836f45e15ab962abe320d25df0057ed0cec951c481865ed7ec75c3785f03921f5fe34a58aed9448a43ef09007d2dc57978279a00dac4519a721ee972e5fa8a6be4623ee2faefd6fcaaf45e1721dc82f3a381b8f8b976960ee7053c73485ec6bf0d2bf8f4e1da0f92b13848f20c38875335cf4ec17e5b66d18a05e9f958b35aac7d72ecda28316d023154963afb25ebcbdf99c8e50fa18fb5666743e73d26fe790c6239ed55c2163c67b2531c933d720db39bed033356c854963a37da123ac2f8b962a6f16ffd216bda60ce67e091f6705e2aca4f84375d6abe4c0b552449a084e459ead0e3e7ed03eb8267726e336d4e4f68fb7322d9c87e904f7380800417b35f369e8320378c7b9eeb29f08b7cf2a899a8bd985d5c4e548150110fcef28851d06398e46393b045280d965022c1fc0397667d8dc6f7582ca5e40f1bb650a523400e524fc7844fe38a2b749cd6dfab635624a9dea75f26eb3904da2e1228381f05ee7f45c94eff5d79c61cd1feec8de9b7ed44cd4bc54db2a5b9094220044e88e3993e11bd449d63f46ba053d4cb6a60701c5687f4784b54e51e75f0d397c1bde91abe9e8d046cc59a8289849be2d49d0fa843a3a603673fa970885a74a320194389ec8b8dc8ef8f074517d19558169b3771fb81f5cecbacdd15b27e4d938f8f4e72ec321880cceae55ecf2dfa0d6c499b079f09ca0e4dc529b06105e563f21f8f8df0bbe4e77ea1f790182cae6b505ce13161a1a816bcaf1a016e2f8c1eecbb8248fff142a816242be26f288e873be51f1385c04d40da0d66088968a082bd37aed99d6e5d17faceb591d6624ad6701394659705de67195927c84a7809ce61cd03c19c2da6d34dcfa710cfc2bbdb2b3b674eef7a7ea5a2742ee2c117e3761b5a908203db63a55df6bb6e12620b3806a65a667deaec187d9977a37f2d8b2f16d303ed8e920224eb7b1b69baa7be1ec45a592b1c2d305759318b79d5bf72325c55b446e4d554035d39ffe094b6d9eb9fec0cfceefdbec14531843003f93b525b840492d30403e3e3d9b2c9f6b89a8d9b2236cab96b710a1e178180d559633cb01bdd381e5f00cd9ea064ec2f8c0a62d7f921b69c2b785dfd41e3d9c1e81390297df0fe5e4d2211b2bf527c6a3e91b37fdaeb1cdb0bc3db0102ce5450807f36c109f84d6bbe064abef7527ce8972cde1f8cb3eac2110f8cf71d09c070ff79ecfab7353e7289a7b95262dfc4e93b3da55c70505c925991b1662ceb60c86e24fe74330142680bbb3f1d905881dcda2a616b14665a8d687105bcd26a2187520914391fbdacd1f59f00a0068279ad9e91fd9c91c22f81fa5e1cd88b6c94c1b542f8f41e0ba7ffd34253b685a0fe2d773c6fc2b0d2acf0120ab030e6af1f6103cb0ace5bfd4a2e014bb4a9e82372581d7f7ee92c7cf7cfd4f60ec693a3b3df29cef915e564121098a084fbf418cc812f09958e72a7b3ad200d80e9460454a3c4e2230fd573c8e35b150fcf616abb0f3760931faa72795f75e9881df1b91f34ee6e625b9baf8cdbc05c0177e1b4814b1f041b83b9fcb3e8b71d4f261a33143ad516aee22e855c01c506e6d46b7f0110a480931e1954ff61f14fccff825963667a581507d5daba12defa972bf76c303068017c4993e0705d22aa0d73a707a9fd7d7db7ef84f1fc86baee1f9cbaf9d1480a9052abd2bcb2182a2cd4de6b88e9efa8d7724ace0da591b5063fe74299cd62bf650dbd50f730ed9f1ad8e0766ba89e80cd1ac7b65b547c9351eff4e2ee8f168b6f16c2dabe1b449c0a8069e0403417dc01881bb8f722f9fc9aaba3b7fe5044c5bbca8350f966190fb71d53a25c0f62af453368ffbd729a4b843dd892629674770b9b83ca68256b56e2f8cac18105670161435b8e9c409dcc1247123743113052c555de1f98b49d7597058342b9906a86b06bff55f43687672edcde9aac82324bf666a7f1e610aeb425f52fd1a44661bd5f5e0a8c83815aaf3896dde4c2353aad682ecccf34954a347d1fd7b3ffa8fb5aa68a78e8f49d797caafb3de1508ecd0ee5e48fe3d1d5cb1dd23eb357385735a6b6def47e01105fb5262010ef07fffbfda82d2b13aad2d46f90966107f11eb715d5e730565161e4470608defd1ec36008d4f2fbfe69553445077a0a5e4f00f59f53c1a47928042fe2aedb528fa4d8c45aa606c4b4b50003debc26b9801ba3c5e91bf2390f2ea4a8d690084960fe930320ac6f4ceccc0192b4c33d382e49d9f6339edbf076771f0ff3d16adee2556f5501bb3b580ef034f6f44abda39bc3972c96c2a3bed20c50dbb07e37f2db8bd0e207ef464671a92610424d132a028c758e0be6496356c4b689711c1be1850c42478fb436907e84d0b1496f5fa597017518090153f06bce55cc1d33cac710e2b5a787dc96a50117e2154e062a4efd659796638b05d173bf51028f2b2293bd819e9bd83e861417fde2056a2150b4a14f6f7aa9f764fb1727a7de580e5924527bb7e29f391de41a159b0791e322ad00e646eb9ceda132d442ca04bccf161e26e9316338386842624476b0f5495895cb29933f79def47e9f733a788014453385a3d321a040fbf72756bc993ffe0e4777d933fdee0ff2e3c38d7c99632f06326bbb280663b548c73792d2315a9d91a8672898e3b9afc3e4e297c365e2cbf655edc962da1e94f86ec8cc43561a759075eafa5336ad320629e5d63723e2cc81928351e63ba3fd93d9695c08f3efc6f513e18be77c245b60eaba626c2115b7b22d39e1f4ff757c902bc7b37db2632a1784a790048ae64e06a6e8ff7b0626f0b73654385093dee12f367a8e630418856b493051a8404df6d917292e59b48e6a479fa33cde165d87c13b6eafc201192ac15acfbd8e6cc9ed39f9516cc769ee450528c43da3b838a6f83e95561d9e68c1c36b37412c3f891a60b6e2e6fc945861c8e3a9833408524c39c822b799f8e44a95145c7866fdfbbc8dda4b54a3bb0c4961b0c1f448a015acbbe6c1f303fd6ffe19decfab5da46f49b437fb9359b9834d3c2edba9fecb5c4498bcca3a5cd758da63507f4225e0d710354d5160efd7156bb2cf24127ef5b4fa7bd5dc7f2cb170e513f56ef76c529ed6327e4b676e7155b440364b433e2d896622bc1edb35a82055771329c953313a56b802a9c6af93bd8635f920ce3157e285ccf212a74c5d2401b6c17eadc3e8535b52a96d616d9d5dc32145aee9fb999f654a8698bdadb0b05bb0ba214de12d1ae2ae536ea4a9b1b75b525f9490d20de366b4c5316985e99e38810f519a6b1bec93bc57a15edaf93df1232df8e44fd53c7798f4e7f18173b10a8f6e81c3e32ca55cc21f35fa689d7945949d39a39aa8b3aaca8eb7d7fd4472e5b3e12691b9f4545ff753258efe53b38bfb2a1441647ef9dbbaf0766aef730aa25021bc5372b96ca46dfdc33f00ebf9f7a91b1d037f3c7b3d0bda422356e0b13f6ee4bbcca1653a4143e22ef41f230dd591175025716847b49613922b08716867c037d27138490df05801cbf89dd21f6476263ae11a40fded2223bcba6996bb611a36b9aae21e69b365b7ea1d9bca59e66cbdbc0223534d728baba70adc76d64817bdf652c3287308ec983a7e50f0bfb592856288e5763cc4e25f5a656ad9267455a25ed8eed192a442a0b3b9fb4c04fe4401a9da77e50c917871a7b1caa2910411c5fcd6839e0ad31bfa299fdd9bd68e721d2c81803baced586357f69afd911a60bf23e05f7fc85e9f0364b07214478c0824338f0c2565a84206431ff282ef770deffca071c3b251863eda24bcaadc0c075a3155410bf351b44d2c920a09fda949746afb55b54982014980074976bacc7176ce122b2a4a0f12bb748ffd702fe700a3e2b0e85dd802c607156af3e197496b1fad47290c3d484d5332fb7896b7de3073186c3501fdf7cf095cd66328ddbf92e0abf768261db40e7ac86a734bfd922c6d9ad3a91424e2e6c1c956ef262907b656cc04e349f4422b447cb0d14da54b0897ecf3e2672be4df327fbff2ff9417c4a6a7ba61c6c1b96a8e51a03ce3348d7d7f96d9dce24c86a4cc55b6ffc938cee85825aabfb7f742d0f520ce38b90c34867f5ff8d733b958ec342ccc86047afadff8edff33e5d481cb8b6ee853d70bb533fcd7fcb79e8ef6cdaa3ff19ec51a1fa5cc4736796fcb998dee60f143d158b9162be7d47d347d95ae95b5c5ddd0175f135fe24fa22240a857cfd934bcf6cfd98a0bdf07dc1fdc057a6133733f0e14aaa80e856784bbcfca0bbc84632ba4604fd761d8f513fe4b84bcc8ea32d0e5a27ae155bd39f53fdaed8067f908d62c74bb2806693d7a57bd7ed82e0edd4ee71a6abd66b1768391e57fa765ecb94dbb1d55d383573c8229c9f7381b0e63ad06b765720d74dcc6225117d9cef56cf71761cb8cbbb49b1dcbc99ecdda9abccc84930df6190ec3e37630214bdb84e0eddc07170e46679174f567d6dbfe3f7502dd8cb1a3e3efae30723b9abbe53eae629d06c542909cc34d2ead7b7ffaede63d5f56839eb6e22ed045985fe1f755cbfa84a6cf2c8e5c93ac075cd36989d553fb491d496a1f021914834a1c7fb4f0a056aec485feeb02ec78a45886c145e3555b2b4933cc2de30a364961b5f356282f12f96345885bf4b5b2e86f7cf49acad794d3f8ff114a135b4933dacdf27b7035819641eec8eb3f3dae50d4f7969f6497bdaf646a0dc5df752ed5d54458ef73a7d4c9d3a965ff34372b6bb0d669a7b5f837ae9485152bb536d17c1ca3ff2b2287d5adf6bf1f81de37215f98f2c59fe95fa9f7620e1dde01ca4d232d8b757f610e62993976952dadfc8fdb6ba7075879a7f53d704fb0e2502b9f9edf6224c50bb588ff81945b07ac5a6de00d4bea4dd68c65defb48f10b325174961e8bc14fe381088cb48aadb91f63d26a52692107c6bf9c6a3e29a75ee0a7f478c5bf906367a6955386fe6a179d243a432da89dfbf09df8aed4c208b0f191391d0575fc9cc1deace8b9c5a464cdb2461cffc3dd92b6087c2edd428caff20aa878130d88b5b591fc6375d480ba64d28349eaa4cd06ff3cb4af6d95cc38f202b632c8acf26e630e4f097cedb77dce01b45ecb726e377ea6ecf8b93a34ed291b45c91df2996ce9f26aa9c70c9c8f8916dfbb7b77ad56a8ed7812df248e0e573cfb2b0f8d30f99931f4a1650ea5831cfdb033ffb7e057f336342fcdc5b235464b005a5c89f3642575f584169a500e3b0e5bdfcf2d8ae0631e6d756f93a03b081cc785c65d104b6621b727384675defe7227786f3de1cd8564cf0649b55afe919c3ddc5e0a226ebd911efd437a308ad1d998f8a667a1b1bbcc10f4562a8eb5d81bce152080f06e340a1082b8da5d5a1194f17949d58f9754dad29076d58ac6723242b7d5be988b473efff2c484ed89042cf703a3fad7720cc7f7fbd3f985e5191c74fc41a9f5c144291208b197d0f4f902ab81be7d3ee95a278f5baaff4f26f621ce0268f23f31f25f257d36ec45c19f0028d87e83023a87694bc359396574faf582be009f20e9fed0de85b1d3b1fe8e3a9b5b03dd8353cdab7921b41dd0094607bf96c9f285d63d1301c2dc7a3de038285aa917a249ac0330edbc2ffd188a56dbdaf764c9aa846aeea9ed8b88b85296b0f82e27cc3d62525d112defae4cd98f059bd44e1b709cf388f610e5475178b2511600a1d39c2e48ae1fcc8cf77568afd74057fd73c628b74cabb4797b83f7ab46056bbfeb07bb1bb6e1310c272de47860046efffd725efb2c587ce901a43f92f23833c9b2d79822fea6e46cb3b74e1416021727e010fd0ec619f30bcb9943012aa603fd7c3f842e8ec2b84e797359379ae29d07764e21dcbe4a6e08baf37cdc325c2367f98f4c169cc1eabdf61ea1d2b130c0950ca84b691fe0fc0a77346ff6e959858aba75d04deb89d3511c7a032c70ceb290add3e2fefc3dfbaa9d1d358157de3d42bdcf0a484f3b6fd1fb7fb91b97b0e6aa78bffea9bfd01e5dccba87395953abfaa01133ec0d8324f838bb6fb56ca85991e76adafa61767c6765dcdd2baef8ad623c82d7ec1db927641fddfaca4f7aa465975bb03fc21fe8d2d433ec5891967542b32cdde38b1f8e5d4139f178d3c36007ee72b34566d14ce7b69950a9988511e3c826a38349e66350b9e26171e8222c3405bd62b080f6f80cebadef96463eeff7f83a0e212c5f9ed6834bdfb6e2f12805464d9e13046b4032a7bdb01e6c1c668339dfcaf7f3116100b10b65fede0d9af6a2f202290021f9716975d14795ccf0855aaaed61501dbab8e7610dc8dcd32fa8f003303e3c06f996c2bcd98a5f9fb75f5da3205ab4d1d57412e445b903b9fb1a44ab35ad14839c2e0608cf506c68aac35547cb129abd86f34070aa7d5edeb2ae5adc2693e54ecd97066b122b7ac31801e12227a5814720aaf00ee90f4c4745ed6e80879f5155fa3f4b1515e403f4998fe6621c9b58015538c31ed329ce7c6f5c8bc1231a5ba905159f2df60037a59ad98833b3812d9446bcc3a4912230bcd5fe9ec8d369bf03383c46c1549325ca713cff0c39e47b8525aa4ea0a1a097355337c03b0b22e9d4bc0f7dfd843b0afedafc572a8ec3e7c317686029be8fc1acf151a58b9726d01dc90a389e61bcdc273d772a3dfc47dbb57b073a21ec66791f76923d1539b31f1fa0963823e14b952d3075800df9e5cd2027b678f9fcc2fa63a791015d96fe390ba072513c5eaafd90c4f9875c70adcf4e9ee8dbb53b8ecb8c7d266f482c7b1696eaa8427c72503cb5469205737eb4757962fc5af2b0f7ce803efbad3513507b527ecf62a01fe00236ec3024b6a85f297fd6a0226740c81782cffc730a3dc771d35d9221a5cd32b7947426d52da5d4ef7f2c424a37be8e907c9dc4330ed47596db939ee956b22715a156c83211f73d39ef989007d79f01d94598137043a46e8c11185cf714e930e7e0ac845a4133008333a26922cabb6d3cdb3c6b9fe59d271f661c250b7a1c54becec63427956911c7d96e5688291be9b13dac48ba7f156be07d604070691db75b32868cca8039a0350d410c04d5f8602b6c614041e88d4be32a4ad1174f4d545691ee40dcb92e8f172d2e3ff2cd927db249284d3debadf5e391c1631beb8f1369aca363e133f0a3f50f401cbbe999707680fffd4f6334ae31ac80c8d224e0a86a3aed4f0346995872db1139c5bd12d59da30dddfd0061665ea4d6ca0b8cc89867911de5b8b37f2b10d9a57ece13f9c7fb57666f8e0d21196da56d11bf166b3f5f96312e61cf801bf88077d4e0b71c1dad9d5a901b9529f960a7eac894105703e22a8d35fc3f62856bbc9aa3b55a2f982f6de58dddeb2563b8aa34398169cf819a8bf4c3d4fcfb2f692d6f6d8f90b3cc67e9adbc157eccec41bc69ecc794a5385890017c2b194dd847e8651bc9910735a893e0d9b88c82067653f2fdffddb5e7431c4ac1ff5bad47f3c2a28896c9c369a2d28d909fa2bfdf463f922b6aa8bde536e768dc460f96b5d4809fdc6e93bc73f163bac7b35c8f4f58ec7907929fd59e8f00322f55e7a104feebb079fa16e187c537ae22d82fbb24b6e42e68950dae17077f328939ea743adf538c8039ca8a750f6a18cf7772f08b785bf37f7a6f8e1d34ff0ea1d0a4a9c5dcd3510b7f4e7917e2b83122ae95114bf6ccfa70fae61ba81b2038200b130a707566e291898f035b1686d26d6ee386b0c4661c16dfbe1bb35bd5b8602c94bf5fd24edf3204602fcced78140ed2a317455ef83eafbb844b1514ea4b3b633153260b675317e7a9b3f0909dbf1f4f7d18f451af96a34a4cbd6f8a3acf518b5d1e944887baaedf717620d4b1a72fbacbe690a45397e492ba0a1bbc9994fa139aa80bdbb702c7e7a4504230a8323ee273fe9c59bcdd41cfff8be6241ee5a3b42c137bd79ca4054bf3979a93c026de2299a8dd0829091a21364f53328d15b6e6d94ed8f21b663e2638471ca6caf98582249f6d7cf1b299e585bf694386e64afc8486acd6bc2581ad41e9127e07b7941e360d137188b69353e6e6db904bfe31089cd2b5a5a001a24bc805971da33f0f113b941f510f1e974473b846660ebf31e42c2c86e641719a09030d787b3126d1eb7a3c4325ed9958bea6156f10e0e5ce4b79e395832363dc70d7960bc5b67ee1ec2f3c973083a197ef2edbe418c52f07f3e45178bd934543df230a61bfc487138fc3ce1c2f3049c3e7727783da8248562e268317b56928e6a01215681d832a48478573f69b6b4f0ff380e71ad137b92cc5a76c6b75e05e356f97598ffc412c4f553963c8f000f8070a62f0a6939fff45f6d95c3f7e08edc65063d6a18589ae01a876732df521252f722493951cc1bc797dc3c21999f55a90c4836ef6336c39f2c14c434ed203dddaeb710538d058c7a96811d25d6d831897e6632be489a3f66655130dbc5cf2db252b8583975bcadc66d66bb46bd163b9e0f44e49d8266801b5aef62dec1286fd341c58278d4d641b44f5323f64bbb876287e65c381ba9efd3bb799468849e045ecb9d8c3075e81924ce4a989c8fc9cc4eed661f2496da71408f66e48c46fd5c3370ccacf5a403166413d592bf2615bae041bb1df57804613ce9151cf61ae2e5b00bb8cc36cfc2fbacbb0fd72af4d8ccb5a87c9a5a9195bca9ac9fd34baf1ec487ebef1297cda0e95b90031a00cc63fc296f1263f262133bc8e1335a026564c42f6b419de3a966fb5b97f715fac853a3eaf4c7a33bfc2c17bc97d1ec66ff12bcf15bf8a682d3048efcab5d93ac5f190aacd82010b5f6cb630408d3cfa26c2a46dd21932fd99bb4ff6c1fbd741364037c465ba1d678ecafdbbff473b8b5e8c9ba72fe5b167854702dc3ff6725c5a8e84a84284145a855ebaca1396a1ab14829d89a1f53f1285bbceb770a0948681f19d103a8e3155ae61d1118f004992217c44df824b950a2373834fc4de88a05a4a66a586b83763d6030cf4792e2b26f2362534a128cbfba51d498a44159d862e4279bb8fbc6cf07aac40e5a58142f8d2775309fa097235140599ca541692111a1be8cdd1e0d468ea310d228405666921ca294776ff075ab4b838875645946c59863f3753dda0067ce43bdbc929f2aff5976574640bb73093bc8867e29e85dbb158819c9f325113d7380db7cc00ee9eaedb314101c81c0734d427371733ec5fac13ea54c8c917d545a16c67edfd1caeffdefe1732727932ccde6ed34beae6d7659f66414e7e1afd5f64b6620784fe351279bf1117f184d26018a9e140d7f203fb2eee4f5b8f725d832343917640a489b0603bbebe75c97cf55f7f985eaa3186ab7ec69a132b37afd1c592f3048a9a76107dbc1c0cf6cf99e319d7f3c435692b88b1b1fd8750ff41493ba09a759cd5e892b2d93a0b1391101a739b7717c360d7772f4defeedfcf8cfd640de5969a0c191e25eadadfd323ae3a4fb2dee2287bbf5b7ad9e3029f0be8999855098cd878e596fb3b30acaf8e0733160bf77b6587487ccbe4ffc313b3d669e56cab486aa0cdd01f885600283d758cbfa606e598438f1667068a5ce3a26dd98335eb6934c6d4e4770f6d7079af82c34b14b3750eec23a43a9665b4139d41f8d518f73620ca3535ced9c509e221bc9f766dcaf7606002abc48963e632146f1b566ca910a8a8ee4e3a284688ce4c25d65ef0f94bbdd9b3bd11687219ac4f701aef78de3f85383fec4a870c3a2c22141e37dbf1bee0d3ecbad0c210a1f9c2af1d65a6812217978319edd69ad6947ec04720cfe23812b8af6c43d2e7fd7ad9bc3cc4e42237a5fc9aa71a1f80576a18c032c5649cecf472140248d4330d3a4e926598c339cc91289dbc112a6495c6f520b178988cad172f413670a54e1a98a18de84dbb04d45c018cb9c905df35acb31032998f55a1620a27da4aeabe16807dd4c9f4e2599b9404c7310cc198babeb97eb45d959a270ee87819769c0040990d64645f813f3a50bbc3849fecc1ed953b4ccc5f4051fe5a6a21c84349eb9382f8de72557f85ae4ea0954312ff9e5b00588bba9e3dcada3da2bac366eb42afc52397bcd67ebf33d19bc3d9ad5427e4b6c9702c68c30c084660e9930e0829875476aeaf68dbc01d58b2c72f42dd0ad68f682457c08c2cf9b00b9e9d89e61bde9b83820127ba630934b5c3595a7fb53e06d738cb45d2a930c14149621cffa51e94d68a2ed4bcb30c29b96f61a03c0eb155a88344631eb9a65beb7f8c2c3d4129fd19025cd22e9326420d1e27cdd2983780b780fff049d342c3ac82509aa7b14954fe5a0e726eff4e1d5f7eda0039974a1770bfd063ba5b4ef124c8bffac497fc37bc3c83ecab926f5b99a0b76e4effd381d1c1134724836b66d72b751a865d11f63a07b998504d3cf5401aa7e33ea1d853267fc2ebde168b05f5a84783d93480b27b392f0e35c5bcbeb96a859934abb06c704065c2e56e572bf9fc5bbe43071369fd4e2b6894eb01e49b361898e9ce933a10f3d55f813257c59d25fbe97d660dcec7ebeaeb60b18d465b371760345a7b800febbbf2e1a6e34d3c2ff37c2035ffd91d9fdbdb9a6b7080655b2ee6a20aa31786e113c3c5fcd13ac27919c7c32c66ce07768518524a0a7ca9306bc5779472e9757e0afd6f2cbd10564ce2c79d203fefcefb2106b8d6c17292306a60d8eab0763abee091cf89e54b886ad9e15f092f3d8a7739c07b2742094b72fb757fbc0959b10e66e102184d9aea23fc6ff4ed5ef4c7aff2d9a9989685601de0c4c3033299ce29b216614ffa89f824adbb76e0f392eeb5f31956f5c459be9a46a69adfd81e53ea062db9eb68850b3dde0b5bdb8b12d477f48f2e2553af89ad38fbb347648e2ee976424c3c83cbed92a85a2c8e27aa2e4f5d0e68e077bd889e6243df8bb43f662f600773d28a037862853fa078a96888aa51a3662b4b3a1a8c7900f733ff51d07b8467603ca533a56d3a6c5628c4524e57ed62d4e84eeeefd31ec2e36433c29d536b7efd6e63c3403ef86ef4803bc2f03d9069e1a457feea6c894cea72ad1d166469f169be34a6a0deef0fe308c0264de86c6805e07050c63ce2358b9dde9ed99e948ea303277ea1e6b420a657b0631e7d410845096a1496a4ef25838d24ec055960ab51ed1be964a40b5f9898cc26aba4071877a0015cc602cc3003c465728b5518f85516561800033cd8dfec18571873976236e04f6b9be18c5818e2e385591820830153b120e4595a18c9e5e6a2e7062000425c700f73e8e9eaebecedeeef9603f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff0007010203040705060708090a010b0c0d0e0f10111290d73e0d5743de5465cd1df8b9362a2f0150c87832ec9725107b573c1742392f120e1f39627940ff7805511e643c286572c94330245d6f78ed8c6889a07fbc82280f0a506d20b3251a0803740b660d59a2f4a3296b052e6b4afd0e0fe8038c14fc5c1b9597c86b691549914915f9ba182a4d316b59e7ffe0f5050a28701e694f3f35967de534c1f6c96428789ce30b543264205b01f6301161dbbfd1aa01972a38c717a8046d21413cb0755d3445d165fe708e2f50098c227368d069e85f0462475fe5406a7cb6a64c51d0af9d3ab5c2151bcae982fb812f7a76b706914d6a9e6e781a76810fe93187af44c79272c290c2b9e2b8b92ee11466cd79d8023f50a076ef1280d768051f21d060623da3ab5b56944d681d303ed2d4bf658c5bed350e6d7d1afbcc6547b92995a394ba0daed07a2420be08220a5a1336c6731f0bfa0e07a51d3213842f8e9363ce8e444255990a225f87e80a3d651db7841e1a0205ec60e71fe4a567ef9fef99d4bbf37ffae70564b41aa6f94ef0317c13e0a5477bf49eae66a0ac9f610316906ec8f1a0928e20d7059d76a5ca53cbcb5a9b50dd3c034f68c5661a41930c82f26a662276bf89f33467e1c850f2fb8ef687fe43d62276520b48452969f6ddf263b664de0adb0c729d0e0ad3b0e5f3cb636c541bc9022a6618289af7ae8621981ffab34591e7a6486e12745dfa3fd3b0f7e6a3994c7b5b38757d0de00a0c739e7d7984ef4bc01161bd61e198b7c01b618425c16bb5bd5ffcd5f87a6fd5707a25122a01b4dac0a8482259df7d42a9a096606df1320df08d669a10892119453e9feb4e3f1ee8e028916cc3240022920ad643846fbdbee81668bf52c482630a8d1511f2edd14f34127a7d7082219cccf7fd4c6ecdb535f80df6f8fe475130d21165446a02fb1dbce3a7bf36412e5d98f4f0473aed9252f34903a90c2bb6d3b7000020f6152fe2e5002fa970fd1f42aafb6c8edda8dacc2ea77e92ef83665b39d7a565e11bf8d18d41d45a8011601c339e57a8ea88c8ff7bba6fb235f57244230589523271c27b8a490922ffd7dccc83b044feaf22273c1dc735d2644c1ab2c63a3ad8d40ad70d4b260969e3abfe6d7e6665f50dc9f6365c9d2ae1b68fbd84333e31486c08e6153d9a1415b2e7e71b413702b7d64e9b631184a1a8e61ffacafaf546283dc92d14d7cc70ea0151a5dd81fdf73ff5a2951f2b6037244f3421b310c68646e99cdbf4963e02067601f57756b072a4b19431448c186e2c57f81fd311c1ab53813c6817fe67f8947f8d39258252663b3384ab4195494d039d065fe4f9234f0a4f13cc3ae585f2691e9c25afa469618abb6645111f607a5338f3c2f38f6d47f161e98c697bbe3ca0e47c033460afda0dda314ab4222a0404ba0898c1964196474c0be08d364cdf4e9e1d47088287f5235f70b0590dfe1704764186bc30fd5a02477f19948dc723d6d57ab174debd4f80ed6038ec960bfe2136be9069cdb4a8a07ecd51f257875150f0a8a1be44a10d9d98dabf10a030aef4882d72965e642677583b333b2d173ac94b5fd6c405c76184bb14293be748a13b821271c99c958b9220f1771d9f5e29af969edfa865631dba31e1ab7bc0582b752496f28d887d84705c6dae98aee8bf90fc5ad10bb5545eca1de6b68425b70f7c0307d29bbf6a5c4061c2157b44fda33b7bb4ec52a5a0305668c74688cedf288d5802a2d8cfcf75dda85fafc04ace3bcb73160034ed1964c43098fb1fe831de1b1690cab33f0bb501727faa8319f0845faef7d31008f178b65054b6629fe531b7727c94715e5dd8ab54221b1b6b2bfa5666f593f28a92a18e280525d808136c878e33b83c20324238d22240f735457b6fba544b383e70bb62a27b57380c816a8570b9c6408e54bacf123cc2bb1b0f087f9c149147d0005badba63a5a4ac0116c69ea8d595e80b6736f44be1eaeeef2ac9c04a803cc4fd944364cb0d617a33306ac5c772fe858942f92b6e28bd82fb7dd8cdd25f9a4626c1b0eee075fcb53102fb0330356e63a35dd930bc74525edf28b3bf5eb44aab9e9e4962c8309aaba6a602ea6bfa8b23b92fe4b5db1063a1f9475e3acd0ab61e6b4f454ed6ba00b5f864d4ffc4c05b47d1115ad200f7f86e307b20b46c50e1b72a912ec4f6f7db46b616bab3cccdcc34401e9b3971b96a662686cf755aa869a5c4b762199ce531b12c5bd9c056c98ca0e6b4eb7f5c58c007c1db7be0fe1f3776108f797dd4990d1ccc331efc23c0b51ad609ab670ecf45807e31acbd8e7e5cb7c07cf49ee42992d2867c4c64d3f06d28adeb36a892fdaccecace150bec891f04694448a60b74fa469c22160ea09c5717270e958a3da42673fa011613a9539b2e4ebcad8626bc117ca04a020019a8bb188f8145d02fa855e9c36e9914457d37c500e03634b5223aa570247462145d721967bd88622d08625f0f5681463c0f1b8bcd97eb3c2c53f7660fd513720537e2c1c554654d73b3889c3ef4c3c2f95a65dd3f7c185ebe4afebed783724bea0b37e0cce9bddd80835fa2bfd5606f5dcfb8388bbb10b10c483f0856cf14042f07fc5268f13c026bbe199d63e6ac77a0c2a780f71cda05cee5a6f1b3f11ffab485e87ed1537d089df521edf983a777c57065a702d7ed2b6a2926f31da74f64d59feddb3d00316a55906953fb3db8985797472bd2e6c7ea1ab730cc339d7f033f1a6d47fe86f88934e4b83b9fae903b92b5dcf4fec97d5e3e8bf4f39df036858062e9c21f1d92926103119f7e8153cebdb1e5ab3e52d6f395be80bb193eab47da6b2df18f0f9001a6dcf1d301b92534fe9b1f3ccfa10c49449fee93adaa83494ee66173993dd0db5d628c4c9cb61a27b76611ad3c3925947f0d0011ee2c5dccd822d4088b20dca29a580a577a97d6f024bb24c9550bebdfd7d2d18e946a1c7d481538f8c2c011a76d7d57db11c2789a5e83b0f9680dc6d26211d2f9c021ae4c4e262811acdfe94528bfc3c65036080426a0e1301b9ada8d687a70ffcae99c26025e84e95ed043e387ddb8668176b42f8e2773ddd84f7f58a6d9bf436a4b5279860000aa0141426f624368446e655feb365873180022c0301307143100e9742c0101010203200465050607080009131b4cd47a38d756646d7b838d97a4acb9c2cbda10090a0d0d0f0b12050d0b11160c1a0f1821a0abb6bed0e8edfb08d91f2a38495f697588929ea3bddbea02da273450688096162f4966798894afc00f1d0f1b1128e71700405673921f25141b232b363f4b5678ec8f9c500b00ed0b160520ee43505617060d0f130a070711a0a9b6bfcbd3e1f0ff12f41d2737434d575e69747c848e969ba2abb5bdccdbecf3c0cadfe8001518606e8396a8b5ccd7e3f1040e130d0b13ec081420303e4a5f545d717e1c140b1011061d1614110d08e8fcfa02fd16202f3d4d5a6b797f87a4bac7dbe7f717242e3a4aecfc0bff2d3f5467728093a2101218333c48060807fc01232d364456646e77829099a4b00a0e18283e5167737e8e99a5131003242c303a475259636c7c040b0c10380418485f71101705d4e7f60e05131498a8b510700b818a9aa0b2cad50b060bb8cde61519dcebf8050f273648610f19e8f50610222e103e48535e0c0ad4e5fa041112150e283844541013ccddeeff1013260a191808160b119cadc6e1f90814192d3a455b66768291a3afc0d27015788798a5b2bac9d40da0641c067b858f9da70d070ef701201932284154771923151b1e261c1c211c1a0c8422b8d3f61423567591adceec082442637d9ca8a825c3d9f011263b516216171816848da309405d748d9fb1c0d31d19101254417b90a81818bcc5e11c06f04e4f1824303641515e09511d242a373d495a6a1419d84388a1afbc15131a2013fb10443245536d8da2bacde60a0d0f141e2022642f8b78618c1849526177337f32306eb48ec475398f8e6e907903334b9193187d6f5f202f946f0b309554166c44961880967328292c7464602b202e2829506e6160283136412c603638c51488d92a1aa7137b03bfb50efc1761691714b0607d62af0a3b3b0ad2c5d55c58692041793b4973506020494d504f5254414e543a20602a2a40412b9f187dfa500da118006517506e945f683704a23737d621a32844420708434445464748494a184c4d4e64a4182d615065474f075024527765620f001ca75b737220603429ab545520412e49548c6f042c606b696960507360495046532973204d6473696e772f766f416d3a2e545556745607574d36b518103e44dd5b6c48b61878158f0a8b535a12f06354adb7f4496964315563722e20646060416e282a6222702229602e596f6465732e2c652e6e612e565a005b70790020a20402d8c212602e2c00e1c528299308911a9cc645c7185d5e074c085f0760076107016207630743416458316566676869076a076b076c6d6e6f07700771b07273a0747507c07677077807790700a7cd18077b072ca647ce183169cf6a0ad8771c73355579118013034e9c38319eb5c817b3c38c77c7db315f80dc64dd9ef0486d6e454678de1823400d0630335c225c5c5c625c665c6e5c725c7443dfa199070038da18bb1ce02ce0a1be200052e1181d05e2180b220e35525e0a727b880ffa0616e3181e24340b3f4a10549acde418a7e5e645157818a60242792860292c2e99ec18a40c9b079c9d21ee187500a1ef5d30f0509e07566961732c203e483c626546547573616c293e3e7206f46941733c7dccf5434146524446f618b0299f07820324f7a007865c256d2a2e39e83939cef818390cf9184f6c6469a1076573f7fa2cfb183364210017fc1879db110542614c76342d732b20442774602d50005f00a6011902192843417452736544666f5369477365644c546f416473735241744f665253736f5350537700ef0919ff500a1958a4799c1501190019a5e82b5410a6ee003b8c3d485500e41ba76c50480c1900205900801e5fb8640019e2200230054103686e0484000a2c080d19005bc2300e8164162a1a06dc21907200280f19a874102e039c1e165273f4112800601035043b076a00b410d80e8b0311a91f04900faa3cc81cabac4708001c1219ad505812aeafb661312b00141319950e0612e70798830600cc2f17141419001543442ab0d79ea8451d5203e28090732cf05c414e16ee020902459815861e881489217f16198d042c4416632496ba0216b1c919000b54b2e04c20574a6d073d2a460254f8b456795f870577615f6c18190048b41869f0187346193a3a00601f2d2d204128412c27502e44000d1e194e6688583618f8110f2c1f19780a18a716d708d4209e9fa65f70b56db6072119b8b9bad7221944414ebbbc08bdbebf0743c0c1c2b928197da2fa010868421d2a19e7fc43448f0900ba08ffe87b110d94031828ad30b8ad200b30412670a80e1f061417153526190045576b77828e9cabc2d7e4f3ff20272b0f2c19632d686578442cfe3f209a991915ae47e17a14de24068195438b6ce7fba9f1d24d621096d40968226c787aa52cab436e861bf0f96184f068e388b5f8142236583849f3c7b4368dedb5a0f7c6106a238dc00e52a6875748afbc9af2d71a884fd766a541b89fdf398c30e28e791507a6121f51012de6b294d626e80b2e11a40951cb8168aed6b7babdd7d9df7c1bea3aa7a234edf1de5f956479e17ffd15bbc885e8f6f0277f1911ea2d81999711f80dd640beb40c65c281764968c2251c9371de3398909b2ba1869b841643c17e29e0a6f3219b1556e79eaf03123735310fcdd785692bbc89d897b2d21cf9905a3fd7df37218996d44646f50e17fa7348cc45e65fe7a0ab43d2d15d72125d860d7a3c3d66a534acd2b64fc9831db19ed79463971e515d2342920ca19c17c14b79dd82df7eda7d4f9b0e0ab4e31268ac5b62d198642a96e55e171020391e53f0e281a7e0b6ee4451b21240b32d18a9264fce524d92586aa78ea899c2571341a47eb0b77b5027aad87ddaf5d0f21e345065c05fc9a652bb13cbaec440c21890a6ea994cd4eb0ec90f3cf2369ace13800a11c3ad5379b141196050bef6b01f670874028bdc2dc16747b3a6fe5e5a1952a029356fb02434869fc2ebfe4b4814db19ee90f2591d909e7f688965d639105f29b0b41dc3fb4c9732a7a8d523f619b2ba595db135963dac5b1fba77e9c4142862e17d275eab9756494cfb92879d100d9d68c9d8c9abf2f00e7af8b7a5951a3e17ba3a7aa1bc5b5a722e2d93844415cb45fb2ec81acaafae8e8b8a429d0311450992b1a6f7dcb24ae478aa9dfb381b04a141c1eb927df56e832d55b12fc71503b46767897564c4589c577727266c11d2eca5d8db886d6df4c625f20b3de01bdb23eb461607be8ac3381e28a3fd4c1649b655d2116cfe6e9c604b534f31d7110e8aefb64f1397b16067458518828b1ca5a1bff8720fac271ab96a37ad01d6161e4e9960c27256b9e160552c24ce44129516c2cd031e57f535cebb136de33a1dabab010b0318ac2a2bd82f768a4f62175689346f02e0bcbb5513f3c46e0cb51289a8edb1d0ccc792ef1eb8d44a7aee1d07ba578e400ad3dbf24b93106ffbf11706c8df7100d5a87cf56f0fda58fc2713d60c66e933bba7fabb4cb2298e60a61e11d7848729fc5295c9a38e540b1a85180eacd0d2bac9a8aa0783d8766fae9d13e3ac1a1e5edcdadda5d1c057b2b0621f4f8a484b4bb0487e51419aac8ec01b19d9a1d3d5d5596dcbdacde156a53316147b81dc7711e2d7e7abeac211102acf6059825ef2c63626a6acaa04b619bba580476818f56bc551eb56559d911496840006ed792a23d1a722dfdd7d7410560734a3e18fddd1810cd13196fc531a456cf6e81a73e4a7343da7f444fd0f159e56f853e2281d535d97525d6a97d91062578db903db61eb2ef2509510bff51ae845a4c7cf484ebc585bdadda6659115206b836cd9d37163ade2e1171f1e4111cd119fad28861c9f480403f364639b1b0bdb18be536bb0e5069d358f1de91516a21547cb0f89f3ea6b4a9172e420ab1137bc71784cdbb84446aa1b846d01451c5f63c1c6d615c70305554903be9a9d1619e9cd6b45de383637770769feae1712c1411646a263c1565858720e97b1f21cce67abd1811c01df7913f571128e2817a5ec5541ce16347f61dc90c10ed886126e4756357d24206502c7e768e48ca41d253978f7301d80ea016cb9201dd7b61784fa2cf9f3b099bb3423614d17acf81239f74728534e5c5f54386815f2ac5a1e2e2cd3b9750b7d7f436053445b8a48185823dcc7f7d53099cf19a9367c3b6d1326d2f9728c89b48eb28f0ef1f92b151fb8412e8fa3072a7228a60bf4c7bcdd18fa9abea54f39bbc1861ed65c0697e413f6f7300919c25e9cd730f0fad624d41ff85f5a071468e549798d262fdf83761960e6e1051020516ec70a52bfe5cf5e141a8581d10c80daf1056f0e9984d94b10f5d468821400c44fd6e4e3f4a0f5121a2b77ed01aa9969d911b71cf7b3f7db14bcc58a018814eead7492b0c55cf9af102c09de68a6ed7c4954ea806f9428b31a24d4e453b857ca3a10559abf76205c1583761d4360793b6273aaaeff5e8016119ebdc8d166f52b9db810b132cb33571b7f646d4152c4bc7d600df48ea25cdf15ccb68a67db69fdcae63dc3d84e7d7f11df8a7772c50f2fabd72f058ee42eff1b80d5925b0473f288ac8c6a3e1dbf651666444249d028f5d3563d55984affea11a3a003424d4188b95795bbf31032ab1ce9e60268d7cd39617977fcc2405bef1654520220797161e72df9c968cd15591286509d998eb568a57c5b767415565b1dd2a64ae13e912051fd15c5f6dd447c170e1fa21aff404da7ca443792b1d0c9124acb69f764ceae0b116e58504fb40f1e3b3ceec550d88b3ca7f179733f900c18c9c9f137da7909ca85f4c7c232403d13db42e9bff6c2a8a96fba0c9eb766c81ee39bbacc2bcf53212695707e2c52a018824995708972a91ab8dd2665f074b3139d75881a0f8475f78c2f3e08e787851f175ea07b7236915f0a269806ec9f3719dfe419965bf84019d5844605f07f2c144cea47abafc600e1103705d18c99231047dda467cee724d5b4478fd21906b1cc9dd6e952d81fb7ddc39f72a81438270a4b45eedb79192c7e6919c2861059d8a911a2e35f298f46300f8f36711a7a13bba7811cb3baa56bf3d8d85e27152fa995ec9ae3286251898fade04bec101775efe0f7380e9de80e4caf9aac131b792a591a932dd8b05372d625e256a9152e5547480fbe798ddcc1deb7814554117cbb0bda7e968f15949c978ccf08ba1b972fd614ff11a67776b0dfd6726d2e16798cde43ffa751f991f3b278f5bdbe118eadfdd2fe3f1cc21cecb75a2263641cd88a64423233b00117f05f15b5b5b6839b8ec25901ac59e6dd90c42b12a303395f1704f6ceacc2a3fc1ad4121d839c2d4cac695e72bd9b1cca484342179ce38ad6895418f5fde2160807699b12c605abbd0f548dee2f6bf10cd874c51d056b22fe7276d7be8c22c170462ad11704bc4ecb28c512ffd64e678d6bbb0d13a0f97d78743b51cb247ed87b125f7c1e4d61fef929c90d09b731adfc417f63180a81cb9421d4d7a0c52724ca34cc821377ce7854cfb9bf676f0c6d4321ad371ff9712ddda594cc1f59708acf4d57f918c7f4bd7d51ddd67f7af3a13f3eacfa130bee2fc9e82ebeffc3b89c32fd79f71fd624f3a020bf316636fa16c2fdc79219781d5c1a1acc27b85efbab01cb6c751460e47c7bae09539318c9bc67a2f05d1099a094c5b042eb1ef474943f6ae72f1ae1e67604270289e55c2add32881ff314e7eb2b9d85cea0b7b0eeb028a07fc210d8dfdf616f4a0159b44a4e7433ccd01aad4ce6e725d5cde029a23e908fd67315f1d651865177714deeb4cbd972782911e857e9d6e8bee87bb054ac8f848d751b201321df5332bafc59dd890c6aa4f7158042e7184328c863ae4a6e70eee99211666ad827380d0d0617114a1a17431e1ceb21adec2ca43d6b12746e7b129c7e16564e57bdf01cfe88db5c58fc41e3fe11234a2562b49496415f618d603605cb1ce9d41de829aaab677fe73d4df8d0081787dd1720bb2156b932b964d7f9736d12a5958c662b6923c2eac13af2c2ec7b1d1dded61e89ba82cebb34625b025796171818df4b076235a5fcf6b4e201acde1259f36479d89c883b94f187373613311ee1f583c7464a6dfcdc5a06c6914227181a2b03069f6e573017af9ed1a79b521390ded13ccb7d251a2518311ca692ea1e40e5a7303cfe1d48b7795ae384a8bb86c0c9314bd3c5c7ae829d53c913cdb4a3cd42e9115209a617d1c885a81fa4901c3e0221db7407b8df403a9e5319500d4acb01b415f705601967fbe44214a70a08099b29def837b37a52fc833510d7dd0ca89142308e59b82ab79339ef19134b0a200e028d3ee1f9eef84261bf140f3c08803e9b3d65e7c758fa9b1a9910e42c0d0064f8c86ea50c8e90f9908e1aea23a499e9f9d38bb7a3714061da3e15bb1c50e1ba94a93cf982f4991a15ff102b61b39bc4ba75c78ed120c35dbb311b891a29166a95c4d20b0ee768b162c115a17bba118877d0db6f3e1f87278267119b925d1c40bf802ce663983e3fd0d81b4975e44933cc33bd51b64665ff0c4716d45d506e8fd68fcaa75e0551cc70d21153c9b3e34b571944d9fd6e4eade7831ca93af68209794703e19725a58aeccf16bafbc468d4606ccf807984ea6ef03f122af9070e87347ae59af5d3104b1a331d2294390b6c902e51e22a43da08155c17b5a9c7d5bca68bda8155cfe1d310b012870fd9222e71df909c55e5025381e61d6c0c144f8b5a4cda16de1dcfa89aeb178aa3a9a5a27ba3ae787eb1a520e22213a905a9a26a5fd27d2797b5a29a369e1e54d12082887fdb971facf74e15927e1877a780ce06667c794c23c6d8dd749813f10b01e40a702d8fad6ba32796545a1f5ad60050a259240cbeefb51f7810151915459ad981141d70fef2f7b2f9d91014776a7b149b4317c0fe5bc6282e7b0d10f24392edc405f2ccca2c0a0e7d2baf19c29c0ebed0375b0a6fbda171ca228c14cee33ecb73f948088c97b427d51b7010b09f6478ec5b0edaac25540c55f94c1ac07f5060f0af3e7bbdb7a9d610610a1533664080f3bfcb95972ceede731ad5105270cd665266acef5847b064b990ee1adb59a4b80e852326476cf3b6faa68b1549aeb693d8d0821e6c23295f95853c1175b08a1ff41a9efdac38a8feee08941bf759d5b229afb197bd938698250710162c7b77f5ba258eac97dc9e131e6ca61113c558222b097d7abf2dfeb8c9793d1c766aad4eefa0fd61cc57cb60a1949716c5eebd0b591afee7091309e74ddd12123ab1fc455b5d63a6dc840ed8affbea1cc88d306baf4a1c85b0d03e13f3622217d4d726bcf26ee3d026dacb75c2e88112868ca4c6ea179fb4d72946899da79c1d6b705005efdf182a46ee04a11786b01789f3d99d25b3e0546b8b9d4d799ef3127452f6626febcd8778452f7c2897521e5da85e82bf220bd3c66abfc986124218e4b94b68cc1b3c0f9f88ff3ad20e68136d2979407a2c601898da989183e40c1f24219433c856b34613e2130e361dd718b64d4329a0788f38dcb4dca4914adf138aaf6ba866277f5a602161a182aacb1fa2bfefb9eb8532154db44db49bbb6f194e998c6189d18eaa3d90a4f6e26259140ce1d61aa1a7d8eecad9b62b4f824710459b245e9b72277e11f68adfb1030c1a04491d1849f585fe0df83b195b69d614d0a04a13d45d9ecba4f92f147c87ab104d01115253c963df3a5ce6b9f90bac1a7167da740fa11c192fb01efbfa6f5615c152482ad980b0ad25c04b2f2ff3111134510daa8e34e71509cd12b27eeb4f1bc40d71ee3e5d1fab6d0a0f283289d9159da48d8b651719bc57080c2028d47a11943a7c123cf2f42c590de0ccd9b9f71b439596dbfcf4c3f0e03db370e1c75f1603111216975d365a1acbf5268139e61104e81cf024fc569090de220b358fa31cd0ece38c1d30dfd9a64b82a25d3fe916da23833db1597fe1eba2ce4eb13254125c39382fb5c2cb6879d17de44e84531de32d60bf5d35d65394a70376171c8be665b12a78a976ecb6a68ecfc412fa44d76fb5aa260ff1138bd77db2071e626adfbf2a22523f27436fac642806184e887f99884edb651f9cf289502038134a0dcc28744ac56f6593ea0fb433c01e3ba40987f6a16a59840f2273f6c2991896b6076cf8e7eead36d9b4f59135ae1356570ce0f33f7e4924f5ba2283227d1f45acd64cf6ff64d4e99095e868e83019d189783df8ff8343ee7344ed5320271474a19397c6cc9ccff18f03f10f4d1f105202b925a447617f1cb305e87faecb190f35c7b7e9d24dcc165cd1ecfff1a214d990d25f210f0b3d12b0da23335b8210c1e75099684bab6150b32a06852b6a1a67b94014baa2224e405c556b6abc2115539400dd94e84e0bcd4944bceec9e71051ed00c887da171248a9d3c64a760c1bdabd00a06c4846db6c87dc6bd591a315af64cd4cbd0605498a9fe3efdda74f11b13ae27ac80a08a843ff38e62fa6b21bf42ee8fb39a2395369ff931ef38428165df2ec2ffbb4c77587ff0fb2f503ba112eea47e69121d9223fff7fb622d35c1cf254068541817ab565ffff91e8a8b016f5433837010162c4b73233db86ed2612ee9ff3f10168363a5984eb91a4150b1d8b19f6279bb95efbe069bc7450113c17d67a5e86e2fa7e2fe787635d407496125691fdd6d0f797e571d93862cd86bd1dabdaca780d937984c17a2de83dd2ca1756156f2d714261d09ac88a8631a80813222218af4e6a684d91daaa3d4f40741ee8b479f23e8853a4daae88643f005d18875d6128ff6cdce9ae586d50cc997d13a495680d65ae60a9e48d481a7a5c2f1f8344ed3db7beb3ba8371a0ae61b0f218369d8a312c32f62e36c1e6bee759f513f0617782131dbde4899bd7973ff6ee1f5a4e2c35a97dca83a1afdfdf32f88b1915a556f720fea19ce7f2b24cc2f96f14aa1d12f9b3311b4ab9288f709b945910dd95b6c1ecb55e43f50de580c5ed281a4ade5e01575ee535c4a41d67048bed14d5b11801ac7eb7c4691d7e52d008be1022b65a9b799725a10f2f30b7b3a7c91a815e154961acb74dd958f3f8c21f6e159b4b44078123c6d7ade0f59335e624112bacd33e9b053d5949345686223d6e1bbc899efde06dc3110582caf11563a1e36f1118feb3246941379b3b8e11d19bd27fb559638607753525c5c5161c0ee30e339114e9d1d290f750379e78160b1c3f8fda76ba74750dc6402c18fa1178c631e59024f7edbb48a367e059c31c2d055bb7401d2c8bc9d3b51f4dae021724047c5fcd7d566fd40f2be6708b6812066dc69848c9f07eedb2113d4e12741d9fbd9ee006a1c09857c2a7fda40e9017e6ca4b4dd2800047799becca50a5d912a24479481dce00d88ec5ad448108291e82d02d6d17d833133fd1579d9ad32018cea624247946f6a865a7ac4a15764d137da43aa08e3dbd746fa57a778856e21e645095e63e31645d8cb7fbc50612b518b7a6aaebcb8db64a702c96d16b0ec41357a4aa12131624111a47f0e81217a01fdfe9ee0edc4483da146cf35342df4c198021bfd87c9d02e243232943687f3d143381327afd7d684e361c323110b8ce509095c9404abdc6b94b2951e819c60ba7a677d4330831d2c76f87dab9146b09ec1ec67629a08d0ed3bfd2ae9410dfdbac64a35742004917b8ff1d7e871a19e323eab5df01cda0126099b1313915aeb51c88914cce704d75e6ad278efa10e25594a6b5ade31aafbb70490c7d2a1be8774385c457e97bf2628d073d97bb1587f935046a7987c98eb50a0664df621171c2bc06108fa575e48877d66c65d11b2735ca6ba6a5b7f7e9d392abf01d41161fc4a1bc1e1ec65fee0f0f568db1cd1165d302616463a3ff16b3b189484f7c1c51dc9b4d501ce932df288ed406d9c9160e7d497173e3208fb220d87605143b127c2e0f8285059b7eeacd59f13b532b1dcabea5019e37afcbeed747f42fdc5517a19884344bf95809bfac6cc38c16ab1200101419401f88136a1880841ed01284d717205fa0e87648a2941a40e59c30901ec4bc163426f56b1c11a0d8855734c84e676dc11b3d9160e458408cb5781daf1550efe2d6e41a92d54d06cff010f64ae1c7022d20b49dd97943781a949002282c2a8bb9340332b7f4ad14e70184fee471d919883081121f2fe727aa7c21d7e6fae031d4dbe98ca039593ea0c95224b00888ef8d1f04beb3166e05b5b5b81385ad609cc94622e3a618e6d878037cd8ea9bd01e8f872b824dc7726142e27369b6e22079cff912dad003641b695743b8178862821eb1a1162ad3ce12b42afb22661d4a9cf4878261f5b9abbfa45cc3f12963a05c3954cbf7e6191a37fa5dc8b34729beb560a0e0c478f5baa099b32de378c818f6d6b24074044090fc8d4b7dcf59c6ef50910550b47b719e5c43f0b76ba4f50664a1da0dc63354eca5061c0080865984dea4a8c85ba0b4b32784110020e86f2516ced2ba72c8a1a031e5150028e2cbae9b8187698f3aca087e5e1b00596d3f4d01b1f4a199647ec50e1b1140af488fa041dd710ac0fddd76d2611510db1ab30892540e0d307d951447ba1aeac8f06f45dbf428083e6edd6c6cb41024fbeccb161232338acdc9148887e114ed39e87e9c96febfec40fc196ae9191a342451cf211efff793a83d50e2315010416d2543aae5fef5b8124de45a3e641492c8eed3149f7e336757609df14d7d19b67aea08da465e00416db8046ea1dc1fb28c924548ec3aa04844f3c2e4e4e913de2ff7565aa749c85a15b0f31d5ee418d6fbb4ec30115c7ab11a9c70a5751d1f651df193be8a79ecae90616687697213efbd28c7c9e87d511172f88fe3c4621eb576791c7eb1eed24a47fb390ebbfd1262d497a3dd5daa871d197ac8d129bd177bc97d0c55f594e9649f983a4674ac1ded9dce275519fd119f639fe4abc88b126845c271aa5f7cd6863cc7ddd6ba2e17c2d6320e95771b8ca80b39958c69fa1c39c6df28bd2a915749a743ddf7811c12c8b717736c7575ad1b9194d475a2a316baa5dd8fc7d2d29862b5b949138b4c1c9487eab9bcc3839f5d11140eecd6af11792965e8abb46407b5159911a7cc1b16d7737ee2d6e13d49225bffd5d0bfa21b66088f4d26adc66df598bf85e2b7451180caf2e06f5838c9327f2f27db259715207d2fd98b6e867bff5efbf051effc1a34aebd67170534ad5f1b9d369315de10c119ad415d06819837624404f89a151532601892f447a17ec57a5505b6015b1a1f3c4fdbf8cc246fbb6c55c311e17810270b23123700ee4aeac72a3456199714f0cdabd64480a9dde47935c1abdfbc19b6602b062bf0890a2f6cc158cb0b1610e438b6c7356c2ccd3ac7f12ebe8e1b141dc7a339438777800939aeba6d722219e4b80c08146995e04bc75929090f6b1f8ef30785ac615d6c8f1cd8b965e9a21372f049a617ba7447b3234e28bfa38b188f6cdc8f9de85119a0ac61f2ae8cae1ed9c3e9796231d30fe40b7d57ed172d13cf346418bbfdc713dd4e5cade85df81703427dde29fdb9589462b3d86275f61d42490e2b3a3e74b79c1d70c75d09ba1292dbd1b5c84d51e503254c39b58b6817775246e33aa1a5de442e9f87a2ae421d8af30bcec484270beb7cc39425ad49126df08e01f665f1cd255cf4f96e18dc1688acf28173bf6d412f7371b88a1e931cd5ab3731a897e488fde746b316f3db11ca96853d92bd1debfca11860dcef52167dfce6ccf62ce5257cca1e78d3abe71bce5d10401a3caf978d3e132b64cb7011427514d0200b9bfd300ed8353dfecc1592921904e9cd013dbd114e83cc3d401b9bfb8fa2b120214616cb10d29f26081182fa330bde68a9d7dbfd94c647304a1523f9008e15c393cd523d3ab859bc9c1ab69bc078ed597cc053662413b8f5a110a3c2f0d668709bb0e87fed172673ca144cf3ac0c834cc2dce2dfe89def0ffd190f18ece7d16ff9c9ed8bb1c2f5293e10131ee761c6cb773ce9ee5d3373b44d1498e560fab7be958ba36a350090216119fe1ef9f8652e7b6e4cc54200f469b91f5fb39bbbfffc0cc54fbb298038e2d31337a082aa3f3c50b6232a34a0c6dac818444823954f4be4a3ac3441487811fb1e2b0d36bd11af6ee6ebc0282debea5c137590832cd65a0ae026f172f8a52534189374a4b78bf10c9870ad8f760f2f411edcc8c652f716085f66cc19aa69bde812137b7827b51ccaf67f3fa014c4eca217d7995671e2a37cf45f4fc819f5a78b1d2620d6866de6cdf89b311d30f948771230a88be8086001f7027e247c371b15173c92ae220bb8c1b4839d2d5b0562da1c651badf50613f9507282fc58437d08123f6218b3c85737e50ea33b2f949c8a16cf7adedfba2d859ed28b0a3bb9432d1cc10cebcb943c13a36397e6c4534a9c11f1cfe5feb90b3d20b6e85c0316ee439f7ea80eceae8b4ca8e32234841b758a234f29c9404dd72f49ce95a03211126deca273fb9020cd7bdb41bb487f155688a78b503ab568c05a5212ea1adf1a36b5485772447141b878734bd270cb1083e21aed8e95cd51e65650de064dfe14249b61a8f2fa40e69f6ce49548e03d1af7003da9d79ce8efe3c3ae5d2dac661034418c930dc4e2ebdc741ab53857801481516ff81075db26141261e2066da019f192459b2a2949984cab7c4d24440410adf7164275735bbe1fd6db602d55051498b59c925250f2ada7cb12b978aa0619ffe2433767e46e99917e57e71655481fdf6d8a82c04ee5ff1aaf96502e358d1357092da370a2debfe15abce479827018ad4bf8cb0c4bd62f9a71eb5d18a38c1e4c2f7bffe7eee55d0027b33aefe517131ffb59ffa16a5f75c0f05f096bdfdd17e779307f4a45b792f0ecb7cb4557d51d304c7e8f4e8bb25b16f4529f8b56a5123cdf5d33222e9ff21bb127872eac4e170b5735c0aaf946ef629df1283a57221d675621b80a5c8cd55d0297598476351201ac29660d73ef4af5c2fc6f25d4c2160117b4bfd04fab9db2f3fbcb2e89731c608ed077e2118ba24f787d3fbd35c811f9b1c4155bd62d8b63d65c8f2c433a1677de35dbf14bf96dfc0b34b3f7d3c81b0aab012977cfbbc47d8700d07a845d11cd1542f354c3ea355da9008499e5b415409b12302a746583b4d300e5ff1e221b08a10b5e9a681fd2508420ef5f53f5104a898ef5c042a70665a5e8ea37a832159d2bf23271135148becea2e545527f1a425bd7bf26ac32ed36c185af6b938f101232cd6f30577fa88431679b4678b314977ec08bfc2c9fd2e5fd40425856e0191e4f58d71d7ca3a3af9e6829f7352c10e6622e4d255b8c8c5bc6c2f3744337149ffb79a0ee71af6ff277b33052144519877a98486a4e9b0bef55e0bc6659961f944c5f6d02114167b5350c36e0f7bd13ba1fb708435511c122438f43d875ad18a8e7e4ca93aa5571eb1373544ed3d81ec910cf5e9c8ad52673ecc7f410844713fbd4827643ed8af08fe7f931156519183a8a235494a8adec7361787e5abe1f1e643696b45c89ec73e83c0b8ff8d6d312fdc3bbe1b3abe790220cceb2b6cc8817fdb42adaa09621352b8f815fe4ff6a1d1eb15a8824fe34017bf9b0bbeedf6212655d71aaad3d82c1d9379d6aea97fb16bfb40d1519cde231d0854405e57dba1cf79028ad2fc02d1fa2d34a23af8ef41135b572983b30f9a68a881dec5ab2711682628f7e4a7cb750adea24a7f11e0e1c919d198faead7252ac12770857d38811f604e0321a590f6757d794ca2c08eb15330698bf602fd3402d0d3afd37ca651be003bf779cfd83483c4844fe629e1f11d8c4ae9503fda45a4b5ad5bdfb8567150e761a7b443c4e31deb04aad7a67c11ac989f0ccaae5d0de8aae4eacace0b8103bac2c80151f85962d5a62d7d718e7144ad737e0da6626fcb8f03acd0ddf201a8ee622cc4800989d73d644a0688b541032a02bff5a00fe84100c56c842ae69143e88f6be71803da6148f6b7ad31984194e2ab42e8ee0cccfd97206594820e51f709a30dd580ce021c807a4372d34ef130dc17c146f0f582aba098d853801eb1850f19bd94a13eeb4284cf0a686c1251fd27601c80ecc1471992f5628f498771386d4017a12ff59cd7fbb6b32317f5518a8498218d77eb0c05faa067ffdde6a1e096e516f464f6ed87b2a646f5ecb02138bc9250b18e389ce1a353d0b367ec317ee3bef0dde5b2c8261820c8ec35db41d7585b5c86ab95bf17cd1c7389aba9012d2e6e27ac5a7b22ddcc5f9c640e9341786a09bd9b6511f395337b8f89023021d544401481293b3039422739b3a562112699501dad677a00439eb4f42c9aba916c3fa8190cc95c84507e6e392bb16541cba3c51da9f5d9d8bc46fce3b358eb411e88be5d007b584aeb50bc28ac2b12116e3ee1ec549e2251aa38e722d331eaa1b4d55331b6ead57f0259967fcdf524a11a12a00a2c9986d6c6f7f81fb97e79c154935800afcfe88474bdf61fa7d21041b4e2190865d9fb50c8f2b7dbcee94e210a12934e83407e3cf72769c6b2a3a1b150a34412202c9db830f948306b508621a86c06855a15d69b2893c122471457d10a7f0c2aa09b5031faccb166dcd969c14d1ac73154ca2c426977e5cc880bcc319034c688d6fe53a781ecf397dd0551a10035fc270cb9e4916e642889c44eb2014c4f6f24c7e06dc9b9f53aac315262919e01d08d38287e894349b6f731fc9d01dac12e5c3b15411dd00c125a813fc44255757de34dea9551441312f92183b96ee2ced15c255146b5991fdbab61ee51d153cb44d99b5ece2d77ade3432135e651a4b21a1ffe2a7db8d1916c2fe17b6fee09d6989bfdb9152f19f9b72fe1d319fac02e2b557299bd3f643a107bf12fec657835aa3adf38188f49489c96e17bdb82d24310c9970a2aa31faeb7b4a1d76939cb69ea75f86a50a5f7c738d4e1254b843648691f7e74ecd765bd030e21669a654fde775f5a1a280547204bd9a1c01e854feb06939a565d074c722b6e0110222ea3d1dc4870e7f045279abe3581682aa648d24b529d29e85a657961cef1b91ea5ed836115a438313c8f6dd71751136a5768e8495301464187a7455ced215834e14b2e5ba3c197d9e98d1ea81471b12b14c8fcff4c52f0e63ffc232b10c1156dd1f730372b7bb8f90a824131953450000000010e900f3822818140bc743b1482018ca234d5d2701f4c742a38547620591523412cc7110c718451401c600620801c6104260c8a8060147ea7b01f866d05ba602df0364194fbee26ff845f959f903f931eb1f46e99780cfd43463da7fff16fe7c84ed47f6b3f68fec77e64df3e96ff527b0bf4a7f9affdefe9afe8fedfdb7fe77fae3bfd1ffffa43c14afd3d816ecad6b4f8f26b8dc0a6b06f92eb220ac2da6baa3fdabfb72bbe026e1e88d401204f28b9476c9afd84797888f50f6a4f0fbc0bc4ae36b412bf375533d8ef19901835e7ccb381005f345fdd2f80e7d44820fe63531be428e935bbab13b06ec1385b21bd33f2784d70d7061f3e30f742f489ebb5e7ecb3a96f9fce75fdbe010daf229d4f1955634fcebfccbfabac97584743a9d5a00cd5a9ba46cd1258ec6ee466c1a7b7b75c07509302dfa13bdc8f710dd75b8334199796292d7ed36e978b4ed1e25a5f517c47181d468f711dc4949681ef9d1d0543cb228a5db8ecf6e7d5804590ef136adb5ac3cac5ffc1b1cff73b84667e00a77cb25c8cd3adae30a8fa6032dfebd82756938e4ec7aaff2a204a5dfee8133d59f261c5e079863d2147e3f5d234ec81b8aafd280c661a942db9b977d22b1b821633495e0c0c471f5d3eb38fe287846059ce380492d85a3daf0e8dfcd4a32dd0b9560424b6a8150a07482585985c15c45f5cda62a7b6c8869b1a86f16348667f988ef6a2e3dd831191efb9833b1af1965de1c68ef9317333aa35a6747a43051730f9d141a260d0df97b556612e3d67a136120cd24463b97cd9af88f7e68d3dae77691a2d122218c428588705f5bcf89ec62a485ff8a19248448a2b6d34fc032f23ffabfede5dc1dc93c41100a691033b994c4fcc7de900b08fa93473b0f6270d83af5f2524c600c538c89a2818a5155711b9af4ea5737ca52eacf8ed68bec63de56ca936d7aaa1ef7fcd8cffb85798201d9f47e1cc9a6fb38a8983bc67d7acadfe44364db111a941e2fbb39665bea188c54e88e3060bd619a0cdd2d32b0cc1971ad99472da38398f301c131d8fbacc67c1f252ea3a7c873cc7e976ad83a72af386572c47d082ceee46690b53c329b72cab7d260302570271e3a1d4328519fad99806eb382388cb0fe4d4573c35bb8b11581bf69ac5a30b7649fdcf10fc4820f36d83676f719d421b2bb9f9d0eb869ad06c5f1e4022bd5a09d9b393ad7f8e2e466819c8c6387e6863155118b0471f43aa867713f62dcd10e775530f0b03b20af22bd1360fc640d64cc3668397fc57c252a08addbe5d8df82ded03948a4905c60daae195c1a2ab9da48506e048adf900635eaa544edc297fd2495c744b5a364182cb8d7fba031d363d2b06acaa635c19b0b5aefb499170916653756fc6ac1a51928895e66a51277db201e2b28d7aba13e648b353e17d5c54a9bbaa666ee3c2aae3e236c94260d27894d525e038e414e7339d9da137cd1fb18ce3b66f0dc97ed833ffb5d8315c05d8da96e38af2498bd36e1a0fdd5cfb3e26d55fe027e350fd93bf9b90360f17d7cb6deee574f1e8abed6c8fc77601230cb33cb08dff6b4aef6a4045a2fbe19b9524ee58dfc453a54b81b47274f53e941552c4c838c9511da020e01f7618af873b496239d94ec11ca35a0df33e2eac9b878ce7dc9de8843d6c54c5758e7f89be7c4095bd9329d1c3b67f1c1120a385efd9900ff7ee4e02bec6cdc72db6e7a39c5ccfc7a5c31f78bba5b039947f61f5a695b27e8210beb9436bc20c60a98127dad35fb97a4729c7402427596fdc46a7f3a344a5fa531199639f92ba60edefe9ea9a67abccacbb535a7fb56577e9bdf8337ad89fa987da4ba0cf5e43f7d9f56c699bb474ce80b9be9df7026192fdd120f76233aa6a0dd07d62dc1c1a6b62c46e8db790c3280efd63ae02273b50287ca39b9c22f7b7aa21a06d561c198da7db0f9d5387763acab00f5d93382ddec146ce338437a389b7e261cd06f9d473f0d0e0cf1e3a042db22c9c44e2ddc71647f0cccf08ab1f37a0fb0722ad3e20dd57308f3ae12e0481b9a1f639db71f5c8d4c40bf76681ff1a78d8fb0bffc534f8889f731a7cbcc7021ee005347bf50bdc8d7ec337f4cf9b857d7968bfe50a9aa8c276f62fce81de3ed3beeb78b870075581fbbb8d8459652d4ede145fef6da555d77cc2471ccf272de759af28e0feb8e5ac48b9f4aff176b5b3cdb73ac282787a40a7df8eb15eabbe582dbfaddb74c537961ea13deed1f806fbed8c9c922668af87ea0686b3144b3ae2cbc7179ad9eed7f643a57d1fdf1416c775ce5e2b243b8473f6c3b548c55f52406394a7121bf0bff825b159c4b7efe7b72c2b769f9a36abbb9cf8def7c1d40e77029d94566a4ce7ca9d3d76141be740cf73751cb8d41829315af5e9ffafe5034add3d6b995de479438634232c2abbd87cf38e7709dfd4b7cdc70b3bb49338678ce9bd74dffbd6c799efebbe181fbd77a58016e91e767284a88cf8c55bd9e7ba6af33b231dbf162333a8162088fb10377d2aa61099a6102e7d6c3d00e8cc78a7ad4c5e3c8460db123f16f448cc0ee9edadd17efa4d17d1b3c6659ae7a4aa4db37a250862ca5b3d74fb40dae8fb5a9678302ae1e2a41d9237df89ee601a773737eb8651e038d226b1810d9bec9499dc44ecdd5ffe95c77b555c0b45732b1a8311d1c03ff33b19abb72f75d8a7ee5393efcace01201b7b2f77735204f8570d6ad9368c9ba06691f3b334a7fffa273a06b2c8edfc6fd72cb71113dd906e45238361e1a8adb41eeb1876cc3a862d155c286d1f71bf5d19352cffd9676152cd920b5e720158110bf3fe001409a8ce444744273563cca2cb2ceb00ccc631804b2f3e88965bbe5dbf16508baa7b0b6ea7305c0789f15375aeb05774fd13a3d0ab141a878ed8b702f13cad1c134aa0babf166fa11b6855a8a4cf4c7f2f445996335e00e8c1522d503d918b4a0a09ea3a0a901d016e02e51581ca9b6d511e37353673e47a76c839cf017c44e817398cc40aa6ed517152d1ca87fdf20247a3e35c1774da87a071f576864b7d76830c59f12006a9f6ef0015d30f5f195520b13c41f58af7bd991d8c70bb4d690ea5a92310e8e161ab604c4a71a9e80c30f7367bc6bb77efee360559c44ddf600d94df2ad36930c7dbd85c3839ca67cd2e5c259a7c761b5c14d3bc7e611ae6682e39165b10aaf78392c8044c02971c94c48ebaac459fd15e2007d62bb8014894e96821ce56c4f3d6bf37038c7e211edda1fe41bd7fe4b541c26708282a781fd58c0005f4787e1b53f10b8a3baa8bdace6b1326cdac241ec53f5dec50787b44834a924071e6ac52a170028eb5ceec3768b8c671014acc9bb8dd8f79d2806b3895d90ac104930632eded5de2b1e421983afa866de18a6232a4f179d9accd285d2b5d7cf84204c28e1ed20eea4da462bb86b5a19e1788595ab4af5fc2932c1505fb14106c939fb0d239d2fc6b22b7b83f6f6a713111c789e2cb3613d19599bea5e1683d8ed61558ad0565cc826da0b06c272c24f610994e4986fcc7b10ecbf24d8309d7a5d25ec12dae5094c37d6b451ddd8b6bebd4da5cf3c95660561dd9041adcd411c49f7f36bd434c1d98b91a19537893d306a64bc13b73eab039725a0882a6fe3643105e559fd494aec8c08d44df77c03ced3640b9315b05e2949fa5a3ea87ba6ba47d3a09bf7d7ffcc9772085cb6f7a5818a53f557017da6bf7ce2f0c54a5fc7b67b31c801696ce7693ac4627ef0e2e9d6729af198dd9ceed18f3683d23de02ce23e64b2c52b33604bf3bb2307e81835eef80116e49a58918cb9fe10da2fda6579ed0f86e277377ff86f5153c071b9fab51ac8fd1683b22191d6a7dac9c2134f11e5ca357064f13f3ec82835d165608f4e38150bccab1a53e663c120165631c7421d25173e38b3dc79cc52505457b3d192354f777f3c0f74806180071300a2774b2f99da0cd10638cc71bd2202df494ca57ef4817d802b4923a64f82fc48257c2da224d6cddd2ea408c18ec3d6ade5530b33a6cbf8594c5e90f5f0df9791ec3e356d66d3031d667b55ab5b011aefa804c303b83b124d6732d8665de38e26011e0a97fe5cbcae3beb515215df9e760ed04861e2029f0e37e937df98d3136438ae3cf59512686a18ff8d7dc56e3d97e3d59df711d9c8c79652955ca9f08646c564c7ede292ca2f5a3d2bbaaf05c401366b2da84608a207aa773397aa57dec46caf7578d6dee18955fe9b517163b42de110f57d6efd1175e4498460736db6d4739574613e828a6e1cfa2864d1f2201985f1c00d4cbe418c6345b04c94ed07bb0b175711e9b7c89ef17dea85f04f053ec02b0acc831d970884c015de4abb555d024f63d7f72b32010b1fc0536aea31997a00e4f9fc3d4efafdd7990387965c228b16a24d62f867999f6857450fe43079858c1b0bdbfba393a06a2b1b889b4f71efd1fd121d0c7ead43293ed9733748615c8138b94370e01f3775744eab7d84a277672acc2d451401f656d4014f6dec12c44cea6931a16f1c6ff3a8e86b90af7af53d518af23346dc26df177a44983a4834c23253af3cdc24d2c8c8c085286653a45c9a4bf81bac1300adc4dcdb7a45525bf48497c3054e9b97c566d3a00b896586ff76120175af903c4004ddbeccff5426770e0fbc7181248c612e37e41fabadcdb21626d8ca0a773d0374f485574cf8109afc6f577c3bed3b5ca14846f3c6b7cb6eaafae84d55ccab8a75ca44843f651ffa28e6955429dddd85eec674557284063db22c7fe860ae0f016be2bcf923957042b8cb50da1df6ce3e903c8558ac41782976a2089a4b2898f4a8a34373151c9a7848f9bee4b78a4fdeceb81e9ffbba3636001912f894570f2c8171dadc1bd51beaad88ab2fe943a44359d1b86f6507ed634c1e901e62cab23e539a0491661becfb6896ade1e2f1ea8d4fb0c82f1829467babf12e9e5590b6ff0e2575d1cd53ef03e4cc4d498a72ee2f8ce2e6b439f28c202aee5deb61e2711898ff06f55c0860545213e9c64c85b9552f8e5ad1efa2b28f924f164457b71470847eff99ee629f4052ff13e48d2369b52af25b4bf544f1340767130137a288ff796e4a6f227285c18f5dd532b134957d523e76fef589eb5b6e0eead0feacc7ffa019454b5f8c000b4114e5e2a0de1f248a720343de521495b0de7cc0a5c65c42cf3b1d1ff2e5e362539d851809d5dbf01d1302a94d16d39d4433ba93efadb90f05f4a98d82e42af36961fd387f3f136ba2c100f345479f412ab43db58f5901258f437a94f1c3898f84b7dea4e0b2f8e01668d22c40f75e4fe10cd89da1c3ba3ffc5462ad30ecb8c369875ab2843a5f6474d332cf0782d1ad8d25aa7e0eae85c2bd9e30da03a8463d5fd21fcb33f77b557e578eb03d51c95d2d8939335f41cb218ad0bf6264ff58235ab6441e8da29163a929c9a8e4ebb1fd456ee1c72cb709ce94d34463db896c5ed6f0869e20d8fd7d7a35065dc2cbb704e4eef5921396c25a147ac0fee8029ea240b1c61bfe59aea7d4beb7a015fa71f6d3ac891239e53f5379cd58534fa8edf6d7a163348a043292d4fc10182e58bb43ffc480f5059d01bf33edd8cd964fb578d716a99705da3a6464324f2e2d63e0c6af457180dfc0c9db1d2bf458294bb072de5bc59d0ce5a7bf00ef2f9cfe82124c128b31ddac94efe11e5016d1bd8caeeefe4b4f5e3b150d930db0cd99133facb6d708a42cef087e848905d1dbe802511050671448439bf146188557b2358504fc22060c9cbb6112dafd32987b963a6f3763afaec38d54c6b18a93f1ff791911e52c23d91d1b2a4a4672789961fe0733eef4dee64eb3c984c5f55f911f1f6910b87fb01e2f7c3b1d102c90ed33634ee3151d6ed633685ee52ebf488c2954af4f221c63b4d73c55a01a8025a3d5bfb67364a665ed76fa5dc384672c55dbf432437f0e83ee279fa3a73490174a40d026f1bdf4e4b7ec1ac456dac9c59fdaab79090b0a15a4ff07cafc7735526374a361f32fe2e409ad6c354172f3f645da4f9910474770bb42ae56c161c8370bda3d5fa6957d04b2cb7bb34dab10bfb4433118722b5edbc671a1dceb2748d506c0d802056066bee517c038ffec64a2f70ef10f8450d245970d30178ccd38006ff82cba6f8c9fd675ca06181cf782ba3a457c8a2ba76e2e965a1f60ca1e47628fbbe8d95f60e40467a4f8b20d9a73b4e0068a065caed5d7c74751977f893cf678970bee3ee273eeb899cc7e6e1fe784fa1359f60b3797afc4afbf8436d2cffe72c4f69d9fb1cebf68f97c00a3fac5a76bff0e0c071f9801d7c128f060924c3f0466aeff2ead0ea78de231380d12dc52d374c0d67fccc203d587330d03648ccecc3c41b4f77ef124137d75e7d01eff436f87a7e5edfcfbc6cd909fff10b076b92e68376f72fc83934a66ffaf12d9788bd76ae8ff7ba6926091f820e8b66458f659e3f71d91ce12eebc82c845a5103cff43e2310c49b81509b28738e101927e8f6c7cd8278975820660863dda663b3241208e5ffd2f2f8945d8ac6d47ce6b3485ab08256634815641aa805aa5b421b1ada746eb74e32884689388fa647dc487813efb8e8d7ec98b48f302f09f28cc6fc2ca955ed2044023f3cf79641797ebb8dbb4836f130b7ae93f84ec0468001345a87ec9876efd007fcedb7860d77372760fd04e236e6b7a8ec2d1bcc9e890f4ea948b4ca8a8e0d53f16f1dc5b6d07f4c9e0912d73efe7b2d4c3e5e6f9b28d3c245b39bc90afa7de3a37dac06649273f6949bb4647588422467bcf60f180ccf0fc9c237da4a4ca1afc5a5aace2318faa194563d4d2430daf64f73030bcc36893ab3e29c38e4c02c7bb2c208dd2e2a0a51017505439fd279914b8f6c032dabb28b419a77b0d5c76c479082f0e1a7bce91eb034e0eda4f98e8ab5a1fb2c5eb83ea5f6baca2cdee90e04e14c84d5049b321248645f6dcd5cf2d3943c8257ad284ea3bb9cc3e878c0d5b69e20eb07f2da4e863e029f95a57441355f40460e5ee826cf69fe610009b22d42d8458f03b292f156b27b22146317c601e3442b5b30c2acb8dbb93c969dab549f12e5b9b1250b67ac91d6510ed0222e58dfa7fa1854c0c72e45f8c82d902752ddd8b42ae0ce44a4a479a87dfa95fb7cd01a4f399b9a17a10a7d19987fbe97a45407c5d50dc553a564756caf9bd2c0bf70336103f3858725a21275b962d35997edfff6aaba0b13fab6d4e8518d5472cf8b5f19f10c1a374ec86629a29bf7bf4f6a262665c4060af5971b2432804012faa4ae84e156a1ad03f25d37e5b81900704c188ba9a054454df82d400353c8ee904ea1177493da6392159e2ab320cfc6dfba64894b390c32f7f7edc5240d337b56267d1790086a404d1050760bc805c0ddc50a304a2a4a707c21174441e93c273a25d8a9802b004f240b7a98fc8eb8d05975f891d52eeeb6e6243eee66d5fed570417317673816b002bbca8ec9ded9892410d22f50cd095288877d826d1a734e72d397fa1f755387d2ba2588648127bf9b4cdf589572ee9bd60f5b9e2746f9efa71a05702163e19ad13e6291ab2556c13905ca0fe3f4d589ee92bb8d4011b1b29157bf8a1f77dbaf62e4be87ef7e4428f58fa1768ff0cf78ffad69160aefb315ebb5ba9eb9a2a983417b9b3e1aa29341577fea095e3e5a00389fa493c092845cfecfa3def40a1d35a97edb612885a709308fc40fde461d7740bc2311d27e3150a192f294b992b055e845f03322d93ba5486ee0472b4bd9344850a2b8af398f634bf99815a8071ffadbe0cb3cbfc600308c3be04d74c99ceb67f73269a5a6e5a0d96d232b5ada11e63162099129265882e1ca6af47089100b0f87fe0d22bba6a545fcfc9bff12231ff8ffe813995b02c564d46593b8afa00a4561641c10dff739dcc8032d7b6400bb9637c84a770a9c0722443680f99b9d1de8d82e439d564ebc809659dc125d2de6670441ea9c21356e47198512ef1a6c601aa13cfa315715987afc3f890bc1456b57ab8dd523b07758c926697205d93281fa709b93eeb4c07e635356781a263e84428a9e18234c872703eef90676910a6bad1e4cb09e4809e0f809ed7b46dc907742da1149094ddf543b1c9cbeac022e3530a2fa95d9559026c32dc8df4500dc23da666d14def28996accdcd0a61b9cae7b30903c945f26444e91f861e189c5b12b9d2cb49925dad24c472b2694405ec93a59e9e319969cfc1e9eb1d0477c43e0e564a44787281b44bd54690218171142e268ce0292b5c09c7e72ddf979dc2005e1b140ccc8c477a607154ffb42f8dfb0bfc75fb5b3a8aeed80bbffacc6945efeff089d1277e3912285d9011d73374d4cdc098baf2cef4a9ed29fce7d7803914f9de8b1be639f061c2c67d10f230b80157af957d4cb74a15cf4d0f830c863cb87849168790db0ec29500bfb27322cd432c023c494404df066f4cb164d7440eb7050164677a65dea17a53f64bac4a3829e2045cf8c31c8a7ef0b0d934efacb58e247059c027b8242bb173eec991e3ab1304ca1076ac6e173d742b036ec59e4974da6f6d88b301b02401865a180148b2a2399d816ffd513c001b5178154076a4cd09dbba8613dd2824909fbf7227a4dde07e4e4d402f5c2f8882fd5271e2fbc5294c59dc922c2601a81f2b060ad5925145a7d11ae42d1a65092f956104adf3a78a4991c9fc9ce9ef1acb9b4aca4057ad94fbacc6e3a670391775e31197e18ed817b0e5d0841002ca31b715a750a58d955e65b3e7e7f1214ee3480feeb725d99541d4db236b03a3ff511093ebb39f130045048bf1f1e8a06f0a7bea6675922463c1db9781bacce4e6f627957ada2de280335f196ab0a926e165380388e7ae2cd120316b6ece481ff394846ad42ec509ca50252bc71dcc728623a5ac6f4b6c6651f2502e805646bf45d93f4d55b9b2ccf6dc69bebef58e668f3418dbb7021900bd9da0ef40146fedd29265c13b88beee4627faf3d5d629806fd902a19c601139dfd74067d377c892cbf7943f3afa408164061a82ebb0d47f683aa2bde907389605ccf7e3af140112df92211356bfaab86d73bd19a9bee7c82ca5b2e8ad874f2a4279873b48faaa6f9e595adee933adbc9cd09f8ff0500f06077f4d2358a5601608226cadc1fe9daac79c971fa6ac5cf22719b7494afe85e2473e006237d6df6c3e2853c34397c7be7058ec53d5a6c7322baa088f4d7034710f9de44643c796170e115b5b3d927129d4a3f23695403074d2d7925936a7bfc9fe376df4af59eaad4712d0afe8c2d0affddf7aa2e0ae92509de8deb8c901032a5787a37ea443dcbc98a4b0327ea51b755a521156afd7186f1225ecb0f273c24a3ea15b83abdaa234914734eb19e813988bc793dd41c156a0d24d9f1c5835db1afab02f6f206ad4eb70b777d37207c2de18cbe590f7f20d6e4270f8f37fbe435c116afe610a6bd422a31a03304894ca41563626789979da66039c5ce88276c0b74bf99868ff2dc5ef75033d74a23672c2d7759da728bd5a8f4f593786204182767a8efae087386cf4e320b141c7fa3c557cfcbd6b0230a37962cf0680e47046e93d667172f68209f3290c32cde2c11cd87fa94c8f8ab24c8533ce8d2fa58dc6091eedc979426985c315277032a6a4c7671474ae3b84be44298e0f77de1053c19683195096f4929bb9bbf209dc3983391eece6ec02af4b6f5c50d30e8d07546574c024ba269764e04c2c8a05f9b0f8a83e3d2f7491adf388cd0214d1057a809427b2e5597d29894a35dde63930045c285988ef40a4968adfa8980741621c9cfc92b327cf728176c3399eda5d4d96faa1cc193928392d3c222a5db6ef2cc0e15e7fb75c8113db2611918d498ebca986b3f4a2e2f78d765cc7f3ba7ca9f04b010979c4932872d2e05164266a5c6a4e25ffa93a448f2b0dd2248a44ab22bee015141ccd4ae939348e41c558a4b06242b0250798b91376634e1fcc601fe5e294bec28d3f7ee9681a2c5ace28d35df82e1a8c5ce8d5880149b90929df08af176cb420f8b3000798bb3395398bd451a4993e52673264d0b1004a413df859a806f12dfd97d4a09d12f4b4036156388efd353861e69cffe040f3a32cb88d4fb196d72436398bbb1863f3c6077747fc8e8a6236f5b2972c3a3cc2f52151fe36124b521424059ca245efee081c70191f7bc3589afb9bab85d3abfa258dba7d0b50210e26ca659b43894c066f3588d235f2242903bd4e05c314f99ad30b6a51a1f01a20508eaf9a09918efb2369b38048f6f6238c422589a56f18b33e3ef117954c4c996c49f1c79224038923eb718d3f7156ab38eafb61b283d71021fa6ecda7b83b1fdf3fdffd4f4ff3d301eb774a70961b68fb238e5bc59688fcd4f06c62b311e696c6fb2adf72e82d1afd5ec5e373c821c5f042688db5dfbc3347fcbff37c15dc0864d8fc892c32242f997d8f5c5825dd136e4f079e3c0bc327af4ed6fbd582baec60cf2a378c6e33448364f13b466fe671af70d3d385765d015df6d2daa433261453841924908028f906490def8463d54cca025b33b3f89bb1b5f2e118bec714c32d431cbcfcae41bd2810b80dee1000bcf66c727dea40d8d83df962580c933dc121cc064417a52d0dfbaa887b8f6daecec770666d884ca62353d853656955aaf625633cb0e4e170a308cdf08708a2c459a06101f901b1ea7ff0e3ec05d52a79f62e411ad631515ed16a0884e3efaa959cdd22e6ef2e23805f6d7a40262bb824ebfec7ae43ffa53a2ee357cf1117feef0c8504391edba319a2c2f8dea827b20fe5703bacbc8ff0973a342ae7e8c1d16585d11986ff584b0db53d816d7052e9b4ab3626b95f8f647a00e759a986c862f7d0658fc449d92ec8002d36b24cef9c2e5aabca393b98fd742223b6e77518e514d6d307198d96f6e72c4341366939d59b181b22c73ca1f5675a2957fd70b1a432fb62ee6b4d5db6b6831319f5f6d212288de9fb958ee97a16e84b0df6d01f2abac49ba6a42c994bfeea597dbf52877537cbb3f03177eb9efd933f57ab68caa98a739dc9b3f944efc7cd73292180fa25e706f4e38bf27b12bc73b83b05666b03bf6db2fd855873175f44e55be4ff902e7d637e085cf9a8ce746e9dc2754eac84aea7fd8da0fdee6f383e04766933bf52ae3a58b7eab9796cbb4639fad2cfa27b9de84d732ff926e7c35faf7001bb85b31f2b0378778730d95bf5085715e3060ff32ca41ae7c00f891d1a2da6eceb95ea3b78f1014e058131c9905df418e46755ccff61647de81c1e80794bb108f1cb9619851c57ec0d411064bea687ef9dc4764df5eaa11e3fef1522445ebec892747f3b5c55d87f0ad2d190fe552fc3b5263df8164eb71d4cb1de21e19fb1bfdcddd0e850c8df7b6cc65f8e210dcfe9c9d875d845c5980b7299a985661f46f98ae2f1ce609d5cb2d7314b7241ccf71d7b19e19d425f36d2b790abcc6ff7f99c7cb43610df455143be3b50b1fe8d33fc1390790b6e0f1d494a1c1d296e48e7af2873c24eb3f6a27f9997480a7c6fc3edcdbeff8f0f2564d2e43c4ab2de3f24004b5b3d71a04f6ae1be37a51cf00b51f177bc6d4595add07710733a0e7976f3b229779b956814bbef7687cf1a78b49ab9a774d5fca1a19d0c57fe3bee1afb3f6d37d0089172973cf2c41e3bff2dcbbc13ea942aed7287914e1483d9392bbc17078f21a06b923fa80e20cf9e4fd47fb31c65cb2ca9743825fb1dd70d4e61600161e277b6e355fcc9014028b9f05b6efe1e73f906cfaf010c6d99bb6727240c272760ebb762b6647237bc43c81fb5f75ea388198236934d612f39fa3e3da94f80c11df9a4d36b0fad52d2e8d37ed4fe8703564b87ab0c8f553d9d00e0262626c990c97ca7b0573e21cc8ec1b33fa6592d5dc48c75f106c0bbf5019445e74874c0b2fa513f4bae42f7e6ae86b02f8f02ef2e7ab49f6924c6879d8f5beb86ef89593738f67abc5917a8e195e0b18a9240b7fd072e39d122d55c63f7e22fbd54372be731b06315a7ce7592e562be97e1964d2a587e96179dd20077cf17f408ed63a84d7a9ab3301ac983a9fa2e80bd0afb64cf7474791f70bb927de1352defefe9e692b26e6320ecb1dfec91fc520a31e2eb5d49fcd9a3723583caee78dba2707be43cd267a58397b1a23f03c42da93fff91330b05a1398d8926d0737563afcc6ad2f6f93181b729b90c6d6741881b6e18cf504c24e07a24b63d1e0f970af31aba128fc9c60a6f7bc27e66f8393bc5d82d238df1d0519c24c87e02a0d50ffe2a47d0526f90187648c90736b988f26aeae8fb6cff5b8302833ed2942f66bb56428326dcd56994f6aab9cbec664867f09ee9d16234f5baeb3337455212a37ab5d17b33ea88542bf1b0e899458396af62aeba1b62062caa47e59891b64b9cded5425cb1a7e072e7dd50ea8513670291ff7ca70e64a7e007f884b7ef6bd41131728b0957b850363f8a8f60a21a1e4bb87621baf996f26a22e6c369054e794d20ea212df8bc09ce9555d170480f0f76d5004a05dd74a95dcfe6d2eec391e072e289cb6b385bb14658c9cc6000e4ac2ffdf8e93bb63187c825568c80b74a965242531fed2d4b1b0f7d6a54caf3dfc5659cc3208246cd6b409c6f4f7f2a14364b1b413cdc516249351c0e8b465c1074f269e35d8dd25e756ebd34db7cd023e99ae3792ef18c05c1a89e051213c6b7ffc4b25f27167fae775355131778ae362f6841770d20fd89764c5cb14cc0bacd318d15f84dab1d74aee2b47d09a29161b209177963e8f3d095ebfb00ad60341e5843d148a7ffed27896620c15a6661386b12587eece617b78d2311d34b4571cb7fb2c0f8c09199e267870d2f92bfc8768576941058eec6a20aadaf2436026a318b36dfe6af3603ab65f4c343943c0097e237a9d9e5aff53a711db5ab898a9d5cc3f5ae00afda7d625b2fcbb320f03910c32c9fdee8533ff2e2880ba893dd1b64554cb198a9bca3d6d84acfc71b00f63251fe6437414f57f964cf200d2a9ed02cef02d6b564b17abb3587086ca489c93b434c62b23a93a720e14143de3060e4500a34e4687c39bff397687760de89bf6c2e5f0cd0f04a26366e2d9f901241a7db3d10b59d92802faa929afe99e6b229b29cb39e88f8a871a1f6900bdc158ff134921b0880782d38710dedb869f4145a12511a056b6c328fbbe901c58caf8c5a6151f260f470875e4e75c6681d4c281189203aefd22a4fdd7c3080b9e0c15731476c66c7b04e7803013764453f8810f743f401a4330e734ff8b2b9491590c650b427ec81e031e0b7f55ba9b3eb783fa053e664f78b3cc024b9d67af377fe3b065f90e5376784379043fda7e56fcd373054f94ccfc68c476e187fcf7c268e9b65c8d112502fc42d3a8d571ee50e5ceeae9af359c3b9cc24f32b17744ed38e77ef67510d78efa43d77769c3bae230cf44f78160e005c1c039d1a9363d309389ef8ed95d2ac905b6c722c757409e7b811117728391000b6adb788f2ecaa6eb5b56e7b3b94e4521746efc74b67763e63d84ea702cba384c91db367e7a7db19d0f8e65794026fe22aab779dbef93dcfe5ddd1e71667eddb65ee5ed9a062efd7671cb448176e7ebb5e708182f8f2203900ce0796e120b03644500d453d13bbf737fdd4f15acd4e74f844ea52ac60aaf50dfd4a31aebe4f0b11251a7dabb666d920b65a610261e6d5e572551d16ac008774efecf14b0650836ad6ea58585f0ca14e2fd031a8e3fc5412c65877353d6fe4cad7e4210718f3652773e6950e88b3ea0581e53144e33c426158e8364e22e4ec8eee56719224075709a71a4fd9aba617a6adfc11f1548498600c786dea0147d8ca22bd9131a9adba7c0782816c9599c2f8b76cf18a180d2d1f096b25b3b7083fb2d54031f64902383569e4f19252632bd9c1462137e74ec23ec85a35faeaf7eecc3993a189d91e72c67678cf7995b9ee73440491e02bb107ca0c0b73a40f9c21021c8ed12c3e9149bc8b0654990b7f354293aa9173324dac1fa1cbf5b74a530aab388931da05628b91c7257b968675e4a70357c12486c72e7a34201f65ccc421b175a074fe14ca298a1938133747f13e21c9864d10c7065ff44fc30a0a82f4c0d12bebd0510cc3e3f563b3dc8923b9f90162e2d07147f0ecf2b8a4c7a770ac7341c3d7c846c0f69615bd66fac8a66fca0114c9ba54753c339f2cb8b572d803b09161f028f192834c8eebe6ead38608a8b1b5361f90f99203d5537656c237c363711a8b9f753bf688c2a857e472c1b04851512a8f528ef822f75265e59f72145e61a0b899979d5b13d09d8da973a35ebcf104eebffd74a1e8d0b8ed13d8902e6031522e6ff8ddd65708ef1458d2b83df441ad5efbf78aa3f06f9b64b38fbb10b6b10caebef1695cf47b7a45e067a9ece8514bde6ab5c7ac319e54df687184642a7193670eb792c1a30aff0f954cf6b890810434c6698b720fcda6c382ac3c6ab0a1454df7f7ee528bb1188c6f473b8560d192ad71fde1ef329162af8f19066ac501f7ae6d34af337da4d1a3b971ac06b921319e0881df0c550e1e0093d21b00677181f18eb246cf7a419594c8c295cc8941e13ef1297a31a07b0b7aff79939fd1c13d8aad77c4ce1089ca59b7500883ce4178e950d9c9f190b038f029300aa4bdd1d797d88c103f0e66199e15b404a4faa12d79ceab104ac60baffd972d01ce354170d4465de05d7f8a87f908f04e41b2a1d884affaa63869bc94fbad9826e513a122a1dbf95fc6702bce3289023cae5c81674e42ebbfb0103ab1c3374ac3c1f7b1cc94efd543de1e1eaf19f117ba23caa8c599a65eec7ba66673040161acbcbd4efef00ffe9796940813cd01bf05effe4f595603f32ec41c8d0256211ac363f5e73bb38cf3e6752fa44afba155704cf3550ea06830e01e738165b291bb662a1217252e411a96090e3edd8f91064bb09aa0e675d56d378745c294f38153d2a8c54d2c0f42b089791b3f362861a669ad77483f8781b65fe3a50d8fd931000810d52a4365762febd49644efdb81440e190664d04edfa7d2d5cfda13ce719c88c1a60b022d4bc6e9c593ee5853010fa2f21785c2b096c8a03f08d5ea73c14f87b299633760b076d046c3136d14b19f6dab37bc053ce488805c7bd83c59e1fda68504d58f4802d75639c56723bc3131083a4606e31e178527c43ec4e0ab418302e30005819805919145a19a85c5bec5b905c19295d195d5e19f4845f19b31a3a3ac468733e601900620e720a1f9021c5073861722361720132316219bf099c62cdcecf6161195c0170608c10ac0bc82041642412c4062c2e307538753634ca654c66046784681869ac695c6a1209d5d6d7d8d92f6b19b06b39062d5f28b5ac6cba4f463a602c5d7d2260285c75302d3146296b65732020284e614e2b2f2974617320706f7908282c2c3a9c06a2aa0ab401d80ee60b0004701034706e61f721fb0c02020b2a0f2c7119f03f4059408f88c36af880842e416384d79765cdcd024237426d42a242d6420c4376438166ac3146a4ecff75e108310a21640c418488ea6818030aae55c28dc5f9a39a9a441c96abb836967143d1715d17720328b984c7c94eafbb984bf13ee13d20ac8c4683ccbf00972f1e115cdb044e5722b0d5bcb5638226730c7485cc8edfb9f36276649bcf5631e3f36cb29e5bde664ec54db28fb6be76f9862b57f3bf275b2fbf5cf2b8074461a1a1abfa4286e7cecb28a7d64379039dd74e3083c004397ba9b05610cb07581b483d3b091489c6de06e63ae01f800078808a73602b3a4f58b0af83e71f910f4535a2e0173e0851c5749cf079d5cf419dcc30667066cc45f46d7e9cb4dd409f8e9c29b4dba92ce589f180bdd94479effa2e59b854f1babe75de4cf352fdcc62d4c0af0a7674310919460b1f5785611e00c1930c22f439fd9d81ac77bdc2280a5b7963f188bd223461b4d0b6266bfce3e33e3ff08604cdbecd7d3b067c056a4fa11c41d2019abcc13a2266b4729b81f0c82c231db36d26db0f1ed7966de55a30e57ae84f02fca87561d69cbf131025dab811824c27d86bf4f7bd9c920ed9e8b191074414cf8590b6a129fd804ee5319a10a52bb41b036985d66d452684d584efe9c838d2713f1a7163ac07b1f885ee0bf1182f1282c40eee03703721de504c06ce3e6bfceae0d70b31ab7a36ccdc1c7280bdc65240e4d286a3333813c6f989c31443e63ccb5810423e7f30be278151f6db8b856ef9e9cab5e8744dbbf3838d550fb69cd72e6c9b0769f610b9108c4ad9df5e020fa0bc7686e1d23da54caf33ee727b631f77b101e2d53bceb8b81e31c1ce8ba1cef63dece7b90489c0f4029e06f967eed190e85e499637923f08fe1fde99249ca3bee6e9ce8bf7d66c24e2ad2d38b4395c8f310086c2b25d4b78bc170077211db0afc5767a085f3af2f01ed79e003c825d76507e8e2f02b91f59fea1b0f2b3fdb4fdb73bfb366484ef25708e0fd3fb4637004b885292c31d0fae3d2cfb3d9cfaf37e65d0b5e85eaf7a8faa3fd3085abf3d9681e4748540c1af557328712587717b259605816eb4dffa1e509ae505744bf9936c8bfe033a056bb8b6e931c0c2c57f659f2342103bbf9da9ef80f31464ca0757f9fbdb11c8ac65863f618f9f1571a2b116c21b50c78cbf3113a772a8345cc6ef270a167dbea9d1437e38e97cab524201cd3b9e6bf0de0ee9e251787a4837c03b74f18662327076b246aa3fcafd9eb91c831482d25ab35509814f4fb56a6955c9a21afc1800f41aab43e143444b448044b544ea44912045355445028945c045f445ea29465f46179346c846fe463347e368479e47d2470748a53d48e7a64879dc484c4946497c495cb14973e5494a9a514a854aba4af04ace244b415a4ba9904b13c44bf94b2f4c634c984c1bcf4c91034df5384d6e4da24dd74d0d4e64424e3d774e0cac4ee24e4f4c4f814f16b64feb4f99215055505f8a50c050f5507b2a516d6051c894517ac9510052345269529f521dd352240853ad3e530c73534fa75363dd531e5447547d547db254e65455e85155a28655bb553ff1552556125b569156fec556fa563057806457e099578cd057ef04586b39586f58a358d858350e59c143597859ae59e2595a4d5a32825ab75a9eec5a225b565b8c8c5bc15bf65b4d2b5c30615c7c955c5bca5c79005d57345d6d6a5dc4a05d75d45d095e405e745ecca95e7fdf5e5f5b485f727e5fb35ff1e75fed6052608760bd60f260c32661f45c619161c6610cfb6131626562d49b62d0620563cf3a63706332a463fed9639f64446478796456af6436e36465144e658365e8b865ee653d226657668d66c26638f666862c67d46167899667ebcc6713016835686b6880b3a82004fc10fef1632002d00f7a684194225212a5891245aba2651174d18591ca0869b4364a1ca98e9647eba34e20ad909248d448bf4852252d935a272d94544a4825b5526209b5845c9a5eaa6052312199d64c8a265513b249a89b2e9c564e974e6aa7c493a39e924feb2705940a0a0995864a11b58a5246ada310522a29a594b4d4c5d46a6a726a3d85a0425125a9d054b4a8d255d5b22aba6a6195b2525a515b2dae5257c82bebab04d615d6128b1a2b9195ca4266a1b3105a525a955a6badc496a9b6925be9ad0517acb8945cd65c2dba565dcaae7517c24be5a5f44a7b21be467d2dbfd45f0b301498122c0da6084385a50cb30e4b88314aac95626bb188b1d5d8726c3db6209b224b92adc91065aab2cb327559c2ecca2c69666d8638539d29cfd06710682bb44ea2add11269a8344fa6a9d3166a7da54603e80623d5d06a8935d55a722dbda66043b18d645bb325daa2da966deab6841bca0dd26ded26f1a67a2be45bacdf1670cdf12c18005415a168d568b10a69af40697469f1aa69e0696a496a737f6a08b36a0ae86a6b30536b886bbe6bf36b276c5d6c926cc6c76cfd6c23326d666d9c6d70d16d0c066e8f3b6e716ea56edb6e2c6f456f7a6f3db06fcce46f7f70507043847054b970e9ef7023715658718e71e3c371dcf771532d72d46272899772abcd720b02733673816c73a173d673860b741441747574ab74e1743c750b4a75678075b475f1ea7520768c54762f8976bbbf7615f3765a28775f779377b0c8775cfe773278b867789d78d2780779823c79317279a6794ddc79707a8c467a6f7b7ab17a7fe57a7bdb507bd2857b46ba7b4cf07b5f247c597cfa907cc47cc7f97c2f7d637d0a987dce7db0037e9c377e036d7ee2a27edad77e0d7f427f29767fac7f307ba045a53dad1afa13ff33033e093a561368196c036d1a6e6f70717273ce11ff000a204000507090a000b0d0f07562746e756672755c00c0818219eb80b4a85090f21cb10811104204840808826bd21ae2106266910845825250fe3fa9a403ef0d103b4d15f089a7c452d8e1fd784fc2c92983306e2897e97f6e51785139ccb1960339479361195064ec1f53abf405680c5a92878b8d8fa5968149f153eb5b352ef640abc0d6f1e0fc0d8e648d414b620ee6e5fe04195225cf5a9f6a566a27131a8d38015eb198c87d8ff30b98ae17ac17b2197e00e0ae79cd2c821cc723853117037ca8d6b8a1f5038ff6f6f1b98806409d6ba3c1a37b4ba034853212c535ca8b145429235358a7a450194a6552056a15102ba156805c39bd8282a528964896a859245a5eb534c916d02d47b858b95ce9f2b4cbc40b562f922fa75f58c02c0543244c689822625ac5a08c191dd3858c954c4a19a2652e66aa9a1939637a46054d281a9134a169aca809aa26c89ad135226ca86c8ab431da26c40dab9b953747df54e0a8c289c4498d23444e550e94394fe744e864a52352c7b5ce891d543b47ee70bd33c1f3154f923c4ef344f48cea61d973740f173e573e51fa94f631e2c7d54fc91fd53f4f00210534126847038d0832157419147490b1103a4a08a450d0422186520d1939643944f44600541d1e2ddbdc648300981900bc5cc808412501846007626a6385735f4f588619c88c8769363475dedfe0e1e27388f9889089208a1900328b19e3e407d8778c19f88c788d508e19e707077370e9eaeb2c8f9c8f75632941535f293e52b691689219d8f2f3f4f5f6f393799477002c95890ae39697fbfcfdfe6456318a990108020c0508879a0d9bbc9b449cb49c08090a706e9df09d609ef09e0d0e0f086ca019100811082976a1151617181957a2dda28ca3fca37ca4fca48ca5a560a6e0a61c1d1ea8a73ca86564eda89da924aa5f568d2f2fb1af2d1740abc0ab5b145245552028ac19fa046275736d6f6c6b5dad9817f802c556a0009f958d0238b76c03fc9b0203c1c2a1035c29060256b1ee02dcf97e02996f1e00b8d41003fe23f401c4994101159a2201b417fd002a428403c0bf4f0276951103a3267702b60e127319afafaf53344f82b019260876b11929082a082b2c2d082e082f08313233343536b4192829eab4370893b5193856335db61900502829395472796db72300d8b73c3e6f6b5fb8196628732746464968b97bb9890b94452d62fc5f16400841426f79bad747c1723c693e282924bc9c3a2014bd190029705f48bd75ccbd74be19a4bf19c05cc1195631346972313412c219005526788cc3190882cea842cd32b5ff67021204e23088a22812c49492ce5ae7223114272112e111a51421841042082102094424109148241019e203d0b99f38a15102f2c109925fd2e7774f82940696c057f271f7866c08c2ff90fd3394ef22b81f813c38fab854d7e777fb9d901893cadf2348ceecb5c83000c075003ef02d24aa4389595c9b0f314dffa19ddf045d16ff01ea7030b3264fd18c23117b1006dab869046ceb6c46682ef350901ed9e9b111c3f3b086cc9cab711814cbf674e140b7dad402951d1c5fb5feba790e306b39e3406c2531c67eb68465fbcb74f2a79ef8012f43456676c5eccbeaf73280e1ef8d9a2c6596f2bdce4f35396e1f6a3a43d58edb9d40cfbcc29e7c66464f1186b8ff798c109afd5cb4115234cab444a75aa3795bde4389cee52183f72d9291477449e63764d755a4cda33efad655920c8896f3be42a67142293b416fcdb131d6a087edcc8c511579a7a5b2df46c09b89d029dc82e415a00b0e89dc30656c9fea96d70340c3f074cc3041624a7d12b33af12822383abf60ff5b233e382985e23b92306640202598c121755952a37b8193e0f87e87b556a0863451654d10c1542546dea9e3d9b52df85e5444bd6b911d76fe449ca4cd0ecca04c4d97c31bd6449f80a25de155e89a21dd0e76724f4853136e72fcb3e6a14baeaba1d66aa511b3f8403a94773c0f14a023dd0e578d8e4fd79cba6769aa20f797df03666101be57b8f4d1e6989d25a85307321f80bf3f9c8b59c1014e6fbfdfa090e99eb8a9fbe422dc6a0f43df4e540c7935104ee6b1bf3ed36ad9977bbc831e38beef9c4733972564f64659e1f4fe2329baf82e6c9512436f159661c3e9d7b82a2522066183127e9a7a0b8f958e109660bdf4adb7dc07d5497e850d93109e750e174cab72c37a36e8af9d68fa4ecec2fbc26afa8b614562e3f4c26ba8ef37aa3ba8e95760006072f77080a7b9dddf6ca4b9eb5b27188a64717a9a378f7c00d9d9cc7f2b7ad408b5420508a7b4573ccfee7e75fcc504f1eb4d0693a57946826482489b9b202ce71e730a9a7f9ebacbade4effbe77ce79dfbb9889154c0491a8a73e2f8d296929637b411e42aa05082883467119b660a1c77ffa6691e0644bf3f5dd19b39baf9c5b1b6d950fe5cb81f66510e714b20c6f2fa3e9b3075ba99739038e1e04f374e6239fc70bf993f2badfe5bf46a16bf9d8b04ebf8de7ee85c152f47d6f5712397cf70b5b9fc0a48819d889e9952e234529813fde30d5d123b246090c4cbd253beedd0ab78f5d1e367e2e95d08a73cf4a56660e0bc4029cad6e7d2f3333ed9089d9f358f02c1b57eab6100da4ac448d945dac566f1edc31b361050c32a659dc48de6656f222df14181d2d3f439746009c36303febdee37589cf5ee95f9f4afc667705e684489d33ce3af596dffb85dbfc3f5e537bf4e9a69497d96c4cfe5947583049fde4bce1c24ecec30faeeedb842275f1e6c6251a9fe5f7559d8b2ff43809ddfeda9c8ff08343a7b9297afe1f5ebebaa7d48f337050d32c9b8b080efdcc1e223c746fdeb3ac3aa5791c7b49223a677baf49f4b3a7a8c0eb88bbcaa13aae47fbda50081b66fee8c243e3d13ad00acabd946f50929c2e1d0c58178e532e4a47a023830983e33d6ad6a831d9331c9cdc549d7f0f5816ce1ef59db71440b164873c22723e24691dcb3397fdfff8c3ccd31ca532a7fe42024a7549a52cee7917bc12a10c6ea9d8c4548a4fde66ff9efd2d1ef4d55700f46a00167d119b90e2d47c770c70cad33092e38d754d82796225307064609663774a1fe343820d4c5418c0d31755fe281ab411b94d7e10caa699238304382b4e79255f56aad78902d039079d3e6a50acbbc096711f3c49491c7f7effc2acc1ce240c38d7ceb4438ea906fa6089d7d159d58c1108b7fd14e20ed4b7c9a24d05a4e914d447814f297b418648302d46f33acd204a22c4c6479af26caa9292ba6b8695346394db8a6440b9aa76cd29886cc322256a91134c7fd406baf82b26e6a5f7d1b6847517a54ab71a03ff7f68e028fa7c535b6691bd51a780df7b9c1ce6d3b19901c792d2588c7f7935a0fcaa6b27488a264c776a14b74942161a1e0e7217e8bdbd9069c97ba2e08df8e84dc13f3c62d41978e76867c9e41d91284efe9494de33bce8e8f71bed304b0c4642fb8974163dd651073d85b86fc78f3f1132932cf0da0dde8e2d1665f269a7d7c6907c282e96586c995a440fdf9a80764209cc43c0b15830b1a45a5cc2f39d7ba78e590673b12e0e5c9fba3b854da695b263db3b8c09c66d8010e83a4885bef88849b05dcad0d77bb4a48dd1d4c3b39a5094c17bb854436eded93f36626e01e3f375f38dec0281162d6ba0544e86c95ec69c43f4646372645b08e6df86ce024c71cbbf711ecb66913cdd3dea4701b452612d0c885734e4cd45645c0f8c2420ae4f55138ec860d2bba27063fde6c1b2c1627de1ad2af690e6d47adb2cf752f0d01a454cf913eed56274bef5597e5021b4188bba5e402bafb01d08fe66125e772b40a4c2400c30926e0df84b3e12a8cb1e42d38fc85abfeb8712f2672d8a001310306385ad6dbce4d1b14773a7ac95435b534b433a801b6026b6a6968676c05d6d4d2d0cea04f036c05d6d4d2d0ced80aaca9a5a19d419f06d80aaca9a5a19d41af80d6ba81da18a69824613daa03ebdd9d52a7d8b83a6a578bd56aa95d2a1d778abd923f5d85b7ec1bf5cc193009ce7c19137761c4d7c5849a1a172ed92d580282cea8c2ced4fe1d2215420c32c618828c99aaf4f219200f9d238c8c90888888042249410a0aca49d20101834379ed581f787d807e6d6b8785e9522b635f0f87529308276e26ee54df15627238c72125a236f2b91b0f04a3887d5a0ee759c8a2baad431d218e814a1dba730005a1da52eb42508ff36920c9cc733d8eb728ef277c691fc4382a012ae767ddd646eb4e2a7613efbf6715f0369d03e9f8b1d414255ba7562f1879de323654ccca69efa9b04f6a1115c5dc1a741b1d0f3d1c67f9a28181966c4d6eb8f761be4c1e9884a9b7c8acc5658ac18ff915c2c20ee4b73ecb498f4d3dec6b3d50b4bef70c6fd7525ad6922efa78df3d6e725db9dd6a0294a69d04da7be4df40854e27b615610d848e5bb0a01373bc1e20c65ea0b63ac83f02ae77c6232fd44ec1e89a27d1e8dfe9eb939e28a3aacb54f89200740ea97c6727dfd3248ef8cc75c5d1a944548e41d4066d226644127526eb4a916dcd299be0ffcef195ea56521901bb4368e467f44dd916c6bd5175bcdef9cd632b5502a2f4c2f3a6a1b1512d7951beadceaac5fd01fcfd4bca39997ec6edea1b9a1fbd76626a13f78fa41a2487172c4faeea09f8b906d52aa8b3a52a30ccfab6d8ba1cbee231852d6ddc21b15fdde3850bb168a50a1e8e56bf421241815358b6b0a73fc0c1664a1f5eb7eaa338f980aac13dfa7b32743cb1a3cd69d6c5483172b73115733a9b7c6eca7fff576d5be0ee56dbf9c1ff5dcbc8e20fffffdab41de5ffffcbd68d6c5fb75fbb76a4d9876eb8e11d5843bc5fa354a4d9bafddab525adfec34beb7fff656d4ae2bef67a3ff9bf571f59fac9f7bfdab647dcffffda9685dee8ee57b62674fbcf6facfffb97ad1949f7d6dbfde4ff72bec95d82ad832d93f85b93f255e02630fdd31a4ba914cc950cc1629da2305b3202332529c892f1d9c324b01dec844209d82c1581b9923960b35414664946000442119895188199c9597056720467264a0714c214cc982c819b17f3c4483708db887a06c3352d2508875a76b733a184d240527dfd90ece6973047eaeb1c384206f3908c435711ca9662ef855504f516055022d5c81cd05f8dab184bc72a44871039e6d1468c6038136ed7028c15d6c35f3c2bf6eeb564b411e335c295b423bc2beec916709f2f008191611efc45b8bed7439808f85d9aab4e3ad44ec78b253820518ac4eb4c145cf6498893a06633dbcc107b699224f0e450d19e0a66e8f913de34cdefae036278bd0fe127dc1c3f0e572cc02124744e4dda1074439d4958c9149fb63acfec2879e3c7ee4270fd492de2c25fe1cc50fb9d5af83a8be173b57ff1b2e7b83c98a775a325532e64f1c4479e3c8f060f7ca7d9799b4ce0b7a16fe4bace0d947093182c02f6fb8be967f280d73106f2132d39e5fd8cb669088c4300941965152137201a272b41d977aec7e701da1900285e89c2d9262a2422252e332c92db1900b8e218dc19003c6789add200dd19002e536b9e7ce0706fe15344e219284814e2e24138e9e32980e4910e9f01777632620ae57ce53e69643831365d3e3e733e4172633c5b5d3e3233343536373e6c7634353573356a08bd75ea1912be08c0c108c208c30857ec1962c4356c6c354df05e21a44a6315350cf2940b9f0329f4a5f3baf4c5f4cbccf6193a33546f763443f84a054f0fcdce01f7191560039c0f1c00787ef7903433317478f90114f963f98802a8d8f9136cfafcfa7cfb87fb337337735f2dfd3405d2d3cbfc1916173cfdb4546c41d4353478011a83333560041adbdcdddeae051ad073836059061ab86c218d56f4e8063a33381a240d3403e84c2a4f5f3aa1081a000427648b16a803f4c026e65b81091a006510c22c0a0cd4592d0b380218481b6350364d0c1a5e0e2ef40b6c0c24cc0cd70c0d1a005a3086a03c3438943c0ee448333238d80ede0e200848e5400f54ee05333601b00fd80560a6101ab6594c10c8056c35315f3011a00f78cc116f726982cea8028db50ec22984c3308c03298e630c314f3d42298e6729100219a41441c410620821442410111111111191a93a3b6d199eaf6f9ed97897a20208c3cf4176acccd8714069314ec018613d8397b7e2402806635cea4722236fc3b37c7b2015a1c9e0aa82666b7c98c2c1c3167bae504e770adcc2bfb1b11e00a9ef61e62b96f9fa3d00b7ab30bd9c96968d73fa75734b27302db6c7c303b2b3ca9b96725fd821d61750e0a3142b550a0c490850488fb9637ee45ef947a0a93ec5033af6aac71e141aa5d8362fd24d8c5dff32f0610fd5bd84d1bc04755590ceff0cb7a2a1e8e3f8ece57c0aa44b57fdec1a675dea36a35b9f5a2bcae904401e6fc742edcb8744e21c69853986d40c2477e0dfc499f44b4595cac12c67148f012a62008c9eac2cdf5da1ada131ff3bfa969d3c18c08632b868d69ed5598a42a6fddb38bba6c35e012df2e4b818a110f816bfc39b6cf5cd979cc934b4846cfa749aeb1874c9cf1cfbe014fa47f8c9933df3be6c646a67b4f8fb6b9d8b61a401afd4b9351b631ac0f0977e226a3fa7704130768c3d58fee24d6aa76cc3f72d873581d41fc72e7fbeece38613413bffc87384ce8f2a5b60cd171f081dd308c784582d13ba2aa067992b9641107ce23f29e90c8312a2dbdc82c0153b894b1efeea389b6bcd0b932ce5f8383438fb75962b1349975734396fff26e7577cd756ab7472162e43c69c6d613aff95fec249128429d1398ebe5e9ec93347faaafde9c391b7847ce60fc846747e427573866963cece397072939e24ea3459d31908f86bfaff149d07f37c047acd7185cbfc2ab1e6dc3fd99cae9a33421dbf683e24ee8bc9c9284bf5fee17052aa51680ac3c7363015766db0375e2f607db73a9561bd9861e012f09bad77419e416eb345917612e183cfbb0225096b6db23988b692ba331f6e77d8467790535b4c375dd53e91d7b1542f755469f01ea49d2c000d7cce36e3a708a113cae24339d659212d22d85c878752c2436cb857fa0f0b5156f084e30fd0ced0615a1feb686b7d71360e13312b1a67c353aa334c565cdd89a3c521c9ce41c2c4d57eefdd82a19d8bccf4a5da0eed7eb618e9e142c9dbb9c7001e6244f7ab3e869ea4a4185ecfa6ab1855a113f22fd9a9681c1919195b39083df0054468d393ea088e7621e224945f8630dd3880cfed0080a41f10b7c1ae2e4d45b1805e14bba269c1ef8de2e5147df3c84f6f42d17c2b66e9ad3ec1e1158ede916a7a89f879d7ae7339b8ac0d408376bdb3833031ae292123b824f886659f305e0ab3f86f93a32a2a8a6e1172ec4c0d88fe8458c20085a5a13e74f5fef9c42cd8805d64064529b5c34e593456ae521ffad86813205d197b9ddea4813238a9d24fd7891468a7b5a56553e4e060ddec089fbf9ddbbdfb2688f0bef33b6f76005a9cb086c510f1e0c6ba71228aa921ec6dbdc7341e3b1878d0d323528e154826edcaeab994f6a7d669025ce1e59b92dab7a9b70f6163fed80c0fc33bf8cdcef6fd32215afb2b09a52a5e1e00f76585dbf64ffa8b14753f0951bc96b46e8d77544a292e3a7e47ba20d868cc25372a61d4737629454a3c887c9e89bc89ec0a16e4bdf85fbd2cfcff1833c3fc9b90d7fdd1be6fc97174f25775f54f6b2571591782741d48a723878e38644bd1a92031d43ae05f644480f47fe2083edbe59c1988aac80fd0e9ff703da077744d867a57374eaf60e9cf751600ab5af4277ff0f495b747ebe416a2159ee62c2546d405f4646027005cf22a2d377fdd0fdafa27c987c45740bfc1c8af1046004406197ba69584971e33fb3c14309340f7be3350f6c30f379648a700d91c6976c27c968d184ed01b567b854b1d9e9362b4f97546ace1ac5d0c89de8c6f2a0549b5cd805c3229d83dd96180c0125c0793afc369ebe9bfc309940c128c9e976671186fd0098a228817d9cb11ab2c6bbbf424ba5af0165e071489ab503802ddcccf2a41c2c9f63fc4229ea9791284256ac0fb00165579f3b1ef138fc8c85855298b9f66fd49bed2335eb5971efefc2ab4276f0e57a28da01e9663c444a0695ef19dd7491eb0dda41a6cc08ae4bb532679dc93a5220efef50e15d04ffc5c20927376e6c3d86b8be1d97f76d905cd8fa2c565951f8d62d291eda9af802ad2398a3e77a8970f2cb79bfae9bb5ce3ffc16fa788bc77cad66b2d3f533fd978056818c7a673749116102784598a3c5b6ee58c52a73d7ddfd1479317d96b62db28aad207d257cc284df4a563703b3d95c48474ce277679882e1ed048c362dc61e92a934e5cadb44cb8d3ab03385800e6d6b2037ab37f258502fb3746fc4c4c68e6ca9c3f929d888ddef8b67fd23ac6f9dd439daa022747eeab6080950a1fff6af05cbc47189b041e5b1af2edce38ba24805407691da8e2d5c6b479c5a55e8e409d13d773ba43a39a419823f8c47ef6811e0f6a80a478635267a1415f07dc87007a4b88122a60b607ff7f74ac6924cd7078db922649466aae97757657a9d55545be2d211bae4321a224d3928a4d92761c011e011c01ed77ef8ff56d70cfeed37b7dc85a0f529b8a7a6a5a4a3a1ada7bc441693b503bc6763a36d53e2a0728cabace21c7818e7394b92bf7fa4619fa51f091d75bf80a0a55faf444dba1e3c29d68152ccf9e8c5e039cc8c32ad4e7635ec10c3406239577adde9b2f8183307a90ea2e5c867cf89a851ece7b8cd665fd6331fc55f86e2141741a134fef298e9472ff1df7a3dd16099a90a3b26d243effb58a840eab255bfdae8b4847c87940ac21be2720fc493fb8bbfce051d74e087f2b1dd0da6c5c2449d69e56a80762c341df1acebb5ac359c3588397effe01c39063becd0c4783bc9f3e7b4c61b54524191034fd9f71016bd1edfb83987bbacf1c77f5d777417a856f6518ffc7a982d0899791cb05990a61754ef2eef855215541d44b156b394d396949bffa8b14874e448593be61e4e9a7de702400f9dba6ceb3886b06566e4ed66fb94d9d8dc988fa97a1ad796bd790b6dd7d8d0b0d8ff669dec836b4fc42980115cd91cf467ff5228266c0bc78e66da68ba82d332813b4d7d36f045c714c5964cc6be8d25514bc4d06c75cc030f2c59cd5eb79027af2cd06e605067ee4bf8cbd4c74bcd0e1f0ba8ba1cb7c37ff7f650b6dcb66cb6e81690b2952130d6cb9fe7d1c27b220bdf5e4d2bea854fe54e233f34d0fc13aa494881e85f06457e1fb7f7e1fd21980199704bc53d46e917a7f62825a062663e2a31f4ae856083c93126c53109ac44bea7d50007f27c97e492abebae4a79dde8d43c61be389bab9b8b7b6b5b4b3b2b1fdbb8ef4f2eada2ad8ff0f6d6537dede2d115e0dab067035dc1c668c807b7a0be03c055ef93f2e4fba40e9441758b3dfac4e054d8364bf1bb469067667a7dd987719594c0f0115e95fd271693e1a3e2c52abdb8c4be1884ea5b44ba5dd367c50092349722fa2fafbf8af85175680a824a2b5fbae4ea30ae90c90f776346977640240773458b687f1abd974a330190e87eac02b5251bfd773d873e67c6cf7fe3af3f4a3cd9cc285a713955b7aa2a8363c9e38348ffbeff45058684f2d94cbfe2f847460258466daed73909ce1f7c715b13e77e077d91b4f7b7ffaea6037507a0d87fd91f73f26a4fb9f8693fa7ca3fe4d56f9a49cfe85916faefd73016d8fde17440ea07e3bf6b8f4a0792623a7daeadf90672c43051591c709fec7dfedbc77de7e5f4f8755e78babd7a964b3e540afd2be01fb4038000c600010068bf731f8cb8ff70084f0372c7040f0ddf9f337613ff97a05be6281f0b9208037088f1dcc5ff1ce1f0c049cc9e032b902ae1016e0c101edf1be038013bc3cbf8b79f2d7032c406678b010f17e7be41050bd2b6687fd219c16b8d3f1171b1c63b394a0975c5eca9d1bcd256de682d56045d2a48032b29ec048afdb5d2624b267d80dc08940758c5dc71b87db088fdbc6ebe0e4edb9ca0f2f743d315d2504adc51d56210691d66fd9bc37e2e80c330b2d8ad69e3ba5c73244f75979e20cc52493fe8a0f644e414591d20436baf3b23f2c2a28262422201e1cfa8633c382d96c453251262b24201c18148c090610c4610171404fc55aefa7e69852261e51b4516f7351a56b7f220a034a928dcd2e43354121880585f3a8a3b6769f03132519201408c5e65912e5509261ca07c363808c48076340c3802442082204112220841042081110012184c84cf9014586af1d4bda0067e90cc5aeb0e62ba465b646e838cba11b5bc166e7e10acc973bca64f710b6dc2f16876f1e44fb5a320a1c9c3d5fe11a36b71d4532581327c36f7161b0c45f887c63ac73ef9e7a369815393a0feed4b60a85d8d6a70f9b277f97d1a0e4659d5e7fc47b8c6dc239805b3c900770e1884a87cfa501fdb0e497c3ef35be3a3b8dc6f8931a8eccbcbd0ac4262f126180748ce60a8d26b71ab02c963cf5852aba955b8c1acded1f9bce3bc7f6ff549756e56c98a7b7e69b05c9c4f38d91c7dab32586537fff8812bf037f58d2bde79fd06055d2c57f76387ef6fdb6865717801bfa7c45f55ea21cc6bbc787d878090c68b693f691e86c7abf9e95c86354b49aa2999f7f46711344b87f3bf7974358f264adc65d9e2fed8ff634d8fa53748b8e3199d787883f48451957973cb252404e7bd7c85ef59f4f78df44c1453cdbe07c59fc7510f9bfb8f033c5300e8ae7c8221a36e1f83fc3a30fbb70e2238d5275f8e81d76ad7c36d87b79ff03bbfe878348d7d1a2e6cd3727f6db34bb080db8b191a1a85a504c23c09fe857a365803656f4fde040b70fb5b79e5b6647c768b49f1efd6bc1b9b513e7bfaa77fa6c6c7b3af3af1a6b250efe45e1222ae97200b9d48894a4b0c33ef3c18832a081c24387c529ca5d00aa8ce09d4cd19bd94859c46c9ad2b2a586fad38f9c0123e685f72b3bc53e855bbcec0a8ca8b60cafe8c1e60490688bf9772668e529d82bddb029717cc79d6e04b6230d0753467ba2f753a74e425af39fa9f86b72a02ef0dc38e0a5873423afc3d0d5fcc41dc10065008d2983e42f504d38801f9ca690e2932f940d27d01102beb1a122767c5148bcc346ef602b54a07b9e18342f7d426879621c3c33c26d7646f39faf72e3320f1cac6cb266c1eff5896d9317319bd798d4a29f08a47136ac5679cdc340e91be393440b73a2c7622b6c0ce184d19f351a650e0423e2c1a0a7e54671c3968022c0efb62c360a1f057e905b40f8ee486a1785ebdb0030a643d1ec1d976ad63b0e96d6f40c718c193cbed3e824d5d385e6ae63501b4e6f5561a62b59f2ebb801ec63ee536359a1528b3f508948eb6d85b48c3322ef7530ab6c2037c587d57952e8369faef55f87c3ffe7365f665a797c2d8b9d285c5a2cb466871880d8e69c356b5fbd6503e1cfaaac5cfff7b6713ac1820e17d7061df886c20d5170a894dbf24ff1b868667de6896e323b3ed2885b4f17b887afd90bf40a252b89795bf7c0f4c62aec4141f8a45877c26ff0c7ce6d3fed4fada1f3f040abf67547769c332cc47d5644e9adfc107fabbf0d6870465af0ffd5e6b77b1bfe5563a9e198be8898af165864791ce0328b33a4cdad6e959f34bf08f2d3406c874db54682bb7dd8410653dcfa08b768680c82be1edac2fdfdf0feb21b194a993f55fbb40b6dd1128835f8e572a3e95c934411229f7d615c45486e055e8731123ac57ab4cd821fe920d878edeb3b566bab8dced239547019b687f6f4057cf30602c4d0f8532b977c7e972ab6e08e3fe0f40a29c1b6a2325c84fc17d4da3a7dc2af9dc824f4b5ed1fb58420ada31f61a7785b744d12ee01cf9d2dff9e08046063730b10d3589aaa4cd5924c1ff10fedc38d97f6b0db785366dcf0e6621979e82b89e01c5e65c1a7a9e0ec39dab8e1c87e8eea5db7a8693a71458ffe3035367b851941c7763e1230832ebebafe4cb5ac81102221b0dac8c9504687e718ee9db9497837a79af55c81d3f041d90881fbd133e6721e371ed2e2e83276c2d3302f7163eef6d91fe557fe2005ccb7f356614f606ef0ccd50a7d103c6c22983f6ede3dcb9a2a21e4910cf0ccfb9f487dc66bceefec37286b2569fd589bff303a767a3f3296996a637e31ae97f6e55a434ee35f216368c55ef68eedd92b2831f0c9bcbb92e737e4a3aea533f1db0829f2911aa7ec64989bc93c3b2231c3031facc611be7922a30677e9ccb55b81734eb629f03459d55b2c47de9271b4f43eecc4b18f29fd0c78f9b3a43e255bc84169840e77d53b1f736a8753e68bed9b76d92eb13d5b7caae8582038b7aa71140a56b368cbc3e6697185f0e9d34cf6dbf812922fe04dbb651ad8c2cbeb9d259b9ace3bbbdd03d359f92614f76bb4fa55f2170938abaa90efc573740ea5e9096cee633893cf00d93881bc123cb8fa5e70305bbf2c807cbe8a58d06248a111581bc736b82dbb6eba4f282da7da1a70b9796def44de0e2c76d97f14c74eb53ad835f70b83660d1d39c1ed6b036233acfbae92b955ec0ef1828e588e1cead9e074239674e3313fed341662f5ac62d5579d4bd64e0a242365349dd0669b486c0ee2e35e5c91ba692d6ca38e673ffb0fb7a77d061ad2251077d747e13c4670e1e4fc5db67334cb81abf04d06f8e4dc950fcad7efc5a87bfb072303b84e9a7b67b0442e77d38cf3d01734460a4371980fffc741182b777f27c46dd3a65f6d16e866e0fad4642fb0841f7da44e9f36faeb559d43815ab7d0f9466aff63f1634bf98f0f154ddbea591dbe72ce2ece2bb063ddf95618cd830edd4739e30d2c1053ff967ae91a2c41eef8e1663245a3ddfb158668de178b3f66c5a30a75efe0e61119beb10dbbc748e69c5987ae066315cf2f3f1ec0e6a5676b2f0fdde896f55e8d6728a45df0f70de83f216c5e9af2303a335cf84361b33b0abe093b063f105d0b0e70c0305887fe1b32e48bd606df1e390cab97a33c3ac8d349fe261e21a6707c86ff5aad051e3023be64c0df9af06fc6ecdd79939ef4dbf8db9984e6f4ff4d3e5815a5d52374b8d6a8e27ee60ab7ea4c3804278f6bf0a0cde70414030b554a201dbca6fb13b9433ecf6970aef2024f7dbeb0cb7c04d29e6699287e7e933470857e0c20d9cbacf4167eac5f6d68d21c48722c42c0e6359d2067b9bdbee1e0fa5dfd243a1d49c128723f70068ff4dc266cfd8a338eea61e010f1ebfc0066aeccfd7f801340d4a38554f04abe0207aa7c0b484a3dc9bb5ca5a123e369f9328a7b446f6a1619f0cc1ac6c015314f0ecdfe09e67f5d7b652dcc21faa143d9a2004339cfb0151052f58972751cec906b3048ac5072a1ad4c6157d0a44ce218253845b232c93f8607103a9f21d62078c6b87988c3a0670bad3fdcca79aa1c619a13c5070df1c3de2402d570614e1754fee402e72a57ff716c84858de126fee5788bfa7f408b2f1a6eeb7251cc2e2ccafc7b1791fd4b571efe04efc0e96ea482c061462730fe3b2a6048a3685cd9e9cfb1bbf55b7add81feeac2c1c31b7ac69b83aa1996bdbbc75ef4271a1dfdb7fb53423308f0c98d5f86de550790ff76c74a9eb29291ff6972c1c4d07445aac75e4cfb4b34ed7f00fbdc8a8fc94a231ad354073b4cfa34a3d170754abd3756f17123572eab2347c39c29db5d5a0a7a87eae3ed6900a3f373b88f5af170d16b18292eaffe5df81f4ade2e005766908eea76e292ca25cb2e975b22b31ee1cbcd3458e009e3e20c7121d0d0957445fb9157683d1016b1bb22d5443b2b4060dd9783c8419583fcf1657bddd238cebd6c4f956d266400c6f4cbd89179e9ffde9601b39e248dc75ef17349e1dbc4f6f6da0229e55f03a50380754ac919c8d3beeff46257c6194aae8d9635516e7674c3db11fceade56491aafa8af56977a36ac6ecca301ef834d6d06ef4a70ddeb38d116740d2501100c6237836d05eb7a0287a8e9ad15b428e57d55f8272fb08f00811e947445c7cdd16c4efdd7168a9b3c9c87da28058c7526f1e5f633fc84342aa19b6bff82f854060b29c0fe9060455fb15d8414565b510ded90f590155f86e8683fd1788ad89dfe6aa4c67b371ffc64041253645769aeb83c5df2a145f01867d162f38dc378d5fa2acc00862303391a1e87bb7fe3eecab3acde36f731f721db57b801008595106b4c389360a78a71a75aed20383d251d940e92396a1b147ba9d33cec594f23da35290c4d0891d29a56e808625ffcb8c53a18b55f07799ca1ebde897e5acd31630b028177cb6ebeee93c89c8c6cd5ddfe7fdd2aed6520c648fd509f8aa4f7dd22db9526fe2f357a63ad0782a7adf430d81aff4efc25cc0cd69adf3b2e81f3ba8169864175addb6598e0d78902de89b91dcd7ff6f3eb699cf4ef819c93fa9682439d36e1565bb59b01f4aba8ee849f67d7c1e39f29ed1ebc3ee1bf5eb8fd989337e398716065c6f5670c4428407ea263b7e1748c987ea867bd77e4408ba4e9900dea0faf2f90ff34fb2633eff482f02b8fb64c0c6e54b4148fd7095a1c42ad38c0e738c767ac624a054e54ce6709067614c758e21ceed29ddef4d07ad71cc2e4b510664da0410db75b11dd8620e18755a6db4ce4714393ce13cef5c356e221dfb7550d2fd535d4d79723033c55005a5f44163920665207981f31ebdc8ac0eea066861b220167b83f8417dd0d80a7ae8cdd8812ddd40e3905bb90153687f8a21fd7ec3f5193c4b664ed7e290539015a015f01715ce343e711dba167825e0cb37f506cfff5f06ebb1d1dde7ee69d42dba5dc2c6dd0f2e9a23aab345bd8a7d84752adfd5132f8f988e8571ecbf6c325406ae7b03dfd5840ed2f1b8d1c47fc7da07d8fe6e99fca1edfb963c1bbcccdb09fafc63fdf0d422fca517adc68fb1519185c20def1df12ffe1c4a07f6987dba57bfb9d726fb643312181f56303ed4c34f80713ec4fa22dd21ec6dddfac1e5f4b02ecf2d588bddbd324e0a6fdce8df5bd5b40ff1c603b951053629ced72763b0c02cd70bf151d1803d6cf5fdb9578e0fdd90a043c51da3f4f2949dd9862efa7fa73742354cba97bfb924792fd471d14dc1e236eefcafaf97258b747bd0ab45325ed5f6ad06ed763fb817e4c01f66ed7f62219edd24afb01ccda8b55b64ff7b627dd608f3b65fd3dd31e6f0a7479d3de2f1412ea5844be45a4bf6f51ca035472cc7dfbb0ac5edfc5cf88d97f330ffee68ea3a3018b1252c323cdafd20dc120752e174e8938e1f1b62c2b1bc3eab123499b0c1c136ce69996f6e5903a7f39e8fd525d6cc76f92fda810c84d52c789a81c3cfa63352f5383a6fe0d5136c4e3742ad76eab1ad5459042eb4707f2a11a93ae0ed9e7e8d1e11725a3c79cf697ed01d28e8f5594876a5e3608d3b66d0f9ba4c3ead4b00d05b0e83285ff5610e077d2c0da2e866076bbd70ffc590a69b05becf2f650c4f6d31dec5440f0c76bb017a7f489b374c274f518dba4c3fcec94d1842e2b8e1950930ab83b731fada00fb10d491cb01d0d534e1fcf12f75f8141b9e3f43b3e809089220d92c82035130460d09ce513b231a41a5ec2fa2b816c6bc78263837f6921cfabeacb2541b447fde8a87b678d2fed53450ca25897bb5b70a2ae6f42ea3c8977f430ac1d694ac89428701df670150115d35bfe1efbde044072052309ecd24c06c6f607ef625f814edd7ee94f4280ddeec71d3d2842e869c174b86ebdababb629b30ab22408830aecccb98c290cebd13e7c58683d7ae8929cf5b36c8553408d2cf0390964228792c10c8f09b75a0c397482f43f4785817497e9ea5138712a9686b819624173513cfeae88295075f843f5481c299f02669ae38257e5d2c022b0478500f101fe394662717969ef8271cd7071cc5890bc199ebc2ca1fa9f67f027a5f467db58cc28f2c989248b917e67832e0542b427df93d59e1e2b8f0be9c17e27473bdc2520436e80bf0d30b8d9ff564985d6a57c9104c9c86a62a42092101f973c44eb2002fc592a0b6dbf961aa2afc8fa924912205a32eb853e267bd299f5a10f60c234cb38abcb9ff6bf7303da0868575e80fb594b529a19576a557e1cf8a7b86796bf21f44327ccd9b5278c4e1db9856dc25fccc0ac049c8618fb6b406fac2b48b5420cdeaf54631c31589d4445d61ea507bf94d7998fedce1463909e68aefe06db2662b2e02febd6eee0f87130cb3e1113c16ce1baf0623ba7aca8cb9a9e76ac16e05cecc0ecd205dc0080da3373b2eb8d196511213a7fdd361a434f10cbacb8c8feeba39211fdd12d83d12226e23c6a72b9b26d6b02d7aeaad239960d4355b063ad21084b04e40015b6cff39bdf25b1b079dd62dd18a82c4457a3438c2d488fdb28d9abfa5d1f2466f4bf3fb69875043cf9f6431d60af2ca1193d08f0a8238505570d597acffd7d6bfb9f68c79fa52012c2e03de6735404fe97ae4c839fb3bb259c7241733b74234e13968b2201270e2831c0fd94d6d0c41f0c02aa2e559dc3a7a6118aec2f95e897220bf557e5e181d112c1ced40f8e499310da5fc5a7f8e0042510fafbd4ae86dbe4533f1c1923192b1707900ac52ca1ffea8c61a521ba9f9596ba7e563c47b535401a03a07094c1ce5cf027538b4032ac677fe5f225ab3a5552fd84865e59b89394fbb17ffa9b008a6b043d9eaf6b8c7534170b4c2a3082f9a862c12a31dc0421054932ec0662281005c25c54f59224491bf21e1992b42099d6f7ed3dfc3d0b79d9399ad3f8e7ccbd7af816277a4a811c5b7e86d136c1e1c743067687cf23fa11e829d5056fbeb3fadbbfe5a56d863dfaccb7f1f2c39161415a30ec6a2433ff64e3f83b0efcf03fe61beb3d7a8e17fdef4fbe083ff4e948aea9e4151e68f5fd0f18f5087c21d965bc80370697037fd0b07a390846d14cec3c7a3be6d6c7321e0b3ec60bf48685cfc4ccfa35b97786b5f321d93574a8b7871e765f906f9e81e9e7636a39799e190899d70bb506b4b0af7b0863c0b9b97f98ff40335f7b36cdbbfcc1ff5af99affb1b6f4a51efa894f71bec3d3d97c0ff3e869a7f45f1c799fbb63bc3813cded358fc209f9ae9577d0639ef67edcac5ac0ad66cf7aed7e9cbffbc3ff9c5356dfb47ce88e37729f5ce2fa1d6497a343ae6c81735878c437f8b55f2d9c05f295ed106ae8a919996dbf9e851fb0d6b027f69cc717089721428afb18f5a43efbd79c2edab99fd55b9fc7cc62cd8efe7ebcf51ff810da1ac00e56f86dbc10fb235779e7dbcbec66f400b95914f55fb3d93d4cefcc38e1e81bb6e9bfdcbf61b9329887e065fa0803ffc6277977be128ee227b84099423c023ff6e757f9c53dd6bf935b6f9fcfe85198178f2fb73fff71bc1dc77e287c7237b6e91a706c98ae71a35c8ecf369d98f166baf7e9b527714fed725c6c706cbf12d27305f1c9b103fbe1e4e6eefa9fc7ffddeb3ee122fe451da33b0c8c4d8c23f5073458f96adc920f85ff571cb3913f7dfc11b65f799663b4f86ee97a0a8f70f45f1b9ad3b5cc0b76df1cf2115e675f5ef7ab06fa6d313f363b5ff48fdff9749f68dbb2a564a3670e32bc58c08137da89673b672c0682cf4e37cdffef8a2f7dc0e3de9af73e7bdd49bee3de3dade7f6ab268158cf86cb4d344cb67a0c79f70f9bf339e6efea0f72817eb36ecc113b44c189b5a7f6ff44d9dd0ffff533ed6ec2dcf913cbe3e8d6e11731ffe8b33365dcc9c60ffcbdbe11b8948de5b51e7e36f31bab1fe0727bfaa6ef196a82a09feff119e6dcfe925d9a9b6c40e7532fd3851cf5d771d68ed38731b4c7ba776297c0d39b3d3bf89ee9cd4fd7d6f716d9886b5b24c35ebd73d9ee37f2c79bc82cf4335e6d27904e8cc91fb38953ee6060928f93dbc7c9cbbc8627e557b085377b5f1ce37ce79a157522bb7a867a6b2382bfc42492678a27ae0a3026251f3b0678affa11ff6eded9c5f820e169ec0c6ef638ec59ec13b682a724f73defeb09e785dad931b3d632fa4cba9e9fbcd9bfe5db19e99878ba33fe77da380f7e184edf1cf3bd6366dad90f27fc010fc2d983781aecfcc7abddf87d7d101ca3b167d25df63ffe18be68201762d1b3fc34b1099f5e67ffd7fc324c5ce09dee319a202fc333707f0f418147ee48db318d0031b372dd5f66dffe8c6d120b4db5185df0e37efb13ce5ef69b6405a7fed920cff79a461dd5043d55fd482508e4b57b8e29d4058f9ee786bcfeb516d70ef75da01e71ef9d07fc70766cba51c762f9f67cf6050dc5fc19fae62c694e2e26c64e7e911c0f3def22747628b783fcccf78511cc897137e437710359516235b29d54f970387016559d3252e502186471527d873a3d4375d43ef71c8a9b52725d9ab76b7b7f37aef6cde9ad26b87ac65dfae44b64bf9edeb312d7383ff82e946612b8866fdd411d468e3262deb09b7a6e30f1dbaee3432b1aa5cf4e9ad1037d97db5d4f26d9ddb53f26dd0fb44e4813c1fdca7fa2ec49faa5373a02f4f386d3daadf6a5ebf3896a4bcbae4147124a38f8056321b0a88736c102bc3900b61d7536b0f61c1a7ab074b11796f2189bb19883bb6ab8351cdcbb60d012c6d037ab6f04b8ca66d6deda17ec95bd7565afdc524a29934c49a61467005c006400bfcb9e2f20fb11291758a30dd0659fd8d818dc4119f37c67956595076ca73fe054667d3d5ac21bc19a53db4095d137da82836687b55ad41d1817d1f1903def4cf7673907d93f81cdf02ac72e1ee851e203bb3102894528ec74f5f13dc241bf82a4845e4d32f603ff7ddd1f1fa7bd6f4ec3f16f9330eb44ceccdf377f933534803fb7cc7296c3ae40b3a17fe5763f5fbe2dfcbab3ebecdf6d65d6cfb4f4cb0604b1d4cb6fdd9308fc2b8f4d24bbacd2fd47eb3a064072aa3b7d60b2d556c3f91e07ac6f226759263d9bb389481dcfe9c75742e3db0f16d54d8ccf667f0245c5cc865721cb83f688f23cd3e68a27344637dce6ba596f68b6213377dd1c6603dc3cf16a4ac090f5b5b92cb559c49a29c276f6b2775bd7dd9ef6bced9feeb38f79875fd8cbbc7f640f6f5d553a7014d28b916a1acad3c6a3d33cc9b9f8babf01298e7718d9b9ca7c3b11eade5794d3f6ffae884fc1149204b9dea8c778235a86462c564a7802c91cc096ca0ed7a0d0d8a434ac94feb6da0ee2849a499e198f6e48316a7ad96cccc7a12671a82885605962182c2d2cc240b00482faa8e2f34d9a03622986e2601ee7598718256d421b1487124a988ca8923dd6d3e810602076eae2b49b9d1d3fc688a560cc09dc07b9057733e50298c3bc8e9861488cb6617acc1dd9319c68ce980bb14c52e496d90f30404bc409723ae687c2ae097907834ff0128459952500e42239d57305674fd9e218ef0c2c8b9d770830414067a5a3d36e90e212c66738c5fb92bd4cb9c5194db09ffd9c6461ca5100f0900530855640fc83a9ba6633854304cf69b9041bec2150b13bd7b161281666b90510da8725db32da395a348368cc8dc7b43702d748bc3147f84ca6b9b2b930abea3dbb64bbdd12257d828946b1c30e26b7c4facd6cb0267401747eed829195dac92f6364b325aedc49803c8acd692f116308f27bf0c58f5d076171c6e86e0cded931758ebd1b5faf4f2b0817f4a50ac35b15ef20fbee25f37a2e036edf77d206ff58e9b2b94d56c5d41101cf8b450bb45663d87cd15777c229827fa63cb161ea8930d26ea1bebbb7d61ac661d5c7f795e34ce1ec51739ff94b9636e407b48bd6951dfc07b321270263a08e0e12d32751f915d552beed29553b8e2d99d99b9dcde5d48dfb82a2758a2261aebe212cddf169bb883667febd18bdd706c7b86f69dfe061f3a0fcf2e62d0706ab4baba8bbfa9fd299a169e7dcf33036eb8f493eefd09e8ded775b50c89a1353e3078f60f14fb7d395fcb27b91a8e2e66e8f291c5183b142facf874f7623776f2731e65cf161c0f7fcca33f14684dec7a6cbf789264f7d9dcdde0a9b861b8e0adedd0af86cceda8276bf974ab5e59e5b0bc53e75e7cff76ab3b55f282cdade3eb8feb9f88679637fc087734e61e023ce392863a3f208ddd98468128985d7d59afbd79cd35712c5e946813dcadfc11e0bbd0f3c0e330cd37fdbfb2a55fb6b6c80ab0ac9a70a60d0d81bb8f502b43584ad8db1a632df76e31ca75166bad0585b669eae0295ba9f8bd36da83a3c8e429e57ecfddc1b13115d9743e2d04c61b5fb5f33f580f42a3112b0a87357d0299a8f7ccd550fa98728707a1675f591f2e1cfe1ac3983abc8e42da3e657a0d8e4e3a002e510922bf8fba843cb588a158f5c1016c3ab66b27870fe36ae8b9bb6142141c42c169096f77908bd1a0d7b6a27bc5cd37ac5e933eaf80c21656ee2b7f18b673b859df4287d91aa2b5b7da846d2d59890bf7beba0e34f13f45baf9e9df8527f2fab067bd4ff6e904ae8fcc2c83db9cb70fae35a440ff74d3fc68769287d06e3c0a4eb303df87179da4bdaca43fde1632358a89b25dcbb0769d77cd26a61abee7df917ba3c548469ba0f6ff767bd34d0dfd18d06199e294a62a6bf66a720d74fb2bfa3562fc827f87c9cabb118464e59cabf823df34b522e3949d9a8eac0deb94e707d14587a8d840d54f9f68646a7a25c0ffd4eb57ea015ff4982cf2a00c4b0a5aa181e0f95c3fb400f7876f5788826fc22de0965f4c68099b3462efa1f09d7f9640e1e6af8a1040468b7d284844798a14179988696ba49f9a7cffc023bdd0392ed0e1b258f423e43dd09ffdeaad0326e930f18adb13b530d733b58f08b941974b9040e3f565f7efb1c856ed9725718a5eca8297a34836b0e777c48226c61aeae0264a35b7c2ca37a5419e1405bc64bfc17c3eaffc328b7a4f8e1e7ad45bcafdf44da5c34197f89a3f51aefdae36e7c6bf6d161c34f320d7dac886b0e8715e895bbc602f061a91b8b00c8b75a9e733f79d829c5eaead67f6f428ea03715b6bdb222d36fa7eb2e03fe45676f8c8072aea368068bc1ec032d5fa9a26829c53b83d7eeebefe87bce2cdd8bc878fcdcfda56c0f39934e44891d2fe1a3d351d99e53184c25df9b05fd31d48b746e539b7beda521c6b4c29503341fd25377d5ece83fbfe2996d622f70d1b5d56adeb3688ce6b0535c95d93d78f8aa6bdd4fc1df5f8c753e3a175888148cb70044bc351d2f045e0143e44272b1925d32d2b3d83e9ddc4afd2d0b3bc9180523969e04d0d0b1ed98c27961f1a0d0b4070200f58e25b02cb50a0319efd0f52570247039ccfc6d42806107e85787b9eed505f9daa2d24b2c7eae1f00eccdf4a6515aad53174761911dfe69f6a8484cebeae5649fcfe818dfc0afd12a0b784b6c41229eea705080c9f91cfd33dee7400b3b9164dd094878664736cb57388aba5c7d82b222015d3eccfc6a9a81c806210801a98abd901e4eebcc3767a6d642e22ffba85bc0da0ab5e5c1f1b4957126523308e9ac69fba512f311c600b2b9e91cfa02004c0df88882b88b431844da8b88e1117c5d6606a8b27ddb0be4dbc39677324878cb396c427276a68869e6df56f48efe2e46ea1e4e5d62cfb2cf2405eecbac4676cfa2007ce35f521c4c6db2932cba6999a5d57a99beee1b5d77abdbf121be9fb899b482532f0234c28abae8e4ab7e5b30d3742625033312f0e462d6be3112a1743666e9e6f4f86c9c11415fd2cd185e8e8f7008faddda7ac5a6d863ec8e5e3f4ef1c57dad0c42c6f679a9f222ce22da0f80c57491894fd050acc8812cfa9e35d20205e68cbcfd0a0bb5ba8d8276c2f2301087df6136063ce8180e3e009803e400b4ce4c12424f7fc16a8154c79abb9c6f22148ec70c0e44d10139cc3666480bf9db794c587971a12858fca82423b386e717decde784137a5a2fceb058166494be910f7238681da000754728aa296230bc14cef1d2a95e622c5d8d4e2322e838f8a6d63f20f323ad807aaa3060c8f8007ec677b7b48785b5f7d84f7f401568988c5fce1ac0936283005eb07994f4265684d3ef9c9d306d3328fa55857943b689351639563819ee4e7b3a0c6c6a4214d8571e25f80b01006ae6825181cefe84b4eb636b9a3bd0e919beee2353d3037cac491eb1d798c84e6f0dbb4a0939cf5a7bb091ff2faea577a7faa2209a17f8896a0eef34c789b9669665952fc00e3e612afdaa0333e3d84419a6530fcea44bcb064f2497c74bf4a2753969556932c0f0d1ea46d404694afa6033c26f4caa8b381926563c1de2865f26c26cdd80900302531954e9193b486090c0fe24ae3565cd171f4f9513592e4ae937ca19498c8a114192739b7c6f370838a1aac7bd5c20bc031afb49e792c2bb200e527e6ed3b68564102b5b3d33860324eecda017f3091e0bec80b02d028ebe2ebb310609b01545cafa552af92962810676bffb382620e465952959fb06c90047e0c3f313d69d3125f1afdf774a1f76285637ccaca03d3cd2b3dd5a1a35c9b5960aeba54f2e7cd55a5c00e33a8b5e799738cd55859e714ee87558461b0a3a11d2a9d91590d1c347ece0107e51d8c3929667971dad7d5eb98c46767d6cc89b0472f5a8104075566a4b2b0073af5787dd4dad2f54d4a77bab53833f148a5d4ced3b2dc4089a10410f0ddc7eeff10333edeff2a4b01fea9265a4d4c8a9a08131be03e4084409390760b17bd1011176d2b85e0d41716243f082e056527348e2444630600b6a3e6e949f5b1c5429fcddde02e4147f60e1d3cb05772d5d6da04cf600523c6cc4f42d078c20bb090ced86b60ab283cfe35f3e6eed1d81b1546616826a3f362db80bec3ed7b0e03213e6665e8ed70740deed674343e58ca578a347679793748dbded4c0636986b0131f7fd5ccc6035ca386237c3f80b1a5031732a9aca70a05a8a13438b6c1343b90f19fabaf090c05334b2da04e5dc6fab2b4e2fdf0f19d6bcb35e7f8780fadb2b5b1d4da3d304343a0fe48ad5050d3d6748d3a6f2f3867e2d0ef792895c74a45282cdae548425a4c101db4700ba0173b1e1b88a0b4c7c3005cbd458885b74c20650805cf04d22930b7447597206fa0d4318f488b8b7e79d7edbbc40218df5971b107497785686aada41e00c3c62926636f894497994c47f7029fc1cf8b0d474b1e96dbb90620cd220976a24543302af57ecec7f524a7a87b7174731c030c235c67693a232f8aa27f763444d2e400302fd0154d32f0370b07c3c2c0d127833c59366f55af8d910d0f3560434c0f01ae41c901ea28f4c215bca451ad5a82e5e5c31b79806bcc7a1cb3adcbd2bf72e0fe25c8fbf4c7c8457e313d6b75d0224a25c8ca6b6a8bcf7d77758c4973b100434ab8ceb9420fb0737c610fa0d103fdc854b4310dabb07371545f3a41301bfcf217abde53e7d9d144491c1e51583b39001857cd424e059ae3102defbdc9c7d17deb7e9aada851516f2e212e17b003054f00087ef7f02e390c0520824b29dcd83b3d7c0ccad2607561206e75126f48c050a36c8bcff2fe212aac2addd07e87aaa66968072d2546384066d1effa0736393ddd35e641a4a055c1a9a617f1b4be0103dd432c3a5b3dd13189607befa043f6f86b6e0c170517eae725336c80a40738f16f7e25d2151602f668d0f3f012088e3a679ae71a4773a2ac1948f625dced1b2414e48293cd6d9ac00466d4e7c6ad34272281f989f726e352252752671a11242753f3f39d7cbd9db7a4d15f61d93eb8c08388ebe5328a6870c3cf5250232817430116081eae88a1e5c8cc9a66f9f0a3a023235654de662d10b96c62dfdf2d3c2b9d4c77e5fe2d5ec4a494e8d6098c8b5e394c42bb80ecc6814566ca0d052273d6dda2cc40a959c6790c1f1debf3df8edcebf92575e0deeb184fa2a49f01bfc50024a2b90638449a0a8691600e1eb73e5c6ea1aacdcf828c80cf62668496c46d808b6e699c9c3b04813cb632e128a205004e5d90938cc940f40707dad4e7ea586dcd8fc64ec76a042b4e4ca0b34640b3bd8abc5bbf5d64b7b5e24c6f63b6b51010008390e0965997ae616baea76a623ac3cd596778d8c0c82ee1e09ea4a1fa9d90636d0c1bbeb75a5184889b987680a3a9879795a0dee22038cf1372348e567873262d22cd11e28aa7834acdc610ad0a301484127bd9ef02045e8d9baa97c350ad27234c42708c307de0ea2d243248f90d5b68263505c9207810f875a4e7eab653d12d96696c68a86582dc19561914411341aa889630e4bebccd67150e238f3d49eceb3e34d59f9962f5f2e031444d1a4c50ddfdca1d1391a28f0d202bd2486db68982af4e3135ae4c8a422fced919f80b8e8e717bb8ed65d31c146def288a140189b6e8053cc9f7a383bd474566b9ba0752e3edadb7c9b13847acfb044e61a8c658a290a472bf2a27cac2fb9037a8cbca1d1c81657f6bfef41dbf9ac95c52ebeb697bcf42103711692535c92c2641de111754802e308e917475f403b6b0f88d36989653343ddbab19b296c1cc70c6b9bf8d958f8631aa7884dcb9e01e28ef90939c8f80e70492ae8423c11ec1cdb0b18e065857c4f82cb9ba609c2d1b6fa2af4d51ad85c1e6b40de0ec6a7da690ebe7b5cc3a417944526fe2ed63825b4bcec492dd458f02031612a5adbc97b4e82b2ef1f4f30932e4575567759c6ac51f6fb013121024116fedfa376b4e40cc8c1a2000b05350d5079bb5b8b72521b4be1c2cbfb4d7da7d705a530bf01e20900c02d1949ca12ae152eb6dacf80b03262db6ce7905b8bf098f7683c0ced4deff424b0350ff09fcf9a25885bbf2a718d693e263a1af60358280974a44bec1de16512d2a5c99c97c70f3faedec8bcec6a9afb2bcdfd1faf4b7b11415ac8dcd1782a0939ae55d8b98e612aae087acfff7b67cbfbc2955fd10b056f50de5087b772add432b2e2421726b69d70b3e31949d3b471442f0dd9412fbddc0cb4e025fd6d9dea92cd20019ad0003a6a0c4e3a1bffe026a6ae039fd7aa84b445758e22d06ebeb5321408387d3e3dd82c015f8f9ccc6fa6371834092afe6922e03478a87fafef96431b55f2c60ac477951b8e85b50dcac4a5a7888e6f4d1a053559faf458403c00e1f6268115f12b0f0636d5262db40fc1713b71ab471c4b0b1c4cb98c26fef90234c491726011acf92858d9c5eb1b8bbbb1e1bc9d2aff7c9bf59c78b9724580451848e43c0232d606881ac5980d845839bef80aeb08a04cee576f065ed129f3f62bb0b8ec75a5236a97e0784d7d48fc10403620f323fd66614273a37e1402f2c6999dcd609082556f9f33175f7a6739d9cd9a7bec6500b8dc302555683d4070cd3e9092b3dc113f6f76576e9e50ec99a4d1521646295904a2a757df7544df1c9e3ace10c4c4f497a054350030fedfb6ad6995ad8e775c370c3415b083ea619ccc27ee2b0179a954841e96ae8fe515af334c5641223464a38429be9bcbb0e08378ec1c607d23b06e4a2e118be7a814813e1300338501281e994f47b91b100084ff6033047c9b3a1372e96582f3d4aadbca323b69d2649e31d0f9d06eb65f7a8253365ec7624967fa0aac987396ced50d17763c5ed92375508fb8225b78e99be5673a8b97ece2630e733405b1e6fc33376f3551bdc990591525cd00a62ce7a4cf60dbcbede64297536fddc3b5ee313bb72643ad318e81b799bdd8f3ce44d790654c73fca9abdec6f0b0e50c0e869b075b5969687376703e747766dfa99b09586306a1413eff8d18db1aba8e267ec6d5c977ca87181fda745c263bc628c3cf700c43e030c1d010372e69a8860283edaf69c6308ea28663fa18a32d88cd99f06783a19671fe856b0366e4b541dcdd2e658f16fbb6f1d99d2ee05a26f5886687dce6e01b7aba27bdea5185d28ce16e8975e61a75545e157bfb43e07a162e2f3edcd5f8c46b238d087369ff87d962f24c5b78ce77886ebe72c0669334c2ad6fedf3306f7f3c2d66c11dc610cf67b3cdececd67cbb0bd73ae1a730fa861ddacb4c6b1d2fd7ca185ea801f7d09ce1457e49f8a9138eb4b59b76f0599b2293bd6bb60058f387cd1011901c73b1425d3360f7afa6b56e3d03665e56aee8c6b79513a98b28df79c66c368bdb9fd6db277e8643dbe1ce0cbbdcd5dbecafbfa187acc9ae3383095a12da40715d889db32dbb6f995d78e0dd7d3100b866a26bf48e6df43befa23d496736389be3ac0ed7e8620d5c8b36c3c6ac3f23cd4e0ee8d25b2d668e08161fdaa433600660cc366aa06a9ec1dbe91ce89bed50bf8c3833f7a3dd7f44435f97a8931b3ea0e99986b875cd09d7790d9357cb2ddbf1acadbc6e639f598deb4d6bc636e511ad9e91cd2c9bb66b4b33dcd99b5758d87d9c796ed2b68615da7a996ed98147bf376e04ab30879b76f295726fb76ce8016403ba4129b56e89ad61b478e47d16e024edd02872fac1b2161e60eb36178d9586b0e7d5a69ba605b736ffa4c735889901edfd39b1da2dcda316e93431704f13df8cdcd16626f7556d795cb085ce8e1677f54b6cb24286d87add2da3221977bd6fb7fddccbd0856b1b59bc6a0e4d7ce3d68f357df6ded49b05bd64dc8d1b486fb4d8c96ae27c002be3565cc1657078c15dd71e74fa841d2c6f0ce71a7ba771dc5cbb112de220b776132b61fb42382d33aa3146d9d6b577e0e5ce9e9babed0d8a6086ad5db687d6607470a0179cc4305c78b8c6f7d9d3a67ddab5ee9bcb618ec121d3c5d8d3eec23ccc629ada792d1ddbf03a3efbd0cdb50b59d7dbf87586993aeec2ae343ced3870d671569742240f6b50bec39bb6e06e5d7de76ad59046779fc802bd44773638a7cdd0e52c01166632c8fad9c93e8e9e26598fb4bd6834f759d525536fe3ae03f719b4d9f6332dd48e9f7da7b4e1bcb829bbde36d0090d1bd2d8b95e365f799b23a8567fcbb2655b043d62307b3234d3bf6b026d1d68f2e689a73be2348ecad26438fa4b6f18190ba7d894d6415deee6350e673a83da45ec5235a963594f9ab8a33d0fe3957d5c9d3ea7c4013daa724234f7c16fef69f84db5e0d63c0db81a6afbb5e1cfe40cf6e2d40bbf80c75939bb7d9e436f6df08e1e1be0426f08ac51fb6217dad583bdd167d9ea670f7535b4e361f9dedc48c39b8e66553469cb98c303e9d0c936d81db7603739c06c85864e5c0b415697c22b2e6006e66d68c7b63e6e97f0babb943ac67ed9dea85b60edc099cb3afb1badb8033ec3d66d9f632e2b0ffd3ab042dc70ecebefec4fb8c87096ddc636cffd4db2456e64eb59c7ebb19589cb663533d0d0ca7e8935aebdf48c16870b8757ffe17765dab6e5b39b3de04c44bb7c7caec67b66aab27832b0a11b1fd6d03be7e963a30beca8a99f04c708659d19be71879da949afe1e6484d6738c207392c66cd5919cc5bca3013236668dbb6da198fd219f3c076ad9b251ec03edd1317c4dc7bba0edf94e8717a570dbcde3acd0d2d38f30d3934356c01378dc6260eeab80ddb78d3f63d20e61ae043ecb0399bda256f6854a6653a33746f376ae38b7e8a5d5ccd409bd2406da7dc2ac398ec79ef0a93e0e48a07ba982c0b33dbbbc524d3ceb0d6957684770b3477e337d98239e7c473d4b96e39be8bfcccdfeaaf7db359f3ca8071b6ad7b1f3bbde6c674c9f858194d4db6ac5b657c8dc59783772078be212d1ba7016b5b1336309ff1c6a7b1b72070b643383cfbcee63a8fe207158e6c2190039eba3a4cb424e60e6e8799d9c0957b3b1daccc0e1834ac01f0b36fcc7c90da6d70ea55a77bdd2439d75de29e97bb7835d3cdcecc9dfd9f21e5b482591cb508860c6a31cdf6b47ae768766ceefab31b6b5775c30a6c3802db75ac760ce309abffb4cda4f3b26e56bc192b8481060366ceb03ed35e90019867c301addaa465798b27781e65cb9aaf4b788a1ab995d1c7dac1da1be40a1b1de514682efc0fb76dc175ada60c86b7ad2b78df7a6c4a4e42cf6bc6daca49e78c5747ccb8cb1a27c74b580d7674745ef38e1a437ee8aee362fa8bba5d69b2b32e98be23fdf2ec9d1874d5764bedb9b0215ebcd69d79c6c64d7c03ad2f8354b0d77ad5a8a3d8c43c38987039466ba77f3be613ef63fb35312007097f6a3d1a1b486c44ebe0a056e779a3b464457c418e2b735bd706d68af0ee25aa6de15666bbefa7c1609e71ecb4deb42b9bf2e6af6b2f27be35cc4d34e9cf187e401b8cc722c3719341e71f5fb85e67ffadf34b9b5b6772cdb41978a2c99df1c8796fc0004d7a77f3d2484dd7f7e2411193e12fe814b088dfdf0c1bd9781f6bb535c2c65d62d30e4eae6fadcc056691fd0aec71e3b8b597c1d503d84d75eb2b7cd3a462f153ebd0fa62661dd2c816b5b8518665af3127c88457b24dbcc812c50f75067010999ddb1b066788cff1ad36631b23329d2c6fbc4c26f90b8e7b94965ad801ddfa75d3bc6f839f76452641b377dbb0ec3d1b9dec1ebcbfc131d6bd55ca6ceadea45666bbcb37471a26ce1630d699c46ee9d5f2b34767ca974018bdc36360368ecf0fcb219ff50f67978d8df5d6ab9537ce2a5cdb603b1f995bb5c267b9a1db396c337f89dc5ce214acef1665dcafbed08dc67c839d11705a6e8758b26f8e600018192471079cff79485d9dbf8d5d666883ec64362cba6f9c3dbdab63b2786bc0d031fca154a3743ba379ec63ab36dba730a675ef98b0a1fe9b078c40ba556d9d750fc739db394d34c306ed3ae370973c5edb2a0af8e4bd2985d1a470161bee9db04d92cbb4c1cc4acbcd4d94a6edc0546997b234fc84e1f73e2bcf3c7a5acdbdbaca31dcff8d9fa87bb35b7d4dc6e18279c2b2e16d3ba46ba3fd0e6ea52f5e325b1f9d84f9c7b46a582d83b559c3c19d0a784bd77607a77e090b275498f5f7fe97ca754bd15498d0326dbab2d55197cdc7a134741c977cd58ba366f2924ff2e93b75f0a833d6e9c2a636d4d6266dd7026bde2d9a710a3a6911e7327106776e775f5f0e694bb3c73ac94e8681317d8e6e59bd1bd9e774560dbd9137dc8488f385b0c229ddbb7c26ff90adcd3ee97b1a995e1fb0e03f72f8e7cb90f78543bb6cb1fe50aedbd286b77f5762bdb62fad4e7d5ae9a6bce4c091fc16bad1973f3bdc4610de71b21fbab28cf19d81c15e71c3558bdb60c7bffd79dec2fc98c8eaf27853ee60d85b3ab1ac411aceb93013f9aa6d08f1e8a67b6c830bd2342be06ca54cb186b59666b33786c7ef2c0f6e3e725876e231b7193f14f1ea93d31cbfd647736b157c0fee43ce91058f433b9b14b6a6ad12b8c465836fbfb90248dc39d67037d3f2844d1e2cff226bce664bbda47933bbb0be216f4a49ebde336adfae938d340d0326f0e2d6dadd01f527d8c75964f86c31bacd6d1fb5c3433b4967510cdcf9ded8d3e2c980e19b2d98464bce3db16843ba5b0643dc61e6e96484521faf64c57d8f626bba1d77b5cfb0b6b6b8d098270794f17d9814df09f64bb83e26eb41336dbd92aecb8f69faa70c07a587cf8d89e71755332bb0bd90cd0c036826bf922e16c3cc65173437ffb05c0233ae0d77be970fac2d00b42e5df215dabded7630abc5e616649431122f5f2050dac72c5c45497cc1530b72a21a4a6041d760e86aca0442405d8dee94d3034df9d628961718f90890fb2b60281246fddeeb1b302bb3e0d115451b4bddcbb6e68984b99ab380e3010104cf1cf152bfefc9f9a8d85a8aa8d8a1449e7f46e1c7a87666cd4abfa0adcb0574a4d45bfec9aa1998462754750c3ccf4e7d5044251df9c2f2644519e2ddbe8bed6231b394a2835071e886d3c5c9bf5a3b8a6b76491646404c12d49194e4c5981f10f1d8081d4d9c2d0ae2c323ebde16ceafed790cb81c4cb0a790716893bc92b7e76b4c09eaffae1040f4247faf5918be056c4dac3613f40d3d27573767aca3eef0a1820e6ea3b78a3bd3f12136e089e6cc1e58881a4474f929074cf690a3d381b14c131a4add0d6439afdfed1deacb9cf54fea7a5b49795be636175ee89aca4b5384656d480e3e2a6a0d3db2855058029c320776b56d9da7d7a3aeba9b15d1af75600863932506f6d7c0b71ee89c6f3ad1ba8e7413dc2a1f4fc0fef38ac39abded1fa4a734f4d5ccfa47774a508fbf6e4fe6c7e3c444741343b588aa61c16b44e5dd07375f8f3b1cf89e693fe7e15714cc169bcbf004fd2d21a8f2549a6def1f78a8593a4bfdbe94562bbe27bbebe41419035d2c04e136b6e68d6e14f508facea15afc743d4c2dc49cba15b8e80131ea1a98a28bbbdc0c99228ae91cde380d5383f727413ec71316465989cfff4ce493c33ed62ab691c1caa807037346d90943d893c327576338ac2d07abbbf24373673cd67612c8f49a37ca0f3f18d47768026e0030af82c0b8eb48da447dc359e2f2229ea1d6c92e5e33146e9e551081474efc03f8fc2cbc2250252c5c708be9ca3c6cf8285260ac7f949ad6a9cbaa33081bf7eecf2cb200b677a70001feac6c9c5105de82a48540d922aecc3c9ece2b0ce15b742c4a3969ce40a77a8558e7c80778956873543363c2a3e159d356d0002ab100624fff26f4dd3226ec3161ee1e55366e20a5d51b9c765a4c0d3c300a68785e2a5a2dbcc5f53e365c3d21e6d70782f9fc18e43296eb9ef8106e38b46276739599b7f4645dc4149b268d751f750036b8459aedb9bdb3c92575e1577f951d1b5c3b6d195b3a77687875955be843bbcce0bdd4204ebede37349116de60279de2ce8213bc35ab7573a37d364276b797bd9b6e838f2d0db1747f06664fb098572639f4a3b923d98b32e26af786470db36c42fbb2277bc10f08f33369e3cc7388c599397d6766a3d9b281d982563478e3c2a7bd9f4a9df4c1d79d75a2e3ea6388d0e0016715738ee6664bd8fdf2618b2747f1c0cce86c17fedac8a4c9a23b6b60d63feba62ba53557275f36e822932bef3d68a0c9e8d080215698c082469f691307df49ef87e4d3ce31b568a6b4fa91bd1b3d093b592f36ef8af69981c9af8f5b1c8f5d8d4bc70a73c2de34bd26938079ebb773da24593e36d438bf8b37ffc64f1f6a6cfbe5b689b9bd47756236c36dbc490480b3dc730c79d6e8c06d2ebbe98cf65fff1943c22539a48135260c6ae119b3159a304f01668646a04ff9692fef289fbd729466f7995de01d0d1d442f3b96b6826dab43afd350abfd32e0b44cfe89142cd25a1630c2a1e598f6a19667347a05af0e730fbcc476e77cfb85671e67fad634fed8607c98c755b6d913e810ef29c63197b72c1bed845b603367d634f9bdb2f56d2aef6bfe857e03777d6e5dd37707ddbb60d7f418739e6f06b607976f6dffd07b449e4fcce0c3b2e5a37c1e97ba8d8fe2fa5bdee0030becea1976f7a5811fd1238053eada0e8eefc4689b196cd0292e5efae4eccf7ea7af192eb03b7d5d36cd5bd9accc5eca4ce226fb443967cbb7665b83f116b46f9b8eb39a4e1c722c74be19aca6df945d5662e8c88e6c51ec659137d8fe2a62ce1c4f9aac0c346da365f8de78961b3eb2ed34dda29501f6d619cbc0db8d169869e3dfed560a5b4674336a3e8f32cf6cf5e8cbef2f3178056ff4babb69dec37639c9b732e52cd392646ee1ef6aa6dcf0aa692cbd81f3a73db2c6f619b7ed4a6edeec260076a5943290f61c40b056d7d64af9fde4f3a04be40c4f77f0505fb310980a5cc05d0394a50d746cd49b889722d08499d84b96224999648c007c008a003da6a967b9c7de6e2df778a5967bccc5b5d17a963b362f1293d6023220f3829b7b6f540d899e83132570170cdae94e1f57d640186727a0ed913d9043bc89a2e45ec5530b25c6a1d08bed5c5e8f8e95db2018607db4456099d674e708845595f023f3af1b305bcdac9aae12a5d4cf3e4245d1727a2ff254c6b190801e8a449e016201303b1e6bb0b6096d4a01f257c7cb8b5a84ee944b4ff8bfd8f8ee7578e58b7db87f9fea38b5d40d946c93e7b61d8dd2b4f7f3d34ce33473e3725397b971a61e63d349de7be35da4debd6f2317a3ee52d442c4f2f39ca6bd9fc3f3ca900a8eff2f0bc929f79de7ffd31ecc05dadef7fff24fd7e6394d7b2ff594841406ff44eb59eef1f7a696037c67917e851a1814538805a9028775246f0c7c64a15199a169bc052305b76d2df5a5aa99592201e2193e163ca493920ab5b5c043fa44e0a48d41426a3a471d7780d0d498c181ee0875dd68d8ff06fb1d9dda985e9b9ad99818189e576713d1ab116229efff9fbd495efc3b74ab38cd3459c83cd130c52479c32b60eed700fb25c07e4a5e76c268dc890275dd7bb57abd2275a9ffe5a8bf54ab57efa9462ed72b951a17f59670d89a9181e3754da5feef7dd047a171ab155ced5c30b78a5f3fd0f64acdfafcec179b352919093110b0037e07404645d7dbda59d9d792dd559d13d3d2dd494e0d8c0b41d652f170d206454000e5511092f0f1ef46212cf4238cfca21899da94d8760a06c4821424ba31871682faa8e2e90ff27c8439654593a439b213084516920f317d9ddce7677f7f10a3c4332dc23c9bd540ba597ab9055badd32ab8698125f9c73ed73cd0644c8738a0aac35ef5f03e4c5ccba3f1480c91c9d2d6cbf57738b71d9d34c1cea3fd0d337f80f44feb76e16ff5dab6b7c39c7bb88d53d6b644b44a6cd3e14c3d24eef62042ee22a435d4b513a744a305d585099d3df6fd3826db92a7f08bb28b0d3c449efb8d08913c3598aa6566e17aa98f539fe405acc7643c0fa4fcdcc04c729f254b6cc9c515dee141571772f6e3b0bb7d2000ce984bf8be3abd431e6285a34d52cd2c60ab27a16ebea1a08fd7385e325c64eec55a237bbddd5bf44f6bfc954bb673f9bdf0ab3afa5a17cd5b475337e2048181cded75f4dfab19106bb9ddb457c6c665583d071531959828de0c12c2693a7862458902a8a43ac9ddecb40c6e47f713f98f1ec35c3017164dcedf5a0e643ba376905eadc751f4388973ba80469948ff5ecf44ee722c23c659c66fd883fb9d83d56b7d1d0af08b73d6ec1d2180f11e6734e94bd9e05756072683572e25fb01ed0545e679c44efd19483962bbf6899c9cb351afad4b9c7bdbfa8e7829da7bbeec34ad5395011391a37233620850de1fc2ba5da60393fde973cff3546c83a858a6b602c3d89eb99a938af4b26405cbf1990a8e82667f8ed31e83319949d54e8b6f35fd110ad8e3596a508d3c0b59039f7c4f9f15394c6f92c1859570ebd60cf25b3b9705cb8aadbb0f4b44a3344283d4aeac07379531d0e0b285de8b2673864582a3d800c08e8095d516022700c76b5506f395ae09a00bc08d0cccb9677ab7c9a4b245f455702f32e4b5c1e7c9223b52bd9641e1223db7c560c866956d622e329945d6b19459c931882d585cab3caf10e0162a73e2dab493959c4c100062cf2f2550578603c05d3a5be308cdbacac68d48d4332ddcdd7ebfb2304191a0c7d5c76c3792d948a68553fb8b87fdb7beeffbbe8f309bbdc09ab37d99acfdd5aafd586ccef655aa39db87c1e66c3f959ab3fdd7ab7d14aa7d976bcef64fa739db2f10208c51ca258c5f2f462991307e0d307e3991d3d830369101e3cdc098596c1b8cdf0dc218bf80181518454d240148d3c912e042b2044615c9055a8a684a68129a78f51089c4c13b481088ae93a0881c40ca7d205da769527a1e1cd7a9a36b01817da871f903a1aa604a92a40311058479e2045b3a6cd6307cf600f7ede58cd85b9d5506562f3b3f71c71d7fcc7df040aaff7f5419fe425c90aa3a2055b51f1b8b48d056219d333a930921ce2a0d481cc80026c8d8a7094b880633fa147093397d0ab8c99c3e85d33c99e58f69180f66e46114e6c12c7f4cc37830230f033598d1a7809bcce95338cd9359fe9886610f47669a99d74a4224186d2782e67a6c41e333c8a6bd423db8181869dc7720e64d2b61736f2aa197e5866f61a2d600be28af7eac02fac3c9626e5eb67b0a16b102530e2e820485f8cb784ee6cddee95ee552ed9fc73ddc67307e004048d81ef51e197c1ecfef57cd0d209be099386e805b0d63c04aa857b509be5978958d9c5071d8f8998983ba52f99992192e534d5688f1220e840a1f031a2b24bab9d4c123386a4e280c771a8aa8b6bb39502815733c02f282df20c460c408003406b797c901a9a9b10604014206040001b9a8009500bf1f0604080001429906040001fec5c5c113a5a114000160c90142459f0001a9000145b40220204b0090389294d0d4d20322080b23253c4345483d00614d003e6465727376777a7b82838687a2a8a980bea820df4029489224c301900219255205e9964a0642061a61819c5cef46981bdbaac28808fd2d81a63df60ca4396e53ea8b478fd6dd8e5b96558d67c3e1157734f2ac71b1ae2603403f5886bfff0a2204210d897070afa5300effde8edfc283d54796fd1866fbbb1d6037630605ae9f856e0481dd0b221c34f906b6a1523752b30f6174abae69671d8aeccaec31910368247061488b4b1b3d01c0bb8f51d896362e01c03b1dabb096365a0282f73ad20301f40d00040bab7c7d9192b2b3b4b50809dd2a4b994d4f51535557595b5d5f616466686f9a7275787b469dabadafb1b3b5b7b9bbbdbfc1c4c6c8cf9ad2d5d8dba6eff0f1f2fd488c668ed132e5539f51599155f661767fbaf888906a6d707384919975046b2d1e9e5d6f85896281885e67fcce864f51526410e701805cef8d979b9d78797d8393d68a585f7c62cac2f796585cda0f2f377ed28bdccc1cbef175808b62fe394e5b607075fbbfa90dcc7822c35e0149aa80bfa860f801904444866824710e6013790e8b6c0dad98c519eb497028e4fa873cdeb86eb18f755db4c2b7e6a8a4ccca2c38323d1fc355180327ffbbf14d3c8e63f145b5c8ac3c0e2f3c2a7a9dc97131e6a6d443fc339267a288335819f8698b7bc21b5cbfa31f2c9960c41b8ae7f157f8987039be718bf746b6e6081b24675ed24b0ed8c4baf137b28e8f13e200f57aeeaa5b353cedcf68f37a30dc84cf747016dbae54af6939bc365cc46add89dcf0cd9288f87cb4f771363c1dc9cd5c77b4dcfedfc6eda9a720cfcfed5276aeebc38040081c5ccd525d541924258c098143c800410e097148c803d0ed6fb9b48a0050192406010933a0c803610e08782e504fff3b14201072409013f003840e00340cbab088fee58263ae69c981686fd2cff54273ecc5fe2aad959a9e9bc677627490009a23497174f46f26ee234a17a3bdc87088c9f57bae3e75e4f956ba1cb2699a4634924818984fb4b8e186da503f9965ce42fc7c8d882e897bf3419c09596b105e6d2e782b19ea2a8b44616886290f65134ea8e506e279cfe1cce23fba1dd098faa3579c97cbe881207bc099588b363a07a6d3d6851eb43b4c4d8bd340c05a74de2aca3c5e658f56bebd12f838fdeffc28999db7aee74dc9e4519d066840a8646e946080bea830f80120841082983b2a3406e0d7cb7d68f4ffed0577732ff6e3fdd1bf5c0d1e2fccfbdcceb0675ac7c97f7e75120560eff4886d1e3eb9c82ec01b566eb6f18187df6078445787ffd55df84dd183c69b0bd3a2278df72887ec2d7f1fe6eab8a5c9f3cd7edbe97b48031acbb53ef43de01d6fc8e85b8b07b2fdac585ffbaff1ff749593de1618d3cc67aff2a59d7eec5eef3fbffa769df35a4edbf1dbb41fb33c807b6cf15597e7f180632fea9d7c5677a9a707f9fa98e18a1f7ce1980dbe72f2e77d26ef1218fb8e7f794e7679e56b0233cfc03bc3ab5e760e797b81cd901957f4cd76bbf7f2bb9c6cbbd5b55c0fa168b72f63e790bec14cd7c303777a73e031c65b93cad113ae33c40d00f40b8ef24fe29185771a226f2b72743e494850565d8d8e4081c07b09417205ed79825710960139d308b68fe3ff3b75ee4226b5688045c7fa5599e2b34454625ad2d969add84e086034c41c5256741b5679badbcb1e70a735af7271063b1d1fcadbf44a40ccb17b5b7d3e5283838786bf8acb8a8a8b387299767cdbff0b98129b4a44d5333b4049525c7e8ed905f2b7e9c1c2bcbcd0b7b8bcd1d2d3d4d5d6d8d9dadbdcdee0e1e3e4e6e7e8e9eab9bfdbe499ba9ba5312732473e4757b914b9b0bd80bfe8906a4444e6683960a55d0e800907b128f94ea510efc7d999efcb3515ebf5b3220b6389134f9c78e2c413279e382935fecde4d5dd4cb28859fdc50bfafae4fd94fed5a44c5fc711fb03534ca32c1270dca10c529fcb4776770b36d8372936e01a3cf8df527363f8518e38c14fe8fff88d127fc5087a95f7c69c98cb26b4e7975f0d7ea04fff22732dc1231fd37fe48b93cffd5bff99797e1b6f990f4f66042ebef36c4f7ba77abfe0494d7e531fcc50030dd01af079c0df7bbd1cea434c68b1b3b581ce25f3f78bec434c5d83af3c47c8f56b6abb7a9bcfeb6bf5a3050078b2321e2307942bc04dec8c69dd9a51c13754f18c4610841b00e418b8afb935305765586e6f707172b9bab9bab9ba3d384160bb027a99e7cf9e340602546477b9678d4b97a4ccacb5df9103523b4672771535fa05531749515a737d7f2c70cadf63ebf10654384868a2f61053638499abb3c2165717517407eecef40d8b3231ace4f2f7061a2262a8eaec1b27d866ee36083ec8c3d8e7f318ff065c5f8137c08de41d5d6e6b7ce1e22f38283d69628321b0b3b6ca92a331230201825fc7b832616be39acdd7f981603994d4c7484c4e7a8eb2a4afdef2f6101b5db1d4500c3dfc6883e4f122c5a92e3a7e9d776c3a6c0ae3f849193b08e49295009cad8043215e53c349fa8552686d341f146942a3eaa86a36183c6b384e729fbb8d3afa4e6c3ccd67163e77416978851e3d2f6e333dc7d13e6d6f3fc639701b964a7d77ad2545639cab437250084602008095474873aca5b8475c7185ca1b3f754c92709f10a14f44503f40f3f219511e1f4a398b46961d5478cce32656029ac58feb2f414a4f7c595aee02425b7b2780d2a0e8e300866301c7024534286259d97a7f63fada6465a8705fd5b2030b44817da871d86d0c11b1828888c8e0d40d614b5b9096037b2ca87db9e3237b379ff34a4681df5ea2bbdd9cd3f8265e587fd174707a9c866fb9813cc2ea0b26db8157e8d9c1e026f74087c82c101314f7531d77753046d73a00687be9ae913eb67f53bc1cb30ecdc74fd49375aea37ffd5c8e3e8f1326a5ff0e1ff6c8b1f5383724fd014cd0d58f97634c48c0ffa7fe5b7a8e2659073d8e0c6e79a96977067d375ce078b6380730b0e7f6d3b7fc9adde64f9f94ff0caf996bb37126fcedf8c5cb1df083bd0e62b9efc4bfc84f31ef6930b7677f863575190e1c2a9f5f9e8176c62c229fc1e12665eb7bea34fe1f7ed43ccede7267fdaf3dd7cec83e07eb9835cbdffe5c8b73fbf7e09c67beba1116ff6ed0166da53fe4693f181a4068f63a5ecfb8a3fb030dd132456d0cbc3ecd8885e2333bfd73d071bf27fda960508efcc8adcc1bea3acf5f4dcfb661705a7de6e580443b7c99afe474fc9c1c334764258f6df6fc202f42e4c724dd0c9487637d679c75320df85001ee07ffe163a051c4979ee1e6a9c97492c905e824c37cfc8db31efcae7fa06dd70ee8004ef89d9e62861de29673b9d16eaff16ce9737d005f7deb7e92299e0bdfc0ef328c1fb30c3f7bc63313a3d5eaf6b7586d7ee3fff8e563a5eaef77fe8373055ff0afa36c6f643d0d01546e009a43540f3c40ac490723d4dbfa189908118004b9bed40c06a7efd9187fa8e2087d1e952d13b1836da221cddd0ea3a060d127892184104236d97b6f29e59649a6140501c800b1006440474de396cb7558bfc5f25535fa5f9faee55d875e6fdfc8ce13539925c9b2bd2f2189db58a2ada6b8c5e803a26bcd2bf9c50ed34f04acf95860af348187a121a7b086c81d0f62a3143a1483547318d1533d416b9e00d42b42c4f69ed6703575b40516c46ab4518a1304a28f14d5a1c45d172ee49c1c070e7171116a16303ea2e45cd9a080519bae3735a6220d5402c0a9789be396c12d4a95b64e430851716044005cab9296a7062891a5377aaa912f1fc63843a49080326707c88f0577161824ea21e3458b4ebe681093332e208c52276266c8f880238fceec86d78e3422a60a066aa0891dda934744243c2c332fa8cec620e1d5d1d5c945613bd3623dae4d060a3601eee935dbfbaa923dfcedc2614965cff606e6afa85f5b4abd076dadfa7f9c2fea33de33418aabbdb58135d7a1fde2a79e856f164af6ac3a40be7a2bdbc2d33a69bd1a2b169ed6e25cbaf7f269b1054e0190fa9eafff0ef1c5ff2b5be839abacb2e9b016859d3a30da6c16cda9ff5df93eedd2cfbc25552c027f7e3b93ddf38a5ebfe896ff88dd415bb70254f9178213570cacc7760a0530d79557d757174f2c3ba75a0ecc015a2805627916a8c1e19937961597a73fe2570bcdec2e76140ecfdfb18307caf26f1b03107aa15251c34127a81fa060a0478f7e7f77bd16cdb9fdd6db8db35fb2c96affdade75d2cffafd6ef3757feba42f9336c5167849b7fea47ffed3fdbaf5474d5bade9f3af8ffdbffa3a93ef00fcd67c5e777c71f9b8b6d9b5f49c9fb466697bd649ffdba62d73dbb2ccfd2949beb0cfafb524bfa2dea4f5296fb2ba25defceebf7a9e437f7fb2983aea27cef7e25b9aa4adf69af5f4367f16f72cd057f311456be9ee2e6cd36ffe232e6b3feef9bbef940a5b7567a11c29ea2adcb13a4246796eb454d0842367309b8422901df152d5778934b622ee0807cc0fdbb1b861819a0427f0b027be84cad0c48928349c5c5429dee1e18268c91c8afa03cdbd0bbbc4066708a3ce06b0b90b6a289931651d62e03d604b036785929d0f1d8a70c528416347a5466578301c35f8b23e27a6b08a28d12272e4a181cb1ba1a9a1101209705413f694349e485608b71e8c24748e8ec38b5471d01bf9c2ee820e301b7142219a9a48aa26be8c12eb229045c88c8f17156b8668726041fc08e24280f641adcc2e2fcca3b13949745e9546a26dc92601584694d943e24bd1964c9f6e959b1e8436a81df1d4b6faf8f3239b14d6f6c57ed10dcfd0e02c48266011f322abd187c0a7334d62050185f3a863557f735323393818104d478b1a1a47b10e532878382881091a9028852cfb7f074b302b9b19070b181fd90c41433a9c43e0d27f6b5a6c3c23f24ad4350f7c9b2967fb226f89f2df4524dabfae3bb4b19703991aae7e8c24a47515bfbbdc8e45721bb3804c862132cd75b3718363acde25cfae795ded8de4929c2d9e916112a8b1eb9cce4c5854915c754af9bfd53b5283e4aaaf677629085707401e2364a3172ff702a39e17c5590cf13566b8078dfd9c0d56f9f237351fb0e886bec3e5b442f8d8fe98c6f5a0981d343ababa8eddbb31533d4ceb1e7389f7b679b33c3d276cd33a961e89d29e4d304cc20366856ead19f9dfcb3a707f8f5c10a3148211e606cb180bf0e043550c1f6fb48b0b04e63dc0b24c756d7769063be9347ad9e50007f2a4f139cbb19afd39bd4f923070a0570aa7106d9c018b1d9872b05eb8c9261aeb1618db58d66fe56eeff3499b4e30923b41155b78c0ab693fba3956ccb0b96b829fdeb6cfd897ec05cd83d1b836c05624d8019e0d51536e8658ee0b0c6df6088e511644c5fc3ef8dc74b36310f767d515d39a3ec961f1f473b67d363b62192ff5f96be5be7e62dd9edde2c4da79ec7b39e061642f1946509a614c113853aea5cec5c02d3f8743a49519467b9b31355d1775d4f82ab7a5a2f98af39c0014030acd1193c1a2e69b8d919ac1f42cd1b5326ddf113a35585e2c87f482d58dddaaa2c7d0ca2926fba5e60f16e0f4cd4ce43bbc39fa9af1f900b17af541005f7d430e3ae380c533c5d45fa4875e0eb6a5eb5a29789a1a31074085d1c36ef6732ee6d32f886fe0bf432e107fc34380aecb0855bdd472927408a4fbc189bc64e863999ca2c3bfaeeb94b7a4f8865b473e6495c25db2115101cda21a3dfe2f24acc314007e8c77ab6ae74292e92b02871706f1ff176fead26f72e035318981e257f9dea0733e4cb2f702303598df9b28999b7d1bc11f6412e3d6975fdbb785ee6cd3e8b90f4da0f339671ad0ce788226516d0823e52df5ee17ab786b1cf2fad85af0c72c43b0ebdf4fae12662edda383f523e9902cebd74f99cd35a5098ed555a89bbeeb6cf25f3c50cb1f0875acb647588cab0b5cf276f4a453e6a0e91fa5940539a4d9edb5fff4597ab80dcf463855d03c5d3cf7dc3b426d7c1653b51e365638918de3de38cdaa94d7035e457a4b8d61156a724defbff3cca26689f075f812bc431a5bcfc50736e9c38af956fd07c1eccc3d37842020b46ae5679dddaa6231a6b83be2feb24204ce67eccf4067fa2faf88e0651b3284979b5f716b91f6c812d963b0449dd2dfea83b6b385f448dd14f133fa826948fc3297a20abbc39a30bc48a18a1094e3ee2b6b96d891640c6526d1c78220b3846d2ab8c8e19f7d02d94e3921feffac59d1b3c64611ec03808a31d4242668a5649a1ba87c6297f284039969b3eb7b9cde59c371ab63f62d0fb8fd0fe4ed31a4d73b8c3e29675cfdb761ac5f0c89e19fa6cae9ee9d12c16a9aa9fbcf56a973ea57dbb52caee8872455470e1734ae4fdcd095750be6e2d1720a823c0e7bc3c671aa21b5fd349a0400cdac2c2febd8e1897e04848b3a2007dd28eed974b90e5b62bd4883ea74ffe972b6ecb6756b2147643d9af43dc2600c2af9e880f0ecadc9cc7176d338b47a12fb779a050e56c7c8e1ca751f0578746d90cf51ed29354bfbb23ed53941e5f59008f356e55b121bf99a274389c6d71e42433860d3fbd386cfbe77d9a17bee4889518d9e7dbb88cfa71d203bb9f0fdbfa9d8adfc70930c7863cf9deeca2df94b9d7fe2cf0a198bb9038160959dc7270fcbcd415c50ea896abbe9677e6e510a8b30e4b6515c6b11acad74dcaef1e53733c3ab6f265416656eb1b53c1fa3f9e98ba09e724fb56cec0d46177af1b668efcf157d78e63638fbbaecf26d992fdfef1de698ba3b91827c65b1fcec178085ae8bc31fef1611d7f05f78287da10b4ce2ffe15bed3bdaa5e7644ce1c8944e532600ce39dd93defe93a76b31ff88111bbe00f572d6752686f4faf53813cb68638b94e13f9675b8117fccebda77ec9f6f9c3d17b158dfe42bc7330595cc600e8ab2b7dd2cfd36a4417a12b6d24e95cec23961730f6092eb483b54c58bb7b873a081fe263e78d4b389f904c89f0fbc2f3bbea028fb39622cfcbf1240479b0ad2fddaabee3fe20e70f06bb4a26cbb51de3357e5de03a80fada139c606d37a3ee58d34577e5e883b607c8570dfa8a8fb067c6ef243c8735590d6fa539aee0b684191bb39fa053e669b7c9e04ce6e3ce677485e8ec3a3fa4f97718cff0dc48b5e5870d1de2b209edd737e74291d3604212731d24b6fe66a506b0be2a675e653caa3962c972453d18e837596ccec2725d3642e3c287195620b73ad1fac7ea9d8efad0bffd26dffed26fe9e833ac78bccdabd816a02727eaa14f50e4f5e733c449fc295fbbbafedcef09b7db70288ee1e291d3e94427b4f244878016273ee142979e9fcbbdca12cc1b268a1774608e5cef55b08aa8e704b05add04f19b617eb09e41ba9bc43186fc4fcb0c0f7c4312ebef7b1431ee99b223bada479e252bb1beffb803aed36c96f9736fb21d5a09bdb4347ceff32a8530227dafba802bbfe1468b4fc2623e16ec2b1d444ca99d6e11299cc135c65594d5796f1949842ef82c967f40d29408b9a7ecaa25f6ff214843d3b32f35f4a20e1bd49f503a751d42f8fffe9774d6a117816fa94478c4a22dba5f9ddcb7a42e4e3276ba931fcd2781c4b2eb8ef38cc3e7ea5ee118fd1c501c7ec01d49ec351fa682edef96776e07cc604792895425fdce92440923e3c2842feba69560ed71533ab08f5da56d5c9b454971ae08dae56e9c2ec58897970df60469113fbf991a19ffdf016d663534aed626cb07d5ef92b614066eee077c2f2904ceb2170d14f6e3fc14b0583e7596146ea51de145d7ec2442a83109e09fcb7466ce949cb56946ea097177dfab38447920e86506a9f2f672fd3849bf9c5eb85f2b86306f193075dc4f37da30e0d5100d3fe9b0d3e3633addc62e786ffbc2abb69f9e72afeadcb3ed5e92ea9186af322b88362e27afb65bf5b1b2b9c4bfc3d0c7897e75d076610f90c96a3de6704cfafc9e0fb686e1ed3194e60ee5631fcb70055754248af1b89cb7421ed5bd884176e428d2ff4e1b79504ea7b519db2e51c0c553440d584217ebbf015fe29076f719b14a35e4a5edb56f1e7f5032296c07dd93a057a854a90b4fa1d9dad03a56d079b6e10f773c173d86ebce9e2f35aef4ee3b1dd34eb8fab3fc69cdec0613df15473bc59997d1ac5465ce95a93ba0cb6bffd6767dccf73be38586e4866d6f9c2f6a9dff59223196abdfcda6e437b066db9f02ce77a196be164c8ca744de3c9ad474e0a7cf753b4132d887a1f4cea1dbc972e7009653df7f993f944c0ba35619603b26bc411f5e3aa077ed37ffd869f7abb6435b731b27ec8937496ea8ee44f18e131dc9e2238530fd353ff3ddefcf87ed91fdf7e64bf67f9848b7325ebfc7d52b35a1abd64d0a78e72c50546bf09b57c2d5d88e9978de94ed34d16bab6cbf9aa8fc2f8c7b3d0217ceda730ff4b7a46651d01446500a461d86341313c6f17b916b112a0f22ed74df88ff83cb339fe8bb99aa395feafb86cf1163c37fa82e3be2cc86699b67d3f90f10d66be67c67138e0a90d903b2df024d6f53aaf5a5e32f799e8cc832ff210ad7e29b7bf995b0ff314010096aed289e985a54d99fac46f5ce77f22ea91b06abe69d91ee76ce28bad55aee3da3b1bac62bb0ac6f96dc15572cb6d782b3c572101043c1d3e837e1d1ba97435581afa67b3515fc8c9225a65a96431ee3944b0daf3aacf2580e96e5e6811b6023a71c9723ceba24d06194508630cfaa5417e4ad36db9c26b7d8f7020bb648f38e69d12ba059f1bff09b47904f65b802938fcde95828d48d05ee91c0019ee0606003f78035c6611f370812ceb9447be018ba8019bc20218191d4104e95bcd4d0db6610996b316d9906a56ff4ac16b585016721dce71126b953d99fb46eeb73756c652fa41430fd24003f16978476c173eed24be96346022c972304995ee1ec71ed0828c26c21ec845ae7b32bcff39e19cbf62eddf913c884a4f1ee48f3db45517bd0197f8e08b929ad2579ef71ac0e66baf65d633f4927234d37e0ca46b165a0257e26afb4c0f744bb32b0e030092fb9866a954b61326d169ab30db6cd56f18609735bb1dbddc4cf82498d20b365d128e379232019eff5a05f888855c71ca61273dc7535ecc1f03b13fc950fce9927520f46b3eef5c67ac0dcd2ae68366716d2fd330ee8a7720fdde89933e2b0a8648716bf99f6ab6d615459bd949e43149540dd035391687770656013d97f09934be9c4776feafd9c50139e2e437ed96d8818184cd6b26cf51c82ccef39c3bece757b1c4612189233feac97466b2008c4ca6e38a2bd6ae1c9c868c9a490ce27e2f023e0ab3b30c393ddc61ad5603948b986873f06a8b33c16c0fd604040045f418a0a0485a3332ddeb472091da3728d0aa48ad06a86bf35fe26718ea3513cd785faa65ff4fa8e744766edd7bca1b8b5a4e0116030089477d1c7019b872a5d101aa53928e2c5622692b94082f4838f97eb30ec720762f848ead568028985a41f0a59d832eba401085dc85bf77d67d262a0db825224755902e0db95afba700bbd80bb4dd51953e88244c0e9944e34fbb668ce5fea52cef78207a252cd56810310fb8c942dd7ef19cc27a24cc9a42711ccf720b64cc4bfaa316c115a709fe963ed261d984120fb11da3cd7fd8429b27c4a75e2d9b35905cd3b2eb7e7e9df6f97106b15b062fda9ff8bce63be3d80613e53982dba7455d08ac67b20703fa80d9df9673dcc76748a2b01b04ad81435bb434ab021de0ce23a8a5080400e48dc770b61c06faf98c079a6911969eec93de4374c611aeb93dcd21a2fb21fb01c40df18d6436f844fe731e7c05050087301d76ca81328b4306c56337f216fb2e070600cc2962e6b65e9b04fa8e99fa7fdb60e58341cbdf8af668853092c85bb48a077a39c35b0e97630bdf7d5c2c43ba7b3d18b5c56eda269d4858cf6af89841371522ba717c664aa25a88f1b45de3688e5d232437422c228be41aa64f142bdda50f652750f82bd360386eba78e1804f37c143490195a102d982071a1a30d97ae3758036a255d7b51a3bc52ae0adf8713372c27b2468505d0838e766dd7c1b8631852e3de653118c5b262317ca6f31b0e719b625b23ce47f80802b47ef61f4e79231a8919a25c716d711aecb746a756a0616582bcc1ec6a6ff6c5c168a272621b8308bfea73ceef75e6e1936c000abc438ee65a846cf765dd4822d98b9dc7aec951e779d4855209754bf6a7f4eb46a38e6a7d105ae20c95bd5fcb33fb69a45fd86818b9cf5b35ea44da7b090f9095243f36ac3660214d733de5ff0a809cf05fca7a34eba628d96c46d44bbaa659540314cf79efba449a39e5f11d4077c014038af4fb79a573cffad0e682a848f626d69c2811305e9a543ba24f075d980c078a3411d0ec770cffdbfe018c1909901b810bbe06521cedb843dec30043308d6e188bd658c4908ecc3ea1acdbf2e9ecbc8f7101379152221822b8992059c0603003ac431dc99a1d4759c6a478a0592b9616c2e36e15f6a8bf4b519dcd573ca739e8a41ecaf5888e954c08d2b0bce07b226ce58014e1264fcf5acc61fdc875e3236dec5220332915f50f9b00122be396e54cb11c5355faa52404012bd53feaa5512620ade3be2896af46fc85923338e8f9836d50100e811010085f4a873707fe163e4086058683ea64f2a923607b33f6dd8ae63fb1272714146f187b219b41b7a147b6fdab5e82a4cd6807e9379fdccfa6731e94dba82cddaaeb8e75dd76826d2726d331d9e6cf37b4a8f071e4b7618537ad9e6503731228c93b037dae3bf59ccdc224bd9bf33cb37ab8dc701cf772fb6a175edb378727d00ec515aee3fb021386ee282abf44e58d851b81853014bf3b5f78c3ba59c8cd6d8426375db39101ddfb24db346f306786d3c4e0ef95e27dcfcb866f51d63cb9dc1567dc58cdcb4fbe9bb4e23fc054d0f19f8e22d6133192be79321721e7891f5a773f5852c4760f0389f4e18e852d96787efd102e666de596d39c1b6bec71249af139ee099f8449bf30a3705bb67d656efde9d66dcd955333bfb855949b31b31d3737abb60ca59239c88b6aaadbbc06a72cd3c7129330b1c6391f7dcc1e04e36b157c82938df8e61170ebbea8aed99842b700d3b31f1d50ad97ed55d0d3dc1564eb2d3c826e6466bcf1d3879416dd6fe296e6fe59a1826071c06795f4f9501d8bae9cc73f13433a0f266bee474c023847bc1b798dd0cdfa36c1c641d7f222d5d7cd4a11ed3f93b3ae2d48cf04dcd9d686f9aecce0e3ed58c1da35a1003e71777690337c890ae6c61c3a82bdc5923fb1936e951eb2cec34637332af8dc41da79cb9036f10ec88ceadd0cd3ac2b4b94b6db5ed7eff762d306dca46b036e7d179fdf95c76d7961d37be962b1fd6a69a17e12baf211dcd9fde1ab7a1fd60c557e764075a75ecc668e4cd294b86563eada06f62f7770c6e7fc89191db5ab8f5baf9cebb4ad79b1d7bb8edaea932b1c4465bc99107387e9cd73f9879da56d1b2d2e1da847b537f854d780c62a11dffa31b6b0cef79ed7b9c491cf822a6e0b5a7db48d40ed68193760cac5c32fb3787b6f0f0d11e380835deec4e7bf3ed5a018be7bc73d8e3220d2e3b0d3d5b7a76f970be2d475c35ef16c676a6ec0ac11a0ecea4ab5e83cd3b0c92380273309829c3bac654b3ed4deb437ce0d8fd6d16a099590aed55bb7336276751270f68941b3ff806d3196dae9177f56c7d4e0c5dea5be306e2096e6209bb780638a36b99d565771de337e0259b19a75dfe720bdb9c4d83b4a757ef3fc1f14de5b02e5e765e382e22b7dcc7c78cd2fcf556fade2857e2bea7afd2846b70bf9bbd33de728c3649b3ea65d8a4eb398d67fa05b562e3218c7f41a6ddb93997ad867ab6afe174a599b6ddf9ca570d11f6e378e6d9afedc9eced8117b69f776a88646ebdce0fc686f76fd9f525bbadd591e622badaaa1bc3bdfcfe5c8ec8cf6442ae6a09b66cd8852013774ed8720e339cefc6aae5cdaa5f4678ac8ff90a266a5f660da9627e4433d6ef1bf67d989c37eee0e8ec6eb103edcf5eb771e5c005db3953defa31197951e7f178e47e966cc6f78c6c66ce2b1f71f51bacd318a7569a77251bbb8d71e7333f73335cea9db47aa019d9be6acf26c3cc641fe948303f9743fbdc9ca0e65baa0b1b989e24b6a5721699cbec363c97fcb5e59419778b55711b30d35edb6981455afcc51991b16edf333c230c036b6587684c47eb1e2e43bc754399d18c112b7b8376fcb5b6f14d0c77b96303867f66d3893b762e8c8b7ef23d03b60187c8ac3924b4aada35869d431a7ec21bb88cfbedd27d59391eea6c1ef4a09bced9558bf18fb95a57b907dd26bdd71eb5a955d6df800eee9ed56d6eb15a1ada304113bf43119c71df434fcc5ea6d1dec3f4588f9ce4c8301be3ca09bb0ebf1d6cd72169f12cac9eff3e896b5cca8ae633ff510d43973490dbdffd63669acf904bc29298b9eaca47d3f24c00cb1d9aeecddfd9657bd58d456330338bed08b0500d68f66147ccfb61cf739cbdbbab60111c86956e69359998670c87cb4d9c4547eef3f017710f8b9763341c1fcefc841d5b62bed9235f26a361da96da61c0386eb0f576025ef2809dce2c83dadc3016afc8f4a637b63b09565b68cbc96fbf824c3fd196ac3fae412b18631819bddeccc0084e517b6fc64d2dd65dcbec7a33b2524366e1c0e476d9005c8357ddecf8bbec8d732c8f90cc4c3798f9dca72f9ed3c168f3b3dc6de2e667ebcd37e28edf782d49be5d4fe28070e2f5eb6b1a0f332699b773dc066b3dea0a462ea5c55cde88393ef37d5ab8caa68f3d9670f498d9d5669732e4039d6fc866af0d92191b0d0fe15696669a1d1747dc8be9780c33b9e541d6c6e64130b490e5d6b06f378f771ee1e381cbbd33ecf6c3184c9520a7493677a559a3b22393ef4ec7ec8dbc81a4989335d32e03ab8b8c07fc4817559b70a73383fdc877d574fcb22cc6d6eb590b31e1332ce4d7d71666e1d85981ab09ef3e6bcc414daee3f948440481019c78010a6344876e3f020200858cf378f4fb43eea0fbb1db5719d77e727db2c6aab3166f31da25cef455f5659d88c40f1cae11b96d161cc733dcc77281292221ae681d217f415700bc21cce481c967844298da616c3fac011d00c4d68dc06b7bd40bef46efeb5f0c91f4737a065cd8fdb4a7123c046a2c63e96429923d48f38244762117c030b932367770681346afa893fcef9afd6eabb463da703256d9c57ce734ea4719cc54ff6dc618cb39e4520e9f48751e712348bfce75650da08f3e490ab5913c4dc4c5707ad205c171192ef17a2344ce32e1f6a17c256f1af59cd7358893a049e5328d35a1aa4e1128dac41d2421fc100022b4ef0cb56b76118bb8118551a9d33ae393f4cf86d65b06604a554dff151e4af5da8117ab610a9765c0f2e335b35cb45f17ba2aca6a138a3539b0e9360780a4ad6dfe92603de5b3bb51aa2829db376015ee653102deb9c1d3713c329bf466bf757734df0ebae45a2694ad5d6809bf97404fc2fba2632f02aa61caec4af7a2aeb7080500899438e1e02a2e4ba402061d008e4d10e59c42f23662b60fa1fa1ac3a4cf18c3c20bacd6b8f77ce57f8ae087c66b505b76ca8deebc280601454f3eab66cf89e22eddf1a891a453fb069f7349021dac17b4caeac234ca2733e5f86e44ecf7ae8c95ca6d17b4e12e32da25d0401eab49d37ca8515dc6201ba5e0b36dadb69980368f746aa550c31c6ce3d95e44f4211e12c6ce6cf77a82ebb861949ce582e86daffef15efc6db3c62349f29ae0b56fde7ce79048a1e39aa65d97f0a8e9620d02731bc6768160b99843d9771fca6a2d099e610ce198f49b68c1b36962d9be17473623cb77005b04b973bad6827ab058646fd12edb38bc67967a903bda855417240634a0a54e56cdf77c72fa4cc3f08e0f6888e1cd844bf7ba63bff0eb87ee99721a181c1657ef9625e8ce7783414fc68345731b1cc4f25c7b180417a44f6fbc5724f27746f112d59abf27cd0bb25c2e469f0acdd8357e273a0064bd5e699da53b1726b3feb580726eff3bb2b65fbd12429ca1d4df2cb55d42b99ab9eb96bf055820643002c64689052a030400b42e96d407ca579a7a49d5666b11d055ae64d580ad631a73e07ea3fcb268f5580a030067de747fe02d511f3fe765703d722dd69b44b670541eb00928333a9513e6dcffb634dd8b349da696ef39e84cfddb7995b024c4dc8353ca9af3613b0290ab619fa886449be30fc38e9e13c74ffb73075ab38c356710ab13015a3ff4c6f0c06998015c09ed8ab64dff29d2b452a40db962d0798d980a86171f21bb1fe215d89ba3ddd67f4360acf6637be452fb50a9bf5d5803fa8f6e1a51f916a25db6b8155dab1bde68d1037853ac52ccf9a494562cdee643af08c1320602005f47f68403ba17872f691435ddfba5faa150a9f29045888a3375de914ee9413921019c87e87d88aefb98409641b05969e02c3042eabb631dc503bae18ac71560085d251597c98067127e29ed4d68dfa604cafbf89fef5350088e9ed42f9836a708a95172045ab327cfadd7660fdf3cae4c35bfa34e50fb2ad5dd945b03642634debc651cc5289974dded639c86744cf89c3ae5b5f135f8692c362dbdeefba6b964571d8b96f57c7c0a9bbc14b41bce672a8a5e40e850b9c77e9ca517fb900cf09bb316d57c64ef8ef7078458c15c0568f545ee4e1dcc25812a3c47de03bd16d47f00b78082a39702b9d15697d7894bd677c30d93aac66f8d5c06a109a4a11d00c3e17f65479ea24091fa50c5c8717722838da3cd51aa61ad787263f93c952780a304f562b44286e71770cc7730340399ce2b3089603823c132e41e2253ce9bc5047a1b1f52de3b0261ba00717133f08b5d30701b33bd7d286bf53354217a15a05f0a64449a5c7b08620be089b5536b2db6e0414c9c3a84469dfe30e232f05f357b3b0c0f6f1aaa53dc25e3402e32b771d17ca64f4ea7ae57f26a80e13e98ef46027654df63af9b43842f51c85661f24f02977b864c57c6293fe84d1c53acd1098a3583a1781351fa777d793b5ddb87ad8a953f02cd2ff0a759b25f0a9372924f70a70ba20c598012f39a0da64af6994492304cd753fe4be0b8635a1c5be88932f289a35b7c24760ca64e57ff7939ae596f31da4b4da6c561844fc01d7c27b059cb76832ce89f8e390db544efc42152ab8e390dc16bd4cb2432daab536c7770418dfd74fc319e640c9b846ae1242805c849f137df7544be5ce886f88cbe679dc7b60779d21215df450c0300a14cc91911f59f8c83ec31e008b09e3c39c386536f658b36f39e5fb830d6fa745b24785747f0f87c6712963f111e44f33d0670be6cb8c8738c37fba1b634956319fe99bc5220dc4f0e83ce79873202ab936115c00c6585902aed7b60ee8c858f9a6872dbe233756cd22f5bd22c9a7f6e5e20e38119721e15055e16a9424da5ae0114848a5c07c46da0f943f28fe8c926328fa0842c241cb7f541b8d936fd0c3292a68f2dc45e1c752b2fdb86419a1bc217f6505b21114099ca23a6af893436417d7c87f00e92067e65be56e19c05e48206ead27b5d1f600b161a00c313a36f60a7d513b04bd58d362ed66bc4e633f6ada8b18bec5cb56a37b9f9d622f76b089cc73e842fa1597880803e2529b66c0cf05c8e5cc52e454b0cc72460f237e0d00790a2b066a1f5752d00599a032a39a90a7234d48b21257b2346a0b15936f998f943fc31d879245b6612bb9937d16f9a82a663d5210a7f96ff8ee7a9525ec7939c56af7d4c272b94aad38a674d09b1a44f6de4399410da21ca91392dd8c069131630dfd58cb2dc98f16a15775402030026d8754eb8c042461605b35c7645f29bbc46a6e3d410d88f0ccc7b2615f9a4dd49b2f861045dca7557b022ca8b36b55ec87f8857408907bd5da6fea97c8747eeb0c2862f83884407f176525d13bb38feeca37e926f1dd05ff198515c161d14c8fb77f14c84a4f3608aebabf2e78e5cea852dbd75b531f2708317dd007b789aa275c820cc02c5670fdd842ed204acb16717e5670552fd7e419c1d9ea75fb8a64466bf904d23cc7e6a6bfa4cf58d3811de7f28862e187147a17266965829d30d820ed1e097711c0a1d3dee9967754f40cabd5b4b0ed3586611aa157ed7771f25cd933eb6549540d576915359e47f2ad778321167b330eced4094ce78ce973f863108822c85d129683402c8660e14bc4df6f57acd016935b4185b06139155c3aad4d674bd6845bcf3748cf5d47bb8466510d52eaf69f26d42f1959d6c170ea8b76d54fc7806ee4340f0bedead4b0ccf23b0e684a149741f36910679314e5923386ac36cb5bdb03e36e2343873353f4a7b89545f3110ae564ba54b1b721d3b46ae5735f600a819c138ea057c3a932dd503e8c51e19a827b4318a765103007e406f41136c33379f4a97b69f2edd6228dcbb64d279e1669b46acb5930b8d90a26ed72ddba10a8d4f282c714559c2c3619afbc9f9bde77436731ee17dc37b49f4d27005b737e9d939404b9f380007b0d8835eb79cfd8f4c1a1ec1f41bc429085db6469eccff7621c11a04afeda408be5d2fa75233aab8da7973c421c9cf2c324f13d69cc530d8682bb05bd723333e33f2129a4aac8f5117bf3f1cc84063eef7a0e63b8934fca367f1a2cca85f6974af04b6f3eb3a61ecf59e77cc1b0628c61ccf923a9578fda822cb99f2a49ad6452f9c0110c05e7d28a192a6d385de7a58cf52060ee4575e07a562d06e69b55e0939fcb5606444b04ed8244752e33013885fd668084ef6a9526dd62b304cb552bb26e95f915de8bf68b55ea611fe1f01206d5c20c8ab56f29d5ca442cc834d22afec973ee97a76cb829fef9fa721d37f1e386338fba44caaefba79745be602e7fb80d847da5f8c622be20698b0113eb5ab040c81d63364eb832bb40d94eded72325159b233db62ae0ebd8994b50eea88c8215ede05ad8ae31d01bb597f2a9331cf6dfb6ad67f52b9b7e14af9dc28943f58cc3de8017037a3c052a34c54ad97a068b4959eb9d402772f453daa83e4156e5316b0b9338c7f10eb92ca45dc7ced89ca7365b1895aafe56953a40575ce7c2cae072cd4f16d13be73689557eaa1f38ae58c851bf2a95e09c66f0374835233dc3d7eef67b856fd824bf47c639da652c910f47dd6a4fe3a695762c0e2f33c511815b204b4977ce299ce5069d2fca5a5069a38bee8905ed9257821d780bf68a80a916c5b2c6733f09786911069e38ee5535a03f98d802b9b5d51b63b3fade1b71ecf7a9039cd76cc6f07a2df860760d532a04b85ee20d2d188612d521570d99f4a943f71c057ce409a270734f49b69782356fe219348533d9624cd66ee1b74ea9505806a0ea3da200c824044980b80600b300fe54286363a372f5ad10013e68d6d1530f49d18fc00e5b45ca85162f6c260267ffe80342acc36e131c007de29ba657d3f761ee24d7a1629c8e68f39e82fd7a24b002fb25ba9b2cb69096216b3006d690b2216a8d7e053c36c47b07a25ffa8d7820fb7599e459ff59394516c156f7a116a1fc712e2c030b8600b8c047d51fc1519252053fcbf183ee706ae67d04281c16a14b143ecca6843cdd178630e1f230d907cd5822a508bdf88c16afb82510b596422e5049c3a4538e3cbfda0a99254602c10c4742a32e029b601e623ce1d01e88431e32a09b912e946f069e79ed32f623ede851e02b228b40dc2672c3f8c29ef989f00969f38931e045c0776df1daf95ac2cda8833ee50a9ec09c302ae2ad33022210477825eeeed8b12cd926f1ee1a8536b13f18f9bfc9d069a45c336b2148fa06cfd9956be4cb7106009c4ec8a96f9a03cedcb4829de28d0a0ca9f3d71026b164ef932f515d964cd84e557df35e092eb6f00abae34f7c179bd49bd663412cc7535e49fc55601c7f40093650e48f184534a0d62bb8c97493ae46952fd46f524cfb96fda91ca01407ba813dc7b252a994222cd28b53a33b25a923d7b4a2ad61ffd171b7520f16b6e62dd3a05b02f0e27da2ee028eb3614eb70782314a510b80eb9ad18701b38914aa33ae241ea88310dcf4bf6b13fa69f741d2ce4097d0072037a61baf299ab16a74f640fdd41be76da2167c060b9a0d156bfbd1adf2cb75f7d2696f7b7623a3e6e796d177e2634e6a6077c3c2d0c5b291af4f479bb264394d42dd22b891faeb7d3742d86561a0576ff70ea371dc64218fca9d81a0904cb346b592a2da75051bafd7d5722a02b8404c78150790fec8a2fd452ab41e9ad58339fab54632571f8af1a36df5eb7e356a44235ac54d21a8d8b275f264ff878c43feec76c4b56a6510aa0765137ae63bc62cbf6807a86a24ac423f4ab8857a24d90e981e2b26c1ac5c8171ec9b3ed86aa966414bdd7758c3477d0b4bc895807bd04b6b76034e359e4d47d08b1f69d4ef7db82be030cdf358e81ea6914899471645b1d4bf3db274384b543640f707bdd290a2f5ad2750a7f9580474cf4cb74e280c56aae0f69f3355abc19bb14a34b16df2bd91198449dd31f3be60faa46f58eef9c36a6d0bd2aa20b27d9c5112d3a5ae50cb781764eda45edef742d8935404291179d2bd4419b5d050392cc6a2fe123bc22d4f87d434e5013db4dcb1db104ee952ddf923ba90206ba227b146d9b34a96074746ac35ed5d68112bb9ec353bd21e4a55c67c0d464828698551f78d37a13d15ea874cd6c14848266f18b94f69685a78b4d878e4ffa7d0c7c8cc109a2613e2001433c6f7a5d12b029ec13f78d9c2982a14c10882c88b861ec714550bf4f4df9818c674d34dce38c706808b311ba9d451fd1731c95d15f077409c46223d57c4baa039e4955ae822d01acaa535fe14af2773925d7a2f8943c8e363bfe09b26d18ea447738ac624dbaa550c2e6610c018ed27d081b8fc52730470a9dc84bf1fca70ac086fb19c20fc16a569dc13ef264dbd160af5733f6fe6fdc93f049dd27f576e65554ffdf0151af4d3d00c93060d729d1b6ce57c0b25003ace994e13e03078ff049c08c375dec39326d2f49a22226fe839c4579849742c82e38a4ac5520b67edf24d4df64531cb9576e1778339f4719fd19a380421db0ff3a63cc3ae93c7a87905c1ea9471addbb714efac46923e6dc3f8f3a56188cbcc26dbb437c27ab665702e4512f48bcda7e0e4f124af367729e076e16903800a931f4591b3b21792246024bb241f879d094f5eba21fc82881e835a2d75902bafb2e1d00008c9aa5cfd30ef478a3ac8de6f7647e3d31d904943e756c3be990767a282802ad60eb58b18ec20bc9a4fdd837d32d460910c56a15ce037781b7608af32f887226795ac82585477638c1e47ad3f9a22bee753751ddbfe9808b27ea08613ab181495e065f08f23a39ebf9b0439c1dc61fb47d663ee6761f9fc916fa56987a2229d454215901cf78f69fb5ccb962d27358e22a83e1546850292ae14b32db54bde49b2d24b125943d8821c87143eb20e33df018bc871fd029f9643b6c853087565d0647a142fa3f988215c56e8846e96e4d10521a1c0aee0c480b49aae28d1418396605181eb2383c3b94af1fda83ec882cd7262d933b14d779488f37737e832ef966b4c258328d18db7f2733e2a0016341711aadb4b74511146b0877e0faa26123ea6f5500abd5bc5ab15a7e89b15c95331f080cb5620d0eb717da10961aaa55fe343f08a841f18790ac4a292d46bdc32026244920e73d1c8f58b1ffaa9b392fea10b965be1eb29de97746cb28ba700eb67ee737678d9c99dd6547ac551cacff847a3a6be247cf0ed664b0582603ae783a0ab2a3fb449ed02d5e90fc84e07c0aee3d48987ed0276ec72f27aadb0bfd23d2f3585fea93ec86556d5f9fce24e7f86562244dd93bec49d10e54323dc26b9ce6c21bf4623ca9e88f88309d46c11ee03db86e70626c5aac050212f35278d155962e8724b1af104aa4257e6e302de66a12663279243135613bfda45f351afe48a6a9140a216d18e8595bc462284651acb149f895f633550f948a3287557672cd70861de89140f60a8a8891c019b661a85089ea79830086551d002403a5636e021557b0db3d9f60883318c054ad8543d12ac5ee53bc979fcf2816c901ab829e16be50b309849d3b0f840ed240b70aaf0ef2450048f0470405bc69f7dc39d87f55be84192205721bf056b16b99412ee859cf8d3827d2eb89345926ca444f36adb9e3ea93ee97c6644cf7bbfd3328091c7731606b8c4eb30ad087cb6ead198b48b14fea5d762fbe2cb15af8a373711ac2a2cb1b8eb25d60c92e0d7142bb74fc7aef8dfbb228d1ff8af8a135e7348f65ec2c0bdd8840ad2d429653be66b56b11c989b3d75c06ea98a16b39c21f0ec2bc649eec158915beacdf98b3664a6f2d9c470174491a198cd73442ed049798a0d4726cc506c91dc8d51207ebce850174929bbe1bbc154f0412afc7652dd08a96ed09d57eb20b8b985863e37f84ed65ce935008c0fc8194324fa887e07536573c17c2e18cac160e671d901cfe83dcc36e73283bea868a6510e048d36203c640ebacf5399240ef6fd813b2c67d4858168e2ed948f789f2813f25fc23274ebed22b541401a940e9bc65b4de3e01a9d922d0237c4e598a2503ab92f3f6783f99b8e268f269c29ba41bfaa707db7a7c7aa501418ea7e616f23e979c4420ad169a5ba2e6919e4714f83f87d4592d3188b0d990aa10c6136e1939168a4cd077b920b80bd670c9fab15cb5ab0ca30c025b1fb56953d43191a46bb70886b25bff838df6f0fb5290e58eac5794fd63bca2ab06825a2a751dda787921622e098811869ea651142079a04b7722b65f15bd44ed1c20f25f3aea7b3bb83ac368db230cb42adc9b58e23f9e46de63741f76379e49444c37e6a03e2ad24f5a7c3e67294ff7a13fa9a999a212f692a79641abdd19bee8931f03912fc72c812cb714842d42eba29445f0703211bc7c3d420532bc318c384385861494d07b35e009ac08cb50dc8d4a93cb7b26db9236e52f33ed94f97eaa0bafbc080600e441031680984ec59b4685e68e377936b2bab755704320cbb46e54fd465260e32fd84fdb7a3ccdf77ddb8e66b3c810ac379087925c0435a13be47883868ea5fef19ab5df7de6480656af47f265f018a6f1598cedb92279e2eea58f68630eb7d05a05b1e95494de2b73cc97598931f5a004323301bc2027316f3144343233494a696a4cb76cb7bc6e73445a7a644c4a6a6a4e4e6e6a68666a72797b8177790607200a28030b636c7378952045010801b2b8a50108c6c0bac1c298b5a3658227744874c7744a744d0ecdb2ab99aba10b7180b3dc10004244458e47484b4c4d4e4f22505254555761505102626465595b5c676b6d4b6f5416177074751d6f7625b2b3b4c6c7697576c13d046355f05c665f616568696a7b9d6d859f717072737475788283ab898a1c8b8c7a909192b8be731342084200014214000100011020332e3235212120053f3f2030693435363738392b123d28296e3031323365000000977fa894c0fe019314011c1692cfc98bab2604145f4008084a0004fd2f00d38aed401ed79e11fcadf768d029e0e7fefb13d12589a3c11f5141639ca6f7fcde7602420ff27f63b7c078f640aff792affcebefd0f4925e77bdfed048ef70ff23ead0cfc59718947657816b3d1e6198e5311f8e03cd12c66c26d84b3910fcbcebbaff241d58067cd97f77b1dbd848ed1e6764e2ffeb479201ad15623c6cbd4380ffff90f67b5b37c1f80258484d342e358e1c8bf61fcb5c19ae45dcb7347e44f88634ef7f02bd45f439a4fbdefef5fbff1fff8365f5b17e60e28d6b50afb78e247dd963a97704bd33c9a287d5f8adfd77d7eb406b282079e3ad399f15bf4a1f8e935dc33fe8a60d8de7926e17c5a7e800f663d374fef2dd2c38e5a5de0d6a1fc1ca6e40eccc01574e936de78576a3d11f5e19379a808e17e327ba226e610339fd1562de82f93211dc2f7b43c76d93630de005a69101d555689bdd801cb57f292337a8050c77d28db371433e92b9e5987d3bd7fbbee0b1b0d84c996d3dd4aee35debd1e9f32f6e66e2d44dcdbcc058cd3ba597dcd4242df8796a8cab56671cbb37773cc6b974cd7342fb2e3b6cdbd1160bd9907b2dd35eaff9966ba54e789993cd7d955b98b979a770d08cc77da0bd2f1767f107ac3960a1cbf73ed1b3c7075eb555ed1cb7c84916e9ab856eb30993330e471d32933ffc60db64bbea03fbb931039dfab3d73f954df8d1fb9a266b997c8b8d9551b9a70b2f698026c6e92d7dd6e2c4a79c9e88410ca87be7c29ceb009ca0ff21dd7e0b1bf2203e0e9bd13aede4e1b90027ed31ca582f0d6e0193c66fb220739cc8cc77754fa185afd21b1f77c0bc2f5f33d88586eacab7f1efd84ce371c652f97a76e136f032abc92693adacf653349323a87777ea1c7b4fb949358581ba7727ee72e126b63739b181b572f36f65cdccd8ece991c36639a5b375d9b96b6e40697ac3a5a21b912c60d2ecd5ae619fd4b15edae6179ff92106d221b45a71ca62e769e929fe06e93637e6b9f3d4135a79052d184bcb846d5a7c4b5877975a36baa499707bd3c9ce1acc5b26e0decdbf69ed9a400198eeca5bb55776f09cb3ca883661a75da42bacf497cce8ad038f6e5f6c90c6355617093d8c0dc70a2726bf643b629da7ffac1706dc1c97ba0913a9fdec9ba59e291a3508df36aec370d7439dbac8dab72f2eaa25736e26079e7176674ee9ca1c18c381cd8e014d61435ed562df218c5dd80c66626093939f70eb01cdc41a74abbb3a81676d8d5b004fbcf006f76f17831f8785b095cf811919e8d4e3b8eeba8c9cee1007f35afbaa6dd9eb88695bbc729c9d292738ee509fafc17ea360c93664966cdd568b068fc9de6730f9353b6f5ae9a1e73c261338518c03db4f1bd47cb36a02865b484bb44763a69bf35d3b2cc453c97918bf1de4db8e78fb0978a9b36407e13962ab7913719513b37e80635dc9d6c1932c600b476ebd58d87c3378813134e4528703fd0ed354b94269ef357a916995e3a91d76dd3d0bc1f2986dfb69355d15fe9d9f1b517b57b45003b63c6b12b7308967c0d0963ad8ed8d0fad1bd499122cc5706097bd9a0c96cdbfcf8e2dd722cebeed5e992416c8e63bdaf9b51d6211a7cac59a0c6cd874dcbc8d16a6817572cfd8be2b631aec42d01861c19a9bb70bdf5777e6306ffdb325b0f2e8f31cbf9af5d683ab66d0f2871b9887b986936d6841d87d17c67651cbf3875ff76f60c8e87503600758b2067df0e7ecd8a2d9f986c2a68266be2d79cd165ee956707f1d6f60ce5c36677552fa886cc5a42bb6f76b36f9dd57377fd8bd64fddcec630b8b37af456cce92116334f211ef33805d3654df6d53cb18f4db9541ac9722c43cd67eb4f7c6c3714a57dd3edd60a42570699b344edbf8587da8953dce94d542eca8dd1b0fc3ed7ffdf95d61301a53463ac2338a2ded63f26d02e8bae417f082d89ba55afd337fe02334f4876462ad81cab4d85ede160793a80d5b30b7cced754b263518d0c2d51b18db6238ce4cbd1099f4a6660c25f9e73cdd155a9823376371f36f67eb91e1163fd16de8fea3723fa515a9b11c32f549ecd7785bbfc7093b31cace40360c7e6b2c7b3abd36a6bcc2b2c989e4acdc162d62f2f0d93a8c06ee7c32db1bc16fb6dc775eb8b595751cf7eb967d7470cbcd60d9904cd9f12abc7870510bad8d5d6dd082073a320bf621365db4a3d5855879cc50dad676e8713ca1d732e48d1857bda1758e9baebc5fc1cad3229c74cee63e68d9dd8674b2b07e834c724068181f9a6ae62ee0c24199b2535feb5e2ffbd8833270d0b6a8199d19d5d82d4a3f45d4486cda06b4119b18b40b8ec1ef2d9b90a09755df60e0d8dd2206ec026cbef1e02340c3e60bdcc9d1d36efe0077dac911dc18966a8b68f07647f6b34e9b37bd665bb7a6810b32912df3c9a63ba25d32a09674e005077cff1dcfca0e4f77f9c58eec2e0343ed357643268e75c29c6eac02d3185ae886cc93a1470d657583b97d3767d079846d9ab1dc5c0d9bdef102d6ec001cb0d47db59ac68e363babca34ea55c7ed70371e471dd40839433b5cf7579edc525c39bafa45f67e0b9b6f045371bbc44a57d3e6e33b32b8b14cc09276f131851821fc6f2d88cb82b50fbd8c73f1df18dcf319836c1ab2e63c9937acccdd72b19fd13ff1b3f40c23f06a86996f8f3ce0868c9d2cd591cb366fb867ba7b1bc875535e6a347dd911a203b381185fedbcc98dac796f3db97e31b01eba037037c547e2de1d4c630c0e97f3ad6ed9001e70d996e9c03fb3ed44b6a5cd9ae3999a77cdf29b5968b16df5c3214fbae33b2a83f68d582eb80bcb09bc6d6c7e1d2c950bba8ff3cdb2dd825d97d8c1a93d5791677101d3668c11bd0be5fc104e78bf4b2e310d4f8c5ef41d35d135e3c1fda4d7345e2ee098a7ff033a442bea064e319bdd50c6bf7cdc51ade0113c87418e4c9d638ce20d319ace7547fe743d731da7d8f4a84c77fccf0db5c3e6c5b4bcda85e65e63c36a1b8e71ad67e6fb04a655bb56bcb4b1e56b51273bff4b1c12c76f3969fcad65ed2e19635cf938ee1c366ac4fb7150239c0da66cd7ec56cc7c8d69724413ed3a6bf9d1e799708acee8766ee0896b97d9e760cff7b133fa736fc88ee958a6ec6866de9c47ba25db96ed44cc3bfbf43ce30e60bd620e7fdd8fd511e66162f7accfb9ac19c6743e462e9620f380373cc33430ee8eebf6f7b1c54f780023ee05f699b69a45f39c82461d308deddb93eb8ee432261d3f2f5b38688e97caa84b666c63626b64d254ded666754523319035e221d9f49130eaf35fb6b95b8b822f392c6bd6c0b76648cee2f37282851646e4c5db1918b3c00f37876f7162bbdb5c6ead43643beda37705b7bf358ae6be5cb5ef6d3aea62983858d32d3bf9a5e66247d3263ce4f6c40987731cb1db489a38925fb9169c2e76012bd34b617bdac3dfb679380bcef54261e791b4fdb8d96f23743fd0d62ddd9dddcc0d937319fb3bb81536a7b2824bf2e41dc0715a9a79da9eb26630a965b66be6cd7ee834d7ceb5f6a21372ccf4bb9954f3ecc2e95ae71bc4814dc20a5c51ebecd2ec685bdda91cd9dffb9279999033db325b3e5673ee2fe0064b38c219d8d8ff32387fa89ded5c32623656acf5b21b1be35f2c980b9d62c2551f6d62ce59931b9bdd293859676ee5a54916645f5ccff207388b77c876df6caa2c7512eb039e61cdc663182e03c19197cd5a58b593e7b2ad26f3b09416fc041b6cb781ac5673d65de8daa926de94814670e4a24df77d1fd01d7299cab6730ff1a05afdb68f6e583bc7b839476d0a2bdee8ec866781b6dd7c015f67cb020639d60cf0d05bbcb118baced1b6b4330c26d58cdac026278ec98c95173c560f998a1f5d80957b3f3e903ddd4d396c2c3ae90c31774d8fb405865d2a632fbfcfe82c6cdcdb700b6b8a2cb8bcab1f721cdbe5f5082674576f918db2eac5d71a638863bd0c1bd87bee6afb5183a6b79a2b1c76d69932e1391fc4bc93a0592b9dc6857573eb7920dfc1336ceb481877ceffcd118c76f702b680662a5b39fedb501fd76664e9599b266f97f3ed90cb0edd70f31b58d1c82257317ee1d07ff2b73639b2a19dc78ec18f77ee0bd8186f259d730cfe412b66dc0cbb4d354f02cdd21266ca98b053dadb75a84e31c502b96d5bc5dec61c94ae62dcbd3467566c36e4259d6e80b3bd98ca1c64054ceea6f9b4c4ba8ccab988963497d711b7e7c5f8fef5380574c1761c94275ca67631b6b98ddabb3d6e3475ea371cfa946d76666faebc29cc273dbb899d0774d0455ac92683d854336b3eeb62b26813db105a737cc51f6774bd41ae8e4dc732c70c18c0c7c954b21dd672b281e65bf5a4698aabb39d1c3c7f83b7af18e6f85b1e3cd21a4d18abbe80d32d0cb9e6f627b0c6ab69dcbb4336f0a4797d066ec2217a3c0cc5a51b683db57d6ededa2bf838db9186bb262768cc3660e641a35f93e6bc63ef687b97b4b22d7e3282ad66f084bdf955da3b9b708ee1a65e96d18878185a89896408970d72e6220bed31693a666ea1f65d1aeefdc03c633a5003cff86f9538dbabb06822e7fc6696346dd0980f34c09ce698d91e3e28c39eb10164d23f733b1934bb72e9d5a3ab639f3dddddb6fcbac1267c1f8f4f53d3b6f5cf74d225ef755e8db276cc36ad89f8d4e28e06c0361bfef33dbaa0b39eef704cfa4083377380c1b4d6ae297b59e7a46edb2bf76f026b0e7ca90e3ce3470b5fb1b984f9c287a12d36e4a65d2e3a410cacac9bcc899b9ba0f78461daaec460ae7cf069efb67d367c87279d85d8749e77279f68e3735eb4d4d936e408c62edb669e8159f9abbec3cd9982613d1644531b9c2d863baf0e2ccfde8d67f066cc73792dbfe32c83dcd9779941216d6e2f0ee33b622fcf18ce3637eeaad8413bc481776b63cee20c711d0c4319f58ad6e8ccdb9ad2020618c901320c2f03bc79788b4e5d65ef66fb0db6c7df803c7f3775b5b6fccc277f13fb1e2b7a63db992d62d8a2f9dd0e72c181b2f2f659ced6cda70f03db018c67878dfa9811eb3a98da6d15a45aefd6d22b62f2dd45f6d7defe34da73936cd1c9eb419747ec09f668c62b1db01b18f56018ff2aecf9b059a7ae15b5c354e7ac3ddcec33aaf7ab62ef8ef1070671f16efb1e7255c3818c5a1d718946b13764dcb0ef38dc7e69e8f96c7ef26ccba5276d3737d31218635ed6b595d4eac79ed5682f7bfbe2f1ee6eb199f20cd89fbb115af6b999cca39e79c2a35c6d268cdf6a7b370d5b7d49101b3f65561c6eb43d8c19acf988443cb95dcf0383ab6ad775bbb015b444f8e0927d994913d76cdcd926b11fb2a903c4082ce501e15cad234c60b9bb9e7033ad19500bdedae3db58f23413ed911d78ae96361e47e62d642bdec0aeebdec4d4c6e7dc97cb9e1b5ff2ab5ed1b26c37c9c44e67589bfb1ab103f3ef4ccd3cafe3c667616219b61558965d38b5a7916a3fa7b15ae630ef0e07eadb4d1ddd7e4dcfbdadf48b72b26aefd8cf28736d0defb9d2f6c635e406cf4783346c667f634ebcb5b4b52e033205d7655b915def38c7474f6ebe29bc49b5638996ec30b0bacd5c82db6f1566b4f9072fd96280c95e9874c7e1cadb0798c2709b3bb6dd96d519b879fbc5911fd9ade6dde10206719468446ddc0ece63b4b28b116163ceed673dadb17813c6972d73e6a6e1727d0b4cd636fa7d196573594319f83575779e772b262e33044c8e2832a563d698b95ef9324cee0bcfd6c406ebced33523db1afcccb32c7fc087e7c48d49ddabbdf69a724cc92d352d34b7264fcf42b9aa1f7f4375c1efd8c40160f54eded7b9c38a48ce4a1764da26760e76060d78135709ed472bda8ba1d8cb56c31d532616bd613bd64c7350438b2dd8d21d62bc964e3e085bb1ea28dda274f7616cf297215f5a6b78f9aa1d4b5cb367ebe45d6e756a6db75f77ba93799bc8f6aff9b1cc32065bb2e2a88d4c6c384ece0ebcab2c67e692c34ed471569ffc369a8e16b93967d688b3509ee771d0990cc0b04ee326b0f13b6525f60bd37adcc098bbe75b9481f7956f01cdd768c49b9d167ee727e1898fe3f79837a2db3a96eff4f4189fc79467b99c0fd5e08fcc5b8cb1d9396c2e0cc482b1edaa49830fb688759545992167fcc97dd8b76e320306bf66c306f89bb3a116d499e9794c7917cedbc870436abfabf664712b3f8813f9a2de1bdf7bb938087bb92cba84e5a370579db7ba23588eeb0cc42cb22fe455749fc0c261ab4de5721b8d30dba879fab9e979ecc536380c9853437f4cd6629619f4266d1c07c30a7bd9ad4cf337d8a4f11a7b649369c4a6d9b9df0dcc0eb191d784e16ffaf947b48c2d406b31704daa316133d5d9f29c9aa0c1b9529f61e91d744eb4cc6dbd4147db7c7c3b4f85b94dec016c6cdda027b460ae439ba0bd6f99e15a3c73935b73d2dadec6fce5cdb51537dbdbd9d4a57abe4bb6f1b0c11ca0a73d9a6ee9683d6edaecb6859fe36ec86bb726e7dbe434b63639ea92111fd8a6e0f0c15b7b319475f925976e6b6ad625be0f91d6c0b426f08e9905616f6d8bdc9e7bbd77f2b50f908d1ed2b33267368003773d1bde771b1656b5d2982db28e7b7932b55b33040771e20666f83bc4f887a7cbf6435d66169ebc663c00b7b0e0b227ca6e7824ef3daac35ca64c7c3defcc849a27d5793e6371479ebd0bd379c4f97801b79b8cc7a06fccd137a739986b17d910c30a5f73633d3a03435a67180b1feb185bf5abaf78e72f7ecbcb65260b3a23863f8e1535cf58ce1073b8443b6fce04570c8c4ddd6e9f83bd23f1c1baa9ecb847bc6ea6e2d2e83e4aab2dbc2dd631e42e2dcdc9c61c03701b3fde3d788bb9e1350d28e2e78b3a7626bbebe508b0445b30952c35c0fb63c0ad8c5b71ae262dac2d9e4fef3a59692e8ded636d36d3fccd7c22b230a80546716cd538d7e3701807309c6d4c3b9ddd3fd9e21870600c169c4df71fecdd7c1a3cbcf6051e73ccec34f018227a406558d41876cbd8f3c4276d886cc8866f6773d9c2ca06600547eef6159ae65056aedec4fd28ee0407d4f656ac662e261bb553c7dbf34b95a72b1ff885539906066ca3163df0a29ebfaf63e8d534b2be103b9878acc19d4b63c3dc5db08529b1d51a1b17f6851eb70f5e0158cbcdb7b9682beb46b541aff841673768f74e095dad338876bbe86e6c7e81c6f1635e30481363b87e9ad35126cff852352e1acd4415cf105ba630ef44b0f0595c2b608f8d5ada2c1eb162dc7cd9b7fdb46e13bbee08736e98d9042ed006568d9e873dc126783763d584db80173d5d3a2d4f586bcbea655cb841d9ca7c3b4d132b9116b043efb072d9e4e78a561a71dd706a47d93fcfc07283aed0e6465e1b3375fd5b39af6eb43342e3ebda90d39a616a7393c59d711d07af13f389f890b3bad624e26dab3903772f0be8c00c795516d7add9eec463f2dbb6c8249921759556add1a5e1874c9c31c7dc8ee4e885e690ac7822f0634b26ddb48fb3dbfdb5863126640c59a06fcc4e9ad36ff838eca16586b6b5dc67ee7aec5d6508c64ae3e9f76d3eb52b4630dcddfa78a3e4ee98a2c636b825783d8a31b3f52d6fc69b6ddbed2a992f6ecc539c7a191bbebb59b2fe1c30a537c530063cc6dd067898599670278306cfc37556e875768486656fb8031beece9e86a409835b6f8b8c622a5820deba766c4bb0306a55338c1a42b85a44e349d1b54cf8418ad5aa5d3dd0548e729799700f196566edc6e40bef31d2aa27ddf4455903f339771e765dc67d66dd5753c4caec35051c4c8c40df0326741f6e9d409b1979aed0815309b76c7eb896791fce0a3b70454bc658fbbcb73f777b36caeed275462c8e6cf17b3d3aed794b96f98cb33a362df0e8bb70bb34e1f937a86dfe72b31fd39a03d8065ffd55dce582d8f40d3c79ee1b4e58f735b099977686ec0e0ded2cc00e3dbd568fbf21ad20abbb6e0a98c2ef3883bb9c3cdf64ec0bba7e3b5bd6f10acc866903d6db61e6243797eb6e83b6d6b6cbe93472cbc61dddd8a6542ded7dd3edc0473335b69eb3c488179dee1227138f71b2cc88f5ccdff0b1bd75b3eebbee05ed301136eb92d1b3b8c058771ff156db2eb8ccf6cdc8ba267f7433b0217a4bb323cf77d3627043234f07e26ec3b07d4aea0ca7478ed9327b556b41ef881bf3b6916997bac6c15cb21168236c7a5f678669a195ad55179735bea99e2fe6e4b5b2d618230de58018d6c8d64febb801617bc55bde6387817e5268c13ed67307bfecfba8643ad1f561f9e1463d9b3a59e20dc66d7c07a23d9ec77386bc522d1cbc813b7592b33bb0218c3896992dec14b6b84732e09af3ab3ddcc79e44331aa5a161725fdb91d3e6c390bb9801809b370dbb5e86f675ebef5bc932022b1b75e0caa66eeacef5aaaa2d36d311ac2e0bddd7171fc91203e30b7b0791d9462633166fbe69b8e7da8af6eea08b3cb61b4f9e31affa70ee5e07d09eab166fec5b77e4a117d168621b81e7dbdd91598e2f1b87d0b387396e7743dfb70c782e4b708d1380350bae772b381fc27a1874d05c92d5b9da79635a40960d4f1b18a079c399b79ac738b5b3cd011fdbe348c6bb8fd9754f73fbf75cd1c479ad2c9cd8356c42c69cd92273b4ee8c6702f32e3e1b837561c53fde466337f735101b9fc9e03a6c13b668300cbfe0aaa3aebff50089d085f7b472a7d8a6118c529acb75e64eab81b56d8f9db394fd998c9141e801f68c1c95518ff9d6add5b19ab15506660adccbe575810d8d9659c3a3b562d0eaa0332cbcb75f76cc84abe4e29f3b95ed3e2c76c3ad03894976db34b098c915e6bdd76e6b389e2773086c51aee233834eec7b33ea7360ae0aeb1108ddf3269780394a644b4c65005a6c001a3d20a6d60181e49c8517e67899178b4f7401cfbce667fde3a1eacc60a2c02dafab2a8108d90e0860c8d466f1a8b526a59432ee2ab53238a647254408b336a101a6019601498ae428c32d5811805294a84d9a30824c8e14e1e3e1422742e10ede5e946c903b857b47dcc4c1a89a08b23f814118b430d1060d99dfe30a15223af8feae6b46eaccee6e1811da5801adb16146b34eaefa60c15397eb428f0d1633d5d311971b2cec14d84483735db26c71f31406f23245059d0f1c47e303047de8d88811e5431a5383051b4b4a17882a7c33f867a76665641ac4c730504f080d5a0bcc660a83cd9d049c16196221426e11213e8571c80851885a38b1c52a0148db0771f468b1bc8882e0422aa84a44e490215f901752360d5a92dcc948d3601b912049939fc161d8da3a9eb03331271777b5c245dfdcdaa06ab987b40e68671c945c27ecea4cd09598c3cac55dad55ea540a177d736b635b83aae5c69e44de764dcf5d3eca49e46dd7f41cf758ee49e46dd7f4dce5a39c44de764dcfdd78251b8f3d89bced9a8e23641da96bd069345a17a58b36955ebfc33ffbf25dcf48b9b6657aeeb5dce7a39cbce1a2caa9243fbe74e08aba2164635d7a36af2e0fcd67987f3639949139ad62d3b0ff8b6f5f6e4b2a3c4a58b5a05e54bcb050ad1c3b87bd56a953e95b9d35592fdb2c229fee60964f8a1d6e621631511be6900f91cfb00b25900ba5cbb797ed0bdc7bd2048c5eb68f3ba8d7cdcbc393c3cd5302679ba7ede2e5dded29446890a044405bc4c33f7df6e4c16378c74ea11c38846bd4a4413378464b460c182f5c040301affcf9f549e183b2d7442f4ff90c3b936373fbeaf2514e226fbba6e72e1feb24f2b6699aa6e9799e6706cf362116b87da4d0ec10a53f571e69256e394d46c66b086912154875cea96a0448954fe55279540e953fe54e79531e205fca95f2a41c29377a726a524a42aa677a96e7e39cecc87e77bbd79dee73973b8a1d22ccc6b853d46799b123ba0f6d29f494590971a7c4ee39c02e43d31b96717a75630a214d22a30269baa3e27b8a3a559fa8a6a4a2a09e9c9a022c292521e54654535251504f4e4d019694928c6869574709d2ba132ca0b0c948c911203e7ad4901123ad035a214261cc0d76d78ae137ebaa28218295830677ea309813c78d1a34da325505489498c3cac55dad55ea540a177d736b635b83aae55453525150039e9c043441600ab0a4e08a95bf2a7e549400244989820465ca48fb77a3069e55d6ca2b8f46560146d8f81af1efe117cd67a32553e60b4ef1897f3666c60cce95d1922923e549d805cc138ea016bfbfbe273d86d4d0719783c60c18319ae8d9b138d162058aa5383659887fead0297ce3864d1eea0a299b92d2dc1c761a6d6b6bcb81c4e7e4e8a802d9d20900dc6d9e7befbdf7de7b4f226fbba6e72e1fe524f2b66b7aee3217f54c0d8d8e831cb6cce9bc7e39a7d628558d5a37b556a773d2265835eafc7ab35b8bad5e6e52af35685c571ce7494fd0d0d0aa684de9d9d959f5ec8ac562af3d976336a51d5b259d67aab47728b54a6d93ae4da75b9ecca6f4c4975b7579954e7328b3d90526a5266de1aa5ec746444d05a1d28a6db014d6eccf9dba06bd9e59e5723533ae7c2d77bef5de7b4f226fbba6e72e1f93c8dbaee9b9cb8146dcac1f204340db6ef7708bd8679bddc3d566f9f064d72026f6ddf103c8eddbae09b34db4c3e5720b0bf5bcc8c9027603b962b6720807b96cbb5efa0e9d0086c96a97c0c91e6609fffab481845b4059317a6bd4a839b3052413a815440434ec5ed1bb8257f87766fb17e897a69ba89715dc0adae2313cccf62506122028f1ffc55c7aa55717d7561279db353d77f9a815c36f16d6d595d1582c3e71b3e2d79343114259191999d339362626d60c0303b3da406102080c192ec05958152440d88a437c88821af0d4c4e424604aaaaa800a1423461028101f3060610be9e84523175f23abef953313577ef9a4966c642a8b5d84ca1a8fe7da7b19b9ded7fbf8f54ac270977f61dcbf360dd7f387f18ffb8fc73f36fa8ffbefdf0f3363ffc61e7e711fbfefc761655797ffb8dffa3e99c46f1f7fd8f631fed2b57f61ffe1f7e3301cc3af8ffdebb1c08a3753b6e55a9ee598865ffbdb78fdebf8bf1ffef4a7f1f9cff8d6dfc2933f79ffdb394626b681a699f3cccc627ae695c98c994ca68fbbfc977d292f7d71d9e56597975d5efa2e5fc99c63624db230ab2f5f8f38ce642e971eff3e865ffc7b650cbf452ffc7bb80bff3e865f2eff6ef93789f4f0ed63f8b53d5cfb187e671fc7b1873d8c7fff66e1dfc7f08b851bbfd11be3875aa8b3917f235b0d8829c7a4759331032808402009c3c012424811190964244992822449615903e72cdc3dbb33840f01407cf55bff521e2f4cb1862b4a9450e2a1b84e06a9a99e8711ad99a8a8c5a8a155e30a77fa4ad485ca800db01ac8d72e7d4660b8eba5fd39c68919553172efecf741e0c0928d2678ac7729901c70035a3edbc6eb756c4b2426faca706be1b26afae1bf15d92e720c1365cf36ffd07def43385bab7828cf0bd285a93adecc753c1817e7b3cdad769b77302e50fe0c776a0abf1ab4b2f93366fe3356d6ee083eb4d760a7f4e3ec97a9178e6ceb3794b459fb421eebdfd5d7471201f8ba372d7f2a7a87a0fd868abde4048db7e15773bdd09432d1877421dac907185f994d4b049e09596c029d5515a6be7c1a927ca03e76fb7c6fb0b614a9a4cf2c32627e6ca05af4bcfd368f4811d3827ec287b8729a6758a2def1f4db9f94afc7b8c05a5ba27906b814e0b4f9c267a2d46850dca99900acd4db5a4c33208d67c629da1b3c7a073ab77f709747d0a27e095fc45350c22f5bbdd14d77c13f532efe1ac44373c23dd1cd0689fcb3b02610e34f20471834362bc28d48adbf6e49feef9859c47b1ab2e8e0d6861bdbd040c3cc336d6ae0fdd642a6dc47a445fd8378be9a31ae76c26b229942b219ea1dd8d035015e58428c61e8b00c306fd93f0e19a592651ac422cefe4232ce9663e5348d075e0196e21534c58850782d8c080064fdaffe77e7c4e562dec2c2822c4fa1a66aca585d8d5224f6d538bc7020d6ba8528214408213b85172c270840832f60b9b76f86f4db041db822091cf16bbc08add49f96331aea7b855cde7aace87b4761f5f5e2e98276a3bd3a0d0f635247d1c83df908afe0ac0db9cbda9a2eda5f76d5b7eea09753853ea96bc452dce7bdafbc4da60e01e0c51093cd4fd1b08c68f44538bfa009bc6b8669583ad8c217a0ffa0634512faef05af79817e66d912a8b35c3189144a0c38ade17ccf4e74f16ca44f9fb000d84d48fa03ebd0067000622c25eaac3fcaf7a344062ed4e7e14677ae88a17816ebf8fe402990dd70ec873b236d71b9fe4396d3320ba2edb6efd9e38cafc50f3c7f17f4b3c1b7f79df81bee68a67056a60f9387b12fc279fd9117663e03669d177f249df3edabd020fb0dd338e3c0f23957feaffdc3d6ec7f54e9008e7616f1e9b1b007de9ede15c7ac4bb03b9d6bfc3905ea879f4d3befcd456c84bd57ceb2ee6e8713b6f8c3db20f2ef66ac69c43476e27f39ea90ef3df97d47ada457c9c0c287fbe0e232c0650708e64c37199dd00900949c31e678cf082090482291442289209698c0ebf040d1770ea5f05aa5ef2dad75b4604c415817b82e5fe50b099e697e73d09de0de63b16409edc7e1f99f894e19fac1f9595c886dd429780ccc9028d77485a02f0667a08e374aef10fcc73afbfba3f952d3a7434f85dfdaad5046f1b123cfb602e71a0aff11d7c868e54856f8fb67fbff1f0207936b328c94b335e97e400784e4e9c9e9ceefe2f3c5e2ee65b43b3e034a6eca7966bdae0b0fa332b599078e7871e4e93d4ca778b5f996956d226cffa7f9b4cdac9c007b7427aff9e8f7d0abf73a77658a2df906cb51f276fbdb16232457c03d5d40cccd9e3f9fe670ee9228114a88101d986f497c797b55f8508e37f9de6efb4c6f848cd199327718d58fd53651611e7d00814422894412892412492492482491482251203f8c7ac60c9e132307a1fb2c93827467c830fb2e1838378482f8573aa843474042b0fa30210a34474cc86efce174cc9890aa0e4e9282997965223acec014b07a320141d3d7694f534abc5936002be9468e135329800dbc0c0800fa390112e6579a851fcd9503c0a20060410084050020047683434f00e4c8eae0204b99011434a2237a534a8031411d9284d430f4dea6101deb4656033f24644a63c771a2422d0d40154602790c2409068e6b0402400056bf20821e1086ac18f9bee7807d13be7d06694205e9fb694ecb3d503029063372f12d45147ed118ade7dea202bbdc5ebd3ebd8d5db4d67c972114b0abbb620b202a08a3ba5c932b25828673f4fadb71d02732b9b3350b0958bbfeb2782ef4ce4fc65f6d2ac0bbfaeff269fef87dd176bd0de0a844d932fcb981f50b82b90d90191efc608722dc37144f54be3a8431d06129d596e2a00c23071b95586f42183238de794b5120aff75585b40ffc2000f41a26272a2b2c2e2f3c3d3e3f405b5c5d5e5f607b7c7d7e85860201fbf2a1a3a5a7a9e3e5e7c3fcf3999a6011a2aca6a5a90290919293a0cbd0d1e69953a366aba45657911d5ea96462609b279c6784aaab6c04dfa7058e06f87677717a087d7e80a8a667a788718fa1a298c0c1c20a1e6847664231010292939495969798999a9b9c9d9e9fa0a198a3a4a5a6a7a8a907b1b5b6b7b8babbbcbdbebfc0c1c2c3c4c5c6c7c8c902b5b8bac6c1c0dcdd04040404040404043a3b3c3e3f4041424344454647484b4d4e89d95658e9afcf414a4b91555fab51b1272f48322d374a43333941354231342a2e3036383a6ebaa16f472d363a2c44baa130302c2c322c332c342c352c362c372c382c392c2841292842434445464748494a4b4c4d4e4f505152535455565758595a145315434344575a485344535350434d4452444a7b4bb3b54b625b538c1ae389a420217165525fb01d427da9f039146f62634a902df307708d817a08806e6772b655912c008c895bb970d776dd52576597ef53424a3889081c6c630bec174e344a110094dc00ff4c6e106fac6c700871f894725873f4907475e878793c7ad4807b187cb06c7d7e81d6a8b1e0d501311a11192a114992241d520c08832184814288222212884820810412484e2425690b07607a819be6038556be741c65dd81a3e6602845fa50627eb8216fda97d2c947558cdcd444057b5d7d42f3a879f7f315d30d61fc259f3ccaa3716a3163828fe3547c185b45c38953e6b838bdc8998b2217506c847ba68ca4a21309961e1b2a4059b416a0240566a02ebc0750bf863513032967db0528049029faa10d00f403c40428751af39f83e584b448fc55f0a2e88f65cfe79f216100444d32e5d2ed3fc2c0678d9ad29b43d77fe7e09da15cb787afdd1df1d5b8bfe6fcdac83e024c9eee570175f2979f2bf467a1e39f8f0293cc4b30b93394763f609b691e03a6de57931e66fc9cd8bd93d95e1b4ec849ced8e1bd11320acdccb6377af33a197e006e5b69b1d670f0333e29f97e5214872646a6b3bf8b1052f0e7eedf9dbb7f77eefeddb97797728084b043660adbbdf56878feb6527311a2b13623e36cb39cfbb5097fa03e4ae7cde57ebec3d72237db4a08bf15edf08385d97860cd8c102a58f924708bd588196c70a761602e1ddcc60c1144109e78804ad8571713133ecb39e85e0234d2794d159cd57e0a178852df3d0058dbca984970d79d102e101dfd08dc5ef3be3ab2a086c7b46cf943d841b95503beafffca301ec6eb58e5a749a07f17875525efccaa6fa61f6c5d8951329f40f7a7a503e6b045e1b1c2ed40cb168430c8cb85ef5ca63d09e00e6d7277fcb9d315e2cb1a0f1df15a6c0b22f906e16061867bfb1052f8f936a2acb841970f968f8e92f760a236c8f9d75ade403621dd9a38c83376e13dfee77c33d70e6e01342f894d57685b9ab3c0ec4b9cf7a7596ef8a8411d77106e02c410002414e4ac7f4480dc74810c820483e0788485a8408687a43c88d4e489a08a648bfcbc8c8d8e8e8f9098913092c88893949495963897d0b8985099e8a09a5c9bf4d49c9c9d9e349f24a0bc54a1a2d090a3a4f0b0a5a6fcb0a748a8e0a0a970aa20abf890ac28add0b0aeafc484b1b2d898b3b4b4b5b62a434445464748494a4b4c4d4e4f505152535455565758595a5c5d5e5f606162636465666768696a6bd4f819f9b0fdd908e4061a074409ec940ab40b8c0c600dfc980e0f0c10f08c11c4131414153416d06c17d818b8191a301bec901c4c1df0b01e741f1820bc1022b860230824802540262729e8a42a2bfce03e203f60a0e0204060a0e444244564a4e4244603444748e090494a4b1c4cc4b84d4e504fa080513852f0a4533c54f8ac5556575859a8685a5c5b5cb4645d5ed4885f600461c8646263d8b06465486667dcb468696a80eba820a60f91221191999a8d3521042e0191f5fe7360646234938a09867713a4ef4c24f99a0c7a5f88f47fb19013bc4339c67b28cff72e30e9140540c0ed9f138ff41f683d1789f22eda03ce32ec9bbadd7ebbf86b94ed33d30f559da7b230ef0ff498fbc8f3fdd2c61ec756b2f9c183a8fa90f5e3303cea97f1b1b6edb24ddb735997e7daac8fb56d976d5683f684ad5a8f7a31c15c6e08c76aeb782da5001ce8db439bc2e21ce87110589b96b388d22a7da4a13e58d7ddfb405f277bcb53f0616b6374e1bb3c0e54ae80b5a97a232945e92b94260076e882362057da000c008cba532004110d020802000a809e338ef6a4eca5653c5cdbf4abf45dfcc52cb2bbbbb79d163c4a8a9be2a6b829eea31686006d006d0036c3fed1ca38677fd6131aa5bdf042fb64fc49ef7cf5b7d80c06dbb0e4b75acee195346ba2fa517be168dc26d65f52d61e5cd2b66ddb36edd5d2b84b7782b826931292114d2404e4c3a38363432303e3c2a28262422202e2c1a1816141212901e1c0a080604020006095a986a09c00629bc4c4c010d4d40ae8298a6645d0b33a8ac18ca4aa02dd761fb38c9d7e5cfca7d158da4ba3339e38834a8f219f5ae76af5cb3cc2a791be5bffd1cf1b5adb79cd1f8b5824b415d69fdd8637b44fd3f7dc0aeeec9c1d8d9dd7da6d8db353480577bbeed7555afddd3cf2d9b422285b29f8e5bbdd539b29c7747f66940f05efbc7bbdd1eaf3759ebb3371df72c1f34d0867e4d5fe951cc6161cf596dddd3073ddf3ec953359a6ecba2c686f9c53db77e9dd7c76f272f5abcbc690f6e538ae721c3f1cfd2292fda549acd98e8b23a970de5bab9cfb6f8be2aaabdeb0cbaf9bb95f9827fefee6b3f4effeaeeb344762fb99ef3b2c3cedf399f973c8515b831faf1656fdf61fa4c1bb6f1df3f71bb9fb3a76bacce0c8dfddf9b396933ed5f6d4f45cd26070fac8e08ecb9ce3bdefca4ec22e6136c75a2a93ac182c73af9be7597ba676ebfcd26e5c1a94383038cfa8f5670b5f879c7b5865390f06bd5c1877ef0280eca8c170496644a42029482b6b310cc2200a3a851431427333f101a222162629431811104288318243083164848402921983e4c35e28c4e139ecfed9f3790dd0339184c94a78e7330756fbaaeb7fc522d77623003bfa831ec90efb6bbd4283370b00bc2992c06377b26907d98c1112117b25a6ac684a222783895dd9998174b53615a64837ec11af0d63a52ec9c823c75018f56617e8a5f31843e0e509bc33bf6ad82fda88f262df50eff8ed2ea85a4e9a71b8640924a498831b8f8c79a07ccf555974ed362e0fbbaca437c123866d17ddb0dbd12a4fd666b526b388134b5a7bac821cf17f69c4a531772dd825616939e58ee8107f6ea485e88b2564364252d5511036b199f361d63880b7c1093d550dc61e8bef1ace78a95ea09dba73a8bb2073804b94ea47ea6ca7eedd0052f46ba9e3141720a703fce420f3dce803e9e361779906144b71a77d9bb0b8b562a2b3ba4c9d48eb9244c57cbbdba58916bf25f6c4cea4942497407a72244acebd60f2bf3c405b8ee4639f35f2cc0d8cc808732fb82a4b003b1a4a48c3a6d1ed8662e95bb7c86de2b030993db0cee6259b171feba2ffb688e8b7f6f8a9d1b28a658f1110a919a260c078b28df5f2065b87fc7164856e3d233ab0c883e6060fff1f71b37c59adde4ac5d500125d8ed44a2820ad0ae6564b5bdca99332d21b0fe910e01327f4a5a348f4388635ebd6d7134f5e5f4f4b04fb7ae468eceb11ce7a5625c20aedeb714eb5af277b6d5f4fb3dfbe1ec592fb7a644cf7f5a8c4ddd72361f3be1e8de0fb7af4eff7f54842e0d723c207bf1e1932fc7a2414f1eb91c0e2d723d51bbf1e6120bf1e794b7e3d5a547e3dba7ef9f548a1f9f5a82fe7d7a3119f5f8ff0877e3d52024fadcca65f4ff74bfd7ac279f5eb699debd723a861bf1e25afd9af4721d77e3d72c3fd7a04b5eed7a3e4adf7ebd1a139f4df10905030223791dd826de08f3998b98c441d358cc01f8ff135f061b0059470006a776c1438806c49b101ffffffffffffffffffff0472dcb2a56285d8ddbde50b2db0e7efdfc71909e333c99452caa4e71933a5fa4f42a9fe9350aa740134012f013801c782e4dcf33bfd365f15928ba34b7a079f530b1b520a9d7e166024b1ea7796422a5157909e5537966d119380227f563fd2c4862944d8afbeb4a8f40f0a52bff31a25ab2443925bfa9a684ee0cefe39bdec90b04b220f091222eef679cc78d17170206445e0a8d5ff777d7b3fdfca979c648315750241628a96696347c905b1f70449aadd796e8f7acd0facaa7bc74dbd1fd62c174f44c081e4e9bb4e3efdb3e842168ec5464012762fdae6a89cd0591a48ba9dbb0dfde146b803050525831f49f199dd9f3955ce477a4897c26d96d923fd697ccf932c22c0405aa4caf438751730c6e4823a844752ea776d73cacedec5133f478aaab62245866c37117ba8f338335d4164c2c24476a4d76dad5a749e8eb4ce3bf7af6a3992bb66c6f638525a7fd47acdeffb9049e3de5f2021f73057b16f97bf017dda2da69443af5d0949b3b17aa986843c481b39e765d3881921313d4ca1c65c2224877b903b638dac2a846d8729529a4cf9335705212d74fb92b9ccf1417ad4c298e241af5ce7b05cbe1de1e820356c0d5b2172a6ee89dbd1c30807695161abf425384e91274d97f3557e711d4e52eff7aaf444bd34c98368d9d5dbb3ddc9b3be5475f1c706a935a5eba0463e3d844962ea9d6aadd86f6ccbfeb6a4a36fd552e4160aca4af765092b77aaa22cabe76f9706e9a942ea8f2dc6927c21874e2e7e259dbe927619add3f3ce520024d93f7a9a7b7f9882a43dc7de69e7325867b1d3c660b986941f6b54644045b1a3eadd0509fdb8c32ad172ff2a4712baf5bb7e757bf4975e9d44edcca546ab5cfa6bde924b774c741c2e6e4d094b0fedbf7b8d1ffd3abf12636e653c48b94a4bb9f20aabfe5f9148ccda592d99bd0e7344f245ea803122f53774105b878f37153045b04f44410c119d0a9d9b46608648db501db5582f608470a5ebdd5d736b9b6c82780e4f23843bc400911077f779e3f64e313fa43cee29c4777ed1bca00f67b5f5516d2f8fdcc3f480d9da78d037b7eda1643c0c0f692d3b774ddbec9098d3f73d8bf2a143e2f6cd5be94366e2dc4d0e8dcf531cd2afa616526f516be7dce09e35628d7d80b121a1f38de5d9460e82e806981a1ce963de9a9d53313424a7b8afd5b275a3292028de47cc0ce92857aa21f2264686b47efdf1358710221284ec4c0ccb17d1ba82a1a9e72fc0bc901453cd98d9b8901a3ba68b0bb7a5ad16127b4b73dbb090eb1b7900b3423a2d976ad6c6cb8e1347028c0a09d5a5cbc59e71bbfc312924a6c7dfaaa0f07cf753f3f509891dd756cd21b3d6db26049d6db82367ec6f566d216312316c24e4d63af9dafb04cc1ae9e53fa514c5a89150b9cc1c268dd4edce8e21b9347c34d21f6ccf139833527e6b9bdc8f053066bcbf4ed77914211662ca40abbf2fd982968cb4479df7311c3ff478a91763d17b7e1346528bb5210623b5b223fc42a9eb5dccfe72d08b3e4d7d3e49f5ee22296e8e8b7dcabda244477b200860458919c16c81aa9cbdaf7ad0671ed6869b4d8c1689fd21a36781c9422dd6ecddbec3460c16a95d2377276e4597b82088e88afdc6a7f2c4750f63453acf11b177945377982ad2afd2b38fe952b97c26434563b6389f4b4141cf4c910ca94b91d67d5344aad269a248eeaa1106f0a4a5b8078eb02841d40c1409fde6c2960ba2634c444facd7de6b597622a186eba9970b10d344728a3985cee5e80dc3446acc99b54be69a2596ea973eb48851e2e827f385c24c12e90483aea8324259aa188d3449d20182200442381a0461a00c561aeb82238e2419641821c41842888888c8888888882469321cf50faa3a1522b591497578443b845b0f8b39cf7764168df3b4c8ec63bf31ca4e71848b1a3835fa5521c09acbb00010bd39caf69f13f190e4be783fda2c346d06352f3a4299c3627a3a62765c0927b61d8de7398a2d0ccb15437d3232fc9c57500515860c5502abbc34afb1481ef2dec6c9c080a81c0bccfda4865d362f58db73fab81da8b43621290458d7047a3df988acfa4a26ec1c646cc40073d06a8ebf872021944ba3d9504d60ec7d6188db2de5a0937dda1dc781db528496fdda2943f8d9c72396552b9d001e743b697c1230512ec4ee0cbf5459e05f2b5da50ee8391364b9eaeef9218d0cb68e4104ef6cda849bc486fd72645f54c1dfad661e4c457409c4c0d5a0718d6b0641076c8654f3fa9d3445312f6b0e4de18819344a0d38e07e42bd4402d36be6a8c45e04948f6575fe3f59494f4c2bed62767ddaa06ae85bbe51639f42ec5905d7de39a6feff03460487b9550d456cce1250eefe22360c362f1fa4016e52905984fc29e7ce69c433c2116f6b8d20f7226bddcfa06bcdc909e16084e9b1e5a7f1830e093302ababdfc42fcf21c6e6684728383201e2ed678ef477f83b409cf930169bf85645bffdce7957e1501cfe919991ba6e80533ec4a2395acca2f10b8842af01deb508c6c92aeff81e80b1bc25d721b41429c4920b5d77f1346b9eea55940d90e5301b0b762e6c8eff6c903b52f0edf0baae539d9210996d732ffb6e2babf5326d8605d67e4ae0725211682686bea260c8b1eeea5d0e5f4861c8def23a7cf5594435505d3226532f0657ebd2098b8f79020a0e5edc2ae1ec946ed3c20c0a0de30874890a7fff12a42c5409e092c127dc308176240f0f95e7ff30d23d860ae339952952f95671b3b89765946c7d5962f8e3b45fcd53a8eaa3c27a61a4d24a84281a07926511d28874ef6f49ff79689387b6e3087684d829b6aca7bf925cf353e90025c0941f62d8b5216133a3f704d88e8ce9495c8134e1dc08617d3fbe7c1796ab3fedc646e10142c74def071c39825d73f9b793fd8575d1eb88f4857dab7324312d01583e15414a33a4ab54b76aac3d6f3cf004e58b99b197f1abc1ea0ab94cc38582f141d59dd119ba2edf810155cfd0ec31569f4264e4b2fdce920c70f06c02ccb64ffd7a75f6c12554a8579b295183ec7451044339f2a46144cdf452c00717d5f476b0c9acec1a2ed6803a5795694667803b102d7226c3b99a716b5721b393671fb2f628dbe2afefa3274a6a0c510d5182c8f87f37a57665bd4367e9afc65c0e35581a58e96630870e9236c1feed6a67d8189e05bad92a3a383a3bb573868814483cc9d403be4ab8d14e1946ff005a088c18984a11456657309af241206200def7037b4c2f640e05093cc9835f088587a4b3fcf9343fffe79c0a068fbaa3fa973d93731920e2036a20928c994c01e3ff1d0b4d420dcaab5d01e742aad1ace12d3b33f5d716345fbadfee28f17b342073143834e1ca44fb4978c497ab589c000a71b90dead68a6e360ed68a70748b935f86bd5470bbf2e661707cd722ce18947af6d677568080e8fba97d9cbd7c553c405fd841ab9d47b808c99357e0e0ae607c66c0773890cd0249ec32e73496a154f8238f81f19fda4379223bfdb05cc98dd651f2c099ed425cb3017dc87cc7e1bc9e67a87fe92174fa6107b0b0ec28ced39f83f737312685eb80f26ce8c2a225357180b1a91478c17d5a6797777979330fd4433cb1a3e92987bfd8275da78d7ef86d818bbeb87209f4c8d75e9fc5dbf6f1e423799653400e406d5c3bb2b60a0f295d1226e25972724e700cd97178eb3242494a70fa6d0e6351f676c12630d15f0becc550737c71c92521c79281123d80227808616c721d23650e7f6623ece33873291760ec79a46df9b70842c1b7b7837730fe2d686d5986fa7dd880eb3da83752212bdf1de2deed2b85f32e0586c6b05b820059aee7c265ae4b5ba5ce0fe071180b58f7b64839ec3af54c02d9ed49dbb5a273ddc319e939dd4765a6da07c8cb5193b5eb581d1889d2b8f6b1ffa68da74a02ac83f7a79363cbcc6e99e3c16636e66f444e1a6eb410729b1fa2ec9dc8fe25edc0408107cdad4a78f9646f18800f99580c3292f38cfc2449b8127a78333fd11d7f3a9587c8d7767d47eb8734ecba00d37f265f49dcb1d1353b07b6e0f279ef205b90a05184985ea30ff67f6ea78ddda7de83f3e0ce0d32f18e07840bfce08a2ff6a3f89230f27f064797368e5ce9f3bd632c03261832643e53d398d266d058f75d6bfddae0f479bb0f698feaded0ec09d5121f10dd51a27a72765b0a981235f5ea1bfb2788d2445921f3b4b18f10db90a7190d3999ab91988a70202c414277b507640685c930727a50126979a8d9923f8d8c6f7dd27957e0e518f6544284b48676314766155e9dbf032332eaaccb5d3c7915ec8f3f83f524be9d07598ccf92c95e84d190a5de8b7fbe7c10136fc95f9e41ec95251a6b9ff9b62fe4244c69fac16398b8f8d1d41c5e84f1f189a39dcbc4783549bfd120894a53dc1a2605b4549fd191d71a2808a864513ca2ff31af34d8ba3c4d1e2485e2654e89f20c08874c0366530d9b53ca731a5936dee58ab818905530fb8ed40c4a55c77cd76b26069c65139b4f8d426f2d36f19df37585740019dc4ea343c1a37338cb159c70d440154c7e9111513c779c72ad4a315a2568fe586e9a412a1391d39eb41e81227ea4f601685b7e2700ae054bed95f397cefb7e18175448e4fdb8bb07808ea1b418a13cb12b432d9069b79655e2e5ba38c252f07969068a3b316f4b91a03329ed8004e967691253f8816fdd126abc76c06edc68769a004051096ecc3428bc711ee293b3e958de6a3163491bb37a57a8a350fc4ec902daec1418aaec012e99c060cd9bfd613ded73d9078ce95a007210ec2854b2d9b524dc66970e6d8bd75f40302826bf07e66a9d3713b8514b525bf00d8518d296469eb45941c29b6dc14d803204cfd916b979be15b8f3eebf219393e4327108279d7059a21d11cad53a78b806c4bfb86a0c15bb811043a390e8fb6b6124e801e38ef40a0ae66ed6243e428e4e62910cbf89068c342b04d3e84183234c3b3b82f8466273ef6cd9bc6d3a3c1c255882a3d60dce3b579cbc73f53f459232209eaf6ed0139f931e0334c701bac6dd4d4960e649d201033f35f04356db24b54db2e8c11ed1c2f3821b24206389bf6266ed871fda7a482925394916c3e99d9fb016434d49a694649a367c3a7b7807efe01dbc8377f03a4bdaa6f1f104d404af0487926268bcf0eace6ed361ccd95abc757c2fdc6e95f696e574e15d3bb9525cc05698245b784fb990f939eab4748c69e15322464ab793240b7f541b165e995583f0563231b29984e40a2ccd692ab1c22b4d8b1755e1f9a02b6295122abc229f32f28476770a2dd5184dc679570a6f1432b3f4a2f049a93c7c9a3737e39476a1f0a8951dc363ca95e12579c2b7b4d6ae135e5715f5480a2169823686ae31e14e621f64cd4896f0c928b7ee26b6ab846f6be56e121e1d6a8ad89e2141c23727a4980b2039c2af6947f7b89a84188f45c19018e1b5d1e12d821fdf64da13e608122218473c1903c9109e993a74ca2c0456ad2f08c69995096606c2279b0b1943f28357d60efbe0155f63eec1e322d312975bddf659ba0a090f1ef128f30e3e35a6ba9895aba706988f075cd221c9c1a3db3c4cd3c647230d243840ca9be24cbe81e406af0b8f39c979e4603702243638c68d73f3bd4042c763f3854e5b3924a71131d5da7c9d31e78664067ec96731c35c48e650a8b5b52b5b338a0f681e1239dea4d344c47348e2f8751a2fe34b74ab0b7845238337695c1283c5cbf6e3a7a8121d194b60800ab5173c53ce242e78be968ba7059216bca72ae6c42b90c0c1bc9862ac8d932161c1a742cbdaa20002e497e57004390024d990bc9190352585a1022d8a551c169215bc26b5f64ea977902316b0a0c240e2c63156a402460bcf43b490a4e037b7572b1498b6e9aab1d699ccdbf87587bd470f220e43e290b0f1d94e9138c2d7029235945e6242355e29fa5adc4024693833c141c6d45e48d078e3094f31cd12fc2e6fe78cf6594c67a45d342799f1a855d384ca78b3d8a893e14813099eb9ca54678ccf4e67568c57c443c8aca3da358cbfa408a1a5dea307105685d94202c6a26233ca5f346456af4601c588e33a31d24884c40b3e6558add4c5676a0bb50be24490e45430a0880728a031248c58cbb2f4415ec4103c48b858856d18928ce0b79bafb22dde11a516dfb2e52a4a44f0abcb8078120738cce2d526463a72c94248b078776d68da2827713f74b50024573cbadc74f40e9b02204dea201c600a601786c48a67da46cf094443a49e9610409c765a2fe40fdf897209a404f28372c64c1feb43af4ec87b81103efc39b3aa1a511207df08d9c3233597d2f9921710a2874f09dd146ca77825782c0b7790903c60cb6d8440081e34f560725f8d23233e38371072076338a945b98cab1dd0244a48f070a4c29508a9c3a7490d9125f40309e147876f98108a90393c637a16373573dadc43881cfeb4b7d6e56a1d5acb62440616b55610ec4462c81f42e2f0a6536a665962fa2285fd897040d3966a20d78f2142de906e0e4dfe6e6276c3fbc193d261d6f2ac6d83626c3102216cf87398b327a258028862055a99c356aa90f711216a7846e5a5ea585a8352a8a71ebe22240d9c6cd7138786b6a6710906c512cc88337c52e5142409337ca7b62676022165f0a6081bb3e10821039f5987ed39b1f87d11328675d3e76efcf03a32cc1c14043dd04c1be363848a2900b02ccbb22c1d42829030bceaa51c31263a9f0836dcc41961b4400818741b6b220142bed077eaee984c5ba75c3722c40b9f6aa563de548cf886d4f1caa8b36317d29d4c3d42b8f0cbf0dac2e7ba73355a78b356866481b9f2bb6e58785fec244c88892bfcf24de99c159e3d29aa4a55e8638cabb63fa8f02a713a9d3b853f8721b55aa5c0d2516ca2f0aa611fa2d526a1f0aa9d850cc87ec8137e59c375c23a54a352d3ad0c52d4b0ccea6d945953d2360d995e428a852969c8338a8ecb8d2ec3d5916634188616fd0cec98796e19956929c50cbfdcd8170fcbf0ccd11e293464080a191e29739e091d9de28706a1686b7b0b17692ec5c94311c39fe61c06946829948d0981e1f5701e960c5e3336e280202b8a1344bff0e7b798496d790dd9018a177e3553da0c09a58e3fde4e8a723a74b2934740e1026b09d11a6d02295e40d9c2374d8e9cb1a69812d3b516be592fa5070ff36c009792856708d5ca168512c70d050bbf0e3baa32ee641c610be150aef06cf41a8d142750acf0681ccd2ad6d8b75090adb6fa342a484099022e5250428902e72204858694f713be21a3baa4e9844f7dcda826a464875663c2b7643a21b48447ddaa21f774d2514509afc6197b7555278ff8188257324049ed1c42cf8448400c284778d6ba19e15373f534680f11fe1232cd58a9c6025086f0cacc71dbf8e10214217cb774ae18f3c67bd77a20707ad844124a10dea86ed84801c2ab3c3746a5547ef04ca9336c567cf0ce521b39f411577ac0e6dc0dd275eb6af1eae33182c411cba2f0e097a9c34c3bf8e4edab2d1dbcde526592928357e9d41da5953b868283f7bec49bde86720373b295e96ae70ac506df320fdb45ad622874fcd9b57aa1a4125b5df901941a3c9ab5d8c943a1414a888c6135834f970cc393ad3c55afb62ccd65287378a7f55c3c7c4391e3f9f81d2f94389e9d6447dce18022835fab8d8b2d4b660c5a33ab612b40618b9673cf0b5e25c40939a951ceecb80bb28d5e373aeb39c7b7579ebaeef54369c1ef21c6ecc0f1890eea538e2679b1974061c1276d66fdbcf1edca4f9e3e59282b586c66d4c8a649379042b30e6085a282630e3b94bb3405a7958da7eae93dea9d547b626464991e8988532828b88072823f958ef51da5da78c43dd7e60a31c6c637c3c3cc5ae39741261d7151566ab73e46b88820846040110760264249e31bb1c30815137c6e2a5b4483b55c7d98a176ba951298737aacb7ad0d73d58e0b8572c6e76262ec7ae81941102866a063458152c6236b9b43dc5cd121e564bc714c8b16eb85804282676bf92152ea14b1ac039431be0dab629c82ad0114311091b1c430bee12a85c99d32a986088cdf64ea2844108aaf0be58b37896dba4b7e5029cba178c167d6a4a69e5cefe37e5ad1496b285dfc52a9570ba18145e1e2355135d791585454e4009411fc49d4d8168f4c4b98fa6462292d55b4783fc69cb35659118104942c56194344b41e98692858b4339e14fa758816ca159fb9eccd712856343ceb1643c65a439cae862410af523a426c9871342480788316615a89d00f0e2ccb723df2074dc7980ab684621f3ffc513da21a19dba003247d40683a0f9d3d20e143b3a5725996635e340d579b75fca34da6f155ae80240f9f96b9de8587c6d58dd2edf0ac48520785d44207fd681c391c513e5442873c46d4ebeeccc16f39d52076543b0835874022876fa7911118877669b12a26b48c48c69c1f3e40208103f245abb923cd7548def0a7baad8a265401be298182843534ddda029236bcdad40c37091bd442d9ac0927d0130a659235fc41953c1d35fc76daa60e9a6387881f077708491a9e35e74107a4478fa0e71a1234fcb964cef04b25a3e96678c47cfb56195e9d6ff26ac76478e4946cdd43ae908ce11539bbaf7213c327d600700412471451049b30a069e76068761a9923a319922fbc620fe9674c46f02aa9d26c2b2132de9d2e265b3c4b7ac5440b65bb7259782202646839526bb71d04932cded9e1b41679748fe4048b3fcbcef06187d7fb9413b02ccbb2883eb9e2d7991bb5a8e94dacf866cd8a51b39f4d9db8618804e253b7c6b4ab65435506c4ab755425a6cc450c234b7ef885d8ad93d4319d1a93faf0abbca79d7a661d1fde5542bc87bf749871b6aa87e74b9df2f2f08c0d67e3e175ad49b89622cff3da85c81d7e4f53b6c333b388bd0edf561f94747876d5d8fa4275748bcbc273786747b931351091c39f367a4887481c1e356748993e321081c3af2e3c3ec996c81bdef0ad1471c31ba3874d3d440422a8741b1d338d034ae40744d8f0cc242ac4408e0744d6f0a878587d59740b1135e49ea7c4565a4c240d0a15b2611541c31b57ade1c1456678c5c58e6642442715cbf089a175361b422ddd71b4f05c9b1d5b3b009131bc26761abea3e71c5f2e808818deb46dee4d350ec31f53ee5347c1d0d81e3444bef07d26995b6aba2c9e868817fe982a46cb724630432052c79e1b5c2df176e11ba3d6dcaadc9c2f175e6d5a971a9f5adcb680962d855a0bbf56762b867421928547a972570a4d73d843040b8fd632b6f6b37c01912b3c42ac9a45ac708e617532d3ac0d3cd178c900912afc35a4bcbab114a1c233d58e3a879145a6602e4daf33c2b316631129fc528629c46e196cbc1605b40c41e18f2b75eb24664ff8c4691277c35b27bcaeb6a69bf04a9131e1b9256bc39a213ab504cc6c25bcca6c6c93f0be7635aa950a09ef0b71653ac21f6d23bc622acf1c2af676502ac2d9832811119e0d221f02f226843766d79a20bc32e366181094b7139e1f3035cbe8f1c1af7bebeec1ab72e69be69807df6cd90d4abc834f76baea90d2c1a7d2eecd45f774b2f306bf4e5566a76683efd5b40d1d9ff4b0e335c0dba3c15f9e648833607a0e8bccf14bed39a67ad2cfa433ce4c88c8f1e62e79082a44e278a350fb4a22327867db6260180d33453078ef63c4181b5afc8247ec70355c2e78f46dc7ebb4163cb7596cf0602787e37db72dc3826f4f668ff276d82b78c532b9f1779a0a1e536bde29488b294281427af8b0137c6337c7dbf8854cb761a3d9255fa34f620c39c254e371e9ad95683c8dd77652ea66d8726f132075faa0f1a72cb996e0db513ee3377b296286cd40cbf05965bc59e93ac970664e13a28f91984d8c4f26b185295118ef9ec6dbba83f16cdd17bf94ca948cf1e233716b1ab3eb7417afacb56d72f1db5a62d546f0bc8bfc0ce313d9e2cd5209f121710d6043f8e1103644b4f8c4bb2c8f8808b821840ead152259b04358c577081822583cc3b3bc214c7462396e1579a82872c5e94c5ead961041288b2162454277ed980dc4b78387fd00817bc7f9b4a2ba1e55aafef006add6a45452e3bd49fd702df5624be9c3b3623ca398fba1cea1f0e14dea66cb728e14ca1ed029b66b4d0fdf8eb2f7d2659acb828d79f86da50859cd5a9cbdab780060599460ace081b52ecbb10994965253deed1c3eea6b2876783c6da564960ca50ecf0e7b1d5b965d3a7cee32d644e6049439fcad5bda29a5af1cde593319158950e2f02dd1756a4eaceb8d971287870250e0b0c9aa78d099f74658c2249cb901ca1b9e31458a1b7e6153cc36bc9f658ddac6286c48794eb455ca1af46472e88ef5ec08e353e3d1530aaf49b0038c377ea829e3ecceb2302e0f767cf10c35831853e1031da17c7a8717ec2094501a4ea707043bbaf845e57dedb82904767061dc1cf46310b2ddfdb16304b818b1638bef4e27991d5afc32b2664c67b06317d7fa8e2cbe5bafb5be2ccbf2811d58bc1be3cc5653b1348308e2601f07ecb862d936f23c69c47b98744c0aecb002ddc986926ae64e2f94e2470742f71a9baa7619408038e630a5be3d9ee60fc8a615e383a8adb66b81891fae716722207d30c76ad64fca3d6c113323a556e2028630c9cc267cf8e4e92ca3073b00933de0c8440f88267940628287cf6b7e389bdee40eaffaa423b2c3df5adbea7578b6baddb9ce2275ee301d9e99b50a277378573e6b1a5a4d5ea6991cbe21c2d3082d52c7c6e2f0cd56732b3830b512d35eb56e68cc48dbf07bedb0e18f326b0d6fd2f2626a7857b50921039665392c98a4e115f1281ade2874df656394595698c6e40caf8b1c9535736f866f9a974c63e56dba0c9fca8a1a191b5f634286bf3bc630973a269d63e78cc918be65522b5d0caf4dad939cd1785ab85c059330bc663bac0a863fcd5912dbc6e40b0ad96273ad0a03c7c40baf509931c4cc4f0f0fdf98d4f17c2921db2e2066ed38534c9d8d0917185adcb6f0dbd6ec4acbcd883a05132d3ca771342659f8dc75bdd8ceb019132cbc6964cb63bb8cc9159e9d73d01b338798279f6062059550e36e06938849151ef178552db5d912adfd21c5134110a9e0889131a34eb572fc71d0213099c22f5f88a12f321213297caf73834ce86502265148c8b611d7394e901fdfa9658bc7a41a9327fc5acd41264ef8368c4cd32c943f264d506358319333fbf2ccc16e775217a7c3a3cb9830e1d5f2836a5d2a72a5dab2b857913e59c2b71f4d5ed4cdc6eda684570a5d3327a32819159aa4a56c127942c2b7d479b22d4c8a4f62ec08af6b4efbb05123b496daeed8bd08af885a5bc8b4a59c88f00b21766aad53a3ebab86a0da48b9adfad82c6322847510426dcd08ae3f94b43109c29b3c9dd0c93bbe80f09a9269d87e70463533cc890e5551f5a09962e2c19bd5f812ede0996ac6328db794836fd646b19b3b0e3ee1a64b48a51b3c5aa3d96b835f0bb775a3a3353a6aa935b8ec457d6e4283f7d5436c263378e466d469be506388d89e1f4ce6f8d3ba8718af1eec3498c8f10817274b0753221126717caeb64a7beca46c204c64b02d35f1d0753089c19fb37c9ac28666b572af1ed9514c3cf720ee104c5ef0bbd4b24e87c5c4059fb433edaa7760b20cb249dd412670503161c1410bf1aa379ad3370d9e69b3edc6ace6a70f79058fb211b16473a7a11baf0c52731453d13235262a787454375e9614bc594c8897ee469c51a072753a6736d2a9383232929a50e36372029498cea48dbf53d4bb2db1091baf58ba2aa3be9ce19aacf10b1bb552ce30d5f8db562d55afee9d9ca4f1ad06f1c9207ea0989800b1a5a7656a8d4dd0386c555d6d9eb9924d4a9093337e91b7e3cd10f3f6325a060f3031e30fd39c94f16bf070b2f4bdc37d634206e261aee996f76042023e887a58db8df3e5a1afcac56531a7cd0e2663f8254449ad1fe3222662fccadce5ab617c634acd2ea32b2760185e3f77149a4b83d869dc40265ffca59edb9b78f1a84bd18c4917bf99e88aece4395c7c3aaa028eb5a864e91595898250a992c10cab00137100140684c9a4e1a87c4aeb2b393eb4700163725128108d01816020188c43208661188a62108601108661288682c04c32362ad200021163a4262da97f286d6242a5d7f9116d54571355d2896c1a0a3093f691cf8e3434a514c91441a5ffdb47d5b54bbca2cde4123add4a58744228dea146bdea975e34605051690faa9fc460c85e8e8e044365bf7c7067c838db83fb2491f908a173e1ce66c8c8a1a8911395e87f12e3fe288e51b95ec8eb6d49b84053710fcb437ca2d2858c4f86e51c501ecfacd508808d9ba2f98be3557cf85c62ddca262133f3952b7db2d401286baf279af75b87b7c9ef36846f33730a6199995ead5334bd33ee407d1a4a523b7081b0207e69e2a3a98ef32a6629e4758be89a0a0b0fc96ce560023044c3ecaa2d4c503ae79fd94ce7453bd3f6903fa6e54d9d4a19205bb9877a25f44dd22835c58e19c7a91799ba69164863eeae4b4133a75279e30234ebd54242dedc0f5ad861e905a1247e9d3156a8c97e55dd0f649b4d303fc62e47ad88436ab40e9d81d57b03f6918f1befd42736e356c9cc0e811942413d96c4a92a49e8b116f71810867c992744847254cd7313a0d3ea2ae8448aa9a46a30195f62920081669c280a20d544d166d66b45b1014da8a278203fd28a2c320f10a2262a6c2cbaa9b8e20e88e847100e4d29bd8682e13cfef10b1c9a6e9ac354a7e674f212e236b62b0a4257d46f3e438507c0dc4cf1ff602424fd0e7f0d368de1e10855b73e83071546b864fa686d5a097c87d389b1c6c9215cbd918bf50e3c44d0383fedc95161cedee146f1deb046d3d9028401be439ee2a908ef61b40ff6c662f762d4bd2e874d32887b24308affd515c5a8f031dbdf44978467229b0dd0b1171baa667e27fc403fd907a84976dfedf6fd73015ad25acfdd29478f55fba0d1b748f5e41af598aa7c3ca036e6bb70bd46c0d86dc7794ecef2c800406218b0e7dc2b8cf6ac787f264f37cb4c9609f4bb88d8cc7b4d0bcb1b38a034b1f7c7c9ee24eadbe429856e21e876be0af11a81b31fbc38e1d22671e0f43799e679468dcbb3de682e5a48358841e25fc9c21c947bd6fe236837f18e8d18d6e1b70621911945956075eb62be75465b8fab60669fe6696c377d6c42924f3e0f953925d069cd616f8c6ebd5ac2168833a596aac02938cc1820f8d43f0fa6840f3970697fb6c8213eb8a80c4e6cdae03a2a707d4d931bde0318f27df89c37234ae800639a562710783e94c8793382aac9eef478c4b6a60e6786370181668ab6f0ee3791821342c57515a427e7e7fe4fd1dedc5118087cfcdb23f5801bde99018d08bc041f7d4710afaf82a4311b53aef6ee8f42f22ee7ca38c10557915fac82e8e3b4b94fa96f02f3daa1abb8871a8b609bd557e636214cc391bc7f942611baac5989eb68bebc1772ba370935144ef9d6f9e1ad2dd6937704396c65608e17a0765c22f5c7231b35debd084a5537b881913f663e1b24006ff05c7de4b6538a6386b5633fb50a335ddf7d5b3884a8b91ac57ebdca4161add6b8fad1369e5603c62b39639e5f901defea15cadff8c47a88b0732e614b010c23f0940e8eb8e45140e3ff8521640301c7873de00370315a61c06e6460bf07b37e27a0fd5fc8013fcce4663b6107a8ea9717bc5e878f9b283d3e42d28979b3b1ab04ae6cf8260cdc2d64e6818eeca87ef748ef086f1e183e0e5e06c629ef0a056f501b9f1a4ae9830b46da12d13ca6b4baa84dc08d9208515280a1aed178d095a7c621a55832ce48f9cd54339362405457c246f461d794d9a38a76c7b2f2bad51a01623366c5e2c5362af9711bb01cd64cd1ad004c211cd95e2943f293868f0a41b914c09f0350b66230c8522630940bee55a9bf33a2c90eabc595d1034095cb66b7c5e11792438225971a387ad8a82f1e184e0ff9f23b8e529248af381d0879767142b420b6c4449fd306c81a6bbb001306b8f0215ee1801e3625f5c4cded36b79d9900facdc3161ce7436380b635039daa47ab02e8ecdb488ef6b3aa11fd9eb5853224c17d50f149fa796b7191428219c4d7bf7a0337d89681f061fccbefd09cc0a715810df6a0fd32bb58ed30bb6746dcc6b2a9c66f08fe43a52fccb94af359a1e0ac5912bec8f1783f878efe9afe46c66152e183629f68976ec5f9e05c7766342129936572205ddfafb0294230a8186da82324b16bd603039df754c9d0e86d5648cb14fcae242aa25b422e7666f1c6d5e73480c25219e99c3ed4b05e0fac98dceb7db7c2551c0c530652e16dbfb0eb781476fa3a9ab55d705355a3191d7b69bd81c488ee0db3d81bb5e4a6e0d3a6823613ae315ccdcd694708134d69a6894a840d5b44e9c8cd935229c9617ffc7697c2557fdfbb0bf6aeec8f7a9578048bfc18a7482114ccb9b690ff1249846695353aea5009968355fb46a00bf4fd0f3e68bb0d5a8c836a819ea3e9807a0a315b9161718f7223468be0f9717427c5b81b52c4ba4fb51fe627b42bfdbc58a3eb97d71e01ae0cde3d17dbb03d3b942099d1b2d1f8e11e21880a2d1beafecb8632bfd719ca73aa5c96d2ea1cfac40601b19dd0bd6c782e8241dce3fa6f1df40d7623d5717aaaa07bf3a31f50d8ba4e8e130bdf3b0bbdbc3de1ba2364c9fefaee32cdae52c0dfcd43fbe4aff4d6d3c1e563dccda39647864353cd37e2ec3606f93efd874a58c6bb3b56afb25268dd5218d12cf5aec516b5ed1b1f5f0772313d30a014d17500b47276900586b576c2059e4894646b3b5cb9f115143e5077601f375b3cf4747cd700599380622bbf313c0abe5a47c011db04e14b6a96faa2a5c8c7338375a8f61d92ac197a78b39ca44216f101a5721713df2cb666a5a83c82e0ec2c8cce0577aea77c82526539b8b48bbcb5d8e4d49cefe8ca332639ab3b922a0e058f84bd330900dd40817202ef66d9529601ffc3ee1257714b2d963699a48c19363a4d9ad76f65113e1cdeb6ca0b7dbc576914c684971839b00d4cb9d372434ed01a265423526fdde41cb946c99fd4764df54b25548f94765610b36c453c1e3c5bb2af4dac5149ced79d3226f4721a3260928067f39321550b4c367c656d4360f329d5f0449d8a01ae369cb0df90afa14f29ddaf750bd75c1e94961c7033b52a20be2e155a1e589f883517eaab4f174f1ab09db912353aaee57506eaf95bee838671787b34a4fcd54d11a83428b2f7028d79dc6827f64ecda505acb3422dcfeef99142d6b247cddf226c3469364be4fb48862afb1102433217fb0846d79086fa82d61f1ece3424d50133c1b9fe85841c1bd0eb159d55948be7868de55733b6e272296611fb1b423191e5fc075cdf3ad1d58b798e7fc285f5648b6f3f6637c1290b60025482a03c81fef1d4c1ac9cf1e7a238340efd86e4f50492b9e74da318660d787dcd73880ffa6e004cc4fd081484dae820a020335b300102405868a86dff763bc409d77c1341102b9fea06d25556987fd5fece0a8c6ce5bab89e552e864e16dec073dd4f483a405c9dc02071d45e135139b30cc45c7af0a9595f8e2feb34cfebee8b4287c7f2bc3da9167587770a4c40b11feb618e453198392d7f08eb76a52f34364aada6638f8b485b8f6936c48a900d30d4285a081ef930d8b397947c27c8f40fb4c8355844910af0cd2d85a8873f66331da390449e81621af7c28bcfccb055c6c60897ec03535da2ac66ba350b12241d53e90450223e9dc60768b690c7d58ccfcf15d630735fe5b0489a0723644fce56253a37c19274f105dd0f271ca28f47d8a91f408ba663782c4cefeefe3c9052078bc16e4631585485efb501d05c8bb3e2aaa319a2f03f4cbc6b62de3dd8f0b99a0d7f47edc905e04b0720646945a63767a40968eb553d703a89b0098b4330fe65f33bf220f9f040b785b55d88b5927589e68ef94031b5fb8e2e7eea42243d5b7bf19ceaa027fdfebf4f19c9e55dcc9496b6049c758190a5b65b3b79cfed765894eae8ba5a1646fd78f6f8b12adb4757798cf938aa2c486b13a1962e6086d5d347450337b2152d66492c0742f19a803fdf30f5817ca72702c89dd6052d94ed09b14c02171b616ae9090d200450eebc565bb0470573003b7c8c758c504788427bae58de5123ab11d4cdd6a450eb35512b462a12633bc004ac391b9a4bd29de3c6dc46c82a4f7a742c25f008db6c933df910229111445a57860b746fe2678498ad022cea6642de8d5f95edd1b5162f10ea3a4724ec086cce527b447301fd0323402f9d6c317cb15db3d3e8081722c0b32020b14fd8df080c42a41972d55e2423689f18e7924f2417a111c4a9c244639ee7534c98116aeb668b4d3f767ab77e5b5faf916a561f2c6449f84969503ba614f2daa3518d20e1baa14e0ad796248ca082bc3dee02882d87d3d011ac892cf8deac73302305a385cd31c4f423b056231c8472bedb95899ea01122fac4bccc9572928d50b65d55eddf57f9ff78792308491153b20ebee918e18997ce75e07bce34aacfe565acd08a34e18342c20d21f5ba05377ffc3c179c307ca324c5a97504e61b2e03d0031fcd3456a6584de66eb0a6364738016704eb44cace8081ba827053610fa9699757c9c26305120b21d9ff4df406cd3f9da2c8634991b9d2719ea559cba71406355f446ce1bd396596ec694265ebdc797298a2bc0f21ffb44432657421a8a7e4039902aeb6527ee27ceb9d6e842b216b9ba2b4343fa036b0995372982efb45191b8aa72c486957b23ba9b21b926d8af4583ab0a6d2445ba1d140f9acc66edd99a6208964ec10637a743c2c29eaab261ca9c06e7ff9fd61737325c9bbb266291f6725083409bc6c0c9442602ffc0334061718a69c84d50638774d66d93d25134b9c5328798a6a899bd5f3707671a804cb6c5ae50276624ab06a20fd97aa7371f1a314db89369dfe7e1c6f937f2a9a82fefcc4bc80a0efd2f78ed4446b825876bfddf1e54e6983f0f0defdfbbc48bb2be8ef679ecf9787047266d24cc1ab74c15a84079840caeda4acae677562b114a860101111bbfc819f7f62aafea77f085153466e4534e9a586cfb28488ea003ce0085357163e06cee0a34e054aae6874696df40936a8658fac73624cc3b36d3735126666617ba33f62448d00539b6df3319e60f4b57841bc0c0472c6abee9282ec0753856654160353690b8f72c744241c10cb6e718879a07a1aaad3285cc5b2766e7819338c43069d0d75775feddebe3fc56cccf5c10a3f4c4f578a12ed0e043ffe60c50d0517c7557864e3844b51c6f63db91af7970c102e7665bd44c9f61c90c35a85db29f01d18f0d106233e2cfc9b6dfffc392e1b342fc38eda053ecc1006fbd7e61800ae4926bfc2b7ec2ef34332928bfabfdbbe7ba0c0cb4c2d716f30f623fea6497996a7899dbe7f282323d7654ab245732e0a9639d2c565678782998f220ec7fda6088419d8e43cd0f2b2376fc5e04a0b580069909b4b7e7a62f540dabf953ecec70a7108136629333fbeddb30aa231b5f39c9ea7ed7d9f9bfde9e67136368006e1ebde8459925bb01c5c6c141e91cc31e85eda7554581e84f65c3a146bfa880ad1c4e3f57f3da39ba68242119290f639a1943a070c7054124b3174e47130a22a5c80148fc8875566d8443f3969da647fe6364cecd1b5616e61010bae4b791ef30c76a23464799ec42e2d2a813d02d9bc406ff72b8a62652bd58bc081e289f6e144ff04d5e8e3258ee255c991fee29e6bceccfa22974cd36f8065ee2e951466fba7b453c30e7869e606995f9ba253ce38633373d53b13b2f1b8b95a045d0fd9543a29e4db69cd6ac768d5f67ba469bd8610dcd56a08aee36f22d28a71f9e00c3c1ebe1956144f486d47f4dfd3888399c9a22f0f20c7576d0690368717eec0fd04dd9045526bd0178ea80f3cfc6f657e8ef73369e7f53a9e86508afd3f0d6ea5560c872b2622b2d669b17d191f9cf8928423f09dac5d56638a0e9702ec4625624a2831ecc8c2e294defc372bf7befd9d82d8e659a7e3766a3457ca8bca12a8fc322a552697f57209ac7e2ca5a06793d853a2daaa5b750dec1595fb151bf7a612e7aba76a3f38ea542c1e6606fe05b5cd0a516f767ea6d0aca04815cc0501fb52a8934d3834dfe0d45ff1eae34c633ab997bedc9a4f41365b4151a80a6dc2a61af82cc9b542b287b608b62799187269f8156e363588e3e7018426993fb5eb5a957d73ce2c11bdca6d94ad1a225ba1eb45ae2173e0bb3a4ef4f9b61278347dc03e291d4a819b05815d3623c370b17bee8202230c11698f8d1dcc1ac9527b065dac7f6681a858edb26cf321cfc1c86c9867656e23b6988cfae3730c3c0baa9c15abe4f5cc5b1eb47dfad62fc19d61224ba70a039995bea4ab4bfc087f656ffeef1c1279c036e68093c37c8b3326a373814937995d7ea0c8352cefca279230b347abedf6bba382fd51d2b8d8e3b56f3f7db8da990561d877777322a54923118dbe7ca07827355138fee9c10707351aba51ac2afa8483b2e0e4bf8b8514b958e21b63300b90f42f1814d7b803573651d2be0482e1ec58c177cda731647251f42572972757eb15a4ce2b1478243715a5149ca7e898802624dcae75b9eeb5d61d04d1f84c92469ee4a4d4a497055d6e32dbf743e7bd2c4b1f09ff7cc30acfb549621fb93d24292821924b196b8fa0b40319570ed75054ea87c4d64d9df4a9c80a39295bed36462b6f29f4a1656a5de89046b7f9f9632d29deb0ddd2544c30c28ddec75652635dc64bdbe5cbb836b19f6f4d39a6208698bab6e225787d3af5720fc5b43cd936a68ee89e5b76a2014531872e1278c3512054a28530c173171448195aef3ebc546104208fe853ed88c505d7a6270562527f4f53db6470689d86434630b91562e1588f84be7e87563978157542c9b26fea4050e27e4410df20e47229a5698199728ebc6848e8d5075e090fe1237b64510acaaae4c8317b6033fb2422990fae0a00e292332f87a30a5dbbecdc2265c7a8c2c38e9463d19b877738bc0475a435f2f37db57d7e31b66c813afb84e02bdd93466d2cd7bd3fff1d29402b12698e9dc39953a82ae543621c42a81d63eed0a5890f20b791cf6aea7daf6ecf2c66e401fc5d14bce3071813e8bc596eea0b3967173bddd05b830c85627e3690ae80c621aa649da3d99c8a67be8250228b946772d5152228744d277b0402d782ba2ab62bcc164195d759dd68f867affd78750d74db22c92db42721be81b65c8d5c8be653e0527ae22abb13032191927a91208e7fcecdd5fb2bd55b634a69e616ca5cd2d32116f39ab88cdaf8222da8589d7a6849030ac6c20a27049e282b0312fd38f19429f778ebaea20a780e2da10da9bbeb4711e6ec79082ce388da25012a3d19236ccf6ecd5244b79e3f52ea7c34368fd372f3b641cb6ac509d38a913f44538c6c7d8aebd5c72d516c653544b5a6e95e49d820456eb8b63c056882408b1010a4d6890098d99f164999d2b2e62245d3377e18daf1c390c49663bb74b3c056d2739109343b3777653f6152126ded34c1c8f1cfd4ddefea34dfa1e5486b8300374745fde14db815d8875b9ac1688fb02893779ab7e5ffda0e2e01f4c4bcce13e7aafc809e2cf64553ec0e273b3830887f4bf830f86b3b4afccc57b981e295dcd7c1035bfc42f99dd87954217d091ecf669bf0fbeae5821783a8f286cfdca1f396755a8a1ea326426e8337c63721a3793ef4c550020546b7721dbf4f4623078aa1a079d9b8de5d1c6a3a16359cef347070b2162237cad278e1fec0f4bc03d4af47a3a715ff9abad128bea0086e753816d0ff6974ebd8a2c74feb24b03342b7e05ecdbc919d4d5fb88cfd8b27fa63d4a8ea1a787cd3083e81ec73b697a9b3c56b75c3b080bcaf1243f64b5bc9ed34619f8371441d6ff4f615257c5326f10d8f14c2a533fd6550b13d2e488564ceaa7032279ebf2e2cc2abd8b1f5cfc3c8be78cff5b801d93747b45235824d285463ebc73715c4149a845a242b6576d206ac6c36b41b586c81321cf5f05c7c6ebb9ab0f2964f384152c00ddf599d30bdffaa7804db7d7fbd5245404eda674760a76fed87873085ae01fdd1230e251431d0c9d603f0a84c5c896009bb944d138b36a75c2d90b72d90ad48f302d2aeb09a3f3336f116e29c606da15922f0ccdd134b0ece822d44643774e14cf162ebf9b8034ff0ef3b52c1dd106250005c6fc68c2772df64a991406b469fe0d0171803afa43a266cd23a31c3a136821d561c0cc104e0c707d4f0fb7a90447245f9ca83a5dc2e0e6b4df9f0ca163109aaa21e621f93feeb72f448a18cb0a175a242afea91c5156e61c70e4b3f12613fa30d281b3c8a9e3ccf4206c4766c2cbb6f6db1d3a825507a4f4f6430a7127b795088b9880086c138c59ec4c4b86883afbea9c215f2e7ca8b663f15d9a07ed996d9f0c52049c3d792deb019424120ec4c1c5c5e785275b6d8dde8fb371bd6ffab9421cc0dc8703accb4166ca94f0a7e6be47da09ee24de88ecb156f798301881c6a9d7a3365225ed0d1bdd5b4cc16598a0799ca0d5d59267032c9ead6ac00aa93c30a50293435815128f346b4550d3abe08be4a6f4ac8b85ee7b2d34c2ac788b9455a899d827d41bc260cf44184a81c9a3780a95d4498407cb7e5298dd6d86b7ec647bfdcd8d5f077ff22c23f71bafb2222ac2ad0ed9787d4233595cce8d4404bae080d86345b395847b96e60c4a0829d7171b61acc30d8e595e1922ecdc54dd972c5b3f6586df555ad5a843c1ec7d959516dd48e3dc179cdc22241dfebe2f7fb62af9f9c1554a4da4c17fc1cb99269c9972022639107f72efd622745e4efe3a19611e3a4f03623818087e9a654e822d271fc709b48a406fdc3268e0d44647be9586e997360f39a0bd1b3370a8e6c475074122fbfed78e4ba2cf5780bf015fb306f3b4ed67cfecb5e2ad1b690e21f7274835522b6d91a904405889cd731369b131f422b390741bbe3bef8a30ecc976c4c7242bae3f3bee6d9886e8c71eab688dacf7494f36d3f8d6bb7964ee9d6cb87fad8674219ea0fe181da474aa818215a9336622b2f07e7e9c39bed7b345174bc03446a546c709c15143a0193e02616e448787ab244ddf27bddeba75cc2b1dd5c54c7bf93b940a2fae8f37bff6ed59038e2ad6cb926a9847535e9625359a76270e9f9b84e29f7525961c01506e7cba26e78701282ffb5dff80b00ca9eea91bdfe10d4bfe0bf541622d5b3ef9b0a52d25b23d018b80aca5ecd2bc2d726edcb3a70734313220853c8cbf01d1b2da1e66ed3ca79ec4a418b92dbb20f82c6f8558594d245d259bc96070d99c6481e23632dd43494513ba7d540dc7dd7f8468633c66201b8895c7c5550549382680451f60662777085249700adb95f6f4307d199a40762169ad534c6848848bd7608901f413b7db022aecd11c3ac21a550e0547f7dc18619706e980144409c5064edbe88b5c585611c72b209b1d2f396c792226c664b77731d42e9664e4756ddc8703d09c5299909eb0680134d9dc52d0e31fde7711ea6f75cdd8df9bdcc2bd0841704f107698f2cdee6c380a6c5416b1e0e5ced41529999839e0df5e597d67b4b7e46c445ad756518b127cf9f8e0f57a3b306afc6a732e75290176536fbd0251202a484187ac8663e6f54c1fef575d293e8f77d9f96cc5b0cca0e4e1c90860ef2b8614405838a6c67e581d6f37f27269651c4d4d578e308ec48e4bb37c3aa94b27de38303adc49a2a9c8296598cd484761ec21d33f4e7ffe1e3dcee512ad4b9d2ee599c5744f37292250085561b93b6f8a1fc67e8c46fd7eb49cd22e57e17191c750a918bd25c6f75c9935b6561904b8609c58b2e8ac15c3db4aeec8b8daa3af6a78f0459f031c4bcc1136748e13ec564d5942c237a712d9c321fc998a6f265e8c162d3980278d9089b8a271d75dbdcfcbd26a2aab146121c2d017828c4d01643441c9b4b5fcb65f81e824df44380403d18eff7924e956a8dc0208dfb43cd95fd1849e5d3fb54e45ce53a6aee3c4671a3be43928b4a112324e6d023728124c29c5511800a6bcd73efe0e8d912370269483139d5ad1e5af84e2764e980719177f789748ce7fc5c7cca69f7f1c01a285fcfc48f3f13339994cfc39d0952e4308b8f58255b8135bff9c60e1cae15493a054a6c4d2fffd6e567decbaff8285fbba91a43208ce24e1ae6fb150f6d03c007f7216bf7d2957b44c7a27eee4922a06c1a1382ed48f9fb08ff09534637d48049568542063da0159c8fad07c11d9118e2c8b86931222756ed22ea89ed7a6864a9a201d6ccf30c3792d4cae8e44bb22d15776e7ca38ac2dec997b92510563daf9258fc26519a80d636340ba349ebfe286a9744bba10d1ebeb90a5829a8172c98319d07318e8f5d05ac34d423ee2ec5291508a32268c93d1955beb8b9037a930e72d6c2d727c676bfd9b4c98c89ad9bf432da27f0bb1118b6762489c0e6e100248bf2c70554239160b58aef87bd017fb94ca39372f4d94961308575edfa5f20d095029abdefe8d23989256c9aea0d084d681e74a23879ec215798b42a653439b2835b1b132b3316f9db79dcb72c9110a288c50f502e2d2652f597d2387aa26d06ad9742547ca6c7fb0f89c6b3e7518636929be9818c2e3968a8f13e62cbc3f24c1452cae0426534d222aaa956a4eccb03b597e4272de774d0f9751a67b1a9f2b8f0c3eacd42b438d8e86a288968049162d71a362f3a0d548da55cb89bad6e71a5b7da539d8e2f557b8a9a6174db391b0d885951cad5d4e9227b76e28663164e690f7584017a1366268d59b4fb67ddd1216ca13ccede82ef2a88dba26b94156cdcb69e4c55006f9dd3ea692a099d3c23dc6b6c14d446fe2dad96dca73a8319b730684d6246c59e1026bd98ee74c87d4384634ad3f612240b0de75f01bb730b80ec35ca761cfd4e0d4740caa24850a1b86008549cff6ef0b9b2cae46ea6e15fc6638722b95d1285649995b63a0102033219317cd621a67e4e8f08ff4104cdb28460fead034039224fd3a9694750391c668d25cbe4659734c5ea4cdcf977660fb0b0e61b143e0caee6c0d85cffd8ecfcce7ecb62e48032ae292be48d01ec45c880c2205f31471db6c917822ca0cd54df322a8cc625c693cd0cc3f3989317abc72d9fab6a332bc9d02ceca91113dadfcc326d903732e82d7343a20510099e086ef50de8524012e9504f213871348ea3eead22730c10b04965e5c20893635b37ceecd495931d63d814cb63e09e9e4623abb2f2747e3bd10a2c1da0f91bf12af5f528e62bf465347bc6b8a11fba38f5d672b08f2ddfd2b8a625f3a080c1383a20cfb0727a58d3ede08f4b38b995d5cbc4f4ca1c1108dc69ec948d7212eee8440414d59a95fa8a9cbb4b2a2cd6fb05b53118913639e64851c9b6615751795ec66b4e4d581b7216849ef5ebfbd94f6df8b850319f524762fc68806d40aadc4dc4536f52b1dab8fd823d81ade5afe51b59816e664c6d50e5edd0d3f3681ac8ef444aac6a829b4086bef41403c3cbf3e5e7acf6112bd82ade18f0e404c60539d6a11a0855d71c36012e7ddc4e20d3af572c98cc341c6fb8aa7469d04c2cdabb1524cc5a9304350ddda997dceba04b1fc954e1be036750eedfa03618059e126f82ac3ad5e3f9fc20726ee14e2be83265fc52d78f2b3f0a7719b1df7f3e606351f0a37aac068a6b73724ab5b4f9cc3c67808159105ab2fd516a0ebdf2f6e1bb13167928cc5ea0d732ca003c8d933ded801e8e81f93fd2cac089962785e3fcc94861b38eba09eedf58d71f06df33c88e5283773ef5620a1bb81f05755b21df7617f6c797c57f53f021a6d915ef0fefd6b5029a0e8fa710bfa5ec2e5dfde528005c0741400a69c8265ee27651654abad0e8513851ce10ff091e98182994a164c6a8f1d1aa9b63577d65ea4eb77131011f7a8fae98aa210f60906d0a3a5ba92e3aa03fd976be17763fa1e4c8cd57c13d08bc6ac66096ee57ed7c44e44ea46ba4ed49264a561cfed7cdedead9e6dd0327154ba4a4ead983e5f4df33af8e54ff5be1e0bcf4ad00b336facdf5e9ff7f3ceff2d479f919d237892ed34d18e77a7581c79cea95af16ce884f8f859197e2ce1dc41dc9d62fdc697046e4d61273feb5fc3078eab984021ac59deb700b13c2771ce3a29cdf8ba60a6d9b5e7396e61cda3399215142b02c9c9487a035803fbcd9be6d2da3ba68390b2c1249384a13dd45b5308a7c4dd46b69b634da442896d4c7af0feddb2847d41484740235fc72a7d772059703ec5cc83576612bd65207f06b0190760be7caf3fe07ffaf8bd93c408e35d70e4170bc9c23ea3891f64ed053d7543e39248e80be823acfce5ace2030ad058ddae2bd28cae1f477cfef5afc0cadc1484b9ad8dac0ac32c52280d1603169326bb177552f105249e6dff7d67327c4efdea7a2df6a913170b292abcbe65bbd6cde5d9bb3eae9dffb5bbac8472e6843c8276ee5fb927d52be3c0016f4eacd0927be21f93112bf0922d763c19fb4a55a50cc770c0a46cd46d19e94c416c46d6f5b6667f728415d9d12d2b8de1dcd3735e1f97100ca238a24e4a8a14541953744cdda88703cb5d3c01678c9244c4070a230e02597d2230bc2ff57c4e5b498e05573a4b047fd0f6013adbac0dcf8649bc2181bfd001d1106907ed102f45cd31f83f379e99b6f9f9e087176eb4d1e6e01c9df009ead7d8a09bdd2b22ab6dbb8425b11a1c9e597277805ba32c223865aa7d172d619466d7602f56609b6e835831dd74e06847abde3dd29abe9c0643a0a0509d9a2c9814839bab4a213b76012b84708d9878d5980840b0e5ad3d92e5e5f9e349628aaf34851eb723a934c63c618e64328238ac1dfec9ff26b86a9f3d9de0a70df77c58d7446eacf6cd57590eecce73824ac32fc3d9014ee1342d4d9ac34cb21815abd1138e4a59b6481ab9332e46e2199911a002ef9c7d9d553aa60cc6ef1cd8cb3361347b4ee0c9e238db0834755ac1804477470bd03eeaff5d4b0d708468f625ebaec7bb12e153ebcd42fcd01e47900e037be114986dc2f66b2f4ada93aaf48389d44673e9cb6909e4688976fc9b04ef82e44096529218915163623863555801ecc046e3092e2bab682a3c994ea346e546a606d04460710726550c76c8c73fb68edc5c750f5791ee847e57606d1804d5172ed6a8208f86f39b47551432eacf05b45f17d818c3a0fd6cec12fc0d69164228e26db53b2dfa0af35aae76ee44bcd7ed0040fb8142f5fd22e9c6d721d63d710c32ba636608e342a83ebcc88c791d11ecb400565d23a4a8f819ef1b5dfb42aa0e740c4cf242e338a7032cfa3365065032201abcbf31d3cc31c87df1608d8f3271542dad58cf265af8ed664ebbb6f8195c0defa0b5f26fb87c58d1e30e16f305e7b4394796a3aa386652cc7b24020858861f7b1027788c381cdc3c23c79ee10169c59ccc882663acb0262c3f88d978b046a769dcb0892d13e62aa116087e3fc61ccb6696803142ba0fabeb092af670ac46000fa75cc133cb0b2241dfcffffffffdffad15cccecbf6dfb33bbfffffb5f83789c0fa2596e2995a33fb1c4d49683b932534a4926994a4ce94fe94fe94fe9663eb12e31012d012c019d0e9c1423c47b223cdc709b52848c99203e579ec698fc2daaf53051e383407cf34cb5f42c4b428d8f324bfeced234e1b2ea073e7c98760a1040370546491a1fd2f4903c28c5c86d991d7e596761eaa05b125b92df433d890f4a4687c6ce5b84870e224f3f6b72f85eb8dd49c46b814a057311510b8343b6656ef86eeac98ff5e243181b7e5352a9e5d5f07eac7499181afee4d1f62406f56a2a3133bce7adaed3c59d6aad831a0823c3fb32448509f38989211db3b7ab541c0f0cbfa4d3655bbb52c5cd1c8279e1b357ad7752ac47211ec68171a1d31db1964c0b9fbc1cd36258789429a159e1bd2df225a9f09b16b2c32920de824e2e7ed4a0f04bed9e5373c25fb6caecc19890d459c894f0cb69e64c752b4a85eb643024bc5adb9d6dc1252d9c8419e19db5e44db4b02e23c26b6a01487daf5249546c62d4f561ac056aef712b7be66966f201268b6f4b61d385b15d0e8b672773215ef1bad273adebc5988ea715dfb6311e53b50aabf86bd6e7b870a1e213b1d5d6d95dcc38c537a6b63979ba4599277f52e742dcd8bd31291ecf93a6682a30c022628a89e2db69eab62ce962b65aa0f8550b4acb4e9ed76637649e78b638cf6d1f26335f698971e2cfe1459d22a62c619afc65b35cdc161d3f2902b65a07d3c4af45b5654f6298f83cd7799b4a372146542407b3c42f86d2e5628babc592d3db0da3c42bec5e149126f17ada9633d63805590195ca041018c1228718241ed959ed184be795d94890acc43df9e688cf743f5c678ed4828c78f5b6a4eca487d621902a15dd225e113af53b64628878c6e6ccac564b29317b20538d2c1e31437c7a5396aa61fe4a4702270a83c75fea656187a7f816a5c2dcf1e72a5952649c0e91510a63c72f745422443c8898a9e30feffa21fa1343c79feb420b636735fbb832733cf7fa3535c2c8f1cda921a6cb323c4298383e21b65a6aedf27254840803c7f3ae5aabb7d175410998379e13a1c5da624c69978dac19306efc226f54b6945a7c4d1b9aab1d1b9faa7da92d5c94a56cb9c4acf12c970f5262d478e7c3c711370f2346958a22a2139306af84ec490c1adf771a5995f38c6708a5b7cd75e69d164ca82530662cd9fc4ebb63103c000d94d154a74bb9d81e3827118d18321e6fd16b6d4f2b95138319e357aba354f324b2c42ac5f8dbe3f4307ef9eee6addbd43ee9c0f876cff336a77ae1f4c52f4baac5d352ebc56f3a68d12d873c3529d4c52ba64c69ab84cbb8786de5c4ce821685b7c5eb921d2820fc4a4bd3d2adccd7491f3c3ab7c8e9b789a57af0a81d355669c9e69d87d2c1374c88d4b1ab65312735008583cf5edcd6765136408855118a06bf292d8c3cad44c9e0db29d683de5a2e6969ba285130b8eedd4646abc74f553695bc0be942b9e05d4fa55cb8b552f17d02c5824778bbee5617b5f08240a9e0115245474d9844bef9c1bbb592592166b618441ebd154ade68cd217fdaaeed6e9db0db5a86fcaec696ab4aba24650a6944071bb557533c0b018690cfa6ba0b55f95275920df2bd386a6ccd9a426b04f9d5d61962f6a28a813c6fda9394ba630041bbec7c0ef51ee69e122e86299bf9e397553fadd4293f7ef1752dcff4f1691d75160d1fcf78154f1963bc20a6f678ed76585e333a317abce3a27617d7b5dd70555f1393c7a375d032533d1a8291fc41dd10d92d1597bb7e9902bd43c0ccf13f78710cbc73d8e99bde079ce0ae0b01a8e6b8576c40bc4dab11e8389b3dd7c4537d0e914efe60d1d9044a92fa43f02c9b6e63d7f1e7f07906545c2cc3e8c72e8b9bce02e3e5d292dabcf79a7337de801b2cf318b456eb921c700240e4ae9ab7856e4477b85c087f203c3d937b5bba3e4877985c04af83be915bdecb28f398a674ddd116dd8d9f7a80827cb35788b650d3dd21aeb9d8131edaf573287d087deaf24ee9593af98693263424fb97c69a05cae762815318ef1bd19410a81549d9fff89915fbb98c7aa0e6f3bf4a65198a4d339658f3e1eba519367ca8607756d54fd8cf9c21066feaea31d6520f625e64fae087b541a9ba1968e121150d0f50290051daf38dbd1d45a85419f2f81336d9fb0c0f2eba6f36c1ec158cfe0149c3521edd55ac8946bd4aa4e558c33d11e58f185dd3df6b3de4a81029467f8b0e5902b3df973b8016c384c1aa06af648638017f735a3c124d30c17d65ce4e4ac0d84fd6b25701cae7516e48c637845b945822e9ee4c4de9339a42e3f0467abe4f555b9b7f9feb6494d97281ad16a37e15d8c07bf2a33d77310c68843e2e585de5f8aa0b21125c13d23c100d7f0da82271de33e31d646f16deccfc42a6e42a4d4a296fe7e76aaa85a14b317f1f217f606e3738cd89ed79e8e33c0d67a72eebb85a09ce6792b8d61502ab16d842b0e2d720ae1529cf056ec72989748be0129b419bb0905a6aae2c34181bbf91588c5d24396bfbefd3135ab39182aaf996644313164c18de5878d120cdd0f6b64a391c9e55cccab9088d0dcdc59c99b2c04b5b5918d63e435c91211ffcb7ecab47bd807ed25fd241c272c703a9befb4edcc800404ded2256ff2b0d14508dc90d477a59bc77628b90a31313af0581aedf493304966cd81d7808ad9f9cede2366a3d79d54b6f042c542cb65113f428422bbe3e20a0314ec9deb6b7869daa7227801d5266a1ddf5dba146f40c3f0b5cf6de1c6ff6c76aad56c1df35ba72b0f56e01ff59df39ea7281bdf2c5ad785f30d90e2f7e991aa132c68893346b0ead37d46b83e78979fc5f87e61bcdc1b9f3d86bc4b4a01b6e1a7a65c92e98eb90d40b625aa4594549e37dc80b9dbd09d9b921cd37053c0e2c554eeb6ea270705d0d95b0b4361a75ca7b40b57ab5bda1c85a96873baa5643020aae98d84ef7d22e72ca3160348ed74a0abcf3df823692924ee99430335cafc1db313d5715b7dcc6716ad9d87a19a1f8aa8990c2b4041781c212c3e22bbc761d9b946e5016e227b909be2ed7b1ba6c8194d25d97240af6a31661a0bdbd75a8937b67692cbe942838194fecadf879ebf92898f5b5e7d0bc8adc979d6a8d5f1c1a3cf3fd19a20c881fde0c99bc81e936b718b108ec8609a2494b7ea6f16f07761eb5f13e5d8c330da5714eb07035e97c1edf4a39471d78817b18e8585a6cb0f64062db3a4c4aecaa63a1054de770d6c75e61649bdfeda12f1baa565e6bad463a8a977b69eefca32c64659039aca9a85100f3763e4f612739ddfc65922003c58a3d5d8b041b8a7efc775ed4d708eef5071a40195897004984ac3289ba730878b569720135847358a08a9c8e883e369f9638980bf18bab209d6673c81de4b6aabf0b3c2749c7b0f9e461c2bca759e1f6fc0d0dbf4de51420a00485c06064afaa2028a0766e8b498b722d95923bb790d574495905ecb55b8427a4aa8296515a7e9762b35489594364604d522c80f0f05e40777429f034b61263cf8caa56396c96da5508c2ca160f24348ab23511fe26da0602f0fafd7f8ad4a768298febfbb736e18ab6658a58f0d2388a518b8c7b1349208d9fbc23990b4b798bf70bdf29edbe45629ff4703a9edc7f8cb7510ac49abdab1b71549f327b7f8cf94905894d680d0e361ce5b853fbcecf3e25547209ef5847c82a3955fcb8c32e5e9f40010469f070918a7bb27e97ca0557ed25cb2c1fe80aafa01e8d64327a2c8462b9b5c94f4b5c249772075bdbf606c286fec1a7d22e2f56c89801382f8bde9006fa401884937c2e86fdf789fc5e4d20cf4cdbeaa58dc0786b8834b5359e58eebdc945c6441615398fff7c0c19d318b8151c5e799d64c679f11517ddc79d4599b85f575a04e4f91cfa3cac1377ce1f810530529a6a2665dc0d49d9ec45d5dae1d98c66d4209a81303005b7c037555203e2b6a4adacf484f9453c8d1b0723db47ab469a5063435d20151277a5120912d6dca6295349093faa588867dbe83422680e8e1087419ab207ea56a81376555398af3bda9a297d5d0af4b4b71c96de9ce02032f4510ece2a8e8cb9d026e5e1f3425ba0ac281d3ab2a395d720119e97bdb74ceef1bff661c887e4fb2430c7f0ffe48824b00df680914e422aa419eb1258811037a91c1501204669776f90ea5f41a87a58de16641cfe47344adb729d71d3d90b7416c3836475debf98ce2acfb2bc812bc19b0a6c5870ea2ee859f6558ea18b91373ae704532e561225aef09ce24e5415302238c94f02d2c3bf033f2021389ad00b5890aac00e80cb04c4aaa8bce5a8896fcf54ada56067553b14f300da3ad6553ed01c530e0c0c0c0c0c0c0c0c0c0c0c0c0c0c9259fbdffeb7ffed7ffbdf5f3d38617085175c9029771f5ce10587db41614a4a92bb0af0c5037cf1405a4d13630549054805ea9f8d83bde15ec58d1b6c11f25467c3fd6b880d76ca46b70f21acc1de615a151a2cc93270d892d167b0a5e8f2955dc6c96093e8102d2c065bbc40028335a72c58cb1736fe05fb795c64920bb6f861e42dd82eed03190b2f1b3683053b45914fc8b057b0cd9c055df18dae56c1eaff60412a2a52b0c30e0d05abe8f9eee374822d4ca3ac7a9034c16219f5555492be0474434e8a4282ad4a26f43645c9791fc118b1be8b609b06e90b1c43d943b0452192528cc5341f044bca9eca07b65856d67b60099d515b07f6a930e5c0ea791746381f37b05ab0626b6047611fe36c9c8acfc0ba97d76be69857c6c0321957647481fda1471eb308b1c05a950a6c616b0d4bb2a6c00e52fa7fdc574c604b7121741c44d9f9c496161fa31b1dcfe8c4b6ba0d6e62bba0f2a2a76822cfc41e537b61e5f429b9c416c9534c897dab52ba58413c89eda25c81c49a4df9a6f1ad8377c41ab942093d3142cb308716b165d80a72a6a2303b22960c7b0d4135063169528845547cb722882dfedaaf5402b1d5a3f01f56b38af6ac92037dd8a2ba873ba916e9a118674ec43cec9552ec8537fe0eabff3f8a12562b741dd6ea69981a53e7b08467fa910a152988c356924b1dc4fb86f582949aaaeb2f56366c17a3b41164322e028b393926730c2be3356c214994c8710181f952a81f5043a83860b5db0a727ec38ad706ec7916741a45922d19b089aa63942d60e96efc74b5239254c0a2eb8fd27e8209582b986d8e4c622160a949fb005b0cd300e883780d044001f62d9b8f074749c31ef26439c944c37a121b26858e319e619910cea18459ccb0f98f58726ed8739461518764e3a90d21c35ea9a286df20650c4f746462d8c623f51e61d8a229d39847685ac0b083068f6a1b875f5852c23285c80b6b855a8ef92e6c612e645a5cd8a220d75b582efa46e8086961cdb4f4cf72f8b3b06c8adc5cf899073e16d61f93cc38198437fe0a7f4489de0adb94e48a562ba9f255d842e96e145f780d792a8ce153d8f18e85969a1c9702b1e24850cba330aaf10914b6a082b32844f909ebe9a5b92077c22a66516069c2da1d35de336189c80d165ec292520e95b08833556e3a098bec5ae4d4c0e2fe91b0d3395e0bf5236c296a304d958ef7c2085bb414625ccaac438bb0ff783788476a3e12616d940f72fa65942114454d8cff892d8455e2ceaf62c6d46310b6d022c74058bd6ffbc1d67011f1c112be670fb6a9b85250a16a1e2c911957beec608bcfc21984430a1dec11a42f4a17f43958ec2f3adc71b0faf468436eb0da65566458450ab6c10ef298d6dc3505d1aa69f62e45d2607b8af874cd6093cc912ee34664b0859c1a192e2ead500cba60f194068375adc287d650d5176c3e19e4ce5db0585e50bb5bb0548c62c13afbfcffd8a815ec683e1594732124057bc5348a1f28d8293a982718f7a96d821d6e7a558564f997600be6566f126c318ca68f47b033d0b167503e8a6009a7e1140e41c13204c18e7158fcc5a039ae0fecd3a01a5696f8363cb0e8d6df5de47e205d079624952baaa0ec530eac7fa161bf8165feba2f25b98894736df20cac9e0f2a1a035b4af1ea64c57c81f5fc99828b7a1a2d2c3054142d2ab079dcc328b0e6c57753689709ec933246efd4f8c4d6612186634e2c299ae040e482c8ab8975f24da845d5a85131b1855149d24bac6b1925961492d311bd4f62f92cc740e382c47aceb9d29d97613f6249951564c89cadd588ed2f4616b134ad46be6c4a7148447fa50db1854e7f58102ab488109bac7916c4d28f413435b2487e20764819fd6147af18e2c47cd8eb7a44f5d1c396e72ea45c5978581c4e2a2c76b803eae3e1602a563a6c110e329ae4a0a51865e0b0e4ed257fe8869d3cd212d8fe9ac2c80a1e236dd8a382a5a871f54e3a024b0aeaf72055d4b0a93943014c88bc0b7b9e3ea330a562e6c22257e14653f8a5d02d6cce5b5d572b0e1da8856d2b0522d18d697d16b68ba28187dadec458d8e732a5184dcf94b92b2cfa78fa7a2bec8dceec21a4b4c2abb0c74d8a2747ce7f142aece0be9bc2cef51369d205294b610b675e0f9c8251582da79f859263616350d867bf828fd5ca17fc84392f4f27ec112eb420e2b9262c9717f3d984b498b05ae88494f41c635dc27a559137a785c94f094b854f39fbf3a00f49c2d25161f1975290e248d8a29a45713289dd388eb035dc5a0c31c28eeecca2495e8ab06458195fe558644984256e372a6f557c08eb0529be18c5855a4a083ba4ac681e1484fde9510cf9b6577d206c61f8531893fac1121cc52b88eb89b90fb6f47554c93f82dc831d6b9a6c2d651e6c294aa75cb183fd9b315a8758b49e0e96c7debad8f28a627c0eb6a894ca78f83d0b0e1687aa3df3db8f72836d1b5d4363dcb90d164b81634ebb068be42449990a1c761a6c59e121d1679133d863721d52c8604b895ae74d15348cc176295ca8bfa961b0f44ed7d5fd5e0a9526a4481a53f53e3c6e246b0b96b491d3aca382f359b053a40abf41d7f7ba8265fe6ee74115aca53ff90ce9a5609d8a6249535f050ab640223ccaf173826d52ee6c78d8f02e265852ae850ed2e4194bb057740af2496624581f635fbaadd370e808968a8b14abca8b60a7ccbe18556087604b41584a514413045b3c483e5bd5e4077634e2280861fa0c4a0f7416c57d07d64b5112b370eaa1ce812d430696fe9875960d2cb151587741b40cd2c06a959c2c958175b7ca744f1c8881cd717ecea23c177981ad228983a3945b60357590e902cfb3e00a6c252928b04e5a143706161358528cc2718860d7133bfaa49f0c96967c27a6ce89f5f026b6e8ae1b6e367a4532b1e5fd55065962b9306f2733e410c79458e2528e3989452f8d78cde491581bcde6995d58f0115bc42c8b9942d488a564bca2a82216a78b88fdf12bf4ad39dd3fc40e13a6ceff166207bb548eba76413a882df4328ba14914b100620b1f5e85acfac3a89e2fac9dbc0f5bfac599b0990ec11ef6b3347b4d71f1b059f01f899051bb213bece0e779ad2b86bdeab0469e68b937397acc615bf5cd068f24340c872d9874712e9a6757376c413a4bcb42883749607fd4153f298aa13fc3862df0b0bce97f710d4bd4fcea03953841086c16cc52736a84b03d606f72e6bbd5fcbc1cb0d58aaa4eeec692a8017beefae4c874d6cc802585f69c3321a42b17b07839548f0a5843827ec3aa28b49021095832f208019bcda5091e3315d4036cb1e2ebb02b369a7f6dd85a02508035a22c30bf601cc869d8d6ab62df64ca30391a36a7467f9d6113138990b0be1976289b8ce1fca685ba0ceb5e3f679385d99f0c8b66a350ca51a2e263582ed2e2dbae10c3e223311c45313a0c3b4871fdad050c8b77c5641a19e6c65f58a52eeaa33c8517d6911493ff779befc2a28e2bc98525edf25724f65c41bc85fd82935a944612712de48c220bfba54c95f4918285c51e5990f1c17885b522093fa169167756d8265df094edb3bc8a2aac2bc19c2aa8b0ee57c7e5676c0a9ba58b90ac1c536e540a5b4a0e24fc28ec0f0ee7f71b58aa80c2d60dd5602b8c8a3e61cb182d2ba7449db0459edf2a9bb0c6f8c5b0f8c9b74b26acbdd5158ffac40b97b0e446c9714226f34b095b335d59ac78f92698842daa1e09fae40529d347589277638a51793568842d86e197a2ae083bda8b633152325989b0c975cdc47bd010b6f934ffcbd80dc784b045214555baaa0561277b8c467d2c2a091076709bfb61fd60f348129cf27567ee831d9e2f0a4d5424eb1e6c9b72e962cd4aaf3cd8ba429d0399ee2777b06c53a530ea6029ffd2afb1b3c672c03d0205fb87557742aeacb8fab038a4ace0204fe4a387edf6612c42a8dda9e0e18eaf20fd0e4ba35aa546173fec7558abba1cd7d3392c52f1614e6926c9386c21e5f79637eccf38f542096c296265c316319dce509d2b4604d688d10c52a486ed2a4f3d45523d3104f6f80ae160ca31a30f58ab82e6889591a2a403b6db92daf4de472f1bb05a468ffa287e480a03b6b8628a511a8d89150bd85258586b91ad8e860ad8ae5382a308710256f5787c91b7695104ecdde0b131ec3cc05a95e2aea6f02bd2196073908cc2a649b58f0114605fb360e4a6d122b2346c7196c4e729476434ec5821e45a84c714f7548cfdce7968ca0cab561042fcb8d2c7e09161937831858d8c611149d7283e13c22e86d5313a25b150362e61d832662dc0b0cc45b9981e0f79fcc27a1556ad829b2dcf0b3b089dda285a6c7461c7681be3aa829e3c17b650512edad886780b5ba6d0528c375f318516b6b306e3142bf154cac21a151e351696f9885ca96abac29adb9021d95718295658eff3cca7fcb1acc2b216ef8367657354d8642fde65144aee7a0acb543c1987469c8a4a610b2dbe95ba749e45611b11cd72fc48286c7134aa28f2844d23376ebe6dde094bbecb2025f3afd54d58d2a584086967c216d4538205f60c165f029562382b619dda8878d8be6091841dba29a8184cb41c3612b6541d15a3c1eaae236c31472722a5ed4f8cb0c3557ad5cee63fa508fbdf85883d19797344d8f6363e1cc21eff38c6c1a44208db584a86a94909c20e4b541c6aea5e550061136dca488df30fd6dd9547a11a9ca5f0c19a0f17eb1b7b4cedc1166684be200fb6e8f5c9f4d9bddf0e369b47f1889f59bce960b9188b365230492bcdc1e6f171cd7d611c2c21b7f62c5e6eb067a9f64f48159d65832545c5d0d32c5405650dd6086615ba910591d360b1f08f02c9916231832d9e2f071632d8b462d80b31ac2235067b5814d70783fd57f24494f828aed8e746b960ed5a7bf41097290616e38b52631c0bb6d05b8ee149be822dd25e9dbcbe50c116d7832cb95d2f05fb5824678d22736487821fa3f204eb485dc660fe6f32ce047b243dfd6d2e0b2b25d874234aa5d89b399260959482143408fa701ac11652ef86e407b5c74c0445514609c11617fc7a423cba40b067e3c6f814f90f6c1689e7ed819df4b12b68c566ba03fb4383dbb93041540e6c317fb549e26a741b5826a26e340d6c8f76d94f6560afa06c0cec28ceaf68ede40bac1dd1e173ae9f6c812dcde45eb502dbca6d53580c2114d82a8505e704961c6b46b9577bf24fec188fdbb81ac6e24eece5392156aae875319a587a54528c133a3b13cb9347ce1acd9758d62b68ce94d819ffdc59c694c4de13a552540a193f84c426d1e2b450575a29476c15ca2a5343c45323767ccfd9d077117b5524891b391e752236fd33bdf86a362a43ac4eb997a6bea74621b4b23c0962ddbbc0e2868751cd03b174e30b1c2bf487c582a4f06151e9872415c91ef0a8754c91873d1b7fd8855dfb0e8be87794a8f93a6c73522a1a119577e7b038c6f48d6212928fc32a215c6ed881e937589432b055025b0a3e27356c58a51c5e5496082cdff821dba06afb1ab614fc5a5978ea9321b0ece3e48626c981c503968dbb39a97c55a20396e4dd988feb19dd80edba2c751a2f18b0936a250bcb153fb280bd53a6e242e955c40a586242880a1609d8c46178c9a41c013b66b0d72b152fac07d81ed4026924a30136758aa287e994000ab0833963948779a7610bcf1bbf2515050e342c7549eb5268963b3ac35ae146a3eae92f46cdb0dfc47414c5ecd64519969f3faba0eca2ffc8b0669a9d6363d82279881896ace04ccc2b05db08c37e91c5271856eb8ba265cce0dd179679eebdb0ed853de2041ad8329014aa4f713e4a06b60ad5726d5d1484148f812505214f1a2d44e817d8a97cb5311e86a7355434399baac0eae769923283e80d0a6cf3f0224d55e313d831b8f888eb897526f95d58503bb1ff05d7e7174d2c963eb9aec1c9c416cdef2e6cf49425b6d05290e4284aac5e51fde4470f1d92c48ee7626694a26124760a4cf6e2905dfd8fd8f91e949ac3234761c4b67735d228629da45bc126d745a92062bd91f9b190ffdc0fb1a328ac3e508825f9cf58fc6bb1321ac4964e41aaa6215f0fc40e26e1aba1a72cfec33a9152f8af14a7960f3b450d17a45f9887640f5b44b0bca039a2e66149c73842300b32e93b6cf9b817aac30e166c64a3bce63387d5a229888a41ca8f386cf194734250096f589256fae325b065accc7eaf76c4366c7595be332146608925518f6fad61adf04c1c8c53780c086c1352c92ad70fd8fc6f9bc1655449e7802dcca814aff772843460a710f32c8c67900f63c01657ecc8b8056c0efe4225fe45013bafc3a910a2487a09d831a40a71e7c14c5208581ae3462a5f49753fc0529377255dcd06d82a905ce1e5a3204c021460dfca0b2d4d5412310deb3ad5057a172bc3081ad6ccfc3bc7282acfb04f3da5858be2746f86b53bef46a529be7819d688ba732651c9b0385de8784d41f238866de426ed776a492786a5a1589ced448c61d82a64cce94e5ccf0618b67c7181e9577c6199ef9a5861e54bba17b6a82b52efef1a54d485ed23dc35eda3603a17b6f8154346fbada0b2852d75eac9630c2b885a5824635e8cd2eab3cbc296da189b9ac4c252a1ce82fb0aab05132fe27c5db415b61885718e1457786115968c7271e72f7e6954d8a1eb4cc42c3b9fc2a255720d779542eba5b0a38a82c43e0a4b9f7705774f25391436e72f2999d4b3f2095b34578886e470276cf617a58a3aa2623761f172b4a18d9a2285093bc815dd4ac6e848ee25acbfcda73d952b616d74c9196ac4477112f6a9ac1cb7772261e7b2491515df58ee083bfd5cf2b194a48e6284f52b4c3a9f6ad352844d1d322cfb8889b0a5e895e01b517e3184ed437492e6e5a708610bb2392df8880661357f54cb3cc92781b08404b58b6925c510fec1d6b76b199f61a3f6c1fe20ff7dd7d8c5283dd8e292ad099581feca832daa301ba73afe9e3b58cac278f3a39ec90a1d2cb9d157a539da9be460b58befe7b36b9ea13858eb325ad89f874fb9c17e2abd929c524cdb600be17591e60d12d76047f16c84dcf8a9260d963827f375d113e10cf6f9c6a8ab6227732983e56923e784c761411883bd2ce73274aa3818ece0b8fea1444cbdbc6033ff940c92d3e7ec82754564cbac3ae2166c5e41626372880b59b05c557af8a42bd556b0842edb9007159652c1d68d310aee2b1007b114ac2ae264b77a8d292858c26a743a0a2d2e788225a3c9457169a57a65822d94913ff3fcc9e812ec21d2d0a0c27ea624d8d3bc9fa72a398245f29ee886e6f54544b0d9370af9102ce9f755d73b93ce0182cd2b33cccaf88bd21fd882b5e8f315d742d403db4a6c94621892ffebc09629c8f1f420421cd82f5e995ce1fc1bd82246945f34b0685de8bfc78c328ac10c2c69a1661cd702036b9f33340b3591dc05b6feb3dfb22041b7b7c032299c14c748765d811d75a48a1f45a3704181b5a1c5e4601cff09cc8db28fc7cb2756ad9d88e5111132eec45692276ea52635dec48efd51f78f429199891d63455320117fd625b6fe58b17520129a566247174455e060618527b1367583f018d75705125b4f8985924a52c3239695060d9162c47e31f0a7ab642957c4260e2a483a11db5ace7a9e3e9f7b881d3a99e95f64618585d8f4a23aae3fb460e520b6ad68b1d4c1e7ff40ac136d2aa30284e3a8e320b3c9301a09e3280a232186c43ff3541b08028489f254d5e5ea0347200802ffbf82c0fb0fc4fce691437a1b1c8fa398a28f2ad0f8c38a8af6def13de3482ea36f1d86be99a0725d249c06e23878c748c125c866148d5188c368fdaa654e23e51c25a7a93ba705021c095ed781fb3fbc5cb40d1f071272385cf1a46833284329ba0421721eae49aa8dac5a6c39696cef2323444902460d98736c98ac3108f742425be38d44464f046ce45dbf1369dd6b4f6380050f9a721ce7a0a43abd2c4cc441cba088551c4bb5ca325e9a07117651eefbb68b21159ebbe74022b4117a38730c687a315fe18e8bc25407e24e36448b8932a5654a93e1a9458999f6340333cd34c426937e64ccb98db1e737c698f47f8e846c4429a6cb6e3582830d0903e6cac874dad9a31068188d213b6182f8f1d2715fcd31f110df681b1d7bbe3976fcb89e12d57efd37b747a74e64087010e6333ae9911782a0353c86b4374a1b0356b914f7813592cb5c2272a033d33fbc6a549a22ab7bd68c3f11c29532ba761d632858721860c8e994fb2e504911b9dc142bda96350c69a3cac7e7053d2a3b64e0d005fbc77a99076bc81e0aca1a09d97a526c32f858f8501e357e58e3246acfbd5b6b147d797e35b0d9e204f16acb43a586a92c2f3785230cce0c6aaa62fabe185a15b4f73cbfca9bf5083c8747e01952a23db46cf68e6b054998835d3d79e378f6fc80949c4ad6140d3ae296d910f68c13593298be41484865ab95665b1487ddac16a62be133279882faf25069f8c5400dd75426947f538cc11149c8e6f29443802eaeb13315c0fbcea30196ccb97e33ba17cce3c53744e594bcade77d40af7f65a9303d20d3b682478050438e37b8c50953c96ebcf3fa07c208539ec3006e5d818642a0b736e8d20a6f0c1c5602ecedb22288f87cf9508c99d631573e164b6624d75ec1214a5b632bcf3cdee01a392ca0422a2ce8a1321d2833de314d15e936d54f96bc4a17e448ebaba916d352a00bcff9d0e2e1e63489a1c02c9f21931a8d8a0f389b48c8ff301a39c105c6e1f93299ce6e6a01b3587050948a0af47090e7bb0dd588909e980be3359a5191e78ab42712b2c78c38bd35fa645f595e2f1b54aada4acc102a83c80615a1fc2d22b5c2893d57d959e06bf8ef512f52b42a24308b9546d71f2d7131871d19547c9c77556ad0c336c12b8c47966203543239eba3b8043f33e2329e3d2291049b380936527803deaf77441aa295cd21363efee432ed7da96fe3c0d567f7161e11b145650b4532a196a8dd8e2bd41466cac4f257782ea8515610b0f99cec3862681cc25bc475c2c97e3e0d79ca27832328f14be5316a44538a96a829005a54935824d908f680ccc40aea57333b964c26bacb93f4073c117aaa98b2a212a0c7b85c636aed3e8bba584446529e772b667f9ac1d2c2b7de03aae2f90855520199ebf29d11998f9490c1cb5a901b2be6b8805fe78b4e5eb69fe39564b251b935fde8ad14245b44fef2abff138e4368c2161e2a475edef8e11ae5526b612a9d4981c6a88b749c1d002519598a4c5566278139469c8898b9744a315f6ea9a624f193ca318323fe6ba946c28483278b053a65435a0e2be5b1548a2440cb55ad6e656c69e994520c8ef336af48deb91c9737a0c5d960ad4da09dc71a41d18562091774e04db266d9341e5a358584e94ef32efb6072efe7b23298301576d1b32d91b4fe2243b16e4c2421757da4495c9d58cca61fd35d8448942b6cd63d637197e02a3734096b5387ee13b9e671e6d794ce24e7a69d6c946b3ec3922c903c2226772b85a3504d25c57568b27c22f2d2621d57898d813168051d2b5edcb2426d1012a0e39a17f55183d49b72cefb025da4135320a998117a159c974897d87233a2b271d90f5c44ee7c88ca625137e05d7c4870b702acba33e648451301821354390f19cd9d040979cda558b95141a5cb85db8b957daa6690728f19d5d23b27919ee6ab1725f3d1b657f133ba5a97f010787b863560ef1b55c1a9068c32fbe834c9ccde7a78334764f92aa53e9830e5a5050fa29f985254e4288658669a37d8560962cc8edf146a27506805543696e39d8d4cd8e65b551944b438a95a1c32dca2629ffc8ae42fff42a091c2490553560fa44b0b86e101448d9d4a65f02be8208242897843bb9e38d2a94cdedca9c9554167b65412fde6d4aff4def29ffb96252dc68e0ce9222cda12146a6b4301ef60ad93afcb3caa144e62f090f6e8f6156c039359572f1c12dda9c4cf8136d09cd8de2abd7e84168e0a1c8383bc6c558ff75154906e8c97822ca855a648ad3107b8c423955d5dd8012ef92b793428cd6d60c5d597244d38c5aaa6846e09b14de91f9956812e8905a9448a34daf08793c51e2b7d424cc045ab27ae9002b794065ad1fa0e888f5c3c486390dc51a8b459a8f13949d4247edba2485670313b4bacf26a31324298cc67ab4c12f4de83cc03a51bdfa21d9571f2cd9fb1a0a1830a92c78c951c95ec0c82ef1d8e952ed7475f1f66ac3dd4d4eec323850dcbc6032fe3693d9d9e1e57951d8d0ed27d9057b7e2420e4db2ead03ec280bc98581da51261f2d66859810945cd03904a78bba4c2144d9b1b09f9266226b1d2c860cb4f3901f9f5f1a04615c7621906c8c7e325a733f36a2b4657a58554f3af53d74f36152120ab0895655f4e41efccaa893e3f0390f69bc0332340b71b9110cca41b1e4462677906b3c2b860676ccc27383162451d8a8a20b34ef1e93c20b5f391204741158c03de829b7c598d54032c2158befe429fca7905e359f1292a95995fd01245f4e96a0c461451d9a5daf3de8836afd49e979afa52c257389bbadd612a53ec1dd3bd15fbb8f5c75eb3da971549151dab6fafbefd6f7cfbacf7819b72a13fadb2e2641d77279503e155fa6f500ea8a2e2c8c3cd350f1fecfd821fe7ae2a5221c3fe3490b14dfc31cf386272b06ea22046a2b184477b5727150144c0416ad74820ce3ac5cad43924976633d281882797cb06c8d72b5f0df9c80051d951c33e97d0e1fbaa0e49a9b835b395da74a680e15414bc001dc6a22d59352a7ed6c6da2af62eec40c52793dd58170b05413549825780d929f3c43e551c48f19889032c3aa084ffd766e0094f02994a65930ee6417ce8fd641c7e861e8ec57c77430ba9754aed2a80c25c2556a93f8b90e26b61d01f24e29114049e001aa1a53e3dd01c530e0c0c0c0c1c1b3a303070f4ed7ffbdffeb7ff170383181111f3e0344978f101bfdf94f91f5ce104975aa02a33e54eca7fe08207f83281f05226d603d903d4033ac82933296872048b85bdc9d4a02fc810c13e8dcb52c6a5948660d52aa728c8a3280856918ba0e1cf3823fcc096f245b9523cb09d447359891dd8644cc285b96a4d7360af461705a235eab80d2c19c51dce58b1d3c06a156a3fcd90ce0cac778ee1f5658a5bc1c016d163cd69f70b6c211933ad7fc4026b59b2207403b3026bfa98fd5f8877b1418155cfc926fed99445879d313fd5c5eb7bff04f6919cfd154544d325b0385d451379710456496951e52c83d120b0e44d59afc617fc076c39568245715ffc1873c0b2fb5b0eeb48f5d2803534ba19a634e4cc80b55114c58589e89d0bd8d264fc5113a302d68f10ecd4a9e4a322879db61f78a5bcb04b02d6a96f94362287ad08583dba9aa1e5ef08000eb05f8c1c472d0816cd376cb117f579d27f496ed8d4a2f82eb8a8a9366c390f9c2f848ca5b0610b17e1f166e56b583f7b2f3e92faca6ad8ea62f7d72cc67c1ad69bb57d3c1b3b221ab67c8cfba28e89e519f687d5d00ca6e17766d8410a2b5ae4201e6654869d6285a638233f6732ecf8f25e58f58a9ac363d8813a4a3b9d4ec162d81cf55e38f697a90ec30eaa8e4d3a4165306cd15610256a529fe40b6b6947a30b6dbcb3e2852d386d9ae9b1fd4b17f627d3e9b228e7c212daf08c353629c81656897352e9ead4c27e619a24aefed759d832b4781a6f35be0e0b5b5852df8aa290e1e20a3be5c45853741fd75b61bf0af7e823cdd7aec216659a5487585261d5eb9feeb00afc296c31fedb54f12652d877feb2c206e2f07f628d0ce9428b6b762351d881d797054d21b183c2dabb6593e9272c8d9fa2cecb2f4971c21665143c3c0af42cba099b87d7450be29a0561c2f2210f6283d096b06a83c8bd8f65734194b04fee052948d4873f095b5ed0c06ead44c296a36c4ce3ef2e8a8fb08414c5940f2aa9de46d8f14e9ea6eea89c1461dfbd3c97724c04ca5464e243d81aa5469a392f843d1c351eaa19560dc20ef244a797890502618b6b70166ad54d963fd8b3413812afa8caf7c13a29dcd04716e79dd883651cc591d5d9f160758e275dc98ce277b048838666e4f3abeb60c75db17675ee1c2c33fd155de4edae385882e5e3eab5c6dd6093908cf4fa226e83e5316aa4e6bf596b0dd68a8294122c4631da899d225cdc4f13cb94d3558cd633b1562e0bd252a82db189897f94450a2f3225f6bc6eb006df7092496c3b35298c8519a94362af06be15474e0b5971c41274a2f4aee2c66823b69c90a238f0d8588bd87c242c5eb1501389d8e651080f62e3bd286a8845bbc9427af2c5bc10eba3750c6d68dd75105b7ca31649ff0488256b1a37af93f4c38e23779bf5151fb6b115871644ba87814ad2b4080ffb57cc5c57965ea9d18c3881bd195f0a23a9a4b042026b64aebab9b015a48bc0f217730526f73874086c694aaba2c5e103762821c4c8c4db660c076cf15ee4e0467b1fde80c5e25864f8390316f1ae98e4056c26134955d4514d056c93e321797445f91c96b4a02b5ddc8e7d9680551db41b3d8caa8580b562d2bcf071fd3945000eb0a4a9c6e993f26f58b5a21e713a47c15d6ed8d3222a2cf4b90d4b635aa6059591676cd87ef2fd43b9205ab586e5a24c5a3952a83c911a96bb285a63e47b1ab6204459cc50bd6934ec5f0f0f61c342d6332cdb8f72e4aabd09cdb0a53d45b981c4c78fe9322cab911585d10cc127c37a8d27acd3b6a32963d8622c430c8bc545edabb158185669d886b35cdfd5c1b0aa3e05717711f4ec2f2ce1429783ca6513f5c23aa137c4a20b4b3ec885b5fc3f29c285f5a2a9866e61d30bbdbc4734abd6c256318a8c3e1d15cec216ff058d63d66b9158584fc332aa78c72b6c16122191413e5fb01596143d26af5461c73731324766438f0a3b44b114859e8d1bd229ac0e365b61682c85b5e27c0a2dbd2eb49fd8226f10c9946aa68cc2620fc3ced3a3eb83c2de14525a20493e7fc2ce31663a6159bd4d8dbcf0262c714e1d8499b0047990f12e520ace25ec952a4c2d7f0c95b0455966c962644c7512769c9e8e42c547840f095bc8897230112c578eb077ef5c68f00b2a46584a1e6f7d59481176d4157e5f78d4144c849d4ace772f24f839846543e2c4a8bfa8a01036c7b0973182b04c4fd2110bfe426b00617d3029a9c49c7186fd6071f83b8bce9471ef83fdf2a5a8e2bb95be8a1e6c0d192598379007cb7799c68e5c3bd8ac6ab32c0eff9a4a07dbe5ab4c51ed84d8e760872a2993b751c2c1bade8da2e0797ac51b6c72995732e89f68831d454a41d06f8c660ca9c192234d9c8b78412a4e6c611c5dad4d6c219f7ac9c496fb269a512accac2cb14c086a178c75581025b6a89122adaf82c39258eeaf62740c4b81f4482c12517f362f772f476cd517cc48d66dc49a8ec171da4f8a58b7e247d3f23a4741c4fef051f63096eff221968cf1f848840c4d14628b1fd4587051546d74103bd0b9c8bf4e3f7120d6ba747816f2ecc53f2c92ba3d61542f057dd8b4ae1925b50b9205e9617b08db73f8db70c2c362f1a58c4e913546831dd65d8348ab20c333d823cfb11a4263ae32d8d77b2246ffa594182c6371259d5c714207834dac24ea56e0d7a817ac3336525e21e9855cb08465a8553fce74b805eb3f98e848a72bdd2c5867742d489456b03d90a0dbfc0c15ac1119db2799155c680ab6b3a89db2b3126d146c15da154e10c9319f6007c12a3e623f9c6a82f527795c848a656109d60a730d27a4d03eca1df6ed730c9da92b9249b0da0103bfb461fdee061bb1bb6167c33e0dddf0e92f5ec3da702ec8bd92d1246a58baf25770ac6aa4a661c788bb6bb9a782061a56d93b937f5c19b733ec5911a96bd5d32a0a33ec28838b4ddfbdaacbb03cb09492238717226458421c3d0be632866d324896411f2d866d9bc7e2f48c846127b928d45da646997930ec14e7f12798f7852d6f2471f017c415bdb0c3acb320621de38b2eecf34023ffe62a5cd8525c16c5e02145e26f61dfac78ffa8ecc2d6c20e29c5c8cba24e2bb2b0c688faa4881616d69568f70cbc623a7f85c56cc5c2fe6b7aa015f6aca7502ae68a925485f573a6d424a428709c0adb549a69c48695ea292c7e1664ec46319e440a4b3ccc0bd7820672d14fac51513137294a14d6ab145df41f195e040adbff460a2ac575489fb0a69ac4c5ca2cc98813364bda33f9395f69c236d720354f37269b099b8536917cb284ad62604154d8457f28617bf4e44df7e795242c1f69d722e71f5c301276b890c7df3da91f616b143fadab24f31b61fb07b37811139717610b61f32b0af9c6d24458e29e52987ae1711ec25aa1351e1f9950ab10b6891785d9f4b97a6a1016f1528d8a25b93d10769c320ed203dfc6e50ff65329dba9f875fb60918ce1c74886f6609f6b06974b4782c983ed3c34e21dacb3165952d151073bf04871b0e8c42b30077b58b8a7eb0f07fb3c5a0a15533758d4d734d3ec661bec976642889461445e8325e3fec14e9c582c86b1fcc69fb3892dca7b0ad90fdba8c1c4ce97b243a32c4b2c193aca8a38628d9b126bc5453ea57f4962c9aed0e8e431a45d20b1051d125d8ecfa43e62c7bd70d877e1ea64c426e9b71bc6828f5345ac971be5bcbe2822f646cff328caec8287d83e652ab41062d3bbf09729f3a10a627bf017a45c9adc4440accef44ca1ca46ff612789b50cbe6146c587e5e24cf18b1533ce3dece81a0511557bb5f2b06390269b68b0ed854995f9b9a24c99c18e0ed9e99c0cb61c4dc1390ae722f43158ef51a73a1e7fb4c3605bcf5b93540d96176c95ea0f232376c11e13cb6a2b346dd8826d2445c58a962a7eb060ff8af33e1b3686c50a9614b9a5fa4dd18254b0695714f38a828ac653b0e8a324b6f5c09a47c132113fc122cea0cfc2045b0aa16bcbf2ff585d82bd3c1e226fd21dd6ca370ebff5f14812ec8d2cfc8e64045bc85c163a822682cd7643d71bd6106c715d394aba5f61320876901f2b8da617cf0f6c5a91343f3fd0034b663462a137ac66b4035b8cbec447fd21ed05917f034b849a1c15750d6c6a9b25c1efc1a699811deda47520b71605c1c06a758ef246882fb0859177b4fb42edd3027b59aa14319dff0aec64df3c66995d150576ba68d0374d813a6ce6377f617f11a53ae08085e59fa2e59cc7986b2305b0dc01872b285ae548cc1b1ca4a55af0a77a75d6153669001cacb09ca324bbc78b420a1902180001309fc0a10a5b46b894605124ca1c70a0c2165632938aa69b5329384c61dff89b095216450acb86846c46339627f6ec860e6ecc248595282c124c6d4288b75f43610b6f942a2649bdc913d669ec6b1024ca499c90f85dd984f53f2a46cf7f372113d68acfd7308f0dd72f619bdcebce0a82fa4a5832ae0ca286333ec893b0e54a2945d1a18a852361cd33270be9f0088ba3e3a5789c91c508abcc63bcce6411b6b46af5d051af9544d867eca97b42ca78318425d8ed35be8e5c512d842da5f4ba8cd268fd41d8c2beb9b5d0d5281808eb835ee5f3aa8be90f966d4c417e7555ec837dd719cd855da7d883fd5442dc460f2ab2203cd881e378883d318bed60cdf5d28b900cd6c16631eda4c864652b39d85188fcf96811bcc7c15272410ae5c2a6f8e2063b867c1ff9bb0d1649539d3cdd194b6bb0ed388e45b12f45bd13cbee638471e0c82696dcff141e3a1299d8b72369a3e82ee3ca12ab24694821e4baf59558e23f94e8204339893d7abd2f45644a416215475e1125fc3972c43e298df4256b94dd3062bdfa6cb49515b14ec59a3c17398d4fc41664102e9ede358a0db134c4c98c7245265721c412e1c28ba2b02b575641ec5941fab3cf915f80581be536c8e914c8f7c3ba12662b5e880a331f76720a7e5744a41e16c9b839eb7fb5161ed6c7a796a2d5dbec69b00571a233d851c6accfb198299b2283fde2ca6bb3595174c56093a6c91c177a524c81c1161a8f6c4fe985fa822d49928e6edcaaca054b6de7c48fc524d1b760198f4721548cb3600b2723b3d84a877a055be0634dab6071cc337efeb0a7608de70bf5273fce1c057b55fcd034b713ec314e1946a4d12658f3c2c81858aea8ea122c22316ab4e3310adc61b9862023294c3e8c048b7d0596be2f5ff008364d8b1e5810112c8d6159865d9510ac976399bc1a0f822d86b3efb014effe81357e2c252a235dc71e58e24b2b77ce4d8a3bb05e904147f664dc38b0e49086757ca96e6091df664cbd1d9a6a60cd71caaa283a5c99812da4e4be9fda30b045913938da3aad5c6067d4a0571c8305b1c00e2423bd86b4e82a2bb0a428964d5221c70229b0ee25939e4a87e5a72f8ad2570a1532816d3e331b5808296548601de9081734c35c22b0588514252551c91704b6f8249c05ab93f1dc037608cb48778d1ad80e58d55258a1825c03b664dd13a5a3162503b69890d6f2496e013b9aa46453484d298602961c972a52073fb9e4b05e642b654d91853e014b9e5ca91f2c04018b0571180b9ba20ac6e100fb05790e8ff61ee50d6ba5a3381f88fc97e6861d1b58e418eb8271a8a26018084110c3301083310c48ef12cc840888528c32490a9b03e211064108100441081002840041100204410810827f84be03c9a7e93f2e2df20d503e295ae21d154f00e88db44831c53bbd805b1d591e4b0bb3c60b228f17dae0f20a8b325d806680a4dab4961f0edfe49955ce6c2d25ba2985614ce0a86d84bb1ac3f9b8165c23120e96957c38d4f86be3ccc0a8e3ccc4bccac1306c166a703cb4845cd3aaf1a813348f48206736c05b118b86d8bcc0611ceb7850038804e66a22631dd2c2c4d84d40e1487e274f13129d6684352642d1f641f2d9b6f685949edde840315e4083cbdbf0b8715dd66a536ea198b0482c31f3f1ca8869e14d8f4c2e562d589af27115a726f91b4617cb4e16547ab1e3e004e9de340684099543082dfacb3b89dc109aac8dcb5df358cc58710ebb7dd7b3ebb63332be8958bc86ab7c82c742a1cfb64dbe3f7350608aa6ca210db2d8aac12fe653ad24af0c067ed01027b4e8d4c5f91b1cdace23d0a7aa49ec82b97ca48ea4c4089d3650196108d721acbd155e583e0ec7c8d8382625cf4b52cdf0cc1424a684b4446a62bb18eca0b60e9205893a24ebc59cb06173363e57271a3588e2d3daca1b158408a6c549aeba69f1180c93b166b8cd52b6602c8a1f91794bd8bbd2f26cb61b314030668c19fa33cb0af641589902aac36e8369b58c7932f27878246c78ae9f683d1b85f225e648c06091243769188a08c7b1fc4998af586ba69a82838b551913685bcab62b141ec7c8d8cf3a62142b00c5ce2957645e7634a7f17423a271992569223b546aa6771b30549773266d1e450d8899d54485ea07d5a5c72b9dcfc9d2b1d91b834eb2ed012ab3bc313dae6a3644ca6a8800a69366863e8447a6d5e4dd39ce8f2ab130a50249539832634483633c32af4e099c2a5a81c4108204ca943844fc1f178c01eac398eeb3c9b0145de02b1a64eee2fd9aed32d5e6550a1160d969dd54fb5029746c664dce8121116869b4554e668e8b682527c9c197dd72666f2d24828eee94ef518cf3a6d0b97849763c0a6913095bb412b26f432638a49c78a5eaae3e6bca44d7aa334eda2a324cb9a0e06da0870fe183df0da5d988949d926ad871135e71393a6d268d6874ca04a24213552151a98925147690af3be0506776248e9cb66158b0a3e93b86c1fbf63f8bae701f7aa451cd59c345d5a70ecb14ca13f05c8acbb9264d48d4115a7b8c345f589178874af770c286069360edd4f966eba3fc7d8c05a52a51a59900aa2295882269342446cc7cb03995e2b0e36a84acf58954660691d79018b2b178834d5b99a9456c14de4085fa95cc14a4d6bb90b65036d1183ed4bb39ee70859fd484c730a67b834c3104fe60942e250a1a470ab4e8c4c1f9c98e0dc4a6f69cf3cd1e0a10d3839a24ba1e650d74821945244d4443821584223db8219b2ca06a2320bd579c04034a8a070feaabdab46b00daa6181b3590b4143a303f3f3f3f3f3f3f3f3f3f3ffff43e60eec994a4522c021cf50995400017c894924c29994cab006644220000b8d024c237a5019e0196018e5ed3d8b0b0909469c91cb95ad89a375748f8d8daa93fd4eb17631ef87bc0fdc1a2426aa8b165d47c948eca20199614127bb733efc89567aeb32f2c2824c3cc2562a7fbd8fa5c953b93c27242aadacbcf7cb4fcd80496db4e59b64f762bdd56dcd5030074b194e0e678ab6aceb38a8477bc56f74739c34334c21e73c66bbd311f33f60a3a2060f1a90506ec068b084ad9d25c6b1bd27e6d0b0c380d4409c5dc62fb39681dcad4c3d40203b035c0e0025052cb5f8ed02ca6ebdbfe27091d32f556838a5e9727df05a27892163ab2a3c97fbe66d6496afdbc6c2d83c78893840d9d93ad9af18374f52629d9e1c1be35ce1a314d923acc3f75ccb032e66c26a97da92ba32c9759b786496aa6a1b6edb0a6ca6f5d9210cb339dcc4a2d54a596a485a8cde4ae7a35ae9524cc3f6499774b1d7c2443144a9241e630b49ab3d9d75c9449921f55df50ad66dfe89424e93bf1993a7df387a948122a3d7d747963ef6a6e8a024962a690b7a6889ead0c3d92d0fb5c2d754b2d46c791d4eecef27afdfa6fcf1a69bcad153bedab9582288ca46e7a97edd79ee6526d5e88b2485aeb9ab75eca38eb5a0fd9a8142c4eb07edee6bd6cc77a979b480d9b112353b58ca9310b1309ddcf9f56d4ba2147eac0b244da74e45d780a0d66260a615122ad42aafcbfe1616a116bff2b89c4347351137d3b7ebd6cc1824452dabc9f579d55b264472474fffb6e777c14be1b91cea562ae8c7a7f63b81591dc98bff68b4c3e434f0e162212bbf673a7ed371a463744ca76775a55f2fa5a444224d6f84eedf9669a9ef3412473e6b45bafd6372f86402467d777bdaa71ad63ed877418619ed654198f0f490f72bf73a3b5500fea2171f2a3c97d5c8c7948dc5e9d528bd43e23a63b246fba1ad7f0b25bdc854a5874486a951ec3cc69ce0a3179822587744e9fd3d60ebaf3ac8d405870487a34d742bbdd6734586e4869fa1435fa43885fdf868489d0ba61ecd9ee155f67b0d4909aa2ed76d4bd23da5f6ad190cc7b6b06cda36974eb1a836586d4fa0c2e7550cb63bfcc172c32682f764a198490d15c9e842c311c5dceebf85265ec97b980012952106100832c3024fdee6c47b56a994a63ba88e585e4c8a92779575f759fc31e1617d221df6dac21f6b5be98c0062a8887a585b4ec68a269fcdda68f3a5306d792239d435e5f8612e91f672b2c71a4f5a77814db39e87a391c09b71dadc6c68a3d77bd917235645a2ef5ca6fb7dd48e7afdf0ef151c4f4ae86a58dd466214ff628175b6963231963f016a2b21f2ee3b0ac91f252291e6456a1f311e4ca01d96a24a4ed8c795d66be8a732d69a493e655b6d3c734678941052ab8a091d6ca6d5cda5611d5b1af5c9f91dcf1f85753ac1d3d6546322b91c13f378ce8e6cb48aaa147f76e2b7dcd313212b36fa7a8fa4c6bd5c6486ffc186b8df756ed8b91761f21850cb15f777a85919651dcef4c19fd618391ba79dde7a5776baafa222dc65ea4df97cd8bf479d82ad35cf1a12e5243a70eaad3bd5e3917a931feb1c4563e77b84552ed204cb6ec1a626c588b84daba93f12d662a5716e9f2f6d5bdaf665819c5222986ceb693792b27e615c92073acebecedd61b5a9192f5b6a9dd764ebf992ad241be4cbbd3284bf42b0702370b15693163a58b26553536a8a748e8acffe2eeca56f77ccc16291252e50d55b2a2c5d4e2258a64ee36d12c85332c5024666db9f967b51cf5e4f2444a54a8f812154b0c0778b248920e9d95c9ba5ac347d46489241dd4e877d176a2d3d4a8a8e414491648d2e9631af5fdafd8e051627924f5fb2f3d93dd8dce312ac4e248da437b8927d9c9b6aa72909a0188581a49e8a9f48f6a6cd9af270b23a90f2273ac98fad3adce2269d7fb7efb9371a589645124a5a332cc999ab6146ab22492d0696bb575fc7fff95394c1644926a08f9fe6a6fd2183c668a14e64c96439241cc1caea3bcfbe89b6356d62033af79f6cc83073cd840850315292a2a08ec94150ad8fbea2300208b21afcfa7a74bbdd1b394c0189eb21492107375ce2ba4d87aa9ad60711392d42f6ee4d8ee06cfa86590740e6a3e23a327977579844590b44c334c73e1fa356edac21248523eaee9b8a7d929360b2049f177ba71446bff8fc4d8559eb2f36b914ffa91fc5aae696f1aeaeebda58f645023b57d10a12ff6f291aeadb6166b5df9b8b8830da6ac68b0b26cc7b2473acedab7997d8c21233d92c9e533b7985a8b25661e497f9979a3626b7553aac1a1020b1e4939633747ac8f79d3a680e58e74a9f22c6e8dadbe836058ec488c2d1e7686197758ea48c7fee8794d93ab5d58e8488815d9b6528492377358e6488b713b018272a8029c521142082184101139edd2198461289a052992738a100bf93219900219882129084111820831c4104210210243082102440861333a1903b90a760730dac08eb43102767c4c48d02052105017ad9a3393302e9d29775fb4f70df06476c31d95d802d18a42cc5d030195638f8ada927e2ce22139e82246c1f945852a0fc54ff501f7780bae2ab993b28919218bbe97f5bb4b51f5a05016ec99ee168c4d83bdccf4ac50bd496fe38474f808bbb586545f47bfc1e81a1cf05d4d41c52c6801bae5b1e56a8e04765b9030e7d823cd90b1e98e3998f7aadc7fa4413082e05002a62e2ed79f6a97329180fa4d12be9c7fd18c7069fb07c8aa7a59a947e147b4864190d213a8225bce2edcfa68791a84abe6698a65e0e545e562ff7c0b3bccaee2268faf01093f080cee941604d1fc512adb2f6700d24e8abe2a3ce151804c1b0d312f7c2b8243c4ee7ac4e11ac9b20d7fb16536325f4cac2d7157f89243253fb824aa61d8b088cf3920e8a226ec53b6d0cc8f3b0b09e7940b8b82d34c74b1a9d8e356534718c0a3a49c124f13f4e68c24926b04975d91ea122b315ecf9ad1256369492ebf0912873ec8764680a4676cdbca75f57b4fde1b31774f81b0040996dd68fed2dc39e99635b2436a33714fae28a5d1ae24aedcd5ab186210fd44fc267f79f52a0b4d442b8478540f05cea8ad216fa0379fe5a25cf6d31354fdad313850946131dd9d38d55de237520b40e6985375cf5afc16dde894c44168701a0d39bf6f2d044dbbccdffb656911edb9d226f8e70afe1ac98316a7b20969f2a2363221c4f3b61fde5137f0bd79bd32c6c7895358652f416b10b8494fdbd71d68708543a0b1b4d76c3967b2210aa9210e55ec1a16749c4caf829300f5b9bc9ec68a0c3c096cd334a3c92a48250cb110b4d1ec1d5630af8602b615fa372aa807adf9a98c11c4eadefe13517c1b88ca199e205228596d34b943098aa9b78984e43c6e7e4e71765aad6034414ec652b5de1317b3a51af76f9b20f14e0677ebbcdd1bcdaff158708852b1d4ea192aa13e7b080f68126e6968780783112f24492598f60447238126110ab755403d56016d854ed186f2e991298ae347a232782049e88aa96696ad7e3102ff981eae1e80f048a885e005e1c3ee11ec0b7bfca46576d84d7dff4b465ecce5157d9eefd1e27c3f52fa4c5e2e7423fa060f4feb24e805c0f3e59099119d66c14704bcca8d11283813119f07917a78f4e27411abddd5b7525054b8ec14a5261a9b57944f517174bfad96aa68d3cbd545d13d51afd1219132aa622aab2fe894418f28d45a568f757fde6bb398599195dce720cd4bbc823f6379fb541abd134ceaa3c156b72ce38a2a6ab87bd30dd9e4ef1c9ff533740818ed4d6c351622e84bbab638dfd60c6c7dd13563e9d02402b3f0542817deb539403723e1b536c1bce350d2792f95cbc3f6f6bbb5b341963b8b30637419089b302984284fc95f5bbc38d98f8bdf0cb3793246570ba324d1be4541b18cb045bec0212540eed5be58792fc08687e5fabbf6a3d05acb0145de0e6b1effa5ce16b465fcc768fdaed03ccaff91fabdae8f36ce5fc6641d1a8923032b65ac1ab0ef087917abea58d2f161ff20952976583fc979d4ecb1aa30704beaee2d496a6eee6552a2f531a642da34332b9d7b180fa76d332577c53bff6cc088c7926e46c53c068fa5a6bae53eacfcccb823b3bcac970808c8d8505e04d23f6ef0618b5ae558bb42f2915e279cbcd210e15222818d9415bc9729b535240b25e16ae08ba601bb82aa0994c27e5d5e60efa276893b97c743f3051049da25ad985b8ec6dc201bfce9589b75431e6aa1cd5c546c7cb1e407f78df63a0fa00a2114982b1aebba89e6dd20209990c2d52c8c519c3efab7b6c4459758553809df0ee2029934117d62ee4710de451d72ea86afc36eeebab9b8acbd521e02d8854d101b5eb4799154af4c04c64e2e020946ab0a9179f1b24cb4f73be7bc43ccf731e0deab687fcd692e5aca9de471197a5d111b2ca5ba20b635561bf209d750e293ce0b902146dfc473a0d1b103aa075b6af0a1b911c2eb96f4dbd4c8696a428dcb4564ce91ac9c5ffdf34214e447a0f31b915830ab3640211f7c8d6539828f69f129e6bad85a999d9c737d1e96343e63fcead62f4433d060e3924a32535933b67e80197014f185406a7087c288b0e8ee54cc9033a96b4a3d6b90b42217b9e27426bf32d998d2e95b092de9d608ba5f7a44bfbbe596c98a0f02c86dc92221f66902a3d5a986081d6b1f861dd25d17ac775674dc54d7d64174738c4ebcac800d3b57e3f031c0b6699aa0b9469d195c06ce512966b1bd19ebb929a7b0bb4ed9b67c60a20b390a1b6a75025f2e0c2509228292125376f97201f80a3d9108041c0096a76c2f804da10300000000c0300f2ca4884902148ea00639093dd2ac7642457127995418b4055d4a292599a4c7e8ca0fda055e0061005f0026ae53ea4b2cdc4beb5382cbf49b5ee5d95e544f824fe2f997c5b4ac98fb3182fdac78df63ee26477788e0b3be57ce768fa22e8906141c211895cd4eb42b95a63e16e200c1a552924cff1c699af96fb4078087e303bf99ae1d73d49edc9d1a10066cc573fbe4599af739b3b2e168b1a667141dfc0e070bde7469ba74aff60eafca0a36b8a7e075635579eae470a86055eb2a93e89e290f620a4ef7a3857093e4d23917070ace7c6dd45e8c9f4f260b1c38c176c650537a4aa6b255c0691c01e908ddf12c4022707566d979fa469b9e48069feb2799905561a5e61604022baa5e9df285d2b6100cce4a8350f1bbb4934b8c499f0179c0b7065d69aa4cb39bd0802c1f40150371c009fad28bd09fa9d162194803ae92fbed5ed01353ed6a02b61718ff3131e5e8992c4905b1c0d67affe9878c498a920a9c94c4dadb58fa83ef8950e0926b3af7301debc4cae7053281cf69bba14cde2f190488044e8edb6b8f903995d0cd60024e0cc8066f656ac95d44f5078fc006a2c1b9aa986c96809cf072301c36588dd2349893ffa42900e93604ddce3d1a261368a4e009354665ac443e83d4500cdc625e0ce63b8b4e8fe9e71381f31becb9bf3968b86be34b0f48ef1b8457e2378c3202c4ee5ecb1ea3a4c5579cf6594bc3738844c2074b6435ec0a3202da969c07a0996dc878f93378c87c8b054a05fcacec5e82423580b80a00300a64e57cb98baea351c1f90394506ce5f232429d1b659ac9c3719739c0ea8d334bc82968a60183473aa47396c8df56ce22e979215b5382a0fd2a7b37a0392ea8c24a684053dea1a41370ce79cef0b32a8cbb04fb187e9547800d5236e6c419f6513863ecd73871e787cb183a4007480530455781e89f1aa3ea84dabf73af771225c76188d60086718c296c081fbd54eac1dd95b009910359c18b48263a2537c00303dabba8862b564f84dae37843b0a9070e7c9f1bbcc027034780ff923104c9045080e34d2348a1192a2f71a8f2a8642c7add2df3b25b24e98a42584a7d4282703f861aa930cd0d58ce8ea52af0d33955411d25eccd4c080eac59c85c8627351fd900ba2d466cfb8c6b644c0398f3d2a38049a173f432ea5dd3ee3e42cfc7bcf2b272002910077e00537601f819d1b33ac0045025b434c29975c1b8c2158641ee30434e412a5024642702ae8904300b3260b0a4900330333333333333333333d3303142765a12ccf8c0223500b2222222b5139fce4c7c3a8bfbad1d6efe4238060302d20a340b120b743c091966e083c54ade1342eed8b58c32b0a92ca57c9d73c4a806c50515d82c649081d18e2545af2e0dcb4b401963e05634b46e79ae8e18b8d7ddca1cfd9ce3e80f03afd29eed2e84168f0306563b25b7c97493d662bec065f0a4b972c82984eaf0021ff7488ef1d4f743a45de05f35e4cad16a29fce4021faa1b39aa1abcbddb02fbe659a3b539bfbb5ae0a309b7bc694def4aa5ca20230becb8ef6a25ab15910a16b89f28a9e93f9a4e2729450504195760fdd5ac2a6f5cebaaadc0a48f6ca4e30efda2475d5681374921af7adc6a171e2af071488fa5eebfa3a7c04db58a7d96996d746552e0ac2ee426b1a4ee5a7e03926af0818c2870de512429fb9c9172a528820c28b0a934e53479aa7e3af904cebd3d6c13c94142da9cc08a4b4e216ad28e26b0797e2559430cfb9d98c09da50ff22ac7e012b8dc1e5ea7a77896798612b854f183c85cfbde6112b84ea17f52724d1609dcaa6ffd45e98c982b476022b7a694de92e6304f2370f92fb7cf43f3dd5445607de3b54fa5dad40e2202934333d5c939d3ad33042e7f7477468dbe5f086c6616713d4b8f940f025b26569195d2427481c06ebfdb4ef0cf1b2f3f60bb53076dd167ab6b860fd85b298f235dc58ecd5eb01b3cf08e73acc975e405671e2d5dfae73cf576c1ba07d1839b844c177c6df268deb1e518ad5cf0fef1e3f7e082694fab9cdf034dfe2d18a9f5c9394aa6bec9169c47946e915c5a7d2d38f3e8ee581e5a0e2db85a4ba93add59667a164cce49da6a7bb93ab2603afb3db7455d62c158eee9c8d3c81083051b7d37924a48f415fc699c3811e9729c3157f0913ee66ed6a76d5ac1a6f3ca74317dfa8315dc9e484c9d26d9555a05dff97be961fa9073f2aae03e5e0eb7d37aa4829f147b7f43848ed24105eb79d103d3b53af5147cb48f493234a472a6e0da53e5d8b1de3ff5a56025c45324256a2705eb99427e5b6464cf28f8c916318bbc0f51b0f9a5d746ed63cd110ad6ba625712b5ea200e0a268365afcca992d32778cfe4177a314c42da136c7c5549d9cda2e64a27d8b37c4d9d3ae7cd8f137c6495e35f779bd26c13acdafd6949a6d38fd204eb81b65726dd923c994cb0b6c9b37e4adad11c4c7067199adda4e312ec79b495d3724b302958fa30d5438d5f09be3c8ebc91c12beba5042ff13a3a4c9696ea2498e841daff6475651549b02b5569228d0493a6254e87569d5b48f0718eed49b463a70a1fc14b858bd6e6b6b238828b31e4d1db2e4f9b35828bf258ba13358ce03cc8b00a11dd52081d8b603fca2f51327976e915c186fe945ee850ef4a049b1e6e0e2547de183188e0723ab16ce9fa6fe387603554fc4b134f43f02979bf4e659b147621b8ab0effc443d35b42b0513a4a4cc16f332407c1f704add08b68963b41f0e3a13e3333c71c25104c928e59a7db324506087645fffcb35f52ab3fb0a339574a79dc0f5c109dbe9842f9957d60ef4368eed8b7e3447ce02da8548d77984f27be07debef572c6d6be8e1e78afcb581f762e3d3f0f4cfad4a92d3b63f0c05f545a4776983bf0961e74f7f6475a3bb0b79537d25845b4781df8647b4124a68e9a5f3a30792bc40b759df257e6c047ba97d3e798a51c985895a3760a16d28171e06bb3553c56d48e3a383099e394963d887939dec0c7d53f65d116a19a1b1889ebb1fe729499aa36b01db639125331efa9d9c065b5e41811fe59031f47d9cd2c54d41cf96a608359cafa81d67ac5d3c0968d45fee430d4071ab8cc4e096e6d152c7d066e7375ff6a0ee6d39a81f1ccd152e7ffa57819b8ca58f6a592818f2e84baf7fadd9c31b067b9a93d08e2c14d3130faed1bd1a62ca861e0eaa350f128428711040323e69a217d780e39bec0ad66e5649527687e5ee043b50c1d4e69676ddb05cedb3b32ec2da551b9c086e8d8a2685d5b605208b9b3e2e41c07492db0f9f9b42dd67810c32c30d2a5119a1934a88605c6a3cbd1e34fb12a4e57e08356b2ec41f631adc07477e530af2af65a05dea3f738cec13cb0eaa9c0f8e5c71c32871b53c714d8e4f1559a740c39ae14184996a32c31bee7a01205eebc2b3c8c2efd19850297ec5352ecd2b7ac3d81abb7fc4b1fe48d594ee02f59b0960e447ca426309a753596494a4726f099feed26c51cd74774094c24cb51fbc418e1be12b8903dde99beed6e49603c148b1de6c87724309aaf22e86da88fc064db94ced8539731021ba639ae4795bfc45204369484faccee8ee24904b65b337fdef689d10d014da943f0a0571102e7b1c7fb7e1e455e83c0a4547b99bec3884103027be6efc1c34d9d3ce8075cab872c6d671f35c902f880fd38ca81a6b248f3f482f7e8cea3acd7e61dbc6053a797142a29458bef82d789ce1fc75fa98f2e98be1ca59925c5ea3a175cc7f0703b83599c14177cdce870b2e6f0c0c35bb0971ea69431ff670bbe476ca3aba5dd18d5820b663b56f719720c2df80e1e7850cd95834e70164cbea96f49aa458e2c980e27b5d8aa7ed49d5830fee637f173e34d0f0b6e93ab88ee6bbcca2bd8dcdc9bd3c1df427705a729259e3dcc293aad603a328d5f4ee13994158c7a47fadd4f4f2b57c1ef6fa5ec5963688d2a98ec9b8e825a674853c1a7c911cf97d237222af8384f8e3c2c68a58f53f0db61ee5fff9056e94cc1e5583186607143454bc17e648f2e545f47de9382ef583db86b4eba3f0a4e432da85d048f2b230a3e8a941da62b129e8782dd971862be1c0f0a3e4ac1779346b794fa134cd68e3b57f2b0f3b99ee07bfc53a5b1dc91299d60efdf3d7611cd15494e302a12625f36c1648eb26bb29ca12da809b657272796c77eeb6582c9f7915f64a6bb478609d63cee18f572e025fe25b8881d75eaf461d0a4b1041bbe71fb7359cefba8041fc791d966fe2c16754ab01f7aa8c47ccd24780fe37624f9fb51b425c1a4cfb338a93e44bf91603cccd3feac90c303127cd891e3504bdd47706f2986e091bfc48a3a824fd1e3ac964b6f6f045fe7dbf971a54d7532820fb6932b92a8b80856e204d1a821f6474f117c98bd6bd1debe4d4b049f79a191222298987a9f43d48f07d121b8faabd899264bca10dc6a6ff4b834859c2d041fa5491f46cc1c56f78460ead43558abf88f66104c909c73d6471a2f720882bf14ec343369887e07820bd1e38e6ad3fdd205041f9fc771bbddcb1f981c9537555e8e98e30736a698afef4b43a7b50f6cca1e4f4f4a9b0f7c769d841c730fac6f87b68e1ec76f3d30fe71a70a2962100bf3c046fed872dc5ce181cf21eef6aab7bb5d77e02786bc5ebb5fdfd8814bfef7c1a27722af032fb957f9627e7460a27ad9781ca9c719a139f039d68f6e9f543d520e7ce0a9762d6f90889c38f07f394e26092d1cb82aad681dfbf86f602d7586957d8c1b18cd38de2e31a43bdac0c4ac1de675cb39901836b0fab1c6f426baaf818d7b96be9d29c6dcaa813d0f4b3c8944da9834302159bbc731db8d16347056ee1e4543c8cec08b4abccb8b902e596660c7a3e67e7a5d06fe7d374924cd297344084006a67db7639d5011438a006360728a101dbf74d4c91f041003d7963d75b6d50f4943040803b7f59134aaa57535270018d8a938e9ab731c5d74e70b6cb24b93bca2465c452f3039c3b7acaba562b4bbc06bb21c62b9b2e48f121774fb9859a32d301abdde1193fe768c6b81ff107cf274278ba86b165877abdc39ce8919a288053649ec0835ee9326c45c810d19a347aef45166fa5660623491e491eb6f0a912af0a622b1e2fb57745852814fd3a6bd1f8379989229b041c23da8ecec618aad14d8500f27c60d2163c7932870f1c33e62c8d963fc330d048002e739fee66b8d4143e6c0b209023c81d7afb51c29221df6e104fe630a390765dd411f062fc99f3dce419e0c7c7858fb41aa264e469b30c018f8b42016bc3a88fb396260ba62741c24c5f8e98781c9a0deb103064efa355e0a1a772b5fe03ef6ad07f9815fca7881d7ba645e693d749476818b19926515493639c905f6cb5d73b4cc1f6ddc027795fc2d3c88d038315ae0c3bd0e239ab75770b3c07d4e6ff1ea36475b5860a4838e5c271dd3478e2b7021db5343b4b4c143dd0adc5dd4b4c92389d51e5560d773241dc48d143b4e053ea7c7146fd25e3c484f81bb6b3d0d961f6867a5c0c690ead1d6a61abd6c14d860b9634a9dd4963550e034c7abd95cf3ffa59fc09a4e791c86f7785b9cc0956b4a9df3076e69029f62becfe83142ea4ce0ca4bdaef934e079525b06fd192e418ad3e4e2981cbfb1cb5559c143fd22470f937079a9f34e4ff91c0b6df5f908c37bafa1138dbdcf1d9776c1b8135d18e1fef6bd7678bc075983b07f34d16639208bc071e6f4df4c4f4d810d824661e549387fe0b814d313b4fc8dc9b77ca2070f6f793c3ba8a193d80c09bad2497b09468ef0fb87c7d0fb38eeeef06f00127216876d8399008d15ef0d9830e314eaaa4a74a509c80c10bde6fc252886d17b7dc0517b353bac7f187bae0a34e21750e1d7af228174cb8764988a92f7310c40593955a22b5a47a1cb7605385bd2795f4be1d5bf05391420c964bdf3f6ac19f8b85ac1af16286166c8851fa5929478fb2b3e0bae27f877ba5b196052b2e39bd44fd7548c6828dd53fe2119d1f48b0e04d2a4de7ce17b324f70aeecce3c9f5fc1ec6157c76d886d7afc5ed5bc1e6a8de91b14affd3ace02acc3ee965c7edd8553039596b436dfc8da82a98481195ea3b548fb2547036a9742387d13e9c182a78bf501772fc971ce8a7604d34a46aada64dc1be5e5d7bb4cbe9c652b0feba31e4a053da58152998fa096e954472e87146c1848a21741cc9225e8c28d8faa46bea5e9ed6110a2e65ff40acfe52d70d0a4eb436a27dd829e9f2097e73e8bbad9f29c7a227f8137df33073fdf7a34e70d792e227296dc83627d8b14adb26795757dd04bb1fc799661eb47c4df01fed8e74d435ba49721250da07c0c804579759296a542937133030c14db2f6e8c83c2b98807109ce43c8f6392ecdf935a4978061096e6249708dfee7152269091895e04fad6f8354c8e1af87126c8e691112ff3ef5b749c098049732c6506943f875d8191f604882e918b36f871e273ae544829ddc0d797278c1c34f0c3020c1f8f4e7f02c2f4ac7e93249c07804133bd955c8c9af834d0c12301cc147d58b8c1c4dafbe650a301ac16a4ad50d8b907bf486020c46701969b5fedaf77cc55d049b39e420fb87fd931d3445e8d1f5e36cea2967c845480e3012c16892ca1f0796572579040c44f0513baa4a4791728ec8e201c62198905bf16df2de4508cb1d601882f530e448e2e6101d665a08363a7c976497b1fc3a8d8041082ee97f4a79f12bb96681ac41f0f5e7d195a663f06832028620d8f5dd8b6231b2be7d74c00804ebee591b3b6bb44b21460e0310ec674e46be11ab6fa9fec07d9e665c8d13223f0e55a9b2412daa00861ff8d66c11435d927606571c788106a8fac0a62e4defe96cf7ee516680c107364efe8ea5c6f4da3caae200630fbc4876e4b1a74f6e5948c1d003bbd92b21a974a70f73f2c0a79093fe3ed6bcc1031f7256fcb4b8557e1e77e02b851c7dbf7f3d69ecc0a56e7dd59c938dbe75e04cc2a39446e8d150d3812ba9d4f8d79bf5293b07363a2e9d8ed9d43572e053058dc13a0aff308c039323cbbfa3e8e7781538f05e552144ec6029bbfa0636a7fa74ad098de9e206267ac89322b7a40f52d9063ef0e0fd16191d124136f0f5e1b16d0e1de7d6c0c6bc393f12914efd50039bc573eda7bdd318b7347079dd522ef5f2d1c0a68fa6d841440f51eb0c7c20ad592c24f398e39881eda89c31a43c31b4a732f0eae3f16ac8d9c57732b0797d733f0ad1247f63e03d657bb4b3b0f24d0c8c68cae1c67f0bb92156d830c2c0a7541dfb3dcef9b1c71455810006189834394684f6e9f28ea333c0f8029f4d5acfe24d0eb17a2dc0f002b7317d186224710f79dd2bc0e8026bd6e9377e531d94c805ae2beb3b2e8992537d5be0c36caf1b4a92c6fe205ae0f6e3679b5acef9429d05ee33d375e47bc6cb2416f838635bfa140ff33377052edbe6942195ae78cedc0b018615d829319b92e0c9ada42af0519d8d664f71893451818b5e1fbe7bd839ae94c929b07932c6e9388eca16b914d818ef764d2d77d03b45819b4a35313daadd0e4a2870593f678e2372760f421080f1042e46fa8e5bb9a4732a4e6063ade64e9facea8c69029f390e2f844a6f972b2ee02cc0600223e9aa51f6a9adfa25f0a9e3acba1252b94a5609ecbd6e34b7b3247a9624f0911773781ba3494bca5a01061298b4c9102f86c855976c028c23b03631781033bff979281360188195ac951fff6e3a4e9622c020029ff2c30b1d2a9fc71042600c818f929a1ec36309395f3338b03a004308fc5ee7402ceaa5defc25212505600481db4a89394e9fab5d1e6011103080c0c68c297a8e3747291b03183f60e26f0c31ed87ad00860fb8f0bf9465316cbc421464f482fb8e16910e52b6a4bce0d28547c68f63174c79f4e039851c56e48b2e48bd496693b7f2549e8090910b56f25be6a02645ef67c605c5b8808956000e91810b7e45738e5f92499a66b7e0f6e36f49d7ed3621698b8c5a64d0821bb15853edc97353b3e024b6c5dc312455c891059f63a71ca988c4f8bdc2222316ecdf87b4da1e3d2b092cb84ddb7194e3f23832495945c62b78f5fecaeb67e99b4a1e64b8028f9e5cd7f5ef11032460010cec09e00d19ad60efeaedd39f89fbd45f84830c5630957c573ca7e89e985f05a39ece92a5090f11152243157ce841f2cd0ffda93be2868c54f09f634989e7f20e5206157c8ed7e16d3e8f3a4ed953f0114bbaa472da9416d3860c5330f9d3e5bbdc61cca29b52f0afdd7719ea3e166d21440629f82044a81ce64f6a121d44c628f80b8988999bb5b3d46bc810059353c79ee398ac2a9e4728f8feb70f199307b1032b491019a0e0223206f3f0b2d7535ec8f804ef3a517c257ff461749ee05eebdc3cba87bd6f6220323ac147765ed9c23a9c60a7a22d669ec7b1aade0497b2e6cf8e4b82af09ee62c8fe418e6e63361d203232c1479dbe34f6fd71e01604646082d710eb63acf8efd1e0f512ec6bd8a6d6f81e4edb96e037a4452cff108395e0a5a368972924f9f887124cccd6a1513cc6901c3e09eecfd3f34d06a9698f3f644882cddcade4ea217725f045434624ca1c317fe5a0253531242a6440824d9177d433548e41421ec1550eece3934839efe308fe3a77dc94b2e5389d35a25af3c939948768830c46b065d311824fc4ca0ff52163116ca88ee26ec7e15e365511ac5aae0efd20a7649fe7434622b8af50ef0d39e271ce5c1d119a400622320e711c4ff06831cfb1042597f40d1986e063c939da6dafdc122b945108fe2548de9d8edd863e2909c1e644dd77f0ac0d2a99420d20942cf815442063106c5b987ffef0edf68e20184d99d243ff4fd1a213085e5372d9799c3db3f28060daaffc2445ecfa10f307aea257a84a48a9713bfcc05d7fe022352124a90f5261c8e8031b96e3181e424c7d59e7031f68a568ca294add630fec54ec38a49714895eeb810949b773ef491a35f3c0d5c6ee3cb6ae5691c503fb92a30b619d2173dc818f5f3254ab456b94d20e5c7653ff6835d2d5818fdfb43449d675d6e9c0c77df5a075e7e2953930c134a85e88c71b3493039fa6fe52703353f38190110736ed59da0fb73f5947bfc509197060c2f4e320bf4759c7f40d7ce8da975330c94b394b37f0290792e329ff3d3ba30d6c8e377fecfbd16b489bd310196c30699a98c3d8f982a596020f284b45c61a564d96830a3d96fca35ac850039f2d97b567e5ecda9034b0a39a92a2edcadd4f810bf6908106d62f597df6501ec424a5e620e30c975a548b9c55217318243a23015e8cf6174dddc0a40b9e1d29b554c89125d068033ff9634cd1c8fafb9d0d7c3cc97bd44308fd9b922934d6c0c5f3fe50af62ef9de384861a98fa7c3933772a8f0ea19106a63d224884b9e4a02b1ad81c6246c609116f2c41689c81d5cb771fa5eca2873affa06106f63da964db4dfaa167cbc0d6c7ebf7c12ea76411c90f1a64e0731c05750fdd495a61d518f8365dc9c89bb3be457ad010039f2deaa6c5b34b31e5c3c007e9ee31d30f23ff0718b8da8e2c540a992b5af20bdca6330f3de38590069412101a5e60326705f7403534784c17b80d71cfb771e4027f37fd1b253decafdd021321c7a4efd147a959d3d002d39ba5659fdd11ab9305b647ec827855bac7716081e9e49a32ea33ab6a7e054eaa757398cce3d48e0bd0b0029ffa653947888c617615f8584dab6b4ad2f9a954e0347590329fa792f2c029a01bb6d71fb9c926df090d29307621a676c7fbb13a34a2404790ec124cfb33040b1a4c8a8a2185fc682c7b5cc05bd078021b6a724ae6b54f698786134a12da73c68b5a33a9101a4d6023ad6836d14f1ff7e51a4ce07249aa88413b8e63ac96c079e4a3e79d7791ca828612380f8b8c59bdedcb5e2c6824817bb7601511b7c79367d0400257d5d14a75d0f1fde7900c1a47608254d5e749f7ef31021fd27e968c8a6be9992270e2d63143c79e463b5cc066d02002ebc952ca7149ce381d67087c9847cc3735fda4ff85c06536a9e8bb68b9038f20f026d9a12129f37de0690081cd8dcc3af125696774041a3fe0726c7ff15a4ded7c6b40c3074cc79d712a474b51ac8390698c5ed020062f58cf6f59638769aa42a98718bbe04ce26f0e73a4fd81476520063739245d487bc9c1830aab1023175cbcca2fcf9726ba7adb5f88810b3e68f04f31fbe3a9556fc1fec739ca5f3990a8596560b110c316ecc6b5f7284488a1afb91c448c5a707613a1ac7db5dd7c526788410ba6424b5f8ef551071dd67a22c62cd80ebbcdfe43ce19096840167cac09d37c6df14632aa3162c16aee7c59a69e6aa3e6701003162288f10a3a40c77005b7fed9ee7b39328f6362b482770f43be14efa84431c460052f9db9e2e6c6899ad28521c62a0eff28c698a4b24355c19d552c0f7ba5b77200dc1dc448059f7b3f6f84d0412d6588810abeecf52b647946ca71e418629c82c9b4932cc410ff0e43660ab37f5a2ebf38d11d6452500c60001f21cc438c527019952add478f3999738518a4e073da8f1ee746f67c1f5b2ac41805b76d651622844a317ba71043144cc61b8f62c861b08d295288110a5637a2aae8565ba8a0e02374bcb9634b0ec3f54ff039feddec9f7392545cc06088e10926ddc7f16575c68d6527d8e86592522ca40f22c309ee2c37e60b9a390c6b37c164f294cea1fe858c21a12ec4d0047b3faaa2df71a5b6baac636482cfc81f4f9b8b79d00c043130c17ace882145290fb7c412e81b625c82b114cb83a8362efa913c3fc4b0049761279ea5c3cd7e272162548253931c77a7982172fc4109267364596bb37e168d4f82cf91b411f563fb946325c1278da459737e875f4a249868cf69b44272989384049f29bf869c983b1ec16fcea8ed113cb4c3cd116cf2adf8315856f4b21ac176fc31857edd94bf04c46004bfdb51c751735ab4b308f6bfca3f08f9f63faf083e9a8c675b11af7d4d041fe676468dbb791c4470f5298a7d46d64fea104c49f68efc728ed09121b89b8ac972f811f3494e2138bf946df3b607513c8460ff7e835bb6fa677f10dc9478dc97f572ac088289d9cbb355f602c17e3ca99dbcd6aa0e40f0817f14bb44eaa2e30f7c64c8b1e3fdc7718b1f98f4b49f102fb2d5d6073632e520e6314d19ade70367eaa16bd75deb630fec7f1c25d58e6d3d30bedae11f7ec7bae681edaf97b68ac9c7032f39657790dee2e738eec066e5583ac4fc575fdb81ef0e753cf0c85f9fad03afa942fe384e1b2b5ae8c0f6db679e1c3279740e7cb8de61996e5f90520e5c3caf0f3f4bbeaa71e04e2c54c86130f5eee0c0ad967b961c723c8f9837f0a1799ed6f35852bd1bb87c39b6aed813276d036f7699ad9b552a6b36b01ac1830e9378ad8e6b603a99efd76ae0ac3edae81df5a555471ab8b69099727c1e34b0a16368f9e5686dfb337062dd718667ccc079f89bd53d99b3e32803e315be9ad224b5b864e02572fe50437a3a330676637510537dc7b5a018f82053a80f319488761e066ea444f5a39c6f5317206280818b7f5b2ad6f9f3055e2c5b5576863839bcc0e450aa33a4a6f5d3bbc0fa7de5684864e5e0021bb28713a1962183bb05d642577a781a8b1618cd905274255ae46481cdf5e99033a5ac5eb1c0f946fa97601ee5c0bb025fad19dd9387631f5660ed7a2f79d8849f5505d635a7961093c714a402b77b1e7face88e9e0293dff453fcfcab1f29b03b5113c26d37dd270a6cca61a5f1d8f3c79a8102bd9337e4305ba2e7f052a8d8a0aa10e3098c55ba457e4d1e4ee0c31c9d2ccc3cd9a6097c97c5f090c683a43b13f8f03874cc2e396ea94be0b2f2b9c568694247097c47a21bdaf5a1e7c024f09e4d73e6b822e4c85a2470e23ac1c30f336aff23305da396ac429c941a81cf4a1e2d3d04cbae08acb77e45c839f3524e04cef378c4f07c3e520e81d3c93acf9d9ea59f10b8bf6c9bdefcade3ac0481097e1f51c5ee53f00002bbdf3948bd8b4c1d3fe0d53cd2642121046f63f880979c3b4a1ea4f296a5176c5af47a8f9257e8ca0bce25de06cfed8235f1382c6e7a5454179c7987660cae9e25d35cf0213f8e75e55faae1828954e511e1d9a2756ec1c4cbeaf61cd3ae6a6cc184dee6de7ecc627a2db87e5bbb8f8247f7a1b460ebfa2eb25e8e276eb3e075a2c71e7d2c95b62cf8a03d728f7347a9a3b16022ab785d8c11314612166cfc9c71272fbe7efc2b18c9e4b973c6cfb4dd155c66919c99f2554a752bf87cdee91f5ebcb08293decb5f95b2d75b053b55eead159387a854c164b138d9aa165a4330155cff4fea38cc60111d54f0ae173d9dda64d8a7e03c7d983b6e7e6f0a7e2d836ab6bf484d295897dca439304dd349c106cdd1e7c41c9bbfa3e0f376d829db871c2415059b41742fa6aeed38180a7ea5c652affba7f740c144f3101e7df6742bdd27f80e23b7c7d91f9ee0ce638bd4a93577f47482c9917fea6d5e8ef69ce07f2be7287406cb21c726d85a9dbc1725fd956b828f1da435e4c84ff399e053b69482c6d89f3498607f548207599299652fc17434a5b51d396a4c4b7023eea5df123deab0124cc4e475299eabe38e126c84609e25a594df9904bff69177143ca4ce9924982c8df792e338ce7e24d854b926e6ca297f604182d710bf7b6929d5893d82f5fb8ed3e49c6cd2c711dc59a7acfba6375aafb1a37a781f644f971021624925204236300b00160cc008bea256075b8995a65d0477e9c39ce3c974672a8235f1af6b9ffcd92a89e063b4bcfa174d2b4944f0e21fda4bc7b7160fc1ae5fe8ecfaffb4d0104c0a1aa12aabec265708be453b872952fde31821b8e4b6f51bf97a3a5283e03e84182167919c20f8a075a463595e493c105cf03cefd0a3feec01c156465a56edaa4bfa0f6c4d9e1c6754480f5c3f70393ab60fc5b287b1d207362b554e75b28f56e4031b19adfae651081eb707366fdc95ac8ea4eb81939aa4d64196a4741e5809d9d5517fa4e2191e38af4ffdb186661f8beec0578e23d84f59ca3976e063edb56c792c458faf031fef5e8a29df759c62e8c08e260f5a2f43c78acf81fdf0e3eebd905b74397062f9793fb64a89741cb8f04f579339cac9323830212aaf86e589ccbf811135893e6d412c24067003f75d9bd7a3741fe757b148b9c0006de0bdeda4bb37d6e5683630d5b9e6819d9fc7ec1af8d7cffe163b56948a1af8d0b79397e31c5e5a69e0636aabc7b1464a910e1ad80f2a7a641f8793b13c0377b959b3275268062e22447374d171a5b00c8c4b015f28828b92239d66d47a3c26825fb7aae82f1eaf8308aea2ed788a6bf947e2876025f2575ece713ade107c185f2a544ab46347215849af9763d7941182c90b8f56727be869ea41b021e3a8c44d795a328260f5a43adeac0f3a5902c15eb4943e345f3a4f40709f37ae45e8574cd9fe81491f7e7839ced2c1c3f881b750f61643c5b410ec031fbde750bdfdd0a22a7ce023fde8738e3d8e6cb307a67c32a757fac0dea307368790d1214834cbe78149d152481f79a8883c1ed849f71345bbcda3fd0e6c4769dd634a0aa2a6da81cda791b33e488a9d53072ee6f8c3ea27e5203374e03fb0a4e5b9969e43e7c05e9e9852879526772ee5c0d585574de4384f72310eec6888eaad3891a3381cf8dcf78aeb17bf93e50d8cf4569c14f54e3b73031742e750ffd79782e4dac05fbaf3dcc8df217a36f021d22959578aa7cc1af808e19fb2a6184d543570ae9b5524adcf34709657a283c4481f05d1c095d845e5cad15c2276067ea278264fa982e68c19388b9b62dc1832b2d355062e7e882df61fa6140f19f88f725c16eae3c79731f013443d66ac1ce6c98881afea6839256227abc2c05aca9a5b62c85f12426060dc23b3c68d4a89e317f8d20e24533f7a74897ce1055e727d505174735e69bbc0490c0f3f7cb50e55935ce0a3687a56d69d2d44c8175b6033a3a43ecf17a61eff420bac47a227a2bd1e3dec8b2c302973da6ea6678ff5167c81052e6a376f22d764cdd1e50a035f5c81ff68f721847548b102d339317f987d7bab021bea8390e3ac9510cba70217b9165943ccab940b8cae7c310526f44739dbf7a78c3f0508b951c0175260b23e872948b0249d4e157c11052e4f3a373b446e8cc12fa0c0655bdae4f8c6f11cffc513d84b1572cc1bf557e1f9c2094c9577573ecf6f4105180abe6802173a95636d41c5a3106402771da7983fa727efae96c0a7aabb59c7fd0b25fc1749e034cd3ee3af0735da31c11748a003f81747e042a48ae329050f3fae5f1881cd413b9998de8e9420f8a208bc45acf6a49634c52da9015f10814f9fcc2495e7557fcf10f889d6814884684ce9f70096e00b21f0d29e6934078920120c022bdd9d248472cf916ce00b20f07166c7d99d7673becc173f603ace21258d1111d35ff8800ee0828d5ef093a6837e5f58c73b41c1062f78f5bd5a0f1e76e071308f8d5db01321cb3b9be65b7501828d5cf0d184c8308f7829474eb8810d5c00e0071bb7b0050c366a418b59c8e2061bb180c52b5cd10a56ac4215a940c510364e618a1e6c948214a3a0c186284221830d50c460e3136c44bce9a8971cfe5be889316c74620b1b9ca003686163134c7d0e21edfb87c75d95010062431354d8c8042674b07109286c5882f3303d34a78d7e4a259ab04109b67276681b328738196163127480236c4882fd8c7924840e3dc550d90bc14624b83ec9fe761266eb3d24f8c88fcabecafb494257d87804eb69b4a743b0efcb3b82c91a420caea7f6197a2338ef8a6fd93d68acce3282cf9c2c7b5e7fc837a18d453039bd079e3fbd4ac815c1fa55b21c8d19d37789e073bc90d2739b7d10c1598a771c3d79f3d43f04a36b627f7ffe51c71b828b1f4f46a9fdf7c91482ffcbd461c6763f8b1b42f0f6394ac12af377d420788d4ef5ddfa9e2447108ce4d89f6d160b19720482d1f11d8999b279d801083677ca1db299fde4f81ff81872b0187529dd44ee073e8a7a88df764e297239828d3ef03997c60f4553c7f9f381f79c5e1fe7c872bb3df039d4af0bcdb48e79eb810fb3bc43846476e2761eb88fa3e694588712278b07fef38d4a7df4bdca973bb039b24e0e22ad789c563bf071e51cc70a8fc3c94debc0460d5da179df71474a0726a42bcdf2b3581ebd31073e46aa951063f4b02429072e6bfb740e4a32ed1b07d662790e23275dd2100e7cb6be1b6dfdb8c27a03ab7aeaf134c6b208a11bf813cb5e6f99dc34d7062ebb9be530bfd55ac6063e7f98222fd59876e5d6c0471624a4c766b9e35103fb92466cc4f7f2af69e0f3553b45f1d8bf4534b0776fa17e254b2a6467e0d378486b78fcdab13203e79f691942b2bebe9481dbb4f710a43e2c5bc9c04db05c5d1f744a1f8e8177ef20244f9a5f2c4462602a6fd0bf60e19a738481fd24390e522c093154040cb48e8dde7b4677d5f30b9cc78a973b4b3356f44a2436bc7049ca9536850a1e64cf6c74810d1d69e4b54df945625c6043f443afd50e21c7967cc4c6169494c3ad349b9a48cbc4b0a105365d6fd364971043250e60db466c64811bdbb499a358b6a2692bc4061678cd890edfc742c72215406c5c81cdeb9d39a357f2b436acc064c878a97dbb623ccd061b55603bfcb853ca891d437e5cb560830a4c8c71b347fb0cd9ed33df98027f1ee590374275fc2865430afc87d4625b210731668aa8ca041b51e0924907e61f7dd4eb917bd8800237d69dee82079e4953c4c3c613b88aec1772881a529be704263d72d3b8a1f56f02df17e597dc2ec5943b3d6c308109f561161291735bcc1218d1b39ba0a2b9246c25f0d13d7368295e6f6d25094c472cd7109346af87dd6103094c4c75f33b067cc861e308ecf9450af92dd526e6b03c6c188157f3ecb592cf5d7327b45104c6a3ed0da21e7fcc422230653943a833d7cf7ecb0d1b43e0d3a58e9e3ba5ae4b1b6ac3861098383945c9973b668e3488818d203051379276f6fbca916303085c7954df353967f12eb0f1035675939a25f7cbd7fb041b3e602da597b67fad5c8fee051f82c4a4b1faf67e35e5053b12e6aaf521456e510f1abbe0ef32545edb0d1e4ef2a0a10b5e34e54d9193e5c052b283462e98b496c2fa2668aeb070c16a70f7a9ccb9d2b27e346ec1fe6b4e97ba8f3a4870041ab6e0df7248a551fb1e7ad5256818438cceb1c798b762fd7f700c1ab460428ea5336a32b149124163167cbc8f39cc83a8db7b445fb20210070d59f0d1fdbd79881de6fb202868c4828b6839f22db6c7f20d2c58f58eb9f45ab45672d420345ec18468fe287e96ba2f080d5730de97251922d78f58b6156c88bb7a59bf41aaa358c1a96fba688a672ab1b30ad6d62a2ffb87a12447203454c174ec7effd8c227b74f05571e477adb31fec7b64105d741a3a55edbe8a6ee29584d91726e4b1f62fe90fca0610abe25a7102935e5203b5a0a3654c739c50a390779adac83062958efd053bebf69cb141d3446c16fb59ae67eb20bcb8a82b158f9ec332d3b32476b848291903763cadbdf3164590514ec7a5e9e10434f479d4fb06d69277a9fba868a2994d0f0049fc9a7a225c3538ef149687482fda01ea5d85fbc8ab6424283134c8e35f17293bbc5bd48426313fc548ed0ec1d73e4a8a3093e458df9ee757b91f39960536b472d570fe2ea8d09764212ebb03c795cfdd523342ec1744ef591bb7becf4b725580ffb83105c634dacce101a95e05325d1ab1cc5f0d8164af02129da4feae451cc7166a031093e7d6ec999bf2768a8020d49b039bec668bd5761b9d22a824624f8dbf4ff1e473204f5a81e6840828bc81fd6f8df66dad401341ec127b12499dd39da7f5984a0e108fe830a922372fd8e16d068046b97a34ed935e9e1410d46d00148a0b1082e6e24d51cc7f59e43c3808622380dfbf4b943da9e08463c4a1e985f4c6943c80d1a88e024060d7eba1e6bcab4ec21f8cd5178faa49e52c961084e721c5b8ed28a4e8e03f70b1a85602fc4e8b699d7f5ab7a4183107ce6ec2927bf24c694330836f75a7310397bfe386d838620b89fb896739422df7a5fd4a011083e079dd0d8d99de31c40702978108266891e59f61fb8e0d9d27114ba730c1b34fcc059f0fb35ad8f73f8a70fbc473566f541ba68caf281af7adf8ea34b438ea43d7093fa9e555a427a88681a34f4c0487984f6386ac4bb101368e481e91cc5bbca6d934cec80061ed8f724a9af3c0e2be68e86a07187f2a5e8fdae6712d963b7a06107269fa40dc9cd8365b5038d3af0410eb2734d6fe7389b96d0a00313534577e8d1342cc1672634e6c0e5c873accbf8ffc9f330f82f15004a68c881c931b987ff9ed3263571b8ae2f6b64ebce212538f077f175da73f6858a5901a0081a6fe05bb4b2018989a874ec662341280c080300615020100a64e10fe3c51008040387a5911cc992240e92f9e4032162c2c200c140a2c0a0a0c2a0c0a000800080606080a061606060406061604000610053903b96e4eb0234e8858a64caae1d62d4bfd02ada7ed6a688e93b94749ea461e8bf897565a2f55644fa0e2538cfd370fa87626f329cb529327d87929fa76960fabfa0e44d21517a19cd9fb3d0e3738892ae4e690f28e39c2eba88f4f231e5c2400053bc4542cf1e0c2188766f50039e6483449292f5aef1d7f494bb316132dadb60aef007cf0adcbfb9962388df9b52570f5159f8893095c891a0344210b99293dbe16eed107322a99544695d88b403681adc1ca588b15fc87eb3b9e0162390fc4aa58c0b0ab4cd8241ebb43c7b018e91d1807fa8d416844536b0e3b233ef5816fccdcaa36c5ef208c0ca5256ca0c8191f4847d4c611d63154fe263407ebece41f3528b7c494d431f37d693e474d408f3876ac0bf7fdd1b967e04395e51484dbb8e76e2a4dcffb19b9357f8b6f8c775911ac78d2029c381057a0be893c5572066803e25d3bca2d068bc828e98ad505e1b83b87bee07dea5c40e7b74ab8a3c9add75b4109a80e962279e592771eb4d8d786862027cb742734d1d64a40d124da9d4a0aebe67d7e93dec41544f140896477f83afbea8cc720cc863169e90447dfc662a86d66b45d957970abcad106ceb259a6e0e1468ab62c2fb4636de0152c5d64a6d100d6c7b71017cd38c9b4373008ee32c91d667f9cdb94f7c7cdb3580e17f07141ee5981190481fa607221c530f919604980a38be08eef1a53c6a07b0710bdedc9d8d83f825f999b1796b8d5061e65e87aa532867be8da76a18dce6338e9dae834c189ddcb30a174a3c311f580834824d3544ad5d51437aa8f8255bc8564f43d88960d31055cfc57ae8d290cd0b0a8bde250dd1a4aedde374f168c8b7952b1af2fc7d12ec8686ec0a8e4dbd8286344153b9bcb8f733c49f40cfe160eb19b21dfe763b43ccfbcb9633a4757933dedd0ce931106e35435ec306800137026686e49e999a98210f156333110016fc32246b67e45a863c9250f8f1b59521d79b74d5ed5286083ea89321fcb1a9e2222a2b19c2dd46f0d7c8906489ba205199471d0122e3a646a920c6b5983bbfc37d16353aef6c0c64f9d9a09622b0a4a01acc4a11bac4a4141934d19317fc3110b06f4f10824d967cd01e15c2229d8f3712060456c3f80252b08bc58141a87601e16611c8c616905ca86b256de9e8aabb83ba01329953781292e59d8891a030fee1735fd11153fc5a06ac9ed390e35cc0f9810faccffdf0df7c370228a365f2da4180ae73386b5d2facb80ffd5e988b449c1de8796c3481b3e1d5a67a58db3447d4fc37f3fdb62a1e58dca99ed25af23c0698a33713b554a119f5b5a3fa8eeafdb11adee9b3c901f46b376e191777ee919785db751df3fa5ddb570ff8580cb859a4b971cd58485b06a3c65f1eedf2c622729cf89bf9e3a603dbdc6028c6da0c7fa2ce7e2b53760be604e82dbd1c870b56eb0058c1265af45054fcb9e32a93750685bb3d0869dee893e867f87f30a2becf30ff8ff0ab73662e808e99eb45f8e464b1e3e05f0bc798dc6edbf7c72bad233e6de72415e84d74623825a2e99b10b658fd13f841942d58fa4e22ac0527ce620eb0eda628488c4ed0b59a6303a8c8c899f36a60c0ab2fd1e9d08a167e4224ce6f60ec736ff70756f320a62c37c99000f542007038d1b41c96d22dc46a688b4906f4fd801294e8506940011721dd0b360c9bc601d2c6bf0a32d65bb995b7212c4cea9af472418d250416753eb3853d1f20b7c8e82d60c918ec1db595e9efde7f8a0682cf65c0f9661afe36c64459d62350b65a6a14ae3d457486be1e035d600964e9938e622405cd231c566977be156375536cb6ad676dad923c3f0c327fe2911d42a35afd82f206e4aad4884fb672c54108fc1fd16b6d192eda21684dac774effc39b8d29429abb23c65c84003b7e6ef020952e9493a91a24706b6c3759e020eeb37b750b682d65b07425e284c8c8292baeaa6492e31a29fe67c43f0bebcc4e71ace2f447a1b83506a17269b0848b10e91264a43d3c462a35e28a833a622abe93d381846636a3d5314c41818fff32fd42898faef3953db97e328c07869cb206125c89fde3d198fb9fdbe544237220aac6cbe3529c97e3fdd1ea800cf21b89bbcd51a3015e34044968051845b94cb9d510465f57a66c035a2f6b5e51f13adeeb16f458aa47ff650e3384476b24ef1b91581b676080f4ea20a4fc690c52abc537f6204ebd29f1b90ef083e383839af0a94ebdb1cb91d8b97032d01ce3532859a7619a62c8cc87086317fa666221559001b46950b96b3d892ca258de9cf5ae8028f202db4bb7d8d918e6f4c49b0b6d07041b705e40ec5b697e7dee96c2e42045fabf0a955b9e695ddf989d7f5027cf534fa9485ce0731afa27610083799c2883396f66475836564d92c0afa26a1c932e9fb5c5ab6ebe463f938e3c2c2e9c48b36b07c58bd7cc977da4813359cce74db539e3be36416f2fd8108b6dee2ac5603892098332bf3e0f71374cdc58a8073e7f023c817353a5bbf380b4aa94074c21115380f2fb82a7e4c3e5f788db67a3c634384347579bf7b728d5db7a742e4a1b03488188e687439d4f1da415d3c5729d29f7ccb475532c3403ac6d782fbdf9505b5ce92e053f29c761509c7a75d32fb80d4c34833e3d6c7bc6709e8a659668865b494a5f21c8740504cc0b20fa1ee6d7a9a9357b1aa30c74ec08966910691e8946c69aff22d681eb78a2cd2dfd5f5049b9424f1a7337abfeb450c382ae29f8514f6d65242d309358c6a2199a466f7fe8149f1aea5f625619ff79295ea9b9fd0e02f388514a4db160895b20d93374b66f850c3688ced809520d70802ff4dec5a06fbc98f466e8f266fe8ca66b7af3553091f92e61e01b499b563bdf52205499145200f76409b601bd8ffe5b6e9b50daf5994f3a974b85703f81f8f4b2a9333aecc725cac7343fb02f607502784b43d06ccac63972790e4969233c310566396fb8d124a6a8b16b8a9cb61c63dedb34e7ba9ce225e235597aebcef5ade8b69afb0e1210b4722a87e5b858721a2d6631f409cc057a6d84a0f1caaf9dd3bec3a142abb78747cec09b0faf74cc523706b5ce96f7c6ce7c9fe4d0053e2e6c6c392ad933fc3b6d9d212b1a13b8f53abec697cef447a4563990cea80be75432419986ed0475788dbaa37c1ed752a4605931cdd513b22be924db2f165bccb8124b760fb90c6ba9844f1e0ae4e9e1e9f9653c8ba1191444472b6a4da5c6fa7256eaac02e28d2f5151b9aadf54d2734053d53bb5a24ddfd32c0b4c79ebacf814a4138eb67b87e7d485a4b77e840b4b3717b8e0b097161a664cbfb30473485b82fe781ec6a3b9e27110628bf03258f00962385057c5b75bb233b644643f2564265748a6a1df5b248c6824d3b06312cb5ea62954d9287c50bc388eb6b0687c187b3cb2bab716fea20bbcdcc3baf1c074c8465d9ee02fafee22b906865c0640e98a62720a8ba24407e12b405e91585bcc643c49f1ddf5596a27349d2624387d2745e438c527a88becc17b6263f7b88a3b3f46a689be6fffa2fe3779ec02596459d1aa762c506a65e0bb6ee43f9eda22b90746edae690250324ce2f8694484e262a4ee1ed4af0005e890d51a046ec3957164713d30365b45ecad06a2590b50ec21cd0491d71ffa6381a3732e5fba33145a4b999798d92a4b28139c02c8fd9438cb1ccc89542254c5d632f0951bb57a8241566cb67f4de1e1cb3964d2ce450ad1cf2b1888238ce3587ee8683cf3ed0f968110ebc187b10e7cf86ea0ca3758cf72f1f756e385a277b4603c958586ea417d0ced9525b9a14c9b85012f0b0a9ed0349a4ecc85b4fe406ca8edb8e502f851717c2c703ff2b73b4858da7bd622f01db0725f4951f69d01996f47c8f018ce3d18887e9cef002dc5c6bd7158aff21a3182c1fa8d0ef9cbb4404146cd2abd8e2cd3a55fbbb1736f11d216c9a58de6c9b3bf641545e454cfb9b3d877449a2ad4d1df8d9b9d7000e5afc5a2c83b11ccfa14c9b26daec1a1b60be5183ab582f9058b3ada2fd125788cc1a09060078884b4afee4a0de5b3383e7ebe6df9d5b9dee5a0e03fefed8bd6adedba2807980d97ef386012b0af062346099f1350ee4810080511be403e4c89a38f61ea9924d224742b6f94ca79dee06201ee1f61037947526f516ff3fd7463ed619d43be1ca6414c996c0eb3936a3baa9f62c979fbe03c66e90b529389cef84b0930c35ef17c48077919ced995a885c802748ef4df77184cb9bf8cc2bd72aebbe13abf2b72d035a453b82e41b564f348ecfdfa358731bb111854e810dbdfc0e62df68ac2c5ad49de1bebc0cb04bda02a6ff5438f9f4dcf190b4355594afb6615ccaec82a9f03f4dd6f9f1ae37a84d4df46cfde08fd754340a897d7596e00e23a7dc083fa4365dd0f4b96d559c908bba40cd2dc411ebdaaf408e1a3855bc6164c08980b1c2cb65b0befa7f453965cdb29bdaafefc79bc7ec69dc4cf995d7ce384f9dd0dde2197cb5a7d6b04061be13ca237c511f8e51d21d65d0081c7eac1bb3f313028455c3db17735f06767c64f2d727bf7bebd4fe6572ab8ed83f67ff7add40a5a4bc2e36fd9fc34ef426408f5ce497b97cdf1f12fbf9b8fba9c888b59fb52b57d633c4d7a043de4f0c25bd62907b79e5170232ae2ddc9bcfec4efe1dd60915fb3c6976be3c016073e9178e62207034a5fd8b68aac4bdeed353abd0e02e7882c76e69c713b9bc17302d596c87eb42b225d6d63fd3946ce51deb409931deba9ac7d3714cd065087625bf05f94d43bdeff9689863df8b592a4275f7fbf6e0e7ac5ea1bdc1d34c04212479a4b9c9d057d5eefbdfbb31f1d9bbf8ecabc7fa43b59fb25779577d0ff8f9c9f4bdfe41d0fc83f6de31a8931130c801cc15faffddf5b27cf739f13ed7fe740ff78e8f3c0379d4eb12dcba144f88f637b7e78fccb8f2f1ff6daf304707f8ff912770a7d98f222b95f0a436a4da52983b6ffb1233fe392eb39e01fae6d3cae793c3ef12a8c9381be7cfdcf677cda71c9f5c569df38b7d79f5ef8f3e33f9cd2ec5bee338c77d4023597868d8edf362d6a7903d16c574c46daae30dcb09af0ba762156c230189141196e78cc8ef55f0968b1248809b8c474ad8eb404df94afecd2899594984cc3187877f9146e0a14cf7feba71818354535f4f0e14d32c9931055d6ead84141de98b0dc5c8396625972ebc915edaa138ccdf0ed49fd673ef5becb934a8e9ceb20fc1e7fb91a8194f1eb64325fbee50476686f91e69bc3268a5ed6be73d25a042ea96c8fae0a4d5a0371921da590a92dca19aa1944480877ae4ced88050da7c30a12d0241e3d0eb0f471d9db725ccbef073a3769e4efddf43b2635c1eff77eb8eb9cfa413012bb2260f693e58e2a3263e794311b8ac869c0aca75c9cdc88e550d5a08f4003299fc0001ebe7878f815846c2d2e905379fab760fb7f7f37cf1fc0d69110eb9dc884c5b9752fe856ccd2a4a717b8b32c2c010d6165edc78ebb5776242f69675c60946436dcc729d3ee9521facf3e129223f5179b727b31eb046f6980570e73d5b84e7822896106e07a406a0fbebcb8edb7302f61c4e5d5f7a77961a08443b8cc7219a7f77c100008ee709d37687bfed951f3b335d30cfa94cfed003b80d5a7e3d18eaa00157ea09f6ef0301f94fffad6d7d817031029f56e189f3160f84b03acfd8002d8c13087f3631541de4da59de97cf9471cb15584d8338d5bf2a67a1829ab0d910f967f7e258b13f064909f45adcdda48a2267ec2c4b8d2b04371efec079003e9f50de77252411ad0a75fe225ddf94432b8fbf3126dc351885e0f73a596f103459aa4c3da0e9f2e7a38a98f85a1e9eb40c520d0c5cfd3ef8ff6297214172c89e11ce930d5208405b2d7f5406aaec1f38efc10666f591af364a292a7f0e011581e952095285c4ff09650c103ad7d46f0a01e05bd347e2b22e232c141e2b8af6e9d723485187f6b38dbcba91049c5fda0afe18500c21087d91f3e6f7e1d2a758d5f6f92102f5b68f413b58194ce0c085589a519189ff3f714b2e54af4dae8e0012b91fe81b0c3693f1475876887ccc949ad410570285cf82e0dee8967f8812fba1f5d8c58be8ac22a52c7983c6aadd680ca213c54dfe9ee29694eb2f54a4614c70cc1c2b7689f2cd4adf157fd125a182e74c250a8bab564a7ba8ae2fdb95b3daeb242eb0eb9d5449b0f9cccb1f8689a2faaab17c0510fd013e63a37cac283b5f109f5ec0d32154822932df87830524cde8fcb7276cefc5e4fadd2a06f82ce19a598d1a1a212c744444b09f000ac6ac360e66c7d96f0b796960686db76b0b93852a0fd6c06969b66e63156551ead20e738ac9206fcbade145604a5e722201362a85dc61ce787ce4627c3acda8df23f6edac891a30b530e978c85af6d61d437964220e18d0bacab7a48baddd9cee26a66c2be5a312ba17cb3df78e3ad77c5cbdf7d09c70467f12e11ff59dad5e9c3e6576a42d201f5376d68c31e0a2871e0781003de8952150c45915df4eaa90341d0ab4f36cdd08462f5368b31681ed4fd494f0246c028a520753b034edc01209919f92127e98d48b0d2411f7947ec9951a0b8f57ddbc3cd87fc13bb0c0586669c3a7764e095a960d5c2be9e767e8f7b372b4c27e490a7e8e879312d23e18370e72ae78a0c6e73b275e98a21053e90a69b3664491f3a96129c2f1ca6b918b7e6c7452ae70fea0410613f119a6192869357cdefa5294b456c4c08c1d4f74131ad55b00b21ec4d563eae9e7de604629c350096c5062d9532de328ec3c2a926591438a41b99aa38790ad8e370e74f861425a9cb2a18da94f3dedb65994477adb0b8c484ddc607771edd0a67fee44476074124492e0b98569afc6063a129747d5c704884f322eb2a8a29580d658cfec7313c7841922f5cfe041cb17124ef8367406ba6dab7912028f1407ece2fd9f93e743b5c0924d511ee0029b51458d47bcfbe8e79453c0f871239a1a13e27e6208e1016d0737e01e07c891279a59c8b619533639a9e8818c9cf5c76a20af9872579d9057b73aa804e33863d1ecac13d958bfce371b4cc2721918b14e4ebe4789fd415fa90ffb5cab84291f7b63fab7f5a65651ed37b2bf1741cb1b1f5db6cc20628bd938d1cac3cdcdec45708028f554c70e42ebe9f26a0f9080526917920560f4a97a9b9289d7fd03f2dff405b893202ef7f2a100538333904b5a5cb4f8df2f159d070d0ef9886d562676e5ed718d22b2892b0f4c9beb29537ef9f45ed57c99b98f6ea26a06d1f2a2f2f2474bbf877225307719ec49f839c1f859379d0a12d4b0f15c0c038e121b4c59ba2ae8826b61495007953235967a1b469850a875a58885a54f833c6518fa419d3902f2281b933152500cc0f46af322b89764c74b4413c6af90f48ae208e85e5edea46c420768f1a63fd14f9c90a1b36ec4f52d872f3d36232eeab8967284fdadd9c9492f00e590def98317aebd190d90e7d5c91d1ec66e4971d426c8785f195df2cfbf56c3d134d81fc20c9a70e6b87800b5124353da2078679a8bc085b5a0a0a2eeae41f4d1cb381a274135d637270a8f1809f07cdce2ce5e40913907d81a49c5c6a4c2a33790a945b44c70a5c6f34c1f2c2daf355256a48b35554ecfbf10c3dcc3520793833213db55cd68a834734adbfbe333ea26a7d283421898f91d5d77ac16e0ef501174966f6f242c5c2d4f0a87013b2c92037214e522a0b0217037c011368048801670067305e045ccd50f4d297fc3ab8da20a629b010dc6780798ac7210708304720579c6111f0e7ce4ae810f9d438fb641a60bca48827cab5d9b884bbf2401474ada1fa87333e2e5d5d95dd34a0b6f47e61966ce53628c1121680ae121e69f8e8d77c236bee07e97e57455405a56c5bf6eaf456328321367fad68a6689f28e1132993ce404149aa0b65b374ae7613c5996c88665be849b5809ef5f06537dce7781bfbf68c56b1d1eadbdb6cbdbd2fac776a7b5549b988bf0dda179fa9a883c66d6397b272153bd4eda2eedef256d238900c52ad51afc549ebcc23d649893aefa45e4f1baa57c7a1e6dc6d15706ec8a706f03f684599fd2f1ea7ad2cb969f7b24f4dbadb926a36b401b529a48b6de915d6aba2ef05749fb7ac5a0e7afae8ac8076ba755ca5fcc0ea82ae5b97562dd30aa36acc57606d6e973bacd8cba63d4ba50cb769eb4865b7f2d6cc6ae817b6da76add86b8dbbceae67fb6b3a04635dabe8e1badda558d17f435ea256feb1357b2d0ddbeb90a91e74e2d520f5b882ac5f6afbda085e7d6f76d96f916dd760692db9b3416d6e7f5f4de7ddeb46fb014a8623ae5bcb9453caf21064b4923bbe2458df2e9cbc6dbb52fdc83bdda5c57d7c0a89ac3aea266eda6757fb464acedb82ee069b56442863a618903b7f3c8af7f5a97efacf9da9c059477bcd32671f6de7b8eb27a45631531e1a8cbae32d90a17a7b9796829356aaa7556369526db64f6f8194e308337d4c490a63b59877f0afda86c3c6521b5252b47fd3f5eec1ff24cf4d2ecd3ea823a24d9a9768fe68503429454d04224d87e3f6329a8134cc34cdd238d254a51146b391c62ccdde6864a404bc5b74f94eb0f711f1fb41e33a421cbe90d8406667df98b21815039c74018a40f77e2f70b4940e000c30c000030c30c04092f4108cc94dd9c4f85038529c32776eca1e685c4ca8341be6488ee4488ec82801d8073008b9070f84b55148b337a3d238c51f6c3125915cc7114b7a2e7cb04dcf76a7525d8b215a3b03173de08207cb39bcecca93512ccbe062077f56554e891d0102173a5853c339e8ba895bab8f8b1cac5e71c633ea4746399ec0050eb69334928276a89cd4728b3da70e931b3c6f3a6fb6d8349c5c35fc4b1576d562ff09299bf34e7948d3628df9c1d7a60fdb79a653c20066b14d464c21ff6294493948983b0059ac177a9562858951b5dfc00a9e246100b1d8d3368a551035dbc8c362c92903ad6893662c7c5eb1479fc418534cd4f4ee8a3d88e58ce689137fec56eca151e42ec24a9988ac58656ef4bab38a75ad924cca70534e1ba28af5c43c83e9a62016592af60a692dc7d667544ca858a27f32698834d1196300a7582e837492fff9715e30c84cb185b8649f746da5fb522cd127c9870ede17a3a45892a314f22a2afc3c8ac5d18c839c61e3ce1051ec67dda126b733e843b1c5fe50d7a892a3ad1e147ba6e9a459d13b3efe134b27c920d9e6d4c61c4f6cb115929699a39abd139b4ccea88aa590d2cd891d39d214fb73472bdec4d231d75e6dc38fb8d1c46a21a778396991e39958e35c945cf4def412135b70142a2f63a410af4b2cd9506338090f41a663893d6c2bd4655f6cf4a9c47e1a246d4f37148d29b14ffef053316efe6826b1c9a34fc99277fe4e125b8e3b5e9a3a3e866524d698aa217eac86d12490d8d383e62eab9a10b1472c9eb45375374b627247ec29df457ffc0ec79d466cb3a313ba4c26839a116b646011ebf4518b58344e8e167dbeea56c41255f374ce494e1e2562cb1454520a95a245062362793c69334afc14fd1c628be84b497e3c65c41862d3ca9bd38c4963bc1662cbcfd9e82344eebc10624d07de719b29bb273388ed73388f96e394e72d881da667c57c1a362113882d3f0e0d2e59678c5240acd628aa898507ebef0f9b8ae69012115d8dd40f3b92aff1fdd43321df873d77ffc78bb497327c58d6247273c829c6d57b5827cc4a8a0fae5356f4b05fb2c85fd1e2cd7e7958cca2414fc44ca70b0f7b64cc3d2b962e3a46de618be9142455b0cf0d6387a5375586b813317ed661c99293e8516d2c42e8b0afc5ea49c9601ab7396c65eab3d5b37956a11cb614ff69e4682ee8270e5b74f4d7e9955d567058d25e677e461807d21b56fdca706269f7064771c31ac5b6c1e7070b936fc3163f5c75a4d01ce6c38635d4ca9a8510441abc86551d9e5fc58b0899aa618b7849cc3c93c4f0a5616bbc69e34f6af3a5d0b0d7858725df102583ee0c8b57a52c9b8bf2a06386ed1ce4fc8de7fe6725655822440e8bc9525ac747864dedf36a46d1730ce11836f99c2b91d7728c9e1836898ff4d2c2b05ffcaeb3cd100c4bf4b8dbb91c348c887c6149b91e5af0bc8e83ec852d2de3f7448ed61f7661dd90737c0a971fc386716199b58c246ffd5a4c6f6189f9f9adac4891662d2c9fc1a353f4b37c3159d824fe32a365d5885758d8f7437552db8b0969bac2ea31e31bc438fcffadb04ea586c8143bfa3a55d824a7d48f96629a0a6b9684fb18f27708eb14b6cdd4f8519f583929ac6229a6ad8fd5319451d82c9ac5987cfac6505823c5bc5a9de27dee9eb0fae519ff3cf6d3204ed851ea86e4d13347aad1842d3e88f7860c2c65e833614929f5d9cc2d61fd947c924e4759c38e1296bfce276b99327a8a2761871b73ee67cef83c1b242c9df2e74a6a0e695b1f6195bfd9799c492b3f35c21e2cc7d5db1025c65811d6181ff23ebe30310320c2a69df4430507118f3180216ce750cdd25dce903c6605001f0c40084b4ccde951c8e4fb304d6c3080206c99825f8750b71634cc180c00087b67240b0d334c516921565c30801fe0b17a16c56f2e52768501f860ffd831554e36ec3e098313bca0044616d080052cd083a52a78ac0be5fd19110910f301f0604d3139d5c794ca1b1b18c00e56e98719ff3b5edf43b1f00074b044ddbbdec93557f3a062c00072b0c6ae8aed54d658cc2b296000385833c85caa9e2feaef7e0b01d8620b92efcee34e7b43590501d4a29c5244a5ba9fdd0649a4c5e661793ba9744372ce2c164fc9a851438e998eb2d8733d929ca5c462bdb1a8d1aee7f7d1b0d83be736469f324dcef68a3dacd84cff7db4fc71c5dec993e30c196ef2a5157b5dd2f4390e7ea24a01b062cd0b61330e3a6b6b354100abd8c1d98decd5c6beb807025005298455ca65d6113bc33f223f671f7755ac1f20811a5710402a16bd8c5d1fd6111e6d470800153b06c93e735eeed9afa7d8fe613cf851df9429a31210150e4c08c0147b68202226d1639b81004ab18658f984678488494652ec297e8956ecdea4f41c254200a3582e73671cbd9362a2d8e6f19ae5c91c194ad825a038104028d61c694b233c5598944b23080014abff75dc581f63e34c7d62871fd2a690d1c396c76f0802f0c41a27657ccc35ff471d017462bf4d277b913b450af906d040009cd827a5bd8679bdd6bfb389cd827594de60396b62958af41bbd31967134139b5ccc38d52e0747a519c00480896534798ee80b89ce5f62bf60d517c7c1e3902db166f034899c3a9ea9c4f229a3f50a33238fa4c47e166d22664ba366fc2456dd9897d36c18adbc24b64edde0722327e46424368b1262e8dfcd8405129bcc6c9cdc9c525aed114bcc94e3e7c94a11a4e388353c53b86f1c331d6cc49eddf0f2559f84116bd5a5fc6a8c2e86c917b158caba8dacb45f5d118b8d39ba5c9339cd89d872e4fd903ca669463622f6fc293a089d6396fc436c517a2eacefa746bb21d6cfd8781132830bb175c54bb2a1e7f2a398d85c86aab02476e4a944eecb6693c744626f9c325fa5509a92729058eb6b5782c3ce3829e4113bca709169c1bb72c4e6bd392aaa9ee58fa9117b2eafcc9733afb467c40ee71ec5fffce395c4178bd84f42f649d5e667d02b62ff46e9e25aed44859888252f6c52c913e47b4210b1ea783a19c9cb4d0e3bc41e3a963f9da5f1d80a0c012f0cb1d7c7888639aec6f50c7ac08b4290017cf0821074069d3744ff0bf71d19c499d1934cc8d9a009a299d3ffcf3c71dd0d922f02b1c3b988e465229f937901883106267395194558c6feb04cfc89de4fb729eff643085ef4810c2082177c58530ce7b37165ff177bd837fe4f3ec6e1fb347da107cb2b478e9ea91ece7ac5062ff2502ff0502fee502fec502fea502fe8502fe6502fe4502fe2502fe0502fde502fdc502fda502fd8502fd6502fd4502fd2502fd0502fce502fcc502fca502fc8502fc6502fc4502fc2502fc0f0e20b64000dbcf0c2f2a172acd428eabd79d28535dec6e705fd92a0b9bde0c21ec3a78ddd18a768c100bce1c516bcab5a7f184aa3c5e883175ad8acf16e46e79e3c39a34ef1220b6fd97a46972e7e6790941758d86159a6647193427d71853d84d3642b77aab91e6965786185256318bd8918751e9e5a5c7851857a41857a31857a21857a118536ee6874548b7c500f0e88e10514eac5139e941c27ec45e684aad0e08513ea4513ea05135609a92a5ef43d0619ac256c1b695b19f5f983d228610b0d07d11e361ed36012b61871b166fc3c434e2144c10b2414242c626a4a69c0b020bc38c2f22972c80969a9f2528cb0c68eca088dbe1b7f0c042f8ab077a45daea94df9e321c20e321849ad9df0a1ea10965c7f319dd1431b0b85b08d4cce18d1ba73f21684cbd16390a7393768107901843d870c4fed1c69c3bd5e011084173fd827923a1add98b124ed83ad22d659c6fcd5e746a958e0450f76d8613de3146a37c307bde0c1929aba2bc17273089b172f74b0dac53cd6502c23fca6022f72b069e3741da77b1f3e2f70b0a388bdf1ca47ff2d960e3653377f1356638b35e7ccc9528cc649cba9c536961ea2670e52565a6ce1e2ee4da7cd93d167b125ffbc39e4b0ef9c2cb6fa8a1e1de5fbc6f8582c9949cc63fa32b058d5f16485af743958fa154bd429d1f88ee89d76c51e341e87bc39e297712b368ff89f671e27ad342bf60997bdfb619373b58a2deead651037373343b950c5e239ac3a242aa30f2717a958357ec8956fe4eb2ec7052af6d8d3f8a2a7f8c81cc2c529b6e05316f323a5492c2e4cb1a4f04d97eff62368b828c536bb670d37e6672e2e48b184757f0e8d8383da70318aa5a2996fac1c8bfde83b5c8862fd0cb99863f4b1acb908c5a2e1334692faa74a5a09aa980b50f8fd31993a45c98ca201179f58aa3f87adfbf8b837263db14d03ada0567dfb28ea0412a3e45aa3f19a7caa800b4eac76271a429414d12c22e06213cb4d58929edb1c74564d7c9134841815f17c2c858b4cec69e3205459c8517321e00213ab782a47b77ea26a09b8b8c4fa99a26294b272982516938cfd9b9451644f888c6460a5035c5462bfd020c25ca68c4105c90d5c5062cb920e7115356c672c3054868b496c7972bc72101f25fb3009b890c4de91c182e594f2001791583564a3477664185303123b54d1b8d319573005e76071808b47ece57513471fe71ca453062e1cb15818ad8ded09a9245ce0a211eba47675c8371382c46c0b5c3062f3bebc329d16aac7c01858e062115b98b067d2608258a8cc800b45ac61977f53374d83e02762cf200e43ba64b229260d5c2062e92cd19c539a8adfe8109b99590e773bda491a86d8c2d97a66aade94d35c14a29d983eeaa6a7f16a3ec00521b6710c32a58ffd6023c5c520b6af103d5d4c977f628a20b650296c08d1602d272b105b4afd1d72376812adc005209620eb9ffad3439acdf9c3aa7e93c27dcc49dcfdb06a72d0931c66147de43eac391afc665e48293c940feb855a8d279b1bac967bd827a24c8ef09b52e7500fab6c8654319e86342979581d4647191a050f4b7a7ecc243d922be7eeb086901956bdbfa4347658c3d46cdce88bbf8cd46187b6b2a923626a439f0e4ba3d03c7d7927e4cb99c39ab4e35aa31cf27f6f725826548809e9710656c761d595b841b6c3a5ba101cd6102be49c87f3ea9cc1c51bf6143e8d9227c76949e286fd26768a1b53e554ab36ac513958cf7a8c69ba64c3be8e342c23871d33115cac618992a3c6a7a68b9a09176a586634dc4e8d75d0bcb9041670c48a4a21b848c362b11e6a6fa7148d47c39a61dcd0117b2b3eca9f61fd0c1e5cba8c4c0d3c66587a92dac78cdecbb0947a7dc6b5197a3a26c3ba8dc643649c21796fc6b0249d0cacf1c4dcce9f1896e9afc8d0517a5c6a18b68721cd6dfa94cf28605842e756deb9c9571af9c2d259d13363ea157b9417b69171241a55a71fde852d7a25cb351d323a8cb8b09f98e789d754ecbf854db662e8dd8dc955d1c212267648a6130d23368c8b2cecb97208d1c9e373ce1f175858b372faadd88d069ee6e20a4b8a07de203abcbc99e3c20aeb98e444f0f835c9204ce0a20a6bcaf1b34736a5e9880b5c5061cb86a66175256b649fc29a7b213ca8584afb56b05ae0420a4b65a8d2d892bc3e7d1496ef34223a9795611e14b6c9a12fc5d2586e7f9eb05a4d4c15193607afdb09dbd926ed24393c8285b868c26641a2986f48905cda15b860c2e6193fb499cc28531070b1842583e3306b8d66abc40c70a1842d6a45ca4fadd87730e02209e3d2a47be9636f6908097b85209e3ed6c774a40160075c1c6149613c82580e0d93825c1861358d7591c353597ae4065c1461cfb00ded715656e8f1ac806a025c1061af0b63a69d524c9d839407e062085b4671673f69a4bd50a910d6d4b1a6e3e92f723d41d824d44f3a75b01918a85258324a329b7894925aa2b04a695fcc8f989de65058eff3e78319f97cfe13f64b91573c589c65b813f6dc11368554088f711396bd4a96730a368fa34c58befb6754735e9e6e097b7ec7cf65a4834cb512b6d459ed10299d5c4e1276d0e93685fb50e670242c16bd443d66548efb084b468ab5a912c343d508fb86475b9188d93c1661f15a959417379d4d84e5838845afc72be121ac953a9233c8fad09810d6a8d48f4a9b33e21504373fa6b3fede060361871917bbffc256f883fd241c75d2eb94d0fb60b14726ab39767ab0c4789cfca9ca18c379b0c97da68dba31add93bd82ac70ca741469e6ed5c19e2c884efc1c7df6991cec99318819320c7716ef0207db3eea1829745646cd2d76b8ddd97f91535b6c13345546ec52eeb2167b6f95f8dd55063aa1c5aabb9be9199ed1513a8ba53a7ac6a0438638ca62dfca50a27a3319e363b16e4ed2f8bf79974b586cc15323a6aac4d7af581f5e9fa40861f6b474c5b6c9bf2706b38ffdb7629b102e2b6ce390629c155bb2ce48cf9492735ec5aa1d344fa43c8f3e46157b7d94d8e5302be20353b1a4837c3ea6531d542cfbb9d3666995e54fb17e63144e6b2d648a4db174d9a5145243de902ba558faeed2feddaf4487147b44889be442f2ff1ec50e52e88ed1e6b363288aed52a331c91131878c0bc57e5a0e3c7badb2a1a058247f98d0e9b4a6ffc41e3f6d6e9f8747517a629f78f91ce6dd9db8134b1e0d936ca38647c7897d2e653fe3fcd9b1914d6c2636f9347df25c1f4dac9349fae3c7caae9c893d4335cbf033c54cd330b166dccf54c9acd2f297581ceadd86501a37632cb1868c42c629a7eeb0b1128bc30f732af9e1c3a828b164181af41a898af9935857e3ae4f4feab623897b63e58c482c99393c497ca94c10125b10d58829653f0acb23b64ee94ab324a59c3b47ec20ccae5490e8a069c4be31475c6e98a09d316299f3682b9f24c751b488cd51f4bc1d76aae147115b4f456914ad58df24628b295ac7cef48e7145c496416ed4a3f986fa217660f1443b830dab1862c913b3d4519fe1652136fbbdb947bb123721d6db7c575a9e31ce3288b52c1f5c70583d2b11c42236793c59f28f260562cf29ddda8f9adbc6200020f6dc5339ee84a4842f0504f8c31a4472ca63182c36d6882820801f56adf8fbe9f1827a4804e8c31e529a92e80e153dffc787fd728c88a8d17276acb987e5441ed8daa5c8c93119e080431510400f6b83863973b2948b3359c1aee0d40a089087350331db6ff47d273d1ed6c91ce3a938749462fa0e5bd20c7318bd7810376c87a53f83b0f0c02c2dabc32295a7f378f2e0c161e8b0df23edf9883bb38f9cc30ef761c80f2f458719ca619b5f4726571c169d471b1de4d7a38dc161f9d1a0d171e3a9f4f5862523b193947018326e58bec2f1fee70c2702b481006c58d2a7983915b373e67c0d4b46f12e4ecc1777f3460d5bc67445e7700e3a270ddb754e957416cae244c3e29da6fe3f234d56f40c4bf45cc8289c4a85a419361ff390524f76862acbb0a7664cad861b8f66322c2164599c1c32395ac7b07e72187dd41ba4460c4b7a1c436a687a3a5d18b66813f9c14d9a9e0b8949772bf4438a755f0d08f085553b6e5cdafccf70255ed8fb814d88dd4697feeac2fe1f1c6ae81835d265b8f0e438aa61b22a4e7a45802daca3612b33109bd50e9b80005ad8a466bf627bcda4cf8293ee3be4be92241f8285524f25c5d6861c4c2f812201aeb04f7fee8a10cf2cd7c30a4b063124c5c8ce485903aab0895a88f6b591173e2aacf6f847fe834f76f45358eff76394983421e191c2962123fd1c2a5239f6286cc143329114cb7763a0b0658ca3717ebac14a9eb0546446fb9ef355c9096b47c41f6b7413368b95a4313cec0e1366c26619e399dc5d9259c2faa8635df41cb5f752256c69517ea1fb1b3992842decdfa84c871824ac41fd74f7e25474461e614bd1989e6291c433c27ab9b619f9ec49f6a508ab368cd240d46433ca11618b08b77e5539f1c14358255faf597ecc381b21ac55b31997cb3e856410165f991cfcb34693830061598b5a1a11828ac5f68325f372c48ef938a6db074bc6b0093ba9eac19a23523a5bd3b8491e04e0c1521fa36f8c6e340d5276b0ace6aec7dd07cd1322800ed66c104fb3d14ace754a40801c6c31a1a27d8a7a3d3979306026000e76b40ec4b626a55dcc2df6885cb32899c89d1c5b2cc1635087229551d35a6c22a2417c76566d34b4d8c29e5df44637caf32cb6901986cc51c62787882cf6c9c03b25bf903146192f62b1c4d9959cf31075ea7b1ee0052c96d0499de78fc2e8a69ce0c52b16bdb1ed9d0d19a12bb6b2207e151ace448c5bb1a538a98156d27b6831ac70e367cb54d42a576c15ebaf450e9e59c9c65755ac1915526f65bcd4eb52b167e7b1cd7d5f1319850a4c62433ebb2fcbf12e2f78718ae531de6492ca53e8208d04bc30c5961aa941374dad525f8a65335aef65101ea7ca21c5b23f7e8d62c6fa34fb283649323927654a19ec2c8ac571a790ba43054fba09c59231975898a6c66c10144b3a4df9fddffc28fdc47e5a7b9ef3a041c48a279633c799835f65b8ab134b7cf49f96b3b1260482179cd891da6c4862f62025b4893d4fd8e99cfb63ead581179ad8372cffa5687621a2cec45e77fd206a8e11c3b21798681dd59f453c8a9192bdb8c40ed51b5850dd4e912f81a92516c965536a21ea33e354624f79fdef618e617d744aec1faa0d82d787eb9127b1cf550a31010588c41ea3825c2689ae1421b14dd8d8f71845ed98378fd83f9a7c4efcb5b8153962c75ffaa0e2a5efe95823b60bb51a43a3f50d1523969cf03135ea71bace28c022f631eb90c17cc507d128802216cfe14b93c4cc8d6e7cd74ac4e6493fe78fbfbdb12f0022f6ab465e96926b35590538c4e239762fb6f77f5302320342010cb14548d13648ce552ad113b4915d010ab16ff872d8a11fd34cd0080520c412c2544eda5bcbca0c628f513f459e8d594c104b9f4759479bd00c0dc416d1e3c5e3cd40bf7c40ec20676955caf9e0f9c3feb395b324658c63ef8765f2e79310e27d5852ce8ce50df34d9b0ffb89c649fd635972ee61159f508f2719ee468e1ed6f4589debccb0cb3c6c1ea326b34c96f1e3e061cb18a5561da571ce77d8d287d431cc43bb33edb0e699e0b0563d658c5287ed63b8f29a4c79e0d161cf8d9ab28fa1e573d8c462ea6bf43b1d3f725863c81162de1c53104dc761f3146737711bf8ad0c87255e06cb93fca16dee0d7b589c8ce3ff1f3ac8b8613b4b33f3306f8cdb69c3966fbcec57337c9e950d6b45b1e0b82c3a8390af61871bec92673c195ca96ad8c3497eacde4a9e7e1af6cc2712396e9987a06147b91763ec4b7cf233acf9b97f53cc67eb3066d84a67665314310daf0cab8318427562b4469224c35ee9d1e5fa0f1ee98d61294b8dafa2cae6df500c5b7aeeed680d348a61d876f2524a71b73423c1b0c4b14c91f34186127e61eb18ab1cd269ae9051bcb0e4bcaf4fa133fdd42e6ca91b25927d9859c98535fc1e58448ca762dd16f6c9f13f9cfedccdaf8525a57a967e3dc838ccc2121d35ea9779ad51040bcb8d7ee54d87392fbec29e6ef352f08817a5b1c292c3dfe59031ee8cba2a2c121262c50ce3a7341516559dd8b02a7debb029ec279f21c955ca3129854567262e69da78f551d87bd31a46fcec1a0f1436ab1026de4e88ffe827ac496383aecbe87344e5847daf2704cd97bdfb214d58377ed48d1c1ed7c38435effa75e5d461fb12563f4d39d2d7dec7b10ba084edd66185911e89a549c21a0f2be588de196541c2de9bd3c43476319d838eb067e4b8def810f17c23acf593abb69d32132dc222f1693f94cd851c428455e34c63d829e6cd558021ec9fc3969ce31424e685b0a73c0a611fa514334a4a00f5070508c22679534c5971f307c26ab1f6209c69aae47fb0c3cf9d538303c765fb60994837de1b638a18d383e54f25e5a4176dc4e4c11e3e03c9941fc69c961d6c494358cd9771c88b0eb6e0a7e5791a443cece460318d991c0b8083ad2cfa7967f4f8f4fc164b489d62781431698bedf165e0706d361e568b3dc6b9dcd7e193efd1b4d826e5f1a54cc74767168be9e730f9f8e22a228bcd818f3670fcb83e8363b1c57dd0682dc48487c262f51ce273e47a143b0d19ef935fec5db14f6f94fce763e3e8562c5d71eb3be5ac9c33ac58d52336e6d7cbca5bc51a529e759a9ad260a92ad679e81b671c5e5a52b1468b17dea7b631e4a062cf18c474a01212737c8a251cccc3940d7cc492a6582aa246a31c61933fb0148b4ad877a634fb2827c5fa20dead69c6b136a68c62998dd330555ca6ceb428d6d40f45c2518ce16328f64b1d25c538c72878a0d832f8ebba0f25954f2c11c3c3127d347a694fec13227f8ed5b8428d9d58367aa563f38414d271625f8be66bb38f1e649b58d72ac42a5587f517d1c466317ce7ba718abd33b17aba4ba121c7a8d060624f9efac1ae853e19ed127b28eb24759d9ad2384bacbad29f0e1d4a786895582a37c8175388598da1c41292cf2fc45ecfcf24965fe910d29c443a4f127b0619c6698e6b16b4486c21a4a60cc4624e9d5190d873cc073d62c7d59b5ed628584e912376d8e14f24567e92bf11cb4c55a37819547d87118ba6a69e47513b27bc8825e547e539b04a7751c4ea284ab88a0fea3f9288ade299f898c6fc892162c98c1aa6eb6f1079691787581fd8a674311ba5dd8e7461886d356b4e835a47489d426cf72066a3ccfcd13d21d60f11f927a7030d9d412c37e1a37e1a47c98f16c49e2afcf3f4978668e140ac123a55c341c80e4905c4f6b9719d77681edfe41f56c920c5fc8cb94122c50f3b68a076de5b13afefc3a21ebd2fe3efbe4cf3614fe933bc18be61a4757b5892e7c6a8a3580e23440fdb68a6abbc0b1d9ab63c6c56a9a1814d928d4ce161ed3f992907938d12940fbab8c38ec743d838cde9f31f69873d644f44688499fc02c440177530c686f419ee67fa8d9a2ee8b0a31027548c567fe3780b2ed0c51cf6241215c6262742812ee4b03a38d33897c2c4e8931374118735a6f4aa469d69d204ba80c3529772b424f2fe8468822edeb0dfdc67dc516c37bc1c41176ed83a27d8f8c395d4a9158c36acf761dd692d86cc0b77c1863d77861a2d5392da88ae61fb8c8d935e12cda8aa4441176a58ca2ba5c7b421fca74b118140176958a33e3c873039775427812ed0b04591e09f7121a64cff19d6fac9214e7e3d0ebdbd0b336c6b1bab72d245e4c44804ba28c3923642ecc88f1692c4481fd00519d6ccd121c76610f79592822ec6b05fb80a9e2462d81cc6526de029c4e08761959afcf4ec898d6930ac41263783c4b81cfdc2d21d1b62e8993e4ebdb03428ed1829383a4d17d6ea0ce2e1c31f49cb736111f56076e15b96ec2d6c65bfe621676861cf9c7c8cbff291a659d82c4a08eaf93fc28885b5cc634ec78aaab17285c52ce5e15c8898b7c2162ca32ad38661669d2a2ca91e032fe995be9e0aabe455654fe5a89fa7b0e9ace3aa08c7f085cde8f386100c04838824298c824016c7a1fb4351602c1a05c22031200c12020161201808060281602110080482824020200c0c84435834fb0d1a21065d16a0ab16743180ed32861cba16a0ba5221bfb3691d04b8b731511d674d4c73558f9b3d89a2d8a76d2f7c998b997cb1c0d1133f5e2266e49d02e93ce404276f668c2b60f31bf302a151f3ec02db6f71aa5e5c0afadd78bbfbd481069f194f861a0078a6a3aae6ccfd23bdb69e4886dbb297e2787fe6ead516ea82c2ed5657799beb8a2bb3e2d5816e5b7d452bb76aebd5ab484129a962d051caa86a2aab1a7a83ca5451f556afb755a3ca545315e8dd8a55a5caa95caf55916aab5ad5e971d557a14aac1a3d5bb9aa564115d12beacc323eb1f1cd9f81a4a765facee9eaab486aaf7965ba326ea1cb3406761d42fbca6e72ad783759f263a05c4eecf44e7462a683b6949252674e97ad742f254e8fb35336f3523a17a652e22630a935038b170aacbd4bf4594fa589482e55cfb239909b5230579252cef3943859d7cf4acd733675a935f5f23af5a6424aa45e5e4c952aa7d49411c8dc0cd14a802d61b6323fd3b39cf47338af4e456987d3e5b402eaea15736cde36d9d32362305a075eff7fa50838aacbf75c654bb1d4eaae0eaa569d57a2ddb183aaa87b958bd6c68548dc6cd40f31462239bdc3fa5b47aad6094f36274c98b13643608ca733bee8b4d32c50574a631fc0ed917d1e747f973a9437d7cc6577fe6369144c420da4a8b4095a0f3ea7bb1202485395ba68143850cc12d955d98e773c6879953604c24e98c159c719baa911332453cdfebb2ceb9277afc93d1d13ba840ee46fb20745a2a56399c3a28dfb50c858738254a017ba129447c5d311468b7dc07a0a279d6fc8a65126ff66867a6fd31f136d48d51a5a44f5e6406117a2c6a39f97f08570a0a18af8f4886571c06c53c4c82d126d65940f91f29c34b5c7cd981b6a15ebf17473b8b5ed9f42602bf76d43e8b7bfd60ece6430ddd642e2d6de73fde956d37f9ec9862ddcf17da1bfccdbd7cdddad7da19ddcddecfbdbbd6dd31fc7e9d7fd6c4efc6278dfd8d9f2611bf4651b6e129d665becafe6afff37b6a1b41fdbfb67b3b4011732be5f6d6fb3b4fdb2cb6fbbad7633775bf7bfe6b295f63b5bbf75af66b3f576e97db66ccfe6686bfedd8c869b0606a45993f3db727f9ae946f52123db72fb9ae1afbaa3f96eb1bd3d9ea6fdc2becac689a7b7fa9b94c5683dcb4b63274d97d1e5c09771c4d3d4b6bb139c060df86eb1df1d8a8295306e40d439cb888b3caa80c0d957bf77fc4f52169895a107f8ec1588c8b03c477b9f0118f346cab16f4d0935816a30294a0e1113f8726d7e8449d68a8ab9c32a54365082268a6852e3ad57a2428814954f44fdde4034c0499007565c038fe886ebf044a3b06b510f67db6d44277b5c0d780950f04298b6c82a70efad7c25705c24c3f9d25e491212d6153f16e3dc8295182474e2bb22eb8f29ca5472535dcf916e59dfbd3fd3f72ca8781012548e6e7a21e1eb420af4efc9df6c0c3d12a78d3b19cddedce79e6836fecbcac9d8bb374bf5f604f732d56d8d1b2844d7e31dee161bce77dbdd36ae75b14b9e86afa6f4ff2da01793437baf6e2a0fa063f925e7d105d0ca234c108ac12111311e7750bcc0b03b1345aeb79d712aa5f3040ac75bd4beb9a4f27505301cd6cd128ee41b191cf8b299d1ada614b7aac42adcdee76b4f80dcfaaf4a2e8cbe60e97227e2b0d970d7f679b3dcd45eae2bc7d9352f5c19a6625c1b3dc77c0ca0dea322304fc777a8c36740080b09c5e38afd9796b70ed6558f45a2c02208001e8036a00b68346a4bf7386313f4fd62ad64fab6d5c551c82f89f2c8ba348bb9c33d4d003c860dbc329cd9d3129216e377ea358cc98cc5e907452acd9a0c6ef93be2c6a7c6681415d1d0b99647872404210ec6cb751810a17e1484ca8875fba04b7d47b88aea9258143bb26a99476f711f160308bab7192e909d891ba05c840e8e5fad04a82717dd2b788d1aaf0bc1505c1f301946680d77193c3f8f5378d0f8d27c75fefd39ca21e20a81580bf480c9b3a316a70226ae439c15e63930c6a535c9b858954d1f111493e928dab30995191637e8ca3f14a1d236135308e806cf91a3a48ebf97874bfb42b1e05c242f348bcc457a7959265ce2179925e222bf4470197c51bb6c2cb24ba44bdce2b63cecbae67393a0921bf0df27fa1abd08c484b62a2c3be92bfdf21f2a676530e47ecfbac27493b9a1f8017cf34550123d5285fc13271dc089f395b8727d589f45ffdc51df4671dfeff4de1ac7e2aa7702d600d2bc94440d7a452f5f76a12b47f6511291f5e83e26ca81cbca3aa216179547f7db8e96b1b0cf71b2a6425e800e75d9aa4acba6feb847e13030c17dca00e8cca28980028762bd4700ec6e948acdca42c31c965f1449333e1d1139c39c44693858443bc4bae2947ff5d838a9d716e87519c58190976b711b9a0085f12fe872f9956fd83b487919ab1a78664fc7448045dd95837764b7c9c4d26308b3d504c1e2ddd5f0a8b33d8020f6c06c555f3cdcb1a0396804fcc01137b9e14514fbf9ee9045d22fdba893e3b3724719959425705a48c93a7620d653363f2dc2f18423f8318a1ef2f022465ec76f8660e7ccae47b2b00d8e024382c2094aedf7cbb8e421d4a38d047b58e23a2f67c5f1104bce8aade34b091a693dba10076962cf92920b1ee06ce381c0c11ee1c6962f840376eeed2d70995f6aa2baf2cd578dc1625ba6873cb3514038bd33c658451a11229aaca8e1609c4522ba9a7ae454972b862f54e128c761a4a2a238fffef285e87e286511c18d4dc07f8bc6f40af6ac296cb84970ceaf08ffdd74b39a1b207227f17324ff2304add083d88cf5b5f5eedac4472bcff48a9fcc6495783dc200b35916826467e8f274e6823799105a20802c690b764824f77db585a91969c89491981e5d3c71f40a23f58d0d7b74d84b1b0b8cd9462ba8010e3819b0cfe1d81adfe4a885612814290634c66ff13892225ba49b7f15beec373006a4b4cf80dc3bbd3f5e24dc2cc10f59c4e089c3223ce647074bd959d2f51779709d4e5b03d29470b478d5e2060a21c0cd4856babe7d5c303e974a41ff2424b8d90868c97a0535dd38eaec3852238727254675cddc3e66f43614e6c2a9198cfc4ce444229e8e0b71a804879cf3c691935040af919a1e8a8fbd2738694632a11f50c5c5615174035283511f51fc6ec9559dec6ac01a6b346844efe7d4dcc70c65c1e050c793b29760500bbe1c26621ecb61fcf434e8882ba13a849936f5a89ef89d5ef576dfe954858a5c79e61bb50d63ef908f8d4df55130583a5420dbbb0230d16a4eb9d056cc6f4f67854ea046fe344a71d56ce513120055e45055b1c8021ac523852a05ba82e5c6c2fc1b44870f05ad22fe2c44e14e41a82da6316c9c7a9e15fd16c3a410c1d584ef0c0d3d823248520a089657c27a9caeb3062ea82e50ce56b030191bd144b4305a9d719d2d8807485d36eddb4fdb0c92ce977b4507698694326e60550a411fada6a9d6afa8cce543ce8a996a9d2ab56a72e5af953b954a159a95a4eadf95931594420a9c95eb3fc6c505d2be198b91bd711a4f32532eb4e72df87079f9e1f0f149effa15293ed752aa275b8369be133f88361580e71c88006dc59dbd396fb42e490566e939fa556e6f92e5b408894cc98912e1cf488a33b64ca29d8409c8a12fac6b0c0e9393705c18ba1fde28672bbd0c6f8a3b428da591bf74569360f2adac3c79b42ed12a1df574e5f852e8fe791db7f0f3845c203342f145b0dba088762ae3b4f22a750a4e1b1905057d969643ba9004c898e7d5864d35a37e8a44af797d859825f5328117b12542e99e227a38d9db95d6d72bc8bfba208aafa868025cfe2de1a29a05da10a8a9292ae073ecd69818852ab8aac0fe632649eb1bc5d6b022be9263ff0c118f41ef3d075547f239b4f9e5b4ba41dc8ce50625a25e3c106d2fc0aeb1256d51c8b331e27b98912e040c59f8d8cb6f3ff67ef9be8029bb1a9c60ecaef3eaacbef24b8684c717cb865219d2e62a900c5255d67402e49c36cfa8de08b816a01fb86f824cdd2539469c5ad680c731e3e505d4a11cf8ede2be376562b21c7762e9e5b55383673b6819b50655f83132d82a641806cb3baf304a762f5d003a86706b089a09ae1320109cac2d60ff27d7edcfa08ec027019e08345ab3807818453158c062762dd8c8ba625ca89168d03f92054007edba73978778a01d038815ed6f0cd1d00a41880d5f108dc8d000c137098d1081b8d187638802ed0f87926488d7a004977101b79f0ee79016aee0fcd4e10c89700bce9f04d791148e701b4ae0f8a8e112ce500d8e8f18aee1082adf1a52e1182ea1081790f6dbc1d153bf2d640341aac913e36013b25e8c88577cf15007dba70d53880677defaa470f50dcd08722d9c201b17e01cc9e116e0a1d1fbdb15073510631ce4dddd63ec2563f334c6fcb66df297aeff1aeee0bf710eee5021f504141c6a234c48cf1490cc3fcade1e491716dace2fb672a2aadbe46919080522135609aabbeb814b4c2843f9032cd6a91ced992e61d02a0ce91e90826a0fa90d364ecf3e4a77f131d7849ea7b2976cf61cd69bc852093831512d4b8d9e6298f37d26ccf40b6e56553107f4a46ac7c0c2a32787874df0c0c2028bd005f39d3e15b263b8475c617b0508fb008667b59d9a5432339795f187a1f9ef09f228a98d41721d004cbc4599ada7e8eadd2f3e963bd04b95059322a09a73d30ad28041e184c305aa04315766e1a4bb0b43f5b66d5e0146a1545a0cb989757c4053a11f95a489ed2886731849082b8456b3049c1204588204460af284f82c70dc4561c05ab1dd4ce53444cfb0b60b77c2fce93e54d25771cca93a98b8b611a653cddc5388612c9d40cf90b4fbfa6f33565d33986bd1ccf99d7e1e529606c31f2a95c99e7442741dbef535a0c2523f000dd503023a920363295728dab391d20b4b6888cf33b1a38f0d2c966a5fe4f1688fd3cc40b6321d9aa51c2f53671fc82d182aa63a4156af1ac00a3a3dbeac28ce1fcee9ed9c456858c04cfa06ac87ce3009cd317e6ccbf94adfe1b99ac71ce5047b122a0d6c15d7af6afe830329d88d4fd1f80a46ab6a806ab0d41a19f895419af21d4a96e7a6df7eca45c201a63ce880de067062b8a808704ab06bcb124878106b88f0b3b48c58af5d87409a904bfdc3d2aaff46162b6b90b4c0c55c64a5229e008be4ca818015a94355d5298aa2eb85c2279abe539062517b4a4229a62276747f2ee8a2aae79ab221500a4d784b714d4a00d98c64000ac2381e36b0b4520e0000000000000000000000084500601481c9becf9abb4f49f9b87bcd59c3c5ce5e72e726d9327b4a0fa5e14fe94fe9afc501c401c601df0164924607b4cce272ede5657d171cd0ce517694815d18eb7c039aa71cd2fd4c6a399935a0e55bfe646cf967a2cd80628e4292fc9ddd139b02037a380ff394ffa7244d01a88462f12dc3ff9d9ccb3625f4dd9018ff53e4997027a14bc8a593d7178f244512ba7f89a32a2f123abaf2f8302599d0298784e6531fea41ca312e6d1ea1878d71b2f6dec1eb8ed03e44ea8c43247cec58231447b1bab155ca9c1762847a3741f2c7666ccbf92214c9279722a54721af2214b1ff3c3e56961d9f08ed4f2c278564d1902342bb938729499eb8dd217438de9ef2a324ef251b42739f37f9fa9c9b5917427dad0dcf8deacd9f10da64ddb9b4a71336a307a1658a2dd613ff63342e08c5434b4c65c650f271201479cdd2b6e395ff2d20f409f2b16b724c66b67fd0eb63cc9d79c3638c4c3fa89921ffc36cced16d1fd4741b33d3679e8269f8a0c74f1d1b93bfd9a76c0fda68e40997718f747ad041befdcc9fd1590a751e948906d3df20d95d78d0e2bbda1b85cfdb1dd4bfb998f23bfb4c06eda03b0aa2e52074dce7af0e9af8378e398bd5184607257367f4edf18f4a8373d01a67c89ccb73c6252507a5e42d5349cc785d651cf4603969566806d57838e821dbfb8b65dc4edc043fc8cc3516fea822e8a717d31227f9a68f1341d3469bd3913bc121a83f1abb6367bdc62046086ade799ad77cc1fbc32028397957f08b1aeb2c0182229643e4640cb27f708b1fe863d9ef829dd8842c153ed04dcff2bd9be4c69c287aa0a410b65a437bdead8e076a8e639177211ea59c15143b5027bbf16c4a0dc4824301ed4dc400a2d081ae27d7f538f925cb9e1c28211acfd76cd89ef8186503006b289e503fee9c87e68996b771a0c5143a6db7dc85a8f8065a444e5a31d7dc4b9c36d0267d0c71f67becf7520325279bb65c37f1e5311ae893a21a4c84360893cc40f7c7c9dd25aee15e55c84089f040df5e3b83373c068aefa4202fe77173b830d024cd64e46ddaeec0f20245937fe97476de54e7022d37a31c1b4c876e672d50e3c2ebee9d4d060bf4939f98ea98f136a462057ae5cdb71d734ed8f52ad0ade77db46f44a64d81ba2f1f3fe6d015b9e228d0228389cfc7d87f937c023dc4488f61d5cee6674da04fea1cffccb63b2b4ba09c79966dd97d0bbd2181ee36df7fdaf3e83e27746077e555efb1730347a0e854be14625918194f045ace498389585769632150dfc3d946364d951b0894889c5279c60d0b0df2011dcb494851e9ddc62d0fe87356b1b4524ca6f118898f1f39a14021072d39a84da15af3b32ce2a0a68c72d8ceded9fd020735a75b2c3eb296a461a27883ee22e1e76f376bbeb93ca07083966242fe3fc7545d1b74300e3c5d9965507657030a36686553910f2ce3edad9a40b1066db72ee4d45d16df4d0d6acc1fffe3239b7d0c0614695063de8ca22a22688ef86c07051af4c994347cc54eb02461427186adb2dca3dcaf7316298584c20cbaef7984ce9dfaecc132e8386e7ba49d9831d37e64d0a6367c481ff61a36a6801119423106adc334b6a670878f530a3128298264899ceaffb6124311067d46f6ff62fe98904184020c4a08e696d9c9cb51f0705109a1f882e2f1f170325dbca90c851774781b11ea2bd7c70c1fa1e8823ae9345ddd64bff4494ec105e52d59fcd853d9392ab6a0050414591802380516aab84261055d4307abbb90e9266daea8424105071453d04cdcf1a7f77d8d744a41ada9904433b0903fd94514147718329dfb19bea7020aba545f9c3bb74c9f31108a27281636318b94e7e03b41f3fc183983d8384be7d9046db2844ee60619ac614650304187dd95273792ebbdbd0475520c6515da6dc72c25e83885099332128b1a4791841b44c6b0946245552abb7d9d2c21a389f2dc024de3aa8902096af05021c2396e94194750b347fab4fd6de6216e04bddf3ceace2049eb801ec23bb0accb98394938a066c99afd9193f87b3cb1c406341dabf45931278f3185d2044b6840892174686423493fb5440634739c2b677821c776cc0796c08056bb21ab824dc89ab94aa83969cab61893c6850935434109fd5ba7ce4168fe64e3c6188a49289ba35379c14328d9902c1492d07d32c3fc9f0e92d191501f7db82509094201097dc2f2244e7c2e137d503c42db1c9732495767579e281ca1c68dd8e1e35c4bce6b503442ada860db9f2922c9968082115a9adba0db3853cea803148bd0afb622c3638f31b901148a5062a4f2bc1b53dd848b39512442d3398b3932492e23885023eb3f766303c930e56fe402c52194079f139f366ec61b42df6dfdee3d87b92f5581a210ea8735de30b190b9260a42a895a115decbed26bb4c346135081d68ac681fefac1d51108ad859490a9e3ae787048a406829c4686fbba30f1200014d40a000382800a174f0ee8f91db33b90a6cf18705147e5082c749c9cf24bd4e6780a20f3a7abcf1bfa559346e0090a0e083164330af093f56e6a8620fcac6349e98faf1a3130d177a504ac363999831557459bac8838ee352c86063792a6c0981020f7adf4c9e87579af5e11dd4dd180e92c5f028c6c660f14061072de9fdc58f1b1653c9451d740d37cd68439094629a0e5aca20e2e772861481620e1a81a7a8719922841042488c88d907d10c218428a71032222266e501b21888232184a11804e11004621004611086a1080821c41042083102492863fa22d422ae53e22dd7d3a582a199da1e7558e0cb96a56fd5bb63fc562982d57a00d91f4bbe8e92c67391a814f508d4502000bb4250ca229834af50bb26464dfeaf2885a8e12968ac2d9cc56e4dd8738421ecd64cfe38e2eb561a84aa36b31f56c78c5e860c110b4c9cc98bed52ab52922f8b87c7a26cc82b47b4a7e761b23bbb1df1c3cb14432c21065f25f3526d93e8be99cba58093ca0591dd468e334ef409fcf4de3dc5ac0d4988ea14aac17b4ce9092308df5e4e52df667008771c8ef2452fab2a55d73b34c7d05c468393f628f9ee7d8c656b06a630e26ddab3d1e8b02c3a6e6c86733f446350ba8d5c2444c3c683bf61cdce97a414eab4250c4e52d1fb74fbdbc95732d0be397bbd169b5b94a0886e00e5c152e2246bdfb3ddcde645a32f59df9fbcb3d15cf31c9b19d9b0a62882183e497526df59e903212d3d040b1b8804b8b019ae48e09317fe622971d961e19724f124bdb1de3a4155ff7c3e3182cf8b159402a89d4395e5bc1cd1e9fa50c3cddf8ebc06b8014e1636b7969f2f5da28ae95b7b1dc541495558447825b772dd8a3c5c22980c6e1103c02061232f171df301583d0f0e5abc2026700d86d6c2d8306036b98a22b5441a8592f20328fbe6ddd24aa34854d3d885a81058482029b6c0042410b51c55b0c8b158639ea7f23479b5b190247845bea21aaa69f482189619707691a3418a0f2aa0f1427c7546b5e39e8b220b0a87447d2df92096c934f9186d1ab214041ee7695c1b6dcbab73f0a86094e7433cac5201d49fbfaabee1829fe7870a5213e8750caf052cc8a5643d974a3f4e64a88b524d56956c8825ee9ebc5a4d1cb7102c1979bf95c0f497839a48d1aa5f728bd0b2e3081868f6b0311a429674aa841c88b4a206bb080edd8049ab313f989adfac59c6b1cc971a59152d680f4cd3b87641433d31f377edcf38220667cf5ffc539fc8d8f311abdb1cd99d7b1a9c7ccd84116cacf185820021c909d4005c424daac9b2360e50ba92db6e03db63fcd204ee160fbb4f23a203ac2cac1540059f5d023a5a7e8f0bd325602040f871d67925731ef6ea5747c8970413c8d28295fd7d44b5da95597f52d82a5d043b98824b09d22c0794f1256ac4aa10c809a272c2f921cc6021e7dae6ece7ac617fb428c8908cc0352f7e588c4838b454542ab9386a3544c7bdbbe7b01d4b9593578065cd06ff4ae4611a030091779c8c6631b7f534370e100da6f1404f879741e59c78bef21654da7f2e15e2b6aa1b934bbda356f987c16773adf9fd6f5d70e6d9fa41a6d3c6e3fd59bb68506ec3761b99b14fa835578e4a1612689a0170206df88af79cdcea9b70069a3e568d204e854025dbea382003abc2e08caecfcb7d49910a65435a83c1e195e4d7e55043441e91db0d8986b303c782e3754a1d6ca2540935d8161deccd839830be85dd054a929448a2144d499a125394c48834e92ccfd278a6f148e121094ff4f048212378a8c8bf1318675fcbdbcc7eca8429972b2b2b536a399959499932e5e4cb4a98292b272b5b6ab92ff2f296a595ec36ab6dd9ae235b350ccc8dd064146522d6c07b689df310061bb6617fec07adc76ec0d57e01505db0680a4c1dd26418a934189cd61094801ca0bd000481c742b200b480aca02d40593092803c4ebf20140c23d216a01150524334022c390d08852062d116a21a501a4394006916481f100583516b8e91dd06e430019a5c0a5e3ea0ee822407f073c1cf053f17fc5cf073c116116684c1a4f72e7aabbc0b53fee146b66c7301420856b508639e5c9294940c4f81916d99c278395e8ed7c60dc205db05df05d80226d27ee668c498c76a1670a9fdc9e3202589e915b09fc32ae47c3957abae022ed407c1d6d3a6b1cea4807fcd2184bcead2101e0ad88b922f74bcb9b92e9d805fb59cc4b5c283cc511330ae2f19ee1d7264939580c931d65fa58898794b12b015da397b5439efc7e008d8ec893177e8387a8b1f43047c34d3ce511f52d56908981c6ea6af0f75555f6180808d3cd1963eca1423b39804af9ae36b328d99ff4d0b49f09373468cc861bb8737e14c8b4830492a5fcabdd6da5129850524180d1afd6ef5f225422c1ec16fc6dc32b17b6f537f60e108d64a2a4907d17b5d2b8d60436fc5f2c3b839d608168c603ff2bf26ebcc416d16c1da7d120d97609e335504efd92b664e9fb34804a739d7eaa8648860b27f23771c4e504b5246617108c6edb2235f8a2495b921d87d8939ccad7f9e3dae105c6af4f0367aa6d21a37071684e0ffab5ef39744766d3108368427cd6ecdae59d2c4001682e0520e7376fbd5ce3cf940f051c79be3895b268b2b2098a431b2071d68a7f5983f7021d227bf4ae741f97e60346997ea689d647ef4818d557dc93c76e8683d3e70b62e9d79f2c35df7ec81cf1f32460ed2c48c397bc2420f4c458e33528abf1b6ec90367bba15262aefc3e75098ec2020f5cf0b8513dfd07d6eb1df8d0919de5501d5424edc0e791fc28f9dadd885f074e4fd2be2fa687efed42614107263c4c1f47ce906390f41cf85fad770b895d652fc15358c881fd7f698f963d0c89039b2d5df29d7c9f6f3de0c0590eea3fe74053fb883bb0780393bb2c87113bc2a3b1ddc0e694e5a1c61cbcec7d8b36f4d261c8999b36d8c5b0c1db8a93d7af434e915c4359ebc2fe377b1c31578392357e4998e73297d2500efd9a2856fb6fa3e1484f0d6aeebd6bc133a4ddb1b385d41d6547cc6087a953881e680e77ba32d49d1161390a35ef90e1e8cd23abcc31d8d76831063652c5f4b03fada67ac5601106aebbe38dbe6169346d75850518f8d02dcd627d7815b3f7054ebd7d743dccb7747a81c9e791e5b0fa3652eabbc06b8c90f2430cbe36295ce0bb55a5031faf903a700bbc5bdaa43d39b4c7f8294013165ae0a29457c4c819d10e586481edce71f2fc37e5576e55122cb0c066b1540b170f2fde1657f033e5b6b7eca0f73d218385150c0949faefd73ea45685c762f41c47d71de68b5381f7603f12f203cd989f920f2cf8503c5fd4ec7a1fd75250c375bfd375da1cbe5805068b28147a2d12d1ec62a499b08002a39e3327354fd272fe04f65325f14cf93b8cb813b8c99341442adfbf049b701c849424947d98c075e45de7371d85e6cc62097c2ca92c5115e2790e34818512f8d0b4b3cf2ba78f9cdc2430163b4d8eb41eae6605097cd4101df9532f726b2c8ec074fc4b1f258674afdfdec0c2085ca50c9e9a365772d01581a90df7bd1879c282087c9473e46d1d2472d00f81eb37cb297ace51beaca1b010021f5ed41f89ba36129a20301e9a9784e0d1e6c91720b0f9718ed763ff49bb981ff04157e5cd5059e2c7f8808d4a9aa3c991238d56afe0c32732862839e48f5256f021d3e86d8ec65ae25b05fb15fa71961cd4fa542a9848969d3ffb5f4719eb016f9b3996e81c7e47a1e60197fd33e7308a47fb2c4dc1f856a5be04bbd4ac4ac1c725e516bb63ae8b1e05d7d13673d7c4f8a9373b6043d2ec15dddd32ab43077cea38aa84ca93dcb68582d3903d3968a97ee4d01c70991f58a6475dd13d8e037e3faabb9c3f76cef87103ee3b77fe879dd9f27a4ff01eb1d35674e051d6066c5e4b8ef4272a444ed78097ac8cd729baed4eb09f2c04e9f5f1bf7cd280e9b0ea76f5726bfa2049b06882951cae5acc14a25e689cb09801779a2b4fcaf438ad6a26f89cfc57c99c17ba625b030b197061e977551dab5d47c780cf5ba3df71c879426c600103367fbad6dd91b098f20276cbc3ab1c4a3dbaef5dc0ef465c8f52c755de9d163061c102b63bdbd7e64a21f372162b300b15709969abd2c79692850e1a58a480b18dadd2d1e875ac2fc132b04001631b75dd617b52f7fe04fc7a7b0e72ce41d25b8e09785def2de5fd05bc7b0ad9ddecd25987bb80fb289ee4a8b22a079add2b1a2d60d3678a2fd6ab9dc6e387060bd894da8f3e0ef7f2dbba026e3add4947de14d72b15f06188fa8c8e3d45dae96ce0d8149cb274a70ed1918f7c68a0803f8f1e688dc5f0ca8e344ec074886dfa786f62968e09389348b929011f475dbb7ecd9439ba908037ff68d22229c5aec808b8ee8d52dfdb1ee51014015b1e5654fa8cd7391802368b7e1c42fb777fea1a20606b83e628ad0e34e769124ca6db283145ab4d6809b0570c4970571a5d3f25d3a8ee23c1d4be6b9c8e3b3b7307127c67fe90be26c7b1f1119c595e4725b183c761ed08b6fa839a983ec8c939be11bc674dacac954e3b7346ecb15504fb606935761ec058041bec2d6212afb5187228820d15b3d24d881f6324828fa17d22550a9bc83010b15fe5be105248acef48807108ae52f0d3dfb551f11843303956efbc9adc737c2c047f6d95b55182590e2d0520998241084e3c746f74d4d5b09e3108f6935ec7ab907a7cab236f600882cb7f1f3cd6d453222a0212a054a40a4620f87872a839cc4a41f2070202950c0f3d8434962d0e001630fec04ad4d8e4b64f848ef683695597d15c438e26ca01461f540f2f425dda030c3e70df51d2f7903ac1da1c00630f7c382147cecc6972cc603ac1d0031b3b0e353de4f831d2cd04230f5c588ed267dee813d183073e7460361ea507ff78d203c61dd8558df9efe71ee9a5d8810f6b34c5abd7483129187560afbb2569bb7d44c1a0031f9673bee4719854ecec008c39309e93c42bdf504bfecb815d8976e2ef91a9dd1b07a6f3a354c1c38e93a3960107c62ca374e412722786018c3730b97e729cccd1b1a51960b8814921466b8edc4277c73630dd669b3796399ae4186ce0fd279aa514162393e609c61af829b54eabea0a861a188de531791c2782c533a960a48115f3b02d87b126a8071a38ebd0bb939475986b73065e73d2bb8fa397602b1866e03ccafee3ca75c92ea70cdc8e245dc98bdaf82519d82cf1b7768fc394a58d818fa296c39cf9728c3f1d62e0fb2def2fa7759d005613608081bde815bf836ad1892801f21003e30b455a5c4dba1a255f8617981acf1d5d779296ac74818ffcb2f3905e352217d89c3c4caf6ab9b1727c0bac85994b74db18f12598040c2d3031f7e9471bc982ea250bec4793fc9de851fb2f586022fa22bae5942c456423605c810da94ceb1cd2a3780620040c2b30953de82f936ceb48af0277e69b624ec9dc132f47231854e033a59834c761ff7eeaa7c044efb4a03908da1501922c8221057edf437e5559a5c7fb5ca00208604481bbd412cbf394a79c005440604081bdd6dc9c4e6c77630efd80f104f6e39043bac81ef3c6102770c122449627ddbcbbf0068c2638c160029725bee720a12bbcf3b64d3096c0e77c95fd52fe6069a912b8dc7fa2e1b15284cc158c243011aee94d338ec58f3ca8602081db93ded4da9a92947e0436e5bf6f5c779fec18818b6253f9a16370cb126c05a3085c4e47c7ff614ea9a727021f46befea091437be40e81c9a0e19be2c47c1f7b08818975da19424aa97ac00802db1f79bad53deed2d43380c0e5d0a942beb0b6498d04183fe04f837f9025a7fdd7010c1fd07e6f9923aafe8c2b18cd4bb99a2c7b142755c9b082cf62965e2dc41443e49d1855f0112294de665ec91e26830a3673d039bcb50cf969d3225460f4808dae21b13c86a5eb547a81c103f62546afa9079e3d8e10bbc09882b5cd398af1dc831816611618527099a36f31351d0d5a11185170e339368dd257938eec804949f5a52fdd65890981a103466b2be2c7214eadb704138101051fc9fb23e4104173584160e480c9d07822397ff3b98503eed7f5a525b723c7cb78c0b8011f3d466e9e54179e2a8c27f83894ec2069dd761ab04402acfc6a2dc0b001972a79dcbe2a21e9d935e02ccbce2f235ba5cd71829f5061161e3c7e92280d585dcf97a8d54abd6113aceac7f1207b4ae2d164068c757687ffd5bea1c2049f2dd543c90b1ea3d532603252f0a8baafc314f218301a6b92478a7d29bf83019fad4d5232332fe04ebc7d537c44fda32ee033c464da97d6428e7b1e730f1d095c12ad49fd0ee26eae8fc087f819b9d3b2926b46e042b0abd38e2579435b04a643c4ac328fc537446034c71c79fc3a9a294386c09778e53808714a543c84c05d674d31657d4b4d31085c6584cc6965213dc701818f952f87a3d9cf43fe03ae533cbbca349554331f70957248cdd53939b275052395a53e5b8e7a45ac602cd28dfd8763d1837451053f95e3d01563c7294b764185052e7ac0857a6a6d4f93e45fb9e0011f6ba847fa1da6b2f5988b2998f6e8942dc7417bcaf1428a12405f4461173b60639210f3c69c52e6f4eb80ad740f31475b77b90305e7b7f5937b248fb539e0bc232d5fb89a769938e0d37bbaae2b4d8fa37471033e881f1559a3e8e5cab97882b36ecf0f35e4f696b8b001379627c61d358f53ccd480f376cfc13dcae156a438c1658e9aff416967f5581a30b9fca397dd7bf4e1da04f7294ba8e0614e11b59b0123914bd4dbf2cca207137c14f661fba4c8cb58ca80efa852a8bc7a95727a31607cdfb3d2ca2f4b37075cc08089519fa9b35dc8b42f5ec0c72c6629a664886a01172e60fdde93e5d0b7d3d66f019bf1f63fb28814a7e3b0803faf1c5ace617af6dd57c05f85581d76a5102a6a54c0f54ebf47c79229729d023e42d3e88d26b1fba080cfef98696d97a9d39e80b1afafeabc0938b34da37d1e9ea98594800b9adb9dbb6f5b123076f991c9dde3767f04bc89ef6bb09c6b398c08d8d0eeea088f33d721e037497e2cf61743322f40c04689e352962959279c04bb79b3b6a6e422ba9d24b89c263deaf7e7f2c048b01f670a8f21bc34e72c24aef1886b38e21a8db80623aeb1886b28e21a89b80622ae71886b18e21a85b80621ae31886b08e21a81b80620aef1876bf8e11a7db8061faeb1876be8e11a79b8061eae71876bd8e11a75b8061dae31876bc8e11a71b8061cacf1066bb8a122d08040830d9c5f69079390f25c9735f03f6916c9738e6a376ae0a3d0b17d509162c894a481b36b6bfb101d58a6281af8adfc78b73ce9e58e8d33b0c17327780e3ad0f836ccc07b8ea2e6e98feb9781d720c1c3ee489f23250367157db1fed74298670c9c760c0f8f72751edb8881ffc97e29c6cf1fa41f063e908a4a953568f2140c9c4d307fb5acd9a1f805b642a41ce614fc6b2fb0d7b5795b217463bac094ab7a25fdbbb68ee502bb26a6a91fc690e0215b60425b577ac71e54e35a60c5db63124fa6e761b2c08b8598a9d374e9c6b0c07a343925417fb5038f2b306d1f1d2d835e7898b402ab93a2f544a9c8908255602a65f50b294d071598f4edf178cc6699e514f8cb615dac4b932706af21053658b49035dd8b84d58802dbfa51a5e35e7a871e37a0c0e9d65f7b48b42495d07802bb296984b2ed20365d111a4e6072c5fef024f3a55722010d42a3098c55ea58b4f871c70476f582f47ed0d731bba2b104a66db5f2c4f35964553494c0478ef63b75c594be278109b3efd35ca1fef265a968208137496be7a1a25952a7681c8197c813211e7beae7cb08bc66bc90bef70d154b291a4560ca727a7bda90d93fa2408308fc5705dd5f8f16c93c724ca13104b6a2e3cdbe1e869c1c0d21709d4bfbf73b5e8dfa3482c079f8d92129b92399af3680c0eec4487b1272bc76f7077c648f991f6a352d4868f880ddf58a7af6d156e728b40030d1b882fd1823fee4509f826d05e7d315338e8715f6912a58918a31e4e9c8f1f4120c8706154c64ee1d158ba17310ef01af693aaea7a5c9ef681e70dbf1796949774bc7144c1a4f137ad283d853b5a1210527a9336a66ee20957f103234a260626a95da8739755f216368ec80ada41d96c77d62a796e0373474c0e5f72084e44933b7eb746c6840c165dbc990d2d2e38e5f82ddd0c801dfb1b7e59dd0cf1fd838e0b3449eed5576e7cdde808f18d53b23fd4ffdfa04a33f193fdce4413a156d0d0d1bf0fda1658ee2a1e50e3cc4d0a801a3fddb81a8a790ec738e30349c605aa4266eb05019cb4283066ca848255aee69d427349ae02525c533d52c295896d09801e3fa216fa5acd6f11475d06082cfe9f73f5448999141d190013f1d4dc5fc71bf7e0a84460cb8da60c13ad4cdc77e18f0992347a61e422a4a3881ebdf183d471ea6a54f13b86fe9e0719c2dee21c204a6739826f849e87f4f2e81af8f2fd6997f2bc69c0e945002572945c7b51d45eb2a49e0b275fa710b8fea5116098c7f479583ddc7f1428ec0d69e6ffe7510bdd23402dbb57949ef42cc51670e0a258ac068b648dc187a99629c08ac897eece391a2a6b3283104d6c328099d4657d4abc2811242e0ede3286409dd581f6e10b8b61c3146958a1bdf1a280104aea38e9ac4735a8f75f3035634de55d08a95f65e82a750c2077cfdb4c54c9a7f3ff65cc155a7549b1da78bb4db0ab624845839bc5e11b7dc2951051b21668c740fd232e5a9e062ce7ab9738875d09c1eb0c9538ab8d559dc5ce7011743f2a0be63bd9821533026769326f77e52510a2e53bbb23d8a13f365a2602a75689e964c721cc70ed8f1bc266a173224d53ae0f2777e1042defd48030597e219556a827b94e680bdd8a9671ae696d3e280cf9af6571aad8395e406ec9847891473d0aa9d27b8c941bdb75b664a1a1bb07daf62b7b59552a4064c32a9f8eb1b25377482fd9af4ea2fa997bc8306fc5e48d761856eab9be03d46a4cc4d9ab2c7e60cf8a8661fc739fd678f4c70a31dd7f559528f1eca80cbd99b2f871e393abc1870762a1d5ec79bd66f1830b1eafdf5268718b717f097a92d8675b069c95cc09b45dababe2dadbf5ac06d3afb2c3d1e6df52c6034d7475575d161ef0af8bcd65933f77e25894835a1840af8aad4cd3125cd167f95480123126dd372ae7adceb550c94400117a139ad5efc94dc2227e03b08bea1e2fd86c597e026286102bec7c30fd45305f7cf97800bf5297974f7376a1e12f0d31743ca96eb63a43d023e56f395ce1e58fe4c094a8880fdfbf7ca749a3edd4a8480f78ecce3a0ede338767d58991a940001fbf1a369ff9bb61cfd16858b4930c1de3605b5c8b1d9555492e0ce3bf6e45be65ff4b9c44524f8744f7143ff94e69590e0752f727a05cf1cbe76f108d6aff54f27a49463f23882bfaa108247e5f971c63482ed8fcfbe3487cca529461832e5ee50e2e9c6892f82b5fa8f96751f92078f22387b0f9279d4a990633d115c455d08cb9cb9c23f6743b8400427b1a3931cdb2c3fbb16858b43701a53fe4949ebac266655151786e04cb22a7d747bcf8c14820fdda99b9a5fc9b3e38210a9c759dd92e51c35c65c0c82d77c19f13e942e75f342107c9476bf4422f675dc34109c6d777e8d152b54659a18b80004aff7f92b82e7e20fdc64881dbaa171275afcc0989a5a490aa67133ec031fba3152e708e9bde4c3c51ed8c8fa1edfd856a56ef5b0c7e125ee9aee717431747c17727f1c0d1c79e0b2ee4aa5d2df775dc1051ef8143462ce6fcf09bd5cdc81cf7a9a3c3da42cb8b00367154208d1132287d3c5e0a20e8cd7edc6acfa051d8a6c5de613725642b898039fe9e3aa47317b66f710102ee4c0a5d74d6a7ddf9938b02f21840c251d791ce1020e4cb4d4af56de8f92f6848b37305e91825de4b5ed182c5bc2851bd81c63273775d31039ba1ac2451bd84b4d71ad7288494e19132ed8c0058dbc1d87c9f3eaef6b6042088dec7b1695f9e2e8840b35f096a2634893dc42c4cf59132ed2c0496d0aeb1056318f1768602d3787c8fcb511df3f036f7d199233bd648c9981099def739c3927725e06d6838e3caa59481a734e062ed4ff73e68efecbee313039fc9ce3bda764ad8a1838aff690dd710e43c88681f1b8734a8b14a33bbe60e02eba42bedc56b550bfc065e4ada49f6c420e4d2f70d103f1908286be8a7481ef9caea5cbbe3c08211758f7388684477490ff2d709927868e6f1339b916780b991f9554d4adbb2c301d5ede86081563b58505fe837899fc27578c285d81cdefcc6a9383fafdb815f8c043caf2ab068f0f5c54e1db91cab1d7728e8ea6423949fc2e7b5c8f79bdd3fddff2f9eaa5dca9151752607f3af408bb0d197244051751e082e470b2731cffc3cf5f40e102174f70023bd9dd34a7fabf8259818b26f061fe0d3f891c6a6899c0c61c967b76f85132ef97c068c6ddffb16c172a4ae04269aa1019253d664f1218ed90f10f853ea8d366792c8220040882200c823060f3072365100804028447a1301264699245ab3e13315824160502012110081e03814120180c0602c1e021100c0883c4401006e15034c562603f58e4786b94ec511ce784b7e20717c8298a41da37626171910b634490ae0f558e588d69104801c3551799c4dfba819d444862823588773070dd338ca0da5d9d98ab209b8813ab4bec70f85ce2663d18ed6e763587d45b4465892a41650451eb2da43c8e3c4e2e365fa800547ffe19e18c409f70b93053102550153a268817221554088609320bab059a859e8230428c415182a9208130255059e82ac811e212542d580a629f33fe64f49779392b9c103469c654782539d2860bf07b7ebf5b3c23dabe73d8205c1d0cc204c09ed24701d347643fcca9d396d2554944a55e6af7ca571e75d1e54315b5bfb9b29344fe2fddf62391554a6f9b87b1df8d703aff25a6a812f5015cc37923988d6c0651fe72477a638ce0073a6b4eb461043a563c657fed5eb24edb923241939d0293e775e569cdc4032646e1035a5f96113c241f78604362be3123448d918d9d360e07258607890469ac83009113b667148645c4e5c6e4ade3c148e5c95bc6617e45aa011cf5bc179b5de614c370a7205e86a7c9f8dcb83a800c6c725e7815cb842fe352c7562e8f685020dbf202b26d7b2b0dc2060084e33ef2fec8e7706b77a7984d27ccf3e604c1400b715497eb42492684d4ce245cddf9e6f163f21771403aca38f2184e5f50a8ab6c67784ffaf0d11206c52f7e58980c161a0552b53fe141d25ed64ba1a43e76292f5eecf440d23c9995e7ba5e0099abd5847fcc25c1b4a8da42a4893a2acc5dd63060e277f5f8c754fee3f93d562b34440ec3608271f3d5b1299929b8fa363f7b3dc3ae652c601bd63d103e5de9006c125ca2d6b2ca9cc6ae06e373d17982d14453098c3b5ae73ed66d42f4794f11dbe03a3ff16a8d800bb444040558f37e18dda39967aecd1714129af902c67ce6fa1f35a4b57e9eca9e0c47a2008b71da41a5788e2df080eba3e8f62b0cc1f2479ac512003e111ee190a112f4536e6d892d0cbc276d0ba0f435f0d8e7d323940a4f3fc3296e2e48d644f23e2e7decbd16560a077d48bef8ac1b1dfab4ea976ede4771a344269596194881e09460cd905450eb9b2e55e88bdbd777dc8c580f16c15b2149a40153a0ee3025da1492473b620962034424014a5b1bde0a163fb039865c3883ba8bc1d65f6945e042632bb8d51c1fd15e2a0c42e16626843a8a9800062c575f325a8e2c5cdc2ba7a0eddcc0712f5362fccb19e3c5ff41f965553714dd5bc1ecf2548018b4046fc008780a4e0247a08970010dc02b600fbc0827c041508780d3c1978d4310f1846d0c8ed022d2fc10f60af4bd400f022ac88d291f1911ed0f1b0a57662354b7d6740861dcb35c07661bee563856d4252eb278d0474a2c1ae4e759b6f5e7e570d338c0fb0ab53c728dd7973ea484344e573d21418d2e0e1bc91011b28a28a3073ebe1690d049a414bd3be2742412f6f3bd1608bf4457a07bf56e2d69a88709bd6512cd80179451c128aa2f9fb085dab0687aed16c401b6639e15d6824a18c451c5425051eb055eb4daee0b7854196b16ea866ba15ffffda225a6de6294e5678aacecb3247ebd9d2a47cf52d9f8b3441cbb1d98ac126fcf4acbd1e378d671f975ecac35743b827973ac695a8a650895214422284372db081691e48370c2a67937af4eb25a883de78a41481bfa236478e2447149e090e85c41e644f2f5dd92ceef18b738276be0bd769aedb9cd7e27d257071ed6c34ddd9a5a65f5da2bd6775127c35a2bcc4d3b5a278a702296fc879143612582de9049b44a00bdcabd400c11b2fe852169dd37957fa9020b4b12c9e0b8e446cafead80f4d2033900071c30f66d5a56b66588da005d3aed72d885591cc0e5042dd5508a800f53d7aaf7f73f8b9509401b914fc6ba94bb164117c3729766d5a0dbef7f856b7dfe1fe08bdfc26e255b68d9fbc45564919c9f6b1ebf3bb2908039aebe3230a98d5c5bbee0f20235d5618cf5cc8b5ebd92df0a6c75d1f40860ed4f0bb97ae7e03dfef3c3191d6f34a69fe70a638095cac8be4321a4a268e3b347dc19ed88df65c0007f8a683f0cbf26cd1e9340032e00a00390664e10dc18230d4e6fcde5cc018f764d574332733608ef6a957acf5d8e8b967b3bcc9cd103d9145949127c2e626f1fd86c86706d570915ada76162cdf1f6e4012afbb6d618e371d6c59eafd58c4d58896f15ec92cf205ed23f2cfd909be6c504f133ba324e327aa3912bfdc526c845abbf6af4f42f3f03035456e40edd81efba14a900156f7a10b1c17da4fc8a8ce90ba106dc892e3780c0e79c8cac441c621f4474ed03dc741571dba13505125dcaaf18e71784379d53df7e8772288d421370edccb64da0f64be67539b7315f3285303016b97c460d4059b2bcd2fa05c9747d84d10d44fb72165c5a8ea2317657b9ae6ff6e6c2c8409550ac8ca5c5e83dd8f790ee723dedde3ca7b8880f307b5f4b4ce37cc38e224b0487cf8cca47004dba07c58c4464c3008d7d8e88d2d608792c5e6ecdbb5677742ba02920b0c33ff6214064f17e01e731ef83028a0e47fc64b8d0b5fa0c435a3c07f826e784af0b4e9158790a50568e56deee133a5b92044ec6b5f4e6aff7946706ee1fd3797de7261d494ac076c0cddddac214551caa75cc51736b83dc3ea6877b1ed414507e172edaf40cc3fbd28ad1471291b03f55192f697eaaa43ea39680e827676ceb88412379c6e93217169dc47cb84ca8cf71b44871ae5bb0feda0529175c0496c5ab9db8a923157e957d81aa205050f7f5df8cfe4240ea73937cd3a9922601aa8dfef4e9155b9e1899b79d9907af1b0c3bd6d62e78d3ac95a29ddb79f9dd752786b59680cce9d0f1ecad916f78204d89fa7036f60a0013d65158e5e233f05c7a8d362f922a9a2df2aa734791cd21247fa17e43a8d76e71418c7a2c29e954a858f8233535f645b38b97f1c5e7f70f68cf89902c267947388548a435b769f58223b1c110401bb351684e04914a0429b5742685265417184f57e7f0d9a2dcd0c0e33daa8e75d632ffae9326e5649b904be9435b9409cb4593f216a2ce3ef437d3512405e073ce0760070725758d6ba740cfba075bbbaad57f9c87d52236ec576248878797d7aac910d83dd21c3a4e124741a0b445613d04959c37577fd3a2ec484166c1c0c1b865042ae81cbf1fdc9fa3ddb823f02fc83ddbab8f9c7864930b8925a32f0d4a4f7eb0a46b1fd8869a80d9c48ed873c1ef9a2b767ad00ed00f6d066bf8b87b984549cbc0264c7f3a837721c8ffbf9ce2b124a368ad023b9015d34aa83997c1b70395c363be2035f7e8528c699d47fe9ce00f543dd0a71f12baa0ac8b90bea7567614dc403a363ecea0e3320013ac0ee1d34e9a98fd2a21e3ba0ea3dc33a8b806b9837d1dae7137f3871f631e743eed9d61cbd36899188551bfa48c2946894b2314deb33a2accd7f82d7008b6a5c1cb1c299a2a6abd07b4c22a99328dc3c6be5c5d3a5988f47873ac0cb95c1817982c9108216c1248248069aa8d877307298de8dc1b293af0e1ea53392d9730ba380221ed41f7e85aff001b3bec2d0680e60fb7d6efb1f67c60e63e801530117366cb9888fd302fa440935f13bf716b9400452ba7b0867ec9c924a50916d38f883344252a4e6ec95cb1164b206cb95c939c762c8b91942b8e7a571b0868fb160d55b9926d4bf4bc2027c0c67b3da5908e542e0c7665321aac4b079ef24870e94df5da93c8775de1f85abc18fd80252f8a08bd5b887839c3ad036e6c563554d338e29d424ae0c18face941375957b83687a10bd21b60dc2c7a880ba169637ef76829c8797b11421c9a5610539d6dffaa44d9fb83384c9e83b43203fe1b758332c4dda965308dd18bf91f04b47ba3f5a3e470afc6d170ed5892fd030709ecc9a8634a2c8c8f09886a519455501d4cbabe87d8f886912a4c91487a2dc9b340c501a79292b8808706243ec2f291aa956c118c0b5ab4b11b13cc6601fe687024a161435360aeed75e84c148e237a4b071d0c36f92c9c43c2c6133636f4baf8b9a6264d80a0a9d74054e786de0728d92df6f27dbcc27edf341fd5c2117a30bc1fa50036e7db7dea596804d038ff004fbc0c49a7db9d512906ec01458707127d4d2012b5ca6a9435c57ceadb69dbb9c644737368a0a6e13f9e2d46d703d9dee3284d8110e288287110a73d5777b896b2d8c9e2a76de55c1019abd648cab026d7fc17742444c2470c42dcfa874f1a6068eddff05a6fc3cf8a19726b790d4a720c3b4cc8c2915b0512d4b36598954b489e9bdda5041ac6f3c86015065a415a209b85fbb3d8a74027fa12314d0f329c25054253c873a201412d96e151f1cad8506d547168699418d1c015ad2742ee53109b4b5d20d4a7dd00f3f8021d08aa6530d3dbe7c9eb4071a0df28e569462a68a330d14b55c1125529d3c7d4ba6907f16532f770c7e324079e8e4106f6d89c43ea8ece79299c3302823903710b77fb63847275d512d2312744260288e4a21548a210cfa24bb026465026c2a024c2882cfe585c77e2fc382671e44c2b1c3dcf63bfebd29500d19bd3df9409c5361339d0ce920bf7baa37c126104c7af42ede3f133dbfbaaae2ce01aecff60f701b9c0146884470452099c5a522cd57681685990e35ddfc513d644fca4588d1797c14ab97ddd614424adf60cb7000cc5c15e8b4af4b39645f4b37c83670068b6b2d1aaf7b8376d637d143a8b9990c60601a15581dc4ba2189bf7c3d2ae0a368bd80c28252d70c2d0bf6e9693aa37f52172b9f336a8eb9562355d16aa68baacfd4e00013b0646626e2471a81ad0ccb3b19bbc46696819301f9e3af8efba628174a14fed7d99510b7384562c98921a25f146f7d08085ed5def1715ce8097baa73d092c519c3cf8e3667031c82b030d3d90e4d51383e94ccd021d6a281e686c0ceb1552d2d582c0a12486ed4c6865032186bf5711470700c853d0728494406a90b428bd91904824520592835440924522911c90122402a916c9452a4092201120399826df48b2cc37918623f10a11cf6c17f00c0a07fbb9d1f0a8da94e27c2ec83caa6092b299132193e57fff34a31c50335f800302345a88a986d4c435320c1a0a1d56166c84d70c584d2a1f87332a8faa1bb124eea1d683fe30b6124d805c2fa6d0a0f43b9ed9c6a621e1da29782222569b3da2891daa14b0008a62e5363590b282140e0cc003f0003c000fc003f0003c001b9034755aee8a9c2f48cb839c554b6d4acadc34b308c052120100000080fef32a016d0371035a03c62bcf6bd9620505ad91cf1db9e7ed250b159473d28c69c64a4fa828088b140ca5430e6d8fbb48041628283d929b9cad923121a14ac0e204c50ddea2af7bbe316f0e312c4c50fa9ebd12370f5de36aa1a214e50769457a4c66436c4851d297d421fbafe9833c8ac249ecb073aa99311a2843a81045c133c8c998bb67eaea5014f7a633cc413b0c3903452945a23544557fa4d6278affe991b685645f4e40a8f04421a674a994b0e89974a2d8b83eebc66077f9eb0d2a3851b8cc613322dd887468838a4d9434bffb7a8ef784ac89a2c669860db632a635508a509189927a976a8e3af33762a2e212859ceeee36f6294d035458a2549d3a37f2dc206f642c5051896236f11cca5d6fd69d4005258a39cd3667cb50f2309d44791eff36ca0dd3e079075448a2203e9d27c670b5bdf7052a2251b449193683dea51c104105244a1f6327c12c2527330e04158f287a64ca105662acc7aa238a9352ca1adba7a21156c188f264cc32f61ae2641ea858441d4c54ab46226f2405684285222a125188da38fff64c2289898832542bf3903a7b5619a838443944c93aba8ad4b0740b8c125418a258919ebbcc61a8bb87818a42945a55e534e43449c92144e924a554b33258e7cc208a9133eeaeda4489c60551b4359f69a0d9d71207a228b9e343b8cc7c93b1802864db78ff7a995fff1f0ab9afc4c3c4e48d1de9873288d932a5cbc97a481f8ae14ebabbed3fd5c18762d96a9b658efcaff65090b611992426b2e9a150ee41ab3486fd44230fc51c2b62ca26affdaef0500c8dac736ba486e135733a507187b286cdf66156a727870a0001732c0056a8b00313fa75cf7167f190aa1154d4a1fcc959110ef25f24a9c84450418732160fd333ed091573289beadc977744c4ecc841851cca1df1d16c749cf4a5d1898a386ca0020ea5ed8998671ea87a72002ca8784369fed47463c3104f7ca544851b4aa52933ccfddc7ea059232ada508e0e83b98ddcd5cab897a8604331d551e7b9cd6b1157333333331111111111efeeeeeeeec618638c31c63033333333abaaaaaa2a5265024044c51a8a99f141977f754c8e5143d9229deee75df7785d1a4a6595917fd348ac8386a27c0a7789985f3c42c5190a8f766e3f78b79f7ecc5094c7a2f519cc06cdba0ce5cdd4c659fe3f9747c85048f906ae62e70d1d630cc589978e437ec4b61243e95b722489bf453c3f0ce50c2344081f39e5a71d87e8349f451d8ab10ed2661ce3b35abca043792337d29cab1942783187723e7bb0d3fb1b63ec1dd000062c40010940c001ace4b0904319e6d45c199ad6928385451c0a31c3c613f3036b5c6b60018762fdb9d49b496845fc86d2c8c4d6cf520e73a77eb07043c9ac6ec4e363749da20f166d28788e74ffdbeb93123694513f5a7ba03199c3de84c51a0aded58dc66a231be794b05043213ef4602e29d3db4c43691a45cc8e9d5ad28968289df69c468c184fb31a284c589ca160f3af95e92767d23643f17a3297ec887767a40c658cb39a831caba95e92a1f0d075f3568406dbd518cab035a274d672ab74a301c6102cc450bc77183d428eafe3b7550698015b0a5884a1e01f3aea67d91b57c9020cc5bec9f85396a7968e5ad261f18582a6c869aaf6f37ef35e289b641d47331f328a2b8345174a9e33912b5a92a736b850bafd306f191d35464ba4078b2d947cd297558a86148ee7c1420b85789d1df3744f787597b0c842214d7b83fa8df88cc840c2020b6519cd34cf9b2365f60a85f4b043c86aa6ab135ba1709b6276d2db275f4d0345098b2a14e2a7c778c7661a990ac5fcffca87d992d177a650bed42cfe4923cb482a85624ff0dd88b1777c21008eb08842793b468cf1ae9e41145840a168622f1b599659420f583ca1e82959e2e6b446fee58482e3b54c31969fd5fd0bc2a20985e8f5e85f1f6df6680061c18472e33c51911eda3dccee60b1846258fbad4d39f115d74209e549df321d628e6f9f55262c9250daccf4ea21869e881d09857c9cdd738c93ef683e42a12e77a23246349cb03042a9b53a9f65469ba36f114a269e3b13da5a35a64428df6394ab9d71c7e7388482cc8a9fa556274f692184728d76a6d012fffe741184624ad27ccd93f3e7f44a600184c284470e82769c0921c1e20725f5508e4ef3775e8624d607163e28b7644ac89ba927ed1a287058f4a0e4b0234286ae27313e3c287a0e2f996fbc817fbc8352c33cc7f6f5b741a383c23408e176f2c5357da30d8b1c94eeea7399fe6334118383a27cfc9c928cbd254b163728959ee74d3b5d5a1ed3c1c20645b99cd695861ec9c335682b3aa5fa49b444090b1a94eebc4138098b1914639f632bf1548f76cd080b191473dab58d1ab23b3e3f06a5cdb8fac16536c6336150fafcaae9a211c7d54041c2e205e5ce582d26bff553c65d50d478929dcf33da66901694363d537252ddd02083050547951606eb4becd2cd0d972c4075d2015314a18c5aab376a62d2e5c4005310a12a30c5104a31bd217dde34cf7f2194353268ef7b3a5937a70842c922f4849decb8d9b35685401853fcc0a6f0416124cfaf370e56739f1e94371b3b1287d9d64fe7412127ef63c39bb7037907a50d1ea53e87cf1df5d541c155bb9369ac71d734076594be9e96497e1c1433f246b8879c42babb41c9fc3e4f347463456c5088bcd93e2132879cb5296a50d4240d6d32d0bc0d3e0d0a0f6c6c33df63ece10ccaf5119fe6f21be6edc8a0e0e5f91f62a7c48c8f412962dbcb9bc3590dc3a018a91b9e4db2a4a4e6058598d6186d86de3886b8a0f87293a33b4ff42b5b50d868a971aa1263c87016145ed633ccfb8e3fca2b286a4e4f87f66b15311514266fb6ce5b9d826292d4d1f22a4441213379fb49dc9c26e604650dafcdd9fe93f1294c506cd0fbd13d3207d976518ad2df8874b24c9374cb05298a1b62ce114172daf516a3289e6f3f304d93309b2e445106a6d5a70f3f8708de2214e5d0ef61dd5672946d2c4051b4fe9db4fb9ac7518b4f941f7f1093bcaed6d4c213e53039b522767afed274a210334c4472db470d2763c38213c597ebf1fa89768e3f9b28749875e4cc87ca4918169a28b6e49c93aa8a0615028b4c945b6ff2da35df878c1ff98405264a1ffebe3ffb7cf5771a30585ca2601b6cbc83dde7cfc48d1680182c2c51fce999b3cc314d7f6a9d5854a2283e196795a9b1af0825ca1d24cbc14d7412c599789f323a5fa3c649a2d06135cf64e3cf894449baed638814e6194fc30212450bdbb04137c5ddfd8f285afb87589b34fefa4a62b07044311a6feba49490fd91655834a2a8e69ba751547dd40d1bb16044e146f5453604db1ce9b188c5220aa171ceba1dd2c3d128a29862626cf65d69792f1105f169c9c8880c7b1d88288b398cb2135dc36d758862a7b866f83515e9224394761b9603b3d00d73b1615188e2cf8c458c1f63e62144415ec5737a4dcf20ca50c63fa6a8ebe8ac200a9d744546a36b86eba063c42210858eb0b73b616704444134d65f63fa3831e6fe500cc9f4c657e12b0ff343e14a53354c4392c9f7a1f85f6be9d619e4aaf95030b3faf5f51cae3d147cd2b6c726cd4ab4d043691bea744caff11ea33c146dbcf27177dc5ae62cf050ce12312ba3c6f036757187b27cbcd8bd0c31b9960b3b944653f6f7015368a218a93fc69ef7e41dce44b96e1a4dbebab9290f268adf26d222a3af39ec9728c60e7f0df6f38d66da12e5b3ce11a6e2d027a412a5eddeb01e37a6eec694288ae7f9ec6b692651eeb4198fae9228a7b5075f13d9b6511b89b2f6a4f374211954af9028a9665c6f9eb7883a3ea2f469ff71f1c871431d51d0787eb9d96823e7ae1185e42279538411258de03529ab545c4471b43b848c0fb5ee2e4514ddf17c0c994f4429c41c79861bc2be878842ee587f2409f7d9718852c8c68f1fd5ab96a63044c91aa6c8f12b1b84bf10e59cb39366daf06e4214ad9186b97447dbd83388b2d88eef4c4610a591ecb6fc10feb00c4469a3ebf4344e2baf1c1045cd6def207fc6d058ffa1ecd1610635ff1fe287c2a7f57f47bdbad9d387728768533efbf8fc533e14f23bd0902c65c2fd7b28386c1cc14eb2c728eaa12815f2a151ba3c5b99876207fbcfa1e35ec78178286c8613eed583ad48778792753bd269583556dba150a936a91ba66fb37528b96834c8216e9e50071d8a32da16b6f12bf9338772a3f87279906a73861c8adf3084c4f2ac79248b4331dedfef3e6949fe7028b9a9467d9e3c1b67bda1d4a169d6756ba229dc5094ce9d3bc54ee3b4a19cd92047ef1fcce71836146ba7a42726f97ee86b28a834f288343987df440d05fbc71fabd9434c4c4329efb63dfa24a4a6434321bac47b0c73d7d23394d4afc352834f0e8fad19cab1b5cdbdf2652b4321e6ece720e5f2f6a429c8c0a463d3d6395bc75259608a319425848db17d752c532d8682649a7f7644d184a198343e5bad49962b710a30d059f33af6b7060f3d5fb8eb438ed9770faaf18259a18fd2b643a8de05c6a3254accaae127860b84f0669b933972d0f216c8403dda79aef4d368e1db3c117710d3ef4ab240cf7f8e0eede29d63a1d6389fd97caaa3bd823bf3ddb04a6287d00a97c7609576d7a7d956a1e8386c8698ae63c469a950d4f82b21c3f133a9730afc3d50dd28cd28a5148c0921769efed717310abd8409d5947f5f1f0ace6fc66fd72de1de271cae7324221ec79ace0985e694b1263ce8bc46138ada185d3b9edc1fab4180299880434f5e6ba539feb525901dc42b974b09795d489cf867f4380983fcc9d9913dbeec680a24144fd7d18cecc688183b42711a46ab4f2ef9ac064c61848323b8e2b20e2244400484104208c2ee0392180a831084811004e1608441100441081004451001210c11104210b3061be2c528c0510e7520bc0884ec8b481e94e838abfead30eaa09d180f8312fe8e112ba73563281325d7fdce3e26957945163b8d528e9f3bb9605f10122f43ea17ff6913550f8e0571149254c167ae264745b81f95c295248493481a1e1582783cea851b49315ca4eb1759dcc0deac202bf797847d100dd2e1bb3c2862c4e782f3fdb29135b0c8806363a6c58568ba9d5cfd4f70ecfd6030b3bd6908d9158011101775dd2d70323400d0b8ab72808272211cdf05226a3073d012b1214904908b082ba8a1d3aae6e3a2df93432110d8f4d58540502d30e8b3064d692ea93fe0a03e94c004c514ea7c1eaf18214821608373ad7f8d7b36ebc00905f2990ee686bc7c20a4380503f8971f375c1ddf0587eb14f0fdfd56d9444982cfe1016a4cb21484e7eaeb76eca2b19480be070409869ce382ed749265e9dc6e7da24cca72539811b5a7e2889c55cc9619a5cf54611376fc26990dcca448678d6689834b63fad74b4b59e2f66a1247bf3cdda766962ae398476b02fafa6c07809b594bc91c1c6d64ea480925eb9c05dd99a8b5a6f37488d32b0d30f0c7fb58ab84b9dee0fec95c00bae32c7e1e0a05b8f8a265adc03bc05225ca22f8feef7f271e5e487955f99688943f91759cdaf6ff47095cce1e2526898c98982220ec36f475b07ed1b70dc02858d360ce8eba139a5628250c6318a64e85d43627d12f5309d8594d6a23056cc35993a637f0a3b455a4c9e42a227a98ec9565ca2b129d2d01140b00b8d350bea68143991f314ca80802693cecae2aed5a89fd0b761032ddafc45749ebaaacccc99354f603d0e57afe77bf3f38f86fc6968177c41ba502d67950471c05931634bdd2178c19476365f82a2ef226b1fc527cba35f1cff259a573c9c42bf899dd2266eb6dae8dcb654e29cd9873420335fdaece68002a8bdde4b7c073f4452dc029ac096a475ff7504b02b9b10f51d8f661a1fdb6a1183a7b813b8e939c9c71c5e0c5c6d24c9b04ad2b8e6bf20e600a07735c75c575ec9568cdcabd9ab1526056d54b557c8e163acc6cf650cdc5fc45b93d3026032182366eb06434970365d0d8cb9093c4d9a2200e3b24aa3d5ee4b1a9fc264a87340843b6ef7b8387d5e3cd240f48ac47b2585d923e1769d2a9e1fbc8f99a3a753373b8eb243fd66aaf925a2bd31a5648eb51b5be66302c81edf3afb4608f84a26f837548fa498a245145164b08a593aa983201428ea90d808465c0c1f2c90e1364cc2c8c15a262e6d94edb20467427bfc29f5716252a6f4e5081586ccc9183a3d5d079bc98a21a388754b7b19cd66d2c57e89b6d9e6dca50f0614fd6aeccc49c74dc26a6c7aacf61040f8efb241b22b4622a1ec3085a3ca7434c3c8623ec20dca9c0074ba9ced7dda3d8e4297162bec9d324d31faf1cf25c218bc92aaf67fa6a5acf22820ba42e086a0714614681829fd16e51810880e0b162e07fe30bd636426316f7b8542d8ad04fe768005e115ad64791b649a3c0dae29c394165063ae763609a989708dd02aa187d3ab212b0ea91c2ab5f3f4264d9cb2bdb13e6e0c620898d65425140a91485555cfbdd12ca677643419cdfa7734ef2c399eb80e7834b06298c95c94617b903599086d704d2df59369dee2b5cf2c51466f81205867184166b1eedd3ce26f22429836d0d74af34355b94b623de9c0e35b721624802d0136ff0663148006a1668d1e06011b613b4f93ccb9b14d03d28b784ec64d50a1601339a85ca931b960aca6e2bf9f1a983408fe83721a7a746e17c1c8c29e80356cedc304b7b91947b411dac3fc6c670dc39b4e430bde32b6505fb9eb0bd65f904d7b35b8626492d8694b1c90046e73c40b63bbeaf8ab14157f618236651ba761b2aeef94cbef25004322735f07139d48d5cae33ff567af0583175939581642a37d987179c11d7fb0fe8ee8a75bd7707ca61da8327777ccf750e37ebcbc72085f83489b5929912096b891525425513b4b3b1f9147f58362483275a8051ee5240271c03971963cf5c8bd419c954d026beffad45bec9711573924c278dd0c38927c1343ee405f4d3425b261131ff294d39270705e775df952cacd656a18c10778ea6d9d34c80f84c718123299beb39c6f10d68e92a10bb540aa06c51b63bba745293aa07ed7446111af4bdf8ffd6360806e11235cb2bc83741b733d78e9f1443fb12555aaa0404d8a2e4b8de915e127a3c5e8e5068f969370c0cb1076f6db52b84063371ae1ea731a39f0445e5525a308932403c8e9aa1a3decca5da7da014dc2b1349e244f518262c4d7175501d3b5042001078d6a797bb321130485407e386cff1ace80710e4e3a33e1cf0d1b10f0ffbe1008887fd7820084707e900104785f4231f37e9b88f577d39211bf5b4f1a92175da843121311594053496e25ef6eca2cebe38b4bb81be84240a88a0c69e5b8d55cbbde4ef193ad8a702926f1b48bc3de804c13c508348c7871e8874a2d3324ef08bb8d3fd71eb04d35c3de531887d200d07c7202b566071eb0c434335ab41e0f72954396250905e941e8b210b228727295388186fc0a2674abfdbaf7c1fbaa2eeca295aee16c4e0916791ce5396bb4fbc802b3d0b8e224ab26834f249238f3a6fdde9a9bc9fb18daee4e468ed9cc4b8338a09892e0b906cac54db355e0f8ca7e14aa811ecce87279214b4c99dc9e7155ca22eea1d798716e4cdff66a4534577bbc9c8478a6e051f18e4cd0070b6d2b4910ed6390fcc04a2fc5ffd9cf6c37748b78c273df5f6c13a41625d35bd98465001af7223581b4aaca7b318d20813e654aa8db6c1c918a916629b11c26c5ab5b19e80d644d618abe92a95a94728344f864d93a5f194744cca0cc29f586f8962572090c7bc0baa1ccf23a8d400fa5f8eefc1a93454352e68c8da865c25213c31e53528567ac86703dc69010a63cb833590b2140a070cc003f0003c000fc003f0003c801a14d2a92c2222d72ac0b386f108707645a4906c19624ab3080000000000000000024b080f08180849dd68be57bbed8b5ec84162588894e5fb2e24932da5caf8921b312ee4a2d547512d0e523a640b498d638ff567e1c47bd40ca6d042baf10efac2d265c49f85f442b47aca8c285dd7600a2c2471e9d9add5761cba90c1145728b441ca06391f5914b1422ec6d5c247e3a250cdfa72f1f62ad5b1283fd4b8300515526f3c79592811198306534c21d5176c7d568cf8b045c5600a2924977be251acfab5d0a390a30c4d4db55121eb0685bcb1f0855541f268b6fe84dc77f46f2ee2eb7b7342aa5d294ff8bae85dd8a209f9ff7fba58bcf1ba659990a417a467b46f298b295c42dee286dbf7bbf0e057422aa1d1c785970dba591272b1b4c0b32a84cec70b332424fea81f7246762cc81447c81d3ec4dc8cd57aa1812cc21446c88593131fc64563ca8a10a6280217e97a24ca6474b411c1468be1f2e20751ee7ae6b982dc0bd7c5628c16a610428e3ab61a5f6ffe6349105217cb75f42d70e8f3020b530021758cf8ce499f58175df683acb1c4bb2c4e15ad6d980f72519f94894b170b2f5cc683297a904586ed7acb95bbd10be34192250b341dedd2c5ffec20fdd1fd0a21e475908ebd3cb668d52636380739a534dd62a68bb6ce70904acc85a6470851a7ba4196c54f2d6aec17ef233648d331c6f9e26baccea137e1608a1a24a9f2f73022123e791aa42f768144f017a3d0e26790bb306db2e66bbd687219e4c219d189e1a8316531c8295590b9175bd6178361906514bdf456a92d087941ae9bf92f16a7d5a5b72e48dea2b3f021cd7d47a505498ac64052c419ae4858906a4c3d56490ddcd915249162c417bd43c6b6a8200721d161d6cea58ba520eb890e125da0eb36210ad2e6cffc9d8d18d5dc09926b4aad4cef8fe7294c90f88b2d4dd48b2603899522ebeac77025448aa4c563ed2ec6d4628f46c528d2958c94669445397c51e48cdb62bdb1bd50e45834392d9c786d093d28724146ed93d1ad36ff44ded8821875fc409ff7448e7bab2984b913597a6b8fcca8bdd7c2896423ba5042edc857b5899c46ed2ec8bfbe98714da41e6f99423813a93eeca44807b9c5288d895ccc0cf50e92f1305f22f58f49cdf0912f8a2592aa8c254fbd208db49548b6d545b537a6e1c694c845f911d27856a8d793c8617da6bd838aeb822591b63f64a80ee4558e44a2291b3fc185e1904222095a97b2f5535ed43d220719f3a56cf72f8d594764d31377ed2db238e28dc8052941471ca4f846614416ba93e3a75a44f2d072bd60b4e71e524436b93532858cc8793411a9f5f87c850a11a9bbe8d9beb1d26f530e91afe437ec96583f1a22897ae1298ba56b425f88345e6c5263e133d6901039bc08f54d0ff27b1b44121afb37aae387cf08229b0a1d7799bbaf1f2410d95854f45117f8f680c8a1453bb97bdf9105f9439259146f2e7a33b8887ec881ee68355beebebc0f4935be908fd7f1353ea4538d3ebfe1b5b398db43a22ec81213eb8da2ac875cd4ec0e5bf43929dd3ce4aaeb6f8d5b2cdb12c343125e23b6a1444784ef90dcf468fa6db5636b87d45f5023ef6e1db2b79082dfd50b43343ae478627fb54256de5373c8e10b268338c669a11cb28bbb8fb3252d238fc3182637e816366cb18043a2dbee5779d7e7f13764fda12f7c5a1768b76ec8ef59f0f382cef4bbda90a3c99f98a395590f1b7258b1333af9a8fea035a4d1f8f0d1c5ffec6ed490f3f76b78a3e4c77b1ab2165666410cf5554b4143cee0bdd7053f313e9e21db88f5c0f285309b2167e8a246b79399ed2a43f2ce60e12d3e0b1e1a6448e284d817e5657b4c7c0cf9d4448b52b465bf488518f2d4cbeabcad0696a330e420e3efced9bdc19084ca3a85e6831917f8855c629b99c576cfcfac17b2fc62c85707e3dfdd772109df18b84cca37f9215cc83ab45d32c48b51b5855c14fa53d1af193a5485168899bf59e10522df511674202f7cf8a89d69e258c08164d38baeef5d105fc1f97c90618575c6f821a8b082e3585395766f45c255c023c2e58be185f54fa1020dfd987b712fbc0cad9a82116ea2d8e4c7e01e450a83949beddaf3c5bcfb8d1e544421c7d052de8c5f67413ca0a0d5e64db850a10d2427a878c2d0ec8ee298129f9a810a27a4f278aefb26aa3bc52a9a90435d17047be098295bdc400513927f17a385715c5fd5542c216f1737fe49a9e25da10a25e4c2ff7fe1ee77a49e90165424216df4d842bcc7f8ed510103a8404296bdfdef82168474e5285047c8d641d6778e495d2f164648afb151f6e45a467ff4a828421721ff7ea4da0b651a24c2d12dae900cd763bc21ac0a218c221c58aa9070185ab10ea8084216ea77f3af718b9d1e350e5001846c53651d27b75b94526aa0e207b9b456665b850ff27d3c3563991abb7e45450f72082eae2c16a474ab175702153c4862cba40b5dd4a2cb387d8fc0620739d8073a39fefd95858d40850ef2aa16d84c7c171c40808a1ca4f56ef94e9161e64f0c5081831c73e4cccbc02ffb476e900b1fdb3c338a4308aba30854d82069fad0d50a19693a2a1220e5012a6a90d4db0b244ef00cad8040050d724831715b6cfd0c5299892dacb74b2d7c8440850cb2b577959082a8b758f80424a080060c1531c8472c25324c78ac4b2db0800324e0018416832a60904b86feafcea9e0617941960556d95a551aad85aa70418ea2d5f335561c49a0a205430057c182858a1524d114def1cc7ab4d82a5490c50a7b4bb52faabe5a450a72fc9b2029c3b69f022a5090b783ec90be1a8ee45cc5095277103cfdc127a453152648254a74c1af556f63b01459be4c67aee8f00d0d004891ca4565c1d55483e0d851e4b01be47f4146d126a248632455fcaac3a9500945628dc1840b44a3852b8322c7e2ef6bf17485103b9200007c224d978d148f76ecb706368001d4c0070801802792ff90957c5bd92fba3b915eac70e14cca5a000070227581ec7da38b7b99dd44fe9b9645f5e2fb87c96b36645e17a39d9147915e85d4e0f1852e78312c8a34fe254f3dfd8b6d8b5024977fbf69326cd86a8122f9ce163894dc2f78e0e21359c68b4d96187a2289be1135265f08a905e9447ab1252ecd8bc26e2c4ee4709f19165ce0fbae6d22cbfeebbb0a174b9a48345f9472c57c74af904c641f2ef66d31b45f67c198485cdc4ce9be3176a14497c8c6b28f0b2643ff758925b2a84dd12e375999552592dc8d089afbf052362891440d7bad7c9709293789dc699a1e7f6a5b78491249f618afca7d61edb248a48d692df8e8ac67e880448ec5d3f02c7828152b8b47e4e8418b056162750b5447e49726a3d2b8b8f2aad788d4c593bab1347e618b2146247955d1ea2c9479dc2c2217fe5bac14edab8ab922d2f5fed01645bfbd7422f2dc7f6d8144ec636620228dc76361de22a47f6187c8618afbb364cf07ce1a227fabb81ea7bb46914264f1f1738bb2235b454388dc322afac383cc687010598a733f396adf20c882c831c25ee8952ed75a1e889cb2325e7861252fbe80c8d55998b6f2eef942eb0fb9d46f4f76c6b692c5f921794186c859219346e53ee40ceefcb0d9a29e2cf890dae50651cd9f2d59d41eb2c798111e1ae32e7a48fca9b27b7d62bc98872cead88bc558945f1e46784852c6f796415e4469cb1d9207792a5d525e3412b643aad220d385b136b66e1df24999f847fd9431d2211ba7ee7e9ecc517b31875c5d90614eaeae34f7cb21bdcb6f315e48c8152471482a25fba132c647351c92b81c5f213e446e11df90b45d36b6c434eacc0d89a314b33624973b5e902bd6036bd890b8d0fdc5686c2af4e235a4179912c7525abe8b5343fae0e5a5b1e8d1c42e0dc94aef3a548b2a6551061ab277683039d9def371861cfe7f762deafcffc30c79436fb1b8419e7c3f2965c841bc86f1cd94b6ec9121cb52d9f22944b954690c59cade71f18bc38178248674f42bfbbf71a5aa58187296be0a29195604bdc190cbd66634e5d81d5fbf90dc4bc6f78b96d093f64236cee3faf2d13791d1855caad9055331f128c78524232fe4abe163b79037bb3c5e098f6f77a1852cef576a6c414aa3d5b2904385dce9b7f1a27f1816529d0a89d6ad4795f3159277b56ff486c882095a215789acd15abdffbcab90f7d3a6bb64510379940ae9438cca210e6eaf9b29642feaa86ff2c864b125852ccab8582cafe3c0f98b4292276e5e6aab3b658342722954aa9f903794f482500ffbf325276497cf1d5994abe247be09f9553384d4e26c999045ed642cf30cbd2dba845c2ccadd789fce8214534252d7b3313315a4db4512d2c8a2d5a88afe283c380048c81eb868537b7a5a90a147c8276854830847296b6c846c6cdfc18bb6e2837c8a903d104d673143e3ac0a11f27614d25c8bd259823884bce942f32fd3e31e21a4714d617eb2f8c5e28982907abf302d1dbcc5eb0610f2c818b51da47262f6835c14f3a3f1e15f3ccf05c007a9b4502c655061bad3eb41a2bd2e2d21db6f29cf83dc9fddf1af3c3fbe941da4611964acd33022b8781de4a822aa0ba2c5a8d35ae42089e3161a31bb2ebb8583f4aba23a487fa1a26411801be462e082cc732fae6f6c6d906863818b2f5fff4d8b52835c283d39a3528a5f110dd27de1639a54f76d289941f25838a3cd15176619a49e12f631728d419213425cb17ad889370c12476123be20039958a117e4d5acd1b8baf52d3c5c90bf18de57a59c2c2d94b42017369a77b14e16d6b8501624298bb2e7fec30bcff10a12774174c1cb3f7e61c3549035e855690609bdde5390feeed30be23b4d701a0559784d6e0cf7132aa62748bb29456b75bc53160013e420374555dbd0f4114b914b7415e9de0b232e9814e96328ee91a28fbf701d45faf62d16a509d1b49928f274bc5bcbb0e5d27da1c8b9ab9a2b05ebda8a8322ffc89e171ac6fc043f9163070e522939eec5174f243bdfe290cafafe964ee4131c65815b65c7029f3991846e558aa377af0e37918b8ee5ac90756aa2891c648631b1290bd7523e13c9e5cbdf7cef2cd1e198c8c5025fbd164c97483c52ab6da5eab544dac266c72faa074e198b4ae4828a2f16df8b43abc7a344d2add9331182ca4816934856b62d660b9f05976149e4a02fcdcdf3b720d58944ee9332886a7e595b1f12b9a40af3f0f2b188631f91e378b128cda0ae7a77445ad9af9f053b7a976e4422b95a0de23aca3f6146a41f59cc619d76f782701139c87b7dc4de164ad78ac8c27c7b76e4fedc4c89c871637950e133c3e28d88f477666a36fafb05dd21d25b87174b8bd505939521f2b475e0f01b9d5e601722a9c91015df3f29e48610f9852c0821bb3fe47d7e10797ba31036fd399c614124d6b693626a8abc5b81c81db6406e1bf69baf052012cbf1ecf62c8a9fe91f9209295d1ba3cac8b71fd217455fb56c612cd43ee46208d9267c1d485d840fe9ed4a0b82c40bb2f8727bc85abec5c266c9c810ebc0147ac8a1feb3c031baf8eef33ca4da2dff6821a1d6d27848a6a16a766a2c8350ef90d58a8b4374cc8b103b64291eaedb6bc44a2fac0e49848b5919850ca9624a87246abdb031c4082ecab039a47257edf01b72484624a38dc6f818875c14dfc2f466dcf382141d4c0187bcd722fb4f4e7b4176bc216df07dfbced6d4ffdc90c7530a2e484b97bab70d79cf64a8fad34e65890d597c1e99077f8ae77a0db9530821c517a434f45f98420db9184e16c70ba6511d8b204c9186f4f9d242c6dde802cfa7404352ef2ec85d8d0602539c21bbc82e1646ae94c285338519922cbaad710c371c5b0b2b03295b5dafebfad463993005199208da0c9ca35936b431a4d7936ee2d5c351ffc590bc8b25cd648bed770da40da6080399ee18d7da2b388398816131f4a5a4446a7df6537c21864d7a990c3424ddb3979e71cd4dce906ee34a4979e24fd4cd905c0639417d1f5fb60c497eb6e0b120e4cf64c8326c851bc94a9121634873ecc24bc8164d8aad18f2f10c6794ebc54ec130641957d0701ffbfedfc090339edecb71bf5dc12f64f70f1a248ad8b8845e4842775ce062513dbbb4e8427a339ffeeab31544e242aa5ba90f1bdbddb1be85c4ea852dae8e05f2420bc968d7dcad4e250bb935ca8cc540675fff8185fc9f51b0afecad0fab2ba4fe95131eb258352e678554f264615a90d4b9b654217fac2dca1fe22e8695a542d215a2471eb320a6e329e4584c73795284c6ab8d14f2095f57c7f81672e728e4925263638f5c0a857cfc9a5bd02321668e4f4863324ab13695db56734262f9da2d8a9359bddf26a4b6bab2961ecce73d4cc82e4587bd4eebfbed2c21db167dcf3fceeb4faa84bcf9d52b5a943abe5a2421f108f92d1f96275f0a09595c56fdaf0b138d051e2169b8fd58507134524a1921b786e1db42bb0a12ae01142155ad5c2d165fb47fc61121afaf90e64e8d5dcb10f27df975472d86ea220e400839781607912c4a9b940a429a7fd576972f6e2c8090b898260bbd1b54deaf7e903f056bc6dadd166fe683dc726aa537e84721463d481e64bc98ae45595af4f2209da8a1dfb0422b53dc415ec1b2a5ad223f3f3ac83aa362756fcdd57d394862db0baac18be71f1e000e92addaec702859b8e2dd200931ae9fe6424d16e46d908a857728d18268e3560db2cc1795dd97d020558b68f47841fc5d760659ad65e02eaaf3de9a0c927aa72cdaae991cbec6208d0cd191688c5fe00e182471dec52fea9d87dbbe2071cb1642be88b45ecf005c905fdefa90ca987cc85b90a5708d555c9dc24e0a0bb21e4b3125a7f5ffb215e40e4d91d3b00a120b368f1be5e2472629c8e1ba5ba5de84d8581a000af2fac895ad986c2c8a0ce004c9dc7e7acae379680fc004f9e5672c7cb8118b6b4b915b7831657481f783709122b92ca81657f908d6828c2217de38fc6c2c8ab50d8b227151cab00c1b4f59f408458e8e19a25dd52f73041479e548296dd7a9f92c3e91e471c922a27b2f76104fe4d82bc4ab74ab125f904ee4a8e95b5c1fcfe26a9a13a94358b0ccce685ee86d2275c14ec87f194272c53491e37f8d7b85679e6c6722fdfb757ec7b3175f2c30913b747578f85fe34c2f913ea5cb60320ebf38a325b20cb737b5a5d55b18a9446ee9b9aa42ac996e082592bcccbcb32dba348e99442279f172381684f0f821897cfe05f1d2c59514ee8b4416b2455fbe4599d341482493a10badffb62bcffc885cd22d76535c4508b323d2191763c6e2ff69b1c06f44960529fa3ba806e99e6344929a05ce18c264333e8b486fbc21d2e52be2ae885c30ba9b7f15d2285322d216c7a4e74e6517c30311497c18d1bac5025f4bf143a4cea8ae7b4d2b612443a44fdde8c32f4b707951882c34844ac8a32b13226f5791cc50dd7ab21e44fe2f9e560beb11e52582c85bf093ed8d82d45f3610b945a66c5019afda5540e428a2c8bffbd5ed5dfe907f58ba18bb28048778e187c442852c90882bbfbbf72191e6e787ced72efc9c0f6945ec4a1732f88ea8f7903ff4f99aec3b12bfa187a475c5e6b1a576f91779c89e2d77fc66631663040ff95b5a9020931ab453ee90cab718b7856dbb0caf1db28b5847a9b258b333ae43de145ee89cb691eb2e74c8b264e1467079edb1c81c928dc7d5cf5a4b6d5d0e793bade3babc17ddf271c8435e1b480661c19a82438e856f91763bcdc0b53764137113f1b1feeb253764f9054f695b901e37aa36248eaf93d62ebc4b6c6cc826ee53ff412b448d6bc8ff1e464a17e648886ac85d6c95ee91e62fca9a8634d72d62dcffd68f050d79bbbb28a4c73157f79f219f90fb2f75aedb636648b4859545b119b8d3da65c8318f75d65864c8213eac38d9edfaea8f21b56c31b25683fc582c7620003124111d0b245ef67889c390b6b5b0a20b1ebc0b52048624cf43b68fc365415a5fc8e7a2c562f8024dcdc67a216bf57d2ca10f3192eb42f6828cb22eaed45c8f0517f2f417c6878b27360eb7900b67b25c0b7cb742ad85bce1ec4df58f3f162b0b39a570897815f7f0c102c04276591c19764a9acc2ffa0ab9b822bba4e80d9b125a217d41867d0bf2b7658c5285a4428b2bdcb3d6450b5121c962c91079bb176f3b53c8c2d256d65a9ec8828814f2edeb75fca24c0df71185a4b6a3a53e2fe4ba060a498ae894c7d62e6eb43e21752ccacf9059345e1985141d08c009b92856de68b9cc8629372109a91daeef6494c1564cc8c5624cbb6d9343255f42d6826becbbd020ac8528219d9c131b5964ff5e741212cb0b96d20291dcf2212117538a6f51dec6ea057084eca376e225b868370b82008c904ab8188b251a23f6a64548bf6d5a0c1c5bae6722a4de5ca1a11a0b53326e08b983b418c547f88f7706021042d6ce20ba785c988ee7293610401072b4aab86e51b5403320a4faa8a5057b15ddd3f841dafeeee96a75c157f7416e152a5d6a514bec2e10400fd290b968863f2d4ad1050d04c0835c1f4c70310b52ba5bfc0e921c95c55827dfbaa8450769c37dc833166a667702c8411adfeafdcf205dae8d83214004047083acabe32bfaa60bfede1808c0061e10400d92094faf76d1f2d6c26990a7bc382ad5c59841da2f0a3511998254f664905b8a166b3d8ba176b631c8feaf450fe1d24b6a06835c688d71233dbab5a0bf201da7c690cef37957bb206d4186cc149ed6e7bd16e4a217f8b475656cc48224c343751891152497b90579bcf2fb65a882bc3226bf52d4847e2b05b918e73bda16fcf8e3060a922c867f7d173406217a27c83dd2473f4ca317f3280013649b166d1b4f88ae6d29452ebe586df41e49b59d148984017420400b9217c46efd17ba18c2664162fb3d391a578b9a5dac207fb1a832b378d46fb283002a48a23c668ba20521be9882bca2f551b3fb275e0440414e8fb13d1dbae8f1854f907d55a58c2aef8ebe420013a42eba5ce15a5461e6c352a42a3f991d5523a85c2b4891bae07a7cba278be615a3c85e107a195c14aa0781053a8081628715a2c8b1d6c3d54b5ee66eb12214d96c4a5f9690710b9d0f02a8bb0268052846b0e213496e542361ac5f2ae41e40e789dc052fa814f928565c7e45278a8f73b238c4d13b45039989159cc0b146d4bc4afd1d566c22b9f5d9156b67ccdef8618526521989d3e28fd87071a3d86045261207aa2e16f7fbcae81ba3c30a4ce4f68eb123e5b5dd6f88b0e21259a89617ee436d84006758618944639a3216c311175619585189d4298b37b248ba98901594c805d5dc9305d642d18bdeb06212d98aff8cbbb0be05a195442e19be53dd1389dcaf3372f3a4ed630e2b2091d448bcf9b06dc662502daab0e21159caa2cd08e2283af7ed88e42dcbcbbfb076c2b1286b44ee8c5dd0e217436f8d8a11a94e34d7c3f988dfa961c522688522d26e3c3e9975ef31264b446e294f46708a1e8da188c8b258fd63527aa13390571c620810811586c859ab59d0e1e31d36ce82092b0a91a36e3466dec663db1322cf719830cf60f9418a14560c224b0d155f6cd1418b41708520d27081f674e6bc680da410560422cb910a19a46ed482e87eb002105916a5dd55886667ff90e3af67a74a85edbef8211b7bb49605417dc7724a58d18799c00a3ee49465c6e25396e891ef21c78d0e42a41cdfd98f05e50a3d242a8da24ec6c2ba60adc8431ab755137ad2d1e9b319acc04352f17a3efa1b3fc600c28a3b248d51087259df1a45b543ee3029f348b0b94ba943121fbca8e15174816f2d5841876c5f38295dd6bdb01b3a87245c14d3e55ff02ece16662be490439b9ebf6f380ffbc4210f1fc960f662ccaa040e59ca2ddf10bdf2427fde904b58ddf9d6ef1748e7862cd6423386197d31fc6d48823e98883116e319b2815429cc0baae11fdd6b48df314f6a511acbacb31a52df67c60fae4511bd91866c8285e81747aaa9201a12d9cb2ec69894ff879d211fad75be3c8df7d16e862c6cf67d832c0adfbd0c49437d8caad12b838ac990b86f3a0b3624f685d71878b14844b5678518d2879d6f0d5e2cac7e2c7ab0220ce93e63d54c6cc640a5156048c6e25b78e1df82d565c517f288f77f8d8ddba5fe155ec841c8fa30f26441be16a40b399a1663a8c713fb620617720c9e5b209b931f4eb5853cb572ddf7a75666815ac856ad57b6222763fab2903cce696103c9e3d9172c10427a8ee82c9dd5f02b8c277bfc7ee3ae0bb5c2d59ed6ef201ccbd855180298600515f27d8bc8a28fcc975f7181155248fea2f45716438b369918ac8842c145e378d13d5ee9c2032bc8f28248219685ba571656382149db3bd91a4533ca4713b2fc911a65ca58627c26e4427756af4e0b79c75d42fed6a06326346e67714a481b5d4c3996fbb5522c0939ab8b22ea62eed2452321099af62241233ca3f40889846a6a903f52ee7b61842c23b7d82e5f3c2e70b00889437eb1c4e3b9c91844489dc5926e2d5f0c0e5a0c2187ff59d1b2c5bb16f342c8524c9960712f2ba46010b2db9b0a8d90c1e8c740c851751ec39c68b80dfe20db772095b1a5fbd5e483b4ffddb345dfb8ef427a9036dae64a8b36a6e20b1e64ed6e97de1968774a7690a507d382e877c1e4687490a32c9e69414b5b5e4e7290a5ca68feaf7f565a2c0e72081352a5976641bf981ba4e330a562bc037141d006794b35647b086bc17535c8516bbe3c5d88c90a1a64a1ad63f429ed9d41a257952f8a115b87890c52178f74453ba32506c9daf73d7a177a85686090eba5accfed9d2fc89317a41396e252c8f8e2eadd05b978d3525a17cf58d5df82441e6c3b3bfddf43c6821c561666f6e49a0792af20f79e6b3ca25dd9bca9206f942bd8e64a6cf48d14243b596c953d4254bd1728c8af652fd565f48d469d2067a18428fda8352bf4152648a51b6d585e8b36f25d8a3cad52c30be52163cfa4c819bebfe8a1a27e8265144916d57be5ffcdcd488922877cdbe92c8a1522e4a1c805e9c3461e27b81886a04873bcd27835f8ae2cec13798bbfe2b1bfa83e853c917c66855f0ced46e3a21339a34d0cc933e90f114ea4961b6d351f2397b54da45a59a1a39bc54cbb26d2c8285be0937b2a3e2413495aa3656d6abd971f1389a843a9f8ffcf168b97481af7b19861a4d86a9425d2af77d811fd5f36b64aa40fa2461c458aa255a144a24eef94d510a1714f22758c7ee4f11bb5e05349a46317a11e461a914724529109972f46d15b2c160b89442dc3ddc87b9bb4ff11e90b25a50babc868e03a22895c55bb6950f17534227de03aab772da87e9111e93f0641a41f3e78b88b48c62fd837c69c7a7ca1883c24b250dcc2da65202622b1dc6ade69e979798188a4c2a25e8be53dc2c287c89f2254905795f4d4c210c90b9bf31afe48160bd242242ae9c5d02c46f1c5e81022498d32566928392db583c8de21c50bc2e8630c41e4689b723fec8b27373410d986b55eb71852c82c02228b0869fa29a4e844ee0f398aeb14b4a1e2457af8211744be85c6a8a5d1ba3e249a2d1654667165c86bf8900b82b6a0311b5d14eadf431a295ec3b60ba1c5b5e92175790777e9e8db53cb43ea6294371bb113272f3ce462fefeceabd51c1775875c9c419cfe8c34da2fec908fa5c8d056da53b2d83aa4d7ea5830d182c7bd231d72f8f41e51ee1b6496e790d6e5a6b7df436ddcc8218b7871efdf38164df0e29084867e3144df86fe1b0e590a2efa8ddf4597a9372411126664e461d54337a491b943258510d7b2da861cfcc4e6a6148f7d256cc8325f6af844bd6d9ed790642cf97ddd5b948523aa218d0819d25e3558ea4b1a52c770df0684daa8133449140402814020100806020101647fe3b71004414028ca7118c6809cd6960f8350a0704010080382402050080604c1603010080e8383402010042008040281602040140e87d11f33d6208bf8b5856ac21b04fe9093f647398fa4e8c44e21f227165ab4dfa5429a172032c0aa3bd80e97183d3890b16ef448c3be01147b52c2ac378d4d5558e68ccaf566eccf8b8906032257f452b598ce2e5bcb4c31ffc6d372cab0eee3081f99ce47e46d7717b51d30f611552430e178c64baf50ec81dd070416b0e4bc5439cd32e52d8d62160301c4da7f84c30d208b911ee0f36dbbce0d1177ac7dfadba534bdd52125d016745691bb5c7bdf908699764d8aa71d742b3a5490d93d308153b75def5e980435b12a731c084a1d82f65d557094fe1c9addbeabe6ca5886057afe55c3ab6c6def3b98e03fa72eaac796fc1cfab271269458727183f150a21fd3a0111efb4ae5764cdd4cb80d11c64f0e0a1f6fbcfe53a2d834e71b2b59fbe89a43ef9e63e93d0c9a9a540b8f8bc2d8a448fe4f0b3eb9b888f907277d3b7d5b981dcaf288ea348ae651dc19427ce33994b445ed99c100d7e6208dc65333b6caca7e6df57c4cd9fa14a900c7586a622a2dc2976145f370ea3a5bf2e8b01c0f30088347e77249d1a59bd3d2a87cd55c0d92cc268f0728c4a435894c634d07c9db1835d2a0915a5e5100c828549b197850ef4b7c62df8b7a7716edbce67b449bd65330769bc71e7fc5972d2b6d852713bab308ba9f8026563c93fd09dbeb23ab4d2a325536b0404f275b2016b24ac977d107ed2a09c516a74230597519c3ad4c60daf81e4f5832849b34c85aa9adb6cc131ab6e3b38167c0ee92b6f81cb0c855dbbea99cb02156dbd2f91351593c3b825fc1a2da26a3ce35cc8505154ddccc758c9ba3a812cdb794cf87676e35fedc0764a3dee06c23f5f4890a08192b847921a361c85723d1ba75694462f802a1093f49318f23d457515ba151dd14c191bb1165167960d8d0b383babc75a275df6f89f28048ecde0951904f3f8e7ae794e74065f735409cbf005bc86709cf349a0e2dc97e9a038035058a2562a1e34d5d14aedacfb256ee8880a8c3f0cb43d6d5a355e14f5dec0bf63a6f450ca1a5ca12f672097e127ddeb2f49c6282b5a3416e157f565131198d429402a8815a2840092840b928b3d480522840098a40114aa110ca500405280145281b0ab8b4457db1090648645ba15a08a2a868a6a10635508062500c15280115a843d55040785a28400d1441156aa1008aa1082aa084a8580caaa01a6aa102355005d5a2562aa00e5550811a50853a54852ad440056aa01aaa412d554195292ea6a102b5a00a25a80215a8852ad4403554a00654a00ed546b5927249a10a65280e15a885ca5075abdea2b408f39f4bfaa5284b9d98305236aa49114aa000654279155494176bd4461842a02c94a100655000e53a5118566b30a83728d44011d4a10e2aa006518af23c63d491d47122077de6a19c5051ce5003052887eaa32a529ad4b3216fe070cf020aa0b4169431d0c7106a50066550c5a28e4a613d0a1ecaa02c44140d191fc685724301e9090953113d802ad44228d4a00a54a016aa5003d5504d4884411d2aa1026aa10235500555a83508a843d551955a50859ac42896df0bcc32d4a082505005b550811aa8832ad44225420a0535500555a8420da8420d5440cda0a10a358c8ad4a01aaa5fb4b6e833e055af2ad3e4933f24a58e6b50594794181a11496359af48e745ddd92e4539a00245a0003547559fd2905b2a1dd709b9f26041092aa0188a50128a500e0a080485252d52a58d2dfe42854231512305a80a14b01599f8199541190c40fd0f44a541257a35a7dbc190c6e65785777960b636e57ce8dc720ac2fd1d1491632364bdc4b635af89d8c7c5a89a1a15d41e3e5916e9fdb1db7d98134b7550a4a598723af3f1254415fa6e7b6640cf334d469207718f22a4cfa5ae867302da850532aa3b187d1a64945e102f50d8e5cb63a6413928402d54a146a8ae42752fdb60dd02500e7528856a4201f52950832a50845aa884ea1f50c6835883502f8a06650875b182e50545a8431d148252a84009d441156a8d2aa9433d54a1f6a8b2944339148fb2caa2330835288322a8850ad4401d510da9be114a4095855fca41156aa1e0283029bf3854a1f6a848f9a8327d6a825505cb64b0b9aa0a90a250306a27e58b8a9486029413cc1616caa00605500ec5a2bcbfd4a77b3154429d41a00454a006d55005d597226402f571518d1e5c900c390e4111943914851268506dd45daa2b1e420e75500a55a102b5a06894a41c8a479992821c8d825d62a80b55a881e2404d81faf29fe88c42c95151521dd45f4485aa08e05c0d25a80425a8852ad4403d54a00654886a5140830a94362a5204e547c5428f2a4819940d65a5ea5b505105855f7fea841d28225a23414620280945a84109a8406d51522902d5068012288032144321945f8a9009d483022e503c6a94294dd23065122e651a2a50acc41f72c80100cbd328b23b18d440e928aa549f81225488889254547fa923c5c48f90a90414967c90da06a32c371eba407fa088a00a6a5084ea320ac85657ddd2368b62a92372ed6f84619a43ad8f5e3a6652896dcaf6fc7d0f96782593c7b31d983be00e528eff9f1824bef996a98038db71cc2d93464995139e5a43b7aaa116e5401d180afc0b9bf8d4728cfa94131fcc9e946a377715335113029b5dd4defb44b4d542f28e518b9e664573af97c529fbaaeb444ffbb9720177bd45f4e0ad4687885e39b16d8e3fd43252d99502681a63f6a71d604f22a4aaa46905875781d0e21ba3e0d649e0810030feee0db5ed8f5b305435091b81f7fcc5c40d8346c404354e831cd5381ae5a879035afb9738d4b330f08c9694d2b8f355cc9c0778feac8a8695a620d2c092f1f9390ac711452237c9a22afa6217efc180ac0eb94609c1c65873790321d9e586c8408d8fb61e1823f30c10cc4137ca42294724a0eba8a6022a1f8bd65b5407ec93b6679360fd032961573a9df5d6b73bd0ad9ce95fab0b26a0dbdbb5a3d7a7190815eb7da2470fb34be005397d9d10ac010610085240024f000c542ac870b639c2110950d7bd1a09568d89e8ddfe92503c2e7232a66436ee640d37f81d7fe7f85ccb17cec17b2e39b16bbfbae0020cf9e3be4c62432b37fcab26b46aab732add1f43b15e6dab552905292d494ca5a552528acade62759bb26b53dd695beb537f69642d9d5597f95a50bcae9acd45a5ce3084addea3a736b92ad7726dea0eedb45f7da651b560cf69665d6a9976d7d25795c6fff375aba51ad154bb50bb9a5f7ab3566b735d6a47ffe97b0dacd5aa9737ab2d9481f854b3ce655e91f04c468c1fc5434346a28c197fa31d081b2159760a1c3407943d2c356e5c74848280d89026390d24ad435923fad8bbfa663bded700d90c824b312f8632f3ff98922649d04f55eae091e7e3c39934dec243590c118e5ec020afbd4164d4297d2c7384156d4b672025b94581d0fdeb9f30de43809296c1508a1b1296134a448705093ed55da50888bed8cfeaa6e717319c05302ef990d7324091050ef886b33b0344fd1c9f4906352bf805da78f926aad74f71c4f28585ada53dbade70f4c28d5ec4967d72f4d052c055d71500e97d801ccb4ae10c53d5c2909f39c074a71aee870346da25b9804d8be3ad8371d8bff5d515e412b8198ec6dac9f72d0edba6c0037abf734636b6617813022c9719c1a013adade3d664cd8fc0501f137675d93ea9665052e37cbbcf162ecc63aed3f60012cfc36aa9043b43d0d564f69b69b7d8d5cb426f7ffdd1f6753512206b31808aa0dc48613423721751dc281329818bcbbbd9380dc5d1b20bc8222e9a03ea8ecda314dd44e2d81b4e9fa061a243b42f55d4853a81f26665046e8e65a18594a78d92b690623c52c85610dd6494147b291c8e15017fa4c3939bedcee54084acc687a973c59fa1547958a154106cc35a6b8911a95739a6bc616144eb8c88abf9a57a692f39ed7ea02c93cfbf327741c5d84dffdc079757ca4457a0107aa6eed2970558efcb7b62017f678d90a540d28376fb6ec8efee33ad713e5dad54e5761e45caae30b4223d21947fb28f15e714cad56155917a5a5d4987afc07581a85ffe893673ab295e808b002473850ddc78ac8d475f1234806e831e41050a5c226b56d47d5545431ce5d80e620c06f724c9036da72bb868fdb864e098d664b46d10f4010e0e9eece41c8bf9a1049b8773ff866dc42a4ffcb88ad6ea28e73e58f29a4d96a3d554e63d0956ad40e8b13210941731e7da137ec6ef3b167d62a2ab44a14040cb434feebd4431cc186b6882af68eb75018e99409e39876079504b4d2e567e0373cd5db8260c4a008ac3c41d3ee0da5472a017e8057a815ea017e805eac7462fd00bf41231fbffffffffff7f6a1e860d32a2942ddbc08028326206c3246566a6dce9876186196698616302c601cd01c801685d5fe3b39c606f0a9c61aa6ced7d2658577b236390ca235f827552b4199f0b2f638c043b3a4af1d95ea8bbc8c408d60bcf7b749f42305b043bf54c4d43f8ef123d043b66b8ba5eadfe4b01c19241ca1b5d6606ff7d6073468ffb1985167b150fec6112d9fb29d15b77609999cb186ead4dbe38b0a49bfe89fa4ad28fdec0127251665a74294515a281ad449caf195690d7d10c2cb5979c23ac6acfc7c03e1dd1414f94d2475e608faf982a65902f4aa105b694ace6d2f3a3bf5805b64827fe35ae3d663628b0c438a8869f5721838a09ac63e1394851a374518c94c09a615379f71e276e8cc01685fbb28ad58cb34060950b925834f6c345df03b6c6f4b812eb1e955c4c3860a7b978508db1432ad580cda2954f9acce0f73360ddf146314839e61e9dc46a413e9565f078754662b18990753147cadfd1119b84976737bef81a13462c9e1362bca2ccc79552c4d6212be71315c99c44ec6799cb5132886bae87d82183b518da6f49e48558f33114ad74bb596310cb55ca787c1ea7235320d68ac2a6677873669e3f2c61153f33ec662019ecc32afb5f1f2a52f63ff6b0588acc89511be91f0febce53144d1cd779763b2c0d42772db0910bcd74581d5450c152e49e9285073385bdd1913c580c7691a51839e430801cce60420a8b4885d9282bd6eb286c31dc485adab3603d14d6f9a95b8bf2fecbf24fd89ee2451ab9611ba370c20ef2a590f7d4ea7ff226ec8ca3ec52a8dd213613b6e9490ed7410a6da265093b3a69349d9cbf712b61338dccab15c9e793495825ae595ddcadd82012d608aa76413947aed411f6f409f94155cef3861861ffdefd744cbf15e38bb0ea8596a2128b2444c544d863529069ac2345913d8455e4a31f2d84688ca142582b247b3c41c25f9c0761878dfe7b62110361bbef95be4ac9a6cee2075b94ffe387a90f9694a27cf1384a83b27bb0389a9bc95df1a75df060291fc7e39827a6ed60bf93665c41a7478ca78365ee1e85fb94be50e660f50b516adb3df24ce2605d8d103313462b5ddc60b9b82c462f5490196883ed2fb8a4164206154735d8b963c7ac1eeed683345877e29d583c912ab99bc10eb53b974af42a4e06cba31492029d5c12fa18ec20159f1ad93e431806fb3d4ae919172df82fd8f9ce7acd2e36d6674b6c55a13676b5a1c3db05fb6548fa8763d882d51a2d12c7602c4d524aac9517fe85cd797c4f2658b024fbff68b25822f10ad6a71849fedefec5142ad8f1ebf12a4f37c32d059b553011cb8a11f23150b0a3eb38a7a34db899acf801b1a428bd109e42ad18a3fcb08578dcccb873d4bc0f9bfaee5cbcd3e5eb750ffb659c104df591c6f3b06d9a76c5d3155ebe7758d25d0cd5cf92d15887bd6abd32b21f6d78b1802dd04a3d3119bc610ad86fe23d5d44c64625609b4cb961a3cf752611b0a4b82c0852373b21230758ebf136d4e2f4d3003b8451ffef0a0fc4a20558823374d00a1ba3749d20c03a1b197ecc29496e1471581bd4a583a6b0763238ac9222aa054d794c27dfb07d8485cbae90da78376c22a9f3c25d59aeb461a92429c565a6104442366cf19ae2b1c829d40b5fc3520ebbcf41c5da91d5b0598c391e3e8c5457a6619d4c8f97622092e443c38e2ab04c17279ec4ebceb083d845c81447f28dcdb036858aa6164da7212bc37a21524355a3943626c35213571537d0f34e6b0cab95ad845c2371bb8a618b957b7c1df45c608661a7683b1d54cad549111876ae686ffa4e2ef0fd0b8b83634ac9a39017967ab4e9388b8ef72e6cd728926af455b9195cd8ba2e1c84902fc61533b6b03d3770d0546f485f0b4b9ec78745c9ae2f3c0b5b78f894b03509576361f3d8a6284dc849865e61794631917263432facb003498b72fc55be1cabb03fde55bf063b694285a52b1b359e58c550054b9c5862b9883c1991f84b89132e58c2664476c4fad1875bb0d6859414f70529612b02704289f5214c8a17597c44007082053b55541675a44629837505cb4ebc48e9e7b3a5990a769e0b32c55c31a6ea22019c48c10ecf23115adbf5d30c4ea0609baf78ec3423a5a49f607b54c960a1d15d48de049b459134888551f12a4ab03f6864241d7f31289d045b8606212eeac9c373043b3dc3068d1bfcd72782edc42b857281a5065209c17ad7d811265670814583607b328b418614a58c62fc812df373623ad6828a530f2c761f1279b73671eec05a0e752a12c7b42e9303cb5eb48bbe7247ce0e37b05a83fc23d76b60ad0b539be4269ee619d8d1a28f66ef84471a03ab8e8ff363dcfbea02db48941cc15216581f33362cc8a842a25781adea234e6aa3340576245153566fa667b509ac6a56112da38e339f24b0ae259b54c9d2e3d311d84c2646ff855d446a4060c9a02a6d859df0f303d6498fd174615b3174c201aba549d189f38d9cdd809d82f4fe9454f99a3060891333abe80715e424b6b28ba298342ad22291d8e2b8f1bc985ea61fb1389545995f12528d37628707d9951b52d45851c4163af624ed9a7e683a11ab45a1c4e7aad805f7106b5554a3cc70f3311162f3a6e0294548817645106b0180dcb8910c2184080a218410c2f203721008610810042140082882158211824f08100236d71862fc0b74d8130f3085aae4d20c9bf4d856e2808fe5cd0b7eaa12421ef896f26afcf088643244eda8b7149a9b238aac669f724c95572f0c2f427600a6a44e86907c0448f7a84901e98c62f48dfae891daa83147a43af49f9124498ec47525e39ded2f915cce889ed1118919f1a820a9915fdaa130f28b517ddc177dcab77ebbb7f9b6d77db7af7d996ff6caf7f7baeffbbaaff8daefff1a5f03f55010997adb937bb5c77cbdf77cea47f774dffbb8eff1652ff3dd5ef9fe5ef73d5feef5f96ae27cf92f7cbdd7fbded7fbaaaffb9eaff3ab22d9fb48632f5c05b5961af2aa015091321ae2d961605a1962f693ddda20797c5be09f7a05f5c130c976bb7b91ba2ee53c6ee017c6ce13124c787c5e65607a077a0131d5a2988083c221850996178211fe65b6dd86d65ec6759e65b6dd62780be99fd216d1c8fae341fb6c4832f1a61a2f68e55354f96960f5596e9b9314b1921ec266fa3d2dfec36dde97a9455b9e46e4a89222b9d80da7c51b70a7a0fd866e5dd0afe59a81b84ff595f6083f55e39a7394ac7a41b306dc9d3681dd31a4bf8ced70b64561ac39ebd59b1b18a1d5b18ec7b75f010bfcb900aa8b293c33b0b4520e0000000000000000000000000000008017a782392522d243dfc011c2b5b31592e4a6a42459ffa0ffa0ffa0ffa0bfbcb603c703a803ee0595a6b40f0d08cd96e26746a3c79c01612c767a28171d972103b2d6579cdaac74173120b545b252723dce95c3801426cca2508ff23fec1710432acee8b9989ec305c41869acbc8b3ea2e31690dbcfc332752c2049bd437b10f2f3daae80606ba7a5691e3db10a485792cee90c74cd149029f8baa61db1b30a0a4879362e5cdcfa989f8068b2952f8655d928d404c4dabfb9ba926a964a0908d2ebf40d7b29fba22420362879aeb728455e2c752b8f772c44400a7f2c46e6f7624d86805852514e6ba3faa6140424ffccd6f9f2c94a7d80e4e13edb1b8f42f700a1b46233b8d6fb5ce84d074881e8d935db3353530c0748e1b18246c13c96f79b20ed5614f94deb8e570d4d102d55724bd63bdd612608ffc8e5332c85d6628270da7471de455fd0e425c8d9a5e516a77655583e610952656863b8e0ff62ae0419a62cf545bfec60a10451b2acdeddae9ed649901392205a768bd3f870ce62fb442408fbbbfb697dee65d145790212a49075e9b3c423e2cb47102b88a768357db23c3de1887ba21196d3d655437838a536f0042388163ff288f5581947d14f2c820c2fa6b656c760a1f7802714418a68bd79927515c72ff044228816e96e5f2a27f90e110467e0d5184c242b340e416e8a17461ace2bf48620fd74aab9bc9638e89e2804f92e27c31c88a6540841be14f51e56145a0ad54190e24b5652bd0f5a2e0441b04653f9fade31630482b4fbac6da13d8b0e085298dea870f4c3b143ff409ec9ff78267796cb0fc49b76bcf7d2acc7601f8896211bf45db42a3e90cdd6526c8acf28ea3d909af132f28e73b20b3d90b2f267c5567530651ec853baf2687f97298707425e7c834e65787edd815c3128c95ba7e0d19c1dc879ebb263298adcf93a901fb4b3b253aa38990e046914630bad61cfa57320f79b63907f5b99617220bc56de4915075274514e5bd83c23d1c181e02415c560b76287c8de40d07c3fd7b6e040723790c2a7c8e20aa43f656d03294d2acfeaed93966c205fdea99a7d8ca31a6b205744d745169d2ec54a0dc4b8e49e5bf9e1fe692035a3c5e30b461d7734102a12d559e91c7f96ce40eabc942a0ec5b27c3603794e9bd1c36d909782ca400ac32c8515c5f9779381ccd6b70fe3bd514ac740786f6ea9d89d964a319029a64b290e718c540b034926acc5527ea85e818114d69b66f970dd135f202706f08417c8a64f175373216f8f1a9ee80261461bbf3f456bf3004f7081a053f1785ed316ad1090c030c0135b20ad8464f865ecb02f1700283ca105d2adc36590cecadb28de1140010560c000580088c2135920d5546aaffa8ab72b45c5cb0dc8cc16e8ea4999a66a035256a9fe71d4ff951a902ec7d63ce7b156d0800cc2c532452a158f3903a2bcab662369bf71c880ec8eae913e78e497b218106ccd2db743ca670d0352ac7171d12ea835f902b23ee8e3460b538eb980a0e9387b4e23e6a21690aabfa72e767660996201692c88b5eac567fa0a0859b9c44cd53c6f5501b1ea516c5c7258659102f275e433be4b8be5440129be8a6961b1d75d8e4e40a8bdbdc6930908b7315f51a64b685a0252708e9a2d54321f0509c8a7170571fee8becb1190b233deb5f02dac3f1110cca5a4ed2ab736682804a4f08290674b69fe31040272a202f401723c32ade48e54422ef200311d345c869f6fa6980224401d20ef3ffc571f73c72b2b068803c4a8b8b973dae699661304d5ce0b7a5d37169fd104295c66d7f5c7c3eac34c90c2fcfa4f58b84a7d194cd45c829c78c05882ecf37071d373ac04a1620cd21abc74d4c38612a4a8757756fcf3c4299c49d4488260133e15365963318b9d48fc59315986b414464c84049952468b907eec4e313e82b415e7e5fbf0e4ed621c41ccb5285dcb370a9d0ca711e4aba668be2d74330a67c4cd22144146a17b5e6c9902e72b13414e9441046124cfaa42f7c4b87308f2af6faf45e9e3a9a8310421b582ff8fddeab798429013650841b6ddfb598bc690670641949c0e17bf7e2c151a41902cd68fe757e41505f9048214afede5d56364d1684010236bbee39e62aa187f208d83b4dcb97f8ca3f50399cf2ab6f7f9a6a928fa40b614362f8ccb6d70061f4815dd8edbc655a6be0782865536e4785dca911e480d329fa3dd92163d93871a3c90eb6ebeecd9d2c5786860ee409e3af575b0d3bd40453b90bcb252f4d596ad3aae0ee4bfffb41825cf68f82b1dba2f8b9aae71e5a3b091229839d8c8210e3b590617a6fd60315d60e0406fa8710319674f5cc5b66f89836d2059c58ff9bca275b001c30642563823f2d078613fb806325439b43dbfb8c83d35905c25f7ea925e8c736b01930672820183064263ebc9530d2993c7cd194891c54b715fb029ab169a81ecaf8fc7bb6457c39b32dc90e1660c3762b809c30d186ebe70e3859b2edc70e1660b375ab8c9c20d166eae7063859b2adc50e1660a3752b889c20d146e9e70e3849b26dc3081942eee73c5197ede5600729861c0304a2027843049b841c2cd116e8c705304a2ba3c8611579e62a9001011e166083542b809c20d106c7e60e3039b1e908145cda21deb17dae1011933d0b2bb55db9a774050ab1dbbf89ac51f3a206ac6ad66e3c643eb734050ad387ea6518e03a2bf36fb05562fe50d48517e468bc3aab2d13620b569a73a96793bb906d5c3870538b0abf08a8229a047906243d3e7afa0c2f80f05e40852f5394681f974a5c646408d20eea6fce392a96890d3e880184110a970b05b4e191bb40852c55959cae58ca4f405902208a565aaed7495647c2c295022c88e1e8ee7e36675583122231022c87dfa7769cd619a59003a8415e3ea6ad05866198eab61ad839c75bfad48a71a520d902108ae69bb2fb65121489ad215f2ec29e5d2d802220419578f3aa618572ca0419042a598a95f6a2d400105d01c481084ace0bff25899dd0b44c0af604081208aa99bcd95a5b3a0d20408f2c7a8abcd03f1b6f80329e38aca1f5b145d1f7e20db8c5d5e7b9f0cb1f481fc2b5be19245b3ce167c2077dfcf9805b9c0e2b907e2e6c365c877bc8b313d107d3adafee173af23ca03c92ba8d3b6cca6166e80f0400afdcd62ce5d6868f17720e5bfbad9955f736406c80e44b348eba27c6c7de9752097a3fb897be8e7d381146bf27916b6cc427b0e64063a7acd5151b7c77220df5f4c1d1ef238ff3890acf64e2d4805a3163810ac2d4465b7d8b9b77d03d1e15914fedcaad3a46e209a5babec57e49c5eb4817cbf6be197f1c1c906b2aceb59ecbd4f43d7402809ab9476db722c4e0dc4cb158da73c54a52c0dc4499dced26dfd0b3490ad4cb45bc7e19fa933909bee6fa22def2b6d06e2fe8c8655f472ee280339fdfd627c72d1884806e2538c71b98515d118c85ea28fd12f74553c8981143e8d35372a0cc4aab029fabf5cd9e16020e5a905575118672d7f8168fed01fb8e65b70f102f1ef6347ac4cb3a15d2036da453a8d2a857f72818ca4c51c8965d97cfc1648fa22115fff0fa6d70219a5f177e4ba45dc2c90cdad5267763acfc202b92f2c78d4d315c8f866d1bac3f65b8c5b818c22beee9a1d5a8cab4014cb5d27fb6371c5a002f929474ddc29a5693d05c2a74515999cbf289602a173a581a5512063fb59e856b9297650208517051565d37870b12710732f6cf853115a2976026163ab2a6ca023966f13c8cf2be9ddebb8e9318128fd4e2985f5537c09e4acd4565d2a779d152590fa56e32b3ec7367912c852276927d151978104c2c3ec779816cdb9e91188ed7e8d4b9ef9e2de0844c7bab79af0b98c2d02291d397aacddac8b820824c7285a5d8cf20cbd6208a43c17d963d88bef722190e29a860bf2a956bf20102cef5df4bab7a8b30402b19dfc31533637b27f4090da8a1ef89ee863f8808c1da5d8d2b92735ec01a93555552f67e5cb060f48b697e1d249a5f8a277408ace2a530ad37c54813a20e543ad9e47b9de3e7240c61ff5a1afde189bc301b9a9d5c2d3764c6bc0cdf139a59455c66ad0f72e86cfe797341445610f361755ec271aba8a7b95a6cad231ea0c44b1e861ffdf8136a3ccd0999c5536cb10b29661f90aba92163656930c546cacdf5e12a38f31b097a20615fc334e1403a9eccf2a670ea830f4db7139d6e63c2e30143af53c5f5c29317d21ff86af9ad6188f435e183e685c76a19ebe5da0391fc78d7cbdc85cb0d37b2d8435c6e82df878ba8103ad27a968c18a1fc5fc3db7f38a2c9402af0c2c85debad060c1b4314d7d388d62965728595d30e33e59ee27a0ac408a57351cb6e5b54aab407ecbd8471e9ce9623c1588976236ee43df06e53aa0a6405cfb69e48cda7fa74b81cc668f8286f94e318604505120c36dabc9f1bce8156c57502085aaafc6e305155c14a29e404a15eda260c1cbf58fc6857202c9cdc6a2b3a81b388ad2675ba82610529fd41d57847a5559282610b4fe3e3d755e9ceb2ad41288d78f813d2cbd061d890075845202c1a2f9ab54c96afe1d49208d7ff3836ff0d9d920819482653b9074d3d3fe08648b7d29447ac49b5a2390cbe21ba7a7737d1a45205b6e908a1b458b956e504420c36abfef479662e67c08e40f0947926aaef9481d94100859f5b479a71647db4120b798cd6f555af35900819417715b61b7c554b91f9082a36fa4722b5f61f301e1a7c77aedb27d3c7331a81e902e8ad2379887aa5368f180f4f2f1f3f09de349ab1d10644662731e5d7c634b0784f074749199c519ed570eda7ccd58ab6a11b90a07e4a737b120356e46f5ba01c1546cbaf2dab19c9c5c885036a00b540d8815d72a50f74b7a972d1acce002250372beac4525adc02ca5c8cb8a0129345f596ce9295cc7c3808ca1e23e6c2da52bf805c503b7c77694aca80b7e675c8bdfed52b2ac5a40eecb6687ab1459c8552c20da5e5abc971e6d73be82c5c2bb5848c75a7355400e69b6a0529d56766c0a087e5d31ba6b6b66140a086bc92af5dac5bfef9c502720a5b87c2d3d26cf8b0e13109af2dd5eb4dd6b17580232cd3f663cfad09d2d129469f9a1c23af55b23206f5aece8b27f835c04c4fc27cbff0c2b254e08887e96c1c76285d1200888d5d7155eeeea03e497ee778ce1637b9e5365501e205a5847ae8edd4cfdeac09b63f2702a705e5f8b03562ccb5d338e1545b409e253fe3b0bef1ba5e8429a20885374690a75db8032415e677831a75312b59230416a47dffcaf9b155e82ac1215e65ef0678e6c4b105543f69dd409901a5025483e53719eb5c3c5e62941328b828a5179a7b9e449102da33ef53eddb148a2f0a67ad392014582cc68b16d7dd39d2a9020bb652f830da8826a8c64100204410821842056f6322b04411890840c31c8286334c60772180ae21886811006e11004214010042160380a214010020841100821c424d2d0072f610b9fe6c2e4b7d6fe79c1e1b29dd251b2a3080ba667e349972333fa661c2139f8cb6a88f3829b1da1cf91d13543dc53bdf933a59c93a5e68f29e55c16ed9cc988b63ff39bf6815853c689d537c377a666105dd80edb0bc69189484c6aec6aa36757e800aed60aa4d1ae34748a4206cfd43f4df65bf5ced631b0909a53751c6656393dd57154aae1d83d32babe1c5c01a70772fc05d04108676766cf363823ffc5056bd5f1fe2c4bc629bc44b14b02ca7a36bc0075c3b6291e1636b77fe109020a9c1c009739029a7d6cce305417ca46d1b85923acf5bb705a49eae3e404219a8ff27e0e52f271abdee8de9a76529a4efc1a25eeec0ebd90c6289c294aab42b4b67b37c71fdc32945ea3b4f0f3359561dc614cae0d025a8417826823706c890a8d37c192c008a06880ede8cf9263ea2f08c14eecfa577088f0751fb3372df91ff7c6f60552414b5599caf2ececac78c845ffdcef66998e529da9078b5f1ffbc4b96232bc7e1cec09193527f801ad7834eef01f3ce953479e4626c00b9c2f7a215fb8125823fedc69def7d663a1a222f0b43773eb96f1ec924179e94a150aef9299217e4d6e53e6b46695a0420d724e2ed38c7d892ed113d1759130e7beebfcfa7256dbd01c2853668d413d2016c3d01827431f95410919adc6d8db01f2731d6e5f6b8a6b3fcd9f71819970ab46c8ba115f652ab2df0637ae664c7034d46d8639b960a6ec3ef6962659a40b9b3dcd8353ebb3d7f6f414c64c0012976aea9ed1f1f8f44932a3b2fab4bf690eccb3852ae2fe58667199e68b4e1a7728023cf95af60b566fa206ce6ee3bd22406ce49c0191c74f239f0b5205410a457de8ac237a868612dc80a1efc7f966f0d4f15672b7d64c31c962cac0bde84e52e8eb3591fc25ba7060b74b548f7439099352f632498487404511a0790e279c93dcf6c1db0bb5e030a88725426ea81b4784d7625ddfdddf571a82d3beb12dc69c4e4e7682f759e86158a29b3222b78dcd8033c5569bdded9c49f662a3936d683bc8ea0c651cab33431408fa84c2a5cc65701f088d0fff845e9cc230bbe85a29569fa3f816641a1600fb78a91e39da99eacd74dfb8d4e3e89f80a2430f370b52c030bbb58af78dc9e160a093d2ba988b47539e8068459fcd1cba98cb52f6ccc5dd7a982dd2159628cf31b08f77f40f6c784d06d4fd46f15df9e8aaeabcbc807ba9dd348a1706ab9c015b187dcbba13030c61e4a000912455157c53762e9d25162ca6141c27b9d614660e077d52a10b22795b135d476e8b321fb64856e602ab5f2e117b554c91245fe24b13a400f723e5d9b753c87829f14d1d908dd24f37e0a58f161b62ae9d8e448c159924ac05505e6411f108af21544ab25244cc9cf017d3521a8af780ff121ea89214d4a97468d4166bf1150ec558f009d3308bafc2cc2564cdad6722181a8a91788635a5c05512437c0a65a11320811ebec4659887bf602294e1295e0b45b8077631119fc151ac058f300f9bf8106c411db88b8b980def712a48c23f5c8ba3f016164116fee354d88a97408306560315c519d2c555e01513899c009056419b4b18ace3d8b1ca1dbc9730a4d4f1d7a5e6bba4b61a3e929c8c18b5db61f1ae6e89bb7aa9ce162089aa74d6632f57b2020cae187bd46937eed7ebf373495b4282025bf46525ca41d32f483534496c8107c4dbef66c3618ce1546b9147aa40487dfa53ff47a913dcb7a25ed45739004883a50244d1876a71b6fabf48c395d3a57211bc5c7547ff64eea0a1168ae986a094c0a065bd7d3eb393eacededd82b1a50ee88de6dcc9db9f066c86ac4869447cebcc18e29fdeec00960bc32fba393a402894eec126e740faadb9ef37e7932efb96c536e5887074dd7bdcfc166c4e71a82636fc1551c387239a0a26f92765413758aa2289525975366d2a98017e061eb923dffac739c0bac504ee717beb46510e6880b5201371baf50600adbbfd3555949762f2a7c72dff61ecf9b2723aed915864abe9aba3f1a116b3ca4c053a75200d0e70afed1220aa421a77010dd1a5ce1f7dc9c5a81b2b240adafde9f18a54cdfb14f70ff46cdb96fac5b79296faca5b79fb7ca76da495bff156dac66f07701577efcab1511b7d1ddb97d6dde6b6d7345311ba59020482b4a1e85265994f9ebc6418700bbba4a648213b07a3b56f34d7f49c7277db351ba458105f341e53ed9c68653a5f52c7d497810572543cf02b0f488d8d6c7818b3ad037739a04950c5502bfa20cc76cf184755ccfb1271f5afe8dfb672870ee66909ea87714ed5ca5ed8f457097ab74cb9de19137ecec87798ab852e4bebe9748502358169be136789f41f1556ae0bc6e67aaff21492ee17c39b70fc91c8b1a4bd99571fff1c7bf200b3eb7c54d26dbaa1bb9d4533444dfac2081de8a5b4699934f166399561ca72395b1e08ae054b5da685cfdc78e3f64492fc13a7230c15504487a66a4e2f49650fc82a107130a0b1c273b8147bb50659109b059d088005c4965db2cd24d6e1debe4e8414be178d68a26b3d4b66bb8ff6cb073d5eaf9b4db7b0079e5d74bbc6ee288b276a587dc72f99fe9be95a17fbce2b85cfc5863a2ba79ca7f6d0d396ec6ec6e8f38dec81a17f575ad9804f14183877e639664f5406be9bf1f8e33d802ff0e56757291881b32148a5c19d206254f5c74f23aaa4cdeac002e969f10bb49b35ac5bbbfa3502392b2def6a5bec34d96fa394540d5223d6c431f5a703bd6b559d377f0b9c619e4754c22b1819919713e3a32b71acbcc6679afb5728b5d6ff29ab632f06becb83a6114ed7399c4f2b16ab39ce2c1fc6410b46f276e4d3b1ea94bcb96d2387ef380f0a86c3d76f924c55ae6e54bf00cac0114338c0b4520efcffc7d5c3e8eefffffffffffff00f4a5a9bb8fb010551ac7dcf945b12c6402420c22a5cdc151111514e14455114455114857b0117041c041c04a400f08429a1283bfef67ce4b9a9935054f9bfcfe452347320a16092e59620164146ca2314c40bf95e1b4b70df08c5b92f4f0d92b1ac2e42b16b75b7fa7933a6488482f4a079dd8d6a3a1f42a18fa585c68edaa68550585651bb31a6fb6c05a120525aee2d496e6cd1000c08c49ba9b08c52defe078596b294ae2ef3de3e78e2c33525f398b63d2848169dfed64f244c8c301ef078eef52e24641f3b28521ecf91141f5d1d2062161274b26dd31cece018ad744c281f71f0fe4b5b3b6a47da6e5005dbb54a4953fa791b1cb95b6dd131e65c83f1357e6c9d93d1721adc3ae3ead8c9ef2d3348fdf6d1eaa644c9ca8089bb2ff1fcefcf1183e28f31c7da8fd21735c29a40e51cd3e3e63746c2608a9fb6bbe1f9b0bd20071959b2f0c84972171457086137d58d2a558c3026ecc78eb5e7f7b061bdc4b25a795ce24c6a5b507fe58a0829928acf02fb51d089f5e90ff7158c1e61d74ec931c85002b99424f2af2fe34c0557ec7b3799b9f72a055e9492789b5989a380ae9c5da163324e3941516c1a87fd64e3de0459398cf428a4bd5e02aa2b65bdf36d6c97247030529521671214c5b6a6babb4a5e0812c5d513c2ed839423328cb01198e7171fb943908a8980dc0cdb3ff4e110fc7037321bd848f041305494b7fcdcd0a2fc019e317898f329b3d403746bbe3c8843ce3b50e83853aab28e4618078a20aa97679249667603a34e37070d57da100dac8e424f88f3905b6680c6e0f0a2ae3a422418e0a523a370e9287a7e0162c6844835c9986201dacd6e443e2e5c5d81b2c94b0cebcdb996024cca7d961d5365640274a4dbfeb3c3f64d02cc43dacb5824a4aa89201aa46cac0cf632391051d420d6739764484f8d43e8c81ac3d989b55c1ba2d41d8b8d0a513917a26c36c92e2f69a647083a4b92e3274b3ed620f26c081974cef83d2a083f245686b63893fe40a8ee63fbf8c5c703447a3e7b61e431d47ff8bda362fe24abaaf8a1084e25d397c274db87ac52320fef3fc72b1f2cd58968aa881af7f03c7214fb51bf3ea80757b47caa4164b72b0f058e34ebd491964dca88c2c376b9d2cff4e81fca3b10e32def35ee4b57dba12889545664a6f76e443d31c7eb5d3ac81a8f51874134768bfe481f433af48f8ee9bc3bb6a6396496bece7fa7560ecac1bfc8bb8cb1febd8f43dbed76293298c40c072356727db85bfd1bc6d3d81b54b68a12e2064a1f5d4477ab89681b72e4f7dbb75fee241bcedccdbcb426f797138534a1a22352573eb786c16576f06cd0540d44c34334c92ed9d290a393c753c80d9c4743735f1992248d3cce905896bc3249efaf6206265998dab0e77c70190615efe49042259b90a198f070567b2c858c310ccff2bcf35c7e5f0c743364da47be3e631808fbf8cfe177fa360343319558490ef3deaaec0b79a49804d7d80bc466fe4931cefb7c17888dc19c54a64b9d0b03f30c2d8bdce705a4ae49690fea1283a2e820ab51d760696ea22848f048f727d9f38041a1dd5ca398888813c31714648cd19b31ac54fb5d502c9e179cf22939754c14448984461a1da152b744414d54cbf78ff0476941413ca5c6652897411b1c0b8a41e63c63836f14d4151479a6d733d47873a944e1cc86e3f1f79114321514fdb65ca6fdbfa59c82c2061b9ab392e123070a8af44fbecd5e2a5e3d41417cdaedfc987770c899a0b02c654fa576aeec4a5014e52bca83463a752551d8e84f24af03110b91a0e82905c930691fc629240ab57fe3e15e8ca9f8089a90bee21de35b48040521b45ec73fe3903704c5e278e7172fff731014a375f8f2d3d628211f2876582d79878d181904ae03057fa93e34e525596a8e034523118da278c4577724711b289c3a97e8ff9335a9a281e26b9060a73d1f79068a243adc1f1b5ab58a8182e8f4775369993ff1058ac13adaf7659dc6b91628f07cd4edfa8f2b7f56a0a0df47ca199af8c81428ca3037328c20a73bdd040a2bd289ab46a6f890380914c5f3ddf8ac2a474b27a2a0517cfcf2b05a53154414868d335fc6952b890f51a07b35921bbc3a881aa2c8f19344bfc65026b58528681ee7bf8d87c82d218a2ed685686f8663511d4441955f0a8714be59164461ecac84d18d881306a2a077a76c42caf0e94940146d967ccb5dc8d60fff508c91a13e1aa377549f1f0a5dabe35beb51a8bb0f4563f62a8d597ecdc1876299a01d362227f13d14232969cc78d9ce3dd343b163dc26922c58fd5d7928700867087b06f72b1e0a3f6bdb7a264dbe18dda1a871adc3b56987629fa9d93bcd09d11b813d51a8915557f52a3de65d87828c5fda6fc6ee1d56e8502051e3fd2fef15be3914435ddc910b7a0e9743d13f55861e93494a8a433168dec954e8137f160e05266ac9ca2b25bc44de50d0de62753a12161f6e28a6f30adb2057a890d33614e68b3e75ce9a5bce86a27f976778314dd4e244a1ff8414564d3a6fe51a0aa28ec7376c581e493514e4ef0bb1722f855f6928d834477e6722f51844433199faeb9537d2f5cf504c1a2edd0e133343512549f1389291ad5e652886efbbb3dd175b99c850a86dfe28e6d4141c63288cce773307cdb6a7188acadc25efe4d7f15ec25014396ec51fbd5a6428180a22c8e48a268dd5fd2f143b869d48b95c723926cc0bc5939ef32dac3c10f5bb50e097ee5298ebb2536d05c685423fc9182a6835477eb7506cefaf67fb95a46dd542e13f3b4ffafa653cb250f02cfe785f2a21a161a148824d43777f5df64b09bb42713beaf4e3b76837ff7b2cd182e3cfb777c30f568582d5b96adb3c4bffa850aca2124d4942a54993b02914cd649041aaa9ccc75c0ac5a1f1dd0e61d3fa28e820688535c8c886427134d3c3442dbd6894271439df57085b3f532d3ba168ec2b43355c583aa409c52fa9cb6245f7196330a150d224c74988e4d22fa138674fc676b33bc2800cadc964f8f852040136919299244c6aee1f28cabccfa73a4e32d9f3406b1382ea4b125f953a50ccbf8fbdd54172778d038528f9f1a6322a07930d14b6573ed47e7ce9a534b08c8368d77e94b29d814251997c992961604857b3578d556a3ebc40d13e64d3b01ad1cba9002d50ac2f3a959b412a404514002950f4b6f3f09635f7231d31c0091477f35de48d149be8a3048a35ece1b129e9fcdc892814ed89dcd1c911e38288c227af30d757997bdd4314afe74984d4e9848b18a270c25ce524253af20b51d861930f21cf370807218ad72f82af5e3e77590751ec19cf2b49b3df3c1444a1595843de59dbdf0351d0af8ef1240344f174f883d416d595d21f8aafb2c384dd8f146f3f14579020fbd39df58de943519f3cda4ec6d588f0a1d0ca234b78716e28f7500c2da2f9fa27c151af8702d911d72737cd28f350bc1a25592e458e2c3a1e0a1a9d84f7d8838cae3b1456649605c7add4fb9d1d8a362a362fc34d8fa89f28760672be161f35f43a143490f8dc8c689431e8504cee3371d351665b994341d6886a7aafdbb1caa1501f9d3cf089f8148c4331d24cbfd410e12fc670284a1add28f25a83d1df50d8f5abf755f95c256e2808d11e136aa621a36d28acb214f2a819f725d95094a1ff25ad50bdcfd68962e8572219d972a5d75018158233b73bc856113514a758d21b8bf99476a4a170acc56f257fd2f86828484b75b87ce26f394371aaafa58ad999a168f7e9813f7e4465b40c05156e23a4c6381ada64281c8d795441cd2d45720c85752a9d96d19a6418c55030b97e2ee5caf0d8ba3014c44e3ba551fdff0b188aa73a1d83e98d8aa87da150e747a749c2a9c15e28f6d7dcf268b07de94281d6aa3bfb239730e14281c383e849ca4a33b75030d51625cd67f3e3b450e0f8ada726554e3e0bc596227d2532c6aa5861a1f0a12e650bfae1284d5728aa0717c1ab2c6e8562f4cb9d6d8a4f53a942315d8c368c77e572e686f6c71742858cd197e7c44da1d0d5aa516846dafea5506026197365bf29e85128ac475bb1d4acee592814a33a845d6ebacec7130aebd13e8e956970b1774271a38a8a26f9e1e1dd84427ff029296636ba30130ae3a11e69cb875f640985914f1d78d64b59e84a2808f5c8731d26ae2a4928f29d304d196e8cb84828ba71bb3dfd7450ea118acfcf374fee6245d108453975e51d9752f9d74528488f6ae67394b7bb4284e2b7491532322bd17a0845313eaf72a470695b2114ec57f6f067f2ae8c20144c396364132cdc910c84c27975af308b1862fda018c43d072d2f211b5a1f14ceeba76355f98dde83a2b82b5a6b211c42e641b1a93d96b4bc78267750d88fba2ee2cfd8883a284aed604d1bc31a3b2407c570d78de257e348cec041f1a8b9a434a6266edfa0e86256a5e3588d95d8a05055bc9dae1ae4d21a14f6af84faecdd7094d2a0585232ba6d82ef963328660aeb8ffa5f19148a237b28b0aac728f3627b2b473d14b8ad974348ebb186508079288a8e69d2967283c88b8762dac8d7d16915f6230a19e01d8af27a97a9ab7e9de576287870f576985cb395f24461943e7747ac52edb00e45b9172ed591c4597ae8507411591d847230f7dc01700ec5d6288d7b4798208ea31c0ad7313f260bd33f7926c6818a3002e15090ee2abb55e389d4fd868278696bcf3f0bc127876e28baac1b7d970fdc9900601b0ad2e7c7751ddd45f08da04128201b0af6afaf72fd224e674e1446a599d9b7560591700d4565da20e549595e954d021d806928c86a15b4b4baa3726a02d1501cf37ca9995248b2c000cf50f0c85156422a9c5a2b26d00c0597ff3ab2ca94f4538622f306154c3e36623532144ae3af0612e4543fa278018ea1e8422f4290b8eba788a1f8d14a9beeca5d263b0c050ee3d2a4c7bb2655014371ffa3920c524e2e6f97c02f143938b076cc76ccda00e885a20879295d8765b6a709805d28d6fbcb09e6e0bf2600b9509426536ac95c1a2aa0c703700bc5dd2ae20fce30c641e608d442c17fa4b8ddd8d26221c02c14fde46e88d711a72d00b15064edb853f9329c699c11840ac02b14f9863854796d6cf74e7900ad505816f739f6381a919a024006b00a85e2d7a844ab42db0409a442c195c863ddd5c87d06388542b189da932ece3fd4044ae1f695082a6f916f1e350246a12845cab1f5b2babc38140a1b26233fb54b740f9940d51e44dfc8577b47260474426153858cb21a75ec69344a60130a329e08eb7408e511c5119009453ba1316a9d3bdc691001975060a9f7d4ad1a5edaae035442f15863cb13b950fd39023009854ee9b2f41fbad3b348283a6f6097524d171ae4031ea1a82bef425f24ba37628402690c24ae4f862d3105508386068145286aad761813b7d3e2392e0b4884c2b1de078728cee9da5101875090420892319c5d45145144362002288462bc7af95522343a7f82f0e843abd013d155130885ba112d85a9995aa67f50289923ac37a636e6e283d5631a6509efaf92f5a028ac9e1c4a2265302d590279a09883ab6d2c69bdda415136d3ca1987667fbf0e0ad19377143272dd2a07456deb28dd538b8b0307c38d87cf69b8ee0ab941313376b06f6e9e156dc0056b1443c23528b672d41929ee4706390d9014c26345838625a1191473af3d7399382e5106fbce8a87baccef4c62507c9541898a5f4bca6d13f644db8ea892fe59814131e48ac6ca5f1682fd82e342c56d2db2a1e78282d4f14dc97cee0e33b1449b4ad3118e92e6258a5237b6d0fe86e5182d20f6acb956b61f899005853a2936b8e53da557f0a3e8fd30d251465f295194af922f25e2a5d411153c7e9179e6af42185350b015be1abe21b6380305475fbaeba5abb8d6090afc2c8c76e46ddea626c0a6528a10df73adad04c56b3669dea127b24d62e73193b210d6d12f098abd6e1c8474b8379144420739b927d3d68e222328888c988d077329af08c66c216ff5b7c2fb1682a294cd830da8e2b90a42100284004110020462d9f401823484088882ca10420c5244760752101008621884411084421004411004411024234008100206411004c110444c837c9b5501e6e755d2c2032a20425efa8dfcf900bd8b7883199556dadf6574bdfd02299280a42689aa10d2b00d0b914688c63844e538c874b09c1ecab8cd0b9a3f064a920b34fa03e9068574980fe9f9bafc630dd0f2382f4901baef280f06c9140c6eb51e7ae0c6c6522ad2a207ce7802b016050fe1cf60a7fa952bfa1cc1f1e3834f1c6397366eed95634c1ecd88c46093837481b04a6356438bf0f79a2509884fa96570feea3af6d01ba84c9ef34b937dc20b4bbe080dce657118ae2e66c66c9fd1bb9ab38b475085088109a3799347824f3c72a4300463d20814cf8576020dc08aa45ed699db4d2e6c834793c387c3742842b54e962d2ef82bb43f8bc0a113eac9d57179d3b94a18b6c8194bde7d30971f836f56091881172b871bd316609fc50bb4b3e26900f246cc656045e7e17c77b067c7fc4f9124d89e03c3b5218bb3620f880b7f1925bad6c180e04b9cb69458fa3639ae721e801dc272b0b32a9114d97996e4a026a2ea8727d5380d148dd8d29921264dce4e11df9534d8c8dfd849f501643398e0068bdbed0d9cea635400ab70710314b99b93232417204c209621530a1278363db97a4f632a815e8642b31a58a5d91b082ea4ff55e19b94ad635a402f74b62a27edb0b8737a6d337d9f9ef53c5755695cadbeb24d3dc4e252dd70d2d31fbd3bcaa423e22c09eeb1a433e802d401ee58e9feae64db526126b220c9af111049f81cecd47b4fa8212d88fed22211b46dfaaf085233525ec20095113c3fc38a778b91f87c06ab80d00067ef3de00e3986115e2626ad5fe32bbac635f426fdc935a0fbc0fbc0d30a506ddfad98b8e440d96236b0c88f204c90bf3e5dbdf52188a1837fea67e030757ce17716f8e8df4d180512fd62db5f7d11f660296665bc703d0527e45314403b1706381d0957c13b1425451057498279bb78cab202e5496396a525ac60793888094a610d9ff7384cb023433cf04b8e294514c5942f0ba24f62c1845610ac6229102c9ea0693c10819bb0c0a529eaaef127b064390a58845d0a0c218e02860c660123c393001f1d4be2b8709484cd918fe28b8722a15ce6548090e1272088b0132044f0121062dc04c822abaca53179743571976ae2c36f9ea14fdb32e6b3c40fa361da14042a55e43e3c66c2e455632fdc7517e514193d8c37918104de15efe6242a100c4e8360601f1484804165a00fec46024c2a2410cea01d9c892052e16a3d1567090a6138f810003fb887d0e77a4e7c78075b4283401cc80415e11d9c0426014c6811cac0a9001a98038280602c280e8c198276b02100064c83733010f8018c4017b4043701201c85ca00600c44b79f2628226cea16301725d8bb86771a75e18582dca60e84950fe6216d46ccc76d853834aa13b56d97f688e227c00429e142e807d0049cb011ea41984026a8842f0218d80724014ea010e48117010f5e02951025f408a381730009368140880ea67382d2c03673032ea1256008f8c02610088a0e36db2124b926edef1e3423e31d182ec9814d6436a81e09d0bb17646e4211c11ecc84a509238a20e44ca4b21d35e125e408e6a02340503a50117821db840d1a024618864a7e085ab2334e151ca4fc925817cfd825101e48045fa01180061624b003622504327506e5c6ced4c7f52933c01d0112c034c011900080000ef803954008a002f48077200958041c4010e004782380e82a2e2d3f80a9fdade04812457ab00f01f2194110db837dc040d88716e282d08f17c2832cf838098790136ad3bf9fe5561d57178ff43121e4f41c903d4d795c3b3ed8f008a689d172cd3cc88ad7dfc324e56284700778774a78a58815620bdd0ad153cd0ebe924ea35d010c4287c00c250981efacff534ec71a59cd872c0a696bcc004f239ff0ff1dcfdd6938ffd70f92e570a8bc529f772beb9ea0d36ab85c83a21ff30abcbc2fe4db20719dc03952da36ec601ec45261e1092074101a0280501b017ae6c4836608957590ed79256d6732edc0a2106d711395c01c65fb1341280aac7bf724374748b9f3aa261395c486a0567c093fa24ea012d82040adb5e902f231f037c7f71d3c5318dcb1414b8815d89fbf8147cabdbf6764c3f573ff98934322a47b851dcd89a05f537747c6e5b2abb6fdac7e62e54a8a7f4ce3e428779b792b76a1260e35c11bcc995553634fffd973d1e0191977df2e153ca5fc9f9cfbd87879ca6b77efbebdc40b8e087917a2662f3bb06a76a0781e1d38d38f8c93cbbe2ac5bb444e1e2c845ea5ea83b5f97d0f132fa95a5bf197fc296957d4b8f71a6fdbec9ee55d85a419b53f568c781e7b2ae22ebf0752e3a0dc8de7456b7cabf7afe6458437d6dff3b82b54a5d3c05a0fb5b5060e4ed7ba1bbf6b2f257c456b6ff192da15af04347c57035c223b22c6af5f0bc8e2176edeeb9d0af997377f2aaea8f85aedaeeb1773e5160b9d3add03d04551feb21f5bce11b37f26284d02b4cb005aa0193f34b0b4520e0000000000000080500400000018450080c1157987879d9bca293761ff7783865f11119102393b3b3b3b3b3b3b8be502db03e303f7034d4dded4e3d3b064144c083391f593a26109d215ff795d98e89d613bbb9086dd931c35c392152972e64f465919f65ab5cfac3069521492618bc25358ca4457f663589cb74198955f4c8918f6752433e270ee51741896fbdabb5852d71c82614d95b4fdcf0817a5ee0b4bfeba20f4c56413e285e542868dca42a7bd285dd8826a8c2bb8add03be6c28e13d271813e647c6c6149d184fd7ad08cead4c232214ed25e8655369685456b32699ac58a829f582cb08b374352c4c2b1b047b4d0d046ab0251afb04adc450b874641b7c20eb3eb2eac6ea4eeaab0c4c85e29997daa1815964771050ba6292c15fa4ee752d86290318389f07fd7541496546afaff507fbe87c292ec1ad3836858297fc28ea2b38aeb7e1d49da099b5fc9645a4477cc4d582fb67ab79125d18d094bc7e9a58cbaa944a225ec354f5f1195f6d457c29ab1f328c565469184d542ad06e517d7438d84e5c4222a85cf7f381f611d891829389a30311a61a7c96bf19d45a15e8ab08539aba81445fac822c2b2f2407b2faae94cc5107668927b08e2d14c11c2da671f290d779ef3202c172fb0301a05eb4f0361494926c4f206b14bfdc17e1745913490f1c9d3074bafc5976e1dfad745670011d88345f67144a6a8b126c2834532b2faaf300b2a96803bd8d1363d848d931cb60eb6fd8be3e2a314b229cb0173b0633ea53a86bb3a07c1c162314538a4bea051b26fb0c59f60e9d133d4ff6db0c45dadb01cc44a3e6a0db62d79a6aaf4f8d2331aac96aec212ab079367cd600bc322bde4a77ad11f19ac27f391b65114f7f1e2c4f6286a742f6e59d43f064b1aad518b1bfcc746182ca16f1b234c4449a2bf6093721445a7d18fca726940172c62b195157437f9d7822d08f918937e1ca41483055b8c6764ea35cf0859c19ae10ff47b255f144215ec13296e4816a660cd994611959c716e888245f7d1621d82a943f1043b86a579f910ef33c1be93ba2266559c0d192cc156719e2faa5a145d21c196a6f7af23e4f9d3882358a6628e0a2ad893cf890816bd90727d783a4f85630896b8ba6519044ba96a62b380205832c64519daa82c26e90af881bd2e578a74cf614af31ed81fd9dc46dd4e1e07c10eec5461a32652238e269609c881456624734449d84723133b93c85df52529ada0241c267648122c4f7a53d6328a25dc2596781665352a91759ad8209c25b6b0e191c287689126e983abc4164f55d4778f63f36f626b7094d8297f3c2a62ebd7d193d833235db2482b5c90c692c1496299ac28d046518e31f8c8061789a52a0697628454bc66d6e020b1e963e41d557f1364ba20dc23b6b8df648f0e764c6b472cf9582b4d216e86c88dd87facbac751b816bd63c492a20bf7c1348a6116358a617d8cc3556c54ad218db07c468a923ee3e4f495480d59842df5391fd955e375936548226cf15a0841766f52c98d64c8216c13cd2cff5fa398164a4821ec15af1c23d5bc40f722005d2332083b98feb8942c057d1403615b7b18699a2eb5bafcc1facfd4e83e366245e801e983f5325433d2ca14b2073b4e9fc5ecc571f658f260af28a3288a0e2d6a869c3bd824279636a5e850461444ea604db9eed1bf0bd4e3528787ccc116e63ec40abd6255e2646d481c6c193354b070f419a9b62a43de60af8bab8aa0936e2d6d83b5d284941b65c4858435d8c2f2f94e627ce5b3a0c116438ad9746429457f72063b844a92117c2e8aeb8b275206fbe4a5f1df9ecd8e58c2209d586e2b4e644dad648a0b19836d2cd414dd9bf8376a1612064b857bcf731ae25b13bb857cc1e6b5de6813edf12f2ed841d27a051ea142744a0bb6e93c8b9f1b85e3cf59b05ae84bd1a486e6182a9ec815ac11632917cc5614f6a3829d2346ea1bf466490e0a99829dabca71a3424c0beb0989823dd354edfcb7f236c40179822d371cee448a9a525cc18034c10e2a6e06196fcc105b4496603f870d7d166c56cf0da022114982e523ef34e309c9e01a4d20e0a800c013398225d3755ea8aba01563129022d8abc16fc5f3f4c95d42b0fd36c6147457242fac90205832441bacd7cd5cfe81752ef8450fb68f91ed81753236a84c3125bfd181edc679529ee0a0e2991cd8cc411d459746c29f897542461221f7f9b42b9858fa2c33e6f89da4f425b67f98a78c151b8559620b1683edcb9a7025b6f0ba88bf9653925262d18a1cf18a97639ac46619a4071627892de46dfaa4a5d387456289f850915c0e2a851e124b6a636caaf5a3208fd85238a5588e862356a920a6f83428877d23b62016fa4c435e8710462c0f1ca7858e824a0e5ec4567361ab991cb62215b1552cfd8b4a29e51113b1437a78e65778213a442ca612f3bce15110951f62794c8d2415d7a4a41b6235ebc9202dca333617624b51534a8f33420a5142ec0c42e8533c736ad520964cb9a042cd9af8a605b1cdc57f908691d503b1fdc8457a7ee4e92880d8cec20a75a2338c90fec3a2b239eac0a2e0e17ed82946c6701b5a94751f56bde014d76c424e3e6c318accb72baa0a8bdac356c1c62f140b8e44d2c316d3838fc58a41860acec3167e4a3cd24e8d8f871d3a3fbaa2c711e9bfc31a6971a8af86ccd576d8b46abdbe0289d66b1db61864b4b0d11923dd061db620dec8edcd63dc2873d8ac231dd23ce7c5881cb6f811f728467e79ed38ec20293124c50bf2a57058afa20c8f32fea954a16f582d98e494d1cb67b01bf649e7a0692b1efcda86bd223a630ca71a1eb261ab28e119e4caf8c9d6b05ee41567a6156f8a54c30e21cac437d0f5045a9454a6bff0b3a341d404abcc7dffe9ad56dc571625c13e6657510ad7d187cf23582ff09f5c39fe5165a80816d5d41d79ec747cc9106ce152dec525d7a8a29c6a405d3d309d85d94511fff40b03cadfa958cc349382105e133a54f41b29a2e40c939d481dd6358532971f8c4981c444210005e425965831f56ea4508935a625760c9a42aee882a754b909b212ab8c7ae36fae185c959430404e625f6b6e8a81e3d84515496c613dfa059b9b152c91d8279c63d07f713afe9058fd515690279a491bff882dae98223f8e788414ee881d23845c8153c85b5d37627bbe243126e246e38cd8bf4a63e7417c7acc8b58af2eb8a0320a3e5651c4e27b93b335a9ece744ac7b2159514aa9e9410311ab78d55ddaab49a21f62bd607527b2a184ba5043ec5712cb72995888bdafbcc94f566b5542ec15efaa3454142fe806b1660595d139a698844e105b5c95afc982fa050f0bc416caa33075497204b300b1398647c54c33dd487fd87cba2b68a678860f3f2c95c222b14af1cbac3eac15fde7e528eafba6483e2ca942c6b0f28288a7730f4b668537792b4e3231f5b064341557dce0fb1b957958aae2beb8e70f2e9a120f9477d832464dc93cd49a80622c0059483b2cb1c34b2a9e0c1e85cd2043d6a1104004920e7b55477e6443ca1435879cc3127a61e904e9eb500159051669a418645a147f0b908103878cc3fa48a7426d0a711c21241cf695f8e78a8ccba41fe41b76ca19797213977b42778474c392650ede20ac84a49511b20ddb656c95738e3e4836ec18a58b42d4d3e30a5f0f720d3b6c7584ed543f8670906a586633e3994290d4b5a5611f8f53c98fe267f442c362f6c01a9993cc5de80c8be6a374710e1b37482d5207e31c7a3198903e21cb5008a00349862ddfe5ec5394f99b640d720ceb6d3ca5e76a598c344831ec17f7cb6c7c24e47222c3b0f678458a69b921a118241836fb87545114985dcce405f985bd6206bf91c73c62f963482fac15bca2b05cbb7dc4905d581f275efe2efd9b78f185e4c2929165cab820a39c2bd9c2ce181a5d36216da5890d436a61af2057f2a51aa9bc922cac1777c7f11bad84343fb1e546f3055fe15c7a0616d69509922b68b84cf1f3425e61073721fb18d2766656d8e21ba6e27a2e97e4d40a5985b5b2442ce48b14e7fc00a8425261bbc6f289776b792d9e535832e5d148623ba90940808c15a414d6ca1f57790d255635848cc26a911f8a4d64d2c60f120a6b865cc4eee6ed8b0f79904fd8ebd752a5439f0c7b12010007e984bd2aead387e907b16e529d4dd8c2059f34ad144afc0c00382413b61458f6040b29ad827a02b98445ef4208619d9b81fd12a828a412d6f38ccc51aa3129a82a004fc8246cf328932ff47c7c77f18644c232958f1716559e8a71431e61037fd8616385d1cd3b99dd0fdb5aac186a8da5a5e77d5872e97cea9f4ac617cc872d94c67f5651c9ff4bddc3be8ea145e19563b417a687d5e92c852c897364a93c6cf1859cd0655f7123090f3bc8398ba2464f9a4f7187add15e6ad00f19b21db6781bb68f7ee7d43fadc312d7d25dd8a4136274587f429e4e3710bd183d8725c44b2b7898942ea67258cf6e2464fc539d7b89c332f3175fc84f5dc4e0b048a3bb26ff0bbaa2c81b8aaa31ea12711ce9e8dd5b8f7ac3f9f9b6a16e189f65c8bceafedab0d54ee5ad0cd22b7d65c34e2ae7d8f8c24d76ba86253854450e2e488baf52352c0d2489349208995c0d40d3b04df4864e51a6fe45a38a8645e52978c5cc0c42423dc35217d5e4c47110921e66d87723ce575a4c0b123a4009b40c8b45913a9afd90c9783c27940c3b3207d275b93e193ec6b005ffe9dd7f5d6139a918960a4d69e366f2f32961d8f473243489858f8f42c1b05aac6c20fe50427014fa853d92484e47eb933f2a5ed851de638533bb35f12eacf614854ab97b7546e7c27a61376ea50a2f94b4b7b0fa885fb2c8171cf7ac852d541a936d145f8c2c2cd917776bd28c3e45a918813eb158f4557ef73ecd462f502cec20a53952d67365a257d81fc484344d67580fb4c296d5d1585a15368d538b52d427b36041851dfdc924e8c967f7633885f52ed964bc30aecc7a296c5fe61524eb7e3c4f4761678a828454bf17f59a5058b357b502c7d350f24f582f725320cf173e8a76c226b77241d4968a5fd884bd7bb7d129debf071613b628d0bfe0bb2ba1bb252cbb15539a8f33a78b4295b0e9851ba9ec22d2e19c84ed52e018d63ac850c10209ab3747f6e5475a063121e81166e62eab1092676a84bd22ab4991ba98a045d81b9ec4ada5a5bb8b794289b045fbd1fa68cab2282c46093a84e5734a1a9d52c6c86b23a8107618218f85bdfce17c10d64b91da7ec4cb8c1b56160505c272162ae3c2f25cb886fe607b10c7f94f61c5ae511f6c8fbe21df9512a217d50d680ff60857c166231e857ef26029478fba6c2a68c8bf83256436f5aa1bd933880e96c94e47ef5549f3610e967017daac5e3487684c71b005f91e9e74e4c6ed0a0250150a5ca0d2077a83a20c7d972a4f4af9d9c0d3de8771267b1c570d568b2616cff34a8a7942831da591f498fad1c2f6196c3239c282c6c9b45095c18ee2c9f71052aa339e134b6ca8cbfcd78d951283cdc25a7d75daf33404839d7249e54995d2a2a802e80bf6b594e1528af14569de055b1077c92aae34dc06c5405bb0a93fba7071e9c578162cd8e2e81ddbd3b30aa36208ba0262f5a458e715c557b10055c17abb7a0f8d820c2953ad80a660bd0ae9eb2b6e749a4551b059c4069a3105835da8325b904108111242082104751fa22204411008c8206390410a2aab1d72188ac3200641100421110441100441100481100441100a411004a118912864f901094e811f411f8103f9802eb3939803d6c31863049acb89e48366d13facb68884d167341fdb8bec361855644513b2e27636a6e0ba4113d87abb5c5376c921043c654a8bf78006c2831f0866c00ccd07af3f78d69c6c08220d1aa78919078df4684880092037974dcdc390c5d4aee30317bd14795de4aa9fc4ba8ca900ee029772c9dbe497cae8ffe908287b5f410f875e36c99eac5363d074a9c1063fc3cb503af05d7752d5b1ed2c6c6f6e1eb6c066a12d64c9b50e07f7741d1f4c527dac53cdce99c81bd228deea7d6115579641764b3552b1850738543bd49215ae15631f6ade1561db48ec9d4b9163db532b0487d3ece9bc6eed4d44e0cefea6519f3a7a4856a4888971ac210a533e46d2e09a6d080daaf4e8bf88800228ec848be2bc125e2e285e8fc8ef8783e141f577b0a1d061d99fd26c4f035b5ff22feda8f912ac6ac2d4830a1dcbdef1c5c963ae5321511b662ab1846094258c54469a0cf0520f8ff14707f86176807731b5e42c188647ff7fca717500497e5ed0380813f1bb842ec391133bd6ce269f555621f83d8ee25564025cdc84a9a77ff082ab20f96cfc242d7142657a3ef1f0d3033d7d7e6e8305115ab68e2125540a1b082481ef382b561b9ab339defeb5b1ae6607eb089dd571298bd6eaaaf8816c23560c02389bcd103842bb9345eeb12e779ba64101b8af40e6f27ad88b83e197bd4bc77059ec1d25e23f83bb144e40cee3c398e9f9738d206694853d642408bb61a608fcae23f6be72dfc30cc38a52341f3d8723a58148e3eaebf43c4e9598852dd8013ce28d862a432806e864396b0ccfea8a6fc86bc04c21625bfab799d4fdc48763e603f05c267ea3d6dfea680d9aabaa528bac2e139e39366e34cf1480fffbea078db1d37a5b77ffaa7163d9521f91e71131f3847ad7c20270cf62a2014032f3bc50238c2f2c1f14c526c4cc02bae0e5e632c14105794c4489c95f31204e7a332750208ab438cbe8198f11d470e4c789008e5196dfc6768cf33a57f44e1872731de1c8cd714d497912cc6ac0dadb82354a51955e97ae7fcb8d0df75a536a55aeb3336ac20a3ba61685700303b418012c9ca5e29582e5741bd6a4980f23830b9ff340462e793f7d4d1975b1d404d23a551ed1b0abd9c95871a71a0d72114ba76a275fa79a27bf5b127846194e9ced02640f3b2b581245b044412135c3bea5107d09eadc384341203888bfdf10efb7cdeea67768eb878c4fcba7daddc16dbd9238f34651b7bb04bd38d5222d651746943a7441410e2316209432322a1b4987caa4fc37439ac16da480c97a4ada96dc2246aefe154da4832d0ef5388889b377d60fa00c1d298b676b5361f8bd40ba23522d3d4dab1d552f11ba5a1158b0faa53423283c2b24c640c21cfabc1495a4c0820a55c5fe42394043ab45bc99354d5cd5ffad7c54276974be3289b0cb85e969694eb33a4a92741a316fd887469377b9a3b8f43383fbe47bc6ba7c17acbd3411a725c19c9f99d8522ebd44734382121312d4da3358d61dd9791298a5469c7468de494ee2e395164f77749f313e4412715213b0781eebe5291105d1bc26f840e69e59b311aa8dcbd0f023d73eeec6e9f86cae67e83bbc5f124de6e0e8113d1a10269ed46673322b196d09ad011833ab9b659b2d7d1347314195f865d4b5e2efae37854298dcf1aa55152c0659397bc552a058d155b55247dcd563b0056947c7ccfcce9aaffa0cf4bd6a73fe4bc16ed14948ea00cafaad68462c3e6f75c20f6dfd79e2223ca44059f26e4c074788623b243e521948ba8432021e297af7a1b40f909590d48f80e2fd144e8e5b082bc59d0180ab63985cb83478fb3834c83b02055e66c306b29e83f9373fb430f229c45db6d109ef8a0b1ea0c11fe4e4fb8eaa2fc7906e782ff784d3cc302eb2f2429e9bd5136c69a39ffeb725162847ab8b2048515e1b053b236b49d758606a926b26ecff19c1e300382a4decf23b9ee9d5a85cc8e604a6f4a611e2204501e34b609018e0597542af6b7016fdbc2dbf622f9c7d80ffa93ac1324fa30c6839649137ec05510b86121de64950f05c6494d32ae1f9c3b8bd8b604de79e31ef069a9488413be32337597d006dfdeabe223cab5a203efecdf57b92fc0b6a966484a1f758836e80ec12b916e8397d10055a6e90f98bb0f06a737b6764f447f04a1969b5e9de1401d73779f5c1d23c55e63217954a426196354131d78a1ac04668f78f21026742c789e33fe5a75def68ca932a95c10d79e5b59a46360a8dd0e872f12750cf2a6c05d96a9868155ece834f4a9bec6e663a30bf4f3aaa607fa7f997ae86b7f69183533f778e8b5fc180a1c9030cfe272d5e340823917006320e6945028d9cf208d559cfe625c0a5696d6f15f797d33fd5e4fc615df2cd1463f1f3b703de5cae336f3700eb5d19b644224dc56acc4c14b026c8cf13100568c2deed3b2fbd631d275ab8465f8cb796b10f7926bb6c0d58f38435337475b374e2a25b140411714a795174595a23255a2179c2fc286b0190f5be0f304b676bae0acf1762b36870103d1d16c0e245372b1c312a61782056d7bf23c64a082127f15dc498ea65ea5df6b677fbbe9fdd74de88f8da876d79fda7af78885a0cb2b7cb8bd29dd17fc59b3418db45f7d27b05bda1bde9bd09eff3aea2f7e9e5e9fdf12675e37eafbdf5bc8dafc7d7ef57a117e17dd6bdf83dbd3dbd7cbce4ee5c6f6bafbe97e175ef7ef4227a33bd6dbcd5ddafb7b7b79f97f095f175dad57b1fbdbfbd3f6fba2edcafa1f7d2dbe9f5f1727569bfb3bdecbccb6fa7b7f8d0cb7703150a2df0328a8f1fac6fe62ed54bd66bed5df642f116bbb5e32d0a8ef7267a63786dbf165ee7aeaff7a377d19be9edd65bef8a48af62cd835a3a609fffc724d65eefb41a614e876ff32ea4bdf16d4b3624027dc4c5d50975dc0859f4fe702ee66b365024e7820d46c88d99f31583b2744df90778a4a017e6053cb88d40b7dc7a215f063025543f1dab91c0808f5d3a377da550bf18f2abafa65009a46139c2c1ed762388e522d127df5bed67fbb37fe52be65bc5fc284b1b6d70ed4330b3d5ab980ad2c96f75d39712a049f8f6ade9f3b379e5a11b3844ed5e2a92ca11ab60688d9d98eb6a8b44a54511790728c869ce1d6e10d268946232a49a206fc68538588d6e35bc2f9236281558d5dde4d9804921426082b58189167b932153a0e3766a80acea490715feb82804189d4cdeee693df88f9a5d05046805a53540a91709ff23ea85dce732c5c0dfa6428cb78489663758b751021f298718b21858d65ba356193c7731e52335d6348c0913d3ae5813eae24b85d98a86c279a1c7368124ff7324e65a6be27e4fd3a77f20142cca0f282ca944af01726e26804622f64d3a9e0654b2002a3fbd313790b2a4720cc003f0003c000fc003f0280b4a30e5849ac1752c3ec9dd76ffde64b2e56bbf58ca949b929299440000000000000000c07a03050306031103c6f40f96690088c04d20a38cc253ae3dcb850f13c858ffabd37630f15b1030f012c853f2ab0eec626e945602a951dd85787db78e6612881267ef5f22129d525d60241035e714178f6c3c09e029f01148d2e20e23423e731c951060231077c5a1e79b9b74f65c04e26cb6b9d8b35ba760221056f3bc6e7fba33cf468087405e91884fc9b5e2e64708e49a4e19da4db8972308c4f00cc3874dd7146c2010a4fb3dfdc7beb6e529f80784cd944f8fcf39a65aae601f90924f9ba7b663dbbef480d8e8a2456fc58ceeb212601e94e1693b4faf65a87107a33cd1584abdf5921805d60179b2bdee1dc65b4e6b16496c46b16adc73634b0e8869d3973c75bf9c4b9703c682dc5299a152e5a0b96a168c831c457b93f414a7e2528c0234047c0352b46b54fa29d2b34206f015567d6e8bdc0b2593fab101f9525575d23f6bf5cf6951f4025c8361a64f9ff71dcf283d01d3809c4bdae22ef65a10db023c03a2c7872797f6e02d9447019601a15336ca7fbb98a9033806a4f89c0cc7295d5935a66018306f315f767c6c980afc82722653fc6ccd40235401bb80d868a336f671979478ab602b086be69e39a39c6c2c805b40ec320f8e92c9a355d7b8ae9805e45819a38bdedf6db1f1510858ae8228ad2bb619879449ca2b20850f56ef68d63de987bec02a2087f6be91f59466f387054e01b9b245638f95e13aee47410e952a52953e1592ae2862b0a1206be30aebb7217234abc2828294d72bd7c4e19cfff50932aecd21193a45118f3d410e17ff3026f35c9604b613248d1fd296631497136458f375b1d6316580ddc46a827441e7a1ad9e7e06afb0b099204568a786d37c9dc75b4c1064734a8ff25eeca3ec5e820cfa1eb634d60c5c354b90c7c7b2f8380eea75a904b143a33e9587f17b1925881b6735c46a4c11ef24c8dbb3e1d41d277df4594910e3719ebb8511b1df54103612849ecae9bd9c7d274b489072db47ffa36c7904a1bb1d6687a129a6fbb300eb08326e0cf242884e5d8c04d84690c67205eb78d69f21674431a7463e6ddefbfe59042988775dd41c1da42b2a06b08a207866fe7863b2ba1b0f5b4c12c4a8b69639c5f6102a46826c6ba31f3d576a9c5b48103d59e4d599cf6ad81e4178d99e8d299df75fe30832d4afcdd4fc0f1f938d206f5e083bcb3957436204e9a164c6931b3bc38e8b209af7e7d0cd909e41a60852eed74d79f12e440327821c17e730c7954cc953aa044604196837dac721fe1ed921c83aadb9ddcf36cc470d41ccae71a93f15366b4198c08520e7fd24653967554e2521087a9f29e554a626c641902c638d8bcde2d6be20c8a31f5a730a538e6228091c0862fc8c3a3d684c57e2332088b75a791c6a36dff4ff8118556237eb29ef20d8663f103e5f73a3a734a390e90331f98f7d2a7f4d0d890ae60321c23e1ddffee7cb5280f740f476bc139fb2c3d6ac0762e9ca9a83f946994dc179203fa8348f9ed7b39e58301e48b51af7b28f6ab254970df80ee4a40db233dcb48c72c80ee48a469962d79117290fb80e04b3c72894a6ef99be4804a60321cd3e8b855d519b76b3e039902c751cbde69c839729071b78668fe13e1ae300c781142b83ab7f79e7d246f580e140547950f3d629c5f0d0379055ce51a5e98c15bb82dd40fc9e8bed2c993bdbb00db80de44a9ddfe4d491692f603690d2e6158d66e1283a720da459079e528aa9634a470f580da4502fb1fdaa79381a1e701a88f1f9d14d77dc4cc9622c180d7c0672b0681cea7bc152dc94096c0682f86555d8585bec96c06520f4a9e3aa50f1bb3b662081c940cc076919584aab4f8e81e095de4c3cdb63342a06524e97bb25afdd6e0ba2040e03b15287668cd367e7a8c140ccad5ccd31435f2049c6d1142e3bf076bd405807d133f2f85aa23b0277811c6c63b0983b87341503cc059267cdd6588f57dd7609f01608a929ee6f2b76a6732d903ba57475b4e6952b099c05325e8fe23752e9334ac05820a7adcf919daeb33dc511f015c8b8652df66b6f0cd25b810ceeeb1ba8b575565b85f2c26c4aa19b347300d480a9409a477d51b4233344c053e0741ef8568ce11800b082a5403ea9ed20fae3f1a98a02319f3e8cffe9d1748180a1408e34b78c178d92f303b0cc07fc04620cfd214793777968cd4e20bbe6a6cdb70287cdf4a835f75520e6a89021edc17c33c6051588198a86f68b63978e79e1620a8451b574e50f2ede5c3a702105527c6f58f28e2f99c6e6220a440b19ed5ffd639ed9585c4081f4a92e8773a896d3538c4b7174fb898b2790d13eae70eef28df148e504a25cd8c5a0d39963ba680261d43b77c73a8b09e4ace017c23f0395d5c7112e96408e8e5483c7708d464a235c2881683f1d6379daec5b152e924018ed31094b613d4b2c850b2410730c9fa141ae3fe54720aec6bbd1e907e2a611c8289c9d884fc5f45a0b42858b22907f7335d868739b8b2102c9fff288bf78b29cf610c81f7349a3328cdfd02104c29b839f102d1bf760142e8240e8949f191e3a6ac42a174020e734bce8b166f63914b8f801e1c35ff61b8886c8acb8f001b92aed3dcac60f17005a70d103b2b4078fbadbe0cdb36b27802b2e78408a63e7531327e22929a4f806485155898b1d904577a4c43e43d7ece94207e44f1b2bc6270bb27b4c1634d63f5fae7340aaa90caf33bad10f0e2c481b5dd76637a2c5bec001e9f3fd7a46ffe721bdb80161bb3255d4adb9b069375c5c41b81fd9146ee2e6611736203cce62139eb17ec86b40dc4bd779ea176a73bc0b1734204d783839ed6b7f4fe1c2c50c482b8f73a706f917830b850b1990f3a7b14cea9af22efa848b1810ee3d254fa9f2c3cfc38010f197fd71f37d1c818b17902e9e5c85ce10a2797101396af524b3a78daa313dc0550f2a1e706105696555f772b9ce3ab2058496ff94d7c91de3f85840d4ebcb998acaa0c5c41f5c5441ccfc495bd5274dfeb30252d834f215d73a651d172a20b4e7bed4a5b11af292c5450a0821ae51ffc471843d0ab297bad55f0a261697135814c494d57e3daa43bb6e419ac0a12086eb9fdd4cbab96a040561cff2776bc50c7db44f90936e3c4b3139e88d932788369a53ef28a3cbd8758214e5a26c2c51fdba8913e4b08abedc0df3f23c3641ea3cdd29b66b52839a20de466db4877bc6e1cd04a9d225f131ed5a350f13c4fa8c2cb4a5d40d1e7809a2a70bb7d80d99f15996206dadea79da8ba6e9abc4e9e3c8a6777d539420ce634f9da5f167ee4d8294e63abbc7927701778c8d39bd3cf25413c4ac9edfa4a1c578d36782349b29cc23772f778709e2c707d670b293e4232f2e41bcd4201f5c5c8c3b9ba04cc00324880016e0c21215b8a804f6d5b7ffc0cf677ceec00525fc6212dc67deb44afb4a550117922086ebf3f070f7db8cac226609b88804491d7cce7b9cefc7fc167e0109924f54cae0b1c75f7b3c82e897cc2a6398b3bb7004b9362fe3e6e475ea8d20eaa4c64756651941ce4f2f2a1ad3b835ce22c8397668906231e1b1510479c4b593e6bb57dc7422c891eb3d1b2d2f8783114156af37cb39e9b8d41e82303b9bae6ed38db1c310c4e055be39ec46bf310b41b09bdb18ff626cbd9110c4b470799bb1a4dfbf4190adb42cca53ec421024cf5ba13ee5f186f18b4010e3581ecdbaebf35f008214ae7c2eee35845ec6ea0f2efe40d4bb8e5e2d2edac9f30371739e8d5dcc1b34742efa40d0fb0ccabab256ace4e00351329fb5b6a577cca4b15dec819472835accd528889a25b8d003b1330669b9de4cddca12051779205a5b56cf16ff1c9c84b8c003b11aef8417773833b48aa93b5dec96acace0c20ee4d8d1bbecbc1c6378400352b46800e655715107d294e97b740b8eb1bd62b8a00341b3388c9e3f95f35fb8980371b35c1e58a66bb07b70e1420ec4c6ed97935c0a2e7d1c482d391b23fa1ff60f07628fe690dad8c5b316c40b176f20c514ef537669c6515937903f893e921975094bdb40f696108b37db2c8ec10672280f07baf78fed415bb858037937966e7878987c6b351027ced755e39968ea4e0a1769206c2789759461f6dd160dc4ca9436fe31cec37fc6062ece40ceb16aae9b0dae2f3b176620e6bdead2a9ed088d34031765206ab59586b5bbd2910c8458cdb79611af0715176320668babe0e740353ea7dc052ec440b4acd1e7d3a29db9b9838b301052f4e3a32b4b1ef3e7020c440d27eaa9614aef7fe05c7c815453576a5d51fb5c66c3851788faf21e921ec72d4795868b2e90e5ffe44e3f7a30950b24bfffc6fa16f3e3fcb74034f3ffcd65edef75aee1420b440bf331cf36b2cf9d2c104bbefaa65d34fac6b140bacf31050d97b820d915c85e75f131aaaf5819bab00229b8ee01835dacf2834c09888008238418a73eb22104411892062908a230061da3f6c24c201a37892b8237f52311602b06b4f307715bf98d04aa6af272142d68d0475109d102b479862b92fcd4a686b19a556b6cd9412f93cc568b3ca1460ffd6f582b15fcc9bac39fbce6066d639f530727a87558b11b4537d68427116716338a63fed2ed6f8d2d146822093406d3508b7d795b204136c3e84463b5bc42aa44c76abc02396d1601670523b5cbfbb68ff9bb96bc7190a4a27b609d4141eb863a987254a7b42b765bc0908bb8f9b271c9b10160803449cb633cab4b32900e8ee3a373f9c2337a3887c61d0068e4f050f58591d86ba1a285348608e181a56fad6e04f310e69b76a411d46a4799c65f8e2eafae824a9811ed317af2d909fef9a3e163aa9166240272d8309037419d710c300fed918b078a7786e753e13b31d3f92a70f280b489c5e1c659d6b8e45fb2a46e80224a52235b80450925a42883801c04eacf0bee309970bfa26be740f567085310c5ac0286e3633327a7b02ead6f2d0ef109fcfbc4f96faf21fafc0cbf7c438ca4a7f85a63428ce271941b7d5205f9cd535d6625553080a986098bc9a717e125f4c9a8328117422ef1a108d6f82214a214f1a9d062b04d32c205de2baf0a9b06fb56ef6bf96e865d9bd553777c5733825d8c0f264854e64ba4c3ff880c9881fe50f1f171733d1f8825fe51ef070b423d6a8f71d148efe94bcd88f3fa0d8312b7ec8ed034e1f5fc689434b429368de9d88b35d6492eada853a8edcfd0d88a6c1ac2ad69056f854336e4561047ee9a580ff7e84fc2e5e2c0f43ccce5a16709802edadd04c342896073d26d1fde3f5d346a330766cbc0683f11be27c71d569010eeae6f3fdde0f533e0a019620d5ffd54be39260f99f2d440c650df21a30cdc6bbc887d93f190c3245c6e829b34eb8011925f9c43a212ffc89705dcecb65ef4210d85faea87cfb58d0bea8ffa2e5267d2b79a20e00829e045ad722a2bd43be56b5e8d9ae4407bdd9448d533a151a972f44b0a0b4110e02000a0c1c371c9650d3b226924bbe61d72fbe92268dad8c2d2db16dc88e5826e008540ae9d90ea1f0e5b9c7d1c1abfe21d00f291467f803a4c5b05ef0eb49e1f6beb2e9919c7296b7e5cc0526dc3489e81b51b9491c0ac7913111e9e034c36cc85e312850df1f852a929df0571383c5e239b85e3830b2dd765586d4f72d12e5312e31389aaebb014e2d996ff780a4ca053e680081bb813534e05c94ad84dd0e71bcf7e57da98cd069e8a81208f8182a24de33f7d5053b6119d6d78831c16061095fee377a56cff3d397860ef59628c62315f45563fb5afd96a49fb97fbbc62bfcabe96f9b4639fd6ceacd8b64edd0675b6afe651b456d0454a034c4269f89021a97391700b5cde50a1b6f3f250cde0a748e345a7945da042b23201149c2c76039e5baa650028c3aa58cb880cf0b06879f7f3c13c941d1f4db6ce9173b4f80f0adce29a7883df24380063d440a2e79988667791eaa74d1db2a35f52ec9b3de3f68f021d8adb2e2544bed0b63d1f68369b12a1ec407a5854cd917f402994f7676c83b4384d8c87b619e989c5d8a25dd4301b225d598707757d66b7667fb31eb33e6688cea4d1b699d5cd98667eccb8660b59d8acd08cdb4cc16c8c598b19c5ccd78cdfecd3ac44cc96c9a8a86e9d402b0d175a8e052c0d424258a1e0e14bbabcdeb1425069fa34ae0ae5f494e32a2c845560e91a29b8159eb4c99ee9b80921c32043403da9e93e78a94e02d863f483e151b0042f5d1a851cd68d3d93e0718225137243ae3b49f63a712f71feccef96b16398faa38cbe887d1a4d51a46d511cb79e7184bcdaa64639c404cdc52df0297ee94f36f4f478ad0240c0ecb1a75c8e8004d21a6707017dcfb512847a47c7b18b843eb52eaabfcaf706e6229d15f4facf48f72816869a8b09284e020c1b46490d2e752fc09b1dbe7f7fa6570abb5a18cbd35327c0d14ac80ed9a25a2cc65faa83ee971f7c83766bc85cff3c2d510e4928cc55538e01398147625402d851730aec2658831d461560ac61019229ec39b88a1eba24e9c304a150eda746461cb05d044b5e73573a994d441c21707b55ca8dae4c561749e5a3b83244b72b38401c040714a9b442a23981995b61187c45c2d5ffaa324afe4d54fc8a490b83de1612a0776b4c602feca5b1a5e07b61590d32aeb249253083624e0bf45444879cd0dc4dfa50ae51d517661efd064b61c40b0cc20e93809ce399987539e20506f9475bfd537b8d299ce211df972373dbe00864f0cd0d0911cb89ce8247a81ec3d4b754cea55203141c06c2ccabe917f11421a6e599bafdf5d270083911610ddf5866265f207ee6aef65c6220453f9542c0928273b6ebd04ad65ac39e159c5c43d9193db44d4627abb16586a7dd481e5fe314242f23acbcd5e33965186c43fda81d591228566a8e51e79ff2440d060b5a65585dff443b73022bc1e03341d42e262580bf752e9cc80decbd8cf3c0a0205f56c3bb96bd60267ac6d3a0728502aa8b3f4cb3d4052e97cde61ededb7164dd8cfae0e085bb45b0c4e73adfbbc9d0b7a2ad7f8e4a08edcca3cc6947482c64be3c1d136edce4d4de0fca9f8116c8df10a2c2af99c395c5886e294796850d488378751a9aa11573bf8f4f44203a98c5e571ea0bae06d16ff56d4f27248fe4cbfa61cdb777381b365faab2a71f39112a6865d6d410791ab1262640806f9d60162d2693c5de66bc2147b7a4418177873d08648e6ab6ed5a28060ba645e10b3346d69f4458e0e7c0b9c26cce963dd10f808036e9e492f9ad76eacba66229a569a2e1193b8c7020066bbd4a1fe8541adc83f16748aa9654b090e809975190ce0e28bbd5bc4cb51f64b58e4d5f409a0ef6bcb6934576ab57714ce90e20077532ea50f3841b0a443a89ef862f8f9b48a63788a013807fef7e77893a6799ca03000d20b57c521a8247d647a7ca8b7752ed4664fd91c3ee92811c6acaf8e662321a6dfb5747843a051086b404a49be4b18079de514359352258ec562b13fbd4e288cdcc253efdedebee8d53247c93ee1bd03118bbd11a439bf5d41d745cbc13d449369ca27ca159454dc13674fda2ff710a2c88f8fe9ef99c33fa83007a0e1260a09ba2294a543d0eb246e44239ba60281d9a586057920551239c1cb5f4dc37d79273b69f9ad0dc499f83c6dbf13b0e21d240c5fe8d5d84532c74c382453205a2fd330bc9030623d07565e675fc74bd2377eb3bffb147717e54c30936256396a841db548cbf0037ce86d61a64980ba88c3d352e160e4880799e49d5b9e627b79e84ce8324b2635a199ce3926c17749a58384b6d190351e205b468dab8eed7007d51c7e12312c974123a4e376d29111421f5a1a1ff1e401633204528d0f1df49d81fa662000105e4c583a364ec0b1ef579820c1b677b8c1b08c81b1bb22200579722b857785bc60bbb20a0e98a808948909d03dce82f851f57558de1a4e1470b4edc98e76be526a1a90692df188b529a3d782b3c1db6ef2eedd583ed930da7c40987fc73004addb4223fb01e150a070cf5500ff5500ff5508fbec1353d4d74cabfab1f1eb104185bef8b372fd4df244b44cdc4b8fd690f3713cd4d4949f2f51ff41ff41ff41ff4eb1203021d02240265604918ec91132d5cacb0aa927962ffd4d0cb2e2d4febf382f5d4377b2f5ac613b70b760cc2658a8dd58d46d382bd523ffce764f031c92cd8e2d4c7f4a4536a672bd87783a4b9bcc779e32ad8afc358cfe7dc89251b8679a8b6612aa660f3b3349e3aa3f4a41e142cc1ce82444e117b9e9e6099f4631226d373a6d4046b30ed88c96b55cf6f627d14d53eac4438097b099671106fff3638329904cb9fc4bef949f9281a4cec5f99630ae6711dc1be192e86f1ce106d6d11acd9b539a770399eda127b7a85dcbd49b536a68460ff64a66a8d3bf64d05047b3adb285b7b5339cd1fd8f3686ea5cd83cd5489f5c34f6346bed54dc124b63af18fd89c94f4c0e62984bc0d926a1d5855ef625c06b136c61c58938758df1b37e46410897da26fee77c66f14ddc0a67e0f423752ac948706b6ed708d83c4d44c133c62bd18a7a446d6fccfcbc012e4477248556887ce883dcd847ff89d71708d22d6b096a7b26260abeffd3c9efb3a339e88ad2f3224ece40f5a0fb159d2b89f2256a30e9b0bec955225fc73a79a5488fdf671a41cd934155e10ebc708f999463e39d5c202db2647322552b9a25c54603d47a9ddd15108f1ffb0a9346c106263f6328e1f36cd9569b9c194a6581fd67a9892e54d9dd7f1e7c31e5457f2677fca75ed61e968c162b8a9eebc193d2c9fcf6672cc509e41280f4be7c5b24ff39fdb2e0078582fc3ac7e01b8c376bd00c33219a44d4ef9c1a4b82fbeb0753c9b91d0f2080b2f2c1242fad48d088b2e2cf2e871dc9420f9a2212cb8b0c4ff3c1d67af4c3c0010b6d8c25a631f7d6ba724472662a185e54753c8bf63110066618f9e3463f4f097d4715858337636e38e9ff1380b62718525c78cdaef0dd38bcb0a7b86bff9c23a0a2caab0d98708a98cf914cb50615b8b68bf9be29d6b9cc292a9121fa585aa14105ac4420aebaa83381a3d247d0c476147d51bcafbe3c6089109b180c2fa6826a42ffdc7269190b1784292cef451bab09624164e58e333234b7e5d41ff9bc0a2093be8d0601fd5e55cbd61c21a2b44768a712f61fdbbf0370d721c8b5b51c2aa3192e5dfcbf4520759b148c2922b9f2c6855647dbd40822f8eb0e6d4b9a452273129158db05c379a8a6a8c3ca3bf085ba4489468a8f8643922eca182696ac6aed549bd1842f617e615173f315b086175f4282c2ad95c14b0084202164080c0e2071158f8001f7390917948398a8b1e2c7167253b57e39ac982070c5854b144cef37bb11b4549d20eb628fba797aa838c4cc5fe39d47d67a3b3304db16af8c89bd4e4283c8e0eb693bcdabbeb9ffc2b29d69e68b79ff9caf2fa1c6c69646722a40e17a38883e5723caccbb22f556eb0efc5cc19f24e851c263658bc6fd3ea873dc9b3065b848650f67561bf1e1a6c9de1f667dfc6f0209fc15a29c69ea8dd47bb67145bf410ec91e7bbd2b80cd6501fb99f52380d6581628d3d1265fa22d4ae18ec296cd802690a9fe4b991ba9f151c5882caa3f0c929163f22518af927ae6665e88354b16203e386a70e57aefe61ca142b34407a6848633639440c53b1e2882d5e08757211da0d42448a1519d8c1d9c6559bb2883512896285116b7976c7c66e5c169522961015b6d1c5ed149207038bc78c71dc8dcb18e96705116b5279507a9fbec6c1c48a21d689ee324f5163fa38575c60b9cd9d08c94f1e2347ac1062e91c29c6b43bbbd4182b82d8cb2af66295cea654112b2cb04406f137d4e71ee6bfa202abc834081523a22fc6ffb0a410525aa3d4e893d77e78338ae57dde18807c61d1874375721c7719058823072cf8b069d87458b7bafbd11eb6bfb11cb9eb17d3b1d0c3a26912e61a45bc1c297958652f54e74c9eb1782df09079642029ad2c946494bbc33a33b762daa7a6715ad86115870fc3c598631263c4a20edb3df8509a31568a4fdf00052840216dc0820edb67fe28c94185cd73581cafe5dc6794d8dd91c3da48535d8da494033b0e9b48bace08916fce51e0b0c7e68c70e29997316f58629845aed8bc922fe7065bb461691cef2e52decf391c62c18625c5581917327da9a354b158c31eb3fbebe294e566a41ad6eb4a5b776621674ec33a2968a39843677c7568d81ba6ba69d0f0a2f845589c6149bb8be818684ad76f862539a88f8f2fd44a3990b028c372f131fa061a7354fa78b020c39a3c844632351944f9076084c518f6b149623a137e914149588861bb93b49b61ba6dd0480048b108c37a69e62868da47980108a05bc28a20ac69f4cbc3c48e78f729610510f68a0f747f2c866837b124acf8c1361987a88bd9b9e4a3153ed82778a4bbe499f939ad4458d183251ca6982c84153c58e24a342a3d6b7fc055da8a2aec1ce931d2ea0b210b58b18375632d5c7ee4d779be15546cebdd28558a34c55e9fb22b22720862e1153a5825ed49c31cce52449e5821c5da1f1d8a4dfa4faa8915395837e286959031a7a3181cacd29f1763fe91e954df60fd1c2d3eec68729e93365893af6c45c651733c56836565d4a23e7d683f88067b72104c631dc4ae4466b045b31062aac9648e67146b4a2329ed96ddacb9c40a19ec28e6f59fbed01c3629b1028a7312cb1826d1af081950ac88c10a18ec3da34974c4a6664cf2c43a698e6259864e41e04d02ff042804040156bc606dbc9d44cfa7e3ae3684152ed81e78f0eb88ef7491d3826d3596c9c5bd90bd3f0bd69c292686f6f9a76859c116296ff7525af7a3a40ad68c916e0a1a32d2edc47a19494e8430f28f6329d893a7a0b2e6e17f8e42c19a76f39594a4c574932924569c601fbd11db8b18f3e9b5c2045b48684a9d66351c664513fbe5e8691e3ec5dff8910240155694608918e70d6c254efe48b0edecaf7dc470136e6762ebae47b0a4b47b9e547af33e3a9c58218241d405cd113ed39e4ba8f1611bc31844252b42708e131ed466f96354836051b9fabedbdacb31fbc01ac4a63ac223a47db412462fb358f9e253536c4512ebe45e93ed901eebc31ed8c28e69e3eedbf83a3bb00181f2bc711d3284088840888888581f914be4907e17e119ade19970fce4ff5b242f00183761b7736f0dd5014496a0afd57bd239d6ba04680e5573347529c876aa79bc3495aefa84bf74420e87a8ba2480c966eb49e00b6b02da4fb9335b8c113b823effce3328073a97010e73df52928a1bfa9b58a35cc1be0906009a6597608c563e5d2232e7273e03ea6270a9e01a3c99a54ba2b97c439d1e8196246d5bfe1d040fdf018839767c744bd867feb71934535470bcbe3e0bfd02f73f66e427eb370976d2c8bfafb0d9f6481fa78f191ee49b9d20bb4c0d64e1d1826ef1b3a86f314a9f059a564c942139d0bb2764e3183d9f5a56ede53e233180b89d062c74d1cda6ed5e5660466187e119afc42f326e13d21a43c1053c14ce04eda397e116ae264f278fadd5a0f78d83c25d3c182dc8c29f407c00b144b3198d0c00a65af805dfb343ab42228490eccfc3ce230270f39f164fa7a85bebc6eaac3e1d7d995e21f6242f0b24436188c61865b3094db07435cbcb967852f5a21e4348fc791030caf45f430fc843a3b00511b3e0c854e2427e9db80d90bdc5f913a2a013b180fb825b334d62828d9367f1963f84123d904e6ae8e715dcd7362ef7ceeb9593b8293308825e7e7cdada0b1310f38425e443487fa426feac256274cdb36e4eac408f1bf83594510f333288c738099c2de2b4f4d882b7636c76881ff71890c70642072f0424f2abb99f5d6ecafde5e20480c0df73b122549d048ad588da81d709822009c26a6202fc1c52d6ea0b63a9fdf238dd80c88b5a45e506f4b3c90ecca00775601eca5a5c327f4fe57d1f1f543647af6f291c842e252e364cf0eceef30b2bf12b8b973f6caecac6490ddc442c8d3f77fca54255e834fde8fd73db950cf17835c210ebc36720239bd17409c227f22b5b5265f435e4f9fe9132a04900f92bf1480a1897950aa315e5f9f7821353d295395e158f35638f094648c744411be842ab422ee18cfeee7d422283bc3ae3f577cb90224669dd70f475e9225bfe008a0ce35ecb5c8fea5bdf8b3fc272308274031b6b2aeda4bfe1f395491f56bf4f76ffac0930c9dba2e0541ddcb14a7bcc7f4a86a87996879ecc568944e05fa7f67b6f40acd9333730dc14f21c10e4f898b14ce72430c54bb41a5ded0477ac72136c16ba0f35932eaf321e89b6fbd25a2d9531a7eb174246706392f29f1361299005aa34b7da36d39877807aa0fe25eb84acde9e4d6327eb6ba1a549e846971300c9e0b6e13ecd887952f35d5224a1828bcfcce58b22b7a1771823714cd086148169d23fff29f0170a87038ba57f28b187ed0fabbb30cc2e6db3770b2810434c1b268db9b23cf71ef180beb7885f9d2f327a45693704408535452f5228658833365f0f66ed2ef2d2673ec55a13e100b05bdabac0400c4d65dae8955d5bd7157084e6d94d14447dac00cbe69a7c8dfb699765fc891912a4bb302e953ef99e081b242a2849dd1f1dec15135773bab484505aae82f36becfe357084a7a8259ce8179a4f92d43a9a5c23bb0fde185f02b640094e6e65e770e064920a471e433dbac80f0f0450a22a7cd3a030d376424c0693a8cc149c08c0b213846ab0809e4f8dada0419a74eb2a44c3cf90826808428b3526e867100a98624706fee884b5d040660f07c40855102677f7b0a53776672ee3956aef9aff0be34ef27f8865b62878df1ab904a346724fa09e5c0e2c98732cceb393688ab271440f491f6f9f72a867070b68e940f35d4b674789e215404100b5b9fd51877a7d9b102ab51abee2718bc43720e9465036d9c84e64e6fdb52c1e3771333779a3b9380691281460f368648c773a59305a30e26712eb2eda19a03502a8367c610d3964e79c5673ade82d8fa7e507bbed1a219445b186e3a0c7c20dbf82428c460d149170c357ac10113d88424c6211b6d039f498e5c063ca89f53da0c2842b63811d371022cb0d5e612186466c0a81829f2994047550816b2937f68a580802b12f999482e942fd700c90c14d0cc0ed1c871e137202f71eee1c8ac9a24a2008d78102d7220efa06dd10152b4468d080219200997db1c2a9a48e6889a4564665090cd200fa9e21403aa0b2a47200000000002010b499000c685a16bd363416110044e478bc3d2bb9774bb5e2c5e9aa07650981da9494943487d7e175781d5e87d7a9baf103fd03e603c3728972c162891ee6b7e4bec92f3f521cb4a927bff655ec4c163768c3bf985a8aba6f5ad8a0f9cbbb2ad957a27fbe06ad394eb59c2923f3f0d0a0f129d79c728e5a169f4133297a58a8102c2c8432681e647b8e0b7bc93a1631687e22e40ec76182050cfabc3e0d6aedba22128b17f49ba1839c3a54cc39b270419bbc3543ec774def58b4a075fd3d8990c16541af31576a4f760b935f41d7707db755df242ae85b5dfb32be94e9a0b348419fd39aba4f2bf765838276a29e4cc45c0acbef09faed4ccfc99adc528a2cc1c204cdcb46e9f110b933891625608236d4241337b2b8a21f6141821e48ee70595443c631260916236834058bd161e84a992fc4395888a0c7595b343b9a6011822e357e33bfeeb0ad31085a174bb10f5fcc634ab0f840d3d87385e7ec32f98a268285079c87a279bea19e6fd181662db87588d4d80c2b9368436ba490725208d15d49341f5fdb7c7b82341c23d16b3ec92f6eb1533cbd275440a22b8db22f1ed1d333544ea8784413a1a1372d8f885f9e09158e6872b2c5c79d57b542fe12900005d0aa68449b328c7e48683db78e113db83c713c266856aa6850b18876e3be4c78f48d2a5d117d67906347902c9f2a4f83062a12d1e6760cfb7d53cadfe20c5420a2cdbeb132e19ff3316617a83844ef1e83ea4639adea072a0cd1c7496789133376975c132a0ad135ca32e5d0e2f3c384e873c4cc59637c3a38ce20fa8f4ee1e559f3752bda072a04d1c4bf589bafbeb9af8168dcd3626cc7d85f430344174b62e4efaffe4c7f6853520b8f4d34580ea61fba54edf03e0fada0f7a10b656a9992be121ee7433b298749d9df3dd28d3df46bd916e2b94547cceaa1af9c79e511fb74f592873e8764d979f3b6660fc1431359823a727f246bd51dda8e962aa7839f630dd9a1b550c93a749a22cec41ca7a54333c9b2422ec6b64a3c87e6318e98b35406b10c9543e3222221634c5433360eadaec5141a7f8cfaeec1a14be58dd5cca5fd55f3865e52a27b58b94be6a81b7a518ddb21d98e3b1d6de85c35ace4c689848dd8d08aeb64cea4ed919a59436b216a35e88c3cc634d5d0c4d20c9221054741c33434d9a94d1f037f18b48186a67c3e6fae988c7bf233b4d6c89365c7184cb3c60c4d4af939e5d5a063e195a1f3cb30353eccf8a36953f469a52166146965564105191acd2273d1b2511ec578a0620c8d378abf60f2ab496a800a29da1cfd3372cbb07d261562e842c394ee8af1a2f40a5011862e5f3b0cb99afd2d1a30f459d31ce65c729cfa640da8f842ab29671de2222ff89e01155e6836ab78e596ec5531a0a20b5d04cf17113285fe022ab8d03c88d31d2f5e4446f1cc2df4e71279f26b8aea6669a18958a152f6f9907283b3d0e7dc8d519e49f97c060b6d8eb0d1ff428f743e24a90aa2135934af13b058445f152a43dccfc1c2a61cc14211bce847854e216e4a6b91884e3d6c96cbec689e4d2d0b00141688e8d425a508b7ceb8613fec0b1687e87764c2ac86534dd93dc1c2106d48ff96641ee29f499a605188e6232b546509dba0340b42f4ba95bf73ae96c36506d1c7917f8f954ccaa144105d6afdc891e178c6e240b421337a8e0f2cf907cb02104d7ee4e85d2103d58be6182cfed04be6dc177c7a2e9e48070b3f745a293a725b8b3e74a9dd213d5c04898c815258f0a1f3ee9f9c834834aec61e7a704145e633946ac860a1875e3d3b8c306731c92b3d0658e4a18f0fe542c00e276081877e3a6eb80c827f432deed05cd8bc9c1b2fcf77e946000b3bb459a3533887651623625187a63447cf8f1e25bb252ce8d0e69c5dfa357ee3fc770ebd67d4558e62cc0d1b26875e2c836a5197b3fe0c1d58c4a1cf7183e60f8bb8b963e0d0e78f7e488a0e2abba29f60f186fe34cfc59063f4d05fddd0e5b6c7eb8c233ee7b10d4dccd4fd19740631768e0d9dec846f86265134c6048b35747296b1a789a5769460a186c634239d14577414166968bd5266a6eefd8c9072040b34b49732398ceff46666ced08878a6be3c1b73949019ba102b1aa3b385ef4d2943ef96f25cc4148b299aadd4a944d62c4543c9d0ce3808b3312c2d3f34866692c4b76494c30f4bd1fb380eeec9dacb2f460cad9b8ee610f39791601186d62fe39410a6b2625ac0d0865d3def4bc92f7839e1f85de7a5716be1855e3bace6f7eaead1ab0b4de4d83292d142e25ce82c9a3f92ef308da762b1857e33248f61114285a50acd60a185ce3a439039eb2cf13d0bade374cf7e3ae1bb522c34da1e8ff43a46f30a100001ac86607185d62594c3ccc6316b56add084d4af67aa391d6ea0b0a8429b21793ef6143547d1a88460418526a39c3cccf524253a852e3a8c8a6c7ec4fc0d29f46eae62d2131651e8f5c353256734ed1c43a18739c3761e4da532df137a20eb19c4ce9f375fc309cd45e57efb8ce608a9095d889051c62eba5926f43fb1568e8159b6b02ca1b39c24559497b8ab85129ab6d41ff9fb511e4a272ca2e8f1c30dfd4d55ee2108048b2474eaf9256f9474144324581ca1d78de059f233245ad48cd0a5eaead4a13b5c881d0d8245117a3f892271ad9167c382084d9c70b012d28dc12bba090b281add0c291ce5e4e6ba603184562d32f4e421c9e37660f1441762eac6a831a34a3907b003101642b8abcb339cfcb87346108c98d592a6cc51264c27da72fdcb9f7192742897b000c26951b2c3ba3c7c09fda0ef4a51f9d93444b1d2c2077d48be4c2dcda207fde6e8b15cdefbd3d2448f5d5e25248ffc31e23ce8422442fc0931592b4cf44937c463ab469231c80eda71e4413727cf89cb950e1a9790a94b33cc21876c0e7abf3832163c255cf89834d3d0c488cda13388d93942ca515ca0a14f3948f48dca292533676843e5c4dc4ebd4e216286e6bdc1677f4a4af12f4313336c8acce614c2856db898a289d1b7d41dbcca47788a0b32f4293bc81621a6a4b1640090e1620c7debafbb2437dd58adb890a289ce202264ed2bb0800b31381a7b2a3b8e30f4ab1e26f32ed3ea201760e8a19a5ae765d8b5f0f13271f1851e5ee75147e5e0f1eb857e37be058b8d8247c64517fa982a4684b0063fdb05177ad01173fd3f5f1bb8d8420f1a57887b125b2616508bc085169a1c728a138dd07f8d2cb4151f6ef487cd2186b1d0a6902a26c4c50c2e7885462f42e68a4d1977ecadd096767e2821ae425b2932d47f911c713d5468f6443b8706f7fc7d0a5dfea84c8912f535440a5d66de8e18f2773e46147a5c59c28698f34a850b14ba889762d4a1839cdc139a0afab912e69b927227f43921c6c8a0fb81a434a18ba297fb2a7b8693094de528979f6251a22fa10d795daf9276ea5f4409cd75a5c76ecf7982278a364a32b7cac394a224096db608d561f366060d24f49939660d961d63a8e3087dccc85bbe3de193c7086dc44ee1eedbe96f7211ba906168a4e73985872142a31db3f73fe3994efcfc028a2666b578aa321eaf0ea1ab56d70a29e5886b4f74f1b13cff2da3b66885d0b5c36df78ae71b3341e82fc3d81392e35ece70a20d0fc4c7c3e462780a8436246337190765fe0fdaeb6f95970f3be9a50f9a568961fb673d4cc71e74396aa3ac1272defd9b68b67d2c8f8a36d678d077c54b6856ef919889267fd028536995cfeda08b7d92f5b3cf46de4e073df28d897e65262197837eb23d6b85c9b924b225faac9dbbe26490fe4de1a09ff58f59fdcedca0ab681ddae3649c3c6e835e37ce36887c937f6bd05ec8ad9b3bc4908751122e68d0784b9ed8f03bc3943a385ccca0b7a4ff30865e85a8c8a04bc9e4385e0a2186f531e8e283b09ce82fa2ad68375cc0a08dcde461b423e446ea056dc4e813d9e2e558d177418f24c2518c2ad7129516f499e7bb7477361b6c58d0892717118fd142bc5c41ab9f61a5e4e3e823121574b965b9613acbfb445ca4a0abbc3ab3197e86ccda1a2e50d0f96ac5c7d8413c997b7182c671595b74ccc192e2c204ed45ab98e378707150e002bddca9474a538911b820c1617fcf91ff65947f3d195c8ca04b1749119f29ac4c8a08bae0d59fbb2235e7b842d0788cbb85692421b903045d4b5af05cee07da280db7452f32d890f1407f16e473dcc617fdb8e8401f8384ea6914c279874ca2894d57ef33c991ef1b2c24d14483de072925675dd16ab08844276e1de743f93ec83f247a14d7738ec7e0620adf23faa0d53f96f743fa3747b4959dbfd31a5e32d3192c1ad1cce9c978671fbd14233a78000640c0014a2ca1cdc8715f65d2645dbe12fabcf91bf3e983c8f944d1a3c8a8249fac64972509adee8cab8ce45fe61609ed63eb0b0f3de5141f3d42d79f33a74ab792910da08411da8c9b6345857268de29425bda19f2243f53c81022f4a261b4b5455cf262283ac940925f0cf3682d0ea18793e41a84b6c4e83ed1f6b87ece2b251b235242084d8ea79253fb8e8533087dbca02551e3c6f8da3be1837f0b139a194af440e852c2f55f8af8e9fca08f7af95186f2ac1dfba0498d5c8dd43b8eb9a7074dd4f78cc61a37a2d344e720a2453fd90cc383424a19830c2453e3ce30d1c58e6d999b7308eed841f3583e3a4a8967f2eaa04d9d919541885e152c396872b418133387a849be4413fbb23aea8764650e0eda888ff0a1dcdfabbf4113aacd4fccaf52766cd06f764fda302a36bf3568274b2ccfa227964a833e6e590a8fd5195572066d8cd8f40c24c2a423326872fbc2ba5af28530064db54eafe978fa7903064dfc567a5488941cc82fe8c2974b0892972e1f17b4315ee3699c517694b4a0b37c8e3b6ac5843958d0434d21764aaa79f45d41179356fc47ae9b6eaaa0dfa4aa1f8e63c30953d047148bf489db306228e82737dca369d62ca913f4199da187d998724c6b826654ce2d62e72a844bd077aa143b6fc8575f4982f693e45fd09c252b8ea007a57a314604bd44354956d639b687216842bb859dd4b221c320e8e237bda1affec4ac51e2037d549f8f07e19de1794a788010ba632ca47c21a253a2039d4fc5f0303e12bb4fa259970b9773e4bef24c126da6942a558ae499f511093c53e7b00ece473c05892e7808fbdaedd69f1d178f682c2e5b56b1d831c6ba70448fff3d6ba583381f73d188bb6044af139e23f191be042e16d183491979a022ba1cf7f35c8629eb799188be2ce6324fb9a49e870598ee0e17886836cf354c8d936ba3989de2e210796188f63a047f1813d1c8153dc54521ba70b3fef8e81829fb29c505211a1573b8a161747e640ea2fd8dbe1e9f2948c4c470218826a39020e533213602d189a6c5284b153e1bb72c5c00a279ac1d5385984983060b177f68db1a7812cfb1f2fc5ff8a193d409933faa2d075cf4a10b15731ca6a31c190b002a5cf0a109b9a36b720d8998712ef6d083d029334a9eb74c14177ae83cf65d828790201be0220f834c892e991f23888736db517c9536ca57d1ad141777b8b043d31f1757e2f14f4872e0a20e6dabe496ce8b2fa15dd02193c80c363f2df51773a8075cc8a18dd9ebb9b3f9469bb888431b24e34da13b349c2cadaacc10800580305cc0a19f8ab1d2fce42152f486ceb2241dcf6d1176a5c0851b1ae98a0a95248f7fc32850807112b8684333b9f169a464865e5cb0a1abf8d8b6d210dbd31ada9ce1e173c679d0eb851ada14326ea4068386bc625310428880104208218470fb46003bb015d02a3036fd406711ef6499674cc2450903cb01c500cc06a208078036a0139931ed512051ecfecfe3df5bfce1f4bdc85248c087162a3cdde79ff2d69ff5ec5dbaa3b9db2773ee9f7bdadbf2b777efd43dcddf7e9b6bffb967fb31dffabbccff29bb0a5cba6dbee285afe685425a839520918fff6bd363dd7cd888aa3497979112ac743381ff93318ea43eeb1f999f1e2369e5525c13bead53ada604a829e1d937fe372dd86fcc288e44a08217ba46ed3f870fabf08ce792f9423816184707955ebe5d30b2b417096210eaf4ebe0109e718aabd0fe8e3c84213bf36b4f47078937dc8a86a9929bedaf514c7d0004e5f1980ec1b79bbe3bc85b938ceab293cc73450cda075c3751f2ab0fd06e0e56f24992ce31c803b89060bf7b9c16d4110bd206972e265ff112fc564561fac2206a19bd6266edaca3150d63325f592890ff197a9b35bbf08d6664acb04353166f5d51cdce48455416252b708693f695a7070ead67315ba1914d5fb09c9d6b6bf250061e1a6d78049b651cf46ab6428261dafaa6bf1afd539e0b41d3957ed06f9629d8d00803bdf396389d01ca14a1e118dcb54428102ddc5769e81ed4cf0a57674aaf1ecd44527268d7430266472b4819b707a2695596159e0884151cfb4719f87d8d9922a8a73ca7df3272a7c87323f98bdf224e12e1fcf81684dbf6b107cc0bb6bd48c44d20fa67d0cb2a835f41c85c00b8c2acf3a3fff1309e38404f22269948112aa30666af823a025e0e535b35b4838fbe1fdca87ba00d45867692dd4117d3236cea64180a12321a1c6129e106605a46a5902974777575951cbd7683f7fc046114975831922c90a6226192e0bbf9f6764bdc3dfcef3542a3324c041627623df0e28ebafa89f6fa08753dbb6fac16dc5aeb1a37e9b11f5bf8b85a0b5f70308c0e520c2e5979fb53757e592a39e25ece3b8280e24da726d1117b3e6a5c0b8633a8151cffe379c1c8f3e4222909981a7d9e8c7dcba1a2779f539fdea6f58c716fedcd7633123668a948ee650e62a1dc4b02b0229a5bd1e82224d12f2124045d006013f11b8a52345fe4225a7ba827e219f29708e5684ed432d46a11bfc84bb4df508a08c4504e2d220fa9e0c85aa1e8f13189961cb31d0598503aa18b82895686e4166d11550871467e8538871689a21c7528a212f90ded117584a08c214e103b557452d498280742a7febb8ee34def11f71321397f091947505e9d738dc9d1aabd711fc688059e53daa249db0929197657e55ade9e6d0824728ef11bd9cf38891c04c66b1c37bb695a36afa3193abb2b8cef97596545ef5fb7f1844cbd041073bc0164028519c19cfbe3d7dbaec2e0885c097f2e4dc0941cca81eadd0a98020b38079af72e6d3d0161d08e92a3ea8d5458f7d122a85b4919174befc6bd4ab18da50eec5f0cc87818a83eb248d93995b0a513040624427f423e84daa465ec32dd67be16021aa39058c3c834278f4766a3d130702668af60da6cc1f47dd2cc9f4ff717b21206fb7c133fab47ad6e21879210fd25d37b429ea59adf83f32183bca1ab2061840d6de591508a6faed5400b48fafad313f0f19819fb4516b07ca03e67822962dab93ff2205c3818af3dde4fd27075da82a235de401858839bc862fca13f17d3038a038a151450dafaf769f750cff48a836977cc3309f7a8d3569ddcf5c87700a9b78214f211853cbd0c39f79ef6b9424a57723a2f2a944b597a44b7eab9ddb192d7d3075556275f54624f85ccd714e821743762c82a2b2a76fd40a4ce3eef92401a0361e06c86f8e6c8da86430c3eeb2dbf239859a621f7a5262f3cda10bdeb7c74f5ccc53d9ec8e7dc1994b971d139c13ef28885a8790ce73f5610aa890680cc40558682cf81b927e27a826e1acfb1946845e72b13e53040a4df249bcf40792a60edefa0b9e9439627764e63d12730f6fa9cd16dbd44f23cf1ae14190addbb2ade25126f012ffc09b5c6bf848767e1dc2834bbb749dac66e4c295d09a4524f9d9c62ec8cd32d141d65eda283fbc8fa4575f7ea091d0f64ccd6e7d0058079c35177a355716ef35150ee47458e5b4254ded19a8a32dcef6edc458f7f8916524eb0b349020c47eb012d1628e2a0300f66c01e55c3dc8a6ef034e4ff31ce209ef60d1a6a9f28a5ee7b41ea556e18c76696954c2a26363be1088660bd05bea59e49466a59de125c81dd395ad5c678035101199d76b738407c9cb0339b116463fe91dc619b97d171c74da3531b7a46a664b319fdaf212976cfdf7e64a500080519e174f28483a1725c7d1722bf33b59dc4f4edd8123fc3c8c60a170856056cac0c9897bbddfdeb5161e93e614820a91f39290dac1bee27a0d1ad5ea996659c39dd17f30598c3e24a65df8bc42c8a4fee163056870e840be4b9303527ad3a8a87c28ad8d89d039d74793f5cf0e1ac3d4eef0e241cf0e56480a7b63238361337d62c7212a51caa571cda1d42770bb3387dd77b40911d2baf49c60f0c6a64030b896fb048bef5f9f3359ffc8a5cbe6307dbb543c817c72ef3cb944b34ba6c534f70cb92e4e2a48905326bc92af3147eea3835515f46338fb02ccc0a4825cd20ccff79ae2c8f55ba4b6538add6ba875bdd045e194ad095a791d34aac3b068f8491c7714b92d8e40c9cdd544ba721db09434d60b1f4352b88b9a73fb433955d7fd78c01bb5c5b709593040f6a0bd626da73ff891fe2b4d066358aaa4a97252a4f4671dcaedf648417c6957df3052f25698e3b9c5a79b8c2a2abb2730b91136e30023b0334d71254aa1ec2faa3851cbd1b113d16701fab94525950f66d28d11aa9165a775e964ac109d286c799e390bd8865dafdb9a3ee2e1daf6b9b32a25c5377a85d0da37ed7604b8bfde449a09aa01cad6ee63690089244120604dcf50fa82d84a72e3a7a9c3adc4134425fa3d452c3ab088f49a1415152d0d2088cf510df66f4d22e04e903fe81e5ace611f9276069d50099904ebfec206042d53145c5c6b99454acd0463901397f48e17e96553c050908206c8d765eaaf2b3e59d306d884139dae4457dde8471b4dc64714c7119fc6426a57e839645e014e58a1841ec4004e31cecca17f29dcd51713971ed5e873cc313004e93baca705f1a75e858fb6c41a63d2b01fe6c3d50dc8bc2a6200dbe5b43897e06dfb1137ba338454f81083bc01c667ac88cdc9d937be60327ad0f43dcd293e38d65e2d7861d2c0b73de6f8539b17723071741958889a3a878224ba20ab5e93c7de27d310da43fb015ec8839ae5cb6f3c679c2ca39d3c1ea3d1079fa1ca511a9b7edf2610b4ac68825013ed4b6147a305941c5b32f595e350ec21555d7265e9abae4d20bc3f5e7ea2e487f6b5c302e6f2e50b66b38990c219ef8b9f566979806a6e925cd251284c565e7dae0ea71f1b92c70c1b8fe06e9af828bc7e5e7f2e0427131c765f4489f5db17581f2836acd3b6153122c4dc4e7d71c3b93c7ef7954fa663fa7077001c80befeb7e831f9138107fcfb3a42d03d98356cf75d2cee71267967e7e41bf96b2825a5450e7c774dabe736b90a10e6061f6c1a882973ecf73536bc95c82bfa29c00f2b0edb392c4e709bde76da26e119c5881dbfc5ee981e1a92be66fa6149242e8bdae11528ca694f2151af0b506e65f94d5c53da4cb364d53dca000ea73b13835b0b25472fcffffffffffffffffffffffff8feefeff73edf3af92b4aba0fec079282a804d15904d49494907fe94fe94fe94fe94862573037d0386035c906a23a322222cf411f0a8510a2b5b5004fc7f5a145b7c8c2baa21e04135bf8447bc74c106012329439ee0704abaf201b6e93cdbaa21544ec303dced6d83b953d0176e0758d3734821c357df0a07d8c7ab1062d5db1be09fd7bb2cca65316335c0ba574695c431c594cc00271938721597e6d41403dc05697441b6570541262ec0848e10bd951fb73eac04538dd14e2d46c6ec53829db04bc1fd7fad2e93e0ea2a9d378a0f764b82b7341654c6942d9b1909eefbdc1e5da5d7c40e12ec469bc3e775edc6d92378095124a46847b091fdd65a52de6bb7113c85b69f5f4159d3578ce082796d5f16c1a79d45070761d9b922b8128faa283a114c6d36fd05d14c1b0311bc5324de14674a3af3105cc48e90ac45eb2ed0107cf70529e4684f370a518aa7f5ac753a23043bbd5af11c2b594b34085e4552780d2d468d8520980c9d961575db161d0856d2de7445e1ee975c0210b95d96fc0b2df107bec59a492f4d5d08e1127e609c714e6b8345926a893eb09619d4756f5d8c234b8125f8c04d52c909792db323c9127be0d62dc5d81ebb83942660093d7051b03dc7fb206141c81279604c9c1d3b4559020fbc550c1555d46117bb5ce20ebc589a859c92a9aac4127660524d542b3aa4dfffb796c48425eac087b6387c6ca90eda3c52c21274e0c951c83791d4b7fe2e3107a6e15dee867dfd922372e0f22e739d35ef42eee2c07ea413afd025e0c0b96db5498a923f3adec05a484126118bc20d8c56b6748b1684f2dbc03bc577cda7a0fb236ce0c921c4cbfca8a86459033f91d15e975efeb1a881cd5547cfdce9b7a4818b16527e66e455d18506de37f4a73155fb46e40c5c90aa46542205b7143370b991c550ff5e879a9781b3cdc677d8397e7932f0fb99f717b243aa8c81118796a00d5b2f9d150393428ab72a9b9a857718780d2d8ba9c29cbc1d18d8f6ab8c6e2c4eb14bbfc0a54bae287f8b02497b81ffe955c7c676956417b8e8616b8ec5ff261917584bcbbb96a4bdd7e416f8ad14a394935696ba16b84675633e66797b6316b86978a1c7ac427d18161809c7152545b2ddea0aecc493607716ad3273566034b2b1d6837b44bd0afca360fabd132a72332af010c4f752488de1da536027564541234b5bc79014b84b0f3bc9bb18fd8802d7507a57d153879650e0b16ec3cc7f2061db13b8475a7f65d3b9198d1358c98f43fc9a9e72350258a209b50413d866da0ab7cab4cbe8a443e84e0fdc49a5d07ad174f43cf01e1a712ac344320a0f4cc4ab58923e2a3e740736739b31840c2aad53ecc05deca651f93145b5a803a757cf489b5198bf74e0222caeb73f559432640e4e5f86d1ba1c98e44f6a8e4444df3870bd9ddff6d841853e1cb8288a1c5bceaf89e8be814fbf18efc2d23d2dddc05a4b49d46b6735d706dec33157d88d7159c6061ed565c78e8e93f4ea3530a9e2fe69942345a71ad8096fd0565779a34f03fb2b167fe896db5e160d4c6cbb94fd1a2ca6f419b828559a969237f6c30c3c9a598a47a4e07f19980a2dd6b166164f49c9c0794b9539ba13cd7e0c6c4521355b08ede61031703e11d4c17a25e54718788cb42591c1ac190b06be244e48c594bbf92f301ebabb75d5e3137a81ff9a7448abf8206d5d602ff09a6057f1c3ae920b3cf069889c90aafc620b3c9e6419e9fc1419a205de75ec4183dc90c23d0b8c3fad4ded65db7e5860529d91eda4c8a0a2aec0a48aa2e8b71f83bc105a81a9cecb7d5062919eab0217c3a887f20ad2840a15988a231fe5690accd629b0161f8a995352e05f424895e2b7db8416052edee94a3ee9be26830293ad1ebb693f42f409dc37f7e4126d708aca09bc7e59503bf6ab7f13f827cd7dec471673c204c6329cda71088d715f027b4922bda3a7145b5a095cb0a8b6c9afd24f5112983267897ef5d0eb47022fd9d7144f8ed29c1c819794b56f52a2e5d6085cda8a0892dffb42bd08dc6be905b152839ccee81281518b9a9a7e1d695a838921b0766f81d9dd3aa84884c085657dd0f7a09fce612208acf33fc347eb758a97b1002680c0377b7ebb6a53b490fd01977beb7932c513c3f2010540014cf480fd2ab7e8943fd976c2037ef2bd5a8adb2e5a390855a19e057ea13dc4840eb8fe6dad7a49cbe6a86d001339e0923ad26c74d73495000c6002075ca851d12e940a5ad171072ce0c8530598b801d32e15388aef26650198b00117bd4a560c6ee1d89f2b66a206ce040d768cc890ac8d24672e012666504cc88015118768602111a1c680514bdbd29024de4d4cc06095d4106a4c9245f10006108002138800132f605252c77a21a47cd1f84cb88093ee7d54fb9b117a0b78c976517451b370bb60017759e1a737a51845172be0f151ecafbfe8b1ce5701779d510db742a5544901e318b75ff8afdf7837c16571872f11624e06161430d590a2c213a7a81c27604a42a4a0f6e882869a80b74f0b0d526849452425e0b1b9792331e766930401279ec03de6dbf1fbf4eced84133470a209bc7997e3f9858d54bb134ce07db3a2f46d0d7d2d81efb0a8fe1c5d0ade280e10006ae28412b8d76d6d75ce284ff5907022099cf573f4a45c12da40229c4002db161b78465665b82972e1c411d8ef6955dd67cc52a1f4c20923f08fc20bb55e2a86bd2f194e1481e908d59ae5157a328726831344e0bb752d3a5650cf287c086c9bd4aac5ac1fb7a0c1821342e01d1f27bf856e5f4511046e42e81c75096ed13927380184133fd099318a996ba65833d62070c207fc357e609d53f1a2ed7bc0bf05122d3d5abe46738a042778c0ea4ddf854d154547007ce0c40e78dcd0f52c47b44700d69ed00193a3369dd279458845e1440eb8b78a5eca81439608b8249cc0019b112dad98d9edee364484133760fa42fc6ffb0a529b76c2064c4aab6b105ac53b92276ac0dfe388db091a7061c5d67ef1d843d5cb89193016e6a57ad74d88e1382103d6c327354a869bdafe8918707e51d4656729acc761c08fe56c941e8378792fe01bca211c39a86bf42e602b9af46750e149a568018f52aec717f984eacf02eedfdc2a7e150d27cb0ad8c9effddcdcbe2c1115f0223dd9ac2d9553a8a78047912525739a3a8b6f8293e0a8155eb8dd61a3808b592d74c3fe26a227e04afcc52e668766e530016ff9dc38b782ed8f5b022e23a3b8728485f74602ce2eb4102f64e8e18d8e80bf90222317c917da2b02be82e8bae6ecd82b0d01efce98a6dc31a7852060d31dc77535e283283fc0d8358afef78a51e8f0006f165846911becd6ec0097d1e58a25f545198a1ce02f64b2d8bd59a70e6e80afc851fa2c4b85776b808959e320f3a3c0cb9101b6d1e28858d1b6a51e06786d8650e1f3b93fe4c405f8c72e95917ddd22af04d3f0acaff2de84aa28c155767dddbd4be4c726c1430916936488935a97044fa3912fa320e2453115091e830ab2c486045719f6783b5bb0c81ec1e44aa197383f630c224730eaf6af9d52f13ac344239874518c41badea6489f00138c60eff1b1f4f59f73c5225891902fdf19b4245f117c94f75e8c1a1cbb91081e5ed4659f0d51f62182b37eec5a96f431851587601c24ba2e22a5c48a21186d18e92e6a144aa30bc1031d9bdc99134d3108c1e9fe5a6452191b3e08c645c4c28acc5bfb04c186a5941096f1355481602b68cc9bdefb362140b06331cad1a2d32099ff035fe692418c14f5f5e10776ef1f6eaa7de062d4fb930f5ccb4b3e70a1c5e26be059e1837b607aec522d1a01037801a7615931b4144a4ecd053c4aa97f53e2db53b480d17d785ffb28ed65011b8d22dbc94ce9bf15705e7b2f15296a28a980b3ae7f6cb9e2ed52c09586765fac589ca926b87c762219d9440153edbfe1fde8c7223b0137d515c335e98bbbc204dca398657a51bc30bf049c45338e3ee3daa6908009a11d74af742dc608f8aef01b388af41c252260af626554d955be1e022e525a420acf28d541c09f6b3346167276647c8057c9b8c72bfc11753d00000e0ca003dc78a8faca017e225da05a71566abb012649548a3165b8df1ae0bd4208bf6ea017ab19e0e29ff3a4bc475139000c3431800bf0b0d157b07b6d10ac04fb8fd221452e153fa304ab7f22b69571485993e0ff41467e0752312749b07a0e556e8edd98a94870cfe1f93841244890e0c5ba7c1d4d9c6e8a47f0d8a09b8e6d2cffef085e32c87b1212195ba5119cb6c576f2a9a4963382e7fdb6bf5ce15f5c2f82fd70b7205a9402ff8722d8cdb5601657c3e289602ab4fd1a2fa78b8860fbe2fab699e5e410ec4ef6f606d9b16e6b08a66e2725e344f4a685e0a2d0178dcfc2db3b09c1d8438a26aafe05b5172706c1d889d5c4d7f58420f88ac2ff326f6c900e04d71645155f5614ff1010fc9ea524f93f7021d45fdf348a0acf0fbc5705e9224a3df6fac0f45e05ae977661657ce0f1e9366f332d2fb407b6561c834678bf440fbcb5459f1458a443f3c0c56fff51e3f596c203570f7af6edf9250ddd8155875861643676f376e0f19eb52c44aa66a50eac4926ef48678e920e5cd4481efd9dc8139903e3a02383d4ce0c773970b15e8f36c58803bf3bea143b4589b5c381bf8ab11d38e4adb0dfc0388a9027b778463bdc70a20d6481136ce0629a84b823a92e72ac81ab9429860d59fc276a609fc2a2f8cee59ea681c7b0c02724c528458b0626c5fc6117f33457e419f8462921ad52c80c6ca89f850e22bbb965e0273f436d536b0a44327081d75314a94f65c7c0493a5aa368e4cd9c18b8cc558b689594a20803e361d143b2c7d2a08181b7775019d34531457f817d64f131a8e5050a4039d1056eaa1f7aa332b0682e28e0c416b814c38bf15df4b6106981b7d20b6255864fb2c0ae6968bffd27b0c0d6e66937468194640830c0892bb07ad1c042a7df3eb0b002b7e96d9129544547aac039a4a748690affec4105fe81793eb0ace3544d813f9158537695237d4572c209299c8802e39ca9da0ef5231d3c01051eb9ab79550595736c0d8252a8624a0c421004411004411004c1dc07e2230204414010328418639442903b52181410c4200c842004144280200408822004104480200c0182200883a0088f54a60f949d8e4f271d779e7c253c3999be0002fd58d248ef58ea575ef3065bf6ad6f11136f0af543b33cab737dc9f793e66af95e478d4f5bc3fa99e5bddd97c67057e0b98e5ab569a2336e7d33770872ffefaa74be3973c57345e0928131e89cd4f8214cd89b84f22d32d6e106b9181f62f5a70bce9c75cdbfed1bccfb374351efe8f067c1b7d9ae604db1792a2e4f11bfb7d41d008f8b5b0f7f9bdcd754d84c1fff86d6083ff787199bfaaa404e7d0b24f3f8d81fc236411fde9d7989684fa78b2874c51b08137a12c82efe073cf611a86a5bc5f2e66ebb41c0cc02b6d089d327c1734c4bb2688b2595066f549923530590bc9eb27f5dc284972a3a407e5169543b71916fe536d9386f3ba4f36644008e0b95377f9f5fab13da7fd374b981ca101158311c80ca7252032b39e52a338788dd46a69dffe590841a94e46b52e5c8d108275d6641cb863aafb2603f12f1a9d85b198e6609248d58b77231ec567d29673838ab404a0053014629ffb25b75a5c1508eb99f1efbb1c9b8e673fbf39fecfa56af4571283aa6b25501620fdd56930f26d254415cb797496ad5b8b6205a355253f79edb88af91d4c19253292979916a0dae76cb103a8aaa481536026ac93f4a48ddd9929bf5832398badc70edab8c4a810a3b0ac8d86d6dcfd3dbbf906d17a6d9d0ac32d508ce6e8ede7e2f4f74fc7856bd605c67292460be674d597c78d4f6d1e39f48509936739c9220be81ba7150ca9dfc417649d2295040b9cf93e9557d96b02369dc4183e80d01bf149deb97c0e1c4c38ba415ffc2803d183d818f09cc823121c59c2e6deb4db146d643315d5e862c9484c77ab257a1e7701de8c3f273e3c9a18f252a79ea322cfa9829b15bdf17b8e246ce7c0acc3a75e01c5edf1401f60db0c23582d75970a2f051e97003ca06e0502979ceca32c36ccb04d8e19baa9d46713e6654c6d335c5e421a5529ef2599b393995ca94cbc519e7cc54a574d61336e552ce99599589944ecd3ccaba99884997816bb0727e13db52510a17034de495760c319237e37a1a6b090e32b46fbe466c1c232dbb999bcae047685633308865a0342edd452e7af30dbec199f3c84667a6856a10a32345abd2d511c7b1523ca4719a6cfc46c838653e3b332ca401cca933cbd8d00d6806461fb921326999cd6ee486686666a0ac4536585fe320dee21c771998c7910af1484dd520465a662333f451ccf413348f3be0a410ad3aea5ff34fd97cc6c2c19c5eb28c6b7b85e1a3b24b5e0692a0a6f1b6a90e6a55b577d35d3d9d73c0d0969877ac901ecd02b835db07e0c574cae2f6315cd4f056619b4bc728a3debdf0054020c0a744507e491d104fcb74820c14e3327397ece6580819a8825e5551d4c0e7334b22245e7acfefd045590d0e24631a940bc8ee3e35ad42fc6d1b38511cf260eaa63a8abd82b772829318e90be114d8f4e93a919c27617006383631d4799e1416972f84724162ba833b660226b803e88bb726ce175e104cc50307b18f9aa32c616a7ee71ae9135210772d96d699fedcc9b4f0d22e3fb6fb08a0d80bdef325272d06c968e9dbfbd4dddb7219250fa12ffd8ba6b1d337bcc2281dbb7ce24c961e12428787ecc2940f866ef986bb043b70eda293308fc1062d93fef5532224cba1c334387af55212823c99f6ddafaf801c219093546d452942327bff52c206afdf95c8ff44dce08f6f00f245b3e5c1701eb471b0ffea8428bc797644a063e47db2c27876ea6cb4b7cc19fa3ce55704683b8009fd458e667e81d434919f8d5a51ca2268f6fdb57c6d9d21f3424ac42b0e51e538621a8fa3374ce788680d265c88b1b7f3ab0662dac5fda1a7c00d2b9791d14c0651f23a7e0f4b7692bb7f323122299a3b057d41e136433aa05873053182a19ceae9c28e57f23a16d5fce738c129078604b9f669ba86c3a7b27b759c1b45ace21dc4a101193e98e085101c80200e2d6c3801033ad0500603266081020818288305333ca0e07e08830252082000c7df8d2fecfe2174ee3907f7cdbb9d1510a264a0008a86153b39c0f2520e3cf33cf33cf33cf3bc9de7993e352b0e8e679e0760e9dffdf1bd67caad0a629b6027d352d73de52659914a705d455114455194e102a50397039e03a510fa4836061ab9d9e29810ca033b1dbbf16bd020b4cdcfcaa8ee262e52104c4420d4c86e3616f4ef7b40e874e92d8cacf8ebc43f28e1c3f2cd4ca58bf48396f2ce54e497e3be3e685f31ee4bd60593113ecc13b1079dc2a448fe1db742841e26000920220f8ad9977b5eee983c1ef47bf72ffb8a6591770725a52063f282fda6eda0058bbe7882cc54943ae8d162c1fdfd6599181df44799e32b45d7c09d833e372945132bdaad4a0eda4ec51623d95f7ac4419d94e29aad70ba2a080e7a33658ca22d32afe2dea0633eeebb2055ee8a77839624af61c26dfba30dfaa3f433c11ec55b6c501e6bc863107d3af91a14b3381787e364ff6ad0a13ea33f4c838e523666de462e296850ac7c628f84fea7e833680f37de3f55290a318366f94edbea4132ab9441bdf08c3342a5f8e2980c4a6805b3260792e11c83d228a64bd12806e58286967a3a9d9384417b7b0b2f56ee88e8c0a0d6f5c8bcc3be897f410be6cfde4beaa2f3829622d74b9c4da618d6057debf29b6d78ce647041eb9fba2411aceedf8232b1fb505114f37e5a3022b2a0cb5f7c95a4ab824b0416744ab16b8285fc90d515f4c6101dd7dccddb0a3a47b8c7a8a8762e55d0a66fb25f33b221a282fa181f5b64d81648660ada332aad9837e3f4c2a4a043de8b1562512022a0a0b65c8cbadfb1e3f927e82883ecdcecdb94ed04fd512c27f5f082c49ba0558ae2be6c41ce628509da893e5b0571b1eebb047d72bea2d030feac12b40b222bfdd7336f4f6817bf1d7986de3e4950471c87a47c4a76914850e342ae8b32587f7f0435c7a3ac2c69478746d03d2f424661bf4c5f042d742b2bf288134149b57b621993c476089aa37024a36f4c353921a8192d13d608825e7ef2fe280ade1320e814fa346de1965ff503adf3a7bc9235ba40f2818e3a2e8899c997ed1e4c001a40040f94d8f84c9c5bbbc1b3032d625f9f5c27ce9c27540b2042076a5bfc30bc02a9f8cc81720f16c365d4711f0e945c9332d8649c6314e3065a4a4fa1a5d13ec66da09385e8a3c8ffaf8192451b8488c91fbd3ba1838aea52687851e8ba09ad66e29c85bc20491ae8289699c6f829c56399816617a59e26c9f37b41f00144c840cd7a94b2e96514ff4c6821cd53051694bdcd3150ab2dbae1be442e182812afc55263c53bbd40c996c1f699e7758116573f5b8c5712922dd0eb4ceb1ab275664be8164e7c182e21842359a0838ba6b763526557a0849d694e6d4eec55a089b3474a55b7532aa1399e0bda1872831ca640c728be9c77fa8f510405fab763edefe7caa9b0094006059751cb5eb09532689731aa984206b531e50a71615c4ec6a0e4e7dbd3c7386f6231a815c736f6b654f98741a98c88a11556642160d01b3fc9249da790f60bda55105a72496a20a317b4b1cebaa038b6b048729b34be5c12457041dd0a52fa9b3871d25bd0362cb0e0c16569102d28f9c6813645acefb2a039b9435438498e41b0a094e4aa495d17777357d025e2c36733d87eca0adadd57747a0eb28155d0ac419c384a317e6da8a0eea4ecc8e32757f414148dcfbff82d8af5a258296851b4e196cb2e5150a25db31a450d4af25050e2cb6213910829fe096a7747353836b6473b41c97fdd18cd4cb9e526e83c65135f261e762668d3152e92f0ffecd8256815c95efbc6df5d25e8b0a52ed4059b72f209ada982c9ec6612b4b8c6e32e32063541820e79a652aedbce061e8189228ca083376814a51887fe455023b86c9775a57813416f8ddc32f12242920c4193d8e8315e4353d084a03e16bd208ea250b90982d2da95f7dcd0f30141b1309e2bf3dd58ec074a83da08af355f52913e50a47e5eac1e5eafef81fed88e5d2797eff3407d30cde7733c59f20eb4184cb2c8ce91d7b33a50cae52eceb32806e1cc8116fe38924a8ea25ce340bda9184805fb076fa039d53d9a7f6eeed0068a5f2ab314471eff6ba04ddc0729975f4bd60935c2e3bf1de6b5d88452215c4688f38c4468a043a6c7b3b3b0b5cd40bf94974146e4bbe764a057587a984b418a3b6342b174e1f8254a4a8f817e9629e893655408032dba18dff29ba228355ea0240bcac9c28a4b7217685150b1c2c53617ee1668fb16b554638bfba525d4feebecca31a7d0b040b3ac3ab7646251bac015686e59f1214fffbf0af477d4102934c357427f0c175b86d5f0289f026d2acb2a464fa3afa340afc7d1c9db54d19d4019c7370f412c28ad4da0c84f655636e8fe25d0ab814fbe263bb3904077d0a1d7f0eadb5146a0c4e5e7937fb5d622d0abbd2c47dfa4101202c5d15e6caac6f71c8340e9771816369da4f80fe85a41084925b559b11e50fcf7391a3cd7f91dd0dc31e3160b39a0c58c53469b3fb637a06b8b36b0b8902644033a93994fefb49d8619d0528a79d20c7d164e30a084a598f1e75e5d7f012d45ca2845e84571b680da7a6173e3c78cc55540472965ef45166368060594ad6041d0fecf986b024af437cbc370d8b504946ce8c728590cb4a224b46ff68eaa20838c0f123a4aa35941c83dc18f80d666615d062f8ba2821471847a8133be9eed3cfb87d0472a35ba98edcc7143281a1774e5bbe0f50803099a3ba32ebfdcc996232821b53fc8be393b1a41cf277f2092230da92268ff2f5aa92582f278c2c4299068087ad769a58ba918f1118252e3ce7891585b54781034917fb433f6974220e8cedd981d22935cff032df2c89353e18fc27da068fba3f9c73cd3f640af0d4917b2c487d279a03cdcd00bffe3a3db81f617b48525af1432ac03ade14feeed5c94e41ce85a91c184d8a338c1815e16360529b2109bdb1ba899e35526166447db40eb88f6ca2810bb700d9431479f6f790d2ed20925fb33ac785294ca6e42cb95cfe2de3619a481ae99cfa497ebd2e40a2366a03e8665718b65b62044064adcb3d8b7c2b77833a18549e6bc299bfc2e063a060e0fc23bc6cdc3408f1055356563cdbe40f9cad43617867fe7022deec5d2b10db71d6b81fedca899b69fa15d42d79d9f5cfe3c5d0e16a8e5b49352573cff57a05e7385ee8859432ad0db1cc4375ebab2282574f01362db4d9e5152a0c58d773b2349fa201468f1f4f3e64b9d36e6045ab0eadc87b07b31459b409f76ac8ba167972d811ed5bb5311a1344202fd1bef234d86c7c608b414a460f39b2f7ae945a0d8e8df834b56ca42a0f5fdd5c48b5f418583408bff6d1d5ea9a2fc07b43c17d620cca58907860046744079c72f16455144230b077476101ebccd298d1b5077d254d84b9582cc6a406b6e330997352f3233a068b6638a61a528e9185026e3440a279fc58d5c40797c144551e460db3f0b283e16a41d8dfc381b15d0428c4ad1db3e05f466fc971efcc5f03201dd2c626cef5d7cb204344bd13544a874b14749a853fd348d61be848384e22cd93f214b643b02cab5768e5dba149d1147a81511dbdfcf1664453984d68f2e5bc87cf7a021f4778d77d4d27ade1742899cb139af353a1342fb6b0e1df7ce08f1412872f3654e9197a2288250a3b198b88536878150c4b42df747902c018456915cd07e6eb1647fd0c2971021c31c8306fb41bf144646e17b6ce67da022f8a0f323c7de737871a41551c41e1e50841e74dd4ba1925d50517af3a0a4d0885bf16370f1cb3b401178d0733632be8bbe76bb835a0e56e79051a82beda0f3833071719a2a06eba059fe8abbae1f964ce8a039aaf6b39c7ee9e6a0e7e683e85cc48be2e4a0b6a3e02ee4bee3a0d77ee95c8a1442343828329521630b76f2062d83e371b6a09b7937e8e8f1e9fa42b0486f8396b13bf6b6ae78236cd0b24466f7b1b3fec61a948a46412a8f7106d5a03e8a952d5b510c5a1af4e68b2175a3200553a141dfc76d0b62f8a4f0f019948870a6146eebd76d06253602f3849a40bf4a5148ec9ec94f39604aa08590b2e641861c717f0d2581da2f131b642b19cb30808e40b9b8b8a260722753c9a302a808d437dd9814b7c8c74401fa84864031bd9881cc948dcd0e02ad7bdf9f9146c6aee608fa01253e2beb5d6db3e901edddbce1bfef82ec710fb4036a5b86c3f6e8e9917c4187500ee8d31d7335962f487b25000aa11bd0cd469ea37ebf5148a806b45419c50e0e9ceaaa4208cd80961b2ec806fd930d17c700c58016235c8850f60d5f313700bd80d216cc82bb78e2262601a805b4b8cc8af876d95aac24680574b2f037a9326ba44ba180169c247d2aa76e870ff14027a09c5c8558491da80474bbc9f0e5c8dee1ebe58426a1d33c3e488817649a5024947b8bb18549908e86a8584223a0c95fb66b90a459493d42bfcb7a5f16a489f5fc21f43abf9451d8105a9b3d63070ff6acea4228ffd215d9df45657d2184f6b77d3ea9ce34fb1d84fa622152e1649248410461584cefdccf985b20ca0f441ef9bf599851158c0084165d734c8f7b4ea3ffa085906c9e689069cbf203ede6b38fa5bdcd3e6851f625fd7c6bc6083e9051e4302f8c6a58510a50258cd883f215b69742dc2a4ec5cc1c61841eb40ae132c7e569e4a81179d021c66ccc8ec5b82c5636030123f0a099bc576a54a9b4aaba83963188911c865cd206d94111b949e196650b65e13a68e5eefe505629d47a30820e466cc9ce1879e446af2380501ac288396876492eb2998bc8582f182107fd5c9ece5188112d0de9821171505b441ceba2687e1f3563041cd419c96ef11a9845dfce18f106e551e3a34bf9927537e8b74f7156d653ccdaa0785e2a99890d5afcdad777b0288b6b501fc36b3692071ab91ab4fc20e3687e2c694b83164ef2cfb8e672aad1a0b9a598741bb683089f4193f87179b660dead19349fc6f92ccba0ffd8c848e5ff902019d4ac78fafdc226c263d032b2a3a9d011971383d2d3b39f1f379211064d924cd6f5fec30b02061d9f458d153bb9dd5fd0e9b9296a0be96ce205c55fe2fdb548055e17f46b9b7bf0528d32e382dadf2129c7da826293793f4fdaa5212da81746eba2f0f987179f05fd3b2b6e92e090c782221945524fb25f419b608f158edd12b7820e66cfe12a1cc95c052557c3de8ac2e5485241bf48a671e11494a986b1f415534b2d0565b258c8130e1ef5515073ff2d8dd5c950d02d086f93e22fed6f9fa0c3b37cc818728d77827a0f0f249525a76013f4278fb3407233fc98a0e46390c25b343d592e4199b30816784ad0a49ce2d31d0bf7e29e501f7fe3cf5238a9b324685bdbf819b9c5c6068253e812348410c220228418631463b3077218088318868110046110840041100441108641081004411004411004c1c8a91d617ab38af7863edabba814eb64e4e526005bd2dddf60869c8af9e8c59b2909646385b3cbbc5b4c8b8a718eb6b1bbd388c7d0ddf1d810a8754e8ab7e3c09514a0e3b5fbda691569493ad2c2a16816e7ec2c8236e44a954774581dc37fa0f37b17651101e3f7e15dd3e421169b44d7a2480087fbacbacb8c31429289296a29377886829f23a5827d0cede21cb85b7c4df02871136ad38201a7a8dfd7d2cecfbb70f441d17870bf9a0203bcb16000c7808f0883ed6f51eb0e2a254c9bc36d063f9467206c57134b97e1756e5dbeb5e24d99c013a1de3c1c20ec4047acf21619957af38fba0f15166886df453a5e2b66f8e7e2cb696cd042ec3403e79fd951ee05978ee4d9935cb405479773a83897562383f979c5472745572cd5080ab3fbbfb583c8503af5856ce52aed65953d97b24d6034ab7090b688dcdb641ea4c9d909242a0d62aa39301ab2a5fad0f8ef4d349eecf1306d8266c03d817114d9d8dcae6b7fe292daf0e33ff2c4c98c046004ba37c63042d119c667faeddbda3a1a304d2754e02933f1e0e8b976e15c92dd317a8040436908a583e1dbee27d755156783fa36f961a0862e9cdd0f15d417b099e7f4af346a11612d90bb02708d18cef2c59e67b07e328358af07dd32a4e67868e2820a7da1bf841d84ad259c87b5e690b5e7526f4e6e07f781c26e851b2344fd6494292f33f88b33950d8008ea59f3d7a8ab88d0223b8562c56f6657b2c4f3c3435c19b4be463e684eed89537b3ca02a59a4db031b6a6851c735056415bdb79620d40f2ab695266974249dd65e5511b4fa0767c1fdb4f8ee17482fb13700c81c9beb8df1a7af2b99658e47a34537dbd1ff0f87dffb77aa996bedb6dab9d7be0704b35f65e6e72ee2726a8ffd5fb86fde047dd7162e57bf47166cbe08f5c57b772fb7cf6f92993afe5d9b5e063dd7968cfa5fee3e1ffc7f2e7e1f3cff6ffce647bee27f41418a79ff7c5ebe7e3c7f9cbefebcbfdd3c75fc7c3ebcff38ac3d4700a40e3d22d1aeec3f7dee1f5d3d836cfec5d1cdebd5c3cc5343f597fbb793dfc7cb3fb95aee41c5d03fee610c8bec22b0ab13f873d5d7f5a8b0ad0b88bf822a67008483078d76b6573503ef82fd6a4625ccd5edcdd4f19975a5913967d9e7b257b1fb038fff7b2faa2baf0a178bd96ea43857c5fcbc62a9eb9cc5037c873d833c701b14bdb2682629cd67585241ef32efcf336eb7993cb93197eea7092e1e79d8bf8d3211093becafd72b2ec76cf453d00508fce0e4f66a68c5fac6e69cb072e9d827aeb71ea65fa68f172c2f84b917ff8ab2ffc3f4afd78bc46d69ccfb47439fdda1af3dff7f472f7fff4c78be778f3f8e4f7f2ebf2f8e9faf5e1ccdfc37e1fbfc3fdc3c3efc7edfb83efcb26f7ecff38aedf9bb87c7ffdda38fe7d7cd8b1f6e7f472fefbf49d639165f15aefa623bed5791c6adcf73f18f19d027591e954b671c521ac396b994019e31d79dcad784872a6b43cf7c3cfefc1ffc3e787639fd7ef97fcf5c93e962607fbc9f6eddc96caae8ba45739fd3ff4f07ef5ef9ee4d7edef5c0fd0ed6f945a8e20acf26359f3b36c7c7d62c3a5a118842eb35ff6a6c046a1a6ce6f977e7f1f2f971ffe3ac76f9612edcdf21d97cf7f5d3dcf76ee62a265fc2c26e5f320246862dd0e49f50d8712a4211f0f2e8f46e597ea21187c47bacc14542ccb5bb2ac6c153ce75bbd9cd57315c856059f8445729e9dcca14f08717cfc0ad1fbb5e73389bbb297514dffba7fa0678ffff7715a55bde0fbdda6d4f81b294818280325339d14fe31c3300c70bce93e530ab60027902b75687ee530e360b8ce7440cd4d6016a575b873880ae24c901c0cf0ffcfcc0cf0ffcfc88a8bd8bdae7375c651199294d61fe3f86fe6fd6c27fce760b494a7a29b6cb398aed728e62bb8c65258e0876085c08a7a7dd8aa1873da57839c5d0b1780103461ed61872438a7bd1d36a5764658f8187357d987d95638cd961b0581d60dc61db74be21f6c38bc9d90efb68fe5bb5ebc862e7d461bd4b124b3bd4762822153a6c5b6993a7adc5f895de00630efb764ae981fd4aa8fa725825dfcd7ddc8c1f4469801187fd83aefe0cd131fc89c5e600030e9b98fa5a4a0fa71fc836c078c3b253fe2517b1e3fe8f2260b861d92db57c1e460efdb0362cd3e187f891a6030f421a0bd7c560c392a5f1c3c3baaad8e70230d6d058a6f11c49d094e3780501861ab6a46671360749723f95022cccf1008c342c214586899ba3138deb2c808186553b0e82688434eb55a70330ceb06c079ec36b7a4f67432280618622c7e4e493ec7390f21865583be8b8f1207e29868e590530c8b0e438bed10cb2f139d88c618db88a4e33a9e377128fc710c36ae3876153effe3833a42d0f667b810186a57f3bd00a51677257607c61cd0d1a27c74ab9c0f0c26a29e2a7594cdbf9730d8c2eacf65722a937669f690a80c1054338f192fcf1d38a02185bd83bad684a591d68dda5852d326275e80d8d1fcfc21af24f48cc6efe900f0b8bae5989ff74d839bbc2fe7925074163a54c7a2bec31779c367ba61d3155d83a7f2cfee9afc58e67b17c9eeafefe4c577352610fe910cca398ac984c6199fe10c626f8c58f4329ac7e1969638ec7e1263b0a6b7ebe1442f6232d49a0b007fea1a7903fe4873c61294fc9c3e58504afcd09abc4e9f90e779343d3846d3da67f901aef53224c58420e1aa16f22a6d078098b660a31d9217f2861cb9e8e462fe233e349583fd623d6a5ce41ae48d83ef0205c07fb518ece23acde816ef5a4b3e89918618fe3107a5316f4363a455843cc143bf220e43048843557748ef3841c327594216c39ca539a52c7b1511e42d84662945ce9f2a29f2508abc94761ea22e755e481b0f45afafe498fffa8fc608d951f44e5306ce5dd7db07cc71fa1cc52ee0ce9c13add174542866df830060fb68f3b4a2193cbc437b283359ada489afc8d33691dec51c793666c3ea3c7e460c9d99e70993baa0f71b0760eda61b06467195c01c60db674a9e31c0dd393426a83258d755c7490c23caec166fe716927e9146334d82e438ef2fef2e6f632832d6c58abfcfad0439f3258e2c6f08e64f63c5d62b0ca4763939da93b54c380c1da793f8a902478c407182fd86263aecfefbaecbc159b9976f088e1434d9a15eb76e88c92ca2778ba1cd48316abd83a8a86a031cf3f56029fc0015aa8628d8f9a43fb3890e8f14fc59e3ba5c32896c6c269a858934da9e520da78aefd14db85a8794345a5ffa84db19a489a75a6c93999580d68518a3d94f5cd54fc28f71f52f0991d635d7a7ea09651ac23114752ec1ca2b0763776de4def6f178a25576f7c1c879f3b40b16a841839f8c822de6c3eb1048b97759f3473674fac123ad384b118cf349d58d43cac5e87d18e2e85b4e0c492462b5987a196938a9bd8d36ceaf950f12c359a28eb53878f1dd9f9af99d8a3fc9335e93cbc10394c9c52dabb98f752c979dc2770901697d8d7724ad9e96942d4540cd0c2128b65ae9aa9c70bc9e295e02294e5241ff5346d24d08212ebde865ae5493ff1a1921693588287641534ff57c68d2436b38fd1dc71298715bd3fb488c41e112bc5adb0ea591248bcc92e74c7ebecb8472c3faac164d2bbcea2528ed0c2119beaa4c8de88665e392d1ab1763e154ba9e3d07a2e2d18816fc739f5a4c5220e961beac1c4e8298868a188cc4492c721313de8a0333fb63e0e9a03f5b954205a2462d98e3987f35febf86e442cf9f1c4daff7e84aa5585168758366857a74a19e308b430c4ba16ccee2cc584742d6851884dfe239ed647c861422cbf13b67e214ddf658358bb3cf024933a87f4ec042d04b18e859c541b69244722162d02b1468739c411cf51932d00b16ee5c0a26bf4c3de48042dfeb0ff65ce07fbf8d36816d0c20ffbaf5f0e3b9ec5504b8b3e6c31a40f4b9ed2e5f3341f960e3c9abb0a1b513b6bb1876d33e4daef187df27d30a2851ef280873bd8a10e7498831ce2008737b8a10d6c58831ad280863398a10c64188318c200862f78a10b5cd88216b280852b58a10a5950610a528802149ee084263061094a4802128e608422106108420802107ee0831ef060073ac8010e6e60831ad060063288010c5abca015ac58852a52818a5398a214a418852842018a4fac27368990e7c2e308b09dd8e36c0af1c3389f6281584e140162b09b58a557463d65883e0fad268a0021d84cd862c2f612b696280278602bb1a5a8eb65e973474ac01dbd94d83365aec5f19552894f620f1995bf338f942f89ad62b627ff5c8e6f8fc49ef12bd91339fc9c1e482cf97272187c7b3c7de6116b6ef2305f2948d0ad3862158fa81e86489f4e6dc41e8847319d3bd5eca58cd82b068f1f751062cfa416b15cea0e8dba25311b452c97314e7a84bc9d27189b88ed24d5234fa608b33822b6ff14f1427847fc203ec49e1253ba8e6b764b37c49224be326e3ee69da710ebadf474b029568e1e43883d08b50e255c4c31f983d8ff2b47d6519ca62e8b2096b01029ed78d4f381d83ae68385efbc712b2096b2ca989031d4471ef9c32a39f00f74ff3b0adf0fab58e5b4a9e31abf943e6cb5d9d14664de7944f9b0ccc614fb50f590e2b987edbf24868f3f4b6a273d2ce939ce3821c56a0e7d1ed6e0713abeb029c4f2388b872564ca9f46871c666feeb0a5b8103ab0fedb8fedb08739f875cc0ab92b8267ebb08588e7b494619378381d964c397ee7f814b7b6630eabc4f3a9b4a739a7fcc961499ae311ad8ae8d86154a6818d03160b87224006f60db96ec86d432e1b72d790ab86dc34e4a221f70cb966c82d432e1972c7902b86dc30e48221f70bb95ec8ed422e1772b790ab85dc2ce46221f70ab956c8ad020b368b5c2ae44e21570ab951c88542ee13709db0cec7b9a1a6d3636fd2842d7a7228a39526d4aa4cd83f452add8959615296b0675425b3f491a4201dab842575285535df9c736c1236eff0537f5c369f572361313df50ecfdb0b09f57858df593163f06db0d45a4aa3bbd979c35683357eb4e96093cf7ea7c1ba1fd787a21da5e0499ac192e249c5709f3b4343067bccb999a8dbf514ce18ecc1a5d4fa249116461c4303065b8e535e388bb58a2b09a2f182d53c585fca0f3e54c82f3b91d18aadd23af29d8999ce9397c860c5befe97535a08133cae60253256b1a67f6477d1c9323277870c556c993fcaf81d8d847d9c8c541c19a8583fca1fc7e7fc84f990536020c3144bc766a49483894caaa021a3146b87d51552738e26a6082936b568a322ff7118ff5043c628f6efb0ac2b5ca58c970c641c3f77aa9ff89b93210a444628f6343994c869ba6a521e3ac800c5a6a2d37110d692568a31b2c3323eb184c9d58e4c3c54b0dc135b86a9e50ed4c27f0e89424627d6281de5c51c6a770761b15ec8e0c412bc6b42be8e18dec412e13b1b43d54fac015bc8d0c4dee1466d4f57081b9c42462636d114a1a141e23c3fb20e1998d8c4731452bafb49b9af2a84c8b8c49a31d62343ba4ef7c128880c4b2c1ae3e4ed65be092107393f645462eb08d521e6a68d8aeaf12183124b4c4aad7c1c1966a7bc44c624b6fc1779b637bfc4d6486448620fafbab2cfc44efb3bf0111991d883ccb55bf1e3d91c135b430624b69053d5458f427f870b15198fd82b7f730e73649aeeb034643862b9ee9f1c39fe406b4b406434620bb9ea91a77c21c71f5f00653062d9c991a6520efbe3e85ec416f5e9838b1f48c7b12236b95c512275eaf41f895843f2d81b1fa7870d2216a93e89cd61f55eec1c624b614eb2543e0ef5db438621f619fdea305d7ffe8929c492427decb4f5911c298458b32fcdd284e59c233a8827d54772721d965d8820368ff4a14717fde3246720f698e3f91c7bb5c22603108b471b43ca5d0e5535e30f6edd5e8e637f94927464f861f538c7a147c61cccc6bf0f6b5e9aa81289256b061f9698562539e58c9354dfc39a9242f00c3a23972a7ad83baaa495642c4539f3b0e5cbf791a35823a1cbc0c37a39438e414f62eca877d8a30cf9e3ec8932d739da1832ecb07e1af12ee9ca9a983064d461cb158dbadcf36942aa820c3a6c957fe63707d183381f2c44c898c3723531551da54649ee21430e9bc4fcfd71c431edf817818943461cb6adfb50c1576bbe3e38ec5b33671ba64a3d11e8060c90f186e52c07ea711c7737ec2949e7cd9154920fd25a868c36acf1e33808ba2a75a9f63164b061c9219c694edbf0d6b0e648bbbf33a87747f11e64a861cf3733b567a3ffa1695824c40efd51e6850c34ec2bb96b37d739857f09196758fcb327e438e6ffc234c39a53b41c420c775eb9322c1f69e638ccde94825f4729420619d69b1dd114ba227d0d4843c618564bbff727561f39f4886193cc71d61f5324a426a19011862da7f8e04e23e7e0c3c9ec0b196058ccffa2e287f44b31fbc226319344d41c568a1c586c1932bcb0c64a72139583c490d1853da74c0c9a95d91d5a120b195c584f62dc0e3ac7f415a78c2dec693b42c788998bd26961ef388ec3aa506716b31d36868c2cec3721a74e8cb54dd16061299bfbf0fd2539f1b9c26a1fe7b2b1f031c4a7a48521c30aeb488e780e39520b69adc23a7131da1d2219596cd3e14357dc74483938840c2aec9f43f39c543f8c509f29ece147cb1d59ce493f62a6902185a534479b1d138259a4901185a5a3c7cba13c479f3b7b42061496143c3dbcabac10b1d828643c618fa21f7dd88a13f64e2a9a3e9806cdbb095b0eefe39cd1b6530c2a13b61a8d4162afc79167d009194b582bc626721c45f9ea6093a18475233ec51cc5404612d628a5217526cc4a34021948583b77fe579ff97425c838c2721de35a5c8b212f7618610bda3964c61cc9c46e23e81a414611960e9367751fe44668d09041847d247be3d367f0bacec09031843de60d2797e3f071f72c8435468a1a72fcc25a7c94752123089be8a4e9386594ec2003087bc4cd6445c4d3487315327eb0859ec848357d351213327cb0fa7dba4f953c63de470ff6f479318618534a1b25193cd842f4e9fa8ad62993b183f5c4e3ee30d3a8395c9201193a588388f7468ef6e227bf3b1939d8a6c443aaa959ff8cce9081832546e60e9bbf9231c205031937d863064f172c7e541a726cb04ff8f8b162a57c7d6ab0fc9ae7b4da64c13f438345752687b0bd39947c067bac7575d495213f3e64b04e4e1e845d1f832d778ae9dbb8ca7f260cb6787653a97378fc0c335eb0690ca5122aa4875d2bb6f28addce3152de0af99561b062a9d09dd16ac2e258abd8429a0de969720ed70b0c55ac7f21eed37ab03052b1458eaa27c2fe6d596d17c040c52a1d67da9f7d52d93b40cc2c0318a7d8e3d0663ece548ea232c330c592e78105314a81b1028c51e8b17294b33ea4fa104be08a3c60608462e90e3d9b9b9c701a6b30e0ac80018abda26aee7a7d74212ef7068c4f1cd74fc87ef0610e72c642d50c189ed883c739c89bbd99fc92d78955327e18f5c92e8d914b053038b147561efeed69e7d3142c2b10c0d8c41eefc7e09157eb1d0ab604755ac0d0c4ba3193a6afc951ffd44c2c329f83b9987323f706136b124989bf7fa92c605c02c3128b6e7e0ce7719aea730226f0624fc0a8c4fe7f7f95ce9387a5210c4a2ce123728cdde72879be0a1893d8bec47b72c22f89a32f46fead0689c98fc4d6c1f9e4faa9a8e70924b6fcf421749eedee461fb1ef5c981c86c9dc918c8e38dc984e85d431a94a01a311cb45f2383d0c1f1fd33326603062cbb0555a1e222b955896058673db39ef79e7ea091d740c200b0c452c6371f552a9aa7f8489d83eca9d2fdf65a69c18a92b6020620f453eb08f57726a23188728176018629fd8df91a7c7a4248623c028c47e17c36c86d0652235143008b1a61b4f69c2efa4c498416008629f0a5b3617f25a590e8c40583aba290729e10e3000b19aa9a5e890d292e614c61ff6e8233f47889f8a94fdb09fc564fad9942160f4614f712fa4fcc1238f1e860f5b7ef2be3ceaa124541a14281f60ec61d1eb30c93f2cc450a5fe61ef0e33a690eafac30f8b7da41b56ba3eec21325688099ff7638c0f4b7df8d439cf46bd8dbbd8c3e6511093ddf568b4f37ad872a4f3992359998f2c16c009b8c8c372f17e6a229a244d331e9638331ddd98498e937687bdf3e468c3e6b139895cd8c15cd4e15cd0e15ccc01042ee4b0796c98ec874b5e967b808b38ac3f2665322b9d9721014ae007390150c1051cb6d9581f4a5fa594989b8b376c31c4eb20484e9a7362b48ee0c20d7bfd048fab645732e6a20d6b0a218dcf4dc6df8f0b36a0c0c51a0e176a2802b84803ba40c37e39184be7393ed3718655b3e683f0387754cdb007eb31861cc68f75de9761d518b683beb17421d3642027914a922e4dfe74176358fd2a7a93e61a394f0c6bc48e343ede48dd41270c5b8e3b59b4fab41127060c7b9ad49cac1511fbbfb04767e9fac38e4c6ee98525784f2cdfa4a371d285357672e7a4b1888c2117f68e673afdf7f57f9c2dec419e5cf2981f4fbc4e0b87f838dd60f11da673175958a3f45ee610b367742c6c51f356d849520de915b61019a2434208d5719815d6943a4c9ab51ec5c85761558f66e22a66ce6a95c59e23939695b932a454d8b77274d77efe8cd0c51496a99595f5af89fdb890c21a2484c85172d8413a0acbef8ae7bfdca0b005cb98ee6bec83cc4fd8520cd183c8658cd6e184a5e2e57cd19172945313369b9c6c22c3a3d83313b6f5581aa7d1b9e3705fc23293e350d7a3b35757c2fa9b1d937c8cfc459d843d98869d782e311309cba6cab3ffb931b63fc27af15277fc6ce36b232c162776e60e3e998945584d6f3e0a1172fb27c26ae9d1c56017a92b3784fd3b3d4e912352e68985b0f9c6e85856b889731096abcf5431cd570e3a80b069cea127a4eafc60f1ab4ca173b22e3cde07db5cd264163ae5cf51a7076bc4e8d8518a5ab1270fd68d92fac33832669bd9c1969711738c993798af8335872123128348be38076b86dc3938130b1ee4e060cdfd299d76d06fb0c6209eea319a36d852ca3521e6aac19a4642458a501a7f2a0df6208f77649dd773e919ac57bf3ab9e3309a790e19aca66a13d3dcf97fc863b046486919a38609db0183f5632a8277a4d4551d2e5eb006e9afc84c1f5fe7642b1aacd8326eeaa5a49bf4b9c62a3611edeea06375e86043154b476927ce9e84cbdb3552b1485674d81f3e977dd640c5f69392399f7f82a58d536c7992c42a959c23bb862996cab14172ca943f641aa5d8c264ef75c73179347b8314cb071fbbbf737a3c966a8c62bdba7c7f92e903ad218aa543a590b2fd70621e108d506cb2d1c4334725b94a160d506ca9a31c54ead4218e6da0d0f8c41ea4f67dfe45d8bda027d6f8b489acf930c59c73f4a1d189f3d97daaf2380716fb870627d688727695d33cc721dfc49e434c12e3f28649c9a3897d3ebc24eb3f1b1d77646291898e39a4e58f424c3e3430b144a707f9e481fc5e9758c247cf934f6f42ce6e0e0d4bec7991a34cbdcb3f5f82462516af983ba33957ce88071a94d85267c7b2f8e5d098c4de959319463424b1ad55e68cb9a270684462cfbbc9339c87f810a6a10189753a840b5bfb69453acad078c492e3b50a1275baac0343c311aba760395c3cbb4dea161a8dd8d2c72ad38e967bcc4283116b8e7c205e99151a8b583b3ae6c6e6e0e7cc2754682862b3a02ab12b736041aa8c4223117b4ceb54b9c9e5718e1b114b458fba5d2fcdef098d43ec9b7b72c8f098248cc502a2618855f7c2ff243bc4bce943a3107be6f1acdcab9cd283106b848eae934d4af36e0e8d41ec69d53454ea648ea61c1a82d82382e6fd402e986eaa0d8d402c52a796c247424829c988062056d195903ea45471338d3f6c661fa61c519b1a51d0f0c396fa52eaf0038fb3d19da0d187e5a2f63a69ff591e4064015042830fcb448f1df99e979888c61ed6b8551de5284c943a8d1e96fee0533eef4ad1426587461eb6d09c9344476b2156999d68e0618fc2264d7119b4636a4534eeb0ef7dacfcc4d0fff89351a161873d67e491edab8db79942a30e1c68d0e11a73d853ab5443ce9bda97e384861c36c939c4b8ff5d69a61f1a71d8e7ba3a98dec4b9b0720f0d382c5117c37a24d62efe86ad9374868e5c1b3216db87861bf6fecac9db618cbe92b7619d88d9b0855493122ac92b4bb286fd7abc43e48c9021520d352c1199731c887cc8dc5b1af68e22cef7fc438d4f36d0b04d99a7f66d8a35d30187c619560f92957da857e96b1234ccb0c4d2d03afb08631145248d3274830cabc485ebafc8b816a107903a01f4a031863d767429cc33cd723882b62c34c4b0c7b1827ef89394df00dd151a6158d3a74cb3628731a40a0d30ac3759f3a91db532425f58728e2e85348b86171a5d583c94c8e121ab9237cd852dad276e4e521ea6b185557f2306ef1c07713d0a151a5ad82488786e0ed2369f8a52686461cb294e3bcd4ec8107d8342030b5bac0a13993b1ea3e4aeb07ea64e9b1d5a5af68406021a5528f3a47c1f1522fa3f823234b2d8d2240b7a7fd1534e900a4be5483e9de587281b2c9c30a13185ad432a3d69dabc9414f69da09dc6434b155d42230a9bcfa78538c9b9f4f8a1840614b60daaf9afaeeebc23349eb0c785ee384648b198111a4e58c2a3ccb1739c6373146dc29a73fa7930b93c3498b0ea04d51c3ef2c977c1436309fb95697cce4f0795ab4343096b88f1263e4a3d96e7246cfd91a9f38169541a09cb8570ffc137ecf377681c61f530487834bd3bbbb41196f938d28d7e993aa8b908dbe4842096119d193d88b0a59c23e498e3a8fa29a34363085b8c69be397b323517c232bd9983097592d32f6b680461f3fad1d9541ad71920aca119fd93cdadc4e64cd0f8c176d3112bc7cdd0b175c3077b8a1d59baeb7839500b211a3d40ca7f73de4a48c83478b0878dd4d17714b6081a3bd8a7235cd6c6a9fd2888860eb6fd3837525ef0d0c8c1be795142762687060e36c9649d73f8cb1cc362d5d0b8c196572061cd13c2a5aa4ca746a40ce18a23ec15ceef3ccee6a4216984e563ff858bd01d1ec722ec71512ae4f0683fbe27c2d6513d7e54f925936c089be5ec645f0cf98d1821acd6eb711ce76826fd0c570461a9f5f04e253d2dc37705109689f3f1d7573a3d0c9570c50f968f90e3cb296753d8b80f16cbd59e8fcb9cf27bb0645ed5e8af784c9bf0608d11cb39ce841ef36c07aba5f4eb3891e244e93ad8f63b3744afbfcfbb70450eb64debab17bf32d47c1c2c29e5cce315a23f9ce6064b9eda8e1c5c9ecef3b0c1a6c9ce7f7a24f96a520b57d4a04bed1cd1e308f3ce41837dcec4c7aa3e77852b66608ea3a81c3d0af114231cae90c15293d3b66244ae49790cb6bd8ff2eefc20733330583666988f3778986e73c50b5633f99595f05178555ad1e4f2f46479fa3956f0b533151e86bcf9f955ec55a397c63be84024cfe2852a8a1a3a5c680ad3392c760d2f52715ff5897588ca10222a9612efea3493531cfdeac6cb1f9743074db1784aa2df313f5be15d75e14529fc38d8cd7dfa2945ff208592b5123dc5233af20e0d2f46b17e8e4dce718ae441a2d8724f63aae4f9e034782f42b1f4540cd10effad3009c4f00214eb6d76c491a9c8d8c88b4f6cf351c663dca47676f1c47e59c12ed5077da7c9179dc0c10b4e2cd9e3217152c22cbcd8c47eb79137697a9837664278a1893d1a8d921b473a78bcbdc8c4d619b5298f45e577b0583abcc0c4fe51d263875e1e62bfc41ea614cff6c36f22b5c4b239f2df1ce586e8a5a9c4a691fe346e6aa8940925b68e21ad8390e5192693d853e25596e40a3a15c5e18524b668daab2148d2a8c1b37a1189f5721c630c99f50e42de092f20b1074939b7532bd1693d22c9b9d3e5e8824712258ea89287e2651262cc717af7a211fbaffaa50b37ff51ca0b46ec394e251bcb71b09cc745ecc1a4a9a893f9e76e7aa188fd724c797997ceb2e38958d249e4d1590f7a4522c20b44d88b43ec71cab114fe347443ace04521d6a89e693ef55ccad14388d53ef36c8e2a7e703519c4be19eb2ecbc3fadcab20164bf1c3a98eca103347205e0082f40e45d32345cf8e3cf0c51f562de92857d00f6be8850c294c4c1297ecc3d2915faeda6812653d3eacc92b84c4454b91e97ab1874d7a2d3467628e1dff7ad8f2bbc75207e13c3a79d834c7d9d141fe94d2d17858fa32978578c9e4bb7287253dec606c625a154bedb0e69014f231c966ccd7618bd5d14929775c66d361eba0412d25478eb0bd98c3163ce9473ba97f122939ac9a6346fb3805d5c97c1cf6b072768afc215505cbf0020e4bd8cc75692fdeb0c64d6249ac2e5a870749c30b376c1273b0ede84fca2ec50e2fdab07c8f5ed7584cfe20749ce1051bb6f13cff8d8b390a214786176bd8a30e6f37897f4dddaa8625feb4728e639cb8e1451ad63c9943ffb02c64ec68d8c3907211cb7273b4f20e5e9c618be41fc6c9298718ab06bc30c3b6df1b73a6c47c97b4aac28b32ace3e1479b44fd42f785176458d347c85fb12a9593db8055135e8c61fb09a9269f622e3b2fc4b086de592649297f339132c48b306cb1f6296c0c12bcc20386adc6b32a727c2999fbc21a22871796ae98f303bf0a593de9c21abfc2c7e97ef62af55cd84b6279584e9ec126bd8555738e79524c12ed30a2852d769424a8c54e2994853de226488a781f5def58584ea39fe7e037f7c97d85fdfe24fb937d1cde5eacb09ee714e6e9e1f9a4abb0fa6fecb0422fab2e248b2d53c4947e7b248649a9b0575ce89acf7f4a719cc262a13bada64ef01cc7a4b0a78a3d9d7e33e7da83175158352299e58a761ce60e14968a0c75c9fc373afa27ecf51d754dce3b61b9caf1c7ca11cd41889bb047ff885812f4c3884c58364b836ff8c4e8e7f162094b92b0a71fcc6fd8f942094ba410f590298792c392b0072148d00fa2c618ae8284e572e84b29c4089d143dc216297914f23c9e8917232c99fec263fc77496a45d8a28f0649d19278986321c2e651908d2172f41337990d5e0c61cb247992ae6a7478bd1096d3e051f8b0e3fda51e84ed32ae9544c98eb13410f62827d67a7426f1b4f383ed8395e7f028c6076b4e21c4e6572259963dd83c0ce5c1c4f1c88b1f0ff6dabccde9ea4636dfc13a5e233615731472eb604f2187fdc16a88112ecbc196e39e109eaed3362284c10b1cac7a797191fd392a3437d8a3eb38ea6ae66ded750078c10b1bec39cee8878b214686bca052d499c8e43f0df6944344bad3bff3cdcc608f2cd572984c95f6e3bc90c1de1fc67091f272ca9bc6601195d0749f53f4388f30d8430c12d437fdc7395f5ebc60b5b998a2e72286d44117add8c35fed2791789a34ac38f786b0381f3eda4fabd862c7fee338f8aae8ffa683ba58392787a762c9981e7d64b3614564541cf3754e6a881b62454fb1688a5679eae490f998c27c1e73ea386892ce90522c129d927408a9d3e418521c36a8f68dc80797f7516c9a4a2bd226c2524811c5393daa6558fddc2b8762891bcf4c1e7a52c60314a44ac7586125bd731c9f58d2aa7ffc9be9128f2748193ee9713bbcd0b1137bdca186981f3f7954494e383158d684fa54f4e42696abcabd161a628721a789f2f87cd091832e32b176c764de8d0c9de1b24d1798583deea7b333c9a17635707189a53a73f72f78289721628912b8a084b9f0800b49ec93b5331fed48c7075c44628ba9534abb4bfeb1242e20b15a05f5cc381723d2472c97a38f86ec103c2e1cb16c529f3fabf170ac56808b46b8311d7d2a57db390602c388acd7348e7c6ffc2ca28818353e347e47b5220ebff372a65f97e6a87791883c43c8711c6757bc8c1a1788e03bcfe594aa536caf439c0b43988b426c1e33ed75fd58df6d58b820c47aa9629b438c73a9631783d883dde6681d977caae74210cba6a8e52834e343d903b1dda445f01c05c4d671854997b1886ba8946d49532100020002080003036150607d7f337400000483466761301c8ee35014a9c95c7af4202103084542c28142c1c180c700c000c180c1400101814107018100c10084c041c1615171b8309ee5ec0322583b9aa5809dfc1da6c0414587f20a25056a5050c0f6678aa420b99177e364cefea51c3cab2efd62e24724022238e559fef6b8f251071ee98eb13537d1e1b139f505bfb66f83d562d346a10ded36335f1d7e350752a251980e0a68b867ec5c7f14d38a7cd1dc24975c703b80c9fa7b08604d7102184794940a302b9556945d69e592ba7b1cb365198ab06a94bf1c0c42701437cf6282668de941299ebe41243017e086932b590461b7110f97ef6658935cbe077040842e374a86d2376d430580d2c7e72ba30b493144821574d8742a1ea6d12a8e177aa712d5dd9a8783ec93f3ba7062e7b80b4a32f4d6646140b680576f0a87a1426593e2011c33c2f54a589575a1a73946c23d1f0d606a2f4050a809d7f0cc9ae1bff035fea051edf64bc2e56d808e6ca40d1ff0b6164443784ccfdd42c8da1adee1bba3016c0c2536778a52b067c81e3b2abcd877ad55f5a3308f346fea644dd5cfa0367b90455c56d066ca2a6637e3f0ed9f6ebb0e70656bc85201ed3a9c8d95eec8a8ef467465d23db4ec91a7f54fce131a5746b6cf5e3cb421ee52d6b163ab41b8f357c7b48f12f0bf08dab122a3729d12b3e24b9b0e94520261c8c92f759020048133e7f13f98921b6bf72167cf3d2724565c38cf6aad2e404348208ae431394a8ef438ffc9327d588079232838305cbccdb840e1a59b646b39b283988a2f1cae250ba336a896aba4f643db18ddca6d27d226a226593c8907e523c089a928430e518f1c05461eba3336538d53cfd8f86ae60cd2173e58acdc716d7a324a7262e5cb9bad16a1614c026d2462459ea904ec950051e70ccf74c133d1fa3afa8d46a3395f5b25a9fa816a2a6f6c86b179c814124cf3d0623b9e688714508390fb654a4f7d2dab2b4ba19a174ad658037d780263aaf42066c853bc0d22cd9b821465716777400237602e1e6ee4b2c09aef70f62022c4f43c0b31c8607fab6071f7bf87dcb7fffd3e1f2b70d72a5d9925b79cfda06751ae92a86d9ec8cefa70e7e9ee238f501fb3c0bb9387c4bdea7bb8a47655e956b880ebf1951cc3eb1b3c73dd1b80ef9fcfe74d758ef988c93c745570bc084ff01df01605f14b3ec16dd2a818c66d544fd7cb76375e413feaac7a05e995401bae5f20718b076642cc9b1d07ba49875b7d8ef864d2dd6d1cbc41a1bb4e201f9bc185ab369dbb607c92debb2b713fa98f63ad781b34ec84fd5312e7db0e13cada1a08055b41bf1021c39d1a59601a18193a1f57222cd835229450121178cf73e4301414adc9ba86bea4fcbf0e6772393de905c95dbd3a473d379cf2850e86f0ff98120db52766ae01276c28304a50d64942daeb3b24a27311a8c281bc8a1d6961b5e7f62b5588ceea5049b85942ea0b28cb4659c1cac2ab1d15ad6a251f816b76b1416849abe700aca215873b18ec84cb2455a13f6cb7e0b3cc02b5e0f30812268ec640ec36cdac9630702e1cfd5f68257c3b48183cad77bec4ff4661caca685c3c2c4378406150b6ae7d840ba7587dba0358820f42bf58e7104999b4b3320e968d201a836523a49d0c85b97d8a6ef83365b04925609eaa2fe897f1ce175c83dbe6b820a2a463a630adfb2fc88abe1a891295a71a55ab0751bf5831ee56ca9a42d418b00b5c877fbe0b831e838d91885c133f266e467f2b440b912015f9ad8f05fa53bae16d90bb66889de4a3fa7843934761140bc5ab5050cdfc2be2e8b43bb0cd23962000781598c4f9faa3ac8aad00db6c3c6515e4b3b0745c5eea64df742cb951dee88c9f9219a8a254ca9aa05639d334a9b2d4bf1b9a4c87d81bcae0defe22cf640911c4b655f048c5ab0c856ca9f86e2c298a2f94e9f6f9c4e1a342a55562f3bc2842ec33f7aec7ce8baf93fd6d6cfb0e33528477b218550973c0c884b9b6ccc55a8d43d65d1ebc826d6cdb0b2e5c5b21207c9589d9c6c660ea6b57576adf5f35194ead5fa02d6353b93647a36a4f32985aa782b52d5e150074a5f8af26fd258216cc0b393a748f2576d83b989dae50a84f95ccbccfa50f0d431b622bc96f6319463b856acb25e4b000019375f24bd8b4c5abb8a09733db85e7992786d91338d2bb5f15a286da4044ce54e04b092c5aa27e71da7c2736279ae29b0a444b9e5c81086ad80fb4bc4855f399501bb9aa28d572da659d9f61452c9e8f49af5f4cb65623e8a60ece756b98a574a487d7625a168f79488eda285de1d98a3833fa546914d93639c0ad6aa3db24ce8cb2d3e53b9aaa744425ddd9e320cccb42db907df4e1e2c90d3cc9fd5a2c53c83e391cfeabb9165fc88c60848652f98ac8898928abc5b1d3bc6746717db1b583a1872891340c6372d364671e7e1aab38ea1f01723036d723d456878442862c31f6b9255813d3715f588da87e3a2cea1e61fa26b1f2b36b987af5f51ca157bd5be44901fd4d6e4ce03b07404ca5300f0fd447b3403955943c389ed3ba8264ee42f74729c192e1e7c08e77270359984119d44d2ec0ab4c8c1f49d4ba61c4aa438b34c53e62f025c88d989b3b6743972f400298eee7b9c56fb9302d90972039c0c6a3b0f587a4edacde55ed0ffdf4204913649e53047d1238252b5ce9a6c94a1723886b19a903120c29e3c6560ce8fc95669397beacbe71c38eb20d40c53354092165d8ac8733600dd82dc85c84a75ed724bcd499e131bca4e47fb43e4860124eb9b3650f45d7ed44a8fcf736dee08195984616ce40047c0d34bfad730a99e2761c01c38275e92f7902856961a578e1c6bbdf327080311ee440541b30a347d5c8f3e46da0873caed89a1e51be959b074e6a52ac6fb86de2e6f8d7100af5460209eae3d849400e428eeeaed8ab97939d7a4d0e83f6036f1fd09938595be9383d7e2d93ee3ce4cdc6368f952d5c4776778b320f9f947d60ea62acfe9d554499423b76bf4f1b60533c73647815c540f6ff9f590dc1e6addb533795ef4bc3b4150ee7f2a0e52cb4761b86d5e8d5ecc907032ca08bad2b78d09d3b0cd4423ece97c46b54e63a1f4f8fbe4fc59d57da94fa09844f0bce045b10bbf3936b9acc46cb4776c918290a38dda5cad73f0b26bd2473db81ea1ff34eab6354048bb2ea1879e60bbd7e562391a8cdc8c9824db6b26b8d144408e4c9ec08bb20d84dedf4bf767df091483922ca8a80d33a2585f6bb7c622f1ec0c3596a252e04be6411c4c36ef20d73870d1138b913d5df7051786a073db04041df8a9be35d37190e67495622d7e8d0dc9eb14c738ed0054b26726132a4b05d4eb43bf434269e329835bfd365bc9d8ed4a1d9843b81cada012f1a5ada02fb77d7fb9afa4157664c58c874a2e0f704791257143d498b9ce3c02e440eef700f6a5a934236439505aa254664108955b53733e183a2acda5ca23619b1405b945cd9578825024e7820b9707b15acd4719a017f5081f7c2d5e6f8fa9e3a200f3b6de90335f959c8d9915725ac7c9ee77c0112866cef60cd1171bbe61a43faa3a32fec7ba8036fc756dbf83ba3eec87e351349eccdc456ad0abc64f4103eab289bcb967e9a24662d511e329890a9671171cba7260b009f181d75273774524bae3e2fe9c782567490e598b947c1dacbe76cb2191a4ee32942e2b6b767defd8aec280b872a73cb4107c1782f9d9e6514b02e6ab4d4daa8d6d42a90e07462eb5a32596f817c947d0651747e40c875627ea804b4afe89524b5f60a6a37c298e24d6fa35261ade43ff0b09d24a9b453a78880e3c0e0beb75167614d6ce7bf5e37aca617487bffff1e0570f5574b57381bcf513aec4a6dc30f07b5a0b705e6d764121cdf707f2f7a1e6cbac1462daf00c2f9127a7eff086b85b32bcb99be549250508bbacc5f83c99a001d7c73f8415227b095ff109450ae45a9a3d476700f98a3e76c4f97016f71bded3f12ba251831e2dc206f91782b4a57748529e0fc753282df4abfe2081cc2ac474e7550c110b6f6c314ccdf3f4f67d1e56145bf64951a707801311d3eccbf5bc601a6abc357b64d3832520e64dc1a75cc77a095421bd3949ccdaa9be38d75323dc3847f523b3c43b19b2292e9fe16d17993924ea67b88e3590dedd42c0fbeeeea34ef26afb895895650683f4026ccb1eedd70e4b919dfc8784972ed8c371cb6a045ee68b13dd8f45793d8886c4704da457e5e982c163466202744d98a2dcd9114f99c9abf3dab34f1af9876329c524d1115dec5b4f5d6eafad316119e12cd58dd8843639f6ecf04690f307754cb5f3632cb92e72b225cf90289bddc17b281af92a7f5cf958781629cbd72d0f52d589575db7526c5f1ecc8cd5d4385119514de263591df5c34e1de328ab3579844323d2bec28f6a63005a9a687ccfc3ca74184ced79b3a3673bb06e81d84ef407e765f7b648da7a3c3dc5510170d09f87cadc8fa632126b5316c1b181c8a16c1413d664e0d3875c4c37969609421f73d22248faaa353f55b301cde59c454a3e8b465752ea5de830417d207f287f3c62cfc3af19cf61344822c27ef2b1869603f310a918a97f5f26ebd6f97eb63bc0b14020ac854a8a0a52ef1c969396a689badbac9267c417361627b433ef510c7cf51ca7e1550a9e008882e3d0177ad86364095c417554d1cfaf02ae549dd102b850a7633a2781bf311314ea304b60ef55458a2e056e12d17a27daeb0d735bad13264b69a2c27405a1e5203dfb3abb026b90882470aa40ddab9d7c5478a549b158bec85faaa6567638cb239165ae4f98e9a210cb0d262cd0a1015dba1035770b56e98bb5e85f2cc7be71c350260e7dba5bcbf415733f7ff893e3443dadfe60897a9db89f3b02e15bef359e1c8b6da0fdfc3c44595d165b97cb872f5e918df40aca45a952cb2fdf8d9e46b9d4c8fde4737e1cb7dd31311219511e8210459ad66ac6c1881e40832adb53870a07f9877a4ceb0ed2f12497fee475e6620fe356f296ff4d81b95538d00499d387f6d02d90eeba9fed2624bf7c1fa390297fc5a05e26053c3dc0de7130bfbe0ef8600160366658a3bce3aaf0e6a783d426cd5eb18a42c8d287837094bc34da4be4ec35f6d76bb7e045a11de807a7f038219a848412b086a0409bce1cc3815f4922d738071cd92e759ea77901e26ef80abe1558a3a1104ee3eac158e777fe6c3473c0501fed529d80d3d826ec1bc6f68663ceddd62eabad81f179b0f687514cefe949b111142db178338953f2642e241ed8b18146c046e8411908482967c8065a5034612c1465c1801fe2dbb2a311d1a859db543d4c35b7405ebe008f5b9e518cc7270e24e7f179721980e1b5bc59b48cacd70ca1f1e3059b1a071c40cb64d098c0a12238d36dfb4cc9fceb097ffe066220fa42024ad0ae9354e1bcaabb52d890ed63d7c7098deff571c327c4c6168fb01a91e89cca0814cd5f1da7dba3340db4bd05990e871bf7fbdf68c121dfb02a6a7c4280973aedcb0991d9c70021c647b0a04ce3d79d18878d93267653dfc822ef1f5cfd5e68986fdc86e3b00270c56150eb35928b094af0a007ea3434394cc66ec668cc58036ad8bb94b0b1b103231150bfecbfa87aa3815e07381a037166692a1c69d3490ee47f4f7d96332066e43a15236a5f6758e9016c465d2c0a33d9493bc04b3083a4cc15bbcc721625fc1c805dd2c62c810247cab37900e129448eb8bfea74a406bb22213d1a9dfe90952370d03efd6a527d456f00428afb80702f4b822f01c37d2ca75a820005d366144200c92355906c823edd3c0c0361223d31559469c6fc5fffe6625f700203bb9b5725aa0b9a1c22d5d2230f32f9c323c12bb76128839b3cac1d70a6a843e9422d311ae6dd1f63c22da736bb0046f35a83fa1cbb52e45c7f40aa5d6fee35ea7bccb962f4c517ca84f9c005c2c33a027df88cef2d22dbf55c552c27b6e82c396da925acedf865378c1e83fcd5824a1f0bfe1d4079245e39816ca31a2951df6e3c23844136cbdbf405e5fc2bfb05aa51518b72b721ad468d874d81490dc1f6c5ddaf8b5eabb44565d5f12be1283204f9a97458dae7f8a65329ba3edf81c02b476ac889675411ee55e714af1fd06609fc14804c22fc8a39d285a5787720c05b08b6643535138db20bae6c9a6ef7632c58fe2ca1f3257defb37892ebed8f6cda995d3edd8b798b868bd8b6fb5325e5e00c585509d612433d6880ba9588205c2f86d1003ab6da7c023937eb90610714b8a34465558c131a6ed8ee84cc1c906224898d014c0e8b5dbab93e2d57508119214102b62f2cb064750de8cef94096e641de3f31824f8642c2d93ea5dcd1d5f240966640025243980c5712116ce02c1642907fed5939f6d4f2411b8cf80d6907d0cb28fdc9788c5687a733000eee6cda87d8bab791f891b6c2b085f27ba54388346b8001ed8e1aae9d81fb2f31f34ac9529ce0bcdcc80b45a5cf7282270ac0a4b10676e836631bf68b7834187167e423fa21720abe95f4e972bf417757e767a5d966acda513db8d12d773df23b362172de4529ec863185c54e1e9a9e5a2ab061b71e49be343627ba4da4529e72d2d02a2735220f2033c87b8a01434a8aee1536e9e68045e725c9c7a41d0c04633f02551b2070bd15e95272a59d3b3ad7e8fd9cc070b959cd800a73809678dd6da495b80ba95becad143799bb0c30a666b3a96127ab5ad8b2e8debc3df3ca5517b0a9272b1e6fed024f7e2baea703cca0c15c68ba3b9428f32a28cd455b5f78c3d261447d97004d797855d98cde4d01d7c2a08575e1d129d539f851c54f2e0476fe6bc58e061700c8d16c173bc00ad41c1a0a838881970606c77f201be2c4dce412734f806fa1c97a4796acea0dcbc69e0d29618155558af5c88ed1e8b3eeb81e16c9621934097fab57e2a398870c828e0e430c91781f88872ce8922fecb0281bac6cc0678f3d6fdf2640dea3449eeaa9a09d9a2e29e19ec83208a4265c145d8127f6bcc17f8e65a242d6b0bf196571f24c49a3c764bfa39a1c80796ee9913899dbc0728dd6a78a309484f924d1a58d3516aeb741e01f253d87e68c7938536c1a18a5eb8298d3d46e11061619afd7928ebfb2c2d2f19eef34ce8be3758679e7f163059d5c05ef341f95596357f1d1a7e7400f16cc090f99c4301634aef96a1e11657d4aaae93c41c72edb14be0118ebf61f148728b64ee7d7f8e6de2b30c4b8c25e2f6ff1ac0877607e2d4ce47626c4edca9239e256bacca9b64d08157612754827f1a3815a8b80b13088199be0eda7fb9baba513f71a532c80c9d508f809a03f19fc105d0aad4a9a130c54a88e0994241f553546c31096e2871c613560a0df496269716ae75715543a52dea10ca250b9f8e11258e0abb233eca05d8b61415df7da9789248b24f1e864ab29ab31cf2cac35b4eb477bc067756e1d02fca59852337195cb8534e73937716ba186882d104fcca7969c398c99b42e74ea133493e300d0f88999413c830fec5eb51409d219eb273eb7476f61f2422e5431de8a862c1fc4f62414f246d9895520facad250e77e333f88fe6753f9b32042b00ae585768a9a0991698439249326ec24021faca03751b5449ab9902a6a22dfca17c000e5b9657700cad9c19a34f3507e0ad8c828b2b5ca568a0cba66c61291920fe35014a365654d5c378170363b8a99ec2654a132f4fc059cef118e636832509c7a3a5dabf33ad2f2fb2294b32563cb709dd6798051bb4b940503c5d584d0df974b4ec411f33ec3d48ea1db1af34921e0dcc6824468c8d0ddc8f087297a38839d6ff959d07496517f1d4fe3a762ab8abffcb2669ff7ffff8b2a99c23b8177958fe5c0ebc3365f3aff17f088c1c9c94d089aaa4663083e5feaf334bf51787bc547f214362aabf1a91a9fe420ed1547fb58c37d55f68c7a9fe6a359dea2f648ca7faabd3f9547fa13982aabfba97a1ea2f142caafeea3846d55fe819a4eaafe62c557f21b29baabf5a12a7ea2f0439aafaab5d4b557fa1bdaaeaaf8e6d55fd85f267557f35a855fd85d2e4aafe6a25afea2f7428acfaab2d1dabfe424ac8aabfdab559f517a219adfaabff54abfe420adaaabf7ac35bf5176a8cabfe6a5973d55fe85e5df557f7bdabfe423af2aabf5ad85ef51732c057fdd583fcaabfd00058fdd52d09567f219c84d55ffdecb0fa0b619c58fdd50c5cacfe42bd31567f75e563f517ca0959fdd5064f567fa11165f557ebb3acfe42fd99d55f6db066f517aad059fdd5f9feacfe42be81567f3579b4fa0be1595afdd5f24dabbf5058d4eaaf6655b5fa0b35b6567fb5bcd7ea2f44346cf557ab98adfe429ed1567fb59a6df5172a406ef557f7a25bfd851af1567f7525bed55f88155cfdd541255cfd8570555cfdd5bd8fabbf10ae93abbfda07e5ea2f2423e6eaaff6e1b9fa0b1d41577ff5d9e9ea2fb46675f557dfb3aefe4200b2abbfbaa176f51712c65dfdd5f1bcabbfd05ae0d55f3d1de2d55f58f176efc26970be52e2e4bc0a5a2c483bb116a2789fed325f7d2a927c7ac40d9f5465aa01b5cf023cdf9bc0258ed0a559aaf30a75363a2f3cabdd827d5ee565005972fecf4095b3bb43f47de2c4c2ff3c0705053b29f37d3e3ff76398738fc60fb986e25c92dec37e9387ce217009ef23d687ffb8a455a282e34980e530fb02c576e5d761779d5f866546b9be2dfba98b7e5b16ec57f7760e6ed475e652c1c7d12dc31314e924daad66df5ecec9b5705b846fa5a9fbb9bcf59dbc0be2e2f5b6a6aa854797799519930b87ea6ca0009a7e69262d1314b902d5c5e8b8c298240691992d989836ca12ca36729b4e3044a13794fbc7701c7efbe8bea31ba8543d3652be46d1c94cb291977c4a1cdd96b723bcd2e968d7c17cc5e4ae26cbc596a2224efa7bc3aea82fa91d15fe65885fc81e094edf06cf0da26ad49e52f0575d12b2f957d720ee6bd0e52103b0191db64972d3611e6dd3b2e9061812f661d4afb6a1975022d99c24002b61a80eec00e700e90078de3c1d8717f65c71a527879a494aeac21ea27e54457690b74a2eac66793faae3ecada46e61558df3b966362147a916f64af3a1773c0b4bd0ce2997c2c5fcc7b0b07e9cfe52eca48e37b9c21a22d7262c69d45f6f856df35acc71e806492b56618d1beb1ff4fe7a1c87b258c2a3e0e1444f630c312a6c2144bfaf78bb3f96630a7b1cdd4721c63ddf4d4b618fb6ca23b43a4a2f0b10ae88c251d08d8c1e28ec9926e4a9e4f228858e276c1ee7bcd9fcd0839c3b276c29a79d9c3f8e73e6f99ab0ee4885099ba40a9f96a325ec39aefb1027d57edc94b09884cdb4fa7187f2d0242c31c4cad13e8c173e6601576aae7458f249e8e0b7ff391f3487a52f857c8a1bdd357939aca3f1f7fb3ec5154fc661db8eb32a7d4448e730386ce9c3e68c1c7a0ea3d337ec3972500f96a39c236adcb0e5a5ab9d9a38e9516bc32239f8f8d7f342949463c3aa5111f56192d493ca35ec11f933c757e54c1da786a5d43e48471e721cfe69583e9547f9e177989886862d445ea68b9ca2a4289e614d1521c58d8ca9d3cdb06de4f0a0f2da5944aa0c6bc7188f533839919024c31ec136ade5e7388e1e660cab47a136741cd91d8362584a5522e4cad3714a9d30ac9d7e31f87fcc1bd18161cd0c7f7957e6bb73beb0f47a5e26448b38417ec5724c116bd488729a323fec784ac47211e682d75f584c05116bac92983d13d63f6687d8b73e75268feb4ac961884d43048fc39442ac41fb2bdee67c29420721f664561fc610c91ac49231e7b5a92c47b713c4def19e4adf5dc81f33104b45e4d98af0bdec00c43ee1a394173646fb8fe30f7b65fe3844be90c3d4fb61fb683d08753ba1e340ecc3a6569d4285e638d3081ff6f8627fb2603946a8f6b075440e713e9a5dfc287a582cc4d11c8dcec64ac9c3d2bb669d2b46ae34113cac395ccc1d85f431854ddd61fbead8b91fd5477f1f3b6c39a49873fec30b4f5a1df698335eea870357846289bf1f7868e902c596a3e820e2e7cc3947399fd83c2e491e55d56f9e78621109af919c2fe5f7472736bb1c6f4ccba99527e2c4927318f6526f2e668636b18726392ca9ccf9d1876962cf0eb3c22c789c0efb4c2c1f26dcca98c6603626f650ca83b30e352546f0125b0edf95a3bcd239e2c612ab5faa94ac9374488a2ab169688c0b614b43a2c4122f56957d7d6e128b24cf7162fcf863c71c92588244cbeeef8e645413897d54d2c77ececf554362ff88afb42492133cca23962c93f30bbe7b261a47ec39848e53cccaf3205723964da5d79d23a5cf8318b15cbc5862e111a7522d620f0f66a85108628880080811102111583fb1a238999126d58c01124050200842b042b0443042f08f2004157fe27442b341ad2852a086022ad40e28052a28a02656c98cdf0414d7d829cd557c455250412128a14285122a2850a02c072021aec9131a0a0f858815c1a11c458a444909c51d40291e552a94504169318aa1820a0a4aa8a082029500328aa4846a51a5420d2551a51a50143f05a402052a28529c8106197a6fb134204a91ea83126a50a1146544ca20c9bf5c86abbe60a65305e0dfc2cb9105c4c5868202aa26ea9b83cd579af948146da5faa2ea623b0f518bd4e303aa823564ce0a6c7201fad81a723a80ae24c901c0cf0ffcfcc0cf0ffc7caa872a75410c0a7ae6595568ca44866dd12b7eb3f0e72e65104949b2223d08a5fa4f42a9fe9350aa7f3083fa0621073c0707b9a3aa4f6381e183ba2d2c64cd9e24e7a5076ce478ac2135fa318da144c0e0017b128324f748eea1ef038c1d70393aa95fe9ca418a3706511e60e860f5ec9f52d4a09f15d114e504185798a2e508fa51b985c80a3ed2fa786d8257a74f163072f0c59c7639440d9e3a5e05d77b1f79e43ad17e83033f3cf4cbd8d7172577034e3287f4b0aa272a850a1854f441422f7d9aab871b1bb0db1262aec41c2e76d7c0cee9d284fcab3a35d28017adbfb5cfe3e6e23183c3d5d7b71cf9f6a45f06acc54d293faa8d41e9f9b399a5f2482dc280016bdfdf16316845b45cc078019f11bd194bd37e904d1730d9e35456aed6023ef0a8d4122b7b8ea1c260011fbf6415094bc1e61c63690efdb5b69a146c886d7982fe5a1a7b145c0815bb5351b0969a2cb67bf638b71e0aaed2a7c95166e8f8820d0a3e4a62b9f2edbeafc47c8209712a3385fcce8ea727f8fc29b2ee4ec69c42d7093ef4549b3993da785e38c1759b06a90ca9f3fab609a65253a4788a64ee214d70b1e3adfefcb159e4c8e222138c767b4771d26f9a708109f62be590a3d309b1b2e712ecd46ba6cf71684c495a82fff478536f756829a5125c9c9c12eb0971cb8c129c9b9e68bce9d0f399703189363b960e422aba065c48828dd39253ec3ec917f35bb888046f913d45ad10abcc694830412d348fa4d871c8ed2338ab1c76943dfaf5912e1cc19b9ed887eadd67956b04135d3377fa0721ba6704bb95fa6f5435269fd822f85d8be56bb13b695a8a60b3e58e2658fc5c1f2d5c2482d5f4d7e1fdab67440e44b01d8e258f8e34fea4e021d8b1183a7acd9e626788152e0cc17e90ea9d343a44f25b08d68328b19c252704e35a2152aa93dd55858b41b053f63925654d96234f105c479f84e9e5d394975a00ed142e0251b0fc185e9abdec7d402cb1347dc7cccb1eea7f60524a6cc91dfa5e78da0fd887c1b3b8c616f7fa50aaf7ccc1ed2aded47cc0d299ab493edf8f3ff6905eca8f345b574ebd1e0cf5e97455539f0e9307a34af29cac6c16218b87a387bb9b848a8ee61de87823f4e3a4a1ad533b749792a4fd89619e5287444bda3c2f47c929e9c0c6981fe5b4792c851c86e0620e580ed26f8576d0d1e5e07b47f6f83a577a4b1c882c6da92c75bd6e0c0e55871355f2799c63cc1b74f710edd70d9915a28544e806176e60d73e88a79cbff242bc68039bdd3f0c9a52ca91235f4059e1820d5c5a0e1e95584b4cf12fd6c0644ddad1ad0a96a11ab88cdb1ee45a9e18724c03d3f9b3894ba6e0225ca0818fd59a9346666b8d7b06d6d5ddee3e227892d00c7cb8adeb16a349d4c8cac0a54e1fb97e94102ec8c05d7679c7b309e5e518f8fb1a096e27fd39ca2b2ec4c0e578de37393b788715176160746ba2dee40f96f529151760e052865eeae6f063740a3ec2c5179876adecd1bbeac71b112ebcc055eb65fd4795fa760a5c7481db124b9796d6e3db6c02175c60b2c3d6f429ffa94e10b8d8023b1e2b66644b217e948c0b2db059336a8ee7a83724d781560b5c6481d3e930bab53a0796092eb0c0bfa6c4f7cff1058d031757603234343765fa503d581bb8b002e75659fbd16b24cac045154e70410526d7c3cb37d5420af129701ec4924a76d8a19928850b2930e9d75136ad5839f5130576ca3cccde7294182d1750e03f7ed42539879a3a5a9870f104d6ae6f63a4907caf3a5970712b699256ef2fa7602c2e9cc0a6c8517cca736b56de04c6a2c31c658da767176402bba1af5e2b9a2b638e25f0d92a21f948b6f52051026fa5efdb12fff36d9b047e5dca3b9a97741c64b0e0aca2e87df00e2470e51ec690fd7b9224b724e1e2087c38c9a66aab528cc0e430e694927f070f2e8ac05b7e8f3ccc51a95e2102d331ab7320d124d6770c810f53a88fa9e34813bd29f88a0b213095e338e495ecf9affe20f0ab12fcbc2335058f03021b3bf28fc78394b63d7ec048c7d2718b44f720a4d607ac8f473fd6f175c7abe90197c2e38ef3c796a3ad1c0fb8ec55f7f8e2fbe2961df01f866daa074b9121a6033eff07ed3137b9e628995d5cc1b65685250f5152a795d68a0b2b18d3af4f51e66dd13339e034a593641573f6684346838b2ab8dccc11d5ee8e1dc50137eee5133f4f071972dc80c93f2169693dedf2a6827d170bd1f4d01e496b032e75db844eaa7c5f1517356024561a2fcdd923c68c70410326b6b6e78737d57ed90cd83c1e6daec89df48b64c066f058f13c0763c0e796a59cb358964a56a9b880011b378fc7b199e6fc8f7a015711f762ec9c5db977012f49dcf4ba2ba2e7a205dcffe4949f265ed4e05fb080b7209537f8d98e485b0aaeeec3d1ce914f0a3e8e83d0fa6791e6d11a05dbb16557c6e8be51230ab62ec7793df48eef622514ac4fe4f2ca4b93430f82824d8dda1752ba89c8ec134cd58f46f94508695f4f3095ad5743ee50edb713bcbe0799ffeb03db98e3041363e4b43439dd52999b6027a7236a56688dbe69828994c4c7c3641a3a275ee0cfda47721c87f9def92e30293ddcd054e99f51c30576cf93754cea1dcfa36c815d9b1cd2831cb9870ecad002675777a195e394aee3c8029b7b167d6bf15433928105be3cd3480e8be8b12462c8b802dbb178589682e487875b814b9d5286fc7bf7e67120a30a7cc60f3f8c693233a433a8c06aeecc54e9f378fb53e072d677c85bd2959614b88c3c412285eee9908f42293547551e7a643914d8f89997528454ddfc097c6e4d8fd3ebe4dea7b3602bd2e2be654ee056f4334f0839b387b0098c25f5a83f6a89a17126f0e1f6554f46a4c8e02d81b38ec72e7a544f912b25f081797449e349e0a7332a78d4b1a3afb160acd47ab27e348f5342021373a365f31c59c6ab88b48a8c23f0bada6a9747255f27148040861198285e9a7b3fd4943305ab21a3086cf69cd43dbb96fa8721021b24f8e61073a4741d3b43c610f8fc9048d96be3fa6649173284808ba96e94d2310f3d82c0597648a691af39d206088c761a4bfd5833c38c1f706a91c3a9d8571912f701ffb1fbbf52e447e7620f98ee4ad1d17160b1831c0f8e29726811b9cfd801a3eda1a9c2d33c44193ae07eeb03937471b27dae60f73c5d49b4ad9093b382edec29a277d7a5d573c08f860e54425555a74b157ce848434d0697f8610c07bc4be751cb8176d4a1957103f374f457d41c8fe59c044206155c7ffedbebbfb3116dc059958979d4f19a9442c41af0133f847aae781a49cacc5164d0803f0dae5dd5cd80c9236d41d3a2e354161970297fa74dcd9a27e416091930e0b2ff65fbb50b39b595f1023ea5bcd8e76a5937f21fc8708119243beecb7c21cb6801977725c494d91fb70164b080db64394eba15e3c71522c52805e3bfbd929fe3708c29561b81410a3e4f96f448728d6ea4a583c0180536f1c6b29ae6b6080ccaf3bcd327e78ea033800102c85060848273896cf929ed78941428f88fae3eaa1cd5ab33f209a63f594ab6c81501c313fc7f145245f6c99ca29de03a46ca97ca1c7ac49a08189c60eb63db6e79f48c976f82d1550d913f6fb4db1f606882bf8bf14c70669521efe5385370143030c187f85195fb434a169a4b70d6fad9ba52e6ae346a161896603bf6d852c4147396602598fef3402c8707666b5282efbeb75c17729f3705430163126cec382527add851472909fea3fd533be523c1af9555556a8e7f48f039aa9ca37c23e4048c47b0ab2dd6ae297fdaed1dc15ade6ac841b49f78b805301ac174201e5dda24e2ffca08368407d1db3f4bf6ae02188be0a3afb26c1dfd761fa908be73d8ef95d236dbc61e809108f6623ac9a9a3d04c910311bcf7e7385acb9c9f6c730836648aa37a51f3a50cc1a748911a5f93b4e5a80a300ac1bfa99eef540ae9f61282c9cae679732ca5006310ace744fc9ced83c7311504eb17616ad9cafb721e084eafd3685b3add14136000824b1d4797509a3ca5f47f60723415b34d8a2156020c3f30a9323c46e648b20204e00a8c3eb0993bee5c9d35fab63a01061fb8ce14429ea8e6403b00a802630f6ce8eb4e50115b1f4581a107de4354b23bc8a69b334b18796073f8d93e85f678b22978081878e0a28ac7ffa311ae770200081877e02a58d07c67e9356ade0e6c8c7b924524ff78b675e053694e1dfa87d3fe171830e8c0c791b3b20739c743df4e935f63fa4835f6000c3970137290bc2ef2c74b370e5ca9e7ab4df922c6af30e0c08de738d09294944aef37307951fbb52c59476e186ee05d3cc2cd729852cc10461bb8f4c15643c7971472e50a0c36b051bc3fc53aadcbc16602c61a98dacec8f47190e0a92501430dec6908ff8aa757af521ab8f7f8b73eccfdac218806b6223c3bc495fc680a5e02c619d88f1e86baca9822e5d60c4cb7774a313c5bcae92c03771d7422ca6cb27d900c5c7af0ea58d2447acd30c6c047f993c71929da12c708608881f3e8287b98b743924e0330c2c0791c4556c81054db2930c040027000c6173280e1056e27761c43e476e8c90d60748197dc9f472de438ce614e05185ce0835b07bff4e95f798c2d70d13ac83e35953e92c5d00293e681eaa5270f1d49167cbdb61c9615376f030c2cf0a1a62331426b071630aec0bb5a481b557565122bf06679a7a3deb120122e6d01a30a6c47b4d18bf65b0f4b1d30a8c0d4aa05f375d14db701630aac4f8723e141ea38cac12c30a4c0780a9ab245dbfb8e493334604481ef38d3c30a25a1b3d85760c0800237b956cf4fea338e6f048c277053a5661faba5f375b480910537c9426dbad071bde3a6e029603881cb81da5779a0397cb709bc576eaab0edb8d3e24ce062e664aa861c3bbca480b104c635c4aefe8a9adb2104050c25502b91d9ec2da8c4bd035d3ad0013214602481cd9425da260de197c3b0e0c3ec30e5e59fa9da191848200d601c81f7fe385df945dc710b1846e0463545d2e0f5a5f1f47a004611780badfdd96f3f4a996c90c22082da215d1f860a1d42bd6401c6104ac9d3e7ceb7ccf1c31002979737e62cbb98545d3a6004810f1da64d3147a31b1e9f8901043ffe6039353dfa183f3f603f73a65c34e0fb438d1f9155c76306ecc74f7691b2b3cd2203eeaf935b88347597580cf80bfe71faceb9a30903d6260749535e594aae5ec0766a0f5996aeeaf22e60f37d6b683d7d5d4d0b181789b13df8b9c7a12d58c0a70b2da296b92d88a540533cf0ac0aa106294c259e3b879222e690454263147c8c99c663d40f3a112a033444c1c7cc08e261f09f0ed15010b923e93044508dde121aa060fc2e240d8b29355da4f189a3a548e9c8e314f52e9e40444432b42b2c35778e2e6ea48818431a9de023a6e74ecd94a87996343438c1dbe464a8e81442c8216686c62618bbb30fc5a52de473afd0d0047bd1fd2a47b5afaa00041c801b99e0fbe246fabc8d1d6c2523400313fc59fc947f254add432fc1be584c1f7993889b0d4b70aad56b629e226b1a95607335c7f1e8bbe3c7710d4af05729a3e3943b7dacd528013b80c62438a98fe30c69f263a94a43124cde50bff6f0c3118fd3880453d97442e65710cb95183420c1588ebea16da5e30f32b58f60ad721492bd8475c594a0e1084e6b53271d0f324471048d46302944a69425561fa7cf08fe34eb6d77a46ed17116c15baaa8942c21624c2b821f09e93fb1edd4e02682ef1ce6c0338e083ecc41825e9e1c7890831a87e0ce32ec3cce370cc16848ff29c79b4f3385b4108c440fff63ad2c69394e8310ec4673b5d03a1e45b222093406c1698ffba948b49483b621083ede4c17b3f466a94b23104cd5a7b48f5e01c1d4a5d2f3ad98716bfcc11a7eb88669fc390a1e3289480c214382c61e2ad0d0030980028d3c70621dc78fb9c33c1d7c3c70113d6be5305b74aabb039fe3349126f92e5846b5ddb003bb122c86bc8df1fcc23a70b9721c24b90531eb9c251a746023c7294d90ec0ecf7fa24789c61c788f3f6871953c7b0b7eb61fd27160724e500df12ba733130eacc7e4d1c5bf1cbd13d27803e76e91ee617d9023af1ec08009a61041c30dd668031bd65045430d24001034d2501a68602758baf821fa8ddd384339e8450ffdfce2eb17339ca051061334c8c024c9815b74698fa38759630ca521862c47070beaf5671d47038d3060030cd8f80236bc808d2e60830bd8d80236b4808d2c60030bd8b80236ac808d2a60830ad8980236a4808d2860030ad8780236b2c08613b0d1046c30011b4bc08612b09184d2c0a21a48e03f7a7862e5a9429c681cc1df14b254368be6992e404ea261046c14011b44c0c610b0d17ff2288d6d99a5d38a4223085cf4c6ee601a3d30cf610d2060e307d6f001367a800d1e5c6307d9d0c1351a56f0d1d7d6a3c8aed61d9f03fe3e6709bad21daf8289b8e371f4232121e438e03e3b6bfe9ef40db8ceac1f0f5c3d53a582e9cbb8251169d8808b9f73ecec2174509753032efd07a97d32c51c7b1ab01e5ae1ffd16d236667c087f68a193baef94f870cd8ec54de71b0b4e8913160c523df6e0fb330e0a31469d2de5bb87dbc80bb8b9765f6f942ec1a2ea8460b58499191c732c75a12adf4060b8e8c5290004c0629d8d48e83f29069939419a3c80c513091dff1ca357710b3876584828fa17cf25a728a932a19a060c235d66bbec7e81dc5323ec1795ebbd41cd858a41c199ee0d25947621f7a4849d24e30219dc58812ba2aae9c607c2aa7f62d6aadb2093e7b3d9618738e2891d404e331477ed1a4a4d299e022a6d471de7dc9f7ab6560828fd6257f24e9c2437e0926bcc48394bc599a3a4bf0214e597449378d7f2518cfe59b2315da734ab011228de7d86312fc479263b2541a2cb34512ec85578ee7bb23a15b24b820fe9bee1fbf2c5990e092e48eff7e7258ce23b80f296485748a19a38ee0afb2da083e69da4bb96d79a631620de91aa96d8f1f1e8e206311ac5888f4d05c422594a1889291083ea535a63d6f8f35e574c84004bbf5a14af03823bade64c83804aba62123c7113c66afb6906108be5d3bfab50e621e350bc17ae8d0c96e42e87c0a4644062138499d92d56ff9c7491f047f2d9ddb738f7be8d182e0b2ea24dbbc31e4f80682a99c3aa204b310a2db426400824d6d13d53f88e416151f32fec0c60e443cea16cde0ed21c30f6cc751e3e5141eff3f6541461f98f6ce29e575f8af9a0732f8c0eae6dd288f2b598345c61e58af7b4be25239547d41861ed818ed1a96bdae2b546645461e381dd38f77412c3f471b32f0c0c5509d345df2b48e8a8c3b3099bcbdbd74630e358b0d32ecc0e7c93f9ef6f433c468d120a30e5cede5c87378d39ebb51ce20830e7cd8ff92e328dc258e9431073e379d44c7fceaaf3e430e5ca67e48078bd97fb538b0667fd93c429646967060433a5587dc7ec9c329e30d8ce4eb73cbca2d9e73dcc0759048592fe674c79836f0d1cd73509f9090a1b181aff509359ddb2d4932d6c07a9cb24bb7488e5e6c35f01f73879ac39843eee51969e02f6f3bd6c8bde9c3a6908106f672e49ee2a5be796066917106263fe7ac34b95308cd0532ccc0677be9a5ed91ca265220a30c4cce5897d96359fcfec9c05a47c9326d4e7e180121630c6cef44fd330fcbff32c4c086f29cbbaf73b9662c230cdcad67f24eeb79155930305d6b6e9b5bcaa5a3bfc08545e8ba0689102a474697870660810d8ff44043f8e5f957e043cda1fd667720d9c30a6cce69a346cc18f3ab55e0a348cc416f54d78954e022d55eca0c5e1fa99f0257ae95d28e28054e3f56c9d2a375b7791458edf028e19993dd0d0526945bda7894fb37f904dea33e35ff071de165c15464d068d7e9fe2b4e60f298fba5cd081925dd043ee83c797a76a3ed338191b0faab58136f5296c0696676dc297dc7b93a94c0c52fff2894946f6b92c078e44d621e39f3c38305679583e42069d3fb45029b5a53f324ddd50e3d026b1f43bea6244fed192330b61f9d3e4560f374f8917648d4cf96089cab5e54bd4e17b51f02b7b1f2f4b2ab54c70a810faf96bcfd68bd23084ca6dfbc619752a90a042e9825df2ecb39d5a83f60aa3354dd7d9822e603d63bec48132183079d1ef069c283ad8f8ddfcb032e2c6bfc204dca9cda0eb81629d3ec191db01fe6de1c55dd315b57b06215728c7123f34dd20ab6dc42fa3c693f8ee239e03e8e376e2ddae356c187bde9396ad37a3a70c0adeba54d217dea87e10d98103d16192c4edd7654f0ed65133c5c3f3ada069c57ab6bfd48f6eea8019bcc7e2243fcda2c0d588fcc11730cb6d13265064c4eab9662564ab75c06dce7fa09b9b63fe5d818f0d18165f3c0bd629a30e047243a5dc8baead05ec04ef84658fa40db7f177021c41c0915f952352de0bbfe4a27cc454b520d6001933cfc56525b6fa560323d23254ddb12430a76afb23db0f3baefa8100510d06214fca7af2cbe9ff1452da260d2ef78f527d38be1a14528d84c3146ce7d2d39f56b5a68010aa6a234c4ff49efe1f109a63a8654694c43c75e3dc15a478f48bd921a9a828bd0a213fc668f534ef7cbbb90e704fb1529bde330e6cd9cdd04bbd935c5fe504d30d939ac431485d022137c0e9e31378790a3ede58a16986057d443b6181e6dac687189169660b33a6930c9ee31e5a804a7d1cf44ff24dba9488116946033df9e7aa09a43f640a0c52478ed143a7b327fff192d24c1b4e77ba9cef18318075a448271cf733b0bb9b26a10125cb2ce5696fb3fea8fbea2c52398de90ca39af64b70eaa6aa28523d8bf7cc960992bb3a734e2a471b2a3c8105a9d2a03410b46f0d14d965f85777a585a2c82fbb514a2c48ca9245d8ae05723bad45b76dba7602c5a24828f2ef3e9565b759406114ca6c88a7f923ca5b787e093d6e69cc53abc90574370d713447278da4d7d1682e9a8bc7ed2225f468b10ac687d75dc97a4c38b190417f4526d8ebad21b2d8260df3fe6ca3c911c5bda082d02c1fa4f8fd453b8ada00520f88ddd6ff163a4e89d74ffc05eeaf891ee6558fccd86d0c20ffcc490feab25a27298ee03ab1fee67c79433e6a02284167ce02434659428515a6bdd031b3fa7c8c99ce59d212df4c007316e87fb665d677b1e38a9081123c4b54999c603bba13f757765b568c85d8b3b30a63107399a7ce95eb7031bcbbbc5434ef513b5a30aa2451d18ef7ca5d293c3c974b5a0438b39f0e15a7f4a271934c2cc167260b3875c1eb8e6a49ad0220edcd7ba6be44a99d3cd167068f106262fb9c5f7d0a7f5de4603bed0c20dec9a5434b78e27687484166d60f285589dc3680b3650d1620d5cdc9c7762d27c7b1da6851af43045e8b83f45c46a18b448037bf9213c4853dd745f0b34f051937d2a314d6553f00d5a9c810b9935f9b1871c7ee49881f57d5df19c95810d9aab633091f08aac2ad0820c6c0e1ad3f45308bbf354a1a1c518b817eb959872a7fc902505861662602a0791e759c75d4fa235681106c65266499b4cfbb80603fbe5711cdf1439e6385fe0bb429abcfa39fc4abdc0af87ee6177b91e8a5d6022e4474f390e52920a17188956a973dce948b4df02d3d1ce2247675fda6b81fb3eddbb60f93b7ab2c0c78cfea6d51e27441c0b4c6ec7af2061314a4a8b2bf0959d2dd587f1deb30297da96d2777bd497ae02db761983a711b1939a0abc766ddf7476b6738f29f0794f3de620bb278b4a812dcb557922c49cb31905f64442f3fe3d3c16a1c0d6494a59d3e558b23c81c918b33b74e67cd1b26027c7cc71ec9c737c9613d68e65299a839e9c26f01be11dab445d539f098c69c65fff8e530e43cc12f8205163b65e871d6f2530611b3c0e92695e752481e9a8de0e529754bc2c167c1c624cbb38e1b5394860ac8360a9eae1e44a1e4109f1739c4e6fa263a98511d80e2bc7f1ea3787645a0426588c99a39a08bc45e85eee8e839c9d2170bd49f253a6c654a71038cbe1e564496510d8bf489f73a45b11f340603b88f62d217efef40faef295f49e30db077cd8e77726ff8e724e0ff8f1184a5285fbffcb03c63fafb607152d25b7033e78e4a803b63a5dea334ffb39aee023a3de8f8be76839ace0a3c89bf93386a7cfc90167fa193b576428cd56c14ae818af53929c5ec501df5296b99d516fc41bb05639728fbd54eba3a3821bff0b7997dd42c86dc04721b47d1c738d87b6066cf67c491f4d8e329f018661a8a38671300441081004411888a1f0de0f7395100804848466711045511c47034dd7077350a0107118100886c1402019080482414130102406148140301020844118088418258ab1ba03fb73872ab9b534c6fe75cebed577fee3027d2b23e59089bd3dfa47aff286c76ed5df9ca97b0eee2d1f79d6d62463aa3517a0da23bfe26662e2d85c5168fee24fdbce59baa226f0dedc5f1e25026ecbe1c67b50df09e24e79c99fbca85b5ee64b4a8b601738e1d244e5e20efecc7b198da2a30b6a4d307b8b903d848867776e00120b1aed4ea055b452d75ce56f68ebbce57e9ff2c9629056500b39aed5cc40e24b2e615f59d3b10d49848e08ce3ea26639e7cdec12a9305af566d2aef317524a30ce099807b73fbcbf509581b5b220e436647f385ab22a4b0eb4539a64fa3b40a008610455f456606221f6a4ba087f7e1fc1388b5adeed942287d3430b53531d008c7c705b50e26ea668eb61a6ba9f5f962a4b0186819115f871164f1c5fe0befbc8652601805460c09d8beefd835f61230688ff0e6723da9dc14b9494db04cbf2246e82a7d5151094140c6a5acb1da7d4e8d52068fca9514235d22e1a7f7a16df79f055e42bca1493af90a854020aaa6d4c86ba8ff60157e7a562d368a5897adde3ce83190a1109418efcf3d91923a34c3c3f24329477fa4359734a8456338f58bc45b08dca8627890a911118cb81f590c0e394454a55a9521108b51bb15a161cd7c666706a6376d2336c5d0adeaf150089370b3a903d9f1b8003c8418b0a38bb42ad967bd6f8e3225e1c59f40a7706d1737fcb690573f34f84118579de3e78cb563bd5e0a4882ba68ec535dff961824646a400648167cf50ad9543509b91cb46f3e6aae2ba791e21daca06682a468afcf8d64120b7165b6a6449fe89a5c74a40680ee9bf6663b0fe0980236fa42339ebb4721811b33d9c47c0a6ea55050b9a870bedb46bd9dcb6fa3bf46ae2e19d27eaa24d85e40d4ca633aa00fdc5f6e5172abcacd6cb63f43fcde4306423a6c0d285203791deb5cba7689f1a144b47c3a36dbb76c3e8ce74fafbcbaed256480a1e43b04938fc2cf18301398c64f2a723809aa48b09966384aac9b015b98a085069578c3ad7a58580b36930aa1f685227202c99e6d5f3295a95ef4e72dea03bda95357476aab634bda6acee93a69e064e17fa8ae8bc5bd5cd5acf0e6cb741ba66ae1524b93bac4c96746facf03acc934a288e9c96c56b05116e7f4fdee5a1705d2073a5aa5cfb4df674991633a5b16cb2bbf59fa815427f8baf7ec55bb6247d48e456598deef4a3a151cbe14459c9ce844c1595504e94f36b5039f6e3c02cfeb63daa166bdc02004c001ecd9c9f149df20bfd1f2d661e29b5b160785d1aca7e134f162c64943bb9208cb665c1963b47c640fafbeab3bead909289e6792f4b2beb12c90cd5977db7574edec432ec44287c07db8ef57ab0946478372f4a30e9e839f79517b89d68c792b47a898248f4a5d2f65dc2514aba7c3ad87c937d2e70515c1058edc37a3220f85773a076988cb9929941023acf252b43e1e907b2ae2324b7a5d256c11e6908250eb1c8cd218ad848aa7066fa60b1a7afdaba049e583ca298cd081f9c50a576b90ef5b407b61b89f0b0b26c142272b437e15fef876cf527f5cd53bf4f7b0d6c99e3ab8f7dc78083c5b2b706248040d446cac89a03c54ef3984c43fa0cbed6b1adeb7ad2e156a1bf5c5e2606927e0b26b7f2b5c84355ca5fe5045b45e25acc1907c90587b9d5111b7ab544c86aa0cb240ed13c379e4f1a50fc39e853cec376384662e446c74d81c424b3189507f52538c18b8a0352548373f6b8f34e6d7f176fbe633799dd6b1c34be5ea98d80fd5414dfbdbeed5805df6b1548c16ccb72612b9398b2de55788e19ac2fd5e70cf06678a8b5d0d60352f1a43e5013dbf84bb8ca1dab071838b76cae321b06b3809e62fea1cd52cb3f708c988015f5f5f93e9ab16573e02544b4bc113a79c10fdc051a223e3f64b430c0fb679bc1eb2ca488dcc956dbf5263284d4c9bd17c3c1dd1d47bd9a78110b2cc642677ad85b69ac8f6be2c9dfef08d283f86342e5353f6f6d462b24e5f41cd3ec822800eb9cf0e09a808b0743cf6712e53420641fdb934751b9c3b89037dd9edcb7e6daf03089ac7b3c78c22243c1d7da759d625eb2d92a0d7d0248393e9ddce11eec8707fe4d458c641127bf0c2669321a88bb8cf385904cd4dab900fa6c1e619b29ba37ae42b6a20294c7123e0fce9c367225d38e26e450f1e02061e5cece23411b51c5bd1d15af56eeae1f03f0df7a61f8ffee087e102093c9307e99d33bba43fc52a00a7474d65e23fdb165c883599a9336e9f40b21045c0caef7ebc6ed858ce86b0516381a89eb93b329563316456c1f2327a84e13b44db9676a71e9ff3ad8f645df1054e0da3c040569d870f1e133df38cf669e90631aa4eb82e46c2279f6ea926cb671b644a7568a529724adf66730a43775cfda7e3fa4d3dde2b02217a76d28f49a1cb945d94d586916d2e91c91403aff1270d8f7d94c779cece2402c581e0e84ab6d41a09bc45d945555673b30616b6d251871b7fa5e54ce9347b883e4d87ee3390631b59d96b884f42a5f9d995c628d071f736f8cb3fa27641527325ed61b556ac6e3b73922bb8fc9000cf29c7413c0c634fb490acc49f938418219e775c416a90751fa4bc0f3e14bd53d749ff7bfceb981226f721b0a7aaa1867cad105f84b349d89d5f58c5ca204e5ec76a6f2343f4ef0c3ea293292e6bb697b69083421f3b82df4143fb40c6f8990496acb0f331e23e7ed4d2c8d6c427e077eaa01162a2550c8140b31ed905c3b8b9410c7d3698eb677a6d1e53784e2dbad9e50bc26482d82335ccb2dcc748e56eae7e56aad121657f6164170bb2c53508934bc1067165fa5f2e895763363713e5459c521446904d3987ff459858ac8e2ac430879ded7e8ff6a231c64a9ee0f46698c950af2d70b39843f800928538c261f0a1aa13f430bca0c0bd6327b6c42a775f5674e0c5ee59c1a0baf1f00e51ca4548546c298f5801dfd355a424cadfe12cb0a3297272f3a09b4de7926097f5a745cdf0f8d097f0f1a39bbdae57264a6dd40dd2145f754be079eb3cbd1192c92999bca93d28483f2f8ba8fcf433a513bd5feabd6541aa2c85d4dcbd7e02c887052eb0267c8344419d831f7120708fbbe9a37705ca6893faf1d334d5b8685c6b5a1a83f55c368a2a8e11695e2641878bf447f92df4b1f293edc67f31705f5ada3076929feedfd123f677d49a2be935b2382eafd5cfeace857c45501bc694400f1098c1180febaff232d5939c6e4aef0f6b61fcb912853eba4afd0d74b135578d9db784570c8eb05438e04f872d65f8a5506be3d14efdfa8a7141d6156d646402641af81d46dfd3e415470d962309556536a13634fe92fa82b604e17188d2b15ddee948adcc745b07dcb164649b517d3c9474154d153a6fd313c5d67bd903181fea5b33d0e4660cc293f96cd8ffc938bb5ae8d94b39b6d43ff2960b41bc02302bbdeca9f5329050fa2869c3080871ef64fe9802500fbce76eb8c19f47a5c021fa5c0370ce5cdf19004f46a805c799b17539c18bf85830bedbc908d39293180b1225e00a38935018ccb3598c2f40fe7a46384066f98f4b831d4f3a56d11e63d9f2a742a92f2119fd56cb204bcf98cdf3db19ceab483d606f1235bc5c54a29588799c133f9e25cc604cad52750aa6e52fca94ab1f7e736189dd15800c5b8b317887c0892154caedfe45f1bb526faeb3bc68826d62352474b50f501cce041beb86d8b454a1077776a140942bfa82a4be78a94901a991a55c049eb8308435c975747ab3e141905976d50b07155d5fc4932b17ea1b095b8a8c16da845790815a3d0026f322e90135a356e771e50eabcf994b1051b44a9966dea914d846eb69b95aab4572f2ea53aae557d0b25f990ca36b68019a828409250e67ee354f431142ce2422dd14158b4e71af14670c517852cd640ddad09b20d01a4c04a491521a14c3ec06012229a8f0003d41d7e4a035feebbb72a067350c8fffc81f7beee3fb72a924a26244b7c9480e35d923486301c1b6798d3881acacdd65f736bdb18dafd6cf05be50ccc8b2dbb2d5b57cb1f818b5a670c8e776304dd4159821d0f12845d274cfef03eefa0af1f2bd360e2586c2497d64cc8750b65baa794bffd472df00730059c7bd05a3879971bf3fe56f2fc69ac78d5af5002b323a25ec3ba18ea5a193de8401fdde0163ead9c65d17f98dc5ae6be8cefb20161ec7bc34a5e8c9765103688144ce008b0cfde9e60f8616f7f06a5dab38dc6ead80b808f499712a43a95e882304bfc902e944c4ffbd04dfd87a21cfab79dfc60fa61638a967c2b0dd1a6c4ee6d898c8d2db83917e584ade0979919bd05d306690c9475318c183306f987700c1cda9680f93fdf2f14c58309fc9cdba142e04ccd4e3e86e2da371cc8417771c306fad6d247bd1aa905cd9c599e8382ff1f70a49829fc279355ce4728300c61ee05881588041014ab8dbfefcb9880df59225ba57f9939687f63557f56ef06631ae7a59de4a87b905b04d537c22c705b651c8a6ca6a60b9906e59c5fbeaebaed4d300c7d05d021922444a377cdbf2606c3b5fe489815fcbe07ab9be1378ad38b0bc799194890240a162d0a6eb27d8da19e20e3726c79d495b51def6bfcccbc5e4ae8ccf795c4041026b3f5b1a4ca9ba36b611f575b30143dc2def59bcc6b9dae53acebba2c460fc4be5399dfaa75357282bf10ae0606319489897537a891c91792c9dd34c0ba1f10518e71394e96c0c553883f8bc5e60a16a106c755f2db789a1080e3642d99568ac0f364b54610e748c3d889bff0ff3b06ac7111acdcaa2d8a42d0253bad8f265644e1f151a2190505ce871dfd16e5a2fb2bba0c1fa94b7c01c918ddfea0f8cb8d8a8443e1c55dd865086db5a1101aaefac7f0a34cdc6716463519e0ceffdf06367728cd9f783746df4a442888b6f08530184f672599d4f0647fe76f258c34f2f5eeec87cc7ef50844c6b6fccf5ceefe8cd6e060642b726db224f292de85d0f0087ec033303b40663dc70856ed5641e4a1653668907f970043da45367fe13716db5ead1a785941559db8e23c2b6ba255d1f0f4f1a2347d41d52c48324a22c245ce742cd8312aa66e24446276c903e4039640b533a56e2e6b0651137846640e9375c7d1f8c34100f80ee4e4ccf6803900a22c25901c2f2a9e79b879142e333714b39b1ecc2157ba5610342c99270c28501f35d85049a283e97e271f834f2875e9a08fa69b20b8e2cfcd18ea7f415eeed5282ed62acb93e66c938099d321bde1659013732536f01e459f55273fed5276f97091762176c9b8905de6fcf2127d182d25d9addc251960c316629946f99fa252192185a5a7185cd28423b011e09086a6b3cf101033524b3d506a88c8d4c000af51ec8f0a5e5ae51d541c5d22958cf66ab40b75bd1611089ccf878f886e45eb44288f5191f390eb54af6ae2b129059ce03132ca9b0d0c9938343d8ba67549120f1142e1859efb20d0f19377bddce7b89c5143c0080d658523b9dca8219a849168352169800f973d18f49f2d41637cbc441e24d587ac8602194012f80c12b5a7ecf807fa4810322413801e96232890ba9486b6be0ef9643f418bc46067d3f6223ccbf1bc85d5a3538ab122cf8a63dbf5b4491d27532da693eac8fd3960c308885a9cd4961f35ff5876236701c3d2f657308df9508e412af2d881f0460290aa1c36a444ba844e2b1102bae9611771cbce6a4fa22ba95a6b156908300925d80824e26d2e8a8e73368f31201419b76451b04dcdb0b8576c1719984e4e6bef6c20a711784837317b5d9fb903fd7399f2cf257686a1c9c854dc8922772fbaa698bac3150bc7b2edd4b8aa9c1ca2034c660ba6701245a2e30db76d55fefcb737f566973f2b79c0faf4c85742f953e7cfd1c25091c52cc255ea3f9d89d9a0c7168fa82e14be5a8dea8e81fe695445ce2c64548eb58a9bd93dcda15647c8237316e385077270d7a844a4eb3680af4532b641a3815227634dc455213454b220084a89700d588b33ae446aa48a7cd04045926a607b2250a23c968fc69222fd75761acb412871c6cfc63a8eaf53d4f6c240414eccebb874c0445465cb0912b694c3a1ba066038000e90a31807f459bb907da5e0b9714fd24df909320e5deaacfba29bc701db0070065e2f4e498b720bd33127127220292f29ef15f731c5f26a450da2192947894683a20f96c68dea88291532900a284d8490c1864d798f3b553fdded56db8caab2c22dc94a03d13486fe3083bb2806b4f822ada9af2b4cd01750a4a41c0188c212459e526ea00a50bb5085a87c942205852400fc2816277025a7236465000ae680233ac0f2520e3cf33cf33cf33cf37cad96e6dd9fe7de3ccf3c0f605a91c72dfb3f53eed86d03ba925fcc40d121e5a6cc4d47b64d51144551144507022502200219024517362cb1e9932aeb7cd651ac61595d0b29c8364841af86e59f825012318d671af6df06495137120d7b83cc0af69b3cc33675fd95e2cb274136c3b23dfbd8934f2105cbb095a4bb474947ce1421c3fadb3c96ff2197f318368b31d30a37b763a118568bfa401cc486a33b0c4b6883af6f4c4c310f0cab57c62893ff85e56fb21f345ec3e45ed839e32c6ed25b9914d6853526e4ac47ed56e9830b8b540c423fdf5b581d2a5408293b1e1ca585a552e549d994c2bc7c16b6982bc54d2573723616960bc72e490a2e8813b9c2b6bd56d1da63456359612fff477e132a06335115d6463174ba8be2e748536187f1686661fc426c4c61f309794bd5d232488d14965f89fbb30a0b2c340a3b8a525816a9a418e5f55058d3532f3a7ea3d4cd9fb09fa593f8087da1824e5855aca228fbc1686add84ade9829fb9de8b3199096b3ceeaac84eaa58c2aa9571ebae7b1cfc4ad8c741c5657953d1633009eb69e5484dc18556e148581e74c31cbbd872d48eb09c95c9e3894e47ab11d608dbb59422f42a328ab05706e33c9ed9137b226c171a43ee9db828cceb892db732234e73c48b0d0c3184e561541a56ba48697a216cfa0fd6cf2b76ca9e4eac36962b32300ba3d4202c7f0ef214d6a145c908866862df87d9ac4c7952a3c59011430061cd0a527064dadf11600860881f2cd759932a39efa4dc0286f0c18e1b8fade7c55edddc832178b07c84a50d475a16993ac40ea6ddd8fe9c543e31840e5689f01462a57e23234204e0033594823d2adf58375c1cb93f0a361bffadbb0e9be4098e08130c224ab0450ad2eee3d91c4771126caa555776555f8f60e98a5719983f7c985504abe54a2148463145556121d8cbf2346cbe27c52879800810ece0fb779b17165ecc7d600b1de541af948e057180080fec379756ed81643fae03db3408dab02b044bd57360d1df6632c7f008d137b046129b0af9d4532f34b09959a3b0269173d40c6c915ec55e3c234d41050696584de133d7af59940b2cdda8699f573139582db0f7f84d8693a29f94c90a6c3154e48d2113d52714d8c1446ae90351e96e025b7f4953f3650a6d8804f68b699153ea21931e81d5525e102ccc643ccd4160a97f9eac48c3cc2a0f582ede091505e1d25632076ce1e071d46ef9a4bb016be4e5d44a21bc216524b1e5f0f19a145f5810241671dcbf3a95baa023e288fda7a15a3aa895470d62f90a77bef67105db0b620b1c634a68102c6d4520f68b528c351765b2073e2056bf940655c7a3a2ff61c90d9221a44357b81f56a938214506e9e254de87f542aa772357f810e6c35eb2719242855d9aee61aba7c06a44b571247ad89c76aa32e4db8c601e369bf5190931ef1b8687a5fa2aee384f899dfa0edb45311f1a54584e693b6c727bbde56b9e115287cd9f6b9fccc6a2f4d161af11a7205b29fe78ca1cb6ad188538f8dc51590ecb855b95fca20b1f651c568b9e9f673183b0191c763cd99cadd0372c214533b5bfa0d1ef6e582ea35491827e58781bb6086f9e74513902e53953462229b86c61bbe857296fc4761d5ad819f5548aed44e995852d665d703922e559a358d8e62b9e66d0d1972aaeb0cf530aee392ec54d5a61871658ae44ff4907abb035ae202765251596a8e02fa6241a9dfa14b68cd19e5ec7c59b4a61b918a368a962ceca94286c5941ae4851568c1385c22611d51c8385922ff2098b4eac8cdfdbbff99cb0f64f92860b2a92b226ec9831524c87ba200e26ecbc6a4fc1517e093bf545f320e89543af84adef2fdfa4f8d6221993b0ac7a675947c6e83f12f62b353dc92076d723ac12b9be4eba21696e84f54cd247036b8e49176107350e11c35286af445852d03db1e4ca14d7854f35aac810f692d8b029b3e08253085b45d15a883ff83ec4891d2e399fa565987c10f6a63b1bbb892d0672a141d7a3c50c087befa53e7c523d8bb11facbf4e55390e16e7fb60cd2e3987e450c1527ab0fe9aa5b3b4e51f163cd874e22c39638c13ee604f51cbfab170d8a90e7646972b457ca3ba600ed6f40722f16e7ec2c3c1162447c9eb60624b9114e5a78cc7c05a627f94ab1c6a1ce838e306fba4875a4d8fe2cb064b9f83f0288a5152b5ad064b8d7a84ca25b51734d8ffa364b3c2cb18f60cd6bdfccbd04c715f2183251d85eb605ac11a1a8325e83fda90a7a03b0cd60a36156c1ecf51c80b76d468b834bd91f473c18ebc2fa80cc2162c6217f5ff3b322ea95880c4c66e68b13245892dfaa75e9983386fac60cd89b3f7d9785d960af6863ea92e4e4a4a146181c5224a5790490516c77d0acf48e95c0b8aa0c016cd8585a2f7278ffa09ecb715e3b220d73c8a2924b04551e48763241ee36b04d66eb23c6f7e7891392b2802023bfc448aa238eb62980f51c4038a70c00e22ffad657422038a68c0aa6a69abce041491c43216a4b03942c7a38c89229058aea762c3c5bd8d0fb04b1471c4d64852f9c5d4a7fcbb06440c62d971cc61391c54c60aa217102188ed91af5360baa98d21942022104b5d73c9693334524915400420d69d7e643f99a21885170288f8c3964eff672683a370264410e187cde1633cc5b88ef50b23b00fabe50a3d6f98132a724410b642079f0a2b9abaaa12b18775ff9e9a2486fe5e105522f4b08944b3ec69e819173503109187552624cf56ec9920020f4bbcc8f3eb23c5460dbb01117758ea41c67193ba3a464263680188b0c32a6717e3994492641200035882883a2c2b39e52c1da3367d22e8b0338564410a1a03abe785708288392c0d92b38e174fba386f8208396c215d2571ebc144250e5b148a8a4a0a7553e587c37ee7682eda2c99ebdfb0379268c60ab9a258b861075172cd7445c733bc0d7b49ac87f528631c9f0d4b8ce898611b65b5b2867d42f73825d1091e51c320220d5b39446c7c8ef0d1b0c568c627295945c69d61d56e8ac65d71239519f68b32ca05b1b7ac62ba0cebfce568dc5cbbdf0b19b6a07ef1203c862dad5426ef4934a310c316e4d695c494a55c18b6d8159c1fe64da8140c5b54fb9819cf23a7c82f6c77167fcde72335e885f51b1cee654cf795e12e6c7bf186c53c295eb8145c581f01816db82199210222208410420821640f5218188e62180441100443100441180441108442100204411004214018020aa118e5076a81f005605dd20fc964455d842b2b05ae4e0d41816c906010147285441ed8240322868772e17642213d1bd80ba18b1dbcbe5d5a74340d1f40e6e2ac8c38e1160fe1ac807d064aecc85ef7a595dc3285cd64466e1e64fa492186de019ad24c6db2d9b53d22c150fc0e6672cdc0c1d0d8268b689f16e3662681a5171285654b69ae544b4ceaf8f8497cc7a35075f01212930cd84504ba7df09a5ebce5b332eb34bc979326ee9cb00e6639557c18549ed17fc5b88fc6166e2a28cc64bcffa8c27e0081716ed65fd47dab1da0eb98ccc64ec17cee7ef7a78c0bccd6305a7cf592b179720e1026461da8f30539a0a483a6ca0cc15a2159b4a380992bf612589a1c6d2e6bf2bd528f53b281967dadab255e7d45524ca85951ab42cd9ee8fad5aecb0d01b7c3986b2ac0c057042d7d85cfc2b987cdbf6ed35df45a8ed55e918c9a332b997be3aff496f5e0db67ff8d9e568851dc7ac6126626c207f97aad8f0d44fac273cae841acf862e4e99167711a88f5c0fa5160fc83bc5c98b9bb5392326c038e24477930e1ebdcb3dbb691eb5a95d94c28b58d0e043f401200e11efc84cc8482262004d3f92c8e34684285e01b24d240f09f7712261c825ed013382123b006fb8012b2048a300f4a4248f0200227aa09e60f28825970092ea12558c295e0950408739bce0707c13d1084b32012428204111eba70853216acc737a00e34212160cb02780a27ad5ae010e801243c09815016948448c02182d20994ea908008fe7e6051ed090360f00b6802265c84bb10133c9dc05996be4e8367a03044c248f0438059cc079c6039830d1a169ef6e9bef4460cb35724f2034e920d2203b3c186ce1340d060121ac840d3e423547f79811fc006988120800133010f5003c4c010c88098800ea8026000084c005c5008c0e2914c92a877c029600340a021d0803d6007ea000ebc043e200d7803570006988133e0410178134a0510d0025f0112f8014ca02805b60910e8e8d7e711cb223be00d98021a70086040262039014e6cc28c1580000a80390190a25db20880801e1807ec8012a8036860aa000a19e954fe226005d001542005c0074c470101010e7805624010b00199000c80e96711d910619782d011f90408d0b91ef4bd61b07eabc3853622d3bd8ddb508b1f400cdf001ce32705cfc86b8c1e99895d80172bd9befa37a4013a44a4bdfaeb8e8b6c948a49c36d89c6cc3e0bc17dbd57ca0c49ed240cfcc44f05c4ecbeef33cb0e342ab4ce66eec0e2f1fd7396880fea498514d17d655f673a0254a601fa18277c3870b224c30103333333333333a3654dcc6466cea3662f2e296522712108d9fbb92889cd99524a29a5d427498ee4488ee4488ee4488e289c01bf07c107a807c7cc99ca566e0329eed49395ce6eba6c209f0a777621bd2ddb5843430da4798f7bb1b486b2681a88a1d4dc788b68200861afea41b8ac7c0672eaf87669354a7b6bcc409a9396925c1015255406528c6b1fd96142ef57c84038cb1ca2e2b6e670f91888fb7a2a9c16570ca40e9dddaa9aecc21406e277f4301b948e312b0a06524a36a6cb7d2dccff0592998cdb685acc3a442f1083f8a03fab572b25b70bc434ba3225eb3c1788aa73f91f6e81b8f1ae7b4947cf5a20e898bc4de9e0a6449d05a2950e16f729995820cce5d2aee7a13bc8ec0ac48af1beffdbb30d252b90a2e5c98a9b9da6f25d107e833ab9a2addd2a552049cbf93455d6a4c46a70418c9a69f6eb29fadba002f16b74731695d289cdcad0d882e09f3eefefce93686d684c81a0d7b4551857f99c550d0d2990e5746c8d1319d4a91cdda2110592a9d0dbdcd172505da20105f2e7ea0ba6759dddd246349e40bea01d3a8d77d8887b68388194b46ad4e42357e396bb38349a400cdfbc7e419e756a8106134823f76739448f56bfd0580239fb5e5a39a152d2196391e7858612c87957cf8307a5b21fcc42430b92fc6c1d969470330bd1412e1a49208d0cda33dd8615996dd14002f12ca8158d0f4a86d09942e308e4307d8d154bfbcf5c888611c8f936a8133ac83bd3b4201a45206dd8f0d01c969d5622906c3ed879c5127a2d6708c4d44d194fe25418494008d110023999b84c4ba3d23d64824090256295577b3f9b1a08e494acd3e3e7078f31fa0372d4f039f8683995491888860f88bd1bb5726ace59bf1e904fa4e85cf982f7a87868f0801cff4e5f5392b172b4efd0d80129b44c6c0e7ee36aaba0a103528c89b8d3d920a713412307e43e55213c367fffd7963820490ffdcb582954b4118d1b904ea79022632925938c68d8801c97beb2f2de9cac6c23221a59903bae2f64fd86fb8d1a905d357f2c9d4fbda6438a060dc87b399bbddaf25205d152c0a9310362785e7d18712aeb2bae5b41ca1a96b7ab3d4e58cf0ab265da514ae8baf24eae82b8e9b3de7dccf3573a2578a10aa2a8ef51c1e3ddea278217a92008ab6879d4a2a92ff0021504abcdae31099da3882278710a82e5bd169d562ce52f4c41d6103a77a12dfb8eda3ff0a214a44d724f9f12fdbca4b2e7052948319fdcb47096a6519034c5d6db8c6bc9f22c0a52f8e89c4deffaa9b61278118a7c010a82489193b3aa7d0df32708e7a2f1c1f3d7b8953c41eaf94dc934d8e7746b2708da2bc4c9fccd371de304e1bd62ca5fcb6d82e049aea58e9411ca533441be303a2ee6b65a9909f2ff96c8f7dd9b491f136bdc8b08f19892bb06801abcb804d1b47888d92b35d2932c414a22abbfdf663cf5528917942026a54f73855ac95926f06212c413be398569cbe122230952d29def944ce1833e993b2f22411cd960e1bbb95e39fe179020c798edaf54a50819df230862fa548ab14b4790be4ce89bf895570835425f3082ac25fd464787d7b0055e2c822c327d33098db51a444590f5a468cb9ef2c5680c5e24025f2082583fdba6297a1fefc08b4390545ab8aab4ff5ff138f0c210c432bbd737653f6fe0452188e94675cccd996a0b0b5e1082a0a7348a252d1debfd8b41107753984ce2bb208821beb3e74b43c75f8e178120289553973c97599201829461831e7539b5a77af1e20f440d32590c9b1b5e6faf255ef881ac9752f24bf7dd16e3faa20f0435de51be740aa54a2e5ef08118c6b3b9c7d812f28b3d10cdb673ccbf265ee881d829539acddb2dd58b3c1036c77d6db10c3f27c203495a8bfef33c6526f71d88efb1e75e94d0a9f717762065eb7c7858ee5097bda80339b5c8915a9dd5734d0772c7b82cdb2dd2ee7a318792b0a43e6d1859b7497220a611e623ede54c974a1c082aafebd4df6776c6e140d29867548c66324783eefee20d44cf67426d737514a57ce10672d0ce13eaba2ffda95fb48160765741b3a72432fb6c20e6a61e19b53ba5430bb8c38b3510e37dd0fbbdf7672106b01a48e263fc2ba55c270de3451a58f0020d44f7944d5b6ebfd73c7ac48b3390fe4729dda434e9f49119c841c6a0b2771b5734a70c044bf515753ba2e3f46420264bcd2b1b4eca6b6320c814a3d264549bb38c1808a31ed6c174f3053d0cc48f49c9ac69b9a4c5050cc4ebb977f5a01e37c8bf40d09662c8905f5baa6d2f10d4ecdf44e754174841285fd1bb2c7396e502e172ac99b2a86e81983c33254b66fe51835a205fdcab1c99fc7de442bcc802c1e6742d6627b9ffc102e9f29db20cfa3ac5d294f0e20a0439b59bc2e9b422ead7e285154831437969beb51c8f77115e7441d2ca6449854c172faa40fa5299524a930a2fb82075da8ddd35da47562a9053eee55b8bdcf264d9821ce6f74167c695110948155e4c81d8d5a9b425599202419a6fdf598c4d21de28902bad8f698c4b1d8f4281286e2154a5b7aca7738b174f205f05ef37b3506a471c78e104627fd86c9a2a87ff1066e0451348f9b4ffa8d16636bb690b5e308194eef55475a5d877b2e0c512c8d9830ad5ccf22914bc5002e13e56589a2595c22f78a105b942ca6bc77c9d639682174920ebed299d735061346535c10b2490548737fdbb1db39b02c0c38b2390c4937fd4d06f6294d608c44efae7e7b1ef724ad55d612584174520c758a73119d36a96174420888cad51b9b38a8f0cf1c51048217ed664f4d59c7428047296af0a939e727dca1741207e4c615de4dc97ca09092f8040d0f534626e33c9968b173f20a5ed4a15f7ae75a620bf3a033c8240d4ba589e36ae5a7b0c04e26e0acfdcd1a3ac6d7e4092bfee8a1a163be388000f1f104e686dab34db5755f21e903454ce433f9b540b7b031e3c20c898729a05213f9d3b38655c737636f36eae4ec51c5777f136bc62f32b1e3a20a5b1937739e36a4cf3c801b12ed7eae70c352a5d1e3820e86bfab0bad2a7f2e6718355ebdd5be33a57d3d6d6536a903937831c8b870d48429aca9c5eecc5951e5990523ca1d298d7a57cb2470d88c994ca3a42e73d862a010f1a9045baf66d690aeb1443f098013974d81122cf34693841c0d10ac28aae52415e7e6c06cfb070b0822096e1e5e3be3a56916ca8dd8ec8653c69de51ed6be32403872a881fb365894da364d0498e54109390bb1f0f1516350e5490e2dde8d33bb116ea749c82243d6f4aa19fab9a4f8729485b2a9fc553bed16271e72805792f55be2e282a20c10b52b0eb20053a46810e519c2314f6c2010ae26df45173b7345ba227c0f109b54298569fb0dbe10962ae78f9aeb367f17d09b0e804b12f5b654eef957d3d278e6369b1472b2ec6d8268e16f446a8d11c9a20c8af24e7c28d963f61262a1954579f5dd0708d090e4c60f6bd193a2831b7d1710972d2eb95b774b84b9bc312e8ba6cea7cacb8dbe76c6ae76bd4ed24f74b4501607054826cd265f385ed2941b8a43aa9cebbb1499063ae27a5e5395d1253122453fffd1966e257bce64810d7a4ff052de76ba7840449c6dc8b968c293f7b1c8f20a95b6ad93cf1f16d65c1e10882cc9fdc933e53b1b3bb82a3112457f7ed1eb55329964e020723c841e8b9ee6afd3555aac022886f169636d30b3814410ac2b43ca58c29fc768c13411cb16d4a7ad7b8c6e8400449e936933262cb2a768e4390f268b8ca26ce479cd66108a2bda58e12b6a184e928043126b5b37ea72504713526d3db7639b409cb011c83207d76afd07c52c342c6f71d8220e74c8b22c532d907717104821836273aca05add04e001310a44c7fbdf73e693275fc8174dbf7323a2c0e3f90b7435eb7d49e522377f481a0277f744af3b798e4e0037164923bab919554fd8e3d90ed427afedd8bd984eed003c14f55f9dfe8184f1d7920c930ed5e6af2a72b0ae0c003b16f83fddac68b5a27c71dd61a31ebd62c93d9309326f55ebb6d53f2050e3b9054ab88ebbe0e21356e02471d08aab4dec5a6cf4caf614107b27d1ab176a26c6c4373206dde2017776665fe922b078214a1967ac4bd3f7b0ee340ae246308a1d13e86ee7020e7d2381d646dedea1560081c6f20880c19bf2f5dc6e5ad2370b881148352fb15d532ceed6803f154f43b6adf9d76ce5a021c6c2069268b9d23e4acae6a81cc17a8e0d2b106827eb588d0312c78d0d828e0500331e75e434caa6d4a45e048035934086f8f9f33767071010e34905335fb456aa5cea37406c2882e9dea75cfbd3c8719c8fa61b6b27af84f5b041c65d05b6df5e3f23bf7f264eb81830ca41c55ea315a874aeae31803b944081befa054b01d6220988c9b2fadb9fa5b9c85230ce4fb38a643739cee0003b1b4723f6ad265317abe404ce249a9dfe18536c7ecc42cae4dd32d3b43e72da5a3fe8eae38ba4058134d26731c5c20a549b137d91c99630b24bda2d2e5974f19a40e2de4aaf16dae19ae26b657d246dce515b9f3c09105a2e6f9bcabb5d6e919071648ba4be6f4e1b2f8acc8710592fbc7f7305f95c30a84116d3759f2c674ee8e2e882aae167295e1928aa30ac44aebc9d6c273afe838b820bec91232a5943eab745081a4e655f3f95692630b5265ecfc7ae1d1d3721c53202837a523e7dcbfed2305920c9d6a53fc8e28e86eaa65b697efde3944bc2c4f7040819464d588e5aaf8bc39c7130827376692fd1c2f54c6e1044cbc784ae1f25a3a9a405ecd293bc6a0193574308160fadae2654a25cf1d806309c44d29e65ca5986fbd2b78010ad0a104b2c8530b97d2a9e4b539b420d6ee990a0b5617eee2480231067d3149b352dae4aa960233800309c4cc0fbadefc2c7c48750e8e231074ed05a57eb32537d56d1e1c462055b8ebbcf4666a7382a308c45bbf68daa342e9d71c442008b7946f4255fa6d8e219037d6089516f26554e4100229a54b42e6a694a1d70f0241fb74306f3da9ede30b75008114fbeb7921aa1fbf72fcc008e00374f4001d3c20486daf0b42ef0619da01d96f4fa9280fed6a261d98fdd425511313ca01f16c2b4738205ae599f8cdd12db77303b27e6cba8af933f7f4362085fde7baf9efa6300b9248ef3c3aa7d557cd6b403eb5b14aaea8581b350d8841855c581d113a2a8e1990828a41252d2daf745b4130a136b927cddd58b282304245b66815444d53534d9dad636a5541ce9e3a7efe3515e4d29a6efe7584cf0615e4bd51312815b2748d790a52e651739bf2a918da3305c9e77a540acab22aa914e4df93a994b2fef34b831404fdb9733e4b4f99bfdd28b2210a338d505ca3dab0f817fe2e9f2089660bedb0cda07f363c818d4e688313e4bf339923e46c589ff7038d4d704313dcc8043730c18d4b70c312dca8043728c18d49704312dc88043720c18d4770c311dc68043718c18d45704311dc48043710c18d4370c310dc28043708c18d41704310dc08043700c18d3f70c30fdce84336f8c08d3d102c2fa5b0a25eb4d3c54068e8811b79d8061eba71876ed8611b752096d00f9db2299d0ea4128feebdc16297d4cc81a81d2653739403616765df3577f434973810e4554e517407abf2c08130eb15f3c8b198cbfd0d2425f4e84b27a33fc6eb06b29fe602d986bd8ea7d18d7e1fc89b3e9eadbba70e25f281b86e23dde5668c3d1055734c26848c7395c6d0039a2aab26675a5fdb6662e4815cfac1a46c16cf69550c3c90b24b7e838c1f1aacbe0359c393343f133e6e61d881d89662f1e32b64874d890210df58815107e2a97616bdb525275fd1020c3a902b8b4e9ff306f996fb2e187320c8e6cdef31a58e9e2e38fc1872209d7ead3f6d9df3734e1c08eaec2dd793870107526cd071539c1efd4f0aaeb8e2e41b0842a7ecd4a5ed65a4c90d0435b765d247d47236db40d6bc4943d64c030c3690ad4c598aeaa9f79bb3c058034186ef183226b74ac9441160a8819447a75e32539bc54803416be8ec670b2af606351a083ae4defa723ab7b841186720bdd6d7a5123a448a050a1a656606c03003a9333c58ceaa5ccc721948724109794987fef6281956cd8d8dfb785975d5dc12627274843e61628c8164a93e7ef0776d2f950d30c4402aa9f7c14ae9cebd1a46024618881f3f5a295bf9f78d2506181097cff378d58bdb5013132e5a49e50ffa17ce0bc4b054ab39a6f44edf5d382e6c8160e5ee6db3b916c8b144875037ed41db592079c5242ae79c28313216886f9bf794aa0c1db67405c28efda5f4a4f2921031ac40fa1c221a530ceef972ba207aba8b472b1dbfecac02e1f3770555d1457ca9b920ac69cfb9824ee199652a90935ab398d7e3a6ae720b82f458592e76968f1f624cc1a46051500c2890cffcd783ac505e75633c81285a3477beda709a314e207a69f00b323eaa56613481a4736e669f31b55a32261093324b2de99abebfc358027183a7d141430c251064b618bf152e2f3f05430b721ecd181d348c666a53c0a8931c953726559de385810482504298c99c698dba7381710419601841318ab06bd5d5687b85eeeedcc5db1c37a7edb19e136010e186400e3f25f3b48f87dfbc104869d97f733e5d0611630481f05b1fd79546ae790e0610083ada79ccd954b6f8a51f10d4a99442bdd73b941ac307041935655237460f489db335c75a987aac05060fca3c80b1833283a10372e9e814947b97901a8391030c1c10740cf7d1e298fe760ae306c4919e728caa39f35605c30604bf4c9b9492b71eabc3c882b4d92c7d10aea1ae5f8c1af0b5ba22aff6d62ea3a11f339574afae0b5f61d08024fe7b9ef5c19801f1e2e8b44107fb14f4d70a6785af225541accb4176cafb2773a8a4829c797da3a7da5d2df640c5e314c69a7e6c5979be68758bb02f15457c65dc4d3d4c4110c264f6f9585eafdcb77894822074da4bf73e6a3ed6dd5a3c48e17be919bdbd15178f51102b775239c59865465b57d6c54314640dff6a255ba346130a8f50102cf7653273d3a1d2ff00457fa23d919d20954c29675abcc83a25278c009b20bdc7c6cf419ed2a4314d90667fe34c94d23341bcaad2f1b859e40726889b7754a9c68a31e9e712045565d1740ebb1e3f6e0992b08b9bd46563509e4a10ed37a58a9aaa52e5795082e0c1cf3fdf98ae0d7a4c8220376ecea572160f4990536acd5079f3c95f198ff08804495537d9c5bf85121f37c2031204d3b9836b66cdbd8f078f47108376c8b9fc0c711707e1e10892bcc9dc9a5393156d044109e123d2667783e830e27acbd04bf72ed330bdb0dd0cba45906c677d53babb567f14c1896044e0218863319641bc6d645443902a6f1ccb1c4dc9f854210857a7fd4cc7d130262108fa9316bbd738d16f1a04e12ba7dad34310041d4ab8a650df9cbdfdc12310a4585a6a4186ff4acb0310dac5ba85edac877ef9a7cf79afb54eaf3d78fc8134662f4a7ed75a2adb0fc4f422d389b7e91cbeed0329e7fbd8e183760ecdf181682e33fa39982895b1c71e560f9b87c303692b477d8aed8a4dc93b1064b4f95e8c223c6ef2040f3b9054861cd527bcea72748f3a3ce840502152bbe436b5a6cf1c5a5957cdeec94ffdfa904322ee55695b21bb27b3665f3ac8faccf359541e7120a7e8b6222ea46eb6e50107d26d4c49b77afcd7f66f20a7feebe8b5c50da4beecd1af0ddb4014e596f2db379c57f6c1067cacc1084081871a8871cb4b938d9a5e1e69208b69854ceae266e9d2030dc4f42764d9f66979e5710662d4aaaf8d396a798c0f33ac1a9761d7557a57d7ded79f29e7b269a62c03495afc6655ecdc2f2a0f32e818540cf70803c9e5e5cdf46f0f3090f4ff7d4a39c9500912bf4090b94f2ac66d532cc0e2e002bccf93020f2f10deccd437c89cc1b38f2e90efd46d4ba98b96f47c70813ce277279b2e8f2d701daaa2162ab2a1ed669ae2c59390a5c6c77c6881a43c79debbceb43133592079fe704933672d1954b040ec9ef5dc316d2ecddbe30ac40c72832e5f515253732b9073902955d09fbaa582e0d105e1cabe94274b962ae74d154867697d531691ef3db8208bfa126a6b1fe1410572c85d059d4b5c8eb1b71b3cb62065933989d6905b098f299047680c4abb6353781dcd25f09002298f858f6b8be8cbc97dc0230aa4d4f1f3cccda939c6548214e4996eda030ae4747e3aeab77d737e3c211f4ec847138c0014783081f0a7e1759693465396c71208326fba8bf6b8a6df8712c857a394e63421c3754a1e5a103d3776ee909d2f4f1d3c9240ca9f96a92b480bd391050f2490327da486f7e6780ce6e30884fbcc6957b3664c1a1a0c1e4628d42d2f3d2bb5445c37c62a59bfa5f5784cc2471108aff142bf74e8cc8908a4fe5835cb44f0180239f7978888993417a51088a564b886672d1aa001b1b3a4488f49674b1a980131574c21949cdfb71504cfea1f62648acab08294acbe450999c6a2681564931121738c2a4831e7f87d7aac4de5a920e8cf3cb95e498e9851415815d9b23e4f41ea53ef39d9789d0a4d410e6b9afbfddb3d5c0a625b92a6bf97e2464941d055d144e524e4066f14a473cbb39ed4e6774441ca72cb55bb3cbb5a28c8337e79449f40414abd3f1e4294199f2069c5ea76f4b7184aa99c458627c897e623e479ca233cee3d848c4e903d68ce9f2ed745bb9c5340b05718199c28c96cfb8bbd5fc62648e254d83c4a55d887af58bb9d418626082afbd6e89e9f88f6333241eed8dca263deeb2d0313840f22f3838ca6dc7aea35645c82ec23fcbd4df35fac52d512844f72d24eafa248534625b4b9bdb1d9b1f6eeb0b9ece6a5cedc4cb3fc199420bc7fe7d8b8cad6646e1f322641b65332d5a5e8e761ae5d491073472ba1baa4855dd1691e322241f04f91a17ddd46bc966dc88004296dd2f3e152caeb5b8d21e311b6a8a4342c5bdece1d4774556db7626a63771eee6d39f63b56ede6993590d1086277cc9ddef4cbaa83bb8c20bfe9c7242b8a36d9741164bf0a663226331441ae94d3898b66b917fd8c4490c6c7d5ad7453fb9481086216dd5aff39f329651c825ce15293f2cafb57661882f82da262e66062a2c92804499c4e42c8d0614d473b8310c4bdda6c1d6a732b2563108491f1d6e73a6a4a6f8620489a6447d3715e3f478120a57449e667be3319ce000439b7d634998ffad2ba32fe40902363ba2c4243483b35c30f64b5b8d1419eecdd24cd8c43461f4873bb9b3ddef589fa30830f244b425dd2574a3e5ef640caecb1e8167b861ec8573a05d7a4e3f4954c461ec8356f152b7378c568061ec8e9eee9395ee77d32ee40fc9373316fec4010ebeb3164dc35954b7520eaa98b860f32373f7420c858baac95a2e8909f3990a4e66863693e050f2a7220c86768729bdb34d7c681fc9f54dc696bbed91c38104509e93165985c4de51bc8af7d9bfa3ec53aad1b0852b44cfe58d8202d6c03c92af643c7be0c36103eea5b7a196b20e6d9e5d2e9726dfe0c3590bb6b45538cdbf12c33d2408e97b74ade8212bf65a0c10ffd92d76b1bafa05a74bc15514a7a30f080da8c3310bef3ad66f74ac74a861908ef1d63dac920ab2d03c947d3d57529391988e618084a7d8ea3c58379fad85e64888174166cf426b9b6dc7d188822a349516726ca5d309082f2b6ba4e37d63d32be40d23c77cf7ab58d9301195e208d5fd09c229b2e102c87058ff17f9b442e90554fc58febe9f3395b20fd5f8e1bdd6e646881306fafaea793e7e6b702195920c68f9e494d464b4ac51b90810592a66cfbe3f2a3d32e7c05e26c8e0da36e34e9fb8a0c2bb01120a30b3d847aebb429377c12905185d25c2ddcacc3d33dfd94c81c732e9fc10541e5d8713be7e4478f195420c964a57aa35575df82545a5a9f353d690c13c99802d936bb65438ea9513b32a4402a91e16e64448178c24367f2badc611f289032877d1539359b84329e401ebb4df16356e9ce329c40b43051539e4de6694d20578c496f5e534dcae507643081e8e9fef36b678e22c325904cbfabf39c906925903be3b68398ca22f4450b7227757d1e8414b5ee572f09c40aa72b44e7f004329040accef9ac7c7b42a66805328e404ebd95d14b6f50cb20906104729a9b98b5c7beee808c22907cf45a8e33b19a529402229045e75f7f97cd99c5eb21902d75f8a5cc8b0c2190e292a7768e8c2090fe549b4eea2d4c85970104e2d65eb0f84fc60f368fd79ddbd52b33550f5729b95da290e10352e524ae6398978f17ee01c9cb2a545022773a8e7840d22e0ffbb6d2279e8c1d9073bd3dcb6a4a3a062f234307443b7d2aa60e6d79c59203a285e798ba752ebc18c8c0013144d626b19aa6e79e5a20e306c49dd37c0fdedb39b30d48aa638f6afecf49bf959105292c4fd4fabe99ce988c1a60df29fa55bb7a769539aa7afe905b53060d326680d18a33756ef36eddf3ec2ac76005e1fd364cd64525cf57410c1f1d8b22afc2cdac0a9296f87c389932493f15e4d0ba3945d9aa788c0a52d60bda2e265f8f4d4f410e4b1e539073a8b07629772e69b148e9010c60c08b1724e0bbc0280539d327d3385addd318a4206ed8383317b6e36d6d1d608c8234629a1a7a6463ca7ca2208ae8124a8d084f32130a725c6e52bf355a4b060314c4d45eb9347316fe83189f20e7e74c213be509abbacd56b65d73ed65d42a53e73c86aa1c54068c4e78d274e5132518607002bdb72fb7758bcb92d1e0d1aee25f7c37414ee59df12e5b7d062186260897f3c552a7fe66c9303241ce99b784bacf31fa4298208fcae89c6b69c8e79720ade81366b6395574c612e4d70ba34e68d7db8642805109c22857ffda70955aed0620e085e334003fc0a004c6245cb9bd4d318b51b3cd1a4312a43f4d4a6d7c3235a3572448214388913166cb41ad41c08004f9b24cbb6f67cddafb3d82bc39accdec698d13130a58b05c020c4710747cb6d0a12b63d81b81c10882f6d8b35dc1a2859a311671188a388c44106498e874252ecfb51888d0752b33b33ae3ce3e578336bd35b1e817e7621c8294b3674a9a767793d2c13004621482fcf1cf46ca8fd070110621089b6f99f258059dbf620c82a4468ed8e8298da91c0982243ab33595ce1122fd40903353938bce5a2ab9802098678cd2b49c6ba3e50fe499bb3b65723f90871ea873b6913084200882200c033110d3eb07938308201010201405e2a0581cc6c13498d58d01b37090b0280e87c2613010400404c1404010080484414220088380180641200c438430c9fa594ca7ea4de5ce09e7607cf55fb36b729bab1ced5fe520587bec305dcc65ca2d8fde92816ea21219a927b431c67a5962cf3005d274985e9edf9fe31c57fa0932aed92b44a32e52230a0a5010228dff5f0fe3776ee018c3c5e7a0032767c27d8eef3bc778d12052a6348b5d2a47ec1688008ca8dffd24f3ac8918afdc6c82dc875e30c9604df97225f437439a207644cd8ee230d690f88b0cab9b165d0c3482338af1bd30a84c5cdf5299a23a925b0a60303c265c5987e140bea2a29ed81ddb4855f66167aceccdcbab5d99ce48ec383976043c1c6fae312e18b48f95d362599b4cb86f8784610c04846726551d6100ba021352d275fc8bb629b1b4756a7988544d0e862048b33a1c49bcca6f29dfcebb83fa171315dcb3da78803d2da29f62482447b192d73f8189e556bd72da7fe80bb4ef438ccca6c47082cf0003bb562fef889152cb322b57c239bd4621661a212fc1e1bc5f1d4d75ddb4295814e78060c18ebc040621cfb6913c53699568bc42da721636db78c6412191c3139206923854d4bf8cc7b50c4b79a80b3694bb934884b02aa989c1a3408b5e36a360fcf88520658d999c4f44eb21c61a39e0f5f9098a588df0aca638f564803ea7aa93194592eda923bff9beb3c71fb264cec6e7627eb1c57b6eed3afb9db1bf71ce247082948445316bcdeec1e9ad92d6ef2e7713d6cb442688074d633e7759056573670159269c46d4c4fe126afc42a1ac500d1bf86fa300b9199a7cfe8224f772004a8898a68700b71fd2a8ec8ccee9aa1d7dfbd47f36cf9d868de13c9d333f7600be0bfe6896c94595b93d5c1ad15006d0766d8ab559c74f9d3faa876e65bd5456713f6d88817ff8320213d257705e45ff66c47261bec496641157e8e353ec1b06d3ad37b3f273569e96b6cae0e875e0e23abfe39c4573f8c92194b7f27604017b9bad095970a5d41838031fa961b5392321e2b26f018f5181b83ce424c2bf9f1a72a63e1206f1171387e7e5e3acad981c196ab747913c50a4c34b0545c6a00146d530ce32103b49a8df2cdf2a146924ca74f2e5802065af7e38eb7ba591d58133e943b262f419ce147ca07977d89c5f289c31193b848ad68b8a393863ec8849bb685d1715d3a22d0728f9fe518d7192b5a51776b7798c037d325c08b82a0aa0b33daa80c106d6915e4c7abc19b10879bc888ecb809fb9d40d735b4209c15ea824551f6f55264595a8e014103b9f3215230fa121e4767da88c5928d236ab497d8dbd3ecbfaf36fe56b14a9cd5e8e5c8d2128688a1a6d96e06aed7a4cd6e5293b9bb1f5338699a19ed6d9786ec2d03e43fa9980d02e8d11fa6aa5f45e120c2cdddac005186924802b3007b34223e5cccafe18f4d4395b990df4ab321d97e3b690f7c55f174d572c77703b501bc267fd728b0bd7f99ed3a70816846b34c3529ac2426266c4fb89d76405ad9d7662a445b55862a0477b60745430e2fbb463b9cdf8a022ec49e5976aeafbb1674584f1f094377208d46dd815e115b0e7cc0087018a6f8f71dbaa751c68272816fa8aa7d40331bd2094b99f6ac5300d38dc29c0872295344393b1b67f11eadc655c1ea5ec9fc7e094a5a3b473b72d427b59edba8ddef27cf59c0c0f1a3b9ddec91740c565f481f838d1e0a8e72100889a4498e79b6df19b72e46deb1c4498663ee82fd7a2972f9c57f7311bb0a27968b6cd502b5f8d2007da0044628568531bcbc7b50b7e782d42f361785bad369dfeaf507074aa2e78607901e9502492fd747f0034850b13146d4c2c20b5d2d4574576077dae60f7f88b740a8afde296b4d36f1ae7eae61f68d79731703fdb8ae02780a5de83a08b2c68c4cb5a43669bf244cab81282f9c6814d5f91aabbe7aa78fc9436c9aa1f9d545db16a4ecded12cc3504763d7043506b1f221fee4f852e974b20419ad66307f1ddf236a31dc9fef6f7aa9f0d0241eb601c59928757f0654672681d98841a1c91fed21480230260e410342570fa26e6833005508ad9a52a99da69d0df2bb7eb1609c31b9a8dffe5b89c12cadd2dd6f5da861d869f8b66c59a74e9d25b2c5a28fda7236b341dca2f7dc0fee5df0e785e160d33295a57d12b12ca2d94f9b09469c327ba9cf7eba733fc1dc4dcb41381583439c101a850f08cab281b234057ac111c167775dec956a69bbfa4fd87968ac2c5650b1dbcfea33cb05b068219649125a60d78208d2b0cfc450b7b4a0402ed47aa18ae15327c9e2143102274084e7b4f12e8b2548907f3c0569ebbd16b7abd134cb01d797a6338503a6b056e6d1ff9a178c762996fad896c1ba456b05ab4b0a8b126bc1ca9b143d73bc73d54f191236989cb8715d3b010bdd149578cecb2d29440afc88ace66f661451b965bc6822c143c4eefaa1b9a0b290e4e60d9c26c098ce0b4370e187f3106f11f2a871027c2aba8c75e2b4534e121f1a91066992a16a9368ad5f20b931f20591cdaffe1508174d7ebf1b8c10519bb3dccc2ec7a080e4d7fdfb45550dec1d1e9968c8089f5e61e3e18e366ddb3579516406f30a912bcc61afd046ca49bd8fed7ba7b1d8672a801042f4c5569944304bdb912684e0fc454fd255f5f3517608e9fd85ff5f7f63460d094cc174b0a7c6b882c9db6e28fade92d46051e99eb72c23e27c776009b885c782ba2889e359d57ebd22f8376658a74efbf8f409aadc21a1fbc316173028c2041597ffba373e3af78a2df6d57bdeb44ad49fd03cb5331e15703733d3d6e29ccc49ebc30a2e7233a0ce82a2bef4fb9c71504b114627bd110ff83c555c4dc3931caeb22ba57c5ef88a79d6f2a24e1e853c5ef7cd1810072318f040573f8d1c1e84c8e3bb8f9d5a8cbe95475285c0c279c92c54bfe6827580e617c1b4edf831f581cd2cca1b1b30e0b287267e29df6426c3d8a7fdabd930d84618c03031c162bc74d2f685820610363f497014fb245faba9703e7ad6c89f4b185456d019d1090224ef0d84c62f62f83a02c1349f2f0b95783bcb40b41ce8f68c5637ab359f55d27b2a69377f48b4db7aac696fe4ae64e15249109ba9fa72a471b881ba5458270b4891ba21b8eff4e0511351878bd41c3241829060cf4da0cdd99d643e9d8c2fd2ba01ffb024ebffd4d652fabadd7819de45bc51d2001bb3adeb0be06035ae980611d728f3078e62678025a35426254297214f7acc72c4bb7bf0b446b81273986283758d42a4c8038341abfc5037971bc4e9f32f7a6d51dfb5f5924231bee623649abb9948569fc9133be43f6b143a1f43d81081893dd880e5b4a7dd3d5cd4b7dae403986314a11141aba360b8937a51423013092cf1e0f2ef9beb69f329c267dbb2c35c117fb43e401e0bfa6355624d7ae9b2814c3caf3a73d2ac6564525cdd5f97772145400564db9046ec5791a1cdabf6e6cec142542dbfaad77805568f9d8b2f2cb622f04e14f7505c0827803b216df6602ee621250a6fb50db3df285d207026d3931666910007830c7a6eba71580c1d07e85c7183113067c40452b8e5c242c3d94c9a2c9b833f3435ee9db113b60b57a1c2610c79d0308781e1349a62b556b788eca5bbae15ac4a16337dfd7e11ca0355d4930438d74dab2925475f969f677e7f3a7b32d862ce616abd5ce7c73afdda1037a9275a9c7b82c5c5730832fd2c5c47b79fba629b3f2a7b949fc198015dc1f0cd7e20c78383946a196c769b1837f196f4307ae246c15fade8a621bee2f5a8166cf3733299c519f403a57512db18d5781a55625e61bc0d01030a2a31668d7ac5c016117fb9a7cdef63b33ca40cf80c9f51b74281a95925093bf55c7d6ea225774f3b5fcc3f2f7a27d3f1903df2dcffd272831d6019263415115df1e313f99a40beecb5e3f0b040238053db619b1857b19f66aff341e0c6628864b68c4402f7cd4bf450c70662886e781120652ee50480f9751fb5f3fbcc23d75c5081d78b50000bcafc50e9fce2860d435a433bdc3c50586f1426dee9f221c7efb22fd248408323de7950a0f2697580685f693fb4e6135073c29ba4e6321f3be33286997306e0b6ab3df8d181e2934dd6583c13dd162fc5c0272216e302a3c9438c5ba792b7d59f6bc0f1507890b53791c69fab3f7b612e612e92a56be26376d4f91d5f755aa62fe60d5d255683292d4d5a50aef4eafeea77df57df513fc22950db544d674d7b8edc3dca33c22ae7e5053e6f6274ac83735bad104ae9ca1f3afe72e99ac2de3350aff60fa8efed8eaff4244f9cf455b70fd68f2345d048d067ec9207617980459b16228428d46f1905b48580ce1f990daa37c18c329ac79f114fbfb6362d5df71574d16b05be830c8f300dcc1dfe2fb6f862ae4e162815b222b5b1e8925f46173855755a902fe7c00d3d942824e5e08364c523e6b4730765b2cd21403d4ee3db8676c24358a5a6c095529f60840a5dd4fd6b1d23fedf29259a6e6099d285b7607b5cdf786928b63e70b436b3aa8879794a75d8c1b00289c47c59583f6d6a94c730847537354b877a77f0c2e0a3123eba410e8519146884f43922d756233dbd8908ba03f11f9c09f589fd658f52cb9235b11a1d256bc2516f685895c4f53b0e39b11134ee86cbd91299d461990aa09d24e35065be3fdaf1ecf85faba132e1857bc0609a15b2c0251db8a8d7fd9bafd29ffa4a16a0b6f51bad16a04ecb65cb06bf2847640532779cce6074c94dc6b4b8113f9f3e6d9ae5208cf04d60c8b88c5a6b1a6656727ab329e52150eade09e22636ef4ea6ad035c4c781e7055f3701c39d668a64147206a53aefa827e0b317f4709554c52fd05ab7bfc455a0987e0a0c91156a563a9066f98071ca46f2858938069c6dd91b42d69068909c269c5390ad45bb86d33598d1e52b318b972e69190b1ac2aac4226622f8b9c8f26d256ad04b0eaa0e1b1de88c91d4568f2894b76b9ff24326493869ab5c5903b436015792d642e92aae24294ecb041ac4d0a5565760f83994a499e638f3a57ab092d0a2ed54e886b7a8bafac75887b15c7e31c490279cb01249b534d542c24abf32ce42f18ec93167239bc6e6a85ec2a2dfd084fe4d56f159d8c4d940d1b3e0a90892b229add6f77d99f6ad60ab410494340774184df0057bbb4434e3538dba1b8b0aa2793608b12c805da9506f043080ee0a0b68198f36c061e82094c97f038b80da805c9f21421b60c301378877c19af7e954f7599a8c578ae717902603d6b89ba8e97fef7bce23bebd84381887ffce265451c1e833280db722ca02c029c1ba38d8202a8bcbd6c11bc4caad643cfb752d13c51614cf623c232eeb285aee587ae61455a5d026a26d39458724ba04f284f88fc1b52cdb1312f8bc6f407a449b058998cf93bba02392eaa2b2f04eadc6744000261ee86c300760a5bf99c29b7701a20aed2c7c08901c46f2fc5fb248034eb15b7a4e29103774e75bbef69b3a6dfd9ed8c636833a91801ab22c6ca96a4ce11c5a48b0383d316dd0621aca38f869d809a8033b6c6533a413ccd766ce4b136807ac0762857680565024e0eea01b110c539f0e4c047750c035952d274e7022700d580a147fc0bb0491962d15692f88f8a7cca7d9da03e2cd0b72e9d4708c2b27f08e8e5e04a627096e7f431c06e5efbef5261f5d5d6bc6be5618e09ce4f99b4b5b7545ffa45e8cadc0b441788e142c75968c2e01f13a35658c024b07453932b091b906bd2b516cb7a48d51e4d82247e755b4cebfad5d23be6fa24253af2893708908a18c4b4708769c531704ab8f93853dcee01ebbd5848c6ba7869c3d18c525b17613afeb8baf40cbe1de6def02724339d013c02d827838795275e95e532497937515496bb4d2124ae0dd0c4efe6de8b8516a93424c077befeeb0862a4f2a7a37a555ef318b6e0807688ba9087bbc4c052897c925d8a258d1f1f5ef5a5886188e043b6aa2adbe4bd88d2beb3cb7ca5cd6c532720848c84dd2bbccb0c2087ba61b33005047264235081fb0c145468bae88533088b4d44fa8b51c8ea2ade09f96c1a26d07635a6f5f0e6ad0924f6f3db080676589695683080767d8f476a98784c965f4578ee34ef0edab146445c199d7de88491e1c429af21ab22c9c9f848a8abf7be845d585e0d514ab7dac2bf5e52000080523d64e3686fb9ac94ee026a2a9da7a75f5d85a44bb9e9b5baa0920137702d3b774788c45a30102aa2c972101924efac60aa4521ea02cbd71c7a057ee9d5af58e38ddd2ef55ade66fa5919b101670d0c2d1c2249b16b31b9e2976239c651223a13b903c6107c216136a293fde6bba63743a31c8041ab7a0cb44a932536ca81f92a129f0ab2b1c77d239d92a239d839741217ef5afc3f07e925feb1b2b5903709e2c1d998cc53af45288879719450ed8369f63169df2007c73653c391fcd9c1b985787843f950bc364a1d27c3117418f8917d48e5dd98a55dbba57d1f66d646387e33e0a256ae86109505c53c03cce6eb1a61b8e48467563793ec72c96ffa34cce8efb7415c16bf268cdda2caba3d14bd745ac22c25a585c7172568d63aaa9d1f6d34613d7855d7a46e27baeb43ce7ea4d5955bba5a38fc9f92732aa20c83b227ce857aaa86499619fee3a8d49f69a3ea954a9c9b9213d2fdfaee7059dc54f64c29e5c67a0fa61cc3e81f0c4b8f428c9480d690af81c058647a2216ddc122ceea583a84827bc1987241cdbe9745240386927ec9bbbd9dc9ac7fb76cb0a092c5b72f246955a640699676a1b4a35fd522d3ecd095f240818d83a570ae0669ad9b5d26da4b46245e3a8947240195f29500bc3e72a076dba9aa8f86f2763d41072f8c6552589757e955c8057f83e73f12f0aa671c82afeee81eebc89a17d716455b13cf636c7ea0d255766b303716b93d6727751f50d9c064cb09c9faa9d56945a51c8ab1c1689c2a0ffdbc14fd22034b77b32bf07a24aed7176c765340895ff89f58c5a988aa1a571e13f04ceda86e173a841be000e9cb240a45f9330b4eed2b9f62f0c022fc1704bd42ed68d080bee1632f79ca226e0a8b0cf7d1d25d0d9e89a95cb116c2dcd887b65e02cd0ee5aad1204cf5cec9e4ffc70700a51e12946f9ebc7386c875a207b4a13205cc7804656c04107349558f6c2d1296746429173c99d761a4247a9642bb906e215197c46e1fab153004c7f09d1e96d6b204830186594bb194f8b86bff953229f38af72e61f9d81489383bd748ac4359b200b3b88deb1982af7c08c82510763621baf398aa851ba635746048c553d8d08b19ebb9751add488e24a5d318a72b1d1db62f86d3f0827a89dc24119f801ca8299e5109b073592ae2d15de832210b6018f1550ab823eee1d3a11070f4110d4f845c0971a3d3c0dfccfd501974052bc527090caabe27056ba77f917c866958c6a8f0ace17099c6fa57da7545a21b8f6087da8ea4554dc93294ca2081231242abe69faf7edb486c836c1b8b6814b0b932e593df4f8ac11bde7465889f42bec0f7898e0249d02437e444f026304e045b3f4b0b0d827331bb913fe196b56c7f6bd85f1657bc89712622333b5b756333f0d76a8b0241ace1311da6b4ae83dd19d3d69a1756d9c5ed4fc9d1029fe69aa7a7bc436dd3265505e17122f3cf6b643ae11fab24a2711260edaade9b8784fefa22edd50720f455496dacc000aea14aac2ee7f4196ce7bac4273c0b193cd1dac93581afba091628d27f92231ac7116a6197b14d09a4450cdb592149704aee4d17d9fc04eb44fa9f164007b8185c5fa7c77eabe74a30a1ba947fcac555263fc0762bcc4cb00dafdd14c3ac0f2520e3cf33cf33cf33cf33cf33cf33cf3bcedee1d6d8751b39632feeb75dd33e5469ac228c85a2bb6c12565ca4d79f87f455114455114055cae04a404d7047bdef463b41bc0017a592cbb8ae5e209cb1f14adc6281a378d78c17ed02cbeae0a34b6e13ea8170592826e5f7e9d0feaa3481f1bde6c048b3d28634e7ed79a1ed4bb5035363f0d1f95071d1f945874d94c718407254b76146f626e6873071dbba5acdc73bb68a01db4a72837a6c78b69fb3a2819c594cc9e6385381d746c91c47f7365187b0e8a3899e4378dcca11c34738a827c4ca8e88b8352fae095a2f875a60207355250b7ad5729d6fc0625f3345e5e4b72ebdca0849e9c87e5b82bc5daa0e55485134636e8c02bc23f760d4a7553d61a47af155183be2d1b7195829506ad1c6636df8606e582c3bb64172970cc9d418b1e737ee76bdc6f06a53de642c338c6721994bc283c4b1bf6659241adb6f4203edc72f263d099492ecf755f088b41b98cf30ac2a2b0c23c0c4a7cbeb8b5f331b6c1a0331a7bf1be1e9ff417b410cfadc8e2b278d80b5afc3dc4c957a67c17b4f4d83426cb051d4e88bc8ea518df16b4f074717a2c98d7b4a05b902daa518ac6aa2c6829a314c335d2afa9c08216ecd583b728b341ee0a7a5b4c57cc8bc2df0a7aa5ff3badf89ae52ae80d3b3152652963a9a0f846b85c154d0f998265df5f618344a4a0c5b97c915cef022f0ada3690c7f84041a9098e4f9a3e321ef604bd65c47e4b9c4f7e27686fb12f23534c113641876ce53ba31556c399a0645875e1a286df9525287596b2d646281995a03ce6cba882f35dd649501ab558c312098a4595f226e43b5d8ea0830a2a38533c7d9d11d4daa8a0312baeb808fa99647c790a29534b04c5518ee47951a3f40f418bddbc244f56c69b1074f67c7bca97202879a239d225875c2210b4970bf7628bbb2ebf1fe83befd91805fe288a0ff40816c517380eaf48eb817673312768644c31e18192e51d3b9c3bc9e8da811e0e22ee6f397614a4031d05e530e2ddb75272a00597e28b1739fda306077ac54e291eaf78e619e406ca64e4125e7d7dbe0d146d6c2ed9a923833550feb93d4cea256c4e031de49be00cd40b75bb63e136b50cd49a4a5631bc28aaed1868969abb526422926218680f67b16546d640db17e810a91e3c63713c5da0e4571432c37d9746b640b7c98edec1a4a8671668a6fd2f77711b0457a08397958d7d85ce54a064336b3ef629501a46e4672f9d840e055a14bc487adce7894fa0c4d3b854f8936b34813ed991cc7163940f2b8122d2d528a69710a7218112a555518e723f356a044a88facb2596e7a70874508157df7c85f77d08948b22457e144cdc07819a65f2f20e0f6ef507b4767cf1365b74c1ed019db1856f048f388ed2011de39d5cc61e8b81cc017dacc29c70697acfdc803a0dbc196f67235f035a8a67ba915f038bbd0ca8e1cee61353df340674ad7e38e11b56453ea1f5648b2cf17442c9277bf214adf355136a857c3a7661427b665cfadf9631a225f40971f731ef7e63862ea043d383f6a578de5742af5c91c57816a4144f426b06e9419e90bd9b23a15d7cdf102e9fe3d716503222998ceede85574009195db0d1973205972374b28a2cccfa9b4523946c99c2b71ef90a6d115a98ca28cba507752505b4b0a2315e7ff4c313d022048b29337adb0925a0e78e7d5990082d706f077927fb8e803af1db2c7a7ee4e5104a478a6e17d3a60881802ec17c9c29767e884608ad2373ddfcbec5970f7d7945edd3f2410b260ef27859244dee413dbb30e907f716a5d083a23156269693a211f3a049d008728159f67378d082c48e78965155933b2821cfe2e3dd797c76d0295aee3352605f551d74a47d5acee77325d1418f9e8e10215d969f833616caa23d929f25072d9b03b1ef3fa7a0f93828a1f17f3cda82d4c34169bb738c9d942c4679831663668733bab6d80d7a0595266e453921c56d50bc6cdac4efb342960dda658bc17724d7a07c8b5ecad8d4122bd4a09763b7f17ae47c611a74fccc29d12e0bd7d0a0845c9c17cdfc3dca19d4080b52e637ca6c9a419b87e118968f97849441c91476b6df2fd89ac8a0498810da71f5f9640c5ada888fc3815b5c0d17837617bbe7ff64a0b187e1e69ac9280a1874585a91ef5eb618f517d47b97bde8b642de5ed025a4b80c225b3554baa0734d9e915cd19ece05e5b1e47c94c57193b7a0a577cfcad4307e6a4169a718b73e841c71b3a0ef6c8777b4c30a462c6871655dfc8ae2d6c65d418f94243b56d0c47d9b2249aa184caaa099e5f2a8fb90baa0828ef7e51665ec254d4d417b5cd7df982ce85b0aba5f85c7bfe0e8321305dd23c36f368b5ffbd1505027bf4d4f2507e5fd13d48c6c14e22bced209ca55ca8f45da1e239ba064aef7b8ee8ac28b097add643f9949880d5f8292c20efb7988f0bd12f41eed4b79d28488751274dc51e5e756d39682042d82833fd9f3e3061f41d7d78bb1d8f846768da0c489f30f22b7845d041d4722f565e9eda42082ee13d62f676e76714350f4f221fb9d79a44d08fa85be93cc8abd791204a5518a2676457c830a089aa4ad50298ae2f1ca941f28392f47a84616c97c1fe8e28fb15156edff3dd023854f77173d73c579a088cd498dbc68bfbd03cd275703eb75a05df8af70293950ea2e6fed5eb76518073a887d5c915b6c8d9137506a2a32b08c3de7431b680f2442c35585a3b01a68193c88f8154f630a1a2879fa142c44433c3203756773b71ad9765632d052477c6714f43e373150aac4226dc8f4250c947d16134979f61b835fa04575512717797177811a91e28c1483bb8cdf026dee029dd8d0f0029b05da65eec88797f36f57a0c67f64749d74f52ad0ff236745c3d91a53a06e250bcc1f648a1e8702dd3eb36278b17bf8049acf23f3926be80b3381b67d8db59fb2f9545b02252785a68c7de6324f02dde3a6416bc99c5346a04529bddde4538e2f02fdcfa1926bc5ea7343a05c858a625bb0d82d10684d61a22a45e929c20fe83299515017f9dfc403ca349377a5b3b0a4eb80fa0fb979328d456e1c5066925c8cc54949b2012d92b0c991f7aa46694049d18feaef41721c6540d9c870a22af20afd240674b67a94b297684cfe09cd71c3b72a828dee84d6f4a26fd779f16e428b15c2649f8914c84c2815291ee4edb972be848ebfa9fd31cc857f5f40f3c9f0e870c7b62ba1d6cb3d2ccdb9e024a15c2691b3e0472c8391d0ad52c463a72ce31616d0a2d9c83671e49aaf80f21542cc45f3b04a3c42f3eaacc84ccfd93642d34ace5b92791e5c847a76b167b8bc3fc328a08fe59c88ed548627a09bdf4304798686484079666cb2b194b951442813b2e7f24f32ca0828e3537699a9a4a218427be418c5698a2a830802ea43c50712fc32c542285d51599756d8309be201da8f5e01b8547c1c340be2ce4e0a19823c060725f883c52d91320af737a83f29547459f2c5567183d6f733e96da72c2edaa055108eb16e9c6514648372e17be8f6fba4ecd2a95471eb9b6ad0c5c391c57c53b12369d0bdeb7c43e25d54171ab49e9fc76da979323a83fa92ee1b3cc40c8acb5c70b0155d487f19b46882795c8a6dc2e864d0ba1ac5bbe336b67a0c3a579cb2389fd183c5a07598566c3dc2a085ede082199f501501831ef6144b48c9c27cd41774c7a98c1db3c36a507941f1d28b42f33b78942e28b1ecb541ca11793a17d4f2d8d87d9cc9cb6d4109d3b00b2ef3f25f5ad02bc2b8954bbac6b3a03bc56e7916a5786b2c6879bec652189d510eba82dae04da92e180b266f059d4ddfc64b4f32e555502a55c5f8bd5fa47154502484c6efe4fb966d0a5a393808b3b234af14d4dd6af3ef9a88604541efb3868cf66eca4250d03152c4c5ced413b4a0c1f4dc65d48f174e50ff9f6423050bbbbe2668c1fbc50b466382ee16b3b2983b47bd042d5e7948088e2e43093a96c7131ca733eb2468c16d34ca8e312f584850f7448285cc6af1085aa4500e1c59e433401841b1d3a994c16df20944119498fd17c43e7e45de1b000411f4a62082a50b122336cc082086a03ce4768be981db734008412d4b5154c1fb19c6e2168820e896241a396753d836406459f9f60ff44bf7e276411ad8583e50be5264a814d965c240f4408714f62c99b685ba0d081e2873318a4d515916cb152076a0ee3556c838d91cfd04081da8ef3f529ef1b0028b2480c881ba77998f2e2a4b84bb0140e040c90fab3a3222f6c17503cd228bdda8acedb8c906daa5fad8af1415f95335d0923f33ddc40617692302081a28923b71d98c2a24364a0140cc40ab7c0bf2262ae8708b5b001032d0c367775286dd0c2f0901440c740c29daeb1869d0f7c2408b6f937f81874e5ea0453105d9228b8f0140b8400b3f1aa593b25d8a33102d50a6a5c31e230d1b7308205870a39e8c33f1cb1b5303805881664183cc878a51279202840ae668280949917453b248219c3c78555c01918202020505c409b4b3caeea55b31c690c2049ad746464e7ed1c51388126831987ce14e0810245072d24746686e134911605a00c408949031f5e46a93ec16930b80108112f9ae2ec80d631759032042a0fe5b9c2515a5bc6f07043adeba14455d5926f37d01101fd043bbbf52901eb6c268ae00407840fdc6982b70c628407440a9d4b315c539909b81e080d528123329678aea8a52d439bdef45f77601b1017d1f7e4bebe25b1b2034a056e34bcdd17ed5170d4406d4bf0c8b2365068fcb80c08016f17bd7901f9f73209ed05230879ccd8bdd2fe6849adf143bf83f8e37a6092dc933d0f10b9afc028209bdc12a1cab18440c795c11402ca138c446151e855b176f344d007101a5626caa2c879d0042092dbd3b84caaddaa9494712baf90552e99d290aaede4580038184e63e3dfd7f2990c8480b282123fd914871ebe44505d47d6cd46f8dc552128fd0a96a2eaf3238b3061046e877f9ee2ed785909b7d1fc0015184defe73d7fa0d792c14d0a4ade2f4d867e3b80062023a46714553df58aa0a0809a8e1b46d1e3d515b014184761b63f52806154162038808e81c8d1a3ec667e70ea13e9fe749a86c6f3e04d48e8b22274776c12c841edd3c63994eae7d8012a3d2a5c868091207c2015abadbd90b239f9afe83e61591bfbeda1be7071d85dcfba0c5ef3d39738220cca0e54529ce8b2a63713c9741f30855d9660facdd8220110419b4501534aa4c9272f7734410635022357d5b2039429b455321069dda4247b41eeb2f4613418441ff97602627f118a7441060d07364abff4ea3a2144b04f1052db743356ebbc82fc4bda04b2589639def6fe12ea86fbe57f1e16f9c82bc0bba0104c1052dba787ec9e2ea1bcb416c41096df97c26453da9df040c7120082de8f176153b0693262666238920b2a0c8a30b8911e2177106810535fa255fc8faba177257d0ac02ad07177e3148bd1594d07fd0bb88106d6e1055d05aa41ec513b988fd8d08820ada59f6bb5814a3aa620b26829802052105cd3235a58ab1b1552c9b1241444119bfb2743993a238e22408020a16c413f48a1b2a52056dfeaf2a0827281519d9e43ea3504104104413d40bde1d56c6f0d8c20b0004c104fd32aeacb4172cef9c0004b1042d5f6c523d3a6fcf64104ad099ac2af33b9ae6aa0f104412941e8913aedbfb2c908240c2717e1d21f563703d067104bb51a386e4d95d8e9a31a8f0a8e8c94290ea8a208c80411441f78aa4f1a5b02088a089c8a571b0bff7204d104350c64c27df4c8ec8960a4208fac3cffedd7378d59505411fbd2824fe82545186110882008252a97d72cb856c61428a1fe80c82259320f35b7e411f68693f32bcd392af8fae07da4846d9e7de2dcc588c07ca05e196b331cc9978911de87e61e1b5ec3e1c3586b020081de81042d6b8598c69683c11440eb42f899861da3f9fe3408b773117a21b286e9b11b2e358f8d9db400b563311fa1a688e1e48a3c0c2597c1ae89682eb7abdf04bf61968925153b260677ad132d019fe63242f063a3463b6e3bacd7e1c06cae36698178f8c4bfe055a6de9dba47a0c21ee02adb532b2a04aec81db025d6afbe2fd9fde942c5026e45d12e74b92a258817e7731cf54485ed8b50ab4718d4669aab16f9f02a529e393e8ccce050ab4b24026536c71151527d02b5dd08eba620a960974676e8e645f61192c8112a26566f73ec3211268f76db9425fb97b5346a0c463e3d3680c1cc58b409990dd5961b543c443a0e5e78a1ecbec4dbe0081e2f8fcbceae547c60fe81492b49fc64a73f3808e65d9715264884e1d50b2f6f377f63878067340cbf02205db8d4649df80b6ff60bf2249f58cd480f21192c455dbfd9f014542d28a6dc147ec10034a594d7ad9e8091df6388ed9fa3bdf0975fc32fa0b2a0a3a9e6d42938b154f6883c79833a1a378c1234fea7d5e420ba4ac51e84741927c01fd9db54f42e3a47c2aa185dd914225a7a82e492813c37c4206d34f22125a5b8c359af176859f05946858f3de131be2aa80d6131ab947328f8ff2082df9b33435588d6d846291c563f99e71595b840e7561515481bd774901e51db5c316c966e02826a05ccd93edbc596c50023a8533ee66870d2f8e08c575af2d78149125d66de469d4bcde640845b4acb18fb695a520a0e356d3451e122ec6402114490feb3e328fd30fd082c97a41fc8d73f9837080161ad99fcda20b1cfe07a51b7b3f5490f6b6fda0cd885ed4f68d69ee835a3a7911cac22349e1837641526e0aee2746780f8a4b3996dd3c85bd1e748cb32a0593943158e44149919d8f614fb605e141abcae12846da3c3277071ddfe331b61b23cbdb41ff0a27996ed35790a20eba7bbf4cae0c0d0dd2418bd365215f73d0c209f77be9495c39688dcd692b3282e2a8e2518841081004411086411086fa1d623c02420882c818438c41c6ac1e2210200a41100441108443180441208400411088004110844110044110049f481dfd5fa94175be68aa5a78dd9321f1e57422ca05e1a7001860efa27992e28de7b175aa50a38cf8cb792ab22a7cd76fd870f81ac93582842abdca3e7a046341cc7d5fd95a239a14dfa18ca4e16d440ae9088fb4744cebc167c432b2bc71015d5d049351682ea228a2f67a73444b9b322c950a6c706fbd409fb82864203949c9a4380e7a8daceb3aab76ddde1a236a236c86b4305d5e87a1c8a19065c9d427c5303a8c46c012780e25a42ecf533c22f6e2bcaca41a2ecd3a18e8a25866a22604f25c5facfb26147020641b89e55e6faf293e530d1f79a15e4d64aa5b60217584b32cedc58d846469e808f3544f7b8405546647c4ea998151029b77a60a23b5c398a2d88e5baeace105a935d22a60154a47917adc6281445ae5ed4959b2784742979f592ec060c9274c0800bf6d341bc7341a95d013f6c8b41347caef84bd5eb0a609a1376946a0449cb8621fa11e61c05b5845d8dcc0ad045e2d396d40a9c4d5724215d00a3d3d1a5c36d5fab32f34c9bed5cf14ef4db108669addab15c1fe3f61e364ef3316640bcdf39d9c869303b3e8d4e99f47019791be28ce3885cdb257a015c30a1acfac406331ac30b306d5b6b56c7ca1c8c091742b3bcdb635c86ddc0d157e947c1727588fd8b10ddb8b1368e40e584ea7f1957cc110a5ebdbaddc60097faab0a976bb5c9e372a18136cc973b3caf9e0e27cdda8b8da64254dc1691431895c31cd0e2cc9a39b667acab5a5eaf66ec748c505034132d291357d98650e35a91e6f010709b8554dc6a61abf72787f1c6fe45b2e22f37a7b3558538717aa5fdf1b4008db5e39aa70a741cd3e1f4d0821d68e8e8345fa88d0149f58ae7597a4f1a1e97a58a6883084b49e47151c985fdaca8a2c395893141f06dc8f9a5891d2b849ac770b13d6d5fe70b7aef9e28d53328f685311ed79b22caab710c007d1cb10fa7cfcb34203c276e48dafcbf92724d015d00140ecf54c60618aee4a85a0294fceccd9f5b4500f4088230fedb1adc07e65b20910ee58315a7ac74a99a1d9d88983c481365d86ecd0a677b00ebcfb3b135a32397bbf8e28a10aa84b5726b10ce3ad197ab3a7b02b936182ef06ea40ac1a483414efe30075240c302793ada84c79de152e561a82c27f4cf6e83ac00bfbd14cae9ed61c8a22d464730ab31eb2b24c8bfba9e22caa1424401f90caf3ae3285496df7fa3918b5b50a91c7cf4f7e036bf018d30e8c7078543e7fdbb93f82d6e6d51164ad720a539d01c895f1505175f6ba6e6efa07b2f06b88973e17f130f3e690c7e8aed4269bbabc2cc0eb9797dcf933bebca969d991774f60d9e34855b2deeb229c26d2d4f1152678af3d05434f44247795febcc72bdabc9030fd4e3c6f30494ab66d1c2acace30e9baf98eb9810538054fbc6b08570f0c425fdbeddb870d632808feb5e612ef3d9decac3976838bebce741841723fff3713de4ded368466395a5fba5e52dfc1ba7cac09e7844ca98a0cf7467c3e30d9ac407596b5d16bb0d3d6c8a9f79f5cc9b54a9d1109ee27db4f9c757a7b9433e09113604697f49554ad0254e73cab68a49ad3b0bf89c4b6086c1d7563dfae6a6444ffe40fc7d3e4dc44ea5ea2630a88932940b38e030452fbbf37e22d466d8589800aae9ad5ad64572bdcb7b92af38cb046abaca26cac6fc681d6bc993260a44a9904e4d5e2349bb5479eb5cbf57e7e7d19658fc67851b4342b7bc777d60e49df3c1f6f6658fade00b2ae1b7f99fdeeb3cc49eba43d71b9cc328b5e0308ce34b23699acaa68a4412636b9fbddcd90717a5f2eb256ec52b7ddc15a6b760fa1f20f9a9add4f475763f6f90a0774eadcf5920d91614cb1555cedd9a6ac61fe6ac9ba6e2f5aa0d0bc8b054ef66849b0b059364c8e113365085b81fa2616456eff60e8091ecaf1e2cc52753e9bd052d7e39310231714bddf207fcee9b7e43e58e25307237d6e5e76020a9533495a536e0c58082d0435d22c28ccecc16f0a2aa644376ce7449e8195b56d56334a8cd8292353e28df4e06316b3638a4623d92a60cc71644f9f1f8f36299904ac94185bc41983640a88a4c3c526b5e290a3a996e8abd5c58a95b86c93e7cc6996c48db399b1c0caa222ea53b9ce8f2ce43edc7d660a52e26092356607b694f229aaff52203c4d1e53b5018a4139088512015a143e533160b08224073033333333333333333393576b8bef2df712699b7b3067126e53035252525202a366f813831ae80c4591fe041b051305300556e48566ccd1829109f25c5e964e336260829c9e27d35e8d7109a2796451613fb0fc9f836109722cf396aa934e9b3f2a418e1faffca1c737ec4d09528f8736d36bf7511bc62488f997f62c3c78b0690c0286244871ca5310d719f3281a099276183abcfdb08f5f4382d8c93f785029cc8df852c07804b93acecf81ba9e9c87e108b2ede54e71af3f84024623c832d929c3a7bfffcf1430184150b79ca52cba0882660df957b1f46e83a188c64804390aa93ceb1c870fc64004f1ed3a2f8767414dab37601c8250e91f59f2f4982cd4fa050c4310a5e3a9e0f9354d6ed8058c42903b736db89b847885842054ba580ee655e2f75eb602c62048eac18a06ef7c39c64e7a014310a4f829437e48e5a8c92c2d6004826c619fe15a63ceeea8e3020620089f764ca5f2349b7ffc819ced633fc8cae14f57bc7e20a6bcb30cb2591ea61c187d2098471fb5bcaffc6a63f081e4d1639ba63e0f57b36ab706187b2048e7b0fe6fcb7b2e5318187a20c876461f8fad2fb69f07f27f8e31f2e3ec9c34c6c0037127aa34f22a18772057f8e9c03e0c973f5430ec40cadcb1f352e734eb6501a30ea4a477d31db6ece5262dc400061d88b1e3e4b693a1ffa49f03c963d3678d15399072b67e2929190f3f8f03e9a37ad09df2deccde70208607519923979f0fe537903e76658e61b4a3b4b8819c62799c6d76cc2fda36103f86c8aa0b49efb081ec514ad3e2fa52397c0d041d6bd5d4b106f720550331c47394e5a26f7b9434102eeac3b5ac0f7a6634903a4e07133a5132169e81b41d8468eee4e61ecf0ca40f2badad7276bbd9ca409e8c6d6972ac57fd01061948629de617b3a8fd873106c26df869dcb00be7616220e7733bfdcad87e8d30c250dcfd585ad3bae2070618c81e72a17264f902f163e838ac0f773cdcb017483906bfd438926937db0552eb5ec7f0983717572e102e3e8c2d90c232e654d19d31ed6268813c6bf771d9222a748c2c10ae837f0e436fe45330b040d7b6ab5989dd6778b97a75bf06bdea12f531ae40188dd5f964bb226c93185620c5bce1355a256307ed568d01a30a84cdbe31bc02061508ba9646c6473f10a9a6408cd92c68c4c6cfd1d7991852205c6b790e2d74c7f3a14c8c28904d7adcd72e7de4956762408150eaa14b86c760176f26c613c8e12236e58ba31d4a4726861388717e45b2f32def7d64623481dce1537f764b6ce631319840fee85334cc7cb81c678c2510dc0399f54ded917ca807184a206ebae8b952b323b592192309e44f526a529f2c87cf13030944f9fcf117326bad83308e40d4a4bb63a9ceb3b50713c308c4f0645f957e311f2d4c8c22903f2ac76ed12beb5e97798041048c21903c38cfd159fce0f1263184402ecde858178dd7d81104b2eae7a015f1915a0ec40002e671dfb5262573e1ee1d8caa6adc25dd7835c60f485fe31feb2433f4b289e103d2d7d2dd76fb536cd80b52ae6dc76c547941ee1ca7209e7bf3c715dc0529f7895a5a8995f2e90b5df475e9b61d91d2dd99a61f654ed157dd5b197c918b7ac117b8204bfbe738b68cebed5fdc821cda798c6c7effe81eb405e9ce3edc7dedf4702dc8f93bbeaa2f44574a2e2d481f9e63288fb6c3d4b6ce82341d65dd62984b8bf19405e1fbfc4a4f630eb713c682181f9f623bf2fb388b070be289cf740ee36cc761a9cc57903eacbd4ca58a164bcc74857dd10afc821584bbd1ef0e63a5bd7cd5812f56f1832f54418c0e374609c94c2ab8e938e4850a16d5d75dc117a82058f8f0ac0ecf18e2c017a72076f8fea1d7f2a5aebaf1812f4c51bc765465b5c94b7c832f4a41489f4ce21305f4922087fa24e9be39ea4c964890c358c7d17f889f0a2e24c83987fd212a69e47cdc238817638ca9830e23de760429baad5777d66804398c1e051da93ce2a931821c6a8723fe537f9ab34590737c97c22b96c5fb1461987c47c6dacc85acbd48fd7afcf8ef46226a021f68208294644e7b35e66097f32a681c827c1fbe3eb4eb1857fe8621c89df2aeaca6146231d728c4350841cc1d33e5265f52d31804351a8220e75e6f737f8fbdb32610a4fa89768f37d5c3b40082fcb62376493ddf8fc71fc8721e4e74fa68c92a7e20c60fca2d47a1e952d0fb40ecd81e7a1056295c6ef940d8edfa4edd91c163dd0339f525eb94e3d0033979a8b8f6ea7f15be3c90d7b2dec689d6b8390d3c906af2bf8279576bdab803a12391d6690d99d2d2e0861d88398751eba33aad8db5151a7520fd07b6d7a16b4cdd52131a74207efeb8c34d9a3f2e538d39903a3e8e74f9d1cbb9d39003b96298b8a49b6bc481e4794ae432c394c5d5800331cc333f7bd96b68fcaad078032966584c7109cf9bca181a6e20f4a68f29a679781be7461b88157a374b2e6cf228d96003c135d6a5d490ccdb35d6409c4c66def6f1fe1f35903c9ab8477fe4edaa69c8425b3a3a3ca6bb5cab061a8815cd56c5aa63d3f31b6720745b1ad7deff9079339042a8bdd8071ea7c7944619c83d17334e6655cc151b6420e76e654e2b1a2ae6c61808db31e7af6d4cc92b622084fec5289f5219d7698481e4d1abb9dfc1e40773030ce4cf1e5b2ab395e4958d2f903cf5e8585d59aab8e105a2fe5dd8d496a3b9cee90249fca3ca0e22eb994f2e90677eb6f43b6b55885b206b9ad8e4f1e37a95b5408eb2a9ce3bfa14f56b64811ca74d5ea5634a692ceb41030ba4b2f49a4bad92ae88998d2b106a454c2d85cada519b3f685881589a3564bf75ced24a6615c8c1e547ed141a5420e58e33b1b99a3f301b5320ee6876ad92b4f9d436a440ac8b95ce63730e9f0e661408b79b2b2ffde8e69f0905424989cf9bedffdd7e8d279023575efbc2c3a6f61a4ee8461308fbfa752995abe6d79940e893d69832be644dbd0452c797cd7cbaaaeeb012486d1e77fa98c3dc1fb3492097e694c79fc25ef68a0462b95525edef6ce6e211c8dd79e9d43e791ced6c0472d8e01ab4d35e884ca308240d1f6f21e27e9b412402a9a62de6241ab358ce8d2190fef25c5a7be7389923b32104b2a585b2a8f6fea01104e29684e6b7d061fca0328306104833d6a12dc555b02caf0f1a3f20c807aee397773b6d0d1f90b5deaea3e83874d1b317a4d498e2c598c34f23222fc8977a7ee2e338dc94258c5d1037cdb537366a0e2a9818ba20c7ce5d59af98db3e0101231764dd8d2936f5c6fc6d110317644da936bef4767acab90539ead4141fa9fe8e2d040c5b10329368465d8ad6297a570b72e81fdcc776173ac58e3b5a903d58ace657508f342e02c62cc8f5a1ff2968e550d4c69305393c675b0ea42cee7b170b8305e936435d755c29e63463bc02c315abc97dc6769c66a49aed9fdb7a6bfeb86afe0d305a41f28dccfff03ed2cb1c56903ace719ff2485ab65f05a983a486b6643b9ac750454de00318a9208ddbfe5c4474edc7810a72e89e03b152d3bc9c53903c5477bbe5fcce14c4e8f125f70f3e34c35e0ab25c6b46654731d59714a4d0d93967864de93f4641ba5cf9a2d467e64f0c51903beea0b339e7d1a0628482fcf9b7a5d75af3642460808218c2925ef2b021eb0f303e41ec1dcbcd6afb213c939e20e559ab358f2b85170ba313842ff73dcd51b6b474693138511308800f3036418c1fa91d4fdd234b0c4d9063269ec7717082dc61f4a0a2673f63326313440d1dc7ad50d1f192675429c8d0446622f1c8afa354b1634c5906267029f7acee90b9b348b34ae9bdeb6561e51dd69720c6fd8c1fef1c675a2fc312c4f50e7b3b56e78ab75620a3124b899ac0073226410e6e79722e7b1cce90042934a2eb5a23435d8bc4b953fc47fb8e0c48906c2db6bf7568e9ed331e61dbaa69c5aca6d9d53ac8700436821cbdec54f830827c9d392ae9bc0872c7f379f155efe7a208b2a4d6645bccdc6b6d22c8eb97a2e53887f4bc2222883976c7e97154ebe61e8224aa6d69b9d79a473304c13cfafd78a52e232f0421ee3dd80b1721346310a40f2ec5ba72c54a1d1982d88c4090350549b1d71c4c3b2e0310c4f8482b75d86db6f7fc8194a3e4de9deba3601bf70339850fc6c2db7d20a8ca87e92b3fd836990fe428efafa5f678369a9bb187cad04365e4a133f0401a8d6fd6e679b4257307f25e4747ab9543b9f5b0033107b138fba1050df6d6819496ded663cc29771ce9407adfe06a1dc71dad52c61cc8d5398cc97ed87d94fb21430e84680b93dd1cc7ac5e00fe901107a2476db4566973730719751f828c37940c37d40932da40f8cd6ff9129d742d9ec106f26e595ee6d31ccdce58032969ca5cdd71ed5e5e33d440ce397d58d11f871de62f0d44d918365c77ec398a3d1a88651e1a191a3f90b19c81fcf39f8371ed0c92310379d6e6e339a30cad4b5c544ab48ba875f87c7c1d7e78a9e35132830ce4545933578c5e6320b76d1962283ef0347f9f635f8c86a14b1d079766473c94ca90010652cbd67aa8607fe9de2f90e3a0217ab1eba16d2f1034871e25e3affcec02d1e2996b0e5b6d1f65820c2e90925b3eb1a81ce666f545c616acf8fab42849cf12356590a10542a5ced19dc5b93f3f230be4fbdc0f437b4aa13c8e05a274da964f781897d68c2b9cf261c7f8f56b1e840c2b9063338b96831606e7818c2a106db55ddcaadfab11645081b0a1364485e6787ed81476fd9ad3cf89d6609021058278276d4bef71bbc30419512045bb5db08810d5110ae40f5a9d3fcf75e7fcc1ca2a41c613c851e5eeb88299bb744a6638816cd9153a1ec9329a60194ce873986bdeb22d6d55487390b10442b65d5f9a1bffef1c2574192ba6d26da172adce202309440bb93499a7639bf1c84002e1e347fd7039d8ead81f8114fc3dcc6e9a6fe39661842b0239e7d0b1ec6ff858fe25424dc0338640dcc8cba18c7aca1f8d1942b08c20700610081f9ab6c9e36439c63f20755c8f6ffc16d7337c40ec0ea437c59cec05e1e3b81435a5062fc839b6f69c72e6b2f868eca226b00d5db0aa36e6d9a116f1dada51ee9cf9e3cb4da3c9462e4895339e1b2eba32e7714138730f7bfe672aa4780b92a630b995a3a55ac81ab6206e4ea7ba91d69efc6fd482a061edac7eac92741ab42075ae1c9ef8a767412cbfb4a9bfa452db6bc8826417a29e55472ceed288056963d414de2d9679d4d18005e9fbfc2ae7784dd6d37805318947858e5b34cb781aae20e4a75c8b6bef8e528d5690657f63c6d2b7fa206705a9a3fe98c287b926e76aac82bc51622ce25354417e93dfcaf38f634cf1462a4851cc47e55b3e7aa0821497164243731c7a7e1aa7209847df91a26b1111374c41f6e9f8ee7b7ceaeb4629f8b81493ee181fd3200539ded03d99b28558888d51684314e4388a1d7bf7b3a6c81ba1a0460314dcf8c4353c41ae781ecbe328dfe6c0d209a2ba97bfd8e5dccec19c20a8c64ecd24bedafe268813db72fb21af47d486268892f39a16a2a091098275e84c96e25bdedfa8334103137909c2db5b8eca3cee86281b96b04a202588a51f85ecf6f8f43d93207cbcdc776e555b03113893809204d2c81ec07ce5203a14020f70400102a08343020a0840022ea08000eca2030d5880050050831a1c1320800026508000b80ddcc880061338000006c08004340e40d24c1dd21d6559b9c6aa61be4b041e094824c01f418a9feaf34972256674045964266378fe9a9d18f04690e62dcb957b1c6988c60862be0c91332b7515fa46a36f8017f0451819c0e0068a683412e08940802382706f715356b6dc1a5c431cc00b4132f548c73b8ed7ba03579d10e48ce979d62f7c347d1064cb0a9229c74c770dae800b22103a984181c1c3c0000e08b24ae64b6144fd0329723ffe8fdb611ab8dd80fb81982d46d3ec71367ebc0fe4f78f2bd59aa3a357fabae07c20751c49479ab5e539f687f80f2ac1f7408eb31e3313d7dacf1f43c1f540964a1edf6efed9e3b2e0792045f7eb9c6e315ef01e0e8e0752c7cfe3529f23f7cdef60a4cc8885859c58dd566e0762f2f4713cab3a95eee17520be6bbc98345a574a9b11381d085b551319d361e618b53283cf8128b7d11b31225ac32e003e703990edc3ec9bfed0d206c6c0e3408af39a1adbe4a394f60e07e27b10d77fbbfe950bfc0de45ca932d6cadecc8806770329eb73b4315556953610b3f4a795aea0652fc9c0d9406affe824e7adad73dcd1c0d740bcd07761de39c8b877960d5c0d4435cd297667f28a4dc1c0d340b6b5bc192f4d3e85be1b541670349056375b7ebc1f6321c4ac5648f8194812156b155ba3d43bcecd80032f033a19889d3e4de730a59c9d3506e25b980bf7f1ca454a1703c942bcde3bd06b8b8781e06dfa293cec98f23d07436d5936b79119dfa9ff5e611a3e26abd14be05f20e69b72b5320d1ee71c4706f702297ffa9d280f1f77a683e05d20f7677d87cc31658eb39c0be4faccd9ef174c3f7c0bc4b0bb7143534b5f3afe816b81184b83c7d1dc47bd69028167811c5c7b38b56f1f37540e3816c89795da3f4afe39e9154872c925f263a6ac7432490ab815c8d26172a271cb6af62a98fa5192f57819c32a3815f498bfc2759ae5668f059fc2d26130f3f01a7495c1a5e0a7d118e16178da57f02874d959bcf3a283d76c3614f8cb315e7558f4fafd095b488d9d5c6366b4cbdd09b85cda288d2b0f51f126149a792a5dfa8e3321cbb16c435e3637ac15f8128c359b97f9b42edd9c5c498ffbf61e150c5c09844a6173f4581653c434064f422567e5b562696fe9eea7f9e6a2f295e6d191400aeb53296a70f9dab3d1b80cf811c8933e29ffb1b4a8df0d6b64b911d08b40cee6ffa1a7ce5ade4c0b9c08e643209c747e9c8479e85abb1008d531955d571e04b2da9b775ef4dabc1e0824cb0e2eaf6d8ee172f41fa4fb8098e15fef29876fd978835e10befb634c29697eb20e5bb58017a4541797be960ebcda052965787df8cd528ff337d00521ac74db2b4b53eeb305b920ae6df4dfb6f94ea6d50a9e049b810b92647f7be8c1afbc7c1a5479818c5b902da46f2aa9f71bad10c8b00529468fe4336b140df56e35b26ae186f49cfcf3c0a5c60c5aac1a62a72273675613d95a9efa3a7c5697310bf2ca079a2a42ff7aad2a0e031644204316a4bf159b973feba0662c8829a9851eebd8833c0316c86a58c6c776cb74c7f60a72ce1cae207820a76a972ce554cd6805413a75beb3f52ccc19ac20587291fee9ac8218e4c303a98f3d7fe0ab82f86fd9fb73ad6b4e4b2a4893da191f34c7dbac51410a351feeda5a65bcf02908761fa5bb50fd71eed614e4307ab4f1615e7b7bb414c4bce2361da4f3f299a420a7550edf552bbd8739a33806aba88ee286d33c431439c808c57597365898c5e4bd01852ef261677f698796ccf8847a62b3582bbb2997750dcf4490d10942e7a5b0192a1d848da89375922c8420080182300c023144b61f43640830100c209344429170204a022d8ef40393702071491c10048340206008080242e12020080484c6200882600cc5501804311228d51e99b46943f00e7d95c67dc46a9f1ca434fbcfee03450ea2c2425aa511b97034225fc879222f345749f8b32a53f7ed698d7efb6ebdeb1162d768c811ac274ed68d871b85e23950330b04d03084487bf5567ee32cdbd1fa6624178706c17c8c206a57ff821ef212739dc005caf63d7c0d288b2878d33e3c5f20190492fb324a087ccf51ba281be23d00e3d1f2e1e638a81a55f43717486405288ac6589b165773e8d2353cec3a078e03cf4c649b5e9885615931f4202212f5c2c4bfa598062703c8e0200b34c1f5631cf9b874efb14f983184f14933bf03b870a374289c8a63d1506305f0eb60bb88a613b12abb25dc8111434530668fcc39657c7a515b46a06f489f5bce789655d82584dc3e9748b2bf5cc5a9f662b8c8fcffc3ae767536974be0c901c440b99ed53c3901938e861ac0277a01f9b353b5ec617dedeec7c52ea7e69f65e7ab8d8c99789ed5c764d3aec457f79e62e152a6d925df1623fe3bc0f746a57235f24d99c53384c922b638422c567e32c16f70adcd42ed9706f6349803458072214ebefba10283c3cd44911f9bdad5659078b97f6668cdfef677296cd9e71dff413779ef893184fdc4aba2610e51f16abc9c574a1a97ce478068dd6df981b097e82fe7f90b7e3b0035644255ab66176cc6e637dc5db34c8a3181028425f85247104218fee7126e8b27ec6387f0ec4ddd7e233b3fc0d764b90592d80a1693a90f11cfc57adbce8d94056d6bde5c1896616c1a9c96a6ee0121722375ec15535b602cc98c78e8ac7c2e575f84e7a24136f0b2aff379b0c936962dd51d8c2ef3ea36a1847b9349750662f0d93b149389b219227223643299dc1c2291c7994c04a93a69bc7e8b16a8d440fdf64e50afcf91ec893b5d5b9cf1bb6862cc4fca5692dd5a2202f9c96d26dcc09f9d77015d86c52d48a5f16d1a77b5d877bf6c4df4111835c356708cc3d9d7391a866f1a2b6332dda31dcfd097234a3991f8a77833214f293180882b97b81e14850b634391633445e167d388de08c70290cf88d77bad6771130378912cea63b9d4bf63e30cb61a5eed556386037fb361622385c48420e4e16097753ccad3c1840d30f0ccc18723b74e0b52c1ca0aabbc4f2edc1e8824fdcd36294408e522dd118d29ea7a83a98d359d7656ea3b1cbbd47c7b78b18499389a219de528a439b0af619b6aeabbc0368e160ac13d2331f9e18b7c533318099cc9a2e025e8a9e544398ad3eb0f52ffde02d332a7d7c188dded172cf9ecc8b1b703ea5f0d3291eab1e464bc73c492a51359bab6cd0bafa7dfed4ecc36dafe06ed8bf06289f70afea80fdec140e1daf462172c42e8284f4954755c891fbea973ba42c1952bd7f662d1ea80895577e31e7d0bbc9d35b414565011385275cb0b16a9c203925c3738f000c292ea532257477a91e7e8e4b14ea40157f328ef2ef5bc4437db4eaf91b423b32c98d811ac45eba7a314ba81abda649ec708f3a59399dcc1b025ebe62a3a53408c962419c0ccb5966bf7e7b24c99588164033545d097239ca18cd3ad333a82a8884714935391155119fbd57168946c70b90a283764edd2dd75d5d5a6bafad191b2ab8dc24a8be3cc4a45e1802ba55df6b632367e06040ab321716d90aba7792e62d0c5967516026c836608ed52873624f952a5c8abb3ae9c2733262139175789ec311c269c59810ed2f4a567b016940c84e7b12cf37dc1ee8a0503dd6867659b84009d20c9961f167fd12ec1863f68868abf3199b378a65c5e4d9b0608aebeff638341e5f20aaa5aac88d86199ba7dfb73ade4ecc79c8eda96c616fcfdcbdb198754e08e78e03294dd2834909873ab561d95d79f36d5dc7b5fbe1063ce79216c07cc2bef1eb0d9cc5b1ed9597554b382005d9cd06efdf9e31a6d3d65688ad705dabca9c77469e7b027732630593c58af0d80c40dd41f28e0a70037904ba646fcc691e31f1e57abe1cd06f168a91805fa88163d7d65b4ce7b4daeb6fe0d14a1b111e278e92e15e278874dcae358efd4a62250831bac03cab7b220ad32d5d13406fec00d5472b7409f56af3b629356018bce5714282daa95276d9b1f29e225e6bb4137b89032b38754138fd579d8a51b5461e210441ceb26315c17a0b9345e3bd444aba7bb64c82287b6f818e9cdaf898c23e04a888c0ba482cdf93917766d138ae317847c652538702b0575370a550b4c7bd309045f4aa099b281ffa65123e17cc501c3f775228b9734b19b14af972fd95e8b6228f1982334abe81a1d7cbdea762ff9d9994fcc9d5b7996a481fbecec88cdec1e9926bd781b2e3135c3338e2ef2531de7d92cda9c5ba1611c18f3225644ede4cd4807f405108ab37aa775db7ca4810de5a710f74d5e9b82bcae92b4c1fab1005122edca0e5bbee40164b8203e11563ca09aa4aeb51a9993f4b562aa2c02790968c6d181668c858e86614ca20c9cd2245dfa70ea627168f889a298db33d677c2e42c762bcc97eccebc4089b54f9217cd20d0f4b503dd487483d1800aa50322df11b9763ff4f4852e484ab7af640d0cb023e6546c78a8b8cb9d8062b0975c21f297967ba7e1822abb59da20b08895043450da4070f33a379a750195916de0b70de44877857500a0ba59a02a5f333d52462aa2cc01f84c81802464a8de3424476eccc084ee1a76988da42bf055767b193fc7e2663d036d1747034d45ba3f2ec7b2efb52ad4f227b9caef20420b0ef9085ae19a09aa2c185074cdb12f484afc1899dc57a664457420edff47a935d68754c58ad1d0abcebbe19e8911a619372d394f3def21b3fb67d602034d15537238ac0dd6aae1342cf45584a420d23b311a557b6ebb67b4a28d0cf63808c832ad5aaf142b18fa12c5d5df8a7843c7caf85a2cacdf92afcd2f9601c7a090b6a80bf7c101ea14e2882da1e65845181f2a61dfa6d035ae20ac225a405dbf0ad23830bafffd3b48564209a5b205224b07032daca4d4eda78b04e37c2f24035e6f9431865282ea334bb171fca8eb6bf1ce3ff43a523297ec4197700a1f9109ebd13370c2852b46171f5634ed9d9933871aab74733be2393966694e4b14f3cac2ea41e59c4ea2b238e89b4c0c1ac777db1b69e7a5a85b22bc184d4f702e9551f55c9f17a614d3e4195b6114981599d56c842f6520765e0748ddd2239f396255b05e017df0d1e382a57f20c4bdd559ace4bc110414a541370d57f8a8dc2cbbd4949639a3e768316fb4848e8b5416aa9cb1d63d1223cff68ec2b9315a164ccc0a7abaf4dfb9f2aa16daa832bde84ef9bd8d225a05ba155fafe36c9ced3294b52860d93246fc45b7dbe28032a68eb6e17df7270b035dc02dddc019a6c5a535f701433bc71729c2153e68282bbdfd57a7d7b32bba99f4434af1a89874ecd5e8de9732ed93f4ae3dfc4c575dd8a15ff4bbe619b1de82e4aa2cfecbb6736ef5856fc13d4badcdf7a53243be8002513bb4337bc6bcf09d505016f25bca1f59b54433f2380cc1e4221aa7b1708c0194b8d5727abf8213b31f1dacff306dadc9433577578d7a03f10589015ece52130723e6d03ab69c330e73116a09cbf11dc085a143869420e7bd3d66471c92f6fafcf82a3c0879e1c92b6f74cea81e4b28a4536007ea885bddfe077a4a809f7e9d650ec6537c0093cae16101718080982918de4fce8f1b0b5a655c207d83330a6cc9de0b347ad0911131684290f5a826a435f11af1bc1fd0ea687031ff26029a4184a011381261102687eeb260950295db77a025816203aef0a7f926b7fab040954fd998edbeaf41f1d3988ab9d340ebbbc7ad462fd65c026c32097222c7b17c8d9b0cdf3834edf660b748989b5268464e97c6410436f5305804a5614a7c978a7bdf93f8b0dfd4ae910d40c72ce4722a4b67c8e56f94f09900cf558c6c6c81e04a827cbd35dea41b8cbe61c24e24cb82ce11f03322fc10f420944e897c58a02a8378294c6efe6fd22d0b405f8b3336f5f4809b9f9442c1f209f10c2e87e4d6e2825dd4073a0c94909e366b7820525326841840ddf1b975a355d1ab422e187a38a47b36e5ddac9011aa8084f0903e81a70b696b830111b7072e3ed28ee566068d8de6d7125ef86c3a16fb4b270edbad6747cd1721428285c7179010002b0b5cbc0131402ac26aa225e075e585484168d1b8122d82d6e0161c22bce89b99a76289cb9ecffb4e731eaff6ec2b498e0b527a9ce5e8c637c462bc53d62bbe76aa8ed5e618fd40bd07c864c772f707b530696cfbdc3e53a90ca212a3cca06f1d72d943bceaa89df3aa07b9eb03eb1922535091b3d17fe700d9565a40e9988b491cef376ddcd197db2c3e044fb61745ae39e4912cf72d4f89cffaef3d1d17fc74d350a347c2042c9af54c9ea027c22d2beb35bce52107539b6792a30380d26e86ebaa53f4d37eea9d4a67fbb372c02693a02e479482b8431c3f6064db9383ae2d6411d23eed02981d67f104acfb565e4eb6e63107b654865c1b3525ac087af6e2ee8024a19d8841ff90129dca6fa494f3e7de3c5441a3e4dc281f5c51c87f2c432b478e11f84bd995e5bead259944c94d8791362211d66caf65cd49b620337dcb8d872952e8765341712b15bee3a820dd5385d1015461465962f7a57c5ddff7c833bbf78f50b59de63f4377d944df4203124bcea7ab46451d215bde86b508dd9d372341f5ab6c068b089a0be8c780d2227cf0990fb137e7828943f10219a052e514dfa1a453b1922efe499271bea29982f792a819efa92622f5fefcd44cfa2be0452378ed9d0316", + "0x3a65787472696e7369635f696e646578": "0x00000000", + "0x3d9cad2baf702e20b136f4c8900cd8024e7b9012096b41c4eb3aaf947f6ea429": "0x0200", + "0x3db7a24cfdc9de785974746c14a99df94e7b9012096b41c4eb3aaf947f6ea429": "0x0400", + "0x3f1467a096bcd71a5b6a0c8155e20810308ce9615de0775a82f8a94dc3d285a1": "0x01", + "0x3f1467a096bcd71a5b6a0c8155e208103f2edf3bdf381debe331ab7446addfdc": "0x000064a7b3b6e00d0000000000000000", + "0x3f1467a096bcd71a5b6a0c8155e208104e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x3fba98689ebed1138735e0e7a5a790ab4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x3fba98689ebed1138735e0e7a5a790abee99a84ccbfb4b82e714617e5e06f6f7": "0xd0070000", + "0x426e15054d267946093858132eb537f14e7b9012096b41c4eb3aaf947f6ea429": "0x0200", + "0x426e15054d267946093858132eb537f1a47a9ff5cd5bf4d848a80a0b1a947dc3": "0x00000000000000000000000000000000", + "0x42b50b77ef717947e7043bb52127d6654e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x47c9410b11325752265d54845357656f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x4da2c41eaffa8e1a791c5d65beeefd1f028685274e698e781f7f2766cba0cc8300000000": "0x1003000000010000000000000002000000abc3f086f5ac20eaab792c75933b2e196307835a61a955be82aa63bc0ff9617a0600000010306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc208eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22000000000000000000000000000000010000000100000000000000", + "0x4da2c41eaffa8e1a791c5d65beeefd1f4e5747352ae927817a9171156fb3da7f00000000": "0x00", + "0x4da2c41eaffa8e1a791c5d65beeefd1f4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x4da2c41eaffa8e1a791c5d65beeefd1f5762b52ec4f696c1235b20491a567f8500000000": "0x00", + "0x4da2c41eaffa8e1a791c5d65beeefd1fff4a51b74593c3708682038efe5323b5": "0x00000000", + "0x50e709b04947c0cd2f04727ef76e88f64e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x5c0d1176a568c1f92944340dbfed9e9c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x5c0d1176a568c1f92944340dbfed9e9c530ebca703c85910e7164cb7d1c9e47b": "0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", + "0x5f27b51b5ec208ee9cb25b55d8728243308ce9615de0775a82f8a94dc3d285a1": "0x01", + "0x5f27b51b5ec208ee9cb25b55d87282434e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x5f9cc45b7a00c5899361e1c6099678dc4e7b9012096b41c4eb3aaf947f6ea429": "0x0500", + "0x5f9cc45b7a00c5899361e1c6099678dc5e0621c4869aa60c02be9adcc98a0d1d": "0x1088dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee0100000000000000d17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae690100000000000000439660b36c6c03afafca027b910b4fecf99801834c62a5e6006f27d978de234f01000000000000005e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d90100000000000000", + "0x5f9cc45b7a00c5899361e1c6099678dc8a2d09463effcc78a22d75b9cb87dffc": "0x0000000000000000", + "0x5f9cc45b7a00c5899361e1c6099678dcd47cb8f5328af743ddfb361e7180e7fcbb1bdbcacd6ac9340000000000000000": "0x00000000", + "0x638595eebaa445ce03a13547bece90e704e6ac775a3245623103ffec2cb2c92fb4def25cfda6ef3ac02a707a7013b12ddc9c5f6a3e1994c51754be175bd6a3d4": "0x01010000000100000000", + "0x638595eebaa445ce03a13547bece90e74a4aebd4fb28ddd34de9226f0abce9049599a4a217cb299f0997b3a8d645fb8a91861527a0ac25b4e1454f7d27b65927": "0x0402d007000000e10000", + "0x638595eebaa445ce03a13547bece90e74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x63f78c98723ddc9073523ef3beefda0c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x6786c4cec8d628b6598d7a70ace7acd44e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x6a0da05ca59913bc38a8630590f2627c2a351b6a99a5b21324516e668bb86a57": "0x00", + "0x6a0da05ca59913bc38a8630590f2627c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x6ac983d82528bf1595ab26438ae5b2cf4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x6cf4040bbce30824850f1a4823d8c65f4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x6cf4040bbce30824850f1a4823d8c65fc0b63be5c0d20cd4fb30d6156c3a3619": "0x00000000", + "0x6cf4040bbce30824850f1a4823d8c65fd8c8f17890c80dd71f67ed6c2cc701bd": "0x00000000", + "0x6dd12b3ae7975bb95f841f4505bc193c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x7474449cca95dc5d0c00e71735a6d17d4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x766db4ba8216432c445dc77e9766c08e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x837adc8a2ac1180ee049d9a9f6a5a6c74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x8671567f6bbc0021f6f23105f33002a84e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x89d139e01a5eb2256f222e5fc5dbe6b34e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x8e3057e64aae0fe1c91f7bceb3365abc4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x8f32430b49607f8d60bfd3a003ddf4b54e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x928fa8b8d92aa31f47ed74f188a43f704e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x94eadf0156a8ad5156507773d0471e4a16973e1142f5bd30d9464076794007db": "0x00", + "0x94eadf0156a8ad5156507773d0471e4a4e7b9012096b41c4eb3aaf947f6ea429": "0x0300", + "0x94eadf0156a8ad5156507773d0471e4a9ce0310edffce7a01a96c2039f92dd10": "0x01000000", + "0x9c5d795d0297be56027a4b2464e333974e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x9c5d795d0297be56027a4b2464e33397f43d6436dec51f09c3b71287a8fc9d48": "0x00000000000000000000000000000000", + "0xa0eb495036d368196a2b6c51d9d788814e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xa2ce73642c549ae79c14f0a671cf45f94e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xa37f719efab16103103a0c8c2c784ce14e7b9012096b41c4eb3aaf947f6ea429": "0x0400", + "0xa8c65209d47ee80f56b0011e8fd91f504e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xb341e3a63e58a188839b242d17f8c9f82586833f834350b4d435d5fd269ecc8b": "0x1003000000010000000000000002000000", + "0xb341e3a63e58a188839b242d17f8c9f84e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xb341e3a63e58a188839b242d17f8c9f87a50c904b368210021127f9238883a6e": "0x10306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc208eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22", + "0xb341e3a63e58a188839b242d17f8c9f89d1fb17def62216d598940d64654f69e": "0x0000000000", + "0xb341e3a63e58a188839b242d17f8c9f8b5cab3380174032968897a4c3ce57c0a": "0x00000000", + "0xb8753e9383841da95f7b8871e5de32694e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xc2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x55607092160dc51b0000000000000000", + "0xc63bdd4a39095ccf55623a6f2872bf8a4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xca32a41f4b3ed515863dc0a38697f84e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xcd710b30bd2eab0352ddcc26417aa1940b76934f4cc08dee01012d059e1b83ee": "0x04d0070000", + "0xcd710b30bd2eab0352ddcc26417aa1941b3c252fcb29d88eff4f3de5de4476c363f5a4efb16ffa83d0070000": "0x8901000000000000000000000000000000000000000000000000000000000000000000e50dff75e41f6f4b4ac02d866fe7e0f538d402b3df47a6761267de1f97cc9ab803170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c11131400", + "0xcd710b30bd2eab0352ddcc26417aa194281e0bfde17b36573208a06cb5cfba6b63f5a4efb16ffa83d0070000": "0x02", + "0xcd710b30bd2eab0352ddcc26417aa194383e6dcb39e0be0a2e6aeb8b94951ab6daeb104694ed8e0636f6d3069c0f8caa001849fdde675c7e970e45aadd585cc4": "0xe2f9b3000061736d0100000001b7044560037f7f7f017f60017f0060017f017f60047f7f7f7f0060027f7f017f60077f7f7f7f7f7f7f0060037f7f7f0060057f7f7f7f7f0060087f7f7f7f7f7f7f7f0060047f7f7f7f017f60097f7f7f7f7f7f7f7f7f0060027f7f006000017e60067f7f7f7f7f7f0060000060047f7f7e7e006000017f60037f7e7f017f60027f7f017e60027f7e017f60027e7e0060037e7e7e017e60027e7e017f60027e7e017e60047e7e7e7f017e60027e7f017e60037e7e7e0060017e0060017e017e60017e017f60037f7e7e0060037e7e7f017e60017f017e60027e7f017f60087f7f7f7e7e7f7f7f0060037e7f7f0060047e7e7f7f017f60037e7f7f017f60057f7f7f7f7f017f60097f7f7f7f7f7f7e7e7e0060047f7c7f7f017f60037f7c7f017f60087f7c7f7f7f7f7f7f0060067f7f7f7f7f7f017f60137f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f017f60177f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f017f60077f7f7f7f7f7f7f017f60097f7f7f7f7f7f7f7f7f017f600a7f7f7f7f7f7f7f7f7f7f00600b7f7f7f7f7f7f7f7f7f7f7f0060087f7f7e7e7e7e7f7f0060047e7f7f7f017e60047f7e7f7f0060027e7f0060057f7e7e7f7f0060057f7f7f7e7f0060047f7f7f7e0060067f7f7e7e7f7f0060037f7f7f017e60077f7f7e7e7f7f7f0060057f7f7e7e7f0060067f7f7f7e7e7f00600b7f7f7f7e7e7e7e7e7e7e7e017f60027f7e0060077f7f7e7e7e7e7e017e60027c7f017f60077f7e7e7e7e7e7e0060057f7e7e7e7e0060047f7e7e7f0002eb0d2b03656e76066d656d6f727902001603656e76336578745f73746f726167655f70726f6f665f73697a655f73746f726167655f70726f6f665f73697a655f76657273696f6e5f31000c03656e76236578745f63727970746f5f656432353531395f7665726966795f76657273696f6e5f31001103656e76376578745f63727970746f5f736563703235366b315f65636473615f7265636f7665725f636f6d707265737365645f76657273696f6e5f32001203656e76256578745f63727970746f5f737232353531395f67656e65726174655f76657273696f6e5f31001303656e76236578745f63727970746f5f737232353531395f7665726966795f76657273696f6e5f32001103656e76296578745f64656661756c745f6368696c645f73746f726167655f636c6561725f76657273696f6e5f31001403656e76306578745f64656661756c745f6368696c645f73746f726167655f636c6561725f7072656669785f76657273696f6e5f32001503656e762a6578745f64656661756c745f6368696c645f73746f726167655f6578697374735f76657273696f6e5f31001603656e76276578745f64656661756c745f6368696c645f73746f726167655f6765745f76657273696f6e5f31001703656e762c6578745f64656661756c745f6368696c645f73746f726167655f6e6578745f6b65795f76657273696f6e5f31001703656e76286578745f64656661756c745f6368696c645f73746f726167655f726561645f76657273696f6e5f31001803656e76286578745f64656661756c745f6368696c645f73746f726167655f726f6f745f76657273696f6e5f32001903656e76276578745f64656661756c745f6368696c645f73746f726167655f7365745f76657273696f6e5f31001a03656e76306578745f64656661756c745f6368696c645f73746f726167655f73746f726167655f6b696c6c5f76657273696f6e5f33001703656e761c6578745f6d6973635f7072696e745f6865785f76657273696f6e5f31001b03656e761d6578745f6d6973635f7072696e745f757466385f76657273696f6e5f31001b03656e76226578745f6d6973635f72756e74696d655f76657273696f6e5f76657273696f6e5f31001c03656e76206578745f68617368696e675f626c616b65325f3132385f76657273696f6e5f31001d03656e76206578745f68617368696e675f626c616b65325f3235365f76657273696f6e5f31001d03656e76206578745f68617368696e675f6b656363616b5f3235365f76657273696f6e5f31001d03656e761e6578745f68617368696e675f74776f785f3132385f76657273696f6e5f31001d03656e761e6578745f68617368696e675f74776f785f3235365f76657273696f6e5f31001d03656e761d6578745f68617368696e675f74776f785f36345f76657273696f6e5f31001d03656e76226578745f6f6666636861696e5f696e6465785f636c6561725f76657273696f6e5f31001b03656e76206578745f6f6666636861696e5f696e6465785f7365745f76657273696f6e5f31001403656e76196578745f6c6f6767696e675f6c6f675f76657273696f6e5f31001e03656e761f6578745f6c6f6767696e675f6d61785f6c6576656c5f76657273696f6e5f31001003656e761c6578745f73746f726167655f617070656e645f76657273696f6e5f31001403656e761b6578745f73746f726167655f636c6561725f76657273696f6e5f31001b03656e76226578745f73746f726167655f636c6561725f7072656669785f76657273696f6e5f32001703656e76286578745f73746f726167655f636f6d6d69745f7472616e73616374696f6e5f76657273696f6e5f31000e03656e761c6578745f73746f726167655f6578697374735f76657273696f6e5f31001d03656e76196578745f73746f726167655f6765745f76657273696f6e5f31001c03656e761e6578745f73746f726167655f6e6578745f6b65795f76657273696f6e5f31001c03656e761a6578745f73746f726167655f726561645f76657273696f6e5f31001f03656e762a6578745f73746f726167655f726f6c6c6261636b5f7472616e73616374696f6e5f76657273696f6e5f31000e03656e761a6578745f73746f726167655f726f6f745f76657273696f6e5f32002003656e76196578745f73746f726167655f7365745f76657273696f6e5f31001403656e76276578745f73746f726167655f73746172745f7472616e73616374696f6e5f76657273696f6e5f31000e03656e762a6578745f747269655f626c616b65325f3235365f6f7264657265645f726f6f745f76657273696f6e5f32002103656e761c6578745f616c6c6f6361746f725f667265655f76657273696f6e5f31000103656e761e6578745f616c6c6f6361746f725f6d616c6c6f635f76657273696f6e5f31000203dc17da17040b0401000401040b0004060b010b060307040b0606020b040d05040409060706060b0b060f22000d0404060303030206030d030303030603030306020303030206040e230424040404030706040004000425040b06060106070507060600042600040301072706060606060601040401010e040204010604282907040404070426052a2a0604002b260004002c2d2e2f040004040404040407072e02050b0b0b0b0606030606030b0003060602060402060403000403060203040401010101010101060b06060604010b0b3031080b0b0b0b0507070703060b0b0b0101060d060d06030304040b070d0306040b0c0b0706060e0e0e07080d030709050307010b00010001010009090603030707030b0101040404040505060b010101010b0b0601020601010107070707030001010b0b0b0b01010101010101010101030101030b0b0b0701010b0101010107060306060307060401010c06060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060203060d0b0d0b0d0b070b0d0b070b0d0b070b0b0b0b060606060606060603030b03030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030b0b0b0b0b0b0b0b0b0b0b0b0b0b0b060b0b0b010101010101010101010b01010b0b0b0b0b0b0b0b030b0b06030b0b030b060b0b0b0b0b0b0b0b01010101010b0b010b0b0b0b0b0b0b010b0b0b0b0b0b04040404040404040404040404040404040404040404040404040109090909090909000004060104040b0b260101010101000606060b0101010b010106040406060606060606060606040606060604060606060606040606010b03000106070b0b0b0b0b020b060b060b010808040404040404030b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0704040404040401010b06060b0b0b0401010101010b0406010101060b01040104010b080b050b0b0b041b070b01010104010b040101010b0b0b020b01010404010104010b0b0b0b0b060b0b0b0b0104010704010b0b060606060606060606060603060104040401320101010b040b1001010b0b01010101010b0b0b0b0e0b0b0b0706020607040404040404040401010101010101010707070604060b04040f0f01010101010b01010b0b0b0b0b0b0b0b0b0b0404010406060606060b06060b01020101020106040e01010403060703003304000b033404130b030b0101010101070404040404010101010106010404040b06033307033404020303030004060b0b0b010b0b0b0b0b0b010b0b010b0b010b0b010b0b01010101010101010101010b0b0b010b0b0b0b0b0b0b060606060606060606010101010101010b1401010101013514010b01010b010b0101010101010120010b1401010e06010b0e010b060b060606060b060b0b04040404040404060101060606060606060606060606040303040606060b0b060b0309060d0d0b06060b0b0b0b0b0b0b0b0b0b06360101010101010101010b0b0606010b06010b0b0b0b0b010101010101010401010103030406030d0703060607030606060607050705030d030d07060705050b03030b0e03050503050503030706070707070701010d0d030301010603030d0703000b040404020900040b020b040b0b0d0b260b0d0b0b260b040004373737370638070600040202030307060300000b0b0d030300000600070207070d0301070707070902040402070303030b06010603030307070707070707070606060b040404040404040101010101010104040006070402040d0b0b0b0b04040b0b0b0b0b060d26260d0d0d04000100000004390606030330013004010101040505050505050505050505050505050505050504030b0b08080303060607070b060b0000060603030b0b070703030a0a050503090907070701010b0b070102020301010101030303000b0b030b0b0b04040404040d01010d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d04060b0b0b0b0b03030707070707073a05030b040b010101010b0b0b010401040701010b040402010b3b030f3c3d0f3b01020b010b0b0b040b0101010b3e0f0b04010103010b0b0b020b040b0101010b0b0b06060f0b0404040404040404040404043031080b0b0b0101050404040002020004020202040404040409060b040b0b0b0b0b0b070d0b05070b04040b01010101010101090909090909090909090909091e09090904020601010601060606060606000e040b04040e060104010b01010b020101010b0b0b060101010b010e0f010f0104010b04040404040404040000040404000000000000000000000101040404090909090909090909090909090909090b010b060b010b0b0b0112121212121212121212121212121212121212121212121212120b0b010101010101010101010101010101010101010101010101010b0b0b0b0b0606060306060606010b0b0b0b0b0b0b0b0404040404040404040404040401010106060b0b0b0b0b0b0603070404040404060401010101010101010101070b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b060b0b060606060606060306060606060606060606060606060306120301030301010303030b0b0b0b0b0b0707010b0b0b0b0404040101010b0b060606060b03030303030303070707070707070808080830303030303030303131030303000000030307060300000b0b0b0b0b060b0606060b0b06060b0b0b0b0606060b06060b0b3f010e4004040404060606060b0b0b0b0b0b0b0b0b0b0d0d0101010606060606060b060b0b0b0b060603070b0b03060b0b0b0b060b0b0b0b0b0b0d0606020b0b0b0b0b0b0b020b0b0909000b06050606020d0d0b0303070705050b0b0b0b0b0b0b01010101010b0b0b060306010104040404040406060401010b0404010401010b0903070107010301010107060604030101010101010b0b010402010303040e0b040b01070407060607070d0101010101010403060b000604060b040404200101010307030701030101010106060606010b0b01030706060b040401010435413b0b0d0b0b06060b050606060606060b01030101030b0b0704040107040404010f070506010101010101010406040b0b0b0d0d010106010b0107070b04040404040404040e00040b3f1e0407030b04010504040400001004040404020200040000040b060404000301060606040406060b0604040104000606010101060606030b0707420307010606010101030b07060b060406010101010304010b0d040604040404040401010b07040601060604070304010101010101010101063f3f3f3f3f060302030b0b090606090b0b0b030509070708030d070b0b060606060606060b030b0b0b071004040b010b060b070e0406060d0e0b030e0601020d010101060606060606060606060606060b060b01010b0b060b0d0d060303070701060305050b09090b0b0b0b0b03070b0b06060603030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030101060b0b0b01010b010b01010101010106060604030b070601010101010b04010400040b01010101010101010d0b070b070b0d0b0b0b0b0606030603030404040401010103050202020207030b070704070b0404060b01010403060b0b010103070301010601010101010101040101070406060307020606010404040404030b040b060b06040b04040b0b0b090b0b01041e1e000043000000000043444344444443430407017001ed05ed050619037f01418080c0000b7f0041c983d4000b7f0041d083d4000b0799071e195f5f696e6469726563745f66756e6374696f6e5f7461626c6501000c436f72655f76657273696f6e00b40e12436f72655f657865637574655f626c6f636b00b50e15436f72655f696e697469616c697a655f626c6f636b00b60e2741757261556e696e636c756465645365676d656e744170695f63616e5f6275696c645f75706f6e00b70e2852656c6179506172656e744f66667365744170695f72656c61795f706172656e745f6f666673657400b80e15417572614170695f736c6f745f6475726174696f6e00b90e13417572614170695f617574686f72697469657300ba0e114d657461646174615f6d6574616461746100bb0e1c4d657461646174615f6d657461646174615f61745f76657273696f6e00bc0e1a4d657461646174615f6d657461646174615f76657273696f6e7300bd0e1d4163636f756e744e6f6e63654170695f6163636f756e745f6e6f6e636500be0e1c426c6f636b4275696c6465725f6170706c795f65787472696e73696300bf0e1b426c6f636b4275696c6465725f66696e616c697a655f626c6f636b00c00e20426c6f636b4275696c6465725f696e686572656e745f65787472696e7369637300c10e1c426c6f636b4275696c6465725f636865636b5f696e686572656e747300c20e2b5461676765645472616e73616374696f6e51756575655f76616c69646174655f7472616e73616374696f6e00c30e214f6666636861696e576f726b65724170695f6f6666636861696e5f776f726b657200c40e1f53657373696f6e4b6579735f6465636f64655f73657373696f6e5f6b65797300c50e2153657373696f6e4b6579735f67656e65726174655f73657373696f6e5f6b65797300c60e234765744c61737454696d657374616d705f6765745f6c6173745f74696d657374616d7000c70e2b436f6c6c656374436f6c6c6174696f6e496e666f5f636f6c6c6563745f636f6c6c6174696f6e5f696e666f00c80e1a47656e657369734275696c6465725f6275696c645f737461746500c90e1947656e657369734275696c6465725f6765745f70726573657400ca0e1b47656e657369734275696c6465725f7072657365745f6e616d657300cb0e1d47657450617261636861696e496e666f5f70617261636861696e5f696400cc0e21546172676574426c6f636b526174655f7461726765745f626c6f636b5f7261746500cd0e0e76616c69646174655f626c6f636b00d90f0a5f5f646174615f656e6403010b5f5f686561705f62617365030209b90b010041010bec052a2d2e2f2c79303334314253565758595a5b5d5f666162636465546768696a6bbe0172c201c001b001bf01c101880189018c01990198019f01bd01e602e502c502e202ff02c512c602bf02fb01fc01f901fa01c7129b128602e901d7029912a902c402be02ba028112e302ae02eb16eb019002bc02f201bd02ff11ec01ea01e701e601d802bf17e801c702de02df028912e402cb02e902d502d6028012f402f302f502ef02f0028103ce179907e704c412b706b413c912d10ee80eeb0d8a17d011e50ec108f30dbe08e10efb169913bf11f30cd906be0ce20cec0d9b07fd16b90dea0dbf12ca12d80e8b12f50cde0e9a07c6078a12c2088a07f011ef11ba138e07d706d806e604d50eee11e10cf40cc812e504e002e102ba0db30ee804bb02bc08bf08bb06e004da0edb0ee204d30ee104e60edd0edc0ea913e00ee40ee30eb505820fb6059d0f8f0c9a128e0cd905da05b305cd17f60ed405d111d70eaf05b405b306f6068717b406b506eb04df048c17cb17aa13ab13d90ebd08d913da13bd0cfc16bc0cbb08c008f202ba08e20ebf0c8e068d06b206c905cb05ca05c708c807c707c805bd06c3067bcc068905c405e206850faa05f406bc0688058a058605b50d8705d2059a13f111d80895058d05c30887028812b908dd02b407e506ac07fd11b007a605b607c007b507bd07b2079e0f8e09820d8608840eb3079b0f880fb8079c0f810fb107e106c006c107c106ad07ae078708900991099209a505b707fc11d607d707d907f506ea07c710ee079302940295029602970299029a029b029c029d029e029f02a002a102a202a302a402a502a602a702a802fd07fe079802c0059f05ad05c3058508a10888088c088b08e407940891089308c207b00bc307f20b830cd70be70bdb0bb10bb30bb20bb40bdf0bf10be30bf30bed0bd40beb0bdd0bef0bd90bea0be10bfa0bfc0bfb0bf90bfd0bff0b800ce60bf60bdc0bde0bd30bf70b820cd60be80bda0be00bf00be40bf40bee0bd50bec0bd80be90be20bfe0b810ce50bf50bd20bf80b9208ab058908f00f8003b70de916d705d40ed60edf0e96099f08a008f10fd409d509d609d709d309800adf09e3128b0ff9126f840b8a0bfa12a40aa50a8c0bd30ad60a9b109c10d40ad50a870bf307f207f107f507880bf707f607810b820be212890b900b8f0b860b8e0bff0d8b0b930b950b850b830b850e870d8c06af07b917bb0bb90bba0bd00ba90baf0ba70c8a0fbc0bc40cc60cb213cb0ccc0ce70cba0cbb0da701a8019f0d8f0d8f09800bff0e900da10db005a205870f860f950d940d920d880d8d09a00d8906930d9d058e0dae0d8c0d8d0da50d860db80dfe0cde0ddf0d77e30df405e70ed211d605db11cf17d811c612ea04ed16c507fb0dbd11af11f811970e990e800f830ff70dfb0cac05890e9309880e980e950eb513e404d00ee3048617c407ec11d20eb60ded11a00fe30fe60fc90acf0acb0acd0acc0ae40fe50fca0ace0af50ff30ff40ff20ffd0ca710a8109f10a510a110a310a210a610a910a010a41099109d109a109e10c110c610c510c410b211b311b111b011ae11ba11bb11c411b811b711ca11c811d411c911d511d311d911ce11de11e111e211e31171e511f211fb118612931290129d129c12b812cb12b912bb017de112dc12a601dd12de12e512e612df12f812f212ea12fe129213ef12f412f3129313f112941396139513a613c213b913b613b713bf13c313cb13bd13c013c413c113c513ce13c613c913d113d313d513d813d613d713d4138714e213e313e1139814fa13fb13fc13fd13fe13ff13f713f813f913ee13ef13f013f113f213f313f413f513f613e713e813e913ea13801481148514861488148c148d148e148f149014911492149314941495149614971499149a149b13e116f0168917fa16e716e616f91688178b17ec16ee16e016ef16f416801782178117ff16831784178517a0179f179e17a117c417c317be17c717c817c617c917ca17cc17d117dd17db17da17de17dc17f1170aaf998a01da171e002001280200418080c08000410b200128020428020c118080808000000b0d002001200010bf90808000000b1200200041c482c08000200110b1818080000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110bb80808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110bb80808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b1e00200128020041dc82c080004105200128020428020c118080808000000bd90301077f23808080800041106b22022480808080000240024002400240024020012802042203450d00200128020021042003410371210502400240200341044f0d0041002103410021060c010b2004411c6a21072003417c712108410021034100210603402007280200200741786a280200200741706a280200200741686a28020020036a6a6a6a2103200741206a21072008200641046a2206470d000b0b02402005450d00200641037420046a41046a21070340200728020020036a2103200741086a21072005417f6a22050d000b0b200128020c450d022003410f4b0d0120042802040d010c030b41002103200128020c450d020b20034100200341004a1b41017421030b410021070240024020034100480d002003450d0241002d008083d480001a200341002802f482d480001182808080000022070d01410121070b2007200341ec83c0800010b980808000000b2007417e6a41003b00000c010b41012107410021030b2002410036020820022007360204200220033602000240200241e482c08000200110b181808000450d00418c84c0800041d6002002410f6a41fc83c0800041d085c0800010a981808000000b20002002290200370200200041086a200241086a280200360200200241106a2480808080000b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110bb80808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110bb80808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410336020c2003419087c08000360208200342023702142003418680808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210fe80808000000bb90102017f017e23808080800041306b22022480808080002002200036020c418680808000ad4220862002410c6aad842103024041002d008183d480000d0020024102360214200241cc87c080003602102002420137021c200220033703282002200241286a360218200241106a410041cc88c0800010ff80808000000b20024102360214200241cc87c080003602102002420137021c200220033703282002200241286a360218200241106a41dc88c0800010fe80808000000b4301017f23808080800041206b2201248080808000200141003602182001410136020c2001418089c0800036020820014204370210200141086a200010fe80808000000bbc0101047f23808080800041206b220224808080800002402000280200220341017422044108200441084b1b220441004e0d0041004100200110b980808000000b4100210502402003450d002002200336021c20022000280204360214410121050b20022005360218200241086a41012004200241146a10ba80808000024020022802084101470d00200228020c2002280210200110b980808000000b200228020c21032000200436020020002003360204200241206a2480808080000b1e0002402000450d002000200110ab80808000000b200210b780808000000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10ba8080800020052802084101470d0120052802102102200528020c21060b2006200241808ac0800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000bbf0201047f23808080800041306b22022480808080002002200028020036020c410121000240200128020022034194e3c1800041122001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110c6808080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10c6808080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000bbe04010c7f20012d001d210220012802182103200128021021042001280204210520012d001c2106200128021421072001280208210820012802002109024003402009210a4100210b02402002410171450d000c020b0240024020042007460d0003402003210c02400240200422032c00002202417f4c0d00200341016a2104200241ff017121020c010b20032d0001413f7121042002411f71210902402002415f4b0d0020094106742004722102200341026a21040c010b200441067420032d0002413f717221040240200241704f0d0020042009410c74722102200341036a21040c010b200441067420032d0003413f71722009411274418080f00071722102200341046a21040b200420036b200c6a2103024002400240200241776a220941174b0d004101200974419f808004710d010b2002418001490d01024002400240024020024108762209416a6a0e1b030505050505050505050105050505050505050505050505050500020b20024180e000470d040c030b200241ff017141f4a4c280006a2d0000410271450d030c020b20090d02200241ff017141f4a4c280006a2d00004101710d010c020b200241802d470d010b20012003360218200120043602102001200336020041002102200321090c030b20042007470d000b20012003360218200120043602100b41012102200141013a001d02402006410171450d00200a21092005210c0c010b200a21092005210c2005200a460d020b200c200a6b220d450d000b2008200a6a210b0b2000200d3602042000200b3602000bd00601047f41beb6c0800020012002410620024106491b10f5978080002203410620026b20031b410148410a742204418004722103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b2204418002722103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b2204418001722103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441c0006a2103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441206a2103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441106a2103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441086a2103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441046a2103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441026a2103200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b220441016a21032000200420032003410374220541b8e1c080006a2802002001200541bce1c080006a2802002205200220052002491b10f5978080002206200520026b20061b41004a1b2205410374220341b8e1c080006a2802002001200341bce1c080006a2802002203200220032002491b10f5978080002201200320026b20011b220241004736020020002002411f7620056a3602040b800f010f7f23808080800041e0046b2203248080808000200341013b016c4100210420034100360268200320013602602003200236025c2003200136025820032002360254200341003602502003200120026a2205360264417f21060340200641016a2106200441016a2104200341186a200341d0006a10bd8080800020032802180d000b2004417f6a220741036e2108200641036e210602400240024002400240024002400240200441666a4173490d00200641036c41016a2004470d00200341c8006a427f370300200341c0006a427f370300200341206a41186a427f370300200341206a41106a427f370300200341206a41086a427f3703002003427f370320200341d0006a410041880210fa978080001a2003410036029804200320053602940420032001360290042003200236028c0420032001360288042003200236028404200342003702fc03200341013b019c04200341106a200341fc036a41046a220210bd80808000024020032802102204450d00200341d0006a410a6a2105200341d0006a41096a2109200341d0006a41086a210a200341d0006a41076a210b200341d0006a41066a210c200341d0006a41056a210d200341d0006a41046a210e200341d0006a41036a210f200341d0006a41026a2110200341d0006a41016a2111200328021421060c020b200341d8026a41186a4200370300200341d8026a41106a4200370300200341d8026a41086a4200370300200342003703d802200741ff017141036e220841027421050c020b20002007360208200041003a0004200041013b01000c030b0240024002400340200320032802fc03220141016a3602fc03200341086a2004200610be8080800020032802084101710d01200141174b0d02200341d0006a2001410b6c22066a200328020c2204410a764101713a0000200341206a20014101746a20043b0100201120066a20044109764101713a0000201020066a20044108764101713a0000200f20066a2004418001714107763a0000200e20066a20044106764101713a0000200d20066a20044105764101713a0000200c20066a20044104764101713a0000200b20066a20044103764101713a0000200a20066a20044102764101713a0000200920066a20044101764101713a0000200520066a20044101713a00002003200210bd808080002003280204210620032802002204450d030c000b0b200041013a0004200041013b010020002001ad3702080c040b2001411841f8e1c18000108281808000000b200341f0026a4200370300200341e8026a4200370300200341e0026a4200370300200342003703d8022008410274210520074103490d010b410021064100210203400240024020024120490d0020064188024f0d060240200341d0006a20066a22042d00000d00200441016a2d00000d00200441026a2d00000d00200441036a2d00000d00200441046a2d00000d00200441056a2d00000d00200441066a2d00000d00200441076a2d00004101470d020b2002412041e8e1c18000108281808000000b20064187024b0d05200341d8026a20026a21040240200341d0006a20066a22012d00004101470d00200420042d0000418001733a00000b0240200141016a2d00004101470d00200420042d000041c0006a3a00000b0240200141026a2d00004101470d00200420042d000041206a3a00000b0240200141036a2d00004101470d00200420042d000041106a3a00000b0240200141046a2d00004101470d00200420042d000041086a3a00000b0240200141056a2d00004101470d00200420042d000041046a3a00000b0240200141066a2d00004101470d00200420042d000041026a3a00000b200141076a2d00004101470d00200420042d000041016a3a00000b200641086a2106200241016a22022005490d000b2007411b4f0d040b200341d0036a4200370300200341c8036a4200370300200341c0036a4200370300200341b8036a4200370300200341b0036a4200370300200341a8036a4200370300200341a0036a4200370300200342003703980341002104200341003602f803200342abb38ffc91a3b3f0db003703f003200342ffa4b988c591da829b7f3703e803200342f2e6bbe3a3a7fda7a57f3703e003200342e7cca7d0d6d0ebb3bb7f3703d80320034198036a200341d8026a200510ce80808000200341fc036a20034198036a41e40010f4978080001a200341d0006a200841057422056a2109200341f8026a200341fc036a10cd808080000240034020082004460d01200520046a4188024f0d032004417f73210620044103762101200920046a2102200441016a21042001200341f8026a6a2d000020064107717620022d000073410171450d000b200041013b0100200041033a00040c010b20002003290320370102200041003b01002000412a6a200341c8006a290300370100200041226a200341c0006a2903003701002000411a6a200341386a290300370100200041126a200341306a2903003701002000410a6a200341286a2903003701000b200341e0046a2480808080000f0b200541880220054188024b1b41880241c8e1c18000108281808000000b200641880241d8e1c18000108281808000000b2005412041b8e1c18000109181808000000baf0300024020002f010041ffff03470d0041000f0b024020002f010241ffff03470d0041010f0b024020002f010441ffff03470d0041020f0b024020002f010641ffff03470d0041030f0b024020002f010841ffff03470d0041040f0b024020002f010a41ffff03470d0041050f0b024020002f010c41ffff03470d0041060f0b024020002f010e41ffff03470d0041070f0b024020002f011041ffff03470d0041080f0b024020002f011241ffff03470d0041090f0b024020002f011441ffff03470d00410a0f0b024020002f011641ffff03470d00410b0f0b024020002f011841ffff03470d00410c0f0b024020002f011a41ffff03470d00410d0f0b024020002f011c41ffff03470d00410e0f0b024020002f011e41ffff03470d00410f0f0b024020002f012041ffff03470d0041100f0b024020002f012241ffff03470d0041110f0b024020002f012441ffff03470d0041120f0b024020002f012641ffff03470d0041130f0b024020002f012841ffff03470d0041140f0b024020002f012a41ffff03470d0041150f0b024020002f012c41ffff03470d0041160f0b4117411820002f012e41ffff03461b0be405010b7f23808080800041c0006b220224808080800041002103024020012f0100220441ffff03460d00024020044180104f0d00410021032004410374220441bce1c080006a2802002205450d01200241106a200441b8e1c080006a280200200510be808080004101210320022802104101710d0141002106200241386a41003a0000200241186a41186a4200370300200241286a4200370300200241186a41086a420037030020024200370318200110c0808080002107410021054100210341002108024002400340200120086a2f0100220441ffff03460d01024002400240024020044180104f0d00200241086a2004410374220441b8e1c080006a280200200441bce1c080006a28020010be8080800020022802084101710d012005410b6a2109200228020c41157420057620037221032005417d4e0d02200921050c030b200441801041ec8ac08000108281808000000b4198e2c18000411041a8e2c1800010a181808000000b20064121200641214b1b220a20066b2104200541036a41037641016a220b20066a210c200241186a20066a210503402004450d04200520034118763a00002004417f6a2104200541016a2105200941786a210920034108742103200b417f6a220b0d000b20092105200c21060b200841026a22084130470d000b0b024002402005450d00200641214f0d01200241186a20066a20034118763a00000b20002002290318370000200041206a200241186a41206a2d00003a0000200041186a200241186a41186a290300370000200041106a200241186a41106a290300370000200041086a200241186a41086a2903003700002000200741036e410274360224200241c0006a2480808080000f0b200641214188e2c18000108281808000000b200a412141b8e2c18000108281808000000b200441801041ec8ac08000108281808000000b2002410036021c200241013a0019200220033a001841d8e2c18000412b200241186a41c8e2c180004184e3c1800010a981808000000bb30901047f23808080800041306b220224808080800002400240024002400240024020002d00000e050001020304000b2002200041046a36020c410121032001280200220041a6e3c18000410c2001280204220428020c2205118080808000000d040240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d062002410c6a200110c580808000450d010c060b200041e080c2800041022005118080808000000d0541012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10c5808080000d05200228022041da80c280004102200228022428020c118080808000000d050b200128020041e280c280004101200128020428020c1180808080000021030c040b2002200041046a36020c410121032001280200220041b2e3c18000410b2001280204220428020c2205118080808000000d030240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d052002410c6a200110c580808000450d010c050b200041e080c2800041022005118080808000000d0441012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10c5808080000d04200228022041da80c280004102200228022428020c118080808000000d040b200128020041e280c280004101200128020428020c1180808080000021030c030b2002200041046a36020c410121032001280200220041bde3c1800041122001280204220428020c2205118080808000000d020240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d042002410c6a200110c580808000450d010c040b200041e080c2800041022005118080808000000d0341012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10c5808080000d03200228022041da80c280004102200228022428020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021030c020b200128020041cfe3c18000410f200128020428020c1180808080000021030c010b410121032002200041016a36020c200128020022004194e3c1800041122001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d022002410c6a200110bc80808000450d010c020b200041e080c2800041022005118080808000000d0141012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10bc808080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021030b200241306a24808080800020030bb70b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041786a210b200041106a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41037422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b024002400240024020132d0008221620132d00004922170d004102211520144102460d04200c20126a2118410221150340201641ff0171211920182d000022162019490d03201841086a21182014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a2118410221150340201641ff0171211920182d0000221620194f0d02201841086a21182014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b201841017121102013201541037422146a210f41002116024020184101460d00201841feffffff0771211a200020146a211841002116200021190340201820126a221441786a221729020021072014417c6a201920126a221441046a280200360200201720142d00003a000020142007370200200f201641feffffff01734103746a22172902002107201741046a2014410c6a2802003602002017201441086a22142d00003a000020142007370200201841706a2118201941106a2119201a201641026a2216470d000b0b2010450d00201320164103746a22142d00002118201428020421192014200f2016417f734103746a221629020037020020162019360204201620183a00000b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510c480808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41037422146a211b200020146a211a03402006418e026a200e417f6a22166a2d0000200f490d010240024002400240200641046a20164102746a280200220e4101762215200941017622186a221220034b0d00200e200972410171450d010b2000200d20126b4103746a21140240200e4101710d002014201520022003201541017267410174413e734100200510c4808080000b20094101710d01201420154103746a201820022003201841017267410174413e734100200510c4808080000c010b201241017421090c010b024020094102490d00200e4102490d002003201820152018201549220e1b2219490d002002201420154103746a22092014200e1b2019410374220e10f4978080002213200e6a210e024002400240201820154f0d00201b211503402015200941786a2209200e41786a220e200e2d0000221820092d000022194922171b290200370200200e20174103746a210e2009201820194f4103746a22092014460d02201541786a2115200e2013470d000c020b0b024020190d00201321150c020b20132115034020142009201520092d0000221820152d000022194922171b290200370200201441086a21142015201820194f4103746a2215200e460d02200920174103746a2209201a470d000c020b0b20092114201321150b20142015200e20156b10f4978080001a0b201241017441017221090b410121142016210e201641014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c4808080000b200641d0026a2480808080000bfa0d010f7f23808080800041206b220724808080800002400240200141214f0d002000200120022003200610c9808080000c010b200241786a210802400340024020040d0020002001200220034101200610c3808080000c030b20002001410376220941386c6a210a200020094105746a210b02400240200141c000490d002000200b200a200910c780808000210c0c010b2000200a200b20002d00002209200b2d0000220d49220e200d200a2d0000220f49731b200e2009200f49731b210c0b2004417f6a21042007200c2802043602042007200c2d000022093a0000200c20006b410376211002400240024002402005450d0020052d0000200941ff01714f0d010b20032001490d044100210b200941ff0171210d200021092002200141037422116a2212210a20102113034002402009200041002013417d6a220e200e20134b1b4103746a22144f0d0003402002200a41786a20092d0000200d49220e1b200b4103746a20092902003702002002200a41706a200941086a220f2d0000200d4922151b200b200e6a220b4103746a200f2902003702002002200a41686a200941106a220e2d0000200d49220f1b200b20156a220b4103746a200e2902003702002002200a41606a220a200941186a220e2d0000200d4922151b200b200f6a220b4103746a200e290200370200200b20156a210b200941206a22092014490d000b0b02402009200020134103746a220f4f0d0003402002200a41786a220a20092d0000200d49220e1b200b4103746a2009290200370200200b200e6a210b200941086a2209200f490d000b0b024020132001460d00200a41786a220a200b4103746a2009290200370200200941086a2109200121130c010b0b20002002200b410374221310f49780800021142001200b6b211502402001200b460d002015410371210e4100210a0240200b20016b417c4b0d00201420136a21092015417c71210f200820116a210d4100210a03402009200d290200370200200941086a2012200a41feffffff01734103746a290200370200200941106a2012200a41fdffffff01734103746a290200370200200941186a2012200a41fcffffff01734103746a290200370200200d41606a210d200941206a2109200f200a41046a220a470d000b0b200e450d0020082011200a410374220a6b6a21092014200a6a20136a210a0340200a2009290200370200200941786a2109200a41086a210a200e417f6a220e0d000b0b200b450d00200b20014d0d01200741003602182007410136020c200741e8e3c1800036020820074204370210200741086a41f4e4c1800010fe80808000000b20032001490d034100210b200021092002200141037422056a2213210a034002402009200041002010417d6a220d200d20104b1b4103746a22144f0d00200c2d000041ff0171210d03402002200a41786a200d20092d00004f220e1b200b4103746a20092902003702002002200a41706a200d200941086a220f2d00004f22151b200b200e6a220b4103746a200f2902003702002002200a41686a200d200941106a220e2d00004f220f1b200b20156a220b4103746a200e2902003702002002200a41606a220a200d200941186a220e2d00004f22151b200b200f6a220b4103746a200e290200370200200b20156a210b200941206a22092014490d000b0b02402009200020104103746a220e4f0d00200c2d000041ff0171210f03402002200a41786a220a200f20092d00004f220d1b200b4103746a2009290200370200200b200d6a210b200941086a2209200e490d000b0b024020102001460d002002200b4103746a2009290200370200200941086a2109200b41016a210b200a41786a210a200121100c010b0b20002002200b410374221210f497808000211402402001200b460d002001200b6b2215410371210e201420126a21104100210a0240200b20016b417c4b0d002015417c71210f200820056a210d4100210a2010210903402009200d290200370200200941086a2013200a41feffffff01734103746a290200370200200941106a2013200a41fdffffff01734103746a290200370200200941186a2013200a41fcffffff01734103746a290200370200200d41606a210d200941206a2109200f200a41046a220a470d000b0b0240200e450d002008200a410374220a6b20056a21092014200a6a20126a210a0340200a2009290200370200200941786a2109200a41086a210a200e417f6a220e0d000b0b200b20014d0d02200b20014184e5c18000109281808000000b201420014103746a410020022003200610c9808080000c040b201420136a20152002200320042007200610c480808000200b2101200b41214f0d012014200b20022003200610c9808080000c030b410021052010210020152101201541214f0d000b2010201520022003200610c9808080000c010b000b200741206a2480808080000bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000bd21502067f017e23808080800041206b220224808080800020002802002103024002402001280200220441e580c2800041012001280204220528020c220611808080800000450d00410121000c010b0240024002400240200128020822074180808004710d004101210020032d00004101470d01200141b9a8c28000410410b481808000450d030c040b41012100200441e380c2800041012006118080808000000d032002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d00002100200220023602100240024020004101470d00200241106a41b9a8c28000410410b4818080000d010c030b200241106a41b4a8c28000410510b481808000450d020b410121000c030b200141b4a8c28000410510b4818080000d020c010b0240200241da80c280004102108881808000450d00410121000c020b2008a721070b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00014101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0001210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00024101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0002210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00034101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0003210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00044101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0004210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00054101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0005210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00064101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0006210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00074101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0007210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b0240024002400240024020074180808004710d000240200441d380c2800041022006118080808000000d004101210020032d00084101470d02200141b9a8c28000410410b481808000450d050c060b410121000c050b2002200536020420022004360200200241013a000f200241b480c2800036021420022001290208220837021820022002410f6a36020820032d0008210020022002360210024020004101470d00200241106a41b9a8c28000410410b4818080000d030c020b200241106a41b4a8c28000410510b481808000450d010c020b200141b4a8c28000410510b4818080000d030c020b200241da80c2800041021088818080000d002008a721070c010b410121000c010b024002400240024020074180808004710d0041012100200441d380c2800041022006118080808000000d044101210020032d00094101470d01200141b9a8c28000410410b481808000450d030c040b2002200536020420022004360200200241013a000f200241b480c280003602142002200129020837021820022002410f6a36020820032d00092101200220023602100240024020014101470d00200241106a41b9a8c28000410410b4818080000d010c030b200241106a41b4a8c28000410510b481808000450d020b410121000c030b200141b4a8c28000410510b4818080000d020c010b200241da80c280004102108881808000450d00410121000c010b200441e680c28000410120061180808080000021000b200241206a24808080800020000b8b0101037f024020034108490d00200020002003410376220341057422046a2000200341386c22056a200310c78080800021002001200120046a200120056a200310c78080800021012002200220046a200220056a200310c78080800021020b20002002200120002d0000220320012d00002204492205200420022d0000220649731b20052003200649731b0be006040a7f027e017f027e200020002d0008220320002d00002204494103746a220520004118411020002d001820002d00104922061b6a22072000200320044f4103746a220320004110411820061b6a22042d000020032d00004922061b20072d000020052d00004922081b22092d0000210a20042003200720081b20061b220b2d0000210c20022007200520081b290200220d3702002002200b2009200c200a4922071b29020037020820022009200b20071b290200370210200241186a220a2003200420061b290200220e370200200041206a220720002d0028220320002d00202204494103746a220520074118411020002d003820002d00304922061b6a22002007200320044f4103746a220320074110411820061b6a22072d000020032d00004922041b20002d000020052d00004922061b22082d0000210c20072003200020061b20041b22092d0000210f200241206a220b2000200520061b2902002210370200200241286a20092008200f200c4922001b290200370200200241306a2008200920001b290200370200200241386a22052003200720041b29020022113702002001200b20022010a741ff01712207200da741ff017122034922001b29020037020020012002411841382011a741ff01712204200ea741ff017122064922081b6a2902003702382001200b20004103746a22002002200720034f4103746a220220002d0000220920022d0000220b49220c1b2902003702082001200a4178410020081b6a2207200541784100200420064f1b6a220320032d0000220520072d000022044922061b29020037023020012000200c4103746a220020022009200b4f4103746a220220002d0000220820022d0000220949220b1b290200370210200120074178410020061b6a2207200341784100200520044f1b6a220320032d0000220420072d0000220649220a1b29020037022820012000200b4103746a22052002200820094f4103746a220020052d0000220820002d0000220949220b1b2902003702182001200741784100200a1b6a2202200341784100200420064f1b6a220720072d0000220420022d000022064922031b290200370220024002402000200820094f4103746a20024178410020031b6a41086a470d002005200b4103746a200741784100200420064f1b6a41086a460d010b109c81808000000b0bef08020f7f017e23808080800041106b2205248080808000024020014102490d000240024002402003200141106a490d00200141017621062001410f4b0d010240200141074d0d00200220004118411020002d001820002d00104922071b6a2203200020002d0008220820002d00002209494103746a220a20032d0000200a2d000049220b1b29020037020020022000200820094f4103746a220820004110411820071b6a220720072d000020082d00004922091b2902003702182002200720082003200b1b20091b2207200a2003200820091b200b1b220320072d000020032d00004922081b29020037020820022003200720081b2902003702102002200641037422036a2208200020036a22034118411020032d001820032d00104922091b6a220a200320032d0008220c20032d0000220d494103746a220b200a2d0000200b2d00004922071b290200370200200820034110411820091b6a22092003200c200d4f4103746a2203200a20071b20092d000020032d000049220c1b220d200b200a2003200c1b20071b220a200d2d0000200a2d000049220b1b2902003702082008200a200d200b1b290200370210200820032009200c1b2902003702184104210e0c030b200220002902003702002002200641037422036a200020036a2902003702004101210e0c020b000b20002002200220014103746a220310c8808080002000200641037422086a200220086a200341c0006a10c8808080004108210e0b20054202370204200e410374210b2005200636020c200120066b210f200541086a2110410021034102210703402005200341016a22083602002003410274210a200821030240200e200f20062010200a6a28020022081b22114f0d002000200841037422036a21124108210c200220036a2213210d200e210903402013200941037422036a2208201220036a29020022143702000240200841786a2d00002014a741ff017122074d0d00200c2108200d2103024003402003200b6a220a200a41786a2902003702000240200b2008470d00201321030c020b200841086a2108200341786a2103200a41706a2d000020074b0d000b2003200b6a21030b2003201442ff81808070833702000b200c41786a210c200d41086a210d200941016a22092011470d000b20052802002103200528020421070b20072003470d000b200220064103746a220341786a21082002200141037441786a220b6a210a2000200b6a210b034020002003200220032d0000220720022d0000220949220c1b290200370200200b2008200a200a2d0000220d20082d000022134922111b290200370200200b41786a210b200041086a210020084178410020111b6a2108200a41784100200d20134f1b6a210a2002200720094f4103746a21022003200c4103746a21032006417f6a22060d000b200841086a210802402001410171450d002000200220032002200849220b1b2902003702002003200220084f4103746a21032002200b4103746a21020b024020022008470d002003200a41086a460d010b109c81808000000b200541106a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141c0843d200141c0843d491b2204200120014101766b2205200420054b1b2204418104490d0020044103742106410021070240200541ffffffff014b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b200720064184e6c1800010b980808000000b200020012003418004200141c10049200210c3808080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210c38080800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000bb90201047f024002402002280204450d000240200228020822030d00024020010d00410421020c030b4100210241002d008083d480001a200141002802f482d48000118280808000002204450d022004200441036a417c7120046b22056a2202417e6a20053b00000c020b2002280200210441002102200141002802f482d48000118280808000002205450d012005200541036a417c7120056b22066a2202417e6a20063b000020022004200310f4978080001a20042004417e6a2f00006b41002802ec82d48000118180808000000c010b024020010d00410421020c010b4100210241002d008083d480001a200141002802f482d48000118280808000002204450d002004200441036a417c7120046b22056a2202417e6a20053b00000b2000200136020820002002410420021b36020420002002453602000be00101077f23808080800041206b22022480808080004100210302402000280200220441ffffffff004d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410374220741fcffffff074b0d004100210502402004450d002002200441037436021c20022000280204360214410421050b20022005360218200241086a2007200241146a10cb8080800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000b880503017f017e027f23808080800041c0006b220224808080800020013502602103200241306a4200370300200241286a4200370300200241206a4200370300200241186a4200370300200241106a4200370300200241086a42003703002002420037030020014194e6c18000410110ce80808000024002402001280260413f71220441384b0d00413820046b21040c010b20012002413810ce8080800041382001280260413f7122056b210420054139490d002004413841fce6c18000109181808000000b20012002200410ce80808000200220034205884280808038832003423b862003422b8642808080808080c0ff0083842003421b86428080808080e03f832003420b864280808080f01f838484843703382001200241386a410810ce808080002000200128025c220441187420044180fe03714108747220044108764180fe03712004411876727236001c20002001280258220441187420044180fe03714108747220044108764180fe03712004411876727236001820002001280254220441187420044180fe03714108747220044108764180fe03712004411876727236001420002001280250220441187420044180fe03714108747220044108764180fe0371200441187672723600102000200128024c220441187420044180fe03714108747220044108764180fe03712004411876727236000c20002001280248220441187420044180fe03714108747220044108764180fe03712004411876727236000820002001280244220441187420044180fe03714108747220044108764180fe03712004411876727236000420002001280240220141187420014180fe03714108747220014108764180fe037120014118767272360000200241c0006a2480808080000bdf3e01477f02402002450d00034020002000280260413f7122036a2001200241c00020036b220320022003491b220310f4978080001a2000200320002802606a220436026002402004413f710d002000200028023c220441187420044180fe03714108747220044108764180fe03712004411876727222054119772005410e77732005410376732000280238220441187420044180fe03714108747220044108764180fe03712004411876727222066a2000280220220441187420044180fe03714108747220044108764180fe03712004411876727222074119772007410e7773200741037673200028021c220441187420044180fe03714108747220044108764180fe03712004411876727222086a2000280204220441187420044180fe03714108747220044108764180fe03712004411876727222094119772009410e77732009410376732000280200220441187420044180fe03714108747220044108764180fe037120044118767272220a6a2000280224220441187420044180fe03714108747220044108764180fe037120044118767272220b6a2006410f772006410d77732006410a76736a220c6a2000280218220441187420044180fe03714108747220044108764180fe037120044118767272220d411977200d410e7773200d410376732000280214220441187420044180fe03714108747220044108764180fe037120044118767272220e6a20066a2000280210220441187420044180fe03714108747220044108764180fe037120044118767272220f411977200f410e7773200f41037673200028020c220441187420044180fe03714108747220044108764180fe03712004411876727222106a2000280230220441187420044180fe03714108747220044108764180fe03712004411876727222116a2000280208220441187420044180fe03714108747220044108764180fe03712004411876727222124119772012410e777320124103767320096a2000280228220441187420044180fe03714108747220044108764180fe03712004411876727222136a2005410f772005410d77732005410a76736a2214410f772014410d77732014410a76736a2215410f772015410d77732015410a76736a2216410f772016410d77732016410a76736a22176a2000280234220441187420044180fe03714108747220044108764180fe03712004411876727222184119772018410e777320184103767320116a20166a200028022c220441187420044180fe03714108747220044108764180fe03712004411876727222194119772019410e777320194103767320136a20156a200b411977200b410e7773200b4103767320076a20146a20084119772008410e7773200841037673200d6a20056a200e411977200e410e7773200e41037673200f6a20186a20104119772010410e777320104103767320126a20196a200c410f77200c410d7773200c410a76736a221a410f77201a410d7773201a410a76736a221b410f77201b410d7773201b410a76736a221c410f77201c410d7773201c410a76736a221d410f77201d410d7773201d410a76736a221e410f77201e410d7773201e410a76736a221f410f77201f410d7773201f410a76736a22204119772020410e777320204103767320064119772006410e777320064103767320186a201c6a20114119772011410e777320114103767320196a201b6a20134119772013410e7773201341037673200b6a201a6a2017410f772017410d77732017410a76736a2221410f772021410d77732021410a76736a2222410f772022410d77732022410a76736a22236a20174119772017410e7773201741037673201c6a200c411977200c410e7773200c4103767320056a201d6a2023410f772023410d77732023410a76736a22246a20164119772016410e7773201641037673201b6a20236a20154119772015410e7773201541037673201a6a20226a20144119772014410e7773201441037673200c6a20216a2020410f772020410d77732020410a76736a2225410f772025410d77732025410a76736a2226410f772026410d77732026410a76736a2227410f772027410d77732027410a76736a22286a201f411977201f410e7773201f4103767320226a20276a201e411977201e410e7773201e4103767320216a20266a201d411977201d410e7773201d4103767320176a20256a201c411977201c410e7773201c4103767320166a20206a201b411977201b410e7773201b4103767320156a201f6a201a411977201a410e7773201a4103767320146a201e6a2024410f772024410d77732024410a76736a2229410f772029410d77732029410a76736a222a410f77202a410d7773202a410a76736a222b410f77202b410d7773202b410a76736a222c410f77202c410d7773202c410a76736a222d410f77202d410d7773202d410a76736a222e410f77202e410d7773202e410a76736a222f411977202f410e7773202f4103767320234119772023410e7773202341037673201f6a202b6a20224119772022410e7773202241037673201e6a202a6a20214119772021410e7773202141037673201d6a20296a2028410f772028410d77732028410a76736a2230410f772030410d77732030410a76736a2231410f772031410d77732031410a76736a22326a20284119772028410e7773202841037673202b6a20244119772024410e777320244103767320206a202c6a2032410f772032410d77732032410a76736a22336a20274119772027410e7773202741037673202a6a20326a20264119772026410e777320264103767320296a20316a20254119772025410e777320254103767320246a20306a202f410f77202f410d7773202f410a76736a2234410f772034410d77732034410a76736a2235410f772035410d77732035410a76736a2236410f772036410d77732036410a76736a22376a202e411977202e410e7773202e4103767320316a20366a202d411977202d410e7773202d4103767320306a20356a202c411977202c410e7773202c4103767320286a20346a202b411977202b410e7773202b4103767320276a202f6a202a411977202a410e7773202a4103767320266a202e6a20294119772029410e777320294103767320256a202d6a2033410f772033410d77732033410a76736a2238410f772038410d77732038410a76736a2239410f772039410d77732039410a76736a223a410f77203a410d7773203a410a76736a223b410f77203b410d7773203b410a76736a223c410f77203c410d7773203c410a76736a223d410f77203d410d7773203d410a76736a223e203c203a20382032203020272025201f201d201b200c20112007200f2000280250223f411a77203f41157773203f41077773200028025c22406a200a6a200028025822412000280254224273203f712041736a4198dfa894046a220a200028024c22436a22046a203f20106a204220126a204120096a20042042203f73712042736a2004411a772004411577732004410777736a419189dd89076a2244200028024822456a220f2004203f7371203f736a200f411a77200f41157773200f410777736a41cff783ae7b6a2246200028024422476a2210200f200473712004736a2010411a772010411577732010410777736a41a5b7d7cd7e6a2248200028024022046a22122010200f7371200f736a2012411a772012411577732012410777736a41db84dbca036a224920452047200472712047200471722004411e772004411377732004410a77736a200a6a22096a220a6a200820126a200d20106a200e200f6a200a2012201073712010736a200a411a77200a41157773200a410777736a41f1a3c4cf056a220d2009411e772009411377732009410a777320092004722047712009200471726a20446a220f6a2207200a201273712012736a2007411a772007411577732007410777736a41a485fe91796a220e200f411e77200f41137773200f410a7773200f200972200471200f200971726a20466a22106a22122007200a7371200a736a2012411a772012411577732012410777736a41d5bdf1d87a6a22442010411e772010411377732010410a77732010200f722009712010200f71726a20486a22096a220a2012200773712007736a200a411a77200a41157773200a410777736a4198d59ec07d6a22462009411e772009411377732009410a77732009201072200f712009201071726a20496a220f6a22086a2019200a6a201320126a200b20076a2008200a201273712012736a2008411a772008411577732008410777736a4181b68d94016a220b200f411e77200f41137773200f410a7773200f200972201071200f200971726a200d6a22106a22122008200a7371200a736a2012411a772012411577732012410777736a41be8bc6a1026a22112010411e772010411377732010410a77732010200f722009712010200f71726a200e6a22096a220a2012200873712008736a200a411a77200a41157773200a410777736a41c3fbb1a8056a22132009411e772009411377732009410a77732009201072200f712009201071726a20446a220f6a2207200a201273712012736a2007411a772007411577732007410777736a41f4baf995076a2219200f411e77200f41137773200f410a7773200f200972201071200f200971726a20466a22106a22086a200520076a2006200a6a201820126a20082007200a7371200a736a2008411a772008411577732008410777736a41fee3fa86786a220a2010411e772010411377732010410a77732010200f722009712010200f71726a200b6a22056a22092008200773712007736a2009411a772009411577732009410777736a41a78df0de796a22072005411e772005411377732005410a77732005201072200f712005201071726a20116a22066a220f2009200873712008736a200f411a77200f41157773200f410777736a41f4e2ef8c7c6a22082006411e772006411377732006410a777320062005722010712006200571726a20136a220c6a2210200f200973712009736a2010411a772010411577732010410777736a41c1d3eda47e6a220b200c411e77200c41137773200c410a7773200c200672200571200c200671726a20196a22056a22126a201520106a201a200f6a201420096a20122010200f7371200f736a2012411a772012411577732012410777736a41868ff9fd7e6a22092005411e772005411377732005410a77732005200c722006712005200c71726a200a6a22066a22142012201073712010736a2014411a772014411577732014410777736a41c6bb86fe006a220f2006411e772006411377732006410a77732006200572200c712006200571726a20076a220c6a22152014201273712012736a2015411a772015411577732015410777736a41ccc3b2a0026a2210200c411e77200c41137773200c410a7773200c200672200571200c200671726a20086a22056a221a2015201473712014736a201a411a77201a41157773201a410777736a41efd8a4ef026a22122005411e772005411377732005410a77732005200c722006712005200c71726a200b6a22066a221b6a2017201a6a201c20156a201620146a201b201a201573712015736a201b411a77201b41157773201b410777736a41aa89d2d3046a221c2006411e772006411377732006410a77732006200572200c712006200571726a20096a220c6a2214201b201a7371201a736a2014411a772014411577732014410777736a41dcd3c2e5056a221a200c411e77200c41137773200c410a7773200c200672200571200c200671726a200f6a22056a22152014201b7371201b736a2015411a772015411577732015410777736a41da91e6b7076a221b2005411e772005411377732005410a77732005200c722006712005200c71726a20106a22066a22162015201473712014736a2016411a772016411577732016410777736a41d2a2f9c1796a221d2006411e772006411377732006410a77732006200572200c712006200571726a20126a220c6a22176a202220166a201e20156a202120146a20172016201573712015736a2017411a772017411577732017410777736a41ed8cc7c17a6a221e200c411e77200c41137773200c410a7773200c200672200571200c200671726a201c6a22056a22142017201673712016736a2014411a772014411577732014410777736a41c8cf8c807b6a221c2005411e772005411377732005410a77732005200c722006712005200c71726a201a6a22066a22152014201773712017736a2015411a772015411577732015410777736a41c7ffe5fa7b6a221a2006411e772006411377732006410a77732006200572200c712006200571726a201b6a220c6a22162015201473712014736a2016411a772016411577732016410777736a41f39780b77c6a221b200c411e77200c41137773200c410a7773200c200672200571200c200671726a201d6a22056a22176a202420166a202020156a202320146a20172016201573712015736a2017411a772017411577732017410777736a41c7a29ead7d6a221d2005411e772005411377732005410a77732005200c722006712005200c71726a201e6a22066a22142017201673712016736a2014411a772014411577732014410777736a41d1c6a9366a221e2006411e772006411377732006410a77732006200572200c712006200571726a201c6a220c6a22152014201773712017736a2015411a772015411577732015410777736a41e7d2a4a1016a221c200c411e77200c41137773200c410a7773200c200672200571200c200671726a201a6a22056a22162015201473712014736a2016411a772016411577732016410777736a418595dcbd026a221a2005411e772005411377732005410a77732005200c722006712005200c71726a201b6a22066a22176a202a20166a202620156a202920146a20172016201573712015736a2017411a772017411577732017410777736a41b8c2ecf0026a221b2006411e772006411377732006410a77732006200572200c712006200571726a201d6a220c6a22142017201673712016736a2014411a772014411577732014410777736a41fcdbb1e9046a221d200c411e77200c41137773200c410a7773200c200672200571200c200671726a201e6a22056a22152014201773712017736a2015411a772015411577732015410777736a41939ae099056a221e2005411e772005411377732005410a77732005200c722006712005200c71726a201c6a22066a22162015201473712014736a2016411a772016411577732016410777736a41d4e6a9a8066a221c2006411e772006411377732006410a77732006200572200c712006200571726a201a6a220c6a22176a202c20166a202820156a202b20146a20172016201573712015736a2017411a772017411577732017410777736a41bb95a8b3076a221a200c411e77200c41137773200c410a7773200c200672200571200c200671726a201b6a22056a22142017201673712016736a2014411a772014411577732014410777736a41ae928b8e786a221b2005411e772005411377732005410a77732005200c722006712005200c71726a201d6a22066a22152014201773712017736a2015411a772015411577732015410777736a4185d9c893796a221d2006411e772006411377732006410a77732006200572200c712006200571726a201e6a220c6a22162015201473712014736a2016411a772016411577732016410777736a41a1d1ff957a6a221e200c411e77200c41137773200c410a7773200c200672200571200c200671726a201c6a22056a22176a202e20166a203120156a202d20146a20172016201573712015736a2017411a772017411577732017410777736a41cbcce9c07a6a221c2005411e772005411377732005410a77732005200c722006712005200c71726a201a6a22066a22142017201673712016736a2014411a772014411577732014410777736a41f096ae927c6a221a2006411e772006411377732006410a77732006200572200c712006200571726a201b6a220c6a22152014201773712017736a2015411a772015411577732015410777736a41a3a3b1bb7c6a221b200c411e77200c41137773200c410a7773200c200672200571200c200671726a201d6a22056a22162015201473712014736a2016411a772016411577732016410777736a4199d0cb8c7d6a221d2005411e772005411377732005410a77732005200c722006712005200c71726a201e6a22066a22176a203420166a203320156a202f20146a20172016201573712015736a2017411a772017411577732017410777736a41a48ce4b47d6a221e2006411e772006411377732006410a77732006200572200c712006200571726a201c6a220c6a22142017201673712016736a2014411a772014411577732014410777736a4185ebb8a07f6a221c200c411e77200c41137773200c410a7773200c200672200571200c200671726a201a6a22056a22152014201773712017736a2015411a772015411577732015410777736a41f0c0aa83016a221a2005411e772005411377732005410a77732005200c722006712005200c71726a201b6a22066a22162015201473712014736a2016411a772016411577732016410777736a41968293cd016a221b2006411e772006411377732006410a77732006200572200c712006200571726a201d6a220c6a22176a203620166a203920156a203520146a20172016201573712015736a2017411a772017411577732017410777736a4188d8ddf1016a221d200c411e77200c41137773200c410a7773200c200672200571200c200671726a201e6a22056a22142017201673712016736a2014411a772014411577732014410777736a41cceea1ba026a221e2005411e772005411377732005410a77732005200c722006712005200c71726a201c6a22066a22152014201773712017736a2015411a772015411577732015410777736a41b5f9c2a5036a221c2006411e772006411377732006410a77732006200572200c712006200571726a201a6a220c6a22162015201473712014736a2016411a772016411577732016410777736a41b399f0c8036a221a200c411e77200c41137773200c410a7773200c200672200571200c200671726a201b6a22056a22176a20304119772030410e7773203041037673202c6a20386a2037410f772037410d77732037410a76736a221b20166a203b20156a203720146a20172016201573712015736a2017411a772017411577732017410777736a41cad4e2f6046a221f2005411e772005411377732005410a77732005200c722006712005200c71726a201d6a22066a22142017201673712016736a2014411a772014411577732014410777736a41cf94f3dc056a221d2006411e772006411377732006410a77732006200572200c712006200571726a201e6a220c6a22152014201773712017736a2015411a772015411577732015410777736a41f3dfb9c1066a221e200c411e77200c41137773200c410a7773200c200672200571200c200671726a201c6a22056a22162015201473712014736a2016411a772016411577732016410777736a41ee85bea4076a22202005411e772005411377732005410a77732005200c722006712005200c71726a201a6a22066a22176a20324119772032410e7773203241037673202e6a203a6a20314119772031410e7773203141037673202d6a20396a201b410f77201b410d7773201b410a76736a221a410f77201a410d7773201a410a76736a221c20166a203d20156a201a20146a20172016201573712015736a2017411a772017411577732017410777736a41efc695c5076a22142006411e772006411377732006410a77732006200572200c712006200571726a201f6a220c6a22152017201673712016736a2015411a772015411577732015410777736a4194f0a1a6786a221f200c411e77200c41137773200c410a7773200c200672200571200c200671726a201d6a22056a22162015201773712017736a2016411a772016411577732016410777736a4188849ce6786a221d2005411e772005411377732005410a77732005200c722006712005200c71726a201e6a22066a22172016201573712015736a2017411a772017411577732017410777736a41fafffb85796a221e2006411e772006411377732006410a77732006200572200c712006200571726a20206a220c6a221a20406a36025c20002043200c411e77200c41137773200c410a7773200c200672200571200c200671726a20146a2205411e772005411377732005410a77732005200c722006712005200c71726a201f6a2206411e772006411377732006410a77732006200572200c712006200571726a201d6a220c411e77200c41137773200c410a7773200c200672200571200c200671726a201e6a22146a36024c2000204120334119772033410e7773203341037673202f6a203b6a201c410f77201c410d7773201c410a76736a221c20156a201a2017201673712016736a201a411a77201a41157773201a410777736a41ebd9c1a27a6a221d20056a22156a360258200020452014411e772014411377732014410a77732014200c722006712014200c71726a201d6a22056a36024820002042203320344119772034410e77732034410376736a201b6a203e410f77203e410d7773203e410a76736a20166a2015201a201773712017736a2015411a772015411577732015410777736a41f7c7e6f77b6a221b20066a22166a360254200020472005411e772005411377732005410a77732005201472200c712005201471726a201b6a22066a3602442000200c203f6a203420384119772038410e77732038410376736a203c6a201c410f77201c410d7773201c410a76736a20176a20162015201a7371201a736a2016411a772016411577732016410777736a41f2f1c5b37c6a220c6a3602502000200420062005722014712006200571726a2006411e772006411377732006410a77736a200c6a3602400b200120036a2101200220036b22020d000b0b0bee2d01297e200020002903102204200129002022057c200029033022067c2207200129002822087c200220078542ebfa86dabfb5f6c11f85422089220942abf0d3f4afeebcb73c7c220a200685422889220b7c220c200129006022027c2000290318220d200129003022077c2000290338220e7c220f200129003822107c2003200f8542f9c2f89b91a3b3f0db0085422089220342f1edf4f8a5a7fda7a57f7c220f200e8542288922117c22122003854230892213200f7c221420118542018922157c2216200129006822037c2016200029030822172001290010220f7c200029032822187c2219200129001822117c2019429fd8f9d9c291da829b7f85422089221942bbceaaa6d8d0ebb3bb7f7c221a201885422889221b7c221c201985423089221d85422089221e2000290300221f200129000022167c200029032022207c2221200129000822197c200029034020218542d1859aeffacf9487d100854220892221428892f39dffccf984ea007c222220208542288922237c2224202185423089222520227c22227c222620158542288922277c2228200129004822157c201c200129005022217c200c200985423089220c200a7c221c200b85420189220a7c220b200129005822097c200b202585422089220b20147c2214200a85422889220a7c2225200b85423089222920147c2214200a85420189222a7c222b2001290078220a7c202b20122001290070220b7c202220238542018922127c2222200a7c2022200c85422089220c201d201a7c221a7c221d20128542288922127c2222200c85423089222385422089222b20242001290040220c7c201a201b85420189221a7c221b20157c201b2013854220892213201c7c221b201a85422889221a7c221c2013854230892213201b7c221b7c2224202a85422889222a7c222c20097c202220037c2028201e85423089221e20267c222220278542018922267c222720077c2027201385422089221320147c221420268542288922267c2227201385423089221320147c221420268542018922267c222820107c2028202520057c201b201a85420189221a7c221b200c7c201b201e85422089221b2023201d7c221d7c221e201a85422889221a7c2223201b85423089221b854220892225201c200b7c201d20128542018922127c221c20217c201c202985422089221c20227c221d20128542288922127c2222201c85423089221c201d7c221d7c222820268542288922267c222920087c202320167c202c202b85423089222320247c2224202a85420189222a7c222b200f7c202b201c85422089221c20147c2214202a85422889222a7c222b201c85423089221c20147c2214202a85420189222a7c222c200f7c202c202720087c201d20128542018922127c221d20117c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892227202220197c201b201a85420189221a7c221b20027c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c2224202a85422889222a7c222c20107c2023200a7c2029202585423089222320287c222520268542018922267c222820037c2028201385422089221320147c221420268542288922267c2228201385423089221320147c221420268542018922267c222920197c2029202b20027c201b201a85420189221a7c221b20167c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892229202220097c201d20128542018922127c221d200c7c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20037c202320117c202c202785423089222320247c2224202a8542018922277c222a20077c202a201c85422089221c20147c221420278542288922277c222a201c85423089221c20147c221420278542018922277c222c20027c202c202820157c201d20128542018922127c221d20057c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892228202220217c201b201a85420189221a7c221b200b7c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20057c202320097c202b202985423089222320257c222520268542018922267c2229200b7c2029201385422089221320147c221420268542288922267c2229201385423089221320147c221420268542018922267c222b20167c202b202a20117c201b201a85420189221a7c221b20197c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b85422089222a202220107c201d20128542018922127c221d20157c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b200f7c202320087c202c202885423089222320247c222420278542018922277c222820217c2028201c85422089221c20147c221420278542288922277c2228201c85423089221c20147c221420278542018922277c222c20057c202c2029200a7c201d20128542018922127c221d200c7c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d8542208922292022200f7c201b201a85420189221a7c221b20077c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20077c202320217c202b202a85423089222320257c222520268542018922267c222a200a7c202a201385422089221320147c221420268542288922267c222a201385423089221320147c221420268542018922267c222b200c7c202b202820087c201b201a85420189221a7c221b20107c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892228202220157c201d20128542018922127c221d20167c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20167c202320097c202c202985423089222320247c222420278542018922277c222920027c2029201c85422089221c20147c221420278542288922277c2229201c85423089221c20147c221420278542018922277c222c20097c202c202a20117c201d20128542018922127c221d20037c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d85422089222a2022200b7c201b201a85420189221a7c221b20197c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c200a7c2023200c7c202b202885423089222320257c222520268542018922267c222820117c2028201385422089221320147c221420268542288922267c2228201385423089221320147c221420268542018922267c222b200b7c202b202920077c201b201a85420189221a7c221b20217c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b8542208922292022200f7c201d20128542018922127c221d20027c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b200b7c202320107c202c202a85423089222320247c222420278542018922277c222a20087c202a201c85422089221c20147c221420278542288922277c222a201c85423089221c20147c221420278542018922277c222c20037c202c202820197c201d20128542018922127c221d20157c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892228202220057c201b201a85420189221a7c221b20037c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20157c202320057c202b202985423089222320257c222520268542018922267c222920217c2029201385422089221320147c221420268542288922267c2229201385423089221320147c221420268542018922267c222b200f7c202b202a20197c201b201a85420189221a7c221b200a7c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b85422089222a202220027c201d20128542018922127c221d20087c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20027c202320077c202c202885423089222320247c222420278542018922277c222820117c2028201c85422089221c20147c221420278542288922277c2228201c85423089221c20147c221420278542018922277c222c20197c202c2029200c7c201d20128542018922127c221d20097c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892229202220167c201b201a85420189221a7c221b20107c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c200c7c202320117c202b202a85423089222320257c222520268542018922267c222a20157c202a201385422089221320147c221420268542288922267c222a201385423089221320147c221420268542018922267c222b20077c202b202820107c201b201a85420189221a7c221b200b7c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892228202220037c201d20128542018922127c221d20097c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20097c2023200a7c202c202985423089222320247c222420278542018922277c222920057c2029201c85422089221c20147c221420278542288922277c2229201c85423089221c20147c221420278542018922277c222c20117c202c202a200f7c201d20128542018922127c221d20217c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d85422089222a202220087c201b201a85420189221a7c221b20167c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20197c202320167c202b202885423089222320257c222520268542018922267c2228200c7c2028201385422089221320147c221420268542288922267c2228201385423089221320147c221420268542018922267c222b20057c202b2029200b7c201b201a85420189221a7c221b20157c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892229202220077c201d20128542018922127c221d200a7c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20107c202320037c202c202a85423089222320247c222420278542018922277c222a20107c202a201c85422089221c20147c221420278542288922277c222a201c85423089221c20147c221420278542018922277c222c20077c202c202820217c201d20128542018922127c221d20087c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892228202220027c201b201a85420189221a7c221b200f7c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20117c202320197c202b202985423089222320257c222520268542018922267c222920087c2029201385422089221320147c221420268542288922267c2229201385423089221320147c221420268542018922267c222b20027c202b202a200c7c201b201a85420189221a7c221b20057c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b85422089222a202220217c201d20128542018922127c221d200f7c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20057c202320157c202c202885423089222320247c222420278542018922277c2228200b7c2028201c85422089221c20147c221420278542288922277c2228201c85423089221c20147c221420278542018922277c222c20087c202c202920037c201d20128542018922127c221d20167c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d8542208922292022200a7c201b201a85420189221a7c221b20097c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20027c202320077c202b202a85423089222320257c222520268542018922267c222a20107c202a201385422089221320147c221420268542288922267c222a201385423089221320147c221420268542018922267c222b20037c202b2028200f7c201b201a85420189221a7c221b20117c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892228202220167c201d20128542018922127c221d20197c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20157c202320217c202c202985423089222320247c222420278542018922277c222920097c2029201c85422089221c20147c221420278542288922277c2229201c85423089221c20147c221420278542018922277c222c200a7c202c202a200b7c201d20128542018922127c221d200a7c201d202385422089220a201b201e7c221b7c221d20128542288922127c221e200a85423089220a8542208922232022200c7c201b201a85420189221a7c221b20157c201b201385422089221520247c2213201a85422889221a7c221b201585423089221520137c22137c222220278542288922247c222720097c201e20037c202b202885423089220320257c2209202685420189221e7c222520077c2025201585422089220720147c2215201e8542288922147c221e200785423089220720157c221520148542018922147c222520107c2025202920057c2013201a8542018922057c2210200c7c20102003854220892210200a201d7c22037c220a20058542288922057c220c2010854230892210854220892213201b200b7c200320128542018922037c220b20217c200b201c85422089222120097c220920038542288922037c220b202185423089222120097c22097c221220148542288922147c221a200485200b20197c2010200a7c221020058542018922057c221920027c201920078542208922022027202385423089220720227c22197c220a20058542288922057c220b2002854230892202200a7c220a853703102000200d2011201e20087c200920038542018922087c22037c2003200785422089220720107c221020088542288922087c220385200f200c20167c201920248542018922117c22167c2016202185422089220f20157c221620118542288922117c2219200f85423089220f20167c221685370318200020192017852003200785423089220720107c2210853703082000200b201f85201a201385423089220320127c22198537030020002018200a200585420189852003853703282000200e2019201485420189852002853703382000200620162011854201898520078537033020002020201020088542018985200f853703200bdf3004017f087e067f257e2380808080004180016b2208248080808000200229033821092002290330210a2002290328210b2002290320210c2002290318210d2002290310210e2002290308210f20022903002110410021112008410041800110fa9780800021122000200141807c41807f20071b41002001417f6a2208200820014b1b71220820012008491b22136a211402400240200120136b221341ff004d0d0041800121130c010b20122014201310f49780800021140b41800441800120071b221520086a21162006ad427f7c21172005200672ad427f7c2118024002400340201821192017211a2013210620142107024020082011460d00201141807f460d0220114180016a20014b0d03200020116a21074180012106420021194200211a0b200c2007290038221b200d20097c2007290030221c7c221d7c2019201d8542f9c2f89b91a3b3f0db0085422089221e42f1edf4f8a5a7fda7a57f7c221f20098542288922207c2221200729000822192010200c7c2007290000221d7c22227c202220032006ad7c22238542d1859aeffacf9487d100854220892222428892f39dffccf984ea007c2224200c8542288922257c2226202285423089222720247c222820258542018922297c200729007022227c222a200729007822247c202a20072900282225200e200a7c2007290020222b7c222c7c201a202c8542ebfa86dabfb5f6c11f85422089221a42abf0d3f4afeebcb73c7c222c200a85422889222d7c222e201a85423089222f8542208922302007290018221a200f200b7c2007290010222a7c22317c203120042023200354ad7c220485429fd8f9d9c291da829b7f85422089220342bbceaaa6d8d0ebb3bb7f7c2231200b8542288922327c2233200385423089223420317c22317c223520298542288922367c2237200729006822037c20072900602229202e7c2021201e854230892221201f7c222e202085420189221e7c221f20037c201f203485422089221f20287c2220201e85422889221e7c2228201f85423089223420207c2238201e8542018922397c2220201c7c202020262007290040221e7c203120328542018922267c22312007290048221f7c20312021854220892221202f202c7c222c7c222f20268542288922267c2231202185423089223285422089223a2007290050222020337c202c202d85420189222c7c222d200729005822217c202d2027854220892227202e7c222d202c85422889222c7c222e2027854230892227202d7c222d7c223320398542288922397c223b20257c203120227c2037203085423089223020357c223120368542018922357c223620207c2036202785422089222720387c223620358542288922357c2237202785423089222720367c223620358542018922357c2238201a7c20382028201f7c202d202c8542018922287c222c20247c202c203085422089222c2032202f7c222d7c222f20288542288922287c2230202c85423089222c854220892232202e202b7c202d20268542018922267c222d201e7c202d203485422089222d20317c222e20268542288922267c2231202d85423089222d202e7c222e7c223420358542288922357c223820247c203020217c203b203a85423089223020337c223320398542018922397c223a201b7c203a202d85422089222d20367c223620398542288922397c223a202d85423089222d20367c223620398542018922397c223b20037c203b203720197c202e20268542018922267c222e20297c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e8542208922372031201d7c202c20288542018922287c222c202a7c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320398542288922397c223b201f7c203020217c2038203285423089223020347c223220358542018922347c2235201e7c2035202785422089222720367c223520348542288922347c2236202785423089222720357c223520348542018922347c2238202b7c2038203a20257c202c20288542018922287c222c202a7c202c203085422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c854220892238203120297c202e20268542018922267c222e201d7c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a20217c2030201b7c203b203785423089223020337c223320398542018922377c223920197c2039202d85422089222d20357c223520378542288922377c2239202d85423089222d20357c223520378542018922377c223b20227c203b203620207c202e20268542018922267c222e20227c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e8542208922362031201a7c202c20288542018922287c222c201c7c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320378542288922377c223b20247c2030201b7c203a203885423089223020327c223220348542018922347c2238201f7c2038202785422089222720357c223520348542288922347c2238202785423089222720357c223520348542018922347c223a201e7c203a203920037c202c20288542018922287c222c20297c202c203085422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c8542208922392031201a7c202e20268542018922267c222e20197c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a20207c2030202b7c203b203685423089223020337c223320378542018922367c2237201d7c2037202d85422089222d20357c223520368542288922367c2237202d85423089222d20357c223520368542018922367c223b20247c203b2038202a7c202e20268542018922267c222e201c7c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e854220892238203120257c202c20288542018922287c222c20207c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b201a7c2030201f7c203a203985423089223020327c223220348542018922347c2239201d7c2039202785422089222720357c223520348542288922347c2239202785423089222720357c223520348542018922347c223a20037c203a2037202a7c202c20288542018922287c222c202b7c202c203085422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c854220892237203120257c202e20268542018922267c222e201b7c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a201e7c2030201c7c203b203885423089223020337c223320368542018922367c2238201e7c2038202d85422089222d20357c223520368542288922367c2238202d85423089222d20357c223520368542018922367c223b201a7c203b203920227c202e20268542018922267c222e20197c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e854220892239203120217c202c20288542018922287c222c20297c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b20197c2030202a7c203a203785423089223020327c223220348542018922347c223720297c2037202785422089222720357c223520348542288922347c2237202785423089222720357c223520348542018922347c223a201f7c203a2038201d7c202c20288542018922287c222c20217c202c203085422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c8542208922382031201c7c202e20268542018922267c222e20207c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a202b7c203020247c203b203985423089223020337c223320368542018922367c223920227c2039202d85422089222d20357c223520368542288922367c2239202d85423089222d20357c223520368542018922367c223b20207c203b2037202b7c202e20268542018922267c222e20037c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e8542208922372031201b7c202c20288542018922287c222c20257c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b201e7c203020297c203a203885423089223020327c223220348542018922347c223820257c2038202785422089222720357c223520348542288922347c2238202785423089222720357c223520348542018922347c223a20217c203a203920227c202c20288542018922287c222c20037c202c203085422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c854220892239203120197c202e20268542018922267c222e20247c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a201a7c2030201f7c203b203785423089223020337c223320368542018922367c2237202a7c2037202d85422089222d20357c223520368542288922367c2237202d85423089222d20357c223520368542018922367c223b201f7c203b2038201d7c202e20268542018922267c222e201b7c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e8542208922382031201c7c202c20288542018922287c222c201a7c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b202a7c203020037c203a203985423089223020327c223220348542018922347c223920217c2039202785422089222720357c223520348542288922347c2239202785423089222720357c223520348542018922347c223a20207c203a203720297c202c20288542018922287c222c20197c202c203085422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c8542208922372031201b7c202e20268542018922267c222e20227c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a201d7c2030201e7c203b203885423089223020337c223320368542018922367c2238201c7c2038202d85422089222d20357c223520368542288922367c2238202d85423089222d20357c223520368542018922367c223b201e7c203b203920257c202e20268542018922267c222e201d7c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e854220892239203120247c202c20288542018922287c222c202b7c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b20207c2030201c7c203a203785423089223020327c223220348542018922347c223720247c2037202785422089222720357c223520348542288922347c2237202785423089222720357c223520348542018922347c223a20257c203a203820217c202c20288542018922287c222c201a7c2030202c85422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c854220892238203120227c202e20268542018922267c222e201f7c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a20197c203020197c203b203985423089223020337c223320368542018922367c2239202b7c2039202d85422089222d20357c223520368542288922367c2239202d85423089222d20357c223520368542018922367c223b20257c203b203720297c202e20268542018922267c222e202a7c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e854220892237203120037c202c20288542018922287c222c201b7c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b20037c203020207c203a203885423089223020327c223220348542018922347c2238202a7c2038202785422089222720357c223520348542288922347c2238202785423089222720357c223520348542018922347c223a201d7c203a2039201b7c202c20288542018922287c222c201c7c2030202c85422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c8542208922392031201e7c202e20268542018922267c222e202b7c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a201c7c2030201a7c203b203785423089223020337c223320368542018922367c223720297c2037202d85422089222d20357c223520368542288922367c2237202d85423089222d20357c223520368542018922367c223b201b7c203b203820247c202e20268542018922267c222e20217c202e203085422089222e202c202f7c222c7c222f20268542288922267c2230202e85423089222e8542208922382031201f7c202c20288542018922287c222c20227c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320368542288922367c223b20227c2030201d7c203a203985423089223020327c223220348542018922347c223920197c2039202785422089222720357c223520348542288922347c2239202785423089222720357c223520348542018922347c223a20247c203a2037202b7c202c20288542018922287c222c20257c2030202c85422089222c202e202f7c222e7c222f20288542288922287c2230202c85423089222c8542208922372031202a7c202e20268542018922267c222e201a7c202e202d85422089222d20327c222e20268542288922267c2231202d85423089222d202e7c222e7c223220348542288922347c223a20037c203020297c203b203885423089223020337c223320368542018922367c223820037c2038202d85422089220320357c222d20368542288922357c22362003854230892203202d7c222d20358542018922357c2238201c7c20382039201e7c202e202685420189221c7c2226201f7c20262030854220892226202c202f7c222c7c222e201c85422889221c7c222f2026854230892226854220892230203120207c202c20288542018922287c222c20217c202c202785422089222720337c222c20288542288922287c22312027854230892227202c7c222c7c223320358542288922357c223820257c202f20227c203a203785423089222220327c2225203485420189222f7c223220207c20322027854220892220202d7c2227202f85422889222d7c222f202085423089222020277c2227202d85420189222d7c2232201a7c20322036201f7c202c202885420189221a7c221f20247c2022201f8542208922222026202e7c22247c221f201a85422889221a7c222620228542308922228542208922282031202b7c2024201c85420189221c7c2224201e7c2024200385422089222420257c2225201c85422889221c7c222b202485423089222420257c22257c2203202d85422889221e7c222c202885423089222820037c2203201e8542018985202b201d7c2022201f7c221d201a8542018922227c222b202a7c202b202085422089222b2038203085423089221a20337c222a7c221e20228542288922227c221f202b85423089222b85210c200b202f20197c2025201c85420189221c7c221920297c2019201a854220892219201d7c221d201c85422889221c7c22252019854230892219201d7c221d201c8542018985202620217c202a203585420189221c7c221a201b7c201a202485422089221b20277c2224201c85422889221c7c221a201b85423089221b85210b202b201e7c222b200d85202c85210d201f200f85200385210f2025201085201b20247c221b8521102009201b201c85420189852019852109202b202285420189200a85202885210a201a200e85201d85210e202321032016201120156a2211470d000b200220093703382002200a3703302002200b3703282002200c3703202002200d3703182002200e3703102002200f3703082002201037030020124180016a2480808080000f0b41807f20114180016a41f0e7c18000109581808000000b20114180016a200141f0e7c18000109181808000000b8b0402047f027e024002400240024002400240024020002d00d00122030d0041002103200221040c010b200241800120036b220520022005491b220420036a22062004490d0120064180014b0d02200020036a2001200410f4978080001a200020002d00d00120046a22033a00d001200120046a2101200220046b2104200220054d0d0041002103200041800120004180016a20002903c00120002903c80120002d00d2014101410010d080808000200041003a00d001200020002903c00122074280017c22083703c001200020002903c8012008200754ad7c3703c8010b024041002004417f6a2202200220044b1b41807f712202450d0020042002490d052001200220004180016a20002903c00120002903c80120002d00d2014101410010d080808000200020002903c00122072002ad7c22083703c001200020002903c8012008200754ad7c3703c801200120026a2101200420026b210420002d00d00121030b2004418001200341ff017122026b220320042003491b220420026a22032004490d0220034180014b0d03200020026a2001200410f4978080001a200020002d00d00120046a3a00d00120000f0b2003200641e0e8c18000109581808000000b200641800141e0e8c18000109181808000000b2002200341e0e8c18000109581808000000b200341800141e0e8c18000109181808000000b2002200441f0e8c18000109181808000000b9b0601097f024002400240024020020d00410021060c010b200120026a210720052d0080012108200141016a21094101210a410021062001210b4100210c0340200c210d200b210e2009210b200a210c02400240200e2c0000220e4100480d002005200e6a2d0000220a41ff01470d012000200d3602042000200e3602000f0b2000200d3602042000418280c4003602000f0b02400240200620044b0d00200320066a210d2006450d0102400240200641037122090d002003210e0c010b2003210e0340200e200e2d0000413a6c200a6a220a3a0000200e41016a210e200a410876210a2009417f6a22090d000b0b20064104490d010340200e200e2d0000413a6c200a6a220a3a0000200e41016a220920092d0000413a6c200a4108766a220a3a0000200e41026a220920092d0000413a6c200a4108766a220a3a0000200e41036a220920092d0000413a6c200a4108766a220a3a0000200a410876210a200e41046a220e200d470d000c020b0b20062004418ceac18000109181808000000b0240200a450d00200620044f0d03200d200a3a0000200641016a21060b200c200b200747220e6a210a200b200e6a2109200e0d000b20062004200620044b1b2109200841ff0171210a0240034020012d0000200a470d01200320066a410020062004491b210e024020092006470d002000200e3602042000418080c4003602000f0b200141016a2101200e41003a0000200641016a21062002417f6a22020d000b0b200620044b0d0220064102490d00200320066a210c4100210e0240200641017622094101460d002006417f6a210a200941feffffff077121044100210e03402003200a6a220d2d0000210b200d2003200e6a22092d00003a00002009200b3a0000200c200e417e736a220d2d0000210b200d200941016a22092d00003a00002009200b3a0000200a417e6a210a2004200e41026a220e470d000b0b2006410271450d002003200e6a220a2d00002109200a200c200e417f736a220e2d00003a0000200e20093a00000b2000418380c400360200200020063602040f0b2000428080c4003702000f0b2006200441fce9c18000109181808000000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b1e002001280200419ceac18000410b200128020428020c118080808000000bf50202027f017e23808080800041c0006b22032480808080002003200236020c024002400240200220012802082204460d0020020d0120004200370208200041a8ebc18000360200200020012802043602040c020b20012902002105200141a8ebc1800036020020002005370200200141086a2204290200210520044200370200200041086a20053702002001200128020420026a3602040c010b0240200220044b0d00200341106a2001410c6a20012802042004200128020028020011838080800000200341106a41086a22042002360200200020032902103702002001200128020820026b3602082001200128020420026a360204200041086a20042902003702000c010b20034102360214200341b4ecc180003602102003420237021c2003200436023c2003418c80808000ad42208622052003413c6aad84370330200320052003410c6aad843703282003200341286a360218200341106a41c4ecc1800010fe80808000000b200341c0006a2480808080000b22002000410036020c2000200336020820002002360204200041a8ebc180003602000b870101017f4100210402400240024020034100480d00024020030d00410121040c030b41002d008083d480001a200341002802f482d480001182808080000022040d01410121040b200420034198ebc1800010b980808000000b2004417e6a41003b00000b20042002200310f49780800021042000200336020820002004360204200020033602000ba30101017f4100210402400240024020034100480d00024020030d00410121040c030b41002d008083d480001a200341002802f482d480001182808080000022040d01410121040b20042003419cefc1800010b980808000000b2004417e6a41003b00000b20042002200310f49780800021042000200336020820002003360204200020043602002000411d4181012003410a76674102746b200341ffff074b1b36020c0b040041000b02000b6b01017f024020012802002204410171450d002000200120042004417e712002200310dc808080000f0b20042004280208220141016a36020802402001417f4c0d002000200436020c2000200336020820002002360204200041d8edc180003602000f0b10ed80808000000b810201037f41002d008083d480001a02400240410c41002802f482d48000118280808000002206450d002006200641036a417c7120066b22076a22064102360208200620033602002006200420036b20056a3602042006417e6a220820073b00002001200620012802002203200320024622021b360200024020020d0020032003280208220141016a3602082001417f4c0d022000200336020c2000200536020820002004360204200041d8edc18000360200200620082f00006b41002802ec82d48000118180808000000f0b2000200636020c2000200536020820002004360204200041d8edc180003602000f0b4104410c10ab80808000000b10ed80808000000b4d00024020012802002201410171450d002001417e712002200310f997808000210120002003360208200020013602042000200320026a20016b3602000f0b200020012002200310de808080000b810301037f23808080800041106b220424808080800041002105200141002001280208220620064101461b36020802400240024020064101470d00200128020421052001280200210620012001417e6a2f00006b41002802ec82d480001181808080000020062002200310f9978080001a0c010b02400240024020034100480d00410121062003450d0241002d008083d480001a200341002802f482d480001182808080000022060d01410121050b200520034198ebc1800010b980808000000b2006417e6a41003b00000b20062002200310f4978080001a200120012802082202417f6a3602082003210520024101470d00200141046a280200417f4c0d01200128020022052005417e6a2f00006b41002802ec82d480001181808080000020012001417e6a2f00006b41002802ec82d4800011818080800000200321050b200020033602082000200636020420002005360200200441106a2480808080000f0b418cedc18000412b2004410f6a41fcecc1800041c8edc1800010a981808000000bbc0201067f02400240024020012802002201410171450d00411d41810120022001417e7122046b220520036a2201410a76674102746b200141ffff074b1b2106024020022004470d0020062102200121030c030b02402006410576220720056a220241808080c000490d0041002d008083d480001a0240411441002802f482d48000118280808000002202450d002002200241036a417c7120026b22086a220241013602102002200720016a22093602082002200420076b360204200220093602002002200641027641077136020c2002417e6a20083b00000c030b4104411410ab80808000000b20024105742006411d717221020c010b200020012002200310e0808080000f0b4100200120056b2206200620014b1b2101200420056a21040b2000200236020c2000200336020820002001360204200020043602000bfc0401067f23808080800041106b220424808080800002400240024020012802084101470d00200128020021052001280204210620012001417e6a2f00006b41002802ec82d4800011818080800000411d4181012006410a76674102746b200641ffff074b1b2107200220056b220820036a2103024020022005470d00200721010c030b02402007410576220220086a220141808080c000490d0041002d008083d480001a0240411441002802f482d48000118280808000002201450d002001200141036a417c7120016b22096a220141013602102001200220036a3602082001200520026b3602042001200220066a3602002001200741027641077136020c2001417e6a20093b00000c030b4104411410ab80808000000b20014105742007411d717221010c010b4100210502400240024020034100480d00410121052003450d0241002d008083d480001a200341002802f482d480001182808080000022050d01410121050b200520034198ebc1800010b980808000000b2005417e6a41003b00000b20052002200310f4978080001a200120012802082206417f6a3602080240024020064101470d00200141046a280200417f4c0d01200128020022062006417e6a2f00006b41002802ec82d480001181808080000020012001417e6a2f00006b41002802ec82d48000118180808000000b411d4181012003410a76674102746b200341ffff074b1b2101200321060c020b418cedc18000412b2004410f6a41fcecc1800041c8edc1800010a981808000000b4100200320086b2202200220034b1b2103200620086b2106200520086a21050b2000200136020c200020063602082000200336020420002005360200200441106a2480808080000b870201017f23808080800041106b2203248080808000024002400240024020002802002200410171450d00200220016a2000417e7122006b417f4c0d0220002000417e6a2f01006b41002802ec82d48000118180808000000c010b200020002802082202417f6a36020820024101470d00200041046a280200417f4c0d02200028020022022002417e6a2f00006b41002802ec82d480001181808080000020002000417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000f0b418cedc18000412b2003410f6a41fcecc1800041b8edc1800010a981808000000b418cedc18000412b2003410f6a41fcecc1800041c8edc1800010a981808000000b6801017f024020012802002204410171450d0020002001200420042002200310dc808080000f0b20042004280208220141016a36020802402001417f4c0d002000200436020c2000200336020820002002360204200041d8edc180003602000f0b10ed80808000000b4a00024020012802002201410171450d0020012002200310f997808000210120002003360208200020013602042000200320026a20016b3602000f0b200020012002200310de808080000bb70201067f02400240024020012802002201410171450d00411d418101200220016b220420036a2205410a76674102746b200541ffff074b1b2106024020022001470d0020062102200521030c030b02402006410576220720046a220241808080c000490d0041002d008083d480001a0240411441002802f482d48000118280808000002202450d002002200241036a417c7120026b22086a220241013602102002200720056a22093602082002200120076b360204200220093602002002200641027641077136020c2002417e6a20083b00000c030b4104411410ab80808000000b20024105742006411d717221020c010b200020012002200310e0808080000f0b4100200520046b2206200620054b1b2105200120046a21010b2000200236020c2000200336020820002005360204200020013602000b820201017f23808080800041106b2203248080808000024002400240024020002802002200410171450d00200220016a20006b417f4c0d0220002000417e6a2f00006b41002802ec82d48000118180808000000c010b200020002802082202417f6a36020820024101470d00200041046a280200417f4c0d02200028020022022002417e6a2f00006b41002802ec82d480001181808080000020002000417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000f0b418cedc18000412b2003410f6a41fcecc1800041b8edc1800010a981808000000b418cedc18000412b2003410f6a41fcecc1800041c8edc1800010a981808000000b2301017f410121010240200028020022004101710d00200028020841014621010b20010b4901017f200128020022012001280208220441016a36020802402004417f4a0d0010ed80808000000b2000200136020c2000200336020820002002360204200041d8edc180003602000b1300200020012802002002200310de808080000b1300200020012802002002200310e0808080000b0d0020002802002802084101460baa0101027f23808080800041106b22032480808080002000280200220020002802082204417f6a3602080240024020044101470d00200041046a280200417f4c0d01200028020022042004417e6a2f00006b41002802ec82d480001181808080000020002000417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000f0b418cedc18000412b2003410f6a41fcecc1800041c8edc1800010a981808000000bd70402067f027e23808080800041306b22022480808080004101210302402001280200220441ecedc1800041022001280204220528020c2206118080808000000d00024020002802042207450d002000280200210141a180808000ad4220862002410c6aad84210841a280808000ad4220862002410b6aad8421090340200220012d000022033a000b02400240024002400240024002400240024020030e230305050505050505050200050501050505050505050505050505050505050505050506040b200441efedc1800041022006118080808000000d060c070b200441f1edc180004102200611808080800000450d060c050b200441f3edc180004102200611808080800000450d050c040b20044180eec180004102200611808080800000450d040c030b200341dc00460d010b0240200341606a41ff017141df00490d00200241013602242002418ceec180003602202002410136021420024184eec180003602102002410136021c200220093703282002200241286a36021820042005200241106a10b181808000450d030c020b20024101360214200241a4eec180003602102002420137021c200220083703282002200336020c2002200241286a36021820042005200241106a10b181808000450d020c010b20024101360214200241f8edc180003602102002420137021c200220083703282002200336020c2002200241286a36021820042005200241106a10b181808000450d010b410121030c030b200141016a21012007417f6a22070d000b0b200441eeedc18000410120061180808080000021030b200241306a24808080800020030b170041acefc180004105418cf0c18000108081808000000bc20603037f027e027f02402002280200220341134d0d0002400240200042808084fea6dee111540d002001200341706a22046a22052000200042808084fea6dee11180220642808084fea6dee1117e7d2200428080e983b1de1680a741017441a0f1c180006a2f00003b00002005410c6a200042e40080220742e40082a741017441a0f1c180006a2f00003b00002005410a6a20004290ce008042e40082a741017441a0f1c180006a2f00003b0000200541086a200042c0843d8042e40082a741017441a0f1c180006a2f00003b0000200541066a20004280c2d72f80a741e4007041017441a0f1c180006a2f00003b0000200541046a20004280c8afa02580a741e4007041017441a0f1c180006a2f00003b00002005410e6a2000200742e4007e7da741017441a0f1c180006a2f00003b0000200541026a20004280a094a58d1d80a741ffff037141e4007041017441a0f1c180006a2f00003b00002006a721050c010b0240024020004280c2d72f5a0d00200021060c010b2002200341786a2203360200200120036a2205200020004280c2d72f8022064280c2d72f7e7da7220441c0843d6e41017441a0f1c180006a2f00003b0000200541046a200441e4006e220841e4007041017441a0f1c180006a2f00003b0000200541066a2004200841e4006c6b41017441a0f1c180006a2f00003b0000200541026a20044190ce006e41ffff037141e4007041017441a0f1c180006a2f00003b00000b2006a72108024020064290ce005a0d0020032104200821050c010b20012003417c6a22046a200820084190ce006e22054190ce006c6b220841ffff037141e4006e220941017441a0f1c180006a2f00003b0000200120036a417e6a2008200941e4006c6b41ffff037141017441a0f1c180006a2f00003b00000b02400240200541e4004f0d00200521030c010b20012004417e6a22046a2005200541ffff037141e4006e220341e4006c6b41ffff037141017441a0f1c180006a2f00003b00000b0240200341ffff03712205410a490d0020012004417e6a22036a200541017441a0f1c180006a2f00003b0000200220033602000f0b20012004417f6a22056a20034130723a0000200220053602000f0b41e8f2c18000411c4184f3c18000108081808000000b1600200029030020002903084101200110f0808080000be00403017f027e017f23808080800041a0016b22042480808080002004412736029c0102400240200142808020540d00200441306a2000420042f3b2d8c19e9ebdcc957f420010fc97808000200441c0006a2001420042f3b2d8c19e9ebdcc957f420010fc97808000200441206a2000420042d2e1aadaeda7c987f600420010fc97808000200441d0006a2001420042d2e1aadaeda7c987f600420010fc97808000200441e0006a200020014200420010fc97808000200429035820042903482004290340220120042903387c2205200154ad7c220120042903282004290320220620057c200654ad7c7c2205200154ad7c2004290350220620057c2201200654ad7c20042903687c200120042903607c2206200154ad7c2201423e8821052006423e8820014202868421010c010b20004213882001422d868442bda282a38eab04802101420021050b200441106a20012005428080e0b0b79fb79cf500420010fc97808000200429031020007c200441f5006a2004419c016a10ee80808000200428029c012107024020012005844200510d00200441f5006a41146a41302007416c6a10fa978080001a2004411436029c01200420014213882005422d8684220042bda282a38eab048022052001428080e0b0b79fb79cf500420010fc97808000200429030020017c200441f5006a2004419c016a10ee80808000200428029c012107200042bda282a38eab04540d00200441f6006a41302007417f6a10fa978080001a20042005a741306a3a0075410021070b2003200241014100200441f5006a20076a412720076b10b2818080002107200441a0016a24808080800020070be80201037f2380808080004180016b2202248080808000200220002d000022004101714130723a007f200041017622036741686a210402400240200041024f0d00200241ff006a21000c010b200220034101714130723a007e024020044107470d00200241fe006a21000c010b200220004102764101714130723a007d024020044106470d00200241fd006a21000c010b200220004103764101714130723a007c024020044105470d00200241fc006a21000c010b200220004104764101714130723a007b024020044104470d00200241fb006a21000c010b200220004105764101714130723a007a024020044103470d00200241fa006a21000c010b200220004106764101714130723a0079024020044102470d00200241f9006a21000c010b200220004107764130723a0078200241f8006a21000b20014101419ef1c1800041022000418101200441f8006a41ff01716b10b281808000210020024180016a24808080800020000b910101037f2380808080004180016b220224808080800020002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b281808000210020024180016a24808080800020000bef0e02067f037e23808080800041a0016b22022480808080000240024002400240024002400240024002400240024002400240024020014108490d0020014107712203450d0520002802a001220441294f0d01024020040d00200041003602a0010c060b2004417f6a41ffffffff0371220541016a2206410371210720034102744194f3c180006a280200200376ad210802400240200541034f0d0042002109200021030c010b200641fcffffff07712105420021092000210303402003200335020020087e20097c22093e0200200341046a2206200635020020087e20094220887c22093e0200200341086a2206200635020020087e20094220887c22093e02002003410c6a2206200635020020087e20094220887c220a3e0200200a4220882109200341106a21032005417c6a22050d000b0b02402007450d0003402003200335020020087e20097c220a3e0200200341046a2103200a42208821092007417f6a22070d000b0b0240200a428080808010540d0020044128460d03200020044102746a2009a7360200200441016a21040b200020043602a0010c050b20002802a001220641294f0d02024020060d00200041003602a0010c060b20014102744194f3c180006a35020021082006417f6a41ffffffff0371220341016a2205410371210702400240200341034f0d0042002109200021030c010b200541fcffffff07712105420021092000210303402003200335020020087e20097c22093e0200200341046a2201200135020020087e20094220887c22093e0200200341086a2201200135020020087e20094220887c22093e02002003410c6a2201200135020020087e20094220887c220a3e0200200a4220882109200341106a21032005417c6a22050d000b0b02402007450d0003402003200335020020087e20097c220a3e0200200341046a2103200a42208821092007417f6a22070d000b0b0240200a428080808010540d0020064128460d04200020064102746a2009a7360200200641016a21060b200020063602a0010c050b2004412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b2006412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b02402001410871450d0020002802a001220441294f0d020240024020040d00410021040c010b2004417f6a41ffffffff0371220341016a2205410371210702400240200341034f0d0042002108200021030c010b200541fcffffff07712105420021082000210303402003200335020042e1eb177e20087c22083e0200200341046a2206200635020042e1eb177e20084220887c22083e0200200341086a2206200635020042e1eb177e20084220887c22083e02002003410c6a2206200635020042e1eb177e20084220887c22093e020020094220882108200341106a21032005417c6a22050d000b0b02402007450d0003402003200335020042e1eb177e20087c22093e0200200341046a2103200942208821082007417f6a22070d000b0b2009428080808010540d0020044128460d04200020044102746a2008a7360200200441016a21040b200020043602a0010b02402001411071450d002002410041a00110fa9780800021030240024020002802a00122074102490d00200741294f0d06200341bcf3c1800041022000200710ab8180800021070c010b20032000200741bcf3c18000410210ab8180800021070b2000200341a00110f49780800020073602a0010b02402001412071450d002002410041a00110fa9780800021030240024020002802a00122074103490d00200741294f0d07200341c4f3c1800041032000200710ab8180800021070c010b20032000200741c4f3c18000410310ab8180800021070b2000200341a00110f49780800020073602a0010b0240200141c00071450d002002410041a00110fa9780800021030240024020002802a00122074105490d00200741294f0d08200341d0f3c1800041052000200710ab8180800021070c010b20032000200741d0f3c18000410510ab8180800021070b2000200341a00110f49780800020073602a0010b0240200141800171450d002002410041a00110fa9780800021030240024020002802a0012207410a490d00200741294f0d09200341e4f3c18000410a2000200710ab8180800021070c010b20032000200741e4f3c18000410a10ab8180800021070b2000200341a00110f49780800020073602a0010b0240200141800271450d002002410041a00110fa9780800021030240024020002802a00122074113490d00200741294f0d0a2003418cf4c1800041132000200710ab8180800021070c010b200320002007418cf4c18000411310ab8180800021070b2000200341a00110f49780800020073602a0010b2000200110aa818080001a0b200241a0016a24808080800020000f0b2004412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b2007412841dca0c28000109181808000000b2007412841dca0c28000109181808000000b2007412841dca0c28000109181808000000b2007412841dca0c28000109181808000000b2007412841dca0c28000109181808000000bfe3003017f047e1c7f23808080800041a00a6b22042480808080000240024002400240200129030022054200510d000240200129030822064200510d000240200129031022074200510d000240200520077c22082005540d00024020052006540d000240200341104d0d0020012c001a210920012e01182101200420053e0200200441014102200542808080801054220a1b3602a001200441002005422088a7200a1b360204200441086a410041980110fa978080001a200420063e02a401200441014102200642808080801054220a1b3602c402200441002006422088a7200a1b3602a801200441a4016a41086a410041980110fa978080001a200420073e02c802200441014102200742808080801054220a1b3602e803200441002007422088a7200a1b3602cc02200441c8026a41086a410041980110fa978080001a200441f0036a4100419c0110fa978080001a200441013602ec032004410136028c052001ad4230864230872008427f7c797d42c29ac1e8047e4280a1cda0b4027c422088a7220a411074411075210b0240024020014100480d002004200110aa818080001a200441a4016a200110aa818080001a200441c8026a200110aa818080001a0c010b200441ec036a410020016b41107441107510aa818080001a0b02400240200b417f4a0d0020044100200b6b41ffff0371220110f3808080001a200441a4016a200110f3808080001a200441c8026a200110f3808080001a0c010b200441ec036a200a41ffff017110f3808080001a0b200441fc086a200441a40110f4978080001a024020042802e803220c200428029c0a2201200c20014b1b220d41294f0d00024002400240200d0d004100210d0c010b200d410171210e02400240200d4101470d004100210f410021100c010b200d413e7121114100210f200441fc086a2101200441c8026a210a410021100340200120012802002212200a2802006a2213200f4101716a2214360200200141046a220f200f2802002215200a41046a2802006a220f20132012492014201349726a2213360200200f2015492013200f4972210f200a41086a210a200141086a21012011201041026a2210470d000b0b0240200e450d00200441fc086a201041027422016a220a200a280200220a200441c8026a20016a2802006a2201200f6a22133602002001200a49201320014972210f0b200f410171450d00200d4128460d01200441fc086a200d4102746a4101360200200d41016a210d0b2004200d36029c0a0240200d200428028c052201200d20014b1b220141294f0d00200141027421010240024003402001450d012001417c6a2201200441ec036a6a280200220a2001200441fc086a6a2802002213460d000b200a20134b200a2013496b21010c010b417f410020011b21010b024002400240024002400240024020012009480d0020042802a001221041294f0d060240024020100d00410021100c010b2010417f6a41ffffffff0371220141016a2213410371210a02400240200141034f0d0020042101420021060c010b201341fcffffff077121132004210142002106034020012001350200420a7e20067c22053e0200200141046a220f200f350200420a7e20054220887c22053e0200200141086a220f200f350200420a7e20054220887c22053e02002001410c6a220f200f350200420a7e20054220887c22053e020020054220882106200141106a21012013417c6a22130d000b0b0240200a450d00034020012001350200420a7e20067c22053e0200200141046a210120054220882106200a417f6a220a0d000b0b2005428080808010540d0020104128460d06200420104102746a2006a7360200201041016a21100b200420103602a00120042802c402221041294f0d04410021124100210102402010450d002010417f6a41ffffffff0371220141016a2213410371210a02400240200141034f0d00200441a4016a2101420021050c010b201341fcffffff07712113200441a4016a210142002105034020012001350200420a7e20057c22053e0200200141046a220f200f350200420a7e20054220887c22053e0200200141086a220f200f350200420a7e20054220887c22053e02002001410c6a220f200f350200420a7e20054220887c22063e020020064220882105200141106a21012013417c6a22130d000b0b0240200a450d00034020012001350200420a7e20057c22063e0200200141046a210120064220882105200a417f6a220a0d000b0b024020064280808080105a0d00201021010c010b20104128460d04200441a4016a20104102746a2005a7360200201041016a21010b200420013602c4020240200c450d00200c417f6a41ffffffff0371220141016a2213410371210a02400240200141034f0d00200441c8026a2101420021050c010b201341fcffffff07712113200441c8026a210142002105034020012001350200420a7e20057c22053e0200200141046a220f200f350200420a7e20054220887c22053e0200200141086a220f200f350200420a7e20054220887c22053e02002001410c6a220f200f350200420a7e20054220887c22063e020020064220882105200141106a21012013417c6a22130d000b0b0240200a450d00034020012001350200420a7e20057c22063e0200200141046a210120064220882105200a417f6a220a0d000b0b024020064280808080105a0d002004200c3602e8030c030b200c4128460d03200441c8026a200c4102746a2005a7360200200c41016a21120b200420123602e8030c010b200b41016a210b0b20044190056a200441ec036a41a40110f4978080001a20044190056a410110aa818080002116200441b4066a200441ec036a41a40110f4978080001a200441b4066a410210aa818080002117200441d8076a200441ec036a41a40110f4978080001a024002400240024002400240024002400240024002400240024002400240024002400240200441d8076a410310aa8180800022182802a001221920042802a0012210201920104b1b220e41284b0d0020044190056a417c6a210c200441b4066a417c6a210d200441d8076a417c6a211120162802a001211a20172802a001211b200428028c05211c4100211d0340201d211e200e4102742101024002400240024003402001450d01201120016a210a2001417c6a220120046a2802002213200a280200220a460d000b2013200a490d010c020b2001450d010b4100211f2010210e0c010b0240200e450d004101210f200e410171211f410021100240200e4101460d00200e413e712120410021104101210f20042101200441d8076a210a0340200120012802002212200a280200417f736a2213200f4101716a2214360200200141046a220f200f2802002215200a41046a280200417f736a220f20132012492014201349726a2213360200200f2015492013200f4972210f200a41086a210a200141086a21012020201041026a2210470d000b0b0240201f450d002004201041027422016a220a200a280200220a201820016a280200417f736a2201200f6a22133602002001200a49201320014972210f0b200f410171450d050b2004200e3602a0014108211f0b201b200e201b200e4b1b222041294f0d042020410274210102400240024003402001450d01200d20016a210a2001417c6a220120046a2802002213200a280200220a460d000b2013200a4f0d01200e21200c020b2001450d00200e21200c010b02402020450d004101210f2020410171212141002110024020204101460d002020413e71210e410021104101210f20042101200441b4066a210a0340200120012802002212200a280200417f736a2213200f4101716a2214360200200141046a220f200f2802002215200a41046a280200417f736a220f20132012492014201349726a2213360200200f2015492013200f4972210f200a41086a210a200141086a2101200e201041026a2210470d000b0b02402021450d002004201041027422016a220a200a280200220a201720016a280200417f736a2201200f6a22133602002001200a49201320014972210f0b200f410171450d070b200420203602a001201f410472211f0b201a2020201a20204b1b220e41294f0d06200e410274210102400240024003402001450d01200c20016a210a2001417c6a220120046a2802002213200a280200220a460d000b2013200a4f0d012020210e0c020b2001450d002020210e0c010b0240200e450d004101210f200e4101712121410021100240200e4101460d00200e413e712120410021104101210f2004210120044190056a210a0340200120012802002212200a280200417f736a2213200f4101716a2214360200200141046a220f200f2802002215200a41046a280200417f736a220f20132012492014201349726a2213360200200f2015492013200f4972210f200a41086a210a200141086a21012020201041026a2210470d000b0b02402021450d002004201041027422016a220a200a280200220a201620016a280200417f736a2201200f6a22133602002001200a49201320014972210f0b200f410171450d090b2004200e3602a001201f41026a211f0b201c200e201c200e4b1b222041294f0d082020410274210102400240024003402001450d012001417c6a220120046a280200220a2001200441ec036a6a2802002213460d000b200a20134f0d01200e21200c020b2001450d00200e21200c010b02402020450d004101210f2020410171212141002110024020204101460d002020413e71210e410021104101210f20042101200441ec036a210a0340200120012802002212200a280200417f736a2213200f4101716a2214360200200141046a220f200f2802002215200a41046a280200417f736a220f20132012492014201349726a2213360200200f2015492013200f4972210f200a41086a210a200141086a2101200e201041026a2210470d000b0b02402021450d002004201041027422016a220a200a280200220a200441ec036a20016a280200417f736a2201200f6a22133602002001200a49201320014972210f0b200f410171450d0b0b200420203602a001201f41016a211f0b201e2003460d0e2002201e6a201f41306a3a000020042802c40222222020202220204b1b220141294f0d0a201e41016a211d200141027421010240024003402001450d012001417c6a220120046a280200220a2001200441a4016a6a2802002213460d000b200a20134b200a2013496b21230c010b417f410020011b21230b200441fc086a200441a40110f4978080001a20042802e8032221200428029c0a2201202120014b1b221f41294f0d0b02400240201f0d004100211f0c010b201f41017121244100210f410021100240201f4101460d00201f413e71210e4100210f200441fc086a2101200441c8026a210a410021100340200120012802002212200a2802006a2213200f4101716a2214360200200141046a220f200f2802002215200a41046a2802006a220f20132012492014201349726a2213360200200f2015492013200f4972210f200a41086a210a200141086a2101200e201041026a2210470d000b0b02402024450d00200441fc086a201041027422016a220a200a280200220a200441c8026a20016a2802006a2201200f6a22133602002001200a49201320014972210f0b200f410171450d00201f4128460d0d200441fc086a201f4102746a4101360200201f41016a211f0b2004201f36029c0a201f201c201f201c4b1b220141294f0d0d200141027421010240024003402001450d012001417c6a2201200441ec036a6a280200220a2001200441fc086a6a2802002213460d000b200a20134b200a2013496b21010c010b417f410020011b21010b024002402023200948220a0d00200120094e0d010b200120094e0d24200a0d030c230b410021124100211002402020450d002020417f6a41ffffffff0371220141016a2213410371210a02400240200141034f0d0020042101420021050c010b201341fcffffff077121132004210142002105034020012001350200420a7e20057c22053e0200200141046a220f200f350200420a7e20054220887c22053e0200200141086a220f200f350200420a7e20054220887c22053e02002001410c6a220f200f350200420a7e20054220887c22063e020020064220882105200141106a21012013417c6a22130d000b0b0240200a450d00034020012001350200420a7e20057c22063e0200200141046a210120064220882105200a417f6a220a0d000b0b024020064280808080105a0d00202021100c010b20204128460d10200420204102746a2005a7360200202041016a21100b200420103602a00102402022450d002022417f6a41ffffffff0371220141016a2213410371210a02400240200141034f0d00200441a4016a2101420021060c010b201341fcffffff07712113200441a4016a210142002106034020012001350200420a7e20067c22053e0200200141046a220f200f350200420a7e20054220887c22053e0200200141086a220f200f350200420a7e20054220887c22053e02002001410c6a220f200f350200420a7e20054220887c22053e020020054220882106200141106a21012013417c6a22130d000b0b0240200a450d00034020012001350200420a7e20067c22053e0200200141046a210120054220882106200a417f6a220a0d000b0b024020054280808080105a0d00202221120c010b20224128460d11200441a4016a20224102746a2006a7360200202241016a21120b200420123602c4020240024020210d00410021210c010b2021417f6a41ffffffff0371220141016a2213410371210a02400240200141034f0d00200441c8026a2101420021050c010b201341fcffffff07712113200441c8026a210142002105034020012001350200420a7e20057c22053e0200200141046a220f200f350200420a7e20054220887c22053e0200200141086a220f200f350200420a7e20054220887c22053e02002001410c6a220f200f350200420a7e20054220887c22063e020020064220882105200141106a21012013417c6a22130d000b0b0240200a450d00034020012001350200420a7e20057c22063e0200200141046a210120064220882105200a417f6a220a0d000b0b2006428080808010540d0020214128460d12200441c8026a20214102746a2005a7360200202141016a21210b200420213602e80320192010201920104b1b220e41284d0d000b0b200e412841dca0c28000109181808000000b2004410110aa818080001a200428028c05220120042802a001220a2001200a4b1b220141294f0d0f200141027421012004417c6a210f200441ec036a417c6a211003402001450d1f201020016a210a200f20016a21132001417c6a210120132802002213200a280200220a460d000b2013200a4f0d1f0c200b41eca0c28000411a41dca0c28000108081808000000b2020412841dca0c28000109181808000000b41eca0c28000411a41dca0c28000108081808000000b200e412841dca0c28000109181808000000b41eca0c28000411a41dca0c28000108081808000000b2020412841dca0c28000109181808000000b41eca0c28000411a41dca0c28000108081808000000b2001412841dca0c28000109181808000000b201f412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b2001412841dca0c28000109181808000000b2003200341a4f7c18000108281808000000b4128412841dca0c28000108281808000000b4128412841dca0c28000108281808000000b4128412841dca0c28000108281808000000b2001412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b4128412841dca0c28000108281808000000b2010412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b2010412841dca0c28000109181808000000b2001412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b200d412841dca0c28000109181808000000b41e4f6c18000412d4194f7c18000108081808000000b41d4f7c180004137418cf8c18000108081808000000b419cf8c18000413641d4f8c18000108081808000000b41b8f6c18000411c41d4f6c18000108081808000000b4188f6c18000411d41a8f6c18000108081808000000b41dcf5c18000411c41f8f5c18000108081808000000b20010d010b2002201d6a2110201e2101417f210a024003402001417f460d01200a41016a210a200220016a21132001417f6a220f210120132d00004139460d000b2002200f6a221341016a220120012d000041016a3a0000200f41026a201d4f0d01201341026a4130200a10fa978080001a0c010b02400240201d0d00413121010c010b200241313a00000240201e0d00413021010c010b41302101200241016a4130201e10fa978080001a0b0240201d20034f0d00201020013a0000200b41016a210b201e41026a211d0c010b201d200341b4f7c18000108281808000000b0240201d20034b0d002000200b3b01082000201d36020420002002360200200441a00a6a2480808080000f0b201d200341c4f7c18000109181808000000be82903017f037e1b7f23808080800041c0066b220524808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240200129030022064200510d00200129030822074200510d01200129031022084200510d02200620087c2006540d0320062007540d0420012e01182101200520063e020c20054101410220064280808080105422091b3602ac01200541002006422088a720091b360210200541146a410041980110fa978080001a200541b4016a4100419c0110fa978080001a200541013602b001200541013602d0022001ad4230864230872006427f7c797d42c29ac1e8047e4280a1cda0b4027c422088a72209411074411075210a0240024020014100480d002005410c6a200110aa818080001a0c010b200541b0016a410020016b41107441107510aa818080001a0b02400240200a417f4a0d002005410c6a4100200a6b41ffff037110f3808080001a0c010b200541b0016a200941ffff017110f3808080001a0b2005419c056a200541b0016a41a40110f4978080001a2003210b02402003410a490d002005419c056a41786a210c2003210b034020052802bc06220141294f0d0702402001450d00200141ffffffff036a210d200141027421090240024020014101470d002005419c056a20096a2101420021060c010b200c20096a2101200d41ffffffff037141016a41feffffff07712109420021060340200141046a220e2006422086200e350200842206428094ebdc038022073e0200200120062007428094ebdc037e7d4220862001350200842206428094ebdc038022073e020020062007428094ebdc037e7d2106200141786a21012009417e6a22090d000b200141086a2101200642208621060b200d4101710d002001417c6a22012006200135020084428094ebdc03803e02000b200b41776a220b41094b0d000b0b200b4102744194f3c180006a2802004101742209450d0620052802bc06220141294f0d070240024020010d00410021010c010b200141ffffffff036a210b2001410274210e2009ad21060240024020014101470d002005419c056a200e6a2101420021070c010b200e2005419c056a6a41786a2101200b41ffffffff037141016a41feffffff07712109420021070340200141046a220e2007422086200e35020084220720068022083e020020012007200820067e7d422086200135020084220720068022083e02002007200820067e7d2107200141786a21012009417e6a22090d000b200141086a2101200742208621070b0240200b4101710d002001417c6a220120072001350200842006803e02000b20052802bc0621010b20052802ac01220f2001200f20014b1b221041294f0d080240024020100d00410021100c010b201041017121110240024020104101470d004100210b4100210d0c010b2010413e7121124100210b2005419c056a21012005410c6a21094100210d034020012001280200220c20092802006a220e200b4101716a2213360200200141046a220b200b2802002214200941046a2802006a220b200e200c492013200e49726a220e360200200b201449200e200b4972210b200941086a2109200141086a21012012200d41026a220d470d000b0b02402011450d002005419c056a200d41027422016a2209200928020022092005410c6a20016a2802006a2201200b6a220e3602002001200949200e20014972210b0b200b410171450d0020104128460d0a2005419c056a20104102746a4101360200201041016a21100b200520103602bc0620052802d002220c2010200c20104b1b220141294f0d0a200141027421010240024003402001450d012001417c6a22012005419c056a6a28020022092001200541b0016a6a280200220e460d000b2009200e4f0d010c0d0b20010d0c0b200a41016a210a0c0c0b41dcf5c18000411c41e4f8c18000108081808000000b4188f6c18000411d41f4f8c18000108081808000000b41b8f6c18000411c4184f9c18000108081808000000b419cf8c18000413641f4f9c18000108081808000000b41d4f7c18000413741e4f9c18000108081808000000b2001412841dca0c28000109181808000000b41a3a1c28000411b41dca0c28000108081808000000b2001412841dca0c28000109181808000000b2010412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b2001412841dca0c28000109181808000000b0240200f0d004100210f200541003602ac010c010b200f417f6a41ffffffff0371220141016a220e410371210902400240200141034f0d002005410c6a2101420021060c010b200e41fcffffff0771210e2005410c6a210142002106034020012001350200420a7e20067c22063e0200200141046a220b200b350200420a7e20064220887c22063e0200200141086a220b200b350200420a7e20064220887c22063e02002001410c6a220b200b350200420a7e20064220887c22073e020020074220882106200141106a2101200e417c6a220e0d000b0b02402009450d00034020012001350200420a7e20067c22073e0200200141046a2101200742208821062009417f6a22090d000b0b02402007428080808010540d00200f4128460d022005410c6a200f4102746a2006a7360200200f41016a210f0b2005200f3602ac010b4100210b41012113200a411074411075220120044110744110752209480d0d200a20046b4110744110752003200120096b2003491b2215450d0d200541d4026a200541b0016a41a40110f4978080001a200541d4026a410110aa818080002116200541f8036a200541b0016a41a40110f4978080001a200541f8036a410210aa8180800021172005419c056a200541b0016a41a40110f4978080001a200341016a2118200541b0016a417c6a2112200541d4026a417c6a2114200541f8036a417c6a21132005419c056a417c6a210d2005419c056a410310aa81808000211920162802a001211a20172802a001211b20192802a001211c4100211d20052802d002210c20052802ac01210f41012101024003402001211e200f41294f0d03200f410274210e410021010240024002400340200e2001460d012005410c6a20016a2109200141046a21012009280200450d000b201c200f201c200f4b1b221f41294f0d07201f4102742101024003402001450d01200d20016a21092001417c6a22012005410c6a6a280200220e20092802002209460d000b200e20094f0d02410021200c030b2001450d01410021200c020b201520034b0d0702402015201d460d002002201d6a41302015201d6b10fa978080001a0b2000200a3b0108200020153602040c120b4101210b201f41017121204100210f0240201f4101460d00201f413e7121214100210f4101210b2005410c6a21012005419c056a210903402001200128020022102009280200417f736a220e200b4101716a2211360200200141046a220b200b2802002222200941046a280200417f736a220b200e2010492011200e49726a220e360200200b202249200e200b4972210b200941086a2109200141086a21012021200f41026a220f470d000b0b02402020450d002005410c6a200f41027422016a220920092802002209201920016a280200417f736a2201200b6a220e3602002001200949200e20014972210b0b200b410171450d072005201f3602ac0141082120201f210f0b201b200f201b200f4b1b222141294f0d072021410274210102400240024003402001450d01201320016a21092001417c6a22012005410c6a6a280200220e20092802002209460d000b200e20094f0d01200f21210c020b2001450d00200f21210c010b02402021450d004101210b202141017121234100210f024020214101460d002021413e71211f4100210f4101210b2005410c6a2101200541f8036a210903402001200128020022102009280200417f736a220e200b4101716a2211360200200141046a220b200b2802002222200941046a280200417f736a220b200e2010492011200e49726a220e360200200b202249200e200b4972210b200941086a2109200141086a2101201f200f41026a220f470d000b0b02402023450d002005410c6a200f41027422016a220920092802002209201720016a280200417f736a2201200b6a220e3602002001200949200e20014972210b0b200b410171450d0a0b200520213602ac01202041047221200b201a2021201a20214b1b221f41294f0d09201f410274210102400240024003402001450d01201420016a21092001417c6a22012005410c6a6a280200220e20092802002209460d000b200e20094f0d012021211f0c020b2001450d002021211f0c010b0240201f450d004101210b201f41017121234100210f0240201f4101460d00201f413e7121214100210f4101210b2005410c6a2101200541d4026a210903402001200128020022102009280200417f736a220e200b4101716a2211360200200141046a220b200b2802002222200941046a280200417f736a220b200e2010492011200e49726a220e360200200b202249200e200b4972210b200941086a2109200141086a21012021200f41026a220f470d000b0b02402023450d002005410c6a200f41027422016a220920092802002209201620016a280200417f736a2201200b6a220e3602002001200949200e20014972210b0b200b410171450d0c0b2005201f3602ac01202041026a21200b200c201f200c201f4b1b220f41294f0d0b200f410274210102400240024003402001450d01201220016a21092001417c6a22012005410c6a6a280200220e20092802002209460d000b200e20094f0d01201f210f0c020b2001450d00201f210f0c010b0240200f450d004101210b200f4101712123410021100240200f4101460d00200f413e71211f410021104101210b2005410c6a2101200541b0016a210903402001200128020022112009280200417f736a220e200b4101716a2222360200200141046a220b200b2802002221200941046a280200417f736a220b200e2011492022200e49726a220e360200200b202149200e200b4972210b200941086a2109200141086a2101201f201041026a2210470d000b0b02402023450d002005410c6a201041027422016a220920092802002209200541b0016a20016a280200417f736a2201200b6a220e3602002001200949200e20014972210b0b200b410171450d0e0b2005200f3602ac01202041016a21200b201e2018460d012002201d6a202041306a3a0000200f41294f0d0d02400240200f0d004100210f0c010b200f417f6a41ffffffff0371220141016a220e410371210902400240200141034f0d002005410c6a2101420021070c010b200e41fcffffff0771210e2005410c6a210142002107034020012001350200420a7e20077c22063e0200200141046a220b200b350200420a7e20064220887c22063e0200200141086a220b200b350200420a7e20064220887c22063e02002001410c6a220b200b350200420a7e20064220887c22063e020020064220882107200141106a2101200e417c6a220e0d000b0b02402009450d00034020012001350200420a7e20077c22063e0200200141046a2101200642208821072009417f6a22090d000b0b2006428080808010540d00200f4128460d0f2005410c6a200f4102746a2007a7360200200f41016a210f0b2005200f3602ac01201d41016a211d201e41016a2101201e2015470d000b410021132015210b0c0e0b2003200341c4f9c18000108281808000000b4128412841dca0c28000108281808000000b200f412841dca0c28000109181808000000b201f412841dca0c28000109181808000000b2015200341d4f9c18000109181808000000b41eca0c28000411a41dca0c28000108081808000000b2021412841dca0c28000109181808000000b41eca0c28000411a41dca0c28000108081808000000b201f412841dca0c28000109181808000000b41eca0c28000411a41dca0c28000108081808000000b200f412841dca0c28000109181808000000b41eca0c28000411a41dca0c28000108081808000000b200f412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b024002400240024002400240200c41294f0d0002400240200c0d004100210c0c010b200c417f6a41ffffffff0371220141016a220e410371210902400240200141034f0d00200541b0016a2101420021060c010b200e41fcffffff0771210e200541b0016a21014200210603402001200135020042057e20067c22063e0200200141046a220d200d35020042057e20064220887c22063e0200200141086a220d200d35020042057e20064220887c22063e02002001410c6a220d200d35020042057e20064220887c22073e020020074220882106200141106a2101200e417c6a220e0d000b0b02402009450d0003402001200135020042057e20067c22073e0200200141046a2101200742208821062009417f6a22090d000b0b2007428080808010540d00200c4128460d02200541b0016a200c4102746a2006a7360200200c41016a210c0b2005200c3602d002200c200f200c200f4b1b220141294f0d02200141027421012005410c6a417c6a210d200541b0016a417c6a210c0240024003402001450d01200c20016a2109200d20016a210e2001417c6a2101200e280200220e20092802002209460d000b200e20094b200e2009496b21010c010b417f410020011b21010b0240200141ff01710e020004050b4100210120130d050240200b417f6a220120034f0d00200220016a2d00004101710d040c050b200120034194f9c18000108281808000000b200c412841dca0c28000109181808000000b4128412841dca0c28000108281808000000b2001412841dca0c28000109181808000000b0240200b20034b0d002002200b6a210d410021012002210902400340200b2001460d01200141016a21012009417f6a2209200b6a220e2d00004139460d000b200e200e2d000041016a3a0000200b20016b41016a200b4f0d02200e41016a41302001417f6a10fa978080001a0c020b02400240200b0d00413121090c010b200241313a00000240200b4101470d00413021090c010b41302109200241016a4130200b417f6a10fa978080001a0b200a4110742101200a41016a210a20014110752004411074411075480d01200b20034f0d01200d20093a0000200b41016a210b0c010b200b200341a4f9c18000109181808000000b200b20034b0d02200b21010b2000200a3b0108200020013602040b20002002360200200541c0066a2480808080000f0b200b200341b4f9c18000109181808000000bf50503057f027e017f02402002450d004100200241796a2203200320024b1b2104200141036a417c7120016b21054100210303400240024002400240200120036a2d0000220641187441187522074100480d00200520036b4103710d01200320044f0d020340200120036a220641046a280200200628020072418081828478710d03200341086a22032004490d000c030b0b428080808080202108428080808010210902400240024002400240024002400240024002400240024020064194fac180006a2d0000417e6a0e030001020a0b200341016a22062002490d0242002108420021090c090b42002108200341016a220a2002490d02420021090c080b42002108200341016a220a2002490d02420021090c070b4280808080802021084280808080102109200120066a2c000041bf7f4a0d060c070b2001200a6a2c0000210a024002400240200641a07e6a0e0e0002020202020202020202020201020b200a41607141a07f460d040c030b200a419f7f4a0d020c030b02402007411f6a41ff0171410c490d002007417e71416e470d02200a4140480d030c020b200a4140480d020c010b2001200a6a2c0000210a0240024002400240200641907e6a0e050100000002000b2007410f6a41ff017141024b0d03200a41404e0d030c020b200a41f0006a41ff017141304f0d020c010b200a418f7f4a0d010b0240200341026a22062002490d00420021090c050b200120066a2c000041bf7f4a0d0242002109200341036a220620024f0d04200120066a2c00004140480d05428080808080e00021080c030b4280808080802021080c020b42002109200341026a220620024f0d02200120066a2c000041bf7f4c0d030b428080808080c00021080b42808080801021090b200020082003ad84200984370204200041013602000f0b200641016a21030c020b200341016a21030c010b200320024f0d000340200120036a2c00004100480d012002200341016a2203470d000c030b0b20032002490d000b0b2000200236020820002001360204200041003602000bc50101047f23808080800041106b22022480808080004103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff0171410174220541a1f1c180006a2d00003a000f2002200541a0f1c180006a2d00003a000e0b024002402000450d002004450d010b2002410d6a2003417f6a22036a200441017441fe017141a1f1c180006a2d00003a00000b20014101410141002002410d6a20036a410320036b10b2818080002103200241106a24808080800020030bdd0201067f23808080800041106b220324808080800002400240200041ffff0371220441e807490d00410121052003200020044190ce006e22064190ce006c6b220441ffff037141e4006e2207410174220841a1f1c180006a2d00003a000d2003200841a0f1c180006a2d00003a000c20032004200741e4006c6b41ffff0371410174220441a1f1c180006a2d00003a000f2003200441a0f1c180006a2d00003a000e0c010b41052105200021062004410a490d0020032000200041ffff037141e4006e220641e4006c6b41ffff0371410174220541a1f1c180006a2d00003a000f2003200541a0f1c180006a2d00003a000e410321050b02400240200041ffff0371450d00200641ffff0371450d010b2003410b6a2005417f6a22056a2006410174411e7141a1f1c180006a2d00003a00000b20022001410141002003410b6a20056a410520056b10b2818080002100200341106a24808080800020000b110020002802004101200110fa808080000b970301087f23808080800041106b2203248080808000410a2104200021050240200041e807490d00410a2104200021060340200341066a20046a2207417d6a200620064190ce006e22054190ce006c6b220841ffff037141e4006e2209410174220a41a1f1c180006a2d00003a00002007417c6a200a41a0f1c180006a2d00003a00002007417f6a2008200941e4006c6b41ffff0371410174220841a1f1c180006a2d00003a00002007417e6a200841a0f1c180006a2d00003a00002004417c6a2104200641fface2044b21072005210620070d000b0b02400240200541094b0d00200521060c010b200341066a20046a417f6a2005200541ffff037141e4006e220641e4006c6b41ffff0371410174220741a1f1c180006a2d00003a0000200341066a2004417e6a22046a200741a0f1c180006a2d00003a00000b024002402000450d002006450d010b200341066a2004417f6a22046a2006410174411e7141a1f1c180006a2d00003a00000b2002200141014100200341066a20046a410a20046b10b2818080002106200341106a24808080800020060b110020002903004101200110fc808080000b9c0303027f027e047f23808080800041206b220324808080800041142104200021050240200042e807540d00411421042000210603402003410c6a20046a2207417d6a200620064290ce008022054290ce007e7da7220841ffff037141e4006e2209410174220a41a1f1c180006a2d00003a00002007417c6a200a41a0f1c180006a2d00003a00002007417f6a2008200941e4006c6b41ffff0371410174220841a1f1c180006a2d00003a00002007417e6a200841a0f1c180006a2d00003a00002004417c6a2104200642fface2045621072005210620070d000b0b024020054209580d002003410c6a20046a417f6a2005a72207200741ffff037141e4006e220741e4006c6b41ffff0371410174220841a1f1c180006a2d00003a00002003410c6a2004417e6a22046a200841a0f1c180006a2d00003a00002007ad21050b024002402000500d002005500d010b2003410c6a2004417f6a22046a2005a7410174411e7141a1f1c180006a2d00003a00000b20022001410141002003410c6a20046a411420046b10b2818080002107200341206a24808080800020070b2301027e200029030022022002423f8722038520037d2002427f55200110fc808080000b3601017f23808080800041106b2202248080808000200241013b010c2002200136020820022000360204200241046a108a94808000000b7001017f23808080800041306b2203248080808000200341086a41106a200041106a290200370300200341086a41086a200041086a29020037030020032000290200370308200320013a002d200341003a002c200320023602282003200341086a360224200341246a108a94808000000b4d01017f23808080800041206b22032480808080002003410036021020034101360204200342043702082003200136021c200320003602182003200341186a3602002003200210fe80808000000b5a01017f23808080800041206b220124808080800020014101360204200141acfcc180003602002001420137020c200141a380808000ad42208641a4fcc18000ad843703182001200141186a3602082001200010fe80808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410236020c200341e8fcc18000360208200342023702142003418680808000ad42208622042003ad8437032820032004200341046aad843703202003200341206a360210200341086a200210fe80808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41f8fcc180002005410c6a41f8fcc1800020032004108481808000000b8c0302017f017e23808080800041f0006b22072480808080002007200236020c2007200136020820072004360214200720033602102007200041ff0171410274220241a0ffc180006a28020036021c200720024194ffc180006a28020036021802402005280200450d00200741206a41106a200541106a290200370300200741206a41086a200541086a290200370300200720052902003703202007410436025c20074188fec1800036025820074204370264200741a480808000ad4220862208200741106aad8437035020072008200741086aad84370348200741a580808000ad422086200741206aad84370340200741a380808000ad422086200741186aad843703382007200741386a360260200741d8006a200610fe80808000000b2007410336025c200741d4fdc1800036025820074203370264200741a480808000ad4220862208200741106aad8437034820072008200741086aad84370340200741a380808000ad422086200741186aad843703382007200741386a360260200741d8006a200610fe80808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a4188fdc180002005410c6a4188fdc1800020032004108481808000000b0f00200120002002108781808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410336020c200341fcfec18000360208200342023702142003418680808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210fe80808000000bc504010c7f2001417f6a21032000280204210420002802002105200028020821064100210741002108410021094100210a02400340200a4101710d010240024020022009490d000340200120096a210a02400240200220096b220b41074b0d00024020022009470d00200221090c040b4100210c0340200a200c6a2d0000410a460d02200b200c41016a220c470d000b200221090c030b024002400240200a41036a417c712200200a460d002000200a6b21004100210c0340200a200c6a2d0000410a460d042000200c41016a220c470d000b2000200b41786a220d4b0d020c010b200b41786a210d410021000b03404180828408200a20006a220c280200220e418a94a8d000736b200e724180828408200c41046a280200220c418a94a8d000736b200c727141808182847871418081828478470d01200041086a2200200d4d0d000b0b0240200b2000470d00200221090c030b03400240200a20006a2d0000410a470d002000210c0c020b200b200041016a2200470d000b200221090c020b2009200c6a220041016a21090240200020024f0d00200a200c6a2d0000410a470d004100210a2009210b200921000c030b200220094f0d000b0b20022008460d024101210a2008210b200221000b0240024020062d0000450d00200541cc80c280004104200428020c118080808000000d010b200020086b210e4100210c024020002008460d00200320006a2d0000410a46210c0b200120086a21002006200c3a0000200b210820052000200e200428020c11808080800000450d010b0b410121070b20070b5801027f20002802042102200028020021030240200028020822002d0000450d00200341cc80c280004104200228020c11808080800000450d0041010f0b20002001410a463a0000200320012002280210118480808000000b930301047f23808080800041206b220524808080800041012106024020002d00040d0020002d000521070240200028020022082d000a418001710d0041012106200828020041d380c2800041d080c28000200741017122071b4102410320071b200828020428020c118080808000000d01200828020020012002200828020428020c118080808000000d01200828020041d580c280004102200828020428020c118080808000000d0120032008200428020c1184808080000021060c010b41012106024020074101710d00200828020041d780c280004103200828020428020c118080808000000d010b41012106200541013a000f200541b480c28000360214200520082902003702002005200829020837021820052005410f6a360208200520053602102005200120021088818080000d00200541d580c2800041021088818080000d002003200541106a200428020c118480808000000d00200528021041da80c280004102200528021428020c1180808080000021060b200041013a0005200020063a0004200541206a24808080800020000bb60201047f23808080800041206b220324808080800041012104024020002d00040d0020002d0005210502400240200028020022062d000a418001710d00410121042005410171450d01200628020041d380c280004102200628020428020c11808080800000450d010c020b41012104024020054101710d00200628020041e380c280004101200628020428020c118080808000000d020b41012104200341013a000f200341b480c28000360214200320062902003702002003200629020837021820032003410f6a360208200320033602102001200341106a200228020c118480808000000d01200328021041da80c280004102200328021428020c1180808080000021040c010b20012006200228020c1184808080000021040b200041013a0005200020043a0004200341206a24808080800020000b1200200041b480c28000200110b1818080000b840e08017f067e017f0a7e027f017e047f017e23808080800041e0006b2204248080808000024002400240024002400240024002400240024002400240200129030022054200510d00200129030822064200510d01200129031022074200510d02200520077c22072005540d0320052006540d04200341104d0d052007428080808080808080205a0d06200420012f011822013b01382004200520067d2208370330200420082007792206862209200688220a370340200a2008520d07200420013b013820042005370330200420052006423f83220886220a200888220837034020082005520d0841a07f20012006a76b220b6b41107441107541d0006c41b0a7056a41ce106d220141d1004f0d09200441206a2001410474220141e880c280006a290300220542002007200686420010fc97808000200441106a200542002009420010fc97808000200420054200200a420010fc9780800042014100200b200141f080c280006a2f01006a6b413f71ad220686220c427f7c210d2004290310423f87210e2004290300423f88210f20042903082110200141f280c280006a2f010021012004290318211102402004290320423f882212200429032822137c221442017c2215200688a722164190ce00490d00201641c0843d490d0b024020164180c2d72f490d00410841092016418094ebdc0349220b1b21174180c2d72f418094ebdc03200b1b210b0c0d0b4106410720164180ade20449220b1b211741c0843d4180ade204200b1b210b0c0c0b0240201641e400490d0041024103201641e80749220b1b211741e40041e807200b1b210b0c0c0b410a4101201641094b22171b210b0c0b0b418c8cc28000411c41a88cc28000108081808000000b41b88cc28000411d41d88cc28000108081808000000b41e88cc28000411c41848dc28000108081808000000b418c8fc28000413641c48fc28000108081808000000b41c48ec28000413741fc8ec28000108081808000000b41948dc28000412d41c48dc28000108081808000000b41d48dc28000412d41848ec28000108081808000000b200441003602484100200441c0006a200441306a200441c8006a41a480c28000108581808000000b200441003602484100200441c0006a200441306a200441c8006a41a480c28000108581808000000b200141d10041fc8bc28000108281808000000b41044105201641a08d0649220b1b21174190ce0041a08d06200b1b210b0b200d2015832105200f20107c2118201720016b41016a2119200e20117d20147c42027c220a200d8321084100210102400240024002400240024002400240024003402016200b6e211a20032001460d02200220016a221b201a41306a221c3a000002400240200a2016201a200b6c6b2216ad200686220920057c2207560d0020172001470d01200141016a21014201210703402007210a20082109200120034f0d06200220016a2005420a7e2205200688a741306a220b3a0000200141016a2101200a420a7e21072009420a7e22082005200d832205580d000b2007201520187d7e220620077c2114200820057d200c5422160d082005200620077d220d540d030c080b200a20077d220d200bad200686220654210b201520187d220842017c211d20072008427f7c220c5a0d05200d2006540d05201420187d200920057c7d21182014200e7c20117d200520067c220520097c7d42027c21152005200f7c20107c20127d20137d20097c21094200210503400240200720067c2208200c540d00201820057c20095a0d004100210b0c070b201b201c417f6a221c3a0000201520057c220d200654210b2008200c5a0d07200920067c2109200520067d210520082107200d2006540d070c000b0b200141016a2101200b410a49211a200b410a6e210b201a450d000b41948ec28000108e81808000000b200220016a417f6a211a200c200d7d2118420020057d21062009420a7e200c7d2115034002402005200c7c2207200d540d00200d20067c201820057c5a0d00410021160c060b201a200b417f6a220b3a0000201520067c2209200c5421162007200d5a0d062006200c7d2106200721052009200c540d060c000b0b2003200341a48ec28000108281808000000b2001200341b48ec28000108281808000000b200721080b0240201d2008580d00200b0d000240200820067c2205201d540d00201d20087d2005201d7d540d010b200041003602000c040b0240024020084202540d002008200a427c7c580d010b200041003602000c040b200020193b01082000200141016a3602040c020b200521070b024020142007580d0020160d0002402007200c7c22052014540d00201420077d200520147d540d010b200041003602000c020b02400240200a42147e2007560d002007200a42587e20087c580d010b200041003602000c020b200020193b0108200020013602040b200020023602000b200441e0006a2480808080000b4301017f23808080800041206b2201248080808000200141003602182001410136020c200141f091c2800036020820014204370210200141086a200010fe80808000000bd30708017f027e027f017e017f027e057f017e23808080800041106b220524808080800002400240024002400240024002400240200129030022064200510d002006428080808080808080205a0d012003450d0241a07f20012f01182006792207a76b22086b41107441107541d0006c41b0a7056a41ce106d220141d1004f0d0320052001410474220141e880c280006a29030042002006200786420010fc978080002005290300423f8820052903087c220641402008200141f080c280006a2f01006a6b2209413f71ad220a88a7210b200141f280c280006a2f0100210102404201200a86220c427f7c220d20068322074200520d002003410a4b0d07200341027441c890c280006a280200200b4b0d070b0240200b4190ce00490d00200b41c0843d490d050240200b4180c2d72f490d0041084109200b418094ebdc034922081b210e4180c2d72f418094ebdc0320081b21080c070b41064107200b4180ade2044922081b210e41c0843d4180ade20420081b21080c060b0240200b41e400490d0041024103200b41e8074922081b210e41e40041e80720081b21080c060b410a4101200b41094b220e1b21080c050b418c8cc28000411c41f88fc28000108081808000000b418890c28000412441ac90c28000108081808000000b41d48fc28000412141bc90c28000108081808000000b200141d10041fc8bc28000108281808000000b41044105200b41a08d064922081b210e4190ce0041a08d0620081b21080b02400240024002400240200e20016b411074418080046a411075220f200441107441107522014c0d00200941ffff03712110200f20046b4110744110752003200f20016b2003491b2211417f6a2112410021010340200b20086e210920032001460d03200b200920086c6b210b200220016a200941306a3a000020122001460d04200e2001460d02200141016a21012008410a4921092008410a6e21082009450d000b41f490c28000108e81808000000b2000200220034100200f20042006420a802008ad200a86200c1090818080000c050b200141016a21012010417f6a413f71ad211342012106034002402006201388500d00200041003602000c060b200120034f0d03200220016a2007420a7e2207200a88a741306a3a00002006420a7e21062007200d8321072011200141016a2201470d000b2000200220032011200f20042007200c20061090818080000c040b20032003418491c28000108281808000000b2000200220032011200f2004200bad200a8620077c2008ad200a86200c1090818080000c020b20012003419491c28000108281808000000b200041003602000b200541106a2480808080000bb10301047f02400240024002400240024002400240024020072008580d00200720087d2008580d04024002400240200720067d2006580d00200720064201867d20084201865a0d010b20062008560d010c0a0b200320024b0d060c080b2007200620087d22087d2008560d08200320024b0d06200120036a21094100210a2001210b024003402003200a460d01200a41016a210a200b417f6a220b20036a220c2d00004139460d000b200c200c2d000041016a3a00002003200a6b41016a20034f0d04200c41016a4130200a417f6a10fa978080001a0c040b024020030d004131210a0c030b200141313a000020034101470d014130210a0c020b200041003602000f0b4130210a200141016a41302003417f6a10fa978080001a0b2004411074418080046a4110752104200320024f0d00200420054110744110754c0d002009200a3a0000200341016a21030b200320024d0d032003200241b491c28000109181808000000b200041003602000f0b2003200241c491c28000109181808000000b2003200241a491c28000109181808000000b200020043b010820002003360204200020013602000f0b200041003602000b0f00200020012002109481808000000b0f00200020012002109381808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410236020c200341f092c28000360208200342023702142003418680808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210fe80808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410236020c2003419093c28000360208200342023702142003418680808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210fe80808000000b0f00200020012002109681808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410236020c200341c493c28000360208200342023702142003418680808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210fe80808000000b4301017f23808080800041206b2201248080808000200141003602182001410136020c200141b492c2800036020820014204370210200141086a200010fe80808000000b1e00200128020041c399c28000410b200128020428020c118080808000000b1e00200128020041ce99c28000410e200128020428020c118080808000000b5c01017f23808080800041306b22012480808080002001410136020c200141f099c2800036020820014201370214200141ab80808000ad4220862001412f6aad843703202001200141206a360210200141086a200010fe80808000000b5c01017f23808080800041306b22012480808080002001410136020c200141949ac2800036020820014201370214200141ac80808000ad4220862001412f6aad843703202001200141206a360210200141086a200010fe80808000000b4701017f23808080800041206b2200248080808000200041003602182000410136020c200041e89ac2800036020820004204370210200041086a41f49bc2800010fe80808000000bf50601087f024002402001200041036a417c71220220006b2203490d00200120036b22044104490d002004410371210541002106410021010240200220004622070d004100210102400240200020026b2208417c4d0d00410021090c010b4100210903402001200020096a22022c000041bf7f4a6a200241016a2c000041bf7f4a6a200241026a2c000041bf7f4a6a200241036a2c000041bf7f4a6a2101200941046a22090d000b0b20070d00200020096a21020340200120022c000041bf7f4a6a2101200241016a2102200841016a22080d000b0b200020036a210002402005450d0020002004417c716a22022c000041bf7f4a210620054101460d00200620022c000141bf7f4a6a210620054102460d00200620022c000241bf7f4a6a21060b20044102762108200620016a21030340200021062008450d02200841c001200841c001491b220441037121052004410274210741002102024020084104490d00200441027641047421004100210220062101034020012802002209417f7341077620094106767241818284087120026a200141046a2802002202417f734107762002410676724181828408716a200141086a2802002202417f734107762002410676724181828408716a2001410c6a2802002202417f734107762002410676724181828408716a2102200141106a2101200041706a22000d000b0b200820046b2108200620076a2100200241087641ff81fc0771200241ff81fc07716a418180046c41107620036a21032005450d000b2006200441fc01714102746a22022802002201417f734107762001410676724181828408712101024020054101460d0020022802042200417f7341077620004106767241818284087120016a210120054102460d0020022802082202417f7341077620024106767241818284087120016a21010b200141087641ff811c71200141ff81fc07716a418180046c41107620036a0f0b024020010d0041000f0b2001410371210902400240200141044f0d0041002103410021020c010b2001417c712108410021034100210203402003200020026a22012c000041bf7f4a6a200141016a2c000041bf7f4a6a200141026a2c000041bf7f4a6a200141036a2c000041bf7f4a6a21032008200241046a2202470d000b0b2009450d00200020026a21010340200320012c000041bf7f4a6a2103200141016a21012009417f6a22090d000b0b20030be50201057f4100210141004111200041afb004491b220220024108722202200241027441849cc280006a280200410b742000410b7422024b1b220320034104722203200341027441849cc280006a280200410b7420024b1b220320034102722203200341027441849cc280006a280200410b7420024b1b2203200341016a2203200341027441849cc280006a280200410b7420024b1b2203200341016a2203200341027441849cc280006a280200410b7420024b1b220341027441849cc280006a280200410b74220420024620042002496a20036a220341027441849cc280006a2205280200411576210241ef05210402400240200341204b0d00200528020441157621042003450d010b2005417c6a28020041ffffff007121010b024020042002417f736a450d00200020016b21032004417f6a21044100210003402000200241d493c280006a2d00006a220020034b0d012004200241016a2202470d000b0b20024101710bec0401047f2380808080004180016b2202248080808000024002400240200128020822034180808010710d00024020034180808020710d004101210320002802004101200110fa80808000450d020c030b20002802002103410021040340200220046a41ff006a2003410f712205413072200541376a2005410a491b3a00002004417f6a21042003410f4b21052003410476210320050d000b4101210320014101419cf1c180004102200220046a4180016a410020046b10b281808000450d010c020b20002802002103410021040340200220046a41ff006a2003410f712205413072200541d7006a2005410a491b3a00002004417f6a21042003410f4b21052003410476210320050d000b4101210320014101419cf1c180004102200220046a4180016a410020046b10b2818080000d010b410121032001280200418c9dc280004102200128020428020c118080808000000d0002400240200128020822034180808010710d0020034180808020710d0120002802044101200110fa8080800021030c020b20002802042103410021040340200220046a41ff006a2003410f712205413072200541d7006a2005410a491b3a00002004417f6a21042003410f4b21052003410476210320050d000b20014101419cf1c180004102200220046a4180016a410020046b10b28180800021030c010b20002802042103410021040340200220046a41ff006a2003410f712205413072200541376a2005410a491b3a00002004417f6a21042003410f4b21052003410476210320050d000b20014101419cf1c180004102200220046a4180016a410020046b10b28180800021030b20024180016a24808080800020030b1300418e9dc28000412b2000108081808000000b6a01017f23808080800041306b22032480808080002003200136020c2003200036020820034101360214200341bc9dc280003602102003420137021c200341a380808000ad422086200341086aad843703282003200341286a360218200341106a200210fe80808000000b9b0202057f017e23808080800041306b22022480808080004101210302402001280200220441e09dc28000410c2001280204220528020c2206118080808000000d002000280204210120024103360204200241c89dc280003602002002420337020c200241a380808000ad4220862001ad843703182002418680808000ad42208622072001410c6aad8437032820022007200141086aad843703202002200241186a36020820042005200210b1818080000d00200441ec9dc2800041022006118080808000000d00200241186a41086a2000280200220141086a290200370300200241186a41106a200141106a2902003703002002200129020037031820042005200241186a10b18180800021030b200241306a24808080800020030b5801017f23808080800041c0086b2204248080808000200441b0086a20012002200341ffff0371200441800820044180086a410410ae818080002000200441b0086a10b5818080002103200441c0086a24808080800020030b5401017f23808080800041e0006b2203248080808000200341d0006a2001200241002003410f6a4111200341206a410410ad818080002000200341d0006a10b5818080002102200341e0006a24808080800020020b990c03097f017e017f024020040d002000410036023c200020033602382000200236023420002001360230200041003a000e20004181023b010c20002002360208200042003703000f0b41012105410021064101210741002108024002400240024002400240024002400240024020044101460d0041012109410021064101210a4100210b410121050340200a210c200b20066a220a20044f0d0202400240200320096a2d000041ff017122092003200a6a2d0000220a4f0d00200c200b6a41016a220a20066b21054100210b0c010b02402009200a460d0041012105200c41016a210a4100210b200c21060c010b4100200b41016a220a200a20054622091b210b200a410020091b200c6a210a0b200a200b6a22092004490d000b41012109410021084101210a4100210b410121070340200a210c200b20086a220a20044f0d0302400240200320096a2d000041ff017122092003200a6a2d0000220a4d0d00200c200b6a41016a220a20086b21074100210b0c010b02402009200a460d0041012107200c41016a210a4100210b200c21080c010b4100200b41016a220a200a20074622091b210b200a410020091b200c6a210a0b200a200b6a22092004490d000b0b200420062008200620084b220b1b220d490d0220052007200b1b220a200d6a220b200a490d03200b20044b0d040240024020032003200a6a200d10f597808000450d002004410371210c024002402004417f6a41034f0d004100210a4200210e0c010b2004417c7121094100210a4200210e034042012003200a6a220b41036a310000864201200b41026a310000864201200b41016a310000864201200b31000086200e84848484210e2009200a41046a220a470d000b0b0240200c450d002003200a6a210b03404201200b31000086200e84210e200b41016a210b200c417f6a220c0d000b0b2004200d6b220b200d200b200d4b1b41016a210a417f2108200d2105417f210b0c010b410121064100210b4101210941002105024003402009220c200b6a220720044f0d012004200b6b200c417f736a220920044f0d082004200b417f736a20056b220820044f0d0902400240200320096a2d000041ff01712209200320086a2d000022084f0d00200741016a220920056b21064100210b0c010b024020092008460d00200c41016a21094100210b41012106200c21050c010b4100200b41016a2209200920064622081b210b2009410020081b200c6a21090b2006200a470d000b0b410121064100210b4101210941002107024003402009220c200b6a220f20044f0d012004200b6b200c417f736a220920044f0d0a2004200b417f736a20076b220820044f0d0b02400240200320096a2d000041ff01712209200320086a2d000022084d0d00200f41016a220920076b21064100210b0c010b024020092008460d00200c41016a21094100210b41012106200c21070c010b4100200b41016a2209200920064622081b210b2009410020081b200c6a21090b2006200a470d000b0b200420072005200720054b1b6b210502400240200a0d004200210e4100210a410021080c010b200a41037121094100210802400240200a41044f0d004200210e4100210c0c010b200a417c7121064100210c4200210e034042012003200c6a220b41036a310000864201200b41026a310000864201200b41016a310000864201200b31000086200e84848484210e2006200c41046a220c470d000b0b2009450d002003200c6a210b03404201200b31000086200e84210e200b41016a210b2009417f6a22090d000b0b2004210b0b2000200436023c2000200336023820002002360234200020013602302000200b36022820002008360224200020023602202000410036021c2000200a360218200020053602142000200d3602102000200e370308200041013602000f0b200a200441849fc28000108281808000000b200a200441849fc28000108281808000000b200d200441e49ec28000109181808000000b200a200b41f49ec28000109581808000000b200b200441f49ec28000109181808000000b2009200441949fc28000108281808000000b2008200441a49fc28000108281808000000b2009200441949fc28000108281808000000b2008200441a49fc28000108281808000000b4e02027f017c20012802082202418080800171210320002b0300210402402002418080808001710d0020012004200341004710a4818080000f0b20012004200341004720012f010e10a3818080000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000ba60201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120004101200110fa8080800021000c020b410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b8f0101017f23808080800041c0006b22052480808080002005200136020c2005200036020820052003360214200520023602102005410236021c200541d89fc2800036021820054202370224200541a480808000ad422086200541106aad84370338200541a380808000ad422086200541086aad843703302005200541306a360220200541186a200410fe80808000000bc10401097f0240024002400240200141800a4f0d00200141057621020240024020002802a0012203450d00200341284b0d032002417f6a2104200341027420006a417c6a2105200320026a41027420006a417c6a21060340200420036a41274b0d02200620052802003602002006417c6a21062005417c6a21052003417f6a22030d000b0b2001411f712106024020014120490d0020004100200241027410fa978080001a0b20002802a001220320026a2105024020060d00200020053602a00120000f0b2005417f6a220441274b0d0320052107200020044102746a280200410020016b2201762204450d040240200541274b0d00200020054102746a2004360200200541016a21070c050b2005412841dca0c28000108281808000000b200220036a417f6a412841dca0c28000108281808000000b4186a1c28000411d41dca0c28000108081808000000b2003417f6a412841dca0c28000108281808000000b2004412841dca0c28000108281808000000b0240200241016a220820054f0d002001411f712104024020034101710d002005410274210120002005417f6a22054102746a22092001200041786a6a2802002004762009280200200674723602000b20034102460d00200541027420006a41746a21030340200341086a2201200341046a2209280200220a20047620012802002006747236020020092003280200200476200a20067472360200200341786a210320082005417e6a2205490d000b0b200020024102746a22032003280200200674360200200020073602a00120000bb503040b7f027e017f017e200120024102746a21050240024020040d004100210641002102034020012005460d02200241016a210220012802002107200141046a220821012007450d0020062002417f6a2201200620014b1b2106200821010c000b0b200441016a2109200320044102746a210a41002107200320044100474102746a210b2004417f6a41ffffffff0371210c4100210602400340200020074102746a210803402007210d2008210220012005460d03200241046a2108200d41016a21072001280200210e200141046a220f2101200e450d000b200ead211042002111417f2108200b210e200321120340200e2101200720086a220e41284f0d022002201120023502007c201235020020107e7c22133e020020134220882111200241046a210220012001200a474102746a210e20012112200c200841016a2208470d000b20042101024002402013428080808010540d00200d20046a220141284f0d01200020014102746a2011a7360200200921010b20062001200d6a2201200620014b1b2106200f21010c010b0b2001412841dca0c28000108281808000000b200e412841dca0c28000108281808000000b20060ba603000240024002402002450d0020012d000041304d0d01200641034d0d02200541023b0100024002400240024002400240200341107441107522064101480d00200520013602042002200341ffff037122034b0d01200541003b010c200520023602082005200320026b36021020040d02410221010c050b200520023602202005200136021c200541023b0118200541003b010c20054102360208200541cda3c280003602042005410020066b220336021041032101200420024d0d04200420026b220220034d0d04200220066a21040c030b200541023b011820054101360214200541cca3c28000360210200541023b010c200520033602082005200220036b22023602202005200120036a36021c200420024b0d01410321010c030b20054101360220200541cca3c2800036021c200541023b01180c010b200420026b21040b20052004360228200541003b0124410421010b20002001360204200020053602000f0b41b6a2c28000412141d8a2c28000108081808000000b41e8a2c28000411f4188a3c28000108081808000000b4198a3c28000412241bca3c28000108081808000000b8a0607017f017e017f027e017f027e027f23808080800041c0006b22082480808080000240024002400240200741034d0d00200541104d0d012001bd21090240024020019944000000000000f07f620d004103210a0c010b024020094280808080808080f8ff0083220b4280808080808080f8ff00520d004102210a0c010b200942ffffffffffffff0783220c42808080808080800884200942018642feffffffffffff0f832009423488a741ff0f71220d1b220e420183210f0240200b4200520d000240200c50450d004104210a0c020b200d41cd776a210d200fa7410173210a4201210b0c010b428080808080808020200e420186200e4280808080808080085122101b210e4202420120101b210b200fa7410173210a41cb7741cc7720101b200d6a210d0b2008200d3b01202008200b370318200842013703102008200e3703082008200a3a00220240024002400240200a417e6a220d450d004101210a41a0a4c2800041a1a4c280002009423f88a722111b41a0a4c28000410120111b20021b21104101201120021b2102200d4103200d4103491b417f6a0e03010302010b20064103360208200641a2a4c28000360204200641023b010041012110410021024101210a0c060b20064103360208200641a5a4c28000360204200641023b01000c050b200841346a200841086a20042005108d81808000024002402008280234450d00200841286a41086a200841346a41086a280200360200200820082902343703280c010b200841286a200841086a2004200510f4808080000b20082008280228200828022c20082f013020032006200710ac818080002008280204210a200828020021060c040b4102210a200641023b01002003450d0220062003360210200641003b010c20064102360208200641cda3c280003602040c030b4198a3c28000412241d0a3c28000108081808000000b41e0a3c28000412d4190a4c28000108081808000000b4101210a20064101360208200641a8a4c280003602040b2000200a36020c200020063602082000200236020420002010360200200841c0006a2480808080000b980705027f037e017f027e037f23808080800041c0006b2208248080808000410321090240024002400240200741034d0d002001bd210a0240024020019944000000000000f07f620d000c010b0240200a4280808080808080f8ff0083220b4280808080808080f8ff00520d00410221090c010b200a42ffffffffffffff0783220c42808080808080800884200a42018642feffffffffffff0f83200a423488a741ff0f71220d1b220e420183210f0240200b4200520d000240200c50450d00410421090c020b200d41cd776a2110200fa741017321094201210b0c010b428080808080808020200e420186200e4280808080808080085122101b210e4202420120101b210b200fa7410173210941cb7741cc7720101b200d6a21100b200820103b01202008200b370318200842013703102008200e370308200820093a00220240024002402009417e6a220d450d004101210941a0a4c2800041a1a4c28000200a423f88a722111b41a0a4c28000410120111b20021b21124101201120021b21020240200d4103200d4103491b417f6a0e03000203000b20064103360208200641a5a4c28000360204200641023b01000c060b20064103360208200641a2a4c28000360204200641023b01004101211241002102410121090c050b41022109200641023b01002003450d0320062003360210200641003b010c20064102360208200641cda3c280003602040c040b200541744105201041107441107522094100481b20096c41047641156a2209490d01200841346a200841086a20042009410020036b4180807e200341808002491b220d108f81808000200d411074411075210d024002402008280234450d00200841286a41086a200841346a41086a280200360200200820082902343703280c010b200841286a200841086a20042009200d10f5808080000b024020082e01302209200d4c0d0020082008280228200828022c200920032006200710ac8180800020082802042109200828020021060c040b41022109200641023b0100024020030d004101210920064101360208200641a8a4c280003602040c040b20062003360210200641003b010c20064102360208200641cda3c280003602040c030b4198a3c28000412241aca4c28000108081808000000b41bca4c28000412541e4a4c28000108081808000000b4101210920064101360208200641a8a4c280003602040b2000200936020c200020063602082000200236020420002012360200200841c0006a2480808080000b8a0701027f23808080800041206b220324808080800002400240024002400240024002400240024002400240024020010e2806010101010101010102040101030101010101010101010101010101010101010101080101010107000b200141dc00460d040b2002410171450d07200141ff054d0d072001109e81808000450d072003410c6a41026a41003a0000200341003b010c200320014114764184fac180006a2d00003a000f20032001410476410f714184fac180006a2d00003a001320032001410876410f714184fac180006a2d00003a001220032001410c76410f714184fac180006a2d00003a001120032001411076410f714184fac180006a2d00003a00102003410c6a20014101726741027622026a220441fb003a00002004417f6a41f5003a00002003410c6a2002417e6a22026a41dc003a00002003410c6a41086a22042001410f714184fac180006a2d00003a00002000410a3a000b200020023a000a2000200329010c370000200341fd003a0015200041086a20042f01003b00000c090b20004180043b010a20004200370102200041dce8013b01000c080b20004180043b010a20004200370102200041dce4013b01000c070b20004180043b010a20004200370102200041dcdc013b01000c060b20004180043b010a20004200370102200041dcb8013b01000c050b20004180043b010a20004200370102200041dce0003b01000c040b200241800271450d0120004180043b010a20004200370102200041dcce003b01000c030b200241ffffff0771418080044f0d010b0240200110c6818080000d00200341166a41026a41003a0000200341003b0116200320014114764184fac180006a2d00003a001920032001410476410f714184fac180006a2d00003a001d20032001410876410f714184fac180006a2d00003a001c20032001410c76410f714184fac180006a2d00003a001b20032001411076410f714184fac180006a2d00003a001a200341166a20014101726741027622026a220441fb003a00002004417f6a41f5003a0000200341166a2002417e6a22026a41dc003a0000200341166a41086a22042001410f714184fac180006a2d00003a00002000410a3a000b200020023a000a20002003290116370000200341fd003a001f200041086a20042f01003b00000c020b2000200136020420004180013a00000c010b20004180043b010a20004200370102200041dcc4003b01000b200341206a2480808080000b140020012802002001280204200010b1818080000b9d0501087f23808080800041106b22032480808080002003200136020420032000360200200342a08080800e3702080240024002400240024020022802102201450d00200228021422000d010c020b200228020c2201450d012002280208220420014103746a2105200441086a21062001417f6a41ffffffff017141016a210720022802002100410021080340200621010240200041046a2802002206450d00200328020020002802002006200328020428020c11808080800000450d00410121010c050b024020042802002003200428020411848080800000450d00410121010c050b200041086a2100200120012005474103746a2106200121042007200841016a2208460d030c000b0b2001200041186c6a2109200141186a21062000417f6a41ffffffff017141016a21072002280208210a20022802002104410021050340200621000240200441046a2802002206450d00200328020020042802002006200328020428020c11808080800000450d00410121010c040b410021064100210802400240024020012f01080e03000102000b20012f010a21080c010b200a200128020c4103746a2f010421080b02400240024020012f01000e03000102000b20012f010221060c010b200a20012802044103746a2f010421060b200320063b010e200320083b010c200320012802143602080240200a20012802104103746a22012802002003200128020411848080800000450d00410121010c040b200441086a210420004100411820002009461b6a2106200021012007200541016a2205460d020c000b0b410021070b0240200720022802044f0d002003280200200228020020074103746a22012802002001280204200328020428020c11808080800000450d00410121010c010b410021010b200341106a24808080800020010b990602087f017e0240024020010d00200541016a210620002802082107412d21080c010b412b418080c4002000280208220741808080017122011b2108200141157620056a21060b0240024020074180808004710d00410021020c010b0240024020034110490d0020022003109d8180800021010c010b024020030d00410021010c010b2003410371210902400240200341044f0d00410021014100210a0c010b2003410c71210b410021014100210a034020012002200a6a220c2c000041bf7f4a6a200c41016a2c000041bf7f4a6a200c41026a2c000041bf7f4a6a200c41036a2c000041bf7f4a6a2101200b200a41046a220a470d000b0b2009450d002002200a6a210c03402001200c2c000041bf7f4a6a2101200c41016a210c2009417f6a22090d000b0b200120066a21060b02400240200620002f010c220b4f0d00024020074180808008710d00200b20066b210d410021014100210b0240024002402007411d764103710e0402000100020b200d210b0c010b200d41feff0371410176210b0b200741ffffff00712106200028020421092000280200210a02400340200141ffff0371200b41ffff03714f0d014101210c200141016a2101200a2006200928021011848080800000450d000c040b0b4101210c200a200920082002200310b3818080000d02200a20042005200928020c118080808000000d0241002101200d200b6b41ffff037121000340200141ffff03712202200049210c200220004f0d03200141016a2101200a2006200928021011848080800000450d000c030b0b20002000290208220ea741808080ff797141b080808002723602084101210c2000280200220a2000280204220920082002200310b3818080000d0141002101200b20066b41ffff0371210202400340200141ffff037120024f0d014101210c200141016a2101200a4130200928021011848080800000450d000c030b0b4101210c200a20042005200928020c118080808000000d012000200e37020841000f0b4101210c200028020022012000280204220a20082002200310b3818080000d00200120042005200a28020c11808080800000210c0b200c0b410002402002418080c400460d0020002002200128021011848080800000450d0041010f0b024020030d0041000f0b200020032004200128020c118080808000000ba20501077f024002402000280208220341808080c00171450d0002400240024002400240200341808080800171450d0020002f010e22040d01410021020c020b024020024110490d0020012002109d8180800021050c040b024020020d0041002102410021050c040b2002410371210602400240200241044f0d0041002105410021070c010b2002410c712104410021054100210703402005200120076a22082c000041bf7f4a6a200841016a2c000041bf7f4a6a200841026a2c000041bf7f4a6a200841036a2c000041bf7f4a6a21052004200741046a2207470d000b0b2006450d03200120076a21080340200520082c000041bf7f4a6a2105200841016a21082006417f6a22060d000c040b0b200120026a21064100210220042107200121080340200822052006460d020240024020052c00002208417f4c0d00200541016a21080c010b0240200841604f0d00200541026a21080c010b0240200841704f0d00200541036a21080c010b200541046a21080b200820056b20026a21022007417f6a22070d000b0b410021070b200420076b21050b200520002f010c22084f0d00200820056b210941002105410021040240024002402003411d764103710e0402000102020b200921040c010b200941feff037141017621040b200341ffffff00712106200028020421072000280200210002400340200541ffff0371200441ffff03714f0d0141012108200541016a2105200020062007280210118480808000000d030c000b0b41012108200020012002200728020c118080808000000d0141002105200920046b41ffff037121020340200541ffff037122042002492108200420024f0d02200541016a2105200020062007280210118480808000000d020c000b0b200028020020012002200028020428020c1180808080000021080b20080b920503027f017e067f23808080800041106b22022480808080000240024020002f010c22030d0020002802002000280204200110b68180800021010c010b200241086a200141086a29020037030020022001290200370300024002400240024020002902082204a722054180808008710d00200228020421060c010b2000280200200228020020022802042201200028020428020c118080808000000d012000200541808080ff797141b080808002722205360208200242013703004100210641002003200141ffff03716b2201200120034b1b21030b0240200228020c2207450d00200228020821012007410c6c21080340024002400240024020012f01000e03000201000b200141046a28020021070c020b200141086a28020021070c010b0240200141026a2f0100220941e807490d004104410520094190ce00491b21070c010b410121072009410a490d0041024103200941e400491b21070b2001410c6a2101200720066a2106200841746a22080d000b0b2006200341ffff03714f0d01200320066b210a41002101410021090240024002402005411d764103710e0402000100020b200a21090c010b200a41feff037141017621090b200541ffffff00712108200028020421062000280200210702400340200141ffff0371200941ffff03714f0d01200141016a210120072008200628021011848080800000450d000c020b0b20072006200210b6818080000d0041002103200a20096b41ffff0371210902400340200341ffff037122052009492101200520094f0d01200341016a210320072008200628021011848080800000450d000b0b200020043702080c020b410121010c010b20002802002000280204200210b6818080002101200020043702080b200241106a24808080800020010bad0501077f23808080800041106b22032480808080000240024020022802042204450d00200020022802002004200128020c11808080800000450d00410121050c010b0240200228020c22040d00410021050c010b200228020822062004410c6c6a21072006410c6a210403402006210220042106024002400240024020022f01000e03000201000b024002402002280204220241c100490d002001410c6a280200210403400240200041f4a6c2800041c000200411808080800000450d00410121050c080b200241406a220241c0004b0d000c020b0b2002450d032001410c6a28020021040b200041f4a6c280002002200411808080800000450d02410121050c040b2000200228020420022802082001410c6a28020011808080800000450d01410121050c030b20022f0102210541042104200341086a41046a41003a0000200341003602080240024002400240024020022f01000e03020001020b024020022f0102220241e807490d004104410520024190ce00491b21080c030b410121082002410a490d0241024103200241e400491b21080c020b410821040b0240200220046a280200220841064f0d0020080d01410021080c020b2008410541a4a8c28000109181808000000b200341086a20086a21020240024020084101710d00200521040c010b2002417f6a22022005200541ffff0371410a6e2204410a6c6b4130723a00000b20084101460d002002417e6a210203402002200441ffff03712205410a6e2209410a704130723a0000200241016a20042009410a6c6b4130723a0000200541e4006e21042002200341086a4721052002417e6a210220050d000b0b2000200341086a20082001410c6a28020011808080800000450d00410121050c020b4100210520064100410c200620074622021b6a21042002450d000b0b200341106a24808080800020050b860201017f23808080800041106b2213248080808000200028020020012002200028020428020c118080808000002102201341003a000d201320023a000c20132000360208201341086a2003200420052006108a81808000200720082009200a108a81808000200b200c200d200e108a81808000200f201020112012108a81808000211220132d000d220220132d000c2201722100024020024101470d0020014101710d000240201228020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c010b200028020041dc80c280004101200028020428020c1180808080000021000b201341106a24808080800020004101710b940201017f23808080800041106b2217248080808000200028020020012002200028020428020c118080808000002102201741003a000d201720023a000c20172000360208201741086a2003200420052006108a81808000200720082009200a108a81808000200b200c200d200e108a81808000200f201020112012108a818080002013201420152016108a81808000211620172d000d220220172d000c2201722100024020024101470d0020014101710d000240201628020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c010b200028020041dc80c280004101200028020428020c1180808080000021000b201741106a24808080800020004101710bf70301037f23808080800041206b2207248080808000024002402000280200220820012002200028020428020c220911808080800000450d00410121020c010b0240024020002d000a418001710d0041012102200841df80c2800041012009118080808000000d0220032000200428020c11848080800000450d010c020b0240200841e080c280004102200911808080800000450d00410121020c020b41012102200741013a000f200741b480c28000360214200720002902003702002007200029020837021820072007410f6a360208200720073602102003200741106a200428020c118480808000000d01200728021041da80c280004102200728021428020c118080808000000d010b0240024020002d000a418001710d000240200028020041d380c280004102200028020428020c11808080800000450d00410121020c030b4101210220052000200628020c11848080800000450d010c020b41012102200741013a000f200741b480c28000360214200720002902003702002007200029020837021820072007410f6a360208200720073602102005200741106a200628020c118480808000000d01200728021041da80c280004102200728021428020c118080808000000d010b200028020041e280c280004101200028020428020c1180808080000021020b200741206a24808080800020020bb70501037f23808080800041206b2209248080808000024002402000280200220a20012002200028020428020c220b11808080800000450d00410121020c010b0240024020002d000a418001710d0041012102200a41df80c280004101200b118080808000000d0220032000200428020c11848080800000450d010c020b0240200a41e080c280004102200b11808080800000450d00410121020c020b41012102200941013a000f200941b480c28000360214200920002902003702002009200029020837021820092009410f6a360208200920093602102003200941106a200428020c118480808000000d01200928021041da80c280004102200928021428020c118080808000000d010b0240024020002d000a418001710d000240200028020041d380c280004102200028020428020c11808080800000450d00410121020c030b20052000200628020c11848080800000450d01410121020c020b41012102200941013a000f200941b480c28000360214200920002902003702002009200029020837021820092009410f6a360208200920093602102005200941106a200628020c118480808000000d01200928021041da80c280004102200928021428020c118080808000000d010b0240024020002d000a418001710d000240200028020041d380c280004102200028020428020c11808080800000450d00410121020c030b4101210220072000200828020c11848080800000450d010c020b41012102200941013a000f200941b480c28000360214200920002902003702002009200029020837021820092009410f6a360208200920093602102007200941106a200828020c118480808000000d01200928021041da80c280004102200928021428020c118080808000000d010b200028020041e280c280004101200028020428020c1180808080000021020b200941206a24808080800020020b2d00024020002d00000d00200141b4a8c28000410510b4818080000f0b200141b9a8c28000410410b4818080000bc007010e7f23808080800041106b2203248080808000410121040240200228020022054122200228020422062802102207118480808000000d000240024020010d0041002101410021080c010b41002108410020016b21094100210a2000210b2001210c024002400340200b200c6a210d4100210202400340200b20026a220e2d0000220f41817f6a41ff017141a101490d01200f4122460d01200f41dc00460d01200c200241016a2202470d000b200c200a6a21020c030b200e41016a210b02400240200e2c0000220f417f4c0d00200f41ff0171210f0c010b200b2d0000413f71210c200f411f712110200e41026a210b0240200f415f4b0d002010410674200c72210f0c010b200c410674200b2d0000413f7172210c200e41036a210b0240200f41704f0d00200c2010410c7472210f0c010b200c410674200b2d0000413f71722010411274418080f0007172210f200e41046a210b0b200341046a200f4181800410af818080000240024020032d0004418001460d0020032d000f20032d000e6b41ff01714101460d00024002402008200a20026a220e4b0d0002402008450d00024020082001490d0020082001470d020c010b200020086a2c000041bf7f4c0d010b0240200e450d000240200e2001490d00200e20096a450d010c020b2000200a6a20026a2c00004140480d010b2005200020086a200a20086b20026a200628020c220e11808080800000450d010c030b200020012008200e41c0a8c2800010c381808000000b0240024020032d0004418001470d00200520032802082007118480808000000d030c010b2005200341046a20032d000e220c6a20032d000f200c6b200e118080808000000d020b02400240200f4180014f0d004101210e0c010b0240200f4180104f0d004102210e0c010b41034104200f41808004491b210e0b200e200a6a20026a21080b02400240200f4180014f0d004101210f0c010b0240200f4180104f0d004102210f0c010b41034104200f41808004491b210f0b200f200a6a220f20026a210a200d200b6b220c450d020c010b0b410121040c030b200f20026a21020b0240200820024b0d0002402008450d00024020082001490d0020082001470d020c010b200020086a2c000041bf7f4c0d010b024020020d00410021010c020b024020022001490d0020022001460d020c010b200020026a2c000041bf7f4c0d00200221010c010b200020012008200241d0a8c2800010c381808000000b2005200020086a200120086b200628020c118080808000000d002005412220071184808080000021040b200341106a24808080800020040bbf0101047f23808080800041106b2202248080808000410121030240200128020022044127200128020422052802102201118480808000000d00200241046a200028020041810210af818080000240024020022d0004418001470d0020042002280208200111848080800000450d01410121030c020b2004200241046a20022d000e22036a20022d000f20036b200528020c11808080800000450d00410121030c010b2004412720011184808080000021030b200241106a24808080800020030bb40201017f23808080800041106b2202248080808000200028020021000240024020012d000b4118710d002001280200200020012802042802101184808080000021000c010b2002410036020c0240024002402000418001490d002000418010490d010240200041808004490d0020022000413f71418001723a000f2002200041127641f001723a000c20022000410676413f71418001723a000e20022000410c76413f71418001723a000d410421000c030b20022000413f71418001723a000e20022000410c7641e001723a000c20022000410676413f71418001723a000d410321000c020b200220003a000c410121000c010b20022000413f71418001723a000d2002200041067641c001723a000c410221000b20012002410c6a200010b48180800021000b200241106a24808080800020000bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b180020002802002001200028020428020c118480808000000bbb0202027f017e2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002903004101200110fc8080800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000b140020012000280200200028020410b4818080000b13002000200120022003200410c481808000000b9b0902047f017e23808080800041f0006b22052480808080002005200336020c20052002360208024002400240024020014181024f0d004100210641012107200121080c010b4105210641d0a9c280002107024020002c00800241bf7f4c0d0041800221080c010b024020002c00ff0141bf7f4c0d0041ff0121080c010b200041fe0141fd0120002c00fe0141bf7f4a1b22086a2c000041bf7f4c0d014105210641d0a9c2800021070b20052008360214200520003602102005200636021c200520073602180240200220014b22060d00200320014d0d020b20052002200320061b3602282005410336023420054198abc280003602302005420337023c200541a380808000ad4220862209200541186aad8437035820052009200541106aad843703502005418680808000ad422086200541286aad843703482005200541c8006a360238200541306a200410fe80808000000b2000200141002008200410c381808000000b024002400240200220034b0d0002402002450d00200220014f0d0020032002200020026a2c000041bf7f4a1b21030b20052003360220200121020240200320014f0d00200341016a220641002003417d6a2202200220034b1b2202490d02200620026b210702400240200020036a2c000041bf7f4c0d002007417f6a21030c010b0240200020066a2203417e6a2c000041bf7f4c0d002007417e6a21030c010b02402003417d6a2c000041bf7f4c0d002007417d6a21030c010b2007417c417b2003417c6a2c000041bf7f4a1b6a21030b200320026a21020b02402002450d00024020022001490d0020022001460d010c040b200020026a2c000041bf7f4c0d030b02400240024020022001460d00024002400240200020026a22032c00002201417f4a0d0020032d0001413f7121002001411f7121062001415f4b0d01200641067420007221010c020b2005200141ff0171360224410121010c040b200041067420032d0002413f717221000240200141704f0d0020002006410c747221010c010b200041067420032d0003413f71722006411274418080f00071722201418080c400460d010b2005200136022420014180014f0d01410121010c020b200410a081808000000b024020014180104f0d00410221010c010b41034104200141808004491b21010b200520023602282005200120026a36022c20054105360234200541d8aac280003602302005420537023c200541a380808000ad4220862209200541186aad8437036820052009200541106aad84370360200541ad80808000ad422086200541286aad84370358200541ae80808000ad422086200541246aad843703502005418680808000ad422086200541206aad843703482005200541c8006a360238200541306a200410fe80808000000b20054104360234200541f8a9c280003602302005420437023c200541a380808000ad4220862209200541186aad8437036020052009200541106aad843703582005418680808000ad42208622092005410c6aad8437035020052009200541086aad843703482005200541c8006a360238200541306a200410fe80808000000b2002200641b0abc28000109581808000000b2000200120022001200410c381808000000be90201067f200120024101746a210720004180fe0371410876210841002109200041ff0171210a02400240024002400340200141026a210b200920012d000122026a210c024020012d000022012008460d00200120084b0d04200c2109200b2101200b2007470d010c040b200c2009490d01200c20044b0d02200320096a21010340024020020d00200c2109200b2101200b2007470d020c050b2002417f6a210220012d00002109200141016a21012009200a470d000b0b410021020c030b2009200c41bcacc28000109581808000000b200c200441bcacc28000109181808000000b200041ffff03712109200520066a210c410121020340200541016a210a0240024020052c000022014100480d00200a21050c010b0240200a200c460d00200141ff007141087420052d0001722101200541026a21050c010b41ccacc2800010a081808000000b200920016b22094100480d01200241017321022005200c470d000b0b20024101710bef01000240200041204f0d0041000f0b0240200041ff004f0d0041010f0b0240200041808004490d000240200041808008490d00200041e0ffff007141e0cd0a47200041feffff0071419ef00a4771200041c091756a417a4971200041d0e2746a4172497120004190a8746a417149712000418090746a41de6c49712000418080746a419e744971200041b0d9736a417b497120004180fe476a41b0c5544971200041f0833849710f0b200041dcacc28000412c41b4adc2800041d0014184afc2800041e60310c5818080000f0b200041eab2c28000412841bab3c2800041a20241dcb5c2800041a90210c5818080000bc417010e7f23808080800041306b2207248080808000024002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022082f018a012209410b490d00200128020421092001280208210a41002d008083d480001a418c0141002802f482d48000118280808000002201450d0b2001200141036a417c7120016b220b6a220c41003b018a01200c4100360258200c417e6a200b3b0000200a4105490d01200a417b6a0e020304020b200841dc006a220d2001280208220a4102746a210c200a41016a220b20094d0d07200c20023602000c080b200c20082f018a01417b6a22013b018a012001410c4f0d0a200841ec006a210b200841206a210d200841246a210e4104210f4128211041f000211120092112200821130c040b200c20082f018a0141796a22013b018a012001410c4f0d0a200a41796a210a200841f4006a210b200841306a210d200841346a210e410021124106210f4138211041f80021110c020b200c20082f018a01417a6a22013b018a012001410c4f0d0a2008280270210b2008280228210d200828022c210e200c41dc006a200841f4006a200141027410f4978080001a200c200841306a200141037410f4978080001a200841063b018a012008200436022c20082003360228200820023602704105210a20092112200821130c030b200c20082f018a01417a6a22013b018a012001410c4f0d0a200841f0006a210b200841286a210d2008412c6a210e4100210a4105210f4130211041f4002111410021120b200c21130b200e280200210e200d280200210d200b280200210b200c41dc006a200820116a200141027410f4978080001a200c200820106a200141037410f4978080001a2008200f3b018a01201341dc006a2210200a4102746a21010240024020132f018a01220f200a4b0d00200120023602000c010b2010200a41016a22114102746a2001200f200a6b221041027410f9978080001a20012002360200201320114103746a2013200a4103746a201041037410f9978080001a0b2013200a4103746a22012003360200200120043602042013200f41016a3b018a010b200828025822010d02410021040c090b200d200b4102746a200c2009200a6b220d41027410f9978080001a200c20023602002008200b4103746a2008200a4103746a200d41037410f9978080001a0b2008200a4103746a220c2003360200200c20043602042008200941016a3b018a0120012802042112200821130c080b41002104034020042009470d0620082f0188012108024002400240024002400240024020012f018a012204410b490d00200941016a210420084105490d0141002109410521032008417b6a0e020204030b200141dc006a220f200841027422106a2103200841016a2109200441016a21020240024020082004490d002003200b360200200120084103746a220b200e360204200b200d3602000c010b200f200941027422116a2003200420086b220f410274221410f9978080001a2003200b360200200120094103746a200120084103746a220b200f41037410f9978080001a200b200e360204200b200d3602002001418c016a220b20106a41086a200b20116a201410f9978080001a0b200120023b018a01200120094102746a200c36028c012009200441026a220b4f0d0e0240200420086b220d41016a4103712204450d00200120084102746a4190016a210803402008280200220c20093b018801200c2001360258200841046a2108200941016a21092004417f6a22040d000b0b200d4103490d0e200941027420016a4198016a21080340200841746a280200220420093b01880120042001360258200841786a2802002204200941016a3b018801200420013602582008417c6a2802002204200941026a3b0188012004200136025820082802002204200941036a3b01880120042001360258200841106a2108200b200941046a2209470d000c0f0b0b200741043602102007200436020c20072001360208200741146a200741086a10c88180800020072802142101200821090c030b200741053602102007200436020c20072001360208200741146a200741086a10c881808000200728021422082f018a01220141016a21090240024020014106490d00200841f4006a200841f0006a2001417b6a220441027410f9978080001a2008200b360270200841306a200841286a200441037410f9978080001a2008200e36022c2008200d360228200841a8016a200841a4016a2001410274416c6a10f9978080001a200820093b018a012008200c3602a4010c010b2008200c3602a4012008200e36022c2008200d3602282008200b360270200820093b018a0120014105470d040b2001410371210c4106210902402001417b6a41ffff03714103490d00200141fcff037141786a210d41062101410021040340200820046a220941a4016a280200220b20013b018801200b2008360258200941a8016a280200220b200141016a3b018801200b2008360258200941ac016a280200220b200141026a3b018801200b2008360258200941b0016a2802002209200141036a3b01880120092008360258200441106a21042001417a6a210b200141046a22092101200b200d470d000b0b200c450d03200820094102746a418c016a210103402001280200220420093b01880120042008360258200141046a2101200941016a2109200c417f6a220c0d000c040b0b200841796a2109410621030b200720033602102007200436020c20072001360208200741146a200741086a10c881808000200728021c21010b200141dc006a22102009410274220f6a2103200941016a210820012f018a01220441016a210202400240200420094b0d002003200b360200200120094103746a220b200e360204200b200d3602000c010b2010200841027422116a2003200420096b2210410274221410f9978080001a2003200b360200200120084103746a200120094103746a220b201041037410f9978080001a200b200e360204200b200d3602002001418c016a220b200f6a41086a200b20116a201410f9978080001a0b200120023b018a01200120084102746a200c36028c0102402008200441026a220b4f0d000240200420096b220d41016a4103712204450d002001200f6a4190016a210903402009280200220c20083b018801200c2001360258200941046a2109200841016a21082004417f6a22040d000b0b200d4103490d00200120084102746a4198016a21090340200941746a280200220420083b01880120042001360258200941786a2802002204200841016a3b018801200420013602582009417c6a2802002204200841026a3b0188012004200136025820092802002204200841036a3b01880120042001360258200941106a2109200b200841046a2208470d000b0b20072802142208450d090b200728022c210e2007280228210d2007280224210b20072802202104200728021c210c2007280218210920082802582201450d070c000b0b4104418c0110ab80808000000b2001410b419cbec28000109181808000000b2001410b419cbec28000109181808000000b2001410b419cbec28000109181808000000b2001410b419cbec28000109181808000000b41bcbec28000413541f4bec28000108081808000000b02400240200528020022012802002209450d002001280204210341002d008083d480001a41bc0141002802f482d48000118280808000002208450d032008200841036a417c7120086b22026a2208200936028c01200841003b018a01200841003602582008417e6a20023b0000200941003b018801200920083602582001200341016a3602042001200836020020042003470d0420082f018a012201410b490d0141d8bbc28000412041c8bcc28000108081808000000b41c8bbc2800010a081808000000b2008200141016a22093b018a01200820014102746a200b36025c200820014103746a2201200e3602042001200d3602002008418c016a20094102746a200c360200200c20093b018801200c20083602580b2000200a3602082000201236020420002013360200200741306a2480808080000f0b410441bc0110ab80808000000b4188bcc28000413041b8bcc28000108081808000000b8804010a7f200128020022022f018a01210341002d008083d480001a0240024002400240024041bc0141002802f482d48000118280808000002204450d002004200441036a417c7120046b22056a220641003b018a01200641003602582006417e6a20053b0000200620022f018a01220720012802082204417f736a22053b018a012005410c4f0d012007200441016a22086b2005470d02200241dc006a220720044102746a2802002109200220044103746a220a280204210b200a280200210a200641dc006a200720084102746a200541027410f4978080001a2006200220084103746a200541037410f4978080002108200220043b018a0120082f018a01220641016a21052006410c4f0d03200320046b22072005470d042008418c016a200220044102746a4190016a200741027410f4978080002107200128020421014100210402400340200720044102746a280200220520043b01880120052008360258200420064f0d01200420042006496a220420064d0d000b0b2000200b3602182000200a3602142000200936021020002001360204200020023602002000200136020c200020083602080f0b410441bc0110ab80808000000b2005410b419cbec28000109181808000000b41e4bdc280004128418cbec28000108081808000000b2005410c41acbec28000109181808000000b41e4bdc280004128418cbec28000108081808000000bc005020e7f027e02400240024002402001200028021422022f018a0122036a2204410c4f0d00200028020c22052f018a0122062001490d012005200620016b22073b018a01200220043b018a01200241dc006a220820014102746a20082003410274220910f9978080001a200220014103746a2002200341037410f9978080001a2006200741016a22036b22062001417f6a470d022008200541dc006a220a20034102746a2006410274220b10f49780800021082002200520034103746a2006410374220610f49780800021022000280200220c2000280208220d4102746a220e28025c210f200520074103746a2902002110200e200a20074102746a28020036025c200c200d4103746a22072902002111200720103702002008200b6a200f360200200220066a201137020020002802182107024002402000280210450d002007450d012002418c016a2200200141027422016a2000200941046a10f9978080001a2000200520034102746a418c016a200110f4978080001a200441016a2207410371210541002101024020044103490d0020024198016a21002007413c712103410021010340200041746a280200220720013b01880120072002360258200041786a2802002207200141016a3b018801200720023602582000417c6a2802002207200141026a3b0188012007200236025820002802002207200141036a3b01880120072002360258200041106a21002003200141046a2201470d000b0b2005450d05200141027420026a418c016a210003402000280200220720013b01880120072002360258200041046a2100200141016a21012005417f6a22050d000c060b0b2007450d040b4180c0c28000412841a8c0c28000108081808000000b4184bfc28000413341b8bfc28000108081808000000b41c8bfc28000412741f0bfc28000108081808000000b41e4bdc280004128418cbec28000108081808000000b0bcf06020b7f027e0240024002402001200028020c22022f018a0122036a2204410c4f0d00200028021422052f018a0122062001490d01200220043b018a012005200620016b22043b018a0120002802002207200028020822084102746a220928025c210a20052001417f6a220b410374220c6a290200210d2009200541dc006a2206200b410274220b6a28020036025c200720084103746a2207290200210e2007200d370200200241dc006a220820034102746a200a360200200220034103746a200e3702002008200341016a22074102746a2006200b10f4978080001a200220074103746a2005200c10f4978080001a2006200620014102746a2004410274220810f9978080001a2005200520014103746a200441037410f997808000210520002802182106024002402000280210450d002006450d012002418c016a220a20074102746a2005418c016a22002001410274220610f49780800021092000200020066a200841046a10f9978080001a2009280200220020073b01880120002002360258024020014101460d00200a200341026a22004102746a280200220620003b0188012006200236025820014102460d00200a200341036a22004102746a280200220620003b0188012006200236025820014103460d00200a200341046a22004102746a280200220620003b0188012006200236025820014104460d00200a200341056a22014102746a280200220020013b018801200020023602580b200441016a2203410371210241002101024020044103490d0020054198016a21002003417c712104410021010340200041746a280200220320013b01880120032005360258200041786a2802002203200141016a3b018801200320053602582000417c6a2802002203200141026a3b0188012003200536025820002802002203200141036a3b01880120032005360258200041106a21002004200141046a2201470d000b0b2002450d04200141027420056a418c016a210003402000280200220320013b01880120032005360258200041046a2100200141016a21012002417f6a22020d000c050b0b2006450d030b4180c0c28000412841b4c1c28000108081808000000b41b8c0c28000413241ecc0c28000108081808000000b41fcc0c28000412841a4c1c28000108081808000000b0b8307020e7f017e02400240200128020c22022f018a01220341016a2204200128021422052f018a0122066a2207410c4f0d0020012802102108200128020421092001280200220a2f018a01210b200220073b018a01200a2001280208220c4102746a220128025c210d200141dc006a200141e0006a200b200c417f736a220e410274220f10f9978080001a200241dc006a220120034102746a200d360200200120044102746a200541dc006a200641027410f4978080001a200a200c4103746a220129020021102001200141086a200e41037410f9978080001a200220034103746a2010370200200220044103746a2005200641037410f4978080001a200a200c41016a22014102746a220d418c016a200d4190016a200f10f9978080001a02402001200b4f0d00200b200c6b417e6a210f0240200e410371220e450d00200c410274200a6a4190016a210c0340200c280200220d20013b018801200d200a360258200c41046a210c200141016a2101200e417f6a220e0d000b0b200f4103490d002001410274200a6a4198016a210c0340200c41746a280200220e20013b018801200e200a360258200c41786a280200220e200141016a3b018801200e200a360258200c417c6a280200220e200141026a3b018801200e200a360258200c280200220e200141036a3b018801200e200a360258200c41106a210c200b200141046a2201470d000b0b200a200a2f018a01417f6a3b018a01024020094102490d00200641016a2201200720036b470d022002418c016a20044102746a2005418c016a200141027410f4978080001a02402001410371220a450d00200341027420026a4190016a210103402001280200220c20043b018801200c2002360258200141046a2101200441016a2104200a417f6a220a0d000b0b20064103490d002004410274210a03402002200a6a2201418c016a280200220c20043b018801200c200236025820014190016a280200220c200441016a3b018801200c200236025820014194016a280200220c200441026a3b018801200c200236025820014198016a2802002201200441036a220c3b01880120012002360258200441046a2104200a41106a210a200c2007470d000b0b20052005417e6a2f00006b41002802ec82d480001181808080000020002008360204200020023602000f0b41e4c2c28000412a4190c3c28000108081808000000b41e4bdc280004128418cbec28000108081808000000bf10e07087f017e027f017e017f017e037f20002802002103024020002802042204450d0002400240200441037122050d00200421060c010b2004210603402006417f6a2106200320032f018a014102746a28028c0121032005417f6a22050d000b0b20044104490d000340200320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c0121032006417c6a22060d000b0b200128021c210720012802182108200128021421092001280210210a2001290208210b2001280204210c2001280200210d0240034002400240200d4102460d00200b210e200c210f200d4101710d010c030b20092007460d022009280200210f2009290204210e2009410c6a21090b4100210d024020092007460d002009410c6a2106200929020421104101210d0240200f2009280200220c460d002010210b200621090c010b024020062007470d002010210b200f210c200621092010210e4100210d0c010b200941186a21062009290210210b0240200f200928020c220c460d00200621092010210e0c010b0340200b210e024020062007470d00200e210b200f210c200621094100210d0c020b2006280200210c200641046a290200210b2006410c6a22092106200f200c460d000b0b200e422088a72111200ea72112024002400240024002400240024020032f018a012206410b490d0041002113024003400240200328025822030d00200028020421052000280200210641002d008083d480001a41bc0141002802f482d48000118280808000002203450d042003200341036a417c7120036b22016a2203200636028c01200341003b018a01200341003602582003417e6a20013b00002000200541016a221336020420002003360200200641003b018801200620033602580c020b201341016a211320032f018a01410a4b0d000b0b41002d008083d480001a418c0141002802f482d48000118280808000002206450d022006200641036a417c7120066b22016a220541003b018a01200541003602582005417e6a20013b00002013417f6a2201450d04034041002d008083d480001a41bc0141002802f482d48000118280808000002206450d042006200641036a417c7120066b22046a2206200536028c01200641003b018a01200641003602582006417e6a20043b0000200541003b01880120052006360258200621052001417f6a2201450d050c000b0b2003200641016a3b018a01200320064102746a200f36025c200320064103746a22062011360204200620123602000c040b410441bc0110ab80808000000b4104418c0110ab80808000000b410441bc0110ab80808000000b20032f018a012206410b4f0d012003200641016a22013b018a01200320064102746a200f36025c200320064103746a2206201136020420062012360200200320014102746a200536028c01200520013b018801200520033602582013450d0002400240201341037122050d00201321060c010b2013210603402006417f6a2106200320032f018a014102746a28028c0121032005417f6a22050d000b0b20134104490d000340200320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c0121032006417c6a22060d000b0b2002200228020041016a3602000c010b0b41d8bbc28000412041c8bcc28000108081808000000b02402008450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b024020002802042204450d00200028020021050340024002400240024020052f018a012203450d0020052003417f6a220f4102746a22132802900122062f018a01220341054f0d03410520036b41ffff03712209201328028c0122012f018a0122074b0d012001200720096b220c3b018a01200641053b018a01200641dc006a220d200941027422026a200d2003410274220010f9978080001a200620094103746a2006200341037410f9978080001a2007200c41016a22036b22072009417f6a470d02200d200141dc006a22092003410274220a6a2007410274221110f497808000210d2006200120034103746a2007410374220710f4978080002103201328025c21122001200c4103746a290200210e20132009200c4102746a28020036025c2005200f4103746a2205290200210b2005200e370200200d20116a2012360200200320076a200b37020020044101460d052003418c016a220520026a2005200041046a10f9978080001a20052001200a6a418c016a200210f4978080001a200328028c01220541003b01880120052003360258200328029001220541013b01880120052003360258200328029401220541023b01880120052003360258200328029801220541033b01880120052003360258200328029c01220541043b0188012005200336025820032802a001220541053b018801200520033602580c030b4185b8c28000411941a0b9c28000108081808000000b41c8bfc28000412741f0bfc28000108081808000000b41e4bdc280004128418cbec28000108081808000000b200621052004417f6a22040d000b0b0bd20f02157f017e23808080800041a0016b220324808080800020012802002204200128020822054102746a220628025c2107200641dc006a200641e0006a20042f018a0122082005417f736a220941027410f9978080001a200420054103746a2206280204210a2006280200210b2006200641086a200941037410f9978080001a20042008417f6a22063b018a012001280204210c0240200641ffff037141044b0d00024020042802582201450d00200c41016a2108024002400240024020042f01880122090d0020012f018a010d012003410136026c20034198bdc280003602682003420037027420032003419c016a360270200341e8006a41a0bdc2800010fe80808000000b2003200c36022c200320043602282003200c3602242003200836021820032009417f6a220836021c200320013602142003200120084102746a28028c012201360220024020012f018a012208200641ffff037122016a41016a410c490d00200341146a410110c981808000200541016a21050c040b200520014b0d01200520086a41016a2105200341086a200341146a10cb8180800020032802082104200328020c210c0c030b2003200c3602482003200c3602402003200436023c200341003602382003200836023420032001360230200320012802900122013602440240200641ffff0371220620012f018a016a41016a410c490d00200341306a410110ca818080000c030b200520064b0d012003200341306a10cb81808000200328020021042003280204210c0c020b41c4c1c28000418e0141d4c2c28000108081808000000b41c4c1c28000418e0141d4c2c28000108081808000000b20042802582209450d0020092f018a01220641044b0d00200c41016a210d0240024002400340200d21012009220e2802582209450d01200641ffff0371210f200141016a210d0240024002400240200e2f01880122060d00024020092f018a0122100d00200341013602880120034198bdc2800036028401200342003702900120032003419c016a36028c0120034184016a41a0bdc2800010fe80808000000b2003200136028001200320013602782003200e36027441002111200341003602702003200d36026c200320093602682003200928029001220636027c200f41016a220120062f018a0122126a2213410c4f0d01200e21082006210e200f21142012210f0c030b200320013602642003200e3602602003200136025c2003200d36025020032006417f6a22113602542003200936024c2003200920114102746a28028c012208360258200f20082f018a0122146a41016a410c490d01200341cc006a4105200f6b10c9818080000c070b200341e8006a4105200f6b10ca818080000c060b201441016a2201200f6a211320092f018a0121100b200820133b018a01200920114102746a220628025c2112200641dc006a200641e0006a201041ffff037122152011417f736a2210410274221610f9978080001a200841dc006a220620144102746a20123602002006200141027422176a200e41dc006a200f41027410f4978080001a200920114103746a220629020021182006200641086a201041037410f9978080001a200820144103746a2018370200200820014103746a200e200f41037410f4978080001a2009201141016a22064102746a2212418c016a221020124190016a201610f9978080001a0240201520064d0d00201520116b417e6a21160240201520066b4103712211450d0003402010280200221220063b01880120122009360258201041046a2110200641016a21062011417f6a22110d000b0b20164103490d00200920064102746a4198016a21100340201041746a280200221120063b01880120112009360258201041786a2802002211200641016a3b018801201120093602582010417c6a2802002211200641026a3b0188012011200936025820102802002211200641036a3b01880120112009360258201041106a21102015200641046a2206470d000b0b200920092f018a01417f6a3b018a010240200d4102490d00200f41016a2206201320146b470d032008418c016a20176a200e418c016a200641027410f4978080001a0240201320016b221241016a4103712210450d00200820176a418c016a210603402006280200221120013b01880120112008360258200641046a2106200141016a21012010417f6a22100d000b0b20124103490d00200141027421100340200820106a2206418c016a280200221120013b0188012011200836025820064190016a2802002211200141016a3b0188012011200836025820064194016a2802002211200141026a3b0188012011200836025820064198016a2802002206200141036a22113b01880120062008360258200141046a2101201041106a211020112013470d000b0b200e200e417e6a2f00006b41002802ec82d480001181808080000020092f018a01220641044d0d000c040b0b200641ffff0371450d010c020b41e4bdc280004128418cbec28000108081808000000b024002402002450d00200228020422060d0141b0bdc28000412141d4bdc28000108081808000000b41b0bac2800010a081808000000b2002280200220128028c012208410036025820022006417f6a3602042002200836020020012001417e6a2f00006b41002802ec82d48000118180808000000b200020053602142000200c3602102000200436020c2000200a3602082000200b36020420002007360200200341a0016a2480808080000b8b0501087f23808080800041306b2204248080808000200128020821052001280200210602400240200128020422070d0020042005360208200441003602042004200636020020002004200228020010cd818080000c010b20022802002108200620054102746a28028c01210102402007417f6a2202450d002007417e6a2105024020024103712207450d0003402002417f6a2102200120012f018a014102746a28028c0121012007417f6a22070d000b0b20054103490d000340200120012f018a014102746a28028c01220120012f018a014102746a28028c01220120012f018a014102746a28028c01220120012f018a014102746a28028c0121012002417c6a22020d000b0b2004200136020c2004200133018a014220864280808080707c370210200441186a2004410c6a200810cd818080002004280228210220042802202108200428021c2109200428021821050240200428022c2207200428022422012f018a01490d000340200241016a210220012f0188012207200128025822012f018a014f0d000b0b200120074102746a220628025c210a2006200536025c200120074103746a2205280204210b2005200836020420052802002108200520093602000240024020020d00200741016a21050c010b20064190016a2802002101410021052002417f6a2207450d002002417e6a2106024020074107712202450d0003402007417f6a2107200128028c0121012002417f6a22020d000b0b20064107490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200741786a22070d000b0b20002005360214200041003602102000200136020c2000200b360208200020083602042000200a3602000b200441306a2480808080000ba50402097f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c02400240024002402002450d0020012802042105200128020021064180202107034002402002200720022007491b2208200328020c220920046b4d0d00024002400240200820046a220441ffffffff014d0d00410021030c010b2004410274210a4100210b02402009450d00200320032802103602242003200941027436022c4104210b0b2003200b360228200341186a4104200a200341246a10ea8280800020032802184101470d0120032802202105200328021c21030b20032005419cc5c2800010b980808000000b2003200328021c3602102003200436020c0b024002402007450d0020082109200621070240034020054104490d0120012005417c6a22053602042001200741046a220636020020072800002104024020032802142207200328020c470d002003410c6a41acc5c2800010ec828080000b200328021020074102746a20043602002003200741016a2204360214200621072009417f6a22090d000c030b0b200328020c450d05200328021022052005417e6a2f00006b41002802ec82d48000118180808000000c050b200328021421040b20042107200220086b22020d000b200328020c2205418080808078460d022003290210210c0c010b2003290210210c410021050b2000200c370204200020053602000c010b20004180808080783602000b200341306a2480808080000b980303037f017e077f23808080800041206b220324808080800002400240200128020422042002490d000240024020020d0041002105420121060c010b20012802002107418080012108410021094101210a41002105034002402002200820022008491b220b200520096b4d0d004100210c02400240200b20096a22084100480d004100210c02402005450d002003200536021c2003200a3602144101210c0b2003200c360218200341086a41012008200341146a10ea8280800020032802084101470d012003280210210d200328020c210c0b200c200d419cc5c2800010b980808000000b200328020c210a200821050b02402004200b4f0d002005450d03200a200a417e6a2f00006b41002802ec82d48000118180808000000c030b200a20096a2007200b10f4978080001a20012004200b6b220436020420012007200b6a2207360200200b20096a220921082002200b6b22020d000b2005418080808078460d012009ad422086200aad8421060b20002006370204200020053602000c010b20004180808080783602000b200341206a2480808080000bf30401047f23808080800041106b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d00200420012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020037020c200141146a200441086a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510d2938080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021422052005417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200429020037020c200141146a200441086a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d032001200641016a36020c02400240200128021822070d0020004181808080783602002001200636020c0c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536020020052802080d062005417f3602082000200528020c20022003200528021041c4006a280200118380808000002005200528020841016a36020820052005280200417f6a2206360200024020060d00200410d2938080000b2001280204417f6a21050b20012005360204200441106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bf90401057f23808080800041106b22022480808080000240024002400240024002402001280204220341ffffffff074f0d00024020012802080d00200220012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200229020037020c200141146a200241086a290200370200410021030c010b024020012802182204450d00200128021421030340200328020022052005280200417f6a2205360200024020050d00200310af828080000b200341046a21032004417f6a22040d000b0b02402001280210450d00200128021422032003417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200229020037020c200141146a200241086a2902003702002001200128020441016a2203360204200341ffffffff074f0d030b2001200341016a360204200128020c220441ffffffff074f0d032001200441016a36020c02400240200128021822050d002001200436020c410021040c010b200128021420054102746a417c6a2802002203200328020041016a22043602002004450d052001200128020c417f6a36020c2002200336020020032802080d062003417f360208200328020c2003280210410c6a280200118280808000002105410121042003200328020841016a36020820032003280200417f6a2206360200024020060d00200210af828080000b2001280204417f6a21030b200120033602042000200536020420002004360200200241106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bed0401047f23808080800041106b22032480808080000240024002400240024002402000280204220441ffffffff074f0d00024020002802080d00200320002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200329020037020c200041146a200341086a290200370200410021040c010b024020002802182205450d00200028021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402000280210450d00200028021422042004417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200329020037020c200041146a200341086a2902003702002000200028020441016a2204360204200441ffffffff074f0d030b2000200441016a360204200028020c220541ffffffff074f0d032000200541016a36020c02400240200028021822060d002000200536020c410221050c010b200028021420064102746a417c6a2802002204200428020041016a22053602002005450d052000200028020c417f6a36020c2003200436020020042802080d062004417f360208200428020c200120022004280210413c6a2802001180808080000021052004200428020841016a36020820042004280200417f6a2206360200024020060d00200310d2938080000b2000280204417f6a21040b20002004360204200341106a24808080800020050f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000be10501057f23808080800041206b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d00200441086a20012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020837020c200141146a200441106a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510d2938080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021422052005417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200429020837020c200141146a200441106a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d0320032802042108200328020021032001200641016a36020c02400240200128021822070d002001200636020c410221060c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536020420052802080d062005417f360208200441086a200528020c20022003200841002005200528021041cc006a28020011858080800000200428021c2107024020042802082206418080808078460d002006450d00200428020c22032003417e6a2f00006b41002802ec82d48000118180808000000b2005200528020841016a36020820052005280200417f6a2203360200024020030d00200441046a10d2938080000b20064180808080784721062001280204417f6a21050b200120053602042000200736020420002006360200200441206a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bfb0401047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d0320022d000021022001200541016a36020c02400240200128021822060d0020004180808080783602002001200536020c0c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020020042802080d062004417f3602082000200428020c2002410171200428021041e0006a280200118680808000002004200428020841016a36020820042004280200417f6a2205360200024020050d00200310d2938080000b2001280204417f6a21040b20012004360204200341106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bfd0401047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d032001200541016a36020c02400240200128021822060d0020004181808080783602002001200536020c0c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020020042802080d062004417f3602082000200428020c200228020020022802042002280208200428021041286a280200118780808000002004200428020841016a36020820042004280200417f6a2205360200024020050d00200310d2938080000b2001280204417f6a21040b20012004360204200341106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000be70401047f23808080800041106b22012480808080000240024002400240024002402000280204220241ffffffff074f0d00024020002802080d00200120002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200129020037020c200041146a200141086a290200370200410021020c010b024020002802182203450d00200028021421020340200228020022042004280200417f6a2204360200024020040d00200210d2938080000b200241046a21022003417f6a22030d000b0b02402000280210450d00200028021422022002417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200129020037020c200041146a200141086a2902003702002000200028020441016a2202360204200241ffffffff074f0d030b2000200241016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822030d002000200436020c0c010b200028021420034102746a417c6a2802002202200228020041016a22043602002004450d052000200028020c417f6a36020c2001200236020020022802080d062002417f360208200228020c200228021041ec006a280200118180808000002002200228020841016a36020820022002280200417f6a2204360200024020040d00200110d2938080000b2000280204417f6a21020b20002002360204200141106a24808080800020034100470f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000be60501047f23808080800041206b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200341086a20012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020837020c200141146a200341106a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020837020c200141146a200341106a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d032001200541016a36020c02400240200128021822060d002001200536020c410221050c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020420042802080d062004417f360208200341086a200428020c2002280200200228020420022802082205280200200528020441002004200428021041d0006a28020011888080800000200328021c2106024020032802082205418080808078460d002005450d00200328020c22022002417e6a2f00006b41002802ec82d48000118180808000000b2004200428020841016a36020820042004280200417f6a2202360200024020020d00200341046a10d2938080000b20054180808080784721052001280204417f6a21040b200120043602042000200636020420002005360200200341206a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bf90401047f23808080800041106b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310d2938080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021422032003417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822050d002000200436020c410221040c010b200028021420054102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c2002200336020020032802080d062003417f360208200328020c200128020020012802042001280208200328021041c0006a2802001189808080000021042003200328020841016a36020820032003280200417f6a2205360200024020050d00200210d2938080000b2000280204417f6a21030b20002003360204200241106a24808080800020040f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bf10401047f23808080800041106b22012480808080000240024002400240024002402000280204220241ffffffff074f0d00024020002802080d00200120002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200129020037020c200041146a200141086a290200370200410021020c010b024020002802182203450d00200028021421020340200228020022042004280200417f6a2204360200024020040d00200210d2938080000b200241046a21022003417f6a22030d000b0b02402000280210450d00200028021422022002417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200129020037020c200041146a200141086a2902003702002000200028020441016a2202360204200241ffffffff074f0d030b2000200241016a360204200028020c220341ffffffff074f0d032000200341016a36020c02400240200028021822040d002000200336020c410221030c010b200028021420044102746a417c6a2802002202200228020041016a22033602002003450d052000200028020c417f6a36020c2001200236020020022802080d062002417f360208200228020c200228021041f4006a2802001182808080000021032002200228020841016a36020820022002280200417f6a2204360200024020040d00200110d2938080000b200341017321032000280204417f6a21020b20002002360204200141106a24808080800020030f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bfe0401047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d032001200541016a36020c02400240200128021822060d0020004181808080783602002001200536020c0c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020020042802080d062004417f3602082000200428020c200228020020022802042002280208200428021041c8006a280200118780808000002004200428020841016a36020820042004280200417f6a2205360200024020050d00200310d2938080000b2001280204417f6a21040b20012004360204200341106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000b9a0601087f23808080800041206b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310d2938080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021422032003417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822050d002000200436020c0c010b200028021420054102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c2001280208210420012802042106200128020021072002200336021020032802080d062003417f3602084100210102400240024020044100480d00200328021041dc006a2802002108200328020c2109410121012004450d0241002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441c4c8c2800010b980808000000b2001417e6a41003b00000b20012006200410f49780800021012002200436021c2002200136021820022004360214200241808080807836020020092007200241146a20022008118380808000002003200328020841016a36020820032003280200417f6a2204360200024020040d00200241106a10d2938080000b2000280204417f6a21030b20002003360204200241206a24808080800020054100470f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bf20401047f23808080800041106b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d00200420012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020037020c200141146a200441086a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510d2938080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021422052005417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200429020037020c200141146a200441086a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d032001200641016a36020c02400240200128021822070d0020004181808080783602002001200636020c0c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536020020052802080d062005417f3602082000200528020c200220032005280210411c6a280200118380808000002005200528020841016a36020820052005280200417f6a2206360200024020060d00200410d2938080000b2001280204417f6a21050b20012005360204200441106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000b830601067f23808080800041206b22032480808080000240024002400240024002402000280204220441ffffffff074f0d00024020002802080d00200320002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200329020037020c200041146a200341086a290200370200410021040c010b024020002802182205450d00200028021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402000280210450d00200028021422042004417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200329020037020c200041146a200341086a2902003702002000200028020441016a2204360204200441ffffffff074f0d030b2000200441016a360204200028020c220641ffffffff074f0d032000200641016a36020c02400240200028021822050d002000200636020c0c010b200028021420054102746a417c6a2802002204200428020041016a22063602002006450d052000200028020c417f6a36020c2003200436021020042802080d062004417f3602084100210602400240024020024100480d00200428021041d8006a2802002107200428020c2108410121062002450d0241002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241c4c8c2800010b980808000000b2006417e6a41003b00000b20062001200210f49780800021062003200236021c200320063602182003200236021420034180808080783602002008200341146a20032007118680808000002004200428020841016a36020820042004280200417f6a2206360200024020060d00200341106a10d2938080000b2000280204417f6a21040b20002004360204200341206a24808080800020054100470f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000ba007010a7f23808080800041206b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310d2938080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021422032003417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822060d002000200436020c0c010b200028021420064102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c20012802102105200128020c21072001280208210420012802042108200128020021092002200336021020032802080d062003417f3602084100210102400240024020044100480d00200328021041dc006a280200210a200328020c210b024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441c4c8c2800010b980808000000b2001417e6a41003b00000b20012008200410f49780800021012002200436021c20022001360218200220043602144100210402400240024020054100480d00410121042005450d0241002d008083d480001a200541002802f482d480001182808080000022040d01410121040b2004200541c4c8c2800010b980808000000b2004417e6a41003b00000b20042007200510f4978080002104200220053602082002200436020420022005360200200b2009200241146a2002200a118380808000002003200328020841016a36020820032003280200417f6a2204360200024020040d00200241106a10d2938080000b2000280204417f6a21030b20002003360204200241206a24808080800020064100470f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bfd0401047f23808080800041106b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d00200420012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020037020c200141146a200441086a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510d2938080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021422052005417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200429020037020c200141146a200441086a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d0320032d000021032001200641016a36020c02400240200128021822070d0020004180808080783602002001200636020c0c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536020020052802080d062005417f3602082000200528020c20022003410171200528021041e4006a280200118380808000002005200528020841016a36020820052005280200417f6a2206360200024020060d00200410d2938080000b2001280204417f6a21050b20012005360204200441106a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000beb0501047f23808080800041206b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200341086a20012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020837020c200141146a200341106a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410d2938080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020837020c200141146a200341106a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d032001200541016a36020c02400240200128021822060d002001200536020c410221050c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020420042802080d062004417f360208200341086a200428020c200228020020022802042002280208200228020c2205280200200528020441002004200428021041d4006a280200118a8080800000200328021c2106024020032802082205418080808078460d002005450d00200328020c22022002417e6a2f00006b41002802ec82d48000118180808000000b2004200428020841016a36020820042004280200417f6a2202360200024020020d00200341046a10d2938080000b20054180808080784721052001280204417f6a21040b200120043602042000200636020420002005360200200341206a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bf10401047f23808080800041106b22012480808080000240024002400240024002402000280204220241ffffffff074f0d00024020002802080d00200120002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200129020037020c200041146a200141086a290200370200410021020c010b024020002802182203450d00200028021421020340200228020022042004280200417f6a2204360200024020040d00200210d2938080000b200241046a21022003417f6a22030d000b0b02402000280210450d00200028021422022002417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200129020037020c200041146a200141086a2902003702002000200028020441016a2202360204200241ffffffff074f0d030b2000200241016a360204200028020c220341ffffffff074f0d032000200341016a36020c02400240200028021822040d002000200336020c410221030c010b200028021420044102746a417c6a2802002202200228020041016a22033602002003450d052000200028020c417f6a36020c2001200236020020022802080d062002417f360208200228020c200228021041f0006a2802001182808080000021032002200228020841016a36020820022002280200417f6a2204360200024020040d00200110d2938080000b200341017321032000280204417f6a21020b20002002360204200141106a24808080800020030f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000b800701057f23808080800041206b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d002004410c6a20012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020c37020c200141146a200441146a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510d2938080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021422052005417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200429020c37020c200141146a200441146a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d032001200641016a36020c02400240200128021822070d00200041003602002001200636020c0c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536021c20052802080d062005417f3602082004410c6a200528020c200220032005280210411c6a2802001183808080000002400240200428020c2202418080808078470d00410021080c010b200428021021070240024002400240200428021422032002460d0041002d008083d480001a410c41002802f482d48000118280808000002206450d012006200641036a417c7120066b22086a2206410136020820062002360204200620073602002006417e6a20083b000041d8edc1800021080c040b024020020d0041a8ebc1800021084101210741002106410021030c040b41e8ecc1800021082007410171450d01200721060c020b4104410c10ab80808000000b2007410172210641d4ecc1800021080b200221030b200020063602102000200336020c2000200736020820002008360204200041013602002005200528020841016a36020820052005280200417f6a2206360200024020060d002004411c6a10d2938080000b2001280204417f6a21050b20012005360204200441206a2480808080000f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000b970701097f23808080800041206b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310d2938080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021422032003417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822060d002000200436020c0c010b200028021420064102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c200128020c21052001280208210720012802042104200128020021082002200336021020032802080d062003417f3602084100210102400240024020044100480d00200328021041d8006a2802002109200328020c210a024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441c4c8c2800010b980808000000b2001417e6a41003b00000b20012008200410f49780800021012002200436021c20022001360218200220043602144100210402400240024020054100480d00410121042005450d0241002d008083d480001a200541002802f482d480001182808080000022040d01410121040b2004200541c4c8c2800010b980808000000b2004417e6a41003b00000b20042007200510f4978080002104200220053602082002200436020420022005360200200a200241146a20022009118680808000002003200328020841016a36020820032003280200417f6a2204360200024020040d00200241106a10d2938080000b2000280204417f6a21030b20002003360204200241206a24808080800020064100470f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000bc10601087f23808080800041206b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001181808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310d2938080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021422032003417e6a2f00006b41002802ec82d48000118180808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220341ffffffff074f0d032000200341016a36020c02400240200028021822050d002000200336020c2001280200450d01200128020422032003417e6a2f00006b41002802ec82d48000118180808000000c010b200028021420054102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c20012802102104200128020c21062002200336021020032802080d062003417f3602084100210702400240024020044100480d00200328021041e8006a2802002108200328020c2109410121072004450d0241002d008083d480001a200441002802f482d480001182808080000022070d01410121070b2007200441c4c8c2800010b980808000000b2007417e6a41003b00000b20072006200410f49780800021072002200436021c2002200736021820022004360214200241086a200141086a280200360200200220012902003703002009200241146a20022008118680808000002003200328020841016a36020820032003280200417f6a220436020020040d00200241106a10d2938080000b20002000280204417f6a360204200241206a24808080800020054100470f0b41a4c7c28000109b81808000000b41b4c7c28000109a81808000000b41c4c7c28000109b81808000000b419cc6c28000109b818080000b000b41acc6c28000109a81808000000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041af80808000360218200042a186ccffc3b6a3f8b07f37031020004297dab08be4eb9bc800370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b080808000360218200042a8b2b4aef4dcada3bc7f370310200042a481aa97ccf184c9d700370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b18080800036021820004283b0d291daeebdba827f370310200042eab2a8f28eb5b7f134370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b280808000360218200042b28b808aa3a98bcea47f37031020004299a097a5d68bf4be8d7f370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b380808000360218200042bd939dd6b2ebc5fc2b37031020004299b3aba887f2f0b3907f370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b58080800036021820004298bba9be9de4aafe9d7f370310200042d69fe9f4d2dbfcf067370308200041023a00000b8f0e03047f017e027f2380808080004180016b22032480808080002003410c6a200110ee81808000024002402003280210418080808078460d00410021042001280244200128023c6b410476410020012802381b200128023020012802286b410476410020012802241b6a22054103200541034b1b41016a2206ad42147e2207a721050240024002402007422088a70d00200541fcffffff074b0d00024020050d0041042102410021060c030b41002d008083d480001a200541002802f482d480001182808080000022040d01410421040b20042005200210b980808000000b2004200441036a417c71220220046b22056a417e6a20053b00000b2002200329020c370200200241106a2003410c6a41106a280200360200200241086a2003410c6a41086a290200370200200341013602082003200236020420032006360200200341206a200141cc0010f4978080001a200341ec006a200341206a10ee8180800002402003280270418080808078460d0041142101410121050340024020052003280200470d0020032005200328025020032802486b410476410020032802441b2003280264200328025c6b41047641016a410120032802581b6a4104411410ee82808000200328020421020b200220016a2204200329026c370200200441106a200341ec006a41106a280200360200200441086a200341ec006a41086a2902003702002003200541016a2205360208200141146a2101200341ec006a200341206a10ee818080002003280270418080808078470d000b0b024020032802204102460d00200341206a10d0828080000b024020032802442206450d0002402003280250220520032802482208460d00410021010240200520086b220941047622054101460d00200541feffffff007121022008210541002101034002402005280200450d00200541046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052002200141026a2201470d000b0b2009411071450d00200820014104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b200328024c450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b024020032802582206450d00024020032802642205200328025c2208460d00410021010240200520086b220941047622054101460d00200541feffffff007121022008210541002101034002402005280200450d00200541046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052002200141026a2201470d000b0b2009411071450d00200820014104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b2003280260450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20002003290200370200200041086a200341086a2802003602000c010b2000410036020820004280808080c000370200024020012802004102460d00200110d0828080000b024020012802242206450d0002402001280230220520012802282208460d00410021040240200520086b220941047622054101460d00200541feffffff007121002008210541002104034002402005280200450d00200541046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052000200441026a2204470d000b0b2009411071450d00200820044104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b200128022c450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20012802382206450d00024020012802442205200128023c2208460d00410021040240200520086b220941047622054101460d00200541feffffff007121002008210541002104034002402005280200450d00200541046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052000200441026a2204470d000b0b2009411071450d00200820044104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b2001280240450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20034180016a2480808080000b940a010c7f23808080800041106b2202248080808000024002402001280224450d002001280228210320012802302104410021050c010b410121050b0240024002400340024002400240024020050e020001010b0240024020032004470d00200321060c010b2001200341106a220636022820032802002205418080808078470d020b024020042006460d00410021070240200420066b220841047622054101460d00200541feffffff007121092006210541002107034002402005280200450d00200541046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052009200741026a2207470d000b0b2008411071450d00200620074104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b0240200128022c450d00200128022422052005417e6a2f00006b41002802ec82d48000118180808000000b20014100360224410121050c030b024020012802004102460d002002200110c88280800020022802042206418080808078460d0020022802082203200228020c4104746a21042002280200210802402001280224220b450d000240200128023022052001280228220c460d004100210702402005200c6b220d41047622054101460d00200541feffffff00712109200c210541002107034002402005280200450d00200541046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052009200741026a2207470d000b0b200d411071450d00200c20074104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b200128022c450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b20012008360234200120043602302001200636022c20012003360228200120033602240c020b024020012802382204450d000240200128023c22052001280244220a470d00200521030c050b2001200541106a220336023c20052802002207418080808078460d04200241086a2005410c6a28020036020020022005290204370300200128024821050c050b20004180808080783602040c050b200020053602042000200329020437020820002001280234360200200041106a2003410c6a2802003602000c040b410021050c000b0b0240200a2003460d00410021070240200a20036b220641047622054101460d00200541feffffff007121092003210541002107034002402005280200450d00200541046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052009200741026a2207470d000b0b2006411071450d00200320074104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b02402001280240450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2001410036023841808080807821070b200020073602042000200536020020002002290300370208200041106a200241086a2802003602000b200241106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010ee828080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741246e2208200128020822014101764f0d01410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a410020084104412410ee828080002003280208210a200328020c21090b200a200941246c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41246e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810ee828080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bf70101067f23808080800041106b22022480808080002000280200280200220041086a2802002103200041046a2802002100410121042001280200220541e580c280004101200128020428020c2206118080808000002107200241003a0009200220073a0008200220013602040240024002402003450d0003402002200036020c200241046a2002410c6a41f4e2c28000108b818080001a200041016a21002003417f6a22030d000b4101210420022d00084101710d02200228020422002802002105200028020428020c21060c010b20070d010b200541e680c28000410120061180808080000021040b200241106a24808080800020040bc60501037f0240024002400240024002402000280200417e6a2201410420014106491b0e050501020304000b2000280204220120012802002201417f6a36020020014101470d04200041046a10f0978080000c040b0240200028022c4129490d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802342201450d03200120012802002202417f6a36020020024101470d03200041346a10f0978080000f0b024020002802504129490d00200028022822012001417e6a2f00006b41002802ec82d48000118180808000000b20002d0004450d022000280208220110f38180800020012001417e6a2f00006b41002802ec82d48000118180808000000f0b024020002802382202450d00200028023421010340024020012d000022034102460d002003450d00200141046a280200220310f38180800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b02402000280230450d00200028023422012001417e6a2f00006b41002802ec82d48000118180808000000b2000280204450d0120002802082201450d01200120012802002202417f6a36020020024101470d01200041086a10f0978080000f0b024020002802604129490d00200028023822012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802342202450d00200028023021010340024020012d000022034102460d002003450d00200141046a280200220310f38180800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b0240200028022c450d00200028023022012001417e6a2f00006b41002802ec82d48000118180808000000b2000280200450d0020002802042201450d00200120012802002202417f6a36020020024101470d00200041046a10f0978080000f0b0ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610cf818080000f0b20030d020c030b200541027621020b20002001200210cf818080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610cf818080000f0b20004180808080783602000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610d0818080000f0b20030d020c030b200541027621020b20002001200210d0818080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610d0818080000f0b20004180808080783602000be00101017f23808080800041d0006b220a248080808000200a41c4006a200141206a290200370200200a413c6a200141186a290200370200200a41346a200141106a290200370200200a412c6a200141086a290200370200200a41086a200241086a280200360200200a2008360220200a200736021c200a2005360214200a2004360210200a200336020c200a2001290200370224200a2002290200370300200a2006360218200a200936024c2000200a41246a200a2003200420052006280214200720082009280200200928020410f781808000200a41d0006a2480808080000b920701027f2380808080004180016b220b248080808000200b2008360214200b20073602100240024002400240200128020022080d00200b41186a41186a200141046a220841186a2201290000370300200b41186a41106a200841106a2207290000370300200b41186a41086a200841086a220c290000370300200b2008290000370318200b41c8006a41186a2001290000370300200b41c8006a41106a2007290000370300200b41c8006a41086a200c290000370300200b2008290000370348200b2002360244200b200b41186a360240200b200b41106a36023c200b41086a2005200b41c8006a200b413c6a41d4cac28000200611878080800000200b28020c2108200b280208410171450d0120004100360200200020083602040c030b200b2008360218200b2001280204220736021c02402009450d00200b2004360250200b200336024c200b4184808080783602482009200b41c8006a200a28020c118b80808000000b20082008280200220941016a36020020094100480d0120002007360204200020083602002000200141086a2201290200370208200041206a200141186a290200370200200041186a200141106a290200370200200041106a200141086a290200370200200820082802002200417f6a36020020004101470d02200b41186a10f0978080000c020b02400240024002400240024020082802002207417e6a2201410420014106491b0e06050005030201050b20082802342201450d04200841346a21070c030b200841046a2107200828020421010c020b2007410171450d0220082802042201450d02200841046a21070c010b2008280204450d0120082802082201450d01200841086a21070b20012001280200220841016a36020020084100480d01200728020421012007280200210802402009450d00200b41f4006a200b41306a290300370200200b41ec006a200b41286a290300370200200b41e4006a200b41186a41086a290300370200200b200b29031837025c200b2004360258200b2003360254200b2001360250200b418080808078360248200b200841086a36024c2009200b41c8006a200a28020c118b80808000000b2000200b2903183700082000200136020420002008360200200041206a200b41186a41186a290300370000200041186a200b41186a41106a290300370000200041106a200b41206a2903003700000c020b41e8cac2800041ec0041d4cbc2800010a1818080000b000b200b4180016a2480808080000b920803027f017e027f23808080800041a0016b2208248080808000200841086a41086a200141086a28020022093602002008411c6a200241086a28020036020020082001290200220a370308200820053602282008200436022420082003360220200820022902003702142008200736023020072802042102200728020021012008200636022c200828020c2107024002400240024002400240024002400240200aa7410171450d0020094120470d07200628020c2109200841386a41186a2206200741186a290000370300200841386a41106a220b200741106a290000370300200841386a41086a220c200741086a29000037030020082007290000370338200841dc006a2005200841386a200841146a200911838080800000200828025c2205418080808078460d01200828026421092008280260210702402001450d0020084194016a200841d0006a2903003702002008418c016a200841c8006a29030037020020084184016a200841c0006a2903003702002008200829033837027c2008200436027820082003360274200820093602702008200736026c20084180808080783602682001200841e8006a200228020c118b80808000000b4100210120094100480d0320090d02410121010c050b02402001450d00200820043602702008200336026c20084184808080783602682001200841e8006a200228020c118b80808000000b4100210102400240024020094100480d00024020090d00410121010c030b41002d008083d480001a200941002802f482d480001182808080000022010d01410121010b2001200941bcf2c2800010b980808000000b2001417e6a41003b00000b20012007200910f49780800021072000200936020820002007360204200020093602000c050b200841e8006a41186a2006290300370300200841e8006a41106a200b290300370300200841e8006a41086a200c2903003703002008200829033837036841002d008083d480001a413041002802f482d48000118280808000002209450d062009200941036a417c7120096b22076a2209418580808078360200200920082903683702042009417e6a20073b00002009410c6a200841f0006a290300370200200941146a200841f8006a2903003702002009411c6a20084180016a2903003702002000418080808078360200200020093602040c040b41002d008083d480001a200941002802f482d480001182808080000022010d01410121010b2001200941bcf2c2800010b980808000000b2001417e6a41003b00000b20012007200910f49780800021012000200936020820002001360204200020093602002005450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200841a0016a2480808080000f0b4120200941c4cac28000108681808000000b4104413010ab80808000000b0c002000200110fa818080000bce0701087f23808080800041e0036b2202248080808000200128020421032001280200280200220428020421052004280200210620012802082207280208200128020c2802006a22084101762104200728020421092007280200210702400240024002400240024020084101710d00200420094b0d02200241003a00e001200220043602dc01200220073602d8010c010b200420094b0d02200420094f0d03200241013a00e001200220073602d801200220043602dc012002200720046a2d000041f001713a00e1010b200220062003200241d8016a200528020c118380808000000240024020022802002204418080808078460d00200241d8016a200228020422072002280208108c8280800020022802d8014107460d0120002002200241d8016a41d80110f49780800010db828080002004450d0520072007417e6a2f00006b41002802ec82d48000118180808000000c050b200241d8016a41086a2204200341086a290000370300200241d8016a41106a2207200341106a290000370300200241d8016a41186a2209200341186a290000370300200220032900003703d8012001280210280200210341002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22086a220141858080807841848080807820031b360200200120022903d8013702042001417e6a20083b00002001410c6a2004290300370200200141146a20072903003702002001411c6a200929030037020020004108360200200020013602040c050b4104413010ab80808000000b200241b0036a41086a2209200241e4016a290200370300200241b0036a41186a2208200341086a290000370300200241b0036a41206a2205200341106a290000370300200241b0036a41286a2206200341186a290000370300200220022902dc013703b003200220032900003703c00341002d008083d480001a02400240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22036a220120022903b0033702002001417e6a20033b0000200141086a2009290300370200200141106a200241b0036a41106a290300370200200141186a2008290300370200200141206a2005290300370200200141286a2006290300370200200041083602002000200136020420040d010c050b4104413010ab80808000000b20072007417e6a2f00006b41002802ec82d48000118180808000000c030b2004200941fce4cd8000109181808000000b20042009418ce5cd8000109181808000000b20042009419ce5cd8000108281808000000b200241e0036a2480808080000bc70401067f23808080800041206b22022480808080002001280204210320012802002204280200210520042802042104200241106a41086a2001280208220141086a28020036020020022001290200370310200241046a20052003200241106a200428020c118380808000000240024002400240024020022802042206418080808078460d00200228020c220141f5ffffff074f0d022002280208210541002d008083d480001a2001410b6a41fcffffff0771220741002802f482d48000118280808000002204450d032004200441036a417c7120046b22076a22044281808080103702002004417e6a20073b0000200441086a2005200110f4978080001a02402006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b2000200136020820002004360204200041073602002000200329000037000c200041246a200341186a2900003700002000411c6a200341106a290000370000200041146a200341086a2900003700000c010b41002d008083d480001a413041002802f482d48000118280808000002201450d032001200141036a417c7120016b22046a22014185808080783602002001417e6a20043b0000200120032900003700042001410c6a200341086a290000370000200141146a200341106a2900003700002001411c6a200341186a29000037000020004108360200200020013602040b200241206a2480808080000f0b419c80c08000412b200241106a418c80c0800041b482c0800010a981808000000b4104200710ab80808000000b4104413010ab80808000000bc70401067f23808080800041206b22022480808080002001280204210320012802002204280200210520042802042104200241106a41086a2001280208220141086a28020036020020022001290200370310200241046a20052003200241106a200428020c118380808000000240024002400240024020022802042206418080808078460d00200228020c220141f5ffffff074f0d022002280208210541002d008083d480001a2001410b6a41fcffffff0771220741002802f482d48000118280808000002204450d032004200441036a417c7120046b22076a22044281808080103702002004417e6a20073b0000200441086a2005200110f4978080001a02402006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b2000200136020820002004360204200041073602002000200329000037000c200041246a200341186a2900003700002000411c6a200341106a290000370000200041146a200341086a2900003700000c010b41002d008083d480001a413041002802f482d48000118280808000002201450d032001200141036a417c7120016b22046a22014185808080783602002001417e6a20043b0000200120032900003700042001410c6a200341086a290000370000200141146a200341106a2900003700002001411c6a200341186a29000037000020004108360200200020013602040b200241206a2480808080000f0b419c80c08000412b200241106a418c80c0800041b482c0800010a981808000000b4104200710ab80808000000b4104413010ab80808000000bc51d04027f017e0b7f027e23808080800041d0026b2207248080808000200741d0006a41086a200141086a2208280200360200200720012902003703502007200436025c200741e0006a41086a20082802002208360200200720012902002209370360200741f0006a41186a220a200441206a290000370300200741f0006a41106a220b200441186a290000370300200741f0006a41086a220c200441106a290000370300200720042900083703704100210d20074100360290012007280264220e410174210f20074180026a41086a21012009a72110200628021421110240024003402007200d3602940120074180026a41186a200a29030037030020074180026a41106a200b2903003703002001200c2903003703002007200729037037038002200720074194016a3602e801200720074190016a3602e4012007200741d0006a3602e0012007200741f0006a3602dc012007200741dc006a3602d801200741086a200520074180026a200741d8016a41d8ccc28000201111878080800000200728020c210420072802084101710d010240200728025c221241306a2802002213450d00201241346a2802002112200141186a200a290300370000200141106a200b290300370000200141086a200c290300370000200120072903703700002007200436028402200741818080807836028002201320074180026a201228020c118b80808000000b200d41016a210d0240034002400240024002400240024002400240024002400240024002400240024002400240024002402004280200417e6a2212410420124106491b0e06000203040501000b200728025c220441306a2802002208450d0b200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c0b0b2007410136028402200741e4cec28000360280022007420137028c02200741b680808000ad42208641b0cec28000ad843703d8012007200741d8016a3602880220074180026a41eccec2800010fe80808000000b0240200741e0006a200441046a10e9978080000d00200728025c220441306a2802002208450d0a200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c0a0b02400240200428023422080d00200741a0016a200441c4006a290000370300200741a8016a200441cc006a290000370300200741b0016a200441d4006a2800003602002007200429003c370398012004280038210d0c010b20082008280200220141016a36020020014100480d0e200741a0016a200441c4006a290000370300200741a8016a200441cc006a290000370300200741b0016a200441d4006a2900003703002007200429003c370398012004280238210d0b200728025c220428020021012004280204211220072903502109200741b4026a20074198016a41086a290300370200200741bc026a20074198016a41106a290300370200200741c4026a20074198016a41186a2903003702002007200d3602a802200720083602a40220072007290398013702ac022007200441306a3602cc02200720123602a0022007200136029c022007200636029802200720053602940220072003360290022007200236028c02200741003a0088022007200937028002200741d8016a200741a4026a20074180026a2002200320052011200120122004280230200428023410f78180800020072802d80122010d030c110b0240200741e0006a200441286a10e8978080000d00200728025c220441306a2802002208450d09200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c090b200441046a2112200428025421040c0d0b024002400240200f2008460d0020084101762212200e4f0d012004280238201020126a2d00002212410f71201241047620084101711b22124d0d022004280234201241246c6a22122d00004102460d02410121040c0f0b20042802040d0741002101200728025c220441306a2802002208450d06200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c060b2012200e41c8ccc28000108281808000000b200728025c220441306a2802002208450d07200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c070b0240200741e0006a200441386a10e8978080000d00200728025c220441306a2802002208450d07200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c070b0240200f20086b20042802642213460d00201320086a22144101762212200e4f0d0202402004280234201020126a2d00002212410f71201241047620144101711b22124d0d002004280230201241246c6a22122d00004102460d00201341016a220420086a21080c0e0b200728025c220441306a2802002208450d07200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c070b20042802000d0241002101200728025c220441306a2802002208450d03200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c030b200741306a41086a200741d8016a41106a2902002209370300200741306a41106a200741d8016a41186a2902002215370300200741306a41186a200741f8016a2902002216370300200741106a41086a2009370300200741106a41106a2015370300200741106a41186a2016370300200720072902e00122093703302007200937031020072802dc01210d0c060b2012200e41c8ccc28000108281808000000b02400240200428020422080d0020042802082101200741d0016a200441246a280200360200200741c8016a2004411c6a290200370300200741c0016a200441146a2902003703002007200429020c3703b8010c010b20082008280200220141016a36020020014100480d0820042802082101200741d0016a200441246a290200370300200741c8016a2004411c6a290200370300200741c0016a200441146a2902003703002007200429020c3703b8010b200741b4026a200741b8016a41086a290300370200200741bc026a200741b8016a41106a290300370200200741c4026a200741b8016a41186a290300370200200720013602a802200720083602a402200720072903b8013702ac022007200636029802200720053602940220072003360290022007200236028c02200741003a00880220072007290350370280022007200728025c220441306a22083602cc022007200428020422013602a00220072004280200220436029c02200741d8016a200741a4026a20074180026a200220032005200620042001200810f68180800020072802d8012201450d0b200741306a41086a200741d8016a41106a290200370300200741306a41106a200741d8016a41186a290200370300200741306a41186a200741f8016a290200370300200720072902e00137033020072802dc01210d0c020b0c010b02400240200428020822080d00200428020c2101200741b8016a41186a200441286a280200360200200741c8016a200441206a290200370300200741c0016a200441186a290200370300200720042902103703b8010c010b20082008280200220141016a36020020014100480d06200428020c2101200741b8016a41186a200441286a290200370300200741c8016a200441206a290200370300200741c0016a200441186a290200370300200720042902103703b8010b200741b4026a200741b8016a41086a290300370200200741bc026a200741b8016a41106a290300370200200741c4026a200741b8016a41186a290300370200200720013602a802200720083602a402200720072903b8013702ac022007200636029802200720053602940220072003360290022007200236028c02200741003a00880220072007290350370280022007200728025c220441306a22083602cc022007200428020422013602a00220072004280200220436029c02200741d8016a200741a4026a20074180026a200220032005200620042001200810f68180800020072802d8012201450d09200741306a41086a200741d8016a41106a290200370300200741306a41106a200741d8016a41186a290200370300200741306a41186a200741f8016a290200370300200720072902e00137033020072802dc01210d0b200741106a41086a200741306a41086a290300370300200741106a41106a200741306a41106a290300370300200741106a41186a200741306a41186a2903003703002007200729033037031020010d010b41002101410021040c010b20012001280200220441016a36020020044100480d0220074199026a200741286a29030037000020074191026a200741206a29030037000020074189026a200741186a29030037000020072007290310370081022007200d3602dc01200720013602d80103402001280204210403402004417f460d012004417f4c0d032001200441016a2001280204220820082004461b360204200820044721122008210420120d000b0b20072802dc012104200120012802002208417f6a360200024020084101470d00200741d8016a10f0978080000b200720043602a802200720013602a402410221040b200720043a00800220052002200320074180026a2006280210118380808000002000200d36020820002001360204410021040c080b41c8e8cd800041c0e9cd800010ef978080000b000b200820046a21080b20072008360268200720072802900120046a36029001024020122d0000450d00201228020421040c010b0b201241096a2900002109201241116a290000211520122900012116200a201241196a290000370300200b2015370300200c2009370300200720163703700c010b0b20072802dc0121040b20002004360204410121040b20002004360200200741d0026a2480808080000be92804037f017e1e7f017e23808080800041d0046b22052480808080002001280228210620014100360228024002400240024002400240024002400240024002400240024002400240024002402006450d00200128022c2107200541f0006a41306a200141306a2902002208370300200541f0006a41286a200141286a290200370300200541f0006a41206a200141206a290200370300200541f0006a41186a200141186a290200370300200541f0006a41106a200141106a290200370300200541f0006a41086a200141086a290200370300200520012902003703704101210902400240024002400240024002402008a7220a450d000240200a2002200320052802a4012802101180808080000041ff01710e03010002010b410021090b200620022003200728020c11808080800000220b0d010b200541cc026a200420022003200541f0006a2006200710fd8180800020052802d002210c20052802cc020d010c120b418080808078210d200b2d00000e03130201130b20004181808080783602002000200c3602040c130b200b280224220c417f460d01200b41016a210e200c280200210103402001450d022001417f4c0d04200c200141016a200c280200220f200f200146220d1b360200200f2101200d450d000b200b280228210d200a450d102009200d412149720d1020052802a4012101200541f8026a200e41186a290000370200200541f0026a200e41106a290000370200200541e8026a200e41086a290000370200200520033602dc02200520023602d8022005200d3602d4022005200c41086a3602d00220054180808080783602cc022005200e2900003702e002200a200541cc026a200128020c118b80808000000c100b200541e8026a200b41196a290000370200200541e0026a200b41116a290000370200200541d8026a200b41096a290000370200200541003602cc022005200b2900013702d002200541003a005820052004290200370250200541086a200541cc026a200541d0006a200220032006200728021420052802702005280274200a20052802a40110f781808000200528020c210d2005280208220c450d0d20054198046a41186a220f200541286a29020037030020054198046a41106a2204200541086a41186a290200370300200541a0046a220b200541086a41106a2902003703002005200529021037039804200c200c280200220141016a360200024020014100480d00200541e5026a200f290300370000200541dd026a2004290300370000200541d5026a200b29030037000020052005290398043700cd022005200d36020c2005200c3602080340200c280204210103402001417f460d012001417f4c0d06200c200141016a200c280204220f200f2001461b360204200f2001472104200f210120040d000b0b200528020c2101200c200c280200220f417f6a3602000240200f4101470d00200541086a10f0978080000b200520013602f4022005200c3602f002200541023a00cc02200620022003200541cc026a2007280210118380808000000c100b000b200541cc026a200420022003200541f0006a2006200710fd8180800020052802d002210c20052802cc02450d0d20004181808080783602002000200c3602040c100b200541086a41306a2210200141306a290200370300200541086a41286a200141286a290200370300200541086a41206a200141206a220c290200370300200541086a41186a200141186a220f290200370300200541086a41106a200141106a2206290200370300200541086a41086a200141086a220d29020037030020052001290200370308200541c0006a41086a200441086a22072802002201360200200520042902002208370340200541d0006a41186a2211200c290000370300200541d0006a41106a2212200f290000370300200541d0006a41086a221320062900003703002005200d29000037035020052802442214410174211520072802002116200541d0006a4107722117200541f0006a41186a2118200541f0006a410c6a21192005418c016a2109200541f0006a41106a2106200541f0006a41046a211a2008a7211b2004280204211c2004280200211d2010280200211e200528023c211f200528020c21202005280208212141002122410021070340200720166a220f410176210c02400240200f4101710d00200c201c4b0d05200541003a00782005200c3602742005201d3602700c010b200c201c4b0d05200c201c4f0d06200541013a00782005201d3602702005200c3602742005201d200c6a2d000041f001713a00790b20054198046a2021200541d0006a200541f0006a202028020c11838080800000024002402005280298042223418080808078460d0020052802a004210c200528029c0421240240201e450d0020062005290350370000200641186a2011290300370000200641106a2012290300370000200641086a20132903003700002005200c36027c200520243602782005428280808088808080807f370270201e200541f0006a201f28020c118b80808000000b200541f0006a2024200c108c828080002005280270220d4107460d0b202241016a21220c010b200541f0006a41186a220c200541d0006a41186a290300370300200541f0006a41106a220f200541d0006a41106a290300370300200541f0006a41086a2204200541d0006a41086a2903003703002005200529035037037041002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22066a220141858080807841848080807820221b360200200120052903703702042001417e6a20063b00002001410c6a2004290300370200200141146a200f2903003702002001411c6a200c2903003702002000418180808078360200200020013602040c120b4104413010ab80808000000b0240024002400340200541f0036a41086a220a200641086a2225280200360200200520062902003703f003200528027c21042005280278210c2005280274210f200541cc026a200941a40110f4978080001a20052902b802210820052802b402212620052802b002210e0240024002400240200d417d6a220b4104200b4104491b0e05100f000102100b20052802f403210b20052802f803210a0240200541c0006a200541f0036a10e697808000220d200b410174200a6b460d000240201e450d00200528023c210120052003360278200520023602742005418680808078360270201e200541f0006a200128020c118b80808000000b20004180808080783602000c120b20052001200d6a22013602480c020b201920052903f003370200201941086a200a280200360200200520043602782005200c3602742005200f3602702018200541cc026a41a40110f4978080001a2005200e3602ac0202400240024020152001460d002001410176220c20144f0d01200541f0006a201b200c6a2d0000220c410f71200c41047620014101711b410c6c6a220c280200220f4102460d024101210d2005200141016a2201360248200c2802082104200c280204210c0c040b0240024020264102460d00200520103602c004200520203602bc04200520213602b804200520033602b404200520023602b004200541003a00ac042005201c3602a8042005201d3602a4042005200837029c0420052026360298042005418c046a20054198046a200541a4046a2002200320212020201010f881808000200528028c04418080808078470d01200020052802900436020420004181808080783602000c140b0240201e450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201e20054198046a200128020c118b80808000000b20004180808080783602000c130b2000200529028c04370200200041086a2005418c046a41086a2802003602000c120b200c201441c8ccc28000108281808000000b0240201e450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201e20054198046a200128020c118b80808000000b20004180808080783602000c100b20052902c0022127200520084220883e0280042005202737028404200620052903f0033702002025200a2802003602002005200436027c2005200c3602782005200f3602742005200d3602702009200541cc026a41a40110f4978080001a0240200541c0006a20054180046a10e697808000220c2027a74101742027422088a76b460d000240201e450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201e20054198046a200128020c118b80808000000b20004180808080783602000c100b201520016b200c460d042001200c6a2204410176220f20144f0d0b200541f0006a201b200f6a2d0000220f410f71200f41047620044101711b410c6c6a220b280200220f4102460d0220052001200c41016a220d6a2201360248200b2802082104200b280204210c0b200d20076a2107200f410171450d02200541f0006a200c2004108c828080002005280270220d4107460d0d0c000b0b0240201e450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201e20054198046a200128020c118b80808000000b20004180808080783602000c0c0b024020044120460d004100210102400240024020044100480d00024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441eccfc2800010b980808000000b2001417e6a41003b00000b2001200c200410f497808000210c41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b220f6a2201200436020c2001200c3602082001200436020420014188808080783602002001417e6a200f3b000020004181808080783602002000200136020420012005290350370010200141186a200541d8006a290300370000200141206a200541e0006a290300370000200141286a200541d0006a41186a2903003700000c0d0b4104413010ab80808000000b200c41026a2d0000210f200c410f6a2900002108200c41176a2900002127200c411f6a2d00002104200c2f0000210d200c280003210b2017200c290007370000201741186a20043a0000201741106a2027370000201741086a20083700002005200b3600532005200f3a00522005200d3b01502023450d0120242024417e6a2f00006b41002802ec82d48000118180808000000c010b0b02400240200e4102460d00200520103602c004200520203602bc04200520213602b804200520033602b404200520023602b004200541003a00ac042005201c3602a8042005201d3602a404200520083e02a0042005202636029c042005200e360298042005418c046a20054198046a200541a4046a2002200320212020201010f881808000200528028c04418080808078470d01200020052802900436020420004181808080783602000c0b0b0240201e450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201e20054198046a200128020c118b80808000000b20004180808080783602000c0a0b2000200529028c04370200200041086a2005418c046a41086a2802003602000c090b41c8e8cd800041d8e9cd800010ef97808000000b41c8e8cd800041c0e9cd800010ef97808000000b200c201c41fce4cd8000109181808000000b200c201c418ce5cd8000109181808000000b200c201c419ce5cd8000108281808000000b200f201441c8ccc28000108281808000000b0240024020052802f40341017420052802f8036b201520016b2201470d00200541f0036a200541c0006a10e6978080002001460d010b0240201e450d00200528023c210120052003360278200520023602742005418680808078360270201e200541f0006a200128020c118b80808000000b20004180808080783602000c030b2005201036029801200520203602940120052021360290012005200336028c012005200236028801200541003a0084012005201c360280012005201d36027c200520043602782005200c3602742005200f36027020054198046a200541f0006a200541fc006a2002200320212020201010f8818080000240200528029804418080808078470d002000200528029c0436020420004181808080783602000c030b2000200529029804370200200041086a20054198046a41086a2802003602000c020b0240201e450d00200528023c210120052003360278200520023602742005418680808078360270201e200541f0006a200128020c118b80808000000b20004180808080783602000c010b20054198046a41086a220c201a41086a29020037030020054198046a41186a220f200541d0006a41086a29030037030020054198046a41206a2204200541d0006a41106a29030037030020054198046a41286a2206200541d0006a41186a290300370300200520052903503703a8042005201a2902003703980441002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b220d6a22012005290398043702002001417e6a200d3b0000200141086a200c290300370200200141106a20054198046a41106a290300370200200141186a200f290300370200200141206a2004290300370200200141286a20062903003702002000418180808078360200200020013602040b2023450d0520242024417e6a2f00006b41002802ec82d48000118180808000000c050b4104413010ab80808000000b20004181808080783602002000200d3602040c030b20052802d402210d200c0d00418080808078210d0c010b2005200c3602cc022005200d3602d00241002101024002400240200d4100480d0041012101200d450d0241002d008083d480001a200d41002802f482d480001182808080000022010d01410121010b2001200d41bcf2c2800010b980808000000b2001417e6a41003b00000b2001200c41086a200d10f4978080002101200c200c280200220f417f6a3602000240200f4101470d00200541cc026a10f0978080000b200dad4220862001ad8421080b200020083702042000200d3602000b200541d0046a2480808080000bc50601097f23808080800041d0006b2205248080808000200520012002200310e7828080000240024020052802002201418180808078470d0041022103410021020c010b024002402001418080808078460d0020052f0005200541076a2d00004110747241087420052d00047221064102210302400240200528020822024104490d002002417c7122074104460d0020074108460d002007410c460d0020074110460d002002416c6a2207450d00200628000021022006280004210820062800082109200628000c210a2006280010210b0240024020062d0014220c0e020100020b20074121490d01200541186a200641156a220341186a290000370300200541106a200341106a290000370300200541086a200341086a290000370300200520032900003703000b200541286a41186a200541186a290300370300200541286a41106a200541106a290300370300200541286a41086a200541086a29030037030020052005290300370328200241087621074100210d200c21030c010b4101210d410121020b02402001450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b0240200d450d00410221030c030b20034102460d002005411f6a200541286a411f6a280000360000200541186a200541286a41186a290300370300200541106a200541286a41106a290300370300200541086a200541286a41086a290300370300200520052903283703000c010b200541086a2004411d6a290000370300200541106a200441256a290000370300200541186a2004412d6a2900003703002005411f6a200441346a28000036000020052004290015370300410221024102210320042d001422014102460d0120042f0001200441036a2d00004110747221072004280210210b200428020c210a200428020821092004280204210820042d00002102200121030b200020073b00012000200b3602102000200a36020c200020093602082000200836020420002005290300370015200041036a20074110763a00002000411d6a200541086a290300370000200041256a200541106a2903003700002000412d6a200541186a290300370000200041346a2005411f6a2800003600000b200020033a0014200020023a0000200541d0006a2480808080000bd70302027f047e23808080800041206b22052480808080002005410c6a20012002200310e782808000024002400240200528020c2203418180808078470d00410021030c010b0240024002402003418080808078460d00200541136a2d0000210220052f0011210120052d001021062005200528021436021c2005200620012002411074724108747222013602182005410c6a200541186a10f481808000200541156a3300002107200541176a3100002108200535001121092005310010210a200528020c210202402003450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b410121032002418080808078460d032009200842308620074220868484420886200a842107200428020041808080807872418080808078460d01200428020422042004417e6a2f00006b41002802ec82d48000118180808000000c010b20042802002202418080808078460d01200429020421070b20002007370204200020023602000c020b2000418080808078360200200041023a00040c010b2000418080808078360200200020033a000420042802002200418080808078460d002000450d00200428020422002000417e6a2f00006b41002802ec82d48000118180808000000b200541206a2480808080000be50502027f027e2380808080004180026b2204248080808000200441e0016a41086a2205200341086a280200360200200420032902003703e0012004200441e0016a109182808000200310ce82808000024002402002200441206a412010f597808000450d00200441e0016a41186a200241186a290000370300200441e0016a41106a200241106a2900003703002005200241086a290000370300200420022900003703e00102402004200441e0016a108f828080002203450d00200328022c41004a0d010b200041808080807836028802200041003a0000024020042802042201450d000240200428020c2205450d002004280200220041086a21022000290300427f8542808182848890a0c0807f8321060340024020064200520d000340200041807d6a210020022903002106200241086a22032102200642808182848890a0c0807f83220642808182848890a0c0807f510d000b200642808182848890a0c0807f852106200321020b2006427f7c210702402000410020067aa74103766b41306c6a220341706a280200450d00200341746a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200720068321062005417f6a22050d000b0b2001200141306c41376a41707122026a4177460d00200428020020026b22022002417e6a2f00006b41002802ec82d48000118180808000000b2004280240450d01200428024422022002417e6a2f00006b41002802ec82d48000118180808000000c010b20044190016a200441d00010f4978080001a200441d0006a41206a41fccfc28000410141002802c480d48000118680808000002000428080808080808080807f370300200441d0006a41186a200241186a290000370300200441d0006a41106a200241106a290000370300200441d0006a41086a200241086a2900003703002004200229000037035020004188016a200441d0006a41900110f4978080001a200020013602a002200041003b0198020b20044180026a2480808080000b862605127f017e017f047e087f23808080800041d0016b220324808080800020012802a00221044100210520034180016a41002900d095cb8000370300200341e8006a41106a41002900c895cb8000370300200341e8006a41086a41002900c095cb8000370300200341002900b895cb80003703682003200436020c200341186a2003410c6a410441002802e480d480001186808080000020032003410c6a41046a36023c2003200341186a41086a360234200320034188016a36022c2003410136022420032003410c6a3602382003200341186a3602302003200341e8006a360228200341dc006a200341246a418094cb8000108c92808000200341246a200120032802602204200328026410e782808000024002400240024020032802242206418180808078460d002006418080808078460d0120032f00292003412b6a2d00004110747241087420032d002872210702400240200328022c220841204f0d00410121050c010b200341186a41086a2007410d6a2f00003b0100200341e8006a41086a200741176a290000370300200341f8006a2007411f6a2d00003a0000200320072900053703182003200729000f37036820072d0004210920072d0003210a20072f0001210b20072d000021050b02402006450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b20084120490d00200341b8016a41086a200341186a41086a2f01003b0100200341a0016a41086a200341e8006a41086a290300370300200341a0016a41106a200341e8006a41106a2d00003a0000200320032903183703b801200320032903683703a0010c020b200020053a0005200041073a00042000418080808078360200200328025c450d0220042004417e6a2f00006b41002802ec82d48000118180808000000c020b4100210b200341b8016a41086a41003b0100200341a0016a41086a4200370300200341b0016a41003a0000200342003703b801200342003703a0014100210a41002109410021050b0240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20012802a002210641002d008083d480001a02400240412c41002802f482d48000118280808000002204450d00200420063600282004417e6a220641003b0000200441002900b094cb8000370000200441086a41002900b894cb8000370000200441106a41002900c094cb8000370000200441186a41002900c894cb8000370000200441206a41002900d094cb8000370000200341e8006a20012004412c10e7828080000240024020032802682207418180808078470d004100210c4101210d41002108410121070c010b024002402007418080808078470d004100210c410221084101210d0c010b20032f006d200341ef006a2d00004110747241087420032d006c72210d02400240200328027022084104492008417c7141044672220c450d004100210e0c010b200d280004210e200d28000021080b02402007450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b0240200c450d004101210d4100210c41012108410121070c020b200841807e71210c4100210d0b410021070b200420062f00006b41002802ec82d480001181808080000002402007450d00200020083a0005200041083a000420004180808080783602000c030b02400240200d0d00200c200841ff017172210f0c010b20012802a00221044100210620034180016a41002900a894cb8000370300200341e8006a41106a41002900a094cb8000370300200341e8006a41086a410029009894cb80003703002003410029009094cb80003703682003200436020c200341186a2003410c6a410441002802e480d480001186808080000020032003410c6a41046a36023c2003200341186a41086a360234200320034188016a36022c2003410136022420032003410c6a3602382003200341186a3602302003200341e8006a360228200341dc006a200341246a418094cb8000108c92808000200341e8006a200120032802602204200328026410e78280800002400240024020032802682207418180808078470d00410021070c010b410021082007418080808078460d0120032f006d200341ef006a2d00004110747241087420032d006c72210d02402003280270220c410449200c417c7141044672220c0d00200d2800042106200d28000021080b02402007450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b41012107200c450d010b200020073a0005200041083a00042000418080808078360200200328025c450d0420042004417e6a2f00006b41002802ec82d48000118180808000000c040b0240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b41002002280214220420066b2206200620044b1b210e41002002280210220420086b2206200620044b1b210f0b20012802a002210420034180016a410029009095cb8000370300200341f8006a410029008895cb8000370300200341e8006a41086a410029008095cb8000370300200341002900f894cb8000370368200320043602c8012003410c6a200341c8016a410441002802e480d48000118680808000002003200341c8016a41046a36023c20032003410c6a41086a360234200320034188016a36022c200341013602242003200341c8016a36023820032003410c6a3602302003200341e8006a360228200341dc006a200341246a418094cb8000108c9280800020032802602104200328026421062003410036027020034280808080c000370268200341186a200120042006200341e8006a108082808000024020032802182210418080808078470d00200020032d001c3a0005200041093a00042000418080808078360200200328025c450d0320042004417e6a2f00006b41002802ec82d48000118180808000000c030b20032802202106200328021c21110240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20012802a002210420034180016a41002900b095cb8000370300200341f8006a41002900a895cb8000370300200341e8006a41086a41002900a095cb80003703002003410029009895cb8000370368200320043602c8012003410c6a200341c8016a410441002802e480d48000118680808000002003200341c8016a41046a36023c20032003410c6a41086a360234200320034188016a36022c200341013602242003200341c8016a36023820032003410c6a3602302003200341e8006a360228200341dc006a200341246a418094cb8000108c9280800020032802602104200328026421072003410036027020034280808080c000370268200341186a200120042007200341e8006a108082808000024020032802182212418080808078470d00200020032d001c3a00052000410a3a000420004180808080783602000240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2010450d0320112011417e6a2f00006b41002802ec82d48000118180808000000c030b20032802202113200328021c21140240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2006ad423c7e2215a72104410021070240024002402015422088a70d00200441fcffffff074b0d00024020040d0041042104410021070c030b41002d008083d480001a200441002802f482d480001182808080000022070d01410421070b2007200441e4d0c2800010b980808000000b2007200741036a417c71220420076b22026a417e6a20023b0000200621070b20034100360214200320043602102003200736020c2006450d0120064102742116200341396a210641002900f094cb80002117200341e8006a41186a210241002900e894cb80002118200341e8006a41106a210841002900e094cb80002119200341e8006a41086a210d41002900d894cb8000211a2011210c0340200c2802002107200320012802a00236021c200320073602182002201737030020082018370300200d20193703002003201a370368200341dc006a200341186a200341e8006a109692808000200328026021042003280264211b200341023a007c200341246a20012004201b200341e8006a10ff8180800020032d0024211c024020032d0038221d4102470d00200020012802a00236020c200020073602082000201c3a00052000410b3a000420004180808080783602000240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402010450d0020112011417e6a2f00006b41002802ec82d48000118180808000000b0240200328020c450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b2012450d0420142014417e6a2f00006b41002802ec82d48000118180808000000c040b20032902302115200328022c211e2003280228211f20032f0126212020032d00252121200341e8006a411f6a22222006411f6a2800003600002002200641186a2900003703002008200641106a290000370300200d200641086a290000370300200320062900003703680240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402003280214221b200328020c470d002003410c6a4194d1c2800010eb828080000b200c41046a210c2003280210201b413c6c6a2204201d3a0018200420153702102004201e36020c2004201f360208200420203b0106200420213a00052004201c3a00042004200736020020042003290368370019200441216a200d290300370000200441296a2008290300370000200441316a2002290300370000200441386a20222800003600002003201b41016a3602142016417c6a22160d000c020b0b4101412c10ab80808000000b02402010450d0020112011417e6a2f00006b41002802ec82d48000118180808000000b2013ad423c7e2215a72104410021060240024002402015422088a70d00200441fcffffff074b0d00024020040d0041042104410021060c030b41002d008083d480001a200441002802f482d480001182808080000022060d01410421060b2006200441f4d0c2800010b980808000000b2006200641036a417c71220420066b22076a417e6a20073b0000201321060b200341003602202003200436021c2003200636021802402013450d0020134102742116200341396a210641002900f094cb80002117200341e8006a41186a210741002900e894cb80002118200341e8006a41106a210241002900e094cb80002119200341e8006a41086a210841002900d894cb8000211a2014210d034020012802a00221042003200d280200221b3602cc01200320043602c8012007201737030020022018370300200820193703002003201a370368200341dc006a200341c8016a200341e8006a109692808000200328026021042003280264210c200341023a007c200341246a20012004200c200341e8006a10ff8180800020032d0024211c024020032d0038221d4102470d0020012802a00221012000201b36020c200020013602082000201c3a00052000410b3a000420004180808080783602000240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402012450d0020142014417e6a2f00006b41002802ec82d48000118180808000000b02402003280218450d00200328021c22012001417e6a2f00006b41002802ec82d48000118180808000000b200328020c450d03200328021022012001417e6a2f00006b41002802ec82d48000118180808000000c030b20032902302115200328022c211e2003280228211f20032f0126212020032d00252121200341e8006a411f6a22222006411f6a2800003600002007200641186a2900003703002002200641106a2900003703002008200641086a290000370300200320062900003703680240200328025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402003280220220c2003280218470d00200341186a4184d1c2800010eb828080000b200d41046a210d200328021c200c413c6c6a2204201d3a0018200420153702102004201e36020c2004201f360208200420203b0106200420213a00052004201c3a00042004201b36020020042003290368370019200441216a2008290300370000200441296a2002290300370000200441316a2007290300370000200441386a20222800003600002003200c41016a3602202016417c6a22160d000b0b02402012450d0020142014417e6a2f00006b41002802ec82d48000118180808000000b200020032903b80137001d200020032903a001370027200341e8006a41086a22012003410c6a41086a280200360200200341fc006a200341186a41086a280200360200200041256a200341b8016a41086a2f01003b00002000412f6a200341a0016a41086a290300370000200041376a200341a0016a41106a2d00003a00002003200329020c37036820032003290218370274200020053a00182000200b3b00192000200a3a001b200020093a001c2000200e36023c2000200f360238200041106a200341e8006a41106a290300370200200041086a2001290300370200200020032903683702000b200341d0016a2480808080000bc90402057f047e23808080800041e0006b220224808080800020012802a002210341002104200241306a41002900f892cb8000370300200241186a41106a41002900f092cb8000370300200241186a41086a41002900e892cb8000370300200241002900e092cb800037031820022003360238200241d8006a200241386a410441002802e480d48000118680808000002002200241386a41046a3602542002200241d8006a41086a36024c2002200241386a3602442002410136023c2002200241386a3602502002200241d8006a3602482002200241186a3602402002410c6a2002413c6a418094cb8000108c92808000200241186a200120022802102203200228021410e78280800002400240024020022802182201418180808078460d0002402001418080808078470d00410221040c010b2002411f6a2d0000210420022f001d210520022d001c21062002200228022036024020022006200520044110747241087472220536023c200241186a2002413c6a10f581808000200241216a3300002107200241236a3100002108200235001d2109200231001c210a2002280218210402402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b2004418080808078470d01410121040b200020043a00052000410c3a0004410121010c010b2000200436020420002009200842308620074220868484420886200a84370208410021010b200020013602000240200228020c450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241e0006a2480808080000b820401067f23808080800041e0006b220224808080800020012802a002210341002104200241306a41002900f095cb8000370300200241186a41106a41002900e895cb8000370300200241186a41086a41002900e095cb8000370300200241002900d895cb800037031820022003360238200241d8006a200241386a410441002802e480d48000118680808000002002200241386a41046a3602542002200241d8006a41086a36024c2002200241386a3602442002410136023c2002200241386a3602502002200241d8006a3602482002200241186a3602402002410c6a2002413c6a418094cb8000108c92808000200241186a200120022802102203200228021410e7828080000240024020022802182201418180808078460d004102210502402001418080808078460d0020022f001d2002411f6a2d00004110747241087420022d001c72210602400240200228022022050d000c010b20062d000021070b4101210420054541014102200741ff017122054101461b410020051b220541ff017141024672210702402001450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20070d010b2000410f3a0000200020053a00010c010b200020043a0001200041043a00000b0240200228020c450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241e0006a2480808080000be60301047f23808080800041e0006b220224808080800020012802a002210341002104200241306a410029009096cb8000370300200241186a41106a410029008896cb8000370300200241186a41086a410029008096cb8000370300200241002900f895cb800037031820022003360238200241d8006a200241386a410441002802e480d48000118680808000002002200241386a41046a3602542002200241d8006a41086a36024c2002200241386a3602442002410136023c2002200241386a3602502002200241d8006a3602482002200241186a3602402002410c6a2002413c6a418094cb8000108c92808000200241186a200120022802102203200228021410e7828080000240024020022802182201418180808078460d0002402001418080808078460d0020022f001d2002411f6a2d00004110747241087420022d001c7221040240024020022802200d00410121050c010b20042d000041004721050b02402001450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b4101210420050d010b2000410f3a000020002001418080808078473a00010c010b200020043a0001200041053a00000b0240200228020c450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241e0006a2480808080000bf30503057f017e027f23808080800041d0006b2201248080808000200141286a41e4d1c2800041234187d2c2800041354104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141c0006a41086a220841013602002007420437022c2007420337022420074194d7c280003602202007410f36021c200741c5d8c28000360218200741bb80808000360210200120012902103703400240200828020022072001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200741386c22086a2207420437022c2007420337022420074194d7c280003602202007410e36021c200741d4d8c28000360218200741bb80808000360210200742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc133703002001280244210720012001280240360248200120073602402001200720086a41386a36024c20012007360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000ba80804057f017e037f017e23808080800041d0006b2201248080808000200141286a41bcd2c2800041164187d2c2800041354104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a22074100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220842ec8ca7e0e2f0c7e6bf7f370308200842e6e2dea393f0baf43a370300200141c0006a41086a220941013602002008420437022c20084211370224200841eed8c280003602202008410c36021c200841e2d8c28000360218200841bc80808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200941386c6a2208420437022c20084223370224200841a6d9c280003602202008412736021c200841ffd8c28000360218200841bd80808000360210200842b9f1ce80eeb88293b07f370308200842c4dabada959dcfb3603703002007200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41d8d5c2800010b5928080000b2001280214200941386c6a2208420437022c20084222370224200841d9d9c280003602202008411036021c200841c9d9c28000360218200841be808080003602102008429c9de6d685dab187c600370308200842ccccc7ebb1e3b6dfe400370300200141c8006a200941016a220836020020012001290310220a37034002402008200aa7470d00200141c0006a41d8d5c2800010b5928080000b2001280244200841386c22096a2208420437022c20084222370224200841d9d9c280003602202008410f36021c200841fbd9c28000360218200841be808080003602102008429c9de6d685dab187c600370308200842ccccc7ebb1e3b6dfe4003703002001280244210820012001280240360248200120083602402001200820096a41386a36024c20012008360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000ba90203037f017e027f2380808080004180206b220324808080800002400240200141aad828200141aad828491b2204200120014101766b2205200420054b1b220441d602490d002004ad420c7e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541c4c9c2800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210898280800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341d502200141c1004920021089828080000b20034180206a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041746a210b200041186a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410c6c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201328020c221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d032018410c6a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d022018410c6a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b2015410c6c20126a6a21140340201328020021162013201428020036020020142016360200201341046a221629020021072016201441046a221929020037020020192007370200201441746a21142013410c6a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510c182808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d410c6c22136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b410c6c6a210e024020134101710d00200e201820022003201841017267410174413e734100200510c1828080000b20094101710d01200e2018410c6c6a201620022003201641017267410174413e734100200510c1828080000c010b201741017421090c010b024020094102490d0020134102490d00200320162018201620184922141b2213490d002002200e2018410c6c6a2209200e20141b2013410c6c221410f497808000221c20146a2114024002400240201620184f0d00201a211303402013200941746a2209201441746a221420142802002218200928020022164922191b2212290200370200201341086a201241086a28020036020020142019410c6c6a21142009201820164f410c6c6a2209200e460d02201341746a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a280200360200200e410c6a210e2013201820164f410c6c6a22132014460d0220092012410c6c6a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10f4978080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c1828080000b200641d0026a2480808080000ba90203037f017e027f2380808080004180206b22032480808080000240024020014180b51820014180b518491b2204200120014101766b2205200420054b1b220441cd01490d002004ad42147e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541c4c9c2800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c100492002108b8280800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341cc01200141c100492002108b828080000b20034180206a2480808080000bf20b03017f027e127f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b2000416c6a210b200041386a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41146c22126a210f024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240200f2802142215200f28020049200f41246a2802002216200f41106a28020022174920162017461b22180d004102211420134102460d04200c20126a2117410221140340201741706a28020022192015492017280200221520164920152016461b0d03201741146a211720152116201921152013201441016a2214470d000c020b0b410221144101211920134102460d02200c20126a2117410221140340201741706a28020022192015492017280200221520164920152016461b4101470d02201741146a211720152116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621190b200b201441146c6a2115200021170340201720126a221641086a220f2902002107200f201520126a221341086a221829020037020020182007370200201629020021072016201329020037020020132007370200201341106a2213280200210f2013201641106a22162802003602002016200f3602002015416c6a2115201741146a21172019417f6a22190d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b200f2013412020134120491b22162002200341004100200510c082808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41146c22166a211a200020166a211803402006418e026a200e417f6a22126a2d0000200f490d010240024002400240200641046a20124102746a280200220e4101762215200941017622176a221420034b0d00200e200972410171450d010b2000200d20146b41146c6a21160240200e4101710d002016201520022003201541017267410174413e734100200510c0828080000b20094101710d012016201541146c6a201720022003201741017267410174413e734100200510c0828080000c010b201441017421090c010b024020094102490d00200e4102490d00200320172015201720154922131b220e490d0020022016201541146c6a2209201620131b200e41146c221310f497808000221920136a2113024002400240201720154f0d00201a210e0340200e2009416c6a22152013416c6a221720172802002015280200492013417c6a28020022132009417c6a28020022094920132009461b22091b2213290200370200200e41086a201341086a290200370200200e41106a201341106a2802003602002017200941146c6a21132015200941017341146c6a22092016460d02200e416c6a210e20132019470d000c020b0b0240200e0d002019210e0c020b2019210e034020162009200e2009280200200e28020049200941106a2802002215200e41106a28020022174920152017461b22171b2215290200370200201641086a201541086a290200370200201641106a201541106a280200360200201641146a2116200e201741017341146c6a220e2013460d022009201741146c6a22092018470d000c020b0b200921162019210e0b2016200e2013200e6b10f4978080001a0b201441017441017221090b410121162012210e201241014b0d000c020b0b200e21160b2006418e026a20166a200f3a0000200641046a20164102746a200936020002402011450d00201641016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c0828080000b200641d0026a2480808080000b9d0905047f017e027f017e087f23808080800041b0036b220324808080800041002104200341003602ac03200320023602a803200320013602a4032003411c6a200341a4036a10c3828080002003280220210520032d001d21064281808080082107024002400240024020032d001c2208417d6a0e03000002010b410121040b410321094200210a02400240024002400240024002400240024020080e050701020002070b410121060b4280808080082107200220032802ac03220b41016a490d072005410171220c0d010c040b4280808080082107200220032802ac03220d41016a490d062005410171220e0d010c020b0240200b20024f0d002001200b6a2d00004110490d030c060b200b200241a8d3c28000108281808000000b0240200d20024f0d002001200d6a2d00004110490d010c050b200d200241c8d3c28000108281808000000b2005410176200e6a200d6a220f20032802a80322084b0d022003200f3602ac03024020040d00200341106a200341a4036a10aa8280800020032802104101710d03428180808008210720032802ac03221020032802146a221120032802a8034b0d04410421090c020b4281808080082107200f41206a221120084b0d03410421094201210a200f21100c010b2005410176200c6a200b6a221220032802a80322084b0d01201241026a220520084b0d01200320053602ac03024002400240024002402012417d4b0d00200520024b0d01200120126a2f0000220f450d06410221092006410171450d04024020040d00200341086a200341a4036a10aa8280800020032802084101710d0720032802ac032205200328020c6a220420032802a8034b0d07410021090c040b201241226a220420084d0d020c060b2012200541b8d3c28000109581808000000b2005200241b8d3c28000109181808000000b410121090b200320043602ac032004ad4220862005ad8421070b200341023602d001200341023602c401200341023602b801200341023602ac01200341023602a001200341023602940120034102360288012003410236027c2003410236027020034102360264200341023602582003410236024c2003410236024020034102360234200341023602282003410236021c410021042003411c6a210803400240200f200441ffff037176410171450d002003200341a4036a10aa8280800020032802004101710d0320032802ac03220d2003280204220e6a220520032802a8034b0d03200841086a2005360200200841046a200d3602002008200e412047360200200320053602ac030b2008410c6a2108200441016a22044110470d000b2003280228210e2003280224210f2003280220210d200328021c2111200341f4016a2003412c6a41b00110f4978080001a200742ffffffff0f83210a2007422088a721100b2003200e3602342003200f3602302003200d36022c200320113602282003200936021c20032010ad422086200a84370220200341386a200341f4016a41b00110f4978080001a2003200c3602f001200320123602ec012003200b3602e80120002003411c6a2001200210df978080000c020b42818080800821070b20004107360200200020073702040b200341b0036a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41d8d5c2800010b5928080002004280208220542bca38dd6aec8d4ff043703002005410036023020054280808080c0003703282005410036022020054100360218200541bf80808000360210200542e2fdfabeb18d8d864a37030820042802042106200428020821070240200128020822082001280200470d00200141b8d4c2800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bd90201017f0240024002402002200141206a412010f597808000450d00418080808078210420012002108f8280800022010d010c020b4100210202400240200128024822044100480d0020012802442102024020040d004101210141012002200410f4978080001a0c040b41002d008083d480001a200441002802f482d480001182808080000022010d01410121020b2002200441d4c9c2800010b980808000000b2001417e6a41003b000020012002200410f4978080001a0c010b0240200128022c41014e0d000c010b41002102024002400240200128022822044100480d0020012802242102024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121020b2002200441d4c9c2800010b980808000000b2001417e6a41003b00000b20012002200410f4978080001a0b2000200436020820002001360204200020043602000bc80406037e017f037e017f017e037f0240200028020c0d0041000f0b410029039083d480002102410029038883d48000210320002903102104024020002802182205450d002005290008200285220642208822072005290000200442308985220442208822087e200642ffffffff0f832206200442ffffffff0f8322047e85200620087e200720047e854220898521040b20002802042209200129001020038522064220882207200129000020044220892204852208422088220a7e200642ffffffff0f832206200842ffffffff0f8322087e852006200a7e200720087e85422089852001290018200385220342208822062001290008200420027c85220442208822027e200342ffffffff0f832203200442ffffffff0f8322047e85200320027e200620047e854220898585220442208822034288d5fda1027e200442ffffffff0f83220442d3918cad087e85200342d3918cad087e20044288d5fda1027e85422088852204a7712105200442198842ff0083428182848890a0c080017e21022000280200220b41506a21004100210c0240024003400240200b20056a29000022032002852204427f85200442fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832204500d00034020012000410020047aa741037620056a2009716b220d41306c6a412010f597808000450d032004427f7c200483220450450d000b0b0240200320034201868342808182848890a0c0807f83500d00410021050c030b200c41086a220c20056a20097121050c000b0b200b200d41306c6a21050b200541506a410020051b0b8e0101017f23808080800041306b22022480808080002002200028020036020c20024101360224200241989bcb800036022020024101360214200241909bcb80003602102002410136021c200241c080808000ad4220862002410c6aad843703282002200241286a36021820012802002001280204200241106a10b1818080002101200241306a24808080800020010be71307017f017e027f017e087f057e037f23808080800041a0016b22022480808080004100410035028483d4800042c4e6c11b85200241106aad22037e200342ae94e698017e4220898522033e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002104024002400240410141002802f482d48000118280808000002205450d00200541003a00002005417e6a41003b0000200241306a41fccfc28000410141002802c480d4800011868080800000200241186a41002903f8ddc28000370300200241013602582002200536025420024101360250200241b883d480004100200441ff01714102461b36022820022003422088220642a2f0a4a00a7e200342ffffffff0f83220342d0e3fccc027e85200642d0e3fccc027e200342a2f0a4a00a7e8542208985370320200241002903f0ddc28000370310024020012802002205450d0020012802082207450d00200241e0006a41086a2108200128020421094100210a034002400240200a450d00200921042005210b200a21050c010b4100210402402009450d002009210102402009410771220b450d0003402001417f6a2101200528028c012105200b417f6a220b0d000b0b20094108490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200141786a22010d000b0b4100210b0b02400240200420052f018a014f0d00200521010c010b034020052802002201450d05200b41016a210b20052f018801210420012105200420012f018a014f0d000b0b02400240200b0d00200441016a21092001210a0c010b200120044102746a4190016a280200210a41002109200b417f6a2205450d00200b417e6a210c02402005410771220b450d0003402005417f6a2105200a28028c01210a200b417f6a220b0d000b0b200c4107490d000340200a28028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c01210a200541786a22050d000b0b4100210b0240024002400240024020012004410c6c6a220528020c220c4100480d0020052802082105200c450d0241002d008083d480001a200c41002802f482d480001182808080000022010d014101210b0b200b200c41d4c9c2800010b980808000000b2001417e6a41003b000020012005200c10f49780800021012002280254210402400240200c2002280258220b470d0020012004200c10f597808000210d200141002802ec82d4800011818080800000200d0d010c040b200141002802ec82d48000118180808000000b200241e0006a2005200c41002802c480d480001186808080000041002d008083d480001a200c41002802f482d4800011828080800000220e450d07200e417e6a41003b0000200e2005200c10f4978080002105200c200b470d0120052004200c10f5978080000d01200541002802ec82d48000118180808000000c020b2002280258450d01200241e0006a2005410041002802c480d48000118680808000004101210e0b20024180016a41186a200241e0006a41186a29000037030020024180016a41106a200241e0006a41106a29000037030020024180016a41086a20082900003703002002200229006037038001410029039083d48000210f410029038883d48000210620022903202103024020022802282205450d002005290008200f85221042208822112005290000200342308985220342208822127e201042ffffffff0f832210200342ffffffff0f8322037e85201020127e201120037e854220898521030b200229039001200685221042208822112002290380012003422089220385221242208822137e201042ffffffff0f832210201242ffffffff0f8322127e85201020137e201120127e8542208985200229039801200685220642208822102002290388012003200f7c852203422088220f7e200642ffffffff0f832206200342ffffffff0f8322037e852006200f7e201020037e854220898585220342208822064288d5fda1027e200342ffffffff0f83220342d3918cad087e85200642d3918cad087e20034288d5fda1027e85422088852203421988221042ff0083428182848890a0c080017e210f2002280210220d41506a210441002114200228021422012003a722157122162105024003400240200d20056a2900002206200f852203427f85200342fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832203500d00034020024180016a2004410020037aa741037620056a2001716b41306c220b6a412010f597808000450d032003427f7c200383220350450d000b0b0240200620064201868342808182848890a0c0807f8350450d00201441086a221420056a20017121050c010b0b0240200d20166a29000042808182848890a0c0807f8322034200520d00410821050340201620056a2104200541086a2105200d200420017122166a29000042808182848890a0c0807f832203500d000b0b0240200d20037aa741037620166a20017122056a2c00002204417f4c0d00200d200d29030042808182848890a0c0807f837aa741037622056a2d000021040b200228028401210b200228028001211402402004410171450d0020022802180d00200241086a200241106a4101200241106a41106a410110d48280800002402002280210220d2002280214220120157122046a29000042808182848890a0c0807f8322034200520d00410821050340200420056a2104200541086a2105200d200420017122046a29000042808182848890a0c0807f832203500d000b0b200d20037aa741037620046a20017122056a2c00002204417f4c0d00200d200d29030042808182848890a0c0807f837aa741037622056a2d000021040b200d20056a2010a741ff007122163a0000200d200541786a2001716a41086a20163a0000200d410020056b41306c6a220541506a2014360200200541706a200c360200200541746a200e360200200541786a200c3602002005417c6a41013602002002200228021c41016a36021c2002200228021820044101716b360218200541586a220141106a200841106a290000370000200141086a200841086a29000037000020012008290000370000200541546a200b3602000c010b0240200d200b6a2205417c6a220428020022014101480d002004200141016a360200200c450d01200e200e417e6a2f00006b41002802ec82d48000118180808000000c010b0240200541706a220b280200450d00200541746a28020022012001417e6a2f00006b41002802ec82d4800011818080800000200428020021010b200b200c360200200541786a200c360200200541746a200e3602002004200141016a3602000b410021052007417f6a22070d000b0b2000200241106a41d00010f4978080001a200241a0016a2480808080000f0b4101410110ab80808000000b41d8ddc2800010a081808000000b4101200c41d4c9c2800010b980808000000bd40201027f23808080800041306b22052480808080002005200236020c20052001360208200520033602102005200036021402400240024020022000280208470d00200120002802042206200210f5978080000d002003200028020c470d012004200041106a2202412010f5978080000d0202402000280200450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200541306a2480808080000f0b2005420037022420054281808080c00037021c200541c0dfc280003602184100200541086a200541146a200541186a41c8dfc2800010d282808000000b2005420037022420054281808080c00037021c200541fcdfc280003602184100200541106a2000410c6a200541186a4184e0c2800010d382808000000b2005420037022420054281808080c00037021c200541bce0c28000360218410020042002200541186a41c4e0c2800010d182808000000be40102027f017e23808080800041106b2206248080808000200641046a419880d480002001200210dd818080000240024020062802042201418180808078460d0002402001418080808078470d00410021050c020b20062802082107200320062902082208a72008422088a72202200520022005491b22056a2004200220056b220520042005491b10f4978080001a410121052001450d0120072007417e6a2f00006b41002802ec82d48000118180808000000c010b4180dec2800041244194dfc2800010a181808000000b2000200236020420002005360200200641106a2480808080000b6401017f23808080800041106b22042480808080002004200336020c2004200236020820042001360204200420003602000240419880d48000200410e4818080000d004180dec2800041244194dfc2800010a181808000000b200441106a2480808080000b6e01017f23808080800041206b22032480808080002003410c6a419880d480002001200210e3818080000240200328020c0d004180dec2800041244194dfc2800010a181808000000b20002003290210370200200041086a200341186a290200370200200341206a2480808080000b3a000240419880d480002000200110d38180800041ff017122014102470d004180dec2800041244194dfc2800010a181808000000b20014101710b2c000240419880d480002000200110de818080000d004180dec2800041244194dfc2800010a181808000000b0b5f01027f23808080800041106b2200248080808000200041086a41ccffd3800010d28180800002402000280208410171450d00200028020c2101200041106a2480808080002001ad0f0b41d4e0c28000411b41f0e0c2800010a181808000000b800101017f23808080800041106b2202248080808000200220013a0003200241046a419880d48000200241036a10d58180800002402002280204418080808078470d004180dec2800041244194dfc2800010a181808000000b20002002290204370200200041086a200241046a41086a280200360200200241106a2480808080000b920101017f23808080800041206b2205248080808000200520043602102005200336020c200520023602182005200136021420052005410c6a36021c2005419880d48000200541146a10d8818080000240200528020022044102470d004180dec2800041244194dfc2800010a181808000000b200528020421032000200436020020002003360204200541206a2480808080000b7601017f23808080800041206b2203248080808000200341086a41086a200241086a2802003602002003200136021820032000360214200320022902003703080240419880d48000200341086a10e5818080000d004180dec2800041244194dfc2800010a181808000000b200341206a2480808080000b7801017f23808080800041106b2203248080808000200341046a419880d480002001200210d18180800002402003280204418180808078470d004180dec2800041244194dfc2800010a181808000000b20002003290204370200200041086a200341046a41086a280200360200200341106a2480808080000b28000240419880d4800010d7818080000d004180dec2800041244194dfc2800010a181808000000b0b5201017f02400240419880d4800010e28180800041ff017122004102460d0020004101710d014180e1c28000412c41ace1c2800010a181808000000b4180dec2800041244194dfc2800010a181808000000b0b5201017f02400240419880d4800010da8180800041ff017122004102460d0020004101710d0141bce1c28000412a41e8e1c2800010a181808000000b4180dec2800041244194dfc2800010a181808000000b0bc00201027f23808080800041306b22052480808080004100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241b0c7cd800010b980808000000b2006417e6a41003b00000b20062001200210f497808000210620052002360214200520063602102005200236020c2005200436022c2005200336022820052005410c6a360224200541186a419880d48000200541246a10d68180800002402005280218418180808078460d0020002005290218370200200041086a200541186a41086a2802003602000240200528020c450d00200528021022022002417e6a2f00006b41002802ec82d48000118180808000000b200541306a2480808080000f0b4180dec2800041244194dfc2800010a181808000000bab0302027f017e23808080800041306b22082480808080004100210902400240024020024100480d00024020020d00410121090c030b41002d008083d480001a200241002802f482d480001182808080000022090d01410121090b2009200241b0c7cd800010b980808000000b2009417e6a41003b00000b20092001200210f497808000210920082002360214200820093602102008200236020c2008200436022c2008200336022820082008410c6a360224200841186a419880d48000200841246a10d6818080000240024020082802182209418180808078460d0002402009418080808078470d00410021040c020b200828021c21032005200829021c220aa7200a422088a72202200720022007491b22046a2006200220046b220420062004491b10f4978080001a410121042009450d0120032003417e6a2f00006b41002802ec82d48000118180808000000c010b4180dec2800041244194dfc2800010a181808000000b0240200828020c450d00200828021022092009417e6a2f00006b41002802ec82d48000118180808000000b2000200236020420002004360200200841306a2480808080000b9e0201027f23808080800041206b22062480808080004100210702400240024020014100480d00024020010d00410121070c030b41002d008083d480001a200141002802f482d480001182808080000022070d01410121070b2007200141b0c7cd800010b980808000000b2007417e6a41003b00000b20072000200110f49780800021072006200136020820062007360204200620013602002006200536021c2006200436021820062003360214200620023602102006200636020c0240419880d480002006410c6a10df81808000450d0002402006280200450d00200628020422012001417e6a2f00006b41002802ec82d48000118180808000000b200641206a2480808080000f0b4180dec2800041244194dfc2800010a181808000000b930201027f23808080800041206b22042480808080004100210502400240024020014100480d00024020010d00410121050c030b41002d008083d480001a200141002802f482d480001182808080000022050d01410121050b2005200141b0c7cd800010b980808000000b2005417e6a41003b00000b20052000200110f4978080002105200420013602102004200536020c200420013602082004200336021c200420023602182004200441086a3602140240419880d48000200441146a10dc81808000450d0002402004280208450d00200428020c22012001417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000f0b4180dec2800041244194dfc2800010a181808000000ba60201017f23808080800041206b2205248080808000200520043602102005200336020c4100210402400240024020024100480d00024020020d00410121040c030b41002d008083d480001a200241002802f482d480001182808080000022040d01410121040b2004200241b0c7cd800010b980808000000b2004417e6a41003b00000b20042001200210f49780800021042005200236021c20052004360218200520023602142005419880d48000200541146a2005410c6a10d4818080000240200528020022034102460d002005280204210102402002450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2000200136020420002003360200200541206a2480808080000f0b4180dec2800041244194dfc2800010a181808000000ba00201027f23808080800041206b22042480808080004100210502400240024020014100480d00024020010d00410121050c030b41002d008083d480001a200141002802f482d480001182808080000022050d01410121050b2005200141b0c7cd800010b980808000000b2005417e6a41003b00000b20052000200110f4978080002105200420013602102004200536020c200420013602082004200336021c200420023602182004200441086a3602140240419880d48000200441146a10d98180800041ff017122014102460d0002402004280208450d00200428020c22052005417e6a2f00006b41002802ec82d48000118180808000000b200441206a24808080800020014101710f0b4180dec2800041244194dfc2800010a181808000000bcb0201017f23808080800041306b2207248080808000200720063602102007200536020c4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241b0c7cd800010b980808000000b2006417e6a41003b00000b20062001200210f49780800021062007200236021c2007200636021820072002360214200720043602282007200336022420072007410c6a36022c2007200741146a3602202007419880d48000200741206a10e1818080000240200728020022024102460d002007280204210602402007280214450d00200728021822052005417e6a2f00006b41002802ec82d48000118180808000000b2000200636020420002002360200200741306a2480808080000f0b4180dec2800041244194dfc2800010a181808000000bac0201017f23808080800041206b2204248080808000200420033a00074100210302400240024020024100480d00024020020d00410121030c030b41002d008083d480001a200241002802f482d480001182808080000022030d01410121030b2003200241b0c7cd800010b980808000000b2003417e6a41003b00000b20032001200210f4978080002103200420023602102004200336020c20042002360208200441146a419880d48000200441086a200441076a10e08180800002402004280214418080808078460d0020002004290214370200200041086a200441146a41086a28020036020002402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000f0b4180dec2800041244194dfc2800010a181808000000bc00201027f23808080800041306b22052480808080004100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241b0c7cd800010b980808000000b2006417e6a41003b00000b20062001200210f497808000210620052002360214200520063602102005200236020c2005200436022c2005200336022820052005410c6a360224200541186a419880d48000200541246a10db8180800002402005280218418180808078460d0020002005290218370200200041086a200541186a41086a2802003602000240200528020c450d00200528021022022002417e6a2f00006b41002802ec82d48000118180808000000b200541306a2480808080000f0b4180dec2800041244194dfc2800010a181808000000b100020004204370208200042003702000b880301077f4101210202400240024002402001280208220341016a2204200128020422054d0d000c010b200320054f0d012001200436020802400240024002400240024002402001280200220620036a2d000022074103710e0400010203000b20074102762108410021020c060b0240200341026a220320054d0d000c060b200120033602082004417f470d02417f200341f0cbcd8000109581808000000b200341046a220320054b0d04200120033602082004417d490d022004200341f0cbcd8000109581808000000b20074104490d020c030b0240200620046a2d000022010d000c030b20014108742007724102762108410021020c020b200620046a22012f0000200141026a2d0000411074722201418002492102200141087420077241027621080c010b200341056a220320054b0d00200120033602082004417c4f0d02200620046a28000022084180808080044921020b20002008360204200020023602000f0b200320054180cccd8000108281808000000b2004200341f0cbcd8000109581808000000bc50501097f23808080800041f0006b220324808080800002400240200028020022042000280204470d00410221040c010b20002004410c6a36020002400240024020002802082205200028020c2802004b0d002000280210210641022107024020042802004102460d00200341cc006a200410da82808000200341c8006a41026a220420032d004f3a0000200341286a41086a2208200341cc006a41106a290200370300200341286a41106a2209200341cc006a41186a290200370300200341286a41186a220a200341ec006a280200360200200320032f004d3b0148200320032902543703282003280250210b20032d004c22074102460d02200341246a41026a20042d00003a0000200341086a41086a2008290300370300200341086a41106a2009290300370300200341086a41186a200a280200360200200320032f01483b0124200320032903283703080b0240200628020822022006280200470d00200641d4e2c2800010ed828080000b2006280204200241246c6a220420032f01243b0001200420073a00002004200b36020420042003290308370208200441036a200341266a2d00003a0000200441106a200341106a290300370200200441186a200341086a41106a290300370200200441206a200341086a41186a2802003602002006200241016a3602080b410121040c010b024020022802002204450d000240024002400240200428020041fcffffff076a2206410320064105491b0e0403030102000b2004280204450d02200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2004280204450d01200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200410ac828080000b20042004417e6a2f01006b41002802ec82d48000118180808000000b2002200b360200410021040b2000200541016a3602080b200341f0006a24808080800020040bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b200010ac828080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0bc50501097f23808080800041f0006b220324808080800002400240200028020022042000280204470d00410221040c010b20002004410c6a36020002400240024020002802082205200028020c2802004b0d002000280210210641022107024020042802004102460d00200341cc006a200410da82808000200341c8006a41026a220420032d004f3a0000200341286a41086a2208200341cc006a41106a290200370300200341286a41106a2209200341cc006a41186a290200370300200341286a41186a220a200341ec006a280200360200200320032f004d3b0148200320032902543703282003280250210b20032d004c22074102460d02200341246a41026a20042d00003a0000200341086a41086a2008290300370300200341086a41106a2009290300370300200341086a41186a200a280200360200200320032f01483b0124200320032903283703080b0240200628020822022006280200470d00200641e4e2c2800010ed828080000b2006280204200241246c6a220420032f01243b0001200420073a00002004200b36020420042003290308370208200441036a200341266a2d00003a0000200441106a200341106a290300370200200441186a200341086a41106a290300370200200441206a200341086a41186a2802003602002006200241016a3602080b410121040c010b024020022802002204450d000240024002400240200428020041fcffffff076a2206410320064105491b0e0403030102000b2004280204450d02200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2004280204450d01200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200410ac828080000b20042004417e6a2f01006b41002802ec82d48000118180808000000b2002200b360200410021040b2000200541016a3602080b200341f0006a24808080800020040ba20101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141e4f4c2800010ef818080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041bb80808000360218200042d7c9cb8fc1cf97db3e370310200042e88488d0c0e3aebc13370308200041063a0000200141106a2480808080000b4101017f024020002802002200417f460d0020002000280204417f6a220136020420010d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141016a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10be828080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510be8280800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510be8280800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10be82808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741016a22072002470d000b0b200341306a24808080800020000bcc0101057f024020034108490d00200020002003410376220341d0006c22046a20002003418c016c22056a200310b18280800021002001200120046a200120056a200310b18280800021012002200220046a200220056a200310b18280800021020b0240200028020022052001280200220649200041106a2802002203200141106a28020022044920032004461b2207200520022802002208492003200241106a28020022054920032005461b470d002002200120072006200849200420054920042005461b731b21000b20000b8c0101037f024020034108490d00200020002003410376220341306c22046a2000200341d4006c22056a200310b28280800021002001200120046a200120056a200310b28280800021012002200220046a200220056a200310b28280800021020b200020022001200028020022032001280200220449220520042002280200220649731b20052003200649731b0bef08010a7f2000200028020c22032000280200220449410c6c6a2205200041244118200028022420002802184922061b6a22072000200320044f410c6c6a220320004118412420061b6a220428020020032802004922061b200728020020052802004922081b2209280200210a20042003200720081b20061b220b280200210c200241086a2007200520081b220741086a280200360200200220072902003702002002200b2009200c200a4922071b220529020037020c200241146a200541086a280200360200200241206a2009200b20071b220741086a280200360200200220072902003702182002412c6a2003200420061b220341086a280200360200200241246a22072003290200370200200041306a220341184124200028025420002802484922051b6a22042003200028023c2206200028023022084f410c6c6a220020034124411820051b6a2205200528020020032006200849410c6c6a22032802004922061b200428020020002802004922081b2209280200210a20032005200020081b20061b220b280200210c200241386a2005200320061b220541086a280200360200200241306a220320052902003702002002413c6a2009200b200a200c4922051b2206290200370200200241c4006a200641086a280200360200200241c8006a200b200920051b2205290200370200200241d0006a200541086a280200360200200241d4006a22052000200420081b2200290200370200200241dc006a200041086a28020036020020012003200220032802002204200228020022064922001b2208290200370200200141086a200841086a280200360200200120072005200528020022082007280200220949220b1b220a290200370254200141dc006a200a41086a280200360200200120032000410c6c6a22002002200420064f410c6c6a2202200028020022042002280200220649220a1b220329020037020c200141146a200341086a2802003602002001200741744100200b1b6a2207200541744100200820094f1b6a220320032802002205200728020022084922091b220b290200370248200141d0006a200b41086a28020036020020012000200a410c6c6a22002002200420064f410c6c6a2202200028020022042002280200220649220b1b220a290200370218200141206a200a41086a280200360200200120074174410020091b6a2207200341744100200520084f1b6a2203200328020022082007280200220949220a1b220529020037023c200141c4006a200541086a28020036020020012000200b410c6c6a22052002200420064f410c6c6a2202200528020022042002280200220649220b1b22002902003702242001412c6a200041086a2802003602002001200741744100200a1b6a2200200341744100200820094f1b6a2207200728020022092000280200220a4922031b2208290200370230200141386a200841086a280200360200024002402002200420064f410c6c6a20004174410020031b6a410c6a470d002005200b410c6c6a2007417441002009200a4f1b6a410c6a460d010b109c81808000000b0bd00103047f017e017f02402002417f6a20014f0d00024020022001460d0020002001410c6c6a210420002002410c6c22056a21060340024020062802002207200641746a2802004f0d00200629020421082005210202400340200020026a2201200141746a2209290200370200200141086a200941086a28020036020002402002410c470d00200021020c020b200241746a21022007200141686a280200490d000b200020026a21020b20022008370204200220073602000b2005410c6a21052006410c6a22062004470d000b0b0f0b000bc60201087f23808080800041106b210402402002417f6a20014f0d00024020022001460d002000200141146c6a21052000200241146c22066a2107200441086a210803400240200728020022092007416c6a28020049200741106a280200220a2007417c6a280200220249200a2002461b4101470d0020082007410c6a280200360200200420072902043703002006210102400340200020016a22022002416c6a220b290200370200200241106a200b41106a280200360200200241086a200b41086a290200370200024020014114470d00200021020c020b2001416c6a21012009200241586a28020049200a200241686a280200220249200a2002461b0d000b200020016a21020b20022009360200200220042903003702042002200a3602102002410c6a20082802003602000b200641146a2106200741146a22072005470d000b0b0f0b000bdf0b020c7f017e0240024020014102490d000240024002402003200141106a490d00200141017621052001410f4b0d010240200141074d0d002002200041244118200028022420002802184922061b6a22032000200028020c22072000280200220849410c6c6a22092003280200200928020049220a1b220b290200370200200241086a200b41086a280200360200200220004118412420061b6a220b2000200720084f410c6c6a22062003200a1b200b28020020062802004922071b220820092003200620071b200a1b2203200828020020032802004922091b220a29020037020c200241146a200a41086a280200360200200241206a2003200820091b220341086a280200360200200220032902003702182002412c6a2006200b20071b220341086a2802003602002002200329020037022420002005410c6c220c6a220341184124200328022420032802184922091b6a220a2003200328020c220b200328020022074f410c6c6a220620034124411820091b6a220920092802002003200b200749410c6c6a220b2802004922071b200a28020020062802004922081b220d280200210e200b2009200620081b20071b220f28020021102002200c6a220341086a2009200b20071b220941086a280200360200200320092902003702002003200d200f200e20104922091b220b29020037020c200341146a200b41086a280200360200200341206a200f200d20091b220941086a280200360200200320092902003702182003412c6a2006200a20081b220641086a280200360200200320062902003702244104210d0c030b20022000290200370200200241086a200041086a28020036020020022005410c6c22036a2206200020036a2203290200370200200641086a200341086a2802003602004101210d0c020b000b2000200220022001410c6c6a220310b38280800020002005410c6c22066a200220066a200341e0006a10b3828080004108210d0b200120056b210e0240200d20054f0d00200d410c6c2107200d210b03402002200b410c6c22066a2203200020066a22062902002211370200200341086a200641086a28020036020002402011a7220a200341746a2802004f0d00200329020421112007210302400340200220036a2206200641746a2209290200370200200641086a200941086a28020036020002402003410c470d00200221030c020b200341746a2103200a200641686a280200490d000b200220036a21030b200320113702042003200a3602000b2007410c6a2107200b41016a220b2005470d000b0b20022005410c6c22036a21070240200d200e4f0d00200020036a2110200d410c6c210a410c210f2007210c03402007200d410c6c22066a2203201020066a22062902002211370200200341086a200641086a28020036020002402011a72208200341746a2802004f0d0020032902042111200f2109200c2106024003402006200a6a2203200341746a220b290200370200200341086a200b41086a2802003602000240200a2009470d00200721030c020b2009410c6a2109200641746a21062008200341686a280200490d000b2006200a6a21030b20032011370204200320083602000b200f41746a210f200c410c6a210c200d41016a220d200e470d000b0b200741746a210320022001410c6c41746a22096a2106200020096a210903402000200720022007280200220a2002280200220b4922081b220d290200370200200041086a200d41086a2802003602002009200320062006280200220d2003280200220f49220c1b220e290200370200200941086a200e41086a280200360200200941746a21092000410c6a2100200341744100200c1b6a2103200641744100200d200f4f1b6a21062002200a200b4f410c6c6a210220072008410c6c6a21072005417f6a22050d000b2003410c6a210302402001410171450d00200020022007200220034922091b220a290200370200200041086a200a41086a2802003602002007200220034f410c6c6a210720022009410c6c6a21020b20022003470d0120072006410c6a470d010b0f0b109c81808000000bc911020f7f017e23808080800041106b22052480808080000240024020014102490d00024002402003200141106a490d00410121062001410176210702400240200141074d0d0020004128413c200028023c200028022849200041cc006a2802002203200041386a28020022084920032008461b22081b6a220920002000280214200028020049200041246a2802002203200041106a280200220a492003200a461b220a41017341146c6a22032000413c412820081b6a220820082802002000200a41146c6a220a28020049200841106a280200220b200a41106a280200220c49200b200c461b220d1b2009280200200328020049200941106a280200220b200341106a280200220c49200b200c461b220e1b220b41106a2802002106200a20082003200e1b200d1b220c41106a280200210f200b2802002110200c2802002111200241106a2008200a200d1b220841106a280200360200200241086a200841086a290200370200200220082902003702002002200b200c20102011492006200f492006200f461b220a1b22082902003702142002200c200b200a1b220a2902003702282002411c6a200841086a290200370200200241246a200841106a280200360200200241306a200a41086a290200370200200241386a200a41106a280200360200200241cc006a20032009200e1b220341106a280200360200200241c4006a200341086a2902003702002002200329020037023c2000200741146c22116a22034128413c200328023c200328022849200341cc006a2802002208200341386a28020022094920082009461b22091b6a220a20032003280214200328020049200341246a2802002208200341106a280200220b492008200b461b220b41017341146c6a22082003413c412820091b6a220920092802002003200b41146c6a220b28020049200941106a2802002203200b41106a280200220c492003200c461b220e1b200a280200200828020049200a41106a2802002203200841106a280200220c492003200c461b22061b220c41106a280200210f200b2009200820061b200e1b220d41106a2802002110200c2802002112200d2802002113200220116a220341106a2009200b200e1b220941106a280200360200200341086a200941086a290200370200200320092902003702002003200c200d2012201349200f201049200f2010461b220b1b22092902003702142003200d200c200b1b220b2902003702282003411c6a200941086a290200370200200341246a200941106a280200360200200341306a200b41086a290200370200200341386a200b41106a280200360200200341cc006a2008200a20061b220841106a280200360200200341c4006a200841086a2902003702002003200829020037023c410421060c010b20022000290200370200200241106a200041106a280200360200200241086a200041086a2902003702002002200741146c22086a2203200020086a2208290200370200200341086a200841086a290200370200200341106a200841106a2802003602000b200120076b2111200620074f0d01200641146c210d2006210c03402002200c41146c22086a2203200020086a22082902002214370200200341106a200841106a280200220a360200200341086a200841086a29020037020002402014a7220b2003416c6a28020049200a2003417c6a280200220349200a2003461b4101470d00200541086a220e2008410c6a28020036020020052008290204370300200d210802400340200220086a22032003416c6a2209290200370200200341106a200941106a280200360200200341086a200941086a290200370200024020084114470d00200221030c020b2008416c6a2108200b200341586a28020049200a200341686a280200220349200a2003461b0d000b200220086a21030b2003200b360200200320052903003702042003200a3602102003410c6a200e2802003602000b200d41146a210d200c41016a220c2007470d000c020b0b000b2002200741146c22036a210d0240200620114f0d00200020036a2112200641146c210c4114210f200d21100340200d200641146c22086a2203201220086a22082902002214370200200341106a200841106a280200220b360200200341086a200841086a29020037020002402014a7220e2003416c6a28020049200b2003417c6a280200220349200b2003461b4101470d00200541086a22132008410c6a28020036020020052008290204370300200f210a20102108024003402008200c6a22032003416c6a2209290200370200200341106a200941106a280200360200200341086a200941086a2902003702000240200c200a470d00200d21030c020b200a41146a210a2008416c6a2108200e200341586a28020049200b200341686a280200220349200b2003461b0d000b2008200c6a21030b2003200e360200200320052903003702042003200b3602102003410c6a20132802003602000b200f416c6a210f201041146a2110200641016a22062011470d000b0b200d416c6a21032002200141146c416c6a22096a2108200020096a210903402000200d2002200d280200200228020049200d41106a280200220a200241106a280200220b49200a200b461b220a1b220b290200370200200041086a200b41086a290200370200200041106a200b41106a280200360200200941106a200320082008280200200328020049200841106a280200220b200341106a280200220c49200b200c461b220b1b220c41106a280200360200200941086a200c41086a2902003702002009200c290200370200200d200a41146c6a210d20034100200b6b41146c6a2103200b41146c20086a416c6a21082002200a41017341146c6a21022009416c6a2109200041146a21002007417f6a22070d000b200341146a210302402001410171450d0020002002200d2002200349220a1b2209290200370200200041106a200941106a280200360200200041086a200941086a290200370200200d200220034f41146c6a210d2002200a41146c6a21020b20022003470d01200d200841146a470d010b200541106a2480808080000f0b109c81808000000b9c0b01147f23808080800041306b2204248080808000200441106a210520012802042106200128020021070240024002400240024020012802100d0020044100360218200441003602100c010b20012802082208450d0120052008200128020c10cd828080000b2004200636020c2004417f200720022802006a220120012007491b2201360208410c2108410821094104210a02402001200328020022074d0d00410221060c020b2004417f200620022802046a220120012006491b220136020c02402001200328020422074d0d00410321060c020b024020022802082201450d002002280210220b450d002001410047210c200328020c210d2003280208210e200228020c210f41002102034002400240024020020d00200c410171450d004101210c200f450d01200f21020240200f4107712207450d0003402002417f6a2102200128028c0121012007417f6a22070d000b0b200f4108490d010340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200241786a22020d000c020b0b200c4101710d014198e4c2800010a081808000000b20012102410021014100210f0b02400240024002400240200f20022f018a014f0d0020022107200f21090c010b034020022802582207450d02200141016a210120022f018801210920072102200920072f018a014f0d000b0b20010d01200941016a210f200721020c020b4188e4c2800010a081808000000b200720094102746a4190016a28020021024100210f2001417f6a2206450d002001417e6a2103024020064107712201450d0003402006417f6a2106200228028c0121022001417f6a22010d000b0b20034107490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200641786a22060d000b0b200720094102746a221028025c210302400240024002402004280210220a450d0020042802142111034002400240200a2f018a0122120d00410021060c010b201241027421134100210141002106034002402003200a20016a41dc006a28020022084b20032008496b41ff017122084101460d0020080d022004200536022c20042006360228200420113602242004200a3602202004410036021c0c070b200641016a21062013200141046a2201470d000b201221060b2011450d022011417f6a2111200a20064102746a28028c01210a0c000b0b200441003602240c010b2004200636022c200441003602282004200a3602240b200420033602202004200536021c0b2004411c6a10cc8280800021120240024002400240200e450d00200b417f6a210b200720094103746a220141046a2802002114200128020021152012280204211620122802002117201041dc006a2802002106200d2113200e210a034002400240200a2f018a0122110d00410021070c010b20114102742109200a41dc006a210141002107200a2103034002402006200128020022084b20062008496b41ff017122084101460d0020080d02417f201720156a220120012017491b2201200341046a28020022074d0d05410021020c060b200341086a2103200141046a2101200741016a21072009417c6a22090d000b201121070b2013450d012013417f6a2113200a20074102746a28028c01210a0c000b0b41a8e4c28000413441c0e5c2800010a181808000000b417f201620146a220720072016491b2208200328020022074d0d0141012102200821010b2000200236020441102108410c21094108210a0c040b201220083602042012200136020041002101200b0d000b0b2000200429020837020420004100360200200041146a200441186a2802003602002000410c6a200441106a2902003702000c020b41ccebc2800010a081808000000b2000200a6a2006360200200020096a2007360200200020086a200136020020004101360200200510cf828080000b200441306a2480808080000b8708010f7f23808080800041306b22022480808080002000200028020020012802006b3602002000200028020420012802046b36020402400240024020012802082203450d00200128021022040d010b200028020821050c010b4100210620034100472107200128020c2108034002400240024020060d002007410171450d00410121072008450d0120082106024020084107712201450d0003402006417f6a2106200328028c0121032001417f6a22010d000b0b20084108490d010340200328028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012103200641786a22060d000c020b0b20074101710d014198e4c2800010a081808000000b2003210641002103410021080b02400240024002400240200820062f018a014f0d0020062101200821090c010b034020062802582201450d02200341016a210320062f018801210920012106200920012f018a014f0d000b0b20030d01200941016a2108200121060c020b4188e4c2800010a081808000000b200120094102746a4190016a2802002106410021082003417f6a220a450d002003417e6a210b0240200a4107712203450d000340200a417f6a210a200628028c0121062003417f6a22030d000b0b200b4107490d000340200628028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012106200a41786a220a0d000b0b024020002802082205450d002004417f6a2104200120094103746a210c200120094102746a28025c210a200028020c210d2005210e034002400240200e2f018a01220f0d00410021010c010b200f4102742110200e41dc006a210341002101200e210903400240200a2003280200220b4b200a200b496b41ff0171220b4101460d00200b0d0220092009280200200c2802006b360200200941046a22032003280200200c2802046b360200410021032004450d060c050b200941086a2109200341046a2103200141016a21012010417c6a22100d000b200f21010b200d450d01200d417f6a210d200e20014102746a28028c01210e0c000b0b0b41d0e5c2800041304180e6c2800010a181808000000b024002402005450d00200041086a21090240200028020c2201450d0002400240200141077122060d00200121030c010b2001210303402003417f6a2103200528028c0121052006417f6a22060d000b0b20014108490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200341786a22030d000b0b20024200370214200220053602102002200936020c2002200041106a36020820022002412f6a3602040c010b2002420037020c2002200041106a36020820022002412f6a3602040b03402002411c6a200241046a10c982808000200228021c0d000b200241306a2480808080000bf60503057f017e027f23808080800041d0006b2201248080808000200141286a4190e6c28000411141a1e6c2800041334104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141c0006a41086a220841013602002007420437022c2007420337022420074194d7c280003602202007410936021c200741e5d7c28000360218200741bb80808000360210200120012902103703400240200828020022072001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200741386c22086a2207420437022c2007420337022420074194d7c280003602202007410b36021c200741eed7c28000360218200741bb80808000360210200742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc133703002001280244210720012001280240360248200120073602402001200720086a41386a36024c20012007360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef81808000200141106a410b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b8b0704057f017e037f017e23808080800041d0006b2201248080808000200141286a41d4e6c28000410d41a1e6c2800041334104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a22074100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a220941013602002008420437022c2008420337022420084194d7c280003602202008410d36021c200841f9d7c28000360218200841bb80808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200941386c6a2208420437022c2008420337022420084194d7c280003602202008410f36021c20084186d8c28000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc133703002007200941016a220836020020012001290340220a37031002402008200aa7470d00200141106a41d8d5c2800010b5928080000b2001280214200841386c22096a2208420437022c20084223370224200841a2d8c280003602202008410d36021c20084195d8c28000360218200841c280808000360210200842a9bed5f4ac86fabc7237030820084289f1e0e084fdeb9fe8003703002001280214210820012001280210360248200120083602402001200820096a41386a36024c20012008360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bb00101047f23808080800041106b22022480808080002000280200220041046a28020021032000280200210041012104200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2000200020036a10b0828080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021040b200241106a24808080800020040bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000bc70301047f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff0171410174220541a1f1c180006a2d00003a00022002200541a0f1c180006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe017141a1f1c180006a2d00003a00000b2001410141014100200220036a410320036b10b28180800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000b140020012000280200200028020410b4818080000bdc0c01127f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610b7828080000c010b2002416c6a21080340024020040d00200020012002200341012006108b828080000c020b200020014103762209418c016c6a210a2000200941d0006c6a210b02400240200141c000490d002000200b200a200910b182808000210c0c010b2000210c2000280200220d200b280200220e49200041106a2802002209200b41106a280200220f492009200f461b2210200d200a2802002211492009200a41106a280200220d492009200d461b470d00200a200b2010200e201149200f200d49200f200d461b731b210c0b2004417f6a2104200741106a200c41106a2211280200360200200741086a200c41086a2902003703002007200c290200370300200c20006b41146e2112024002400240024002402005450d002005280200200c2802004f200541106a280200220a2011280200220b4f200a200b461b0d010b20032001490d014100210b2000210a2002200141146c22136a2214210d2012211503400240200a2000201541146c6a22104f0d0003402002200d416c6a220d200a280200200c28020049200a41106a28020022092011280200220f492009200f461b220e1b200b41146c6a220f200a290200370200200f41106a2009360200200f41086a200a41086a290200370200200b200e6a210b200a41146a220a2010490d000b0b024020152001460d00200d416c6a220d200b41146c6a2209200a290200370200200941106a200a41106a280200360200200941086a200a41086a290200370200200a41146a210a200121150c010b0b20002002200b41146c221510f49780800021162001200b6b211002402001200b460d0020104101712117201620156a21184100210f02402001200b41016a460d002010417e71210e200820136a21094100210f2018210a0340200a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200a41146a2014200f41feffffff037341146c6a220d290200370200200a411c6a200d41086a290200370200200a41246a200d41106a280200360200200941586a2109200a41286a210a200e200f41026a220f470d000b0b2017450d002018200f41146c6a220a2014200f417f7341146c6a2209290200370200200a41106a200941106a280200360200200a41086a200941086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c200741f0e7c2800036021820074204370220200741186a41f8e7c2800010fe80808000000b20032001490d00410021092000210a2002200141146c22146a2215210d03400240200a2000201241146c6a22104f0d0003402002200d416c6a220d200c280200200a2802004f2011280200220f200a41106a280200220b4f200f200b461b220e1b200941146c6a220f200a290200370200200f41106a200b360200200f41086a200a41086a2902003702002009200e6a2109200a41146a220a2010490d000b0b024020122001460d002002200941146c6a220b200a290200370200200b41106a200a41106a280200360200200b41086a200a41086a290200370200200a41146a210a200941016a2109200d416c6a210d200121120c010b0b20002002200941146c220f10f497808000210a0240024020012009460d00200120096b220b4101712110200a200f6a21004100210d02402001200941016a460d00200b417e71210c200820146a210f4100210d2000210a0340200a200f290200370200200a41106a200f41106a280200360200200a41086a200f41086a290200370200200a41146a2015200d41feffffff037341146c6a220e290200370200200a411c6a200e41086a290200370200200a41246a200e41106a280200360200200f41586a210f200a41286a210a200c200d41026a220d470d000b0b02402010450d002000200d41146c6a220a2015200d417f7341146c6a220f290200370200200a41106a200f41106a280200360200200a41086a200f41086a2902003702000b200120094f0d01200920014188e8c28000109281808000000b200a200141146c6a410020022003200610b7828080000c050b41002105200b2101200b41214f0d030c020b000b201620156a20102002200320042007200610c082808000200b2101200b41214f0d010b0b2000200b20022003200610b7828080000b200741306a2480808080000b890f01117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610b6828080000c010b200241746a21080340024020040d002000200120022003410120061089828080000c020b20002001410376220941d4006c6a210a2000200941306c6a210b02400240200141c000490d002000200b200a200910b282808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2802003602002007200c290200370308200c20006b410c6e210f024002400240024002402005450d002005280200200c2802004f0d010b20032001490d014100210b2000210920022001410c6c22106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b410c6c6a22134f0d0003402002200a41746a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a2009410c6a220e280200200c2802004922141b200b200d6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200941186a220d280200200c28020049220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200941246a220d280200200c2802004922141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210b200941306a22092013490d000b0b0240200920002012410c6c6a22144f0d0003402002200a41746a220a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a280200360200200b200d6a210b2009410c6a22092014490d000b0b024020122001460d00200a41746a220a200b410c6c6a220d2009290200370200200d41086a200941086a2802003602002009410c6a2109200121120c010b0b20002002200b410c6c221210f49780800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2011200d41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200d41026a220d470d000b0b2016450d002017200d410c6c6a22092011200d417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b200b450d002001200b4f0d02200741003602282007410136021c200741f0e7c2800036021820074204370220200741186a41f8e7c2800010fe80808000000b20032001490d004100210d2000210920022001410c6c22116a2212210a03400240200920004100200f417d6a220b200b200f4b1b410c6c6a22134f0d0003402002200a41746a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a200c2802002009410c6a220e2802004f22141b200d200b6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200c280200200941186a220d2802004f220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200c280200200941246a220d2802004f22141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210d200941306a22092013490d000b0b024020092000200f410c6c6a22144f0d0003402002200a41746a220a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a280200360200200d200b6a210d2009410c6a22092014490d000b0b0240200f2001460d002002200d410c6c6a220b2009290200370200200b41086a200941086a2802003602002009410c6a2109200d41016a210d200a41746a210a2001210f0c010b0b20002002200d410c6c220a10f4978080002109024002402001200d460d002001200d6b220b41017121132009200a6a21004100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2000210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2012200c41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200c41026a220c470d000b0b02402013450d002000200c410c6c6a22092012200c417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b2001200d4f0d01200d20014188e8c28000109281808000000b20092001410c6c6a410020022003200610b6828080000c050b41002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610c182808000200b2101200b41214f0d010b0b2000200b20022003200610b6828080000b200741306a2480808080000bbe0101077f41002103024002402001410f712204410f470d00410121032002280208220541016a200228020422064b0d0020022802002107410f2108200521010340200120064f0d022002200141016a3602080240200720016a2d0000220941ff01470d00200841ff016a210841012103200141026a2109200141016a2101200920064d0d010c020b0b200920086a2104410021030b20002004360204200020033602000f0b20052006200520064b1b20064180cccd8000108281808000000b840701097f23808080800041106b220224808080800002400240024002400240024002402001280208220341016a2204200128020422054b22060d0020032005490d01200320054180cccd8000108281808000000b200041053a00000c010b20012004360208024002400240024002400240024002400240024002402001280200220720036a2d00002208450d0020084106764102730e0403020a01030b200041003a00000c0a0b2008413f712208413f470d030240200341026a20054b0d00413f2108200421030340200320054f0d0c2001200341016a2209360208200720036a2d0000220a41ff01470d04200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c090b2008413f712208413f470d040240200341026a20054b0d00413f2108200421030340200320054f0d0c2001200341016a2209360208200720036a2d0000220a41ff01470d05200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c080b2008413f712208413f470d050240200341026a20054b0d00413f2108200421030340200320054f0d0c2001200341016a2209360208200720036a2d0000220a41ff01470d06200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c070b200a20086a21080b20002008360204200041023a00000c050b200a20086a21080b2000200836020420004181023b01000c030b200a20086a21080b20002008360204200041013b01000c010b0240024002400240200841e001714120460d00200841f001714110460d01200041053a00000c040b2008411f712208411f470d020240200341026a20054b0d00411f2108200421030340200320054f0d092001200341016a2209360208200720036a2d0000220a41ff01470d03200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c030b200241086a2008200110c28280800002402002280208410171450d00200041053a00000c030b200228020c2101200041033a0000200020013602040c020b200a20086a21080b20002008360204200041043a00000b200241106a2480808080000f0b2004200520061b20054180cccd8000108281808000000b2004200520061b20054180cccd8000108281808000000b2004200520061b20054180cccd8000108281808000000b2004200520061b20054180cccd8000108281808000000b850603057f017e017f23808080800041d0006b2201248080808000200141286a4198e8c28000410810c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241c480808000360238200242d6e8a8f093e8c4c621370330200242bd8ad681c9f684cc6737032820024101360224200241a1e8c28000360220200241c580808000360218200242cdd1c1cbe3b5a3c444370310200242b9e0ddc2f1d2dbbf4c37030820024101360204200241a0e8c280003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a28020036020020012002290200370300200128021021042001280214210320012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242e6f88efbb4bfaab03b3703002002410036023020024280808080c0003703282002410036022020024100360218200241c68080800036021020024293b7eef0c7c58193a97f3703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002007418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000bee0a04077f017e017f017e23808080800041d0006b2201248080808000200141286a41b1e8c28000410641b7e8c28000411b4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024104360224200241d8e8c28000360220200241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc1337030820024106360204200241d2e8c280003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421052001280218210620012802282107200129022c2108200141106a41086a22094100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c0006a41086a220341013602002002420437022c2002420c370224200241a2d6c280003602202002410b36021c200241aed6c28000360218200241bc80808000360210200120012902103703400240200328020022032001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200341386c6a2202420437022c20024206370224200241ced6c280003602202002410636021c200241c8d6c28000360218200241c7808080003602102002428f9096e9a7fcdea318370308200242a1b7c9b2e6acc3d92a3703002009200341016a220336020020012001290340220a37031002402003200aa7470d00200141106a41d8d5c2800010b5928080000b2001280214200341386c6a2202420437022c2002420c370224200241a2d6c280003602202002410a36021c20024198d6c28000360218200241bc80808000360210200242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c0006a41086a200341016a220336020020012001290310220a37034002402003200aa7470d00200141c0006a41d8d5c2800010b5928080000b2001280244200341386c6a2202420437022c2002420c370224200241a2d6c280003602202002410f36021c200241b9d6c28000360218200241bc80808000360210200242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141106a41086a200341016a220236020020012001290340220a37031002402002200aa7470d00200141106a41d8d5c2800010b5928080000b2001280214200241386c22036a2202420437022c2002420637022420024192d6c280003602202002410636021c2002418cd6c28000360218200241c8808080003602102002428d8cb3f8c0c2e5ae72370308200242e2cda9ec8fb5f7cd103703002001280214210220012001280210360248200120023602402001200220036a41386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002007418080808078460d012001200436021820012005360210200120053602142001200520064105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200837023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000b880703067f017e017f23808080800041d0006b2201248080808000200141106a41186a4191e9c28000411641eee8c2800041184104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc133703082002410b36020420024186e9c280003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a220841013602002002420437022c2002420b370224200241b1d7c280003602202002410736021c200241aad7c28000360218200241bb80808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200241386c22086a2202420437022c2002420f370224200241d6d7c280003602202002410336021c200241d3d7c28000360218200241c98080800036021020024296e397c6bfa5aeee46370308200242aceff0b4f2bd8f8fe4003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000be50503067f017e027f23808080800041d0006b2201248080808000200141286a41a2e8c28000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bf80808000360218200242e2fdfabeb18d8d864a370310200242bca38dd6aec8d4ff0437030820024101360204200241a8e8c280003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a41b8d4c2800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241a9e8c28000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41ade8c280004104108d828080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a41c8d5c2800010f0818080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000bb50601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802b80121022004417f6a22040d000b0b20034108490d00034020022802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012102200541786a22050d000b0b034020022002417e6a2f00006b210520022802002102200541002802ec82d480001181808080000020020d000b0b20004180808080783602040f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802b80121022004417f6a22040d000b0b20034108490d00034020022802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082103024002400240200128020c2204200128020422022f01b6014f0d00200221050c010b034020022802002205450d0220022f01b401210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01b6014f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41bc016a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802b80121022003417f6a22030d000b0b20084107490d00034020022802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012102200741786a22070d000b0b2001200636020c2001410036020820012002360204200020052004410c6c6a22022902303702042000200520044102746a2802043602002000410c6a200241386a2802003602000f0b20022002417e6a2f00006b41002802ec82d480001181808080000041a4c4c2800010a081808000000b41aceac2800010a081808000000b860403047f017e047f23808080800041306b2202248080808000200128020c2103410021042001410036020c02402003450d002001410c6a21052001290210210603402006a721070240024020064220882206200333018a015a0d002006a721080c010b20032109034020092802582203450d03200741016a210720092f018801210820032109200820032f018a014f0d000b0b0240200320084103746a2209280200200941046a28020072450d000240024020070d00200841016a21080c010b200320084102746a4190016a2802002103410021082007417f6a2209450d002007417e6a210a024020094107712207450d0003402009417f6a2109200328028c0121032007417f6a22070d000b0b200a4107490d000340200328028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012103200941786a22090d000b0b200120083602142001420037020c200129021021060c010b0b200128020422092009280200417f6a360200200220083602282002200736022420022003360220200241086a200241206a200141086a2002412f6a10ce818080002000410c6a200241086a41086a28020036020020002002290208370204200241206a41086a2002411c6a2802002203360200200220022902142206370320200541086a200336020020052006370200410121040b20002004360200200241306a2480808080000b8e0401077f23808080800041306b2203248080808000200220016b2204413c6e210502400240024002400240024020022001460d0041002d008083d480001a2005410c6c220641002802f482d48000118280808000002202450d032002200241036a417c71220720026b22066a417e6a20063b00002007210220052106034020022001280200360200200241086a4100200141046a2802002208200141106a2802006b2209200920084b1b360200200241046a4100200141086a2802002208200141146a2802006b2209200920084b1b3602002001413c6a21012002410c6a21022006417f6a22060d000b20032003412f6a36020c2004413c460d02200441ec09490d01200720052003410c6a1088828080000c020b20004100360208200041003602000c040b2007200541012003410c6a10b4828080000b41002d008083d480001a418c0141002802f482d48000118280808000002201450d012001200141036a417c7120016b22026a220141003b018a01200141003602582001417e6a20023b0000200320013602002003410036020420034100360208200320073602202003200736021c2003410236020c20032005360224200320072005410c6c6a36022820032003410c6a200341086a10cc8180800020002003280208360208200020032902003702000c020b4104200610ab80808000000b4104418c0110ab80808000000b200341306a2480808080000b880703067f017e017f23808080800041d0006b2201248080808000200141106a41186a41dce8c28000411241eee8c2800041184104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc133703082002410b36020420024186e9c280003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a220841013602002002420437022c2002420b370224200241b1d7c280003602202002410736021c200241aad7c28000360218200241bb80808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200241386c22086a2202420437022c20024213370224200241c0d7c280003602202002410436021c200241bcd7c28000360218200241c98080800036021020024296e397c6bfa5aeee46370308200242aceff0b4f2bd8f8fe4003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000ba40303027f017e017f23808080800041306b2201248080808000024002400240024020002802000d002000280204200028020c4103746a21000c010b200141106a200041106a2202280200360200200141086a200041086a290200220337030020012000290200370300024002402003a7450d00200141206a41086a200228020036020020012000290208370320200141146a200141206a2001280204410041002001200141146a10c781808000200128021c210420012802142100200128020021020c010b41002d008083d480001a20012802002102418c0141002802f482d48000118280808000002200450d022000200041036a417c7120006b22046a220041003b018a01200041003602582000417e6a20043b0000200241003602042002200036020020002f018a012204410b4f0d032000200441016a3b018a01200020044102746a200128020436025c200020044103746a42003702000b2002200228020841016a360208200020044103746a21000b200141306a24808080800020000f0b4104418c0110ab80808000000b41d8bbc28000412041f8bbc28000108081808000000bbf0703067f017e0a7f23808080800041206b22032480808080000240024002400240024002400240024002400240024020020d004100210441002d008083d480001a418c0141002802f482d48000118280808000002202450d062002200241036a417c7120026b22056a220641003b018a01200641003602582006417e6a20053b0000024020012f018a01450d00200641dc006a2107200141dc006a21054100210420012108034020062f018a012202410b4f0d03200829020021092005280200210a2006200241016a3b018a01200720024102746a200a360200200620024103746a2009370200200541046a2105200841086a2108200441016a220420012f018a01490d000b0b2000200436020820004100360204200020063602000c0a0b200341086a200128028c012002417f6a220b10cd8280800020032802082202450d0841002d008083d480001a200328020c210c41bc0141002802f482d48000118280808000002206450d012006200641036a417c7120066b22056a2206200236028c01200641003b018a01200641003602582006417e6a20053b0000200241003b018801200220063602582003200c41016a36020c2003200636020820012f018a01450d072006418c016a210d200641dc006a210e200141dc006a210520032802102107200121084100210f0340200841046a28020021102008280200211120052802002112200341146a200541346a280200200b10cd82808000200328021c21130240024020032802142202450d00200328021821040c010b41002d008083d480001a418c0141002802f482d48000118280808000002202450d04410021042002200241036a417c7120026b220a6a220241003b018a01200241003602582002417e6a200a3b00000b2004200c470d0420062f018a012204410b4f0d052006200441016a220a3b018a01200e20044102746a2012360200200620044103746a2204201036020420042011360200200d200a4102746a20023602002002200a3b01880120022006360258200541046a2105200841086a2108201320076a41016a2107200f41016a220f20012f018a014f0d070c000b0b41d8bbc28000412041f8bbc28000108081808000000b410441bc0110ab80808000000b4104418c0110ab80808000000b4188bcc28000413041b8bcc28000108081808000000b41d8bbc28000412041c8bcc28000108081808000000b4104418c0110ab80808000000b200320073602100b20002003290208370200200041086a200341086a41086a2802003602000c010b41bcebc2800010a081808000000b200341206a2480808080000bd10501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a2100200128028c0121012005417f6a22050d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200041786a22000d000b0b20012100410021020b024002400240200220002f018a014f0d0020022105200021010c010b034020002802002201450d0220002f018801210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f018a014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4190016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a2106200028028c0121002004417f6a22040d000b0b20074107490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200641786a22060d000b0b024020012005410c6c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d480001181808080000041a4c4c2800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a2104200028028c0121002005417f6a22050d000b0b20024108490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b034020002000417e6a2f00006b210120002802002100200141002802ec82d480001181808080000020000d000b0b0b970501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a2100200128028c0121012004417f6a22040d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200041786a22000d000b0b20012104410021020b024002400240200220042f018a014f0d00200421000c010b034020042802582200450d0220042f018801210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f018a014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a4190016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a2104200028028c0121002005417f6a22050d000b0b20014107490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d480001181808080000041a4c4c2800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a2104200028028c0121002005417f6a22050d000b0b20024108490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b034020002000417e6a2f00006b210420002802582100200441002802ec82d480001181808080000020000d000b0b0ba10801077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802b80121012003417f6a22030d000b0b20024108490d00034020012802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f01b6014f0d00200121040c010b034020012802002204450d0220012f01b401210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f01b6014f0d000b0b0240024020030d00200241016a2105200421010c010b200420024102746a41bc016a2802002101410021052003417f6a2206450d002003417e6a2107024020064107712203450d0003402006417f6a210620012802b80121012003417f6a22030d000b0b20074107490d00034020012802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012101200641786a22060d000b0b2000200536020c200041003602082000200136020420042002410c6c6a220141306a2106024020012802382203450d00200128023421052003410171210741002104024020034101460d002003417e7121024100210420052101034002402001280200450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012002200441026a2204470d000b0b2007450d00200520044104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402006280200450d00200628020422012001417e6a2f00006b41002802ec82d48000118180808000000b200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d480001181808080000041a4c4c2800010a081808000000b41aceac2800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802b80121012003417f6a22030d000b0b20024108490d00034020012802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012101200441786a22040d000b0b034020012001417e6a2f00006b210420012802002101200441002802ec82d480001181808080000020010d000b0b0b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a419cedc280002005410c6a419cedc2800020032004108481808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41acedc280002005410c6a41bcedc2800020032004108481808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41ccedc280002005410c6a41ccedc2800020032004108481808000000b8d1807087f017e057f037e027f057e077f23808080800041206b2205248080808000024002400240024002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c220a20074108491b220b4101764b0d01410021022001280200210b0240200920084107714100476a2209450d002009410171210c024020094101460d00200941feffffff03712104410021020340200b20026a22092009290300220d427f85420788428182848890a0c0800183200d42fffefdfbf7efdfbfff00847c370300200941086a22092009290300220d427f85420788428182848890a0c0800183200d42fffefdfbf7efdfbfff00847c370300200241106a21022004417e6a22040d000b0b200c450d00200b20026a22022002290300220d427f85420788428182848890a0c0800183200d42fffefdfbf7efdfbfff00847c3703000b20084108490d02200b20086a200b2900003700000c030b20040d040c050b02400240024002400240200b41016a22092002200920024b1b2202410f490d00200241ffffffff014b0d02417f200241037441076e417f6a677641016a21090c010b41044108411020024108491b20024104491b21090b024002402009ad42307e220d422088a70d00200da7220b200941086a220c6a2202200b490d00200241f8ffffff074b0d0041002d008083d480001a200241002802f482d4800011828080800000220a450d01200a200a41076a417871200a6b22026a2204417e6a20023b00002004200b6a41ff01200c10fa97808000210a2009417f6a220c200941037641076c200c4108491b210e20060d032001280200210f0c040b2004450d08200541003602182005410136020c200541f8edc2800036020820054204370210200541086a41e4eec2800010fe80808000000b410821092004450d094108200210ab80808000000b2004450d06200541003602182005410136020c200541f8edc2800036020820054204370210200541086a41e4eec2800010fe80808000000b200a41506a2110200a41086a21112001280200220f41506a2112200329030022134230892114200f290300427f8542808182848890a0c0807f832115200328020821164100210b20062117200f21040340024020154200520d000340200b41086a210b200441086a220429030042808182848890a0c0807f83220d42808182848890a0c0807f510d000b200d42808182848890a0c0807f8521150b20157aa7410376200b6a2103410029039083d48000210d2013211802402016450d002016290008200d85221842208822192016290000201485221a422088221b7e201842ffffffff0f832218201a42ffffffff0f83221a7e852018201b7e2019201a7e854220898521180b0240200a200c200f410020036b41306c6a220241586a29000020184220892218200d7c85220d4220882219200241686a290000410029038883d48000221a85221b422088221c7e200d42ffffffff0f83220d201b42ffffffff0f83221b7e852019201b7e200d201c7e8542208985200241506a290000201885220d42ffffffff0f832218200241606a290000201a85221942ffffffff0f83221a7e85200d422088220d201942208822197e85200d201a7e201820197e8542208985220d42208822184288d5fda1027e200d42ffffffff0f83220d42d3918cad087e85201842d3918cad087e200d4288d5fda1027e8542208885a7221d7122096a29000042808182848890a0c0807f83220d4200520d00410821020340200920026a2109200241086a2102200a2009200c7122096a29000042808182848890a0c0807f83220d500d000b0b2015427f7c21180240200a200d7aa741037620096a200c7122026a2c0000417f4c0d00200a29030042808182848890a0c0807f837aa741037621020b20182015832115200a20026a201d41197622093a00002011200241786a200c716a20093a00002010200241506c6a220241286a2012200341506c6a220941286a290000370000200241206a200941206a290000370000200241186a200941186a290000370000200241106a200941106a290000370000200241086a200941086a290000370000200220092900003700002017417f6a22170d000b0b2001200c3602042001200a3602002001200e20066b36020841818080807821092007450d052007200741306c41376a41707122026a4177460d05200f20026b22022002417e6a2f00006b41002802ec82d48000118180808000000c050b200b41086a200b200810f9978080001a2008450d010b2003290300221c42308921132003280208210c410121024100211e0340201e211f2002211e0240200b201f6a2d0000418001470d00200b201f41506c6a2202417c6a2117200241786a211d200241746a210f200241706a21072002416c6a2106200241686a2110200241646a2111200241606a21122002415c6a210e200241586a2120200241546a2121200241506a21034100201f6b41306c212202400340200b20226a220241506a2109410029039083d480002115410029038883d48000210d201c21180240200c450d00200c29000820158522184220882219200c290000201385221a422088221b7e201842ffffffff0f832218201a42ffffffff0f83221a7e852018201b7e2019201a7e854220898521180b20012802042204200241586a2900002018422089221820157c8522154220882219200241686a290000200d85221a422088221b7e201542ffffffff0f832215201a42ffffffff0f83221a7e852019201a7e2015201b7e85422089852009290000201885221542ffffffff0f832218200241606a290000200d85220d42ffffffff0f8322197e8520154220882215200d422088220d7e85201520197e2018200d7e8542208985220d42208822154288d5fda1027e200d42ffffffff0f83220d42d3918cad087e85201542d3918cad087e200d4288d5fda1027e8542208885a7221671220a21090240200b200a6a29000042808182848890a0c0807f83220d4200520d0041082102200a21090340200920026a2109200241086a2102200b200920047122096a29000042808182848890a0c0807f83220d500d000b0b0240200b200d7aa741037620096a20047122026a2c0000417f4c0d00200b29030042808182848890a0c0807f837aa741037621020b02402002200a6b201f200a6b732004714108490d00200b20026a22092d0000210a2009201641197622163a000020012802002223200241786a2004716a41086a20163a0000200b200241506c6a220241506a2109200a41ff01460d022003280000210b200320092800003600002009200b360000202128000021092021200241546a220b280000360000200b2009360000202028000021092020200241586a220b280000360000200b2009360000200e2800002109200e2002415c6a220b280000360000200b2009360000201228000021092012200241606a220b280000360000200b2009360000201128000021092011200241646a220b280000360000200b2009360000201028000021092010200241686a220b280000360000200b20093600002006280000210920062002416c6a220b280000360000200b2009360000200728000021092007200241706a220b280000360000200b2009360000200f2800002109200f200241746a220b280000360000200b2009360000201d2800002109201d200241786a220b280000360000200b20093600002017280000210920172002417c6a2202280000360000200220093600002001280200210b0c010b0b200b201f6a201641197622023a00002001280200220b2004201f41786a716a41086a20023a00000c010b2023201f6a41ff013a000020232001280204201f41786a716a41086a41ff013a0000200941286a200341286a290000370000200941206a200341206a290000370000200941186a200341186a290000370000200941106a200341106a290000370000200941086a200341086a290000370000200920032900003700002023210b0b201e201e20084922096a210220090d000b20012802042202200241016a41037641076c20024108491b210a200128020c21060b2001200a20066b36020841818080807821090c020b200541003602182005410136020c200541f8edc2800036020820054204370210200541086a41e4eec2800010fe80808000000b410021090b0b2000200236020420002009360200200541206a2480808080000be60101017f23808080800041106b220424808080800002400240024002402002200141206a412010f597808000450d00200441046a200141c0006a20022003108e828080002004280204418180808078470d0120004180808080783602000c020b41002d008083d480001a410141002802f482d48000118280808000002201450d02200141003a00002000410136020820002001360204200041013602002001417e6a41003b00000c010b20002004290204370200200041086a200441046a41086a2802003602000b200441106a2480808080000f0b4101410141bcf2c2800010b980808000000bfc0101017f23808080800041106b22032480808080000240024002400240024002402001200041206a412010f597808000450d00200341046a200041c0006a20012002108e8280800020032802042200418180808078470d01410021000c040b4100210141002d008083d480001a410141002802f482d48000118280808000002200450d04200041003a00002000417e6a41003b00000c010b02402000418080808078470d00410021000c030b2000450d0120032802082200417e6a2f000021010b200020016b41002802ec82d48000118180808000000b410121000b200341106a24808080800020000f0b4101410141bcf2c2800010b980808000000bee0503067f017e017f23808080800041d0006b2201248080808000200141286a4184f0c28000410a418ef0c2800041204104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024101360224200241aff0c28000360220200241b480808000360218200242dbd791d5c2919eaecd00370310200242e6ed8d82cc91adcb0537030820024101360204200241aef0c280003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242aceff0b4f2bd8f8fe4003703002002420437022c20024206370224200241d4d6c2800036022020024100360218200241c98080800036021020024296e397c6bfa5aeee463703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000bf30904077f017e017f017e23808080800041d0006b2201248080808000200141286a41b0f0c28000411741c7f0c2800041174104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bb80808000360238200242d7c9cb8fc1cf97db3e370330200242e88488d0c0e3aebc1337032820024101360224200241dff0c28000360220200241bc80808000360218200242ec8ca7e0e2f0c7e6bf7f370310200242e6e2dea393f0baf43a37030820024101360204200241def0c280003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421052001280218210620012802282107200129022c2108200141106a41086a22094100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242cdcabc9d9cf3be8d0337030820024289ece2a6cba888f82b370300200141c0006a41086a220341013602002002420437022c20024208370224200241a2d7c280003602202002410b36021c20024197d7c28000360218200241ce80808000360210200120012902103703400240200328020022032001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200341386c6a2202420437022c20024201370224200241edd6c280003602202002411336021c200241dad6c28000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002009200341016a220336020020012001290340220a37031002402003200aa7470d00200141106a41d8d5c2800010b5928080000b2001280214200341386c6a2202420437022c2002420137022420024187d7c280003602202002411936021c200241eed6c28000360218200241bc80808000360210200242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c8006a200341016a220236020020012001290310220a37034002402002200aa7470d00200141c0006a41d8d5c2800010b5928080000b2001280244200241386c22036a2202420437022c2002420337022420024194d7c280003602202002410c36021c20024188d7c28000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002001280244210220012001280240360248200120023602402001200220036a41386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002007418080808078460d012001200436021820012005360210200120053602142001200520064105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200837023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000bf303010d7f410121020240200128020422034104490d0020012003417c6a220436020420012001280200220541046a36020020044104490d00200528000021062001200341786a22043602042001200541086a36020020044104490d00200528000421072001200341746a220436020420012005410c6a36020020044104490d00200528000821082001200341706a22043602042001200541106a36020020044104490d00200528000c210920012003416c6a22043602042001200541146a36020020044104490d002005280010210a2001200341686a22043602042001200541186a36020020044104490d002005280014210b2001200341646a220436020420012005411c6a36020020044104490d002005280018210c2001200341606a22043602042001200541206a36020020044104490d00200528001c210d20012003415c6a22043602042001200541246a36020020044104490d002005280020210e2001200341586a22043602042001200541286a36020020044104490d00200528002421022000200e36022c2000200d3602282000200c3602242000200b3602202000200a36021c2000200936021820002008360214200020073602102000200636020c200020023602042001200341546a36020420012005412c6a36020020002005280028360208410021020b200020023602000bc80701067f2380808080004180056b22022480808080000240024002400240024020012802004101470d00200241086a20012802042001280208108c8280800020022802084107470d01200241e0016a41186a22034200370300200241e0016a41206a22044200370300200241e0016a41286a22054200370300200241e0016a41086a2206200241146a2902003703002002200229020c3703e001200242003703f00141002d008083d480001a413041002802f482d48000118280808000002201450d022001200141036a417c7120016b22076a220120022903e0013702002001417e6a20073b0000200141086a2006290300370200200141106a200241e0016a41106a290300370200200141186a2003290300370200200141206a2004290300370200200141286a2005290300370200200041023a0000200020013602040c040b200128020421030240200128020822044120470d00200041003a0000200020032f00003b00012000200329000737000820002003280003360204200041036a200341026a2d00003a0000200041106a2003410f6a290000370000200041186a200341176a290000370000200041206a2003411f6a2d00003a00000c040b4100210102400240024020044100480d00024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441bcf2c2800010b980808000000b2001417e6a41003b00000b20012003200410f497808000210341002d008083d480001a413041002802f482d48000118280808000002201450d02200041023a00002001200141036a417c7120016b22056a220142003702102001200436020c20012003360208200120043602042001418880808078360200200020013602042001417e6a20053b0000200141186a4200370200200141206a4200370200200141286a42003702000c030b200241e0016a200241086a41d80110f4978080001a200241b8036a200241e0016a10db8280800020022802bc032103024020022802b80322044108470d00200041023a0000200020033602040c030b200241a0046a200241b8036a41086a41e00010f4978080001a41002d008083d480001a024041e80041002802f482d48000118280808000002201450d002001200141036a417c7120016b22056a22012003360204200120043602002001417e6a20053b0000200141086a200241a0046a41e00010f4978080001a20002001360204200041013a00000c030b410441e80010ab80808000000b4104413010ab80808000000b4104413010ab80808000000b20024180056a2480808080000b891d02077f017e2380808080004180026b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802002203417d6a2204410420044104491b0e050300040102030b200241f8006a200141106a10ee978080000240024020012802044101470d00200128020c22044120470d0c200241246a2001280208220141086a2900003702002002412c6a200141106a290000370200200241346a200141186a290000370200200241003602182002200129000037021c0c010b200128020c2204417f4c0d0c200441f5ffffff074f0d0d2001280208210341002d008083d480001a2004410b6a41fcffffff0771220541002802f482d48000118280808000002201450d0e2001200141036a417c7120016b22056a22014281808080103702002001417e6a20053b0000200141086a2003200410f4978080001a200241186a41086a2003200441002802c480d48000118680808000002002200436021c200220013602180b200020022902783702042000412c6a200241a0016a290200370200200041246a200241f8006a41206a2902003702002000411c6a200241f8006a41186a290200370200200041146a200241f8006a41106a2902003702002000410c6a200241f8006a41086a29020037020020004103360200200020022902183702342000413c6a200241186a41086a290200370200200041c4006a200241186a41106a290200370200200041cc006a200241186a41186a290200370200200041d4006a200241186a41206a2902003702000c150b200141c4016a2105200141046a2106024020012802b8014102460d0041102103410f21040c050b024020012802ac014102460d00410f2103410e21040c050b024020012802a0014102460d00410e2103410d21040c050b02402001280294014102460d00410d2103410c21040c050b02402001280288014102460d00410c2103410b21040c050b0240200128027c4102460d00410b2103410a21040c050b024020012802704102460d00410a2103410921040c050b024020012802644102460d0041092103410821040c050b024020012802584102460d0041082103410721040c050b0240200128024c4102460d0041072103410621040c050b024020012802404102460d0041062103410521040c050b024020012802344102460d0041052103410421040c050b41022104024020012802284102460d0041042103410321040c050b0240200128021c4102460d00410321030c050b41022103024020012802104102460d00410121040c050b410421074100210420062802004102470d03410021060c050b024020012802b4014102460d0041102105410f21040c070b024020012802a8014102460d00410f2105410e21040c070b0240200128029c014102460d00410e2105410d21040c070b02402001280290014102460d00410d2105410c21040c070b02402001280284014102460d00410c2105410b21040c070b024020012802784102460d00410b2105410a21040c070b0240200128026c4102460d00410a2105410921040c070b024020012802604102460d0041092105410821040c070b024020012802544102460d0041082105410721040c070b024020012802484102460d0041072105410621040c070b0240200128023c4102460d0041062105410521040c070b024020012802304102460d0041052105410421040c070b41022104024020012802244102460d0041042105410321040c070b024020012802184102460d00410321050c070b410221050240200128020c4102460d00410121040c070b410421054100210420034102470d05410021060c070b200041023602000c120b200241f8006a200141106a10ee97808000200241c0006a200141046a10da8280800020022d004022014102460d10200020022f00413b00052000200229024837020c200041076a20022d00433a0000200041146a200241c0006a41106a2902003702002000411c6a200241c0006a41186a290200370200200041246a200241c0006a41206a28020036020020022802442104200041d0006a200241a0016a290200370200200041c8006a200241f8006a41206a290200370200200041c0006a200241f8006a41186a290200370200200041386a200241f8006a41106a290200370200200041306a20024180016a2902003702002000200229027837022820002004360208200020013a0004200041043602000c110b410121030b2002200436026441002d008083d480001a200341246c220741002802f482d48000118280808000002204450d082004200441036a417c71220720046b22086a417e6a20083b000020024100360274200220073602702002200336026c200241003602f8012002410036024820022005360244200220063602402002200241f8016a3602542002200241ec006a3602502002200241e4006a36024c0240200241c0006a200241ff016a200241f8016a10ad8280800041fd01714101470d00200241f8006a41106a200241c0006a41106a290200370300200241f8006a41086a200241c0006a41086a29020037030020022002290240370378200241f8006a200241ff016a200228028c0110ad8280800041fd01714101470d00417f210403402004417f6a2204450d0b200241f8006a200241ff016a200228028c0110ad8280800041fd01710d000b0b024020022802f8012204450d002000410836020020002004360204024020022802742201450d002002280270210003400240024020002d00000e03010001000b200041046a280200220410f38180800020042004417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002001417f6a22010d000b0b200228026c450d10200228027022002000417e6a2f00006b41002802ec82d48000118180808000000c100b2002280274210420022802702107200228026c21060b410021030240200528020022054102460d004101210302402005410171450d0020012802cc0122054120470d0b200241b4016a20012802c801220141086a290000370200200241bc016a200141106a290000370200200241c4016a200141186a290000370200200241003602a801200220012900003702ac010c010b200241086a20012802c801220520012802cc01220110e39780800020022903082109200241b0016a2005200141002802c480d4800011868080800000200220093702a8010b2000200336020420004105360200200020022902a801370208200020043602382000200736023420002006360230200041106a200241b0016a290200370200200041186a200241a8016a41106a290200370200200041206a200241a8016a41186a290200370200200041286a200241a8016a41206a2902003702000c0e0b410121050b2002200436026841002d008083d480001a200541246c220341002802f482d48000118280808000002204450d082004200441036a417c71220320046b22066a417e6a20063b000020024100360274200220033602702002200536026c200241003602f801200241003602482002200141c0016a360244200220013602402002200241f8016a3602542002200241ec006a3602502002200241e8006a36024c0240200241c0006a200241ff016a200241f8016a10ab8280800041fd01714101470d00200241f8006a41106a200241c0006a41106a290200370300200241f8006a41086a200241c0006a41086a29020037030020022002290240370378200241f8006a200241ff016a200228028c0110ab8280800041fd01714101470d00417f210403402004417f6a2204450d0b200241f8006a200241ff016a200228028c0110ab8280800041fd01710d000b0b024020022802f8012204450d002000410836020020002004360204024020022802742201450d002002280270210003400240024020002d00000e03010001000b200041046a280200220410f38180800020042004417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002001417f6a22010d000b0b200228026c450d0d200228027022002000417e6a2f00006b41002802ec82d48000118180808000000c0d0b2002280274210620022802702105200228026c21040b200241f8006a200141cc016a10ee9780800041002103024020012802c00122074102460d004101210302402007410171450d0020012802c80122074120470d0b200241dc016a20012802c401220141086a290000370200200241e4016a200141106a290000370200200241ec016a200141186a290000370200200241003602d001200220012900003702d4010c010b200241106a20012802c401220720012802c801220110e39780800020022903102109200241d8016a2007200141002802c480d4800011868080800000200220093702d0010b20002002290278370238200041e0006a200241a0016a290200370200200041d8006a200241f8006a41206a290200370200200041d0006a200241f8006a41186a290200370200200041c8006a200241f8006a41106a290200370200200041c0006a200241f8006a41086a29020037020020002003360200200020022902d0013702042000410c6a200241d0016a41086a290200370200200041146a200241d0016a41106a2902003702002000411c6a200241d0016a41186a290200370200200041246a200241d0016a41206a29020037020020002006360234200020053602302000200436022c0c0b0b4120200441bcf1c28000108681808000000b41f8e9cd8000412b200241ff016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ff016a418c80c0800041b482c0800010a981808000000b4104200510ab80808000000b4104200710ab80808000000b41fcf6c2800010b780808000000b4120200541bcf1c28000108681808000000b4104200310ab80808000000b41fcf6c2800010b780808000000b4120200741bcf1c28000108681808000000b20022802442101200041083602002000200136020420022802a0014129490d00200228027822002000417e6a2f00006b41002802ec82d48000118180808000000b20024180026a2480808080000ba00401047f23808080800041c0016b2202248080808000200241086a41d4006a200141e0006a280200360200200241086a413c6a200141c8006a280200360200200241086a41c8006a200141d4006a280200360200200241086a41086a200141086a290200370300200241086a41106a200141106a290200370300200241086a41186a200141186a290200370300200241086a41206a200141206a290200370300200241086a41286a200141286a290200370300200241086a41306a200141306a280200360200200220012902583702542002200129024037023c2002200129024c3703482002200129020037030820012802682103200128026c210420012802642105200241003602a401200241003602900120022004410020051b36028c0120022003360288012002200536028401200241003602800120022005410047220436027c2002200336027820022005360274200241003602702002200436026c200241e0006a200241ec006a41f4efc2800010ed8180800020022802682105200228026421032002200241bf016a3602b801024020054102490d00024020054115490d0020032005200241b8016a108a828080000c010b200320054101200241b8016a10b5828080000b2000200241086a41d80010f497808000220541e0006a2001413c6a2802003602002005200129023437025820052002290260370264200541ec006a200241e0006a41086a280200360200200241c0016a2480808080000bf60503057f017e027f23808080800041d0006b2201248080808000200141286a41ccf2c28000411041dcf2c2800041334104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141c0006a41086a220841013602002007420437022c2007420b370224200741b1d7c280003602202007410736021c200741aad7c28000360218200741bb80808000360210200120012902103703400240200828020022072001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200741386c22086a2207420437022c2007420337022420074194d7c280003602202007410b36021c2007418adac28000360218200741bb80808000360210200742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc133703002001280244210720012001280240360248200120073602402001200720086a41386a36024c20012007360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef81808000200141106a410b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b880703067f017e017f23808080800041d0006b2201248080808000200141286a418ff3c28000412141dcf2c2800041334104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241b58080800036021820024298bba9be9de4aafe9d7f370310200242d69fe9f4d2dbfcf06737030820024107360204200241b0f3c280003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220242f0a5a9bebbb2e0d57a370308200242f4d6f0d0a6c28ba9917f370300200141c0006a41086a220841013602002002420437022c2002420c370224200241a2dac280003602202002410d36021c20024195dac28000360218200241cf80808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200241386c22086a2202420437022c2002421f370224200241bddac280003602202002410f36021c200241aedac28000360218200241d080808000360210200242acdbfe9bdb95b3fb857f37030820024289898785e4ea8494f2003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000b880703067f017e017f23808080800041d0006b2201248080808000200141286a418ff3c28000412141dcf2c2800041334104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241b080808000360218200242a8b2b4aef4dcada3bc7f370310200242a481aa97ccf184c9d70037030820024107360204200241b0f3c280003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a41c8d5c2800010ef81808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b59280800020012802142202429a8cd6b2a3b99b8d8a7f370308200242bfc3dae4c6b1f2c2e900370300200141c0006a41086a220841013602002002420437022c2002420c370224200241a2dac280003602202002410d36021c20024195dac28000360218200241d180808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200241386c22086a2202420437022c2002421f370224200241bddac280003602202002410f36021c200241aedac28000360218200241d280808000360210200242ec90f0e5cc9495cd6237030820024288e8b5f5c7dcc6c41f3703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a41c8d5c2800010f1818080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41e8d5c28000411141fcd5c2800010a181808000000ba50804057f017e037f017e23808080800041d0006b2201248080808000200141286a41b7f3c28000411a41dcf2c2800041334104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a22074100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220842ebd7fefbd5c0f891683703082008429dab84f7bcfdc8eab97f370300200141c0006a41086a220941013602002008420437022c20084217370224200841ebdac280003602202008410f36021c200841dcdac28000360218200841d380808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200941386c6a2208420437022c2008421537022420084193dbc280003602202008411136021c20084182dbc28000360218200841d4808080003602102008428382d1e2e5ecafee3b370308200842959bacd4a8e780e8a67f3703002007200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41d8d5c2800010b5928080000b2001280214200941386c6a2208420437022c20084210370224200841c0dbc280003602202008411836021c200841a8dbc28000360218200841d580808000360210200842a3eac7f48db3bc9652370308200842d6f4c29ad1ead2a230370300200141c8006a200941016a220836020020012001290310220a37034002402008200aa7470d00200141c0006a41d8d5c2800010b5928080000b2001280244200841386c22096a2208420437022c20084216370224200841e0dbc280003602202008411036021c200841d0dbc28000360218200841d680808000360210200842b7cac1abd0a1b482463703082008428fc596abb7a7bbd4f8003703002001280244210820012001280240360248200120083602402001200820096a41386a36024c20012008360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bf50503057f017e027f23808080800041d0006b2201248080808000200141286a41d1f3c28000411341dcf2c2800041334104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41c8d5c2800010ef81808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a4100360200200142808080808001370210200141106a41d8d5c2800010b5928080002001280214220742acfbf0919cb1a8f1783703082007429688c99cd4cce5a0fc00370300200141c0006a41086a220841013602002007420437022c2007421f37022420074187dcc280003602202007411136021c200741f6dbc28000360218200741d780808000360210200120012902103703400240200828020022072001280240470d00200141c0006a41d8d5c2800010b5928080000b2001280244200741386c22086a2207420437022c2007421b370224200741b9dcc280003602202007411336021c200741a6dcc28000360218200741d88080800036021020074285b4e7b6f1e4d4ecdd00370308200742a1ee9da78299a7ee323703002001280244210720012001280240360248200120073602402001200720086a41386a36024c20012007360244200141346a200141c0006a41c8d5c2800010f18180800002402005418080808078470d0041e8d5c28000411141fcd5c2800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41e4f4c2800010ef818080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bf20101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a220141d980808000360228200141c580808000360210200142cdd1c1cbe3b5a3c444370308200142b9e0ddc2f1d2dbbf4c370300200142b0d48982effd8bb063370320200142fdb7ea88e1c5f0a94f370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041da80808000360218200042d3ae8adeb0b197a4917f370310200042f7aebf86e9c3a8c979370308200041023a00000bf20101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a220141c480808000360228200141c580808000360210200142cdd1c1cbe3b5a3c444370308200142b9e0ddc2f1d2dbbf4c370300200142d6e8a8f093e8c4c621370320200142bd8ad681c9f684cc67370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0bf20101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a220141db80808000360228200141c580808000360210200142cdd1c1cbe3b5a3c444370308200142b9e0ddc2f1d2dbbf4c370300200142f3b6f6dec087b78b73370320200142b4ebc2fde5dcfca426370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0bf30101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a220141b380808000360228200141c580808000360210200142cdd1c1cbe3b5a3c444370308200142b9e0ddc2f1d2dbbf4c370300200142bd939dd6b2ebc5fc2b37032020014299b3aba887f2f0b3907f370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0bdb0301017f23808080800041d0006b22042480808080000240024020012d0098024101460d0020012d0099024101460d01200420014188016a220136020c2004410c6a41106a200141086a2902003702002004410c6a41186a200141106a2902003702002004412c6a200141186a2902003702002004418cf7c280003602102004410036023c20044100360234200420012902003702142004410036024c200420033602482004200236024420042004410c6a20022003200441c4006a10fe81808000024002402004280200418180808078470d0002400240024002402004280204220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110e8828080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c010b20002004290200370200200041086a200441086a2802003602000b200441d0006a2480808080000f0b41f4f4c28000410f41f4f5c28000108081808000000b41f4f4c28000410f41e4f5c28000108081808000000bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b200010e8828080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0bdd0204047f017e017f017e024020002802442201450d000240200028024c2202450d002000280240220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341807d6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2005427f7c210702402003410020057aa74103766b41306c6a220641706a280200450d00200641746a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200720058321052002417f6a22020d000b0b2001200141306c41376a41707122046a4177460d00200028024020046b22042004417e6a2f00006b41002802ec82d48000118180808000000b0240200028028001450d0020002802840122042004417e6a2f00006b41002802ec82d48000118180808000000b0b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad423c7e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d0020022004413c6c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10ea8280800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be20101077f23808080800041206b22022480808080004100210302402000280200220441ffffffff014d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410274220741fcffffff074b0d004100210502402004450d002002200441027436021c20022000280204360214410421050b20022005360218200241086a41042007200241146a10ea8280800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42247e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441246c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10ea8280800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10ea8280800020052802084101470d0120052802102102200528020c21060b2006200241fcf6c2800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b840603047f017e037f23808080800041c0006b2201248080808000200141246a41d4f9c28000410610c3928080002001410036022020014280808080c00037021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220441df80808000360218200442a8d0be9494d1a5c301370310200442e9d08be496b5fe8c9d7f37030820044101360204200441daf9c280003602002004417e6a20033b0000200141086a200141186a220241086a2802003602002001200229020037030020012802242103200129022821052001410c6a41086a410036020020014280808080c00037020c2001410c6a4180f8c2800010a093808000200128021022024100360208200242808080808001370200200241003a00202002410436021c200241dbf9c280003602182002410036021420024280808080c00037020c200141306a41086a220641013602002001200129020c3703302001410036021420014280808080800137020c2001410c6a41a0f9c2800010b5928080002001280210220242e9d08be496b5fe8c9d7f3703002002410036023020024280808080c0003703282002410036022020024100360218200241df80808000360210200242a8d0be9494d1a5c301370308200128020c2107200128021021080240200628020022022001280230470d00200141306a4180f8c2800010a0938080000b2001280234200241246c22066a220241013a00202002410436021c200241dff9c28000360218200242043702102002420137020820022008360204200220073602002003418080808078460d0120012802342102200128023021072000410136024c20002004360248200041013602442000200537023c200020033602382000200236020820002007360204200041013a0000200020012903003702502000200220066a41246a20026b41246e36020c200041d8006a200141086a280200360200200141c0006a2480808080000f0b4108412010ab80808000000b41b0f9c28000411141c4f9c2800010a181808000000b930603047f017e017f23808080800041d0006b2201248080808000200141106a41186a41dcfbc28000411341effbc2800041184104410010c2928080002001410036022420014280808080c00037021c41002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220441c580808000360218200442cdd1c1cbe3b5a3c444370310200442b9e0ddc2f1d2dbbf4c3703082004410236020420044187fcc280003602002004417e6a20033b0000200141086a2001411c6a220241086a2802003602002001200229020037030020012802282103200129022c2105200141106a41086a4100360200200142808080808001370210200141106a41a0f9c2800010b5928080002001280214220242cdd1c1cbe3b5a3c444370308200242b9e0ddc2f1d2dbbf4c370300200141c0006a41086a220641013602002002420437022c20024202370224200241ecf9c280003602202002410936021c200241e3f9c28000360218200241c580808000360210200120012902103703400240200628020022022001280240470d00200141c0006a41a0f9c2800010b5928080000b2001280244200241386c22066a2202420437022c20024213370224200241f2f9c280003602202002410436021c200241eef9c28000360218200241e08080800036021020024296e397c6bfa5aeee46370308200242aceff0b4f2bd8f8fe4003703002001280244210220012001280240360218200120023602102001200220066a41386a36021c20012002360214200141346a200141106a4190f9c2800010f7828080002003418080808078460d012000410136024c2000200436024820004101360244200141cb006a200141346a41086a2802003600002000200537023c20002003360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437004320002001290040370001200041086a200141c7006a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41b0f9c28000411141c4f9c2800010a181808000000be60301077f0240200128020422020d00200041023a00000f0b20012002417f6a220336020420012001280200220441016a22053602000240024002400240024002400240024020042d00000e020001020b41022103024020024121490d0020012002415f6a3602042001200441216a36020020002005290000370001200041096a200541086a290000370000200041116a200541106a290000370000200041196a200541186a290000370000410021030b200020033a00000f0b2003450d0420012002417e6a22053602042001200441026a3602002005450d0420042d0001210320012002417d6a22053602042001200441036a3602002005450d0420042d0002210620012002417c6a22073602042001200441046a360200024020042d000322084103710e0403020005030b20054104490d042001200241796a3602042001200441076a360200200441066a2d000041187420042f00044108747222014180807c6a41ffff0b4b0d04200120087241027621010c050b200041023a00000f0b20070d010c020b200841027621010c020b20012002417b6a3602042001200441056a36020020042d00042201450d00200141087420087241027621010c010b200041023a00000f0b200041013a000020002003411074200141ffff0371722006411874723601020bd10904027f017e037f017e23808080800041d0006b2201248080808000200141286a41a0fcc28000410d4189fcc2800041174104410010c292808000200141086a410036020020014280808080c00037030020012802282102200129022c2103200141106a41086a22044100360200200142808080808001370210200141106a41a0f9c2800010b5928080002001280214220542d0eeea8fe2e880c510370308200542b1b9bbf6d09c8ca47b370300200141c0006a41086a220641013602002005420437022c2005421237022420054194fac280003602202005410f36021c20054185fac28000360218200541e180808000360210200120012902103703400240200628020022062001280240470d00200141c0006a41a0f9c2800010b5928080000b2001280244200641386c6a2205420437022c20054218370224200541b9fac280003602202005411336021c200541a6fac28000360218200541e280808000360210200542a2c1f9b6deb49cf541370308200542b8d5d99ddee3cff4cf003703002004200641016a2206360200200120012903402207370310024020062007a7470d00200141106a41a0f9c2800010b5928080000b2001280214200641386c6a2205420437022c20054223370224200541e4fac280003602202005411336021c200541d1fac28000360218200541e380808000360210200542e694e2a5b0cdcbc01e370308200542eab196fb99fac6c7c200370300200141c0006a41086a200641016a2206360200200120012903102207370340024020062007a7470d00200141c0006a41a0f9c2800010b5928080000b2001280244200641386c6a2205420437022c20054203370224200541a2fbc280003602202005411b36021c20054187fbc28000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141106a41086a200641016a2206360200200120012903402207370310024020062007a7470d00200141106a41a0f9c2800010b5928080000b2001280214200641386c6a2205420437022c20054218370224200541b3fbc280003602202005410e36021c200541a5fbc28000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141c8006a200641016a2205360200200120012903102207370340024020052007a7470d00200141c0006a41a0f9c2800010b5928080000b2001280244200541386c22066a2205420437022c20054208370224200541d4fbc280003602202005410936021c200541cbfbc28000360218200541ce80808000360210200542cdcabc9d9cf3be8d0337030820054289ece2a6cba888f82b3703002001280244210520012001280240360218200120053602102001200520066a41386a36021c20012005360214200141346a200141106a4190f9c2800010f78280800002402002418080808078470d0041b0f9c28000411141c4f9c2800010a181808000000b2000410036024c200042808080808001370244200141cb006a200141346a41086a2802003600002000200337023c20002002360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437004320002001290040370001200041086a200141c7006a290000370000200141d0006a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041e08080800036021820004296e397c6bfa5aeee46370310200042aceff0b4f2bd8f8fe400370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041e480808000360218200042dd9e8ba3fdc9dcc444370310200042c0a9abfad0e0adf726370308200041023a00000b900203037f017e017f23808080800041206b2205248080808000024002400240200120026a220220014f0d00410021060c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024104200241044b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10f88280800020052802084101470d0120052802102102200528020c21060b2006200241a4fdc2800010b980808000000b200528020c21032000200736020020002003360204200541206a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810f6828080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010fc828080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810fc828080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10fb8280800020052802084101470d0120052802102102200528020c21060b20062002418881c3800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b860401047f23808080800041106b220324808080800041002104024002400240024002400240200241046a22054100480d002005450d0241002d008083d480001a200541002802f482d480001182808080000022040d01410121040b20042005418082c3800010b980808000000b200320043602082004417e6a41003b00002003410036020c2003200536020402402002413f4b0d00200420024102743a0000410121050c040b200241ffff004b0d0141022105200420024102744101723b00000c030b2003410036020c2003428080808010370204200341046a4100410110f4918080002003280204210520032802082104200328020c21060c010b0240200241ffffffff034b0d0020042002410274410272360000410421050c020b410021060b200420066a41033a00002003200641016a220636020c0240200520066b41034b0d00200341046a2006410410f49180800020032802082104200328020c21060b200420066a2002360000200641046a21050b2003200536020c024020022003280204220620056b4d0d00200341046a2005200210f49180800020032802042106200328020c21050b2003280208220420056a2001200210f4978080001a20002004200520026a41002802c480d480001186808080000002402006450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000b9b06010a7f23808080800041206b22022480808080002001280220210341002d008083d480001a024002400240410441002802f482d48000118280808000002204450d00200220043602042004417e6a41003b0000200241003602082002410436020041002d008083d480001a412041002802f482d48000118280808000002204450d012004417e6a220541003b000020042000290000370000200441086a2206200041086a290000370000200441106a2207200041106a290000370000200441186a2208200041186a29000037000020024100412010f491808000200228020422092002280208220a6a220b2004290000370000200b41086a2006290000370000200b41106a2007290000370000200b41186a20082900003700002002200a41206a220b360208200420052f00006b41002802ec82d480001181808080000002402002280200200b6b41034b0d002002200b410410f491808000200228020421092002280208210b0b2009200b6a20033600002002200b41046a220b36020841002d008083d480001a412041002802f482d48000118280808000002204450d022004417e6a220541003b000020042001290000370000200441086a2206200141086a290000370000200441106a2207200141106a290000370000200441186a2208200141186a290000370000024020022802002203200b6b411f4b0d002002200b412010f49180800020022802002103200228020421092002280208210b0b2009200b6a22012004290000370000200141186a2008290000370000200141106a2007290000370000200141086a2006290000370000200420052f00006b41002802ec82d480001181808080000020022009200b41206a41002802c480d480001186808080000002402003450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20002002290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a290000370000200241206a24808080800020000f0b41014104418082c3800010b980808000000b4101412010ab80808000000b4101412010ab80808000000bce0503057f017e027f23808080800041d0006b2201248080808000200141246a41b582c38000410d419082c3800041254104410010c2928080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a4194ffc2800010f982808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080800137020c2001410c6a41a4ffc2800010b5928080002001280210220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141306a41086a220841013602002007420437022c20074215370224200741dfffc280003602202007410736021c200741d8ffc28000360218200741bb808080003602102001200129020c3703300240200828020022072001280230470d00200141306a41a4ffc2800010b5928080000b2001280234200741386c22086a2207420437022c2007420d370224200741fcffc280003602202007410836021c200741f4ffc28000360218200741bc80808000360210200742ec8ca7e0e2f0c7e6bf7f370308200742e6e2dea393f0baf43a37030020012802342107200120012802303602142001200736020c2001200720086a41386a36021820012007360210200141c4006a2001410c6a4194ffc2800010fa8280800002402005418080808078470d0041b4ffc28000411141c8ffc2800010a181808000000b2001413b6a200141c4006a41086a2802003600002000200436024c20002003360248200020023602442000200637023c20002005360238200041003a0000200020012903003702502001200129024437003320002001290030370001200041d8006a200141086a280200360200200041086a200141376a290000370000200141d0006a2480808080000b9c0403057f017e027f23808080800041d0006b2201248080808000200141286a41c282c380004111419082c3800041254104410010c292808000200142043702202001420037021820014280808080800137021020014288808080800137023420014280808080800137023c200141106a200141346a4194ffc2800010f982808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a41a4ffc2800010b5928080002001280214220842e6e2dea393f0baf43a3703002008420437022c200842093702242008418980c3800036022020084100360218200841bc80808000360210200842ec8ca7e0e2f0c7e6bf7f3703082001280214210820012001280210360218200120083602102001200841386a36021c20012008360214200141c4006a200141106a4194ffc2800010fa8280800002402007418080808078470d0041b4ffc28000411141c8ffc2800010a181808000000b2001413f6a200141c4006a41086a2802003600002000200536024c20002004360248200020033602442000200637023c20002007360238200041003a0000200020012903003702502001200129024437003720002001290034370001200041d8006a2002280200360200200041086a2001413b6a290000370000200141d0006a2480808080000b08001080808080000bb80702097f017e23808080800041306b22032480808080002003410036021420034280808080c00037020c0240024002402002450d0041800821044100210502400240034002402002200420022004491b2206200328020c220720056b4d0d00024002400240200620056a220541ffffff3f4d0d00410021030c010b200541047421084100210902402007450d0020032003280210360224410421092003200741047436022c0b20032009360228200341186a41042008200341246a108f8680800020032802184101470d0120032802202105200328021c21030b2003200541bc83c3800010b980808000000b2003200328021c3602102003200536020c0b200621080240024020040d00200328021421050c010b03402003200110d08480800020032802004101710d03200341246a2001200328020410838380800020032802242205418080808078460d03200328022821070240024002400240200328022c220a2005460d0041002d008083d480001a410c41002802f482d48000118280808000002204450d012004200441036a417c7120046b22096a2204410136020820042005360204200420073602002004417e6a20093b000041d8edc18000210b0c030b024020050d0041a8ebc18000210b41002104410121070c030b2007410171450d0141e8ecc18000210b200721040c020b4104410c10ab80808000000b2007410172210441d4ecc18000210b0b024020032802142209200328020c470d002003410c6a41cc83c380001093868080000b200328021020094104746a2205200436020c2005200a360208200520073602042005200b3602002003200941016a22053602142008417f6a22080d000b0b20052104200220066b22020d000b200328020c2205418080808078460d012003290210210c0c030b024020032802142205450d00200328021021092005410171210141002104024020054101460d002005417e712107410021042009210503402005410c6a200541046a280200200541086a2802002005280200280210118680808000002005411c6a200541146a280200200541186a280200200541106a28020028021011868080800000200541206a21052007200441026a2204470d000b0b2001450d00200920044104746a2205410c6a200528020420052802082005280200280210118680808000000b200328020c450d00200328021022052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290210210c410021050b2000200c370204200020053602000b200341306a2480808080000ba70303057f017e037f23808080800041206b22032480808080004100210402400240417f2001280208220541086a280200200541106a2802006b2205410020012802042206200128020c6b2207200720064b1b6a220620062005491b2002490d000240024020020d00420121080c010b418080012107410021054101210941002104034002402002200720022007491b2206200420056b4d0d004100210a02400240200620056a22074100480d004100210a02402004450d002003200436021c200320093602144101210a0b2003200a360218200341086a41012007200341146a108f8680800020032802084101470d012003280210210b200328020c210a0b200a200b41bc83c3800010b980808000000b200328020c2109200721040b02402001200920056a200610858c808000450d002004450d0320092009417e6a2f00006b41002802ec82d48000118180808000000c030b200620056a22052107200220066b22020d000b2004418080808078460d012005ad4220862009ad8421080b20002008370204200020043602000c010b20004180808080783602000b200341206a2480808080000ba70602077f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d00418008210502400240034002402002200520022005491b2206200328020c220720046b4d0d00024002400240200620046a220441ffffff3f4d0d00410021030c010b200441047421084100210902402007450d0020032003280210360224410421092003200741047436022c0b20032009360228200341186a41042008200341246a108f8680800020032802184101470d0120032802202101200328021c21030b2003200141bc83c3800010b980808000000b2003200328021c3602102003200436020c0b200621070240024020050d00200328021421040c010b0340200128020422044104490d0320012004417c6a36020420012001280200220441046a36020020042800002109200341246a200110fe8e80800020032802242208418080808078460d032003290228210a024020032802142204200328020c470d002003410c6a41cc83c380001093868080000b200328021020044104746a2205200936020c2005200a370204200520083602002003200441016a22043602142007417f6a22070d000b0b20042105200220066b22020d000b200328020c2201418080808078460d012003290210210a0c030b024020032802142201450d00200328021021092001410171210841002104024020014101460d002001417e7121072009210141002104034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012007200441026a2204470d000b0b2008450d00200920044104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200328020c450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290210210a410021010b2000200a370204200020013602000b200341306a2480808080000bdd0602077f017e23808080800041306b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041d50a210502400240024003402001417f200128020422062002200520022005491b2207410c6c6a220820082006491b2206360204200620012802084f0d02024020072003280208220620046b4d0d00024002400240200420076a220441aad5aad5004d0d00410021030c010b2004410c6c21094100210802402006450d002003200328020c36022020032006410c6c360228410421080b20032008360224200341146a41042009200341206a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b2003200328021836020c200320043602080b200721060240024020050d00200328021021040c010b03402003200110cf8480800020032802004101710d03200341146a200120032802041086838080002003280214418080808078460d03200341206a41086a2205200341146a41086a280200360200200320032902143703200240200328021022042003280208470d00200341086a41cc83c380001096868080000b200328020c2004410c6c6a22082003290320370200200841086a20052802003602002003200441016a22043602102006417f6a22060d000b0b20042105200220076b22020d000b20032802082204418080808078460d02200329020c210a0c040b200328021021040b02402004450d00200328020c21082004410171210241002101024020044101460d002004417e7121052008210441002101034002402004280200450d00200441046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402004410c6a280200450d00200441106a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200441186a21042005200141026a2201470d000b0b2002450d0020082001410c6c6a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210a410021040b2000200a370204200020043602000b200341306a2480808080000bb80404037f017e087f017e23808080800041206b22032480808080000240024002402001280200220428020c28020841046a2802002002490d00024020020d0041002105420121060c020b418080012107410021084101210941002105024003402001417f2001280204220a2002200720022007491b220b6a22072007200a491b2207360204200720012802084f0d01200b20086a21070240200b200520086b4d0d004100210a0240024020074100480d004100210a02402005450d002003200536021c200320093602144101210a0b2003200a360218200341086a41012007200341146a108f8680800020032802084101470d012003280210210c200328020c210a0b200a200c41bc83c3800010b980808000000b200328020c2109200721050b200428020c220c280208220a280204220d200b490d01200920086a200a2802002208200b10f497808000210e200a200d200b6b360204200a2008200b6a360200200c427f200c2903002206200bad7c220f200f2006541b3703000240200b2004280200200428020822086b4d0d0020042008200b4101410110a386808000200428020821080b200428020420086a200e200b10f4978080001a20042004280208200b6a360208200721082002200b6b22020d000b2005418080808078460d012007ad4220862009ad8421060c020b2005450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002006370204200020053602000b200341206a2480808080000ba70602077f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d00418008210502400240034002402002200520022005491b2206200328020c220720046b4d0d00024002400240200620046a220441ffffff3f4d0d00410021030c010b200441047421084100210902402007450d0020032003280210360224410421092003200741047436022c0b20032009360228200341186a41042008200341246a108f8680800020032802184101470d0120032802202101200328021c21030b2003200141bc83c3800010b980808000000b2003200328021c3602102003200436020c0b200621070240024020050d00200328021421040c010b0340200128020422044104490d0320012004417c6a36020420012001280200220441046a36020020042800002109200341246a200110fe8e80800020032802242208418080808078460d032003290228210a024020032802142204200328020c470d002003410c6a41cc83c380001093868080000b200328021020044104746a2205200936020c2005200a370204200520083602002003200441016a22043602142007417f6a22070d000b0b20042105200220066b22020d000b200328020c2201418080808078460d012003290210210a0c030b024020032802142201450d00200328021021092001410171210841002104024020014101460d002001417e7121072009210141002104034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012007200441026a2204470d000b0b2008450d00200920044104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200328020c450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290210210a410021010b2000200a370204200020013602000b200341306a2480808080000bfc0502087f017e23808080800041f0016b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d0041920121054104210602400240034002402002200520022005491b22072003280204220820046b4d0d00024002400240200720046a220441c9a492094d0d00410021040c010b200441f0006c21094100210a02402008450d0020032006360280012003200841f0006c360288014104210a0b2003200a36028401200341106a4104200920034180016a108f8680800020032802104101470d0120032802182108200328021421040b2004200841bc83c3800010b980808000000b200320032802142206360208200320043602040b200721080240024020050d00200328020c21040c010b0340200341106a200110f0848080002003280210418080808078460d0320034180016a200341106a41f00010f4978080001a0240200328020c22042003280204470d00200341046a41cc83c380001094868080000b20032802082206200441f0006c6a20034180016a41f00010f4978080001a2003200441016a220436020c2008417f6a22080d000b0b20042105200220076b22020d000b20032802042204418080808078460d012003290208210b0c030b0240200328020c2205450d002003280208210741002102034002402007200241f0006c6a22062802082208450d00200628020421040340024020042d0000220141034b0d002004200141027441ec83c380006a2802006a2201280200450d00200141046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200441146a21042008417f6a22080d000b0b02402006280200450d00200628020422042004417e6a2f00006b41002802ec82d48000118180808000000b200241016a22022005470d000b0b2003280204450d00200328020822042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021040b2000200b370204200020043602000b200341f0016a2480808080000bbe0404037f017e087f017e23808080800041206b22032480808080000240024002402001280200220428020c28020828020041046a2802002002490d00024020020d0041002105420121060c020b418080012107410021084101210941002105024003402001417f2001280204220a2002200720022007491b220b6a22072007200a491b2207360204200720012802084f0d01200b20086a21070240200b200520086b4d0d004100210a0240024020074100480d004100210a02402005450d002003200536021c200320093602144101210a0b2003200a360218200341086a41012007200341146a108f8680800020032802084101470d012003280210210c200328020c210a0b200a200c41bc83c3800010b980808000000b200328020c2109200721050b200428020c220c280208280200220a280204220d200b490d01200920086a200a2802002208200b10f497808000210e200a200d200b6b360204200a2008200b6a360200200c427f200c2903002206200bad7c220f200f2006541b3703000240200b2004280200200428020822086b4d0d0020042008200b4101410110a386808000200428020821080b200428020420086a200e200b10f4978080001a20042004280208200b6a360208200721082002200b6b22020d000b2005418080808078460d012007ad4220862009ad8421060c020b2005450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002006370204200020053602000b200341206a2480808080000b980303037f017e077f23808080800041206b220324808080800002400240200128020422042002490d000240024020020d0041002105420121060c010b20012802002107418080012108410021094101210a41002105034002402002200820022008491b220b200520096b4d0d004100210c02400240200b20096a22084100480d004100210c02402005450d002003200536021c2003200a3602144101210c0b2003200c360218200341086a41012008200341146a108f8680800020032802084101470d012003280210210d200328020c210c0b200c200d41bc83c3800010b980808000000b200328020c210a200821050b02402004200b4f0d002005450d03200a200a417e6a2f00006b41002802ec82d48000118180808000000c030b200a20096a2007200b10f4978080001a20012004200b6b220436020420012007200b6a2207360200200b20096a220921082002200b6b22020d000b2005418080808078460d012009ad422086200aad8421060b20002006370204200020053602000c010b20004180808080783602000b200341206a2480808080000bce0602087f017e23808080800041c0006b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021062003410036021020034280808080c000370208024002402002450d0041b30621044104210502400240024003402001417f200128020422072002200420022004491b220841146c6a220920092007491b2207360204200720012802084f0d02024020082003280208220720066b4d0d00024002400240200620086a220641e6cc99334d0d00410021030c010b200641146c210a4100210902402007450d00200320053602282003200741146c360230410421090b2003200936022c200341146a4104200a200341286a108f8680800020032802144101470d01200328021c2105200328021821030b2003200541bc83c3800010b980808000000b20032003280218220536020c200320063602080b200821070240024020040d00200328021021060c010b0340200341146a200110a98c80800020032d00144105460d03200341286a41106a2209200341146a41106a280200360200200341286a41086a220a200341146a41086a290200370300200320032902143703280240200328021022062003280208470d00200341086a41cc83c3800010f6968080000b200328020c2205200641146c6a22042003290328370200200441086a200a290300370200200441106a20092802003602002003200641016a22063602102007417f6a22070d000b0b20062104200220086b22020d000b20032802082205418080808078460d02200329020c210b200128020021040c040b20032802102106200328020c21050b02402006450d000340024020052d0000220441034b0d002005200441027441ec83c380006a2802006a2204280200450d00200441046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200541146a21052006417f6a22060d000b0b2003280208450d00200328020c22052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210b410021050b2000200b37020420002005360200200428020c28020822052005280204417f6a3602040b200341c0006a2480808080000bbf0703087f027e037f23808080800041e0006b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021052003410036020c20034280808080c000370204024002402002450d00200341386a41046a210641990321040240024003402001417f200128020422072002200420022004491b220841286c6a220920092007491b2207360204200720012802084f0d01024020082003280204220720056b4d0d00024002400240200520086a220541b3e6cc194d0d00410021030c010b200541286c210a4100210902402007450d00200320032802083602382003200741286c360240410421090b2003200936023c200341106a4104200a200341386a108f8680800020032802104101470d0120032802182105200328021421030b2003200541bc83c3800010b980808000000b20032003280214360208200320053602040b200821090240024020040d00200328020c21050c010b03402001280200220528020c22072802082802002204280204220a4104490d032004200a417c6a36020420042004280200220a41046a3602002007427f2007290300220b42047c220c200c200b541b370300200a280000210402402005280200200528020822076b41034b0d002005200741044101410110a386808000200528020821070b200528020420076a20043600002005200528020841046a360208200341386a200110988580800020032802384101460d03200341106a41206a220a200641206a280200360200200341106a41186a220d200641186a290200370300200341106a41106a220e200641106a290200370300200341106a41086a220f200641086a290200370300200320062902003703100240200328020c22072003280204470d00200341046a41cc83c38000109c868080000b2003280208200741286c6a22052003290310370204200520043602002005410c6a200f290300370200200541146a200e2903003702002005411c6a200d290300370200200541246a200a2802003602002003200741016a220536020c2009417f6a22090d000b0b20052104200220086b22020d000b20032802042205418080808078460d012003290208210b200128020021040c030b2003280204450d00200328020822052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021050b2000200b37020420002005360200200428020c28020822052005280204417f6a3602040b200341e0006a2480808080000bc90304047f017e057f017e23808080800041206b220324808080800002400240024020012802082204280200220541046a2802002002490d00024020020d0041002106420121070c020b20012903002107418080012108410021094101210a410021060240034002402002200820022008491b220b200620096b4d0d004100210502400240200b20096a22084100480d004100210502402006450d002003200636021c2003200a360214410121050b20032005360218200341086a41012008200341146a108f8680800020032802084101470d012003280210210c200328020c21050b2005200c41bc83c3800010b980808000000b200328020c210a20042802002105200821060b20052802042208200b490d01200a20096a2005280200220c200b10f4978080001a20052008200b6b3602042005200c200b6a3602002001427f2007200bad7c220d200d2007541b2207370300200b20096a220921082002200b6b22020d000b2006418080808078460d012009ad422086200aad8421070c020b2006450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002007370204200020063602000b200341206a2480808080000bbd06020e7f017e2380808080004190016b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d00200341ed006a2105419102210602400240034002402002200620022006491b2207200328020c220820046b4d0d00024002400240200720046a220441a2c488114d0d00410021030c010b2004413c6c21094100210a02402008450d002003200328021036025820032008413c6c3602604104210a0b2003200a36025c200341186a41042009200341d8006a108f8680800020032802184101470d0120032802202104200328021c21030b2003200441bc83c3800010b980808000000b2003200328021c3602102003200436020c0b200721080240024020060d00200328021421040c010b0340200128020422044104490d0320012004417c6a36020420012001280200220441046a3602002004280000210a200341d8006a2001108b8580800020032d006c22094102460d03200341c0006a41106a220b200341d8006a41106a280200360200200341c0006a41086a220c200341d8006a41086a290200370300200341186a41086a220d200541086a290000370300200341186a41106a220e200541106a290000370300200341186a41186a220f200541186a290000370300200341186a411f6a22102005411f6a2800003600002003200329025837034020032005290000370318024020032802142206200328020c470d002003410c6a41cc83c3800010eb828080000b20032802102006413c6c6a220420032903403702042004200a360200200420093a0018200420032903183700192004410c6a200c290300370200200441146a200b280200360200200441216a200d290300370000200441296a200e290300370000200441316a200f290300370000200441386a20102800003600002003200641016a22043602142008417f6a22080d000b0b20042106200220076b22020d000b200328020c2204418080808078460d01200329021021110c030b200328020c450d00200328021022042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b20032902102111410021040b20002011370204200020043602000b20034190016a2480808080000b970602077f017e23808080800041306b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041d50a210502400240034002402002200520022005491b22062003280208220720046b4d0d00024002400240200620046a220441aad5aad5004d0d00410021030c010b2004410c6c21084100210902402007450d002003200328020c36022020032007410c6c360228410421090b20032009360224200341146a41042008200341206a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b2003200328021836020c200320043602080b200621070240024020050d00200328021021040c010b0340200341146a200110fe8e8080002003280214418080808078460d03200341206a41086a2205200341146a41086a280200360200200320032902143703200240200328021022042003280208470d00200341086a41cc83c380001096868080000b200328020c2004410c6c6a22092003290320370200200941086a20052802003602002003200441016a22043602102007417f6a22070d000b0b20042105200220066b22020d000b20032802082204418080808078460d01200329020c210a0c030b024020032802102204450d00200328020c21012004410171210241002107024020044101460d002004417e7121092001210441002107034002402004280200450d00200441046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402004410c6a280200450d00200441106a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200441186a21042009200741026a2207470d000b0b2002450d0020012007410c6c6a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210a410021040b2000200a370204200020043602000b200341306a2480808080000baf0702077f017e23808080800041306b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021052003410036021020034280808080c000370208024002402002450d0041d50a210402400240024003402001417f200128020422062002200420022004491b2207410c6c6a220820082006491b2206360204200620012802084f0d02024020072003280208220620056b4d0d00024002400240200520076a220541aad5aad5004d0d00410021030c010b2005410c6c21094100210802402006450d002003200328020c36022020032006410c6c360228410421080b20032008360224200341146a41042009200341206a108f8680800020032802144101470d01200328021c2101200328021821030b2003200141bc83c3800010b980808000000b2003200328021836020c200320053602080b200721060240024020040d00200328021021050c010b03402003200110ce8480800020032802004101710d03200341146a200120032802041089838080002003280214418080808078460d03200341206a41086a2204200341146a41086a280200360200200320032902143703200240200328021022052003280208470d00200341086a41cc83c380001096868080000b200328020c2005410c6c6a22082003290320370200200841086a20042802003602002003200541016a22053602102006417f6a22060d000b0b20052104200220076b22020d000b20032802082205418080808078460d02200329020c210a200128020021040c040b200328021021050b02402005450d00200328020c21082005410171210241002106024020054101460d002005417e7121042008210141002106034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012004200641026a2206470d000b0b2002450d0020082006410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b2003280208450d00200328020c22012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210a410021050b2000200a37020420002005360200200428020c28020822012001280204417f6a3602040b200341306a2480808080000bb00602077f017e23808080800041306b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041d50a210502400240034002402002200520022005491b22062003280208220720046b4d0d00024002400240200620046a220441aad5aad5004d0d00410021030c010b2004410c6c21084100210902402007450d002003200328020c36022020032007410c6c360228410421090b20032009360224200341146a41042008200341206a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b2003200328021836020c200320043602080b200621070240024020050d00200328021021040c010b03402003200110d08480800020032802004101710d03200341146a200120032802041083838080002003280214418080808078460d03200341206a41086a2205200341146a41086a280200360200200320032902143703200240200328021022042003280208470d00200341086a41cc83c380001096868080000b200328020c2004410c6c6a22092003290320370200200941086a20052802003602002003200441016a22043602102007417f6a22070d000b0b20042105200220066b22020d000b20032802082204418080808078460d01200329020c210a0c030b024020032802102204450d00200328020c21092004410171210241002101024020044101460d002004417e7121052009210441002101034002402004280200450d00200441046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402004410c6a280200450d00200441106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200441186a21042005200141026a2201470d000b0b2002450d0020092001410c6c6a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210a410021040b2000200a370204200020043602000b200341306a2480808080000bea0603087f027e037f23808080800041e0006b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d00200341386a41046a210541990321060240024003402001417f200128020422072002200620022006491b220841286c6a220920092007491b2207360204200720012802084f0d01024020082003280204220720046b4d0d00024002400240200420086a220441b3e6cc194d0d00410021030c010b200441286c210a4100210902402007450d00200320032802083602382003200741286c360240410421090b2003200936023c200341106a4104200a200341386a108f8680800020032802104101470d0120032802182104200328021421030b2003200441bc83c3800010b980808000000b20032003280214360208200320043602040b200821090240024020060d00200328020c21040c010b03402001280200220428020c22072802082206280204220a4104490d032006200a417c6a36020420062006280200220a41046a3602002007427f2007290300220b42047c220c200c200b541b370300200a280000210602402004280200200428020822076b41034b0d002004200741044101410110a386808000200428020821070b200428020420076a20063600002004200428020841046a360208200341386a200110998580800020032802384101460d03200341106a41206a220a200541206a280200360200200341106a41186a220d200541186a290200370300200341106a41106a220e200541106a290200370300200341106a41086a220f200541086a290200370300200320052902003703100240200328020c22072003280204470d00200341046a41cc83c38000109c868080000b2003280208200741286c6a22042003290310370204200420063602002004410c6a200f290300370200200441146a200e2903003702002004411c6a200d290300370200200441246a200a2802003602002003200741016a220436020c2009417f6a22090d000b0b20042106200220086b22020d000b20032802042204418080808078460d012003290208210b0c030b2003280204450d00200328020822042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021040b2000200b370204200020043602000b200341e0006a2480808080000b820602087f017e23808080800041306b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d00200341206a41046a2105418008210602400240034002402002200620022006491b22072003280204220820046b4d0d00024002400240200720046a220441ffffff3f4d0d00410021030c010b200441047421094100210a02402008450d00200320032802083602204104210a200320084104743602280b2003200a360224200341106a41042009200341206a108f8680800020032802104101470d0120032802182104200328021421030b2003200441bc83c3800010b980808000000b20032003280214360208200320043602040b200721080240024020060d00200328020c21040c010b0340200341206a200110f5918080002003280220220a450d03200341106a41086a2209200541086a280200360200200320052902003703100240200328020c22042003280204470d00200341046a41cc83c380001093868080000b200328020820044104746a220620032903103702042006200a3602002006410c6a20092802003602002003200441016a220436020c2008417f6a22080d000b0b20042106200220076b22020d000b20032802042204418080808078460d012003290208210b0c030b0240200328020c2204450d00200328020821052004410171210a41002106024020044101460d002004417e712108410021062005210403402004410c6a200441046a280200200441086a2802002004280200280210118680808000002004411c6a200441146a280200200441186a280200200441106a28020028021011868080800000200441206a21042008200641026a2206470d000b0b200a450d00200520064104746a2204410c6a200428020420042802082004280200280210118680808000000b2003280204450d00200328020822042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021040b2000200b370204200020043602000b200341306a2480808080000bfc0703087f027e017f23808080800041306b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d00200341206a41046a210541b306210602400240024003402001417f200128020422072002200620022006491b220841146c6a220920092007491b2207360204200720012802084f0d02024020082003280204220720046b4d0d00024002400240200420086a220441e6cc99334d0d00410021030c010b200441146c210a4100210902402007450d00200320032802083602202003200741146c360228410421090b20032009360224200341106a4104200a200341206a108f8680800020032802104101470d0120032802182106200328021421030b2003200641bc83c3800010b980808000000b20032003280214360208200320043602040b200821090240024020060d00200328020c21040c010b03402001280200220628020c22072802082204280204220a4104490d032004200a417c6a36020420042004280200220a41046a3602002007427f2007290300220b42047c220c200c200b541b370300200a280000210402402006280200200628020822076b41034b0d002006200741044101410110a386808000200628020821070b200628020420076a20043600002006200628020841046a360208200341206a20011094858080002003280220220a418080808078460d03200341106a41086a220d200541086a280200360200200320052902003703100240200328020c22072003280204470d00200341046a41cc83c380001091868080000b2003280208200741146c6a2206200a3602042006200436020020062003290310370208200641106a200d2802003602002003200741016a220436020c2009417f6a22090d000b0b20042106200220086b22020d000b20032802042206418080808078460d022003290208210b0c040b200328020c21040b02402004450d00200328020821092004410171210a41002107024020044101460d002009411c6a21062004417e7121014100210703400240200641686a280200450d002006416c6a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b02402006417c6a280200450d00200628020022042004417e6a2f00006b41002802ec82d48000118180808000000b200641286a21062001200741026a2207470d000b0b200a450d002009200741146c6a2206280204450d00200641046a28020422062006417e6a2f00006b41002802ec82d48000118180808000000b2003280204450d00200328020822062006417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021060b2000200b370204200020063602000b200341306a2480808080000baa0602087f017e23808080800041f0016b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d0041920121054104210602400240024003402001417f200128020422072002200520022005491b220841f0006c6a220920092007491b2207360204200720012802084f0d02024020082003280204220720046b4d0d00024002400240200420086a220441c9a492094d0d00410021050c010b200441f0006c210a4100210902402007450d0020032006360280012003200741f0006c36028801410421090b2003200936028401200341106a4104200a20034180016a108f8680800020032802104101470d0120032802182107200328021421050b2005200741bc83c3800010b980808000000b200320032802142206360208200320043602040b200821070240024020050d00200328020c21040c010b0340200341106a200110f2848080002003280210418080808078460d0320034180016a200341106a41f00010f4978080001a0240200328020c22052003280204470d00200341046a41cc83c380001094868080000b20032802082206200541f0006c6a20034180016a41f00010f4978080001a2003200541016a220436020c2007417f6a22070d000b0b20042105200220086b22020d000b20032802042205418080808078460d022003290208210b0c040b200328020c2104200328020821060b02402004450d0041002108034002402006200841f0006c6a22022802082207450d00200228020421050340024020052d0000220141034b0d002005200141027441ec83c380006a2802006a2201280200450d00200141046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200541146a21052007417f6a22070d000b0b02402002280200450d00200228020422052005417e6a2f00006b41002802ec82d48000118180808000000b200841016a22082004470d000b0b2003280204450d00200328020822052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021050b2000200b370204200020053602000b200341f0016a2480808080000bcf0502087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b30621054104210602400240034002402002200520022005491b22072003280208220820046b4d0d00024002400240200720046a220441e6cc99334d0d00410021030c010b200441146c21094100210a02402008450d00200320063602282003200841146c3602304104210a0b2003200a36022c200341146a41042009200341286a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b20032003280218220636020c200320043602080b200721080240024020050d00200328021021040c010b0340200341146a200110ab8c80800020032d00144105460d03200341286a41106a220a200341146a41106a280200360200200341286a41086a2209200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a41cc83c3800010f6968080000b200328020c2206200441146c6a22052003290328370200200541086a2009290300370200200541106a200a2802003602002003200441016a22043602102008417f6a22080d000b0b20042105200220076b22020d000b20032802082204418080808078460d01200329020c210b0c030b024020032802102205450d00200328020c21040340024020042d0000220841034b0d002004200841027441ec83c380006a2802006a2208280200450d00200841046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200441146a21042005417f6a22050d000b0b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210b410021040b2000200b370204200020043602000b200341c0006a2480808080000bfc0602087f017e23808080800041f0016b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021072003410036020c20034280808080c000370204024002402002450d0041920121054104210802400240024003402001417f200128020422062002200520022005491b220441f0006c6a220920092006491b2206360204200620012802084f0d02024020042003280204220620076b4d0d00024002400240200720046a220741c9a492094d0d00410021050c010b200741f0006c210a4100210902402006450d0020032008360280012003200641f0006c36028801410421090b2003200936028401200341106a4104200a20034180016a108f8680800020032802104101470d0120032802182106200328021421050b2005200641bc83c3800010b980808000000b200320032802142208360208200320073602040b200421060240024020050d00200328020c21070c010b0340200341106a200110f1848080002003280210418080808078460d0320034180016a200341106a41f00010f4978080001a0240200328020c22052003280204470d00200341046a41cc83c380001094868080000b20032802082208200541f0006c6a20034180016a41f00010f4978080001a2003200541016a220736020c2006417f6a22060d000b0b20072105200220046b22020d000b20032802042205418080808078460d022003290208210b200128020021040c040b200328020c2107200328020821080b02402007450d0041002104034002402008200441f0006c6a22022802082206450d00200228020421050340024020052d0000220141034b0d002005200141027441ec83c380006a2802006a2201280200450d00200141046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200541146a21052006417f6a22060d000b0b02402002280200450d00200228020422052005417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042007470d000b0b2003280204450d00200328020822052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021050b2000200b37020420002005360200200428020c28020822052005280204417f6a3602040b200341f0016a2480808080000b9c0603047f017e077f23808080800041e0006b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021062003410036020c20034280808080c000370204024002400240024020020d0020032902082107410021050c010b200341106a41046a210541c70321044104210803402001417f200128020422092002200420022004491b220a41246c6a220b200b2009491b2209360204200920012802084f0d020240200a2003280204220920066b4d0d000240024002402006200a6a220641e3f1b81c4d0d00410021030c010b200641246c210c4100210b02402009450d00200320083602102003200941246c3602184104210b0b2003200b360214200341386a4104200c200341106a108f8680800020032802384101470d0120032802402105200328023c21030b2003200541bc83c3800010b980808000000b2003200328023c2208360208200320063602040b200a21090240024020040d00200328020c21060c010b0340200341106a200110988580800020032802100d04200341386a41206a220b200541206a280200360200200341386a41186a220c200541186a290200370300200341386a41106a220d200541106a290200370300200341386a41086a220e200541086a290200370300200320052902003703380240200328020c22042003280204470d00200341046a41cc83c38000109e868080000b20032802082208200441246c6a22062003290338370200200641086a200e290300370200200641106a200d290300370200200641186a200c290300370200200641206a200b2802003602002003200441016a220636020c2009417f6a22090d000b0b200621042002200a6b22020d000b20032802042205418080808078460d0220032902082107200128020021040b2000200737020420002005360200200428020c28020822052005280204417f6a3602040c020b2003280204450d00200328020822052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b200341e0006a2480808080000bde07020d7f047e23808080800041d0006b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021052003410036020c200342808080801037020402400240024002402002450d00200128020421072001280208210841800421064101210903402001417f20072002200620022006491b220a4105746a220b200b2007491b2207360204200720084f0d030240200a2003280204220b20056b4d0d004100210c024002402005200a6a220d410574220e4100480d00410021050240200b450d00200320093602302003200b410574360238410121050b20032005360234200341106a4101200e200341306a108f8680800020032802104101470d012003280218210f2003280214210c0b200c200f41bc83c3800010b980808000000b2003200328021422093602082003200d3602040b024002402006450d00200a210e200428020c220b280208280200220628020422054120490d0503402006200541606a36020420062006280200220541206a360200200341306a41086a2206200541086a290000370300200341306a41106a220d200541106a290000370300200341306a41186a220c200541186a290000370300200b427f200b290300221042207c221120112010541b3703002003200529000037033002402004280200200428020822056b411f4b0d002004200541204101410110a386808000200428020821050b200428020420056a220520032903302210370000200541186a200c2903002211370000200541106a200d2903002212370000200541086a200629030022133700002004200428020841206a360208200341106a41086a220b2013370300200341106a41106a220d2012370300200341106a41186a220c2011370300200320103703100240200328020c22062003280204470d00200341046a41cc83c380001090868080000b2003280208220920064105746a22052003290310370000200541086a200b290300370000200541106a200d290300370000200541186a200c2903003700002003200641016a220536020c200e417f6a220e450d02200428020c220b280208280200220628020422054120490d060c000b0b200328020c21050b200521062002200a6b22020d000b20032802042205418080808078460d03200329020821100c010b20032902082110410021050b2000201037020420002005360200200428020c28020822042004280204417f6a3602040c020b2003280204450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b200341d0006a2480808080000bd10803087f027e017f23808080800041306b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021062003410036020c20034280808080c000370204024002402002450d00200341206a41046a210741b306210502400240024003402001417f200128020422042002200520022005491b220841146c6a220920092004491b2204360204200420012802084f0d02024020082003280204220420066b4d0d00024002400240200620086a220641e6cc99334d0d00410021030c010b200641146c210a4100210902402004450d00200320032802083602202003200441146c360228410421090b20032009360224200341106a4104200a200341206a108f8680800020032802104101470d0120032802182105200328021421030b2003200541bc83c3800010b980808000000b20032003280214360208200320063602040b200821090240024020050d00200328020c21060c010b03402001280200220528020c22042802082802002206280204220a4104490d032006200a417c6a36020420062006280200220a41046a3602002004427f2004290300220b42047c220c200c200b541b370300200a280000210602402005280200200528020822046b41034b0d002005200441044101410110a386808000200528020821040b200528020420046a20063600002005200528020841046a360208200341206a20011093858080002003280220220a418080808078460d03200341106a41086a220d200741086a280200360200200320072902003703100240200328020c22042003280204470d00200341046a41cc83c380001091868080000b2003280208200441146c6a2205200a3602042005200636020020052003290310370208200541106a200d2802003602002003200441016a220636020c2009417f6a22090d000b0b20062105200220086b22020d000b20032802042205418080808078460d022003290208210b200128020021040c040b200328020c21060b02402006450d00200328020821092006410171210a41002104024020064101460d002009411c6a21052006417e7121014100210403400240200541686a280200450d002005416c6a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402005417c6a280200450d00200528020022062006417e6a2f00006b41002802ec82d48000118180808000000b200541286a21052001200441026a2204470d000b0b200a450d002009200441146c6a2205280204450d00200541046a28020422052005417e6a2f00006b41002802ec82d48000118180808000000b2003280204450d00200328020822052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021050b2000200b37020420002005360200200428020c28020822052005280204417f6a3602040b200341306a2480808080000bcf0502087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b30621054104210602400240034002402002200520022005491b22072003280208220820046b4d0d00024002400240200720046a220441e6cc99334d0d00410021030c010b200441146c21094100210a02402008450d00200320063602282003200841146c3602304104210a0b2003200a36022c200341146a41042009200341286a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b20032003280218220636020c200320043602080b200721080240024020050d00200328021021040c010b0340200341146a200110ac8c80800020032d00144105460d03200341286a41106a220a200341146a41106a280200360200200341286a41086a2209200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a41cc83c3800010f6968080000b200328020c2206200441146c6a22052003290328370200200541086a2009290300370200200541106a200a2802003602002003200441016a22043602102008417f6a22080d000b0b20042105200220076b22020d000b20032802082204418080808078460d01200329020c210b0c030b024020032802102205450d00200328020c21040340024020042d0000220841034b0d002004200841027441ec83c380006a2802006a2208280200450d00200841046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200441146a21042005417f6a22050d000b0b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210b410021040b2000200b370204200020043602000b200341c0006a2480808080000bb90402087f017e2380808080004190026b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d0041840121054104210602400240034002402002200520022005491b2207200328020c220820046b4d0d00024002400240200720046a2204419084a1084d0d00410021030c010b200441fc006c21094100210a02402008450d0020032006360294012003200841fc006c36029c014104210a0b2003200a36029801200341186a4104200920034194016a108f8680800020032802184101470d0120032802202104200328021c21030b2003200441bc83c3800010b980808000000b2003200328021c22063602102003200436020c0b200721080240024020050d00200328021421040c010b0340200341186a200110ec848080002003280218418080808078460d0320034194016a200341186a41fc0010f4978080001a024020032802142204200328020c470d002003410c6a41cc83c380001098868080000b20032802102206200441fc006c6a20034194016a41fc0010f4978080001a2003200441016a22043602142008417f6a22080d000b0b20042105200220076b22020d000b200328020c2204418080808078460d012003290210210b0c030b2003410c6a10a78f808000200328020c450d00200328021022042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290210210b410021040b2000200b370204200020043602000b20034190026a2480808080000bcf0502087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b30621054104210602400240034002402002200520022005491b22072003280208220820046b4d0d00024002400240200720046a220441e6cc99334d0d00410021030c010b200441146c21094100210a02402008450d00200320063602282003200841146c3602304104210a0b2003200a36022c200341146a41042009200341286a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b20032003280218220636020c200320043602080b200721080240024020050d00200328021021040c010b0340200341146a200110ad8c80800020032d00144105460d03200341286a41106a220a200341146a41106a280200360200200341286a41086a2209200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a41cc83c3800010f6968080000b200328020c2206200441146c6a22052003290328370200200541086a2009290300370200200541106a200a2802003602002003200441016a22043602102008417f6a22080d000b0b20042105200220076b22020d000b20032802082204418080808078460d01200329020c210b0c030b024020032802102205450d00200328020c21040340024020042d0000220841034b0d002004200841027441ec83c380006a2802006a2208280200450d00200841046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200441146a21042005417f6a22050d000b0b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210b410021040b2000200b370204200020043602000b200341c0006a2480808080000bc806020d7f027e2380808080004190106b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021052003410036020c200342808080801037020402400240024002402002450d002001280204210720012802082108411021064101210903402001417f20072002200620022006491b220a410a746a220b200b2007491b2207360204200720084f0d030240200a2003280204220b20056b4d0d004100210c024002402005200a6a220d410a74220e4100480d00410021050240200b450d0020032009360290082003200b410a7436029808410121050b2003200536029408200341106a4101200e20034190086a108f8680800020032802104101470d012003280218210f2003280214210c0b200c200f41bc83c3800010b980808000000b2003200328021422093602082003200d3602040b024002402006450d00200a210b200428020c22062802082802002205280204220e418008490d05034020034190086a2005280200220941800810f4978080001a2005200e4180786a360204200520094180086a3602002006427f200629030022104280087c221120112010541b37030002402004280200200428020822056b41ff074b0d00200420054180084101410110a386808000200428020821050b200428020420056a20034190086a41800810f4978080001a200420042802084180086a360208200341106a20034190086a41800810f4978080001a0240200328020c22052003280204470d00200341046a41cc83c3800010a1868080000b200328020822092005410a746a200341106a41800810f4978080001a2003200541016a220536020c200b417f6a220b450d02200428020c22062802082802002205280204220e418008490d060c000b0b200328020c21050b200521062002200a6b22020d000b20032802042205418080808078460d03200329020821100c010b20032902082110410021050b2000201037020420002005360200200428020c28020822042004280204417f6a3602040c020b2003280204450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b20034190106a2480808080000bcc0503027f017e097f23808080800041e0006b2203248080808000410021042003410036020c20034280808080c00037020402400240024020020d0020032902082105410021060c010b200341106a41046a210641c7032107410421080240024003402001417f200128020422092002200720022007491b220a41246c6a220b200b2009491b2209360204200920012802084f0d010240200a2003280204220920046b4d0d000240024002402004200a6a220441e3f1b81c4d0d00410021030c010b200441246c210c4100210b02402009450d00200320083602102003200941246c3602184104210b0b2003200b360214200341386a4104200c200341106a108f8680800020032802384101470d0120032802402106200328023c21030b2003200641bc83c3800010b980808000000b2003200328023c2208360208200320043602040b200a21090240024020070d00200328020c21040c010b0340200341106a200110998580800020032802100d03200341386a41206a220b200641206a280200360200200341386a41186a220c200641186a290200370300200341386a41106a220d200641106a290200370300200341386a41086a220e200641086a290200370300200320062902003703380240200328020c22072003280204470d00200341046a41cc83c38000109e868080000b20032802082208200741246c6a22042003290338370200200441086a200e290300370200200441106a200d290300370200200441186a200c290300370200200441206a200b2802003602002003200741016a220436020c2009417f6a22090d000b0b200421072002200a6b22020d000b20032802042206418080808078460d01200329020821050c020b2003280204450d00200328020822062006417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002005370204200020063602000b200341e0006a2480808080000bc80602087f017e23808080800041306b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d0041800821054104210602400240024003402001417f200128020422072002200520022005491b22084104746a220920092007491b2207360204200720012802084f0d02024020082003280204220720046b4d0d00024002400240200420086a220441ffffff3f4d0d00410021030c010b2004410474210a4100210902402007450d002003200636022041042109200320074104743602280b20032009360224200341106a4104200a200341206a108f8680800020032802104101470d0120032802182104200328021421030b2003200441bc83c3800010b980808000000b200320032802142206360208200320043602040b200821070240024020050d00200328020c21040c010b0340200341106a20011094858080002003280210418080808078460d03200341206a41086a2205200341106a41086a290200370300200320032902103703200240200328020c22042003280204470d00200341046a41cc83c380001093868080000b2003280208220620044104746a22092003290320370200200941086a20052903003702002003200441016a220436020c2007417f6a22070d000b0b20042105200220086b22020d000b20032802042204418080808078460d022003290208210b0c040b200328020c2104200328020821060b02402004450d002004410171210141002107024020044101460d002004417e7121092006210441002107034002402004280200450d00200441046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200441106a280200450d00200441146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200441206a21042009200741026a2207470d000b0b2001450d00200620074104746a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b2003280204450d00200328020822042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021040b2000200b370204200020043602000b200341306a2480808080000bd10303047f017e077f23808080800041206b22032480808080000240024020012802082204200128021022056b2002490d0002400240024020020d0041002106420121070c010b200128020421084180800121094100210a4101210b4100210603402002200920022009491b220c200a6a21090240200c2006200a6b4d0d004100210d0240024020094100480d004100210d02402006450d002003200636021c2003200b3602144101210d0b2003200d360218200341086a41012009200341146a108f8680800020032802084101470d012003280210210e200328020c210d0b200d200e41bc83c3800010b980808000000b200328020c210b200921060b02400240200c200420056b4b0d002005200c6a220d2005490d04200d20044d0d01200d2004418486cb8000109181808000000b2006450d04200b200b417e6a2f00006b41002802ec82d48000118180808000000c040b200b200a6a200820056a200c10f4978080001a2001200d360210200d21052009210a2002200c6b22020d000b2006418080808078460d022009ad422086200bad8421070b20002007370204200020063602000c020b2005200d418486cb8000109581808000000b20004180808080783602000b200341206a2480808080000beb04020a7f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c024002400240024002402002450d00200128020421052001280200210641d50a2107034002402002200720022007491b2208200328020c220920046b4d0d00024002400240200820046a220441aad5aad5004d0d00410021030c010b2004410c6c210a4100210b02402009450d002003200328021036022420032009410c6c36022c4104210b0b2003200b360228200341186a4104200a200341246a108f8680800020032802184101470d0120032802202101200328021c21030b2003200141bc83c3800010b980808000000b2003200328021c3602102003200436020c0b024002402007450d002008210c03402006210702402005220a41074b0d00200328020c210b0c070b2001200a41786a22043602042001200741086a2209360200200328020c210b20044104490d062007290000210d20012004417c6a22053602042001200941046a220636020020092800002109024020032802142204200b470d002003410c6a41cc83c380001096868080000b20032802102004410c6c6a220b2009360208200b200d3702002003200441016a2204360214200c417f6a220c0d000b2007410c6a2106200a41746a21050c010b200328021421040b20042107200220086b22020d000b200328020c2201418080808078460d032003290210210d0c010b2003290210210d410021010b2000200d370204200020013602000c020b200b450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b200341306a2480808080000b9a0702087f017e23808080800041306b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021052003410036020c20034280808080c000370204024002402002450d0041800821044104210702400240024003402001417f200128020422062002200420022004491b22084104746a220920092006491b2206360204200620012802084f0d02024020082003280204220620056b4d0d00024002400240200520086a220541ffffff3f4d0d00410021030c010b2005410474210a4100210902402006450d002003200736022041042109200320064104743602280b20032009360224200341106a4104200a200341206a108f8680800020032802104101470d0120032802182105200328021421030b2003200541bc83c3800010b980808000000b200320032802142207360208200320053602040b200821060240024020040d00200328020c21050c010b0340200341106a20011093858080002003280210418080808078460d03200341206a41086a2204200341106a41086a290200370300200320032902103703200240200328020c22052003280204470d00200341046a41cc83c380001093868080000b2003280208220720054104746a22092003290320370200200941086a20042903003702002003200541016a220536020c2006417f6a22060d000b0b20052104200220086b22020d000b20032802042205418080808078460d022003290208210b200128020021040c040b200328020c2105200328020821070b02402005450d002005410171210141002106024020054101460d002005417e7121092007210541002106034002402005280200450d00200541046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b0240200541106a280200450d00200541146a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200541206a21052009200641026a2206470d000b0b2001450d00200720064104746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b2003280204450d00200328020822052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290208210b410021050b2000200b37020420002005360200200428020c28020822052005280204417f6a3602040b200341306a2480808080000bfc0502087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b30621054104210602400240024003402001417f200128020422072002200520022005491b220841146c6a220920092007491b2207360204200720012802084f0d02024020082003280208220720046b4d0d00024002400240200420086a220441e6cc99334d0d00410021030c010b200441146c210a4100210902402007450d00200320063602282003200741146c360230410421090b2003200936022c200341146a4104200a200341286a108f8680800020032802144101470d01200328021c2106200328021821030b2003200641bc83c3800010b980808000000b20032003280218220636020c200320043602080b200821070240024020050d00200328021021040c010b0340200341146a200110aa8c80800020032d00144105460d03200341286a41106a2209200341146a41106a280200360200200341286a41086a220a200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a41cc83c3800010f6968080000b200328020c2206200441146c6a22052003290328370200200541086a200a290300370200200541106a20092802003602002003200441016a22043602102007417f6a22070d000b0b20042105200220086b22020d000b20032802082206418080808078460d02200329020c210b0c040b20032802102104200328020c21060b02402004450d000340024020062d0000220541034b0d002006200541027441ec83c380006a2802006a2205280200450d00200541046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200641146a21062004417f6a22040d000b0b2003280208450d00200328020c22062006417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210b410021060b2000200b370204200020063602000b200341c0006a2480808080000bd70702077f017e23808080800041d0006b22032480808080002001280200220428020c2802082205200528020441016a220636020402400240200620052802084d0d0020004180808080783602000c010b410021052003410036022420034280808080c00037021c02400240024002402002450d0041aa05210603402001417f200128020422042002200620022006491b220741186c6a220820082004491b2204360204200420012802084f0d0302402007200328021c220420056b4d0d00024002400240200520076a220541d5aad52a4d0d00410021030c010b200541186c21094100210802402004450d00200320032802203602442003200441186c36024c410421080b20032008360248200341386a41042009200341c4006a108f8680800020032802384101470d0120032802402101200328023c21030b2003200141bc83c3800010b980808000000b2003200328023c3602202003200536021c0b200721040240024020060d00200328022421050c010b0340200341106a200110ce848080000240024020032802104101710d00200341386a2001200328021410898380800020032802382208418080808078460d00200328023c2105200341086a200110ce84808000024020032802084101710d00200341c4006a2001200328020c1089838080002003280244418080808078470d020b2008450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200328022421050c060b200341286a41086a2209200341c4006a41086a28020036020020032003290244370328200329023c210a024020032802242206200328021c470d002003411c6a41cc83c3800010e5938080000b2003280220200641186c6a2205200a370204200520083602002005200329032837020c200541146a20092802003602002003200641016a22053602242004417f6a22040d000b0b20052106200220076b22020d000b200328021c2205418080808078460d032003290220210a200128020021040c010b2003290220210a410021050b2000200a37020420002005360200200428020c28020822012001280204417f6a3602040c020b02402005450d0020032802202101034002402001280200450d00200141046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012005417f6a22050d000b0b200328021c450d00200328022022012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b200341d0006a2480808080000b850702077f017e23808080800041d0006b2203248080808000410021042003410036022420034280808080c00037021c024002400240024002402002450d0041aa05210503402001417f200128020422062002200520022005491b220741186c6a220820082006491b2206360204200620012802084f0d0302402007200328021c220620046b4d0d00024002400240200420076a220441d5aad52a4d0d00410021030c010b200441186c21094100210802402006450d00200320032802203602442003200641186c36024c410421080b20032008360248200341386a41042009200341c4006a108f8680800020032802384101470d0120032802402101200328023c21030b2003200141bc83c3800010b980808000000b2003200328023c3602202003200436021c0b200721060240024020050d00200328022421040c010b0340200341106a200110cf848080000240024020032802104101710d00200341386a2001200328021410868380800020032802382208418080808078460d00200328023c2104200341086a200110cf84808000024020032802084101710d00200341c4006a2001200328020c1086838080002003280244418080808078470d020b2008450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200328022421040c060b200341286a41086a2209200341c4006a41086a28020036020020032003290244370328200329023c210a024020032802242205200328021c470d002003411c6a41cc83c3800010e5938080000b2003280220200541186c6a2204200a370204200420083602002004200329032837020c200441146a20092802003602002003200541016a22043602242006417f6a22060d000b0b20042105200220076b22020d000b200328021c2201418080808078460d032003290220210a0c010b2003290220210a410021010b2000200a370204200020013602000c020b02402004450d0020032802202101034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012004417f6a22040d000b0b200328021c450d00200328022022012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b200341d0006a2480808080000ba305020c7f037e23808080800041c0006b2203248080808000410021042003410036020c200342808080801037020402400240024002402002450d00200128020421052001280200210641800421074101210841012109034002402002200720022007491b220a2003280204220b20046b4d0d004100210c02400240200a20046a220d41057422084100480d00410021040240200b450d00200320093602102003200b410574360218410121040b20032004360214200341346a41012008200341106a108f8680800020032802344101470d01200328023c210e2003280238210c0b200c200e41bc83c3800010b980808000000b2003200328023822083602082003200d360204200821090b024002402007450d00200a210b200621070240034020054120490d012001200541606a22053602042001200741206a2206360200200741086a290000210f200741106a290000211020072900002111200341106a41186a2209200741186a290000370300200341106a41106a220d2010370300200341106a41086a220c200f370300200320113703100240200328020c22042003280204470d00200341046a41cc83c38000109086808000200328020821080b200820044105746a22072003290310370000200741186a2009290300370000200741106a200d290300370000200741086a200c2903003700002003200441016a220436020c2006210720082109200b417f6a220b0d000c030b0b2003280204450d0520082008417e6a2f00006b41002802ec82d48000118180808000000c050b200328020c21040b200421072002200a6b22020d000b20032802042207418080808078460d022003290208210f0c010b2003290208210f410021070b2000200f370204200020073602000c010b20004180808080783602000b200341c0006a2480808080000bac0603027f017e0a7f2380808080004180016b2203248080808000410021042003410036020c20034280808080c00037020402400240024020020d0020032902082105410021040c010b41a40221064104210702400240034002402002200620022006491b22082003280204220920046b4d0d00024002400240200820046a22044192c9a4124d0d00410021030c010b200441386c210a4100210b02402009450d00200320073602482003200941386c3602504104210b0b2003200b36024c200341106a4104200a200341c8006a108f8680800020032802104101470d0120032802182104200328021421030b2003200441bc83c3800010b980808000000b200320032802142207360208200320043602040b200821090240024020060d00200328020c21040c010b0340200341106a200110968580800020032d00244102460d03200341c8006a41306a220b200341106a41306a290200370300200341c8006a41286a220a200341106a41286a290200370300200341c8006a41206a220c200341106a41206a290200370300200341c8006a41186a220d200341106a41186a290200370300200341c8006a41106a220e200341106a41106a290200370300200341c8006a41086a220f200341106a41086a290200370300200320032902103703480240200328020c22062003280204470d00200341046a41cc83c380001097868080000b20032802082207200641386c6a22042003290348370200200441086a200f290300370200200441106a200e290300370200200441186a200d290300370200200441206a200c290300370200200441286a200a290300370200200441306a200b2903003702002003200641016a220436020c2009417f6a22090d000b0b20042106200220086b22020d000b20032802042204418080808078460d01200329020821050c020b0240200328020c2206450d00200328020841086a21040340200410ad88808000200441386a21042006417f6a22060d000b0b2003280204450d00200328020822042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002005370204200020043602000b20034180016a2480808080000bb00602077f017e23808080800041306b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041d50a210502400240034002402002200520022005491b22062003280208220720046b4d0d00024002400240200620046a220441aad5aad5004d0d00410021030c010b2004410c6c21084100210902402007450d002003200328020c36022020032007410c6c360228410421090b20032009360224200341146a41042008200341206a108f8680800020032802144101470d01200328021c2104200328021821030b2003200441bc83c3800010b980808000000b2003200328021836020c200320043602080b200621070240024020050d00200328021021040c010b03402003200110cd8480800020032802004101710d03200341146a2001200328020410a1838080002003280214418080808078460d03200341206a41086a2205200341146a41086a280200360200200320032902143703200240200328021022042003280208470d00200341086a41cc83c380001096868080000b200328020c2004410c6c6a22092003290320370200200941086a20052802003602002003200441016a22043602102007417f6a22070d000b0b20042105200220066b22020d000b20032802082204418080808078460d01200329020c210a0c030b024020032802102204450d00200328020c21092004410171210241002101024020044101460d002004417e7121052009210441002101034002402004280200450d00200441046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402004410c6a280200450d00200441106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200441186a21042005200141026a2201470d000b0b2002450d0020092001410c6c6a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b2003280208450d00200328020c22042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b200329020c210a410021040b2000200a370204200020043602000b200341306a2480808080000b9f0702097f017e23808080800041306b22032480808080002003410036021420034280808080c00037020c0240024002402002450d0041800821044100210502400240034002402002200420022004491b2206200328020c220720056b4d0d00024002400240200620056a220541ffffff3f4d0d00410021030c010b200541047421084100210902402007450d0020032003280210360224410421092003200741047436022c0b20032009360228200341186a41042008200341246a108f8680800020032802184101470d0120032802202105200328021c21030b2003200541bc83c3800010b980808000000b2003200328021c3602102003200536020c0b200621080240024020040d00200328021421050c010b0340200341246a200110fe8e80800020032802242205418080808078460d03200328022821070240024002400240200328022c220a2005460d0041002d008083d480001a410c41002802f482d48000118280808000002204450d012004200441036a417c7120046b22096a2204410136020820042005360204200420073602002004417e6a20093b000041d8edc18000210b0c030b024020050d0041a8ebc18000210b41002104410121070c030b2007410171450d0141e8ecc18000210b200721040c020b4104410c10ab80808000000b2007410172210441d4ecc18000210b0b024020032802142209200328020c470d002003410c6a41cc83c380001093868080000b200328021020094104746a2205200436020c2005200a360208200520073602042005200b3602002003200941016a22053602142008417f6a22080d000b0b20052104200220066b22020d000b200328020c2205418080808078460d012003290210210c0c030b024020032802142205450d00200328021021092005410171210841002104024020054101460d002005417e712107410021042009210503402005410c6a200541046a280200200541086a2802002005280200280210118680808000002005411c6a200541146a280200200541186a280200200541106a28020028021011868080800000200541206a21052007200441026a2204470d000b0b2008450d00200920044104746a2205410c6a200528020420052802082005280200280210118680808000000b200328020c450d00200328021022052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290210210c410021050b2000200c370204200020053602000b200341306a2480808080000ba70602077f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d00418008210502400240034002402002200520022005491b2206200328020c220720046b4d0d00024002400240200620046a220441ffffff3f4d0d00410021030c010b200441047421084100210902402007450d0020032003280210360224410421092003200741047436022c0b20032009360228200341186a41042008200341246a108f8680800020032802184101470d0120032802202101200328021c21030b2003200141bc83c3800010b980808000000b2003200328021c3602102003200436020c0b200621070240024020050d00200328021421040c010b0340200128020422044104490d0320012004417c6a36020420012001280200220441046a36020020042800002109200341246a200110fe8e80800020032802242208418080808078460d032003290228210a024020032802142204200328020c470d002003410c6a41cc83c380001093868080000b200328021020044104746a2205200936020c2005200a370204200520083602002003200441016a22043602142007417f6a22070d000b0b20042105200220066b22020d000b200328020c2201418080808078460d012003290210210a0c030b024020032802142201450d00200328021021092001410171210841002104024020014101460d002001417e7121072009210141002104034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012007200441026a2204470d000b0b2008450d00200920044104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200328020c450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c020b2003290210210a410021010b2000200a370204200020013602000b200341306a2480808080000bca0304047f017e067f017e23808080800041206b22032480808080000240024002402001280208220441046a28020022052002490d00024020020d0041002106420121070c020b2001290300210741808001210841002109200441046a210a4101210b410021060240034002402002200820022008491b220c200620096b4d0d004100210502400240200c20096a22084100480d004100210502402006450d002003200636021c2003200b360214410121050b20032005360218200341086a41012008200341146a108f8680800020032802084101470d012003280210210d200328020c21050b2005200d41bc83c3800010b980808000000b200328020c210b200a2802002105200821060b2005200c490d01200b20096a20042802002208200c10f4978080001a200a2005200c6b220536020020042008200c6a3602002001427f2007200cad7c220e200e2007541b2207370300200c20096a220921082002200c6b22020d000b2006418080808078460d012009ad422086200bad8421070c020b2006450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002007370204200020063602000b200341206a2480808080000bfe05020d7f027e2380808080004190106b2203248080808000410021042003410036020c2003428080808010370204024002400240024002402002450d00200128020021052001280204210620012802082107411021084101210903402001417f20062002200820022008491b220a410a746a220b200b2006491b2206360204200620074f0d030240200a2003280204220b20046b4d0d004100210c024002402004200a6a220d410a74220e4100480d00410021040240200b450d0020032009360290082003200b410a7436029808410121040b2003200436029408200341106a4101200e20034190086a108f8680800020032802104101470d012003280218210f2003280214210c0b200c200f41bc83c3800010b980808000000b2003200328021422093602082003200d3602040b024002402008450d00200a210b200528020c22082802082204280204220e418008490d05034020034190086a2004280200220941800810f4978080001a2004200e4180786a360204200420094180086a3602002008427f200829030022104280087c221120112010541b37030002402005280200200528020822046b41ff074b0d00200520044180084101410110a386808000200528020821040b200528020420046a20034190086a41800810f4978080001a200520052802084180086a360208200341106a20034190086a41800810f4978080001a0240200328020c22042003280204470d00200341046a41cc83c3800010a1868080000b200328020822092004410a746a200341106a41800810f4978080001a2003200441016a220436020c200b417f6a220b450d02200528020c22082802082204280204220e418008490d060c000b0b200328020c21040b200421082002200a6b22020d000b20032802042205418080808078460d03200329020821100c010b20032902082110410021050b20002010370204200020053602000c020b2003280204450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b20034190106a2480808080000b9407020d7f047e23808080800041d0006b2203248080808000410021042003410036020c2003428080808010370204024002400240024002402002450d0020012802002105200128020421062001280208210741800421084101210903402001417f20062002200820022008491b220a4105746a220b200b2006491b2206360204200620074f0d030240200a2003280204220b20046b4d0d004100210c024002402004200a6a220d410574220e4100480d00410021040240200b450d00200320093602302003200b410574360238410121040b20032004360234200341106a4101200e200341306a108f8680800020032802104101470d012003280218210f2003280214210c0b200c200f41bc83c3800010b980808000000b2003200328021422093602082003200d3602040b024002402008450d00200a210e200528020c220b280208220828020422044120490d0503402008200441606a36020420082008280200220441206a360200200341306a41086a2208200441086a290000370300200341306a41106a220d200441106a290000370300200341306a41186a220c200441186a290000370300200b427f200b290300221042207c221120112010541b3703002003200429000037033002402005280200200528020822046b411f4b0d002005200441204101410110a386808000200528020821040b200528020420046a220420032903302210370000200441186a200c2903002211370000200441106a200d2903002212370000200441086a200829030022133700002005200528020841206a360208200341106a41086a220b2013370300200341106a41106a220d2012370300200341106a41186a220c2011370300200320103703100240200328020c22082003280204470d00200341046a41cc83c380001090868080000b2003280208220920084105746a22042003290310370000200441086a200b290300370000200441106a200d290300370000200441186a200c2903003700002003200841016a220436020c200e417f6a220e450d02200528020c220b280208220828020422044120490d060c000b0b200328020c21040b200421082002200a6b22020d000b20032802042205418080808078460d03200329020821100c010b20032902082110410021050b20002010370204200020053602000c020b2003280204450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000b200341d0006a2480808080000b880201047f23808080800041106b220324808080800002402001450d0020014104742104200041086a2101200228020821000340200141046a28020021050240200228020020006b41034b0d0020022000410410f491808000200228020821000b2002200041046a360208200228020420006a20053600002001417c6a28020021062003200128020022003602082003200341086a36020c2003410c6a200210dc84808000024020002002280200200228020822056b4d0d0020022005200010f491808000200228020821050b200228020420056a2006200010f4978080001a2002200520006a2200360208200141106a2101200441706a22040d000b0b200341106a2480808080000bfd0101047f23808080800041106b220324808080800002402001450d00200141047421042000410c6a21010340200141786a280200210520032001417c6a28020022003602082003200341086a36020c2003410c6a200210dc84808000024020002002280200200228020822066b4d0d0020022006200010f491808000200228020821060b200228020420066a2005200010f4978080001a2002200620006a22003602080240200228020020006b41034b0d0020022000410410f491808000200228020821000b2002200041046a360208200228020420006a2001280000360000200141106a2101200441706a22040d000b0b200341106a2480808080000b800302027f017e4100210141002d008083d480001a0240412041002802f482d48000118280808000002202450d002002417e6a41003b0000200220002900002203370000200241086a200041086a290000370000200241106a200041106a290000370000200241186a200041186a29000037000002402003a741ff01710d0020022d00010d0020022d00020d0020022d00030d0020022d00040d0020022d00050d0020022d00060d0020022d00070d0020022d00080d0020022d00090d0020022d000a0d0020022d000b0d0020022d000c0d0020022d000d0d0020022d000e0d0020022d000f0d0020022d00100d0020022d00110d0020022d00120d0020022d00130d0020022d00140d0020022d00150d0020022d00160d0020022d00170d0020022d00180d0020022d00190d0020022d001a0d0020022d001b0d0020022d001c0d0020022d001d0d0020022d001e0d0020022d001f4521010b200241002802ec82d480001181808080000020010f0b4101412041dc83c3800010b980808000000bc30201037f23808080800041206b220424808080800041002105024002400240200141046a22064100480d00024020060d00410121050c030b41002d008083d480001a200641002802f482d480001182808080000022050d01410121050b2005200641dc83c3800010b980808000000b2005417e6a41003b00000b20044100360214200420053602102004200636020c200420013602182004200441186a36021c2004411c6a2004410c6a10dc8480800002402001200428020c200428021422066b4d0d002004410c6a2006200110f491808000200428021421060b200428021020066a2000200110f4978080001a200428020c21002002200320042802102205200620016a41002802dc82d480001183808080000002402000450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000bcf0201047f23808080800041206b2203248080808000410021040240024002402000280204220541046a22064100480d0020002802002104024020060d00410121000c030b41002d008083d480001a200641002802f482d480001182808080000022000d01410121040b2004200641dc83c3800010b980808000000b2000417e6a41003b00000b20034100360214200320003602102003200636020c200320053602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402005200328020c200328021422066b4d0d002003410c6a2006200510f491808000200328021421060b200328021020066a2004200510f4978080001a200328020c21042001200220032802102200200620056a41002802dc82d480001183808080000002402004450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000be61d03087f017e057f23808080800041e0006b220624808080800002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01ba022208410b490d00200128020421082001280208210941002d008083d480001a41bc0241002802f482d48000118280808000002201450d0c2001200141036a417c7120016b220a6a220b41003b01ba02200b41003602b001200b417e6a200a3b000020094105490d012009417b6a0e020304020b200741b4016a220c20012802082209410c6c6a210b02400240200941016a220a20084d0d00200b2002290200370200200b41086a200241086a2802003602000c010b200c200a410c6c6a200b200820096b220c410c6c10f9978080001a200b41086a200241086a280200360200200b20022902003702002007200a4104746a200720094104746a200c41047410f9978080001a0b200720094104746a220b41086a200341086a290200370200200b20032902003702002007200841016a3b01ba022001280204210d0c0e0b200b20072f01ba02417b6a22013b01ba02200641306a41086a220c200741c8006a290200370300200620072902403703302001410c4f0d0920072902e801210e20072802e401210a200b41b4016a200741f0016a2001410c6c10f4978080001a200b200741d0006a200141047410f4978080001a200741043b01ba02200641206a41086a200c290300370300200620062903303703202008210d2007210f0c040b200b20072f01ba0241796a22013b01ba02200641306a41086a220c200741e8006a290200370300200620072902603703302001410c4f0d07200729028002210e20072802fc01210a200b41b4016a20074188026a2001410c6c10f4978080001a200b200741f0006a200141047410f4978080001a200741063b01ba02200641206a41086a200c29030037030020062006290330370320200941796a21090c020b200b20072f01ba02417a6a22013b01ba02200641306a41086a2209200741d8006a290200370300200620072902503703302001410c4f0d0520072902f401210e20072802f001210a200b41b4016a200741fc016a2001410c6c10f4978080001a200b200741e0006a200141047410f4978080001a200641206a41086a200929030037030020062006290330370320200741063b01ba02200741f0016a220141086a200241086a28020036020020012002290200370200200741d0006a22012003290200370200200141086a200341086a290200370200410521092008210d2007210f0c030b200b20072f01ba02417a6a22013b01ba02200641306a41086a2209200741d8006a290200370300200620072902503703302001410c4f0d0320072902f401210e20072802f001210a200b41b4016a200741fc016a2001410c6c10f4978080001a200b200741e0006a200141047410f4978080001a200741053b01ba02200641206a41086a200929030037030020062006290330370320410021090b4100210d200b210f0b200f41b4016a22102009410c6c6a210102400240200f2f01ba02220c20094b0d0020012002290200370200200141086a200241086a2802003602000c010b2010200941016a2211410c6c6a2001200c20096b2210410c6c10f9978080001a200141086a200241086a28020036020020012002290200370200200f20114104746a200f20094104746a201041047410f9978080001a0b200f20094104746a220141086a200341086a29020037020020012003290200370200200f200c41016a3b01ba020b200641086a2201200641206a41086a290300370300200620062903203703000240200a418080808078470d00200f21070c080b200641106a41086a200129030037030020062006290300370310024020072802b00122010d00410021030c070b200641d4006a2112200641cc006a2113200641306a410c6a210c4100210303400240024020032008470d0020072f01b802210702400240024020012f01ba022203410b490d00200841016a2103200741054f0d014104210220132110200721080c020b200141b4016a22102007410c6c6a2102200741016a2108200341016a210c0240024020072003490d002002200e3702042002200a360200200120074104746a22022006290310370200200241086a200641106a41086a2903003702000c010b20102008410c6c6a2002200320076b2210410c6c10f9978080001a2002200e3702042002200a360200200120084104746a200120074104746a2202201041047410f9978080001a200241086a200641106a41086a29030037020020022006290310370200200141bc026a220220074102746a41086a200220084102746a201041027410f9978080001a0b2001200c3b01ba02200120084102746a200b3602bc022008200341026a22024f0d0a0240200320076b220a41016a410371220b450d00200120074102746a41c0026a210703402007280200220320083b01b802200320013602b001200741046a2107200841016a2108200b417f6a220b0d000b0b200a4103490d0a200841027420016a41c8026a21070340200741746a280200220b20083b01b802200b20013602b001200741786a280200220b200841016a3b01b802200b20013602b0012007417c6a280200220b200841026a3b01b802200b20013602b0012007280200220b200841036a3b01b802200b20013602b001200741106a21072002200841046a2208470d000c0b0b0b410021084105210220122110024002402007417b6a0e020002010b200641053602082006200336020420062001360200200641306a200610b583808000200628024c22072f01ba02220141016a210802400240024020014106490d00200741fc016a200741f0016a2001417b6a2203410c6c10f9978080001a2007200e3702f4012007200a3602f001200741e0006a200741d0006a200341047410f9978080001a200741d8006a200641106a41086a29030037020020072006290310370250200741d8026a200741d4026a2001410274416c6a10f9978080001a200720083b01ba022007200b3602d4020c010b2007200e3702f4012007200a3602f001200720062903103702502007200b3602d402200720083b01ba02200741d8006a200641106a41086a29030037020020014105470d010b200141037121034106210802402001417b6a41ffff03714103490d00200141fcff037141786a210a410621014100210b03402007200b6a220841d4026a280200220220013b01b802200220073602b001200841d8026a2802002202200141016a3b01b802200220073602b001200841dc026a2802002202200141026a3b01b802200220073602b001200841e0026a2802002208200141036a3b01b802200820073602b001200b41106a210b2001417a6a2102200141046a220821012002200a470d000b0b2003450d00200720084102746a41bc026a210103402001280200220b20083b01b802200b20073602b001200141046a2101200841016a21082003417f6a22030d000b0b200641206a41086a200c41086a2902003703002006200c2902003703200c030b200741796a210841062102201221100b200620023602082006200336020420062001360200200641306a200610b5838080002010280200220141b4016a22112008410c6c6a2102200841016a210720012f01ba02220341016a211002400240200320084b0d002002200e3702042002200a360200200120084104746a22022006290310370200200241086a200641106a41086a2903003702000c010b20112007410c6c6a2002200320086b2211410c6c10f9978080001a2002200e3702042002200a360200200120074104746a200120084104746a2202201141047410f9978080001a200241086a200641106a41086a29030037020020022006290310370200200141bc026a220220084102746a41086a200220074102746a201141027410f9978080001a0b200120103b01ba02200120074102746a200b3602bc0202402007200341026a22024f0d000240200320086b220a41016a410371220b450d00200120084102746a41c0026a210803402008280200220320073b01b802200320013602b001200841046a2108200741016a2107200b417f6a220b0d000b0b200a4103490d00200120074102746a41c8026a21080340200841746a280200220b20073b01b802200b20013602b001200841786a280200220b200741016a3b01b802200b20013602b0012008417c6a280200220b200741026a3b01b802200b20013602b0012008280200220b200741036a3b01b802200b20013602b001200841106a21082002200741046a2207470d000b0b200641206a41086a200c41086a2902003703002006200c290200370320200628024c21070c010b41a489c38000413541dc89c38000108081808000000b2006290234210e2006280230220a418080808078460d06200628025821032006280254210b20062802502108200641106a41086a200641206a41086a2903003703002006200629032037031020072802b0012201450d070c000b0b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b410441bc0210ab80808000000b200020093602082000200d3602042000200f3602000c020b0240024002400240200428020022012802002208450d002001280204210241002d008083d480001a41ec0241002802f482d48000118280808000002207450d022007200741036a417c7120076b220c6a220720083602bc02200741003b01ba02200741003602b0012007417e6a200c3b0000200841003b01b802200820073602b0012001200241016a3602042001200736020020032002470d0320072f01ba022201410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2007200141016a22083b01ba0220072001410c6c6a2203200e3702b8012003200a3602b401200720014104746a220141086a200641106a41086a29030037020020012006290310370200200741bc026a20084102746a200b360200200020093602082000200d3602042000200f360200200b20083b01b802200b20073602b0010c030b410441ec0210ab80808000000b41f086c38000413041a087c38000108081808000000b200020093602082000200d360204200020073602000b200641e0006a2480808080000bae05010a7f23808080800041c0006b2202248080808000200128020022032f01ba02210441002d008083d480001a0240024002400240024041ec0241002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01ba02200741003602b0012007417e6a20063b0000200241206a41086a200341b4016a220820012802082205410c6c6a220941086a280200360200200241306a41086a200320054104746a220a41086a290200370300200720032f01ba02220b2005417f736a22063b01ba02200220092902003703202002200a2902003703302006410c4f0d01200b200541016a22096b2006470d02200741b4016a20082009410c6c6a2006410c6c10f4978080001a2007200320094104746a200641047410f4978080002109200320053b01ba02200241086a200241206a41086a280200360200200241146a200241306a41086a290300370200200220022903203703002002200229033037020c20092f01ba02220741016a21062007410c4f0d03200420056b220a2006470d04200941bc026a200320054102746a41c0026a200a41027410f497808000210a200128020421014100210502400340200a20054102746a280200220620053b01b802200620093602b001200520074f0d01200520052007496a220520074d0d000b0b200020013602202000200336021c200020022903003702002000200136022820002009360224200041086a200241086a290300370200200041106a200241106a290300370200200041186a200241186a280200360200200241c0006a2480808080000f0b410441ec0210ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000baf1c03087f017e057f23808080800041a0076b2206248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01aa142208410b490d00200128020421082001280208210941002d008083d480001a41ac1441002802f482d48000118280808000002201450d082001200141036a417c7120016b220a6a220b41003b01aa14200b41003602a013200b417e6a200a3b000020094105490d012009417b6a0e020304020b200741a4136a220c20012802082209410c6c6a210b02400240200941016a220a20084d0d00200b2002290200370200200b41086a200241086a2802003602000c010b200c200a410c6c6a200b200820096b220c410c6c10f9978080001a200b41086a200241086a280200360200200b20022902003702002007200a41e0016c6a2007200941e0016c6a200c41e0016c10f9978080001a0b2007200941e0016c6a200341e00110f4978080001a2007200841016a3b01aa142001280204210d0c0f0b200b20072f01aa14417b6a22013b01aa1420072802d413210a20072902d813210e200641a4056a20074180076a41e00110f4978080001a2001410c4f0d07200b41a4136a200741e0136a2001410c6c10f4978080001a200b200741e0086a200141e0016c10f4978080001a200741043b01aa14200641c4036a200641a4056a41e00110f4978080001a2008210d2007210f0c040b200b20072f01aa1441796a22013b01aa1420072802ec13210a20072902f013210e200641a4056a200741c00a6a41e00110f4978080001a2001410c4f0d07200b41a4136a200741f8136a2001410c6c10f4978080001a200b200741a00c6a200141e0016c10f4978080001a200741063b01aa14200641c4036a200641a4056a41e00110f4978080001a200941796a21090c020b200b20072f01aa14417a6a22013b01aa1420072802e013210a20072902e413210e200641a4056a200741e0086a220941e00110f4978080001a2001410c4f0d07200b41a4136a200741ec136a2001410c6c10f4978080001a200b200741c00a6a200141e0016c10f4978080001a200641c4036a200641a4056a41e00110f4978080001a200741e0136a220141086a200241086a280200360200200120022902003702002009200341e00110f4978080001a200741063b01aa14410521092008210d2007210f0c030b200b20072f01aa14417a6a22013b01aa1420072802e013210a20072902e413210e200641a4056a200741e0086a41e00110f4978080001a2001410c4f0d07200b41a4136a200741ec136a2001410c6c10f4978080001a200b200741c00a6a200141e0016c10f4978080001a200741053b01aa14200641c4036a200641a4056a41e00110f4978080001a410021090b4100210d200b210f0b200f41a4136a2009410c6c6a210102400240200f2f01aa14220c20094b0d0020012002290200370200200141086a200241086a2802003602000c010b2001410c6a2001200c20096b2210410c6c10f9978080001a200141086a200241086a28020036020020012002290200370200200f200941e0016c6a220141e0016a2001201041e0016c10f9978080001a0b200f200941e0016c6a200341e00110f4978080001a200f200c41016a3b01aa140b200641046a200641c4036a41e00110f4978080001a0240200a418080808078470d00200f21070c090b200641e4016a200641046a41e00110f4978080001a024020072802a01322010d00410021020c080b20064198076a211120064190076a2112200641a4056a410c6a211341002102034020022008470d0620072f01a8142107024002400240024020012f01aa142202410b490d00200841016a2102200741054f0d01410421032012210c200721080c020b200141a4136a22102007410c6c6a2103200741016a2108200241016a210c0240024020072002490d002003200e3702042003200a3602002001200741e0016c6a200641e4016a41e00110f4978080001a0c010b20102008410c6c6a2003200220076b2210410c6c10f9978080001a2003200e3702042003200a3602002001200841e0016c6a2001200741e0016c6a220a201041e0016c10f9978080001a200a200641e4016a41e00110f4978080001a200141ac146a220a20074102746a41086a200a20084102746a201041027410f9978080001a0b2001200c3b01aa14200120084102746a200b3602ac142008200241026a22034f0d0a0240200220076b220241016a410371220b450d00200120074102746a41b0146a210703402007280200220a20083b01a814200a20013602a013200741046a2107200841016a2108200b417f6a220b0d000b0b20024103490d0a200841027420016a41b8146a21070340200741746a280200220b20083b01a814200b20013602a013200741786a280200220b200841016a3b01a814200b20013602a0132007417c6a280200220b200841026a3b01a814200b20013602a0132007280200220b200841036a3b01a814200b20013602a013200741106a21072003200841046a2208470d000c0b0b0b41002108410521032011210c024002402007417b6a0e020002010b2006410536020c2006200236020820062001360204200641a4056a200641046a10b78380800020062802900722072f01aa14220141016a210802400240024020014106490d00200741ec136a200741e0136a2001417b6a2202410c6c10f9978080001a2007200e3702e4132007200a3602e013200741c00a6a200741e0086a220a200241e0016c10f9978080001a200a200641e4016a41e00110f4978080001a200741c8146a200741c4146a2001410274416c6a10f9978080001a200720083b01aa142007200b3602c4140c010b2007200e3702e4132007200a3602e013200741e0086a200641e4016a41e00110f4978080001a200720083b01aa142007200b3602c41420014105470d010b2001410371210a4106210802402001417b6a41ffff03714103490d00200141fcff037141786a2103410621014100210b03402007200b6a220841c4146a280200220220013b01a814200220073602a013200841c8146a2802002202200141016a3b01a814200220073602a013200841cc146a2802002202200141026a3b01a814200220073602a013200841d0146a2802002208200141036a3b01a814200820073602a013200b41106a210b2001417a6a2102200141046a2208210120022003470d000b0b200a450d00200720084102746a41ac146a210103402001280200220b20083b01a814200b20073602a013200141046a2101200841016a2108200a417f6a220a0d000b0b20062902a805210e20062802a405210a200641c4036a201341e00110f4978080001a0c020b200741796a2108410621032011210c0b2006200336020c2006200236020820062001360204200641a4056a200641046a10b783808000200c280200220141a4136a22102008410c6c6a2102200841016a210720012f01aa14220341016a210c02400240200320084b0d002002200e3702042002200a3602002001200841e0016c6a200641e4016a41e00110f4978080001a0c010b20102007410c6c6a2002200320086b2210410c6c10f9978080001a2002200e3702042002200a3602002001200741e0016c6a2001200841e0016c6a220a201041e0016c10f9978080001a200a200641e4016a41e00110f4978080001a200141ac146a220a20084102746a41086a200a20074102746a201041027410f9978080001a0b2001200c3b01aa14200120074102746a200b3602ac1402402007200341026a22024f0d000240200320086b220341016a410371220b450d00200120084102746a41b0146a210803402008280200220a20073b01a814200a20013602a013200841046a2108200741016a2107200b417f6a220b0d000b0b20034103490d00200120074102746a41b8146a21080340200841746a280200220b20073b01a814200b20013602a013200841786a280200220b200741016a3b01a814200b20013602a0132008417c6a280200220b200741026a3b01a814200b20013602a0132008280200220b200741036a3b01a814200b20013602a013200841106a21082002200741046a2207470d000b0b20062902a805210e20062802a405210a200641c4036a201341e00110f4978080001a20062802900721070b200a418080808078460d07200628029c072102200628029807210b2006280294072108200641e4016a200641c4036a41e00110f4978080001a20072802a0132201450d080c000b0b410441ac1410ab80808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b41a489c38000413541dc89c38000108081808000000b200020093602082000200d3602042000200f3602000c020b0240024002400240200428020022012802002208450d002001280204210341002d008083d480001a41dc1441002802f482d48000118280808000002207450d022007200741036a417c7120076b220c6a220720083602ac14200741003b01aa14200741003602a0132007417e6a200c3b0000200841003b01a814200820073602a0132001200341016a3602042001200736020020022003470d0320072f01aa142201410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2007200141016a22083b01aa1420072001410c6c6a2202200e3702a8132002200a3602a4132007200141e0016c6a200641e4016a41e00110f4978080001a200741ac146a20084102746a200b360200200020093602082000200d3602042000200f360200200b20083b01a814200b20073602a0130c030b410441dc1410ab80808000000b41f086c38000413041a087c38000108081808000000b200020093602082000200d360204200020073602000b200641a0076a2480808080000bf70401097f23808080800041e0036b2202248080808000200128020022032f01aa14210441002d008083d480001a0240024002400240024041dc1441002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01aa14200741003602a0132007417e6a20063b0000200241f0016a41086a200341a4136a220820012802082205410c6c6a220941086a280200360200200720032f01aa14220a2005417f736a22063b01aa14200220092902003703f00120024180026a2003200541e0016c6a41e00110f4978080001a2006410c4f0d01200a200541016a22096b2006470d02200741a4136a20082009410c6c6a2006410c6c10f4978080001a20072003200941e0016c6a200641e0016c10f4978080002109200320053b01aa14200241086a200241f0016a41086a280200360200200220022903f0013703002002410c6a20024180026a41e00110f4978080001a20092f01aa14220741016a21062007410c4f0d03200420056b220a2006470d04200941ac146a200320054102746a41b0146a200a41027410f497808000210a200128020421014100210502400340200a20054102746a280200220620053b01a814200620093602a013200520074f0d01200520052007496a220520074d0d000b0b200020013602f001200020033602ec012000200241ec0110f497808000220520013602f801200520093602f401200241e0036a2480808080000f0b410441dc1410ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000bf31705017f017e0b7f027e017f23808080800041c0006b22062480808080002002290000210702400240024002400240024002400240024002400240024002400240024002400240200128020022022f01e2012208410b490d00200128020421082001280208210941002d008083d480001a41e40141002802f482d48000118280808000002201450d0c2001200141036a417c7120016b220a6a220b41003b01e201200b4100360258200b417e6a200a3b000020094105490d012009417b6a0e020304020b2002200128020822094103746a210b02400240200941016a220a20084d0d00200b20073700000c010b2002200a4103746a200b200820096b220c41037410f9978080001a200b2007370000200241dc006a220b200a410c6c6a200b2009410c6c6a200c410c6c10f9978080001a0b20022009410c6c6a220b200329020037025c200b41e4006a200341086a2802003602002002200841016a3b01e2012001280204210d2002210e0c0d0b200b20022f01e201417b6a22013b01e2012001410c4f0d09200241206a210c2002418c016a210a20024190016a210f410421104198012111412821122008210d2002210e0c040b200b20022f01e20141796a22013b01e2012001410c4f0d07200941796a2109200241306a210c200241a4016a210a200241a8016a210f4100210d4106211041b0012111413821120c020b200b20022f01e201417a6a22013b01e2012001410c4f0d0520022900282113200228029801210a200229029c012114200b200241306a200141037410f49780800041dc006a200241a4016a2001410c6c10f4978080001a20022007370028200241063b01e2012002200329020037029801200241a0016a200341086a280200360200410521092008210d2002210e0c030b200b20022f01e201417a6a22013b01e2012001410c4f0d03200241286a210c20024198016a210a2002419c016a210f410021094105211041a4012111413021124100210d0b200b210e0b200a280200210a200f2902002114200c2900002113200b200220126a200141037410f49780800041dc006a200220116a2001410c6c10f4978080001a200220103b01e201200e20094103746a21010240200e2f01e201220c20094d0d00200141086a2001200c20096b220f41037410f9978080001a200e2009410c6c6a221041e8006a201041dc006a200f410c6c10f9978080001a0b20012007370000200e2009410c6c6a2201200329020037025c200141e4006a200341086a280200360200200e200c41016a3b01e2010b200a418080808078460d060240200228025822010d00410021030c060b200641346a21122006412c6a21154100210303400240024020032008470d0020022f01e001210202400240024020012f01e2012203410b490d00200841016a2103200241054f0d014104210c2015210f200221080c020b200241016a2108200341016a210f200120024103746a210c0240024020022003490d00200c201337000020012002410c6c6a220c2014370260200c200a36025c0c010b200120084103746a200c200320026b221041037410f9978080001a200141dc006a22112008410c6c6a20112002410c6c6a22112010410c6c10f9978080001a201120143702042011200a360200200c2013370000200141e4016a220a20024102746a41086a200a20084102746a201041027410f9978080001a0b2001200f3b01e201200120084102746a200b3602e4012008200341026a220a4f0d0b0240200320026b220c41016a410371220b450d00200120024102746a41e8016a210203402002280200220320083b01e00120032001360258200241046a2102200841016a2108200b417f6a220b0d000b0b200c4103490d0b200841027420016a41f0016a21020340200241746a280200220b20083b01e001200b2001360258200241786a280200220b200841016a3b01e001200b20013602582002417c6a280200220b200841026a3b01e001200b20013602582002280200220b200841036a3b01e001200b2001360258200241106a2102200a200841046a2208470d000c0c0b0b410021084105210c2012210f024002402002417b6a0e020002010b20064105360214200620033602102006200136020c200641186a2006410c6a10b983808000200628022c22022f01e201220141016a21080240024020014106490d00200241306a200241286a2001417b6a220341037410f9978080001a200241a4016a20024198016a2003410c6c10f9978080001a2002201437029c012002200a360298012002201337002820024180026a200241fc016a2001410274416c6a10f9978080001a200220083b01e2012002200b3602fc010c010b2002200b3602fc012002201437029c012002200a3602980120022013370028200220083b01e20120014105470d040b200141037121034106210802402001417b6a41ffff03714103490d00200141fcff037141786a210c410621014100210b03402002200b6a220841fc016a280200220a20013b01e001200a200236025820084180026a280200220a200141016a3b01e001200a200236025820084184026a280200220a200141026a3b01e001200a200236025820084188026a2802002208200141036a3b01e00120082002360258200b41106a210b2001417a6a210a200141046a22082101200a200c470d000b0b2003450d03200220084102746a41e4016a210103402001280200220b20083b01e001200b2002360258200141046a2101200841016a21082003417f6a22030d000c040b0b200241796a21084106210c2012210f0b2006200c360214200620033602102006200136020c200841016a2102200641186a2006410c6a10b983808000200f280200220120084103746a210c20012f01e201220341016a210f02400240200320084b0d00200c201337000020012008410c6c6a220c2014370260200c200a36025c0c010b200120024103746a200c200320086b221041037410f9978080001a200141dc006a22112002410c6c6a20112008410c6c6a22112010410c6c10f9978080001a201120143702042011200a360200200c2013370000200141e4016a220a20084102746a41086a200a20024102746a201041027410f9978080001a0b2001200f3b01e201200120024102746a200b3602e40102402002200341026a220a4f0d000240200320086b220c41016a410371220b450d00200120084102746a41e8016a210803402008280200220320023b01e00120032001360258200841046a2108200241016a2102200b417f6a220b0d000b0b200c4103490d00200120024102746a41f0016a21080340200841746a280200220b20023b01e001200b2001360258200841786a280200220b200241016a3b01e001200b20013602582008417c6a280200220b200241026a3b01e001200b20013602582008280200220b200241036a3b01e001200b2001360258200841106a2108200a200241046a2202470d000b0b200628022c21020c010b41a489c38000413541dc89c38000108081808000000b200629022421142006280220220a418080808078460d0720062903182113200628023821032006280234210b2006280230210820022802582201450d060c000b0b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b410441e40110ab80808000000b02400240200428020022012802002208450d002001280204210c41002d008083d480001a41940241002802f482d48000118280808000002202450d032002200241036a417c7120026b220f6a220220083602e401200241003b01e201200241003602582002417e6a200f3b0000200841003b01e001200820023602582001200c41016a360204200120023602002003200c470d0420022f01e2012201410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2002200141016a22083b01e20120022001410c6c6a22032014370260200220014103746a20133700002003200a36025c200241e4016a20084102746a200b360200200b20083b01e001200b20023602580b200020093602082000200d3602042000200e360200200641c0006a2480808080000f0b410441940210ab80808000000b41f086c38000413041a087c38000108081808000000bdc04020a7f017e23808080800041206b2202248080808000200128020022032f01e201210441002d008083d480001a0240024002400240024041940241002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01e201200741003602582007417e6a20063b0000200241106a41086a200341dc006a220820012802082205410c6c6a220941086a280200360200200720032f01e201220a2005417f736a22063b01e201200220092902003703102006410c4f0d01200a200541016a220b6b2006470d02200320054103746a290000210c20072003200b4103746a200641037410f497808000220941dc006a2008200b410c6c6a2006410c6c10f4978080001a200320053b01e201200241086a200241106a41086a2802003602002002200229031037030020092f01e201220741016a21062007410c4f0d03200420056b220b2006470d04200941e4016a200320054102746a41e8016a200b41027410f497808000210b200128020421014100210502400340200b20054102746a280200220620053b01e00120062009360258200520074f0d01200520052007496a220520074d0d000b0b20002001360218200020033602142000200c37020020002002290300370208200020013602202000200936021c200041106a200241086a280200360200200241206a2480808080000f0b410441940210ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000baf1c010d7f23808080800041e0026b2205248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f01f6062207410b490d00200128020421072001280208210841002d008083d480001a41f80641002802f482d48000118280808000002201450d082001200141036a417c7120016b22096a220a41003b01f606200a41003602f006200a417e6a20093b000020084105490d012008417b6a0e020304020b02402001280208220841016a220a20074b0d002006200a41d0006c6a2006200841d0006c6a200720086b41d0006c10f9978080001a0b2006200841d0006c6a200241d00010f4978080001a2006200741016a3b01f6062001280204210b0c0f0b200a20062f01f606417b6a22013b01f60620054180026a200641c0026a41cc0010f4978080001a200541fc016a41026a220c2006418f036a2d00003a0000200520062f008d033b01fc012001410c4f0d0720062d008c032109200a20064190036a200141d0006c10f4978080001a200641043b01f606200541b0016a20054180026a41cc0010f4978080001a200541ac016a41026a200c2d00003a0000200520052f01fc013b01ac012007210b2006210d0c040b200a20062f01f60641796a22013b01f60620054180026a200641e0036a41cc0010f4978080001a200541fc016a41026a220c200641af046a2d00003a0000200520062f00ad043b01fc012001410c4f0d0720062d00ac042109200a200641b0046a200141d0006c10f4978080001a200641063b01f606200541b0016a20054180026a41cc0010f4978080001a200541ac016a41026a200c2d00003a0000200520052f01fc013b01ac01200841796a21080c020b200a20062f01f606417a6a22013b01f60620054180026a20064190036a220841cc0010f4978080001a200541fc016a41026a220c200641df036a2d00003a0000200520062f00dd033b01fc012001410c4f0d0720062d00dc032109200a200641e0036a200141d0006c10f4978080001a200541b0016a20054180026a41cc0010f4978080001a200541ac016a41026a200c2d00003a0000200520052f01fc013b01ac012008200241d00010f4978080001a200641063b01f606410521082007210b2006210d0c030b200a20062f01f606417a6a22013b01f60620054180026a20064190036a41cc0010f4978080001a200541fc016a41026a2208200641df036a2d00003a0000200520062f00dd033b01fc012001410c4f0d0720062d00dc032109200a200641e0036a200141d0006c10f4978080001a200641053b01f606200541b0016a20054180026a41cc0010f4978080001a200541ac016a41026a20082d00003a0000200520052f01fc013b01ac01410021080b4100210b200a210d0b0240200d2f01f606220120084d0d00200d200841d0006c6a220c41d0006a200c200120086b41d0006c10f9978080001a0b200d200841d0006c6a200241d00010f4978080001a200d200141016a3b01f6060b200541106a200541b0016a41cc0010f4978080001a2005410c6a41026a2201200541ac016a41026a2d00003a0000200520052f01ac013b010c0240200941ff01714102470d00200d21060c090b200541e0006a200541106a41cc0010f4978080001a200541dc006a41026a20012d00003a0000200520052f010c3b015c024020062802f00622010d00410021020c080b200541dd026a210e20054180026a41106a210f41002102034020022007470d0620062f01f4062106024002400240024002400240024020012f01f6062202410b490d00200741016a210220064105490d01410021074105210c2006417b6a0e020204030b200641016a21070240200620024f220e0d002001200741d0006c6a2001200641d0006c6a200220066b41d0006c10f9978080001a0b200241016a21102001200641d0006c6a200541e0006a41cc0010f497808000220c20093a004c200c20052f015c3b004d200c41cf006a200541dc006a41026a2d00003a0000200141f8066a210c200241026a21090240200e0d00200c20064102746a41086a200c20074102746a200220066b41027410f9978080001a0b200120103b01f606200c20074102746a200a360200200720094f0d0d0240200220066b220c41016a410371220a450d00200120064102746a41fc066a210603402006280200220220073b01f406200220013602f006200641046a2106200741016a2107200a417f6a220a0d000b0b200c4103490d0d200741027420016a4184076a21060340200641746a280200220a20073b01f406200a20013602f006200641786a280200220a200741016a3b01f406200a20013602f0062006417c6a280200220a200741026a3b01f406200a20013602f0062006280200220a200741036a3b01f406200a20013602f006200641106a21062009200741046a2207470d000c0e0b0b20054104360218200520023602142005200136021020054180026a200541106a10bb838080002005280280022101200621070c030b20054105360218200520023602142005200136021020054180026a200541106a10bb8380800020052802800222064190036a210720062f01f606220141016a21020240024020014106490d00200641e0036a2007200141d0006c41f07c6a10f9978080001a2007200541e0006a41cc0010f4978080001a200620093a00dc03200620052f015c3b00dd03200641df036a200541dc006a41026a2d00003a000020064194076a20064190076a2001410274416c6a10f9978080001a200620023b01f6062006200a360290070c010b2007200541e0006a41cc0010f4978080001a200620093a00dc032006200a36029007200620023b01f606200620052f015c3b00dd03200641df036a200541dc006a41026a2d00003a000020014105470d040b200141037121024106210702402001417b6a41ffff03714103490d00200141fcff037141786a210c410621014100210a03402006200a6a22074190076a280200220920013b01f406200920063602f00620074194076a2802002209200141016a3b01f406200920063602f00620074198076a2802002209200141026a3b01f406200920063602f0062007419c076a2802002207200141036a3b01f406200720063602f006200a41106a210a2001417a6a2109200141046a220721012009200c470d000b0b2002450d03200620074102746a41f8066a210103402001280200220a20073b01f406200a20063602f006200141046a2101200741016a21072002417f6a22020d000c040b0b200641796a21074106210c0b2005200c360218200520023602142005200136021020054180026a200541106a10bb8380800020052802880221010b200741016a21062001200741d0006c6a210c20012f01f606220241016a211002400240200220074b0d00200c200541e0006a41cc0010f497808000220c20093a004c200c20052f015c3b004d200c41cf006a200541dc006a41026a2d00003a00000c010b2001200641d0006c6a200c200220076b221141d0006c10f9978080001a200c200541e0006a41cc0010f497808000220c20093a004c200c20052f015c3b004d200c41cf006a200541dc006a41026a2d00003a0000200141f8066a220920074102746a41086a200920064102746a201141027410f9978080001a0b200120103b01f606200120064102746a200a3602f80602402006200241026a22094f0d000240200220076b220c41016a410371220a450d00200120074102746a41fc066a210703402007280200220220063b01f406200220013602f006200741046a2107200641016a2106200a417f6a220a0d000b0b200c4103490d00200120064102746a4184076a21070340200741746a280200220a20063b01f406200a20013602f006200741786a280200220a200641016a3b01f406200a20013602f0062007417c6a280200220a200641026a3b01f406200a20013602f0062007280200220a200641036a3b01f406200a20013602f006200741106a21072009200641046a2206470d000b0b20052802800221060b200528028c022102200528028802210a2005280284022107200541b0016a200f41cc0010f4978080001a200541fc016a41026a2201200e41026a2d00003a00002005200e2f00003b01fc0120052d00dc0222094102460d07200541e0006a200541b0016a41cc0010f4978080001a200541dc006a41026a20012d00003a0000200520052f01fc013b015c20062802f0062201450d080c000b0b410441f80610ab80808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b41a489c38000413541dc89c38000108081808000000b200020083602082000200b3602042000200d3602000c020b0240024002400240200328020022012802002207450d002001280204210c41002d008083d480001a41a80741002802f482d48000118280808000002206450d022006200641036a417c7120066b220e6a220620073602f806200641003b01f606200641003602f0062006417e6a200e3b0000200741003b01f406200720063602f0062001200c41016a360204200120063602002002200c470d0320062f01f6062201410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2006200141016a22073b01f6062006200141d0006c6a200541e0006a41cc0010f497808000220120093a004c200120052f015c3b004d200141cf006a200541dc006a41026a2d00003a0000200641f8066a20074102746a200a360200200020083602082000200b3602042000200d360200200a20073b01f406200a20063602f0060c030b410441a80710ab80808000000b41f086c38000413041a087c38000108081808000000b200020083602082000200b360204200020063602000b200541e0026a2480808080000b8f0401087f23808080800041a0016b2202248080808000200128020022032f01f606210441002d008083d480001a0240024002400240024041a80741002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01f606200741003602f0062007417e6a20063b0000200720032f01f606220820012802082205417f736a22063b01f606200241d0006a2003200541d0006c6a41d00010f4978080001a2006410c4f0d012008200541016a22096b2006470d0220072003200941d0006c6a200641d0006c10f4978080002108200320053b01f6062002200241d0006a41d00010f497808000210920082f01f606220741016a21062007410c4f0d03200420056b22022006470d04200841f8066a200320054102746a41fc066a200241027410f4978080002102200128020421014100210502400340200220054102746a280200220620053b01f406200620083602f006200520074f0d01200520052007496a220520074d0d000b0b2000200136020420002003360200200041106a200941d00010f4978080001a2000200136020c20002008360208200941a0016a2480808080000f0b410441a80710ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000bca2101147f2380808080004190016b22062480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f0192032208410b490d00200128020421092001280208210a41002d008083d480001a41940341002802f482d48000118280808000002201450d0b2001200141036a417c7120016b220b6a220841003b019203200841003602e0022008417e6a200b3b0000200a4105490d01200a417b6a0e020304020b200741e4026a220c200128020822094102746a210b200941016a220d20084d0d07200b20023602000c080b200820072f019203417b6a22013b019203200641d8006a41086a220d20074188016a290000370300200641d8006a41106a220c20074190016a290000370300200641d8006a41186a220e20074198016a29000037030020062007290080013703582001410c4f0d0a20072802f402210b200841e4026a200741f8026a200141027410f4978080001a2008200741a0016a200141057410f4978080001a200741043b019203200641286a41086a200d290300370300200641286a41106a200c290300370300200641286a41186a200e290300370300200620062903583703282009210f200721100c040b200820072f01920341796a22013b019203200641d8006a41086a220d200741c8016a290000370300200641d8006a41106a220c200741d0016a290000370300200641d8006a41186a220e200741d8016a290000370300200620072900c0013703582001410c4f0d0a20072802fc02210b200841e4026a20074180036a200141027410f4978080001a2008200741e0016a200141057410f4978080001a200741063b019203200641286a41086a200d290300370300200641286a41106a200c290300370300200641286a41186a200e29030037030020062006290358370328200a41796a210a0c020b200820072f019203417a6a22013b019203200641d8006a41086a220d200741a8016a290000370300200641d8006a41106a220c200741b0016a290000370300200641d8006a41186a220e200741b8016a290000370300200620072900a0013703582001410c4f0d0a20072802f802210b200841e4026a200741fc026a200141027410f4978080001a4105210a2008200741c0016a200141057410f4978080001a200641286a41186a200e290300370300200641286a41106a200c290300370300200641286a41086a200d29030037030020062006290358370328200720023602f802200741063b019203200741a0016a22012003290000370000200141086a200341086a290000370000200141106a200341106a290000370000200141186a200341186a2900003700002009210f200721100c030b200820072f019203417a6a22013b019203200641d8006a41086a220d200741a8016a290000370300200641d8006a41106a220c200741b0016a290000370300200641d8006a41186a220e200741b8016a290000370300200620072900a0013703582001410c4f0d0a20072802f802210b200841e4026a200741fc026a200141027410f4978080001a2008200741c0016a200141057410f4978080001a200741053b019203200641286a41086a200d290300370300200641286a41106a200c290300370300200641286a41186a200e290300370300200620062903583703284100210a0b4100210f200821100b201041e4026a220c200a4102746a21010240024020102f019203220d200a4b0d00200120023602000c010b200c200a41016a220e4102746a2001200d200a6b220c41027410f9978080001a200120023602002010200e4105746a2010200a4105746a200c41057410f9978080001a0b2010200a4105746a220141186a200341186a290000370000200141106a200341106a29000037000020012003290000370000200141086a200341086a2900003700002010200d41016a3b0192030b200641086a41186a220c200641286a41186a220e290300370300200641086a41106a2211200641286a41106a2212290300370300200641086a41086a2213200641286a41086a22142903003703002006200629032837030820072802e00222030d02410021010c0a0b200c200d4102746a200b200820096b220c41027410f9978080001a200b20023602002007200d4105746a200720094105746a200c41057410f9978080001a0b200720094105746a220b41186a200341186a290000370000200b41106a200341106a290000370000200b2003290000370000200b41086a200341086a2900003700002007200841016a3b019203200128020421032000200936020820002003360204200020073602000c090b200641ec006a210241002101034020012009470d0620072f0190032107024002400240024002400240024020032f0192032201410b490d00200941016a210120074105490d01410021094105210d2007417b6a0e020204030b200341e4026a220c2007410274220e6a2102200741016a2109200141016a210d0240024020072001490d002002200b360200200320074105746a220b2006290308370000200b41186a200641086a41186a290300370000200b41106a200641086a41106a290300370000200b41086a200641086a41086a2903003700000c010b200c200941027422116a2002200120076b220c410274221210f9978080001a2002200b360200200320094105746a200320074105746a220b200c41057410f9978080001a200b41186a200641086a41186a290300370000200b41106a200641086a41106a290300370000200b41086a200641086a41086a290300370000200b200629030837000020034194036a220b200e6a41086a200b20116a201210f9978080001a0b2003200d3b019203200320094102746a2008360294032009200141026a220b4f0d0d0240200120076b220241016a4103712201450d00200320074102746a4198036a210703402007280200220820093b019003200820033602e002200741046a2107200941016a21092001417f6a22010d000b0b20024103490d0d200941027420036a41a0036a21070340200741746a280200220120093b019003200120033602e002200741786a2802002201200941016a3b019003200120033602e0022007417c6a2802002201200941026a3b019003200120033602e00220072802002201200941036a3b019003200120033602e002200741106a2107200b200941046a2209470d000c0e0b0b20064104360254200620013602502006200336024c200641d8006a200641cc006a10bd8380800020062802582103200721090c030b20064105360254200620013602502006200336024c200641d8006a200641cc006a10bd83808000200628025822072f019203220341016a210902400240024020034106490d00200741fc026a200741f8026a2003417b6a220141027410f9978080001a2007200b3602f802200741c0016a200741a0016a200141057410f9978080001a200741b8016a200c290300370000200741b0016a2011290300370000200741a8016a2013290300370000200720062903083700a001200741b0036a200741ac036a2003410274416c6a10f9978080001a200720093b019203200720083602ac030c010b2007200b3602f802200720062903083700a001200720083602ac03200720093b019203200741a8016a2013290300370000200741b0016a2011290300370000200741b8016a200c29030037000020034105470d010b200341037121084106210902402003417b6a41ffff03714103490d00200341fcff037141786a210d41062103410021010340200720016a220941ac036a280200220b20033b019003200b20073602e002200941b0036a280200220b200341016a3b019003200b20073602e002200941b4036a280200220b200341026a3b019003200b20073602e002200941b8036a2802002209200341036a3b019003200920073602e002200141106a21012003417a6a210b200341046a22092103200b200d470d000b0b2008450d00200720094102746a4194036a210303402003280200220120093b019003200120073602e002200341046a2103200941016a21092008417f6a22080d000b0b2014200241086a2902003703002012200241106a290200370300200e200241186a290200370300200620022902003703280c030b200741796a21094106210d0b2006200d360254200620013602502006200336024c200641d8006a200641cc006a10bd83808000200628026021030b200341e4026a2215200941027422166a210d200941016a210720032f019203220141016a211702400240200120094b0d00200d200b360200200320094105746a220b2006290308370000200b41186a200c290300370000200b41106a2011290300370000200b41086a20132903003700000c010b2015200741027422186a200d200120096b2215410274221910f9978080001a200d200b360200200320074105746a200320094105746a220b201541057410f9978080001a200b41186a200c290300370000200b41106a2011290300370000200b41086a2013290300370000200b200629030837000020034194036a220b20166a41086a200b20186a201910f9978080001a0b200320173b019203200320074102746a20083602940302402007200141026a220b4f0d000240200120096b220d41016a4103712201450d00200320166a4198036a210903402009280200220820073b019003200820033602e002200941046a2109200741016a21072001417f6a22010d000b0b200d4103490d00200320074102746a41a0036a21090340200941746a280200220120073b019003200120033602e002200941786a2802002201200741016a3b019003200120033602e0022009417c6a2802002201200741026a3b019003200120033602e00220092802002201200741036a3b019003200120033602e002200941106a2109200b200741046a2207470d000b0b2014200241086a2902003703002012200241106a290200370300200e200241186a2902003703002006200229020037032820062802582207450d080b2006280268210b2006280264210120062802602108200628025c2109200c200e29030037030020112012290300370300201320142903003703002006200629032837030820072802e0022203450d080c000b0b410441940310ab80808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b41a489c38000413541dc89c38000108081808000000b2000200a3602082000200f360204200020103602000c010b02400240200428020022032802002209450d002003280204210241002d008083d480001a41c40341002802f482d48000118280808000002207450d032007200741036a417c7120076b220d6a2207200936029403200741003b019203200741003602e0022007417e6a200d3b0000200941003b019003200920073602e0022003200241016a3602042003200736020020012002470d0420072f0192032203410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2007200341016a22093b019203200720034102746a200b3602e402200720034105746a220341186a200641086a41186a290300370200200341106a200641086a41106a290300370200200341086a200641086a41086a2903003702002003200629030837020020074194036a20094102746a2008360200200820093b019003200820073602e002200020103602002000200f3602042000200a3602080b20064190016a2480808080000f0b410441c40310ab80808000000b41f086c38000413041a087c38000108081808000000bcc0501097f23808080800041c0006b2202248080808000200128020022032f019203210441002d008083d480001a0240024002400240024041c40341002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b019203200741003602e0022007417e6a20063b0000200241206a41086a2003200128020822054105746a220841086a290000370300200241206a41106a200841106a290000370300200241206a41186a200841186a290000370300200720032f01920322092005417f736a22063b019203200220082900003703202006410c4f0d012009200541016a22086b2006470d02200341e4026a220920054102746a280200210a200741e4026a200920084102746a200641027410f4978080001a2007200320084105746a200641057410f4978080002108200320053b019203200241086a200241206a41086a290300370300200241106a200241206a41106a290300370300200241186a200241206a41186a2903003703002002200229032037030020082f019203220741016a21062007410c4f0d03200420056b22092006470d0420084194036a200320054102746a4198036a200941027410f4978080002109200128020421014100210502400340200920054102746a280200220620053b019003200620083602e002200520074f0d01200520052007496a220520074d0d000b0b2000200a3602102000200136020420002003360200200020022903003702142000200136020c200020083602082000411c6a200241086a290300370200200041246a200241106a2903003702002000412c6a200241186a290300370200200241c0006a2480808080000f0b410441c40310ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b8515030c7f017e017f23808080800041306b2205248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f018a012207410b490d00200128020421072001280208210841002d008083d480001a418c0141002802f482d48000118280808000002201450d082001200141036a417c7120016b22096a220a41003b018a01200a4100360200200a417e6a20093b000020084105490d012008417b6a0e020304020b200641046a210a02402001280208220841016a220920074b0d00200a2009410c6c6a200a2008410c6c6a200720086b410c6c10f9978080001a0b200a2008410c6c6a220a2002290200370200200a41086a200241086a2802003602002006200741016a3b018a012001280204210b2006210c0c0e0b200a20062f018a01417b6a22013b018a012001410c4f0d07200641346a2109200641386a210d4104210e41c000210f2007210b2006210c0c040b200a20062f018a0141796a22013b018a012001410c4f0d07200841796a2108200641cc006a2109200641d0006a210d4100210b4106210e41d800210f0c020b200a20062f018a01417a6a22013b018a012001410c4f0d072006280240211020062902442111200a41046a200641cc006a2001410c6c10f4978080001a200641063b018a01200641c8006a200241086a28020036020020062002290200370240410521082007210b2006210c0c030b200a20062f018a01417a6a22013b018a012001410c4f0d07200641c0006a2109200641c4006a210d410021084105210e41cc00210f4100210b0b200a210c0b20092802002110200d2902002111200a41046a2006200f6a2001410c6c10f4978080001a2006200e3b018a01200c41046a21010240200c2f018a01220920084d0d0020012008410c6c6a220d410c6a200d200920086b410c6c10f9978080001a0b20012008410c6c6a22012002290200370200200141086a200241086a280200360200200c200941016a3b018a010b2010418080808078460d070240200628020022010d00410021020c070b200541286a210f200541206a211241002102034020022007470d0620062f0188012106024002400240024020012f018a012202410b490d00200741016a2102200641054f0d01410421092012210d200621070c020b200141046a220e2006410c6c6a2109200641016a2107200241016a210d0240024020062002490d0020092011370204200920103602000c010b200e2007410c6c6a2009200220066b220e410c6c10f9978080001a20092011370204200920103602002001418c016a220920064102746a41086a200920074102746a200e41027410f9978080001a0b2001200d3b018a01200120074102746a200a36028c012007200241026a22094f0d0b0240200220066b221041016a410371220a450d00200120064102746a4190016a210603402006280200220220073b01880120022001360200200641046a2106200741016a2107200a417f6a220a0d000b0b20104103490d0b200741027420016a4198016a21060340200641746a280200220a20073b018801200a2001360200200641786a280200220a200741016a3b018801200a20013602002006417c6a280200220a200741026a3b018801200a20013602002006280200220a200741036a3b018801200a2001360200200641106a21062009200741046a2207470d000c0c0b0b4100210741052109200f210d024002402006417b6a0e020002010b200541053602102005200236020c20052001360208200541146a200541086a10bf83808000200528022022062f018a01220741016a21010240024020074106490d00200641cc006a200641c0006a2007410c6c41446a10f9978080001a2006201137024420062010360240200641a8016a200641a4016a2007410274416c6a10f9978080001a200620013b018a012006200a3602a4010c010b2006200a3602a4012006201137024420062010360240200620013b018a0120074105470d030b200741037121024106210102402007417b6a41ffff03714103490d00200741fcff037141786a2110410621074100210a03402006200a6a220141a4016a280200220920073b01880120092006360200200141a8016a2802002209200741016a3b01880120092006360200200141ac016a2802002209200741026a3b01880120092006360200200141b0016a2802002201200741036a3b01880120012006360200200a41106a210a2007417a6a2109200741046a2201210720092010470d000b0b2002450d02200620014102746a418c016a210703402007280200220a20013b018801200a2006360200200741046a2107200141016a21012002417f6a22020d000c030b0b200641796a210741062109200f210d0b200520093602102005200236020c20052001360208200541146a200541086a10bf83808000200d280200220141046a220e2007410c6c6a2109200741016a210620012f018a01220241016a210d02400240200220074b0d0020092011370204200920103602000c010b200e2006410c6c6a2009200220076b220e410c6c10f9978080001a20092011370204200920103602002001418c016a220920074102746a41086a200920064102746a200e41027410f9978080001a0b2001200d3b018a01200120064102746a200a36028c0102402006200241026a22094f0d000240200220076b221041016a410371220a450d00200120074102746a4190016a210703402007280200220220063b01880120022001360200200741046a2107200641016a2106200a417f6a220a0d000b0b20104103490d00200120064102746a4198016a21070340200741746a280200220a20063b018801200a2001360200200741786a280200220a200641016a3b018801200a20013602002007417c6a280200220a200641026a3b018801200a20013602002007280200220a200641036a3b018801200a2001360200200741106a21072009200641046a2206470d000b0b200528022021060b2005290218211120052802142210418080808078460d08200528022c21022005280228210a2005280224210720062802002201450d070c000b0b4104418c0110ab80808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b41a489c38000413541dc89c38000108081808000000b02400240200328020022072802002201450d002007280204210941002d008083d480001a41bc0141002802f482d48000118280808000002206450d032006200641036a417c7120066b220d6a2206200136028c01200641003b018a01200641003602002006417e6a200d3b0000200141003b018801200120063602002007200941016a3602042007200636020020022009470d0420062f018a012207410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2006200741016a22013b018a0120062007410c6c6a22072011370208200720103602042006418c016a20014102746a200a360200200a20013b018801200a20063602000b200020083602082000200b3602042000200c360200200541306a2480808080000f0b410441bc0110ab80808000000b41f086c38000413041a087c38000108081808000000baf0401097f23808080800041206b2202248080808000200128020022032f018a01210441002d008083d480001a0240024002400240024041bc0141002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b018a01200741003602002007417e6a20063b0000200241106a41086a200341046a220820012802082205410c6c6a220941086a280200360200200720032f018a01220a2005417f736a22063b018a01200220092902003703102006410c4f0d01200a200541016a22096b2006470d02200741046a20082009410c6c6a2006410c6c10f4978080001a200320053b018a01200241086a200241106a41086a2802003602002002200229031037030020072f018a01220641016a21092006410c4f0d03200420056b220a2009470d042007418c016a200320054102746a4190016a200a41027410f49780800021092001280204210a4100210502400340200920054102746a280200220120053b01880120012007360200200520064f0d01200520052006496a220520064d0d000b0b2000200a3602102000200336020c200020022903003702002000200a36021820002007360214200041086a200241086a280200360200200241206a2480808080000f0b410441bc0110ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2009410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000baf1c03087f017e057f23808080800041a0036b2206248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01aa092208410b490d00200128020421082001280208210941002d008083d480001a41ac0941002802f482d48000118280808000002201450d082001200141036a417c7120016b220a6a220b41003b01aa09200b41003602a008200b417e6a200a3b000020094105490d012009417b6a0e020304020b200741a4086a220c20012802082209410c6c6a210b02400240200941016a220a20084d0d00200b2002290200370200200b41086a200241086a2802003602000c010b200c200a410c6c6a200b200820096b220c410c6c10f9978080001a200b41086a200241086a280200360200200b20022902003702002007200a41e0006c6a2007200941e0006c6a200c41e0006c10f9978080001a0b2007200941e0006c6a200341e00010f4978080001a2007200841016a3b01aa092001280204210d0c0f0b200b20072f01aa09417b6a22013b01aa0920072802d408210a20072902d808210e200641a4026a20074180036a41e00010f4978080001a2001410c4f0d07200b41a4086a200741e0086a2001410c6c10f4978080001a200b200741e0036a200141e0006c10f4978080001a200741043b01aa09200641c4016a200641a4026a41e00010f4978080001a2008210d2007210f0c040b200b20072f01aa0941796a22013b01aa0920072802ec08210a20072902f008210e200641a4026a200741c0046a41e00010f4978080001a2001410c4f0d07200b41a4086a200741f8086a2001410c6c10f4978080001a200b200741a0056a200141e0006c10f4978080001a200741063b01aa09200641c4016a200641a4026a41e00010f4978080001a200941796a21090c020b200b20072f01aa09417a6a22013b01aa0920072802e008210a20072902e408210e200641a4026a200741e0036a220941e00010f4978080001a2001410c4f0d07200b41a4086a200741ec086a2001410c6c10f4978080001a200b200741c0046a200141e0006c10f4978080001a200641c4016a200641a4026a41e00010f4978080001a200741e0086a220141086a200241086a280200360200200120022902003702002009200341e00010f4978080001a200741063b01aa09410521092008210d2007210f0c030b200b20072f01aa09417a6a22013b01aa0920072802e008210a20072902e408210e200641a4026a200741e0036a41e00010f4978080001a2001410c4f0d07200b41a4086a200741ec086a2001410c6c10f4978080001a200b200741c0046a200141e0006c10f4978080001a200741053b01aa09200641c4016a200641a4026a41e00010f4978080001a410021090b4100210d200b210f0b200f41a4086a2009410c6c6a210102400240200f2f01aa09220c20094b0d0020012002290200370200200141086a200241086a2802003602000c010b2001410c6a2001200c20096b2210410c6c10f9978080001a200141086a200241086a28020036020020012002290200370200200f200941e0006c6a220141e0006a2001201041e0006c10f9978080001a0b200f200941e0006c6a200341e00010f4978080001a200f200c41016a3b01aa090b200641046a200641c4016a41e00010f4978080001a0240200a418080808078470d00200f21070c090b200641e4006a200641046a41e00010f4978080001a024020072802a00822010d00410021020c080b20064198036a211120064190036a2112200641a4026a410c6a211341002102034020022008470d0620072f01a8092107024002400240024020012f01aa092202410b490d00200841016a2102200741054f0d01410421032012210c200721080c020b200141a4086a22102007410c6c6a2103200741016a2108200241016a210c0240024020072002490d002003200e3702042003200a3602002001200741e0006c6a200641e4006a41e00010f4978080001a0c010b20102008410c6c6a2003200220076b2210410c6c10f9978080001a2003200e3702042003200a3602002001200841e0006c6a2001200741e0006c6a220a201041e0006c10f9978080001a200a200641e4006a41e00010f4978080001a200141ac096a220a20074102746a41086a200a20084102746a201041027410f9978080001a0b2001200c3b01aa09200120084102746a200b3602ac092008200241026a22034f0d0a0240200220076b220241016a410371220b450d00200120074102746a41b0096a210703402007280200220a20083b01a809200a20013602a008200741046a2107200841016a2108200b417f6a220b0d000b0b20024103490d0a200841027420016a41b8096a21070340200741746a280200220b20083b01a809200b20013602a008200741786a280200220b200841016a3b01a809200b20013602a0082007417c6a280200220b200841026a3b01a809200b20013602a0082007280200220b200841036a3b01a809200b20013602a008200741106a21072003200841046a2208470d000c0b0b0b41002108410521032011210c024002402007417b6a0e020002010b2006410536020c2006200236020820062001360204200641a4026a200641046a10c18380800020062802900322072f01aa09220141016a210802400240024020014106490d00200741ec086a200741e0086a2001417b6a2202410c6c10f9978080001a2007200e3702e4082007200a3602e008200741c0046a200741e0036a220a200241e0006c10f9978080001a200a200641e4006a41e00010f4978080001a200741c8096a200741c4096a2001410274416c6a10f9978080001a200720083b01aa092007200b3602c4090c010b2007200e3702e4082007200a3602e008200741e0036a200641e4006a41e00010f4978080001a200720083b01aa092007200b3602c40920014105470d010b2001410371210a4106210802402001417b6a41ffff03714103490d00200141fcff037141786a2103410621014100210b03402007200b6a220841c4096a280200220220013b01a809200220073602a008200841c8096a2802002202200141016a3b01a809200220073602a008200841cc096a2802002202200141026a3b01a809200220073602a008200841d0096a2802002208200141036a3b01a809200820073602a008200b41106a210b2001417a6a2102200141046a2208210120022003470d000b0b200a450d00200720084102746a41ac096a210103402001280200220b20083b01a809200b20073602a008200141046a2101200841016a2108200a417f6a220a0d000b0b20062902a802210e20062802a402210a200641c4016a201341e00010f4978080001a0c020b200741796a2108410621032011210c0b2006200336020c2006200236020820062001360204200641a4026a200641046a10c183808000200c280200220141a4086a22102008410c6c6a2102200841016a210720012f01aa09220341016a210c02400240200320084b0d002002200e3702042002200a3602002001200841e0006c6a200641e4006a41e00010f4978080001a0c010b20102007410c6c6a2002200320086b2210410c6c10f9978080001a2002200e3702042002200a3602002001200741e0006c6a2001200841e0006c6a220a201041e0006c10f9978080001a200a200641e4006a41e00010f4978080001a200141ac096a220a20084102746a41086a200a20074102746a201041027410f9978080001a0b2001200c3b01aa09200120074102746a200b3602ac0902402007200341026a22024f0d000240200320086b220341016a410371220b450d00200120084102746a41b0096a210803402008280200220a20073b01a809200a20013602a008200841046a2108200741016a2107200b417f6a220b0d000b0b20034103490d00200120074102746a41b8096a21080340200841746a280200220b20073b01a809200b20013602a008200841786a280200220b200741016a3b01a809200b20013602a0082008417c6a280200220b200741026a3b01a809200b20013602a0082008280200220b200741036a3b01a809200b20013602a008200841106a21082002200741046a2207470d000b0b20062902a802210e20062802a402210a200641c4016a201341e00010f4978080001a20062802900321070b200a418080808078460d07200628029c032102200628029803210b2006280294032108200641e4006a200641c4016a41e00010f4978080001a20072802a0082201450d080c000b0b410441ac0910ab80808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b41a489c38000413541dc89c38000108081808000000b200020093602082000200d3602042000200f3602000c020b0240024002400240200428020022012802002208450d002001280204210341002d008083d480001a41dc0941002802f482d48000118280808000002207450d022007200741036a417c7120076b220c6a220720083602ac09200741003b01aa09200741003602a0082007417e6a200c3b0000200841003b01a809200820073602a0082001200341016a3602042001200736020020022003470d0320072f01aa092201410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2007200141016a22083b01aa0920072001410c6c6a2202200e3702a8082002200a3602a4082007200141e0006c6a200641e4006a41e00010f4978080001a200741ac096a20084102746a200b360200200020093602082000200d3602042000200f360200200b20083b01a809200b20073602a0080c030b410441dc0910ab80808000000b41f086c38000413041a087c38000108081808000000b200020093602082000200d360204200020073602000b200641a0036a2480808080000bf10401097f23808080800041e0016b2202248080808000200128020022032f01aa09210441002d008083d480001a0240024002400240024041dc0941002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01aa09200741003602a0082007417e6a20063b0000200241f0006a41086a200341a4086a220820012802082205410c6c6a220941086a280200360200200720032f01aa09220a2005417f736a22063b01aa092002200929020037037020024180016a2003200541e0006c6a41e00010f4978080001a2006410c4f0d01200a200541016a22096b2006470d02200741a4086a20082009410c6c6a2006410c6c10f4978080001a20072003200941e0006c6a200641e0006c10f4978080002109200320053b01aa09200241086a200241f0006a41086a280200360200200220022903703703002002410c6a20024180016a41e00010f4978080001a20092f01aa09220741016a21062007410c4f0d03200420056b220a2006470d04200941ac096a200320054102746a41b0096a200a41027410f497808000210a200128020421014100210502400340200a20054102746a280200220620053b01a809200620093602a008200520074f0d01200520052007496a220520074d0d000b0b200020013602702000200336026c2000200241ec0010f4978080002205200136027820052009360274200241e0016a2480808080000f0b410441dc0910ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000bd71c010f7f23808080800041f0006b2205248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f018e022207410b490d00200128020421072001280208210841002d008083d480001a41900241002802f482d48000118280808000002201450d082001200141036a417c7120016b22096a220a41003b018e02200a410036028802200a417e6a20093b000020084105490d012008417b6a0e020304020b02402001280208220841016a220a20074b0d002006200a41186c6a2006200841186c6a200720086b41186c10f9978080001a0b2006200841186c6a220a2002290200370200200a41106a200241106a290200370200200a41086a200241086a2902003702002006200741016a3b018e022001280204210b0c0f0b200a20062f018e02417b6a22013b018e02200541c8006a41086a220c200641ec006a290200370300200541c8006a41106a220d200641f4006a280200360200200520062902643703482001410c4f0d0720062802602109200a200641f8006a200141186c10f4978080001a200641043b018e02200541306a41086a200c290300370300200541306a41106a200d280200360200200520052903483703302007210b2006210e0c040b200a20062f018e0241796a22013b018e02200541c8006a41086a220c2006419c016a290200370300200541c8006a41106a220d200641a4016a28020036020020052006290294013703482001410c4f0d072006280290012109200a200641a8016a200141186c10f4978080001a200641063b018e02200541306a41086a200c290300370300200541306a41106a200d28020036020020052005290348370330200841796a21080c020b200a20062f018e02417a6a22013b018e02200541c8006a41086a220c20064184016a290200370300200541c8006a41106a22082006418c016a2802003602002005200629027c3703482001410c4f0d0720062802782109200a20064190016a200141186c10f4978080001a200541306a41106a2008280200360200200541306a41086a200c29030037030020052005290348370330200641063b018e02200641f8006a220141106a200241106a290200370200200141086a200241086a29020037020020012002290200370200410521082007210b2006210e0c030b200a20062f018e02417a6a22013b018e02200541c8006a41086a220c20064184016a290200370300200541c8006a41106a22082006418c016a2802003602002005200629027c3703482001410c4f0d0720062802782109200a20064190016a200141186c10f4978080001a200641053b018e02200541306a41086a200c290300370300200541306a41106a200828020036020020052005290348370330410021080b4100210b200a210e0b0240200e2f018e02220c20084d0d00200e200841186c6a220141186a2001200c20086b41186c10f9978080001a0b200e200841186c6a22012002290200370200200141106a200241106a290200370200200141086a200241086a290200370200200e200c41016a3b018e020b200541106a2201200541306a41106a280200360200200541086a2202200541306a41086a2903003703002005200529033037030002402009418080808078470d00200e21060c090b200541186a41106a2001280200360200200541186a41086a200229030037030020052005290300370318024020062802880222010d00410021020c080b200541e8006a210f200541e0006a2110200541c8006a41046a210d41002102200541186a41106a2111034020022007470d0620062f018c022106024002400240024020012f018e022202410b490d00200741016a2102200641054f0d014104210c20102112200621070c020b200641016a2107200241016a210d2001200641186c6a210c0240024020062002490d00200c2009360200200c2005290318370204200c410c6a200541206a290300370200200c41146a200541286a2802003602000c010b2001200741186c6a200c200220066b221141186c10f9978080001a200c2009360200200c2005290318370204200c410c6a200541186a41086a290300370200200c41146a200541286a28020036020020014190026a220920064102746a41086a200920074102746a201141027410f9978080001a0b2001200d3b018e02200120074102746a200a360290022007200241026a22094f0d0a0240200220066b220c41016a4103712202450d00200120064102746a4194026a210603402006280200220a20073b018c02200a200136028802200641046a2106200741016a21072002417f6a22020d000b0b200c4103490d0a200741027420016a419c026a21060340200641746a280200220220073b018c022002200136028802200641786a2802002202200741016a3b018c0220022001360288022006417c6a2802002202200741026a3b018c02200220013602880220062802002202200741036a3b018c022002200136028802200641106a21062009200741046a2207470d000c0b0b0b410021074105210c200f2112024002402006417b6a0e020002010b200541053602082005200236020420052001360200200541c8006a200510c383808000200528026022062f018e02220741016a210102400240024020074106490d0020064190016a200641f8006a200741186c41887f6a10f9978080001a200620093602782006200529031837027c20064184016a200541186a41086a2903003702002006418c016a2011280200360200200641ac026a200641a8026a2007410274416c6a10f9978080001a200620013b018e022006200a3602a8020c010b200620093602782006200529031837027c2006200a3602a802200620013b018e0220064184016a200541186a41086a2903003702002006418c016a201128020036020020074105470d010b2007410371210a4106210102402007417b6a41ffff03714103490d00200741fcff037141786a210c41062107410021020340200620026a220141a8026a280200220920073b018c022009200636028802200141ac026a2802002209200741016a3b018c022009200636028802200141b0026a2802002209200741026a3b018c022009200636028802200141b4026a2802002201200741036a3b018c022001200636028802200241106a21022007417a6a2109200741046a220121072009200c470d000b0b200a450d00200620014102746a4190026a210703402007280200220220013b018c022002200636028802200741046a2107200141016a2101200a417f6a220a0d000b0b200541306a41086a200d41086a290200370300200541306a41106a200d41106a2802003602002005200d2902003703300c020b200641796a21074106210c200f21120b2005200c3602082005200236020420052001360200200741016a2106200541c8006a200510c38380800020122802002201200741186c6a210220012f018e02220c41016a211202400240200c20074b0d0020022009360200200220052903183702042002410c6a200541186a41086a290300370200200241146a20112802003602000c010b2001200641186c6a2002200c20076b221341186c10f9978080001a20022009360200200220052903183702042002410c6a200541186a41086a290300370200200241146a201128020036020020014190026a220220074102746a41086a200220064102746a201341027410f9978080001a0b200120123b018e02200120064102746a200a3602900202402006200c41026a22094f0d000240200c20076b220c41016a4103712202450d00200120074102746a4194026a210703402007280200220a20063b018c02200a200136028802200741046a2107200641016a21062002417f6a22020d000b0b200c4103490d00200120064102746a419c026a21070340200741746a280200220220063b018c022002200136028802200741786a2802002202200641016a3b018c0220022001360288022007417c6a2802002202200641026a3b018c02200220013602880220072802002202200641036a3b018c022002200136028802200741106a21072009200641046a2206470d000b0b200541306a41086a200d41086a290200370300200541306a41106a200d41106a2802003602002005200d290200370330200528026021060b20052802482209418080808078460d07200528026c21022005280268210a200528026421072011200541306a41106a280200360200200541186a41086a200541306a41086a290300370300200520052903303703182006280288022201450d080c000b0b410441900210ab80808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b2001410b418489c38000109181808000000b41a489c38000413541dc89c38000108081808000000b200020083602082000200b3602042000200e3602000c020b0240024002400240200328020022072802002201450d002007280204210c41002d008083d480001a41c00241002802f482d48000118280808000002206450d022006200641036a417c7120066b220d6a2206200136029002200641003b018e0220064100360288022006417e6a200d3b0000200141003b018c0220012006360288022007200c41016a360204200720063602002002200c470d0320062f018e022207410b490d0141c086c38000412041b087c38000108081808000000b41b086c3800010a081808000000b2006200741016a22013b018e022006200741186c6a22072009360200200720052903183702042007410c6a200541206a290300370200200741146a200541286a28020036020020064190026a20014102746a200a360200200020083602082000200b3602042000200e360200200a20013b018c02200a2006360288020c030b410441c00210ab80808000000b41f086c38000413041a087c38000108081808000000b200020083602082000200b360204200020063602000b200541f0006a2480808080000be00401087f23808080800041306b2202248080808000200128020022032f018e02210441002d008083d480001a0240024002400240024041c00241002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b018e0220074100360288022007417e6a20063b0000200241186a41086a20032001280208220541186c6a220841086a290200370300200241186a41106a200841106a290200370300200720032f018e0222092005417f736a22063b018e02200220082902003703182006410c4f0d012009200541016a22086b2006470d0220072003200841186c6a200641186c10f4978080002108200320053b018e02200241086a200241186a41086a290300370300200241106a200241186a41106a2903003703002002200229031837030020082f018e02220741016a21062007410c4f0d03200420056b22092006470d0420084190026a200320054102746a4194026a200941027410f4978080002109200128020421014100210502400340200920054102746a280200220620053b018c022006200836028802200520074f0d01200520052007496a220520074d0d000b0b2000200136021c20002003360218200020022903003702002000200136022420002008360220200041086a200241086a290300370200200041106a200241106a290300370200200241306a2480808080000f0b410441c00210ab80808000000b2006410b418489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b2006410c419489c38000109181808000000b41cc88c38000412841f488c38000108081808000000b9607030d7f037e027f23808080800041a0026b220224808080800002400240024002402001200028021422032f01e20c22046a2205410c4f0d00200028020c22062f01e20c22072001490d012006200720016b22083b01e20c200320053b01e20c2003200141186c6a2003200441186c10f9978080001a2003418c026a2209200141fc006c6a2009200441fc006c10f9978080001a2007200841016a220a6b22072001417f6a470d0220032006200a41186c6a200741186c220b10f497808000210320092006418c026a220c200a41fc006c6a200741fc006c220d10f49780800021092002410c6a200c200841fc006c6a41fc0010f4978080001a2000280200220c2000280208220e41186c6a2207290200210f2006200841186c6a220841106a2902002110200841086a29020021112007200829020037020020024188016a41106a2212200741106a220829020037030020024188016a41086a2213200741086a220729020037030020072011370200200820103702002002200f37038801200241a4016a200c200e41fc006c6a418c026a220841fc0010f4978080001a20082002410c6a41fc0010f4978080001a2003200b6a220841106a2012290300370200200841086a201329030037020020082002290388013702002009200d6a200241a4016a41fc0010f4978080001a20002802182108024002402000280210450d002008450d01200341e40c6a2200200141027422016a2000200441027441046a10f9978080001a20002006200a4102746a41e40c6a200110f4978080001a200541016a2208410371210641002101024020054103490d00200341f00c6a21002008413c712107410021010340200041746a280200220820013b01e00c2008200336028802200041786a2802002208200141016a3b01e00c20082003360288022000417c6a2802002208200141026a3b01e00c200820033602880220002802002208200141036a3b01e00c2008200336028802200041106a21002007200141046a2201470d000b0b2006450d05200141027420036a41e40c6a210003402000280200220820013b01e00c2008200336028802200041046a2100200141016a21012006417f6a22060d000c060b0b2008450d040b41e88ac38000412841908bc38000108081808000000b41ec89c38000413341a08ac38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200241a0026a2480808080000ba708050b7f017e037f027e027f23808080800041a0026b22022480808080000240024002402001200028020c22032f01e20c22046a2205410c4f0d00200028021422062f01e20c22072001490d01200320053b01e20c2006200720016b22053b01e20c2002410c6a2006418c026a2207200141fc006c220841847f6a22096a41fc0010f4978080001a2000280200220a2000280208220b41186c6a220c290200210d2006200141186c220e41686a220f6a221041106a2902002111201041086a2902002112200c201029020037020020024188016a41106a2210200c41106a221329020037030020024188016a41086a2214200c41086a220c290200370300200c2012370200201320113702002002200d37038801200241a4016a200a200b41fc006c6a418c026a220c41fc0010f4978080001a200c2002410c6a41fc0010f4978080001a2003200441186c6a220c41106a2010290300370200200c41086a2014290300370200200c2002290388013702002003200441fc006c6a2210418c026a200241a4016a41fc0010f4978080001a200c41186a2006200f10f4978080001a20104188036a2007200910f4978080001a20062006200e6a200541186c10f99780800021062007200720086a200541fc006c10f9978080001a20002802182107024002402000280210450d002007450d01200341e40c6a2208200441016a22074102746a200641e40c6a22002001410274220c10f497808000211020002000200c6a200541027441046a10f9978080001a2010280200220020073b01e00c2000200336028802024020014101460d002008200441026a22004102746a280200220720003b01e00c200720033602880220014102460d002008200441036a22004102746a280200220720003b01e00c200720033602880220014103460d002008200441046a22004102746a280200220720003b01e00c200720033602880220014104460d002008200441056a22014102746a280200220020013b01e00c20002003360288020b200541016a2204410371210341002101024020054103490d00200641f00c6a21002004417c712104410021010340200041746a280200220520013b01e00c2005200636028802200041786a2802002205200141016a3b01e00c20052006360288022000417c6a2802002205200141026a3b01e00c200520063602880220002802002205200141036a3b01e00c2005200636028802200041106a21002004200141046a2201470d000b0b2003450d04200141027420066a41e40c6a210003402000280200220520013b01e00c2005200636028802200041046a2100200141016a21012003417f6a22030d000c050b0b2007450d030b41e88ac380004128419c8cc38000108081808000000b41a08bc38000413241d48bc38000108081808000000b41e48bc380004128418c8cc38000108081808000000b200241a0026a2480808080000b8608010f7f2380808080004180016b220224808080800002400240200128020c22032f01e20c220441016a2205200128021422062f01e20c22076a2208410c4f0d00200128021021092001280204210a2001280200220b2f01e20c210c200320083b01e20c200241106a220d200b2001280208220e41186c6a220141106a290200370300200241086a220f200141086a290200370300200220012902003703002001200141186a200c200e417f736a221041186c10f9978080001a2003200441186c6a220141106a200d290300370200200141086a200f290300370200200120022903003702002003200541186c6a2006200741186c10f4978080001a2002200b200e41fc006c6a2201418c026a220f41fc0010f497808000210d200f20014188036a201041fc006c10f9978080001a2003418c026a2201200441fc006c6a200d41fc0010f4978080001a2001200541fc006c6a2006418c026a200741fc006c10f4978080001a200b200e41016a22014102746a220241e40c6a200241e80c6a201041027410f9978080001a02402001200c4f0d00200c200e6b417e6a210f024020104103712210450d00200e410274200b6a41e80c6a210203402002280200220e20013b01e00c200e200b36028802200241046a2102200141016a21012010417f6a22100d000b0b200f4103490d002001410274200b6a41f00c6a21020340200241746a280200221020013b01e00c2010200b36028802200241786a2802002210200141016a3b01e00c2010200b360288022002417c6a2802002210200141026a3b01e00c2010200b3602880220022802002210200141036a3b01e00c2010200b36028802200241106a2102200c200141046a2201470d000b0b200b200b2f01e20c417f6a3b01e20c0240200a4102490d00200741016a2201200820046b470d02200341e40c6a20054102746a200641e40c6a200141027410f4978080001a02402001410371220b450d00200441027420036a41e80c6a210103402001280200220220053b01e00c2002200336028802200141046a2101200541016a2105200b417f6a220b0d000b0b20074103490d002005410274210b03402003200b6a220141e40c6a280200220220053b01e00c2002200336028802200141e80c6a2802002202200541016a3b01e00c2002200336028802200141ec0c6a2802002202200541026a3b01e00c2002200336028802200141f00c6a2802002201200541036a22023b01e00c2001200336028802200541046a2105200b41106a210b20022008470d000b0b20062006417e6a2f00006b41002802ec82d48000118180808000002000200936020420002003360200200d4180016a2480808080000f0b41cc8dc38000412a41f88dc38000108081808000000b41cc88c38000412841f488c38000108081808000000bf10e07087f017e027f017e017f017e037f20002802002103024020002802042204450d0002400240200441037122050d00200421060c010b2004210603402006417f6a2106200320032f018a014102746a28028c0121032005417f6a22050d000b0b20044104490d000340200320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c0121032006417c6a22060d000b0b200128021c210720012802182108200128021421092001280210210a2001290208210b2001280204210c2001280200210d0240034002400240200d4102460d00200b210e200c210f200d4101710d010c030b20092007460d022009280200210f2009290204210e2009410c6a21090b4100210d024020092007460d002009410c6a2106200929020421104101210d0240200f2009280200220c460d002010210b200621090c010b024020062007470d002010210b200f210c200621092010210e4100210d0c010b200941186a21062009290210210b0240200f200928020c220c460d00200621092010210e0c010b0340200b210e024020062007470d00200e210b200f210c200621094100210d0c020b2006280200210c200641046a290200210b2006410c6a22092106200f200c460d000b0b200e422088a72111200ea72112024002400240024002400240024020032f018a012206410b490d0041002113024003400240200328025822030d00200028020421052000280200210641002d008083d480001a41bc0141002802f482d48000118280808000002203450d042003200341036a417c7120036b22016a2203200636028c01200341003b018a01200341003602582003417e6a20013b00002000200541016a221336020420002003360200200641003b018801200620033602580c020b201341016a211320032f018a01410a4b0d000b0b41002d008083d480001a418c0141002802f482d48000118280808000002206450d022006200641036a417c7120066b22016a220541003b018a01200541003602582005417e6a20013b00002013417f6a2201450d04034041002d008083d480001a41bc0141002802f482d48000118280808000002206450d042006200641036a417c7120066b22046a2206200536028c01200641003b018a01200641003602582006417e6a20043b0000200541003b01880120052006360258200621052001417f6a2201450d050c000b0b2003200641016a3b018a01200320064102746a200f36025c200320064103746a22062011360204200620123602000c040b410441bc0110ab80808000000b4104418c0110ab80808000000b410441bc0110ab80808000000b20032f018a012206410b4f0d012003200641016a22013b018a01200320064102746a200f36025c200320064103746a2206201136020420062012360200200320014102746a200536028c01200520013b018801200520033602582013450d0002400240201341037122050d00201321060c010b2013210603402006417f6a2106200320032f018a014102746a28028c0121032005417f6a22050d000b0b20134104490d000340200320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c01220320032f018a014102746a28028c0121032006417c6a22060d000b0b2002200228020041016a3602000c010b0b41c086c38000412041b087c38000108081808000000b02402008450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b024020002802042204450d00200028020021050340024002400240024020052f018a012203450d0020052003417f6a220f4102746a22132802900122062f018a01220341054f0d03410520036b41ffff03712209201328028c0122012f018a0122074b0d012001200720096b220c3b018a01200641053b018a01200641dc006a220d200941027422026a200d2003410274220010f9978080001a200620094103746a2006200341037410f9978080001a2007200c41016a22036b22072009417f6a470d02200d200141dc006a22092003410274220a6a2007410274221110f497808000210d2006200120034103746a2007410374220710f4978080002103201328025c21122001200c4103746a290200210e20132009200c4102746a28020036025c2005200f4103746a2205290200210b2005200e370200200d20116a2012360200200320076a200b37020020044101460d052003418c016a220520026a2005200041046a10f9978080001a20052001200a6a418c016a200210f4978080001a200328028c01220541003b01880120052003360258200328029001220541013b01880120052003360258200328029401220541023b01880120052003360258200328029801220541033b01880120052003360258200328029c01220541043b0188012005200336025820032802a001220541053b018801200520033602580c030b41fc83c380004119419885c38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200621052004417f6a22040d000b0b0bea12050b7f017e017f037e047f23808080800041306b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01e2014102746a2802e40121042006417f6a22060d000b0b20054104490d000340200420042f01e2014102746a2802e401220420042f01e2014102746a2802e401220420042f01e2014102746a2802e401220420042f01e2014102746a2802e40121042007417c6a22070d000b0b20012802202108200128021c2109200128021821052001280214210a2001280210210b200128020c210c2001280208210d2001290200210e03402001210f20112110200bad422086200cad84211203400240024002400240200d418180808078460d0020052107200d2106200e21110c010b024020052008470d004180808080782113200341106a2106418180808078210d20102111200f21010c020b200541146a2107200529020c211220052802082106200529020021110b418080808078211302402006418080808078470d00200341106a2106418180808078210d2010211120072105200f21010c010b2012a721010240024020072008470d00418080808078210d200721050c010b200741146a21052007280210210b200728020c210c2007290200210e2007280208220d418080808078460d002011200e510d020b200320063602102012422088a721132003410c6a21060b20062013360200024020032802102214418080808078460d00200328020c2115024002400240024002400240024020042f01e2012207410b490d0041002116024003400240200428025822040d00200028020421062000280200210741002d008083d480001a41940241002802f482d48000118280808000002204450d042004200441036a417c7120046b22136a220420073602e401200441003b01e201200441003602582004417e6a20133b00002000200641016a221636020420002004360200200741003b01e001200720043602580c020b201641016a211620042f01e201410a4b0d000b0b41002d008083d480001a41e40141002802f482d48000118280808000002207450d022007200741036a417c7120076b22136a220641003b01e201200641003602582006417e6a20133b00002016417f6a2213450d04034041002d008083d480001a41940241002802f482d48000118280808000002207450d042007200741036a417c7120076b220f6a220720063602e401200741003b01e201200741003602582007417e6a200f3b0000200641003b01e00120062007360258200721062013417f6a2213450d050c000b0b2004200741016a3b01e20120042007410c6c6a22062015360264200620013602602006201436025c200420074103746a20113700000c040b410441940210ab80808000000b410441e40110ab80808000000b410441940210ab80808000000b20042f01e2012207410b4f0d012004200741016a22133b01e20120042007410c6c6a220f2001360260200420074103746a2011370000200f201436025c200f2015360264200420134102746a20063602e401200620133b01e001200620043602582016450d0002400240201641037122060d00201621070c010b2016210703402007417f6a2107200420042f01e2014102746a2802e40121042006417f6a22060d000b0b20164104490d000340200420042f01e2014102746a2802e401220420042f01e2014102746a2802e401220420042f01e2014102746a2802e401220420042f01e2014102746a2802e40121042007417c6a22070d000b0b2002200228020041016a3602000c040b41c086c38000412041b087c38000108081808000000b024020082005460d00200820056b220741146e220641017121134100210402402007416c6a4114490d00200541206a2107200641feffffff007121014100210403400240200741686a280200450d002007416c6a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402007417c6a280200450d00200728020022062006417e6a2f00006b41002802ec82d48000118180808000000b200741286a21072001200441026a2204470d000b0b2013450d002005200441146c6a2207280208450d00200741086a28020422072007417e6a2f00006b41002802ec82d48000118180808000000b02402009450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200d418280808078480d00200d450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b024020002802042213450d00200028020021060340024002400240024020062f01e2012207450d0020062007417f6a220f4102746a22042802e80122072f01e201220541054f0d03410520056b41ffff0371220d20042802e40122012f01e20122044b0d0120012004200d6b22163b01e201200741053b01e2012007200d4103746a2007200541037410f9978080001a200741dc006a220c200d410c6c6a200c2005410c6c10f9978080001a2004201641016a22086b220b200d417f6a470d022007200120084103746a200b410374220210f4978080002104200c200141dc006a22142008410c6c6a200b410c6c220b10f497808000210c200341106a41086a20142016410c6c6a221441086a28020022153602002014290200210e2006200f4103746a221429000021112014200120164103746a2900003700002003200e3703102006200f410c6c6a220629025c21122006200e37025c200641e4006a2206280200210f20062015360200200420026a2011370000200c200b6a22062012370200200641086a200f36020020134101460d03200441e4016a2206200d410274220d6a2006200541027441046a10f9978080001a2006200120084102746a41e4016a200d10f4978080001a20042802e401220641003b01e0012006200436025820042802e801220641013b01e0012006200436025820042802ec01220641023b01e0012006200436025820042802f001220641033b01e0012006200436025820042802f401220641043b01e0012006200436025820042802f801220641053b01e001200620043602580c030b41fc83c380004119419885c38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200721062013417f6a22130d000b0b200341306a2480808080000f0b200729020c21122011210e2006450d0020012001417e6a2f00006b41002802ec82d48000118180808000002011210e0c000b0b0ba21508107f017e017f017e017f017e017f017e23808080800041a0016b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f0192034102746a2802940321042006417f6a22060d000b0b20054104490d000340200420042f0192034102746a28029403220420042f0192034102746a28029403220420042f0192034102746a28029403220420042f0192034102746a2802940321042007417c6a22070d000b0b200341086a2208200141106a290200370300200341106a2209200141186a290200370300200341186a220a200141206a290200370300200320012902083703002001280234210b2001280230210c200128022c210d2001280228210e2001280204210f20012802002110024003400240024020104102460d0020034180016a41186a200a29030037030020034180016a41106a200929030037030020034180016a41086a20082903003703002003200329030037038001200f211120104101710d010c030b200d200b460d02200d280200211120034180016a41186a200d411c6a29020037030020034180016a41106a200d41146a29020037030020034180016a41086a200d410c6a2902003703002003200d29020437038001200d41246a210d0b200341e0006a41186a220620034180016a41186a290300370300200341e0006a41106a220120034180016a41106a290300370300200341e0006a41086a220520034180016a41086a2903003703002003200329038001370360410021100240200d200b460d00200d280200210f200a200d411c6a2902003703002009200d41146a2902003703002008200d410c6a2902003703002003200d290204370300200d41246a210d02402011200f460d00410121100c010b20052008290300370300200120092903003703002006200a290300370300200320032903003703602011210f200d200b460d00024002400340200d2207280200210f200a2007411c6a2902003703002009200741146a29020037030020082007410c6a2902003703002003200741046a2902003703002011200f470d0120052008290300370300200120092903003703002006200a29030037030020032003290300370360200741246a220d200b470d000b410021102011210f0c010b410121100b200741246a210d0b200341206a41186a221220062903002213370300200341206a41106a221420012903002215370300200341206a41086a221620052903002217370300200341c0006a41086a22062017370300200341c0006a41106a22012015370300200341c0006a41186a2205201337030020032003290360221337032020032013370340024002400240024002400240024020042f0192032207410b490d004100211802400340024020042802e00222040d00200028020421062000280200210741002d008083d480001a41c40341002802f482d48000118280808000002204450d042004200441036a417c7120046b22016a2204200736029403200441003b019203200441003602e0022004417e6a20013b00002000200641016a221836020420002004360200200741003b019003200720043602e0020c020b201841016a211820042f019203410a4b0d000b0b41002d008083d480001a41940341002802f482d48000118280808000002207450d022007200741036a417c7120076b22016a220641003b019203200641003602e0022006417e6a20013b00002018417f6a2201450d04034041002d008083d480001a41c40341002802f482d48000118280808000002207450d042007200741036a417c7120076b22056a2207200636029403200741003b019203200741003602e0022007417e6a20053b0000200641003b019003200620073602e002200721062001417f6a2201450d050c000b0b2004200741016a3b019203200420074102746a20113602e402200420074105746a220741186a2005290300370000200741106a2001290300370000200741086a2006290300370000200720032903403700000c040b410441c40310ab80808000000b410441940310ab80808000000b410441c40310ab80808000000b20042f0192032207410b4f0d012004200741016a22013b019203200420074102746a20113602e402200420074105746a220741186a2012290300370000200741106a2014290300370000200741086a201629030037000020072003290320370000200420014102746a200636029403200620013b019003200620043602e0022018450d0002400240201841037122060d00201821070c010b2018210703402007417f6a2107200420042f0192034102746a2802940321042006417f6a22060d000b0b20184104490d000340200420042f0192034102746a28029403220420042f0192034102746a28029403220420042f0192034102746a28029403220420042f0192034102746a2802940321042007417c6a22070d000b0b2002200228020041016a3602000c010b0b41c086c38000412041b087c38000108081808000000b0240200c450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b024020002802042205450d00200028020021060340024002400240024020062f0192032204450d0020062004417f6a22084102746a22182802980322042f019203220741054f0d03410520076b41ffff0371220d20182802940322012f01920322094b0d0120012009200d6b220f3b019203200441053b019203200441e4026a220a200d41027422116a200a2007410274220010f9978080001a2004200d4105746a2004200741057410f9978080001a2009200f41016a22076b2209200d417f6a470d02200a200141e4026a220b2007410274220e6a2009410274221010f497808000210a2004200120074105746a2009410574220910f4978080002107200341e0006a41086a22022001200f4105746a220d41086a290000370300200341e0006a41106a2212200d41106a290000370300200341e0006a41186a2214200d41186a29000037030020182802e4022116200d29000021132018200b200f4102746a2802003602e4022003201337036020034180016a41186a200620084105746a220641186a2218290000221337030020034180016a41106a200641106a220d290000221537030020034180016a41086a200641086a220f29000022173703002003200629000022193703800120062003290360370000200f2002290300370000200d201229030037000020182014290300370000200a20106a2016360200200720096a220641186a2013370000200641106a2015370000200641086a20173700002006201937000020054101460d0320074194036a220620116a2006200041046a10f9978080001a20062001200e6a4194036a201110f4978080001a200728029403220641003b019003200620073602e002200728029803220641013b019003200620073602e002200728029c03220641023b019003200620073602e00220072802a003220641033b019003200620073602e00220072802a403220641043b019003200620073602e00220072802a803220641053b019003200620073602e0020c030b41fc83c380004119419885c38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200421062005417f6a22050d000b0b200341a0016a2480808080000bf613020e7f057e23808080800041c0016b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01e6024102746a2802e80221042006417f6a22060d000b0b20054104490d000340200420042f01e6024102746a2802e802220420042f01e6024102746a2802e802220420042f01e6024102746a2802e802220420042f01e6024102746a2802e80221042007417c6a22070d000b0b200341086a41306a200141306a280200360200200341086a41286a200141286a290200370300200341086a41206a200141206a290200370300200341086a41186a200141186a290200370300200341086a41106a200141106a290200370300200341086a41086a200141086a29020037030020032001290200370308200341196a21080240034020032802142109200328020c21070240024020032d001822064102460d00200341a0016a41186a200841186a290000370300200341a0016a41106a200841106a290000370300200341a0016a41086a200841086a290000370300200320082900003703a00120064101710d010c030b20072009460d02200341a0016a41086a200741086a290000370300200341a0016a41106a200741106a290000370300200341a0016a41186a200741186a2900003703002003200741206a220636020c200320072900003703a001200621070b20034180016a41186a220a200341a0016a41186a29030037030020034180016a41106a220b200341a0016a41106a29030037030020034180016a41086a220c200341a0016a41086a290300370300200320032903a001370380010240024020072009470d00410021010c010b20082007290000370000200841086a2201200741086a220d290000370000200841106a2205200741106a220e290000370000200841186a220f200741186a22102900003700002003200741206a220636020c024020034180016a2008412010f597808000450d00410121010c010b200c200d290000370300200b200e290000370300200a201029000037030020032007290000370380010240024020062009470d00410021010c010b024002400340200820062207290000370000200f200741186a2900003700002005200741106a2900003700002001200741086a29000037000020034180016a2008412010f5978080000d01200c2001290000370300200b2005290000370300200a200f2900003703002003200829000037038001200741206a22062009470d000b410021010c010b410121010b200741206a21060b2003200636020c0b200341c0006a41086a2209200c290300370300200341c0006a41106a220c200b290300370300200341c0006a41186a220b200a290300370300200320013a00182003200329038001370340024002400240024002400240024020042f01e6022207410b490d004100210f02400340024020042802e00222040d00200028020421062000280200210741002d008083d480001a41980341002802f482d48000118280808000002204450d042004200441036a417c7120046b22016a220420073602e802200441003b01e602200441003602e0022004417e6a20013b00002000200641016a220f36020420002004360200200741003b01e402200720043602e0020c020b200f41016a210f20042f01e602410a4b0d000b0b41002d008083d480001a41e80241002802f482d48000118280808000002207450d022007200741036a417c7120076b22016a220641003b01e602200641003602e0022006417e6a20013b0000200f417f6a2201450d04034041002d008083d480001a41980341002802f482d48000118280808000002207450d042007200741036a417c7120076b22056a220720063602e802200741003b01e602200741003602e0022007417e6a20053b0000200641003b01e402200620073602e002200721062001417f6a2201450d050c000b0b2004200741016a3b01e602200420074105746a22072003290340370000200741186a200b290300370000200741106a200c290300370000200741086a20092903003700000c040b410441980310ab80808000000b410441e80210ab80808000000b410441980310ab80808000000b20042f01e6022207410b4f0d012004200741016a22013b01e602200420074105746a22072003290340370000200741186a200b290300370000200741106a200c290300370000200741086a2009290300370000200420014102746a20063602e802200620013b01e402200620043602e002200f450d0002400240200f41037122060d00200f21070c010b200f210703402007417f6a2107200420042f01e6024102746a2802e80221042006417f6a22060d000b0b200f4104490d000340200420042f01e6024102746a2802e802220420042f01e6024102746a2802e802220420042f01e6024102746a2802e802220420042f01e6024102746a2802e80221042007417c6a22070d000b0b2002200228020041016a3602000c010b0b41c086c38000412041b087c38000108081808000000b02402003280210450d00200328020822042004417e6a2f00006b41002802ec82d48000118180808000000b024020002802042201450d00200028020021060340024002400240024020062f01e6022204450d0020062004417f6a22094102746a22042802ec0222072f01e602220541054f0d03410520056b41ffff0371220f20042802e80222082f01e60222044b0d0120082004200f6b220a3b01e602200741053b01e6022007200f4105746a2007200541057410f9978080001a2004200a41016a220b6b2204200f417f6a470d0220072008200b4105746a2004410574220c10f4978080002104200620094105746a220629000021112008200a4105746a220941086a2900002112200941106a2900002113200941186a290000211420062009290000370000200641186a2209290000211520092014370000200641106a2209290000211420092013370000200641086a22062900002113200620123700002004200c6a220641186a2015370000200641106a2014370000200641086a20133700002006201137000020014101460d05200441e8026a2206200f410274220f6a2006200541027441046a10f9978080001a20062008200b4102746a41e8026a200f10f4978080001a20042802e802220641003b01e402200620043602e00220042802ec02220641013b01e402200620043602e00220042802f002220641023b01e402200620043602e00220042802f402220641033b01e402200620043602e00220042802f802220641043b01e402200620043602e00220042802fc02220641053b01e402200620043602e0020c030b41fc83c380004119419885c38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200721062001417f6a22010d000b0b200341c0016a2480808080000bb810040a7f017e067f017e23808080800041106b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f018a014102746a28028c0121042006417f6a22060d000b0b20054104490d000340200420042f018a014102746a28028c01220420042f018a014102746a28028c01220420042f018a014102746a28028c01220420042f018a014102746a28028c0121042007417c6a22070d000b0b200128021821082001280214210920012802102107200128020c210a2001280208210b2001280204210c200128020021050340200bad422086200cad84210d02400340024002400240024020054180808080786a0e020100030b20072008460d002007410c6a210620072802002205418080808078470d01200621070b024020082007460d00200820076b2204410c6e2201410171210e410021060240200441746a410c490d00200141feffffff017121052007210441002106034002402004280200450d00200441046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b02402004410c6a280200450d00200441106a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200441186a21042005200641026a2206470d000b0b200e450d0020072006410c6c6a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b02402009450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b024020002802042206450d00200028020021070340024002400240024020072f018a012204450d0020072004417f6a220f4102746a220e2802900122042f018a01220141054f0d03410520016b41ffff03712205200e28028c01220e2f018a0122104b0d01200e201020056b22113b018a01200441053b018a01200441046a22122005410c6c6a20122001410c6c10f9978080001a2010201141016a22136b22102005417f6a470d022012200e41046a22082013410c6c6a2010410c6c221010f497808000211220082011410c6c6a221141086a28020021082007200f410c6c6a2207290204210d200720112902003702042007410c6a2207280200210f20072008360200201220106a220741086a200f3602002007200d37020020064101460d052004418c016a2207200541027422056a2007200141027441046a10f9978080001a2007200e20134102746a418c016a200510f4978080001a200428028c01220741003b01880120072004360200200428029001220741013b01880120072004360200200428029401220741023b01880120072004360200200428029801220741033b01880120072004360200200428029c01220741043b0188012007200436020020042802a001220741053b018801200720043602000c030b41fc83c380004119419885c38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200421072006417f6a22060d000b0b200341106a2480808080000f0b2007290204210d200621070b20052113200d4220882214a72112200da7210e024020072008460d002007410c6a2106024020072802002205418080808078470d00200621070c010b2007280208210b2007280204210c024020142007290204220d422088510d00200621070c030b0240200e200da7201210f597808000450d00200621070c030b200621072013450d01200e200e417e6a2f00006b41002802ec82d4800011818080800000200621070c010b0b41808080807821050b024002400240024002400240024020042f018a012206410b490d0041002111024003400240200428020022040d00200028020421012000280200210641002d008083d480001a41bc0141002802f482d48000118280808000002204450d042004200441036a417c7120046b220f6a2204200636028c01200441003b018a01200441003602002004417e6a200f3b00002000200141016a221136020420002004360200200641003b018801200620043602000c020b201141016a211120042f018a01410a4b0d000b0b41002d008083d480001a418c0141002802f482d48000118280808000002206450d022006200641036a417c7120066b220f6a220141003b018a01200141003602002001417e6a200f3b00002011417f6a220f450d04034041002d008083d480001a41bc0141002802f482d48000118280808000002206450d042006200641036a417c7120066b22106a2206200136028c01200641003b018a01200641003602002006417e6a20103b0000200141003b0188012001200636020020062101200f417f6a220f450d050c000b0b2004200641016a3b018a0120042006410c6c6a2206201236020c2006200e360208200620133602040c040b410441bc0110ab80808000000b4104418c0110ab80808000000b410441bc0110ab80808000000b20042f018a012206410b4f0d012004200641016a220f3b018a0120042006410c6c6a2206200e360208200620133602042006201236020c2004200f4102746a200136028c012001200f3b018801200120043602002011450d0002400240201141037122010d00201121060c010b2011210603402006417f6a2106200420042f018a014102746a28028c0121042001417f6a22010d000b0b20114104490d000340200420042f018a014102746a28028c01220420042f018a014102746a28028c01220420042f018a014102746a28028c01220420042f018a014102746a28028c0121042006417c6a22060d000b0b2002200228020041016a3602000c010b0b41c086c38000412041b087c38000108081808000000bf51605107f027e017f017e017f23808080800041306b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01b6014102746a2802b80121042006417f6a22060d000b0b20054104490d000340200420042f01b6014102746a2802b801220620062f01b6014102746a2802b801220620062f01b6014102746a2802b801220620062f01b6014102746a2802b80121042007417c6a22070d000b0b200128021c2108200128021821092001280214210a2001280210210b200128020c210c2001280208210d2001280204210e2001280200210103402010210f20122111200cad422086200dad842113200121120340201221010240024002400240200e418180808078460d00200a210720132114200e2115200121120c010b0240200a2008470d004180808080782105200341106a2106418180808078210e20112112200f21100c020b200a41106a2107200a2902082114200a2802042115200a28020021120b418080808078210502402015418080808078470d00200341106a2106418180808078210e201121122007210a200f21100c010b20144220882216a721052014a721100240024020072008470d00418080808078210e2007210a0c010b200741106a210a200728020c210c2007280208210d200728020021012007280204220e418080808078460d0020122001460d020b200320153602102003410c6a21060b2006200536020002402003280210220f418080808078460d00200328020c2111024002400240024002400240024020042f01b6012207410b490d0041002117024003400240200428020022040d00200028020421052000280200210741002d008083d480001a41e80141002802f482d48000118280808000002206450d042006200641036a417c7120066b22156a220420073602b801200441003b01b601200441003602002004417e6a20153b00002000200541016a221736020420002004360200200741003b01b401200720043602000c020b201741016a211720042f01b601410a4b0d000b0b41002d008083d480001a41b80141002802f482d48000118280808000002207450d022007200741036a417c7120076b22056a220641003b01b601200641003602002006417e6a20053b00002017417f6a2205450d04034041002d008083d480001a41e80141002802f482d48000118280808000002207450d042007200741036a417c7120076b22156a220720063602b801200741003b01b601200741003602002007417e6a20153b0000200641003b01b40120062007360200200721062005417f6a2205450d050c000b0b2004200741016a3b01b60120042007410c6c6a22062011360238200620103602342006200f360230200420074102746a20123602040c040b410441e80110ab80808000000b410441b80110ab80808000000b410441e80110ab80808000000b20042f01b6012207410b4f0d012004200741016a22053b01b60120042007410c6c6a221520103602342015200f360230200420074102746a201236020420152011360238200420054102746a20063602b801200620053b01b401200620043602002017450d0002400240201741037122060d00201721070c010b2017210703402007417f6a2107200420042f01b6014102746a2802b80121042006417f6a22060d000b0b20174104490d000340200420042f01b6014102746a2802b801220620062f01b6014102746a2802b801220620062f01b6014102746a2802b801220620062f01b6014102746a2802b80121042007417c6a22070d000b0b2002200228020041016a3602000c040b41c086c38000412041b087c38000108081808000000b02402008200a460d002008200a6b4104762117410021040340200a20044104746a220741046a21120240200728020c2201450d00200728020821152001410171211041002106024020014101460d002001417e7121054100210620152107034002402007280200450d00200741046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b0240200741106a280200450d00200741146a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200741206a21072005200641026a2206470d000b0b2010450d00201520064104746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b02402012280200450d00201228020422072007417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042017470d000b0b02402009450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200e418280808078480d000240200c450d00200c4101712104410021060240200c4101460d00200c417e712105200d210741002106034002402007280200450d00200741046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b0240200741106a280200450d00200741146a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200741206a21072005200641026a2206470d000b0b2004450d00200d20064104746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b200e450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b024020002802042201450d00200028020021060340024002400240024020062f01b6012205450d0020062005417f6a22104102746a22122802bc0122072f01b601220441054f0d03410520046b41ffff0371220a20122802b80122122f01b601220e4b0d012012200e200a6b22153b01b601200741053b01b601200741046a2217200a410274220c6a20172004410274220d10f9978080001a200741306a2208200a410c6c6a20082004410c6c10f9978080001a200e201541016a22046b220e200a417f6a470d022017201241046a220a200441027422026a200e41027410f4978080001a2008201241306a22172004410c6c6a200e410c6c220410f497808000210e200341106a41086a20172015410c6c6a221741086a280200220836020020172902002114200620054102746a220528020021172005200a20154102746a2802003602002003201437031020062010410c6c6a2206290230211320062014370230200641386a22062802002105200620083602002007200c6a2017360200200e20046a22062013370200200641086a200536020020014101460d03200741b8016a2206200c6a2006200d41046a10f9978080001a2006201220026a41b8016a200c10f4978080001a20072802b801220641003b01b4012006200736020020072802bc01220641013b01b4012006200736020020072802c001220641023b01b4012006200736020020072802c401220641033b01b4012006200736020020072802c801220641043b01b4012006200736020020072802cc01220641053b01b401200620073602000c030b41fc83c380004119419885c38000108081808000000b41b08ac38000412741d88ac38000108081808000000b41cc88c38000412841f488c38000108081808000000b200721062001417f6a22010d000b0b200341306a2480808080000f0b2007290208211302402014428080808010540d002005410171211741002106024020164201510d002005417e7121054100210620102107034002402007280200450d00200741046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b0240200741106a280200450d00200741146a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200741206a21072005200641026a2206470d000b0b2017450d00201020064104746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b2015450d0020102010417e6a2f00006b41002802ec82d48000118180808000000c000b0b0baa1001127f23808080800041a0036b2203248080808000200341d0006a41086a200128020022042001280208220541186c6a220641086a290200370300200341d0006a41106a200641106a290200370300200320062902003703502006200641186a20042f01e20c22072005417f736a220841186c10f9978080001a200341d0006a41186a2004200541fc006c6a2206418c026a220941fc0010f4978080001a200920064188036a200841fc006c10f9978080001a20042007417f6a22063b01e20c2001280204210a0240200641ffff037141044b0d0002402004280288022201450d00200a41016a2107024002400240024020042f01e00c22080d0020012f01e20c0d01200341013602a4022003418088c380003602a002200342003702ac0220032003419c036a3602a802200341a0026a418888c3800010fe80808000000b2003200a3602302003200436022c2003200a3602282003200736021c20032008417f6a2207360220200320013602182003200120074102746a2802e40c2201360224024020012f01e20c2201200641ffff037122066a41016a410c490d00200341186a410110c483808000200541016a21050c040b200520064b0d01200520016a41016a2105200341106a200341186a10c683808000200328021021042003280214210a0c030b2003200a36024c2003200a360244200320043602402003410036023c2003200736023820032001360234200320012802e80c22013602480240200641ffff0371220620012f01e20c6a41016a410c490d00200341346a410110c5838080000c030b200520064b0d01200341086a200341346a10c68380800020032802082104200328020c210a0c020b41ac8cc38000418e0141bc8dc38000108081808000000b41ac8cc38000418e0141bc8dc38000108081808000000b2004280288022208450d0020082f01e20c220141044b0d00200a41016a210b0240024002400340200b21062008220c280288022208450d01200141ffff0371210d200641016a210b0240024002400240200c2f01e00c22010d00024020082f01e20c22090d00200341013602a4022003418088c380003602a002200342003702ac0220032003419c036a3602a802200341a0026a418888c3800010fe80808000000b2003200636029c0220032006360294022003200c360290024100210e2003410036028c022003200b360288022003200836028402200320082802e80c220136029802200d41016a220620012f01e20c220f6a2210410c4f0d01200c21072001210c200d2111200f210d0c030b20032006360280022003200c3602fc01200320063602f8012003200b3602ec0120032001417f6a220e3602f001200320083602e80120032008200e4102746a2802e40c22073602f401200d20072f01e20c22116a41016a410c490d01200341e8016a4105200d6b10c4838080000c070b20034184026a4105200d6b10c5838080000c060b201141016a2206200d6a211020082f01e20c21090b200720103b01e20c200341a0026a41106a22122008200e41186c6a220141106a290200370300200341a0026a41086a2213200141086a290200370300200320012902003703a0022001200141186a200941ffff03712214200e417f736a220f41186c10f9978080001a2007201141186c6a220141106a2012290300370200200141086a2013290300370200200120032903a0023702002007200641186c6a200c200d41186c10f4978080001a200341a0026a2008200e41fc006c6a2201418c026a220941fc0010f4978080001a200920014188036a200f41fc006c10f9978080001a2007418c026a2201201141fc006c6a200341a0026a41fc0010f4978080001a2001200641fc006c6a200c418c026a200d41fc006c10f4978080001a2008200e41016a22014102746a221241e40c6a2209201241e80c6a200f41027410f9978080001a0240201420014d0d002014200e6b417e6a21120240201420016b410371220e450d0003402009280200220f20013b01e00c200f200836028802200941046a2109200141016a2101200e417f6a220e0d000b0b20124103490d00200820014102746a41f00c6a21090340200941746a280200220e20013b01e00c200e200836028802200941786a280200220e200141016a3b01e00c200e2008360288022009417c6a280200220e200141026a3b01e00c200e2008360288022009280200220e200141036a3b01e00c200e200836028802200941106a21092014200141046a2201470d000b0b200820082f01e20c417f6a3b01e20c0240200b4102490d00200d41016a2201201020116b470d03200741e40c6a2006410274220e6a200c41e40c6a200141027410f4978080001a0240201020066b220f41016a4103712209450d002007200e6a41e40c6a210103402001280200220e20063b01e00c200e200736028802200141046a2101200641016a21062009417f6a22090d000b0b200f4103490d00200641027421090340200720096a220141e40c6a280200220e20063b01e00c200e200736028802200141e80c6a280200220e200641016a3b01e00c200e200736028802200141ec0c6a280200220e200641026a3b01e00c200e200736028802200141f00c6a2802002201200641036a220e3b01e00c2001200736028802200641046a2106200941106a2109200e2010470d000b0b200c200c417e6a2f00006b41002802ec82d480001181808080000020082f01e20c220141044d0d000c040b0b200141ffff0371450d010c020b41cc88c38000412841f488c38000108081808000000b200241013a00000b2000200341d0006a41940110f4978080002206200536029c012006200a360298012006200436029401200341a0036a2480808080000b9b0603087f017e017f23808080800041d0026b2203248080808000200128020821042001280200210502400240200128020422060d0020032004360208200341003602042003200536020020002003200210cd838080000c010b200520044102746a2802e40c210102402006417f6a2204450d002006417e6a2105024020044103712206450d0003402004417f6a2104200120012f01e20c4102746a2802e40c21012006417f6a22060d000b0b20054103490d000340200120012f01e20c4102746a2802e40c220120012f01e20c4102746a2802e40c220120012f01e20c4102746a2802e40c220120012f01e20c4102746a2802e40c21012004417c6a22040d000b0b2003200136020c200320013301e20c4220864280808080707c370210200341186a2003410c6a200210cd83808000200341b8016a41106a2205200341186a41106a2207290200370300200341b8016a41086a2208200341186a41086a2209290200370300200320032902183703b801200341d4016a200341186a41186a220a41fc0010f4978080001a20032802b0012104024020032802b401220620032802ac0122012f01e20c490d000340200441016a210420012f01e00c220620012802880222012f01e20c4f0d000b0b2001200641186c6a2202290200210b200220032903b8013702002007200241106a220c2902003703002009200241086a220229020037030020022008290300370200200c20052903003702002003200b370318200a2001200641fc006c6a418c026a220241fc0010f4978080001a2002200341d4016a41fc0010f4978080001a0240024020040d00200641016a21020c010b200120064102746a41e80c6a2802002101410021022004417f6a2206450d002004417e6a2105024020064107712204450d0003402006417f6a210620012802e40c21012004417f6a22040d000b0b20054107490d00034020012802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2101200641786a22060d000b0b2000200341186a41940110f4978080002204200236029c01200441003602980120042001360294010b200341d0026a2480808080000bbb0201097f2003280214210420032802102105200328020821062003280204210703404100210802400240024020012f01e20c2209450d00200141146a2103200941186c210a410021080340024002402007200341706a2802002006200341746a280200220b2006200b491b10f597808000220c2006200b6b200c1b220b450d00200b41004a200b4100486b210b0c010b20052003417c6a28020020042003280200220b2004200b491b10f597808000220c2004200b6b200c1b220b41004a200b4100486b210b0b0240200b4101460d00200b41ff01710d02410021030c030b200341186a2103200841016a2108200a41686a220a0d000b200921080b20020d01410121030b2000200836020c2000200236020820002001360204200020033602000f0b2002417f6a2102200120084102746a2802e40c21010c000b0b9a05010b7f2003280220200341206a2003280248220441284b22051b21062003280224200420051b2107024002400240024020032d004c4101710d00034041002104024020012f01f6062208450d00200841d0006c210941002105410021040340024002402003200120056a220a412010f597808000220b450d00200b41004a200b4100486b210a0c010b02402006200a41206a220b280200200b200a41c8006a280200220c41284b220d1b2007200a41246a280200200c200d1b220b2007200b491b10f597808000220c2007200b6b200c1b220b450d00200b41004a200b4100486b210a0c010b4100200a41cc006a2d00004101716b210a0b0240200a4101460d00200a41ff01710d020c050b200441016a21042009200541d0006a2205470d000b200821040b2002450d032002417f6a2102200120044102746a2802f80621010c000b0b20032d004d41ff0171210e034041002104024020012f01f6062208450d00200841d0006c2109410021054100210403400240024002402003200120056a220a412010f597808000220b450d00200b41004a200b4100486b210a0c010b02402006200a41206a220b280200200b200a41c8006a280200220c41284b220d1b2007200a41246a280200200c200d1b220b2007200b491b10f597808000220c2007200b6b200c1b220b450d00200b41004a200b4100486b210a0c010b200a41cc006a2d0000410171450d01200e200a41cd006a2d0000220a4b200e200a496b210a0b200a4101460d00200a41ff01710d020c040b200441016a21042009200541d0006a2205470d000b200821040b2002450d022002417f6a2102200120044102746a2802f80621010c000b0b410021050c010b41012105410021020b2000200436020c2000200236020820002001360204200020053602000bb90201077f2001280204210202400240024020012802082203200128020022042f01aa094f0d00200421050c010b034020042802a0082205450d02200241016a210220042f01a809210320052104200320052f01aa094f0d000b0b0240024020020d00200341016a2106200521040c010b200520034102746a41b0096a2802002104410021062002417f6a2207450d002002417e6a2108024020074107712202450d0003402007417f6a210720042802ac0921042002417f6a22020d000b0b20084107490d00034020042802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092104200741786a22070d000b0b20012006360208200141003602042001200436020020002005200341e0006c6a360204200020052003410c6c6a41a4086a3602000f0b419c8fc3800010a081808000000ba40501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542e1c1c0fddab9f88065370308200542d0b0c2c0bfa6f4d53c370300200441086a41086a220641013602002005420437022c20054206370224200541b898c380003602202005410b36021c200541e381c48000360218200541e68080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054211370224200541a881c480003602202005410836021c200541a081c48000360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f370308200542e6e2dea393f0baf43a3703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c20054211370224200541a881c480003602202005410836021c200541a081c48000360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f370308200542e6e2dea393f0baf43a37030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b000020094100290390ffc3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541043a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054287d0cd9288f5e99eb57f3703002005420437022c200542f400370224200541c688c4800036022020054100360218200541e78080800036021020054299b8f6c4f2aeb99b4d37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8b0601077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca00370300200441086a41086a220641013602002005420437022c2005420a370224200541e6d6c380003602202005410536021c200541e1d6c38000360218200541e88080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c20054204370224200541f29cc380003602202005410a36021c200541f0d6c38000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba1743703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c20054204370224200541f29cc380003602202005410a36021c200541f0d6c38000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba17437030020042802082108200428020c21090b41002d008083d480001a0240413841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220a6a417e6a200a3b0000200541306a41002902e4d0c38000370200200541286a41002902dcd0c38000370200200541206a41002902d4d0c38000370200200541186a41002902ccd0c38000370200200541106a41002902c4d0c38000370200200541086a41002902bcd0c38000370200200541002902b4d0c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a2206410a3a00202006200336021c2006200236021820064107360214200620053602102006410736020c2006200741016a3602082006200936020420062008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104413841e082c4800010b980808000000bcd0703047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b5928080002004280214220642bfedf48291abd3ae3a370308200642b0b4d4ade1aceba9ad7f370300200441086a220741013602002006420437022c2006421437022420064194ebc380003602202006410636021c2006418eebc38000360218200641ea80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410636021c20064183d7c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a2207360200200420042903002208370310024020072008a7470d00200441106a41ac91c3800010b5928080000b2004280214200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410436021c200641fad6c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc651370300200441086a200741016a22073602002004200429031022083703000240024020072008a72209460d002004280204220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410b36021c200641b6ebc38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441ac91c3800010b5928080002004280204200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410b36021c200641b6ebc38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428020021092004280204210a0b41002d008083d480001a0240410841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b000020054100290398ddc3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a2206411b3a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541fc91c3800036022020054100360218200541ed8080800036021020054296e397c6bfa5aeee4637030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e987d8bed5a3d0fbfb003703002005420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903d8dfc380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541113a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542ec8ca7e0e2f0c7e6bf7f370308200542e6e2dea393f0baf43a370300200441086a41086a220641013602002005420437022c20054207370224200541ff9cc380003602202005410936021c200541f69cc38000360218200541bc8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054204370224200541f29cc380003602202005410d36021c200541e59cc38000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba1743703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c20054204370224200541f29cc380003602202005410d36021c200541e59cc38000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba17437030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903b8b2c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541063a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000bfa0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d6eed5b5f78482842237030820054297c889b7d487feb0dd00370300200441086a41086a220641013602002005420437022c200542143702242005419e98c380003602202005410436021c200541fad6c38000360218200541ee8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410536021c200541e1d6c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca003703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410536021c200541e1d6c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca0037030020042802082108200428020c21090b41002d008083d480001a0240413041002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641286a41002902b4cbc38000370200200641206a41002902accbc38000370200200641186a41002902a4cbc38000370200200641106a410029029ccbc38000370200200641086a4100290294cbc380003702002006410029028ccbc3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541033a00202005200336021c2005200236021820054106360214200520063602102005410636020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104413041e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c8e1c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541073a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b000020094100290380e6c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541143a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542fb80c2929ddabcc4827f3703002005420437022c2005421c370224200541cb8ec4800036022020054100360218200541ef8080800036021020054284cfffc1db8584ab2f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba60501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542c4f3c7ded6c68693897f370308200542ba96ded3aed6fd9dff00370300200441086a41086a220641013602002005420437022c2005420d37022420054189b4c380003602202005410e36021c200541fbb3c38000360218200541f08080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054211370224200541e4b3c380003602202005410d36021c200541d7b3c38000360218200541f180808000360210200542fef2818aadabae862f370308200542f2bdf58c84bfb680ac7f3703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c20054211370224200541e4b3c380003602202005410d36021c200541d7b3c38000360218200541f180808000360210200542fef2818aadabae862f370308200542f2bdf58c84bfb680ac7f37030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903a0b3c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541013a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b950301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205428ffeefe2f2ba81f4af7f3703002005420437022c2005420d370224200541faaac380003602202005410536021c200541f5aac38000360218200541f280808000360210200542fffce1ce8cb4e9fc827f37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290380a1c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541043a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b8e0401067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e6e2dea393f0baf43a3703002005420437022c20054207370224200541ff9cc380003602202005410936021c200541f69cc38000360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f37030841002d008083d480001a2004280204210620042802082107024041c00041002802f482d48000118280808000002208450d002008200841036a417c71220520086b22096a417e6a20093b0000200541386a41002902bcaac38000370200200541306a41002902b4aac38000370200200541286a41002902acaac38000370200200541206a41002902a4aac38000370200200541186a410029029caac38000370200200541106a4100290294aac38000370200200541086a410029028caac3800037020020054100290284aac380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a2208410a3a00202008200336021c2008200236021820084108360214200820053602102008428180808080013702082008200736020420082006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441c00041e082c4800010b980808000000bf80601077f23808080800041206b220424808080800041002d008083d480001a2004410036021c200442808080808001370214024002400240410841002802f482d48000118280808000002205450d002005200541036a417c71220620056b22076a417e6a20073b0000200641002903f89bc38000370200200441146a41ac91c3800010b5928080002004280218220542a7bdf8b3b19a92e0ea003703082005428ebdf091d8bec6ff1b370300200541013602302005200636022c2005429480808010370224200541b39bc380003602202005410336021c200541b09bc38000360218200541f380808000360210200441086a41086a41013602002004200429021437030841002d008083d480001a410841002802f482d48000118280808000002205450d012005200541036a417c71220620056b22076a417e6a20073b0000200641002903d89ac38000370200024002402004280210220720042802082208460d00200428020c2209200741386c6a220541013602302005200636022c2005428c80808010370224200541a89ac380003602202005410336021c200541be98c38000360218200541eb8080800036021020054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc6513703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a220541013602302005200636022c2005428c80808010370224200541a89ac380003602202005410336021c200541be98c38000360218200541eb8080800036021020054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc65137030020042802082108200428020c21090b41002d008083d480001a410841002802f482d48000118280808000002205450d022005200541036a417c71220620056b220a6a417e6a200a3b0000200641002903d099c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541013a00202005200336021c2005200236021820054101360214200520063602102005410136020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b4104410841e082c4800010b980808000000b4104410841e082c4800010b980808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542cacaacd6f5b19dd6f7003703002005420437022c200542ee00370224200541ba89c4800036022020054100360218200541f480808000360210200542cdf3f0ebd0f7bfeb927f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bc70501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d6eed5b5f78482842237030820054297c889b7d487feb0dd00370300200441086a41086a220641013602002005420437022c200542143702242005419e98c380003602202005410336021c2005419b98c38000360218200541ee8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082108200428020c21090b41002d008083d480001a0240411841002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641106a4100290280c2c38000370200200641086a41002902f8c1c38000370200200641002902f0c1c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541053a00202005200336021c2005200236021820054103360214200520063602102005410336020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104411841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903d8e3c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541093a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542d7a08acbbeecbda19a7f3703002005420437022c2005420f3702242005418c81c480003602202005410c36021c2005418081c48000360218200541f580808000360210200542c5e4a0ede5f2bae65637030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290398fec380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541053a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e6e2dea393f0baf43a3703002005410036023020054280808080c0003703282005410036022020054100360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205429e8eaae68bb9afc6513703002005420437022c2005420c370224200541a89ac380003602202005410736021c200541d0b3c38000360218200541eb8080800036021020054298a593acd1ceffcb9c7f37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903e0b1c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541043a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200441086a41086a220641013602002005420437022c2005420a370224200541e6d6c380003602202005410336021c200541b09bc38000360218200541ec8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410336021c200541be98c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410336021c200541be98c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b000020094100290388e1c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541173a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e88488d0c0e3aebc133703002005410036023020054280808080c0003703282005410036022020054100360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bb60301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541fc91c380003602202005410636021c200541d2aac38000360218200541ed8080800036021020054296e397c6bfa5aeee4637030841002d008083d480001a20042802042106200428020821070240411841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841106a410029029ca2c38000370200200841086a4100290294a2c380003702002008410029028ca2c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541033602142005200836021020054281808080303702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104411841e082c4800010b980808000000bab0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c2005420d37022420054193f9c380003602202005410736021c2005418cf9c38000360218200541ed8080800036021020054296e397c6bfa5aeee4637030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8e0401067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542ee9bf0c2c3c9bda6c2003703002005420437022c20054211370224200541d0d6c380003602202005410336021c2005419b98c38000360218200541f680808000360210200542fae9c5abfdd1fd830837030841002d008083d480001a2004280204210620042802082107024041c00041002802f482d48000118280808000002208450d002008200841036a417c71220520086b22096a417e6a20093b0000200541386a41002902acd6c38000370200200541306a41002902a4d6c38000370200200541286a410029029cd6c38000370200200541206a4100290294d6c38000370200200541186a410029028cd6c38000370200200541106a4100290284d6c38000370200200541086a41002902fcd5c38000370200200541002902f4d5c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220841063a00202008200336021c2008200236021820084108360214200820053602102008428180808080013702082008200736020420082006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441c00041e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542ffa2b2ec89e3f8c2dd003703002005410036023020054280808080c0003703282005410036022020054100360218200541f780808000360210200542a09485e896f4dad27537030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903b8ddc3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541153a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000bb60501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410736021c200541d0b3c38000360218200541eb8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082108200428020c21090b41002d008083d480001a0240411041002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641086a4100290288e5c3800037020020064100290280e5c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541013a00202005200336021c2005200236021820054102360214200520063602102005410236020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104411041e082c4800010b980808000000bfb0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542f08ae39db3eef7cb917f3703002005420437022c20054208370224200541f8bdc380003602202005410736021c200541a8bec38000360218200541f880808000360210200542deb6b7a2defce4d03c37030841002d008083d480001a20042802042106200428020821070240413841002802f482d48000118280808000002208450d002008200841036a417c71220520086b22096a417e6a20093b0000200541306a41002902d8b7c38000370200200541286a41002902d0b7c38000370200200541206a41002902c8b7c38000370200200541186a41002902c0b7c38000370200200541106a41002902b8b7c38000370200200541086a41002902b0b7c38000370200200541002902a8b7c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220841023a00202008200336021c20082002360218200841073602142008200536021020084281808080f0003702082008200736020420082006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104413841e082c4800010b980808000000bde0703047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b592808000200428021422064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc651370300200441086a220741013602002006420437022c2006420c370224200641a89ac380003602202006410436021c200641c1ebc38000360218200641eb80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410236021c20064180ebc38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a2207360200200420042903002208370310024020072008a7470d00200441106a41ac91c3800010b5928080000b2004280214200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200441086a200741016a22073602002004200429031022083703000240024020072008a72209460d002004280204220a200741386c6a2206420437022c20064206370224200641d7ebc380003602202006411236021c200641c5ebc38000360218200641f980808000360210200642f59accfaf8d38db94c370308200642fec4a5abe1828ecea77f3703000c010b200441ac91c3800010b5928080002004280204200741386c6a2206420437022c20064206370224200641d7ebc380003602202006411236021c200641c5ebc38000360218200641f980808000360210200642f59accfaf8d38db94c370308200642fec4a5abe1828ecea77f370300200428020021092004280204210a0b41002d008083d480001a0240411041002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b0000200541086a41002902e4e2c38000370200200541002902dce2c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a220641063a00202006200336021c2006200236021820064102360214200620053602102006410236020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104411041e082c4800010b980808000000bac0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d6eed5b5f78482842237030820054297c889b7d487feb0dd00370300200441086a41086a220641013602002005420437022c200542143702242005419e98c380003602202005410436021c200541fad6c38000360218200541ee8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054204370224200541f29cc380003602202005410a36021c200541f0d6c38000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba1743703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c20054204370224200541f29cc380003602202005410a36021c200541f0d6c38000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba17437030020042802082107200428020c21080b41002d008083d480001a024041f80041002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941b0c8c3800041f80010f497808000210a0240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541043a00202005200336021c200520023602182005410f3602142005200a3602102005410f36020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b410441f80041e082c4800010b980808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542f88f9dc2b1d3efe4c8003703002005420437022c200542ed003702242005419a8bc4800036022020054100360218200541fa80808000360210200542b8eae6a09ffddbe6c30037030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c0eac3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a2205410f3a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542808addd4dbb4c9d7123703002005420437022c2005421b370224200541d890c4800036022020054100360218200541fb80808000360210200542e7c293a7a1e3e1b7a77f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541053a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bb90603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b592808000200428021422064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc651370300200441086a220741013602002006420437022c2006420c370224200641a89ac380003602202006410436021c200641c1ebc38000360218200641eb80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410236021c20064180ebc38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441106a41ac91c3800010b5928080002004280214200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428021021092004280214210a0b41002d008083d480001a0240410841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b0000200541002903c8dcc3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a220641023a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205429e8eaae68bb9afc6513703002005410036023020054280808080c0003703282005410036022020054100360218200541eb8080800036021020054298a593acd1ceffcb9c7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054284c6f3a094c493c0c4003703002005410036023020054280808080c0003703282005410036022020054100360218200541fc80808000360210200542f0bda1a084bdddc89f7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542a4b691acadf9b7f2283703002005420437022c2005421e370224200541d08fc4800036022020054100360218200541fd80808000360210200542f2b59da2ef82b0965537030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903a8dec3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a2205410e3a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903d0e0c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541133a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542a5f3cb9df58cabcbda003703002005420437022c2005421c370224200541ee8fc4800036022020054100360218200541fe80808000360210200542e9d7d39dd1c1dd980e37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b930301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e88488d0c0e3aebc133703002005420437022c20054203370224200541cfaac380003602202005410736021c2005419087c48000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b00002008410029038887c480003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410436021c200541eebfc38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410436021c200541eebfc38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903e8e8c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541033a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000bc70501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d6eed5b5f78482842237030820054297c889b7d487feb0dd00370300200441086a41086a220641013602002005420437022c200542143702242005419e98c380003602202005410336021c2005419b98c38000360218200541ee8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410836021c20054189d7c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca003703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410836021c20054189d7c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca0037030020042802082108200428020c21090b41002d008083d480001a0240411841002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641106a41002902a4ccc38000370200200641086a410029029cccc3800037020020064100290294ccc3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541083a00202005200336021c2005200236021820054103360214200520063602102005410336020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104411841e082c4800010b980808000000bea0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542f08ae39db3eef7cb917f3703002005420437022c20054208370224200541f8bdc380003602202005410c36021c20054180bec38000360218200541f880808000360210200542deb6b7a2defce4d03c37030841002d008083d480001a20042802042106200428020821070240413041002802f482d48000118280808000002208450d002008200841036a417c71220520086b22096a417e6a20093b0000200541286a4100290294bcc38000370200200541206a410029028cbcc38000370200200541186a4100290284bcc38000370200200541106a41002902fcbbc38000370200200541086a41002902f4bbc38000370200200541002902ecbbc380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220841043a00202008200336021c20082002360218200841063602142008200536021020084281808080e0003702082008200736020420082006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104413041e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005410036023020054280808080c0003703282005410036022020054100360218200541ed8080800036021020054296e397c6bfa5aeee4637030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e987d8bed5a3d0fbfb003703002005420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290390e7c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a2205410b3a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000bca0603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b5928080002004280214220642d6eed5b5f78482842237030820064297c889b7d487feb0dd00370300200441086a220741013602002006420437022c200642143702242006419e98c380003602202006410636021c20064183d7c38000360218200641ee80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c200642143702242006419e98c380003602202006410436021c200641fad6c38000360218200641ee80808000360210200642d6eed5b5f78482842237030820064297c889b7d487feb0dd003703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410536021c200641e1d6c38000360218200641e880808000360210200642d08eb4e8cbd188dc53370308200642b6c682a983f2c9f6ca003703000c010b200441106a41ac91c3800010b5928080002004280214200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410536021c200641e1d6c38000360218200641e880808000360210200642d08eb4e8cbd188dc53370308200642b6c682a983f2c9f6ca00370300200428021021092004280214210a0b41002d008083d480001a0240411041002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b0000200541086a41002902a0c1c3800037020020054100290298c1c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a220641023a00202006200336021c2006200236021820064102360214200620053602102006410236020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104411041e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542dd9f93df8387e1c0f2003703002005420437022c2005422f3702242005418a90c4800036022020054100360218200541ff80808000360210200542d1a3fdcbebd0f4bc1a37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205429e8eaae68bb9afc6513703002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020054298a593acd1ceffcb9c7f37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290388e9c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541103a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b8c0201037f41002d008083d480001a0240411841002802f482d48000118280808000002204450d002004200441036a417c71220520046b22066a417e6a20063b0000200541106a41002902c486c48000370200200541086a41002902bc86c48000370200200541002902b486c480003702000240200128020822062001280200470d002001418c90c3800010a0938080000b2001280204200641246c6a220441023a00202004200336021c2004200236021820044103360214200420053602102004428080808030370208200442808080808001370200200041086a200641016a2204360200200141086a2004360200200020012902003702000f0b4104411841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542a5f4d0c295cad9e04b3703002005410036023020054280808080c00037032820054100360220200541003602182005418081808000360210200542afc3dcb6fbd0bf9afb0037030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542bbeefa98e893a7ad023703002005420437022c20054208370224200541e091c38000360220200541003602182005418181808000360210200542eef8e7b09dc4b6b53f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e68d8c93e1ea9be30a3703002005420437022c200542eb00370224200541db87c4800036022020054100360218200541828180800036021020054283a382fae2cccab7897f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542efc9c9edb5e7b3a6c7003703002005410036023020054280808080c00037032820054100360220200541003602182005418381808000360210200542acf6debeefe0d9c8d30037030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542bb82a2f99fad8c91c1003703002005410036023020054280808080c00037032820054100360220200541003602182005418481808000360210200542d9d1a5958acddccda77f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bfd0301067f23808080800041106b22042480808080002004410036020c20044280808080800137020441002d008083d480001a02400240410841002802f482d48000118280808000002205450d002005200541036a417c71220620056b22076a417e6a20073b0000200641002903a89bc38000370200200441046a41ac91c3800010b592808000200428020822054284c6f3a094c493c0c400370300200541013602302005200636022c2005428e80808010370224200541eb9ac380003602202005410b36021c200541e09ac38000360218200541fc80808000360210200542f0bda1a084bdddc89f7f37030841002d008083d480001a2004280204210820042802082109410841002802f482d48000118280808000002205450d012005200541036a417c71220620056b22076a417e6a20073b0000200641002903a899c380003702000240200128020822072001280200470d002001418c90c3800010a0938080000b2001280204200741246c6a220541033a00202005200336021c20052002360218200541013602142005200636021020054281808080103702082005200936020420052008360200200041086a200741016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b4104410841e082c4800010b980808000000b930301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542b1b9bbf6d09c8ca47b3703002005420437022c20054208370224200541dcaac380003602202005410436021c200541d8aac380003602182005418581808000360210200542d0eeea8fe2e880c51037030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290390a8c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541053a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542d99be088f9e680c0693703002005410036023020054280808080c00037032820054100360220200541003602182005418681808000360210200542d992b6b99794ddc84b37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542b9addbd9b5d7e88c8c7f3703002005420437022c2005421f370224200541b990c48000360220200541003602182005418781808000360210200542b49ecfc5fbddf48cd40037030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8c0201037f41002d008083d480001a0240411841002802f482d48000118280808000002204450d002004200441036a417c71220520046b22066a417e6a20063b0000200541106a41002902f895c38000370200200541086a41002902f095c38000370200200541002902e895c380003702000240200128020822062001280200470d002001418c90c3800010a0938080000b2001280204200641246c6a220441043a00202004200336021c2004200236021820044103360214200420053602102004428080808030370208200442808080808001370200200041086a200641016a2204360200200141086a2004360200200020012902003702000f0b4104411841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542f3fee5add4c78eeadc003703002005420437022c2005421537022420054193bec380003602202005410736021c2005418cbec380003602182005418881808000360210200542a4b8dcf3ae80abbe5e37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903c8bdc380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000bca0603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b592808000200428021422064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc651370300200441086a220741013602002006420437022c2006420c370224200641a89ac380003602202006410336021c2006419b98c38000360218200641eb80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641e1f3c380003602202006410a36021c200641eff4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420c370224200641e1f3c380003602202006410336021c200641ecf4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441106a41ac91c3800010b5928080002004280214200741386c6a2206420437022c2006420c370224200641e1f3c380003602202006410336021c200641ecf4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428021021092004280214210a0b41002d008083d480001a0240411041002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b0000200541086a41002902e4f4c38000370200200541002902dcf4c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a220641003a00202006200336021c2006200236021820064102360214200620053602102006410236020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104411041e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410736021c200541d0b3c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410c36021c20054182ebc38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410c36021c20054182ebc38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903f8e7c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541003a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b8b0601077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d6eed5b5f78482842237030820054297c889b7d487feb0dd00370300200441086a41086a220641013602002005420437022c200542143702242005419e98c380003602202005410436021c200541fad6c38000360218200541ee8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410536021c200541e1d6c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca003703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410536021c200541e1d6c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca0037030020042802082108200428020c21090b41002d008083d480001a0240413841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220a6a417e6a200a3b0000200541306a41002902d4d3c38000370200200541286a41002902ccd3c38000370200200541206a41002902c4d3c38000370200200541186a41002902bcd3c38000370200200541106a41002902b4d3c38000370200200541086a41002902acd3c38000370200200541002902a4d3c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220641003a00202006200336021c2006200236021820064107360214200620053602102006410736020c2006200741016a3602082006200936020420062008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104413841e082c4800010b980808000000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542bf8b8beab7e6bab9333703002005420437022c2005422f370224200541e78ec48000360220200541003602182005418981808000360210200542b5cbb5899befc5af0537030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410636021c200541f5b3c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054207370224200541ff9cc380003602202005410436021c2005419bb4c38000360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f370308200542e6e2dea393f0baf43a3703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c20054207370224200541ff9cc380003602202005410436021c2005419bb4c38000360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f370308200542e6e2dea393f0baf43a37030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c8b3c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541053a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054213370224200541cef3c380003602202005410d36021c200541c083c48000360218200541ed8080800036021020054296e397c6bfa5aeee4637030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903b883c480003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000bd60501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d6eed5b5f78482842237030820054297c889b7d487feb0dd00370300200441086a41086a220641013602002005420437022c200542143702242005419e98c380003602202005410336021c2005419b98c38000360218200541ee8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005421f370224200541fc97c380003602202005410436021c200541f897c380003602182005418a81808000360210200542cc8e8fa3bac0d9ce17370308200542b5cb9ae1a0c5fe9d7e3703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005421f370224200541fc97c380003602202005410436021c200541f897c380003602182005418a81808000360210200542cc8e8fa3bac0d9ce17370308200542b5cb9ae1a0c5fe9d7e37030020042802082108200428020c21090b41002d008083d480001a0240412041002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641186a410029028497c38000370200200641106a41002902fc96c38000370200200641086a41002902f496c38000370200200641002902ec96c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541033a00202005200336021c2005200236021820054104360214200520063602102005410436020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104412041e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542c3ffb3a5afef9985857f3703002005410036023020054280808080c00037032820054100360220200541003602182005418b81808000360210200542cff88daa958699865137030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bf70501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200441086a41086a220641013602002005420437022c20054203370224200541cfaac380003602202005410936021c200541d0bdc38000360218200541bb8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420b370224200541e6bdc380003602202005410d36021c200541d9bdc380003602182005418c81808000360210200542eba3adccb5ca80f460370308200542d4e0dcb5cef8a2d3693703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420b370224200541e6bdc380003602202005410d36021c200541d9bdc380003602182005418c81808000360210200542eba3adccb5ca80f460370308200542d4e0dcb5cef8a2d36937030020042802082108200428020c21090b41002d008083d480001a0240413041002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641286a41002902acbac38000370200200641206a41002902a4bac38000370200200641186a410029029cbac38000370200200641106a4100290294bac38000370200200641086a410029028cbac3800037020020064100290284bac3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541003a00202005200336021c2005200236021820054106360214200520063602102005410636020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104413041e082c4800010b980808000000bc80301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e6e2dea393f0baf43a3703002005420437022c20054207370224200541ff9cc380003602202005410936021c200541f69cc38000360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f37030841002d008083d480001a20042802042106200428020821070240412041002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841186a41002902a0a6c38000370200200841106a4100290298a6c38000370200200841086a4100290290a6c3800037020020084100290288a6c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541093a00202005200336021c20052002360218200541043602142005200836021020054281808080c0003702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104412041e082c4800010b980808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542c1b4e2ac94ff84c2e5003703002005420437022c200542f200370224200541a88ac48000360220200541003602182005418d81808000360210200542c7d5bd83edd8f5c0dd0037030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054295fe9ce7d0c9c5c6123703002005420437022c200542153702242005419d91c48000360220200541003602182005418e8180800036021020054295f3c2a6d3fce5b12e37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b890301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542ace0c9ab81d6baf01b3703002005420437022c2005420e370224200541a8ebc38000360220200541003602182005418f81808000360210200542ded2abd6bea6d3bab07f37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903f8eac380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a2205411d3a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000bb90603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b5928080002004280214220642bfedf48291abd3ae3a370308200642b0b4d4ade1aceba9ad7f370300200441086a220741013602002006420437022c2006421437022420064194ebc380003602202006410636021c2006418eebc38000360218200641ea80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410336021c2006419b98c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441106a41ac91c3800010b5928080002004280214200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428021021092004280214210a0b41002d008083d480001a0240410841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b000020054100290390e3c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a2206411c3a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b930301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542b5cb9ae1a0c5fe9d7e3703002005420437022c2005421f370224200541fc97c380003602202005410436021c200541f897c380003602182005418a81808000360210200542cc8e8fa3bac0d9ce1737030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b00002008410029038096c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054293e9bbb0a4a897e1093703002005410036023020054280808080c000370328200541003602202005410036021820054190818080003602102005429091d8d1efb08fcfac7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bb90603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b5928080002004280214220642bfedf48291abd3ae3a370308200642b0b4d4ade1aceba9ad7f370300200441086a220741013602002006420437022c2006421437022420064194ebc380003602202006410636021c2006418eebc38000360218200641ea80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410336021c2006419b98c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441106a41ac91c3800010b5928080002004280214200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428021021092004280214210a0b41002d008083d480001a0240410841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b000020054100290380e0c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a220641183a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000bd60501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe400370300200441086a41086a220641013602002005420437022c20054203370224200541eaaac380003602202005410636021c200541e4aac38000360218200541ed8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c20054203370224200541cfaac380003602202005410736021c200541c8aac38000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc133703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c20054203370224200541cfaac380003602202005410736021c200541c8aac38000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc1337030020042802082108200428020c21090b41002d008083d480001a0240412041002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641186a41002902a0a4c38000370200200641106a4100290298a4c38000370200200641086a4100290290a4c3800037020020064100290288a4c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541063a00202005200336021c2005200236021820054104360214200520063602102005410436020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104412041e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054297c0f1c4c7c0b080c5003703002005420437022c2005422a370224200541f390c48000360220200541003602182005419181808000360210200542f790c2b8cbf6d6e6ba7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541063a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bc80301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541fc91c380003602202005410436021c200541c4aac38000360218200541ed8080800036021020054296e397c6bfa5aeee4637030841002d008083d480001a20042802042106200428020821070240412041002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841186a41002902e4a7c38000370200200841106a41002902dca7c38000370200200841086a41002902d4a7c38000370200200841002902cca7c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541043602142005200836021020054281808080c0003702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104412041e082c4800010b980808000000bcd0703047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b5928080002004280214220642bfedf48291abd3ae3a370308200642b0b4d4ade1aceba9ad7f370300200441086a220741013602002006420437022c2006421437022420064194ebc380003602202006410636021c2006418eebc38000360218200641ea80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410636021c20064183d7c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a2207360200200420042903002208370310024020072008a7470d00200441106a41ac91c3800010b5928080000b2004280214200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410436021c200641fad6c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc651370300200441086a200741016a22073602002004200429031022083703000240024020072008a72209460d002004280204220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441ac91c3800010b5928080002004280204200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428020021092004280204210a0b41002d008083d480001a0240410841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b0000200541002903d0e6c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a2206411a3a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b930301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e88488d0c0e3aebc133703002005420437022c20054203370224200541cfaac380003602202005410336021c200541d887c48000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903d087c480003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541043a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000be60501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542cc8e8fa3bac0d9ce17370308200542b5cb9ae1a0c5fe9d7e370300200441086a41086a220641013602002005420437022c2005421f370224200541fc97c380003602202005410436021c200541f897c380003602182005418a8180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c20054206370224200541b898c380003602202005410636021c200541b298c38000360218200541e680808000360210200542e1c1c0fddab9f88065370308200542d0b0c2c0bfa6f4d53c3703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c20054206370224200541b898c380003602202005410636021c200541b298c38000360218200541e680808000360210200542e1c1c0fddab9f88065370308200542d0b0c2c0bfa6f4d53c37030020042802082108200428020c21090b41002d008083d480001a0240412841002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641206a41002902a495c38000370200200641186a410029029c95c38000370200200641106a410029029495c38000370200200641086a410029028c95c380003702002006410029028495c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541013a00202005200336021c2005200236021820054105360214200520063602102005410536020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104412841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e987d8bed5a3d0fbfb003703002005420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290388eac380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a2205410d3a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b9c0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541fc91c380003602202005410436021c200541c4aac38000360218200541ed8080800036021020054296e397c6bfa5aeee4637030841002d008083d480001a2004280204210620042802082107024041c80041002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b00002008419ca0c3800041c80010f49780800021090240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a2205410b3a00202005200336021c2005200236021820054109360214200520093602102005428180808090013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441c80041e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c0e7c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a2205410c3a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e987d8bed5a3d0fbfb003703002005420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290380dfc380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541123a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba50301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054297c889b7d487feb0dd003703002005420437022c200542143702242005419e98c380003602202005410336021c200541be98c38000360218200541ee80808000360210200542d6eed5b5f78482842237030841002d008083d480001a20042802042106200428020821070240411041002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841086a41002902f097c38000370200200841002902e897c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541023a00202005200336021c20052002360218200541023602142005200836021020054281808080203702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104411041e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542fbd6e6a3c68cb3c8303703002005420437022c200542e900370224200541878cc48000360220200541003602182005419281808000360210200542bbc0eee3b882f9d3bd7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541053a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541fc91c380003602202005410636021c200541d2aac38000360218200541ed8080800036021020054296e397c6bfa5aeee4637030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903d8a4c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541073a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000bb60301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542f08ae39db3eef7cb917f3703002005420437022c20054208370224200541f8bdc380003602202005410736021c200541f1bdc38000360218200541f880808000360210200542deb6b7a2defce4d03c37030841002d008083d480001a20042802042106200428020821070240411841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841106a41002902fcbcc38000370200200841086a41002902f4bcc38000370200200841002902ecbcc380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541013a00202005200336021c20052002360218200541033602142005200836021020054281808080303702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104411841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542d4db98a5bcd685f19f7f3703002005420437022c2005421b370224200541b58fc48000360220200541003602182005419381808000360210200542909fc38ce7eaec979e7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541053a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205428fe7aef583e480eb6c3703002005420437022c2005420c370224200541e891c38000360220200541003602182005419481808000360210200542ebedcef8bc82ebb7be7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b930301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e88488d0c0e3aebc133703002005420437022c20054215370224200541ce81c480003602202005411536021c200541b981c48000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903b880c480003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541013a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542f2bdf58c84bfb680ac7f3703002005420437022c20054211370224200541e4b3c380003602202005410d36021c200541d7b3c38000360218200541f180808000360210200542fef2818aadabae862f37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290390b2c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054285ded1bd85cbe2dc8b7f3703002005410036023020054280808080c00037032820054100360220200541003602182005419581808000360210200542eeb2b382fcbac9a41a37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bea0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542d9c2b3e3b7d1fb8df60037030820054281bba5b6a6c2d0d5e600370300200441086a41086a220641013602002005420437022c20054213370224200541bdd6c380003602202005410936021c200541b4d6c38000360218200541968180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410536021c200541fed6c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca003703000c010b200441086a41ac91c3800010b592808000200428020c200741386c6a2205420437022c2005420a370224200541e6d6c380003602202005410536021c200541fed6c38000360218200541e880808000360210200542d08eb4e8cbd188dc53370308200542b6c682a983f2c9f6ca0037030020042802082108200428020c21090b41002d008083d480001a0240412841002802f482d48000118280808000002205450d002005200541036a417c71220620056b220a6a417e6a200a3b0000200641206a41002902c4cdc38000370200200641186a41002902bccdc38000370200200641106a41002902b4cdc38000370200200641086a41002902accdc38000370200200641002902a4cdc3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541093a00202005200336021c2005200236021820054105360214200520063602102005410536020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104412841e082c4800010b980808000000b930301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542e88488d0c0e3aebc133703002005420437022c20054203370224200541cfaac380003602202005410536021c2005419b81c48000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903d8ffc380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205429ecaaca1b6f2c7884b3703002005420437022c200542ec00370224200541df8dc48000360220200541003602182005419781808000360210200542c6c8dbd5f3a3e89aed0037030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c8e9c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541043a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541fc91c380003602202005410436021c200541c4aac38000360218200541ed8080800036021020054296e397c6bfa5aeee4637030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290380a5c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541023a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542bbeefa98e893a7ad023703002005410036023020054280808080c00037032820054100360220200541003602182005418181808000360210200542eef8e7b09dc4b6b53f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba70501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b5928080002004280218220542ec8ca7e0e2f0c7e6bf7f370308200542e6e2dea393f0baf43a370300200441086a41086a220641013602002005420437022c20054207370224200541ff9cc380003602202005410936021c200541f69cc38000360218200541bc8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420d37022420054189b4c380003602202005410536021c20054196b4c38000360218200541f080808000360210200542c4f3c7ded6c68693897f370308200542ba96ded3aed6fd9dff003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420d37022420054189b4c380003602202005410536021c20054196b4c38000360218200541f080808000360210200542c4f3c7ded6c68693897f370308200542ba96ded3aed6fd9dff0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c0b1c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541073a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903d8e5c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541083a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205429e8eaae68bb9afc6513703002005420437022c2005420c370224200541a89ac380003602202005410736021c200541d0b3c38000360218200541eb8080800036021020054298a593acd1ceffcb9c7f37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b000020084100290380b3c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903d8ddc3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541163a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941002903c0e8c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220541053a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054291e592c5bbf1ede3887f3703002005420437022c2005421f370224200541968fc480003602202005410036021820054198818080003602102005428fcfabb3df92c7ae6237030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b940301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b592808000200428020822054293888c8f89fdc6ec9e7f3703002005420437022c20054203370224200541f2aac380003602202005410536021c200541edaac380003602182005419981808000360210200542a5e9e3ab9e929adc2c37030841002d008083d480001a20042802042106200428020821070240410841002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841002903c8a1c380003702000240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541013a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b8c0201037f41002d008083d480001a0240411841002802f482d48000118280808000002204450d002004200441036a417c71220520046b22066a417e6a20063b0000200541106a41002902a885c48000370200200541086a41002902a085c480003702002005410029029885c480003702000240200128020822062001280200470d002001418c90c3800010a0938080000b2001280204200641246c6a220441013a00202004200336021c2004200236021820044103360214200420053602102004428080808030370208200442808080808001370200200041086a200641016a2204360200200141086a2004360200200020012902003702000f0b4104411841e082c4800010b980808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542ba96ded3aed6fd9dff003703002005410036023020054280808080c0003703282005410036022020054100360218200541f080808000360210200542c4f3c7ded6c68693897f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9b0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542928ad285e9ded197493703002005420437022c20054209370224200541eff2c380003602202005410336021c200541ecf2c380003602182005419a8180800036021020054289b1efa9e5f09dc10137030841002d008083d480001a2004280204210620042802082107024041980141002802f482d48000118280808000002205450d002005200541036a417c71220820056b22096a417e6a20093b0000200841d4f1c3800041980110f49780800021090240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c20052002360218200541133602142005200936021020054281808080b0023702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441980141e082c4800010b980808000000bb90603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41ac91c3800010b5928080002004280214220642bfedf48291abd3ae3a370308200642b0b4d4ade1aceba9ad7f370300200441086a220741013602002006420437022c2006421437022420064194ebc380003602202006410636021c2006418eebc38000360218200641ea80808000360210200420042902103703000240200728020022072004280200470d00200441ac91c3800010b5928080000b2004280204200741386c6a2206420437022c2006420c370224200641a89ac380003602202006410336021c2006419b98c38000360218200641eb8080800036021020064298a593acd1ceffcb9c7f3703082006429e8eaae68bb9afc6513703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441106a41ac91c3800010b5928080002004280214200741386c6a2206420437022c2006420a370224200641e6d6c380003602202006410636021c2006419fb4c38000360218200641ec80808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200428021021092004280214210a0b41002d008083d480001a0240410841002802f482d48000118280808000002206450d002006200641036a417c71220520066b220b6a417e6a200b3b0000200541002903b0e0c3800037020002402001280208220b2001280200470d002001418c90c3800010a0938080000b2001280204200b41246c6a220641193a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000bab0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b59280800020042802182205429ebee0b28db0a5c2c400370308200542bebd998688aaacb5e700370300200441086a41086a220641013602002005420437022c2005421a370224200541a0f9c380003602202005410436021c2005418b9cc380003602182005419b8180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054213370224200541cff9c380003602202005411536021c200541baf9c380003602182005419c81808000360210200542e8ddfc89b4a1ebea42370308200542fd8490f5babc95be413703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c20054213370224200541cff9c380003602202005411536021c200541baf9c380003602182005419c81808000360210200542e8ddfc89b4a1ebea42370308200542fd8490f5babc95be4137030020042802082107200428020c21080b41002d008083d480001a024041c80041002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b0000200941c4f8c3800041c80010f497808000210a0240200128020822092001280200470d002001418c90c3800010a0938080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541093602142005200a3602102005410936020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b410441c80041e082c4800010b980808000000ba50501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41ac91c3800010b592808000200428021822054298a593acd1ceffcb9c7f3703082005429e8eaae68bb9afc651370300200441086a41086a220641013602002005420437022c2005420c370224200541a89ac380003602202005410336021c2005419b98c38000360218200541eb8080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41ac91c3800010b592808000200428020c200641386c6a2205420437022c2005420a370224200541e6d6c380003602202005410636021c2005419fb4c38000360218200541ec80808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb0037030020042802082107200428020c21080b41002d008083d480001a0240410841002802f482d48000118280808000002205450d002005200541036a417c71220920056b220a6a417e6a200a3b000020094100290388e4c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a2205410a3a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841e082c4800010b980808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542a8b7e4fc879093e7ac7f3703002005420437022c20054208370224200541f491c38000360220200541003602182005419d81808000360210200542a6ebd886b799bbb94f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b59280800020042802082205429e8eaae68bb9afc6513703002005420437022c200542093702242005418392c3800036022020054100360218200541eb8080800036021020054298a593acd1ceffcb9c7f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bfd0301067f23808080800041106b22042480808080002004410036020c20044280808080800137020441002d008083d480001a02400240410841002802f482d48000118280808000002205450d002005200541036a417c71220620056b22076a417e6a20073b0000200641002903a89bc38000370200200441046a41ac91c3800010b592808000200428020822054284c6f3a094c493c0c400370300200541013602302005200636022c2005428e80808010370224200541eb9ac380003602202005410b36021c200541e09ac38000360218200541fc80808000360210200542f0bda1a084bdddc89f7f37030841002d008083d480001a2004280204210820042802082109410841002802f482d48000118280808000002205450d012005200541036a417c71220620056b22076a417e6a20073b0000200641002903a09ac380003702000240200128020822072001280200470d002001418c90c3800010a0938080000b2001280204200741246c6a220541003a00202005200336021c20052002360218200541013602142005200636021020054281808080103702082005200936020420052008360200200041086a200741016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841e082c4800010b980808000000b4104410841e082c4800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41ac91c3800010b5928080002004280208220542a9e392f9b4d79e842e3703002005420437022c200542ef00370224200541f08cc48000360220200541003602182005419e81808000360210200542f2c3d8b6f1b38382a37f37030820042802042106200428020821070240200128020822082001280200470d002001418c90c3800010a0938080000b2001280204200841246c6a220541073a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b880301077f4101210202400240024002402001280208220341016a2204200128020422054d0d000c010b200320054f0d012001200436020802400240024002400240024002402001280200220620036a2d000022074103710e0400010203000b20074102762108410021020c060b0240200341026a220320054d0d000c060b200120033602082004417f470d02417f200341f0cbcd8000109581808000000b200341046a220320054b0d04200120033602082004417d490d022004200341f0cbcd8000109581808000000b20074104490d020c030b0240200620046a2d000022010d000c030b20014108742007724102762108410021020c020b200620046a22012f0000200141026a2d0000411074722201418002492102200141087420077241027621080c010b200341056a220320054b0d00200120033602082004417c4f0d02200620046a28000022084180808080044921020b20002008360204200020023602000f0b200320054180cccd8000108281808000000b2004200341f0cbcd8000109581808000000b870401067f024002402001280208220220012802102203460d00024002400240024002400240200341016a2204450d0020022004490d0120012802042105200120043602100240024002400240024002400240200520036a2d000022064103710e0400010203000b20064102762106410021070c0d0b41012107024020022004470d000c0d0b200341026a21032004417f460d07200320024d0d0220032002418486cb8000109181808000000b200220046b4103490d0a200341046a21032004417c4b0d07200320024d0d0220032002418486cb8000109181808000000b4101210720064104490d020c0a0b200120033602100240200520046a2d000022010d000c0a0b20014108742006724102762106410021070c090b20012003360210200520046a22012f0000200141026a2d0000411074722201418002492107200141087420067241027621060c080b200220046b4104490d07200341056a21032004417b4b0d04200320024b0d0520012003360210200520046a28000022064180808080044921070c070b417f2004418486cb8000109581808000000b20042002418486cb8000109181808000000b417f2003418486cb8000109581808000000b20042003418486cb8000109581808000000b20042003418486cb8000109581808000000b20032002418486cb8000109181808000000b410121070b20002006360204200020073602000bf60504037f017e037f017e024002402001280200220128020c220228020828020022032802042204450d0020032004417f6a36020420032003280200220441016a3602002002427f200229030042017c22052005501b37030020042d000021030240200128020020012802082202470d002001200241014101410110a386808000200128020821020b2001200241016a2204360208200128020420026a20033a000002400240024002400240024020034103710e0400010203000b20034102762103410021020c060b200128020c220628020828020022072802042202450d0420072002417f6a3602044101210220072007280200220841016a3602002006427f200629030042017c22052005501b37030020082d00002107024020012802002004470d002001200441014101410110a386808000200128020821040b2001200441016a360208200128020420046a20073a000020070d020c050b200128020c2207280208280200220228020422064103490d0320022006417d6a36020420022002280200220641036a3602002007427f2007290300220542037c220920092005541b37030020062f0000200641026a2d00004110747221070240200128020020046b41024b0d002001200441034101410110a386808000200128020821040b2001200441036a360208200128020420046a220120073b0000200141026a20074110763a0000200741ffffff0771418002492102200741087420037241027621030c040b4101210220034104490d010c030b20074108742003724102762103410021020c020b200128020c2206280208280200220728020422084104490d0120072008417c6a36020420072007280200220341046a3602002006427f2006290300220542047c220920092005541b370300200328000021030240200128020020046b41034b0d002001200441044101410110a386808000200128020821040b2001200441046a360208200128020420046a200336000020034180808080044921020c010b410121020b20002003360204200020023602000bea0504037f017e037f017e024002402001280200220128020c220228020822032802042204450d0020032004417f6a36020420032003280200220441016a3602002002427f200229030042017c22052005501b37030020042d000021030240200128020020012802082202470d002001200241014101410110a386808000200128020821020b2001200241016a2204360208200128020420026a20033a000002400240024002400240024020034103710e0400010203000b20034102762103410021020c060b200128020c220628020822072802042202450d0420072002417f6a3602044101210220072007280200220841016a3602002006427f200629030042017c22052005501b37030020082d00002107024020012802002004470d002001200441014101410110a386808000200128020821040b2001200441016a360208200128020420046a20073a000020070d020c050b200128020c2207280208220228020422064103490d0320022006417d6a36020420022002280200220641036a3602002007427f2007290300220542037c220920092005541b37030020062f0000200641026a2d00004110747221070240200128020020046b41024b0d002001200441034101410110a386808000200128020821040b2001200441036a360208200128020420046a220120073b0000200141026a20074110763a0000200741ffffff0771418002492102200741087420037241027621030c040b4101210220034104490d010c030b20074108742003724102762103410021020c020b200128020c2206280208220728020422084104490d0120072008417c6a36020420072007280200220341046a3602002006427f2006290300220542047c220920092005541b370300200328000021030240200128020020046b41034b0d002001200441044101410110a386808000200128020821040b2001200441046a360208200128020420046a200336000020034180808080044921020c010b410121020b20002003360204200020023602000bc10301057f23808080800041106b220224808080800002400240024002400240024002402001280204200128020c22034b0d00024020012802082203280208220420032802102205470d00410121050c070b200541016a2206450d02200620044b0d032003280204210420032006360210200420056a2d000021030c010b2001200341016a36020c200128020020036a2d000021030b0240024002400240024020034103710e0400020301000b200341fc01714102762101410021050c080b41012105200341ff01714104490d020c060b200241003b010a200220033a000a4101210520012002410a6a410172410110858c8080000d0520022f010a2203418002490d0620034102762101410021050c060b20024100360204200220033a0004410121052001200241046a410172410310858c8080000d032002280204220341027621012003418080044921050c050b2002410036020c024020012002410c6a410410858c808000450d000c050b200228020c22014180808080044921050c040b417f2006418486cb8000109581808000000b20062004418486cb8000109181808000000b0c010b0b2000200136020420002005360200200241106a2480808080000be90304047f017e017f017e410121020240024020012802082203280200220428020422050d00410121040c010b20042005417f6a36020420042004280200220541016a3602002001427f200129030042017c22062006501b37030020052d00002105410021040b024002402004410171450d000c010b02400240024002400240024020054103710e0400010402000b200541fc01714102762104410021020c050b2003280200220428020422030d010c040b200541ff01714104490d020c030b20042003417f6a3602044101210220042004280200220341016a3602002001427f200129030042017c22062006501b370300024020032d000022010d000c030b2001410874200541fc0171724102762104410021020c020b2003280200220328020422074103490d0120032007417d6a36020420032003280200220441036a3602002001427f2001290300220642037c220820082006541b37030020042f0000200441026a2d0000411074722201410874200541fc017172410276210420014180024921020c010b2003280200220528020422034104490d0020052003417c6a36020420052005280200220441046a3602002001427f2001290300220642047c220820082006541b370300200428000022044180808080044921020b20002004360204200020023602000bcc0304047f017e017f017e41012102024002402001280208220328020422040d0041002105410121040c010b20032004417f6a220536020420032003280200220441016a3602002001427f200129030042017c22062006501b37030020042d00002107410021040b024002402004410171450d000c010b02400240024002400240024020074103710e0400010402000b200741fc01714102762104410021020c050b20050d010c040b200741ff01714104490d020c030b20032005417f6a3602044101210220032003280200220441016a3602002001427f200129030042017c22062006501b370300024020042d000022010d000c030b2001410874200741fc0171724102762104410021020c020b20054103490d0120032005417d6a36020420032003280200220241036a3602002001427f2001290300220642037c220820082006541b37030020022f0000200241026a2d0000411074722201410874200741fc017172410276210420014180024921020c010b20054104490d0020032005417c6a36020420032003280200220241046a3602002001427f2001290300220642047c220820082006541b370300200228000022044180808080044921020b20002004360204200020023602000be90905037f017e017f037e047f02402001280200220128020c2202280208280200220328020422040d00200042013703000f0b20032004417f6a36020420032003280200220441016a3602002002427f200229030042017c22052005501b37030020042d00002203ad21050240200128020020012802082204470d002001200441014101410110a386808000200128020821040b200542ff018321052001200441016a2202360208200128020420046a20033a0000024002400240024002400240024002400240024020034103710e0403000102030b0240200128020c2204280208280200220328020422060d00200042013703000f0b20032006417f6a36020420032003280200220641016a360200420121072004427f200429030042017c22082008501b37030020062d00002103024020012802002002470d002001200241014101410110a386808000200128020821020b2001200241016a360208200128020420026a20033a0000200341ff0171450d072003ad42ff018342088620058442028821050c080b42012107200128020c2204280208280200220328020422064103490d0620032006417d6a36020420032003280200220641036a3602002004427f2004290300220842037c220920092008541b37030020062f0000200641026a2d00004110747221030240200128020020026b41024b0d002001200241034101410110a386808000200128020821020b2001200241036a360208200128020420026a220120033b0000200141026a20034110763a0000200341ffffff0771418002490d062003ad42ffffff078342088620058442028821050c070b2003410276413f71220a0e050201010103010b200341fc0171410276ad21050c050b200341ff017141134d0d02200042013703000f0b42012107200128020c2204280208280200220328020422064104490d0220032006417c6a36020420032003280200220641046a3602002004427f2004290300220542047c220820082005541b370300200628000021030240200128020020026b41034b0d002001200241044101410110a386808000200128020821020b2001200241046a360208200128020420026a20033600002003418080808004490d022003ad21050c030b42012107200128020c2204280208280200220328020422064108490d012003200641786a36020420032003280200220641086a3602002004427f2004290300220542087c220820082005541b370300200629000021050240200128020020026b41074b0d002001200241084101410110a386808000200128020821020b2001200241086a360208200128020420026a2005370000200542ffffffffffffffff00560d020c010b200a41046a210b420021054100210c4201210741012104034020042103200128020c22062802082802002204280204220d450d012004200d417f6a36020420042004280200220d41016a3602002006427f200629030042017c22082008501b370300200d2d00002206ad42ff018321080240024020012802002002460d00200221040c010b2001200241014101410110a386808000200128020821040b2001200441016a2202360208200128020420046a20063a0000200341016a21042008200c410374413871ad8620058421052003210c200341ff0171200b490d000b2005427f4128200a4103746b413871ad88560d010b200020073703000f0b20002005370308200042003703000bf30303057f027e037f0240024020012802042202450d0020012002417f6a220336020420012001280200220441016a220536020020042d00002206ad2107024002400240024002400240024020064103710e0403000102030b2003450d0620012002417e6a3602042001200441026a36020020043100012208500d06200842088620078442028821070c070b20024104490d0520012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722201418002490d052001ad42088620078442028821070c060b200641027622090e050201010103010b2006410276ad21070c040b200641134b0d02200941046a210a2002417e6a21024200210741002103410121060340200621042002417f460d03200120023602042001200541016a220b3602002002417f6a2102200441016a210620053100002003410374413871ad862007842107200b210520042103200441ff0171200a490d000b2007427f412820094103746b413871ad88560d030c020b20024105490d0120012002417b6a3602042001200441056a36020020042800012201418080808004490d012001ad21070c020b20024109490d002001200241776a3602042001200441096a3602002004290001220742ffffffffffffffff00560d010b200042013703000f0b20002007370308200042003703000bd70905037f017e017f037e047f02402001280200220128020c2202280208220328020422040d00200042013703000f0b20032004417f6a36020420032003280200220441016a3602002002427f200229030042017c22052005501b37030020042d00002203ad21050240200128020020012802082204470d002001200441014101410110a386808000200128020821040b200542ff018321052001200441016a2202360208200128020420046a20033a0000024002400240024002400240024002400240024020034103710e0403000102030b0240200128020c2204280208220328020422060d00200042013703000f0b20032006417f6a36020420032003280200220641016a360200420121072004427f200429030042017c22082008501b37030020062d00002103024020012802002002470d002001200241014101410110a386808000200128020821020b2001200241016a360208200128020420026a20033a0000200341ff0171450d072003ad42ff018342088620058442028821050c080b42012107200128020c2204280208220328020422064103490d0620032006417d6a36020420032003280200220641036a3602002004427f2004290300220842037c220920092008541b37030020062f0000200641026a2d00004110747221030240200128020020026b41024b0d002001200241034101410110a386808000200128020821020b2001200241036a360208200128020420026a220120033b0000200141026a20034110763a0000200341ffffff0771418002490d062003ad42ffffff078342088620058442028821050c070b2003410276413f71220a0e050201010103010b200341fc0171410276ad21050c050b200341ff017141134d0d02200042013703000f0b42012107200128020c2204280208220328020422064104490d0220032006417c6a36020420032003280200220641046a3602002004427f2004290300220542047c220820082005541b370300200628000021030240200128020020026b41034b0d002001200241044101410110a386808000200128020821020b2001200241046a360208200128020420026a20033600002003418080808004490d022003ad21050c030b42012107200128020c2204280208220328020422064108490d012003200641786a36020420032003280200220641086a3602002004427f2004290300220542087c220820082005541b370300200629000021050240200128020020026b41074b0d002001200241084101410110a386808000200128020821020b2001200241086a360208200128020420026a2005370000200542ffffffffffffffff00560d020c010b200a41046a210b420021054100210c4201210741012104034020042103200128020c22062802082204280204220d450d012004200d417f6a36020420042004280200220d41016a3602002006427f200629030042017c22082008501b370300200d2d00002206ad42ff018321080240024020012802002002460d00200221040c010b2001200241014101410110a386808000200128020821040b2001200441016a2202360208200128020420046a20063a0000200341016a21042008200c410374413871ad8620058421052003210c200341ff0171200b490d000b2005427f4128200a4103746b413871ad88560d010b200020073703000f0b20002005370308200042003703000b810805047f047e027f017e037f23808080800041206b22022480808080000240024020012802082203280200220428020422050d00410121040c010b20042005417f6a36020420042004280200220541016a3602002001427f200129030042017c22062006501b37030020052d00002105410021040b4200210742012106024020044101710d00024002400240024002400240024002400240024020054103710e0403000102030b200328020022042802042203450d0920042003417f6a36020420042004280200220341016a360200420121062001427f200129030042017c22082008501b37030020032d00002201450d092001410874200541fc017172410276ad21090c070b2003280200220428020422034103490d0820042003417d6a36020420042004280200220341036a3602002001427f2001290300220842037c220920092008541b37030020032f0000200341026a2d0000411074722201418002490d082001410874200541fc017172410276ad21090c060b2005410276413f71220a0e0d04010101030101010101010102010b200541fc0171410276ad21090c040b200541ff017141334b0d05200a41046a210b2001290300210c2003280200220d28020421054100210e4101210342002109420021080340200321040240024020050d0041002105410121030c010b200d2005417f6a2205360204200d200d280200220341016a3602002001427f200c42017c22062006501b220c37030020032d0000210f410021030b420021074201210620034101710d06200241106a200fad42ff01834200200e41037441f8007110fd97808000200441016a210320022903182008842108200229031020098421092004210e200441ff0171200b490d000b2002427f427f41e800200a4103746b41f80071108198808000200920022903005620082002290308220c562008200c511b0d040c050b2003280200220428020422054110490d042004200541706a36020420042004280200220541106a3602002001427f2001290300220842107c220920092008541b3703002005290008220842ffffffffffffffff00580d04200529000021090c030b2003280200220428020422054108490d032004200541786a36020420042004280200220541086a3602002001427f2001290300220842087c220920092008541b37030020052900002209428080808080808080015a0d010c030b2003280200220428020422054104490d0220042005417c6a36020420042004280200220541046a3602002001427f2001290300220842047c220920092008541b37030020052800002201418080808004490d022001ad21090b420021080b200020093703102000200837031842002106420021070b2000200637030020002007370308200241206a2480808080000b850c08017f017e037f017e027f027e037f017e23808080800041206b220224808080800042002103024002402001280200220128020c2204280208280200220528020422060d00420121070c010b20052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021050240200128020020012802082206470d002001200641014101410110a386808000200128020821060b2001200641016a2204360208200128020420066a20053a00000240024002400240024002400240024002400240024020054103710e0403000102030b0240200128020c2208280208280200220628020422090d00420121070c0b0b20062009417f6a36020420062006280200220941016a360200420121072008427f200829030042017c220a200a501b37030020092d00002106024020012802002004470d002001200441014101410110a386808000200128020821040b2001200441016a360208200128020420046a20063a0000200641ff0171450d0a200641087420057241fcff0371410276ad210a0c080b42012107200128020c2208280208280200220628020422094103490d0920062009417d6a36020420062006280200220941036a3602002008427f2008290300220a42037c220b200b200a541b37030020092f0000200941026a2d00004110747221060240200128020020046b41024b0d002001200441034101410110a386808000200128020821040b2001200441036a360208200128020420046a220120063b0000200141026a20064110763a0000200641ffffff0771418002490d092006410874200572410276ad210a0c070b2005410276220c0e0d02010101030101010101010104010b2005410276ad210a0c050b200541334d0d03420121070c060b42012107200128020c2206280208280200220528020422084104490d0520052008417c6a36020420052005280200220841046a3602002006427f2006290300220a42047c220b200b200a541b370300200828000021050240200128020020046b41034b0d002001200441044101410110a386808000200128020821040b2001200441046a360208200128020420046a20053600002005418080808004490d052005ad210a0c030b42012107200128020c2206280208280200220528020422084108490d042005200841786a36020420052005280200220841086a3602002006427f2006290300220a42087c220b200b200a541b3703002008290000210a0240200128020020046b41074b0d002001200441084101410110a386808000200128020821040b2001200441086a360208200128020420046a200a370000200a428080808080808080015a0d020c040b42012107200128020c2206280208280200220528020422084110490d032005200841706a36020420052005280200220841106a3602002006427f2006290300220a42107c220b200b200a541b3703002008290008210b2008290000210a0240200128020020046b410f4b0d002001200441104101410110a386808000200128020821040b2001200441106a360208200128020420046a2201200b3700082001200a370000200b42ffffffffffffffff00560d020c030b200c41046a210d420021034100210942012107410121064200210a4200210b034020062105200128020c22082802082802002206280204220e450d032006200e417f6a36020420062006280200220e41016a3602002008427f200829030042017c220f200f501b370300200e2d000021060240024020012802002004460d00200421080c010b2001200441014101410110a386808000200128020821080b2001200841016a2204360208200128020420086a20063a0000200241106a2006ad42ff01834200200941037441f8007110fd97808000200541016a21062002290318200b84210b2002290310200a84210a20052109200541ff0171200d490d000b2002427f427f41e800200c4103746b41f80071108198808000200a200229030056200b2002290308220f56200b200f511b0d010c020b4200210b0b2000200a3703102000200b37031842002107420021030b2000200737030020002003370308200241206a2480808080000bf00b08017f017e037f017e027f027e037f017e23808080800041206b220224808080800042002103024002402001280200220128020c2204280208220528020422060d00420121070c010b20052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021050240200128020020012802082206470d002001200641014101410110a386808000200128020821060b2001200641016a2204360208200128020420066a20053a00000240024002400240024002400240024002400240024020054103710e0403000102030b0240200128020c2208280208220628020422090d00420121070c0b0b20062009417f6a36020420062006280200220941016a360200420121072008427f200829030042017c220a200a501b37030020092d00002106024020012802002004470d002001200441014101410110a386808000200128020821040b2001200441016a360208200128020420046a20063a0000200641ff0171450d0a200641087420057241fcff0371410276ad210a0c080b42012107200128020c2208280208220628020422094103490d0920062009417d6a36020420062006280200220941036a3602002008427f2008290300220a42037c220b200b200a541b37030020092f0000200941026a2d00004110747221060240200128020020046b41024b0d002001200441034101410110a386808000200128020821040b2001200441036a360208200128020420046a220120063b0000200141026a20064110763a0000200641ffffff0771418002490d092006410874200572410276ad210a0c070b2005410276220c0e0d02010101030101010101010104010b2005410276ad210a0c050b200541334d0d03420121070c060b42012107200128020c2206280208220528020422084104490d0520052008417c6a36020420052005280200220841046a3602002006427f2006290300220a42047c220b200b200a541b370300200828000021050240200128020020046b41034b0d002001200441044101410110a386808000200128020821040b2001200441046a360208200128020420046a20053600002005418080808004490d052005ad210a0c030b42012107200128020c2206280208220528020422084108490d042005200841786a36020420052005280200220841086a3602002006427f2006290300220a42087c220b200b200a541b3703002008290000210a0240200128020020046b41074b0d002001200441084101410110a386808000200128020821040b2001200441086a360208200128020420046a200a370000200a428080808080808080015a0d020c040b42012107200128020c2206280208220528020422084110490d032005200841706a36020420052005280200220841106a3602002006427f2006290300220a42107c220b200b200a541b3703002008290008210b2008290000210a0240200128020020046b410f4b0d002001200441104101410110a386808000200128020821040b2001200441106a360208200128020420046a2201200b3700082001200a370000200b42ffffffffffffffff00560d020c030b200c41046a210d420021034100210942012107410121064200210a4200210b034020062105200128020c22082802082206280204220e450d032006200e417f6a36020420062006280200220e41016a3602002008427f200829030042017c220f200f501b370300200e2d000021060240024020012802002004460d00200421080c010b2001200441014101410110a386808000200128020821080b2001200841016a2204360208200128020420086a20063a0000200241106a2006ad42ff01834200200941037441f8007110fd97808000200541016a21062002290318200b84210b2002290310200a84210a20052109200541ff0171200d490d000b2002427f427f41e800200c4103746b41f80071108198808000200a200229030056200b2002290308220f56200b200f511b0d010c020b4200210b0b2000200a3703102000200b37031842002107420021030b2000200737030020002003370308200241206a2480808080000bc80707047f017e017f037e027f017e027f23808080800041206b2202248080808000024002402001280208220328020422040d0041002105410121040c010b20032004417f6a220536020420032003280200220441016a3602002001427f200129030042017c22062006501b37030020042d00002107410021040b4200210842012106024020044101710d00024002400240024002400240024002400240024020074103710e0403000102030b2005450d0920032005417f6a36020420032003280200220441016a360200420121062001427f200129030042017c22092009501b37030020042d00002201450d092001410874200741fc017172410276ad210a0c070b20054103490d0820032005417d6a36020420032003280200220441036a3602002001427f2001290300220942037c220a200a2009541b37030020042f0000200441026a2d0000411074722201418002490d082001410874200741fc017172410276ad210a0c060b2007410276413f71220b0e0d04010101030101010101010102010b200741fc0171410276ad210a0c040b200741ff017141334b0d05200b41046a210c2001290300210d4100210e410121074200210a420021090340200721040240024020050d0041002105410121070c010b20032005417f6a220536020420032003280200220741016a3602002001427f200d42017c22062006501b220d37030020072d0000210f410021070b420021084201210620074101710d06200241106a200fad42ff01834200200e41037441f8007110fd97808000200441016a2107200229031820098421092002290310200a84210a2004210e200441ff0171200c490d000b2002427f427f41e800200b4103746b41f80071108198808000200a20022903005620092002290308220d562009200d511b0d040c050b20054110490d042003200541706a36020420032003280200220441106a3602002001427f2001290300220942107c220a200a2009541b3703002004290008220942ffffffffffffffff00580d042004290000210a0c030b20054108490d032003200541786a36020420032003280200220441086a3602002001427f2001290300220942087c220a200a2009541b3703002004290000220a428080808080808080015a0d010c030b20054104490d0220032005417c6a36020420032003280200220441046a3602002001427f2001290300220942047c220a200a2009541b37030020042800002201418080808004490d022001ad210a0b420021090b2000200a3703102000200937031842002106420021080b2000200637030020002008370308200241206a2480808080000bb904010d7f23808080800041206b22022480808080000240024020002802042203200028020c2204460d002001280208210520012802042106200128020021070340200020032201410c6a2203360204200241086a41086a2208200141086a2802002209360200200220012902003703082001280204210a2001280200210b02400240024002402009450d0020072d0000450d022006280204210c02402006280208220d450d00200d410c6c210e200c41086a21010340024020012802002009470d002001417c6a280200200a200910f597808000450d040b2001410c6a2101200e41746a220e0d000b0b0240200d2006280200470d00200641a09ac480001096868080002006280204210c0b200c200d410c6c6a22012002290308370200200141086a20082802003602002006200d41016a3602080c030b200741013a00000b200b450d01200a200a417e6a2f00006b41002802ec82d48000118180808000000c010b200b418080808078460d002005280208220141ffff004b0d03024020012005280200470d00200541a497c480001096868080000b20052802042001410c6c6a220e2009360208200e200a360204200e200b3602002005200141016a3602080b20032004470d000b0b02402000280208450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000f0b2002200936021c2002200a3602182002200b36021441d498c4800041cd00200241146a41c498c4800041909ac4800010a981808000000bbb1901137f2380808080004180036b2203248080808000024020012802042204200128020c2205460d00200241c1006a210620022d00402107200341206a41016a2108034020012004220941216a2204360204200341e0006a41386a200241386a220a290000370300200341e0006a41306a200241306a220b290000370300200341e0006a41286a200241286a220c290000370300200341e0006a41206a200241206a220d290000370300200341e0006a41186a200241186a220e290000370300200341e0006a41106a200241106a220f290000370300200341e0006a41086a200241086a221029000037030020032002290000370360200320022d00413a00bf01200320022d00423a00be01200320022d00433a00bd01200320022d00443a00bc01200320022d00453a00bb01200320022d00463a00ba01200320022d00473a00b901200320022d00483a00b801200320022d00493a00b701200320022d004a3a00b601200320022d004b3a00b501200320022d004c3a00b401200320022d004d3a00b301200320022d004e3a00b201200320022d004f3a00b101200320022d00503a00b001200320022d00513a00af01200320022d00523a00ae01200320022d00533a00ad01200320022d00543a00ac01200320022d00553a00ab01200320022d00563a00aa01200320022d00573a00a901200320022d00583a00a801200320022d00593a00a701200320022d005a3a00a601200320022d005b3a00a501200320022d005c3a00a401200320022d005d3a00a301200320022d005e3a00a201200320022d005f3a00a101200320022d00603a00a001200941016a211102400240024020092d0000410171450d0020082011290000370000200841186a201141186a290000370000200841106a201141106a290000370000200841086a201141086a290000370000200341013a0020200341c0016a200341e0006a200341206a410110b893808000200341a0026a41086a2211200341c0016a41086a2212290000370300200341a0026a41106a2209200341c0016a41106a2213290000370300200341a0026a41186a2214200341c0016a41186a2215290000370300200320032900c0013703a002200341c0016a200341a0026a410110d592808000200320032d00a0023a00e002200320032d00a1023a00df02200320032d00a2023a00de02200320032d00a3023a00dd02200320032d00a4023a00dc02200320032d00a5023a00db02200320032d00a6023a00da02200320032d00a7023a00d902200320112d00003a00d802200320032d00a9023a00d702200320032d00aa023a00d602200320032d00ab023a00d502200320032d00ac023a00d402200320032d00ad023a00d302200320032d00ae023a00d202200320032d00af023a00d102200320092d00003a00d002200320032d00b1023a00cf02200320032d00b2023a00ce02200320032d00b3023a00cd02200320032d00b4023a00cc02200320032d00b5023a00cb02200320032d00b6023a00ca02200320032d00b7023a00c902200320142d00003a00c802200320032d00b9023a00c702200320032d00ba023a00c602200320032d00bb023a00c502200320032d00bc023a00c402200320032d00bd023a00c302200320032d00be023a00c202200320032d00bf023a00c1022007410171450d01200320022d00423a00ff02200320022d00433a00fe02200320022d00443a00fd02200320022d00453a00fc02200320022d00463a00fb02200320022d00473a00fa02200320022d00483a00f902200320022d00493a00f802200320022d004a3a00f702200320022d004b3a00f602200320022d004c3a00f502200320022d004d3a00f402200320022d004e3a00f302200320022d004f3a00f202200320022d00503a00f102200320022d00513a00f002200320022d00523a00ef02200320022d00533a00ee02200320022d00543a00ed02200320022d00553a00ec02200320022d00563a00eb02200320022d00573a00ea02200320022d00583a00e902200320022d00593a00e802200320022d005a3a00e702200320022d005b3a00e602200320022d005c3a00e502200320022d005d3a00e402200320022d005e3a00e302200320022d005f3a00e202200320022d00603a00e102200341186a2014290300370300200341106a2009290300370300200341086a2011290300370300200320032903a002370300200341003a0020200341003a00ff02200341003a00fe02200341003a00fd02200341003a00fc02200341003a00fb02200341003a00fa02200341003a00f902200341003a00f802200341003a00f702200341003a00f602200341003a00f502200341003a00f402200341003a00f302200341003a00f202200341003a00f102200341003a00f002200341003a00ef02200341003a00ee02200341003a00ed02200341003a00ec02200341003a00eb02200341003a00ea02200341003a00e902200341003a00e802200341003a00e702200341003a00e602200341003a00e502200341003a00e402200341003a00e302200341003a00e202200341003a00e102200341206a41386a200341c0016a41386a290000370300200341206a41306a200341c0016a41306a290000370300200341206a41286a200341c0016a41286a290000370300200341206a41206a200341c0016a41206a290000370300200341206a41186a2015290000370300200341206a41106a2013290000370300200341206a41086a2012290000370300200320032900c001370320410121070c020b200341a0026a41186a201141186a290000370300200341a0026a41106a201141106a290000370300200341a0026a41086a201141086a290000370300200320112900003703a002200341c0016a200341e0006a200341a0026a410110848c808000200341206a41086a200341c0016a41086a290000370300200341206a41106a200341c0016a41106a290000370300200341206a41186a200341c0016a41186a290000370300200341206a41206a200341c0016a41206a290000370300200341206a41286a200341c0016a41286a290000370300200341206a41306a200341c0016a41306a290000370300200341206a41386a200341c0016a41386a290000370300200320032900c001370320200741ff01712111410021072011450d0141002107200341003a00bf01200341003a00be01200341003a00bd01200341003a00bc01200341003a00bb01200341003a00ba01200341003a00b901200341003a00b801200341003a00b701200341003a00b601200341003a00b501200341003a00b401200341003a00b301200341003a00b201200341003a00b101200341003a00b001200341003a00af01200341003a00ae01200341003a00ad01200341003a00ac01200341003a00ab01200341003a00aa01200341003a00a901200341003a00a801200341003a00a701200341003a00a601200341003a00a501200341003a00a401200341003a00a301200341003a00a201200341003a00a101200341003a00a0010c010b41002107200341003a00e002200341003a00df02200341003a00de02200341003a00dd02200341003a00dc02200341003a00db02200341003a00da02200341003a00d902200341003a00d802200341003a00d702200341003a00d602200341003a00d502200341003a00d402200341003a00d302200341003a00d202200341003a00d102200341003a00d002200341003a00cf02200341003a00ce02200341003a00cd02200341003a00cc02200341003a00cb02200341003a00ca02200341003a00c902200341003a00c802200341003a00c702200341003a00c602200341003a00c502200341003a00c402200341003a00c302200341003a00c202200341003a00c102200341206a41386a200341c0016a41386a290000370300200341206a41306a200341c0016a41306a290000370300200341206a41286a200341c0016a41286a290000370300200341206a41206a200341c0016a41206a290000370300200341206a41186a2015290000370300200341206a41106a2013290000370300200341206a41086a2012290000370300200320032900c0013703200b200341e0006a10d892808000200a200341206a41386a290300370000200b200341206a41306a290300370000200c200341206a41286a290300370000200d200341206a41206a290300370000200e200341206a41186a290300370000200f200341206a41106a2903003700002010200341206a41086a29030037000020022003290320370000200220073a004020062003290300370000200641086a200341086a290300370000200641106a200341106a290300370000200641186a200341186a29030037000020042005470d000b0b2000200241e10010f4978080001a02402001280208450d00200128020022022002417e6a2f00006b41002802ec82d48000118180808000000b20034180036a2480808080000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000bbb0404027f017e047f017e23808080800041206b220224808080800002400240200028020022032903002204423f560d002004a741027421030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20033a00000c010b0240200442ffff00560d002004a7410274410172210302402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20033b00000c010b0240200442ffffffff03560d002004a7410274410272210302402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20033600000c010b4113200479a741037622054102746b21060240200128020020012802082207470d0020012007410110f491808000200128020821070b2001200741016a22003602082001280204220820076a20063a0000200541786a2107200329030021090340200921040240024020012802002000460d00200021030c010b20012000410110f49180800020012802042108200128020821030b2001200341016a2200360208200820036a2004a73a000020044208882109200741016a22070d000b200220093703002004428002540d002002420037021420024281808080c00037020c200241a893c480003602084100200241e092c48000200241086a41b093c48000108581808000000b200241206a2480808080000b8b0504027f027e047f027e23808080800041306b220224808080800002400240200028020022032903002204423f5620032903082205420052220620055022001b0d002004a741027421030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20033a00000c010b0240200442ffff0056200620001b0d002004a7410274410172210302402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20033b00000c010b0240200442ffffffff03562005420052220620001b0d002004a7410274410272210302402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20033600000c010b413320057920047942c0007c20061ba741037622074102746b21080240200128020020012802082206470d0020012006410110f491808000200128020821060b2001200641016a22003602082001280204220920066a20083a0000200741706a21062003290308210a2003290300210b0340200a2104200b21050240024020012802002000460d00200021030c010b20012000410110f49180800020012802042109200128020821030b2001200341016a2200360208200920036a2005a73a00002005420888200442388684210b2004420888210a200641016a22060d000b2002200b3703002002200a37030820054280025441002004501b0d002002420037022420024281808080c00037021c200241a893c480003602184100200241e093c48000200241186a41f093c4800010d097808000000b200241306a2480808080000b0a00200010e0848080000bee0a04077f017e017f017e23808080800041d0006b2201248080808000200141286a419f94c48000410641b794c48000411b4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024104360224200241d894c48000360220200241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc1337030820024106360204200241d294c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421052001280218210620012802282107200129022c2108200141106a41086a22094100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c0006a41086a220341013602002002420437022c2002420c370224200241ce92c380003602202002410b36021c200241da92c38000360218200241bc80808000360210200120012902103703400240200328020022032001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c200242063702242002418693c380003602202002410636021c2002418093c380003602182002419f818080003602102002428f9096e9a7fcdea318370308200242a1b7c9b2e6acc3d92a3703002009200341016a220336020020012001290340220a37031002402003200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200341386c6a2202420437022c2002420c370224200241ce92c380003602202002410a36021c200241c492c38000360218200241bc80808000360210200242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c0006a41086a200341016a220336020020012001290310220a37034002402003200aa7470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c2002420c370224200241ce92c380003602202002410f36021c200241e592c38000360218200241bc80808000360210200242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141106a41086a200341016a220236020020012001290340220a37031002402002200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200241386c22036a2202420437022c20024206370224200241fa92c380003602202002410636021c200241f492c38000360218200241c8808080003602102002428d8cb3f8c0c2e5ae72370308200242e2cda9ec8fb5f7cd103703002001280214210220012001280210360248200120023602402001200220036a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002007418080808078460d012001200436021820012005360210200120053602142001200520064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200837023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bc60703067f017e017f23808080800041d0006b2201248080808000200141286a41dc94c48000410841e494c4800041234104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241ec80808000360238200242e2e68fceaa92ce9c7b370330200242e987d8bed5a3d0fbfb00370328200241073602242002418995c48000360220200241ea80808000360218200242bfedf48291abd3ae3a370310200242b0b4d4ade1aceba9ad7f370308200241023602042002418795c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242bfedf48291abd3ae3a370308200242b0b4d4ade1aceba9ad7f370300200141c0006a41086a220841013602002002420437022c20024202370224200241aeb4c380003602202002410236021c200241acb4c38000360218200241ea80808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22086a2202420437022c20024207370224200241a5b4c380003602202002410636021c2002419fb4c38000360218200241ec80808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bc80703067f017e017f23808080800041d0006b2201248080808000200141286a41dc94c48000410841e494c4800041234104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241ec80808000360238200242e2e68fceaa92ce9c7b370330200242e987d8bed5a3d0fbfb00370328200241073602242002418995c480003602202002418481808000360218200242d9d1a5958acddccda77f370310200242bb82a2f99fad8c91c100370308200241023602042002418795c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242d9d1a5958acddccda77f370308200242bb82a2f99fad8c91c100370300200141c0006a41086a220841013602002002420437022c20024202370224200241aeb4c380003602202002410236021c200241acb4c380003602182002418481808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22086a2202420437022c20024207370224200241a5b4c380003602202002410636021c2002419fb4c38000360218200241ec80808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000b880703067f017e017f23808080800041d0006b2201248080808000200141106a41186a419798c48000411341aa98c4800041184104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241c580808000360218200242cdd1c1cbe3b5a3c444370310200242b9e0ddc2f1d2dbbf4c370308200241023602042002418795c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242cdd1c1cbe3b5a3c444370308200242b9e0ddc2f1d2dbbf4c370300200141c0006a41086a220841013602002002420437022c20024202370224200241aeb4c380003602202002410936021c200241c5f3c38000360218200241c580808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22086a2202420437022c20024213370224200241cef3c380003602202002410436021c2002418b9cc38000360218200241ed8080800036021020024296e397c6bfa5aeee46370308200242aceff0b4f2bd8f8fe4003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000b9e0804067f017e017f017e23808080800041d0006b2201248080808000200141286a41b09ac48000410841b89ac4800041334104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bc80808000360218200242ec8ca7e0e2f0c7e6bf7f370310200242e6e2dea393f0baf43a370308200241013602042002419598c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242f2f6c78492f5abbf17370308200242cb8af4fff0fbf9c26b370300200141c0006a41086a220841013602002002420437022c2002420d37022420024188f5c380003602202002410e36021c200241faf4c38000360218200241a081808000360210200120012902103703400240200828020022082001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200841386c6a2202420437022c20024209370224200241a3f5c380003602202002410e36021c20024195f5c38000360218200241a18180800036021020024290f3c1b99dc0eac8cb00370308200242c1de9bfecdd1dee810370300200141186a200841016a2202360200200120012903402209370310024020022009a7470d00200141106a41ac91c3800010b5928080000b2001280214200241386c22086a2202420437022c20024223370224200241c4f5c380003602202002411836021c200241acf5c38000360218200241a281808000360210200242f6bce8febfd4f3d40137030820024298a897bdf0be82e33d3703002001280214210220012001280210360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000ba30101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000419981808000360218200042a5e9e3ab9e929adc2c37031020004293888c8f89fdc6ec9e7f370308200041063a0000200141106a2480808080000ba40101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000418481808000360218200042d9d1a5958acddccda77f370310200042bb82a2f99fad8c91c100370308200041063a0000200141106a2480808080000ba30101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041ec80808000360218200042e2e68fceaa92ce9c7b370310200042e987d8bed5a3d0fbfb00370308200041063a0000200141106a2480808080000ba20101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041bb80808000360218200042d7c9cb8fc1cf97db3e370310200042e88488d0c0e3aebc13370308200041063a0000200141106a2480808080000be609010b7f23808080800041206b220224808080800002400240200128022c220341c0004f0d00410521030c010b02402003418080014f0d00410621030c010b410841092003418080808004491b21030b410021040240024020032001280208220541146c6a22064100480d0041002d008083d480001a200641002802f482d480001182808080000022040d01410121040b2004200641f895c4800010b980808000000b200220043602082004417e6a41003b00002002410036020c2002200636020441002d008083d480001a024002400240412041002802f482d48000118280808000002203450d002001412c6a21072003417e6a220841003b00002003200129000c370000200341086a2209200141146a290000370000200341106a220a2001411c6a290000370000200341186a220b200141246a2900003700004100210c02402006411f4b0d00200241046a4100412010f49180800020022802082104200228020c210c0b2004200c6a22042003290000370000200441186a200b290000370000200441106a200a290000370000200441086a20092900003700002002200c41206a36020c200320082f00006b41002802ec82d480001181808080000020022007360214200241146a200241046a10dc8480800041002d008083d480001a412041002802f482d48000118280808000002203450d012003417e6a220741003b000020032001290030370000200341086a2208200141386a290000370000200341106a2209200141c0006a290000370000200341186a220a200141c8006a29000037000002402002280204200228020c22066b411f4b0d00200241046a2006412010f491808000200228020c21060b2002280208220c20066a22042003290000370000200441086a2008290000370000200441106a2009290000370000200441186a200a2900003700002002200641206a220436020c200320072f00006b41002802ec82d480001181808080000041002d008083d480001a412041002802f482d48000118280808000002203450d022003417e6a220741003b000020032001290050370000200341086a2208200141d8006a290000370000200341106a2209200141e0006a290000370000200341186a220a200141e8006a2900003700000240200228020420046b411f4b0d00200241046a2004412010f4918080002002280208210c200228020c21040b200c20046a22062003290000370000200641186a200a290000370000200641106a2009290000370000200641086a20082900003700002002200441206a36020c200320072f00006b41002802ec82d480001181808080000020012802042104200220053602102002200241106a360214200241146a200241046a10dc8480800002402005450d00200541146c2105200228020c21010340200241146a200410e896808000200228021821030240200228021c2206200228020420016b4d0d00200241046a2001200610f491808000200228020c21010b200228020820016a2003200610f4978080001a2002200120066a220136020c02402002280214450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200441146a21042005416c6a22050d000b0b20002002290204370200200041086a200241046a41086a280200360200200241206a2480808080000f0b4101412010ab80808000000b4101412010ab80808000000b4101412010ab80808000000bc60703067f017e017f23808080800041d0006b2201248080808000200141286a418094c480004105418594c48000411a4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241a381808000360238200242f38d9e99aae6a6ce6c370330200242cad8edf1c6aacd9b2837032820024109360224200241a594c48000360220200241a48180800036021820024283b0d291daeebdba827f370310200242eab2a8f28eb5b7f134370308200241063602042002419f94c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b592808000200128021422024283b0d291daeebdba827f370308200242eab2a8f28eb5b7f134370300200141c0006a41086a220841013602002002420437022c20024206370224200241aa92c380003602202002410636021c200241a492c38000360218200241a481808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22086a2202420437022c2002420e3702242002419692c380003602202002410a36021c2002418c92c38000360218200241a581808000360210200242baa0bf87b8e4a48dae7f370308200242b5ffdaf2ae8ca6f8dd003703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bc60703067f017e017f23808080800041d0006b2201248080808000200141286a41ae94c480004109418594c48000411a4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241a381808000360238200242f38d9e99aae6a6ce6c370330200242cad8edf1c6aacd9b2837032820024109360224200241a594c48000360220200241a48180800036021820024283b0d291daeebdba827f370310200242eab2a8f28eb5b7f134370308200241063602042002419f94c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b592808000200128021422024283b0d291daeebdba827f370308200242eab2a8f28eb5b7f134370300200141c0006a41086a220841013602002002420437022c20024206370224200241aa92c380003602202002410636021c200241a492c38000360218200241a481808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22086a2202420437022c20024214370224200241b092c380003602202002410a36021c2002418c92c38000360218200241a681808000360210200242bdd2f0ecfbe4cfe3ca00370308200242a1e4c5efa2f7a29b9f7f3703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000b8e0301047f23808080800041e0016b2202248080808000200241f0006a200110ed848080000240024020022802702203418080808078470d0020004180808080783602000c010b20022802782104200228027421052002410c6a200241fc006a41e40010f4978080001a2002200110cd848080000240024020022802004101710d00200241f0006a200120022802041093838080002002280270418080808078470d010b200041808080807836020002402004450d00200521010340024020012d0000220041034b0d002001200041027441949ec480006a2802006a2200280200450d00200041046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012004417f6a22040d000b0b2003450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b20002002290270370270200041f8006a200241f8006a2802003602002000410c6a2002410c6a41e40010f4978080001a2000200436020820002005360204200020033602000b200241e0016a2480808080000ba60702077f017e2380808080004180016b220224808080800002400240024002400240024020012802082203200128021022046b4120490d00200441206a21052004415f4b0d03200520034d0d0120052003418486cb8000109181808000000b20004180808080783602000c010b2001280204210320012005360210200241106a41086a200320046a220441086a290000370300200241106a41106a200441106a290000370300200241106a41186a200441186a29000037030020022004290000370310200241086a200110cd8480800002402002280208410171450d0020004180808080783602000c010b0240024020012802082205200128021022046b4120490d00200441206a21032004415f4b0d04200520034f0d0120032005418486cb8000109181808000000b20004180808080783602000c010b200228020c21062001280204210720012003360210200241306a41086a200720046a220841086a290000370300200241306a41106a200841106a290000370300200241306a41186a200841186a2900003703002002200829000037033002400240200520036b4120490d00200441c0006a21042003415f4b0d05200420054d0d0120042005418486cb8000109181808000000b20004180808080783602000c010b20012004360210200241d0006a41086a200720036a220441086a290000370300200241d0006a41106a200441106a290000370300200241d0006a41186a200441186a290000370300200220042900003703502002200110cd848080000240024020022802004101710d00200241f4006a20012002280204109b8380800020022802742201418080808078470d010b20004180808080783602000c010b200229027821092000200229031037000c20002002290330370030200041246a200241106a41186a2903003700002000411c6a200241106a41106a290300370000200041146a200241106a41086a290300370000200041386a200241306a41086a290300370000200041c0006a200241306a41106a290300370000200041c8006a200241306a41186a29030037000020002002290350370050200041d8006a200241d0006a41086a290300370000200041e0006a200241d0006a41106a290300370000200041e8006a200241d0006a41186a2903003700002000200636022c20002009370204200020013602000b20024180016a2480808080000f0b20042005418486cb8000109581808000000b20042003418486cb8000109581808000000b20032004418486cb8000109581808000000bd30702057f017e23808080800041f0026b2202248080808000200241206a41186a22034200370300200241206a41106a22044200370300200241206a41086a22054200370300200242003703200240024002402001200241206a412010858c8080000d0020024190026a41186a200329030037030020024190026a41106a200429030037030020024190026a41086a20052903003703002002200229032037039002200241186a200110d08480800020022802184101710d00200228021c2106200241206a41186a22034200370300200241206a41106a22044200370300200241206a41086a22054200370300200242003703202001200241206a412010858c8080000d00200241b0026a41186a2003290300370300200241b0026a41106a2004290300370300200241b0026a41086a2005290300370300200220022903203703b002200342003703002004420037030020054200370300200242003703202001200241206a412010858c8080000d00200241d0026a41186a200241206a41186a290300370300200241d0026a41106a200241206a41106a290300370300200241d0026a41086a200241206a41086a290300370300200220022903203703d002200241106a200110d08480800020022802104101710d00200241206a2001200228021410968380800020022802202203418080808078470d010b20004180808080783602000c010b200241b4016a20024190026a41086a290300370200200241bc016a20024190026a41106a290300370200200241c4016a20024190026a41186a290300370200200241d8016a200241b0026a41086a290300370200200241e0016a200241b0026a41106a290300370200200241e8016a200241b0026a41186a29030037020020022002290390023702ac01200220022903b0023702d0012002290224210720024188026a200241d0026a41186a29030037020020024180026a200241d0026a41106a290300370200200241f8016a200241d0026a41086a290300370200200220022903d0023702f001200220033602a001200220073702a401200220063602cc01200241086a200110d0848080000240024020022802084101710d00200241d0026a2001200228020c10828380800020022802d002418080808078470d010b2000418080808078360200200241a0016a10a58f8080002003450d012007a722012001417e6a2f00006b41002802ec82d48000118180808000000c010b20024198016a200241d8026a280200360200200220022902d00237029001200241206a200241a0016a41f00010f4978080001a2000200241206a41fc0010f4978080001a0b200241f0026a2480808080000bf50201047f23808080800041e0016b2202248080808000200241f0006a200110f0848080000240024020022802702203418080808078470d0020004180808080783602000c010b20022802782104200228027421052002410c6a200241f0006a410c6a41e40010f4978080001a200241f0006a200110b68f80800002402002280270418080808078470d00200041808080807836020002402004450d00200521000340024020002d0000220141034b0d002000200141027441949ec480006a2802006a2201280200450d00200141046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200041146a21002004417f6a22040d000b0b2003450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b20002002290270370270200041f8006a200241f8006a2802003602002000410c6a2002410c6a41e40010f4978080001a2000200436020820002005360204200020033602000b200241e0016a2480808080000b9d0702077f017e23808080800041f0006b22022480808080000240024020012802042203411f4b0d0020004180808080783602000c010b2001200341606a220436020420012001280200220541206a360200200241086a200541086a290000370300200241106a200541106a290000370300200241186a200541186a29000037030020022005290000370300024002402004450d0020012003415f6a22063602042001200541216a22073602000240024002400240024020052d002022084103710e0403020100030b200841044f0d0420044105490d0420012003415b6a22063602042001200541256a220736020020052800212203418080808004490d040c050b20044104490d0320012003415c6a22063602042001200541246a220736020020052f0021200541236a2d000041107472220541ff014d0d03200541087420087241027621030c040b20060d010c020b200841027621030c020b20012003415e6a22063602042001200541226a220736020020052d00212205450d00200541087420087241027621030c010b20004180808080783602000c010b02402006411f4b0d0020004180808080783602000c010b2001200641606a22043602042001200741206a2205360200200241206a41086a200741086a290000370300200241206a41106a200741106a290000370300200241206a41186a200741186a2900003703002002200729000037032002402004411f4b0d0020004180808080783602000c010b2001200641406a3602042001200741c0006a360200200241c0006a41086a200541086a290000370300200241c0006a41106a200541106a290000370300200241c0006a41186a200541186a29000037030020022005290000370340200241e4006a200110ad8f808000024020022802642201418080808078470d0020004180808080783602000c010b200229026821092000200229030037000c20002002290320370030200041246a200241186a2903003700002000411c6a200241106a290300370000200041146a200241086a290300370000200041386a200241206a41086a290300370000200041c0006a200241206a41106a290300370000200041c8006a200241206a41186a29030037000020002002290340370050200041d8006a200241c0006a41086a290300370000200041e0006a200241c0006a41106a290300370000200041e8006a200241c0006a41186a2903003700002000200336022c20002009370204200020013602000b200241f0006a2480808080000b820a03067f047e037f2380808080004180016b220224808080800002400240024002402001280200220328020c2204280208280200220528020422064120490d002005280200220741186a2900002108200741106a2900002109200741086a290000210a2007290000210b2005200741206a3602002005200641606a360204200241206a41086a2206200a370300200241206a41106a220c2009370300200241206a41186a220d20083703002004427f2004290300220842207c220920092008541b3703002002200b37032002402003280200200328020822076b411f4b0d002003200741204101410110a386808000200328020821070b200328020420076a22052002290320370000200541186a200d290300370000200541106a200c290300370000200541086a20062903003700002003200741206a360208200241086a200110ce8480800002402002280208410171450d0020004180808080783602000c040b200328020c2204280208280200220528020422064120490d01200228020c210e2005280200220741186a2900002108200741106a2900002109200741086a290000210a2007290000210b2005200741206a3602002005200641606a360204200241c0006a41086a2206200a370300200241c0006a41106a220c2009370300200241c0006a41186a220d20083703002004427f2004290300220842207c220920092008541b3703002002200b37034002402003280200200328020822076b411f4b0d002003200741204101410110a386808000200328020821070b200328020420076a22052002290340370000200541186a200d290300370000200541106a200c290300370000200541086a20062903003700002003200741206a2205360208200328020c22062802082802002207280204220c4120490d022007280200220441186a2900002108200441106a2900002109200441086a290000210a2004290000210b2007200441206a3602002007200c41606a360204200241e0006a41086a2204200a370300200241e0006a41106a220c2009370300200241e0006a41186a220d20083703002006427f2006290300220842207c220920092008541b3703002002200b3703600240200328020020056b411f4b0d002003200541204101410110a386808000200328020821050b200328020420056a22072002290360370000200741186a200d290300370000200741106a200c290300370000200741086a20042903003700002003200541206a3602082002200110ce848080000240024020022802004101710d00200241146a20012002280204108b8380800020022802142203418080808078470d010b20004180808080783602000c040b200229021821082000200229032037000c20002002290340370030200041246a200241206a41186a2903003700002000411c6a200241206a41106a290300370000200041146a200241206a41086a290300370000200041386a200241c0006a41086a290300370000200041c0006a200241c0006a41106a290300370000200041c8006a200241c0006a41186a29030037000020002002290360370050200041d8006a200241e0006a41086a290300370000200041e0006a200241e0006a41106a290300370000200041e8006a200241e0006a41186a2903003700002000200e36022c20002008370204200020033602000c030b20004180808080783602000c020b20004180808080783602000c010b20004180808080783602000b20024180016a2480808080000bf90903067f047e037f2380808080004180016b220224808080800002400240024002402001280200220328020c2204280208220528020422064120490d002005280200220741186a2900002108200741106a2900002109200741086a290000210a2007290000210b2005200741206a3602002005200641606a360204200241206a41086a2206200a370300200241206a41106a220c2009370300200241206a41186a220d20083703002004427f2004290300220842207c220920092008541b3703002002200b37032002402003280200200328020822076b411f4b0d002003200741204101410110a386808000200328020821070b200328020420076a22052002290320370000200541186a200d290300370000200541106a200c290300370000200541086a20062903003700002003200741206a360208200241086a200110cf8480800002402002280208410171450d0020004180808080783602000c040b200328020c2204280208220528020422064120490d01200228020c210e2005280200220741186a2900002108200741106a2900002109200741086a290000210a2007290000210b2005200741206a3602002005200641606a360204200241c0006a41086a2206200a370300200241c0006a41106a220c2009370300200241c0006a41186a220d20083703002004427f2004290300220842207c220920092008541b3703002002200b37034002402003280200200328020822076b411f4b0d002003200741204101410110a386808000200328020821070b200328020420076a22052002290340370000200541186a200d290300370000200541106a200c290300370000200541086a20062903003700002003200741206a2205360208200328020c22062802082207280204220c4120490d022007280200220441186a2900002108200441106a2900002109200441086a290000210a2004290000210b2007200441206a3602002007200c41606a360204200241e0006a41086a2204200a370300200241e0006a41106a220c2009370300200241e0006a41186a220d20083703002006427f2006290300220842207c220920092008541b3703002002200b3703600240200328020020056b411f4b0d002003200541204101410110a386808000200328020821050b200328020420056a22072002290360370000200741186a200d290300370000200741106a200c290300370000200741086a20042903003700002003200541206a3602082002200110cf848080000240024020022802004101710d00200241146a2001200228020410a48380800020022802142203418080808078470d010b20004180808080783602000c040b200229021821082000200229032037000c20002002290340370030200041246a200241206a41186a2903003700002000411c6a200241206a41106a290300370000200041146a200241206a41086a290300370000200041386a200241c0006a41086a290300370000200041c0006a200241c0006a41106a290300370000200041c8006a200241c0006a41186a29030037000020002002290360370050200041d8006a200241e0006a41086a290300370000200041e0006a200241e0006a41106a290300370000200041e8006a200241e0006a41186a2903003700002000200e36022c20002008370204200020033602000c030b20004180808080783602000c020b20004180808080783602000c010b20004180808080783602000b20024180016a2480808080000b8b0801097f23808080800041106b220224808080800041002d008083d480001a024002400240412041002802f482d48000118280808000002203450d002003417e6a220441003b00002003200029000c370000200341086a2205200041146a290000370000200341106a22062000411c6a290000370000200341186a2207200041246a29000037000002402001280200200128020822086b411f4b0d0020012008412010f491808000200128020821080b200128020420086a22092003290000370000200941086a2005290000370000200941106a2006290000370000200941186a20072900003700002001200841206a360208200320042f00006b41002802ec82d480001181808080000020022000412c6a360204200241046a200110dc8480800041002d008083d480001a412041002802f482d48000118280808000002203450d012003417e6a220541003b000020032000290030370000200341086a2206200041386a290000370000200341106a2207200041c0006a290000370000200341186a220a200041c8006a29000037000002402001280200200128020822086b411f4b0d0020012008412010f491808000200128020821080b2001280204220420086a22092003290000370000200941086a2006290000370000200941106a2007290000370000200941186a200a2900003700002001200841206a2209360208200320052f00006b41002802ec82d480001181808080000041002d008083d480001a412041002802f482d48000118280808000002203450d022003417e6a220541003b000020032000290050370000200341086a2206200041d8006a290000370000200341106a2207200041e0006a290000370000200341186a220a200041e8006a2900003700000240200128020020096b411f4b0d0020012009412010f49180800020012802042104200128020821090b200420096a22082003290000370000200841186a200a290000370000200841106a2007290000370000200841086a20062900003700002001200941206a360208200320052f00006b41002802ec82d48000118180808000002000280204210920022000280208220036020020022002360204200241046a200110dc8480800002402000450d00200041146c2104200128020821000340200241046a200910e896808000200228020821030240200228020c2208200128020020006b4d0d0020012000200810f491808000200128020821000b200128020420006a2003200810f4978080001a2001200020086a220036020802402002280204450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200941146a21092004416c6a22040d000b0b200241106a2480808080000f0b4101412010ab80808000000b4101412010ab80808000000b4101412010ab80808000000ba10701117f23808080800041106b2204248080808000200441046a200110fe8e80800002400240024020042802042205418080808078460d00200441046a20042802082206200428020c220710f68080800020042802044101470d012005450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c010b200441046a200110fe8e80800002400240024020042802042208418080808078460d00200441046a20042802082209200428020c220a10f68080800020042802044101470d012008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c010b024002402001280204220b41034b0d0020004181808080783602000c010b2001200b417c6a220c36020420012001280200220d41046a3602000240200c41034b0d0020004181808080783602000c010b200d280000210e2001200b41786a220c3602042001200d41086a3602000240200c41034b0d0020004181808080783602000c010b200d280004210f2001200b41746a3602042001200d410c6a360200200d2800082110200441046a200110b28f808000024020042802042211418080808078470d0020004181808080783602000c010b200428020c21122004280208211302400240024020020d002012410c6c21032013417c6a2102024003404100210d024020030d004100210b0c020b200341746a2103200241046a210b2002410c6a220c2102200b29000042dfd5adc696f381b09b7f520d000b200c28020021034101210b0b41012102200b410171450d010b4100210d4101210220034103490d002001280204220b4104490d012001200b417c6a221436020420012001280200220c41046a360200200c280000210220034103460d002014450d012001200b417b6a3602042001200c41056a360200200c2d0004210d0b2000200d3a0034200020023602302000201036022c2000200f3602282000200e360224200020123602202000201336021c200020113602182000200a360214200020093602102000200836020c2000200736020820002006360204200020053602000c030b2000418180808078360200201141808080807872418080808078460d0020132013417e6a2f00006b41002802ec82d48000118180808000000b2008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2005450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200441106a2480808080000bfd0102057f027e23808080800041106b2202248080808000200241046a108686808000200228020821030240200228020c22042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b2001280204220620056a2003200410f4978080001a2001200520046a220536020802402002280204450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20002903082107200029030021080240200128020020056b410f4b0d0020012005411010f49180800020012802042106200128020821050b200620056a22032007370008200320083700002001200541106a360208200241106a2480808080000bb90601087f23808080800041c0026b2202248080808000200241d0016a200110f08480800002400240024020022802d0012203418080808078460d0020022802d801210420022802d4012105200241ec006a200241dc016a41e40010f4978080001a200241d0016a200110b68f80800020022802d0012206418080808078470d0102402004450d00200521010340024020012d0000220741034b0d002001200741027441949ec480006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012004417f6a22040d000b0b2003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20022802d401210820022802d8012109200241086a200241ec006a41e40010f4978080001a200241d0016a200110ae88808000024020022802d0014101470d00200041808080807836020002402004450d00200521010340024020012d0000220741034b0d002001200741027441949ec480006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012004417f6a22040d000b0b02402003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b02402009450d002009410171210041002104024020094101460d002009417e712107410021042008210103402001410c6a200141046a280200200141086a2802002001280200280210118680808000002001411c6a200141146a280200200141186a280200200141106a28020028021011868080800000200141206a21012007200441026a2204470d000b0b2000450d00200820044104746a2201410c6a200128020420012802082001280200280210118680808000000b2006450d0120082008417e6a2f00006b41002802ec82d48000118180808000000c010b200020022902d40137027c20004184016a200241d0016a410c6a2802003602002000410c6a200241086a41e40010f4978080001a2000200936027820002008360274200020063602702000200436020820002005360204200020033602000b200241c0026a2480808080000b9f0301057f23808080800041206b22032480808080002000280208210441002d008083d480001a02402004410574410472220541002802f482d48000118280808000002206450d00200320063602102006417e6a41003b0000200341003602142003200536020c20002802042100200320043602182003200341186a36021c2003411c6a2003410c6a10dc848080000240024020040d0020032802142104200328021021070c010b200441057421052003280214210403400240200328020c20046b411f4b0d002003410c6a2004412010f491808000200328021421040b2003280210220720046a22062000290000370000200641086a200041086a290000370000200641106a200041106a290000370000200641186a200041186a2900003700002003200441206a2204360214200041206a2100200541606a22050d000b0b200328020c2100200120022007200441002802dc82d480001183808080000002402000450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000f0b4101200541f895c4800010b980808000000b970201037f23808080800041206b220424808080800041002d008083d480001a0240200141386c410472220541002802f482d48000118280808000002206450d002006417e6a41003b000020044100360214200420063602102004200536020c200420013602182004200441186a36021c2004411c6a2004410c6a10dc8480800002402001450d00200141386c2101034020002004410c6a10f984808000200041386a2100200141486a22010d000b0b200428020c21012002200320042802102200200428021441002802dc82d480001183808080000002402001450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000f0b4101200541f895c4800010b980808000000bfa0201057f20002802002102024020012802002203200128020822046b41034b0d0020012004410410f49180800020012802002103200128020821040b2001200441046a22053602082001280204220620046a2002360000200028020421040240200320056b41034b0d0020012005410410f49180800020012802042106200128020821050b2001200541046a360208200620056a2004360000200041086a200110b788808000200041146a200110be898080000240024020002d003522044102460d0002402001280200220320012802082205470d0020012005410110f49180800020012802002103200128020821050b2001200541016a22003602082001280204220620056a41013a0000024020032000470d0020012003410110f49180800020012802042106200128020821000b200620006a20043a00000c010b0240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41003a00000b2001200041016a3602080bb00601057f20002802082102024020012802002203200128020822046b41034b0d0020012004410410f49180800020012802002103200128020821040b2001200441046a22053602082001280204220620046a2002360000200028020c21020240200320056b41034b0d0020012005410410f4918080002001280200210320012802042106200128020821050b2001200541046a2204360208200620056a2002360000200028021021050240200320046b41034b0d0020012004410410f49180800020012802042106200128020821040b200620046a20053600002001200441046a22053602082000280214210202402001280200220320056b41034b0d0020012005410410f49180800020012802002103200128020821050b2001200541046a22043602082001280204220620056a2002360000200028021821020240200320046b41034b0d0020012004410410f4918080002001280200210320012802042106200128020821040b2001200441046a2205360208200620046a2002360000200028021c21040240200320056b41034b0d0020012005410410f49180800020012802042106200128020821050b200620056a20043600002001200541046a22053602082000280220210202402001280200220320056b41034b0d0020012005410410f49180800020012802002103200128020821050b2001200541046a22043602082001280204220620056a2002360000200028022421020240200320046b41034b0d0020012004410410f4918080002001280200210320012802042106200128020821040b2001200441046a2205360208200620046a2002360000200028022821040240200320056b41034b0d0020012005410410f49180800020012802042106200128020821050b200620056a20043600002001200541046a22053602082000280200210202402001280200220320056b41034b0d0020012005410410f49180800020012802002103200128020821050b2001200541046a22043602082001280204220620056a2002360000200028020421000240200320046b41034b0d0020012004410410f49180800020012802042106200128020821040b2001200441046a360208200620046a20003600000bf70101037f23808080800041206b220424808080800041002d008083d480001a02402001410474410472220541002802f482d48000118280808000002206450d002006417e6a41003b000020044100360214200420063602102004200536020c200420013602182004200441186a36021c2004411c6a2004410c6a10dc84808000200020012004410c6a10af83808000200428020c21062002200320042802102201200428021441002802dc82d480001183808080000002402006450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000f0b4101200541f895c4800010b980808000000bf10303027f017e037f23808080800041106b2202248080808000410021030240417f417f410b417f2001350218420c7e2204a72205410c6a22062006200541046a491b2004422088a71b22054105410120012802001b6a220620062005491b22054101410220012d001c22074102461b6a220620062005491b22064100480d0041002d008083d480001a41012103200641002802f482d48000118280808000002205450d002005417e6a41003b00002002200536020820022006360204200520012802083600002002410436020c2005200128020c3600042002410836020c200141106a200241046a10b7888080002001200241046a10bb898080000240024020074102460d00024020022802042205200228020c2201470d00200241046a2001410110f49180800020022802042105200228020c21010b2002280208220620016a41013a00002002200141016a220136020c024020052001470d00200241046a2005410110f49180800020022802082106200228020c21010b200620016a20073a00000c010b02402002280204200228020c2201470d00200241046a2001410110f491808000200228020c21010b200228020820016a41003a00000b20002002290204370200200041086a200141016a360200200241106a2480808080000f0b2003200641f895c4800010b980808000000b9f0301057f23808080800041206b22032480808080002000280204210441002d008083d480001a02402004410574410472220541002802f482d48000118280808000002206450d00200320063602102006417e6a41003b0000200341003602142003200536020c20002802002100200320043602182003200341186a36021c2003411c6a2003410c6a10dc848080000240024020040d0020032802142104200328021021070c010b200441057421052003280214210403400240200328020c20046b411f4b0d002003410c6a2004412010f491808000200328021421040b2003280210220720046a22062000290000370000200641086a200041086a290000370000200641106a200041106a290000370000200641186a200041186a2900003700002003200441206a2204360214200041206a2100200541606a22050d000b0b200328020c2100200120022007200441002802dc82d480001183808080000002402000450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000f0b4101200541f895c4800010b980808000000bdd0303027f017e037f23808080800041106b2202248080808000410021030240417f410c417f2001350210420c7e2204a72205410d6a22062006200541046a491b2004422088a71b22054101410220012d003522074102461b6a220620062005491b22064100480d0041002d008083d480001a41012103200641002802f482d48000118280808000002205450d002005417e6a41003b00002002200536020820022006360204200520012802003600002002410436020c200520012802043600042002410836020c200141086a200241046a10b788808000200141146a200241046a10be898080000240024020074102460d00024020022802042205200228020c2201470d00200241046a2001410110f49180800020022802042105200228020c21010b2002280208220620016a41013a00002002200141016a220136020c024020052001470d00200241046a2005410110f49180800020022802082106200228020c21010b200620016a20073a00000c010b02402002280204200228020c2201470d00200241046a2001410110f491808000200228020c21010b200228020820016a41003a00000b20002002290204370200200041086a200141016a360200200241106a2480808080000f0b2003200641f895c4800010b980808000000bf20401067f23808080800041206b2202248080808000410021030240024002400240024002400240024041032001280208220441056a220520012802002206418080808078461b22074100480d002007450d0141002d008083d480001a200741002802f482d480001182808080000022030d02410121030b2003200741f895c4800010b980808000000b20024100360214200242808080801037020c2006418080808078470d012002410c6a4100410110f491808000200228020c210420022802102103200228021421070c040b200220033602102003417e6a41003b0000200241003602142002200736020c2006418080808078460d024100210720050d010b2002410c6a4100410110f49180800020022802102103200228021421070b200320076a41013a00002002200741016a36021420012802042103200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2003200410f4978080001a2002200120046a3602140c020b41002107410321040b200320076a41003a00002002200741016a220736021420012d00042106024020042007470d002002410c6a2004410110f49180800020022802102103200228021421070b200320076a20063a00002002200741016a220336021420012d000521010240200228020c2003470d002002410c6a2003410110f491808000200228021421030b200228021020036a20013a00002002200341016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000bf80101047f23808080800041206b22022480808080002001280208210341002d008083d480001a02402003410474410472220441002802f482d48000118280808000002205450d00200220053602102005417e6a41003b0000200241003602142002200436020c20012802042101200220033602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402003450d0020034104742103034020012002410c6a10f584808000200141106a2101200341706a22030d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b4101200441f895c4800010b980808000000bca0202047f027e23808080800041206b22022480808080002001280208210341002d008083d480001a02402003410474410472220441002802f482d48000118280808000002205450d00200220053602102005417e6a41003b0000200241003602142002200436020c20012802042101200220033602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402003450d002003410474210520022802142103034020012903082106200129030021070240200228020c20036b410f4b0d002002410c6a2003411010f491808000200228021421030b200141106a2101200228021020036a22042006370008200420073700002002200341106a2203360214200541706a22050d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b4101200441f895c4800010b980808000000be60201047f23808080800041206b22022480808080002001280208210341002d008083d480001a02402003410574410472220441002802f482d48000118280808000002205450d00200220053602102005417e6a41003b0000200241003602142002200436020c20012802042101200220033602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402003450d00200341057421042002280214210303400240200228020c20036b411f4b0d002002410c6a2003412010f491808000200228021421030b200228021020036a22052001290000370000200541086a200141086a290000370000200541106a200141106a290000370000200541186a200141186a2900003700002002200341206a2203360214200141206a2101200441606a22040d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b4101200441f895c4800010b980808000000bab0801077f23808080800041206b22022480808080004100210302400240417f417f20012802202204410c6c417f417f200128021422052001280208220641046a22076a41046a220820082007491b2207410c6a220820082007491b22076a41046a220820082007491b220741056a220820082007491b22074100480d0041002d008083d480001a200741002802f482d480001182808080000022080d01410121030b2003200741f895c4800010b980808000000b200220083602102008417e6a41003b0000200241003602142002200736020c20012802042108200220063602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402006200228020c200228021422076b4d0d002002410c6a2007200610f491808000200228021421070b200228021020076a2008200610f4978080001a2002200720066a36021420012802102103200220053602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402005200228020c2206200228021422076b4d0d002002410c6a2007200510f491808000200228020c2106200228021421070b2002280210220820076a2003200510f4978080001a2002200720056a2205360214200128022421070240200620056b41034b0d002002410c6a2005410410f491808000200228020c210620022802102108200228021421050b200820056a20073600002002200541046a2205360214200128022821070240200620056b41034b0d002002410c6a2005410410f49180800020022802102108200228021421050b200820056a20073600002002200541046a2205360214200128022c21060240200228020c20056b41034b0d002002410c6a2005410410f491808000200228021421050b200228021020056a20063600002002200541046a360214200128021c2106200220043602182002200241186a36021c2002411c6a2002410c6a10dc848080002002280214210502402004450d0020062004410c6c6a210303400240200228020c220420056b41074b0d002002410c6a2005410810f491808000200228020c2104200228021421050b2002280210220720056a20062900003700002002200541086a2205360214200641086a28020021080240200420056b41034b0d002002410c6a2005410410f49180800020022802102107200228021421050b200720056a20083600002002200541046a22053602142006410c6a22062003470d000b0b200128023021070240200228020c220620056b41034b0d002002410c6a2005410410f491808000200228020c2106200228021421050b2002280210220420056a20073600002002200541046a220536021420012d00342107024020062005470d002002410c6a2006410110f49180800020022802102104200228021421050b2000200229020c370200200420056a20073a0000200041086a200541016a360200200241206a2480808080000bfa0201057f23808080800041106b22022480808080000240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024002400240024020052d000022064103710e0403020100030b200641044f0d0720034105490d0720012003417b6a3602042001200541056a3602002005280001418080808004490d070c050b20034104490d0620012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d06200341087420067241027621030c020b20040d020c050b200641027621030b200341204b0d01200241046a2001200310a7838080002002280204418080808078470d0220004180808080783602000c040b20012003417e6a3602042001200541026a36020020052d0001450d020b20004180808080783602000c020b20002002290204370200200041086a200241046a41086a2802003602000c010b20004180808080783602000b200241106a2480808080000b8e0301057f23808080800041106b220224808080800002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a36020002400240024002400240024020052d000022064103710e0400030201000b200641027621030c060b200641044f0d0420034105490d0420012003417b6a3602042001200541056a3602002005280001418080808004490d040c030b20034104490d0320012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d03200341087420067221030c010b2004450d0220012003417e6a3602042001200541026a36020020052d00012203450d02200341087420067221030b20034183024b0d00200341027621030c020b20004180808080783602000c020b20004180808080783602000c010b200241046a20012003108a8380800002402002280204418080808078470d0020004180808080783602000c010b20002002290204370200200041086a200241046a41086a2802003602000b200241106a2480808080000bef0503067f017e017f23808080800041d0006b2201248080808000200141286a418896c48000410a419296c4800041204104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024101360224200241b396c48000360220200241a78180800036021820024294d99591b4d8b0febc7f370310200242acd9c6f2aeb5bdf11237030820024101360204200241b296c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242d6edf8a5dd8add85dc003703002002420437022c20024206370224200241cf9cc3800036022020024100360218200241a8818080003602102002428399afcb8aa1f8d5b17f3703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bee0503067f017e017f23808080800041d0006b2201248080808000200141286a418896c48000410a419296c4800041204104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024101360224200241b396c48000360220200241a981808000360218200242f3dec6d0f9d8dfcce900370310200242a1a9c4c0eed0efc42b37030820024101360204200241b296c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242c88af8fec48aa6b0753703002002420437022c20024206370224200241cf9cc3800036022020024100360218200241aa81808000360210200242e8d5a6c3c5aee9b6e3003703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bef0503067f017e017f23808080800041d0006b2201248080808000200141286a418896c48000410a419296c4800041204104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024101360224200241b396c48000360220200241ab81808000360218200242cba29aa1e2e6d7e3947f370310200242b19ed2bab88fbfd3a37f37030820024101360204200241b296c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242f7a696d4e6b29eff113703002002420437022c20024206370224200241cf9cc3800036022020024100360218200241ac81808000360210200242aae2e2faedc2c1f5e4003703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bee0503067f017e017f23808080800041d0006b2201248080808000200141286a418896c48000410a419296c4800041204104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024101360224200241b396c48000360220200241ad81808000360218200242c2bd98c186cbe8c32f370310200242d6c7f28481b698b82437030820024101360204200241b296c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242daa1c8eabe88efa2da003703002002420437022c20024206370224200241cf9cc3800036022020024100360218200241ae81808000360210200242a7bcf9c3b39ae0eee0003703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bee0503067f017e017f23808080800041d0006b2201248080808000200141286a41b497c48000410e41c297c4800041254104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036023820024101360224200241b396c48000360220200241af81808000360218200242db9fafba9ac2b092113703102002428cd1b5a4bf89f39cf20037030820024101360204200241b296c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242e785abc48bc5a4cbd7003703002002420437022c20024206370224200241cf9cc3800036022020024100360218200241b0818080003602102002428df699f297caddb71f3703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bf503010b7f23808080800041206b210202402001280204220341034b0d00200041023a00140f0b20012003417c6a220436020420012001280200220541046a3602000240200441034b0d00200041023a00140f0b200528000021062001200341786a22043602042001200541086a3602000240200441034b0d00200041023a00140f0b200528000421072001200341746a220436020420012005410c6a3602000240200441034b0d00200041023a00140f0b200528000821082001200341706a22043602042001200541106a3602000240200441034b0d00200041023a00140f0b200528000c210920012003416c6a22043602042001200541146a36020002402004450d002005280010210a20012003416b6a3602042001200541156a220b3602000240024020052d0014220c0e020100020b20044121490d0120012003414b6a3602042001200541356a360200200241086a200b41086a290000370300200241106a200b41106a290000370300200241186a200b41186a2900003703002002200b2900003703000b2000200c3a0014200020022903003700152000411d6a200241086a290300370000200041256a200241106a2903003700002000412d6a200241186a2903003700002000200a3602102000200936020c2000200836020820002007360204200020063602000f0b200041023a00140b830301047f20002802002102024020012802002203200128020822046b41034b0d0020012004410410f49180800020012802002103200128020821040b2001280204220520046a20023600002001200441046a2204360208200028020421020240200320046b41034b0d0020012004410410f4918080002001280200210320012802042105200128020821040b200520046a20023600002001200441046a2204360208200028020821020240200320046b41034b0d0020012004410410f49180800020012802042105200128020821040b200520046a20023600002001200441046a2204360208200028020c210202402001280200220320046b41034b0d0020012004410410f49180800020012802002103200128020821040b2001280204220520046a20023600002001200441046a2204360208200028021021020240200320046b41034b0d0020012004410410f49180800020012802042105200128020821040b2001200441046a360208200520046a2002360000200041146a200110be898080000bf30904077f017e017f017e23808080800041d0006b2201248080808000200141286a41e797c48000411741fe97c4800041174104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bb80808000360238200242d7c9cb8fc1cf97db3e370330200242e88488d0c0e3aebc13370328200241013602242002419698c48000360220200241bc80808000360218200242ec8ca7e0e2f0c7e6bf7f370310200242e6e2dea393f0baf43a370308200241013602042002419598c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421052001280218210620012802282107200129022c2108200141106a41086a22094100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242cdcabc9d9cf3be8d0337030820024289ece2a6cba888f82b370300200141c0006a41086a220341013602002002420437022c20024208370224200241a3f3c380003602202002410b36021c20024198f3c38000360218200241ce80808000360210200120012902103703400240200328020022032001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c200242013702242002418bf3c380003602202002411336021c200241f8f2c38000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002009200341016a220336020020012001290340220a37031002402003200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200341386c6a2202420437022c20024201370224200241c4f3c380003602202002411936021c200241abf3c38000360218200241bc80808000360210200242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c8006a200341016a220236020020012001290310220a37034002402002200aa7470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22036a2202420437022c20024203370224200241cfaac380003602202002410c36021c2002418cf3c38000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002001280244210220012001280240360248200120023602402001200220036a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002007418080808078460d012001200436021820012005360210200120053602142001200520064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200837023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bf303010d7f410121020240200128020422034104490d0020012003417c6a220436020420012001280200220541046a36020020044104490d00200528000021062001200341786a22043602042001200541086a36020020044104490d00200528000421072001200341746a220436020420012005410c6a36020020044104490d00200528000821082001200341706a22043602042001200541106a36020020044104490d00200528000c210920012003416c6a22043602042001200541146a36020020044104490d002005280010210a2001200341686a22043602042001200541186a36020020044104490d002005280014210b2001200341646a220436020420012005411c6a36020020044104490d002005280018210c2001200341606a22043602042001200541206a36020020044104490d00200528001c210d20012003415c6a22043602042001200541246a36020020044104490d002005280020210e2001200341586a22043602042001200541286a36020020044104490d00200528002421022000200e36022c2000200d3602282000200c3602242000200b3602202000200a36021c2000200936021820002008360214200020073602102000200636020c200020023602042001200341546a36020420012005412c6a36020020002005280028360208410021020b200020023602000be30605087f027e027f027e027f23808080800041c0006b2202248080808000200241086a200110ce8480800002400240024020022802084101710d00200241146a2001200228020c10898380800020022802142203418080808078470d010b20004180808080783602000c010b2002280218210402402001280200220528020c2206280208280200220728020422084104490d00200228021c210920072008417c6a36020420072007280200220841046a3602002006427f2006290300220a42047c220b200b200a541b3703002008280000210802402005280200200528020822076b41034b0d002005200741044101410110a386808000200528020821070b2005200741046a360208200528020420076a20083600002001280200220528020c220c2802082802002207280204220d4120490d002007280200220641186a290000210a200641106a290000210b200641086a290000210e2006290000210f2007200641206a3602002007200d41606a360204200241206a41086a220d200e370300200241206a41106a2210200b370300200241206a41186a2211200a370300200c427f200c290300220a42207c220b200b200a541b3703002002200f37032002402005280200200528020822066b411f4b0d002005200641204101410110a386808000200528020821060b200528020420066a22072002290320370000200741186a2011290300370000200741106a2010290300370000200741086a200d2903003700002005200641206a3602082001280200220128020c2207280208280200220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002007427f2007290300220a42047c220b200b200a541b3703002006280000210702402001280200200128020822056b41034b0d002001200541044101410110a386808000200128020821050b20002009360208200020043602042000200336020020002002290320370010200020073602302000200836020c2001200541046a360208200128020420056a2007360000200041186a200241286a290300370000200041206a200241306a290300370000200041286a200241206a41186a2903003700000c010b20004180808080783602002003450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000bda0605087f027e027f027e027f23808080800041c0006b2202248080808000200241086a200110cf8480800002400240024020022802084101710d00200241146a2001200228020c10868380800020022802142203418080808078470d010b20004180808080783602000c010b2002280218210402402001280200220528020c2206280208220728020422084104490d00200228021c210920072008417c6a36020420072007280200220841046a3602002006427f2006290300220a42047c220b200b200a541b3703002008280000210802402005280200200528020822076b41034b0d002005200741044101410110a386808000200528020821070b2005200741046a360208200528020420076a20083600002001280200220528020c220c2802082207280204220d4120490d002007280200220641186a290000210a200641106a290000210b200641086a290000210e2006290000210f2007200641206a3602002007200d41606a360204200241206a41086a220d200e370300200241206a41106a2210200b370300200241206a41186a2211200a370300200c427f200c290300220a42207c220b200b200a541b3703002002200f37032002402005280200200528020822066b411f4b0d002005200641204101410110a386808000200528020821060b200528020420066a22072002290320370000200741186a2011290300370000200741106a2010290300370000200741086a200d2903003700002005200641206a3602082001280200220128020c2207280208220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002007427f2007290300220a42047c220b200b200a541b3703002006280000210702402001280200200128020822056b41034b0d002001200541044101410110a386808000200128020821050b20002009360208200020043602042000200336020020002002290320370010200020073602302000200836020c2001200541046a360208200128020420056a2007360000200041186a200241286a290300370000200041206a200241306a290300370000200041286a200241206a41186a2903003700000c010b20004180808080783602002003450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000ba10401087f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110dc848080000240200420012802002205200128020822066b4d0d0020012006200410f49180800020012802002105200128020821060b2001280204220720066a2003200410f4978080001a2001200620046a2204360208200028020c21060240200520046b41034b0d0020012004410410f49180800020012802042107200128020821040b200720046a20063600002001200441046a220636020841002d008083d480001a0240412041002802f482d48000118280808000002204450d002004417e6a220541003b000020042000290010370000200441086a2203200041186a290000370000200441106a2208200041206a290000370000200441186a2209200041286a2900003700000240200128020020066b411f4b0d0020012006412010f49180800020012802042107200128020821060b200720066a22072004290000370000200741186a2009290000370000200741106a2008290000370000200741086a20032900003700002001200641206a2206360208200420052f00006b41002802ec82d4800011818080800000200028023021000240200128020020066b41034b0d0020012006410410f491808000200128020821060b2001200641046a360208200128020420066a2000360000200241106a2480808080000f0b4101412010ab80808000000b9b0401057f23808080800041106b220224808080800002400240200128020422030d0020004181808080783602000c010b20012003417f6a220436020420012001280200220541016a36020002400240024002400240024020052d00000e020001020b02402004450d0020012003417e6a22043602042001200541026a3602002004450d00200020052d00013a0004200041808080807836020020012003417d6a3602042001200541036a360200200020052d00023a00050c060b20004181808080783602000c050b2004450d0320012003417e6a22063602042001200541026a36020002400240024020052d000122044103710e0400040102000b20044102762103410021050c040b20034105490d0420012003417b6a3602042001200541056a36020020052f0002200541046a2d0000411074722203418002492105200341087420047241027621030c030b200441044f0d0320034106490d0320012003417a6a3602042001200541066a360200200528000222034180808080044921050c020b20004181808080783602000c030b2006450d0120012003417d6a3602042001200541036a36020020052d00022203450d0120034108742004724102762103410021050b20050d00200341c0004b0d00200241046a20012003108a8380800020022802042201418080808078460d0020002002290208370204200020013602000c010b20004181808080783602000b200241106a2480808080000bbd0202057f027e23808080800041206b2202248080808000024002402001280200220328020c2204280208280200220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002004427f2004290300220742047c220820082007541b3703002006280000210402402003280200200328020822056b41034b0d002003200541044101410110a386808000200328020821050b2003200541046a360208200328020420056a2004360000200241086a200110ce848080000240024020022802084101710d00200241146a2001200228020c1089838080002002280214418080808078470d010b20004180808080783602000c020b20002002290214370200200041086a200241146a41086a2802003602002000200436020c0c010b20004180808080783602000b200241206a2480808080000bba0202057f027e23808080800041206b2202248080808000024002402001280200220328020c2204280208220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002004427f2004290300220742047c220820082007541b3703002006280000210402402003280200200328020822056b41034b0d002003200541044101410110a386808000200328020821050b2003200541046a360208200328020420056a2004360000200241086a200110cf848080000240024020022802084101710d00200241146a2001200228020c1086838080002002280214418080808078470d010b20004180808080783602000c020b20002002290214370200200041086a200241146a41086a2802003602002000200436020c0c010b20004180808080783602000b200241206a2480808080000b9c0804067f017e027f017e23808080800041d0006b2201248080808000200141286a41eb9ac48000410e41b89ac4800041334104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bc80808000360218200242ec8ca7e0e2f0c7e6bf7f370310200242e6e2dea393f0baf43a370308200241013602042002419598c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a22084100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242f2f6c78492f5abbf17370308200242cb8af4fff0fbf9c26b370300200141c0006a41086a220941013602002002420437022c2002420d37022420024188f5c380003602202002410e36021c200241faf4c38000360218200241a081808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200941386c6a2202420437022c20024220370224200241f5f5c380003602202002410e36021c200241e7f5c380003602182002418c81808000360210200242eba3adccb5ca80f460370308200242d4e0dcb5cef8a2d3693703002008200941016a220236020020012001290340220a37031002402002200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200241386c22096a2202420437022c20024223370224200241c4f5c380003602202002411836021c200241acf5c38000360218200241a281808000360210200242f6bce8febfd4f3d40137030820024298a897bdf0be82e33d3703002001280214210220012001280210360248200120023602402001200220096a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bdf0401067f23808080800041d0006b2202248080808000024002400240200128020422034104490d0020012003417c6a220436020420012001280200220541046a36020020044104490d00200528000021042001200341786a3602042001200541086a36020020052800042103200241c0006a200110ab8880800020022802404101470d010b200041023a00140c010b2002411c6a200241cc006a28020036020020022002290244370214200220033602102002200436020c024020012802042203450d0020012003417f6a220636020420012001280200220441016a22053602000240024020042d000022070e020100020b20034121490d0120012003415f6a22063602042001200441216a2203360200200241206a41086a200541086a290000370300200241206a41106a200541106a290000370300200241206a41186a200541186a29000037030020022005290000370320200321050b2006450d0020012006417f6a22043602042001200541016a360200410221030240024020052d00000e020100020b2004450d0120012006417e6a3602042001200541026a3602004101410220052d000122014101461b410020011b22034102460d010b2000200229020c37020020002002290320370015200041106a2002410c6a41106a280200360200200041086a2002410c6a41086a2902003702002000411d6a200241206a41086a290300370000200041256a200241206a41106a2903003700002000412d6a200241386a290300370000200020033a0035200020073a00140c010b200041023a00142002410c6a41086a10ad888080000b200241d0006a2480808080000be30301077f23808080800041306b2202248080808000024002400240200128020422034104490d0020012003417c6a220436020420012001280200220541046a36020020044104490d00200528000021042001200341786a3602042001200541086a36020020052800042103200241206a200110ab8880800020022802204101470d010b200041023602000c010b2002411c6a2002412c6a28020036020020022002290224370214200220033602102002200436020c024020012802042203450d0020012003417f6a220436020420012001280200220541016a22063602000240024020052d000022070e020100020b20034105490d0120012003417b6a22043602042001200541056a220636020020052800012108410121070b2004450d0020012004417f6a22053602042001200641016a360200410221030240024020062d00000e020100020b2005450d0120012004417e6a3602042001200641026a3602004101410220062d000122014101461b410020011b22034102460d010b2000200229020c370208200041186a2002410c6a41106a280200360200200041106a200241146a290200370200200020033a001c20002008360204200020073602000c010b200041023602002002410c6a41086a10ad888080000b200241306a2480808080000bfd0304057f027e037f017e23808080800041206b22022480808080004101210302402001280200220128020c2204280208280200220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002004427f2004290300220742047c220820082007541b3703002006280000210602402001280200200128020822056b41034b0d002001200541044101410110a386808000200128020821050b2001200541046a2204360208200128020420056a2006360000200128020c22092802082802002205280204220a4120490d002005200a41606a36020420052005280200220341206a360200200241086a2205200341086a290000370300200241106a220a200341106a290000370300200241186a220b200341186a2900003703002009427f2009290300220742207c220820082007541b370300200220032900003703000240200128020020046b411f4b0d002001200441204101410110a386808000200128020821040b2000200229030022073700042001200441206a360208200128020420046a220120073700002000410c6a20052903002207370000200041146a200a29030022083700002000411c6a200b290300220c370000200141086a2007370000200141106a2008370000200141186a200c37000020002006360224410021030b20002003360200200241206a2480808080000bf70304057f027e037f017e23808080800041206b22022480808080004101210302402001280200220128020c2204280208220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002004427f2004290300220742047c220820082007541b3703002006280000210602402001280200200128020822056b41034b0d002001200541044101410110a386808000200128020821050b2001200541046a2204360208200128020420056a2006360000200128020c22092802082205280204220a4120490d002005200a41606a36020420052005280200220341206a360200200241086a2205200341086a290000370300200241106a220a200341106a290000370300200241186a220b200341186a2900003703002009427f2009290300220742207c220820082007541b370300200220032900003703000240200128020020046b411f4b0d002001200441204101410110a386808000200128020821040b2000200229030022073700042001200441206a360208200128020420046a220120073700002000410c6a20052903002207370000200041146a200a29030022083700002000411c6a200b290300220c370000200141086a2007370000200141106a2008370000200141186a200c37000020002006360224410021030b20002003360200200241206a2480808080000bcc0201077f2000280220210202402001280200200128020822036b41034b0d0020012003410410f491808000200128020821030b2001280204220420036a20023600002001200341046a220236020841002d008083d480001a0240412041002802f482d48000118280808000002203450d002003417e6a220541003b000020032000290000370000200341086a2206200041086a290000370000200341106a2207200041106a290000370000200341186a2208200041186a2900003700000240200128020020026b411f4b0d0020012002412010f49180800020012802042104200128020821020b200420026a22002003290000370000200041186a2008290000370000200041106a2007290000370000200041086a20062900003700002001200241206a360208200320052f00006b41002802ec82d48000118180808000000f0b4101412010ab80808000000bbf0a020c7f017e23808080800041f0006b2202248080808000200241d0006a200110fe8e80800002400240024020022802502203418080808078460d00200228025421040240200128020422054104490d002002280258210620012005417c6a220736020420012001280200220841046a220936020020074120490d002008280000210a20012005415c6a22073602042001200841246a360200200241d0006a41086a220b200941086a290000370300200241d0006a41106a220c200941106a290000370300200241d0006a41186a220d200941186a29000037030020022009290000370350200741034b0d020b2003450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b2001200541586a3602042001200841286a360200200241086a200b290300370300200241106a200c290300370300200241186a200d2903003703002002200229035037030020082800242105200241d0006a200110a7888080000240024020022802504101470d0020004180808080783602000c010b200241286a200241dc006a28020036020020022002290254370320200241d0006a200110ae8f8080000240024020022802502208418080808078470d0020004180808080783602000c010b2002280254210720022802582109200241d0006a200110b4888080000240024020022802504101470d0020004180808080783602000c010b200241306a41086a200241dc006a28020036020020022002290254370330200241d0006a200110b98f808000024002402002280250418080808078470d0020004180808080783602000c010b200241c0006a41086a200241d0006a41086a2802003602002002200229025037034002402001280204220b450d002001200b417f6a36020420012001280200220b41016a360200418080808078210c02400240200b2d00000e020100020b200241d0006a20011085858080002002280250220c418080808078460d012002290254210e0b20002002290300370210200020022903203702582000200229033037026420002002290340370240200041286a200241186a290300370200200041206a200241106a290300370200200041186a200241086a290300370200200041e0006a200241206a41086a280200360200200041ec006a200241306a41086a280200360200200041c8006a200241c0006a41086a2802003602002000200e3702502000200c36024c2000200936023c2000200736023820002008360234200020053602302000200a36020c2000200636020820002004360204200020033602000c050b2000418080808078360200200241c0006a10a28f8080002002280240450d00200228024422012001417e6a2f00006b41002802ec82d48000118180808000000b200241306a10b6888080000b02402009450d002009410171210641002100024020094101460d002009417e7121092007210141002100034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012009200041026a2200470d000b0b2006450d00200720004104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b2008450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200241206a10a6888080000b2003450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241f0006a2480808080000b1200200141f09bc48000410210b4818080000bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000ba20101037f23808080800041106b22022480808080002000280200210041012103200128020041e580c280004101200128020428020c118080808000002104200241003a000d200220043a000c20022001360208200241086a200020004180086a10948e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030b8d0401047f23808080800041306b2202248080808000200028020021002001280200220341014100200128020428020c2204118080808000002105200220003602082002200041016a36020c024002402005450d00410121000c010b0240024020012d000a418001710d0041012100200341df80c2800041012004118080808000000d02200241086a200110a085808000450d010c020b0240200341e080c280004102200411808080800000450d00410121000c020b41012100200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a360220200241086a200241206a10a0858080000d01200228022041da80c280004102200228022428020c118080808000000d010b0240024020012d000a418001710d000240200128020041d380c280004102200128020428020c11808080800000450d00410121000c030b410121002002410c6a200110a185808000450d010c020b41012100200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a1858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000bbf0201047f23808080800041306b22022480808080002002200028020036020c4101210002402001280200220341f29bc48000410c2001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110aa858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000bbf0201047f23808080800041306b22022480808080002002200028020036020c41012100024020012802002203418a9cc4800041102001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110aa858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000b3000024020002802002d00000d00200141b4a8c28000410510b4818080000f0b200141b9a8c28000410410b4818080000b3400200128020041839cc4800041fe9bc4800020002802002d000022001b4107410520001b200128020428020c118080808000000ba00101017f23808080800041106b220224808080800020022000280200220036020c2001419f94c48000410641e49dc48000410b2000410c6a41c49dc4800041ef9dc4800041062000412c6a41b491c4800041f59dc48000410a200041306a41c49dc4800041ff9dc48000410f200041d0006a41c49dc48000418e9ec4800041062002410c6a41d49dc4800010b8818080002100200241106a24808080800020000bbd0201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002f01004101200110f88080800021000c020b20002f01002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ffff0371220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002f01002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ffff0371220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b1900200028020022002802002000280204200110bc818080000ba10101037f23808080800041106b22022480808080002000280200210041012103200128020041e580c280004101200128020428020c118080808000002104200241003a000d200220043a000c20022001360208200241086a2000200041146a10948e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030b950201027f23808080800041106b2202248080808000200220002802002200360204200128020041c093c480004116200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41e691c4800041072000410c6a41b491c48000108a818080001a200241086a41d693c480004103200241046a41c491c48000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bc70301047f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff0171410174220541a1f1c180006a2d00003a00022002200541a0f1c180006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe017141a1f1c180006a2d00003a00000b2001410141014100200220036a410320036b10b28180800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000bbb0202027f017e2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002903004101200110fc8080800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000ba10101037f23808080800041106b22022480808080002000280200210041012103200128020041e580c280004101200128020428020c118080808000002104200241003a000d200220043a000c20022001360208200241086a2000200041086a10948e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030bd80502047f017e23808080800041a0016b22022480808080002000280200210341012100024020012802002204418896c48000410a200128020428020c2205118080808000000d000240024020012d000a418001710d0041012100200441df80c2800041012005118080808000000d0220032001109d8f808000450d010c020b200441e080c2800041022005118080808000000d0141012100200241013a0000200241b480c280003602242002200129020037021020022001290208370228200220023602182002200241106a3602202003200241206a109d8f8080000d01200228022041da80c280004102200228022428020c118080808000000d010b024002400240024020012d000a418001710d0041012100200128020041d380c280004102200128020428020c118080808000000d04200128020822004180808010710d01024020004180808020710d004101210041c0004101200110fa80808000450d030c050b200241b4e0003b009e014101210020014101419cf1c1800041022002419e016a410210b281808000450d020c040b200241013a000f200241b480c280003602142002200129020037020020022001290208220637021820022002410f6a36020820022002360210024002402006a722004180808010710d00024020004180808020710d0041c0004101200241106a10fa808080000d050c020b200241b4e0003b009e01200241106a4101419cf1c1800041022002419e016a410210b281808000450d010c040b200241b4e0003b009e01200241106a4101419cf1c1800041022002419e016a410210b2818080000d030b41012100200228021041da80c280004102200228021428020c118080808000000d030c010b200241b4e0003b009e014101210020014101419cf1c1800041022002419e016a410210b2818080000d020b200128020041e280c280004101200128020428020c1180808080000021000c010b410121000b200241a0016a24808080800020000b950201027f23808080800041106b2202248080808000200220002802002200360204200128020041ac9dc48000410d200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41e691c480004107200041206a41b491c48000108a818080001a200241086a41b99dc480004108200241046a419c9dc48000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b140020002802002000280204200110bc818080000bd30303027f037e017f2380808080004180016b22022480808080002000280200210002400240024002400240200128020822034180808010710d0020034180808020710d01200029030020002903084101200110f08080800021000c020b2000290308210420002903002105410021000340200041ff006a41ff004b0d03200220006a41ff006a2005a7410f712203413072200341d7006a2003410a491b3a00002004423c8621062005421054210320045021072000417f6a210020044204882104200620054204888421052003410020071b450d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b2000290308210420002903002105410021000340200041ff006a41ff004b0d03200220006a41ff006a2005a7410f712203413072200341376a2003410a491b3a00002004423c8621062005421054210320045021072000417f6a210020044204882104200620054204888421052003410020071b450d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000f0b200041ff006a418001418cf1c18000108281808000000b200041ff006a418001418cf1c18000108281808000000ba10101037f23808080800041106b22022480808080002000280200210041012103200128020041e580c280004101200128020428020c118080808000002104200241003a000d200220043a000c20022001360208200241086a2000200041206a10948e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030b950201027f23808080800041106b2202248080808000200220002802002200360204200128020041d491c480004112200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41e691c4800041072000410c6a41b491c48000108a818080001a200241086a41ed91c480004104200241046a41c491c48000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b140020002802002802004101200110fa808080000b140020012000280200200028020410b4818080000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b8d0101037f024020034108490d0020002000200341037622034190016c22046a2000200341fc016c22056a200310b78580800021002001200120046a200120056a200310b78580800021012002200220046a200220056a200310b78580800021020b200020022001200028020022032001280200220449220520042002280200220649731b20052003200649731b0bfd0101067f024020034108490d00200020002003410376220341067422046a2000200341f0006c22056a200310b88580800021002001200120046a200120056a200310b88580800021012002200220046a200220056a200310b88580800021020b2000280200220620012802002207200041046a2802002203200141046a280200220420032004491b10f597808000210802402006200228020022092003200241046a280200220520032005491b10f5978080002206200320056b20061b2008200320046b20081b2203734100480d0020022001200720092004200520042005491b10f5978080002200200420056b20001b2003734100481b21000b20000b9e0101027f024020034108490d00200020002003410376220341077422046a2000200341e0016c22056a200310b98580800021002001200120046a200120056a200310b98580800021012002200220046a200220056a200310b98580800021020b024020002001412010f597808000220320002002412010f597808000734100480d002002200120012002412010f5978080002003734100481b21000b20000b9f0101027f024020034108490d00200020002003410376220341d0006c22046a20002003418c016c22056a200310ba8580800021002001200120046a200120056a200310ba8580800021012002200220046a200220056a200310ba8580800021020b024020002001410810f597808000220320002002410810f597808000734100480d002002200120012002410810f5978080002003734100481b21000b20000b8c0101037f024020034108490d00200020002003410376220341067422046a2000200341f0006c22056a200310bb8580800021002001200120046a200120056a200310bb8580800021012002200220046a200220056a200310bb8580800021020b200020022001200028020022032001280200220449220520042002280200220649731b20052003200649731b0ba70201067f024020034108490d00200020002003410376220341306c22046a2000200341d4006c22056a200310bc8580800021002001200120046a200120056a200310bc8580800021012002200220046a200220056a200310bc8580800021020b200041046a2802002206200141046a2802002207200041086a2802002203200141086a280200220420032004491b10f597808000210802402006200241046a28020022092003200241086a280200220520032005491b10f5978080002206200320056b20061b220641004a20064100486b2008200320046b20081b220341004a20034100486b2203734100480d0020022001200720092004200520042005491b10f5978080002200200420056b20001b220041004a20004100486b2003734100481b21000b20000b8c0101037f024020034108490d00200020002003410376220341306c22046a2000200341d4006c22056a200310bd8580800021002001200120046a200120056a200310bd8580800021012002200220046a200220056a200310bd8580800021020b200020022001200028020022032001280200220449220520042002280200220649731b20052003200649731b0bee0101097f024020014108490d0020002001410376220341f0006c6a2104200020034106746a210502400240200141c000490d00200020052004200310b88580800021060c010b2000280200220720052802002208200041046a2802002201200541046a280200220320012003491b10f59780800021092000210620072004280200220a2001200441046a280200220b2001200b491b10f59780800022072001200b6b20071b2009200120036b20091b2201734100480d00200420052008200a2003200b2003200b491b10f59780800022062003200b6b20061b2001734100481b21060b200620006b4104760f0b000b980201097f024020014108490d0020002001410376220341d4006c6a21042000200341306c6a210502400240200141c000490d00200020052004200310bc8580800021060c010b200041046a2802002207200541046a2802002208200041086a2802002201200541086a280200220320012003491b10f5978080002109200021062007200441046a280200220a2001200441086a280200220b2001200b491b10f59780800022072001200b6b20071b220741004a20074100486b2009200120036b20091b220141004a20014100486b2201734100480d00200420052008200a2003200b2003200b491b10f59780800022062003200b6b20061b220341004a20034100486b2001734100481b21060b200620006b410c6e0f0b000b860401047f23808080800041306b22022480808080002001280200220341014100200128020428020c2204118080808000002105200220003602082002200041016a36020c024002402005450d00410121000c010b0240024020012d000a418001710d0041012100200341df80c2800041012004118080808000000d02200241086a200110a085808000450d010c020b0240200341e080c280004102200411808080800000450d00410121000c020b41012100200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a360220200241086a200241206a10a0858080000d01200228022041da80c280004102200228022428020c118080808000000d010b0240024020012d000a418001710d000240200128020041d380c280004102200128020428020c11808080800000450d00410121000c030b410121002002410c6a200110a185808000450d010c020b41012100200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a1858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000bf605010a7f23808080800041206b22032480808080004100210402400240417f200028020022002802082205410c6a22062006200541046a491b22054100480d0041002d008083d480001a200541002802f482d480001182808080000022060d01410121040b2004200541f895c4800010b980808000000b200320063602102006417e6a41003b0000200341003602142003200536020c200028020421072003200028020822053602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402005200328020c2208200328021422046b4d0d002003410c6a2004200510f491808000200328020c2108200328021421040b2003280210220620046a2007200510f4978080001a2003200420056a2205360214200028020c21040240200820056b41034b0d002003410c6a2005410410f49180800020032802102106200328021421050b200620056a20043600002003200541046a220436021441002d008083d480001a0240412041002802f482d48000118280808000002205450d002005417e6a220941003b000020052000290010370000200541086a220a200041186a290000370000200541106a220b200041206a290000370000200541186a220c200041286a2900003700000240200328020c220720046b411f4b0d002003410c6a2004412010f491808000200328020c210720032802102106200328021421040b200620046a22082005290000370000200841186a200c290000370000200841106a200b290000370000200841086a200a2900003700002003200441206a2204360214200520092f00006b41002802ec82d4800011818080800000200028023021000240200720046b41034b0d002003410c6a2004410410f49180800020032802102106200328021421040b200620046a2000360000200328020c2100200120022006200441046a41002802dc82d480001183808080000002402000450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000f0b4101412010ab80808000000bf70301097f200028020c2201200028020422026b41fc006e2103024020012002460d0041002104034002402002200441fc006c6a22052802082206450d00200528020421010340024020012d0000220741034b0d002001200741027441949ec480006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012006417f6a22060d000b0b02402005280200450d00200528020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020052802782201450d00200528027421082001410171210941002106024020014101460d002001417e712107410021062008210103402001410c6a200141046a280200200141086a2802002001280200280210118680808000002001411c6a200141146a280200200141186a280200200141106a28020028021011868080800000200141206a21012007200641026a2206470d000b0b2009450d00200820064104746a2201410c6a200128020420012802082001280200280210118680808000000b02402005280270450d00200528027422012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280208450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b0bd10502047f017e23808080800041a0016b220224808080800041012103024020012802002204418896c48000410a200128020428020c2205118080808000000d000240024020012d000a418001710d0041012103200441df80c2800041012005118080808000000d0220002001109d8f808000450d010c020b200441e080c2800041022005118080808000000d0141012103200241013a0000200241b480c280003602242002200129020037021020022001290208370228200220023602182002200241106a3602202000200241206a109d8f8080000d01200228022041da80c280004102200228022428020c118080808000000d010b024002400240024020012d000a418001710d0041012103200128020041d380c280004102200128020428020c118080808000000d04200128020822034180808010710d01024020034180808020710d004101210341c0004101200110fa80808000450d030c050b200241b4e0003b009e014101210320014101419cf1c1800041022002419e016a410210b281808000450d020c040b200241013a000f200241b480c280003602142002200129020037020020022001290208220637021820022002410f6a36020820022002360210024002402006a722034180808010710d00024020034180808020710d0041c0004101200241106a10fa808080000d050c020b200241b4e0003b009e01200241106a4101419cf1c1800041022002419e016a410210b281808000450d010c040b200241b4e0003b009e01200241106a4101419cf1c1800041022002419e016a410210b2818080000d030b41012103200228021041da80c280004102200228021428020c118080808000000d030c010b200241b4e0003b009e014101210320014101419cf1c1800041022002419e016a410210b2818080000d020b200128020041e280c280004101200128020428020c1180808080000021030c010b410121030b200241a0016a24808080800020030bcf0502047f017e23808080800041a0016b220224808080800041012103024020012802002204418896c48000410a200128020428020c2205118080808000000d000240024020012d000a418001710d0041012103200441df80c2800041012005118080808000000d0220002001109a8f808000450d010c020b200441e080c2800041022005118080808000000d0141012103200241013a0000200241b480c280003602242002200129020037021020022001290208370228200220023602182002200241106a3602202000200241206a109a8f8080000d01200228022041da80c280004102200228022428020c118080808000000d010b024002400240024020012d000a418001710d0041012103200128020041d380c280004102200128020428020c118080808000000d04200128020822034180808010710d01024020034180808020710d004101210341204101200110fa80808000450d030c050b200241b2e0003b009e014101210320014101419cf1c1800041022002419e016a410210b281808000450d020c040b200241013a000f200241b480c280003602142002200129020037020020022001290208220637021820022002410f6a36020820022002360210024002402006a722034180808010710d00024020034180808020710d0041204101200241106a10fa808080000d050c020b200241b2e0003b009e01200241106a4101419cf1c1800041022002419e016a410210b281808000450d010c040b200241b2e0003b009e01200241106a4101419cf1c1800041022002419e016a410210b2818080000d030b41012103200228021041da80c280004102200228021428020c118080808000000d030c010b200241b2e0003b009e014101210320014101419cf1c1800041022002419e016a410210b2818080000d020b200128020041e280c280004101200128020428020c1180808080000021030c010b410121030b200241a0016a24808080800020030b830503017f017e057f23808080800041106b22022480808080002000290300210302402001280200200128020822046b41074b0d0020012004410810f491808000200128020821040b2001200441086a360208200128020420046a2003370000200028021421052002200028021822043602082002200241086a36020c2002410c6a200110dc8480800002402004450d002004410c6c2106200541086a210403402004417c6a28020021072002200428020022053602082002200241086a36020c2002410c6a200110dc84808000024020052001280200200128020822086b4d0d0020012008200510f491808000200128020821080b200128020420086a2007200510f4978080001a2001200820056a3602082004410c6a2104200641746a22060d000b0b200028022021052002200028022422043602082002200241086a36020c2002410c6a200110dc84808000024002402004450d002004410c6c2106200541086a210403402004417c6a28020021072002200428020022053602082002200241086a36020c2002410c6a200110dc84808000024020052001280200200128020822086b4d0d0020012008200510f491808000200128020821080b200128020420086a2007200510f4978080001a2001200820056a22053602082004410c6a2104200641746a22060d000c020b0b200128020821050b200029030821030240200128020020056b41074b0d0020012005410810f491808000200128020821050b200128020420056a20033700002001200541086a220436020820002d00282105024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20053a0000200241106a2480808080000bd80801027f0240024020002d00004101470d000240200128020020012802082202470d0020012002410110f491808000200128020821020b2001200241016a2203360208200128020420026a41013a000002400240024020002d00010e03000102000b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41003a00000c030b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41013a00000c020b20002d00022100024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41023a00002001200341016a2203360208024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a20003a00000c010b0240200128020020012802082202470d0020012002410110f491808000200128020821020b2001200241016a2203360208200128020420026a41003a0000024002400240024002400240024002400240024002400240024020002d00010e0d000102030405060708090a0b0c000b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41003a00000c0c0b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41013a00000c0b0b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41023a00000c0a0b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41033a00000c090b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41043a00000c080b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41053a00000c070b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41063a00000c060b20002d00022100024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41073a00002001200341016a2203360208024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a20003a00000c050b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41083a00000c040b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a41093a00000c030b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a410a3a00000c020b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a410b3a00000c010b024020012802002003470d0020012003410110f491808000200128020821030b200128020420036a410c3a00000b2001200341016a3602080b980602017f097e23808080800041b0016b22052480808080004200210602400240024002402000290300220742028520002903082208844200520d0020002903182106200029031021090c010b2000290328210a2000290320210b200541186a200041c8006a290000370300200541106a200041c0006a290000370300200541086a200041386a290000370300200520002900303703002000290318210c2000290310210d200541d0006a2002200110b491808000200541d0006a200320052903502005290358200b200a20012d002120022d00187241017120012d0020108b878080004200210902402005280250410171450d00427f427f2005290368220620052903787c2005290360220920052903707c220e2009542203ad7c22092003200920065420092006511b22031b22062005290388017c427f200e20031b22092005290380017c220e2009542203ad7c22092003200920065420092006511b22031b2109427f200e20031b21060b200520012002427f20062005290390017c220e200e200654220320092005290398017c2003ad7c220620095420062009511b22031b2209427f200620031b2206200b200a20072008200d200c10e48c808000220141ff01714102470d01200541c8006a200041306a220041186a2900002207370000200541c0006a200041106a290000370000200541386a200041086a29000037000020052000290000370030200541e1006a200541216a41106a290000370000200541e9006a200541216a41186a290000370000200541f1006a200541c1006a290000370000200541f8006a20073700002005200a370398012005200b3703900120052006370388012005200937038001200541223a0050200520052900213700512005200541216a41086a29000037005941014100200541d0006a10d28d80800042002106420021090b41022101024020022802004101470d00200242002002290310220a20067d22062006200a561b370310200242002002290308220620097d220920092006561b3703080b0c010b20014180feff077141087621000b200541b0016a2480808080002000410874200141ff0171720ba90402067f017e23808080800041d0006b2201248080808000200141286a41a59ec48000411241c8a7c48000412f4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241b3a4c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c210720012802282103200142808080808001370248200142888080808001370240200141346a200141c0006a419c91c3800010f58e8080002003418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002003360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bb20503067f017e017f23808080800041d0006b2201248080808000200141106a41186a41b79ec48000411841f0d7c48000411a4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241b3a4c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242b6c682a983f2c9f6ca003703002002420437022c2002420c370224200241e1f3c3800036022020024100360218200241e880808000360210200242d08eb4e8cbd188dc533703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bae0503067f017e017f23808080800041d0006b2201248080808000200141286a41cf9ec48000410a418ea4c4800041254104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241b3a4c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242a1b7c9b2e6acc3d92a3703002002420437022c20024208370224200241809cc38000360220200241003602182002419f818080003602102002428f9096e9a7fcdea3183703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000ba90402067f017e23808080800041d0006b2201248080808000200141286a41d99ec48000410b41b4a4c4800041264104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241b3a4c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c210720012802282103200142808080808001370248200142888080808001370240200141346a200141c0006a419c91c3800010f58e8080002003418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002003360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bd80201037f23808080800041c0006b2201248080808000200141086a41efe2c48000411a41002802b482d480001186808080000041002d008083d480001a02400240410441002802f482d48000118280808000002202450d0020024181848c203600002002417e6a41003b0000200120022002410172200241017122031b360224200141043602202001200236021c200141e8ecc1800041d4ecc1800020031b3602182001280208450d0120012802104104470d01200128020c2800002002280000470d01200141246a20024104419a8080800041968080800020031b11868080800000024020012802082202450d00200141146a200128020c20012802102002280210118680808000000b2000420037030820004201370300200141c0006a2480808080000f0b4101410410ab80808000000b200141003602284100200141086a200141186a200141286a41d4e3c4800010bb87808000000bc51402057f047e23808080800041e0086b2203248080808000200342f89aef8eef91e1ce967f3700d006200342b4d6d6dfccc6b592c3003700c806200342fc90b9e5d09296e7773700c006200342a6d4e6f1a4dd9598603700b80620034190036a200341b8066a412010ce85808000024002402003280290034101470d00200341086a41286a200341c0036a290300370300200341086a41206a20034190036a41286a290300370300200341086a41186a20034190036a41206a290300370300200341086a41106a20034190036a41186a290300370300200341106a20034190036a41106a29030037030020032003290398033703080c010b200341306a4200370300200341086a41206a4200370300200341206a4200370300200341186a4200370300200341106a4200370300200342003703080b20034198066a41086a22044200370300200341e8056a41086a22054200370300200341d8056a41086a22064200370300200341c0056a41086a22074200370300200341c0056a41106a410036020020034190036a41106a200341a8066a41086a2903003703002003420037039806200342003703e805200342003703d805200342003703c0052003420037039003200320032903a80637039803200342013703c003200341d0036a200429030037030020032003290398063703c803200342003703e803200342003703e003200342c8b0c9333703d803200341f8036a20034188066a41086a29030037030020032003290388063703f003200342003703c004200342003703b804200342c8b0c9333703b004200341d0046a200341f8056a41086a290300370300200320032903f8053703c804200342003703d804200341e8046a2005290300370300200320032903e8053703e004200342003703f00420034180056a2006290300370300200320032903d8053703f804200342003703a005200342b0d0e7cd01370398052003420037039005200342c8b0c93337038805200341b0056a2007290300370300200320032903c0053703a8052003428180808080a0f8fa053703b8052003428080a0013703a8042003428088a5a9a3073703a0042003420137039804200342808080053703900420034280a094a58d1d3703880420034201370380042003428080e0033703b8032003428098effbe9153703b003200342013703a803200341b8066a20034190036a10d7918080000240024002400240024002400240024020032903b8064202510d00200341386a200341b8066a41a80210f4978080001a427f2000290308220820002903187c220920092008541b2108427f2000290300220920002903107c220a200a2009541b2109024002400240024020002d002022050e03000102000b427f427f20082003290388017c220a200a2008541b22082001ad7c220a200a2008541b210a427f20092003290380017c220820082009541b2108200341386a21040c020b427f427f200820032903e0017c220a200a2008541b22082001ad7c220a200a2008541b210a427f200920032903d8017c220820082009541b210820034190016a21040c010b427f427f200820032903b8027c220a200a2008541b22082001ad7c220a200a2008541b210a427f200920032903b0027c220820082009541b2108200341e8016a21040b2004290318502206450d0120042802300d01200341086a210002400240024020050e03020001020b200341186a21000c010b200341286a21000b2000427f20002903082209200a7c220a200a2009541b3703082000427f2000290300220920087c220820082009541b3703000c020b200320032d00c0063a003841bae9ca800041e000200341386a41dce8ca8000419ceaca800010a981808000000b200341086a210002400240024020050e03020001020b200341186a21000c010b200341286a21000b2000290300220920087c22082009540d0120002903082209200a7c220a2009540d012000200a370308200020083703000b200341086a210020050e03030102030b4100210041002802b483d480004104490d0341002100410028029080d480002104410028028c80d48000210541002802b083d480002106200342003702c80320034281808080c0003702c003200341c0a7c480003602bc032003410f3602b803200341eba5c480003602b403200341043602b0032003418ca5c48000ad4280808080f00b843702a803200341003602a403200341b4a4c48000ad4280808080e0048437029c03200341003602980320034281808080e01537029003200541b4f4ca8000200641024622061b20034190036a2004419cf4ca800020061b280210118b80808000000c030b200341186a21000c010b200341286a21000b200029030821092000290300210802400240024020060d0020082004290320560d0120092004290328560d010b0240427f427f2003290308220a20032903187c220b200b200a541b220a20032903287c220b200b200a541b20032903d002560d00427f427f2003290310220a20032903207c220b200b200a541b220a20032903307c220b200b200a541b20032903d802580d020b20042802304101470d01024020082004290338560d0020092004290340580d020b4100210041002802b483d480004104490d0241002100410028029080d480002104410028028c80d48000210541002802b083d480002106200342003702c80320034281808080c0003702c00320034198a7c480003602bc032003410f3602b803200341eba5c480003602b403200341043602b0032003418ca5c48000ad4280808080f00b843702a803200341003602a403200341b4a4c48000ad4280808080e0048437029c03200341003602980320034281808080e01937029003200541b4f4ca8000200641024622061b20034190036a2004419cf4ca800020061b280210118b80808000000c020b4100210041002802b483d480004104490d0141002100410028029080d480002104410028028c80d48000210541002802b083d480002106200342003702c80320034281808080c0003702c003200341f0a6c480003602bc032003410f3602b803200341eba5c480003602b403200341043602b0032003418ca5c48000ad4280808080f00b843702a803200341003602a403200341b4a4c48000ad4280808080e0048437029c03200341003602980320034281808080c01737029003200541b4f4ca8000200641024622061b20034190036a2004419cf4ca800020061b280210118b80808000000c010b200341e0026a41286a200341086a41286a290300370300200341e0026a41206a200341086a41206a290300370300200341e0026a41186a200341086a41186a290300370300200341e0026a41106a200341086a41106a290300370300200341e0026a41086a200341086a41086a290300370300200320032903083703e00220034295f38cfcb699a3c4ef003700a803200342a8db95cdaa86daa7193700a003200342fc90b9e5d09296e77737009803200342a6d4e6f1a4dd95986037009003200320023602b80620034190036a4120200341b8066a410441002802dc82d4800011838080800000200341e0026a10e388808000410221000b200341e0086a248080808000200041800c720bf90505017f017e027f047e017f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10d48480800002400240024020032802484101460d0020032903502104200341c8006a200341206a10d48480800020032802484101460d0020032903502107200341c8006a200341206a10d48480800020032802484101460d0020032903502108200341c8006a200341206a10d48480800020032802484101460d0020032903502109200341c8006a200341206a10d48480800020032802484101460d002003290350210a200341c8006a200341206a10d48480800020032802484101470d010b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d48000210b200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200b410246220b1b28021021022003200341286a36027c200141b4f4ca8000200b1b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200042003703000c010b200020032903503703302000200a37032820002009370320200020083703182000200737031020002004370308200042013703000b2003411c6a200620052003280210280210118680808000000c010b200042003703000b20034190016a2480808080000bff0d02077f057e2380808080004180086b220324808080800020012d002021042003418080c0023602102003428080f0818080802837020820034295f38cfcb699a3c4ef003700c802200342a8db95cdaa86daa7193700c002200342fc90b9e5d09296e7773700b802200342a6d4e6f1a4dd9598603700b0022003200341b0026a412010d0858080002003417f2003280204220520026a220620062005491b200220032802004101711b22053602c805200341106a21072003410c6a2108200341086a210602400240024020040e03020001020b200821060c010b200721060b024002400240200520062802004d0d00024041002802b483d480004104490d00200341086a210102400240024020040e03020001020b200821010c010b200721010b200320013602e004200341ba81808000ad422086200341e0046aad843703e0052003418680808000ad422086200341c8056aad843703d805410028029080d480002101410028028c80d48000210541002802b083d480002102200342023702e802200341fca4c480003602dc022003410f3602d802200341eba5c480003602d402200341043602d0022003418ca5c48000ad4280808080f00b843702c802200341003602c402200341b4a4c48000ad4280808080e004843702bc02200341003602b80220034281808080d00a3702b002200341023602e0022001419cf4ca8000200241024622021b28021021012003200341d8056a3602e402200541b4f4ca800020021b200341b0026a2001118b80808000000b200041800c3b01000c010b200341b8056a41086a2206420037030020034188056a41086a22074200370300200341f8046a41086a22084200370300200341e0046a41086a22094200370300200341e0046a41106a4100360200200341b0026a41106a200341c8056a41086a290300370300200342003703b8052003420037038805200342003703f804200342003703e004200342003703b002200320032903c8053703b802200342013703e002200341f0026a2006290300370300200320032903b8053703e80220034200370388032003420037038003200342c8b0c9333703f80220034198036a200341a8056a41086a290300370300200320032903a80537039003200342003703e003200342003703d803200342c8b0c9333703d003200341f0036a20034198056a41086a29030037030020032003290398053703e803200342003703f80320034188046a20072903003703002003200329038805370380042003420037039004200341a0046a2008290300370300200320032903f80437039804200342003703c004200342b0d0e7cd013703b804200342003703b004200342c8b0c9333703a804200341d0046a2009290300370300200320032903e0043703c8042003428180808080a0f8fa053703d8042003428080a0013703c8032003428088a5a9a3073703c003200342013703b803200342808080053703b00320034280a094a58d1d3703a803200342013703a0032003428080e0033703d8022003428098effbe9153703d002200342013703c802200341d8056a200341b0026a10d791808000024020032903d8054202510d00200341086a200341d8056a41a80210f4978080001a200341086a210602400240024020040e03020001020b200341e0006a21060c010b200341b8016a21060b2006290310210a2006290308210b200628020021042003427f2001290300220c20012903107c220d200d200c541b220e3703e0042003427f427f2001290308220c20012903187c220d200d200c541b220c2002ad7c220d200d200c541b220c3703e80402402004410171450d000240200e200b560d00200c200a580d010b2003200a3703102003200b370308024041002802b483d480004104490d00200341bb81808000ad422086220c200341086aad843703e0052003200c200341e0046aad843703d805410028029080d480002101410028028c80d48000210541002802b083d480002102200342023702e802200341bca6c480003602dc022003410f3602d802200341eba5c480003602d402200341043602d0022003418ca5c48000ad4280808080f00b843702c802200341003602c402200341b4a4c48000ad4280808080e004843702bc02200341003602b80220034281808080c0073702b002200341023602e0022001419cf4ca8000200241024622021b28021021012003200341d8056a3602e402200541b4f4ca800020021b200341b0026a2001118b80808000000b200041063b0001200041003a00000c020b200041013a0028200042043703202000420037031820004280808080c0003703102000427f37030820004200370300413021010c020b200320032d00e0053a000841bae9ca800041e000200341086a41dce8ca8000419ceaca800010a981808000000b4180808080782105411021010b200020016a200536020020034180086a2480808080000b8c0403027f017e037f2380808080004190016b220324808080800041002104200341086a2001200241002802b482d48000118680808000000240024020032802080d000c010b200341186a41086a200341086a41086a290200220537030020032003290208370318200328021c2106024002402005a7220741034b0d0041002104024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002108200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200841024622081b28021021022003200341286a36027c200141b4f4ca800020081b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b0c010b20062800002102410121040b200341246a200620072003280218280210118680808000000b200020023602042000200436020020034190016a2480808080000bc10601057f0240024002400240200028026c0e03000102000b02402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41003a0000200028027021060240200220046b41034b0d0020012004410410f49180800020012802042105200128020821040b2001200441046a2203360208200520046a20063600000c020b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a22033602082001280204220520046a41013a00000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a22033602082001280204220520046a41023a00000b024002400240024002400240024020002d000041626a22044102200441ff01714106491b41ff01710e06000102030405000b200041086a2104024020012802002003470d0020012003410110f49180800020012802042105200128020821030b2001200341016a360208200520036a41003a00002004200110e88d8080000c050b200041086a2104024020012802002003470d0020012003410110f49180800020012802042105200128020821030b2001200341016a360208200520036a41013a000020042001109f878080000c040b024020012802002003470d0020012003410110f49180800020012802042105200128020821030b2001200341016a360208200520036a41043a00002000200110f08c8080000c030b200041046a2104024020012802002003470d0020012003410110f49180800020012802042105200128020821030b2001200341016a360208200520036a41053a00002004200110de868080000c020b200041106a2104024020012802002003470d0020012003410110f49180800020012802042105200128020821030b2001200341016a360208200520036a41063a000020042001108f878080000c010b200041086a2104024020012802002003470d0020012003410110f49180800020012802042105200128020821030b2001200341016a360208200520036a41083a00002004200110e38c8080000b20002802642000280268200110a88c8080000b920b04077f017e017f017e23808080800041d0006b2201248080808000200141286a41f7a7c48000410b4182a8c48000410c4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bc8180800036023820024281d8c6a0dcc1f1abf500370330200242fcbbed9ecfd6e6994c3703282002410b36022420024193a8c48000360220200241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc13370308200241053602042002418ea8c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a200141106a410c6a220241086a2802003602002001200229020037030020012802102104200128021421052001280218210620012802282107200129022c2108200141106a41086a22094100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a220341013602002002420437022c20024205370224200241b99cc380003602202002410536021c200241b49cc38000360218200241bb80808000360210200120012902103703400240200328020022032001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c20024208370224200241a39cc380003602202002410936021c200241ab9cc38000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002009200341016a220336020020012001290340220a37031002402003200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200341386c6a2202420437022c20024208370224200241a39cc380003602202002410936021c2002419a9cc38000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a200341016a220336020020012001290310220a37034002402003200aa7470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c20024208370224200241a39cc380003602202002410b36021c200241be9cc38000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141106a41086a200341016a220236020020012001290340220a37031002402002200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200241386c22036a2202420437022c2002420b3702242002418f9cc380003602202002410436021c2002418b9cc38000360218200241bc8180800036021020024281d8c6a0dcc1f1abf500370308200242fcbbed9ecfd6e6994c3703002001280214210220012001280210360248200120023602402001200220036a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002007418080808078460d012001200436021820012005360210200120053602142001200520064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200837023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000be10804067f017e027f017e23808080800041d0006b2201248080808000200141286a419ea8c48000410b4182a8c48000410c4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bc80808000360238200242ec8ca7e0e2f0c7e6bf7f370330200242e6e2dea393f0baf43a37032820024101360224200241b3a4c48000360220200241bd81808000360218200242ae9de2a68d94fca925370310200242ced4d890f69ef9a0867f37030820024101360204200241a9a8c480003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a200141106a410c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a22084100360200200142808080808001370210200141106a41ac91c3800010b59280800020012802142202428cdef7a0f8fa82fb18370308200242fec8b8df95a6c9bddf00370300200141c0006a41086a220941013602002002420437022c20024205370224200241da9cc380003602202002410536021c200241d59cc38000360218200241be81808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200941386c6a2202420437022c20024201370224200241e49cc380003602202002410536021c200241df9cc38000360218200241bd81808000360210200242ae9de2a68d94fca925370308200242ced4d890f69ef9a0867f3703002008200941016a220236020020012001290340220a37031002402002200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200241386c22096a2202420437022c20024206370224200241cf9cc380003602202002410636021c200241c99cc38000360218200241bf81808000360210200242a7ab90cfd8eccda713370308200242dbbef7a79bdbf286a17f3703002001280214210220012001280210360248200120023602402001200220096a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000b810503057f017e027f23808080800041d0006b2201248080808000200141286a41baeac48000410c41f8e3c4800041144104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a419c91c3800010f38e808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41f8e7c48000410610fb83808000200141106a200141c0006a41e9e7c48000410f108384808000200141c0006a200141106a41cbe7c480004108108e84808000200141106a200141c0006a41c7e7c48000410410f483808000200141c0006a200141106a41b5e7c48000411210a384808000200141346a200141c0006a41a4e7c480004107109c848080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a419c91c3800010f48e80800002402007418080808078470d0041bc91c38000411141d091c3800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bce0101037f23808080800041106b220224808080800020022000360208200241086a200110dd848080002002200041086a36020c2002410c6a200110dd8480800020002d001021030240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a20033a00002001200441016a220436020820002d00112100024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a0000200241106a2480808080000bea0603067f017e017f23808080800041d0006b2201248080808000200141106a41186a41aaa8c4800041184182a8c48000410c4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241b3a4c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a200141106a410c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a4100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242ec8ca7e0e2f0c7e6bf7f370308200242e6e2dea393f0baf43a370300200141c0006a41086a220841013602002002420437022c20024207370224200241ff9cc380003602202002410936021c200241f69cc38000360218200241bc80808000360210200120012902103703400240200828020022022001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200241386c22086a2202420437022c20024204370224200241f29cc380003602202002410d36021c200241e59cc38000360218200241e980808000360210200242febac4ad81b6fafcb37f37030820024298848fa1dab08ba1743703002001280244210220012001280240360248200120023602402001200220086a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000b920603067f017e017f23808080800041d0006b2201248080808000200141286a41c2a8c48000410941cba8c4800041324104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041e00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241003602582002410e36024420024184a9c480003602402002410036023820024106360224200241fea8c48000360220200241ec80808000360218200242e2e68fceaa92ce9c7b370310200242e987d8bed5a3d0fbfb0037030820024101360204200241fda8c480003602002002417e6a20033b000020014103360248200120023602402001200241e0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242e987d8bed5a3d0fbfb003703002002420437022c20024201370224200241b0b4c380003602202002410636021c2002419fb4c38000360218200241ec80808000360210200242e2e68fceaa92ce9c7b3703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841e00010ab80808000000b41bc91c38000411141d091c3800010a181808000000b930403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a7220641ff074b0d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041003a00000c010b200041016a200541800810f4978080001a200041013a00000b200341246a200520062003280218280210118680808000000c010b200041003a00000b20034190016a2480808080000b1e0020012802004191dbc480004105200128020428020c118080808000000b140020012000280204200028020810b4818080000baa0403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a72206410f4b0d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004200370308200042003703000c010b200042003703082000420137030020002005290008370318200020052900003703100b200341246a200520062003280218280210118680808000000c010b20004200370308200042003703000b20034190016a2480808080000bf00603017f017e067f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a722053602242003200328021422063602200240024002402005450d0020032005417f6a22073602242003200641016a3602200240024002400240024020062d000022084103710e0400010302000b200841027621070c030b2007450d0320032005417e6a3602242003200641026a36022020062d00012207450d03200741087420087241027621070c020b200841044f0d0220054105490d0220032005417b6a3602242003200641056a360220200628000122074180808080044f0d010c020b20054104490d0120032005417c6a3602242003200641046a36022020062f0001200641036a2d0000411074722207418002490d01200741087420087241027621070b200341c8006a200341206a10fe8e80800020032802482208418080808078460d00200341c8006a200328024c22092003280250220a10f68080800020032802484101470d012008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002108200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200841024622081b28021021022003200341286a36027c200141b4f4ca800020081b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c010b2000200736020c2000200a36020820002009360204200020083602000b2003411c6a200620052003280210280210118680808000000c010b20004181808080783602000b20034190016a2480808080000bda0403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c210502400240024002402004a722064120490d0020064120460d004100210720052d00200e020201000b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041023a00000c020b410121070b200020073a000020002005290000370001200041196a200541186a290000370000200041116a200541106a290000370000200041096a200541086a2900003700000b200341246a200520062003280218280210118680808000000c010b200041023a00000b20034190016a2480808080000bbb0403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a72206411f4b0d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041003a00000c010b200041013a000020002005290000370001200041196a200541186a290000370000200041116a200541106a290000370000200041096a200541086a2900003700000b200341246a200520062003280218280210118680808000000c010b200041003a00000b20034190016a2480808080000bbe0403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10af8f808000024002402003280248418080808078470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002003290248370200200041086a200341c8006a41086a2802003602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000baa0403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a72206410f4b0d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004200370308200042003703000c010b200042003703082000420137030020002005290008370318200020052900003703100b200341246a200520062003280218280210118680808000000c010b20004200370308200042003703000b20034190016a2480808080000b980403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c21050240024002402004a722064104490d002006417c714104470d010b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041003602000c010b20004101360200200020052900003702040b200341246a200520062003280218280210118680808000000c010b200041003602000b20034190016a2480808080000bbe0403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10bd8f808000024002402003280248418080808078470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002003290248370200200041086a200341c8006a41086a2802003602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000bc10503017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c21050240024002402004a722064104490d002006417c7122074104460d0020074108460d002007410c460d00200641706a413f4b0d010b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004200370308200042003703000c010b200528000021022005280004210120052800082107200042003703082000420137030020002007360258200020013602542000200236025020002005290048370348200020052900403703402000200529003837033820002005290030370330200020052900283703282000200529002037032020002005290018370318200020052900103703102000200528000c36025c0b200341246a200520062003280218280210118680808000000c010b20004200370308200042003703000b20034190016a2480808080000bb90403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10b1888080000240024020032802484101470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041003602000c010b2000200329024c3702042000410c6a200341c8006a410c6a280200360200200041013602000b2003411c6a200620052003280210280210118680808000000c010b200041003602000b20034190016a2480808080000ba40403027f017e027f2380808080004190016b2202248080808000200241086a2000200141002802b482d48000118680808000000240024020022802080d00410321030c010b200241186a41086a200241086a41086a290200220437030020022002290208370318200228021c2105024002402004a72206450d0041022103024020052d00000e020200010b20064101460d004101410220052d000122034101461b410020031b22034102470d010b024041002802b483d48000450d002002413c6a4192a9c4800041022000200110c78c808000200241b881808000ad4220862002418f016aad84370330200241b981808000ad4220862002413c6aad84370328410028029080d480002103410028028c80d48000210141002802b083d480002100200242023702800120024102360278200241aca9c480003602742002411036027020024195aac4800036026c20024101360268200241bca9c48000ad4280808080900b843702602002410036025c200241a5aac48000ad42808080808004843702542002410036025020024281808080c0033702482003419cf4ca8000200041024622001b28021021032002200241286a36027c200141b4f4ca800020001b200241c8006a2003118b8080800000200228023c450d00200228024022032003417e6a2f00006b41002802ec82d48000118180808000000b410321030b200241246a200520062002280218280210118680808000000b20024190016a24808080800020030bb30403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10ad8f8080000240024020032802482207418080808078470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b2000200329024c370204200020073602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000bbe0403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10fe8e808000024002402003280248418080808078470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002003290248370200200041086a200341c8006a41086a2802003602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000bbe0403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a108485808000024002402003280248418080808078470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002003290248370200200041086a200341c8006a41086a2802003602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000b8b0403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a7220641074b0d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200042003703000c010b20004201370300200020052900003703080b200341246a200520062003280218280210118680808000000c010b200042003703000b20034190016a2480808080000b8c0403027f017e027f2380808080004190016b2202248080808000200241086a2000200141002802b482d48000118680808000000240024020022802080d00410221030c010b200241186a41086a200241086a41086a290200220437030020022002290208370318200228021c2105024002402004a72206450d004101410220052d000022034101461b410020031b22034102470d010b024041002802b483d48000450d002002413c6a4192a9c4800041022000200110c78c808000200241b881808000ad4220862002418f016aad84370330200241b981808000ad4220862002413c6aad84370328410028029080d480002101410028028c80d48000210041002802b083d480002103200242023702800120024102360278200241aca9c480003602742002411036027020024195aac4800036026c20024101360268200241bca9c48000ad4280808080900b843702602002410036025c200241a5aac48000ad42808080808004843702542002410036025020024281808080c0033702482001419cf4ca8000200341024622031b28021021012002200241286a36027c200041b4f4ca800020031b200241c8006a2001118b8080800000200228023c450d00200228024022012001417e6a2f00006b41002802ec82d48000118180808000000b410221030b200241246a200520062002280218280210118680808000000b20024190016a24808080800020030b990703017f017e077f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a7220536022420032003280214220636022002400240024020054120490d00200341c8006a41086a200641086a290000370300200341c8006a41106a200641106a290000370300200341c8006a41186a200641186a2900003703002003200641206a360220200320062900003703482003200541606a220736022420074104490d002003200641246a36022020032005415c6a220736022420074104490d00200628002021082003200541586a3602242003200641286a36022020062800242109200341286a200341206a10b08f80800020032802282207418080808078460d002003280230210a200328022c210b200341286a200341206a10b08f8080002003280228418080808078470d012007450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b2000200329022837020c200041146a200341286a41086a280200360200200041306a200341e0006a290300370000200041286a200341d8006a290300370000200041206a200341c8006a41086a290300370000200020032903483700182000200936023c200020083602382000200a3602082000200b360204200020073602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000bda0403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a1097858080000240024020032802484102470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041023602000c010b20002003290248370200200041186a200341c8006a41186a290200370200200041106a200341c8006a41106a290200370200200041086a200341c8006a41086a2902003702000b2003411c6a200620052003280210280210118680808000000c010b200041023602000b20034190016a2480808080000bd10403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10d48480800002400240024020032802484101460d0020032903502104200341c8006a200341206a10d48480800020032802484101470d010b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200042003703000c010b2000200329035037031020002004370308200042013703000b2003411c6a200620052003280210280210118680808000000c010b200042003703000b20034190016a2480808080000bad0403027f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d48000118680808000000240024020032802080d00410321040c010b200341186a41086a200341086a41086a290200220537030020032003290208370318200328021c21060240024002402005a72207450d000240024020062d000022040e03000401020b20074105490d0120062800012108410021040c030b410221040c010b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002104410028028c80d48000210841002802b083d480002102200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482004419cf4ca8000200241024622021b28021021042003200341286a36027c200841b4f4ca800020021b200341c8006a2004118b8080800000200328023c450d00200328024022042004417e6a2f00006b41002802ec82d48000118180808000000b410321040b0b200341246a200620072003280218280210118680808000000b200020083602042000200436020020034190016a2480808080000bbe0403017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10ba8f808000024002402003280248418080808078470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b20002003290248370200200041086a200341c8006a41086a2802003602000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000ba20403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802b482d4800011868080800000024002402003280208450d00200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c21050240024002402004a722064108490d002006417c714108470d010b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200042003703000c010b2000420137030020002005280008360210200020052900003703080b200341246a200520062003280218280210118680808000000c010b200042003703000b20034190016a2480808080000b930403027f017e027f2380808080004190016b2202248080808000200241086a2000200141002802b482d48000118680808000000240024020022802080d00410221030c010b200241186a41086a200241086a41086a290200220437030020022002290208370318200228021c2105024002402004a72206450d00024020052d000022030e020200010b4101210320064101460d0020052d0001450d010b024041002802b483d48000450d002002413c6a4192a9c4800041022000200110c78c808000200241b881808000ad4220862002418f016aad84370330200241b981808000ad4220862002413c6aad84370328410028029080d480002103410028028c80d48000210141002802b083d480002100200242023702800120024102360278200241aca9c480003602742002411036027020024195aac4800036026c20024101360268200241bca9c48000ad4280808080900b843702602002410036025c200241a5aac48000ad42808080808004843702542002410036025020024281808080c0033702482003419cf4ca8000200041024622001b28021021032002200241286a36027c200141b4f4ca800020001b200241c8006a2003118b8080800000200228023c450d00200228024022032003417e6a2f00006b41002802ec82d48000118180808000000b410221030b200241246a200520062002280218280210118680808000000b20024190016a24808080800020030b8c0603017f017e097f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10fe8e80800002400240024020032802482207418080808078460d00200328024c21080240200328022422094104490d002003280250210a20032003280220220b41046a220c36022020032009417c6a220d360224200d4120490d00200b280000210d2003200b41246a220b36022020032009415c6a2209360224200941034b0d020b2007450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b2000200d36020c2000200a36020820002008360204200020073602002000200c2900003700102000200b280000360230200041186a200c41086a290000370000200041206a200c41106a290000370000200041286a200c41186a2900003700000b2003411c6a200620052003280210280210118680808000000c010b20004180808080783602000b20034190016a2480808080000b890503017f017e037f2380808080004190016b220324808080800020032001200241002802b482d4800011868080800000024002402003280200450d00200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a108e858080000240024020032802484101470d00024041002802b483d48000450d002003413c6a4192a9c4800041022001200210c78c808000200341b881808000ad4220862003418f016aad84370330200341b981808000ad4220862003413c6aad84370328410028029080d480002102410028028c80d48000210141002802b083d480002107200342023702800120034102360278200341aca9c480003602742003411036027020034195aac4800036026c20034101360268200341bca9c48000ad4280808080900b843702602003410036025c200341a5aac48000ad42808080808004843702542003410036025020034281808080c0033702482002419cf4ca8000200741024622071b28021021022003200341286a36027c200141b4f4ca800020071b200341c8006a2002118b8080800000200328023c450d00200328024022022002417e6a2f00006b41002802ec82d48000118180808000000b200041003602000c010b2000200329024c3702042000412c6a200341c8006a412c6a280200360200200041246a200341c8006a41246a2902003702002000411c6a200341c8006a411c6a290200370200200041146a200341c8006a41146a2902003702002000410c6a200341c8006a410c6a290200370200200041013602000b2003411c6a200620052003280210280210118680808000000c010b200041003602000b20034190016a2480808080000b9b0804067f017e027f017e23808080800041d0006b2201248080808000200141286a41c5aac48000411041d5aac4800041174104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241e680808000360218200242e1c1c0fddab9f88065370310200242d0b0c2c0bfa6f4d53c37030820024101360204200241b3a4c480003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a2802003602002001200229020037030020012802102104200128021421032001280218210520012802282106200129022c2107200141106a41086a22084100360200200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242e1c1c0fddab9f88065370308200242d0b0c2c0bfa6f4d53c370300200141c0006a41086a220941013602002002420437022c20024201370224200241b1b4c380003602202002410636021c200241b2b4c38000360218200241e680808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200941386c6a2202420437022c20024201370224200241b1b4c380003602202002410b36021c200241b8b4c38000360218200241e680808000360210200242e1c1c0fddab9f88065370308200242d0b0c2c0bfa6f4d53c3703002008200941016a220236020020012001290340220a37031002402002200aa7470d00200141106a41ac91c3800010b5928080000b2001280214200241386c22096a2202420437022c20024201370224200241b1b4c380003602202002410936021c200241c3b4c38000360218200241e680808000360210200242e1c1c0fddab9f88065370308200242d0b0c2c0bfa6f4d53c3703002001280214210220012001280210360248200120023602402001200220096a41386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002006418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000ba80201017f23808080800041106b22022480808080002002200041c8006a36020c2002410c6a200110dd848080002002200041d0006a36020c2002410c6a200110dd848080002000200110ba89808000200041186a200110ba89808000200041306a200110ba898080002002200041a0016a36020c2002410c6a200110dd848080002002200041a8016a36020c2002410c6a200110dd84808000200041d8006a200110ba89808000200041f0006a200110ba8980800020004188016a200110ba898080002002200041f8016a36020c2002410c6a200110dd84808000200220004180026a36020c2002410c6a200110dd84808000200041b0016a200110ba89808000200041c8016a200110ba89808000200041e0016a200110ba89808000200241106a2480808080000bf21003017f017e047f2380808080004180036b220424808080800002400240024002400240024002400240024002400240024002402001290300427e7c2205a7410120054203541b0e03000102000b200141d0006a210620012802500d02200141d8006a10ce8d808000220141ff01714102460d0220014180feff077141087621020c030b200441dd016a200141c8006a290000370000200441d5016a200141c0006a290000370000200441cd016a200141386a290000370000200441e0006a41106a200141106a290300370300200441e0006a41186a200141186a290300370300200441e0006a41206a200141206a290300370300200441e0006a41286a200141286a290300370300200420012900303700c501200420012903003703602004200141086a29030037036841002d008083d480001a411041002802f482d48000118280808000002206450d052006200641036a417c7120066b22076a220641f4e6c4800036020c2006410136020820064281808080103702002006417e6a20073b0000200420063602c001200441013a00c40141002d008083d480001a411041002802f482d48000118280808000002207450d062007200741036a417c7120076b22086a220741dce6c4800036020c2007410136020820074281808080103702002007417e6a20083b000020062006280200417f6a2208360200024020080d00200441c0016a10ca878080000b200441d8026a41086a200441c0016a41086a290200370300200441d8026a41106a200441c0016a41106a290200370300200441d8026a41186a200441c0016a41186a290200370300200441d8026a41206a200441c0016a41206a290200370300200420073602c001200420042902c0013703d802200441c0016a200141d0006a41900110f4978080001a2000200441e0006a200441d8026a200441c0016a20022003410010c8868080000c040b20044190016a41106a200141206a29030037030020044190016a41186a200141286a29030037030020044190016a41206a200141306a29030037030020044190016a41286a200141386a29030037030020042001290310370390012004200141186a2903003703980120012d0040210841002d008083d480001a411041002802f482d48000118280808000002206450d062006200641036a417c7120066b22076a220641f4e6c4800036020c2006410136020820064281808080103702002006417e6a20073b0000200420063602c001200441023a00c40141002d008083d480001a411041002802f482d48000118280808000002207450d072007200741036a417c7120076b22096a220741dce6c4800036020c2007410136020820074281808080103702002007417e6a20093b000020062006280200417f6a2209360200024020090d00200441c0016a10ca878080000b200441d8026a41086a200441c0016a41086a290200370300200441d8026a41106a200441c0016a41106a290200370300200441d8026a41186a200441c0016a41186a290200370300200441d8026a41206a200441c0016a41206a290200370300200420073602c001200420042902c0013703d802200441c0016a200141d0006a41900110f4978080001a200020044190016a200441d8026a200441c0016a20022003200810c8868080000c030b20042002200310f785808000220141ff01714102460d0120014180feff077141087621020b200020023b0009200020013a000820004203370300200610f8858080000c010b200441c0016a200641900110f4978080001a41002d008083d480001a411041002802f482d48000118280808000002201450d052001200141036a417c7120016b22036a220141f4e6c4800036020c2001410136020820014281808080103702002001417e6a20033b0000200420013602d802200441023a00dc0241002d008083d480001a411041002802f482d48000118280808000002203450d062003200341036a417c7120036b22076a220341dce6c4800036020c2003410136020820034281808080103702002003417e6a20073b000020012001280200417f6a2207360200024020070d00200441d8026a10ca878080000b200441386a41086a200441d8026a41086a290200370300200441386a41106a200441d8026a41106a290200370300200441386a41186a200441d8026a41186a290200370300200441386a41206a200441d8026a41206a290200370300200420033602d802200420042902d8023703380240024020042d003c450d0020042802382201280208200441c0016a200128020c280214118480808000000d00200441206a410610cf8c80800020012001280200417f6a2206360200200441003a001820044200370300024020060d00200441386a10ca878080000b200441c0016a10f885808000200421010c010b20042006200441386a10f985808000200420042903004202514103746a21010b200441c0016a41186a200141186a290300370300200441c0016a41106a200141106a290300370300200441c0016a41086a200141086a290300370300200420012903003703c0010240024002402002200441c0016a10dc8d808000220141ff01714102460d0020014180feff077141087621060c010b2002200441c0016a10dc8d808000220141ff01714102460d0120014180feff077141087621060b200020063b0009200020013a0008200042033703000c010b20002004290300370300200041306a200441306a290300370300200041286a200441286a290300370300200041206a200441206a290300370300200041186a200441186a290300370300200041106a200441106a290300370300200041086a200441086a2903003703000b20044180036a2480808080000f0b4104411010ab80808000000b4104411010ab80808000000b4104411010ab80808000000b4104411010ab80808000000b4104411010ab80808000000b4104411010ab80808000000b8305010c7f23808080800041c0006b2203248080808000200341086a2001200210cf858080000240024020032802182204418080808078470d0020032f010820032d000a4110747221050c010b200328023821062003280228210720032802242108200328021c2109200328022c210a024020032802202205450d002005410171210b4100210c024020054101460d002005417e71210d200921054100210c034002402005280200450d00200541046a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b02402005410c6a280200450d00200541106a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b200541186a2105200d200c41026a220c470d000b0b200b450d002009200c410c6c6a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b02402004450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b0240200a450d00200a41017121044100210c0240200a4101460d00200a417e71210d200721054100210c034002402005280200450d00200541046a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b02402005410c6a280200450d00200541106a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b200541186a2105200d200c41026a220c470d000b0b2004450d002007200c410c6c6a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b02402008450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b20012002200610cd8580800021050b200341c0006a24808080800020050bb20d01077f024002400240024002400240024002400240024020002802000e080102090903040500010b20002802084104470d08200028020c450d080c060b0240024002400240024002400240024020002d0008417f6a0e0a010f0203040506070f0f000b200028020c0d0c0c0e0b200028020c0d0b0c0d0b200028020c0d0a0c0c0b200028020c0d090c0b0b2000410c6a10a68f808000200028020c0d080c0a0b2000410c6a10aa8f808000200028020c0d070c090b2000280210450d08200028021421010c070b200028020c0d050c070b024020002802042201450d0002402001418080808078470d002000280208450d08410821010c050b200028020822012001417e6a2f00006b41002802ec82d48000118180808000000b200041d0006a10a688808000200028023c2102024020002802402203450d0041002104034002402002200441f0006c6a22052802082206450d00200528020421010340024020012d0000220741034b0d00200120074102744188ecc480006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012006417f6a22060d000b0b02402005280200450d00200528020422012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280238450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b0240200028024441808080807872418080808078460d00200028024822012001417e6a2f00006b41002802ec82d48000118180808000000b20002802602104024020002802642201450d002001410171210241002106024020014101460d002001417e7121052004210141002106034002402001280200450d00200141046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012005200641026a2206470d000b0b2002450d00200420064104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200028025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402000280268450d00200028026c22012001417e6a2f00006b41002802ec82d48000118180808000000b200028027821040240200028027c2207450d002007410171210241002106024020074101460d002004411c6a21012007417e7121054100210603400240200141686a280200450d002001416c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141286a21012005200641026a2206470d000b0b2002450d002004200641146c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402000280274450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200028028001450d0641800121010c030b024002400240024002400240024020002d0010417f6a0e07000102030405060c0b20002d00144102470d0b2000280218450d0b200028021c21010c0a0b024020002d00144102470d002000280218450d00200028021c22012001417e6a2f00006b41002802ec82d48000118180808000000b20002d00384102470d0a200028023c450d0a200028024021010c090b20002d00144102470d092000280218450d09200028021c21010c080b20002d00144102470d082000280218450d08200028021c21010c070b20002d00144102470d072000280218450d07200028021c21010c060b2000280214450d06200028021821010c050b20002d00144102470d052000280218450d05200028021c21010c040b024002400240024020002d00082201417c6a41042001417b6a41ff01714105491b417f6a0e0400010203080b200028020c220110f8858080000c060b2000280220220110f8858080000c050b20002d000c4102470d052000280210450d05200028021421010c040b024020014102470d00200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b200028022c220110f8858080000c030b20002802042201418480808078480d032001450d03200028020821010c020b200041046a20016a28020021010c010b200028021021010b20012001417e6a2f00006b41002802ec82d48000118180808000000b0bb50d01077f2380808080004180036b220324808080800002400240024002400240024002400240024020012802000e080102030004050607010b000b200341c8006a200141286a290300370300200341c0006a200141206a290300370300200341386a200141186a290300370300200341306a200141106a290300370300200341086a200241086a290200370300200341106a200241106a290200370300200341186a200241186a290200370300200341206a200241206a2902003703002003200129030837032820032002290200370300200341003602f802200341003602f0022003200341f0026a3602fc02200341b0016a200341d00010f4978080001a2003200341fc026a36028002200041f0ffd38000200341b0016a10dc87808000200341f0026a10c5898080000c060b2003200141046a41880110f497808000220141a8016a200241206a290200370200200141a0016a200241186a29020037020020014198016a200241106a29020037020020014190016a200241086a2902003702002001200229020037028801200141003602f802200141003602f0022001200141f0026a3602fc02200141b0016a200141b00110f4978080001a2001200141fc026a3602e002200041f0ffd38000200141b0016a10e187808000200141f0026a10c5898080000c050b200320012903083703f0022003410036020820034100360200200320033602fc02200341b0016a41206a200241206a290200370300200341b0016a41186a200241186a290200370300200341b0016a41106a200241106a290200370300200341b0016a41086a200241086a290200370300200320022902003703b0012003200341fc026a3602dc012003200341f0026a3602d801200041f0ffd38000200341b0016a10e087808000200310c5898080000c040b2003200141106a41e00010f49780800022014180016a200241206a290200370300200141f8006a200241186a290200370300200141f0006a200241106a290200370300200141e8006a200241086a29020037030020012002290200370360200141003602f802200141003602f0022001200141f0026a3602fc02200141b0016a200141900110f4978080001a2001200141fc026a3602c002200041f0ffd38000200141b0016a10dd87808000200141f0026a10c5898080000c030b200341c8006a200141286a290300370300200341c0006a200141206a290300370300200341386a200141186a290300370300200341306a200141106a290300370300200341086a200241086a290200370300200341106a200241106a290200370300200341186a200241186a290200370300200341206a200241206a2902003703002003200129030837032820032002290200370300200341003602f802200341003602f0022003200341f0026a3602fc02200341b0016a200341d00010f4978080001a2003200341fc026a36028002200041f0ffd38000200341b0016a10da87808000200341f0026a10c5898080000c020b200341086a22042001410c6a280200360200200341146a200241086a2902003702002003411c6a200241106a290200370200200341246a200241186a2902003702002003412c6a200241206a290200370200200320012902043703002003200229020037020c200341003602f802200341003602f0022003200341f0026a3602fc02200341b0016a41306a200341306a280200360200200341b0016a41286a200341286a290300370300200341b0016a41206a200341206a290300370300200341b0016a41186a200341186a290300370300200341b0016a41106a200341106a290300370300200341b0016a41086a2004290300370300200320032903003703b0012003200341fc026a3602e401200041f0ffd38000200341b0016a10de87808000200341f0026a10c5898080000c010b200341106a22042002290200370300200341086a2205200141106a290300370300200341186a2206200241086a290200370300200341206a2207200241106a290200370300200341286a2208200241186a290200370300200341306a2209200241206a29020037030020032001290308370300200341003602f802200341003602f0022003200341f0026a3602fc02200341b0016a41306a2009290300370300200341b0016a41286a2008290300370300200341b0016a41206a2007290300370300200341b0016a41186a2006290300370300200341b0016a41106a2004290300370300200341b0016a41086a2005290300370300200320032903003703b0012003200341fc026a3602e801200041f0ffd38000200341b0016a10db87808000200341f0026a10c5898080000b20034180036a2480808080000bfe1204017f017e077f017e2380808080004190056b220524808080800002400240024002400240024002400240024002400240024002402001290300427e7c2206a7410120064203541b0e03000102000b2001280250450d0220054181023b0190030c030b200541ad036a200141c8006a290000370000200541a5036a200141c0006a2900003700002005419d036a200141386a290000370000200520012900303700950341002d008083d480001a411041002802f482d48000118280808000002207450d062007200741036a417c7120076b22086a220741f4e6c4800036020c2007410136020820074281808080103702002007417e6a20083b00002005200736029003200541013a00940341002d008083d480001a411041002802f482d48000118280808000002208450d072008200841036a417c7120086b22096a220841dce6c4800036020c2008410136020820084281808080103702002008417e6a20093b000020072007280200417f6a2209360200024020090d0020054190036a10ca878080000b200541386a41086a20054190036a41086a290200370300200541386a41106a20054190036a41106a290200370300200541386a41186a20054190036a41186a290200370300200541386a41206a20054190036a41206a29020037030020052008360290032005200529029003370338200541e0006a2001200541386a200141d0006a200320042002410010c68680800020052903b00142028520052903b8018450450d04200020052f01603b01002000418080808078360210200041026a20052d00623a00000c0a0b20012d0040210941002d008083d480001a411041002802f482d48000118280808000002207450d072007200741036a417c7120076b22086a220741f4e6c4800036020c2007410136020820074281808080103702002007417e6a20083b00002005200736029003200541023a00940341002d008083d480001a411041002802f482d48000118280808000002208450d08200141106a210a2008200841036a417c7120086b220b6a220841dce6c4800036020c2008410136020820084281808080103702002008417e6a200b3b000020072007280200417f6a220b3602000240200b0d0020054190036a10ca878080000b200541e8026a41086a20054190036a41086a290200370300200541e8026a41106a20054190036a41106a290200370300200541e8026a41186a20054190036a41186a290200370300200541e8026a41206a20054190036a41206a290200370300200520083602900320052005290290033703e802200541e0006a200a200541e8026a200141d0006a200320042002200910c68680800020052903b00142028520052903b8018450450d04200020052f01603b01002000418080808078360210200041026a20052d00623a00000c090b20054190036a2002200141d8006a10cf8d80800020052802a0032208418080808078470d010b200520052d00920322013a0062200520052f01900322073b0160200041026a20013a0000200020073b010020004180808080783602100c070b200541e8026a41086a220c20054190036a41086a220229030037030020052005290390033703e80220052802a403210a20052802ac03210d20052802b003210b20052903b803210620052802a803210720052802b403210920054190036a200141d0006a20032004108487808000024020052802a0032201418080808078470d00200520052d00920322013a0062200520052f01900322023b0160200041026a20013a0000200020023b0100200041808080807836021002402007450d002007410171210441002100024020074101460d002007417e712102200a210141002100034002402001280200450d00200141046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012002200041026a2200470d000b0b2004450d00200a2000410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402008450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402009450d002009410171210441002100024020094101460d002009417e712102200b210141002100034002402001280200450d00200141046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012002200041026a2200470d000b0b2004450d00200b2000410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200d450d07200b200b417e6a2f00006b41002802ec82d48000118180808000000c070b200541e0006a41086a2002290300220e370300200541086a411c6a20054190036a411c6a290200370200200541086a41246a20054190036a41246a290200370200200541086a412c6a20054190036a412c6a280200360200200541086a41086a200e370300200520052902a40337021c2005200529039003370308200520013602182002200c290300370300200520063703b803200520093602b4032005200b3602b0032005200d3602ac03200520073602a8032005200a3602a403200520083602a003200520052903e802370390032000200541086a20054190036a10f8968080000c060b20054190036a200541e0006a41800210f4978080001a20052802e00422012001280200417f6a220736020020054180026a2101024020070d00200541e0046a10ca878080000b20002001290300370300200041286a200141286a290300370300200041206a200141206a290300370300200041186a200141186a290300370300200041106a200141106a290300370300200041086a200141086a2903003703000c050b20054190036a200541e0006a41800210f4978080001a20052802e00422012001280200417f6a220736020020054180026a2101024020070d00200541e0046a10ca878080000b20002001290300370300200041286a200141286a290300370300200041206a200141206a290300370300200041186a200141186a290300370300200041106a200141106a290300370300200041086a200141086a2903003703000c040b4104411010ab80808000000b4104411010ab80808000000b4104411010ab80808000000b4104411010ab80808000000b20054190056a2480808080000be401000240024002400240024002400240024020012802000e080102030004050607010b000b2000200141086a10aa8e8080000f0b20004200370308200041003a0021200041106a4200370300200041186a4200370300200042e807420020012802044180808080784622011b37030020004101410220011b3a00200f0b20004200370310200042d50b370308200042c097acc900370300200041023b0120200041186a42003703000f0b2000200141106a10bb8c8080000f0b2000200141086a10bf878080000f0b2000200141046a10ae8e8080000f0b2000200141086a10b18d8080000baa0301047f2380808080004180056b220224808080800002400240024020012802042203450d0020012003417f6a36020420012001280200220341016a36020020032d000022034103490d010b200042053703000c010b200241c0026a200110f786808000024020022903c0024205520d00200042053703000c010b2002200241c0026a41c00210f4978080002104024020012802042205411f4b0d002000420537030002402004290300427e7c4203540d0020042d003041ff01714102470d002004280234450d00200428023822012001417e6a2f00006b41002802ec82d48000118180808000000b200441a0016a10f88580800020042802b00241808080807872418080808078460d0120042802b40222012001417e6a2f00006b41002802ec82d48000118180808000000c010b2001200541606a36020420012001280200220541206a360200200020052900003700c102200041c9026a200541086a290000370000200041d1026a200541106a290000370000200041d9026a200541186a2900003700002000200441c0026a41c00210f49780800020033a00c0020b20024180056a2480808080000bf90c02057f047e23808080800041d0026b22022480808080000240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000002400240024002400240024002400240024020040e09000102030405070608070b20024190016a200110ee8d8080000240024020022d0090010d00410821030c010b200241f0016a41206a20024190016a41206a2903002207370300200241f0016a41186a20024190016a41186a2903002208370300200241f0016a41106a20024190016a41106a2903002209370300200241f0016a41086a20024190016a41086a290300220a370300200241086a410c6a200a370200200241086a41146a2009370200200241086a411c6a2008370200200241086a41246a2007370200200220022903900122073703f0012002200737020c200020022902083702042000410c6a200241086a41086a290200370200200041146a200241086a41106a2902003702002000411c6a200241086a41186a290200370200200041246a200241086a41206a2902003702002000412c6a200241306a280200360200410021030b200020033602000c0a0b200241086a2001109d878080004108210302402002280208418180808078460d00200041046a200241086a41880110f4978080001a410121030b200020033602000c090b024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a0000200441ff01710d00200241086a200110d38480800020022802084101470d010b200041083602000c090b20002002290310370308200041023602000c080b02402001280200220328020c220128020828020022052802042204450d0020052004417f6a36020420052005280200220441016a3602002001427f200129030042017c22072007501b37030020042d000021010240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20013a00000b200041083602000c070b20024190016a200110ed8c808000024020022d0090010d00200041083602000c070b200241f0016a20024190016a41e00010f4978080001a200241146a200241f0016a41e00010f4978080001a200041046a200241086a41ec0010f4978080001a200041043602000c060b20024190016a200110db86808000024020022d009001410a470d00200041083602000c060b200241f0016a41206a20024190016a41206a2903002207370300200241f0016a41186a20024190016a41186a2903002208370300200241f0016a41106a20024190016a41106a2903002209370300200241f0016a41086a20024190016a41086a290300220a370300200241086a410c6a200a370200200241086a41146a2009370200200241086a411c6a2008370200200241086a41246a2007370200200220022903900122073703f0012002200737020c200020022902083702042000410c6a200241086a41086a290200370200200041146a200241086a41106a2902003702002000411c6a200241086a41186a290200370200200041246a200241086a41206a2902003702002000412c6a200241306a280200360200200041053602000c050b200241086a200110b18e8080004108210302402002280208418480808078460d00200020022902083702042000410c6a200241106a280200360200410621030b200020033602000c040b200041083602000c030b20024190016a200110dc8c808000200228029001450d01200241f0016a41086a20024190016a41086a2903002207370300200241086a410c6a2007370200200220022903900122073703f0012002200737020c200020022902083702042000410c6a200241086a41086a290200370200200041146a200241186a280200360200200041073602000c020b200041083602000c010b200041083602000b200241d0026a2480808080000bf00c02057f047e23808080800041d0026b22022480808080000240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000002400240024002400240024002400240024020040e09000102030405070608070b20024190016a200110ed8d8080000240024020022d0090010d00410821030c010b200241f0016a41206a20024190016a41206a2903002207370300200241f0016a41186a20024190016a41186a2903002208370300200241f0016a41106a20024190016a41106a2903002209370300200241f0016a41086a20024190016a41086a290300220a370300200241086a410c6a200a370200200241086a41146a2009370200200241086a411c6a2008370200200241086a41246a2007370200200220022903900122073703f0012002200737020c200020022902083702042000410c6a200241086a41086a290200370200200041146a200241086a41106a2902003702002000411c6a200241086a41186a290200370200200041246a200241086a41206a2902003702002000412c6a200241306a280200360200410021030b200020033602000c0a0b200241086a2001109c878080004108210302402002280208418180808078460d00200041046a200241086a41880110f4978080001a410121030b200020033602000c090b024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a0000200441ff01710d00200241086a200110d58480800020022802084101470d010b200041083602000c090b20002002290310370308200041023602000c080b02402001280200220328020c220128020822052802042204450d0020052004417f6a36020420052005280200220441016a3602002001427f200129030042017c22072007501b37030020042d000021010240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20013a00000b200041083602000c070b20024190016a200110ec8c808000024020022d0090010d00200041083602000c070b200241f0016a20024190016a41e00010f4978080001a200241146a200241f0016a41e00010f4978080001a200041046a200241086a41ec0010f4978080001a200041043602000c060b20024190016a200110da86808000024020022d009001410a470d00200041083602000c060b200241f0016a41206a20024190016a41206a2903002207370300200241f0016a41186a20024190016a41186a2903002208370300200241f0016a41106a20024190016a41106a2903002209370300200241f0016a41086a20024190016a41086a290300220a370300200241086a410c6a200a370200200241086a41146a2009370200200241086a411c6a2008370200200241086a41246a2007370200200220022903900122073703f0012002200737020c200020022902083702042000410c6a200241086a41086a290200370200200041146a200241086a41106a2902003702002000411c6a200241086a41186a290200370200200041246a200241086a41206a2902003702002000412c6a200241306a280200360200200041053602000c050b200241086a200110b28e8080004108210302402002280208418480808078460d00200020022902083702042000410c6a200241106a280200360200410621030b200020033602000c040b200041083602000c030b20024190016a200110db8c808000200228029001450d01200241f0016a41086a20024190016a41086a2903002207370300200241086a410c6a2007370200200220022903900122073703f0012002200737020c200020022902083702042000410c6a200241086a41086a290200370200200041146a200241186a280200360200200041073602000c020b200041083602000c010b200041083602000b200241d0026a2480808080000ba50201047f23808080800041106b220224808080800041002103024002400240200010808680800022044100480d00024020040d00410121030c030b41002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b0b1c4800010b980808000000b2003417e6a41003b00000b2002410036020c20022003360208200220043602042000200241046a10818680800020022802082104200228020421050240200228020c22032001280200200128020822006b4d0d0020012000200310f491808000200128020821000b200128020420006a2004200310f4978080001a2001200020036a36020802402005450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241106a2480808080000bdf0503027f017e017f024002400240024002400240024002400240024020002802000e080102030004050607010b000b41082101024002400240024002400240024002400240024020002d0008417f6a0e0b0009010203040506070708000b200028021441046a21010c080b200028021441046a21010c070b200028021441046a21010c060b200028021441186c41047221010c050b2000280214410c6c41046a21010c040b417f2000280218220041086a22012001200041046a491b21010c030b200028021441046a21010c020b410021010c010b200028021441046a21010b200141016a21010c070b024002402000280204418080808078460d00417f417f417f417f417f200028020c2201410c6a22022002200141046a491b220141032000350258420c7e2203a741046a2003422088a71b6a220220022001491b2201200028024041f0006c6a41046a220220022001491b22014101200028024c41056a2000280244418080808078461b6a220220022001491b2201417f417f200028027041246c200028026441047441047222026a41046a220420042002491b2202417f200028027c41146c41046a220420002802880141286c6a41046a220020002004491b6a220020002002491b6a220020002001491b21000c010b200028021041046a21000b200041016a21010c060b02402000290308220342c0005a0d00410221010c060b2003428080015a0d04410321010c050b200041106a10ef8c80800021010c040b200041086a10dd8680800021010c030b4101210102400240200028020422024182808080786a41012002418480808078481b417f6a0e050004040101000b200028020c41056a21010c030b410521010c020b410821010240024002402000280208417f6a0e050002020102000b4109410520002802101b21010c010b2000280214410a7441047221010b200141016a21010c010b024020034280808080045a0d00410521010c010b410a200379a74103766b21010b200141016a0bb60501037f23808080800041106b220224808080800002400240024002400240024002400240024020002802000e080102030004050607010b000b200041086a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00002003200110ef8d8080000c060b200041046a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a000020032001109e878080000c050b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041086a2104200128020420036a41023a00002001200341016a2200360208024020012802002000470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00002002200436020c2002410c6a200110dd848080000c040b200041106a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41043a00002003200110ee8c8080000c030b200041086a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41053a00002003200110dc868080000c020b200041046a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41073a00002003200110b08e8080000c010b200041086a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41083a00002003200110dd8c8080000b200241106a2480808080000ba10301057f23808080800041206b220324808080800002400240200028020c220441c0004f0d00410121050c010b0240200441ffff004b0d00410221050c010b410441052004418080808004491b21050b4100210602400240417f2000280208220420056a41046a220720072005491b22054100480d0041002d008083d480001a200541002802f482d480001182808080000022070d01410121060b2006200541b0b1c4800010b980808000000b2007417e6a41003b000020034100360214200320073602102003200536020c20032000410c6a36021c2003411c6a2003410c6a10dc8480800020002802042105200320043602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402004200328020c200328021422006b4d0d002003410c6a2000200410f491808000200328021421000b200328021020006a2005200410f4978080001a200328020c21072001200220032802102205200020046a41002802dc82d480001183808080000002402007450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000bd10503037f017e047f23808080800041106b2202248080808000410121034101210402402001290300220542c000540d0002400240200542808001540d0020054280808080045a0d01410421040c020b410221040c010b4109200579a74103766b21040b02402001290308220542c000540d0002400240200542808001540d0020054280808080045a0d01410421030c020b410221030c010b4109200579a74103766b21030b410121064101210702402001290310220542c000540d0002400240200542808001540d0020054280808080045a0d01410421070c020b410221070c010b4109200579a74103766b21070b02402001290318220542c000540d0002400240200542808001540d0020054280808080045a0d01410421060c020b410221060c010b4109200579a74103766b21060b410121084101210902402001290320220542c000540d0002400240200542808001540d0020054280808080045a0d01410421090c020b410221090c010b4109200579a74103766b21090b02402001290328220542c000540d0002400240200542808001540d0020054280808080045a0d01410421080c020b410221080c010b4109200579a74103766b21080b41002d008083d480001a0240200320046a20076a20066a20096a20086a220441002802f482d48000118280808000002203450d002003417e6a41003b0000200241086a2206410036020020022003360204200220043602002002200136020c2002410c6a200210dd848080002002200141086a36020c2002410c6a200210dd848080002002200141106a36020c2002410c6a200210dd848080002002200141186a36020c2002410c6a200210dd848080002002200141206a36020c2002410c6a200210dd848080002002200141286a36020c2002410c6a200210dd84808000200041086a200628020036020020002002290200370200200241106a2480808080000f0b4101200441b0b1c4800010b980808000000bdf0301097f23808080800041106b220324808080800041002d008083d480001a02400240410141002802f482d48000118280808000002204450d00200320043602082004417e6a41003b00002003410036020c2003410136020441002d008083d480001a412041002802f482d48000118280808000002204450d012004417e6a220541003b000020042000290001370000200441086a2206200041096a290000370000200441106a2207200041116a290000370000200441186a2208200041196a290000370000200341046a4100412010f49180800020032802082209200328020c220a6a220b2004290000370000200b41086a2006290000370000200b41106a2007290000370000200b41186a20082900003700002003200a41206a220b36020c200420052f00006b41002802ec82d480001181808080000020002d00002100024020032802042204200b470d00200341046a200b410110f4918080002003280204210420032802082109200328020c210b0b2009200b6a20003a0000200120022009200b41016a41002802dc82d480001183808080000002402004450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000f0b4101410110ab80808000000b4101412010ab80808000000bfb0402057f017e23808080800041106b220224808080800041014105200128026c1b210341c100210402400240024002400240024002400240024020012d0000220541626a22064102200641ff01714106491b41ff01710e06000104020803000b200141086a10e98d80800021040c070b4100210402400240024020012d00080e06080008000102080b410421040c070b41012106410121042001290310220742c000540d052007428080015a0d04410221040c050b4121410120012d00091b21040c050b4101210402400240024020012d00040e0400010802000b20012d000841027441c8ebc480006a28020021040c070b41c200412220012d00251b21040c060b20012d000841027441c8ebc480006a28020021040c050b4109410220012d00081b21040c040b200541027441d0eac480006a28020021040c030b024020074280808080045a0d00410421040c010b4109200779a74103766b21040b02402001290318220742c000540d0002400240200742808001540d0020074280808080045a0d01410420046a21040c030b410220046a21040c020b4109200779a74103766b21060b200620046a21040b200441016a21040b4100210602400240417f417f200420036a41016a220420042003491b220320012802684105746a41046a220420042003491b22034100480d0041002d008083d480001a200341002802f482d480001182808080000022040d01410121060b2006200341b0b1c4800010b980808000000b2004417e6a41003b0000200241046a41086a2206410036020020022004360208200220033602042001200241046a10d185808000200041086a200628020036020020002002290204370200200241106a2480808080000bd30101057f23808080800041206b220124808080800041002102200141003602102001428080808010370208200141146a10868680800041012103200128021821040240200128021c2205450d00200141086a4100200510f491808000200128020c2103200128021021020b200320026a2004200510f4978080001a2001200220056a36021002402001280214450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20002001290208370200200041086a200141086a41086a280200360200200141206a2480808080000bcb09010a7f23808080800041f0006b22082480808080004101210902400240024002400240024020022d00044101470d002001280200210a200841e4006a200241056a220110c98680800020082008280268220b200828026c10e3858080004100210c02402008280200410171450d002008280258200828025c724521092008280250210c0b02402008280264450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b0240024002402009450d0041800221090c010b200a200c4f0d0141800621090b200020093b01002000418080808078360210200041026a41003a0000200228020022002000280200417f6a220036020020000d02200210ca878080000c020b41002d008083d480001a410c41002802f482d48000118280808000002209450d022009200941036a220d417c71220e20096b220f6a220b417e6a200f3b0000200841186a220f200141186a290000370300200841106a2210200141106a290000370300200841086a2211200141086a2900003703002008200129000037030041002d008083d480001a412441002802f482d48000118280808000002209450d03200920082903003700002009200a3600202009417e6a41003b0000200941086a2011290300370000200941106a2010290300370000200941186a200f290300370000200b4124360208200b2009360204200b4124360200410421094100210b0240200c200a4f0d0041002d008083d480001a410c41002802f482d48000118280808000002209450d052009200941036a417c7120096b220b6a2209417e6a200b3b0000200841186a220c200141186a290000370300200841106a220f200141106a290000370300200841086a2210200141086a2900003703002008200129000037030041002d008083d480001a412441002802f482d4800011828080800000220b450d06200b2008290300370000200b417e6a41003b0000200b200a417f6a360020200b41086a2010290300370000200b41106a200f290300370000200b41186a200c290300370000200941243602082009200b360204200941243602004101210b0b2000200129000037003120002002290200370258200041c9006a200141186a290000370000200041c1006a200141106a290000370000200041396a200141086a290000370000200041e0006a200241086a290200370200200041e8006a200241106a290200370200200041f0006a200241186a290200370200200041f8006a200241206a290200370200200041226a200e4110763a00002000200e3b0120200041003a0030200041013a0028200041013602242000200d4118763a00232000410136021c2000200b360218200020093602142000200b3602102000427f370308200042003703000c010b200042891c37034020004288c9883f370338200041013a0030200041013a0028200042043703202000420037031820004280808080c0003703102000427f3703082000420037030020002002290200370258200041f8006a200241206a290200370200200041f0006a200241186a290200370200200041e8006a200241106a290200370200200041e0006a200241086a2902003702000b200841f0006a2480808080000f0b4104410c10ab80808000000b4101412410ab80808000000b4104410c10ab80808000000b4101412410ab80808000000bdf1406047f017e017f017e017f077e23808080800041e0066b2208248080808000024020022d000422094101470d00200841c8046a2002411d6a290000370300200841c0046a200241156a290000370300200841b8046a2002410d6a290000370300200820022900053703b0040b2002280200220a200a28020041016a220b3602000240024002400240024002400240200b450d002008418d016a200841b8046a220b290300220c37000020084195016a200841c0046a220d290300220e3700002008419d016a200841c8046a220f2903002210370000200820093a008401200820082903b0042211370085012008200a36028001200b200c370300200d200e370300200f2010370300200a200a280200417f6a220b360200200820113703b0040240200b0d0020084180016a10ca878080000b024020094101460d002000420037030820004201370300200041013a0078200042043703702000420037036820004280808080c0003703602000427f37035820004200370350200041a0016a200241206a29020037020020004198016a200241186a29020037020020004190016a200241106a29020037020020004188016a200241086a29020037020020002002290200370280010c060b200841e0006a41186a200841b0046a41186a290300370300200841e0006a41106a200841b0046a41106a290300370300200841e0006a41086a200841b0046a41086a290300370300200820082903b00437036020084180016a2005427f2004290300220c20042903107c220e200e200c541b2212427f2004290308220c20042903187c220e200e200c541b2213200129030022142001290308221520042d002120042d00202204108b878080004200210e4200210c0240200828028001410171450d00427f427f200829039801220c20082903a8017c200829039001220e20082903a0017c2210200e542209ad7c220e2009200e200c54200e200c511b22091b220c20082903b8017c427f201020091b220e20082903b0017c2210200e542209ad7c220e2009200e200c54200e200c511b22091b210c427f201020091b210e0b0240427f200e20082903c0017c22102010200e542209200c20082903c8017c2009ad7c220e200c54200e200c511b22091b2210427f200e20091b221184500d0020084180016a200841e0006a2010201110d58c80800020082903800142078520082903880184500d002000420037030820004202370300200041013b0011200041003a0010200a200a280200417f6a220036020020000d06200210ca878080000c060b20084190046a41086a220a4200370300200841e0036a41086a22094200370300200841d0036a41086a220b4200370300200841b8036a41086a22014200370300200841b8036a41106a410036020020084180016a41106a200841a0046a41086a2903003703002008420037039004200842003703e003200842003703d003200842003703b8032008420037038001200820082903a00437038801200842013703b001200841c0016a200a29030037030020082008290390043703b801200842003703d801200842003703d001200842c8b0c9333703c801200841e8016a20084180046a41086a29030037030020082008290380043703e001200842003703b002200842003703a802200842c8b0c9333703a002200841c0026a200841f0036a41086a290300370300200820082903f0033703b802200842003703c802200841d8026a2009290300370300200820082903e0033703d002200842003703e002200841f0026a200b290300370300200820082903d0033703e8022008420037039003200842b0d0e7cd01370388032008420037038003200842c8b0c9333703f802200841a0036a2001290300370300200820082903b803370398032008428180808080a0f8fa053703a8032008428080a001370398022008428088a5a9a307370390022008420137038802200842808080053703800220084280a094a58d1d3703f801200842013703f0012008428080e0033703a8012008428098effbe9153703a0012008420137039801200841b0046a20084180016a10d79180800020082903b0044202510d0120082903d006210c2005418080c002418080f001200441ff01711b220a2005200a491b410120051b21090240024020082903c806220e4200520d00427f210e200c500d010c040b200e200e2012420120124201561b2212200e2012541b80210e200c50450d03427f210c0c040b2008411f3602bc03200841e2d8c480003602b8034201210c41002802b483d48000450d04200841c081808000ad422086200841b8036aad843703b804200841c181808000ad42208641a09dc68000ad843703b004410028029080d480002105410028028c80d48000210b41002802b083d480002101200842023702b801200841ac9dc680003602ac01200841123602a801200841909ec680003602a401200841013602a001200841bc9dc68000ad4280808080c00a84370298012008410036029401200841a29ec68000ad4280808080b0038437028c01200841003602880120084281808080902037028001200841023602b0012005419cf4ca8000200141024622011b28021021052008200841b0046a3602b401200b41b4f4ca800020011b20084180016a2005118b80808000000c040b000b200820082d00b8043a00df0641bae9ca800041e000200841df066a41dce8ca8000419ceaca800010a981808000000b200c200c2013420120134201561b2212200c2012541b80210c0b200e200c200e200c541b210c0b2009450d01200841c0006a427f2015201442017c220e50ad7c2212200e2012845022051b4200200c200a20096ead2212200c2012541b2212420010fc97808000200841d0006a427f200e20051b42002012420010fc97808000427f2008290358220c20082903407c220e2008290348420052200e200c5472220a1b210c427f2008290350200a1b210e0240200441ff01714101470d002008201142004205420010fc97808000200841306a201042004205420010fc97808000200841106a427f2008290338221320082903007c22162008290308420052201620135472220a1b42002012420010fc97808000200841206a427f2008290330200a1b42002012420010fc97808000427f427f200c2008290328221220082903107c22137c200e20082903207c2216200e54220aad7c220e200a200e200c54200e200c511b220a1b200829031842005220132012547222041b210c427f427f2016200a1b20041b210e0b200020082903603700302000200229020037028001200041c8006a200841e0006a41186a290300370000200041c0006a200841e0006a41106a290300370000200041386a200841e0006a41086a29030037000020004188016a200241086a29020037020020004190016a200241106a29020037020020004198016a200241186a290200370200200041a0016a200241206a290200370200200020113703282000201037032020002015370318200020143703102000420037030820004200370300200041013a0078200042043703702000420037036820004280808080c0003703602000427f3703582000200e427f200c501b3703500b200841e0066a2480808080000f0b4184d9c48000108e81808000000b34002001280200418fdbc48000418cdbc4800020002802002d000022001b4102410320001b200128020428020c118080808000000b980301047f23808080800041306b22022480808080000240024002400240200028020022032d00000e03000102000b200128020041d0e2c48000410c200128020428020c1180808080000021000c020b200128020041dce2c480004113200128020428020c1180808080000021000c010b410121002002200341016a36020c200128020022034180e2c4800041062001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110aa858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000b800601047f23808080800041306b220224808080800002400240024002400240024002400240024002400240024002400240200028020022032d00000e0d000102030405060708090a0b0c000b200128020041c0e1c480004104200128020428020c1180808080000021000c0c0b200128020041c4e1c480004107200128020428020c1180808080000021000c0b0b200128020041cbe1c480004106200128020428020c1180808080000021000c0a0b200128020041d1e1c480004105200128020428020c1180808080000021000c090b200128020041d6e1c480004108200128020428020c1180808080000021000c080b200128020041dee1c480004111200128020428020c1180808080000021000c070b200128020041efe1c480004111200128020428020c1180808080000021000c060b410121002002200341016a36020c200128020022034180e2c4800041062001280204220428020c2205118080808000000d050240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d072002410c6a200110aa858080000d0720012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0641012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa858080000d06200228022041da80c280004102200228022428020c118080808000000d060b200341e280c28000410120051180808080000021000c050b20012802004186e2c48000410c200128020428020c1180808080000021000c040b20012802004192e2c480004113200128020428020c1180808080000021000c030b200128020041a5e2c480004109200128020428020c1180808080000021000c020b200128020041aee2c480004115200128020428020c1180808080000021000c010b200128020041c3e2c48000410d200128020428020c1180808080000021000b200241306a24808080800020000b1e0020012802004188eac48000411b200128020428020c118080808000000b040041010b040041010b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bdd0101077f23808080800041206b22022480808080004100210302402000280200220441ffffff1f4d0d0041004100200110b980808000000b4100210502400240200441017422064104200641044b1b220741057422064100480d0002402004450d002002200441057436021c20022000280204360214410121050b20022005360218200241086a41012006200241146a108f8680800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200736020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42147e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441146c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be10101077f23808080800041206b22022480808080004100210302402000280200220441ffffff074d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410774220741fcffffff074b0d004100210502402004450d002002200441077436021c20022000280204360214410421050b20022005360218200241086a41042007200241146a108f8680800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be10101077f23808080800041206b22022480808080004100210302402000280200220441ffffff3f4d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410474220741fcffffff074b0d004100210502402004450d00410421052002200441047436021c200220002802043602140b20022005360218200241086a41042007200241146a108f8680800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bea0103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42f0007e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441f0006c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bea0103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42c0027e2207422088a7450d0041004100200110b980808000000b024002402007a7220841f0ffffff074b0d004100210502402004450d002002200441c0026c36021c20022000280204360214411021050b20022005360218200241086a41102008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad420c7e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d0020022004410c6c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42387e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441386c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bea0103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42fc007e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441fc006c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42307e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441306c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be20101077f23808080800041206b22022480808080004100210302402000280200220441ffffffff014d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410274220741fcffffff074b0d004100210502402004450d002002200441027436021c20022000280204360214410421050b20022005360218200241086a41042007200241146a108f8680800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42307e2207422088a7450d0041004100200110b980808000000b024002402007a7220841f0ffffff074b0d004100210502402004450d002002200441306c36021c20022000280204360214411021050b20022005360218200241086a41102008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42287e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441286c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42387e2207422088a7450d0041004100200110b980808000000b024002402007a7220841f8ffffff074b0d004100210502402004450d002002200441386c36021c20022000280204360214410821050b20022005360218200241086a41082008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42247e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441246c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bea0103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42f0017e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441f0016c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bea0103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42f8007e2207422088a7450d0041004100200110b980808000000b024002402007a7220841f8ffffff074b0d004100210502402004450d002002200441f8006c36021c20022000280204360214410821050b20022005360218200241086a41082008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bdd0101077f23808080800041206b22022480808080004100210302402000280200220441ffffff004d0d0041004100200110b980808000000b4100210502400240200441017422064104200641044b1b2207410a7422064100480d0002402004450d0020022004410a7436021c20022000280204360214410121050b20022005360218200241086a41012006200241146a108f8680800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200736020020002004360204200241206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42187e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441186c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a108f8680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a108f8680800020052802084101470d0120052802102102200528020c21060b2006200241fcdac4800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b5d01017f23808080800041106b22022480808080000240024020002d00000d00200041e4e3c480004104200110c68d80800021000c010b2002410d360204200241046a4100410010f59280800021000b200241106a24808080800020000b5d01017f23808080800041106b22022480808080000240024020002d00000d00200041aee9c480004107200110c38d80800021000c010b2002410d360204200241046a4100410010f59280800021000b200241106a24808080800020000b5d01017f23808080800041106b22022480808080000240024020002d00000d002000418be9c480004112200110be8d80800021000c010b2002410d360204200241046a4100410010f59280800021000b200241106a24808080800020000b5d01017f23808080800041106b22022480808080000240024020002d00000d00200041a7e9c480004107200110cb8d80800021000c010b2002410d360204200241046a4100410010f59280800021000b200241106a24808080800020000b5d01017f23808080800041106b22022480808080000240024020002d00000d002000419de9c48000410a200110c38d80800021000c010b2002410d360204200241046a4100410010f59280800021000b200241106a24808080800020000b5d01017f23808080800041106b22022480808080000240024020002d00000d0020004190e8c480004104200110c18d80800021000c010b2002410d360204200241046a4100410010f59280800021000b200241106a24808080800020000b960501057f23808080800041a0066b2201248080808000200141b8036a41086a22024200370300200141d8026a41086a22034200370300200141c8026a41086a22044200370300200141b0026a41086a22054200370300200141b0026a41106a4100360200200141106a200141c8036a41086a290300370300200142003703b803200142003703d802200142003703c802200142003703b00220014200370300200120012903c80337030820014201370330200141c0006a2002290300370300200120012903b8033703382001420037035820014200370350200142c8b0c933370348200141e8006a200141f8026a41086a290300370300200120012903f802370360200142003703b001200142003703a801200142c8b0c9333703a001200141c0016a200141e8026a41086a290300370300200120012903e8023703b801200142003703c801200141d8016a2003290300370300200120012903d8023703d001200142003703e001200141f0016a2004290300370300200120012903c8023703e8012001420037039002200142b0d0e7cd01370388022001420037038002200142c8b0c9333703f801200141a0026a2005290300370300200120012903b002370398022001428180808080a0f8fa053703a8022001428080a001370398012001428088a5a9a307370390012001420137038801200142808080053703800120014280a094a58d1d370378200142013703702001428080e0033703282001428098effbe91537032020014201370318200141f0036a200110d791808000024020012903f0034202520d00200120012d00f8033a009f0641bae9ca800041e0002001419f066a41dce8ca8000419ceaca800010a981808000000b2000200141f0036a41a80210f4978080001a200141a0066a2480808080000bf23a010e7f23808080800041e0066b220124808080800041002d008083d480001a0240024002400240024002400240024002400240024041801541002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202417e6a20033b0000200141c0006a10e48d808000200141306a10e68d808000200141246a10e78d80800020014190016a10978780800020014180016a109887808000200141d0016a10f18d808000200141c0016a10f28d80800041002d008083d480001a413041002802f482d48000118280808000002203450d012003200341076a41787120036b22046a2205417e6a20043b000041002d008083d480001a410841002802f482d48000118280808000002203450d022003200341036a417c7120036b22046a22034126360204200341a1f8c780003602002003417e6a20043b00002005410136022820052003360224200541013602202005419981808000360218200542a5e9e3ab9e929adc2c37031020054293888c8f89fdc6ec9e7f37030820054106360204200541c7f8c78000360200200141003602980620014280808080800137029006200141c8066a410441004101410110859280800020012802cc06210420012802c8064101460d0320012802d006220641e40036000020014190066a41c884c6800010a08680800020014198036a41086a4101360200200128029406220341013a00742003420437026c20034204370264200320063602602003200436025c2003420b370244200341888ac68000360240200341c580808000360218200342cdd1c1cbe3b5a3c444370210200342b9e0ddc2f1d2dbbf4c37020820034100360200200120012902900637039803200141a8046a10e88c80800020014198046a10e98c8080002001418c046a10eb8c808000200141003602e8052001428080808080013702e005200141003602c80641002d008083d480001a410841002802f482d48000118280808000002203450d042003200341036a417c7120036b22046a22034121360204200341f3fec480003602002003417e6a20043b0000200141013602980620014101360290062001200336029406200141c8066a20014190066a200141e0056a108889808000200141d8046a41086a200141e0056a41086a280200360200200120012902e0053703d80441002d008083d480001a413041002802f482d48000118280808000002203450d052003200341076a41787120036b22046a2203417e6a20043b000041002d008083d480001a410841002802f482d48000118280808000002204450d062004200441036a417c7120046b22066a2204411236020420044194ffc480003602002004417e6a20063b0000200341013602282003200436022420034101360220200341c281808000360218200342cc8e8fa3bac0d9ce17370310200342b5cb9ae1a0c5fe9d7e3703082003410b360204200341a6ffc4800036020020014180056a108c87808000200141f0046a108d87808000200141c0056a10af8e808000200141e0056a10da8c80800020014190066a10d18680800020014180066a10d28680800041002d008083d480001a413041002802f482d48000118280808000002204450d072004200441076a41787120046b22066a2204417e6a20063b000041002d008083d480001a410841002802f482d48000118280808000002206450d082006200641036a417c7120066b22076a22064126360204200641e3fdc480003602002006417e6a20073b0000200441013602282004200636022420044101360220200441ad81808000360218200442c2bd98c186cbe8c32f370310200442d6c7f28481b698b8243703082004410b36020420044189fec48000360200200141c8066a10f58d80800041002d008083d480001a411041002802f482d48000118280808000002206450d092006200641036a417c7120066b22076a2206412336020c200641d4e6c58000360208200641e000360204200641f4e5c580003602002006417e6a20073b00002002410636027c200241f8e7c480003602782002410036027020024100360268200241ef8080800036026020024284cfffc1db8584ab2f370358200242fb80c2929ddabcc4827f3703502002410036024820024100360240200241fe80808000360238200242e9d7d39dd1c1dd980e370330200242a5f3cb9df58cabcbda003703282002410036022020024100360218200241828180800036021020024283a382fae2cccab7897f370308200242e68d8c93e1ea9be30a3703002002410036029c0120024280808080800137029401200220012903403703800120024188016a200141c0006a41086a29030037030020024190016a200141c0006a41106a280200360200200220012903303703a001200241a8016a200141306a41086a280200360200200242003703c00120024280808080c0003703b801200220012902243702ac01200241b4016a200141246a41086a280200360200200241d0016a200141146a41086a290200370200200220012902143702c801200241003a00d801200241dc016a2001410d6a41036a2800003600002002200128000d3600d9012002410f3602dc02200241e9e7c480003602d802200241003602d002200241003602c80220024189818080003602c002200242b5cbb5899befc5af053703b802200242bf8b8beab7e6bab9333703b002200241003602a802200241003602a002200241ff8080800036029802200242d1a3fdcbebd0f4bc1a37039002200242dd9f93df8387e1c0f200370388022002410036028002200241003602f801200241e7808080003602f00120024299b8f6c4f2aeb99b4d3703e80120024287d0cd9288f5e99eb57f3703e001200241003602fc022002428080808080013702f402200241003602a40320024280808080800137028c0320024200370294032002420437029c03200241f0026a20014190016a41106a280200360200200241e8026a20014190016a41086a29030037030020022001290390013703e00220022001290380013703800320024188036a20014180016a41086a280200360200200220012903703703a803200241b0036a200141f0006a41086a290300370300200241013a00b803200241003602e003200241003602d803200241f4808080003602d003200242cdf3f0ebd0f7bfeb927f3703c803200242cacaacd6f5b19dd6f7003703c003200241003602f803200220012800693600b903200241bc036a200141e9006a41036a280000360000200220012903a0023703e803200241f0036a200141a0026a41086a2903003703002002418c046a2001418c026a41106a28020036020020024184046a2001418c026a41086a2902003702002002200129028c023702fc0320024198046a200141f8016a41086a290300370300200220012903f80137039004200241003602a004200241b4046a200141e4016a41106a280200360200200241ac046a200141e4016a41086a290200370200200220012902e4013702a404200241093602bc04200241e0e7c480003602b804200241d0046a200141d0016a41106a280200360200200241c8046a200141d0016a41086a290300370300200220012903d0013703c004200241003602dc042002428080808080013702d404200241e8046a200141c0016a41086a280200360200200220012903c0013703e0042002410036028405200242043702fc04200242013702f404200220053602f004200241013602ec0420024190056a200141b0016a41086a290300370300200220012903b00137038805200241023a0098052002419c056a200141a9016a41036a280000360000200220012800a90136009905200241003602c005200241003602b8052002418d818080003602b005200242c7d5bd83edd8f5c0dd003703a805200242c1b4e2ac94ff84c2e5003703a005200241d0056a200141e0036a41086a290300370300200220012903e0033703c805200241003602d805200241ec056a200141cc036a41106a280200360200200241e4056a200141cc036a41086a290200370200200220012902cc033702dc05200241f8056a200141b8036a41086a290300370300200220012903b8033703f005200241003602800620024194066a200141a4036a41106a2802003602002002418c066a200141a4036a41086a290200370200200220012902a403370284062002410d36029c06200241d3e7c4800036029806200241a8066a20014198036a41086a28020036020020022001290398033703a006200242003703e00620024280808080c0003703d806200242083702d006200242003703c8062002428080808080013703c006200242083702b8062002420d3703b006200241d3e7c480003602ac06200241f0066a20014188036a41086a29030037030020022001290388033703e806200241033a00f806200241fc066a20014181036a41036a28000036000020022001280081033600f906200241083602fc07200241cbe7c480003602f807200241003602f007200241003602e80720024198818080003602e0072002428fcfabb3df92c7ae623703d80720024291e592c5bbf1ede3887f3703d007200241003602c807200241003602c00720024187818080003602b807200242b49ecfc5fbddf48cd4003703b007200242b9addbd9b5d7e88c8c7f3703a807200241003602a0072002410036029807200241fa8080800036029007200242b8eae6a09ffddbe6c30037038807200242f88f9dc2b1d3efe4c800370380072002410036029c082002428080808080013702940820024280808080c0003703b808200242003703c00820024190086a200141a8046a41106a28020036020020024188086a200141a8046a41086a290300370300200220012903a8043703800820022001290398043703a008200241a8086a20014198046a41086a2802003602002002200129028c043702ac08200241b4086a2001418c046a41086a280200360200200241043a00d808200241043602dc09200241c7e7c480003602d809200241003602d009200241003602c80920024193818080003602c009200242909fc38ce7eaec979e7f3703b809200242d4db98a5bcd685f19f7f3703b009200241003602a809200241003602a009200241fb8080800036029809200242e7c293a7a1e3e1b7a77f37039009200242808addd4dbb4c9d712370388092002410036028009200241003602f80820024192818080003602f008200242bbc0eee3b882f9d3bd7f3703e808200242fbd6e6a3c68cb3c8303703e008200241d0086a200141f8036a41086a290300370300200220012903f8033703c808200220012800f1033600d908200241dc086a200141f1036a41036a280000360000200241c7e7c480003602ec09200220033602900a200241003602a40a200242043703f009200242083702f8092002428080808080013703800a20024280808080103703880a200242013702940a2002420437029c0a200241053a00b80a200241e8096a200141d8046a41086a280200360200200220012903d8043703e009200220012903c8043703a80a200241b00a6a200141c8046a41086a290300370300200241003602d00a200241003602880b200241003602800b20024191818080003602f80a200242f790c2b8cbf6d6e6ba7f3703f00a20024297c0f1c4c7c0b080c5003703e80a200241bc0a6a200141c1046a41036a280000360000200220012800c1043600b90a200241c80a6a200141a8056a41086a2208290300370300200220012903a8053703c00a200241e40a6a20014194056a41106a2209280200360200200241dc0a6a20014194056a41086a220a29020037020020022001290294053702d40a200241980b6a200141f0026a41086a2205290300370300200220012903f0023703900b200241003602a00b200241b40b6a200141dc026a41106a2207280200360200200241ac0b6a200141dc026a41086a220b290200370200200220012902dc023702a40b200241123602bc0b200241b5e7c480003602b80b200241d00b6a20014180056a41106a280200360200200241c80b6a20014180056a41086a29030037030020022001290380053703c00b200241003602dc0b2002428080808080013702d40b200241e80b6a200141f0046a41086a280200360200200220012903f0043703e00b200241003602840c200242043702fc0b200242003702f40b2002428080808080013702ec0b200241900c6a200141d8006a41086a2203290300370300200220012903583703880c200241063a00980c2002419c0c6a200141e9046a41036a280000360000200220012800e9043600990c200241003602c00c200241003602b80c2002419e818080003602b00c200242f2c3d8b6f1b38382a37f3703a80c200242a9e392f9b4d79e842e3703a00c200241d00c6a200141c8026a41086a220c290300370300200220012903c8023703c80c200241003602d80c200241ec0c6a200141b4026a41106a220d280200360200200241e40c6a200141b4026a41086a220e290200370200200220012902b4023702dc0c200241f80c6a2005290300370300200220012903f0023703f00c200241003602800d200241940d6a20072802003602002002418c0d6a200b290200370200200220012902dc023702840d2002410a36029c0d200241abe7c480003602980d200241b00d6a200141c0056a41106a280200360200200241a80d6a200141c0056a41086a290300370300200220012903c0053703a00d200241003602e40d200242043702dc0d200242003702d40d2002428080808080013702cc0d200242083702c40d200242003702bc0d2002428080808080013702b40d200241f00d6a2003290300370300200220012903583703e80d200241073a00f80d200241fc0d6a200141b9056a41036a280000360000200220012800b9053600f90d200241073602fc0e200241a4e7c480003602f80e200241003602f00e200241003602e80e200241fd808080003602e00e200242f2b59da2ef82b096553703d80e200242a4b691acadf9b7f2283703d00e200241003602c80e200241003602c00e2002418e818080003602b80e20024295f3c2a6d3fce5b12e3703b00e20024295fe9ce7d0c9c5c6123703a80e200241003602a00e200241003602980e20024197818080003602900e200242c6c8dbd5f3a3e89aed003703880e2002429ecaaca1b6f2c7884b3703800e200241003602c40f2002428080808080013702940f2002420037029c0f200242083702a40f2002428080808080013702ac0f200242003702b40f200242043702bc0f200241083a00d80f200241900f6a200141e0056a41106a280200360200200241880f6a200141e0056a41086a290300370300200220012903e0053703800f200220012903583703c80f200241d00f6a2003290300370300200241003602f00f200241dc0f6a200141d9056a41036a280000360000200220012800d9053600d90f200241e80f6a2008290300370300200220012903a8053703e00f20024184106a2009280200360200200241fc0f6a200a29020037020020022001290294053702f40f20024190106a200c290300370300200220012903c802370388102002410036029810200241ac106a200d280200360200200241a4106a200e290200370200200220012902b40237029c10200241b8106a2005290300370300200220012903f0023703b010200241003602c010200241d4106a2007280200360200200241cc106a200b290200370200200220012902dc023702c410200241043602dc10200241a0e7c480003602d810200241f0106a20014190066a41106a280200360200200241e8106a20014190066a41086a29030037030020022001290390063703e010200241003602fc102002428080808080013702f41020024188116a20014180066a41086a280200360200200220012903800637038011200241003602a4112002420437029c11200242013702941120022004360290112002410136028c11200241b0116a2003290300370300200220012903583703a811200241093a00b811200241bc116a200141f9056a41036a280000360000200220012800f9053600b911200241c8116a2008290300370300200220012903a8053703c011200241003602d011200241e4116a2009280200360200200241dc116a200a29020037020020022001290294053702d411200241f0116a200c290300370300200220012903c8023703e811200241003602f8112002418c126a200d28020036020020024184126a200e290200370200200220012902b4023702fc1120024198126a2005290300370300200220012903f00237039012200241003602a012200241b4126a2007280200360200200241ac126a200b290200370200200220012902dc023702a412200241073602bc1220024199e7c480003602b812200241d0126a200141c8066a41106a280200360200200241c8126a200141c8066a41086a290300370300200220012903c8063703c0122002410036028413200242043702fc12200242003702f4122002428080808080013702ec12200242083702e412200242003702dc122002428080808080013702d41220024190136a200329030037030020022001290358370388132002410a3a0098132002419c136a200141aa066a41036a280000360000200220012800aa0636009913200241a8136a2008290300370300200220012903a8053703a013200241003602b013200241c4136a2009280200360200200241bc136a200a29020037020020022001290294053702b413200241d0136a200c290300370300200220012903c8023703c813200241003602d813200241ec136a200d280200360200200241e4136a200e290200370200200220012902b4023702dc13200241f8136a2005290300370300200220012903f0023703f013200241003602801420024194146a20072802003602002002418c146a200b290200370200200220012902dc02370284142002428d80808080808080807f37029c142002418ce7c4800036029814200241ac146a200141b8066a41086a290200370200200220012902b8063702a414200242023703e014200220063602dc1420024280808080203702d4142002428080808080013702cc14200242083702c414200242003702bc142002428080808080013702b414200241f0146a2003290300370300200220012903583703e8142002410b3a00f814200241fc146a200141b1066a41036a280000360000200220012800b1063600f91441002d008083d480001a410241002802f482d48000118280808000002203450d0a200041023602e001200020033602dc01200041023602d8012003417e6a4180809028360000200141c8066a10868780800020012802c806210720012802cc0622042105024020012802d0062206450d00200641386c210b2006417f6a41ffffffff0171210820042103024020064103712205450d00200421030340200341386a21032005417f6a22050d000b0b2004200b6a210520084103490d000340200341e0016a22032005470d000b0b200020043602e801200020073602e4012000200520046b41386e3602ec01200041fc016a200210b0868080002000410c3602f801200020023602f4012000410c3602f001200041c3818080003602d001200042c7e5d4cefcfb8ae85b3703c801200042aa98a18e868390a7e2003703c001200041c4818080003602b801200042d8d5ffd5ad9feab1793703b001200042efd6c9f6c7c9e7f5ac7f3703a801200041c2818080003602a001200042cc8e8fa3bac0d9ce1737039801200042b5cb9ae1a0c5fe9d7e37039001200041ee8080800036028801200042d6eed5b5f7848284223703800120004297c889b7d487feb0dd00370378200041a381808000360270200042f38d9e99aae6a6ce6c370368200042cad8edf1c6aacd9b28370360200041c581808000360258200042bc9c9fc28e8686d417370350200042c98fe79ff2aaa2cacc00370348200041bd81808000360240200042ae9de2a68d94fca925370338200042ced4d890f69ef9a0867f370330200041c281808000360228200042cc8e8fa3bac0d9ce17370320200042b5cb9ae1a0c5fe9d7e370318200041c681808000360210200042e194d089a9acf7d7a57f370308200042bbf9e8e4c28df8bb1f370300200141e0066a2480808080000f0b410841801510ab80808000000b4108413010ab80808000000b4104410810ab80808000000b200420012802d006418887cb800010b980808000000b4104410810ab80808000000b4108413010ab80808000000b4104410810ab80808000000b4108413010ab80808000000b4104410810ab80808000000b4104411010ab80808000000b4101410210ab80808000000b9e0402037f017e23808080800041d0016b2202248080808000410021032002410036020c200242808080808002370204200241106a200110c5868080004110210402402002280210418180808078460d00200241046a4180e8c48000109586808000410121032002280208220441013602a001200441053a000820044202370300200441a4016a200241106a41880110f4978080001a20044180808080783602b0022002410136020c0b20024198016a200110b48d80800002402002280298014101470d0020022903a0012105024020032002280204470d00200241046a4180e8c48000109586808000200228020821040b2004200341c0026c6a22044180808080783602b002200420053703a801200441023602a001200441053a0008200442023703002002200341016a220336020c0b200241a8016a200110b98c808000024020022802a801450d00200241c8016a200241a8016a41086a290300370200200220022903a8013702c001024020032002280204470d00200241046a4180e8c480001095868080000b2002280208200341c0026c6a220441073602a001200441053a000820044202370300200420022902bc013702a40120044180808080783602b002200441ac016a200241bc016a41086a290200370200200441b4016a200241cc016a2802003602002002200341016a36020c0b20002002290204370200200041086a200241046a41086a280200360200200241d0016a2480808080000b9f0301037f20002002200110ae86808000200210b08880800020012802042103024020012802082200450d00200321020340024020022d0000220441034b0d00200220044102744188ecc480006a2802006a2204280200450d00200441046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200241146a21022000417f6a22000d000b0b02402001280200450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20012802742103024020012802782202450d002002410171210541002100024020024101460d002002417e712104410021002003210203402002410c6a200241046a280200200241086a2802002002280200280210118680808000002002411c6a200241146a280200200241186a280200200241106a28020028021011868080800000200241206a21022004200041026a2200470d000b0b2005450d00200320004104746a2202410c6a200228020420022802082002280200280210118680808000000b02402001280270450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b0bb70802077f017e23808080800041c0056b22032480808080002003410036021020034100360208200341013b01140240024020022802782204450d0020044104742105200228027441086a2102200341f8036a2106200341f0036a2107200341d0026a410872210402400240024003402002417c6a280200210820032002280200220936021c20032008360218200341d0026a200341186a200910be8680800020032903d002210a200341186a200441b80210f4978080001a200a4205510d012003200a3703d0022004200341186a41b80210f4978080001a200a427e7c220a4200520d030240024002400240024020032802f0032208417e6a0e06000202020201020b02402006200110b38d80800041ff017122084102470d0020032903d002427e7c210a0c040b20034180023b01142003410036021020034100360208200341003602a4052003410036029c052003419c056a10b088808000200342003702a805200342f4d2b59bc7ae98b8303702a00541002d008083d480001a2003200341086a36029c05410141002802f482d48000118280808000002202450d06200220083a00002002417e6a41003b0000200341013602bc05200320023602b805200341013602b4052003419c056a200341b4056a109d8d8080001a200041086a200341086a41086a29020037020020002003290208370200024020032903d002427e7c4203540d0020032d00800341ff01714102470d00200328028403450d0020032802880322022002417e6a2f00006b41002802ec82d48000118180808000000b200710f88580800020032802800541808080807872418080808078460d0920032802840522022002417e6a2f00006b41002802ec82d48000118180808000000c090b20032802f8034104460d010c060b20084101470d0520032802f403418080808078460d050b4200210a0b0240200a4203540d0020032d00800341ff01714102470d00200328028403450d0020032802880322082008417e6a2f00006b41002802ec82d48000118180808000000b200710f885808000024020032802800541808080807872418080808078460d0020032802840522082008417e6a2f00006b41002802ec82d48000118180808000000b200241106a2102200541706a22050d000c040b0b200341003602e002200341013602d402200341c8e8c480003602d002200342043702d802200341d0026a4180e8c4800010fe80808000000b4101410110ab80808000000b0240200a4203540d0020032d00800341ff01714102470d00200328028403450d0020032802880322022002417e6a2f00006b41002802ec82d48000118180808000000b200710f88580800020032802800541808080807872418080808078460d0020032802840522022002417e6a2f00006b41002802ec82d48000118180808000000b20002003290208370200200041086a200341086a41086a2902003702000b200341c0056a2480808080000bb90301057f23808080800041306b22022480808080000240024020012802002203418080808078460d0041002104024002400240200128020822054100480d0020012802042106024020050d00410121040c030b41002d008083d480001a200541002802f482d480001182808080000022040d01410121040b2004200541a8b2c8800010b980808000000b2004417e6a41003b00000b20042006200510f49780800021042002200536022c20022004360228200220053602240c010b20024180808080783602240b200241046a41e1eac98b06200241246a41002802dc81d480001186808080000041002d008083d480001a0240412041002802f482d48000118280808000002205450d00200520022900043700002000412036020820002005360204200041203602002005417e6a41003b0000200541086a200241046a41086a290000370000200541106a200241046a41106a290000370000200541186a200241046a41186a2900003700000240200341808080807872418080808078460d00200128020422052005417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000f0b4101412010ab80808000000bd16701137f23808080800041a0066b220224808080800041002d008083d480001a0240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024041c80641002802f482d48000118280808000002203450d002003200341036a417c7120036b22046a2203417e6a20043b000041002d008083d480001a410841002802f482d48000118280808000002204450d012004200441036a417c7120046b22056a2206412436020420064196dbc480003602002006417e6a20053b000041002d008083d480001a412041002802f482d48000118280808000002204450d022004200441076a41787120046b22056a220441c781808000360218200442ace3e28a9ae5b09fca00370310200442bce7dcece2f78ef4353703082004410536020420044192adc480003602002004417e6a20053b000041002d008083d480001a410841002802f482d48000118280808000002205450d032005200541036a417c7120056b22076a22084119360204200841c1dbc480003602002008417e6a20073b000041002d008083d480001a412041002802f482d48000118280808000002205450d042005200541076a41787120056b22076a220541c88180800036021820054283b0d291daeebdba827f370310200542eab2a8f28eb5b7f134370308200541063602042005419da3c480003602002005417e6a20073b000041002d008083d480001a410841002802f482d48000118280808000002207450d052007200741036a417c7120076b22096a220741d000360204200741e7dbc480003602002007417e6a20093b00002002420137029c052002428180808010370390052002200536028c052002410136028805200241c981808000360280052002429adff0c0b9fb82d3b17f3703f804200242eeb1aecedfcfb1965c3703f004200241103602ec04200241b7dcc480003602e804200242013702cc04200220083602c80420024281808080103703c004200220043602bc04200241013602b80420024184818080003602b004200242d9d1a5958acddccda77f3703a804200242bb82a2f99fad8c91c1003703a0042002410d36029c04200241dadbc4800036029804200242013702fc03200220063602f80320024280808080103703f0032002428080808080013703e803200241ca818080003602e003200242f8eee7c886bf81d5703703d80320024295c1ad8e90b4e6e9413703d003200241073602cc03200241badbc480003602c80320024280808080303703c00320022007360298052002418c066a200241c0036a41e8a2c4800010d18f80800041002d008083d480001a410841002802f482d48000118280808000002204450d062004200441036a417c7120046b22056a220a41c800360204200a41c7dcc48000360200200a417e6a20053b0000200241086a41086a2002418c066a41086a2802003602002002200229028c0637030841002d008083d480001a41c00041002802f482d48000118280808000002204450d072004200441076a41787120046b22066a220541cb81808000360238200542ada9e8dffceda4b57d3703302005429b9e90f4939ac781bb7f37032820054104360224200541f0c2c48000360220200541bc80808000360218200542ec8ca7e0e2f0c7e6bf7f370310200542e6e2dea393f0baf43a3703082005410d360204200541e3c2c480003602002005417e6a20063b000041002d008083d480001a41d00041002802f482d48000118280808000002204450d082004200441036a417c7120046b22066a2204412f36024c200441bdc6c48000360248200441d800360244200441e5c5c48000360240200441d80036023c2004418dc5c48000360238200441003602342004428e8080801037022c200441ffc4c48000360228200441d400360224200441abc4c480003602202004410036021c2004429c808080103702142004418fc4c48000360210200441cd0036020c200441c2c3c48000360208200441ce00360204200441f4c2c480003602002004417e6a20063b00002002420a3702fc03200220043602f80320024282808080a0013703f003200220053602ec03200241023602e803200241e9808080003602e003200242febac4ad81b6fafcb37f3703d80320024298848fa1dab08ba1743703d0032002410e3602cc03200241ecc6c480003602c80320024280808080103703c0032002418c066a200241c0036a41e8a2c4800010d38f80800041002d008083d480001a41e80041002802f482d48000118280808000002204450d092004200441036a417c7120046b22066a220541e400360264200541b7cbc480003602602005410936025c200541aecbc4800036025820054100360254200542aa8080801037024c20054184cbc48000360248200541d700360244200541adcac48000360240200541d80036023c200541d5c9c48000360238200541003602342005428d8080801037022c200541c8c9c48000360228200541db00360224200541edc8c48000360220200541dd0036021c20054190c8c4800036021820054100360214200542c98080801037020c200541c7c7c48000360208200541cd00360204200541fac6c480003602002005417e6a20063b0000200241286a41086a2002418c066a41086a2802003602002002200229028c0637032841002d008083d480001a410841002802f482d48000118280808000002204450d0a2004200441036a417c7120046b22066a2204413d360204200441a5d5c480003602002004417e6a20063b0000200242013702fc0320024280808080103703f0032002428080808080013703e803200241bb808080003602e003200242d7c9cb8fc1cf97db3e3703d803200242e88488d0c0e3aebc133703d003200241133602cc03200241e2d5c480003602c80320024280808080103703c003200220043602f8032002418c066a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a412041002802f482d48000118280808000002204450d0b2004200441036a417c7120046b22066a220741cc0036021c20074190d7c48000360218200741da00360214200741b6d6c480003602102007410036020c200742c180808010370204200741f5d5c480003602002007417e6a20063b0000200241c8006a41086a2002418c066a41086a2802003602002002200229028c0637034841002d008083d480001a411841002802f482d48000118280808000002204450d0c2004200441036a417c7120046b22066a220441c9003602142004418bafc480003602102004410036020c200442a480808010370204200441e7aec480003602002004417e6a20063b000041002d008083d480001a410841002802f482d48000118280808000002206450d0d2006200641036a417c7120066b22086a22064127360204200641e1afc480003602002006417e6a20083b0000200242013702cc0420024280808080103703c0042002428080808080013703b804200241ae818080003602b004200242a7bcf9c3b39ae0eee0003703a804200242daa1c8eabe88efa2da003703a0042002410b36029c0420024188b0c4800036029804200242033702fc03200220043602f80320024280808080303703f0032002428080808080013703e803200241cc818080003602e003200242e8f1ab89dc9bd5cbcd003703d8032002428088dcdfd8a6a6f7f4003703d0032002410d3602cc03200241d4afc480003602c80320024280808080203703c003200220063602c8042002418c066a200241c0036a41e8a2c4800010d08f80800041002d008083d480001a410841002802f482d48000118280808000002204450d0e2004200441036a417c7120046b22066a220b412e360204200b4193b0c48000360200200b417e6a20063b0000200241e8006a41086a2002418c066a41086a2802003602002002200229028c0637036841002d008083d480001a410841002802f482d48000118280808000002204450d0f2004200441036a417c7120046b22066a2209412336020420094193ddc480003602002009417e6a20063b000041002d008083d480001a412041002802f482d48000118280808000002204450d102004200441076a41787120046b22086a220641bb80808000360218200642d7c9cb8fc1cf97db3e370310200642e88488d0c0e3aebc1337030820064107360204200641badbc480003602002006417e6a20083b000041002d008083d480001a412041002802f482d48000118280808000002204450d112004200441036a417c7120046b22086a220441dd0036021c200441a8dec48000360218200441c100360214200441e7ddc480003602102004410036020c200442a980808010370204200441beddc480003602002004417e6a20083b000041002d008083d480001a411841002802f482d48000118280808000002208450d122008200841036a417c7120086b220c6a22084130360214200841c1dfc480003602102008410036020c200842a98080801037020420084198dfc480003602002008417e6a200c3b00002002420337029c0520024280808080303703900520024280808080800137038805200241cd8180800036028005200242d0fa9baea08488e9363703f804200242cf8ac1f6c5e79f97fc003703f004200241113602ec04200241f1dfc480003602e804200242043702cc04200220043602c80420024281808080c0003703c004200220063602bc04200241013602b804200241ce818080003602b004200242aec89194c3c1d181323703a804200242ccf2f9caccd1d8e4043703a0042002411336029c0420024185dfc4800036029804200242013702fc03200220093602f80320024280808080103703f0032002428080808080013703e80320024190818080003602e0032002429091d8d1efb08fcfac7f3703d80320024293e9bbb0a4a897e1093703d003200241083602cc03200241b6ddc480003602c80320024280808080303703c00320022008360298052002418c066a200241c0036a41e8a2c4800010c68f80800041002d008083d480001a410841002802f482d48000118280808000002204450d132004200441036a417c7120046b22066a220d41c000360204200d4182e0c48000360200200d417e6a20063b000020024188016a41086a2002418c066a41086a2802003602002002200229028c063703880141002d008083d480001a412041002802f482d48000118280808000002204450d142004200441076a41787120046b22066a220441eb8080800036021820044298a593acd1ceffcb9c7f3703102004429e8eaae68bb9afc6513703082004410736020420044194d9c480003602002004417e6a20063b000041002d008083d480001a410841002802f482d48000118280808000002206450d152006200641036a417c7120066b22086a220641303602042006419bd9c480003602002006417e6a20083b0000200242013702fc0320024281808080103703f003200220043602ec03200241013602e803200241bb808080003602e003200242d7c9cb8fc1cf97db3e3703d803200242e88488d0c0e3aebc133703d0032002410d3602cc03200241cbd9c480003602c80320024280808080103703c003200220063602f8032002418c066a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a410841002802f482d48000118280808000002204450d162004200441036a417c7120046b22066a220e4120360204200e41d8d9c48000360200200e417e6a20063b0000200241a8016a41086a2002418c066a41086a2802003602002002200229028c063703a80141002d008083d480001a412041002802f482d48000118280808000002204450d172004200441076a41787120046b22066a220841a381808000360218200842f38d9e99aae6a6ce6c370310200842cad8edf1c6aacd9b2837030820084109360204200841ecaac480003602002008417e6a20063b000041002d008083d480001a412041002802f482d48000118280808000002204450d182004200441036a417c7120046b22096a2206411336021c200641deabc48000360218200641ce0036021420064190abc480003602102006410036020c2006429b80808010370204200641f5aac480003602002006417e6a20093b000041002d008083d480001a410841002802f482d48000118280808000002204450d192004200441036a417c7120046b22096a220c411a360204200c4180acc48000360200200c417e6a20093b000041002d008083d480001a412041002802f482d48000118280808000002204450d1a2004200441076a41787120046b220f6a220941cf8180800036021820094299a499cca1fa87eb73370310200942a8b2cff08de2a4964a37030820094108360204200941a8acc480003602002009417e6a200f3b000041002d008083d480001a410841002802f482d48000118280808000002204450d1b2004200441036a417c7120046b22106a220f41cf00360204200f41b0acc48000360200200f417e6a20103b000041002d008083d480001a41c00041002802f482d48000118280808000002204450d1c2004200441076a41787120046b22106a220441cf8180800036023820044299a499cca1fa87eb73370330200442a8b2cff08de2a4964a3703282004410436022420044197adc48000360220200441c781808000360218200442ace3e28a9ae5b09fca00370310200442bce7dcece2f78ef4353703082004410536020420044192adc480003602002004417e6a20103b000041002d008083d480001a410841002802f482d48000118280808000002210450d1d2010201041036a417c7120106b22116a221041d5003602042010419badc480003602002010417e6a20113b0000200242013702ec05200220103602e80520024282808080103703e005200220043602dc05200241023602d805200241d0818080003602d00520024290f2eaa099f686cf0d3703c805200242e282bdd097c882cf9c7f3703c0052002410f3602bc05200241f0adc480003602b8052002420137029c052002200f360298052002428180808010370390052002200936028c052002410136028805200241a58180800036028005200242baa0bf87b8e4a48dae7f3703f804200242b5ffdaf2ae8ca6f8dd003703f004200241133602ec04200241ffacc480003602e804200242013702cc042002200c3602c80420024280808080103703c0042002428080808080013703b804200241a4818080003602b00420024283b0d291daeebdba827f3703a804200242eab2a8f28eb5b7f1343703a0042002410e36029c042002419aacc4800036029804200242043702fc03200220063602f80320024281808080c0003703f003200220083602ec03200241013602e803200241d1818080003602e003200242de90e486fea28889643703d8032002429dc894df91a9c8930b3703d0032002410f3602cc03200241f1abc480003602c80320024280808080c0003703c00320024184066a2002419c066a280200360200200241fc056a2002418c066a41086a2902003702002002200229028c063702f4052002418c066a200241c0036a41e8a2c4800010cf8f80800041002d008083d480001a410841002802f482d48000118280808000002204450d1e2004200441036a417c7120046b22066a221041dc00360204201041ffadc480003602002010417e6a20063b0000200241c8016a41086a2002418c066a41086a2802003602002002200229028c063703c80141002d008083d480001a41e00041002802f482d48000118280808000002204450d1f2004200441076a41787120046b22086a220641bc80808000360258200642ec8ca7e0e2f0c7e6bf7f370350200642e6e2dea393f0baf43a3703482006410a360244200641acbec48000360240200641a381808000360238200642f38d9e99aae6a6ce6c370330200642cad8edf1c6aacd9b2837032820064102360224200641aabec48000360220200641d281808000360218200642a4dcac8d98b3aee3d500370310200642f79e8faeb18d8189b27f37030820064106360204200641a4bec480003602002006417e6a20083b000041002d008083d480001a41c80041002802f482d48000118280808000002204450d202004200441036a417c7120046b22086a22044129360244200441bdc1c48000360240200441d10036023c200441ecc0c48000360238200441003602342004429f8080801037022c200441cdc0c48000360228200441d300360224200441fabfc48000360220200441d10036021c200441a9bfc48000360218200441d900360214200441d0bec480003602102004410036020c2004429a80808010370204200441b6bec480003602002004417e6a20083b0000200242093702fc03200220043602f8032002428380808090013703f003200220063602ec03200241d3818080003602e003200242fcd8a68dacf8d1e1a97f3703d803200242ebf5bacdbfc2d7eae4003703d003200241143602cc03200241e6c1c480003602c80320024280808080103703c003200241033602e8032002418c066a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a410841002802f482d48000118280808000002204450d212004200441036a417c7120046b22066a221141d300360204201141fac1c480003602002011417e6a20063b0000200241e8016a41086a2002418c066a41086a2802003602002002200229028c063703e80141002d008083d480001a412041002802f482d48000118280808000002204450d222004200441076a41787120046b22066a220441c88180800036021820044283b0d291daeebdba827f370310200442eab2a8f28eb5b7f134370308200441063602042004419da3c480003602002004417e6a20063b000041002d008083d480001a410841002802f482d48000118280808000002206450d232006200641036a417c7120066b22086a22064132360204200641a3a3c480003602002006417e6a20083b0000200242013702fc0320024281808080103703f003200220043602ec03200241013602e80320024184818080003602e003200242d9d1a5958acddccda77f3703d803200242bb82a2f99fad8c91c1003703d0032002410f3602cc03200241d5a3c480003602c80320024280808080103703c003200220063602f8032002418c066a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a410841002802f482d48000118280808000002204450d242004200441036a417c7120046b22066a22124119360204201241e4a3c480003602002012417e6a20063b000020024188026a41086a2002418c066a41086a2802003602002002200229028c063703880241002d008083d480001a412041002802f482d48000118280808000002204450d252004200441076a41787120046b22086a220641d48180800036021820064298b9c5cab1e2b7fc957f370310200642d0ead0b9d59684fe7337030820064104360204200641e49ec480003602002006417e6a20083b000041002d008083d480001a413841002802f482d48000118280808000002204450d262004200441036a417c7120046b22086a22044134360234200441aaa0c480003602302004410036022c200442ac80808010370224200441fe9fc480003602202004410036021c2004428f80808010370214200441ef9fc48000360210200441c20036020c200441ad9fc48000360208200441c500360204200441e89ec480003602002004417e6a20083b000041002d008083d480001a412041002802f482d48000118280808000002208450d272008200841076a41787120086b22096a220841ed8080800036021820084296e397c6bfa5aeee46370310200842aceff0b4f2bd8f8fe40037030820084107360204200841f3a0c480003602002008417e6a20093b000041002d008083d480001a411841002802f482d48000118280808000002209450d282009200941036a417c7120096b220c6a22094137360214200941a0a1c480003602102009410036020c200942a680808010370204200941faa0c480003602002009417e6a200c3b0000200242033702cc0420024281808080303703c004200220083602bc04200241013602b804200241d5818080003602b004200242e3c6cbf5efa783cc947f3703a804200242f5bafcd493b8fad7543703a0042002411336029c04200241d7a1c4800036029804200242073702fc03200220043602f80320024281808080f0003703f003200220063602ec03200241013602e803200241ed808080003602e00320024296e397c6bfa5aeee463703d803200242aceff0b4f2bd8f8fe4003703d003200241153602cc03200241dea0c480003602c80320024280808080203703c003200220093602c8042002418c066a200241c0036a41e8a2c4800010d08f80800041002d008083d480001a410841002802f482d48000118280808000002204450d292004200441036a417c7120046b22066a2213411a360204201341f8a2c480003602002013417e6a20063b0000200241a8026a41086a2002418c066a41086a2802003602002002200229028c063703a80241002d008083d480001a410841002802f482d48000118280808000002204450d2a2004200441036a417c7120046b22066a2204412936020420044190e6c480003602002004417e6a20063b0000200242013702fc0320024280808080103703f0032002428080808080013703e80320024199818080003602e003200242a5e9e3ab9e929adc2c3703d80320024293888c8f89fdc6ec9e7f3703d003200241123602cc03200241b9e6c480003602c80320024280808080103703c003200220043602f803200241c4026a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a412041002802f482d48000118280808000002204450d2b2004200441076a41787120046b22086a220641c88180800036021820064283b0d291daeebdba827f370310200642eab2a8f28eb5b7f134370308200641063602042006419da3c480003602002006417e6a20083b000041002d008083d480001a412041002802f482d48000118280808000002204450d2c2004200441036a417c7120046b22086a2204412a36021c200441fdd2c480003602182004413d360214200441c0d2c480003602102004410036020c200442a78080801037020420044199d2c480003602002004417e6a20083b0000200242043702fc0320024281808080c0003703f003200220063602ec03200241013602e803200241d6818080003602e00320024280f4889199f9eab9ea003703d803200242a29a9da8a1f3edd6de003703d003200241163602cc03200241a7d3c480003602c80320024280808080103703c003200220043602f8032002418c066a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a412841002802f482d48000118280808000002204450d2d2004200441036a417c7120046b22066a220841cd00360224200841c4d4c48000360220200841c00036021c20084184d4c4800036021820084111360214200841f3d3c480003602102008410036020c200842b680808010370204200841bdd3c480003602002008417e6a20063b0000200241e0026a41086a2002418c066a41086a2802003602002002200229028c063703e00241002d008083d480001a412041002802f482d48000118280808000002204450d2e2004200441076a41787120046b22066a220c41ed80808000360218200c4296e397c6bfa5aeee46370310200c42aceff0b4f2bd8f8fe400370308200c4104360204200c41c0b1c48000360200200c417e6a20063b000041002d008083d480001a41d00041002802f482d48000118280808000002204450d2f2004200441036a417c7120046b22096a2206411736024c200641feb4c48000360248200641d700360244200641a7b4c480003602402006410036023c2006428d808080103702342006419ab4c48000360230200641d50036022c200641c5b3c48000360228200641d500360224200641f0b2c48000360220200641ca0036021c200641a6b2c4800036021820064100360214200642898080801037020c2006419db2c48000360208200641d900360204200641c4b1c480003602002006417e6a20093b000041002d008083d480001a412041002802f482d48000118280808000002204450d302004200441076a41787120046b22096a220f41d781808000360218200f42b7a9abed8fb290f454370310200f42a0d7dbf0a295ea9810370308200f4102360204200f41a0b5c48000360200200f417e6a20093b000041002d008083d480001a41f00041002802f482d48000118280808000002204450d312004200441036a417c7120046b22096a2204412136026c200441b7bbc48000360268200441d800360264200441dfbac48000360260200441d90036025c20044186bac48000360258200441d300360254200441b3b9c48000360250200441d80036024c200441dbb8c48000360248200441d40036024420044187b8c48000360240200441c80036023c200441bfb7c4800036023820044100360234200442988080801037022c200441a7b7c48000360228200441d200360224200441d5b6c48000360220200441d50036021c20044180b6c4800036021820044100360214200442868080801037020c200441fab5c48000360208200441d800360204200441a2b5c480003602002004417e6a20093b000041002d008083d480001a412041002802f482d48000118280808000002209450d322009200941036a417c7120096b22146a220941c00036021c2009418ebdc48000360218200941d800360214200941b6bcc480003602102009410036020c200942d480808010370204200941e2bbc480003602002009417e6a20143b00002002420437029c0520024280808080c0003703900520024280808080800137038805200241d88180800036028005200242f0c489e8f6a6c3a5db003703f804200242e4ece5f3a7b7f1862d3703f0042002410c3602ec04200241cebdc480003602e8042002420e3702cc04200220043602c80420024281808080e0013703c0042002200f3602bc04200241013602b804200241d4818080003602b00420024298b9c5cab1e2b7fc957f3703a804200242d0ead0b9d59684fe733703a0042002410a36029c04200241d8bbc48000360298042002420a3702fc03200220063602f80320024281808080a0013703f0032002200c3602ec03200241013602e803200241d9818080003602e003200242cc95d4c5e6fafd8e413703d803200242a8bcd1c1dcdb86ac3f3703d0032002410b3602cc0320024195b5c480003602c80320024280808080303703c0032002200936029805200241b4056a2002419c066a280200360200200241ac056a2002418c066a41086a22092902003702002002200229028c063702a4052002418c066a200241c0036a41e8a2c4800010c68f80800041002d008083d480001a410841002802f482d48000118280808000002204450d332004200441036a417c7120046b220c6a2206413c360204200641dabdc480003602002006417e6a200c3b000020024180036a41086a20092802003602002002200229028c063703800341002d008083d480001a410841002802f482d48000118280808000002204450d342004200441036a417c7120046b22096a2204412c3602042004418ed1c480003602002004417e6a20093b0000200242013702fc0320024280808080103703f0032002428080808080013703e803200241c5808080003602e003200242cdd1c1cbe3b5a3c4443703d803200242b9e0ddc2f1d2dbbf4c3703d0032002410c3602cc03200241bad1c480003602c80320024280808080103703c003200220043602f8032002418c066a200241c0036a41e8a2c4800010ce8f80800041002d008083d480001a410841002802f482d48000118280808000002204450d352004200441036a417c7120046b220c6a220941c300360204200941c6d1c480003602002009417e6a200c3b0000200241a0036a41086a2002418c066a41086a2802003602002002200229028c063703a00341002d008083d480001a411841002802f482d48000118280808000002204450d362004200441036a417c7120046b220c6a2204413a360214200441e1ccc480003602102004410036020c200442ae80808010370204200441b3ccc480003602002004417e6a200c3b0000200242033702fc0320024280808080303703f0032002428080808080013703e803200241bb808080003602e003200242d7c9cb8fc1cf97db3e3703d803200242e88488d0c0e3aebc133703d003200241113602cc032002419bcdc480003602c80320024280808080103703c003200220043602f8032002418c066a200241c0036a41e8a2c4800010d38f80800041002d008083d480001a41c00041002802f482d480001182808080000022040d37410441c00010ab80808000000b410441c80610ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b410841c00010ab80808000000b410441d00010ab80808000000b410441e80010ab80808000000b4104410810ab80808000000b4104412010ab80808000000b4104411810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104412010ab80808000000b4104411810ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104412010ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104410810ab80808000000b410841c00010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b410841e00010ab80808000000b410441c80010ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104413810ab80808000000b4108412010ab80808000000b4104411810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4108412010ab80808000000b4104412010ab80808000000b4104412810ab80808000000b4108412010ab80808000000b410441d00010ab80808000000b4108412010ab80808000000b410441f00010ab80808000000b4104412010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104411810ab80808000000b2004200441036a417c7120046b220c6a220441c90036023c200441b6d0c48000360238200441de00360234200441d8cfc48000360230200441dd0036022c200441fbcec4800036022820044100360224200442d78080801037021c200441a4cec48000360218200441d300360214200441d1cdc480003602102004410036020c200442a580808010370204200441accdc480003602002004417e6a200c3b0000200241b0036a41086a220c2002418c066a41086a220f2802003602002002200229028c063703b00320034100360200200320022902183702042003410c6a200241186a41086a290200370200200320022903083702142003411c6a200241086a41086a2802003602002003410036023820034284808080d0003702302003418fddc4800036022c200341013602282003200a360224200341013602202003200229023837023c200341c4006a200241386a41086a290200370200200341d4006a200241286a41086a2802003602002003200229032837024c2003410036027020034298808080203702682003419bccc480003602642003410d3602602003200536025c2003410d360258200341fc006a200241d8006a41086a290200370200200320022902583702742003418c016a200241c8006a41086a2802003602002003200229034837028401200341003602a80120034294808080103702a001200341dcd7c4800036029c01200341043602980120032007360294012003410436029001200341b4016a200241f8006a41086a290200370200200320022902783702ac01200341c4016a200241e8006a41086a280200360200200320022903683702bc01200341003602e00120034287808080103702d801200341c1b0c480003602d401200341013602d0012003200b3602cc01200341013602c801200341ec016a20024198016a41086a29020037020020032002290298013702e401200341fc016a20024188016a41086a28020036020020032002290388013702f4012003410036029802200342888080802037029002200341c2e0c4800036028c0220034101360288022003200d360284022003410136028002200341a4026a200241b8016a41086a290200370200200320022902b80137029c02200341b4026a200241a8016a41086a280200360200200320022903a8013702ac02200341003602d0022003428f808080103702c802200341f8d9c480003602c402200341013602c0022003200e3602bc02200341013602b802200341dc026a200241d8016a41086a290200370200200320022902d8013702d402200341ec026a200241c8016a41086a280200360200200320022903c8013702e40220034100360288032003428c808080e00037028003200341dbaec480003602fc02200341013602f802200320103602f402200341013602f00220034194036a200241f8016a41086a290200370200200320022902f80137028c03200341a4036a200241e8016a41086a280200360200200320022903e80137029c03200341003602c00320034296808080303702b803200341cdc2c480003602b403200341013602b003200320113602ac03200341013602a803200341cc036a20024198026a41086a29020037020020032002290298023702c403200341dc036a20024188026a41086a28020036020020032002290388023702d403200341003602f80320034291808080203702f003200341fda3c480003602ec03200341013602e803200320123602e403200341013602e00320034184046a200241b4026a41086a290200370200200320022902b4023702fc0320034194046a200241a8026a41086a280200360200200320022903a80237028c04200341003602b0042003428b808080103702a80420034192a3c480003602a404200341013602a0042003201336029c042003410136029804200341bc046a200241d0026a41086a290200370200200320022902d0023702b404200341cc046a200241c4026a41086a280200360200200320022902c4023702c404200341003602e80420034290808080103702e004200341cbe6c480003602dc04200341003602d80420034280808080c0003702d004200341f4046a200241f0026a41086a290200370200200320022902f0023702ec0420034184056a200241e0026a41086a280200360200200320022903e0023702fc04200341003602a00520034294808080303702980520034191d5c480003602940520034105360290052003200836028c052003410536028805200341ac056a20024190036a41086a29020037020020032002290290033702a405200341bc056a20024180036a41086a28020036020020032002290380033702b405200341003602d8052003428e808080103702d00520034196bec480003602cc05200341013602c805200320063602c405200341013602c005200341e4056a200f2902003702002003200229028c063702dc05200341f4056a200241a0036a41086a280200360200200320022903a0033702ec05200341003602900620034290808080103702880620034189d2c48000360284062003410136028006200320093602fc05200341013602f8052003419c066a200241c0036a41086a290200370200200320022902c00337029406200341ac066a200c280200360200200320022903b0033702a4062003428f808080103702c006200341ffd0c480003602bc06200341083602b806200320043602b406200341083602b0062000410f360208200020033602042000410f360200200241a0066a2480808080000bbc0301037f23808080800041306b220224808080800041002d008083d480001a02400240411041002802f482d48000118280808000002203450d002003200341036a417c7120036b22046a220341f4e6c4800036020c2003410136020820034281808080103702002003417e6a20043b00002002412c6a200141206a2d00003a0000200241246a200141186a2900003702002002411c6a200141106a290000370200200241146a200141086a2900003702002002200129000037020c2002200336020841002d008083d480001a411041002802f482d48000118280808000002201450d012001200141036a417c7120016b22046a220141dce6c4800036020c2001410136020820014281808080103702002001417e6a20043b000020032003280200417f6a2204360200024020040d00200241086a10ca878080000b2002200136020820002002290208370200200041086a200241086a41086a290200370200200041106a200241086a41106a290200370200200041186a200241086a41186a290200370200200041206a200241086a41206a290200370200200241306a2480808080000f0b4104411010ab80808000000b4104411010ab80808000000b040041010bb60503057f017e027f23808080800041d0006b2201248080808000200141286a41a3eac48000410b41f8e3c4800041144104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a419c91c3800010f38e808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41f8e7c480004106108884808000200141106a200141c0006a41e9e7c48000410f10d383808000200141c0006a200141106a41e0e7c48000410910e183808000200141106a200141c0006a41d3e7c48000410d109b84808000200141c0006a200141106a41cbe7c48000410810f283808000200141106a200141c0006a41c7e7c48000410410ad84808000200141c0006a200141106a41abe7c48000410a10cb84808000200141346a200141c0006a41a4e7c48000410710b7848080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a419c91c3800010f48e80800002402007418080808078470d0041bc91c38000411141d091c3800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a0e0c6800010f38e808000200141106a410b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000be70403057f017e027f23808080800041d0006b2201248080808000200141286a41aeeac48000410c41f8e3c4800041144104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a419c91c3800010f38e808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41f8e7c48000410610dc83808000200141106a200141c0006a41e9e7c48000410f109484808000200141c0006a200141106a41cbe7c48000410810c084808000200141106a200141c0006a41c7e7c48000410410b084808000200141346a200141106a41a4e7c48000410710f8838080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a419c91c3800010f48e80800002402007418080808078470d0041bc91c38000411141d091c3800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bc20303057f017e017f23808080800041d0006b2201248080808000200141286a41c6eac48000410741f8e3c4800041144104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a419c91c3800010f38e808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c210620012802282107200142808080808001370248200142888080808001370240200141346a200141c0006a419c91c3800010f58e80800002402007418080808078470d0041bc91c38000411141d091c3800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bf40502027f027e23808080800041c0006b220124808080800020004191016a10d08d8080004194e8c4800041024101410041002802dc82d4800011838080800000200028026c2102200142d8c192ad8deac8dd3f37002720014284ceb68ad8c4c79c8f7f37001f200142e7eacab6b7c9acbc263700172001428de2fdb2e288b2fcd70037000f200120023602302001410f6a4120200141306a410441002802dc82d4800011838080800000200010c98c80800041002102024020002d00704101470d00200141286a20004189016a290000370000200141206a20004181016a290000370000200141186a200041f9006a29000037000020012000290071370010410121020b200120023a000f2001410f6a10f088808000410110ed888080002000290330210320002903382104200142e3e3aca5e7a8ebef5c370027200142bfdcfcdef39bce8e6b37001f200142dbd4b188d8cab88410370017200142bfa89c83ea92efeb1a37000f20012004370338200120033703302001410f6a4120200141306a411041002802dc82d480001183808080000041efe2c48000411a4196e8c48000410441002802dc82d4800011838080800000200041c0006a10c38c8080002000280264200028026810cf8680800020014282fceae49dd9e2861d370027200142de8c84a1ecd0a6d30c37001f20014289df9d82f381819238370017200142d7f0f3fea28baccae70037000f200141306a2001410f6a412010e885808000024002402001280230418080808078460d00200141086a200141306a41086a2802003602002001200129023022033703002003a74521000c010b200141003602082001428080808010370300410121000b20014282fceae49dd9e2861d370027200142de8c84a1ecd0a6d30c37001f20014284c2b1b3ef9292841e370017200142bce2f4b8c5daf6fa2937000f20012001410f6a412010f784808000024020000d00200128020422002000417e6a2f00006b41002802ec82d48000118180808000000b10f68d808000200141c0006a2480808080000bbd0303057f017e017f23808080800041c0006b2201248080808000200141246a41d0e8c48000411141f8e3c4800041144104410010c2928080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a419c91c3800010f38e808000200141086a22022001410c6a41146a28020036020020012001290218370300200128020c21032001280210210420012802142105200129022821062001280224210720014284808080c00037020c20014280808080c000370214200141306a2001410c6a419c91c3800010f48e80800002402007418080808078470d0041bc91c38000411141d091c3800010a181808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41a0e0c6800010f38e808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bd50601037f23808080800041c0006b2202248080808000200241003602142002410036020c200241808080807836020002400240200241e1e8c48000410620014191016a2203109b8e80800022040d00200241e7e8c48000410f2003109c8e80800022040d00200241f6e8c48000410d200141ec006a10a78e80800022040d0020024183e9c4800041082001109a8e80800022040d0020024190e8c480004104200141f0006a10a48e80800022040d002002418be9c480004112200141306a10a18e80800022040d002002419de9c48000410a2003109b8e80800022040d00200241a7e9c480004107200141c0006a10a98e80800022040d00200241e4e3c480004104200141e0006a10a08e80800022040d00200241aee9c4800041072003109b8e80800022040d00200241186a41106a200241106a290200370300200241186a41086a200241086a290200370300200220022902003703182000200241186a1090938080000c010b200041063a00002000200436020402402002280200418180808078460d0002400240200228020c22000d0041002100410021040c010b200220022802102204360234200220003602302002410036022c20022004360224200220003602202002410036021c41012100200228021421040b200220043602382002200036022820022000360218200241186a10c789808000200228020041808080807872418080808078460d01200228020422002000417e6a2f00006b41002802ec82d48000118180808000000c010b024002400240024020022d00040e0704040102030004000b02400240200228020822000d0041002100410021040c010b2002200228020c2204360234200220003602302002410036022c20022004360224200220003602202002410036021c41012100200228021021040b200220043602382002200036022820022000360218200241186a10c7898080000c030b2002280208450d02200228020c22002000417e6a2f00006b41002802ec82d48000118180808000000c020b2002280208450d01200228020c22002000417e6a2f00006b41002802ec82d48000118180808000000c010b200241086a10a18f8080002002280208450d00200228020c22002000417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000b880401037f23808080800041206b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136021020024180023b010c02402002410c6a41e1e8c48000410620004191016a220410c38d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a41e7e8c48000410f200410c08d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a41f6e8c48000410d200041ec006a10c28d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a4183e9c480004108200010c48d80800022030d002002410c6a200041f0006a10a98680800022030d002002410c6a200041306a10a68680800022030d002002410c6a200410a88680800022030d002002410c6a200041c0006a10a78680800022030d002002410c6a200041e0006a10a48680800022030d002002410c6a200410a58680800022030d0041002103200228020c22044180fe0371450d0020044101710d00200228021028020041a49ec48000410141b0e1c4800010988f8080000b200241206a24808080800020030ba003000240024002400240024002400240024002400240024002402002417c6a0e0f050807060208040808010800080803080b200141e7e8c48000410f10f5978080000d07200041013a0001200041003a00000f0b200141f6e8c48000410d10f5978080000d06200041023a0001200041003a00000f0b200129000042e2c2b18be6edd8b2f300520d05200041033a0001200041003a00000f0b2001418be9c48000411210f5978080000d04200041053a0001200041003a00000f0b2001419de9c48000200210f5978080000d03200041063a0001200041003a00000f0b200128000041f3ea91fb06460d04200128000041e1eac98b06470d02200041083a0001200041003a00000f0b200141a7e9c48000200210f597808000450d02200141aee9c48000200210f5978080000d01200041093a0001200041003a00000f0b200141e1e8c48000410610f597808000450d030b20002001200241b8e9c48000410a10a88a808000360204200041013a00000f0b200041073a0001200041003a00000f0b200041043a0001200041003a00000f0b200041003a0001200041003a00000b850703067f017e017f23808080800041d0006b2201248080808000200141286a41c48bc58000411241888cc58000412810c192808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041800141002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241c381808000360278200242c7e5d4cefcfb8ae85b370370200242aa98a18e868390a7e20037036820024105360264200241c08cc58000360260200241c481808000360258200242d8d5ffd5ad9feab179370350200242efd6c9f6c7c9e7f5ac7f37034820024109360244200241b78cc58000360240200241c281808000360238200242cc8e8fa3bac0d9ce17370330200242b5cb9ae1a0c5fe9d7e37032820024104360224200241cf80c58000360220200241ee80808000360218200242d6eed5b5f78482842237031020024297c889b7d487feb0dd0037030820024107360204200241b08cc580003602002002417e6a20033b00002001410436024820012002360240200120024180016a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242aceff0b4f2bd8f8fe4003703002002410036023020024280808080c0003703282002410036022020024100360218200241ed8080800036021020024296e397c6bfa5aeee463703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841800110ab80808000000b41bc91c38000411141d091c3800010a181808000000bd50702047f027e23808080800041106b220124808080800041002d008083d480001a024041c00141002802f482d48000118280808000002202450d002002200241076a417871220320026b22046a220241dd818080003602b801200242a585c7bdbbd6f584867f3703b001200242a9b3dfe8d4c9cd89a97f3703a801200241de818080003602a001200242de8bd9ffa7fab0d56a37039801200242a2bae48de7f687ed0b37039001200241df8180800036028801200242cfaac1e1eabd91b70237038001200242eca4dfafe394e4be70370378200241e081808000360270200242c5f685f793b1e6e2ad7f370368200242c2c9d9b5a4d0d8f8a67f370360200241e181808000360258200242c0dd8cbdc2bffaba2e37035020024282eb90ef9fd2db9eb37f370348200241e281808000360240200241e381808000360228200241e4818080003602102002417e6a20043b0000200242fe86b386a79ebd9ac000370308200242f48590aaeaaefbb3213703002002428484bbd38cc2a7d167370318200242d0aeacd8f79afcc705370320200242f888b0f8c4dc91b1b07f370330200242e8d49ab3fb86eeaca17f37033820022903502105024002402002290348220642f6a1d3feb29c80da987f520d00200542d08f91acc69ac4b069520d00200241c8006a21040c010b2002200537035020022006370348200241e0006a21040b20022903682105024002402002290360220642f6a1d3feb29c80da987f520d00200542d08f91acc69ac4b069510d010b200420063703002004200229037037031020042005370308200441186a21040b2002290380012105024002402002290378220642f6a1d3feb29c80da987f520d00200542d08f91acc69ac4b069510d010b20042002290388013703102004200537030820042006370300200441186a21040b200229039801210502400240200229039001220642f6a1d3feb29c80da987f520d00200542d08f91acc69ac4b069510d010b200420022903a0013703102004200537030820042006370300200441186a21040b20022903b00121050240024020022903a801220642f6a1d3feb29c80da987f520d00200542d08f91acc69ac4b069510d010b200420022903b8013703102004200537030820042006370300200441186a21040b200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200420036b41186e36020c2000200236020820004108360204200041043a0000200141106a2480808080000f0b410841c00110ab80808000000ba90402067f017e23808080800041d0006b2201248080808000200141286a41ffeec48000410d41c486c5800041284104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c210720012802282103200142808080808001370248200142888080808001370240200141346a200141c0006a419c91c3800010f58e8080002003418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002003360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bbe1105037f017e027f027e037f23808080800041a0046b2203248080808000200342003703002003200136020802400240200128020422040d004100210542012106410121070c010b20012004417f6a220536020420012001280200220441016a3602002003420137030020042d0000210441002107420221060b024002400240024020074101710d002004413f71210702400240200441fe01714104470d00420221060c010b024002402007417c6a0e020100030b200441407141ff017141c000470d020240024020050d00410121010c010b20012005417f6a36020420012001280200220441016a3602002003200637030020042d00002108410021010b20014101710d02200341a0016a200310bf8680800020032903a0014202510d02200341106a41186a200341a0016a41186a2903002206370300200341106a41106a200341a0016a41106a290300220937030020034196036a200341c3016a2d00003a0000200341a7036a20032903a801220a370000200341b7036a2006370000200341af036a20093700002003200a370318200320032903a0012206370310200320032f00c1013b0194032003200637009f0320032d00c001210420032802c401210520032802c801210120032802cc01210b420421060c010b200441187441187541404e0d01200341a0016a200310ec8e80800020032d00a00122044105460d01200341b2026a20032d00a3013a0000200341c8036a200341b9016a290000370300200341cf036a200341c0016a280000360000200320032f00a1013b01b002200320032900b1013703c003024002402003280208220728020422010d004100210c410121080c010b20072001417f6a220c36020420072007280200220141016a3602002003427f200329030042017c22062006501b37030020012d0000210d410021080b20032802a401210520032802a8012101024020084101710d0020032802ac01210b20032d00b001210802400240024002400240200d41ff01710e0400010203050b200c41c000490d042007200c41406a36020420072007280200220c41c0006a360200200341d8036a41106a200c41106a290000370300200341d8036a41186a200c41186a290000370300200341d8036a41206a200c41206a290000370300200341d8036a41286a200c41286a290000370300200341d8036a41306a200c41306a290000370300200341d8036a41386a200c41386a2900003703002003427f2003290300220642c0007c220920092006541b370300200341d8036a41086a200c41086a2900003703002003200c2900003703d8030c030b200c41c000490d032007200c41406a36020420072007280200220c41c0006a360200200341d8036a41106a200c41106a290000370300200341d8036a41186a200c41186a290000370300200341d8036a41206a200c41206a290000370300200341d8036a41286a200c41286a290000370300200341d8036a41306a200c41306a290000370300200341d8036a41386a200c41386a2900003703002003427f2003290300220642c0007c220920092006541b370300200341d8036a41086a200c41086a2900003703002003200c2900003703d8030c020b200c41c100490d022007200c41bf7f6a36020420072007280200220c41c1006a3602002003427f2003290300220642c1007c220920092006541b370300200341d8036a200c41c10010f4978080001a0c010b200c41c100490d012007200c41bf7f6a36020420072007280200220c41c1006a3602002003427f2003290300220642c1007c220920092006541b370300200341d8036a200c41c10010f4978080001a0b200341a0016a200310bf8680800020032903a00122064202510d0020034198036a41086a200341b1016a290000370300200341a8036a200341b9016a290000370300200341b0036a200341c1016a290000370300200341b7036a200341c8016a29000037000020034180036a41086a200341c0036a41086a29030037030020034180036a410f6a200341c0036a410f6a280000360000200320032900a90137039803200320032903c0033703800320032d00a8012107200341bf026a200341d8036a41c10010f4978080001a20034194036a41026a200341b0026a41026a2d00003a0000200320032f01b0023b0194030c010b20044102470d012005450d0120012001417e6a2f00006b41002802ec82d48000118180808000000c010b200341003602c80320034280808080103702c003200320033602cc032003428080808090808080013702b4022003200341c0036a3602b002200341a0016a200341b0026a10fe8580800020032802a0014108470d012000420537030020032802c003450d0220032802c40322002000417e6a2f00006b41002802ec82d48000118180808000000c020b200042053703000c020b200341106a200341a0016a41900110f4978080001a024020032903002002ad520d002000200329039803370009200020032f0194033b00312000200329038003370041200041286a200341b7036a290000370000200041216a200341b0036a290300370000200041196a200341a8036a290300370000200041116a20034198036a41086a290300370000200041336a20034196036a2d00003a0000200041c9006a20034180036a41086a290300370000200041d0006a2003418f036a280000360000200041d5006a200341bf026a41c10010f4978080001a200041a0016a200341106a41900110f4978080001a2000200d3a0054200020083a00402000200b36023c2000200136023820002005360234200020043a0030200020073a000820002006370300200041b8026a200341c0036a41086a280200360200200020032902c0033702b0020c020b20032802c403210720004205370300024020032802c00341808080807872418080808078460d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200341106a10c0868080000b2006427e7c4203540d00200441ff01714102470d002005450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200341a0046a2480808080000ba50304047f017e017f037e23808080800041306b2202248080808000024002402001280208220328020422040d0041002105410121040c010b20032004417f6a220536020420032003280200220441016a3602002001427f200129030042017c22062006501b37030020042d00002107410021040b02400240024020044101710d0002400240200741ff01710d00420021080c010b0240024020050d00410121030c010b20032005417f6a36020420032003280200220441016a3602002001427f200129030042017c22062006501b37030020042d00002104410021030b20034101710d012007ad2206420f832209500d01420121082004ad42ff0183420886200642f001838442048842022009862206420c8842012009420b561b7e220920065a0d010b200241086a200110d28480800020022802084101710d00200228020c2103200241106a200110d9848080002002280210410171450d010b200042023703000c010b2002290320210a200020022903283703282000200a370320200020093703102000200637030820002003360218200020083703000b200241306a2480808080000bd90d01077f0240024002400240024002400240024020002802000e080102070703040500010b20002802084104470d06200028020c450d06200028021021010c050b0240024002400240024002400240024020002d0008417f6a0e0a010d0203040506070d0d000b200028020c450d0c200028021021010c0b0b200028020c450d0b200028021021010c0a0b200028020c450d0a200028021021010c090b200028020c450d09200028021021010c080b2000410c6a10a68f808000200028020c450d08200028021021010c070b2000410c6a10aa8f808000200028020c450d07200028021021010c060b2000280210450d06200028021421010c050b200028020c450d05200028021021010c040b024020002802042201418080808078470d002000280208450d05200028020c21010c040b02402001450d00200028020822012001417e6a2f00006b41002802ec82d48000118180808000000b200041d0006a10a688808000200028023c2102024020002802402203450d0041002104034002402002200441f0006c6a22052802082206450d00200528020421010340024020012d0000220741034b0d00200120074102744184cfc580006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012006417f6a22060d000b0b02402005280200450d00200528020422012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280238450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802442201418080808078460d002001450d00200028024822012001417e6a2f00006b41002802ec82d48000118180808000000b20002802602104024020002802642201450d002001410171210241002106024020014101460d002001417e7121052004210141002106034002402001280200450d00200141046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012005200641026a2206470d000b0b2002450d00200420064104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200028025c450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402000280268450d00200028026c22012001417e6a2f00006b41002802ec82d48000118180808000000b200028027821040240200028027c2207450d002007410171210241002106024020074101460d002004411c6a21012007417e7121054100210603400240200141686a280200450d002001416c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141286a21012005200641026a2206470d000b0b2002450d002004200641146c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402000280274450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200028028001450d0420002802840121010c030b024002400240024002400240024020002d0010417f6a0e07000102030405060a0b20002d00144102470d092000280218450d09200028021c21010c080b024020002d00144102470d002000280218450d00200028021c22012001417e6a2f00006b41002802ec82d48000118180808000000b20002d00384102470d08200028023c450d08200028024021010c070b20002d00144102470d072000280218450d07200028021c21010c060b20002d00144102470d062000280218450d06200028021c21010c050b20002d00144102470d052000280218450d05200028021c21010c040b2000280214450d04200028021821010c030b20002d00144102470d032000280218450d03200028021c21010c020b024002400240024020002d00082201417c6a41042001417b6a41ff01714105491b417f6a0e0400010203060b200028020c220110c0868080000c040b2000280220220110c0868080000c030b20002d000c4102470d032000280210450d03200028021421010c020b024020014102470d00200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b200028022c220110c0868080000c010b20002802042201418480808078480d012001450d01200028020821010b20012001417e6a2f00006b41002802ec82d48000118180808000000b0ba00a01037f23808080800041106b2202248080808000024002400240024002400240024020002802000e06000102030405000b20022000410c6a360204200128020041a8f0c480004114200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41bcf0c480004109200041046a41f8efc48000108a8180800041c5f0c480004112200041086a4188f0c48000108a8180800041d7f0c480004112200241046a4198f0c48000108a81808000210420022d000d220120022d000c220372210020014101470d0520034101710d050240200428020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c060b200028020041dc80c280004101200028020428020c1180808080000021000c050b20022000410c6a360204200128020041e9f0c480004111200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41bcf0c480004109200041046a41f8efc48000108a8180800041faf0c48000410f200041086a4188f0c48000108a818080004189f1c48000410f200241046a4198f0c48000108a81808000210420022d000d220120022d000c220372210020014101470d0420034101710d040240200428020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c050b200028020041dc80c280004101200028020428020c1180808080000021000c040b2002200041086a36020420012802004198f1c480004113200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41c5f0c480004112200041046a4188f0c48000108a8180800041d7f0c480004112200241046a4198f0c48000108a81808000210420022d000d220120022d000c220372210020014101470d0320034101710d030240200428020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c040b200028020041dc80c280004101200028020428020c1180808080000021000c030b2002200041086a360204200128020041abf1c480004110200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41faf0c48000410f200041046a4188f0c48000108a818080004189f1c48000410f200241046a4198f0c48000108a81808000210420022d000d220120022d000c220372210020014101470d0220034101710d020240200428020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c030b200028020041dc80c280004101200028020428020c1180808080000021000c020b2002200041086a360204200128020041bbf1c480004114200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41cff1c480004109200041046a4188f0c48000108a8180800041d8f1c480004106200241046a4198f0c48000108a81808000210420022d000d220120022d000c220372210020014101470d0120034101710d010240200428020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c020b200028020041dc80c280004101200028020428020c1180808080000021000c010b200128020041def1c48000411e200128020428020c1180808080000021000b200241106a24808080800020004101710be40501047f2380808080004190016b220124808080800020014289df9d82f381819238370016200142d7f0f3fea28baccae70037000e200141cc006a2001410e6a411041002802bc82d480001186808080000002400240200128024c2202418080808078460d0020012802502103024020012802544110490d002001410e6a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d0120004200370300200041086a42003703000c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b011e41002102024041002802b483d4800041024d0d0020014104360224200141a0e7c48000360220200141e581808000ad4220862001411e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370284012001410336027c20014184f3c4800036027820014116360274200141a1edc480003602702001410336026c200141d8ecc48000ad428080808090098437026420014100360260200141b7edc48000ad4280808080b002843702582001410036025420014281808080f00937024c2002419cf4ca8000200441024622041b28021021022001200141286a36028001200341b4f4ca800020041b200141cc006a2002118b808080000020012f011e21020b200141cc006a41a0e7c48000410441002802d480d4800011868080800000200141cc006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141cc006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141cc006a41086a2900003703002001200129004c370328200120023b014c200141286a4120200141cc006a410241002802dc82d4800011838080800000200041086a4200370300200042003703000b20014190016a2480808080000bbc0201047f23808080800041306b22022480808080002002200036020c4101210002402001280200220341a8ccc58000410e2001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110a5858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a5858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000be40501047f2380808080004190016b2201248080808000200142a988d1e9f0b7bbcf9c7f370016200142dc9ac4b0d794dae07937000e200141cc006a2001410e6a411041002802bc82d480001186808080000002400240200128024c2202418080808078460d0020012802502103024020012802544110490d002001410e6a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d0120004200370300200041086a42003703000c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b011e41002102024041002802b483d4800041024d0d0020014104360224200141c7e7c48000360220200141e581808000ad4220862001411e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370284012001410336027c20014184f3c4800036027820014116360274200141a1edc480003602702001410336026c200141caedc48000ad42808080809009843702642001410036026020014193eec48000ad4280808080b002843702582001410036025420014281808080c01237024c2002419cf4ca8000200441024622041b28021021022001200141286a36028001200341b4f4ca800020041b200141cc006a2002118b808080000020012f011e21020b200141cc006a41c7e7c48000410441002802d480d4800011868080800000200141cc006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141cc006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141cc006a41086a2900003703002001200129004c370328200120023b014c200141286a4120200141cc006a410241002802dc82d4800011838080800000200041086a4200370300200042003703000b20014190016a2480808080000b8926030a7f027e0b7f2380808080004190056b220224808080800002400240024002400240024020012802002203450d002001280204210420032105034041002106024020052f01e2012207450d00200541e4006a210820074103742109410021062005210a0340024041baf5c48000200a410810f597808000220b41004a200b4100486b41ff0171220b4101460d00200b0d0220022008417c6a290200370228200241e8026a200241286a109b8580800020022802e802220a418080808078460d0620024190016a41086a200241fd026a290000370300200241a0016a20024185036a290000370300200241a8016a2002418d036a290000370300200241b0016a20024195036a290000370300200241b8016a2002419d036a290000370300200241bf016a200241a4036a280000360000200220022900f5023703900120022900ed02210c20022d00ec02210520022802a803210920022802ac03210820022802b003210b20022802b403210620022902b803210d200241386a41086a200241c8036a280200360200200241d8026a41086a200241d4036a280200360200200220022902c003370338200220022902cc033703d8020c050b2008410c6a2108200a41086a210a200641016a2106200941786a22090d000b200721060b2004450d012004417f6a2104200520064102746a2802e40121050c000b0b418080808078210a0b20024180026a411f6a220420024190016a411f6a29000037000020024180026a41186a220720024190016a41186a29030037030020024180026a41106a220e20024190016a41106a29030037030020024180026a41086a220f20024190016a41086a29030037030020024180016a41086a2210200241bf016a280000360200200241f0006a41086a2211200241386a41086a2212280200360200200220022903900137038002200220022900b7013703800120022002290338370370200241e0006a41086a2213200241d8026a41086a280200360200200220022903d802370360200a418080808078460d00200241386a411f6a2004290000370000200241386a41186a2007290300370300200241386a41106a200e2903003703002012200f290300370300200241286a41086a2010280200360200200241186a41086a20112802003602002002200229038002370338200220022903800137032820022002290370370318200241086a41086a2013280200360200200220022903603703080c010b02402003450d0020012802042105034041002106024020032f01e2012204450d00200341e4006a210820044103742109410021062003210a0340024041c2f5c48000200a410810f597808000220b41004a200b4100486b41ff0171220b4101460d00200b0d0220022008417c6a2902003702d802200241e8026a200241d8026a10fd8e808000418080808078210620022802e802220a418080808078460d0420022900ed02210c20022d00ec02210520024190016a200241f5026a41cb0010f4978080001a200241386a41086a20024190016a41086a290000370300200241386a41106a20024190016a41106a290000370300200241386a41186a20024190016a41186a290000370300200241386a411f6a20024190016a411f6a290000370000200241186a41086a200241cb016a280000360200200241286a41086a200241bf016a2800003602002002200229009001370338200220022900c301370318200220022900b701370328200241086a41086a200241d7016a280000360200200220022900cf0137030841042108410021094100210b0c050b2008410c6a2108200a41086a210a200641016a2106200941786a22090d000b200421060b2005450d012005417f6a2105200320064102746a2802e40121030c000b0b20004181808080783602000c010b200241a5016a200241386a41086a290300370000200241ad016a200241c8006a290300370000200241b5016a200241d0006a290300370000200241bc016a200241d7006a2900003700002002200c37009501200220053a0094012002200a360290012002200229033837009d01200241cc016a200241286a41086a2802003602002002200d3702e001200220063602dc012002200b3602d801200220083602d401200220093602d001200220022903283702c401200241f0016a200241186a41086a280200360200200220022903183702e801200241fc016a200241086a41086a280200360200200220022903083702f401200241e8026a20024190016a10dc8280800020024180026a200241e8026a41d80010f4978080001a20022802d403210720022802d003210e20022802cc03211420022802c003211520022802c403210120022802c8032105200242cce78dfda8f884f6bd7f37008003200242a2f98685b9fa9aec343700f802200242b9e088b7b6cdc2d1133700f002200242c5e4f4b9cff9d18a0b3700e8022002200241e8026a412010d0858080002002280204210a20022802002106200241e8026a10aa86808000200229038805210d200242e9d5b48babef9efb523700800320024289f8dca7dfdb9eba113700f802200242b9e088b7b6cdc2d1133700f002200242c5e4f4b9cff9d18a0b3700e802200241d8026a200241e8026a412010e18580800020022802e002410020022802d802220b1b2109200d420680220d42ffffffff0f200d42ffffffff0f541ba7210f20022802dc02200a410020064101711b2216200b1b210b20012005410474220a6a210602400240024002400240024002400240024002400240024002400240024002400240024002400340200a450d022006417c6a2802002208200b460d01200641706a2106200a41706a210a2008200b4f0d000b200a41047621090c020b200a41706a410476220a2009490d00200a20096b21090c010b2005450d010c030b200941016a2103200920054f0d070240024020090d00410021060c010b200941016a417e7121082001210a4100210603400240200a280200450d00200a41046a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200a41106a280200450d00200a41146a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41206a210a2008200641026a2206470d000b0b200520036b2105024020094101710d00200120064104746a220a280200450d00200a280204220a200a417e6a2f00006b41002802ec82d48000118180808000000b20050d010b41002105200f2109410021030c020b2001200120034104746a200541047410f9978080001a0b0240200141086a280200220a200f4d0d00200f2109200521030c010b2005417f6a41ffffffff007141016a2108200141186a210b200541047441706a210641002103200f21090240024003402009200a6b21092006450d01200641706a2106200341016a2103200b280200210a200b41106a210b2009200a490d020c000b0b200821030b200320054b0d010b200520036b2205410474210a410021060240200541ffffffff004b0d00200a41fcffffff074b0d00410021124100211141042106200a450d0341002d008083d480001a200a41002802f482d4800011828080800000220b0d02410421060b2006200a41e8a2c5800010b980808000000b2003200541e8a2c5800010b580808000000b200b200b41036a417c712206200b6b22086a417e6a20083b0000200521110b2006200120034104746a200a10f4978080002104200541ffffffff00712210ad42247e220da7210a024002400240200d422088a70d00200a41fcffffff074b0d00410021120240200a0d0041042113410021170c030b41002d008083d480001a200a41002802f482d480001182808080000022060d01410421120b2012200a418ca0c5800010b980808000000b2006200641036a417c71221320066b220a6a417e6a200a3b0000201021170b02402005450d00200441086a21062013210a2010210b0340200641046a2802002108200241e8026a2006417c6a280200200628020010fd82808000200a41206a2008360200200a20022902e802370200200a41086a200241e8026a41086a290200370200200a41106a200241e8026a41106a290200370200200a41186a200241e8026a41186a290200370200200641106a2106200a41246a210a200b417f6a220b0d000b2005410171211241002106024020054101460d002005417e7121082004210a4100210603400240200a280200450d00200a41046a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200a41106a280200450d00200a41146a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41206a210a2008200641026a2206470d000b0b02402012450d00200420064104746a220a280200450d00200a280204220a200a417e6a2f00006b41002802ec82d48000118180808000000b201021120b02402011450d0020042004417e6a2f01006b41002802ec82d48000118180808000000b2002429eadbde691ac81d83e37008003200242e29e95bab8beb5d5a77f3700f802200242b9e088b7b6cdc2d1133700f002200242c5e4f4b9cff9d18a0b3700e802200241d8026a200241e8026a412010e18580800020022802e002410020022802d802220a1b210520022802dc022016200a1b210b200e200741146c220a6a2106024002400340200a450d022006417c6a2802002208200b460d012006416c6a2106200a416c6a210a2008200b4f0d000b200a41146e21050c030b200a416c6a41146e220a2005490d00200a20056b21050c020b2007450d020c040b2003200541ecabc88000109181808000000b200541016a2104200520074f0d080240024020050d00410021060c010b200e411c6a210a200541016a417e7121084100210603400240200a41686a280200450d00200a416c6a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200a417c6a280200450d00200a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41286a210a2008200641026a2206470d000b0b200720046b2107024020054101710d00200e200641146c6a220a280204450d00200a41046a280204220a200a417e6a2f00006b41002802ec82d48000118180808000000b20070d010b41002107410021040c020b200e200e200441146c6a200741146c10f9978080001a0b0240417f2009200f6a220a200a2009491b220a200e410c6a28020022064f0d00200721040c010b2007417f6a41ffffffff037141016a2109200e41206a2108200741146c416c6a210b41002104024002400340200b450d01200b416c6a210b200441016a2104200a20066b210a20082802002106200841146a2108200a2006490d020c000b0b200921040b200420074b0d010b200720046b2207ad42147e220da7210a410021060240200d422088a70d00200a41fcffffff074b0d00410021080240200a0d004104210a410021160c040b41002d008083d480001a200a41002802f482d480001182808080000022060d02410421060b2006200a41e8a2c5800010b980808000000b2004200741e8a2c5800010b580808000000b2006200641036a417c71220a20066b220b6a417e6a200b3b0000200721160b200a200e200441146c6a200741146c220610f497808000210f200641146e2210ad42287e220da7210a024002400240200d422088a70d00200a41fcffffff074b0d00410021060240200a0d0041042111410021180c030b41002d008083d480001a200a41002802f482d4800011828080800000220b0d01410421080b2008200a418ca0c5800010b980808000000b200b200b41036a417c712211200b6b220a6a417e6a200a3b0000201021180b02402007450d00200241ec026a2105200f21062011210a2010210b0340200641106a2802002108200628020021092005200641086a2802002006410c6a28020010fd82808000200a41086a200241e8026a41086a290200370200200a41106a200241e8026a41106a290200370200200a41186a200241e8026a41186a290200370200200220093602e802200a20022902e8023702002002200836028c03200a41206a200241e8026a41206a290200370200200641146a2106200a41286a210a200b417f6a220b0d000b2007410171210941002106024020074101460d00200f411c6a210a2007417e7121084100210603400240200a41686a280200450d00200a416c6a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200a417c6a280200450d00200a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41286a210a2008200641026a2206470d000b0b02402009450d00200f200641146c6a220a280204450d00200a41046a280204220a200a417e6a2f00006b41002802ec82d48000118180808000000b201021060b02402016450d00200f200f417e6a2f01006b41002802ec82d48000118180808000000b200020024180026a41d80010f497808000220a200636028401200a201136028001200a201836027c200a2004360278200a200e360274200a2014360270200a201236026c200a2013360268200a2017360264200a2003360260200a200136025c200a20153602580b20024190056a2480808080000f0b2004200741ecabc88000109181808000000bf93306027f017e067f017e087f027e23808080800041900d6b220824808080800020084190026a41206a200241206a29020037030020084190026a41186a200241186a29020037030020084190026a41106a200241106a29020037030020084190026a41086a200241086a290200370300200820022902003703900220084180076a410010c786808000200841106a200828028407220920082802880710de858080000240200828028007450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841106a2001108c8980800002400240024020082d00104101470d00200841c0026a41026a200841136a2d000022023a0000200820082f001122013b01c002200041026a20023a0000200020013b0000200042003703582000420237035020082802900222022002280200417f6a220236020020020d0120084190026a10ca878080000c010b200820033602bc02200820073a00b80241002802e8ffd38000118c8080800000210a200841f0086a41086a2209200241086a290200370300200841f0086a41106a2207200241106a290200370300200841f0086a41186a220b200241186a290200370300200841f0086a41206a220c200241206a290200370300200841013a00e808200842043703e008200842003703d80820084280808080c0003703d0082008427f3703c808200842003703c008200820022902003703f008200841013a0038200842043703302008420037032820084280808080c0003703202008427f37031820084200370310200841b0046a200841106a200841c0086a10f8968080000240024002400240024020082d00f4084101470d00200841f0086a41057210b183808000450d0020082802f00822022002280200417f6a2202360200024020020d00200841f0086a10ca878080000b41002101200841003a00c20220084180143b01c00220082802c4042105024020082802c8042202450d0020024101712104024020024101460d002002417e7121032005210241002101034002402002280200450d00200241046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022003200141026a2201470d000b0b2004450d0020052001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b024020082802c004450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20082802d0042105024020082802d4042202450d002002410171210441002101024020024101460d002002417e7121032005210241002101034002402002280200450d00200241046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022003200141026a2201470d000b0b2004450d0020052001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b20082802cc04450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b200841106a410f6a220d2009290300370000200841106a41176a220e2007290300370000200841106a411f6a220f200b290300370000200841106a41276a2210200c290300221137000020084180076a41276a22022011370000200820082903f00837001720084180076a41086a200841106a41086a220929000037030020084180076a41106a200841106a41106a220729000037030020084180076a41186a200841106a41186a220b29000037030020084180076a41206a200841106a41206a220c2900003703002008200829001037038007200841013a00c009200842043703b809200842003703b00920084280808080c0003703a8092008427f3703a009200842003703980920084198096a412c6a20082800830736000020082008280280073600c109200841c8096a41206a22122002290000370300200841c8096a41186a221320084180076a411f6a2214290000370300200841c8096a41106a221520084180076a41176a2216290000370300200841c8096a41086a221720084180076a410f6a221829000037030020082008290087073703c809200841106a41286a2219200841b0046a41286a290300370300200c200841b0046a41206a290300370300200b200841b0046a41186a2903003703002007200841b0046a41106a2903003703002009200841b0046a41086a290300370300200820082903b00437031020084180076a200841106a20084198096a10f896808000200841013a00980a200842043703900a200842003703880a20084280808080c0003703800a2008427f3703f809200842003703f009200841106a20084180076a200841f0096a10f896808000200841e1046a410f6a2017290300370000200841e1046a41176a2015290300370000200841e1046a411f6a2013290300370000200841e1046a41276a2012290300370000200841a00a6a412c6a200841e4046a280000360000200841013a00c80a200842043703c00a200842003703b80a20084280808080c0003703b00a2008427f3703a80a200842003703a00a200820082903c8093700e804200820082800e1043600c90a20084190056a200841106a200841a00a6a10f896808000200842d3d8c5d2a9b9d2c1ac7f37002820084282ca868eabf3add0cf00370020200842fc90b9e5d09296e777370018200842a6d4e6f1a4dd959860370010200841086a200841106a412010d085808000200835020c420020082802084101711b211a427f2111024020012802004101470d00200129030822114200510d062001290310221b20117c4200201a201b7d221b201b201a561b221b2011827d201b7c21110b200d200841c8096a41086a290300370000200e200841c8096a41106a290300370000200f200841c8096a41186a2903003700002010200841c8096a41206a290300221b3700002002201b370000200820082903c80937001720084180076a41086a2212200841106a41086a220929000037030020084180076a41106a2213200841106a41106a220729000037030020084180076a41186a2215200841106a41186a220b29000037030020084180076a41206a200841106a41206a220c2900003703002008200829001037038007200841013a00f80a200842043703f00a200842003703e80a20084280808080c0003703e00a200842002011201a7d221a201a2011561b3703d80a200842003703d00a200841d00a6a412c6a20082800830736000020082008280280073600f90a200841800b6a41206a2002290000370300200841800b6a41186a2014290000370300200841800b6a41106a2016290000370300200841800b6a41086a201829000037030020082008290087073703800b201920084190056a41286a290300370300200c20084190056a41206a290300370300200b20084190056a41186a290300370300200720084190056a41106a290300370300200920084190056a41086a2903003703002008200829039005370310200841c0056a200841106a200841d00a6a10f8968080002008200141206a22173602f40520082001411c6a3602f005200841013602e006200841013602d80620082008418f0d6a3602dc062008200841f0056a3602d4062008200841b8026a3602d006200841106a200141186a200841800b6a200320042005200841d0066a2006108786808000024020082802202202418080808078460d00200841f8056a41086a22012009290300370300200820082903103703f80520084180076a200841246a41c40010f4978080001a200841d80b6a41206a20084188016a290300370300200841d80b6a41186a20084180016a290300370300200841d80b6a41106a200841f8006a290300370300200841d80b6a41086a200841f0006a290300370300200841a80b6a41086a2001290300370300200841a80b6a411c6a2012290200370200200841a80b6a41246a2013290200370200200841a80b6a412c6a2015280200360200200820082903683703d80b200820023602b80b200820082903f8053703a80b20082008290280073702bc0b200841a8066a41206a200841bc076a290200370300200841a8066a41186a200841b4076a290200370300200841a8066a41106a20084180076a412c6a290200370300200841a8066a41086a20084180076a41246a2902003703002008200829029c073703a806200841106a41286a2202200841c0056a41286a290300370300200c200841c0056a41206a290300370300200b200841c0056a41186a2903003703002007200841c0056a41106a2903003703002009200841c0056a41086a290300370300200820082903c005370310200841f8056a200841106a200841a80b6a10f896808000200841106a2004200510cf85808000024020082802202201418080808078470d00200820082f01103b01d006200820082d00123a00d20620082802d80b22022002280200417f6a2202360200024020020d00200841d80b6a10ca878080000b200820082f01d0063b01c002200820082d00d2063a00c202200828028c06210502402008280290062202450d002002410171210441002101024020024101460d002002417e7121032005210241002101034002402002280200450d00200241046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022003200141026a2201470d000b0b2004450d0020052001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200828028806450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20082802980621050240200828029c062202450d002002410171210441002101024020024101460d002002417e7121032005210241002101034002402002280200450d00200241046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022003200141026a2201470d000b0b2004450d0020052001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b200828029406450d0220052005417e6a2f00006b41002802ec82d48000118180808000000c020b200841800c6a411c6a200841106a411c6a290200370200200841800c6a41246a200841106a41246a290200370200200841800c6a412c6a200841106a412c6a280200360200200841d0066a41086a2209200841106a41086a2207290300370300200841b00c6a41206a200841d80b6a41206a290300370300200841b00c6a41186a200841d80b6a41186a290300370300200841b00c6a41106a200841d80b6a41106a290300370300200841b00c6a41086a200841d80b6a41086a290300370300200820082902243702940c200820082903103703d006200820082903d80b3703b00c2008280240210c20084190086a41086a220b2009290300370300200820082903d00637039008200841800c6a41086a200b29030037030020082008290390083703800c200820013602900c2002200841f8056a41286a290300370300200841106a41206a2201200841f8056a41206a290300370300200841106a41186a220b200841f8056a41186a290300370300200841106a41106a2202200841f8056a41106a2903003703002007200841f8056a41086a290300370300200820082903f805370310200841d0066a200841106a200841800c6a10f8968080002008410136028c08200841013602840820082008418f0d6a3602880820082008418f0d6a360280082008200841b8026a3602fc07200841106a2017200841b00c6a200320042005200841fc076a2006108886808000200820082f01203b01f0072008200841226a2d00003a00f207200829031022114202852008290318221a844200520d02200820082f01f0073b01c002200820082d00f2073a00c202200841d0066a41106a10aa8f808000024020082802e006450d0020082802e40622022002417e6a2f00006b41002802ec82d48000118180808000000b200841ec066a10aa8f80800020082802ec06450d0120082802f00622022002417e6a2f00006b41002802ec82d48000118180808000000c010b200820082f01103b01c002200820082d00123a00c20220082802d4052105024020082802d8052202450d002002410171210441002101024020024101460d002002417e7121032005210241002101034002402002280200450d00200241046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022003200141026a2201470d000b0b2004450d0020052001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b024020082802d005450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20082802e0052105024020082802e4052202450d002002410171210441002101024020024101460d002002417e7121032005210241002101034002402002280200450d00200241046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022003200141026a2201470d000b0b2004450d0020052001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b20082802dc05450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200820082f01c0023b0110200820082d00c2023a001220084200370368200842023703600c010b20084180076a200841236a41ed0010f4978080001a20084190086a41206a2203200841106a41a0016a29030037030020084190086a41186a2205200841106a4198016a29030037030020084190086a41106a2204200841106a4190016a290300370300200841d80c6a41086a200841c5076a290000370300200841d80c6a41106a200841cd076a290000370300200841d80c6a41186a200841d5076a290000370300200841d80c6a41206a200841dd076a290000370300200841d80c6a41286a200841e5076a2900003703002008200841106a4188016a29030037039808200820082903900137039008200820082900bd073703d80c20084192036a20082d00f2073a0000200820082f01f0073b019003200841c0026a4188016a200841b5076a290000370000200841c3036a20084180076a41306a290000370000200841bb036a20084180076a41286a290000370000200841b3036a20084180076a41206a290000370000200841ab036a20084180076a41186a290000370000200841a3036a20084180076a41106a2900003700002008419b036a20084180076a41086a290000370000200820082900800737009303200841106a41286a200841d0066a41286a2903003703002001200841d0066a41206a290300370300200b200841d0066a41186a2903003703002002200841d0066a41106a29030037030020072009290300370300200820082903d006370310200841c0026a4190016a200841106a200841d80c6a10f896808000200841c0026a41306a4200370300200841c0026a41106a200841a8066a41106a290300370300200841c0026a41186a200841a8066a41186a290300370300200841c0026a41206a200841a8066a41206a290300370300200841c0026a41c8016a2201200829039808370300200841c0026a41d0016a22092004290300370300200841c0026a41d8016a22042005290300370300200841c0026a41e0016a220520032903003703002008201a370388032008201137038003200842003703e8022008200c3602f802200820082903a8063703c0022008200841a8066a41086a2903003703c802200820082903900837038004200841106a41c8016a200841c0026a41b8016a290300370300200841d0016a200841c0026a41b0016a290300370300200841106a41b8016a200841c0026a41a8016a290300370300200841106a41b0016a200841c0026a41a0016a290300370300200841106a41a8016a200841c0026a4198016a290300370300200820082903d0033703b0012002200841c0026a41900110f4978080001a20084180026a2005290300370300200841f8016a2004290300370300200841106a41e0016a2009290300370300200841106a41d8016a200129030037030020082008290380043703e0012008200a3703182008200a427f52ad3703102008290360420285200829036884500d0020082d00e40141ff01714102460d010b2000200841106a41800210f4978080001a0c010b200841c0026a41206a200841106a41d0016a220241206a290200370300200841c0026a41186a200241186a290200370300200841c0026a41106a200241106a290200370300200841c0026a41086a200241086a290200370300200042003703582000420237035020004180183b01002008200229020022113703c0022011a722022002280200417f6a2202360200024020020d00200841c0026a10ca878080000b200841c0016a10aa8f808000024020082802c001450d0020082802c40122022002417e6a2f00006b41002802ec82d48000118180808000000b200841cc016a10aa8f80800020082802cc01450d0020082802d00122022002417e6a2f00006b41002802ec82d48000118180808000000b200841900d6a2480808080000f0b41a488cd8000108e81808000000bd80401057f23808080800041d0006b220224808080800041002103200241146a41f8e7c48000410641002802d480d4800011868080800000200241246a41808fc58000410941002802d480d480001186808080000020022001360234200241c8006a200241346a410441002802e480d48000118680808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a4190e3ca800010ab9180800002400240024002402002280210220141206a22044100480d00200228020c2105024020040d002002410036024020024280808080103702380c030b4100210641002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48bc5800010b980808000000b2002200336023c2003417e6a41003b0000200241003602402002200436023820014160490d010b200241386a410041204101410110a386808000200228023c2103200228024021060b200320066a22042002290014370000200441186a200241146a41186a290000370000200441106a200241146a41106a290000370000200441086a200241146a41086a2900003700002002200641206a220436024002402001200228023820046b4d0d00200241386a200420014101410110a386808000200228023c2103200228024021040b200320046a2005200110f4978080001a200041086a200420016a3602002000200229023837020002402002280208450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000be81f04027f087e0a7f0b7e23808080800041d0056b2207248080808000200741f0026a200120022003200420054100200610c68680800020072f01f00220072d00f2024110747221080240024020072903c003220942028520072903c803844200510d0020072903f802210a200741206a200741a0036a290300370300200741186a200741f0026a41286a290300370300200741106a200741f0026a41206a290300370300200741a0026a41106a20074180046a290300370300200741a0026a41186a20074188046a290300370300200720072903f0033703a00220072007290380033703002007200741f0026a41186a2903003703082007200741f8036a2903003703a80220072903d803210b20072903d003210c20072903e803210d20072903e003210e20072903a803210f20072903b003211020072802b8032111200741c8006a2202200741c0046a290300370300200741c0006a41106a2212200741c8046a290300370300200741c0006a41186a2213200741d0046a290300370300200741c0006a41206a2214200741d8046a290300370300200741c0006a41286a2215200741e0046a290300370300200720072903b80437034020072802b004211620072802ac04211720072802a404211820072802a004211920072802a804210620072802b404211a200741c0026a41206a2015290300370300200741c0026a41186a2014290300370300200741c0026a41106a2013290300370300200720122903003703c802200720022903003703c00202402006450d002006410171211441002102024020064101460d002006417e7121132018210641002102034002402006280200450d00200641046a28020022122012417e6a2f00006b41002802ec82d48000118180808000000b02402006410c6a280200450d00200641106a28020022122012417e6a2f00006b41002802ec82d48000118180808000000b200641186a21062013200241026a2202470d000b0b2014450d0020182002410c6c6a2206280200450d00200628020422062006417e6a2f00006b41002802ec82d48000118180808000000b02402019450d0020182018417e6a2f00006b41002802ec82d48000118180808000000b0240201a450d00201a4101712118410021020240201a4101460d00201a417e7121132016210641002102034002402006280200450d00200641046a28020022122012417e6a2f00006b41002802ec82d48000118180808000000b02402006410c6a280200450d00200641106a28020022122012417e6a2f00006b41002802ec82d48000118180808000000b200641186a21062013200241026a2202470d000b0b2018450d0020162002410c6c6a2206280200450d00200628020422062006417e6a2f00006b41002802ec82d48000118180808000000b02402017450d0020162016417e6a2f00006b41002802ec82d48000118180808000000b2001290328211b2001290320211c02400240024002400240024020072d000022124101470d002007290308221d4280feff0783211e201d42ff0183211f201d428080807883211d200729031021200c010b20012802182106200741c0006a2007410172220110c986808000200741f0026a20072802442202200728024810e38580800020072802c003410020072802f0024101711b211302402007280240450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200620134b0d012007200641016a3602d8012001200741d8016a10ca86808000428004211e4200211f4200211d0b41800c210220042005201110cd85808000220641ff01714102470d0302400240024002400240024002402009a7410171450d00420021214202210d41fec900211a41f801211642891c211c420221090c010b200741c8006a20072903a802370300200741c0006a41186a200741a0026a41186a2202290300370300200741c0006a41106a200741a0026a41106a2213290300370300200720072903a0023703404200212102400240200e200d8450450d004200211c4200210d0c010b41002106200741f0026a200741c0006a200e200d41004102410010d08c80800020072802f0020d022007290380032109200729038803210d200741a8036a200741b8026a290300370300200741a0036a200741b0026a29030037030020074198036a20072903a8023703002007200d370388032007200937038003200720072903a00237039003200741083a00f00241014100200741f0026a10d28d8080002009201c2009201c200954201b200d54201b200d511b22061b220e7d200d201b200d20061b221c7d2009200e54ad7d10f9888080004201210d0b200741f0046a41186a2002290300370300200741f0046a41106a2013290300370300200720072903a8023703f804200720072903a0023703f004200e4218882109200e420888a7211a200ea721160b200741f0016a41206a200741c0026a41206a290300370300200741f0016a41186a200741c0026a41186a290300370300200741f0016a41106a200741c0026a41106a290300370300200720072903c8023703f801200720072903c0023703f001200741c0006a200341900110f4978080001a20072d00f401450d0120072802f0012206280208200741c0006a200628020c280214118480808000000d01200741206a410610cf8c80800020062006280200417f6a2202360200200741003a001820074200370300024020020d00200741f0016a10ca878080000b200741c0006a10f8858080000c020b41800221020c070b200741f0026a200741c0006a41900110f4978080001a2007200741f0026a200741f0016a10f98580800020072903004202510d010b200741e8016a200741306a280200360200200741e0016a200741286a290300370300200720072903203703d80120072106410021030c010b200741086a21062007410f3a00d801410121030b2006280200211320064201370300200641106a2202427f200229030020042903082222201341017122011b220e200429031822237c221b201b200e541b370300200641086a2213427f20132903002004290300222420011b220e200429031022257c221b201b200e541b370300200741c0026a41186a200641186a290300370300200741c0026a41106a2002290300370300200741c0026a41086a201329030037030020072006290300220e3703c0020240200ea7410171450d0020074200420020072903d002220e20107d221b201b200e561b220e20207d221b201b200e561b200e20121b3703d00220074200420020072903c802220e200f7d221b201b200e561b220e201e201f84201d847d221d201d200e561b200e20121b3703c8020b0240024002402004200741c0026a10dc8d808000220241ff01714102470d00200741a8036a20072903f804370300200720093e00830320074187036a20094220883c0000200741b0036a20074180056a290300370300200741b8036a20074188056a2903003703002007200c370390032007200d3703f0022007201c370388032007201a3b008103200720163a008003200720072903f0043703a0032007200b37039803200720213703f802200741f0026a2004200741c0026a2005200741d8016a10c785808000220241ff01714102460d0220024180feff077141087621060c010b20024180feff077141087621060240200da722124103714103460d0020120e03010001010b201aad42ffff03834208862016ad42ff0183842009421886842209201c84500d00200741c0006a10d78c808000200741f0026a200741c0006a412010db85808000200729038803211d200729038003210b20072802f0022112200741f0026a10d78c80800020074200201d201c7d200b200954ad7d220c200b20097d220d200b56200c201d56200c201d511b22131b4200201241017122121b37034820074200200d20131b420020121b370340200741f0026a4120200741c0006a411041002802dc82d48000118380808000002007201c3703880320072009370380032007410d3a00f00241014100200741f0026a10d28d8080000b200020063b0009200020023a0008200042033703000c060b420021090240024020062802004101710d004200211d0c010b4200211d20072802c002410171450d00420020072903182007290310221d20031b220920072903d0027d220b200b2009561b21094200201d200729030820031b221d20072903c8027d220b200b201d561b211d0b2008410171450d02200741f0026a41002802e8ffd38000118c8080800000220b427f52ad200b41a28fc5800041cd0010c18980800020072802f0024101470d02200720072903f802220937039805200742002009200a7d221d201d2009561b22093703a005200741f0026a200741c0026a200410b49180800020072903f002211d200720072903f802220b3703a80541002802b483d4800021020240200b2009540d00200241044d0d02200741023602f402200741a890c580003602f002200742023702fc02200741e681808000ad4220862209200741a0056aad843703b80520072009200741a8056aad843703b0052007200741b0056a3602f8022007418c91c580003602502007411d36024c200741bb91c580003602482007411f3602442007419c91c58000360240200741f0026a4105200741c0006a4100200710e4918080000c020b2002450d01200741023602f402200741b492c580003602f002200742023702fc02200741e681808000ad4220862209200741a0056aad843703b80520072009200741a8056aad843703b0052007200741b0056a3602f802200741c492c580003602502007411d36024c200741bb91c580003602482007411f3602442007419c91c58000360240200741f0026a4101200741c0006a4100200710e4918080000c010b4100210641800421020c020b200720072903a0053703c8052007201d3703c005200720043602f002200720074198056a3602f8022007200741c0056a3602f402200741f0026a10f68880800021094200427f202420257c221d201d2024541b221d20072903c0057d220b200b201d561b221d42004200427f202220237c220b200b2022541b220b20072903c8057d220c200c200b561b220b20097d22092009200b561b220910e088808000200741f0026a2006200410b5918080004200200920072903f8027d220b200b2009561b21094200201d20072903f0027d220b200b201d561b211d0b024020062802004101470d00200642002006290310220b20097d22092009200b561b3703102006420020062903082209201d7d221d201d2009561b3703080b20002007290300370300200041306a200741306a290300370300200041286a200741286a290300370300200041206a200741206a290300370300200041186a200741186a290300370300200041106a200741106a290300370300200041086a200741086a2903003703000c020b20072802c00222122012280200417f6a2212360200200641ff01712106024020120d00200741c0026a10ca878080000b200220067221080b200020083b0108200042033703002000410a6a20084110763a0000200310c0868080000b200741d0056a2480808080000bde0501057f23808080800041d0006b220224808080800041002103200241106a41f8e7c48000410641002802d480d4800011868080800000200241106a41106a41f98ec58000410741002802d480d480001186808080000041002d008083d480001a0240412041002802f482d48000118280808000002204450d00200420012900003700002004417e6a220541003b0000200441186a200141186a290000370000200441106a200141106a290000370000200441086a200141086a290000370000200241c0006a2004412041002802bc80d48000118680808000002002200441206a36023c200220043602382002200241c0006a41106a3602342002200241c0006a360230200241046a200241306a4190e3ca800010ab91808000200420052f00006b41002802ec82d48000118180808000000240024002400240200228020c220441206a22054100480d0020022802082103024020050d002002410036024820024280808080103702400c030b4100210641002d008083d480001a200541002802f482d480001182808080000022010d01410121030b2003200541b48bc5800010b980808000000b200220013602442001417e6a41003b0000200241003602482002200536024020044160490d010b200241c0006a410041204101410110a38680800020022802442101200228024821060b200120066a22052002290010370000200541186a200241106a41186a290000370000200541106a200241106a41106a290000370000200541086a200241106a41086a2900003700002002200641206a220536024802402004200228024020056b4d0d00200241c0006a200520044101410110a38680800020022802442101200228024821050b200120056a2003200410f4978080001a200041086a200520046a3602002000200229024037020002402002280204450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000f0b4101412010ab80808000000b860602037f027e23808080800041c0016b220224808080800020012802002103200241046a200010c986808000200241d0006a20022802082200200228020c220410e385808000024002402002280250410171450d00200241206a41286a20024188016a290300370300200241206a41206a20024180016a290300370300200241206a41186a200241d0006a41286a290300370300200241306a200241d0006a41206a290300370300200241186a200241ac016a28020036020020022002290360370320200220022902a4013703102002200241d0006a41186a290300370328200229039801210520022903900121060c010b42002106200241c8006a4200370300200241c0006a4200370300200241386a4200370300200241306a4200370300200241186a4100360200200242003703282002420037032020024200370310428080808080808080807f21050b200241d0006a41186a200229032837030020024188016a200241206a41286a29030037030020024180016a200241206a41206a290300370300200241d0006a41286a200241206a41186a290300370300200241d0006a41206a200241206a41106a290300370300200241ac016a200241186a2802003602002002200537039801200220063703900120022002290320370360200220033602a001200220022903103702a401200242003703582002420137035041002d008083d480001a024041d00041002802f482d48000118280808000002201450d002001417e6a41003b0000200120022903a801370008200220013602b801200120022802a401360004200241d0003602b40120012003360000200241103602bc01200241d0006a41106a200241b4016a10f78e80800020022802b40121032000200420022802b801220120022802bc0141002802dc82d480001183808080000002402003450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b02402002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241c0016a2480808080000f0b410141d00010ab80808000000bd20905037f047e037f017e027f23808080800041e0086b220224808080800020022001280210200128021441002802bc82d48000118680808000000240024020022802002203418080808078460d0041b481808000ad4220862001410c6a2204ad84210541e781808000ad422086200241df086aad84210641d0f6c48000ad4280808080e00284210741fcf5c48000ad4280808080c00a8421082002410c6a210903402002280204210a0240024020022802082001280208220b490d002001280204200a200b10f597808000450d010b2003450d02200a200a417e6a2f00006b41002802ec82d48000118180808000000c020b2002290204210c02402004280200450d002001280210220a200a417e6a2f00006b41002802ec82d48000118180808000000b2001200c3702102001200336020c20024198086a200ca7200c422088a741002802b482d48000118680808000000240024002400240200228029808450d00200241086a20024198086a41086a290200220c37030020022002290298083703004100210a024002400240200ca722034100480d002002280204210b024020030d004101210a0c030b41002d008083d480001a200341002802f482d4800011828080800000220a0d014101210a0b200a200341c0d9ca800010b980808000000b200a417e6a41003b00000b200a200b200310f497808000210a2009200b200320022802002802101186808080000020012d001c0d010c020b41002802b483d48000450d022002200537039808410028029080d480002103410028028c80d48000210a41002802b083d48000210b2002420137023820024101360230200241f4f5c4800036022c20024116360228200241d0f6c480003602242002410136022020022008370218200241003602142002200737020c2002410036020820024281808080c089013702002003419cf4ca8000200b410246220b1b2802102103200220024198086a360234200a41b4f4ca8000200b1b20022003118b80808000000c020b20012802102001280214410028029482d48000118b80808000000b02400240024002402001280214220d2001280208220b490d0020022001280210200b6a200d200b6b200a20032001280218118780808000002002280200450d0141002802b483d480000d020c030b200b200d419cf7c48000109281808000000b200041046a200241046a41840810f4978080001a200041013602002003450d05200a200a417e6a2f00006b41002802ec82d48000118180808000000c050b20022006370390082002200537038808410028029080d48000210b410028028c80d48000210d41002802b083d48000210e200242023702d0082002418cf7c480003602c408200241163602c008200241d0f6c480003602bc08200241013602b808200220083702b008200241003602ac08200220073702a408200241003602a00820024281808080b08b0137029808200241023602c808200b419cf4ca8000200e410246220e1b280210210b200220024188086a3602cc08200d41b4f4ca8000200e1b20024198086a200b118b80808000000b2003450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b20022001280210200128021441002802bc82d480001186808080000020022802002203418080808078470d000b0b200041003602000b200241e0086a2480808080000b1e00200128020041d181c580004105200128020428020c118080808000000bd70102017f017e23808080800041c0006b22012480808080002001200042f02e802200370300200142e9c5fea9cdfbc4d26d37002820014286aaece2939beae46537002020014289df9d82f381819238370018200142d7f0f3fea28baccae700370010200141306a200141106a412010e98580800020012001290338420020012802301b2202370308024020022000510d002001420037021c20014281808080c000370214200141e8f9c480003602104100200141086a2001200141106a41f0f9c4800010ce86808000000b200141c0006a2480808080000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a419cc9c580002005410c6a419cc9c5800020032004108481808000000bc10301027f23808080800041c0006b22022480808080000240024002402001450d0020024282fceae49dd9e2861d370038200242de8c84a1ecd0a6d30c37003020024289df9d82f381819238370028200242d7f0f3fea28baccae700370020200241146a200241206a412010e885808000024002402002280214418080808078470d0020024280808080103703080c010b200241086a41086a200241146a41086a28020022033602002002200229021437030820030d020b02402002280208450d00200228020c22032003417e6a2f00006b41002802ec82d48000118180808000000b200141214f0d02200220013602182002200036021420024282fceae49dd9e2861d370038200242de8c84a1ecd0a6d30c37003020024289df9d82f381819238370028200242d7f0f3fea28baccae700370020200241146a200241206a412010fd848080000b200241c0006a2480808080000f0b200241086a10d086808000200241003602302002410136022420024180fbc4800036022020024204370228200241206a4188fbc4800010fe80808000000b20022001360224200220003602204190fac480004139200241206a4180fac4800041ccfac4800010a981808000000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0bcc0501057f23808080800041306b22012480808080002001410036021420014280808080800137020c41002d008083d480001a024002400240410841002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a2204411b360204200441ddfbc480003602002004417e6a20033b00002001410036022c2001428080808010370224200141186a200141246a1082858080002001410c6a41c884c6800010a0868080002001280210220242f59cb3daaca19ade5f370208200241003602002002420b370244200241a286c68000360240200241e881808000360218200242f38afbbdb6eeb8f8ce003702102002200129021837025c200241013a0074200241013602702002200436026c20024101360268200241e4006a200141186a41086a2802003602002001410136021441002d008083d480001a411841002802f482d48000118280808000002202450d012002200241036a417c7120026b22036a22044125360214200441b8fbc480003602102004410036020c200442a08080801037020420044198fbc480003602002004417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002203450d02200342003700002003417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241033602702002200436026c2002428880808030370264200220033602602002410836025c2002420b370244200241fd8ac68000360240200241cb81808000360218200242ada9e8dffceda4b57d3702102002429b9e90f4939ac781bb7f37020820024100360200200041086a200541016a3602002000200129020c37020020004104360210200041a0e7c4800036020c200141306a2480808080000f0b4104410810ab80808000000b4104411810ab80808000000b4101410810ab80808000000b940301047f41002d008083d480001a02400240024041d00041002802f482d48000118280808000002201450d002001200141076a41787120016b22026a2201417e6a20023b000041002d008083d480001a410841002802f482d48000118280808000002203450d01200342f02e3700002003417e6a41003b000041002d008083d480001a412041002802f482d480001182808080000022020d024104412010ab80808000000b410841d00010ab80808000000b4101410810ab80808000000b2002200241036a417c7120026b22046a220241cd0036021c2002418afdc4800036021820024100360214200242cf8080801037020c200241bbfcc48000360208200241c300360204200241f8fbc480003602002002417e6a20043b00002001200336022420014108360220200142043702342001200236023020014288808080c0003703282001419981808000360218200142a5e9e3ab9e929adc2c37031020014293888c8f89fdc6ec9e7f3703082001410c360204200141d7fdc480003602002000410136020820002001360204200041013602000bf20101037f23808080800041106b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136020c20024180023b01080240200241086a4194fec48000410b200010ca8d80800022030d00200228020822044180fe0371450d0020044101710d000240200228020c280200220428020020042802082201470d002004200141014101410110a386808000200428020821010b2004200141016a360208200428020420016a41fd003a00000b200241106a24808080800020030bf20301047f23808080800041306b22012480808080000240024020002802002202418180808078460d0002400240200028020c22030d0041002103410021040c010b200120033602242001410036022020012003360214200141003602102001200028021022033602282001200336021820002802142104410121030b2001200436022c2001200336021c2001200336020c2001410c6a10c7898080002002418080808078460d012002450d01200028020422002000417e6a2f00006b41002802ec82d48000118180808000000c010b024002400240024020002d00040e0704040102030004000b02400240200028020822020d0041002100410021020c010b200120023602242001410036022020012002360214200141003602102001200028020c22023602282001200236021820002802102102410121000b2001200236022c2001200036021c2001200036020c2001410c6a10c7898080000c030b2000280208450d02200028020c22002000417e6a2f00006b41002802ec82d48000118180808000000c020b2000280208450d01200028020c22002000417e6a2f00006b41002802ec82d48000118180808000000c010b200041086a10a18f8080002000280208450d00200028020c22002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bfd0201037f23808080800041f0006b2202248080808000200241306a2001410d6a290000370300200241386a200141156a290000370300200241c0006a2001411d6a290000370300200128020022032003280200417f6a22033602002002200129000537032820012d00042104024020030d00200110ca878080000b024002400240024020040e020102000b200041023a00000c020b2000410f3a00000c010b200241086a41186a200241286a41186a290300370300200241086a41106a200241286a41106a290300370300200241086a41086a200241286a41086a29030037030020022002290328370308200242e7adb0ba9bbab2f2fb00370068200242d39cf0bdba80f2ac10370060200242a988d1e9f0b7bbcf9c7f370058200242dc9ac4b0d794dae079370050200241286a200241d0006a412010de858080000240024020022d0028450d00200241296a200241086a412010f597808000450d010b200010c88c8080000c010b2000410f3a00000b200241f0006a2480808080000bf20101037f23808080800041106b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136020c20024180023b01080240200241086a41b1ffc480004103200010bc8d80800022030d00200228020822044180fe0371450d0020044101710d000240200228020c280200220428020020042802082201470d002004200141014101410110a386808000200428020821010b2004200141016a360208200428020420016a41fd003a00000b200241106a24808080800020030bea0503067f017e027f23808080800041c0006b2201248080808000200141186a41cf80c5800041044193eec4800041134104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b00002008410029039881c580003702002001410036020820014280808080c000370200200141306a200141a081c580004104109f848080002001200141306a41a481c58000411510a784808000200141306a200141b981c58000410710ac848080002001200141306a41c081c580004107109784808000200141246a200141c781c58000410a108f848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b41bc91c38000411141d091c3800010a181808000000bb40603067f017e037f23808080800041c0006b2201248080808000200141246a41d181c5800041054193eec4800041134104410010c2928080002001420437021c2001420037021420014280808080800137020c41002d008083d480001a0240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a419c91c3800010f38e80800041002d008083d480001a200128020c210420012802102103200128021421052001280224210620012902282107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903f081c5800037020041002d008083d480001a2001410036021420014280808080c00037020c410841002802f482d48000118280808000002202450d022002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902e898c380003702002001410c6a418c90c3800010a0938080002001280210220242808080808001370200200241003a00202002410b36021c200241f881c5800036021820024101360214200220093602102002428080808010370208200128021021022001200128020c3602142001200236020c2001200241246a36021820012002360210200141306a2001410c6a419c91c3800010f48e8080002006418080808078460d03200120043602142001200336020c200120033602102001200320054105746a360218200041c4006a2001410c6a41a0e0c6800010f38e8080002001410c6a410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000b990703067f017e037f23808080800041c0006b2201248080808000200141186a418382c5800041054193eec4800041134104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a0240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903a882c580003702002001410036020820014280808080c000370200200141306a200141b082c58000410510ca848080002001200141306a41b582c58000410a10e08380800041002d008083d480001a410841002802f482d48000118280808000002202450d022002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902f899c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220241023a00202002410a36021c200241bf82c5800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a2209200a41016a36020020012001290200370330200141246a200141306a41c982c58000410a108b848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d032001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a20092802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000bc50c03057f037e027f23808080800041d0026b22022480808080000240024002400240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000002400240024002400240024020040e050001020304050b2001417f200128020422034190016a220520052003491b220336020402400240200320012802084f0d0041002d008083d480001a41980141002802f482d48000118280808000002203450d0820032003410f6a41707120036b22056a2203417e6a220420053b0000200241306a200110fe8580800020022802304108470d01200320042f00006b41002802ec82d48000118180808000000b2000410a3a00000c0b0b200241c0016a200241306a41900110f4978080001a20002003200241c0016a41900110f497808000360204200041053a00000c0a0b2001417f200128020422034190016a220520052003491b220336020402400240200320012802084f0d0041002d008083d480001a41980141002802f482d48000118280808000002203450d0820032003410f6a41707120036b22056a2203417e6a220420053b0000200241306a200110fe8580800020022802304108470d01200320042f00006b41002802ec82d48000118180808000000b2000410a3a00000c0a0b200241c0016a200241306a41900110f4978080001a2003200241c0016a41900110f4978080002103200241c0016a200110d5848080000240024020022802c0014101460d0020022903c8012107200241c0016a200110d58480800020022802c0014101470d010b2000410a3a0000200310c086808000200320042f00006b41002802ec82d48000118180808000000c0a0b20022903c8012108200020033602182000200837031020002007370308200041063a00000c090b200241086a200110ea8e808000024020022d00084105470d002000410a3a00000c090b200241306a41206a200241086a41206a2802002203360200200241306a41186a200241086a41186a2902002207370300200241306a41106a200241086a41106a2902002208370300200241306a41086a200241086a41086a2902002209370300200241cb016a2009370000200241d3016a2008370000200241db016a2007370000200241e3016a2003360000200220022902082207370330200220073700c301200020022900c001370001200041096a200241c0016a41086a290000370000200041116a200241c0016a41106a290000370000200041196a200241c0016a41186a290000370000200041206a200241df016a290000370000200041073a00000c080b200241c0016a200110ea8e808000024020022d00c00122034105470d002000410a3a00000c080b2002412c6a41026a20022d00c3013a0000200241106a200241d4016a290200370300200241186a200241dc016a290200370300200220022f00c1013b012c200220022902cc0137030820022802c401210a20022802c80121062001417f200128020422054190016a220420042005491b22053602040240200520012802084f0d0041002d008083d480001a41980141002802f482d48000118280808000002205450d0620052005410f6a41707120056b22046a2205417e6a220b20043b0000200241306a200110fe8580800020022802304108470d072005200b2f00006b41002802ec82d48000118180808000000b2000410a3a000020034102470d07200a450d0720062006417e6a2f00006b41002802ec82d48000118180808000000c070b200041093a00000c060b2000410a3a00000c050b2000410a3a00000c040b411041900110ab80808000000b411041900110ab80808000000b411041900110ab80808000000b200241c0016a200241306a41900110f4978080001a2005200241c0016a41900110f4978080002101200020033a0000200020022f012c3b0001200041036a2002412e6a2d00003a0000200020063602082000200a3602042000200229030837020c200041146a200241086a41086a2903003702002000411c6a200241186a290300370200200020013602240b200241d0026a2480808080000bf90703057f037e027f2380808080004180016b22022480808080000240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000002400240024002400240024020040e050001020304050b02402001109c8880800022030d002000410a3a00000c080b20002003360204200041053a00000c070b02402001109c8880800022030d002000410a3a00000c070b200241086a200110d3848080000240024020022802084101460d0020022903102107200241086a200110d38480800020022802084101470d010b2000410a3a0000200310c08680800020032003417e6a2f01006b41002802ec82d48000118180808000000c070b20022903102108200020033602182000200837031020002007370308200041063a00000c060b200241346a200110e98e808000024020022d00344105470d002000410a3a00000c060b200241d8006a41206a200241346a41206a2802002203360200200241d8006a41186a200241346a41186a2902002207370300200241d8006a41106a200241346a41106a2902002208370300200241d8006a41086a200241346a41086a2902002209370300200241136a20093700002002411b6a2008370000200241236a20073700002002412b6a20033600002002200229023422073703582002200737000b20002002290008370001200041096a200241086a41086a290000370000200041116a200241086a41106a290000370000200041196a200241086a41186a290000370000200041206a200241276a290000370000200041073a00000c050b200241086a200110e98e808000024020022d000822034105470d002000410a3a00000c050b200241346a41026a220620022d000b3a0000200241e0006a220a200241086a41146a290200370300200241e8006a220b200241086a411c6a290200370300200220022f00093b013420022002290214370358200228020c2104200228021021052001109c8880800022010d032000410a3a000020034102470d042004450d0420052005417e6a2f00006b41002802ec82d48000118180808000000c040b200041093a00000c030b2000410a3a00000c020b2000410a3a00000c010b200020033a0000200020022f01343b000120002005360208200020043602042000200229035837020c200041036a20062d00003a0000200041146a200a2903003702002000411c6a200b290300370200200020013602240b20024180016a2480808080000bfe0301037f23808080800041106b220224808080800002400240024002400240024020002d00002203417c6a41042003417b6a41ff01714105491b417f6a0e050001020304000b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41003a00002001200341016a360208200028020420011081868080000c040b200041086a21040240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41013a00002001200341016a3602082000280218200110818680800020022004360208200241086a200110dd848080002002200041106a36020c2002410c6a200110dd848080000c030b200041046a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41023a00002003200110ed8e8080000c020b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41033a00002000200110ed8e808000200028022420011081868080000c010b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41043a00000b200241106a2480808080000bfc0202037f017e41002101024002400240024002400240024020002d00002202417c6a41042002417b6a41ff01714105491b417f6a0e050001020306000b200028020410808680800021010c050b2000280218108086808000210141012102410121032000290308220442c000540d032004428080015a0d02410221030c030b4121210102400240024020002d00040e050600010602060b410121010c050b200028021041056a21010c040b411521010c030b41212101024002400240024020020e050300010302030b410121010c020b200028020c41056a21010c010b411521010b417f200120002802241080868080006a220020002001491b21010c020b024020044280808080045a0d00410421030c010b4109200479a74103766b21030b02402000290310220442c000540d0002400240200442808001540d0020044280808080045a0d01410421020c020b410221020c010b4109200479a74103766b21020b417f2001200220036a6a220020002001491b21010b200141016a0bb90501027f024002400240024020002d00000e0400010203000b200041046a21020240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41003a00002001200041016a2200360208024020022d0000410f460d00024020012802002000470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00002002200110c08c8080000f0b024020012802002000470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000f0b200041216a21030240200128020020012802082202470d0020012002410110f491808000200128020821020b200041016a21002001200241016a360208200128020420026a41013a00002003200110bc8980800002402001280200200128020822026b411f4b0d0020012002412010f491808000200128020821020b2001200241206a360208200128020420026a22012000290000370000200141086a200041086a290000370000200141106a200041106a290000370000200141186a200041186a2900003700000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41023a00000f0b200041046a21020240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41033a00002001200041016a2200360208024020022d0000410f460d00024020012802002000470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00002002200110c08c8080000f0b024020012802002000470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000be40501047f2380808080004190016b2201248080808000200142e7eacab6b7c9acbc263700162001428de2fdb2e288b2fcd70037000e200141cc006a2001410e6a411041002802bc82d480001186808080000002400240200128024c2202418080808078460d0020012802502103024020012802544110490d002001410e6a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d0120004200370300200041086a42003703000c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b011e41002102024041002802b483d4800041024d0d002001410d360224200141d3e7c48000360220200141e581808000ad4220862001411e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370284012001410336027c20014184f3c4800036027820014116360274200141a1edc480003602702001410336026c2001419cf3c48000ad4280808080e00b8437026420014100360260200141faf3c48000ad4280808080e003843702582001410036025420014281808080f00237024c2002419cf4ca8000200441024622041b28021021022001200141286a36028001200341b4f4ca800020041b200141cc006a2002118b808080000020012f011e21020b200141cc006a41d3e7c48000410d41002802d480d4800011868080800000200141cc006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141cc006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141cc006a41086a2900003703002001200129004c370328200120023b014c200141286a4120200141cc006a410241002802dc82d4800011838080800000200041086a4200370300200042003703000b20014190016a2480808080000bb30a02097f017e23808080800041f0016b220124808080800020014282fceae49dd9e2861d370037200142de8c84a1ecd0a6d30c37002f20014284c2b1b3ef9292841e370027200142bce2f4b8c5daf6fa2937001f200141e0006a2001411f6a412010e885808000024002402001280260418080808078460d00200141106a41086a200141e0006a41086a280200360200200120012902603703100c010b2001410036021820014280808080103703100b200141003a001f20012001411f6a3602602000200141e0006a10968f8080000240024020012d001f410171450d0020014198016a200141d8006a29000037030020014190016a200141d0006a29000037030020014188016a200141c8006a29000037030020014180016a2001411f6a41216a290000370300200141f8006a200141386a290000370300200141e0006a41106a200141306a290000370300200141e8006a200141286a2900003703002001200129002037036020002802082202450d0120002802042103200241146c416c6a2104410021020340200141c0016a2105200141a8016a210641102107410c210802400240024002400240200320026a22092d00000e050301010002030b200141a8016a2105200141d0016a2106410c2107410821080b20062003200820026a6a28020036020020052003200720026a6a2802003602000b20042002460d040c010b0240200941016a28000041e1eac98b06460d0020042002470d010c040b200941106a2802004108490d032009410c6a280200290000210a20014282fceae49dd9e2861d3700e801200142de8c84a1ecd0a6d30c3700e00120014289df9d82f3818192383700d801200142d7f0f3fea28baccae7003700d001200141ac016a41003a0000200141003602a801200141086a200141d0016a4120200141a8016a4105410041002802c482d48000118d8080800000024002402001280208410171450d00200128020c2203450d000240024002400240024020012d00a80122024103710e0400030201000b20024102762102410021030c030b20034105490d03200241034b0d0320012800a90122024180808080044921030c020b20034104490d0220012f00a90120012d00ab01411074722205418002492103200541087420027241027621020c010b20034101460d0120012d00a9012203450d0120034108742002724102762102410021030b20030d002002450d002001200a2002ad82a722023602a401200141a8016a200010e984808000200141d0016a20012802ac01220320012802b00141002802c480d4800011868080800000024020012802a801450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200128021820024b0d01200141023602ac01200141b085c580003602a801200142023702b401200141e981808000ad422086200141106aad843703c8012001418680808000ad422086200141a4016aad843703c0012001200141c0016a3602b001200141a8016a41c085c5800010fe80808000000b41a8f8c48000109781808000000b0240200141e0006a200141d0016a41202001280214220320024105746a41002802e481d4800011898080800000450d0002402001280210450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141f0016a2480808080000f0b200141003602b801200141013602ac01200141e485c580003602a801200142043702b001200141a8016a41ec85c5800010fe80808000000b200241146a21020c000b0b41cf83c58000412341c084c5800010a181808000000b41d084c58000412141f484c5800010a181808000000bd70202017f017e23808080800041306b220224808080800002400240024002402000290300427e7c2203a7410120034203541b0e03000102000b200128020041fc85c580004104200128020428020c1180808080000021000c020b2002200041306a360200200220003602042002410336020c2002418c86c5800036020820024202370214200241ea81808000ad422086200241046aad84370328200241eb81808000ad4220862002ad843703202002200241206a36021020012802002001280204200241086a10b18180800021000c010b2002200041c0006a3602002002200041106a3602042002410336020c200241ac86c5800036020820024202370214200241ea81808000ad422086200241046aad84370328200241ec81808000ad4220862002ad843703202002200241206a36021020012802002001280204200241086a10b18180800021000b200241306a24808080800020000b210020012802004198ecc480004123200128020428020c118080808000001a41000be30501047f2380808080004190016b2201248080808000200142dbd4b188d8cab88410370016200142bfa89c83ea92efeb1a37000e200141cc006a2001410e6a411041002802bc82d480001186808080000002400240200128024c2202418080808078460d0020012802502103024020012802544110490d002001410e6a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d0120004200370300200041086a42003703000c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b011e41002102024041002802b483d4800041024d0d0020014112360224200141b5e7c48000360220200141e581808000ad4220862001411e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370284012001410336027c20014184f3c4800036027820014116360274200141a1edc480003602702001410336026c200141acf7c48000ad4280808080800b843702642001410036026020014184f8c48000ad4280808080a004843702582001410036025420014281808080802837024c2002419cf4ca8000200441024622041b28021021022001200141286a36028001200341b4f4ca800020041b200141cc006a2002118b808080000020012f011e21020b200141cc006a41b5e7c48000411241002802d480d4800011868080800000200141cc006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141cc006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141cc006a41086a2900003703002001200129004c370328200120023b014c200141286a4120200141cc006a410241002802dc82d4800011838080800000200041086a4200370300200042003703000b20014190016a2480808080000bb20501047f2380808080004180016b2201248080808000200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b3700002001413c6a2001411041002802bc82d480001186808080000002400240200128023c2202418080808078460d0020012802402103024020012802444110490d0020012003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d010c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b024041002802b483d4800041024d0d002001410f360214200141e9e7c48000360210200141e581808000ad42208641c888c58000ad84370320200141c081808000ad422086200141106aad84370318410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370274200141c489c5800036026820014116360264200141a1edc480003602602001410336025c200141d382c58000ad4280808080d00a8437025420014100360250200141a883c58000ad4280808080f004843702482001410036024420014281808080c01737023c2001410236026c2002419cf4ca8000200441024622041b28021021022001200141186a360270200341b4f4ca800020041b2001413c6a2002118b80808000000b2001413c6a41e9e7c48000410f41002802d480d48000118680808000002001413c6a41106a22024199d3c68000411541002802d480d4800011868080800000200141186a41186a2001413c6a41186a290000370300200141186a41106a2002290000370300200141186a41086a2001413c6a41086a2900003703002001200129003c370318200141023b013c200141186a41202001413c6a410241002802dc82d48000118380808000000b20004200370300200041086a420037030020014180016a2480808080000b8b0201037f23808080800041106b220224808080800020022000410c6a360204200128020041f489c580004121200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41958ac58000410d200041b48ac58000108a8180800041a28ac58000410f200241046a41c48ac58000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710beb0e07017f0b7e017f017e027f087e017f2380808080004180016b22012480808080004200210202400240024020002903002203420285200029030822048450450d00420221054200210642002103420021040c010b42002106200042003703082000200320048450ad420186220537030020002903102207210820002903182209210a2003a74101710d010b024002402000290320220b4202852000290328220c8450450d004200210c0c010b20004200370328200042003703202000290338210a20002903302108200b21020b02402003200484500d000240200720098450450d0042002107420021090c010b200141e0006a10d78c8080002001200141e0006a412010db8580800020012903182103200129031021042001280200210d200110d78c80800020014200200320097d2004200754ad7d220b200420077d220e200456200b200356200b2003511b220f1b4200200d410171220d1b37036820014200200e200f1b4200200d1b37036020014120200141e0006a411041002802dc82d480001183808080000020012009370318200120073703102001410d3a000041014100200110d28d8080000b20022103200c21040b2005a7210f024002402003a722104101710d000c010b2000290338211120002903302112200029031821132000290310211420002903282104200029032021032008210c200a210203404202210b024002400240200542028520068450450d004202210e4200211542002105420021060c010b42002115200042003703082000200520068450ad420186220e370300200ea7210f20142107201321092005a7410171450d002003210b200421162014210720132109201421082013210a20052103200621040c010b02400240200342028520048450450d004200211642002103420021040c010b4200210b200042003703282000420037032042002116201221082011210a0b2005200684500d000240200720098450450d0042002107420021090c010b200141e0006a10d78c8080002001200141e0006a412010db8580800020012903182105200129031021062001280200210d200110d78c80800020014200200520097d2006200754ad7d2217200620077d2218200656201720055620172005511b22191b4200200d410171220d1b37036820014200201820191b4200200d1b37036020014120200141e0006a411041002802dc82d480001183808080000020012009370318200120073703102001410d3a000041014100200110d28d8080000b2003a7410171450d01427f2002200a7c200c20087c2206200c54220dad7c2205200d200520025420052002511b220d1b2102427f2006200d1b210c200b210320162104200e2105201521060c000b0b02402003200484500d002008200a84500d00200141e0006a10d78c8080002001200141e0006a412010db8580800020012903182105200129031021062001280200210d200110d78c808000200142002005200a7d2006200854ad7d2203200620087d2204200656200320055620032005511b22191b4200200d410171220d1b37036820014200200420191b4200200d1b37036020014120200141e0006a411041002802dc82d48000118380808000002001200a370318200120083703102001410d3a000041014100200110d28d8080000b02402010200c20028442005271450d00200141e0006a10d78c8080002001200141e0006a412010db8580800020012903182105200129031021062001280200210d200110d78c80800020014200200520027d2006200c54ad7d22032006200c7d2204200656200320055620032005511b22191b4200200d410171220d1b37036820014200200420191b4200200d1b37036020014120200141e0006a411041002802dc82d4800011838080800000200120023703182001200c3703102001410d3a000041014100200110d28d8080000b02400240200f410371220d4103460d00200d0e03010001010b200029031022052000290318220384500d00200141e0006a10d78c8080002001200141e0006a412010db8580800020012903182102200129031021062001280200210d200110d78c80800020014200200220037d2006200554ad7d220c200620057d2204200656200c200256200c2002511b220f1b4200200d410171220d1b370368200142002004200f1b4200200d1b37036020014120200141e0006a411041002802dc82d480001183808080000020012003370318200120053703102001410d3a000041014100200110d28d8080000b024002402000280220220d4103714103460d00200d0e03010001010b200029033022052000290338220384500d00200141e0006a10d78c8080002001200141e0006a412010db85808000200129031821022001290310210620012802002100200110d78c80800020014200200220037d2006200554ad7d220c200620057d2204200656200c200256200c2002511b220d1b4200200041017122001b370368200142002004200d1b420020001b37036020014120200141e0006a411041002802dc82d480001183808080000020012003370318200120053703102001410d3a000041014100200110d28d8080000b20014180016a2480808080000bd80401057f23808080800041d0006b220224808080800041002103200241146a41f8e7c48000410641002802d480d4800011868080800000200241246a41dc8ec58000410d41002802d480d480001186808080000020022001360234200241c8006a200241346a410441002802e480d48000118680808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a4190e3ca800010ab9180800002400240024002402002280210220141206a22044100480d00200228020c2105024020040d002002410036024020024280808080103702380c030b4100210641002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48bc5800010b980808000000b2002200336023c2003417e6a41003b0000200241003602402002200436023820014160490d010b200241386a410041204101410110a386808000200228023c2103200228024021060b200320066a22042002290014370000200441186a200241146a41186a290000370000200441106a200241146a41106a290000370000200441086a200241146a41086a2900003700002002200641206a220436024002402001200228023820046b4d0d00200241386a200420014101410110a386808000200228023c2103200228024021040b200320046a2005200110f4978080001a200041086a200420016a3602002000200229023837020002402002280208450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000bd80401057f23808080800041d0006b220224808080800041002103200241146a41abe7c48000410a41002802d480d4800011868080800000200241246a41d08ec58000410741002802d480d480001186808080000020022001360234200241c8006a200241346a410441002802e480d48000118680808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a4190e3ca800010ab9180800002400240024002402002280210220141206a22044100480d00200228020c2105024020040d002002410036024020024280808080103702380c030b4100210641002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48bc5800010b980808000000b2002200336023c2003417e6a41003b0000200241003602402002200436023820014160490d010b200241386a410041204101410110a386808000200228023c2103200228024021060b200320066a22042002290014370000200441186a200241146a41186a290000370000200441106a200241146a41106a290000370000200441086a200241146a41086a2900003700002002200641206a220436024002402001200228023820046b4d0d00200241386a200420014101410110a386808000200228023c2103200228024021040b200320046a2005200110f4978080001a200041086a200420016a3602002000200229023837020002402002280208450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000bd80401057f23808080800041d0006b220224808080800041002103200241146a41a4e7c48000410741002802d480d4800011868080800000200241246a41f08ec58000410941002802d480d480001186808080000020022001360234200241c8006a200241346a410441002802e480d48000118680808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a4190e3ca800010ab9180800002400240024002402002280210220141206a22044100480d00200228020c2105024020040d002002410036024020024280808080103702380c030b4100210641002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48bc5800010b980808000000b2002200336023c2003417e6a41003b0000200241003602402002200436023820014160490d010b200241386a410041204101410110a386808000200228023c2103200228024021060b200320066a22042002290014370000200441186a200241146a41186a290000370000200441106a200241146a41106a290000370000200441086a200241146a41086a2900003700002002200641206a220436024002402001200228023820046b4d0d00200241386a200420014101410110a386808000200228023c2103200228024021040b200320046a2005200110f4978080001a200041086a200420016a3602002000200229023837020002402002280208450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000bd20503047f027e037f23808080800041b0016b2202248080808000200241046a200110c986808000200241c0006a20022802082201200228020c220310e38580800002400240024020022802404101710d00410521030c010b200241106a41286a200241f8006a290300370300200241106a41206a200241f0006a290300370300200241106a41186a200241c0006a41286a290300370300200241206a200241c0006a41206a290300370300200220022903503703102002200241c0006a41186a290300370318024020022802980122040d00410521030c010b02402002280294012205410f4d0d00410621030c010b200229038801210620022903800121072002280290012108200228029c012109200241c0006a41186a2002290318370300200241f8006a200241106a41286a290300370300200241f0006a200241106a41206a290300370300200241c0006a41286a200241106a41186a290300370300200241c0006a41206a200241106a41106a29030037030020022007370380012002420037034820024201370340200220022903103703502002200936029c012002200436029801200220083602900120022006370388012002200541016a220a3602940141002d008083d480001a41d00041002802f482d48000118280808000002205450d012005417e6a41003b000020052004360008200220053602a8012005200a360004200241d0003602a401200520083600002005200936000c200241103602ac01200241c0006a41106a200241a4016a10f78e80800020022802a40121042001200320022802a801220520022802ac0141002802dc82d480001183808080000002402004450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410f21030b200020033a000002402002280204450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200241b0016a2480808080000f0b410141d00010ab80808000000bab05030c7f027e037f23808080800041b0016b2202248080808000200241046a200110c986808000200241c0006a20022802082201200228020c220310e38580800002400240024020022802404101710d00410521040c010b200241106a41286a2204200241f8006a2205290300370300200241106a41206a2206200241f0006a2207290300370300200241106a41186a2208200241c0006a41286a2209290300370300200241106a41106a220a200241c0006a41206a220b290300370300200220022903503703102002200241c0006a41186a220c2903003703180240200228029801220d0d00410521040c010b200229038801210e200229038001210f20022802900121102002280294012111200228029c012112200c2002290318370300200520042903003703002007200629030037030020092008290300370300200b200a2903003703002002200f370380012002420037034820024201370340200220022903103703502002201236029c012002200d3602980120022010360290012002200e370388012002201141016a2204417f20041b22053602940141002d008083d480001a41d00041002802f482d48000118280808000002204450d012004417e6a41003b00002004200d360008200220043602a80120042005360004200241d0003602a401200420103600002004201236000c200241103602ac01200241c0006a41106a200241a4016a10f78e80800020022802a401210d2001200320022802a801220420022802ac0141002802dc82d48000118380808000000240200d450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b410f21040b200020043a000002402002280204450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200241b0016a2480808080000f0b410141d00010ab80808000000bbd0801087f23808080800041a0026b2203248080808000200341046a200110c986808000200341106a20032802082204200328020c220510e385808000200342003703182003280210210120034200370310024002400240024002402001410171450d00200328026c21062003280268210720032802642101200341f0006a200341206a220841c40010f4978080001a0240024002400240024020070e020001020b41002802b483d48000450d00410028029080d480002107410028028c80d48000210941002802b083d48000210a200342003702f80120034281808080c0003702f0012003418088c580003602ec012003410f3602e801200341ac87c580003602e401200341013602e001200341a8fec48000ad4280808080b009843702d801200341003602d401200341bb87c58000ad4280808080c001843702cc01200341003602c80120034281808080b0ce013702c001200941b4f4ca8000200a410246220a1b200341c0016a2007419cf4ca8000200a1b280210118b80808000000b2006200172450d0120010d02410121070b20034200370318200342013703102008200341f0006a41c40010f49780800021022000418f023b01002003200636026c20032007417f6a22073602682003200136026441002d008083d480001a41d00041002802f482d48000118280808000002200450d032000417e6a41003b000020002007360008200320003602c40120002001360004200341d0003602c001200020032802603600002000200636000c200341103602c8012002200341c0016a10f78e80800020032802c00121002004200520032802c401220120032802c80141002802dc82d48000118380808000002000450d0620012001417e6a2f00006b41002802ec82d48000118180808000000c060b200341d1016a200241086a290000370000200341d9016a200241106a290000370000200341e1016a200241186a290000370000200341043a00c8012003411e3a00c001200320022900003700c90141014100200341c0016a10d28d8080000c040b200041043a00000c040b41002802b483d480000d010c020b410141d00010ab80808000000b410028029080d480002101410028028c80d48000210241002802b083d480002107200342003702f80120034281808080c0003702f001200341c088c580003602ec012003410f3602e801200341ac87c580003602e401200341013602e001200341a8fec48000ad4280808080b009843702d801200341003602d401200341bb87c58000ad4280808080c001843702cc01200341003602c80120034281808080d0d1013702c001200241b4f4ca8000200741024622071b200341c0016a2001419cf4ca800020071b280210118b80808000000b2000410f3b010020042005410028029482d48000118b80808000000b02402003280204450d00200328020822012001417e6a2f00006b41002802ec82d48000118180808000000b200341a0026a2480808080000b810701057f23808080800041a0016b220224808080800041002103200241f0006a41f8e7c48000410641002802d480d4800011868080800000200241f0006a41106a41f98ec58000410741002802d480d480001186808080000041002d008083d480001a0240412041002802f482d48000118280808000002204450d00200420012900003700002004417e6a220541003b0000200441186a200141186a290000370000200441106a200141106a290000370000200441086a200141086a29000037000020022004412041002802bc80d48000118680808000002002200441206a36029c0120022004360298012002200241106a360294012002200236029001200241e4006a20024190016a4190e3ca800010ab91808000200420052f00006b41002802ec82d48000118180808000000240024002400240200228026c220141206a22054100480d0020022802682103024020050d002002410036020820024280808080103702000c030b4100210641002d008083d480001a200541002802f482d480001182808080000022040d01410121030b2003200541b48bc5800010b980808000000b200220043602042004417e6a41003b0000200241003602082002200536020020014160490d010b2002410041204101410110a38680800020022802042104200228020821060b200420066a22052002290070370000200541186a200241f0006a41186a290000370000200541106a200241f0006a41106a290000370000200541086a200241f0006a41086a2900003700002002200641206a220536020802402001200228020020056b4d0d002002200520014101410110a38680800020022802042104200228020821050b200420056a2003200110f4978080001a200520016a21012002280200210502402002280264450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20022004200110e385808000024002402002280200410171450d002000200241106a41d00010f4978080001a0c010b2000428080808080808080807f370338200042003703302000420037030020004200370340200041286a4200370300200041206a4200370300200041186a4200370300200041106a4200370300200041086a4200370300200041c8006a42003703000b02402005450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241a0016a2480808080000f0b4101412010ab80808000000be60601057f23808080800041d0006b220224808080800041002103200241106a41f8e7c48000410641002802d480d4800011868080800000200241106a41106a41d08dc58000410b41002802d480d480001186808080000041002d008083d480001a02400240412041002802f482d48000118280808000002204450d00200420002900003700002004417e6a220541003b0000200441186a200041186a290000370000200441106a200041106a290000370000200441086a200041086a290000370000200241c0006a2004412041002802bc80d48000118680808000002002200441206a36023c200220043602382002200241c0006a41106a3602342002200241c0006a360230200241046a200241306a4190e3ca800010ab91808000200420052f00006b41002802ec82d48000118180808000000240024002400240200228020c220041206a22054100480d0020022802082103024020050d002002410036024820024280808080103702400c030b4100210641002d008083d480001a200541002802f482d480001182808080000022040d01410121030b2003200541b48bc5800010b980808000000b200220043602442004417e6a41003b0000200241003602482002200536024020004160490d010b200241c0006a410041204101410110a38680800020022802442104200228024821060b200420066a22052002290010370000200541186a200241106a41186a290000370000200541106a200241106a41106a290000370000200541086a200241106a41086a2900003700002002200641206a220536024802402000200228024020056b4d0d00200241c0006a200520004101410110a38680800020022802442104200228024821050b200420056a2003200010f4978080001a2002280240210602402002280204450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b41002d008083d480001a410841002802f482d48000118280808000002203450d012003417e6a41003b0000200320012902003700002002410836024820022003360244200241083602402004200520006a200241c0006a410028028c82d480001186808080000002402006450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000f0b4101412010ab80808000000b4101410810ab80808000000b970601067f23808080800041d0006b220224808080800041002103200241146a41f8e7c48000410641002802d480d4800011868080800000200241246a41808fc58000410941002802d480d480001186808080000020022000280200360234200241c8006a200241346a410441002802e480d48000118680808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a4190e3ca800010ab9180800002400240024002402002280210220441206a22004100480d00200228020c2105024020000d002002410036024020024280808080103702380c030b4100210641002d008083d480001a200041002802f482d480001182808080000022030d01410121030b2003200041b48bc5800010b980808000000b2002200336023c2003417e6a41003b0000200241003602402002200036023820044160490d010b200241386a410041204101410110a386808000200228023c2103200228024021060b200320066a22002002290014370000200041186a200241146a41186a290000370000200041106a200241146a41106a290000370000200041086a200241146a41086a2900003700002002200641206a220636024002402004200228023820066b4d0d00200241386a200620044101410110a386808000200228023c2103200228024021060b200320066a2005200410f4978080001a2002280238210702402002280208450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b41002d008083d480001a0240412041002802f482d48000118280808000002200450d00200020012900003700002000417e6a220541003b0000200041086a200141086a290000370000200041106a200141106a290000370000200041186a200141186a2900003700002003200620046a2000412041002802dc82d4800011838080800000200020052f00006b41002802ec82d480001181808080000002402007450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000f0b4101412010ab80808000000bbf0608017f037e027f017e017f017e017f037e23808080800041c0016b2202248080808000200129034821032001290340210420012903002105200241046a200010c986808000200241d0006a20022802082200200228020c220610e385808000024002402002280250410171450d00200220022903a0013703102002200241a8016a2903003703180c010b20024200370318200242003703100b024002402005a7410171450d00200241d0006a41286a200141386a290300370300200241d0006a41206a200141306a290300370300200241d0006a41186a200141286a290300370300200241e0006a200141206a290300370300200220012903103703502002200141186a2903003703580c010b42002104200241f8006a4200370300200241f0006a4200370300200241e8006a4200370300200241e0006a42003703002002420037035820024200370350428080808080808080807f21030b200241206a41286a200241d0006a41286a22012903002205370300200241206a41206a200241d0006a41206a22072903002208370300200241206a41186a200241d0006a41186a2209290300220a370300200241206a41106a200241d0006a41106a220b290300220c37030020022002290358220d37032820022002290350220e37032020024188016a200537030020024180016a20083703002001200a3703002007200c3703002009200d370300200220033703980120022004370390012002200e370360200241a8016a20022903183703002002420037035820024201370350200220022903103703a00141002d008083d480001a024041d00041002802f482d48000118280808000002201450d002001417e6a41003b0000200120022903a801370008200220013602b801200241d0003602b401200120022903a001370000200241103602bc01200b200241b4016a10f78e80800020022802b40121072000200620022802b801220120022802bc0141002802dc82d480001183808080000002402007450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b02402002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241c0016a2480808080000f0b410141d00010ab80808000000bdb0705037f027e017f017e037f23808080800041b0016b2201248080808000200141046a200010c986808000200141c0006a20012802082202200128020c220310e385808000024002400240024020012802404101710d0042002104200141386a4200370300200141306a4200370300200141286a4200370300200141206a42003703002001420037031820014200370310428080808080808080807f210541002106420021070c010b200141106a41286a200141f8006a290300370300200141106a41206a200141f0006a290300370300200141106a41186a200141c0006a41286a290300370300200141206a200141c0006a41206a290300370300200120012903503703102001200141c0006a41186a290300370318200129038801210520012903800121042001280290012106200129039801210720012802940122000d010b4100210841002802b483d48000450d0141002108410028029080d480002100410028028c80d48000210941002802b083d48000210a2001420037027820014281808080c000370270200141a487c5800036026c2001410f360268200141ac87c5800036026420014101360260200141a8fec48000ad4280808080b0098437025820014100360254200141bb87c58000ad4280808080c0018437024c2001410036024820014281808080f0df01370240200941b4f4ca8000200a410246220a1b200141c0006a2000419cf4ca8000200a1b280210118b80808000000c010b2000417f6a21080b200141c0006a41186a2001290318370300200141f8006a200141106a41286a290300370300200141f0006a200141106a41206a290300370300200141c0006a41286a200141106a41186a290300370300200141c0006a41206a200141106a41106a2903003703002001200437038001200142003703482001420137034020012001290310370350200120073703980120012008360294012001200636029001200120053703880141002d008083d480001a024041d00041002802f482d48000118280808000002200450d002000417e6a41003b0000200020073e0008200120003602a80120002008360004200141d0003602a40120002006360000200020074220883e000c200141103602ac01200141c0006a41106a200141a4016a10f78e80800020012802a40121082002200320012802a801220020012802ac0141002802dc82d480001183808080000002402008450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b02402001280204450d00200128020822002000417e6a2f00006b41002802ec82d48000118180808000000b200141b0016a2480808080000f0b410141d00010ab80808000000bf70605037f027e017f017e017f23808080800041b0016b2202248080808000200241046a200010c986808000200241c0006a20022802082203200228020c220410e385808000024002402002280240410171450d00200241106a41286a200241f8006a290300370300200241106a41206a200241f0006a290300370300200241106a41186a200241c0006a41286a290300370300200241206a200241c0006a41206a290300370300200220022903503703102002200241c0006a41186a29030037031820022903880121052002290380012106200228029c012100200228029801210720022903900121080c010b42002108200241386a4200370300200241306a4200370300200241286a4200370300200241206a42003703002002420037031820024200370310428080808080808080807f21054100210741002100420021060b02400240200720007222090d00200241d1006a200141086a290000370000200241d9006a200141106a290000370000200241e1006a200141186a290000370000200241033a00482002411e3a0040200220012900003700494101210741014100200241c0006a10d28d8080000c010b200741016a2201417f20011b21070b200241c0006a41186a2002290318370300200241f8006a200241106a41286a290300370300200241f0006a200241106a41206a290300370300200241c0006a41286a200241106a41186a290300370300200241c0006a41206a200241106a41106a29030037030020022006370380012002420037034820024201370340200220022903103703502002200036029c0120022007360298012002200837039001200220053703880141002d008083d480001a024041d00041002802f482d48000118280808000002201450d002001417e6a41003b000020012007360008200220013602a801200120084220883e0004200241d0003602a401200120083e00002001200036000c200241103602ac01200241c0006a41106a200241a4016a10f78e80800020022802a40121002003200420022802a801220120022802ac0141002802dc82d480001183808080000002402000450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b2009410047210102402002280204450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241b0016a24808080800020010f0b410141d00010ab80808000000bb60201027f41002d008083d480001a02400240412041002802f482d48000118280808000002201450d00200142c2d5a39edcfaf091cd003700002001417e6a41003b00002001428fd982e48187ca80be7f3700182001428a85bedcc9a5d68d07370010200142c0c38addfcd9c9c1c40037000841002d008083d480001a412041002802f482d48000118280808000002202450d012002417e6a41003b0000200041003a001c2000412036021420002001360210200042a080808080043702082000200236020420004120360200200041ed8180800036021820022001290000370000200241086a200141086a290000370000200241106a200141106a290000370000200241186a200141186a2900003700000f0b4101412041bccdc5800010b980808000000b4101412041a8b2c8800010b980808000000bcd0201027f23808080800041d0006b220524808080800002400240200241074b0d00024041002802b483d480000d00410121060c020b410028029080d480002102410028028c80d48000210441002802b083d4800021032005420037024420054281808080c00037023c20054194e4ca800036023820054113360234410121062005410136022c200541a0e3ca8000ad4280808080d00984370224200541003602202005410036021420054281808080900e37020c2005419ce4ca80003602302005419ce4ca8000ad4280808080b00284370218200441b4f4ca8000200341024622031b2005410c6a2002419cf4ca800020031b280210118b80808000000c010b410121062002417c714108460d002004418008490d0020012800082102200041086a200341800810f4978080001a20002002360204410021060b20002006360200200541d0006a2480808080000b820201037f23808080800041106b2202248080808000200128020041c48bc580004112200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41e88bc580004108200041d88bc58000108a8180800041808cc580004108200041a0016a41f08bc58000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bf00503067f017e017f23808080800041d0006b2201248080808000200141286a41d492c58000411441bb91c58000411d4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241ee81808000360238200242f5aa82f3958f93df817f37033020024283c8d3a0bca3e6ceb37f3703282002410136022420024180a2c580003602202002410036021820024101360204200241d380c580003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b592808000200128021422024283c8d3a0bca3e6ceb37f3703002002420437022c20024201370224200241f9f4c3800036022020024100360218200241ee81808000360210200242f5aa82f3958f93df817f3703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610be868080000f0b20030d020c030b200541027621020b20002001200210be868080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610be868080000f0b200042053703000baa0e04027f027e057f017e23808080800041206b2202248080808000410121030240024002400240024002400240024020012903002204427e7c2205a7410120054203541b22060e03050001050b41212107024002400240024020012d00300e050300010302030b410121070c020b200128023c41056a21070c010b411521070b41012108200741016a2207417f20071b220741c10041c20020012d00544102491b6a220920074921074101210302402001280218220a41c000490d0041022103200a41808001490d0041044105200a418080808004491b21030b417f200920071b21074100210a2001290320220542c0005441002001290328220b5022091b0d0220054280800154410020091b0d010240200542808080800454410020091b450d00410421080c030b4111200b7920057942c0007c200b4200521ba74103766b21080c020b024002402001280228220741c0004f0d00410321070c010b02402007418080014f0d00410421070c010b410641072007418080808004491b21070b02402001290330220542c0005441002001290338220b5022031b450d00200741016a21030c040b20054280800154410020031b450d02200741026a21030c030b410221080b417f2007200820036a6a220320032007491b22034100480d020c010b0240200542808080800454410020031b450d00200741046a21030c010b20074111200b7920057942c0007c200b4200521ba74103766b6a21030b41002d008083d480001a200341002802f482d480001182808080000022070d014101210a0b200a200341c08dc5800010b980808000000b2007417e6a41003b00002002200736021820022003360214024002400240024020060e03020100020b200741c5003a00002002410136021c20012d0040210341012107024020022802144101470d00200241146a4101410110f491808000200228021c21070b200228021820076a20033a00002002200741016a220736021c200141306a2103200141286a21060240024020012802104101470d00200129031822057aa7417f6a2208410f2008410f491b410120081b2001290320200542ff3f200542ff3f561b420c8880a74104747221080240200228021420076b41014b0d00200241146a2007410210f491808000200228021c21070b200228021820076a20083b0000200741026a21070c010b024020022802142007470d00200241146a2007410110f491808000200228021c21070b200228021820076a41003a0000200741016a21070b2002200736021c20022006360208200241086a200241146a10dc8480800020022003360208200241086a200241146a10de848080000c020b20074184013a00002002410136021c200141306a200241146a10ed8e808000200141d4006a200241146a10c28c808000200141206a2107200141186a2103024002402004a7410171450d00200129030822057aa7417f6a2206410f2006410f491b410120061b2001290310200542ff3f200542ff3f561b420c8880a741047472210802402002280214200228021c22066b41014b0d00200241146a2006410210f491808000200228021c21060b200228021820066a20083b0000200641026a21060c010b02402002280214200228021c2206470d00200241146a2006410110f491808000200228021c21060b200228021820066a41003a0000200641016a21060b2002200636021c20022003360208200241086a200241146a10dc8480800020022007360208200241086a200241146a10de848080000c010b200720012d00083a00002002410136021c0b200241086a41086a200241146a41086a280200360200200220022902143703080240024020012802b002418080808078460d0020012802b4022106024020012802b80222032002280208200228021022016b4d0d00200241086a200120034101410110a386808000200228021021010b200228020c220720016a2006200310f4978080001a200120036a21010c010b200141a0016a200241086a108186808000200228020c2107200228021021010b200228020821082002200136020402400240200141c0004f0d00410121030c010b02402001418080014f0d00410221030c010b410441052001418080808004491b21030b4100210602400240200320016a22034100480d0041002d008083d480001a200341002802f482d480001182808080000022060d01410121060b2006200341c88cc5800010b980808000000b2006417e6a41003b00002002410036021c20022006360218200220033602142002200241046a360208200241086a200241146a10dc84808000024020012002280214200228021c22036b4d0d00200241146a200320014101410110a386808000200228021c21030b200228021820036a2007200110f4978080001a2002200320016a36021c02402008450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b20002002290214370200200041086a200241146a41086a280200360200200241206a2480808080000bec0201047f23808080800041206b220324808080800041002d008083d480001a0240200241c0026c410472220441002802f482d48000118280808000002205450d002005417e6a41003b00002003410036020c2003200536020820032004360204200320023602102003200341106a360214200341146a200341046a10dc8480800002402002450d00200241c0026c2106200328020c21020340200341146a200110f886808000200328021821050240200328021c2204200328020420026b4d0d00200341046a2002200410f491808000200328020c21020b200328020820026a2005200410f4978080001a2003200220046a220236020c02402003280214450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200141c0026a2101200641c07d6a22060d000b0b20002003290204370200200041086a200341046a41086a280200360200200341206a2480808080000f0b4101200441c08dc5800010b980808000000ba51905017f017e037f047e057f23808080800041b00a6b220324808080800002400240024002400240024002402001290300427e7c2204a7410120044203541b0e03000102000b200042023703000c020b200128023821052001280234210620012d003021072003410e6a200141d4006a41c20010f4978080001a0240024020070e03040100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20004205370300200041013b0108200141a0016a10c08680800020012802b0022200418080808078460d032000450d0320012802b40222012001417e6a2f00006b41002802ec82d48000118180808000000c030b20004204370300200020032903800637030820034188066a20012903102204370300200041106a200437030020034180066a41106a200141186a290300220437030020034180066a41186a200141206a290300220837030020034180066a41206a200141286a290300220937030020034180066a41286a200141306a290300220a37030020034180066a41306a200141386a290300220b370300200041186a2004370300200041206a2008370300200041286a2009370300200041306a200a370300200041386a200b370300200020012d00403a00400b200041d0006a200141a0016a41900110f4978080001a20012802b0022200418080808078460d012000450d0120012802b40222012001417e6a2f00006b41002802ec82d48000118180808000000c010b200341d2006a200141336a2d00003a0000200341e3006a200141c4006a290000370000200341d0006a41186a200141c9006a2900003700002003200536005720032006360053200320012f00313b01502003200129003c37005b200341b8046a200141b8026a280200360200200320012903b0023703b004200341a0036a200141a0016a41900110f4978080001a20012903002104200341a40a6a410010c786808000200341830a6a20032802a80a220720032802ac0a10de858080000240024020032d00830a4101470d00200341c0096a41186a2003419c0a6a290000370300200341d0096a200341940a6a290000370300200341c8096a2003418c0a6a290000370300200320032900840a3703c0090c010b200341c0096a41186a4200370300200341d0096a4200370300200341c8096a4200370300200342003703c0090b024020032802a40a450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200341830a6a2001108c89808000200341830a6a41016a210702400240024020032d00830a4101470d00200320072f00003b0198032003200741026a2d00003a009a03024020032802b0042201418080808078460d002001450d0020032802b40422012001417e6a2f00006b41002802ec82d48000118180808000000b200341a0036a10c0868080000c010b200341e0096a41186a200741186a2900002208370300200341e0096a41106a200741106a2900002209370300200341e0096a41086a200741086a290000220a37030020034180096a41086a2205200341c0096a41086a29030037030020034180096a41106a2206200341c0096a41106a29030037030020034180096a41186a220c200341c0096a41186a29030037030020032007290000220b3703e009200320032903c0093703800920034180096a41386a2207200837030020034180096a41306a220d200937030020034180096a41286a220e200a37030020034180096a41206a220f200b370300200341b8066a41386a22102007290300370300200341b8066a41306a2207200d290300370300200341b8066a41286a220d200e290300370300200341b8066a41206a220e200f290300370300200341b8066a41186a220f200c290300370300200341b8066a41106a220c2006290300370300200341b8066a41086a2206200529030037030020032003290380093703b806200341f5086a2010290300370000200341ed086a2007290300370000200341e5086a200d290300370000200341dd086a200e290300370000200341d5086a200f290300370000200341cd086a200c290300370000200341c5086a2006290300370000200320032903b8063700bd082003419d076a200341a0036a41a00110f4978080001a200341f8066a41086a200141136a290000370300200341f8066a41106a2001411b6a290000370300200341f8066a41186a200141236a29000037030020034195076a200141286a29000037000020032001410a6a22072d00003a009a03200320012f01083b0198032003200129000b3703f80620044202520d010b200020032f0198033b01082000410a6a20032d009a033a0000200042053703000c010b200341f0006a410b72200341f8066a41850210f4978080001a200341023602800320032004370370200320012f01083b0178200320072d00003a007a02400240200328028801220141c0004f0d00410521010c010b02402001418080014f0d00410621010c010b410841092001418080808004491b21010b02400240200329039001220442c00054410020032903980122085022071b450d00410121070c010b024020044280800154410020071b450d00410221070c010b0240200442808080800454410020071b450d00410421070c010b411120087920047942c0007c20084200521ba74103766b21070b41002d008083d480001a200120076a220741002802f482d48000118280808000002201450d01410021052001417e6a41003b0000200341003602a803200320013602a403200320073602a0030240024020032802b002418080808078460d0020032802b402210c024020032802b802220620074d0d00200341a0036a4100200610f49180800020032802a403210120032802a80321050b200120056a200c200610f4978080001a2003200520066a3602a8030c010b200341a0016a200341a0036a10ff858080000b200341f0006a41206a2101200341f0006a41186a2107200341c0026a21050240024020032802704101470d00200329037822047aa7417f6a2206410f2006410f491b410120061b200329038001200442ff3f200442ff3f561b420c8880a741047472210c024020032802a00320032802a80322066b41014b0d00200341a0036a2006410210f49180800020032802a80321060b20032802a40320066a200c3b0000200641026a21060c010b024020032802a00320032802a8032206470d00200341a0036a2006410110f49180800020032802a80321060b20032802a40320066a41003a0000200641016a21060b200320063602a803200320073602800920034180096a200341a0036a10dc84808000200320013602800920034180096a200341a0036a10de848080002005200341a0036a10878c80800020032802a403210120032802a00321070240024020032802a80322054180024b0d002003410e6a20012005200341d0006a10a28d80800021050c010b200341a0036a2001200541002802c480d48000118680808000002003410e6a200341a0036a4120200341d0006a10a28d80800021050b02402007450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b024020050d002000420537030020004180083b0108024020032802b0022201418080808078460d002001450d0020032802b40222012001417e6a2f00006b41002802ec82d48000118180808000000b200341a0016a10c0868080000c010b200341d8056a41086a2207200341f0006a410872220141086a290300370300200341d8056a41106a2205200141106a290300370300200341d8056a41186a2206200141186a290300370300200341d8056a41206a220c200141206a290300370300200320012903003703d8052003290370210420032802b402210d20032802b0022101200341c0046a200341f0006a41306a41900110f4978080001a0240200141808080807872418080808078460d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b2000200329006137004120034180066a41286a2201200329015037030020034180066a41306a220d200341d0006a41086a290100370300200041c8006a200341d0006a41186a29000037000020034180066a41086a220e200729030037030020034180066a41106a2207200529030037030020034180066a41186a2205200629030037030020034180066a41206a2206200c290300370300200320032903d8053703800620032d0060210c200020043703002000200329038006370308200041106a200e290300370300200041186a2007290300370300200041206a2005290300370300200041286a2006290300370300200041306a2001290300370300200041386a200d2903003703002000200c3a0040200041d0006a200341c0046a41900110f4978080001a0b200341b00a6a2480808080000f0b4101200741c08dc5800010b980808000000b900401057f23808080800041306b220324808080800041002d008083d480001a02400240410141002802f482d48000118280808000002204450d00200441023a00002004417e6a41003b00002003410036022020034280808080800237021841002d008083d480001a410441002802f482d48000118280808000002205450d012005417e6a41003b0000200341246a41086a220641003602002003200536022820034104360224200341186a200341246a10938f808000200341086a41086a22072006280200360200200320032902243703080240200228020822062002280200470d00200241c08ec5800010a0868080000b2002280204200641f8006c6a22054108360244200541db8dc58000360240200541ef818080003602382005428cf5cae0a9e980ae05370330200542938583eab9b6dee628370328200541eb8080800036022020054298a593acd1ceffcb9c7f3703182005429e8eaae68bb9afc6513703102005410136020c20052004360208200542818080801037030020052000290200370248200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541013a0074200520012902003702682005200329030837025c200541e4006a2007280200360200200541f0006a200141086a2802003602002002200641016a360208200341306a2480808080000f0b4101410110ab80808000000b4101410410ab80808000000b8d0401057f23808080800041206b220324808080800041002d008083d480001a02400240410141002802f482d48000118280808000002204450d00200441023a00002004417e6a41003b000041002d008083d480001a410441002802f482d48000118280808000002205450d012005417e6a41003b00002003410c6a41086a22064100360200200320053602102003410436020c200341003602182003200341186a36021c2003411c6a2003410c6a10dc84808000200341086a220720062802003602002003200329020c3703000240200228020822062002280200470d00200241c08ec5800010a0868080000b2002280204200641f8006c6a22054105360244200541d78ec58000360240200541f081808000360238200542deffc89fa4ad9980bd7f370330200542fb9eda9cddbb92baac7f370328200541eb8080800036022020054298a593acd1ceffcb9c7f3703182005429e8eaae68bb9afc6513703102005410136020c20052004360208200542818080801037030020052000290200370248200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541013a0074200520012902003702682005200329030037025c200541e4006a2007280200360200200541f0006a200141086a2802003602002002200641016a360208200341206a2480808080000f0b4101410110ab80808000000b4101410410ab80808000000ba30301047f23808080800041206b220324808080800041002d008083d480001a0240410141002802f482d48000118280808000002204450d00200441053a00002004417e6a41003b00002003410036021c2003428080808010370214200341086a200341146a10928f8080000240200228020822052002280200470d00200241c08ec5800010a0868080000b2002280204200541f8006c6a2206410d360244200641dc8ec58000360240200641ed8080800036023820064296e397c6bfa5aeee46370330200642aceff0b4f2bd8f8fe400370328200641bb80808000360220200642d7c9cb8fc1cf97db3e370318200642e88488d0c0e3aebc133703102006410136020c20062004360208200642818080801037030020062000290200370248200641d0006a200041086a290200370200200641d8006a200041106a280200360200200641013a0074200620012902003702682006200329020837025c200641e4006a200341086a41086a280200360200200641f0006a200141086a2802003602002002200541016a360208200341206a2480808080000f0b4101410110ab80808000000ba50301047f23808080800041206b220324808080800041002d008083d480001a0240410141002802f482d48000118280808000002204450d00200441023a00002004417e6a41003b00002003410036021c200342808080808002370214200341086a200341146a1081858080000240200228020822052002280200470d00200241c08ec5800010a0868080000b2002280204200541f8006c6a22064107360244200641e98ec58000360240200641f181808000360238200642ad9991ef8bd1b4f6d400370330200642c5f3a8ef92f1adb469370328200641eb8080800036022020064298a593acd1ceffcb9c7f3703182006429e8eaae68bb9afc6513703102006410136020c20062004360208200642818080801037030020062000290200370248200641d0006a200041086a290200370200200641d8006a200041106a280200360200200641013a0074200620012902003702682006200329020837025c200641e4006a200341086a41086a280200360200200641f0006a200141086a2802003602002002200541016a360208200341206a2480808080000f0b4101410110ab80808000000b9c0301047f41002d008083d480001a02400240410141002802f482d48000118280808000002203450d00200341053a00002003417e6a41003b000041002d008083d480001a410141002802f482d48000118280808000002204450d01200441003a00002004417e6a41003b00000240200228020822052002280200470d00200241c08ec5800010a0868080000b2002280204200541f8006c6a22064109360244200641f08ec58000360240200641f281808000360238200642b1c9f8f0b68ca3b1a67f370330200642a480a1cbceaeb2f67a370328200641bb80808000360220200642d7c9cb8fc1cf97db3e370318200642e88488d0c0e3aebc133703102006410136020c2006200336020820064281808080103703002006200029020037024820064101360264200620043602602006410136025c200641d0006a200041086a290200370200200641d8006a200041106a280200360200200641003a0074200641f0006a200141086a280200360200200620012902003702682002200541016a3602080f0b4101410110ab80808000000b4101410110ab80808000000bed0301047f41002d008083d480001a02400240410141002802f482d48000118280808000002203450d00200341023a00002003417e6a41003b000041002d008083d480001a41c00041002802f482d48000118280808000002204450d012004428080808080808080807f370038200442003700302004412e6a41003b0000200441266a42003700002004411e6a4200370000200441166a42003700002004410e6a4200370000200441066a42003700002004417e6a42003700000240200228020822052002280200470d00200241c08ec5800010a0868080000b2002280204200541f8006c6a22064107360244200641f98ec58000360240200641bc8180800036023820064281d8c6a0dcc1f1abf500370330200642fcbbed9ecfd6e6994c370328200641eb8080800036022020064298a593acd1ceffcb9c7f3703182006429e8eaae68bb9afc6513703102006410136020c20062003360208200642818080801037030020062000290200370248200641c00036026420062004360260200641c00036025c200641d0006a200041086a290200370200200641d8006a200041106a280200360200200641013a0074200641f0006a200141086a280200360200200620012902003702682002200541016a3602080f0b4101410110ab80808000000b410141c00010ab80808000000b8c0501077f23808080800041206b220324808080800041002d008083d480001a02400240410141002802f482d48000118280808000002204450d00200441053a00002004417e6a41003b000041002d008083d480001a2003410036021c2003428080808010370214412041002802f482d48000118280808000002205450d012005411e6a41003b0000200541166a42003700002005410e6a4200370000200541066a42003700002005417e6a22064200370000200341146a4100412010f4918080002003280218200341146a41086a220728020022086a22092005290000370000200941086a200541086a290000370000200941106a200541106a290000370000200941186a200541186a2900003700002007200841206a360200200520062f00006b41002802ec82d4800011818080800000200341086a41086a22062007280200360200200320032902143703080240200228020822092002280200470d00200241c08ec5800010a0868080000b2002280204200941f8006c6a22054109360244200541808fc58000360240200541bc80808000360238200542ec8ca7e0e2f0c7e6bf7f370330200542e6e2dea393f0baf43a370328200541bb80808000360220200542d7c9cb8fc1cf97db3e370318200542e88488d0c0e3aebc133703102005410136020c20052004360208200542818080801037030020052000290200370248200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541013a0074200520012902003702682005200329030837025c200541e4006a2006280200360200200541f0006a200141086a2802003602002002200941016a360208200341206a2480808080000f0b4101410110ab80808000000b4101412010ab80808000000ba40301047f23808080800041206b220324808080800041002d008083d480001a0240410141002802f482d48000118280808000002204450d00200441023a00002004417e6a41003b00002003410036021c200342808080808002370214200341086a200341146a1080858080000240200228020822052002280200470d00200241c08ec5800010a0868080000b2002280204200541f8006c6a22064105360244200641898fc58000360240200641f381808000360238200642b3e38cadeecce7c04e370330200642bbb98fd096fedce372370328200641eb8080800036022020064298a593acd1ceffcb9c7f3703182006429e8eaae68bb9afc6513703102006410136020c20062004360208200642818080801037030020062000290200370248200641d0006a200041086a290200370200200641d8006a200041106a280200360200200641013a0074200620012902003702682006200329020837025c200641e4006a200341086a41086a280200360200200641f0006a200141086a2802003602002002200541016a360208200341206a2480808080000f0b4101410110ab80808000000bf50401057f23808080800041f0006b220324808080800041002d008083d480001a02400240410141002802f482d48000118280808000002204450d00200441023a00002004417e6a41003b0000200341386a4200370300200341306a4200370300200341286a4200370300200341106a41106a4200370300200341d8006a42003703002003428080808080808080807f3703482003420037034020034200370318200342003703102003420037035041002d008083d480001a41d00041002802f482d48000118280808000002205450d012005417e6a41003b000020032005360268200341d00036026420054200370000200541086a4200370000200341e4006a41086a22054110360200200341106a200341e4006a10f78e808000200341086a22062005280200360200200320032902643703000240200228020822072002280200470d00200241c08ec5800010a0868080000b2002280204200741f8006c6a22054107360244200541f98ec58000360240200541f48180800036023820054299bdaef7b3a4a0cdb07f370330200542b699d4e8d2c3b5f60d370328200541eb8080800036022020054298a593acd1ceffcb9c7f3703182005429e8eaae68bb9afc6513703102005410136020c20052004360208200542818080801037030020052000290200370248200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541013a0074200520012902003702682005200329030037025c200541e4006a2006280200360200200541f0006a200141086a2802003602002002200741016a360208200341f0006a2480808080000f0b4101410110ab80808000000b410141d00010ab80808000000b8b0c03017f017e037f23808080800041b0046b2204248080808000200441013a0030200442043703282004420037032020044280808080c0003703182004427f37031020044200370308200441013a00f003200442043703e803200442003703e00320044280808080c0003703d8032004427f3703d003200442003703c803200441f8036a200441c8036a200441086a10f896808000200441013a0060200442043703582004420037035020044280808080c0003703482004427f37034020044200370338200441c8036a200441f8036a200441386a10f896808000200441013a0090012004420437038801200442003703800120044280808080c0003703782004427f37037020044200370368200441f8036a200441c8036a200441e8006a10f896808000200441013a00c001200442043703b801200442003703b00120044280808080c0003703a8012004427f3703a0012004420037039801200441c8036a200441f8036a20044198016a10f896808000200441013a00f001200442043703e801200442003703e00120044280808080c0003703d8012004427f3703d001200442003703c801200441f8036a200441c8036a200441c8016a10f896808000200441013a00a0022004420437039802200442003703900220044280808080c000370388022004427f37038002200442003703f801200441a8026a200441f8036a200441f8016a10f896808000200441f8036a2002200310cf85808000024002402004280288042203418080808078460d00200441e8026a411c6a200441f8036a411c6a290200370200200441e8026a41246a200441f8036a41246a290200370200200441e8026a412c6a200441f8036a412c6a280200360200200441d8026a41086a200441f8036a41086a2903002205370300200441e8026a41086a20053703002004200429028c043702fc02200420042903f80322053703d802200420053703e802200420033602f80220044198036a41286a200441a8026a41286a29030037030020044198036a41206a200441a8026a41206a29030037030020044198036a41186a200441a8026a41186a29030037030020044198036a41106a200441a8026a41106a29030037030020044198036a41086a200441a8026a41086a290300370300200420042903a80237039803200441f8036a20044198036a200441e8026a10f896808000200441013a00f003200442043703e803200442003703e00320044280808080c0003703d8032004427f3703d003200442003703c8032000200441f8036a200441c8036a10f8968080000c010b200420042f01f80322033b01d802200420042d00fa0322023a00da02200041026a20023a0000200020033b0100200041808080807836021020042802bc022106024020042802c0022200450d002000410171210741002103024020004101460d002000417e7121082006210041002103034002402000280200450d00200041046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002008200341026a2203470d000b0b2007450d0020062003410c6c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b024020042802b802450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20042802c8022106024020042802cc022200450d002000410171210741002103024020004101460d002000417e7121082006210041002103034002402000280200450d00200041046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002008200341026a2203470d000b0b2007450d0020062003410c6c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b20042802c402450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200441b0046a2480808080000b2b00200042923842c7d30020012903005022011b370308200042b0e580f0004280e386f00020011b3703000b8c15020c7f017e23808080800041206b220124808080800041002d008083d480001a2001410036021c20014280808080800137021402400240024002400240024002400240413841002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410d360204200241ffeec48000360200200241306a2204418481808000360200200241286a220542d9d1a5958acddccda77f370300200241206a220642bb82a2f99fad8c91c100370300200241186a220741e481808000360200200241106a220842fe86b386a79ebd9ac000370300200241086a220942f48590aaeaaefbb3213703002002417e6a220a20033b0000200141146a410041014108413810a38680800020012802182203200128021c220b41386c6a220c2002290300370300200c41086a2009290300370300200c41106a2008290300370300200c41186a2007290300370300200c41206a2006290300370300200c41286a2005290300370300200c41306a20042903003703002001200b41016a220c36021c2002200a2f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d012002200241076a417871220420026b22056a2202418481808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c100370320200241e381808000360218200242d0aeacd8f79afcc7053703102002428484bbd38cc2a7d16737030820024112360204200241a59ec480003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a2001200c20046a220c36021c200220062f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d022002200241076a417871220420026b22056a220241bb80808000360230200242d7c9cb8fc1cf97db3e370328200242e88488d0c0e3aebc13370320200241e281808000360218200242e8d49ab3fb86eeaca17f370310200242f888b0f8c4dc91b1b07f370308200241103602042002419cd0c580003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a2001200c20046a220c36021c200220062f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d032002200241076a417871220420026b22056a220241bc80808000360230200242ec8ca7e0e2f0c7e6bf7f370328200242e6e2dea393f0baf43a370320200241e181808000360218200242c0dd8cbdc2bffaba2e37031020024282eb90ef9fd2db9eb37f3703082002410c360204200241acd0c580003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a2001200c20046a220c36021c200220062f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d042002200241076a417871220420026b22056a220241bc80808000360230200242ec8ca7e0e2f0c7e6bf7f370328200242e6e2dea393f0baf43a370320200241e081808000360218200242c5f685f793b1e6e2ad7f370310200242c2c9d9b5a4d0d8f8a67f3703082002410e360204200241e081c680003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a2001200c20046a220c36021c200220062f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d052002200241076a417871220420026b22056a2202418481808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c100370320200241df81808000360218200242cfaac1e1eabd91b702370310200242eca4dfafe394e4be703703082002410a360204200241cf9ec480003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a2001200c20046a220c36021c200220062f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d062002200241076a417871220420026b22056a2202418481808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c100370320200241de81808000360218200242de8bd9ffa7fab0d56a370310200242a2bae48de7f687ed0b3703082002410b360204200241d99ec480003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a2001200c20046a220c36021c200220062f00006b41002802ec82d480001181808080000041002d008083d480001a413841002802f482d48000118280808000002202450d072002200241076a417871220420026b22056a2202418481808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c100370320200241dd81808000360218200242a585c7bdbbd6f584867f370310200242a9b3dfe8d4c9cd89a97f37030820024118360204200241b79ec480003602002002417e6a220620053b00000240200220046b41386a220541386e22042001280214200c6b4d0d00200141146a200c20044108413810a38680800020012802182103200128021c210c0b2003200c41386c6a2002200510f4978080001a200141146a41086a2203200c20046a360200200220062f00006b41002802ec82d4800011818080800000200141086a41086a2003280200220336020020012001290214220d37030802402003200da7470d00200141086a41e892c58000109d868080000b200128020c200341386c6a2202418481808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c1003703202002418481808000360218200242d9d1a5958acddccda77f370310200242bb82a2f99fad8c91c10037030820024114360204200241d492c58000360200200041086a200341016a36020020002001290308370200200141206a2480808080000f0b4108413810ab80808000000b4108413810ab80808000000b4108413810ab80808000000b4108413810ab80808000000b4108413810ab80808000000b4108413810ab80808000000b4108413810ab80808000000b4108413810ab80808000000b3e01017f024002402001410b470d0041002102200041f892c58000410b10f597808000450d010b20002001418493c58000410110a88a80800021020b20020b3e01017f024002402001410a470d00410021022000418c93c58000410a10f597808000450d010b20002001419893c58000410110a88a80800021020b20020bf20101037f23808080800041106b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136020c20024180023b01080240200241086a41f892c58000410b200010c78d80800022030d00200228020822044180fe0371450d0020044101710d000240200228020c280200220428020020042802082201470d002004200141014101410110a386808000200428020821010b2004200141016a360208200428020420016a41fd003a00000b200241106a24808080800020030be20403067f017e027f23808080800041c0006b2201248080808000200141246a41cf80c58000410441faf3c48000411e4104410010c2928080002001420437021c2001420037021420014280808080800137020c41002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a419c91c3800010f38e80800041002d008083d480001a200128020c210420012802102103200128021421052001280224210620012902282107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b00002008410029039881c5800037020020014284808080c00037020c20014280808080c000370214200141306a2001410c6a419c91c3800010f48e8080002006418080808078460d02200120043602142001200336020c200120033602102001200320054105746a360218200041c4006a2001410c6a41a0e0c6800010f38e808000200141176a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b41bc91c38000411141d091c3800010a181808000000bfe0302017f037e2380808080004180056b22082480808080000240024002400240024020060d00200841d0026a10aa8680800020082903e8042109200842e3e3aca5e7a8ebef5c370040200842bfdcfcdef39bce8e6b370038200842dbd4b188d8cab88410370030200842bfa89c83ea92efeb1a370028200841d0026a200841286a412010db85808000200841106a20082903e00242808090bbbad6adf00d20082802d00241017122061b42002009200220092002541b2202420010fc97808000200820082903e802420020061b42002002420010fc97808000200841d0026a200829030822022008290318220920082903007c220a200954ad7c22092009200254ad2008290310200a42808090bbbad6adf00d420010a39380800020082903e802427f20082903d00220082903d802845022061b210a20082903e002427f20061b210b200841286a10aa86808000200841286a2106200741ff01710e03030102030b20004200370308200042003703000c030b20084180016a21060c010b200841d8016a21060b20062903482102200841d0026a10aa8680800020082903e80421092000420037031820002009200220092002541b3703102000200a3703382000200b3703302000420037032820002001ad37032020004200370308200042013703000b200020043703402000200537034820084180056a2480808080000be80601057f23808080800041206b220124808080800020014100360210200142808080808001370208200141146a411041004101410110a19380800020012802182102024002400240024020012802144101460d00200128021c22034200370008200342808090bbbad6adf00d370000200141086a41c884c6800010a086808000200128020c220442e0d6b2aeeaa8dd867337020820044100360200200441013a00742004420437026c20044210370264200420033602602004200236025c20044211370244200441bc88c68000360240200441f581808000360218200442f78f81f8aec1fcd6103702102001410136021041002d008083d480001a410141002802f482d48000118280808000002203450d01200341003a00002003417e6a41003b0000024020012802084101470d00200141086a41c884c6800010a0868080000b200128020c220441013a00ec01200442043702e401200442013702dc01200420033602d801200441013602d4012004420e3702bc01200441e784c680003602b801200441f68180800036029001200442bc94928980add6aff40037028801200442eee2d7eda6c1d0c7ed0037028001200441003602782001410236021041002d008083d480001a411841002802f482d48000118280808000002204450d022004200441036a417c7120046b22026a220341cd003602142003419c94c580003602102003410036020c200342bc80808010370204200341e093c580003602002003417e6a20023b000041002d008083d480001a410141002802f482d48000118280808000002202450d03200241003a00002002417e6a41003b00000240200128021022052001280208470d00200141086a41c884c6800010a0868080000b200128020c200541f8006c6a220441003a0074200441033602702004200336026c2004428180808030370264200420023602602004410136025c2004420f370244200441ad86c68000360240200441f781808000360218200442ea95e8c78c8baee65537021020044283c4cbbefec597902537020820044100360200200041086a200541016a3602002000200129020837020020004112360210200041b5e7c4800036020c200141206a2480808080000f0b2002200128021c41d4c8cc800010b980808000000b4101410110ab80808000000b4104411810ab80808000000b4101410110ab80808000000bc00501047f41002d008083d480001a02400240024041d00041002802f482d48000118280808000002201450d002001200141076a41787120016b22026a2203417e6a20023b000041002d008083d480001a410141002802f482d48000118280808000002202450d01200241053a00002002417e6a41003b000041002d008083d480001a41a80141002802f482d480001182808080000022010d02410441a80110ab80808000000b410841d00010ab80808000000b4101410110ab80808000000b2001200141036a417c7120016b22046a2201410e3602a401200141d19bc580003602a001200141d80036029c01200141f99ac5800036029801200141d70036029401200141a29ac5800036029001200141d40036028c01200141ce99c58000360288012001410036028401200142848080801037027c200141ca99c58000360278200141313602742001419999c58000360270200141c40036026c200141d598c5800036026820014115360264200141c098c580003602602001410036025c200142a3808080103702542001419d98c580003602502001411036024c2001418d98c580003602482001410f360244200141fe97c580003602402001410036023c200142d080808010370234200141ae97c58000360230200141d30036022c200141db96c580003602282001413d3602242001419e96c58000360220200141d40036021c200141ca95c58000360218200141003602142001428b8080801037020c200141bf95c58000360208200141d600360204200141e994c580003602002001417e6a20043b00002003200236022420034101360220200342153702342003200136023020034281808080d002370328200341b480808000360218200342dbd791d5c2919eaecd00370310200342e6ed8d82cc91adcb0537030820034118360204200341df9bc580003602002000410136020020002003360204200041013602080b960503067f017e027f23808080800041c0006b2201248080808000200141186a418382c5800041054184f8c4800041224104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903a882c580003702002001410036020820014280808080c000370200200141246a200141f79bc5800041121091848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b41bc91c38000411141d091c3800010a181808000000bed0202047f027e02402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41003a00000240200220046b411f4b0d0020012004412010f4918080002001280200210220012802042105200128020821040b200520046a220320002900003700002001200441206a2204360208200341186a200041186a290000370000200341106a200041106a290000370000200341086a200041086a29000037000020002903282106200029032021070240200220046b410f4b0d0020012004411010f49180800020012802042105200128020821040b200520046a22032006370008200320073700002001200441106a220436020820002903382106200029033021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000bf20101037f23808080800041106b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136020c20024180023b01080240200241086a418c93c58000410a200010c58d80800022030d00200228020822044180fe0371450d0020044101710d000240200228020c280200220428020020042802082201470d002004200141014101410110a386808000200428020821010b2004200141016a360208200428020420016a41fd003a00000b200241106a24808080800020030b9d08020b7f017e23808080800041c0006b2202248080808000200242f4fa97f89782c7a62d37003820024299cfe7ffe3b8eac708370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241106a200241206a412010e685808000024020022802102203418080808078460d002002280214210402400240200228021822050d00410021060c010b200541146c416c6a21074100210802400240024003402002410c6a2109200241106a2106410c210a4110210b02400240024002400240200420086a220c2d00000e050301010002030b200241106a2109200241206a2106410c210b4108210a0b20062004200a20086a6a28020036020020092004200b20086a6a2802003602000b20072008470d010c040b200c41016a28000041e1eac98b06460d0220072008460d030b200841146a21080c000b0b200c41106a2802004108490d00200c410c6a280200290000210d410121060c010b410021060b200421080340024020082d0000220941034b0d00200820094102744184cfc580006a2802006a2209280200450d00200941046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200841146a21082005417f6a22050d000b0b02402003450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2006450d00200242e9c5fea9cdfbc4d26d37003820024286aaece2939beae46537003020024289df9d82f381819238370028200242d7f0f3fea28baccae700370020200241106a200241206a412010e985808000024002400240024020022802104101470d002002290318200d560d010b200242e9c5fea9cdfbc4d26d37003820024286aaece2939beae46537003020024289df9d82f381819238370028200242d7f0f3fea28baccae7003700202002200d370310200241206a4120200241106a410841002802dc82d480001183808080000020024282fceae49dd9e2861d370038200242de8c84a1ecd0a6d30c37003020024289df9d82f381819238370028200242d7f0f3fea28baccae700370020200241146a41003a0000200241003602102002200241206a4120200241106a4105410041002802c482d48000118d80808000002002280200410171450d0320022802042208450d030240024020022d001022054103710e0400050301000b20054102762105410021080c030b20084105490d03200541034b0d03200228001122054180808080044921080c020b2002410036023020024101360224200241b893c5800036022020024204370228200241206a41c093c5800010fe80808000000b20084104490d0120022f001120022d0013411074722204418002492108200441087420057241027621050b20080d0020050d0041d093c58000109781808000000b20004200370300200041086a4200370300200241c0006a2480808080000be00404017f027e017f037e2380808080004180016b22002480808080002000428fa48ce9f7dcc49a887f370048200042cbb1ef82aade92ce26370040200042b9e088b7b6cdc2d113370038200042c5e4f4b9cff9d18a0b370030200041d0006a200041306a412010db8580800042808090bbbad6adf00d21014200210202400240200029036042808090bbbad6adf00d200028025041017122031b220442808090bbbad6adf00d852000290368420020031b2205842206500d00200041206a2004420042808090bbbad6adf00d420010fc97808000200041106a2005420042808090bbbad6adf00d420010fc97808000200020054200420042808090bbbad6adf00d10fc97808000200041d0006a200029031822052000290320220220002903007c220420025422032000290328220220002903087c2003ad7c220120025420012002511bad7c22022002200554ad20042001428080a4b1fdad96c90e420010a393808000200029035020002903588450450d012000290360220142808090bbbad6adf00d200142808090bbbad6adf00d561b200142808090bbbad6adf00d200029036822024200521b2002501b21010b2000428fa48ce9f7dcc49a887f370068200042cbb1ef82aade92ce26370060200042b9e088b7b6cdc2d113370058200042c5e4f4b9cff9d18a0b3700502000200237033820002001370330200041d0006a4120200041306a411041002802dc82d480001183808080000020004180016a24808080800020064200520f0b20004100360260200041013602542000418cc2cc800036025020004204370258200041d0006a41ecc2cc800010fe80808000000bca0404017f027e037f047e2380808080004180016b220124808080800010fc88808000200142c1aedeeddec9cdd9763700782001428c849fcce4a5fda3da00370070200142dbd4b188d8cab88410370068200142bfa89c83ea92efeb1a3700602001200141e0006a412010e085808000024020012903002001290308844200510d002001290318210220012903102103200141e0006a4120410028029482d48000118b8080800000024041002802b483d48000450d00410028029080d480002104410028028c80d48000210541002802b083d4800021062001420037023820014281808080c000370230200141c89cc5800036022c20014112360228200141d09cc5800036022420014101360220200141acf7c48000ad4280808080800b843702182001410036021420014184f8c48000ad4280808080a0048437020c2001410036020820014281808080903a370200200541b4f4ca8000200641024622061b20012004419cf4ca800020061b280210118b80808000000b2003200284500d00200141e0006a10d78c8080002001200141e0006a412010db85808000200129031821072001290310210820012802002104200110d78c80800020014200200720027d2008200354ad7d2209200820037d220a200856200920075620092007511b22051b4200200441017122041b37036820014200200a20051b420020041b37036020014120200141e0006a411041002802dc82d480001183808080000020012002370318200120033703102001410d3a000041014100200110d28d8080000b20014180016a2480808080000bce1303087f017e037f23808080800041c0026b22012480808080002001429588f09ae5e2ecacca00370078200142a49ffa80bdc6acab63370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200141e0006a4120410028029482d48000118b8080800000200142db94c397a39dc1eaea00370078200142f2f7edb5a4809cb22b370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200141e0006a4120410028029482d48000118b808080000020014281ffa0ee9dfeb487a57f370078200142e8f5928beff0b7b005370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060410221020240200141e0006a412010e58580800041ff017122034103460d00200141e0006a4120410028029482d48000118b8080800000200321020b200142a9a5c4bef894cdeee7003700f401200142d4c584efa7e5bfee643700ec01200142b9e088b7b6cdc2d1133700e401200142c5e4f4b9cff9d18a0b3700dc01200141e0006a200141dc016a412010f2858080000240024020012802602204418080808078460d0020012802642105200128026c2103200142cce78dfda8f884f6bd7f370078200142a2f98685b9fa9aec34370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200120033602dc01200141e0006a4120200141dc016a410441002802dc82d4800011838080800000200142d684ecb8c888e883c3003700f401200142c5c58cc181f088c50c3700ec01200142b9e088b7b6cdc2d1133700e401200142c5e4f4b9cff9d18a0b3700dc01200141e0006a200141dc016a412010f38580800002402001280260450d00200141386a200141fc006a290200370300200141306a200141f4006a290200370300200141206a41086a200141ec006a2902003703002001200129026437032020012001290288013702442001200128028401360240200142e68dc38d9b83b9ae283700f401200142aa8ec1edcdf9d3663700ec01200142b9e088b7b6cdc2d1133700e401200142c5e4f4b9cff9d18a0b3700dc01200141e0006a200141dc016a412010eb8580800020012802602206418080808078460d00200128026c2107200128026421082001290298012109200141cc006a41086a220a2001280270220b200b2001280274413c6c6a10ca828080002001200937024c02402006450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b02402007450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200142dff88396b8eeb3817c37007820014283e3ced79d99b9c6c400370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200141dc016a200141e0006a412010ec85808000024020012802dc014102460d00200141e0006a41186a200141dc016a41186a290200370300200141e0006a41106a220b200141dc016a41106a290200370300200141e0006a41086a200141dc016a41086a290200370300200120012902dc01370360200141e0006a10fb88808000200b10ad888080000b200141186a200141346a2001413c6a10fd88808000200128021c210b200128021821062001428f9dab92a2fc9bd272370078200142e2f097f0d8d3f1adf300370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200141106a200141e0006a412010d085808000024020012802104101470d00200141e0006a4120410028029482d48000118b80808000000b200141003602a80120014280808080c0003702a001200141ac016a4104410410d388808000200142dff88396b8eeb3817c37007820014283e3ced79d99b9c6c400370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200141dc016a200141e0006a412010ec858080000240024020012802dc014102460d00200141b8016a41186a200141dc016a41186a290200370300200141b8016a41106a200141dc016a41106a290200370300200141b8016a41086a200141dc016a41086a290200370300200120012902dc013703b8012002410220012d00d40141024622081b21020c010b200141003602d001200141003602c801200142003703c001200141023a00d401200141003602b801410121080b200141ec016a200141b4016a2802003602002001200b3602e001200120063602dc01200120012902ac013702e401200120023a009102200141003a00f001200142939685e2c5afc3c644370078200142dbfcc3e0bc84a3df01370070200142b9e088b7b6cdc2d113370068200142c5e4f4b9cff9d18a0b370060200141086a200141e0006a412010d0858080002001280208210b200128020c2106024020080d0020024102460d00410521030c030b20064100200b4101711b220b2003200b2003491b2106024020012802b8014101470d00200b20034f0d00200620012802bc01220b4f0d0041042103200621070c030b200141e0006a200141c0016a200141dc016a200141cc006a10b88280800020012802702108200128026c210b20012802682107200128026421030240024020012802600d002001280274210c200141c8016a10ad888080002001200c3602d001200120083602cc012001200b3602c801200120073602c401200120033602c001024020024102460d00200120023a00d4010b200120063602bc01200141013602b8010c010b20034106470d030b200141e0006a41186a2202200141b8016a41186a290300370300200141e0006a41106a220b200141b8016a41106a290300370300200141e0006a41086a2203200141b8016a41086a290300370300200120012903b801370360200141e0006a10e488808000200141e0006a41306a200141dc016a41306a290200370300200141e0006a41286a200141dc016a41286a290200370300200141e0006a41206a200141dc016a41206a2902003703002002200141dc016a41186a290200370300200b200141dc016a41106a2902003703002003200141dc016a41086a290200370300200120012902dc01370360200142b58ab3f59aafe8bb263700ac022001428197ddb2f4a682d8dd003700a402200142b9e088b7b6cdc2d11337009c02200142c5e4f4b9cff9d18a0b37009402200141b4026a200141e0006a10fe8480800020014194026a4120200141b4026a410028028c82d4800011868080800000200310ad88808000200141a0016a10db88808000200a10ad888080000b02402004450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200141c0026a2480808080000f0b41e29cc58000419a0241fc9ec5800010a181808000000b2001200836026c2001200b360268200120073602642001200336026041aca0c580004122200141e0006a419ca0c5800041d0a0c5800010a981808000000be00c010b7f23808080800041f0006b22022480808080002002429588f09ae5e2ecacca0037002c200242a49ffa80bdc6acab63370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b3700140240200241146a412010ea8580800041fd01710d00200242bdb9c185ebd5beb6e00037002c2002428ab9b2f0b1fbfe8ab77f370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241146a4120410028029482d48000118b80808000000b108089808000200242a9a5c4bef894cdeee70037002c200242d4c584efa7e5bfee64370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241146a4120410028029482d48000118b8080800000200242efe0d69cf8bda6cb5d37002c200242d6e9cddfbec0b7fd78370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241146a4120410028029482d48000118b8080800000200242908cf1f9cc86e8f85137002c200242d4a4d2bc9ca3a4d768370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241146a4120410028029482d48000118b8080800000200242e3d488ecd2ee88dde30037002c200242ce80d7eca9b9a7a316370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241146a4120410028029482d48000118b80808000002002428ba4f08ac7ad89c4ad7f37002c200242d7c9cea6cfa8b4c4a47f370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241146a4120410028029482d48000118b8080800000200242939685e2c5afc3c64437002c200242dbfcc3e0bc84a3df01370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b370014200241086a200241146a412010d085808000200242d684ecb8c888e883c300370068200242c5c58cc181f088c50c370060200242b9e088b7b6cdc2d113370058200242c5e4f4b9cff9d18a0b370050200241146a200241d0006a412010f38580800020022802142103200228023821042002428f9dab92a2fc9bd27237002c200242e2f097f0d8d3f1adf300370024200242b9e088b7b6cdc2d11337001c200242c5e4f4b9cff9d18a0b37001420022004410020031b360250200241146a4120200241d0006a410441002802dc82d4800011838080800000200242f4fa97f89782c7a62d37002c20024299cfe7ffe3b8eac708370024200242fc90b9e5d09296e77737001c200242a6d4e6f1a4dd959860370014200241d0006a200241146a412010e6858080000240024020022802502205418080808078460d0020022802542106024020022802582204450d004100210720062103200421084100210903400240024020032d0000450d004100210a0c010b0240200341016a2d000041ff017141c300460d004100210a0c010b0240200341026a2d000041ff017141cd00460d004100210a0c010b0240200341036a2d000041ff017141cc00460d004100210a0c010b0240200341046a2d000041ff017141d300460d004100210a0c010b20022003410c6a290200370250200241146a200241d0006a10f182808000024020022d0014220b4102470d004100210a0c010b4100210a20022802540d00200b410171450d002002280116210c410121074101210a0b200341146a2103200a20096a21092008417f6a22080d000b024002400240200941014b0d0020074101710d01200621030c020b2002410036022420024101360218200241e8a1c580003602142002420437021c200241146a41f0a1c5800010fe80808000000b200241003a004b2002200c36024420062103200c41ffffff074b0d030b0340024020032d0000220941034b0d00200320094102744184cfc580006a2802006a2209280200450d00200941046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032004417f6a22040d000b0b2005450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20004200370300200041086a4200370300200241f0006a2480808080000f0b200242013702202002410236021820024190a1c580003602142002410036024c2002418680808000ad422086200241cc006aad843703502002200241d0006a36021c4100200241c4006a410372200241cb006a200241146a41a0a1c5800010e691808000000baa0302047f047e23808080800041306b22022480808080000240024020012802082203280200220428020422050d00410121040c010b20042005417f6a36020420042004280200220541016a3602002001427f200129030042017c22062006501b37030020052d00002105410021040b02400240024020044101710d0002400240200541ff01710d00420021070c010b024002402003280200220428020422030d00410121040c010b20042003417f6a36020420042004280200220341016a3602002001427f200129030042017c22062006501b37030020032d00002103410021040b20044101710d012005ad2206420f832208500d01420121072003ad42ff0183420886200642f001838442048842022008862206420c8842012008420b561b7e220820065a0d010b200241086a200110d18480800020022802084101710d00200228020c2104200241106a200110d6848080002002280210410171450d010b200042023703000c010b200229032021092000200229032837032820002009370320200020083703102000200637030820002004360218200020073703000b200241306a2480808080000b9d4801067f23808080800041c0006b22012480808080002001410036021420014280808080800137020c2001410036021841002d008083d480001a024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240413041002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a2202410f36022c200241e7bec58000360228200241dd003602242002418abec580003602202002410036021c2002429380808010370214200241f7bdc58000360210200241d80036020c2002419fbdc58000360208200241d200360204200241cdbcc580003602002002417e6a20033b00002001410636023c2001410636023420012002360238200141186a200141346a2001410c6a10868980800041002d008083d480001a411841002802f482d48000118280808000002202450d012002200241036a417c7120026b22046a2203412436021420034183b8c58000360210200341cb0036020c200341b8b7c58000360208200341da00360204200341deb6c580003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d02200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241033602702002200336026c2002428180808030370264200220043602602002410136025c2002421b370244200241fb87c68000360240200241f881808000360218200242c4a8f2ba93b1af9f9e7f370210200242c2b4c89cf0acfc99e8003702082002410036020041002d008083d480001a2001200541016a360214413041002802f482d48000118280808000002202450d032002200241036a417c7120026b22036a220241c20036022c200241dfaec58000360228200241dc0036022420024183aec58000360220200241cf0036021c200241b4adc5800036021820024100360214200242898080801037020c200241abadc58000360208200241d600360204200241d5acc580003602002002417e6a20033b0000200141003602202001428080808010370218200141346a200141186a10928f808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a220342153702442003418287c68000360240200341ed8080800036021820034296e397c6bfa5aeee46370210200342aceff0b4f2bd8f8fe400370208200341003602002003200129023437025c200341013a0074200341063602702003200236026c20034106360268200341e4006a2001413c6a2802003602002001200441016a36021441002d008083d480001a412841002802f482d48000118280808000002202450d042002200241036a417c7120026b22046a2203410b360224200341ecc0c58000360220200341d90036021c20034193c0c58000360218200341003602142003429e8080801037020c200341f5bfc58000360208200341d7003602042003419ebfc580003602002003417e6a20043b00002001418080808078360218200141346a200141186a108989808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024211370244200241e888c68000360240200241ed8080800036021820024296e397c6bfa5aeee46370210200242aceff0b4f2bd8f8fe400370208200241003602002002200129023437025c200241003a0074200241053602702002200336026c20024105360268200241e4006a2001413c6a2802003602002001200441016a36021441002d008083d480001a411841002802f482d48000118280808000002202450d052002200241036a417c7120026b22046a220341dc003602142003419cb1c580003602102003410036020c200342b480808010370204200341e8b0c580003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d06200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241033602702002200336026c2002428180808030370264200220043602602002410136025c2002420e370244200241a48bc68000360240200241f981808000360218200242ebd7fefbd5c0f891683702102002429dab84f7bcfdc8eab97f3702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d072002200241036a417c7120026b22046a2203413836020420034195bcc580003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d08200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024214370244200241dc89c68000360240200241e980808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba1743702082002410036020041002d008083d480001a2001200541016a360214411841002802f482d48000118280808000002202450d092002200241036a417c7120026b22046a22034122360214200341b6b4c580003602102003410036020c200342c780808010370204200341efb3c580003602002003417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002204450d0a200441003600002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241033602702002200336026c2002428480808030370264200220043602602002410436025c20024219370244200241cd8ac68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc133702082002410036020041002d008083d480001a2001200541016a360214413841002802f482d48000118280808000002202450d0b2002200241036a417c7120026b22036a22024118360234200241c6b6c58000360230200241db0036022c200241ebb5c58000360228200241dc003602242002418fb5c580003602202002410036021c2002429b80808010370214200241e5bac58000360210200241d80036020c2002418dbac58000360208200241dd00360204200241b0b9c580003602002002417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002204450d0c200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220341013a0074200341073602702003200236026c20034281808080f000370264200320043602602003410136025c20034218370244200341dc85c68000360240200341fa81808000360218200342818bb0b4d5b0dbb754370210200342ea84f3f6cec9a29e1d3702082003410036020041002d008083d480001a2001200541016a360214412841002802f482d48000118280808000002202450d0d2002200241036a417c7120026b22046a22034118360224200341c6b6c58000360220200341db0036021c200341ebb5c58000360218200341dc003602142003418fb5c580003602102003410036020c200342b780808010370204200341d8b4c580003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d0e200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241053602702002200336026c20024281808080d000370264200220043602602002410136025c2002420e370244200241ae88c68000360240200241a281808000360218200242f6bce8febfd4f3d40137021020024298a897bdf0be82e33d3702082002410036020041002d008083d480001a2001200541016a360214413041002802f482d48000118280808000002202450d0f2002200241036a417c7120026b22036a2202412b36022c200241b5a9c5800036022820024100360224200242d38080801037021c200241e2a8c58000360218200241db0036021420024187a8c580003602102002410036020c200242b1808080103702042002419db3c580003602002002417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002204450d10200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220341003a0074200341063602702003200236026c20034281808080e000370264200320043602602003410136025c2003420f370244200341d884c68000360240200341d4808080003602182003428382d1e2e5ecafee3b370210200342959bacd4a8e780e8a67f3702082003410036020041002d008083d480001a2001200541016a360214413841002802f482d48000118280808000002202450d112002200241036a417c7120026b22036a2202412b360234200241b5a9c580003602302002410036022c200242d380808010370224200241e2a8c58000360220200241db0036021c20024187a8c5800036021820024100360214200242928080801037020c200241f5a7c58000360208200241d9003602042002419ca7c580003602002002417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002204450d12200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220341003a0074200341073602702003200236026c20034281808080f000370264200320043602602003410136025c20034216370244200341a889c68000360240200341fb81808000360218200342e3e8dcaaa1969c9ca87f3702102003428aa5eae59ccaf8c71d3702082003410036020041002d008083d480001a2001200541016a360214413041002802f482d48000118280808000002202450d132002200241036a417c7120026b22036a2202412b36022c200241b5a9c5800036022820024100360224200242d38080801037021c200241e2a8c58000360218200241db0036021420024187a8c580003602102002410036020c200242ca808080103702042002419eabc580003602002002417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002204450d14200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220341003a0074200341063602702003200236026c20034281808080e000370264200320043602602003410136025c200342113702442003419985c68000360240200341fc81808000360218200342c8ede7d5c2b3838ae400370210200342c6e3d7948e8e968b7d370208200341003602002001200541016a3602142001410036021841002d008083d480001a412041002802f482d48000118280808000002202450d152002200241036a417c7120026b22036a2202411836021c20024184a7c58000360218200241d900360214200241aba6c580003602102002410036020c200242bd80808010370204200241f3b8c580003602002002417e6a20033b00002001410436023c2001410436023420012002360238200141186a200141346a2001410c6a10858980800041002d008083d480001a412041002802f482d48000118280808000002202450d162002200241036a417c7120026b22046a2203411836021c20034184a7c58000360218200341d900360214200341aba6c580003602102003410036020c200342d280808010370204200341d9a5c580003602002003417e6a20043b00002001410036022020014100360218200141346a200141186a10ec88808000200141186a10b388808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024210370244200241aa85c68000360240200241fd81808000360218200242e1d8b6c5fae9c8d4d100370210200242bbccd1d4d3b8b5beed00370208200241003602002002200129023437025c200241013a0074200241043602702002200336026c20024104360268200241e4006a2001413c6a2802003602002001200441016a36021441002d008083d480001a411841002802f482d48000118280808000002202450d172002200241036a417c7120026b22046a2203413b3602142003419aacc580003602102003410036020c200342b280808010370204200341e8abc580003602002003417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002204450d18200441003600002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241033602702002200336026c2002428480808030370264200220043602602002410436025c20024219370244200241d183c68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc133702082002410036020041002d008083d480001a2001200541016a360214411841002802f482d48000118280808000002202450d192002200241036a417c7120026b22046a220341d700360214200341c6b2c580003602102003410036020c200342a580808010370204200341a1b2c580003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d1a200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241033602702002200336026c2002428180808030370264200220043602602002410136025c2002421c370244200241888bc68000360240200241fe81808000360218200242b285d9e2bc9db8ee66370210200242fccaccb8ace7c2c60b3702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d1b2002200241036a417c7120026b22046a22034128360204200341f6bec580003602002003417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002204450d1c200441003600002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428480808010370264200220043602602002410436025c2002420d370244200241bc86c68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc133702082002410036020041002d008083d480001a2001200541016a360214411841002802f482d48000118280808000002202450d1d2002200241036a417c7120026b22046a220341d700360214200341c6b2c580003602102003410036020c200342a180808010370204200341ceb3c580003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d1e200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241033602702002200336026c2002428180808030370264200220043602602002410136025c20024218370244200241f089c68000360240200241fe81808000360218200242b285d9e2bc9db8ee66370210200242fccaccb8ace7c2c60b370208200241003602002001200541016a3602142001410036021841002d008083d480001a411841002802f482d48000118280808000002202450d1f2002200241036a417c7120026b22036a2202413b3602142002419aacc580003602102002410036020c200242a980808010370204200241f8b1c580003602002002417e6a20033b00002001410336023c2001410336023420012002360238200141186a200141346a2001410c6a10878980800041002d008083d480001a411841002802f482d48000118280808000002202450d202002200241036a417c7120026b22046a2203413c3602142003418baac580003602102003410036020c200342ab80808010370204200341e0a9c580003602002003417e6a20043b00002001410036022020014280808080c000370218200141346a200141186a10918f808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a2202420e3702442002419189c680003602402002418581808000360218200242d0eeea8fe2e880c510370210200242b1b9bbf6d09c8ca47b370208200241003602002002200129023437025c200241013a0074200241033602702002200336026c20024103360268200241e4006a200141346a41086a2802003602002001200441016a36021441002d008083d480001a410841002802f482d48000118280808000002202450d212002200241036a417c7120026b22046a220341cc00360204200341a7b8c580003602002003417e6a20043b00002001410036022020014280808080c000370218200141346a200141186a10918f808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024215370244200241b28ac680003602402002418581808000360218200242d0eeea8fe2e880c510370210200242b1b9bbf6d09c8ca47b370208200241003602002002200129023437025c200241013a0074200241013602702002200336026c20024101360268200241e4006a2001413c6a2802003602002001200441016a36021441002d008083d480001a411841002802f482d48000118280808000002202450d222002200241036a417c7120026b22046a22034136360214200341a3a5c580003602102003410036020c200342cb80808010370204200341d8a4c580003602002003417e6a20043b00002001410036022020014280808080c000370218200141346a200141186a10918f808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024214370244200241cd88c680003602402002418581808000360218200242d0eeea8fe2e880c510370210200242b1b9bbf6d09c8ca47b370208200241003602002002200129023437025c200241013a0074200241033602702002200336026c20024103360268200241e4006a200141346a41086a2802003602002001200441016a36021441002d008083d480001a410841002802f482d48000118280808000002202450d232002200241036a417c7120026b22046a22034139360204200341afb0c580003602002003417e6a20043b0000200141186a411041004101410110a193808000200128021c210620012802180d24200128022022044200370008200442808090bbbad6adf00d370000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002429080808010370264200220043602602002200636025c20024217370244200241b28bc68000360240200241f581808000360218200242f78f81f8aec1fcd610370210200242e0d6b2aeeaa8dd86733702082002410036020041002d008083d480001a2001200541016a360214411041002802f482d48000118280808000002202450d252002200241036a417c7120026b22046a2203413c36020c200341d9bbc58000360208200341d90036020420034180bbc580003602002003417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002204450d26200441003600002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241023602702002200336026c2002428480808020370264200220043602602002410436025c200242213702442002419787c68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc133702082002410036020041002d008083d480001a2001200541016a360214411041002802f482d48000118280808000002202450d272002200241036a417c7120026b22046a2203412e36020c200341aaa4c58000360208200341d700360204200341c7aac580003602002003417e6a20043b000020014200370318200141346a200141186a108489808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a2202421a370244200241ff84c68000360240200241e680808000360218200242e1c1c0fddab9f88065370210200242d0b0c2c0bfa6f4d53c370208200241003602002002200129023437025c200241003a0074200241023602702002200336026c20024102360268200241e4006a2001413c6a2802003602002001200441016a36021441002d008083d480001a411041002802f482d48000118280808000002202450d282002200241036a417c7120026b22046a2203412e36020c200341aaa4c58000360208200341d600360204200341d4a3c580003602002003417e6a20043b000020014200370318200141346a200141186a108489808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024219370244200241c986c68000360240200241e680808000360218200242e1c1c0fddab9f88065370210200242d0b0c2c0bfa6f4d53c370208200241003602002002200129023437025c200241003a0074200241023602702002200336026c20024102360268200241e4006a2001413c6a2802003602002001200441016a36021441002d008083d480001a411841002802f482d48000118280808000002202450d292002200241036a417c7120026b22046a220341c400360214200341ebafc580003602102003410036020c200342ca80808010370204200341a1afc580003602002003417e6a20043b00002001418080808078360218200141346a200141186a108989808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024218370244200241d58bc68000360240200241ed8080800036021820024296e397c6bfa5aeee46370210200242aceff0b4f2bd8f8fe400370208200241003602002002200129023437025c200241003a0074200241033602702002200336026c20024103360268200241e4006a200141346a41086a2802003602002001410c6a41086a200441016a2202360200200041086a20023602002000200129020c3702002000410f360210200041e9e7c4800036020c200141c0006a2480808080000f0b4104413010ab80808000000b4104411810ab80808000000b4101410110ab80808000000b4104413010ab80808000000b4104412810ab80808000000b4104411810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104411810ab80808000000b4101410410ab80808000000b4104413810ab80808000000b4101410110ab80808000000b4104412810ab80808000000b4101410110ab80808000000b4104413010ab80808000000b4101410110ab80808000000b4104413810ab80808000000b4101410110ab80808000000b4104413010ab80808000000b4101410110ab80808000000b4104412010ab80808000000b4104412010ab80808000000b4104411810ab80808000000b4101410410ab80808000000b4104411810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4101410410ab80808000000b4104411810ab80808000000b4101410110ab80808000000b4104411810ab80808000000b4104411810ab80808000000b4104410810ab80808000000b4104411810ab80808000000b4104410810ab80808000000b2006200128022041d4c8cc800010b980808000000b4104411010ab80808000000b4101410410ab80808000000b4104411010ab80808000000b4104411010ab80808000000b4104411810ab80808000000be30301057f23808080800041306b220124808080800041002d008083d480001a02400240024041d00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202417e6a20033b0000200142d8c192ad8deac8dd3f37002820014284ceb68ad8c4c79c8f7f370020200142e7eacab6b7c9acbc263700182001428de2fdb2e288b2fcd700370010200141086a200141106a412010d085808000200128020c21042001280208210541002d008083d480001a410441002802f482d48000118280808000002203450d012003417e6a41003b00002003200441e40020054101711b36000041002d008083d480001a410841002802f482d480001182808080000022040d024104410810ab80808000000b410841d00010ab80808000000b4101410410ab80808000000b2004200441036a417c7120046b22056a2204412e360204200441f7c0c580003602002004417e6a20053b0000200041013602082000200236020420004101360200200220033602242002410436022020024201370234200220043602302002428480808010370328200241c580808000360218200242cdd1c1cbe3b5a3c444370310200242b9e0ddc2f1d2dbbf4c3703082002410a360204200241a5c1c58000360200200141306a2480808080000bae0503067f017e027f23808080800041c0006b2201248080808000200141186a41cf80c58000410441a883c5800041274104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b00002008410029039881c580003702002001410036020820014280808080c000370200200141306a200141b7c2c58000411310c684808000200141246a200141306a41cac2c58000411810ea838080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b41bc91c38000411141d091c3800010a181808000000b950f03077f017e027f23808080800041c0006b2201248080808000200141206a41d181c58000410541a883c5800041274104410010c292808000200142043702182001420037021020014280808080800137020841002d008083d480001a024002400240024002400240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c20012002360234200141086a200141306a419c91c3800010f38e80800041002d008083d480001a20012802082104200128020c2105200128021021062001280220210720012902242108410841002802f482d48000118280808000002202450d012002200241036a417c71220920026b22036a417e6a20033b000020094100290388c3c5800037020041002d008083d480001a2001410036021020014280808080c000370208410841002802f482d48000118280808000002202450d022002200241036a417c71220320026b220a6a417e6a200a3b000020034100290290fcc38000370200200141086a418c90c3800010a093808000200128020c2202428080808010370208200242808080808001370200200241003a00202002411336021c20024190c3c580003602182002410136021420022003360210200141306a41086a41013602002001200129020837033041002d008083d480001a410841002802f482d48000118280808000002202450d032002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902f0fcc3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241013a00202002411436021c200241a3c3c5800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a411041002802f482d48000118280808000002202450d042002200241036a417c71220320026b220a6a417e6a200a3b0000200341086a41002902e0fdc38000370200200341002902d8fdc3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241023a00202002410636021c200241b7c3c5800036021820024102360214200220033602102002428080808020370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d052002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902c0fbc3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241033a00202002411a36021c200241bdc3c5800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d062002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902f0fac3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241043a00202002411d36021c200241d7c3c5800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d072002200241036a417c71220320026b220a6a417e6a200a3b000020034100290298fac380003702000240200128023822022001280230470d00200141306a418c90c3800010a0938080000b2001280234200241246c220a6a220241053a00202002410c36021c200241f4c3c580003602182002410136021420022003360210200242808080801037020820024280808080800137020020012802342102200120012802303602102001200236020820012002200a6a41246a3602142001200236020c200141306a200141086a419c91c3800010f48e8080002007418080808078460d0820012004360210200120053602082001200536020c2001200520064105746a360214200041c4006a200141086a41a0e0c6800010f38e808000200141136a200141306a41086a2802003600002000200837023c20002007360238200041013a00002000410136025820002009360254200041013602502001200129023037000b20002001290008370001200041086a2001410f6a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b4104410810ab80808000000b4104410810ab80808000000b4104411010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000bed0803067f017e037f23808080800041c0006b2201248080808000200141186a418382c58000410541a883c5800041274104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a02400240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d380c580003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903a882c5800037020041002d008083d480001a2001410036020820014280808080c000370200410841002802f482d48000118280808000002202450d022002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902f880c480003702002001418c90c3800010a0938080002001280204220242808080808001370200200141306a41086a4101360200200241003a00202002411836021c20024180c4c5800036021820024101360214200220093602102002428080808010370208200120012902003703302001200141306a4198c4c58000411910b28480800041002d008083d480001a410841002802f482d48000118280808000002202450d032002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902d0fec3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220241023a00202002411b36021c200241b1c4c5800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a2209200a41016a360200200120012902003703302001200141306a41ccc4c58000411810b684808000200141306a200141e4c4c58000411910d283808000200141246a200141306a41fdc4c58000411110e4838080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d042001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a20092802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841bccdc5800010b980808000000b4104410810ab80808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000b951003057f017e017f23808080800041f0016b220224808080800002400240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a00000240024020040e020001040b2002419c016a200110908580800002400240200228029c012203418080808078460d00200241f8006a2002419c016a41106a290200370300200241f0006a41106a2002419c016a41186a290200370300200241f0006a41186a2002419c016a41206a290200370300200241f0006a41206a2002419c016a41286a290200370300200241f0006a41286a200241cc016a280200360200200220022902a40137037020022802a0012105200241086a200110cf84808000024020022802084101710d0002400240200228020c22040d00410021060c010b02402004410a4f0d00418c0121060c010b417f2004410a6ead42bc017e2207a72007422088a71b21060b2001417f2001280204220820066a220620062008491b2206360204200620012802084f0d00200241003a00df01200220043602a401200241003602a0012002200136029c012002200241df016a3602a801200241e0016a2002419c016a10a988808000024020022d00df014101470d00200241e0016a10a6888080000c010b200241d0016a41086a200241e0016a41086a280200360200200220022902e0013703d0012002200110cf84808000024020022802004101710d002002419c016a20012002280204109583808000200228029c01418080808078460d00200241e0016a41086a22042002419c016a41086a22062802003602002002200229029c013703e0012002419c016a200110b989808000200228029c01418180808078470d03200241e0016a10a28f80800020022802e001450d0020022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000b200241d0016a10a6888080000b2003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c050b200241e0006a2006280200360200200241186a41106a200241f0006a41086a290300370200200241186a41186a200241f0006a41106a290300370200200241186a41206a200241f0006a41186a290300370200200241186a41286a200241f0006a41206a290300370200200241c8006a200241f0006a41286a2802003602002002200229029c0137025820022002290370370220200241ec006a200241d0016a41086a280200360200200220022903d001370264200241d4006a2004280200360200200220022903e00137024c2002200536021c20022003360218200241f0006a200110b78f80800002402002280270418080808078460d00200241e0016a41086a200241f0006a41086a2204280200360200200220022902703703e001200241f0006a200110b38f80800002402002280270418080808078470d00200241e0016a10a98f80800020022802e001450d0120022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000c010b200241d0016a41086a2004280200360200200220022902703703d00120022802e0012204418080808078460d0020022902e4012107200241b0016a200241d0016a41086a280200360200200220022903d0013702a8012002200436029c01200220073702a001200241f0006a200110b88f80800002402002280270418080808078460d00200241e0016a41086a200241f0006a41086a280200360200200220022902703703e001200241f0006a200110b18f80800002402002280270418080808078470d00200241e0016a10a48f80800020022802e001450d0120022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000c010b200241d0016a41086a2201200241f0006a41086a280200360200200220022902703703d00120022802e0012206418080808078470d040b2002419c016a10a98f80800002402004450d002007a722012001417e6a2f00006b41002802ec82d48000118180808000000b20022802a801450d0020022802ac0122012001417e6a2f00006b41002802ec82d48000118180808000000b200241cc006a2101200241e4006a2104200041818080807836020002402003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200410a688808000200110a28f8080000240200228024c450d00200228025022032003417e6a2f00006b41002802ec82d48000118180808000000b20022802582203418080808078460d042003450d04200228025c22032003417e6a2f00006b41002802ec82d48000118180808000000c040b200241106a200110cf848080004181808080782103024020022802104101710d00200241186a200120022802141086838080002002280218418080808078460d00200020022902183702042000410c6a200241206a28020036020041808080807821030b200020033602000c030b20004181808080783602000c020b20022902e4012107200020022903d00137027c20004184016a2001280200360200200041ec006a200241a0016a220341106a280200360200200041e4006a200341086a2902003702002000200329020037025c2000200241186a41d80010f4978080002203200737027420032006360270200320043602580c010b20004181808080783602000b200241f0016a2480808080000bde0e02057f017e23808080800041f0016b220224808080800002400240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a00000240024020040e020001040b2002419c016a2001108f8580800002400240200228029c012203418080808078460d00200241f0006a41086a2002419c016a41106a290200370300200241f0006a41106a2002419c016a41186a290200370300200241f0006a41186a2002419c016a41206a290200370300200241f0006a41206a2002419c016a41286a290200370300200241f0006a41286a200241cc016a280200360200200220022902a40137037020022802a00121052002419c016a200110a4888080000240200228029c014101460d00200241d0016a41086a200241a8016a280200360200200220022902a0013703d001200241086a200110ce84808000024020022802084101710d002002419c016a2001200228020c109783808000200228029c01418080808078460d00200241e0016a41086a22042002419c016a41086a22062802003602002002200229029c013703e0012002419c016a200110b789808000200228029c01418180808078470d03200241e0016a10a28f80800020022802e001450d0020022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000b200241d0016a10a6888080000b2003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c050b200241e0006a2006280200360200200241186a41106a200241f0006a41086a290300370200200241186a41186a200241f0006a41106a290300370200200241186a41206a200241f0006a41186a290300370200200241186a41286a200241f0006a41206a290300370200200241c8006a200241f0006a41286a2802003602002002200229029c0137025820022002290370370220200241ec006a200241d0016a41086a280200360200200220022903d001370264200241d4006a2004280200360200200220022903e00137024c2002200536021c20022003360218200241f0006a200110ac8f80800002402002280270418080808078460d00200241e0016a41086a200241f0006a41086a2204280200360200200220022902703703e001200241f0006a200110b48f80800002402002280270418080808078470d00200241e0016a10a98f80800020022802e001450d0120022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000c010b200241d0016a41086a2004280200360200200220022902703703d00120022802e0012204418080808078460d0020022902e4012107200241b0016a200241d0016a41086a280200360200200220022903d0013702a8012002200436029c01200220073702a001200241f0006a200110bb8f80800002402002280270418080808078460d00200241e0016a41086a200241f0006a41086a280200360200200220022902703703e001200241f0006a200110bc8f80800002402002280270418080808078470d00200241e0016a10a48f80800020022802e001450d0120022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000c010b200241d0016a41086a2201200241f0006a41086a280200360200200220022902703703d00120022802e0012206418080808078470d040b2002419c016a10a98f80800002402004450d002007a722012001417e6a2f00006b41002802ec82d48000118180808000000b20022802a801450d0020022802ac0122012001417e6a2f00006b41002802ec82d48000118180808000000b200241cc006a2101200241e4006a2104200041818080807836020002402003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200410a688808000200110a28f8080000240200228024c450d00200228025022032003417e6a2f00006b41002802ec82d48000118180808000000b20022802582203418080808078460d042003450d04200228025c22032003417e6a2f00006b41002802ec82d48000118180808000000c040b200241106a200110ce848080004181808080782103024020022802104101710d00200241186a200120022802141089838080002002280218418080808078460d00200020022902183702042000410c6a200241206a28020036020041808080807821030b200020033602000c030b20004181808080783602000c020b20022902e4012107200020022903d00137027c20004184016a2001280200360200200041ec006a200241a0016a220341106a280200360200200041e4006a200341086a2902003702002000200329020037025c2000200241186a41d80010f4978080002203200737027420032006360270200320043602580c010b20004181808080783602000b200241f0016a2480808080000b9b0601047f23808080800041106b2202248080808000024002402000280200418080808078460d000240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41003a000020002001109185808000200041cc006a200110aa88808000200028023821032002200028023c22043602082002200241086a36020c2002410c6a200110dc8480800002402004450d00200441f0006c210403402003200110f384808000200341f0006a2103200441907f6a22040d000b0b200041c0006a200110bd89808000200028025c21032002200028026022043602082002200241086a36020c2002410c6a200110dc8480800020032004200110af83808000200028026821032002200028026c22043602082002200241086a36020c2002410c6a200110dc8480800002402004450d00200441246c2104034020032001109a85808000200341246a21032004415c6a22040d000b0b200028027421032002200028027822043602082002200241086a36020c2002410c6a200110dc8480800002402004450d00200441146c210403402003200110f48d808000200341146a21032004416c6a22040d000b0b2000280280012103200220002802840122043602082002200241086a36020c2002410c6a200110dc848080002004450d012003200441286c6a210503402003280200210002402001280200200128020822046b41034b0d0020012004410410f491808000200128020821040b2001200441046a360208200128020420046a2000360000200341046a2001109a85808000200341286a22032005470d000c020b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41013a00002001200341016a360208200028020821052002200028020c22033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822046b4d0d0020012004200310f491808000200128020821040b200128020420046a2005200310f4978080001a2001200420036a3602080b200241106a2480808080000bfe0601067f23808080800041106b22022480808080000240024002400240024002400240024020002d00000e06000102030405000b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000c050b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41013a00002001200341016a2203360208200028020421000240200128020020036b41034b0d0020012003410410f491808000200128020821030b2001200341046a360208200128020420036a20003600000c040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41023a00000c030b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41033a00002001200341016a2203360208200028020421000240200128020020036b41034b0d0020012003410410f491808000200128020821030b2001200341046a360208200128020420036a20003600000c020b200041086a21040240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41043a000020022004360208200241086a200110dd848080002002200041106a36020c2002410c6a200110dd8480800041002d008083d480001a412041002802f482d48000118280808000002203450d022003417e6a220541003b000020032000290018370000200341086a2206200041206a290000370000200341106a200041286a290000370000200341186a2207200041306a29000037000002402001280200200128020822046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22002003290000370000200041086a2006290000370000200041106a200341106a290000370000200041186a20072900003700002001200441206a360208200320052f00006b41002802ec82d48000118180808000000c010b200041016a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41053a00002003200110bf898080000b200241106a2480808080000f0b4101412010ab80808000000bcf0201067f23808080800041306b2200248080808000200042f6b9cba3a9fbc4e719370018200042a88cac81f28dabe5ea00370010200042b9e088b7b6cdc2d113370008200042c5e4f4b9cff9d18a0b370000200041246a2000412010ef85808000024020002802242201418080808078460d0020004120410028029482d48000118b8080800000200028022821020240200028022c2203450d00200041086a22044100280298c5c5800036020020004100290290c5c580003703002003410c6c2105200010f4888080002002210303402004200341086a280200360200200020032902003703002003410c6a2103200010f488808000200541746a22050d000b2001450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b2001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200041306a2480808080000b9710020b7f067e23808080800041d0026b220224808080800020012802082103200242d684ecb8c888e883c3003700e801200242c5c58cc181f088c50c3700e001200242b9e088b7b6cdc2d1133700d801200242c5e4f4b9cff9d18a0b3700d00120024180016a200241d0016a412010f385808000410121040240024002400240024002400240024002402002280280014101470d002003200228029c014b0d042002280298012105200128020421064101210402402003450d0041002d008083d480001a200341002802f482d48000118280808000002204450d072004417e6a41003b00000b20042006200310f4978080002104200220033602d801200220043602d401200220033602d001200241d0016a10f288808000200242e7db9c91c4f3a8dcb07f3700e8012002428ad8bd86f0dea2e4243700e001200242b9e088b7b6cdc2d1133700d801200242c5e4f4b9cff9d18a0b3700d001200241b0026a200241d0016a412010ef8580800020022802b0022207418080808078460d0720022802b402210820022802b8022209450d032009410371210a200941044f0d01410021064100210b0c020b2001280204210602402003450d0041002d008083d480001a200341002802f482d48000118280808000002204450d052004417e6a41003b00000b20042006200310f4978080002104200220033602d801200220043602d401200220033602d001200241d0016a10f2888080000c060b2008412c6a21042009417c71210c410021064100210b03402004280200200441746a280200200441686a2802002004415c6a28020020066a6a6a6a2106200441306a2104200c200b41046a220b470d000b0b2005410176210c0240200a450d00200b410c6c20086a41086a21040340200428020020066a21062004410c6a2104200a417f6a220a0d000b0b02402006200c4d0d002002428fa48ce9f7dcc49a887f3700c802200242cbb1ef82aade92ce263700c002200242b9e088b7b6cdc2d1133700b802200242c5e4f4b9cff9d18a0b3700b002200241d0016a200241b0026a412010db85808000200241f0006a2003410a76ad420042808090bbbad6adf00d420010fc97808000200241e0006a2002290370428080708342004280809aa6eaafe301420010fc97808000200241d0006a2002290378220d42004280809aa6eaafe301420010fc97808000200241c0006a200d420042004280809aa6eaafe30110fc9780800020022903e801210e20022903e001210f20022802d0012104200241d0016a200229035822102002290360220d20022903407c2211200d5422062002290368220d20022903487c2006ad7c2212200d542012200d511bad7c220d200d201054ad2011201242808090bbbad6adf00d420010a393808000200241306a427f20022903e001220d428080a4b1fdad96c90e7c22122012200d54220620022903e80122102006ad7c22112010542012200d5a1b22061b427f20022903d00120022903d8018450220a1b220d4200200f42808090bbbad6adf00d200441017122041b2212420010fc97808000200241106a427f201120061b427f200a1b220f42002012420010fc97808000200241206a200d4200200e420020041b2212420010fc978080002002200f42002012420010fc97808000200241d0016a2002290328221020022903007c220d20022903187c22122002290338220f20022903207c220e200f54ad7c220f200e20022903107c2211200e54ad7c220e2002290308200d201054ad7c2012200d54ad7c200f201254ad7c200e200f54ad7c2002290330201142808090bbbad6adf00d420010a39380800020022903e001210d20022903e801211220022903d801210e20022903d001210f2002428fa48ce9f7dcc49a887f3700e801200242cbb1ef82aade92ce263700e001200242b9e088b7b6cdc2d1133700d801200242c5e4f4b9cff9d18a0b3700d00120022012427f200f200e845022041b3703b8022002200d427f20041b3703b002200241d0016a4120200241b0026a411041002802dc82d48000118380808000000b2009410171210c41002106024020094101460d002009417e71210b2008210441002106034002402004280200450d00200441046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b02402004410c6a280200450d00200441106a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200441186a2104200b200641026a2206470d000b0b200c450d0020082006410c6c6a2204280200450d00200428020422042004417e6a2f00006b41002802ec82d48000118180808000000b2007450d0320082008417e6a2f00006b41002802ec82d48000118180808000000c030b20004181043b01002001280200450d03200128020422042004417e6a2f00006b41002802ec82d48000118180808000000c030b4101200341a8b2c8800010b980808000000b4101200341a8b2c8800010b980808000000b200241b0016a20012802042204200341002802c480d4800011868080800000200241e2016a200241b8016a2206290200370100200241ea016a200241b0016a41106a2203290200370100200241f2016a200241b0016a41186a220a29020037010020024185023b01d8012002411f3a00d001200220022902b0013701da0141014100200241d0016a10d28d80800020004100360204200020022902b001370208200041106a2006290200370200200041186a2003290200370200200041206a200a290200370200200041003a00002001280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241d0026a2480808080000bb70601037f2380808080004180016b2202248080808000200242a9a5c4bef894cdeee700370018200242d4c584efa7e5bfee64370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b3700000240024002402002412041002802ac82d48000118480808000000d00410421030c010b200242db94c397a39dc1eaea00370018200242f2f7edb5a4809cb22b370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b3700004101210302402002412010f18580800041fd01714101470d00410221030c010b20024286f68fbaaaa6a6a63237001820024290a3c7c38f88c6c34f370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b3700002002412041002802ac82d48000118480808000000d00200242d684ecb8c888e883c300370078200242c5c58cc181f088c50c370070200242b9e088b7b6cdc2d113370068200242c5e4f4b9cff9d18a0b3700602002200241e0006a412010f3858080000240024020022802004101470d0020012802082204200228020c4d0d01410321030c020b410521030c010b200128020421032002200436026420022003360260200242bdb9c185ebd5beb6e0003700182002428ab9b2f0b1fbfe8ab77f370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241e0006a2002412010b3838080002002429588f09ae5e2ecacca00370018200242a49ffa80bdc6acab63370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241013a006020024120200241e0006a410141002802dc82d48000118380808000002001280200210120024286f68fbaaaa6a6a63237001820024290a3c7c38f88c6c34f370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200320042002412010b28380800002402001450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241003a00082002411f3a000041014100200210d28d8080002000410f3a00000c010b2000200310fc8c8080002001280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20024180016a2480808080000bb406020c7f017e23808080800041d0006b2202248080808000200242939685e2c5afc3c644370048200242dbfcc3e0bc84a3df01370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241106a200241306a412010d0858080002002280214210320022802102104200242e3d488ecd2ee88dde300370048200242ce80d7eca9b9a7a316370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a412010df858080002002280224210520022802282106200228022c2107200242908cf1f9cc86e8f851370048200242d4a4d2bc9ca3a4d768370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a412010ef858080002002280224210820022802282109200228022c210a200242efe0d69cf8bda6cb5d370048200242d6e9cddfbec0b7fd78370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241086a200241306a412010d085808000200228020c210b2002280208210c200242bdb9c185ebd5beb6e0003700482002428ab9b2f0b1fbfe8ab77f370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a412010e7858080002002280224210d2002290228210e2002428ba4f08ac7ad89c4ad7f370048200242d7c9cea6cfa8b4c4a47f370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a412010e785808000024002402002280224418080808078460d00200241186a41086a200241246a41086a280200360200200220022902243703180c010b200241186a200110e9848080000b2000200e3702282000200d3602242000200229031837021820002003410020044101711b3602342000200b4100200c4101711b36023020004100200720054180808080784622031b36021420004104200620031b36021020004100200520031b36020c20004100200a20084180808080784622051b36020820004104200920051b36020420004100200820051b360200200041206a200241206a280200360200200241d0006a2480808080000bbf0201027f23808080800041306b220524808080800002400240024020022802004101470d00200420022802084f2003200228020422064f20032006461b4101470d010b2002200436020820022003360204200241013602004100210202400240024020010e020201000b41002102034020022001410176220320026a220620002006413c6c6a28020020044b1b2102200120036b220141014b0d000b0b20002002413c6c6a2802002004460d020b2005410236020c200541fcc6c58000360208200542013702142005200436022c2005418680808000ad4220862005412c6aad843703202005200541206a360210200541086a418cc7c5800010fe80808000000b200541003602182005410136020c200541e8c5c5800036020820054204370210200541086a41f0c5c5800010fe80808000000b200541306a2480808080000bd60c02037f017e23808080800041c0016b2203248080808000200341f8006a200110838280800002400240200328027822010d0041002104200328027c2201418080808078460d012003280280012105200341086a2003290280012206a72006422088a741002802c480d4800011868080800000410121042001450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b024020010d00200328027c450d0020032802800122012001417e6a2f00006b41002802ec82d48000118180808000000b410021040b200342b58ab3f59aafe8bb26370090012003428197ddb2f4a682d8dd0037008801200342b9e088b7b6cdc2d11337008001200342c5e4f4b9cff9d18a0b37007841002101200341a4016a41003a0000200341003602a0012003200341f8006a4120200341a0016a4105410041002802c482d48000118d808080000002402003280200410171450d00024020032802042201450d00024002400240024020032d00a00122054103710e0400030201000b200541027621010c040b20014105490d02200541034b0d0220032800a1012201418080808004490d020c030b20014104490d0120032f00a10120032d00a30141107472220141ffffff077141ff014d0d01200141087420057241027621010c020b20014101460d0020032d00a1012201450d00200141087420057241027621010c010b410021010b024002400240024002402004450d002002450d01200341286a41186a200341086a41186a290000370300200341286a41106a200341086a41106a290000370300200341286a41086a200341086a41086a290000370300200320032900083703280c040b20020d01200342bb88f596f8cbf6cf4c3700b8012003428a85cd9fb3e4b2ae6d3700b001200342fc90b9e5d09296e7773700a801200342a6d4e6f1a4dd9598603700a001200341f8006a200341a0016a412010de85808000024020032d00784101470d00200341c0006a20034191016a290000370300200341386a20034189016a290000370300200341306a20034181016a290000370300200320032900793703280c040b200341c0006a4200370300200341386a4200370300200341306a4200370300200342003703280c030b200341c8006a41186a200341086a41186a290000370300200341c8006a41106a200341086a41106a290000370300200341c8006a41086a200341086a41086a29000037030020032003290008370348200342bb88f596f8cbf6cf4c3700b8012003428a85cd9fb3e4b2ae6d3700b001200342fc90b9e5d09296e7773700a801200342a6d4e6f1a4dd9598603700a001200341f8006a200341a0016a412010de858080000240024020032d00784101470d00200341a0016a41186a20034191016a290000370300200341a0016a41106a20034189016a290000370300200341a0016a41086a20034181016a290000370300200320032900793703a0010c010b200341a0016a41186a4200370300200341a0016a41106a4200370300200341a0016a41086a4200370300200342003703a0010b200341c8006a200341a0016a412010f5978080000d01200341286a41086a200341086a41086a290000370300200341286a41106a200341086a41106a290000370300200341286a41186a200341086a41186a290000370300200320032900083703280c020b20034100360288012003410136027c200341ccc7c580003602782003420437028001200341f8006a41d4c7c5800010fe80808000000b200342003702840120034281808080c00037027c20034184c8c580003602784100200341c8006a200341a0016a200341f8006a418cc8c5800010d182808000000b200341f8006a41186a200341286a41186a290300370300200341f8006a41106a200341286a41106a290300370300200341f8006a41086a200341286a41086a29030037030020032003290328370378200341ec006a200341f8006a1082898080002001200328027422046b21010240024020040d00200328026c450d01200328027022042004417e6a2f00006b41002802ec82d48000118180808000000c010b200341ec006a10fa888080000b0240200120024101200241014b1b4f0d0020004200370300200041086a4200370300200341c0016a2480808080000f0b20034100360288012003410136027c200341d4c8c580003602782003420437028001200341f8006a41dcc8c5800010fe80808000000bc90201077f23808080800041306b2201248080808000200142b58ab3f59aafe8bb263700282001428197ddb2f4a682d8dd00370020200142b9e088b7b6cdc2d113370018200142c5e4f4b9cff9d18a0b370010200141046a200141106a412010e2858080000240024020012802042202418080808078470d00410021030c010b2001280208210402400240200128020c22050d00410021030c010b200541386c2106200441156a21074101210302400240034002402007417f6a2d00004101470d0020072000412010f597808000450d020b200741386a2107200341016a2103200641486a22060d000b200521030c010b200520036b21030b200441086a21070340200710ad88808000200741386a21072005417f6a22050d000b0b2002450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200141306a24808080800020030bb40a03037f017e067f23808080800041a0016b220324808080800020022802142104200228020821052003410336020c200341ecc8c580003602080240024002402004450d002005450d010b200342fd98e88aaae0e9ab793700980120034291b5f49a9dbec5afdb0037009001200342b9e088b7b6cdc2d11337008801200342c5e4f4b9cff9d18a0b37008001200341206a20034180016a412010de858080000240024020032d00204101470d0020034198016a200341396a29000037030020034190016a200341316a29000037030020034188016a200341296a29000037030020032003290021370380010c010b20034198016a420037030020034190016a420037030020034188016a420037030020034200370380010b200042cd3e37030820002005ad428c99880c7e42d8bc9fef017c2206370300200228021021072002280204210802402005450d00200341033a00282003411f3a00202003200536022c4100210941014100200341206a10d28d80800020082005410474220a6a210b0240200541ffffffff0071450d00200841086a21000340200041046a280200210c200341206a2000417c6a280200200028020010fd828080002003200c360240200041106a210020034180016a200341206a10fe828080001a200a41706a220a0d000b0b20034180016a10ea88808000200341d8006a20034198016a290300370300200341d0006a20034190016a290300370300200341c8006a20034188016a2903003703002003200329038001370340200342cd3e37033820032006370330200341043a00282003411f3a002041014100200341206a10d28d808000200b417c6a280200210a02402004450d002007200441246c6a210c4100210920072100034020034180016a200010fe828080001a2009200041206a280200200a466a2109200041246a2200200c470d000b0b200a200910ee888080000b200341206a41186a20034180016a41186a290300370300200341206a41106a20034180016a41106a290300370300200341206a41086a20034180016a41086a290300370300200320032903800137032020034180016a2001412010f5978080000d01200342efe0d69cf8bda6cb5d370038200342d6e9cddfbec0b7fd78370030200342b9e088b7b6cdc2d113370028200342c5e4f4b9cff9d18a0b3700202003200536020841002109200341206a4120200341086a410441002802dc82d480001183808080000002402005450d0020054101712104024020054101460d002005417e71210c2008210041002109034002402000280200450d00200041046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200041106a280200450d00200041146a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200041206a2100200c200941026a2209470d000b0b2004450d00200820094104746a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b02402002280200450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b0240200228020c450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200341a0016a2480808080000f0b20034102360224200341b4a3c580003602202003420137022c200341c181808000ad422086200341086aad8437038001200320034180016a360228200341206a41c4a3c5800010fe80808000000b2003420037021420034281808080c00037020c20034180c9c580003602084100200341206a2001200341086a4188c9c5800010d182808000000bed1801107f2380808080004190016b220524808080800020032802142106200328020821072005410436025420054198c9c58000360250024002400240024002402006450d002007450d010b20032802102108200328020421092005429ecfa7cc9cf7bd852c37008001200542bd948bf28d9682e3d500370078200542b9e088b7b6cdc2d113370070200542c5e4f4b9cff9d18a0b370068200541306a200541e8006a412010e4858080000240024020052802304101470d00200541186a2005413c6a280200360200200520052902343703100c010b20054100360218200541003602100b024020070d0002402002450d0020012002413c6c6a210a03402001280200210b0240024002402005280210220c450d002005280214210d034002400240200c2f019203220e0d004100210f0c010b200e4102742110410021114100210f03400240200b200c20116a41e4026a28020022124b200b2012496b41ff017122124101460d0020120d022005200f3602742005200d3602702005200c36026c200541003602682005200541106a3602780c060b200f41016a210f2010201141046a2211470d000b200e210f0b200d450d02200d417f6a210d200c200f4102746a28029403210c0c000b0b200541003602702005200b36026c2005200541106a3602680c010b2005200f360278200541003602742005200c3602702005200b36026c2005200541106a3602680b200541306a41086a200541e8006a10968d808000221141086a290000370300200541306a41106a201141106a290000370300200541306a41186a201141186a290000370300200520112900003703300240024020012d0018410171450d00200541e8006a41186a200141316a290000370300200541e8006a41106a200141296a290000370300200541e8006a41086a200141216a290000370300200520012900193703680c010b200541e8006a41186a4200370300200541e8006a41106a4200370300200541e8006a41086a4200370300200542003703680b200541306a200541e8006a412010f5978080000d042001413c6a2201200a470d000b0b2004410010df88808000200542939685e2c5afc3c64437008001200542dbfcc3e0bc84a3df01370078200542b9e088b7b6cdc2d113370070200542c5e4f4b9cff9d18a0b37006820052004360230200541e8006a4120200541306a410441002802dc82d4800011838080800000200041086a4200370300200042003703000c040b2005410036021c200542939685e2c5afc3c64437008001200542dbfcc3e0bc84a3df01370078200542b9e088b7b6cdc2d113370070200542c5e4f4b9cff9d18a0b370068200541086a200541e8006a412010d085808000200528020c21112005280208210f2005420037022820114100200f4101711b21132009200741146c6a21144100210e200921110340200e2104200120022005411c6a2011220d280210200d28020010a487808000200d280200210b0240024002402005280210220c450d002005280214210e034002400240200c2f019203220a0d004100210f0c010b200a4102742110410021114100210f03400240200b200c20116a41e4026a28020022124b200b2012496b41ff017122124101460d0020120d022005200f3602742005200e3602702005200c36026c200541003602682005200541106a3602780c060b200f41016a210f2010201141046a2211470d000b200a210f0b200e450d02200e417f6a210e200c200f4102746a28029403210c0c000b0b200541003602702005200b36026c2005200541106a3602680c010b2005200f360278200541003602742005200c3602702005200b36026c2005200541106a3602680b200541e8006a10968d8080002111200d280210210f200541e8006a200d280208200d28020c10fd828080002005200f360288012011200541e8006a10fe828080001a2005200d280210220e36022820042013200e20044b1b201320041b2113200d41146a22112014470d000b200541106a10eb888080004101211402402006450d002008200641286c6a2106200841286a211141002114034020112104200120022005411c6a2008280224200828020010a4878080002008280200210b0240024002402005280210220c450d002005280214210d034002400240200c2f019203220a0d004100210f0c010b200a4102742110410021114100210f03400240200b200c20116a41e4026a28020022124b200b2012496b41ff017122124101460d0020120d022005200f3602742005200d3602702005200c36026c200541003602682005200541106a3602780c060b200f41016a210f2010201141046a2211470d000b200a210f0b200d450d02200d417f6a210d200c200f4102746a28029403210c0c000b0b200541003602702005200b36026c2005200541106a3602680c010b2005200f360278200541003602742005200c3602702005200b36026c2005200541106a3602680b200541e8006a10968d808000200841046a10fe828080001a02402008280224200e470d002005201441016a221436022c0b2004410041282004200646220f1b6a211120042108200f450d000b20144521140b200541286a10e28880800002402002450d0020012002413c6c6a210403402001280200210b0240024002402005280210220c450d002005280214210d034002400240200c2f019203220a0d004100210f0c010b200a4102742110410021114100210f03400240200b200c20116a41e4026a28020022124b200b2012496b41ff017122124101460d0020120d022005200f3602742005200d3602702005200c36026c200541003602682005200541106a3602780c060b200f41016a210f2010201141046a2211470d000b200a210f0b200d450d02200d417f6a210d200c200f4102746a28029403210c0c000b0b200541003602702005200b36026c2005200541106a3602680c010b2005200f360278200541003602742005200c3602702005200b36026c2005200541106a3602680b200541306a41086a200541e8006a10968d808000221141086a290000370300200541306a41106a201141106a290000370300200541306a41186a201141186a290000370300200520112900003703300240024020012d0018410171450d00200541e8006a41186a200141316a290000370300200541e8006a41106a200141296a290000370300200541e8006a41086a200141216a290000370300200520012900193703680c010b200541e8006a41186a4200370300200541e8006a41106a4200370300200541e8006a41086a4200370300200542003703680b200541306a200541e8006a412010f5978080000d042001413c6a22012004470d000b0b200542e2dda6cfa7f49787b17f37008001200542facefdaea4d4b6b9d500370078200542b9e088b7b6cdc2d113370070200542c5e4f4b9cff9d18a0b370068200541306a200541e8006a412010ed85808000200542939685e2c5afc3c64437008001200542dbfcc3e0bc84a3df01370078200542b9e088b7b6cdc2d113370070200542c5e4f4b9cff9d18a0b3700682005200e201320144101711b2013200e1b360230200541e8006a4120200541306a410441002802dc82d4800011838080800000200041086a4200370300200042003703000c030b2005410236026c200541b4a3c5800036026820054201370274200541c181808000ad422086200541d0006aad843703302005200541306a360270200541e8006a41c4a3c5800010fe80808000000b2005420037025c20054281808080c000370254200541b0c5c580003602504100200541306a200541e8006a200541d0006a41b8c5c5800010d182808000000b2005420037025c20054281808080c000370254200541b0c5c580003602504100200541306a200541e8006a200541d0006a41b8c5c5800010d182808000000b200541106a10b38880800002402007450d002007410171210c4100210f024020074101460d002009411c6a21112007417e7121124100210f03400240201141686a280200450d002011416c6a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b02402011417c6a280200450d002011280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b201141286a21112012200f41026a220f470d000b0b200c450d002009200f41146c6a2211280204450d00201141046a28020422112011417e6a2f00006b41002802ec82d48000118180808000000b02402003280200450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b0240200328020c450d00200328021022112011417e6a2f00006b41002802ec82d48000118180808000000b20054190016a2480808080000bf70701037f23808080800041106b2202248080808000024002400240024002400240200028020022002d00002203417c6a41042003417b6a41ff01714105491b417f6a0e050001020304000b2002200041046a360204200128020041bcffc48000410a200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41d8ffc480004104200241046a41c8ffc48000108a81808000210420022d000d220020022d000c220372210120004101470d0420034101710d040240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c050b200128020041dc80c280004101200128020428020c1180808080000021010c040b2002200041186a3602002002200041086a360204200128020041dcffc48000411b200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41d8ffc480004104200241c8ffc48000108a81808000418880c580004106200241046a41f8ffc48000108a81808000210420022d000d220020022d000c220372210120004101470d0320034101710d030240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c040b200128020041dc80c280004101200128020428020c1180808080000021010c030b2002200041046a3602042001280200418e80c58000410d200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41ac80c580004103200241046a419c80c58000108a81808000210420022d000d220020022d000c220372210120004101470d0220034101710d020240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c030b200128020041dc80c280004101200128020428020c1180808080000021010c020b200220003602002002200041246a360204200128020041af80c58000410d200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41bc80c5800041032002419c80c58000108a8180800041d8ffc480004104200241046a41c8ffc48000108a81808000210420022d000d220020022d000c220372210120004101470d0120034101710d010240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b200128020041bf80c580004110200128020428020c1180808080000021010b200241106a24808080800020014101710bf80301037f23808080800041106b22022480808080000240024020002802002200280200418080808078460d00200220003602002002200041d8006a360204200128020041afc1c580004119200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41d8c1c580004104200241c8c1c58000108a8180800041ecc1c580004115200241046a41dcc1c58000108a81808000210320022d000d220020022d000c220472210120004101470d0120044101710d010240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b2002200041046a36020420012802004181c2c58000411e200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41b0c2c580004107200241046a41a0c2c58000108a81808000210320022d000d220020022d000c220472210120004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bf50101037f23808080800041106b220224808080800020022000280200360204200128020041b6ccc580004111200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c7ccc580004106200241046a4198ccc58000108a81808000210320022d000d220020022d000c2204722101024020004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b900201037f23808080800041106b2202248080808000200220002802002200410c6a360204200128020041f489c580004121200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41958ac58000410d200041d489c58000108a8180800041a28ac58000410f200241046a41e489c58000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b8e0101017f23808080800041106b220224808080800020022000280200220041c0006a36020c200141d8f4c48000411a41f2f4c48000410f20004198f4c480004181f5c480004111200041cc006a41a8f4c480004192f5c480004118200041346a41b8f4c4800041aaf5c4800041102002410c6a41c8f4c4800010b7818080002100200241106a24808080800020000b900201037f23808080800041106b220224808080800020022000280200220041186a360204200128020041c8eec480004113200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41dbeec480004111200041a8eec48000108a8180800041eceec480004113200241046a41b8eec48000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b1e002001280200418e8fc580004114200128020428020c118080808000000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b480002402000290300427e7c4203540d0020002d003041ff01714102470d002000280234450d00200028023822002000417e6a2f00006b41002802ec82d48000118180808000000b0bf80101077f20002802042101024020002802082202450d0041002103034002402001200341f0006c6a22042802082205450d00200428020421060340024020062d0000220741034b0d00200620074102744184cfc580006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200641146a21062005417f6a22050d000b0b02402004280200450d00200428020422062006417e6a2f00006b41002802ec82d48000118180808000000b200341016a22032002470d000b0b02402000280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b920201067f20002802042101024020002802082202450d002002410171210341002104024020024101460d002001411c6a21052002417e7121064100210403400240200541686a280200450d002005416c6a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b02402005417c6a280200450d00200528020022022002417e6a2f00006b41002802ec82d48000118180808000000b200541286a21052006200441026a2204470d000b0b2003450d002001200441146c6a2205280204450d00200541046a28020422052005417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0bb70201067f20002802042101024020002802082202450d002002410171210341002104024020024101460d002002417e7121052001210241002104034002402002280200450d00200241046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200241106a280200450d00200241146a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200241206a21022005200441026a2204470d000b0b2003450d00200120044104746a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0240200028020c450d00200028021022022002417e6a2f00006b41002802ec82d48000118180808000000b0b0a00200010a6888080000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b8c0201067f20002802042101024020002802082202450d002002410171210341002104024020024101460d002002417e7121052001210241002104034002402002280200450d00200241046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200241106a280200450d00200241146a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200241206a21022005200441026a2204470d000b0b2003450d00200120044104746a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41acc9c580002005410c6a41acc9c5800020032004108481808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41a0c2c580002005410c6a41a0c2c5800020032004108481808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41bcc9c580002005410c6a41bcc9c5800020032004108481808000000be70e04067f017e017f027e23808080800041b0056b2203248080808000200320013602cc02200341003602c802200320023602c40202400240024020022802042201450d0020022001417f6a220436020420022002280200220541016a22063602000240024002400240024020052d000022074103710e0400010302000b200741027621070c030b2004450d0320022001417e6a22043602042002200541026a220636020020052d00012201450d03200141087420077241027621070c020b200741044f0d0220014105490d0220022001417b6a22043602042002200541056a2206360200200528000122074180808080044f0d010c020b20014104490d0120022001417c6a22043602042002200541046a220636020020052f0001200541036a2d0000411074722201418002490d01200141087420077241027621070b200342003703d0022003200341c4026a3602d8020240024020040d004100210842012109410121050c010b20022004417f6a22083602042002200641016a2204360200200342013703d00220062d000021014100210542022109200421060b20054101710d002001413f71210502400240200141fe01714104470d00420221090c010b024002402005417c6a0e020001030b200141187441187541404e0d022003200341d0026a10eb8e80800020032d000022044105460d022003418e056a20032d00033a000020034180056a200341196a29000037030020034187056a200341206a280000360000200320032f00013b018c05200320032900113703f8042003280204210620032802082101200328020c210a20032d001021082003200341d0026a10c18c808000024020032d00004104460d00200341e0026a200341c20010f4978080001a2003200341d0026a109687808000200329030022094202510d00200341d0046a41086a200341116a290000370300200341e0046a200341196a290000370300200341e8046a200341216a290000370300200341ef046a200341286a290000370000200341f0036a41086a200341f8046a41086a290300370300200341f0036a410f6a200341f8046a410f6a280000360000200320032900093703d004200320032903f8043703f00320032d0008210520034183046a200341e0026a41c20010f4978080001a200341cc046a41026a2003418c056a41026a2d00003a0000200320032f018c053b01cc040c020b20044102470d022006450d0220012001417e6a2f00006b41002802ec82d48000118180808000000c020b200141407141ff017141c000470d010240024020080d00410121010c010b20022008417f6a3602042002200641016a360200200320093703d00220062d00002108410021010b20014101710d012003200341d0026a10968780800020032903004202510d0120034190056a41186a200341186a290300220937030020034190056a41106a200341106a290300220b370300200341ce046a200341236a2d00003a0000200341df046a2003290308220c370000200341ef046a2009370000200341e7046a200b3700002003200c3703980520032003290300220937039005200320032f00213b01cc04200320093700d70420032d002021042003280224210620032802282101200328022c210a420421090b20034100360298052003428080808010370290052003200341d0026a36029c052003428080808090808080013702fc04200320034190056a3602f8042003200341f8046a10fd858080000240024020032802004108470d00200328029005450d0120032802940522022002417e6a2f00006b41002802ec82d48000118180808000000c010b200341e0026a200341900110f4978080001a20032903d0022007ad510d02024020032802900541808080807872418080808078460d0020032802940522022002417e6a2f00006b41002802ec82d48000118180808000000b200341e0026a10c0868080000b2009427e7c4203540d00200441ff01714102470d002006450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200042053703000c010b200341286a200341ef046a290000370000200341216a200341e8046a290300370000200341196a200341e0046a290300370000200341116a200341d0046a41086a290300370000200341336a200341ce046a2d00003a0000200320032903d004370009200320032f01cc043b0031200341c1006a200341f0036a41d50010f4978080001a200341a0016a200341e0026a41900110f4978080002107200341b8026a20034190056a41086a28020036020020032003290290053703b002200320083a00402003200a36023c2003200136023820032006360234200320043a0030200320053a000820032009370300024020022802040d002000200341c00210f4978080001a0c010b2000420537030002402009427e7c4203540d00200441ff01714102470d002006450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200710c08680800020032802b0022202418080808078460d002002450d0020032802b40222022002417e6a2f00006b41002802ec82d48000118180808000000b200341b0056a2480808080000bf20101037f23808080800041106b22022480808080002002200036020420012802004180cbc58000410c200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a418ccbc58000410a200241046a41f0cac58000108a81808000210320022d000d220020022d000c2204722101024020004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bda04010b7f23808080800041106b2203248080808000200220012f010022046a2202410374210541002106024002400240200241ffffffff014b0d00200541fcffffff074b0d00024020050d0041042107410021020c030b41002d008083d480001a200541002802f482d480001182808080000022060d01410421060b2006200541f8cbc5800010b980808000000b2006200641036a417c71220720066b22056a417e6a20053b00000b2003410036020c20032007360208200320023602040240200441054f0d000240024020022004490d00410021080c010b200341046a410020044104410810a38680800020032802082107200328020c21080b02402004450d00200441017121090240024020044101470d00410021040c010b410020044106716b210a200720084103746a210b41002106410021040340200120046a220241086a2205280200210c20054100360200200241046a22052d0000210d200541003a0000200b20046a220541046a200c3602002005200d3a00002002410c6a220c2d0000210d200c41003a0000200241106a2202280200210c200241003602002005410c6a200c360200200541086a200d3a0000200441106a2104200a2006417e6a2206470d000b410020066b2104200820066b21080b2009450d00200141046a20044103746a220428020421022004410036020420042d00002105200441003a0000200720084103746a22042002360204200420053a0000200841016a21080b200141003b010020002003290204370200200041086a2008360200200341106a2480808080000f0b200441044188ccc58000109181808000000bec0302027f037e23808080800041306b220224808080800002400240024002400240024020012d00002203417c6a41042003417b6a41ff01714105491b417f6a0e050001020304000b200241086a200128020410fb85808000200229030821042002290310210520022d0028210120004200370310200041186a4200370300200041003a0021200020013a00202000427f200542ed0b7c220620062005541b3703082000427f200442b8c7e4037c220520052004541b3703000c040b2001290308210420012903102105200241086a200128021810fb8580800020022d00282101200042003703102000200537030820002004370300200041186a4200370300200041003a0021200020013a00200c030b20004200370310200042ed0b37030820004288dbb903370300200041186a4200370300200041206a41003b01000c020b200241086a200128022410fb85808000200229030821042002290310210520022d0028210120004200370310200041186a4200370300200041003a0021200020013a00202000427f200542ed0b7c220620062005541b3703082000427f200442b0ace0037c220520052004541b3703000c010b20004200370310200042ed0b370308200042e8d48703370300200041186a4200370300200041206a41003b01000b200241306a2480808080000b870101017f23808080800041106b22022480808080002002200041306a36020c200141eccdc5800041174183cec58000410b200041cccdc58000418ecec5800041132000410c6a4188f0c4800041a1cec580004119200041106a41dccdc5800041bacec58000410c2002410c6a4198f0c4800010b7818080002100200241106a24808080800020000bdf0f01047f23808080800041306b220224808080800002400240024002400240024002400240024020002802000e080102030004050607010b000b2002200041086a36020c410121002001280200220341c6cec5800041062001280204220428020c2205118080808000000d060240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d082002410c6a200110fe8d808000450d010c080b200341e080c2800041022005118080808000000d0741012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10fe8d8080000d07200228022041da80c280004102200228022428020c118080808000000d070b200128020041e280c280004101200128020428020c1180808080000021000c060b2002200041046a36020c410121002001280200220341cccec58000410f2001280204220428020c2205118080808000000d050240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d072002410c6a200110aa87808000450d010c070b200341e080c2800041022005118080808000000d0641012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa878080000d06200228022041da80c280004102200228022428020c118080808000000d060b200128020041e280c280004101200128020428020c1180808080000021000c050b2002200041086a36020c410121002001280200220341dbcec5800041092001280204220428020c2205118080808000000d040240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d062002410c6a200110828e808000450d010c060b200341e080c2800041022005118080808000000d0541012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10828e8080000d05200228022041da80c280004102200228022428020c118080808000000d050b200128020041e280c280004101200128020428020c1180808080000021000c040b2002200041106a36020c410121002001280200220341e4cec5800041082001280204220428020c2205118080808000000d030240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d052002410c6a200110858d808000450d010c050b200341e080c2800041022005118080808000000d0441012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10858d8080000d04200228022041da80c280004102200228022428020c118080808000000d040b200128020041e280c280004101200128020428020c1180808080000021000c030b2002200041086a36020c410121002001280200220341eccec5800041042001280204220428020c2205118080808000000d020240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d042002410c6a200110a987808000450d010c040b200341e080c2800041022005118080808000000d0341012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a9878080000d03200228022041da80c280004102200228022428020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021000c020b2002200041046a36020c410121002001280200220341f0cec58000410a2001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110838e808000450d010c030b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10838e8080000d02200228022041da80c280004102200228022428020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021000c010b2002200041086a36020c410121002001280200220341facec5800041072001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110818d808000450d010c020b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10818d8080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000b0900200041003602000b0900200041013602000b0a00200010d3858080000bb40201047f23808080800041106b220124808080800041002d008083d480001a0240413041002802f482d480001182808080000022020d004108413010ab80808000000b2002200241076a417871220320026b22046a220241bb80808000360228200241cb81808000360210200242ada9e8dffceda4b57d3703082002429b9e90f4939ac781bb7f370300200242d7c9cb8fc1cf97db3e370320200242e88488d0c0e3aebc133703182002417e6a20043b0000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200220036b41306a41186e36020c2000200236020820004102360204200041043a0000200141106a2480808080000b0a00200010b3868080000ba90402067f017e23808080800041d0006b2201248080808000200141286a419cd0c580004110418ed2c58000412c4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a22024100360218200241013602042002418dd2c580003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c210720012802282103200142808080808001370248200142888080808001370240200141346a200141c0006a419c91c3800010f58e8080002003418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002003360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bac0402067f017e23808080800041d0006b2201248080808000200141286a41acd0c58000410c41e6d1c5800041274104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a22024100360218200241013602042002418dd2c580003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2204200141106a410c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c210720012802282103200142808080808001370248200142888080808001370240200141346a200141c0006a419c91c3800010f58e8080002003418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002003360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bf326010a7f23808080800041e0056b220224808080800002400240024002400240024002400240024002400240024020012d00282203417c6a41042003417b6a41ff01714105491b417f6a0e050001020304000b200128022c2103200241a8016a41206a200141206a2204290200370300200241a8016a41186a200141186a2205290200370300200241a8016a41106a200141106a2206290200370300200241a8016a41086a200141086a2207290200370300200220033602d001200220012902003703a801200241a8016a41286a2108024041afe4ca8000411310b691808000220941ff01490d0020022802a80122012001280200417f6a2201360200024020010d00200241a8016a10ca878080000b200810cb8780800041002103410921010c060b2002200941016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241e0036a41206a2004290200370300200241e0036a41186a2005290200370300200241e0036a41106a2006290200370300200241e0036a41086a2007290200370300200220012902003703e003200241d8006a200241e0036a10d586808000410f210420022d00582201410f470d04200241e0036a200341900110f4978080001a200241003a00a803200241d8006a200241a8036a10b186808000200241d8026a200241e0036a200241d8006a10f985808000024020022903d8024202510d0020024180026a20024181036a29000037030020024187026a20024188036a280000360000200220022900f9023703f80120022d00f80221040b200241f1036a20024180026a290300370000200241f8036a20024187026a280000360000200220043a00e803200241003a00e403200241213a00e003200220022903f8013700e90341014100200241e0036a10d28d80800020032003417e6a2f01006b41002802ec82d480001181808080000041002802a482d48000118e8080800000200241df056a10c691808000200041013a0020200041003a001820004200370308200042023703000c0a0b20012802402103200241a8016a41206a200141206a2204290200370300200241a8016a41186a200141186a2205290200370300200241a8016a41106a200141106a2206290200370300200241a8016a41086a200141086a2207290200370300200220033602d001200220012902003703a801200241a8016a41286a2108024041afe4ca8000411310b691808000220941ff01490d0020022802a80122012001280200417f6a2201360200024020010d00200241a8016a10ca878080000b200810cb8780800041002103410921010c070b2002200941016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241e0036a41206a2004290200370300200241e0036a41186a2005290200370300200241e0036a41106a2006290200370300200241e0036a41086a2007290200370300200220012902003703e003200241d8006a200241e0036a10d586808000410f210420022d00582201410f470d05200241e0036a200341900110f4978080001a200241003a00a803200241d8006a200241a8036a10b186808000200241d8026a200241e0036a200241d8006a10f985808000024020022903d8024202510d0020024198026a20024181036a2900003703002002419f026a20024188036a280000360000200220022900f9023703900220022d00f80221040b200241f1036a20024198026a290300370000200241f8036a2002419f026a280000360000200220043a00e803200241003a00e403200241213a00e00320022002290390023700e90341014100200241e0036a10d28d80800020032003417e6a2f01006b41002802ec82d480001181808080000041002802a482d48000118e8080800000200241df056a10c691808000200041013a0020200041003a001820004200370308200042023703000c090b200241a0036a200141cc006a28020036020020024198036a200141c4006a29020037030020024190036a2001413c6a29020037030020024188036a2203200141346a290200370300200241d8026a41086a200141086a2208290200370300200241d8026a41106a200141106a2207290200370300200241d8026a41186a200141186a2209290200370300200241d8026a41206a200141206a220a2902003703002002200129022c37038003200220012902003703d80220032802002104200228028403210620022d008003210520022802d80221030240024041afe4ca8000411310b691808000220b41ff01490d0020032003280200417f6a2201360200024020010d00200241d8026a10ca878080000b4100210841092103200541ff01714102470d012006450d014100210820042004417e6a2f00006b41002802ec82d48000118180808000000c010b410121032002200b41016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241e0036a41206a200a290200370300200241e0036a41186a2009290200370300200241e0036a41106a2007290200370300200241e0036a41086a2008290200370300200220012902003703e003200241a8016a200241e0036a10d586808000024002400240024020022d00a8012207410f460d00200241b0026a200241b2016a290100370300200241b8026a200241ba016a2f01003b0100200220022901aa013703a80220022d00a9012108200541ff01714102470d022007210320060d010c030b2001280234210420012802302105024020012d002c0e030b0300030b41012107410121032005450d020b20042004417e6a2f00006b41002802ec82d48000118180808000000b200721030b41002802cc82d48000118e8080800000200241df056a10c6918080000b20004200370300200041003a0018200041086a4200370300200020083a0021200020033a0020200020022903a8023700222000412a6a200241a8026a41086a290300370000200041326a200241b8026a2f01003b00000c080b200241a0016a200141286a220841206a28020036020020024198016a200841186a29020037030020024190016a200841106a29020037030020024188016a200841086a290200370300200241d8006a41086a200141086a2204290200370300200241d8006a41106a200141106a2205290200370300200241d8006a41186a200141186a2206290200370300200241d8006a41206a200141206a2207290200370300200220082902003703800120022001290200370358200128024c2108200241a8016a200241d8006a41cc0010f4978080001a200220083602f4010240024041afe4ca8000411310b691808000220941ff01490d0020022802a80122012001280200417f6a2201360200024020010d00200241a8016a10ca878080000b200241a8016a41cc006a2101024020022d00d0014102470d0020022802d401450d0020022802d80122032003417e6a2f00006b41002802ec82d48000118180808000000b200110cb8780800041002104410921080c010b410121082002200941016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241d8026a200241a8016a41d00010f4978080001a200241e0036a41206a2007290200370300200241e0036a41186a2006290200370300200241e0036a41106a2005290200370300200241e0036a41086a2004290200370300200220012902003703e003200241fc046a200241e0036a10d586808000024002400240024020022d00fc042206410f460d00200241c8026a20024186056a290100370300200241d0026a2002418e056a2f01003b0100200220022901fe043703c00220022d00fd042104024020022d0080034102460d00200621080c040b2002280284030d01200621080c030b20012802302105200128022c21060240024020030e03010400040b4101210820060d020c030b200241a7056a41036a2001412b6a2d00003a0000200241bb056a2001413c6a290000370000200241c0056a200141c1006a290000370000200220053600af05200220063600ab05200220012f00293b00a805200220012900343700b305200241e0036a20022802a403220141900110f4978080001a200241013a00a705200241fc046a200241a7056a10b186808000200241a8036a200241e0036a200241fc046a10f985808000410f2103024020022903a8034202510d00200241d0056a200241d1036a290000370300200241d7056a200241d8036a280000360000200220022900c9033703c80520022d00c80321030b200241f1036a200241d0056a290300370000200241f8036a200241d7056a280000360000200220033a00e803200241213a00e003200220022903c8053700e903200241033a00e40341014100200241e0036a10d28d80800020012001417e6a2f01006b41002802ec82d480001181808080000041002802a482d48000118e8080800000200241df056a10c691808000200041003a001820004200370308200020022800393600192000411c6a200241396a41036a280000360000200041013a0020200020022802c002360022200041266a20022f01c4023b0000200042023703000c0b0b2002280288032105200621080b20052005417e6a2f00006b41002802ec82d48000118180808000000b200241a4036a10cb8780800041002802cc82d48000118e8080800000200241df056a10c6918080000b20004200370300200041003a0018200041086a4200370300200020022800393600192000411c6a2002413c6a280000360000200020043a0021200020083a0020200020022903c0023700222000412a6a200241c0026a41086a290300370000200041326a200241d0026a2f01003b00000c070b0240024041afe4ca8000411310b691808000220341ff01490d00200128020022032003280200417f6a2204360200410921034100210820040d01200110ca878080000c010b2002200341016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241e0036a41206a200141206a290200370300200241e0036a41186a200141186a290200370300200241e0036a41106a200141106a290200370300200241e0036a41086a200141086a290200370300200220012902003703e003200241d8026a200241e0036a10d58680800020022d00d8022203410f460d06200241c0006a41086a200241e2026a290100370300200241c0006a41106a200241ea026a2f01003b0100200220022901da0237034020022d00d902210841002802cc82d48000118e8080800000200241df056a10c6918080000b20004200370300200041003a0018200020083a0021200020033a002020002002290340370022200041086a42003703002000412a6a200241c0006a41086a290300370000200041326a200241d0006a2f01003b00000c060b200241106a200241e2006a290100370300200241186a200241ea006a2f01003b01002002200229015a37030820022d00592103200810cb8780800041002802cc82d48000118e8080800000200241df056a10c6918080000b20004200370300200041003a0018200041086a4200370300200020033a0021200020013a0020200020022903083700222000412a6a200241086a41086a290300370000200041326a200241186a2f01003b00000c040b200241286a200241e2006a290100370300200241306a200241ea006a2f01003b01002002200229015a37032020022d00592103200810cb8780800041002802cc82d48000118e8080800000200241df056a10c6918080000b20004200370300200041003a0018200041086a4200370300200020033a0021200020013a0020200020022903203700222000412a6a200241206a41086a290300370000200041326a200241306a2f01003b00000c020b200241aa036a2001412f6a2d00003a0000200241bb036a200141c0006a290000370000200241c0036a2203200141c5006a290000370000200220043600af03200220053600ab03200220012f002d3b01a803200220012900383700b303200242e7adb0ba9bbab2f2fb003700f803200242d39cf0bdba80f2ac103700f003200242a988d1e9f0b7bbcf9c7f3700e803200242dc9ac4b0d794dae0793700e003200241d8006a41216a200241e0036a412010de85808000200241e1006a200241b0036a290100370000200241e9006a200241b8036a290100370000200241f1006a2003290100370000200241013a0058200220022901a803370059200241ab016a200241d8006a41c40010f4978080001a200241213a00e003200241e0036a410172200241a8016a41c70010f4978080001a41014100200241e0036a10d28d808000200241a8036a10dc8880800041002802a482d48000118e8080800000200241df056a10c691808000200041013a0020200041003a001820004200370308200042023703000c010b200241023a00e403200241213a00e00341014100200241e0036a10d28d808000200242e7adb0ba9bbab2f2fb003700f803200242d39cf0bdba80f2ac103700f003200242a988d1e9f0b7bbcf9c7f3700e803200242dc9ac4b0d794dae0793700e003200241e0036a4120410028029482d48000118b808080000041002802a482d48000118e8080800000200241df056a10c691808000200041013a0020200041003a001820004200370308200042023703000b200241e0056a2480808080000b8e0101037f20002802002200280208210102402000410c6a28020022022802002203450d0020012003118180808000000b02402002280204450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b02402000417f460d0020002000280204417f6a220136020420010d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0b950301017f0240024002400240024002400240200028020022002802000e080102060603040500010b20002802084104470d05200028020c450d05200028021022012001417e6a2f00006b41002802ec82d48000118180808000000c050b200041086a108d888080000c040b200041046a108a888080000c030b200041106a108e888080000c020b024002400240024020002d00082201417c6a41042001417b6a41ff01714105491b417f6a0e0400010203050b2000410c6a10cb878080000c040b200041206a10cb878080000c030b20002d000c4102470d022000280210450d02200028021422012001417e6a2f00006b41002802ec82d48000118180808000000c020b024020014102470d00200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b2000412c6a10cb878080000c010b20002802042201418480808078480d002001450d00200028020822012001417e6a2f00006b41002802ec82d48000118180808000000b20002000417e6a2f00006b41002802ec82d48000118180808000000bec3d04057f017e047f037e23808080800041e0066b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012d0028417f6a0e0b000102030405060708090a000b20012802302103200128022c21040240024041afe4ca8000411310b691808000220541fe014d0d0041092106420021070c010b2002200541016a3602e0034100210641afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e808080000041002802a482d48000118e8080800000200241df066a10c691808000420221070b02402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200128020022032003280200417f6a2203360200024020030d00200110ca878080000b200541ff01490d0a200041003a0021200020063a0020200041003a001820004200370308200020073703000c1b0b2002200129033037039006200241e0036a41206a200141206a290200370300200241e0036a41186a200141186a290200370300200241e0036a41106a200141106a290200370300200241e0036a41086a200141086a290200370300200220012902003703e003200220024190066a36028804024041afe4ca8000411310b691808000220541ff01490d0020022802e00322012001280200417f6a22053602004109210120050d0c200241e0036a10ca878080000c0c0b2002200541016a3602a80341afe4ca80004113200241a8036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022052005280200417f6a220536020020012d00042103024020050d00200110ca878080000b200341ff01710d0a41002d008083d480001a410841002802f482d480001182808080000022010d0c4101410810ab80808000000b200128022c21032001280230210520012802342104200241bc036a200141086a290200370200200241c4036a200141106a290200370200200241cc036a200141186a290200370200200241a8036a412c6a200141206a290200370200200220043602b003200220053602ac03200220033602a803200220012902003702b403024041afe4ca8000411310b691808000220641ff01490d0020022802b40322012001280200417f6a2201360200024020010d00200241b4036a10ca878080000b4109210420030d0d410021010c0e0b2002200641016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022062006280200417f6a220636020020012d00042108024020060d00200110ca878080000b0240024002400240200841ff0171450d00410221040c010b410721060240024020052004410110da8d808000220841766a41ff01712204410220044102491b0e03030100030b200821060b200241e0036a200610cf8c80800020022d00e0032204410f460d0120024180036a200241ea036a29010037030020024188036a200241f2036a2f01003b0100200220022901e2033703f80220022d00e10321010b2003450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b20024190066a41086a2001412c6a220141086a2802003602002002200129020037039006200241e0036a20024190066a10a28780800020022d00e0032204410f460d0f200241f8026a41086a200241ea036a29010037030020024188036a200241f2036a2f01003b0100200220022901e2033703f80220022d00e10321010b41002802cc82d48000118e8080800000200241df066a10c6918080000c0d0b200128022c21032001280230210520012802342104200241bc036a200141086a290200370200200241c4036a200141106a290200370200200241cc036a200141186a290200370200200241a8036a412c6a200141206a290200370200200220043602b003200220053602ac03200220033602a803200220012902003702b403024041afe4ca8000411310b691808000220641ff01490d0020022802b40322012001280200417f6a2201360200024020010d00200241b4036a10ca878080000b4109210420030d0f410021010c100b2002200641016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022062006280200417f6a220636020020012d00042108024020060d00200110ca878080000b0240024002400240200841ff0171450d00410221040c010b410721060240024020052004410010da8d808000220841766a41ff01712204410220044102491b0e03030100030b200821060b200241e0036a200610cf8c80800020022d00e0032204410f460d0120024198036a200241ea036a290100370300200241a0036a200241f2036a2f01003b0100200220022901e2033703900320022d00e10321010b2003450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b20024190066a41086a2001412c6a220141086a2802003602002002200129020037039006200241e0036a20024190066a10a28780800020022d00e0032204410f460d1120024190036a41086a200241ea036a290100370300200241a0036a200241f2036a2f01003b0100200220022901e2033703900320022d00e10321010b41002802cc82d48000118e8080800000200241df066a10c6918080000c0f0b200241086a41086a2205200141346a2802003602002002200129022c370308200241e0036a41206a200141206a290200370300200241e0036a41186a200141186a290200370300200241e0036a41106a200141106a290200370300200241e0036a41086a200141086a290200370300200220012902003703e0032002200241086a36028804200241186a200241e0036a10cd87808000024020052802002205450d00200228020c2101034002402001280200450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012005417f6a22050d000b0b02402002280208450d00200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000b20022903184202510d1020002002290318370300200041306a200241186a41306a290300370300200041286a200241186a41286a290300370300200041206a200241186a41206a290300370300200041186a200241186a41186a290300370300200041106a200241186a41106a290300370300200041086a200241186a41086a2903003703000c170b200241d0006a41086a2205200141346a2802003602002002200129022c370350200241e0036a41206a200141206a290200370300200241e0036a41186a200141186a290200370300200241e0036a41106a200141106a290200370300200241e0036a41086a200141086a290200370300200220012902003703e0032002200241d0006a36028804200241e0006a200241e0036a10ce87808000024020052802002201450d00200228025421062001410171210841002105024020014101460d002001417e7121042006210141002105034002402001280200450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012004200541026a2205470d000b0b2008450d0020062005410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402002280250450d00200228025422012001417e6a2f00006b41002802ec82d48000118180808000000b20022903604202510d1020002002290360370300200041306a200241e0006a41306a290300370300200041286a200241e0006a41286a290300370300200041206a200241e0006a41206a290300370300200041186a200241e0006a41186a290300370300200041106a200241e0006a41106a290300370300200041086a200241e0006a41086a2903003703000c160b20024198016a41086a200141386a28020036020020022001290230370398012002200128022c3602a803200241e0036a41206a200141206a290200370300200241e0036a41186a200141186a290200370300200241e0036a41106a200141106a290200370300200241e0036a41086a200141086a290200370300200220012902003703e0032002200241a8036a36028c04200220024198016a36028804200241a8016a200241e0036a10cf878080000240200228029801450d00200228029c0122012001417e6a2f00006b41002802ec82d48000118180808000000b20022903a8014202510d10200020022903a801370300200041306a200241a8016a41306a290300370300200041286a200241a8016a41286a290300370300200041206a200241a8016a41206a290300370300200041186a200241a8016a41186a290300370300200041106a200241a8016a41106a290300370300200041086a200241a8016a41086a2903003703000c150b200241e0016a41086a200141346a2802003602002002200129022c3703e001200241e0036a41206a200141206a290200370300200241e0036a41186a200141186a290200370300200241e0036a41106a200141106a290200370300200241e0036a41086a200141086a290200370300200220012902003703e0032002200241e0016a36028804200241f0016a200241e0036a10d087808000024020022802e001450d0020022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000b20022903f0014202510d10200020022903f001370300200041306a200241f0016a41306a290300370300200041286a200241f0016a41286a290300370300200041206a200241f0016a41206a290300370300200041186a200241f0016a41186a290300370300200041106a200241f0016a41106a290300370300200041086a200241f0016a41086a2903003703000c140b200241a8026a41186a200141c1006a290000370300200241a8026a41106a200141396a290000370300200241a8026a41086a200141316a290000370300200220012900293703a802200241a8036a41206a200141206a290200370300200241a8036a41186a200141186a290200370300200241a8036a41106a200141106a290200370300200241a8036a41086a200141086a290200370300200220012902003703a8032002200241a8026a3602d0030240024041afe4ca8000411310b691808000220541ff01490d0020022802a80322012001280200417f6a22053602004109210120050d01200241a8036a10ca878080000c010b2002200541016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022052005280200417f6a220536020020012d00042103024020050d00200110ca878080000b200341ff0171450d1141002802cc82d48000118e8080800000200241df066a10c691808000410221010b200041003a0021200020013a0020200041003a0018200042003703000c130b200241a8026a41186a200141c1006a290000370300200241a8026a41106a200141396a290000370300200241a8026a41086a200141316a290000370300200220012900293703a802200241a8036a41206a200141206a290200370300200241a8036a41186a200141186a290200370300200241a8036a41106a200141106a290200370300200241a8036a41086a200141086a290200370300200220012902003703a8032002200241a8026a3602d0030240024041afe4ca8000411310b691808000220541ff01490d0020022802a80322012001280200417f6a22053602004109210120050d01200241a8036a10ca878080000c010b2002200541016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022052005280200417f6a220536020020012d00042103024020050d00200110ca878080000b200341ff0171450d1141002802cc82d48000118e8080800000200241df066a10c691808000410221010b200041003a0030200041003a0021200020013a0020200041003a0018200042003703000c120b20012802302105200128022c21030240024041afe4ca8000411310b691808000220441ff01490d004109210442002107024020030d0041002103410021050c020b4100210320052005417e6a2f00006b41002802ec82d4800011818080800000410021050c010b2002200441016a3602e00341afe4ca80004113200241e0036a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241e0036a20052001280234220410e18d808000024002400240024020022d00e0034101470d00200241d0036a200241ec036a290200370300200241d8036a200241f4036a280200360200200220022902e4033703c8030c010b20024190066a41086a2208200241ea036a29010037030020024190066a41106a2209200241f2036a290100370300200241a8066a220a200241fa036a290100370300200220022901e2033703900620022d00e1032106200242f7b6fccfd083b2cf4d3700f803200242afd2c6ffdbc495bc083700f003200242fc90b9e5d09296e7773700e803200242a6d4e6f1a4dd9598603700e003200241e0036a4120410028029482d48000118b8080800000024002400240024020052004200610da8d808000220b41766a41ff01712206410220064102491b0e03010300010b200241a8036a200b10cf8c808000200241c3066a200241a8036a41086a290200370000200241cb066a200241a8036a41106a28020036000020024181046a200a290300370000200241f9036a2009290300370000200241f1036a2008290300370000200220022902a8033700bb0620024191046a200241b8066a41086a29000037000020024198046a200241c7066a29000037000020022002290390063700e903200241073a00e803200220022900b806370089042002411e3a00e00341014100200241e0036a10d28d808000200242003703b00302402003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b0c010b200220043602b003200220053602ac03200220033602a803200241e0036a200241a8036a10a287808000024020022d00e003410f460d00200241d8036a200241f0036a280200360200200241d0036a200241e8036a290200370300200220022902e0033703c8030c040b200241e0036a10aa86808000200242013703b003200220022903800622073703c003200220022903f8053703b8032007a721030b200241b8066a41086a200241a8036a41106a290300370300200241e0036a41086a200241d2036a290100370300200241e0036a41106a200241da036a2f01003b0100200220022903b0033703b806200220022800c1033602a802200220022901ca033703e0032002200241c4036a2800003600ab02410121044202210741a482d4800021060c030b200241a8036a41206a410710cf8c8080000b2003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241b8066a41086a200241a8036a41106a290300370300200241e0036a41086a200241d2036a290100370300200241e0036a41106a200241da036a2f01003b0100200220022903b0033703b806200220022800c1033602a802200220022901ca033703e0032002200241c4036a2800003600ab02420021074100210341cc82d48000210620022802dc03210820022d00c903210520022d00c80321040b200241e8026a41086a200241b8066a41086a290300370300200241c8026a41086a200241e0036a41086a290300370300200241c8026a41106a200241e0036a41106a2f01003b0100200220022903b8063703e802200220022802a8023602e002200220022800ab023600e302200220022903e0033703c8022006280200118e8080800000200241df066a10c6918080000b200128020022062006280200417f6a2206360200024020060d00200110ca878080000b20074202510d1020002007370300200020022903e802370308200020033a0018200020022802e002360019200020053a0021200020043a0020200020022903c8023700222000411c6a20022800e302360000200041106a200241e8026a41086a2903003703002000412a6a200241c8026a41086a290300370000200041326a200241c8026a41106a2f01003b0000200020083602340c110b200041003a0021200020063a0020200041003a001820004200370308200042023703000c100b41002802cc82d48000118e8080800000200241df066a10c691808000410221010b20004200370300200041003a0018200041086a4200370300200041003a0021200020013a00200c0e0b20012002290390063700002001417e6a220541003b000041bad2c58000410a2001410841002802dc82d4800011838080800000200120052f00006b41002802ec82d4800011818080800000200241043a00a803200241a8036a10f58880800041002802a482d48000118e8080800000200241df066a10c691808000200041003b0120200041003a001820004200370308200042023703000c0d0b4100210120052005417e6a2f00006b41002802ec82d48000118180808000000b200020013a0021200020043a0020200042003703182000420137030820004200370300200020022903f8023700222000412a6a20024180036a290300370000200041326a20024188036a2f01003b00000c0b0b200241e0036a10aa8680800020022903f8052107200229038006210c41002802a482d48000118e8080800000200241df066a10c691808000200041003a00202000200c3703182000200737031020004201370308200042023703000c0a0b4100210120052005417e6a2f00006b41002802ec82d48000118180808000000b200020013a0021200020043a002020004200370318200042013703082000420037030020002002290390033700222000412a6a20024198036a290300370000200041326a200241a0036a2f01003b00000c080b200241e0036a10aa8680800020022903f8052107200229038006210c41002802a482d48000118e8080800000200241df066a10c691808000200041003a00202000200c3703182000200737031020004201370308200042023703000c070b2000200229032037030820004202370300200041206a200241186a41206a290300370300200041186a200241186a41186a290300370300200041106a200241186a41106a2903003703000c060b2000200229036837030820004202370300200041206a200241e0006a41206a290300370300200041186a200241e0006a41186a290300370300200041106a200241e0006a41106a2903003703000c050b200020022903b00137030820004202370300200041206a200241a8016a41206a290300370300200041186a200241a8016a41186a290300370300200041106a200241a8016a41106a2903003703000c040b200020022903f80137030820004202370300200041206a200241f0016a41206a290300370300200041186a200241f0016a41186a290300370300200041106a200241f0016a41106a2903003703000c030b20024181046a200241c0026a2903002207370000200241e0036a41196a200241b8026a290300220c370000200241e0036a41116a200241b0026a290300220d370000200220022903a802220e3700e90320024190066a41196a200737000020024190066a41116a200c37000020024199066a200d3700002002200e37009106200241013a009006200242f7b6fccfd083b2cf4d3700d006200242afd2c6ffdbc495bc083700c806200242fc90b9e5d09296e7773700c006200242a6d4e6f1a4dd9598603700b80620024190066a200241b8066a4120108486808000200241013a008904200241063a00e8032002411e3a00e00341014100200241e0036a10d28d80800041002802a482d48000118e8080800000200241df066a10c691808000200041003a002020004200370308200042023703000c020b20024181046a200241c0026a2903002207370000200241e0036a41196a200241b8026a290300220c370000200241e0036a41116a200241b0026a290300220d370000200220022903a802220e3700e90320024190066a41196a200737000020024190066a41116a200c37000020024199066a200d3700002002200e37009106200241003a009006200242f7b6fccfd083b2cf4d3700d006200242afd2c6ffdbc495bc083700c806200242fc90b9e5d09296e7773700c006200242a6d4e6f1a4dd9598603700b80620024190066a200241b8066a4120108486808000200241003a008904200241063a00e8032002411e3a00e00341014100200241e0036a10d28d80800041002802a482d48000118e8080800000200241df066a10c691808000200041003a00202000410f3b011020004200370308200042023703000c010b200020022903e802370308200020033a0018200020022802e002360019200020053a0021200020043a0020200020022802c802360022200042023703002000411c6a20022800e302360000200041266a20022f01cc023b0000200041106a200241f0026a2903003703000b200241e0066a2480808080000ba70401047f23808080800041106b22022480808080000240024041afe4ca8000411310b691808000220341ff01490d00200041093b0120200041003a001820004200370300200128020022002000280200417f6a220036020020000d01200110ca878080000c010b2002200341016a36020841afe4ca80004113200241086a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022032003280200417f6a220336020020012d0004210420012802282105024020030d00200110ca878080000b02400240200441ff01710d00024020052802082203450d0020052802042204210102402003410171450d00200428020420042802082004280210200428021441002802dc82d4800011838080800000200441186a21010b200341ffffffff01714101460d002004200341186c6a21030340200141046a280200200141086a280200200141106a280200200141146a28020041002802dc82d48000118380808000002001411c6a280200200141206a280200200141286a2802002001412c6a28020041002802dc82d4800011838080800000200141306a22012003470d000b0b4100210141002802a482d48000118e8080800000200041003a001820004200370308200042023703000c010b41002802cc82d48000118e808080000020004200370300200041003a0018200041086a4200370300410221010b200020013a00202002410f6a10c6918080000b200241106a2480808080000bdc0401057f23808080800041106b22022480808080000240024041afe4ca8000411310b691808000220341ff01490d00200041093b0120200041003a001820004200370300200128020022032003280200417f6a220336020020030d01200110ca878080000c010b2002200341016a36020841afe4ca80004113200241086a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022032003280200417f6a220336020020012d0004210420012802282105024020030d00200110ca878080000b02400240200441ff01710d00024020052802082204450d002004417f6a41ffffffff03712106200528020422052101024020044103712203450d00200521010340200141046a280200200141086a280200410028029482d48000118b80808000002001410c6a21012003417f6a22030d000b0b20064103490d0020052004410c6c6a21030340200141046a280200200141086a280200410028029482d48000118b8080800000200141106a280200200141146a280200410028029482d48000118b80808000002001411c6a280200200141206a280200410028029482d48000118b8080800000200141286a2802002001412c6a280200410028029482d48000118b8080800000200141306a22012003470d000b0b4100210141002802a482d48000118e8080800000200041003a001820004200370308200042023703000c010b41002802cc82d48000118e808080000020004200370300200041003a0018200041086a4200370300410221010b200020013a00202002410f6a10c6918080000b200241106a2480808080000b920401057f23808080800041106b22022480808080000240024041afe4ca8000411310b691808000220341ff01490d00200041093b0120200041003a001820004200370300200128020022002000280200417f6a220036020020000d01200110ca878080000c010b2002200341016a36020841afe4ca80004113200241086a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022032003280200417f6a220336020020012d00042104200128022c210520012802282106024020030d00200110ca878080000b0240024002400240200441ff01710d00410021012002200628020422042006280208220341012005280200410028029c82d48000118780808000002002280200410171450d0241002106024020034100480d00024020030d0041012004200310f4978080001a0c040b41002d008083d480001a200341002802f482d480001182808080000022060d02410121060b2006200341c0d9ca800010b980808000000b41002802cc82d48000118e808080000020004200370300200041003a0018200041086a4200370300410221010c020b2006417e6a41003b000020062004200310f49780800041002802ec82d48000118180808000000b41002802a482d48000118e8080800000200041003a001820004200370308200042023703000b200020013a00202002410f6a10c6918080000b200241106a2480808080000bbd0302047f017e23808080800041f0006b22022480808080000240024041afe4ca8000411310b691808000220341ff01490d00200041093b0120200041003a001820004200370300200128020022002000280200417f6a220036020020000d01200110ca878080000c010b2002200341016a36020041afe4ca800041132002410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022032003280200417f6a220336020020012d0004210420012802282105024020030d00200110ca878080000b02400240200441ff01714101460d004102210141cc82d480002103420021060c010b200241216a200141056a220141186a290000370000200241196a200141106a290000370000200241116a200141086a2900003700002002200129000037000941002101200241296a2005280204200528020841002802c480d48000118680808000002002411e3a0000200241053a000841014100200210d28d8080004202210641a482d4800021030b2003280200118e8080800000200020013a0020200041003a00182000420037030820002006370300200241ef006a10c6918080000b200241f0006a2480808080000bd72303017f017e067f2380808080004190116b2202248080808000024002400240024002400240024002400240024002400240024002402001280200417f6a0e050001020304000b2001290308210320012802042104200241386a41206a200141306a290200370300200241386a41186a200141286a290200370300200241386a41106a200141206a290200370300200241c0006a200141186a290200370300200220012902103703382002200436022c2002200337023020022002412c6a3602642002200241306a3602600240024041afe4ca8000411310b691808000220441ff01490d00200228023822012001280200417f6a22053602004100210441092101024020050d00200241386a10ca878080000b0c010b2002200441016a3602800941afe4ca8000411320024180096a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128021021040240024020012d00142205450d00200241a4096a200141346a28000036000020024180096a411d6a2001412d6a29000037000020024195096a200141256a2900003700002002418d096a2001411d6a29000037000020042004280200417f6a2206360200200220053a00840920022004360280092002200129001537008509024020060d0020024180096a10ca878080000b410221010c010b20042004280200417f6a2205360200024020050d00200141106a10ca878080000b2002428fc293ebfcb2d6924037009809200242a697eca999a192e81737009009200242c0c38addfcd9c9c1c40037008809200242c2d5a39edcfaf091cd0037008009200241086a20024180096a412010d0858080000240200228020c410020022802084101711b22072002280234410020022802301b470d0002400240200228022c220820074d0d00034020024180096a410041800810fa978080001a2007220941016a210720024180096a210141002105034041002d008083d480001a410841002802f482d48000118280808000002204450d0d200420093600002004417e6a220641003b00002004200536000420024180016a2004410841002802dc80d4800011868080800000200420062f00006b41002802ec82d4800011818080800000200141186a20024180016a41186a290000370000200141106a20024180016a41106a290000370000200141086a20024180016a41086a2900003700002001200229008001370000200141206a2101200541016a22054120470d000b20024180016a20024180096a41800810f4978080001a20024180096a200910e98680800041002d008083d480001a2002280288092105200228028409210141800841002802f482d48000118280808000002204450d0d2004417e6a220641003b000020012005200420024180016a41800810f497808000220441800841002802dc82d4800011838080800000200420062f00006b41002802ec82d48000118180808000000240200228028009450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b20072008470d000c020b0b200820074f0d00034020024180096a200810e9868080002002280284092201200228028809410028029482d48000118b80808000000240200228028009450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b2007200841016a2208470d000b0b200220022802303a008909200241003a008809200241233a0080094101410020024180096a10d28d808000200228022c21012002428fc293ebfcb2d6924037009809200242a697eca999a192e81737009009200242c0c38addfcd9c9c1c40037008809200242c2d5a39edcfaf091cd0037008009200220013602800120024180096a412020024180016a410441002802dc82d48000118380808000000c0e0b200241e8006a410110d98c80800020022d00682201410f460d0d20022d0078210520022d006921040b200241166a200241fb006a2d00003a00002002200229016a370318200220022f00793b01142002200241f0006a29010037011e41002802cc82d48000118e80808000002002418f116a10c6918080000b200041286a200229011e37010020002002290318370122200020022f01143b0031200041336a200241166a2d00003a0000200020053a0030200020043a0021200020013a0020200041003a0018200042003703000c0c0b2001290308210320024180016a41206a200141306a29020037030020024180016a41186a200141286a29020037030020024180016a41106a200141206a29020037030020024188016a200141186a2902003703002002200129021037038001200220033703302002200241306a3602a8010240024041afe4ca8000411310b691808000220441ff01490d0020022802800122012001280200417f6a22053602004100210441092101024020050d0020024180016a10ca878080000b0c010b2002200441016a3602800941afe4ca8000411320024180096a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128021021040240024020012d00142205450d00200241a4096a200141346a28000036000020024180096a411d6a2001412d6a29000037000020024195096a200141256a2900003700002002418d096a2001411d6a29000037000020042004280200417f6a2206360200200220053a00840920022004360280092002200129001537008509024020060d0020024180096a10ca878080000b410221010c010b20042004280200417f6a2205360200024020050d00200141106a10ca878080000b0240200229033022034280c8afa025560d00200242ecefd7e4f19abeaecc0037009809200242c98dcdf1f0adada9c40037009009200242c0c38addfcd9c9c1c40037008809200242c2d5a39edcfaf091cd00370080092002200337031820024180096a4120200241186a410841002802dc82d48000118380808000002002200229033037039009200241013a008809200241233a0080094101410020024180096a10d28d8080000c0c0b200241386a410210d98c80800020022d00382201410f460d0b20022d0048210520022d003921040b2002412e6a200241cb006a2d00003a00002002200229013a370368200220022f00493b012c2002200241c0006a29010037016e41002802cc82d48000118e80808000002002418f116a10c6918080000b200041286a200229016e37010020002002290368370122200020022f012c3b0031200041336a2002412e6a2d00003a0000200020053a0030200020043a0021200020013a0020200041003a0018200042003703000c0b0b2001290308210320024180016a41206a200141306a29020037030020024180016a41186a200141286a29020037030020024180016a41106a200141206a29020037030020024188016a200141186a2902003703002002200129021037038001200220033703302002200241306a3602a8010240024041afe4ca8000411310b691808000220441ff01490d0020022802800122012001280200417f6a22053602004100210441092101024020050d0020024180016a10ca878080000b0c010b2002200441016a3602800941afe4ca8000411320024180096a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128021021040240024020012d00142205450d00200241a4096a200141346a28000036000020024180096a411d6a2001412d6a29000037000020024195096a200141256a2900003700002002418d096a2001411d6a29000037000020042004280200417f6a2206360200200220053a00840920022004360280092002200129001537008509024020060d0020024180096a10ca878080000b410221010c010b20042004280200417f6a2205360200024020050d00200141106a10ca878080000b0240200229033022034280c8afa025560d00200242988af5b38bd59ae3ad7f37009809200242958ff2c2ebc1eefc7937009009200242c0c38addfcd9c9c1c40037008809200242c2d5a39edcfaf091cd00370080092002200337031820024180096a4120200241186a410841002802dc82d48000118380808000002002200229033037039009200241023a008809200241233a0080094101410020024180096a10d28d8080000c0a0b200241386a410210d98c80800020022d00382201410f460d0920022d0048210520022d003921040b2002412e6a200241cb006a2d00003a00002002200229013a370368200220022f00493b012c2002200241c0006a29010037016e41002802cc82d48000118e80808000002002418f116a10c6918080000b200041286a200229016e37010020002002290368370122200020022f012c3b0031200041336a2002412e6a2d00003a0000200020053a0030200020043a0021200020013a0020200041003a0018200042003703000c0a0b20012802102104200128020821092001280204210741092105024041afe4ca8000411310b691808000220641fe014b0d002002200641016a3602800941afe4ca8000411320024180096a410441002802dc82d480001183808080000041002802e482d48000118e808080000041002802a482d48000118e80808000002002418f116a10c691808000410f21050b02402007450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b20042004280200417f6a2209360200024020090d00200141106a10ca878080000b200641ff01490d01200041003a0018200041003a0021420021030c020b2001290308210320024180016a41206a200141306a29020037030020024180016a41186a200141286a29020037030020024180016a41106a200141206a29020037030020024188016a200141186a2902003703002002200129021037038001200220033703302002200241306a3602a8010240024041afe4ca8000411310b691808000220441ff01490d0020022802800122012001280200417f6a22053602004100210441092101024020050d0020024180016a10ca878080000b0c010b2002200441016a3602800941afe4ca8000411320024180096a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128021021040240024020012d00142205450d00200241a4096a200141346a28000036000020024180096a411d6a2001412d6a29000037000020024195096a200141256a2900003700002002418d096a2001411d6a29000037000020042004280200417f6a2206360200200220053a00840920022004360280092002200129001537008509024020060d0020024180096a10ca878080000b410221010c010b20042004280200417f6a2205360200024020050d00200141106a10ca878080000b0240200229033022034280c8afa025560d00200242cfc4f4d18decb3a8d80037009809200242e8afb0b6b9e781b59d7f37009009200242c0c38addfcd9c9c1c40037008809200242c2d5a39edcfaf091cd00370080092002200337031820024180096a4120200241186a410841002802dc82d48000118380808000002002200229033037039009200241033a008809200241233a0080094101410020024180096a10d28d8080000c070b200241386a410210d98c80800020022d00382201410f460d0620022d0048210520022d003921040b2002412e6a200241cb006a2d00003a00002002200229013a370368200220022f00493b012c2002200241c0006a29010037016e41002802cc82d48000118e80808000002002418f116a10c6918080000b200041286a200229016e37010020002002290368370122200020022f012c3b0031200041336a2002412e6a2d00003a0000200020053a0030200020043a0021200020013a0020200041003a0018200042003703000c080b2000420037030842022103410021050b20002003370300200020053a00200c060b4101410810ab80808000000b410141800810ab80808000000b41002802a482d48000118e80808000002002418f116a10c691808000200041003a002020004200370308200042023703000c030b41002802a482d48000118e80808000002002418f116a10c691808000200041003a002020004200370308200042023703000c020b41002802a482d48000118e80808000002002418f116a10c691808000200041003a002020004200370308200042023703000c010b41002802a482d48000118e80808000002002418f116a10c691808000200041003a002020004200370308200042023703000b20024190116a2480808080000bc20702037f027e23808080800041f0006b220224808080800020022001280228290300370300200241086a41206a200141206a290200370300200241086a41186a200141186a290200370300200241086a41106a200141106a290200370300200241086a41086a200141086a29020037030020022001290200370308200220023602300240024002400240024041afe4ca8000411310b691808000220341ff01490d00200228020822012001280200417f6a22033602004109210120030d01200241086a10ca878080000c010b2002200341016a36024c41afe4ca80004113200241cc006a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022032003280200417f6a220336020020012d00042104024020030d00200110ca878080000b410221010240200441ff01714102470d0020024287fabfddaff098b0e500370064200242bba3a3a09cb1a6b27737005c200242ebe5e9f6a0afd08944370054200242f087979bfcb996ebf10037004c200241cc006a412041002802ac82d48000118480808000000d0420024284c1c7b7cda097febb7f3700642002429fbf94a8c1ded8e64f37005c200242ebe5e9f6a0afd08944370054200242f087979bfcb996ebf10037004c200241386a200241cc006a412010e9858080002002290300210520022802384101470d0220022903402206500d02200520065a0d022002410036025c2002410136025020024198e0c5800036024c20024204370254200241cc006a41a0e0c5800010fe80808000000b41002802cc82d48000118e8080800000200241ef006a10c6918080000b200041003a0021200020013a0020200041003a0018200042003703000c010b20024284c1c7b7cda097febb7f3700642002429fbf94a8c1ded8e64f37005c200242ebe5e9f6a0afd08944370054200242f087979bfcb996ebf10037004c20022005370338200241cc006a4120200241386a410841002802dc82d480001183808080000020024287fabfddaff098b0e500370064200242bba3a3a09cb1a6b27737005c200242ebe5e9f6a0afd08944370054200242f087979bfcb996ebf10037004c200241013a0038200241cc006a4120200241386a410141002802dc82d4800011838080800000200229030010cd8680800041002802a482d48000118e8080800000200241ef006a10c691808000200041003a002020004200370308200042023703000b200241f0006a2480808080000f0b2002410036025c20024101360250200241e0e0c5800036024c20024204370254200241cc006a41e8e0c5800010fe80808000000b8c4804017f027e087f037e23808080800041c0046b220224808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012d0000417f6a0e09000102030405060708000b200241b8026a200141246a280200360200200241b0026a2001411c6a290200370300200241a8026a200141146a290200370300200241a0026a2001410c6a29020037030020022001290204370398022001290330210320012903382104200241f8016a200141e8006a29020037030020024180026a200141f0006a29020037030020024188026a200141f8006a29020037030020024190026a20014180016a290200370300200220012902603703f0012002200437037820022003370370200241e0026a200241f0016a41cc0010f4978080001a2002200241f0006a3602ac03024041afe4ca8000411310b691808000220541ff01490d0020022802e00222012001280200417f6a2201360200024020010d00200241e0026a10ca878080000b4100210141092105024020022d0088034102470d00200228028c03450d004100210120022802900322062006417e6a2f00006b41002802ec82d48000118180808000000b0c220b2002200541016a3602a00141afe4ca80004113200241a0016a410441002802dc82d480001183808080000041002802e482d48000118e808080000020022d0088032107200228028c032108200228029003210920012d00642105200128026022062006280200417f6a2206360200024020060d00200141e0006a10ca878080000b0240200541ff01714101460d0041022105200741ff01714102470d202008450d2020092009417e6a2f00006b41002802ec82d48000118180808000000c210b200241e0036a41186a200141fd006a290000370300200241f0036a200141f5006a290000370300200241e8036a200141ed006a290000370300200220012900653703e003200128020c21052001280208210602400240024020012d00040e03020100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410121050c210b20024192046a200141076a2d00003a0000200241a3046a200141186a29000037000020024190046a41186a2001411d6a29000037000020022005360097042002200636009304200220012f00053b0190042002200129001037009b04200241a0016a200241e0036a20024190046a20022903702002290378410010d48c80800020022802a0014101470d0820024188046a20022f01ae013b0100200220022901a6013703800420022d00a4012205410f460d0820022d00a501210120022903b00121030c200b200241f0016a41c8006a200141246a280200360200200241f0016a41c0006a2001411c6a290200370300200241f0016a41386a200141146a290200370300200241f0016a41306a2001410c6a290200370300200241c4026a200141306a290200370200200241cc026a200141386a290200370200200241d4026a200141c0006a290200370200200241dc026a200141c8006a2802003602002002200129020437039802200220012902283702bc022001290350210320012903582104200241f8016a200141e8006a29020037030020024180026a200141f0006a29020037030020024188026a200141f8006a29020037030020024190026a20014180016a290200370300200220012902603703f0012002200437037820022003370370200241e0026a200241f0016a41f00010f4978080001a2002200241f0006a3602d003024041afe4ca8000411310b691808000220541ff01490d0020022802e00222012001280200417f6a2201360200024020010d00200241e0026a10ca878080000b024020022d0088034102470d00200228028c03450d0020022802900322012001417e6a2f00006b41002802ec82d48000118180808000000b4100210141092105024020022d00ac034102470d0020022802b003450d004100210120022802b40322062006417e6a2f00006b41002802ec82d48000118180808000000b0c1e0b2002200541016a3602a00141afe4ca80004113200241a0016a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012d00642105200128026022062006280200417f6a220636020020022802b403210920022802b003210820022d00ac032107200228029003210a200228028c03210b20022d008803210c024020060d00200141e0006a10ca878080000b0240200541ff0171450d0041022105200c41ff01714102470d1b200b450d1b200a200a417e6a2f00006b41002802ec82d48000118180808000000c1b0b200128020c21052001280208210602400240024020012d00040e03020100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410121050c1b0b200241e0036a41026a200141076a2d00003a0000200241e0036a41136a200141186a290000370000200241e0036a41186a2001411d6a290000370000200220053600e703200220063600e303200220012f00053b01e003200220012900103700eb0302400240024020070e03020100010b2008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b410121050c1c0b20024190046a41026a200141296a220541026a2d00003a000020024190046a41136a200141346a220141086a29000037000020024190046a41186a2001410d6a29000037000020022009360097042002200836009304200220052f00003b0190042002200129000037009b04200241a0016a200241e0036a20024190046a20022903702002290378410010d48c80800020022802a0010d180c190b200241b8026a200141246a280200360200200241b0026a2001411c6a290200370300200241a8026a200141146a290200370300200241a0026a2001410c6a29020037030020022001290204370398022001290330210320012903382104200241f8016a200141e8006a29020037030020024180026a200141f0006a29020037030020024188026a200141f8006a29020037030020024190026a20014180016a290200370300200220012902603703f0012002200437037820022003370370200241e0026a200241f0016a41cc0010f4978080001a2002200241f0006a3602ac03024041afe4ca8000411310b691808000220541ff01490d0020022802e00222012001280200417f6a2201360200024020010d00200241e0026a10ca878080000b4100210141092105024020022d0088034102470d00200228028c03450d004100210120022802900322062006417e6a2f00006b41002802ec82d48000118180808000000b0c170b2002200541016a3602a00141afe4ca80004113200241a0016a410441002802dc82d480001183808080000041002802e482d48000118e808080000020022d0088032107200228028c032108200228029003210920012d00642105200128026022062006280200417f6a2206360200024020060d00200141e0006a10ca878080000b0240200541ff01714101460d0041022105200741ff01714102470d152008450d1520092009417e6a2f00006b41002802ec82d48000118180808000000c160b200241e0036a41186a200141fd006a290000370300200241f0036a200141f5006a290000370300200241e8036a200141ed006a290000370300200220012900653703e003200128020c21052001280208210602400240024020012d00040e03020100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410121050c160b20024190046a41026a200141076a2d00003a0000200241a3046a200141186a29000037000020024190046a41186a2001411d6a29000037000020022005360097042002200636009304200220012f00053b0190042002200129001037009b04200241a0016a200241e0036a20024190046a20022903702002290378410210d48c80800020022802a0014101470d0720024188046a20022f01ae013b0100200220022901a6013703800420022d00a4012205410f460d0720022d00a501210120022903b00121030c150b200241b8026a200141246a280200360200200241b0026a2001411c6a290200370300200241a8026a200141146a290200370300200241a0026a2001410c6a290200370300200220012902043703980220012d00012105200241f8016a200141e8006a29020037030020024180026a200141f0006a29020037030020024188026a200141f8006a29020037030020024190026a20014180016a290200370300200220012902603703f001200220053a0008200241e0026a200241f0016a41cc0010f4978080001a2002200241086a3602ac03024041afe4ca8000411310b691808000220541ff01490d0020022802e00222012001280200417f6a2201360200024020010d00200241e0026a10ca878080000b4100210141092105024020022d0088034102470d00200228028c03450d004100210120022802900322062006417e6a2f00006b41002802ec82d48000118180808000000b0c130b2002200541016a3602a00141afe4ca80004113200241a0016a410441002802dc82d480001183808080000041002802e482d48000118e808080000020022d0088032107200228028c032108200228029003210920012d00642105200128026022062006280200417f6a2206360200024020060d00200141e0006a10ca878080000b0240200541ff01714101460d0041022105200741ff01714102470d112008450d1120092009417e6a2f00006b41002802ec82d48000118180808000000c120b200241e0036a41186a200141fd006a290000370300200241f0036a200141f5006a290000370300200241e8036a200141ed006a290000370300200220012900653703e003200241a0016a200241e0036a4102410020022d00081b2207410010d18c808000200128020c21052001280208210602400240024020012d00040e03020100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410121050c120b20022903a801210320022903a001210420024190046a41026a200141076a2d00003a0000200241a3046a200141186a29000037000020024190046a41186a2001411d6a29000037000020022005360097042002200636009304200220012f00053b0190042002200129001037009b04200241a0016a200241e0036a20024190046a20042003200710d48c80800020022802a0014101470d07200241f8006a20022f01ae013b0100200220022901a60137037020022d00a4012205410f460d0720022d00a501210120022903b00121030c110b200241b8026a200141246a280200360200200241b0026a2001411c6a290200370300200241a8026a200141146a290200370300200241a0026a2001410c6a290200370300200241f8016a200141e8006a29020037030020024180026a200141f0006a29020037030020024188026a200141f8006a29020037030020024190026a20014180016a2902003703002002200129020437039802200220012902603703f00120012903302103200220012903383703e803200220033703e003200241e0026a200241f0016a41cc0010f4978080001a2002200241e0036a3602ac030240024041afe4ca8000411310b691808000220541ff01490d0020022802e00222012001280200417f6a2201360200024020010d00200241e0026a10ca878080000b4109210120022d0088034102470d01200228028c03450d0120022802900322052005417e6a2f00006b41002802ec82d48000118180808000000c010b2002200541016a3602a00141afe4ca80004113200241a0016a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012d00642105200128026022062006280200417f6a22063602002002280290032107200228028c03210820022d0088032109024020060d00200141e0006a10ca878080000b02400240200541ff0171450d0041022101200941ff01714102470d012008450d0120072007417e6a2f00006b41002802ec82d48000118180808000000c010b200128020c2105200128020821060240024020012d00040e030b0100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410121010b41002802cc82d48000118e8080800000200241bf046a10c6918080000b200041003a0030200041003a0021200020013a0020200041003a0018200042003703000c1e0b200241186a41086a2001410c6a2802003602002002200129020437031820024180036a20014180016a290200370300200241f8026a200141f8006a290200370300200241f0026a200141f0006a290200370300200241e0026a41086a200141e8006a290200370300200220012902603703e0022002200241186a36028803200241286a200241e0026a10d48780800002402002280218450d00200228021c22012001417e6a2f00006b41002802ec82d48000118180808000000b20022903284202510d0720002002290328370300200041306a200241286a41306a290300370300200041286a200241286a41286a290300370300200041206a200241286a41206a290300370300200041186a200241286a41186a290300370300200041106a200241286a41106a290300370300200041086a200241286a41086a2903003703000c1d0b200241e8016a200141246a280200360200200241e0016a2001411c6a290200370300200241d8016a200141146a290200370300200241d0016a2001410c6a290200370300200241a8016a200141e8006a290200370300200241b0016a200141f0006a290200370300200241b8016a200141f8006a290200370300200241c0016a20014180016a290200370300200220012902043703c801200220012902603703a001200129033021032002200129033837037820022003370370200241f0016a200241a0016a41cc0010f4978080001a2002200241f0006a3602bc02024041afe4ca8000411310b691808000220541ff01490d0020022802f00122012001280200417f6a2201360200024020010d00200241f0016a10ca878080000b4100210141092105024020022d0098024102470d00200228029c02450d004100210120022802a00222062006417e6a2f00006b41002802ec82d48000118180808000000b0c0d0b2002200541016a3602e00241afe4ca80004113200241e0026a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012d00642105200128026022062006280200417f6a220636020020022802a0022107200228029c02210820022d0098022109024020060d00200141e0006a10ca878080000b0240200541ff0171450d0041022105200941ff01714102470d0b2008450d0b20072007417e6a2f00006b41002802ec82d48000118180808000000c0c0b200128020c21052001280208210602400240024020012d00040e03020100010b2006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410121050c0c0b20024192046a200141076a2d00003a0000200241a3046a200141186a29000037000020024190046a41186a2001411d6a29000037000020022005360097042002200636009304200220012f00053b0190042002200129001037009b0420024200200229037822032002290370220442f4035441002003501b22011b22033703e80320024200200420011b22043703e003200241e0026a20024190046a4100200241e0036a10ea8c808000024002400240024020022802e0020d00200420022903f002220d56200320022903f802220e562003200e5122011b0d012004200d542003200e5420011b450d022002200d20047d3703e0022002200e20037d200d200454ad7d3703e802200241e0026a10d18d8080000c020b20024188046a20022f01ee023b0100200220022901e6023703800420022d00e4022205410f460d0220022d00e502210120022903f00221030c0e0b20022004200d7d3703e00220022003200e7d2004200d54ad7d3703e802200241e0026a10d38d8080000b20024198036a200241a8046a29010037030020024190036a200241a0046a29010037030020024188036a20024198046a290100370300200220022903e8033703f802200220022903e0033703f002200220022901900437038003200241033a00e00241014100200241e0026a10d28d8080000b41002802a482d48000118e8080800000200241bf046a10c6918080002000411a6a200241e8006a2f01003b010020002002290160370112200041003a00202000410f3a001020004200370308200042023703000c1c0b200129031021032001290318210420012d0001210520024190026a20014180016a29020037030020024188026a200141f8006a29020037030020024180026a200141f0006a290200370300200241f8016a200141e8006a290200370300200220012902603703f001200220053a00e003200220043703980420022003370390042002200241e0036a36029c02200220024190046a360298020240024041afe4ca8000411310b691808000220541ff01490d0020022802f00122012001280200417f6a22063602004100210541092101024020060d00200241f0016a10ca878080000b0c010b2002200541016a3602e00241afe4ca80004113200241e0026a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012d00642105200128026022062006280200417f6a2206360200024020060d00200141e0006a10ca878080000b410221010240200541ff01710d00024002402002290390042002290398048450450d00410c21010c010b200241e0026a10d98880800020022903e802210320022903e0022104200229039804210d200229039004210e0240024020022d00e0034101470d0042002003200d7d2004200e54ad7d220d2004200e7d220f200456200d200356200d2003511b22011b210e4200200f20011b210d0c010b427f2003200d7c2004200e7c220d2004542201ad7c220e2001200e200354200e2003511b22011b210e427f200d20011b210d0b200241e0026a10da8880800020022903e002200d5620022903e802220f200e56200f200e511b450d09410b21010b200241a0016a200110e68c80800020022d00a0012201410f460d090b2002418e016a200241b3016a2d00003a0000200220022901a20137039001200220022f00b1013b018c012002200241a8016a2901003701960120022d00a101210520022d00b001210641002802cc82d48000118e8080800000200241bf046a10c6918080000b200041286a2002290196013701002000200229039001370122200020022f018c013b0031200041336a2002418e016a2d00003a0000200020063a0030200020053a0021200020013a0020200041003a0018200042003703000c1b0b20012d00012105200129031021032001290318210420024180036a20014180016a290200370300200241f8026a200141f8006a290200370300200241f0026a200141f0006a290200370300200241e8026a200141e8006a290200370300200220012902603703e00220022004370398042002200337039004200220053a008004200220024190046a36028c03200220024180046a360288030240024041afe4ca8000411310b691808000220541ff01490d0020022802e00222012001280200417f6a22063602004100210541092101024020060d00200241e0026a10ca878080000b0c010b2002200541016a3602f00141afe4ca80004113200241f0016a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012d00642105200128026022062006280200417f6a2206360200024020060d00200141e0006a10ca878080000b02400240200541ff01714101460d00410221010c010b200241b8016a200141fd006a290000370300200241b0016a200141f5006a290000370300200241a0016a41086a200141ed006a290000370300200220012900653703a001200241f0016a200241a0016a2002290390042002290398044102410020022d0080041b4100410010d68c80800020022802f0014101470d09200241e0036a41086a20022f01fe013b0100200220022901f6013703e00320022d00f4012201410f460d0920022d00f501210520022903800221030b200241f0006a41086a200241e0036a41086a2f01003b0100200220022903e00337037041002802cc82d48000118e8080800000200241bf046a10c6918080000b2000412a6a200241f8006a2f01003b010020002002290370370122200041336a2003422888a722064110763a0000200020063b0031200020034220883c0030200020033e022c200020053a0021200020013a0020200041003a0018200042003703000c1a0b41002802a482d48000118e8080800000200241bf046a10c691808000200041003a002020004200370308200042023703000c190b41002802a482d48000118e8080800000200241bf046a10c691808000200041003a002020004200370308200042023703000c180b41002802a482d48000118e8080800000200241bf046a10c691808000200041003a00202000410f3a001020004200370308200042023703000c170b200241a2016a200141076a2d00003a0000200241b3016a200141186a290000370000200241a0016a41186a2001411d6a290000370000200220053600a701200220063600a301200220012f00053b01a001200220012900103700ab0120024190046a200241a0016a20022903e00320022903e80310e58c80800041002802a482d48000118e8080800000200241bf046a10c691808000200041003a00202000410f3b011020004200370308200042023703000c160b2000200229033037030820004202370300200041206a200241286a41206a290300370300200041186a200241286a41186a290300370300200041106a200241286a41106a2903003703000c150b200d200e10e7888080002002200e370388032002200d37038003200220033703f802200220043703f002200241173a00e00241014100200241e0026a10d28d8080000b41002802a482d48000118e8080800000200241bf046a10c691808000200041003a00202000410f3a001020004200370308200042023703000c130b41002802a482d48000118e8080800000200241bf046a10c691808000200041003a00202000410f3a001020004200370308200042023703000c120b0b200241e0006a41086a20024180046a41086a2f01003b0100200220022903800437036041002802cc82d48000118e8080800000200241bf046a10c6918080000b200041336a2003422888a722064110763a0000200020063b00312000412a6a200241e8006a2f01003b010020002002290360370122200020034220883c0030200020033e022c200020013a0021200020053a0020200041003a0018200042003703000c0f0b0b20024180046a41086a200241f0006a41086a2f01003b0100200220022903703703800441002802cc82d48000118e8080800000200241bf046a10c6918080000b2000412a6a20024188046a2f01003b01002000200229038004370122200041336a2003422888a722064110763a0000200020063b0031200020034220883c0030200020033e022c200020013a0021200020053a0020200041003a0018200042003703000c0c0b0b200241086a41086a20024180046a41086a2f01003b0100200220022903800437030841002802cc82d48000118e8080800000200241bf046a10c6918080000b2000412a6a200241106a2f01003b010020002002290308370122200041336a2003422888a722064110763a0000200020063b0031200020034220883c0030200020033e022c200020013a0021200020053a0020200041003a0018200042003703000c090b20024180046a41086a20022f01ae013b0100200220022901a6013703800420022d00a4012205410f460d0020022d00a501210120022903b00121030c030b41002802a482d48000118e8080800000200241bf046a10c691808000200041003a002020004200370308200042023703000c070b20074102470d002008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000c010b0b200241086a41086a20024180046a41086a2f01003b0100200220022903800437030841002802cc82d48000118e8080800000200241bf046a10c6918080000b2000412a6a200241106a2f01003b010020002002290308370122200041336a2003422888a722064110763a0000200020063b0031200020034220883c0030200020033e022c200020013a0021200020053a0020200041003a0018200042003703000c030b0b200241086a41086a20024180046a41086a2f01003b0100200220022903800437030841002802cc82d48000118e8080800000200241bf046a10c6918080000b2000412a6a200241106a2f01003b010020002002290308370122200041336a2003422888a722064110763a0000200020063b0031200020034220883c0030200020033e022c200020013a0021200020053a0020200041003a0018200042003703000b200241c0046a2480808080000bce0301057f23808080800041106b22022480808080000240024041afe4ca8000411310b691808000220341ff01490d00200041093b0120200041003a001820004200370300200128020022032003280200417f6a220336020020030d01200110ca878080000c010b2002200341016a36020841afe4ca80004113200241086a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020022032003280200417f6a220336020020012d0004210420012802282105024020030d00200110ca878080000b02400240200441ff01714101470d0041002103024020052802082201450d002001410574210420052802042103410021010340200141016a2206417f20061b2001200310cd8c8080001b2101200341206a2103200441606a22040d000b4101210320052802082204450d00200120044b0d002001ad428094ebdc037e2004ad8042ffd193ad035621030b41002802a482d48000118e8080800000200041003a001820004200370308200042023703000c010b41002802cc82d48000118e808080000020004200370300200041003a0018200041086a4200370300410221030b200020033a00202002410f6a10c6918080000b200241106a2480808080000b844f060a7f017e027f047e0e7f027e23808080800041b00b6b220224808080800002400240024002400240024002400240024002400240024002402001280200418080808078460d00200241ec016a200141d4006a280200360200200241c0006a413c6a2001413c6a280200360200200241c0006a41f8006a200141c8006a280200360200200241c0006a41c8006a200141e0006a29020037030020024190016a200141e8006a2902003703002002200129024c3702e40120022001290234370274200220012902403703b0012002200129025837038001200241c0006a41e8006a20014180016a290200370300200241c0006a41e0006a200141f8006a290200370300200241c4016a20014190016a290200370200200241cc016a20014198016a290200370200200241d4016a200141a0016a290200370200200241dc016a200141a8016a290200370200200241c0006a41086a200141086a290200370300200241c0006a41106a200141106a290200370300200241c0006a41186a200141186a290200370300200241c0006a41206a200141206a290200370300200241c0006a41286a200141286a290200370300200241c0006a41306a200141306a280200360200200220012902703703980120022001290288013702bc0120022001290200370340200241f0016a200241c0006a41b00110f4978080001a02400240024041afe4ca8000411310b691808000220341ff01490d0020022802ec0222012001280200417f6a2201360200024020010d00200241ec026a10ca878080000b024020022802f001450d0020022802f40122012001417e6a2f00006b41002802ec82d48000118180808000000b20024194036a10a68880800020022802a8022104024020022802ac022205450d0041002106034002402004200641f0006c6a22072802082203450d00200728020421010340024020012d0000220841034b0d002001200841027441d080c680006a2802006a2208280200450d00200841046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012003417f6a22030d000b0b02402007280200450d00200728020422012001417e6a2f00006b41002802ec82d48000118180808000000b200641016a22062005470d000b0b024020022802a402450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b024020022802e0022201418080808078460d002001450d0020022802e40222012001417e6a2f00006b41002802ec82d48000118180808000000b20022802b4022106024020022802b8022201450d002001410171210441002103024020014101460d002001417e7121072006210141002103034002402001280200450d00200141046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012007200341026a2203470d000b0b2004450d00200620034104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802b002450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b024020022802bc02450d0020022802c00222012001417e6a2f00006b41002802ec82d48000118180808000000b20022802cc022106024020022802d0022208450d002008410171210441002103024020084101460d002006411c6a21012008417e7121074100210303400240200141686a280200450d002001416c6a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141286a21012007200341026a2203470d000b0b2004450d002006200341146c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802c802450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b4109210120022802d402450d0120022802d80222032003417e6a2f00006b41002802ec82d48000118180808000000c010b2002200341016a3602b00741afe4ca80004113200241b0076a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241a0036a200241c0006a41b00110f4978080001a20012802880122032003280200417f6a220336020020012d008c012108024020030d0020014188016a10ca878080000b200841ff01714102460d01024020022802a003450d0020022802a40322012001417e6a2f00006b41002802ec82d48000118180808000000b200241c4046a10a68880800020022802d8032104024020022802dc032205450d0041002106034002402004200641f0006c6a22072802082203450d00200728020421010340024020012d0000220841034b0d002001200841027441d080c680006a2802006a2208280200450d00200841046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012003417f6a22030d000b0b02402007280200450d00200728020422012001417e6a2f00006b41002802ec82d48000118180808000000b200641016a22062005470d000b0b024020022802d403450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402002280290042201418080808078460d002001450d0020022802940422012001417e6a2f00006b41002802ec82d48000118180808000000b20022802e4032106024020022802e8032201450d002001410171210441002103024020014101460d002001417e7121072006210141002103034002402001280200450d00200141046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012007200341026a2203470d000b0b2004450d00200620034104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802e003450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b024020022802ec03450d0020022802f00322012001417e6a2f00006b41002802ec82d48000118180808000000b20022802fc03210602402002280280042208450d002008410171210441002103024020084101460d002006411c6a21012008417e7121074100210303400240200141686a280200450d002001416c6a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141286a21012007200341026a2203470d000b0b2004450d002006200341146c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802f803450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b0240200228028404450d0020022802880422012001417e6a2f00006b41002802ec82d48000118180808000000b41002802cc82d48000118e8080800000200241af0b6a10c691808000410221010b200041286a200241386a29010037010020002002290132370122200020022f002f3b0031200041336a200241316a2d00003a0000200041003a0021200020013a0020200041003a0018200042003703000c0c0b200242a9a5c4bef894cdeee7003700c807200242d4c584efa7e5bfee643700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b007200241b0076a412041002802ac82d48000118480808000000d03200241d0046a41086a200141086a290200370300200241d0046a41306a200141306a280200360200200241d0046a41286a200141286a290200370300200241d0046a41206a200141206a290200370300200241d0046a41186a200141186a290200370300200241d0046a41106a2203200141106a290200370300200220012902003703d004200128024c210820012802502109200128025421072001280234210a20012802382104200128023c2105200228029004210b200229029404210c20022802dc04210d200242cce78dfda8f884f6bd7f3700c807200242a2f98685b9fa9aec343700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b007200241206a200241b0076a412010d08580800002402002280220410171450d002002280224200d4b0d020b200242d8c192ad8deac8dd3f3700c80720024284ceb68ad8c4c79c8f7f3700c007200242e7eacab6b7c9acbc263700b8072002428de2fdb2e288b2fcd7003700b007200241186a200241b0076a412010d08580800020022802182101200228021c21060240024020070d00200241003602900520024100360288050c010b2008450d0320024188056a2008200910c0898080000b200241b0076a200641e40020014101711b200241a0036a41106a20024188056a10818280800020022802b809418080808078460d0420024188056a200241b0076a41a80210f4978080001a200241013602b40a200241b0076a20024188056a41c4d1c28000412010e78280800002400240024020022802b0072201418180808078470d00410021010c010b02402001418080808078470d00410221010c010b20022f00b507200241b7076a2d00004110747241087420022d00b407722106024020022802b807220e4108490d002006290000210f0b02402001450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200e41074b0d01410121010b200220013a00b107200241033a00b00741cce4c58000411f200241b0076a41bce4c5800041ece4c5800010a981808000000b2002200f3703b80a200242b0f2f7f283ece7d10b3700c807200242cbf2abd1d7a8b9e0d7003700c00720024284c2b1b3ef9292841e3700b807200242bce2f4b8c5daf6fa293700b007200241d80a6a200241b0076a412010f0858080000240024020022802d80a4101470d00024020022903e00a2210200f520d0020022802e80a21012002200f3703c00a200220013602cc0a200141014d0d02200241033602dc0a20024194e4c580003602d80a200242033702e40a200241a382808000ad422086220f200241b40a6aad843703c0072002200f200241cc0a6aad843703b807200241a482808000ad422086200241c00a6aad843703b0072002200241b0076a3602e00a200241d80a6a41ace4c5800010fe80808000000b2010200f5a0d070b2002200f3703c00a410021010b200f200141016a10e688808000200242e9c5fea9cdfbc4d26d3700c80720024286aaece2939beae4653700c00720024289df9d82f3818192383700b807200242d7f0f3fea28baccae7003700b007200241d80a6a200241b0076a412010e9858080002002200f420042f02e420010fc97808000200220022903e00a420020022802d80a1b220f3703d00a200242d2e2d98fbe86bb05200229030042f02e8020022903084200521b22103703880b200f2010520d06200241b0076a20024188056a410310a58780800020022903b807211120022903b0072112200241b0076a41186a200341186a290200370300200241b0076a41106a200341106a290200370300200241b0076a41086a2201200341086a2902003703002002200d3602d007200220032902003703b007200241d80a6a41086a2203200241b0076a108b8c808000200241013a00d80a200241d2a0cd92053600d90a200241d80a6a10f588808000200241d80a6a20024188056a10848280800020022d00d80a410f470d07200220022d00d90a22013a00e209200242dff88396b8eeb3817c3700c80720024283e3ced79d99b9c6c4003700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b007200241d80a6a200241b0076a412010ec85808000024020022802d80a4102460d0020022d00f40a2103200241e80a6a10ad8880800020034102460d00200220033a00e3090240200141ff01714102460d0020014101712003460d0c0b200241003602b0074100200241e2096a200241e3096a200241b0076a41d8f5c5800010b987808000000b200141ff01714102460d0a2001410171450d0820024286f68fbaaaa6a6a6323700c80720024290a3c7c38f88c6c34f3700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b00741002106200241b0076a412041002802ac82d4800011848080800000450d0920024286f68fbaaaa6a6a6323700c80720024290a3c7c38f88c6c34f3700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b007200241d80a6a200241b0076a412010e785808000410121034101210e024020022802d80a2213418080808078460d00200241b0076a4120410028029482d48000118b8080800000201345210e20022802e00a210620022802dc0a21030b41c8cfc7800041052003200641002802dc82d4800011838080800000200241043a00b007200241b0076a10f5888080002002411e3a00b007200241023a00b80741014100200241b0076a10d28d8080002002200d3602bc07200241013a00b8072002411f3a00b00741014100200241b0076a10d28d808000200e0d0a20032003417e6a2f00006b41002802ec82d48000118180808000000c0a0b2001280204210820012802082103200128020c2107200241dc076a200141a8016a290200370200200241d4076a200141a0016a290200370200200241cc076a20014198016a290200370200200241c4076a20014190016a290200370200200220073602b807200220033602b407200220083602b00720022001290288013702bc0702400240024041afe4ca8000411310b691808000220741ff01490d0020022802bc0722012001280200417f6a2201360200024020010d00200241bc076a10ca878080000b410921012008450d0120032003417e6a2f00006b41002802ec82d48000118180808000000c010b2002200741016a3602880541afe4ca8000411320024188056a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012802880122072007280200417f6a220736020020012d008c012106024020070d0020014188016a10ca878080000b200641ff0171450d0102402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b41002802cc82d48000118e8080800000200241af0b6a10c691808000410221010b200041003a0021200020013a0020200041003a0018200042003703000c0b0b200241a0036a41086a200141046a220141086a280200360200200220012902003703a00320024188056a200241a0036a10a18780800041002802a482d48000118e8080800000200241af0b6a10c691808000200041003a002020004200370308200042023703000c0a0b200241003602c007200241013602b40720024184edc280003602b007200242043702b807200241b0076a418cedc2800010fe80808000000b41949cc6800010a081808000000b200241003602c007200241013602b407200241a0f9c580003602b007200242043702b807200241b0076a41a8f9c5800010fe80808000000b20024188056a41086a200241b0076a41086a280200360200200220022903b0073703880541bcf8c58000411f20024188056a41bce4c5800041dcf8c5800010a981808000000b200220103703d00a200241023602b407200241b0e1c580003602b007200242023702bc07200241a482808000ad422086220f200241b80a6aad843703900b2002200f200241d00a6aad843703880b2002200241880b6a3602b807200241b0076a4198e2c5800010fe80808000000b200241043602dc0a2002418ce3c580003602d80a200242043702e40a200241a482808000ad422086220f200241c00a6aad843703c807200241a382808000ad422086200241b40a6aad843703c0072002200f200241880b6aad843703b8072002200f200241d00a6aad843703b0072002200241b0076a3602e00a200241d80a6a41ace3c5800010fe80808000000b20012003280200360200200220022902d80a3703b007418cf8c58000411f200241b0076a41bce4c5800041acf8c5800010a981808000000b20024286f68fbaaaa6a6a6323700c80720024290a3c7c38f88c6c34f3700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b007200241b0076a4120410028029482d48000118b8080800000200241023a00b8072002411f3a00b00741014100200241b0076a10d28d8080000c010b200241003602c007200241013602b407200241b4f6c580003602b007200242043702b807200241b0076a41bcf6c5800010fe80808000000b200241d80a6a20024188056a108582808000024020022d00d80a410f460d00200241b0076a41086a200241d80a6a41086a280200360200200220022902d80a3703b00741d8f7c580004122200241b0076a41bce4c5800041fcf7c5800010a981808000000b20022d00d90a10ef88808000200110e588808000200241b0076a20024188056a41a4d1c28000412010e78280800002400240024020022802b0072201418180808078470d00410021010c010b02402001418080808078470d00410221010c010b200241b7076a2d0000210320022f00b507210620022d00b407210d200220022802b80736028c0b2002200d200620034110747241087472220d3602880b200241b0076a200241880b6a10d982808000024020022802b007220e0d00200241d80a6a41086a200241be076a290100370300200241e80a6a200241c6076a290100370300200241f00a6a200241ce076a290100370300200241f80a6a200241d6076a290100370300200241800b6a200241de076a2f01003b0100200220022901b6073703d80a20022d00b507210320022d00b40721060b02402001450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b200e450d01410121010b200220013a00b107200241063a00b0074190f7c580004135200241b0076a41bce4c5800041c8f7c5800010a981808000000b2002418e0a6a200241d80a6a41286a2f01003b0100200241860a6a200241d80a6a41206a290300370100200241fe096a200241d80a6a41186a290300370100200241f6096a200241d80a6a41106a290300370100200241ee096a200241d80a6a41086a2201290300370100200220022903d80a3701e609200220033a00e509200220063a00e409200241b0076a20024188056a200241e4096a10828280800020022802b0072214418080808078460d01200241900a6a41086a2201200241b0076a41206a2203290200370300200241900a6a41106a2206200241b0076a41286a220d290200370300200241900a6a41186a220e200241e0076a2213290200370300200220022902c8073703900a20022802c407211520022802c007211620022802bc07211720022802b407211820022802e807211920022802ec07211a20022802b807211b2002200241d0046a3602d80a200242a9a5c4bef894cdeee7003700c807200242d4c584efa7e5bfee643700c007200242b9e088b7b6cdc2d1133700b807200242c5e4f4b9cff9d18a0b3700b007200241d80a6a200241b0076a412010c185808000200220073602b807200220093602b407200220083602b007200241b0076a10de888080002013200e290300370200200d200629030037020020032001290300370200200220022903900a3702c807201bad423c7e220fa7211c41002101024002400240200f422088a70d00201c41fcffffff074b0d000240201c0d004104211d0c030b41002d008083d480001a201c41002802f482d480001182808080000022010d01410421010b2001201c41b8b2c8800010b980808000000b2001200141036a417c71221d20016b22036a417e6a20033b0000201b450d00201841196a211e4100210820182103201b21060340201c2008460d012003280214210d20032802102109200328020c210e200328020821132003280204211f2003280200212041002107024020032d00184101470d00200241d80a6a41186a201e20086a220141186a290000370300200241d80a6a41106a200141106a290000370300200241d80a6a41086a200141086a290000370300200220012900003703d80a410121070b2003413c6a2103200241880b6a41186a200241d80a6a41186a290300220f370300200241880b6a41106a200241d80a6a41106a2903002210370300200241880b6a41086a200241d80a6a41086a2903002221370300200220022903d80a22223703880b201d20086a22012020360200200141186a20073a0000200141146a200d360200200141106a20093602002001410c6a200e360200200141086a2013360200200141046a201f360200200141196a2022370000200141216a2021370000200141296a2010370000200141316a200f3700002008413c6a21082006417f6a22060d000b0b2002201b3602b8072002201d3602b4072002201b3602b0072015ad423c7e220fa7211c41002101024002400240200f422088a70d00201c41fcffffff074b0d000240201c0d004104211d0c030b41002d008083d480001a201c41002802f482d480001182808080000022010d01410421010b2001201c41b8b2c8800010b980808000000b2001200141036a417c71221d20016b22036a417e6a20033b00002015450d00201641196a211e4100210820162103201521060340201c2008460d012003280214210d20032802102109200328020c210e200328020821132003280204211f2003280200212041002107024020032d00184101470d00200241d80a6a41186a201e20086a220141186a290000370300200241d80a6a41106a200141106a290000370300200241d80a6a41086a200141086a290000370300200220012900003703d80a410121070b2003413c6a2103200241880b6a41186a200241d80a6a41186a290300220f370300200241880b6a41106a200241d80a6a41106a2903002210370300200241880b6a41086a200241d80a6a41086a2903002221370300200220022903d80a22223703880b201d20086a22012020360200200141186a20073a0000200141146a200d360200200141106a20093602002001410c6a200e360200200141086a2013360200200141046a201f360200200141196a2022370000200141216a2021370000200141296a2010370000200141316a200f3700002008413c6a21082006417f6a22060d000b0b2002201a3602ec07200220193602e807200220153602c4072002201d3602c007200220153602bc07200241b0076a10e188808000200241b0076a41286a200241e4096a41286a280200360200200241b0076a41206a200241e4096a41206a290200370300200241b0076a41186a200241e4096a41186a290200370300200241b0076a41106a2201200241e4096a41106a290200370300200241b0076a41086a2203200241e4096a41086a290200370300200220022902e4093703b007200241b0076a10e8888080000240200b418080808078460d002002200c3702b4072002200b3602b007200241d80a6a200241b0076a10ff84808000200241d80a6a10f38880800020022802b0072208418080808078460d002008450d0020022802b40722082008417e6a2f00006b41002802ec82d48000118180808000000b2001200241f0036a2902003703002003200241e8036a290200370300200220022902e0033703b007200241d80a6a200241900a6a200241b0076a10a78780800020022903d80a210f20022903e00a2110200120024188046a290200370300200320024180046a290200370300200220022902f8033703b007200241d80a6a2018201b200241b0076a20022802dc0410a88780800020022903d80a21212002427f427f201120107c221020102011541b221020022903e00a7c222220222010541b3703b8072002427f2021427f2012200f7c220f200f2012541b220f7c22102010200f541b3703b007200241023a00d80a200241b0076a200241d80a6a10ff8880800002402014450d0020182018417e6a2f00006b41002802ec82d48000118180808000000b02402017450d0020162016417e6a2f00006b41002802ec82d48000118180808000000b024020022802d4062206450d00024020022802dc062207450d0020022802d006220341086a21012003290300427f8542808182848890a0c0807f83210f03400240200f4200520d000340200341807d6a21032001290300210f200141086a22082101200f42808182848890a0c0807f83220f42808182848890a0c0807f510d000b200f42808182848890a0c0807f85210f200821010b200f427f7c2110024020034100200f7aa74103766b41306c6a220841706a280200450d00200841746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b2010200f83210f2007417f6a22070d000b0b2006200641306c41376a41707122016a4177460d0020022802d00620016b22012001417e6a2f00006b41002802ec82d48000118180808000000b0240200228029007450d0020022802940722012001417e6a2f00006b41002802ec82d48000118180808000000b0240200228028c052201418080808078460d0002402001450d0020022802900522012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802d4052201418080808078460d002001450d0020022802d80522012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802e0052201418080808078460d002001450d0020022802e40522012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802a0052203450d00200228029c0541086a210103402001280200220820082802002208417f6a360200024020084101470d00200110de8f8080000b200141306a21012003417f6a22030d000b0b0240200228029805450d00200228029c0522012001417e6a2f00006b41002802ec82d48000118180808000000b20022802cc054129490d0020022802a40522012001417e6a2f00006b41002802ec82d48000118180808000000b02402005450d0041002106034002402004200641f0006c6a22072802082203450d00200728020421010340024020012d0000220841034b0d002001200841027441d080c680006a2802006a2208280200450d00200841046a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012003417f6a22030d000b0b02402007280200450d00200728020422012001417e6a2f00006b41002802ec82d48000118180808000000b200641016a22062005470d000b0b0240200a450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b024020022802d004450d0020022802d40422012001417e6a2f00006b41002802ec82d48000118180808000000b41002802a482d48000118e8080800000200241af0b6a10c6918080002000420037030820002002290132370112200041186a200241386a290100370100200041003a0020200020022f002f3b0021200041236a200241316a2d00003a0000200042023703000b200241b00b6a2480808080000f0b2001200241bc076a280200360200200220022902b4073703d80a41ccf6c580004132200241d80a6a41bce4c580004180f7c5800010a981808000000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000bbc0201047f23808080800041306b22022480808080002002200036020c410121000240200128020022034184fbc5800041042001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110ab858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ab858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000be40501047f2380808080004190016b22012480808080002001429fc0cdd7f5aecec98b7f370016200142f5cdd4baf8c9bf885937000e200141cc006a2001410e6a411041002802bc82d480001186808080000002400240200128024c2202418080808078460d0020012802502103024020012802544110490d002001410e6a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d0120004200370300200041086a42003703000c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b011e41002102024041002802b483d4800041024d0d002001410d3602242001418ce7c48000360220200141a582808000ad4220862001411e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370284012001410336027c200141ccd3c5800036027820014116360274200141abd1c580003602702001410336026c200141d8d0c58000ad4280808080b00a8437026420014100360260200141c1d1c58000ad4280808080d004843702582001410036025420014281808080a00737024c2002419cf4ca8000200441024622041b28021021022001200141286a36028001200341b4f4ca800020041b200141cc006a2002118b808080000020012f011e21020b200141cc006a418ce7c48000410d41002802d480d4800011868080800000200141cc006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141cc006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141cc006a41086a2900003703002001200129004c370328200120023b014c200141286a4120200141cc006a410241002802dc82d4800011838080800000200041086a4200370300200042003703000b20014190016a2480808080000bbc0201047f23808080800041306b22022480808080002002200036020c4101210002402001280200220341ccfbc58000410e2001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110a5858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a5858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000b870601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c2002280250280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210c987808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210c9878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b870601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c2002280238280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210d187808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210d1878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b870601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c2002280250280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210cc87808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210cc878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b880601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c200228029001280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210d387808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210d3878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b870601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c2002280234280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210df87808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210df878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b8b1102067f017e23808080800041f0006b220224808080800002400240024002400240024002400240024002400240024002400240024002400240200128020022034182808080786a41012003418480808078481b417f6a0e05000102030c000b200128020c21040240024041afe4ca8000411310b691808000220541ff01490d00410921062003450d01200128020422032003417e6a2f00006b41002802ec82d48000118180808000000c010b2002200541016a36022041afe4ca80004113200241206a410441002802dc82d480001183808080000041002802e482d48000118e808080000020012802082107200128020421062002428ba4f08ac7ad89c4ad7f370038200242d7c9cea6cfa8b4c4a47f370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b37002020062007200241206a412010b28380800002402003450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b41002802a482d48000118e8080800000200241ef006a10c691808000410f21060b20042004280200417f6a2203360200024020030d002001410c6a10ca878080000b200541fe014d0d03200041003a0021200041003a0018420021080c040b200128020c210341092104024041afe4ca8000411310b691808000220541fe014b0d002002200541016a36022041afe4ca80004113200241206a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241c8006a41f0fec58000410610f791808000200241d4006a41f6fec58000410610f791808000200241e0006a41e5fec58000410541e0fec580004105410028029c81d480001187808080000002402002280260418080808078460d00200241086a41086a200241e0006a41086a280200220436020020022002290260370308200420022802502206470d0d200228024c200228020c2204200610f5978080000d0d2002280208450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241e0006a41eafec58000410641e0fec580004105410028029c81d4800011878080800000024002402002280260418080808078470d00200228025c2106200228025821040c010b200241086a41086a200241e0006a41086a2802002204360200200220022902603703082004200228025c2206470d0e20022802582204200228020c2207200610f5978080000d0e2002280208450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b41e5fec58000410541e0fec580004105200228024c200228025041002802bc81d48000118d808080000041eafec58000410641e0fec5800041052004200641002802bc81d48000118d808080000002402002280254450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402002280248450d00200228024c22042004417e6a2f00006b41002802ec82d48000118180808000000b41002802a482d48000118e8080800000200241ef006a10c691808000410f21040b20032003280200417f6a2206360200024020060d002001410c6a10ca878080000b200541fe014d0d04200041003a0021200041003a0018420021080c050b200128020c210341092104024041afe4ca8000411310b691808000220541fe014b0d002002200541016a36022041afe4ca80004113200241206a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200241206a41f0ffc58000411141002802b482d4800011868080800000024020022802202204450d002002412c6a200228022420022802282004280210118680808000000b41002d008083d480001a418080c00241002802f482d48000118280808000002204450d0d2004417e6a4100418280c00210fa97808000210641f0ffc5800041112004418080c00241002802dc82d4800011838080800000200420062f00006b41002802ec82d480001181808080000041002802a482d48000118e8080800000200241ef006a10c691808000410f21040b20032003280200417f6a2206360200024020060d002001410c6a10ca878080000b200541fe014d0d05200041003a0021200041003a0018420021080c060b200128020c210320022001280204360208200241206a200241086a10e28780800020032003280200417f6a2204360200024020040d002001410c6a10ca878080000b20022d0020410f460d0620002002290220370220200020022f00313b0031200041286a200241286a290200370200200041336a200241336a2d00003a000020022d00302101200041003a001842002108413021030c070b2000420037030841002106420221080b200020063a0020200020083703000c0a0b2000420037030841002104420221080b200020043a0020200020083703000c080b2000420037030841002104420221080b200020043a0020200020083703000c060b200042003703084202210841002101412021030b20002008370300200020036a20013a00000c040b2001280204210441202103200241206a41206a2001412c6a290200370300200241386a200141246a290200370300200241306a2001411c6a290200370300200241206a41086a200141146a2902003703002002200129020c370320200241086a200241206a200410ad8e8080000240024020022d0008410f460d0020002002290208370220200020022f00193b0031200041286a200241086a41086a290200370200200041336a2002411b6a2d00003a000020022d00182101200041003a001842002108413021030c010b2000420037030842022108410021010b20002008370300200020036a20013a00000c030b200241003602204100200241c8006a200241086a200241206a41d0ffc5800010ba87808000000b200241003602204100200241d4006a200241086a200241206a41e0ffc5800010ba87808000000b4101418080c002418480c6800010b980808000000b200241f0006a2480808080000b870601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c200228022c280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210d287808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210d2878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b880601047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001181808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410bc918080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021422042004417e6a2f00006b41002802ec82d48000118180808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d030240024020012802180d0020040d062001417f36020c20022802b001280200210541002d008083d480001a0240411041002802f482d48000118280808000002204450d002004200441036a417c7120046b22066a2204200536020c2004410036020820044281808080103702002004417e6a20063b00000240200128021822052001280210470d00200141106a41e4d4c58000109a868080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210d587808000200128020c0d082001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310bc918080000b2001200128020c41016a36020c0c020b4104411010ab80808000000b2000200210d5878080000b20012001280204417f6a360204200341106a2480808080000f0b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41c4d4c58000109b81808000000b41d4d4c58000109a81808000000b41e8afc88000109a81808000000b940201037f23808080800041106b22022480808080000240024041afe4ca8000411310b691808000220341ff01490d00200041093b01000c010b2002200341016a36020041afe4ca800041132002410441002802dc82d480001183808080000041002802e482d48000118e8080800000200128020021034100210103402002200110e8868080002002280204220420022802084101410041002802dc82d480001183808080000002402002280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b0240200120034f0d00200120012003496a220120034d0d010b0b41002802a482d48000118e80808000002000410f3a00002002410f6a10c6918080000b200241106a2480808080000ba20603037f037e027f23808080800041206b220124808080800041002d008083d480001a024002400240413041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202417e6a20033b00004100410035028483d4800042c4e6c11b85200141086aad22047e200442ae94e698017e4220898522053e028483d480002005422088220642a2f0a4a00a7e200542ffffffff0f83220542d0e3fccc027e85200642d0e3fccc027e200542a2f0a4a00a7e85422089852105024041002d00a883d480004102460d0010c2908080000b200141146a4100290388e7c5800037020041002d00c883d480002103200241003602082002428180808010370300200220053703202002411c6a200141086a41106a28020036020020014100290380e7c5800037020c200241146a200141106a2902003702002002200129020837020c200241b883d48000410020034102461b36022841002d008083d480001a411041002802f482d48000118280808000002203450d012003200341036a417c7120036b22076a2208420037020820084281808080103702002008417e6a20073b000041002d008083d480001a413041002802f482d48000118280808000002203450d022003200341076a41787120036b22076a2203417e6a20073b00004100410035028483d4800042c4e6c11b8520047e200442ae94e698017e4220898522043e028483d48000024041002d00a883d480004102460d0010c2908080000b200141146a4100290388e7c5800037020041002d00c883d48000210720034100360208200342818080801037030020014100290380e7c5800037020c2003200129020837020c200341146a200141106a2902003702002003411c6a200141186a280200360200200341b883d48000410020074102461b36022820032004422088220542a2f0a4a00a7e200442ffffffff0f83220442d0e3fccc027e85200542d0e3fccc027e200442a2f0a4a00a7e8542208985370320200020033602082000200836020420002002360200200141206a2480808080000f0b4108413010ab80808000000b4104411010ab80808000000b4108413010ab80808000000b2a0002402000280204220028020841ffffffff07490d00419cd7c58000109b81808000000b200028020c0bf40202017f077e23808080800041d0026b2201248080808000200142f89aef8eef91e1ce967f3700c802200142b4d6d6dfccc6b592c3003700c002200142fc90b9e5d09296e7773700b802200142a6d4e6f1a4dd9598603700b002200141086a200141b0026a412010ce85808000420021024200210342002104420021054200210642002107024020012802084101470d002001290338210720012903302106200129032821052001290320210420012903182103200129031021020b200141086a10aa86808000024020012903a0022208427f427f200220047c220420042002541b220220067c220420042002541b2202580d0020012903a8022206427f427f200320057c220420042003541b220320077c220420042003541b2203580d00200141086a2000200820027d200620037d10f98d808000200129030821022001200129031037031020012002370308200141023a00b002200141086a200141b0026a10ff888080000b200141d0026a2480808080000bc01605037f047e0a7f017e027f23808080800041b0086b2201248080808000200010e7878080001a0240024002400240200028022c2202450d00200141106a2002417f6a10c786808000200141b0056a20012802142202200128021810de858080000240024020012d00b0054101470d00200141e8026a200141c9056a290000370300200141e0026a200141c1056a290000370300200141d8026a200141b9056a290000370300200120012900b1053703d0020c010b200141e8026a4200370300200141e0026a4200370300200141d8026a4200370300200142003703d0020b02402001280210450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200141d0026a2000410c6a412010f5978080000d00024020002802782202450d0020024104742103200028027441086a210241b4dac58000ad4280808080f0018421044198d8c58000ad4280808080e00984210541a682808000ad422086200141d0026aad2206842107200141f0036a2108200141d0026a41146a2109200141d0026a410972210a200141b0056a41146a210b200141b0056a410972220c41076a210d4100210e4100210f03402002417c6a28020021102001200228020022113602d402200120103602d002200141b0056a200141d0026a201110be8680800020012903b00522124206510d012001200c2900003703c0022001200d2800003600c70220012d00b8052110200141106a200b41ac0210f4978080001a2001200f36020c024020124205520d00410021020c050b200a20012903c002370000200a41076a20012800c7023600002009200141106a41ac0210f4978080001a200120103a00d802200120123703d00241002110024002400240024020124202520d0002400240024020012802f003417f6a0e0700020303030301030b20012802f403418080808078470d010c020b20012802f8034104470d010b200f200e470d0141012110200e41016a210e0b41002802b483d4800041034b0d010c020b200810e887808000410121022001280280052210418080808078460d072010450d0720012802840522102010417e6a2f00006b41002802ec82d48000118180808000000c070b2001200737039808410028029080d480002111410028028c80d48000211341002802b083d480002114200142013702e805200141013602e00520014194dcc580003602dc05200141123602d8052001419cdcc580003602d405200141043602d005200120053702c805200141003602c405200120043702bc05200141003602b8052001428180808080e0003702b0052011419cf4ca8000201441024622141b2802102111200120014198086a3602e405201341b4f4ca800020141b200141b0056a2011118b80808000000b200141b0056a200141d0026a41c00210f4978080001a200120103a00f0072001419c056a200141b0056a201010e987808000024020012d009c054110470d0020014184086a41026a220220012d009f053a0000200120012f009d053b01840841002802b483d48000450d04200141033602b405200141f8dcc580003602b005200142023702bc05200141a782808000ad42208620014184086aad84370390082001418680808000ad4220862001410c6aad8437038808200120014188086a3602b80520014190ddc580003602a8082001410f3602a408200141b4dac580003602a0082001411236029c082001419cdcc5800036029808200141b0056a410120014198086a4100200110e4918080000c040b200f41016a210f200241106a2102200341706a22030d000b0b200142beee8ae9ce8fa2b1977f3700c80520014295d4f9afa2868fb8643700c005200142fc90b9e5d09296e7773700b805200142a6d4e6f1a4dd9598603700b0050240200141b0056a412010ea8580800041fd01710d0010eb878080000b10e08d808000200028022c10e587808000200028022c10fc8d808000200141b0056a10e28d80800020012000280208220c36029808200120012802b80522023602100240200c2002470d000240024002400240200c450d002000280204210f20012802b4052110410021020340200f20026a2211201020026a220a10ea9680800020112d0000220d200a2d0000470d02410c21034108210b024002400240024002400240200d0e050001020405000b201141016a280000200a41016a280000470d070c020b201141016a280000200a41016a280000460d010c060b201141016a280000200a41016a280000470d050b41102103410c210b0b200f200320026a22116a280200220a201020116a280200470d03200f200b20026a22116a280200201020116a280200200a10f5978080000d030b200241146a2102200c417f6a220c0d000b0b0240200041306a2202200141b0056a41306a220f412010f597808000450d0041b4a1cd8000410e41002802f480d48000118b80808000002002412041002802ec80d48000118b8080800000200f412041002802ec80d48000118b80808000000b2002200f412010f5978080000d02200041d0006a200141b0056a41d0006a412010f597808000450d01200141003602e002200141013602d402200141dcd9c580003602d002200142043702d802200141d0026a41e4d9c5800010fe80808000000b200141003602e002200141013602d4022001419cdac580003602d002200142043702d802200141d0026a41a4dac5800010fe80808000000b024020012802b805220f450d0020012802b40521020340024020022d0000221041034b0d002002201041027441d080c680006a2802006a2210280200450d00201041046a28020022102010417e6a2f00006b41002802ec82d48000118180808000000b200241146a2102200f417f6a220f0d000b0b024020012802b005450d0020012802b40522022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280208220f450d00200028020421020340024020022d0000221041034b0d002002201041027441d080c680006a2802006a2210280200450d00201041046a28020022102010417e6a2f00006b41002802ec82d48000118180808000000b200241146a2102200f417f6a220f0d000b0b02402000280200450d00200028020422022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802782202450d00200028027421112002410171210a4100210f024020024101460d002002417e7121104100210f2011210203402002410c6a200241046a280200200241086a2802002002280200280210118680808000002002411c6a200241146a280200200241186a280200200241106a28020028021011868080800000200241206a21022010200f41026a220f470d000b0b200a450d002011200f4104746a2202410c6a200228020420022802082002280200280210118680808000000b02402000280270450d00200028027422022002417e6a2f00006b41002802ec82d48000118180808000000b200141b0086a2480808080000f0b200141003602e002200141013602d402200141a0d9c580003602d002200142043702d802200141d0026a41a8d9c5800010fe80808000000b200142003702dc0220014281808080c0003702d40220014190d8c580003602d002410020014198086a200141106a200141d0026a41e8d8c58000108381808000000b200141003602c005200141013602b405200141f8dac580003602b005200142043702b805200141b0056a4180dbc5800010fe80808000000b20014198086a41026a20022d00003a0000200120012f0184083b019808410321020b0b200120023a00d002200120012f0198083b00d10220012001419a086a2d00003a00d3022001200f3602d402200141013602b405200141c4dac580003602b005200142013702bc05200141a882808000ad4220862006843703102001200141106a3602b805200141b0056a41ccdac5800010fe80808000000bc70c02087f067e23808080800041e0026b220124808080800020002802082102200028020421032001410036023020014280808080c00037022802402002450d00200241146c21020340200141086a2104200141186a2105410c210641102107024002400240024020032d00000e050201010003020b200141186a2104200141d0026a2105410c2107410821060b2005200320066a2802003602002004200320076a2802003602000c010b41002105024002400240200341106a28020022044100480d002003410c6a2802002106200341016a2800002107024020040d00410121050c030b41002d008083d480001a200441002802f482d480001182808080000022050d01410121050b2005200441a8b2c8800010b980808000000b2005417e6a41003b00000b20052006200410f49780800021080240200128023022062001280228470d00200141286a41e086cd800010f6968080000b200128022c200641146c6a220520043602102005200836020c2005200436020820052007360001200541003a00002001200641016a3602300b200341146a21032002416c6a22020d000b0b200141086a41086a200141286a41086a2802003602002001200129022837030820012000412c6a220336021410db8d808000200141186a41086a420037030020014200370318200142a0b9ab8f9ae5999778370040200142f999a7c78cd1d1cdb17f370038200142fc90b9e5d09296e777370030200142a6d4e6f1a4dd959860370028200141d0026a200141286a412010dc858080002000410c6a21020240024020012802d0022204418180808078460d004101210520012802d4022106024020012802dc024102490d0020012802d8024116470d00418ce4c480002006411610f59780800041004721050b02400240200441808080807872418080808078460d0020062006417e6a2f00006b41002802ec82d48000118180808000002005450d010c020b20050d010b420021094200210a0c010b200141286a10fa8d8080002001290330210b2001290328210a200141286a10cc85808000200129033021092001290328210c200141286a10f88d8080002001290330210d2001290328210e200141d8026a41002802e0e5c48000360200200141023602dc02200141002902d8e5c480003703d002200142a0b9ab8f9ae5999778370040200142f999a7c78cd1d1cdb17f370038200142fc90b9e5d09296e777370030200142a6d4e6f1a4dd959860370028200141d0026a200141286a4120108286808000427f200a427f200c200e7c220e200e200c541b7c220c200c200a541b210a427f200b427f2009200d7c220c200c2009541b7c22092009200b541b21090b20032002200141086a10d98d808000200141286a10aa8680800020012903b802210b2001427f20012903b002220c200a7c220a200a200c541b220a3703282001427f200b20097c22092009200b541b220b370330200141023a00d002200141286a200141d0026a10ff88808000200141286a200328020010fd8d8080002001427f200b20012903307c22092009200b541b3703202001427f200a20012903287c220b200b200a541b370318024041002802b483d4800041034d0d00200141a982808000ad422086200141186aad843703d8022001418482808000ad422086200141146aad843703d002410028029080d480002103410028028c80d48000210241002802b083d48000210420014202370260200141d0ddc58000360254200141123602502001419cdcc5800036024c2001410436024820014198d8c58000ad4280808080e009843702402001410036023c200141b4dac58000ad4280808080f001843702342001410036023020014281808080d0d200370228200141023602582003419cf4ca8000200441024622041b28021021032001200141d0026a36025c200241b4f4ca800020041b200141286a2003118b80808000000b4100410010e988808000024020012802102202450d00200128020c21030340024020032d0000220441034b0d002003200441027441d080c680006a2802006a2204280200450d00200441046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032002417f6a22020d000b0b02402001280208450d00200128020c22032003417e6a2f00006b41002802ec82d48000118180808000000b200141e0026a24808080800041000bef0201017f024002400240024002400240024020002802000e080102060603040500010b20002802084104470d05200028020c450d05200028021022002000417e6a2f00006b41002802ec82d48000118180808000000f0b200041086a108d888080000f0b200041046a108a888080000c030b200041106a108e888080000f0b024002400240024020002d00082201417c6a41042001417b6a41ff01714105491b417f6a0e0400010203050b2000410c6a10cb878080000f0b200041206a10cb878080000f0b20002d000c4102470d022000280210450d02200028021422002000417e6a2f00006b41002802ec82d48000118180808000000f0b024020014102470d00200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b2000412c6a10cb878080000f0b20002802042201418480808078480d002001450d00200028020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b0bbc0d04037f017e027f027e23808080800041a0086b2203248080808000200341146a200110f8868080002003200328021c22043602e4022003200328021822053602e002200341206a418002200341e0026a10bc87808000024002400240024002400240200329032022064205520d00200041003a0002200041103b01000c010b20032f01282107200341c0056a410a72200341206a410a7241b60210f4978080001a200320073b01c805200320063703c00520032003419f086a36028008200341206a200341c0056a2003419f086a10fa86808000200320032f01283b01e804200320032d002a3a00ea04200329032022064205520d01200020032f01e8043b0001200041103a0000200041036a20032d00ea043a00000b2003280214450d0120052005417e6a2f00006b41002802ec82d48000118180808000000c010b200341e0026a410b72200341206a410b7241d50110f4978080001a200320032f01e8043b01e802200320032d00ea043a00ea02200320063703e002200341c0056a200341b0036a220810fb85808000200341e0026a2107420021094200210a0240024002402006427e7c2206a7410120064203541b0e03020100020b200341f0026a21070b200341206a20072008108587808000200329032821092003290320210a0b200341c0046a41106a200a370300200341d8046a2009370300200341c0046a41086a200341c0056a41086a290300370300200341c0046a41206a200341c0056a41206a290300370300200320032903c0053703c004024020020d00200342beee8ae9ce8fa2b1977f3700d80520034295d4f9afa2868fb8643700d005200342fc90b9e5d09296e7773700c805200342a6d4e6f1a4dd9598603700c005200341c0056a412010ea8580800041fd01714101460d0010eb878080000b20032802142107200341086a41bcc8c78000411010d085808000200341c0056a200328020c410020032802084101711b10e7868080002005200420032802c405220220032802c80510b283808000024020032802c005450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b02402007450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200341c0056a200341e0026a41e00110f4978080001a200341206a200341c0056a200341c0046a200410f685808000200320032f01283b01a0052003200341206a410a6a2d00003a00a2050240200329032022064203520d00200020032f01a0053b0001200041103a0000200041036a20032d00a2053a00000c010b200341e8046a41186a200341206a41186a290000370000200341e8046a41136a200341206a41136a290000370000200341a8056a41086a2205200341206a41296a290000370300410f2107200341a8056a410f6a2204200341206a41306a280000360000200341e8046a410a6a20032d00a2053a00002003200329002b3700f304200320032900413703a805200320032f01a0053b01f00420032802542102200320032d004022083a008805200320063703e804200341e8046a41306a2004280000360000200341e8046a41296a2005290300370000200320032903a805370089052003200236029c050240024020064202510d0020032d00e00441ff01714102460d010b200341c0056a41206a200341c0046a41206a290300370300200341c0056a41186a200341c0046a41186a290300370300200341c0056a41106a200341c0046a41106a290300370300200341c0056a41086a200341c0046a41086a290300370300200320032903c0043703c005200341e8046a200341c0056a10dd8d808000024020064202510d00200341c0056a410f6a200341a8056a410f6a280000360000200341c0056a41086a200341a8056a41086a290300370300200320032903a8053703c005200821070b200020073a0000200020032903c005370001200041096a200341c8056a290300370000200041106a200341cf056a28000036000002402001290300427e7c4203540d0020012d003041ff01714102470d002001280234450d00200128023822002000417e6a2f00006b41002802ec82d48000118180808000000b200141a0016a10e88780800020012802b0022200418080808078460d030c020b200041083a0002200041103b01000b02402001290300427e7c4203540d0020012d003041ff01714102470d002001280234450d00200128023822002000417e6a2f00006b41002802ec82d48000118180808000000b200141a0016a10e88780800020012802b0022200418080808078460d010b2000450d0020012802b40222012001417e6a2f00006b41002802ec82d48000118180808000000b200341a0086a2480808080000bdb0401047f23808080800041306b220224808080800041012103200041016a21040240024020002d00004101470d002002200436020c410121032001280200220041befcc5800041072001280204220528020c2204118080808000000d010240024020012d000a418001710d0041012103200041df80c2800041012004118080808000000d032002410c6a2001108a86808000450d010c030b200041e080c2800041022004118080808000000d0241012103200241013a001f2002200536021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a108a868080000d02200228022041da80c280004102200228022428020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021030c010b2002200436020c2001280200220041b7fcc5800041072001280204220528020c2204118080808000000d000240024020012d000a418001710d0041012103200041df80c2800041012004118080808000000d022002410c6a2001108b86808000450d010c020b200041e080c2800041022004118080808000000d0141012103200241013a001f2002200536021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a108b868080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021030b200241306a24808080800020030bff0302017f067e23808080800041d0026b2200248080808000200042beee8ae9ce8fa2b1977f37002020004295d4f9afa2868fb864370018200042fc90b9e5d09296e777370010200042a6d4e6f1a4dd959860370008200041013a00b002200041086a4120200041b0026a410141002802dc82d4800011838080800000200042d3d8c5d2a9b9d2c1ac7f37002020004282ca868eabf3add0cf00370018200042fc90b9e5d09296e777370010200042a6d4e6f1a4dd9598603700082000200041086a412010d085808000200042f89aef8eef91e1ce967f3700c802200042b4d6d6dfccc6b592c3003700c002200042fc90b9e5d09296e7773700b802200042a6d4e6f1a4dd9598603700b002200041086a200041b0026a412010ce85808000420021014200210242002103420021044200210542002106024020002802084101470d002000290338210620002903302105200029032821042000290320210320002903182102200029031021010b200041086a10aa86808000024020002903a002427f427f200120037c220320032001541b220120057c220320032001541b580d0020002903a802427f427f200220047c220120012002541b220120067c220220022001541b580d00200041106a420037030020004200370308200041023a00b002200041086a200041b0026a10ff888080000b200041d0026a2480808080000bf70101027f23808080800041306b2201248080808000200142beee8ae9ce8fa2b1977f37002820014295d4f9afa2868fb864370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd9598603700100240200141106a412010ea8580800041fd01710d0010eb878080000b10e08d808000200142d3d8c5d2a9b9d2c1ac7f37002820014282ca868eabf3add0cf00370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141086a200141106a412010d085808000200128020c410020012802084101711b220210e587808000200210fc8d808000200010e28d808000200141306a2480808080000bd00c01117f23808080800041c0006b2201248080808000200141086a200041ecdbc58000109f8f808000200142f4fa97f89782c7a62d37002c20014299cfe7ffe3b8eac708370024200142fc90b9e5d09296e77737001c200142a6d4e6f1a4dd959860370014200141346a200141146a412010e68580800041042001280238200128023422024180808080784622031b21044100200128023c20031b2105200128020c2106024020012802102207450d002006200741146c6a2108200541146c21092006210a03400240024020050d00200a2d0000210b200a210c200a41146a210a0c010b0340200a220c41146a210a200c280001210d200c2d0000210b2009210e2004210302400340024020032d0000200b470d00410c210f4108211002400240024002400240200b0e050001020407000b200341016a280000200d470d040c020b200341016a280000200d470d030c010b200341016a280000200d470d020b4110210f410c21100b2003200f6a2802002211200c200f6a280200470d00200320106a280200200c20106a280200201110f597808000450d020b200341146a2103200e416c6a220e450d030c000b0b200a2008460d030c000b0b02400240024002400240200b41ff01710e050001020304000b4100210e024002400240200c28021022034100480d00200c28020c210f200c2800012110024020030d004101210e0c030b41002d008083d480001a200341002802f482d4800011828080800000220e0d014101210e0b200e200341a8b2c8800010b980808000000b200e417e6a41003b00000b200e200f200310f497808000210e200120033602242001200e3602202001200336021c200120103600150c030b4100210e024002400240200c28021022034100480d00200c28020c210f200c2800012110024020030d004101210e0c030b41002d008083d480001a200341002802f482d4800011828080800000220e0d014101210e0b200e200341a8b2c8800010b980808000000b200e417e6a41003b00000b200e200f200310f497808000210e200120033602242001200e3602202001200336021c200120103600150c020b4100210e024002400240200c28021022034100480d00200c28020c210f200c2800012110024020030d004101210e0c030b41002d008083d480001a200341002802f482d4800011828080800000220e0d014101210e0b200e200341a8b2c8800010b980808000000b200e417e6a41003b00000b200e200f200310f497808000210e200120033602242001200e3602202001200336021c200120103600150c010b4100210e024002400240200c28020c22034100480d00200c280208210f024020030d004101210e0c030b41002d008083d480001a200341002802f482d4800011828080800000220e0d014101210e0b200e200341a8b2c8800010b980808000000b200e417e6a41003b00000b200e200f200310f497808000210e200120033602202001200e36021c200120033602180b2001200b3a0014200141146a10f588808000200a2008470d000b0b20012000410c6a360238200141cdcfc78000360234200141146a200141346a108a8c80800041e5cfc780004113200141146a412041002802dc82d4800011838080800000200141346a200010e984808000200141146a20012802382203200128023c41002802c480d48000118680808000002000412c6a210e02402001280234450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200e200141146a10ef8680800002402005450d00200421030340024020032d0000220e41034b0d002003200e41027441d080c680006a2802006a220e280200450d00200e41046a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032005417f6a22050d000b0b0240200241808080807872418080808078460d0020042004417e6a2f00006b41002802ec82d480001181808080000020012802102107200128020c21060b02402007450d00200621030340024020032d0000220e41034b0d002003200e41027441d080c680006a2802006a220e280200450d00200e41046a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032007417f6a22070d000b0b02402001280208450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a2480808080000b900201027f23808080800041106b22022480808080002002200041086a36020420012802004198fbc580004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a419efbc58000410820004188fbc58000108a818080001a200241086a41a6fbc58000410a200241046a41f4fac58000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bcc0904037f017e017f027e23808080800041c0076b2204248080808000200442d3d8c5d2a9b9d2c1ac7f37003820044282ca868eabf3add0cf00370030200442fc90b9e5d09296e777370028200442a6d4e6f1a4dd959860370020200441086a200441206a412010d0858080002004200428020c41016a410120042802084101711b3602a0052004410036022820044280808080c000370220200441a0056a2003200441206a10d98d808000024020042802282205450d00200428022421030340024020032d0000220641034b0d002003200641027441d080c680006a2802006a2206280200450d00200641046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032005417f6a22050d000b0b02402004280220450d00200428022422032003417e6a2f00006b41002802ec82d48000118180808000000b200441146a200210f8868080002004200428021c22053602a4052004200428021822033602a005200441206a418002200441a0056a10bc878080000240024002400240200429032022074205520d002000418080808078360210200041003b01000c010b20042f01282106200441e0026a410a72200441206a410a7241b60210f4978080001a200420063b01e802200420073703e002200441206a200441e0026a200441bf076a10fa86808000200420042f01283b018007200420042d002a3a0082070240200429032022074205520d00200020042f0180073b01002000418080808078360210200041026a20042d0082073a00000c010b200441a0056a410b72200441206a410b7241d50110f4978080001a200420042f0180073b01a805200420042d0082073a00aa05200420073703a005200441206a200441f0056a220610fb85808000200441a0056a2108420021094200210a0240024002402007427e7c2207a7410120074203541b0e03020100020b200441b0056a21080b200441a8076a2008200610858780800020042903b007210920042903a807210a0b20044190076a200a37030020044198076a200937030020044180076a41086a200441206a41086a29030037030020044180076a41206a200441206a41206a2903002207370300200420042903203703800702402007a741ff01714102470d00200041808080807836021020004180123b0100200610e8878080000c010b2000200441a0056a200120044180076a200510fa85808000200610e88780800002402004280214450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b02402002290300427e7c4203540d0020022d003041ff01714102470d002002280234450d00200228023822032003417e6a2f00006b41002802ec82d48000118180808000000b200241a0016a10e88780800020022802b0022203418080808078460d020c010b02402004280214450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b02402002290300427e7c4203540d0020022d003041ff01714102470d002002280234450d00200228023822032003417e6a2f00006b41002802ec82d48000118180808000000b200241a0016a10e88780800020022802b0022203418080808078460d010b2003450d0020022802b40222032003417e6a2f00006b41002802ec82d48000118180808000000b200441c0076a2480808080000be80b05017f037e017f037e0a7f23808080800041306b22032480808080000240024020012802280d002001417f360228410029039083d480002104410029038883d48000210520012903402106024020012802482207450d00200741086a2900002004852208422088220920072900002006423089852206422088220a7e200842ffffffff0f832208200642ffffffff0f8322067e852008200a7e200920067e854220898521060b200141286a210b2001280234220c20022900082006422089220820047c852206422088220420022900182005852209422088220a7e200642ffffffff0f832206200942ffffffff0f8322097e85200420097e2006200a7e854220898520022900002206200885220442ffffffff0f8322082002290010200585220542ffffffff0f8322097e8520044220882204200542208822057e85200420097e200820057e8542208985220542208822044288d5fda1027e200542ffffffff0f83220542d3918cad087e85200442d3918cad087e20054288d5fda1027e85422088852205a7220d7121072005421988220842ff0083428182848890a0c080017e2104200241086a210e2001280230220f41406a21102006422088a721112006a72112410021130240024003400240200f20076a29000022052004852206427f85200642fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832206500d0003402002201020067aa741037620076a200c7122144106746b412010f597808000450d032006427f7c200683220650450d000b0b0240200520054201868342808182848890a0c0807f8350450d00201341086a221320076a200c7121070c010b0b200341106a41106a200e41106a290000370300200341106a41086a200e41086a2900003703004100410035028483d4800042c4e6c11b85200341286aad22067e200642ae94e698017e4220898522063e028483d480002003200e290000370310200642ffffffff0f83220542a2f0a4a00a7e21042006422088220642d0e3fccc027e2109024041002d00a883d480004102460d0010c2908080000b200542d0e3fccc027e2105200642a2f0a4a00a7e210a2009200485210441002d00c883d48000211402402001280230220c20012802342210200d7122026a29000042808182848890a0c0807f8322064200520d00410821070340200220076a2102200741086a2107200c200220107122026a29000042808182848890a0c0807f832206500d000b0b200a200585210520044220892104201441024621140240200c20067aa741037620026a20107122076a2c00002202417f4c0d00200c200c29030042808182848890a0c0807f837aa741037622076a2d000021020b2005200485210641b883d48000410020141b211402402002410171450d0020012802380d00200341086a200141306a4101200141c0006a410110b18c80800002402001280230220c20012802342210200d7122026a29000042808182848890a0c0807f8322054200520d00410821070340200220076a2102200741086a2107200c200220107122026a29000042808182848890a0c0807f832205500d000b0b200c20057aa741037620026a20107122076a2c00002202417f4c0d00200c200c29030042808182848890a0c0807f837aa741037622076a2d000021020b200c20076a2008a741ff007122133a0000200c200741786a2010716a41086a20133a00002001200128023820024101716b3602382001200128023c41016a36023c200c20074106746b220741406a2012360200200741706a2006370300200741786a2014360200200741606a220241086a4100290388e7c5800037030020024100290380e7c58000370300200741486a220241106a200341106a41106a290300370300200241086a200341106a41086a29030037030020022003290310370300200741446a20113602000c010b200f410020146b4106746a21070b20012802000d012000200b36020c200020013602042001417f3602002000200741606a3602082000200141086a360200200341306a2480808080000f0b41ccdec58000109a81808000000b41dcdec58000109a81808000000bf40905017f027e017f047e097f23808080800041d0016b2205248080808000410029039083d480002106410029038883d480002107200128020022082903102109024020082802182201450d00200141086a290000200685220a422088220b20012900002009423089852209422088220c7e200a42ffffffff0f83220a200942ffffffff0f8322097e85200a200c7e200b20097e854220898521090b2008280204220d20022900082009422089220a20067c85220942208822062002290018200785220b422088220c7e200942ffffffff0f832209200b42ffffffff0f83220b7e852006200b7e2009200c7e854220898520022900002209200a85220642ffffffff0f83220a2002290010200785220742ffffffff0f83220b7e8520064220882206200742208822077e852006200b7e200a20077e8542208985220742208822064288d5fda1027e200742ffffffff0f83220742d3918cad087e85200642d3918cad087e20074288d5fda1027e85422088852207a7220e7121012007421988220a42ff0083428182848890a0c080017e2106200241086a210f2008280200221041f87e6a21112009422088a721122009a7211341002114024002400240024003400240201020016a29000022072006852209427f85200942fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832209500d00034020022011410020097aa741037620016a200d716b22154188016c6a412010f597808000450d032009427f7c200983220950450d000b0b200720074201868342808182848890a0c0807f8350450d02201441086a221420016a200d7121010c000b0b201020154188016c6a21010c010b200541086a20032004280210118b8080800000200528020c21020240200528020822144108460d00200541f0006a200541086a41086a41e00010f4978080001a02402008280200221120082802042215200e71220d6a29000042808182848890a0c0807f8322094200520d00410821010340200d20016a210d200141086a21012011200d201571220d6a29000042808182848890a0c0807f832209500d000b0b0240201120097aa7410376200d6a20157122016a2c0000220d417f4c0d002011201129030042808182848890a0c0807f837aa741037622016a2d0000210d0b0240200d410171450d0020082802080d00200520084101200841106a410110b08c80800002402008280200221120082802042215200e71220d6a29000042808182848890a0c0807f8322094200520d00410821010340200d20016a210d200141086a21012011200d201571220d6a29000042808182848890a0c0807f832209500d000b0b201120097aa7410376200d6a20157122016a2c0000220d417f4c0d002011201129030042808182848890a0c0807f837aa741037622016a2d0000210d0b201120016a200aa741ff007122103a00002011200141786a2015716a41086a20103a000020082008280208200d4101716b3602082008200828020c41016a36020c2011410020016b4188016c6a220141f87e6a2013360200200141987f6a20143602002001419c7f6a2002360200200141807f6a220241106a200f41106a290000370000200241086a200f41086a2900003700002002200f290000370000200141fc7e6a2012360200200141a07f6a200541f0006a41e00010f4978080001a0c010b410121010c010b200141987f6a2102410021010b2000200236020420002001360200200541d0016a2480808080000be00d05037f057e027f017e037f23808080800041106b220424808080800002400240024002400240024020002802082205450d004100210002400240024020024100480d00024020020d00410121000c030b41002d008083d480001a200241002802f482d480001182808080000022000d01410121000b20002002418cd0c5800010b980808000000b2000417e6a41003b00000b20002001200210f4978080002106410029039083d48000210720052903102108024020052802182200450d00200041086a2900002007852209422088220a20002900002008423089852208422088220b7e200942ffffffff0f832209200842ffffffff0f8322087e852009200b7e200a20087e854220898521080b410029038883d48000210920082002ad8a2108024020024111490d00200820077c210702402002418002490d0020062002200820072008410029039883d480007c200841002903a083d480007c200910c39080800021080c060b200241f00171210120062002410f716a210c20062100024003402000200c20016a220d4f0d01200d41786a290000200985220a422088220b200041086a2900002007852207422088220e7e200a42ffffffff0f83220a200742ffffffff0f8322077e85200a200e7e200b20077e85422089852107200d41706a290000200985220a422088220b20002900002008852208422088220e7e200a42ffffffff0f83220a200842ffffffff0f8322087e85200a200e7e200b20087e85422089852108200041106a2100200141706a22010d000b0b200820078521080c050b200241074b0d01200241034b0d022002450d03200620026a417f6a310000420886200620024101766a310000842007852107200820063100008521080c030b20032d00004102490d0420032802242202417f460d0420032802282101200220022802042200417f6a36020420004101470d042001410b6a4104490d0420022002417e6a2f00006b41002802ec82d48000118180808000000c040b20062900002008852108200620026a41786a29000020078521070c010b200820063500008521082007200620026a417c6a3500008521070b2008422088220a2007422088220b7e200842ffffffff0f832208200742ffffffff0f8322077e85200a20077e2008200b7e854220898521080b200942ffffffff0f83220720022008a773ad220a7e20084220882208200942208822097e852009200a7e200820077e8542208985220842208822094288d5fda1027e200842ffffffff0f83220842d3918cad087e85200942d3918cad087e20084288d5fda1027e85422088852108024020052802080d00200441086a20054101200541106a410110b38c8080000b2005280204220c2008a77121012008421988220a42ff0083428182848890a0c080017e21072005280200210d4100210f4100211003400240024002400240200d20016a29000022092007852208427f85200842fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832208500d00034002402002200d410020087aa741037620016a200c716b41346c6a220041506a280200470d0020062000414c6a280200200210f597808000450d030b2008427f7c200883220850450d000b0b200942808182848890a0c0807f832108024020104101460d002008500d0220087aa741037620016a200c7121110b024020082009420186834200520d00410121100c030b0240200d20116a2c000022004100480d00200d200d29030042808182848890a0c0807f837aa741037622116a2d000021000b200d20116a200aa741ff007122013a0000200d201141786a200c716a41086a20013a00002005200528020820004101716b3602082005200528020c41016a36020c200d410020116b41346c6a2201414c6a2006360200200141546a220041286a200341286a280200360200200041206a200341206a290200370200200041186a200341186a290200370200200041106a200341106a290200370200200041086a200341086a29020037020020002003290200370200200141506a20023602000c040b200041546a22012d0000210c20012003290200370200200141086a200341086a290200370200200141106a200341106a290200370200200141186a200341186a290200370200200041786a280200210d200141206a200341206a2902003702002000417c6a2802002100200141286a200341286a28020036020002402002450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200c41ff01714102470d03200d417f460d03200d200d2802042202417f6a36020420024101470d032000410b6a4104490d03200d200d417e6a2f00006b41002802ec82d48000118180808000000c030b410021100b2001200f41086a220f6a200c7121010c000b0b200441106a2480808080000bbd0206017f017e017f017e027f017e0240200028020822000d0041000f0b410021030240200028020c450d00200029031020002802182001200210f4878080002104200028020422052004a7712103200442198842ff0083428182848890a0c080017e210620002802002107410021080340024002400240200720036a29000022092006852204427f85200442fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832204500d000340024020022007410020047aa741037620036a2005716b41346c6a220041506a280200470d0020012000414c6a280200200210f597808000450d030b2004427f7c200483220450450d000b0b200920094201868342808182848890a0c0807f83500d01410021000b2000414c6a410020001b21030c020b200841086a220820036a20057121030c000b0b200341086a410020031b0bbe0503047e027f017e410029039083d48000210402402001450d00200141086a290000200485220542208822062001290000200042308985220042208822077e200542ffffffff0f832205200042ffffffff0f8322007e85200520077e200620007e854220898521000b410029038883d48000210520002003ad8a21000240024020034111490d00200020047c210402402003418002490d0020022003200020042000410029039883d480007c200041002903a083d480007c200510c39080800021000c020b200341f00171210120022003410f716a2108024003402002200820016a22094f0d01200941786a29000020058522064220882207200241086a2900002004852204422088220a7e200642ffffffff0f832206200442ffffffff0f8322047e852006200a7e200720047e85422089852104200941706a2900002005852206422088220720022900002000852200422088220a7e200642ffffffff0f832206200042ffffffff0f8322007e852006200a7e200720007e85422089852100200241106a2102200141706a22010d000b0b200020048521000c010b024002400240200341074b0d00200341034b0d012003450d02200220036a417f6a310000420886200220034101766a310000842004852104200020023100008521000c020b20022900002000852100200220036a41786a29000020048521040c010b200020023500008521002004200220036a417c6a3500008521040b20004220882206200442208822077e200042ffffffff0f832200200442ffffffff0f8322047e85200620047e200020077e854220898521000b200542ffffffff0f83220420032000a773ad22067e20004220882200200542208822057e85200520067e200020047e8542208985220042208822054288d5fda1027e200042ffffffff0f83220042d3918cad087e85200542d3918cad087e20004288d5fda1027e85422089850bdc0403027f067e037f4100210202402000280200220328020c450d00410029039083d480002104410029038883d48000210520032903102106024020032802182202450d00200241086a290000200485220742208822082002290000200642308985220642208822097e200742ffffffff0f832207200642ffffffff0f8322067e85200720097e200820067e854220898521060b2003280204220020012900082006422089220620047c85220442208822072001290018200585220842208822097e200442ffffffff0f832204200842ffffffff0f8322087e85200720087e200420097e85422089852001290000200685220642ffffffff0f8322042001290010200585220542ffffffff0f8322077e8520064220882206200542208822057e85200620077e200420057e8542208985220642208822054288d5fda1027e200642ffffffff0f83220642d3918cad087e85200542d3918cad087e20064288d5fda1027e85422088852206a7712102200642198842ff0083428182848890a0c080017e21042003280200220a41f87e6a21034100210b0240024003400240200a20026a29000022052004852206427f85200642fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832206500d00034020012003410020067aa741037620026a2000716b220c4188016c6a412010f597808000450d032006427f7c200683220650450d000b0b0240200520054201868342808182848890a0c0807f83500d00410021020c030b200b41086a220b20026a20007121020c000b0b200a200c4188016c6a21020b200241f87e6a410020021b21020b200241206a410020021b0ba40206017f017e027f017e027f017e4102210302402000280210220028020c450d00200029031020002802182001200210f4878080002104200028020422052004a7712106200442198842ff0083428182848890a0c080017e21072000280200210841002109024003400240200820066a290000220a2007852204427f85200442fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832204500d000340024020022008410020047aa741037620066a2005716b410c6c6a220041786a280200470d002001200041746a28020041086a200210f597808000450d040b2004427f7c200483220450450d000b0b200a200a4201868342808182848890a0c0807f8350450d02200941086a220920066a20057121060c000b0b2000417c6a2d000021030b20030bd40e03057f017e037f23808080800041306b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002402001280200220341ffffffff076a2204410220044106491b0e06030405000102030b20012802082204417f4c0d05200441f5ffffff074f0d06200128020421032000280210210541002d008083d480001a2004410b6a41fcffffff0771220641002802f482d48000118280808000002201450d072001200141036a417c7120016b22066a22014281808080103702002001417e6a20063b0000200141086a2003200410f4978080001a200241086a20052001200410f887808000024020022802082203450d002002290310210720022802182101200228020c210541002104200241003a00102002200536020c2002200336020820012007200241086a200141106a10f9878080000c110b410021042002280218417c6a41003a00000c100b20012802082204417f4c0d07200441f5ffffff074f0d08200128020421032000280210210541002d008083d480001a2004410b6a41fcffffff0771220641002802f482d48000118280808000002201450d092001200141036a417c7120016b22066a22014281808080103702002001417e6a20063b0000200141086a2003200410f4978080001a200241086a20052001200410f887808000024020022802082204450d002002290310210720022802182101200228020c2103200241013a002c200220033602282002200436022420012007200241246a200141106a10f9878080000b410021040c0f0b20012802082204417f4c0d09200441f5ffffff074f0d0a200128020421032000280210210541002d008083d480001a2004410b6a41fcffffff0771220641002802f482d48000118280808000002201450d0b2001200141036a417c7120016b22066a22014281808080103702002001417e6a20063b0000200141086a2003200410f4978080001a200241086a20052001200410f887808000024020022802082203450d002002290310210720022802182101200228020c210541002104200241003a00102002200536020c2002200336020820012007200241086a200141106a10f9878080000c0f0b410021042002280218417c6a41003a00000c0e0b20012802042103410021042000280200200141086a10fa878080000d0d200241086a200310aa8d808000024002402002280210220141c0004f0d00410121040c010b02402001418080014f0d00410221040c010b410441052001418080808004491b21040b02402002280208450d00200228020c22032003417e6a2f00006b41002802ec82d48000118180808000000b200420016a21040c0d0b200128020c21032001280208210620012802042105410021042000280200200141106a10fa878080000d0b0240200341c0004f0d00410120036a21040c0c0b02402003418080014f0d00410220036a21040c0c0b410441052003418080808004491b20036a21040c0b0b20012802102105200128020c2108410021042000280200200141146a10fa878080000d0902402001280208220441c0004f0d00410120046a21040c0a0b02402004418080014f0d00410220046a21040c0a0b410441052004418080808004491b20046a21040c090b41ccf9c58000412b200241246a41bcf9c5800041e4fac5800010a981808000000b419c80c08000412b200241246a418c80c0800041b481c0800010a981808000000b4104200610ab80808000000b41ccf9c58000412b200241246a41bcf9c5800041e4fac5800010a981808000000b419c80c08000412b200241246a418c80c0800041b481c0800010a981808000000b4104200610ab80808000000b41ccf9c58000412b200241246a41bcf9c5800041e4fac5800010a981808000000b419c80c08000412b200241246a418c80c0800041b481c0800010a981808000000b4104200610ab80808000000b0240024002402005417f4c0d00200541f5ffffff074f0d012000280210210941002d008083d480001a2005410b6a41fcffffff0771220a41002802f482d48000118280808000002206450d022006200641036a417c7120066b220a6a22064281808080103702002006417e6a200a3b0000200641086a2008200510f4978080001a200241086a20092006200510f8878080000240024020022802082206450d002002290310210720022802182105200228020c2108200241003a00102002200836020c2002200636020820052007200241086a200541106a10f9878080000c010b2002280218417c6a41003a00000b2003418080808078460d042003450d04200128020422012001417e6a2f00006b41002802ec82d48000118180808000000c040b41ccf9c58000412b200241246a41bcf9c5800041e4fac5800010a981808000000b419c80c08000412b200241246a418c80c0800041b481c0800010a981808000000b4104200a10ab80808000000b200541808080807872418080808078460d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20002802082201200128020020046a360200200241306a2480808080000bc50807017f027e017f037e047f017e017f23808080800041106b22042480808080002004200336020c20042002360208410029039083d48000210520012903102106024020012802182207450d00200741086a2900002005852208422088220920072900002006423089852206422088220a7e200842ffffffff0f832208200642ffffffff0f8322067e852008200a7e200920067e854220898521060b410029038883d480002108200241086a210b20062003ad8a21060240024020034111490d00200620057c210502402003418002490d00200b2003200620052006410029039883d480007c200641002903a083d480007c200810c39080800021060c020b200341f00171210c20022003410f716a210d200b2107024003402007200d200c6a220e41086a4f0d01200e2900002008852209422088220a200741086a2900002005852205422088220f7e200942ffffffff0f832209200542ffffffff0f8322057e852009200f7e200a20057e85422089852105200e41786a2900002008852209422088220a20072900002006852206422088220f7e200942ffffffff0f832209200642ffffffff0f8322067e852009200f7e200a20067e85422089852106200741106a2107200c41706a220c0d000b0b200620058521060c010b024002400240200341074b0d00200341034b0d012003450d02200b20036a417f6a310000420886200b20034101766a3100008420058521052006200b3100008521060c020b200b2900002006852106200b20036a41786a29000020058521050c010b2006200b3500008521062005200b20036a417c6a3500008521050b200642208822092005422088220a7e200642ffffffff0f832206200542ffffffff0f8322057e85200920057e2006200a7e854220898521060b2001280204220d200842ffffffff0f83220520032006a773ad22097e20064220882206200842208822087e85200820097e200620057e8542208985220642208822084288d5fda1027e200642ffffffff0f83220642d3918cad087e85200842d3918cad087e20064288d5fda1027e85422089852209a771210c200942198842ff0083428182848890a0c080017e21052001280200210e4100211002400240024003400240200e200c6a29000022082005852206427f85200642fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832206500d00034002402003200e410020067aa7410376200c6a200d716b410c6c6a220741786a280200470d00200b200741746a28020041086a200310f597808000450d040b2006427f7c200683220650450d000b0b200820084201868342808182848890a0c0807f8350450d02201041086a2210200c6a200d71210c0c000b0b2000200136021420002007360210200020093703082000410036020020022002280200417f6a220336020020030d01200441086a1090888080000c010b200020013602102000200937030820002003360204200020023602000b200441106a2480808080000bea0301067f23808080800041106b2204248080808000024020002802002205200028020422062001a722077122086a29000042808182848890a0c0807f8322014200520d00410821090340200820096a2108200941086a21092005200820067122086a29000042808182848890a0c0807f832201500d000b0b0240200520017aa741037620086a20067122096a2c00002208417f4c0d002005200529030042808182848890a0c0807f837aa741037622096a2d000021080b02402008410171450d0020002802080d00200441086a200041012003410110b28c8080000240200028020022052000280204220620077122086a29000042808182848890a0c0807f8322014200520d00410821090340200820096a2108200941086a21092005200820067122086a29000042808182848890a0c0807f832201500d000b0b200520017aa741037620086a20067122096a2c00002208417f4c0d002005200529030042808182848890a0c0807f837aa741037622096a2d000021080b200520096a200741197622073a00002005200941786a2006716a41086a20073a00002000200028020820084101716b3602082000200028020c41016a36020c2005410020096b410c6c6a41746a220941086a200241086a28020036020020092002290200370200200441106a2480808080000bd90605017f037e017f037e067f23808080800041106b2202248080808000410029039083d480002103410029038883d48000210420002903102105024020002802182206450d00200641086a290000200385220742208822082006290000200542308985220542208822097e200742ffffffff0f832207200542ffffffff0f8322057e85200720097e200820057e854220898521050b20012900082005422089220520037c85220342208822072001290018200485220842208822097e200342ffffffff0f832203200842ffffffff0f8322087e85200720087e200320097e85422089852001290000200585220542ffffffff0f8322032001290010200485220442ffffffff0f8322077e8520054220882205200442208822047e85200520077e200320047e8542208985220542208822044288d5fda1027e200542ffffffff0f83220542d3918cad087e85200442d3918cad087e20054288d5fda1027e85422088852105024020002802080d00200241086a20004101200041106a410110b48c8080000b2000280200220a41606a210b2000280204220c2005a77121062005421988220742ff0083428182848890a0c080017e21034100210d4100210e037f0240024002400240200a20066a29000022042003852205427f85200542fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832205500d00034002402001200b20057aa741037620066a200c714105746b412010f5978080000d00410121060c030b2005427f7c200583220550450d000b0b200442808182848890a0c0807f8321050240200e4101460d002005500d0220057aa741037620066a200c71210f0b024020052004420186834200520d004101210e0c030b410021060240200a200f6a2c0000220b4100480d00200a200a29030042808182848890a0c0807f837aa7410376220f6a2d0000210b0b200a200f6a2007a741ff0071220e3a0000200a200f41786a200c716a41086a200e3a000020002000280208200b4101716b3602082000200028020c41016a36020c200a200f4105746b41606a220c41186a200141186a290000370000200c41106a200141106a290000370000200c41086a200141086a290000370000200c20012900003700000b200241106a24808080800020060f0b4100210e0b2006200d41086a220d6a200c7121060c000b0bb70102037f017e23808080800041c0006b2202248080808000200242b0f2f7f283ece7d10b370038200242cbf2abd1d7a8b9e0d70037003020024284c2b1b3ef9292841e370028200242bce2f4b8c5daf6fa29370020200241086a200241206a412010f08580800041012103024020022802084101470d00200228021821042002290310210541002103200010a68780800041024b0d002004410249200520015420052001511b21030b200241c0006a24808080800020030b86a60105257f057e1d7f017e107f23808080800041f0116b2202248080808000200241f0086a41086a200141186a290200370300200220012902103703f008200241106a41086a200141086a290200370300200241206a41086a2001412c6a290000370300200241306a200141346a290000370300200241206a41186a2001413c6a290000370300200220012902003703102002200129002437032002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024041002d00c882d480004101460d0020012802202103410041013a00c882d4800041002802c482d480002104410041aa828080003602c482d4800041002d00e082d480004101460d01410041013a00e082d4800041002802dc82d480002105410041ab828080003602dc82d4800041002d00b882d480004101460d02410041013a00b882d4800041002802b482d480002106410041ac828080003602b482d4800041002d00b082d480004101460d03410041013a00b082d4800041002802ac82d480002107410041ad828080003602ac82d4800041002d009882d480004101460d04410041013a009882d48000410028029482d480002108410041ae8280800036029482d4800041002d00d882d480004101460d05410041013a00d882d4800041002802d482d480002109410041af828080003602d482d4800041002d00a082d480004101460d06410041013a00a082d48000410028029c82d48000210a410041b08280800036029c82d4800041002d009082d480004101460d07410041013a009082d48000410028028c82d48000210b410041b18280800036028c82d4800041002d00c082d480004101460d08410041013a00c082d4800041002802bc82d48000210c410041b2828080003602bc82d4800041002d00e882d480004101460d09410041013a00e882d4800041002802e482d48000210d410041b3828080003602e482d4800041002d00d082d480004101460d0a410041013a00d082d4800041002802cc82d48000210e410041b4828080003602cc82d4800041002d00a882d480004101460d0b410041013a00a882d4800041002802a482d48000210f410041b5828080003602a482d4800041002d00a081d480004101460d0c410041013a00a081d48000410028029c81d480002110410041b68280800036029c81d4800041002d00b081d480004101460d0d410041013a00b081d4800041002802ac81d480002111410041b7828080003602ac81d4800041002d00c081d480004101460d0e410041013a00c081d4800041002802bc81d480002112410041b8828080003602bc81d4800041002d008881d480004101460d0f410041013a008881d48000410028028481d480002113410041b98280800036028481d4800041002d00c881d480004101460d10410041013a00c881d4800041002802c481d480002114410041ba828080003602c481d4800041002d009881d480004101460d11410041013a009881d48000410028029481d480002115410041bb8280800036029481d4800041002d009081d480004101460d12410041013a009081d48000410028028c81d480002116410041bc8280800036028c81d4800041002d00b881d480004101460d13410041013a00b881d4800041002802b481d480002117410041bd828080003602b481d4800041002d00a881d480004101460d14410041013a00a881d4800041002802a481d480002118410041be828080003602a481d4800041002d00f881d480004101460d15410041013a00f881d4800041002802f481d480002119410041bf828080003602f481d4800041002d00f081d480004101460d16410041013a00f081d4800041002802ec81d48000211a410041c0828080003602ec81d4800041002d00ecffd380004101460d174100211b410041013a00ecffd3800041002802e8ffd38000211c410041c1828080003602e8ffd380002002410036028009200241e80b6a200241f0086a10868c808000200241fc086a20022802f40820022802f80820022802f0082802101186808080000020022802e80b418180808078460d18200241c0006a200241e80b6a41880110f4978080001a024002400240200228024c221d41057441206a41c0002002280240221e418080808078461b221f4100480d000240201f0d00200241003602980720024280808080103702900720024190076a410041204101410110a3868080002002280294072120200228029807211b0c030b4100211b41002d008083d480001a201f41002802f482d480001182808080000022200d014101211b0b201b201f41b0f2c5800010b980808000000b20022020360294072020417e6a41003b00002002201f360290070b2020201b6a221f200141246a2201290000370000201f41186a200141186a290000370000201f41106a200141106a290000370000201f41086a200141086a2900003700002002201b41206a2201360298070240201d4101201e41808080807846221f1b221b450d002002280248200241c0006a201f1b211f201b41fc006c211d0340200241f0086a201f10e984808000200241e80b6a20022802f408220120022802f80841002802c480d4800011868080800000024020022802f008450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0240200228029007200228029807221b6b411f4b0d0020024190076a201b41204101410110a386808000200228029807211b0b201f41fc006a211f2002280294072220201b6a220120022900e80b370000200141086a200241e80b6a41086a290000370000200141106a200241e80b6a41106a290000370000200141186a200241e80b6a41186a2900003700002002201b41206a220136029807201d41847f6a221d0d000b0b200241f0086a2020200141002802bc80d48000118680808000000240200228029007450d0020022802940722012001417e6a2f00006b41002802ec82d48000118180808000000b410041002d00c883d480002201410120011b3a00c883d4800020010d19410020022900f0083700b883d48000410041023a00c883d480004100200241f0086a41086a22012900003700c083d4800020024190076a200241106a410c6a222120022802142002280218200228021028020011838080800000200120024190076a41086a29020037030020022002290290073703f0082002410036028009200241e80b6a200241f0086a10ed84808000200241f0086a410c6a20022802f408200128020020022802f0082802101186808080000020022802e80b418080808078460d1a200241c8016a200241e80b6a41f00010f4978080001a2002280244212220022802482120200228024c211e200241d0006a2101024002402002280240221b418080808078460d0020024190076a41086a221d200141086a2802003602002002200129020037039007200241e80b6a200241c0006a411c6a41e00010f4978080001a200241f0086a41086a2223200241c4016a280200360200200220022902bc013703f00841002d008083d480001a41fc0041002802f482d4800011828080800000221f450d1d201f201f41036a417c712201201f6b22246a417e6a20243b00002001201e36020c20012020360208200120223602042001201b3602002001200229039007370210200141186a201d2802003602002001411c6a200241e80b6a41e00010f4978080001a200241b8026a41086a2023280200360200200220022903f0083703b80241012122200121204101211e0c010b200241b8026a41086a200141086a280200360200200220012902003703b802201e450d1d0b200241f0086a200241c8016a10e984808000200241e80b6a20022802f408220120022802f80841002802c480d48000118680808000002020410c6a211f024020022802f008450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b201f200241e80b6a412010f5978080000d1d200241e80b6a200241c8016a10e984808000200241f0086a20022802ec0b220120022802f00b41002802c480d4800011868080800000201e41fc006c211f024020022802e80b450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b2020201f6a2124200241e80b6a41186a211d20202101201e211b0340201d200241f0086a41186a290000370300200241e80b6a41106a200241f0086a41106a290000370300200241e80b6a41086a200241f0086a41086a290000370300200220022900f0083703e80b200220013602880c200241e80b6a2001410c6a412010f5978080000d1f20024190076a200110e984808000200241f0086a200228029407221f20022802980741002802c480d48000118680808000000240200228029007450d00201f201f417e6a2f00006b41002802ec82d48000118180808000000b200141fc006a2101201b417f6a221b0d000b200241003602d00220024280808080c0003702c802200241003602dc0220024280808080c0003702d402200241003602e80220024280808080c0003702e0022002201e3602ec02200241e80b6a200241b8026a200241f8016a222510a98980800020022802e80b4101460d1f200241f0026a200241f00b6a41d00010f4978080001a20022802bc02211e20022802b8022123024020022802c0022201450d00200141017121264100211f024020014101460d002001417e71211d201e21014100211f034002402001280200450d00200141046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141186a2101201d201f41026a221f470d000b0b2026450d00201e201f410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402023450d00201e201e417e6a2f00006b41002802ec82d48000118180808000000b4100410035028483d4800042c4e6c11b85200241e80b6aad22277e202742ae94e698017e42208922288522293e028483d480002029422088222a42a2f0a4a00a7e202942ffffffff0f83222942d0e3fccc027e85212b202a42d0e3fccc027e202942a2f0a4a00a7e854220892129024041002d00a883d480004102460d0010c2908080000b202b202985212a200241f0086a410c6a4100290388e7c580003702004100410035028483d4800042c4e6c11b8520277e20288522293e028483d4800020024100290380e7c580003702f4082029422088222842a2f0a4a00a7e202942ffffffff0f83222942d0e3fccc027e85202842d0e3fccc027e202942a2f0a4a00a7e8542208985212941b883d48000410041002d00c883d480004102461b2101024041002d00a883d480004102460d0010c2908080000b200241e80b6a410c6a4100290388e7c58000370200200241c0036a410c6a200241f0086a41086a290200370200200241d4036a200241f0086a41106a28020036020020024100290380e7c580003702ec0b200241f4036a200241e80b6a41086a290200370200200241fc036a200241e80b6a41106a280200360200200241003602c003200220022902f0083702c403200241003602e803200220013602e0032002202a3703d803200220022902e80b3702ec03200241b883d48000410041002d00c883d480004102461b36028804200220293703800441002d008083d480001a413041002802f482d48000118280808000002201450d202001200141076a41787120016b221f6a2223417e6a201f3b00004100410035028483d4800042c4e6c11b8520277e202742ae94e698017e4220898522293e028483d480002029422088222842a2f0a4a00a7e202942ffffffff0f83222942d0e3fccc027e85202842d0e3fccc027e202942a2f0a4a00a7e85422089852129024041002d00a883d480004102460d0010c2908080000b4100212c200241e80b6a410c6a222d4100290388e7c5800037020041002d00c883d4800021012023410036020820234281808080103703002023202937032020024100290380e7c580003702ec0b202320022902e80b37020c202341146a200241e80b6a41086a222e2902003702002023411c6a200241e80b6a41106a222f280200360200202341b883d48000410020014102461b3602282002202336029404200241003602a804200220243602a404200220223602a00420022020360298042002202041fc006a36029c0441808080807821300240024020202802002201418080808078470d0042002129418080808078213142002128410021320c010b202341106a2133200241e00e6a41086a2134200241e00e6a41046a2135200241d0116a41086a2136200241d0116a41046a2137200241e80b6a41a4016a2138200241e80b6a41c0006a2139200241e80b6a41d0006a213a200241ac046a41d0006a213b200241e80b6a41306a213c200241ac046a41306a213d200241ac046a410c6a213e200241f0086a41a4016a213f200241f0086a41c0006a214020024190076a41246a214120024190076a41046a214220024184076a41086a214320024184076a41046a2144200241ec056a2145200241a8056a41246a2146200241a8056a41046a2147200241ac046a41046a2148202742ae94e698017e42208821494100212c420021284200212a418080808078213141808080807821300340200241ec0e6a202041046a41f80010f9978080001a200220022802a80441016a22243602a8042048200241ec0e6a41f80010f4978080001a200220013602ac04200241e80b6a41186a221d202541186a290200370300202f202541106a290200370300202e202541086a290200370300200220252902003703e80b200241f0086a41fccfc28000410141002802c480d4800011868080800000204720022903e80b370200204741086a221e202e290300370200204741106a2222202f290300370200204741186a2226201d290300370200204620022902f008370200204641086a200241f0086a41086a2201290200370200204641106a200241f0086a41106a221f290200370200204641186a200241f0086a41186a221b2902003702002002428080808080808080807f3702fc05200241003602f0052002200241f0026a3602a8052002200241c0036a3602ec052023202328020041016a22203602002020450d23200241e80b6a10e3878080002002202336028407200220022902ec0b3702880720022802e80b22202020280200417f6a2220360200024020200d00200241e80b6a10ff878080000b201b2026290200370300201f20222902003703002001201e2902003703002047290200212920022802ec0521262002280284072220202028020041016a221e360200200220293703f008201e450d23200228028807221e201e28020041016a22223602002022450d23200228028c072222202228020041016a224a360200204a450d23201d201b290300370300202f201f290300370300202e2001290300370300200220022903f0083703e80b200241f0086a41fccfc28000410141002802c480d4800011868080800000204220022903e80b370200204241086a202e290300370200204241106a202f290300370200204241186a201d290300370200204120022902f008370200204141086a2001290200370200204141106a201f290200370200204141186a201b2902003702002002428080808080808080807f3702e407200220223602e0072002201e3602dc07200220203602d80720022045410020261b3602d4072002200241a8056a36029007200241003a00fc0a200241003602f80a200242003702b40a200242003703a80a200241003a00e00b200241003602dc0b20024280808080c0003702d40b200241003a00d00b200241003602cc0b200242003703880b200241003602800b200241003602a00a200242003703a809200241003602a0092002420037039809200241003602900920024200370388092002410036028009200242003703f808200241003602f0082040200241f00f6a41e00010f4978080001a203f20022902e40f370200203f41086a200241e40f6a41086a222028020036020020024180808080783602900a202d41186a203e41186a290200370200202d41106a203e41106a290200370200202d41086a203e41086a290200370200202d203e290200370200203c203d290200370200203c41086a203d41086a290200370200203c41106a203d41106a290200370200203c41186a203d41186a290200370200203a203b290200370200203a41086a203b41086a290200370200203a41106a203b41106a290200370200203a41186a203b41186a29020037020020022802d8042101200241e80b6a200241ac046a41ecdbc58000109f8f808000200220013602940c024020022802d001221f450d0020022802cc0121010340024020012d0000221b41034b0d002001201b41027441d080c680006a2802006a221b280200450d00201b41046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141146a2101201f417f6a221f0d000b0b024020022802c801450d0020022802cc0122012001417e6a2f00006b41002802ec82d48000118180808000000b200241c8016a200241e80b6a41f00010f4978080001a200241d0116a10e387808000200241003a00f40d200241003602f00d200242003702ac0d200241003a00d80e200241003602d40e20024280808080c0003702cc0e200241003a00c80e200241003602c40e200242003703800e200241003602f80d200242003703a00d200241003602980d200242003703a00c200241003602980c200242003703900c200241003602880c200242003703800c200241003602f80b200242003703f00b200241003602e80b2039200241f00f6a41e00010f4978080001a203820022902e40f370200203841086a202028020036020020024180808080783602880d200241003b01e81141002802d0ffd3800021012002200241a8056a3602e4112002200241e80b6a3602e011200141ffffffff074f0d24024041002802d4ffd380000d00200241d0106a41002802ccffd380001181808080000041002802d0ffd380000d264100417f3602d0ffd38000024041002802d4ffd380000d0041002101410041013602d4ffd38000410020022902d0103702d8ffd380004100200241d0106a41086a2902003702e0ffd380000c010b024041002802e4ffd38000221f450d0041002802e0ffd38000210103402001280200221b201b280200417f6a221b3602000240201b0d00200110af828080000b200141046a2101201f417f6a221f0d000b0b024041002802dcffd38000450d0041002802e0ffd3800022012001417e6a2f00006b41002802ec82d48000118180808000000b410041013602d4ffd38000410020022902d0103702d8ffd380004100200241d0106a41086a2902003702e0ffd38000410041002802d0ffd3800041016a22013602d0ffd38000200141ffffffff074f0d270b4100200141016a3602d0ffd3800041002802d8ffd380000d274100417f3602d8ffd3800041002d008083d480001a411441002802f482d48000118280808000002201450d282001200141036a417c7120016b221f6a220141acebc580003602102001410036020820014281808080103702002001417e6a201f3b00002001200241d0116a36020c024041002802e4ffd38000221f41002802dcffd38000470d0041dcffd380004184d5c58000109a868080000b41002802e0ffd38000201f4102746a20013602004100201f41016a3602e4ffd38000410041002802d8ffd3800041016a3602d8ffd38000410028029c80d48000220141ffffffff074f0d29024041002802a080d480000d00200241d0106a410028029880d4800011818080800000410028029c80d480000d2b4100417f36029c80d48000024041002802a080d480000d0041002101410041013602a080d48000410020022902d0103702a480d480004100200241d0106a41086a2902003702ac80d480000c010b024041002802b080d48000221f450d0041002802ac80d48000210103402001280200221b201b280200417f6a221b3602000240201b0d00200110d2938080000b200141046a2101201f417f6a221f0d000b0b024041002802a880d48000450d0041002802ac80d4800022012001417e6a2f00006b41002802ec82d48000118180808000000b410041013602a080d48000410020022902d0103702a480d480004100200241d0106a41086a2902003702ac80d480004100410028029c80d4800041016a220136029c80d48000200141ffffffff074f0d2c0b4100200141016a36029c80d4800041002802a480d480000d2c4100417f3602a480d4800041002d008083d480001a411441002802f482d48000118280808000002201450d2d2001200141036a417c7120016b221f6a220141c0f2c580003602102001410036020820014281808080103702002001417e6a201f3b00002001200241e0116a36020c024041002802b080d48000221f41002802a880d48000470d0041a880d480004184d5c58000109a868080000b41002802ac80d48000201f4102746a20013602004100201f41016a3602b080d48000410041002802a480d4800041016a3602a480d48000200241ac046a10e08680800041002802a480d480000d2e4100417f3602a480d48000024041002802b080d480002201450d0041002001417f6a22013602b080d48000200241002802ac80d4800020014102746a28020022013602d01020012001280200417f6a221f360200201f0d00200241d0106a10d2938080000b410041002802a480d4800041016a3602a480d480004100410028029c80d48000417f6a36029c80d4800041002802d8ffd380000d2f4100417f3602d8ffd38000024041002802e4ffd380002201450d0041002001417f6a22013602e4ffd38000200241002802e0ffd3800020014102746a28020022013602d01020012001280200417f6a221f360200201f0d00200241d0106a10af828080000b410041002802d8ffd3800041016a3602d8ffd38000410041002802d0ffd38000417f6a3602d0ffd38000200241e80b6a10808880800020022802d01122012001280200417f6a2201360200024020010d00200241d0116a10ff878080000b20022802d41122012001280200417f6a2201360200024020010d0020371081888080000b20022802d81122012001280200417f6a2201360200024020010d0020361082888080000b200241d0106a200241ac046a41fc0010f4978080001a200241003b01e81141002802d0ffd380002101200220024190076a3602e4112002200241f0086a3602e011200141ffffffff074f0d30024041002802d4ffd380000d00200241e80b6a41002802ccffd380001181808080000041002802d0ffd380000d324100417f3602d0ffd38000024041002802d4ffd380000d0041002101410041013602d4ffd38000410020022902e80b3702d8ffd380004100202e2902003702e0ffd380000c010b024041002802e4ffd38000221f450d0041002802e0ffd38000210103402001280200221b201b280200417f6a221b3602000240201b0d00200110af828080000b200141046a2101201f417f6a221f0d000b0b024041002802dcffd38000450d0041002802e0ffd3800022012001417e6a2f00006b41002802ec82d48000118180808000000b410041013602d4ffd38000410020022902e80b3702d8ffd380004100202e2902003702e0ffd38000410041002802d0ffd3800041016a22013602d0ffd38000200141ffffffff074f0d330b4100200141016a3602d0ffd3800041002802d8ffd380000d334100417f3602d8ffd3800041002d008083d480001a411441002802f482d48000118280808000002201450d342001200141036a417c7120016b221f6a220141acebc580003602102001410036020820014281808080103702002001417e6a201f3b0000200120024184076a36020c024041002802e4ffd38000221f41002802dcffd38000470d0041dcffd380004184d5c58000109a868080000b41002802e0ffd38000201f4102746a20013602004100201f41016a3602e4ffd38000410041002802d8ffd3800041016a3602d8ffd38000410028029c80d48000220141ffffffff074f0d35024041002802a080d480000d00200241e80b6a410028029880d4800011818080800000410028029c80d480000d374100417f36029c80d48000024041002802a080d480000d0041002101410041013602a080d48000410020022902e80b3702a480d480004100202e2902003702ac80d480000c010b024041002802b080d48000221f450d0041002802ac80d48000210103402001280200221b201b280200417f6a221b3602000240201b0d00200110d2938080000b200141046a2101201f417f6a221f0d000b0b024041002802a880d48000450d0041002802ac80d4800022012001417e6a2f00006b41002802ec82d48000118180808000000b410041013602a080d48000410020022902e80b3702a480d480004100202e2902003702ac80d480004100410028029c80d4800041016a220136029c80d48000200141ffffffff074f0d380b4100200141016a36029c80d4800041002802a480d480000d384100417f3602a480d4800041002d008083d480001a411441002802f482d48000118280808000002201450d392001200141036a417c7120016b221f6a220141e0f3c580003602102001410036020820014281808080103702002001417e6a201f3b00002001200241e0116a36020c024041002802b080d48000221f41002802a880d48000470d0041a880d480004184d5c58000109a868080000b41002802ac80d48000201f4102746a20013602004100201f41016a3602b080d48000410041002802a480d4800041016a3602a480d48000200241e80b6a200241d0106a41fc0010f4978080001a200241e80b6a10e68780800041002802a480d480000d3a4100417f3602a480d48000024041002802b080d480002201450d0041002001417f6a22013602b080d48000200241002802ac80d4800020014102746a28020022013602e80b20012001280200417f6a221f360200201f0d00200241e80b6a10d2938080000b410041002802a480d4800041016a3602a480d480004100410028029c80d48000417f6a36029c80d4800041002802d8ffd380000d3b4100417f3602d8ffd38000024041002802e4ffd380002201450d0041002001417f6a22013602e4ffd38000200241002802e0ffd3800020014102746a28020022013602e80b20012001280200417f6a221f360200201f0d00200241e80b6a10af828080000b410041002802d8ffd3800041016a3602d8ffd38000410041002802d0ffd38000417f6a3602d0ffd38000200241e80b6a200241f0086a41c8ebc58000410510ec8a808000024020022802e80b450d0020022802ec0241014d0d00200241023602ec0b2002419cecc580003602e80b200242013702f40b2002418680808000ad422086200241ec026aad843703d0102002200241d0106a3602f00b200241e80b6a41acecc5800010fe80808000000b200241e00e6a10e387808000200241003b01d81141002802d0ffd3800021012002200241a8056a3602d4112002200241f0086a3602d011200141ffffffff074f0d40024041002802d4ffd380000d00200241e80b6a41002802ccffd380001181808080000041002802d0ffd380000d424100417f3602d0ffd38000024041002802d4ffd380000d0041002101410041013602d4ffd38000410020022902e80b3702d8ffd380004100202e2902003702e0ffd380000c010b024041002802e4ffd38000221f450d0041002802e0ffd38000210103402001280200221b201b280200417f6a221b3602000240201b0d00200110af828080000b200141046a2101201f417f6a221f0d000b0b024041002802dcffd38000450d0041002802e0ffd3800022012001417e6a2f00006b41002802ec82d48000118180808000000b410041013602d4ffd38000410020022902e80b3702d8ffd380004100202e2902003702e0ffd38000410041002802d0ffd3800041016a22013602d0ffd38000200141ffffffff074f0d430b4100200141016a3602d0ffd3800041002802d8ffd380000d434100417f3602d8ffd3800041002d008083d480001a411441002802f482d48000118280808000002201450d442001200141036a417c7120016b221f6a220141acebc580003602102001410036020820014281808080103702002001417e6a201f3b00002001200241e00e6a36020c024041002802e4ffd38000221f41002802dcffd38000470d0041dcffd380004184d5c58000109a868080000b41002802e0ffd38000201f4102746a20013602004100201f41016a3602e4ffd38000410041002802d8ffd3800041016a3602d8ffd38000410028029c80d48000220141ffffffff074f0d45024041002802a080d480000d00200241e80b6a410028029880d4800011818080800000410028029c80d480000d474100417f36029c80d48000024041002802a080d480000d0041002101410041013602a080d48000410020022902e80b3702a480d480004100202e2902003702ac80d480000c010b024041002802b080d48000221f450d0041002802ac80d48000210103402001280200221b201b280200417f6a221b3602000240201b0d00200110d2938080000b200141046a2101201f417f6a221f0d000b0b024041002802a880d48000450d0041002802ac80d4800022012001417e6a2f00006b41002802ec82d48000118180808000000b410041013602a080d48000410020022902e80b3702a480d480004100202e2902003702ac80d480004100410028029c80d4800041016a220136029c80d48000200141ffffffff074f0d480b4100200141016a36029c80d4800041002802a480d480000d484100417f3602a480d4800041002d008083d480001a411441002802f482d48000118280808000002201450d492001200141036a417c7120016b221f6a220141c0f2c580003602102001410036020820014281808080103702002001417e6a201f3b00002001200241d0116a36020c024041002802b080d48000221f41002802a880d48000470d0041a880d480004184d5c58000109a868080000b41002802ac80d48000201f4102746a20013602004100201f41016a3602b080d48000410041002802a480d4800041016a3602a480d48000200242a9a5c4bef894cdeee7003700e810200242d4c584efa7e5bfee643700e010200242b9e088b7b6cdc2d1133700d810200242c5e4f4b9cff9d18a0b3700d010200241e80b6a200241d0106a412010f28580800020022802e80b418080808078460d4a200241d0106a41306a203c280200360200200241d0106a41286a200241e80b6a41286a290200370300200241d0106a41206a200241e80b6a41206a290200370300200241d0106a41186a201d290200370300200241d0106a41106a202f290200370300200241d0106a41086a202e290200370300200220022902e80b3703d010200241d0106a200228021420022802182003200241206a109282808000200242bdb9c185ebd5beb6e0003700800c2002428ab9b2f0b1fbfe8ab77f3700f80b200242b9e088b7b6cdc2d1133700f00b200242c5e4f4b9cff9d18a0b3700e80b200241d0106a200241e80b6a412010e78580800020022802d0102101024002402031418080808078460d002028202a42ffffffff0f8384212a2001418080808078460d012001450d0120022802d41022012001417e6a2f00006b41002802ec82d48000118180808000000c010b20022902d410212a200121310b200241003a00df11200242908cf1f9cc86e8f8513700800c200242d4a4d2bc9ca3a4d7683700f80b200242b9e088b7b6cdc2d1133700f00b200242c5e4f4b9cff9d18a0b3700e80b200241e0116a200241e80b6a412010ef858080002002410020022802e011220120014180808080784622011b3602d8102002410420022802e41120011b221f3602d0102002201f3602d4102002201f410020022802e81120011b410c6c6a3602dc102002200241c8026a3602f00b2002200241d4026a3602ec0b2002200241df116a3602e80b200241d0106a200241e80b6a10da84808000200242efe0d69cf8bda6cb5d3700800c200242d6e9cddfbec0b7fd783700f80b200242b9e088b7b6cdc2d1133700f00b200242c5e4f4b9cff9d18a0b3700e80b200241086a200241e80b6a412010d085808000200228020c214b2002280208214c200242e3d488ecd2ee88dde3003700800c200242ce80d7eca9b9a7a3163700f80b200242b9e088b7b6cdc2d1133700f00b200242c5e4f4b9cff9d18a0b3700e80b200241e0116a200241e80b6a412010df85808000410420022802e41120022802e011221f4180808080784622011b21204100201f20011b211e024002400240024020022802e802221f410020022802e81120011b22016a221b418180014922220d0002402001450d00200141017121264100211f024020014101460d00200141feffff3f71211d4100211f20202101034002402001280200450d00200141046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141206a2101201d201f41026a221f470d000b0b2026450d002020201f4104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b201e0d010c020b2001410474211d0240200120022802e002201f6b4d0d00200241e0026a201f20014104411010a38680800020022802e802221f20016a211b0b20022802e402201f4104746a2020201d10f4978080001a2002201b3602e802201e450d020b20202020417e6a2f00006b41002802ec82d48000118180808000000b2022450d4c0b200242939685e2c5afc3c6443700800c200242dbfcc3e0bc84a3df013700f80b200242b9e088b7b6cdc2d1133700f00b200242c5e4f4b9cff9d18a0b3700e80b2002200241e80b6a412010d0858080002002280204214d2002280200214e0240202420022802ec022201470d002002428ba4f08ac7ad89c4ad7f3700800c200242d7c9cea6cfa8b4c4a47f3700f80b200242b9e088b7b6cdc2d1133700f00b200242c5e4f4b9cff9d18a0b3700e80b200241e0116a200241e80b6a412010e7858080000240024020022802e011418080808078460d00202e200241e0116a41086a280200360200200220022902e0113703e80b0c010b200241e80b6a200241c8016a10e9848080000b0240203041808080807872418080808078460d00204f204f417e6a2f00006b41002802ec82d48000118180808000000b20022802f00b215020022802ec0b214f20022802e80b21300b41002802a480d480000d4c4100417f3602a480d48000024041002802b080d48000221f450d004100201f417f6a221f3602b080d48000200241002802ac80d48000201f4102746a280200221f3602e80b201f201f280200417f6a221b360200201b0d00200241e80b6a10d2938080000b410041002802a480d4800041016a3602a480d480004100410028029c80d48000417f6a36029c80d4800041002802d8ffd380000d4d4100417f3602d8ffd38000024041002802e4ffd38000221f450d004100201f417f6a221f3602e4ffd38000200241002802e0ffd38000201f4102746a280200221f3602e80b201f201f280200417f6a221b360200201b0d00200241e80b6a10af828080000b410041002802d8ffd3800041016a3602d8ffd38000410041002802d0ffd38000417f6a3602d0ffd3800020022802e00e221f201f280200417f6a221f3602000240201f0d00200241e00e6a10ff878080000b20022802e40e221f201f280200417f6a221f3602000240201f0d0020351081888080000b20022802e80e221f201f280200417f6a221f3602000240201f0d0020341082888080000b02400240024020242001460d00200241e80b6a200241f0086a200241a8056a410110ea8a80800020022802f00c2251418080808078470d0141ccecc580004135200241ef116a41bcecc580004184edc5800010a981808000000b200241f0086a10808880800020024190076a10838880800020022802840722012001280200417f6a2201360200024020010d0020024184076a10ff878080000b20022802880722012001280200417f6a2201360200024020010d0020441081888080000b200228028c0722012001280200417f6a2201360200024020010d0020431082888080000b200241a8056a1083888080000c010b20022802f80c211e20022802f40c215220022802ec0c214a20022802e80c212420022802e40c215320022802e00c212020022802dc0c215420022802d80c215520022802cc0c215620022802c80c215720022802940c211d200228028c0c215820022802880c211f200241e80b6a200241a8056a41dc0110f4978080001a200241e80b6a1083888080004100410028028483d4800041c4e6c11b73ad20277e2049853e028483d48000024041002d00a883d480004102460d0010c2908080000b201f29030021290240024020580d004200212b0c010b201f2058411c6c41236a41787122016bad422086205820016a41096aad84212b0b0240201d450d00201f41086a21012029427f8542808182848890a0c0807f8321290340024020294200520d000340201f41a07e6a211f20012903002129200141086a221b2101202942808182848890a0c0807f83222942808182848890a0c0807f510d000b202942808182848890a0c0807f852129201b21010b201d417f6a211d2029427f7c20298321280240201f410020297aa74103766b411c6c6a221b41646a2802002232418080808078460d00201b41746a2802002122201b41706a2802002159201b41686a28020021260240201b417c6a2802004101480d00200241e80b6a200241f0026a20012022201b41786a280200221b108488808000200241e80b6a2022201b41002802c480d480001186808080000020232802080d532023417f3602082033200241e80b6a10fa878080001a2023202328020841016a3602080b02402059450d0020222022417e6a2f00006b41002802ec82d48000118180808000000b02402032450d0020262026417e6a2f00006b41002802ec82d48000118180808000000b20282129201d0d010c020b0b201d450d000340024020284200520d000340201f41a07e6a211f20012903002129200141086a221b2101202942808182848890a0c0807f83222942808182848890a0c0807f510d000b202942808182848890a0c0807f852128201b21010b0240201f410020287aa74103766b411c6c6a221b41646a280200450d00201b41686a28020022222022417e6a2f00006b41002802ec82d48000118180808000000b2028427f7c21290240201b41706a280200450d00201b41746a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b20292028832128201d417f6a221d0d000b0b02402058450d00202b42ffffffff0f83500d00202b422088a722012001417e6a2f00006b41002802ec82d48000118180808000000b02402020450d0020542101034002402001280200450d00200141046a280200221f201f417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200221f418080808078460d00201f450d00200141106a280200221f201f417e6a2f00006b41002802ec82d48000118180808000000b200141186a21012020417f6a22200d000b0b02402055450d0020542054417e6a2f00006b41002802ec82d48000118180808000000b0240204a450d0041002120034002402024202041186c6a221d280200450d00201d28020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240201d280214221f450d00201d2802102101034002402001280200450d00200141046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200221b418080808078460d00201b450d00200141106a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141186a2101201f417f6a221f0d000b0b0240201d28020c450d00201d28021022012001417e6a2f00006b41002802ec82d48000118180808000000b202041016a2220204a470d000b0b02402053450d0020242024417e6a2f00006b41002802ec82d48000118180808000000b0240201e450d0020522101034002402001280200450d00200141046a280200221f201f417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a280200221f201f417e6a2f00006b41002802ec82d48000118180808000000b0240200141186a280200221f418080808078460d00201f450d002001411c6a280200221f201f417e6a2f00006b41002802ec82d48000118180808000000b200141246a2101201e417f6a221e0d000b0b02402051450d0020522052417e6a2f00006b41002802ec82d48000118180808000000b02402057450d0020562056417e6a2f00006b41002802ec82d48000118180808000000b200241f0086a10808880800020024190076a10838880800020022802840722012001280200417f6a2201360200024020010d0020024184076a10ff878080000b20022802880722012001280200417f6a2201360200024020010d0020441081888080000b200228028c0722012001280200417f6a220136020020010d0020431082888080000b204b4100204c4101711b202c6a212c0240200228029c04222020022802a404460d00202a4280808080708321282002202041fc006a36029c0420202802002201418080808078470d010b0b204d4100204e4101711b2132202a42ffffffff0f832129202a4280808080708321280b20024198046a10c285808000024020022802dc02224a450d00200241003a00e01120024180808080783602a805204a410c6c211d20022802d80241086a2101200241e0116a41016a212620024190076a41066a2124200241e80b6a41066a211b034020022001417c6a2902003702d010200241e80b6a200241d0106a10928580800020022802e80b221f418180808078460d3c200241ac046a41046a2222201b41046a2f01003b01002002201b2801003602ac0420022d00ed0b211e20022d00ec0b212002400240024002400240201f418080808078460d00202420022802ac04360100202441046a20222f01003b01002002201e3a009507200220203a0094072002201f3602900720022802a805418080808078460d01200228029807211e20022802b00521202002200241a8056a360298042020201e470d0220022802ac05200228029407221e202010f5978080000d02201f450d04201e201e417e6a2f00006b41002802ec82d48000118180808000000c040b20022d00e0114101470d022002202636029007024020022d00e111202041ff0171470d0020022d00e21141ff0171201e41ff0171460d040b200241023602ec0b20024188f1c580003602e80b200242023702f40b2002201e3a009904200220203a009804200241c282808000ad42208620024198046aad843703f808200241c382808000ad42208620024190076aad843703f0082002200241f0086a3602f00b200241e80b6a4198f1c5800010fe80808000000b200241a8056a41086a20024190076a41086a28020036020020022002290290073703a8050c020b200241023602ec0b200241e4f1c580003602e80b200242023702f40b200241c482808000ad42208620024198046aad843703f808200241c582808000ad42208620024190076aad843703f0082002200241f0086a3602f00b200241e80b6a41f4f1c5800010fe80808000000b2002201e3a00e211200220203a00e111200241013a00e0110b2001410c6a2101201d41746a221d0d000b20022802d002220141ffff004b0d3c0240200120022802c802470d00200241c8026a41a497c480001096868080000b20022802cc022001410c6c6a221f4100290298eac58000370200201f41086a41002802a0eac580003602002002200141016a221f3602d00220022802d402212220022802d80221200240024002400240201f20022802dc0222016a221e41818001490d0002402001450d00200141017121244100211f024020014101460d00200141feffffff0071211d202021014100211f034002402001280200450d00200141046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141186a2101201d201f41026a221f470d000b0b2024450d002020201f410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20220d010c020b2001410c6c211b02400240200120022802c802201f6b4b0d00201e21010c010b200241c8026a201f20014104410c10a38680800020022802d002221f20016a21010b20022802cc02201f410c6c6a2020201b10f4978080001a200220013602d0022022450d020b20202020417e6a2f00006b41002802ec82d48000118180808000000b201e418180014f0d3e0b20022802a8052201418080808078460d002001450d0020022802ac0522012001417e6a2f00006b41002802ec82d48000118180808000000b2030418080808078460d3d200020022902c80237020c200020022902e002370218200020323602342000202c36023020002031360224200020503602082000204f3602042000203036020020002028202984370228200041146a200241c8026a41086a280200360200200041206a200241e0026a41086a28020036020020232023280200417f6a2201360200024020010d0020024194046a10ff878080000b024020022802cc032220450d00024020022802d403221d450d0020022802c803221f41086a2101201f290300427f8542808182848890a0c0807f8321290340024020294200520d000340201f41c0776a211f20012903002129200141086a221b2101202942808182848890a0c0807f83222942808182848890a0c0807f510d000b202942808182848890a0c0807f852129201b21010b201f410020297aa74103766b4188016c6a41987f6a10938c8080002029427f7c2029832129201d417f6a221d0d000b0b202020204188016c418f016a41787122016a4177460d0020022802c80320016b22012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802f4032220450d00024020022802fc03221d450d0020022802f003221f41086a2101201f290300427f8542808182848890a0c0807f8321290340024020294200520d000340201f41807c6a211f20012903002129200141086a221b2101202942808182848890a0c0807f83222942808182848890a0c0807f510d000b202942808182848890a0c0807f852129201b21010b201f20297aa741037441c007716b41406a10928c8080002029427f7c2029832129201d417f6a221d0d000b0b2020202041067441c7006a41407122016a4177460d0020022802f00320016b22012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802f4022220450d00024020022802fc02221d450d0020022802f002221f41086a2101201f290300427f8542808182848890a0c0807f8321290340024020294200520d000340201f41807d6a211f20012903002129200141086a221b2101202942808182848890a0c0807f83222942808182848890a0c0807f510d000b202942808182848890a0c0807f852129201b21010b2029427f7c21280240201f410020297aa74103766b41306c6a221b41706a280200450d00201b41746a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b20282029832129201d417f6a221d0d000b0b2020202041306c41376a41707122016a4177460d0020022802f00220016b22012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802b003450d0020022802b40322012001417e6a2f00006b41002802ec82d48000118180808000000b204a0d4d024020022802dc022201450d0020022802d80221202001410171211e4100211f024020014101460d002001417e71211d202021014100211f034002402001280200450d00200141046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b02402001410c6a280200450d00200141106a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141186a2101201d201f41026a221f470d000b0b201e450d002020201f410c6c6a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20022802d402450d4d20022802d80222012001417e6a2f00006b41002802ec82d48000118180808000000c4d0b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b200241003602f80b200241013602ec0b200241bca1c680003602e80b200242043702f00b200241e80b6a41c4a1c6800010fe80808000000b4180eec58000411c200241ef116a41ccedc58000419ceec5800010a981808000000b200241003602f80b200241013602ec0b200241a0cacd80003602e80b200242043702f00b200241e80b6a4188cbcd800010fe80808000000b41dcedc580004113200241ef116a41ccedc5800041f0edc5800010a981808000000b410441fc004190e8c5800010b980808000000b41a0e8c58000412841b8e9c5800010a181808000000b200242003702fc0820024281808080c0003702f40820024180eac580003602f0084100201f200241e80b6a200241f0086a4188eac5800010d182808000000b200241ac046a41f0efc580004102200241e80b6a412010c78c808000200241d0106a41f0efc5800041022001410c6a2201412010c78c808000200241c682808000ad4220862229200241d0106aad843703b00520022029200241ac046aad843703a8052002420237029c072002410336029407200241a4f0c58000360290072002200241a8056a360298074100200241e80b6a200120024190076a41bcf0c5800010d182808000000b2002410036028009200241013602f408200241b4edc580003602f008200242043702f808200241f0086a41bcedc5800010fe80808000000b4108413010ab808080000b000b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41f4d4c58000109a81808000000b4104411410ab80808000000b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41f4d4c58000109a81808000000b4104411410ab80808000000b41e8afc88000109a81808000000b41e8afc88000109a81808000000b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41f4d4c58000109a81808000000b4104411410ab80808000000b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41f4d4c58000109a81808000000b4104411410ab80808000000b41e8afc88000109a81808000000b41e8afc88000109a81808000000b4184f2c58000411c200241ef116a41ccedc5800041a0f2c5800010a981808000000b200242013702ec0b200241003602e80b41d4eac580004126200241e80b6a418cebc58000419cebc5800010a981808000000b41d4eac580004126200241ef116a41c4eac5800041fceac5800010a981808000000b41a4eac58000411041b4eac5800010a181808000000b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41f4d4c58000109a81808000000b4104411410ab80808000000b41fcd5c58000109b81808000000b418cd6c58000109a81808000000b419cd6c58000109b81808000000b41f4d4c58000109a81808000000b4104411410ab80808000000b41aceec58000413941e8eec5800010a181808000000b41f8eec5800041d500200241ef116a41c4eac5800041d0efc5800010a981808000000b41e8afc88000109a81808000000b41e8afc88000109a81808000000b41e0efc58000109a81808000000b024020022802d001221f450d0020022802cc0121010340024020012d0000221b41034b0d002001201b41027441d080c680006a2802006a221b280200450d00201b41046a280200221b201b417e6a2f00006b41002802ec82d48000118180808000000b200141146a2101201f417f6a221f0d000b0b024020022802c801450d0020022802cc0122012001417e6a2f00006b41002802ec82d48000118180808000000b410020043602c482d48000410020053602dc82d48000410020063602b482d48000410020073602ac82d480004100200836029482d48000410020093602d482d480004100200a36029c82d480004100200b36028c82d480004100200c3602bc82d48000410041003a00c882d48000410041003a00e082d48000410041003a00b882d48000410041003a00b082d48000410041003a009882d48000410041003a00d882d48000410041003a00a082d48000410041003a009082d48000410041003a00c082d480004100200d3602e482d480004100200e3602cc82d480004100200f3602a482d480004100201036029c81d48000410020113602ac81d48000410020123602bc81d480004100201336028481d48000410020143602c481d480004100201536029481d48000410041003a00e882d48000410041003a00d082d48000410041003a00a882d48000410041003a00a081d48000410041003a00b081d48000410041003a00c081d48000410041003a008881d48000410041003a00c881d48000410041003a009881d480004100201636028c81d48000410020173602b481d48000410020183602a481d48000410020193602f481d480004100201a3602ec81d480004100201c3602e8ffd38000410041003a009081d48000410041003a00b881d48000410041003a00a881d48000410041003a00f881d48000410041003a00f081d48000410041003a00ecffd38000202120022802142002280218200228021028021011868080800000200241f0116a2480808080000b02000b02000b860101027f0240200028020022002802142201450d002001200141057441276a41607122026a4177460d00200028021020026b22012001417e6a2f00006b41002802ec82d48000118180808000000b02402000417f460d0020002000280204417f6a220136020420010d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0bfe0501057f23808080800041306b22012480808080000240024020002802bc0122020d0041002102410021030c010b20012002360224200141003602202001200236021420014100360210200120002802c00122023602282001200236021820002802c4012103410121020b2001200336022c2001200236021c2001200236020c2001410c6a10c6898080000240024020002802c801220341054b0d002003450d01200041cc016a21020340200210a6888080002002410c6a21022003417f6a22030d000c020b0b200041cc016a2802002104024020002802d0012203450d00200421020340200210a6888080002002410c6a21022003417f6a22030d000b0b20042004417e6a2f00006b41002802ec82d48000118180808000000b410021024100210341002104024020002802b0012205450d0020012005360224200141003602202001200536021420014100360210200120002802b40122033602282001200336021820002802b8012104410121030b2001200436022c2001200336021c2001200336020c2001410c6a10c8898080004100210302402000280290022204450d002001200436022420014100360220200120043602142001410036021020012000280294022202360228200120023602182000280298022103410121020b2001200336022c2001200236021c2001200236020c2001410c6a10c3898080002000419c026a10e289808000024020002802ec022203450d0020002802e80221020340024020022002280200418080808078464102746a2204280200450d00200441046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200241146a21022003417f6a22030d000b0b024020002802e402450d0020002802e80222022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802a001418080808078460d00200041e0006a200041f0006a411c410810ae8c80800020002802a001450d0020002802a40122022002417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000b4101017f024020002802002200417f460d0020002000280204417f6a220136020420010d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0be20204047f017e027f017e0240200028020022012802142202450d000240200128021c2203450d002001280210220441086a21002004290300427f8542808182848890a0c0807f8321050340024020054200520d000340200441a07f6a210420002903002105200041086a22062100200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621000b2004410020057aa74103766b410c6c6a41746a220728020022062006280200417f6a22063602002005427f7c2108024020060d0020071090888080000b200820058321052003417f6a22030d000b0b20022002410c6c41136a41787122006a4177460d00200128021020006b22002000417e6a2f00006b41002802ec82d48000118180808000000b02402001417f460d0020012001280204417f6a220036020420000d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0bd20301047f024020002802482201450d0020012001280200417f6a2202360200024020020d00200041c8006a10ff878080000b200028024c22012001280200417f6a2201360200024020010d00200041cc006a1081888080000b200028025022012001280200417f6a220136020020010d00200041d0006a1082888080000b024020002802582201418080808078460d0002402001450d00200028025c22012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802a0012201418080808078460d002001450d0020002802a40122012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802ac012201418080808078460d002001450d0020002802b00122012001417e6a2f00006b41002802ec82d48000118180808000000b200028026821030240200028026c2202450d00200341086a210103402001280200220420042802002204417f6a360200024020044101470d00200110de8f8080000b200141306a21012002417f6a22020d000b0b02402000280264450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b2000280298014129490d00200028027022012001417e6a2f00006b41002802ec82d48000118180808000000b0b9f0e03067f067e057f23808080800041d0006b22052480808080004100210602400240024002400240024002400240024020044100480d002004450d0241002d008083d480001a200441002802f482d480001182808080000022060d01410121060b2006200441a8b2c8800010b980808000000b2006417e6a41003b000020062003200410f49780800021062001280244210702400240200420012802482208470d0020062007200410f5978080002109200641002802ec82d480001181808080000020090d010c030b200641002802ec82d48000118180808000000b200541106a2003200441002802c480d480001186808080000041002d008083d480001a200441002802f482d4800011828080800000220a450d02200a417e6a41003b0000200a2003200410f497808000210320042008470d0420032007200410f5978080000d04200341002802ec82d48000118180808000000c050b20012802480d020b200141206a21030c040b4101200441a8b2c8800010b980808000000b200541106a2003410041002802c480d48000118680808000004101210a0b200541306a41186a200541106a41186a290000370300200541306a41106a200541106a41106a290000370300200541306a41086a200541106a41086a29000037030020052005290010370330410029039083d48000210b410029038883d48000210c2001290310210d024020012802182203450d00200341086a290000200b85220e422088220f2003290000200d42308985220d42208822107e200e42ffffffff0f83220e200d42ffffffff0f83220d7e85200e20107e200f200d7e8542208985210d0b2005290338200d422089220e200b7c85220d422088220b2005290348200c85220f42208822107e200d42ffffffff0f83220d200f42ffffffff0f83220f7e85200b200f7e200d20107e85422089852005290330220d200e85220b42ffffffff0f83220e2005290340200c85220c42ffffffff0f83220f7e85200b422088220b200c422088220c7e85200b200f7e200e200c7e8542208985220c422088220b4288d5fda1027e200c42ffffffff0f83220c42d3918cad087e85200b42d3918cad087e200c4288d5fda1027e8542208885220c421988220e42ff0083428182848890a0c080017e210b2001280200220941506a2107200d422088a72111200da7211220012802042206200ca72213712214210341002115024003400240200920036a290000220c200b85220d427f85200d42fffdfbf7efdfbfff7e7c8342808182848890a0c0807f83220d500d000340200541306a20074100200d7aa741037620036a2006716b220841306c6a412010f597808000450d03200d427f7c200d83220d50450d000b0b0240200c200c4201868342808182848890a0c0807f8350450d00201541086a221520036a20067121030c010b0b0240200920146a29000042808182848890a0c0807f83220d4200520d00410821030340201420036a2107200341086a21032009200720067122146a29000042808182848890a0c0807f83220d500d000b0b02402009200d7aa741037620146a20067122036a2c00002208417f4c0d002009200929030042808182848890a0c0807f837aa741037622036a2d000021080b200541106a41086a210702402008410171450d0020012802080d00200541086a20014101200141106a410110d4828080000240200128020022092001280204220620137122086a29000042808182848890a0c0807f83220d4200520d00410821030340200820036a2108200341086a21032009200820067122086a29000042808182848890a0c0807f83220d500d000b0b2009200d7aa741037620086a20067122036a2c00002208417f4c0d002009200929030042808182848890a0c0807f837aa741037622036a2d000021080b200920036a200ea741ff007122153a00002009200341786a2006716a41086a20153a00002001200128020820084101716b3602082001200128020c41016a36020c2009410020036b41306c6a220341506a2012360200200341706a2004360200200341746a200a360200200341786a20043602002003417c6a4101360200200341586a220641106a200741106a290000370000200641086a200741086a29000037000020062007290000370000200341546a20113602000c010b02402009200841306c6a2203417c6a220728020022064101480d002007200641016a3602002004450d01200a200a417e6a2f00006b41002802ec82d48000118180808000000c010b0240200341706a2208280200450d00200341746a28020022062006417e6a2f00006b41002802ec82d4800011818080800000200728020021060b20082004360200200341786a2004360200200341746a200a3602002007200641016a3602000b200541106a21030b20002003290000370000200041186a200341186a290000370000200041106a200341106a290000370000200041086a200341086a290000370000200541d0006a2480808080000b140020002802042000280208200110bc818080000be70f01047f23808080800041306b2202248080808000024002400240024002400240024002400240200028020028020022002802000e080102030004050607010b000b2002200041086a36020c4101210020012802002203419480c6800041062001280204220428020c2205118080808000000d060240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d082002410c6a200110fe8d808000450d010c080b200341e080c2800041022005118080808000000d0741012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10fe8d8080000d07200228022041da80c280004102200228022428020c118080808000000d070b200128020041e280c280004101200128020428020c1180808080000021000c060b2002200041046a36020c4101210020012802002203419a80c68000410f2001280204220428020c2205118080808000000d050240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d072002410c6a200110aa87808000450d010c070b200341e080c2800041022005118080808000000d0641012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa878080000d06200228022041da80c280004102200228022428020c118080808000000d060b200128020041e280c280004101200128020428020c1180808080000021000c050b2002200041086a36020c410121002001280200220341a980c6800041092001280204220428020c2205118080808000000d040240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d062002410c6a200110828e808000450d010c060b200341e080c2800041022005118080808000000d0541012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10828e8080000d05200228022041da80c280004102200228022428020c118080808000000d050b200128020041e280c280004101200128020428020c1180808080000021000c040b2002200041106a36020c410121002001280200220341b280c6800041082001280204220428020c2205118080808000000d030240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d052002410c6a200110858d808000450d010c050b200341e080c2800041022005118080808000000d0441012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10858d8080000d04200228022041da80c280004102200228022428020c118080808000000d040b200128020041e280c280004101200128020428020c1180808080000021000c030b2002200041086a36020c410121002001280200220341ba80c6800041042001280204220428020c2205118080808000000d020240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d042002410c6a200110a987808000450d010c040b200341e080c2800041022005118080808000000d0341012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a9878080000d03200228022041da80c280004102200228022428020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021000c020b2002200041046a36020c410121002001280200220341be80c68000410a2001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110838e808000450d010c030b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10838e8080000d02200228022041da80c280004102200228022428020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021000c010b2002200041086a36020c410121002001280200220341c880c6800041072001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110818d808000450d010c020b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10818d8080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000bbf0201047f23808080800041306b22022480808080002002200028020036020c410121000240200128020022034184fbc5800041042001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110ab858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ab858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000b1200200141b8f9c58000410210b4818080000bb40202027f017e2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002903004101200110fc8080800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000bfc0701077f02400240024020002802002201418080808078470d002000280204450d02410821010c010b02402001450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b200041cc006a10a688808000200028023821020240200028023c2203450d0041002104034002402002200441f0006c6a22052802082206450d00200528020421010340024020012d0000220741034b0d002001200741027441d080c680006a2802006a2207280200450d00200741046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012006417f6a22060d000b0b02402005280200450d00200528020422012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280234450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802402201418080808078460d002001450d00200028024422012001417e6a2f00006b41002802ec82d48000118180808000000b200028025c2104024020002802602201450d002001410171210241002106024020014101460d002001417e7121052004210141002106034002402001280200450d00200141046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012005200641026a2206470d000b0b2002450d00200420064104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402000280258450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b02402000280264450d00200028026822012001417e6a2f00006b41002802ec82d48000118180808000000b20002802742104024020002802782207450d002007410171210241002106024020074101460d002004411c6a21012007417e7121054100210603400240200141686a280200450d002001416c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141286a21012005200641026a2206470d000b0b2002450d002004200641146c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402000280270450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200028027c450d0141800121010b200020016a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b0b7301017f200028020022012001280200417f6a2201360200024020010d00200010ff878080000b200028020422012001280200417f6a2201360200024020010d00200041046a1081888080000b200028020822012001280200417f6a2201360200024020010d00200041086a1082888080000b0b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b980401067f0240024002400240024002400240024002400240024020002d0000417f6a0e0a010a0203040506070a0a000b2000280204450d090c070b20002802040d060c080b20002802040d050c070b20002802040d040c060b200028020821010240200028020c2202450d0020012103034002402003280200450d00200341046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032002417f6a22020d000b0b20002802040d040c050b200028020821010240200028020c2203450d002003410171210541002102024020034101460d002003417e7121062001210341002102034002402003280200450d00200341046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032006200241026a2202470d000b0b2005450d0020012002410c6c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b20002802040d030c040b2000280208450d03200028020c21010c020b2000280204450d020b200028020821010b20012001417e6a2f00006b41002802ec82d48000118180808000000b0ba50201017f02400240024002400240024002400240024020002d0000417f6a0e0700010203040506080b20002d00044102470d072000280208450d07410c21010c060b024020002d00044102470d002000280208450d00200028020c22012001417e6a2f00006b41002802ec82d48000118180808000000b20002d00284102470d06200028022c450d06413021010c050b20002d00044102470d052000280208450d05410c21010c040b20002d00044102470d042000280208450d04410c21010c030b20002d00044102470d032000280208450d03410c21010c020b2000280204450d02410821010c010b20002d00044102470d012000280208450d01410c21010b200020016a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b0bf90303027e027f047e20022903102001ad8a2103024020014111490d00200229032020037c210402402001418002490d0020022000200120032004200229032820037c200229033020037c200229031810c3908080003703100f0b200141f00171210520002001410f716a210620022903182107024003402000200620056a22014f0d01200141786a29000020078522084220882209200041086a2900002004852204422088220a7e200842ffffffff0f832208200442ffffffff0f8322047e852008200a7e200920047e85422089852104200141706a2900002007852208422088220920002900002003852203422088220a7e200842ffffffff0f832208200342ffffffff0f8322037e852008200a7e200920037e85422089852103200041106a2100200541706a22050d000b0b200220032004853703100f0b20022903202104024002400240200141074b0d00200141034b0d012001450d02200020016a417f6a310000420886200020014101766a310000842004852104200320003100008521030c020b20002900002003852103200020016a41786a29000020048521040c010b200320003500008521032004200020016a417c6a3500008521040b200220034220882207200442208822087e200342ffffffff0f832203200442ffffffff0f8322047e85200720047e200320087e85422089853703100b4e01027f024020002802002201417f460d0020012001280204417f6a22023602042000280204410b6a4104490d0020020d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b1e00200128020041b0fbc58000410c200128020428020c118080808000000b1e00200128020041bcfbc58000410b200128020428020c118080808000000b1e00200128020041c7fbc580004105200128020428020c118080808000000b02000bd90301067f23808080800041106b22032480808080004100210402400240024002402002280204220541216a22064100480d0020022802002107024020060d002003410036020c20034280808080103702040c030b4100210841002d008083d480001a200641002802f482d480001182808080000022040d01410121040b2004200641c0fec5800010b980808000000b2004417e6a41003b00002003410036020c20032004360208200320063602042005415f490d010b200341046a410020054101410110a3868080002003280204210620032802082104200328020c21080b200420086a2007200510f4978080001a2003200820056a220536020c024020022d00084101470d0020022d00092102024020052006470d00200341046a41d0fec5800010b880808000200328020821040b200420056a20023a00002003200541016a220536020c200328020421060b0240200620056b411f4b0d00200341046a200541204101410110a386808000200328020c21050b200328020820056a22062001290000370000200041086a200541206a360200200641086a200141086a290000370000200641106a200141106a290000370000200641186a200141186a29000037000020002003290204370200200341106a2480808080000bc40506027f017e017f017e027f017e23808080800041106b22042480808080000240024002400240024002402002200141206a412010f597808000450d00200441046a2002200310958880800020042802082105200128020c450d02200129031020012802182005200428020c22021097888080002106200128020422072006a7712103200642198842ff0083428182848890a0c080017e2108200128020021094100210a03400240200920036a290000220b2008852206427f85200642fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832206500d000340024020022009410020067aa741037620036a2007716b411c6c6a2201416c6a280200470d002005200141686a280200200210f597808000450d050b2006427f7c200683220650450d000b0b200b200b4201868342808182848890a0c0807f8350450d03200a41086a220a20036a20077121030c000b0b41002103024002400240200128024822024100480d0020012802442103024020020d00410121010c030b41002d008083d480001a200241002802f482d480001182808080000022010d01410121030b2003200241a8b2c8800010b980808000000b2001417e6a41003b00000b20012003200210f49780800021012000200236020820002001360204200020023602000c040b410021032001417c6a28020041004a0d010b20004180808080783602000c010b024002400240200141786a28020022024100480d00200141746a2802002103024020020d00410121010c030b41002d008083d480001a200241002802f482d480001182808080000022010d01410121030b2003200241a8b2c8800010b980808000000b2001417e6a41003b00000b20012003200210f49780800021012000200236020820002001360204200020023602000b2004280204450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200441106a2480808080000bbe0503047e027f017e410029039083d48000210402402001450d00200141086a290000200485220542208822062001290000200042308985220042208822077e200542ffffffff0f832205200042ffffffff0f8322007e85200520077e200620007e854220898521000b410029038883d48000210520002003ad8a21000240024020034111490d00200020047c210402402003418002490d0020022003200020042000410029039883d480007c200041002903a083d480007c200510c39080800021000c020b200341f00171210120022003410f716a2108024003402002200820016a22094f0d01200941786a29000020058522064220882207200241086a2900002004852204422088220a7e200642ffffffff0f832206200442ffffffff0f8322047e852006200a7e200720047e85422089852104200941706a2900002005852206422088220720022900002000852200422088220a7e200642ffffffff0f832206200042ffffffff0f8322007e852006200a7e200720007e85422089852100200241106a2102200141706a22010d000b0b200020048521000c010b024002400240200341074b0d00200341034b0d012003450d02200220036a417f6a310000420886200220034101766a310000842004852104200020023100008521000c020b20022900002000852100200220036a41786a29000020048521040c010b200020023500008521002004200220036a417c6a3500008521040b20004220882206200442208822077e200042ffffffff0f832200200442ffffffff0f8322047e85200620047e200020077e854220898521000b200542ffffffff0f83220420032000a773ad22067e20004220882200200542208822057e85200520067e200020047e8542208985220042208822054288d5fda1027e200042ffffffff0f83220042d3918cad087e85200542d3918cad087e20004288d5fda1027e85422089850bdc0301037f23808080800041306b220524808080800041002106024002400240024002400240024020044100480d002004450d0241002d008083d480001a200441002802f482d480001182808080000022060d01410121060b2006200441a8b2c8800010b980808000000b2006417e6a41003b000020062003200410f49780800021060240024020042001280248470d0020062001280244200410f5978080002107200641002802ec82d480001181808080000020070d010c030b200641002802ec82d48000118180808000000b200541046a2003200441002802c480d480001186808080000041002d008083d480001a0240200441002802f482d48000118280808000002206450d002006417e6a41003b00000c040b4101200441a8b2c8800010b980808000000b20012802480d010b200141206a21040c020b200541046a2003410041002802c480d4800011868080800000410121060b20062003200410f49780800021032005200436022c20052003360228200520043602242001200541046a2002200541246a109988808000200541046a21040b20002004290000370000200041186a200441186a290000370000200041106a200441106a290000370000200041086a200441086a290000370000200541306a2480808080000bad0506047f017e017f017e037f027e23808080800041306b22042480808080002003280204210502400240024002400240200328020822062000280248470d0020052000280244200610f597808000450d010b200441086a2001200210958880800020002903102000280218200428020c2207200428021022011097888080002108200028020422092008a7712106200842198842ff0083428182848890a0c080017e210a200041106a210b2000280200210c4100210d024003400240200c20066a290000220e200a85220f427f85200f42fffdfbf7efdfbfff7e7c8342808182848890a0c0807f83220f500d00034002402001200c4100200f7aa741037620066a2009716b411c6c6a2202416c6a280200470d002007200241686a280200200110f597808000450d040b200f427f7c200f83220f50450d000b0b200e200e4201868342808182848890a0c0807f8350450d03200d41086a220d20066a20097121060c000b0b02402004280208450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b2002417c6a220128020022064101480d022001200641016a3602002003280200450d0320052005417e6a2f00006b41002802ec82d48000118180808000000c030b2003280200450d0220052005417e6a2f00006b41002802ec82d48000118180808000000c020b20042802082102200441286a200341086a2802003602002004200136021c20042007360218200420023602142004410136022c2004200329020037022020002008200441146a200b109a888080000c010b0240200241706a220c280200450d00200241746a28020022022002417e6a2f00006b41002802ec82d4800011818080800000200128020021060b200c20032902003702002001200641016a360200200c41086a200341086a2802003602000b200441306a2480808080000b8a0401067f23808080800041106b2204248080808000024020002802002205200028020422062001a722077122086a29000042808182848890a0c0807f8322014200520d00410821090340200820096a2108200941086a21092005200820067122086a29000042808182848890a0c0807f832201500d000b0b0240200520017aa741037620086a20067122096a2c00002208417f4c0d002005200529030042808182848890a0c0807f837aa741037622096a2d000021080b02402008410171450d0020002802080d00200441086a200041012003410110b58c8080000240200028020022052000280204220620077122086a29000042808182848890a0c0807f8322014200520d00410821090340200820096a2108200941086a21092005200820067122086a29000042808182848890a0c0807f832201500d000b0b200520017aa741037620086a20067122096a2c00002208417f4c0d002005200529030042808182848890a0c0807f837aa741037622096a2d000021080b200520096a200741197622073a00002005200941786a2006716a41086a20073a00002000200028020820084101716b3602082000200028020c41016a36020c2005410020096b411c6c6a41646a220941186a200241186a280200360200200941106a200241106a290200370200200941086a200241086a29020037020020092002290200370200200441106a2480808080000bc70404037e017f037e047f0240200028020c0d0041000f0b410029039083d480002102410029038883d48000210320002903102104024020002802182205450d00200541086a290000200285220642208822072005290000200442308985220442208822087e200642ffffffff0f832206200442ffffffff0f8322047e85200620087e200720047e854220898521040b2000280204220920012900082004422089220420027c85220242208822062001290018200385220742208822087e200242ffffffff0f832202200742ffffffff0f8322077e85200620077e200220087e85422089852001290000200485220442ffffffff0f8322022001290010200385220342ffffffff0f8322067e8520044220882204200342208822037e85200420067e200220037e8542208985220442208822034288d5fda1027e200442ffffffff0f83220442d3918cad087e85200342d3918cad087e20044288d5fda1027e85422088852204a7712105200442198842ff0083428182848890a0c080017e21022000280200220a41506a21004100210b0240024003400240200a20056a29000022032002852204427f85200442fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832204500d00034020012000410020047aa741037620056a2009716b220c41306c6a412010f597808000450d032004427f7c200483220450450d000b0b0240200320034201868342808182848890a0c0807f83500d00410021050c030b200b41086a220b20056a20097121050c000b0b200a200c41306c6a21050b200541506a410020051b0bb80201047f23808080800041a0026b2201248080808000200028020028020c2802082202200228020441016a22033602044100210402400240200320022802084b0d002000417f200028020422024190016a220320032002491b2202360204200220002802084f0d0041002d008083d480001a41980141002802f482d48000118280808000002202450d0120022002410f6a41707120026b22036a2204417e6a220220033b00002001200010fd85808000024020012802004108470d00200420022f00006b210041002104200041002802ec82d48000118180808000000c010b20014190016a200141900110f4978080001a200420014190016a41900110f4978080001a200028020028020c28020822002000280204417f6a3602040b200141a0026a24808080800020040f0b411041900110ab80808000000be10201017f02400240024020022001280200280200220441206a412010f597808000450d00418080808078210120042002109b8880800022020d010c020b4100210202400240200428024822014100480d0020042802442104024020010d004101210241012004200110f4978080001a0c040b41002d008083d480001a200141002802f482d480001182808080000022020d01410121020b2002200141a8b2c8800010b980808000000b2002417e6a41003b000020022004200110f4978080001a0c010b0240200228022c41014e0d000c010b41002104024002400240200228022822014100480d0020022802242104024020010d00410121020c030b41002d008083d480001a200141002802f482d480001182808080000022020d01410121040b2004200141a8b2c8800010b980808000000b2002417e6a41003b00000b20022004200110f4978080001a0b2000200136020820002002360204200020013602000bde0201017f02400240024020022001280200220441206a412010f597808000450d00418080808078210120042002109b8880800022020d010c020b4100210202400240200428024822014100480d0020042802442104024020010d004101210241012004200110f4978080001a0c040b41002d008083d480001a200141002802f482d480001182808080000022020d01410121020b2002200141a8b2c8800010b980808000000b2002417e6a41003b000020022004200110f4978080001a0c010b0240200228022c41014e0d000c010b41002104024002400240200228022822014100480d0020022802242104024020010d00410121020c030b41002d008083d480001a200141002802f482d480001182808080000022020d01410121040b2004200141a8b2c8800010b980808000000b2002417e6a41003b00000b20022004200110f4978080001a0b2000200136020820002002360204200020013602000be30201017f024002402002200141206a412010f597808000450d00024020012002109b888080002201450d0041002104200128022c41004a0d020b20004180808080783602000f0b41002104024002400240200128024822024100480d0020012802442104024020020d00410121010c030b41002d008083d480001a200241002802f482d480001182808080000022010d01410121040b2004200241a8b2c8800010b980808000000b2001417e6a41003b00000b20012004200210f49780800021012000200236020820002001360204200020023602000f0b024002400240200128022822024100480d0020012802242104024020020d00410121010c030b41002d008083d480001a200241002802f482d480001182808080000022010d01410121040b2004200241a8b2c8800010b980808000000b2001417e6a41003b00000b20012004200210f49780800021012000200236020820002001360204200020023602000b350002402001200041206a412010f5978080000d0041010f0b024020002001109b8880800022000d0041000f0b200028022c41004a0bd71d01047f23808080800041306b2202248080808000024002400240024002400240024002400240024002400240024002400240024020002d00000e0f000102030405060708090a0b0c0d0e000b200128020041c5fcc58000410c200128020428020c1180808080000021030c0e0b410121032002200041016a36020c2001280200220041e4fcc5800041092001280204220428020c2205118080808000000d0d0240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0f2002410c6a200110f08f808000450d010c0f0b200041e080c2800041022005118080808000000d0e41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d0e200228022041da80c280004102200228022428020c118080808000000d0e0b200128020041e280c280004101200128020428020c1180808080000021030c0d0b410121032002200041016a36020c2001280200220041edfcc5800041112001280204220428020c2205118080808000000d0c0240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0e2002410c6a200110f08f808000450d010c0e0b200041e080c2800041022005118080808000000d0d41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d0d200228022041da80c280004102200228022428020c118080808000000d0d0b200128020041e280c280004101200128020428020c1180808080000021030c0c0b410121032002200041016a36020c200128020022004184fbc5800041042001280204220428020c2205118080808000000d0b0240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0d2002410c6a200110f08f808000450d010c0d0b200041e080c2800041022005118080808000000d0c41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d0c200228022041da80c280004102200228022428020c118080808000000d0c0b200128020041e280c280004101200128020428020c1180808080000021030c0b0b410121032002200041016a36020c2001280200220041fefcc58000410e2001280204220428020c2205118080808000000d0a0240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0c2002410c6a200110f08f808000450d010c0c0b200041e080c2800041022005118080808000000d0b41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d0b200228022041da80c280004102200228022428020c118080808000000d0b0b200128020041e280c280004101200128020428020c1180808080000021030c0a0b410121032002200041016a36020c20012802002200418cfdc5800041122001280204220428020c2205118080808000000d090240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0b2002410c6a200110f08f808000450d010c0b0b200041e080c2800041022005118080808000000d0a41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d0a200228022041da80c280004102200228022428020c118080808000000d0a0b200128020041e280c280004101200128020428020c1180808080000021030c090b410121032002200041016a36020c20012802002200419efdc5800041062001280204220428020c2205118080808000000d080240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0a2002410c6a200110f08f808000450d010c0a0b200041e080c2800041022005118080808000000d0941012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d09200228022041da80c280004102200228022428020c118080808000000d090b200128020041e280c280004101200128020428020c1180808080000021030c080b410121032002200041016a36020c2001280200220041a4fdc58000410a2001280204220428020c2205118080808000000d070240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d092002410c6a200110f08f808000450d010c090b200041e080c2800041022005118080808000000d0841012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d08200228022041da80c280004102200228022428020c118080808000000d080b200128020041e280c280004101200128020428020c1180808080000021030c070b410121032002200041016a36020c2001280200220041aefdc5800041232001280204220428020c2205118080808000000d060240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d082002410c6a200110f08f808000450d010c080b200041e080c2800041022005118080808000000d0741012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d07200228022041da80c280004102200228022428020c118080808000000d070b200128020041e280c280004101200128020428020c1180808080000021030c060b410121032002200041016a36020c2001280200220041d1fdc5800041172001280204220428020c2205118080808000000d050240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d072002410c6a200110f08f808000450d010c070b200041e080c2800041022005118080808000000d0641012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d06200228022041da80c280004102200228022428020c118080808000000d060b200128020041e280c280004101200128020428020c1180808080000021030c050b410121032002200041016a36020c2001280200220041e8fdc5800041162001280204220428020c2205118080808000000d040240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d062002410c6a200110f08f808000450d010c060b200041e080c2800041022005118080808000000d0541012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d05200228022041da80c280004102200228022428020c118080808000000d050b200128020041e280c280004101200128020428020c1180808080000021030c040b2002200041016a36022020014190fec58000410b200041046a4180fec58000200041086a4180fec58000200241206a41d4fcc5800010ba8180800021030c030b410121032002200041016a36020c20012802002200419bfec5800041082001280204220428020c2205118080808000000d020240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d042002410c6a200110f08f808000450d010c040b200041e080c2800041022005118080808000000d0341012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d03200228022041da80c280004102200228022428020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021030c020b410121032002200041016a36020c2001280200220041a3fec58000410b2001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d032002410c6a200110f08f808000450d010c030b200041e080c2800041022005118080808000000d0241012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d02200228022041da80c280004102200228022428020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021030c010b410121032002200041016a36020c2001280200220041aefec58000410f2001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d022002410c6a200110f08f808000450d010c020b200041e080c2800041022005118080808000000d0141012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10f08f8080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021030b200241306a24808080800020030b820307027f017e027f017e027f027e017f2001290310200128021820022802042203200228020822041097888080002105200128020422062005a7712107200542198842ff0083428182848890a0c080017e2108200128020021094100210a02400240024003400240200920076a290000220b200885220c427f85200c42fffdfbf7efdfbfff7e7c8342808182848890a0c0807f83220c500d0003400240200420094100200c7aa741037620076a2006716b411c6c6a220d416c6a280200470d002003200d41686a280200200410f597808000450d040b200c427f7c200c83220c50450d000b0b200b200b4201868342808182848890a0c0807f8350450d02200a41086a220a20076a20067121070c000b0b200020013602142000200d36021020002005370308200042003703002002280200450d0120032003417e6a2f00006b41002802ec82d48000118180808000000f0b2000200136021c200020053703082000420137030020002002290200370210200041186a200241086a2802003602000b0b9d090b017f027e037f017e027f017e097f017e027f017e017f23808080800041206b22022480808080004100410035028483d4800042c4e6c11b852002ad22037e200342ae94e698017e4220898522033e028483d480002003422088220442a2f0a4a00a7e200342ffffffff0f83220342d0e3fccc027e85200442d0e3fccc027e200342a2f0a4a00a7e85422089852103024041002d00a883d480004102460d0010c2908080000b20012003370310200128020421052001280200210620014100290380e7c58000370300200128020c2107200141086a4100290388e7c58000370300200141b883d48000410041002d00c883d480004102461b3602180240024020050d00420021080c010b20062005411c6c41236a41787122096bad422086200520096a41096aad8421080b02402007450d00200641086a210a2006290300427f8542808182848890a0c0807f83210b200041106a210c03400240200b4200520d000340200641a07e6a2106200a2903002103200a41086a2209210a200342808182848890a0c0807f83220342808182848890a0c0807f510d000b200342808182848890a0c0807f85210b2009210a0b4100210d20064100200b7aa74103766b411c6c6a220941786a280200210e200941746a280200210f200941706a2802002110200941646a28020021112009417c6a280200211220002903102000280218200941686a28020022132009416c6a28020022141097888080002115200028020422162015a7712117201542198842ff0083428182848890a0c080017e21182007417f6a2107200b427f7c200b83210b2000280200211902400240024003400240201920176a29000022042018852203427f85200342fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832203500d000340024020142019410020037aa741037620176a2016716b411c6c6a2209416c6a280200470d002013200941686a280200201410f597808000450d040b2003427f7c200383220350450d000b0b200420044201868342808182848890a0c0807f8350450d02200d41086a220d20176a20167121170c000b0b02402011450d0020132013417e6a2f00006b41002802ec82d48000118180808000000b2009417c6a22142802002217417f4a0d010240200941706a2219280200450d00200941746a28020022172017417e6a2f00006b41002802ec82d4800011818080800000201428020021170b20192010360200200941786a200e360200200941746a200f3602002014201720126a36020020070d020c030b200220123602182002200e3602142002200f3602102002201036020c200220143602082002201336020420022011360200200020152002200c109a8880800020070d010c020b2014201720126a36020002402010450d00200f200f417e6a2f00006b41002802ec82d48000118180808000000b20070d000b0b200141106a210902402005450d00200842ffffffff0f83500d002008422088a722142014417e6a2f00006b41002802ec82d48000118180808000000b20012009411c410810ae8c80800002402001280240450d00200128024422092009417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000bfe0202047f017e23808080800041306b2202248080808000200241086a200110ce84808000024002402002280208410171450d00200041013602000c010b200228020c2103200128020028020c2802082204200428020441016a22053602040240200520042802084d0d00200041013602000c010b0240024020030d00410021040c010b02402003410a4f0d00418c0121040c010b417f2003410a6ead42bc017e2206a72006422088a71b21040b2001417f2001280204220520046a220420042005491b2204360204024020042001280208490d00200041013602000c010b200241003a00132002200336022820024100360224200220013602202002200241136a36022c200241146a200241206a10a588808000410121040240024020022d00134101470d00200241146a10a6888080000c010b200020022902143702042000410c6a2002411c6a280200360200410021040b20002004360200200128020028020c28020822012001280204417f6a3602040b200241306a2480808080000baa0302057f017e23808080800041c0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a418c91c6800010ca8f80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c2101024020034101460d00024020034115490d00200120032002413f6a10d1888080000c010b2001200341012002413f6a1082908080000b2002280208210441002d008083d480001a0240418c0141002802f482d480001182808080000022050d004104418c0110ab80808000000b2005200541036a417c7120056b22066a220541003b018a01200541003602002005417e6a20063b000020022005360214200241003602182002410036021c200220012003410c6c6a36023820022004360234200220013602302002200136022c2002418180808078360220200241146a200241206a2002411c6a10cb83808000200229021421072000200228021c360208200020073702000b200241c0006a2480808080000bd10501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a2100200128028c0121012005417f6a22050d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200041786a22000d000b0b20012100410021020b024002400240200220002f018a014f0d0020022105200021010c010b034020002802002201450d0220002f018801210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f018a014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4190016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a2106200028028c0121002004417f6a22040d000b0b20074107490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200641786a22060d000b0b024020012005410c6c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a2104200028028c0121002005417f6a22050d000b0b20024108490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b034020002000417e6a2f00006b210120002802002100200141002802ec82d480001181808080000020000d000b0b0ba60301057f23808080800041206b220224808080800002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0403020100030b200641044f0d0420034105490d0420012003417b6a3602042001200541056a36020020052800012203418080808004490d040c050b20034104490d0320012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d03200341087420067241027621030c040b20040d010c020b200641027621030c020b20012003417e6a3602042001200541026a36020020052d00012203450d00200341087420067241027621030c010b200041013602000c010b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10a888808000410121010240024020022d00034101470d00200241046a10a6888080000c010b200020022902043702042000410c6a2002410c6a280200360200410021010b200020013602000b200241206a2480808080000baa0302057f017e23808080800041c0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a418c91c6800010cc8f80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c2101024020034101460d00024020034115490d00200120032002413f6a10d1888080000c010b2001200341012002413f6a1082908080000b2002280208210441002d008083d480001a0240418c0141002802f482d480001182808080000022050d004104418c0110ab80808000000b2005200541036a417c7120056b22066a220541003b018a01200541003602002005417e6a20063b000020022005360214200241003602182002410036021c200220012003410c6c6a36023820022004360234200220013602302002200136022c2002418180808078360220200241146a200241206a2002411c6a10cb83808000200229021421072000200228021c360208200020073702000b200241c0006a2480808080000baa0302057f017e23808080800041c0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a418c91c6800010d48f80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c2101024020034101460d00024020034115490d00200120032002413f6a10d1888080000c010b2001200341012002413f6a1082908080000b2002280208210441002d008083d480001a0240418c0141002802f482d480001182808080000022050d004104418c0110ab80808000000b2005200541036a417c7120056b22066a220541003b018a01200541003602002005417e6a20063b000020022005360214200241003602182002410036021c200220012003410c6c6a36023820022004360234200220013602302002200136022c2002418180808078360220200241146a200241206a2002411c6a10cb83808000200229021421072000200228021c360208200020073702000b200241c0006a2480808080000b830501097f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110dc8480800002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a2105200428028c0121042000417f6a22000d000b0b20074108490d010340200428028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012104200541786a22050d000c020b0b20064101710d01418892c6800010a081808000000b2004210541002104410021070b02400240024002400240200720052f018a014f0d0020052100200721080c010b034020052802002200450d02200441016a210420052f018801210820002105200820002f018a014f0d000b0b20040d01200841016a2107200021050c020b41f891c6800010a081808000000b200020084102746a4190016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a2109200528028c0121052004417f6a22040d000b0b200a4107490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200941786a22090d000b0b20002008410c6c6a220428020821082002200428020c22043602082002200241086a36020c2002410c6a200110dc84808000024020042001280200200128020822006b4d0d0020012000200410f491808000200128020821000b200128020420006a2008200410f4978080001a2001200020046a360208410021042003417f6a22030d000b0b200241106a2480808080000ba60301057f23808080800041206b220224808080800002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0403020100030b200641044f0d0420034105490d0420012003417b6a3602042001200541056a36020020052800012203418080808004490d040c050b20034104490d0320012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d03200341087420067241027621030c040b20040d010c020b200641027621030c020b20012003417e6a3602042001200541026a36020020052d00012203450d00200341087420067241027621030c010b200041013602000c010b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10ac88808000410121010240024020022d00034101470d00200241046a10ad888080000c010b200020022902043702042000410c6a2002410c6a280200360200410021010b200020013602000b200241206a2480808080000ba70301057f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a418c91c6800010cd8f80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020422012001417e6a2f00006b41002802ec82d48000118180808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a10d2888080000c010b200120034101200241186a10fd8f8080000b2002280200210441002d008083d480001a0240418c0141002802f482d480001182808080000022050d004104418c0110ab80808000000b2005200541036a417c7120056b22066a220541003b018a01200541003602582005417e6a20063b00002002200536020c2002410036021020024100360214200220012003410c6c6a360234200220043602302002200136022c20022001360228200241023602182002410c6a200241186a200241146a10c783808000200020022802143602082000200229020c3702000b200241c0006a2480808080000b970501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a2100200128028c0121012004417f6a22040d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200041786a22000d000b0b20012104410021020b024002400240200220042f018a014f0d00200421000c010b034020042802582200450d0220042f018801210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f018a014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a4190016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a2104200028028c0121002005417f6a22050d000b0b20014107490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a2104200028028c0121002005417f6a22050d000b0b20024108490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b034020002000417e6a2f00006b210420002802582100200441002802ec82d480001181808080000020000d000b0b0ba60301057f23808080800041206b220224808080800002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0403020100030b200641044f0d0420034105490d0420012003417b6a3602042001200541056a36020020052800012203418080808004490d040c050b20034104490d0320012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d03200341087420067241027621030c040b20040d010c020b200641027621030c020b20012003417e6a3602042001200541026a36020020052d00012203450d00200341087420067241027621030c010b200041013602000c010b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10af88808000410121010240024020022d00034101470d00200241046a10b0888080000c010b200020022902043702042000410c6a2002410c6a280200360200410021010b200020013602000b200241206a2480808080000bab0301057f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a418c91c6800010d28f80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020422012001417e6a2f00006b41002802ec82d48000118180808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a10d7888080000c010b200120034101200241186a1081908080000b2002280200210441002d008083d480001a024041e40141002802f482d480001182808080000022050d00410441e40110ab80808000000b2005200541036a417c7120056b22066a220541003b01e201200541003602582005417e6a20063b00002002200536020c200241003602102002410036021420022001200341146c6a36023820022004360234200220013602302002200136022c20024181808080783602202002410c6a200241186a200241146a10c883808000200020022802143602082000200229020c3702000b200241c0006a2480808080000bd20501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802e40121012005417f6a22050d000b0b20024108490d00034020012802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012101200041786a22000d000b0b20012100410021020b024002400240200220002f01e2014f0d0020022105200021010c010b034020002802582201450d0220002f01e001210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f01e2014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a41e8016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802e40121002004417f6a22040d000b0b20074107490d00034020002802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012100200641786a22060d000b0b024020012005410c6c6a220128025c450d00200141dc006a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802e40121002005417f6a22050d000b0b20024108490d00034020002802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012100200441786a22040d000b0b034020002000417e6a2f00006b210120002802582100200141002802ec82d480001181808080000020000d000b0b0ba60301057f23808080800041206b220224808080800002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0403020100030b200641044f0d0420034105490d0420012003417b6a3602042001200541056a36020020052800012203418080808004490d040c050b20034104490d0320012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d03200341087420067241027621030c040b20040d010c020b200641027621030c020b20012003417e6a3602042001200541026a36020020052d00012203450d00200341087420067241027621030c010b200041013602000c010b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10b288808000410121010240024020022d00034101470d00200241046a10b3888080000c010b200020022902043702042000410c6a2002410c6a280200360200410021010b200020013602000b200241206a2480808080000bac0301057f23808080800041e0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a418c91c6800010d58f80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c21012002200241df006a360220024020034101460d00024020034115490d0020012003200241206a10d6888080000c010b200120034101200241206a10fe8f8080000b2002280208210441002d008083d480001a024041940341002802f482d480001182808080000022050d00410441940310ab80808000000b2005200541036a417c7120056b22066a220541003b019203200541003602e0022005417e6a20063b000020022005360214200241003602182002410036021c20022001200341246c6a360254200220043602502002200136024c2002200136024820024102360220200241146a200241206a2002411c6a10c9838080002000200228021c360208200020022902143702000b200241e0006a2480808080000b990501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802940321012004417f6a22040d000b0b20024108490d000340200128029403280294032802940328029403280294032802940328029403280294032101200041786a22000d000b0b20012104410021020b024002400240200220042f0192034f0d00200421000c010b034020042802e0022200450d0220042f019003210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f0192034f0d000b0b0240024020050d00200241016a21020c010b200020024102746a4198036a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802940321002005417f6a22050d000b0b20014107490d000340200028029403280294032802940328029403280294032802940328029403280294032100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802940321002005417f6a22050d000b0b20024108490d000340200028029403280294032802940328029403280294032802940328029403280294032100200441786a22040d000b0b034020002000417e6a2f00006b210420002802e0022100200441002802ec82d480001181808080000020000d000b0b0ba60301057f23808080800041206b220224808080800002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0403020100030b200641044f0d0420034105490d0420012003417b6a3602042001200541056a36020020052800012203418080808004490d040c050b20034104490d0320012003417c6a3602042001200541046a36020020052f0001200541036a2d000041107472220341ff014d0d03200341087420067241027621030c040b20040d010c020b200641027621030c020b20012003417e6a3602042001200541026a36020020052d00012203450d00200341087420067241027621030c010b200041013602000c010b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10b588808000410121010240024020022d00034101470d00200241046a10b6888080000c010b200020022902043702042000410c6a2002410c6a280200360200410021010b200020013602000b200241206a2480808080000bab0301057f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a418c91c6800010cb8f80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020422012001417e6a2f00006b41002802ec82d48000118180808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a10d5888080000c010b200120034101200241186a1083908080000b2002280200210441002d008083d480001a024041b80141002802f482d480001182808080000022050d00410441b80110ab80808000000b2005200541036a417c7120056b22066a220541003b01b601200541003602002005417e6a20063b00002002200536020c20024100360210200241003602142002200120034104746a360234200220043602302002200136022c20022001360228200241818080807836021c2002410c6a200241186a200241146a10cc83808000200020022802143602082000200229020c3702000b200241c0006a2480808080000bbb0701097f024020002802002201450d0020002802042102024002400240200028020822030d00200121000c010b4100210002400340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802b80121012005417f6a22050d000b0b20024108490d00034020012802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012101200041786a22000d000b0b20012100410021020b024002400240200220002f01b6014f0d0020022105200021010c010b034020002802002201450d0220002f01b401210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f01b6014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a41bc016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802b80121002004417f6a22040d000b0b20074107490d00034020002802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012100200641786a22060d000b0b20012005410c6c6a220141306a2107024020012802382205450d00200128023421082005410171210941002104024020054101460d002005417e7121064100210420082101034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012006200441026a2204470d000b0b2009450d00200820044104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402007280200450d00200728020422012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a2203450d020c010b0b20002000417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b20000d01410021000b2002450d0002400240200241077122040d00200221010c010b2002210103402001417f6a210120002802b80121002004417f6a22040d000b0b20024108490d00034020002802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012100200141786a22010d000b0b034020002000417e6a2f00006b210120002802002100200141002802ec82d480001181808080000020000d000b0b0bf405010a7f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110dc8480800002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a2105200428028c0121042000417f6a22000d000b0b20074108490d010340200428028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012104200541786a22050d000c020b0b20064101710d01418892c6800010a081808000000b2004210541002104410021070b02400240024002400240200720052f018a014f0d0020052100200721080c010b034020052802582200450d02200441016a210420052f018801210820002105200820002f018a014f0d000b0b20040d01200841016a2107200021050c020b41f891c6800010a081808000000b200020084102746a4190016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a2109200528028c0121052004417f6a22040d000b0b200a4107490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200941786a22090d000b0b200020084103746a2109200020084102746a28025c210002402001280200200128020822046b41034b0d0020012004410410f491808000200128020821040b200128020420046a20003600002001200441046a22043602082009280200210b02402001280200220820046b41034b0d0020012004410410f49180800020012802002108200128020821040b2001200441046a22003602082001280204220a20046a200b360000200928020421040240200820006b41034b0d0020012000410410f4918080002001280204210a200128020821000b2001200041046a360208200a20006a2004360000410021042003417f6a22030d000b0b200241106a2480808080000bd50501097f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110dc8480800002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a210520042802e40121042000417f6a22000d000b0b20074108490d01034020042802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012104200541786a22050d000c020b0b20064101710d01418892c6800010a081808000000b2004210541002104410021070b02400240024002400240200720052f01e2014f0d0020052100200721080c010b034020052802582200450d02200441016a210420052f01e001210820002105200820002f01e2014f0d000b0b20040d01200841016a2107200021050c020b41f891c6800010a081808000000b200020084102746a41e8016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a210920052802e40121052004417f6a22040d000b0b200a4107490d00034020052802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012105200941786a22090d000b0b200020084103746a210920002008410c6c6a41dc006a210002402001280200200128020822046b41074b0d0020012004410810f491808000200128020821040b2001200441086a360208200128020420046a2009290000370000200028020421082002200028020822043602082002200241086a36020c2002410c6a200110dc84808000024020042001280200200128020822006b4d0d0020012000200410f491808000200128020821000b200128020420006a2008200410f4978080001a2001200020046a360208410021042003417f6a22030d000b0b200241106a2480808080000b870603057f017e017f23808080800041d0006b2201248080808000200141286a41c781c68000410810c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418c83808000360238200242fadefdbfd8c483f821370330200242eccaa8be8cb9a691ff0037032820024101360224200241d081c68000360220200241c580808000360218200242cdd1c1cbe3b5a3c444370310200242b9e0ddc2f1d2dbbf4c37030820024101360204200241cf81c680003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a2001411c6a220241086a28020036020020012002290200370300200128021021042001280214210320012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242fafaa99bd4c9939cab7f3703002002410036023020024280808080c00037032820024100360220200241003602182002418d83808000360210200242bfe0a5c0a1acfab28c7f3703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002007418080808078460d012001200436021820012003360210200120033602142001200320054105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000be70503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418381808000360218200242acf6debeefe0d9c8d300370310200242efc9c9edb5e7b3a6c70037030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c6800041041089848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be60503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241ed8080800036021820024296e397c6bfa5aeee46370310200242aceff0b4f2bd8f8fe40037030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c6800041041080848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be60503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bc80808000360218200242ec8ca7e0e2f0c7e6bf7f370310200242e6e2dea393f0baf43a37030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c68000410410e5838080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be60503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a22024190818080003602182002429091d8d1efb08fcfac7f37031020024293e9bbb0a4a897e10937030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c68000410410a0848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be50503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418181808000360218200242eef8e7b09dc4b6b53f370310200242bbeefa98e893a7ad0237030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c68000410410ba848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be50503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418681808000360218200242d992b6b99794ddc84b370310200242d99be088f9e680c06937030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c680004104108d848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be60503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202419581808000360218200242eeb2b382fcbac9a41a37031020024285ded1bd85cbe2dc8b7f37030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c68000410410b4848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be60503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241eb8080800036021820024298a593acd1ceffcb9c7f3703102002429e8eaae68bb9afc65137030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c68000410410f6838080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be50503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc1337030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c68000410410e8838080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be60503067f017e027f23808080800041d0006b2201248080808000200141286a41d181c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418b81808000360218200242cff88daa9586998651370310200242c3ffb3a5afef9985857f37030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a418c90c3800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c200241d881c68000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41dc81c6800041041098848080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000bac0403067f017e017f23808080800041306b220224808080800002400240024020012802142203200128021022044f0d00200128020c2105024002400340200520036a2d0000220641776a220741174b0d014101200774419380800471450d012001200341016a220336021420042003470d000b42002108200421030c010b42800221080b20082006ad42108684428082b803510d010b200241106a2001410310a28b80800002402002280224418180808078470d002000418280808078360214200020022802103602000c020b20002002290310370300200041086a2002290318370300200041186a200241106a41186a290300370300200041106a200241106a41106a2903003703000c010b2001200341016a220736021420072004200720044b1b2109200128020c210502400240200720044f0d002001200341026a220636021402400240200520076a2d000041f500470d0020062009460d022001200341036a22073602140240200520066a2d000041ec00460d00200721060c010b20072009460d022001200341046a2206360214200520076a2d000041ec00460d010b20024109360210200241086a200520042006108793808000200241106a2002280208200228020c10f59280800021030c020b20004181808080783602140c020b200241053602102002200520042009108793808000200241106a2002280200200228020410f59280800021030b2000418280808078360214200020033602000b200241306a2480808080000baa0403067f017e017f23808080800041c0006b220224808080800002400240024020012802142203200128021022044f0d00200128020c2105024002400340200520036a2d0000220641776a220741174b0d014101200774419380800471450d012001200341016a220336021420042003470d000b42002108200421030c010b42800221080b20082006ad42108684428082b803510d010b2002411c6a200110a48d808000024020022d001c4101470d0020002002280220360204200041013a00000c020b2000200229001d370002200041013a00012000411a6a200241356a290000370000200041126a2002412d6a2900003700002000410a6a200241256a290000370000200041003a00000c010b2001200341016a220736021420072004200720044b1b2109200128020c210502400240200720044f0d002001200341026a220636021402400240200520076a2d000041f500470d0020062009460d022001200341036a22073602140240200520066a2d000041ec00460d00200721060c010b20072009460d022001200341046a2206360214200520076a2d000041ec00460d010b2002410936021c200241106a2005200420061087938080002002411c6a2002280210200228021410f59280800021030c020b200041003b01000c020b2002410536021c200241086a2005200420091087938080002002411c6a2002280208200228020c10f59280800021030b200041013a0000200020033602040b200241c0006a2480808080000b8a0403067f017e017f23808080800041206b220224808080800002400240024020012802142203200128021022044f0d00200128020c2105024002400340200520036a2d0000220641776a220741174b0d014101200774419380800471450d012001200341016a220336021420042003470d000b42002108200421030c010b42800221080b20082006ad42108684428082b803510d010b200241146a200110ab8a80800002402002280214418080808078470d002000200228021836020420004181808080783602000c020b20002002290214370200200041086a200241146a41086a2802003602000c010b2001200341016a220736021420072004200720044b1b2109200128020c210502400240200720044f0d002001200341026a220636021402400240200520076a2d000041f500470d0020062009460d022001200341036a22073602140240200520066a2d000041ec00460d00200721060c010b20072009460d022001200341046a2206360214200520076a2d000041ec00460d010b20024109360214200241086a200520042006108793808000200241146a2002280208200228020c10f59280800021030c020b20004180808080783602000c020b200241053602142002200520042009108793808000200241146a2002280200200228020410f59280800021030b2000418180808078360200200020033602040b200241206a2480808080000baf0503067f017e017f23808080800041d0006b2201248080808000200141286a41e081c68000410e418483c6800041294104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b5928080002001280214220242e0faa999f589aae1583703002002420437022c20024203370224200241889cc38000360220200241003602182002418e83808000360210200242f484c384a886c5e1d9003703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000ba40401077f0240024002400240200128022022020d00410021020c010b20012002417f6a36022002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac1421022004417f6a22040d000b0b20034108490d00034020022802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d020b2001280208210302400240200128020c2204200128020422052f01aa144f0d00200521020c010b034020052802a0132202450d04200341016a210320052f01a814210420022105200420022f01aa144f0d000b0b0240024020030d00200441016a2106200221050c010b200220044102746a41b0146a2802002105410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720052802ac1421052003417f6a22030d000b0b20084107490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200741786a22070d000b0b2001200636020c20014100360208200120053602042002200441e0016c6a210520022004410c6c6a41a4136a21020b20002005360204200020023602000f0b41f482c6800010a081808000000b419c8fc3800010a081808000000bd30601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802e40c21022004417f6a22040d000b0b20034108490d00034020022802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2102200541786a22050d000b0b034020022002417e6a2f00006b21052002280288022102200541002802ec82d480001181808080000020020d000b0b20004180808080783602000f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802e40c21022004417f6a22040d000b0b20034108490d00034020022802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082103024002400240200128020c2204200128020422022f01e20c4f0d00200221050c010b03402002280288022205450d0220022f01e00c210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01e20c4f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41e80c6a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802e40c21022003417f6a22030d000b0b20084107490d00034020022802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2102200741786a22070d000b0b2001200636020c200141003602082001200236020420002005200441186c6a2202290200370200200041086a200241086a290200370200200041106a200241106a290200370200200041186a2005200441fc006c6a418c026a41fc0010f4978080001a0f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000bc10601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac0921022004417f6a22040d000b0b20034108490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200541786a22050d000b0b034020022002417e6a2f00006b210520022802a0082102200541002802ec82d480001181808080000020020d000b0b20004180808080783602000f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac0921022004417f6a22040d000b0b20034108490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082103024002400240200128020c2204200128020422022f01aa094f0d00200221050c010b034020022802a0082205450d0220022f01a809210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01aa094f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41b0096a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802ac0921022003417f6a22030d000b0b20084107490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200741786a22070d000b0b2001200636020c2001410036020820012002360204200020052004410c6c6a22022902a408370200200041086a200241ac086a2802003602002000410c6a2005200441e0006c6a41e00010f4978080001a0f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000bc10601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac1421022004417f6a22040d000b0b20034108490d00034020022802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142102200541786a22050d000b0b034020022002417e6a2f00006b210520022802a0132102200541002802ec82d480001181808080000020020d000b0b20004180808080783602000f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac1421022004417f6a22040d000b0b20034108490d00034020022802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082103024002400240200128020c2204200128020422022f01aa144f0d00200221050c010b034020022802a0132205450d0220022f01a814210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01aa144f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41b0146a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802ac1421022003417f6a22030d000b0b20084107490d00034020022802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142102200741786a22070d000b0b2001200636020c2001410036020820012002360204200020052004410c6c6a22022902a413370200200041086a200241ac136a2802003602002000410c6a2005200441e0016c6a41e00110f4978080001a0f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000bc10601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802900221022004417f6a22040d000b0b20034108490d000340200228029002280290022802900228029002280290022802900228029002280290022102200541786a22050d000b0b034020022002417e6a2f00006b210520022802002102200541002802ec82d480001181808080000020020d000b0b20004180808080783602000f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802900221022004417f6a22040d000b0b20034108490d000340200228029002280290022802900228029002280290022802900228029002280290022102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082104024002400240200128020c2203200128020422022f018e024f0d00200221050c010b034020022802002205450d0220022f018c02210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f018e024f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a4194026a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a210720022802900221022004417f6a22040d000b0b20084107490d000340200228029002280290022802900228029002280290022802900228029002280290022102200741786a22070d000b0b2001200636020c2001410036020820012002360204200020052003410c6c6a2202290204370200200020022902880137020c200041086a2002410c6a280200360200200041146a20024190016a2802003602000f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000bb70601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802900221022004417f6a22040d000b0b20034108490d000340200228029002280290022802900228029002280290022802900228029002280290022102200541786a22050d000b0b034020022002417e6a2f00006b21052002280288022102200541002802ec82d480001181808080000020020d000b0b20004180808080783602000f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802900221022004417f6a22040d000b0b20034108490d000340200228029002280290022802900228029002280290022802900228029002280290022102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082104024002400240200128020c2203200128020422022f018e024f0d00200221050c010b03402002280288022205450d0220022f018c02210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f018e024f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a4194026a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a210720022802900221022004417f6a22040d000b0b20084107490d000340200228029002280290022802900228029002280290022802900228029002280290022102200741786a22070d000b0b2001200636020c200141003602082001200236020420002005200341186c6a2202290200370200200041086a200241086a290200370200200041106a200241106a2902003702000f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b960601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802f80621022004417f6a22040d000b0b20034108490d00034020022802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062102200541786a22050d000b0b034020022002417e6a2f00006b210520022802f0062102200541002802ec82d480001181808080000020020d000b0b200041023a004c0f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802f80621022004417f6a22040d000b0b20034108490d00034020022802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082104024002400240200128020c2203200128020422022f01f6064f0d00200221050c010b034020022802f0062205450d0220022f01f406210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f01f6064f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a41fc066a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a210720022802f80621022004417f6a22040d000b0b20084107490d00034020022802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062102200741786a22070d000b0b2001200636020c200141003602082001200236020420002005200341d0006c6a41d00010f4978080001a0f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b880302047f017e23808080800041d0006b2203248080808000200320012002418c91c6800010d78f80800002400240200328020822040d0020004100360208200041003602002003280200450d01200328020422002000417e6a2f00006b41002802ec82d48000118180808000000c010b20032802042102024020044101460d00024020044115490d0020022004200341cf006a10d0888080000c010b200220044101200341cf006a10ff8f8080000b2003280200210541002d008083d480001a024041e80241002802f482d480001182808080000022010d00410441e80210ab80808000000b2001200141036a417c7120016b22066a220141003b01e602200141003602e0022001417e6a20063b00002003200136020c2003410036021020034100360214200341023a00282003200220044105746a360224200320053602202003200236021c200320023602182003410c6a200341186a200341146a10ca83808000200329020c210720002003280214360208200020073702000b200341d0006a2480808080000bfa0101057f2380808080004180206b220324808080800002400240024020014190a10f20014190a10f491b2204200120014101766b2205200420054b1b2204418101490d0020044105742106410021070240200541ffffff3f4b0d0020064100480d0041002d008083d480001a200641002802f482d480001182808080000022050d02410121070b2007200641ecacc8800010b980808000000b200020012003418001200141c100492002109a8c8080000c010b2005417e6a220641003b00002000200120052004200141c100492002109a8c808000200520062f00006b41002802ec82d48000118180808000000b20034180206a2480808080000ba90203037f017e027f2380808080004180206b220324808080800002400240200141aad828200141aad828491b2204200120014101766b2205200420054b1b220441d602490d002004ad420c7e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541ecacc8800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210a18c80800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341d502200141c10049200210a18c8080000b20034180206a2480808080000ba90203037f017e027f2380808080004180206b220324808080800002400240200141aad828200141aad828491b2204200120014101766b2205200420054b1b220441d602490d002004ad420c7e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541ecacc8800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210968c80800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341d502200141c10049200210968c8080000b20034180206a2480808080000b8e0501087f23808080800041306b22032480808080000240024002400240024002400240200220016b220441a0d5aad57a4d0d00410021020c010b20022001460d024100210541002d008083d480001a20044104762206410c6c220741002802f482d480001182808080000022020d01410421020b20022007418c91c6800010b980808000000b2002200241036a417c71220820026b22076a417e6a20073b0000024020064101460d002001411c6a2107200641feffffff0071210941002105200821020340200741706a280200210a200241086a2007416c6a280200360200200241046a41013602002002200a3602002007280200210a200241146a2007417c6a280200360200200241106a41013602002002410c6a200a360200200241186a2102200741206a21072009200541026a2205470d000b0b02402004411071450d00200120054104746a2207410c6a280200210a20082005410c6c6a2202200741086a280200360208200241013602042002200a3602000b20032003412f6a36020c20044110460d02200441d002490d01200820062003410c6a10d4888080000c020b20004100360208200041003602000c020b2008200641012003410c6a10fd8f8080000b41002d008083d480001a0240418c0141002802f482d480001182808080000022020d004104418c0110ab80808000000b2002200241036a417c7120026b22076a220241003b018a01200241003602582002417e6a20073b0000200320023602002003410036020420034100360208200320083602202003200836021c2003410236020c20032006360224200320082006410c6c6a36022820032003410c6a200341086a10c78380800020002003280208360208200020032902003702000b200341306a2480808080000ba90203037f017e027f2380808080004180206b220324808080800002400240200141aad828200141aad828491b2204200120014101766b2205200420054b1b220441d602490d002004ad420c7e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541ecacc8800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c100492002109e8c80800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341d502200141c100492002109e8c8080000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210998c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210998c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000ba90203037f017e027f2380808080004180206b2203248080808000024002402001418ec80d2001418ec80d491b2204200120014101766b2205200420054b1b220441f200490d002004ad42247e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541ecacc8800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210a38c80800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341f100200141c10049200210a38c8080000b20034180206a2480808080000ba90203037f017e027f2380808080004180206b22032480808080000240024020014180b51820014180b518491b2204200120014101766b2205200420054b1b220441cd01490d002004ad42147e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541ecacc8800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210958c80800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341cc01200141c10049200210958c8080000b20034180206a2480808080000bd20503067f017e017f23808080800041d0006b2201248080808000200141286a41ad83c68000410641b383c68000411e4104410010c292808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418f83808000360218200242fe878f8dfceff2e9dd0037031020024286d8b2bfde95f3e67737030820024101360204200241d781c680003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c21072001280228210820014100360218200142808080808001370210200141106a41ac91c3800010b592808000200128021422024286d8b2bfde95f3e6773703002002420437022c20024201370224200241b1b4c38000360220200241003602182002418f83808000360210200242fe878f8dfceff2e9dd003703082001280214210220012001280210360248200120023602402001200241386a36024c20012002360244200141346a200141c0006a419c91c3800010f58e8080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141346a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20042802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000b9e0103017f017e017f23808080800041c0006b2201248080808000200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a2001412010db8580800020012903302102200020012903384200200128022041017122031b37030820002002420020031b370300200141c0006a2480808080000b9d0103017f017e017f23808080800041c0006b2201248080808000200142a2bba4efe3ffa586553700182001429c9a9bbf88a5a0fc937f37001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a2001412010db8580800020012903302102200020012903384200200128022041017122031b37030820002002420020031b370300200141c0006a2480808080000bf10201077f23808080800041206b2201248080808000200142e3d488ecd2ee88dde300370018200142ce80d7eca9b9a7a316370010200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b37000020002802042202200028020822032001412010fb8480800002402003450d002003410171210441002105024020034101460d002003417e7121062002210341002105034002402003280200450d00200341046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200341106a280200450d00200341146a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200341206a21032006200541026a2205470d000b0b2004450d00200220054104746a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200141206a2480808080000b820201037f23808080800041206b2201248080808000200142e7adb0ba9bbab2f2fb00370018200142d39cf0bdba80f2ac10370010200142a988d1e9f0b7bbcf9c7f370008200142dc9ac4b0d794dae07937000041002d008083d480001a0240412041002802f482d480001182808080000022020d004101412010ab80808000000b200220002900003700002002417e6a220341003b0000200241086a200041086a290000370000200241106a200041106a290000370000200241186a200041186a290000370000200141202002412041002802dc82d4800011838080800000200220032f00006b41002802ec82d4800011818080800000200141206a2480808080000b800201037f23808080800041206b2201248080808000200142bb88f596f8cbf6cf4c3700182001428a85cd9fb3e4b2ae6d370010200142fc90b9e5d09296e777370008200142a6d4e6f1a4dd95986037000041002d008083d480001a0240412041002802f482d480001182808080000022020d004101412010ab80808000000b200220002900003700002002417e6a220341003b0000200241086a200041086a290000370000200241106a200041106a290000370000200241186a200041186a290000370000200141202002412041002802dc82d4800011838080800000200220032f00006b41002802ec82d4800011818080800000200141206a2480808080000bd00203027f017e017f23808080800041306b2201248080808000200142e4a4ce9096c6ccc1ed0037001c20014283b3bacea5969fd4847f370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b3700044100210202400240024041032000350208420c7e2203a741046a2003422088a71b22044100480d00024020040d00410121020c030b41002d008083d480001a200441002802f482d480001182808080000022020d01410121020b2002200441f08bc6800010b980808000000b2002417e6a41003b00000b20012002360228200120043602242001410036022c2000200141246a10aa8880800020012802242102200141046a412020012802282204200128022c41002802dc82d480001183808080000002402002450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200010a688808000200141306a2480808080000bd50101027f23808080800041206b22022480808080002002429eadbde691ac81d83e370018200242e29e95bab8beb5d5a77f370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b37000041002d008083d480001a0240410841002802f482d480001182808080000022030d004101410810ab80808000000b200320003600002003417e6a220041003b000020032001360004200241202003410841002802dc82d4800011838080800000200320002f00006b41002802ec82d4800011818080800000200241206a2480808080000bc40101027f23808080800041c0006b2202248080808000200220013703082002200037030020024291cdeec7c8fdb89eac7f37002c2002428c9e97b8b5e8dcc5fa00370024200242fc90b9e5d09296e77737001c200242a6d4e6f1a4dd959860370014200241346a200210e58d808000200241146a412020022802382203200228023c41002802dc82d480001183808080000002402002280234450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000b870201027f23808080800041306b2201248080808000200142e68dc38d9b83b9ae2837001c200142aa8ec1edcdf9d366370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010ed8f808000200141046a412020012802282202200128022c41002802dc82d480001183808080000002402001280224450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d00200028020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200028020c450d00200028021022002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bd10101037f23808080800041206b22012480808080002001429eadbde691ac81d83e370018200142e29e95bab8beb5d5a77f370010200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b37000041002d008083d480001a0240410841002802f482d480001182808080000022020d004101410810ab80808000000b2002417e6a220341003b000020022000290200370000200141202002410841002802dc82d4800011838080800000200220032f00006b41002802ec82d4800011818080800000200141206a2480808080000bb40101017f23808080800041306b2201248080808000200142f89aef8eef91e1ce967f37001c200142b4d6d6dfccc6b592c300370014200142fc90b9e5d09296e77737000c200142a6d4e6f1a4dd959860370004200141246a2000108386808000200141046a412020012802282200200128022c41002802dc82d480001183808080000002402001280224450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bbe0101027f23808080800041306b2201248080808000200142dff88396b8eeb3817c37001c20014283e3ced79d99b9c6c400370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010fc84808000200141046a412020012802282202200128022c41002802dc82d480001183808080000002402001280224450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200041106a10ad88808000200141306a2480808080000bfe0101067f23808080800041206b220124808080800020014281ffa0ee9dfeb487a57f370018200142e8f5928beff0b7b005370010200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b370000410121024100210341002d008083d480001a024041014102200041ff017141024622041b220541002802f482d48000118280808000002206450d002006417e6a220541003b0000024020040d00200620003a000141022102410121030b200620033a0000200141202006200241002802dc82d4800011838080800000200620052f00006b41002802ec82d4800011818080800000200141206a2480808080000f0b4101200510ab80808000000bd50101037f23808080800041206b2202248080808000200242b0f2f7f283ece7d10b370018200242cbf2abd1d7a8b9e0d70037001020024284c2b1b3ef9292841e370008200242bce2f4b8c5daf6fa2937000041002d008083d480001a0240410c41002802f482d480001182808080000022030d004101410c10ab80808000000b200320003700002003417e6a220441003b000020032001360008200241202003410c41002802dc82d4800011838080800000200320042f00006b41002802ec82d4800011818080800000200241206a2480808080000b880101017f23808080800041306b2202248080808000200242e4c5bdb4b2e9a5a6807f370018200242d790d7a3fef9fda0c80037001020024298d5afd2c6aeacae2f370008200242c2cdc8b0c7b9e78f857f370000200220013703282002200037032020024120200241206a411041002802dc82d4800011838080800000200241306a2480808080000b860201027f23808080800041306b2201248080808000200142d684ecb8c888e883c30037001c200142c5c58cc181f088c50c370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b37000441002d008083d480001a0240412c41002802f482d48000118280808000002202450d002002417e6a41003b00002001410036022c200120023602282001412c3602242000200141246a10fa8480800020012802242100200141046a412020012802282202200128022c41002802dc82d480001183808080000002402000450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000f0b4101412c10ab80808000000b8f0201037f23808080800041206b220224808080800020024293bb8a9cbb9ab6b31a370018200242ffabedd185d3d8d216370010200242fc90b9e5d09296e777370008200242a6d4e6f1a4dd95986037000041002d008083d480001a02404101410520001b220341002802f482d48000118280808000002204450d002004417e6a220341003b0000024002400240024020000e03000102000b20042001360001200441003a0000410521000c020b41012100200441013a00000c010b200441023a0000410121000b200241202004200041002802dc82d4800011838080800000200420032f00006b41002802ec82d4800011818080800000200241206a2480808080000f0b4101200310ab80808000000b810201037f23808080800041206b2201248080808000200142fd98e88aaae0e9ab7937001820014291b5f49a9dbec5afdb00370010200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b37000041002d008083d480001a0240412041002802f482d480001182808080000022020d004101412010ab80808000000b200220002900003700002002417e6a220341003b0000200241086a200041086a290000370000200241106a200041106a290000370000200241186a200041186a290000370000200141202002412041002802dc82d4800011838080800000200220032f00006b41002802ec82d4800011818080800000200141206a2480808080000bb30101017f23808080800041306b22012480808080002001429ecfa7cc9cf7bd852c37001c200142bd948bf28d9682e3d500370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010ec88808000200141046a412020012802282200200128022c41002802dc82d480001183808080000002402001280224450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000b920803037f017e087f23808080800041206b220224808080800041002103024002400240410320012802082204ad42247e2205a741046a2005422088a71b22064100480d00024020060d00410121030c030b41002d008083d480001a200641002802f482d480001182808080000022030d01410121030b2003200641f08bc6800010b980808000000b2003417e6a41003b00000b20024100360214200220033602102002200636020c200220043602182002200241186a36021c2002411c6a2002410c6a10dc84808000024002402004450d0020012802002203450d00200341004721072001280204210841002106034002400240024020060d002007410171450d00410121072008450d0120082106024020084107712201450d0003402006417f6a210620032802940321032001417f6a22010d000b0b20084108490d010340200328029403280294032802940328029403280294032802940328029403280294032103200641786a22060d000c020b0b20074101710d01418892c6800010a081808000000b2003210641002103410021080b02400240024002400240200820062f0192034f0d0020062101200821090c010b034020062802e0022201450d02200341016a210320062f019003210920012106200920012f0192034f0d000b0b20030d01200941016a2108200121060c020b41f891c6800010a081808000000b200120094102746a4198036a2802002106410021082003417f6a220a450d002003417e6a210b0240200a4107712203450d000340200a417f6a210a20062802940321062003417f6a22030d000b0b200b4107490d000340200628029403280294032802940328029403280294032802940328029403280294032106200a41786a220a0d000b0b200120094102746a2802e402210a0240200228020c200228021422036b41034b0d002002410c6a2003410410f491808000200228021421030b200228021020036a200a3600002002200341046a220336021441002d008083d480001a412041002802f482d4800011828080800000220a450d02200a417e6a220b41003b0000200a200120094105746a2201290000370000200a41086a2209200141086a290000370000200a41106a220c200141106a290000370000200a41186a220d200141186a2900003700000240200228020c20036b411f4b0d002002410c6a2003412010f491808000200228021421030b200228021020036a2201200a290000370000200141086a2009290000370000200141106a200c290000370000200141186a200d2900003700002002200341206a36021441002103200a200b2f00006b41002802ec82d48000118180808000002004417f6a22040d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b4101412010ab80808000000bcf0101027f23808080800041206b220124808080800020014282f1a7edb4d8f4c2a17f370018200142b098a68fd68bf8bbda00370010200142dbd4b188d8cab88410370008200142bfa89c83ea92efeb1a37000041002d008083d480001a0240410141002802f482d480001182808080000022020d004101410110ab80808000000b200220003a00002002417e6a220041003b0000200141202002410141002802dc82d4800011838080800000200220002f00006b41002802ec82d4800011818080800000200141206a2480808080000bd40101027f23808080800041206b2202248080808000200242e9d5b48babef9efb5237001820024289f8dca7dfdb9eba11370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b37000041002d008083d480001a0240410841002802f482d480001182808080000022030d004101410810ab80808000000b200320003600002003417e6a220041003b000020032001360004200241202003410841002802dc82d4800011838080800000200320002f00006b41002802ec82d4800011818080800000200241206a2480808080000bf60101057f23808080800041206b2201248080808000200142db94c397a39dc1eaea00370018200142f2f7edb5a4809cb22b370010200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b370000410121024100210341002d008083d480001a02404102410120001b220441002802f482d48000118280808000002205450d002005417e6a220441003b000002402000450d00200541003a000141022102410121030b200520033a0000200141202005200241002802dc82d4800011838080800000200520042f00006b41002802ec82d4800011818080800000200141206a2480808080000f0b4101200410ab80808000000be90201037f23808080800041206b220124808080800002400240024020002d0000410171450d00200142e7adb0ba9bbab2f2fb00370018200142d39cf0bdba80f2ac10370010200142a988d1e9f0b7bbcf9c7f370008200142dc9ac4b0d794dae07937000041002d008083d480001a412041002802f482d48000118280808000002202450d02200220002900013700002002417e6a220341003b0000200241086a200041096a290000370000200241106a200041116a290000370000200241186a200041196a290000370000200141202002412041002802dc82d4800011838080800000200220032f00006b41002802ec82d48000118180808000000c010b200142e7adb0ba9bbab2f2fb00370018200142d39cf0bdba80f2ac10370010200142a988d1e9f0b7bbcf9c7f370008200142dc9ac4b0d794dae07937000020014120410028029482d48000118b80808000000b200141206a2480808080000f0b4101412010ab80808000000bb10101017f23808080800041306b2201248080808000200142bc8986ab88c2dce45737001c20014280a9fbf0e5a2c1b3e500370014200142fc90b9e5d09296e77737000c200142a6d4e6f1a4dd959860370004200141246a2000108586808000200141046a4120200141246a410028028c82d480001186808080000002402000280260450d00200028026422002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bb10101017f23808080800041306b2201248080808000200142e7db9c91c4f3a8dcb07f37001c2001428ad8bd86f0dea2e424370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010928f808000200141046a4120200141246a410028028c82d480001186808080000002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bb10101017f23808080800041306b2201248080808000200142f6b9cba3a9fbc4e71937001c200142a88cac81f28dabe5ea00370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010928f808000200141046a4120200141246a410028028c82d480001186808080000002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bb00101017f23808080800041306b2201248080808000200142908cf1f9cc86e8f85137001c200142d4a4d2bc9ca3a4d768370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010928f808000200141046a4120200141246a410028028c82d480001186808080000002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000b9a0301077f23808080800041c0006b2201248080808000200142f4fa97f89782c7a62d37001c20014299cfe7ffe3b8eac708370014200142fc90b9e5d09296e77737000c200142a6d4e6f1a4dd9598603700042001413c6a2102200141386a210302400240024002400240024020002d000022040e050001020305000b2001200041016a36023420002802102105200028020c210641002104200321070c030b410121042001200041016a36023420002802102105200028020c2106200321070c020b2001200041016a36023420002802102105200028020c210641022104200321070c010b200141346a2107200028020c21052000280208210641032104200321020b20022005360200200720063602000b20012004360230200141246a200141306a10e596808000200141046a4120200141246a410028028c82d4800011868080800000024020002d0000220441034b0d002000200441027441c89ec680006a2802006a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a2480808080000bed0d04047f027e027f037e23808080800041d0016b2201248080808000200028020821022000280204210320002802002100200142f89aef8eef91e1ce967f370028200142b4d6d6dfccc6b592c300370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141f8006a200141106a412010ce858080000240024020012802784101470d00200141106a41286a200141a8016a290300370300200141106a41206a200141f8006a41286a290300370300200141106a41186a200141f8006a41206a290300370300200141106a41106a200141f8006a41186a290300370300200141186a200141f8006a41106a29030037030020012001290380013703100c010b200141386a4200370300200141106a41206a4200370300200141286a4200370300200141206a4200370300200141186a4200370300200142003703100b20014291cdeec7c8fdb89eac7f370090012001428c9e97b8b5e8dcc5fa0037008801200142fc90b9e5d09296e77737008001200142a6d4e6f1a4dd959860370078200141d8006a200141f8006a412010ed85808000200128025821042001290360210520012903682106200141106a210702400240024020002d002022080e03020001020b200141206a21070c010b200141106a41206a21070b2007427f2007290308220920067c220620062009541b2009200441017122041b3703082007427f2007290300220920057c220520052009541b200920041b370300427f2000290308220920002903187c220520052009541b2109427f2000290300220520002903107c220620062005541b2105024002400240024020080e03000102000b200142002001290318220620097d220920092006561b370318200142002001290310220920057d220520052009561b2209370310200141106a21070c020b200142002001290328220620097d220920092006561b370328200142002001290320220920057d220520052009561b2209370320200141206a21070c010b200142002001290338220620097d220920092006561b370338200142002001290330220920057d220520052009561b2209370330200141306a21070b2007427f2007290308220520032903087c220620062005541b3703082007427f200920032903007c220520052009541b37030020014295f38cfcb699a3c4ef0037009001200142a8db95cdaa86daa71937008801200142fc90b9e5d09296e77737008001200142a6d4e6f1a4dd959860370078200141086a200141f8006a412010d08580800020012903282106200129031821052001290338210a2001200128020c410020012802084101711b22073602442001427f200229030022092007ad7c220b200b2009541b22093703482001427f200a427f200520067c220620062005541b22057c220620062005541b220537035020014200200920057d220620062009561b22063703c001024020092005580d00024041002802b483d4800041014d0d00200141e681808000ad4220862209200141c0016aad8437037020012009200141d0006aad843703682001418680808000ad422086200141c4006aad8437036020012009200141c8006aad84370358410028029080d480002107410028028c80d48000210341002802b083d480002102200142043702b001200141053602a8012001418c8dc680003602a4012001411f3602a001200141878ec6800036029c01200141b48dc68000ad4280808080b00a84370290012001410036028c01200141a68ec68000ad4280808080d0038437028401200141003602800120014281808080b01f37027820014102360298012007419cf4ca8000200241024622021b28021021072001200141d8006a3602ac01200341b4f4ca800020021b200141f8006a2007118b808080000020012903c00121060b200141106a210702400240024020002d00200e03020001020b200141106a41106a21070c010b200141106a41206a21070b2007427f2007290308220920067c220520052009541b3703080b200141a8016a200141106a41286a290300370300200141f8006a41286a200141106a41206a290300370300200141f8006a41206a200141106a41186a290300370300200141f8006a41186a200141106a41106a290300370300200141f8006a41106a200141106a41086a290300370300200120012903103703800120014201370378200142f89aef8eef91e1ce967f370070200142b4d6d6dfccc6b592c300370068200142fc90b9e5d09296e777370060200142a6d4e6f1a4dd959860370058200141c0016a200141f8006a41086a108386808000200141d8006a412020012802c401220020012802c80141002802dc82d4800011838080800000024020012802c001450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200141d0016a24808080800020060bb80203017f057e017f23808080800041c0006b22012480808080002000290300210220002903082103200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a2001412010db85808000200128022021002001290330210420012903382105200142e4c5bdb4b2e9a5a6807f370038200142d790d7a3fef9fda0c80037003020014298d5afd2c6aeacae2f370028200142c2cdc8b0c7b9e78f857f3700202001427f200520037c200420027c22062004542207ad7c22042007200420055420042005511b22071b2003200041017122001b3703082001427f200620071b200220001b370300200141206a41202001411041002802dc82d4800011838080800000200141c0006a2480808080000bc20502017f037e23808080800041a0016b220224808080800020012d002021012000290308210320002903002104200242f89aef8eef91e1ce967f370020200242b4d6d6dfccc6b592c300370018200242fc90b9e5d09296e777370010200242a6d4e6f1a4dd959860370008200241386a200241086a412010ce858080000240024020022802384101470d00200241086a41286a200241e8006a290300370300200241086a41206a200241386a41286a290300370300200241086a41186a200241386a41206a290300370300200241086a41106a200241386a41186a290300370300200241106a200241386a41106a290300370300200220022903403703080c010b200241306a4200370300200241086a41206a4200370300200241206a4200370300200241186a4200370300200241106a4200370300200242003703080b200241086a210002400240024020010e03020001020b200241186a21000c010b200241286a21000b200042002000290300220520047d220420042005561b370300200042002000290308220420037d220320032004561b370308200241e8006a200241086a41286a290300370300200241386a41286a200241086a41206a290300370300200241386a41206a200241086a41186a290300370300200241386a41186a200241086a41106a290300370300200241386a41106a200241086a41086a2903003703002002200229030837034020024201370338200242f89aef8eef91e1ce967f37008c01200242b4d6d6dfccc6b592c30037008401200242fc90b9e5d09296e77737007c200242a6d4e6f1a4dd95986037007420024194016a200241386a41086a108386808000200241f4006a41202002280298012200200228029c0141002802dc82d48000118380808000000240200228029401450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241a0016a2480808080000bfd0205017f037e027f017e027f23808080800041c0006b2202248080808000200242c1aedeeddec9cdd9763700182002428c849fcce4a5fda3da00370010200242dbd4b188d8cab88410370008200242bfa89c83ea92efeb1a370000200241206a2002412010e085808000200229033821032002290330210420022903202105200242c1aedeeddec9cdd9763700382002428c849fcce4a5fda3da00370030200242dbd4b188d8cab88410370028200242bfa89c83ea92efeb1a37002041002d008083d480001a0240411041002802f482d480001182808080000022060d004101411010ab80808000000b2006417e6a220741003b00002006427f200320017c200420007c22082004542209ad7c22042009200420035420042003511b22091b20012005a7410171220a1b3700082006427f200820091b2000200a1b370000200241206a41202006411041002802dc82d4800011838080800000200620072f00006b41002802ec82d4800011818080800000200241c0006a2480808080000bd807020c7f017e2380808080004190016b2201248080808000200028020821022000280204210320002802002104200142dff88396b8eeb3817c37006020014283e3ced79d99b9c6c400370058200142b9e088b7b6cdc2d113370050200142c5e4f4b9cff9d18a0b370048200141086a200141c8006a412010ec858080000240024020012802084102460d00200241386c210520032100024002402002450d00200141086a41086a2106200141c8006a41086a2107200141c8006a41156a220241186a21082002411f6a21092005210a2003210002400340200041146a2d0000220b4102460d01200141c8006a41106a200041106a2802003602002007200041086a290200370300200120002902003703482001200b3a005c2002200041156a290000370000200241086a2000411d6a290000370000200241106a200041256a29000037000020082000412d6a2900003700002009200041346a2800003600002006200141c8006a10b982808000024020012d007d220b4102460d00200120012d0024220c3a0083012001200b3a008401200141023a0024200c4102460d06200c410171200b470d060b200041386a2100200710ad88808000200a41486a220a0d000c030b0b200041386a21000b200320056a220720006b41386e210220072000460d00200041086a21000340200010ad88808000200041386a21002002417f6a22020d000b0b02402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141286a41186a200141086a41186a290200370300200141286a41106a200141086a41106a290200370300200141286a41086a200141086a41086a29020037030020012001290208220d37032802400240200da74102470d00200142dff88396b8eeb3817c37006020014283e3ced79d99b9c6c400370058200142b9e088b7b6cdc2d113370050200142c5e4f4b9cff9d18a0b370048200141c8006a4120410028029482d48000118b80808000000c010b200142dff88396b8eeb3817c37006020014283e3ced79d99b9c6c400370058200142b9e088b7b6cdc2d113370050200142c5e4f4b9cff9d18a0b37004820014184016a200141286a10fc84808000200141c8006a41202001280288012200200128028c0141002802dc82d48000118380808000000240200128028401450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b20012802284102460d00200141386a10ad888080000b20014190016a2480808080000f0b41b88fc6800041c10041fc8fc6800010a181808000000b20014100360228410020014183016a20014184016a200141286a41e09bc4800010b987808000000bdc0d020e7f017e23808080800041b0016b2201248080808000200142e68dc38d9b83b9ae28370058200142aa8ec1edcdf9d366370050200142b9e088b7b6cdc2d113370048200142c5e4f4b9cff9d18a0b3700402001200141c0006a412010eb85808000024002400240024002402001280200418080808078460d00024020002802102202450d0020002802182203450d00410021042002410047210520002802142106024020012802142207450d0020012802102108034002400240024020040d002005410171450d00410121052006450d0120062104024020064107712209450d0003402004417f6a2104200228028c0121022009417f6a22090d000b0b20064108490d010340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200441786a22040d000c020b0b2005410171450d080c010b2002210441002102410021060b02400240200620042f018a014f0d002006210a200421090c010b034020042802582209450d06200241016a210220042f018801210a20092104200a20092f018a014f0d000b0b0240024020020d00200a41016a2106200921040c010b2009200a4102746a4190016a2802002104410021062002417f6a220b450d002002417e6a210c0240200b4107712202450d000340200b417f6a210b200428028c0121042002417f6a22020d000b0b200c4107490d000340200428028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012104200b41786a220b0d000b0b2009200a4102746a28025c210d41002102024020074101460d00410021022007210b03402002200b410176220c20026a220e2008200e413c6c6a280200200d4b1b2102200b200c6b220b41014b0d000b0b024020082002413c6c6a2202280200200d470d0020022002280208220b2009200a4103746a220928020420022802146a220a200b200a491b36021420022002280204220b200928020020022802106a2209200b2009491b3602100b410021022003417f6a22030d000c020b0b41002104034002400240024020040d002005410171450d00410121052006450d0120062104024020064107712209450d0003402004417f6a2104200228028c0121022009417f6a22090d000b0b20064108490d010340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200441786a22040d000c020b0b2005410171450d070c010b2002210441002102410021060b02400240200620042f018a014f0d00200421090c010b034020042802582209450d05200241016a210220042f018801210620092104200620092f018a014f0d000b0b0240024020020d00200641016a2106200921040c010b200920064102746a4190016a2802002104410021062002417f6a2209450d002002417e6a210b024020094107712202450d0003402009417f6a2109200428028c0121042002417f6a22020d000b0b200b4107490d000340200428028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012104200941786a22090d000b0b410021022003417f6a22030d000b0b200141002001280238220220002802086b2204200420024b1b36023820014100200128023c2202200028020c6b2204200420024b1b36023c0b200141c0006a41386a200141386a290200370300200141c0006a41306a200141306a290200370300200141c0006a41286a200141286a290200370300200141c0006a41206a200141206a290200370300200141c0006a41186a200141186a290200370300200141c0006a41106a200141106a290200370300200141c0006a41086a200141086a29020037030020012001290200220f370340200fa7418080808078460d01200142e68dc38d9b83b9ae2837009c01200142aa8ec1edcdf9d36637009401200142b9e088b7b6cdc2d11337008c01200142c5e4f4b9cff9d18a0b37008401200141a4016a200141c0006a10ed8f80800020014184016a412020012802a801220220012802ac0141002802dc82d4800011838080800000024020012802a401450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20012802402202418080808078460d0302402002450d00200128024422022002417e6a2f00006b41002802ec82d48000118180808000000b200128024c450d03200128025022022002417e6a2f00006b41002802ec82d48000118180808000000c030b41f891c6800010a081808000000b200142e68dc38d9b83b9ae2837009c01200142aa8ec1edcdf9d36637009401200142b9e088b7b6cdc2d11337008c01200142c5e4f4b9cff9d18a0b3700840120014184016a4120410028029482d48000118b80808000000c010b418892c6800010a081808000000b200141b0016a2480808080000bd20101017f23808080800041c0006b2200248080808000200042e3e3aca5e7a8ebef5c370018200042bfdcfcdef39bce8e6b370010200042dbd4b188d8cab88410370008200042bfa89c83ea92efeb1a370000200041206a2000412010db85808000200042e3e3aca5e7a8ebef5c370038200042bfdcfcdef39bce8e6b370030200042dbd4b188d8cab88410370028200042bfa89c83ea92efeb1a3700202000420037030820004200370300200041206a41202000411041002802dc82d4800011838080800000200041c0006a2480808080000b9b12010d7f2380808080004180016b22032480808080002002280200210420012802002105200342e7db9c91c4f3a8dcb07f3700202003428ad8bd86f0dea2e424370018200342b9e088b7b6cdc2d113370010200342c5e4f4b9cff9d18a0b370008200341e0006a200341086a412010ef85808000200328026821062003280264210720032802602102200342e68dc38d9b83b9ae28370078200342aa8ec1edcdf9d366370070200342b9e088b7b6cdc2d113370068200342c5e4f4b9cff9d18a0b370060200341086a200341e0006a412010eb85808000410021084100200220024180808080784622011b21094104200720011b210a4100200620011b210b024002400240024020032802082202418080808078460d002003280244210c20032802402101200328021821062003280214210702402002450d00200328020c22022002417e6a2f00006b41002802ec82d48000118180808000000b02402007450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b4100210d02400240200b0d00410021080c010b02402004200120042001491b220e0d00410021080c010b41002108200c200a41086a2802002202490d00410121080240200b4101460d00200a41146a2101200b410c6c41746a2107410121080340200e200841016a2206417f20061b2206490d01200c417f200220012802006a220420042002491b2204490d012001410c6a21012004210220062108200741746a22070d000b0b2008200b4b0d022002210d0b200320083602642003200a360260200342908cf1f9cc86e8f851370020200342d4a4d2bc9ca3a4d768370018200342b9e088b7b6cdc2d113370010200342c5e4f4b9cff9d18a0b370008200341e0006a200341086a412010908f808000200b20086b2204410c6c21020240024020040d004104210c0c010b41002d008083d480001a200241002802f482d48000118280808000002201450d032001200141036a417c71220c20016b22066a417e6a20063b00000b200c200a2008410c6c6a200210f497808000210e02402008450d002008410171210f41002101024020084101460d002008417e712107200a210241002101034002402002280200450d00200241046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022007200141026a2201470d000b0b200f450d00200a2001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402009450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b200342f4fa97f89782c7a62d37002020034299cfe7ffe3b8eac708370018200342fc90b9e5d09296e777370010200342a6d4e6f1a4dd959860370008200341e0006a200341086a412010e685808000024020032802602209418080808078460d002003280264210a024020032802682201450d00200a200141146c6a2106200a2102024002400340024020022d00000d00200241016a28000041c39ab19a05470d0020032002410c6a290200370260200341086a200341e0006a10f18280800020032d000822074102460d0020032802640d0020074101710d020b200241146a22022006470d000c020b0b2003200328010a22024118763a0059200320024110763a00582003418080808078360254200341c8006a200341d4006a10ff84808000200342f6b9cba3a9fbc4e719370020200342a88cac81f28dabe5ea00370018200342b9e088b7b6cdc2d113370010200342c5e4f4b9cff9d18a0b370008200341e0006a200341c8006a10928f808000200341086a4120200341e0006a410028028c82d480001186808080000002402003280248450d00200328024c22022002417e6a2f00006b41002802ec82d48000118180808000000b20032802542202418080808078460d002002450d00200328025822022002417e6a2f00006b41002802ec82d48000118180808000000b200a21020340024020022d0000220641034b0d002002200641027441c89ec680006a2802006a2206280200450d00200641046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200241146a21022001417f6a22010d000b0b2009450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b10a087808000024002402004450d0020044103712106024002402008200b6b417c4d0d0041002101410021070c010b200e412c6a2102200441fcffffff0071210b410021014100210703402002280200200241746a280200200241686a2802002002415c6a28020020016a6a6a6a2101200241306a2102200b200741046a2207470d000b0b2005410176210b02402006450d002007410c6c200e6a41086a21020340200228020020016a21012002410c6a21022006417f6a22060d000b0b2001200b4b0d010b1092878080001a0b2004210b0c030b20092104200a210c4100210d0c020b2008200b41988fc68000109181808000000b4104200241a88fc6800010b980808000000b2003200b3602682003200c360264200320043602602003200341e0006a360254200342e7db9c91c4f3a8dcb07f3700202003428ad8bd86f0dea2e424370018200342b9e088b7b6cdc2d113370010200342c5e4f4b9cff9d18a0b370008200341d4006a200341086a4120108f8f808000024020032802602202418080808078460d00024020032802682206450d002003280264210b2006410171210441002101024020064101460d002006417e712107200b210241002101034002402002280200450d00200241046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022007200141026a2201470d000b0b02402004450d00200b2001410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b200328026021020b2002450d00200328026422022002417e6a2f00006b41002802ec82d48000118180808000000b2000200d3602042000200836020020034180016a2480808080000bb90203017f047e017f23808080800041c0006b22012480808080002000290300210220002903082103200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a2001412010db85808000200128022021002001290330210420012903382105200142e4c5bdb4b2e9a5a6807f370038200142d790d7a3fef9fda0c80037003020014298d5afd2c6aeacae2f370028200142c2cdc8b0c7b9e78f857f37002020014200200520037d2004200254ad7d2203200420027d2202200456200320055620032005511b22061b4200200041017122001b37030820014200200220061b420020001b370300200141206a41202001411041002802dc82d4800011838080800000200141c0006a2480808080000bc20502017f037e23808080800041a0016b220224808080800020012d000021012000290308210320002903002104200242f89aef8eef91e1ce967f370020200242b4d6d6dfccc6b592c300370018200242fc90b9e5d09296e777370010200242a6d4e6f1a4dd959860370008200241386a200241086a412010ce858080000240024020022802384101470d00200241086a41286a200241e8006a290300370300200241086a41206a200241386a41286a290300370300200241086a41186a200241386a41206a290300370300200241086a41106a200241386a41186a290300370300200241106a200241386a41106a290300370300200220022903403703080c010b200241306a4200370300200241086a41206a4200370300200241206a4200370300200241186a4200370300200241106a4200370300200242003703080b200241086a210002400240024020010e03020001020b200241186a21000c010b200241286a21000b2000427f2000290300220520047c220420042005541b3703002000427f2000290308220420037c220320032004541b370308200241e8006a200241086a41286a290300370300200241386a41286a200241086a41206a290300370300200241386a41206a200241086a41186a290300370300200241386a41186a200241086a41106a290300370300200241386a41106a200241086a41086a2903003703002002200229030837034020024201370338200242f89aef8eef91e1ce967f37008c01200242b4d6d6dfccc6b592c30037008401200242fc90b9e5d09296e77737007c200242a6d4e6f1a4dd95986037007420024194016a200241386a41086a108386808000200241f4006a41202002280298012200200228029c0141002802dc82d48000118380808000000240200228029401450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241a0016a2480808080000bf30401057f23808080800041d0006b2200248080808000200042b58ab3f59aafe8bb263700272000428197ddb2f4a682d8dd0037001f200042b9e088b7b6cdc2d113370017200042c5e4f4b9cff9d18a0b37000f200041306a2000410f6a412010e2858080000240024020002802302201418080808078470d00410421024100210141012103410021040c010b200028023421020240200028023822040d0041002104410121030c010b200042bb88f596f8cbf6cf4c3700482000428a85cd9fb3e4b2ae6d370040200042fc90b9e5d09296e777370038200042a6d4e6f1a4dd9598603700302000410f6a200041306a412010de858080002002200441386c6a21030240024020002d000f4101470d00200041c8006a200041286a290000370300200041c0006a200041206a290000370300200041386a200041186a290000370300200020002900103703300c010b200041c8006a4200370300200041c0006a4200370300200041386a4200370300200042003703300b2003415c6a41013a00002003415d6a22032000290330370000200341086a200041306a41086a290300370000200341106a200041306a41106a290300370000200341186a200041306a41186a290300370000410021030b200042b58ab3f59aafe8bb263700272000428197ddb2f4a682d8dd0037001f200042b9e088b7b6cdc2d113370017200042c5e4f4b9cff9d18a0b37000f200220042000410f6a412010f884808000024020030d00200241086a21030340200310ad88808000200341386a21032004417f6a22040d000b0b02402001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200041d0006a2480808080000be80102017f027e23808080800041c0006b22012480808080002000290300210220002903082103200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a2001412010db85808000200142e4c5bdb4b2e9a5a6807f370038200142d790d7a3fef9fda0c80037003020014298d5afd2c6aeacae2f370028200142c2cdc8b0c7b9e78f857f3700202001200337030820012002370300200141206a41202001411041002802dc82d4800011838080800000200141c0006a2480808080000bba0501077f23808080800041d0006b2202248080808000200242b58ab3f59aafe8bb263700482002428197ddb2f4a682d8dd00370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a412010e28580800002400240024002402002280224418080808078470d00410021032002410036021020024280808080c000370308410421040c010b200241086a41086a200241246a41086a280200220336020020022002290224370308200228020c2104024020030d00410021030c010b200341386c210541002106410121070340200420066a220841146a2d0000450d03200841156a2001412010f597808000450d02200741016a21072005200641386a2206470d000b0b410021070b200241003602102002200736023c2002200320076b3602402002200436023020022004200741386c6a3602342002200241086a360238200241186a200241306a418c91c6800010c58f8080000240024020022802082204418080808078470d00200242b58ab3f59aafe8bb263700482002428197ddb2f4a682d8dd00370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241306a4120410028029482d48000118b80808000000c010b20022802102107200228020c2108200242b58ab3f59aafe8bb263700482002428197ddb2f4a682d8dd00370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b37003020082007200241306a412010f88480800002402007450d00200841086a21060340200610ad88808000200641386a21062007417f6a22070d000b0b2004450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b20002002290218370200200041086a200241186a41086a280200360200200241d0006a2480808080000f0b419c91c68000413a41d891c6800010a181808000000b910401067f23808080800041206b22032480808080002003410036021c200342808080801037021441002d008083d480001a0240412041002802f482d48000118280808000002204450d002004411e6a41003b0000200441166a42003700002004410e6a4200370000200441066a42003700002004417e6a22054200370000200341146a4100412010f4918080002003280218200341146a41086a220628020022076a22082004290000370000200841086a200441086a290000370000200841106a200441106a290000370000200841186a200441186a2900003700002006200741206a360200200420052f00006b41002802ec82d4800011818080800000200341086a41086a22052006280200360200200320032902143703080240200228020822082002280200470d00200241c884c6800010a0868080000b2002280204200841f8006c6a2204410a360244200441f584c68000360240200441bc80808000360218200442ec8ca7e0e2f0c7e6bf7f370210200442e6e2dea393f0baf43a37020820044100360200200420002902003702482004200329030837025c20042001290200370268200441d0006a200041086a290200370200200441d8006a200041106a280200360200200441e4006a2005280200360200200441f0006a200141086a280200360200200441013a00742002200841016a360208200341206a2480808080000f0b4101412010ab80808000000b960303037f017e017f23808080800041106b2202248080808000410121030240200128020022044101470d00024002402001290308220542c0005a0d00410221060c010b02402005428080015a0d00410321060c010b024020054280808080045a0d00410521060c010b410a200579a74103766b21060b024002402001290310220542c0005a0d00410121030c010b02402005428080015a0d00410221030c010b024020054280808080045a0d00410421030c010b4109200579a74103766b21030b200620036a21030b41002d008083d480001a0240200341002802f482d48000118280808000002206450d002006417e6a41003b00002002200636020420022003360200024002402004410171450d00200641013a0000200241013602082002200141086a36020c2002410c6a200210dd848080002002200141106a36020c2002410c6a200210dd848080000c010b200641003a0000200241013602080b20002002290200370200200041086a200241086a280200360200200241106a2480808080000f0b4101200341f08bc6800010b980808000000b910401067f23808080800041206b22032480808080002003410036021c200342808080801037021441002d008083d480001a0240412041002802f482d48000118280808000002204450d002004411e6a41003b0000200441166a42003700002004410e6a4200370000200441066a42003700002004417e6a22054200370000200341146a4100412010f4918080002003280218200341146a41086a220628020022076a22082004290000370000200841086a200441086a290000370000200841106a200441106a290000370000200841186a200441186a2900003700002006200741206a360200200420052f00006b41002802ec82d4800011818080800000200341086a41086a22052006280200360200200320032902143703080240200228020822082002280200470d00200241c884c6800010a0868080000b2002280204200841f8006c6a2204410e360244200441ba85c680003602402004418c83808000360218200442fadefdbfd8c483f821370210200442eccaa8be8cb9a691ff0037020820044100360200200420002902003702482004200329030837025c20042001290200370268200441d0006a200041086a290200370200200441d8006a200041106a280200360200200441e4006a2005280200360200200441f0006a200141086a280200360200200441013a00742002200841016a360208200341206a2480808080000f0b4101412010ab80808000000b900301047f23808080800041206b220324808080800041002d008083d480001a0240410441002802f482d48000118280808000002204450d002004417e6a41003b00002003410c6a41086a22054100360200200320043602102003410436020c200341003602182003200341186a36021c2003411c6a2003410c6a10dc84808000200341086a220620052802003602002003200329020c3703000240200228020822052002280200470d00200241c884c6800010a0868080000b2002280204200541f8006c6a22044111360244200441c885c680003602402004419083808000360218200442bc98f887dbbbf4e7b27f37021020044285d784bdd9d9e9af4e37020820044100360200200420002902003702482004200329030037025c20042001290200370268200441d0006a200041086a290200370200200441d8006a200041106a280200360200200441e4006a2006280200360200200441f0006a200141086a280200360200200441013a00742002200541016a360208200341206a2480808080000f0b4101410410ab80808000000b9f0301047f23808080800041206b220324808080800041002d008083d480001a0240410441002802f482d48000118280808000002204450d002004417e6a41003b00002003410c6a41086a22054100360200200320043602102003410436020c200341003602182003200341186a36021c2003411c6a2003410c6a10dc84808000410441002003410c6a10af83808000200341086a220620052802003602002003200329020c3703000240200228020822052002280200470d00200241c884c6800010a0868080000b2002280204200541f8006c6a22044114360244200441c587c680003602402004419183808000360218200442a2c1f9b6deb49cf541370210200442b8d5d99ddee3cff4cf0037020820044100360200200420002902003702482004200329030037025c20042001290200370268200441d0006a200041086a290200370200200441d8006a200041106a280200360200200441e4006a2006280200360200200441f0006a200141086a280200360200200441013a00742002200541016a360208200341206a2480808080000f0b4101410410ab80808000000ba70201037f41002d008083d480001a0240410141002802f482d48000118280808000002203450d00200341003a00002003417e6a41003b00000240200228020822042002280200470d00200241c884c6800010a0868080000b2002280204200441f8006c6a22054103360244200541ab88c68000360240200541eb8080800036021820054298a593acd1ceffcb9c7f3702102005429e8eaae68bb9afc651370208200541003602002005200029020037024820054101360264200520033602602005410136025c20052001290200370268200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541f0006a200141086a280200360200200541003a00742002200441016a3602080f0b4101410141f08bc6800010b980808000000bb30301057f23808080800041206b220224808080800041002103024002400240024002400240024041012001280208220441056a20012802002205418080808078461b22064100480d002006450d0141002d008083d480001a200641002802f482d480001182808080000022030d02410121030b2003200641f08bc6800010b980808000000b20024100360214200242808080801037020c2002410c6a4100410110f49180800020022802102103200228021421062005418080808078470d010c030b2003417e6a41003b0000200220033602102002200636020c2005418080808078460d01410021060b200320066a41013a00002002200641016a36021420012802042103200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004200228020c200228021422066b4d0d002002410c6a2006200410f491808000200228021421060b200228021020066a2003200410f4978080001a2002200620046a3602140c020b410021060b200320066a41003a00002002200641016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b960301047f23808080800041206b220324808080800041002d008083d480001a0240410441002802f482d48000118280808000002204450d002004417e6a41003b00002003410c6a41086a22054100360200200320043602102003410436020c200341003602182003200341186a36021c2003411c6a2003410c6a10dc84808000200341086a220620052802003602002003200329020c3703000240200228020822052002280200470d00200241c884c6800010a0868080000b2002280204200541f8006c6a22044106360244200441d689c680003602402004419283808000360218200442c3f3a2cbf9af8ce138370210200442a2b6c4bdfcbfd28d947f37020820044100360200200420002902003702482004200329030037025c20042001290200370268200441d0006a200041086a290200370200200441d8006a200041106a280200360200200441e4006a2006280200360200200441f0006a200141086a280200360200200441013a00742002200541016a360208200341206a2480808080000f0b4101410441e4e5c5800010b980808000000bb30301057f23808080800041206b220224808080800041002103024002400240024002400240024041012001280208220441056a20012802002205418080808078461b22064100480d002006450d0141002d008083d480001a200641002802f482d480001182808080000022030d02410121030b2003200641f08bc6800010b980808000000b20024100360214200242808080801037020c2002410c6a4100410110f49180800020022802102103200228021421062005418080808078470d010c030b2003417e6a41003b0000200220033602102002200636020c2005418080808078460d01410021060b200320066a41013a00002002200641016a36021420012802042103200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004200228020c200228021422066b4d0d002002410c6a2006200410f491808000200228021421060b200228021020066a2003200410f4978080001a2002200620046a3602140c020b410021060b200320066a41003a00002002200641016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b9c0403017f037e027f23808080800041c0006b2202248080808000200242d3d8c5d2a9b9d2c1ac7f37002820024282ca868eabf3add0cf00370020200242fc90b9e5d09296e777370018200242a6d4e6f1a4dd959860370010200241086a200241106a412010d085808000420021030240024020012802004101470d0020012903082203500d01200129031022044200200235020c220520047d220420042005561b420020022802084101711b22042003827d20047c21030b200241106a200342ffffffff0f200342ffffffff0f541ba7220610c78680800020022802142201200228021841002802ac82d4800011848080800000210702402002280210450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b410121010240024020070d00200041800a3b00010c010b200041016a2101200241346a200610c786808000200241106a20022802382207200228023c10de858080000240024020022d00104101470d0020012002290011370000200141186a200241296a290000370000200141106a200241216a290000370000200141086a200241196a2900003700000c010b20014200370000200141186a4200370000200141106a4200370000200141086a42003700000b02402002280234450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b410021010b200020013a0000200241c0006a2480808080000f0b41a488cd8000108e81808000000bec0201047f23808080800041306b22022480808080000240024020002802002200280200450d002002200036020c410121002001280200220341dc81c6800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110a7858080000d0320012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a7858080000d02200228022041da80c280004102200228022428020c118080808000000d020b200341e280c28000410120051180808080000021000c010b200128020041d881c680004104200128020428020c1180808080000021000b200241306a24808080800020000bf20201047f23808080800041306b22022480808080000240024020002802002200280200418080808078460d002002200036020c410121002001280200220341dc81c6800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110ad858080000d0320012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ad858080000d02200228022041da80c280004102200228022428020c118080808000000d020b200341e280c28000410120051180808080000021000c010b200128020041d881c680004104200128020428020c1180808080000021000b200241306a24808080800020000bf10201047f23808080800041306b22022480808080004101210302400240200028020022002802004101470d002002200041046a36020c2001280200220041dc81c6800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d032002410c6a200110a6858080000d0320012802002100200128020428020c21050c010b200041e080c2800041022005118080808000000d0241012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a6858080000d02200228022041da80c280004102200228022428020c118080808000000d020b200041e280c28000410120051180808080000021030c010b200128020041d881c680004104200128020428020c1180808080000021030b200241306a24808080800020030bee0201047f23808080800041306b220224808080800002400240200028020022002d00004102460d002002200036020c410121002001280200220341dc81c6800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110a3858080000d0320012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a3858080000d02200228022041da80c280004102200228022428020c118080808000000d020b200341e280c28000410120051180808080000021000c010b200128020041d881c680004104200128020428020c1180808080000021000b200241306a24808080800020000bec0201047f23808080800041306b22022480808080000240024020002802002200280200450d002002200036020c410121002001280200220341dc81c6800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110908c8080000d0320012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10908c8080000d02200228022041da80c280004102200228022428020c118080808000000d020b200341e280c28000410120051180808080000021000c010b200128020041d881c680004104200128020428020c1180808080000021000b200241306a24808080800020000bf50101037f23808080800041306b22022480808080002000280200210041012103200128020041e480c280004101200128020428020c118080808000002104200241003a0009200220043a0008200220013602042002410036022020024100360210200220002802042204360228200220002802002201360224200220043602182002200136021420022000280208410020011b36022c20022001410047220136021c2002200136020c200241046a2002410c6a108a8e8080002101024020022d00080d002001280200220128020041dc80c280004101200128020428020c1180808080000021030b200241306a24808080800020030bf10201047f23808080800041306b22022480808080004101210302400240200028020022002d00004101470d002002200041016a36020c2001280200220041dc81c6800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d032002410c6a200110aa858080000d0320012802002100200128020428020c21050c010b200041e080c2800041022005118080808000000d0241012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10aa858080000d02200228022041da80c280004102200228022428020c118080808000000d020b200041e280c28000410120051180808080000021030c010b200128020041d881c680004104200128020428020c1180808080000021030b200241306a24808080800020030ba10301087f23808080800041106b2203248080808000024020022802082204200428020041054b22054103746a2802002206450d00200228020421072002280200210802402004280204200441046a20051b2006412c6c6a220441546a2206280200220241014b0d00200441586a2209280200210a200441706a280200210502402002410171450d00200a2005460d010b2003200441646a36020c2003410c6a2002200a200510a5978080002009200536020041012102200641013602000b4158210502400240024002402002417e6a2202410220024102491b0e03010200010b416421050b200420056a450d004100210202400240024020074100480d00024020070d00410121020c030b41002d008083d480001a200741002802f482d480001182808080000022020d01410121020b2002200741f49ac6800010b980808000000b2002417e6a41003b000020022008200710f4978080001a0b2000200736020820002002360204200020073602000c010b20004180808080783602000b200341106a2480808080000f0b4198bdcd800041fc004184bfcd800010a181808000000bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b20001095898080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0bdb0204047f017e017f017e024020002802042201450d000240200028020c2202450d002000280200220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341807d6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2005427f7c210702402003410020057aa74103766b41306c6a220641706a280200450d00200641746a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200720058321052002417f6a22020d000b0b2001200141306c41376a41707122046a4177460d00200028020020046b22042004417e6a2f00006b41002802ec82d48000118180808000000b02402000280240450d00200028024422042004417e6a2f00006b41002802ec82d48000118180808000000b0b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210988c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210988c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210a28c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210a28c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210978c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210978c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210a48c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210a48c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c100492002109c8c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c100492002109c8c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c100492002109f8c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c100492002109f8c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c100492002109d8c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c100492002109d8c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c100492002109b8c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c100492002109b8c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210a68c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210a68c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210948c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210948c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210a58c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210a58c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ecacc8800010b980808000000b200020012003418002200141c10049200210a08c8080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210a08c80800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000b8503020c7f017e23808080800041206b220224808080800002400240024020002802002203450d00200141046a2104200128020821052001280204210620002802042107034041002108024020032f018a012209450d002009410c6c210a2003410c6a210b41002108034002402006200b417c6a2802002005200b280200220c2005200c491b10f597808000220d2005200c6b200d1b220c41004a200c4100486b41ff0171220c4101460d00200c0d024101210b2001280200450d0620062006417e6a2f00006b41002802ec82d48000118180808000000c060b200b410c6a210b200841016a2108200a41746a220a0d000b200921080b02402007450d002007417f6a2107200320084102746a28028c0121030c010b0b2008ad422086210e0c010b200141046a2104410021030b4101210b20012802002205418080808078460d002002200e37021820022003360214200220003602102002200536020420022004290200370208200241046a109c8d8080001a4100210b0b200241206a248080808000200b0bf303020b7f027e23808080800041306b22042480808080000240024002400240024020012802002205450d00200228020821062002280204210720012802042108034041002109024020052f01ba02220a450d00200a410c6c210b4100210c410021090340024020072005200c6a220d41b8016a2802002006200d41bc016a280200220d2006200d491b10f597808000220e2006200d6b200e1b220d41004a200d4100486b41ff0171220d4101460d00200d0d0220042008360224200420053602202004290320210f2002280200450d0620072007417e6a2f00006b41002802ec82d48000118180808000000c060b200941016a2109200b200c410c6a220c470d000b200a21090b02402008450d002008417f6a2108200520094102746a2802bc0221050c010b0b2004200936022820044100360224200228020021062002290204210f200429022421100c010b2002290204210f20022802002106410021050b2006418080808078470d01200121090b2000200fa720094104746a220629020037020020062003290200370200200041086a200641086a22062902003702002006200341086a2902003702000c010b2004201037021820042005360214200420013602102004200f37020820042006360204200441046a2003109e8d8080001a200041063a00000b200441306a2480808080000be103020b7f027e23808080800041306b22042480808080000240024002400240024020012802002205450d00200228020821062002280204210720012802042108034041002109024020052f01aa09220a450d00200a410c6c210b4100210c410021090340024020072005200c6a220d41a8086a2802002006200d41ac086a280200220d2006200d491b10f597808000220e2006200d6b200e1b220d41004a200d4100486b41ff0171220d4101460d00200d0d0220042008360224200420053602202004290320210f2002280200450d0620072007417e6a2f00006b41002802ec82d48000118180808000000c060b200941016a2109200b200c410c6a220c470d000b200a21090b02402008450d002008417f6a2108200520094102746a2802ac0921050c010b0b2004200936022820044100360224200228020021062002290204210f200429022421100c010b2002290204210f20022802002106410021050b2006418080808078470d01200121090b2000200fa7200941e0006c6a220641e00010f4978080001a2006200341e00010f4978080001a0c010b2004201037021820042005360214200420013602102004200f37020820042006360204200441046a200310998d8080001a20004180808080783602540b200441306a2480808080000b9d04020d7f017e23808080800041306b220224808080800002400240024020002802002203450d002001280214210420012802102105200128020821062001280204210720002802042108034041002109024020032f018e02220a450d00200a41186c210b200341146a210c410021090340024002402007200c41706a2802002006200c41746a280200220d2006200d491b10f597808000220e2006200d6b200e1b220d450d00200d41004a200d4100486b210d0c010b2005200c417c6a2802002004200c280200220d2004200d491b10f597808000220e2004200d6b200e1b220d41004a200d4100486b210d0b0240200d4101460d00200d41ff01710d0202402001280200450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b4101210c200128020c450d0620052005417e6a2f00006b41002802ec82d48000118180808000000c060b200c41186a210c200941016a2109200b41686a220b0d000b200a21090b02402008450d002008417f6a2108200320094102746a2802900221030c010b0b2009ad422086210f0c010b200128021421042001280210210520012802042107410021030b4101210c20012802002206418080808078460d002002200f37022820022003360224200220003602202002200436021c200220053602182002200736020c2002200636020820022001290208370210200241086a109b8d8080001a4100210c0b200241306a248080808000200c0bdc05010d7f23808080800041c0026b220324808080800002400240200128020022040d00410021050c010b20022802142106200228021021072002280208210520022802042108200128020421090240024003404100210a024020042f01e20c220b450d00200b41186c210c4100210d4100210a03400240024020082004200d6a220e41046a2802002005200e41086a280200220220052002491b10f597808000220f200520026b200f1b2202450d00200241004a20024100486b21020c010b2007200e41106a2802002006200e41146a280200220220062002491b10f597808000220e200620026b200e1b220241004a20024100486b21020b024020024101460d00200241ff01710d02200320013602182003200a360214200320093602102003200436020c41002105200341003a001f200341a0016a2003410c6a2003411f6a10ce8380800020032802a001210220032802a401210e20032802ac01210f20032802b001210a200341206a200341b4016a41800110f4978080001a20012001280208417f6a360208024020032d001f4101470d002001280200220d450d0620012802042204450d05200d2802e40c220641003602880220012004417f6a36020420012006360200200d200d417e6a2f00006b41002802ec82d48000118180808000000b200341a0016a200341206a41800110f4978080001a2002418080808078460d06200041046a200341a0016a41046a41fc0010f4978080001a02402002450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b41012105200f450d06200a200a417e6a2f00006b41002802ec82d48000118180808000000c060b200a41016a210a200c200d41186a220d470d000b200b210a0b024020090d00410021050c040b2009417f6a21092004200a4102746a2802e40c21040c000b0b419888c38000412141bc88c38000108081808000000b41b4adc7800010a081808000000b20002005360200200341c0026a2480808080000bc10101057f02400240200128020822032002490d00200320026b220441306c210541042106024020032002460d0041002d008083d480001a200541002802f482d48000118280808000002203450d022003200341036a417c71220620036b22076a417e6a20073b00000b2001200236020820062001280204200241306c6a200510f49780800021022000200436020820002002360204200020043602000f0b2002200341f897c6800010b580808000000b4104200541f897c6800010b980808000000bc55a07017f017e027f017e137f017e0b7f23808080800041b00e6b22032480808080004100410035028483d4800042c4e6c11b85200341d80c6aad22047e200442ae94e698017e4220898522043e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d00c883d480002105200341286a22064101410041002802c480d4800011868080800000200341086a41086a4100290388e7c5800037030020034100360250200342808080801037034820034100290380e7c58000370308200341b883d48000410020054102461b36022020032004422088220742a2f0a4a00a7e200442ffffffff0f83220442d0e3fccc027e85200742d0e3fccc027e200442a2f0a4a00a7e85422089853703182001280204210820012802082101200341003602d80220034280808080c0003702d002200342003702b00520082001410c6c6a21090240024002400240024002402001450d0020034188056a41286a210a20034188056a41046a210b200341f00a6a41046a210c200341f00a6a41146a210d200341d80c6a41146a210e200341d80c6a41046a210f200341d80c6a41016a21052003418c036a41086a2110200341b8056a41086a2111200341b8056a41046a2112024002400240024002400240024002400240024002400340200841046a2802002113410021140240200841086a2802002201450d0020132d000041014621140b024002400240024020012014490d002008410c6a2115200341d80c6a201320146a2213200120146b220110e689808000200341a8016a41086a2216200f41086a2902003703002003200f2902003703a80120032802d80c22174107470d01201220032903a801370200201241086a200341a8016a41086a2903003702000c020b2014410041ac94c68000109281808000000b200d200e41c40110f4978080001a200c41086a2016290300370200200c20032903a801370200200320173602f00a200341b8056a200341f00a6a2013200110df9780800020032802b80522184107470d010b200341d80c6a41186a22054200370300200341d80c6a41206a22134200370300200341d80c6a41286a22164200370300200341d80c6a41086a2208201241086a290200370300200342003703e80c200320122902003703d80c41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22176a221420032903d80c3702002014417e6a20173b0000201441086a2008290300370200201441106a200341d80c6a41106a290300370200201441186a2005290300370200201441206a2013290300370200201441286a201629030037020041012117201521080c0f0b4104413010ab80808000000b20032802bc05211920034190076a201141d00110f4978080001a4104211a410121174100210141002113024002400240024002402018417d6a2216410420164104491b0e050202010000020b41102117410121010b41002d008083d480001a201741286c221641002802f482d48000118280808000002213450d012013201341036a417c71221a20136b22166a417e6a20163b00000240024020010d0041012113201a21010c010b2017417f6a2201417871211320014107712116201a21010340200141023a000020014198026a41023a0000200141f0016a41023a0000200141c8016a41023a0000200141a0016a41023a0000200141f8006a41023a0000200141d0006a41023a0000200141286a41023a0000200141c0026a2101201341786a22130d000b02402016450d00201641286c2116410021130340200120136a41023a00002016201341286a2213470d000b200120136a21010b201721130b200141023a0000201721010b200320133602ec042003201a3602e804200320013602e40420032019360290032003201836028c03201020034190076a41d00110f4978080001a200342003702f004024020140d00201521080c020b024020152009460d002003200841106a2902003702f404200841186a21080c020b41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22056a2214420037020420144185808080783602002014417e6a20053b00002014410c6a4200370200201441146a42003702002014411c6a4200370200200921080c0e0b4104413010ab80808000000b4104201610ab80808000000b200341d80c6a2003418c036a10aa89808000024020032d00d80c450d0020032802dc0c21140c0c0b20032d00d90c21010340024020014101710d002003418c036a20034188056a10ab89808000024020032802d802220120032802d002470d00200341d0026a418c94c68000109f868080000b20032802d402200141f0016c6a2003418c036a41f00110f4978080001a2003200141016a3602d80220082009470d02200921080c0e0b0240024020032802f40422130d00410021010c010b20032802b405221641017621010240024020164101710d002001200328028c0520032802b0052216201641284b22161b22144b0d0720032802880520034188056a20161b2116410021140c010b2001200328028c0520032802b0052216201641284b22141b22164b0d07200120164f0d08200320032802880520034188056a20141b221620016a2d000041f001713a00c105410121140b200320143a00c005200320013602bc05200320163602b805200341f00a6a200341086a200341b8056a201320032802f804108488808000200541186a200341f00a6a41186a290000370000200541106a200341f00a6a41106a290000370000200541086a200341f00a6a41086a290000370000200520032900f00a370000410121010b200320013a00d80c200341b8056a2003418c036a2005410020011b10ac8980800020032802b405221341017621010240024020134101710d002001200328028c0520032802b0052213201341284b22131b22164b0d0920032802880520034188056a20131b2113410021160c010b2001200328028c0520032802b0052213201341284b22161b22134b0d09200120134f0d0a200320032802880520034188056a20161b221320016a2d000041f001713a00f90a410121160b200320163a00f80a200320013602f40a200320133602f00a2003418c026a200341086a200341f00a6a20032802bc05221620032802c00510848880800020032802d8022201450d0220032001417f6a22013602d80220032802d402200141f0016c6a22012802004107460d022003418c036a200141f00110f4978080001a0240024002400240200328028c03417d6a2201410420014104491b0e050302020001030b20032802b4052201450d0220034188056a4104412820032802b00541284b22141b6a2217280200221a450d0d20032802880521132017201a417f6a221a360200201320034188056a20141b201a6a2d0000211420032001417f6a22013602b4052001410171450d02201441f00171211a0240024020034188056a4104412820032802b005221441284b22011b6a28020022172014412820011b460d00200b200a20011b2114201320034188056a20011b21010c010b20034188056a10d997808000200328028c0521172003280288052101200b21140b200120176a201a3a00002014201428020041016a3602000c020b20032802e004210120032802dc042113024020032802b4052214450d0020034188056a4104412820032802b00541284b221a1b6a22182802002215450d0e200328028805211720182015417f6a2215360200201720034188056a201a1b20156a2d0000211a20032014417f6a22143602b4052014410171450d00201a41f0017121150240024020034188056a4104412820032802b005221a41284b22141b6a2802002218201a412820141b460d00200b200a20141b211a201720034188056a20141b21140c010b20034188056a10d997808000200328028c0521182003280288052114200b211a0b201420186a20153a0000201a201a28020041016a3602000b20034188056a201341017420016b10ea978080000c010b20034188056a20032802a00341017420032802a4036b10ea978080000b20032802f004221320032802ec0422014f0d0320032802e804201341286c6a220141003a00002001200329028c02370001200141096a2003418c026a41086a290200370000200141116a2003418c026a41106a290200370000200141196a2003418c026a41186a2902003700002003201341016a3602f004024020032802b805450d0020162016417e6a2f00006b41002802ec82d48000118180808000000b200341d80c6a2003418c036a10aa8980800020032d00d90c210120032d00d80c450d000b0b20032802dc0c21140c0a0b200341d80a6a20034198026a290200370300200341e00a6a200341a0026a290200370300200341e80a6a200341a8026a28020036020020032003290290023703d00a200328028c022114024020032802b805450d0020162016417e6a2f00006b41002802ec82d48000118180808000000b410021170c0b0b20132001419c94c68000108281808000000b2001201441b4e7cd8000109181808000000b2001201641c4e7cd8000109181808000000b2001201641d4e7cd8000108281808000000b2001201641b4e7cd8000109181808000000b2001201341c4e7cd8000109181808000000b2001201341d4e7cd8000108281808000000b41f0e6cd800041224194e7cd800010a181808000000b41f0e6cd800041224194e7cd800010a181808000000b4101211720032802e404450d0120032802e80422012001417e6a2f00006b41002802ec82d48000118180808000000c010b41002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b22056a2214420037020420144185808080783602002014417e6a20053b00002014410c6a4200370200201441146a42003702002014411c6a4200370200410121170b024020032802b0054129490d0020032802880522012001417e6a2f00006b41002802ec82d48000118180808000000b024020032802d8022213450d0020032802d402211a2013410171211841002105024020134101460d00201a41cc036a21012013417e71211641002105034002402001418c7e6a280200450d00200141907e6a28020022132013417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022132013417e6a2f00006b41002802ec82d48000118180808000000b200141e0036a21012016200541026a2205470d000b0b2018450d00201a200541f0016c6a22012802d801450d00200141d8016a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020032802d002450d0020032802d40222012001417e6a2f00006b41002802ec82d48000118180808000000b2017450d01410521050c020b4104413010ab80808000000b200341f0026a41186a200341d00a6a41186a2802002201360200200341f0026a41106a200341d00a6a41106a2903002204370300200341f0026a41086a200341d00a6a41086a2903002207370300200320032903d00a221b3703f002200341b4016a2007370200200341bc016a2004370200200341c4016a2001360200200320143602a8012003201b3702ac0102402002450d002002200341a8016a412010f597808000450d00200341a6016a20032d00aa013a000020034198016a41086a20034183036a280000360200200341f4006a2003418b036a2d00003a0000200341fd006a200241086a29000037000020034185016a200241106a2900003700002003418d016a200241186a290000370000200320032f01a8013b01a401200320032900fb02370398012003200328008703360270200320022900003700754100210520032900af01210420032800ab0121140c010b200341003602d40120034280808080103702cc012003419892c680003602dc05200341003602c805200341003602b8052003200341a8016a3602e0052003200341086a3602d805200341d80c6a200341b8056a10ad8980800020032802dc0c21140240024020032802d80c2205418080808078470d00410521050c010b200341f00a6a41306a2213200341d80c6a41386a280200360200200341f00a6a41286a2216200341d80c6a41306a290200370300200341f00a6a41206a2202200341d80c6a41286a290200370300200341f00a6a41186a2217200341d80c6a41206a290200370300200341f00a6a41106a221a200341d80c6a41186a290200370300200341f80a6a2218200341d80c6a41106a290200370300200320032902e00c3703f00a41002d008083d480001a02400240024041c00041002802f482d48000118280808000002201450d002001200141036a417c7120016b220f6a2201201436020420012005360200200120032903f00a3702082001417e6a220c200f3b0000200141106a2018290300370200200141186a201a290300370200200141206a2017290300370200200141286a2002290300370200200141306a2016290300370200200141386a20132802003602002001200341b8056a36023c200141ac92c68000411710a28a80800022050d01200341fc0a6a21150340200341f00a6a200110a38a8080000240024002400240024020032802f00a22144180808080786a0e020108000b20032802f40a210520032802f80a4117490d0141ac92c680002005411710f5978080000d01024020032802840b4120470d0020032802fc0a2117200341d80c6a41186a221a20032802800b221341186a290000370300200341d80c6a41106a2218201341106a290000370300200341d80c6a41086a220f201341086a290000370300200320132900003703d80c024020032802d401220220032802cc01470d00200341cc016a419893c680001090868080000b20032802d00120024105746a221620032903d80c370000201641086a200f290300370000201641106a2018290300370000201641186a201a2903003700002003200241016a3602d40102402017450d0020132013417e6a2f00006b41002802ec82d48000118180808000000b2014450d050c040b20034198016a41086a201541086a28020036020020032015290200370398014104210520032902f40a21040c020b20032802f40a2205280200418580808078460d02200341d8016a41286a2216200541286a290200370300200341d8016a41206a2208200541206a290200370300200341d8016a41186a2202200541186a290200370300200341d8016a41106a2217200541106a290200370300200341d8016a41086a221a200541086a290200370300200320052902003703d80141002d008083d480001a0240413041002802f482d48000118280808000002213450d002013201341036a417c7120136b22096a221420032903d8013702002014417e6a20093b0000201441086a201a290300370200201441106a2017290300370200201441186a2002290300370200201441206a2008290300370200201441286a201629030037020020052005417e6a2f01006b41002802ec82d4800011818080800000410521050c020b4104413010ab80808000000b02402014450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20032802fc0a450d0520032802800b22052005417e6a2f00006b41002802ec82d48000118180808000000c050b200110da898080002001200c2f00006b41002802ec82d48000118180808000000c050b20052005417e6a2f00006b41002802ec82d48000118180808000000c000b0b410441c00010ab80808000000b0240024002400240200528020041fcffffff076a2213410320134105491b0e0403030102000b2005280204450d02200528020822132013417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822132013417e6a2f00006b41002802ec82d48000118180808000000c010b20051095898080000b20052005417e6a2f01006b41002802ec82d48000118180808000000b200110da898080002001200c2f00006b41002802ec82d48000118180808000000240200341a8016a2006412010f597808000450d00200341d80c6a41186a200341a8016a41186a290200370300200341d80c6a41106a200341a8016a41106a290200370300200341d80c6a41086a200341a8016a41086a290200370300200320032902a8013703d80c0240200341086a200341d80c6a109b8880800022010d00410121050c020b41012105200128022c41014e0d000c010b200341003a008c0220032802d001211c20032802cc01211d02400240024002400240024020032802d4012201450d00201c20014105746a210e200341d80c6a41106a211e20034188056a41046a211f200341f00a6a41046a210a200341f00a6a41146a2120200341d80c6a41146a2121200341d80c6a41046a210b200341d80c6a41016a21052003418c026a41056a210c2003418c026a41016a2111200341d00a6a41046a2106200341e0086a41086a2122200341b8056a41086a2123200341b8056a41046a212420034188056a41286a212541002101201c2102410021130340200341b0026a41186a221a200241186a290000370300200341b0026a41106a2218200241106a290000370300200341b0026a41086a220f200241086a290000370300200320022900003703b0020240024002402001410171450d00200821170c010b02400240024002402013410171450d002010450d01200821170c030b20082009470d01410121130b41002101410021100c030b2008410c6a2117200841086a2802002126200841046a28020021100b200341003602840520034280808080c0003702fc04200342003702b005410121012017211402400240024002400240024002400240024002400240024002400240024002400340024002400240024002402001410171450d0020262101201021130c010b20142009460d01201441086a2802002101201441046a28020021132014410c6a221721140b20010d01410021080c020b41002d008083d480001a413041002802f482d48000118280808000002201450d062001200141036a417c7120016b22136a2214420037020420144185808080783602002014417e6a20133b00002014410c6a4200370200201441146a42003702002014411c6a42003702000c110b20132d000041014621080b024002400240024020012008490d00200341d80c6a201320086a2213200120086b221610e689808000200341c80c6a41086a2201200b41086a2902003703002003200b2902003703c80c20032802d80c22154107470d01202420032903c80c370200202441086a20012903003702000c020b2008410041ac94c68000109281808000000b2020202141c40110f4978080001a200a41086a2001290300370200200a20032903c80c370200200320153602f00a200341b8056a200341f00a6a2013201610df9780800020032802b805220d4107470d010b201e4200370200201e41086a4200370200201e41106a4200370200201e41186a4200370200200341d80c6a41086a2213202441086a290200370300200320242902003703d80c41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22166a221420032903d80c3702002014417e6a20163b0000201441086a2013290300370200201441106a201e290300370200201441186a200341d80c6a41186a290300370200201441206a200341d80c6a41206a290300370200201441286a200341d80c6a41286a2903003702000c110b4104413010ab80808000000b20032802bc05211220034190076a202341d00110f4978080001a41042119410121154100210141002113024002400240200d417d6a2216410420164104491b0e050202010000020b41102115410121010b41002d008083d480001a201541286c221641002802f482d48000118280808000002213450d062013201341036a417c71221920136b22166a417e6a20163b00000240024020010d0041012113201921010c010b2015417f6a2201417871211320014107712116201921010340200141023a000020014198026a41023a0000200141f0016a41023a0000200141c8016a41023a0000200141a0016a41023a0000200141f8006a41023a0000200141d0006a41023a0000200141286a41023a0000200141c0026a2101201341786a22130d000b02402016450d00201641286c2116410021130340200120136a41023a00002016201341286a2213470d000b200120136a21010b201521130b200141023a0000201521010b200320133602c00a200320193602bc0a200320013602b80a200320123602e4082003200d3602e008202220034190076a41d00110f4978080001a200342003702c40a0240024002402008450d0020142009460d012003201441046a2902003702c80a2014410c6a221721140b200341d80c6a200341e0086a10aa8980800020032d00d80c450d0120032802dc0c21140c100b41002d008083d480001a413041002802f482d48000118280808000002201450d042001200141036a417c7120016b22136a2214420037020420144185808080783602002014417e6a20133b00002014410c6a4200370200201441146a42003702002014411c6a42003702000c0f0b20032d00d90c21010340024020014101710d00200341e0086a20034188056a10ab898080000240200328028405220120032802fc04470d00200341fc046a418c94c68000109f868080000b200328028005200141f0016c6a200341e0086a41f00110f4978080001a2003200141016a36028405410021010c020b0240024020032802c80a22130d00410021010c010b20032802b405221641017621010240024020164101710d002001200328028c0520032802b0052216201641284b22161b22084b0d0a20032802880520034188056a20161b2116410021080c010b2001200328028c0520032802b0052216201641284b22081b22164b0d0a200120164f0d0b200320032802880520034188056a20081b221620016a2d000041f001713a00c105410121080b200320083a00c005200320013602bc05200320163602b805200341f00a6a200341086a200341b8056a201320032802cc0a108488808000200541186a200341f00a6a41186a290000370000200541106a200341f00a6a41106a290000370000200541086a200341f00a6a41086a290000370000200520032900f00a370000410121010b200320013a00d80c200341b8056a200341e0086a2005410020011b10ac8980800020032802b405221341017621010240024020134101710d002001200328028c0520032802b0052213201341284b22131b22164b0d0c20032802880520034188056a20131b2113410021160c010b2001200328028c0520032802b0052213201341284b22161b22134b0d0c200120134f0d0d200320032802880520034188056a20161b221320016a2d000041f001713a00f90a410121160b200320163a00f80a200320013602f40a200320133602f00a200341d00a6a200341086a200341f00a6a20032802bc05221620032802c0051084888080002003280284052201450d0220032001417f6a220136028405200328028005200141f0016c6a22012802004107460d02200341e0086a200141f00110f4978080001a024002400240024020032802e008417d6a2201410420014104491b0e050302020001030b20032802b4052201450d0220034188056a4104412820032802b00541284b22081b6a22152802002219450d10200328028805211320152019417f6a2219360200201320034188056a20081b20196a2d0000210820032001417f6a22013602b4052001410171450d02200841f0017121190240024020034188056a4104412820032802b005220841284b22011b6a28020022152008412820011b460d00201f202520011b2108201320034188056a20011b21010c010b20034188056a10d997808000200328028c0521152003280288052101201f21080b200120156a20193a00002008200828020041016a3602000c020b20032802b40a210120032802b00a2113024020032802b4052208450d0020034188056a4104412820032802b00541284b22191b6a220d2802002212450d112003280288052115200d2012417f6a2212360200201520034188056a20191b20126a2d0000211920032008417f6a22083602b4052008410171450d00201941f0017121120240024020034188056a4104412820032802b005221941284b22081b6a280200220d2019412820081b460d00201f202520081b2119201520034188056a20081b21080c010b20034188056a10d997808000200328028c05210d2003280288052108201f21190b2008200d6a20123a00002019201928020041016a3602000b20034188056a201341017420016b10ea978080000c010b20034188056a20032802f40841017420032802f8086b10ea978080000b20032802c40a221320032802c00a22014f0d0320032802bc0a201341286c6a220141003a0000200120032902d00a370001200141096a200341d00a6a41086a290200370000200141116a200341d00a6a41106a290200370000200141196a200341d00a6a41186a2902003700002003201341016a3602c40a024020032802b805450d0020162016417e6a2f00006b41002802ec82d48000118180808000000b200341d80c6a200341e0086a10aa8980800020032d00d90c210120032d00d80c450d000b0b20032802dc0c21140c0d0b200341d0026a41086a200641086a290200370300200341d0026a41106a200641106a290200370300200341d0026a41186a200641186a280200360200200320062902003703d00220032802d00a2114024020032802b805450d0020162016417e6a2f00006b41002802ec82d48000118180808000000b410021150c0e0b20132001419c94c68000108281808000000b4104413010ab80808000000b4104413010ab80808000000b4104201610ab80808000000b2001200841b4e7cd8000109181808000000b2001201641c4e7cd8000109181808000000b2001201641d4e7cd8000108281808000000b2001201641b4e7cd8000109181808000000b2001201341c4e7cd8000109181808000000b2001201341d4e7cd8000108281808000000b41f0e6cd800041224194e7cd800010a181808000000b41f0e6cd800041224194e7cd800010a181808000000b4101211520032802b80a450d0120032802bc0a22012001417e6a2f00006b41002802ec82d48000118180808000000c010b410121150b024020032802b0054129490d0020032802880522012001417e6a2f00006b41002802ec82d48000118180808000000b02402003280284052216450d0020032802800521192016410171210d41002113024020164101460d00201941cc036a21012016417e71210841002113034002402001418c7e6a280200450d00200141907e6a28020022162016417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022162016417e6a2f00006b41002802ec82d48000118180808000000b200141e0036a21012008201341026a2213470d000b0b200d450d002019201341f0016c6a22012802d801450d00200141d8016a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020032802fc04450d0020032802800522012001417e6a2f00006b41002802ec82d48000118180808000000b02402015450d00410521050240201d450d00201c201c417e6a2f00006b41002802ec82d48000118180808000000b0c0b0b200341d80c6a41186a200341d0026a41186a2802002201360200201e200341d0026a41106a2903002204370300200341d80c6a41086a200341d0026a41086a2903002207370300200320032903d002221b3703d80c200c201b370000200c41086a2007370000200c41106a2004370000200c41186a20013600002003201436008d02200341013a008c02410021130b200520032903b002370000200541086a200f290300370000200541106a2018290300370000200541186a201a29030037000041012101200341013a00d80c024020052011412010f5978080000d0041002101200341003a008c020b201721080b200241206a2202200e460d020c000b0b201d450d01201c201c417e6a2f00006b41002802ec82d48000118180808000000c010b0240201d450d00201c201c417e6a2f00006b41002802ec82d48000118180808000000b02402001450d00200341a4016a41026a201141026a2d00003a0000200341a0016a200341a4026a280000360200200341f4006a200341ac026a2d00003a00002003200329009c0237039801200320032800a802360270200320112f00003b01a40141032105200329009402210420032800900221140c060b20134101710d010b20082009460d010c020b20100d010b200341a4016a41026a220120032d00aa013a000020034198016a41086a2205200341bf016a280000360200200341f0006a41046a2213200341c7016a2d00003a0000200320032f01a8013b01a401200320032900b70137039801200320032800c30136027020032800ab01211620032900af012104200341ec006a41026a220820012d00003a0000200320032f01a4013b016c200341e0006a41086a220120052802003602002003200329039801370360200341d8006a41046a220520132d00003a000020032003280270360258200341aa0d6a20082d00003a0000200320032f016c3b01a80d20002003290360370067200041ef006a200128020036000020002003280258360073200041f7006a20052d00003a0000200341d80c6a200341086a41d00010f4978080001a200041086a200341d80c6a41d30010f4978080001a2000200437005f2000201636005b200041003602000c030b410221050c010b20032802cc01450d0020032802d00122012001417e6a2f00006b41002802ec82d48000118180808000000b200341ec006a41026a2201200341a4016a41026a2d00003a0000200341e0006a41086a221320034198016a41086a280200360200200341d8006a41046a2216200341f0006a41046a2d00003a0000200020032900753700252000412d6a200341fd006a290000370000200041356a20034185016a2900003700002000413d6a2003418d016a290000370000200041c4006a200341f0006a41246a280000360000200320032f01a4013b016c200320032903980137036020032003280270360258200041076a20012d00003a0000200020032f016c3b0005200020032903603700142000411c6a201328020036000020002003280258360020200041246a20162d00003a00002000200437020c20002014360208200020053a0004200041013602000240200328020c2216450d00024020032802142200450d002003280208220541086a21012005290300427f8542808182848890a0c0807f8321040340024020044200520d000340200541807d6a210520012903002104200141086a22132101200442808182848890a0c0807f83220442808182848890a0c0807f510d000b200442808182848890a0c0807f852104201321010b2004427f7c210702402005410020047aa74103766b41306c6a221341706a280200450d00201341746a28020022132013417e6a2f00006b41002802ec82d48000118180808000000b200720048321042000417f6a22000d000b0b2016201641306c41376a41707122016a4177460d00200328020820016b22012001417e6a2f00006b41002802ec82d48000118180808000000b2003280248450d00200328024c22012001417e6a2f00006b41002802ec82d48000118180808000000b200341b00e6a2480808080000bb60f010d7f23808080800041a0026b2202248080808000024002400240024002400240024002400240024002402001280200417d6a2203410420034104491b417e6a0e03030001040b200141046a21030c010b200121030b200241206a200341c00110f4978080001a20012802e4012204410f4b0d012004410c6c210520012802dc01200441286c6a210320024180026a41086a210620012802e001210720024180026a41186a210802400240024002400240024003400240200241206a20056a2209280200220a4102460d0002400240200a410171450d00200941086a280200220b450d06200941046a280200210a2008420037030020024180026a41106a4200370300200642003703002002420037038002200b41204b0d0520024180026a200a200b10f4978080001a200241e0016a41086a200641086a290200370300200241e0016a41106a200641106a290200370300200220062902003703e0012002280284022109200228028002210c4101210a0c010b200941046a280200210a200941086a280200220b4120470d03200241f8016a41026a200a41026a2d00003a0000200241e0016a41086a200a41176a290000370300200241e0016a41106a200a411f6a2d00003a00002002200a2f00003b01f8012002200a29000f3703e001200a28000b2109200a280007210c200a280003210b4100210a0b200241fc016a41026a220d200241f8016a41026a2d00003a0000200220022f01f8013b01fc0120024180026a41106a220e200241e0016a41106a2903003703002006200241e0016a41086a290300370300200220022903e00137038002200420074f0d072003200a3a0000200341016a20022f01fc013b00002003410c6a2009360200200341086a200c360200200341046a200b360200200341106a200229038002370200200341036a200d2d00003a0000200341186a2006290300370200200341206a200e2903003702000b2001200441016a22043602e4012005410c6a2105200341286a210320044110470d000c080b0b4100210302400240200b4100480d000240200b0d00410121044101200a200b10f4978080001a0c060b41002d008083d480001a200b41002802f482d480001182808080000022040d01410121030b2003200b4194adc6800010b980808000000b2004417e6a41003b00002004200a200b10f4978080001a0c030b410021030240200b4100480d0041002d008083d480001a200b41002802f482d480001182808080000022040d02410121030b2003200b4194adc6800010b980808000000b200041003a0001200041003a00000c0a0b2004417e6a41003b00002004200a200b10f4978080001a0b41002d008083d480001a0240413041002802f482d48000118280808000002203450d002003200341036a417c7120036b22056a220342003702102003200b36020c200320043602082003200b36020420034188808080783602002003417e6a20053b0000200341186a4200370200200341206a4200370200200341286a420037020020002003360204200041013a00000c090b4104413010ab80808000000b20042007419095c68000108281808000000b20012802e4010d00200128020c210320012802082104024002402001280204410171450d002003450d07200241386a22054200370300200241206a41106a220a4200370300200241206a41086a420037030020024200370320200341204b0d04200241206a2004200310f4978080001a200241086a200a290300370300200241106a200529030037030020022002290328370300200228022421052002280220210a410121090c010b20034120470d022002411c6a41026a200441026a2d00003a0000200241086a200441176a290000370300200241106a2004411f6a2d00003a0000200220042f00003b011c2002200429000f370300200428000b21052004280007210a20042800032103410021090b20012802e001450d04200141013602e40120012802dc01220420093a0000200420022f011c3b00012004200536020c2004200a3602082004200336020420042002290300370210200441036a2002411e6a2d00003a0000200441186a200241086a290300370200200441206a200241106a2903003702000b20004180023b01000c050b410021050240024020034100480d00024020030d004101210541012004200310f4978080001a0c040b41002d008083d480001a200341002802f482d480001182808080000022050d01410121050b200520034194adc6800010b980808000000b2005417e6a41003b000020052004200310f4978080001a0c010b410021050240024020034100480d0041002d008083d480001a200341002802f482d480001182808080000022050d01410121050b200520034194adc6800010b980808000000b2005417e6a41003b000020052004200310f4978080001a0b41002d008083d480001a0240413041002802f482d48000118280808000002204450d00200041013a00002004200441036a417c7120046b220a6a220442003702102004200336020c20042005360208200420033602042004418880808078360200200020043602042004417e6a200a3b0000200441186a4200370200200441206a4200370200200441286a42003702000c030b4104413010ab80808000000b41004100418095c68000108281808000000b200041003b01000b200241a0026a2480808080000b990701077f23808080800041106b2202248080808000024002400240024002400240024002402000280200417d6a2203410420034104491b0e050702020001070b20002802e40121030240024020012d002c4101710d00200141046a210020034104742104024002402001410441282001280228220541284b22031b6a28020022062005412820031b460d002000200141286a20031b21002001280200200120031b21030c010b200110d99780800020012802042106200128020021030b200320066a20043a00002000200028020041016a3602000c010b200128020420012802282200200041284b22001b2206450d032001280200200120001b20066a417f6a220020002d00002003723a00000b2001200128022c41016a36022c0c060b20002802d4012204410176210320002802d001210620002802cc0121050240024020044101710d00410021070240200320064b0d0041002108200321040c020b2003200641dce4cd8000109281808000000b200320064f0d0341012107200341016a2104200520036a2d0000410f7121080b200220083a0005200220073a00042002200620046b36020c2002200520046a3602082001200241046a10ec9780800020002802e40121030240024020012d002c4101710d00200141046a210020034104742104024002402001410441282001280228220541284b22031b6a28020022062005412820031b460d002000200141286a20031b21002001280200200120031b21030c010b200110d99780800020012802042106200128020021030b200320066a20043a00002000200028020041016a3602000c010b200128020420012802282200200041284b22001b2206450d042001280200200120001b20066a417f6a220020002d00002003723a00000b2001200128022c41016a36022c0c050b20002802182205410176210320002802142106200028021021040240024020054101710d00410021050240200320064b0d0041002107200321000c020b2003200641dce4cd8000109281808000000b200320064f0d0441012105200341016a2100200420036a2d0000410f7121070b200220073a0005200220053a00042002200620006b36020c2002200420006a3602082001200241046a10ec978080000c040b41a4e6cd8000413a41e0e6cd800010a181808000000b2003200641ece4cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b2003200641ece4cd8000108281808000000b200241106a2480808080000bae0901097f23808080800041c0006b22032480808080002001280200417d6a2204410420044104491b2104024002400240024002400240024002400240024002400240024002400240024002402002450d004101210520040e050104060703010b4102210520040e050001050602000b41002d008083d480001a410141002802f482d48000118280808000002202450d09200241003a00002000410136020820002002360204200041013602002002417e6a41003b00000c080b20012802182205410176210420012802142102200128021021060240024020054101710d00410021070240200420024b0d0041002108200421090c020b2004200241dce4cd8000109281808000000b200420024f0d0a41012107200441016a2109200620046a2d0000410f7121080b200320083a0025200320073a0024200341003602202003200220096b36021c2003200620096a360218200341086a41086a200141046a220441086a28020036020020032004290200370308200241017420056b21020c020b20012802d4012206410176210920012802d001210420012802cc0121080240024020064101710d004100210a0240200920044b0d004100210b200921070c020b2009200441dce4cd8000109281808000000b200920044f0d0a4101210a200941016a2107200820096a2d0000410f71210b0b2003200b3a00252003200a3a0024200341003602202003200420076b36021c2003200820076a360218200441017420066b210420012802dc01220920012802e00141286c6a21062002450d042003200536020820032002ad428080808080048437020c0c050b20012802182209410176210520012802142104200128021021070240024020094101710d00410021080240200520044b0d004100210a200521060c020b2005200441dce4cd8000109281808000000b200520044f0d0a41012108200541016a2106200720056a2d0000410f71210a0b2003200a3a0025200320083a0024200341003602202003200420066b36021c2003200720066a36021820032002ad428080808080048437020c20034101360208200441017420096b21020b2000200341186a2002200341086a10828a8080000c040b2001280218210220012802142104200341086a200141106a10e79780800020012802e001450d0820012802dc012d00004102470d0941cc94c68000412441f094c6800010a181808000000b024002402002450d002003200536020820032002ad428080808080048437020c0c010b200341106a200141cc016a280200360200200320012902c4013703080b2000200341186a200341086a109c8a808000000b200341106a200141c8016a280200360200200320012902c0013703080b2000200341186a200420092006200341086a109f8a8080000b024020012802d801450d0020012802dc0122012001417e6a2f00006b41002802ec82d48000118180808000000b200341c0006a2480808080000f0b4101410141f49ac6800010b980808000000b2004200241ece4cd8000108281808000000b2009200441ece4cd8000108281808000000b2005200441ece4cd8000108281808000000b4100410041bc94c68000108281808000000b2000200341086a200441017420026b200341186a109d8a808000000bcc0501057f23808080800041c0066b220224808080800041002d008083d480001a0240024041800341002802f482d48000118280808000002203450d002003200341036a417c71220420036b22056a417e6a20053b000020024190046a41086a2001280228220341086a29000037030020024190046a41106a200341106a29000037030020024190046a41186a200341186a2900003703002002200329000037039004200241203602b804200220033602b404200241003602b00420024188026a200120024190046a200241b0046a41a0f1ca8000410110e889808000200228028c0221010240024020022802880222054107470d0020004180808080783602002000200136020420042004417e6a2f01006b41002802ec82d48000118180808000000c010b200241086a20024188026a41086a41fd0110f4978080001a200241bc046a200241086a41dc0110f4978080001a20024198066a41206a20024184026a2d00003a000020024198066a41186a200241fc016a29020037030020024198066a41106a200241086a41ec016a29020037030020024198066a41086a200241ec016a290200370300200220022902e4013703980641002d008083d480001a41ec0141002802f482d48000118280808000002203450d022003200341036a417c7120036b22066a2203200136020c2003200536020820034281808080103702002003417e6a20063b0000200341106a200241bc046a41dc0110f4978080001a200420033602082004410036020020004200370234200041013602082000200436020420004108360200200420022903980637000c200441146a20024198066a41086a2903003700002004411c6a20024198066a41106a290300370000200441246a200241b0066a2903003700002004412c6a200241b8066a2d00003a00000b200241c0066a2480808080000f0b4104418003418898c6800010b980808000000b410441ec0110ab80808000000bcc0401097f2380808080004180016b2204248080808000200441c4006a200110ad89808000200428024821050240024020042802442206418080808078470d002000418080808078360200200020053602040c010b200441086a41386a2207200441c4006a41386a280200360200200441086a41306a2208200441c4006a41306a290200370200200441086a41286a2209200441c4006a41286a290200370200200441086a41206a220a200441c4006a41206a290200370200200441086a41186a220b200441c4006a41186a290200370200200441086a41106a220c200441c4006a41106a2902003702002004200429024c3702102004200536020c200420063602080240200441086a20012002200310af898080002201450d00200041808080807836020020002001360204024020042802102201450d00200428020c41086a210003402000280200220520052802002205417f6a360200024020054101470d00200010de8f8080000b200041306a21002001417f6a22010d000b0b02402004280208450d00200428020c22002000417e6a2f00006b41002802ec82d48000118180808000000b200428023c4129490d01200428021422002000417e6a2f00006b41002802ec82d48000118180808000000c010b20002004290208370200200041386a2007280200360200200041306a2008290200370200200041286a2009290200370200200041206a200a290200370200200041186a200b290200370200200041106a200c290200370200200041086a200441086a41086a2902003702000b20044180016a2480808080000bda0402037f017e23808080800041c0006b2204248080808000200441086a2000200120022003410110b2898080000240024020042d00084101470d00200428020c21010c010b024020042d00090d002000280208210241002101200041003602082002450d01200028020441086a210303402003280200220020002802002200417f6a360200024020004101470d00200310de8f8080000b200341306a21032002417f6a22020d000c020b0b4100210120002802082203450d0020002003417f6a220236020820002802042205200241306c6a22032802004105460d0020002802002106200441106a41286a200341286a290200370300200441106a41206a200341206a290200370300200441106a41186a200341186a290200370300200441106a41106a200341106a290200370300200441106a41086a200341086a2902003703002003290200210741002101200041003602082004200737031002402002450d00200541086a210303402003280200220120012802002201417f6a360200024020014101470d00200310de8f8080000b200341306a21032002417f6a22020d000b20002802002106200028020821010b024020012006470d00200041e499c680001099868080000b2000280204200141306c6a22032004290310370200200341286a200441106a41286a290300370200200341206a200441106a41206a290300370200200341186a200441106a41186a290300370200200341106a200441106a41106a290300370200200341086a200441106a41086a2903003702002000200141016a360208410021010b200441c0006a24808080800020010b8b2a01167f23808080800041d0026b22032480808080000240024020012802082204450d0020012802042205200441306c6a220641506a2207450d00200141106a2108200141346a21092001410c6a210a200341306a41086a210b200341306a41046a210c200341306a41e4016a220d41206a210e0340200641546a210f200641586a221028020022112802e801211220112802e4012113024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020072802000e05030001020f030b2011280208417d6a2204410420044104491b417e6a0e03040506030b200f2802002104411821052011280208417d6a2214410420144104491b417d6a0e020908020b2011280208417d6a2206410420064104491b0e052525090a0b250b2007410141032011280208417d6a2201410420014104491b417e6a4103491b3602002000201036020c2000200a3602042000410136020020002006415d6a41002006415c6a2d00001b3602080c320b41f096c6800041e60041d897c68000108081808000000b201128021c220420112802182205490d0a200420124b0d0b201320056a2115200420056b21052011280220221441017621040240024020144101710d00410021160240200420054b0d0041002117200421140c020b2004200541dce4cd8000109281808000000b200420054f0d0d41012116200441016a2114201520046a2d0000410f7121170b200320173a0031200320163a00302003200520146b3602382003201520146a360234200a200341306a10ec978080002006415c6a2d0000410171450d02200341186a2006415d6a220641186a290000370300200341106a200641106a290000370300200341086a200641086a290000370300200320062900003703000c030b2001280234211102400240200128023822064101710d000240024020082009201141284b22041b220628020022122011412820041b460d00200a280200200a20041b21110c010b200a10d99780800020082802002112200a2802002111200821060b201120126a41003a00002006200628020041016a360200200128023821060c010b20082802002011201141284b1b450d0d0b2001200641016a36023820102802002104410421110240024002400240024020072802000e050001023003000b2004280208417d6a2211410420114104491b417e6a41034f0d02410121110c030b410221112004280208417d6a2206410420064104491b417d6a41024f0d01410021060c2e0b200f2802002111024002402004280208417d6a2206410420064104491b417d6a0e020001020b2011410e4b0d010c2d0b2011410f490d2c0b410321110b0c2b0b20112802d801220620112802d4012204490d0c200620124b0d0d201320046a2112200620046b210620112802dc01220441017621110240024020044101710d00410021130240201120064b0d0041002105201121040c020b2011200641dce4cd8000109281808000000b201120064f0d0f41012113201141016a2104201220116a2d0000410f7121050b200320053a0031200320133a00302003200620046b3602382003201220046a360234200a200341306a10ec978080002001280234211102400240200128023822064101710d000240024020082009201141284b22041b220628020022122011412820041b460d00200a280200200a20041b21110c010b200a10d99780800020082802002112200a2802002111200821060b201120126a41003a00002006200628020041016a360200200128023821060c010b20082802002011201141284b1b450d100b2001200641016a36023820102802002104410421110240024002400240024020072802000e050001022d03000b2004280208417d6a2211410420114104491b417e6a41034f0d02410121110c030b410221112004280208417d6a2206410420064104491b417d6a41024f0d01410021060c2b0b200f2802002111024002402004280208417d6a2206410420064104491b417d6a0e020001020b2011410e4b0d010c2a0b2011410f490d290b410321110b0c280b200341186a4200370300200341106a4200370300200341086a4200370300200342003703000b2011280214210620112802102104024002400240024002400240201128020c4101470d000240024020062004490d00200620124b0d01410121110c030b2004200641f8ddcd8000109581808000000b2006201241f8ddcd8000109181808000000b20062004490d01200620124b0d02410021110b200320113602b8022003200620046b3602c0022003201320046a3602bc0220012802382206410176211120064101710d022011200828020020092802002206200641284b22061b22044b0d12200a280200200a20061b2106410021040c030b2004200641e8ddcd8000109581808000000b2006201241e8ddcd8000109181808000000b2011200828020020092802002206200641284b22041b22064b0d10201120064f0d112003200a280200200a20041b220620116a2d000041f001713a00cd02410121040b200320043a00cc02200320113602c802200320063602c402200341306a20022003200341b8026a200341c4026a410110e889808000024020032802304107470d0020102802002104410421012003280234210602400240024020072802000e050002012826000b2004280208417d6a2201410420014104491b417e6a41034f0d25410121010c270b200f2802002101024002402004280208417d6a2211410420114104491b417d6a0e020001260b2001410e4b0d250c260b2001410f490d250c240b41022101410021112004280208417d6a2204410420044104491b417d6a41024f0d230c250b41002d008083d480001a41ec0141002802f482d48000118280808000002211450d112011201141036a417c7120116b22076a22064281808080103702002006417e6a20073b0000200641086a200341306a41e40110f4978080001a0240200128020822072001280200470d00200141f499c680001099868080000b2001280204200741306c6a22112006360208201141003602002011200d29020037020c201141146a200d41086a2902003702002011411c6a200d41106a290200370200201141246a200d41186a2902003702002011412c6a200e2d00003a00002001200741016a3602080c290b411421050b2004410f4b0d10201120056a2004410c6c6a22112802004102460d1302400240024020012802382214450d0020082009200928020041284b22051b2802002216450d14200a280200211520014110413420051b6a2016417f6a22163602002015200a20051b20166a2d0000211620012014417f6a220536023802402005410171450d00201641f00171211702400240200820092009280200221841284b22141b220528020022162018412820141b460d002015200a20141b21140c010b200a10d99780800020082802002116200a2802002114200821050b201420166a20173a00002005200528020041016a360200200128023821050b20054101710d010b2004410474211502400240200820092009280200221641284b22051b220428020022142016412820051b460d00200a280200200a20051b21050c010b200a10d99780800020082802002114200a2802002105200821040b200520146a20153a00002004200428020041016a3602000c010b200828020020092802002205200541284b22051b2214450d13200a280200200a20051b20146a417f6a220520052d00002004723a00000b20012001280238220541016a2214360238024002402006415c6a2d0000410171450d00200341186a2006415d6a220641186a290000370300200341106a200641106a290000370300200341086a200641086a290000370300200320062900003703000c010b200341186a4200370300200341106a4200370300200341086a4200370300200342003703000b201128020821062011280204210402400240024002400240024020112802004101470d000240024020062004490d00200620124b0d01410121110c030b2004200641f8ddcd8000109581808000000b2006201241f8ddcd8000109181808000000b20062004490d01200620124b0d02410021110b200320113602b8022003200620046b3602c0022003201320046a3602bc02201441017621112005410171450d022011200828020020092802002206200641284b22061b22044b0d18200a280200200a20061b2106410021040c030b2004200641e8ddcd8000109581808000000b2006201241e8ddcd8000109181808000000b2011200828020020092802002206200641284b22041b22064b0d16201120064f0d172003200a280200200a20041b220620116a2d000041f001713a00cd02410121040b200320043a00cc02200320113602c802200320063602c402200341306a20022003200341b8026a200341c4026a410110e889808000024020032802304107470d0020102802002104410421012003280234210602400240024020072802000e050002012321000b2004280208417d6a2201410420014104491b417e6a41034f0d20410121010c220b200f2802002101024002402004280208417d6a2211410420114104491b417d6a0e020001210b2001410e4b0d200c210b2001410f490d200c1f0b41022101410021112004280208417d6a2204410420044104491b417d6a41024f0d1e0c200b41002d008083d480001a41ec0141002802f482d48000118280808000002211450d172011201141036a417c7120116b22076a22064281808080103702002006417e6a20073b0000200641086a200341306a41e40110f4978080001a0240200128020822072001280200470d00200141f499c680001099868080000b2001280204200741306c6a22112006360208201141003602002011200d29020037020c201141146a200d41086a2902003702002011411c6a200d41106a290200370200201141246a200d41186a2902003702002011412c6a200e2d00003a00002001200741016a3602080c270b200a201128021c20112802186b41017420112802206b10ea978080000c1b0b20012802382206450d1a20082009200928020041284b22111b2802002204450d16200a280200210720014110413420111b6a2004417f6a22043602002007200a20111b20046a2d0000210420012006417f6a22113602382011410171450d1a200441f00171210f02400240200820092009280200221241284b22061b221128020022042012412820061b460d002007200a20061b21060c010b200a10d99780800020082802002104200a2802002106200821110b200620046a200f3a00002011201128020041016a3602000c1a0b200a20112802d80120112802d4016b41017420112802dc016b41016a10ea978080000c190b20012004417f6a2211360208200341086a22062005201141306c6a2211410c6a290200370300200341106a2207201141146a290200370300200341186a22042011411c6a290200370300200341206a220f201141246a290200370300200341286a22122011412c6a28020036020020032011290204370300201128020022114105460d15200c2003290300370200200c41286a2012280200360200200c41206a200f290300370200200c41186a2004290300370200200c41106a2007290300370200200c41086a2006290300370200200320113602302003280238221120112802002211417f6a360200024020114101470d00200b10de8f8080000b0240024020012802082211450d002001280204201141306c6a221141506a22060d010b200041003602000c270b201141586a280200210f201141546a2104410421110240024002400240024020062802000e050001021c03000b200f280208417d6a2211410420114104491b417e6a41034f0d02410121110c030b41022111200f280208417d6a2207410420074104491b417d6a41024f0d01410021070c1a0b2004280200211102400240200f280208417d6a2207410420074104491b417d6a0e020001020b2011410e4b0d010c190b2011410f490d180b410321110b0c170b200520044188decd8000109581808000000b200420124188decd8000109181808000000b2004200541ece4cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b200420064188decd8000109581808000000b200620124188decd8000109181808000000b2011200641ece4cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b2011200441b4e7cd8000109181808000000b2011200641c4e7cd8000109181808000000b2011200641d4e7cd8000108281808000000b410441ec0110ab80808000000b2004411041e096c68000108281808000000b41f0e6cd800041224194e7cd800010a181808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b2007410341022004410f461b360200200f200441016a3602000c130b2011200441b4e7cd8000109181808000000b2011200641c4e7cd8000109181808000000b2011200641d4e7cd8000108281808000000b410441ec0110ab80808000000b41f0e6cd800041224194e7cd800010a181808000000b419096c6800041cd0041e897c6800010a181808000000b201141016a2107410221110b20042007360200200620113602000c0b0b0240024020012802082211450d002001280204201141306c6a221141506a22060d010b200041003602000c0e0b201141586a280200210f201141546a210441042111024002400240024002400240024020062802000e050001020603000b200f280208417d6a2211410420114104491b417e6a41034f0d02410121110c030b41022111200f280208417d6a2207410420074104491b417d6a41024f0d01410021070c040b2004280200211102400240200f280208417d6a2207410420074104491b417d6a0e020001020b2011410e4b0d010c030b2011410f490d020b410321110b0c010b201141016a2107410221110b20042007360200200620113602000c0a0b410321010c010b200141016a2111410221010b200720013602002000200636020820004201370200200f20113602000c0a0b410321010c010b200141016a2111410221010b200720013602002000200636020820004201370200200f20113602000c070b201141016a2106410221110b20072011360200200f20063602000c020b201141016a2106410221110b20072011360200200f20063602000b20012802082204450d0120012802042205200441306c6a220641506a22070d000b0b200041003602000b200341d0026a2480808080000b800b01047f2380808080004180016b2206248080808000200641c4006a200110ad89808000200628024821070240024020062802442208418080808078470d002000418080808078360200200020073602040c010b200641086a41386a200641c4006a41386a280200360200200641086a41306a200641c4006a41306a290200370200200641086a41286a200641c4006a41286a290200370200200641086a41206a200641c4006a41206a290200370200200641086a41186a200641c4006a41186a290200370200200641086a41106a200641c4006a41106a2902003702002006200629024c3702102006200736020c2006200836020802400240024020030d00200641c4006a200641086a200120042005410110b28980800020062d0044450d02200628024821010c010b02402005450d002004200220052003200520034922091b10f5978080002208200520036b20081b4101480d000240024020090d0020022004200310f597808000450d010b20062802102103200641003602102003450d03200741086a210103402001280200220520052802002205417f6a360200024020054101470d00200110de8f8080000b200141306a21012003417f6a22030d000c040b0b200641c4006a200641086a200120022003410110b289808000024020062d0044450d00200628024821010c020b024020062d00454101710d0020062802102103200641003602102003450d03200628020c41086a210103402001280200220520052802002205417f6a360200024020054101470d00200110de8f8080000b200141306a21012003417f6a22030d000c040b0b200641c4006a200641086a200120042005410110b289808000024020062d0044450d00200628024821010c020b200628020c220941086a2105200341017421044100210720062802102108410021010340024020082001470d00200641003602102008450d04200941086a210103402001280200220320032802002203417f6a360200024020034101470d00200110de8f8080000b200141306a21012008417f6a2208450d050c000b0b0240024002400240024020052802002203280208417d6a2202410420024104491b0e050400010203040b200720032802206b200328021c20032802186b4101746a21070c030b200720032802206b200328021c20032802186b4101746a21070c020b200741016a21070c010b200720032802dc016b20032802d80120032802d4016b4101746a41016a21070b200141016a2101200541306a2105200720044d0d000b200641c4006a200641086a2001417f6a10a889808000200641086a10a38f80800002402006280208450d00200628020c22012001417e6a2f00006b41002802ec82d48000118180808000000b200641086a41086a200641c4006a41086a280200360200200620062902443703080c020b200641086a20012002200310af898080002201450d010b200041808080807836020020002001360204024020062802102200450d00200628020c41086a210103402001280200220320032802002203417f6a360200024020034101470d00200110de8f8080000b200141306a21012000417f6a22000d000b0b02402006280208450d00200628020c22012001417e6a2f00006b41002802ec82d48000118180808000000b200628023c4129490d01200628021422012001417e6a2f00006b41002802ec82d48000118180808000000c010b20002006290308370200200041386a200641086a41386a280200360200200041306a200641086a41306a290300370200200041286a200641086a41286a290300370200200041206a200641086a41206a290300370200200041186a200641086a41186a290300370200200041106a200641086a41106a290300370200200041086a200641086a41086a2903003702000b20064180016a2480808080000b8b2a01187f23808080800041e0066b2206248080808000200128020821072001410036020802402007450d00200128020441086a210803402008280200220920092802002209417f6a360200024020094101470d00200810de8f8080000b200841306a21082007417f6a22070d000b0b200141346a210a200141106a210b0240200141104134200128023441284b22081b6a280200450d00200b200a20081b41003602000b20014100360238200641e0046a41186a4200370300200641e0046a41106a4200370300200641e0046a41086a4200370300200642003703e004200641203602c806200641003602c006200620022802283602c406200641a0026a2002200641e0046a200641c0066a41a0f1ca8000410110e88980800020062802a402210c0240024020062802a002220d4107470d00200041013a00002000200c3602040c010b2006410c6a200641a0026a41086a220e41dc0110f4978080001a200641e8016a41086a2006418d046a290000370300200641e8016a41106a220f20064195046a290000370300200641e8016a41186a2006419d046a29000037030020062006290085043703e80120062d008404211020064100360290022006200436028c02200620033602880241002d008083d480001a024002400240024002400240024002400240024002400240024041ec0141002802f482d48000118280808000002208450d002001410c6a2111200841036a417c7120086b211220064185046a211320044101742114200641e8016a41086a2115200641e8016a41186a211641002117410021090340200820126a2207200c36020c2007200d36020820074281808080103702002007417e6a20123b0000200741106a2006410c6a41dc0110f4978080001a0240200128020822122001280200470d00200141f499c680001099868080000b2001280204201241306c220c6a220820103a000c2008200736020820084100360200200820062903e80137000d200841156a20152903003700002008411d6a200f290300370000200841256a20162903003700002001201241016a220836020802400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002402008450d00200c20012802046a2207450d00200741306a221841586a28020022082802e801211220082802e401210c2008280208417d6a220d4104200d4104491b0e051501020316150b419898c6800041c70041e098c6800010a181808000000b200828021c220120082802182213490d02200120124b0d032006200828022022083602a8022006200120136b22103602a4022006200c20136a22173602a002024002400240200441017420096b220f201041017420086b2215200f2015491b2201450d0003402008410176221320104f0d022009410176221220044f0d03201720136a2d00002213410f71201341047620084101711b220c200320126a2d00002213410f71201341047620094101711b2213470d15200841016a2108200941016a21092001417f6a22010d000b0b2015200f4b2015200f496b21082005450d140c230b2013201041f0e2cd8000108281808000000b2012200441f0e2cd8000108281808000000b200828021c221820082802182219490d03201820124b0d0420062008280220220d36029c022006201820196b2218360298022006200c20196a221a36029402024020064188026a20064194026a10e69780800022192018410174200d6b221b460d000240024002400240200441017420096b2210201b2010201b491b2208450d000340200d410176220120184f0d032009410176221320044f0d040240201a20016a2d00002201410f712001410476200d4101711b2212200320136a2d00002201410f71200141047620094101711b2201460d00201220014b20122001496b21082005450d030c230b200d41016a210d200941016a21092008417f6a22080d000b0b201b20104b201b2010496b210820050d200b200841004a0d200c210b2001201841f0e2cd8000108281808000000b2013200441f0e2cd8000108281808000000b200741013602002006200920196a220936029002200d410176210702400240200d4101710d004100211b0240200720184b0d004100211c2007210d0c020b2007201841dce4cd8000109281808000000b200720184f0d064101211b200741016a210d201a20076a2d0000410f71211c0b2006201c3a00a1022006201b3a00a00220062018200d6b3602a8022006201a200d6a3602a4022011200641a0026a10ec97808000024002402010410171450d00200641a8046a41186a2016290300370300200641a8046a41106a200f290300370300200641a8046a41086a2015290300370300200620062903e8013703a8040c010b200641a8046a41186a4200370300200641a8046a41106a4200370300200641a8046a41086a4200370300200642003703a8040b2008280214210720082802102110024002400240024002400240200828020c4101470d000240024020072010490d00200720124b0d01410121080c030b2010200741f8ddcd8000109581808000000b2007201241f8ddcd8000109181808000000b20072010490d01200720124b0d02410021080b200620083602c8042006200720106b3602d0042006200c20106a3602cc04201920176a2217410176210820174101710d02200820044b0d0a200641003a00dc04200620083602d804200620033602d4040c030b2010200741e8ddcd8000109581808000000b2007201241e8ddcd8000109181808000000b200820044b0d08200820044f0d09200641013a00dc04200620033602d404200620083602d8042006200320086a2d000041f001713a00dd040b200641a0026a2002200641a8046a200641c8046a200641d4046a410110e88980800020062802a402210c024020062802a002220d4107470d00200041013a00002000200c3602040c250b200641e0046a200e41dc0110f4978080001a200641c0066a41086a201341086a290000370300200641c0066a41106a201341106a290000370300200641c0066a41186a201341186a290000370300200620132900003703c0060c140b20142009460d0e2009410176220d20044f0d092003200d6a2d0000210d20074102360200201841546a200d410f71200d41047620094101711b22073602000240024020012d00384101710d002007410474211a02400240200b200a200a280200221b41284b22181b220d2802002219201b412820181b460d002011280200201120181b21180c010b201110d997808000200b280200211920112802002118200b210d0b201820196a201a3a0000200d200d28020041016a3602000c010b200b280200200a280200220d200d41284b220d1b2218450d0920112802002011200d1b20186a417f6a220d200d2d00002007723a00000b2001200128023841016a36023820082007410c6c6a2208280218220d4102460d0a200841186a21072006200941016a220936029002024002402010410171450d00200641a8046a41186a2016290300370300200641a8046a41106a200f290300370300200641a8046a41086a2015290300370300200620062903e8013703a8040c010b200641a8046a41186a4200370300200641a8046a41106a4200370300200641a8046a41086a4200370300200642003703a8040b2007280208210820072802042107024002400240024002400240200d410171450d000240024020082007490d00200820124b0d01410121120c030b2007200841f8ddcd8000109581808000000b2008201241f8ddcd8000109181808000000b20082007490d01200820124b0d02410021120b200620123602c8042006200820076b3602d0042006200c20076a3602cc04201741016a220741017621082017410171450d02200820044b0d0f200641003a00dc04200620083602d804200620033602d4040c030b2007200841e8ddcd8000109581808000000b2008201241e8ddcd8000109181808000000b200820044b0d0d200820044f0d0e200641013a00dc04200620033602d404200620083602d8042006200320086a2d000041f001713a00dd040b200641a0026a2002200641a8046a200641c8046a200641d4046a410110e88980800020062802a402210c024020062802a002220d4107470d00200041013a00002000200c3602040c240b200641e0046a200e41dc0110f4978080001a200641c0066a41086a201341086a290000370300200641c0066a41106a201341106a290000370300200641c0066a41186a201341186a290000370300200620132900003703c00620062d0084042110200721170c140b201320014188decd8000109581808000000b200120124188decd8000109181808000000b201920184188decd8000109581808000000b201820124188decd8000109181808000000b2007201841ece4cd8000108281808000000b2008200441fce4cd8000109181808000000b20082004418ce5cd8000109181808000000b20082004419ce5cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b200d200441d499c68000108281808000000b200041003b01000c180b2008200441fce4cd8000109181808000000b20082004418ce5cd8000109181808000000b20082004419ce5cd8000108281808000000b20004180023b01000c140b200c20134b200c2013496b210820050d0f0b200841004a0d0f0c100b024020044101742009460d0020074103360200200041003b01000c120b20004180023b01000c110b02400240024002400240024002400240024020082802d801221920082802d401221a490d00201920124b0d01200620082802dc01220d36029c0220062019201a6b2219360298022006200c201a6a221c36029402024020064188026a20064194026a10e697808000221a2019410174200d6b221b460d000240024002400240200441017420096b2210201b2010201b491b2208450d000340200d410176220120194f0d032009410176221320044f0d040240201c20016a2d00002201410f712001410476200d4101711b2212200320136a2d00002201410f71200141047620094101711b2201460d00201220014b20122001496b21082005450d030c140b200d41016a210d200941016a21092008417f6a22080d000b0b201b20104b201b2010496b210820050d110b200841004a0d110c120b2001201941f0e2cd8000108281808000000b2013200441f0e2cd8000108281808000000b20142009201a6a2209460d082009410176221b20044f0d042003201b6a2d0000211b20074102360200201841546a201b410f71201b41047620094101711b2218360200200d410176210702400240200d4101710d004100211b0240200720194b0d004100211d2007210d0c020b2007201941dce4cd8000109281808000000b200720194f0d034101211b200741016a210d201c20076a2d0000410f71211d0b2006201d3a00a1022006201b3a00a00220062019200d6b3602a8022006201c200d6a3602a4022011200641a0026a10ec978080000240024020012d00384101710d002018410474211b02400240200b200a200a280200221c41284b220d1b22072802002219201c4128200d1b460d0020112802002011200d1b210d0c010b201110d997808000200b28020021192011280200210d200b21070b200d20196a201b3a00002007200728020041016a3602000c010b200b280200200a2802002207200741284b22071b220d450d042011280200201120071b200d6a417f6a220720072d00002018723a00000b2001200128023841016a3602380240024020082018410c6c6a2208280214220d4102460d00200841146a21072006200941016a220936029002024002402010410171450d00200641a8046a41186a2016290300370300200641a8046a41106a200f290300370300200641a8046a41086a2015290300370300200620062903e8013703a8040c010b200641a8046a41186a4200370300200641a8046a41106a4200370300200641a8046a41086a4200370300200642003703a8040b2007280208210820072802042107024002400240024002400240200d410171450d000240024020082007490d00200820124b0d01410121120c030b2007200841f8ddcd8000109581808000000b2008201241f8ddcd8000109181808000000b20082007490d01200820124b0d02410021120b200620123602c8042006200820076b3602d0042006200c20076a3602cc042017201a6a41016a2217410176210820174101710d02200820044b0d0b200641003a00dc04200620083602d804200620033602d4040c030b2007200841e8ddcd8000109581808000000b2008201241e8ddcd8000109181808000000b200820044b0d09200820044f0d0a200641013a00dc04200620033602d404200620083602d8042006200320086a2d000041f001713a00dd040b200641a0026a2002200641a8046a200641c8046a200641d4046a410110e88980800020062802a402210c024020062802a002220d4107470d002000200c360204410121080c020b200641e0046a200e41dc0110f4978080001a200641c0066a41086a201341086a290000370300200641c0066a41106a201341106a290000370300200641c0066a41186a201341186a290000370300200620132900003703c0060c0b0b41002108200041003a00010b200020083a00000c190b201a20194188decd8000109581808000000b201920124188decd8000109181808000000b2007201941ece4cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b201b200441d499c68000108281808000000b2008200441fce4cd8000109181808000000b20082004418ce5cd8000109181808000000b20082004419ce5cd8000108281808000000b200041013a00010c070b20062d00840421100b2006410c6a200641e0046a41dc0110f4978080001a2016200641c0066a41186a290300370300200f200641c0066a41106a2903003703002015200641c0066a41086a290300370300200620062903c0063703e80141002d008083d480001a41ec0141002802f482d4800011828080800000220841036a417c7120086b211220080d000b0b410441ec0110ab80808000000b200841004e0d010b200041003a0001200741043602000c010b200020064194026a20064188026a10e6978080002010463a00010b200041003a00000c080b200841004e0d010b200041003a0001200741043602000c010b200020064194026a20064188026a10e6978080002010463a00010b200041003a00000c040b200841004e0d010b200041003a0001200741043602000c010b2000200641a0026a20064188026a10e697808000200f463a00010b200041003a00000b200641e0066a2480808080000bd10902077f017e23808080800041a0026b2202248080808000024002400240024002400240200128020022030d0020004102360210200020012802043602000c010b200128020821042003280200210520032802042106200328022821012002413c6a41286a220741003602002002413c6a20052003200141284b22081b220520052006200120081b6a10cd89808000200241086a41286a2007280200360200200241086a41206a2002413c6a41206a290200370300200241086a41186a2002413c6a41186a290200370300200241086a41106a2002413c6a41106a290200370300200241086a41086a2002413c6a41086a2902003703002002200229023c3703082002200328022c3602342002413c6a2004280200220341086a20032802e40120032802e80110df9780800002400240024002400240024002400240200228023c417d6a2203410420034104491b417f6a0e0400030201030b200228025422054101762103200229024421092002280240210120022802502104200228024c21060240024020054101710d00410021070240200320044b0d0041002108200321050c020b2003200441dce4cd8000109281808000000b200320044f0d0441012107200341016a2105200620036a2d0000410f7121080b200220083a009502200220073a0094022002200420056b36029c022002200620056a36029802200241086a20024194026a10ec978080000c060b20022802900222054101762103200229028002210920022802fc012101200228028c02210420022802880221060240024020054101710d00410021070240200320044b0d0041002108200321050c020b2003200441dce4cd8000109281808000000b200320044f0d0441012107200341016a2105200620036a2d0000410f7121080b200220083a009502200220073a0094022002200420056b36029c022002200620056a36029802200241086a20024194026a10ec9780800020014102460d010c050b20022802800222014102470d030b2000410336021020022802304129490d04200228020822002000417e6a2f00006b41002802ec82d48000118180808000000c040b2003200441ece4cd8000108281808000000b2003200441ece4cd8000108281808000000b20022902840221090b2002280234220441017621030240024020044101710d002003200228020c20022802302205200541284b22051b22064b0d032002280208200241086a20051b2105410021060c010b2003200228020c20022802302205200541284b1b22064b0d03200320064f0d042002280208200241086a200541284b1b220520036a2d00004170712107410121060b02400240200441024f0d0041012104410021080c010b41002d008083d480001a200341002802f482d48000118280808000002204450d052004417e6a41003b0000200321080b20042005200310f49780800021042000200937021420002001360210200020073a000d200020063a000c20002003360208200020043602042000200836020020022802304129490d00200228020822002000417e6a2f00006b41002802ec82d48000118180808000000b200241a0026a2480808080000f0b2003200641b4e7cd8000109181808000000b2003200641c4e7cd8000109181808000000b2003200641d4e7cd8000108281808000000b4101200341f49ac6800010b980808000000bb90401037f23808080800041c0006b2203248080808000200341046a2001200210b089808000024002400240200328020422044101470d00200341086a21050340200341146a200510b3898080000240200328022422044103460d0020044102470d032000200328021436020420004180808080783602000c040b200341046a2001200210b089808000200328020422040d000b0b02402004450d0020032802080d000240024002400240200328020c220228020041fcffffff076a2201410320014105491b0e0403030102000b2002280204450d02200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b20021095898080000b20022002417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c010b200341306a41086a2202200341146a41086a28020036020020032003290214370330024020032d00204101470d0020032d0021210141002d008083d480001a0240413041002802f482d48000118280808000002202450d0020004180808080783602002002200241036a417c7120026b22046a220241868080807836020020022003290330370204200220013a0010200020023602042002417e6a20043b00002002410c6a200341386a2802003602000c020b4104413010ab80808000000b20002003290330370200200041086a20022802003602000b200341c0006a2480808080000ba70701067f23808080800041d0006b2203248080808000200341086a2001200210b089808000024002400240200328020822044101470d002003410c6a21050340200341306a200510b3898080000240200328024022044103460d0020044102470d032000200328023036020420004180808080783602000c040b200341086a2001200210b089808000200328020822040d000b0b02402004450d00200328020c0d0002400240024002402003280210220228020041fcffffff076a2201410320014105491b0e0403030102000b2002280204450d02200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b20021095898080000b20022002417e6a2f00006b41002802ec82d48000118180808000000b20004181808080783602000c010b200328023821062003280234210520032802302107024020032d003c4101470d0020032d003d210141002d008083d480001a0240413041002802f482d48000118280808000002202450d0020004180808080783602002002200241036a417c7120026b22046a220220013a00102002200636020c20022005360208200220073602042002418680808078360200200020023602042002417e6a20043b00000c020b4104413010ab80808000000b20032802482101200328024421080240024020044101710d004100210202400240024020014100480d00024020010d00410121020c030b41002d008083d480001a200141002802f482d480001182808080000022020d01410121020b2002200141f49ac6800010b980808000000b2002417e6a41003b00000b20022008200110f4978080001a200121040c010b200341003a002c20032006360228200320053602240240024020014120470d00200341306a41186a200841186a290000370300200341306a41106a200841106a290000370300200341306a41086a200841086a29000037030020032008290000370330200341186a2002200341306a200341246a10e789808000200328021c210220032802182204418080808078470d012000200236020420004180808080783602002007450d0320052005417e6a2f00006b41002802ec82d48000118180808000000c030b41202001418096c68000108681808000000b200328022021010b20002001360214200020023602102000200436020c2000200636020820002005360204200020073602000b200341d0006a2480808080000bdd0204047f017e027f017e41022102024002402001280200220128020c2203280208280200220428020422050d000c010b20042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d000021030240200128020020012802082204470d002001200441014101410110a386808000200128020821040b2001200441016a2205360208200128020420046a20033a00000240024020030e020001020b410021020c010b200128020c2207280208280200220328020422084104490d0020032008417c6a36020420032003280200220441046a3602002007427f2007290300220642047c220920092006541b370300200428000021040240200128020020056b41034b0d002001200541044101410110a386808000200128020821050b2001200541046a360208200128020420056a2004360000410121020b20002004360204200020023602000bc40202057f017e23808080800041206b2202248080808000024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000002400240024020040e020102000b20004181808080783602000c030b20004180808080783602000c020b200241086a200110ce8480800020022802084101710d00200228020c220341c0004b0d00200241146a2001200310898380800020022802142203418080808078460d0020002002290218370204200020033602000c010b20004181808080783602000b200241206a2480808080000bd70204047f017e027f017e41022102024002402001280200220128020c2203280208220428020422050d000c010b20042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d000021030240200128020020012802082204470d002001200441014101410110a386808000200128020821040b2001200441016a2205360208200128020420046a20033a00000240024020030e020001020b410021020c010b200128020c2207280208220328020422084104490d0020032008417c6a36020420032003280200220441046a3602002007427f2007290300220642047c220920092006541b370300200428000021040240200128020020056b41034b0d002001200541044101410110a386808000200128020821050b2001200541046a360208200128020420056a2004360000410121020b20002004360204200020023602000bc10202057f017e23808080800041206b2202248080808000024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000002400240024020040e020102000b20004181808080783602000c030b20004180808080783602000c020b200241086a200110cf8480800020022802084101710d00200228020c220341c0004b0d00200241146a2001200310868380800020022802142203418080808078460d0020002002290218370204200020033602000c010b20004181808080783602000b200241206a2480808080000bdc0101037f23808080800041106b22022480808080000240024020002802004101470d00200041086a21030240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a000020022003360208200241086a200110dd848080002002200041106a36020c2002410c6a200110dd848080000c010b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000b200241106a2480808080000bd90101047f024020002802004101470d0002402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41013a0000200028020421000240200220046b41034b0d0020012004410410f49180800020012802042105200128020821040b2001200441046a360208200520046a20003600000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000b8e0201047f024020002d00004101470d0002402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b200041016a21002001200341016a22043602082001280204220520036a41013a00000240200220046b411f4b0d0020012004412010f49180800020012802042105200128020821040b200520046a220320002900003700002001200441206a360208200341186a200041186a290000370000200341106a200041106a290000370000200341086a200041086a2900003700000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000b9e0201037f23808080800041106b2202248080808000024002402000280200418080808078460d000240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41013a0000200028020421042002200028020822003602082002200241086a36020c2002410c6a200110dc84808000024020002001280200200128020822036b4d0d0020012003200010f491808000200128020821030b200128020420036a2004200010f4978080001a200320006a21000c010b0240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41003a0000200041016a21000b20012000360208200241106a2480808080000b910301077f0240024020002d00004101470d000240200128020020012802082202470d0020012002410110f491808000200128020821020b2001280204220320026a41013a00002001200241016a220436020841002d008083d480001a412041002802f482d48000118280808000002202450d012002417e6a220541003b00002002200041016a2200290000370000200241086a2206200041086a290000370000200241106a2207200041106a290000370000200241186a2208200041186a2900003700000240200128020020046b411f4b0d0020012004412010f49180800020012802042103200128020821040b200320046a22002002290000370000200041186a2008290000370000200041106a2007290000370000200041086a20062900003700002001200441206a360208200220052f00006b41002802ec82d48000118180808000000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b2001200241016a360208200128020420026a41003a00000f0b4101412010ab80808000000b8e0201047f024020002d00004101470d0002402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b200041016a21002001200341016a22043602082001280204220520036a41013a00000240200220046b411f4b0d0020012004412010f49180800020012802042105200128020821040b200520046a220320002900003700002001200441206a360208200341186a200041186a290000370000200341106a200041106a290000370000200341086a200041086a2900003700000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000bfe0801107f23808080800041206b22032480808080000240024002400240024002400240024002400240024020020d004100210441002d008083d480001a418c0141002802f482d48000118280808000002202450d062002200241036a417c7120026b22056a220641003b018a01200641003602002006417e6a20053b0000024020012f018a01450d002001410c6a2105200641046a210741002108410021040340024002400240200528020022024100480d002005417c6a2802002109024020020d004101210a0c030b41002d008083d480001a200241002802f482d4800011828080800000220a0d01410121080b2008200241a8b2c8800010b980808000000b200a417e6a41003b00000b200a2009200210f497808000210920062f018a01220a410b4f0d032006200a41016a3b018a012007200a410c6c6a220a2002360208200a2009360204200a20023602002005410c6a2105200441016a220420012f018a01490d000b0b2000200436020820004100360204200020063602000c0a0b200341086a200128028c012002417f6a220b10c08980800020032802082202450d0841002d008083d480001a200328020c210c41bc0141002802f482d48000118280808000002205450d012005200541036a417c7120056b220a6a2206200236028c01200641003b018a01200641003602002006417e6a200a3b0000200241003b018801200220063602002003200c41016a36020c2003200636020820012f018a01450d072006418c016a210d20014190016a21042001410c6a210a200641046a210e4100210f20032802102108410021100340024002400240200a28020022024100480d00200a417c6a2802002109024020020d00410121050c030b41002d008083d480001a200241002802f482d480001182808080000022050d014101210f0b200f200241a8b2c8800010b980808000000b2005417e6a41003b00000b20052009200210f4978080002111200341146a2004280200200b10c089808000200328021c21120240024020032802142205450d00200328021821090c010b41002d008083d480001a418c0141002802f482d48000118280808000002205450d04410021092005200541036a417c7120056b22076a220541003b018a01200541003602002005417e6a20073b00000b2009200c470d0420062f018a012209410b4f0d052006200941016a22073b018a01200e2009410c6c6a220920113602042009200236020020092002360208200d20074102746a2005360200200520073b01880120052006360200200441046a2104200a410c6a210a201220086a41016a2108201041016a221020012f018a014f0d070c000b0b41c086c38000412041e086c38000108081808000000b410441bc0110ab80808000000b4104418c0110ab80808000000b41f086c38000413041a087c38000108081808000000b41c086c38000412041b087c38000108081808000000b4104418c0110ab80808000000b200320083602100b20002003290208370200200041086a200341086a41086a2802003602000c010b41849cc6800010a081808000000b200341206a2480808080000bca0201027f23808080800041e0006b220524808080800020052004360204200520033602000240200150450d0041002802b483d48000450d00200541c081808000ad4220862005ad84370310200541c181808000ad42208641a09dc68000ad84370308410028029080d480002104410028028c80d48000210341002802b083d48000210620054202370254200541ac9dc6800036024820054112360244200541909ec680003602402005410136023c200541bc9dc68000ad4280808080c00a8437023420054100360230200541a29ec68000ad4280808080b003843702282005410036022420054281808080902037021c2005410236024c2004419cf4ca8000200641024622061b28021021042005200541086a360250200341b4f4ca800020061b2005411c6a2004118b80808000000b2000200237030820002001370300200541e0006a2480808080000b990501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802e80221012004417f6a22040d000b0b20024108490d00034020012802e8022802e8022802e8022802e8022802e8022802e8022802e8022802e8022101200041786a22000d000b0b20012104410021020b024002400240200220042f01e6024f0d00200421000c010b034020042802e0022200450d0220042f01e402210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f01e6024f0d000b0b0240024020050d00200241016a21020c010b200020024102746a41ec026a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802e80221002005417f6a22050d000b0b20014107490d00034020002802e8022802e8022802e8022802e8022802e8022802e8022802e8022802e8022100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802e80221002005417f6a22050d000b0b20024108490d00034020002802e8022802e8022802e8022802e8022802e8022802e8022802e8022802e8022100200441786a22040d000b0b034020002000417e6a2f00006b210420002802e0022100200441002802ec82d480001181808080000020000d000b0b0b800701077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802e40c21012003417f6a22030d000b0b20024108490d00034020012802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082102024002400240200028020c2203200028020422012f01e20c4f0d00200121040c010b03402001280288022204450d0220012f01e00c210320012001417e6a2f00006b41002802ec82d4800011818080800000200241016a210220042101200320042f01e20c4f0d000b0b0240024020020d00200341016a2105200421010c010b200420034102746a41e80c6a2802002101410021052002417f6a2206450d002002417e6a2107024020064107712202450d0003402006417f6a210620012802e40c21012002417f6a22020d000b0b20074107490d00034020012802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2101200641786a22060d000b0b2000200536020c20004100360208200020013602042004200341fc006c6a210202402004200341186c6a2201280200450d00200128020422042004417e6a2f00006b41002802ec82d48000118180808000000b2002418c026a21040240200128020c450d00200128021022012001417e6a2f00006b41002802ec82d48000118180808000000b200410e189808000200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802e40c21012003417f6a22030d000b0b20024108490d00034020012802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2101200441786a22040d000b0b034020012001417e6a2f00006b21042001280288022101200441002802ec82d480001181808080000020010d000b0b0be50601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802900221012003417f6a22030d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f018e024f0d00200121040c010b03402001280288022204450d0220012f018c02210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f018e024f0d000b0b0240024020030d00200241016a2105200421010c010b200420024102746a4194026a2802002101410021052003417f6a2206450d002003417e6a2107024020064107712203450d0003402006417f6a210620012802900221012003417f6a22030d000b0b20074107490d000340200128029002280290022802900228029002280290022802900228029002280290022101200641786a22060d000b0b2000200536020c200041003602082000200136020402402004200241186c6a2201280200450d00200128020422042004417e6a2f00006b41002802ec82d48000118180808000000b0240200128020c450d00200128021022012001417e6a2f00006b41002802ec82d48000118180808000000b200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802900221012003417f6a22030d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200441786a22040d000b0b034020012001417e6a2f00006b21042001280288022101200441002802ec82d480001181808080000020010d000b0b0bf40501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802900221012005417f6a22050d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200041786a22000d000b0b20012100410021020b024002400240200220002f018e024f0d0020022105200021010c010b03402000280288022201450d0220002f018c02210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f018e024f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4194026a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802900221002004417f6a22040d000b0b20074107490d000340200028029002280290022802900228029002280290022802900228029002280290022100200641786a22060d000b0b200120054103746a22042802b00121010240200441b4016a28020022042802002205450d0020012005118180808000000b02402004280204450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802900221002005417f6a22050d000b0b20024108490d000340200028029002280290022802900228029002280290022802900228029002280290022100200441786a22040d000b0b034020002000417e6a2f00006b21012000280288022100200141002802ec82d480001181808080000020000d000b0b0bd20601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802ac1421012003417f6a22030d000b0b20024108490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082102024002400240200028020c2203200028020422012f01aa144f0d00200121040c010b034020012802a0132204450d0220012f01a814210320012001417e6a2f00006b41002802ec82d4800011818080800000200241016a210220042101200320042f01aa144f0d000b0b0240024020020d00200341016a2105200421010c010b200420034102746a41b0146a2802002101410021052002417f6a2206450d002002417e6a2107024020064107712202450d0003402006417f6a210620012802ac1421012002417f6a22020d000b0b20074107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200641786a22060d000b0b2000200536020c20004100360208200020013602042004200341e0016c6a2101024020042003410c6c6a22042802a413450d00200441a4136a28020422042004417e6a2f00006b41002802ec82d48000118180808000000b200110e089808000200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802ac1421012003417f6a22030d000b0b20024108490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200441786a22040d000b0b034020012001417e6a2f00006b210420012802a0132101200441002802ec82d480001181808080000020010d000b0b0b9e0b01087f23808080800041306b2201248080808000024020002802202202450d000240034020002002417f6a36022002400240200028020022024101470d0020002802040d00200028020821020240200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802bc0221022004417f6a22040d000b0b20034108490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200541786a22050d000b0b2000420037020820002002360204200041013602000c010b2002450d020b20002802082103024002400240200028020c2204200028020422022f01ba024f0d00200221050c010b034020022802b0012205450d0220022f01b802210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01ba024f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41c0026a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802bc0221022003417f6a22030d000b0b20084107490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200741786a22070d000b0b2000200636020c2000410036020820002002360204200520044104746a2103024020052004410c6c6a22022802b401450d00200241b4016a28020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020032d00000e050404010203000b02400240200328020422020d0041002102410021050c010b2001200236022420014100360220200120023602142001410036021020012003280208220236022820012002360218200328020c2105410121020b2001200536022c2001200236021c2001200236020c2001410c6a10c7898080000c030b2003280204450d02200328020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2003280204450d01200328020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b0240200328020c2205450d002003280208210203400240024002400240024020022d00000e050404010203000b02400240200241046a28020022040d0041002104410021070c010b200120043602242001410036022020012004360214200141003602102001200241086a2802002204360228200120043602182002410c6a2802002107410121040b2001200736022c2001200436021c2001200436020c2001410c6a10c7898080000c030b200241046a280200450d02200241086a28020022042004417e6a2f00006b41002802ec82d48000118180808000000c020b200241046a280200450d01200241086a28020022042004417e6a2f00006b41002802ec82d48000118180808000000c010b200241046a108d8f8080000b200241106a21022005417f6a22050d000b0b2003280204450d00200328020822022002417e6a2f00006b41002802ec82d48000118180808000000b200028022022020d010c030b0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b200028020021022000410036020002402002410171450d000240200028020422020d0020002802082102200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802bc0221022004417f6a22040d000b0b20034108490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200541786a22050d000b0b034020022002417e6a2f00006b210520022802b0012102200541002802ec82d480001181808080000020020d000b0b200141306a2480808080000ba314010d7f23808080800041306b2201248080808000024020002802202202450d000240034020002002417f6a36022002400240200028020022024101470d0020002802040d00200028020821020240200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac0921022004417f6a22040d000b0b20034108490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200541786a22050d000b0b2000420037020820002002360204200041013602000c010b2002450d020b2000280208210302400240024002400240200028020c2204200028020422022f01aa094f0d00200221050c010b034020022802a0082205450d0220022f01a809210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01aa094f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41b0096a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802ac0921022003417f6a22030d000b0b20084107490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200741786a22070d000b0b2000200636020c20004100360208200020023602042005200441e0006c6a2109024020052004410c6c6a22022802a408450d00200241a4086a28020422022002417e6a2f00006b41002802ec82d48000118180808000000b02400240200928020022020d0041002102410021050c010b200120023602242001410036022020012002360214200141003602102001200928020422023602282001200236021820092802082105410121020b2001200536022c2001200236021c2001200236020c2001410c6a10c689808000200928020c220a41054b0d01200a450d02200941106a210b4100210c03400240200b200c410c6c6a22022802002205450d00200228020421060240024020022802082208450d00410021020340024002402002450d00200521040c010b4100210402402006450d0020062102024020064107712203450d0003402002417f6a2102200528028c0121052003417f6a22030d000b0b20064108490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200241786a22020d000b0b20052102410021060b024002400240200620022f018a014f0d0020062103200221050c010b034020022802002205450d0220022f018801210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f018a014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a4190016a2802002102410021062004417f6a2207450d002004417e6a210d024020074107712204450d0003402007417f6a2107200228028c0121022004417f6a22040d000b0b200d4107490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200741786a22070d000b0b024020052003410c6c6a2205280204450d00200541046a28020422052005417e6a2f00006b41002802ec82d48000118180808000000b410021052008417f6a22080d010c030b0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020060d00200521020c010b02400240200641077122030d0020062104200521020c010b200621042005210203402004417f6a2104200228028c0121022003417f6a22030d000b0b20064108490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200441786a22040d000b0b034020022002417e6a2f00006b210520022802002102200541002802ec82d480001181808080000020020d000b0b200c41016a220c200a470d000c030b0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b2009280210210a02402009280214220b450d004100210c03400240200a200c410c6c6a22022802002205450d00200228020421060240024020022802082208450d00410021020340024002402002450d00200521040c010b4100210402402006450d0020062102024020064107712203450d0003402002417f6a2102200528028c0121052003417f6a22030d000b0b20064108490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200241786a22020d000b0b20052102410021060b024002400240200620022f018a014f0d0020062103200221050c010b034020022802002205450d0220022f018801210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f018a014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a4190016a2802002102410021062004417f6a2207450d002004417e6a210d024020074107712204450d0003402007417f6a2107200228028c0121022004417f6a22040d000b0b200d4107490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200741786a22070d000b0b024020052003410c6c6a2205280204450d00200541046a28020422052005417e6a2f00006b41002802ec82d48000118180808000000b410021052008417f6a22080d010c030b0b20022002417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b024020060d00200521020c010b02400240200641077122030d0020062104200521020c010b200621042005210203402004417f6a2104200228028c0121022003417f6a22030d000b0b20064108490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200441786a22040d000b0b034020022002417e6a2f00006b210520022802002102200541002802ec82d480001181808080000020020d000b0b200c41016a220c200b470d000b0b200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402009280254450d00200928025822022002417e6a2f00006b41002802ec82d48000118180808000000b200028022022020d000c020b0b41e891c6800010a081808000000b200028020021022000410036020002402002410171450d000240200028020422020d0020002802082102200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac0921022004417f6a22040d000b0b20034108490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200541786a22050d000b0b034020022002417e6a2f00006b210520022802a0082102200541002802ec82d480001181808080000020020d000b0b200141306a2480808080000bc00601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802f80621012003417f6a22030d000b0b20024108490d00034020012802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f01f6064f0d00200121040c010b034020012802f0062204450d0220012f01f406210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f01f6064f0d000b0b0240024020030d00200241016a2105200421010c010b200420024102746a41fc066a2802002101410021052003417f6a2206450d002003417e6a2107024020064107712203450d0003402006417f6a210620012802f80621012003417f6a22030d000b0b20074107490d00034020012802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062101200641786a22060d000b0b2000200536020c200041003602082000200136020402402004200241d0006c6a22012802484129490d00200141206a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802f80621012003417f6a22030d000b0b20024108490d00034020012802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062101200441786a22040d000b0b034020012001417e6a2f00006b210420012802f0062101200441002802ec82d480001181808080000020010d000b0b0bee0601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802900221012003417f6a22030d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f018e024f0d00200121040c010b034020012802002204450d0220012f018c02210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f018e024f0d000b0b0240024020030d00200241016a2105200421010c010b200420024102746a4194026a2802002101410021052003417f6a2206450d002003417e6a2107024020064107712203450d0003402006417f6a210620012802900221012003417f6a22030d000b0b20074107490d000340200128029002280290022802900228029002280290022802900228029002280290022101200641786a22060d000b0b2000200536020c200041003602082000200136020420042002410c6c6a22014188016a210402402001280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402004280200450d00200428020422012001417e6a2f00006b41002802ec82d48000118180808000000b200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d4800011818080800000418c8fc3800010a081808000000b41e891c6800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802900221012003417f6a22030d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200441786a22040d000b0b034020012001417e6a2f00006b210420012802002101200441002802ec82d480001181808080000020010d000b0b0b110020002001200128023c10b4898080000bfb0201057f23808080800041106b2202248080808000200128020821032001280204210402400240024002400240024020012802004101470d0020034120470d0220002004290000370001200041196a200441186a290000370000200041116a200441106a290000370000200041096a200441086a290000370000410121010c010b2003417f4c0d02200341f5ffffff074f0d034100210141002d008083d480001a2003410b6a41fcffffff0771220541002802f482d48000118280808000002206450d042006200641036a417c7120066b22056a22064281808080103702002006417e6a20053b0000200641086a2004200310f4978080001a20002003360208200020063602040b200020013a0000200241106a2480808080000f0b412020034198a0c68000108681808000000b41f8e9cd8000412b2002410f6a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b2002410f6a418c80c0800041b482c0800010a981808000000b4104200510ab80808000000be50301077f23808080800041106b2203248080808000200041286a2104024002400240200028022822054128200541284b22061b22072000280204200520061b22066b200220016b22084f0d0002400240200620086a22052006490d004100417f2005417f6a677620054102491b2205417f460d00200341086a2000200541016a10ce8980800020032802082205418180808078460d0120050d030b41f0adc6800041114184aec68000108081808000000b200428020022054128200541284b1b21070b200041046a22092004200541284b22061b21080240024020004104412820061b6a280200220520074f0d002000280200200020061b2106034020012002460d02200620056a20012d00003a0000200141016a21012007200541016a2205470d000b200721050b2008200536020020012002460d02034020012d00002108024002402000410441282000280228220741284b22051b6a28020022062007412820051b460d002009200420051b21072000280200200020051b21050c010b200010cf898080002000280204210620002802002105200921070b200520066a20083a00002007200728020041016a360200200141016a22012002470d000c030b0b200820053602000c010b2005200328020c10ab80808000000b200341106a2480808080000bea0301077f23808080800041106b22032480808080000240024002400240024020022001280204220420012802282205200541284b22061b2207490d002005412820061b210820012802002109024020024129490d00418180808078210620052002460d040240200241004e0d00410021060c060b02400240024020054129490d002008417f4a0d0120082102410021060c080b41002d008083d480001a200241002802f482d480001182808080000022040d01410121060c070b0240200241002802f482d480001182808080000022040d00410121060c070b2004417e6a41003b0000200420092002200820022008491b10f4978080001a20092009417e6a2f00006b41002802ec82d48000118180808000000c040b2004417e6a41003b000020042001200510f4978080001a0c030b418180808078210620054129490d0320012009200410f49780800020043602282008417f4c0d0120092009417e6a2f00006b41002802ec82d48000118180808000000c030b41a4aec68000412041c4aec68000108081808000000b2003200836020c2003410036020841b4adc68000412b200341086a41a4adc6800041e0adc6800010a981808000000b2001200236022820012007360204200120043602000b0b2000200236020420002006360200200341106a2480808080000bb90101027f23808080800041106b22012480808080000240024002400240200028020420002802282202200241284b1b220241016a0e020201000b2002672202450d01417f20027621020b200141086a2000200241016a10ce89808000024020012802082200418180808078460d0020000d0241f0adc6800041114184aec68000108081808000000b200141106a2480808080000f0b41f0adc6800041114194aec6800010a181808000000b2000200128020c10ab80808000000bc20803067f017e057f23808080800041d0006b2202248080808000200241106a41086a200141086a29020037030020022001290200370310024002400240024002400240200028020022034105200341054b22011b2204200020014103746a28020022056b200228021c22014f0d0002400240200520016a22032005490d004100417f2003417f6a677620034102491b2203417f460d00200241086a2000200341016a10d18980800020022802082203418180808078460d0120030d030b41f0adc6800041114184aec68000108081808000000b200028020022034105200341054b1b21040b200041046a210602402000200341054b22034103746a220728020022052004490d00200521040c030b2000280204200620031b21030240024020022802180d0020032005410c6c6a210303402001450d02200241206a41086a410036020020024100360234200220022902342208370320200341086a4100360200200320083702002003410c6a21032001417f6a21012004200541016a2205470d000c040b0b024020022802102209450d002002280214210a20032005410c6c6a210303402001450d02200241346a2009200a10c089808000200241206a41086a200241346a41086a280200220b360200200220022902342208370320200341086a200b360200200320083702002003410c6a21032001417f6a21012004200541016a2205460d040c000b0b2001450d0041949cc6800010a081808000000b2002410036021c20072005360200200241106a10a6888080000c030b2003200228020c10ab80808000000b2002200136021c0b20072004360200200241206a41086a200241106a41086a290300370300200220022903103703200240200228022c2203450d00200041086a210c200241386a21010240024020022802280d00200141086a210b0340200b410036020020024100360244200120022902443702000240024020002000280200220a41054b22044103746a22052802002209200a410520041b460d002000280204200620041b21040c010b200010d2898080002000280208210920002802042104200c21050b20042009410c6c6a22042001290200370200200441086a200b2802003602002005200528020041016a3602002003417f6a22030d000c020b0b20022802202207450d032002280224210d0340200241c4006a2007200d10c089808000200141086a2209200241c4006a41086a280200360200200120022902443702000240024020002000280200220a41054b22044103746a2205280200220b200a410520041b460d002000280204200620041b21040c010b200010d2898080002000280208210b20002802042104200c21050b2004200b410c6c6a22042001290200370200200441086a20092802003602002005200528020041016a3602002003417f6a22030d000b0b2002410036022c0b200241206a10a6888080000b200241d0006a2480808080000f0b41949cc6800010a081808000000beb0402087f017e23808080800041106b2203248080808000024002400240200220012001280200220441054b22054103746a2802002206490d002004410520051b2107200141046a210820012802042109024002400240024020024106490d00418180808078210a20042002460d032002ad420c7e220ba72105200b422088a7450d014100210a0c060b418180808078210a20044106490d02200820092006410c6c10f4978080001a200120063602002007ad420c7e220ba721010240200b422088a70d00200141fdffffff07490d020b2003200136020c2003410036020841b4adc68000412b200341086a41a4adc6800041e0adc6800010a981808000000b0240200541fcffffff074d0d004100210a0c050b02400240024020044106490d002007ad420c7e220ba72104200b422088a70d06200441fcffffff074b0d06200541002802f482d480001182808080000022070d014104210a0c070b41002d008083d480001a0240200541002802f482d480001182808080000022040d004104210a0c070b2004200441036a417c7120046b22056a2207417e6a20053b0000200720082006410c6c10f4978080001a0c010b2007200741036a417c7120076b22086a2207417e6a20083b0000200720092005200420052004491b10f4978080001a20092009417e6a2f00006b41002802ec82d48000118180808000000b2001200636020820012007360204200120023602000c010b20092009417e6a2f00006b41002802ec82d48000118180808000000b0c020b41a4aec68000412041c4aec68000108081808000000b200421054100210a0b200020053602042000200a360200200341106a2480808080000bb90101027f23808080800041106b22012480808080000240024002400240200028020820002802002202200241054b1b220241016a0e020201000b2002672202450d01417f20027621020b200141086a2000200241016a10d189808000024020012802082200418180808078460d0020000d0241f0adc6800041114184aec68000108081808000000b200141106a2480808080000f0b41f0adc6800041114194aec6800010a181808000000b2000200128020c10ab80808000000b810101037f200128020421022001280200220328020022012001280200220441016a36020002402004417f4a0d00000b20002001360204200041073602002000200229000037000c20002003280204360208200041146a200241086a2900003700002000411c6a200241106a290000370000200041246a200241186a2900003700000b3701017f23808080800041106b22022480808080002002200128020036020c20002002410c6a10d589808000200241106a2480808080000b940301047f23808080800041a0056b2202248080808000200241c8036a2001280200220128020022032001280204220410e689808000200241c0036a2201200241c8036a410c6a290200370300200220022902cc033703b80302400240024020022802c80322054107470d00200241086a410c6a2001290300370200200220022903b80337020c200241073602080c010b200241e0016a41146a200241c8036a41146a41c40110f4978080001a200241e0016a410c6a2001290300370200200220053602e001200220022903b8033702e401200241086a200241e0016a2003200410df97808000200228020822014107460d00200241c8036a41046a200241086a41046a41d40110f4978080001a200220013602c803200241e0016a200241c8036a10a78d808000024020022802e00122014108470d00200241e0016a10dc898080000c020b200041046a200241e0016a41046a41e40010f4978080001a20002001360200200241a0056a2480808080000f0b2002410c6a10de898080000b41bca7c6800041c2004180a8c6800010a181808000000b3701017f23808080800041106b22022480808080002002200128020036020c20002002410c6a10d789808000200241106a2480808080000b940301047f23808080800041a0056b2202248080808000200241c8036a2001280200220128020022032001280204220410e689808000200241c0036a2201200241c8036a410c6a290200370300200220022902cc033703b80302400240024020022802c80322054107470d00200241086a410c6a2001290300370200200220022903b80337020c200241073602080c010b200241e0016a41146a200241c8036a41146a41c40110f4978080001a200241e0016a410c6a2001290300370200200220053602e001200220022903b8033702e401200241086a200241e0016a2003200410df97808000200228020822014107460d00200241c8036a41046a200241086a41046a41d40110f4978080001a200220013602c803200241e0016a200241c8036a10a98d808000024020022802e00122014108470d00200241e0016a10dc898080000c020b200041046a200241e0016a41046a41e40010f4978080001a20002001360200200241a0056a2480808080000f0b2002410c6a10de898080000b41bca7c6800041c2004180a8c6800010a181808000000ba60401017f0240024002400240024020002d0000417c6a41ff01712201410420014104491b0e0404010203000b0240200028025c4129490d00200028023422012001417e6a2f00006b41002802ec82d48000118180808000000b200028022c22012001417e6a2f00006b41002802ec82d480001181808080000020002d000022014103460d0302400240024020010e020106000b2000280224220120012802002201417f6a36020020014101470d05200041246a21000c010b2000280204220120012802002201417f6a36020020014101470d04200041046a21000b200010f0978080000c030b0240200028025c4129490d00200028023422012001417e6a2f00006b41002802ec82d48000118180808000000b0240024020002d00040e020104000b2000280228220120012802002201417f6a36020020014101470d03200041286a10f0978080000f0b2000280208220120012802002201417f6a36020020014101470d02200041086a10f0978080000f0b20002802544129490d01200028022c22002000417e6a2f00006b41002802ec82d48000118180808000000f0b200028023022012001417e6a2f00006b41002802ec82d480001181808080000020002d000422014103460d000240024020010e020102000b2000280228220120012802002201417f6a36020020014101470d01200041286a10f0978080000f0b2000280208220120012802002201417f6a36020020014101470d00200041086a10f0978080000f0b0b6801017f024002400240024020002d00000e020103000b2000280224220120012802002201417f6a36020020014101470d02200041246a21000c010b2000280204220120012802002201417f6a36020020014101470d01200041046a21000b200010f0978080000b0bab0101047f20002802042101024020002802082202450d00200141086a210303402003280200220420042802002204417f6a360200024020044101470d00200310de8f8080000b200341306a21032002417f6a22020d000b0b02402000280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802344129490d00200028020c22032003417e6a2f00006b41002802ec82d48000118180808000000b0b7101017f024020002d000022014103460d0002400240024020010e020103000b2000280224220120012802002201417f6a36020020014101470d02200041246a21000c010b2000280204220120012802002201417f6a36020020014101470d01200041046a21000b200010f0978080000b0bbf0101017f024020002802004108460d00200010dd898080000f0b02400240024002402000280204220028020041fcffffff076a2201410320014105491b0e0403030102000b2000280204450d02200028020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2000280204450d01200028020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200010de898080000b20002000417e6a2f00006b41002802ec82d48000118180808000000bc00501037f0240024002400240024002402000280200417e6a2201410420014106491b0e050501020304000b2000280204220120012802002201417f6a36020020014101470d04200041046a10f0978080000c040b0240200028022c4129490d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802342201450d03200120012802002202417f6a36020020024101470d03200041346a10f0978080000f0b024020002802504129490d00200028022822012001417e6a2f00006b41002802ec82d48000118180808000000b20002d0004450d022000280208220110dd8980800020012001417e6a2f00006b41002802ec82d48000118180808000000f0b024020002802382202450d002000280234210103400240024020012d00000e03010001000b200141046a2802002203108e8f80800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b02402000280230450d00200028023422012001417e6a2f00006b41002802ec82d48000118180808000000b2000280204450d0120002802082201450d01200120012802002202417f6a36020020024101470d01200041086a10f0978080000f0b024020002802604129490d00200028023822012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802342202450d002000280230210103400240024020012d00000e03010001000b200141046a2802002203108e8f80800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b0240200028022c450d00200028023022012001417e6a2f00006b41002802ec82d48000118180808000000b2000280200450d0020002802042201450d00200120012802002202417f6a36020020024101470d00200041046a10f0978080000f0b0bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b200010de898080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0b9c0201027f23808080800041106b2202248080808000024002402000280200450d0020022000360204200128020041f4a1c680004108200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41fca1c680004106200241046a41e4a1c68000108a818080001a20022d000d220020022d000c220372210120004101470d0120034101710d010240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b200128020041d4a1c680004110200128020428020c1180808080000021010b200241106a24808080800020014101710b9f0701047f024002400240024002402000280200220141054b0d002001450d0441102102200041046a2203280200417e6a2204410220044102491b0e020103020b20002802042103024020002802082201450d00200321000340411021020240024002402000280200417e6a2204410220044102491b0e020002010b410421020b200020026a2202280200450d00200241046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200041206a280200450d00200041246a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b2000412c6a21002001417f6a22010d000b0b20032003417e6a2f00006b41002802ec82d48000118180808000000f0b410421020b200320026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280224450d00200028022822022002417e6a2f00006b41002802ec82d48000118180808000000b20014101460d00411021020240024002402000280230417e6a2204410220044102491b0e020002010b410421020b200041306a20026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280250450d00200028025422022002417e6a2f00006b41002802ec82d48000118180808000000b20014102460d0041102102024002400240200028025c417e6a2204410220044102491b0e020002010b410421020b200041dc006a20026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200028027c450d0020002802800122022002417e6a2f00006b41002802ec82d48000118180808000000b20014103460d0041102102024002400240200028028801417e6a2204410220044102491b0e020002010b410421020b20004188016a20026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802a801450d0020002802ac0122022002417e6a2f00006b41002802ec82d48000118180808000000b20014104460d004110210102400240024020002802b401417e6a2202410220024102491b0e020002010b410421010b200041b4016a20016a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802d401450d0020002802d80122002000417e6a2f00006b41002802ec82d48000118180808000000b0bd60501037f024002402000280278220141054b0d002001450d010240200028020c2202418080808078460d002002450d00200028021022022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d00200028020422022002417e6a2f00006b41002802ec82d48000118180808000000b20014101460d01024020002802242202418080808078460d002002450d00200028022822022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280218450d00200028021c22022002417e6a2f00006b41002802ec82d48000118180808000000b20014102460d010240200028023c2202418080808078460d002002450d00200028024022022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280230450d00200028023422022002417e6a2f00006b41002802ec82d48000118180808000000b20014103460d01024020002802542202418080808078460d002002450d00200028025822022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280248450d00200028024c22022002417e6a2f00006b41002802ec82d48000118180808000000b20014104460d010240200028026c2201418080808078460d002001450d00200028027022012001417e6a2f00006b41002802ec82d48000118180808000000b2000280260450d01200028026422002000417e6a2f00006b41002802ec82d48000118180808000000f0b20002802002103024020002802042201450d0020032100034002402000410c6a2802002202418080808078460d002002450d00200041106a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d00200041046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002001417f6a22010d000b0b20032003417e6a2f00006b41002802ec82d48000118180808000000b0b830301067f23808080800041306b2201248080808000024002402000280200220241054b0d002002450d01200041086a21000340410021034100210402402000417c6a2802002205450d002001200536022420014100360220200120053602142001410036021020012000280200220336022820012003360218200041046a2802002104410121030b2001200436022c2001200336021c2001200336020c2000410c6a21002001410c6a10c4898080002002417f6a22020d000c020b0b20002802042106024020002802082202450d002006210003404100210341002104024020002802002205450d00200120053602242001410036022020012005360214200141003602102001200041046a280200220336022820012003360218200041086a2802002104410121030b2001200436022c2001200336021c2001200336020c2000410c6a21002001410c6a10c4898080002002417f6a22020d000b0b20062006417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bae03010b7f23808080800041d0006b2204248080808000410021054100210602400240024020012802004101470d0020012802040d01200141046a21072001417f360204200141086a21060b024020012802104101470d0020012802140d02200141146a21082001417f360214200141186a21050b410021090240024020060d004100210a0c010b2006280204210b2006280200210a0b2001280228210c2001280224210d200128022021010240024020050d000c010b2005280204210e200528020021090b2004410c6a41106a200c41086a2900003702002004410c6a41186a200c41106a2900003702002004412c6a200c41186a2900003702002004200d3602102004200136020c2004200e3602402004200936023c2004200b3602382004200a3602342004200c2900003702142004410036024c200420033602482004200236024420002004410c6a20022003200441c4006a10ac8d80800002402005450d002008200828020041016a3602000b02402006450d002007200728020041016a3602000b200441d0006a2480808080000f0b41e0a2c68000109a81808000000b41f0a2c68000109a81808000000bae03010b7f23808080800041d0006b2204248080808000410021054100210602400240024020012802004101470d0020012802040d01200141046a21072001417f360204200141086a21060b024020012802104101470d0020012802140d02200141146a21082001417f360214200141186a21050b410021090240024020060d004100210a0c010b2006280204210b2006280200210a0b2001280228210c2001280224210d200128022021010240024020050d000c010b2005280204210e200528020021090b2004410c6a41106a200c41086a2900003702002004410c6a41186a200c41106a2900003702002004412c6a200c41186a2900003702002004200d3602102004200136020c2004200e3602402004200936023c2004200b3602382004200a3602342004200c2900003702142004410036024c200420033602482004200236024420002004410c6a20022003200441c4006a10b08d80800002402005450d002008200828020041016a3602000b02402006450d002007200728020041016a3602000b200441d0006a2480808080000f0b4180a3c68000109a81808000000b4190a3c68000109a81808000000bbf0101027f41002102024020002d0000220320012d0000470d0002400240024020030e03000102000b200028020822032001280208470d02200028020441086a200128020441086a200310f597808000450f0b200041016a200141016a412010f5978080004521020c010b0240024020002d0001450d0020012d00010d010b200028022822032001280228470d01200028022441086a200128022441086a200310f597808000450f0b200041026a200141026a412010f597808000450f0b20020bb50a020a7f017e23808080800041f0016b2203248080808000410021042003410036022c2003200236022820032001360224200341306a200341246a10bf8f8080002003280234210520032d00312106024002400240024020032d00302207417d6a0e03010100020b2000428780808090808080807f3702000c020b410121040b024002400240024002400240024002400240024020070e050002030103000b200041033602000c090b410121060b2002200328022c220741016a490d0120054101712208450d06200720024f0d02200120076a2d00004110490d062000428780808080808080807f3702000c070b2002200328022c220741016a490d0220054101712206450d04200720024f0d03200120076a2d00004110490d042000428780808080808080807f3702000c060b2000428780808080808080807f3702000c050b2007200241acafc68000108281808000000b2000428780808080808080807f3702000c030b2007200241ccafc68000108281808000000b024002400240024002400240200541017620066a20076a2202200328022822014b0d002003200236022c20040d01200341186a200341246a10cc848080002003280218410171450d022000428780808090808080807f3702000c070b2000428780808090808080807f3702000c060b200241206a220420014b0d0241012105200221010c010b200328022c2201200328021c6a220420032802284b0d02410021050b2000200636021820002002360214200020073602102000200436020c2000200136020820002005360204200041043602000c030b2000428780808090808080807f3702000c020b2000428780808090808080807f3702000c010b02400240200541017620086a20076a2205200328022822094b0d00200541026a220a20094d0d012000428780808090808080807f3702000c020b2000428780808090808080807f3702000c010b2003200a36022c02400240024002402005417d4b0d00200a20024b0d010240200120056a2f0000220b0d002000428780808090808080807f3702000c050b4102210c2006410171450d0302400240024020040d00200341106a200341246a10cc848080002003280210410171450d012000428780808090808080807f3702000c070b200541226a220220094b0d014101210c0c040b0240200328022c220a20032802146a220220032802284b0d004100210c0c040b2000428780808090808080807f3702000c050b2000428780808090808080807f3702000c040b2005200a41bcafc68000109581808000000b200a200241bcafc68000109181808000000b2003200236022c2002ad422086200aad84210d0b200341023602e401200341023602d801200341023602cc01200341023602c001200341023602b401200341023602a8012003410236029c0120034102360290012003410236028401200341023602782003410236026c2003410236026020034102360254200341023602482003410236023c2003410236023041002101200341306a2102024003400240200b200141ffff037176410171450d00200341086a200341246a10cc8480800020032802084101710d02200328022c2206200328020c22096a220420032802284b0d02200241086a2004360200200241046a2006360200200220094120473602002003200436022c0b2002410c6a2102200141016a22014110470d000b2000410c6a200341306a41c00110f4978080001a200020083602d401200020053602d001200020073602cc012000200d3702042000200c3602000c010b2000428780808090808080807f3702000b200341f0016a2480808080000bf80301067f23808080800041d0006b220424808080800020012802202105200128022428020c2106200441186a41086a200341086a280200360200200420032902003703182004410c6a20052002200441186a2006118380808000000240024002400240200428020c2205418080808078460d00200428021421062004280210210702402001280210450d0020012802140d042001417f36021420012802182108200128021c2109200441c4006a200241186a2900003702002004413c6a200241106a290000370200200441346a200241086a290000370200200420063602202004200736021c20044180808080783602182004200229000037022c200420032902003702242008200441186a200928020c118b80808000002001200128021441016a3602140b2000200636020820002007360204200020053602000c010b41002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b22036a22014185808080783602002001417e6a20033b0000200120022900003700042001410c6a200241086a290000370000200141146a200241106a2900003700002001411c6a200241186a2900003700002000418080808078360200200020013602040b200441d0006a2480808080000f0b4104413010ab80808000000b4198a4c68000109a81808000000b870f01077f23808080800041b0056b22062480808080002003280208210720032802042108024002400240024020032802004101470d004100210302400240024020074100480d00024020070d00410121030c030b41002d008083d480001a200741002802f482d480001182808080000022030d01410121030b200320074194adc6800010b980808000000b2003417e6a41003b00000b20032008200710f4978080001a41002108200721040c010b024020074120460d004100210302400240024020074100480d00024020070d00410121030c030b41002d008083d480001a200741002802f482d480001182808080000022030d01410121030b200320074194adc6800010b980808000000b2003417e6a41003b00000b20032008200710f497808000210841002d008083d480001a0240413041002802f482d48000118280808000002203450d002003200341036a417c7120036b22016a2203200736020c20032008360208200320073602042003418880808078360200200320022900003700102003417e6a20013b0000200341186a200241086a290000370000200341206a200241106a290000370000200341286a200241186a2900003700000c030b4104413010ab80808000000b200641286a41026a200841026a2d00003a00002008280003210720082f00002103200641286a410f6a2008410f6a290000370000200641286a41176a200841176a290000370000200641286a411f6a2008411f6a2d00003a0000200620033b01282006200736002b2006200829000737002f20012802202107200128022428020c2103200641086a200441086a28020036020020062004290200370300200641c8036a2007200641286a2006200311838080800000024020062802c8032207418080808078470d000240024002400240024020042802040d0020042d00084101470d010b41002d008083d480001a413041002802f482d48000118280808000002207450d032007200741036a417c7120076b22086a22034185808080783602002003417e6a20083b00000c010b41002d008083d480001a413041002802f482d48000118280808000002207450d012007200741036a417c7120076b22086a22034184808080783602002003417e6a20083b00000b200320062901283700042003411c6a200641c0006a290100370000200341146a200641386a2901003700002003410c6a200641306a2901003700000c040b4104413010ab80808000000b4104413010ab80808000000b200641d8036a41086a200641286a41086a290100370300200641d8036a41106a200641286a41106a290100370300200641d8036a41186a200641286a41186a290100370300200620062901283703d80320062802d003210420062802cc032103410121080b200641096a200641d8036a41086a290300370000200641116a200641e8036a2209290300370000200641196a200641f0036a290300370000200620083a0000200620062903d803370001200641d8036a2003200410e689808000200641c8036a41086a220a2009280200360200200620062902e0033703c803200641016a210b20062802dc032109024020062802d803220c4107470d00200641286a41086a200a280200360200200620062903c80337032802402007450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200641d8036a41186a2203200b200220081b220741186a290000370300200641d8036a41106a2208200741106a290000370300200641d8036a41086a2202200741086a290000370300200620072900003703d80341002d008083d480001a0240413041002802f482d48000118280808000002207450d002007200741036a417c7120076b22016a2207200936020020072006290328370204200720062903d8033702102007417e6a20013b00002007410c6a200641286a41086a280200360200200741186a2002290300370200200741206a2008290300370200200741286a200329030037020020004107360200200020073602040c030b4104413010ab80808000000b200641346a200641ec036a41c40110f4978080001a200641286a41086a200a280200360200200620062903c803370328200641f8016a200641286a41d00110f4978080001a02402005450d002008450d0020012802104101470d0002402001280214450d0041a8a4c68000109a81808000000b2001417f36021420012802182108200128021c210220064180046a200b41186a290000370200200641f8036a200b41106a290000370200200641d8036a41186a200b41086a290000370200200620043602e403200620033602e0032006428280808088808080807f3702d8032006200b2900003702e8032008200641d8036a200228020c118b80808000002001200128021441016a3602140b200020062900003700e40120004184026a200641206a2d00003a0000200041fc016a200641186a290000370000200041f4016a200641106a290000370000200041ec016a200641086a290000370000200041086a200641f8016a41d00110f4978080001a200020043602e001200020033602dc01200020093602042000200c360200200020073602d8010c010b20004107360200200020033602040b200641b0056a2480808080000bc46107057f017e017f027e047f017e1a7f23808080800041a00f6b22052480808080002005200436020c200541b80d6a2002200310e68980800020054190076a2204200541b80d6a410c6a290200370300200520052902bc0d37038807024002400240024020052802b80d22064107470d00200541106a410c6a200429030037020020052005290388073702140c010b200541e00b6a41146a200541b80d6a41146a41c40110f4978080001a200541e00b6a410c6a2004290300370200200520063602e00b20052005290388073702e40b200541106a200541e00b6a2002200310df97808000200528021022034107470d010b200541b80d6a41086a22032005411c6a290200370300200541b80d6a41186a2202200141086a290000370300200541b80d6a41206a2204200141106a290000370300200541b80d6a41286a2206200141186a290000370300200520052902143703b80d200520012900003703c80d41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22076a220120052903b80d3702002001417e6a20073b0000200141086a2003290300370200200141106a200541b80d6a41106a290300370200200141186a2002290300370200200141206a2004290300370200200141286a2006290300370200200041083a0000200020013602040c020b4104413010ab80808000000b200528022821042005280224210820052802202102200528021421092005290218210a200541e8016a200541106a411c6a41a40110f4978080001a4104210b200a422088220ca7210620052902d801210d20052802d401210e20052802d001210f02400240024002400240024002400240024002400240024002400240024002402003417d6a2210410420104104491b0e050900030102090b200541003602e00d200541b80d6a2002200220086a10d797808000200541e00b6a41186a200541b80d6a41186a290200370300200541e00b6a41106a200541b80d6a41106a290200370300200541e00b6a41086a200541b80d6a41086a290200370300200520052902b80d3703e00b20052802d80d211120052902dc0d2112200aa72101024002402009410171450d00200c4220520d0c200541c00b6a41026a200141026a2d00003a0000200541b00b6a200141136a290000370300200541b50b6a200141186a290000370000200520012f00003b01c00b2005200129000b3703a80b2001280007210620012800032113410121140c010b200a427f570d0c200a4280808080d0feffffff005a0d0d4100211441002d008083d480001a2006410b6a41fcffffff0771220241002802f482d48000118280808000002203450d0e2003200341036a417c7120036b22026a22134281808080103702002013417e6a20023b0000201341086a2001200610f4978080001a0b200541880b6a41186a200541e00b6a41186a290300370300200541880b6a41106a200541e00b6a41106a290300370300200541880b6a41086a200541e00b6a41086a290300370300200520052903e00b3703880b4105210b0c080b200520043602cc0d200520083602c80d200520023602c40d2005200a3702bc0d200520093602b80d200541b80d6a41186a200541e8016a41a40110f49780800021032005200f3602f40e20052001360280074102210620052005410c6a360284072005200541b80d6a3602fc060240024020094102470d00410221070c010b200541900f6a41086a200541b80d6a41086a280200360200200520052902b80d3703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22074102460d05200541b4036a41026a20052d00e30b3a000020054198036a41086a200541e00b6a41106a29020037030020054198036a41106a200541e00b6a41186a29020037030020054198036a41186a200541800c6a280200360200200520052f00e10b3b01b403200520052902e80b3703980320052802e40b211020052802c40d21020b024020024102460d00200541900f6a41086a200541c40d6a220241086a280200360200200520022902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22064102460d05200541d4036a41026a20052d00e30b3a0000200541b8036a41086a200541e00b6a41106a290200370300200541b8036a41106a200541e00b6a41186a290200370300200541b8036a41186a200541800c6a280200360200200520052f00e10b3b01d403200520052902e80b3703b80320052802e40b21090b41022102024020052802d00d4102460d00200541900f6a41086a200341086a280200360200200520032902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22024102460d05200541f4036a41026a20052d00e30b3a0000200541d8036a41086a200541e00b6a41106a290200370300200541d8036a41106a200541e00b6a41186a290200370300200541d8036a41186a200541800c6a280200360200200520052f00e10b3b01f403200520052902e80b3703d80320052802e40b21110b200541e00b6a200541fc066a410310eb8980800020052d00e00b22014103460d0420054194046a41026a20052d00e30b3a0000200541f8036a41086a200541e00b6a41106a2203290200370300200541f8036a41106a200541e00b6a41186a2204290200370300200541f8036a41186a200541800c6a2213280200360200200520052f00e10b3b019404200520052902e80b3703f80320052802e40b2108200541e00b6a200541fc066a410410eb8980800020052d00e00b220b4103460d04200541b4046a41026a20052d00e30b3a000020054198046a41086a200329020037030020054198046a41106a200429020037030020054198046a41186a2013280200360200200520052f00e10b3b01b404200520052902e80b3703980420052802e40b2103200541e00b6a200541fc066a410510eb8980800020052d00e00b22134103460d04200541d4046a41026a20052d00e30b3a0000200541b8046a41086a200541e00b6a41106a2204290200370300200541b8046a41106a200541e00b6a41186a2214290200370300200541b8046a41186a200541800c6a2215280200360200200520052f00e10b3b01d404200520052902e80b3703b80420052802e40b210f200541e00b6a200541fc066a410610eb8980800020052d00e00b22164103460d04200541f4046a41026a20052d00e30b3a0000200541d8046a41086a2004290200370300200541d8046a41106a2014290200370300200541d8046a41186a2015280200360200200520052f00e10b3b01f404200520052902e80b3703d80420052802e40b2115200541e00b6a200541fc066a410710eb8980800020052d00e00b22174103460d0420054194056a41026a20052d00e30b3a0000200541f8046a41086a200541e00b6a41106a2204290200370300200541f8046a41106a200541e00b6a41186a2214290200370300200541f8046a41186a200541800c6a2218280200360200200520052f00e10b3b019405200520052902e80b3703f80420052802e40b2119200541e00b6a200541fc066a410810eb8980800020052d00e00b221a4103460d04200541b4056a41026a20052d00e30b3a000020054198056a41086a200429020037030020054198056a41106a201429020037030020054198056a41186a2018280200360200200520052f00e10b3b01b405200520052902e80b3703980520052802e40b2118200541e00b6a200541fc066a410910eb8980800020052d00e00b221b4103460d04200541d4056a41026a20052d00e30b3a0000200541b8056a41086a200541e00b6a41106a2204290200370300200541b8056a41106a200541e00b6a41186a2214290200370300200541b8056a41186a200541800c6a221c280200360200200520052f00e10b3b01d405200520052902e80b3703b80520052802e40b211d200541e00b6a200541fc066a410a10eb8980800020052d00e00b221e4103460d04200541f4056a41026a20052d00e30b3a0000200541d8056a41086a2004290200370300200541d8056a41106a2014290200370300200541d8056a41186a201c280200360200200520052f00e10b3b01f405200520052902e80b3703d80520052802e40b211c200541e00b6a200541fc066a410b10eb8980800020052d00e00b221f4103460d0420054194066a41026a20052d00e30b3a0000200541f8056a41086a200541e00b6a41106a2204290200370300200541f8056a41106a200541e00b6a41186a2214290200370300200541f8056a41186a200541800c6a2220280200360200200520052f00e10b3b019406200520052902e80b3703f80520052802e40b2121200541e00b6a200541fc066a410c10eb8980800020052d00e00b22224103460d04200541b4066a41026a20052d00e30b3a000020054198066a41086a200429020037030020054198066a41106a201429020037030020054198066a41186a2020280200360200200520052f00e10b3b01b406200520052902e80b3703980620052802e40b2120200541e00b6a200541fc066a410d10eb8980800020052d00e00b22234103460d04200541d4066a41026a20052d00e30b3a0000200541b8066a41086a200541e00b6a41106a2204290200370300200541b8066a41106a200541e00b6a41186a2214290200370300200541b8066a41186a200541800c6a2224280200360200200520052f00e10b3b01d406200520052902e80b3703b80620052802e40b2125200541e00b6a200541fc066a410e10eb8980800020052d00e00b22264103460d04200541f8066a41026a20052d00e30b3a0000200541d8066a41086a2004290200370300200541d8066a41106a2014290200370300200541d8066a41186a2024280200360200200520052f00e10b3b01f806200520052902e80b3703d80620052802e40b2124200541e00b6a200541fc066a410f10eb8980800020052d00e00b22274103460d04200541a4076a41026a222820052d00e30b3a000020054188076a41086a2229200541e00b6a41106a29020037030020054188076a41106a222a200541e00b6a41186a29020037030020054188076a41186a222b200541e00b6a41206a280200360200200520052f00e10b3b01a407200520052902e80b3703880720052802e40b212c41002d008083d480001a41c00441002802f482d48000118280808000002204450d022004200441036a417c7120046b22146a220420073a0000200420052f01b4033b0001200420103602042004200529039803370208200420063a0024200420052f01d4033b00252004417e6a20143b000041032114200441036a200541b4036a41026a2d00003a0000200441106a20054198036a41086a290300370200200441186a20054198036a41106a290300370200200441206a20054198036a41186a280200360200200441276a200541d4036a41026a2d00003a000020042009360228200420023a00482004201136024c200420052903b80337022c200441346a200541b8036a41086a2903003702002004413c6a200541b8036a41106a290300370200200441c4006a200541b8036a41186a280200360200200420052f01f4033b0049200441cb006a200541f4036a41026a2d00003a0000200420052903d803370250200441d8006a200541d8036a41086a290300370200200441e0006a200541d8036a41106a290300370200200441e8006a200541d8036a41186a280200360200200420013a006c200420083602702004200b3a009001200420052f0194043b006d200441ef006a20054194046a41026a2d00003a00002004418c016a200541f8036a41186a28020036020020044184016a200541f8036a41106a290300370200200441fc006a200541f8036a41086a290300370200200420052903f803370274200420052f01b4043b00910120044193016a200541b4046a41026a2d00003a00002004200336029401200441b0016a20054198046a41186a280200360200200441a8016a20054198046a41106a290300370200200441a0016a20054198046a41086a290300370200200420052903980437029801200420133a00b401200441b7016a200541d4046a41026a2d00003a0000200420052f01d4043b00b5012004200f3602b801200441d4016a200541b8046a41186a280200360200200441cc016a200541b8046a41106a290300370200200441c4016a200541b8046a41086a290300370200200420052903b8043702bc01200420163a00d801200441db016a200541f4046a41026a2d00003a0000200420052f01f4043b00d901200420153602dc01200441f8016a200541d8046a41186a280200360200200441f0016a200541d8046a41106a290300370200200441e8016a200541d8046a41086a290300370200200420052903d8043702e001200420173a00fc01200441ff016a20054194056a41026a2d00003a0000200420052f0194053b00fd0120042019360280022004419c026a200541f8046a41186a28020036020020044194026a200541f8046a41106a2903003702002004418c026a200541f8046a41086a290300370200200420052903f804370284022004201a3a00a002200441a3026a200541b4056a41026a2d00003a0000200420052f01b4053b00a102200420183602a402200441c0026a20054198056a41186a280200360200200441b8026a20054198056a41106a290300370200200441b0026a20054198056a41086a29030037020020042005290398053702a8022004201b3a00c402200441c7026a200541d4056a41026a2d00003a0000200420052f01d4053b00c5022004201d3602c802200441e4026a200541b8056a41186a280200360200200441dc026a200541b8056a41106a290300370200200441d4026a200541b8056a41086a290300370200200420052903b8053702cc022004201e3a00e802200441eb026a200541f4056a41026a2d00003a0000200420052f01f4053b00e9022004201c3602ec0220044188036a200541d8056a41186a28020036020020044180036a200541d8056a41106a290300370200200441f8026a200541d8056a41086a290300370200200420052903d8053702f0022004201f3a008c032004418f036a20054194066a41026a2d00003a0000200420052f0194063b008d032004202136029003200441ac036a200541f8056a41186a280200360200200441a4036a200541f8056a41106a2903003702002004419c036a200541f8056a41086a290300370200200420052903f80537029403200420223a00b003200441b3036a200541b4066a41026a2d00003a0000200420052f01b4063b00b103200420203602b403200441d0036a20054198066a41186a280200360200200441c8036a20054198066a41106a290300370200200441c0036a20054198066a41086a29030037020020042005290398063702b803200420233a00d403200441d7036a200541d4066a41026a2d00003a0000200420052f01d4063b00d503200420253602d803200441f4036a200541b8066a41186a280200360200200441ec036a200541b8066a41106a290300370200200441e4036a200541b8066a41086a290300370200200420052903b8063702dc03200420263a00f803200441fb036a200541f8066a41026a2d00003a0000200420052f01f8063b00f903200420243602fc0320044198046a200541d8066a41186a28020036020020044190046a200541d8066a41106a29030037020020044188046a200541d8066a41086a290300370200200420052903d80637028004200420273a009c042004419f046a20282d00003a0000200420052f01a4073b009d042004202c3602a004200441bc046a202b280200360200200441b4046a202a290300370200200441ac046a202929030037020020042005290388073702a404200e4102470d034107210b0c070b20052902e0012112200520043602d00d200520083602cc0d200520023602c80d2005200a3702c00d200520093602bc0d200520033602b80d200541b80d6a411c6a200541e8016a41a40110f4978080001a20052001360280074102210220052005410c6a360284072005200541b80d6a3602fc0620034102460d04200541900f6a41086a200541b80d6a41086a280200360200200520052902b80d3703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22034102460d07200541c6076a20052d00e30b3a0000200541a8076a41086a200541e00b6a41106a290200370300200541a8076a41106a200541e00b6a41186a290200370300200541a8076a41186a200541800c6a280200360200200520052f00e10b3b01c407200520052902e80b3703a80720052802e40b211120052802c40d2106200321020c050b2005200a370290032005200936028c03200541003602e00d200541b80d6a2002200220086a10d797808000200541106a41086a2203200541b80d6a41106a290200370300200541106a41106a2202200541b80d6a41186a290200370300200541106a41186a2206200541d80d6a290200370300200520052902c00d37031020052802bc0d210920052802b80d210720052802e00d2111200541e00b6a41186a200141186a290000370300200541e00b6a41106a200141106a290000370300200541e00b6a41086a200141086a290000370300200520012900003703e00b200541b80d6a200541e00b6a2005418c036a200528020c10ea8980800020052d00b80d22144102460d0b200541c00b6a41026a20052d00bb0d3a0000200541a80b6a41086a200541cc0d6a290200370300200541a80b6a41106a200541d40d6a290200370300200541880b6a41086a2003290300370300200541880b6a41106a2002290300370300200541880b6a41186a2006290300370300200520052f00b90d3b01c00b200520052902c40d3703a80b200520052903103703880b20052802bc0d211320052802c00d21064106210b20042115200921040c050b410441c00410ab80808000000b2005200d3702cc0b2005200e3602c80b200541e00b6a200541c80b6a10cc89808000200541c20b6a20052d00e30b3a0000200541b00b6a200541f40b6a290200370300200541b80b6a200541fc0b6a290200370300200520052f00e10b3b01c00b200520052902ec0b3703a80b20052d00e00b211420052802e40b211320052802e80b210620052802840c211520052802880c21074107210b0c030b20052802e40b2101200041083a0000200020013602040c090b0b4102210941022103024020064102460d00200541900f6a41086a200541cc0d6a280200360200200520052902c40d3703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22034102460d02200541e4076a41026a20052d00e30b3a0000200541c8076a41086a200541e00b6a41106a290200370300200541c8076a41106a200541e00b6a41186a290200370300200541c8076a41186a200541800c6a280200360200200520052f00e10b3b01e407200520052902e80b3703c80720052802e40b21100b024020052802d00d4102460d00200541900f6a41086a200541b80d6a41186a220441086a280200360200200520042902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22094102460d0220054184086a41026a20052d00e30b3a0000200541e8076a41086a200541e00b6a41106a290200370300200541e8076a41106a200541e00b6a41186a290200370300200541e8076a41186a200541800c6a280200360200200520052f00e10b3b018408200520052902e80b3703e80720052802e40b21060b41022113024020052802dc0d4102460d00200541900f6a41086a200541dc0d6a220441086a280200360200200520042902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ea8980800020052d00e00b22134102460d02200541a4086a41026a20052d00e30b3a000020054188086a41086a200541e00b6a41106a29020037030020054188086a41106a200541e00b6a41186a29020037030020054188086a41186a200541800c6a280200360200200520052f00e10b3b01a408200520052902e80b3703880820052802e40b21140b200541e00b6a200541fc066a410410ec8980800020052d00e00b22014103460d01200541c4086a41026a20052d00e30b3a0000200541a8086a41086a200541e00b6a41106a2204290200370300200541a8086a41106a200541e00b6a41186a2207290200370300200541a8086a41186a200541800c6a2208280200360200200520052f00e10b3b01c408200520052902e80b3703a80820052802e40b2115200541e00b6a200541fc066a410510ec8980800020052d00e00b22164103460d01200541e4086a41026a20052d00e30b3a0000200541c8086a41086a2004290200370300200541c8086a41106a2007290200370300200541c8086a41186a2008280200360200200520052f00e10b3b01e408200520052902e80b3703c80820052802e40b2108200541e00b6a200541fc066a410610ec8980800020052d00e00b22174103460d0120054184096a41026a20052d00e30b3a0000200541e8086a41086a200541e00b6a41106a2204290200370300200541e8086a41106a200541e00b6a41186a2207290200370300200541e8086a41186a200541800c6a220b280200360200200520052f00e10b3b018409200520052902e80b3703e80820052802e40b2118200541e00b6a200541fc066a410710ec8980800020052d00e00b22194103460d01200541a4096a41026a20052d00e30b3a000020054188096a41086a200429020037030020054188096a41106a200729020037030020054188096a41186a200b280200360200200520052f00e10b3b01a409200520052902e80b3703880920052802e40b211a200541e00b6a200541fc066a410810ec8980800020052d00e00b221b4103460d01200541c4096a41026a20052d00e30b3a0000200541a8096a41086a200541e00b6a41106a2204290200370300200541a8096a41106a200541e00b6a41186a2207290200370300200541a8096a41186a200541800c6a220b280200360200200520052f00e10b3b01c409200520052902e80b3703a80920052802e40b211c200541e00b6a200541fc066a410910ec8980800020052d00e00b221d4103460d01200541e4096a41026a20052d00e30b3a0000200541c8096a41086a2004290200370300200541c8096a41106a2007290200370300200541c8096a41186a200b280200360200200520052f00e10b3b01e409200520052902e80b3703c80920052802e40b211e200541e00b6a200541fc066a410a10ec8980800020052d00e00b221f4103460d01200541840a6a41026a20052d00e30b3a0000200541e8096a41086a200541e00b6a41106a2204290200370300200541e8096a41106a200541e00b6a41186a2207290200370300200541e8096a41186a200541800c6a220b280200360200200520052f00e10b3b01840a200520052902e80b3703e80920052802e40b2120200541e00b6a200541fc066a410b10ec8980800020052d00e00b22214103460d01200541a40a6a41026a20052d00e30b3a0000200541880a6a41086a2004290200370300200541880a6a41106a2007290200370300200541880a6a41186a200b280200360200200520052f00e10b3b01a40a200520052902e80b3703880a20052802e40b2122200541e00b6a200541fc066a410c10ec8980800020052d00e00b22234103460d01200541c40a6a41026a20052d00e30b3a0000200541a80a6a41086a200541e00b6a41106a2204290200370300200541a80a6a41106a200541e00b6a41186a2207290200370300200541a80a6a41186a200541800c6a220b280200360200200520052f00e10b3b01c40a200520052902e80b3703a80a20052802e40b2124200541e00b6a200541fc066a410d10ec8980800020052d00e00b22254103460d01200541e40a6a41026a20052d00e30b3a0000200541c80a6a41086a2004290200370300200541c80a6a41106a2007290200370300200541c80a6a41186a200b280200360200200520052f00e10b3b01e40a200520052902e80b3703c80a20052802e40b2126200541e00b6a200541fc066a410e10ec8980800020052d00e00b22274103460d01200541840b6a41026a20052d00e30b3a0000200541e80a6a41086a200541e00b6a41106a2204290200370300200541e80a6a41106a200541e00b6a41186a2207290200370300200541e80a6a41186a200541800c6a220b280200360200200520052f00e10b3b01840b200520052902e80b3703e80a20052802e40b2128200541e00b6a200541fc066a410f10ec8980800020052d00e00b22294103460d01200541a4076a41026a20052d00e30b3a000020054188076a41086a200429020037030020054188076a41106a200729020037030020054188076a41186a200b280200360200200520052f00e10b3b01a407200520052902e80b3703880720052802e40b212a41002d008083d480001a0240024041c00441002802f482d48000118280808000002207450d002012422088a721044103210b2007200741036a417c7120076b222b6a220720023a0000200720052f01c4073b000120072011360204200720052903a807370208200720033a0024200720052f01e4073b00252007417e6a202b3b0000200741036a200541c4076a41026a2d00003a0000200741106a200541a8076a41086a290300370200200741186a200541a8076a41106a290300370200200741206a200541a8076a41186a280200360200200741276a200541e4076a41026a2d00003a000020072010360228200720093a00482007200636024c200720052903c80737022c200741346a200541c8076a41086a2903003702002007413c6a200541c8076a41106a290300370200200741c4006a200541c8076a41186a280200360200200720052f0184083b0049200741cb006a20054184086a41026a2d00003a0000200720052903e807370250200741d8006a200541e8076a41086a290300370200200741e0006a200541e8076a41106a290300370200200741e8006a200541e8076a41186a280200360200200720133a006c20072014360270200720013a009001200720052f01a4083b006d200741ef006a200541a4086a41026a2d00003a00002007418c016a20054188086a41186a28020036020020074184016a20054188086a41106a290300370200200741fc006a20054188086a41086a2903003702002007200529038808370274200720052f01c4083b00910120074193016a200541c4086a41026a2d00003a00002007201536029401200741b0016a200541a8086a41186a280200360200200741a8016a200541a8086a41106a290300370200200741a0016a200541a8086a41086a290300370200200720052903a80837029801200720163a00b401200741b7016a200541e4086a41026a2d00003a0000200720052f01e4083b00b501200720083602b801200741d4016a200541c8086a41186a280200360200200741cc016a200541c8086a41106a290300370200200741c4016a200541c8086a41086a290300370200200720052903c8083702bc01200720173a00d801200741db016a20054184096a41026a2d00003a0000200720052f0184093b00d901200720183602dc01200741f8016a200541e8086a41186a280200360200200741f0016a200541e8086a41106a290300370200200741e8016a200541e8086a41086a290300370200200720052903e8083702e001200720193a00fc01200741ff016a200541a4096a41026a2d00003a0000200720052f01a4093b00fd012007201a360280022007419c026a20054188096a41186a28020036020020074194026a20054188096a41106a2903003702002007418c026a20054188096a41086a2903003702002007200529038809370284022007201b3a00a002200741a3026a200541c4096a41026a2d00003a0000200720052f01c4093b00a1022007201c3602a402200741c0026a200541a8096a41186a280200360200200741b8026a200541a8096a41106a290300370200200741b0026a200541a8096a41086a290300370200200720052903a8093702a8022007201d3a00c402200741c7026a200541e4096a41026a2d00003a0000200720052f01e4093b00c5022007201e3602c802200741e4026a200541c8096a41186a280200360200200741dc026a200541c8096a41106a290300370200200741d4026a200541c8096a41086a290300370200200720052903c8093702cc022007201f3a00e802200741eb026a200541840a6a41026a2d00003a0000200720052f01840a3b00e902200720203602ec0220074188036a200541e8096a41186a28020036020020074180036a200541e8096a41106a290300370200200741f8026a200541e8096a41086a290300370200200720052903e8093702f002200720213a008c032007418f036a200541a40a6a41026a2d00003a0000200720052f01a40a3b008d032007202236029003200741ac036a200541880a6a41186a280200360200200741a4036a200541880a6a41106a2903003702002007419c036a200541880a6a41086a290300370200200720052903880a37029403200720233a00b003200741b3036a200541c40a6a41026a2d00003a0000200720052f01c40a3b00b103200720243602b403200741d0036a200541a80a6a41186a280200360200200741c8036a200541a80a6a41106a290300370200200741c0036a200541a80a6a41086a290300370200200720052903a80a3702b803200720253a00d403200741d7036a200541e40a6a41026a2d00003a0000200720052f01e40a3b00d503200720263602d803200741f4036a200541c80a6a41186a280200360200200741ec036a200541c80a6a41106a290300370200200741e4036a200541c80a6a41086a290300370200200720052903c80a3702dc03200720273a00f803200741fb036a200541840b6a41026a2d00003a0000200720052f01840b3b00f903200720283602fc0320074198046a200541e80a6a41186a28020036020020074190046a200541e80a6a41106a29030037020020074188046a200541e80a6a41086a290300370200200720052903e80a37028004200720293a009c042007419f046a200541a4076a41026a2d00003a0000200720052f01a4073b009d042007202a3602a004200741bc046a20054188076a41186a280200360200200741b4046a20054188076a41106a290300370200200741ac046a20054188076a41086a29030037020020072005290388073702a404200541003602880c200541e00b6a200d422088a7220120012012a76a10d797808000200541880b6a41186a200541e00b6a41186a2201290200370300200541880b6a41106a200541e00b6a41106a290200370300200541880b6a41086a200541e00b6a41086a290200370300200520052902e00b3703880b20052802800c211120052902840c2112200f4102470d010c020b410441c00410ab80808000000b2005200da73602dc0b2005200e3602d80b2005200f3602d40b200541e00b6a200541d40b6a10cc89808000200541c40b6a41026a20052d00e30b3a0000200541c00b6a41026a200541e70b6a2d00003a0000200541a80b6a41086a2001290200370300200541a80b6a41106a200541e00b6a41206a290200370300200520052f00e10b3b01c40b200520052f00e50b3b01c00b200520052902f00b3703a80b20052d00e00b210b20052d00e40b211420052802e80b211320052802ec0b210620052802880c21150b2000200b3a0000200020052f01c40b3b0001200020143a0004200020052f01c00b3b00052000200636020c20002013360208200020052903a80b370210200041036a200541c40b6a41026a2d00003a0000200041076a200541c00b6a41026a2d00003a0000200041186a200541a80b6a41086a290300370200200041206a200541a80b6a41106a290300370200200020043602302000200736022c200020153602282000201237025820002011360254200020052903880b3702342000413c6a200541880b6a41086a290300370200200041c4006a200541880b6a41106a290300370200200041cc006a200541880b6a41186a2903003702000c060b20052802e40b2101200041083a0000200020013602040c050b412020064198a0c68000108681808000000b41f8e9cd8000412b200541b80d6a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200541b80d6a418c80c0800041b482c0800010a981808000000b4104200210ab80808000000b20052802bc0d2101200041083a00002000200136020420114129490d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200541a00f6a2480808080000bc60801057f23808080800041e0016b22042480808080002002280208210520022802042106024002400240024020022802004101470d0020044180016a41186a200141186a29000037030020044180016a41106a200141106a29000037030020044180016a41086a200141086a2900003703002004200129000037038001200441206a20044180016a20062005200310e98980800020042d002022054108470d0120042802242102200041023a0000200020023602040c030b024020054120470d002004411c6a41026a200641026a2d00003a0000200441086a2006410f6a290000370300200441106a200641176a290000370300200441186a2006411f6a2d00003a0000200420062f00003b011c2004200629000737030020062800032102410121060c020b4100210202400240024020054100480d00024020050d00410121020c030b41002d008083d480001a200541002802f482d480001182808080000022020d01410121020b200220054194adc6800010b980808000000b2002417e6a41003b00000b20022006200510f497808000210641002d008083d480001a0240413041002802f482d48000118280808000002202450d00200041023a00002002200241036a417c7120026b22036a2202200536020c2002200636020820022005360204200241888080807836020020022001290000370010200020023602042002417e6a20033b0000200241186a200141086a290000370000200241206a200141106a290000370000200241286a200141186a2900003700000c030b4104413010ab80808000000b200441dc016a41026a20042d00233a0000200420042f00213b01dc012004280224210720044180016a200441206a41086a41d80010f4978080001a024020032802182202450d0020032002417f6a3602184100210620032003280214220241016a22014100200328020c220820012008491b6b3602140240200328021020024102746a2802002202200328020822014f0d00200328020420024107746a220120012d00004108464102746a10d889808000200120053a0004200141083a000020012007360208200120042f01dc013b0005200141076a200441dc016a41026a2d00003a00002001410c6a20044180016a41d80010f4978080001a0c020b2002200141e4abc68000108281808000000b0240200328020822022003280200470d00200341f4abc680001092868080000b200328020420024107746a220120053a0004200141083a0000200120042f01dc013b000520012007360208200141076a200441de016a2d00003a00002001410c6a20044180016a41d80010f4978080001a2003200241016a360208410021060b200020063a0000200020042f011c3b00012000200236020420002004290300370208200041036a2004411e6a2d00003a0000200041106a200441086a290300370200200041186a200441106a290300370200200041206a200441186a2802003602000b200441e0016a2480808080000bd50201017f23808080800041d0006b2203248080808000024002402002410f4b0d000240024020012802002002410c6c6a22022802004102460d00200341086a200241086a28020036020020032002290200370300200341306a41086a2001280204220241086a290000370300200341306a41106a200241106a290000370300200341306a41186a200241186a290000370300200320022900003703302003410c6a200341306a2003200128020828020010ea8980800020032d000c4102470d0120002003280210360204200041033a00000c030b200041023a00000c020b2000200329020c370200200041206a2003410c6a41206a280200360200200041186a2003410c6a41186a290200370200200041106a2003410c6a41106a290200370200200041086a2003410c6a41086a2902003702000c010b2002411041b8a4c68000108281808000000b200341d0006a2480808080000bd50201017f23808080800041d0006b2203248080808000024002402002410f4b0d000240024020012802002002410c6c6a22022802004102460d00200341086a200241086a28020036020020032002290200370300200341306a41086a2001280204220241086a290000370300200341306a41106a200241106a290000370300200341306a41186a200241186a290000370300200320022900003703302003410c6a200341306a2003200128020828020010ea8980800020032d000c4102470d0120002003280210360204200041033a00000c030b200041023a00000c020b2000200329020c370200200041206a2003410c6a41206a280200360200200041186a2003410c6a41186a290200370200200041106a2003410c6a41106a290200370200200041086a2003410c6a41086a2902003702000c010b2002411041c8a4c68000108281808000000b200341d0006a2480808080000bc46107057f017e017f027e047f017e1a7f23808080800041a00f6b22052480808080002005200436020c200541b80d6a2002200310e68980800020054190076a2204200541b80d6a410c6a290200370300200520052902bc0d37038807024002400240024020052802b80d22064107470d00200541106a410c6a200429030037020020052005290388073702140c010b200541e00b6a41146a200541b80d6a41146a41c40110f4978080001a200541e00b6a410c6a2004290300370200200520063602e00b20052005290388073702e40b200541106a200541e00b6a2002200310df97808000200528021022034107470d010b200541b80d6a41086a22032005411c6a290200370300200541b80d6a41186a2202200141086a290000370300200541b80d6a41206a2204200141106a290000370300200541b80d6a41286a2206200141186a290000370300200520052902143703b80d200520012900003703c80d41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22076a220120052903b80d3702002001417e6a20073b0000200141086a2003290300370200200141106a200541b80d6a41106a290300370200200141186a2002290300370200200141206a2004290300370200200141286a2006290300370200200041083a0000200020013602040c020b4104413010ab80808000000b200528022821042005280224210820052802202102200528021421092005290218210a200541e8016a200541106a411c6a41a40110f4978080001a4104210b200a422088220ca7210620052902d801210d20052802d401210e20052802d001210f02400240024002400240024002400240024002400240024002400240024002402003417d6a2210410420104104491b0e050900030102090b200541003602e00d200541b80d6a2002200220086a10d797808000200541e00b6a41186a200541b80d6a41186a290200370300200541e00b6a41106a200541b80d6a41106a290200370300200541e00b6a41086a200541b80d6a41086a290200370300200520052902b80d3703e00b20052802d80d211120052902dc0d2112200aa72101024002402009410171450d00200c4220520d0c200541c00b6a41026a200141026a2d00003a0000200541b00b6a200141136a290000370300200541b50b6a200141186a290000370000200520012f00003b01c00b2005200129000b3703a80b2001280007210620012800032113410121140c010b200a427f570d0c200a4280808080d0feffffff005a0d0d4100211441002d008083d480001a2006410b6a41fcffffff0771220241002802f482d48000118280808000002203450d0e2003200341036a417c7120036b22026a22134281808080103702002013417e6a20023b0000201341086a2001200610f4978080001a0b200541880b6a41186a200541e00b6a41186a290300370300200541880b6a41106a200541e00b6a41106a290300370300200541880b6a41086a200541e00b6a41086a290300370300200520052903e00b3703880b4105210b0c080b200520043602cc0d200520083602c80d200520023602c40d2005200a3702bc0d200520093602b80d200541b80d6a41186a200541e8016a41a40110f49780800021032005200f3602f40e20052001360280074102210620052005410c6a360284072005200541b80d6a3602fc060240024020094102470d00410221070c010b200541900f6a41086a200541b80d6a41086a280200360200200520052902b80d3703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22074102460d05200541b4036a41026a20052d00e30b3a000020054198036a41086a200541e00b6a41106a29020037030020054198036a41106a200541e00b6a41186a29020037030020054198036a41186a200541800c6a280200360200200520052f00e10b3b01b403200520052902e80b3703980320052802e40b211020052802c40d21020b024020024102460d00200541900f6a41086a200541c40d6a220241086a280200360200200520022902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22064102460d05200541d4036a41026a20052d00e30b3a0000200541b8036a41086a200541e00b6a41106a290200370300200541b8036a41106a200541e00b6a41186a290200370300200541b8036a41186a200541800c6a280200360200200520052f00e10b3b01d403200520052902e80b3703b80320052802e40b21090b41022102024020052802d00d4102460d00200541900f6a41086a200341086a280200360200200520032902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22024102460d05200541f4036a41026a20052d00e30b3a0000200541d8036a41086a200541e00b6a41106a290200370300200541d8036a41106a200541e00b6a41186a290200370300200541d8036a41186a200541800c6a280200360200200520052f00e10b3b01f403200520052902e80b3703d80320052802e40b21110b200541e00b6a200541fc066a410310ef8980800020052d00e00b22014103460d0420054194046a41026a20052d00e30b3a0000200541f8036a41086a200541e00b6a41106a2203290200370300200541f8036a41106a200541e00b6a41186a2204290200370300200541f8036a41186a200541800c6a2213280200360200200520052f00e10b3b019404200520052902e80b3703f80320052802e40b2108200541e00b6a200541fc066a410410ef8980800020052d00e00b220b4103460d04200541b4046a41026a20052d00e30b3a000020054198046a41086a200329020037030020054198046a41106a200429020037030020054198046a41186a2013280200360200200520052f00e10b3b01b404200520052902e80b3703980420052802e40b2103200541e00b6a200541fc066a410510ef8980800020052d00e00b22134103460d04200541d4046a41026a20052d00e30b3a0000200541b8046a41086a200541e00b6a41106a2204290200370300200541b8046a41106a200541e00b6a41186a2214290200370300200541b8046a41186a200541800c6a2215280200360200200520052f00e10b3b01d404200520052902e80b3703b80420052802e40b210f200541e00b6a200541fc066a410610ef8980800020052d00e00b22164103460d04200541f4046a41026a20052d00e30b3a0000200541d8046a41086a2004290200370300200541d8046a41106a2014290200370300200541d8046a41186a2015280200360200200520052f00e10b3b01f404200520052902e80b3703d80420052802e40b2115200541e00b6a200541fc066a410710ef8980800020052d00e00b22174103460d0420054194056a41026a20052d00e30b3a0000200541f8046a41086a200541e00b6a41106a2204290200370300200541f8046a41106a200541e00b6a41186a2214290200370300200541f8046a41186a200541800c6a2218280200360200200520052f00e10b3b019405200520052902e80b3703f80420052802e40b2119200541e00b6a200541fc066a410810ef8980800020052d00e00b221a4103460d04200541b4056a41026a20052d00e30b3a000020054198056a41086a200429020037030020054198056a41106a201429020037030020054198056a41186a2018280200360200200520052f00e10b3b01b405200520052902e80b3703980520052802e40b2118200541e00b6a200541fc066a410910ef8980800020052d00e00b221b4103460d04200541d4056a41026a20052d00e30b3a0000200541b8056a41086a200541e00b6a41106a2204290200370300200541b8056a41106a200541e00b6a41186a2214290200370300200541b8056a41186a200541800c6a221c280200360200200520052f00e10b3b01d405200520052902e80b3703b80520052802e40b211d200541e00b6a200541fc066a410a10ef8980800020052d00e00b221e4103460d04200541f4056a41026a20052d00e30b3a0000200541d8056a41086a2004290200370300200541d8056a41106a2014290200370300200541d8056a41186a201c280200360200200520052f00e10b3b01f405200520052902e80b3703d80520052802e40b211c200541e00b6a200541fc066a410b10ef8980800020052d00e00b221f4103460d0420054194066a41026a20052d00e30b3a0000200541f8056a41086a200541e00b6a41106a2204290200370300200541f8056a41106a200541e00b6a41186a2214290200370300200541f8056a41186a200541800c6a2220280200360200200520052f00e10b3b019406200520052902e80b3703f80520052802e40b2121200541e00b6a200541fc066a410c10ef8980800020052d00e00b22224103460d04200541b4066a41026a20052d00e30b3a000020054198066a41086a200429020037030020054198066a41106a201429020037030020054198066a41186a2020280200360200200520052f00e10b3b01b406200520052902e80b3703980620052802e40b2120200541e00b6a200541fc066a410d10ef8980800020052d00e00b22234103460d04200541d4066a41026a20052d00e30b3a0000200541b8066a41086a200541e00b6a41106a2204290200370300200541b8066a41106a200541e00b6a41186a2214290200370300200541b8066a41186a200541800c6a2224280200360200200520052f00e10b3b01d406200520052902e80b3703b80620052802e40b2125200541e00b6a200541fc066a410e10ef8980800020052d00e00b22264103460d04200541f8066a41026a20052d00e30b3a0000200541d8066a41086a2004290200370300200541d8066a41106a2014290200370300200541d8066a41186a2024280200360200200520052f00e10b3b01f806200520052902e80b3703d80620052802e40b2124200541e00b6a200541fc066a410f10ef8980800020052d00e00b22274103460d04200541a4076a41026a222820052d00e30b3a000020054188076a41086a2229200541e00b6a41106a29020037030020054188076a41106a222a200541e00b6a41186a29020037030020054188076a41186a222b200541e00b6a41206a280200360200200520052f00e10b3b01a407200520052902e80b3703880720052802e40b212c41002d008083d480001a41c00441002802f482d48000118280808000002204450d022004200441036a417c7120046b22146a220420073a0000200420052f01b4033b0001200420103602042004200529039803370208200420063a0024200420052f01d4033b00252004417e6a20143b000041032114200441036a200541b4036a41026a2d00003a0000200441106a20054198036a41086a290300370200200441186a20054198036a41106a290300370200200441206a20054198036a41186a280200360200200441276a200541d4036a41026a2d00003a000020042009360228200420023a00482004201136024c200420052903b80337022c200441346a200541b8036a41086a2903003702002004413c6a200541b8036a41106a290300370200200441c4006a200541b8036a41186a280200360200200420052f01f4033b0049200441cb006a200541f4036a41026a2d00003a0000200420052903d803370250200441d8006a200541d8036a41086a290300370200200441e0006a200541d8036a41106a290300370200200441e8006a200541d8036a41186a280200360200200420013a006c200420083602702004200b3a009001200420052f0194043b006d200441ef006a20054194046a41026a2d00003a00002004418c016a200541f8036a41186a28020036020020044184016a200541f8036a41106a290300370200200441fc006a200541f8036a41086a290300370200200420052903f803370274200420052f01b4043b00910120044193016a200541b4046a41026a2d00003a00002004200336029401200441b0016a20054198046a41186a280200360200200441a8016a20054198046a41106a290300370200200441a0016a20054198046a41086a290300370200200420052903980437029801200420133a00b401200441b7016a200541d4046a41026a2d00003a0000200420052f01d4043b00b5012004200f3602b801200441d4016a200541b8046a41186a280200360200200441cc016a200541b8046a41106a290300370200200441c4016a200541b8046a41086a290300370200200420052903b8043702bc01200420163a00d801200441db016a200541f4046a41026a2d00003a0000200420052f01f4043b00d901200420153602dc01200441f8016a200541d8046a41186a280200360200200441f0016a200541d8046a41106a290300370200200441e8016a200541d8046a41086a290300370200200420052903d8043702e001200420173a00fc01200441ff016a20054194056a41026a2d00003a0000200420052f0194053b00fd0120042019360280022004419c026a200541f8046a41186a28020036020020044194026a200541f8046a41106a2903003702002004418c026a200541f8046a41086a290300370200200420052903f804370284022004201a3a00a002200441a3026a200541b4056a41026a2d00003a0000200420052f01b4053b00a102200420183602a402200441c0026a20054198056a41186a280200360200200441b8026a20054198056a41106a290300370200200441b0026a20054198056a41086a29030037020020042005290398053702a8022004201b3a00c402200441c7026a200541d4056a41026a2d00003a0000200420052f01d4053b00c5022004201d3602c802200441e4026a200541b8056a41186a280200360200200441dc026a200541b8056a41106a290300370200200441d4026a200541b8056a41086a290300370200200420052903b8053702cc022004201e3a00e802200441eb026a200541f4056a41026a2d00003a0000200420052f01f4053b00e9022004201c3602ec0220044188036a200541d8056a41186a28020036020020044180036a200541d8056a41106a290300370200200441f8026a200541d8056a41086a290300370200200420052903d8053702f0022004201f3a008c032004418f036a20054194066a41026a2d00003a0000200420052f0194063b008d032004202136029003200441ac036a200541f8056a41186a280200360200200441a4036a200541f8056a41106a2903003702002004419c036a200541f8056a41086a290300370200200420052903f80537029403200420223a00b003200441b3036a200541b4066a41026a2d00003a0000200420052f01b4063b00b103200420203602b403200441d0036a20054198066a41186a280200360200200441c8036a20054198066a41106a290300370200200441c0036a20054198066a41086a29030037020020042005290398063702b803200420233a00d403200441d7036a200541d4066a41026a2d00003a0000200420052f01d4063b00d503200420253602d803200441f4036a200541b8066a41186a280200360200200441ec036a200541b8066a41106a290300370200200441e4036a200541b8066a41086a290300370200200420052903b8063702dc03200420263a00f803200441fb036a200541f8066a41026a2d00003a0000200420052f01f8063b00f903200420243602fc0320044198046a200541d8066a41186a28020036020020044190046a200541d8066a41106a29030037020020044188046a200541d8066a41086a290300370200200420052903d80637028004200420273a009c042004419f046a20282d00003a0000200420052f01a4073b009d042004202c3602a004200441bc046a202b280200360200200441b4046a202a290300370200200441ac046a202929030037020020042005290388073702a404200e4102470d034107210b0c070b20052902e0012112200520043602d00d200520083602cc0d200520023602c80d2005200a3702c00d200520093602bc0d200520033602b80d200541b80d6a411c6a200541e8016a41a40110f4978080001a20052001360280074102210220052005410c6a360284072005200541b80d6a3602fc0620034102460d04200541900f6a41086a200541b80d6a41086a280200360200200520052902b80d3703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22034102460d07200541c6076a20052d00e30b3a0000200541a8076a41086a200541e00b6a41106a290200370300200541a8076a41106a200541e00b6a41186a290200370300200541a8076a41186a200541800c6a280200360200200520052f00e10b3b01c407200520052902e80b3703a80720052802e40b211120052802c40d2106200321020c050b2005200a370290032005200936028c03200541003602e00d200541b80d6a2002200220086a10d797808000200541106a41086a2203200541b80d6a41106a290200370300200541106a41106a2202200541b80d6a41186a290200370300200541106a41186a2206200541d80d6a290200370300200520052902c00d37031020052802bc0d210920052802b80d210720052802e00d2111200541e00b6a41186a200141186a290000370300200541e00b6a41106a200141106a290000370300200541e00b6a41086a200141086a290000370300200520012900003703e00b200541b80d6a200541e00b6a2005418c036a200528020c10ee8980800020052d00b80d22144102460d0b200541c00b6a41026a20052d00bb0d3a0000200541a80b6a41086a200541cc0d6a290200370300200541a80b6a41106a200541d40d6a290200370300200541880b6a41086a2003290300370300200541880b6a41106a2002290300370300200541880b6a41186a2006290300370300200520052f00b90d3b01c00b200520052902c40d3703a80b200520052903103703880b20052802bc0d211320052802c00d21064106210b20042115200921040c050b410441c00410ab80808000000b2005200d3702cc0b2005200e3602c80b200541e00b6a200541c80b6a10cc89808000200541c20b6a20052d00e30b3a0000200541b00b6a200541f40b6a290200370300200541b80b6a200541fc0b6a290200370300200520052f00e10b3b01c00b200520052902ec0b3703a80b20052d00e00b211420052802e40b211320052802e80b210620052802840c211520052802880c21074107210b0c030b20052802e40b2101200041083a0000200020013602040c090b0b4102210941022103024020064102460d00200541900f6a41086a200541cc0d6a280200360200200520052902c40d3703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22034102460d02200541e4076a41026a20052d00e30b3a0000200541c8076a41086a200541e00b6a41106a290200370300200541c8076a41106a200541e00b6a41186a290200370300200541c8076a41186a200541800c6a280200360200200520052f00e10b3b01e407200520052902e80b3703c80720052802e40b21100b024020052802d00d4102460d00200541900f6a41086a200541b80d6a41186a220441086a280200360200200520042902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22094102460d0220054184086a41026a20052d00e30b3a0000200541e8076a41086a200541e00b6a41106a290200370300200541e8076a41106a200541e00b6a41186a290200370300200541e8076a41186a200541800c6a280200360200200520052f00e10b3b018408200520052902e80b3703e80720052802e40b21060b41022113024020052802dc0d4102460d00200541900f6a41086a200541dc0d6a220441086a280200360200200520042902003703900f200541106a41186a200141186a290000370300200541106a41106a200141106a290000370300200541106a41086a200141086a29000037030020052001290000370310200541e00b6a200541106a200541900f6a200528020c10ee8980800020052d00e00b22134102460d02200541a4086a41026a20052d00e30b3a000020054188086a41086a200541e00b6a41106a29020037030020054188086a41106a200541e00b6a41186a29020037030020054188086a41186a200541800c6a280200360200200520052f00e10b3b01a408200520052902e80b3703880820052802e40b21140b200541e00b6a200541fc066a410410f08980800020052d00e00b22014103460d01200541c4086a41026a20052d00e30b3a0000200541a8086a41086a200541e00b6a41106a2204290200370300200541a8086a41106a200541e00b6a41186a2207290200370300200541a8086a41186a200541800c6a2208280200360200200520052f00e10b3b01c408200520052902e80b3703a80820052802e40b2115200541e00b6a200541fc066a410510f08980800020052d00e00b22164103460d01200541e4086a41026a20052d00e30b3a0000200541c8086a41086a2004290200370300200541c8086a41106a2007290200370300200541c8086a41186a2008280200360200200520052f00e10b3b01e408200520052902e80b3703c80820052802e40b2108200541e00b6a200541fc066a410610f08980800020052d00e00b22174103460d0120054184096a41026a20052d00e30b3a0000200541e8086a41086a200541e00b6a41106a2204290200370300200541e8086a41106a200541e00b6a41186a2207290200370300200541e8086a41186a200541800c6a220b280200360200200520052f00e10b3b018409200520052902e80b3703e80820052802e40b2118200541e00b6a200541fc066a410710f08980800020052d00e00b22194103460d01200541a4096a41026a20052d00e30b3a000020054188096a41086a200429020037030020054188096a41106a200729020037030020054188096a41186a200b280200360200200520052f00e10b3b01a409200520052902e80b3703880920052802e40b211a200541e00b6a200541fc066a410810f08980800020052d00e00b221b4103460d01200541c4096a41026a20052d00e30b3a0000200541a8096a41086a200541e00b6a41106a2204290200370300200541a8096a41106a200541e00b6a41186a2207290200370300200541a8096a41186a200541800c6a220b280200360200200520052f00e10b3b01c409200520052902e80b3703a80920052802e40b211c200541e00b6a200541fc066a410910f08980800020052d00e00b221d4103460d01200541e4096a41026a20052d00e30b3a0000200541c8096a41086a2004290200370300200541c8096a41106a2007290200370300200541c8096a41186a200b280200360200200520052f00e10b3b01e409200520052902e80b3703c80920052802e40b211e200541e00b6a200541fc066a410a10f08980800020052d00e00b221f4103460d01200541840a6a41026a20052d00e30b3a0000200541e8096a41086a200541e00b6a41106a2204290200370300200541e8096a41106a200541e00b6a41186a2207290200370300200541e8096a41186a200541800c6a220b280200360200200520052f00e10b3b01840a200520052902e80b3703e80920052802e40b2120200541e00b6a200541fc066a410b10f08980800020052d00e00b22214103460d01200541a40a6a41026a20052d00e30b3a0000200541880a6a41086a2004290200370300200541880a6a41106a2007290200370300200541880a6a41186a200b280200360200200520052f00e10b3b01a40a200520052902e80b3703880a20052802e40b2122200541e00b6a200541fc066a410c10f08980800020052d00e00b22234103460d01200541c40a6a41026a20052d00e30b3a0000200541a80a6a41086a200541e00b6a41106a2204290200370300200541a80a6a41106a200541e00b6a41186a2207290200370300200541a80a6a41186a200541800c6a220b280200360200200520052f00e10b3b01c40a200520052902e80b3703a80a20052802e40b2124200541e00b6a200541fc066a410d10f08980800020052d00e00b22254103460d01200541e40a6a41026a20052d00e30b3a0000200541c80a6a41086a2004290200370300200541c80a6a41106a2007290200370300200541c80a6a41186a200b280200360200200520052f00e10b3b01e40a200520052902e80b3703c80a20052802e40b2126200541e00b6a200541fc066a410e10f08980800020052d00e00b22274103460d01200541840b6a41026a20052d00e30b3a0000200541e80a6a41086a200541e00b6a41106a2204290200370300200541e80a6a41106a200541e00b6a41186a2207290200370300200541e80a6a41186a200541800c6a220b280200360200200520052f00e10b3b01840b200520052902e80b3703e80a20052802e40b2128200541e00b6a200541fc066a410f10f08980800020052d00e00b22294103460d01200541a4076a41026a20052d00e30b3a000020054188076a41086a200429020037030020054188076a41106a200729020037030020054188076a41186a200b280200360200200520052f00e10b3b01a407200520052902e80b3703880720052802e40b212a41002d008083d480001a0240024041c00441002802f482d48000118280808000002207450d002012422088a721044103210b2007200741036a417c7120076b222b6a220720023a0000200720052f01c4073b000120072011360204200720052903a807370208200720033a0024200720052f01e4073b00252007417e6a202b3b0000200741036a200541c4076a41026a2d00003a0000200741106a200541a8076a41086a290300370200200741186a200541a8076a41106a290300370200200741206a200541a8076a41186a280200360200200741276a200541e4076a41026a2d00003a000020072010360228200720093a00482007200636024c200720052903c80737022c200741346a200541c8076a41086a2903003702002007413c6a200541c8076a41106a290300370200200741c4006a200541c8076a41186a280200360200200720052f0184083b0049200741cb006a20054184086a41026a2d00003a0000200720052903e807370250200741d8006a200541e8076a41086a290300370200200741e0006a200541e8076a41106a290300370200200741e8006a200541e8076a41186a280200360200200720133a006c20072014360270200720013a009001200720052f01a4083b006d200741ef006a200541a4086a41026a2d00003a00002007418c016a20054188086a41186a28020036020020074184016a20054188086a41106a290300370200200741fc006a20054188086a41086a2903003702002007200529038808370274200720052f01c4083b00910120074193016a200541c4086a41026a2d00003a00002007201536029401200741b0016a200541a8086a41186a280200360200200741a8016a200541a8086a41106a290300370200200741a0016a200541a8086a41086a290300370200200720052903a80837029801200720163a00b401200741b7016a200541e4086a41026a2d00003a0000200720052f01e4083b00b501200720083602b801200741d4016a200541c8086a41186a280200360200200741cc016a200541c8086a41106a290300370200200741c4016a200541c8086a41086a290300370200200720052903c8083702bc01200720173a00d801200741db016a20054184096a41026a2d00003a0000200720052f0184093b00d901200720183602dc01200741f8016a200541e8086a41186a280200360200200741f0016a200541e8086a41106a290300370200200741e8016a200541e8086a41086a290300370200200720052903e8083702e001200720193a00fc01200741ff016a200541a4096a41026a2d00003a0000200720052f01a4093b00fd012007201a360280022007419c026a20054188096a41186a28020036020020074194026a20054188096a41106a2903003702002007418c026a20054188096a41086a2903003702002007200529038809370284022007201b3a00a002200741a3026a200541c4096a41026a2d00003a0000200720052f01c4093b00a1022007201c3602a402200741c0026a200541a8096a41186a280200360200200741b8026a200541a8096a41106a290300370200200741b0026a200541a8096a41086a290300370200200720052903a8093702a8022007201d3a00c402200741c7026a200541e4096a41026a2d00003a0000200720052f01e4093b00c5022007201e3602c802200741e4026a200541c8096a41186a280200360200200741dc026a200541c8096a41106a290300370200200741d4026a200541c8096a41086a290300370200200720052903c8093702cc022007201f3a00e802200741eb026a200541840a6a41026a2d00003a0000200720052f01840a3b00e902200720203602ec0220074188036a200541e8096a41186a28020036020020074180036a200541e8096a41106a290300370200200741f8026a200541e8096a41086a290300370200200720052903e8093702f002200720213a008c032007418f036a200541a40a6a41026a2d00003a0000200720052f01a40a3b008d032007202236029003200741ac036a200541880a6a41186a280200360200200741a4036a200541880a6a41106a2903003702002007419c036a200541880a6a41086a290300370200200720052903880a37029403200720233a00b003200741b3036a200541c40a6a41026a2d00003a0000200720052f01c40a3b00b103200720243602b403200741d0036a200541a80a6a41186a280200360200200741c8036a200541a80a6a41106a290300370200200741c0036a200541a80a6a41086a290300370200200720052903a80a3702b803200720253a00d403200741d7036a200541e40a6a41026a2d00003a0000200720052f01e40a3b00d503200720263602d803200741f4036a200541c80a6a41186a280200360200200741ec036a200541c80a6a41106a290300370200200741e4036a200541c80a6a41086a290300370200200720052903c80a3702dc03200720273a00f803200741fb036a200541840b6a41026a2d00003a0000200720052f01840b3b00f903200720283602fc0320074198046a200541e80a6a41186a28020036020020074190046a200541e80a6a41106a29030037020020074188046a200541e80a6a41086a290300370200200720052903e80a37028004200720293a009c042007419f046a200541a4076a41026a2d00003a0000200720052f01a4073b009d042007202a3602a004200741bc046a20054188076a41186a280200360200200741b4046a20054188076a41106a290300370200200741ac046a20054188076a41086a29030037020020072005290388073702a404200541003602880c200541e00b6a200d422088a7220120012012a76a10d797808000200541880b6a41186a200541e00b6a41186a2201290200370300200541880b6a41106a200541e00b6a41106a290200370300200541880b6a41086a200541e00b6a41086a290200370300200520052902e00b3703880b20052802800c211120052902840c2112200f4102470d010c020b410441c00410ab80808000000b2005200da73602dc0b2005200e3602d80b2005200f3602d40b200541e00b6a200541d40b6a10cc89808000200541c40b6a41026a20052d00e30b3a0000200541c00b6a41026a200541e70b6a2d00003a0000200541a80b6a41086a2001290200370300200541a80b6a41106a200541e00b6a41206a290200370300200520052f00e10b3b01c40b200520052f00e50b3b01c00b200520052902f00b3703a80b20052d00e00b210b20052d00e40b211420052802e80b211320052802ec0b210620052802880c21150b2000200b3a0000200020052f01c40b3b0001200020143a0004200020052f01c00b3b00052000200636020c20002013360208200020052903a80b370210200041036a200541c40b6a41026a2d00003a0000200041076a200541c00b6a41026a2d00003a0000200041186a200541a80b6a41086a290300370200200041206a200541a80b6a41106a290300370200200020043602302000200736022c200020153602282000201237025820002011360254200020052903880b3702342000413c6a200541880b6a41086a290300370200200041c4006a200541880b6a41106a290300370200200041cc006a200541880b6a41186a2903003702000c060b20052802e40b2101200041083a0000200020013602040c050b412020064198a0c68000108681808000000b41f8e9cd8000412b200541b80d6a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200541b80d6a418c80c0800041b482c0800010a981808000000b4104200210ab80808000000b20052802bc0d2101200041083a00002000200136020420114129490d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200541a00f6a2480808080000bc60801057f23808080800041e0016b22042480808080002002280208210520022802042106024002400240024020022802004101470d0020044180016a41186a200141186a29000037030020044180016a41106a200141106a29000037030020044180016a41086a200141086a2900003703002004200129000037038001200441206a20044180016a20062005200310ed8980800020042d002022054108470d0120042802242102200041023a0000200020023602040c030b024020054120470d002004411c6a41026a200641026a2d00003a0000200441086a2006410f6a290000370300200441106a200641176a290000370300200441186a2006411f6a2d00003a0000200420062f00003b011c2004200629000737030020062800032102410121060c020b4100210202400240024020054100480d00024020050d00410121020c030b41002d008083d480001a200541002802f482d480001182808080000022020d01410121020b200220054194adc6800010b980808000000b2002417e6a41003b00000b20022006200510f497808000210641002d008083d480001a0240413041002802f482d48000118280808000002202450d00200041023a00002002200241036a417c7120026b22036a2202200536020c2002200636020820022005360204200241888080807836020020022001290000370010200020023602042002417e6a20033b0000200241186a200141086a290000370000200241206a200141106a290000370000200241286a200141186a2900003700000c030b4104413010ab80808000000b200441dc016a41026a20042d00233a0000200420042f00213b01dc012004280224210720044180016a200441206a41086a41d80010f4978080001a024020032802182202450d0020032002417f6a3602184100210620032003280214220241016a22014100200328020c220820012008491b6b3602140240200328021020024102746a2802002202200328020822014f0d00200328020420024107746a220120012d00004108464102746a10d889808000200120053a0004200141083a000020012007360208200120042f01dc013b0005200141076a200441dc016a41026a2d00003a00002001410c6a20044180016a41d80010f4978080001a0c020b2002200141e4abc68000108281808000000b0240200328020822022003280200470d00200341f4abc680001092868080000b200328020420024107746a220120053a0004200141083a0000200120042f01dc013b000520012007360208200141076a200441de016a2d00003a00002001410c6a20044180016a41d80010f4978080001a2003200241016a360208410021060b200020063a0000200020042f011c3b00012000200236020420002004290300370208200041036a2004411e6a2d00003a0000200041106a200441086a290300370200200041186a200441106a290300370200200041206a200441186a2802003602000b200441e0016a2480808080000bd50201017f23808080800041d0006b2203248080808000024002402002410f4b0d000240024020012802002002410c6c6a22022802004102460d00200341086a200241086a28020036020020032002290200370300200341306a41086a2001280204220241086a290000370300200341306a41106a200241106a290000370300200341306a41186a200241186a290000370300200320022900003703302003410c6a200341306a2003200128020828020010ee8980800020032d000c4102470d0120002003280210360204200041033a00000c030b200041023a00000c020b2000200329020c370200200041206a2003410c6a41206a280200360200200041186a2003410c6a41186a290200370200200041106a2003410c6a41106a290200370200200041086a2003410c6a41086a2902003702000c010b2002411041b8a4c68000108281808000000b200341d0006a2480808080000bd50201017f23808080800041d0006b2203248080808000024002402002410f4b0d000240024020012802002002410c6c6a22022802004102460d00200341086a200241086a28020036020020032002290200370300200341306a41086a2001280204220241086a290000370300200341306a41106a200241106a290000370300200341306a41186a200241186a290000370300200320022900003703302003410c6a200341306a2003200128020828020010ee8980800020032d000c4102470d0120002003280210360204200041033a00000c030b200041023a00000c020b2000200329020c370200200041206a2003410c6a41206a280200360200200041186a2003410c6a41186a290200370200200041106a2003410c6a41106a290200370200200041086a2003410c6a41086a2902003702000c010b2002411041c8a4c68000108281808000000b200341d0006a2480808080000bd69c0101247f23808080800041c00c6b220324808080800002400240024002400240024002400240024002400240024002400240024002400240024020012802002204417e6a2205410420054106491b0e06050001020304050b200341d80b6a200141046a10e29780800002400240200128023422020d00200341fa016a2001413a6a2d00003a0000200341800b6a200141cb006a290000370300200341850b6a200141d0006a290000370000200320012f00383b01f801200320012900433703f80a200128003f2104200128003b2102410121050c010b20022002280200220441016a3602004100210520044100480d10200128023821040b200020032902d80b370230200020053a0004200020032f01f8013b0005200041d8006a200341d80b6a41286a290200370200200041d0006a200341d80b6a41206a290200370200200041c8006a200341d80b6a41186a290200370200200041c0006a200341d80b6a41106a290200370200200041386a200341d80b6a41086a290200370200200041076a200341fa016a2d00003a00002000200436020c20002002360208200041053a0000200020032903f80a370210200041186a200341f80a6a41086a290300370200200041206a200341f80a6a41106a290300370200200041286a200341f80a6a41186a2903003702000c100b200341f8016a200141286a10e297808000410121050240024020012d00044101470d00200341f80a6a2001280208200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a024020022802182201450d0020022001417f6a3602184100210520022002280214220141016a22044100200228020c220620042006491b6b3602140240200228021020014102746a2802002201200228020822044f0d00200228020420014107746a220220022d00004108464102746a10d889808000200241083a0000200241016a200341d80b6a41e30010f4978080001a0c030b2001200441e4abc68000108281808000000b0240200228020822012002280200470d00200241f4abc680001092868080000b200228020420014107746a220541083a0000200541016a200341d80b6a41e30010f4978080001a2002200141016a360208410021050c010b200341fa0a6a200141076a2d00003a0000200341e00b6a200141146a290200370300200341e80b6a2001411c6a290200370300200341f00b6a200141246a2d00003a0000200320012f00053b01f80a2003200129020c3703d80b200128020821010b200020032902f801370228200020053a0004200020032f01f80a3b000520002001360208200041d0006a200341a0026a290200370200200041c8006a20034198026a290200370200200041c0006a200341f8016a41186a290200370200200041386a200341f8016a41106a290200370200200041306a200341f8016a41086a290200370200200041076a200341fa0a6a2d00003a0000200041063a0000200041246a200341d80b6a41186a2802003602002000411c6a200341d80b6a41106a290300370200200041146a200341d80b6a41086a290300370200200020032903d80b37020c0c0f0b024002400240200128023822070d004102210441022108410221094102210a4102210b4102210c4102210d4102210e0c010b410221044102210e0240200128023422052d0000220f4102460d004101210e0240200f410171450d00200341f80a6a2005280204200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a024020022802182206450d0020022006417f6a3602184100210e20022002280214220641016a220f4100200228020c2210200f2010491b6b3602140240200228021020064102746a28020022062002280208220f4f0d00200228020420064107746a220f200f2d00004108464102746a10d889808000200f41083a0000200f41016a200341d80b6a41e30010f4978080001a0c030b2006200f41e4abc68000108281808000000b0240200228020822062002280200470d00200241f4abc680001092868080000b200228020420064107746a220e41083a0000200e41016a200341d80b6a41e30010f4978080001a2002200641016a3602084100210e0c010b20034196036a200541036a2d00003a000020034180036a200541106a290000370300200341f8026a41106a200541186a290000370300200341f8026a41186a200541206a2d00003a0000200320052f00013b019403200320052900083703f802200528000421060b20074101470d0141022108410221094102210a4102210b4102210c4102210d0b410221100c090b4102210441022110024020052d002422114102460d004101211002402011410171450d00200341f80a6a2005280228200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341f8006a2002410c6a10958f8080002002280208210f02402003280278410171450d000240200328027c2211200f4f0d00200228020420114107746a220f200f2d00004108464102746a10d889808000200f41083a0000200f41016a200341d80b6a41e30010f4978080001a410021102011210f0c030b2011200f41e4abc68000108281808000000b0240200f2002280200470d00200241f4abc680001092868080000b2002280204200f4107746a221041083a0000201041016a200341d80b6a41e30010f4978080001a2002200f41016a360208410021100c010b200341b6036a200541276a2d00003a0000200341a0036a200541346a290000370300200341a8036a2005413c6a290000370300200341b0036a200541c4006a2d00003a0000200320052f00253b01b4032003200529002c370398032005280028210f0b0240200741034f0d0041022108410221094102210a4102210b4102210c4102210d0c090b410221044102210d024020052d004822124102460d004101210d02402012410171450d00200341f80a6a200528024c200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341f0006a2002410c6a10958f8080002002280208211102402003280270410171450d0002402003280274221220114f0d00200228020420124107746a221120112d00004108464102746a10d889808000201141083a0000201141016a200341d80b6a41e30010f4978080001a4100210d201221110c030b2012201141e4abc68000108281808000000b024020112002280200470d00200241f4abc680001092868080000b200228020420114107746a220d41083a0000200d41016a200341d80b6a41e30010f4978080001a2002201141016a3602084100210d0c010b200341d6036a200541cb006a2d00003a0000200341c0036a200541d8006a290000370300200341c8036a200541e0006a290000370300200341d0036a200541e8006a2d00003a0000200320052f00493b01d403200320052900503703b803200528004c21110b024020074103470d0041022108410221094102210a4102210b4102210c0c090b4102210441022113024020052d006c22144102460d004101211302402014410171450d00200341f80a6a2005280270200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341e8006a2002410c6a10958f8080002002280208211202402003280268410171450d000240200328026c221420124f0d00200228020420144107746a221220122d00004108464102746a10d889808000201241083a0000201241016a200341d80b6a41e30010f4978080001a41002113201421120c030b2014201241e4abc68000108281808000000b024020122002280200470d00200241f4abc680001092868080000b200228020420124107746a221341083a0000201341016a200341d80b6a41e30010f4978080001a2002201241016a360208410021130c010b200341f6036a200541ef006a2d00003a0000200341e0036a200541fc006a290000370300200341e8036a20054184016a290000370300200341f0036a2005418c016a2d00003a0000200320052f006d3b01f403200320052900743703d803200528007021120b0240200741054f0d0041022108410221094102210a4102210b4102210c0c0a0b410221044102210c024020052d00900122154102460d004101210c02402015410171450d00200341f80a6a200528029401200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341e0006a2002410c6a10958f8080002002280208211402402003280260410171450d0002402003280264221520144f0d00200228020420154107746a221420142d00004108464102746a10d889808000201441083a0000201441016a200341d80b6a41e30010f4978080001a4100210c201521140c030b2015201441e4abc68000108281808000000b024020142002280200470d00200241f4abc680001092868080000b200228020420144107746a220c41083a0000200c41016a200341d80b6a41e30010f4978080001a2002201441016a3602084100210c0c010b20034196046a20054193016a2d00003a000020034180046a200541a0016a29000037030020034188046a200541a8016a29000037030020034190046a200541b0016a2d00003a0000200320052f0091013b01940420032005290098013703f80320052800940121140b024020074105470d0041022108410221094102210a4102210b0c0a0b4102210441022116024020052d00b40122174102460d004101211602402017410171450d00200341f80a6a20052802b801200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341d8006a2002410c6a10958f8080002002280208211502402003280258410171450d000240200328025c221720154f0d00200228020420174107746a221520152d00004108464102746a10d889808000201541083a0000201541016a200341d80b6a41e30010f4978080001a41002116201721150c030b2017201541e4abc68000108281808000000b024020152002280200470d00200241f4abc680001092868080000b200228020420154107746a221641083a0000201641016a200341d80b6a41e30010f4978080001a2002201541016a360208410021160c010b200341b6046a200541b7016a2d00003a0000200341a0046a200541c4016a290000370300200341a8046a200541cc016a290000370300200341b0046a200541d4016a2d00003a0000200320052f00b5013b01b404200320052900bc013703980420052800b80121150b0240200741074f0d0041022108410221094102210a4102210b0c0b0b410221044102210b024020052d00d80122184102460d004101210b02402018410171450d00200341f80a6a20052802dc01200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341d0006a2002410c6a10958f8080002002280208211702402003280250410171450d0002402003280254221820174f0d00200228020420184107746a221720172d00004108464102746a10d889808000201741083a0000201741016a200341d80b6a41e30010f4978080001a4100210b201821170c030b2018201741e4abc68000108281808000000b024020172002280200470d00200241f4abc680001092868080000b200228020420174107746a220b41083a0000200b41016a200341d80b6a41e30010f4978080001a2002201741016a3602084100210b0c010b200341d6046a200541db016a2d00003a0000200341c0046a200541e8016a290000370300200341c8046a200541f0016a290000370300200341d0046a200541f8016a2d00003a0000200320052f00d9013b01d404200320052900e0013703b80420052800dc0121170b024020074107470d0041022108410221094102210a0c0b0b4102210441022119024020052d00fc01221a4102460d00410121190240201a410171450d00200341f80a6a200528028002200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341c8006a2002410c6a10958f8080002002280208211802402003280248410171450d000240200328024c221a20184f0d002002280204201a4107746a221820182d00004108464102746a10d889808000201841083a0000201841016a200341d80b6a41e30010f4978080001a41002119201a21180c030b201a201841e4abc68000108281808000000b024020182002280200470d00200241f4abc680001092868080000b200228020420184107746a221941083a0000201941016a200341d80b6a41e30010f4978080001a2002201841016a360208410021190c010b200341f6046a200541ff016a2d00003a0000200341e0046a2005418c026a290000370300200341e8046a20054194026a290000370300200341f0046a2005419c026a2d00003a0000200320052f00fd013b01f40420032005290084023703d80420052800800221180b0240200741094f0d0041022108410221094102210a0c0c0b410221044102210a024020052d00a002221b4102460d004101210a0240201b410171450d00200341f80a6a20052802a402200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341c0006a2002410c6a10958f8080002002280208211a02402003280240410171450d0002402003280244221b201a4f0d002002280204201b4107746a221a201a2d00004108464102746a10d889808000201a41083a0000201a41016a200341d80b6a41e30010f4978080001a4100210a201b211a0c030b201b201a41e4abc68000108281808000000b0240201a2002280200470d00200241f4abc680001092868080000b2002280204201a4107746a220a41083a0000200a41016a200341d80b6a41e30010f4978080001a2002201a41016a3602084100210a0c010b20034196056a200541a3026a2d00003a000020034180056a200541b0026a29000037030020034188056a200541b8026a29000037030020034190056a200541c0026a2d00003a0000200320052f00a1023b019405200320052900a8023703f80420052800a402211a0b024020074109470d0041022108410221090c0c0b410221044102211c024020052d00c402221d4102460d004101211c0240201d410171450d00200341f80a6a20052802c802200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341386a2002410c6a10958f8080002002280208211b02402003280238410171450d000240200328023c221d201b4f0d002002280204201d4107746a221b201b2d00004108464102746a10d889808000201b41083a0000201b41016a200341d80b6a41e30010f4978080001a4100211c201d211b0c030b201d201b41e4abc68000108281808000000b0240201b2002280200470d00200241f4abc680001092868080000b2002280204201b4107746a221c41083a0000201c41016a200341d80b6a41e30010f4978080001a2002201b41016a3602084100211c0c010b200341b6056a200541c7026a2d00003a0000200341a0056a200541d4026a290000370300200341a8056a200541dc026a290000370300200341b0056a200541e4026a2d00003a0000200320052f00c5023b01b405200320052900cc023703980520052800c802211b0b02402007410b4f0d0041022108410221094102211e4102211f410221200c0d0b4102210441022109024020052d00e80222214102460d004101210902402021410171450d00200341f80a6a20052802ec02200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341306a2002410c6a10958f8080002002280208211d02402003280230410171450d00024020032802342221201d4f0d00200228020420214107746a221d201d2d00004108464102746a10d889808000201d41083a0000201d41016a200341d80b6a41e30010f4978080001a410021092021211d0c030b2021201d41e4abc68000108281808000000b0240201d2002280200470d00200241f4abc680001092868080000b2002280204201d4107746a220941083a0000200941016a200341d80b6a41e30010f4978080001a2002201d41016a360208410021090c010b200341d6056a200541eb026a2d00003a0000200341c0056a200541f8026a290000370300200341c8056a20054180036a290000370300200341d0056a20054188036a2d00003a0000200320052f00e9023b01d405200320052900f0023703b80520052800ec02211d0b02402007410b470d00410221084102211e4102211f410221200c0d0b410221044102211e024020052d008c0322224102460d004101211e02402022410171450d00200341f80a6a200528029003200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341286a2002410c6a10958f8080002002280208212102402003280228410171450d000240200328022c222220214f0d00200228020420224107746a222120212d00004108464102746a10d889808000202141083a0000202141016a200341d80b6a41e30010f4978080001a4100211e202221210c030b2022202141e4abc68000108281808000000b024020212002280200470d00200241f4abc680001092868080000b200228020420214107746a221e41083a0000201e41016a200341d80b6a41e30010f4978080001a2002202141016a3602084100211e0c010b200341f6056a2005418f036a2d00003a0000200341e0056a2005419c036a290000370300200341e8056a200541a4036a290000370300200341f0056a200541ac036a2d00003a0000200320052f008d033b01f40520032005290094033703d80520052800900321210b02402007410d4f0d00410221084102211f410221200c0d0b4102210441022108024020052d00b00322234102460d004101210802402023410171450d00200341f80a6a20052802b403200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341206a2002410c6a10958f8080002002280208212202402003280220410171450d0002402003280224222320224f0d00200228020420234107746a222220222d00004108464102746a10d889808000202241083a0000202241016a200341d80b6a41e30010f4978080001a41002108202321220c030b2023202241e4abc68000108281808000000b024020222002280200470d00200241f4abc680001092868080000b200228020420224107746a220841083a0000200841016a200341d80b6a41e30010f4978080001a2002202241016a360208410021080c010b20034196066a200541b3036a2d00003a000020034180066a200541c0036a29000037030020034188066a200541c8036a29000037030020034190066a200541d0036a2d00003a0000200320052f00b1033b019406200320052900b8033703f80520052800b40321220b02402007410d470d004102211f410221200c0d0b410221044102211f024020052d00d40322244102460d004101211f02402024410171450d00200341f80a6a20052802d803200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341186a2002410c6a10958f8080002002280208212302402003280218410171450d000240200328021c222420234f0d00200228020420244107746a222320232d00004108464102746a10d889808000202341083a0000202341016a200341d80b6a41e30010f4978080001a4100211f202421230c030b2024202341e4abc68000108281808000000b024020232002280200470d00200241f4abc680001092868080000b200228020420234107746a221f41083a0000201f41016a200341d80b6a41e30010f4978080001a2002202341016a3602084100211f0c010b200341b6066a200541d7036a2d00003a0000200341a0066a200541e4036a290000370300200341a8066a200541ec036a290000370300200341b0066a200541f4036a2d00003a0000200320052f00d5033b01b406200320052900dc033703980620052800d80321230b02402007410f4f0d00410221200c0d0b4102212041022104024020052d00f80322254102460d004101210402402025410171450d00200341f80a6a20052802fc03200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341106a2002410c6a10958f8080002002280208212402402003280210410171450d0002402003280214222520244f0d00200228020420254107746a220420042d00004108464102746a10d889808000200441083a0000200441016a200341d80b6a41e30010f4978080001a41002104202521240c030b2025202441e4abc68000108281808000000b024020242002280200470d00200241f4abc680001092868080000b200228020420244107746a220441083a0000200441016a200341d80b6a41e30010f4978080001a2002202441016a360208410021040c010b200341d6066a200541fb036a2d00003a0000200341c0066a20054188046a290000370300200341c8066a20054190046a290000370300200341d0066a20054198046a2d00003a0000200320052f00f9033b01d40620032005290080043703b80620052800fc0321240b02402007410f470d000c0d0b41022120024020052d009c0422074102470d000c0d0b4101212002402007410171450d00200341f80a6a20052802a004200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341086a2002410c6a10958f8080002002280208210502402003280208410171450d000240200328020c220720054f0d00200228020420074107746a220220022d00004108464102746a10d889808000200241083a0000200241016a200341d80b6a41e30010f4978080001a41002120200721050c0f0b2007200541e4abc68000108281808000000b024020052002280200470d00200241f4abc680001092868080000b200228020420054107746a220741083a0000200741016a200341d80b6a41e30010f4978080001a2002200541016a360208410021200c0d0b200341f6066a2005419f046a2d00003a0000200341e0066a200541ac046a290000370300200341e8066a200541b4046a290000370300200341f0066a200541bc046a2d00003a0000200320052f009d043b01f406200320052900a4043703d80620052800a00421050c0c0b0240024002402001280234220e0d004102210641022123410221214102211b4102211841022115410221124102210f0c010b410221064102210f0240200128023022052d000022104102460d004101210f02402010410171450d00200341f80a6a2005280204200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a024020022802182207450d0020022007417f6a3602184100210f20022002280214220741016a22104100200228020c221120102011491b6b3602140240200228021020074102746a2802002207200228020822104f0d00200228020420074107746a221020102d00004108464102746a10d889808000201041083a0000201041016a200341d80b6a41e30010f4978080001a0c030b2007201041e4abc68000108281808000000b0240200228020822072002280200470d00200241f4abc680001092868080000b200228020420074107746a220f41083a0000200f41016a200341d80b6a41e30010f4978080001a2002200741016a3602084100210f0c010b20034196076a200541036a2d00003a000020034180076a200541106a290000370300200341f8066a41106a200541186a290000370300200341f8066a41186a200541206a2d00003a0000200320052f00013b019407200320052900083703f806200528000421070b200e4101470d0141022123410221214102211b4102211841022115410221120b410221110c030b4102210641022111024020052d0024220d4102460d00410121110240200d410171450d00200341f80a6a2005280228200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341f0016a2002410c6a10958f80800020022802082110024020032802f001410171450d00024020032802f401220d20104f0d002002280204200d4107746a221020102d00004108464102746a10d889808000201041083a0000201041016a200341d80b6a41e30010f4978080001a41002111200d21100c030b200d201041e4abc68000108281808000000b024020102002280200470d00200241f4abc680001092868080000b200228020420104107746a221141083a0000201141016a200341d80b6a41e30010f4978080001a2002201041016a360208410021110c010b200341b6076a200541276a2d00003a0000200341a0076a200541346a290000370300200341a8076a2005413c6a290000370300200341b0076a200541c4006a2d00003a0000200320052f00253b01b4072003200529002c37039807200528002821100b0240200e41034f0d0041022123410221214102211b4102211841022115410221120c030b4102210641022112024020052d004822134102460d004101211202402013410171450d00200341f80a6a200528024c200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341e8016a2002410c6a10958f8080002002280208210d024020032802e801410171450d00024020032802ec012213200d4f0d00200228020420134107746a220d200d2d00004108464102746a10d889808000200d41083a0000200d41016a200341d80b6a41e30010f4978080001a410021122013210d0c030b2013200d41e4abc68000108281808000000b0240200d2002280200470d00200241f4abc680001092868080000b2002280204200d4107746a221241083a0000201241016a200341d80b6a41e30010f4978080001a2002200d41016a360208410021120c010b200341d6076a200541cb006a2d00003a0000200341c0076a200541d8006a290000370300200341c8076a200541e0006a290000370300200341d0076a200541e8006a2d00003a0000200320052f00493b01d407200320052900503703b807200528004c210d0b0240200e4103470d0041022123410221214102211b41022118410221150c030b4102210641022114024020052d006c220c4102460d00410121140240200c410171450d00200341f80a6a2005280270200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341e0016a2002410c6a10958f80800020022802082113024020032802e001410171450d00024020032802e401220c20134f0d002002280204200c4107746a221320132d00004108464102746a10d889808000201341083a0000201341016a200341d80b6a41e30010f4978080001a41002114200c21130c030b200c201341e4abc68000108281808000000b024020132002280200470d00200241f4abc680001092868080000b200228020420134107746a221441083a0000201441016a200341d80b6a41e30010f4978080001a2002201341016a360208410021140c010b200341f6076a200541ef006a2d00003a0000200341e0076a200541fc006a290000370300200341e8076a20054184016a290000370300200341f0076a2005418c016a2d00003a0000200320052f006d3b01f407200320052900743703d807200528007021130b0240200e41054f0d0041022123410221214102211b41022118410221150c040b4102210641022115024020052d00900122164102460d004101211502402016410171450d00200341f80a6a200528029401200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341d8016a2002410c6a10958f8080002002280208210c024020032802d801410171450d00024020032802dc012216200c4f0d00200228020420164107746a220c200c2d00004108464102746a10d889808000200c41083a0000200c41016a200341d80b6a41e30010f4978080001a410021152016210c0c030b2016200c41e4abc68000108281808000000b0240200c2002280200470d00200241f4abc680001092868080000b2002280204200c4107746a221541083a0000201541016a200341d80b6a41e30010f4978080001a2002200c41016a360208410021150c010b20034196086a20054193016a2d00003a000020034180086a200541a0016a29000037030020034188086a200541a8016a29000037030020034190086a200541b0016a2d00003a0000200320052f0091013b01940820032005290098013703f807200528009401210c0b0240200e4105470d0041022123410221214102211b410221180c040b4102210641022117024020052d00b401220b4102460d00410121170240200b410171450d00200341f80a6a20052802b801200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341d0016a2002410c6a10958f80800020022802082116024020032802d001410171450d00024020032802d401220b20164f0d002002280204200b4107746a221620162d00004108464102746a10d889808000201641083a0000201641016a200341d80b6a41e30010f4978080001a41002117200b21160c030b200b201641e4abc68000108281808000000b024020162002280200470d00200241f4abc680001092868080000b200228020420164107746a221741083a0000201741016a200341d80b6a41e30010f4978080001a2002201641016a360208410021170c010b200341b6086a200541b7016a2d00003a0000200341a0086a200541c4016a290000370300200341a8086a200541cc016a290000370300200341b0086a200541d4016a2d00003a0000200320052f00b5013b01b408200320052900bc013703980820052800b80121160b0240200e41074f0d0041022123410221214102211b410221180c050b4102210641022118024020052d00d80122194102460d004101211802402019410171450d00200341f80a6a20052802dc01200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341c8016a2002410c6a10958f8080002002280208210b024020032802c801410171450d00024020032802cc012219200b4f0d00200228020420194107746a220b200b2d00004108464102746a10d889808000200b41083a0000200b41016a200341d80b6a41e30010f4978080001a410021182019210b0c030b2019200b41e4abc68000108281808000000b0240200b2002280200470d00200241f4abc680001092868080000b2002280204200b4107746a221841083a0000201841016a200341d80b6a41e30010f4978080001a2002200b41016a360208410021180c010b200341d6086a200541db016a2d00003a0000200341c0086a200541e8016a290000370300200341c8086a200541f0016a290000370300200341d0086a200541f8016a2d00003a0000200320052f00d9013b01d408200320052900e0013703b80820052800dc01210b0b0240200e4107470d0041022123410221214102211b0c050b410221064102211a024020052d00fc01220a4102460d004101211a0240200a410171450d00200341f80a6a200528028002200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341c0016a2002410c6a10958f80800020022802082119024020032802c001410171450d00024020032802c401220a20194f0d002002280204200a4107746a221920192d00004108464102746a10d889808000201941083a0000201941016a200341d80b6a41e30010f4978080001a4100211a200a21190c030b200a201941e4abc68000108281808000000b024020192002280200470d00200241f4abc680001092868080000b200228020420194107746a221a41083a0000201a41016a200341d80b6a41e30010f4978080001a2002201941016a3602084100211a0c010b200341f6086a200541ff016a2d00003a0000200341e0086a2005418c026a290000370300200341e8086a20054194026a290000370300200341f0086a2005419c026a2d00003a0000200320052f00fd013b01f40820032005290084023703d80820052800800221190b0240200e41094f0d0041022123410221214102211b0c060b410221064102211b024020052d00a002221c4102460d004101211b0240201c410171450d00200341f80a6a20052802a402200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341b8016a2002410c6a10958f8080002002280208210a024020032802b801410171450d00024020032802bc01221c200a4f0d002002280204201c4107746a220a200a2d00004108464102746a10d889808000200a41083a0000200a41016a200341d80b6a41e30010f4978080001a4100211b201c210a0c030b201c200a41e4abc68000108281808000000b0240200a2002280200470d00200241f4abc680001092868080000b2002280204200a4107746a221b41083a0000201b41016a200341d80b6a41e30010f4978080001a2002200a41016a3602084100211b0c010b20034196096a200541a3026a2d00003a000020034180096a200541b0026a29000037030020034188096a200541b8026a29000037030020034190096a200541c0026a2d00003a0000200320052f00a1023b019409200320052900a8023703f80820052800a402210a0b0240200e4109470d0041022123410221210c060b410221064102211d024020052d00c40222094102460d004101211d02402009410171450d00200341f80a6a20052802c802200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341b0016a2002410c6a10958f8080002002280208211c024020032802b001410171450d00024020032802b4012209201c4f0d00200228020420094107746a221c201c2d00004108464102746a10d889808000201c41083a0000201c41016a200341d80b6a41e30010f4978080001a4100211d2009211c0c030b2009201c41e4abc68000108281808000000b0240201c2002280200470d00200241f4abc680001092868080000b2002280204201c4107746a221d41083a0000201d41016a200341d80b6a41e30010f4978080001a2002201c41016a3602084100211d0c010b200341b6096a200541c7026a2d00003a0000200341a0096a200541d4026a290000370300200341a8096a200541dc026a290000370300200341b0096a200541e4026a2d00003a0000200320052f00c5023b01b409200320052900cc023703980920052800c802211c0b0240200e410b4f0d0041022123410221214102212241022124410221250c070b4102210641022121024020052d00e802221e4102460d00410121210240201e410171450d00200341f80a6a20052802ec02200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341a8016a2002410c6a10958f80800020022802082109024020032802a801410171450d00024020032802ac01221e20094f0d002002280204201e4107746a220920092d00004108464102746a10d889808000200941083a0000200941016a200341d80b6a41e30010f4978080001a41002121201e21090c030b201e200941e4abc68000108281808000000b024020092002280200470d00200241f4abc680001092868080000b200228020420094107746a222141083a0000202141016a200341d80b6a41e30010f4978080001a2002200941016a360208410021210c010b200341d6096a200541eb026a2d00003a0000200341c0096a200541f8026a290000370300200341c8096a20054180036a290000370300200341d0096a20054188036a2d00003a0000200320052f00e9023b01d409200320052900f0023703b80920052800ec0221090b0240200e410b470d00410221234102212241022124410221250c070b4102210641022122024020052d008c0322084102460d004101212202402008410171450d00200341f80a6a200528029003200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a200341a0016a2002410c6a10958f8080002002280208211e024020032802a001410171450d00024020032802a4012208201e4f0d00200228020420084107746a221e201e2d00004108464102746a10d889808000201e41083a0000201e41016a200341d80b6a41e30010f4978080001a410021222008211e0c030b2008201e41e4abc68000108281808000000b0240201e2002280200470d00200241f4abc680001092868080000b2002280204201e4107746a222241083a0000202241016a200341d80b6a41e30010f4978080001a2002201e41016a360208410021220c010b200341f6096a2005418f036a2d00003a0000200341e0096a2005419c036a290000370300200341e8096a200541a4036a290000370300200341f0096a200541ac036a2d00003a0000200320052f008d033b01f40920032005290094033703d809200528009003211e0b0240200e410d4f0d004102212341022124410221250c070b4102210641022123024020052d00b003221f4102460d00410121230240201f410171450d00200341f80a6a20052802b403200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a20034198016a2002410c6a10958f808000200228020821080240200328029801410171450d000240200328029c01221f20084f0d002002280204201f4107746a220820082d00004108464102746a10d889808000200841083a0000200841016a200341d80b6a41e30010f4978080001a41002123201f21080c030b201f200841e4abc68000108281808000000b024020082002280200470d00200241f4abc680001092868080000b200228020420084107746a222341083a0000202341016a200341d80b6a41e30010f4978080001a2002200841016a360208410021230c010b200341960a6a200541b3036a2d00003a0000200341800a6a200541c0036a290000370300200341880a6a200541c8036a290000370300200341900a6a200541d0036a2d00003a0000200320052f00b1033b01940a200320052900b8033703f80920052800b40321080b0240200e410d470d0041022124410221250c070b4102210641022124024020052d00d40322204102460d004101212402402020410171450d00200341f80a6a20052802d803200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a20034190016a2002410c6a10958f8080002002280208211f0240200328029001410171450d0002402003280294012220201f4f0d00200228020420204107746a221f201f2d00004108464102746a10d889808000201f41083a0000201f41016a200341d80b6a41e30010f4978080001a410021242020211f0c030b2020201f41e4abc68000108281808000000b0240201f2002280200470d00200241f4abc680001092868080000b2002280204201f4107746a222441083a0000202441016a200341d80b6a41e30010f4978080001a2002201f41016a360208410021240c010b200341b60a6a200541d7036a2d00003a0000200341a00a6a200541e4036a290000370300200341a80a6a200541ec036a290000370300200341b00a6a200541f4036a2d00003a0000200320052f00d5033b01b40a200320052900dc033703980a20052800d803211f0b0240200e410f4f0d00410221250c070b4102212541022106024020052d00f80322264102460d004101210602402026410171450d00200341f80a6a20052802fc03200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a20034188016a2002410c6a10958f808000200228020821200240200328028801410171450d000240200328028c01222620204f0d00200228020420264107746a220620062d00004108464102746a10d889808000200641083a0000200641016a200341d80b6a41e30010f4978080001a41002106202621200c030b2026202041e4abc68000108281808000000b024020202002280200470d00200241f4abc680001092868080000b200228020420204107746a220641083a0000200641016a200341d80b6a41e30010f4978080001a2002202041016a360208410021060c010b200341d60a6a200541fb036a2d00003a0000200341c00a6a20054188046a290000370300200341c80a6a20054190046a290000370300200341d00a6a20054198046a2d00003a0000200320052f00f9033b01d40a20032005290080043703b80a20052800fc0321200b0240200e410f470d000c070b41022125024020052d009c04220e4102470d000c070b410121250240200e410171450d00200341f80a6a20052802a004200210f189808000200341db0b6a200341f80a6a41e00010f4978080001a20034180016a2002410c6a10958f808000200228020821050240200328028001410171450d000240200328028401220e20054f0d002002280204200e4107746a220220022d00004108464102746a10d889808000200241083a0000200241016a200341d80b6a41e30010f4978080001a41002125200e21050c090b200e200541e4abc68000108281808000000b024020052002280200470d00200241f4abc680001092868080000b200228020420054107746a220e41083a0000200e41016a200341d80b6a41e30010f4978080001a2002200541016a360208410021250c070b200341f60a6a2005419f046a2d00003a0000200341e00a6a200541ac046a290000370300200341e80a6a200541b4046a290000370300200341f00a6a200541bc046a2d00003a0000200320052f009d043b01f40a200320052900a4043703d80a20052800a00421050c060b200341013602dc0b200341cca5c680003602d80b200342013702e40b200341c181808000ad4220864198a5c68000ad843703f80a2003200341f80a6a3602e00b200341d80b6a41d4a5c6800010fe80808000000b200041043a00000c0b0b410221140b410221170b4102211a0b4102211d4102212241022124410221250b41002d008083d480001a02400240024041c00441002802f482d48000118280808000002202450d004103210e2002200241036a417c7120026b22266a2202200f3a0000200220032f0194073b000120022007360004200220032903f806370208200220113a0024200220032f01b4073b00252002417e6a20263b0000200241036a20034194076a41026a2d00003a0000200241106a200341f8066a41086a290300370200200241186a200341f8066a41106a290300370200200241206a200341f8066a41186a280200360200200241276a200341b4076a41026a2d00003a000020022010360028200220123a00482002200d36004c200220032903980737022c200241346a20034198076a41086a2903003702002002413c6a20034198076a41106a290300370200200241c4006a20034198076a41186a280200360200200220032f01d4073b0049200241cb006a200341d4076a41026a2d00003a0000200220032903b807370250200241d8006a200341b8076a41086a290300370200200241e0006a200341b8076a41106a290300370200200241e8006a200341b8076a41186a280200360200200220143a006c20022013360070200220153a009001200220032f01f4073b006d200241ef006a200341f4076a41026a2d00003a00002002418c016a200341d8076a41186a28020036020020024184016a200341d8076a41106a290300370200200241fc006a200341d8076a41086a290300370200200220032903d807370274200220032f0194083b00910120024193016a20034194086a41026a2d00003a00002002200c36009401200241b0016a200341f8076a41186a280200360200200241a8016a200341f8076a41106a290300370200200241a0016a200341f8076a41086a290300370200200220032903f80737029801200220173a00b401200241b7016a200341b4086a41026a2d00003a0000200220032f01b4083b00b501200220163600b801200241d4016a20034198086a41186a280200360200200241cc016a20034198086a41106a290300370200200241c4016a20034198086a41086a29030037020020022003290398083702bc01200220183a00d801200241db016a200341d4086a41026a2d00003a0000200220032f01d4083b00d9012002200b3600dc01200241f8016a200341b8086a41186a280200360200200241f0016a200341b8086a41106a290300370200200241e8016a200341b8086a41086a290300370200200220032903b8083702e0012002201a3a00fc01200241ff016a200341f4086a41026a2d00003a0000200220032f01f4083b00fd0120022019360080022002419c026a200341d8086a41186a28020036020020024194026a200341d8086a41106a2903003702002002418c026a200341d8086a41086a290300370200200220032903d808370284022002201b3a00a002200241a3026a20034194096a41026a2d00003a0000200220032f0194093b00a1022002200a3600a402200241c0026a200341f8086a41186a280200360200200241b8026a200341f8086a41106a290300370200200241b0026a200341f8086a41086a290300370200200220032903f8083702a8022002201d3a00c402200241c7026a200341b4096a41026a2d00003a0000200220032f01b4093b00c5022002201c3600c802200241e4026a20034198096a41186a280200360200200241dc026a20034198096a41106a290300370200200241d4026a20034198096a41086a29030037020020022003290398093702cc02200220213a00e802200241eb026a200341d4096a41026a2d00003a0000200220032f01d4093b00e902200220093600ec0220024188036a200341b8096a41186a28020036020020024180036a200341b8096a41106a290300370200200241f8026a200341b8096a41086a290300370200200220032903b8093702f002200220223a008c032002418f036a200341f4096a41026a2d00003a0000200220032f01f4093b008d032002201e36009003200241ac036a200341d8096a41186a280200360200200241a4036a200341d8096a41106a2903003702002002419c036a200341d8096a41086a290300370200200220032903d80937029403200220233a00b003200241b3036a200341940a6a41026a2d00003a0000200220032f01940a3b00b103200220083600b403200241d0036a200341f8096a41186a280200360200200241c8036a200341f8096a41106a290300370200200241c0036a200341f8096a41086a290300370200200220032903f8093702b803200220243a00d403200241d7036a200341b40a6a41026a2d00003a0000200220032f01b40a3b00d5032002201f3600d803200241f4036a200341980a6a41186a280200360200200241ec036a200341980a6a41106a290300370200200241e4036a200341980a6a41086a290300370200200220032903980a3702dc03200220063a00f803200241fb036a200341d40a6a41026a2d00003a0000200220032f01d40a3b00f903200220203600fc0320024198046a200341b80a6a41186a28020036020020024190046a200341b80a6a41106a29030037020020024188046a200341b80a6a41086a290300370200200220032903b80a37028004200220253a009c042002419f046a200341f40a6a41026a2d00003a0000200220032f01f40a3b009d04200220053600a004200241bc046a200341d80a6a41186a280200360200200241b4046a200341d80a6a41106a290300370200200241ac046a200341d80a6a41086a290300370200200220032903d80a3702a404200341d80b6a200141386a10e29780800020044101710d010c020b410441c00410ab80808000000b0240200128020422050d00200341f6026a2001410a6a2d00003a0000200341d8026a2001411b6a290000370300200341dd026a200141206a290000370000200320012f00083b01f402200320012900133703d002200128000f2104200128000b21054101210e0c010b20052005280200220441016a3602004100210e20044100480d06200128020821040b200020032902d80b3702302000200236022c2000200e3a0000200020032f01f4023b0001200041d8006a200341800c6a290200370200200041d0006a200341d80b6a41206a290200370200200041c8006a200341d80b6a41186a290200370200200041c0006a200341d80b6a41106a290200370200200041386a200341d80b6a41086a290200370200200041036a200341f4026a41026a2d00003a00002000200436020820002005360204200020032903d00237020c200041146a200341d0026a41086a2903003702002000411c6a200341d0026a41106a290300370200200041246a200341d0026a41186a2903003702000c060b410221130b410221160b410221190b4102211c4102211e4102211f410221200b41002d008083d480001a02400240024041c00441002802f482d48000118280808000002202450d00410321072002200241036a417c7120026b22256a2202200e3a0000200220032f0194033b000120022006360004200220032903f802370208200220103a0024200220032f01b4033b00252002417e6a20253b0000200241036a20034194036a41026a2d00003a0000200241106a200341f8026a41086a290300370200200241186a200341f8026a41106a290300370200200241206a200341f8026a41186a280200360200200241276a200341b4036a41026a2d00003a00002002200f3600282002200d3a00482002201136004c200220032903980337022c200241346a20034198036a41086a2903003702002002413c6a20034198036a41106a290300370200200241c4006a20034198036a41186a280200360200200220032f01d4033b0049200241cb006a200341d4036a41026a2d00003a0000200220032903b803370250200241d8006a200341b8036a41086a290300370200200241e0006a200341b8036a41106a290300370200200241e8006a200341b8036a41186a280200360200200220133a006c200220123600702002200c3a009001200220032f01f4033b006d200241ef006a200341f4036a41026a2d00003a00002002418c016a200341d8036a41186a28020036020020024184016a200341d8036a41106a290300370200200241fc006a200341d8036a41086a290300370200200220032903d803370274200220032f0194043b00910120024193016a20034194046a41026a2d00003a00002002201436009401200241b0016a200341f8036a41186a280200360200200241a8016a200341f8036a41106a290300370200200241a0016a200341f8036a41086a290300370200200220032903f80337029801200220163a00b401200241b7016a200341b4046a41026a2d00003a0000200220032f01b4043b00b501200220153600b801200241d4016a20034198046a41186a280200360200200241cc016a20034198046a41106a290300370200200241c4016a20034198046a41086a29030037020020022003290398043702bc012002200b3a00d801200241db016a200341d4046a41026a2d00003a0000200220032f01d4043b00d901200220173600dc01200241f8016a200341b8046a41186a280200360200200241f0016a200341b8046a41106a290300370200200241e8016a200341b8046a41086a290300370200200220032903b8043702e001200220193a00fc01200241ff016a200341f4046a41026a2d00003a0000200220032f01f4043b00fd0120022018360080022002419c026a200341d8046a41186a28020036020020024194026a200341d8046a41106a2903003702002002418c026a200341d8046a41086a290300370200200220032903d804370284022002200a3a00a002200241a3026a20034194056a41026a2d00003a0000200220032f0194053b00a1022002201a3600a402200241c0026a200341f8046a41186a280200360200200241b8026a200341f8046a41106a290300370200200241b0026a200341f8046a41086a290300370200200220032903f8043702a8022002201c3a00c402200241c7026a200341b4056a41026a2d00003a0000200220032f01b4053b00c5022002201b3600c802200241e4026a20034198056a41186a280200360200200241dc026a20034198056a41106a290300370200200241d4026a20034198056a41086a29030037020020022003290398053702cc02200220093a00e802200241eb026a200341d4056a41026a2d00003a0000200220032f01d4053b00e9022002201d3600ec0220024188036a200341b8056a41186a28020036020020024180036a200341b8056a41106a290300370200200241f8026a200341b8056a41086a290300370200200220032903b8053702f0022002201e3a008c032002418f036a200341f4056a41026a2d00003a0000200220032f01f4053b008d032002202136009003200241ac036a200341d8056a41186a280200360200200241a4036a200341d8056a41106a2903003702002002419c036a200341d8056a41086a290300370200200220032903d80537029403200220083a00b003200241b3036a20034194066a41026a2d00003a0000200220032f0194063b00b103200220223600b403200241d0036a200341f8056a41186a280200360200200241c8036a200341f8056a41106a290300370200200241c0036a200341f8056a41086a290300370200200220032903f8053702b8032002201f3a00d403200241d7036a200341b4066a41026a2d00003a0000200220032f01b4063b00d503200220233600d803200241f4036a20034198066a41186a280200360200200241ec036a20034198066a41106a290300370200200241e4036a20034198066a41086a29030037020020022003290398063702dc03200220043a00f803200241fb036a200341d4066a41026a2d00003a0000200220032f01d4063b00f903200220243600fc0320024198046a200341b8066a41186a28020036020020024190046a200341b8066a41106a29030037020020024188046a200341b8066a41086a290300370200200220032903b80637028004200220203a009c042002419f046a200341f4066a41026a2d00003a0000200220032f01f4063b009d04200220053600a004200241bc046a200341d8066a41186a280200360200200241b4046a200341d8066a41106a290300370200200241ac046a200341d8066a41086a290300370200200220032903d8063702a40420012802040d010c020b410441c00410ab80808000000b0240200128020822050d00200341ce026a2001410e6a2d00003a0000200341b0026a2001411f6a290000370300200341b5026a200141246a290000370000200320012f000c3b01cc02200320012900173703a80220012800132104200128000f2105410121070c010b20052005280200220441016a3602004100210720044100480d01200128020c21040b200020073a000420002002360230200020032f01cc023b00052000200436020c20002005360208200020032903a802370210200041073a0000200041076a200341cc026a41026a2d00003a0000200041186a200341a8026a41086a290300370200200041206a200341a8026a41106a290300370200200041286a200341a8026a41186a2903003702000c010b000b200341c00c6a2480808080000bd69c0101247f23808080800041c00c6b220324808080800002400240024002400240024002400240024002400240024002400240024002400240024020012802002204417e6a2205410420054106491b0e06050001020304050b200341d80b6a200141046a10e29780800002400240200128023422020d00200341fa016a2001413a6a2d00003a0000200341800b6a200141cb006a290000370300200341850b6a200141d0006a290000370000200320012f00383b01f801200320012900433703f80a200128003f2104200128003b2102410121050c010b20022002280200220441016a3602004100210520044100480d10200128023821040b200020032902d80b370230200020053a0004200020032f01f8013b0005200041d8006a200341d80b6a41286a290200370200200041d0006a200341d80b6a41206a290200370200200041c8006a200341d80b6a41186a290200370200200041c0006a200341d80b6a41106a290200370200200041386a200341d80b6a41086a290200370200200041076a200341fa016a2d00003a00002000200436020c20002002360208200041053a0000200020032903f80a370210200041186a200341f80a6a41086a290300370200200041206a200341f80a6a41106a290300370200200041286a200341f80a6a41186a2903003702000c100b200341f8016a200141286a10e297808000410121050240024020012d00044101470d00200341f80a6a2001280208200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a024020022802182201450d0020022001417f6a3602184100210520022002280214220141016a22044100200228020c220620042006491b6b3602140240200228021020014102746a2802002201200228020822044f0d00200228020420014107746a220220022d00004108464102746a10d889808000200241083a0000200241016a200341d80b6a41e30010f4978080001a0c030b2001200441e4abc68000108281808000000b0240200228020822012002280200470d00200241f4abc680001092868080000b200228020420014107746a220541083a0000200541016a200341d80b6a41e30010f4978080001a2002200141016a360208410021050c010b200341fa0a6a200141076a2d00003a0000200341e00b6a200141146a290200370300200341e80b6a2001411c6a290200370300200341f00b6a200141246a2d00003a0000200320012f00053b01f80a2003200129020c3703d80b200128020821010b200020032902f801370228200020053a0004200020032f01f80a3b000520002001360208200041d0006a200341a0026a290200370200200041c8006a20034198026a290200370200200041c0006a200341f8016a41186a290200370200200041386a200341f8016a41106a290200370200200041306a200341f8016a41086a290200370200200041076a200341fa0a6a2d00003a0000200041063a0000200041246a200341d80b6a41186a2802003602002000411c6a200341d80b6a41106a290300370200200041146a200341d80b6a41086a290300370200200020032903d80b37020c0c0f0b024002400240200128023822070d004102210441022108410221094102210a4102210b4102210c4102210d4102210e0c010b410221044102210e0240200128023422052d0000220f4102460d004101210e0240200f410171450d00200341f80a6a2005280204200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a024020022802182206450d0020022006417f6a3602184100210e20022002280214220641016a220f4100200228020c2210200f2010491b6b3602140240200228021020064102746a28020022062002280208220f4f0d00200228020420064107746a220f200f2d00004108464102746a10d889808000200f41083a0000200f41016a200341d80b6a41e30010f4978080001a0c030b2006200f41e4abc68000108281808000000b0240200228020822062002280200470d00200241f4abc680001092868080000b200228020420064107746a220e41083a0000200e41016a200341d80b6a41e30010f4978080001a2002200641016a3602084100210e0c010b20034196036a200541036a2d00003a000020034180036a200541106a290000370300200341f8026a41106a200541186a290000370300200341f8026a41186a200541206a2d00003a0000200320052f00013b019403200320052900083703f802200528000421060b20074101470d0141022108410221094102210a4102210b4102210c4102210d0b410221100c090b4102210441022110024020052d002422114102460d004101211002402011410171450d00200341f80a6a2005280228200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341f8006a2002410c6a10958f8080002002280208210f02402003280278410171450d000240200328027c2211200f4f0d00200228020420114107746a220f200f2d00004108464102746a10d889808000200f41083a0000200f41016a200341d80b6a41e30010f4978080001a410021102011210f0c030b2011200f41e4abc68000108281808000000b0240200f2002280200470d00200241f4abc680001092868080000b2002280204200f4107746a221041083a0000201041016a200341d80b6a41e30010f4978080001a2002200f41016a360208410021100c010b200341b6036a200541276a2d00003a0000200341a0036a200541346a290000370300200341a8036a2005413c6a290000370300200341b0036a200541c4006a2d00003a0000200320052f00253b01b4032003200529002c370398032005280028210f0b0240200741034f0d0041022108410221094102210a4102210b4102210c4102210d0c090b410221044102210d024020052d004822124102460d004101210d02402012410171450d00200341f80a6a200528024c200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341f0006a2002410c6a10958f8080002002280208211102402003280270410171450d0002402003280274221220114f0d00200228020420124107746a221120112d00004108464102746a10d889808000201141083a0000201141016a200341d80b6a41e30010f4978080001a4100210d201221110c030b2012201141e4abc68000108281808000000b024020112002280200470d00200241f4abc680001092868080000b200228020420114107746a220d41083a0000200d41016a200341d80b6a41e30010f4978080001a2002201141016a3602084100210d0c010b200341d6036a200541cb006a2d00003a0000200341c0036a200541d8006a290000370300200341c8036a200541e0006a290000370300200341d0036a200541e8006a2d00003a0000200320052f00493b01d403200320052900503703b803200528004c21110b024020074103470d0041022108410221094102210a4102210b4102210c0c090b4102210441022113024020052d006c22144102460d004101211302402014410171450d00200341f80a6a2005280270200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341e8006a2002410c6a10958f8080002002280208211202402003280268410171450d000240200328026c221420124f0d00200228020420144107746a221220122d00004108464102746a10d889808000201241083a0000201241016a200341d80b6a41e30010f4978080001a41002113201421120c030b2014201241e4abc68000108281808000000b024020122002280200470d00200241f4abc680001092868080000b200228020420124107746a221341083a0000201341016a200341d80b6a41e30010f4978080001a2002201241016a360208410021130c010b200341f6036a200541ef006a2d00003a0000200341e0036a200541fc006a290000370300200341e8036a20054184016a290000370300200341f0036a2005418c016a2d00003a0000200320052f006d3b01f403200320052900743703d803200528007021120b0240200741054f0d0041022108410221094102210a4102210b4102210c0c0a0b410221044102210c024020052d00900122154102460d004101210c02402015410171450d00200341f80a6a200528029401200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341e0006a2002410c6a10958f8080002002280208211402402003280260410171450d0002402003280264221520144f0d00200228020420154107746a221420142d00004108464102746a10d889808000201441083a0000201441016a200341d80b6a41e30010f4978080001a4100210c201521140c030b2015201441e4abc68000108281808000000b024020142002280200470d00200241f4abc680001092868080000b200228020420144107746a220c41083a0000200c41016a200341d80b6a41e30010f4978080001a2002201441016a3602084100210c0c010b20034196046a20054193016a2d00003a000020034180046a200541a0016a29000037030020034188046a200541a8016a29000037030020034190046a200541b0016a2d00003a0000200320052f0091013b01940420032005290098013703f80320052800940121140b024020074105470d0041022108410221094102210a4102210b0c0a0b4102210441022116024020052d00b40122174102460d004101211602402017410171450d00200341f80a6a20052802b801200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341d8006a2002410c6a10958f8080002002280208211502402003280258410171450d000240200328025c221720154f0d00200228020420174107746a221520152d00004108464102746a10d889808000201541083a0000201541016a200341d80b6a41e30010f4978080001a41002116201721150c030b2017201541e4abc68000108281808000000b024020152002280200470d00200241f4abc680001092868080000b200228020420154107746a221641083a0000201641016a200341d80b6a41e30010f4978080001a2002201541016a360208410021160c010b200341b6046a200541b7016a2d00003a0000200341a0046a200541c4016a290000370300200341a8046a200541cc016a290000370300200341b0046a200541d4016a2d00003a0000200320052f00b5013b01b404200320052900bc013703980420052800b80121150b0240200741074f0d0041022108410221094102210a4102210b0c0b0b410221044102210b024020052d00d80122184102460d004101210b02402018410171450d00200341f80a6a20052802dc01200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341d0006a2002410c6a10958f8080002002280208211702402003280250410171450d0002402003280254221820174f0d00200228020420184107746a221720172d00004108464102746a10d889808000201741083a0000201741016a200341d80b6a41e30010f4978080001a4100210b201821170c030b2018201741e4abc68000108281808000000b024020172002280200470d00200241f4abc680001092868080000b200228020420174107746a220b41083a0000200b41016a200341d80b6a41e30010f4978080001a2002201741016a3602084100210b0c010b200341d6046a200541db016a2d00003a0000200341c0046a200541e8016a290000370300200341c8046a200541f0016a290000370300200341d0046a200541f8016a2d00003a0000200320052f00d9013b01d404200320052900e0013703b80420052800dc0121170b024020074107470d0041022108410221094102210a0c0b0b4102210441022119024020052d00fc01221a4102460d00410121190240201a410171450d00200341f80a6a200528028002200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341c8006a2002410c6a10958f8080002002280208211802402003280248410171450d000240200328024c221a20184f0d002002280204201a4107746a221820182d00004108464102746a10d889808000201841083a0000201841016a200341d80b6a41e30010f4978080001a41002119201a21180c030b201a201841e4abc68000108281808000000b024020182002280200470d00200241f4abc680001092868080000b200228020420184107746a221941083a0000201941016a200341d80b6a41e30010f4978080001a2002201841016a360208410021190c010b200341f6046a200541ff016a2d00003a0000200341e0046a2005418c026a290000370300200341e8046a20054194026a290000370300200341f0046a2005419c026a2d00003a0000200320052f00fd013b01f40420032005290084023703d80420052800800221180b0240200741094f0d0041022108410221094102210a0c0c0b410221044102210a024020052d00a002221b4102460d004101210a0240201b410171450d00200341f80a6a20052802a402200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341c0006a2002410c6a10958f8080002002280208211a02402003280240410171450d0002402003280244221b201a4f0d002002280204201b4107746a221a201a2d00004108464102746a10d889808000201a41083a0000201a41016a200341d80b6a41e30010f4978080001a4100210a201b211a0c030b201b201a41e4abc68000108281808000000b0240201a2002280200470d00200241f4abc680001092868080000b2002280204201a4107746a220a41083a0000200a41016a200341d80b6a41e30010f4978080001a2002201a41016a3602084100210a0c010b20034196056a200541a3026a2d00003a000020034180056a200541b0026a29000037030020034188056a200541b8026a29000037030020034190056a200541c0026a2d00003a0000200320052f00a1023b019405200320052900a8023703f80420052800a402211a0b024020074109470d0041022108410221090c0c0b410221044102211c024020052d00c402221d4102460d004101211c0240201d410171450d00200341f80a6a20052802c802200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341386a2002410c6a10958f8080002002280208211b02402003280238410171450d000240200328023c221d201b4f0d002002280204201d4107746a221b201b2d00004108464102746a10d889808000201b41083a0000201b41016a200341d80b6a41e30010f4978080001a4100211c201d211b0c030b201d201b41e4abc68000108281808000000b0240201b2002280200470d00200241f4abc680001092868080000b2002280204201b4107746a221c41083a0000201c41016a200341d80b6a41e30010f4978080001a2002201b41016a3602084100211c0c010b200341b6056a200541c7026a2d00003a0000200341a0056a200541d4026a290000370300200341a8056a200541dc026a290000370300200341b0056a200541e4026a2d00003a0000200320052f00c5023b01b405200320052900cc023703980520052800c802211b0b02402007410b4f0d0041022108410221094102211e4102211f410221200c0d0b4102210441022109024020052d00e80222214102460d004101210902402021410171450d00200341f80a6a20052802ec02200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341306a2002410c6a10958f8080002002280208211d02402003280230410171450d00024020032802342221201d4f0d00200228020420214107746a221d201d2d00004108464102746a10d889808000201d41083a0000201d41016a200341d80b6a41e30010f4978080001a410021092021211d0c030b2021201d41e4abc68000108281808000000b0240201d2002280200470d00200241f4abc680001092868080000b2002280204201d4107746a220941083a0000200941016a200341d80b6a41e30010f4978080001a2002201d41016a360208410021090c010b200341d6056a200541eb026a2d00003a0000200341c0056a200541f8026a290000370300200341c8056a20054180036a290000370300200341d0056a20054188036a2d00003a0000200320052f00e9023b01d405200320052900f0023703b80520052800ec02211d0b02402007410b470d00410221084102211e4102211f410221200c0d0b410221044102211e024020052d008c0322224102460d004101211e02402022410171450d00200341f80a6a200528029003200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341286a2002410c6a10958f8080002002280208212102402003280228410171450d000240200328022c222220214f0d00200228020420224107746a222120212d00004108464102746a10d889808000202141083a0000202141016a200341d80b6a41e30010f4978080001a4100211e202221210c030b2022202141e4abc68000108281808000000b024020212002280200470d00200241f4abc680001092868080000b200228020420214107746a221e41083a0000201e41016a200341d80b6a41e30010f4978080001a2002202141016a3602084100211e0c010b200341f6056a2005418f036a2d00003a0000200341e0056a2005419c036a290000370300200341e8056a200541a4036a290000370300200341f0056a200541ac036a2d00003a0000200320052f008d033b01f40520032005290094033703d80520052800900321210b02402007410d4f0d00410221084102211f410221200c0d0b4102210441022108024020052d00b00322234102460d004101210802402023410171450d00200341f80a6a20052802b403200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341206a2002410c6a10958f8080002002280208212202402003280220410171450d0002402003280224222320224f0d00200228020420234107746a222220222d00004108464102746a10d889808000202241083a0000202241016a200341d80b6a41e30010f4978080001a41002108202321220c030b2023202241e4abc68000108281808000000b024020222002280200470d00200241f4abc680001092868080000b200228020420224107746a220841083a0000200841016a200341d80b6a41e30010f4978080001a2002202241016a360208410021080c010b20034196066a200541b3036a2d00003a000020034180066a200541c0036a29000037030020034188066a200541c8036a29000037030020034190066a200541d0036a2d00003a0000200320052f00b1033b019406200320052900b8033703f80520052800b40321220b02402007410d470d004102211f410221200c0d0b410221044102211f024020052d00d40322244102460d004101211f02402024410171450d00200341f80a6a20052802d803200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341186a2002410c6a10958f8080002002280208212302402003280218410171450d000240200328021c222420234f0d00200228020420244107746a222320232d00004108464102746a10d889808000202341083a0000202341016a200341d80b6a41e30010f4978080001a4100211f202421230c030b2024202341e4abc68000108281808000000b024020232002280200470d00200241f4abc680001092868080000b200228020420234107746a221f41083a0000201f41016a200341d80b6a41e30010f4978080001a2002202341016a3602084100211f0c010b200341b6066a200541d7036a2d00003a0000200341a0066a200541e4036a290000370300200341a8066a200541ec036a290000370300200341b0066a200541f4036a2d00003a0000200320052f00d5033b01b406200320052900dc033703980620052800d80321230b02402007410f4f0d00410221200c0d0b4102212041022104024020052d00f80322254102460d004101210402402025410171450d00200341f80a6a20052802fc03200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341106a2002410c6a10958f8080002002280208212402402003280210410171450d0002402003280214222520244f0d00200228020420254107746a220420042d00004108464102746a10d889808000200441083a0000200441016a200341d80b6a41e30010f4978080001a41002104202521240c030b2025202441e4abc68000108281808000000b024020242002280200470d00200241f4abc680001092868080000b200228020420244107746a220441083a0000200441016a200341d80b6a41e30010f4978080001a2002202441016a360208410021040c010b200341d6066a200541fb036a2d00003a0000200341c0066a20054188046a290000370300200341c8066a20054190046a290000370300200341d0066a20054198046a2d00003a0000200320052f00f9033b01d40620032005290080043703b80620052800fc0321240b02402007410f470d000c0d0b41022120024020052d009c0422074102470d000c0d0b4101212002402007410171450d00200341f80a6a20052802a004200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341086a2002410c6a10958f8080002002280208210502402003280208410171450d000240200328020c220720054f0d00200228020420074107746a220220022d00004108464102746a10d889808000200241083a0000200241016a200341d80b6a41e30010f4978080001a41002120200721050c0f0b2007200541e4abc68000108281808000000b024020052002280200470d00200241f4abc680001092868080000b200228020420054107746a220741083a0000200741016a200341d80b6a41e30010f4978080001a2002200541016a360208410021200c0d0b200341f6066a2005419f046a2d00003a0000200341e0066a200541ac046a290000370300200341e8066a200541b4046a290000370300200341f0066a200541bc046a2d00003a0000200320052f009d043b01f406200320052900a4043703d80620052800a00421050c0c0b0240024002402001280234220e0d004102210641022123410221214102211b4102211841022115410221124102210f0c010b410221064102210f0240200128023022052d000022104102460d004101210f02402010410171450d00200341f80a6a2005280204200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a024020022802182207450d0020022007417f6a3602184100210f20022002280214220741016a22104100200228020c221120102011491b6b3602140240200228021020074102746a2802002207200228020822104f0d00200228020420074107746a221020102d00004108464102746a10d889808000201041083a0000201041016a200341d80b6a41e30010f4978080001a0c030b2007201041e4abc68000108281808000000b0240200228020822072002280200470d00200241f4abc680001092868080000b200228020420074107746a220f41083a0000200f41016a200341d80b6a41e30010f4978080001a2002200741016a3602084100210f0c010b20034196076a200541036a2d00003a000020034180076a200541106a290000370300200341f8066a41106a200541186a290000370300200341f8066a41186a200541206a2d00003a0000200320052f00013b019407200320052900083703f806200528000421070b200e4101470d0141022123410221214102211b4102211841022115410221120b410221110c030b4102210641022111024020052d0024220d4102460d00410121110240200d410171450d00200341f80a6a2005280228200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341f0016a2002410c6a10958f80800020022802082110024020032802f001410171450d00024020032802f401220d20104f0d002002280204200d4107746a221020102d00004108464102746a10d889808000201041083a0000201041016a200341d80b6a41e30010f4978080001a41002111200d21100c030b200d201041e4abc68000108281808000000b024020102002280200470d00200241f4abc680001092868080000b200228020420104107746a221141083a0000201141016a200341d80b6a41e30010f4978080001a2002201041016a360208410021110c010b200341b6076a200541276a2d00003a0000200341a0076a200541346a290000370300200341a8076a2005413c6a290000370300200341b0076a200541c4006a2d00003a0000200320052f00253b01b4072003200529002c37039807200528002821100b0240200e41034f0d0041022123410221214102211b4102211841022115410221120c030b4102210641022112024020052d004822134102460d004101211202402013410171450d00200341f80a6a200528024c200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341e8016a2002410c6a10958f8080002002280208210d024020032802e801410171450d00024020032802ec012213200d4f0d00200228020420134107746a220d200d2d00004108464102746a10d889808000200d41083a0000200d41016a200341d80b6a41e30010f4978080001a410021122013210d0c030b2013200d41e4abc68000108281808000000b0240200d2002280200470d00200241f4abc680001092868080000b2002280204200d4107746a221241083a0000201241016a200341d80b6a41e30010f4978080001a2002200d41016a360208410021120c010b200341d6076a200541cb006a2d00003a0000200341c0076a200541d8006a290000370300200341c8076a200541e0006a290000370300200341d0076a200541e8006a2d00003a0000200320052f00493b01d407200320052900503703b807200528004c210d0b0240200e4103470d0041022123410221214102211b41022118410221150c030b4102210641022114024020052d006c220c4102460d00410121140240200c410171450d00200341f80a6a2005280270200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341e0016a2002410c6a10958f80800020022802082113024020032802e001410171450d00024020032802e401220c20134f0d002002280204200c4107746a221320132d00004108464102746a10d889808000201341083a0000201341016a200341d80b6a41e30010f4978080001a41002114200c21130c030b200c201341e4abc68000108281808000000b024020132002280200470d00200241f4abc680001092868080000b200228020420134107746a221441083a0000201441016a200341d80b6a41e30010f4978080001a2002201341016a360208410021140c010b200341f6076a200541ef006a2d00003a0000200341e0076a200541fc006a290000370300200341e8076a20054184016a290000370300200341f0076a2005418c016a2d00003a0000200320052f006d3b01f407200320052900743703d807200528007021130b0240200e41054f0d0041022123410221214102211b41022118410221150c040b4102210641022115024020052d00900122164102460d004101211502402016410171450d00200341f80a6a200528029401200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341d8016a2002410c6a10958f8080002002280208210c024020032802d801410171450d00024020032802dc012216200c4f0d00200228020420164107746a220c200c2d00004108464102746a10d889808000200c41083a0000200c41016a200341d80b6a41e30010f4978080001a410021152016210c0c030b2016200c41e4abc68000108281808000000b0240200c2002280200470d00200241f4abc680001092868080000b2002280204200c4107746a221541083a0000201541016a200341d80b6a41e30010f4978080001a2002200c41016a360208410021150c010b20034196086a20054193016a2d00003a000020034180086a200541a0016a29000037030020034188086a200541a8016a29000037030020034190086a200541b0016a2d00003a0000200320052f0091013b01940820032005290098013703f807200528009401210c0b0240200e4105470d0041022123410221214102211b410221180c040b4102210641022117024020052d00b401220b4102460d00410121170240200b410171450d00200341f80a6a20052802b801200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341d0016a2002410c6a10958f80800020022802082116024020032802d001410171450d00024020032802d401220b20164f0d002002280204200b4107746a221620162d00004108464102746a10d889808000201641083a0000201641016a200341d80b6a41e30010f4978080001a41002117200b21160c030b200b201641e4abc68000108281808000000b024020162002280200470d00200241f4abc680001092868080000b200228020420164107746a221741083a0000201741016a200341d80b6a41e30010f4978080001a2002201641016a360208410021170c010b200341b6086a200541b7016a2d00003a0000200341a0086a200541c4016a290000370300200341a8086a200541cc016a290000370300200341b0086a200541d4016a2d00003a0000200320052f00b5013b01b408200320052900bc013703980820052800b80121160b0240200e41074f0d0041022123410221214102211b410221180c050b4102210641022118024020052d00d80122194102460d004101211802402019410171450d00200341f80a6a20052802dc01200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341c8016a2002410c6a10958f8080002002280208210b024020032802c801410171450d00024020032802cc012219200b4f0d00200228020420194107746a220b200b2d00004108464102746a10d889808000200b41083a0000200b41016a200341d80b6a41e30010f4978080001a410021182019210b0c030b2019200b41e4abc68000108281808000000b0240200b2002280200470d00200241f4abc680001092868080000b2002280204200b4107746a221841083a0000201841016a200341d80b6a41e30010f4978080001a2002200b41016a360208410021180c010b200341d6086a200541db016a2d00003a0000200341c0086a200541e8016a290000370300200341c8086a200541f0016a290000370300200341d0086a200541f8016a2d00003a0000200320052f00d9013b01d408200320052900e0013703b80820052800dc01210b0b0240200e4107470d0041022123410221214102211b0c050b410221064102211a024020052d00fc01220a4102460d004101211a0240200a410171450d00200341f80a6a200528028002200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341c0016a2002410c6a10958f80800020022802082119024020032802c001410171450d00024020032802c401220a20194f0d002002280204200a4107746a221920192d00004108464102746a10d889808000201941083a0000201941016a200341d80b6a41e30010f4978080001a4100211a200a21190c030b200a201941e4abc68000108281808000000b024020192002280200470d00200241f4abc680001092868080000b200228020420194107746a221a41083a0000201a41016a200341d80b6a41e30010f4978080001a2002201941016a3602084100211a0c010b200341f6086a200541ff016a2d00003a0000200341e0086a2005418c026a290000370300200341e8086a20054194026a290000370300200341f0086a2005419c026a2d00003a0000200320052f00fd013b01f40820032005290084023703d80820052800800221190b0240200e41094f0d0041022123410221214102211b0c060b410221064102211b024020052d00a002221c4102460d004101211b0240201c410171450d00200341f80a6a20052802a402200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341b8016a2002410c6a10958f8080002002280208210a024020032802b801410171450d00024020032802bc01221c200a4f0d002002280204201c4107746a220a200a2d00004108464102746a10d889808000200a41083a0000200a41016a200341d80b6a41e30010f4978080001a4100211b201c210a0c030b201c200a41e4abc68000108281808000000b0240200a2002280200470d00200241f4abc680001092868080000b2002280204200a4107746a221b41083a0000201b41016a200341d80b6a41e30010f4978080001a2002200a41016a3602084100211b0c010b20034196096a200541a3026a2d00003a000020034180096a200541b0026a29000037030020034188096a200541b8026a29000037030020034190096a200541c0026a2d00003a0000200320052f00a1023b019409200320052900a8023703f80820052800a402210a0b0240200e4109470d0041022123410221210c060b410221064102211d024020052d00c40222094102460d004101211d02402009410171450d00200341f80a6a20052802c802200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341b0016a2002410c6a10958f8080002002280208211c024020032802b001410171450d00024020032802b4012209201c4f0d00200228020420094107746a221c201c2d00004108464102746a10d889808000201c41083a0000201c41016a200341d80b6a41e30010f4978080001a4100211d2009211c0c030b2009201c41e4abc68000108281808000000b0240201c2002280200470d00200241f4abc680001092868080000b2002280204201c4107746a221d41083a0000201d41016a200341d80b6a41e30010f4978080001a2002201c41016a3602084100211d0c010b200341b6096a200541c7026a2d00003a0000200341a0096a200541d4026a290000370300200341a8096a200541dc026a290000370300200341b0096a200541e4026a2d00003a0000200320052f00c5023b01b409200320052900cc023703980920052800c802211c0b0240200e410b4f0d0041022123410221214102212241022124410221250c070b4102210641022121024020052d00e802221e4102460d00410121210240201e410171450d00200341f80a6a20052802ec02200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341a8016a2002410c6a10958f80800020022802082109024020032802a801410171450d00024020032802ac01221e20094f0d002002280204201e4107746a220920092d00004108464102746a10d889808000200941083a0000200941016a200341d80b6a41e30010f4978080001a41002121201e21090c030b201e200941e4abc68000108281808000000b024020092002280200470d00200241f4abc680001092868080000b200228020420094107746a222141083a0000202141016a200341d80b6a41e30010f4978080001a2002200941016a360208410021210c010b200341d6096a200541eb026a2d00003a0000200341c0096a200541f8026a290000370300200341c8096a20054180036a290000370300200341d0096a20054188036a2d00003a0000200320052f00e9023b01d409200320052900f0023703b80920052800ec0221090b0240200e410b470d00410221234102212241022124410221250c070b4102210641022122024020052d008c0322084102460d004101212202402008410171450d00200341f80a6a200528029003200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a200341a0016a2002410c6a10958f8080002002280208211e024020032802a001410171450d00024020032802a4012208201e4f0d00200228020420084107746a221e201e2d00004108464102746a10d889808000201e41083a0000201e41016a200341d80b6a41e30010f4978080001a410021222008211e0c030b2008201e41e4abc68000108281808000000b0240201e2002280200470d00200241f4abc680001092868080000b2002280204201e4107746a222241083a0000202241016a200341d80b6a41e30010f4978080001a2002201e41016a360208410021220c010b200341f6096a2005418f036a2d00003a0000200341e0096a2005419c036a290000370300200341e8096a200541a4036a290000370300200341f0096a200541ac036a2d00003a0000200320052f008d033b01f40920032005290094033703d809200528009003211e0b0240200e410d4f0d004102212341022124410221250c070b4102210641022123024020052d00b003221f4102460d00410121230240201f410171450d00200341f80a6a20052802b403200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a20034198016a2002410c6a10958f808000200228020821080240200328029801410171450d000240200328029c01221f20084f0d002002280204201f4107746a220820082d00004108464102746a10d889808000200841083a0000200841016a200341d80b6a41e30010f4978080001a41002123201f21080c030b201f200841e4abc68000108281808000000b024020082002280200470d00200241f4abc680001092868080000b200228020420084107746a222341083a0000202341016a200341d80b6a41e30010f4978080001a2002200841016a360208410021230c010b200341960a6a200541b3036a2d00003a0000200341800a6a200541c0036a290000370300200341880a6a200541c8036a290000370300200341900a6a200541d0036a2d00003a0000200320052f00b1033b01940a200320052900b8033703f80920052800b40321080b0240200e410d470d0041022124410221250c070b4102210641022124024020052d00d40322204102460d004101212402402020410171450d00200341f80a6a20052802d803200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a20034190016a2002410c6a10958f8080002002280208211f0240200328029001410171450d0002402003280294012220201f4f0d00200228020420204107746a221f201f2d00004108464102746a10d889808000201f41083a0000201f41016a200341d80b6a41e30010f4978080001a410021242020211f0c030b2020201f41e4abc68000108281808000000b0240201f2002280200470d00200241f4abc680001092868080000b2002280204201f4107746a222441083a0000202441016a200341d80b6a41e30010f4978080001a2002201f41016a360208410021240c010b200341b60a6a200541d7036a2d00003a0000200341a00a6a200541e4036a290000370300200341a80a6a200541ec036a290000370300200341b00a6a200541f4036a2d00003a0000200320052f00d5033b01b40a200320052900dc033703980a20052800d803211f0b0240200e410f4f0d00410221250c070b4102212541022106024020052d00f80322264102460d004101210602402026410171450d00200341f80a6a20052802fc03200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a20034188016a2002410c6a10958f808000200228020821200240200328028801410171450d000240200328028c01222620204f0d00200228020420264107746a220620062d00004108464102746a10d889808000200641083a0000200641016a200341d80b6a41e30010f4978080001a41002106202621200c030b2026202041e4abc68000108281808000000b024020202002280200470d00200241f4abc680001092868080000b200228020420204107746a220641083a0000200641016a200341d80b6a41e30010f4978080001a2002202041016a360208410021060c010b200341d60a6a200541fb036a2d00003a0000200341c00a6a20054188046a290000370300200341c80a6a20054190046a290000370300200341d00a6a20054198046a2d00003a0000200320052f00f9033b01d40a20032005290080043703b80a20052800fc0321200b0240200e410f470d000c070b41022125024020052d009c04220e4102470d000c070b410121250240200e410171450d00200341f80a6a20052802a004200210f289808000200341db0b6a200341f80a6a41e00010f4978080001a20034180016a2002410c6a10958f808000200228020821050240200328028001410171450d000240200328028401220e20054f0d002002280204200e4107746a220220022d00004108464102746a10d889808000200241083a0000200241016a200341d80b6a41e30010f4978080001a41002125200e21050c090b200e200541e4abc68000108281808000000b024020052002280200470d00200241f4abc680001092868080000b200228020420054107746a220e41083a0000200e41016a200341d80b6a41e30010f4978080001a2002200541016a360208410021250c070b200341f60a6a2005419f046a2d00003a0000200341e00a6a200541ac046a290000370300200341e80a6a200541b4046a290000370300200341f00a6a200541bc046a2d00003a0000200320052f009d043b01f40a200320052900a4043703d80a20052800a00421050c060b200341013602dc0b200341cca5c680003602d80b200342013702e40b200341c181808000ad4220864198a5c68000ad843703f80a2003200341f80a6a3602e00b200341d80b6a41d4a5c6800010fe80808000000b200041043a00000c0b0b410221140b410221170b4102211a0b4102211d4102212241022124410221250b41002d008083d480001a02400240024041c00441002802f482d48000118280808000002202450d004103210e2002200241036a417c7120026b22266a2202200f3a0000200220032f0194073b000120022007360004200220032903f806370208200220113a0024200220032f01b4073b00252002417e6a20263b0000200241036a20034194076a41026a2d00003a0000200241106a200341f8066a41086a290300370200200241186a200341f8066a41106a290300370200200241206a200341f8066a41186a280200360200200241276a200341b4076a41026a2d00003a000020022010360028200220123a00482002200d36004c200220032903980737022c200241346a20034198076a41086a2903003702002002413c6a20034198076a41106a290300370200200241c4006a20034198076a41186a280200360200200220032f01d4073b0049200241cb006a200341d4076a41026a2d00003a0000200220032903b807370250200241d8006a200341b8076a41086a290300370200200241e0006a200341b8076a41106a290300370200200241e8006a200341b8076a41186a280200360200200220143a006c20022013360070200220153a009001200220032f01f4073b006d200241ef006a200341f4076a41026a2d00003a00002002418c016a200341d8076a41186a28020036020020024184016a200341d8076a41106a290300370200200241fc006a200341d8076a41086a290300370200200220032903d807370274200220032f0194083b00910120024193016a20034194086a41026a2d00003a00002002200c36009401200241b0016a200341f8076a41186a280200360200200241a8016a200341f8076a41106a290300370200200241a0016a200341f8076a41086a290300370200200220032903f80737029801200220173a00b401200241b7016a200341b4086a41026a2d00003a0000200220032f01b4083b00b501200220163600b801200241d4016a20034198086a41186a280200360200200241cc016a20034198086a41106a290300370200200241c4016a20034198086a41086a29030037020020022003290398083702bc01200220183a00d801200241db016a200341d4086a41026a2d00003a0000200220032f01d4083b00d9012002200b3600dc01200241f8016a200341b8086a41186a280200360200200241f0016a200341b8086a41106a290300370200200241e8016a200341b8086a41086a290300370200200220032903b8083702e0012002201a3a00fc01200241ff016a200341f4086a41026a2d00003a0000200220032f01f4083b00fd0120022019360080022002419c026a200341d8086a41186a28020036020020024194026a200341d8086a41106a2903003702002002418c026a200341d8086a41086a290300370200200220032903d808370284022002201b3a00a002200241a3026a20034194096a41026a2d00003a0000200220032f0194093b00a1022002200a3600a402200241c0026a200341f8086a41186a280200360200200241b8026a200341f8086a41106a290300370200200241b0026a200341f8086a41086a290300370200200220032903f8083702a8022002201d3a00c402200241c7026a200341b4096a41026a2d00003a0000200220032f01b4093b00c5022002201c3600c802200241e4026a20034198096a41186a280200360200200241dc026a20034198096a41106a290300370200200241d4026a20034198096a41086a29030037020020022003290398093702cc02200220213a00e802200241eb026a200341d4096a41026a2d00003a0000200220032f01d4093b00e902200220093600ec0220024188036a200341b8096a41186a28020036020020024180036a200341b8096a41106a290300370200200241f8026a200341b8096a41086a290300370200200220032903b8093702f002200220223a008c032002418f036a200341f4096a41026a2d00003a0000200220032f01f4093b008d032002201e36009003200241ac036a200341d8096a41186a280200360200200241a4036a200341d8096a41106a2903003702002002419c036a200341d8096a41086a290300370200200220032903d80937029403200220233a00b003200241b3036a200341940a6a41026a2d00003a0000200220032f01940a3b00b103200220083600b403200241d0036a200341f8096a41186a280200360200200241c8036a200341f8096a41106a290300370200200241c0036a200341f8096a41086a290300370200200220032903f8093702b803200220243a00d403200241d7036a200341b40a6a41026a2d00003a0000200220032f01b40a3b00d5032002201f3600d803200241f4036a200341980a6a41186a280200360200200241ec036a200341980a6a41106a290300370200200241e4036a200341980a6a41086a290300370200200220032903980a3702dc03200220063a00f803200241fb036a200341d40a6a41026a2d00003a0000200220032f01d40a3b00f903200220203600fc0320024198046a200341b80a6a41186a28020036020020024190046a200341b80a6a41106a29030037020020024188046a200341b80a6a41086a290300370200200220032903b80a37028004200220253a009c042002419f046a200341f40a6a41026a2d00003a0000200220032f01f40a3b009d04200220053600a004200241bc046a200341d80a6a41186a280200360200200241b4046a200341d80a6a41106a290300370200200241ac046a200341d80a6a41086a290300370200200220032903d80a3702a404200341d80b6a200141386a10e29780800020044101710d010c020b410441c00410ab80808000000b0240200128020422050d00200341f6026a2001410a6a2d00003a0000200341d8026a2001411b6a290000370300200341dd026a200141206a290000370000200320012f00083b01f402200320012900133703d002200128000f2104200128000b21054101210e0c010b20052005280200220441016a3602004100210e20044100480d06200128020821040b200020032902d80b3702302000200236022c2000200e3a0000200020032f01f4023b0001200041d8006a200341800c6a290200370200200041d0006a200341d80b6a41206a290200370200200041c8006a200341d80b6a41186a290200370200200041c0006a200341d80b6a41106a290200370200200041386a200341d80b6a41086a290200370200200041036a200341f4026a41026a2d00003a00002000200436020820002005360204200020032903d00237020c200041146a200341d0026a41086a2903003702002000411c6a200341d0026a41106a290300370200200041246a200341d0026a41186a2903003702000c060b410221130b410221160b410221190b4102211c4102211e4102211f410221200b41002d008083d480001a02400240024041c00441002802f482d48000118280808000002202450d00410321072002200241036a417c7120026b22256a2202200e3a0000200220032f0194033b000120022006360004200220032903f802370208200220103a0024200220032f01b4033b00252002417e6a20253b0000200241036a20034194036a41026a2d00003a0000200241106a200341f8026a41086a290300370200200241186a200341f8026a41106a290300370200200241206a200341f8026a41186a280200360200200241276a200341b4036a41026a2d00003a00002002200f3600282002200d3a00482002201136004c200220032903980337022c200241346a20034198036a41086a2903003702002002413c6a20034198036a41106a290300370200200241c4006a20034198036a41186a280200360200200220032f01d4033b0049200241cb006a200341d4036a41026a2d00003a0000200220032903b803370250200241d8006a200341b8036a41086a290300370200200241e0006a200341b8036a41106a290300370200200241e8006a200341b8036a41186a280200360200200220133a006c200220123600702002200c3a009001200220032f01f4033b006d200241ef006a200341f4036a41026a2d00003a00002002418c016a200341d8036a41186a28020036020020024184016a200341d8036a41106a290300370200200241fc006a200341d8036a41086a290300370200200220032903d803370274200220032f0194043b00910120024193016a20034194046a41026a2d00003a00002002201436009401200241b0016a200341f8036a41186a280200360200200241a8016a200341f8036a41106a290300370200200241a0016a200341f8036a41086a290300370200200220032903f80337029801200220163a00b401200241b7016a200341b4046a41026a2d00003a0000200220032f01b4043b00b501200220153600b801200241d4016a20034198046a41186a280200360200200241cc016a20034198046a41106a290300370200200241c4016a20034198046a41086a29030037020020022003290398043702bc012002200b3a00d801200241db016a200341d4046a41026a2d00003a0000200220032f01d4043b00d901200220173600dc01200241f8016a200341b8046a41186a280200360200200241f0016a200341b8046a41106a290300370200200241e8016a200341b8046a41086a290300370200200220032903b8043702e001200220193a00fc01200241ff016a200341f4046a41026a2d00003a0000200220032f01f4043b00fd0120022018360080022002419c026a200341d8046a41186a28020036020020024194026a200341d8046a41106a2903003702002002418c026a200341d8046a41086a290300370200200220032903d804370284022002200a3a00a002200241a3026a20034194056a41026a2d00003a0000200220032f0194053b00a1022002201a3600a402200241c0026a200341f8046a41186a280200360200200241b8026a200341f8046a41106a290300370200200241b0026a200341f8046a41086a290300370200200220032903f8043702a8022002201c3a00c402200241c7026a200341b4056a41026a2d00003a0000200220032f01b4053b00c5022002201b3600c802200241e4026a20034198056a41186a280200360200200241dc026a20034198056a41106a290300370200200241d4026a20034198056a41086a29030037020020022003290398053702cc02200220093a00e802200241eb026a200341d4056a41026a2d00003a0000200220032f01d4053b00e9022002201d3600ec0220024188036a200341b8056a41186a28020036020020024180036a200341b8056a41106a290300370200200241f8026a200341b8056a41086a290300370200200220032903b8053702f0022002201e3a008c032002418f036a200341f4056a41026a2d00003a0000200220032f01f4053b008d032002202136009003200241ac036a200341d8056a41186a280200360200200241a4036a200341d8056a41106a2903003702002002419c036a200341d8056a41086a290300370200200220032903d80537029403200220083a00b003200241b3036a20034194066a41026a2d00003a0000200220032f0194063b00b103200220223600b403200241d0036a200341f8056a41186a280200360200200241c8036a200341f8056a41106a290300370200200241c0036a200341f8056a41086a290300370200200220032903f8053702b8032002201f3a00d403200241d7036a200341b4066a41026a2d00003a0000200220032f01b4063b00d503200220233600d803200241f4036a20034198066a41186a280200360200200241ec036a20034198066a41106a290300370200200241e4036a20034198066a41086a29030037020020022003290398063702dc03200220043a00f803200241fb036a200341d4066a41026a2d00003a0000200220032f01d4063b00f903200220243600fc0320024198046a200341b8066a41186a28020036020020024190046a200341b8066a41106a29030037020020024188046a200341b8066a41086a290300370200200220032903b80637028004200220203a009c042002419f046a200341f4066a41026a2d00003a0000200220032f01f4063b009d04200220053600a004200241bc046a200341d8066a41186a280200360200200241b4046a200341d8066a41106a290300370200200241ac046a200341d8066a41086a290300370200200220032903d8063702a40420012802040d010c020b410441c00410ab80808000000b0240200128020822050d00200341ce026a2001410e6a2d00003a0000200341b0026a2001411f6a290000370300200341b5026a200141246a290000370000200320012f000c3b01cc02200320012900173703a80220012800132104200128000f2105410121070c010b20052005280200220441016a3602004100210720044100480d01200128020c21040b200020073a000420002002360230200020032f01cc023b00052000200436020c20002005360208200020032903a802370210200041073a0000200041076a200341cc026a41026a2d00003a0000200041186a200341a8026a41086a290300370200200041206a200341a8026a41106a290300370200200041286a200341a8026a41186a2903003702000c010b000b200341c00c6a2480808080000b860401017f2380808080004180016b22052480808080000240024002400240024002400240024020012d00000e03020100020b200541003a005420052002360250200541023a002c200520012802283602342005200128022441086a3602302005200320042005412c6a20024100200510f48980800020052d00004101460d05200541f0006a2202200541196a290000370300200541e8006a2204200541116a290000370300200541d8006a41086a200541096a2900003703002005200529000137035820012d000122030d02200141013a0001200120052903583700022001410a6a200541e0006a290300370000200141126a20042903003700002001411a6a20022903003700000c030b41012102200141016a2104412021010c050b200128020441086a210420012802082101410021020c040b2003450d010b200141026a210441202101410121020c020b20054101360230200541cca5c6800036022c20054201370238200541c181808000ad42208641dca6c68000ad84370300200520053602342005412c6a41e4a6c6800010fe80808000000b20054101360230200541cca5c6800036022c20054201370238200541c181808000ad4220864188a6c68000ad843703782005200541f8006a3602342005412c6a4190a6c6800010fe80808000000b20002001360208200020043602042000200236020020054180016a2480808080000bce0401067f23808080800041c0006b2207248080808000200120042005200610ed9780800021060240024002400240024020032d00004102460d00200020022802002003200110858a8080002001200610ea978080000c010b200328020821052003280204210420022802002203280254210820032802502109200128022c220a410176210302400240200a4101710d00200320012802042001280228220a200a41284b220a1b220b4b0d0320012802002001200a1b210a4100210b0c010b200320012802042001280228220a200a41284b1b220b4b0d032003200b4f0d04200720012802002001200a41284b1b220a20036a2d000041f001713a00294101210b0b2007200b3a0028200720033602242007200a36022020072009200741206a20042005200828021c11878080800000200228020021032001280200210a2001280204210820012802282102200741206a41186a200741186a2209290000370300200741206a41106a200741106a220b290000370300200741206a41086a200741086a220c29000037030020072007290000370320200341e8006a280200200341ec006a280200200a2001200241284b22031b2008200220031b20042005200741206a10fe898080002001200610ea97808000200041003a0000200041196a2009290000370000200041116a200b290000370000200041096a200c290000370000200020072900003700010b200741c0006a2480808080000f0b2003200b41b4e7cd8000109181808000000b2003200b41c4e7cd8000109181808000000b2003200b41d4e7cd8000108281808000000b860401017f2380808080004180016b22052480808080000240024002400240024002400240024020012d00000e03020100020b200541003a005420052002360250200541023a002c200520012802283602342005200128022441086a3602302005200320042005412c6a20024100200510f68980800020052d00004101460d05200541f0006a2202200541196a290000370300200541e8006a2204200541116a290000370300200541d8006a41086a200541096a2900003703002005200529000137035820012d000122030d02200141013a0001200120052903583700022001410a6a200541e0006a290300370000200141126a20042903003700002001411a6a20022903003700000c030b41012102200141016a2104412021010c050b200128020441086a210420012802082101410021020c040b2003450d010b200141026a210441202101410121020c020b20054101360230200541cca5c6800036022c20054201370238200541c181808000ad42208641dca6c68000ad84370300200520053602342005412c6a41e4a6c6800010fe80808000000b20054101360230200541cca5c6800036022c20054201370238200541c181808000ad4220864188a6c68000ad843703782005200541f8006a3602342005412c6a4190a6c6800010fe80808000000b20002001360208200020043602042000200236020020054180016a2480808080000bce0401067f23808080800041c0006b2207248080808000200120042005200610ed9780800021060240024002400240024020032d00004102460d00200020022802002003200110818a8080002001200610ea978080000c010b200328020821052003280204210420022802002203280254210820032802502109200128022c220a410176210302400240200a4101710d00200320012802042001280228220a200a41284b220a1b220b4b0d0320012802002001200a1b210a4100210b0c010b200320012802042001280228220a200a41284b1b220b4b0d032003200b4f0d04200720012802002001200a41284b1b220a20036a2d000041f001713a00294101210b0b2007200b3a0028200720033602242007200a36022020072009200741206a20042005200828021c11878080800000200228020021032001280200210a2001280204210820012802282102200741206a41186a200741186a2209290000370300200741206a41106a200741106a220b290000370300200741206a41086a200741086a220c29000037030020072007290000370320200341e8006a280200200341ec006a280200200a2001200241284b22031b2008200220031b20042005200741206a10ff898080002001200610ea97808000200041003a0000200041196a2009290000370000200041116a200b290000370000200041096a200c290000370000200020072900003700010b200741c0006a2480808080000f0b2003200b41b4e7cd8000109181808000000b2003200b41c4e7cd8000109181808000000b2003200b41d4e7cd8000108281808000000b840401027f2380808080004180016b22042480808080000240024002400240024002400240024020012d00000e03020100020b200441003a005420042002360250200441023a002c200420012802283602342004200128022441086a360230200420032004412c6a20024100200410f88980800020042d00004101460d05200441f0006a2202200441196a290000370300200441e8006a2203200441116a290000370300200441d8006a41086a200441096a2900003703002004200429000137035820012d000122050d02200141013a0001200120042903583700022001410a6a200441e0006a290300370000200141126a20032903003700002001411a6a20022903003700000c030b41012102200141016a2103412021010c050b200128020441086a210320012802082101410021020c040b2005450d010b200141026a210341202101410121020c020b20044101360230200441cca5c6800036022c20044201370238200441c181808000ad42208641dca6c68000ad84370300200420043602342004412c6a41e4a6c6800010fe80808000000b20044101360230200441cca5c6800036022c20044201370238200441c181808000ad4220864188a6c68000ad843703782004200441f8006a3602342004412c6a4190a6c6800010fe80808000000b20002001360208200020033602042000200236020020044180016a2480808080000bf10401087f23808080800041c0006b22062480808080002001280200220728020020032004200510ed9780800021050240024002400240024020022d00004102460d00200020012802042802002002200728020010818a8080002007280200200510ea978080000c010b200228020821042002280204210320012802042208280200220228025421092002280250210a2007280200220228022c220b410176210102400240200b4101710d00200120022802042002280228220b200b41284b220b1b220c4b0d0320022802002002200b1b21024100210b0c010b200120022802042002280228220b200b41284b1b220c4b0d032001200c4f0d04200620022802002002200b41284b1b220220016a2d000041f001713a00294101210b0b2006200b3a002820062001360224200620023602202006200a200641206a20032004200928021c1187808080000020082802002101200728020022022802002108200228020421092002280228210b200641206a41186a200641186a220a290000370300200641206a41106a200641106a220c290000370300200641206a41086a200641086a220d29000037030020062006290000370320200141e8006a280200200141ec006a28020020082002200b41284b22011b2009200b20011b20032004200641206a10ff898080002007280200200510ea97808000200041003a0000200041196a200a290000370000200041116a200c290000370000200041096a200d290000370000200020062900003700010b200641c0006a2480808080000f0b2001200c41b4e7cd8000109181808000000b2001200c41c4e7cd8000109181808000000b2001200c41d4e7cd8000108281808000000b840401027f2380808080004180016b22042480808080000240024002400240024002400240024020012d00000e03020100020b200441003a005420042002360250200441023a002c200420012802283602342004200128022441086a360230200420032004412c6a20024100200410fa8980800020042d00004101460d05200441f0006a2202200441196a290000370300200441e8006a2203200441116a290000370300200441d8006a41086a200441096a2900003703002004200429000137035820012d000122050d02200141013a0001200120042903583700022001410a6a200441e0006a290300370000200141126a20032903003700002001411a6a20022903003700000c030b41012102200141016a2103412021010c050b200128020441086a210320012802082101410021020c040b2005450d010b200141026a210341202101410121020c020b20044101360230200441cca5c6800036022c20044201370238200441c181808000ad42208641dca6c68000ad84370300200420043602342004412c6a41e4a6c6800010fe80808000000b20044101360230200441cca5c6800036022c20044201370238200441c181808000ad4220864188a6c68000ad843703782004200441f8006a3602342004412c6a4190a6c6800010fe80808000000b20002001360208200020033602042000200236020020044180016a2480808080000bf10401087f23808080800041c0006b22062480808080002001280200220728020020032004200510ed9780800021050240024002400240024020022d00004102460d00200020012802042802002002200728020010858a8080002007280200200510ea978080000c010b200228020821042002280204210320012802042208280200220228025421092002280250210a2007280200220228022c220b410176210102400240200b4101710d00200120022802042002280228220b200b41284b220b1b220c4b0d0320022802002002200b1b21024100210b0c010b200120022802042002280228220b200b41284b1b220c4b0d032001200c4f0d04200620022802002002200b41284b1b220220016a2d000041f001713a00294101210b0b2006200b3a002820062001360224200620023602202006200a200641206a20032004200928021c1187808080000020082802002101200728020022022802002108200228020421092002280228210b200641206a41186a200641186a220a290000370300200641206a41106a200641106a220c290000370300200641206a41086a200641086a220d29000037030020062006290000370320200141e8006a280200200141ec006a28020020082002200b41284b22011b2009200b20011b20032004200641206a10fe898080002007280200200510ea97808000200041003a0000200041196a200a290000370000200041116a200c290000370000200041096a200d290000370000200020062900003700010b200641c0006a2480808080000f0b2001200c41b4e7cd8000109181808000000b2001200c41c4e7cd8000109181808000000b2001200c41d4e7cd8000108281808000000bb70f010c7f23808080800041d0016b2205248080808000200520033602102005200236020c0240024002400240200028026822030d0020042802002106410021030c010b200028026c210220052005410c6a360250200520032001200541d0006a41f4a6c68000200228021411878080800000200528020421070240200528020022084101710d002005410036021c20054280808080c0003702140240200428020022064101470d00200541206a41286a2004412c6a290200370300200541206a41206a200441246a290200370300200541206a41186a2004411c6a290200370300200541206a41106a200441146a290200370300410c2102200541206a41086a2004410c6a29020037030020052004290204370320024002400240024002400240024020072802002201417e6a2203410420034106491b0e06060006020103060b2007280234450d05200741346a2109413c21020c040b2001410171450d042007280204450d04200741046a21090c030b20072802040d010c030b200741046a21090c010b2007280208450d01200741086a2109411021020b20054180016a41186a200720026a220341186a29020037030020054180016a41106a200341106a29020037030020054180016a41086a200341086a290200370300200520032902003703800141002101024002400240200528022420052802482203200341284b22021b220a4100480d002005280220210141012103200a450d0241002d008083d480001a200a41002802f482d480001182808080000022030d01410121010b2001200a4194adc6800010b980808000000b2003417e6a41003b00000b20032001200541206a20021b200a10f497808000210b200928020022032003280200220341016a360200024020034100480d00200928020021012005200928020436025420052001360250024003402001280204210303402003417f460d012003417f4c0d022001200341016a2001280204220220022003461b360204200220034721092002210320090d000b0b20052802542109200120012802002203417f6a360200024020034101470d00200541d0006a10f0978080000b0240200528021c22022005280214470d00200541146a41aca7c680001097868080000b2005280218200241386c6a220341023a000c2003200a3602082003200b3602042003200a360200200320052903800137000d2003200936023420032001360230200341156a20054188016a2903003700002003411d6a20054190016a290300370000200341256a20054198016a2903003700002005200241016a36021c0c020b41c8e8cd800041c0e9cd800010ef978080000b000b200541a4016a41286a22034100360200200541a4016a2005280220200541206a2005280248220241284b22011b220920092005280224200220011b6a10cd89808000200541d0006a41086a200541a4016a41086a290200370300200541d0006a41106a200541a4016a41106a290200370300200541d0006a41186a200541a4016a41186a290200370300200541d0006a41206a200541a4016a41206a290200370300200541d0006a41286a2003280200360200200520052902a4013703502005200528024c36027c2007200541146a200541d0006a10fc89808000024020052802484129490d00200528022022032003417e6a2f00006b41002802ec82d48000118180808000000b2005280218210c2005280214210d0240200528021c2203450d00200c200341386c6a21092000280268210a200028026c2802102100200541e0006a210b200541e8006a210e200541f0006a210f200541f8006a2110200c21030340200541d0006a41086a200341146a290200370300200b2003411c6a290200370300200e200341246a290200370300200f2003412c6a2902003703002010200341346a28020036020020052003410c6a29020037035020032802002101200a200341046a2802002202200341086a280200200541d0006a20001183808080000002402001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200341386a22032009470d000b0b200d450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b024020080d00200621030c020b0240024002400240200728020041fcffffff076a2203410320034105491b0e0403030102000b2007280204450d02200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2007280204450d01200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200710de898080000b20072007417e6a2f00006b41002802ec82d4800011818080800000200621030c010b02402008450d000240024002400240200728020041fcffffff076a2203410320034105491b0e0403030102000b2007280204450d02200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2007280204450d01200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200710de898080000b20072007417e6a2f00006b41002802ec82d48000118180808000000b2004280200450d02200428022c41284d0d020c010b2006410171450d0120030d01200428022c41284d0d010b200428020422032003417e6a2f00006b41002802ec82d48000118180808000000b200541d0016a2480808080000bc70c011c7f2380808080004180016b220324808080800002400240024002400240024002402000280200417e6a2204410420044106491b0e06030302000103030b200041306a21050c030b2000412c6a21050c020b200041046a2100410021060c020b200241286a21070c020b41012106410021000b200241286a2107200341046a2108200341286a21094100210a0240024003400240024020060d00200a4101710d054101210a2000210420002d0000410171450d050c010b200020052802082204200020044b1b210b200041246c21040340200b2000460d05200041016a21002005280204220c20046a210d200441246a220e2104200d2d0000220d4102460d000b2000417f6a210f200d410171450d01200c200e6a415c6a21040b2004280204210e2002280200210d2002280204210b20022802282104200341d0006a41286a22104100360200200341d0006a200d2002200441284b220c1b220d200d200b2004200c1b6a10cd8980800020092010280200360200200341206a2211200341d0006a41206a2212290200370300200341186a2213200341d0006a41186a2214290200370300200341106a2215200341d0006a41106a2216290200370300200341086a2217200341d0006a41086a2218290200370300200320032902503703002003200228022c220436022c024002402006450d000240024020044101710d00200f410474210c024002402003410441282003280228220d41284b22041b6a280200220b200d412820041b460d002008200920041b210d2003280200200320041b21040c010b200310d9978080002003280204210b200328020021042008210d0b2004200b6a200c3a0000200d200d28020041016a3602000c010b200328020420032802282204200441284b22041b220d450d022003280200200320041b200d6a417f6a220420042d0000200f723a00000b2003200328022c41016a36022c0b4104210d0240024002400240200e280200220b417e6a2204410420044106491b0e06030200030103030b4128210d0c010b4138210d0b2003200e200d6a10eb97808000200e280200220b417e6a21040b0240024002400240024002402004410420044106491b0e06050005010203050b200e280234450d04200e41346a210d413c21040c030b200e280204450d03200e280208450d03200e41086a210d411021040c020b200b410171450d02200e280204450d020b200e41046a210d410c21040b200341306a41186a2219200e20046a220441186a290200370300200341306a41106a221a200441106a290200370300200341306a41086a221b200441086a290200370300200320042902003703304100210b024002400240200328020420032802282204200441284b22041b221c4100480d002003280200210b0240201c0d004101211d0c030b41002d008083d480001a201c41002802f482d4800011828080800000221d0d014101210b201c211d0b200b201d4194adc6800010b980808000000b201d417e6a41003b00000b201d200b200320041b201c10f497808000211e200d28020022042004280200220441016a36020020044100480d04200d280200210b2003200d2802043602542003200b3602500340200b280204210403402004417f460d012004417f4c0d05200b200441016a200b280204220d200d2004461b360204200d200447210c200d2104200c0d000b0b2003280254210c200b200b2802002204417f6a360200024020044101470d00200341d0006a10f0978080000b02402001280208220d2001280200470d002001419ca7c680001097868080000b2001280204200d41386c6a220441023a000c2004201c3602082004201e3602042004201c3602002004200329033037000d2004200c3602342004200b360230200441156a201b2903003700002004411d6a201a290300370000200441256a20192903003700002001200d41016a3602080b201020092903003703002012201129030037030020142013290300370300201620152903003703002018201729030037030020032003290300370350200e2001200341d0006a10fc898080000c010b0b41a4e6cd8000413a41e0e6cd800010a181808000000b41c8e8cd800041c0e9cd800010ef978080000b000b024020072802004129490d00200228020022002000417e6a2f00006b41002802ec82d48000118180808000000b20034180016a2480808080000bb70f010c7f23808080800041d0016b2205248080808000200520033602102005200236020c0240024002400240200028026822030d0020042802002106410021030c010b200028026c210220052005410c6a360250200520032001200541d0006a4188a7c68000200228021411878080800000200528020421070240200528020022084101710d002005410036021c20054280808080c0003702140240200428020022064101470d00200541206a41286a2004412c6a290200370300200541206a41206a200441246a290200370300200541206a41186a2004411c6a290200370300200541206a41106a200441146a290200370300410c2102200541206a41086a2004410c6a29020037030020052004290204370320024002400240024002400240024020072802002201417e6a2203410420034106491b0e06060006020103060b2007280234450d05200741346a2109413c21020c040b2001410171450d042007280204450d04200741046a21090c030b20072802040d010c030b200741046a21090c010b2007280208450d01200741086a2109411021020b20054180016a41186a200720026a220341186a29020037030020054180016a41106a200341106a29020037030020054180016a41086a200341086a290200370300200520032902003703800141002101024002400240200528022420052802482203200341284b22021b220a4100480d002005280220210141012103200a450d0241002d008083d480001a200a41002802f482d480001182808080000022030d01410121010b2001200a4194adc6800010b980808000000b2003417e6a41003b00000b20032001200541206a20021b200a10f497808000210b200928020022032003280200220341016a360200024020034100480d00200928020021012005200928020436025420052001360250024003402001280204210303402003417f460d012003417f4c0d022001200341016a2001280204220220022003461b360204200220034721092002210320090d000b0b20052802542109200120012802002203417f6a360200024020034101470d00200541d0006a10f0978080000b0240200528021c22022005280214470d00200541146a41aca7c680001097868080000b2005280218200241386c6a220341023a000c2003200a3602082003200b3602042003200a360200200320052903800137000d2003200936023420032001360230200341156a20054188016a2903003700002003411d6a20054190016a290300370000200341256a20054198016a2903003700002005200241016a36021c0c020b41c8e8cd800041c0e9cd800010ef978080000b000b200541a4016a41286a22034100360200200541a4016a2005280220200541206a2005280248220241284b22011b220920092005280224200220011b6a10cd89808000200541d0006a41086a200541a4016a41086a290200370300200541d0006a41106a200541a4016a41106a290200370300200541d0006a41186a200541a4016a41186a290200370300200541d0006a41206a200541a4016a41206a290200370300200541d0006a41286a2003280200360200200520052902a4013703502005200528024c36027c2007200541146a200541d0006a10fc89808000024020052802484129490d00200528022022032003417e6a2f00006b41002802ec82d48000118180808000000b2005280218210c2005280214210d0240200528021c2203450d00200c200341386c6a21092000280268210a200028026c2802102100200541e0006a210b200541e8006a210e200541f0006a210f200541f8006a2110200c21030340200541d0006a41086a200341146a290200370300200b2003411c6a290200370300200e200341246a290200370300200f2003412c6a2902003703002010200341346a28020036020020052003410c6a29020037035020032802002101200a200341046a2802002202200341086a280200200541d0006a20001183808080000002402001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200341386a22032009470d000b0b200d450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b024020080d00200621030c020b0240024002400240200728020041fcffffff076a2203410320034105491b0e0403030102000b2007280204450d02200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2007280204450d01200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200710de898080000b20072007417e6a2f00006b41002802ec82d4800011818080800000200621030c010b02402008450d000240024002400240200728020041fcffffff076a2203410320034105491b0e0403030102000b2007280204450d02200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2007280204450d01200728020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200710de898080000b20072007417e6a2f00006b41002802ec82d48000118180808000000b2004280200450d02200428022c41284d0d020c010b2006410171450d0120030d01200428022c41284d0d010b200428020422032003417e6a2f00006b41002802ec82d48000118180808000000b200541d0016a2480808080000bf70701037f23808080800041d0006b2207248080808000024002400240024002402000450d002005417f4c0d01200541f5ffffff074f0d0241002d008083d480001a2005410b6a41fcffffff0771220841002802f482d48000118280808000002209450d032009200941036a417c7120096b22086a22094281808080103702002009417e6a20083b0000200941086a2004200510f4978080001a2007200536021420072009360210200741186a41186a200641186a290000370300200741186a41106a200641106a290000370300200741186a41086a200641086a290000370300200720062900003703182007200636024c2007200741106a360248200741086a2000200741186a200741c8006a4190a8c68000200128021411878080800000200728020c2205280200210902400240024020072802084101710d00024002400240024002402009417e6a2204410420044106491b0e06070007020301070b20052802342209450d06200541346a21040c030b200541046a2104200528020421090c020b2005280204450d0420052802082209450d04200541086a21040c010b2009410171450d0320052802042209450d03200541046a21040b20092009280200220541016a3602002005417f4a0d01000b0240024002400240200941fcffffff076a2206410320064105491b0e0403030102000b2005280204450d02200528020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200510de898080000b20052005417e6a2f00006b41002802ec82d48000118180808000000c010b2004280200210920042802042105200741316a200641186a290000370000200741296a200641106a290000370000200741216a200641086a290000370000200720062900003700192007200536024c2007200936024803402009280204210603402006417f460d012006417f4c0d072009200641016a2009280204220520052006461b360204200520064721042005210620040d000b0b200728024c2106200920092802002205417f6a360200024020054101470d00200741c8006a10f0978080000b200720063602402007200936023c200741023a0018200020022003200741186a2001280210118380808000000b2007280210220620062802002206417f6a36020020064101470d00200741106a10f0978080000b200741d0006a2480808080000f0b41f8e9cd8000412b200741186a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200741186a418c80c0800041b482c0800010a981808000000b4104200810ab80808000000b41c8e8cd800041c0e9cd800010ef97808000000bf70701037f23808080800041d0006b2207248080808000024002400240024002402000450d002005417f4c0d01200541f5ffffff074f0d0241002d008083d480001a2005410b6a41fcffffff0771220841002802f482d48000118280808000002209450d032009200941036a417c7120096b22086a22094281808080103702002009417e6a20083b0000200941086a2004200510f4978080001a2007200536021420072009360210200741186a41186a200641186a290000370300200741186a41106a200641106a290000370300200741186a41086a200641086a290000370300200720062900003703182007200636024c2007200741106a360248200741086a2000200741186a200741c8006a41a4a8c68000200128021411878080800000200728020c2205280200210902400240024020072802084101710d00024002400240024002402009417e6a2204410420044106491b0e06070007020301070b20052802342209450d06200541346a21040c030b200541046a2104200528020421090c020b2005280204450d0420052802082209450d04200541086a21040c010b2009410171450d0320052802042209450d03200541046a21040b20092009280200220541016a3602002005417f4a0d01000b0240024002400240200941fcffffff076a2206410320064105491b0e0403030102000b2005280204450d02200528020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200510de898080000b20052005417e6a2f00006b41002802ec82d48000118180808000000c010b2004280200210920042802042105200741316a200641186a290000370000200741296a200641106a290000370000200741216a200641086a290000370000200720062900003700192007200536024c2007200936024803402009280204210603402006417f460d012006417f4c0d072009200641016a2009280204220520052006461b360204200520064721042005210620040d000b0b200728024c2106200920092802002205417f6a360200024020054101470d00200741c8006a10f0978080000b200720063602402007200936023c200741023a0018200020022003200741186a2001280210118380808000000b2007280210220620062802002206417f6a36020020064101470d00200741106a10f0978080000b200741d0006a2480808080000f0b41f8e9cd8000412b200741186a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200741186a418c80c0800041b482c0800010a981808000000b4104200810ab80808000000b41c8e8cd800041c0e9cd800010ef97808000000b7901027f2001280200220228020022032003280200220341016a360200024020034100480d00200041073602002000200229020037020420002001280204220129000037000c200041146a200141086a2900003700002000411c6a200141106a290000370000200041246a200141186a2900003700000f0b000bbb33030f7f017e087f23808080800041f0046b22042480808080002004200336020c2004200136020802400240024002400240024020022d00004101470d00200041003a000020002002290001370001200041196a200241196a290000370000200041116a200241116a290000370000200041096a200241096a2900003700000c010b20022802042102024020012802282205200128021c2203470d002001411c6a4184acc6800010948f808000200128021c2103200128022821050b2001280220200128022420056a22054100200320052003491b6b4102746a20023602002001200128022841016a3602280240024002400240024002400240024002402002200128021822034f0d00200441106a200128021420024107746a220141800110f4978080001a200141043a0004200141083a0000024020042d00104108460d00200041003a000020002001290060370001200041196a200141f8006a290000370000200041116a200141f0006a290000370000200041096a200141e8006a2900003700000c090b20044190016a200441106a41046a41e00010f4978080001a02400240200428020828026822060d00410021070c010b200441c0016a2102200428020c2101200441c0046a41286a22034100360200200441c0046a200128020020012001280228220541284b22081b220920092001280204200520081b6a10cd89808000200441c0026a41086a200441c0046a41086a290200370300200441c0026a41106a2205200441c0046a41106a290200370300200441c0026a41186a2208200441c0046a41186a290200370300200441c0026a41206a2209200441c0046a41206a290200370300200441c0026a41286a2003280200360200200420042902c0043703c0022004200128022c220a3602ec0202400240024020042d009001417c6a41ff01712201410420014104491b0e050201000201020b200441b8016a21020b2002280204200241046a200228022c220141284b22031b210b2002280208200120031b21032002280200220241017621010240024020024101710d004100210c0240200120034b0d004100210d200121020c020b2001200341dce4cd8000109281808000000b200120034f0d044101210c200141016a2102200b20016a2d0000410f71210d0b2004200d3a00a1032004200c3a00a0032004200320026b3602a8032004200b20026a3602a403200441c0026a200441a0036a10ec9780800020042802ec02210a0b200441f0016a41086a2005290300370300200441f0016a41106a2008290300370300200441f0016a41186a2009290300370300200420042903c8023703f00120042802c402210e20042802c002210f20042802e8022110410121070b20042d009001210320042802b801210820042802bc01211120042802c00121022004200441086a36029c0320042004410c6a36029803200441c4016a210102400240024002400240024002402003417c6a41ff01712205410420054104491b0e050001020403000b41002d008083d480001a410141002802f482d48000118280808000002201450d08200141003a00002001417e6a41003b00002004410136029802200420013602940220044101360290020c0d0b200441c0026a410c6a200141086a290200370200200441c0026a41146a200141106a290200370200200441c0026a411c6a200141186a290200370200200441c0026a41246a200141206a290200370200200441ec026a2203200141286a280200360200200420023602c002200420012902003702c402200441c0046a41206a20044190016a41246a280200360200200441c0046a41186a20044190016a411c6a290200370300200441c0046a41106a20044190016a41146a290200370300200441c0046a41086a20044190016a410c6a29020037030020042004290294013703c004200420113602e804200420083602e404200420023602bc04200420042802c80220032802002201200141284b22011b22083602b804200420042802c402200441c0026a41046a20011b3602b4042004418c046a200441c0046a200441b4046a20044198036a10f78980800020042802bc042205410176210120042802b80421030240024020054101710d000240200120034b0d0020042802b40420016a2105410021094100210b0c020b2001200341dce4cd8000109281808000000b200120034f0d094101210920042802b404220b200141016a220c6a2105200b20016a2d0000410f71210b200c21010b2004200b3a00ad03200420093a00ac03200441003602a803200420053602a0032004200320016b3602a40320044190026a200441a0036a200841017420026b2004418c046a10828a808000024002400240024020042d00c0040e020103000b20042802e404220120012802002201417f6a36020020014101470d02200441c0046a41246a21010c010b20042802c404220120012802002201417f6a36020020014101470d01200441c0046a41047221010b200110f0978080000b20042802ec024129490d0c20042802c40222012001417e6a2f00006b41002802ec82d48000118180808000000c0c0b200441c0026a41146a200141086a290200370200200441c0026a411c6a200141106a290200370200200441c0026a41246a200141186a290200370200200441ec026a200141206a280200360200200420023602c802200420113602c402200420083602c002200420012902003702cc02200441c0046a41206a20044190016a41246a280200360200200441c0046a41186a20044190016a411c6a290200370300200441c0046a41106a20044190016a41146a290200370300200441c0046a41086a2004419c016a29020037030020042004290294013703c0042004200441c0026a41046a10838a808000200420083602bc04200420042903003702b4042004418c046a200441b4046a10e797808000200441003a00e8042004200441b4046a3602e404200441a0036a20044198036a200441c0046a200441b4046a4100200410f889808000200441013602c40420044194afc680003602c004200442003702cc042004200441d8036a3602c804200441c0046a41dcafc6800010fe80808000000b200441cc026a200141086a290200370200200441d4026a200141106a290200370200200441dc026a200141186a290200370200200441e4026a200141206a290200370200200441ec026a2205200141286a280200360200200420023602c002200420012902003702c402200441a0036a41096a20044190016a41096a290000370000200441a0036a41116a20044190016a41116a290000370000200441a0036a41196a20044190016a41196a290000370000200441a0036a41206a20044190016a41206a29000037000020042004290091013700a103200420083602c803200420033a00a003200420023602d403200420042802c80220052802002201200141284b22011b22083602d003200420042802c402200441c0026a41046a221220011b3602cc03200341ff01714103470d014102210920082105200221010c020b200441e0026a200441b4016a280200360200200441d8026a200441ac016a290200370300200441d0026a200441a4016a290200370300200441c8026a2004419c016a290200370300200420042902940122133703c002200420113602e802200420083602e40202402013a741ff01714103460d00200441c0046a200441c0026a410020044198036a10f7898080000b10848a808000000b200441c0046a200441a0036a200441cc036a20044198036a10f78980800020042902c404211320042802c004210920042802d003210520042802d40321010b20014101762103024002402001410171220b0d000240200320054b0d0020042802cc0320036a21144100210c0c020b2003200541dce4cd8000109281808000000b200320054f0d0520042802cc032201200341016a220d6a2114200120036a2d0000410f71210c200d21030b200520036b210d200841017420026b220241017641046a2101024002400240024020094102460d0020094101460d0241002108024020014100480d004100211541002d008083d480001a200141002802f482d480001182808080000022080d02410121080b2008200141f8a3c6800010b980808000000b410021080240024020014100480d004100211541002d008083d480001a200141002802f482d480001182808080000022080d01410121080b2008200141f8a3c6800010b980808000000b2008417e6a41003b0000200441003602c804200420083602c404200420013602c0042004200236029004200441013b018c042004418c046a200441c0046a10c08f80800002400240200b0d0020052003460d0120142d0000210c410121150b024020042802c804220120042802c004470d00200441c0046a200141014101410110a3868080000b20042802c404220820016a200c3a00002004200141016a22013602c8042015200d4f0d00201420156a2102200520156b20036b2103034020022d000021050240200120042802c004470d00200441c0046a200141014101410110a38680800020042802c40421080b200820016a20053a00002004200141016a22013602c804200241016a21022003417f6a22030d000b0b200441d8036a41086a200441c0046a41086a280200360200200420042902c0043703d8030c020b2008417e6a41003b0000200441003602c804200420083602c404200420013602c004200420023602900420044181023b018c042004418c046a200441c0046a10c08f80800002400240200b0d0020052003460d0120142d0000210c410121150b024020042802c804220120042802c004470d00200441c0046a200141014101410110a3868080000b20042802c404220820016a200c3a00002004200141016a22013602c8042015200d4f0d00201420156a2102200520156b20036b2103034020022d000021050240200120042802c004470d00200441c0046a200141014101410110a38680800020042802c40421080b200820016a20053a00002004200141016a22013602c804200241016a21022003417f6a22030d000b0b200441d8036a41086a200441c0046a41086a280200360200200420042902c0043703d8030c010b410021080240024020014100480d004100211541002d008083d480001a200141002802f482d480001182808080000022080d01410121080b2008200141f8a3c6800010b980808000000b2008417e6a41003b0000200441003602c804200420083602c404200420013602c004200441033a008c0420042002360290042004418c046a200441c0046a10c08f80800002400240200b0d0020052003460d0120142d0000210c410121150b024020042802c804220120042802c004470d00200441c0046a200141014101410110a3868080000b20042802c404220820016a200c3a00002004200141016a22013602c8042015200d4f0d00201420156a2102200520156b20036b2103034020022d000021050240200120042802c004470d00200441c0046a200141014101410110a38680800020042802c40421080b200820016a20053a00002004200141016a22013602c804200241016a21022003417f6a22030d000b0b200441d8036a41086a200441c0046a41086a280200360200200420042902c0043703d8030b024020042802e003221620042802d803470d00200441d8036a41fcafc6800010b8808080000b20042802dc0320166a41003a00002004201641016a22013602e0030240200120042802d803470d00200441d8036a41fcafc6800010b8808080000b20042802dc0320016a41003a00002004201641026a22173602e00320094102460d062013422088a721012017210220094101710d052004200136028c0420042004418c046a3602c004200441c0046a200441d8036a10dc8480800020042802e00321020c050b200220034194acc68000108281808000000b2001200341ece4cd8000108281808000000b410141014194adc6800010b980808000000b2001200341ece4cd8000108281808000000b2003200541ece4cd8000108281808000000b2013a721030240200120042802d80320026b4d0d00200441d8036a200220014101410110a38680800020042802e00321020b20042802dc0320026a2003200110f4978080001a200420042802e00320016a3602e0030b2004418c046a41086a210c2004418c046a410172211441002109200441c0046a410172220d411f6a21184101210841002105410021030240024002400340201120036a22012d00002102200141023a000020024103460d014100210b024020024102460d002018200141206a280000360000200d41186a200141196a290000370000200d41106a200141116a290000370000200d41086a200141096a290000370000200d200141016a290000370000200420042802c0023602bc04200420042802c80220042802ec022201200141284b22011b3602b804200420042802c402201220011b3602b404200420053a00e904200441013a00e804200420023a00c0042004200441b4046a3602e4042004418c046a20044198036a200441c0046a200441b4046a4101200510f88980800020044188046a41026a2219201441026a2d00003a0000200441e8036a41086a2201200c41086a290200370300200441e8036a41106a2202200c41106a290200370300200441e8036a41186a2215200c41186a290200370300200420142f00003b0188042004200c2902003703e803024020042d008c04221a417e6a0e020104000b200428029004210b02400240201a410171450d00200441c0046a41186a2015290300370300200441c0046a41106a2002290300370300200441c0046a41086a2001290300370300200420042903e8033703c004200b41214f0d0a2004200b3602b4042004200441b4046a36028c042004418c046a200441d8036a10dc848080000240200b20042802d80320042802e00322016b4d0d00200441d8036a2001200b10f49180800020042802e00321010b20042802dc0320016a200441c0046a200b10f4978080001a20042001200b6a3602e0030c010b2004412036028c0420042004418c046a3602c004200441c0046a200441d8036a10dc84808000024020042802d80320042802e003221b6b411f4b0d00200441d8036a201b412010f49180800020042802e003211b0b20042802dc03201b6a221a20042903e803370007201a20042f0188043b0000201a41026a20192d00003a0000201a200b360003201a410f6a2001290300370000201a41176a2002290300370000201a411f6a20152d00003a00002004201b41206a3602e0030b2008210b0b200541016a210520084101742108200b2009722109200341246a220341c004470d000b20094180fe037141087621010c020b20094180fe037141087621010c010b20094180fe037141087621010b0240201720042802e00322024d0d002017200241ecafc68000109181808000000b20042802dc0320166a2001410874200941ff0171723b000020044190026a41086a200441d8036a41086a280200360200200420042903d80337039002024020042d00a00322014103460d0002400240024020010e020103000b20042802c403220120012802002201417f6a36020020014101470d02200441c4036a21010c010b20042802a403220120012802002201417f6a36020020014101470d01200441a4036a21010b200110f0978080000b20112011417e6a2f00006b41002802ec82d480001181808080000020042802ec024129490d0020042802c40222012001417e6a2f00006b41002802ec82d48000118180808000000b024002402004280298022201411f4b0d00200441f8026a41186a22034200370300200441f8026a41106a2205420037030020044180036a22084200370300200442003703f802200441f8026a2004280294022202200110f4978080001a20002001360204200041013a0000200041206a2003290300370000200041186a2005290300370000200041106a2008290300370000200020042903f8023700080240200428029002450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b2006450d0120104129490d01200f200f417e6a2f00006b41002802ec82d48000118180808000000c010b20042802082202280254210820022802502109200428020c220228022c220541017621030240024020054101710d002003200228020420022802282205200541284b22051b220b4b0d062002280200200220051b2102410021050c010b2003200228020420022802282205200541284b1b220b4b0d062003200b4f0d07200420022802002002200541284b1b220220036a2d000041f001713a00c902410121050b200420053a00c802200420033602c402200420023602c002200441a0026a2009200441c0026a20042802940222022001200828021c1187808080000020042802082103200441d4026a200441f0016a41086a290300370200200441dc026a200441f0016a41106a290300370200200441e4026a200441f0016a41186a2903003702002004200e3602c8022004200f3602c402200420073602c002200420042903f0013702cc022004200a3602f002200420103602ec02200441c0046a41186a200441a0026a41186a2205290000370300200441c0046a41106a200441a0026a41106a2208290000370300200441c0046a41086a200441a0026a41086a2209290000370300200420042900a0023703c0042003200441c0046a20022001200441c0026a10fd89808000200041196a2005290000370000200041116a2008290000370000200041096a2009290000370000200020042900a002370001200041003a0000200428029002450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20042d00104108460d010b200441106a10d8898080000b200441f0046a2480808080000f0b200b4120418cb0c68000109181808000000b2003200b41b4e7cd8000109181808000000b2003200b41c4e7cd8000109181808000000b2003200b41d4e7cd8000108281808000000b830502047f017e23808080800041206b2204248080808000200241017641046a210502400240024020032802000d0041002106024020054100480d0041002d008083d480001a200541002802f482d480001182808080000022060d02410121060b2006200541f8a3c6800010b980808000000b410021060240024020054100480d0041002d008083d480001a200541002802f482d480001182808080000022060d01410121060b2006200541f8a3c6800010b980808000000b2006417e6a41003b0000200441146a41086a220741003602002004200636021820042005360214200441043a0000200420023602042004200441146a10c08f808000200441146a20014188a4c6800010c18f808000200441086a20072802002205360200200420042902142208370300200328020421020240200328020822032008a720056b4d0d002004200520034101410110a386808000200428020821050b200428020420056a2002200310f4978080001a2004200520036a3602080c010b2006417e6a41003b0000200441146a41086a220741003602002004200636021820042005360214200441023a0000200420023602042004200441146a10c08f808000200441146a20014188a4c6800010c18f808000200441086a2202200728020036020020042004290214370300200328020421012004200328020822053602102004200441106a360214200441146a200410dc84808000024020052004280200200228020022036b4d0d002004200320054101410110a386808000200428020821030b200428020420036a2001200510f4978080001a2004200428020820056a3602080b20002004290300370200200041086a200441086a280200360200200441206a2480808080000b2c01017f2000200128020420012802282202200241284b22021b36020420002001280200200120021b3602000b4a01017f23808080800041206b22002480808080002000410136020820004194afc680003602042000420037021020002000411c6a36020c200041046a419cafc6800010fe80808000000bbb33030f7f017e087f23808080800041f0046b22042480808080002004200336020c2004200136020802400240024002400240024020022d00004101470d00200041003a000020002002290001370001200041196a200241196a290000370000200041116a200241116a290000370000200041096a200241096a2900003700000c010b20022802042102024020012802282205200128021c2203470d002001411c6a4184acc6800010948f808000200128021c2103200128022821050b2001280220200128022420056a22054100200320052003491b6b4102746a20023602002001200128022841016a3602280240024002400240024002400240024002402002200128021822034f0d00200441106a200128021420024107746a220141800110f4978080001a200141043a0004200141083a0000024020042d00104108460d00200041003a000020002001290060370001200041196a200141f8006a290000370000200041116a200141f0006a290000370000200041096a200141e8006a2900003700000c090b20044190016a200441106a41046a41e00010f4978080001a02400240200428020828026822060d00410021070c010b200441c0016a2102200428020c2101200441c0046a41286a22034100360200200441c0046a200128020020012001280228220541284b22081b220920092001280204200520081b6a10cd89808000200441c0026a41086a200441c0046a41086a290200370300200441c0026a41106a2205200441c0046a41106a290200370300200441c0026a41186a2208200441c0046a41186a290200370300200441c0026a41206a2209200441c0046a41206a290200370300200441c0026a41286a2003280200360200200420042902c0043703c0022004200128022c220a3602ec0202400240024020042d009001417c6a41ff01712201410420014104491b0e050201000201020b200441b8016a21020b2002280204200241046a200228022c220141284b22031b210b2002280208200120031b21032002280200220241017621010240024020024101710d004100210c0240200120034b0d004100210d200121020c020b2001200341dce4cd8000109281808000000b200120034f0d044101210c200141016a2102200b20016a2d0000410f71210d0b2004200d3a00a1032004200c3a00a0032004200320026b3602a8032004200b20026a3602a403200441c0026a200441a0036a10ec9780800020042802ec02210a0b200441f0016a41086a2005290300370300200441f0016a41106a2008290300370300200441f0016a41186a2009290300370300200420042903c8023703f00120042802c402210e20042802c002210f20042802e8022110410121070b20042d009001210320042802b801210820042802bc01211120042802c00121022004200441086a36029c0320042004410c6a36029803200441c4016a210102400240024002400240024002402003417c6a41ff01712205410420054104491b0e050001020403000b41002d008083d480001a410141002802f482d48000118280808000002201450d08200141003a00002001417e6a41003b00002004410136029802200420013602940220044101360290020c0d0b200441c0026a410c6a200141086a290200370200200441c0026a41146a200141106a290200370200200441c0026a411c6a200141186a290200370200200441c0026a41246a200141206a290200370200200441ec026a2203200141286a280200360200200420023602c002200420012902003702c402200441c0046a41206a20044190016a41246a280200360200200441c0046a41186a20044190016a411c6a290200370300200441c0046a41106a20044190016a41146a290200370300200441c0046a41086a20044190016a410c6a29020037030020042004290294013703c004200420113602e804200420083602e404200420023602bc04200420042802c80220032802002201200141284b22011b22083602b804200420042802c402200441c0026a41046a20011b3602b4042004418c046a200441c0046a200441b4046a20044198036a10f98980800020042802bc042205410176210120042802b80421030240024020054101710d000240200120034b0d0020042802b40420016a2105410021094100210b0c020b2001200341dce4cd8000109281808000000b200120034f0d094101210920042802b404220b200141016a220c6a2105200b20016a2d0000410f71210b200c21010b2004200b3a00ad03200420093a00ac03200441003602a803200420053602a0032004200320016b3602a40320044190026a200441a0036a200841017420026b2004418c046a10828a808000024002400240024020042d00c0040e020103000b20042802e404220120012802002201417f6a36020020014101470d02200441c0046a41246a21010c010b20042802c404220120012802002201417f6a36020020014101470d01200441c0046a41047221010b200110f0978080000b20042802ec024129490d0c20042802c40222012001417e6a2f00006b41002802ec82d48000118180808000000c0c0b200441c0026a41146a200141086a290200370200200441c0026a411c6a200141106a290200370200200441c0026a41246a200141186a290200370200200441ec026a200141206a280200360200200420023602c802200420113602c402200420083602c002200420012902003702cc02200441c0046a41206a20044190016a41246a280200360200200441c0046a41186a20044190016a411c6a290200370300200441c0046a41106a20044190016a41146a290200370300200441c0046a41086a2004419c016a29020037030020042004290294013703c0042004200441c0026a41046a10838a808000200420083602bc04200420042903003702b4042004418c046a200441b4046a10e797808000200441003a00e8042004200441b4046a3602e404200441a0036a20044198036a200441c0046a200441b4046a4100200410fa89808000200441013602c40420044194afc680003602c004200442003702cc042004200441d8036a3602c804200441c0046a41dcafc6800010fe80808000000b200441cc026a200141086a290200370200200441d4026a200141106a290200370200200441dc026a200141186a290200370200200441e4026a200141206a290200370200200441ec026a2205200141286a280200360200200420023602c002200420012902003702c402200441a0036a41096a20044190016a41096a290000370000200441a0036a41116a20044190016a41116a290000370000200441a0036a41196a20044190016a41196a290000370000200441a0036a41206a20044190016a41206a29000037000020042004290091013700a103200420083602c803200420033a00a003200420023602d403200420042802c80220052802002201200141284b22011b22083602d003200420042802c402200441c0026a41046a221220011b3602cc03200341ff01714103470d014102210920082105200221010c020b200441e0026a200441b4016a280200360200200441d8026a200441ac016a290200370300200441d0026a200441a4016a290200370300200441c8026a2004419c016a290200370300200420042902940122133703c002200420113602e802200420083602e40202402013a741ff01714103460d00200441c0046a200441c0026a410020044198036a10f9898080000b10848a808000000b200441c0046a200441a0036a200441cc036a20044198036a10f98980800020042902c404211320042802c004210920042802d003210520042802d40321010b20014101762103024002402001410171220b0d000240200320054b0d0020042802cc0320036a21144100210c0c020b2003200541dce4cd8000109281808000000b200320054f0d0520042802cc032201200341016a220d6a2114200120036a2d0000410f71210c200d21030b200520036b210d200841017420026b220241017641046a2101024002400240024020094102460d0020094101460d0241002108024020014100480d004100211541002d008083d480001a200141002802f482d480001182808080000022080d02410121080b2008200141f8a3c6800010b980808000000b410021080240024020014100480d004100211541002d008083d480001a200141002802f482d480001182808080000022080d01410121080b2008200141f8a3c6800010b980808000000b2008417e6a41003b0000200441003602c804200420083602c404200420013602c0042004200236029004200441013b018c042004418c046a200441c0046a10c08f80800002400240200b0d0020052003460d0120142d0000210c410121150b024020042802c804220120042802c004470d00200441c0046a200141014101410110a3868080000b20042802c404220820016a200c3a00002004200141016a22013602c8042015200d4f0d00201420156a2102200520156b20036b2103034020022d000021050240200120042802c004470d00200441c0046a200141014101410110a38680800020042802c40421080b200820016a20053a00002004200141016a22013602c804200241016a21022003417f6a22030d000b0b200441d8036a41086a200441c0046a41086a280200360200200420042902c0043703d8030c020b2008417e6a41003b0000200441003602c804200420083602c404200420013602c004200420023602900420044181023b018c042004418c046a200441c0046a10c08f80800002400240200b0d0020052003460d0120142d0000210c410121150b024020042802c804220120042802c004470d00200441c0046a200141014101410110a3868080000b20042802c404220820016a200c3a00002004200141016a22013602c8042015200d4f0d00201420156a2102200520156b20036b2103034020022d000021050240200120042802c004470d00200441c0046a200141014101410110a38680800020042802c40421080b200820016a20053a00002004200141016a22013602c804200241016a21022003417f6a22030d000b0b200441d8036a41086a200441c0046a41086a280200360200200420042902c0043703d8030c010b410021080240024020014100480d004100211541002d008083d480001a200141002802f482d480001182808080000022080d01410121080b2008200141f8a3c6800010b980808000000b2008417e6a41003b0000200441003602c804200420083602c404200420013602c004200441033a008c0420042002360290042004418c046a200441c0046a10c08f80800002400240200b0d0020052003460d0120142d0000210c410121150b024020042802c804220120042802c004470d00200441c0046a200141014101410110a3868080000b20042802c404220820016a200c3a00002004200141016a22013602c8042015200d4f0d00201420156a2102200520156b20036b2103034020022d000021050240200120042802c004470d00200441c0046a200141014101410110a38680800020042802c40421080b200820016a20053a00002004200141016a22013602c804200241016a21022003417f6a22030d000b0b200441d8036a41086a200441c0046a41086a280200360200200420042902c0043703d8030b024020042802e003221620042802d803470d00200441d8036a41fcafc6800010b8808080000b20042802dc0320166a41003a00002004201641016a22013602e0030240200120042802d803470d00200441d8036a41fcafc6800010b8808080000b20042802dc0320016a41003a00002004201641026a22173602e00320094102460d062013422088a721012017210220094101710d052004200136028c0420042004418c046a3602c004200441c0046a200441d8036a10dc8480800020042802e00321020c050b200220034194acc68000108281808000000b2001200341ece4cd8000108281808000000b410141014194adc6800010b980808000000b2001200341ece4cd8000108281808000000b2003200541ece4cd8000108281808000000b2013a721030240200120042802d80320026b4d0d00200441d8036a200220014101410110a38680800020042802e00321020b20042802dc0320026a2003200110f4978080001a200420042802e00320016a3602e0030b2004418c046a41086a210c2004418c046a410172211441002109200441c0046a410172220d411f6a21184101210841002105410021030240024002400340201120036a22012d00002102200141023a000020024103460d014100210b024020024102460d002018200141206a280000360000200d41186a200141196a290000370000200d41106a200141116a290000370000200d41086a200141096a290000370000200d200141016a290000370000200420042802c0023602bc04200420042802c80220042802ec022201200141284b22011b3602b804200420042802c402201220011b3602b404200420053a00e904200441013a00e804200420023a00c0042004200441b4046a3602e4042004418c046a20044198036a200441c0046a200441b4046a4101200510fa8980800020044188046a41026a2219201441026a2d00003a0000200441e8036a41086a2201200c41086a290200370300200441e8036a41106a2202200c41106a290200370300200441e8036a41186a2215200c41186a290200370300200420142f00003b0188042004200c2902003703e803024020042d008c04221a417e6a0e020104000b200428029004210b02400240201a410171450d00200441c0046a41186a2015290300370300200441c0046a41106a2002290300370300200441c0046a41086a2001290300370300200420042903e8033703c004200b41214f0d0a2004200b3602b4042004200441b4046a36028c042004418c046a200441d8036a10dc848080000240200b20042802d80320042802e00322016b4d0d00200441d8036a2001200b10f49180800020042802e00321010b20042802dc0320016a200441c0046a200b10f4978080001a20042001200b6a3602e0030c010b2004412036028c0420042004418c046a3602c004200441c0046a200441d8036a10dc84808000024020042802d80320042802e003221b6b411f4b0d00200441d8036a201b412010f49180800020042802e003211b0b20042802dc03201b6a221a20042903e803370007201a20042f0188043b0000201a41026a20192d00003a0000201a200b360003201a410f6a2001290300370000201a41176a2002290300370000201a411f6a20152d00003a00002004201b41206a3602e0030b2008210b0b200541016a210520084101742108200b2009722109200341246a220341c004470d000b20094180fe037141087621010c020b20094180fe037141087621010c010b20094180fe037141087621010b0240201720042802e00322024d0d002017200241ecafc68000109181808000000b20042802dc0320166a2001410874200941ff0171723b000020044190026a41086a200441d8036a41086a280200360200200420042903d80337039002024020042d00a00322014103460d0002400240024020010e020103000b20042802c403220120012802002201417f6a36020020014101470d02200441c4036a21010c010b20042802a403220120012802002201417f6a36020020014101470d01200441a4036a21010b200110f0978080000b20112011417e6a2f00006b41002802ec82d480001181808080000020042802ec024129490d0020042802c40222012001417e6a2f00006b41002802ec82d48000118180808000000b024002402004280298022201411f4b0d00200441f8026a41186a22034200370300200441f8026a41106a2205420037030020044180036a22084200370300200442003703f802200441f8026a2004280294022202200110f4978080001a20002001360204200041013a0000200041206a2003290300370000200041186a2005290300370000200041106a2008290300370000200020042903f8023700080240200428029002450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b2006450d0120104129490d01200f200f417e6a2f00006b41002802ec82d48000118180808000000c010b20042802082202280254210820022802502109200428020c220228022c220541017621030240024020054101710d002003200228020420022802282205200541284b22051b220b4b0d062002280200200220051b2102410021050c010b2003200228020420022802282205200541284b1b220b4b0d062003200b4f0d07200420022802002002200541284b1b220220036a2d000041f001713a00c902410121050b200420053a00c802200420033602c402200420023602c002200441a0026a2009200441c0026a20042802940222022001200828021c1187808080000020042802082103200441d4026a200441f0016a41086a290300370200200441dc026a200441f0016a41106a290300370200200441e4026a200441f0016a41186a2903003702002004200e3602c8022004200f3602c402200420073602c002200420042903f0013702cc022004200a3602f002200420103602ec02200441c0046a41186a200441a0026a41186a2205290000370300200441c0046a41106a200441a0026a41106a2208290000370300200441c0046a41086a200441a0026a41086a2209290000370300200420042900a0023703c0042003200441c0046a20022001200441c0026a10fb89808000200041196a2005290000370000200041116a2008290000370000200041096a2009290000370000200020042900a002370001200041003a0000200428029002450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20042d00104108460d010b200441106a10d8898080000b200441f0046a2480808080000f0b200b4120418cb0c68000109181808000000b2003200b41b4e7cd8000109181808000000b2003200b41c4e7cd8000109181808000000b2003200b41d4e7cd8000108281808000000b976903087f027e037f23808080800041a0096b2207248080808000200741086a200341086a28020036020020072003290200370300024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020022d0000417c6a41ff01712208410420084104491b0e050001020304000b200728020822084101762202200728020422014b0d0441002103200741e4056a41286a22094100360200200741e4056a2007280200220620026a200620016a10d797808000200741f0086a41286a2009280200360200200741f0086a41206a200741e4056a41206a290200370300200741f0086a41186a200741e4056a41186a290200370300200741f0086a41106a200741e4056a41106a290200370300200741f0086a41086a200741e4056a41086a290200370300200720072902e4053703f00820084101712109200541204b410174210a41052108410021012005210b200421024100210c0c250b200741e8026a41286a200241d8006a290200370300200741e8026a41206a200241d0006a290200370300200741e8026a41186a200241c8006a290200370300200741e8026a41106a200241c0006a290200370300200741e8026a41086a2208200241386a290200370300200720022902303703e802200741a0016a41286a2002412c6a280200360200200741a0016a41206a200241246a290200370300200741a0016a41186a2002411c6a290200370300200741a0016a41106a200241146a290200370300200741a0016a41086a2002410c6a290200370300200720022902043703a001200720072802e8023602d401200720082802002007280294032208200841284b22081b3602d001200720072802ec02200741e8026a410472220d20081b3602cc01200241046a21082007200741cc016a10e697808000210920072802cc01210e200920072802d001220c41017420072802d401220a6b2202460d160c170b200741e8026a41286a200241d0006a29020037030020074188036a200241c8006a29020037030020074180036a200241c0006a290200370300200741f8026a200241386a290200370300200741e8026a41086a200241306a290200220f3703002007200229022822103703e80220022d0004210a2002280208210e200720103e02a8012007200fa72007280294032208200841284b22081b3602a401200720072802ec02200741e8026a41047220081b3602a001200241046a21090240024002402007200741a0016a10e697808000220c450d00200c20072802a401220241017420072802a80122086b470d0120032003280208200c6a36020820074180056a20012009200320042005200610878a808000200728028005210220072d00840522034102470d02200221080c170b20072802a401220d410174221120072802a801220c460d15024002400240200c4101762208200d4f0d0020072802a001221220086a2d0000210b41002d008083d480001a024041c00441002802f482d48000118280808000002208450d002008200841036a417c7120086b22136a220841023a009c04200841023a00f803200841023a00d403200841023a00b003200841023a008c03200841023a00e802200841023a00c402200841023a00a002200841023a00fc01200841023a00d801200841023a00b401200841023a009001200841023a006c200841023a0048200841023a0024200841023a00002008417e6a20133b00002011200c6b4101470d02200741c0036a41026a200241076a2d00003a000020074188056a200241146a29020037030020074190056a2002411c6a29020037030020074198056a200241246a280200360200200720022f00053b01c0032007200229020c370380050c030b410441c00410ab80808000000b2008200d419ca9c68000108281808000000b200c41016a220e4101762202200d4b0d062007410036029007200741e8066a201220026a2012200d6a10d797808000200741bc036a200941206a280000360000200741b4036a200941186a290000370000200741ac036a200941106a290000370000200741a4036a200941086a2900003700002007200929000037009c03200e41017121090240024020012802282202450d0020012002417f6a36022820012001280224220241016a220e4100200128021c220a200e200a491b6b3602240240200128022020024102746a280200220e200128021822024f0d002001280214200e4107746a220220022d00004108464102746a10d889808000200241063a0004200241083a00002002200936022c20022007290099033700052002410d6a20074199036a41086a290000370000200241156a20074199036a41106a2900003700002002411d6a20074199036a41186a290000370000200241246a200741b8036a290000370000200220072902e806370230200241386a200741e8066a41086a290200370200200241c0006a200741e8066a41106a290200370200200241c8006a200741e8066a41186a290200370200200241d0006a20074188076a290200370200200241d8006a20074190076a2802003602000c020b200e200241e4abc68000108281808000000b02402001280218220e2001280210470d00200141106a41f4abc680001092868080000b2001280214200e4107746a220241063a0004200241083a000020022007290099033700052002200936022c200220072902e8063702302002410d6a20074199036a41086a290000370000200241156a20074199036a41106a2900003700002002411d6a20074199036a41186a290000370000200241246a200741b8036a290000370000200241386a200741e8066a41086a290200370200200241c0006a200741e8066a41106a290200370200200241c8006a200741e8066a41186a290200370200200241d0006a20074188076a290200370200200241d8006a20074190076a2802003602002001200e41016a3602180b4100210a0b2008200b410f71200b410476200c4101711b41246c6a2202200a3a0000200220072f01c0033b00012002200e3602042002200729038005370208200241036a200741c0036a41026a2d00003a0000200241106a20074180056a41086a290300370200200241186a20074180056a41106a290300370200200241206a20074180056a41186a280200360200200741033a00c403200720083602f003200741073a00c00320074180056a2001200741c0036a200320042005200610868a80800020072802840521082007280280054102460d16200741106a41086a2007419c056a290200370300200741106a41106a20074180056a41246a280200360200200741f0086a41086a200741c0056a290200370300200741f0086a41106a200741c8056a290200370300200741f0086a41186a200741d0056a290200370300200741f0086a41206a200741d8056a29020037030020074198096a200741e0056a2802003602002007200729029405370310200720072902b8053703f0082008411076210d2008410876210e20072f0089052007418b056a2d0000411074722103200728029005210b200728028c05210220072d008805210a20072802a805210120072802ac05210420072802b005210520072802b40521090c130b2008200c6a220a410176220e20024b0d0520072802a0012108200741a8056a220d410036020020074180056a2008200e6a200820026a10d797808000200741f4046a200d280200360200200741ec046a20074180056a41206a290200370200200741e4046a20074180056a41186a290200370200200741dc046a20074180056a41106a290200370200200741d4046a20074180056a41086a220229020037020020072007290280053702cc04200741ac046a200941086a290200370200200741b4046a200941106a290200370200200741bc046a200941186a290200370200200741c4046a200941206a28020036020020032003280208200c6a3602082007200a4101713602c804200720092902003702a404200741063a00a00420074180056a2001200741a0046a200320042005200610868a80800020072802840521082007280280054102460d15200741c0036a200241dc0010f4978080001a20074180056a200741a0016a200c10e5978080000240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c220520032005491b6b3602240240200128022020024102746a2802002202200128021822034f0d00200128021420024107746a220320032d00004108464102746a10d88980800020032008360204200341083a0000200341086a200741c0036a41dc0010f4978080001a0c020b2002200341e4abc68000108281808000000b0240200128021822022001280210470d00200141106a41f4abc680001092868080000b200128021420024107746a22032008360204200341083a0000200341086a200741c0036a41dc0010f4978080001a2001200241016a3602180b200741f8086a20074194056a29020037030020074180096a2007419c056a29020037030020074188096a200741a4056a29020037030020074190096a200741ac056a2802003602002007200729028c053703f0082007280280052104200728028405210520072802880521094100210a410621080c120b20072802a8012208410176220120072802a40122044b0d0520072802a00121054100210a200741a8056a2209410036020020074180056a200520016a200520046a10d797808000200741f8086a20074180056a41106a290200370300200741f0086a41106a20074180056a41186a290200370300200741f0086a41186a20074180056a41206a290200370300200741f0086a41206a200928020036020020072007290288053703f0082003410173210c2008410171210420072802840521092007280280052105410621080c120b20022802302109200741c0036a41286a2002412c6a280200360200200741c0036a41206a200241246a290200370300200741d8036a2002411c6a290200370300200741d0036a200241146a290200370300200741c0036a41086a2002410c6a290200370300200720022902043703c003200241046a210e0240024002400240024002400240024002400240024002402007280204220c41017420072802082208460d002008410176220a200c4f0d012007280200200a6a2d0000210c2003200328020841016a3602082009200c410f71200c41047620084101711b41246c6a22082d0000210c200841023a0000200c4102460d02200741286a41096a200841096a290000370000200741286a41116a200841116a290000370000200741286a41196a200841196a290000370000200741286a41206a200841206a2800003600002007200c3a00282007200829000137002920074180056a2001200741286a200320042005200610878a808000200728028005210320072d00840522054102470d07200041023602002000200336020420072d00c00322004103460d0620000e020406030b200720053602a805200720043602a405200720053602880520072004360284054100210c200741003a0081052007200541204b410174220a3a00800520072d00c0034103460d1a200741c0036a20074180056a10e589808000210c0c1a0b200a200c419ca9c68000108281808000000b2003280208220e41017622062003280204220c4b0d0e200541204b410174210a200741003602bc0720074194076a2003280200220320066a2003200c6a10d797808000200e410171210c20012802282203450d0620012003417f6a36022820012001280224220341016a22064100200128021c220e2006200e491b6b360224200128022020034102746a2802002206200128021822034f0d05200128021420064107746a220320032d00004108464102746a10d8898080002003200c360234200320053602302003200436022c200320053602102003200436020c200341003a00092003200a3a0008200341053a0004200341083a00002003200729029407370238200341c0006a20074194076a41086a290200370200200341c8006a200741a4076a290200370200200341d0006a200741ac076a290200370200200341d8006a200741b4076a290200370200200341e0006a200741bc076a2802003602000c070b20072802e403220020002802002200417f6a36020020004101470d02200741e4036a21000c010b20072802c403220020002802002200417f6a36020020004101470d01200741c0036a41047221000b200010f0978080000b20092009417e6a2f01006b41002802ec82d48000118180808000000c280b20082003360204200841003a000020054101710d03200741d8006a200e41086a290000370000200741e0006a200e41106a290000370000200741e8006a200e41186a290000370000200741f0006a200e41206a290000370000200741f8006a200e41286a280000360000200041073a0004200041013602002007200e2900003700502000200729004d3700052000410d6a200741cd006a41086a290000370000200041156a200741cd006a41106a2900003700002000411d6a200741cd006a41186a290000370000200041256a200741cd006a41206a2900003700002000412c6a200741f4006a290000370000200020093602340c270b2006200341e4abc68000108281808000000b0240200128021822062001280210470d00200141106a41f4abc680001092868080000b200128021420064107746a2203200c360234200320053602302003200436022c200320053602102003200436020c200341003a00092003200a3a0008200341053a0004200341083a00002003200729029407370238200341c0006a20074194076a41086a290200370200200341c8006a200741a4076a290200370200200341d0006a200741ac076a290200370200200341d8006a200741b4076a290200370200200341e0006a200741bc076a2802003602002001200641016a3602180b20082006360204200841003a00000b200741186a200241186a290200370300200741106a41106a200241206a2802003602002007200229021037031020072f00c10320072d00c3034110747221034100210c20072802e803210520072802e403210420072802e003210120072802c803210b20072802c403210220072d00c003210a410721080c220b200741c0036a41286a200241d8006a290200370300200741c0036a41206a200241d0006a290200370300200741c0036a41186a200241c8006a290200370300200741c0036a41106a200241c0006a290200370300200741c0036a41086a2208200241386a290200370300200720022902303703c003200228022c2111200741e8026a41286a200241286a280200360200200741e8026a41206a200241206a290200370300200741e8026a41186a200241186a290200370300200741e8026a41106a200241106a290200370300200741e8026a41086a200241086a290200370300200720022902003703e802200720072802c0033602d4012007200828020020072802ec032208200841284b22081b3602d001200720072802c403200741c0036a41047220081b3602cc012007200741cc016a10e697808000210920072802cc01210a02400240200920072802d001220e41017420072802d401220d6b2208470d002009200728020441017420072802086b460d010b02400240024002400240024002400240024020092008490d00200728020820096a220c41017622082007280204220e4f0d01200728020020086a2d000021082003200920032802086a41016a36020820112008410f712008410476200c4101711b41246c6a22082d00002109200841023a000020094102460d02200741fc006a41096a200841096a290000370000200741fc006a41116a200841116a290000370000200741fc006a41196a200841196a290000370000200741fc006a41206a200841206a280000360000200720093a007c2007200829000137007d20074180056a2001200741fc006a200320042005200610878a808000200728028005210320072d00840522054102470d032000410236020020002003360204200741e8026a10db8980800020112011417e6a2f01006b41002802ec82d48000118180808000000c040b200d200941016a220b6a22064101762203200e4b0d0e200741003602e807200741c0076a200a20036a200a200e6a10d797808000200d20096a220c4101762203200e490d072003200e419ca9c68000108281808000000b2008200e419ca9c68000108281808000000b2003280208220c4101762209200328020422064b0d0d200541204b410174210e2007410036029408200741ec076a2003280200220320096a200320066a10d797808000200c410171210620012802282203450d0320012003417f6a36022820012001280224220341016a22094100200128021c220c2009200c491b6b360224200128022020034102746a2802002209200128021822034f0d02200128021420094107746a220320032d00004108464102746a10d88980800020032006360234200320053602302003200436022c200320053602102003200436020c200341003a00092003200e3a0008200341053a0004200341083a0000200320072902ec07370238200341c0006a200741ec076a41086a290200370200200341c8006a200741fc076a290200370200200341d0006a20074184086a290200370200200341d8006a2007418c086a290200370200200341e0006a20074194086a2802003602000c040b20082003360204200841003a000020054101710d11200041346a200741cc016a10e49780800020002011360230200041013602002000412c6a200241286a280200360200200041246a200241206a2902003702002000411c6a200241186a290200370200200041146a200241106a2902003702002000410c6a200241086a290200370200200020022902003702040b20072802ec034129490d2720072802c40322002000417e6a2f00006b41002802ec82d48000118180808000000c270b2009200341e4abc68000108281808000000b0240200128021822092001280210470d00200141106a41f4abc680001092868080000b200128021420094107746a22032006360234200320053602302003200436022c200320053602102003200436020c200341003a00092003200e3a0008200341053a0004200341083a0000200320072902ec07370238200341c0006a200741ec076a41086a290200370200200341c8006a200741fc076a290200370200200341d0006a20074184086a290200370200200341d8006a2007418c086a290200370200200341e0006a20074194086a2802003602002001200941016a3602180b20082009360204200841003a00000c0d0b200a20036a2d0000210841002d008083d480001a41c00441002802f482d48000118280808000002203450d082006410171210a2003200341036a417c7120036b220e6a220641023a009c04200641023a00f803200641023a00d403200641023a00b003200641023a008c03200641023a00e802200641023a00c402200641023a00a002200641023a00fc01200641023a00d801200641023a00b401200641023a009001200641023a006c200641023a0048200641023a0024200641023a00002006417e6a200e3b0000200741ab056a200241286a280000360000200741a3056a200241206a2900003700002007419b056a200241186a29000037000020074193056a200241106a2900003700002007418b056a200241086a2900003700002007200229000037008305200141106a210d0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c220e2003200e491b6b3602240240200128022020024102746a2802002203200128021822024f0d00200141186a2113200128021420034107746a220220022d00004108464102746a10d889808000200241083a00002002200a360234200220113602302002200729008005370001200241096a20074180056a41086a290000370000200241116a20074180056a41106a290000370000200241196a20074180056a41186a290000370000200241216a20074180056a41206a290000370000200241286a200741a7056a290000370000200220072902c007370238200241c0006a200741c0076a41086a290200370200200241c8006a200741c0076a41106a290200370200200241d0006a200741c0076a41186a290200370200200241d8006a200741c0076a41206a290200370200200241e0006a200741c0076a41286a2802003602000c020b2003200241e4abc68000108281808000000b0240200128021822032001280210470d00200d41f4abc680001092868080000b200141186a2113200128021420034107746a220241083a000020022007290080053700012002200a36023420022011360230200220072902c007370238200241096a20074180056a41086a290000370000200241116a20074180056a41106a290000370000200241196a20074180056a41186a290000370000200241216a20074180056a41206a290000370000200241286a200741a7056a290000370000200241c0006a200741c0076a41086a290200370200200241c8006a200741c0076a41106a290200370200200241d0006a200741c0076a41186a290200370200200241d8006a200741c0076a41206a290200370200200241e0006a200741c0076a41286a2802003602002001200341016a3602180b20062008410f712008410476200c4101711b41246c6a220220033602044100210e200241003a0000200541204b410174210802400240200728020422024101742007280208220c20096a2203470d0020074180056a200741cc016a200910e597808000200741f0086a41086a2007418c056a29020037030020074180096a20074194056a29020037030020074188096a2007419c056a290200370300200741f0086a41206a20074180056a41246a29020037030020074198096a200741ac056a28020036020020072007290284053703f00820044108762103200728028005210920052113200521022004210a0c010b2003410176220e20024f0d0b200c200b6a220b410176220a20024b0d0a2007280200220c200e6a2d0000210e200741003602ec08200741c4086a200c200a6a200c20026a10d797808000200b410171210a0240024020012802282202450d0020012002417f6a36022820012001280224220241016a220c4100200128021c220d200c200d491b6b3602240240200128022020024102746a280200220c200128021822024f0d002001280214200c4107746a220220022d00004108464102746a10d8898080002002200a360234200220053602302002200436022c200220053602102002200436020c200241003a0009200220083a0008200241053a0004200241083a0000200220072902c408370238200241c0006a200741c4086a41086a290200370200200241c8006a200741d4086a290200370200200241d0006a200741dc086a290200370200200241d8006a200741e4086a290200370200200241e0006a200741ec086a2802003602000c020b200c200241e4abc68000108281808000000b02402013280200220c200d280200470d00200d41f4abc680001092868080000b2001280214200c4107746a2202200a360234200220053602302002200436022c200220053602102002200436020c200241003a0009200220083a0008200241053a0004200241083a0000200220072902c408370238200241c0006a200741c4086a41086a290200370200200241c8006a200741d4086a290200370200200241d0006a200741dc086a290200370200200241d8006a200741e4086a290200370200200241e0006a200741ec086a2802003602002001200c41016a3602180b2006200e410f71200e41047620034101711b41246c6a2202200c3602044100210e200241003a000020074180056a200741cc016a200910e597808000200741f8086a2007418c056a29020037030020074180096a20074194056a29020037030020074188096a2007419c056a29020037030020074190096a20074180056a41246a29020037030020074198096a200741ac056a28020036020020072007290284053703f0082007280280052109410321080b4100210c0c0d0b200720053602a805200720043602a405200720053602880520072004360284054100210c200741003a0081052007200541204b41017422083a00800520072d00e8024103460d0a200741e8026a20074180056a10e589808000210c0c0a0b2002200141ece3cd8000109281808000000b2002200d41ece3cd8000109281808000000b200e200241ece3cd8000109281808000000b2001200441ece3cd8000109281808000000b2006200c41ece3cd8000109281808000000b2003200e41ece3cd8000109281808000000b2009200641ece3cd8000109281808000000b410441c00410ab80808000000b200a200241ece3cd8000109281808000000b200e2002419ca9c68000108281808000000b0240024002400240200d410176220b200e4b0d002007410036029809200741f0086a200a200b6a200a200e6a10d797808000200328020820096a220a41017621092003280204210e2003280200210302400240200a4101710d002009200e4b0d03200741003a00a801200720093602a401200720033602a0010c010b2009200e4b0d032009200e4f0d04200741013a00a801200720033602a001200720093602a4012007200320096a2d000041f001713a00a9010b20044108762103200d4101712109200120062002200741a0016a10888a8080004100210e2011210620052113200521022004210a0c050b200b200e41ece3cd8000109281808000000b2009200e41fce4cd8000109181808000000b2009200e418ce5cd8000109181808000000b2009200e419ce5cd8000108281808000000b20072802d4012201410176220320072802d00122054b0d014100210c20074198086a41286a2204410036020020074198086a20072802cc01220820036a200820056a10d797808000200741106a41086a200241186a290200370300200741106a41106a200241206a280200360200200741f0086a41086a20074198086a41086a290200370300200741f0086a41106a20074198086a41106a290200370300200741f0086a41186a20074198086a41186a290200370300200741f0086a41206a20074198086a41206a290200370300200741f0086a41286a20042802003602002007200229021037031020072007290298083703f0082001410171210920072f00ed0220072d00ef024110747221032007280290032113200728028c03210420072802f402210b20072802f002210220072d00ec02210a20072f01ea02210d20072d00e902210e20072d00e8022108201121060b024020072802ec034129490d0020072802c40322052005417e6a2f00006b41002802ec82d48000118180808000000b2004210120062105201321040c140b2003200541ece3cd8000109281808000000b20072d008305210d20072f008105210b2003280208220841017621020240024002400240024020084101710d002002200328020422084b0d02200741003a00f002200720023602ec02200720032802003602e8020c010b2002200328020422084b0d02200220084f0d0320032802002103200741013a00f002200720033602e802200720023602ec022007200320026a2d000041f001713a00f1020b200b200d41107472210320012006200e200741e8026a10888a808000410721082005210b200421020c150b2002200841fce4cd8000109181808000000b20022008418ce5cd8000109181808000000b20022008419ce5cd8000108281808000000b4100210c0b2007280294034129490d1020072802ec0222062006417e6a2f00006b41002802ec82d48000118180808000000c100b41aca9c68000412a41d8a9c68000108081808000000b20004102360200200020083602042007280294034129490d0f20072802ec0222002000417e6a2f00006b41002802ec82d48000118180808000000c0f0b2009200728020441017420072802086b470d00200541204b0d0120074180056a41046a210220074180056a41086a210c4100210e0c020b024020092002490d00200a4101762202200c4b0d03200741003602b80620074190066a200e20026a200e200c6a10d79780800041002d008083d480001a41c00441002802f482d48000118280808000002202450d042002200241036a417c7120026b22096a220241023a009c04200241023a00f803200241023a00d403200241023a00b003200241023a008c03200241023a00e802200241023a00c402200241023a00a002200241023a00fc01200241023a00d801200241023a00b401200241023a009001200241023a006c200241023a0048200241023a0024200241023a00002002417e6a20093b000020074188026a41086a200841086a29020037030020074188026a41106a200841106a29020037030020074188026a41186a200841186a29020037030020074188026a41206a200841206a29020037030020074188026a41286a200841286a2802003602002007200829020037038802200741c4026a20074190066a41086a290200370200200741cc026a20074190066a41106a290200370200200741d4026a20074190066a41186a290200370200200741dc026a20074190066a41206a290200370200200741e4026a20074190066a41286a2802003602002007200a4101713602b802200720023602b40220072007290290063702bc0220074180056a200120074188026a200320042005200610868a80800020072802840521082007280280054102460d0c200741106a41086a2007419c056a290200370300200741106a41106a200741a4056a280200360200200741f0086a41086a200741c0056a290200370300200741f0086a41106a200741c8056a290200370300200741f0086a41186a200741d0056a290200370300200741f0086a41206a200741d8056a290200370300200741f0086a41286a200741e0056a2802003602002007200729029405370310200720072902b8053703f0082008411076210d2008410876210e20072f0089052007418b056a2d0000411074722103200728029005210b200728028c05210220072d008805210a20072802a805210120072802ac05210420072802b005210520072802b40521094100210c0c0b0b41002d008083d480001a41c00441002802f482d48000118280808000002202450d042002200241036a417c7120026b220d6a220241023a009c04200241023a00f803200241023a00d403200241023a00b003200241023a008c03200241023a00e802200241023a00c402200241023a00a002200241023a00fc01200241023a00d801200241023a00b401200241023a009001200241023a006c200241023a0048200241023a0024200241023a00002002417e6a200d3b0000200a20096a220a410176220d200c4f0d06200a41016a2211410176220b200c4b0d05200e200d6a2d0000210d200741003602e406200741bc066a200e200b6a200e200c6a10d79780800020074184026a200841286a280000360000200741fc016a200841206a290000370000200741f4016a200841186a290000370000200741ec016a200841106a290000370000200741e4016a200841086a290000370000200720082900003700dc012011410171210e0240024020012802282208450d0020012008417f6a36022820012001280224220841016a220c4100200128021c220b200c200b491b6b3602240240200128022020084102746a280200220c200128021822084f0d002001280214200c4107746a220820082d00004108464102746a10d889808000200841053a0004200841083a00002008200e360234200820072900d9013700052008410d6a200741d9016a41086a290000370000200841156a200741d9016a41106a2900003700002008411d6a200741d9016a41186a290000370000200841256a200741d9016a41206a2900003700002008412c6a20074180026a290000370000200820072902bc06370238200841c0006a200741bc066a41086a290200370200200841c8006a200741bc066a41106a290200370200200841d0006a200741bc066a41186a290200370200200841d8006a200741bc066a41206a290200370200200841e0006a200741e4066a2802003602000c020b200c200841e4abc68000108281808000000b02402001280218220c2001280210470d00200141106a41f4abc680001092868080000b2001280214200c4107746a220841053a0004200841083a0000200820072900d9013700052008200e360234200820072902bc063702382008410d6a200741d9016a41086a290000370000200841156a200741d9016a41106a2900003700002008411d6a200741d9016a41186a290000370000200841256a200741d9016a41206a2900003700002008412c6a20074180026a290000370000200841c0006a200741bc066a41086a290200370200200841c8006a200741bc066a41106a290200370200200841d0006a200741bc066a41186a290200370200200841d8006a200741bc066a41206a290200370200200841e0006a200741e4066a2802003602002001200c41016a3602180b2002200d410f71200d410476200a4101711b41246c6a2208200c3602044100210c200841003a0000200741f0036a2007200910e597808000200720023602ec03200741033a00c00320074180056a2001200741c0036a200320042005200610868a80800020072802840521082007280280054102460d0b200741106a41086a2007419c056a290200370300200741106a41106a20074180056a41246a280200360200200741f0086a41086a200741c0056a290200370300200741f0086a41106a200741c8056a29020037030020074188096a200741d0056a29020037030020074190096a200741d8056a29020037030020074198096a200741e0056a2802003602002007200729029405370310200720072902b8053703f0082008411076210d2008410876210e20072f0089052007418b056a2d0000411074722103200728029005210b200728028c05210220072d008805210a20072802a805210120072802ac05210420072802b005210520072802b40521090c0a0b20074180056a41246a210220074180056a41286a210c200741003a0081054102210e0b200c2005360200200220043602002007200e3a008005200741a0016a20074180056a10e589808000210c200328020820096a2204410176210220032802042105200328020021030240024020044101710d00200220054b0d07200741003a00c803200720023602c403200720033602c0030c010b200220054b0d07200220054f0d08200741013a00c803200720033602c003200720023602c4032007200320026a2d000041f001713a00c9030b200120062008200741c0036a10888a808000200741003602980920072802e8022109200741f0086a20072802ec02200d200728029403220241284b22031b2205200520072802f002200220031b6a10cd89808000200741186a20074194056a290200370300200741106a41106a2007419c056a2802003602002007200729028c0537031020072f00810520072d008305411074722103200728028805210b200728028405210220072d008005210a20072802a005210120072802a405210420072802a8052105410521080c080b2002200c41ece3cd8000109281808000000b410441c00410ab80808000000b410441c00410ab80808000000b200b200c41ece3cd8000109281808000000b200d200c419ca9c68000108281808000000b2002200541fce4cd8000109181808000000b20022005418ce5cd8000109181808000000b20022005419ce5cd8000108281808000000b2007280294034129490d0120072802ec0222062006417e6a2f00006b41002802ec82d48000118180808000000c010b20004102360200200020083602042007280294034129490d0120072802ec0222002000417e6a2f00006b41002802ec82d48000118180808000000c010b200020033b00092000200b3602102000200236020c2000200a3a00082000200d3b01062000200e3a0005200020083a00042000200c3602002000200729031037021420002009360234200020053602302000200436022c200020013602282000410b6a20034110763a00002000411c6a200741106a41086a290300370200200041246a200741106a41106a280200360200200041e0006a20074198096a280200360200200041d8006a20074190096a290300370200200041d0006a20074188096a290300370200200041c8006a200741f0086a41106a290300370200200041c0006a200741f0086a41086a290300370200200020072903f0083702380b200741a0096a2480808080000bf41606067f017e127f017e017f017e23808080800041f0036b22072480808080002007200536021420072004360210024002400240024002400240024002400240024020022d00004101470d00200741306a200241196a290000370300200741286a200241116a290000370300200741206a200241096a290000370300200720022900013703182003280208220841017621020240024020084101710d002002200328020422084b0d04200741003a00dc01200720023602d801200720032802003602d4010c010b2002200328020422084b0d04200220084f0d0520032802002108200741013a00dc01200720083602d401200720023602d8012007200820026a2d000041f001713a00dd010b200741086a2001200741186a200741d4016a108c8a808000200728020c21022007280208410171450d01200041023a000420002002360200200420042802002201417f6a36020020014101470d09200741106a10f0978080000c090b200228020421020b024020012802282209200128021c2208470d002001411c6a4184acc6800010948f808000200128021c2108200128022821090b2001280220200128022420096a22094100200820092008491b6b4102746a20023602002001200128022841016a3602282002200128021822084f0d03200128021420024107746a22022d00002108200741396a200241016a41df0010f4978080001a200241043a0004200241083a00002002280260210902400240024020084108460d002003280208210a2003280204210b2003280200210c200741d4016a410172200741396a41df0010f4978080001a200741d0016a200241fc006a280000360200200741c8016a200241f4006a290000370300200741b8016a41086a200241ec006a290000370300200720013602b402200720033602b802200720083a00d401200720022900643703b801200741bc026a2001200741d4016a200320042005200610868a80800020072802c002210320072802bc0222024102460d09200729029803210d200728029403210e2007280290032105200728028c0321082007280288032106200728028403210f200728028003211020072802fc02211120072802f802211220072802f402211320072802f002211420072802ec02211520072802e802211620072802e402211720072802e002211820072802dc02211920072802d802211a20072802d402211b20072802d002211c20072802cc02211d20072802c802211e20072802c402211f2002410171450d0120074198016a41186a200741b8016a41186a28020036020020074198016a41106a200741b8016a41106a29030037030020074198016a41086a200741b8016a41086a290300370300200720072903b80137039801200341ff01712102200341807e7121044100210c201e210a201d211e201c211d201b211c201a211b2019211a20182119201721182016211720152116201421152013211420122113201f21032011211220102111200f21102006210f2008210620052108200e21050c020b200741d4016a2007413c6a41dc0010f4978080001a200720033602b802200720093602b002200720013602b402200741bc026a2001200741d4016a200320042005200610868a80800020072802c002210320072802bc0222024102460d082002417f73410171210c200728029c032109200729029403210d2007280290032105200728028c0321082007280288032106200728028403210f200728028003211020072802fc02211120072802f802211220072802f402211320072802f002211420072802ec02211520072802e802211620072802e402211720072802e002211820072802dc02211920072802d802211a20072802d402211b20072802d002211c20072802cc02211d20072802c802211e20072802c402210a41082102410021040c010b200a410176210202400240200a4101710d0002402002200b4b0d00410021040c020b2002200b41fce4cd8000109181808000000b2002200b4b0d062002200b4f0d07200c20026a2d0000417071210a410121040b200d42208821204100210b200741d4016a41286a22214100360200200741d4016a200c200c20026a10d797808000200741dc026a220241286a2021280200360200200241206a200741d4016a41206a290200370200200241186a200741d4016a41186a290200370200200241106a200741d4016a41106a290200370200200241086a200741d4016a41086a290200370200200220072902d401370200200741c8026a200741b8016a41086a290300370200200741d0026a200741b8016a41106a290300370200200741d8026a200741b8016a41186a2802003602002007200a3a008903200720043a008803200720093602bc02200720072903b8013702c00220074189036a2102024002400240200128025c2209450d00200741d4016a20092001280260200741bc026a10d083808000024020072802d401450d0020072802d801210b20072902dc012122200741a4036a200741bc026a41cc0010f4978080001a200741a0036a41026a200241026a2d00003a0000200720022f00003b01a0030c020b2007280284034129490d0220072802dc0222022002417e6a2f00006b41002802ec82d48000118180808000000c020b200741a4036a200741bc026a41cc0010f4978080001a200741a0036a41026a200241026a2d00003a0000200720022f00003b01a0030b2007200141dc006a3602e001200720223702d8012007200b3602d401200741e4016a200741a4036a41cc0010f4978080001a200741b3026a200741a2036a2d00003a0000200720043a00b002200720072f01a0033b00b102200741d4016a109a8d8080001a0b2020a72109200d422086200ead84210d4101210c4108210241002104201f210a0b2002200472210b0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22044100200128021c221f2004201f491b6b3602240240200128022020024102746a2802002204200128021822024f0d00200128021420044107746a220120012d00004108464102746a10d889808000200120093602602001200d37025820012005360254200120083602502001200636024c2001200f36024820012010360244200120113602402001201236023c2001201336023820012014360234200120153602302001201636022c2001201736022820012018360224200120193602202001201a36021c2001201b3602182001201c3602142001201d3602102001201e36020c2001200a360208200120033602042001200b360200200141fc006a200741b0016a280200360200200141f4006a200741a8016a290300370200200141ec006a20074198016a41086a29030037020020012007290398013702640c020b2004200241e4abc68000108281808000000b0240200128021822042001280210470d00200141106a41f4abc680001092868080000b200128021420044107746a220220093602602002200d37025820022005360254200220083602502002200636024c2002200f36024820022010360244200220113602402002201236023c2002201336023820022014360234200220153602302002201636022c2002201736022820022018360224200220193602202002201a36021c2002201b3602182002201c3602142002201d3602102002201e36020c2002200a360208200220033602042002200b360200200241fc006a200741b0016a280200360200200241f4006a200741a8016a290300370200200241ec006a200741a0016a29030037020020022007290398013702642001200441016a3602180b2000200c3a0004200020043602000c070b2002200841fce4cd8000109181808000000b20022008418ce5cd8000109181808000000b20022008419ce5cd8000108281808000000b200220084194acc68000108281808000000b2002200b418ce5cd8000109181808000000b2002200b419ce5cd8000108281808000000b200041023a0004200020033602000b200741f0036a2480808080000bb70602047f017e23808080800041b0026b220424808080800002400240024020022d000022050e0402010002020b4102210520022d00014101470d010b41002106200441d4006a41286a22074100360200200441186a200220056a220541186a290000370300200441106a200541106a290000370300200441086a200541086a29000037030020042005290000370300200441d4006a20032802002205200520032802046a10cd89808000200441286a200441d4006a41086a290200370300200441306a200441d4006a41106a290200370300200441386a200441d4006a41186a290200370300200441c0006a200441f4006a290200370300200441c8006a200728020036020020042004290254370320200420032d00093a004d200420032d000822053a004c200441cd006a210302400240200028025c2207450d00200441d0016a20072000280260200410d083808000024020042802d0010d0020042802484129490d03200428022022032003417e6a2f00006b41002802ec82d48000118180808000000c030b20042802d401210620042902d801210820044184016a200441cc0010f4978080001a20044180016a41026a200341026a2d00003a0000200420032f00003b0180010c010b20044184016a200441cc0010f4978080001a20044180016a41026a200341026a2d00003a0000200420032f00003b0180010b2004200041dc006a3602dc01200420083702d401200420063602d001200441e0016a20044184016a41cc0010f4978080001a200441af026a20044182016a2d00003a0000200420053a00ac02200420042f0180013b00ad02200441d0016a109a8d8080001a0b024020012d000022034103460d0002400240024020030e020103000b2001280224220320032802002203417f6a36020020034101470d02200141246a21030c010b2001280204220320032802002203417f6a36020020034101470d01200141046a21030b200310f0978080000b20012002290200370200200141286a200241286a280200360200200141206a200241206a290200370200200141186a200241186a290200370200200141106a200241106a290200370200200141086a200241086a290200370200200441b0026a2480808080000be36703087f027e037f23808080800041a0096b2207248080808000200741086a200341086a2802003602002007200329020037030002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020022d0000417c6a41ff01712208410420084104491b0e050001020304000b200728020822084101762202200728020422014b0d0441002103200741e4056a41286a22064100360200200741e4056a2007280200220920026a200920016a10d797808000200741f0086a41286a2006280200360200200741f0086a41206a200741e4056a41206a290200370300200741f0086a41186a200741e4056a41186a290200370300200741f0086a41106a200741e4056a41106a290200370300200741f0086a41086a200741e4056a41086a290200370300200720072902e4053703f0082008410171210841052102410021012005210a2004210b4100210c410021090c240b200741e8026a41286a200241d8006a290200370300200741e8026a41206a200241d0006a290200370300200741e8026a41186a200241c8006a290200370300200741e8026a41106a200241c0006a290200370300200741e8026a41086a2208200241386a290200370300200720022902303703e802200741a0016a41286a2002412c6a280200360200200741a0016a41206a200241246a290200370300200741a0016a41186a2002411c6a290200370300200741a0016a41106a200241146a290200370300200741a0016a41086a2002410c6a290200370300200720022902043703a001200720072802e8023602d401200720082802002007280294032208200841284b22081b3602d001200720072802ec02200741e8026a410472220a20081b3602cc01200241046a21082007200741cc016a10e697808000210b20072802cc01210d200b20072802d001220941017420072802d401220e6b2202460d170c180b200741e8026a41286a200241d0006a29020037030020074188036a200241c8006a29020037030020074180036a200241c0006a290200370300200741f8026a200241386a290200370300200741e8026a41086a200241306a290200220f3703002007200229022822103703e80220022d0004210e2002280208210b200720103e02a8012007200fa72007280294032208200841284b22081b3602a401200720072802ec02200741e8026a41047220081b3602a001200241046a21090240024002402007200741a0016a10e6978080002208450d00200820072802a401220241017420072802a801220b6b470d012003200328020820086a36020820074180056a200120092003200420052006108a8a808000200728028005210b20072d00840522024102470d02200b21020c180b20072802a401220a410174221120072802a801220d460d16024002400240200d4101762208200a4f0d0020072802a001221220086a2d0000210c41002d008083d480001a024041c00441002802f482d48000118280808000002208450d002008200841036a417c7120086b22136a220841023a009c04200841023a00f803200841023a00d403200841023a00b003200841023a008c03200841023a00e802200841023a00c402200841023a00a002200841023a00fc01200841023a00d801200841023a00b401200841023a009001200841023a006c200841023a0048200841023a0024200841023a00002008417e6a20133b00002011200d6b4101470d02200741c0036a41026a200241076a2d00003a000020074188056a200241146a29020037030020074190056a2002411c6a29020037030020074198056a200241246a280200360200200720022f00053b01c0032007200229020c370380050c030b410441c00410ab80808000000b2008200a419ca9c68000108281808000000b200d41016a220b4101762202200a4b0d062007410036029007200741e8066a201220026a2012200a6a10d797808000200741bc036a200941206a280000360000200741b4036a200941186a290000370000200741ac036a200941106a290000370000200741a4036a200941086a2900003700002007200929000037009c03200b41017121090240024020012802282202450d0020012002417f6a36022820012001280224220241016a220b4100200128021c220e200b200e491b6b3602240240200128022020024102746a280200220b200128021822024f0d002001280214200b4107746a220220022d00004108464102746a10d889808000200241063a0004200241083a00002002200936022c20022007290099033700052002410d6a20074199036a41086a290000370000200241156a20074199036a41106a2900003700002002411d6a20074199036a41186a290000370000200241246a200741b8036a290000370000200220072902e806370230200241386a200741e8066a41086a290200370200200241c0006a200741e8066a41106a290200370200200241c8006a200741e8066a41186a290200370200200241d0006a20074188076a290200370200200241d8006a20074190076a2802003602000c020b200b200241e4abc68000108281808000000b02402001280218220b2001280210470d00200141106a41f4abc680001092868080000b2001280214200b4107746a220241063a0004200241083a000020022007290099033700052002200936022c200220072902e8063702302002410d6a20074199036a41086a290000370000200241156a20074199036a41106a2900003700002002411d6a20074199036a41186a290000370000200241246a200741b8036a290000370000200241386a200741e8066a41086a290200370200200241c0006a200741e8066a41106a290200370200200241c8006a200741e8066a41186a290200370200200241d0006a20074188076a290200370200200241d8006a20074190076a2802003602002001200b41016a3602180b4100210e0b2008200c410f71200c410476200d4101711b41246c6a2202200e3a0000200220072f01c0033b00012002200b3602042002200729038005370208200241036a200741c0036a41026a2d00003a0000200241106a20074180056a41086a290300370200200241186a20074180056a41106a290300370200200241206a20074180056a41186a280200360200200741033a00c403200720083602f003200741073a00c00320074180056a2001200741c0036a200320042005200610898a80800020072802840521022007280280054102460d17200741106a41086a2007419c056a290200370300200741106a41106a20074180056a41246a280200360200200741f0086a41086a200741c0056a290200370300200741f0086a41106a200741c8056a290200370300200741f0086a41186a200741d0056a290200370300200741f0086a41206a200741d8056a29020037030020074198096a200741e0056a2802003602002007200729029405370310200720072902b8053703f0082002411076210e2002410876210d20072f0089052007418b056a2d0000411074722103200728029005210a200728028c05210b20072d008805210c20072802a805210120072802ac05210420072802b005210520072802b40521080c140b200b20086a220e410176220d20024b0d0520072802a001210b200741a8056a220a410036020020074180056a200b200d6a200b20026a10d797808000200741f4046a200a280200360200200741ec046a20074180056a41206a290200370200200741e4046a20074180056a41186a290200370200200741dc046a20074180056a41106a290200370200200741d4046a20074180056a41086a220b29020037020020072007290280053702cc04200741ac046a200941086a290200370200200741b4046a200941106a290200370200200741bc046a200941186a290200370200200741c4046a200941206a2802003602002003200328020820086a3602082007200e4101713602c804200720092902003702a404200741063a00a00420074180056a2001200741a0046a200320042005200610898a80800020072802840521022007280280054102460d16200741c0036a200b41dc0010f4978080001a20074180056a200741a0016a200810e5978080000240024020012802282203450d0020012003417f6a36022820012001280224220341016a22044100200128021c220520042005491b6b3602240240200128022020034102746a280200220b200128021822034f0d002001280214200b4107746a220320032d00004108464102746a10d88980800020032002360204200341083a0000200341086a200741c0036a41dc0010f4978080001a0c020b200b200341e4abc68000108281808000000b02402001280218220b2001280210470d00200141106a41f4abc680001092868080000b2001280214200b4107746a22032002360204200341083a0000200341086a200741c0036a41dc0010f4978080001a2001200b41016a3602180b200741f8086a20074194056a29020037030020074180096a2007419c056a29020037030020074188096a200741a4056a29020037030020074190096a200741ac056a2802003602002007200729028c053703f0082007280280052104200728028405210520072802880521084100210c410621020c130b20072802a8012205410176220120072802a40122044b0d0520072802a00121034100210c200741a8056a2208410036020020074180056a200320016a200320046a10d797808000200741f8086a20074180056a41106a290200370300200741f0086a41106a20074180056a41186a290200370300200741f0086a41186a20074180056a41206a290200370300200741f0086a41206a200828020036020020072007290288053703f008200241017321092005410171210420072802840521082007280280052105410621020c130b20022802302108200741e8036a2002412c6a280200360200200741e0036a200241246a290200370300200741d8036a2002411c6a290200370300200741d0036a200241146a290200370300200741c0036a41086a2002410c6a290200370300200720022902043703c003200241046a210b024002400240024002400240024002402007280204220d41017420072802082209460d002009410176220e200d4f0d012007280200200e6a2d0000210d2003200328020841016a3602082008200d410f71200d41047620094101711b41246c6a22092d0000210d200941023a0000200d4102460d02200741286a41096a200941096a290000370000200741286a41116a200941116a290000370000200741286a41196a200941196a290000370000200741286a41206a200941206a2800003600002007200d3a00282007200929000137002920074180056a2001200741286a2003200420052006108a8a808000200728028005210320072d00840522014102470d07200041023602002000200336020420072d00c00322004103460d0620000e020406030b200720053602a805200720043602a4052007200536028805200720043602840541002109200741003b01800520072d00c0034103460d17200741c0036a20074180056a10e58980800021090c170b200e200d419ca9c68000108281808000000b2003280208220d41017622062003280204220b4b0d0a200741003602bc0720074194076a2003280200220320066a2003200b6a10d797808000200d410171210b0240024020012802282203450d0020012003417f6a36022820012001280224220341016a22064100200128021c220d2006200d491b6b3602240240200128022020034102746a2802002206200128021822034f0d00200128021420064107746a220320032d00004108464102746a10d8898080002003200b360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a00002003200729029407370238200341c0006a20074194076a41086a290200370200200341c8006a200741a4076a290200370200200341d0006a200741ac076a290200370200200341d8006a200741b4076a290200370200200341e0006a200741bc076a2802003602000c020b2006200341e4abc68000108281808000000b0240200128021822062001280210470d00200141106a41f4abc680001092868080000b200128021420064107746a2203200b360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a00002003200729029407370238200341c0006a20074194076a41086a290200370200200341c8006a200741a4076a290200370200200341d0006a200741ac076a290200370200200341d8006a200741b4076a290200370200200341e0006a200741bc076a2802003602002001200641016a3602180b20092006360204200941003a00000c140b20072802e403220020002802002200417f6a36020020004101470d02200741e4036a21000c010b20072802c403220020002802002200417f6a36020020004101470d01200741c0036a41047221000b200010f0978080000b20082008417e6a2f01006b41002802ec82d48000118180808000000c230b20092003360204200941003a000020014101710d0f200741d8006a200b41086a290000370000200741e0006a200b41106a290000370000200741e8006a200b41186a290000370000200741f0006a200b41206a290000370000200741f8006a200b41286a280000360000200041073a0004200041013602002007200b2900003700502000200729004d3700052000410d6a200741cd006a41086a290000370000200041156a200741cd006a41106a2900003700002000411d6a200741cd006a41186a290000370000200041256a200741cd006a41206a2900003700002000412c6a200741f4006a290000370000200020083602340c220b200741c0036a41286a200241d8006a290200370300200741c0036a41206a200241d0006a290200370300200741c0036a41186a200241c8006a290200370300200741c0036a41106a200241c0006a290200370300200741c0036a41086a2208200241386a290200370300200720022902303703c003200228022c2111200741e8026a41286a200241286a280200360200200741e8026a41206a200241206a290200370300200741e8026a41186a200241186a290200370300200741e8026a41106a200241106a290200370300200741e8026a41086a200241086a290200370300200720022902003703e802200720072802c0033602d4012007200828020020072802ec032208200841284b22081b3602d001200720072802c403200741c0036a41047220081b3602cc012007200741cc016a10e697808000210820072802cc01210d02400240200820072802d001220b41017420072802d401220e6b2209470d002008200728020441017420072802086b460d010b02400240024002400240024020082009490d00200728020820086a220b41017622092007280204220d4f0d01200728020020096a2d000021092003200820032802086a41016a36020820112009410f712009410476200b4101711b41246c6a22082d00002109200841023a000020094102460d02200741fc006a41096a200841096a290000370000200741fc006a41116a200841116a290000370000200741fc006a41196a200841196a290000370000200741fc006a41206a200841206a280000360000200720093a007c2007200829000137007d20074180056a2001200741fc006a2003200420052006108a8a808000200728028005210320072d00840522014102470d032000410236020020002003360204200741e8026a10db8980800020112011417e6a2f01006b41002802ec82d48000118180808000000c040b200e200841016a220a6a22064101762203200b4b0d0b200741003602e807200741c0076a200d20036a200d200b6a10d797808000200e20086a220e4101762203200b490d042003200b419ca9c68000108281808000000b2009200d419ca9c68000108281808000000b2003280208220b4101762206200328020422094b0d0a2007410036029408200741ec076a2003280200220320066a200320096a10d797808000200b41017121090240024020012802282203450d0020012003417f6a36022820012001280224220341016a22064100200128021c220b2006200b491b6b3602240240200128022020034102746a2802002206200128021822034f0d00200128021420064107746a220320032d00004108464102746a10d88980800020032009360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a0000200320072902ec07370238200341c0006a200741ec076a41086a290200370200200341c8006a200741fc076a290200370200200341d0006a20074184086a290200370200200341d8006a2007418c086a290200370200200341e0006a20074194086a2802003602000c020b2006200341e4abc68000108281808000000b0240200128021822062001280210470d00200141106a41f4abc680001092868080000b200128021420064107746a22032009360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a0000200320072902ec07370238200341c0006a200741ec076a41086a290200370200200341c8006a200741fc076a290200370200200341d0006a20074184086a290200370200200341d8006a2007418c086a290200370200200341e0006a20074194086a2802003602002001200641016a3602180b20082006360204200841003a00000c0f0b20082003360204200841003a000020014101710d0e200041346a200741cc016a10e49780800020002011360230200041013602002000412c6a200241286a280200360200200041246a200241206a2902003702002000411c6a200241186a290200370200200041146a200241106a2902003702002000410c6a200241086a290200370200200020022902003702040b20072802ec034129490d2320072802c40322002000417e6a2f00006b41002802ec82d48000118180808000000c230b200d20036a2d0000210941002d008083d480001a41c00441002802f482d48000118280808000002203450d082006410171210d2003200341036a417c7120036b220b6a220641023a009c04200641023a00f803200641023a00d403200641023a00b003200641023a008c03200641023a00e802200641023a00c402200641023a00a002200641023a00fc01200641023a00d801200641023a00b401200641023a009001200641023a006c200641023a0048200641023a0024200641023a00002006417e6a200b3b0000200741ab056a200241286a280000360000200741a3056a200241206a2900003700002007419b056a200241186a29000037000020074193056a200241106a2900003700002007418b056a200241086a2900003700002007200229000037008305200141106a210c0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c220b2003200b491b6b3602240240200128022020024102746a2802002203200128021822024f0d00200141186a2113200128021420034107746a220220022d00004108464102746a10d889808000200241083a00002002200d360234200220113602302002200729008005370001200241096a20074180056a41086a290000370000200241116a20074180056a41106a290000370000200241196a20074180056a41186a290000370000200241216a20074180056a41206a290000370000200241286a200741a7056a290000370000200220072902c007370238200241c0006a200741c0076a41086a290200370200200241c8006a200741c0076a41106a290200370200200241d0006a200741c0076a41186a290200370200200241d8006a200741c0076a41206a290200370200200241e0006a200741c0076a41286a2802003602000c020b2003200241e4abc68000108281808000000b0240200128021822032001280210470d00200c41f4abc680001092868080000b200141186a2113200128021420034107746a220241083a000020022007290080053700012002200d36023420022011360230200220072902c007370238200241096a20074180056a41086a290000370000200241116a20074180056a41106a290000370000200241196a20074180056a41186a290000370000200241216a20074180056a41206a290000370000200241286a200741a7056a290000370000200241c0006a200741c0076a41086a290200370200200241c8006a200741c0076a41106a290200370200200241d0006a200741c0076a41186a290200370200200241d8006a200741c0076a41206a290200370200200241e0006a200741c0076a41286a2802003602002001200341016a3602180b20062009410f712009410476200e4101711b41246c6a220220033602044100210d200241003a000002400240200728020422024101742007280208220920086a2203470d0020074180056a200741cc016a200810e597808000200741f0086a41086a2007418c056a29020037030020074180096a20074194056a29020037030020074188096a2007419c056a29020037030020074190096a20074180056a41246a29020037030020074198096a200741ac056a28020036020020072007290284053703f008200441087621032007280280052108200521132005210b2004210c410021020c010b2003410176220b20024f0d0b2009200a6a220e410176220d20024b0d0a20072802002209200b6a2d0000210b200741003602ec08200741c4086a2009200d6a200920026a10d797808000200e410171210d0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22094100200128021c220e2009200e491b6b3602240240200128022020024102746a2802002209200128021822024f0d00200128021420094107746a220220022d00004108464102746a10d8898080002002200d360234200220053602302002200436022c200220053602102002200436020c200241003b0108200241053a0004200241083a0000200220072902c408370238200241c0006a200741c4086a41086a290200370200200241c8006a200741d4086a290200370200200241d0006a200741dc086a290200370200200241d8006a200741e4086a290200370200200241e0006a200741ec086a2802003602000c020b2009200241e4abc68000108281808000000b024020132802002209200c280200470d00200c41f4abc680001092868080000b200128021420094107746a2202200d360234200220053602302002200436022c200220053602102002200436020c200241003b0108200241053a0004200241083a0000200220072902c408370238200241c0006a200741c4086a41086a290200370200200241c8006a200741d4086a290200370200200241d0006a200741dc086a290200370200200241d8006a200741e4086a290200370200200241e0006a200741ec086a2802003602002001200941016a3602180b2006200b410f71200b41047620034101711b41246c6a220220093602044100210d200241003a000020074180056a200741cc016a200810e597808000200741f8086a2007418c056a29020037030020074180096a20074194056a29020037030020074188096a2007419c056a29020037030020074190096a20074180056a41246a29020037030020074198096a200741ac056a28020036020020072007290284053703f0082007280280052108410321020b410021090c0d0b200720053602a805200720043602a4052007200536028805200720043602840541002109200741003b01800520072d00e8024103460d0a200741e8026a20074180056a10e58980800021090c0a0b2002200141ece3cd8000109281808000000b2002200a41ece3cd8000109281808000000b200d200241ece3cd8000109281808000000b2001200441ece3cd8000109281808000000b2006200b41ece3cd8000109281808000000b2003200b41ece3cd8000109281808000000b2006200941ece3cd8000109281808000000b410441c00410ab80808000000b200d200241ece3cd8000109281808000000b200b2002419ca9c68000108281808000000b0240024002400240200e410176220a200b4b0d002007410036029809200741f0086a200d200a6a200d200b6a10d797808000200328020820086a220d41017621082003280204210b2003280200210302400240200d4101710d002008200b4b0d03200741003a00a801200720083602a401200720033602a0010c010b2008200b4b0d032008200b4f0d04200741013a00a801200720033602a001200720083602a4012007200320086a2d000041f001713a00a9010b20044108762103200e4101712108200120062002200741a0016a10888a8080004100210d20112106200521132005210b2004210c410021020c050b200a200b41ece3cd8000109281808000000b2008200b41fce4cd8000109181808000000b2008200b418ce5cd8000109181808000000b2008200b419ce5cd8000108281808000000b20072802d4012204410176220320072802d00122014b0d014100210920074198086a41286a2205410036020020074198086a20072802cc01220820036a200820016a10d797808000200741106a41086a200241186a290200370300200741106a41106a200241206a280200360200200741f0086a41086a20074198086a41086a290200370300200741f0086a41106a20074198086a41106a290200370300200741f0086a41186a20074198086a41186a290200370300200741f0086a41206a20074198086a41206a290200370300200741f0086a41286a20052802003602002007200229021037031020072007290298083703f0082004410171210820072f00ed0220072d00ef024110747221032007280290032113200728028c03210420072802f402210a20072802f002210b20072d00ec02210c20072f01ea02210e20072d00e902210d20072d00e8022102201121060b024020072802ec034129490d0020072802c40322012001417e6a2f00006b41002802ec82d48000118180808000000b2004210120062105201321040c130b2003200141ece3cd8000109281808000000b200741186a200241186a290200370300200741106a41106a200241206a2802003602002007200229021037031020072f00c10320072d00c3034110747221034100210920072802e803210520072802e403210420072802e003210120072802c803210a20072802c403210b20072d00c003210c410721020c110b20072d008305210e20072f008105210a2003280208220d410176210202400240024002400240200d4101710d0020022003280204220d4b0d02200741003a00f002200720023602ec02200720032802003602e8020c010b20022003280204220d4b0d022002200d4f0d0320032802002103200741013a00f002200720033602e802200720023602ec022007200320026a2d000041f001713a00f1020b200a200e41107472210320012006200b200741e8026a10888a8080004100210c410721022005210a2004210b0c130b2002200d41fce4cd8000109181808000000b2002200d418ce5cd8000109181808000000b2002200d419ce5cd8000108281808000000b410021090b2007280294034129490d0e20072802ec0222062006417e6a2f00006b41002802ec82d48000118180808000000c0e0b41aca9c68000412a41d8a9c68000108081808000000b20004102360200200020023602042007280294034129490d0d20072802ec0222002000417e6a2f00006b41002802ec82d48000118180808000000c0d0b200b200728020441017420072802086b470d0020072005360288052007200436028405200741003a008005200741a0016a20074180056a10e58980800021092003280208200b6a2205410176210220032802042104200328020021030240024020054101710d00200220044b0d04200741003a00c803200720023602c403200720033602c0030c010b200220044b0d04200220044f0d05200741013a00c803200720033602c003200720023602c4032007200320026a2d000041f001713a00c9030b200120062008200741c0036a10888a808000200741003602980920072802e8022108200741f0086a20072802ec02200a200728029403220241284b22031b2201200120072802f002200220031b6a10cd89808000200741186a20074194056a290200370300200741106a41106a2007419c056a2802003602002007200729028c0537031020072f00810520072d008305411074722103200728028805210a200728028405210b20072d008005210c20072802a005210120072802a405210420072802a8052105410521020c010b0240200b2002490d00200e410176220220094b0d05200741003602b80620074190066a200d20026a200d20096a10d79780800041002d008083d480001a41c00441002802f482d48000118280808000002202450d062002200241036a417c7120026b22096a220241023a009c04200241023a00f803200241023a00d403200241023a00b003200241023a008c03200241023a00e802200241023a00c402200241023a00a002200241023a00fc01200241023a00d801200241023a00b401200241023a009001200241023a006c200241023a0048200241023a0024200241023a00002002417e6a20093b000020074188026a41086a200841086a29020037030020074188026a41106a200841106a29020037030020074188026a41186a200841186a29020037030020074188026a41206a200841206a29020037030020074188026a41286a200841286a2802003602002007200829020037038802200741c4026a20074190066a41086a290200370200200741cc026a20074190066a41106a290200370200200741d4026a20074190066a41186a290200370200200741dc026a20074190066a41206a290200370200200741e4026a20074190066a41286a2802003602002007200e4101713602b802200720023602b40220072007290290063702bc0220074180056a200120074188026a200320042005200610898a80800020072802840521022007280280054102460d0a200741106a41086a2007419c056a290200370300200741106a41106a200741a4056a280200360200200741f0086a41086a200741c0056a290200370300200741f0086a41106a200741c8056a290200370300200741f0086a41186a200741d0056a290200370300200741f0086a41206a200741d8056a290200370300200741f0086a41286a200741e0056a2802003602002007200729029405370310200720072902b8053703f0082002411076210e2002410876210d20072f0089052007418b056a2d0000411074722103200728029005210a200728028c05210b20072d008805210c20072802a805210120072802ac05210420072802b005210520072802b4052108410021090c010b41002d008083d480001a41c00441002802f482d48000118280808000002202450d062002200241036a417c7120026b220a6a220241023a009c04200241023a00f803200241023a00d403200241023a00b003200241023a008c03200241023a00e802200241023a00c402200241023a00a002200241023a00fc01200241023a00d801200241023a00b401200241023a009001200241023a006c200241023a0048200241023a0024200241023a00002002417e6a200a3b0000200e200b6a220e410176220a20094f0d08200e41016a2211410176220c20094b0d07200d200a6a2d0000210a200741003602e406200741bc066a200d200c6a200d20096a10d79780800020074184026a200841286a280000360000200741fc016a200841206a290000370000200741f4016a200841186a290000370000200741ec016a200841106a290000370000200741e4016a200841086a290000370000200720082900003700dc012011410171210d0240024020012802282208450d0020012008417f6a36022820012001280224220841016a22094100200128021c220c2009200c491b6b3602240240200128022020084102746a2802002209200128021822084f0d00200128021420094107746a220820082d00004108464102746a10d889808000200841053a0004200841083a00002008200d360234200820072900d9013700052008410d6a200741d9016a41086a290000370000200841156a200741d9016a41106a2900003700002008411d6a200741d9016a41186a290000370000200841256a200741d9016a41206a2900003700002008412c6a20074180026a290000370000200820072902bc06370238200841c0006a200741bc066a41086a290200370200200841c8006a200741bc066a41106a290200370200200841d0006a200741bc066a41186a290200370200200841d8006a200741bc066a41206a290200370200200841e0006a200741e4066a2802003602000c020b2009200841e4abc68000108281808000000b0240200128021822092001280210470d00200141106a41f4abc680001092868080000b200128021420094107746a220841053a0004200841083a0000200820072900d9013700052008200d360234200820072902bc063702382008410d6a200741d9016a41086a290000370000200841156a200741d9016a41106a2900003700002008411d6a200741d9016a41186a290000370000200841256a200741d9016a41206a2900003700002008412c6a20074180026a290000370000200841c0006a200741bc066a41086a290200370200200841c8006a200741bc066a41106a290200370200200841d0006a200741bc066a41186a290200370200200841d8006a200741bc066a41206a290200370200200841e0006a200741e4066a2802003602002001200941016a3602180b2002200a410f71200a410476200e4101711b41246c6a2208200936020441002109200841003a0000200741f0036a2007200b10e597808000200720023602ec03200741033a00c00320074180056a2001200741c0036a200320042005200610898a80800020072802840521022007280280054102460d09200741106a41086a2007419c056a290200370300200741106a41106a20074180056a41246a280200360200200741f0086a41086a200741c0056a290200370300200741f0086a41106a200741c8056a29020037030020074188096a200741d0056a29020037030020074190096a200741d8056a29020037030020074198096a200741e0056a2802003602002007200729029405370310200720072902b8053703f0082002411076210e2002410876210d20072f0089052007418b056a2d0000411074722103200728029005210a200728028c05210b20072d008805210c20072802a805210120072802ac05210420072802b005210520072802b40521080b2007280294034129490d0920072802ec0222062006417e6a2f00006b41002802ec82d48000118180808000000c090b2002200441fce4cd8000109181808000000b20022004418ce5cd8000109181808000000b20022004419ce5cd8000108281808000000b2002200941ece3cd8000109281808000000b410441c00410ab80808000000b410441c00410ab80808000000b200c200941ece3cd8000109281808000000b200a2009419ca9c68000108281808000000b20004102360200200020023602042007280294034129490d0120072802ec0222002000417e6a2f00006b41002802ec82d48000118180808000000c010b200020033b00092000200a3602102000200b36020c2000200c3a00082000200e3b01062000200d3a0005200020023a0004200020093602002000200729031037021420002008360234200020053602302000200436022c200020013602282000410b6a20034110763a00002000411c6a200741106a41086a290300370200200041246a200741106a41106a280200360200200041e0006a20074198096a280200360200200041d8006a20074190096a290300370200200041d0006a20074188096a290300370200200041c8006a200741f0086a41106a290300370200200041c0006a200741f0086a41086a290300370200200020072903f0083702380b200741a0096a2480808080000bf41606067f017e127f017e017f017e23808080800041f0036b22072480808080002007200536021420072004360210024002400240024002400240024002400240024020022d00004101470d00200741306a200241196a290000370300200741286a200241116a290000370300200741206a200241096a290000370300200720022900013703182003280208220841017621020240024020084101710d002002200328020422084b0d04200741003a00dc01200720023602d801200720032802003602d4010c010b2002200328020422084b0d04200220084f0d0520032802002108200741013a00dc01200720083602d401200720023602d8012007200820026a2d000041f001713a00dd010b200741086a2001200741186a200741d4016a108b8a808000200728020c21022007280208410171450d01200041023a000420002002360200200420042802002201417f6a36020020014101470d09200741106a10f0978080000c090b200228020421020b024020012802282209200128021c2208470d002001411c6a4184acc6800010948f808000200128021c2108200128022821090b2001280220200128022420096a22094100200820092008491b6b4102746a20023602002001200128022841016a3602282002200128021822084f0d03200128021420024107746a22022d00002108200741396a200241016a41df0010f4978080001a200241043a0004200241083a00002002280260210902400240024020084108460d002003280208210a2003280204210b2003280200210c200741d4016a410172200741396a41df0010f4978080001a200741d0016a200241fc006a280000360200200741c8016a200241f4006a290000370300200741b8016a41086a200241ec006a290000370300200720013602b402200720033602b802200720083a00d401200720022900643703b801200741bc026a2001200741d4016a200320042005200610898a80800020072802c002210320072802bc0222024102460d09200729029803210d200728029403210e2007280290032105200728028c0321082007280288032106200728028403210f200728028003211020072802fc02211120072802f802211220072802f402211320072802f002211420072802ec02211520072802e802211620072802e402211720072802e002211820072802dc02211920072802d802211a20072802d402211b20072802d002211c20072802cc02211d20072802c802211e20072802c402211f2002410171450d0120074198016a41186a200741b8016a41186a28020036020020074198016a41106a200741b8016a41106a29030037030020074198016a41086a200741b8016a41086a290300370300200720072903b80137039801200341ff01712102200341807e7121044100210c201e210a201d211e201c211d201b211c201a211b2019211a20182119201721182016211720152116201421152013211420122113201f21032011211220102111200f21102006210f2008210620052108200e21050c020b200741d4016a2007413c6a41dc0010f4978080001a200720033602b802200720093602b002200720013602b402200741bc026a2001200741d4016a200320042005200610898a80800020072802c002210320072802bc0222024102460d082002417f73410171210c200728029c032109200729029403210d2007280290032105200728028c0321082007280288032106200728028403210f200728028003211020072802fc02211120072802f802211220072802f402211320072802f002211420072802ec02211520072802e802211620072802e402211720072802e002211820072802dc02211920072802d802211a20072802d402211b20072802d002211c20072802cc02211d20072802c802211e20072802c402210a41082102410021040c010b200a410176210202400240200a4101710d0002402002200b4b0d00410021040c020b2002200b41fce4cd8000109181808000000b2002200b4b0d062002200b4f0d07200c20026a2d0000417071210a410121040b200d42208821204100210b200741d4016a41286a22214100360200200741d4016a200c200c20026a10d797808000200741dc026a220241286a2021280200360200200241206a200741d4016a41206a290200370200200241186a200741d4016a41186a290200370200200241106a200741d4016a41106a290200370200200241086a200741d4016a41086a290200370200200220072902d401370200200741c8026a200741b8016a41086a290300370200200741d0026a200741b8016a41106a290300370200200741d8026a200741b8016a41186a2802003602002007200a3a008903200720043a008803200720093602bc02200720072903b8013702c00220074189036a2102024002400240200128025c2209450d00200741d4016a20092001280260200741bc026a10d083808000024020072802d401450d0020072802d801210b20072902dc012122200741a4036a200741bc026a41cc0010f4978080001a200741a0036a41026a200241026a2d00003a0000200720022f00003b01a0030c020b2007280284034129490d0220072802dc0222022002417e6a2f00006b41002802ec82d48000118180808000000c020b200741a4036a200741bc026a41cc0010f4978080001a200741a0036a41026a200241026a2d00003a0000200720022f00003b01a0030b2007200141dc006a3602e001200720223702d8012007200b3602d401200741e4016a200741a4036a41cc0010f4978080001a200741b3026a200741a2036a2d00003a0000200720043a00b002200720072f01a0033b00b102200741d4016a109a8d8080001a0b2020a72109200d422086200ead84210d4101210c4108210241002104201f210a0b2002200472210b0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22044100200128021c221f2004201f491b6b3602240240200128022020024102746a2802002204200128021822024f0d00200128021420044107746a220120012d00004108464102746a10d889808000200120093602602001200d37025820012005360254200120083602502001200636024c2001200f36024820012010360244200120113602402001201236023c2001201336023820012014360234200120153602302001201636022c2001201736022820012018360224200120193602202001201a36021c2001201b3602182001201c3602142001201d3602102001201e36020c2001200a360208200120033602042001200b360200200141fc006a200741b0016a280200360200200141f4006a200741a8016a290300370200200141ec006a20074198016a41086a29030037020020012007290398013702640c020b2004200241e4abc68000108281808000000b0240200128021822042001280210470d00200141106a41f4abc680001092868080000b200128021420044107746a220220093602602002200d37025820022005360254200220083602502002200636024c2002200f36024820022010360244200220113602402002201236023c2002201336023820022014360234200220153602302002201636022c2002201736022820022018360224200220193602202002201a36021c2002201b3602182002201c3602142002201d3602102002201e36020c2002200a360208200220033602042002200b360200200241fc006a200741b0016a280200360200200241f4006a200741a8016a290300370200200241ec006a200741a0016a29030037020020022007290398013702642001200441016a3602180b2000200c3a0004200020043602000c070b2002200841fce4cd8000109181808000000b20022008418ce5cd8000109181808000000b20022008419ce5cd8000108281808000000b200220084194acc68000108281808000000b2002200b418ce5cd8000109181808000000b2002200b419ce5cd8000108281808000000b200041023a0004200020033602000b200741f0036a2480808080000bed0901057f2380808080004180026b220424808080800002400240024002400240024020012802682205450d0020052002200128026c2802181184808080000022050d010b20044180016a20012802502002200320012802542802141183808080000002402004280280012206418080808078470d0041002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22036a22054185808080783602002005417e6a20033b0000200520022900003700042005410c6a200241086a290000370000200541146a200241106a2900003700002005411c6a200241186a290000370000410121010c060b4104413010ab80808000000b20042802880121052004280284012103024020012802004101470d0020012802040d022001417f36020420012802082107200128020c2108200441a8016a200241186a290000370200200441a0016a200241106a29000037020020044180016a41186a200241086a2900003702002004200536028c0120042003360288012004428280808088808080807f370280012004200229000037029001200720044180016a200828020c118b80808000002001200128020441016a3602040b200441e0006a41186a200241186a290000370300200441e0006a41106a200241106a290000370300200441e0006a41086a200241086a2900003703002004200229000037036020044180016a200441e0006a20032005200141106a10ed89808000024020042d00800122054108470d002004280284012105410121012006450d0520032003417e6a2f00006b41002802ec82d48000118180808000000c050b200420042d0083013a0003200420042f0081013b00012004280284012107200441086a20044180016a41086a41d80010f4978080001a20042007360204200420053a00002006450d0320032003417e6a2f00006b41002802ec82d48000118180808000000c030b02402001280200450d0020012802040d022001417f36020420012802082103200128020c2106200441a0016a200241186a29000037020020044180016a41186a200241106a29000037020020044180016a41106a200241086a29000037020020042005360284012004418180808078360280012004200229000037028801200320044180016a200628020c118b80808000002001200128020441016a3602040b20042005200141106a10f1898080000c020b41e8a9c68000109a81808000000b41f8a9c68000109a81808000000b200441f8016a200241186a290000370200200441f0016a200241106a290000370200200441e8016a200241086a290000370200200420022900003702e00120044180016a200441e00010f4978080001a0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22054100200128021c220320052003491b6b3602240240200128022020024102746a2802002205200128021822024f0d00200128021420054107746a220120012d00004108464102746a10d889808000200120044180016a41800110f4978080001a0c020b2005200241e4abc68000108281808000000b0240200128021822052001280210470d00200141106a41f4abc680001092868080000b200128021420054107746a20044180016a41800110f4978080001a2001200541016a3602180b410021010b200020053602042000200136020020044180026a2480808080000bed0901057f2380808080004180026b220424808080800002400240024002400240024020012802682205450d0020052002200128026c2802181184808080000022050d010b20044180016a20012802502002200320012802542802141183808080000002402004280280012206418080808078470d0041002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22036a22054185808080783602002005417e6a20033b0000200520022900003700042005410c6a200241086a290000370000200541146a200241106a2900003700002005411c6a200241186a290000370000410121010c060b4104413010ab80808000000b20042802880121052004280284012103024020012802004101470d0020012802040d022001417f36020420012802082107200128020c2108200441a8016a200241186a290000370200200441a0016a200241106a29000037020020044180016a41186a200241086a2900003702002004200536028c0120042003360288012004428280808088808080807f370280012004200229000037029001200720044180016a200828020c118b80808000002001200128020441016a3602040b200441e0006a41186a200241186a290000370300200441e0006a41106a200241106a290000370300200441e0006a41086a200241086a2900003703002004200229000037036020044180016a200441e0006a20032005200141106a10e989808000024020042d00800122054108470d002004280284012105410121012006450d0520032003417e6a2f00006b41002802ec82d48000118180808000000c050b200420042d0083013a0003200420042f0081013b00012004280284012107200441086a20044180016a41086a41d80010f4978080001a20042007360204200420053a00002006450d0320032003417e6a2f00006b41002802ec82d48000118180808000000c030b02402001280200450d0020012802040d022001417f36020420012802082103200128020c2106200441a0016a200241186a29000037020020044180016a41186a200241106a29000037020020044180016a41106a200241086a29000037020020042005360284012004418180808078360280012004200229000037028801200320044180016a200628020c118b80808000002001200128020441016a3602040b20042005200141106a10f2898080000c020b41e8a9c68000109a81808000000b41f8a9c68000109a81808000000b200441f8016a200241186a290000370200200441f0016a200241106a290000370200200441e8016a200241086a290000370200200420022900003702e00120044180016a200441e00010f4978080001a0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22054100200128021c220320052003491b6b3602240240200128022020024102746a2802002205200128021822024f0d00200128021420054107746a220120012d00004108464102746a10d889808000200120044180016a41800110f4978080001a0c020b2005200241e4abc68000108281808000000b0240200128021822052001280210470d00200141106a41f4abc680001092868080000b200128021420054107746a20044180016a41800110f4978080001a2001200541016a3602180b410021010b200020053602042000200136020020044180026a2480808080000bb69301030e7f017e3b7f23808080800041b00b6b220524808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020022d00002206417c6a41ff01712207410420074104491b417e6a0e03030102000b2000200241e00010f4978080001a0c1f0b200241056a210820022d000421092002280230220a2d00004102460d0241002106410121070c030b200541e8036a200241c4006a290200370300200541f0036a200241cc006a290200370300200541f8036a200241d4006a2902003703002005200229023c3703e00341012107200241016a2108200241306a2109200228025c210b2002280238210c2002280234210d2002280230210e200228022c220a2d00004102460d064100210f0c070b20054190036a41286a200241d0006a290200370300200541b0036a200241c8006a29020037030020054190036a41186a200241c0006a29020037030020054190036a41106a200241386a29020037030020054190036a41086a200241306a2902003703002005200229022837039003200541de036a200241076a2d00003a0000200541c0036a41086a200241146a290200370300200541c0036a41106a2002411c6a290200370300200541c0036a41186a200241246a280200360200200520022f00053b01dc032005200229020c3703c00320022d00042106200228020821102003280200210a2003280204210820032802082109024002400240024002400240024002400240024020040d0020052802980320052802bc032204200441284b1b2207417f6a210f2007450d13200741017420096a200528029003417f736a2209410176210720052802940320054190036a410472200441284b1b200f6a2d0000410f71210f024020094101710d00200720084d0d032007200841fce4cd8000109181808000000b200720084b0d1420072008490d0120072008419ce5cd8000108281808000000b2009410176210702400240200941017122040d0041002109200720084d0d012007200841fce4cd8000109181808000000b200720084b0d15200720084f0d16200a20076a2d000041047621090b2005420037029801200541003602d80a200520073602d40a2005200a3602d00a200541f0006a200541d00a6a4100200510ed978080001a2004450d0620052d009c014101710d04200541f0006a41046a21042009410474210f200541f0006a41044128200528029801220b41284b22081b6a2802002209200b412820081b460d022004200541f0006a41286a20081b21042005280270200541f0006a20081b21080c030b200a20076a22042d0000210941002108200541f0006a41286a220b4100360200200541f0006a200a200410cd89808000200541d00a6a41286a220c200b280200220b360200200541d00a6a41206a220e200541f0006a41206a290200370300200541d00a6a41186a220d200541f0006a41186a290200370300200541d00a6a41106a2211200541f0006a41106a290200370300200541d00a6a41086a2212200541f0006a41086a2902003703002005200529027022133703d00a200541d00a6a41047221042009417071200f72211402400240200541d00a6a41044128200b41284b22091b6a280200220f200b412820091b460d002004200c20091b21042013a7200541d00a6a20091b21090c010b200541d00a6a10cf8980800020052802d40a210f20052802d00a21090b2009200f6a20143a00002004200428020041016a360200200541f8056a41086a2012290300370300200541f8056a41106a2011290300370300200541f8056a41186a200d290300370300200541f8056a41206a200e290300370300200541f8056a41286a200c280200360200200520052903d00a3703f8050c060b41002104200541003602e003200f4104742115410121080c060b200541f0006a10d99780800020052802742109200528027021080b200820096a200f3a00002004200428020041016a3602000c010b20052802742005280298012204200441284b22041b2208450d112005280270200541f0006a20041b20086a417f6a220420042d00002009723a00000b2005200528029c0141016a36029c010b20052005280290033602d80a200520052802980320052802bc032204200441284b22041b3602d40a200520052802940320054190036a41047220041b3602d00a200541f0006a200541d00a6a4100200510ed978080001a200528029c01220841017621040240024020084101710d00200420052802742005280298012209200941284b22091b220f4b0d122005280270200541f0006a20091b21090c010b200420052802742005280298012209200941284b1b220f4b0d122004200f4f0d132005280270200541f0006a200941284b1b220920046a2d000041707121150b200541d00a6a41286a220f4100360200200541d00a6a2009200920046a10cd89808000200541f8056a41286a200f280200360200200541f8056a41206a200541d00a6a41206a290200370300200541f8056a41186a200541d00a6a41186a290200370300200541f8056a41106a200541d00a6a41106a290200370300200541f8056a41086a200541d00a6a41086a290200370300200520052902d00a3703f8052005280298014129490d00200528027022042004417e6a2f00006b41002802ec82d48000118180808000000b200541ec036a20054180066a290300370200200541f4036a20054188066a290300370200200541fc036a20054190066a29030037020020054184046a20054198066a2903003702002005418c046a200541f8056a41286a2802002204360200200520052903f80522133702e403200541013602e00320052802e8032004200441284b220f1b21092013a7200541e4036a200f1b21040b2009200720041b2116200841017121172004200a20041b2118024002402006410171450d0020054190046a41026a200541dc036a41026a2d00003a00002005419f046a200541c0036a41086a290300370000200541a7046a200541d0036a290300370000200541af046a200541d8036a2d00003a0000200520052f01dc033b0190042005201036009304200520052903c00337009704200520153a0079200520173a007820052016360274200520183602702005200120054190046a200541f0006a108b8a808000200528020421102005280200410171450d01200041083a000020002010360204024020052802e003450d00200528028c044129490d0020052802e40322072007417e6a2f00006b41002802ec82d48000118180808000000b20052802bc034129490d1c20052802940322072007417e6a2f00006b41002802ec82d48000118180808000000c1c0b024020012802282204200128021c2207470d002001411c6a4184acc6800010948f808000200128021c2107200128022821040b2001280220200128022420046a22044100200720042007491b6b4102746a20103602002001200128022841016a3602282010200128021822074f0d120c190b024020012802282204200128021c2207470d002001411c6a4184acc6800010948f808000200128021c2107200128022821040b2001280220200128022420046a22044100200720042007491b6b4102746a20103602002001200128022841016a3602282001280218220720104b0d18201020074194acc68000108281808000000b0240200a2d00244102460d0041012106410221070c010b410221060240200a2d00484102460d00410321070c010b0240200a2d006c4102460d0041032106410421070c010b0240200a2d0090014102460d0041042106410521070c010b0240200a2d00b4014102460d0041052106410621070c010b0240200a2d00d8014102460d0041062106410721070c010b0240200a2d00fc014102460d0041072106410821070c010b0240200a2d00a0024102460d0041082106410921070c010b0240200a2d00c4024102460d0041092106410a21070c010b0240200a2d00e8024102460d00410a2106410b21070c010b0240200a2d008c034102460d00410b2106410c21070c010b0240200a2d00b0034102460d00410c2106410d21070c010b0240200a2d00d4034102460d00410d2106410e21070c010b0240200a2d00f8034102460d00410e2106410f21070c010b200a2d009c044102460d01410f2106411021070b200741246c2107024002400340200741246a220441e404460d01200a20076a21102004210720102d00004102460d000c020b0b200941ff01714103460d020b2000200a360230200020093a0004200041073a0000200020082900003700052000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a2900003700000c170b0240200941ff01714103460d00200020082900003700052000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a2900003700002005410036027820054201370270200041306a200541f0006a10e497808000200020093a0004200041053a00000c020b4198aac68000412f41c8aac68000108081808000000b200541003602800a200520063a0070200541d8096a200541f0006a200541f0006a41016a10d797808000200a200641246c6a22072d00002104200741023a000020044102460d0e200541106a41246a200741206a2800003600002005412d6a200741196a290000370000200541256a200741116a2900003700002005411d6a200741096a290000370000200541c4006a200541e0096a290200370200200541cc006a200541e8096a290200370200200541d4006a200541f0096a290200370200200541dc006a200541d8096a41206a290200370200200541e4006a200541800a6a28020036020020054101360238200520052902d80937023c20052007290001370015200541063a0010200520043a001420002001200541106a20034100108d8a8080000b200a200a417e6a2f01006b41002802ec82d48000118180808000000c140b0240200a2d00244102460d004101210f410221070c010b4102210f0240200a2d00484102460d00410321070c010b0240200a2d006c4102460d004103210f410421070c010b0240200a2d0090014102460d004104210f410521070c010b0240200a2d00b4014102460d004105210f410621070c010b0240200a2d00d8014102460d004106210f410721070c010b0240200a2d00fc014102460d004107210f410821070c010b0240200a2d00a0024102460d004108210f410921070c010b0240200a2d00c4024102460d004109210f410a21070c010b0240200a2d00e8024102460d00410a210f410b21070c010b0240200a2d008c034102460d00410b210f410c21070c010b0240200a2d00b0034102460d00410c210f410d21070c010b0240200a2d00d4034102460d00410d210f410e21070c010b0240200a2d00f8034102460d00410e210f410f21070c010b200a2d009c044102460d01410f210f411021070b200741246c2107024002400340200741246a220441e404460d01200a20076a21102004210720102d00004102460d000c020b0b200641ff01714103460d020b2000200929020037023020002008290000370001200041d8006a200941286a290200370200200041d0006a200941206a290200370200200041c8006a200941186a290200370200200041c0006a200941106a290200370200200041386a200941086a290200370200200041096a200841086a290000370000200041116a200841106a290000370000200041196a200841186a290000370000200041216a200841206a290000370000200041286a200841276a2800003600002000200a36022c200020063a00000c120b0240200641ff01714103460d0020002008290000370005200020092902003702302000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a290000370000200041386a200941086a290200370200200041c0006a200941106a290200370200200041c8006a200941186a290200370200200041d0006a200941206a290200370200200041d8006a200941286a290200370200200020063a0004200041053a00000c100b4198aac68000412f418cabc68000108081808000000b200a200f41246c6a22072d00002110200741023a000002400240024002400240024020104102460d0020072802042108200541d4096a41026a200741036a2d00003a000020054198036a200741106a29020037030020054190036a41106a200741186a29020037030020054190036a41186a200741206a280200360200200520072f00013b01d40920052007290208370390032003280208200c200b200b41284b1b410174200e6b6a2209410176210720032802042104200328020021030240200941017122090d00200720044d0d032007200441fce4cd8000109181808000000b200720044b0d1020072004490d0120072004419ce5cd8000108281808000000b41d8aac680004124419cabc6800010a181808000000b200541003602a409200320076a22042d00002106200541fc086a2003200410cd89808000200541fc086a41286a2111200541fc086a41046a21042006417071200f722114200541fc086a4104412820052802a409221941284b22061b6a28020022122019412820061b460d012004201120061b210420052802fc08200541fc086a20061b21060c020b41002104200541003602f804200f41047421110c020b200541fc086a10cf89808000200528028009211220052802fc0821060b200620126a20143a00002004200428020041016a36020020054184056a20054184096a2902003702002005418c056a2005418c096a29020037020020054194056a20054194096a2902003702002005419c056a2005419c096a290200370200200541a4056a20112802002206360200200520052902fc0822133702fc04200541013602f8042013a7200541f8046a41046a200641284b22111b2104200528028005200620111b21060b2006200720041b2106200941017321092004200320041b210702402010410171450d00200541f0016a41026a200541d4096a41026a2d00003a0000200541ff016a20054190036a41086a29030037000020054187026a20054190036a41106a2903003700002005418f026a200541a8036a2d00003a0000200520052f01d4093b01f001200520083600f30120052005290390033700f701200520113a00d90a200520093a00d80a200520063602d40a200520073602d00a200541086a2001200541f0016a200541d00a6a108b8a808000200528020c21042005280208410171450d0d200041083a000020002004360204024020052802f804450d0020052802a4054129490d0020052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000b200a200a417e6a2f01006b41002802ec82d4800011818080800000200b4129490d12200d200d417e6a2f00006b41002802ec82d48000118180808000000c120b024020012802282210200128021c2204470d002001411c6a4184acc6800010948f808000200128021c2104200128022821100b2001280220200128022420106a22104100200420102004491b6b4102746a20083602002001200128022841016a3602282008200128021822044f0d0b200541f0006a200128021420084107746a220441800110f4978080001a200441043a0004200441083a00000c0d0b200f41004188aac68000108281808000000b20072008418ce5cd8000109181808000000b20072008418ce5cd8000109181808000000b20072008419ce5cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b2004200f41b4e7cd8000109181808000000b2004200f41c4e7cd8000109181808000000b2004200f41d4e7cd8000108281808000000b201020074194acc68000108281808000000b41d8aac68000412441fcaac6800010a181808000000b20072004418ce5cd8000109181808000000b200820044194acc68000108281808000000b200541f0006a200141106a2004108e8a8080000b024002400240024020052d007022104108460d00200541e7026a200541f0006a41286a280000360000200541c0026a41206a20054191016a290000370300200541c0026a41186a20054189016a290000370300200541c0026a41106a20054181016a290000370300200541c0026a41086a200541f9006a29000037030020054190026a41086a200541f0006a41306a220441086a29020037030020054190026a41106a200441106a29020037030020054190026a41186a200441186a29020037030020054190026a41206a200441206a29020037030020054190026a41286a200441286a290200370300200520052900713703c0022005200429020037039002200528029c012104200541f0026a41186a2203200541e8016a290200370300200541f0026a41106a2208200541e0016a290200370300200541f0026a41086a2212200541d8016a29020037030041002114200541a8096a41286a22194100360200200520052902d0013703f002200541a8096a2007200720066a10cd89808000200541f8056a41186a2003290300370300200541f8056a41106a2008290300370300200541f8056a41086a2012290300370300200541f8056a41286a200541a8096a41086a290200370300200541f8056a41306a200541a8096a41106a290200370300200541b0066a200541a8096a41186a290200370300200541b8066a200541a8096a41206a290200370300200541c0066a2019280200360200200520052903f0023703f805200520052902a80937039806200520113a00c506200520093a00c406200541c5066a2107200128025c2203450d01200541d00a6a20032001280260200541f8056a10d083808000024020052802d00a0d0020052802c0064129490d0420052802980622072007417e6a2f00006b41002802ec82d48000118180808000000c040b20052802d40a211420052902d80a2113200541840a6a200541f8056a41cc0010f4978080001a200541c0036a41026a200741026a2d00003a0000200520072f00003b01c0030c020b200541c0026a41086a200541fd006a290000370300200541c0026a41106a20054185016a290000370300200541c0026a41186a2005418d016a290000370300200541c0026a41206a20054195016a290000370300200541e7026a2005419c016a28000036000020054190026a41086a200541ac016a29020037030020054190026a41106a200541b4016a29020037030020054190026a41186a200541bc016a29020037030020054190026a41206a200541c4016a290200370300200541b8026a200541cc016a290200370300200520052900753703c002200520052902a4013703900220052802a001210420052d007421100c020b200541840a6a200541f8056a41cc0010f4978080001a200541c0036a41026a200741026a2d00003a0000200520072f00003b01c0030b2005200141dc006a3602dc0a200520133702d40a200520143602d00a200541e00a6a200541840a6a41cc0010f4978080001a200541af0b6a200541c2036a2d00003a0000200520093a00ac0b200520052f01c0033b00ad0b200541d00a6a109a8d8080001a0b02400240024002402010417c6a41ff01712207410420074104491b417f6a0e0401000002000b41acabc68000412841d4abc68000108081808000000b200541f8056a41286a20054190026a41286a290300370300200541f8056a41206a20054190026a41206a290300370300200541f8056a41186a20054190026a41186a290300370300200541f8056a41106a20054190026a41106a290300370300200541f8056a41086a220720054190026a41086a29030037030020052005290390023703f805200541d00a6a41086a2210200c360200200541e40a6a200541e0036a41086a290300370200200541ec0a6a200541e0036a41106a290300370200200541f40a6a200541e0036a41186a2903003702002005200d3602d40a2005200e3602d00a200520052903e0033702dc0a2005200b3602fc0a2005410136028c0a200541013602840a2005200f3a00c0032005200541c0036a3602880a200541d00a6a200541840a6a10e0978080002005200728020020052802a4062207200741284b22071b36028c0a200520052802fc05200541f8056a41047220071b3602880a200520052802f8053602840a200541d00a6a200541840a6a10e097808000200041d8006a200541d00a6a41286a290200370200200041d0006a200541d00a6a41206a290200370200200041c8006a200541d00a6a41186a290200370200200041c0006a200541d00a6a41106a290200370200200041386a2010290200370200200020052902d00a370230200541840a6a410b6a200541c0026a410b6a290000370000200541840a6a41136a200541c0026a41136a290000370000200541840a6a411b6a200541c0026a411b6a290000370000200541840a6a41236a200541c0026a41236a290000370000200520052900c3023700870a200041053a00002000200436022c200020052900840a370001200041096a200541840a6a41086a290000370000200041116a200541840a6a41106a290000370000200041196a200541840a6a41186a290000370000200041216a200541840a6a41206a290000370000200041286a200541ab0a6a28000036000020052802a4064129490d0120052802fc0522072007417e6a2f00006b41002802ec82d48000118180808000000c010b200020103a0000200020052903c002370001200541f8056a41286a20054190026a41286a290300370300200541f8056a41206a20054190026a41206a290300370300200541f8056a41186a20054190026a41186a290300370300200541f8056a41106a20054190026a41106a290300370300200541f8056a41086a220720054190026a41086a290300370300200041096a200541c0026a41086a290300370000200041116a200541c0026a41106a290300370000200041196a200541c0026a41186a290300370000200041216a200541c0026a41206a290300370000200041286a200541e7026a28000036000020052005290390023703f805200541d00a6a41086a2210200c360200200541e40a6a200541e0036a41086a290300370200200541ec0a6a200541e0036a41106a290300370200200541f40a6a200541e0036a41186a2903003702002005200d3602d40a2005200e3602d00a200520052903e0033702dc0a2005200b3602fc0a2005410136028c0a200541013602840a2005200f3a00c0032005200541c0036a3602880a200541d00a6a200541840a6a10e0978080002005200728020020052802a4062207200741284b22071b36028c0a200520052802fc05200541f8056a41047220071b3602880a200520052802f8053602840a200541d00a6a200541840a6a10e097808000200041d8006a200541d00a6a41286a290200370200200041d0006a200541d00a6a41206a290200370200200041c8006a200541d00a6a41186a290200370200200041c0006a200541d00a6a41106a290200370200200041386a2010290200370200200020052902d00a3702302000200436022c20052802a4064129490d0020052802fc0522072007417e6a2f00006b41002802ec82d48000118180808000000b20052802f804450d0020052802a4054129490d0020052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000b200a200a417e6a2f01006b41002802ec82d48000118180808000000c010b200128021420104107746a22072d0060211a20072d005c210420072d0058211020072d0054210a20072d0050210820072d004c210920072d0048210620072d0044210f20072d0040210b20072d003c210c20072d0038210e20072d0034210d20072d0030211120072d002c211220072d0028211420072d0024211920072d0020211b20072d001c211c20072d0018211d20072d0014211e20072d0010211f20072d000c212020072d0008212120072d0004212220072d00002123200741043a0004200741083a0000200741e1006a2124200741dd006a2125200741d9006a2126200741d5006a2127200741d1006a2128200741cd006a2129200741c9006a212a200741c5006a212b200741c1006a212c2007413d6a212d200741396a212e200741356a212f200741316a21302007412d6a2131200741296a2132200741256a2133200741216a21342007411d6a2135200741196a2136200741156a2137200741116a21382007410d6a2139200741096a213a200741056a213b0240024020234108460d00200541f0006a41026a200741036a2d00003a0000200541f8056a41026a203b41026a2d00003a0000200541840a6a41026a203a41026a2d00003a0000200541f8046a41026a203941026a2d00003a0000200541d4096a41026a203841026a2d00003a0000200520072f00013b01702005203b2f00003b01f8052005203a2f00003b01840a200520392f00003b01f804200520382f00003b01d409200541fc076a41026a203741026a2d00003a0000200541f8076a41026a203641026a2d00003a0000200541f4076a41026a203541026a2d00003a0000200541f0076a41026a203441026a2d00003a0000200541ec076a41026a203341026a2d00003a0000200520372f00003b01fc07200520362f00003b01f807200520352f00003b01f407200520342f00003b01f007200520332f00003b01ec07200541e8076a41026a203241026a2d00003a0000200520322f00003b01e807200541e4076a41026a203141026a2d00003a0000200520312f00003b01e407200541e0076a41026a203041026a2d00003a0000200520302f00003b01e007200541dc076a41026a202f41026a2d00003a00002005202f2f00003b01dc07200541d8076a41026a202e41026a2d00003a00002005202e2f00003b01d807200541d4076a41026a202d41026a2d00003a00002005202d2f00003b01d407200541d0076a41026a202c41026a2d00003a00002005202c2f00003b01d007200541cc076a41026a202b41026a2d00003a00002005202b2f00003b01cc07200541c8076a41026a202a41026a2d00003a00002005202a2f00003b01c807200541c4076a41026a202941026a2d00003a0000200520292f00003b01c407200541c0076a41026a202841026a2d00003a0000200520282f00003b01c007200541bc076a41026a202741026a2d00003a0000200520272f00003b01bc07200541b8076a41026a202641026a2d00003a0000200520262f00003b01b807200541b4076a41026a202541026a2d00003a0000200520252f00003b01b407200541a0086a41026a202441026a2d00003a0000200520242f00003b01a00820054198086a200741fc006a28000036020020054190086a200741f4006a29000037030020054180086a41086a200741ec006a29000037030020052007290064370380082010212520232124200a21102008210a2009210820062109200f2106200b210f200c210b200e210c200d210e2011210d201221112014211220192114201b2119201c211b0c010b200541f0006a41026a203b41026a2d00003a0000200541f8056a41026a203a41026a2d00003a0000200541840a6a41026a203941026a2d00003a0000200541f8046a41026a203841026a2d00003a0000200541d4096a41026a203741026a2d00003a00002005203b2f00003b01702005203a2f00003b01f805200520392f00003b01840a200520382f00003b01f804200520372f00003b01d409200541fc076a41026a203641026a2d00003a0000200541f8076a41026a203541026a2d00003a0000200541f4076a41026a203441026a2d00003a0000200541f0076a41026a203341026a2d00003a0000200541ec076a41026a203241026a2d00003a0000200520362f00003b01fc07200520352f00003b01f807200520342f00003b01f407200520332f00003b01f007200520322f00003b01ec07200541e8076a41026a203141026a2d00003a0000200520312f00003b01e807200541e4076a41026a203041026a2d00003a0000200520302f00003b01e407200541e0076a41026a202f41026a2d00003a00002005202f2f00003b01e007200541dc076a41026a202e41026a2d00003a00002005202e2f00003b01dc07200541d8076a41026a202d41026a2d00003a00002005202d2f00003b01d807200541d4076a41026a202c41026a2d00003a00002005202c2f00003b01d407200541d0076a41026a202b41026a2d00003a00002005202b2f00003b01d007200541cc076a41026a202a41026a2d00003a00002005202a2f00003b01cc07200541c8076a41026a202941026a2d00003a0000200520292f00003b01c807200541c4076a41026a202841026a2d00003a0000200520282f00003b01c407200541c0076a41026a202741026a2d00003a0000200520272f00003b01c007200541bc076a41026a202641026a2d00003a0000200520262f00003b01bc07200541b8076a41026a202541026a2d00003a0000200520252f00003b01b807200541b4076a41026a202441026a2d00003a0000200520242f00003b01b40720042125201a2104202221242021212220202121201f2120201e211f201d211e201c211d0b200541d70a6a200541f8056a41026a2d00003a0000200541db0a6a200541840a6a41026a2d00003a0000200541df0a6a200541f8046a41026a2d00003a0000200520052f01703b00d10a200520223a00d40a200520052f01f8053b00d50a200520213a00d80a200520052f01840a3b00d90a200520203a00dc0a200520052f01f8043b00dd0a2005200541f0006a41026a2d00003a00d30a200520243a00d00a200541e30a6a200541d4096a41026a2d00003a0000200541e70a6a200541fc076a41026a2d00003a0000200541eb0a6a200541f8076a41026a2d00003a0000200541ef0a6a200541f4076a41026a2d00003a00002005201f3a00e00a2005201e3a00e40a2005201d3a00e80a2005201b3a00ec0a200520052f01d4093b00e10a200520052f01fc073b00e50a200520052f01f8073b00e90a200520052f01f4073b00ed0a200541f30a6a200541f0076a41026a2d00003a0000200541f70a6a200541ec076a41026a2d00003a0000200541fb0a6a200541e8076a41026a2d00003a0000200541ff0a6a200541e4076a41026a2d00003a0000200520193a00f00a200520143a00f40a200520123a00f80a200520113a00fc0a200520052f01f0073b00f10a200520052f01ec073b00f50a200520052f01e8073b00f90a200520052f01e4073b00fd0a2005200d3a00800b200541830b6a200541e0076a41026a2d00003a0000200520052f01e0073b00810b2005200e3a00840b200541870b6a200541dc076a41026a2d00003a0000200520052f01dc073b00850b2005200c3a00880b2005418b0b6a200541d8076a41026a2d00003a0000200520052f01d8073b00890b2005200b3a008c0b2005418f0b6a200541d4076a41026a2d00003a0000200520052f01d4073b008d0b2005200f3a00900b200541930b6a200541d0076a41026a2d00003a0000200520052f01d0073b00910b200520063a00940b200541970b6a200541cc076a41026a2d00003a0000200520052f01cc073b00950b200520093a00980b2005419b0b6a200541c8076a41026a2d00003a0000200520052f01c8073b00990b200520083a009c0b2005419f0b6a200541c4076a41026a2d00003a0000200520052f01c4073b009d0b2005200a3a00a00b200541a30b6a200541c0076a41026a2d00003a0000200520052f01c0073b00a10b200520103a00a40b200541a70b6a200541bc076a41026a2d00003a0000200520052f01bc073b00a50b200520253a00a80b200541ab0b6a200541b8076a41026a2d00003a0000200520052f01b8073b00a90b200520043a00ac0b200541af0b6a200541b4076a41026a2d00003a0000200520052f01b4073b00ad0b200541d00a6a41046a210702400240024002400240024002400240024002400240024002402024417c6a41ff01712226410420264104491b417f6a0e020102000b200541ad0b6a2107200541a90b6a2103200541a50b6a2126200541a10b6a21272005419d0b6a2128200541990b6a2129200541950b6a212a200541910b6a212b2005418d0b6a212c200541890b6a212d200541850b6a212e200541810b6a212f200541fd0a6a2130200541f90a6a2131200541f50a6a2132200541f10a6a2133200541ed0a6a2134200541e90a6a2135200541e50a6a2136200541e10a6a2137200541dd0a6a2138200541d90a6a2139200541d50a6a213a200541d00a6a410172213b20234108470d02200541e8066a2123200541ec066a2118200541ef066a2117200541f2066a2115200541f5066a2116200541f8066a211c200541fb066a213c200541fe066a213d20054181076a213e20054184076a213f20054187076a21402005418a076a21412005418d076a214220054190076a214320054193076a214420054196076a214520054199076a21462005419c076a21472005419f076a2148200541a2076a2149200541a5076a214a200541a8076a214b200541ab076a214c200541ae076a214d4108214e0c030b200541f8046a41286a200541800b6a220441286a290200370300200541f8046a41206a200441206a290200370300200541f8046a41186a200441186a290200370300200541f8046a41106a200441106a290200370300200541f8046a41086a200441086a290200370300200541a8056a41086a2210200741086a290200370300200541a8056a41106a220a200741106a290200370300200541a8056a41186a2203200741186a290200370300200541a8056a41206a2208200741206a290200370300200541a8056a41286a200741286a280200360200200520042902003703f804200520072902003703a80520234108460d08200541f4056a41026a2207200541a0086a41026a2d00003a0000200541d8056a41086a220420054180086a41086a290300370300200541d8056a41106a220920054180086a41106a290300370300200541d8056a41186a220620054180086a41186a2802003602004100210f200541a4086a41286a220b4100360200200520052f01a0083b01f40520052005290380083703d805200541a4086a2018201820166a10cd8980800020054184066a20042903003702002005418c066a200929030037020020054194066a2006280200360200200541f8056a41286a200541a4086a41086a290200370200200541a8066a200541a4086a41106a290200370200200541b0066a200541a4086a41186a290200370200200541b8066a200541a4086a41206a290200370200200541c0066a200b2802003602002005201a3a00f805200520052f01f4053b00f905200520072d00003a00fb05200520052903d8053702fc05200520052902a40837029806200520153a00c506200520173a00c406200541c5066a2107200128025c2204450d03200541f0006a20042001280260200541f8056a10d083808000024020052802700d0020052802c0064129490d0920052802980622072007417e6a2f00006b41002802ec82d48000118180808000000c090b2005280274210f20052902782113200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090c070b200541f8046a41286a200541d00a6a41286a220441286a290200370300200541f8046a41206a200441206a290200370300200541f8046a41186a200441186a290200370300200541f8046a41106a200441106a290200370300200541f8046a41086a200441086a290200370300200541b0046a41086a2210200741086a290200370300200541b0046a41106a220a200741106a290200370300200541b0046a41186a2208200741186a290200370300200541b0046a41206a2209200741206a280200360200200520042902003703f804200520072902003703b00420234108460d05200541f4046a41026a2207200541a0086a41026a2d00003a0000200541d8046a41086a220420054180086a41086a290300370300200541d8046a41106a220620054180086a41106a290300370300200541d8046a41186a220f20054180086a41186a2802003602004100210b200541d0086a41286a220c4100360200200520052f01a0083b01f40420052005290380083703d804200541d0086a2018201820166a10cd8980800020054184066a20042903003702002005418c066a200629030037020020054194066a200f280200360200200541f8056a41286a200541d0086a41086a290200370200200541a8066a200541d0086a41106a290200370200200541b0066a200541d0086a41186a290200370200200541b8066a200541d0086a41206a290200370200200541c0066a200c2802003602002005201a3a00f805200520052f01f4043b00f905200520072d00003a00fb05200520052903d8043702fc05200520052902d00837029806200520153a00c506200520173a00c406200541c5066a2107200128025c2204450d03200541f0006a20042001280260200541f8056a10d083808000024020052802700d0020052802c0064129490d0620052802980622072007417e6a2f00006b41002802ec82d48000118180808000000c060b2005280274210b20052902782113200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090c040b200541e8066a41026a200541a0086a41026a2d00003a0000200541c8066a41086a20054180086a41086a290300370300200541c8066a41106a20054180086a41106a290300370300200541c8066a41186a20054180086a41186a280200360200200520052f01a0083b01e80620052005290380083703c806200541ec066a2123200541ef066a2118200541f2066a2117200541f5066a2115200541f8066a2116200541fb066a211c200541fe066a213c20054181076a213d20054184076a213e20054187076a213f2005418a076a21402005418d076a214120054190076a214220054193076a214320054196076a214420054199076a21452005419c076a21462005419f076a2147200541a2076a2148200541a5076a2149200541a8076a214a200541ab076a214b200541ae076a214c200541b1076a214d2024214e202221242021212220202121201f2120201e211f201d211e201b211d2019211b201421192012211420112112200d2111200e210d200c210e200b210c200f210b2006210f2009210620082109200a21082010210a2025211020042125201a21040b204d203b2f00003b0000204c203a2f00003b0000204b20392f00003b0000204a20382f00003b0000204920372f00003b0000204d41026a203b41026a2d00003a0000204c41026a203a41026a2d00003a0000204b41026a203941026a2d00003a0000204a41026a203841026a2d00003a0000204941026a203741026a2d00003a0000204841026a203641026a2d00003a0000204820362f00003b0000204720352f00003b0000204741026a203541026a2d00003a0000204620342f00003b0000204641026a203441026a2d00003a0000204520332f00003b0000204541026a203341026a2d00003a0000204441026a203241026a2d00003a0000204420322f00003b0000204341026a203141026a2d00003a0000204320312f00003b0000204241026a203041026a2d00003a0000204220302f00003b0000204141026a202f41026a2d00003a00002041202f2f00003b0000204041026a202e41026a2d00003a00002040202e2f00003b0000203f41026a202d41026a2d00003a0000203f202d2f00003b0000203e41026a202c41026a2d00003a0000203e202c2f00003b0000203d41026a202b41026a2d00003a0000203d202b2f00003b0000203c41026a202a41026a2d00003a0000203c202a2f00003b0000201c41026a202941026a2d00003a0000201c20292f00003b0000201641026a202841026a2d00003a0000201620282f00003b0000201541026a202741026a2d00003a0000201520272f00003b0000201741026a202641026a2d00003a0000201720262f00003b0000201841026a200341026a2d00003a0000201820032f00003b0000202341026a200741026a2d00003a0000202320072f00003b0000200541f0006a41286a20054190036a41286a290300370300200541f0006a41206a20054190036a41206a290300370300200541f0006a41186a20054190036a41186a290300370300200541f0006a41106a20054190036a41106a290300370300200541f0006a41086a20054190036a41086a29030037030020052005290390033703700240024020012802282207450d0020012007417f6a36022820012001280224220741016a22034100200128021c222320032023491b6b3602240240200128022020074102746a2802002203200128021822074f0d00200128021420034107746a220720072d00004108464102746a10d8898080002007204e3a0000200720243a0004200720223a0008200720213a000c200720052f00b1073b0001200741036a200541b1076a41026a2d00003a0000200720052f00ae073b0005200741076a200541ae076a41026a2d00003a0000200720052f00ab073b00092007410b6a200541ab076a41026a2d00003a0000200720052f00a8073b000d2007410f6a200541a8076a41026a2d00003a0000200720203a00102007201f3a00142007201e3a00182007201d3a001c200720052f00a5073b0011200741136a200541a5076a41026a2d00003a0000200720052f00a2073b0015200741176a200541a2076a41026a2d00003a0000200720052f009f073b00192007411b6a2005419f076a41026a2d00003a0000200720052f009c073b001d2007411f6a2005419c076a41026a2d00003a00002007201b3a0020200720193a0024200720143a0028200720123a002c200720052f0099073b0021200741236a20054199076a41026a2d00003a0000200720052f0096073b0025200741276a20054196076a41026a2d00003a0000200720052f0093073b00292007412b6a20054193076a41026a2d00003a0000200720052f0090073b002d2007412f6a20054190076a41026a2d00003a0000200720113a0030200741336a2005418d076a41026a2d00003a0000200720052f008d073b00312007200d3a0034200741376a2005418a076a41026a2d00003a0000200720052f008a073b00352007200e3a00382007413b6a20054187076a41026a2d00003a0000200720052f0087073b00392007200c3a003c2007413f6a20054184076a41026a2d00003a0000200720052f0084073b003d2007200b3a0040200741c3006a20054181076a41026a2d00003a0000200720052f0081073b00412007200f3a0044200741c7006a200541fe066a41026a2d00003a0000200720052f00fe063b0045200720063a0048200741cb006a200541fb066a41026a2d00003a0000200720052f00fb063b0049200720093a004c200741cf006a200541f8066a41026a2d00003a0000200720052f00f8063b004d200720083a0050200741d3006a200541f5066a41026a2d00003a0000200720052f00f5063b00512007200a3a0054200741d7006a200541f2066a41026a2d00003a0000200720052f00f2063b0055200720103a0058200741db006a200541ef066a41026a2d00003a0000200720052f00ef063b0059200720253a005c200741df006a200541ec066a41026a2d00003a0000200720052f00ec063b005d200720043a0060200741e3006a200541e8066a41026a2d00003a0000200720052f01e8063b0061200741fc006a200541e0066a280200360200200741f4006a200541d8066a290300370200200741ec006a200541c8066a41086a290300370200200720052903c8063702640c020b2003200741e4abc68000108281808000000b0240200128021822032001280210470d00200141106a41f4abc680001092868080000b200128021420034107746a2207204e3a0000200720052f00b1073b0001200720243a0004200720052f00ae073b0005200720223a0008200720052f00ab073b0009200720213a000c200720052f00a8073b000d200741036a200541b1076a41026a2d00003a0000200741076a200541ae076a41026a2d00003a00002007410b6a200541ab076a41026a2d00003a00002007410f6a200541a8076a41026a2d00003a0000200720203a00102007201f3a00142007201e3a00182007201d3a001c200720052f00a5073b0011200741136a200541a5076a41026a2d00003a0000200720052f00a2073b0015200741176a200541a2076a41026a2d00003a0000200720052f009f073b00192007411b6a2005419f076a41026a2d00003a0000200720052f009c073b001d2007411f6a2005419c076a41026a2d00003a00002007201b3a0020200741236a20054199076a41026a2d00003a0000200720052f0099073b0021200720193a0024200741276a20054196076a41026a2d00003a0000200720052f0096073b0025200720143a00282007412b6a20054193076a41026a2d00003a0000200720052f0093073b0029200720123a002c2007412f6a20054190076a41026a2d00003a0000200720052f0090073b002d200720113a0030200741336a2005418d076a41026a2d00003a0000200720052f008d073b00312007200d3a0034200741376a2005418a076a41026a2d00003a0000200720052f008a073b00352007200e3a00382007413b6a20054187076a41026a2d00003a0000200720052f0087073b00392007200c3a003c2007413f6a20054184076a41026a2d00003a0000200720052f0084073b003d2007200b3a0040200741c3006a20054181076a41026a2d00003a0000200720052f0081073b00412007200f3a0044200741c7006a200541fe066a41026a2d00003a0000200720052f00fe063b0045200720063a0048200741cb006a200541fb066a41026a2d00003a0000200720052f00fb063b0049200720093a004c200741cf006a200541f8066a41026a2d00003a0000200720052f00f8063b004d200720083a0050200741d3006a200541f5066a41026a2d00003a0000200720052f00f5063b00512007200a3a0054200741d7006a200541f2066a41026a2d00003a0000200720052f00f2063b0055200720103a0058200741db006a200541ef066a41026a2d00003a0000200720052f00ef063b0059200720253a005c200741df006a200541ec066a41026a2d00003a0000200720052f00ec063b005d200720043a0060200741e3006a200541e8066a41026a2d00003a0000200720052f01e8063b0061200741fc006a200541e0066a280200360200200741f4006a200541d8066a290300370200200741ec006a200541d0066a290300370200200720052903c8063702642001200341016a3602180b20002005290370370228200041d0006a20054198016a290300370200200041c8006a20054190016a290300370200200041c0006a20054188016a290300370200200041386a20054180016a290300370200200041306a200541f8006a290300370200200041063a0000200020052f00703b0001200041036a200541f2006a2d00003a000020002003360208200041003a00040c070b200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090c030b200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090b2005200141dc006a36027c200520133702742005200b36027020054180016a200541840a6a41cc0010f4978080001a200541cf016a200541d6096a2d00003a0000200520173a00cc01200520052f01d4093b00cd01200541f0006a109a8d8080001a0b200541f8056a41286a220720054190036a41286a290300370300200541f8056a41206a220420054190036a41206a290300370300200541f8056a41186a220620054190036a41186a290300370300200541f8056a41106a220f20054190036a41106a290300370300200541f8056a41086a220b20054190036a41086a29030037030020052005290390033703f805200520052802800520052802a405220c200c41284b220c1b360278200520052802fc04200541f8046a410472200c1b360274200520052802f804360270200541f8056a200541f0006a10e097808000200541c0016a2007290300370200200541b8016a2004290300370200200541b0016a2006290300370200200541a8016a200f290300370200200541a0016a200b290300370200200541fc006a201029030037020020054184016a200a2903003702002005418c016a200829030037020020054194016a2009280200360200200520052903f80537029801200520052903b004370274200541063a007020002001200541f0006a20034101108d8a80800020052802a4054129490d0220052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000c020b2005200141dc006a36027c200520133702742005200f36027020054180016a200541840a6a41cc0010f4978080001a200541cf016a200541d6096a2d00003a0000200520173a00cc01200520052f01d4093b00cd01200541f0006a109a8d8080001a0b200541f0006a41286a220720054190036a41286a290300370300200541f0006a41206a220420054190036a41206a290300370300200541f0006a41186a220120054190036a41186a290300370300200541f0006a41106a220920054190036a41106a290300370300200541f0006a41086a220620054190036a41086a2903003703002005200529039003370370200520052802800520052802a405220f200f41284b220f1b36028006200520052802fc04200541f8046a410472200f1b3602fc05200520052802f8043602f805200541f0006a200541f8056a10e097808000200041d8006a2007290300370200200041d0006a2004290300370200200041c8006a2001290300370200200041c0006a2009290300370200200041386a20062903003702002000200529037037023020054183066a20102903003700002005418b066a200a29030037000020054193066a20032903003700002005419b066a2008290300370000200541a3066a200541a8056a41286a280200360000200520052903a8053700fb05200041053a0000200020052900f805370001200041096a200541f8056a41086a290000370000200041116a200541f8056a41106a290000370000200041196a200541f8056a41186a290000370000200041216a200541f8056a41206a290000370000200041286a2005419f066a29000037000020052802a4054129490d0020052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000b20052d00d00a417c6a41ff01712207410420074104491b417f6a41ff01714102490d00200541d00a6a10d8898080000b20052802e003450d00200528028c044129490d0020052802e40322072007417e6a2f00006b41002802ec82d48000118180808000000b20022d0000417c6a41ff01712207410420074104491b417e6a41ff017141034f0d010c020b20022d0000417c6a41ff01712207410420074104491b417e6a41ff01714103490d010b200210d8898080000b200541b00b6a2480808080000baf0101027f024020012802182203200128020c2204470d002001410c6a4184acc6800010948f808000200128020c2104200128021821030b2001280210200128021420036a22034100200420032004491b6b4102746a20023602002001200128021841016a36021802402002200128020822044f0d002000200128020420024107746a220141800110f4978080001a200141043a0004200141083a00000f0b200220044194acc68000108281808000000bb69301030e7f017e3b7f23808080800041b00b6b220524808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020022d00002206417c6a41ff01712207410420074104491b417e6a0e03030102000b2000200241e00010f4978080001a0c1f0b200241056a210820022d000421092002280230220a2d00004102460d0241002106410121070c030b200541e8036a200241c4006a290200370300200541f0036a200241cc006a290200370300200541f8036a200241d4006a2902003703002005200229023c3703e00341012107200241016a2108200241306a2109200228025c210b2002280238210c2002280234210d2002280230210e200228022c220a2d00004102460d064100210f0c070b20054190036a41286a200241d0006a290200370300200541b0036a200241c8006a29020037030020054190036a41186a200241c0006a29020037030020054190036a41106a200241386a29020037030020054190036a41086a200241306a2902003703002005200229022837039003200541de036a200241076a2d00003a0000200541c0036a41086a200241146a290200370300200541c0036a41106a2002411c6a290200370300200541c0036a41186a200241246a280200360200200520022f00053b01dc032005200229020c3703c00320022d00042106200228020821102003280200210a2003280204210820032802082109024002400240024002400240024002400240024020040d0020052802980320052802bc032204200441284b1b2207417f6a210f2007450d13200741017420096a200528029003417f736a2209410176210720052802940320054190036a410472200441284b1b200f6a2d0000410f71210f024020094101710d00200720084d0d032007200841fce4cd8000109181808000000b200720084b0d1420072008490d0120072008419ce5cd8000108281808000000b2009410176210702400240200941017122040d0041002109200720084d0d012007200841fce4cd8000109181808000000b200720084b0d15200720084f0d16200a20076a2d000041047621090b2005420037029801200541003602d80a200520073602d40a2005200a3602d00a200541f0006a200541d00a6a4100200510ed978080001a2004450d0620052d009c014101710d04200541f0006a41046a21042009410474210f200541f0006a41044128200528029801220b41284b22081b6a2802002209200b412820081b460d022004200541f0006a41286a20081b21042005280270200541f0006a20081b21080c030b200a20076a22042d0000210941002108200541f0006a41286a220b4100360200200541f0006a200a200410cd89808000200541d00a6a41286a220c200b280200220b360200200541d00a6a41206a220e200541f0006a41206a290200370300200541d00a6a41186a220d200541f0006a41186a290200370300200541d00a6a41106a2211200541f0006a41106a290200370300200541d00a6a41086a2212200541f0006a41086a2902003703002005200529027022133703d00a200541d00a6a41047221042009417071200f72211402400240200541d00a6a41044128200b41284b22091b6a280200220f200b412820091b460d002004200c20091b21042013a7200541d00a6a20091b21090c010b200541d00a6a10cf8980800020052802d40a210f20052802d00a21090b2009200f6a20143a00002004200428020041016a360200200541f8056a41086a2012290300370300200541f8056a41106a2011290300370300200541f8056a41186a200d290300370300200541f8056a41206a200e290300370300200541f8056a41286a200c280200360200200520052903d00a3703f8050c060b41002104200541003602e003200f4104742115410121080c060b200541f0006a10d99780800020052802742109200528027021080b200820096a200f3a00002004200428020041016a3602000c010b20052802742005280298012204200441284b22041b2208450d112005280270200541f0006a20041b20086a417f6a220420042d00002009723a00000b2005200528029c0141016a36029c010b20052005280290033602d80a200520052802980320052802bc032204200441284b22041b3602d40a200520052802940320054190036a41047220041b3602d00a200541f0006a200541d00a6a4100200510ed978080001a200528029c01220841017621040240024020084101710d00200420052802742005280298012209200941284b22091b220f4b0d122005280270200541f0006a20091b21090c010b200420052802742005280298012209200941284b1b220f4b0d122004200f4f0d132005280270200541f0006a200941284b1b220920046a2d000041707121150b200541d00a6a41286a220f4100360200200541d00a6a2009200920046a10cd89808000200541f8056a41286a200f280200360200200541f8056a41206a200541d00a6a41206a290200370300200541f8056a41186a200541d00a6a41186a290200370300200541f8056a41106a200541d00a6a41106a290200370300200541f8056a41086a200541d00a6a41086a290200370300200520052902d00a3703f8052005280298014129490d00200528027022042004417e6a2f00006b41002802ec82d48000118180808000000b200541ec036a20054180066a290300370200200541f4036a20054188066a290300370200200541fc036a20054190066a29030037020020054184046a20054198066a2903003702002005418c046a200541f8056a41286a2802002204360200200520052903f80522133702e403200541013602e00320052802e8032004200441284b220f1b21092013a7200541e4036a200f1b21040b2009200720041b2116200841017121172004200a20041b2118024002402006410171450d0020054190046a41026a200541dc036a41026a2d00003a00002005419f046a200541c0036a41086a290300370000200541a7046a200541d0036a290300370000200541af046a200541d8036a2d00003a0000200520052f01dc033b0190042005201036009304200520052903c00337009704200520153a0079200520173a007820052016360274200520183602702005200120054190046a200541f0006a108c8a808000200528020421102005280200410171450d01200041083a000020002010360204024020052802e003450d00200528028c044129490d0020052802e40322072007417e6a2f00006b41002802ec82d48000118180808000000b20052802bc034129490d1c20052802940322072007417e6a2f00006b41002802ec82d48000118180808000000c1c0b024020012802282204200128021c2207470d002001411c6a4184acc6800010948f808000200128021c2107200128022821040b2001280220200128022420046a22044100200720042007491b6b4102746a20103602002001200128022841016a3602282010200128021822074f0d120c190b024020012802282204200128021c2207470d002001411c6a4184acc6800010948f808000200128021c2107200128022821040b2001280220200128022420046a22044100200720042007491b6b4102746a20103602002001200128022841016a3602282001280218220720104b0d18201020074194acc68000108281808000000b0240200a2d00244102460d0041012106410221070c010b410221060240200a2d00484102460d00410321070c010b0240200a2d006c4102460d0041032106410421070c010b0240200a2d0090014102460d0041042106410521070c010b0240200a2d00b4014102460d0041052106410621070c010b0240200a2d00d8014102460d0041062106410721070c010b0240200a2d00fc014102460d0041072106410821070c010b0240200a2d00a0024102460d0041082106410921070c010b0240200a2d00c4024102460d0041092106410a21070c010b0240200a2d00e8024102460d00410a2106410b21070c010b0240200a2d008c034102460d00410b2106410c21070c010b0240200a2d00b0034102460d00410c2106410d21070c010b0240200a2d00d4034102460d00410d2106410e21070c010b0240200a2d00f8034102460d00410e2106410f21070c010b200a2d009c044102460d01410f2106411021070b200741246c2107024002400340200741246a220441e404460d01200a20076a21102004210720102d00004102460d000c020b0b200941ff01714103460d020b2000200a360230200020093a0004200041073a0000200020082900003700052000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a2900003700000c170b0240200941ff01714103460d00200020082900003700052000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a2900003700002005410036027820054201370270200041306a200541f0006a10e497808000200020093a0004200041053a00000c020b4198aac68000412f41c8aac68000108081808000000b200541003602800a200520063a0070200541d8096a200541f0006a200541f0006a41016a10d797808000200a200641246c6a22072d00002104200741023a000020044102460d0e200541106a41246a200741206a2800003600002005412d6a200741196a290000370000200541256a200741116a2900003700002005411d6a200741096a290000370000200541c4006a200541e0096a290200370200200541cc006a200541e8096a290200370200200541d4006a200541f0096a290200370200200541dc006a200541d8096a41206a290200370200200541e4006a200541800a6a28020036020020054101360238200520052902d80937023c20052007290001370015200541063a0010200520043a001420002001200541106a20034100108f8a8080000b200a200a417e6a2f01006b41002802ec82d48000118180808000000c140b0240200a2d00244102460d004101210f410221070c010b4102210f0240200a2d00484102460d00410321070c010b0240200a2d006c4102460d004103210f410421070c010b0240200a2d0090014102460d004104210f410521070c010b0240200a2d00b4014102460d004105210f410621070c010b0240200a2d00d8014102460d004106210f410721070c010b0240200a2d00fc014102460d004107210f410821070c010b0240200a2d00a0024102460d004108210f410921070c010b0240200a2d00c4024102460d004109210f410a21070c010b0240200a2d00e8024102460d00410a210f410b21070c010b0240200a2d008c034102460d00410b210f410c21070c010b0240200a2d00b0034102460d00410c210f410d21070c010b0240200a2d00d4034102460d00410d210f410e21070c010b0240200a2d00f8034102460d00410e210f410f21070c010b200a2d009c044102460d01410f210f411021070b200741246c2107024002400340200741246a220441e404460d01200a20076a21102004210720102d00004102460d000c020b0b200641ff01714103460d020b2000200929020037023020002008290000370001200041d8006a200941286a290200370200200041d0006a200941206a290200370200200041c8006a200941186a290200370200200041c0006a200941106a290200370200200041386a200941086a290200370200200041096a200841086a290000370000200041116a200841106a290000370000200041196a200841186a290000370000200041216a200841206a290000370000200041286a200841276a2800003600002000200a36022c200020063a00000c120b0240200641ff01714103460d0020002008290000370005200020092902003702302000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a290000370000200041386a200941086a290200370200200041c0006a200941106a290200370200200041c8006a200941186a290200370200200041d0006a200941206a290200370200200041d8006a200941286a290200370200200020063a0004200041053a00000c100b4198aac68000412f418cabc68000108081808000000b200a200f41246c6a22072d00002110200741023a000002400240024002400240024020104102460d0020072802042108200541d4096a41026a200741036a2d00003a000020054198036a200741106a29020037030020054190036a41106a200741186a29020037030020054190036a41186a200741206a280200360200200520072f00013b01d40920052007290208370390032003280208200c200b200b41284b1b410174200e6b6a2209410176210720032802042104200328020021030240200941017122090d00200720044d0d032007200441fce4cd8000109181808000000b200720044b0d1020072004490d0120072004419ce5cd8000108281808000000b41d8aac680004124419cabc6800010a181808000000b200541003602a409200320076a22042d00002106200541fc086a2003200410cd89808000200541fc086a41286a2111200541fc086a41046a21042006417071200f722114200541fc086a4104412820052802a409221941284b22061b6a28020022122019412820061b460d012004201120061b210420052802fc08200541fc086a20061b21060c020b41002104200541003602f804200f41047421110c020b200541fc086a10cf89808000200528028009211220052802fc0821060b200620126a20143a00002004200428020041016a36020020054184056a20054184096a2902003702002005418c056a2005418c096a29020037020020054194056a20054194096a2902003702002005419c056a2005419c096a290200370200200541a4056a20112802002206360200200520052902fc0822133702fc04200541013602f8042013a7200541f8046a41046a200641284b22111b2104200528028005200620111b21060b2006200720041b2106200941017321092004200320041b210702402010410171450d00200541f0016a41026a200541d4096a41026a2d00003a0000200541ff016a20054190036a41086a29030037000020054187026a20054190036a41106a2903003700002005418f026a200541a8036a2d00003a0000200520052f01d4093b01f001200520083600f30120052005290390033700f701200520113a00d90a200520093a00d80a200520063602d40a200520073602d00a200541086a2001200541f0016a200541d00a6a108c8a808000200528020c21042005280208410171450d0d200041083a000020002004360204024020052802f804450d0020052802a4054129490d0020052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000b200a200a417e6a2f01006b41002802ec82d4800011818080800000200b4129490d12200d200d417e6a2f00006b41002802ec82d48000118180808000000c120b024020012802282210200128021c2204470d002001411c6a4184acc6800010948f808000200128021c2104200128022821100b2001280220200128022420106a22104100200420102004491b6b4102746a20083602002001200128022841016a3602282008200128021822044f0d0b200541f0006a200128021420084107746a220441800110f4978080001a200441043a0004200441083a00000c0d0b200f41004188aac68000108281808000000b20072008418ce5cd8000109181808000000b20072008418ce5cd8000109181808000000b20072008419ce5cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b2004200f41b4e7cd8000109181808000000b2004200f41c4e7cd8000109181808000000b2004200f41d4e7cd8000108281808000000b201020074194acc68000108281808000000b41d8aac68000412441fcaac6800010a181808000000b20072004418ce5cd8000109181808000000b200820044194acc68000108281808000000b200541f0006a200141106a2004108e8a8080000b024002400240024020052d007022104108460d00200541e7026a200541f0006a41286a280000360000200541c0026a41206a20054191016a290000370300200541c0026a41186a20054189016a290000370300200541c0026a41106a20054181016a290000370300200541c0026a41086a200541f9006a29000037030020054190026a41086a200541f0006a41306a220441086a29020037030020054190026a41106a200441106a29020037030020054190026a41186a200441186a29020037030020054190026a41206a200441206a29020037030020054190026a41286a200441286a290200370300200520052900713703c0022005200429020037039002200528029c012104200541f0026a41186a2203200541e8016a290200370300200541f0026a41106a2208200541e0016a290200370300200541f0026a41086a2212200541d8016a29020037030041002114200541a8096a41286a22194100360200200520052902d0013703f002200541a8096a2007200720066a10cd89808000200541f8056a41186a2003290300370300200541f8056a41106a2008290300370300200541f8056a41086a2012290300370300200541f8056a41286a200541a8096a41086a290200370300200541f8056a41306a200541a8096a41106a290200370300200541b0066a200541a8096a41186a290200370300200541b8066a200541a8096a41206a290200370300200541c0066a2019280200360200200520052903f0023703f805200520052902a80937039806200520113a00c506200520093a00c406200541c5066a2107200128025c2203450d01200541d00a6a20032001280260200541f8056a10d083808000024020052802d00a0d0020052802c0064129490d0420052802980622072007417e6a2f00006b41002802ec82d48000118180808000000c040b20052802d40a211420052902d80a2113200541840a6a200541f8056a41cc0010f4978080001a200541c0036a41026a200741026a2d00003a0000200520072f00003b01c0030c020b200541c0026a41086a200541fd006a290000370300200541c0026a41106a20054185016a290000370300200541c0026a41186a2005418d016a290000370300200541c0026a41206a20054195016a290000370300200541e7026a2005419c016a28000036000020054190026a41086a200541ac016a29020037030020054190026a41106a200541b4016a29020037030020054190026a41186a200541bc016a29020037030020054190026a41206a200541c4016a290200370300200541b8026a200541cc016a290200370300200520052900753703c002200520052902a4013703900220052802a001210420052d007421100c020b200541840a6a200541f8056a41cc0010f4978080001a200541c0036a41026a200741026a2d00003a0000200520072f00003b01c0030b2005200141dc006a3602dc0a200520133702d40a200520143602d00a200541e00a6a200541840a6a41cc0010f4978080001a200541af0b6a200541c2036a2d00003a0000200520093a00ac0b200520052f01c0033b00ad0b200541d00a6a109a8d8080001a0b02400240024002402010417c6a41ff01712207410420074104491b417f6a0e0401000002000b41acabc68000412841d4abc68000108081808000000b200541f8056a41286a20054190026a41286a290300370300200541f8056a41206a20054190026a41206a290300370300200541f8056a41186a20054190026a41186a290300370300200541f8056a41106a20054190026a41106a290300370300200541f8056a41086a220720054190026a41086a29030037030020052005290390023703f805200541d00a6a41086a2210200c360200200541e40a6a200541e0036a41086a290300370200200541ec0a6a200541e0036a41106a290300370200200541f40a6a200541e0036a41186a2903003702002005200d3602d40a2005200e3602d00a200520052903e0033702dc0a2005200b3602fc0a2005410136028c0a200541013602840a2005200f3a00c0032005200541c0036a3602880a200541d00a6a200541840a6a10e0978080002005200728020020052802a4062207200741284b22071b36028c0a200520052802fc05200541f8056a41047220071b3602880a200520052802f8053602840a200541d00a6a200541840a6a10e097808000200041d8006a200541d00a6a41286a290200370200200041d0006a200541d00a6a41206a290200370200200041c8006a200541d00a6a41186a290200370200200041c0006a200541d00a6a41106a290200370200200041386a2010290200370200200020052902d00a370230200541840a6a410b6a200541c0026a410b6a290000370000200541840a6a41136a200541c0026a41136a290000370000200541840a6a411b6a200541c0026a411b6a290000370000200541840a6a41236a200541c0026a41236a290000370000200520052900c3023700870a200041053a00002000200436022c200020052900840a370001200041096a200541840a6a41086a290000370000200041116a200541840a6a41106a290000370000200041196a200541840a6a41186a290000370000200041216a200541840a6a41206a290000370000200041286a200541ab0a6a28000036000020052802a4064129490d0120052802fc0522072007417e6a2f00006b41002802ec82d48000118180808000000c010b200020103a0000200020052903c002370001200541f8056a41286a20054190026a41286a290300370300200541f8056a41206a20054190026a41206a290300370300200541f8056a41186a20054190026a41186a290300370300200541f8056a41106a20054190026a41106a290300370300200541f8056a41086a220720054190026a41086a290300370300200041096a200541c0026a41086a290300370000200041116a200541c0026a41106a290300370000200041196a200541c0026a41186a290300370000200041216a200541c0026a41206a290300370000200041286a200541e7026a28000036000020052005290390023703f805200541d00a6a41086a2210200c360200200541e40a6a200541e0036a41086a290300370200200541ec0a6a200541e0036a41106a290300370200200541f40a6a200541e0036a41186a2903003702002005200d3602d40a2005200e3602d00a200520052903e0033702dc0a2005200b3602fc0a2005410136028c0a200541013602840a2005200f3a00c0032005200541c0036a3602880a200541d00a6a200541840a6a10e0978080002005200728020020052802a4062207200741284b22071b36028c0a200520052802fc05200541f8056a41047220071b3602880a200520052802f8053602840a200541d00a6a200541840a6a10e097808000200041d8006a200541d00a6a41286a290200370200200041d0006a200541d00a6a41206a290200370200200041c8006a200541d00a6a41186a290200370200200041c0006a200541d00a6a41106a290200370200200041386a2010290200370200200020052902d00a3702302000200436022c20052802a4064129490d0020052802fc0522072007417e6a2f00006b41002802ec82d48000118180808000000b20052802f804450d0020052802a4054129490d0020052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000b200a200a417e6a2f01006b41002802ec82d48000118180808000000c010b200128021420104107746a22072d0060211a20072d005c210420072d0058211020072d0054210a20072d0050210820072d004c210920072d0048210620072d0044210f20072d0040210b20072d003c210c20072d0038210e20072d0034210d20072d0030211120072d002c211220072d0028211420072d0024211920072d0020211b20072d001c211c20072d0018211d20072d0014211e20072d0010211f20072d000c212020072d0008212120072d0004212220072d00002123200741043a0004200741083a0000200741e1006a2124200741dd006a2125200741d9006a2126200741d5006a2127200741d1006a2128200741cd006a2129200741c9006a212a200741c5006a212b200741c1006a212c2007413d6a212d200741396a212e200741356a212f200741316a21302007412d6a2131200741296a2132200741256a2133200741216a21342007411d6a2135200741196a2136200741156a2137200741116a21382007410d6a2139200741096a213a200741056a213b0240024020234108460d00200541f0006a41026a200741036a2d00003a0000200541f8056a41026a203b41026a2d00003a0000200541840a6a41026a203a41026a2d00003a0000200541f8046a41026a203941026a2d00003a0000200541d4096a41026a203841026a2d00003a0000200520072f00013b01702005203b2f00003b01f8052005203a2f00003b01840a200520392f00003b01f804200520382f00003b01d409200541fc076a41026a203741026a2d00003a0000200541f8076a41026a203641026a2d00003a0000200541f4076a41026a203541026a2d00003a0000200541f0076a41026a203441026a2d00003a0000200541ec076a41026a203341026a2d00003a0000200520372f00003b01fc07200520362f00003b01f807200520352f00003b01f407200520342f00003b01f007200520332f00003b01ec07200541e8076a41026a203241026a2d00003a0000200520322f00003b01e807200541e4076a41026a203141026a2d00003a0000200520312f00003b01e407200541e0076a41026a203041026a2d00003a0000200520302f00003b01e007200541dc076a41026a202f41026a2d00003a00002005202f2f00003b01dc07200541d8076a41026a202e41026a2d00003a00002005202e2f00003b01d807200541d4076a41026a202d41026a2d00003a00002005202d2f00003b01d407200541d0076a41026a202c41026a2d00003a00002005202c2f00003b01d007200541cc076a41026a202b41026a2d00003a00002005202b2f00003b01cc07200541c8076a41026a202a41026a2d00003a00002005202a2f00003b01c807200541c4076a41026a202941026a2d00003a0000200520292f00003b01c407200541c0076a41026a202841026a2d00003a0000200520282f00003b01c007200541bc076a41026a202741026a2d00003a0000200520272f00003b01bc07200541b8076a41026a202641026a2d00003a0000200520262f00003b01b807200541b4076a41026a202541026a2d00003a0000200520252f00003b01b407200541a0086a41026a202441026a2d00003a0000200520242f00003b01a00820054198086a200741fc006a28000036020020054190086a200741f4006a29000037030020054180086a41086a200741ec006a29000037030020052007290064370380082010212520232124200a21102008210a2009210820062109200f2106200b210f200c210b200e210c200d210e2011210d201221112014211220192114201b2119201c211b0c010b200541f0006a41026a203b41026a2d00003a0000200541f8056a41026a203a41026a2d00003a0000200541840a6a41026a203941026a2d00003a0000200541f8046a41026a203841026a2d00003a0000200541d4096a41026a203741026a2d00003a00002005203b2f00003b01702005203a2f00003b01f805200520392f00003b01840a200520382f00003b01f804200520372f00003b01d409200541fc076a41026a203641026a2d00003a0000200541f8076a41026a203541026a2d00003a0000200541f4076a41026a203441026a2d00003a0000200541f0076a41026a203341026a2d00003a0000200541ec076a41026a203241026a2d00003a0000200520362f00003b01fc07200520352f00003b01f807200520342f00003b01f407200520332f00003b01f007200520322f00003b01ec07200541e8076a41026a203141026a2d00003a0000200520312f00003b01e807200541e4076a41026a203041026a2d00003a0000200520302f00003b01e407200541e0076a41026a202f41026a2d00003a00002005202f2f00003b01e007200541dc076a41026a202e41026a2d00003a00002005202e2f00003b01dc07200541d8076a41026a202d41026a2d00003a00002005202d2f00003b01d807200541d4076a41026a202c41026a2d00003a00002005202c2f00003b01d407200541d0076a41026a202b41026a2d00003a00002005202b2f00003b01d007200541cc076a41026a202a41026a2d00003a00002005202a2f00003b01cc07200541c8076a41026a202941026a2d00003a0000200520292f00003b01c807200541c4076a41026a202841026a2d00003a0000200520282f00003b01c407200541c0076a41026a202741026a2d00003a0000200520272f00003b01c007200541bc076a41026a202641026a2d00003a0000200520262f00003b01bc07200541b8076a41026a202541026a2d00003a0000200520252f00003b01b807200541b4076a41026a202441026a2d00003a0000200520242f00003b01b40720042125201a2104202221242021212220202121201f2120201e211f201d211e201c211d0b200541d70a6a200541f8056a41026a2d00003a0000200541db0a6a200541840a6a41026a2d00003a0000200541df0a6a200541f8046a41026a2d00003a0000200520052f01703b00d10a200520223a00d40a200520052f01f8053b00d50a200520213a00d80a200520052f01840a3b00d90a200520203a00dc0a200520052f01f8043b00dd0a2005200541f0006a41026a2d00003a00d30a200520243a00d00a200541e30a6a200541d4096a41026a2d00003a0000200541e70a6a200541fc076a41026a2d00003a0000200541eb0a6a200541f8076a41026a2d00003a0000200541ef0a6a200541f4076a41026a2d00003a00002005201f3a00e00a2005201e3a00e40a2005201d3a00e80a2005201b3a00ec0a200520052f01d4093b00e10a200520052f01fc073b00e50a200520052f01f8073b00e90a200520052f01f4073b00ed0a200541f30a6a200541f0076a41026a2d00003a0000200541f70a6a200541ec076a41026a2d00003a0000200541fb0a6a200541e8076a41026a2d00003a0000200541ff0a6a200541e4076a41026a2d00003a0000200520193a00f00a200520143a00f40a200520123a00f80a200520113a00fc0a200520052f01f0073b00f10a200520052f01ec073b00f50a200520052f01e8073b00f90a200520052f01e4073b00fd0a2005200d3a00800b200541830b6a200541e0076a41026a2d00003a0000200520052f01e0073b00810b2005200e3a00840b200541870b6a200541dc076a41026a2d00003a0000200520052f01dc073b00850b2005200c3a00880b2005418b0b6a200541d8076a41026a2d00003a0000200520052f01d8073b00890b2005200b3a008c0b2005418f0b6a200541d4076a41026a2d00003a0000200520052f01d4073b008d0b2005200f3a00900b200541930b6a200541d0076a41026a2d00003a0000200520052f01d0073b00910b200520063a00940b200541970b6a200541cc076a41026a2d00003a0000200520052f01cc073b00950b200520093a00980b2005419b0b6a200541c8076a41026a2d00003a0000200520052f01c8073b00990b200520083a009c0b2005419f0b6a200541c4076a41026a2d00003a0000200520052f01c4073b009d0b2005200a3a00a00b200541a30b6a200541c0076a41026a2d00003a0000200520052f01c0073b00a10b200520103a00a40b200541a70b6a200541bc076a41026a2d00003a0000200520052f01bc073b00a50b200520253a00a80b200541ab0b6a200541b8076a41026a2d00003a0000200520052f01b8073b00a90b200520043a00ac0b200541af0b6a200541b4076a41026a2d00003a0000200520052f01b4073b00ad0b200541d00a6a41046a210702400240024002400240024002400240024002400240024002402024417c6a41ff01712226410420264104491b417f6a0e020102000b200541ad0b6a2107200541a90b6a2103200541a50b6a2126200541a10b6a21272005419d0b6a2128200541990b6a2129200541950b6a212a200541910b6a212b2005418d0b6a212c200541890b6a212d200541850b6a212e200541810b6a212f200541fd0a6a2130200541f90a6a2131200541f50a6a2132200541f10a6a2133200541ed0a6a2134200541e90a6a2135200541e50a6a2136200541e10a6a2137200541dd0a6a2138200541d90a6a2139200541d50a6a213a200541d00a6a410172213b20234108470d02200541e8066a2123200541ec066a2118200541ef066a2117200541f2066a2115200541f5066a2116200541f8066a211c200541fb066a213c200541fe066a213d20054181076a213e20054184076a213f20054187076a21402005418a076a21412005418d076a214220054190076a214320054193076a214420054196076a214520054199076a21462005419c076a21472005419f076a2148200541a2076a2149200541a5076a214a200541a8076a214b200541ab076a214c200541ae076a214d4108214e0c030b200541f8046a41286a200541800b6a220441286a290200370300200541f8046a41206a200441206a290200370300200541f8046a41186a200441186a290200370300200541f8046a41106a200441106a290200370300200541f8046a41086a200441086a290200370300200541a8056a41086a2210200741086a290200370300200541a8056a41106a220a200741106a290200370300200541a8056a41186a2203200741186a290200370300200541a8056a41206a2208200741206a290200370300200541a8056a41286a200741286a280200360200200520042902003703f804200520072902003703a80520234108460d08200541f4056a41026a2207200541a0086a41026a2d00003a0000200541d8056a41086a220420054180086a41086a290300370300200541d8056a41106a220920054180086a41106a290300370300200541d8056a41186a220620054180086a41186a2802003602004100210f200541a4086a41286a220b4100360200200520052f01a0083b01f40520052005290380083703d805200541a4086a2018201820166a10cd8980800020054184066a20042903003702002005418c066a200929030037020020054194066a2006280200360200200541f8056a41286a200541a4086a41086a290200370200200541a8066a200541a4086a41106a290200370200200541b0066a200541a4086a41186a290200370200200541b8066a200541a4086a41206a290200370200200541c0066a200b2802003602002005201a3a00f805200520052f01f4053b00f905200520072d00003a00fb05200520052903d8053702fc05200520052902a40837029806200520153a00c506200520173a00c406200541c5066a2107200128025c2204450d03200541f0006a20042001280260200541f8056a10d083808000024020052802700d0020052802c0064129490d0920052802980622072007417e6a2f00006b41002802ec82d48000118180808000000c090b2005280274210f20052902782113200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090c070b200541f8046a41286a200541d00a6a41286a220441286a290200370300200541f8046a41206a200441206a290200370300200541f8046a41186a200441186a290200370300200541f8046a41106a200441106a290200370300200541f8046a41086a200441086a290200370300200541b0046a41086a2210200741086a290200370300200541b0046a41106a220a200741106a290200370300200541b0046a41186a2208200741186a290200370300200541b0046a41206a2209200741206a280200360200200520042902003703f804200520072902003703b00420234108460d05200541f4046a41026a2207200541a0086a41026a2d00003a0000200541d8046a41086a220420054180086a41086a290300370300200541d8046a41106a220620054180086a41106a290300370300200541d8046a41186a220f20054180086a41186a2802003602004100210b200541d0086a41286a220c4100360200200520052f01a0083b01f40420052005290380083703d804200541d0086a2018201820166a10cd8980800020054184066a20042903003702002005418c066a200629030037020020054194066a200f280200360200200541f8056a41286a200541d0086a41086a290200370200200541a8066a200541d0086a41106a290200370200200541b0066a200541d0086a41186a290200370200200541b8066a200541d0086a41206a290200370200200541c0066a200c2802003602002005201a3a00f805200520052f01f4043b00f905200520072d00003a00fb05200520052903d8043702fc05200520052902d00837029806200520153a00c506200520173a00c406200541c5066a2107200128025c2204450d03200541f0006a20042001280260200541f8056a10d083808000024020052802700d0020052802c0064129490d0620052802980622072007417e6a2f00006b41002802ec82d48000118180808000000c060b2005280274210b20052902782113200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090c040b200541e8066a41026a200541a0086a41026a2d00003a0000200541c8066a41086a20054180086a41086a290300370300200541c8066a41106a20054180086a41106a290300370300200541c8066a41186a20054180086a41186a280200360200200520052f01a0083b01e80620052005290380083703c806200541ec066a2123200541ef066a2118200541f2066a2117200541f5066a2115200541f8066a2116200541fb066a211c200541fe066a213c20054181076a213d20054184076a213e20054187076a213f2005418a076a21402005418d076a214120054190076a214220054193076a214320054196076a214420054199076a21452005419c076a21462005419f076a2147200541a2076a2148200541a5076a2149200541a8076a214a200541ab076a214b200541ae076a214c200541b1076a214d2024214e202221242021212220202121201f2120201e211f201d211e201b211d2019211b201421192012211420112112200d2111200e210d200c210e200b210c200f210b2006210f2009210620082109200a21082010210a2025211020042125201a21040b204d203b2f00003b0000204c203a2f00003b0000204b20392f00003b0000204a20382f00003b0000204920372f00003b0000204d41026a203b41026a2d00003a0000204c41026a203a41026a2d00003a0000204b41026a203941026a2d00003a0000204a41026a203841026a2d00003a0000204941026a203741026a2d00003a0000204841026a203641026a2d00003a0000204820362f00003b0000204720352f00003b0000204741026a203541026a2d00003a0000204620342f00003b0000204641026a203441026a2d00003a0000204520332f00003b0000204541026a203341026a2d00003a0000204441026a203241026a2d00003a0000204420322f00003b0000204341026a203141026a2d00003a0000204320312f00003b0000204241026a203041026a2d00003a0000204220302f00003b0000204141026a202f41026a2d00003a00002041202f2f00003b0000204041026a202e41026a2d00003a00002040202e2f00003b0000203f41026a202d41026a2d00003a0000203f202d2f00003b0000203e41026a202c41026a2d00003a0000203e202c2f00003b0000203d41026a202b41026a2d00003a0000203d202b2f00003b0000203c41026a202a41026a2d00003a0000203c202a2f00003b0000201c41026a202941026a2d00003a0000201c20292f00003b0000201641026a202841026a2d00003a0000201620282f00003b0000201541026a202741026a2d00003a0000201520272f00003b0000201741026a202641026a2d00003a0000201720262f00003b0000201841026a200341026a2d00003a0000201820032f00003b0000202341026a200741026a2d00003a0000202320072f00003b0000200541f0006a41286a20054190036a41286a290300370300200541f0006a41206a20054190036a41206a290300370300200541f0006a41186a20054190036a41186a290300370300200541f0006a41106a20054190036a41106a290300370300200541f0006a41086a20054190036a41086a29030037030020052005290390033703700240024020012802282207450d0020012007417f6a36022820012001280224220741016a22034100200128021c222320032023491b6b3602240240200128022020074102746a2802002203200128021822074f0d00200128021420034107746a220720072d00004108464102746a10d8898080002007204e3a0000200720243a0004200720223a0008200720213a000c200720052f00b1073b0001200741036a200541b1076a41026a2d00003a0000200720052f00ae073b0005200741076a200541ae076a41026a2d00003a0000200720052f00ab073b00092007410b6a200541ab076a41026a2d00003a0000200720052f00a8073b000d2007410f6a200541a8076a41026a2d00003a0000200720203a00102007201f3a00142007201e3a00182007201d3a001c200720052f00a5073b0011200741136a200541a5076a41026a2d00003a0000200720052f00a2073b0015200741176a200541a2076a41026a2d00003a0000200720052f009f073b00192007411b6a2005419f076a41026a2d00003a0000200720052f009c073b001d2007411f6a2005419c076a41026a2d00003a00002007201b3a0020200720193a0024200720143a0028200720123a002c200720052f0099073b0021200741236a20054199076a41026a2d00003a0000200720052f0096073b0025200741276a20054196076a41026a2d00003a0000200720052f0093073b00292007412b6a20054193076a41026a2d00003a0000200720052f0090073b002d2007412f6a20054190076a41026a2d00003a0000200720113a0030200741336a2005418d076a41026a2d00003a0000200720052f008d073b00312007200d3a0034200741376a2005418a076a41026a2d00003a0000200720052f008a073b00352007200e3a00382007413b6a20054187076a41026a2d00003a0000200720052f0087073b00392007200c3a003c2007413f6a20054184076a41026a2d00003a0000200720052f0084073b003d2007200b3a0040200741c3006a20054181076a41026a2d00003a0000200720052f0081073b00412007200f3a0044200741c7006a200541fe066a41026a2d00003a0000200720052f00fe063b0045200720063a0048200741cb006a200541fb066a41026a2d00003a0000200720052f00fb063b0049200720093a004c200741cf006a200541f8066a41026a2d00003a0000200720052f00f8063b004d200720083a0050200741d3006a200541f5066a41026a2d00003a0000200720052f00f5063b00512007200a3a0054200741d7006a200541f2066a41026a2d00003a0000200720052f00f2063b0055200720103a0058200741db006a200541ef066a41026a2d00003a0000200720052f00ef063b0059200720253a005c200741df006a200541ec066a41026a2d00003a0000200720052f00ec063b005d200720043a0060200741e3006a200541e8066a41026a2d00003a0000200720052f01e8063b0061200741fc006a200541e0066a280200360200200741f4006a200541d8066a290300370200200741ec006a200541c8066a41086a290300370200200720052903c8063702640c020b2003200741e4abc68000108281808000000b0240200128021822032001280210470d00200141106a41f4abc680001092868080000b200128021420034107746a2207204e3a0000200720052f00b1073b0001200720243a0004200720052f00ae073b0005200720223a0008200720052f00ab073b0009200720213a000c200720052f00a8073b000d200741036a200541b1076a41026a2d00003a0000200741076a200541ae076a41026a2d00003a00002007410b6a200541ab076a41026a2d00003a00002007410f6a200541a8076a41026a2d00003a0000200720203a00102007201f3a00142007201e3a00182007201d3a001c200720052f00a5073b0011200741136a200541a5076a41026a2d00003a0000200720052f00a2073b0015200741176a200541a2076a41026a2d00003a0000200720052f009f073b00192007411b6a2005419f076a41026a2d00003a0000200720052f009c073b001d2007411f6a2005419c076a41026a2d00003a00002007201b3a0020200741236a20054199076a41026a2d00003a0000200720052f0099073b0021200720193a0024200741276a20054196076a41026a2d00003a0000200720052f0096073b0025200720143a00282007412b6a20054193076a41026a2d00003a0000200720052f0093073b0029200720123a002c2007412f6a20054190076a41026a2d00003a0000200720052f0090073b002d200720113a0030200741336a2005418d076a41026a2d00003a0000200720052f008d073b00312007200d3a0034200741376a2005418a076a41026a2d00003a0000200720052f008a073b00352007200e3a00382007413b6a20054187076a41026a2d00003a0000200720052f0087073b00392007200c3a003c2007413f6a20054184076a41026a2d00003a0000200720052f0084073b003d2007200b3a0040200741c3006a20054181076a41026a2d00003a0000200720052f0081073b00412007200f3a0044200741c7006a200541fe066a41026a2d00003a0000200720052f00fe063b0045200720063a0048200741cb006a200541fb066a41026a2d00003a0000200720052f00fb063b0049200720093a004c200741cf006a200541f8066a41026a2d00003a0000200720052f00f8063b004d200720083a0050200741d3006a200541f5066a41026a2d00003a0000200720052f00f5063b00512007200a3a0054200741d7006a200541f2066a41026a2d00003a0000200720052f00f2063b0055200720103a0058200741db006a200541ef066a41026a2d00003a0000200720052f00ef063b0059200720253a005c200741df006a200541ec066a41026a2d00003a0000200720052f00ec063b005d200720043a0060200741e3006a200541e8066a41026a2d00003a0000200720052f01e8063b0061200741fc006a200541e0066a280200360200200741f4006a200541d8066a290300370200200741ec006a200541d0066a290300370200200720052903c8063702642001200341016a3602180b20002005290370370228200041d0006a20054198016a290300370200200041c8006a20054190016a290300370200200041c0006a20054188016a290300370200200041386a20054180016a290300370200200041306a200541f8006a290300370200200041063a0000200020052f00703b0001200041036a200541f2006a2d00003a000020002003360208200041003a00040c070b200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090c030b200541840a6a200541f8056a41cc0010f4978080001a200541d4096a41026a200741026a2d00003a0000200520072f00003b01d4090b2005200141dc006a36027c200520133702742005200b36027020054180016a200541840a6a41cc0010f4978080001a200541cf016a200541d6096a2d00003a0000200520173a00cc01200520052f01d4093b00cd01200541f0006a109a8d8080001a0b200541f8056a41286a220720054190036a41286a290300370300200541f8056a41206a220420054190036a41206a290300370300200541f8056a41186a220620054190036a41186a290300370300200541f8056a41106a220f20054190036a41106a290300370300200541f8056a41086a220b20054190036a41086a29030037030020052005290390033703f805200520052802800520052802a405220c200c41284b220c1b360278200520052802fc04200541f8046a410472200c1b360274200520052802f804360270200541f8056a200541f0006a10e097808000200541c0016a2007290300370200200541b8016a2004290300370200200541b0016a2006290300370200200541a8016a200f290300370200200541a0016a200b290300370200200541fc006a201029030037020020054184016a200a2903003702002005418c016a200829030037020020054194016a2009280200360200200520052903f80537029801200520052903b004370274200541063a007020002001200541f0006a20034101108f8a80800020052802a4054129490d0220052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000c020b2005200141dc006a36027c200520133702742005200f36027020054180016a200541840a6a41cc0010f4978080001a200541cf016a200541d6096a2d00003a0000200520173a00cc01200520052f01d4093b00cd01200541f0006a109a8d8080001a0b200541f0006a41286a220720054190036a41286a290300370300200541f0006a41206a220420054190036a41206a290300370300200541f0006a41186a220120054190036a41186a290300370300200541f0006a41106a220920054190036a41106a290300370300200541f0006a41086a220620054190036a41086a2903003703002005200529039003370370200520052802800520052802a405220f200f41284b220f1b36028006200520052802fc04200541f8046a410472200f1b3602fc05200520052802f8043602f805200541f0006a200541f8056a10e097808000200041d8006a2007290300370200200041d0006a2004290300370200200041c8006a2001290300370200200041c0006a2009290300370200200041386a20062903003702002000200529037037023020054183066a20102903003700002005418b066a200a29030037000020054193066a20032903003700002005419b066a2008290300370000200541a3066a200541a8056a41286a280200360000200520052903a8053700fb05200041053a0000200020052900f805370001200041096a200541f8056a41086a290000370000200041116a200541f8056a41106a290000370000200041196a200541f8056a41186a290000370000200041216a200541f8056a41206a290000370000200041286a2005419f066a29000037000020052802a4054129490d0020052802fc0422072007417e6a2f00006b41002802ec82d48000118180808000000b20052d00d00a417c6a41ff01712207410420074104491b417f6a41ff01714102490d00200541d00a6a10d8898080000b20052802e003450d00200528028c044129490d0020052802e40322072007417e6a2f00006b41002802ec82d48000118180808000000b20022d0000417c6a41ff01712207410420074104491b417e6a41ff017141034f0d010c020b20022d0000417c6a41ff01712207410420074104491b417e6a41ff01714103490d010b200210d8898080000b200541b00b6a2480808080000b831d04057f017e167f027e23808080800041e0036b2205248080808000024002400240024002400240024002400240024002400240024020022d00004101470d00200541a0016a200241196a29000037030020054198016a200241116a29000037030020054190016a200241096a29000037030020052002290001370388012003280208220641017621020240024020064101710d002002200328020422064b0d04200541003a00b002200520023602ac02200520032802003602a8020c010b2002200328020422064b0d04200220064f0d0520032802002106200541013a00b002200520063602a802200520023602ac022005200620026a2d000041f001713a00b1020b2005200120054188016a200541a8026a108c8a8080002005280204210220052802004101710d0b024020012802282207200128021c2206470d002001411c6a4184acc6800010948f808000200128021c2106200128022821070b2001280220200128022420076a22074100200620072006491b6b4102746a20023602002001200128022841016a3602282001280218220620024b0d01200220064194acc68000108281808000000b20022802042102024020012802282207200128021c2206470d002001411c6a4184acc6800010948f808000200128021c2106200128022821070b2001280220200128022420076a22074100200620072006491b6b4102746a20023602002001200128022841016a3602282002200128021822064f0d040b200128021420024107746a22022d00002106200541296a200241016a41df0010f4978080001a200241043a0004200241083a0000200541086a41086a200241ec006a290200370300200541186a200241f4006a290200370300200541206a200241fc006a2802003602002005200229026437030820022802602107024002400240024020064108460d00200328020821082003280204210920032802002102200541a8026a410172200541296a41df0010f4978080001a20052001360288032005200336028c03200520063a00a802200541c4016a20042001200541a8026a200310918a80800020052802c801210620052802c40122034103470d010c0c0b200541a8026a200541296a41036a41dc0010f4978080001a20052001360288032005200336028c032005200736028403200541c4016a20042001200541a8026a200310918a80800020052802c801210620052802c40122044103460d0b20052802a4022107200529029c02210a200528029802210b200528029402210c200528029002210d200528028c02210e200528028802210f2005280284022110200528028002211120052802fc01211220052802f801211320052802f401211420052802f001211520052802ec01211620052802e801211720052802e401211820052802e001211920052802dc01211a20052802d801211b20052802d401211c20052802d001211d20052802cc01211e41022103410121084108210920040e0302010d020b20052902a002210a200528029c02211f200528029802210b200528029402210c200528029002210d200528028c02210e200528028802210f2005280284022110200528028002211120052802fc01211220052802f801211320052802f401211420052802f001211520052802ec01211620052802e801211720052802e401211820052802e001211920052802dc01211a20052802d801211b20052802d401211c20052802d001211d20052802cc01212002400240024020030e03000102000b200841017621030240024020084101710d000240200320094b0d00410021040c020b2003200941fce4cd8000109181808000000b200320094b0d09200320094f0d0a200220036a2d00004170712108410121040b200a422088212141002109200541a8026a41286a221e4100360200200541a8026a2002200220036a10d797808000200541e4016a220241286a201e280200360200200241206a200541a8026a41206a290200370200200241186a200541a8026a41186a290200370200200241106a200541a8026a41106a290200370200200241086a200541a8026a41086a290200370200200220052902a802370200200541d0016a200541086a41086a290300370200200541d8016a200541086a41106a290300370200200541e0016a200541086a41186a280200360200200520083a009102200520043a009002200520073602c401200520052903083702c80120054191026a2102024002400240200128025c2203450d00200541a8026a20032001280260200541c4016a10d083808000024020052802a802450d0020052802ac02210920052902b002212220054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030c020b200528028c024129490d0220052802e40122022002417e6a2f00006b41002802ec82d48000118180808000000c020b20054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030b2005200141dc006a3602b402200520223702ac02200520093602a802200541b8026a20054194036a41cc0010f4978080001a20054187036a20054192036a2d00003a0000200520043a008403200520052f0190033b008503200541a8026a109a8d8080001a0b2021a72107200a422086201fad84210a4101210841082109410021042020211e0c030b200541a8016a41186a200541086a41186a280200360200200541a8016a41106a200541086a41106a290300370300200541a8016a41086a200541086a41086a290300370300200520052903083703a801200641ff01712109200641807e71210441002108201d211e201c211d201b211c201a211b2019211a20182119201721182016211720152116201421152013211420122113201121122020210620102111200f2110200e210f200d210e200c210d200b210c201f210b0c020b200841017621030240024020084101710d000240200320094b0d00410021060c020b2003200941fce4cd8000109181808000000b200320094b0d09200320094f0d0a200220036a2d00004170712104410121060b4100210b200541a8026a41286a220c4100360200200541a8026a2002200220036a10d797808000200541e4016a220241286a200c280200360200200241206a200541a8026a41206a290200370200200241186a200541a8026a41186a290200370200200241106a200541a8026a41106a290200370200200241086a200541a8026a41086a290200370200200220052902a802370200200541d0016a200541086a41086a290300370200200541d8016a200541086a41106a290300370200200541e0016a200541086a41186a280200360200200520043a009102200520063a009002200520073602c401200520052903083702c80120054191026a2102024002400240200128025c2203450d00200541a8026a20032001280260200541c4016a10d083808000024020052802a802450d0020052802ac02210b20052902b002210a20054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030c020b200528028c024129490d0220052802e40122012001417e6a2f00006b41002802ec82d4800011818080800000410221030c0f0b20054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030b2005200141dc006a3602b4022005200a3702ac022005200b3602a802200541b8026a20054194036a41cc0010f4978080001a20054187036a20054192036a2d00003a0000200520063a008403200520052f0190033b008503200541a8026a109a8d8080001a0b410221030c0c0b41002104410021080b200920047221040240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c220920032009491b6b3602240240200128022020024102746a2802002202200128021822034f0d00200128021420024107746a220120012d00004108464102746a10d889808000200120073602602001200a3702582001200b3602542001200c3602502001200d36024c2001200e3602482001200f360244200120103602402001201136023c2001201236023820012013360234200120143602302001201536022c2001201636022820012017360224200120183602202001201936021c2001201a3602182001201b3602142001201c3602102001201d36020c2001201e3602082001200636020420012004360200200141fc006a200541c0016a280200360200200141f4006a200541b8016a290300370200200141ec006a200541a8016a41086a290300370200200120052903a8013702640c020b2002200341e4abc68000108281808000000b0240200128021822022001280210470d00200141106a41f4abc680001092868080000b200128021420024107746a220320073602602003200a3702582003200b3602542003200c3602502003200d36024c2003200e3602482003200f360244200320103602402003201136023c2003201236023820032013360234200320143602302003201536022c2003201636022820032017360224200320183602202003201936021c2003201a3602182003201b3602142003201c3602102003201d36020c2003201e3602082003200636020420032004360200200341fc006a200541c0016a280200360200200341f4006a200541b8016a290300370200200341ec006a200541b0016a290300370200200320052903a8013702642001200241016a3602180b200821030c0a0b2002200641fce4cd8000109181808000000b20022006418ce5cd8000109181808000000b20022006419ce5cd8000108281808000000b200220064194acc68000108281808000000b20032009418ce5cd8000109181808000000b20032009419ce5cd8000108281808000000b20032009418ce5cd8000109181808000000b20032009419ce5cd8000108281808000000b200621020b410321030b200020033a000420002002360200200541e0036a2480808080000bc04205027f017e077f017e057f23808080800041a0046b2205248080808000200541086a200441086a280200220636020020052004290200220737030020052802042108200541e4006a200341e00010f4978080001a200520062008410174220946220a3a00c401200920066b210b2007a7210c024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020052d0064220d417c6a41ff01712209410420094104491b220e0e050001020304000b200041023602000c200b200541c0036a41286a200341d8006a290200370300200541c0036a41206a200341d0006a290200370300200541c0036a41186a200341c8006a290200370300200541c0036a41106a200341c0006a290200370300200541c0036a41086a200341386a290200220737030020052003290230220f3703c003200541eb006a2d0000210620052d0068210a200528026c2108200528028c012110200528029001211120052f006921122005200fa722093602d001200520052802c403200541c0036a410472220c20052802ec03221341284b22141b3602c80120052007a7201320141b22133602cc012003410c6a210320122006411074722106024002400240201341017420096b200b470d00200541c8016a200510e697808000200b460d0120052802c00321090b200541106a41286a200c41286a280200360200200541106a41206a200c41206a290200370300200541106a41186a200c41186a290200370300200541106a41106a200c41106a290200370300200541106a41086a200c41086a290200370300200541c0006a41086a200341086a290200370300200541c0006a41106a200341106a290200370300200541c0006a41186a200341186a2802003602002005200c29020037031020052003290200370340410121030c010b200428020421092004280200210c20042802082104200541e0026a41106a200341086a290200370200200541e0026a41186a200341106a29020037020020054180036a200341186a280200360200200520083602e4022005200a3a00e00220052011360288032005201036028403200520032902003702e802200520063b00e102200520064110763a00e302200b20046a220441017621030240024020044101710d00200320094b0d06200541003a00b802200520033602b4022005200c3602b0020c010b200320094b0d06200320094f0d07200541013a00b8022005200c3602b002200520033602b4022005200c20036a2d000041f001713a00b9020b20022001200541e0026a200541b0026a10888a80800041022103024020052802ec034129490d0020052802c40322042004417e6a2f00006b41002802ec82d48000118180808000000b0b4105210c0c1d0b200541b0026a41286a200341d0006a290200370300200541b0026a41206a200341c8006a290200370300200541b0026a41186a200341c0006a290200370300200541b0026a41106a200341386a290200370300200541b0026a41086a200341306a290200220737030020052003290228220f3703b002200341076a2d0000210b20032d0004210a2003280208210820032f00052111200520052802b402200541b0026a41047220052802dc02220641284b22091b3602c00320052007a7200620091b22063602c4032005200fa722093602c803200541c0036a200510e697808000220c200641017420096b460d052011200b411074722106200541106a41086a200541b0026a41146a290200370300200541106a41106a200541b0026a411c6a290200370300200541106a41186a200541b0026a41246a290200370300200541106a41206a200541dc026a280200360200200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a280200360200200520052902bc023703102005200329020c370340410121034106210c20052802b802210920052802b402211120052802b00221100c1c0b0240200a0d002005280294012109200541d8026a2003412c6a280200360200200541d0026a200341246a290200370300200541c8026a2003411c6a290200370300200541c0026a200341146a290200370300200541b8026a2003410c6a290200370300200520032902043703b0022006410176220b20084f0d062009200c200b6a2d00002208410f71200841047620064101711b41246c6a22062d00002108200641023a0000024002400240024020084102460d00200541c8016a41096a200641096a290000370000200541c8016a41116a200641116a290000370000200541c8016a41196a200641196a290000370000200541c8016a41206a200641206a280000360000200541f8016a41086a200441086a220b280200220a36020020062900012107200b200a41016a360200200520083a00c801200520073700c901200520042902003703f801200541c0036a2002200541c8016a2004200110908a80800020052802c003210420052d00c4032208417e6a0e020301020b200541c8006a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541d8006a200341246a2802003602002005200329020c37034020052f00b10220052d00b302411074722106410121030c1a0b2000410336020020002004360204200541b0026a10db8980800020092009417e6a2f01006b41002802ec82d48000118180808000000c200b20062004360204200641003a0000200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541d8006a200341246a2802003602002005200329020c3703402008410173210320052f00b10220052d00b3024110747221060c180b200541ec036a200341046a220341286a280200360200200541c0036a41246a200341206a290200370200200541c0036a411c6a200341186a290200370200200541c0036a41146a200341106a290200370200200541cc036a200341086a290200370200200520093602f003200541073a00c003200520032902003702c40341002103200541e0026a2002200541c0036a200541f8016a4100108f8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c1f0b200541e2006a20052d00e3023a0000200541c0006a41086a200541e0026a41146a290200370300200541c0006a41106a200541e0026a411c6a290200370300200541c0006a41186a200541e0026a41246a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c180b200528029401210620052d00684103460d092004280208220941017621080240024020094101710d002008200428020422094b0d08200541003a00c803200520083602c403200520042802003602c0030c010b2008200428020422094b0d08200820094f0d0920042802002109200541013a00c803200520093602c003200520083602c4032005200920086a2d000041f001713a00c9030b20022001200341046a200541c0036a10888a808000200541033a00c403200520063602f003200541073a00c003200541b0026a41086a200441086a280200360200200520042902003703b00241002104200541e0026a2002200541c0036a200541b0026a4100108f8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c1e0b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541386a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621064101210b410021030c1c0b02400240024002400240024002400240024002400240200a0d00200541b0026a41286a200341d8006a290200370300200541b0026a41206a200341d0006a290200370300200541b0026a41186a200341c8006a290200370300200541b0026a41106a200341c0006a290200370300200541b0026a41086a2209200341386a290200370300200520032902303703b0022005280290012111200541c8016a41286a200341286a280200360200200541c8016a41206a200341206a290200370300200541c8016a41186a200341186a290200370300200541c8016a41106a200341106a290200370300200541c8016a41086a200341086a290200370300200520032902003703c801200520052802b0023602c8032005200928020020052802dc022209200941284b220a1b3602c403200520052802b402200541b0026a4104722209200a1b3602c003200541c0036a200510e697808000210a20052802c40341017420052802c8036b21100240200a200b470d00200a2010460d070b200a2010490d01200a20066a220b410176220620084f0d022011200c20066a2d00002206410f712006410476200b4101711b41246c6a22062d00002108200641023a000020084102460d03200541f8016a41096a200641096a290000370000200541f8016a41116a200641116a290000370000200541f8016a41196a200641196a290000370000200541f8016a41206a200641206a280000360000200541a0026a41086a200441086a220b280200220c36020020062900012107200b200a200c6a41016a360200200520083a00f801200520073700f901200520042902003703a002200541c0036a2002200541f8016a2004200110908a80800020052802c003210420052d00c4032208417e6a0e020509040b200d4103470d092000200529029001370230200041033a00042000410136020020002003290234370238200041c0006a2003413c6a290200370200200041c8006a200341c4006a290200370200200041d0006a200341cc006a290200370200200041d8006a200341d4006a290200370200200041e0006a200341dc006a2802003602000c260b200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200541e2006a200341036a2d00003a000020052009290200370310200520032f00013b016020052802b002210920052d00c801210c200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a2802003602002005200329020c37034020052f00cd0120052d00cf014110747221060c1b0b20062008419ca9c68000108281808000000b200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200541e0006a41026a200341036a2d00003a000020052009290200370310200520032f00013b016020052802b002210920052d00c801210c200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a2802003602002005200329020c37034020052f00cd0120052d00cf014110747221060c190b20062004360204200641003a0000200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200541e2006a200341036a2d00003a0000200520032f00013b01602005200929020037031020052802b002210920052d00c801210c200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a2802003602002005200329020c3703402008410173210320052f00cd0120052d00cf014110747221060c190b20054198046a200541b0026a41286a29030037030020054190046a200541b0026a41206a29030037030020054188046a200541b0026a41186a29030037030020054180046a200541b0026a41106a290300370300200541f8036a200541b0026a41086a290300370300200541c0036a41086a200341086a290200370300200541c0036a41106a200341106a290200370300200541c0036a41186a200341186a290200370300200541c0036a41206a200341206a290200370300200541c0036a41286a200341286a280200360200200520052903b0023703f003200520032902003703c003200520113602ec0341002103200541e0026a2002200541c0036a200541a0026a4100108f8a80800020052d00e002220c4108460d01200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c190b4103210c20052d00c8014103460d152004280208200b6a220b4101762106200428020421082004280200210902400240200b4101710d00200620084b0d0f200541003a00c803200520063602c403200520093602c0030c010b200620084b0d0f200620084f0d10200541013a00c803200520093602c003200520063602c4032005200920066a2d000041f001713a00c9030b200220012003200541c0036a10888a80800020054198046a200541b0026a41286a29030037020020054190046a200541b0026a41206a29030037020020054188046a200541b0026a41186a29030037020020054180046a200541b0026a41106a290300370200200541f8036a200541b0026a41086a290300370200200520052903b0023702f003200520113602ec03200541033a00c003200541f8016a41086a200441086a280200360200200520042902003703f80141002103200541e0026a2002200541c0036a200541f8016a4100108f8a80800020052d00e002220c4108460d01200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541106a41206a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c180b20052802e402210320004103360200200020033602040c1f0b200020052802e402360204200041033602000c1e0b200041033602002000200436020420052d00c8014103470d100c110b200541c0036a41d8006a200341d8006a290200370200200541c0036a41d0006a200341d0006a290200370200200541c0036a41c8006a200341c8006a290200370200200541c0036a41c0006a200341c0006a290200370200200541c0036a41386a200341386a290200370200200520032902303702f00320052802900121092004280208220841017621060240024020084101710d002006200428020422084b0d0e200541003a00e802200520063602e402200520042802003602e0020c010b2006200428020422084b0d0e200620084f0d0f20042802002108200541013a00e802200520083602e002200520063602e4022005200820066a2d000041f001713a00e9020b200220012003200541e0026a10888a808000200520093602ec03200541033a00c003200541b0026a41086a200441086a280200360200200520042902003703b0024100210b200541e0026a2002200541c0036a200541b0026a4100108f8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c1d0b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541386a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a410876210641012104410021030c1b0b2003200941fce4cd8000109181808000000b20032009418ce5cd8000109181808000000b20032009419ce5cd8000108281808000000b200541c8016a41086a200441086a2206280200220836020020062008200c6a360200200520042902003703c801200541c0036a2002200341046a2004200110908a80800020052802c003210820052d00c4032204417e6a0e021315140b200b2008419ca9c68000108281808000000b2008200941fce4cd8000109181808000000b20082009418ce5cd8000109181808000000b20082009419ce5cd8000108281808000000b20002006360234200041033a0008200041073a0004200041013602000c130b2006200841fce4cd8000109181808000000b20062008418ce5cd8000109181808000000b20062008419ce5cd8000108281808000000b2006200841fce4cd8000109181808000000b20062008418ce5cd8000109181808000000b20062008419ce5cd8000108281808000000b200541c8016a10d9898080000b20112011417e6a2f01006b41002802ec82d480001181808080000020052802dc024129490d0b20052802b40222002000417e6a2f00006b41002802ec82d48000118180808000000c0b0b200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200520092902003703104101210320052802b00221090c020b410121030b20052802f001211020052802d001210820052d00cc01210a0b4100210b410121040c060b4107210c20052802d802211120052802d402211020052802b402210820052d00b002210a0b4101210b410021040c040b41022103024020052802dc0241294f0d000c030b20052802b40222042004417e6a2f00006b41002802ec82d48000118180808000000c020b41012103024020044101710d00200541186a200541c4026a290200370300200541206a200541cc026a290200370300200541286a200541d4026a290200370300200541306a200541dc026a280200360200200520052902bc023703104106210c4100210a20052802b802210920052802b402211120052802b00221100c020b20054190046a200541b0026a41286a29030037020020054188046a200541b0026a41206a29030037020020054180046a200541b0026a41186a290300370200200541f8036a200541b0026a41106a290300370200200541f0036a200541b0026a41086a290300370200200520052903b0023702e803200520083602c80341002103200541003a00c403200541063a00c003200541e0026a2002200541c0036a200541c8016a4100108f8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c040b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541106a41206a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c010b200041033602002000200836020420052802dc024129490d0220052802b40222002000417e6a2f00006b41002802ec82d48000118180808000000c020b410121044101210b0b200020063b00092000200c3a000420002003360200200020052f01603b00052000200836020c2000200a3a0008200020052903403702102000201036022c20002011360230200020093602342000410b6a20064110763a0000200041076a200541e2006a2d00003a0000200041186a200541c0006a41086a290300370200200041206a200541c0006a41106a290300370200200041286a200541c0006a41186a280200360200200041e0006a200541106a41286a280200360200200041d8006a200541106a41206a290300370200200041d0006a200541106a41186a290300370200200041c8006a200541106a41106a290300370200200041c0006a200541106a41086a2903003702002000200529031037023802400240200e417d6a0e020100020b200b450d01200d4103460d0102400240200d0e020103000b200528028801220020002802002200417f6a36020020004101470d0220054188016a10f0978080000c020b2005280268220020002802002200417f6a36020020004101470d01200541e8006a10f0978080000c010b2004450d0020052d006822004103460d000240024020000e020102000b200528028c01220020002802002200417f6a36020020004101470d012005418c016a10f0978080000c010b200528026c220020002802002200417f6a36020020004101470d00200541ec006a10f0978080000b200541a0046a2480808080000b831d04057f017e167f027e23808080800041e0036b2205248080808000024002400240024002400240024002400240024002400240024020022d00004101470d00200541a0016a200241196a29000037030020054198016a200241116a29000037030020054190016a200241096a29000037030020052002290001370388012003280208220641017621020240024020064101710d002002200328020422064b0d04200541003a00b002200520023602ac02200520032802003602a8020c010b2002200328020422064b0d04200220064f0d0520032802002106200541013a00b002200520063602a802200520023602ac022005200620026a2d000041f001713a00b1020b2005200120054188016a200541a8026a108b8a8080002005280204210220052802004101710d0b024020012802282207200128021c2206470d002001411c6a4184acc6800010948f808000200128021c2106200128022821070b2001280220200128022420076a22074100200620072006491b6b4102746a20023602002001200128022841016a3602282001280218220620024b0d01200220064194acc68000108281808000000b20022802042102024020012802282207200128021c2206470d002001411c6a4184acc6800010948f808000200128021c2106200128022821070b2001280220200128022420076a22074100200620072006491b6b4102746a20023602002001200128022841016a3602282002200128021822064f0d040b200128021420024107746a22022d00002106200541296a200241016a41df0010f4978080001a200241043a0004200241083a0000200541086a41086a200241ec006a290200370300200541186a200241f4006a290200370300200541206a200241fc006a2802003602002005200229026437030820022802602107024002400240024020064108460d00200328020821082003280204210920032802002102200541a8026a410172200541296a41df0010f4978080001a20052001360288032005200336028c03200520063a00a802200541c4016a20042001200541a8026a200310938a80800020052802c801210620052802c40122034103470d010c0c0b200541a8026a200541296a41036a41dc0010f4978080001a20052001360288032005200336028c032005200736028403200541c4016a20042001200541a8026a200310938a80800020052802c801210620052802c40122044103460d0b20052802a4022107200529029c02210a200528029802210b200528029402210c200528029002210d200528028c02210e200528028802210f2005280284022110200528028002211120052802fc01211220052802f801211320052802f401211420052802f001211520052802ec01211620052802e801211720052802e401211820052802e001211920052802dc01211a20052802d801211b20052802d401211c20052802d001211d20052802cc01211e41022103410121084108210920040e0302010d020b20052902a002210a200528029c02211f200528029802210b200528029402210c200528029002210d200528028c02210e200528028802210f2005280284022110200528028002211120052802fc01211220052802f801211320052802f401211420052802f001211520052802ec01211620052802e801211720052802e401211820052802e001211920052802dc01211a20052802d801211b20052802d401211c20052802d001211d20052802cc01212002400240024020030e03000102000b200841017621030240024020084101710d000240200320094b0d00410021040c020b2003200941fce4cd8000109181808000000b200320094b0d09200320094f0d0a200220036a2d00004170712108410121040b200a422088212141002109200541a8026a41286a221e4100360200200541a8026a2002200220036a10d797808000200541e4016a220241286a201e280200360200200241206a200541a8026a41206a290200370200200241186a200541a8026a41186a290200370200200241106a200541a8026a41106a290200370200200241086a200541a8026a41086a290200370200200220052902a802370200200541d0016a200541086a41086a290300370200200541d8016a200541086a41106a290300370200200541e0016a200541086a41186a280200360200200520083a009102200520043a009002200520073602c401200520052903083702c80120054191026a2102024002400240200128025c2203450d00200541a8026a20032001280260200541c4016a10d083808000024020052802a802450d0020052802ac02210920052902b002212220054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030c020b200528028c024129490d0220052802e40122022002417e6a2f00006b41002802ec82d48000118180808000000c020b20054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030b2005200141dc006a3602b402200520223702ac02200520093602a802200541b8026a20054194036a41cc0010f4978080001a20054187036a20054192036a2d00003a0000200520043a008403200520052f0190033b008503200541a8026a109a8d8080001a0b2021a72107200a422086201fad84210a4101210841082109410021042020211e0c030b200541a8016a41186a200541086a41186a280200360200200541a8016a41106a200541086a41106a290300370300200541a8016a41086a200541086a41086a290300370300200520052903083703a801200641ff01712109200641807e71210441002108201d211e201c211d201b211c201a211b2019211a20182119201721182016211720152116201421152013211420122113201121122020210620102111200f2110200e210f200d210e200c210d200b210c201f210b0c020b200841017621030240024020084101710d000240200320094b0d00410021060c020b2003200941fce4cd8000109181808000000b200320094b0d09200320094f0d0a200220036a2d00004170712104410121060b4100210b200541a8026a41286a220c4100360200200541a8026a2002200220036a10d797808000200541e4016a220241286a200c280200360200200241206a200541a8026a41206a290200370200200241186a200541a8026a41186a290200370200200241106a200541a8026a41106a290200370200200241086a200541a8026a41086a290200370200200220052902a802370200200541d0016a200541086a41086a290300370200200541d8016a200541086a41106a290300370200200541e0016a200541086a41186a280200360200200520043a009102200520063a009002200520073602c401200520052903083702c80120054191026a2102024002400240200128025c2203450d00200541a8026a20032001280260200541c4016a10d083808000024020052802a802450d0020052802ac02210b20052902b002210a20054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030c020b200528028c024129490d0220052802e40122012001417e6a2f00006b41002802ec82d4800011818080800000410221030c0f0b20054194036a200541c4016a41cc0010f4978080001a20054190036a41026a200241026a2d00003a0000200520022f00003b0190030b2005200141dc006a3602b4022005200a3702ac022005200b3602a802200541b8026a20054194036a41cc0010f4978080001a20054187036a20054192036a2d00003a0000200520063a008403200520052f0190033b008503200541a8026a109a8d8080001a0b410221030c0c0b41002104410021080b200920047221040240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c220920032009491b6b3602240240200128022020024102746a2802002202200128021822034f0d00200128021420024107746a220120012d00004108464102746a10d889808000200120073602602001200a3702582001200b3602542001200c3602502001200d36024c2001200e3602482001200f360244200120103602402001201136023c2001201236023820012013360234200120143602302001201536022c2001201636022820012017360224200120183602202001201936021c2001201a3602182001201b3602142001201c3602102001201d36020c2001201e3602082001200636020420012004360200200141fc006a200541c0016a280200360200200141f4006a200541b8016a290300370200200141ec006a200541a8016a41086a290300370200200120052903a8013702640c020b2002200341e4abc68000108281808000000b0240200128021822022001280210470d00200141106a41f4abc680001092868080000b200128021420024107746a220320073602602003200a3702582003200b3602542003200c3602502003200d36024c2003200e3602482003200f360244200320103602402003201136023c2003201236023820032013360234200320143602302003201536022c2003201636022820032017360224200320183602202003201936021c2003201a3602182003201b3602142003201c3602102003201d36020c2003201e3602082003200636020420032004360200200341fc006a200541c0016a280200360200200341f4006a200541b8016a290300370200200341ec006a200541b0016a290300370200200320052903a8013702642001200241016a3602180b200821030c0a0b2002200641fce4cd8000109181808000000b20022006418ce5cd8000109181808000000b20022006419ce5cd8000108281808000000b200220064194acc68000108281808000000b20032009418ce5cd8000109181808000000b20032009419ce5cd8000108281808000000b20032009418ce5cd8000109181808000000b20032009419ce5cd8000108281808000000b200621020b410321030b200020033a000420002002360200200541e0036a2480808080000bc04205027f017e077f017e057f23808080800041a0046b2205248080808000200541086a200441086a280200220636020020052004290200220737030020052802042108200541e4006a200341e00010f4978080001a200520062008410174220946220a3a00c401200920066b210b2007a7210c024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020052d0064220d417c6a41ff01712209410420094104491b220e0e050001020304000b200041023602000c200b200541c0036a41286a200341d8006a290200370300200541c0036a41206a200341d0006a290200370300200541c0036a41186a200341c8006a290200370300200541c0036a41106a200341c0006a290200370300200541c0036a41086a200341386a290200220737030020052003290230220f3703c003200541eb006a2d0000210620052d0068210a200528026c2108200528028c012110200528029001211120052f006921122005200fa722093602d001200520052802c403200541c0036a410472220c20052802ec03221341284b22141b3602c80120052007a7201320141b22133602cc012003410c6a210320122006411074722106024002400240201341017420096b200b470d00200541c8016a200510e697808000200b460d0120052802c00321090b200541106a41286a200c41286a280200360200200541106a41206a200c41206a290200370300200541106a41186a200c41186a290200370300200541106a41106a200c41106a290200370300200541106a41086a200c41086a290200370300200541c0006a41086a200341086a290200370300200541c0006a41106a200341106a290200370300200541c0006a41186a200341186a2802003602002005200c29020037031020052003290200370340410121030c010b200428020421092004280200210c20042802082104200541e0026a41106a200341086a290200370200200541e0026a41186a200341106a29020037020020054180036a200341186a280200360200200520083602e4022005200a3a00e00220052011360288032005201036028403200520032902003702e802200520063b00e102200520064110763a00e302200b20046a220441017621030240024020044101710d00200320094b0d06200541003a00b802200520033602b4022005200c3602b0020c010b200320094b0d06200320094f0d07200541013a00b8022005200c3602b002200520033602b4022005200c20036a2d000041f001713a00b9020b20022001200541e0026a200541b0026a10888a80800041022103024020052802ec034129490d0020052802c40322042004417e6a2f00006b41002802ec82d48000118180808000000b0b4105210c0c1d0b200541b0026a41286a200341d0006a290200370300200541b0026a41206a200341c8006a290200370300200541b0026a41186a200341c0006a290200370300200541b0026a41106a200341386a290200370300200541b0026a41086a200341306a290200220737030020052003290228220f3703b002200341076a2d0000210b20032d0004210a2003280208210820032f00052111200520052802b402200541b0026a41047220052802dc02220641284b22091b3602c00320052007a7200620091b22063602c4032005200fa722093602c803200541c0036a200510e697808000220c200641017420096b460d052011200b411074722106200541106a41086a200541b0026a41146a290200370300200541106a41106a200541b0026a411c6a290200370300200541106a41186a200541b0026a41246a290200370300200541106a41206a200541dc026a280200360200200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a280200360200200520052902bc023703102005200329020c370340410121034106210c20052802b802210920052802b402211120052802b00221100c1c0b0240200a0d002005280294012109200541d8026a2003412c6a280200360200200541d0026a200341246a290200370300200541c8026a2003411c6a290200370300200541c0026a200341146a290200370300200541b8026a2003410c6a290200370300200520032902043703b0022006410176220b20084f0d062009200c200b6a2d00002208410f71200841047620064101711b41246c6a22062d00002108200641023a0000024002400240024020084102460d00200541c8016a41096a200641096a290000370000200541c8016a41116a200641116a290000370000200541c8016a41196a200641196a290000370000200541c8016a41206a200641206a280000360000200541f8016a41086a200441086a220b280200220a36020020062900012107200b200a41016a360200200520083a00c801200520073700c901200520042902003703f801200541c0036a2002200541c8016a2004200110928a80800020052802c003210420052d00c4032208417e6a0e020301020b200541c8006a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541d8006a200341246a2802003602002005200329020c37034020052f00b10220052d00b302411074722106410121030c1a0b2000410336020020002004360204200541b0026a10db8980800020092009417e6a2f01006b41002802ec82d48000118180808000000c200b20062004360204200641003a0000200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541d8006a200341246a2802003602002005200329020c3703402008410173210320052f00b10220052d00b3024110747221060c180b200541ec036a200341046a220341286a280200360200200541c0036a41246a200341206a290200370200200541c0036a411c6a200341186a290200370200200541c0036a41146a200341106a290200370200200541cc036a200341086a290200370200200520093602f003200541073a00c003200520032902003702c40341002103200541e0026a2002200541c0036a200541f8016a4100108d8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c1f0b200541e2006a20052d00e3023a0000200541c0006a41086a200541e0026a41146a290200370300200541c0006a41106a200541e0026a411c6a290200370300200541c0006a41186a200541e0026a41246a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c180b200528029401210620052d00684103460d092004280208220941017621080240024020094101710d002008200428020422094b0d08200541003a00c803200520083602c403200520042802003602c0030c010b2008200428020422094b0d08200820094f0d0920042802002109200541013a00c803200520093602c003200520083602c4032005200920086a2d000041f001713a00c9030b20022001200341046a200541c0036a10888a808000200541033a00c403200520063602f003200541073a00c003200541b0026a41086a200441086a280200360200200520042902003703b00241002104200541e0026a2002200541c0036a200541b0026a4100108d8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c1e0b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541386a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621064101210b410021030c1c0b02400240024002400240024002400240024002400240200a0d00200541b0026a41286a200341d8006a290200370300200541b0026a41206a200341d0006a290200370300200541b0026a41186a200341c8006a290200370300200541b0026a41106a200341c0006a290200370300200541b0026a41086a2209200341386a290200370300200520032902303703b0022005280290012111200541c8016a41286a200341286a280200360200200541c8016a41206a200341206a290200370300200541c8016a41186a200341186a290200370300200541c8016a41106a200341106a290200370300200541c8016a41086a200341086a290200370300200520032902003703c801200520052802b0023602c8032005200928020020052802dc022209200941284b220a1b3602c403200520052802b402200541b0026a4104722209200a1b3602c003200541c0036a200510e697808000210a20052802c40341017420052802c8036b21100240200a200b470d00200a2010460d070b200a2010490d01200a20066a220b410176220620084f0d022011200c20066a2d00002206410f712006410476200b4101711b41246c6a22062d00002108200641023a000020084102460d03200541f8016a41096a200641096a290000370000200541f8016a41116a200641116a290000370000200541f8016a41196a200641196a290000370000200541f8016a41206a200641206a280000360000200541a0026a41086a200441086a220b280200220c36020020062900012107200b200a200c6a41016a360200200520083a00f801200520073700f901200520042902003703a002200541c0036a2002200541f8016a2004200110928a80800020052802c003210420052d00c4032208417e6a0e020509040b200d4103470d092000200529029001370230200041033a00042000410136020020002003290234370238200041c0006a2003413c6a290200370200200041c8006a200341c4006a290200370200200041d0006a200341cc006a290200370200200041d8006a200341d4006a290200370200200041e0006a200341dc006a2802003602000c260b200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200541e2006a200341036a2d00003a000020052009290200370310200520032f00013b016020052802b002210920052d00c801210c200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a2802003602002005200329020c37034020052f00cd0120052d00cf014110747221060c1b0b20062008419ca9c68000108281808000000b200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200541e0006a41026a200341036a2d00003a000020052009290200370310200520032f00013b016020052802b002210920052d00c801210c200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a2802003602002005200329020c37034020052f00cd0120052d00cf014110747221060c190b20062004360204200641003a0000200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200541e2006a200341036a2d00003a0000200520032f00013b01602005200929020037031020052802b002210920052d00c801210c200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a2802003602002005200329020c3703402008410173210320052f00cd0120052d00cf014110747221060c190b20054198046a200541b0026a41286a29030037030020054190046a200541b0026a41206a29030037030020054188046a200541b0026a41186a29030037030020054180046a200541b0026a41106a290300370300200541f8036a200541b0026a41086a290300370300200541c0036a41086a200341086a290200370300200541c0036a41106a200341106a290200370300200541c0036a41186a200341186a290200370300200541c0036a41206a200341206a290200370300200541c0036a41286a200341286a280200360200200520052903b0023703f003200520032902003703c003200520113602ec0341002103200541e0026a2002200541c0036a200541a0026a4100108d8a80800020052d00e002220c4108460d01200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c190b4103210c20052d00c8014103460d152004280208200b6a220b4101762106200428020421082004280200210902400240200b4101710d00200620084b0d0f200541003a00c803200520063602c403200520093602c0030c010b200620084b0d0f200620084f0d10200541013a00c803200520093602c003200520063602c4032005200920066a2d000041f001713a00c9030b200220012003200541c0036a10888a80800020054198046a200541b0026a41286a29030037020020054190046a200541b0026a41206a29030037020020054188046a200541b0026a41186a29030037020020054180046a200541b0026a41106a290300370200200541f8036a200541b0026a41086a290300370200200520052903b0023702f003200520113602ec03200541033a00c003200541f8016a41086a200441086a280200360200200520042902003703f80141002103200541e0026a2002200541c0036a200541f8016a4100108d8a80800020052d00e002220c4108460d01200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541106a41206a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c180b20052802e402210320004103360200200020033602040c1f0b200020052802e402360204200041033602000c1e0b200041033602002000200436020420052d00c8014103470d100c110b200541c0036a41d8006a200341d8006a290200370200200541c0036a41d0006a200341d0006a290200370200200541c0036a41c8006a200341c8006a290200370200200541c0036a41c0006a200341c0006a290200370200200541c0036a41386a200341386a290200370200200520032902303702f00320052802900121092004280208220841017621060240024020084101710d002006200428020422084b0d0e200541003a00e802200520063602e402200520042802003602e0020c010b2006200428020422084b0d0e200620084f0d0f20042802002108200541013a00e802200520083602e002200520063602e4022005200820066a2d000041f001713a00e9020b200220012003200541e0026a10888a808000200520093602ec03200541033a00c003200541b0026a41086a200441086a280200360200200520042902003703b0024100210b200541e0026a2002200541c0036a200541b0026a4100108d8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c1d0b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541386a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a410876210641012104410021030c1b0b2003200941fce4cd8000109181808000000b20032009418ce5cd8000109181808000000b20032009419ce5cd8000108281808000000b200541c8016a41086a200441086a2206280200220836020020062008200c6a360200200520042902003703c801200541c0036a2002200341046a2004200110928a80800020052802c003210820052d00c4032204417e6a0e021315140b200b2008419ca9c68000108281808000000b2008200941fce4cd8000109181808000000b20082009418ce5cd8000109181808000000b20082009419ce5cd8000108281808000000b20002006360234200041033a0008200041073a0004200041013602000c130b2006200841fce4cd8000109181808000000b20062008418ce5cd8000109181808000000b20062008419ce5cd8000108281808000000b2006200841fce4cd8000109181808000000b20062008418ce5cd8000109181808000000b20062008419ce5cd8000108281808000000b200541c8016a10d9898080000b20112011417e6a2f01006b41002802ec82d480001181808080000020052802dc024129490d0b20052802b40222002000417e6a2f00006b41002802ec82d48000118180808000000c0b0b200541106a41086a200941086a290200370300200541106a41106a200941106a290200370300200541106a41186a200941186a290200370300200541106a41206a200941206a290200370300200541106a41286a200941286a280200360200200520092902003703104101210320052802b00221090c020b410121030b20052802f001211020052802d001210820052d00cc01210a0b4100210b410121040c060b4107210c20052802d802211120052802d402211020052802b402210820052d00b002210a0b4101210b410021040c040b41022103024020052802dc0241294f0d000c030b20052802b40222042004417e6a2f00006b41002802ec82d48000118180808000000c020b41012103024020044101710d00200541186a200541c4026a290200370300200541206a200541cc026a290200370300200541286a200541d4026a290200370300200541306a200541dc026a280200360200200520052902bc023703104106210c4100210a20052802b802210920052802b402211120052802b00221100c020b20054190046a200541b0026a41286a29030037020020054188046a200541b0026a41206a29030037020020054180046a200541b0026a41186a290300370200200541f8036a200541b0026a41106a290300370200200541f0036a200541b0026a41086a290300370200200520052903b0023702e803200520083602c80341002103200541003a00c403200541063a00c003200541e0026a2002200541c0036a200541c8016a4100108d8a808000024020052d00e002220c4108470d0020052802e402210320004103360200200020033602040c040b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e80221082005280288032110200528028c032111200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541106a41206a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c010b200041033602002000200836020420052802dc024129490d0220052802b40222002000417e6a2f00006b41002802ec82d48000118180808000000c020b410121044101210b0b200020063b00092000200c3a000420002003360200200020052f01603b00052000200836020c2000200a3a0008200020052903403702102000201036022c20002011360230200020093602342000410b6a20064110763a0000200041076a200541e2006a2d00003a0000200041186a200541c0006a41086a290300370200200041206a200541c0006a41106a290300370200200041286a200541c0006a41186a280200360200200041e0006a200541106a41286a280200360200200041d8006a200541106a41206a290300370200200041d0006a200541106a41186a290300370200200041c8006a200541106a41106a290300370200200041c0006a200541106a41086a2903003702002000200529031037023802400240200e417d6a0e020100020b200b450d01200d4103460d0102400240200d0e020103000b200528028801220020002802002200417f6a36020020004101470d0220054188016a10f0978080000c020b2005280268220020002802002200417f6a36020020004101470d01200541e8006a10f0978080000c010b2004450d0020052d006822004103460d000240024020000e020102000b200528028c01220020002802002200417f6a36020020004101470d012005418c016a10f0978080000c010b200528026c220020002802002200417f6a36020020004101470d00200541ec006a10f0978080000b200541a0046a2480808080000bf62f05047f027e027f017e0e7f2380808080004190056b22012480808080000240024020002d0070450d00200028025c21022000410036025c20002802642103200041003602642001200036020c2000280260210420012003410020021b3602940220012004360290022001200236028c022001410036028802200120024100472203360284022001200436028002200120023602fc01200141003602f801200120033602f401200141106a200141f4016a10ce88808000024020012d005c4102460d0020014194016a41206a2102034020014194016a200141106a41d00010f4978080001a200141f8026a41186a20014194016a41186a290200370300200141f8026a41106a20014194016a41106a290200370300200141f8026a41086a20014194016a41086a29020037030020012001290294013703f802200141106a41286a2204200241286a2902002205370300200141106a41206a200241206a290200370300200141106a41186a200241186a290200370300200141106a41106a200241106a290200370300200141106a41086a200241086a2902003703002001200229020022063703102000280250210320002802542107200120012f013c3b01b002200120012802142005a72208200841284b22081b3602ac0220012006a7200141106a20081b3602a8022003200141f8026a200141a8026a200728022411868080800000024020042802004129490d00200128021022042004417e6a2f00006b41002802ec82d48000118180808000000b200141106a200141f4016a10ce8880800020012d005c4102470d000b0b200141f4016a10c98980800020002d002c0d0020002802302102024020002802282203200028021c2204470d002000411c6a4184acc6800010948f808000200028021c2104200028022821030b2000280220200028022420036a22034100200420032004491b6b4102746a20023602002000200028022841016a36022802400240024002400240024002402002200028021822044f0d00200028021420024107746a22022d00002104200141106a200241016a41ff0010f4978080001a200241043a0004200241083a0000024020044108460d00200241e8006a2900002105200241f0006a2900002106200229006021092000280258220341186a200241f8006a290000370000200341106a2006370000200341086a2005370000200320093700000240024020002802282202450d0020002002417f6a36022820002000280224220241016a22034100200028021c220720032007491b6b3602240240200028022020024102746a2802002202200028021822034f0d00200028021420024107746a220320032d00004108464102746a10d889808000200320043a0000200341016a200141106a41ff0010f4978080001a0c020b2002200341e4abc68000108281808000000b0240200028021822022000280210470d00200041106a41f4abc680001092868080000b200028021420024107746a220320043a0000200341016a200141106a41ff0010f4978080001a2000200241016a3602180b20002002360230200041003a002c0c080b200141c4016a210220014194016a200141136a41e00010f4978080001a4100210720012d009401210402402000280268450d0020022103024002402004417c6a41ff01712208410420084104491b0e050201000201020b200141bc016a21030b200120032802003602800320012003280208200328022c2204200441284b22041b3602fc0220012003280204200341046a20041b3602f802200141f4016a41046a200141f8026a10ee978080004101210720012d00940121040b200120073602f401200142003702d00220012802bc01210720012802c001210a02400240024002400240024002402004417c6a41ff01712203410420034104491b0e050001020403000b41002d008083d480001a410141002802f482d48000118280808000002202450d07200241003a00002002417e6a41003b0000200141013602d804200120023602d404200141013602d0040c0c0b200141f8026a41286a200241286a290200370300200141f8026a41206a200241206a290200370300200141f8026a41186a200241186a290200370300200141f8026a41106a200241106a290200370300200141f8026a41086a2204200241086a290200370300200120022902003703f802200141e0046a41206a20014194016a41246a280200360200200141e0046a41186a200141b0016a290200370300200141e0046a41106a200141a8016a290200370300200141e0046a41086a200141a0016a29020037030020012001290298013703e0042001200a360288052001200736028405200120012802f80222023602e8032001200428020020012802a4032204200441284b22031b22043602e403200120012802fc02200141f8026a41047220031b22083602e00320024101762103200141a8046a200141e0046a200141e0036a200141a8026a2001410c6a10f5898080000240024020024101710d004100210b0240200320044b0d004100210c200321070c020b2003200441dce4cd8000109281808000000b200320044f0d084101210b200341016a2107200820036a2d0000410f71210c0b2001200c3a00b5032001200b3a00b403200141003602b0032001200420076b3602ac032001200820076a3602a803200141d0046a200141a8036a200441017420026b200141a8046a10828a808000024002400240024020012d00e0040e020103000b200128028405220220022802002202417f6a36020020024101470d02200141e0046a41246a21020c010b20012802e404220220022802002202417f6a36020020024101470d01200141e0046a41047221020b200210f0978080000b20012802a4034129490d0b20012802fc0222022002417e6a2f00006b41002802ec82d48000118180808000000c0b0b200141f8026a41106a200241086a290200370200200141f8026a41186a200241106a290200370200200141f8026a41206a200241186a290200370200200141f8026a41286a200241206a290200370200200120073602f80220012002290200370280032001200a3602fc02200141e0046a41206a200141b8016a280200360200200141e0046a41186a200141b0016a290200370300200141e0046a41106a200141a8016a290200370300200141e0046a41086a200141a0016a29020037030020012001290298013703e004200120073602e803200120012802800320012802a4032202200241284b22021b3602e4032001200a200141f8026a41046a20021b3602e003200141a8046a200141e0036a10e797808000200141003a0088052001200141e0036a36028405200141a8036a200141a8026a2001410c6a200141e0046a200141e0036a4100200110f689808000200141013602e40420014194afc680003602e004200142003702ec042001200141d0046a3602e804200141e0046a41dcafc6800010fe80808000000b200141f8026a41286a200241286a290200370300200141f8026a41206a200241206a290200370300200141f8026a41186a200241186a290200370300200141f8026a41106a200241106a290200370300200141f8026a41086a2203200241086a290200370300200120022902003703f802200141a8036a41096a20014194016a41096a290000370000200141a8036a41116a20014194016a41116a290000370000200141a8036a41196a20014194016a41196a290000370000200141a8036a41206a20014194016a41206a29000037000020012001290095013700a903200120073602d003200120043a00a803200120012802f80222083602dc032001200328020020012802a4032202200241284b22021b220c3602d803200120012802fc02200141f8026a410472220d20021b3602d403200441ff01714103470d014102210b200c2107200821020c020b20014198036a200141b8016a28020036020020014190036a200141b0016a29020037030020014188036a200141a8016a29020037030020014180036a200141a0016a290200370300200120012902980122053703f8022001200a3602a0032001200736029c0302402005a741ff01714103460d00200141e0046a200141f8026a4100200141a8026a2001410c6a10f5898080000b10848a808000000b200141e0046a200141a8036a200141d4036a200141a8026a2001410c6a10f58980800020012902e404210520012802e004210b20012802d803210720012802dc0321020b20024101762103024002402002410171220e0d000240200320074b0d0020012802d40320036a210f41002102410021040c020b2003200741dce4cd8000109281808000000b200320074f0d044101210220012802d4032204200341016a22106a210f200420036a2d0000410f712104201021030b200120043a00ed03200120023a00ec0341002111200141003602e8032001200f3602e0032001200720036b22103602e403200c41017420086b220841017641046a21020240024002400240200b4102460d00200b4101460d0241002104024020024100480d0041002d008083d480001a200241002802f482d480001182808080000022040d02410121040b2004200241f8a3c6800010b980808000000b0240024020024100480d0041002d008083d480001a200241002802f482d4800011828080800000220c0d01410121110b2011200241f8a3c6800010b980808000000b200c417e6a41003b0000200141003602e8042001200c3602e404200120023602e004200120083602ac04200141013b01a804200141a8046a200141e0046a10c08f808000024002400240200e450d004100210c200141003a00ec030c010b20072003460d014101210c200141013602e803200f2d000021040b024020012802e804220220012802e004470d00200141e0046a200241014101410110a3868080000b20012802e404220820026a20043a00002001200241016a22023602e804200c20104f0d00200f200c6a21042007200c6b20036b2103034020042d000021070240200220012802e004470d00200141e0046a200241014101410110a38680800020012802e40421080b200820026a20073a00002001200241016a22023602e804200441016a21042003417f6a22030d000b200120103602e8030b200141f0036a41086a200141e0046a41086a280200360200200120012902e0043703f0030c020b2004417e6a41003b0000200141e0046a41086a22034100360200200120043602e404200120023602e004200120083602ac0420014181023b01a804200141a8046a200141e0046a10c08f808000200141e0046a200141e0036a4188a4c6800010c18f808000200141f0036a41086a2003280200360200200120012902e0043703f0030c010b410021040240024020024100480d0041002d008083d480001a200241002802f482d480001182808080000022040d01410121040b2004200241f8a3c6800010b980808000000b2004417e6a41003b0000200141e0046a41086a22034100360200200120043602e404200120023602e004200141033a00a804200120083602ac04200141a8046a200141e0046a10c08f808000200141e0046a200141e0036a4188a4c6800010c18f808000200141f0036a41086a2003280200360200200120012902e0043703f0030b024020012802f803221220012802f003470d00200141f0036a41fcafc6800010b8808080000b20012802f40320126a41003a00002001201241016a22023602f8030240200220012802f003470d00200141f0036a41fcafc6800010b8808080000b20012802f40320026a41003a00002001201241026a22133602f803200b4102460d052005422088a7210220132104200b4101710d04200120023602a8042001200141a8046a3602e004200141e0046a200141f0036a10dc8480800020012802f80321040c040b200220044194acc68000108281808000000b410141014194adc6800010b980808000000b2003200441ece4cd8000108281808000000b2003200741ece4cd8000108281808000000b2005a72103024020012802f00320046b20024f0d00200141f0036a200420024101410110a38680800020012802f80321040b20012802f40320046a2003200210f4978080001a200120012802f80320026a3602f8030b200141a8046a41086a210c200141a8046a41017221104100210b200141e0046a410172220f411f6a21144101210841002103410021070240024002400340200a20036a22022d00002104200241023a000020044103460d010240024020044102470d00410021020c010b2014200241206a280000360000200f41186a200241196a290000370000200f41106a200241116a290000370000200f41086a200241096a290000370000200f200241016a290000370000200120012802f8023602d804200120012802800320012802a4032202200241284b22021b3602d404200120012802fc02200d20021b3602d004200120073a008905200141013a008805200120043a00e0042001200141d0046a36028405200141a8046a200141a8026a2001410c6a200141e0046a200141d0046a4101200710f689808000200141a4046a41026a2215201041026a2d00003a000020014180046a41086a2204200c41086a29020037030020014180046a41106a220e200c41106a29020037030020014180046a41186a2211200c41186a290200370300200120102f00003b01a4042001200c2902003703800441002102024020012d00a8042216417e6a0e020104000b20012802ac042102024002402016410171450d00200141e0046a41186a2011290300370300200141e0046a41106a200e290300370300200141e0046a41086a200429030037030020012001290380043703e004200241214f0d09200120023602d0042001200141d0046a3602a804200141a8046a200141f0036a10dc848080000240200220012802f00320012802f80322046b4d0d00200141f0036a2004200210f49180800020012802f80321040b20012802f40320046a200141e0046a200210f4978080001a2001200420026a3602f8030c010b200141203602a8042001200141a8046a3602e004200141e0046a200141f0036a10dc84808000024020012802f00320012802f80322176b411f4b0d00200141f0036a2017412010f49180800020012802f80321170b20012802f40320176a2216200129038004370007201620012f01a4043b0000201641026a20152d00003a0000201620023600032016410f6a2004290300370000201641176a200e2903003700002016411f6a20112d00003a00002001201741206a3602f8030b200821020b200741016a2107200841017421082002200b72210b200341246a220341c004470d000b200b4180fe037141087621020c020b200b4180fe037141087621020c010b200b4180fe037141087621020b0240201320012802f80322044d0d002013200441ecafc68000109181808000000b20012802f40320126a2002410874200b41ff0171723b0000200141d0046a41086a200141f0036a41086a280200360200200120012903f0033703d004024020012d00a80322024103460d0002400240024020020e020103000b20012802cc03220220022802002202417f6a36020020024101470d02200141cc036a21020c010b20012802ac03220220022802002202417f6a36020020024101470d01200141ac036a21020b200210f0978080000b200a200a417e6a2f00006b41002802ec82d480001181808080000020012802a4034129490d0020012802fc0222022002417e6a2f00006b41002802ec82d48000118180808000000b2000280250210220002802542103200141e0046a41086a41002802a8f1ca8000360200200141002902a0f1ca80003703e004200141f8026a2002200141e0046a20012802d404220420012802d8042207200328021c118780808000002000280258220220012900f802370000200241186a200141f8026a41186a2203290000370000200241106a200141f8026a41106a2208290000370000200241086a200141f8026a41086a220b290000370000200b2000280258220241086a2900003703002008200241106a2900003703002003200241186a290000370300200120022900003703f8022000200141f8026a20042007200141f4016a10fd898080002000280258220241186a2900002105200241106a2900002106200241086a29000021092000200229000037002d200041013a002c200041356a20093700002000413d6a2006370000200041c5006a2005370000024020012802d004450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20012802d0024129490d0020012802a80222022002417e6a2f00006b41002802ec82d48000118180808000000b20014190056a2480808080000f0b20024120418cb0c68000109181808000000bf62f05047f027e027f017e0e7f2380808080004190056b22012480808080000240024020002d0070450d00200028025c21022000410036025c20002802642103200041003602642001200036020c2000280260210420012003410020021b3602940220012004360290022001200236028c022001410036028802200120024100472203360284022001200436028002200120023602fc01200141003602f801200120033602f401200141106a200141f4016a10ce88808000024020012d005c4102460d0020014194016a41206a2102034020014194016a200141106a41d00010f4978080001a200141f8026a41186a20014194016a41186a290200370300200141f8026a41106a20014194016a41106a290200370300200141f8026a41086a20014194016a41086a29020037030020012001290294013703f802200141106a41286a2204200241286a2902002205370300200141106a41206a200241206a290200370300200141106a41186a200241186a290200370300200141106a41106a200241106a290200370300200141106a41086a200241086a2902003703002001200229020022063703102000280250210320002802542107200120012f013c3b01b002200120012802142005a72208200841284b22081b3602ac0220012006a7200141106a20081b3602a8022003200141f8026a200141a8026a200728022411868080800000024020042802004129490d00200128021022042004417e6a2f00006b41002802ec82d48000118180808000000b200141106a200141f4016a10ce8880800020012d005c4102470d000b0b200141f4016a10c98980800020002d002c0d0020002802302102024020002802282203200028021c2204470d002000411c6a4184acc6800010948f808000200028021c2104200028022821030b2000280220200028022420036a22034100200420032004491b6b4102746a20023602002000200028022841016a36022802400240024002400240024002402002200028021822044f0d00200028021420024107746a22022d00002104200141106a200241016a41ff0010f4978080001a200241043a0004200241083a0000024020044108460d00200241e8006a2900002105200241f0006a2900002106200229006021092000280258220341186a200241f8006a290000370000200341106a2006370000200341086a2005370000200320093700000240024020002802282202450d0020002002417f6a36022820002000280224220241016a22034100200028021c220720032007491b6b3602240240200028022020024102746a2802002202200028021822034f0d00200028021420024107746a220320032d00004108464102746a10d889808000200320043a0000200341016a200141106a41ff0010f4978080001a0c020b2002200341e4abc68000108281808000000b0240200028021822022000280210470d00200041106a41f4abc680001092868080000b200028021420024107746a220320043a0000200341016a200141106a41ff0010f4978080001a2000200241016a3602180b20002002360230200041003a002c0c080b200141c4016a210220014194016a200141136a41e00010f4978080001a4100210720012d009401210402402000280268450d0020022103024002402004417c6a41ff01712208410420084104491b0e050201000201020b200141bc016a21030b200120032802003602800320012003280208200328022c2204200441284b22041b3602fc0220012003280204200341046a20041b3602f802200141f4016a41046a200141f8026a10ee978080004101210720012d00940121040b200120073602f401200142003702d00220012802bc01210720012802c001210a02400240024002400240024002402004417c6a41ff01712203410420034104491b0e050001020403000b41002d008083d480001a410141002802f482d48000118280808000002202450d07200241003a00002002417e6a41003b0000200141013602d804200120023602d404200141013602d0040c0c0b200141f8026a41286a200241286a290200370300200141f8026a41206a200241206a290200370300200141f8026a41186a200241186a290200370300200141f8026a41106a200241106a290200370300200141f8026a41086a2204200241086a290200370300200120022902003703f802200141e0046a41206a20014194016a41246a280200360200200141e0046a41186a200141b0016a290200370300200141e0046a41106a200141a8016a290200370300200141e0046a41086a200141a0016a29020037030020012001290298013703e0042001200a360288052001200736028405200120012802f80222023602e8032001200428020020012802a4032204200441284b22031b22043602e403200120012802fc02200141f8026a41047220031b22083602e00320024101762103200141a8046a200141e0046a200141e0036a200141a8026a2001410c6a10f3898080000240024020024101710d004100210b0240200320044b0d004100210c200321070c020b2003200441dce4cd8000109281808000000b200320044f0d084101210b200341016a2107200820036a2d0000410f71210c0b2001200c3a00b5032001200b3a00b403200141003602b0032001200420076b3602ac032001200820076a3602a803200141d0046a200141a8036a200441017420026b200141a8046a10828a808000024002400240024020012d00e0040e020103000b200128028405220220022802002202417f6a36020020024101470d02200141e0046a41246a21020c010b20012802e404220220022802002202417f6a36020020024101470d01200141e0046a41047221020b200210f0978080000b20012802a4034129490d0b20012802fc0222022002417e6a2f00006b41002802ec82d48000118180808000000c0b0b200141f8026a41106a200241086a290200370200200141f8026a41186a200241106a290200370200200141f8026a41206a200241186a290200370200200141f8026a41286a200241206a290200370200200120073602f80220012002290200370280032001200a3602fc02200141e0046a41206a200141b8016a280200360200200141e0046a41186a200141b0016a290200370300200141e0046a41106a200141a8016a290200370300200141e0046a41086a200141a0016a29020037030020012001290298013703e004200120073602e803200120012802800320012802a4032202200241284b22021b3602e4032001200a200141f8026a41046a20021b3602e003200141a8046a200141e0036a10e797808000200141003a0088052001200141e0036a36028405200141a8036a200141a8026a2001410c6a200141e0046a200141e0036a4100200110f489808000200141013602e40420014194afc680003602e004200142003702ec042001200141d0046a3602e804200141e0046a41dcafc6800010fe80808000000b200141f8026a41286a200241286a290200370300200141f8026a41206a200241206a290200370300200141f8026a41186a200241186a290200370300200141f8026a41106a200241106a290200370300200141f8026a41086a2203200241086a290200370300200120022902003703f802200141a8036a41096a20014194016a41096a290000370000200141a8036a41116a20014194016a41116a290000370000200141a8036a41196a20014194016a41196a290000370000200141a8036a41206a20014194016a41206a29000037000020012001290095013700a903200120073602d003200120043a00a803200120012802f80222083602dc032001200328020020012802a4032202200241284b22021b220c3602d803200120012802fc02200141f8026a410472220d20021b3602d403200441ff01714103470d014102210b200c2107200821020c020b20014198036a200141b8016a28020036020020014190036a200141b0016a29020037030020014188036a200141a8016a29020037030020014180036a200141a0016a290200370300200120012902980122053703f8022001200a3602a0032001200736029c0302402005a741ff01714103460d00200141e0046a200141f8026a4100200141a8026a2001410c6a10f3898080000b10848a808000000b200141e0046a200141a8036a200141d4036a200141a8026a2001410c6a10f38980800020012902e404210520012802e004210b20012802d803210720012802dc0321020b20024101762103024002402002410171220e0d000240200320074b0d0020012802d40320036a210f41002102410021040c020b2003200741dce4cd8000109281808000000b200320074f0d044101210220012802d4032204200341016a22106a210f200420036a2d0000410f712104201021030b200120043a00ed03200120023a00ec0341002111200141003602e8032001200f3602e0032001200720036b22103602e403200c41017420086b220841017641046a21020240024002400240200b4102460d00200b4101460d0241002104024020024100480d0041002d008083d480001a200241002802f482d480001182808080000022040d02410121040b2004200241f8a3c6800010b980808000000b0240024020024100480d0041002d008083d480001a200241002802f482d4800011828080800000220c0d01410121110b2011200241f8a3c6800010b980808000000b200c417e6a41003b0000200141003602e8042001200c3602e404200120023602e004200120083602ac04200141013b01a804200141a8046a200141e0046a10c08f808000024002400240200e450d004100210c200141003a00ec030c010b20072003460d014101210c200141013602e803200f2d000021040b024020012802e804220220012802e004470d00200141e0046a200241014101410110a3868080000b20012802e404220820026a20043a00002001200241016a22023602e804200c20104f0d00200f200c6a21042007200c6b20036b2103034020042d000021070240200220012802e004470d00200141e0046a200241014101410110a38680800020012802e40421080b200820026a20073a00002001200241016a22023602e804200441016a21042003417f6a22030d000b200120103602e8030b200141f0036a41086a200141e0046a41086a280200360200200120012902e0043703f0030c020b2004417e6a41003b0000200141e0046a41086a22034100360200200120043602e404200120023602e004200120083602ac0420014181023b01a804200141a8046a200141e0046a10c08f808000200141e0046a200141e0036a4188a4c6800010c18f808000200141f0036a41086a2003280200360200200120012902e0043703f0030c010b410021040240024020024100480d0041002d008083d480001a200241002802f482d480001182808080000022040d01410121040b2004200241f8a3c6800010b980808000000b2004417e6a41003b0000200141e0046a41086a22034100360200200120043602e404200120023602e004200141033a00a804200120083602ac04200141a8046a200141e0046a10c08f808000200141e0046a200141e0036a4188a4c6800010c18f808000200141f0036a41086a2003280200360200200120012902e0043703f0030b024020012802f803221220012802f003470d00200141f0036a41fcafc6800010b8808080000b20012802f40320126a41003a00002001201241016a22023602f8030240200220012802f003470d00200141f0036a41fcafc6800010b8808080000b20012802f40320026a41003a00002001201241026a22133602f803200b4102460d052005422088a7210220132104200b4101710d04200120023602a8042001200141a8046a3602e004200141e0046a200141f0036a10dc8480800020012802f80321040c040b200220044194acc68000108281808000000b410141014194adc6800010b980808000000b2003200441ece4cd8000108281808000000b2003200741ece4cd8000108281808000000b2005a72103024020012802f00320046b20024f0d00200141f0036a200420024101410110a38680800020012802f80321040b20012802f40320046a2003200210f4978080001a200120012802f80320026a3602f8030b200141a8046a41086a210c200141a8046a41017221104100210b200141e0046a410172220f411f6a21144101210841002103410021070240024002400340200a20036a22022d00002104200241023a000020044103460d010240024020044102470d00410021020c010b2014200241206a280000360000200f41186a200241196a290000370000200f41106a200241116a290000370000200f41086a200241096a290000370000200f200241016a290000370000200120012802f8023602d804200120012802800320012802a4032202200241284b22021b3602d404200120012802fc02200d20021b3602d004200120073a008905200141013a008805200120043a00e0042001200141d0046a36028405200141a8046a200141a8026a2001410c6a200141e0046a200141d0046a4101200710f489808000200141a4046a41026a2215201041026a2d00003a000020014180046a41086a2204200c41086a29020037030020014180046a41106a220e200c41106a29020037030020014180046a41186a2211200c41186a290200370300200120102f00003b01a4042001200c2902003703800441002102024020012d00a8042216417e6a0e020104000b20012802ac042102024002402016410171450d00200141e0046a41186a2011290300370300200141e0046a41106a200e290300370300200141e0046a41086a200429030037030020012001290380043703e004200241214f0d09200120023602d0042001200141d0046a3602a804200141a8046a200141f0036a10dc848080000240200220012802f00320012802f80322046b4d0d00200141f0036a2004200210f49180800020012802f80321040b20012802f40320046a200141e0046a200210f4978080001a2001200420026a3602f8030c010b200141203602a8042001200141a8046a3602e004200141e0046a200141f0036a10dc84808000024020012802f00320012802f80322176b411f4b0d00200141f0036a2017412010f49180800020012802f80321170b20012802f40320176a2216200129038004370007201620012f01a4043b0000201641026a20152d00003a0000201620023600032016410f6a2004290300370000201641176a200e2903003700002016411f6a20112d00003a00002001201741206a3602f8030b200821020b200741016a2107200841017421082002200b72210b200341246a220341c004470d000b200b4180fe037141087621020c020b200b4180fe037141087621020c010b200b4180fe037141087621020b0240201320012802f80322044d0d002013200441ecafc68000109181808000000b20012802f40320126a2002410874200b41ff0171723b0000200141d0046a41086a200141f0036a41086a280200360200200120012903f0033703d004024020012d00a80322024103460d0002400240024020020e020103000b20012802cc03220220022802002202417f6a36020020024101470d02200141cc036a21020c010b20012802ac03220220022802002202417f6a36020020024101470d01200141ac036a21020b200210f0978080000b200a200a417e6a2f00006b41002802ec82d480001181808080000020012802a4034129490d0020012802fc0222022002417e6a2f00006b41002802ec82d48000118180808000000b2000280250210220002802542103200141e0046a41086a41002802a8f1ca8000360200200141002902a0f1ca80003703e004200141f8026a2002200141e0046a20012802d404220420012802d8042207200328021c118780808000002000280258220220012900f802370000200241186a200141f8026a41186a2203290000370000200241106a200141f8026a41106a2208290000370000200241086a200141f8026a41086a220b290000370000200b2000280258220241086a2900003703002008200241106a2900003703002003200241186a290000370300200120022900003703f8022000200141f8026a20042007200141f4016a10fb898080002000280258220241186a2900002105200241106a2900002106200241086a29000021092000200229000037002d200041013a002c200041356a20093700002000413d6a2006370000200041c5006a2005370000024020012802d004450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20012802d0024129490d0020012802a80222022002417e6a2f00006b41002802ec82d48000118180808000000b20014190056a2480808080000f0b20024120418cb0c68000109181808000000bb30601037f2380808080004190016b2206248080808000200641033a000c0240024002402005417f4c0d00200541f5ffffff074f0d0141002d008083d480001a2005410b6a41fcffffff0771220741002802f482d48000118280808000002208450d022008200841036a417c7120086b22076a22084281808080103702002008417e6a20073b0000200841086a2004200510f4978080001a410121040240024020012d002c4101470d00200641d6006a2001412f6a2d00003a0000200641386a41086a2001413c6a290200370300200641c8006a200141c4006a290200370300200641d0006a200141cc006a2d00003a0000200620012f002d3b015420062001290234370338200128023021070c010b20012802302107410021040b200641e0006a41106a200641386a41086a290300370200200641e0006a41186a200641386a41106a290300370200200641e0006a41206a200641386a41186a280200360200200620043a0060200620062f01543b006120062007360264200620062903383702682006200641d4006a41026a2d00003a00632006410036028c0120062003360288012006200236028401200641d8006a2001200641e0006a20064184016a200820052006410c6a108a8a8080000240024020062d005c4102470d0020062802582101200041043a00002000200136020420062d000c22014103460d010240024020010e020103000b2006280230220120012802002201417f6a36020020014101470d02200641306a10f0978080000c020b2006280210220120012802002201417f6a36020020014101470d01200641106a10f0978080000c010b20012006280258360230200141003a002c2000200629020c370200200041086a2006410c6a41086a290200370200200041106a2006410c6a41106a290200370200200041186a2006410c6a41186a290200370200200041206a2006410c6a41206a290200370200200041286a2006410c6a41286a2802003602000b20064190016a2480808080000f0b41f8e9cd8000412b200641e0006a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200641e0006a418c80c0800041b482c0800010a981808000000b4104200710ab80808000000bb30601037f2380808080004190016b2206248080808000200641033a000c0240024002402005417f4c0d00200541f5ffffff074f0d0141002d008083d480001a2005410b6a41fcffffff0771220741002802f482d48000118280808000002208450d022008200841036a417c7120086b22076a22084281808080103702002008417e6a20073b0000200841086a2004200510f4978080001a410121040240024020012d002c4101470d00200641d6006a2001412f6a2d00003a0000200641386a41086a2001413c6a290200370300200641c8006a200141c4006a290200370300200641d0006a200141cc006a2d00003a0000200620012f002d3b015420062001290234370338200128023021070c010b20012802302107410021040b200641e0006a41106a200641386a41086a290300370200200641e0006a41186a200641386a41106a290300370200200641e0006a41206a200641386a41186a280200360200200620043a0060200620062f01543b006120062007360264200620062903383702682006200641d4006a41026a2d00003a00632006410036028c0120062003360288012006200236028401200641d8006a2001200641e0006a20064184016a200820052006410c6a10878a8080000240024020062d005c4102470d0020062802582101200041043a00002000200136020420062d000c22014103460d010240024020010e020103000b2006280230220120012802002201417f6a36020020014101470d02200641306a10f0978080000c020b2006280210220120012802002201417f6a36020020014101470d01200641106a10f0978080000c010b20012006280258360230200141003a002c2000200629020c370200200041086a2006410c6a41086a290200370200200041106a2006410c6a41106a290200370200200041186a2006410c6a41186a290200370200200041206a2006410c6a41206a290200370200200041286a2006410c6a41286a2802003602000b20064190016a2480808080000f0b41f8e9cd8000412b200641e0006a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200641e0006a418c80c0800041b482c0800010a981808000000b4104200710ab80808000000bab0601037f2380808080004190016b2204248080808000410121050240024020012d002c4101470d002004412a6a2001412f6a2d00003a0000200441106a2001413c6a290200370300200441186a200141c4006a290200370300200441206a200141cc006a2d00003a0000200420012f002d3b012820042001290234370308200128023021060c010b20012802302106410021050b20044100360234200420033602302004200236022c200441033a0038200441ec006a41106a200441106a290300370200200441ec006a41186a200441086a41106a2903003702002004418c016a200441086a41186a280200360200200420053a006c200420042f01283b006d2004200441286a41026a2d00003a006f2004200636027020042004290308370274200441e4006a2001200441ec006a2004412c6a200441386a10908a8080000240024020042d006822054103470d0020042802642101200041043a00002000200136020420042d003822014103460d010240024020010e020103000b200428025c220120012802002201417f6a36020020014101470d02200441dc006a10f0978080000c020b200428023c220120012802002201417f6a36020020014101470d012004413c6a10f0978080000c010b0240024020054102460d0020012004280264360230200141003a002c0c010b200441ec006a41fccfc28000410141002802c480d4800011868080800000200141013a002c2001200429006c37002d200141356a200441ec006a41086a22052900003700002001413d6a200441ec006a41106a2203290000370000200141c5006a200441ec006a41186a2202290000370000200441ec006a41fccfc28000410141002802c480d480001186808080000020012802582201200429006c370000200141186a2002290000370000200141106a2003290000370000200141086a20052900003700000b20002004290238370200200041286a200441386a41286a280200360200200041206a200441386a41206a290200370200200041186a200441386a41186a290200370200200041106a200441386a41106a290200370200200041086a200441386a41086a2902003702000b20044190016a2480808080000bab0601037f2380808080004190016b2204248080808000410121050240024020012d002c4101470d002004412a6a2001412f6a2d00003a0000200441106a2001413c6a290200370300200441186a200141c4006a290200370300200441206a200141cc006a2d00003a0000200420012f002d3b012820042001290234370308200128023021060c010b20012802302106410021050b20044100360234200420033602302004200236022c200441033a0038200441ec006a41106a200441106a290300370200200441ec006a41186a200441086a41106a2903003702002004418c016a200441086a41186a280200360200200420053a006c200420042f01283b006d2004200441286a41026a2d00003a006f2004200636027020042004290308370274200441e4006a2001200441ec006a2004412c6a200441386a10928a8080000240024020042d006822054103470d0020042802642101200041043a00002000200136020420042d003822014103460d010240024020010e020103000b200428025c220120012802002201417f6a36020020014101470d02200441dc006a10f0978080000c020b200428023c220120012802002201417f6a36020020014101470d012004413c6a10f0978080000c010b0240024020054102460d0020012004280264360230200141003a002c0c010b200441ec006a41fccfc28000410141002802c480d4800011868080800000200141013a002c2001200429006c37002d200141356a200441ec006a41086a22052900003700002001413d6a200441ec006a41106a2203290000370000200141c5006a200441ec006a41186a2202290000370000200441ec006a41fccfc28000410141002802c480d480001186808080000020012802582201200429006c370000200141186a2002290000370000200141106a2003290000370000200141086a20052900003700000b20002004290238370200200041286a200441386a41286a280200360200200041206a200441386a41206a290200370200200041186a200441386a41186a290200370200200041106a200441386a41106a290200370200200041086a200441386a41086a2902003702000b20044190016a2480808080000b850502087f017e23808080800041106b2201248080808000200028020421020240024002400240024002400240200028020820002802002203200341054b22041b220541016a0e020201000b2005672205450d01417f20057621050b200541016a2206200020044103746a2802002207490d01200041046a21082003410520041b2104024020054105490d0020032006460d0402402006ad422c7e2209422088a70d002009a7220541fcffffff074b0d0002400240024020034106490d002004ad422c7e2209422088a70d032009a7220441fcffffff074b0d03200541002802f482d48000118280808000002203450d022003200341036a417c7120036b22086a2203417e6a20083b0000200320022005200420052004491b10f4978080001a20022002417e6a2f00006b41002802ec82d48000118180808000000c010b41002d008083d480001a200541002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a2203417e6a20053b0000200320082007412c6c10f4978080001a0b2000200736020820002003360204200020063602000c060b4104200510ab80808000000b41f0adc6800041114184aec68000108081808000000b200341064f0d020c030b41f0adc6800041114194aec6800010a181808000000b41a4aec68000412041c4aec68000108081808000000b200820022007412c6c10f4978080001a200020073602002004ad422c7e2209a721002009422088a70d01200041fdffffff074f0d0120022002417e6a2f00006b41002802ec82d48000118180808000000b200141106a2480808080000f0b2001200036020c2001410036020841b4adc68000412b200141086a41a4adc6800041e0adc6800010a981808000000b850502087f017e23808080800041106b2201248080808000200028020421020240024002400240024002400240200028020820002802002203200341054b22041b220541016a0e020201000b2005672205450d01417f20057621050b200541016a2206200020044103746a2802002207490d01200041046a21082003410520041b2104024020054105490d0020032006460d0402402006ad420c7e2209422088a70d002009a7220541fcffffff074b0d0002400240024020034106490d002004ad420c7e2209422088a70d032009a7220441fcffffff074b0d03200541002802f482d48000118280808000002203450d022003200341036a417c7120036b22086a2203417e6a20083b0000200320022005200420052004491b10f4978080001a20022002417e6a2f00006b41002802ec82d48000118180808000000c010b41002d008083d480001a200541002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a2203417e6a20053b0000200320082007410c6c10f4978080001a0b2000200736020820002003360204200020063602000c060b4104200510ab80808000000b41f0adc6800041114184aec68000108081808000000b200341064f0d020c030b41f0adc6800041114194aec6800010a181808000000b41a4aec68000412041c4aec68000108081808000000b200820022007410c6c10f4978080001a200020073602002004ad420c7e2209a721002009422088a70d01200041fdffffff074f0d0120022002417e6a2f00006b41002802ec82d48000118180808000000b200141106a2480808080000f0b2001200036020c2001410036020841b4adc68000412b200141086a41a4adc6800041e0adc6800010a981808000000b4a01017f23808080800041206b22032480808080002003410136020820034194afc680003602042003420037021020032003411c6a36020c200341046a419cafc6800010fe80808000000b4a01017f23808080800041206b22042480808080002004410136020820044194afc680003602042004420037021020042004411c6a36020c200441046a41dcafc6800010fe80808000000b4a01017f23808080800041206b22042480808080002004410136020820044194afc680003602042004420037021020042004411c6a36020c200441046a41dcafc6800010fe80808000000b940b01057f23808080800041c0006b2206248080808000200241017641046a21070240024002400240200528020022084102460d0020084101460d0241002109024020074100480d0041002d008083d480001a200741002802f482d480001182808080000022090d02410121090b2009200741f8a3c6800010b980808000000b410021090240024020074100480d0041002d008083d480001a200741002802f482d480001182808080000022090d01410121090b2009200741f8a3c6800010b980808000000b2009417e6a41003b0000200641186a41086a220a41003602002006200936021c2006200736021820062002360214200641013b0110200641106a200641186a10c08f808000200641186a20014188a4c6800010c18f808000200641086a200a280200360200200620062902183703000c020b2009417e6a41003b0000200641186a41086a220a41003602002006200936021c200620073602182006200236021420064181023b0110200641106a200641186a10c08f808000200641186a20014188a4c6800010c18f808000200641086a200a280200360200200620062902183703000c010b410021090240024020074100480d0041002d008083d480001a200741002802f482d480001182808080000022090d01410121090b2009200741f8a3c6800010b980808000000b2009417e6a41003b0000200641186a41086a220a41003602002006200936021c20062007360218200641033a001020062002360214200641106a200641186a10c08f808000200641186a20014188a4c6800010c18f808000200641086a200a280200360200200620062902183703000b0240200628020822092006280200470d00200641fcafc6800010b8808080000b200628020420096a41003a00002006200941016a2207360208024020072006280200470d00200641fcafc6800010b8808080000b200628020420076a41003a00002006200941026a220a360208200a2101024020084102460d002005280208210720052802042105200a2102024020084101710d00200620073602102006200641106a360218200641186a200610dc84808000200628020821020b02402007200628020020026b4d0d002006200220074101410110a386808000200628020821020b200628020420026a2005200710f4978080001a2006200628020820076a22013602080b024002400240024020032004470d0041002105410021030c010b4100210541012107034041002102024020032d000022084102460d00024002402008410171450d00200641186a41186a200341206a290000370300200641186a41106a200341186a290000370300200641186a41086a200341106a2900003703002006200341086a290000370318200341046a280200220241214f0d052006200236023c20062006413c6a360210200641106a200610dc84808000024020022006280200200628020822086b4d0d0020062008200210f491808000200628020821080b200628020420086a200641186a200210f4978080001a200820026a21010c010b200641203602102006200641106a360218200641186a200610dc8480800002402006280200200628020822016b411f4b0d0020062001412010f491808000200628020821010b200628020420016a2202200341016a2208290000370000200241086a200841086a290000370000200241106a200841106a290000370000200241186a200841186a290000370000200141206a21010b20062001360208200721020b2007410174210720022005722105200341286a22032004470d000b20054180fe037141087621030b200a20014b0d01200628020420096a2003410874200541ff0171723b000020002006290300370200200041086a200641086a280200360200200641c0006a2480808080000f0b20024120418cb0c68000109181808000000b200a200141ecafc68000109181808000000b9110010f7f2380808080004190016b2205248080808000200241017641046a21060240024002400240200428020022074102460d0020074101460d0241002108024020064100480d0041002d008083d480001a200641002802f482d480001182808080000022080d02410121080b2008200641f8a3c6800010b980808000000b410021080240024020064100480d0041002d008083d480001a200641002802f482d480001182808080000022080d01410121080b2008200641f8a3c6800010b980808000000b2008417e6a41003b0000200541f0006a41086a22094100360200200520083602742005200636027020052002360244200541013b0140200541c0006a200541f0006a10c08f808000200541f0006a20014188a4c6800010c28f808000200541086a41086a2009280200360200200520052902703703080c020b2008417e6a41003b0000200541f0006a41086a2209410036020020052008360274200520063602702005200236024420054181023b0140200541c0006a200541f0006a10c08f808000200541f0006a20014188a4c6800010c28f808000200541086a41086a2009280200360200200520052902703703080c010b410021080240024020064100480d0041002d008083d480001a200641002802f482d480001182808080000022080d01410121080b2008200641f8a3c6800010b980808000000b2008417e6a41003b0000200541f0006a41086a220941003602002005200836027420052006360270200541033a004020052002360244200541c0006a200541f0006a10c08f808000200541f0006a20014188a4c6800010c28f808000200541086a41086a2009280200360200200520052902703703080b02402005280210220a2005280208470d00200541086a41fcafc6800010b8808080000b200528020c200a6a41003a00002005200a41016a2206360210024020062005280208470d00200541086a41fcafc6800010b8808080000b200528020c20066a41003a00002005200a41026a220b360210200b210c024020074102460d002004280208210620042802042104200b2102024020074101710d00200520063602402005200541c0006a360270200541f0006a200541086a10dc84808000200528021021020b02402006200528020820026b4d0d00200541086a200220064101410110a386808000200528021021020b200528020c20026a2004200610f4978080001a2005200528021020066a220c3602100b0240024002400240200328020c22010d0041002104410021060c010b200328020821082003280204210d20032802002106200541f0006a41186a210e200541f0006a41106a210f200541f0006a41086a2110410021044101210203400240024002402006450d00200641246a41002006200d4722071b21092006200820071b21032007450d01200921060c020b410021062008210320080d0120044180fe037141087621060c030b2009210620080d0020044180fe037141087621060c020b0240024020032d000022074102470d00410021030c010b02400240024020074101712209450d00200541e4006a200328020410aa8d808000200e4200370300200f42003703002010420037030020054200370370200528026c220741204f0d01200541f0006a20052802682203200710f4978080001a200541c0006a41186a200e290300370300200541c0006a41106a200f290300370300200541c0006a41086a2010290300370300200520052903703703402005280264450d0220032003417e6a2f00006b41002802ec82d48000118180808000000c020b200541e0006a41026a200341036a2d00003a00002003280004210720032f0001210c200541c0006a41086a200341106a290000370300200541c0006a41106a200341186a290000370300200541c0006a41186a200341206a2d00003a00002005200c3b0160200520032900083703400c010b41c0b7c78000411a41dcb7c78000108081808000000b2005413c6a41026a2211200541e0006a41026a2d00003a0000200541186a41086a220c200541c0006a41086a290300370300200541186a41106a2212200541c0006a41106a290300370300200541186a41186a2213200541c0006a41186a290300370300200520052f01603b013c20052005290340370318024002402009450d00200e2013290300370300200f20122903003703002010200c29030037030020052005290318370370200741214f0d05200520073602642005200541e4006a360240200541c0006a200541086a10dc84808000024020072005280208200528021022036b4d0d00200541086a2003200710f491808000200528021021030b200528020c20036a200541f0006a200710f4978080001a200320076a210c0c010b200541203602402005200541c0006a360270200541f0006a200541086a10dc8480800002402005280208200528021022096b411f4b0d00200541086a2009412010f491808000200528021021090b200528020c20096a22032005290318370007200320052f013c3b000020032007360003200341026a20112d00003a00002003410f6a200c290300370000200341176a20122903003700002003411f6a20132d00003a0000200941206a210c0b2005200c360210200221030b20024101742102200320047221042001417f6a22010d000b20044180fe037141087621060b200b200c4b0d01200528020c200a6a2006410874200441ff0171723b000020002005290308370200200041086a200541086a41086a28020036020020054190016a2480808080000f0b20074120418cb0c68000109181808000000b200b200c41ecafc68000109181808000000b830502047f017e23808080800041206b2204248080808000200241017641046a210502400240024020032802000d0041002106024020054100480d0041002d008083d480001a200541002802f482d480001182808080000022060d02410121060b2006200541f8a3c6800010b980808000000b410021060240024020054100480d0041002d008083d480001a200541002802f482d480001182808080000022060d01410121060b2006200541f8a3c6800010b980808000000b2006417e6a41003b0000200441146a41086a220741003602002004200636021820042005360214200441043a0000200420023602042004200441146a10c08f808000200441146a20014188a4c6800010c28f808000200441086a20072802002205360200200420042902142208370300200328020421020240200328020822032008a720056b4d0d002004200520034101410110a386808000200428020821050b200428020420056a2002200310f4978080001a2004200520036a3602080c010b2006417e6a41003b0000200441146a41086a220741003602002004200636021820042005360214200441023a0000200420023602042004200441146a10c08f808000200441146a20014188a4c6800010c28f808000200441086a2202200728020036020020042004290214370300200328020421012004200328020822053602102004200441106a360214200441146a200410dc84808000024020052004280200200228020022036b4d0d002004200320054101410110a386808000200428020821030b200428020420036a2001200510f4978080001a2004200428020820056a3602080b20002004290300370200200041086a200441086a280200360200200441206a2480808080000b4d01017f23808080800041106b2203248080808000200341086a2000200028023c20012002410110b28980800020032d00082100200328020c2102200341106a2480808080002002410020001b0b110020002001200128023c10b5898080000b1e002001280200419cb0c680004110200128020428020c118080808000000b1e00200128020041acb0c680004111200128020428020c118080808000000b7601017f23808080800041306b22022480808080002002200136020c2002200036020820024102360214200241d0b0c680003602102002420137021c200241c181808000ad422086200241086aad843703282002200241286a360218200241106a10a78a8080002101200241306a24808080800020010b8d0201037f23808080800041106b2201248080808000200028020c210202400240024002400240024020002802040e020001020b20020d014101210341002100410121020c030b2002450d010b200141046a200010b2808080000c020b41002103024002402000280200220228020422004100480d0020022802002103024020000d0041012102410021000c030b41002d008083d480001a200041002802f482d480001182808080000022020d01410121030b2003200041d8cec6800010b980808000000b2002417e6a41003b00000b20022003200010f49780800021022001200036020c20012002360208200120003602040b200141046a10fc928080002100200141106a24808080800020000bee0101017f23808080800041c0006b22042480808080002004200136020c200420003602080240024020030d002004410236021420044188b1c680003602102004420137021c200441c181808000ad422086200441086aad843703282004200441286a360218200441106a10a78a80800021030c010b20044102360214200441a4b1c680003602102004420237021c2004200336023c200420023602382004419e83808000ad422086200441386aad84370330200441c181808000ad422086200441086aad843703282004200441286a360218200441106a10a78a80800021030b200441c0006a24808080800020030b950101017f23808080800041c0006b220324808080800020032002360214200320013602102003200036020c2003410236021c200341d0b1c68000360218200342023702242003419f83808000ad422086200341106aad843703382003418680808000ad4220862003410c6aad843703302003200341306a360220200341186a10a78a8080002102200341c0006a24808080800020020b7601017f23808080800041306b22022480808080002002200136020c2002200036020820024102360214200241f4b1c680003602102002420137021c200241c181808000ad422086200241086aad843703282002200241286a360218200241106a10a78a8080002101200241306a24808080800020010bea0401067f23808080800041206b2202248080808000200128020c2103024002400240024020012802142204200128021022054f0d002001410c6a21060340200320046a2d000041776a220741194b0d02024041012007744193808004710d0020074119470d03200141003602082001200441016a360214200241146a2006200110899380800020022802182101200228021422074102470d042000418080808078360200200020013602040c050b2001200441016a220436021420052004470d000b200521040b20024105360214200241086a20032005200441016a2204200520042005491b108793808000200241146a2002280208200228020c10f59280800021042000418080808078360200200020043602040c020b2001200241146a41b0d0c6800010c58a808000200110c68a80800021042000418080808078360200200020043602040c010b200228021c210402400240024002402007410171450d0041002107024020044100480d00024020040d00410121070c040b41002d008083d480001a200441002802f482d480001182808080000022070d02410121070b2007200441d8cec6800010b980808000000b4100210702400240024020044100480d00024020040d00410121070c030b41002d008083d480001a200441002802f482d480001182808080000022070d01410121070b2007200441d8cec6800010b980808000000b2007417e6a41003b000020072001200410f4978080001a0b20002004360208200020073602040c020b2007417e6a41003b000020072001200410f4978080001a0b20002004360208200020073602040b200020043602000b200241206a2480808080000b7901037f23808080800041206b22012480808080002001410b3a0008200141086a2001411f6a4184b2c6800010fd928080002102024020002802002203418080808078460d002003450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b200141206a24808080800020020bae0502057f027e23808080800041306b2202248080808000200128020c21030240024002400240024020012802142204200128021022054f0d0003400240200320046a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030305030b2001200441016a220436021420052004470d000b200521040b20024103360224200241086a20032005200441016a2204200520042005491b108793808000200241246a2002280208200228020c10f59280800021040c010b20024106360224200220032005200441016a2204200520042005491b108793808000200241246a2002280200200228020410f59280800021040b20004101360200200020043602040c010b2001200441016a360214200241246a200110ab8a80800020022802282105024020022802242206418080808078470d0020004101360200200020053602040c010b0240024002400240024002400240200228022c22030e020400010b410121012005210420052d000041556a0e03030103010b024020052d0000412b470d002003417f6a2101200541016a210420034112490d010c020b2005210420032101200341114f0d010b42002107034020042d000041506a220341094b0d02200441016a21042007420a7e2003ad7c21072001417f6a22010d000c030b0b4200210703402001450d02200241106a20074200420a420010fc9780800020022903184200520d0120042d000041506a220341094b0d01200441016a21042001417f6a2101200229031022082003ad7c220720085a0d000b0b2000419cc2cc8000412b10ae8a808000360204410121040c010b20002007370308410021040b200020043602002006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000bb20101027f23808080800041106b22022480808080004100210302400240024020014100480d00024020010d00410121030c030b41002d008083d480001a200141002802f482d480001182808080000022030d01410121030b2003200141d8cec6800010b980808000000b2003417e6a41003b00000b20032000200110f49780800021032002200136020c2002200336020820022001360204200241046a10fc928080002101200241106a24808080800020010be50101017f23808080800041306b2202248080808000200241086a200110b08a8080000240024020022d00084101470d002000200228020c360208200042023703000c010b024020022d00090d00200042003703000c010b200241086a2001280200200220022002200210b18a808000024020022802084101470d002000200228020c360208200042023703000c010b2000200229031037030820004201370300200041206a200241086a41206a290300370300200041186a200241086a41186a290300370300200041106a200241086a41106a2903003703000b200241306a2480808080000bc50401077f23808080800041306b22022480808080002001280200220328020c210402400240024020032802142205200328021022064f0d000340200420056a2d0000220741776a220841174b0d024101200874419380800471450d022003200541016a220536021420062005470d000b200621050b2002410236022441012108200241186a20042006200541016a2205200620052006491b1087938080002000200241246a2002280218200228021c10f5928080003602040c010b0240200741dd00470d0041002108200041003a00010c010b02400240024020012d00040d002007412c470d01410121082003200541016a22053602140240200520064f0d000340200420056a2d0000220141776a220741174b0d044101200774419380800471450d042003200541016a220536021420062005470d000b200621050b20024105360224200220042006200541016a2205200620052006491b1087938080002000200241246a2002280200200228020410f5928080003602040c030b200041013a000141002108200141003a00040c020b2002410736022441012108200241106a20042006200541016a2205200620052006491b1087938080002000200241246a2002280210200228021410f5928080003602040c010b0240200141dd00470d002002411536022441012108200241086a20042006200541016a2205200620052006491b1087938080002000200241246a2002280208200228020c10f5928080003602040c010b200041013a0001410021080b200020083a0000200241306a2480808080000bf81503067f067e017f2380808080004180016b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b2006410536026041012101200641086a20072009200841016a2208200920082009491b1087938080002000200641e0006a2006280208200628020c10f5928080003602040c010b0240024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641ff006a4190d1c6800010c58a808000210a0c0b0b200120012d0018417f6a220b3a00180240200b41ff0171450d00410121072001200841016a360214200641013a007820062001360274200641e0006a200641f4006a10b08a80800020062d00604101460d07024020062d00614101470d00200641e0006a200628027410ab8a8080002006280264210a20062802602209418080808078460d07024002400240200628026822070e020700010b4101210b200a2108200a2d000041556a0e03060106010b0240200a2d0000412b470d002007417f6a210b200a41016a210820074112490d010c050b200a21082007210b200741114f0d040b4200210c034020082d000041506a220741094b0d05200841016a2108200c420a7e2007ad7c210c200b417f6a220b450d060c000b0b41012107410041acc6c6800041d4c5c6800010a98a808000210a0c080b20064118360260200641106a20072009200841016a2208200920082009491b1087938080002000200641e0006a2006280210200628021410f5928080003602040c0b0b200120012d0018417f6a220b3a00180240200b41ff0171450d00410121092001200841016a360214200641013a005c20062001360258200641e0006a200641d8006a10988b8080000240024002400240024020062d00600d004200210d4200210e410021074200210f03400240024002400240024020062d00614101470d002006280258220841003602082008200828021441016a360214200641e0006a2008410c6a20081089938080002006280264210a024020062802604102470d00410121090c0a0b200641f4006a200a200628026810fa8c808000024020062d0074410171450d002006280278210a410121090c0a0b024002400240024020062d00750e0400010203000b200d4201510d0b200641e0006a200810ad8a80800020062802604101460d0a2006290368210c4201210d0c070b200e4201510d05200641e0006a200810ad8a80800020062802604101460d09200629036821104201210e0c060b20074101460d03200828020c210a02400240024002402008280214220b200828021022074f0d0003400240200a200b6a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200b41016a220b3602142007200b470d000b2007210b0b20064103360260200641c8006a200a2007200b41016a2208200720082007491b108793808000200641e0006a2006280248200628024c10f592808000210b410121080c020b20064106360260200641c0006a200a2007200b41016a2208200720082007491b108793808000200641e0006a2006280240200628024410f592808000210b410121080c010b2008200b41016a360214200641d0006a200810a18b8080002006280254210b200628025021080b410121072008410171450d05200b210a410121090c0b0b200f4201510d01200641e0006a200810ad8a80800020062802600d07200629036821114201210f0c040b410121090240200da74101710d0041e7c5c68000410710a68a808000210a0c090b410121090240200ea74101710d004180bac68000410710a68a808000210a0c090b41012109024020074101710d0041eec5c68000410e10a68a808000210a0c090b410121090240200fa7410171450d00410021090c0a0b41fcc5c68000410b10a68a808000210a0c080b4101210941fcc5c68000410b10aa8a808000210a0c070b4101210941eec5c68000410e10aa8a808000210a0c060b410121094180bac68000410710aa8a808000210a0c050b200641e0006a200641d8006a10988b80800020062d0060450d000b0b2006280264210a0c020b2006280264210a410121090c010b4101210941e7c5c68000410710aa8a808000210a0b0b200120012d001841016a3a0018200110c78a8080002108024020090d002008210a20080d0b0c0a0b2008450d0a024020082802000d002008280208450d002008280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20082008417e6a2f01006b41002802ec82d48000118180808000000c0a0b20064118360260200641386a20072009200841016a2208200920082009491b1087938080002000200641e0006a2006280238200628023c10f5928080003602040c0a0b4200210c0340200b450d02200641206a200c4200420a420010fc9780800020062903284200520d0120082d000041506a220741094b0d01200841016a2108200b417f6a210b200629032022102007ad7c220c20105a0d000b0b41012108419cc2cc8000412b10ae8a80800021120c010b410021080b02402009450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402008450d00410121072012210a0c040b200641e0006a200641f4006a10b08a8080004101210720062d00604101460d01024002400240024020062d00614101470d00200641e0006a200628027410ab8a8080002006280264210a20062802602208418080808078460d04200641e0006a200a2006280268109893808000024002402006280260220b4101470d002006280264200628026810ae8a80800021090c010b200629036821100b02402008450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200b450d00410121072009210a0c080b200641e0006a200641f4006a10b08a8080004101210720062d00604101460d0520062d00614101470d02200641186a200628027410a18b80800041012107200628021c210b2006280218410171450d01200b210a0c070b41012107410141acc6c6800041d4c5c6800010a98a808000210a0c050b200641e0006a200641f4006a10b08a8080004101210720062d00604101460d0320062d00614101470d01200641e0006a200628027410ab8a80800020062802642108024020062802602207418080808078470d002008210a410121070c050b200641e0006a2008200628026810989380800002400240200628026022094101470d002006280264200628026810ae8a808000210a0c010b200629036821110b02402007450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b20090d02410021070c050b41012107410241acc6c6800041d4c5c6800010a98a808000210a0c030b41012107410341acc6c6800041d4c5c6800010a98a808000210a0c020b410121070c010b2006280264210a0b0b200120012d001841016a3a0018200110c88a8080002108024020070d002008210a2008450d010c020b2008450d01024020082802000d002008280208450d002008280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20082008417e6a2f01006b41002802ec82d48000118180808000000c010b2000200b36022020002011370318200020103703102000200c370308410021010c020b2000200a200110c68a8080003602040b410121010b2000200136020020064180016a2480808080000b960101017f23808080800041106b2202248080808000200241086a200110b08a8080000240024020022d00084101470d002000200228020c360204200041013a00000c010b024020022d00090d00200041003b01000c010b02402001280200200220022002200210b38a8080002201450d00200041013a0000200020013602040c010b20004180023b01000b200241106a2480808080000bed0501067f23808080800041306b2205248080808000200028020c210602400240024020002802142207200028021022084f0d000340200620076a2d0000220941776a220a41174b0d024101200a74419380800471450d022000200741016a220736021420082007470d000b200821070b20054105360220200520062008200741016a2207200820072008491b108793808000200541206a2005280200200528020410f59280800021070c010b0240024002400240200941db00460d00200941fb00460d0120002005412f6a41c0d0c6800010c58a808000200010c68a80800021070c040b200020002d00182209417f6a220a3a0018200a41ff0171450d02200020093a00182000200741016a360214200010c88a808000210a0c010b200020002d0018417f6a220a3a00180240200a41ff0171450d002000200741016a360214200541013a001c20052000360218200541206a200541186a10988b8080000240024020052d00204101470d00200528022421070c010b4100210720052d00214101470d002005280218220741003602082007200728021441016a360214200541206a2007410c6a20071089938080002005280224210720052802204102460d00200720052802284104410010a88a80800021070b200020002d001841016a3a00182007200010c78a808000220920071b210a2007450d012009450d01024020092802000d002009280208450d00200928020422072007417e6a2f00006b41002802ec82d48000118180808000000b20092009417e6a2f01006b41002802ec82d48000118180808000000c010b20054118360220200541106a20062008200741016a2207200820072008491b108793808000200541206a2005280210200528021410f59280800021070c020b41002107200a450d01200a200010c68a80800021070c010b20054118360220200541086a20062008200741016a2207200820072008491b108793808000200541206a2005280208200528020c10f59280800021070b200541306a24808080800020070bc80101017f23808080800041106b2202248080808000200241046a200110b08a8080000240024020022d00044101470d002000200228020836020420004181808080783602000c010b024020022d00050d0020004180808080783602000c010b200241046a2001280200200220022002200210b58a80800002402002280204418080808078470d002000200228020836020420004181808080783602000c010b20002002290204370200200041086a200241046a41086a2802003602000b200241106a2480808080000ba40e01087f23808080800041d0006b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b20064105360240200620072009200841016a2208200920082009491b108793808000200641c0006a2006280200200628020410f59280800021082000418080808078360200200020083602040c010b024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641cf006a4180d1c6800010c58a808000210a0c090b200120012d0018417f6a220b3a001802400240200b41ff0171450d002001200841016a360214200641013a003820062001360234200641c0006a200641346a10b08a80800002400240024020062d00404101470d002006280244210a41808080807821080c010b024020062d00414101470d00200641c0006a2006280234109f8b80800041808080807821082006280244210a20062802402207418080808078460d012006280248210b200721080c020b4180808080782108410041ccc5c6800041d4c5c6800010a98a808000210a0b0b200120012d001841016a3a0018200110c88a80800021072008418080808078460d012007450d0820080d032007210a0c0a0b20064118360240200641086a20072009200841016a2208200920082009491b108793808000200641c0006a2006280208200628020c10f59280800021080c0b0b2007450d08024020072802000d002007280208450d00200728020422082008417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c080b200120012d0018417f6a220b3a0018200b41ff0171450d082001200841016a360214200641013a00302006200136022c200641c0006a2006412c6a10988b808000024020062d0040450d0041808080807821092006280244210a0c020b024020062d00414101460d0041808080807821080c040b41808080807821080340200628022c220b4100360208200b200b28021441016a360214200641c0006a200b410c6a200b108993808000200628024421070240024020062802404102460d0002402006280248220c410b470d0020074194fec48000410b10f597808000450d020b20082109200a210d2007200c41a0fec48000410110a88a808000210a0c040b2007450d0020082109200a210d2007210a0c030b02402008418080808078460d0020082109200a210d419cc5c68000410b10aa8a808000210a0c040b200b28020c210a024002400240200b2802142208200b28021022074f0d0003400240200a20086a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b200b200841016a220836021420072008470d000b200721080b20064103360240200641206a200a2007200841016a2208200720082007491b108793808000200641c0006a2006280220200628022410f592808000210a41808080807821080c070b20064106360240200641186a200a2007200841016a2208200720082007491b108793808000200641c0006a2006280218200628021c10f592808000210a41808080807821080c060b200b200841016a360214200641346a200b109f8b8080002006280238210a024020062802342208418080808078470d0041808080807821080c060b200628023c210b200641c0006a2006412c6a10988b808000024020062d00400d0020062d00414101470d050c010b0b20082109200a210d2006280244210a0c010b200a200a417e6a2f00006b41002802ec82d48000118180808000002007210a0c060b41808080807821082009418080808078460d020b418080808078210802402009450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b0c010b2008418080808078470d004180808080782108419cc5c68000410b10a68a808000210a0b200120012d001841016a3a0018200110c78a808000210702402008418080808078460d002007450d0120080d022007210a0c030b2007450d02024020072802000d002007280208450d00200728020422082008417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c020b2000200b3602082000200a360204200020083602000c040b200a200a417e6a2f00006b41002802ec82d48000118180808000002007210a0b200a200110c68a80800021082000418080808078360200200020083602040c020b20064118360240200641106a20072009200841016a2208200920082009491b108793808000200641c0006a2006280210200628021410f59280800021080b2000418080808078360200200020083602040b200641d0006a2480808080000be50a02097f047e2380808080004180016b2202248080808000200241f4006a200110b08a8080000240024020022d00744101470d002000420037030820004202370300200020022802783602100c010b024020022d00750d0020004200370308200042003703000c010b2001280200220328020c2104024002400240024020032802142201200328021022054f0d0003400240200420016a22062d0000220741776a0e2500000404000404040404040404040404040404040404040004040404040404040404040403040b2003200141016a220136021420012005470d000b200521010b20024105360274200241d8006a20042005200141016a2201200520012005491b108793808000200241f4006a2002280258200228025c10f59280800021010c020b2002410e360274200241e0006a20042005200141016a2201200520012005491b108793808000200241f4006a2002280260200228026410f59280800021010c010b200241003602702002428080808010370268024002400240024002400240024002400240200520014d0d002003200141016a2208360214024020074130470d00200241e8006a410041014101410110a386808000200228026c220920022802706a41303a000020024101360270200820054f0d03200420086a2d000041506a41ff017141094b0d032002410d360274200241086a200328020c20032802102201200328021441016a2205200120052001491b108793808000200241f4006a2002280208200228020c10f59280800021010c090b2007414f6a41ff01714109490d01200821010b2002410d360274200241d0006a200420052001108793808000200241f4006a2002280250200228025410f5928080002101410121090c070b200241e8006a410041014101410110a386808000200228026c220920022802706a20073a000020024101360270200820054f0d002005417f6a2104200520016b210a4101210502400340200620056a2d0000220741506a41ff017141094b0d012003200120056a41016a36021420052108024020052002280268470d00200241e8006a200541014101410110a38680800020022802702108200228026c21090b200920086a20073a00002002200541016a220536027020012004417f6a2204470d000b200a21050b200228026c210920054101470d010b410121052009210120092d000041556a0e03030103010b024020092d0000412b470d002005417f6a2104200941016a2101200541224f0d02200421050c010b2005210420092101200541204b0d01200921010b4200210b4200210c034020012d000041506a220441094b0d02200241106a200b200c420a420010fc97808000200141016a210120022903182002290310220c2004ad7c220b200c54ad7c210c2005417f6a22050d000c030b0b4200210b4200210c03402004450d02200241306a200c4200420a420010fc97808000200241c0006a200b4200420a420010fc9780800020022903384200522002290348220b20022903307c220d200b54720d0120012d000041506a220541094b0d01200141016a21012004417f6a21042002290340220e2005ad7c220b200e542205200d2005ad7c220c200d54200b200e5a1b450d000b0b2002410e360274200241286a200328020c20032802102003280214108793808000200241f4006a2002280228200228022c10f59280800021010c010b02402002280268450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2000200b37031020004200370308200042013703002000200c3703180c020b2002280268450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2000420037030820004202370300200020013602100b20024180016a2480808080000b960101017f23808080800041106b2202248080808000200241086a200110b08a8080000240024020022d00084101470d002000200228020c360204200041013a00000c010b024020022d00090d00200041003b01000c010b02402001280200200220022002200210b88a8080002201450d00200041013a0000200020013602040c010b20004180023b01000b200241106a2480808080000bed0501067f23808080800041306b2205248080808000200028020c210602400240024020002802142207200028021022084f0d000340200620076a2d0000220941776a220a41174b0d024101200a74419380800471450d022000200741016a220736021420082007470d000b200821070b20054105360220200520062008200741016a2207200820072008491b108793808000200541206a2005280200200528020410f59280800021070c010b0240024002400240200941db00460d00200941fb00460d0120002005412f6a41e0d0c6800010c58a808000200010c68a80800021070c040b200020002d00182209417f6a220a3a0018200a41ff0171450d02200020093a00182000200741016a360214200010c88a808000210a0c010b200020002d0018417f6a220a3a00180240200a41ff0171450d002000200741016a360214200541013a001c20052000360218200541206a200541186a10988b8080000240024020052d00204101470d00200528022421070c010b4100210720052d00214101470d002005280218220741003602082007200728021441016a360214200541206a2007410c6a20071089938080002005280224210720052802204102460d00200720052802284104410010a88a80800021070b200020002d001841016a3a00182007200010c78a808000220920071b210a2007450d012009450d01024020092802000d002009280208450d00200928020422072007417e6a2f00006b41002802ec82d48000118180808000000b20092009417e6a2f01006b41002802ec82d48000118180808000000c010b20054118360220200541106a20062008200741016a2207200820072008491b108793808000200541206a2005280210200528021410f59280800021070c020b41002107200a450d01200a200010c68a80800021070c010b20054118360220200541086a20062008200741016a2207200820072008491b108793808000200541206a2005280208200528020c10f59280800021070b200541306a24808080800020070ba70204017f017c017f017e23808080800041206b22022480808080000240024002400240024020012802000e0400010203000b20012b03082103200241033a000820022003390310200241086a2002411f6a4184b2c6800010fd928080002101410121040c030b02402001290308220542ffffffff0f560d002005a72101410021040c030b41012104200241013a000820022005370310200241086a2002411f6a4184b2c6800010ff9280800021010c020b024020012903082205428080808010540d00200241023a000820022005370310200241086a2002411f6a4184b2c6800010ff928080002101410121040c020b2005a72101410021040c010b41012104200141046a10ac8a80800021010b2000200136020420002004360200200241206a2480808080000bc404010a7f23808080800041206b220224808080800041002103024020002802142204200028021022054f0d000240200028020c220620046a2d0000220741e500460d00200741c500460d002007412e470d012000200441016a2208360214200128020822072109024020012802002007470d002001200741014101410110a386808000200128020821090b2001200741016a220a3602082001280204220b20096a412e3a00000240200820054f0d000240200620086a2d0000220841506a41ff017141094b0d002000200441026a220436021402402001280200200a470d002001200a41014101410110a3868080002001280208210a2001280204210b0b2001200741026a2207360208200b200a6a20083a0000200420054f0d0303400240200620046a2d0000220841506a41ff0171410a490d00200841207241e500470d0520002008200110bb8a80800021030c050b2000200441016a22043602142007210a024020072001280200470d002001200741014101410110a3868080002001280208210a2001280204210b0b200b200a6a20083a00002001200741016a220736020820052004470d000c040b0b2002410d360214200220062005200441026a2200200520002005491b108793808000200241146a2002280200200228020410f59280800021030c020b20024105360214200241086a20062005200441026a2200200520002005491b108793808000200241146a2002280208200228020c10f59280800021030c010b20002007200110bb8a80800021030b200241206a24808080800020030bc60501097f23808080800041206b220324808080800020002000280214220441016a220536021420022802082206210702404101410220014180014922081b2209200228020020066b4d0d002002200620094101410110a386808000200228020821070b2002280204220a20076a2107024020080d0020072001413f71418001723a0001200141067641407221010b200720013a00002002200620096a220636020802402005200028021022094f0d000240200028020c20056a2d0000220141556a0e03000100010b2000200441026a220536021420062107024020022802002006470d002002200641014101410110a386808000200228020821072002280204210a0b2002200641016a2206360208200a20076a20013a00000b0240024002400240200520094f0d002000200541016a220136021420062104024041014102200028020c220820056a2c00002207417f4a220b1b2205200228020020066b4d0d002002200620054101410110a386808000200228020821042002280204210a0b200a20046a2105200b0d012005200741bf01713a00012005200741c0017141067641c001723a00002002200641026a3602080c020b20034105360214200341086a200028020c20092005108793808000200341146a2003280208200328020c10f592808000210a0c020b200520073a00002002200641016a2205360208200741506a41ff017141094b0d004100210a200120094f0d010340200820016a2d0000220641506a41ff017141094b0d022000200141016a220136021420052107024020052002280200470d002002200541014101410110a386808000200228020821070b2002200541016a2205360208200228020420076a20063a000020092001470d000c020b0b2003410d3602142003200820002802102000280214108793808000200341146a2003280200200328020410f592808000210a0b200341206a248080808000200a0bd104010a7f23808080800041306b2202248080808000024002400240024020002802142203200028021022044f0d002000200341016a2205360214200128020822062107024041014102200028020c220820036a2c00002209417f4a220a1b220b200128020020066b4d0d0020012006200b4101410110a386808000200128020821070b2001280204220b20076a2107200a0d012007200941bf01713a00012001200641026a3602082007200941c0017141067641c001723a00000c020b20024105360224200241186a200028020c20042003108793808000200241246a2002280218200228021c10f59280800021050c020b200720093a00002001200641016a22063602080240024020094130470d000240200520044f0d00200820056a2d000041506a41ff0171410a490d020b2000200110ba8a80800021050c030b2009414f6a41ff017141084b0d010240200520044f0d000340200820056a2d0000220941506a41ff017141094b0d012000200541016a220536021420062103024020062001280200470d002001200641014101410110a386808000200128020821032001280204210b0b200b20036a20093a00002001200641016a220636020820042005470d000b0b2000200110ba8a80800021050c020b2002410d360224200241086a20082004200341026a2205200420052004491b108793808000200241246a2002280208200228020c10f59280800021050c010b2002410d360224200241106a200820042005108793808000200241246a2002280210200228021410f59280800021050b200241306a24808080800020050be103010a7f23808080800041206b220524808080800020012001280214220641016a2207360214024002402007200128021022084f0d00200128020c20076a2109200620086b41016a210a4100210b0240034002402009200b6a2d0000220c41506a220d41ff0171220e410a490d000240200b0d002006200b6a41016a21070c040b2004200b6b210b0240200c41207241e500460d002000200120022003200b10be8a8080000c050b2000200120022003200b10bf8a8080000c040b024020034298b3e6cc99b3e6cc19580d0020034299b3e6cc99b3e6cc19520d02200e41054b0d020b20012006200b6a41026a3602142003420a7e200dad42ff01837c2103200a200b41016a220b6a0d000b2000200120022003200720046a20086b10be8a8080000c020b20002001200220032004200b6b10c08a8080000c010b200741016a220b2008200b2008491b210b0240200720084f0d002005410d3602142005200128020c2008200b108793808000200541146a2005280200200528020410f592808000210b200041013602002000200b3602040c010b20054105360214200541086a200128020c2008200b108793808000200541146a2005280208200528020c10f592808000210b200041013602002000200b3602040b200541206a2480808080000bdb0204017f017c017f017c23808080800041206b22052480808080002003ba210602400240024002400240024020042004411f7522077320076b220741b502490d0003402006440000000000000000610d052004417f4a0d02200644a0c8eb85f3cce17fa32106200441b4026a22042004411f7522077320076b220741b5024f0d000b0b200741037441a09ecc80006a2b030021082004417f4a0d0120062008a321060c030b2005410e360214200541086a200128020c200128021020012802141087938080002000200541146a2005280208200528020c10f5928080003602040c010b20062008a222069944000000000000f07f620d012005410e3602142005200128020c200128021020012802141087938080002000200541146a2005280200200528020410f5928080003602040b410121040c010b2000200620069a20021b390308410021040b20002004360200200541206a2480808080000bfd0301077f23808080800041206b22052480808080004101210620012001280214220741016a220836021402402008200128021022094f0d004101210602400240200128020c20086a2d000041556a0e03010200020b410021060b2001200741026a22083602140b024002400240200820094f0d002001200841016a22073602140240200128020c220a20086a2d000041506a41ff01712208410a490d002005410d3602142005200a20092007108793808000200541146a2005280200200528020410f592808000210720004101360200200020073602040c030b200720094f0d010340200a20076a2d000041506a41ff0171220b410a4f0d022001200741016a220736021402400240200841cb99b3e6004c0d00200841cc99b3e600470d01200b41074b0d010b2008410a6c200b6a210820092007470d010c030b0b200020012002200350200610c38a8080000c020b20054105360214200541086a200128020c20092008108793808000200541146a2005280208200528020c10f592808000210720004101360200200020073602040c010b0240024020060d00200420086b2207411f75418080808078732007200841004a2007200448731b21070c010b200420086a2207411f7541808080807873200720084100482007200448731b21070b2000200120022003200710be8a8080000b200541206a2480808080000b7f01047f0240024020012802142205200128021022064f0d00200128020c210702400340200720056a2d0000220841506a41ff017141094b0d012001200541016a220536021420062005470d000c020b0b200841207241e500460d010b2000200120022003200410be8a8080000f0b2000200120022003200410bf8a8080000bc00704067f017e017f017e23808080800041306b2203248080808000024002400240024002400240024002400240024002400240024020012802142204200128021022054f0d002001200441016a22063602140240200128020c220720046a2d000022084130470d000240024002400240200620054f0d00200720066a2d0000220641506a41ff0171410a490d032006412e460d01200641c500460d02200641e500460d020b4200428080808080808080807f20021b21090c0e0b200341206a200120024200410010bd8a80800020032802200d0e0c0c0b200341206a200120024200410010bf8a8080002003280220450d0b20002003280224360204200041043602000c0e0b2003410d360220200341086a20072005200441026a2206200520062005491b108793808000200341206a2003280208200328020c10f592808000210620004104360200200020063602040c0d0b02402008414f6a41ff01714109490d002003410d360220200341106a200720052006108793808000200341206a2003280210200328021410f592808000210620004104360200200020063602040c0d0b200841506aad42ff01832109200620054f0d020c010b20034105360220200341186a200128020c20052004108793808000200341206a2003280218200328021c10f592808000210620004104360200200020063602040c0b0b02400340200720066a2d0000220a41506a220441ff01712208410a4f0d010240024020094299b3e6cc99b3e6cc19540d0020094299b3e6cc99b3e6cc19520d01200841054b0d010b2001200641016a22063602142009420a7e2004ad42ff01837c210920052006460d030c010b0b200341206a20012002200910c28a808000024020032802204101470d0020002003280224360204200041043602000c0c0b200020032b0328390308200041003602000c0b0b200a412e460d01200a41c500460d02200a41e500460d020b2002450d02410121060c040b41002106200341206a200120022009410010bd8a80800020032802200d040c020b41002106200341206a200120022009410010bf8a8080002003280220450d0120002003280224360204200041043602000c070b0240420020097d220b4200590d0041022106200b21090c020b2009babd428080808080808080807f842109410021060c010b200329032821090b20002009370308200020063602000c040b20002003280224360204200041043602000c030b20032903282109410021020b20002009370308200020023602000c010b20002003280224360204200041043602000b200341306a2480808080000bbd0101057f410021040240024020012802102205200128021422064d0d00200641016a2107200520066b2108200128020c20066a21054100210403400240200520046a2d0000220641506a41ff0171410a490d002006412e460d030240200641c500460d00200641e500470d030b2000200120022003200410bf8a8080000f0b2001200720046a3602142008200441016a2204470d000b200821040b2000200120022003200410be8a8080000f0b2000200120022003200410bd8a8080000bde0101027f23808080800041206b2205248080808000024002400240024020030d0020040d010b20012802142203200128021022044f0d01200128020c21060340200620036a2d000041506a41ff0171410a4f0d022001200341016a220336021420042003470d000c020b0b2005410e360214200541086a200128020c200128021020012802141087938080002000200541146a2005280208200528020c10f592808000360204410121030c010b200044000000000000000044000000000000008020021b390308410021030b20002003360200200541206a2480808080000b820802027f027e23808080800041c0006b220324808080800041002d008083d480001a024002400240024002400240024002400240411041002802f482d48000118280808000002204450d00200320043602382004417e6a41003b00002003410036023c2003411036023402400240024002400240024020020d002004412d3a00002003410136023c2001200341346a10bc8a80800022040d0120032802382104200328023c22020e020b02030b2001200341346a10bc8a8080002204450d040b20004104360200200020043602040c0b0b20042d0000220141556a0e03080108010b20042d000021010b0240024002400240200141ff017141556a0e03000201020b2002417f6a2101200441016a210420024111490d02200121020c080b2002417f6a2101200441016a2104024020024111490d004200210503402001450d0b200341206a20052005423f87420a420010fc9780800020042d000041506a220241094b0d0a200329032820032903202206423f87520d0a200441016a21042001417f6a21012002ad2205420055200620057d220520065373450d000c0a0b0b420021052001450d09034020042d000041506a220241094b0d09200441016a21042005420a7e2002ad7d21052001417f6a22010d000c0a0b0b2002410f4b0d060c050b2001210220010d04420021050c070b20032802382104024002400240200328023c22010e020800010b4101210220042d000041556a0e03070107010b024020042d0000412b470d002001417f6a2102200441016a210420014112490d010c030b20012102200141114f0d020b42002105034020042d000041506a220141094b0d06200441016a21042005420a7e2001ad7c21052002417f6a22020d000c030b0b410141104184b3c6800010b980808000000b4200210503402002450d01200320054200420a420010fc9780800020032903084200520d0420042d000041506a220141094b0d04200441016a21042002417f6a2102200329030022062001ad7c22052006540d040c000b0b20002005370308200041013602000c040b42002105034020042d000041506a220141094b0d02200441016a21042005420a7e2001ad7c21052002417f6a2202450d030c000b0b4200210503402002450d02200341106a20052005423f87420a420010fc97808000200329031820032903102206423f87520d0120042d000041506a220141094b0d01200441016a21042002417f6a21022001ad2205420053200620057c220520065373450d000b0b20002003290234370204200041033602002000410c6a2003413c6a2802003602000c020b20002005370308200041023602000b2003280234450d00200328023822042004417e6a2f00006b41002802ec82d48000118180808000000b200341c0006a2480808080000bd90b01087f2380808080004180016b2203248080808000200028020c2104024002400240024002400240024020002802142205200028021022064f0d00024002400240024002400240024002400240024002400240200420056a2d0000220741a57f6a0e21040b0b0b0b0b0b0b0b0b0b030b0b0b0b0b0b0b010b0b0b0b0b020b0b0b0b0b0b05000b2007415e6a0e0c090a0a0a0a0a0a0a0a0a0a080a0b2000200541016a2207360214200720064f0d0c2000200541026a22083602140240200420076a2d000041f500470d002006210720062008460d0d2000200541036a22093602140240200420086a2d000041ec00460d00200921080c010b2006210720092006460d0d2000200541046a2208360214200420096a2d000041ec00460d050b20034109360270200341186a200420062008108793808000200341f0006a2003280218200328021c10f59280800021050c100b2000200541016a2207360214200720064f0d0c2000200541026a22083602140240200420076a2d000041f200470d002006210720062008460d0d2000200541036a22093602140240200420086a2d000041f500460d00200921080c010b2006210720092006460d0d2000200541046a2208360214200420096a2d000041e500460d050b20034109360270200341286a200420062008108793808000200341f0006a2003280228200328022c10f59280800021050c0f0b2000200541016a2207360214200720064f0d0c2000200541026a22083602140240200420076a2d000041e100470d002006210720062008460d0d2000200541036a22093602140240200420086a2d000041ec00460d00200921080c010b2006210720092006460d0d2000200541046a220a3602140240200420096a2d000041f300460d00200a21080c010b20062107200a2006460d0d2000200541056a22083602142004200a6a2d000041e500460d050b20034109360270200341386a200420062008108793808000200341f0006a2003280238200328023c10f59280800021050c0e0b2003410a3a0070200341f0006a2001200210fd92808000200010c68a80800021050c0d0b2003410b3a0070200341f0006a2001200210fd92808000200010c68a80800021050c0c0b200341073a0070200341f0006a2001200210fd92808000200010c68a80800021050c0b0b20034180023b0170200341f0006a2001200210fd92808000200010c68a80800021050c0a0b200341003b0170200341f0006a2001200210fd92808000200010c68a80800021050c090b2000200541016a360214200341f0006a2000410010c48a80800020032802704104460d07200341c0006a41086a200341f0006a41086a29030037030020032003290370370340200341c0006a20012002108093808000200010c68a80800021050c080b200041003602082000200541016a360214200341e4006a2000410c6a20001089938080002003280268210520032802644102460d072003200328026c36027820032005360274200341053a0070200341f0006a2001200210fd92808000200010c68a80800021050c070b200741506a41ff0171410a490d010b2003410a360270200341086a20042006200541016a2205200620052006491b108793808000200341f0006a2003280208200328020c10f592808000200010c68a80800021050c050b200341f0006a2000410110c48a808000024020032802704104470d00200328027421050c050b200341d0006a41086a200341f0006a41086a29030037030020032003290370370350200341d0006a20012002108093808000200010c68a80800021050c040b20034105360270200341106a200420062007108793808000200341f0006a2003280210200328021410f59280800021050c030b20034105360270200341206a200420062007108793808000200341f0006a2003280220200328022410f59280800021050c020b20034105360270200341306a200420062007108793808000200341f0006a2003280230200328023410f59280800021050c010b200328027421050b20034180016a24808080800020050b7f01017f23808080800041106b220224808080800002400240200028020c450d00200021010c010b200241086a200128020c2001280210200128021410879380800020002002280208200228020c10f592808000210120002000417e6a2f01006b41002802ec82d48000118180808000000b200241106a24808080800020010bed0201057f23808080800041306b2201248080808000200028020c210202400240024002400240024020002802142203200028021022044f0d0003400240200220036a2d0000220541776a0e24000004040004040404040404040404040404040404040400040404040404040404040406030b2000200341016a220336021420042003470d000b200421030b20014103360224200141106a20022004200341016a2203200420032004491b108793808000200141246a2001280210200128021410f59280800021030c040b200541fd00460d010b20014116360224200141086a20022004200341016a2203200420032004491b108793808000200141246a2001280208200128020c10f59280800021030c020b2000200341016a360214410021030c010b20014115360224200141186a20022004200341016a2203200420032004491b108793808000200141246a2001280218200128021c10f59280800021030b200141306a24808080800020030ba10402067f017e23808080800041306b2201248080808000200028020c210202400240024002400240024020002802142203200028021022044f0d0003400240200220036a2d0000220541776a0e24000004040004040404040404040404040404040404040400040404040404040404040406030b2000200341016a220336021420042003470d000b200421030b20014102360224200141086a20022004200341016a2203200420032004491b108793808000200141246a2001280208200128020c10f59280800021030c040b200541dd00460d010b20014116360224200120022004200341016a2203200420032004491b108793808000200141246a2001280200200128020410f59280800021030c020b2000200341016a360214410021030c010b2000200341016a220336021402400240200320044f0d00024002400340200220036a2d0000220641776a220541174b0d014101200574419380800471450d012000200341016a220336021420042003470d000b42002107200421030c010b42800221070b20072006ad42108684428082f402510d010b20014116360224200141186a20022004200341016a2203200420032004491b108793808000200141246a2001280218200128021c10f59280800021030c010b20014115360224200141106a20022004200341016a2203200420032004491b108793808000200141246a2001280210200128021410f59280800021030b200141306a24808080800020030bb60101017f23808080800041206b2204248080808000200441086a200128020420022003109688808000024002402004280208418080808078460d0020002004290208370200200041086a200441086a41086a2802003602000c010b200441146a200128020020022003109e8880800002402004280214418180808078470d0020004180808080783602000c010b20002004290214370200200041086a200441146a41086a2802003602000b200441206a2480808080000bb60101017f23808080800041206b2204248080808000200441086a200128020420022003109688808000024002402004280208418080808078460d0020002004290208370200200041086a200441086a41086a2802003602000c010b200441146a200128020020022003109d8880800002402004280214418180808078470d0020004180808080783602000c010b20002004290214370200200041086a200441146a41086a2802003602000b200441206a2480808080000b1500200020012802042002200320041098888080000bd30102017f017e23808080800041d0006b2203248080808000024020012000280204220041206a412010f597808000450d00200341046a20012002109588808000200341106a2000200341046a10a288808000024020032802104101470d0020032903182104200341386a200341286a280200360200200320032903203703302003428080808070370244200342808080801037023c200328022c22012004200341306a200141106a109a888080000c010b2003280220417c6a22012001280200417f6a3602000b200341d0006a2480808080000b130020002802042001200220031099888080000bbf0101027f23808080800041206b2203248080808000200341086a20002802042001200210968880800002400240024020032802082204418080808078460d00200328020c21020c010b200341146a200028020020012002109d88808000024020032802142204418180808078470d00410021000c020b410021002004418080808078460d01200328021821020b410121002004450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200341206a24808080800020000bbf0101027f23808080800041206b2203248080808000200341086a20002802042001200210968880800002400240024020032802082204418080808078460d00200328020c21020c010b200341146a200028020020012002109e88808000024020032802142204418180808078470d00410021000c020b410021002004418080808078460d01200328021821020b410121002004450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200341206a24808080800020000bf40401047f23808080800041b0016b220224808080800020012802002103200241c8006a4200370300200241d0006a4200370300200241d8006a410036020020024200370338200242808090bbbad6adf00d370330200241003a0070200241003602282002428080808080023703202002418180808078360214200241e40036026c20024100360260200242003703402002420137026441002d008083d480001a0240024041800141002802f482d48000118280808000002204450d002004417e6a41003b0000200241003602a801200220043602a40120024180013602a0012002200241a0016a3602ac0102402002200241ac016a10b9868080002204450d0020022802a001450d0220022802a40122002000417e6a2f00006b41002802ec82d48000118180808000000c020b20022802a401210420022802a0012205418080808078460d01024002402003418080808078460d002000200110ac8e8080002005450d0120042004417e6a2f00006b41002802ec82d48000118180808000000c010b200020022802a80136020820002004360204200020053602000b02402002280220450d00200228022422042004417e6a2f00006b41002802ec82d48000118180808000000b024020022802142204418280808078480d002004450d00200228021822042004417e6a2f00006b41002802ec82d48000118180808000000b02402002280260450d00200228026422042004417e6a2f00006b41002802ec82d48000118180808000000b200241b0016a2480808080000f0b410141800141f4b3c6800010b980808000000b200220043602a0014194b5c68000412f200241a0016a4184b5c6800041a4b6c6800010a981808000000bbd0903047f017e087f23808080800041f0026b22022480808080002001280204210320012802082104200241003602b801200220043602b401200220033602b00120024180013a00bc01200241003602ac0120024280808080103702a401200241c0016a200241a4016a200220022002200210d28a8080000240024020022802e0012205418080808078470d0020024190016a200241d4016a29020037030020024198016a200241dc016a280200360200200220022902cc013703880120022902c401210620022802c00121042002410c6a200241e4016a41fc0010f4978080001a41808080807821050c010b0240024020022802b801220420022802b40122074f0d0020022802a402210820022802a002210920022802e401210a20022802d801210b20022802d401210c20022802b001210d0340200d20046a2d000041776a220e41174b0d024101200e74419380800471450d022007200441016a2204470d000b200220073602b8010b20024190016a200241d4016a29020037030020024198016a200241dc016a280200360200200220022902cc013703880120022902c401210620022802c00121042002410c6a200241e4016a41fc0010f4978080001a0c010b200220043602b801200241163602e0022002200d2007200441016a2204200720042007491b108793808000200241e0026a2002280200200228020410f592808000210402402005450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200c418280808078480d00200c450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b418080808078210502402009450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b0b024020022802a401450d0020022802a801220e200e417e6a2f00006b41002802ec82d48000118180808000000b024002402005418080808078470d00200220043602a001200241013602c401200241c8b6c680003602c001200242013702cc01200241a083808000ad422086200241a0016aad843703e0022002200241e0026a3602c801200241a4016a200241c0016a10b280808000024020022802a00122042802000d002004280208450d002004280204220e200e417e6a2f00006b41002802ec82d48000118180808000000b20042004417e6a2f00006b41002802ec82d480001181808080000020022802a4012104200020022902a801370204200020043602000c010b200241dc016a20024198016a280200360200200241d4016a20024190016a29030037020020022002290388013702cc01200241e4016a2002410c6a41fc0010f4978080001a200220053602e001200220063702c401200220043602c001200241c0016a10b686808000200041808080807836020002402005450d0020022802e40122042004417e6a2f00006b41002802ec82d48000118180808000000b024020022802d4012204418280808078480d002004450d0020022802d80122042004417e6a2f00006b41002802ec82d48000118180808000000b20022802a002450d0020022802a40222042004417e6a2f00006b41002802ec82d48000118180808000000b02402001280200450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241f0026a2480808080000bc643070a7f017e057f037e017f017e0c7f2380808080004180056b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b200641053602c004200641c0016a20072009200841016a2208200920082009491b108793808000200641c0046a20062802c00120062802c40110f59280800021082000418080808078360220200020083602000c010b02400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641ff046a41f0d0c6800010c58a808000210c0c180b200120012d0018417f6a220b3a00180240200b41ff0171450d002001200841016a360214200641013a00d403200620013602d003200641c0046a200641d0036a10b08a808000024020062d00c0044101470d0020062802c404210c418080808078210d0c150b20062d00c1044101470d04418080808078210d20062802d003200820082008200810a48b808000220c0d13200641c0046a200641d0036a10b08a80800020062d00c0044101460d1220062d00c1044101470d0320062802d003200820082008200810a58b808000220c0d13200641c0046a200641d0036a10b08a80800020062d00c0044101460d120240024002400240024002400240024020062d00c1044101470d00200641086a20062802d003200820082008200810a68b808000200628020c210c20062802084101710d1b200641c0046a200641d0036a10b08a80800020062d00c0044101460d1a20062d00c1044101470d02200641c0046a20062802d003200820082008200810a38b808000418080808078210d20062802c004210820062802e0042207418080808078470d012008210c0c1c0b4102419cd2c6800041d4c5c6800010a98a808000210c0c1b0b200641e8036a20062902cc04370300200620062902c4043703e00320062802d404210920062802d804210e20062802dc04210f20062802e404210a20062903e8042110200641c0046a200641d0036a10b08a808000024020062d00c0044101470d0020062802c404210b0c180b20062d00c1044101470d02200641c0046a20062802d003200820082008200810a78b80800020062d00c0044101470d0120062802c404210b0c170b4103419cd2c6800041d4c5c6800010a98a808000210c0c190b200641a0046a41086a220b200641c0046a41106a290200370300200641a0046a41106a2211200641c0046a41186a290200370300200641a0046a41186a2212200641e0046a2f01003b0100200620062902c8043703a00420062d00c10422134102460d0020062802c404211420062f01c204211520064180046a41186a20122f01003b010020064180046a41106a201129030037030020064180046a41086a200b290300370300200620062903a00437038004200641c0046a200641d0036a10b08a808000024020062d00c0044101470d0020062802c404210b0c160b20062d00c1044101470d02200641c0046a20062802d003200820082008200810a88b80800020062802c0044101470d0120062802c404210b0c150b4104419cd2c6800041d4c5c6800010a98a808000210b0c140b20062902d4042116200641dc046a350200211720063502d0042118200641c0046a200641d0036a10b28a80800020062d00c004450d0120062802c404210b0c130b4105419cd2c6800041d4c5c6800010a98a808000210b0c120b20062d00c104410171450d02200641c0046a200641d0036a10af8a80800020062802c8042119024020062903c004221a4202520d002019210b0c120b200641b8046a200641e4046a280200360200200641b0046a200641dc046a290200370300200641a8046a200641d4046a290200370300200620062902cc043703a00402400240024002400240201aa7410171450d00200641c0046a200641d0036a10b48a80800020062802c404210b20062802c00422114180808080786a0e020216010b4107419cd2c6800041d4c5c6800010a98a808000210b0c150b20062802c804211b200641c0046a200641d0036a10b78a80800020062d00c004450d0120062802c40421080c020b4108419cd2c6800041d4c5c6800010a98a808000210b0c130b024020062d00c104410171450d002017422086201642208884211720164220862018842116200641e8026a41086a200641e0036a41086a290300370300200641a8026a41086a20064180046a41086a290300370300200641a8026a41106a20064180046a41106a290300370300200641a8026a41186a20064180046a41186a2f01003b0100200641c8026a41086a200641a0046a41086a290300370300200641c8026a41106a200641a0046a41106a290300370300200641c8026a41186a200641a0046a41186a280200360200200620062903e0033703e80220062006290380043703a802200620062903a0043703c802200c21122007210d2008210c0c160b4109419cd2c6800041d4c5c6800010a98a80800021080b02402011450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b2008210b0c110b200641183602c004200620072009200841016a2208200920082009491b108793808000200641c0046a2006280200200628020410f59280800021080c0f0b200120012d0018417f6a220b3a0018200b41ff0171450d0d2001200841016a360214200641013a00cc03200620013602c803200641c0046a200641c8036a10988b808000024020062d00c004450d00418080808078210d41808080807821110c090b200641c0046a410472211c200641c0046a41086a211d200641c0046a410c6a211e420021184100211f4100212041002121410221134100212241002123410021244180808080782111418080808078210d0340024002400240024002400240024002400240024002400240024020062d00c1044101470d0020062802c803220841003602082008200828021441016a360214200641c0046a2008410c6a200810899380800020062802c4042107024020062802c0044102470d00410021080c180b200641a0046a200720062802c80410ba86808000024020062d00a004410171450d0020062802a4042107410021080c180b024002400240024002400240024002400240024020062d00a1040e0a00010203040506070809000b201f4101710d0a200828020c212502400240024020082802142207200828021022264f0d0003400240202520076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420262007470d000b202621070b200641033602c004200641306a20252026200741016a2208202620082026491b108793808000200641c0046a2006280230200628023410f5928080002107410021080c220b200641063602c004200641286a20252026200741016a2208202620082026491b108793808000200641c0046a2006280228200628022c10f5928080002107410021080c210b4101211f2008200741016a3602142008200820082008200810a48b8080002207450d15410021080c200b20204101710d1d200828020c212502400240024020082802142207200828021022264f0d0003400240202520076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420262007470d000b202621070b200641033602c004200641c0006a20252026200741016a2208202620082026491b108793808000200641c0046a2006280240200628024410f5928080002107410021080c210b200641063602c004200641386a20252026200741016a2208202620082026491b108793808000200641c0046a2006280238200628023c10f5928080002107410021080c200b410121202008200741016a3602142008200820082008200810a58b8080002207450d14410021080c1f0b20214101460d1b200828020c2112024002400240024020082802142207200828021022254f0d0003400240201220076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420252007470d000b202521070b200641033602c004200641d0006a20122025200741016a2208202520082025491b108793808000200641c0046a2006280250200628025410f5928080002112410121080c020b200641063602c004200641c8006a20122025200741016a2208202520082025491b108793808000200641c0046a2006280248200628024c10f5928080002112410121080c010b2008200741016a360214200641d8006a2008200820082008200810a68b808000200628025c2112200628025821080b410121212008410171450d1341002108201221070c1e0b0240200d418080808078460d004100210841b4c6c68000410810aa8a80800021070c1e0b200828020c210f02400240024002400240200828021422072008280210220c4f0d0003400240200f20076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a2207360214200c2007470d000b200c21070b200641033602a004200641e8006a200f200c200741016a2208200c2008200c491b108793808000200641a0046a2006280268200628026c10f59280800021070c020b200641063602a004200641e0006a200f200c200741016a2208200c2008200c491b108793808000200641a0046a2006280260200628026410f59280800021070c010b2008200741016a360214200641c0046a2008200820082008200810a38b80800020062802c004210c20062802e004220d418080808078470d01200c21070b418080808078210d410021080c1e0b200641d0036a41086a201c41086a2902003703002006201c2902003703d00320062802d404210920062802d804210e20062802dc04210f20062802e404210a20062903e80421100c120b0240201341ff01714102460d004100210841c6d2c68000410410aa8a80800021070c1d0b200828020c211402400240024020082802142207200828021022154f0d0003400240201420076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420152007470d000b201521070b200641033602f004200641f8006a20142015200741016a2208201520082015491b108793808000200641f0046a2006280278200628027c10f5928080002107410021080c1e0b200641063602f004200641f0006a20142015200741016a2208201520082015491b108793808000200641f0046a2006280270200628027410f5928080002107410021080c1d0b2008200741016a360214200641c0046a2008200820082008200810a78b80800020062d00c0044101710d1b200641a0046a41106a201d41106a290200221a370300200641e0036a41086a201d41086a290200370300200641e0036a41106a201a370300200641e0036a41186a201d41186a2f01003b01002006201d2902003703e00320062802c404211420062f01c204211520062d00c10421130c110b20224101460d17200828020c212502400240024020082802142207200828021022264f0d0003400240202520076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420262007470d000b202621070b200641033602a00420064188016a20252026200741016a2208202620082026491b108793808000200641a0046a200628028801200628028c0110f5928080002107410021080c1d0b200641063602a00420064180016a20252026200741016a2208202620082026491b108793808000200641a0046a20062802800120062802840110f5928080002107410021080c1c0b410121222008200741016a360214200641c0046a2008200820082008200810a88b80800020062802c0044101710d1a20062903d804211720062903d00421160c100b20234101710d15200828020c212502400240024020082802142207200828021022264f0d0003400240202520076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420262007470d000b202621070b200641033602c00420064198016a20252026200741016a2208202620082026491b108793808000200641c0046a200628029801200628029c0110f5928080002107410021080c1c0b200641063602c00420064190016a20252026200741016a2208202620082026491b108793808000200641c0046a20062802900120062802940110f5928080002107410021080c1b0b410121232008200741016a3602142008200820082008200810b38a8080002207450d0f410021080c1a0b20184201510d13200828020c211902400240024020082802142207200828021022254f0d0003400240201920076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420252007470d000b202521070b200641033602a004200641a8016a20192025200741016a2208202520082025491b108793808000200641a0046a20062802a80120062802ac0110f5928080002107410021080c1b0b200641063602a004200641a0016a20192025200741016a2208202520082025491b108793808000200641a0046a20062802a00120062802a40110f5928080002107410021080c1a0b2008200741016a360214200641c0046a2008200820082008200810b18a80800020062802c0044101710d1820064180046a41086a201e41086a29020037030020064180046a41106a201e41106a29020037030020064180046a41186a201e41186a2802003602002006201e2902003703800420062802c8042119420121180c0e0b02402011418080808078460d004100210841edd2c68000410410aa8a80800021070c190b200828020c2107024002402008280214220b200828021022114f0d00034002402007200b6a2d000041776a0e320000080800080808080808080808080808080808080808000808080808080808080808080808080808080808080808080803080b2008200b41016a220b3602142011200b470d000b2011210b0b200641033602c004200641b8016a20072011200b41016a2208201120082011491b108793808000200641c0046a20062802b80120062802bc0110f592808000210b0c060b2008200b41016a360214200641a0046a2008200820082008200810b58a80800020062802a404210b20062802a0042211418080808078460d0520062802a804211b0c0d0b20244101710d0b200828020c212502400240024020082802142207200828021022264f0d0003400240202520076a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200741016a220736021420262007470d000b202621070b200641033602c004200641206a20252026200741016a2208202620082026491b108793808000200641c0046a2006280220200628022410f5928080002107410021080c190b200641063602c004200641186a20252026200741016a2208202620082026491b108793808000200641c0046a2006280218200628021c10f5928080002107410021080c180b410121242008200741016a3602142008200820082008200810b88a8080002207450d0c410021080c170b201f4101710d014100210841a4d2c68000410610a68a80800021070c160b4100210841a4d2c68000410610aa8a80800021070c150b024020204101710d004100210841aad2c68000410f10a68a80800021070c150b024020214101710d004100210841b9d2c68000410d10a68a80800021070c150b200d418080808078460d022006200c3602c004200620062902d0033702c404200620103703e8042006200a3602e4042006200d3602e0042006200f3602dc042006200e3602d804200620093602d4042006200641d8036a2902003702cc04201341ff01714102460d03024020224101710d0041cad2c68000411210a68a80800021070c080b2023410171450d042018a7410171450d052011418080808078460d0602402024410171450d00200641b8036a41086a200641d0036a41086a290200370300200641f8026a41086a200641e0036a41086a290000370300200641f8026a41106a200641e0036a41106a290000370300200641f8026a41186a200641e0036a41186a2f00003b010020064198036a41086a20064180046a41086a29020037030020064198036a41106a20064180046a41106a29020037030020064198036a41186a20064180046a41186a280200360200200620062902d0033703b803200620062900e0033703f8022006200629028004370398030c180b41f1d2c68000410710a68a808000210c02402011450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200641c0046a108d8b808000418080808078210d0c160b200641063602c004200641b0016a20072011200b41016a2208201120082011491b108793808000200641c0046a20062802b00120062802b40110f592808000210b0b410021080c130b41b4c6c68000410810a68a808000210741002108418080808078210d0c110b41c6d2c68000410410a68a80800021070c030b41dcd2c68000410a10a68a80800021070c020b41e6d2c68000410710a68a80800021070c010b41edd2c68000410410a68a80800021070b200641c0046a108d8b808000410121080c0c0b4100210841f1d2c68000410710aa8a80800021070c0b0b200641c0046a200641c8036a10988b80800020062d00c0040d090c000b0b4106419cd2c6800041d4c5c6800010a98a808000210b0c0e0b4101419cd2c6800041d4c5c6800010a98a808000210c0c100b418080808078210d4100419cd2c6800041d4c5c6800010a98a808000210c0c0f0b4100210841e6d2c68000410710aa8a80800021070c050b4100210841dcd2c68000410a10aa8a80800021070c040b4100210841cad2c68000411210aa8a80800021070c030b4100210841b9d2c68000410d10aa8a80800021070c020b4100210841aad2c68000410f10aa8a80800021070c010b20062802c4042107410021080b0240201141808080807872418080808078470d002007210b0c010b200b200b417e6a2f00006b41002802ec82d48000118180808000002007210b0b0240200d418080808078460d0020080d000240200d450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b2009418280808078480d002009450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b418080808078210d200b210c0b0b200120012d001841016a3a00184180808080782108200110c78a808000210702400240200d418080808078460d0020070d0120064198026a41086a200641b8036a41086a290300370300200641f8016a41086a20064198036a41086a290300370300200641f8016a41106a20064198036a41106a290300370300200641f8016a41186a20064198036a41186a280200360200200641d8016a41086a200641f8026a41086a290300370300200641d8016a41106a200641f8026a41106a290300370300200641d8016a41186a200641f8026a41186a2f01003b0100200620062903b8033703980220062006290398033703f801200620062903f8023703d801200d21080c0a0b2007450d07024020072802000d002007280208450d002007280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c090b0240200d450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402009418280808078480d002009450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b4180808080782108024020110d002007210c0c090b200b200b417e6a2f00006b41002802ec82d48000118180808000002007210c0c080b200641183602c004200641106a20072009200841016a2208200920082009491b108793808000200641c0046a2006280210200628021410f59280800021080b2000418080808078360220200020083602000c090b02402007450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b418080808078210d02402009418280808078480d002009450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b200b210c0c020b20062802c404210c0c010b0b200120012d001841016a3a00184180808080782108200110c88a8080002107200d418080808078470d012007450d00024020072802000d002007280208450d002007280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000b0c010b024020070d0020064198026a41086a200641e8026a41086a290300370300200641f8016a41086a200641c8026a41086a290300370300200641f8016a41106a200641c8026a41106a290300370300200641f8016a41186a200641c8026a41186a280200360200200641d8016a41086a200641a8026a41086a290300370300200641d8016a41106a200641a8026a41106a290300370300200641d8016a41186a200641a8026a41186a2f01003b0100200620062903e80237039802200620062903c8023703f801200620062903a8023703d801200d21080c010b0240200d450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402009418280808078480d002009450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b4180808080782108024020110d002007210c0c010b200b200b417e6a2f00006b41002802ec82d48000118180808000002007210c0b2008418080808078460d0020002016370330200020062903980237020420002019360240200020103703282000200a3602242000200f36021c2000200e36021820002009360214200020062903f801370244200020173703382000410c6a20064198026a41086a290300370200200041cc006a200641f8016a41086a290300370200200041d4006a200641f8016a41106a290300370200200041dc006a200641f8016a41186a28020036020020002014360073200020153b0071200020133a00702000201236026c2000201b3602682000200b36026420002011360260200020062903d801370077200041ff006a200641d8016a41086a29030037000020004187016a200641d8016a41106a2903003700002000418f016a200641d8016a41186a2f01003b0000200020062900c9013700910120004198016a200641d0016a2900003700000c010b4180808080782108200c200110c68a808000210c0b200020083602202000200c3602000b20064180056a2480808080000be20101017f23808080800041106b220424808080800002400240024002402002200141246a412010f597808000450d00200441046a200120022003109e888080002004280204418180808078470d0120004180808080783602000c020b41002d008083d480001a410141002802f482d48000118280808000002201450d02200141003a00002000410136020820002001360204200041013602002001417e6a41003b00000c010b20002004290204370200200041086a200441046a41086a2802003602000b200441106a2480808080000f0b4101410141d8cec6800010b980808000000be20101017f23808080800041106b220424808080800002400240024002402002200141246a412010f597808000450d00200441046a200120022003109d888080002004280204418180808078470d0120004180808080783602000c020b41002d008083d480001a410141002802f482d48000118280808000002201450d02200141003a00002000410136020820002001360204200041013602002001417e6a41003b00000c010b20002004290204370200200041086a200441046a41086a2802003602000b200441106a2480808080000f0b4101410141d8cec6800010b980808000000bf80101017f23808080800041106b22032480808080000240024002400240024002402001200041246a412010f597808000450d00200341046a200020012002109d8880800020032802042200418180808078470d01410021000c040b4100210141002d008083d480001a410141002802f482d48000118280808000002200450d04200041003a00002000417e6a41003b00000c010b02402000418080808078470d00410021000c030b2000450d0120032802082200417e6a2f000021010b200020016b41002802ec82d48000118180808000000b410121000b200341106a24808080800020000f0b4101410141d8cec6800010b980808000000bf80101017f23808080800041106b22032480808080000240024002400240024002402001200041246a412010f597808000450d00200341046a200020012002109e8880800020032802042200418180808078470d01410021000c040b4100210141002d008083d480001a410141002802f482d48000118280808000002200450d04200041003a00002000417e6a41003b00000c010b02402000418080808078470d00410021000c030b2000450d0120032802082200417e6a2f000021010b200020016b41002802ec82d48000118180808000000b410121000b200341106a24808080800020000f0b4101410141d8cec6800010b980808000000bfb0603027f017e087f23808080800041106b2203248080808000024020002802a0012204418080808078460d00200041e0006a200041f0006a411c410810ae8c8080002004450d0020002802a40122042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602a0014200210502402002280200418080808078460d00200235020821050b0240024002400240024002400240024020002802200d002000200029032842017c37032820002802300d012000200029033820057c37033841012104024020002d00f0024101460d00410021040c080b024020002802bc0122060d00417f21070c080b20002802c00121080240024002400240034041002109024020062f01aa14220a450d00200a410c6c210b200641ac136a2104410021092006210c0340024041e8b8c680002004417c6a28020020042802002207411020074110491b10f597808000220d411020076b200d1b220741004a20074100486b41ff017122074101460d0020070d02200c200c28020041054b22044103746a2802002207450d0a0240200c41046a2209280200200920041b2007412c6c6a220741546a220c280200220441014b0d00200741586a220b280200210d200741706a280200210902402004410171450d00200d2009460d010b2003200741646a36020c2003410c6a2004200d200910a597808000200b200936020041012104200c41013602000b415821092004417e6a2204410220044102491b0e03050604050b200c41e0016a210c2004410c6a2104200941016a2109200b41746a220b0d000b200a21090b2008450d0b2008417f6a2108200620094102746a2802ac1421060c000b0b416421090b200720096a2207450d0020002802000d05200735020821052000200029030842017c37030820002802100d062000200029031820057c37031841012104200728020841044f0d01417f21070c090b20002802000d062000200029030842017c3703082000280210450d0741fcc4cd8000109a81808000000b200728020428000021070c070b418cc5cd8000109a81808000000b419cc5cd8000109a81808000000b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b417f2107410121040b200041bc016a200120022004200710b197808000200341106a2480808080000bfa0c030b7f017e037f23808080800041206b2203248080808000024020002802a001418080808078460d00200041e0006a200041f0006a411c410810ae8c80800020002802a001450d0020002802a40122042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602a0014100210541002106024020002d00f0024101470d00024020002802bc0122070d00417f2108410121060c010b20002802c0012108024002400240024002400240024002400240034041002109024020072f01aa142206450d002006410c6c210a200741ac136a2104410021092007210b0340024041e8b8c680002004417c6a2802002004280200220c4110200c4110491b10f597808000220d4110200c6b200d1b220c41004a200c4100486b41ff0171220c4101460d00200c0d02200b200b28020041054b22044103746a280200220c450d080240200b41046a2209280200200920041b200c412c6c6a220c41546a220b280200220441014b0d00200c41586a220a280200210d200c41706a280200210902402004410171450d00200d2009460d010b2003200c41646a360214200341146a2004200d200910a597808000200a200936020041012104200b41013602000b415821092004417e6a2204410220044102491b0e03050604050b200b41e0016a210b2004410c6a2104200941016a2109200a41746a220a0d000b200621090b2008450d092008417f6a2108200720094102746a2802ac1421070c000b0b416421090b200c20096a2204450d0020002802000d032004350208210e2000200029030842017c37030820002802100d0420002000290318200e7c37031841012106200428020841044f0d01417f21080c070b20002802000d042000200029030842017c3703082000280210450d0541fcc4cd8000109a81808000000b200428020428000021080c050b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41012106417f21080b024020002802bc012204450d0020002802c401220a450d00200041cc016a210f200041c8016a211020002802c0012100410021054100210d034002400240200d450d00200021092004210b200d21040c010b4100210902402000450d002000210c02402000410771220b450d000340200c417f6a210c20042802ac142104200b417f6a220b0d000b0b20004108490d00034020042802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142104200c41786a220c0d000b0b4100210b0b02400240024002400240200920042f01aa144f0d002004210c0c010b034020042802a013220c450d02200b41016a210b20042f01a8142109200c21042009200c2f01aa144f0d000b0b02400240200b0d00200941016a2100200c210d0c010b200c20094102746a41b0146a280200210d41002100200b417f6a2204450d00200b417e6a210702402004410771220b450d0003402004417f6a2104200d2802ac14210d200b417f6a220b0d000b0b20074107490d000340200d2802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac14210d200441786a22040d000b0b200a417f6a210a200c2009410c6c6a22042802ac132002490d022001200441a4136a2204280204200210f5978080000d02200c200941e0016c6a22092802082009280200220c200c41054b220c1b220b450d012009280204200941046a200c1b200b412c6c6a41546a280200210b2003418080808078360208410021070240024002402004280208220c4100480d00200428020421070240200c0d00410121040c030b41002d008083d480001a200c41002802f482d480001182808080000022040d01410121070b2007200c41a8b2c8800010b980808000000b2004417e6a41003b00000b200b410347210b20042007200c10f4978080002104024002402010201028020041054b22074103746a28020022110d000240200c0d004100210c0c020b4100210c20042004417e6a2f00006b41002802ec82d48000118180808000000c010b2003200c36021c200320043602182003200c360214200f280200200f20071b2011410c6c6a41746a200341146a10a389808000410173210c0b2005200b6a21052009200341086a200c2006200810ae978080000c020b419c8fc3800010a081808000000b41dfbcc6800041fc00419cbec6800010a181808000000b41002104200a0d000b0b200341206a24808080800020050bfb06020b7f017e23808080800041106b220524808080800002400240024002400240024020012802b00122060d00410021020c010b200228020821072002280204210820012802b4012109024003404100210a024020062f01aa09220b450d00200b410c6c210c200641ac086a21024100210a2006210d0340024020082002417c6a28020020072002280200220e2007200e491b10f597808000220f2007200e6b200f1b220e41004a200e4100486b41ff0171220e4101460d00200e0d02200d280200220c0d04410021020c050b200d41e0006a210d2002410c6a2102200a41016a210a200c41746a220c0d000b200b210a0b024020090d00410021020c030b2009417f6a21092006200a4102746a2802ac0921060c000b0b200d41046a2802002108024003404100210e0240200c2f01aa142206450d002006410c6c210f200c41ac136a21024100210e200c210a0340024020032002417c6a28020020042002280200220720042007491b10f597808000220d200420076b200d1b220741004a20074100486b41ff017122074101460d0020070d02200a200a28020041054b22024103746a28020022070d044198bdcd800041fc004184bfcd800010a181808000000b200a41e0016a210a2002410c6a2102200e41016a210e200f41746a220f0d000b2006210e0b024020080d00410021020c030b2008417f6a2108200c200e4102746a2802ac14210c0c000b0b0240200a41046a220e280200200e20021b2007412c6c6a220741546a220a280200220241014b0d00200741586a220f280200210d200741706a280200210e02402002410171450d00200d200e460d010b2005200741646a36020c2005410c6a2002200d200e10a597808000200f200e36020041012102200a41013602000b4158210e02400240024002402002417e6a2202410220024102491b0e03010200010b4164210e0b2007200e6a2207450d0020012802000d03200735020821102001200129030842017c37030820012802100d042001200129031820107c37031820072802082102200728020421070c010b20012802000d042001200129030842017c37030820012802100d05410021070b2000200236020820002007360204410121020b20002002360200200541106a2480808080000f0b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000bca05010a7f23808080800041106b22012480808080000240024020002d008c0222020d00200041013a008c02200020002802d00120002802c8012203200341054b1b36028802024020002802b0012203450d0020002802b8012204450d002003410047210520002802b4012106410021070340024002402005410171450d00024002402007450d002006210820032109200721030c010b4100210802402006450d0020062105024020064107712209450d0003402005417f6a210520032802ac0921032009417f6a22090d000b0b20064108490d00034020032802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092103200541786a22050d000b0b410021090b024002400240200820032f01aa094f0d00200321050c010b034020032802a0082205450d02200941016a210920032f01a809210820052103200820052f01aa094f0d000b0b024020090d00200841016a2106200521070c030b200520084102746a41b0096a2802002107410021062009417f6a2203450d022009417e6a210a024020034107712209450d0003402003417f6a210320072802ac0921072009417f6a22090d000b0b200a4107490d02034020072802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092107200341786a22030d000c030b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b02402005200841e0006c6a22032d0050450d004194b8c6800041c1002001410f6a41d0b6c6800041d8b8c6800010a981808000000b41012105200341013a005020032003280214200328020c2208200841054b1b36024c410021032004417f6a22040d000b0b20002d00e0024101460d01200041013a00e002200020002802a402200028029c022203200341054b1b3602dc020b200141106a24808080800020020f0b41e0b6c6800041382001410f6a41d0b6c680004184b8c6800010a981808000000bee22040c7f017e047f017e23808080800041d0006b2205248080808000024002400240024002400240024002400240024020002d00f00222064101470d00024020002802bc0122070d00417f21080c010b20002802c0012109024002400240024003404100210a024020072f01aa14220b450d00200b410c6c210c200741ac136a210d4100210a2007210e0340024041e8b8c68000200d417c6a280200200d280200220f4110200f4110491b10f59780800022104110200f6b20101b220f41004a200f4100486b41ff0171220f4101460d00200f0d02200e200e28020041054b220d4103746a280200220f450d090240200e41046a220a280200200a200d1b200f412c6c6a220f41546a220e280200220d41014b0d00200f41586a220c2802002110200f41706a280200210a0240200d410171450d002010200a460d010b2005200f41646a360208200541086a200d2010200a10a597808000200c200a3602004101210d200e41013602000b4158210a200d417e6a220d4102200d4102491b0e03050604050b200e41e0016a210e200d410c6a210d200a41016a210a200c41746a220c0d000b200b210a0b024020090d00417f21080c060b2009417f6a21092007200a4102746a2802ac1421070c000b0b4164210a0b200f200a6a220d450d0020002802000d04200d35020821112000200029030842017c37030820002802100d052000200029031820117c370318200d28020841044f0d01417f21080c020b20002802000d052000200029030842017c370308024020002802100d00417f21080c020b41fcc4cd8000109a81808000000b200d28020428000021080b20002802200d04200235020821112000200029032842017c37032820002802300d052000200029033820117c3703384100210f0240024002402001280208220d4100480d002004280204211220042802082113200128020421140240200d0d004101210f0c030b41002d008083d480001a200d41002802f482d4800011828080800000220f0d014101210f0b200f200d41a8b2c8800010b980808000000b200f417e6a41003b00000b200f2014200d10f49780800021070240200041bc016a2215280200220c450d0020002802c001210403404100210e0240200c2f01aa14220b450d00200b410c6c21094100210a4100210e034002402007200c200a6a220f41a8136a280200200d200f41ac136a280200220f200d200f491b10f5978080002210200d200f6b20101b220f41004a200f4100486b41ff0171220f4101460d00200f0d02200520153602182005200e360214200520043602102005200c36020c2005418080808078360208200d450d0d20072007417e6a2f00006b41002802ec82d48000118180808000000c0d0b200e41016a210e2009200a410c6a220a470d000b200b210e0b2004450d082004417f6a2104200c200e4102746a2802ac14210c0c000b0b200541003602180c070b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b418cc5cd8000109a81808000000b419cc5cd8000109a81808000000b2005200e3602202005410036021c2005200c3602180b200520153602142005200d3602102005200736020c2005200d3602080b200541086a10978d808000210d02400240200041c8016a20002802c80141054b220f4103746a280200220a0d00024020012802000d004100210e0c020b4100210e20142014417e6a2f00006b41002802ec82d48000118180808000000c010b200541086a41086a200141086a2802003602002005200129020037030820002802cc01200041cc016a200f1b200a410c6c6a41746a200541086a10a389808000410173210e0b200d41086a2107200d41046a210f0240024002400240024002400240024002400240024002400240024002400240024002400240200d280208200d280200220a200a41054b22101b0d00200541086a20032012201310e18f8080002005280208220e418180808078460d010240200e418080808078470d004100210e2005410036022c20054280808080103702244101210c0c100b200529020c21112005200e360224200520113702282011a7210c2011428080808010540d0f2011422088211602400240024002400240200c2d0000220a4103710e0403000102030b20164201510d13200c2d00012210450d132010410874200a7241027621100c030b20114280808080c000540d12200c2f0001200c41036a2d000041107472221041ffffff077141ff014d0d122010410874200a7241027621100c020b20114280808080d000540d11200a41034b0d11200c280001221041ffffffff034d0d110c010b200a41027621100b2002280204210a024020022802082209200e2016a722006b4d0d00200541246a200020094101410110ab978080002005280228210c200528022c21000b200c20006a200a200910f4978080001a200241003602082005200528022c20096a36022c02402002280200450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b200541146a200541246a41086a2802003602002005200529022437020c201041016a210902400240200d200d280200220041054b220a4103746a220e280200220c20004105200a1b460d00200d280204200f200a1b210a0c010b200d109a8a808000200d280208210c200d280204210a2007210e0b200a200c412c6c6a220a4100360208200a2010360204200a4101360200200a200529020837020c200a4100360228200a4280808080c000370220200a200936021c200a41146a200541086a41086a290200370200200e200e28020041016a36020020060d100c110b200d280204210c200d20104103746a211002400240024002400240024002400240024002400240200e0d002010280200220e450d0c200c200f200a41054b1b200e412c6c6a220a41546a2210280200417e6a220e4102200e4102491b0e03010203010b2010280200220e450d0c200c200f200a41054b1b200e412c6c6a220a41546a220c280200417e6a220e4102200e4102491b0e03050607050b200a41606a22002802002207450d1302400240200a415c6a220b28020022092d0000220c4103710e0405040100050b20074105490d14200c41034b0d142009280001220c41ffffffff034d0d140c150b20074104490d1320092f0001200941036a2d000041107472220441ffffff077141ff014d0d132004410874200c72410276210c0c140b200541c0006a41086a200241086a280200360200200520022902003703400c140b2002280204210e024020022802082210200a41646a2209280200200a416c6a220c28020022076b4d0d002009200720104101410110ab97808000200c28020021070b200a41686a28020020076a200e201010f4978080001a20024100360208200c200c28020020106a36020002402002280200450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b200a41706a220a200a28020041016a36020020060d160c170b20074101470d0f0c100b200c410276210c0c100b200a41606a280200220e450d0902400240200a415c6a280200220a2d000022104103710e0404050100040b200e4105490d0a201041034b0d0a200a280001221041ffffffff034b0d090c0a0b200e4104490d09200a2f0001200a41036a2d000041107472220c41ffffff077141ff014d0d09200c41087420107241027621100c080b200541306a41086a200241086a280200360200200520022902003703300c090b200a41646a220e2902002111200e428080808010370200200541306a41086a200e41086a280200220e360200200a416c6a221028020021092010410036020020052011370330200228020421100240200228020822002011a7200e6b4d0d00200541306a200e20004101410110ab978080002005280238210e0b2005280234200e6a2010200010f4978080001a200241003602082005200e20006a36023802402002280200450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b41012100200a41706a28020041016a2104200a41586a2802002110200c280200210b0c0a0b201041027621100c050b200e4101470d030c050b41f8cec680004130200541cf006a41e8cec680004180d0c6800010a981808000000b41dfbcc6800041fc00418cbec6800010a181808000000b41dfbcc6800041fc00418cbec6800010a181808000000b200a2d0001220c450d01200c41087420107241027621100b4100210c02400240200e4100480d0041002d008083d480001a200e41002802f482d4800011828080800000220c0d014101210c0b200c200e41a8b2c8800010b980808000000b200c417e6a41003b0000200c200a200e10f497808000210a2005200e3602382005200a3602342005200e3602302002280204210a024020022802082209450d00200541306a200e20094101410110ab978080002005280234210c2005280238210e0b200c200e6a200a200910f4978080001a41002100200241003602082005200e20096a36023802402002280200450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b4101210b201041016a21040c020b200541306a41086a200241086a280200360200200520022902003703300b4100210b41012104410021000b0b02400240200d200d280200220141054b220a4103746a220e280200220c20014105200a1b460d00200d280204200f200a1b210a0c010b200d109a8a808000200d280208210c200d280204210a2007210e0b200a200c412c6c6a220a200936020c200a2000360208200a2010360204200a200b360200200a2005290330370210200a4100360228200a4280808080c000370220200a200436021c200a41186a200541386a280200360200200e200e28020041016a3602002006450d070c060b20092d00012204450d002004410874200c72410276210c0c010b200541c0006a41086a200241086a280200360200200520022902003703400c010b20022802042104024020022802082201200a41586a220e28020020076b4d0d00200e200720014101410110ab97808000200b2802002109200028020021070b200920076a2004200110f4978080001a200241003602082000200028020020016a36020002402002280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200e2902002111200e4100360200200541c0006a41086a200e41086a28020036020041012109200b41013602002000410036020020052011370340200c41016a21072010280200417e6a210e0c010b41012107410021090b41102100024002400240200e4102200e4102491b0e020002010b410421000b201020006a220e280200450d00200e280204220e200e417e6a2f00006b41002802ec82d48000118180808000000b20102009360200200a415c6a4100360200200a41586a200c360200200a41646a220e2005290340370200200a41706a2007360200200e41086a200541c0006a41086a28020036020020060d010c020b200541146a200241086a2802003602002005200229020037020c02400240200d200d280200220041054b220a4103746a2210280200220920004105200a1b460d00200d280204200f200a1b210a0c010b200d109a8a808000200d2802082109200d280204210a200721100b200a2009412c6c6a220a4100360208200a4100360200200a200529020837020c200a4204370224200a420137021c200a41146a200541086a41086a2902003702002010201028020041016a3602000240200e450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b2006450d010b200d200d28020041054b220a4103746a280200220d450d01200f280200200f200a1b200d412c6c6a220f41786a210a0240200f417c6a220e280200220d450d002008200a280200200d4102746a417c6a280200460d010b0240200d200f41746a220f280200470d00200f41e4b8cd800010ad978080000b200a280200200d4102746a2008360200200e200d41016a3602000b200541d0006a2480808080000f0b41dfbcc6800041fc0041fcbdc6800010a181808000000bee22040c7f017e047f017e23808080800041d0006b2205248080808000024002400240024002400240024002400240024020002d00f00222064101470d00024020002802bc0122070d00417f21080c010b20002802c0012109024002400240024003404100210a024020072f01aa14220b450d00200b410c6c210c200741ac136a210d4100210a2007210e0340024041e8b8c68000200d417c6a280200200d280200220f4110200f4110491b10f59780800022104110200f6b20101b220f41004a200f4100486b41ff0171220f4101460d00200f0d02200e200e28020041054b220d4103746a280200220f450d090240200e41046a220a280200200a200d1b200f412c6c6a220f41546a220e280200220d41014b0d00200f41586a220c2802002110200f41706a280200210a0240200d410171450d002010200a460d010b2005200f41646a360208200541086a200d2010200a10a597808000200c200a3602004101210d200e41013602000b4158210a200d417e6a220d4102200d4102491b0e03050604050b200e41e0016a210e200d410c6a210d200a41016a210a200c41746a220c0d000b200b210a0b024020090d00417f21080c060b2009417f6a21092007200a4102746a2802ac1421070c000b0b4164210a0b200f200a6a220d450d0020002802000d04200d35020821112000200029030842017c37030820002802100d052000200029031820117c370318200d28020841044f0d01417f21080c020b20002802000d052000200029030842017c370308024020002802100d00417f21080c020b41fcc4cd8000109a81808000000b200d28020428000021080b20002802200d04200235020821112000200029032842017c37032820002802300d052000200029033820117c3703384100210f0240024002402001280208220d4100480d002004280204211220042802082113200128020421140240200d0d004101210f0c030b41002d008083d480001a200d41002802f482d4800011828080800000220f0d014101210f0b200f200d41a8b2c8800010b980808000000b200f417e6a41003b00000b200f2014200d10f49780800021070240200041bc016a2215280200220c450d0020002802c001210403404100210e0240200c2f01aa14220b450d00200b410c6c21094100210a4100210e034002402007200c200a6a220f41a8136a280200200d200f41ac136a280200220f200d200f491b10f5978080002210200d200f6b20101b220f41004a200f4100486b41ff0171220f4101460d00200f0d02200520153602182005200e360214200520043602102005200c36020c2005418080808078360208200d450d0d20072007417e6a2f00006b41002802ec82d48000118180808000000c0d0b200e41016a210e2009200a410c6a220a470d000b200b210e0b2004450d082004417f6a2104200c200e4102746a2802ac14210c0c000b0b200541003602180c070b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b418cc5cd8000109a81808000000b419cc5cd8000109a81808000000b2005200e3602202005410036021c2005200c3602180b200520153602142005200d3602102005200736020c2005200d3602080b200541086a10978d808000210d02400240200041c8016a20002802c80141054b220f4103746a280200220a0d00024020012802000d004100210e0c020b4100210e20142014417e6a2f00006b41002802ec82d48000118180808000000c010b200541086a41086a200141086a2802003602002005200129020037030820002802cc01200041cc016a200f1b200a410c6c6a41746a200541086a10a389808000410173210e0b200d41086a2107200d41046a210f0240024002400240024002400240024002400240024002400240024002400240024002400240200d280208200d280200220a200a41054b22101b0d00200541086a20032012201310e28f8080002005280208220e418180808078460d010240200e418080808078470d004100210e2005410036022c20054280808080103702244101210c0c100b200529020c21112005200e360224200520113702282011a7210c2011428080808010540d0f2011422088211602400240024002400240200c2d0000220a4103710e0403000102030b20164201510d13200c2d00012210450d132010410874200a7241027621100c030b20114280808080c000540d12200c2f0001200c41036a2d000041107472221041ffffff077141ff014d0d122010410874200a7241027621100c020b20114280808080d000540d11200a41034b0d11200c280001221041ffffffff034d0d110c010b200a41027621100b2002280204210a024020022802082209200e2016a722006b4d0d00200541246a200020094101410110ab978080002005280228210c200528022c21000b200c20006a200a200910f4978080001a200241003602082005200528022c20096a36022c02402002280200450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b200541146a200541246a41086a2802003602002005200529022437020c201041016a210902400240200d200d280200220041054b220a4103746a220e280200220c20004105200a1b460d00200d280204200f200a1b210a0c010b200d109a8a808000200d280208210c200d280204210a2007210e0b200a200c412c6c6a220a4100360208200a2010360204200a4101360200200a200529020837020c200a4100360228200a4280808080c000370220200a200936021c200a41146a200541086a41086a290200370200200e200e28020041016a36020020060d100c110b200d280204210c200d20104103746a211002400240024002400240024002400240024002400240200e0d002010280200220e450d0c200c200f200a41054b1b200e412c6c6a220a41546a2210280200417e6a220e4102200e4102491b0e03010203010b2010280200220e450d0c200c200f200a41054b1b200e412c6c6a220a41546a220c280200417e6a220e4102200e4102491b0e03050607050b200a41606a22002802002207450d1302400240200a415c6a220b28020022092d0000220c4103710e0405040100050b20074105490d14200c41034b0d142009280001220c41ffffffff034d0d140c150b20074104490d1320092f0001200941036a2d000041107472220441ffffff077141ff014d0d132004410874200c72410276210c0c140b200541c0006a41086a200241086a280200360200200520022902003703400c140b2002280204210e024020022802082210200a41646a2209280200200a416c6a220c28020022076b4d0d002009200720104101410110ab97808000200c28020021070b200a41686a28020020076a200e201010f4978080001a20024100360208200c200c28020020106a36020002402002280200450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b200a41706a220a200a28020041016a36020020060d160c170b20074101470d0f0c100b200c410276210c0c100b200a41606a280200220e450d0902400240200a415c6a280200220a2d000022104103710e0404050100040b200e4105490d0a201041034b0d0a200a280001221041ffffffff034b0d090c0a0b200e4104490d09200a2f0001200a41036a2d000041107472220c41ffffff077141ff014d0d09200c41087420107241027621100c080b200541306a41086a200241086a280200360200200520022902003703300c090b200a41646a220e2902002111200e428080808010370200200541306a41086a200e41086a280200220e360200200a416c6a221028020021092010410036020020052011370330200228020421100240200228020822002011a7200e6b4d0d00200541306a200e20004101410110ab978080002005280238210e0b2005280234200e6a2010200010f4978080001a200241003602082005200e20006a36023802402002280200450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b41012100200a41706a28020041016a2104200a41586a2802002110200c280200210b0c0a0b201041027621100c050b200e4101470d030c050b41f8cec680004130200541cf006a41e8cec680004180d0c6800010a981808000000b41dfbcc6800041fc00418cbec6800010a181808000000b41dfbcc6800041fc00418cbec6800010a181808000000b200a2d0001220c450d01200c41087420107241027621100b4100210c02400240200e4100480d0041002d008083d480001a200e41002802f482d4800011828080800000220c0d014101210c0b200c200e41a8b2c8800010b980808000000b200c417e6a41003b0000200c200a200e10f497808000210a2005200e3602382005200a3602342005200e3602302002280204210a024020022802082209450d00200541306a200e20094101410110ab978080002005280234210c2005280238210e0b200c200e6a200a200910f4978080001a41002100200241003602082005200e20096a36023802402002280200450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b4101210b201041016a21040c020b200541306a41086a200241086a280200360200200520022902003703300b4100210b41012104410021000b0b02400240200d200d280200220141054b220a4103746a220e280200220c20014105200a1b460d00200d280204200f200a1b210a0c010b200d109a8a808000200d280208210c200d280204210a2007210e0b200a200c412c6c6a220a200936020c200a2000360208200a2010360204200a200b360200200a2005290330370210200a4100360228200a4280808080c000370220200a200436021c200a41186a200541386a280200360200200e200e28020041016a3602002006450d070c060b20092d00012204450d002004410874200c72410276210c0c010b200541c0006a41086a200241086a280200360200200520022902003703400c010b20022802042104024020022802082201200a41586a220e28020020076b4d0d00200e200720014101410110ab97808000200b2802002109200028020021070b200920076a2004200110f4978080001a200241003602082000200028020020016a36020002402002280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200e2902002111200e4100360200200541c0006a41086a200e41086a28020036020041012109200b41013602002000410036020020052011370340200c41016a21072010280200417e6a210e0c010b41012107410021090b41102100024002400240200e4102200e4102491b0e020002010b410421000b201020006a220e280200450d00200e280204220e200e417e6a2f00006b41002802ec82d48000118180808000000b20102009360200200a415c6a4100360200200a41586a200c360200200a41646a220e2005290340370200200a41706a2007360200200e41086a200541c0006a41086a28020036020020060d010c020b200541146a200241086a2802003602002005200229020037020c02400240200d200d280200220041054b220a4103746a2210280200220920004105200a1b460d00200d280204200f200a1b210a0c010b200d109a8a808000200d2802082109200d280204210a200721100b200a2009412c6c6a220a4100360208200a4100360200200a200529020837020c200a4204370224200a420137021c200a41146a200541086a41086a2902003702002010201028020041016a3602000240200e450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b2006450d010b200d200d28020041054b220a4103746a280200220d450d01200f280200200f200a1b200d412c6c6a220f41786a210a0240200f417c6a220e280200220d450d002008200a280200200d4102746a417c6a280200460d010b0240200d200f41746a220f280200470d00200f41e4b8cd800010ad978080000b200a280200200d4102746a2008360200200e200d41016a3602000b200541d0006a2480808080000f0b41dfbcc6800041fc0041fcbdc6800010a181808000000b930301097f23808080800041306b220624808080800041002107024020012802b0012208450d0020012802b4012109024003404100210a024020082f01aa09220b450d00200b410c6c210c200841ac086a21014100210a2008210d0340024020022001417c6a28020020032001280200220720032007491b10f597808000220e200320076b200e1b220741004a20074100486b41ff017122074101460d0020070d02200d2802002201450d04200d41046a280200210320064102360224200620053602202006200436021c4101210720064101360218200620012003200641186a109d978080000c050b200d41e0006a210d2001410c6a2101200a41016a210a200c41746a220c0d000b200b210a0b024020090d00410021070c030b2009417f6a21092008200a4102746a2802ac0921080c000b0b2006410036020c20064100360200410121070b200020073602382000410036021c200041003602002000200629020037023c200041c4006a200641086a290200370200200041cc006a200641106a290200370200200641306a2480808080000bd80a030c7f017e027f23808080800041206b2204248080808000024020002802a0012205418080808078460d00200041e0006a200041f0006a411c410810ae8c8080002005450d0020002802a40122052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602a001410121060240024020002d00f0024101460d00410021060c010b024020002802bc0122070d00417f21080c010b20002802c001210902400240024002400240024002400240024003404100210a024020072f01aa14220b450d00200b410c6c210c200741ac136a21054100210a2007210d0340024041e8b8c680002005417c6a2802002005280200220e4110200e4110491b10f597808000220f4110200e6b200f1b220e41004a200e4100486b41ff0171220e4101460d00200e0d02200d200d28020041054b22054103746a280200220e450d080240200d41046a220a280200200a20051b200e412c6c6a220e41546a220d280200220541014b0d00200e41586a220c280200210f200e41706a280200210a02402005410171450d00200f200a460d010b2004200e41646a360204200441046a2005200f200a10a597808000200c200a36020041012105200d41013602000b4158210a2005417e6a2205410220054102491b0e03050604050b200d41e0016a210d2005410c6a2105200a41016a210a200c41746a220c0d000b200b210a0b2009450d092009417f6a21092007200a4102746a2802ac1421070c000b0b4164210a0b200e200a6a2205450d0020002802000d03200535020821102000200029030842017c37030820002802100d042000200029031820107c37031841012106200528020841044f0d01417f21080c070b20002802000d042000200029030842017c3703082000280210450d0541fcc4cd8000109a81808000000b200528020428000021080c050b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41012106417f21080b4200211002402003280200418080808078460d00200335020821100b024002400240024020002802200d002000200029032842017c37032820002802300d012000200029033820107c3703384100210e024002400240200128020822054100480d002001280204210a024020050d004101210e0c030b41002d008083d480001a200541002802f482d4800011828080800000220e0d014101210e0b200e200541d8cec6800010b980808000000b200e417e6a41003b00000b200e200a200510f4978080002107200041b0016a21110240024020002802b001220c450d0020002802b401210b03404100210d0240200c2f01aa092212450d002012410c6c21094100210a4100210d034002402007200c200a6a220e41a8086a2802002005200e41ac086a280200220e2005200e491b10f597808000220f2005200e6b200f1b220e41004a200e4100486b41ff0171220e4101460d00200e0d02200420113602142004200d3602102004200b36020c2004200c36020820044180808080783602042005450d0920072007417e6a2f00006b41002802ec82d48000118180808000000c090b200d41016a210d2009200a410c6a220a470d000b2012210d0b200b450d02200b417f6a210b200c200d4102746a2802ac09210c0c000b0b200441003602140c030b2004200d36021c200441003602182004200c3602140c020b418cc5cd8000109a81808000000b419cc5cd8000109a81808000000b200420113602102004200536020c20042007360208200420053602040b200441046a200041bc016a200110988d808000200220032006200810b197808000200441206a2480808080000bed0601097f02400240200041c8016a220120002802c801220241054b22034103746a220428020022052002410520031b460d0020002802cc01200041cc016a20031b21030c010b200110d289808000200041d0016a210420002802d001210520002802cc0121030b20032005410c6c6a22034100360208200341003602002004200428020041016a360200024020002802b0012204450d0020002802b8012206450d002004410047210520002802b4012107410021010340024002402005410171450d00024002402001450d002007210520042102200121040c010b4100210502402007450d0020072103024020074107712202450d0003402003417f6a210320042802ac0921042002417f6a22020d000b0b20074108490d00034020042802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092104200341786a22030d000b0b410021020b024002400240200520042f01aa094f0d00200421030c010b034020042802a0082203450d02200241016a210220042f01a809210520032104200520032f01aa094f0d000b0b024020020d00200541016a2107200321010c030b200320054102746a41b0096a2802002101410021072002417f6a2204450d022002417e6a2108024020044107712202450d0003402004417f6a210420012802ac0921012002417f6a22020d000b0b20084107490d02034020012802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092101200441786a22040d000c030b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b024002402003200541e0006c6a2204410c6a2209200428020c220841054b22054103746a220328020022022008410520051b460d002004280210200441106a20051b21050c010b200910d289808000200441146a210320042802142102200428021021050b4100210420052002410c6c6a2205410036020820054100360200410121052003200328020041016a3602002006417f6a22060d000b0b024002402000419c026a2201200028029c02220241054b22034103746a220428020022052002410520031b460d0020002802a002200041a0026a20031b21030c010b2001109b8a808000200041a4026a210420002802a402210520002802a00221030b20032005410c6c6a22034100360208200341003602002004200428020041016a3602000bb319020b7f027e2380808080004190026b22052480808080002002280208210620022802042107200541046a200210bc97808000024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802a001418080808078460d00200528020c21022005280208210720012802bc012208450d0220012802c001210902400240024003404100210a024020082f01aa14220b450d00200b410c6c210c200841ac136a21064100210a2008210d0340024020072006417c6a28020020022006280200220e2002200e491b10f597808000220f2002200e6b200f1b220e41004a200e4100486b41ff0171220e4101460d00200e0d02200d200d28020041054b22064103746a2802002202450d140240200d41046a220e280200200e20061b2002412c6c6a220241546a220a280200220641014b0d00200241586a220f280200210d200241706a280200210e02402006410171450d00200d200e460d010b2005200241646a360230200541306a2006200d200e10a597808000200f200e36020041012106200a41013602000b4158210e2006417e6a2206410220064102491b0e03050604050b200d41e0016a210d2006410c6a2106200a41016a210a200c41746a220c0d000b200b210a0b2009450d062009417f6a21092008200a4102746a2802ac1421080c000b0b4164210e0b2002200e6a22020d020b20012802000d0e2001200129030842017c3703082001280210450d0441fcc4cd8000109a81808000000b20012802b001220c450d0720012802b401210903404100210a0240200c2f01aa09220b450d00200b41e0006c21084100210e4100210f4100210a034002402007200c200e6a220241a8086a2802002006200241ac086a280200220220062002491b10f597808000220d200620026b200d1b220241004a20024100486b41ff017122024101460d0020020d02200c200f6a220628020022020d094100210e4100210d0c0a0b200e410c6a210e200a41016a210a2008200f41e0006a220f470d000b200b210a0b2009450d082009417f6a2109200c200a4102746a2802ac09210c0c000b0b20012802000d0d200235020821102001200129030842017c37030820012802100d0e2001200129031820107c3703184100210e024002400240200228020822064100480d002002280204210e024020060d00410121020c030b41002d008083d480001a200641002802f482d480001182808080000022020d014101210e0b200e200641d8cec6800010b980808000000b2002417e6a41003b00000b2006ad4220862002200e200610f497808000ad8421100c010b200541306a20032007200210e18f808000024020052802302206418180808078470d00200041023a00200c110b2006418080808078460d01200529023421100b2010a721020240201042808080808004540d00200541106a41186a200241186a290000370300200541106a41106a200241106a290000370300200541106a41086a200241086a290000370300200520022900003703102006450d0220022002417e6a2f00006b41002802ec82d48000118180808000000c020b2006450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200541106a41014101412110b88c8080000b20002005290310370000200041013a0020200041186a200541106a41186a290300370000200041106a200541106a41106a290300370000200041086a200541106a41086a2903003700000c0d0b200641086a280200210d200641046a280200210a4101210e0b2005200d3602cc012005200a3602c801200520023602c401200541003602c0012005200e3602bc012005200a3602b801200520023602b401200541003602b0012005200e3602ac01200541306a2003200641d4006a200541ac016a200410e18a80800020054198016a210c200528029801418080808078460d01200541306a410172210620052d0030450d0220054180808080783602d0010c030b20054180808080783602980120054198016a210c0b20054184026a20032005280208200528020c10e18f8080002005280284022206418180808078470d02200041023a0020200528029801418080808078460d090240200528025c220f450d0002402005280264220a450d002005280258220241086a21062002290300427f8542808182848890a0c0807f8321100340024020104200520d000340200241a07e6a210220062903002110200641086a220e2106201042808182848890a0c0807f83221042808182848890a0c0807f510d000b201042808182848890a0c0807f852110200e21060b02402002410020107aa74103766b411c6c6a220e41646a280200450d00200e41686a280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b2010427f7c21110240200e41706a280200450d00200e41746a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b20112010832110200a417f6a220a0d000b0b200f200f411c6c41236a41787122066a4177460d00200528025820066b22062006417e6a2f00006b41002802ec82d48000118180808000000b200528029801450d09200528029c0122062006417e6a2f00006b41002802ec82d48000118180808000000c090b2005410036028c0220054280808080103702840241002d008083d480001a412041002802f482d48000118280808000002202450d062002417e6a220d41003b000020022006290000370000200241086a220f200641086a290000370000200241106a2207200641106a290000370000200241186a2208200641186a29000037000020054184026a4100412010f49180800020052802880220054184026a41086a220a28020022096a220e2002290000370000200e41086a200f290000370000200e41106a2007290000370000200e41186a2008290000370000200a200941206a3602002002200d2f00006b41002802ec82d4800011818080800000200541d0016a41086a200a28020036020020052005290284023703d0010b2001200541046a200541d0016a10d78a808000024020012802a001418080808078460d00200141e0006a200141f0006a411c410810ae8c80800020012802a001450d0020012802a40122022002417e6a2f00006b41002802ec82d48000118180808000000b20014180808080783602a001200541e0016a41086a200641086a290000370300200541e0016a41106a200641106a290000370300200541e0016a41186a200641186a290000370300200520062900003703e0014101210f0c060b02402006418080808078460d0020052802880221020240200529028802221042808080808004540d00200541e0016a41186a2010a7220e41186a290000370300200541e0016a41106a200e41106a290000370300200541e0016a41086a200e41086a2900003703002005200e2900003703e001024020060d004100210f0c080b4100210f20022002417e6a2f00006b41002802ec82d48000118180808000000c070b2006450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200541e0016a41014101412110b88c8080004100210f0c050b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b4101412010ab80808000000b200020052903e001370000200041003a0020200041186a200541e0016a41186a290300370000200041106a200541e0016a41106a290300370000200041086a200541e0016a41086a2903003700000240200528029801418080808078460d000240200528025c2207450d0002402005280264220a450d002005280258220241086a21062002290300427f8542808182848890a0c0807f8321100340024020104200520d000340200241a07e6a210220062903002110200641086a220e2106201042808182848890a0c0807f83221042808182848890a0c0807f510d000b201042808182848890a0c0807f852110200e21060b02402002410020107aa74103766b411c6c6a220e41646a280200450d00200e41686a280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b2010427f7c21110240200e41706a280200450d00200e41746a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b20112010832110200a417f6a220a0d000b0b20072007411c6c41236a41787122066a4177460d00200528025820066b22062006417e6a2f00006b41002802ec82d48000118180808000000b200528029801450d00200c28020422062006417e6a2f00006b41002802ec82d48000118180808000000b200f200528020445720d020c010b2005280204450d010b200528020822062006417e6a2f00006b41002802ec82d48000118180808000000b20054190026a2480808080000b891505017f017e037f017e027f23808080800041d0026b2205248080808000200541014101412110b88c8080004100410035028483d4800042c4e6c11b85200541206aad22067e200642ae94e698017e4220898522063e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002107024002400240024002400240410141002802f482d48000118280808000002208450d0041002109200841003a00002008417e6a41003b0000200541c0006a41fccfc28000410141002802c480d4800011868080800000200541206a41086a4100290388e7c58000370300200541013602682005200836026420054101360260200541b883d480004100200741ff01714102461b36023820052006422088220a42a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200a42d0e3fccc027e200642a2f0a4a00a7e854220898537033020054100290380e7c58000370320200541a8026a2001200210ee8a808000200541f0006a41086a2005200541a8026a41016a200520052d00a80222084101711b20084102461b220841086a290000370300200541f0006a41106a200841106a290000370300200541f0006a41186a200841186a290000370300200520082900003703700240024020012802482208450d00200128024c22072802080d03200741086a220b417f36020020082802080d04200841086a220c417f360200200128025022092802080d052009417f3602082005200941086a3602a4012005200b36029c012005200c360294012005200941106a3602a00120052007410c6a360298012005200841106a3602900120054190016a21090c010b20054100360290010b02400240024020012802442208450d0020082802000d072008417f360200200541003602b001200520083602ac012005200841086a3602a801200520013602dc012005200541206a3602e0012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c68000108f908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001091908080000b20052d00e4010d01200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b80120052802b001210320052802b401210120052802ac012208200828020041016a3602002003450d080c020b200520013602a8012005200541206a3602ac012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c68000108f908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001091908080000b024020052d00e4014101470d00200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a290300370300200520052903703703b801024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d48000118180808000000c080b200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b8010c070b024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a29030037030020052802ac012201200128020041016a360200200520052903703703b80120052802b001450d0620052802b40121010b2001200128020041016a3602000c050b4101410110ab80808000000b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b41ecdec58000109a81808000000b0240200528029001450d002005280294012201200128020041016a360200200528029c012201200128020041016a36020020052802a4012201200128020041016a3602000b200541b8016a2005412010f5978080002101200041196a200541d0016a290300370000200041116a200541c8016a290300370000200041096a200541c0016a290300370000200020052903b801370001200041286a200541206a41d00010f4978080001a20002001453a0000200541d0026a2480808080000bb319020b7f027e2380808080004190026b22052480808080002002280208210620022802042107200541046a200210bc97808000024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802a001418080808078460d00200528020c21022005280208210720012802bc012208450d0220012802c001210902400240024003404100210a024020082f01aa14220b450d00200b410c6c210c200841ac136a21064100210a2008210d0340024020072006417c6a28020020022006280200220e2002200e491b10f597808000220f2002200e6b200f1b220e41004a200e4100486b41ff0171220e4101460d00200e0d02200d200d28020041054b22064103746a2802002202450d140240200d41046a220e280200200e20061b2002412c6c6a220241546a220a280200220641014b0d00200241586a220f280200210d200241706a280200210e02402006410171450d00200d200e460d010b2005200241646a360230200541306a2006200d200e10a597808000200f200e36020041012106200a41013602000b4158210e2006417e6a2206410220064102491b0e03050604050b200d41e0016a210d2006410c6a2106200a41016a210a200c41746a220c0d000b200b210a0b2009450d062009417f6a21092008200a4102746a2802ac1421080c000b0b4164210e0b2002200e6a22020d020b20012802000d0e2001200129030842017c3703082001280210450d0441fcc4cd8000109a81808000000b20012802b001220c450d0720012802b401210903404100210a0240200c2f01aa09220b450d00200b41e0006c21084100210e4100210f4100210a034002402007200c200e6a220241a8086a2802002006200241ac086a280200220220062002491b10f597808000220d200620026b200d1b220241004a20024100486b41ff017122024101460d0020020d02200c200f6a220628020022020d094100210e4100210d0c0a0b200e410c6a210e200a41016a210a2008200f41e0006a220f470d000b200b210a0b2009450d082009417f6a2109200c200a4102746a2802ac09210c0c000b0b20012802000d0d200235020821102001200129030842017c37030820012802100d0e2001200129031820107c3703184100210e024002400240200228020822064100480d002002280204210e024020060d00410121020c030b41002d008083d480001a200641002802f482d480001182808080000022020d014101210e0b200e200641d8cec6800010b980808000000b2002417e6a41003b00000b2006ad4220862002200e200610f497808000ad8421100c010b200541306a20032007200210e28f808000024020052802302206418180808078470d00200041023a00200c110b2006418080808078460d01200529023421100b2010a721020240201042808080808004540d00200541106a41186a200241186a290000370300200541106a41106a200241106a290000370300200541106a41086a200241086a290000370300200520022900003703102006450d0220022002417e6a2f00006b41002802ec82d48000118180808000000c020b2006450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200541106a41014101412110b88c8080000b20002005290310370000200041013a0020200041186a200541106a41186a290300370000200041106a200541106a41106a290300370000200041086a200541106a41086a2903003700000c0d0b200641086a280200210d200641046a280200210a4101210e0b2005200d3602cc012005200a3602c801200520023602c401200541003602c0012005200e3602bc012005200a3602b801200520023602b401200541003602b0012005200e3602ac01200541306a2003200641d4006a200541ac016a200410e38a80800020054198016a210c200528029801418080808078460d01200541306a410172210620052d0030450d0220054180808080783602d0010c030b20054180808080783602980120054198016a210c0b20054184026a20032005280208200528020c10e28f8080002005280284022206418180808078470d02200041023a0020200528029801418080808078460d090240200528025c220f450d0002402005280264220a450d002005280258220241086a21062002290300427f8542808182848890a0c0807f8321100340024020104200520d000340200241a07e6a210220062903002110200641086a220e2106201042808182848890a0c0807f83221042808182848890a0c0807f510d000b201042808182848890a0c0807f852110200e21060b02402002410020107aa74103766b411c6c6a220e41646a280200450d00200e41686a280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b2010427f7c21110240200e41706a280200450d00200e41746a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b20112010832110200a417f6a220a0d000b0b200f200f411c6c41236a41787122066a4177460d00200528025820066b22062006417e6a2f00006b41002802ec82d48000118180808000000b200528029801450d09200528029c0122062006417e6a2f00006b41002802ec82d48000118180808000000c090b2005410036028c0220054280808080103702840241002d008083d480001a412041002802f482d48000118280808000002202450d062002417e6a220d41003b000020022006290000370000200241086a220f200641086a290000370000200241106a2207200641106a290000370000200241186a2208200641186a29000037000020054184026a4100412010f49180800020052802880220054184026a41086a220a28020022096a220e2002290000370000200e41086a200f290000370000200e41106a2007290000370000200e41186a2008290000370000200a200941206a3602002002200d2f00006b41002802ec82d4800011818080800000200541d0016a41086a200a28020036020020052005290284023703d0010b2001200541046a200541d0016a10d78a808000024020012802a001418080808078460d00200141e0006a200141f0006a411c410810ae8c80800020012802a001450d0020012802a40122022002417e6a2f00006b41002802ec82d48000118180808000000b20014180808080783602a001200541e0016a41086a200641086a290000370300200541e0016a41106a200641106a290000370300200541e0016a41186a200641186a290000370300200520062900003703e0014101210f0c060b02402006418080808078460d0020052802880221020240200529028802221042808080808004540d00200541e0016a41186a2010a7220e41186a290000370300200541e0016a41106a200e41106a290000370300200541e0016a41086a200e41086a2900003703002005200e2900003703e001024020060d004100210f0c080b4100210f20022002417e6a2f00006b41002802ec82d48000118180808000000c070b2006450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200541e0016a41014101412110b88c8080004100210f0c050b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b4101412010ab80808000000b200020052903e001370000200041003a0020200041186a200541e0016a41186a290300370000200041106a200541e0016a41106a290300370000200041086a200541e0016a41086a2903003700000240200528029801418080808078460d000240200528025c2207450d0002402005280264220a450d002005280258220241086a21062002290300427f8542808182848890a0c0807f8321100340024020104200520d000340200241a07e6a210220062903002110200641086a220e2106201042808182848890a0c0807f83221042808182848890a0c0807f510d000b201042808182848890a0c0807f852110200e21060b02402002410020107aa74103766b411c6c6a220e41646a280200450d00200e41686a280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b2010427f7c21110240200e41706a280200450d00200e41746a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b20112010832110200a417f6a220a0d000b0b20072007411c6c41236a41787122066a4177460d00200528025820066b22062006417e6a2f00006b41002802ec82d48000118180808000000b200528029801450d00200c28020422062006417e6a2f00006b41002802ec82d48000118180808000000b200f200528020445720d020c010b2005280204450d010b200528020822062006417e6a2f00006b41002802ec82d48000118180808000000b20054190026a2480808080000b8e1505017f017e037f017e027f23808080800041d0026b2205248080808000200541014101412110b88c8080004100410035028483d4800042c4e6c11b85200541206aad22067e200642ae94e698017e4220898522063e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002107024002400240024002400240410141002802f482d48000118280808000002208450d0041002109200841003a00002008417e6a41003b0000200541c0006a41fccfc28000410141002802c480d4800011868080800000200541206a41086a4100290388e7c58000370300200541013602682005200836026420054101360260200541b883d480004100200741ff01714102461b36023820052006422088220a42a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200a42d0e3fccc027e200642a2f0a4a00a7e854220898537033020054100290380e7c58000370320200541a8026a2001200210f08a808000200541f0006a41086a2005200541a8026a41016a200520052d00a80222084101711b20084102461b220841086a290000370300200541f0006a41106a200841106a290000370300200541f0006a41186a200841186a290000370300200520082900003703700240024020012802482208450d00200128024c22072802080d03200741086a220b417f36020020082802080d04200841086a220c417f360200200128025022092802080d052009417f3602082005200941086a3602a4012005200b36029c012005200c360294012005200941106a3602a00120052007410c6a360298012005200841106a3602900120054190016a21090c010b20054100360290010b02400240024020012802442208450d00200828020022082802000d072008417f360200200541003602b001200520083602ac012005200841086a3602a801200520013602dc012005200541206a3602e0012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001090908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001095908080000b20052d00e4010d01200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b80120052802b001210320052802b401210120052802ac012208200828020041016a3602002003450d080c020b200520013602a8012005200541206a3602ac012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001090908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001095908080000b024020052d00e4014101470d00200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a290300370300200520052903703703b801024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d48000118180808000000c080b200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b8010c070b024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a29030037030020052802ac012201200128020041016a360200200520052903703703b80120052802b001450d0620052802b40121010b2001200128020041016a3602000c050b4101410110ab80808000000b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b41ecdec58000109a81808000000b0240200528029001450d002005280294012201200128020041016a360200200528029c012201200128020041016a36020020052802a4012201200128020041016a3602000b200541b8016a2005412010f5978080002101200041196a200541d0016a290300370000200041116a200541c8016a290300370000200041096a200541c0016a290300370000200020052903b801370001200041286a200541206a41d00010f4978080001a20002001453a0000200541d0026a2480808080000bda10030d7f017e017f23808080800041306b2204248080808000024020002802a001418080808078460d00200041e0006a200041f0006a411c410810ae8c80800020002802a001450d0020002802a40122052005417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602a0014100210641002107024020002d00f0024101470d00024020002802bc0122080d00417f2109410121070c010b20002802c001210a02400240024002400240024002400240024003404100210b024020082f01aa14220c450d00200c410c6c210d200841ac136a21054100210b2008210e0340024041e8b8c680002005417c6a2802002005280200220f4110200f4110491b10f59780800022104110200f6b20101b220f41004a200f4100486b41ff0171220f4101460d00200f0d02200e200e28020041054b22054103746a280200220f450d080240200e41046a220b280200200b20051b200f412c6c6a220f41546a220e280200220541014b0d00200f41586a220d2802002110200f41706a280200210b02402005410171450d002010200b460d010b2004200f41646a360208200441086a20052010200b10a597808000200d200b36020041012105200e41013602000b4158210b2005417e6a2205410220054102491b0e03050604050b200e41e0016a210e2005410c6a2105200b41016a210b200d41746a220d0d000b200c210b0b200a450d09200a417f6a210a2008200b4102746a2802ac1421080c000b0b4164210b0b200f200b6a2205450d0020002802000d03200535020821112000200029030842017c37030820002802100d042000200029031820117c37031841012107200528020841044f0d01417f21090c070b20002802000d042000200029030842017c3703082000280210450d0541fcc4cd8000109a81808000000b200528020428000021090c050b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41012107417f21090b024002400240200128020822054100480d002001280204210b024020050d004101210f0c030b41002d008083d480001a200541002802f482d4800011828080800000220f0d01410121060b2006200541d8cec6800010b980808000000b200f417e6a41003b00000b200f200b200510f4978080002108200041b0016a2106200041bc016a2112024002400240024020002802b001220d450d0020002802b401210a03404100210e0240200d2f01aa09220c450d00200c410c6c21004100210b4100210e034002402008200d200b6a220f41a8086a2802002005200f41ac086a280200220f2005200f491b10f59780800022102005200f6b20101b220f41004a200f4100486b41ff0171220f4101460d00200f0d02200420063602182004200e3602142004200a3602102004200d36020c20044180808080783602082005450d0720082008417e6a2f00006b41002802ec82d48000118180808000000c070b200e41016a210e2000200b410c6a220b470d000b200c210e0b200a450d02200a417f6a210a200d200e4102746a2802ac09210d0c000b0b200441003602180c010b2004200e3602202004410036021c2004200d3602180b20042006360214200420053602102004200836020c200420053602080b4100210a0240200441086a2012200110988d808000220f2802002205450d00200f280208220d450d00200f41106a2101200f410c6a210c200f28020421084100210a410021100340024002402010450d002008210b2005210e201021050c010b4100210b02402008450d002008210f02402008410771220e450d000340200f417f6a210f20052802ac142105200e417f6a220e0d000b0b20084108490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200f41786a220f0d000b0b4100210e0b02400240024002400240200b20052f01aa144f0d002005210f0c010b034020052802a013220f450d02200e41016a210e20052f01a814210b200f2105200b200f2f01aa144f0d000b0b02400240200e0d00200b41016a2108200f21100c010b200f200b4102746a41b0146a280200211041002108200e417f6a2205450d00200e417e6a210002402005410771220e450d0003402005417f6a210520102802ac142110200e417f6a220e0d000b0b20004107490d00034020102802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142110200541786a22050d000b0b200d417f6a210d200f200b410c6c6a22052802ac132003490d022002200541a4136a2205280204200310f5978080000d02200f200b41e0016c6a220b280208200b280200220f200f41054b220f1b220e450d01200b280204200b41046a200f1b200e412c6c6a41546a280200210e2004418080808078360224410021000240024002402005280208220f4100480d00200528020421000240200f0d00410121050c030b41002d008083d480001a200f41002802f482d480001182808080000022050d01410121000b2000200f41a8b2c8800010b980808000000b2005417e6a41003b00000b200e410347210e20052000200f10f497808000210502400240200c200c28020041054b22004103746a28020022060d000240200f0d004100210f0c020b4100210f20052005417e6a2f00006b41002802ec82d48000118180808000000c010b2004200f3602102004200536020c2004200f3602082001280200200120001b2006410c6c6a41746a200441086a10a389808000410173210f0b200a200e6a210a200b200441246a200f2007200910ae978080000c020b419c8fc3800010a081808000000b41dfbcc6800041fc00419cbec6800010a181808000000b41002105200d0d000b0b200441306a248080808000200a0bf104010a7f23808080800041106b2201248080808000410021020240200041bc016a410010b09780800022030d0020002802b801410020002802b00122041b21052004410047210620002802b40121070340024002402005450d0002402006410171450d00024002402002450d002007210820042106200221040c010b4100210802402007450d0020072109024020074107712202450d0003402009417f6a210920042802ac0921042002417f6a22020d000b0b20074108490d00034020042802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092104200941786a22090d000b0b410021060b024002400240200820042f01aa094f0d00200421090c010b034020042802a0082209450d02200641016a210620042f01a809210820092104200820092f01aa094f0d000b0b024020060d00200841016a2107200921020c040b200920084102746a41b0096a2802002102410021072006417f6a2204450d032006417e6a210a024020044107712206450d0003402004417f6a210420022802ac0921022006417f6a22060d000b0b200a4107490d03034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200441786a22040d000c040b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b20004190026a410010e68a808000450d0241e0b6c6800041382001410f6a41f8b8c680004188b9c6800010a981808000000b2005417f6a210541012106410021042009200841e0006c6a410010b097808000450d000b4198b9c6800041382001410f6a41f8b8c6800041d0b9c6800010a981808000000b200141106a24808080800020030bfd0d03077f037e047f23808080800041e0016b220224808080800041012103200028020c2104024002400240024020002d00504101470d0020002802142004200441054b1b200028024c4d0d010b2000410c6a2205200441054b22044103746a22062802002207450d00200041106a2208280200210320062007417f6a2207360200024002402003200820041b2007410c6c6a220328020022040d0041002107410021030c010b2003280204210620032802082107410121030b2002200736022c2002200636022820022004360224200241003602202002200336021c2002200636021820022004360214200241003602102002200336020c200241e0006a2002410c6a10cd88808000200228026021040240024020010d002004418080808078460d010340200241306a41106a200241e0006a41106a22012902002209370300200241306a41086a200241e0006a41086a2203290200220a37030020022002290260220b370330200241c8006a41106a22072009370300200241c8006a41086a220c200a3703002002200b37034820002802002204450d04200241e0006a20042000280204200241c8006a10cf8380800020022802600d042002280264200228026c41fc006c6a418c026a210402400240024002400240024002402005200528020041054b220d4103746a2802002206450d002008280200210e200120072903003703002003200c29030037030020022002290348370360200e2008200d1b2006410c6c6a41746a200241e0006a10a689808000450d06200428027821010c010b200428020420042802782201200141054b1b4102490d010b2004410441f800200141054b22011b6a2207280200220c450d012007200c417f6a220c3602002004280200220d200420011b200c41186c6a2201280200210f2001280204210c200128020821072003200141146a2802003602002002200129020c370360200428020420042802782201200141054b22011b220e450d020240200d200420011b200e41186c6a220e41746a2201280200220d418080808078460d00200d450d00200e41786a280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b20012002290360370200200141086a2003280200360200200428020420042802782203200341054b22031b2201450d032007410274210d024020072004280200200420031b200141186c6a220341686a220e280200200341706a220128020022046b4d0d00200e200420074104410410ab97808000200128020021040b2003416c6a28020020044102746a200c200d10f4978080001a2001200420076a3602000240200f450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b20060d040b02402002280248450d00200228024c22042004417e6a2f00006b41002802ec82d48000118180808000000b2002280254450d03200228025822042004417e6a2f00006b41002802ec82d48000118180808000000c030b41dfbcc6800041fc0041ecbdc6800010a181808000000b41dfbcc6800041fc00418cbec6800010a181808000000b41dfbcc6800041fc0041fcbdc6800010a181808000000b200241e0006a2002410c6a10cd888080002002280260418080808078470d000c020b0b2004418080808078460d00200241e4006a21060340200241306a41106a200241e0006a41106a2902002209370300200241306a41086a200241e0006a41086a290200220a37030020022002290260220b370330200241c8006a41106a2009370300200241c8006a41086a200a3703002002200b37034820002802002204450d03200241e0006a20042000280204200241c8006a10cf8380800020022802600d032002280264200228026c41fc006c6a418c026a2204410441f800200428027841054b22031b6a22012802002205450d0420012005417f6a22053602002004280200200420031b200541186c6a22032802042101200328020021050240200328020c41808080807872418080808078460d00200328021022032003417e6a2f00006b41002802ec82d48000118180808000000b02402005450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0240200428020420042802782204200441054b1b0d00200241e0006a2000200241c8006a10a7898080002002280260450d00200610e1898080000b02402002280248450d00200228024c22042004417e6a2f00006b41002802ec82d48000118180808000000b02402002280254450d00200228025822042004417e6a2f00006b41002802ec82d48000118180808000000b200241e0006a2002410c6a10cd888080002002280260418080808078470d000b0b2002410c6a10c489808000410021030b200241e0016a24808080800020030f0b41f0bec6800041d50141c8c0c6800010a181808000000b41dfbcc6800041fc0041ecbdc6800010a181808000000bb410030d7f017e017f23808080800041306b2202248080808000024020002802a001418080808078460d00200041e0006a200041f0006a411c410810ae8c80800020002802a001450d0020002802a40122032003417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602a0014100210441002105024020002d00f0024101470d00024020002802bc0122060d00417f2107410121050c010b20002802c0012108024002400240024002400240024002400240034041002109024020062f01aa14220a450d00200a410c6c210b200641ac136a2103410021092006210c0340024041e8b8c680002003417c6a2802002003280200220d4110200d4110491b10f597808000220e4110200d6b200e1b220d41004a200d4100486b41ff0171220d4101460d00200d0d02200c200c28020041054b22034103746a280200220d450d080240200c41046a2209280200200920031b200d412c6c6a220d41546a220c280200220341014b0d00200d41586a220b280200210e200d41706a280200210902402003410171450d00200e2009460d010b2002200d41646a360208200241086a2003200e200910a597808000200b200936020041012103200c41013602000b415821092003417e6a2203410220034102491b0e03050604050b200c41e0016a210c2003410c6a2103200941016a2109200b41746a220b0d000b200a21090b2008450d092008417f6a2108200620094102746a2802ac1421060c000b0b416421090b200d20096a2203450d0020002802000d032003350208210f2000200029030842017c37030820002802100d0420002000290318200f7c37031841012105200328020841044f0d01417f21070c070b20002802000d042000200029030842017c3703082000280210450d0541fcc4cd8000109a81808000000b200328020428000021070c050b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41012105417f21070b024002400240200128020822034100480d0020012802042109024020030d004101210d0c030b41002d008083d480001a200341002802f482d4800011828080800000220d0d01410121040b2004200341d8cec6800010b980808000000b200d417e6a41003b00000b200d2009200310f4978080002106200041b0016a2104200041bc016a2110024002400240024020002802b001220b450d0020002802b401210803404100210c0240200b2f01aa09220a450d00200a410c6c2100410021094100210c034002402006200b20096a220d41a8086a2802002003200d41ac086a280200220d2003200d491b10f597808000220e2003200d6b200e1b220d41004a200d4100486b41ff0171220d4101460d00200d0d02200220043602182002200c360214200220083602102002200b36020c20024180808080783602082003450d0720062006417e6a2f00006b41002802ec82d48000118180808000000c070b200c41016a210c20002009410c6a2209470d000b200a210c0b2008450d022008417f6a2108200b200c4102746a2802ac09210b0c000b0b200241003602180c010b2002200c3602202002410036021c2002200b3602180b20022004360214200220033602102002200636020c200220033602080b41002106024002400240200241086a2010200110988d808000220d2802002203450d00200d2802082200450d00200d41106a2104200d410c6a2108200d280204210b410021064100210e034002400240200e450d00200b21092003210c200e21030c010b410021090240200b450d00200b210d0240200b410771220c450d000340200d417f6a210d20032802ac142103200c417f6a220c0d000b0b200b4108490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200d41786a220d0d000b0b4100210c0b02400240200920032f01aa144f0d002003210d0c010b034020032802a013220d450d04200c41016a210c20032f01a8142109200d21032009200d2f01aa144f0d000b0b02400240200c0d00200941016a210b200d210e0c010b200d20094102746a41b0146a280200210e4100210b200c417f6a2203450d00200c417e6a210a02402003410771220c450d0003402003417f6a2103200e2802ac14210e200c417f6a220c0d000b0b200a4107490d000340200e2802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac14210e200341786a22030d000b0b200d200941e0016c6a220c280208200c2802002203200341054b22031b220a450d03200c280204200c41046a20031b200a412c6c6a41546a280200210a200241808080807836022441002101024002400240200d2009410c6c6a220d2802ac1322034100480d00200d2802a8132109024020030d004101210d0c030b41002d008083d480001a200341002802f482d4800011828080800000220d0d01410121010b2001200341a8b2c8800010b980808000000b200d417e6a41003b00000b200a410347210a200d2009200310f497808000210d024002402008200828020041054b22094103746a28020022010d00024020030d00410021030c020b41002103200d200d417e6a2f00006b41002802ec82d48000118180808000000c010b200220033602102002200d36020c200220033602082004280200200420091b2001410c6c6a41746a200241086a10a38980800041017321030b2006200a6a2106200c200241246a20032005200710ae97808000410021032000417f6a22000d000b0b200241306a24808080800020060f0b419c8fc3800010a081808000000b41dfbcc6800041fc00419cbec6800010a181808000000bfa09010b7f23808080800041c0036b2201248080808000024020002802a001418080808078460d00200041e0006a200041f0006a411c410810ae8c80800020002802a001450d0020002802a40122022002417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602a001024002400240200041bc016a410110b09780800022030d0020002802b8012104200041003602b80120002802b0012102200041003602b00120002802b401210520012004410020021b360224200120053602202001200236021c20014100360218200120024100472204360214200120053602102001200236020c2001410036020820012004360204200141286a200141046a10ca88808000024020012802282206418080808078460d00200041b0016a2107200141286a410c6a210820014194016a41106a2109200141f4016a41106a210a034020012802302102200128022c210420014194016a200841e00010f4978080001a20014194016a410110b0978080000d0302400240200128029c010d000240024020012802940122020d00410021020c010b200120012802980122053602fc02200120023602f802200141003602f402200120053602ec02200120023602e802200141003602e402410121020b2001410036028003200120023602f002200120023602e002200141e0026a10c6898080000240024020012802a001220541054b0d00200921022005450d010340200210a6888080002002410c6a21022005417f6a22050d000c020b0b20014194016a41106a280200210b024020012802a8012205450d00200b21020340200210a6888080002002410c6a21022005417f6a22050d000b0b200b200b417e6a2f00006b41002802ec82d48000118180808000000b024020012802e801450d0020012802ec0122022002417e6a2f00006b41002802ec82d48000118180808000000b2006450d0120042004417e6a2f00006b41002802ec82d48000118180808000000c010b200120023602dc02200120043602d802200120063602d402200141e0026a20014194016a41e00010f4978080001a200141f4016a2007200141d4026a200141e0026a10a58980800020012802c802418080808078460d000240024020012802f40122020d0041002102410021050c010b200120012802f80122053602fc02200120023602f802200141003602f402200120053602ec02200120023602e802200141003602e4024101210220012802fc0121050b2001200536028003200120023602f002200120023602e002200141e0026a10c68980800002400240200128028002220541054b0d00200a21022005450d010340200210a6888080002002410c6a21022005417f6a22050d000c020b0b200141f4016a41106a280200210402402001280288022205450d00200421020340200210a6888080002002410c6a21022005417f6a22050d000b0b20042004417e6a2f00006b41002802ec82d48000118180808000000b20012802c802450d0020012802cc0222022002417e6a2f00006b41002802ec82d48000118180808000000b200141286a200141046a10ca8880800020012802282206418080808078470d000b0b200141046a10c88980800020004190026a410110e68a8080000d020b200141c0036a24808080800020030f0b4198b9c680004138200141e0026a41f8b8c6800041f0b9c6800010a981808000000b41e0b6c680004138200141e0026a41f8b8c6800041e0b9c6800010a981808000000bdf0201017f23808080800041306b220524808080800020004190026a21000240024002402003450d0020004180bac680004107200120022003200410a6978080000c010b4100210441002d008083d480001a410741002802f482d48000118280808000002203450d012003417e6a41003b000020034100280080bac68000360000200341036a4100280083bac6800036000002400240024020024100480d00024020020d00410121040c030b41002d008083d480001a200241002802f482d480001182808080000022040d01410121040b2004200241b8b6cd800010b980808000000b2004417e6a41003b00000b20042001200210f4978080002101200520023602202005200136021c2005200236021820054107360214200520033602102005410736020c200541808080807836022420002005410c6a200541246a4100200510af978080000b200541306a2480808080000f0b4101410710ab80808000000b8d0f01087f2380808080004190046b220424808080800020012802a001210520014180808080783602a001200141c0006a21060240024002402005418080808078470d00200441003602a0022004410036029002200441003602fc01200441003602ec01200420012802c001220736028402200420012802bc01220836028002200420073602f401200420083602f001200420012802b40122053602a802200420012802b00122073602a40220042005360298022004200736029402200420012802c401410020081b360288022004200841004722083602f801200420083602e801200420012802b801410020071b3602ac0220042007410047220836029c022004200836028c02200441b0026a2002200441e8016a2004418c026a200310e98f808000200441a0036a41186a200441b0026a41186a290300370300200441a0036a41106a200441b0026a41106a290300370300200441a0036a41086a200441b0026a41086a290300370300200420042903b0023703a003200441a0036a41206a200441b0026a41206a41d00010f4978080001a2006200441a0036a41f00010f4978080001a20012802a001210520014180808080783602a0012005418080808078460d010b200441c0016a20014198016a290300370300200441b8016a20014190016a290300370300200441b0016a20014188016a290300370300200441a8016a20014180016a29030037030020044188016a41186a200141f8006a29030037030020044188016a41106a200141f0006a29030037030020044188016a41086a200141e8006a290300370300200441f8006a41086a200141a4016a220841086a280200360200200420012903603703880120042008290200370378200441c8016a41186a200641186a290000370300200441c8016a41106a200641106a290000370300200441c8016a41086a200641086a290000370300200420062900003703c801200441a0036a200141bc016a41d40010f4978080001a200141003a008c022001410036028802200142003702c401200141003602bc0120042802b403220720042802ac032208200841054b22061b0d0120042802a803410020042802a00322031b21092003410047210220042802a403210a0240024020060d002008450d01200441a0036a41106a21060340200610a6888080002006410c6a21062008417f6a22080d000c020b0b200441b0036a280200210802402007450d00200821060340200610a6888080002006410c6a21062007417f6a22070d000b0b20082008417e6a2f00006b41002802ec82d48000118180808000000b20012802b001210841002106200141003602b00120012802b801210b200141003602b8012004200936022c2004200a36022820042003360224200441003602202004200236021c2004200a36021820042003360214200441003602102004200236020c20012802b4012107200441a0036a20014190026a41d40010f4978080001a200141003a00e002200141003602dc022001420037039802200141003602900241002101024020042802a0032203450d00200420042802a403220136024c20042003360248200441003602442004200136023c20042003360238200441003602344101210620042802a80321010b2004200136025020042006360240200420063602300240024020042802ac03220641054b0d002006450d01200441a0036a41106a21010340200110b7978080002001410c6a21012006417f6a22060d000c020b0b200441a0036a41106a2802002103024020042802b4032206450d00200321010340200110b7978080002001410c6a21012006417f6a22060d000b0b20032003417e6a2f00006b41002802ec82d48000118180808000000b200441b0026a200441306a41e0bbc6800010ee8e808000200041f0006a2004410c6a41e0bbc6800010c78f8080002004200b410020081b360274200420073602702004200836026c20044100360268200420084100472201360264200420073602602004200836025c2004410036025820042001360254200041fc006a200441d4006a41e0bbc6800010c48f808000200441f8036a20044188016a41386a290300370300200441f0036a20044188016a41306a290300370300200441e8036a20044188016a41286a290300370300200441e0036a200441a8016a290300370300200441a0036a41386a20044188016a41186a290300370300200441a0036a41306a20044188016a41106a290300370300200441a0036a41286a20044188016a41086a29030037030020002004290378370264200041ec006a200441f8006a41086a28020036020020042004290388013703c003200441a0036a41186a200441c8016a41186a290300370300200441a0036a41106a200441c8016a41106a290300370300200441a0036a41086a200441c8016a41086a290300370300200420042903c8013703a0032000200441a0036a41e00010f49780800022012005360260200120042903b0023703880120014190016a200441b0026a41086a28020036020020044190046a2480808080000f0b4198bac68000413541d0bac6800010a181808000000b200441003602c002200441013602b402200441d8bec680003602b002200442043702b802200441b0026a41e0bec6800010fe80808000000b8d0f01087f2380808080004190046b220424808080800020012802a001210520014180808080783602a001200141c0006a21060240024002402005418080808078470d00200441003602a0022004410036029002200441003602fc01200441003602ec01200420012802c001220736028402200420012802bc01220836028002200420073602f401200420083602f001200420012802b40122053602a802200420012802b00122073602a40220042005360298022004200736029402200420012802c401410020081b360288022004200841004722083602f801200420083602e801200420012802b801410020071b3602ac0220042007410047220836029c022004200836028c02200441b0026a2002200441e8016a2004418c026a200310ea8f808000200441a0036a41186a200441b0026a41186a290300370300200441a0036a41106a200441b0026a41106a290300370300200441a0036a41086a200441b0026a41086a290300370300200420042903b0023703a003200441a0036a41206a200441b0026a41206a41d00010f4978080001a2006200441a0036a41f00010f4978080001a20012802a001210520014180808080783602a0012005418080808078460d010b200441c0016a20014198016a290300370300200441b8016a20014190016a290300370300200441b0016a20014188016a290300370300200441a8016a20014180016a29030037030020044188016a41186a200141f8006a29030037030020044188016a41106a200141f0006a29030037030020044188016a41086a200141e8006a290300370300200441f8006a41086a200141a4016a220841086a280200360200200420012903603703880120042008290200370378200441c8016a41186a200641186a290000370300200441c8016a41106a200641106a290000370300200441c8016a41086a200641086a290000370300200420062900003703c801200441a0036a200141bc016a41d40010f4978080001a200141003a008c022001410036028802200142003702c401200141003602bc0120042802b403220720042802ac032208200841054b22061b0d0120042802a803410020042802a00322031b21092003410047210220042802a403210a0240024020060d002008450d01200441a0036a41106a21060340200610a6888080002006410c6a21062008417f6a22080d000c020b0b200441b0036a280200210802402007450d00200821060340200610a6888080002006410c6a21062007417f6a22070d000b0b20082008417e6a2f00006b41002802ec82d48000118180808000000b20012802b001210841002106200141003602b00120012802b801210b200141003602b8012004200936022c2004200a36022820042003360224200441003602202004200236021c2004200a36021820042003360214200441003602102004200236020c20012802b4012107200441a0036a20014190026a41d40010f4978080001a200141003a00e002200141003602dc022001420037039802200141003602900241002101024020042802a0032203450d00200420042802a403220136024c20042003360248200441003602442004200136023c20042003360238200441003602344101210620042802a80321010b2004200136025020042006360240200420063602300240024020042802ac03220641054b0d002006450d01200441a0036a41106a21010340200110b7978080002001410c6a21012006417f6a22060d000c020b0b200441a0036a41106a2802002103024020042802b4032206450d00200321010340200110b7978080002001410c6a21012006417f6a22060d000b0b20032003417e6a2f00006b41002802ec82d48000118180808000000b200441b0026a200441306a41e0bbc6800010ee8e808000200041f0006a2004410c6a41e0bbc6800010c78f8080002004200b410020081b360274200420073602702004200836026c20044100360268200420084100472201360264200420073602602004200836025c2004410036025820042001360254200041fc006a200441d4006a41e0bbc6800010c48f808000200441f8036a20044188016a41386a290300370300200441f0036a20044188016a41306a290300370300200441e8036a20044188016a41286a290300370300200441e0036a200441a8016a290300370300200441a0036a41386a20044188016a41186a290300370300200441a0036a41306a20044188016a41106a290300370300200441a0036a41286a20044188016a41086a29030037030020002004290378370264200041ec006a200441f8006a41086a28020036020020042004290388013703c003200441a0036a41186a200441c8016a41186a290300370300200441a0036a41106a200441c8016a41106a290300370300200441a0036a41086a200441c8016a41086a290300370300200420042903c8013703a0032000200441a0036a41e00010f49780800022012005360260200120042903b0023703880120014190016a200441b0026a41086a28020036020020044190046a2480808080000f0b4198bac68000413541d0bac6800010a181808000000b200441003602c002200441013602b402200441d8bec680003602b002200442043702b802200441b0026a41e0bec6800010fe80808000000b9605020a7f017e23808080800041106b2204248080808000024002400240024002400240024020012802bc0122050d00410021060c010b20012802c00121070240024002400240034041002108024020052f01aa142209450d002009410c6c210a200541ac136a2106410021082005210b0340024020022006417c6a28020020032006280200220c2003200c491b10f597808000220d2003200c6b200d1b220c41004a200c4100486b41ff0171220c4101460d00200c0d02200b200b28020041054b22064103746a2802002203450d090240200b41046a220c280200200c20061b2003412c6c6a220341546a2208280200220641014b0d00200341586a220d280200210b200341706a280200210c02402006410171450d00200b200c460d010b2004200341646a36020c2004410c6a2006200b200c10a597808000200d200c36020041012106200841013602000b4158210c2006417e6a2206410220064102491b0e03050604050b200b41e0016a210b2006410c6a2106200841016a2108200a41746a220a0d000b200921080b024020070d00410021060c060b2007417f6a2107200520084102746a2802ac1421050c000b0b4164210c0b2003200c6a2203450d0020012802000d042003350208210e2001200129030842017c37030820012802100d0520012001290318200e7c37031820032802082106200328020421030c010b20012802000d052001200129030842017c37030820012802100d06410021030b2000200636020820002003360204410121060b20002006360200200441106a2480808080000f0b4198bdcd800041fc004184bfcd800010a181808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000b41ecc4cd8000109a81808000000b41fcc4cd8000109a81808000000bc00201067f23808080800041206b2202248080808000024020012802142203200128020c2204200441054b22051b0d00200041003602142000410036020420002001280204220636021c2000200128020022073602182000200636020c2000200736020820002001280208410020071b36022020002007410047220736021020002007360200200141106a21000240024020050d002004450d010340200010a6888080002000410c6a21002004417f6a22040d000c020b0b2000280200210402402003450d00200421000340200010a6888080002000410c6a21002003417f6a22030d000b0b20042004417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000f0b200241003602182002410136020c200241d8bec6800036020820024204370210200241086a41e0bec6800010fe80808000000bd30a02097f027e2380808080004190016b2203248080808000200341246a200210bc97808000200141046a2104200328022c210520032802282102024002400240024020012802442206450d00200341306a2006200410f087808000200341306a4100200328023022071b2108200128024822060d01200741004721060c020b4100210820034100360230200128024822060d0041002108410021060c010b024002400240200128024c22092802080d00200941086a220a417f36020020062802080d01200641086a220b417f360200200128025022072802080d022007417f3602082003200741086a3602542003200a36024c2003200b3602442003200741106a36025020032009410c6a3602482003200641106a3602402003200436028c0120034188bbc88000360288012003200136028401200341a8c2c6800036028001200342013702742003418cc2c68000360270200341003602682003200836026c200320084100473602642003200341c0006a36027c200341d8006a200341e4006a2002200510e4898080000240024020032802582201418180808078470d000240024002400240200328025c220628020041fcffffff076a2208410320084105491b0e0403030102000b2006280204450d02200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c020b2006280204450d01200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c010b200610ef8a8080000b20062006417e6a2f01006b41002802ec82d48000118180808000000c010b200329025c210c0b2003280240450d0420032802442206200628020041016a360200200328024c2206200628020041016a36020020032802542206200628020041016a3602000c040b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b2003200436028c0120034188bbc880003602880120032001360284012003410036027c200342003702742003418cc2c680003602702003200836026c2003410036026820032006360264200341d8006a200341e4006a2002200510e489808000024020032802582201418180808078470d000240024002400240200328025c220628020041fcffffff076a2208410320084105491b0e0403030102000b2006280204450d02200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c020b2006280204450d01200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c010b200610ef8a8080000b20062006417e6a2f01006b41002802ec82d48000118180808000000c010b200329025c210c0b02402003280230450d0020032802342206200628020041016a3602002003280238450d00200328023c2206200628020041016a3602000b410021060240024002400240024020014180808080786a0e020200010b200041023a00002003280224450d0220022002417e6a2f00006b41002802ec82d48000118180808000000c020b200c422088220d4220520d02200341186a200ca7220841186a290000370300200341106a200841106a290000370300200341086a200841086a29000037030020032008290000370300410121062001450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b02402003280224450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200020063a000020002003290300370001200041096a200341086a290300370000200041116a200341106a290300370000200041196a200341186a2903003700000b20034190016a2480808080000f0b4120200da741c0c1c68000108681808000000bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b200010ef8a8080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0bd60a02097f027e2380808080004190016b2203248080808000200341246a200210bc97808000200141046a2104200328022c210520032802282102024002400240024020012802442206450d00200341306a2006280200200410f087808000200341306a4100200328023022071b2108200128024822060d01200741004721060c020b4100210820034100360230200128024822060d0041002108410021060c010b024002400240200128024c22092802080d00200941086a220a417f36020020062802080d01200641086a220b417f360200200128025022072802080d022007417f3602082003200741086a3602542003200a36024c2003200b3602442003200741106a36025020032009410c6a3602482003200641106a3602402003200436028c012003419cbbc88000360288012003200136028401200341a8c2c6800036028001200342013702742003418cc2c68000360270200341003602682003200836026c200320084100473602642003200341c0006a36027c200341d8006a200341e4006a2002200510e4898080000240024020032802582201418180808078470d000240024002400240200328025c220628020041fcffffff076a2208410320084105491b0e0403030102000b2006280204450d02200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c020b2006280204450d01200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c010b200610ef8a8080000b20062006417e6a2f01006b41002802ec82d48000118180808000000c010b200329025c210c0b2003280240450d0420032802442206200628020041016a360200200328024c2206200628020041016a36020020032802542206200628020041016a3602000c040b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b2003200436028c012003419cbbc880003602880120032001360284012003410036027c200342003702742003418cc2c680003602702003200836026c2003410036026820032006360264200341d8006a200341e4006a2002200510e489808000024020032802582201418180808078470d000240024002400240200328025c220628020041fcffffff076a2208410320084105491b0e0403030102000b2006280204450d02200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c020b2006280204450d01200628020822082008417e6a2f00006b41002802ec82d48000118180808000000c010b200610ef8a8080000b20062006417e6a2f01006b41002802ec82d48000118180808000000c010b200329025c210c0b02402003280230450d0020032802342206200628020041016a3602002003280238450d00200328023c2206200628020041016a3602000b410021060240024002400240024020014180808080786a0e020200010b200041023a00002003280224450d0220022002417e6a2f00006b41002802ec82d48000118180808000000c020b200c422088220d4220520d02200341186a200ca7220841186a290000370300200341106a200841106a290000370300200341086a200841086a29000037030020032008290000370300410121062001450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b02402003280224450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200020063a000020002003290300370001200041096a200341086a290300370000200041116a200341106a290300370000200041196a200341186a2903003700000b20034190016a2480808080000f0b4120200da741c0c1c68000108681808000000bc51305017f017e037f017e027f23808080800041a0026b22042480808080004100410035028483d4800042c4e6c11b85200441086aad22057e200542ae94e698017e4220898522053e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002106024002400240024002400240410141002802f482d48000118280808000002207450d0041002108200741003a00002007417e6a41003b0000200441286a41fccfc28000410141002802c480d4800011868080800000200441086a41086a4100290388e7c58000370300200441013602502004200736024c20044101360248200441b883d480004100200641ff01714102461b36022020042005422088220942a2f0a4a00a7e200542ffffffff0f83220542d0e3fccc027e85200942d0e3fccc027e200542a2f0a4a00a7e854220898537031820044100290380e7c580003703080240024020012802482207450d00200128024c22082802080d03200841086a220a417f36020020072802080d04200741086a220b417f360200200128025022062802080d052006417f3602082004200641086a36026c2004200a3602642004200b36025c2004200641106a36026820042008410c6a3602602004200741106a360258200441d8006a21080c010b200441003602580b200141046a210702400240024020012802442206450d0020062802000d072006417f36020020044100360278200420063602742004200641086a360270200420013602a4012004200441086a3602a801024002402003450d00200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441a4016a200441d0016a200441f0016a200841a8c2c68000200441f0006a418cc2c68000108b908080000c010b200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441a4016a200441d0016a200441f0016a200841a8c2c68000200441f0006a418cc2c68000108c908080000b20042d00ac010d0120044198016a200441c5016a29000037030020044190016a200441bd016a29000037030020044188016a200441b5016a290000370300200420042900ad013703800120042802782107200428027c210220042802742201200128020041016a3602002007450d080c020b200420013602702004200441086a360274024002402003450d00200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441f0006a200441d0016a200441f0016a200841a8c2c680004100418cc2c68000108b908080000c010b200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441f0006a200441d0016a200441f0016a200841a8c2c680004100418cc2c68000108c908080000b024020042d00ac014101470d0020044180016a41086a200741086a29000037030020044180016a41106a200741106a29000037030020044180016a41186a200741186a2900003703002004200729000037038001024002400240024020042802b001220228020041fcffffff076a2207410320074105491b0e0403030102000b2002280204450d02200228020822072007417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822072007417e6a2f00006b41002802ec82d48000118180808000000c010b200210ef8a8080000b20022002417e6a2f01006b41002802ec82d48000118180808000000c080b20044198016a200441c5016a29000037030020044190016a200441bd016a29000037030020044188016a200441b5016a290000370300200420042900ad01370380010c070b024002400240024020042802b001220228020041fcffffff076a2201410320014105491b0e0403030102000b2002280204450d02200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200210ef8a8080000b20022002417e6a2f01006b41002802ec82d480001181808080000020044180016a41086a200741086a29000037030020044180016a41106a200741106a29000037030020044180016a41186a200741186a2900003703002007290000210520042802742202200228020041016a36020020042005370380012004280278450d06200428027c21020b2002200228020041016a3602000c050b4101410110ab80808000000b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b41ecdec58000109a81808000000b02402004280258450d00200428025c2202200228020041016a36020020042802642202200228020041016a360200200428026c2202200228020041016a3602000b200041206a200441086a41d00010f4978080001a200041186a20044180016a41186a290300370000200041106a20044180016a41106a290300370000200041086a20044180016a41086a2903003700002000200429038001370000200441a0026a2480808080000bca1305017f017e037f017e027f23808080800041a0026b22042480808080004100410035028483d4800042c4e6c11b85200441086aad22057e200542ae94e698017e4220898522053e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002106024002400240024002400240410141002802f482d48000118280808000002207450d0041002108200741003a00002007417e6a41003b0000200441286a41fccfc28000410141002802c480d4800011868080800000200441086a41086a4100290388e7c58000370300200441013602502004200736024c20044101360248200441b883d480004100200641ff01714102461b36022020042005422088220942a2f0a4a00a7e200542ffffffff0f83220542d0e3fccc027e85200942d0e3fccc027e200542a2f0a4a00a7e854220898537031820044100290380e7c580003703080240024020012802482207450d00200128024c22062802080d03200641086a220a417f36020020072802080d04200741086a220b417f360200200128025022082802080d052008417f3602082004200841086a36026c2004200a3602642004200b36025c2004200841106a36026820042006410c6a3602602004200741106a360258200441d8006a21080c010b200441003602580b200141046a210702400240024020012802442206450d00200628020022062802000d072006417f36020020044100360278200420063602742004200641086a360270200420013602a4012004200441086a3602a801024002402003450d00200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441a4016a200441d0016a200441f0016a200841a8c2c68000200441f0006a418cc2c68000108d908080000c010b200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441a4016a200441d0016a200441f0016a200841a8c2c68000200441f0006a418cc2c68000108e908080000b20042d00ac010d0120044198016a200441c5016a29000037030020044190016a200441bd016a29000037030020044188016a200441b5016a290000370300200420042900ad013703800120042802782107200428027c210220042802742201200128020041016a3602002007450d080c020b200420013602702004200441086a360274024002402003450d00200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441f0006a200441d0016a200441f0016a200841a8c2c680004100418cc2c68000108d908080000c010b200441d0016a41186a200741186a290000370300200441d0016a41106a200741106a290000370300200441d0016a41086a200741086a290000370300200420072900003703d001200441f0016a41286a200241286a280200360200200441f0016a41206a200241206a290200370300200441f0016a41186a200241186a290200370300200441f0016a41106a200241106a290200370300200441f0016a41086a200241086a290200370300200420022902003703f001200441ac016a200441f0006a200441d0016a200441f0016a200841a8c2c680004100418cc2c68000108e908080000b024020042d00ac014101470d0020044180016a41086a200741086a29000037030020044180016a41106a200741106a29000037030020044180016a41186a200741186a2900003703002004200729000037038001024002400240024020042802b001220228020041fcffffff076a2207410320074105491b0e0403030102000b2002280204450d02200228020822072007417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822072007417e6a2f00006b41002802ec82d48000118180808000000c010b200210ef8a8080000b20022002417e6a2f01006b41002802ec82d48000118180808000000c080b20044198016a200441c5016a29000037030020044190016a200441bd016a29000037030020044188016a200441b5016a290000370300200420042900ad01370380010c070b024002400240024020042802b001220228020041fcffffff076a2201410320014105491b0e0403030102000b2002280204450d02200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200210ef8a8080000b20022002417e6a2f01006b41002802ec82d480001181808080000020044180016a41086a200741086a29000037030020044180016a41106a200741106a29000037030020044180016a41186a200741186a2900003703002007290000210520042802742202200228020041016a36020020042005370380012004280278450d06200428027c21020b2002200228020041016a3602000c050b4101410110ab80808000000b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b41ecdec58000109a81808000000b02402004280258450d00200428025c2202200228020041016a36020020042802642202200228020041016a360200200428026c2202200228020041016a3602000b200041206a200441086a41d00010f4978080001a200041186a20044180016a41186a290300370000200041106a20044180016a41106a290300370000200041086a20044180016a41086a2903003700002000200429038001370000200441a0026a2480808080000bbb0c010b7f23808080800041a0016b2204248080808000200441a8c2c68000360220200441003602182004418cc2c68000360210200441003602082004200128020836022c200420012902003702242004200236021c200420024100473602142004200336020c20042003410047360204200128020c210520012802102103200441e4006a200441046a10ad898080002004280268210202400240024002400240024002400240024002400240024002400240024020042802642206418080808078470d00200228020041fcffffff076a2201410320014105491b0e0404040203010b200441306a41306a2207200441e4006a41386a280200360200200441306a41286a2208200441e4006a41306a290200370300200441306a41206a2209200441e4006a41286a290200370300200441306a41186a220a200441e4006a41206a290200370300200441306a41106a220b200441e4006a41186a290200370300200441386a220c200441e4006a41106a2902003703002004200429026c37033041002d008083d480001a41c00041002802f482d48000118280808000002201450d092001200141036a417c7120016b220d6a2201200236020420012006360200200120042903303702082001417e6a220e200d3b0000200141106a200c290300370200200141186a200b290300370200200141206a200a290300370200200141286a2009290300370200200141306a2008290300370200200141386a20072802003602002001200441046a36023c41002102200341016a22064100480d0520060d042004410036023820044280808080103702300c070b2002280204450d02200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200210ef8a8080000b20022002417e6a2f00006b41002802ec82d480001181808080000020004181808080783602000c090b4100210741002d008083d480001a200641002802f482d480001182808080000022020d01410121020b2002200641bcc2c6800010b980808000000b2002417e6a41003b00002004410036023820042002360234200420063602302003417f470d010b200441306a410020034101410110a3868080002004280230210620042802342102200428023821070b200220076a2005200310f4978080001a2004200720036a2203360238024020032006470d00200441306a41ccc2c6800010b880808000200428023421020b200220036a41003a00002004200341016a2202360238024020012004280234200210a28a8080002202450d000240024002400240200228020041fcffffff076a2203410320034105491b0e0403030102000b2002280204450d02200228020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200210ef8a8080000b20022002417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c040b200441e4006a200110cb8980800020042802642202418180808078460d012004280268210302402002418080808078470d000240024002400240200328020041fcffffff076a2202410320024105491b0e0403030102000b2003280204450d02200328020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2003280204450d01200328020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b200310ef8a8080000b20032003417e6a2f00006b41002802ec82d480001181808080000020004181808080783602000c040b200020023602002000200435026c4220862003ad843702040c020b410441c00010ab80808000000b20004180808080783602000b02402004280230450d00200428023422022002417e6a2f00006b41002802ec82d48000118180808000000b200110da898080002001200e2f00006b41002802ec82d48000118180808000000c010b02402004280230450d00200428023422022002417e6a2f00006b41002802ec82d48000118180808000000b200110da898080002001200e2f00006b41002802ec82d48000118180808000000b200441a0016a2480808080000bed0801077f2380808080004180016b220524808080800020052001200210ee8a80800002400240024020052d000022064102470d0041818080807821070c010b200541286a41186a2208200541196a290000370300200541286a41106a2209200541116a290000370300200541286a41086a220a200541096a2900003703002005200529000137032841808080807821072006410171450d00200541186a2008290300370300200541106a2009290300370300200541086a200a290300370300200520052903283703000240024020012802442207450d00200541cc006a2007200541286a10f087808000200541cc006a4100200528024c1b21080c010b410021082005410036024c0b024002400240024002400240024020012802482207450d00200128024c22092802080d04200941086a220a417f36020020072802080d05200741086a220b417f360200200128025022062802080d062006417f3602082005200641086a3602702005200a3602682005200b3602602005200641106a36026c20052009410c6a3602642005200741106a36025c200541f4006a200228020420022802082001200520032004200541dc006a41a8c2c680002008418cc2c680001098908080002005280274418180808078470d0102400240024002402005280278220128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c020b200541dc006a200228020420022802082001200520032004410041a8c2c680002008418cc2c680001098908080000240200528025c418180808078470d0002400240024002402005280260220128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c030b2000200529025c370200200041086a200541dc006a41086a2802003602000c020b20002005290274370200200041086a200541f4006a41086a2802003602000b200528025c450d0020052802602201200128020041016a36020020052802682201200128020041016a36020020052802702201200128020041016a3602000b200528024c450d0420052802502201200128020041016a3602002005280254450d0420052802582201200128020041016a3602000c040b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b200020073602000b20054180016a2480808080000bf00801077f2380808080004180016b220524808080800020052001200210f08a80800002400240024020052d000022064102470d0041818080807821070c010b200541286a41186a2208200541196a290000370300200541286a41106a2209200541116a290000370300200541286a41086a220a200541096a2900003703002005200529000137032841808080807821072006410171450d00200541186a2008290300370300200541106a2009290300370300200541086a200a290300370300200520052903283703000240024020012802442207450d00200541cc006a2007280200200541286a10f087808000200541cc006a4100200528024c1b21080c010b410021082005410036024c0b024002400240024002400240024020012802482207450d00200128024c22092802080d04200941086a220a417f36020020072802080d05200741086a220b417f360200200128025022062802080d062006417f3602082005200641086a3602702005200a3602682005200b3602602005200641106a36026c20052009410c6a3602642005200741106a36025c200541f4006a200228020420022802082001200520032004200541dc006a41a8c2c680002008418cc2c680001097908080002005280274418180808078470d0102400240024002402005280278220128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c020b200541dc006a200228020420022802082001200520032004410041a8c2c680002008418cc2c680001097908080000240200528025c418180808078470d0002400240024002402005280260220128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c030b2000200529025c370200200041086a200541dc006a41086a2802003602000c020b20002005290274370200200041086a200541f4006a41086a2802003602000b200528025c450d0020052802602201200128020041016a36020020052802682201200128020041016a36020020052802702201200128020041016a3602000b200528024c450d0420052802502201200128020041016a3602002005280254450d0420052802582201200128020041016a3602000c040b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b200020073602000b20054180016a2480808080000b800b01077f23808080800041d0016b2205248080808000200541a4016a2001200210ee8a808000410221060240024002400240024020052d00a40122074102460d00200541286a41186a2208200541bd016a290000370300200541286a41106a2209200541b5016a290000370300200541286a41086a220a200541ad016a290000370300200520052900a501370328410021062007410171450d00200541086a41186a2008290300370300200541086a41106a2009290300370300200541086a41086a200a290300370300200520052903283703080240024020012802442206450d00200541cc006a2006200541286a10f087808000200541cc006a4100200528024c1b21060c010b410021062005410036024c0b024002400240024020012802482207450d00200128024c22092802080d06200941086a220a417f36020020072802080d07200741086a220b417f360200200128025022082802080d082008417f3602082005200841086a3602702005200a3602682005200b3602602005200841106a36026c20052009410c6a3602642005200741106a36025c2005200229020437029c012005200136029801200541ecc0c880003602c801200541a8c2c680003602c001200542013702b4012005418cc2c680003602b001200541003602a801200520063602ac01200520064100473602a4012005200541086a3602cc01200520054198016a3602c4012005200541dc006a3602bc01200541f4006a200541a4016a2003200410e38980800020052d00744101470d0102400240024002402005280278220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c020b2005410036025c2005200229020437029c012005200136029801200541ecc0c880003602c801200541003602bc01200542003702b4012005418cc2c680003602b001200541003602a801200520063602ac01200520064100473602a4012005200541086a3602cc01200520054198016a3602c401200541f4006a200541a4016a2003200410e389808000024020052d00744101470d0002400240024002402005280278220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c030b20002005290075370000200041206a20054195016a2d00003a0000200041186a2005418d016a290000370000200041106a20054185016a290000370000200041086a200541fd006a2900003700000c020b20002005290075370000200041206a20054195016a2d00003a0000200041186a2005418d016a290000370000200041106a20054185016a290000370000200041086a200541fd006a2900003700000b200528025c450d0020052802602201200128020041016a36020020052802682201200128020041016a36020020052802702201200128020041016a3602000b200528024c450d0120052802502201200128020041016a3602002005280254450d0120052802582201200128020041016a3602000c010b200020063a00000b200541d0016a2480808080000f0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b830b01077f23808080800041d0016b2205248080808000200541a4016a2001200210f08a808000410221060240024002400240024020052d00a40122074102460d00200541286a41186a2208200541bd016a290000370300200541286a41106a2209200541b5016a290000370300200541286a41086a220a200541ad016a290000370300200520052900a501370328410021062007410171450d00200541086a41186a2008290300370300200541086a41106a2009290300370300200541086a41086a200a290300370300200520052903283703080240024020012802442206450d00200541cc006a2006280200200541286a10f087808000200541cc006a4100200528024c1b21060c010b410021062005410036024c0b024002400240024020012802482207450d00200128024c22092802080d06200941086a220a417f36020020072802080d07200741086a220b417f360200200128025022082802080d082008417f3602082005200841086a3602702005200a3602682005200b3602602005200841106a36026c20052009410c6a3602642005200741106a36025c2005200229020437029c012005200136029801200541d8c0c880003602c801200541a8c2c680003602c001200542013702b4012005418cc2c680003602b001200541003602a801200520063602ac01200520064100473602a4012005200541086a3602cc01200520054198016a3602c4012005200541dc006a3602bc01200541f4006a200541a4016a2003200410e38980800020052d00744101470d0102400240024002402005280278220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c020b2005410036025c2005200229020437029c012005200136029801200541d8c0c880003602c801200541003602bc01200542003702b4012005418cc2c680003602b001200541003602a801200520063602ac01200520064100473602a4012005200541086a3602cc01200520054198016a3602c401200541f4006a200541a4016a2003200410e389808000024020052d00744101470d0002400240024002402005280278220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c030b20002005290075370000200041206a20054195016a2d00003a0000200041186a2005418d016a290000370000200041106a20054185016a290000370000200041086a200541fd006a2900003700000c020b20002005290075370000200041206a20054195016a2d00003a0000200041186a2005418d016a290000370000200041106a20054185016a290000370000200041086a200541fd006a2900003700000b200528025c450d0020052802602201200128020041016a36020020052802682201200128020041016a36020020052802702201200128020041016a3602000b200528024c450d0120052802502201200128020041016a3602002005280254450d0120052802582201200128020041016a3602000c010b200020063a00000b200541d0016a2480808080000f0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b8e1505017f017e037f017e027f23808080800041d0026b2205248080808000200541014101412110b88c8080004100410035028483d4800042c4e6c11b85200541206aad22067e200642ae94e698017e4220898522063e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002107024002400240024002400240410141002802f482d48000118280808000002208450d0041002109200841003a00002008417e6a41003b0000200541c0006a41fccfc28000410141002802c480d4800011868080800000200541206a41086a4100290388e7c58000370300200541013602682005200836026420054101360260200541b883d480004100200741ff01714102461b36023820052006422088220a42a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200a42d0e3fccc027e200642a2f0a4a00a7e854220898537033020054100290380e7c58000370320200541a8026a2001200210f08a808000200541f0006a41086a2005200541a8026a41016a200520052d00a80222084101711b20084102461b220841086a290000370300200541f0006a41106a200841106a290000370300200541f0006a41186a200841186a290000370300200520082900003703700240024020012802482208450d00200128024c22072802080d03200741086a220b417f36020020082802080d04200841086a220c417f360200200128025022092802080d052009417f3602082005200941086a3602a4012005200b36029c012005200c360294012005200941106a3602a00120052007410c6a360298012005200841106a3602900120054190016a21090c010b20054100360290010b02400240024020012802442208450d00200828020022082802000d072008417f360200200541003602b001200520083602ac012005200841086a3602a801200520013602dc012005200541206a3602e0012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001093908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001094908080000b20052d00e4010d01200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b80120052802b001210320052802b401210120052802ac012208200828020041016a3602002003450d080c020b200520013602a8012005200541206a3602ac012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001093908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001094908080000b024020052d00e4014101470d00200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a290300370300200520052903703703b801024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d48000118180808000000c080b200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b8010c070b024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a29030037030020052802ac012201200128020041016a360200200520052903703703b80120052802b001450d0620052802b40121010b2001200128020041016a3602000c050b4101410110ab80808000000b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b41ecdec58000109a81808000000b0240200528029001450d002005280294012201200128020041016a360200200528029c012201200128020041016a36020020052802a4012201200128020041016a3602000b200541b8016a2005412010f5978080002101200041196a200541d0016a290300370000200041116a200541c8016a290300370000200041096a200541c0016a290300370000200020052903b801370001200041286a200541206a41d00010f4978080001a20002001453a0000200541d0026a2480808080000b891505017f017e037f017e027f23808080800041d0026b2205248080808000200541014101412110b88c8080004100410035028483d4800042c4e6c11b85200541206aad22067e200642ae94e698017e4220898522063e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002107024002400240024002400240410141002802f482d48000118280808000002208450d0041002109200841003a00002008417e6a41003b0000200541c0006a41fccfc28000410141002802c480d4800011868080800000200541206a41086a4100290388e7c58000370300200541013602682005200836026420054101360260200541b883d480004100200741ff01714102461b36023820052006422088220a42a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200a42d0e3fccc027e200642a2f0a4a00a7e854220898537033020054100290380e7c58000370320200541a8026a2001200210ee8a808000200541f0006a41086a2005200541a8026a41016a200520052d00a80222084101711b20084102461b220841086a290000370300200541f0006a41106a200841106a290000370300200541f0006a41186a200841186a290000370300200520082900003703700240024020012802482208450d00200128024c22072802080d03200741086a220b417f36020020082802080d04200841086a220c417f360200200128025022092802080d052009417f3602082005200941086a3602a4012005200b36029c012005200c360294012005200941106a3602a00120052007410c6a360298012005200841106a3602900120054190016a21090c010b20054100360290010b02400240024020012802442208450d0020082802000d072008417f360200200541003602b001200520083602ac012005200841086a3602a801200520013602dc012005200541206a3602e0012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001096908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541dc016a20054188026a200541a8026a200941a8c2c68000200541a8016a418cc2c680001092908080000b20052d00e4010d01200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b80120052802b001210320052802b401210120052802ac012208200828020041016a3602002003450d080c020b200520013602a8012005200541206a3602ac012002280208210120022802042108024002402004450d0020054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001096908080000c010b20054188026a41186a200541f0006a41186a29030037030020054188026a41106a200541f0006a41106a29030037030020054188026a41086a200541f0006a41086a2903003703002005200529037037038802200541a8026a41206a200341206a280200360200200541a8026a41186a200341186a290200370300200541a8026a41106a200341106a290200370300200541a8026a41086a200341086a290200370300200520032902003703a802200541e4016a20082001200541a8016a20054188026a200541a8026a200941a8c2c680004100418cc2c680001092908080000b024020052d00e4014101470d00200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a290300370300200520052903703703b801024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d48000118180808000000c080b200541d0016a200541fd016a290000370300200541c8016a200541f5016a290000370300200541c0016a200541ed016a290000370300200520052900e5013703b8010c070b024002400240024020052802e801220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d4800011818080800000200541b8016a41086a200541f0006a41086a290300370300200541b8016a41106a200541f0006a41106a290300370300200541b8016a41186a200541f0006a41186a29030037030020052802ac012201200128020041016a360200200520052903703703b80120052802b001450d0620052802b40121010b2001200128020041016a3602000c050b4101410110ab80808000000b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b41ecdec58000109a81808000000b0240200528029001450d002005280294012201200128020041016a360200200528029c012201200128020041016a36020020052802a4012201200128020041016a3602000b200541b8016a2005412010f5978080002101200041196a200541d0016a290300370000200041116a200541c8016a290300370000200041096a200541c0016a290300370000200020052903b801370001200041286a200541206a41d00010f4978080001a20002001453a0000200541d0026a2480808080000bd40501067f23808080800041a0016b2205248080808000200541046a2001200210ee8a80800002400240024020052d000422064102470d0041818080807821070c010b200541286a41186a22082005411d6a290000370300200541286a41106a2209200541156a290000370300200541286a41086a220a2005410d6a2900003703002005200529000537032841808080807821072006410171450d00200541c8006a41186a2008290300370300200541c8006a41106a2009290300370300200541c8006a41086a200a2903003703002005200529032837034820052002290204370274200541d0c1c680003602702005200136026c2005200436028c012005200336028801200541e4c1c68000360280012005200541c8006a360284012005200541ec006a36027c0240024020012802442202450d0020054190016a2002200541286a10f08780800020054190016a41002005280290011b21070c010b4100210720054100360290010b0240024002400240024020012802482202450d00200128024c22062802080d03200641086a2204417f36020020022802080d04200241086a2203417f36020020012802502201280208450d0141ccd7c58000109a81808000000b2000200541fc006a4100200710f38a8080000c010b2001417f3602082005200141086a36021820052004360210200520033602082005200141106a36021420052006410c6a36020c2005200241106a3602042000200541fc006a200541046a200710f38a8080002005280204450d0020052802082201200128020041016a36020020052802102201200128020041016a36020020052802182201200128020041016a3602000b200528029001450d032005280294012201200128020041016a360200200528029801450d03200528029c012201200128020041016a3602000c030b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b200020073602000b200541a0016a2480808080000bd70501067f23808080800041a0016b2205248080808000200541046a2001200210f08a80800002400240024020052d000422064102470d0041818080807821070c010b200541286a41186a22082005411d6a290000370300200541286a41106a2209200541156a290000370300200541286a41086a220a2005410d6a2900003703002005200529000537032841808080807821072006410171450d00200541c8006a41186a2008290300370300200541c8006a41106a2009290300370300200541c8006a41086a200a2903003703002005200529032837034820052002290204370274200541f8c1c680003602702005200136026c2005200436028c012005200336028801200541e4c1c68000360280012005200541c8006a360284012005200541ec006a36027c0240024020012802442202450d0020054190016a2002280200200541286a10f08780800020054190016a41002005280290011b21070c010b4100210720054100360290010b0240024002400240024020012802482202450d00200128024c22062802080d03200641086a2204417f36020020022802080d04200241086a2203417f36020020012802502201280208450d0141ccd7c58000109a81808000000b2000200541fc006a4100200710f38a8080000c010b2001417f3602082005200141086a36021820052004360210200520033602082005200141106a36021420052006410c6a36020c2005200241106a3602042000200541fc006a200541046a200710f38a8080002005280204450d0020052802082201200128020041016a36020020052802102201200128020041016a36020020052802182201200128020041016a3602000b200528029001450d032005280294012201200128020041016a360200200528029801450d03200528029c012201200128020041016a3602000c030b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b200020073602000b200541a0016a2480808080000bf211020b7f017e23808080800041c0026b220324808080800002400240024002400240024002400240024020022802002204418080808078460d00200341c0006a2001200210ee8a80800020032d004022054102470d0120004180808080783602000c030b200141046a21060c010b200341386a200341d9006a290000370300200341306a200341d1006a290000370300200341286a200341c9006a29000037030020032003290041370320200341206a210620054101710d002000418080808078360248200041808080807836023c200042003702342000410036020820004280808080c00037020020004180023b01742000200329024037024c200041d4006a4200370200200041dc006a4200370200200041e4006a4200370200200041ec006a42003702000c010b200341186a2205200641186a290000370300200341106a2207200641106a290000370300200341086a2208200641086a29000037030020032006290000370300200341c0006a41186a4200370300200341c0006a41106a4200370300200341c0006a41086a42003703002003420037034002400240200141046a200341c0006a412010f597808000450d0020034180016a41186a200529030037030020034180016a41106a200729030037030020034180016a41086a200829030037030020032003290300370380014100210602402004418080808078460d00200341d0c1c680003602e001200320022902043702e401200121060b200320063602dc0102400240200128024422050d0041002105200341003602ec01410021070c010b200341ec016a2005200310f08780800020032802ec0122074100472105200341ec016a410020071b21070b41e4c1c6800041d0c1c6800020061b2108200341dc016a200120061b2109024002400240024020012802482206450d00200128024c220a2802080d07200a41086a220b417f36020020062802080d08200641086a220c417f360200200128025022012802080d092001417f3602082003200141086a360290022003200b360288022003200c360280022003200141106a36028c022003200a410c6a360284022003200641106a3602fc01200320083602b802200320093602b402200341a8c2c680003602b002200342013702a4022003418cc2c680003602a0022003200736029c022003200536029402200341003602980220022802104100200228020c22011b21052001410120011b2101200320034180016a3602bc022003200341fc016a3602ac0220022802142206450d01200341c0006a20034194026a200120052006200228021810b1898080000c020b200341003602fc01200320083602b802200320093602b402200341a8c2c680003602b002200341003602ac02200342003702a4022003418cc2c680003602a0022003200736029c022003410036029802200320053602940220022802104100200228020c22011b21052001410120011b2101200320034180016a3602bc02024020022802142206450d00200341c0006a20034194026a200120052006200228021810b1898080000c030b200341c0006a20034194026a2001200510ae898080000c020b200341c0006a20034194026a2001200510ae898080000b20032802fc01450d002003280280022201200128020041016a3602002003280288022201200128020041016a3602002003280290022201200128020041016a3602000b024020032802ec01450d0020032802f0012201200128020041016a36020020032802f401450d0020032802f8012201200128020041016a3602000b418080808078210102402003280240418080808078470d0002400240024002402003280244220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004180808080783602000c020b200341a0016a41386a2204200341c0006a41386a280200360200200341a0016a41306a2205200341c0006a41306a290200370300200341a0016a41286a2207200341c0006a41286a290200370300200341a0016a41206a2208200341c0006a41206a290200370300200341a0016a41186a2209200341c0006a41186a290200370300200341a0016a41106a220a200341c0006a41106a290200370300200341a0016a41086a220b200341c0006a41086a290200370300200320032902403703a00120022d001d210c024020060d000c070b20022d001c410171450d064100210d024002400240200228021822014100480d00024020010d004101210d0c030b41002d008083d480001a200141002802f482d4800011828080800000220d0d014101210d0b200d200141d8cec6800010b980808000000b200d417e6a41003b00000b2001ad422086200d2006200110f497808000ad84210e0c060b2000418080808078360248200041808080807836023c200042003702342000410036020820004280808080c00037020020004180023b01742000200329024037024c200041d4006a4200370200200041dc006a4200370200200041e4006a4200370200200041ec006a42003702000b2004418080808078460d050b2004450d04200228020422002000417e6a2f00006b41002802ec82d48000118180808000000c040b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b20002003290300370054200020032903a00137020020002002290200370248200041d0006a200241086a280200360200200041dc006a200341086a290300370000200041e4006a200341106a290300370000200041ec006a200341186a290300370000200041086a200b290300370200200041106a200a290300370200200041186a2009290300370200200041206a2008290300370200200041286a2007290300370200200041306a2005290300370200200041386a2004280200360200200041003a00752000200c3a00742000200e3702402000200136023c0b200341c0026a2480808080000bf511020b7f017e23808080800041c0026b220324808080800002400240024002400240024002400240024020022802002204418080808078460d00200341c0006a2001200210f08a80800020032d004022054102470d0120004180808080783602000c030b200141046a21060c010b200341386a200341d9006a290000370300200341306a200341d1006a290000370300200341286a200341c9006a29000037030020032003290041370320200341206a210620054101710d002000418080808078360248200041808080807836023c200042003702342000410036020820004280808080c00037020020004180023b01742000200329024037024c200041d4006a4200370200200041dc006a4200370200200041e4006a4200370200200041ec006a42003702000c010b200341186a2205200641186a290000370300200341106a2207200641106a290000370300200341086a2208200641086a29000037030020032006290000370300200341c0006a41186a4200370300200341c0006a41106a4200370300200341c0006a41086a42003703002003420037034002400240200141046a200341c0006a412010f597808000450d0020034180016a41186a200529030037030020034180016a41106a200729030037030020034180016a41086a200829030037030020032003290300370380014100210602402004418080808078460d00200341f8c1c680003602e001200320022902043702e401200121060b200320063602dc0102400240200128024422050d0041002105200341003602ec01410021070c010b200341ec016a2005280200200310f08780800020032802ec0122074100472105200341ec016a410020071b21070b41e4c1c6800041f8c1c6800020061b2108200341dc016a200120061b2109024002400240024020012802482206450d00200128024c220a2802080d07200a41086a220b417f36020020062802080d08200641086a220c417f360200200128025022012802080d092001417f3602082003200141086a360290022003200b360288022003200c360280022003200141106a36028c022003200a410c6a360284022003200641106a3602fc01200320083602b802200320093602b402200341a8c2c680003602b002200342013702a4022003418cc2c680003602a0022003200736029c022003200536029402200341003602980220022802104100200228020c22011b21052001410120011b2101200320034180016a3602bc022003200341fc016a3602ac0220022802142206450d01200341c0006a20034194026a200120052006200228021810b1898080000c020b200341003602fc01200320083602b802200320093602b402200341a8c2c680003602b002200341003602ac02200342003702a4022003418cc2c680003602a0022003200736029c022003410036029802200320053602940220022802104100200228020c22011b21052001410120011b2101200320034180016a3602bc02024020022802142206450d00200341c0006a20034194026a200120052006200228021810b1898080000c030b200341c0006a20034194026a2001200510ae898080000c020b200341c0006a20034194026a2001200510ae898080000b20032802fc01450d002003280280022201200128020041016a3602002003280288022201200128020041016a3602002003280290022201200128020041016a3602000b024020032802ec01450d0020032802f0012201200128020041016a36020020032802f401450d0020032802f8012201200128020041016a3602000b418080808078210102402003280240418080808078470d0002400240024002402003280244220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2001280204450d01200128020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200110ef8a8080000b20012001417e6a2f01006b41002802ec82d480001181808080000020004180808080783602000c020b200341a0016a41386a2204200341c0006a41386a280200360200200341a0016a41306a2205200341c0006a41306a290200370300200341a0016a41286a2207200341c0006a41286a290200370300200341a0016a41206a2208200341c0006a41206a290200370300200341a0016a41186a2209200341c0006a41186a290200370300200341a0016a41106a220a200341c0006a41106a290200370300200341a0016a41086a220b200341c0006a41086a290200370300200320032902403703a00120022d001d210c024020060d000c070b20022d001c410171450d064100210d024002400240200228021822014100480d00024020010d004101210d0c030b41002d008083d480001a200141002802f482d4800011828080800000220d0d014101210d0b200d200141d8cec6800010b980808000000b200d417e6a41003b00000b2001ad422086200d2006200110f497808000ad84210e0c060b2000418080808078360248200041808080807836023c200042003702342000410036020820004280808080c00037020020004180023b01742000200329024037024c200041d4006a4200370200200041dc006a4200370200200041e4006a4200370200200041ec006a42003702000b2004418080808078460d050b2004450d04200228020422002000417e6a2f00006b41002802ec82d48000118180808000000c040b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b20002003290300370054200020032903a00137020020002002290200370248200041d0006a200241086a280200360200200041dc006a200341086a290300370000200041e4006a200341106a290300370000200041ec006a200341186a290300370000200041086a200b290300370200200041106a200a290300370200200041186a2009290300370200200041206a2008290300370200200041286a2007290300370200200041306a2005290300370200200041386a2004280200360200200041003a00752000200c3a00742000200e3702402000200136023c0b200341c0026a2480808080000be70201047f23808080800041206b220324808080800041002104024002402002410c6c220541046a22064100480d0041002d008083d480001a200641002802f482d480001182808080000022040d01410121040b2004200641e8c4c6800010b980808000000b2004417e6a41003b000020034100360214200320043602102003200636020c200320023602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402002450d00200141086a210203402002417c6a28020021012003200228020022063602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402006200328020c200328021422046b4d0d002003410c6a2004200610f491808000200328021421040b200328021020046a2001200610f4978080001a2003200420066a3602142002410c6a2102200541746a22050d000b0b2000200329020c370200200041086a2003410c6a41086a280200360200200341206a2480808080000bc40701047f23808080800041306b2202248080808000024002400240024002400240024020012001200141b9f3ddf1796c200141a6b2858a036c220373ad429a077e422088a741017441c0eacd80006a2f01006a41b9f3ddf1796c200373ad429a077e422088a741027441f4f8cd80006a2802002203410876470d00200341ff01710d010b20002802302103024002402000280208418080c400470d0020002802142104200028021021050c010b20002f0100220441054f0d05200041046a21050b20042003490d0520022002412f6a3602080240200420036b22044102490d00200520034103746a2103024020044115490d0020032004200241086a10ca808080000c010b200320044101200241086a1080908080000b024002402000280208418080c400470d00024020002802142203200028020c470d002000410c6a41c8cdc6800010cc808080000b200028021020034103746a22042001360204200441003a00002000200341016a3602140c010b024020002f0100220341034b0d002000200341016a3b0100200020034103746a22032001360208200341003a00040c010b200241086a20004100200110d18b80800002402000280208418080c400470d00200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b20002002290208370200200041206a200241086a41206a280200360200200041186a200241086a41186a290200370200200041106a200241086a41106a290200370200200041086a200241086a41086a2902003702000b2000280208418080c400470d01200028021421010c020b02402000280208418080c400470d00024020002802142204200028020c470d002000410c6a41c8cdc6800010cc808080000b200028021020044103746a22052001360204200520033a00002000200441016a3602140c030b024020002f0100220441034b0d002000200441016a3b0100200020044103746a22002001360208200020033a00040c030b200241086a20002003200110d18b80800002402000280208418080c400470d00200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b20002002290208370200200041206a200241086a41206a280200360200200041186a200241086a41186a290200370200200041106a200241086a41106a290200370200200041086a200241086a41086a2902003702000c020b20002f010021010b200020013602300b200241306a2480808080000f0b2004410441d8cdc68000109181808000000b200320044194c7c68000109281808000000b040041000b1e00200128020041dcc2c680004111200128020428020c118080808000000b1e00200128020041f8c4c680004111200128020428020c118080808000000b1e00200128020041c488cc80004108200128020428020c118080808000000b1e00200128020041fa8bcc80004103200128020428020c118080808000000b1e0020012802004180c3c68000410a200128020428020c118080808000000b1200200041bcc7c68000200110b1818080000b3301017f20002802042201200128020041016a36020002402000280208450d00200028020c2200200028020041016a3602000b0b3a01017f20002802042201200128020041016a360200200028020c2201200128020041016a36020020002802142200200028020041016a3602000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b5601017f0240200028020022002802000d002000280208450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002000417e6a2f00006b41002802ec82d48000118180808000000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b7e01027f024020002802482201450d0020012001280200417f6a2202360200024020020d00200041c8006a10ff878080000b200028024c22012001280200417f6a2201360200024020010d00200041cc006a1081888080000b200028025022012001280200417f6a220136020020010d00200041d0006a1082888080000b0b6701017f02402000280220450d00200028022422012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802142201418280808078480d002001450d00200028021822002000417e6a2f00006b41002802ec82d48000118180808000000b0b1e00200128020041acc8c680004105200128020428020c118080808000000bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110a386808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110a386808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000bd24302097f067e23808080800041f0006b220324808080800041808080807821040240024020020d00410021020c010b200120026a210541002106200121070340024002400240024020072c00002208417f4c0d00200741016a21070c010b20072d0001413f7121092008411f71210a02400240200841604f0d00200a4106742009722108200741026a21070c010b200941067420072d0002413f717221090240200841704f0d002009200a410c74722108200741036a21070c010b200941067420072d0003413f7172200a411274418080f00071722208418080c400460d05200741046a21070b200841ff004b0d010b410021060c010b02400240200641ff01712008200841b9f3ddf1796c200841a6b2858a036c220673ad429a077e422088a741017441c0eacd80006a2f01006a41b9f3ddf1796c200673ad429a077e422088a741027441f4f8cd80006a2802002206410020082006410876461b220941ff017122064d0d0020060d010b02400240024002400240024002400240200841ffdf004a0d00024020084185364a0d000240200841de134a0d000240200841f8074a0d00200841e07e6a2206411a4d0d040c090b0240200841860b4a0d00024020084187786a0e210c0b0b0b0b0b0b0b0b0b0c0b0b0b0c0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c000b0240200841ad776a0e050c0b0b0b0c000b200841b908470d0a0c0b0b200841c0726a220641134d0d040c070b0240200841c21e4a0d000240200841c7184a0d000240200841dd144a0d000240200841cd6b6a0e040d0c0c0d000b200841df13470d0b0c0c0b200841de14460d0b200841c816460d0b2008419417470d0a0c0b0b0240200841b21c4a0d00200841c818460d0b200841c019460d0b200841da1b470d0a0c0b0b200841b31c460d0a200841b31d460d0a2008418c1e470d090c0a0b0240200841bd616a0e770a0909090909090909090a090909090a090909090a090909090a0909090909090909090909090a0909090909090909090a090909090909090909090909090a09090909090909090909090909090909090a0909090909090909090a090909090a090909090a090909090a0909090909090909090909090a000b200841a620460d09200841fc21470d080c090b024020084181c2004a0d000240200841bc3f4a0d000240200841fa496a0e3e0b0a0b0a0b0a0b0a0b0a0a0a0b0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0b0a0b0a0a0a0a0a0b000b200841a7416a220641044b0d064101200674411571450d060c0a0b0240200841efbf7f6a0e7e0a09090909090a09090909090909090909090909090909090909090909090a0909090909090909090909090a090a0909090909090909090909090909090909090909090909090a090909090909090a090909090909090909090909090909090a0a09090909090909090909090a0a0a090909090909090909090909090a0a000b200841c3406a4102490d09200841a8c100470d080c090b024020084183c4004a0d00024020084188c3004a0d00200841febd7f6a0e3f0a0a0909090a090a09090909090909090909090a0a090909090909090909090909090a090a090a090909090909090909090909090909090a090a090909090a090b20084189c300460d09200841aec300460d09200841cdc300470d080c090b0240200841a8c6004a0d00200841fcbb7f6a0e5f0908080808090808090808080808080808080808080808080808080808080808090809080808080808080808080808080808080808080808080808080809080809080809080908080808080808080808080808080808080808080808090809080b0240200841dbd5004a0d00200841d7b97f6a4102490d09200841eac900460d092008418cd400470d080c090b02402008419edd004a0d00200841dcd500460d09200841efda00470d080c090b2008419fdd00460d08200841f3dd00470d070c080b0240200841fbfb034a0d000240200841e8d6024a0d00024020084180a07f6a0e80020a09090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090a0909090909090909090909090909090909090909090a090a090a090a090a090a090a090a090a090a090a090a09090a090a090a0909090909090909090909090909090909090909090909090909090909090909090909090909090909090a0909090909090909090a0a0909090909090909090909090a090a090a090a090a090a090a090a090a090a090a090a09090a090a090a0909090909090909090909090909090909090909090909090909090909090909090909090909090909090a0909090909090909090a0a000b200841d0e400460d09200841f0ce02470d080c090b02402008419cf6034a0d00200841f08b7c6a220641124b0d0441012006744185801471450d040c090b0240200841e3897c6a0e0d09080808080808080808080809000b200841bef603470d070c080b0240200841bda9044a0d00024020084184847c6a0eed0309080808080808080808080808080808080808080808080808080809090908080808080808080808080808080808080808080808090808080809090909090909090909090909090909080809090808080808080808080808080808080909090909090908080809090808080809090808080808080808080809080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080809080808090909090909080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808090909090909080808080808080808080808080808080808080808080808080809090909090909090908080808080808080808080809080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080809090908080809000b200841e6de7b6a220641114b0d0741012006744185800871450d070c080b0240200841c2af074a0d000240200841faad074a0d000240200841baa9074a0d00200841bea904460d0a200841b8b204460d0a200841a2a907470d090c0a0b0240200841c0ad074a0d00200841bba907460d0a200841c6aa07470d090c0a0b200841c1ad07460d09200841dbad07470d080c090b0240200841ceae074a0d00200841fbad07460d0920084195ae07460d09200841b5ae07470d080c090b024020084188af074a0d00200841cfae07460d09200841efae07470d080c090b20084189af07460d08200841a9af07470d070c080b0240200841dca3786a0e5b08070708070707070707070707070707070707070708070807070707070708070707070807080708070707070707070708070708070807080708070807070707080707070707070707070707070707070707070707070707070708000b200841c3af07460d0720084190e307460d070c060b410120067441818ac23971450d040c060b41012006744185802071450d020c050b200841e9d602470d030c040b200841f83a470d020c030b0240200841d76d6a2206410b4b0d004101200674418112710d030b200841870b470d010c020b2008418c796a220641184b0d00410120067441c188b008710d010b200841feffff0071220641d0e407460d00200841fcffff0071220a41f4dc07460d00200a41b4dc07460d00200a4180dc07460d002006419ea907460d00200641baab04460d00200641aea204460d00200641e0ff03460d002006419eff03460d00200641e4fe03460d002006419afe03460d002006418efe03460d00200641eafc03460d00200a41d4fc03460d00200641c0f603460d00200a41dcd602460d00200641f8cf02460d002006419ccd02460d00200641dce100460d00200641d6e100460d00200641d0e100460d00200641fce000460d00200641f6e000460d00200641f0e000460d00200641fcd800460d00200a41e0c500460d00200a41acc500460d0020064188c500460d00200841faffff00714180c500460d00200641f8c400460d00200641f4c400460d00200641acc400460d00200641cec300460d002006419ac300460d00200841e0ffff007141e0c200460d00200841f0ffff007141d0c200460d00200a41bcc200460d0020064180c200460d00200641b6c000460d00200a41d03f460d00200841f8ffff0071220b41d03e460d00200641c036460d00200641dc1d460d00200641ca19460d00200641dc16460d00200641dc13460d00200b41d812460d00200641f809460d00200641d609460d00200a41d009460d00200641f608460d00200641d008460d002006418008460d00200641f407460d002006418407460d00200641c006460d002006419e04460d00200641a003460d00200641b201460d00200841c47e6a4103490d00200841c07e6a4106490d00200841b97e6a4109490d00200841af7e6a4106490d00200841a77e6a4105490d00200841a07e6a4106490d00200841997e6a4109490d002008418f7e6a4106490d00200841877e6a4105490d00200841817e6a4111490d00200841ee7d6a4114490d00200841d87d6a4109490d00200841ce7d6a4106490d00200841c77d6a4108490d00200841bd7d6a4107490d00200841b47d6a4106490d00200841ac7d6a4112490d00200841987d6a4118490d00200841d17c6a4102490d00200841bc7c6a4119490d00200841a27c6a4106490d002008419a7c6a4110490d00200841887c6a4124490d00200841da7b6a410e490d00200841d07a6a4109490d00200841a87a6a4106490d00200841a07a6a4105490d00200841bd796a4102490d00200841f8786a4103490d00200841f2786a4103490d00200841d6786a4107490d00200841b6786a4105490d00200841b0786a4107490d0020084190786a4103490d00200841f4776a4103490d00200841a4776a4103490d00200841bf766a4102490d00200841a6766a4106490d002008419e766a4106490d0020084196766a410c490d00200841de736a4105490d002008418b736a4104490d00200841b56c6a4102490d00200841a76b6a4103490d00200841b5696a4102490d00200841b6686a4103490d00200841b9666a4102490d00200841b6656a4103490d00200841a4646a4103490d002008418b616a4105490d00200841d4456a4103490d00200841d0456a410b490d00200841c4456a4112490d00200841b1456a411c490d00200841e5446a4125490d0020084180446a419c01490d00200841e0426a41da00490d0020084180426a4116490d00200841e8416a4106490d00200841e0416a4126490d00200841b8416a4106490d00200841a1416a411f490d0020084180416a4135490d00200841ca406a4107490d00200841c1406a4103490d00200841be406a4103490d00200841ba406a4107490d00200841b3406a4103490d00200841aa406a4106490d00200841a3406a4103490d00200841a0406a410d490d0020084193406a4103490d002008418e406a4103490d002008418a406a4107490d0020084183406a4102490d0020084180406a410b490d00200841dcbf7f6a4103490d00200841cdbf7f6a4102490d00200841b9bf7f6a4103490d002008418cbf7f6a4106490d0020084186bf7f6a4103490d0020084180bf7f6a410a490d00200841f6be7f6a4103490d00200841f0be7f6a410d490d00200841fbbd7f6a4102490d00200841f6bd7f6a410a490d00200841e7bd7f6a4105490d00200841e0bd7f6a4103490d00200841d6bd7f6a4104490d00200841d1bd7f6a4103490d00200841cdbd7f6a4102490d00200841cbbd7f6a4104490d00200841bbbd7f6a4105490d00200841d1bb7f6a4102490d0020084193bb7f6a4105490d0020084196ba7f6a4104490d00200841a0b77f6a413c490d00200841e4b67f6a41ce00490d002008418cab7f6a4103490d0020084180a27f6a41d601490d00200841c89f7f6a4103490d002008418d9f7f6a4102490d00200841879f7f6a4102490d00200841e59e7f6a4102490d00200841ad9e7f6a4102490d00200841a79e7f6a4102490d00200841899e7f6a4104490d00200841cf9d7f6a41de00490d00200841ee9c7f6a4104490d00200841ea9c7f6a410a490d00200841809c7f6a411f490d00200841e09b7f6a410a490d00200841d69b7f6a411e490d00200841af9b7f6a410f490d00200841a09b7f6a411f490d00200841809b7f6a410a490d00200841f69a7f6a4127490d00200841cf9a7f6a410f490d00200841c09a7f6a41c002490d002008418eb07d6a4103490d0020084180a87d6a41a4d700490d00200841808e7c6a418e02490d00200841eb8b7c6a410a490d00200841db8b7c6a4102490d00200841d68b7c6a41c400490d00200841908b7c6a41ea00490d00200841808a7c6a4107490d00200841ed897c6a4105490d00200841e1897c6a410a490d00200841d6897c6a410d490d00200841c8897c6a4105490d00200841bd897c6a4102490d00200841ba897c6a41ec00490d00200841ad887c6a41eb02490d00200841b0857c6a41c000490d00200841ee847c6a4136490d0020084190847c6a410c490d00200841f0837c6a4107490d00200841cf837c6a4102490d00200841cd837c6a4102490d00200841b7837c6a4104490d00200841b3837c6a4103490d00200841b0837c6a4103490d00200841a1837c6a4103490d002008419c837c6a4103490d0020084190837c6a4103490d002008418a837c6a418701490d00200841ff817c6a4103490d00200841fb817c6a4103490d00200841f0817c6a410a490d00200841e4817c6a4103490d00200841e1817c6a4102490d00200841df817c6a411a490d00200841bf817c6a411a490d002008419a817c6a410a490d002008418f817c6a412d490d00200841e0807c6a411f490d00200841be807c6a4106490d00200841b6807c6a4106490d00200841ae807c6a4106490d00200841a6807c6a4103490d002008419b807c6a4102490d0020084197807c6a4104490d0020084193807c6a4102490d00200841fff07b6a4105490d00200841f9f07b6a412a490d00200841cef07b6a4109490d00200841b5d97b6a4102490d00200841c5d67b6a4102490d00200841a2dd786a4107490d00200841c5dc786a4106490d0020084180d8786a41d500490d00200841aad7786a41c700490d00200841dbd6786a4102490d00200841d7d6786a4104490d00200841d2d6786a410c490d00200841c3d6786a4107490d00200841bbd6786a41c100490d00200841f9d5786a4104490d00200841f3d5786a4108490d00200841ead5786a4107490d00200841e2d5786a411c490d00200841c5d5786a4104490d00200841c0d5786a4105490d00200841b6d5786a4107490d00200841aed5786a41d402490d00200841d8d2786a4119490d00200841bed2786a4119490d00200841a4d2786a411f490d0020084184d2786a4119490d00200841ead1786a411f490d00200841cad1786a4119490d00200841b0d1786a411f490d0020084190d1786a4119490d00200841f6d0786a411f490d00200841d6d0786a4119490d00200841bcd0786a4108490d00200841b2d0786a4132490d00200841d0bf786a413e490d00200841fba3786a411b490d00200841dfa3786a4102490d00200841d7a3786a410a490d00200841b3a3786a4103490d00200841afa3786a4102490d002008419fa3786a4102490d0020084199a3786a4104490d0020084194a3786a4107490d0020084187a3786a4104490d0020084180a3786a410a490d00200841f5a2786a4111490d00200841dfa2786a4103490d00200841dba2786a4105490d00200841d5a2786a4111490d00200841809e786a410b490d00200841f09d786a411f490d00200841d09d786a4120490d00200841969d786a4103490d00200841809c786a4103490d00200841f09b786a412c490d00200841c09b786a4109490d002008419088786a410a490d00200921062008418090746a419d044b0d010b4100210220034100360208200342808080801037020020034100360250200341003a004c20034100360248200341003a004420034100360240200341003a003c200341013a00642003420037025c20032005360258200320013602542003410036023820034200370330200341306a41047221044101210b4100210803400240024020080d000240024002400340024002400240024002400240024002400240024020032802542207450d0020072003280258460d002003200741016a360254024020072d00002208411874411875417f4a0d002003200741026a36025420072d0001413f7121012008411f7121060240200841df014b0d00200641067420017221080c010b2003200741036a360254200141067420072d0002413f717221010240200841f0014f0d0020012006410c747221080c010b2003200741046a360254200141067420072d0003413f71722006411274418080f00071722208418080c400460d010b20032d0064450d062008418001490d0720084180a87d6a220741a4d700490d0320082008200841b9f3ddf1796c200841a6b2858a036c220773ad220c42e41d7e422088a741017441a8a2d080006a2f01006a41b9f3ddf1796c200773ad42e41d7e422088a741037441f0ddd080006a290200220da7470d02200d422088a741ffff0371220841e72c4b0d0141e72c20086b2201200d423088a722074f0d042007200141acffd38000109181808000000b024002402003280238418080c400470d0020032802442208450d0c200328024021070c010b20032f01302208450d0c200841054f0d0d200421070b2003200341ef006a360268024020084102490d00024020084115490d0020072008200341e8006a10ca808080000c010b200720084101200341e8006a1080908080000b024020032802382201418080c400470d002003200328024422083602600c0f0b200320032f013022083602600c0e0b200841e72c41bcffd38000109281808000000b20082008200c428d107e422088a741017441dc95ce80006a2f01006a41b9f3ddf1796c200773ad428d107e422088a741037441f8b5ce80006a290200220da7470d0402400240200d422088a741ffff0371220841ce1a4b0d0041ce1a20086b2201200d423088a722074f0d01200720014188a2d08000109181808000000b200841ce1a4198a2d08000109281808000000b200841027441e0b6cf80006a21080c020b200341306a200741ffff0371220841cc046e22014180227210ff8a808000200341306a2007200141cc046c6b41ffff0371411c6e41e1226a10ff8a8080002008411c702208450d05200841a7236a21080c030b20084102744190ccd280006a21080b2007450d03200741027421070340200341306a200828020010ff8a808000200841046a21082007417c6a22070d000c040b0b2008418001490d00024020084180a87d6a220741a4d700490d0020082008200841b9f3ddf1796c200841a6b2858a036c220773ad428d107e422088a741017441dc95ce80006a2f01006a41b9f3ddf1796c200773ad428d107e422088a741037441f8b5ce80006a290200220da7470d010240200d422088a741ffff0371220841ce1a4b0d0041ce1a20086b2201200d423088a722074f0d03200720014188a2d08000109181808000000b200841ce1a4198a2d08000109281808000000b200341306a200741ffff0371220841cc046e22014180227210ff8a808000200341306a2007200141cc046c6b41ffff0371411c6e41e1226a10ff8a8080002008411c702208450d02200841a7236a21080b200341306a200810ff8a8080000c010b200d42808080808080c000540d00200841027441e0b6cf80006a2108200741027421070340200341306a200828020010ff8a808000200841046a21082007417c6a22070d000b0b20032802602208450d000c040b0b200328023c450d00200328024022082008417e6a2f00006b41002802ec82d48000118180808000000b20032802002104200328020421010c060b2008410441d8cdc68000109181808000000b200328023821010b200328025c21070240024002400240024002402001418080c4004722090d0020032802442106200328024021050c010b20032f0130220641054f0d01200421050b02400240200720064f0d00200520074103746a280204210a200741016a22072008460d012003200736025c0c050b2007200641f4b4c68000108281808000000b0240024020090d00200328024421070c010b20032f013021070b200720086b210920072008460d0241002108410421070340200820032802606a210102400240024002402003280238418080c400460d0020032f013022054105490d012005410441d8ccc68000109181808000000b2001200328024422054f0d01200328024021060c020b2004210620012005490d010b2001200541f4c6c68000108281808000000b0240200820054f0d00200620014103746a22012d00002105200620076a220620012802043602002006417c6a20053a0000200741086a21072009200841016a2208460d030c010b0b200820054184c7c68000108281808000000b2006410441d8ccc68000109181808000000b200328023821010b024002402001418080c400470d00200920032802444b0d01200320093602442003420037025c0c020b200920032f01304f0d00200320093b01300b2003420037025c0b02400240200a418001492201450d00410121080c010b0240200a4180104f0d00410221080c010b41034104200a41808004491b21080b2002210702402008200328020020026b4d0d002003200220084101410110a3868080002003280204210b200328020821070b200b20076a2107024002402001450d002007200a3a00000c010b0240200a418010490d000240200a41808004490d002007200a413f71418001723a00032007200a41127641f001723a00002007200a410676413f71418001723a00022007200a410c76413f71418001723a00010c020b2007200a413f71418001723a00022007200a410c7641e001723a00002007200a410676413f71418001723a00010c010b2007200a413f71418001723a00012007200a41067641c001723a00000b2003200820026a2202360208200328026021080c000b0b20072005470d000b0b200341306a2001200210bf8080800002400240024020032f01304101470d002003410a6a200341306a410c6a280200220836010020032003290234220d3701022000410c6a20083601002000200d370104200041013b0100200441808080807872418080808078470d010c020b200341286a200341306a412a6a290100220d370300200341206a200341306a41226a290100220c370300200341186a200341306a411a6a290100220e370300200341106a200341306a41126a290100220f370300200341086a200341306a410a6a29010022103703002003200329013222113703002000412a6a200d370100200041226a200c3701002000411a6a200e370100200041126a200f3701002000410a6a201037010020002011370102200041003b0100200441808080807872418080808078460d010b20012001417e6a2f00006b41002802ec82d48000118180808000000b200341f0006a2480808080000b830302037f017e23808080800041306b2205248080808000200541106a41086a2001280200220141086a220628020036020020064100360200200520012902003703102001428080808010370200200541086a200541106a20022003200410ab8f808000410121040240024002402005280208410171450d00024020052802100d000c020b200528021422012001417e6a2f00006b41002802ec82d48000118180808000000c010b200528020c2103200528021021042005411c6a200528021422022005280218220610f680808000200528021c4101460d0102402001280200450d00200128020422072007417e6a2f00006b41002802ec82d48000118180808000000b200120063602082001200236020420012004360200410021040b2000200336020420002004360200200541306a2480808080000f0b2005200529022022084220883e022c200520083e022820052006360224200520023602202005200436021c4188c9c68000412b2005411c6a41f8c8c680004190cac6800010a981808000000b900201027f23808080800041106b220224808080800020022000410c6a360204200128020041d4c8c68000410d200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41e1c8c680004105200041b4c8c68000108a818080001a200241086a41e6c8c680004105200241046a41c4c8c68000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710be40101047f23808080800041106b220124808080800041002102024002400240200028020822034100480d0020002802042102024020030d00410121040c030b41002d008083d480001a200341002802f482d480001182808080000022040d01410121020b2002200341d086c0800010b980808000000b2004417e6a41003b00000b20042002200310f49780800021042001200336020c2001200436020820012003360204200141046a10fc92808000210302402000280200450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200141106a24808080800020030b1e00200128020041ebc8c68000410c200128020428020c118080808000000b9b0601087f23808080800041c0006b220624808080800002402001450d000240024002400240024041014102410420032802002207418080808078461b2007418180808078461b417f6a0e0400010203000b413e21082002413e2002413e491b210941bf01210a418001210b0c030b413e21082002413e2002413e491b210941ff01210a41c001210b0c020b411e21082002411e2002411e491b2109413f210a4120210b0c010b410e21082002410e2002410e491b2109411f210a4110210b0b02402002410171220c450d0020012d0000210d0b2006410236021c2006200d3a0011200641013a000c2006410136020420062002417e713602182006200220096b3602082006200c3a001020062001200c6a3602142006200a200b200972200220084b1b3a000d2000200641046a41f8cac6800010978f8080000240024020042005470d0041002101410021020c010b410021014101210203402002410020042802001b200172210120024101742102200441046a22042005470d000b20014180fe037141087621020b02402000280200200028020822046b41014b0d002000200441024101410110a386808000200028020821040b200028020420046a2002410874200141ff0171723b00002000200028020841026a220236020802402007418180808078460d00200328020821042003280204210102402007418080808078460d0002402004200028020020026b4d0d002000200220044101410110a386808000200028020821020b200028020420026a2001200410f4978080001a2000200028020820046a3602082007450d0120012001417e6a2f00006b41002802ec82d48000118180808000000c010b200620043602382006200641386a360220200641206a200010dc84808000024020042000280200200028020822026b4d0d002000200220044101410110a386808000200028020821020b200028020420026a2001200410f4978080001a2000200028020820046a3602080b200641c0006a2480808080000f0b20064101360224200641e0cbc680003602202006420037022c20062006413c6a360228200641206a41e8cbc6800010fe80808000000bfd0201047f23808080800041306b220224808080800002400240200128020822034120490d00200241086a20012802042204200341002802c480d4800011868080800000200241203602282002200241286a36022c2002412c6a200010dc8480800002402000280200200028020822036b411f4b0d0020002003412010f491808000200028020821030b2000200341206a360208200028020420036a22002002290008370000200041086a200241086a41086a290000370000200041106a200241086a41106a290000370000200041186a200241086a41186a2900003700000c010b200128020421042002200336022c20022002412c6a360208200241086a200010dc84808000024020032000280200200028020822056b4d0d0020002005200310f491808000200028020821050b200028020420056a2004200310f4978080001a2000200520036a3602080b02402001280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000be40501077f23808080800041c0006b22022480808080002001280200220328020c210402400240024020032802142205200328021022064f0d000340200420056a2d0000220741776a220841174b0d024101200874419380800471450d022003200541016a220536021420062005470d000b200621050b2002410336023441012108200241286a20042006200541016a2205200620052006491b1087938080002000200241346a2002280228200228022c10f5928080003602040c010b0240200741fd00470d0041002108200041003a00010c010b024002400240024020012d00040d002007412c470d01410121082003200541016a22053602140240200520064f0d000340200420056a2d0000220141776a220741194b0d05024041012007744193808004710d0020074119470d06200041013a0001410021080c070b2003200541016a220536021420062005470d000b200621050b20024105360234200241106a20042006200541016a2205200620052006491b1087938080002000200241346a2002280210200228021410f5928080003602040c040b41002108200141003a000420074122460d012002411136023441012108200220042006200541016a2205200620052006491b1087938080002000200241346a2002280200200228020410f5928080003602040c030b2002410836023441012108200241206a20042006200541016a2205200620052006491b1087938080002000200241346a2002280220200228022410f5928080003602040c020b200041013a00010c010b0240200141fd00460d002002411136023441012108200241086a20042006200541016a2205200620052006491b1087938080002000200241346a2002280208200228020c10f5928080003602040c010b2002411536023441012108200241186a20042006200541016a2205200620052006491b1087938080002000200241346a2002280218200228021c10f5928080003602040b200020083a0000200241c0006a2480808080000be40201047f23808080800041306b2202248080808000410021032002410036020c20024280808080103702042002410136021420024194c2cc80003602102002420137021c200241e681808000ad4220862001ad843703282002200241286a3602180240200241046a41bcc7c68000200241106a10b1818080000d00024002400240200228020c22014100480d002002280208210320022802042104024020010d00410121050c030b41002d008083d480001a200141002802f482d480001182808080000022050d01410121030b2003200141d8cec6800010b980808000000b2005417e6a41003b00000b20052003200110f49780800021052000200136020c2000200536020820002001360204200041033a000002402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000f0b41e4c7c680004137200241106a41d4c7c68000419cc8c6800010a981808000000be20101027f23808080800041306b22022480808080002002410036020c20024280808080103702042002410136021420024194c2cc80003602102002420137021c200241e681808000ad4220862001ad843703282002200241286a3602180240200241046a41bcc7c68000200241106a10b1818080000d0020022802042103200020022802082201200228020c10919380800002402003450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000f0b41e4c7c680004137200241106a41d4c7c68000419cc8c6800010a981808000000bfb0101037f23808080800041306b2202248080808000410021032002410036020c20024280808080103702042002410136021420024194c2cc80003602102002420137021c200241e681808000ad4220862000ad843703282002200241286a3602180240200241046a41bcc7c68000200241106a10b1818080000d002002280204210402402001200141046a20022802082200200228020c10bd8d808000450d0010f69280800021030b02402004450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241306a24808080800020030f0b41e4c7c680004137200241106a41d4c7c68000419cc8c6800010a981808000000bfb0101037f23808080800041306b2202248080808000410021032002410036020c20024280808080103702042002410136021420024194c2cc80003602102002420137021c200241a183808000ad4220862000ad843703282002200241286a3602180240200241046a41bcc7c68000200241106a10b1818080000d002002280204210402402001200141046a20022802082200200228020c10bd8d808000450d0010f69280800021030b02402004450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241306a24808080800020030f0b41e4c7c680004137200241106a41d4c7c68000419cc8c6800010a981808000000be40201047f23808080800041306b2202248080808000410021032002410036020c20024280808080103702042002410136021420024194c2cc80003602102002420137021c200241a183808000ad4220862001ad843703282002200241286a3602180240200241046a41bcc7c68000200241106a10b1818080000d00024002400240200228020c22014100480d002002280208210320022802042104024020010d00410121050c030b41002d008083d480001a200141002802f482d480001182808080000022050d01410121030b2003200141d8cec6800010b980808000000b2005417e6a41003b00000b20052003200110f49780800021052000200136020c2000200536020820002001360204200041033a000002402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000f0b41e4c7c680004137200241106a41d4c7c68000419cc8c6800010a981808000000be20101027f23808080800041306b22022480808080002002410036020c20024280808080103702042002410136021420024194c2cc80003602102002420137021c200241a183808000ad4220862001ad843703282002200241286a3602180240200241046a41bcc7c68000200241106a10b1818080000d0020022802042103200020022802082201200228020c10919380800002402003450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000f0b41e4c7c680004137200241106a41d4c7c68000419cc8c6800010a981808000000bf80701097f23808080800041f0006b2202248080808000200128020c210302400240024020012802142204200128021022054f0d000340200320046a2d0000220641776a220741174b0d024101200774419380800471450d022001200441016a220436021420052004470d000b200521040b20024105360248200220032005200441016a2204200520042005491b108793808000200241c8006a2002280200200228020410f59280800021042000418080808078360200200020043602040c010b024002400240200641db00470d00200120012d0018417f6a22073a0018200741ff01710d0120024118360248200241086a20032005200441016a2204200520042005491b108793808000200241c8006a2002280208200228020c10f59280800021042000418080808078360200200020043602040c030b2001200241ef006a4190d0c6800010c58a80800021030c010b2001200441016a360214200241013a00182002200136021420024100360224200242808080801037021c200241c8006a200241146a10b08a8080000240024020022d00480d00200241cf006a210703400240024020022d00494101470d00200241c8006a200228021410a48d80800020022d00484101470d010c030b2002280224210620022802202103200228021c21040c030b200241286a41086a2206200741086a290000370300200241286a41106a2205200741106a290000370300200241286a41186a2208200741186a2f00003b010020022007290000370328200228004b210920022f0049210a024020022802242203200228021c470d002002411c6a41f0c3c680001090868080000b200228022020034105746a220420093600022004200a3b0000200420022903283700062004410e6a2006290300370000200441166a20052903003700002004411e6a20082f01003b00002002200341016a360224200241c8006a200241146a10b08a80800020022d0048450d000b0b200228024c210341808080807821040240200228021c450d00200228022022072007417e6a2f00006b41002802ec82d48000118180808000000b0b200120012d001841016a3a0018200110c88a80800021070240024002402004418080808078460d002007450d0120040d02200721030c030b2007450d02024020072802000d002007280208450d00200728020422042004417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c020b2000200636020820002003360204200020043602000c020b20032003417e6a2f00006b41002802ec82d4800011818080800000200721030b2003200110c68a80800021042000418080808078360200200020043602040b200241f0006a2480808080000bad0e03087f027e017f23808080800041f0016b2202248080808000200128020c210302400240024020012802142204200128021022054f0d000340200320046a2d0000220641776a220741174b0d024101200774419380800471450d022001200441016a220436021420052004470d000b200521040b200241053602c001200220032005200441016a2204200520042005491b108793808000200241c0016a2002280200200228020410f59280800021042000418080808078360200200020043602040c010b024002400240200641db00470d00200120012d0018417f6a22073a0018200741ff01710d01200241183602c001200241086a20032005200441016a2204200520042005491b108793808000200241c0016a2002280208200228020c10f59280800021042000418080808078360200200020043602040c030b2001200241ef016a41a0d0c6800010c58a80800021030c010b2001200441016a360214200241013a0028200220013602242002410036023420024280808080800237022c200241c0016a200241246a10b08a8080000240024002400240024020022d00c0010d00200241c7016a21080340024020022d00c1010d002002280234210620022802302103200228022c21040c060b2002280224220728020c21060240024020072802142204200728021022094f0d000340200620046a2d0000220541776a220341174b0d024101200374419380800471450d022007200441016a220436021420092004470d000b200921040b200241053602c001200241106a20062009200441016a2204200920042009491b108793808000200241c0016a2002280210200228021410f59280800021030c050b02400240200541db00470d00200720072d0018417f6a22033a0018200341ff01710d01200241183602c001200241186a20062009200441016a2204200920042009491b108793808000200241c0016a2002280218200228021c10f59280800021030c060b2007200241ef016a41f0c2c6800010c58a80800021040c040b2007200441016a360214200241013a007c20022007360278200241c0016a200241f8006a10b08a80800002400240024020022d00c0014101460d00024020022d00c1014101470d00200241c0016a200228027810a48d80800020022d00c0014101460d0120024180016a41086a2204200841086a29000037030020024180016a41106a2205200841106a29000037030020024180016a41186a2209200841186a2f00003b0100200220082900003703800120022800c301210320022f00c1012106200241c0016a200241f8006a10b68a808000024020022903c001220a42028520022903c8018450450d0020022802d00121090c030b0240200aa7410171450d00200241d8006a41086a2004290300370300200241d8006a41106a2005290300370300200241d8006a41186a20092f01003b0100200220022903800137035820022903d801210a20022903d001210b410021050c040b4101200241ef016a41f0c2c6800010a98a80800021090c020b4100200241ef016a41f0c2c6800010a98a80800021090c010b20022802c40121090b410121050b200720072d001841016a3a0018200710c88a808000210420050d0220040d03200241386a41186a2205200241d8006a41186a2f01003b0100200241386a41106a2209200241d8006a41106a290300370300200241386a41086a220c200241d8006a41086a29030037030020022002290358370338024020022802342207200228022c470d002002412c6a41f0c3c68000109b868080000b2002280230200741306c6a22042003360102200420063b0100200420022903383701062004200a3703282004200b3703202004410e6a200c290300370100200441166a20092903003701002004411e6a20052f01003b01002002200741016a360234200241c0016a200241246a10b08a80800020022d00c001450d000b0b20022802c40121030c020b02402004450d00024020042802000d002004280208450d00200428020422032003417e6a2f00006b41002802ec82d48000118180808000000b20042004417e6a2f01006b41002802ec82d48000118180808000000b200921040b2004200710c68a80800021030b41808080807821040240200228022c450d00200228023022072007417e6a2f00006b41002802ec82d48000118180808000000b0b200120012d001841016a3a0018200110c88a80800021070240024002402004418080808078460d002007450d0120040d02200721030c030b2007450d02024020072802000d002007280208450d00200728020422042004417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c020b2000200636020820002003360204200020043602000c020b20032003417e6a2f00006b41002802ec82d4800011818080800000200721030b2003200110c68a80800021042000418080808078360200200020043602040b200241f0016a2480808080000bda0301057f23808080800041306b2202248080808000200128020c210302400240024002400240024020012802142204200128021022054f0d0003400240200320046a2d0000220641776a0e2500000404000404040404040404040404040404040404040004040404040404040404040403040b2001200441016a220436021420052004470d000b200521040b2002410536022041012106200241106a20032005200441016a2204200520042005491b108793808000200241206a2002280210200228021410f59280800021040c040b410121062001200441016a360214200241206a2001410010c18a80800020022802204104460d02200241186a200241206a10b98a808000200228021c210420022802184101710d01410021060c030b0240200641506a41ff0171410a490d00410121062001200241206a4184b2c6800010c58a808000200110c68a80800021040c030b41012106200241206a2001410110c18a808000024020022802204104470d00200228022421040c030b200241086a200241206a10b98a8080002002280208410171210341002106200228020c21042003450d020b410121062004200110c68a80800021040c010b200228022421040b2000200436020420002006360200200241306a2480808080000bf00703067f027e027f23808080800041d0006b2203248080808000200128020c2104024002400240024020012802142205200128021022064f0d000340200420056a2d0000220741776a220841174b0d024101200874419380800471450d022001200541016a220536021420062005470d000b200621050b20034105360220200320042006200541016a2205200620052006491b1087938080002000200341206a2003280200200328020410f5928080003602000c010b024002400240200741db00470d00200120012d0018417f6a22083a0018200841ff01710d0120034118360220200341086a20042006200541016a2205200620052006491b1087938080002000200341206a2003280208200328020c10f5928080003602000c030b2001200341cf006a418cc5c6800010c58a80800021080c010b2001200541016a360214200341013a001c20032001360218200341206a200341186a10b08a80800002400240024020032d00204101470d002003280224210841818080807821050c010b0240024020032d00214101470d00200341106a200328021810a18b80800041818080807821052003280214210820032802104101710d02200341206a200341186a10b68a80800002402003290320220942028520032903288450450d00200328023021080c030b024002402009a7410171450d002003413c6a35020021092003290234210a20032802302107200341206a200341186a10b08a80800020032d00204101460d0320032d00214101470d01200341206a200328021810c68880800041818080807821052003280220220b418180808078460d0320032802282104200328022421062008210c20072108200b21050c050b4101200341cf006a418cc5c6800010a98a80800021080c030b4102200341cf006a418cc5c6800010a98a80800021080c020b41818080807821054100200341cf006a418cc5c6800010a98a80800021080c010b200328022421080b0b200120012d001841016a3a0018200110c88a80800021070240024002402005418180808078460d002007450d01200541808080807872418080808078470d02200721080c030b2007450d02024020072802000d002007280208450d00200728020422052005417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c020b2000200a3702042000200c360210200020063602182000200536021420002008360200200020093e020c411c21050c030b20062006417e6a2f00006b41002802ec82d4800011818080800000200721080b20002008200110c68a8080003602000b4181808080782104411421050b200020056a2004360200200341d0006a2480808080000bab1603087f027e047f23808080800041b0016b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b20064105360270200641306a20072009200841016a2208200920082009491b108793808000200641f0006a2006280230200628023410f59280800021082000418080808078360220200020083602000c010b0240024002400240024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641af016a41d0d0c6800010c58a808000210c0c0e0b200120012d0018417f6a220b3a00180240200b41ff0171450d002001200841016a360214200641013a006420062001360260200641f0006a200641e0006a10b08a808000024020062d00704101470d002006280274210c418080808078210d0c0b0b20062d00714101470d02200641f0006a200628026010a08b808000418080808078210d2006280274210c024020062802702208418080808078470d000c0b0b2006350278210e200641f0006a200641e0006a10b08a80800002400240024020062d00704101470d002006280274210b0c010b024020062d00714101470d00200641f0006a200628026010c4888080002006280270210b2006280284012209418280808078460d01200641d0006a200629027c37030020062006290274370348200e422086200cad84210e200629038801210f2008210d0c020b410141ecc6c6800041d4c5c6800010a98a808000210b0b418080808078210d02402008450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b0b200b210c0c0a0b20064118360270200620072009200841016a2208200920082009491b108793808000200641f0006a2006280200200628020410f59280800021080c080b200120012d0018417f6a220b3a0018200b41ff0171450d062001200841016a360214200641013a005c20062001360258200641f0006a200641d8006a10988b808000024020062d0070450d004182808080782109418080808078210a0c030b200641f0006a41047221104182808080782109418080808078210a03400240024002400240024020062d00714101470d002006280258220841003602082008200828021441016a360214200641f0006a2008410c6a20081089938080002006280274210b20062802704102460d090240024002402006280278220741786a0e04010a0a000a0b200b4197a1c78000410b10f597808000450d010c090b200b290000410029008fa1c78000520d080240200a418080808078460d0041b4c6c68000410810aa8a808000210b0c0b0b200828020c21070240024002402008280214220b2008280210220a4f0d00034002402007200b6a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200b41016a220b360214200a200b470d000b200a210b0b20064103360270200641186a2007200a200b41016a2208200a2008200a491b108793808000200641f0006a2006280218200628021c10f592808000210b0c040b20064106360270200641106a2007200a200b41016a2208200a2008200a491b108793808000200641f0006a2006280210200628021410f592808000210b0c030b2008200b41016a360214200641a0016a200810a08b80800020062802a401210b20062802a001220a418080808078460d0220062802a8012111200b21120c050b02402009418280808078460d0041bcc6c68000410b10aa8a808000210b0c0a0b200828020c21070240024002402008280214220b200828021022094f0d00034002402007200b6a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b2008200b41016a220b3602142009200b470d000b2009210b0b200641033602a001200641286a20072009200b41016a2208200920082009491b108793808000200641a0016a2006280228200628022c10f592808000210c0c0c0b200641063602a001200641206a20072009200b41016a2208200920082009491b108793808000200641a0016a2006280220200628022410f592808000210c0c0b0b2008200b41016a360214200641f0006a200810c4888080002006280270210c2006280284012209418280808078460d0a200641e0006a41086a201041086a29020037030020062010290200370360200628028801210d200628028c0121130c040b0240200a418080808078460d002009418280808078470d0241818080807821090c030b41b4c6c68000410810a68a808000210b0b418080808078210a0c070b20064190016a41086a200641e0006a41086a29020037030020062006290260370390012013ad422086200dad84210e0b2011ad4220862012ad84210f0c070b200641f0006a200641d8006a10988b80800020062d00700d030c000b0b418080808078210d410041ecc6c6800041d4c5c6800010a98a808000210c0c070b200b200741a4a1c78000410210a88a808000210b0c010b2006280274210b0b02402009418380808078480d002009450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b200b210c0b0240200a41808080807872418080808078460d0020122012417e6a2f00006b41002802ec82d48000118180808000000b418080808078210a0b200120012d001841016a3a00184180808080782108200110c78a808000210d02400240200a418080808078460d00200fa7210b200ea72107200d0d01200f422088a72112200e422088a72110200641386a41086a20064190016a41086a2903003703002006200629039001370338200a21080c070b200d450d040240200d2802000d00200d280208450d00200d280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b200d200d417e6a2f01006b41002802ec82d48000118180808000000c060b0240200a450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b418080808078210802402009418280808078480d002009450d0020072007417e6a2f00006b41002802ec82d4800011818080800000200d210c0c060b200d210c0c050b20064118360270200641086a20072009200841016a2208200920082009491b108793808000200641f0006a2006280208200628020c10f59280800021080b2000418080808078360220200020083602000c060b200120012d001841016a3a00184180808080782108200110c88a808000210a200d418080808078470d01200a450d000240200a2802000d00200a280208450d00200a280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b200a200a417e6a2f01006b41002802ec82d48000118180808000000b0c010b200ea7210b200fa721070240200a0d00200e422088a72112200f422088a72110200641386a41086a200641c8006a41086a29030037030020062006290348370338200d21080c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b418080808078210802402009418280808078480d002009450d0020072007417e6a2f00006b41002802ec82d4800011818080800000200a210c0c010b200a210c0b2008418080808078460d0020002006290338370204200020123602282000200b3602242000201036021c20002007360218200020093602142000410c6a200641c0006a2903003702000c010b4180808080782108200c200110c68a808000210c0b200020083602202000200c3602000b200641b0016a2480808080000bed0501067f23808080800041306b2205248080808000200028020c210602400240024020002802142207200028021022084f0d000340200620076a2d0000220941776a220a41174b0d024101200a74419380800471450d022000200741016a220736021420082007470d000b200821070b20054105360220200520062008200741016a2207200820072008491b108793808000200541206a2005280200200528020410f59280800021070c010b0240024002400240200941db00460d00200941fb00460d0120002005412f6a41e0d1c6800010c58a808000200010c68a80800021070c040b200020002d00182209417f6a220a3a0018200a41ff0171450d02200020093a00182000200741016a360214200010c88a808000210a0c010b200020002d0018417f6a220a3a00180240200a41ff0171450d002000200741016a360214200541013a001c20052000360218200541206a200541186a10988b8080000240024020052d00204101470d00200528022421070c010b4100210720052d00214101470d002005280218220741003602082007200728021441016a360214200541206a2007410c6a20071089938080002005280224210720052802204102460d00200720052802284104410010a88a80800021070b200020002d001841016a3a00182007200010c78a808000220920071b210a2007450d012009450d01024020092802000d002009280208450d00200928020422072007417e6a2f00006b41002802ec82d48000118180808000000b20092009417e6a2f01006b41002802ec82d48000118180808000000c010b20054118360220200541106a20062008200741016a2207200820072008491b108793808000200541206a2005280210200528021410f59280800021070c020b41002107200a450d01200a200010c68a80800021070c010b20054118360220200541086a20062008200741016a2207200820072008491b108793808000200541206a2005280208200528020c10f59280800021070b200541306a24808080800020070bed0501067f23808080800041306b2205248080808000200028020c210602400240024020002802142207200028021022084f0d000340200620076a2d0000220941776a220a41174b0d024101200a74419380800471450d022000200741016a220736021420082007470d000b200821070b20054105360220200520062008200741016a2207200820072008491b108793808000200541206a2005280200200528020410f59280800021070c010b0240024002400240200941db00460d00200941fb00460d0120002005412f6a41b0d1c6800010c58a808000200010c68a80800021070c040b200020002d00182209417f6a220a3a0018200a41ff0171450d02200020093a00182000200741016a360214200010c88a808000210a0c010b200020002d0018417f6a220a3a00180240200a41ff0171450d002000200741016a360214200541013a001c20052000360218200541206a200541186a10988b8080000240024020052d00204101470d00200528022421070c010b4100210720052d00214101470d002005280218220741003602082007200728021441016a360214200541206a2007410c6a20071089938080002005280224210720052802204102460d00200720052802284104410010a88a80800021070b200020002d001841016a3a00182007200010c78a808000220920071b210a2007450d012009450d01024020092802000d002009280208450d00200928020422072007417e6a2f00006b41002802ec82d48000118180808000000b20092009417e6a2f01006b41002802ec82d48000118180808000000c010b20054118360220200541106a20062008200741016a2207200820072008491b108793808000200541206a2005280210200528021410f59280800021070c020b41002107200a450d01200a200010c68a80800021070c010b20054118360220200541086a20062008200741016a2207200820072008491b108793808000200541206a2005280208200528020c10f59280800021070b200541306a24808080800020070b840c01067f23808080800041d0006b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b200641053602404101210a200620072009200841016a2208200920082009491b108793808000200641c0006a2006280200200628020410f59280800021080c010b024002400240024002400240200a41db00460d00200a41fb00460d012001200641cf006a41c0d1c6800010c58a808000210b0c030b200120012d0018417f6a220b3a0018200b41ff0171450d044101210a2001200841016a360214200641013a003c20062001360238200641c0006a200641386a10b08a8080000240024020062d00404101470d00200628024421080c010b024020062d00414101470d00200641106a200628023810a18b8080002006280210210a200628021421080c010b4101210a410041ccc5c6800041d4c5c6800010a98a80800021080b200120012d001841016a3a0018200110c88a808000210b0240200a4101710d00200b0d034100210a0c060b200b450d010240200b2802000d00200b280208450d00200b280204220a200a417e6a2f00006b41002802ec82d48000118180808000000b200b200b417e6a2f01006b41002802ec82d48000118180808000000c010b200120012d0018417f6a220b3a0018200b41ff0171450d022001200841016a360214200641013a003c20062001360238200641c0006a200641386a10988b8080000240024020062d00404101460d00024020062d00414101470d002006280238220b41003602084101210a200b200b28021441016a360214200641c0006a200b410c6a200b108993808000200628024421080240024020062802404102460d00024020062802482207410b470d00200841f892c58000410b10f597808000450d020b4101210a20082007418493c58000410110a88a80800021080c040b20080d030b200b28020c2107024002400240200b2802142208200b28021022094f0d0003400240200720086a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b200b200841016a220836021420092008470d000b200921080b200641033602404101210a200641286a20072009200841016a2208200920082009491b108793808000200641c0006a2006280228200628022c10f59280800021080c040b200641063602404101210a200641206a20072009200841016a2208200920082009491b108793808000200641c0006a2006280220200628022410f59280800021080c030b4101210a200b200841016a360214200641306a200b10a18b8080002006280234210820062802304101710d02200641c0006a200641386a10988b80800020062d00400d014100210a20062d00414101470d022006280238220841003602082008200828021441016a360214200641c0006a2008410c6a200810899380800020062802442108024020062802404102460d002008200628024810878780800021080b4101210a20080d0241a4c7c68000410b10aa8a80800021080c020b4101210a41a4c7c68000410b10a68a80800021080c010b200628024421084101210a0b200120012d001841016a3a0018200110c78a808000210b0240200a0d00200b0d024100210a0c050b200b450d000240200b2802000d00200b280208450d00200b280204220a200a417e6a2f00006b41002802ec82d48000118180808000000b200b200b417e6a2f01006b41002802ec82d48000118180808000000b2008210b0b4101210a200b200110c68a80800021080c020b200641183602404101210a200641186a20072009200841016a2208200920082009491b108793808000200641c0006a2006280218200628021c10f59280800021080c010b200641183602404101210a200641086a20072009200841016a2208200920082009491b108793808000200641c0006a2006280208200628020c10f59280800021080b200020083602042000200a360200200641d0006a2480808080000bb70f01077f23808080800041e0016b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b2006410536028c014101210b200620072009200841016a2208200920082009491b1087938080002006418c016a2006280200200628020410f59280800021080c010b024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641df016a41a0d1c6800010c58a80800021070c070b200120012d0018417f6a220b3a0018200b41ff0171450d07410121092001200841016a360214200641013a0054200620013602502006418c016a200641d0006a10b08a80800020062d008c014101460d01024020062d008d014101470d002006418c016a200628025010c5888080004101210920062d008c014101460d02200641f0006a41086a22072006418c016a41106a290200370300200641f0006a41106a22092006418c016a41186a290200370300200641f0006a41186a220c200641ac016a2f01003b0100200620062902940137037020062d008d01220a4102460d00200628029001210820062f018e01210b200641286a41186a200c2f01003b0100200641286a41106a2009290300370300200641286a41086a200729030037030020062006290370370328410021090c040b41012109410041ccc5c6800041d4c5c6800010a98a80800021080c020b200120012d0018417f6a220b3a00180240200b41ff0171450d004101210c2001200841016a360214200641013a004c200620013602482006418c016a200641c8006a10988b80800002400240024020062d008c010d00024020062d008d014101460d004102210a0c020b20064194016a21094102210a03402006280248220b4100360208200b200b28021441016a3602142006418c016a200b410c6a200b108993808000200628029001210802400240200628028c014102460d00024020062802940122074103470d00200841b1ffc48000410310f597808000450d020b4101210c2008200741b4ffc48000410110a88a80800021080c050b2008450d004101210c0c040b0240200a41ff01714102460d004101210c41e4c5c68000410310aa8a80800021080c040b200b28020c210a024002400240200b2802142208200b28021022074f0d0003400240200a20086a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b200b200841016a220836021420072008470d000b200721080b200641033602d0014101210c200641206a200a2007200841016a2208200720082007491b108793808000200641d0016a2006280220200628022410f59280800021080c050b200641063602d0014101210c200641186a200a2007200841016a2208200720082007491b108793808000200641d0016a2006280218200628021c10f59280800021080c040b200b200841016a3602142006418c016a200b10c588808000024020062d008c01410171450d0020062802900121084101210c0c040b200641d0006a41086a200941086a290200370300200641d0006a41106a200941106a290200370300200641d0006a41186a200941186a2f01003b010020062009290200370350200628029001210820062f018e01210b20062d008d01210a2006418c016a200641c8006a10988b80800020062d008c010d0120062d008d014101470d020c000b0b20062802900121080c010b0240200a41ff01714102470d004100210c4100210a0c010b200641b0016a41186a200641d0006a41186a2f01003b0100200641b0016a41106a200641d0006a41106a290300370300200641b0016a41086a200641d0006a41086a290300370300200620062903503703b0014100210c0b200120012d001841016a3a0018200110c78a80800021070240200c0d0020070d07200641b0016a21010c050b2007450d05024020072802000d002007280208450d002007280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c050b2006411836028c014101210b200641106a20072009200841016a2208200920082009491b1087938080002006418c016a2006280210200628021410f59280800021080c070b20062802900121080b0b200120012d001841016a3a0018200110c88a8080002107024020090d0020070d03200641286a21010c010b2007450d01024020072802000d002007280208450d002007280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20072007417e6a2f01006b41002802ec82d48000118180808000000c010b2000200b3b01022000200a3a000120002001290200370208200041206a200141186a2f01003b0100200041186a200141106a290200370200200041106a200141086a2902003702004100210b0c030b200821070b4101210b2007200110c68a80800021080c010b2006411836028c014101210b200641086a20072009200841016a2208200920082009491b1087938080002006418c016a2006280208200628020c10f59280800021080b2000200b3a000020002008360204200641e0016a2480808080000b951404067f037e017f017e23808080800041b0016b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b200641053602a00141012101200620072009200841016a2208200920082009491b1087938080002000200641a0016a2006280200200628020410f5928080003602040c010b024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641af016a41d0d1c6800010c58a80800021070c0a0b200120012d0018417f6a220b3a00180240200b41ff0171450d004101210b2001200841016a360214200641013a009c012006200136029801200641a0016a20064198016a10b08a808000024020062d00a0014101470d0020062802a40121070c080b024020062d00a1014101470d00200641a0016a20062802980110ab8a80800020062802a4012107024020062802a0012209418080808078470d004101210b0c090b02400240024020062802a801220a0e020700010b4101210b2007210820072d000041556a0e03060106010b024020072d0000412b470d00200a417f6a210b200741016a2108200a4122490d010c050b20072108200a210b200a41214f0d040b4200210c4200210d034020082d000041506a220a41094b0d05200641106a200c200d420a420010fc97808000200841016a210820062903182006290310220d200aad7c220c200d54ad7c210d200b417f6a220b0d000b200c422088200d42208684210e200d422088210d200ca7210b0c060b4101210b410041ccc5c6800041d4c5c6800010a98a80800021070c070b200641183602a001200641086a20072009200841016a2208200920082009491b1087938080002000200641a0016a2006280208200628020c10f5928080003602040c0a0b200120012d0018417f6a220b3a00180240200b41ff0171450d00410121092001200841016a360214200641013a009c012006200136029801200641a0016a20064198016a10988b80800002400240024020062d00a0014101460d0002400240024002400240024020062d00a1014101470d00200628029801220b4100360208200b200b28021441016a360214200641a0016a200b410c6a200b10899380800020062802a40121070240024020062802a0014102460d00024020062802a8012208410a470d002007418c93c58000410a10f597808000450d020b4101210920072008419893c58000410110a88a80800021070c090b20070d060b200b28020c210a024002400240200b2802142208200b28021022074f0d0003400240200a20086a2d000041776a0e320000030300030303030303030303030303030303030303000303030303030303030303030303030303030303030303030304030b200b200841016a220836021420072008470d000b200721080b200641033602a00141012109200641d8006a200a2007200841016a2208200720082007491b108793808000200641a0016a2006280258200628025c10f59280800021070c090b200641063602a00141012109200641d0006a200a2007200841016a2208200720082007491b108793808000200641a0016a2006280250200628025410f59280800021070c080b200b200841016a360214200641a0016a200b10ab8a80800020062802a401210720062802a001220f418080808078460d0502400240024020062802a801220a0e020500010b4101210b2007210820072d000041556a0e03040104010b024020072d0000412b470d00200a417f6a210b200741016a2108200a4122490d010c030b20072108200a210b200a41214f0d020b4200210c4200210d034020082d000041506a220a41094b0d03200641e0006a200c200d420a420010fc97808000200841016a210820062903682006290360220d200aad7c220c200d54ad7c210d200b417f6a220b450d040c000b0b4101210941afc7c68000410a10a68a80800021070c060b4200210c4200210d0340200b450d02200641f0006a200d4200420a420010fc9780800020064180016a200c4200420a420010fc978080002006290378420052200629038801220c20062903707c220e200c54720d0120082d000041506a220a41094b0d01200841016a2108200b417f6a210b2006290380012210200aad7c220c201054220a200e200aad7c220d200e54200c20105a1b450d000b0b41012108419cc2cc8000412b10ae8a808000210b0c010b410021080b0240200f450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b02402008450d0041012109200b21070c030b200641a0016a20064198016a10988b80800020062d00a0010d01024020062d00a1014101460d00410021090c040b200628029801220841003602082008200828021441016a360214200641a0016a2008410c6a200810899380800020062802a4012107024020062802a0014102460d00200720062802a80110888780800021070b4101210920070d0241afc7c68000410a10aa8a80800021070c020b410121090c020b20062802a40121070b0b200120012d001841016a3a0018200110c78a8080002108024020090d002008210720080d0a0c090b2008450d09024020082802000d002008280208450d002008280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20082008417e6a2f01006b41002802ec82d48000118180808000000c090b200641183602a001200641c8006a20072009200841016a2208200920082009491b1087938080002000200641a0016a2006280248200628024c10f5928080003602040c090b4200210c420021100340200b450d02200641206a20104200420a420010fc97808000200641306a200c4200420a420010fc9780800020062903284200522006290338220c20062903207c220d200c54720d0120082d000041506a220a41094b0d01200841016a2108200b417f6a210b2006290330220e200aad7c220c200e54220a200d200aad7c2210200d54200c200e5a1b450d000b0b4200210e41012108419cc2cc8000412b10ae8a808000210a4200210d0c020b200c422088201042208684210e2010422088210d200ca7210b0b410021080b02402009450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b02402008450d004101210b200a21070c010b200d422086200e42208884210d200e422086200bad84210c4100210b0c010b0b200120012d001841016a3a0018200110c88a80800021080240200b0d00200821072008450d010c020b2008450d01024020082802000d002008280208450d002008280204220b200b417e6a2f00006b41002802ec82d48000118180808000000b20082008417e6a2f01006b41002802ec82d48000118180808000000c010b2000200c3703102000200d370318410021010c020b20002007200110c68a8080003602040b410121010b20002001360200200641b0016a2480808080000b1e00200128020041f8d2c680004110200128020428020c118080808000000bc50501097f23808080800041f0006b220324808080800002400240200028020022042000280204470d00410221040c010b20002004410c6a36020002400240024020002802082205200028020c2802004b0d002000280210210641022107024020042802004102460d00200341cc006a200410a68d808000200341c8006a41026a220420032d004f3a0000200341286a41086a2208200341cc006a41106a290200370300200341286a41106a2209200341cc006a41186a290200370300200341286a41186a220a200341ec006a280200360200200320032f004d3b0148200320032902543703282003280250210b20032d004c22074102460d02200341246a41026a20042d00003a0000200341086a41086a2008290300370300200341086a41106a2009290300370300200341086a41186a200a280200360200200320032f01483b0124200320032903283703080b0240200628020822022006280200470d00200641c8d8c6800010ed828080000b2006280204200241246c6a220420032f01243b0001200420073a00002004200b36020420042003290308370208200441036a200341266a2d00003a0000200441106a200341106a290300370200200441186a200341086a41106a290300370200200441206a200341086a41186a2802003602002006200241016a3602080b410121040c010b024020022802002204450d000240024002400240200428020041fcffffff076a2206410320064105491b0e0403030102000b2004280204450d02200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2004280204450d01200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200410ab8b8080000b20042004417e6a2f01006b41002802ec82d48000118180808000000b2002200b360200410021040b2000200541016a3602080b200341f0006a24808080800020040bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b200010ab8b8080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0bc50501097f23808080800041f0006b220324808080800002400240200028020022042000280204470d00410221040c010b20002004410c6a36020002400240024020002802082205200028020c2802004b0d002000280210210641022107024020042802004102460d00200341cc006a200410a68d808000200341c8006a41026a220420032d004f3a0000200341286a41086a2208200341cc006a41106a290200370300200341286a41106a2209200341cc006a41186a290200370300200341286a41186a220a200341ec006a280200360200200320032f004d3b0148200320032902543703282003280250210b20032d004c22074102460d02200341246a41026a20042d00003a0000200341086a41086a2008290300370300200341086a41106a2009290300370300200341086a41186a200a280200360200200320032f01483b0124200320032903283703080b0240200628020822022006280200470d00200641d8d8c6800010ed828080000b2006280204200241246c6a220420032f01243b0001200420073a00002004200b36020420042003290308370208200441036a200341266a2d00003a0000200441106a200341106a290300370200200441186a200341086a41106a290300370200200441206a200341086a41186a2802003602002006200241016a3602080b410121040c010b024020022802002204450d000240024002400240200428020041fcffffff076a2206410320064105491b0e0403030102000b2004280204450d02200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2004280204450d01200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200410ab8b8080000b20042004417e6a2f01006b41002802ec82d48000118180808000000b2002200b360200410021040b2000200541016a3602080b200341f0006a24808080800020040bc50501097f23808080800041f0006b220324808080800002400240200028020022042000280204470d00410221040c010b20002004410c6a36020002400240024020002802082205200028020c2802004b0d002000280210210641022107024020042802004102460d00200341cc006a200410a88d808000200341c8006a41026a220420032d004f3a0000200341286a41086a2208200341cc006a41106a290200370300200341286a41106a2209200341cc006a41186a290200370300200341286a41186a220a200341ec006a280200360200200320032f004d3b0148200320032902543703282003280250210b20032d004c22074102460d02200341246a41026a20042d00003a0000200341086a41086a2008290300370300200341086a41106a2009290300370300200341086a41186a200a280200360200200320032f01483b0124200320032903283703080b0240200628020822022006280200470d00200641d8d8c6800010ed828080000b2006280204200241246c6a220420032f01243b0001200420073a00002004200b36020420042003290308370208200441036a200341266a2d00003a0000200441106a200341106a290300370200200441186a200341086a41106a290300370200200441206a200341086a41186a2802003602002006200241016a3602080b410121040c010b024020022802002204450d000240024002400240200428020041fcffffff076a2206410320064105491b0e0403030102000b2004280204450d02200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2004280204450d01200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200410ab8b8080000b20042004417e6a2f01006b41002802ec82d48000118180808000000b2002200b360200410021040b2000200541016a3602080b200341f0006a24808080800020040bc50501097f23808080800041f0006b220324808080800002400240200028020022042000280204470d00410221040c010b20002004410c6a36020002400240024020002802082205200028020c2802004b0d002000280210210641022107024020042802004102460d00200341cc006a200410a88d808000200341c8006a41026a220420032d004f3a0000200341286a41086a2208200341cc006a41106a290200370300200341286a41106a2209200341cc006a41186a290200370300200341286a41186a220a200341ec006a280200360200200320032f004d3b0148200320032902543703282003280250210b20032d004c22074102460d02200341246a41026a20042d00003a0000200341086a41086a2008290300370300200341086a41106a2009290300370300200341086a41186a200a280200360200200320032f01483b0124200320032903283703080b0240200628020822022006280200470d00200641c8d8c6800010ed828080000b2006280204200241246c6a220420032f01243b0001200420073a00002004200b36020420042003290308370208200441036a200341266a2d00003a0000200441106a200341106a290300370200200441186a200341086a41106a290300370200200441206a200341086a41186a2802003602002006200241016a3602080b410121040c010b024020022802002204450d000240024002400240200428020041fcffffff076a2206410320064105491b0e0403030102000b2004280204450d02200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c020b2004280204450d01200428020822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200410ab8b8080000b20042004417e6a2f01006b41002802ec82d48000118180808000000b2002200b360200410021040b2000200541016a3602080b200341f0006a24808080800020040b1e0020012802004188d3c680004111200128020428020c118080808000000b470020004101360200024020052802002200450d0020042000118180808000000b02402005280204450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b0b9a0101017f024002402001280208410f490d0041d7c7cd800020012802042203410f10f597808000450d010b20002802002001200210d78a8080000f0b024020022802002200418080808078460d002000450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402001280200450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b0b9c0201027f23808080800041206b2203248080808000410021040240024002400240024020024100480d00024020020d004101210441012001200210f4978080001a20034180808080783602080c030b41002d008083d480001a200241002802f482d480001182808080000022040d01410121040b2004200241d8d9c6800010b980808000000b2004417e6a41003b000020042001200210f497808000210120034180808080783602082002410f490d0041d7c7cd80002001410f10f597808000450d010b200028020021012003200236021c20032004360218200320023602142001200341146a200341086a10d78a8080000c010b20012001417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000b1300200028020020012002200310de8a8080000bc50101027f23808080800041206b22042480808080004100210502400240024020034100480d00024020030d00410121050c030b41002d008083d480001a200341002802f482d480001182808080000022050d01410121050b2005200341d8d9c6800010b980808000000b2005417e6a41003b00000b20052002200310f4978080002105200420033602102004200536020c20042003360208200441808080807836021420002802002001200441086a200441146a10de8a808000200441206a2480808080000bb11904047f017e067f017e23808080800041f0026b220a2480808080000240024020030d00418080808078210b0c010b4100210c0240024002402003280208220b4100480d002003280204210d0240200b0d004101210c0c030b41002d008083d480001a200b41002802f482d4800011828080800000220c0d014101210c0b200c200b41a8b2c8800010b980808000000b200c417e6a41003b00000b200bad422086200c200d200b10f497808000ad84210e0b200a200936029801200a200836029401200a200536029001200a200436028c01200a41003b019c01200a200e37028401200a200b36028001200a41d8016a2002200a4180016a10fc8a8080000240024002400240024002400240200a2802d801220b418080808078470d004100210441002802b483d4800041034b0d010c050b200a41046a41046a200a41d8016a41046a41f40010f4978080001a200a200236027c200a200b360204200a41d8006a210b2006410171210f41002108410021040340200a280240210c200a418080808078360240200a280244211002400240024002400240024002400240200a2d00790d00200a2802482111200a4180016a41186a200b41186a2205290000370300200a4180016a41106a200b41106a2206290000370300200a4180016a41086a200b41086a220d290000370300200a200b29000037038001410021090240200a28024c418080808078460d00200a200a2902503702a801200a41b0d3c680003602a401200221090b200a20093602a0010240024020022802442212450d00200a41d8016a41186a2005290000370300200a41d8016a41106a2006290000370300200a41d8016a41086a200d290000370300200a200b2900003703d801200a41b0016a2012200a41d8016a10f087808000200a41b0016a4100200a2802b0011b21050c010b41002105200a41003602b0010b41c4d3c6800041b0d3c6800020091b2106200a41a0016a200220091b210d0240024020022802482209450d00200228024c22122802080d03201241086a2213417f36020020092802080d04200941086a2214417f36020020022802502202280208450d0141ccd7c58000109a81808000000b200a20063602fc01200a200d3602f801200a4188d4c680003602f401200a41003602f001200a42003702e801200a41ecd3c680003602e401200a41003602dc01200a20053602e001200a20054100473602d801200a200a4180016a36028002200a41e0026a200a41046a200a41d8016a10b489808000200c418080808078460d07200a2802e00222024181808080784c0d06200a2802e8022011470d06200a2802e40222092010201110f5978080000d06200a41c0016a200a41046a200a41d8016a10b48980800002402002450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200a41e0026a41086a200a41c0016a41086a280200360200200a200a2902c0013703e0020c060b2002417f360208200a200241086a3602d401200a20133602cc01200a20143602c401200a200241106a3602d001200a2012410c6a3602c801200a200941106a3602c001200a20063602fc01200a200d3602f801200a4188d4c680003602f401200a42013702e801200a41ecd3c680003602e401200a41003602dc01200a20053602e001200a20054100473602d801200a200a4180016a36028002200a200a41c0016a3602f001200a41d0026a200a41046a200a41d8016a10b489808000200c418080808078460d04200a2802d00222024181808080784c0d03200a2802d8022011470d03200a2802d40222092010201110f5978080000d03200a41e0026a200a41046a200a41d8016a10b48980800002402002450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200a41d0026a41086a200a41e0026a41086a280200360200200a200a2902e0023703d0020c030b41808080807821094200210e0240200c41808080807872418080808078470d00420021150c0c0b20102010417e6a2f00006b41002802ec82d4800011818080800000420021150c0b0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b200c450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b200a2802d8022105200a2802d4022102200a2802d0022109200a2802c001450d02200a2802c401220c200c28020041016a360200200a2802cc01220c200c28020041016a360200200a2802d401220c200c28020041016a3602000c020b200c450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b200a2802e8022105200a2802e4022102200a2802e00221090b0240200a2802b001450d00200a2802b401220c200c28020041016a360200200a2802b801450d00200a2802bc01220c200c28020041016a3602000b0240024002400240024020094180808080786a0e020100020b200a41013a00790c070b0240200228020041fcffffff076a220b4101470d00200a2d00784101470d00200a41023a0079200210b68b8080000c070b0240024002400240200b4103200b4105491b0e0403030102000b2002280204450d022002280208220b200b417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d012002280208220b200b417e6a2f00006b41002802ec82d48000118180808000000c010b200210ab8b8080000b20022002417e6a2f00006b41002802ec82d48000118180808000004200210e418080808078210941002802b483d4800041034b0d01420021150c070b0240200f450d0020082007470d00200721080c050b02400240024020030d00200a41c0016a20012002200510ec8a8080000240200a2802c0014101470d00200a2802c401450d020b200a200536028801200a200236028401200a200936028001200a4180808080783602d8012001200a4180016a200a41d8016a10d78a808000200841016a2202417f20021b2108200441016a2202417f20021b21040c040b200a41c0016a200120032002200510d98a808000200a2802c0014101470d01200a2802c4010d010b200841016a2208417f20081b21082009450d0220022002417e6a2f00006b41002802ec82d48000118180808000000c020b200a200536028801200a200236028401200a200936028001200a4180808080783602d80120012003200a4180016a200a41d8016a10de8a808000200841016a2202417f20021b2108200441016a2202417f20021b21040c010b200a41c883808000ad422086200a41ef026aad8437038001410028029080d480002102410028028c80d48000210b41002802b083d480002103200a420137029002200a410136028802200a41c0d4c6800036028402200a410436028002200a419fd5c680003602fc01200a41043602f801200a41c8d4c68000ad4280808080f00a843702f001200a41003602ec01200a41a3d5c68000ad4280808080d002843702e401200a41003602e001200a4281808080a0d4003702d8012002419cf4ca8000200341024622031b2802102102200a200a4180016a36028c02200b41b4f4ca800020031b200a41d8016a2002118b8080800000420021150c050b200a28027c22020d000b41808080807821090c010b200a41c883808000ad422086200a41ef026aad843703d801410028029080d480002102410028028c80d48000210b41002802b083d480002103200a420137023c200a4101360234200a41c0d4c68000360230200a410436022c200a419fd5c68000360228200a4104360224200a41c8d4c68000ad4280808080f00a8437021c200a4100360218200a41a3d5c68000ad4280808080d00284370210200a410036020c200a4281808080e0d2003702042002419cf4ca8000200341024622031b2802102102200a200a41d8016a360238200b41b4f4ca800020031b200a41046a2002118b80808000000c030b2005ad42208621152002ad210e0c010b4200210e4180808080782109420021150b0240200a2802402202418080808078460d002002450d00200a28024422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a28024c2202418080808078460d002002450d00200a28025022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a28020c220b450d00200a28020841086a210203402002280200220320032802002203417f6a360200024020034101470d00200210de8f8080000b200241306a2102200b417f6a220b0d000b0b0240200a280204450d00200a28020822022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a2802384129490d00200a28021022022002417e6a2f00006b41002802ec82d48000118180808000000b2000200936020020002015200e843702040c010b2000418080808078360200410021080b200020083602102000200436020c200a41f0026a2480808080000ba40101017f0240024002400240200028020041fcffffff076a2201410320014105491b0e0403030102000b2000280204450d02200028020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2000280204450d01200028020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200010ab8b8080000b20002000417e6a2f00006b41002802ec82d48000118180808000000bb41904047f017e067f017e23808080800041f0026b220a2480808080000240024020030d00418080808078210b0c010b4100210c0240024002402003280208220b4100480d002003280204210d0240200b0d004101210c0c030b41002d008083d480001a200b41002802f482d4800011828080800000220c0d014101210c0b200c200b41a8b2c8800010b980808000000b200c417e6a41003b00000b200bad422086200c200d200b10f497808000ad84210e0b200a200936029801200a200836029401200a200536029001200a200436028c01200a41003b019c01200a200e37028401200a200b36028001200a41d8016a2002200a4180016a10fd8a8080000240024002400240024002400240200a2802d801220b418080808078470d004100210441002802b483d4800041034b0d010c050b200a41046a41046a200a41d8016a41046a41f40010f4978080001a200a200236027c200a200b360204200a41d8006a210b2006410171210f41002108410021040340200a280240210c200a418080808078360240200a280244211002400240024002400240024002400240200a2d00790d00200a2802482111200a4180016a41186a200b41186a2205290000370300200a4180016a41106a200b41106a2206290000370300200a4180016a41086a200b41086a220d290000370300200a200b29000037038001410021090240200a28024c418080808078460d00200a200a2902503702a801200a41d8d3c680003602a401200221090b200a20093602a0010240024020022802442212450d00200a41d8016a41186a2005290000370300200a41d8016a41106a2006290000370300200a41d8016a41086a200d290000370300200a200b2900003703d801200a41b0016a2012280200200a41d8016a10f087808000200a41b0016a4100200a2802b0011b21050c010b41002105200a41003602b0010b41c4d3c6800041d8d3c6800020091b2106200a41a0016a200220091b210d0240024020022802482209450d00200228024c22122802080d03201241086a2213417f36020020092802080d04200941086a2214417f36020020022802502202280208450d0141ccd7c58000109a81808000000b200a20063602fc01200a200d3602f801200a4188d4c680003602f401200a41003602f001200a42003702e801200a41ecd3c680003602e401200a41003602dc01200a20053602e001200a20054100473602d801200a200a4180016a36028002200a41e0026a200a41046a200a41d8016a10b489808000200c418080808078460d07200a2802e00222024181808080784c0d06200a2802e8022011470d06200a2802e40222092010201110f5978080000d06200a41c0016a200a41046a200a41d8016a10b48980800002402002450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200a41e0026a41086a200a41c0016a41086a280200360200200a200a2902c0013703e0020c060b2002417f360208200a200241086a3602d401200a20133602cc01200a20143602c401200a200241106a3602d001200a2012410c6a3602c801200a200941106a3602c001200a20063602fc01200a200d3602f801200a4188d4c680003602f401200a42013702e801200a41ecd3c680003602e401200a41003602dc01200a20053602e001200a20054100473602d801200a200a4180016a36028002200a200a41c0016a3602f001200a41d0026a200a41046a200a41d8016a10b489808000200c418080808078460d04200a2802d00222024181808080784c0d03200a2802d8022011470d03200a2802d40222092010201110f5978080000d03200a41e0026a200a41046a200a41d8016a10b48980800002402002450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200a41d0026a41086a200a41e0026a41086a280200360200200a200a2902e0023703d0020c030b41808080807821094200210e0240200c41808080807872418080808078470d00420021150c0c0b20102010417e6a2f00006b41002802ec82d4800011818080800000420021150c0b0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b200c450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b200a2802d8022105200a2802d4022102200a2802d0022109200a2802c001450d02200a2802c401220c200c28020041016a360200200a2802cc01220c200c28020041016a360200200a2802d401220c200c28020041016a3602000c020b200c450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b200a2802e8022105200a2802e4022102200a2802e00221090b0240200a2802b001450d00200a2802b401220c200c28020041016a360200200a2802b801450d00200a2802bc01220c200c28020041016a3602000b0240024002400240024020094180808080786a0e020100020b200a41013a00790c070b0240200228020041fcffffff076a220b4101470d00200a2d00784101470d00200a41023a0079200210b68b8080000c070b0240024002400240200b4103200b4105491b0e0403030102000b2002280204450d022002280208220b200b417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d012002280208220b200b417e6a2f00006b41002802ec82d48000118180808000000c010b200210ab8b8080000b20022002417e6a2f00006b41002802ec82d48000118180808000004200210e418080808078210941002802b483d4800041034b0d01420021150c070b0240200f450d0020082007470d00200721080c050b02400240024020030d00200a41c0016a20012002200510ec8a8080000240200a2802c0014101470d00200a2802c401450d020b200a200536028801200a200236028401200a200936028001200a4180808080783602d8012001200a4180016a200a41d8016a10d78a808000200841016a2202417f20021b2108200441016a2202417f20021b21040c040b200a41c0016a200120032002200510d98a808000200a2802c0014101470d01200a2802c4010d010b200841016a2208417f20081b21082009450d0220022002417e6a2f00006b41002802ec82d48000118180808000000c020b200a200536028801200a200236028401200a200936028001200a4180808080783602d80120012003200a4180016a200a41d8016a10de8a808000200841016a2202417f20021b2108200441016a2202417f20021b21040c010b200a41c883808000ad422086200a41ef026aad8437038001410028029080d480002102410028028c80d48000210b41002802b083d480002103200a420137029002200a410136028802200a41c0d4c6800036028402200a410436028002200a419fd5c680003602fc01200a41043602f801200a41c8d4c68000ad4280808080f00a843702f001200a41003602ec01200a41a3d5c68000ad4280808080d002843702e401200a41003602e001200a4281808080a0d4003702d8012002419cf4ca8000200341024622031b2802102102200a200a4180016a36028c02200b41b4f4ca800020031b200a41d8016a2002118b8080800000420021150c050b200a28027c22020d000b41808080807821090c010b200a41c883808000ad422086200a41ef026aad843703d801410028029080d480002102410028028c80d48000210b41002802b083d480002103200a420137023c200a4101360234200a41c0d4c68000360230200a410436022c200a419fd5c68000360228200a4104360224200a41c8d4c68000ad4280808080f00a8437021c200a4100360218200a41a3d5c68000ad4280808080d00284370210200a410036020c200a4281808080e0d2003702042002419cf4ca8000200341024622031b2802102102200a200a41d8016a360238200b41b4f4ca800020031b200a41046a2002118b80808000000c030b2005ad42208621152002ad210e0c010b4200210e4180808080782109420021150b0240200a2802402202418080808078460d002002450d00200a28024422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a28024c2202418080808078460d002002450d00200a28025022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a28020c220b450d00200a28020841086a210203402002280200220320032802002203417f6a360200024020034101470d00200210de8f8080000b200241306a2102200b417f6a220b0d000b0b0240200a280204450d00200a28020822022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a2802384129490d00200a28021022022002417e6a2f00006b41002802ec82d48000118180808000000b2000200936020020002015200e843702040c010b2000418080808078360200410021080b200020083602102000200436020c200a41f0026a2480808080000b040041000b3301017f20002802042201200128020041016a36020002402000280208450d00200028020c2200200028020041016a3602000b0b3a01017f20002802042201200128020041016a360200200028020c2201200128020041016a36020020002802142200200028020041016a3602000b7e01027f024020002802482201450d0020012001280200417f6a2202360200024020020d00200041c8006a10ff878080000b200028024c22012001280200417f6a2201360200024020010d00200041cc006a1081888080000b200028025022012001280200417f6a220136020020010d00200041d0006a1082888080000b0b8a0201037f23808080800041106b220224808080800041012103200128020041e580c280004101200128020428020c118080808000002104200241003a0009200220043a0008200220013602042002200036020c200241046a2002410c6a41c8fec78000108b818080001a2002200041016a36020c200241046a2002410c6a41c8fec78000108b818080001a2002200041026a36020c200241046a2002410c6a41c8fec78000108b818080001a2002200041036a36020c200241046a2002410c6a41c8fec78000108b818080001a024020022d00084101710d002002280204220028020041e680c280004101200028020428020c1180808080000021030b200241106a24808080800020030b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d00200020012002200341012006109f8c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610bd8b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610988c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610be8b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b800c01117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061084908080000c010b2002416c6a21080340024020040d0020002001200220034101200610958c8080000c020b200020014103762209418c016c6a210a2000200941d0006c6a210b02400240200141c000490d002000200b200a200910ba85808000210c0c010b2000210c2000200b410810f59780800022092000200a410810f597808000734100480d00200a200b200b200a410810f5978080002009734100481b210c0b2004417f6a2104200741106a200c41106a280200360200200741086a200c41086a2902003703002007200c290200370300200c20006b41146e210d024002400240024002402005450d002005200c410810f597808000417f4a0d010b20032001490d014100210b2000210a2002200141146c220e6a220f2110200d211103400240200a2000201141146c6a22124f0d00034020022010416c6a2210200a200c410810f59780800022134100481b200b41146c6a2209200a290200370200200941106a200a41106a280200360200200941086a200a41086a2902003702002013411f76200b6a210b200a41146a220a2012490d000b0b024020112001460d002010416c6a2210200b41146c6a2209200a290200370200200941106a200a41106a280200360200200941086a200a41086a290200370200200a41146a210a200121110c010b0b20002002200b41146c221410f49780800021152001200b6b211102402001200b460d0020114101712116201520146a21174100211002402001200b41016a460d002011417e7121122008200e6a2109410021102017210a0340200a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200a41146a200f201041feffffff037341146c6a2213290200370200200a411c6a201341086a290200370200200a41246a201341106a280200360200200941586a2109200a41286a210a2012201041026a2210470d000b0b2016450d002017201041146c6a220a200f2010417f7341146c6a2209290200370200200a41106a200941106a280200360200200a41086a200941086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021092000210a2002200141146c22146a2211211003400240200a2000200d41146c6a22124f0d00034020022010416c6a2210200c200a410810f597808000417f4a22131b200941146c6a220b200a290200370200200b41106a200a41106a280200360200200b41086a200a41086a290200370200200920136a2109200a41146a220a2012490d000b0b0240200d2001460d002002200941146c6a220b200a290200370200200b41106a200a41106a280200360200200b41086a200a41086a290200370200200a41146a210a200941016a21092010416c6a21102001210d0c010b0b20002002200941146c221010f497808000210a0240024020012009460d00200120096b220b410171210f200a20106a21004100211302402001200941016a460d00200b417e712112200820146a2110410021132000210a0340200a2010290200370200200a41106a201041106a280200360200200a41086a201041086a290200370200200a41146a2011201341feffffff037341146c6a220c290200370200200a411c6a200c41086a290200370200200a41246a200c41106a280200360200201041586a2110200a41286a210a2012201341026a2213470d000b0b0240200f450d002000201341146c6a220a20112013417f7341146c6a2210290200370200200a41106a201041106a280200360200200a41086a201041086a2902003702000b200120094f0d012009200141e0d6c68000109281808000000b200a200141146c6a41002002200320061084908080000c050b41002105200b2101200b41214f0d030c020b000b201520146a20112002200320042007200610bf8b808000200b2101200b41214f0d010b0b2000200b2002200320061084908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610a08c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c08b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000bca0e01117f23808080800041c0006b220724808080800002400240200141214f0d00200020012002200320061086908080000c010b2002415c6a21080340024020040d0020002001200220034101200610a38c8080000c020b20002001410376220941fc016c6a210a200020094190016c6a210b02400240200141c000490d002000200b200a200910b785808000210c0c010b2000200a200b20002802002209200b280200220d49220e200d200a280200220c49731b200e2009200c49731b210c0b2004417f6a2104200741206a200c41206a280200360200200741186a200c41186a290200370300200741106a200c41106a290200370300200741086a200c41086a2902003703002007200c290200370300200c20006b41246e210f024002400240024002402005450d002005280200200c2802004f0d010b20032001490d014100210b200021092002200141246c22106a2211210d200f21120340024020092000201241246c6a22134f0d0003402002200d415c6a220d2009280200200c28020049220e1b200b41246c6a220a2009290200370200200a41206a200941206a280200360200200a41186a200941186a290200370200200a41106a200941106a290200370200200a41086a200941086a290200370200200b200e6a210b200941246a22092013490d000b0b024020122001460d00200d415c6a220d200b41246c6a220a2009290200370200200a41206a200941206a280200360200200a41186a200941186a290200370200200a41106a200941106a290200370200200a41086a200941086a290200370200200941246a2109200121120c010b0b20002002200b41246c221410f49780800021152001200b6b211202402001200b460d0020124101712116201520146a21174100210e02402001200b41016a460d002012417e712113200820106a210a4100210e2017210903402009200a290200370200200941206a200a41206a280200360200200941186a200a41186a290200370200200941106a200a41106a290200370200200941086a200a41086a290200370200200941246a2011200e41feffffff037341246c6a220d2902003702002009412c6a200d41086a290200370200200941346a200d41106a2902003702002009413c6a200d41186a290200370200200941c4006a200d41206a280200360200200a41b87f6a210a200941c8006a21092013200e41026a220e470d000b0b2016450d002017200e41246c6a22092011200e417f7341246c6a220a290200370200200941206a200a41206a280200360200200941186a200a41186a290200370200200941106a200a41106a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602382007410136022c200741c8d6c6800036022820074204370230200741286a41d0d6c6800010fe80808000000b20032001490d004100210d200021092002200141246c22146a2212210b0340024020092000200f41246c6a22134f0d0003402002200b415c6a220b200c28020020092802004f220e1b200d41246c6a220a2009290200370200200a41206a200941206a280200360200200a41186a200941186a290200370200200a41106a200941106a290200370200200a41086a200941086a290200370200200d200e6a210d200941246a22092013490d000b0b0240200f2001460d002002200d41246c6a220a2009290200370200200a41206a200941206a280200360200200a41186a200941186a290200370200200a41106a200941106a290200370200200a41086a200941086a290200370200200941246a2109200d41016a210d200b415c6a210b2001210f0c010b0b20002002200d41246c220a10f4978080002109024002402001200d460d002001200d6b220b41017121112009200a6a21004100210c02402001200d41016a460d00200b417e712113200820146a210a4100210c2000210903402009200a290200370200200941206a200a41206a280200360200200941186a200a41186a290200370200200941106a200a41106a290200370200200941086a200a41086a290200370200200941246a2012200c41feffffff037341246c6a220e2902003702002009412c6a200e41086a290200370200200941346a200e41106a2902003702002009413c6a200e41186a290200370200200941c4006a200e41206a280200360200200a41b87f6a210a200941c8006a21092013200c41026a220c470d000b0b02402011450d002000200c41246c6a22092012200c417f7341246c6a220a290200370200200941206a200a41206a280200360200200941186a200a41186a290200370200200941106a200a41106a290200370200200941086a200a41086a2902003702000b2001200d4f0d01200d200141e0d6c68000109281808000000b2009200141246c6a41002002200320061086908080000c050b41002105200b2101200b41214f0d030c020b000b201520146a20122002200320042007200610c18b808000200b2101200b41214f0d010b0b2000200b2002200320061086908080000b200741c0006a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610978c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c28b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610a58c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c38b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d00200020012002200341012006109b8c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c48b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d00200020012002200341012006109d8c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c58b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b890f01117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061089908080000c010b200241746a21080340024020040d0020002001200220034101200610968c8080000c020b20002001410376220941d4006c6a210a2000200941306c6a210b02400240200141c000490d002000200b200a200910bd85808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2802003602002007200c290200370308200c20006b410c6e210f024002400240024002402005450d002005280200200c2802004f0d010b20032001490d014100210b2000210920022001410c6c22106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b410c6c6a22134f0d0003402002200a41746a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a2009410c6a220e280200200c2802004922141b200b200d6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200941186a220d280200200c28020049220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200941246a220d280200200c2802004922141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210b200941306a22092013490d000b0b0240200920002012410c6c6a22144f0d0003402002200a41746a220a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a280200360200200b200d6a210b2009410c6a22092014490d000b0b024020122001460d00200a41746a220a200b410c6c6a220d2009290200370200200d41086a200941086a2802003602002009410c6a2109200121120c010b0b20002002200b410c6c221210f49780800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2011200d41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200d41026a220d470d000b0b2016450d002017200d410c6c6a22092011200d417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b200b450d002001200b4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d004100210d2000210920022001410c6c22116a2212210a03400240200920004100200f417d6a220b200b200f4b1b410c6c6a22134f0d0003402002200a41746a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a200c2802002009410c6a220e2802004f22141b200d200b6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200c280200200941186a220d2802004f220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200c280200200941246a220d2802004f22141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210d200941306a22092013490d000b0b024020092000200f410c6c6a22144f0d0003402002200a41746a220a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a280200360200200d200b6a210d2009410c6a22092014490d000b0b0240200f2001460d002002200d410c6c6a220b2009290200370200200b41086a200941086a2802003602002009410c6a2109200d41016a210d200a41746a210a2001210f0c010b0b20002002200d410c6c220a10f4978080002109024002402001200d460d002001200d6b220b41017121132009200a6a21004100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2000210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2012200c41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200c41026a220c470d000b0b02402013450d002000200c410c6c6a22092012200c417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b2001200d4f0d01200d200141e0d6c68000109281808000000b20092001410c6c6a41002002200320061089908080000c050b41002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610c68b808000200b2101200b41214f0d010b0b2000200b2002200320061089908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610948c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c78b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610a28c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c88b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d00200020012002200341012006109c8c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610c98b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b8b0f01117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061088908080000c010b200241706a21080340024020040d0020002001200220034101200610998c8080000c020b20002001410376220941f0006c6a210a200020094106746a210b02400240200141c000490d002000200b200a200910bb85808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2902003703002007200c290200370308200c20006b410476210f024002400240024002402005450d002005280200200c2802004f0d010b20032001490d014100210b200021092002200141047422106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b4104746a22134f0d0003402002200a41706a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200941106a220e280200200c2802004922141b200b200d6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200941206a220d280200200c28020049220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200941306a220d280200200c2802004922141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210b200941c0006a22092013490d000b0b02402009200020124104746a22144f0d0003402002200a41706a220a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a290200370200200b200d6a210b200941106a22092014490d000b0b024020122001460d00200a41706a220a200b4104746a220d2009290200370200200d41086a200941086a290200370200200941106a2109200121120c010b0b20002002200b410474221210f49780800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a290200370200200941106a2011200d41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200d41026a220d470d000b0b2016450d002017200d4104746a22092011200d417f734104746a220a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d004100210d200021092002200141047422116a2212210a03400240200920004100200f417d6a220b200b200f4b1b4104746a22134f0d0003402002200a41706a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200c280200200941106a220e2802004f22141b200d200b6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200c280200200941206a220d2802004f220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200c280200200941306a220d2802004f22141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210d200941c0006a22092013490d000b0b024020092000200f4104746a22144f0d0003402002200a41706a220a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a290200370200200d200b6a210d200941106a22092014490d000b0b0240200f2001460d002002200d4104746a220b2009290200370200200b41086a200941086a290200370200200941106a2109200d41016a210d200a41706a210a2001210f0c010b0b20002002200d410474220a10f4978080002109024002402001200d460d002001200d6b220b41017121132009200a6a21004100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2000210903402009200a290200370200200941086a200a41086a290200370200200941106a2012200c41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200c41026a220c470d000b0b02402013450d002000200c4104746a22092012200c417f734104746a220a290200370200200941086a200a41086a2902003702000b2001200d4f0d01200d200141e0d6c68000109281808000000b200920014104746a41002002200320061088908080000c050b41002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610ca8b808000200b2101200b41214f0d010b0b2000200b2002200320061088908080000b200741306a2480808080000bbd0d01117f23808080800041c0006b220724808080800002400240200141214f0d0020002001200220032006108a908080000c010b200241606a21080340024020040d00200020012002200341012006109a8c8080000c020b20002001410376220941e0016c6a210a200020094107746a210b02400240200141c000490d002000200b200a200910b985808000210c0c010b2000210c2000200b412010f59780800022092000200a412010f597808000734100480d00200a200b200b200a412010f5978080002009734100481b210c0b2004417f6a2104200741086a41186a200c41186a290000370300200741086a41106a200c41106a290000370300200741086a41086a200c41086a2900003703002007200c290000370308200c20006b410576210d024002400240024002402005450d002005200c412010f597808000417f4a0d010b20032001490d01410021092000210a20022001410574220e6a220f2110200d211103400240200a200020114105746a22124f0d0003402002201041606a2210200a200c412010f59780800022134100481b20094105746a220b200a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a2900003700002013411f7620096a2109200a41206a220a2012490d000b0b024020112001460d00201041606a221020094105746a220b200a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a290000370000200a41206a210a200121110c010b0b200020022009410574221410f4978080002115200120096b2111024020012009460d0020114101712116201520146a21174100211302402001200941016a460d002011417e7121122008200e6a210b410021132017210a0340200a200b290000370000200a41186a200b41186a290000370000200a41106a200b41106a290000370000200a41086a200b41086a290000370000200a41206a200f201341feffff3f734105746a2210290000370000200a41286a201041086a290000370000200a41306a201041106a290000370000200a41386a201041186a290000370000200b41406a210b200a41c0006a210a2012201341026a2213470d000b0b2016450d00201720134105746a220a200f2013417f734105746a220b290000370000200a41186a200b41186a290000370000200a41106a200b41106a290000370000200a41086a200b41086a2900003700000b2009450d00200120094f0d02200741003602382007410136022c200741c8d6c6800036022820074204370230200741286a41d0d6c6800010fe80808000000b20032001490d00410021102000210a2002200141057422146a2211210903400240200a2000200d4105746a22124f0d0003402002200941606a2209200c200a412010f597808000417f4a22131b20104105746a220b200a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a290000370000201020136a2110200a41206a220a2012490d000b0b0240200d2001460d00200220104105746a220b200a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a290000370000200a41206a210a201041016a2110200941606a21092001210d0c010b0b200020022010410574220b10f497808000210a0240024020012010460d00200120106b2209410171210f200a200b6a21004100210c02402001201041016a460d002009417e712112200820146a210b4100210c2000210a0340200a200b290000370000200a41186a200b41186a290000370000200a41106a200b41106a290000370000200a41086a200b41086a290000370000200a41206a2011200c41feffff3f734105746a2213290000370000200a41286a201341086a290000370000200a41306a201341106a290000370000200a41386a201341186a290000370000200b41406a210b200a41c0006a210a2012200c41026a220c470d000b0b0240200f450d002000200c4105746a220a2011200c417f734105746a220b290000370000200a41186a200b41186a290000370000200a41106a200b41106a290000370000200a41086a200b41086a2900003700000b200120104f0d012010200141e0d6c68000109281808000000b200a20014105746a4100200220032006108a908080000c050b4100210520092101200941214f0d030c020b000b201520146a2011200220032004200741086a200610cb8b80800020092101200941214f0d010b0b20002009200220032006108a908080000b200741c0006a2480808080000bf51201167f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061087908080000c010b200241746a21080340024020040d0020002001200220034101200610a18c8080000c020b200741086a41086a200020002001200610bf858080002209410c6c6a220a41086a220b2802003602002007200a2902003703082004417f6a2104024002400240024002402005450d00200541046a280200200a41046a280200200541086a280200220c200b280200220d200c200d491b10f597808000220e200c200d6b200e1b417f4a0d010b20032001490d014100210d2000210f20022001410c6c22106a2211211220092113034002400240200f200041002013417d6a220c200c20134b1b410c6c6a2214490d00200f210c0c010b410021154100211603402002201220156a220e41746a200f20166a220c41046a280200200a41046a2217280200200c41086a22182802002219200b280200221a2019201a491b10f597808000221b2019201a6b201b1b221b4100481b200d410c6c6a2219200c290200370200201941086a20182802003602002002200e41686a200c41106a2802002017280200200c41146a22182802002219200b280200221a2019201a491b10f597808000221c2019201a6b201c1b221a4100481b201b411f76200d6a221b410c6c6a220d200c410c6a290200370200200d41086a20182802003602002002200e415c6a200c411c6a2802002017280200200c41206a2218280200220d200b2802002219200d2019491b10f597808000221c200d20196b201c1b22194100481b201a411f76201b6a221a410c6c6a220d200c41186a290200370200200d41086a20182802003602002002200e41506a200c41286a2802002017280200200c412c6a2217280200220d200b280200220e200d200e491b10f5978080002218200d200e6b20181b220d4100481b2019411f76201a6a220e410c6c6a2219200c41246a290200370200201941086a2017280200360200200d411f76200e6a210d201541506a2115200f201641306a22166a220c2014490d000b201220166b21120b0240200c20002013410c6c6a22194f0d0003402002201241746a2212200c41046a280200200a41046a280200200c41086a2216280200220e200b2802002217200e2017491b10f5978080002215200e20176b20151b220e4100481b200d410c6c6a2217200c290200370200201741086a2016280200360200200e411f76200d6a210d200c410c6a220c2019490d000b0b024020132001460d00201241746a2212200d410c6c6a220e200c290200370200200e41086a200c41086a280200360200200c410c6a210f200121130c010b0b20002002200d410c6c221910f497808000211a2001200d6b211502402001200d460d002015410171210f201a20196a21184100211702402001200d41016a460d002015417e712116200820106a210e410021172018210c0340200c200e290200370200200c41086a200e41086a280200360200200c410c6a2011201741feffffff0373410c6c6a2212290200370200200c41146a201241086a280200360200200e41686a210e200c41186a210c2016201741026a2217470d000b0b200f450d0020182017410c6c6a220c20112017417f73410c6c6a220e290200370200200c41086a200e41086a2802003602000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d004100210e2000210f20022001410c6c22116a22132112034002400240200f200041002009417d6a220c200c20094b1b410c6c6a2214490d00200f210c0c010b410021154100211603402002201220156a220d41746a200a41046a2217280200200f20166a220c41046a280200200b2802002219200c41086a2218280200221a2019201a491b10f597808000221b2019201a6b201b1b417f4a221b1b200e410c6c6a2219200c290200370200201941086a20182802003602002002200d41686a2017280200200c41106a280200200b2802002219200c41146a2218280200221a2019201a491b10f597808000221c2019201a6b201c1b417f4a221a1b200e201b6a221b410c6c6a220e200c410c6a290200370200200e41086a20182802003602002002200d415c6a2017280200200c411c6a280200200b280200220e200c41206a22182802002219200e2019491b10f597808000221c200e20196b201c1b417f4a22191b201b201a6a221a410c6c6a220e200c41186a290200370200200e41086a20182802003602002002200d41506a2017280200200c41286a280200200b280200220d200c412c6a2217280200220e200d200e491b10f5978080002218200d200e6b20181b417f4a220d1b201a20196a220e410c6c6a2219200c41246a290200370200201941086a2017280200360200200e200d6a210e201541506a2115200f201641306a22166a220c2014490d000b201220166b21120b0240200c20002009410c6c6a22194f0d0003402002201241746a2212200a41046a280200200c41046a280200200b280200220d200c41086a22162802002217200d2017491b10f5978080002215200d20176b20151b417f4a220d1b200e410c6c6a2217200c290200370200201741086a2016280200360200200e200d6a210e200c410c6a220c2019490d000b0b024020092001460d002002200e410c6c6a220d200c290200370200200d41086a200c41086a280200360200200c410c6a210f200e41016a210e201241746a2112200121090c010b0b20002002200e410c6c220b10f497808000210c024002402001200e460d002001200e6b220d4101712115200c200b6a21004100211702402001200e41016a460d00200d417e712116200820116a210b410021172000210c0340200c200b290200370200200c41086a200b41086a280200360200200c410c6a2013201741feffffff0373410c6c6a2212290200370200200c41146a201241086a280200360200200b41686a210b200c41186a210c2016201741026a2217470d000b0b02402015450d0020002017410c6c6a220c20132017417f73410c6c6a220b290200370200200c41086a200b41086a2802003602000b2001200e4f0d01200e200141e0d6c68000109281808000000b200c2001410c6c6a41002002200320061087908080000c050b41002105200d2101200d41214f0d030c020b000b201a20196a2015200220032004200741086a200610cc8b808000200d2101200d41214f0d010b0b2000200d2002200320061087908080000b200741306a2480808080000b890f01117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061089908080000c010b200241746a21080340024020040d00200020012002200341012006109e8c8080000c020b20002001410376220941d4006c6a210a2000200941306c6a210b02400240200141c000490d002000200b200a200910bd85808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2802003602002007200c290200370308200c20006b410c6e210f024002400240024002402005450d002005280200200c2802004f0d010b20032001490d014100210b2000210920022001410c6c22106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b410c6c6a22134f0d0003402002200a41746a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a2009410c6a220e280200200c2802004922141b200b200d6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200941186a220d280200200c28020049220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200941246a220d280200200c2802004922141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210b200941306a22092013490d000b0b0240200920002012410c6c6a22144f0d0003402002200a41746a220a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a280200360200200b200d6a210b2009410c6a22092014490d000b0b024020122001460d00200a41746a220a200b410c6c6a220d2009290200370200200d41086a200941086a2802003602002009410c6a2109200121120c010b0b20002002200b410c6c221210f49780800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2011200d41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200d41026a220d470d000b0b2016450d002017200d410c6c6a22092011200d417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b200b450d002001200b4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d004100210d2000210920022001410c6c22116a2212210a03400240200920004100200f417d6a220b200b200f4b1b410c6c6a22134f0d0003402002200a41746a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a200c2802002009410c6a220e2802004f22141b200d200b6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200c280200200941186a220d2802004f220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200c280200200941246a220d2802004f22141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210d200941306a22092013490d000b0b024020092000200f410c6c6a22144f0d0003402002200a41746a220a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a280200360200200d200b6a210d2009410c6a22092014490d000b0b0240200f2001460d002002200d410c6c6a220b2009290200370200200b41086a200941086a2802003602002009410c6a2109200d41016a210d200a41746a210a2001210f0c010b0b20002002200d410c6c220a10f4978080002109024002402001200d460d002001200d6b220b41017121132009200a6a21004100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2000210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2012200c41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200c41026a220c470d000b0b02402013450d002000200c410c6c6a22092012200c417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b2001200d4f0d01200d200141e0d6c68000109281808000000b20092001410c6c6a41002002200320061089908080000c050b41002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610cd8b808000200b2101200b41214f0d010b0b2000200b2002200320061089908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610a68c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610ce8b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b921201117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061085908080000c010b200241706a21080340024020040d0020002001200220034101200610a48c8080000c020b200741086a41086a200020002001200610be8580800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10f5978080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10f5978080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10f5978080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10f5978080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10f5978080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610f49780800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c200741c8d6c6800036021820074204370220200741186a41d0d6c6800010fe80808000000b20032001490d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10f5978080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10f5978080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10f5978080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10f5978080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10f5978080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474220a10f497808000210b0240024020012011460d00200120116b220d4101712115200b200a6a21004100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2000210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b02402015450d002000200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b200120114f0d012011200141e0d6c68000109281808000000b200b20014104746a41002002200320061085908080000c050b41002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610cf8b808000200d2101200d41214f0d010b0b2000200d2002200320061085908080000b200741306a2480808080000b1e00200128020041f0d6c68000410c200128020428020c118080808000000b8f0101027f23808080800041106b2204248080808000200441046a200120012f010010be878080000240200428020c22012004280204470d00200441046a41dcd7c6800010cc808080000b200428020820014103746a22052003360204200520023a00002000418080c400360208200041146a200141016a3602002000200429020437020c200441106a2480808080000b2601017f23808080800041106b2202248080808000200241086a200128020410e78f808000000b2601017f23808080800041106b2202248080808000200241086a200128020410e78f808000000bef0101037f23808080800041206b2208248080808000024002402003410f4b0d00200241d7c7cd8000200310f59780800021090c010b41d7c7cd80002002410f10f59780800021090b024002402009450d00200128020022092002200310d88a808000210a2008410c6a20092001280204410020022003200420052006200710b58b808000200041086a2008410c6a41086a2802003602002000200829020c370200200a200828021822036a2102200828021c21010c010b20004180808080783602004100210341002102410021010b20002001360214200020023602102000200336020c200841206a2480808080000bef0101037f23808080800041206b2208248080808000024002402003410f4b0d00200241d7c7cd8000200310f59780800021090c010b41d7c7cd80002002410f10f59780800021090b024002402009450d00200128020022092002200310d88a808000210a2008410c6a20092001280204410020022003200420052006200710b78b808000200041086a2008410c6a41086a2802003602002000200829020c370200200a200828021822036a2102200828021c21010c010b20004180808080783602004100210341002102410021010b20002001360214200020023602102000200336020c200841206a2480808080000bc20503017f037e057f23808080800041f0006b2204248080808000200441cc006a20012802002002200310ec8a808000024002400240024002400240200428024c4101470d0020042802502201450d02200441086a2001200428025441002802c480d4800011868080800000200441286a41086a200441086a41086a290300370300200441286a41106a200441086a41106a290300370300200441286a41186a200441086a41186a290300370300200420042903083703280c010b200441cc006a20012802042002200310da8f80800020042d004c22014102460d03200441086a41186a200441e5006a2900002205370300200441086a41106a200441dd006a2900002206370300200441086a41086a200441d5006a2900002207370300200441286a41086a2007370300200441286a41106a2006370300200441286a41186a20053703002004200429004d2205370308200420053703282001410171450d010b20044100360254200442808080801037024c41002d008083d480001a412041002802f482d48000118280808000002201450d03200120042903283700002001417e6a220841003b0000200141086a2209200441286a41086a290300370000200141106a220a200441286a41106a290300370000200141186a220b200441286a41186a290300370000200441cc006a4100412010f4918080002004280250200441cc006a41086a2202280200220c6a22032001290000370000200341086a2009290000370000200341106a200a290000370000200341186a200b2900003700002002200c41206a360200200120082f00006b41002802ec82d4800011818080800000200041086a20022802003602002000200429024c3702000c010b20004180808080783602000b200441f0006a2480808080000f0b41f8d9c680004130200441ef006a41e8d9c6800041a8dac6800010a981808000000b4101412010ab80808000000bc20503017f037e057f23808080800041f0006b2204248080808000200441cc006a20012802002002200310ec8a808000024002400240024002400240200428024c4101470d0020042802502201450d02200441086a2001200428025441002802c480d4800011868080800000200441286a41086a200441086a41086a290300370300200441286a41106a200441086a41106a290300370300200441286a41186a200441086a41186a290300370300200420042903083703280c010b200441cc006a20012802042002200310dc8f80800020042d004c22014102460d03200441086a41186a200441e5006a2900002205370300200441086a41106a200441dd006a2900002206370300200441086a41086a200441d5006a2900002207370300200441286a41086a2007370300200441286a41106a2006370300200441286a41186a20053703002004200429004d2205370308200420053703282001410171450d010b20044100360254200442808080801037024c41002d008083d480001a412041002802f482d48000118280808000002201450d03200120042903283700002001417e6a220841003b0000200141086a2209200441286a41086a290300370000200141106a220a200441286a41106a290300370000200141186a220b200441286a41186a290300370000200441cc006a4100412010f4918080002004280250200441cc006a41086a2202280200220c6a22032001290000370000200341086a2009290000370000200341106a200a290000370000200341186a200b2900003700002002200c41206a360200200120082f00006b41002802ec82d4800011818080800000200041086a20022802003602002000200429024c3702000c010b20004180808080783602000b200441f0006a2480808080000f0b41f8d9c680004130200441ef006a41e8d9c6800041a8dac6800010a981808000000b4101412010ab80808000000bcf0601077f23808080800041d0026b22032480808080002001280200220441c0006a21050240024020042802a001418080808078460d00200341d0006a41186a200541186a290000370300200341d0006a41106a200541106a290000370300200341d0006a41086a200541086a290000370300200320052900003703500c010b200128020421062003410036021c2003410036020c2003410036024020034100360230200320042802c0012207360224200320042802bc0122013602202003200736021420032001360210200320042802b4012208360248200320042802b00122073602442003200836023820032007360234200320042802c401410020011b36022820032001410047220136021820032001360208200320042802b801410020071b36024c20032007410047220436023c2003200436022c200341f0006a2006200341086a2003412c6a200210ea8f808000200341d0006a41186a2204200341f0006a41186a290300370300200341d0006a41106a2201200341f0006a41106a290300370300200341d0006a41086a2207200341f0006a41086a29030037030020032003290370370350200341e0016a41206a200341f0006a41206a41d00010f4978080001a200341e0016a41086a2007290300370300200341e0016a41106a2001290300370300200341e0016a41186a2004290300370300200320032903503703e0012005200341e0016a41f00010f4978080001a0b41002d008083d480001a200341003602e80120034280808080103702e0010240412041002802f482d480001182808080000022040d004101412010ab80808000000b200420032903503700002004417e6a220741003b0000200441086a2202200341d0006a41086a290300370000200441106a2206200341d0006a41106a290300370000200441186a2208200341d0006a41186a290300370000200341e0016a4100412010f49180800020032802e401200341e0016a41086a220128020022096a22052004290000370000200541086a2002290000370000200541106a2006290000370000200541186a20082900003700002001200941206a360200200420072f00006b41002802ec82d4800011818080800000200041086a2001280200360200200020032902e001370200200341d0026a2480808080000bcf0601077f23808080800041d0026b22032480808080002001280200220441c0006a21050240024020042802a001418080808078460d00200341d0006a41186a200541186a290000370300200341d0006a41106a200541106a290000370300200341d0006a41086a200541086a290000370300200320052900003703500c010b200128020421062003410036021c2003410036020c2003410036024020034100360230200320042802c0012207360224200320042802bc0122013602202003200736021420032001360210200320042802b4012208360248200320042802b00122073602442003200836023820032007360234200320042802c401410020011b36022820032001410047220136021820032001360208200320042802b801410020071b36024c20032007410047220436023c2003200436022c200341f0006a2006200341086a2003412c6a200210e98f808000200341d0006a41186a2204200341f0006a41186a290300370300200341d0006a41106a2201200341f0006a41106a290300370300200341d0006a41086a2207200341f0006a41086a29030037030020032003290370370350200341e0016a41206a200341f0006a41206a41d00010f4978080001a200341e0016a41086a2007290300370300200341e0016a41106a2001290300370300200341e0016a41186a2004290300370300200320032903503703e0012005200341e0016a41f00010f4978080001a0b41002d008083d480001a200341003602e80120034280808080103702e0010240412041002802f482d480001182808080000022040d004101412010ab80808000000b200420032903503700002004417e6a220741003b0000200441086a2202200341d0006a41086a290300370000200441106a2206200341d0006a41106a290300370000200441186a2208200341d0006a41186a290300370000200341e0016a4100412010f49180800020032802e401200341e0016a41086a220128020022096a22052004290000370000200541086a2002290000370000200541106a2006290000370000200541186a20082900003700002001200941206a360200200420072f00006b41002802ec82d4800011818080800000200041086a2001280200360200200020032902e001370200200341d0026a2480808080000bb50202017f017e23808080800041106b22052480808080002005200128020020022003200410d98a808000024002400240024020052802004101470d00200528020422030d0141808080807821010c030b2005200128020420022003200410f58a80800020052802002201418180808078460d01200529020421060c020b41002104024002400240200528020822014100480d00024020010d00410121040c030b41002d008083d480001a200141002802f482d480001182808080000022040d01410121040b2004200141d8d9c6800010b980808000000b2004417e6a41003b00000b2001ad42208620042003200110f497808000ad8421060c010b41f8d9c6800041302005410f6a41e8d9c6800041b8dac6800010a981808000000b2000200637020420002001360200200541106a2480808080000bb50202017f017e23808080800041106b22052480808080002005200128020020022003200410d98a808000024002400240024020052802004101470d00200528020422030d0141808080807821010c030b2005200128020420022003200410f48a80800020052802002201418180808078460d01200529020421060c020b41002104024002400240200528020822014100480d00024020010d00410121040c030b41002d008083d480001a200141002802f482d480001182808080000022040d01410121040b2004200141d8d9c6800010b980808000000b2004417e6a41003b00000b2001ad42208620042003200110f497808000ad8421060c010b41f8d9c6800041302005410f6a41e8d9c6800041b8dac6800010a981808000000b2000200637020420002001360200200541106a2480808080000b15002000410036020820004280808080c0003702000b9a0101017f024002402001280208410f490d0041d7c7cd800020012802042203410f10f597808000450d010b20002802002001200210d78a8080000f0b024020022802002200418080808078460d002000450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402001280200450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b0b8c0201067f20012802042102024020012802082203450d002003410171210441002105024020034101460d002003417e7121062002210341002105034002402003280200450d00200341046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200341186a280200450d002003411c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200341306a21032006200541026a2205470d000b0b2004450d002002200541186c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b02402001280200450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b0b920101017f23808080800041306b2203248080808000200320002802002001200210ec8a8080000240024020032802004101470d00200328020441004721000c010b2003410e6a20002802042001200210dc8f80800020032d000e22004102470d0041f8d9c6800041302003412f6a41e8d9c6800041c8dac6800010a981808000000b200341306a24808080800020004101710b920101017f23808080800041306b2203248080808000200320002802002001200210ec8a8080000240024020032802004101470d00200328020441004721000c010b2003410e6a20002802042001200210da8f80800020032d000e22004102470d0041f8d9c6800041302003412f6a41e8d9c6800041c8dac6800010a981808000000b200341306a24808080800020004101710bf20101057f23808080800041106b220324808080800041002104024002400240200128020822054100480d002000280200210620012802042104024020050d00410121070c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410121040b2004200541a8b2c8800010b980808000000b2007417e6a41003b00000b20072004200510f49780800021072003200536020c20032007360208200320053602042006200341046a20022000280204200110db8a80800002402001280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000bf20101057f23808080800041106b220324808080800041002104024002400240200128020822054100480d002000280200210620012802042104024020050d00410121070c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410121040b2004200541a8b2c8800010b980808000000b2007417e6a41003b00000b20072004200510f49780800021072003200536020c20032007360208200320053602042006200341046a20022000280204200110dc8a80800002402001280200450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000b831701137f23808080800041c0006b2204248080808000200441246a200128020422052002200310dd8f80800002400240024002400240024020042802242206418180808078460d00200428022c210720042802282108200128020022012802bc012209450d0320012802c0012101200441023602302004200336022c20042002360228200441013602242004410c6a20092001200441246a109d978080002004280218210a200428020c2201450d0220042802102109200428021421032004280220210b02402001200a470d002003200b460d040b024002400240200320012f01aa144f0d00200121020c010b034020012802a0132202450d02200941016a210920012f01a814210320022101200320022f01aa144f0d000b0b200341e0016c210c20022003410c6c6a41a4136a210d0240024020090d00200341016a2103200221010c010b200220034102746a41b0146a2802002101410021032009417f6a220e450d002009417e6a210f0240200e4107712209450d000340200e417f6a210e20012802ac1421012009417f6a22090d000b0b200f4107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200e41786a220e0d000b0b2002200c6a2110200d280208210c200d28020421112006418080808078460d024101210902400240024003402008210f0340200622124180808080784621130240024003400240024002400240024002402009410171450d002010210e200c2102201121080c010b024002400240024002402001450d0002402001200a470d002003200b460d070b200320012f01aa14490d01410121094100210e0340200e210820012802a0132202450d03200841016a210e2009417f6a210920012f01a814210320022101200320022f01aa144f0d000b2002200341e0016c6a210e20022003410c6c6a41a4136a2106024020094101470d0020022101200341016a21030c050b200220034102746a41b0146a2802002101410021032009450d0402400240410020096b220d4107710d00200d21020c010b41002102410020084107716b2108034020012802ac14210120082002417f6a2202470d000b200220096b21020b200d4108490d04034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200241786a22020d000c050b0b200a0d020c050b2001200341e0016c6a210e20012003410c6c6a41a4136a2106200341016a21030c020b41e0cac5800010a081808000000b41d0cac5800010a081808000000b20062802082102200628020421080b20130d05200f20082007200220072002491b10f5978080002209200720026b20091b22064100480d00200e200e28020041054b22094103746a280200220d450d090240200e280204200e41046a20091b200d412c6c6a220e41546a2214280200220941014b0d00200e41586a22152802002116200e41706a280200210d02402009410171450d002016200d460d010b2004200e41646a360224200441246a20092016200d10a5978080002015200d36020041012109201441013602000b4158210d2009417e6a2209410220094102491b0e03020301020b200020073602082000200f360204200020123602000c100b4164210d0b200e200d6a0d030b4100210920060d000b200441246a20052008200210dd8f80800020042802242206418180808078460d06200428022c210720042802282108410021092012450d0341002109200f200f417e6a2f00006b41002802ec82d48000118180808000000c030b200e200e28020041054b22094103746a2802002206450d040240200e280204200e41046a20091b2006412c6c6a220d41546a2206280200220e41014b0d00200d41586a22132802002114200d41706a28020021090240200e410171450d0020142009460d010b2004200d41646a360224200441246a200e2014200910a597808000201320093602004101210e200641013602000b4180808080782106410021094158211402400240200e417e6a220e4102200e4102491b0e03010300010b416421140b200d20146a450d010b0b0b4100210102400240024020024100480d00024020020d00410121010c030b41002d008083d480001a200241002802f482d480001182808080000022010d01410121010b2001200241d8d9c6800010b980808000000b2001417e6a41003b00000b20012008200210f4978080002101200020023602082000200136020420002002360200201241808080807872418080808078460d08200f200f417e6a2f00006b41002802ec82d48000118180808000000c080b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b41f8d9c6800041302004413f6a41e8d9c6800041d8dac6800010a981808000000b41e0cac5800010a081808000000b41f8d9c6800041302004413f6a41e8d9c6800041e8dac6800010a981808000000b02400240024002402010201028020041054b22024103746a2802002209450d0002402010280204201041046a20021b2009412c6c6a220941546a2208280200220241014b0d00200941586a22062802002107200941706a280200210e02402002410171450d002007200e460d010b2004200941646a360224200441246a20022007200e10a5978080002006200e36020041012102200841013602000b4158210e024002402002417e6a2202410220024102491b0e03010300010b4164210e0b2009200e6a450d014100210102400240200c4100480d00200c450d0441002d008083d480001a200c41002802f482d480001182808080000022010d01410121010b2001200c41d8d9c6800010b980808000000b2001417e6a41003b000020012011200c10f4978080001a0c030b4198bdcd800041fc004184bfcd800010a181808000000b0240024002402001200a470d002003200b460d010b0340024002400240200320012f01aa14490d00410121094100210e0340200e210820012802a0132202450d02200841016a210e2009417f6a210920012f01a814210320022101200320022f01aa144f0d000b2002200341e0016c6a210e20022003410c6c6a41a4136a2107024020094101470d0020022101200341016a21030c030b200220034102746a41b0146a2802002101410021032009450d0202400240410020096b22064107710d00200621020c010b41002102410020084107716b2108034020012802ac14210120082002417f6a2202470d000b200220096b21020b20064108490d02034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200241786a22020d000c030b0b2001200341e0016c6a210e20012003410c6c6a41a4136a2107200341016a21030c010b41e0cac5800010a081808000000b200e200e28020041054b22024103746a2802002209450d02200741086a280200210c200741046a28020021060240200e280204200e41046a20021b2009412c6c6a220941546a2208280200220241014b0d00200941586a220d2802002107200941706a280200210e02402002410171450d002007200e460d010b2004200941646a360224200441246a20022007200e10a597808000200d200e36020041012102200841013602000b4158210e0240024002402002417e6a2202410220024102491b0e03010200010b4164210e0b2009200e6a450d004100210102400240200c4100480d00200c450d0641002d008083d480001a200c41002802f482d480001182808080000022010d01410121010b2001200c41d8d9c6800010b980808000000b2001417e6a41003b000020012006200c10f4978080001a0c050b2001200a470d002003200b470d000b0b20004180808080783602000c050b4198bdcd800041fc004184bfcd800010a181808000000b4100210c410121010b2000200c3602002000200cad4220862001ad843702040c020b200a0d020b2000200736020820002008360204200020063602000b200441c0006a2480808080000f0b41d0cac5800010a081808000000b831701137f23808080800041c0006b2204248080808000200441246a200128020422052002200310e08f80800002400240024002400240024020042802242206418180808078460d00200428022c210720042802282108200128020022012802bc012209450d0320012802c0012101200441023602302004200336022c20042002360228200441013602242004410c6a20092001200441246a109d978080002004280218210a200428020c2201450d0220042802102109200428021421032004280220210b02402001200a470d002003200b460d040b024002400240200320012f01aa144f0d00200121020c010b034020012802a0132202450d02200941016a210920012f01a814210320022101200320022f01aa144f0d000b0b200341e0016c210c20022003410c6c6a41a4136a210d0240024020090d00200341016a2103200221010c010b200220034102746a41b0146a2802002101410021032009417f6a220e450d002009417e6a210f0240200e4107712209450d000340200e417f6a210e20012802ac1421012009417f6a22090d000b0b200f4107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200e41786a220e0d000b0b2002200c6a2110200d280208210c200d28020421112006418080808078460d024101210902400240024003402008210f0340200622124180808080784621130240024003400240024002400240024002402009410171450d002010210e200c2102201121080c010b024002400240024002402001450d0002402001200a470d002003200b460d070b200320012f01aa14490d01410121094100210e0340200e210820012802a0132202450d03200841016a210e2009417f6a210920012f01a814210320022101200320022f01aa144f0d000b2002200341e0016c6a210e20022003410c6c6a41a4136a2106024020094101470d0020022101200341016a21030c050b200220034102746a41b0146a2802002101410021032009450d0402400240410020096b220d4107710d00200d21020c010b41002102410020084107716b2108034020012802ac14210120082002417f6a2202470d000b200220096b21020b200d4108490d04034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200241786a22020d000c050b0b200a0d020c050b2001200341e0016c6a210e20012003410c6c6a41a4136a2106200341016a21030c020b41e0cac5800010a081808000000b41d0cac5800010a081808000000b20062802082102200628020421080b20130d05200f20082007200220072002491b10f5978080002209200720026b20091b22064100480d00200e200e28020041054b22094103746a280200220d450d090240200e280204200e41046a20091b200d412c6c6a220e41546a2214280200220941014b0d00200e41586a22152802002116200e41706a280200210d02402009410171450d002016200d460d010b2004200e41646a360224200441246a20092016200d10a5978080002015200d36020041012109201441013602000b4158210d2009417e6a2209410220094102491b0e03020301020b200020073602082000200f360204200020123602000c100b4164210d0b200e200d6a0d030b4100210920060d000b200441246a20052008200210e08f80800020042802242206418180808078460d06200428022c210720042802282108410021092012450d0341002109200f200f417e6a2f00006b41002802ec82d48000118180808000000c030b200e200e28020041054b22094103746a2802002206450d040240200e280204200e41046a20091b2006412c6c6a220d41546a2206280200220e41014b0d00200d41586a22132802002114200d41706a28020021090240200e410171450d0020142009460d010b2004200d41646a360224200441246a200e2014200910a597808000201320093602004101210e200641013602000b4180808080782106410021094158211402400240200e417e6a220e4102200e4102491b0e03010300010b416421140b200d20146a450d010b0b0b4100210102400240024020024100480d00024020020d00410121010c030b41002d008083d480001a200241002802f482d480001182808080000022010d01410121010b2001200241d8d9c6800010b980808000000b2001417e6a41003b00000b20012008200210f4978080002101200020023602082000200136020420002002360200201241808080807872418080808078460d08200f200f417e6a2f00006b41002802ec82d48000118180808000000c080b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b41f8d9c6800041302004413f6a41e8d9c6800041d8dac6800010a981808000000b41e0cac5800010a081808000000b41f8d9c6800041302004413f6a41e8d9c6800041e8dac6800010a981808000000b02400240024002402010201028020041054b22024103746a2802002209450d0002402010280204201041046a20021b2009412c6c6a220941546a2208280200220241014b0d00200941586a22062802002107200941706a280200210e02402002410171450d002007200e460d010b2004200941646a360224200441246a20022007200e10a5978080002006200e36020041012102200841013602000b4158210e024002402002417e6a2202410220024102491b0e03010300010b4164210e0b2009200e6a450d014100210102400240200c4100480d00200c450d0441002d008083d480001a200c41002802f482d480001182808080000022010d01410121010b2001200c41d8d9c6800010b980808000000b2001417e6a41003b000020012011200c10f4978080001a0c030b4198bdcd800041fc004184bfcd800010a181808000000b0240024002402001200a470d002003200b460d010b0340024002400240200320012f01aa14490d00410121094100210e0340200e210820012802a0132202450d02200841016a210e2009417f6a210920012f01a814210320022101200320022f01aa144f0d000b2002200341e0016c6a210e20022003410c6c6a41a4136a2107024020094101470d0020022101200341016a21030c030b200220034102746a41b0146a2802002101410021032009450d0202400240410020096b22064107710d00200621020c010b41002102410020084107716b2108034020012802ac14210120082002417f6a2202470d000b200220096b21020b20064108490d02034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200241786a22020d000c030b0b2001200341e0016c6a210e20012003410c6c6a41a4136a2107200341016a21030c010b41e0cac5800010a081808000000b200e200e28020041054b22024103746a2802002209450d02200741086a280200210c200741046a28020021060240200e280204200e41046a20021b2009412c6c6a220941546a2208280200220241014b0d00200941586a220d2802002107200941706a280200210e02402002410171450d002007200e460d010b2004200941646a360224200441246a20022007200e10a597808000200d200e36020041012102200841013602000b4158210e0240024002402002417e6a2202410220024102491b0e03010200010b4164210e0b2009200e6a450d004100210102400240200c4100480d00200c450d0641002d008083d480001a200c41002802f482d480001182808080000022010d01410121010b2001200c41d8d9c6800010b980808000000b2001417e6a41003b000020012006200c10f4978080001a0c050b2001200a470d002003200b470d000b0b20004180808080783602000c050b4198bdcd800041fc004184bfcd800010a181808000000b4100210c410121010b2000200c3602002000200cad4220862001ad843702040c020b200a0d020b2000200736020820002008360204200020063602000b200441c0006a2480808080000f0b41d0cac5800010a081808000000b10002000200128020410e88f808000000b10002000200128020410e88f808000000bc60503017f037e047f23808080800041f0006b2205248080808000200541cc006a200128020020022003200410d98a808000024002400240024002400240200528024c4101470d0020052802502201450d02200541086a2001200528025441002802c480d4800011868080800000200541286a41086a200541086a41086a290300370300200541286a41106a200541086a41106a290300370300200541286a41186a200541086a41186a290300370300200520052903083703280c010b200541cc006a200128020420022003200410f68a80800020052d004c22014102460d03200541086a41186a200541e5006a2900002206370300200541086a41106a200541dd006a2900002207370300200541086a41086a200541d5006a2900002208370300200541286a41086a2008370300200541286a41106a2007370300200541286a41186a20063703002005200529004d2206370308200520063703282001410171450d010b20054100360254200542808080801037024c41002d008083d480001a412041002802f482d48000118280808000002201450d03200120052903283700002001417e6a220241003b0000200141086a2209200541286a41086a290300370000200141106a220a200541286a41106a290300370000200141186a220b200541286a41186a290300370000200541cc006a4100412010f4918080002005280250200541cc006a41086a2203280200220c6a22042001290000370000200441086a2009290000370000200441106a200a290000370000200441186a200b2900003700002003200c41206a360200200120022f00006b41002802ec82d4800011818080800000200041086a20032802003602002000200529024c3702000c010b20004180808080783602000b200541f0006a2480808080000f0b41f8d9c680004130200541ef006a41e8d9c6800041f8dac6800010a981808000000b4101412010ab80808000000bc60503017f037e047f23808080800041f0006b2205248080808000200541cc006a200128020020022003200410d98a808000024002400240024002400240200528024c4101470d0020052802502201450d02200541086a2001200528025441002802c480d4800011868080800000200541286a41086a200541086a41086a290300370300200541286a41106a200541086a41106a290300370300200541286a41186a200541086a41186a290300370300200520052903083703280c010b200541cc006a200128020420022003200410f78a80800020052d004c22014102460d03200541086a41186a200541e5006a2900002206370300200541086a41106a200541dd006a2900002207370300200541086a41086a200541d5006a2900002208370300200541286a41086a2008370300200541286a41106a2007370300200541286a41186a20063703002005200529004d2206370308200520063703282001410171450d010b20054100360254200542808080801037024c41002d008083d480001a412041002802f482d48000118280808000002201450d03200120052903283700002001417e6a220241003b0000200141086a2209200541286a41086a290300370000200141106a220a200541286a41106a290300370000200141186a220b200541286a41186a290300370000200541cc006a4100412010f4918080002005280250200541cc006a41086a2203280200220c6a22042001290000370000200441086a2009290000370000200441106a200a290000370000200441186a200b2900003700002003200c41206a360200200120022f00006b41002802ec82d4800011818080800000200041086a20032802003602002000200529024c3702000c010b20004180808080783602000b200541f0006a2480808080000f0b41f8d9c680004130200541ef006a41e8d9c6800041f8dac6800010a981808000000b4101412010ab80808000000bc80301067f23808080800041d0006b22042480808080002004412c6a200128020020022001280204200310e28a8080000240024020042d004c4102460d00200441086a41186a22022004412c6a41186a290000370300200441086a41106a22052004412c6a41106a290000370300200441086a41086a22062004412c6a41086a22032900003703002004200429002c37030841002d008083d480001a20044100360234200442808080801037022c412041002802f482d48000118280808000002201450d01200120042903083700002001417e6a220741003b0000200141086a22082006290300370000200141106a22062005290300370000200141186a220520022903003700002004412c6a4100412010f4918080002004280230200328020022096a22022001290000370000200241086a2008290000370000200241106a2006290000370000200241186a20052900003700002003200941206a360200200120072f00006b41002802ec82d4800011818080800000200041086a20032802003602002000200429022c370200200441d0006a2480808080000f0b41f8d9c680004130200441cf006a41e8d9c680004188dbc6800010a981808000000b4101412010ab80808000000bc80301067f23808080800041d0006b22042480808080002004412c6a200128020020022001280204200310e08a8080000240024020042d004c4102460d00200441086a41186a22022004412c6a41186a290000370300200441086a41106a22052004412c6a41106a290000370300200441086a41086a22062004412c6a41086a22032900003703002004200429002c37030841002d008083d480001a20044100360234200442808080801037022c412041002802f482d48000118280808000002201450d01200120042903083700002001417e6a220741003b0000200141086a22082006290300370000200141106a22062005290300370000200141186a220520022903003700002004412c6a4100412010f4918080002004280230200328020022096a22022001290000370000200241086a2008290000370000200241106a2006290000370000200241186a20052900003700002003200941206a360200200120072f00006b41002802ec82d4800011818080800000200041086a20032802003602002000200429022c370200200441d0006a2480808080000f0b41f8d9c680004130200441cf006a41e8d9c680004188dbc6800010a981808000000b4101412010ab80808000000b940101037f23808080800041206b22092480808080002001280200220a20022003200410e48a808000210b2009410c6a200a2001280204200220032004200520062007200810b58b808000200041086a2009410c6a41086a2802003602002000200929020c370200200928021821012000200928021c36021420002001200b6a3602102000200136020c200941206a2480808080000b940101037f23808080800041206b22092480808080002001280200220a20022003200410e48a808000210b2009410c6a200a2001280204200220032004200520062007200810b78b808000200041086a2009410c6a41086a2802003602002000200929020c370200200928021821012000200928021c36021420002001200b6a3602102000200136020c200941206a2480808080000b900101037f23808080800041206b220724808080800020012802002208200210e78a80800021092007410c6a20082001280204200241002007200320042005200610b58b808000200041086a2007410c6a41086a2802003602002000200729020c370200200728021821012000200728021c3602142000200120096a3602102000200136020c200741206a2480808080000b900101037f23808080800041206b220724808080800020012802002208200210e78a80800021092007410c6a20082001280204200241002007200320042005200610b78b808000200041086a2007410c6a41086a2802003602002000200729020c370200200728021821012000200728021c3602142000200120096a3602102000200136020c200741206a2480808080000b1300200028020020012002200310de8a8080000b960101017f23808080800041306b22042480808080002004200028020020012002200310d98a8080000240024020042802004101470d00200428020441004721000c010b2004410e6a200028020420012002200310f78a80800020042d000e22004102470d0041f8d9c6800041302004412f6a41e8d9c680004198dbc6800010a981808000000b200441306a24808080800020004101710b960101017f23808080800041306b22042480808080002004200028020020012002200310d98a8080000240024020042802004101470d00200428020441004721000c010b2004410e6a200028020420012002200310f68a80800020042d000e22004102470d0041f8d9c6800041302004412f6a41e8d9c680004198dbc6800010a981808000000b200441306a24808080800020004101710b15002000280200200120022003200410e98a8080000bdd2702207f017e23808080800041e0016b22052480808080002005410c6a2001280204220620022003200410fa8a808000024002400240200528020c2207418180808078460d002005280214210820052802102109200541f0006a2001280200200228020420022802082003200410dd8a8080002005410c6a200541f0006a41d40010f4978080001a20054100360260200541c8006a210a200541c4006a210b200541106a2104200528020c220c410171450d01410021030c020b41f8d9c680004130200541df016a41e8d9c6800041b8dbc6800010a981808000000b410121030b024002400240024002400240024002400240034002400240024002400240024020030e020001010b200528021c21010240024020052802102203450d002005280218210d024020032001470d00200d2005280224460d020b2005280214210e02400240200d20032f01aa144f0d00200321010c010b034020032802a0132201450d05200e41016a210e20032f01a814210d20012103200d20012f01aa144f0d000b0b200d41e0016c210f2001200d410c6c6a41a4136a21100240200e0d00200d41016a2111200121030c0a0b2001200d4102746a41b0146a280200210341002111200e417f6a220d450d09200e417e6a21120240200d410771220e450d000340200d417f6a210d20032802ac142103200e417f6a220e0d000b0b20124107490d09034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200d41786a220d0d000c0a0b0b20010d070b4100210c2005410036020c410121030c050b200541d0016a21030240200528024422014102460d00200541f0006a41086a200a41086a290200370300200541f0006a41106a200a41106a290200370300200520013602d0012005200a290200370370200b21030b20034100360200024020052802d0014101470d0020042005290370370200200441086a200541f0006a41086a290300370200200441106a200541f0006a41106a2903003702002005410136020c4101210c0c040b024020052802284101470d00200528023821010240200528022c2203450d002005280234210d024020032001470d00200d2005280240460d020b2005280230210e02400240200d20032f01aa144f0d00200321010c010b034020032802a0132201450d05200e41016a210e20032f01a814210d20012103200d20012f01aa144f0d000b0b200d41e0016c210f2001200d410c6c6a41a4136a211002400240200e0d00200d41016a2111200121030c010b2001200d4102746a41b0146a280200210341002111200e417f6a220d450d00200e417e6a21120240200d410771220e450d000340200d417f6a210d20032802ac142103200e417f6a220e0d000b0b20124107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200d41786a220d0d000b0b2001200f6a211320052011360234200541003602302005200336022c201041086a2802002114201041046a28020021150c090b20010d030b2000200836020820002009360204200020073602000c080b41e0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b410021030c000b0b41d0cac5800010a081808000000b2001200f6a2113200520113602182005410036021420052003360210201041086a2802002114201041046a28020021150b2005201336026c20052014360268200520153602642005410136026002402007418080808078460d00200520052802443602d001200528025c21162005280254211720052802502118200528024c21192005280248211a2005280240211b2005280238211c2005280234210d2005280230210e200528022c21032005280224211d200528021c210f2005280218210b20052802142110200528021021042005280228410171211e4101210102400240024003402009211f0340200722204180808080784621210240024003400240024002400240024002402001410171450d00201521092014210a201321010c010b200f210702400240200c410171450d00410021010c010b410121010b0340024002400240024002400240024020010e020001010b024002402004450d0002402004200f470d00200b201d470d00200f2107201d210b4100210c0c020b02400240200b20042f01aa144f0d00200421010c010b034020042802a0132201450d05201041016a211020042f01a814210b20012104200b20012f01aa144f0d000b0b200b41e0016c21092001200b410c6c6a41a4136a21070240024020100d00200b41016a210b200121040c010b2001200b4102746a41b0146a28020021044100210b2010417f6a220a450d002010417e6a21110240200a4107712210450d000340200a417f6a210a20042802ac1421042010417f6a22100d000b0b20114107490d00034020042802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142104200a41786a220a0d000b0b200120096a2101200741086a280200210a200741046a2802002109410021100c090b41002107410021044100210c200f0d030b410121010c060b200541f0006a2101024020052802d001220a4102460d002005200a360270200541d0016a21010b20014100360200024020052802704101470d004101210c2016211d2017210f2018210b20192110201a21040c050b201e450d0702402003450d0002402003201c470d00200d201b460d090b02400240200d20032f01aa144f0d00200321010c010b034020032802a0132201450d05200e41016a210e20032f01a814210d20012103200d20012f01aa144f0d000b0b200d41e0016c21092001200d410c6c6a41a4136a210f02400240200e0d00200d41016a210d200121030c010b2001200d4102746a41b0146a28020021034100210d200e417f6a220a450d00200e417e6a21110240200a410771220e450d000340200a417f6a210a20032802ac142103200e417f6a220e0d000b0b20114107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200a41786a220a0d000b0b200120096a2101200f41086a280200210a200f41046a28020021094100210e2007210f0c070b201c0d030c070b41e0cac5800010a081808000000b41d0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b410021010c000b0b20210d05201f20092008200a2008200a491b10f59780800022072008200a6b20071b22114100480d002001200128020041054b22074103746a2802002212450d0902402001280204200141046a20071b2012412c6c6a220741546a2222280200220141014b0d00200741586a22232802002124200741706a280200211202402001410171450d0020242012460d010b2005200741646a360270200541f0006a20012024201210a5978080002023201236020041012101202241013602000b415821122001417e6a2201410220014102491b0e03020301020b200020083602082000201f360204200020203602000c0c0b416421120b200720126a0d030b4100210120110d000b200541f0006a200620022009200a10fa8a80800020052802702207418180808078460d062005280278210820052802742109410021012020450d0341002101201f201f417e6a2f00006b41002802ec82d48000118180808000000c030b2001200128020041054b22074103746a2802002211450d0402402001280204200141046a20071b2011412c6c6a221241546a2207280200221141014b0d00201241586a22212802002122201241706a280200210102402011410171450d0020222001460d010b2005201241646a360270200541f0006a20112022200110a5978080002021200136020041012111200741013602000b41808080807821074100210141582122024002402011417e6a2211410220114102491b0e03010300010b416421220b201220226a450d010b0b0b41002103024002400240200a4100480d000240200a0d00410121030c030b41002d008083d480001a200a41002802f482d480001182808080000022030d01410121030b2003200a41d8d9c6800010b980808000000b2003417e6a41003b00000b20032009200a10f49780800021032000200a360208200020033602042000200a360200202041808080807872418080808078460d04201f201f417e6a2f00006b41002802ec82d48000118180808000000c040b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b41f8d9c680004130200541df016a41e8d9c6800041a8dbc6800010a981808000000b20054100360260024002402013201328020041054b22034103746a2802002201450d0002402013280204201341046a20031b2001412c6c6a220141546a220d280200220341014b0d00200141586a2210280200210e200141706a280200210c02402003410171450d00200e200c460d010b2005200141646a360270200541f0006a2003200e200c10a5978080002010200c36020041012103200d41013602000b4158210c024002402003417e6a2203410220034102491b0e03010300010b4164210c0b2001200c6a450d014100210302400240024020144100480d00024020140d00420121250c030b41002d008083d480001a201441002802f482d480001182808080000022030d01410121030b2003201441d8d9c6800010b980808000000b2003417e6a41003b000020032015201410f497808000ad21250b20002014360200200020252014ad422086843702040c020b4198bdcd800041fc004184bfcd800010a181808000000b024002400240200528020c4101470d002005200541286a3602cc012005200541df016a3602c801200528021c2103024020052802102201450d0003402005280218210c024020012003470d00200c2005280224460d030b2005280214210d02400240200c20012f01aa144f0d00200121030c010b034020012802a0132203450d08200d41016a210d20012f01a814210c20032101200c20032f01aa144f0d000b0b2003200c41e0016c6a210e2003200c410c6c6a41a4136a211002400240200d0d00200c41016a21080c010b2003200c4102746a41b0146a280200210341002108200d417f6a2201450d00200d417e6a210d02402001410771220c450d0003402001417f6a210120032802ac142103200c417f6a220c0d000b0b200d4107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200141786a22010d000b0b200520083602182005410036021420052003360210201041046a29020021252005200e36027820052025370270200541d0016a200541c8016a200541f0006a10948980800020052802d0012203418080808078470d03200528021c2103200528021022010d000b0b20030d080b0240200528024422034102460d00200541003602442003410171450d002004200a290200370200200441106a200a41106a290200370200200441086a200a41086a2902003702002005410136020c2005200541286a3602cc012005200541df016a3602c801200528021c21030240024020052802102204450d00034020052802182101024020042003470d0020012005280224460d030b2005280214210c02400240200120042f01aa144f0d00200421030c010b034020042802a0132203450d0a200c41016a210c20042f01a814210120032104200120032f01aa144f0d000b0b2003200141e0016c6a210d20032001410c6c6a41a4136a210a02400240200c0d00200141016a210e0c010b200320014102746a41b0146a28020021034100210e200c417f6a2204450d00200c417e6a210c024020044107712201450d0003402004417f6a210420032802ac1421032001417f6a22010d000b0b200c4107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200441786a22040d000b0b2005200e3602182005410036021420052003360210200a41046a29020021252005200d36027820052025370270200541d0016a200541c8016a200541f0006a10948980800020052802d0012203418080808078470d04200528021c2103200528021022040d000b0b20030d070b200541003602440b2005410036020c20052802284101470d012005200b3602cc012005200541df016a3602c801200528023821030240200528022c2204450d00034020052802342101024020042003470d0020012005280240460d040b2005280230210c02400240200120042f01aa144f0d00200421030c010b034020042802a0132203450d0a200c41016a210c20042f01a814210120032104200120032f01aa144f0d000b0b2003200141e0016c6a210d20032001410c6c6a41a4136a210a02400240200c0d00200141016a210e0c010b200320014102746a41b0146a28020021034100210e200c417f6a2204450d00200c417e6a210c024020044107712201450d0003402004417f6a210420032802ac1421032001417f6a22010d000b0b200c4107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200441786a22040d000b0b2005200e360234200541003602302005200336022c200a41046a29020021252005200d36027820052025370270200541d0016a200541c8016a200541f0006a10948980800020052802d0012203418080808078470d0220052802382103200528022c22040d000b0b2003450d0141d0cac5800010a081808000000b200020052902d401370204200020033602000c010b20004180808080783602000b200541e0016a2480808080000f0b41e0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000bdd2702207f017e23808080800041e0016b22052480808080002005410c6a2001280204220620022003200410fb8a808000024002400240200528020c2207418180808078460d002005280214210820052802102109200541f0006a2001280200200228020420022802082003200410dd8a8080002005410c6a200541f0006a41d40010f4978080001a20054100360260200541c8006a210a200541c4006a210b200541106a2104200528020c220c410171450d01410021030c020b41f8d9c680004130200541df016a41e8d9c6800041b8dbc6800010a981808000000b410121030b024002400240024002400240024002400240034002400240024002400240024020030e020001010b200528021c21010240024020052802102203450d002005280218210d024020032001470d00200d2005280224460d020b2005280214210e02400240200d20032f01aa144f0d00200321010c010b034020032802a0132201450d05200e41016a210e20032f01a814210d20012103200d20012f01aa144f0d000b0b200d41e0016c210f2001200d410c6c6a41a4136a21100240200e0d00200d41016a2111200121030c0a0b2001200d4102746a41b0146a280200210341002111200e417f6a220d450d09200e417e6a21120240200d410771220e450d000340200d417f6a210d20032802ac142103200e417f6a220e0d000b0b20124107490d09034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200d41786a220d0d000c0a0b0b20010d070b4100210c2005410036020c410121030c050b200541d0016a21030240200528024422014102460d00200541f0006a41086a200a41086a290200370300200541f0006a41106a200a41106a290200370300200520013602d0012005200a290200370370200b21030b20034100360200024020052802d0014101470d0020042005290370370200200441086a200541f0006a41086a290300370200200441106a200541f0006a41106a2903003702002005410136020c4101210c0c040b024020052802284101470d00200528023821010240200528022c2203450d002005280234210d024020032001470d00200d2005280240460d020b2005280230210e02400240200d20032f01aa144f0d00200321010c010b034020032802a0132201450d05200e41016a210e20032f01a814210d20012103200d20012f01aa144f0d000b0b200d41e0016c210f2001200d410c6c6a41a4136a211002400240200e0d00200d41016a2111200121030c010b2001200d4102746a41b0146a280200210341002111200e417f6a220d450d00200e417e6a21120240200d410771220e450d000340200d417f6a210d20032802ac142103200e417f6a220e0d000b0b20124107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200d41786a220d0d000b0b2001200f6a211320052011360234200541003602302005200336022c201041086a2802002114201041046a28020021150c090b20010d030b2000200836020820002009360204200020073602000c080b41e0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b410021030c000b0b41d0cac5800010a081808000000b2001200f6a2113200520113602182005410036021420052003360210201041086a2802002114201041046a28020021150b2005201336026c20052014360268200520153602642005410136026002402007418080808078460d00200520052802443602d001200528025c21162005280254211720052802502118200528024c21192005280248211a2005280240211b2005280238211c2005280234210d2005280230210e200528022c21032005280224211d200528021c210f2005280218210b20052802142110200528021021042005280228410171211e4101210102400240024003402009211f0340200722204180808080784621210240024003400240024002400240024002402001410171450d00201521092014210a201321010c010b200f210702400240200c410171450d00410021010c010b410121010b0340024002400240024002400240024020010e020001010b024002402004450d0002402004200f470d00200b201d470d00200f2107201d210b4100210c0c020b02400240200b20042f01aa144f0d00200421010c010b034020042802a0132201450d05201041016a211020042f01a814210b20012104200b20012f01aa144f0d000b0b200b41e0016c21092001200b410c6c6a41a4136a21070240024020100d00200b41016a210b200121040c010b2001200b4102746a41b0146a28020021044100210b2010417f6a220a450d002010417e6a21110240200a4107712210450d000340200a417f6a210a20042802ac1421042010417f6a22100d000b0b20114107490d00034020042802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142104200a41786a220a0d000b0b200120096a2101200741086a280200210a200741046a2802002109410021100c090b41002107410021044100210c200f0d030b410121010c060b200541f0006a2101024020052802d001220a4102460d002005200a360270200541d0016a21010b20014100360200024020052802704101470d004101210c2016211d2017210f2018210b20192110201a21040c050b201e450d0702402003450d0002402003201c470d00200d201b460d090b02400240200d20032f01aa144f0d00200321010c010b034020032802a0132201450d05200e41016a210e20032f01a814210d20012103200d20012f01aa144f0d000b0b200d41e0016c21092001200d410c6c6a41a4136a210f02400240200e0d00200d41016a210d200121030c010b2001200d4102746a41b0146a28020021034100210d200e417f6a220a450d00200e417e6a21110240200a410771220e450d000340200a417f6a210a20032802ac142103200e417f6a220e0d000b0b20114107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200a41786a220a0d000b0b200120096a2101200f41086a280200210a200f41046a28020021094100210e2007210f0c070b201c0d030c070b41e0cac5800010a081808000000b41d0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b410021010c000b0b20210d05201f20092008200a2008200a491b10f59780800022072008200a6b20071b22114100480d002001200128020041054b22074103746a2802002212450d0902402001280204200141046a20071b2012412c6c6a220741546a2222280200220141014b0d00200741586a22232802002124200741706a280200211202402001410171450d0020242012460d010b2005200741646a360270200541f0006a20012024201210a5978080002023201236020041012101202241013602000b415821122001417e6a2201410220014102491b0e03020301020b200020083602082000201f360204200020203602000c0c0b416421120b200720126a0d030b4100210120110d000b200541f0006a200620022009200a10fb8a80800020052802702207418180808078460d062005280278210820052802742109410021012020450d0341002101201f201f417e6a2f00006b41002802ec82d48000118180808000000c030b2001200128020041054b22074103746a2802002211450d0402402001280204200141046a20071b2011412c6c6a221241546a2207280200221141014b0d00201241586a22212802002122201241706a280200210102402011410171450d0020222001460d010b2005201241646a360270200541f0006a20112022200110a5978080002021200136020041012111200741013602000b41808080807821074100210141582122024002402011417e6a2211410220114102491b0e03010300010b416421220b201220226a450d010b0b0b41002103024002400240200a4100480d000240200a0d00410121030c030b41002d008083d480001a200a41002802f482d480001182808080000022030d01410121030b2003200a41d8d9c6800010b980808000000b2003417e6a41003b00000b20032009200a10f49780800021032000200a360208200020033602042000200a360200202041808080807872418080808078460d04201f201f417e6a2f00006b41002802ec82d48000118180808000000c040b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b41f8d9c680004130200541df016a41e8d9c6800041a8dbc6800010a981808000000b20054100360260024002402013201328020041054b22034103746a2802002201450d0002402013280204201341046a20031b2001412c6c6a220141546a220d280200220341014b0d00200141586a2210280200210e200141706a280200210c02402003410171450d00200e200c460d010b2005200141646a360270200541f0006a2003200e200c10a5978080002010200c36020041012103200d41013602000b4158210c024002402003417e6a2203410220034102491b0e03010300010b4164210c0b2001200c6a450d014100210302400240024020144100480d00024020140d00420121250c030b41002d008083d480001a201441002802f482d480001182808080000022030d01410121030b2003201441d8d9c6800010b980808000000b2003417e6a41003b000020032015201410f497808000ad21250b20002014360200200020252014ad422086843702040c020b4198bdcd800041fc004184bfcd800010a181808000000b024002400240200528020c4101470d002005200541286a3602cc012005200541df016a3602c801200528021c2103024020052802102201450d0003402005280218210c024020012003470d00200c2005280224460d030b2005280214210d02400240200c20012f01aa144f0d00200121030c010b034020012802a0132203450d08200d41016a210d20012f01a814210c20032101200c20032f01aa144f0d000b0b2003200c41e0016c6a210e2003200c410c6c6a41a4136a211002400240200d0d00200c41016a21080c010b2003200c4102746a41b0146a280200210341002108200d417f6a2201450d00200d417e6a210d02402001410771220c450d0003402001417f6a210120032802ac142103200c417f6a220c0d000b0b200d4107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200141786a22010d000b0b200520083602182005410036021420052003360210201041046a29020021252005200e36027820052025370270200541d0016a200541c8016a200541f0006a10948980800020052802d0012203418080808078470d03200528021c2103200528021022010d000b0b20030d080b0240200528024422034102460d00200541003602442003410171450d002004200a290200370200200441106a200a41106a290200370200200441086a200a41086a2902003702002005410136020c2005200541286a3602cc012005200541df016a3602c801200528021c21030240024020052802102204450d00034020052802182101024020042003470d0020012005280224460d030b2005280214210c02400240200120042f01aa144f0d00200421030c010b034020042802a0132203450d0a200c41016a210c20042f01a814210120032104200120032f01aa144f0d000b0b2003200141e0016c6a210d20032001410c6c6a41a4136a210a02400240200c0d00200141016a210e0c010b200320014102746a41b0146a28020021034100210e200c417f6a2204450d00200c417e6a210c024020044107712201450d0003402004417f6a210420032802ac1421032001417f6a22010d000b0b200c4107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200441786a22040d000b0b2005200e3602182005410036021420052003360210200a41046a29020021252005200d36027820052025370270200541d0016a200541c8016a200541f0006a10948980800020052802d0012203418080808078470d04200528021c2103200528021022040d000b0b20030d070b200541003602440b2005410036020c20052802284101470d012005200b3602cc012005200541df016a3602c801200528023821030240200528022c2204450d00034020052802342101024020042003470d0020012005280240460d040b2005280230210c02400240200120042f01aa144f0d00200421030c010b034020042802a0132203450d0a200c41016a210c20042f01a814210120032104200120032f01aa144f0d000b0b2003200141e0016c6a210d20032001410c6c6a41a4136a210a02400240200c0d00200141016a210e0c010b200320014102746a41b0146a28020021034100210e200c417f6a2204450d00200c417e6a210c024020044107712201450d0003402004417f6a210420032802ac1421032001417f6a22010d000b0b200c4107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200441786a22040d000b0b2005200e360234200541003602302005200336022c200a41046a29020021252005200d36027820052025370270200541d0016a200541c8016a200541f0006a10948980800020052802d0012203418080808078470d0220052802382103200528022c22040d000b0b2003450d0141d0cac5800010a081808000000b200020052902d401370204200020033602000c010b20004180808080783602000b200541e0016a2480808080000f0b41e0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b41e0cac5800010a081808000000b41d0cac5800010a081808000000b0e00200028020410eb8f808000000b0e00200028020410eb8f808000000b10002000200128020410ec8f808000000b10002000200128020410ec8f808000000bd90101027f4100210502400240024020034100480d0020002802002100024020030d00410121050c030b41002d008083d480001a200341002802f482d480001182808080000022050d01410121050b2005200341d8d9c6800010b980808000000b2005417e6a41003b00000b20052002200310f4978080002106024020002802ec02220220002802e402470d00200041e4026a4188bac680001091868080000b20002802e802200241146c6a220520043602102005200136020c2005200336020820052006360204200520033602002000200241016a3602ec020b0d00200028020010df8a8080000b0d00200028020010e58a8080000b0d00200028020010e88a8080000bdd0101027f4100210402400240024020034100480d0020002802002100024020030d00410121040c030b41002d008083d480001a200341002802f482d480001182808080000022040d01410121040b2004200341d8d9c6800010b980808000000b2004417e6a41003b00000b20042002200310f4978080002105024020002802ec02220220002802e402470d00200041e4026a4188bac680001091868080000b20002802e802200241146c6a220420013602102004200336020c200420053602082004200336020420044180808080783602002000200241016a3602ec020bf90a02117f027e23808080800041a0016b2201248080808000200028020022022802d00120022802c8012203200341054b1b41016a210302400240034002402003417f6a22030d00200120022000280204410110eb8a8080002001280288012204418080808078460d022001280290012105200128028c01210620012802840121072001280280012108200128027c21092001280274210a2001280270210b2001280264210c2001280260210d200128022c210e2001280224210f20012802202110024020012802782200450d00200a2103034002402003280200450d00200341046a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a2802002211418080808078460d002011450d00200341106a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032000417f6a22000d000b0b0240200b450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402007450d004100210b034002402008200b41186c6a220a280200450d00200a28020422032003417e6a2f00006b41002802ec82d48000118180808000000b0240200a2802142200450d00200a2802102103034002402003280200450d00200341046a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a2802002211418080808078460d002011450d00200341106a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032000417f6a22000d000b0b0240200a28020c450d00200a28021022032003417e6a2f00006b41002802ec82d48000118180808000000b200b41016a220b2007470d000b0b02402009450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b02402005450d0020062103034002402003280200450d00200341046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b0240200341186a2802002200418080808078460d002000450d002003411c6a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341246a21032005417f6a22050d000b0b02402004450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b0240200f450d000240200e450d00201041086a21032010290300427f8542808182848890a0c0807f832112201021000340024020124200520d000340200041a07e6a210020032903002112200341086a22112103201242808182848890a0c0807f83221242808182848890a0c0807f510d000b201242808182848890a0c0807f852112201121030b02402000410020127aa74103766b411c6c6a221141646a280200450d00201141686a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b2012427f7c21130240201141706a280200450d00201141746a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b20132012832112200e417f6a220e0d000b0b200f200f411c6c41236a41787122036a4177460d00201020036b22032003417e6a2f00006b41002802ec82d48000118180808000000b0240200d450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b200210da8a8080000d03200141a0016a2480808080000f0b200210e88a808000450d000b41d0dcc68000418e022001419f016a41c0dcc6800041e0dec6800010a981808000000b41f8d9c6800041302001419f016a41e8d9c6800041b0dcc6800010a981808000000b41d8dbc6800041c5002001419f016a41c8dbc6800041a0dcc6800010a981808000000bf90a02117f027e23808080800041a0016b2201248080808000200028020022022802d00120022802c8012203200341054b1b41016a210302400240034002402003417f6a22030d00200120022000280204410110ea8a8080002001280288012204418080808078460d022001280290012105200128028c01210620012802840121072001280280012108200128027c21092001280274210a2001280270210b2001280264210c2001280260210d200128022c210e2001280224210f20012802202110024020012802782200450d00200a2103034002402003280200450d00200341046a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a2802002211418080808078460d002011450d00200341106a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032000417f6a22000d000b0b0240200b450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b02402007450d004100210b034002402008200b41186c6a220a280200450d00200a28020422032003417e6a2f00006b41002802ec82d48000118180808000000b0240200a2802142200450d00200a2802102103034002402003280200450d00200341046a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a2802002211418080808078460d002011450d00200341106a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032000417f6a22000d000b0b0240200a28020c450d00200a28021022032003417e6a2f00006b41002802ec82d48000118180808000000b200b41016a220b2007470d000b0b02402009450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b02402005450d0020062103034002402003280200450d00200341046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b0240200341186a2802002200418080808078460d002000450d002003411c6a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341246a21032005417f6a22050d000b0b02402004450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b0240200f450d000240200e450d00201041086a21032010290300427f8542808182848890a0c0807f832112201021000340024020124200520d000340200041a07e6a210020032903002112200341086a22112103201242808182848890a0c0807f83221242808182848890a0c0807f510d000b201242808182848890a0c0807f852112201121030b02402000410020127aa74103766b411c6c6a221141646a280200450d00201141686a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b2012427f7c21130240201141706a280200450d00201141746a28020022112011417e6a2f00006b41002802ec82d48000118180808000000b20132012832112200e417f6a220e0d000b0b200f200f411c6c41236a41787122036a4177460d00201020036b22032003417e6a2f00006b41002802ec82d48000118180808000000b0240200d450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b200210da8a8080000d03200141a0016a2480808080000f0b200210e88a808000450d000b41d0dcc68000418e022001419f016a41c0dcc6800041e0dec6800010a981808000000b41f8d9c6800041302001419f016a41e8d9c6800041b0dcc6800010a981808000000b41d8dbc6800041c5002001419f016a41c8dbc6800041a0dcc6800010a981808000000b9805010b7f23808080800041b0016b22012480808080000240200028020022022802d00120022802c8012203200341054b1b2204450d0020024190026a2105200241bc016a2106200141146a21074100210803400240024002402006410010b0978080000d0020022802b801210320022802b0012109200120022802b401220a36022c200120093602282001410036022420012009410047220b3602202001200a36021c20012009360218200141003602142001200b3602102009450d022003450d02034020012003417f6a36023020012802104101470d02024020012802140d00200128021821030240200128021c220b450d0002400240200b410771220a0d00200b21090c010b200b210903402009417f6a210920032802ac092103200a417f6a220a0d000b0b200b4108490d00034020032802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092103200941786a22090d000b0b2001420037021820012003360214200141013602100b200141086a200710d1838080002001280208450d030240200128020c410010b0978080000d0020012802302203450d040c010b0b4198b9c680004138200141af016a41f8b8c6800041d0b9c6800010a981808000000b41d0dcc68000418e02200141af016a41c0dcc680004180dfc6800010a981808000000b41f482c6800010a081808000000b02402005410010e68a808000450d0041e0b6c680004138200141af016a41f8b8c680004188b9c6800010a981808000000b200841016a22082004470d000b0b200141106a20022000280204410110ea8a8080000240200128029801418080808078460d0041f4bbc88000410f41c0bdc88000108081808000000b41f8d9c680004130200141af016a41e8d9c6800041f0dec6800010a981808000000b9805010b7f23808080800041b0016b22012480808080000240200028020022022802d00120022802c8012203200341054b1b2204450d0020024190026a2105200241bc016a2106200141146a21074100210803400240024002402006410010b0978080000d0020022802b801210320022802b0012109200120022802b401220a36022c200120093602282001410036022420012009410047220b3602202001200a36021c20012009360218200141003602142001200b3602102009450d022003450d02034020012003417f6a36023020012802104101470d02024020012802140d00200128021821030240200128021c220b450d0002400240200b410771220a0d00200b21090c010b200b210903402009417f6a210920032802ac092103200a417f6a220a0d000b0b200b4108490d00034020032802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092103200941786a22090d000b0b2001420037021820012003360214200141013602100b200141086a200710d1838080002001280208450d030240200128020c410010b0978080000d0020012802302203450d040c010b0b4198b9c680004138200141af016a41f8b8c6800041d0b9c6800010a981808000000b41d0dcc68000418e02200141af016a41c0dcc680004180dfc6800010a981808000000b41f482c6800010a081808000000b02402005410010e68a808000450d0041e0b6c680004138200141af016a41f8b8c680004188b9c6800010a981808000000b200841016a22082004470d000b0b200141106a20022000280204410110eb8a8080000240200128029801418080808078460d0041f4bbc88000410f41c0bdc88000108081808000000b41f8d9c680004130200141af016a41e8d9c6800041f0dec6800010a981808000000bb10202017f017e23808080800041106b2204248080808000200420012802002002200310ec8a808000024002400240024020042802004101470d00200428020422020d0141808080807821010c030b200420012802042002200310e28f80800020042802002201418180808078460d01200429020421050c020b41002103024002400240200428020822014100480d00024020010d00410121030c030b41002d008083d480001a200141002802f482d480001182808080000022030d01410121030b2003200141d8d9c6800010b980808000000b2003417e6a41003b00000b2001ad42208620032002200110f497808000ad8421050c010b41f8d9c6800041302004410f6a41e8d9c680004190dfc6800010a981808000000b2000200537020420002001360200200441106a2480808080000bb10202017f017e23808080800041106b2204248080808000200420012802002002200310ec8a808000024002400240024020042802004101470d00200428020422020d0141808080807821010c030b200420012802042002200310e18f80800020042802002201418180808078460d01200429020421050c020b41002103024002400240200428020822014100480d00024020010d00410121030c030b41002d008083d480001a200141002802f482d480001182808080000022030d01410121030b2003200141d8d9c6800010b980808000000b2003417e6a41003b00000b2001ad42208620032002200110f497808000ad8421050c010b41f8d9c6800041302004410f6a41e8d9c680004190dfc6800010a981808000000b2000200537020420002001360200200441106a2480808080000bbf0602017f047e23808080800041d00a6b2204248080808000200441b0e0c68000411410e891808000200441c4e0c68000410a2003410010e991808000200441d0016a200441d00110f4978080001a200441a0036a200110d792808000200441d0016a41d8e0c68000410a2002412010d992808000200441d0016a41e2e0c68000410a200441a0036a41c0006a412010d99280800020044180096a41386a420037030020044180096a41306a420037030020044180096a41286a420037030020044180096a41206a420037030020044180096a41186a2203420037030020044180096a41106a2201420037030020044180096a41086a220242003703002004420037038009200441d0016a41ece0c68000410b20044180096a41c00010da92808000200441b0076a20044180096a10b6908080002003420037030020014200370300200242003703002004420037038009200441d0016a41f7e0c68000410e20044180096a412010da92808000200441b0076a41386a20032903002205370000200441b0076a41306a20012903002206370000200441b0076a41286a20022903002207370000200420042903800922083700d007200041d8006a2005370000200041d0006a2006370000200041c8006a2007370000200020083700402003200441a0036a41186a29020022053703002001200441a0036a41106a29020022063703002002200441a0036a41086a2902002207370300200441a0056a41086a2007370300200441a0056a41106a2006370300200441a0056a41186a2005370300200420042902a003220537038009200441a0056a41206a20042902c003370300200441a0056a41286a200441a0036a41286a290200370300200441a0056a41306a200441a0036a41306a290200370300200441a0056a41386a200441a0036a41386a290200370300200420053703a00520044180096a200441d0016a41d00110f4978080001a200441b0076a20044180096a41cee0c68000410a200441a0036a41206a412010eb91808000200441e0056a200441b0076a41d00110f4978080001a20044180096a200441e0056a41d00110f4978080001a200441b0076a20044180096a41cee0c68000410a200441a0056a41c00010eb9180800010df91808000000be00201047f024002402002450d000240024002400240024020002802042203200028020c22044b0d0002402002200028020822002802082205200028021022046b4d0d0041010f0b200420026a22032004490d01200320054b0d022001200028020420046a200210f4978080001a200020033602100c050b410021052001200028020020046a4100200320046b2206200620034b1b2203200220032002491b220610f49780800021012000200620046a36020c200220034d0d050240200220036b2204200028020822022802082205200228021022006b4d0d0041010f0b200020046a22062000490d02200620054b0d03200120036a200228020420006a200410f4978080001a2002200636021041000f0b20042003418486cb8000109581808000000b20032005418486cb8000109181808000000b20002006418486cb8000109581808000000b20062005418486cb8000109181808000000b410021050b20050ba30a01077f23808080800041a0026b22022480808080000240024002400240024002400240024020012802082203200128021022046b410c490d002004410c6a2105200441734b0d02200520034d0d0120052003418486cb8000109181808000000b20004181808080783602000c060b2001280204210620012005360210200241206a41086a200620046a220741086a280000360200200220072900003703200240024002400240200241206a4185e1c68000410c10f597808000450d002002410036023c2002410c360234200220013602382002200241206a360230200241a4016a200241306a10ee8480800020022802a4012203418080808078470d0120004181808080783602000c090b20032005460d012004410d6a21042005417f460d04200420034d0d0220042003418486cb8000109181808000000b20022802ac01210420022802a8012106200241c0006a200241b0016a41e40010f4978080001a20022802980221072002280294022108200228029c022105200241186a200241306a10d084808000024020022802184101710d00200241a4016a200241306a200228021c10918380800020022802a401418080808078470d050b200041818080807836020002402004450d00200621010340024020012d0000220041034b0d002001200041027441aceac680006a2802006a2200280200450d00200041046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200141146a21012004417f6a22040d000b0b02402003450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b02402005450d002005410171210341002104024020054101460d002005417e712100410021042007210103402001410c6a200141046a280200200141086a2802002001280200280210118680808000002001411c6a200141146a280200200141186a280200200141106a28020028021011868080800000200141206a21012000200441026a2204470d000b0b2003450d00200720044104746a2201410c6a200128020420012802082001280200280210118680808000000b2008450d0720072007417e6a2f00006b41002802ec82d48000118180808000000c070b20004181808080783602000c060b20012004360210200620056a2d00004101470d03200241106a200110cd848080000240024020022802104101710d00200241a4016a20012002280214109c8380800020022802a401418080808078470d010b20004181808080783602000c060b200241c0006a41086a200241a4016a41086a280200360200200220022902a401370340200241086a200110cd84808000024020022802084101710d00200241a4016a2001200228020c10a98380800020022802a401418080808078470d050b2000418180808078360200200241c0006a10a78f8080002002280240450d05200228024422012001417e6a2f00006b41002802ec82d48000118180808000000c050b20042005418486cb8000109581808000000b417f2004418486cb8000109581808000000b200020022902a40137027c20004184016a200241ac016a2802003602002000410c6a200241c0006a41e40010f4978080001a2000200536027820002007360274200020083602702000200436020820002006360204200020033602000c020b20004181808080783602000c010b200020022902a401370210200041186a200241a4016a41086a2802003602002000410c6a200241c0006a41086a2802003602002000200229034037020420004180808080783602000b200241a0026a2480808080000bd00401087f2000280240210202402001280200200128020822036b41034b0d0020012003410410f491808000200128020821030b2001280204220420036a20023600002001200341046a220236020841002d008083d480001a02400240412041002802f482d48000118280808000002203450d002003417e6a220541003b000020032000290000370000200341086a2206200041086a290000370000200341106a2207200041106a290000370000200341186a2208200041186a2900003700000240200128020020026b411f4b0d0020012002412010f49180800020012802042104200128020821020b200420026a22092003290000370000200941186a2008290000370000200941106a2007290000370000200941086a20062900003700002001200241206a2202360208200320052f00006b41002802ec82d480001181808080000041002d008083d480001a412041002802f482d48000118280808000002203450d012003417e6a220941003b00002003200041206a2200290000370000200341086a2205200041086a290000370000200341106a2206200041106a290000370000200341186a2207200041186a2900003700000240200128020020026b411f4b0d0020012002412010f49180800020012802042104200128020821020b200420026a22002003290000370000200041186a2007290000370000200041106a2006290000370000200041086a20052900003700002001200241206a360208200320092f00006b41002802ec82d48000118180808000000f0b4101412010ab80808000000b4101412010ab80808000000ba20201047f23808080800041206b22042480808080004100210502400240200141146c220641046a22074100480d0041002d008083d480001a200741002802f482d480001182808080000022050d01410121050b2005200741f8e1c6800010b980808000000b2005417e6a41003b000020044100360214200420053602102004200736020c200420013602182004200441186a36021c2004411c6a2004410c6a10dc8480800002402001450d00034020002004410c6a10898c808000200041146a21002006416c6a22060d000b0b200428020c21062002200320042802102200200428021441002802dc82d480001183808080000002402006450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000bee0201067f23808080800041206b22022480808080002002411c6a2103200241186a210402400240024002400240024020002d000022050e050001020305000b2002200041016a36021420002802102106200028020c210041002105200421070c030b410121052002200041016a36021420002802102106200028020c2100200421070c020b2002200041016a36021420002802102106200028020c210041022105200421070c010b200241146a2107200028020c21062000280208210041032105200421030b20032006360200200720003602000b20022005360210200241046a200241106a10e596808000200228020821000240200228020c22032001280200200128020822056b4d0d0020012005200310f491808000200128020821050b200128020420056a2000200310f4978080001a2001200520036a36020802402002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000bd00301087f23808080800041106b220224808080800041002d008083d480001a02400240411841002802f482d48000118280808000002203450d002003417e6a41003b0000200341106a2001280200220441106a290000370000200341086a200441086a2900003700002003200429000037000020022003360208200241183602042002411836020c41002d008083d480001a20012802042101412041002802f482d48000118280808000002203450d012003417e6a220541003b000020032001290000370000200341086a2206200141086a290000370000200341106a2207200141106a290000370000200341186a2208200141186a290000370000200241046a4118412010f49180800020022802082204200228020c22096a22012003290000370000200141086a2006290000370000200141106a2007290000370000200141186a200829000037000020022802042101200320052f00006b41002802ec82d480001181808080000020002004200941206a41002802c480d480001186808080000002402001450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241106a2480808080000f0b4101411841f8e1c6800010b980808000000b4101412010ab80808000000bca0301097f23808080800041106b2202248080808000024002402001280220220341c0004f0d00410121030c010b02402003418080014f0d00410221030c010b410441052003418080808004491b21030b41002d008083d480001a02400240200341002802f482d48000118280808000002204450d002004417e6a41003b000020024100360208200220043602042002200336020041002d008083d480001a412041002802f482d48000118280808000002203450d012003417e6a220541003b000020032001290000370000200341086a2206200141086a290000370000200341106a2207200141106a290000370000200341186a2208200141186a29000037000020024100412010f4918080002002280204200241086a2209280200220a6a22042003290000370000200441086a2006290000370000200441106a2007290000370000200441186a20082900003700002009200a41206a360200200320052f00006b41002802ec82d48000118180808000002002200141206a36020c2002410c6a200210dc84808000200041086a200928020036020020002002290200370200200241106a2480808080000f0b4101200341f8e1c6800010b980808000000b4101412010ab80808000000b950401047f23808080800041306b2202248080808000024002400240024002400240200028020022002d00000e050001020304000b2002200041086a36022020014190e6c68000410a200041016a41f0e5c68000200241206a4180e6c6800010b98180800021000c040b2002200041086a3602202001419ae6c680004109200041016a41f0e5c68000200241206a4180e6c6800010b98180800021000c030b2002200041086a360220200141a3e6c680004104200041016a41f0e5c68000200241206a4180e6c6800010b98180800021000c020b2002200041046a36020c410121002001280200220341a7e6c6800041052001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d032002410c6a200110828f808000450d010c030b200341e080c2800041022005118080808000000d0241012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10828f8080000d02200228022041da80c280004102200228022428020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021000c010b200128020041ace6c680004119200128020428020c1180808080000021000b200241306a24808080800020000b3900200128020020002802002d0000410274220041f4eac680006a280200200041bceac680006a280200200128020428020c118080808000000bf40101027f23808080800041106b22022480808080002002200028020036020420012802004190e4c680004106200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a4196e4c680004104200241046a4180e4c68000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b8e0101017f23808080800041306b22022480808080002002200028020036020c20024101360224200241989bcb800036022020024101360214200241909bcb80003602102002410136021c200241c080808000ad4220862002410c6aad843703282002200241286a36021820012802002001280204200241106a10b1818080002101200241306a24808080800020010b3e01017f23808080800041106b220224808080800020022000280200290204370208200241086a200110ec808080002100200241106a24808080800020000b800601087f024002402002450d00200120026a2106200341016a210741002108200121090240034002400240200820044b0d0020092d0000210a0240024020080d00200a210b0c010b0240024020084101710d00200a210b2003210a0c010b2003200a20032d0000410874200a72413a6e220b413a6c6b3a00002007210a0b20084101460d00200320086a210c0340200a200a2d000041ff0171410874200b6a220b200b413a6e220b413a6c6b3a0000200a41016a220d200d2d0000410874200b6a220b200b413a6e220b413a6c6b3a0000200a41026a220a200c470d000b0b200b450d01034020042008460d04200320086a200b200b413a6e220a413a6c6b3a0000200841016a2108200b413a49210d200a210b200d0d020c000b0b200820044194e3c68000109181808000000b200941016a22092006470d000b20082004200820044b1b210b0240034020012d00000d0120042008460d020240200b2008460d00200141016a2101200320086a41003a0000200841016a21082002417f6a22020d010c020b0b200b20044184e3c68000108281808000000b0240200820044b0d002008450d02200320086a210120054180016a21044100210b024003402003200b6a220d2d0000220a413a4f0d01200d2004200a6a2d00003a00002008200b41016a220b470d000b4101210b024020084101470d004100210a0c050b4100210a4100210b0240200841017622044101460d002008417f6a210d200441feffffff077121024100210b03402003200d6a220c2d00002109200c2003200b6a22042d00003a0000200420093a00002001200b417e736a220c2d00002109200c200441016a22042d00003a0000200420093a0000200d417e6a210d2002200b41026a220b470d000b0b02402008410271450d002003200b6a220d2d00002103200d2001200b417f736a220b2d00003a0000200b20033a00000b2008210b0c040b200a413a41f4e2c68000108281808000000b2008200441e4e2c68000109181808000000b4101210a0c010b4100210b4100210a0b2000200b3602042000200a3602000b920305047f017e027f017e017f024020002802242201450d000240200028022c2202450d002000280220220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341e07c6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b02402003410020057aa74103766b41346c6a220641506a280200450d002006414c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b2005427f7c21080240200641546a2d00004102490d00200641786a2802002207417f460d00200720072802042209417f6a36020420094101470d002006417c6a280200410b6a4104490d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200820058321052002417f6a22020d000b0b2001200141346c413b6a41787122046a4177460d00200028022020046b22042004417e6a2f00006b41002802ec82d48000118180808000000b0bc00501037f0240024002400240024002402000280200417e6a2201410420014106491b0e050501020304000b2000280204220120012802002201417f6a36020020014101470d04200041046a10f0978080000c040b0240200028022c4129490d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802342201450d03200120012802002202417f6a36020020024101470d03200041346a10f0978080000f0b024020002802504129490d00200028022822012001417e6a2f00006b41002802ec82d48000118180808000000b20002d0004450d022000280208220110938c80800020012001417e6a2f00006b41002802ec82d48000118180808000000f0b024020002802382202450d002000280234210103400240024020012d00000e03010001000b200141046a2802002203108e8f80800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b02402000280230450d00200028023422012001417e6a2f00006b41002802ec82d48000118180808000000b2000280204450d0120002802082201450d01200120012802002202417f6a36020020024101470d01200041086a10f0978080000f0b024020002802604129490d00200028023822012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802342202450d002000280230210103400240024020012d00000e03010001000b200141046a2802002203108e8f80800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b0240200028022c450d00200028023022012001417e6a2f00006b41002802ec82d48000118180808000000b2000280200450d0020002802042201450d00200120012802002202417f6a36020020024101470d00200041046a10f0978080000f0b0bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c78b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c78b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c78b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c78b8080000b200641d0026a2480808080000b8b0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b2000416c6a210b200041146a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41146c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201341146a2013410810f59780800041004822160d004102211520144102460d04200c20126a2117410221150340201741146a22182017410810f5978080004100480d03201821172014201541016a2215470d000c020b0b410221154101211920144102460d02200c20126a2117410221150340201741146a22182017410810f597808000417f4a0d02201821172014201541016a2215470d000b0b201421150b2015200a490d022016450d010240201541024f0d00410121150c020b201541017621190b200b201541146c6a2118200021130340201320126a221441086a221629020021072016201820126a221741086a220f290200370200200f2007370200201429020021072014201729020037020020172007370200201741106a221728020021162017201441106a2214280200360200201420163602002018416c6a2118201341146a21132019417f6a22190d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510bf8b808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41146c22146a211a200020146a211b03402006418e026a200e417f6a22136a2d0000200f490d010240024002400240200641046a20134102746a28020022144101762218200941017622126a221920034b0d002014200972410171450d010b2000200d20196b41146c6a210e024020144101710d00200e201820022003201841017267410174413e734100200510bf8b8080000b20094101710d01200e201841146c6a201220022003201241017267410174413e734100200510bf8b8080000c010b201941017421090c010b024020094102490d0020144102490d00200320122018201220184922171b2209490d002002200e201841146c6a2214200e20171b200941146c221710f497808000221620176a2117024002400240201220184f0d00201a210903402014416c6a21142017416c6a211720092017201420172014410810f5978080002212417f4a22151b2218290200370200200941106a201841106a280200360200200941086a201841086a29020037020020172012411f7641146c6a21172014201541146c6a2214200e460d022009416c6a210920172016470d000c020b0b024020090d00201621090c020b201621090340200e2009201420142009410810f5978080002215417f4a22121b2218290200370200200e41106a201841106a280200360200200e41086a201841086a290200370200200e41146a210e2009201241146c6a22092017460d0220142015411f7641146c6a2214201b470d000c020b0b2014210e201621090b200e2009201720096b10f4978080001a0b201941017441017221090b410121142013210e201341014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510bf8b8080000b200641d0026a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041746a210b200041186a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410c6c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201328020c221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d032018410c6a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d022018410c6a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b2015410c6c20126a6a21140340201328020021162013201428020036020020142016360200201341046a221629020021072016201441046a221929020037020020192007370200201441746a21142013410c6a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510c68b808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d410c6c22136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b410c6c6a210e024020134101710d00200e201820022003201841017267410174413e734100200510c68b8080000b20094101710d01200e2018410c6c6a201620022003201641017267410174413e734100200510c68b8080000c010b201741017421090c010b024020094102490d0020134102490d00200320162018201620184922141b2213490d002002200e2018410c6c6a2209200e20141b2013410c6c221410f497808000221c20146a2114024002400240201620184f0d00201a211303402013200941746a2209201441746a221420142802002218200928020022164922191b2212290200370200201341086a201241086a28020036020020142019410c6c6a21142009201820164f410c6c6a2209200e460d02201341746a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a280200360200200e410c6a210e2013201820164f410c6c6a22132014460d0220092012410c6c6a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10f4978080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c68b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c28b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c28b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c28b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c28b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510be8b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510be8b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510be8b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510be8b8080000b200641d0026a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41047422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b02400240024002402013280210221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d03201841106a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d02201841106a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b201541047420126a6a21140340201329020021072013201429020037020020142007370200201341086a221629020021072016201441086a221929020037020020192007370200201441706a2114201341106a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510ca8b808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b4104746a210e024020134101710d00200e201820022003201841017267410174413e734100200510ca8b8080000b20094101710d01200e20184104746a201620022003201641017267410174413e734100200510ca8b8080000c010b201741017421090c010b024020094102490d0020134102490d00200320162018201620184922141b2213490d002002200e20184104746a2209200e20141b2013410474221410f497808000221c20146a2114024002400240201620184f0d00201a211303402013200941706a2209201441706a221420142802002218200928020022164922191b2212290200370200201341086a201241086a290200370200201420194104746a21142009201820164f4104746a2209200e460d02201341706a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a290200370200200e41106a210e2013201820164f4104746a22132014460d02200920124104746a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10f4978080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510ca8b8080000b200641d0026a2480808080000b830c03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041606a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41057422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201341206a2013412010f59780800041004822160d004102211520144102460d04200c20126a2117410221150340201741206a22182017412010f5978080004100480d03201821172014201541016a2215470d000c020b0b410221154101211920144102460d02200c20126a2117410221150340201741206a22182017412010f597808000417f4a0d02201821172014201541016a2215470d000b0b201421150b2015200a490d022016450d010240201541024f0d00410121150c020b201541017621190b200b20154105746a2118200021130340201320126a221441086a221629000021072016201820126a221741086a220f290000370000200f2007370000201741146a2800002116201741106a220f280000211a200f201441106a22102900003700002014290000210720142017290000370000201720073700002010201a360000201441146a2016360000201741186a2216280000210f2016201441186a221a280000360000201a200f3600002017411c6a2217280000211620172014411c6a221428000036000020142016360000201841606a2118201341206a21132019417f6a22190d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510cb8b808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41057422146a211b200020146a211a03402006418e026a200e417f6a22136a2d0000200f490d010240024002400240200641046a20134102746a28020022144101762218200941017622126a221920034b0d002014200972410171450d010b2000200d20196b4105746a210e024020144101710d00200e201820022003201841017267410174413e734100200510cb8b8080000b20094101710d01200e20184105746a201220022003201241017267410174413e734100200510cb8b8080000c010b201941017421090c010b024020094102490d0020144102490d00200320122018201220184922171b2209490d002002200e20184105746a2214200e20171b2009410574221710f497808000221620176a2117024002400240201220184f0d00201b21090340201441606a2114201741606a211720092017201420172014412010f5978080002212417f4a22151b2218290000370000200941186a201841186a290000370000200941106a201841106a290000370000200941086a201841086a29000037000020172012411a764120716a2117201420154105746a2214200e460d02200941606a210920172016470d000c020b0b024020090d00201621090c020b201621090340200e2009201420142009412010f5978080002215417f4a22121b2218290000370000200e41186a201841186a290000370000200e41106a201841106a290000370000200e41086a201841086a290000370000200e41206a210e200920124105746a22092017460d0220142015411a764120716a2214201a470d000c020b0b2014210e201621090b200e2009201720096b10f4978080001a0b201941017441017221090b410121142013210e201341014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510cb8b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c48b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c48b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c48b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c48b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c98b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c98b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c98b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c98b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c58b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c58b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c58b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c58b8080000b200641d0026a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041746a210b200041186a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410c6c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201328020c221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d032018410c6a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d022018410c6a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b2015410c6c20126a6a21140340201328020021162013201428020036020020142016360200201341046a221629020021072016201441046a221929020037020020192007370200201441746a21142013410c6a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510cd8b808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d410c6c22136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b410c6c6a210e024020134101710d00200e201820022003201841017267410174413e734100200510cd8b8080000b20094101710d01200e2018410c6c6a201620022003201641017267410174413e734100200510cd8b8080000c010b201741017421090c010b024020094102490d0020134102490d00200320162018201620184922141b2213490d002002200e2018410c6c6a2209200e20141b2013410c6c221410f497808000221c20146a2114024002400240201620184f0d00201a211303402013200941746a2209201441746a221420142802002218200928020022164922191b2212290200370200201341086a201241086a28020036020020142019410c6c6a21142009201820164f410c6c6a2209200e460d02201341746a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a280200360200200e410c6a210e2013201820164f410c6c6a22132014460d0220092012410c6c6a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10f4978080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510cd8b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510bd8b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510bd8b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510bd8b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510bd8b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c08b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c08b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c08b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c08b8080000b200641d0026a2480808080000b8d0c03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041746a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410c6c220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201241106a2802002215201241046a280200201241146a2802002216201241086a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d032017410c6a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d022017410c6a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410c6c200f6a6a21160340201228020021132012201628020036020020162013360200201241046a221329020021072013201641046a221a290200370200201a2007370200201641746a21162012410c6a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510cc8b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d410c6c22126a211b200020126a211803402006418e026a200e417f6a22146a2d0000200f490d010240024002400240200641046a20144102746a280200220e4101762216200941017622136a221520034b0d00200e200972410171450d010b2000200d20156b410c6c6a21120240200e4101710d002012201620022003201641017267410174413e734100200510cc8b8080000b20094101710d0120122016410c6c6a201320022003201341017267410174413e734100200510cc8b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201320162013201649220e1b2217490d00200220122016410c6c6a22092012200e1b2017410c6c220e10f4978080002219200e6a210e024002400240201320164f0d00201b211603402016200e41746a2213200941746a2217200e41786a280200200941786a280200200e417c6a280200220e2009417c6a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a28020036020020132009411f76410c6c6a210e2017201a410c6c6a22092012460d02201641746a2116200e2019470d000c020b0b024020170d00201921160c020b201921160340201220162009200941046a280200201641046a280200200941086a2802002213201641086a280200221720132017491b10f597808000221a201320176b201a1b221a417f4a22131b2217290200370200201241086a201741086a2802003602002012410c6a211220162013410c6c6a2216200e460d022009201a411f76410c6c6a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122014210e201441014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510cc8b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c88b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c88b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c88b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c88b8080000b200641d0026a2480808080000bb30c03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b2000415c6a210b200041c8006a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41246c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b02400240024002402013280224221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d03201841246a2118201921162014201541016a2215470d000c020b0b410221154101211a20144102460d02200c20126a21184102211503402018280200221920164f0d02201841246a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b2015410176211a0b200b201541246c6a2118200021190340201920126a221441086a221329020021072013201820126a221641086a221729020037020020172007370200201641146a2802002113201641106a2217280200210f2017201441106a221b290200370200201429020021072014201629020037020020162007370200201b200f360200201441146a2013360200201641186a221328020021172013201441186a220f280200360200200f20173602002016411c6a2213280200211720132014411c6a220f280200360200200f2017360200201441206a221428020021132014201641206a2216280200360200201620133602002018415c6a2118201941246a2119201a417f6a221a0d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510c18b808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41246c22146a211c200020146a211b03402006418e026a200e417f6a22196a2d0000200f490d010240024002400240200641046a20194102746a28020022144101762218200941017622126a221320034b0d002014200972410171450d010b2000200d20136b41246c6a210e024020144101710d00200e201820022003201841017267410174413e734100200510c18b8080000b20094101710d01200e201841246c6a201220022003201241017267410174413e734100200510c18b8080000c010b201341017421090c010b024020094102490d0020144102490d00200320122018201220184922161b2209490d002002200e201841246c6a2214200e20161b200941246c221610f497808000221720166a2116024002400240201220184f0d00201c2109034020092014415c6a22182016415c6a2216201628020022122018280200221549221a1b2214290200370200200941086a201441086a290200370200200941106a201441106a290200370200200941186a201441186a290200370200200941206a201441206a2802003602002016201a41246c6a21162018201220154f41246c6a2214200e460d022009415c6a210920162017470d000c020b0b024020090d00201721180c020b201721180340200e20142018201428020022122018280200221549221a1b2209290200370200200e41086a200941086a290200370200200e41106a200941106a290200370200200e41186a200941186a290200370200200e41206a200941206a280200360200200e41246a210e2018201220154f41246c6a22182016460d022014201a41246c6a2214201b470d000c020b0b2014210e201721180b200e2018201620186b10f4978080001a0b201341017441017221090b410121142019210e201941014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c18b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510cf8b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510cf8b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510cf8b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510cf8b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510c38b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510c38b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510c38b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510c38b8080000b200641d0026a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10f5978080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10f5978080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510ce8b808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510ce8b8080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510ce8b8080000c010b201541017421090c010b024020094102490d00200e4102490d002003201420162014201649220e1b2213490d002002201220164104746a22092012200e1b2013410474220e10f4978080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10f597808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10f597808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10f4978080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510ce8b8080000b200641d0026a2480808080000b1e00200128020041f0e3c68000410e200128020428020c118080808000000bdf0201087f23808080800041106b2203248080808000200320013602082003200341086a36020c2003410c6a200210dc84808000024002402001450d0020014105742104034041002d008083d480001a412041002802f482d48000118280808000002201450d022001417e6a220541003b000020012000290000370000200141086a2206200041086a290000370000200141106a2207200041106a290000370000200141186a2208200041186a29000037000002402002280200200228020822096b411f4b0d0020022009412010f491808000200228020821090b200041206a2100200228020420096a220a2001290000370000200a41086a2006290000370000200a41106a2007290000370000200a41186a20082900003700002002200941206a360208200120052f00006b41002802ec82d4800011818080800000200441606a22040d000b0b200341106a2480808080000f0b4101412010ab80808000000bb60602057f017e23808080800041f0006b220224808080800002400240024002400240024002400240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000020040e09010000000203040005000b200041053a00000c080b200241086a200110ce848080000240024020022802084101710d00200241246a2001200228020c1089838080002002280224418080808078470d010b200041053a00000c080b200241306a41086a200241246a41086a28020022033602002002411f6a2003360000200220022902242207370330200041033a00002002200737001720002002290014370001200041086a2002411b6a2900003700000c070b200241146a200110f98e8080002002280218418080808078460d05200241d0006a41086a200241186a220341086a2802002205360200200220032902002207370350200228021421032002411f6a200536000020002003360001200041013a000020022007370017200020022900143700052000410c6a2002411b6a2900003700000c060b200241146a200110f98e8080002002280218418080808078460d03200241e0006a41086a200241186a220341086a2802002205360200200220032902002207370360200228021421032002411f6a200536000020002003360001200041023a000020022007370017200020022900143700052000410c6a2002411b6a2900003700000c050b200241146a200110f98e8080002002280218418080808078460d01200241c0006a41086a200241186a220341086a2802002205360200200220032902002207370340200228021421032002411f6a200536000020002003360001200041003a000020022007370017200020022900143700052000410c6a2002411b6a2900003700000c040b200041043a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241f0006a2480808080000bb30602057f017e23808080800041f0006b220224808080800002400240024002400240024002400240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000020040e09010000000203040005000b200041053a00000c080b200241086a200110cf848080000240024020022802084101710d00200241246a2001200228020c1086838080002002280224418080808078470d010b200041053a00000c080b200241306a41086a200241246a41086a28020022033602002002411f6a2003360000200220022902242207370330200041033a00002002200737001720002002290014370001200041086a2002411b6a2900003700000c070b200241146a200110f88e8080002002280218418080808078460d05200241d0006a41086a200241186a220341086a2802002205360200200220032902002207370350200228021421032002411f6a200536000020002003360001200041013a000020022007370017200020022900143700052000410c6a2002411b6a2900003700000c060b200241146a200110f88e8080002002280218418080808078460d03200241e0006a41086a200241186a220341086a2802002205360200200220032902002207370360200228021421032002411f6a200536000020002003360001200041023a000020022007370017200020022900143700052000410c6a2002411b6a2900003700000c050b200241146a200110f88e8080002002280218418080808078460d01200241c0006a41086a200241186a220341086a2802002205360200200220032902002207370340200228021421032002411f6a200536000020002003360001200041003a000020022007370017200020022900143700052000410c6a2002411b6a2900003700000c040b200041043a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241f0006a2480808080000ba50602057f017e23808080800041d0006b22022480808080000240024002400240024002400240024002400240024002400240024002402001280204200128020c22034d0d002001200341016a36020c200128020020036a2d000021030c010b20012802082203280208220420032802102205460d01200541016a2206450d0c200620044b0d0d2003280204210420032006360210200420056a2d000021030b200341ff01710e09010000000203040005000b200041053a00000c090b2002200110d084808000024020022802004101710d00200241346a200120022802041083838080002002280234418080808078470d050b200041053a00000c080b2002410036022402402001200241246a410410858c8080000d0020022802242103200241086a200110d08480800020022802084101710d00200241246a2001200228020c10838380800020022802242201418080808078470d050b200041053a00000c070b2002410036022402402001200241246a410410858c8080000d0020022802242103200241106a200110d08480800020022802104101710d00200241246a2001200228021410838380800020022802242201418080808078470d050b200041053a00000c060b2002410036022402402001200241246a410410858c8080000d0020022802242103200241186a200110d08480800020022802184101710d00200241246a2001200228021c10838380800020022802242201418080808078470d050b200041053a00000c050b200041043a00000c040b200241c0006a41086a200241346a41086a28020022013602002002412f6a2001360000200220022902342207370340200041033a00002002200737002720002002290024370001200041086a2002412b6a2900003700000c030b2000200229022837020c2000200136020820002003360001200041013a00000c020b2000200229022837020c2000200136020820002003360001200041023a00000c010b2000200229022837020c2000200136020820002003360001200041003a00000b200241d0006a2480808080000f0b417f2006418486cb8000109581808000000b20062004418486cb8000109181808000000b950702057f017e23808080800041d0006b220224808080800002400240024002400240024002400240024002400240024002400240024002400240024002402001280208220320012802102204460d00200441016a2205450d0b20032005490d0c2001280204210620012005360210200620046a2d00000e09010000000203040005000b200041053a00000c090b2002200110cd84808000024020022802004101710d00200241346a2001200228020410a1838080002002280234418080808078470d050b200041053a00000c080b0240200320056b4104490d00200441056a21042005417b4b0d0b200420034b0d0c20012004360210200620056a2800002104200241086a200110cd8480800020022802084101710d00200241246a2001200228020c10a18380800020022802242201418080808078470d050b200041053a00000c070b0240200320056b4104490d00200441056a21042005417b4b0d0c200420034b0d0d20012004360210200620056a2800002104200241106a200110cd8480800020022802104101710d00200241246a2001200228021410a18380800020022802242201418080808078470d050b200041053a00000c060b0240200320056b4104490d00200441056a21042005417b4b0d0d200420034b0d0e20012004360210200620056a2800002104200241186a200110cd8480800020022802184101710d00200241246a2001200228021c10a18380800020022802242201418080808078470d050b200041053a00000c050b200041043a00000c040b200241c0006a41086a200241346a41086a28020022013602002002412f6a2001360000200220022902342207370340200041033a00002002200737002720002002290024370001200041086a2002412b6a2900003700000c030b2000200229022837020c2000200136020820002004360001200041013a00000c020b2000200229022837020c2000200136020820002004360001200041023a00000c010b2000200229022837020c2000200136020820002004360001200041003a00000b200241d0006a2480808080000f0b417f2005418486cb8000109581808000000b20052003418486cb8000109181808000000b20052004418486cb8000109581808000000b20042003418486cb8000109181808000000b20052004418486cb8000109581808000000b20042003418486cb8000109181808000000b20052004418486cb8000109581808000000b20042003418486cb8000109181808000000bab0502027f017e23808080800041e0006b2202248080808000024002400240024002400240024002400240024020012802042203450d0020012003417f6a36020420012001280200220341016a36020020032d00000e09020000000304050001000b200041053a00000c080b200041043a00000c070b200241146a200110fe8e8080002002280214418080808078460d05200241206a41086a200241146a41086a28020022013602002002410f6a2001360000200220022902142204370320200041033a00002002200437000720002002290004370001200041086a2002410b6a2900003700000c060b200241046a200110fb8e8080002002280208418080808078460d03200241c0006a41086a200241086a220141086a2802002203360200200220012902002204370340200228020421012002410f6a200336000020002001360001200041013a000020022004370007200020022900043700052000410c6a2002410b6a2900003700000c050b200241046a200110fb8e8080002002280208418080808078460d01200241d0006a41086a200241086a220141086a2802002203360200200220012902002204370350200228020421012002410f6a200336000020002001360001200041023a000020022004370007200020022900043700052000410c6a2002410b6a2900003700000c040b200241046a200110fb8e80800002402002280208418080808078460d00200241306a41086a200241086a220141086a2802002203360200200220012902002204370330200228020421012002410f6a200336000020002001360001200041003a000020022004370007200020022900043700052000410c6a2002410b6a2900003700000c040b200041053a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241e0006a2480808080000bea0204047f017e027f017e024020002802042204450d000240200028020c2205450d002000280200220641086a21072006290300427f8542808182848890a0c0807f8321080340024020084200520d000340200641a07e6a210620072903002108200741086a22092107200842808182848890a0c0807f83220842808182848890a0c0807f510d000b200842808182848890a0c0807f852108200921070b02402006410020087aa74103766b411c6c6a220941646a280200450d00200941686a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b2008427f7c210b0240200941706a280200450d00200941746a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200b20088321082005417f6a22050d000b0b20042003200441016a20026c6a417f6a410020036b7122076a4177460d00200028020020076b22072007417e6a2f00006b41002802ec82d48000118180808000000b0bde0303027f017e027f23808080800041206b2204248080808000024002400240024002402002410f490d00200241ffffffff014b0d02417f200241037441076e417f6a677641016a21050c010b41044108411020024108491b20024104491b21050b024002402001ad2005ad7e2206422088a70d002006a7220241784b0d00200241076a4178712201200541086a22076a22022001490d00200241f8ffffff074b0d0041002d008083d480001a200241002802f482d48000118280808000002208450d012008200841076a41787120086b22026a2203417e6a20023b0000200320016a41ff01200710fa9780800021012000410036020c20002005417f6a2202200541037641076c20024108491b36020820002002360204200020013602000c040b024020030d00410021050c030b200441003602182004410136020c200441e0e7c6800036020820044204370210200441086a41cce8c6800010fe80808000000b024020030d00410821050c020b4108200210ab80808000000b024020030d00200042003702000c020b200441003602182004410136020c200441e0e7c6800036020820044204370210200441086a41cce8c6800010fe80808000000b2000200236020820002005360204200041003602000b200441206a2480808080000bb616050b7f037e037f077e017f23808080800041206b220524808080800002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d01200541086a418801200a41016a22092002200920024b1b200410af8c8080002005280210210a200528020c210b2005280208220c450d042001280200210d02402006450d00200c41086a210e200d41f87e6a210f200329030022104230892111200d290300427f8542808182848890a0c0807f83211220032802082113200d211420062115410021090340024020124200520d000340200941086a2109201441086a221429030042808182848890a0c0807f83221642808182848890a0c0807f510d000b201642808182848890a0c0807f8521120b20127aa741037620096a2103410029039083d4800021162010211702402013450d00201341086a2900002016852217422088221820132900002011852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b0240200c200b200f410020036b4188016c6a2202290010410029038883d480002218852219422088221a20022900002017422089221785221b422088221c7e201942ffffffff0f832219201b42ffffffff0f83221b7e852019201c7e201a201b7e85422089852002290018201885221842208822192002290008201720167c85221642208822177e201842ffffffff0f832218201642ffffffff0f8322167e85201820177e201920167e854220898585221642208822174288d5fda1027e201642ffffffff0f83221642d3918cad087e85201742d3918cad087e20164288d5fda1027e8542208885a7221d7122046a29000042808182848890a0c0807f8322164200520d00410821020340200420026a2104200241086a2102200c2004200b7122046a29000042808182848890a0c0807f832216500d000b0b2012427f7c21170240200c20167aa741037620046a200b7122026a2c0000417f4c0d00200c29030042808182848890a0c0807f837aa741037621020b20172012832112200c20026a201d41197622043a0000200e200241786a200b716a20043a0000200c2002417f734188016c6a200d2003417f734188016c6a41880110f4978080001a2015417f6a22150d000b0b2001200b3602042001200c3602002001200a20066b360208418180808078210b2007450d03200720084188016c22026a4177460d03200d20026b22022002417e6a2f00006b41002802ec82d48000118180808000000c030b20040d014100210b0c020b41002102200128020021140240200920084107714100476a2204450d002004410171210c024020044101460d00200441feffffff03712109410021020340201420026a220420042903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c370300200441086a220420042903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200c450d00201420026a220220022903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00201420086a20142900003700000c010b201441086a2014200810f9978080001a2008450d010b201441086a211d201441f87e6a210f2003290300221c423089211020032802082103410121024100210d0340200d21152002210d0240201420156a220e2d0000418001470d00200f410020156b4188016c6a210b20142015417f734188016c6a210402400340410029039083d480002112410029038883d480002116201c211702402003450d00200341086a2900002012852217422088221820032900002010852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b2007200b29001020168522184220882219200b2900002017422089221785221a422088221b7e201842ffffffff0f832218201a42ffffffff0f83221a7e852018201b7e2019201a7e8542208985200b29001820168522164220882218200b290008201720127c85221242208822177e201642ffffffff0f832216201242ffffffff0f8322127e85201620177e201820127e854220898585221642208822124288d5fda1027e201642ffffffff0f83221642d3918cad087e85201242d3918cad087e20164288d5fda1027e8542208885a7221371220c210902402014200c6a29000042808182848890a0c0807f8322164200520d0041082102200c21090340200920026a2109200241086a21022014200920077122096a29000042808182848890a0c0807f832216500d000b0b0240201420167aa741037620096a20077122026a2c0000417f4c0d00201429030042808182848890a0c0807f837aa741037621020b02402002200c6b2015200c6b732007714108490d00201420026a22092d0000210c2009201341197622133a0000201d200241786a2007716a20133a000020142002417f734188016c6a2102200c41ff01460d02200229000021162002200429000037000020042016370000200429000821162004200229000837000820022016370008200228001021092002200428001036001020042009360010200428001421092004200228001436001420022009360014200428001821092004200228001836001820022009360018200228001c21092002200428001c36001c2004200936001c200228002021092002200428002036002020042009360020200428002421092004200228002436002420022009360024200428002821092004200228002836002820022009360028200228002c21092002200428002c36002c2004200936002c200228003021092002200428003036003020042009360030200428003421092004200228003436003420022009360034200428003821092004200228003836003820022009360038200228003c21092002200428003c36003c2004200936003c200228004021092002200428004036004020042009360040200428004421092004200228004436004420022009360044200428004821092004200228004836004820022009360048200228004c21092002200428004c36004c2004200936004c200228005021092002200428005036005020042009360050200428005421092004200228005436005420022009360054200428005821092004200228005836005820022009360058200228005c21092002200428005c36005c2004200936005c200228006021092002200428006036006020042009360060200428006421092004200228006436006420022009360064200428006821092004200228006836006820022009360068200228006c21092002200428006c36006c2004200936006c200228007021092002200428007036007020042009360070200428007421092004200228007436007420022009360074200428007821092004200228007836007820022009360078200228007c21092002200428007c36007c2004200936007c20022800800121092002200428008001360080012004200936008001200428008401210920042002280084013600840120022009360084010c010b0b200e201341197622023a0000201d201541786a2007716a20023a00000c010b200e41ff013a0000201d201541786a2007716a41ff013a00002002200441880110f4978080001a0b200d200d20084922046a210220040d000b0b2001200a20066b360208418180808078210b0c010b200541003602182005410136020c200541e0e7c6800036020820054204370210200541086a41cce8c6800010fe80808000000b0b2000200a3602042000200b360200200541206a2480808080000bc114050b7f037e037f077e017f23808080800041206b220524808080800002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d01200541086a41c000200a41016a22092002200920024b1b200410af8c8080002005280210210a200528020c210b2005280208220c450d042001280200210d02402006450d00200c41086a210e200d41406a210f200329030022104230892111200d290300427f8542808182848890a0c0807f83211220032802082113200d211420062115410021090340024020124200520d000340200941086a2109201441086a221429030042808182848890a0c0807f83221642808182848890a0c0807f510d000b201642808182848890a0c0807f8521120b20127aa741037620096a2103410029039083d4800021162010211702402013450d00201341086a2900002016852217422088221820132900002011852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b0240200c200b200f20034106746b2202290010410029038883d480002218852219422088221a20022900002017422089221785221b422088221c7e201942ffffffff0f832219201b42ffffffff0f83221b7e852019201c7e201a201b7e85422089852002290018201885221842208822192002290008201720167c85221642208822177e201842ffffffff0f832218201642ffffffff0f8322167e85201820177e201920167e854220898585221642208822174288d5fda1027e201642ffffffff0f83221642d3918cad087e85201742d3918cad087e20164288d5fda1027e8542208885a7221d7122046a29000042808182848890a0c0807f8322164200520d00410821020340200420026a2104200241086a2102200c2004200b7122046a29000042808182848890a0c0807f832216500d000b0b2012427f7c21170240200c20167aa741037620046a200b7122026a2c0000417f4c0d00200c29030042808182848890a0c0807f837aa741037621020b20172012832112200c20026a201d41197622043a0000200e200241786a200b716a20043a0000200c2002417f734106746a220241386a200d2003417f734106746a220441386a290000370000200241306a200441306a290000370000200241286a200441286a290000370000200241206a200441206a290000370000200241186a200441186a290000370000200241106a200441106a290000370000200241086a200441086a290000370000200220042900003700002015417f6a22150d000b0b2001200b3602042001200c3602002001200a20066b360208418180808078210b2007450d032007200841067422026a4177460d03200d20026b22022002417e6a2f00006b41002802ec82d48000118180808000000c030b20040d014100210b0c020b41002102200128020021140240200920084107714100476a2204450d002004410171210c024020044101460d00200441feffffff03712109410021020340201420026a220420042903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c370300200441086a220420042903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200c450d00201420026a220220022903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00201420086a20142900003700000c010b201441086a2014200810f9978080001a2008450d010b201441086a211d201441406a210f2003290300221c423089211020032802082103410121024100210d0340200d21152002210d0240201420156a220e2d0000418001470d00200f20154106746b210b20142015417f734106746a210902400340410029039083d480002112410029038883d480002116201c211702402003450d00200341086a2900002012852217422088221820032900002010852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b2007200b29001020168522184220882219200b2900002017422089221785221a422088221b7e201842ffffffff0f832218201a42ffffffff0f83221a7e852018201b7e2019201a7e8542208985200b29001820168522164220882218200b290008201720127c85221242208822177e201642ffffffff0f832216201242ffffffff0f8322127e85201620177e201820127e854220898585221642208822124288d5fda1027e201642ffffffff0f83221642d3918cad087e85201242d3918cad087e20164288d5fda1027e8542208885a7221371220c210402402014200c6a29000042808182848890a0c0807f8322164200520d0041082102200c21040340200420026a2104200241086a21022014200420077122046a29000042808182848890a0c0807f832216500d000b0b0240201420167aa741037620046a20077122026a2c0000417f4c0d00201429030042808182848890a0c0807f837aa741037621020b02402002200c6b2015200c6b732007714108490d00201420026a22042d0000210c2004201341197622133a0000201d200241786a2007716a20133a000020142002417f734106746a2102200c41ff01460d02200928001421042009280010210c200920022900103700102009290000211620092002290000370000200220163700002009290008211620092002290008370008200220163700082002200c3600102009280018210c20092002280018360018200220043600142002200c360018200928001c21042009200228001c36001c2002200436001c200928002021042009200228002036002020022004360020200928002421042009200228002436002420022004360024200928002821042009200228002836002820022004360028200928002c21042009200228002c36002c2002200436002c200928003021042009200228003036003020022004360030200928003421042009200228003436003420022004360034200928003821042009200228003836003820022004360038200928003c21042009200228003c36003c2002200436003c0c010b0b200e201341197622023a0000201d201541786a2007716a20023a00000c010b200e41ff013a0000201d201541786a2007716a41ff013a0000200241386a200941386a290000370000200241306a200941306a290000370000200241286a200941286a290000370000200241206a200941206a290000370000200241186a200941186a290000370000200241106a200941106a290000370000200241086a200941086a290000370000200220092900003700000b200d200d20084922046a210220040d000b0b2001200a20066b360208418180808078210b0c010b200541003602182005410136020c200541e0e7c6800036020820054204370210200541086a41cce8c6800010fe80808000000b0b2000200a3602042000200b360200200541206a2480808080000bfc11080c7f037e017f017e017f047e017f027e23808080800041c0006b22052480808080000240024002400240200128020c220620026a22022006490d000240200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d002005410c200a41016a220b2002200b20024b1b200410af8c8080002005280208210c2005280204210d2005280200220e450d032001280200210f02402006450d00200e41086a2110200329030022114230892112200f290300427f8542808182848890a0c0807f83211320032802082103200f2109200621144100210b0340024020134200520d000340200b41086a210b200941086a220929030042808182848890a0c0807f83221542808182848890a0c0807f510d000b201542808182848890a0c0807f8521130b200f410020137aa7410376200b6a22166b410c6c6a220241746a2104410029039083d4800021152011211702402003450d00200341086a2900002015852217422088221820032900002012852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b41002903a083d480002118410029039883d480002119410029038883d48000211a200542003703082005201837033020052019370328200520153703202005201a37031820052017370310200541203a00382005200241786a2802002202ad370300200428020041086a20022005108f888080000240024020052d00380d00200529031021150c010b2005290318200529030885221542208822172005290310200529030085221842208822197e201542ffffffff0f832215201842ffffffff0f8322187e85201520197e201720187e854220898521150b0240200e200d201542208822174288d5fda1027e201542ffffffff0f83221542d3918cad087e85201742d3918cad087e20154288d5fda1027e8542208885a7221b7122046a29000042808182848890a0c0807f8322154200520d00410821020340200420026a2104200241086a2102200e2004200d7122046a29000042808182848890a0c0807f832215500d000b0b2013427f7c21170240200e20157aa741037620046a200d7122026a2c0000417f4c0d00200e29030042808182848890a0c0807f837aa741037621020b20172013832113200e20026a201b41197622043a00002010200241786a200d716a20043a0000200e2002417f73410c6c6a220241086a200f2016417f73410c6c6a220441086a280000360000200220042900003700002014417f6a22140d000b0b2001200d3602042001200e3602002001200c20066b360208418180808078210d2007450d0220072008410c6c41076a41787122026a4177460d02200f20026b22022002417e6a2f00006b41002802ec82d48000118180808000000c020b410021022001280200210b0240200920084107714100476a2204450d002004410171210e024020044101460d00200441feffffff03712109410021020340200b20026a220420042903002215427f85420788428182848890a0c0800183201542fffefdfbf7efdfbfff00847c370300200441086a220420042903002215427f85420788428182848890a0c0800183201542fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200e450d00200b20026a220220022903002215427f85420788428182848890a0c0800183201542fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00200b20086a200b2900003700000c010b200b41086a200b200810f9978080001a2008450d010b200b41086a2116200b41746a210c2003290300221c423089211d2003280208210d410121024100211b0340201b21142002211b0240200b20146a22102d0000418001470d00200c410020146b410c6c6a2103200b2014417f73410c6c6a21090240034041002903a083d480002117410029039883d480002118410029039083d480002115410029038883d480002119201c21130240200d450d00200d41086a2900002015852213422088221a200d290000201d85221142208822127e201342ffffffff0f832213201142ffffffff0f8322117e85201320127e201a20117e854220898521130b200542003703082005201737033020052018370328200520153703202005201937031820052013370310200541203a0038200520032802042202ad370300200328020041086a20022005108f888080000240024020052d00380d00200529031021150c010b2005290318200529030885221542208822132005290310200529030085221742208822187e201542ffffffff0f832215201742ffffffff0f8322177e85201520187e201320177e854220898521150b2007201542208822134288d5fda1027e201542ffffffff0f83221542d3918cad087e85201342d3918cad087e20154288d5fda1027e8542208885a7220f71220e21040240200b200e6a29000042808182848890a0c0807f8322154200520d0041082102200e21040340200420026a2104200241086a2102200b200420077122046a29000042808182848890a0c0807f832215500d000b0b0240200b20157aa741037620046a20077122026a2c0000417f4c0d00200b29030042808182848890a0c0807f837aa741037621020b02402002200e6b2014200e6b732007714108490d00200b20026a22042d0000210e2004200f411976220f3a00002016200241786a2007716a200f3a0000200b2002417f73410c6c6a2102200e41ff01460d022009280000210420092002280000360000200220043600002002280004210420022009280004360004200920043600042009280008210420092002280008360008200220043600080c010b0b2010200f41197622023a00002016201441786a2007716a20023a00000c010b201041ff013a00002016201441786a2007716a41ff013a0000200241086a200941086a280000360000200220092900003700000b201b201b20084922046a210220040d000b0b2001200a20066b360208418180808078210d0c010b20040d024100210d0b0b2000200c3602042000200d360200200541c0006a2480808080000f0b2005410036021020054101360204200541e0e7c6800036020020054204370208200541cce8c6800010fe80808000000b8615080b7f037e027f017e017f047e017f027e23808080800041c0006b22052480808080000240024002400240200128020c220620026a22022006490d000240200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d0020054134200a41016a22092002200920024b1b200410af8c8080002005280208210b2005280204210c2005280200220d450d032001280200210e02402006450d00200d41086a210f200329030022104230892111200e290300427f8542808182848890a0c0807f83211220032802082103200e211320062114410021090340024020124200520d000340200941086a2109201341086a221329030042808182848890a0c0807f83221542808182848890a0c0807f510d000b201542808182848890a0c0807f8521120b200e410020127aa741037620096a22166b41346c6a2202414c6a2104410029039083d4800021152010211702402003450d00200341086a2900002015852217422088221820032900002011852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b41002903a083d480002118410029039883d480002119410029038883d48000211a200542003703082005201837033020052019370328200520153703202005201a37031820052017370310200541203a00382005200241506a2802002202ad370300200428020020022005108f888080000240024020052d00380d00200529031021150c010b2005290318200529030885221542208822172005290310200529030085221842208822197e201542ffffffff0f832215201842ffffffff0f8322187e85201520197e201720187e854220898521150b0240200d200c201542208822174288d5fda1027e201542ffffffff0f83221542d3918cad087e85201742d3918cad087e20154288d5fda1027e8542208885a7221b7122046a29000042808182848890a0c0807f8322154200520d00410821020340200420026a2104200241086a2102200d2004200c7122046a29000042808182848890a0c0807f832215500d000b0b2012427f7c21170240200d20157aa741037620046a200c7122026a2c0000417f4c0d00200d29030042808182848890a0c0807f837aa741037621020b20172012832112200d20026a201b41197622043a0000200f200241786a200c716a20043a0000200d2002417f7341346c6a220241306a200e2016417f7341346c6a220441306a280000360000200241286a200441286a290000370000200241206a200441206a290000370000200241186a200441186a290000370000200241106a200441106a290000370000200241086a200441086a290000370000200220042900003700002014417f6a22140d000b0b2001200c3602042001200d3602002001200b20066b360208418180808078210c2007450d022007200841346c41076a41787122026a4177460d02200e20026b22022002417e6a2f00006b41002802ec82d48000118180808000000c020b41002102200128020021130240200920084107714100476a2204450d002004410171210d024020044101460d00200441feffffff03712109410021020340201320026a220420042903002215427f85420788428182848890a0c0800183201542fffefdfbf7efdfbfff00847c370300200441086a220420042903002215427f85420788428182848890a0c0800183201542fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200d450d00201320026a220220022903002215427f85420788428182848890a0c0800183201542fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00201320086a20132900003700000c010b201341086a2013200810f9978080001a2008450d010b201341086a21162013414c6a210b2003290300221c423089211d2003280208210c410121024100211b0340201b21142002211b0240201320146a220f2d0000418001470d00200b410020146b41346c6a210320132014417f7341346c6a21090240034041002903a083d480002117410029039883d480002118410029039083d480002115410029038883d480002119201c21120240200c450d00200c41086a2900002015852212422088221a200c290000201d85221042208822117e201242ffffffff0f832212201042ffffffff0f8322107e85201220117e201a20107e854220898521120b200542003703082005201737033020052018370328200520153703202005201937031820052012370310200541203a0038200520032802042202ad370300200328020020022005108f888080000240024020052d00380d00200529031021150c010b2005290318200529030885221542208822122005290310200529030085221742208822187e201542ffffffff0f832215201742ffffffff0f8322177e85201520187e201220177e854220898521150b2007201542208822124288d5fda1027e201542ffffffff0f83221542d3918cad087e85201242d3918cad087e20154288d5fda1027e8542208885a7220e71220d210402402013200d6a29000042808182848890a0c0807f8322154200520d0041082102200d21040340200420026a2104200241086a21022013200420077122046a29000042808182848890a0c0807f832215500d000b0b0240201320157aa741037620046a20077122026a2c0000417f4c0d00201329030042808182848890a0c0807f837aa741037621020b02402002200d6b2014200d6b732007714108490d00201320026a22042d0000210d2004200e411976220e3a00002016200241786a2007716a200e3a000020132002417f7341346c6a2102200d41ff01460d02200928000021042009200228000036000020022004360000200228000421042002200928000436000420092004360004200928000821042009200228000836000820022004360008200228000c21042002200928000c36000c2009200436000c200928001021042009200228001036001020022004360010200228001421042002200928001436001420092004360014200928001821042009200228001836001820022004360018200228001c21042002200928001c36001c2009200436001c200928002021042009200228002036002020022004360020200228002421042002200928002436002420092004360024200928002821042009200228002836002820022004360028200228002c21042002200928002c36002c2009200436002c2009280030210420092002280030360030200220043600300c010b0b200f200e41197622023a00002016201441786a2007716a20023a00000c010b200f41ff013a00002016201441786a2007716a41ff013a0000200241306a200941306a280000360000200241286a200941286a290000370000200241206a200941206a290000370000200241186a200941186a290000370000200241106a200941106a290000370000200241086a200941086a290000370000200220092900003700000b201b201b20084922046a210220040d000b0b2001200a20066b360208418180808078210c0c010b20040d024100210c0b0b2000200b3602042000200c360200200541c0006a2480808080000f0b2005410036021020054101360204200541e0e7c6800036020020054204370208200541cce8c6800010fe80808000000b8012050c7f037e027f077e017f23808080800041206b220524808080800002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d01200541086a4120200a41016a220b2002200b20024b1b200410af8c8080002005280210210a200528020c210c2005280208220d450d042001280200210e02402006450d00200d41086a210f200e41606a2110200329030022114230892112200e290300427f8542808182848890a0c0807f83211320032802082114200e2109200621154100210b0340024020134200520d000340200b41086a210b200941086a220929030042808182848890a0c0807f83221642808182848890a0c0807f510d000b201642808182848890a0c0807f8521130b20137aa7410376200b6a2103410029039083d4800021162011211702402014450d00201441086a2900002016852217422088221820142900002012852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b0240200d200c201020034105746b2202290010410029038883d480002218852219422088221a20022900002017422089221785221b422088221c7e201942ffffffff0f832219201b42ffffffff0f83221b7e852019201c7e201a201b7e85422089852002290018201885221842208822192002290008201720167c85221642208822177e201842ffffffff0f832218201642ffffffff0f8322167e85201820177e201920167e854220898585221642208822174288d5fda1027e201642ffffffff0f83221642d3918cad087e85201742d3918cad087e20164288d5fda1027e8542208885a7221d7122046a29000042808182848890a0c0807f8322164200520d00410821020340200420026a2104200241086a2102200d2004200c7122046a29000042808182848890a0c0807f832216500d000b0b2013427f7c21170240200d20167aa741037620046a200c7122026a2c0000417f4c0d00200d29030042808182848890a0c0807f837aa741037621020b20172013832113200d20026a201d41197622043a0000200f200241786a200c716a20043a0000200d2002417f734105746a220241186a200e2003417f734105746a220441186a290000370000200241106a200441106a290000370000200241086a200441086a290000370000200220042900003700002015417f6a22150d000b0b2001200c3602042001200d3602002001200a20066b360208418180808078210c2007450d032007200841057422026a4177460d03200e20026b22022002417e6a2f00006b41002802ec82d48000118180808000000c030b20040d014100210c0c020b410021022001280200210b0240200920084107714100476a2204450d002004410171210d024020044101460d00200441feffffff03712109410021020340200b20026a220420042903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c370300200441086a220420042903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200d450d00200b20026a220220022903002216427f85420788428182848890a0c0800183201642fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00200b20086a200b2900003700000c010b200b41086a200b200810f9978080001a2008450d010b200b41086a211d200b41606a21102003290300221c423089211120032802082103410121024100210e0340200e21152002210e0240200b20156a220f2d0000418001470d00201020154105746b210c200b2015417f734105746a210902400340410029039083d480002113410029038883d480002116201c211702402003450d00200341086a2900002013852217422088221820032900002011852219422088221a7e201742ffffffff0f832217201942ffffffff0f8322197e852017201a7e201820197e854220898521170b2007200c29001020168522184220882219200c2900002017422089221785221a422088221b7e201842ffffffff0f832218201a42ffffffff0f83221a7e852018201b7e2019201a7e8542208985200c29001820168522164220882218200c290008201720137c85221342208822177e201642ffffffff0f832216201342ffffffff0f8322137e85201620177e201820137e854220898585221642208822134288d5fda1027e201642ffffffff0f83221642d3918cad087e85201342d3918cad087e20164288d5fda1027e8542208885a7221471220d21040240200b200d6a29000042808182848890a0c0807f8322164200520d0041082102200d21040340200420026a2104200241086a2102200b200420077122046a29000042808182848890a0c0807f832216500d000b0b0240200b20167aa741037620046a20077122026a2c0000417f4c0d00200b29030042808182848890a0c0807f837aa741037621020b02402002200d6b2015200d6b732007714108490d00200b20026a22042d0000210d2004201441197622143a0000201d200241786a2007716a20143a0000200b2002417f734105746a2102200d41ff01460d02200928001421042009280010210d200920022900103700102009290000211620092002290000370000200220163700002009290008211620092002290008370008200220163700082002200d3600102009280018210d20092002280018360018200220043600142002200d360018200928001c21042009200228001c36001c2002200436001c0c010b0b200f201441197622023a0000201d201541786a2007716a20023a00000c010b200f41ff013a0000201d201541786a2007716a41ff013a0000200241186a200941186a290000370000200241106a200941106a290000370000200241086a200941086a290000370000200220092900003700000b200e200e20084922046a210220040d000b0b2001200a20066b360208418180808078210c0c010b200541003602182005410136020c200541e0e7c6800036020820054204370210200541086a41cce8c6800010fe80808000000b0b2000200a3602042000200c360200200541206a2480808080000b950d06097f017e027f017e027f017e23808080800041206b22052480808080002005200336020402400240024002400240200128020c220620026a22032006490d00200320012802042207200741016a2208410376220241076c20074108491b22094101764d0d01200541086a411c200941016a22022003200220034b1b200410af8c8080002005280210210a200528020c210b2005280208220c450d042001280200210d02402006450d00200c41086a2109200d290300427f8542808182848890a0c0807f83210e41002104200d210f2006211003400240200e4200520d000340200441086a2104200f41086a220f29030042808182848890a0c0807f83221142808182848890a0c0807f510d000b201142808182848890a0c0807f85210e0b0240200c200b200541046a200d200e7aa741037620046a221210b68c808000a722137122026a29000042808182848890a0c0807f8322114200520d00410821030340200220036a2102200341086a2103200c2002200b7122026a29000042808182848890a0c0807f832211500d000b0b200e427f7c21140240200c20117aa741037620026a200b7122036a2c0000417f4c0d00200c29030042808182848890a0c0807f837aa741037621030b2014200e83210e200c20036a201341197622023a00002009200341786a200b716a20023a0000200c2003417f73411c6c6a220341186a200d2012417f73411c6c6a220241186a280000360000200341106a200241106a290000370000200341086a200241086a290000370000200320022900003700002010417f6a22100d000b0b2001200b3602042001200c3602002001200a20066b360208418180808078210b2007450d0320072008411c6c41076a41787122036a4177460d03200d20036b22032003417e6a2f00006b41002802ec82d48000118180808000000c030b20040d014100210b0c020b41002103200128020021040240200220084107714100476a2202450d002002410171210c024020024101460d00200241feffffff0371210f410021030340200420036a220220022903002211427f85420788428182848890a0c0800183201142fffefdfbf7efdfbfff00847c370300200241086a220220022903002211427f85420788428182848890a0c0800183201142fffefdfbf7efdfbfff00847c370300200341106a2103200f417e6a220f0d000b0b200c450d00200420036a220320032903002211427f85420788428182848890a0c0800183201142fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00200420086a20042900003700000c010b200441086a2004200810f9978080001a2008450d010b200441086a2110410021124101210303402012210b2003211202402004200b6a22132d0000418001470d002004200b417f73411c6c6a210f024003402007200541046a2004200b10b68c808000a7220d71220c210202402004200c6a29000042808182848890a0c0807f8322114200520d0041082103200c21020340200220036a2102200341086a21032004200220077122026a29000042808182848890a0c0807f832211500d000b0b0240200420117aa741037620026a20077122036a2c0000417f4c0d00200429030042808182848890a0c0807f837aa741037621030b02402003200c6b200b200c6b732007714108490d00200420036a22022d0000210c2002200d411976220d3a00002010200341786a2007716a200d3a000020042003417f73411c6c6a2103200c41ff01460d02200328000021022003200f280000360000200f2002360000200f2800042102200f200328000436000420032002360004200328000821022003200f280008360008200f2002360008200f28000c2102200f200328000c36000c2003200236000c200328001021022003200f280010360010200f2002360010200f2800142102200f200328001436001420032002360014200328001821022003200f280018360018200f20023600180c010b0b2013200d41197622033a00002010200b41786a2007716a20033a00000c010b201341ff013a00002010200b41786a2007716a41ff013a0000200341186a200f41186a280000360000200341106a200f41106a290000370000200341086a200f41086a2900003700002003200f2900003700000b2012201220084922026a210320020d000b0b2001200920066b360208418180808078210b0c010b200541003602182005410136020c200541e0e7c6800036020820054204370210200541086a41cce8c6800010fe80808000000b0b2000200a3602042000200b360200200541206a2480808080000bf70504017f057e017f017e2001410020026b411c6c6a2202416c6a2802002103200241686a2102410029039083d4800021042000280200220029030021050240200041086a2802002200450d00200041086a290000200485220642208822072000290000200542308985220542208822087e200642ffffffff0f832206200542ffffffff0f8322057e85200620087e200720057e854220898521050b20022802002100410029038883d48000210620052003ad8a21050240024020034111490d00200520047c210402402003418002490d0020002003200520042005410029039883d480007c200541002903a083d480007c200610c39080800021050c020b200341f00171210220002003410f716a2109024003402000200920026a22014f0d01200141786a29000020068522074220882208200041086a2900002004852204422088220a7e200742ffffffff0f832207200442ffffffff0f8322047e852007200a7e200820047e85422089852104200141706a2900002006852207422088220820002900002005852205422088220a7e200742ffffffff0f832207200542ffffffff0f8322057e852007200a7e200820057e85422089852105200041106a2100200241706a22020d000b0b200520048521050c010b024002400240200341074b0d00200341034b0d012003450d02200020036a417f6a310000420886200020034101766a310000842004852104200520003100008521050c020b20002900002005852105200020036a41786a29000020048521040c010b200520003500008521052004200020036a417c6a3500008521040b20054220882207200442208822087e200542ffffffff0f832205200442ffffffff0f8322047e85200720047e200520087e854220898521050b200642ffffffff0f83220420032005a773ad22077e20054220882205200642208822067e85200620077e200520047e8542208985220542208822064288d5fda1027e200542ffffffff0f83220542d3918cad087e85200642d3918cad087e20054288d5fda1027e85422089850bf00d01107f2380808080004190016b2207248080808000024002400240024002400240024002400240024002400240024020010e020001020b0240200328020822082003280200470d002003419ccfcd800010b8808080000b200328020420086a41003a00002003200841016a3602080c0b0b20002802102108200028020c21092005410171450d010240200820064f0d002007200836020c2007200936020820074180808080783602040c0a0b200741106a2009200841002802c480d480001186808080000041002d008083d480001a412041002802f482d48000118280808000002208450d02200820072900103700002008417e6a41003b0000200841086a200741106a41086a290000370000200841106a200741106a41106a290000370000200841186a200741106a41186a2900003700002007412036020c20072008360208200741203602040c090b200041146a210a200141146c220b416c6a41146e210c2000280210210d200028020c210e2000280200210f41002110200041046a280200221121120340410021080240200a201041146c6a221341046a2802002209201120092011491b2209450d0020132802002113410021080340200f20086a2d0000201320086a2d0000470d012009200841016a2208470d000b200921080b2012200820122008491b2112201041016a2210200c470d000b024002400240024020040d00201220024b0d014100210f0c030b201220024b0d01410021140c020b201220114b0d04200741e0006a41086a220841003602002007428080808010370260200020012012200741e0006a41002005200610b78c808000200741106a41086a2008280200360200200720072902603703102003200741106a10978b8080000c0b0b201220114b0d04200f20026a210f201220026b2114201221020b200741c8006a4200370300200741c0006a4200370300200741386a4200370300200741306a4200370300200741286a4200370300200741106a41106a4200370300200741186a4200370300200742003703104100210c4101210820022011462215210a0340200c21162008210c200a20014b0d07410021090240200a2001460d00200b200a41146c22086b2113200020086a210841002109201641ff0171211203402002200841046a28020022104f0d08200828020020026a2d00002012470d01200841146a2108200941016a21092013416c6a22130d000b0b200741106a20164102746a20093602002009200a6a210a200c200c41104922096a210820090d000b02400240024020022011470d00410121122005410171450d02200d2006490d02200741e0006a200e200d41002802c480d480001186808080000041002d008083d480001a412041002802f482d4800011828080800000220e0d014101412041b4e7c6800010b980808000000b2007418180808078360254410121120c090b200e2007290060370000200e417e6a41003b0000200e41186a2209200741e0006a41186a290000370000200e41106a2213200741e0006a41106a290000370000200e41086a2210200741e0006a41086a29000037000041002d008083d480001a412041002802f482d48000118280808000002208450d05410021122008417e6a41003b00002008200e290000370000200841086a2010290000370000200841106a2013290000370000200841186a20092900003700002007412036025c20072008360258200741203602540c080b2007200d36025c2007200e36025820074180808080783602540c070b2007200836020c2007200936020820074180808080783602040c070b4101412041b4e7c6800010b980808000000b2012201141cce9c68000109181808000000b2012201141dce9c68000109181808000000b4101412041a8b2c8800010b980808000000b20022010418ceac68000108281808000000b200a200141fce9c68000109281808000000b2003200f2014200741d4006a200741106a200741106a41c0006a10968b808000200241016a210f410021080240024003400240200741106a20086a2802002209450d00200920156a22022009490d02200220014b0d0320074184016a41086a221341003602002007428080808010370284012000201541146c6a2009200f20074184016a20042005200610b78c808000200741e0006a41086a201328020036020020072007290284013703602003200741e0006a10978b808000200221150b200841046a220841c000470d000b20120d03200e200e417e6a2f00006b41002802ec82d48000118180808000000c030b2015200241ece9c68000109581808000000b2002200141ece9c68000109181808000000b0240200041046a28020022082002490d002003200028020020026a200820026b200741046a10c2978080000c010b2002200841bce9c68000109281808000000b20074190016a2480808080000bb20501067f23808080800041f0006b220424808080800020044100360214200442808080801037020c41002d008083d480001a0240410441002802f482d48000118280808000002205450d002005200541036a417c71220620056b22076a417e6a20073b0000200641003602002004410036025c20044200370254200442818080802037024c20042006360248200441003602442004410036023c200442003702342004410036022c2004420037022420042004410c6a360260200441186a200441246a41a0e0c6800010d88f8080002004410036026c2004428080808010370264200428021c2208200428022022074100200441e4006a20012002200310b78c80800020042802642109200020042802682201200428026c41002802c480d480001186808080000002402007450d002007410171210041002103024020074101460d00200841206a21052007417e7121024100210303400240200541686a280200450d002005416c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402005417c6a280200450d00200528020022072007417e6a2f00006b41002802ec82d48000118180808000000b200541286a21052002200341026a2203470d000b0b2000450d002008200341146c6a2205280208450d00200541086a28020422052005417e6a2f00006b41002802ec82d48000118180808000000b02402004280218450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b20062006417e6a2f01006b41002802ec82d48000118180808000000240200428020c450d00200428021022052005417e6a2f00006b41002802ec82d48000118180808000000b02402009450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200441f0006a2480808080000f0b41044104419ceac6800010b980808000000b820403027f047e047f23808080800041a0016b2202248080808000200242cfc4f4d18decb3a8d80037008801200242e8afb0b6b9e781b59d7f37008001200242c0c38addfcd9c9c1c400370078200242c2d5a39edcfaf091cd00370070200241e0006a200241f0006a412010e985808000200220022903684200428080c002420010fc97808000200241f0006a4200420020022903004200200228026022031b2002290308420020031b428094ebdc03420010a393808000200229038801210420022903800121052002290378210620022903702107200241c0006a10f386808000200241f0006a200241c0006a41acecc6800010d68f80800020022802782208410a7421092002280270210a2002280274210302400240024020080d004101210b0c010b41002d008083d480001a200941002802f482d4800011828080800000220b450d01200b417e6a41003b00000b2002200b2003200910f497808000220b36021c2002200a360234200220033602302002200336022c2002200b20096a3602282002200b360220200220083602242002200320096a36023820022005a7410a7641ffffff0120054280808080105441002004501b1b41ffffff012007200684501b36023c200041046a2002411c6a41acecc6800010f28e80800020004104360200200241a0016a2480808080000f0b41012009418c9dc4800010b980808000000b841001057f23808080800041306b2202248080808000024002400240024002400240024002400240024002400240024002400240024020002d00000e0f000102030405060708090a0b0c0d0e000b2002200041046a36020c41012103200128020022004190aec7800041052001280204220428020c2205118080808000000d0e0240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d102002410c6a200110a785808000450d010c100b200041e080c2800041022005118080808000000d0f41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a7858080000d0f200228022041da80c280004102200228022428020c118080808000000d0f0b200128020041e280c280004101200128020428020c1180808080000021030c0e0b20012802004195aec78000410c200128020428020c1180808080000021030c0d0b200128020041a1aec780004109200128020428020c1180808080000021030c0c0b2002200041046a36020c410121032001280200220041aaaec7800041062001280204220428020c2205118080808000000d0b0240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d0d2002410c6a200110808d808000450d010c0d0b200041e080c2800041022005118080808000000d0c41012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10808d8080000d0c200228022041da80c280004102200228022428020c118080808000000d0c0b200128020041e280c280004101200128020428020c1180808080000021030c0b0b200128020041b0aec780004111200128020428020c1180808080000021030c0a0b200128020041c1aec78000410b200128020428020c1180808080000021030c090b200128020041ccaec780004110200128020428020c1180808080000021030c080b410121032002200041016a36020c2001280200220041dcaec7800041052001280204220428020c2205118080808000000d070240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d092002410c6a200110838d808000450d010c090b200041e080c2800041022005118080808000000d0841012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10838d8080000d08200241106a41da80c2800041021088818080000d080b200128020041e280c280004101200128020428020c1180808080000021030c070b410121032002200041016a36020c2001280200220041e1aec78000410a2001280204220428020c2205118080808000000d060240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d082002410c6a200110848f808000450d010c080b200041e080c2800041022005118080808000000d0741012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10848f8080000d07200228022041da80c280004102200228022428020c118080808000000d070b200128020041e280c280004101200128020428020c1180808080000021030c060b410121032001280200220541ebaec78000410d2001280204220628020c2204118080808000000d050240024020012d000a418001710d0041012103200541df80c2800041012004118080808000000d072001280200419eb1c780004192b1c7800020002d000122001b4107410c20001b200128020428020c11808080800000450d010c070b200541e080c2800041022004118080808000000d06200220063602242002200536022041012103200241013a001020002d000121002002200241106a360228200241206a419eb1c780004192b1c7800020001b4107410c20001b1088818080000d06200241206a41da80c2800041021088818080000d060b200128020041e280c280004101200128020428020c1180808080000021030c050b200128020041f8aec780004109200128020428020c1180808080000021030c040b20012802004181afc78000410a200128020428020c1180808080000021030c030b2001280200418bafc78000410b200128020428020c1180808080000021030c020b20012802004196afc78000410e200128020428020c1180808080000021030c010b410121032002200041016a36020c2001280200220041a4afc7800041042001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d022002410c6a2001108d8c808000450d010c020b200041e080c2800041022005118080808000000d0141012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a108d8c8080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021030b200241306a24808080800020030bfb0301017e02400240024002400240024002400240024020012d0000417f6a0e09000102030405060708000b20004200370310200042891c37030820004290fef1d200370300200041186a4200370300200041206a41003b01000f0b20004200370310200042b4303703082000429898e98e01370300200041186a4200370300200041206a41003b01000f0b20004200370310200042891c370308200042b8f09cce00370300200041186a4200370300200041206a41003b01000f0b20004200370310200042891c370308200042a8ebcbd200370300200041186a4200370300200041206a41003b01000f0b20004200370310200042891c370308200042b8ad80c300370300200041186a4200370300200041206a41003b01000f0b20004200370310200041186a4200370300200041206a41003b01002000200135020c220242ab147e42de077c3703082000200242bcb9cbc2007e42d0d0ff067c3703000f0b20004200370310200042891c370308200042b0d1e1c400370300200041186a4200370300200041206a41003b01000f0b20004200370308200042d8ccc602370300200041106a4200370300200041186a4200370300200041206a41003b01000f0b20004200370308200041106a4200370300200041186a4200370300200041206a41003b0100200042f8b5b40e4280d3f00920012d00011b3703000bdc0503067f017e017f23808080800041d0006b2201248080808000200141286a41c8f1c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241f780808000360238200242a09485e896f4dad275370330200242ffa2b2ec89e3f8c2dd0037032820024101360224200241cff1c680003602202002418081808000360218200242afc3dcb6fbd0bf9afb00370310200242a5f4d0c295cad9e04b37030820024101360204200241cef1c680003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c2107200128022821082001410036021820014280808080c000370210200141c0006a200141106a41d0f1c680004102108684808000200141346a200141c0006a41d2f1c68000410310ec838080002001200128023436021820012001280238220336021020012003200128023c41246c6a36021c20012003360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141c0006a41086a2802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bdd0503067f017e017f23808080800041d0006b2201248080808000200141286a41c8f1c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241f780808000360238200242a09485e896f4dad275370330200242ffa2b2ec89e3f8c2dd0037032820024101360224200241cff1c68000360220200241fc80808000360218200242f0bda1a084bdddc89f7f37031020024284c6f3a094c493c0c40037030820024101360204200241cef1c680003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c2107200128022821082001410036021820014280808080c000370210200141c0006a200141106a41d0f1c68000410210f783808000200141346a200141c0006a41d2f1c68000410310ec838080002001200128023436021820012001280238220336021020012003200128023c41246c6a36021c20012003360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141c0006a41086a2802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bde0503067f017e017f23808080800041d0006b2201248080808000200141286a41c8f1c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241f080808000360238200242c4f3c7ded6c68693897f370330200242ba96ded3aed6fd9dff0037032820024101360224200241cff1c680003602202002418481808000360218200242d9d1a5958acddccda77f370310200242bb82a2f99fad8c91c10037030820024101360204200241cef1c680003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c2107200128022821082001410036021820014280808080c000370210200141c0006a200141106a41d0f1c680004102108a84808000200141346a200141c0006a41d2f1c68000410310c3848080002001200128023436021820012001280238220336021020012003200128023c41246c6a36021c20012003360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141c0006a41086a2802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bde0503067f017e017f23808080800041d0006b2201248080808000200141286a41c8f1c68000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418381808000360238200242acf6debeefe0d9c8d300370330200242efc9c9edb5e7b3a6c70037032820024101360224200241cff1c680003602202002418481808000360218200242d9d1a5958acddccda77f370310200242bb82a2f99fad8c91c10037030820024101360204200241cef1c680003602002002417e6a20033b000020014102360248200120023602402001200241c0006a36024c20012002360244200141106a200141c0006a419c91c3800010f38e808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210220012802182106200129022c2107200128022821082001410036021820014280808080c000370210200141c0006a200141106a41d0f1c680004102108a84808000200141346a200141c0006a41d2f1c6800041031089848080002001200128023436021820012001280238220336021020012003200128023c41246c6a36021c20012003360214200141c0006a200141106a419c91c3800010f48e8080002008418080808078460d012001200536021820012002360210200120023602142001200220064105746a36021c200041c4006a200141106a41a0e0c6800010f38e8080002001411b6a200141c0006a41086a2802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000b830b01027f02400240024002400240024002400240024002400240024002400240024020002d00000e0f000102030405060708090a0b0c0d0e000b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41023a00000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200128020420026a41033a00002001200241016a220236020820002d00102103024020012802002002470d0020012002410110f491808000200128020821020b200128020420026a20033a00002001200241016a22023602080240200128020020026b41034b0d0020012002410410f491808000200128020821020b2001200241046a360208200128020420026a200028020c3600000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41043a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41053a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41063a00000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200128020420026a41073a00002001200241016a220236020820002d00012100024020012802002002470d0020012002410110f491808000200128020821020b2001200241016a360208200128020420026a20003a00000f0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a2202360208200128020420036a41083a00000240024002400240024020002d000122000e03000102000b20012802002002460d020c030b20012802002002460d010c020b20012802002002470d010b20012002410110f491808000200128020821020b2001200241016a360208200128020420026a20003a00000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200128020420026a41093a00002001200241016a220236020820002d00012100024020012802002002470d0020012002410110f491808000200128020821020b2001200241016a360208200128020420026a20003a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a410a3a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a410b3a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a410c3a00000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a410d3a00000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200128020420026a410e3a00002001200241016a220236020820002d00012100024020012802002002470d0020012002410110f491808000200128020821020b2001200241016a360208200128020420026a20003a00000bde0504037f017e017f017e0240024020012802082202280200220328020422040d00410121030c010b20032004417f6a36020420032003280200220441016a3602002001427f200129030042017c22052005501b37030020042d00002106410021030b41042104024020034101710d000240024002400240200641ff01710e0400010203040b20022802002206280204220341c000490d032006200341406a36020420062006280200220341c0006a3602002001427f2001290300220542c0007c220720072005541b37030020002003290000370001200041096a200341086a290000370000200041116a200341106a290000370000200041196a200341186a290000370000200041216a200341206a290000370000200041296a200341286a290000370000200041316a200341306a290000370000200041396a200341386a290000370000410021040c030b20022802002206280204220341c000490d022006200341406a36020420062006280200220341c0006a3602002001427f2001290300220542c0007c220720072005541b37030020002003290000370001200041096a200341086a290000370000200041116a200341106a290000370000200041196a200341186a290000370000200041216a200341206a290000370000200041296a200341286a290000370000200041316a200341306a290000370000200041396a200341386a290000370000200041013a00000f0b20022802002203280204220641c100490d012003200641bf7f6a36020420032003280200220441c1006a3602002001427f2001290300220542c1007c220720072005541b370300200041016a200441c10010f4978080001a200041023a00000f0b20022802002203280204220641c100490d002003200641bf7f6a36020420032003280200220441c1006a3602002001427f2001290300220542c1007c220720072005541b370300200041016a200441c10010f4978080001a200041033a00000f0b200020043a00000bb80601047f200041016a2102024002400240024020002d00000e0400010203000b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001200041016a22043602082001280204220520006a41003a00000240200320046b413f4b0d002001200441c00010f49180800020012802042105200128020821040b200520046a22002002290000370000200041386a200241386a290000370000200041306a200241306a290000370000200041286a200241286a290000370000200041206a200241206a290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a2900003700002001200441c0006a3602080f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001200041016a22043602082001280204220520006a41013a00000240200320046b413f4b0d002001200441c00010f49180800020012802042105200128020821040b200520046a22002002290000370000200041386a200241386a290000370000200041306a200241306a290000370000200041286a200241286a290000370000200041206a200241206a290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a2900003700002001200441c0006a3602080f0b02402001280200220320012802082204470d0020012004410110f49180800020012802002103200128020821040b2001200441016a22003602082001280204220520046a41023a00000240200320006b41c0004b0d002001200041c10010f49180800020012802042105200128020821000b200520006a200241c10010f4978080001a2001200041c1006a3602080f0b02402001280200220320012802082204470d0020012004410110f49180800020012802002103200128020821040b2001200441016a22003602082001280204220520046a41033a00000240200320006b41c0004b0d002001200041c10010f49180800020012802042105200128020821000b200520006a200241c10010f4978080001a2001200041c1006a3602080bcc0902087f017e2380808080004180106b220124808080800002402000280218220241e8fb034b0d000240024002400240024002402002450d0041002103034020014180086a410041800810fa978080001a20014180086a210441002105034041002d008083d480001a410841002802f482d48000118280808000002206450d03200620033600002006417e6a220741003b00002006200536000420012006410841002802dc80d4800011868080800000200620072f00006b41002802ec82d4800011818080800000200441186a200141186a290000370000200441106a200141106a290000370000200441086a200141086a29000037000020042001290000370000200441206a2104200541016a22054120470d000b200120014180086a41800810f49780800022044180086a200310e98680800041002d008083d480001a2004280288082107200428028408210641800841002802f482d48000118280808000002205450d032005417e6a220841003b0000200620072005200441800810f497808000220541800841002802dc82d4800011838080800000200520082f00006b41002802ec82d48000118180808000000240200428028008450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200341016a22032002470d000b0b2001428fc293ebfcb2d6924037009808200142a697eca999a192e81737009008200142c0c38addfcd9c9c1c40037008808200142c2d5a39edcfaf091cd00370080082001200236020020014180086a41202001410441002802dc82d4800011838080800000200029030022094281c8afa0255a0d02200142ecefd7e4f19abeaecc0037009808200142c98dcdf1f0adada9c40037009008200142c0c38addfcd9c9c1c40037008808200142c2d5a39edcfaf091cd00370080082001200937030020014180086a41202001410841002802dc82d4800011838080800000200029030822094281c8afa0255a0d03200142988af5b38bd59ae3ad7f37009808200142958ff2c2ebc1eefc7937009008200142c0c38addfcd9c9c1c40037008808200142c2d5a39edcfaf091cd00370080082001200937030020014180086a41202001410841002802dc82d4800011838080800000200029031022094281c8afa0255a0d04200142cfc4f4d18decb3a8d80037009808200142e8afb0b6b9e781b59d7f37009008200142c0c38addfcd9c9c1c40037008808200142c2d5a39edcfaf091cd00370080082001200937030020014180086a41202001410841002802dc82d480001183808080000020014180106a2480808080000f0b4101410810ab80808000000b410141800810ab80808000000b20014100360290082001410136028408200141d8f2c6800036028008200142043702880820014180086a41e0f2c6800010fe80808000000b2001410036029008200141013602840820014188f3c6800036028008200142043702880820014180086a4190f3c6800010fe80808000000b20014100360290082001410136028408200141bcf3c6800036028008200142043702880820014180086a41c4f3c6800010fe80808000000b2001410136028408200141a8f2c68000360280082001420137028c08200141d283808000ad42208641f0f1c68000ad84370300200120013602880820014180086a41b0f2c6800010fe80808000000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000be50501047f2380808080004190016b2201248080808000200142c0c38addfcd9c9c1c400370016200142c2d5a39edcfaf091cd0037000e200141cc006a2001410e6a411041002802bc82d480001186808080000002400240200128024c2202418080808078460d0020012802502103024020012802544110490d002001410e6a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d0120004200370300200041086a42003703000c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b011e41002102024041002802b483d4800041024d0d0020014107360224200141a4e7c48000360220200141d383808000ad4220862001411e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370284012001410336027c200141dcf4c68000360278200141163602742001418cf0c680003602702001410336026c200141c0efc68000ad4280808080c0098437026420014100360260200141a2f0c68000ad4280808080e002843702582001410036025420014281808080900737024c2002419cf4ca8000200441024622041b28021021022001200141286a36028001200341b4f4ca800020041b200141cc006a2002118b808080000020012f011e21020b200141cc006a41a4e7c48000410741002802d480d4800011868080800000200141cc006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141cc006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141cc006a41086a2900003703002001200129004c370328200120023b014c200141286a4120200141cc006a410241002802dc82d4800011838080800000200041086a4200370300200042003703000b20014190016a2480808080000bbc0201047f23808080800041306b22022480808080002002200036020c4101210002402001280200220341e8bdc78000410e2001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110a5858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a5858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000b940701077f23808080800041106b22052480808080004101210641002107024002400240200441017420026a22084100480d002008450d0241002d008083d480001a200841002802f482d480001182808080000022060d01410121070b2007200841e4f5c6800010b980808000000b2006417e6a41003b00000b410021072005410036020c200520063602082005200836020402402002450d00200120026a2109410021070340024002400240024020012c00002208417f4a0d0020012d0001413f7121022008411f71210a2008415f4b0d01200a4106742002722108200141026a21010c020b200141016a2101200841ff017121084101210b410121020c020b200241067420012d0002413f717221020240200841704f0d002002200a410c74722108200141036a21010c010b200241067420012d0003413f7172200a411274418080f00071722108200141046a21010b4101210b024020084180014f0d00410121020c010b410221024100210b2008418010490d0041034104200841808004491b21020b2007210a02402002200528020420076b4d0d00200541046a200720024101410110a386808000200528020c210a200528020821060b2006200a6a210a024002400240200b0d002008418010490d010240200841808004490d00200a2008413f71418001723a0003200a200841127641f001723a0000200a2008410676413f71418001723a0002200a2008410c76413f71418001723a00010c030b200a2008413f71418001723a0002200a2008410c7641e001723a0000200a2008410676413f71418001723a00010c020b200a20083a00000c010b200a2008413f71418001723a0001200a200841067641c001723a00000b2005200220076a220736020c20012009470d000b0b02402004450d00034020032d000022084104762201413072200141d7006a200841a001491b210b200721010240200720052802042202470d00200541046a200741014101410110a38680800020052802042102200528020c21010b2005280208220a20016a200b3a00002005200741016a220136020c2008410f712208413072200841d7006a2008410a491b2108024020012002470d00200541046a200241014101410110a386808000200528020c21012005280208210a0b200341016a2103200a20016a20083a00002005200741026a220736020c2004417f6a22040d000b0b20002005290204370200200041086a200541046a41086a280200360200200541106a2480808080000bd90201047f23808080800041206b220124808080800041002d008083d480001a02400240410141002802f482d48000118280808000002202450d00200241003a00002002417e6a41003b0000200141013602102001200236020c20014101360208200141086a410141034101410110a386808000200128020c2202200128021022036a220441003b0000200441026a41003a0000200128020821040240200341036a22034104470d002002280000210302402004450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200321020c020b2004418080808078460d012001200336021c200120023602182001200436021441fcf7c6800041cb00200141146a41ecf7c6800041d0f7c6800010a981808000000b4101410110ab80808000000b200041053a00102000200236020c2000410b360208200041e0f7c68000360204200041033a0000200141206a2480808080000b82490a047f017e017f017e077f037e227f027e1a7f037e23808080800041f00e6b2201248080808000200028022421020240024020002802282203450d002003410371210402400240200341044f0d004200210541002106420021070c010b200241b0016a21082003417c71210942002105410021064200210703402008290308200841506a220a290308200841a07f6a220b290308200841f07e6a220c29030820077c200c290300220720057c2205200754ad7c7c200b290300220720057c2205200754ad7c7c200a290300220720057c2205200754ad7c7c2008290300220720057c2205200754ad7c2107200841c0016a21082009200641046a2206470d000b0b02402004450d00200641306c20026a41206a21080340200829030820077c2008290300220720057c2205200754ad7c2107200841306a21082004417f6a22040d000b0b200142e4c5bdb4b2e9a5a6807f3700e80a200142d790d7a3fef9fda0c8003700e00a20014298d5afd2c6aeacae2f3700d80a200142c2cdc8b0c7b9e78f857f3700d00a200120073703d804200120053703d004200141d00a6a4120200141d0046a411041002802dc82d4800011838080800000200341306c2104200241206a210803400240200829030042f4035441002008290308501b450d00200141003602e00a200141013602d40a200141d8fac680003602d00a200142043702d80a200141d00a6a41e0fac6800010fe80808000000b200841306a2108200441506a22040d000c020b0b200142e4c5bdb4b2e9a5a6807f3700e80a200142d790d7a3fef9fda0c8003700e00a20014298d5afd2c6aeacae2f3700d80a200142c2cdc8b0c7b9e78f857f3700d00a200142003703d804200142003703d004200141d00a6a4120200141d0046a411041002802dc82d48000118380808000000b200141046a20022002200341306c6a10cf88808000024002400240024002400240200128020c2003470d0020002802142208418180808078460d042000280210210d200028021c2104200028021821062000290300210520012000290308220737031820012005370310200d450d01200542f3035620074200522007501b450d024180f9c68000200620084180808080784622081b210002400240410c200420081b220e4103490d00200141d00a6a2000200e41ec97c78000410210a581808000200141d0046a200141d00a6a10ca8c80800020012802d0044101470d010c050b200e4102470d0020002f000041fbfa01460d040b200141003602e00a200141013602d40a200141ac98c780003602d00a200142043702d80a200141d00a6a41b498c7800010fe80808000000b200141003602e00a200141013602d40a200141e8f8c680003602d00a200142043702d80a200141d00a6a41f0f8c6800010fe80808000000b200141003602e00a200141013602d40a200141c497c780003602d00a200142043702d80a200141d00a6a41cc97c7800010fe80808000000b200141003602e00a200141013602d40a200141d8fac680003602d00a200142043702d80a200141d00a6a41dc97c7800010fe80808000000b41d483808000ad422086200141e80c6aad84210f41d583808000ad422086200141d00a6aad84211041d683808000ad422086200141206aad84211120014190096a2112200141b0086a41c0006a2113200141e1046a2114200141d00a6a41206a2115200141306a41c0006a2116200141306a41146a2117200141b0086a41146a211820014191036a2119200141e80c6a41146a211a200141d00a6a41ec016a211b200141e80c6a41186a211c200141e80c6a41046a211d200141d0046a41ec016a211e200141ff066a211f200141e8066a41076a2120200141e80c6a41086a2121200141e80c6a41016a2122200141e6026a2123200141d0026a41066a2124410021250340200141003602d80420014280808080103702d004200141aca9c780003602d40a200142a08080800e3702d80a2001200141d0046a3602d00a0240024002400240024002400240024002400240024002400240024020254101200141d00a6a10fa808080000d00410021080240024002404100200e20012802d80422044102491b22064100480d0020012802d404210920012802d004212641002108024020060d0041012127410021060c030b41002d008083d480001a200641002802f482d480001182808080000022270d0141012108200e21270b2008202741e4f5c6800010b980808000000b2027417e6a41003b0000200e21060b200141003602f00c200120273602ec0c200120063602e80c200141d00a6a2000200e41ec97c78000410210a581808000200141d0046a200141d00a6a10ca8c8080002027210c4100210b024020012802d0044101470d00410021082027210c41002106034020012802d804210b024020012802d40420066b220a20012802e80c20086b4d0d00200141e80c6a2008200a4101410110a38680800020012802ec0c210c20012802f00c21080b200c20086a200020066a200a10f4978080001a20012008200a6a22083602f00c0240200420012802e80c20086b4d0d00200141e80c6a200820044101410110a38680800020012802f00c21080b20012802ec0c220c20086a2009200410f4978080001a2001200820046a22083602f00c200141d0046a200141d00a6a10ca8c808000200b210620012802d0040d000b20012802e80c21060b2000200b6a210a0240200e200b6b2204200620086b4d0d00200141e80c6a200820044101410110a38680800020012802ec0c210c20012802f00c21080b200c20086a200a200410f4978080001a200141206a41086a200820046a360200200120012902e80c37032002402026450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200141e80c6a2001280224200128022810b39380800020012802fc0c210620012802f80c212620012802f40c212820012902ec0c2105024020012802e80c220c418080808078470d002005428080808070832107202821292026212a2006212b0c0d0b20012802f00c212c20012802ec0c210a2005422088a7210420012802840d210b20012802800d210920012802880d212d2005a7210802400240024002402005428080808020540d0020082f000041b0f001460d010b200141e80c6a2008200410918b808000024020012f01e80c4101470d00420421050c0f0b202420212901003701002023201c290100370100202441086a202141086a222e290100370100202341086a201c41086a222f290100370100202341106a201c41106a2230290100370100202341186a201c41186a22312f01003b0100200120012802ec0c3601d202200120012f01ea0c3b01d002200141e80c6a200141d0026a10c18080800020014188076a41206a200141e80c6a41206a2d00003a000020014188076a41186a201c29020037030020014188076a41106a200141e80c6a41106a29020037030020014188076a41086a2021290200370300200120012902e80c37038807200128028c0d220841224f0d04200141e80c6a20014188076a20084101200b20094180808080784622041b4100202d20041b10d59780800020012d00e80c4101470d01420421050c0e0b200841026a21314100212e02402004417e6a22304102490d00200841046a410020312f000041002f00908ac08000461b212e2004417c6a212f0b42062105202f2030202e1b22304101710d0d200141003602f00c20014280808080103702e80c203020304101766b2232450d04202e2031202e1b213341002104410021080340200820304f0d07200841016a20304f0d08203320086a222e41016a2d0000212f0240202e2d0000412072223141506a222e41ff0171410a490d002031419f7f6a41ff017141054b0d03203141a97f6a212e0b0240202f412072223141506a222f41ff0171410a490d002031419f7f6a41ff017141054b0d03203141a97f6a212f0b202f202e41047472212e0240200420012802e80c470d00200141e80c6a41f4f6c6800010b8808080000b20012802ec0c20046a202e3a00002001200441016a22043602f00c200841026a210820322004470d000b20012802e80c222e418080808078460d0d20012902ec0c21070c050b200141e8066a41026a202241026a2d00003a0000200141c0046a41086a2208202e290000370300200141c8076a41086a2204202f290000370300200141c8076a41106a2030290000370300200141c8076a41186a2031290000370300200141c8076a41206a201c41206a290000370300200141c8076a41286a201c41286a2d00003a0000200120222f00003b01e806200120212900003703c0042001201c2900003703c80720012800ec0c212e202020012903c004370000202041086a2008290300370000201f20012903c807370000201f41086a20042d00003a00002001202e3600eb06200141e80c6a200141e8066a412010ca9380800020012802f40c212e20012802f00c212f20012802ec0c210420012802e80c0d0b20012902f80c2107200141d0046a201c41ec0110f4978080001a201e41186a200141e8066a41186a290100370000201e41106a200141e8066a41106a290100370000201e41086a200141e8066a41086a290100370000201e20012901e806370000200141d0046a2130201e21080c0a0b20012802e80c450d0b20012802ec0c22082008417e6a2f00006b41002802ec82d48000118180808000000c0b0b41d4a9c780004137200141e80c6a41c4a9c78000418caac7800010a981808000000b2008412141a8b4c78000109181808000000b20012902ec0c21074100212e0b2007a7210820074280808080f0ffffffff0083223442808080808004510d020c030b2008203041d4f6c68000108281808000000b200841016a203041e4f6c68000108281808000000b200141d0026a41186a2230200841186a290000370300200141d0026a41106a2231200841106a290000370300200141d0026a41086a2232200841086a290000370300200120082900003703d002200141e80c6a200141d0026a412010ca9380800020012802e80c4101460d0120012902f80c213520012802f40c213620012802f00c212f20012802ec0c2104200141d00a6a201c41ec0110f4978080001a201b41186a2030290300370000201b41106a2031290300370000201b41086a2032290300370000201b20012903d0023700000b0240202e450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b200141d00a6a21302036212e20352107201b2108203442808080808004520d030c010b200141c8076a41106a201d41106a280200360200200141c8076a41086a201d41086a2902003703002001201d2902003703c80741b8b4c78000411a200141c8076a41ec99c7800041d4b4c7800010a981808000000b201a203041ec0110f4978080001a200141c8076a41186a2229200841186a290200370300200141c8076a41106a222a200841106a290200370300200141c8076a41086a222b200841086a290200370300200120073702f40c2001202e3602f00c2001202f3602ec0c200120043602e80c200120082902003703c807200120283602c804200120263602c00420012026200641216c6a3602cc04200120263602c40441012104200141d0026a200141c8076a410110d592808000410021080340200141d0026a20086a2d0000200141e80c6a20086a2d00004610d6978080002004712104200841016a22084120470d000b200410d6978080002108200141d0026a10d89280800002400240200841ff01714101460d0041002108200141003a00c807200141003a00c907200141003a00ca07200141003a00cb07200141003a00cc07200141003a00cd07200141003a00ce07200141003a00cf07200141003a00d007200141003a00d107200141003a00d207200141003a00d307200141003a00d407200141003a00d507200141003a00d607200141003a00d707200141003a00d807200141003a00d907200141003a00da07200141003a00db07200141003a00dc07200141003a00dd07200141003a00de07200141003a00df07200141003a00e007200141003a00e107200141003a00e207200141003a00e307200141003a00e407200141003a00e507200141003a00e607200141003a00e7070c010b200141e8066a41186a2029290300370300200141e8066a41106a202a290300370300200141e8066a41086a202b290300370300200120012903c8073703e806410121080b200141d0026a41386a200141e80c6a41386a290200370300200141d0026a41306a200141e80c6a41306a290200370300200141d0026a41286a200141e80c6a41286a290200370300200141d0026a41206a200141e80c6a41206a290200370300200141d0026a41186a201c290200370300200141d0026a41106a200141e80c6a41106a290200370300200141d0026a41086a2021290200370300200120012902e80c3703d002200120083a009003201920012903e806370000201941086a200141e8066a41086a290300370000201941106a200141e8066a41106a290300370000201941186a200141e8066a41186a290300370000200141c8076a200141c0046a200141d0026a10db8480800020014188076a41086a2208202b29000037030020014188076a41106a2204202a29000037030020014188076a41186a2206202929000037030020014188076a41206a2226200141c8076a41206a29000037030020014188076a41286a2228200141c8076a41286a29000037030020014188076a41306a2229200141c8076a41306a29000037030020014188076a41386a222a200141c8076a41386a290000370300200120012900c8073703880720012d008a08212e20012d008b08212f20012d008c08213020012d008d08213120012d008e08213220012d008f08213320012d009008213720012d009108213820012d009208213920012d009308213a20012d009408213b20012d009508213c20012d009608213d20012d009708213e20012d009808213f20012d009908214020012d009a08214120012d009b08214220012d009c08214320012d009d08214420012d009e08214520012d009f08214620012d00a008214720012d00a108214820012d00a208214920012d00a308214a20012d00a408214b20012d00a508214c20012d00a608214d20012d00a708214e20012d00a808214f20012d008808212b200141d0026a41c0c7c8800020014188076a10ba908080002013200141d0026a10bb908080002012200141d0026a41a00110f4978080001a200141b0086a41086a2008290300370300200141b0086a41106a2004290300370300200141b0086a41186a2006290300370300200141b0086a41206a2026290300370300200141b0086a41286a2028290300370300200141b0086a41306a2029290300370300200141b0086a41386a202a29030037030020012001290388073703b0080240202b410171450d002001202e3a00c8072001202f3a00cf0a200120303a00ce0a200120313a00cd0a200120323a00cc0a200120333a00cb0a200120373a00ca0a200120383a00c90a200120393a00c80a2001203a3a00c70a2001203b3a00c60a2001203c3a00c50a2001203d3a00c40a2001203e3a00c30a2001203f3a00c20a200120403a00c10a200120413a00c00a200120423a00bf0a200120433a00be0a200120443a00bd0a200120453a00bc0a200120463a00bb0a200120473a00ba0a200120483a00b90a200120493a00b80a2001204a3a00b70a2001204b3a00b60a2001204c3a00b50a2001204d3a00b40a2001204e3a00b30a2001204f3a00b20a200141003a00d002200141003a00c807200141003a00cf0a200141003a00ce0a200141003a00cd0a200141003a00cc0a200141003a00cb0a200141003a00ca0a200141003a00c90a200141003a00c80a200141003a00c70a200141003a00c60a200141003a00c50a200141003a00c40a200141003a00c30a200141003a00c20a200141003a00c10a200141003a00c00a200141003a00bf0a200141003a00be0a200141003a00bd0a200141003a00bc0a200141003a00bb0a200141003a00ba0a200141003a00b90a200141003a00b80a200141003a00b70a200141003a00b60a200141003a00b50a200141003a00b40a200141003a00b30a200141003a00b20a0b20012903b008210520012802b808212920012802bc08212a20012802c008212b200141d0026a201841ec0110f4978080001a200141e80c6a10d692808000200141e80c6a10d89280800002402009418080808078460d000240202d450d00200b21080240202d4107712204450d00200b21080340200841003a0000200841016a21082004417f6a22040d000b0b202d4108490d00200b202d6a21040340200841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a0000200841086a22082004470d000b0b2009450d002009410771210641002104024020094108490d0020094178712109410021040340200b20046a220841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a00002009200441086a2204470d000b0b02402006450d00200b20046a21080340200841003a0000200841016a21082006417f6a22060d000b0b200b200b417e6a2f00006b41002802ec82d48000118180808000000b0240202c450d0002400240202c41077122040d00200a21080c010b200a21080340200841003a0000200841016a21082004417f6a22040d000b0b202c4108490d00200a202c6a21040340200841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a0000200841086a22082004470d000b0b0240200c450d00200c4107712106410021040240200c4108490d00200c417871210b410021040340200a20046a220841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a0000200b200441086a2204470d000b0b02402006450d00200a20046a21080340200841003a0000200841016a21082006417f6a22060d000b0b200a200a417e6a2f00006b41002802ec82d48000118180808000000b200141d00a6a200141d0026a41ec0110f4978080001a410021040c030b42042105200441034b0d00202f450d00202e202e417e6a2f00006b41002802ec82d48000118180808000000b02402009418080808078460d000240202d450d00200b21080240202d4107712204450d00200b21080340200841003a0000200841016a21082004417f6a22040d000b0b202d4108490d00200b202d6a21040340200841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a0000200841086a22082004470d000b0b2009450d002009410771210641002104024020094108490d0020094178712109410021040340200b20046a220841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a00002009200441086a2204470d000b0b02402006450d00200b20046a21080340200841003a0000200841016a21082006417f6a22060d000b0b200b200b417e6a2f00006b41002802ec82d48000118180808000000b0240202c450d0002400240202c41077122040d00200a21080c010b200a21080340200841003a0000200841016a21082004417f6a22040d000b0b202c4108490d00200a202c6a21040340200841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a0000200841086a22082004470d000b0b0240200c450d00200c4107712106410021040240200c4108490d00200c417871210b410021040340200a20046a220841003a0000200841016a41003a0000200841026a41003a0000200841036a41003a0000200841046a41003a0000200841056a41003a0000200841066a41003a0000200841076a41003a0000200b200441086a2204470d000b0b02402006450d00200a20046a21080340200841003a0000200841016a21082006417f6a22060d000b0b200a200a417e6a2f00006b41002802ec82d48000118180808000000b420021072028450d0020262026417e6a2f00006b41002802ec82d48000118180808000000b200542ffffffff0f832007842105410121040b200141013602d404200141e898c780003602d004200142013702dc04200120113703b0082001200141b0086a3602d804200141e80c6a200141d0046a10b28080800020012802ec0c2108024002400240024020040d0020012802e80c21042001202b3602402001202a36023c20012029360238200120053703302017200141d00a6a41ec0110f4978080001a02402004450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b200141b0026a41086a2204201641086a220b290000370300200141b0026a41106a2206201641106a220c290000370300200141b0026a41186a220a201641186a2209290000370300200120162900003703b00241002d008083d480001a412041002802f482d48000118280808000002208450d01200820012903b0023700002008417e6a222641003b0000200841086a2004290300370000200841106a2006290300370000200841186a200a290300370000200141d00a6a41186a2009290000370300200141d00a6a41106a200c290000370300200141d00a6a41086a200b290000370300200141013602d4042001419899c780003602d004200142013702dc04200120103703d002200120162900003703d00a2001200141d0026a3602d804200141b0086a200141d0046a10b28080800020212004290300370300200141e80c6a41106a22042006290300370300201c200a290300370300200120012903b0023703e80c024020012802b008450d0020012802b40822062006417e6a2f00006b41002802ec82d48000118180808000000b200820262f00006b41002802ec82d4800011818080800000200141003a00d002200141e80c6a10cd8c8080001a2001200141d0026a3602d80a2001200141106a3602d40a2001200141e80c6a3602d00a200141d0046a200141e80c6a200141d00a6a10d88d80800020012903d004220542028520012903d80484500d022001290388052134200129038005210720012903f004215002402005a7410171450d0020012903e004210520012903e8042151201520012903e80c370000201541186a201c290300370000201541106a2004290300370000201541086a2021290300370000200120513703e80a200120053703e00a200141003a00d00a41014100200141d00a6a10d28d8080000b02402050a74101710d00410f21040c040b201520012903e80c370000201541186a201c290300370000201541106a2004290300370000201541086a2021290300370000200141013a00d00a200120073703e00a200120343703e80a41014100200141d00a6a10d28d808000410f21042007203484500d03200142003703d8042001200742f303200742f303541b42f3032034501b22053703d004200141d0046a10fe88808000200142003703e80a200120053703e00a2001410d3a00d00a41014100200141d00a6a10d28d8080000c030b20012802f00c21042001202b3602e0042001202a3602dc04200120293602d804200120053703d00420082004200141d0046a41ec99c7800041fc99c7800010a981808000000b4101412010ab80808000000b200120142900003703b0082001201441076a2800003600b70820012d00e004210420012902ec0421520b200141013602d40a200141c499c780003602d00a200142013702dc0a2001200f3703d0022001200141d0026a3602d80a200141d0046a200141d00a6a10b28080800020012802d4042108200441ff0171410f470d02024020012802d004450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b200141306a10d692808000200141306a10d89280800002402001280220450d00200128022422082008417e6a2f00006b41002802ec82d48000118180808000000b202541016a2225200d470d000b0b024002402003450d00200341306c2104200141d00a6a41106a220841086a2106200841186a210a0340200241206a2903002105200241286a29030021072002200210f2868080001a2008420037030020064200370300200841106a4200370300200a4200370300200120073703d80a200120053703d00a2001428080808080808080807f3703880b200142003703800b200141d0046a2002200141d00a6a10f08d80800020012d00d004410f470d02200241306a2102200441506a22040d000b0b200141046a10c289808000200141f00e6a2480808080000f0b418cf9c6800041ea0041f8f9c68000108081808000000b20012802d8042106200141d80a6a20012800b708360000200120043a00d00a200120012903b0083700d10a200120523702dc0a20082006200141d00a6a41cc99c7800041dc99c7800010a981808000000bc50401087f024002400240024002400240024020012802004101470d00200141086a2102200128023c21032001280238210420012802342105200128023021062001280224417f460d01200020022006200520042003410010918d8080000f0b024020012d000e0d0020012d000c21042001280234210320012802302105024020012802042202450d00024020022003490d0020022003460d010c050b200520026a2c00004140480d040b024020022003460d0002400240200520026a22072c00002206417f4a0d0020072d0001413f7121082006411f7121090240200641604f0d00200941067420087221060c020b200841067420072d0002413f717221080240200641704f0d0020082009410c747221060c020b200841067420072d0003413f71722009411274418080f000717221060c010b200641ff017121060b4101210720044101710d0502402006418001490d00410221072006418010490d0041034104200641808004491b21070b2001200720026a220236020402402002450d00024020022003490d0020022003460d010c050b200520026a2c00004140480d040b20022003460d06200520026a2c00002203417f4a0d0520034160491a0c050b20012004417f734101713a000c20044101710d06200141013a000e0b200041003602000f0b200020022006200520042003410110918d8080000f0b410121040b20012004417f734101713a000c200520032002200341d8bdc7800010c381808000000b200221030b200141003a000c0b2000200336020820002003360204200041013602000b040041000b140020012000280204200028020810b4818080000bab0903027f097e017f23808080800041a0016b220124808080800020012000360200200141186a200010c986808000200141c0006a200128021c2202200128022010e3858080000240024020012802404101710d00428080808080808080807f21034200210442002105420021064200210742002108420021094200210a0c010b2001290388012103200129038001210a2001290378210520012903702104200129036821072001290360210620012903582109200129035021080b02402001280218450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b024020034200530d002003428080808080808080807f84210b02402006200784500d0020042005844200520d00200141186a200010c986808000200141c0006a200128021c2202200128022010e385808000200128024020012802980141004771210c02402001280218450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b0240200c0d00024041002802b483d4800041014d0d00200141d783808000ad4220862001ad84370318410028029080d480002100410028028c80d48000210241002802b083d48000210c2001420137027820014102360270200141a48dc7800036026c20014111360268200141b48dc7800036026420014102360260200141d5eec68000ad4280808080d0098437025820014100360254200141d6f1c68000ad4280808080f0028437024c2001410036024820014281808080d0f2003702402000419cf4ca8000200c410246220c1b28021021002001200141186a360274200241b4f4ca8000200c1b200141c0006a2000118b8080800000200128020021000b2000200010f2868080001a200842f403200842f403561b200842f40320094200521b2009501b2108200128020021000b200141046a200010eb86808000024020012d0004410f460d00200141186a41106a200141046a41106a280200360200200141186a41086a200141046a41086a2902003703002001200129020437031841002802b483d48000450d00200141d883808000ad422086200141186aad84370338200141c181808000ad42208641b8edc68000ad84370330410028029080d480002100410028028c80d48000210241002802b083d48000210c20014202370278200141c4edc6800036026c20014112360268200141a8eec6800036026420014101360260200141d4edc68000ad4280808080c00a8437025820014100360254200141baeec68000ad4280808080b0038437024c2001410036024820014281808080d025370240200141023602702000419cf4ca8000200c410246220c1b28021021002001200141306a360274200241b4f4ca8000200c1b200141c0006a2000118b80808000000b200128020021000b2001200b3703782001200a370370200120053703682001200437036020012007370358200120063703502001200937034820012008370340200141186a2000200141c0006a10d48d808000200141d9006a2001280200220041186a290000370000200141103a0040200141d1006a200041106a2900003700002001200041086a2900003700492001200029000037004141014100200141c0006a10d28d8080000b200141a0016a2480808080002003427f550bb30501047f2380808080004180016b220124808080800020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f3700002001413c6a2001411041002802bc82d480001186808080000002400240200128023c2202418080808078460d0020012802402103024020012802444110490d0020012003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d010c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b024041002802b483d4800041024d0d0020014108360214200141cbe7c48000360210200141d383808000ad42208641f0fac68000ad84370320200141c081808000ad422086200141106aad84370318410028029080d480002102410028028c80d48000210341002802b083d48000210420014202370274200141ecfbc68000360268200141163602642001418cf0c680003602602001410336025c200141d5eec68000ad4280808080d0098437025420014100360250200141d6f1c68000ad4280808080f002843702482001410036024420014281808080b01937023c2001410236026c2002419cf4ca8000200441024622041b28021021022001200141186a360270200341b4f4ca800020041b2001413c6a2002118b80808000000b2001413c6a41cbe7c48000410841002802d480d48000118680808000002001413c6a41106a22024199d3c68000411541002802d480d4800011868080800000200141186a41186a2001413c6a41186a290000370300200141186a41106a2002290000370300200141186a41086a2001413c6a41086a2900003703002001200129003c370318200141013b013c200141186a41202001413c6a410241002802dc82d48000118380808000000b20004200370300200041086a420037030020014180016a2480808080000bf70201047f23808080800041206b220224808080800041002d008083d480001a02400240410141002802f482d48000118280808000002203450d0020032001417f6a3a00002003417e6a41003b0000200241013602102002200336020c20024101360208200241086a410141034101410110a386808000200228020c2203200228021022046a220541003b0000200541026a41003a0000200228020821050240200441036a22044104470d002003280000210402402005450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200421030c020b2005418080808078460d012002200436021c200220033602182002200536021441fcf7c6800041cb00200241146a41ecf7c6800041c8fcc6800010a981808000000b4101410110ab80808000000b200041003a00102000200336020c200041033a000020002001411874411875410274220341e0bfc780006a2802003602082000200341bcbfc780006a280200360204200241206a2480808080000b990402037f047e2380808080004180016b2207248080808000200741106a200110c986808000200741206a20072802142208200728021810e385808000200728022021092007290338210a2007290330210b02402007280210450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b200720012005200610d18c8080002007290308210c2007290300210d0240024002402004450d00200c2003200d200254200c200354200c2003511b22081b2103200d200220081b21020c010b200d20025a200c20035a200c2003511b0d00200041073b0104410121010c010b0240200b4200200941017122081b220d2002542206200a420020081b220c200354200c2003511b0d00200741206a2001200d20027d2202200c20037d2006ad7d220310d28c80800002402007280220450d00200020072902243702042000410c6a200728022c36020020002007290330370310410121010c020b02402007280230410171450d002007290340220a2007290348220b84500d002007200a3703102007200b370318200741106a10fe888080002007200b3703382007200a3703302007410d3a002041014100200741206a10d28d8080000b20004200200c20037d200d200254ad7d2203200d20027d2202200d562003200c562003200c511b22011b37031820004200200220011b370310410021010c010b200041073b0104410121010b2000200136020020074180016a2480808080000bd60402027f067e23808080800041f0006b2204248080808000200441e4006a200110c986808000200420042802682205200428026c10e385808000420021064200210742002108420021094200210a4200210b02402004280200410171450d00200429033821072004290330210620042903282109200429032021082004290318210b2004290310210a0b02402004280264450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b42004200200720097d2006200854ad7d2209200620087d2208200656200920075620092007511b22051b20031b210742004200200820051b20031b2106024002400240024002400240200241ff01710e03010004010b200a200b84500d01200441e4006a200110c986808000200420042802682203200428026c10e3858080002004280200200428025841014671210102402004280264450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b2001450d040c030b200a200b8450450d010b4200210a4200210b0c020b200441e4006a200110c986808000200420042802682201200428026c10e3858080004101210302402004280200410171450d00200428025445200428025841014b7221030b02402004280264450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b20030d010b200642f403200642f403561b200642f40320074200521b2007501b21060b20004200200b20077d200a200654ad7d2207200a20067d2206200a562007200b562007200b511b22031b37030820004200200620031b370300200441f0006a2480808080000ba90905027f017e017f037e017f23808080800041b0026b22042480808080002004200337030820042002370300200441f0006a200110c986808000200441d0016a20042802742205200428027810e3858080004200210620042903e801420020042802d00141017122071b210320042903e001420020071b210202402004280270450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b02400240200220038450450d00420021080c010b200441f0006a200110c986808000200441d0016a20042802742205200428027810e3858080004200210642002108024020042802d001410171450d0042002108420042f40320042802a4024520042802a80241014b721b21060b2004280270450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20044200200320087d2002200654ad7d2208200220067d2206200256200820035620082003511b22051b37031820044200200620051b370310200441003a006f200110cd8c8080001a200420013602d0012004200441ef006a3602dc012004200441106a3602d801200420043602d401200441f0006a2001200441d0016a10d68d8080000240024002400240200429037022024202852004290378844200520d00200441c8006a20044189016a290000370300200441cf006a20044190016a280000360000200420042900810137034020042d00800121010c010b20042903a801210820042903a00121092004290398012106200429039001210302402002a7410171450d002004290380012102200429038801210a20044188026a200141186a29000037030020044180026a200141106a290000370300200441f8016a200141086a2900003703002004200a3703e801200420023703e001200441003a00d001200420012900003703f00141014100200441d0016a10d28d8080000b02402003a7410171450d0020044188026a200141186a29000037030020044180026a200141106a290000370300200441f8016a200141086a290000370300200420093703e001200441013a00d001200420083703e801200420012900003703f00141014100200441d0016a10d28d8080000b200441c0006a41086a2205200441b9016a290000370300200441c0006a410f6a2207200441c0016a280000360000200420042900b10137034020042d00b001210120034202852006844200520d010b200441286a410f6a2205200441c0006a410f6a280000360000200441286a41086a2207200441c0006a41086a290300370300200420042903402203370328200041146a20052800003600002000410d6a200729030037000020002003370005200020013a0004200041013602000c010b200441286a410f6a220b2007280000360000200441286a41086a22072005290300370300200441d8006a41086a2007290300370300200441d8006a410f6a200b280000360000200420042903403703580240200141ff0171410f460d0020002004290358370005200020013a000420004101360200200041146a200441e7006a2800003600002000410d6a200441e0006a2903003700000c010b20002009370320200020033703102000410036020020002008370328200020063703180b200441b0026a2480808080000bca0402037f047e23808080800041f0006b22052480808080002005200110c986808000200541106a20052802042206200528020810e38580800020052802104101712107200529032821082005290320210902402005280200450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b2008420020071b21082009420020071b210902400240024002400240024020040d000240200920027c22022009542207200820037c2007ad7c220320085420032008511b0d00200242f4035441002003501b450d0220004187043b0104410121070c060b20004188023b0104410121070c050b41002107427f200920027c220220022009542206200820037c2006ad7c220320085420032008511b22061b220242f403544100427f200320061b2203501b0d010b2002200985200320088584500d01200541106a20012002200310d28c80800002402005280210450d00200020052902143702042000410c6a200528021c36020020002005290320370310410121070c040b02402005280220410171450d002005290330220a2005290338220b84500d002005200a3703002005200b370308200510fe888080002005200b3703282005200a3703202005410d3a001041014100200541106a10d28d8080000b20004200200320087d2002200954ad7d2208200220097d2209200256200820035620082003511b22071b37031820004200200920071b3703100c020b20004200370318200042003703100c020b20004200370318200042003703100b410021070b20002007360200200541f0006a2480808080000be20503047f057e017f23808080800041f0006b2206248080808000200620012003200410d58c808000410721074100210802400240024002400240024002400240024020062802000e080600010203040507060b410121080c050b410421080c040b410821070c030b41082107410121080c020b410521080c010b41082108200541ff0171450d010b200020083a0005200020073a0004410121080c010b024002402003200484500d00200641e4006a200210c986808000200620062802682207200628026c10e3858080004101210920062903184200200628020041017122081b210a2006290310420020081b210b2006290328210c2006290320210d02402006280264450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b41082107200b20037c220e200b54220f200a20047c200fad7c220b200a54200b200a511b0d010240200e42f403544100200b501b450d0041022109410721070c020b200d420020081b220a200e7c200a54220f200c420020081b220a200b7c200fad7c220b200a54200b200a511b0d010b0240024020012002412010f597808000450d0041012108200620012003200441012005410010d08c80800002402006280200450d00200020062902043702042000410c6a200628020c360200200020062903103703100c040b2006200220032004410110d38c808000200641386a200141186a290000370300200641306a200141106a290000370300200641286a200141086a290000370300200641c8006a200241086a290000370300200641d0006a200241106a290000370300200641d8006a200241186a2900003703002006200437031820062003370310200641023a0000200620012900003703202006200229000037034041014100200610d28d80800020002004370318200020033703100c010b20002003370310200020043703180b410021080c010b200020093a0005200020073a0004410121080b20002008360200200641f0006a2480808080000be50807017f017e017f057e017f067e017f2380808080004180016b2204248080808000024002400240024002402002200384500d00200442e4c5bdb4b2e9a5a6807f370018200442d790d7a3fef9fda0c80037001020044298d5afd2c6aeacae2f370008200442c2cdc8b0c7b9e78f857f370000200441206a2004412010db858080004200210520042903304200200428022041017122061b2002542004290338420020061b220720035420072003511b0d012004200110c986808000200441206a20042802042206200428020810e38580800042002108420021094200210a4200210b4200210702402004280220410171450d0020042903582108200429035021052004290348210a20042903402109200429033821072004290330210b0b02402004280200450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200b2002542206200720035420072003511b0d022004200110c986808000200441206a2004280204220c200428020810e3858080004200210d4200210e4200210f42002110420021114200211202402004280220410171450d002004290358210e2004290350210d200429034821102004290340210f20042903382112200429033021110b02402004280200450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b4200200e20107d200d200f54ad7d2210200d200f7d220f200d562010200e562010200e511b220c1b210e4200200f200c1b210d02402011201284500d002004200110c986808000200441206a20042802042213200428020810e3858080004101210c02402004280220410171450d00200428027445200428027841014b72210c0b02402004280200450d0020132013417e6a2f00006b41002802ec82d48000118180808000000b200d200d42f403200d42f403561b200d42f403200e4200521b200e501b200c1b210d0b024002400240200242002011200d7d220f200f2011562012200e7d2011200d54ad7d220d201256200d2012511b220c1b5620034200200d200c1b220d562003200d511b0d00200b20027d220242f403544100200720037d2006ad7d2203501b0d014207210d0c020b20004200370308200042053703000c060b2004200110c986808000200441206a20042802042206200428020810e3858080004101210102402004280220410171450d00200428027445200428027841014b7221010b02402004280200450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b2001450d044206210d0b0240427f200220097c2207200720025422012003200a7c2001ad7c220720035420072003511b22011b200554427f200720011b220720085420072008511b0d00200020023703102000200d37030020002003370318200042003703080c050b20004200370308200042053703000c040b20004200370308200042073703000c030b20004200370308200042033703000c020b20004200370308200042003703000c010b20004200370308200042013703000b20044180016a2480808080000b8e0506017f017e017f017e017f027e2380808080004180016b2207248080808000200720012004200610d18c8080002003200729030822085121092007290300210a0240024020050d002002200a58200320085820091b0d00200041073b0104410121050c010b200742e4c5bdb4b2e9a5a6807f370078200742d790d7a3fef9fda0c80037007020074298d5afd2c6aeacae2f370068200742c2cdc8b0c7b9e78f857f3700602007200741e0006a412010db85808000410121050240200729031042002007280200410171220b1b2002200a2002200a54200320085420091b22091b220a5420072903184200200b1b22022003200820091b22035420022003511b0d0020072001200a200341012004200610d08c80800002402007280200450d00200020072902043702042000410c6a200728020c36020020002007290310370310410121050c020b2007290310210320072903182102200742e4c5bdb4b2e9a5a6807f370078200742d790d7a3fef9fda0c80037007020074298d5afd2c6aeacae2f370068200742c2cdc8b0c7b9e78f857f3700602007200741e0006a412010db85808000200742002007290318220820027d2007290310220a200354ad7d220c200a20037d220d200a56200c200856200c2008511b22061b4200200728020041017122041b37030820074200200d20061b420020041b3703002007108189808000200741386a200141186a290000370300200741306a200141106a290000370300200741286a200141086a29000037030020072002370318200720033703102007410c3a0000200720012900003703204100210541014100200710d28d80800020002002370318200020033703100c010b20004188023b01040b2000200536020020074180016a2480808080000b4100200042e4c5bdb4b2e9a5a6807f370018200042d790d7a3fef9fda0c80037001020004298d5afd2c6aeacae2f370008200042c2cdc8b0c7b9e78f857f3700000ba50701037f410021010240200041ffff03712202413a490d0002400240200241c00f4a0d000240200241b7034a0d000240200241416a0ece010404040404040403040404030303040403030403030303030303030303030303030303030303030303030403030303040303040303030403030303030303030403030303040303030303030303030303030303030303030303030303030303030303030303030303030303030304030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030403030403030303030303030303030304000b200241a403470d020c030b0240200241d5084a0d00024020024194064a0d00200241b803460d042002419a05470d030c040b2002419506460d03200241e307470d020c030b0240200241d0756a0e0a03020202020202020203000b200241d608460d02200241ec0b470d010c020b0240200241de364a0d00024020024196114a0d000240200241bf706a0e30040303030303030303030303030303030303030303030403040303030303030303030303040303030303030303030304000b200241d46f6a220241144b0d024101200274418180c10071450d020c030b0240200241a51f4a0d002002419711460d03200241ce11460d03200241851a470d020c030b0240200241f1284a0d00200241a61f460d03200241e222470d020c030b200241f228460d02200241ce2f470d010c020b02400240200241cecd004a0d000240200241a1c5004a0d000240200241a1496a0e0705040404040405000b2002418a39460d04200241df39470d030c040b200241deba7f6a220341144b0d014101200374418180c80071450d010c030b0240200241fade004a0d000240200241ddd9004a0d00200241cfcd00460d04200241b9ce00470d030c040b200241ded900460d03200241acdc00470d020c030b0240200241bbe6004a0d00200241fbde00460d032002419fdf00470d020c030b200241bce600460d02200241e9f200460d020c010b200241f0c600460d01200241cfcc00460d010b02400240200041ffff0371220241c4094a0d00200241a87f6a0e320202020102020101010102020202010101010101010101010101010101010101010101010101010102020101010101010202010b200241bb766a4102490d01200241fc756a4102490d01200241e26e6a4102490d010b200041bca77f6a41ffff037141feff034921010b20010bfd0201047f23808080800041206b220224808080800041002d008083d480001a02400240410141002802f482d48000118280808000002203450d002003417e6a41003b00002003200141ff01714101473a0000200241013602102002200336020c20024101360208200241086a410141034101410110a386808000200228020c2203200228021022046a220541003b0000200541026a41003a0000200228020821050240200441036a22044104470d002003280000210402402005450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200421030c020b2005418080808078460d012002200436021c200220033602182002200536021441fcf7c6800041cb00200241146a41ecf7c680004184fec6800010a981808000000b4101410141b0a7c7800010b980808000000b200041083a00102000200336020c200041033a000020004112410b200141ff017141014622031b36020820004194fec6800041a6fec6800020031b360204200241206a2480808080000bf30d01067f23808080800041306b22012480808080002001410036020c20014280808080800137020441002d008083d480001a024002400240024002400240024002400240412041002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a2204412236021c200441f583c78000360218200441db003602142004419a83c780003602102004410036020c200442c880808010370204200441c584c780003602002004417e6a20033b0000200141106a410841004101410110a1938080002001280214210320012802100d01200128021822054200370000200141046a41c884c6800010a0868080002001280208220242f08ae39db3eef7cb917f37020820024100360200200241013a0074200241043602702002200436026c20024288808080c000370264200220053602602002200336025c20024207370244200241e188c68000360240200241f880808000360218200242deb6b7a2defce4d03c3702102001410136020c41002d008083d480001a412041002802f482d48000118280808000002202450d022002200241036a417c7120026b22036a2204412236021c200441f583c78000360218200441db003602142004419a83c780003602102004410036020c200442ca80808010370204200441d082c780003602002004417e6a20033b0000200141106a410841004101410110a1938080002001280214210520012802100d032001280218220642003700000240200128020c22032001280204470d00200141046a41c884c6800010a0868080000b2001280208200341f8006c6a220241013a0074200241043602702002200436026c20024288808080c000370264200220063602602002200536025c20024207370244200241e68ac68000360240200241f880808000360218200242deb6b7a2defce4d03c370210200242f08ae39db3eef7cb917f3702082002410036020041002d008083d480001a2001200341016a36020c412041002802f482d48000118280808000002202450d042002200241036a417c7120026b22036a2204412236021c200441f583c78000360218200441db003602142004419a83c780003602102004410036020c200442bf808080103702042004418d85c780003602002004417e6a20033b0000200141106a410841004101410110a1938080002001280214210520012802100d052001280218220642003700000240200128020c22032001280204470d00200141046a41c884c6800010a0868080000b2001280208200341f8006c6a220241013a0074200241043602702002200436026c20024288808080c000370264200220063602602002200536025c20024206370244200241c78ac68000360240200241f880808000360218200242deb6b7a2defce4d03c370210200242f08ae39db3eef7cb917f370208200241003602002001200341016a36020c2001410036021041002d008083d480001a41c00041002802f482d48000118280808000002202450d062002200241036a417c7120026b22046a2202412f36023c200241a182c78000360238200241da00360234200241c781c78000360230200241dc0036022c200241eb80c78000360228200241da003602242002419180c78000360220200241dd0036021c200241b4ffc68000360218200241da00360214200241dafec680003602102002410036020c200242a980808010370204200241b1fec680003602002002417e6a20043b00002001410836022c2001410836022420012002360228200141106a200141246a200141046a10ff8680800041002d008083d480001a410841002802f482d48000118280808000002202450d072002200241036a417c7120026b22036a2204412e3602042004419784c780003602002004417e6a20033b000041002d008083d480001a410441002802f482d48000118280808000002203450d08200341003600002003417e6a41003b00000240200128020c22052001280204470d00200141046a41c884c6800010a0868080000b2001280208200541f8006c6a220241013a0074200241013602702002200436026c2002428480808010370264200220033602602002410436025c2002420e3702442002419486c68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc1337020820024100360200200041086a200541016a3602002000200129020437020020004107360210200041a4e7c4800036020c200141306a2480808080000f0b4104412010ab80808000000b2003200128021841d4c8cc800010b980808000000b4104412010ab80808000000b2005200128021841d4c8cc800010b980808000000b4104412010ab80808000000b2005200128021841d4c8cc800010b980808000000b410441c00010ab80808000000b4104410810ab80808000000b4101410410ab80808000000b9c0804057f017e017f017e23808080800041206b220224808080800002400240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a2206360208200328020420056a20043a0000024002400240024002400240024020040e050001020304050b0240200328020c2204280208220528020422084104490d0020052008417c6a36020420052005280200220841046a3602002004427f2004290300220742047c220920092007541b370300200828000021050240200328020020066b41034b0d002003200641044101410110a386808000200328020821060b2003200641046a360208200328020420066a20053600002002200110b889808000200228020022034102460d00200228020421042000200336020820002005360204200041013602002000200436020c0c0a0b200041003602000c090b200328020c2204280208220528020422014108490d062005200141786a36020420052005280200220141086a3602002004427f2004290300220742087c220920092007541b370300200129000021070240200328020020066b41074b0d002003200641084101410110a386808000200328020821060b20002007370308200041023602002003200641086a360208200328020420066a20073700000c080b200328020c2204280208220528020422014108490d062005200141786a36020420052005280200220141086a3602002004427f2004290300220742087c220920092007541b370300200129000021070240200328020020066b41074b0d002003200641084101410110a386808000200328020821060b20002007370308200041033602002003200641086a360208200328020420066a20073700000c070b200241086a200110cf8480800041002103024020022802084101710d00200241146a2001200228020c10ad838080002002280214418080808078460d00200020022902143702042000410c6a2002411c6a280200360200410421030b200020033602000c060b200328020c2204280208220528020422014108490d012005200141786a36020420052005280200220141086a3602002004427f2004290300220742087c220920092007541b370300200129000021070240200328020020066b41074b0d002003200641084101410110a386808000200328020821060b20002007370308200041053602002003200641086a360208200328020420066a20073700000c050b200041003602000c040b200041003602000c030b200041003602000c020b200041003602000c010b200041003602000b200241206a2480808080000bab0804057f017e017f017e23808080800041206b220224808080800002400240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a2206360208200328020420056a20043a0000024002400240024002400240024020040e050001020304050b0240200328020c2204280208280200220528020422084104490d0020052008417c6a36020420052005280200220841046a3602002004427f2004290300220742047c220920092007541b370300200828000021050240200328020020066b41034b0d002003200641044101410110a386808000200328020821060b2003200641046a360208200328020420066a20053600002002200110b689808000200228020022034102460d00200228020421042000200336020820002005360204200041013602002000200436020c0c0a0b200041003602000c090b200328020c2204280208280200220528020422014108490d062005200141786a36020420052005280200220141086a3602002004427f2004290300220742087c220920092007541b370300200129000021070240200328020020066b41074b0d002003200641084101410110a386808000200328020821060b20002007370308200041023602002003200641086a360208200328020420066a20073700000c080b200328020c2204280208280200220528020422014108490d062005200141786a36020420052005280200220141086a3602002004427f2004290300220742087c220920092007541b370300200129000021070240200328020020066b41074b0d002003200641084101410110a386808000200328020821060b20002007370308200041033602002003200641086a360208200328020420066a20073700000c070b200241086a200110ce8480800041002103024020022802084101710d00200241146a2001200228020c109e838080002002280214418080808078460d00200020022902143702042000410c6a2002411c6a280200360200410421030b200020033602000c060b200328020c2204280208280200220528020422014108490d012005200141786a36020420052005280200220141086a3602002004427f2004290300220742087c220920092007541b370300200129000021070240200328020020066b41074b0d002003200641084101410110a386808000200328020821060b20002007370308200041053602002003200641086a360208200328020420066a20073700000c050b200041003602000c040b200041003602000c030b200041003602000c020b200041003602000c010b200041003602000b200241206a2480808080000bad0602037f017e23808080800041106b22022480808080000240024002400240024002402000280200417f6a0e050001020304000b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041086a2104200128020420036a41003a00002001200341016a2203360208200028020421000240200128020020036b41034b0d0020012003410410f491808000200128020821030b2001200341046a360208200128020420036a20003600002004200110bb898080000c040b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41013a00002001200341016a2203360208200029030821050240200128020020036b41074b0d0020012003410810f491808000200128020821030b2001200341086a360208200128020420036a20053700000c030b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41023a00002001200341016a2203360208200029030821050240200128020020036b41074b0d0020012003410810f491808000200128020821030b2001200341086a360208200128020420036a20053700000c020b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41033a00002001200341016a360208200028020821032002200028020c22003602082002200241086a36020c2002410c6a200110dc848080002000450d012000410a7421042001280208210003400240200128020020006b41ff074b0d002001200041800810f491808000200128020821000b200128020420006a200341800810f4978080001a200120004180086a220036020820034180086a210320044180786a22040d000c020b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41043a00002001200341016a2203360208200029030821050240200128020020036b41074b0d0020012003410810f491808000200128020821030b2001200341086a360208200128020420036a20053700000b200241106a2480808080000b920301037f23808080800041206b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136021020024180023b010c02402002410c6a41dc85c780004107200010bf8d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a41e385c780004107200041086a10bf8d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a41ea85c78000410e200041186a10c78d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a41f885c78000410b200041106a10bf8d80800022030d0041002103200228020c22044180fe0371450d0020044101710d00200228021028020041d5f1c68000410141c0b2c7800010988f8080000b200241206a24808080800020030bf50101027f23808080800041306b2202248080808000200241003602142002410036020c200241808080807836020002400240200241dc85c780004107200110a58e80800022030d00200241e385c780004107200141086a10a58e80800022030d00200241ea85c78000410e200141186a109e8e80800022030d00200241f885c78000410b200141106a10a58e80800022030d00200241186a41106a200241106a290200370300200241186a41086a200241086a290200370300200220022902003703182000200241186a1090938080000c010b200041063a000020002003360204200210e08c8080000b200241306a2480808080000bf20301047f23808080800041306b22012480808080000240024020002802002202418180808078460d0002400240200028020c22030d0041002103410021040c010b200120033602242001410036022020012003360214200141003602102001200028021022033602282001200336021820002802142104410121030b2001200436022c2001200336021c2001200336020c2001410c6a10c7898080002002418080808078460d012002450d01200028020422002000417e6a2f00006b41002802ec82d48000118180808000000c010b024002400240024020002d00040e0704040102030004000b02400240200028020822020d0041002100410021020c010b200120023602242001410036022020012002360214200141003602102001200028020c22023602282001200236021820002802102102410121000b2001200236022c2001200036021c2001200036020c2001410c6a10c7898080000c030b2000280208450d02200028020c22002000417e6a2f00006b41002802ec82d48000118180808000000c020b2000280208450d01200028020c22002000417e6a2f00006b41002802ec82d48000118180808000000c010b200041086a10a18f8080002000280208450d00200028020c22002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bea0503067f017e027f23808080800041c0006b2201248080808000200141186a41ed87c78000410441a2f0c6800041164104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241cef1c680003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903b888c780003702002001410036020820014280808080c000370200200141306a200141c088c7800041111099848080002001200141306a41d188c78000410b10af84808000200141306a200141dc88c78000410b10ef838080002001200141306a41e788c780004105109084808000200141246a200141ec88c78000411010ff838080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841b0bfc7800010b980808000000b41bc91c38000411141d091c3800010a181808000000bb50803077f017e027f23808080800041c0006b2201248080808000200141246a41fc88c78000410541a2f0c6800041164104410010c2928080002001420437021c2001420037021420014280808080800137020c41002d008083d480001a02400240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241cef1c680003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a419c91c3800010f38e80800041002d008083d480001a200128020c210420012802102105200128021421062001280224210720012902282108410841002802f482d48000118280808000002202450d012002200241036a417c71220920026b22036a417e6a20033b0000200941002903a889c7800037020041002d008083d480001a2001410036021420014280808080c00037020c411841002802f482d48000118280808000002202450d022002200241036a417c71220320026b220a6a417e6a200a3b0000200341106a41002902d8bfc38000370200200341086a41002902d0bfc38000370200200341002902c8bfc380003702002001410c6a418c90c3800010a09380800020012802102202428080808030370208200242808080808001370200200241003a00202002411236021c20024194fec680003602182002410336021420022003360210200141306a41086a41013602002001200129020c37033041002d008083d480001a410841002802f482d48000118280808000002202450d032002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902e8bec380003702000240200128023822022001280230470d00200141306a418c90c3800010a0938080000b2001280234200241246c220a6a220241013a00202002410b36021c200241a6fec680003602182002410136021420022003360210200242808080801037020820024280808080800137020020012802342102200120012802303602142001200236020c20012002200a6a41246a36021820012002360210200141306a2001410c6a419c91c3800010f48e8080002007418080808078460d04200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41a0e0c6800010f38e8080002001410c6a410b6a200141306a41086a2802003600002000200837023c20002007360238200041013a00002000410136025820002009360254200041013602502001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841b0bfc7800010b980808000000b4104411810ab80808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000bca0402047f017e024002400240024020002d00000e0400010203000b02402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41003a000020002d00012100024020022004470d0020012002410110f49180800020012802042105200128020821040b200520046a20003a00002001200441016a3602080f0b02402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41013a0000200029030821060240200220046b41074b0d0020012004410810f49180800020012802042105200128020821040b200520046a20063700002001200441086a3602080f0b02402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41023a0000200029030821060240200220046b41074b0d0020012004410810f49180800020012802042105200128020821040b200520046a20063700002001200441086a3602080f0b02402001280200220220012802082203470d0020012003410110f49180800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41033a0000200029030821060240200220046b41074b0d0020012004410810f49180800020012802042105200128020821040b200520046a20063700002001200441086a3602080bb90804017f017e047f027e2380808080004180016b220b248080808000200b42c1aedeeddec9cdd976370018200b428c849fcce4a5fda3da00370010200b42dbd4b188d8cab88410370008200b42bfa89c83ea92efeb1a370000200b41206a200b412010e0858080004200210c4200200420067d2003200554ad7d2206200320057d2205200356200620045620062004511b220d1b210342002005200d1b210502400240200b290320200b2903288450450d00420021040c010b200b2903382104200b290330210c200b4120410028029482d48000118b80808000000b0240200c20055a200420035a2004200351220e1b0d0041002802b483d48000450d00410028029080d48000210d410028028c80d48000210f41002802b083d480002110200b4200370258200b4281808080c000370250200b41ec89c7800036024c200b4112360248200b41d08ac78000360244200b4101360240200b41f489c78000ad4280808080c00b84370238200b4100360234200b41e28ac78000ad4280808080b0048437022c200b4100360228200b4281808080b017370220200f41b4f4ca8000201041024622101b200b41206a200d419cf4ca800020101b280210118b80808000000b200b41206a200010c986808000200b280224220d200b28022841002802ac82d4800011848080800000210f0240200b280220450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b02400240200f0d00200c2106200421110c010b200320042005200c542003200454200e1b220d1b21112005200c200d1b2106200c2005562004200356200e1b450d00200b41206a2000200c20067d2203200420117d200c200654ad7d2204410010d38c8080000240200b2802200d00200b2903302105200b290338210c200b41d8006a200041186a290000370300200b41d0006a200041106a290000370300200b41c8006a200041086a290000370300200b200c370338200b2005370330200b41073a0020200b200029000037034041014100200b41206a10d28d80800020032005852004200c85845022000d0102402005200354220d200c200454200c2004511b0d0020000d02200b200520037d2203370300200b200c20047d200dad7d2204370308200b10f788808000200b2004370338200b2003370330200b410b3a002041014100200b41206a10d28d8080000c020b200b200320057d2212370300200b2004200c7d2003200554ad7d2204370308200b10fe88808000200b2004370338200b2012370330200b410d3a002041014100200b41206a10d28d8080000c010b427f201120047c200620037c220c2006542200ad7c22042000200420115420042011511b22001b2111427f200c20001b21060b200b2009370350200b2007370340200b2006370330200b4200370328200b4201370320200b200a370358200b2008370348200b2011370338200b41206a10e686808000200b4180016a24808080800041020bb60604027f047e017f017e23808080800041d0016b2204248080808000200420033703082004200237030002400240200220038450450d0042002102420021030c010b200441206a200110c986808000200441f0006a20042802242205200428022810e38580800020042903980121062004290390012107200429038801210820042903800121092004280270210a02402004280220450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200a2007200984200620088484420052714101470d00200441003a001f200110cd8c8080001a2004200136027020042004411f6a36027820042004360274200441206a2001200441f0006a10d58d808000024020042903202203420285200429032884500d00200429036821062004290360210220042903582108200429035021072004290340210902402003a7410171450d00200429033021032004290338210b200441a8016a200141186a290000370300200441a0016a200141106a29000037030020044198016a200141086a2900003703002004200b370388012004200337038001200441003a0070200420012900003703900141014100200441f0006a10d28d8080000b02402009a7410171450d00200441a8016a200141186a290000370300200441a0016a200141106a29000037030020044198016a200141086a290000370300200441013a007020042001290000370390012004200737038001200420083703880141014100200441f0006a10d28d8080002007200884500d00200442003703282004200742f303200742f303541b42f3032008501b2203370320200441206a10fe88808000200442003703880120042003370380012004410d3a007041014100200441f0006a10d28d8080000b200441a8016a200141186a290000370300200441a0016a200141106a29000037030020044198016a200141086a290000370300200441053a007020042001290000370390012004200237038001200420063703880141014100200441f0006a10d28d808000200429030820067d20042903002206200254ad7d2103200620027d21020c010b20042903082103200429030021020b2000200237030020002003370308200441d0016a2480808080000bfd0201047f23808080800041206b220224808080800041002d008083d480001a02400240410141002802f482d48000118280808000002203450d0020032001417f6a3a00002003417e6a41003b0000200241013602102002200336020c20024101360208200241086a410141034101410110a386808000200228020c2203200228021022046a220541003b0000200541026a41003a0000200228020821050240200441036a22044104470d002003280000210402402005450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200421030c020b2005418080808078460d012002200436021c200220033602182002200536021441fcf7c6800041cb00200241146a41ecf7c6800041888bc7800010a981808000000b4101410141b0a7c7800010b980808000000b200041043a00102000200336020c200041033a000020002001411874411875410274220341b4c0c780006a280200360208200020034184c0c780006a280200360204200241206a2480808080000b0f002000280200200110b2938080000bfe0e01057f23808080800041306b22012480808080002001410036020c20014280808080800137020441002d008083d480001a024002400240024002400240024002400240410841002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a220441263602042004418695c780003602002004417e6a20033b000041002d008083d480001a411041002802f482d48000118280808000002203450d012003410e6a41003b0000200341066a42003700002003417e6a4200370000200141046a41c884c6800010a0868080002001280208220242e987d8bed5a3d0fbfb0037020820024100360200200241013a0074200241013602702002200436026c2002429080808010370264200220033602602002411036025c2002420d370244200241d987c68000360240200241ec80808000360218200242e2e68fceaa92ce9c7b3702102001410136020c41002d008083d480001a410841002802f482d48000118280808000002202450d022002200241036a417c7120026b22036a220441c200360204200441c795c780003602002004417e6a20033b000041002d008083d480001a411041002802f482d48000118280808000002203450d032003410e6a41003b0000200341066a42003700002003417e6a42003700000240200128020c22052001280204470d00200141046a41c884c6800010a0868080000b2001280208200541f8006c6a220241013a0074200241013602702002200436026c2002429080808010370264200220033602602002411036025c200242103702442002418486c68000360240200241ec80808000360218200242e2e68fceaa92ce9c7b370210200242e987d8bed5a3d0fbfb00370208200241003602002001200541016a36020c2001410036021041002d008083d480001a41c00141002802f482d48000118280808000002202450d042002200241036a417c7120026b22036a220241d0003602bc01200241b292c780003602b801200241ca003602b401200241e891c780003602b001200241db003602ac012002418d91c780003602a801200241d4003602a401200241b990c780003602a0012002410036029c01200242848080801037029401200241d38fc78000360290012002410336028c01200241d08fc78000360288012002411d360284012002419c90c78000360280012002412c36027c2002419e8ec780003602782002410d360274200241918ec780003602702002410036026c2002428a80808010370264200241878ec780003602602002410036025c200242c580808010370254200241d78fc780003602502002410036024c2002428480808010370244200241d38fc780003602402002410336023c200241d08fc780003602382002418601360234200241ca8ec780003602302002412c36022c2002419e8ec780003602282002410d360224200241918ec780003602202002410036021c2002428a80808010370214200241878ec780003602102002410036020c200242c280808010370204200241c58dc780003602002002417e6a20033b00002001411836022c2001200236022820014118360224200141106a200141246a200141046a1080878080002001410036021041002d008083d480001a412041002802f482d48000118280808000002202450d052002200241036a417c7120026b22036a220241eb0036021c200241f993c7800036021820024100360214200242c98080801037020c200241b093c780003602082002412e3602042002418293c780003602002002417e6a20033b00002001410436022c2001410436022420012002360228200141106a200141246a200141046a10fc868080002001410036021041002d008083d480001a411841002802f482d48000118280808000002202450d062002200241036a417c7120026b22036a220241ec00360214200241b296c780003602102002410036020c200242a9808080103702042002418996c780003602002002417e6a20033b00002001410336022c2001410336022420012002360228200141106a200141246a200141046a10fb868080002001410036021041002d008083d480001a410841002802f482d48000118280808000002202450d072002200241036a417c7120026b22036a2202411b360204200241ac95c780003602002002417e6a20033b00002001410136022c2001410136022420012002360228200141106a200141246a200141046a1082878080002001410036021041002d008083d480001a410841002802f482d480001182808080000022020d084104410810ab80808000000b4104410810ab80808000000b4101411010ab80808000000b4104410810ab80808000000b4101411010ab80808000000b410441c00110ab80808000000b4104412010ab80808000000b4104411810ab80808000000b4104410810ab80808000000b2002200241036a417c7120026b22036a22024122360204200241e494c780003602002002417e6a20033b00002001410136022c2001410136022420012002360228200141106a200141246a200141046a10fe86808000200041086a200141046a41086a2802003602002000200129020437020020004108360210200041cbe7c4800036020c200141306a2480808080000bbc0a010a7f41002d008083d480001a02400240024002400240024002400240024041c00241002802f482d48000118280808000002201450d002001200141076a41787120016b22026a2201417e6a20023b000041002d008083d480001a411041002802f482d48000118280808000002203450d0120034200370008200342f4033700002003417e6a41003b000041002d008083d480001a41c00041002802f482d48000118280808000002202450d022002200241036a417c7120026b22046a2202413c36023c200241839dc7800036023820024100360234200242a38080801037022c200241e09cc78000360228200241d6003602242002418a9cc78000360220200241d80036021c200241b29bc78000360218200241d600360214200241dc9ac780003602102002410036020c200242d0808080103702042002418c9ac780003602002002417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002205450d03200541003600002005417e6a41003b000041002d008083d480001a412041002802f482d48000118280808000002204450d042004200441036a417c7120046b22066a220441eb0036021c200441f993c7800036021820044100360214200442b78080801037020c200441fc9dc780003602082004413d360204200441bf9dc780003602002004417e6a20063b000041002d008083d480001a410441002802f482d48000118280808000002207450d05200741323600002007417e6a41003b000041002d008083d480001a411841002802f482d48000118280808000002206450d062006200641036a417c7120066b22086a220641ec00360214200641b296c780003602102006410036020c200642c380808010370204200641bb9ec780003602002006417e6a20083b000041002d008083d480001a410441002802f482d48000118280808000002208450d07200841003600002008417e6a41003b000041002d008083d480001a410841002802f482d480001182808080000022090d084104410810ab80808000000b410841c00210ab80808000000b4101411010ab80808000000b410441c00010ab80808000000b4101410410ab80808000000b4104412010ab80808000000b4101410410ab80808000000b4104411810ab80808000000b4101410410ab80808000000b2009200941036a417c7120096b220a6a220941d800360204200941899fc780003602002009417e6a200a3b000020012008360294022001410436029002200142013702a402200120093602a002200142848080801037039802200141bb8080800036028802200142d7c9cb8fc1cf97db3e37038002200142e88488d0c0e3aebc133703f8012001410a3602f401200141e19fc780003602f001200142033702d401200120063602d00120014284808080303703c801200120073602c401200141043602c001200141bb808080003602b801200142d7c9cb8fc1cf97db3e3703b001200142e88488d0c0e3aebc133703a8012001410b3602a401200141fe9ec780003602a0012001420437028401200120043602800120014284808080c0003703782001200536027420014104360270200141bb80808000360268200142d7c9cb8fc1cf97db3e370360200142e88488d0c0e3aebc1337035820014108360254200141b39ec7800036025020014208370234200120023602302001429080808080013703282001200336022420014110360220200141ec80808000360218200142e2e68fceaa92ce9c7b370310200142e987d8bed5a3d0fbfb0037030820014112360204200141ce8bc780003602002000410436020820002001360204200041043602000ba30402017f077e23808080800041c0016b2204248080808000200420023a000f200110cd8c8080001a200420033602642004200136026020042004410f6a360268200441106a2001200441e0006a10d78d8080000240024020042903102205420285200429031884500d00200429035821062004290350210720042903482108200429034021092004290330210a02402005a7410171450d00200429032021052004290328210b20044198016a200141186a29000037030020044190016a200141106a29000037030020044188016a200141086a2900003703002004200b37037820042005370370200441003a0060200420012900003703800141014100200441e0006a10d28d8080000b0240200aa7410171450d0020044198016a200141186a29000037030020044190016a200141106a29000037030020044188016a200141086a290000370300200441013a00602004200129000037038001200420093703702004200837037841014100200441e0006a10d28d8080002009200884500d00200442003703182004200942f303200942f303541b42f3032008501b2205370310200441106a10fe8880800020044200370378200420053703702004410d3a006041014100200441e0006a10d28d8080000b2000200737031020002006370318410021010c010b200020042903203702042000410c6a200441286a2802003602002000200429022c370310410121010b20002001360200200441c0016a2480808080000bbe0601067f41002d008083d480001a0240024002400240024041c00141002802f482d48000118280808000002201450d002001200141076a41787120016b22026a2201417e6a20023b000041002d008083d480001a410841002802f482d48000118280808000002202450d012002200241036a417c7120026b22036a2204411d360204200441eb9fc780003602002004417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002202450d022002200241036a417c7120026b22056a2203411b36020420034199a0c780003602002003417e6a20053b000041002d008083d480001a411841002802f482d48000118280808000002202450d032002200241036a417c7120026b22056a220241ec00360214200241b296c780003602102002410036020c2002429a80808010370204200241bba0c780003602002002417e6a20053b000041002d008083d480001a410841002802f482d480001182808080000022050d044104410810ab80808000000b410841c00110ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104411810ab80808000000b2005200541036a417c7120056b22066a22054119360204200541e6a0c780003602002005417e6a20063b0000200141013602b801200120053602b401200141013602b00120014184818080003602a801200142d9d1a5958acddccda77f3703a001200142bb82a2f99fad8c91c100370398012001411036029401200141ffa0c7800036029001200141033602880120012002360284012001410336028001200141d983808000360278200142d687ccb79492eaa48f7f370370200142dec098f1dab59facaa7f37036820014111360264200141d5a0c78000360260200141013602582001200336025420014101360250200141ec80808000360248200142e2e68fceaa92ce9c7b370340200142e987d8bed5a3d0fbfb0037033820014107360234200141b4a0c78000360230200141013602282001200436022420014101360220200141ea80808000360218200142bfedf48291abd3ae3a370310200142b0b4d4ade1aceba9ad7f3703082001411136020420014188a0c780003602002000410436020820002001360204200041043602000bbf1a04057f017e027f027e23808080800041f0006b22022480808080000240024002400240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a0000024002400240024002400240024002400240024020040e0b0009010203040509060708090b200241c0006a200110ea8e808000024020022d004022034105470d00200041003a00000c0f0b200241086a41026a220620022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210420022802482105200241c0006a200110d8848080002002280240410171450d0a200041003a000020034102470d0e2004450d0e20052005417e6a2f00006b41002802ec82d48000118180808000000c0e0b200241c0006a200110ea8e808000024020022d004022034105470d00200041003a00000c0e0b200241206a41026a20022d00433a0000200241086a41086a200241d4006a2206290200370300200241086a41106a200241dc006a2208290200370300200220022f00413b01202002200229024c3703082002280244210420022802482105200241c0006a200110ea8e8080000240024020022d004022094105470d00200041003a00000c010b200241246a41026a20022d00433a0000200241286a41086a2006290200370300200241286a41106a2008290200370300200220022f00413b01242002200229024c3703282002280244210820022802482106200241c0006a200110d8848080002002280240410171450d0b200041003a000020094102470d002008450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20034102470d0d2004450d0d20052005417e6a2f00006b41002802ec82d48000118180808000000c0d0b200241c0006a200110ea8e808000024020022d004022034105470d00200041003a00000c0d0b200241086a41026a220620022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210420022802482105200241c0006a200110d8848080002002280240410171450d0a200041003a000020034102470d0c2004450d0c20052005417e6a2f00006b41002802ec82d48000118180808000000c0c0b200241c0006a200110ea8e808000024020022d004022054105470d00200041003a00000c0c0b200241086a41026a20022d00433a0000200241306a200241d4006a290200370300200241386a200241dc006a290200370300200220022f00413b01082002200229024c370328200228024421082002280248210602402001280200220328020c220428020822012802042209450d0020012009417f6a36020420012001280200220941016a3602002004427f200429030042017c22072007501b37030020092d000021040240200328020020032802082201470d002003200141014101410110a386808000200328020821010b2003200141016a360208200328020420016a20043a0000410021030240024020040e020100020b410121030b200020022f01083b000520002002290328370210200041076a2002410a6a2d00003a0000200041186a200241306a290300370200200041206a200241386a2903003702002000200636020c20002008360208200020053a0004200020033a0001200041043a00000c0c0b200041003a000020054102470d0b2008450d0b20062006417e6a2f00006b41002802ec82d48000118180808000000c0b0b200241c0006a200110ea8e808000024020022d004022054105470d00200041003a00000c0b0b200241086a41026a20022d00433a0000200241306a200241d4006a290200370300200241286a41106a200241dc006a290200370300200220022f00413b01082002200229024c370328200228024421082002280248210402402001280200220328020c2206280208220128020422094110490d002001200941706a36020420012001280200220941106a3602002006427f2006290300220742107c220a200a2007541b370300200929000821072009290000210a02402003280200200328020822016b410f4b0d002003200141104101410110a386808000200328020821010b2003200141106a360208200328020420016a220320073700082003200a370000200041076a2002410a6a2d00003a0000200020022f01083b000520002002290328370210200041186a200241306a290300370200200041206a200241286a41106a290300370200200020073703382000200a3703302000200436020c20002008360208200020053a0004200041053a00000c0b0b200041003a000020054102470d0a2008450d0a20042004417e6a2f00006b41002802ec82d48000118180808000000c0a0b2002200110cf848080000240024020022802004101710d00200241086a2001200228020410ae838080002002280208418080808078470d010b200041003a00000c0a0b200241286a41086a200241086a41086a2802002203360200200241cb006a20033600002002200229020822073703282002200737004320002002290040370001200041086a200241c7006a290000370000200041063a00000c090b200241c0006a200110ea8e808000024020022d004022034105470d00200041003a00000c090b200241086a41026a220620022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210420022802482105200241c0006a200110d8848080002002280240410171450d07200041003a000020034102470d082004450d0820052005417e6a2f00006b41002802ec82d48000118180808000000c080b024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000041014102200441ff017122034101461b410020031b22034102470d010b200041003a00000c080b200241c0006a200110d88480800002402002280240410171450d00200041003a00000c080b200229035021072000200229035837031820002007370310200020033a0001200041083a00000c070b200241c0006a200110d88480800002402002280240410171450d00200041003a00000c070b02402001280200220328020c220528020822012802042204450d002002290358210a2002290350210b20012004417f6a36020420012001280200220441016a3602002005427f200529030042017c22072007501b37030020042d000021050240200328020020032802082201470d002003200141014101410110a386808000200328020821010b2003200141016a360208200328020420016a20053a0000410021030240024020050e020100020b410121030b2000200b370310200020033a0001200041093a00002000200a3703180c070b200041003a00000c060b200041003a00000c050b200041003a00000c040b200229035021072002290358210a200020022f01083b000520002002290328370210200041076a20062d00003a0000200041186a2008290300370200200041206a20092903003702002000200a370338200020073703302000200536020c20002004360208200020033a0004200041013a00000c030b200229035021072002290358210a200020022f01203b000520002002290308370210200020093a0028200020022f01243b0029200020063602302000200836022c200041076a200241206a41026a2d00003a0000200041186a200241086a41086a290300370200200041206a200241086a41106a2903003702002000412b6a200241246a41026a2d00003a0000200041c4006a200241286a41106a2903003702002000413c6a200241286a41086a290300370200200020022903283702342000200a370358200020073703502000200536020c20002004360208200020033a0004200041023a00000c020b200229035021072002290358210a200020022f01083b000520002002290328370210200041076a20062d00003a0000200041186a2008290300370200200041206a20092903003702002000200a370338200020073703302000200536020c20002004360208200020033a0004200041033a00000c010b200229035021072002290358210a200020022f01083b000520002002290328370210200041076a20062d00003a0000200041186a2008290300370200200041206a20092903003702002000200a370338200020073703302000200536020c20002004360208200020033a0004200041073a00000b200241f0006a2480808080000bce1a04057f017e027f027e23808080800041f0006b22022480808080000240024002400240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a0000024002400240024002400240024002400240024020040e0b0009010203040509060708090b200241c0006a200110e98e808000024020022d004022034105470d00200041003a00000c0f0b200241086a41026a220620022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210420022802482105200241c0006a200110d7848080002002280240410171450d0a200041003a000020034102470d0e2004450d0e20052005417e6a2f00006b41002802ec82d48000118180808000000c0e0b200241c0006a200110e98e808000024020022d004022034105470d00200041003a00000c0e0b200241206a41026a20022d00433a0000200241086a41086a200241d4006a2206290200370300200241086a41106a200241dc006a2208290200370300200220022f00413b01202002200229024c3703082002280244210420022802482105200241c0006a200110e98e8080000240024020022d004022094105470d00200041003a00000c010b200241246a41026a20022d00433a0000200241286a41086a2006290200370300200241286a41106a2008290200370300200220022f00413b01242002200229024c3703282002280244210820022802482106200241c0006a200110d7848080002002280240410171450d0b200041003a000020094102470d002008450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20034102470d0d2004450d0d20052005417e6a2f00006b41002802ec82d48000118180808000000c0d0b200241c0006a200110e98e808000024020022d004022034105470d00200041003a00000c0d0b200241086a41026a220620022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210420022802482105200241c0006a200110d7848080002002280240410171450d0a200041003a000020034102470d0c2004450d0c20052005417e6a2f00006b41002802ec82d48000118180808000000c0c0b200241c0006a200110e98e808000024020022d004022054105470d00200041003a00000c0c0b200241086a41026a20022d00433a0000200241306a200241d4006a290200370300200241386a200241dc006a290200370300200220022f00413b01082002200229024c370328200228024421082002280248210602402001280200220328020c220428020828020022012802042209450d0020012009417f6a36020420012001280200220941016a3602002004427f200429030042017c22072007501b37030020092d000021040240200328020020032802082201470d002003200141014101410110a386808000200328020821010b2003200141016a360208200328020420016a20043a0000410021030240024020040e020100020b410121030b200020022f01083b000520002002290328370210200041076a2002410a6a2d00003a0000200041186a200241306a290300370200200041206a200241386a2903003702002000200636020c20002008360208200020053a0004200020033a0001200041043a00000c0c0b200041003a000020054102470d0b2008450d0b20062006417e6a2f00006b41002802ec82d48000118180808000000c0b0b200241c0006a200110e98e808000024020022d004022054105470d00200041003a00000c0b0b200241086a41026a20022d00433a0000200241306a200241d4006a290200370300200241286a41106a200241dc006a290200370300200220022f00413b01082002200229024c370328200228024421082002280248210402402001280200220328020c2206280208280200220128020422094110490d002001200941706a36020420012001280200220941106a3602002006427f2006290300220742107c220a200a2007541b370300200929000821072009290000210a02402003280200200328020822016b410f4b0d002003200141104101410110a386808000200328020821010b2003200141106a360208200328020420016a220320073700082003200a370000200041076a2002410a6a2d00003a0000200020022f01083b000520002002290328370210200041186a200241306a290300370200200041206a200241286a41106a290300370200200020073703382000200a3703302000200436020c20002008360208200020053a0004200041053a00000c0b0b200041003a000020054102470d0a2008450d0a20042004417e6a2f00006b41002802ec82d48000118180808000000c0a0b2002200110ce848080000240024020022802004101710d00200241086a200120022802041099838080002002280208418080808078470d010b200041003a00000c0a0b200241286a41086a200241086a41086a2802002203360200200241cb006a20033600002002200229020822073703282002200737004320002002290040370001200041086a200241c7006a290000370000200041063a00000c090b200241c0006a200110e98e808000024020022d004022034105470d00200041003a00000c090b200241086a41026a220620022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210420022802482105200241c0006a200110d7848080002002280240410171450d07200041003a000020034102470d082004450d0820052005417e6a2f00006b41002802ec82d48000118180808000000c080b024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a000041014102200441ff017122034101461b410020031b22034102470d010b200041003a00000c080b200241c0006a200110d78480800002402002280240410171450d00200041003a00000c080b200229035021072000200229035837031820002007370310200020033a0001200041083a00000c070b200241c0006a200110d78480800002402002280240410171450d00200041003a00000c070b02402001280200220328020c220528020828020022012802042204450d002002290358210a2002290350210b20012004417f6a36020420012001280200220441016a3602002005427f200529030042017c22072007501b37030020042d000021050240200328020020032802082201470d002003200141014101410110a386808000200328020821010b2003200141016a360208200328020420016a20053a0000410021030240024020050e020100020b410121030b2000200b370310200020033a0001200041093a00002000200a3703180c070b200041003a00000c060b200041003a00000c050b200041003a00000c040b200229035021072002290358210a200020022f01083b000520002002290328370210200041076a20062d00003a0000200041186a2008290300370200200041206a20092903003702002000200a370338200020073703302000200536020c20002004360208200020033a0004200041013a00000c030b200229035021072002290358210a200020022f01203b000520002002290308370210200020093a0028200020022f01243b0029200020063602302000200836022c200041076a200241206a41026a2d00003a0000200041186a200241086a41086a290300370200200041206a200241086a41106a2903003702002000412b6a200241246a41026a2d00003a0000200041c4006a200241286a41106a2903003702002000413c6a200241286a41086a290300370200200020022903283702342000200a370358200020073703502000200536020c20002004360208200020033a0004200041023a00000c020b200229035021072002290358210a200020022f01083b000520002002290328370210200041076a20062d00003a0000200041186a2008290300370200200041206a20092903003702002000200a370338200020073703302000200536020c20002004360208200020033a0004200041033a00000c010b200229035021072002290358210a200020022f01083b000520002002290328370210200041076a20062d00003a0000200041186a2008290300370200200041206a20092903003702002000200a370338200020073703302000200536020c20002004360208200020033a0004200041073a00000b200241f0006a2480808080000b800b02047f027e23808080800041106b2202248080808000024002400240024002400240024002400240024020002d0000417f6a0e09000102030405060708000b200041306a2103200041046a21000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00002000200110ed8e8080002002200336020c2002410c6a200110de848080000c080b200041d0006a2103200041286a2105200041046a21000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41023a00002000200110ed8e8080002005200110ed8e8080002002200336020c2002410c6a200110de848080000c070b200041306a2103200041046a21000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41033a00002000200110ed8e8080002002200336020c2002410c6a200110de848080000c060b200041046a21030240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41043a00002003200110ed8e80800020002d000121000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a00000c050b200041046a21030240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41053a00002003200110ed8e808000200029033821062000290330210702402001280200200128020822046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c040b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a41063a00002001200441016a360208200028020821042002200028020c22003602082002200241086a36020c2002410c6a200110dc848080002000450d032000410574210520012802082103034002400240200128020020036b411f4d0d00200321000c010b20012003412010f491808000200128020821000b2001200041206a2203360208200128020420006a22002004290000370000200041086a200441086a290000370000200041106a200441106a290000370000200041186a200441186a290000370000200441206a2104200541606a22050d000c040b0b200041306a2103200041046a21000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41083a00002000200110ed8e8080002002200336020c2002410c6a200110de848080000c020b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200041106a2103200128020420046a41093a00002001200441016a220436020820002d00012100024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a00002002200336020c2002410c6a200110de848080000c010b200041106a21030240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a410a3a00002002200336020c2002410c6a200110de8480800020002d000121000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a00000b200241106a2480808080000bdb0903017f027e017f024002400240024002400240024002400240024002400240024002400240024002400240024020002d0000417f6a0e09000102030405060708000b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b02402000290330220242c000544100200029033822035022001b450d00410121000c110b20024280800154410020001b450d0f410221000c100b4121210441212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b024002400240024020002d00280e050300010302030b410121040c020b200028023441056a21040c010b411521040b417f200120046a220420042001491b210102402000290350220242c000544100200029035822035022001b450d00410121000c0e0b20024280800154410020001b450d0c410221000c0d0b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b02402000290330220242c000544100200029033822035022001b450d00410121000c0b0b20024280800154410020001b450d09410221000c0a0b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b200141016a2200417f20001b21000c0e0b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b417f200141106a220020002001491b21000c0d0b200028020c41057441047221000c0c0b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b02402000290330220242c000544100200029033822035022001b450d00410121000c050b20024280800154410020001b450d03410221000c040b02402000290310220242c000544100200029031822035022001b450d00410221000c0b0b20024280800154410020001b450d01410321000c0a0b02402000290310220242c000544100200029031822035022001b450d00410221000c0a0b024020024280800154410020001b450d00410321000c0a0b0240200242808080800454410020001b450d00410521000c0a0b411220037920027942c0007c20034200521ba74103766b21000c090b0240200242808080800454410020001b450d00410521000c090b411220037920027942c0007c20034200521ba74103766b21000c080b0240200242808080800454410020001b450d00410421000c010b411120037920027942c0007c20034200521ba74103766b21000b417f200120006a220020002001491b21000c060b0240200242808080800454410020001b450d00410421000c010b411120037920027942c0007c20034200521ba74103766b21000b417f200120006a220020002001491b21000c040b0240200242808080800454410020001b450d00410421000c010b411120037920027942c0007c20034200521ba74103766b21000b417f200120006a220020002001491b21000c020b0240200242808080800454410020001b450d00410421000c010b411120037920027942c0007c20034200521ba74103766b21000b417f200120006a220020002001491b21000b200041016a0b914303047f027e017f23808080800041106b2202248080808000024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020002d00000e1e000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d000b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41003a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c1d0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41013a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c1c0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41023a00002001200341016a22053602080240200128020020056b411f4b0d0020012005412010f491808000200128020821050b200041c0006a2103200128020420056a22082004290000370000200841186a200441186a290000370000200841106a200441106a290000370000200841086a200441086a2900003700002001200541206a22043602080240200128020020046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22052003290000370000200541186a200341186a290000370000200541106a200341106a290000370000200541086a200341086a2900003700002001200441206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c1b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41033a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c1a0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41043a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c190b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41053a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c180b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041026a2104200128020420036a41063a00002001200341016a22053602080240200128020020056b411f4b0d0020012005412010f491808000200128020821050b200041226a2103200128020420056a22082004290000370000200841186a200441186a290000370000200841106a200441106a290000370000200841086a200441086a2900003700002001200541206a22043602080240200128020020046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22052003290000370000200541186a200341186a290000370000200541106a200341106a290000370000200541086a200341086a2900003700002001200441206a220436020820002903582106200029035021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b200128020420046a22032006370008200320073700002001200441106a220436020820002d00012100024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a00000c170b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41073a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c160b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41083a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c150b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41093a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c140b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a410a3a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c130b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a410b3a00002001200441016a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c120b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a410c3a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c110b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a410d3a00002001200441016a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c100b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a410e3a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c0f0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a410f3a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c0e0b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200041016a2100200128020420046a41103a00002001200441016a22043602080240200128020020046b411f4b0d0020012004412010f491808000200128020821040b2001200441206a360208200128020420046a22012000290000370000200141086a200041086a290000370000200141106a200041106a290000370000200141186a200041186a2900003700000c0d0b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a41113a00002001200441016a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c0c0b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a41123a00002001200441016a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c0b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41133a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c0a0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41143a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c090b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41153a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c080b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041206a2104200128020420036a41163a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c070b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a41173a00002001200441016a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b200128020420046a22032006370008200320073700002001200441106a220436020820002903282106200029032021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c060b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a2204360208200128020420036a41183a0000200241046a108686808000200228020821050240200228020c2203200128020020046b4d0d0020012004200310f491808000200128020821040b200128020420046a2005200310f4978080001a2001200420036a220336020802402002280204450d0020052005417e6a2f00006b41002802ec82d4800011818080800000200128020821030b200041206a21040240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c050b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a2204360208200128020420036a41193a0000200241046a108686808000200228020821050240200228020c2203200128020020046b4d0d0020012004200310f491808000200128020821040b200128020420046a2005200310f4978080001a2001200420036a220336020802402002280204450d0020052005417e6a2f00006b41002802ec82d4800011818080800000200128020821030b200041206a21040240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c040b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a2204360208200128020420036a411a3a0000200241046a108686808000200228020821030240200228020c2205200128020020046b4d0d0020012004200510f491808000200128020821040b200128020420046a2003200510f4978080001a2001200420056a220536020802402002280204450d0020032003417e6a2f00006b41002802ec82d4800011818080800000200128020821050b200041206a21040240200128020020056b411f4b0d0020012005412010f491808000200128020821050b200041c0006a2103200128020420056a22082004290000370000200841186a200441186a290000370000200841106a200441106a290000370000200841086a200441086a2900003700002001200541206a22043602080240200128020020046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22052003290000370000200541186a200341186a290000370000200541106a200341106a290000370000200541086a200341086a2900003700002001200441206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c030b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a2204360208200128020420036a411b3a0000200241046a108686808000200228020821030240200228020c2205200128020020046b4d0d0020012004200510f491808000200128020821040b200128020420046a2003200510f4978080001a2001200420056a220536020802402002280204450d0020032003417e6a2f00006b41002802ec82d4800011818080800000200128020821050b200041206a21040240200128020020056b411f4b0d0020012005412010f491808000200128020821050b200041c0006a2103200128020420056a22082004290000370000200841186a200441186a290000370000200841106a200441106a290000370000200841086a200441086a2900003700002001200541206a22043602080240200128020020046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22052003290000370000200541186a200341186a290000370000200541106a200341106a290000370000200541086a200341086a2900003700002001200441206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c020b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a2204360208200128020420036a411c3a0000200241046a108686808000200228020821050240200228020c2203200128020020046b4d0d0020012004200310f491808000200128020821040b200128020420046a2005200310f4978080001a2001200420036a220336020802402002280204450d0020052005417e6a2f00006b41002802ec82d4800011818080800000200128020821030b200041206a21040240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22052004290000370000200541186a200441186a290000370000200541106a200441106a290000370000200541086a200441086a2900003700002001200341206a220436020820002903182106200029031021070240200128020020046b410f4b0d0020012004411010f491808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a411d3a00002001200441016a220436020820002d00012100024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a00000b200241106a2480808080000bb90201037f23808080800041206b220224808080800002402001280200220328020020032802082204470d002003200441014101410110a386808000200328020821040b200328020420046a41fb003a00002003200441016a36020820024180023b010c2002200136021002402002410c6a418fa1c780004108200041206a10cc8d80800022030d00024020022d000c4101470d002002410d360214200241146a4100410010f59280800021030c010b2002410c6a4197a1c78000410b200010c88d80800022030d0041002103200228020c22044180fe0371450d0020044101710d0002402002280210280200220428020020042802082201470d002004200141014101410110a386808000200428020821010b2004200141016a360208200428020420016a41fd003a00000b200241206a24808080800020030bf80201027f23808080800041306b22022480808080002002410036021c200241003602142002418080808078360208024002400240200241086a418fa1c780004108200141206a10a68e80800022030d00200241086a4197a1c78000410b200110a88e80800022030d00200228020c2101024020022802082203418180808078470d00200141ff01714106460d02200020013a0000200041036a20014118763a0000200020014108763b00012000200241086a41086a22012902003702042000410c6a200141086a2802003602000c030b2002412c6a2002411c6a280200360000200041053a00002002200229021437002420002002290021370001200041086a200241286a290000370000200341808080807872418080808078460d0220012001417e6a2f00006b41002802ec82d48000118180808000000c020b200041063a000020002003360204200241086a10e08c8080000c010b41c0c0cc8000411c41dcc0cc800010a181808000000b200241306a2480808080000bda0603067f017e027f23808080800041c0006b2201248080808000200141186a41ed87c78000410441d6f1c6800041174104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a02400240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241003602382002410136022420024188a4c780003602202002410036021820024101360204200241cef1c680003602002002417e6a20033b000020014102360238200120023602302001200241c0006a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903b888c780003702002001410036020820014280808080c000370200200141306a200141b8f0c6800041141093848080002001200141306a41ccf0c68000410e108284808000200141306a200141daf0c68000411310d9838080002001200141306a41edf0c68000410c10f183808000200141306a200141f9f0c68000410f10e2838080002001200141306a4188f1c68000411010eb83808000200141306a20014198f1c68000411110fe838080002001200141306a41a9f1c68000411b10b584808000200141246a200141c4f1c68000410410d4838080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b410841c00010ab80808000000b4104410841b0bfc7800010b980808000000b41bc91c38000411141d091c3800010a181808000000bd11903067f017e037f23808080800041c0006b2201248080808000200141206a41fc88c78000410541d6f1c6800041174104410010c292808000200142043702182001420037021020014280808080800137020841002d008083d480001a02400240024002400240024002400240024002400240024002400240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241003602382002410136022420024188a4c780003602202002410036021820024101360204200241cef1c680003602002002417e6a20033b000020014102360238200120023602302001200241c0006a36023c20012002360234200141086a200141306a419c91c3800010f38e80800041002d008083d480001a20012802082104200128020c2103200128021021052001280220210620012902242107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903a889c7800037020041002d008083d480001a2001410036021020014280808080c000370208410841002802f482d48000118280808000002202450d022002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902b8dbc38000370200200141086a418c90c3800010a093808000200128020c2202428080808010370208200242808080808001370200200241003a00202002410e36021c200241988bc780003602182002410136021420022009360210200141306a41086a41013602002001200129020837033041002d008083d480001a410841002802f482d48000118280808000002202450d032002200241036a417c71220920026b220a6a417e6a200a3b000020094100290288dbc3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241013a00202002411536021c200241a68bc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d042002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902d0d8c3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241023a00202002411336021c200241bb8bc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d052002200241036a417c71220920026b220a6a417e6a200a3b000020094100290298d9c3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241033a00202002411236021c200241ce8bc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d062002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902f8d7c3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241043a00202002410d36021c200241e08bc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d072002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902c8d7c3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241053a00202002411736021c200241ed8bc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d082002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902a8d8c3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241063a00202002410b36021c200241848cc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d092002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902c8dac3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241073a00202002410f36021c2002418f8cc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d0a2002200241036a417c71220920026b220a6a417e6a200a3b000020094100290280dcc3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241083a00202002410c36021c2002419e8cc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d0b2002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902c8d9c3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241093a00202002410e36021c200241aa8cc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d0c2002200241036a417c71220920026b220a6a417e6a200a3b000020094100290290dac3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a2202410a3a00202002411336021c200241b88cc7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d0d2002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902a8dcc380003702000240200128023822022001280230470d00200141306a418c90c3800010a0938080000b2001280234200241246c220a6a2202410b3a00202002410936021c200241cb8cc780003602182002410136021420022009360210200242808080801037020820024280808080800137020020012802342102200120012802303602102001200236020820012002200a6a41246a3602142001200236020c200141306a200141086a419c91c3800010f48e8080002006418080808078460d0e20012004360210200120033602082001200336020c2001200320054105746a360214200041c4006a200141086a41a0e0c6800010f38e808000200141086a410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000b20002001290008370001200041086a2001410f6a290000370000200141c0006a2480808080000f0b410841c00010ab80808000000b4104410841b0bfc7800010b980808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000b960a03067f017e027f23808080800041c0006b2201248080808000200141186a4189a4c78000410541d6f1c6800041174104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a02400240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241003602382002410136022420024188a4c780003602202002410036021820024101360204200241cef1c680003602002002417e6a20033b000020014102360238200120023602302001200241c0006a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903b0a4c780003702002001410036020820014280808080c000370200200141306a200141b8a4c7800041071092848080002001200141306a41bfa4c78000410810ee83808000200141306a200141c7a4c78000410810f5838080002001200141306a41cfa4c78000410a10fd83808000200141306a200141d9a4c78000410810b8848080002001200141306a41e1a4c78000410a10bf84808000200141306a200141eba4c78000411210f0838080002001200141306a41fda4c78000410710da83808000200141306a20014184a5c78000410810bc848080002001200141306a418ca5c78000410710e383808000200141306a20014193a5c78000410610c7848080002001200141306a4199a5c78000410c108184808000200141306a200141a5a5c78000410610aa848080002001200141306a41aba5c78000410a10a884808000200141306a200141b5a5c78000410910f9838080002001200141306a41bea5c78000410810f383808000200141306a200141c6a5c7800041081084848080002001200141306a41cea5c78000410610d783808000200141306a200141d4a5c78000410910ab848080002001200141306a41dda5c78000410610fa83808000200141306a200141e3a5c78000410810db838080002001200141306a41eba5c78000410610ed83808000200141306a200141f1a5c78000410610be848080002001200141306a41f7a5c78000411310e783808000200141306a2001418aa6c78000410410a1848080002001200141306a418ea6c78000410a10c584808000200141306a20014198a6c78000410e10a5848080002001200141306a41a6a6c78000410f10d583808000200141306a200141b5a6c780004108109e84808000200141246a200141306a41bda6c78000410a109d848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b410841c00010ab80808000000b4104410841b0bfc7800010b980808000000b41bc91c38000411141d091c3800010a181808000000bb70301047f23808080800041106b22022480808080000240024020012802102203418080808078470d004101410220012d000122044102491b4102410120044107461b20012d00001b41016a21040c010b417f417f2001280224410c6c2001280218410c6c410c6a22046a41046a220520052004491b220441096a220520052004491b21040b410021050240024002400240024002400240200441016a22044100480d002004450d0141002d008083d480001a200441002802f482d480001182808080000022050d02410121050b2005200441b0a7c7800010b980808000000b2002410036020c2002428080808010370204200241046a4100410110f49180800020022802082105200228020c21042003418080808078460d030c010b2005417e6a41003b000020022005360208200220043602042003418080808078460d01410021040b200520046a41003a00002002200441016a36020c2001200241046a10c5858080000c020b410021040b200520046a41013a00002002200441016a36020c2001200241046a10c6858080000b20002002290204370200200041086a200241046a41086a280200360200200241106a2480808080000bb30301057f23808080800041206b220224808080800041002103024002400240024002400240024041012001280208220441056a20012802002205418080808078461b22064100480d002006450d0141002d008083d480001a200641002802f482d480001182808080000022030d02410121030b2003200641b0a7c7800010b980808000000b20024100360214200242808080801037020c2002410c6a4100410110f49180800020022802102103200228021421062005418080808078470d010c030b2003417e6a41003b0000200220033602102002200636020c2005418080808078460d01410021060b200320066a41013a00002002200641016a36021420012802042103200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004200228020c200228021422066b4d0d002002410c6a2006200410f491808000200228021421060b200228021020066a2003200410f4978080001a2002200620046a3602140c020b410021060b200320066a41003a00002002200641016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000bd80201047f23808080800041106b2202248080808000410221030240024002400240024020012d000022040e110303030103030302020203030303020400030b4101410220012d000222054102491b4102410120054107461b20012d00011b41026a21030c030b410821030c020b410421030c010b410321030b41002d008083d480001a0240200341002802f482d48000118280808000002205450d002005417e6a41003b000020022005360208200220033602040240024020044110470d00200541013a00002002410136020c200141016a200241046a10c6858080000c010b200541003a000002402004410f460d00200541013a00012002410236020c2001200241046a10c08c8080000c010b200541003a00012002410236020c0b20002002290204370200200041086a200241046a41086a280200360200200241106a2480808080000f0b4101200341b0a7c7800010b980808000000bd80201037f23808080800041206b220324808080800041002d008083d480001a02402002410574410472220441002802f482d48000118280808000002205450d002005417e6a41003b000020034100360214200320053602102003200436020c200320023602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402002450d00200241057421042003280214210203400240200328020c20026b411f4b0d002003410c6a2002412010f491808000200328021421020b200328021020026a22052001290000370000200541086a200141086a290000370000200541106a200141106a290000370000200541186a200141186a2900003700002003200241206a2202360214200141206a2101200441606a22040d000b0b2000200329020c370200200041086a2003410c6a41086a280200360200200341206a2480808080000f0b4101200441b0a7c7800010b980808000000bc10100024002400240024002400240200241796a0e080003030302030301030b0240200141dc85c78000410710f597808000450d00200141e385c78000410710f5978080000d03200041013a00010c050b200041003a0001200041003a00000f0b200141ea85c78000410e10f597808000450d020c010b200141f885c78000410b10f5978080000d00200041033a00010c020b200020012002418486c78000410410a88a808000360204200041013a00000f0b200041023a00010b200041003a00000b8e0f03017f047e0b7f23808080800041c00b6b220424808080800042c0f1ec00210542d50b21060240200242c0f1ec00540d00200342d50b540d00200442988af5b38bd59ae3ad7f370038200442958ff2c2ebc1eefc79370030200442c0c38addfcd9c9c1c400370028200442c2d5a39edcfaf091cd00370020200441b0086a200441206a412010e985808000200441106a20042903b808420020042802b0081b4200200342ab747c420010fc97808000200441206a4200420020042903102004290318428094ebdc03420010a39380800020042903282105200429032021062004290330210320042903382107200442ecefd7e4f19abeaecc00370038200442c98dcdf1f0adada9c400370030200442c0c38addfcd9c9c1c400370028200442c2d5a39edcfaf091cd00370020200441b0086a200441206a412010e985808000200420042903b808420020042802b0081b4200200242c08e937f7c420010fc97808000200441206a4200420020042903002004290308428094ebdc03420010a39380800042002004290330427f2004290338501b427f2004290320200429032884501b22024295fdfee37e7c220820082002561b42a5fd8b0380210842002003427f2007501b220342a2787c220720072003561b42a1782006200584501b220742c81780210342002105420021060240200742c817540d00420021054200210620032008560d00200342ffffffff0f83220542c8177e42de077c2106200542a5fd8b037e42eb82819c017c21052003a72209450d004100210a0340200441b0086a200a10e986808000200441206a20042802b408220b20042802b80810d885808000024020042802b008450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b2009200a41016a220a470d000b0b42004200200220057d220320032002561b22024292bfcd7e7c220320032002561b2202428b9e06540d002002428b9e0680210241002d008083d480001a0240024041c00041002802f482d4800011828080800000220a450d00200a417e6a410041c20010fa97808000210c200442f9c2f89b91a3b3f0db003703e808200442ebfa86dabfb5f6c11f3703e0082004429fd8f9d9c291da829b7f3703d808200442d1859aeffacf9487d1003703d008200442f1edf4f8a5a7fda7a57f3703c808200442abf0d3f4afeebcb73c3703c008200442bbceaaa6d8d0ebb3bb7f3703b808200442c892f795ffccf984ea003703b008200441b0086a41c0006a410041890110fa978080001a2002a7220d450d01200441b0086a41c8006a210e4100210b034002400240200b41ff0171220941c100490d00200e20096a200a41800120096b220b10f4978080001a200420042903f0084280017c3703f008200441b0086a200e4200420010cf80808000200e200a200b6a200941406a220b41807f716a200b10f4978080001a0c010b200e20096a220b200a290000370000200b41386a200a41386a290000370000200b41306a200a41306a290000370000200b41286a200a41286a290000370000200b41206a200a41206a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a290000370000200941c0006a210b0b2004200b3a00f809200d417f6a220d0d000c020b0b410141c00041cc85c7800010b980808000000b200441206a200441b0086a41d00110f4978080001a2004200429036020042d00e801220bad7c370360200441206a41c8006a21090240200b418001460d002009200b6a4100418001200b6b10fa978080001a0b200441003a00e801200441206a2009427f420010cf80808000200441c00a6a41086a220b200441206a41086a290300370300200441c00a6a41106a2209200441206a41106a290300370300200441c00a6a41186a220d200441206a41186a290300370300200441c00a6a41206a220e2004290340370300200441c00a6a41286a220f200441206a41286a290300370300200441c00a6a41306a2210200441206a41306a290300370300200441c00a6a41386a2211200441206a41386a290300370300200420042903203703c00a200441800a6a41086a2212200b290300370300200441800a6a41106a22132009290300370300200441800a6a41186a2209200d290300370300200441800a6a41206a220d200e290300370300200441800a6a41286a220e200f290300370300200441800a6a41306a220f2010290300370300200441800a6a41386a22102011290300370300200420042903c00a3703800a41002d008083d480001a024041c00041002802f482d4800011828080800000220b0d00410141c00041b0bfc7800010b980808000000b200242ffffffff0f83428b9e067e20057c42eec0b2017c2105200b20042903800a370000200b417e6a221141003b0000200b41386a2010290300370000200b41306a200f290300370000200b41286a200e290300370000200b41206a200d290300370000200b41186a2009290300370000200b41106a2013290300370000200b41086a2012290300370000200a200c2f00006b41002802ec82d4800011818080800000200b20112f00006b41002802ec82d48000118180808000000b2000200637030820002005370300200441c00b6a2480808080000bf70201047f23808080800041206b220224808080800041002d008083d480001a02400240410141002802f482d48000118280808000002203450d0020032001417f6a3a00002003417e6a41003b0000200241013602102002200336020c20024101360208200241086a410141034101410110a386808000200228020c2203200228021022046a220541003b0000200541026a41003a0000200228020821050240200441036a22044104470d002003280000210402402005450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200421030c020b2005418080808078460d012002200436021c200220033602182002200536021441fcf7c6800041cb00200241146a41ecf7c6800041aca8c7800010a981808000000b4101410110ab80808000000b200041013a00102000200336020c200041033a000020002001411874411875410274220341fcc0c780006a2802003602082000200341e4c0c780006a280200360204200241206a2480808080000b9c0101017f23808080800041306b220224808080800020022000280200280200220036022820024103360204200241bc9fc280003602002002420237020c200241da83808000ad4220862002412c6aad84370320200241db83808000ad422086200241286aad84370318200220006836022c2002200241186a36020820012802002001280204200210b1818080002101200241306a24808080800020010b900201037f23808080800041106b220224808080800020022000280200220041206a3602042001280200419cbec780004119200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41b5bec780004109200041fcbdc78000108a818080004184aec780004105200241046a418cbec78000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bf30a01067f23808080800041306b22022480808080002000280200220341046a21040240024002400240024020032802000e0400010203000b410121002001280200220541a8afc7800041182001280204220628020c2207118080808000000d030240024020012d000a418001710d0041012100200541df80c2800041012007118080808000000d052002200341106a36021c200141c0b3c780004114200441a0b3c780002002411c6a41b0b3c7800010b981808000450d010c050b200541e080c2800041022007118080808000000d0441012100200241013a001b200220063602102002200536020c200241b480c280003602202002200129020837022420022002411b6a36021420022002410c6a36021c2002200341106a36022c2002411c6a41c0b3c780004114200441a0b3c780002002412c6a41b0b3c7800010b9818080000d04200228021c41da80c280004102200228022028020c118080808000000d040b200128020041e280c280004101200128020428020c1180808080000021000c030b410121002001280200220541c0afc7800041162001280204220628020c2207118080808000000d020240024020012d000a418001710d0041012100200541df80c2800041012007118080808000000d042002200341106a36021c200141c0b3c780004114200441a0b3c780002002411c6a41b0b3c7800010b981808000450d010c040b200541e080c2800041022007118080808000000d0341012100200241013a001b200220063602102002200536020c200241b480c280003602202002200129020837022420022002411b6a36021420022002410c6a36021c2002200341106a36022c2002411c6a41c0b3c780004114200441a0b3c780002002412c6a41b0b3c7800010b9818080000d03200228021c41da80c280004102200228022028020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021000c020b410121002001280200220541d6afc78000411a2001280204220628020c2207118080808000000d010240024020012d000a418001710d0041012100200541df80c2800041012007118080808000000d032002200341106a36021c200141c0b3c780004114200441a0b3c780002002411c6a41b0b3c7800010b981808000450d010c030b200541e080c2800041022007118080808000000d0241012100200241013a001b200220063602102002200536020c200241b480c280003602202002200129020837022420022002411b6a36021420022002410c6a36021c2002200341106a36022c2002411c6a41c0b3c780004114200441a0b3c780002002412c6a41b0b3c7800010b9818080000d02200228021c41da80c280004102200228022028020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021000c010b410121002001280200220541f0afc78000411a2001280204220628020c2207118080808000000d000240024020012d000a418001710d0041012100200541df80c2800041012007118080808000000d022002200341106a36021c200141c0b3c780004114200441a0b3c780002002411c6a41b0b3c7800010b981808000450d010c020b200541e080c2800041022007118080808000000d0141012100200241013a001b200220063602102002200536020c200241b480c280003602202002200129020837022420022002411b6a36021420022002410c6a36021c2002200341106a36022c2002411c6a41c0b3c780004114200441a0b3c780002002412c6a41b0b3c7800010b9818080000d01200228021c41da80c280004102200228022028020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000ba90201037f23808080800041106b2202248080808000200220002802002200360204200128020041f4adc78000410b200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41ffadc7800041052000410c6a41c4adc78000108a818080004184aec780004105200041086a41d4adc78000108a818080004189aec780004107200241046a41e4adc78000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bf50801037f23808080800041106b220224808080800002400240024002400240024020002802002200280200417f6a0e050001020304000b2002200041046a3602002002200041086a360204200128020041a486c780004117200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41cc86c780004109200241bc86c78000108a8180800041e886c78000410d200241046a41d886c78000108a81808000210320022d000d220020022d000c220472210120004101470d0420044101710d040240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c050b200128020041dc80c280004101200128020428020c1180808080000021010c040b2002200041086a360204200128020041f586c780004111200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41dc85c780004107200241046a418887c78000108a81808000210320022d000d220020022d000c220472210120004101470d0320044101710d030240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c040b200128020041dc80c280004101200128020428020c1180808080000021010c030b2002200041086a3602042001280200419887c780004111200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41e385c780004107200241046a418887c78000108a81808000210320022d000d220020022d000c220472210120004101470d0220044101710d020240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c030b200128020041dc80c280004101200128020428020c1180808080000021010c020b2002200041046a360204200128020041a987c78000410b200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c487c780004107200241046a41b487c78000108a81808000210320022d000d220020022d000c220472210120004101470d0120044101710d010240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b2002200041086a360204200128020041cb87c780004116200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41e187c78000410c200241046a418887c78000108a81808000210320022d000d220020022d000c220472210120004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bab0101047f23808080800041106b2202248080808000200028020021032000280204210441012100200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2003200320044105746a108b8e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021000b200241106a24808080800020000b3900200128020020002802002d0000410274220041c0c1c780006a28020020004198c1c780006a280200200128020428020c118080808000000bbf0201047f23808080800041306b22022480808080002002200028020036020c4101210002402001280200220341f6bdc7800041062001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110b88b8080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10b88b8080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000bdd1101037f23808080800041206b22022480808080000240024002400240024002400240024002400240200028020022002d0000417f6a0e09000102030405060708000b2002200041046a3602102002200041306a360214200128020041b4a1c78000411a200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41e0a1c780004104200241106a41d0a1c78000108a8180800041f4a1c780004105200241146a41e4a1c78000108a81808000210320022d001d220020022d001c220472210120004101470d0820044101710d080240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c090b200128020041dc80c280004101200128020428020c1180808080000021010c080b2002200041046a36020c2002200041286a3602102002200041d0006a360214200128020041f9a1c780004114200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a418da2c7800041062002410c6a41d0a1c78000108a8180800041e0a1c780004104200241106a41d0a1c78000108a8180800041f4a1c780004105200241146a41e4a1c78000108a81808000210320022d001d220020022d001c220472210120004101470d0720044101710d070240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c080b200128020041dc80c280004101200128020428020c1180808080000021010c070b2002200041046a3602102002200041306a36021420012802004193a2c780004119200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41e0a1c780004104200241106a41d0a1c78000108a8180800041f4a1c780004105200241146a41e4a1c78000108a81808000210320022d001d220020022d001c220472210120004101470d0620044101710d060240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c070b200128020041dc80c280004101200128020428020c1180808080000021010c060b2002200041046a3602102002200041016a360214200128020041aca2c780004112200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41e0a1c780004104200241106a41d0a1c78000108a8180800041d0a2c78000410a200241146a41c0a2c78000108a81808000210320022d001d220020022d001c220472210120004101470d0520044101710d050240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c060b200128020041dc80c280004101200128020428020c1180808080000021010c050b2002200041046a3602102002200041306a360214200128020041daa2c780004115200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41efa2c780004103200241106a41d0a1c78000108a8180800041f2a2c780004106200241146a41e4a1c78000108a81808000210320022d001d220020022d001c220472210120004101470d0420044101710d040240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c050b200128020041dc80c280004101200128020428020c1180808080000021010c040b2002200041046a360214200128020041f8a2c780004116200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41efa2c780004103200241146a4190a3c78000108a81808000210320022d001d220020022d001c220472210120004101470d0320044101710d030240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c040b200128020041dc80c280004101200128020428020c1180808080000021010c030b2002200041046a3602102002200041306a360214200128020041a0a3c780004117200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41efa2c780004103200241106a41d0a1c78000108a8180800041b7a3c780004108200241146a41e4a1c78000108a81808000210320022d001d220020022d001c220472210120004101470d0220044101710d020240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c030b200128020041dc80c280004101200128020428020c1180808080000021010c020b2002200041016a3602102002200041106a360214200128020041bfa3c780004121200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41f0a3c780004109200241106a41e0a3c78000108a8180800041f9a3c780004105200241146a41e4a1c78000108a81808000210320022d001d220020022d001c220472210120004101470d0120044101710d010240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b2002200041106a3602102002200041016a360214200128020041fea3c78000410a200128020428020c118080808000002100200241003a001d200220003a001c20022001360218200241186a41f4a1c780004105200241106a41e4a1c78000108a8180800041d0a2c78000410a200241146a41c0a2c78000108a81808000210320022d001d220020022d001c220472210120004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241206a24808080800020014101710b0f002000280200200110ba8c8080000b1e00200128020041c0a7c780004114200128020428020c118080808000000bc00301047f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff0171410174220541a1f1c180006a2d00003a00022002200541a0f1c180006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe017141a1f1c180006a2d00003a00000b2001410141014100200220036a410320036b10b28180800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000be00101017f23808080800041d0006b220a248080808000200a41c4006a200141206a290200370200200a413c6a200141186a290200370200200a41346a200141106a290200370200200a412c6a200141086a290200370200200a41086a200241086a280200360200200a2008360220200a200736021c200a2005360214200a2004360210200a200336020c200a2001290200370224200a2002290200370300200a2006360218200a200936024c2000200a41246a200a20032004200520062802142007200820092802002009280204108a8d808000200a41d0006a2480808080000b920701027f2380808080004180016b220b248080808000200b2008360214200b20073602100240024002400240200128020022080d00200b41186a41186a200141046a220841186a2201290000370300200b41186a41106a200841106a2207290000370300200b41186a41086a200841086a220c290000370300200b2008290000370318200b41c8006a41186a2001290000370300200b41c8006a41106a2007290000370300200b41c8006a41086a200c290000370300200b2008290000370348200b2002360244200b200b41186a360240200b200b41106a36023c200b41086a2005200b41c8006a200b413c6a419cb9c78000200611878080800000200b28020c2108200b280208410171450d0120004100360200200020083602040c030b200b2008360218200b2001280204220736021c02402009450d00200b2004360250200b200336024c200b4184808080783602482009200b41c8006a200a28020c118b80808000000b20082008280200220941016a36020020094100480d0120002007360204200020083602002000200141086a2201290200370208200041206a200141186a290200370200200041186a200141106a290200370200200041106a200141086a290200370200200820082802002200417f6a36020020004101470d02200b41186a10f0978080000c020b02400240024002400240024020082802002207417e6a2201410420014106491b0e06050005030201050b20082802342201450d04200841346a21070c030b200841046a2107200828020421010c020b2007410171450d0220082802042201450d02200841046a21070c010b2008280204450d0120082802082201450d01200841086a21070b20012001280200220841016a36020020084100480d01200728020421012007280200210802402009450d00200b41f4006a200b41306a290300370200200b41ec006a200b41286a290300370200200b41e4006a200b41186a41086a290300370200200b200b29031837025c200b2004360258200b2003360254200b2001360250200b418080808078360248200b200841086a36024c2009200b41c8006a200a28020c118b80808000000b2000200b2903183700082000200136020420002008360200200041206a200b41186a41186a290300370000200041186a200b41186a41106a290300370000200041106a200b41206a2903003700000c020b41b0b9c7800041ec00419cbac7800010a1818080000b000b200b4180016a2480808080000b920803027f017e027f23808080800041a0016b2208248080808000200841086a41086a200141086a28020022093602002008411c6a200241086a28020036020020082001290200220a370308200820053602282008200436022420082003360220200820022902003702142008200736023020072802042102200728020021012008200636022c200828020c2107024002400240024002400240024002400240200aa7410171450d0020094120470d07200628020c2109200841386a41186a2206200741186a290000370300200841386a41106a220b200741106a290000370300200841386a41086a220c200741086a29000037030020082007290000370338200841dc006a2005200841386a200841146a200911838080800000200828025c2205418080808078460d01200828026421092008280260210702402001450d0020084194016a200841d0006a2903003702002008418c016a200841c8006a29030037020020084184016a200841c0006a2903003702002008200829033837027c2008200436027820082003360274200820093602702008200736026c20084180808080783602682001200841e8006a200228020c118b80808000000b4100210120094100480d0320090d02410121010c050b02402001450d00200820043602702008200336026c20084184808080783602682001200841e8006a200228020c118b80808000000b4100210102400240024020094100480d00024020090d00410121010c030b41002d008083d480001a200941002802f482d480001182808080000022010d01410121010b2001200941f49ac6800010b980808000000b2001417e6a41003b00000b20012007200910f49780800021072000200936020820002007360204200020093602000c050b200841e8006a41186a2006290300370300200841e8006a41106a200b290300370300200841e8006a41086a200c2903003703002008200829033837036841002d008083d480001a413041002802f482d48000118280808000002209450d062009200941036a417c7120096b22076a2209418580808078360200200920082903683702042009417e6a20073b00002009410c6a200841f0006a290300370200200941146a200841f8006a2903003702002009411c6a20084180016a2903003702002000418080808078360200200020093602040c040b41002d008083d480001a200941002802f482d480001182808080000022010d01410121010b2001200941f49ac6800010b980808000000b2001417e6a41003b00000b20012007200910f49780800021012000200936020820002001360204200020093602002005450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200841a0016a2480808080000f0b4120200941fcb8c78000108681808000000b4104413010ab80808000000b0c0020002001108d8d8080000bfe0801087f23808080800041f0066b2202248080808000200128020421032001280200280200220428020421052004280200210620012802082207280208200128020c2802006a2208410176210420072802042109200728020021070240024002400240024020084101710d00200420094b0d02200241003a00a0052002200436029c0520022007360298050c010b200420094b0d02200420094f0d03200241013a00a00520022007360298052002200436029c052002200720046a2d000041f001713a00a1050b200241b0036a2006200320024198056a200528020c1183808080000002400240024002400240024020022802b0032204418080808078460d0020024198056a20022802b403220720022802b803220910e68980800020024190056a220120024198056a410c6a2902003703002002200229029c053703880520022802980522084107470d01200241d8016a410c6a200129030037020020022002290388053702dc010c020b20024198056a41086a2204200341086a29000037030020024198056a41106a2207200341106a29000037030020024198056a41186a2209200341186a29000037030020022003290000370398052001280210280200210341002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22086a220141858080807841848080807820031b36020020012002290398053702042001417e6a20083b00002001410c6a2004290300370200200141146a20072903003702002001411c6a200929030037020020004108360200200020013602040c040b4104413010ab80808000000b200241b0036a41146a20024198056a41146a41c40110f4978080001a200241b0036a410c6a2001290300370200200220083602b00320022002290388053702b403200241d8016a200241b0036a2007200910df9780800020022802d8014107470d010b20024198056a41086a2209200241e4016a29020037030020024198056a41186a2208200341086a29000037030020024198056a41206a2205200341106a29000037030020024198056a41286a2206200341186a290000370300200220022902dc0137039805200220032900003703a80541002d008083d480001a413041002802f482d48000118280808000002201450d022001200141036a417c7120016b22036a22012002290398053702002001417e6a20033b0000200141086a2009290300370200200141106a20024198056a41106a290300370200200141186a2008290300370200200141206a2005290300370200200141286a200629030037020020004108360200200020013602042004450d0120072007417e6a2f00006b41002802ec82d48000118180808000000c010b20002002200241d8016a41d80110f49780800010a78d8080002004450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200241f0066a2480808080000f0b4104413010ab80808000000b2004200941fce4cd8000109181808000000b20042009418ce5cd8000109181808000000b20042009419ce5cd8000108281808000000bc70401067f23808080800041206b22022480808080002001280204210320012802002204280200210520042802042104200241106a41086a2001280208220141086a28020036020020022001290200370310200241046a20052003200241106a200428020c118380808000000240024002400240024020022802042206418080808078460d00200228020c220141f5ffffff074f0d022002280208210541002d008083d480001a2001410b6a41fcffffff0771220741002802f482d48000118280808000002204450d032004200441036a417c7120046b22076a22044281808080103702002004417e6a20073b0000200441086a2005200110f4978080001a02402006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b2000200136020820002004360204200041073602002000200329000037000c200041246a200341186a2900003700002000411c6a200341106a290000370000200041146a200341086a2900003700000c010b41002d008083d480001a413041002802f482d48000118280808000002201450d032001200141036a417c7120016b22046a22014185808080783602002001417e6a20043b0000200120032900003700042001410c6a200341086a290000370000200141146a200341106a2900003700002001411c6a200341186a29000037000020004108360200200020013602040b200241206a2480808080000f0b419c80c08000412b200241106a418c80c0800041b482c0800010a981808000000b4104200710ab80808000000b4104413010ab80808000000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b37000240200028020041034b0d002000280204450d00200028020822002000417e6a2f00006b41002802ec82d48000118180808000000b0be30303077f017e057f0240200128021422072005417f6a22086a220920034f0d0020052001280210220a6b210b200128021c210c2001280208210d2001290300210e0340024002400240200e200220096a3100008842018350450d002001200720056a22073602144100210920060d020c010b200d200c200d200c200d4b1b20061b220f2005200f20054b1b2110200220076a2111200f21090240024002400340024020102009470d004100200c20061b2112200d21090340024020122009490d002001200720056a2209360214024020060d002001410036021c0b2000200936020820002007360204200041013602000f0b2009417f6a220920054f0d05200920076a221320034f0d03200420096a2d0000200220136a2d0000460d000b20012007200a6a2207360214200b21092006450d050c060b200720096a20034f0d02201120096a2113200420096a2112200941016a210920122d000020132d0000460d000b2007200d6b20096a210720060d04410021090c030b2013200341a0abc78000108281808000000b2003200f20076a2209200320094b1b200341b0abc78000108281808000000b200920054190abc78000108281808000000b2001200936021c2009210c0b200720086a22092003490d000b0b20012003360214200041003602000b1e00200128020041fc88c780004105200128020428020c118080808000000b140020002802042000280208200110bc818080000bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110a386808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110a386808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000b800403027f017e027f23808080800041e0006b2201248080808000024002400240024020002802000d002000280204200028020c4105746a21000c010b200141086a41106a200041106a2202280200360200200141086a41086a200041086a290200220337030020012000290200370308200141386a4200370300200141206a41106a4200370300200141206a41086a420037030020014200370320024002402003a7450d00200141d0006a41086a200228020036020020012000290208370350200141c4006a200141d0006a200128020c200141206a200141086a2001411c6a10bc83808000200128024c210420012802442100200128020821020c010b41002d008083d480001a2001280208210241940341002802f482d48000118280808000002200450d022000200041036a417c7120006b22046a220041003b019203200041003602e0022000417e6a20043b0000200241003602042002200036020020002f0192032204410b4f0d032000200441016a3b019203200020044102746a200128020c3602e402200020044105746a220541186a4200370000200541106a4200370000200541086a4200370000200542003700000b2002200228020841016a360208200020044105746a21000b200141e0006a24808080800020000f0b410441940310ab80808000000b41c086c38000412041e086c38000108081808000000b980403027f017e037f23808080800041b0026b220124808080800002400240024002402000280200418080808078470d002000280204200028020c41e0016c6a21000c010b200141086a41186a200041186a2202280200360200200141086a41106a200041106a2902002203370300200141086a41086a200041086a22042902003703002001200029020037030820014100360224024002402003a7450d0020014190026a41086a20022802003602002001200029021037039002200141a0026a41086a2004280200360200200120002902003703a00220014184026a20014190026a200141a0026a200141246a200141146a200141246a10b683808000200128028c0221052001280284022102200128021421040c010b41002d008083d480001a2001280214210441ac1441002802f482d48000118280808000002202450d022002200241036a417c7120026b22056a220241003b01aa14200241003602a0132002417e6a20053b0000200441003602042004200236020020022f01aa142205410b4f0d032002200541016a3b01aa1420022005410c6c6a220620002902003702a413200641ac136a200041086a2802003602002002200541e0016c6a200141246a41e00110f4978080001a0b2004200428020841016a3602082002200541e0016c6a21000b200141b0026a24808080800020000f0b410441ac1410ab80808000000b41c086c38000412041e086c38000108081808000000b9b0401027f23808080800041d0016b2203248080808000024002402000280200418080808078470d002000280204200028020c41e0006c6a21000c010b200341186a200041186a280200360200200341106a200041106a290200370300200341086a200041086a29020037030020032000290200370300410021042003410036028801200341003602800120032001280214200128020c2200200041054b1b36028c01200341003602900120034190016a20034180016a10d089808000200341e4006a200341c8016a290200370200200341dc006a200341c0016a290200370200200341d4006a200341b8016a290200370200200341cc006a200341b0016a290200370200200341c4006a20034190016a41186a2902003702002003413c6a20034190016a41106a290200370200200341346a20034190016a41086a290200370200200320032902900137022c200128024c2100200320012d00503a00702003200036026c2003410036022820034100360220024002400240200228020822004100480d0020022802042102024020000d00410121010c030b41002d008083d480001a200041002802f482d480001182808080000022010d01410121040b2004200041a8b2c8800010b980808000000b2001417e6a41003b00000b20012002200010f49780800021012003200036027c20032001360278200320003602742003200341206a10998d80800021000b200341d0016a24808080800020000b950301057f23808080800041306b220224808080800002400240024002402000280210450d00200241106a41086a200041106a220341086a28020036020020022003290200370310200241206a41086a200041086a28020036020020022000290200370320200241046a200241106a200241206a20012000410c6a2000411c6a10c083808000200028020c2104200228020c2105200228020421030c010b200028020c210441002d008083d480001a41ac0941002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a220341003b01aa09200341003602a0082003417e6a20053b0000200441003602042004200336020020032f01aa092205410b4f0d022003200541016a3b01aa0920032005410c6c6a220641ac086a200041086a280200360200200620002902003702a4082003200541e0006c6a200141e00010f4978080001a0b2004200428020841016a360208200241306a2480808080002003200541e0006c6a0f0b410441ac0910ab80808000000b41c086c38000412041e086c38000108081808000000bdd0201047f23808080800041f0006b220124808080800002400240024002402000280200450d00200141106a41086a200041086a28020036020020012000290200370310200141206a200041106a41d00010f4978080001a200141046a200141106a200141206a2000410c6a200041e0006a10ba83808000200028020c2102200128020421030c010b200028020c210241002d008083d480001a41f80641002802f482d48000118280808000002203450d012003200341036a417c7120036b22046a220341003b01f606200341003602f0062003417e6a20043b0000200241003602042002200336020020032f01f6062204410b4f0d022003200441016a3b01f6062003200441d0006c6a200041106a41d00010f4978080001a0b2002200228020841016a360208200141f0006a248080808000200341f8066a0f0b410441f80610ab80808000000b41c086c38000412041e086c38000108081808000000b970301047f23808080800041c0006b22012480808080000240024002400240200028021c450d00200141186a41086a2000411c6a220241086a28020036020020012002290200370318200141286a41106a200041106a290200370300200141286a41086a200041086a290200370300200120002902003703282001410c6a200141186a200141286a200041186a200041286a10c28380800020002802182103200128020c21020c010b2000280218210341002d008083d480001a41900241002802f482d48000118280808000002202450d012002200241036a417c7120026b22046a220241003b018e0220024100360288022002417e6a20043b0000200341003602042003200236020020022f018e022204410b4f0d022002200441016a3b018e022002200441186c6a220441106a200041106a290200370200200441086a200041086a290200370200200420002902003702000b2003200328020841016a360208200141c0006a24808080800020024190026a0f0b410441900210ab80808000000b41c086c38000412041e086c38000108081808000000bf10201047f23808080800041306b220124808080800002400240024002402000280210450d00200141106a41086a200041106a220241086a28020036020020012002290200370310200141206a41086a200041086a28020036020020012000290200370320200141046a200141106a200141206a2000410c6a2000411c6a10be83808000200028020c2103200128020421020c010b200028020c210341002d008083d480001a418c0141002802f482d48000118280808000002202450d012002200241036a417c7120026b22046a220241003b018a01200241003602002002417e6a20043b0000200341003602042003200236020020022f018a012204410b4f0d022002200441016a3b018a0120022004410c6c6a2204410c6a200041086a280200360200200420002902003702040b2003200328020841016a360208200141306a2480808080002002418c016a0f0b4104418c0110ab80808000000b41c086c38000412041e086c38000108081808000000bfb0201047f23808080800041306b22022480808080000240024002400240200028020c450d00200241186a41086a2000410c6a220341086a28020036020020022003290200370318200220002902043703282002410c6a200241186a200241286a20012000200041186a10b8838080002000280200210420022802142105200228020c21030c010b2000280200210441002d008083d480001a41e40141002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a220341003b01e201200341003602582003417e6a20053b0000200441003602042004200336020020032f01e2012205410b4f0d022003200541016a3b01e201200320054103746a200029020437000020032005410c6c6a2200200129020037025c200041e4006a200141086a2802003602000b2004200428020841016a360208200241306a24808080800020032005410c6c6a41dc006a0f0b410441e40110ab80808000000b41c086c38000412041e086c38000108081808000000ba10301057f23808080800041306b220224808080800002400240024002402000280210450d00200241106a41086a200041106a220341086a28020036020020022003290200370310200241206a41086a200041086a28020036020020022000290200370320200241046a200241106a200241206a20012000410c6a2000411c6a10b483808000200028020c2104200228020c2105200228020421030c010b200028020c210441002d008083d480001a41bc0241002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a220341003b01ba02200341003602b0012003417e6a20053b0000200441003602042004200336020020032f01ba022205410b4f0d022003200541016a3b01ba0220032005410c6c6a220641bc016a200041086a280200360200200620002902003702b401200320054104746a220041086a200141086a290200370200200020012902003702000b2004200428020841016a360208200241306a248080808000200320054104746a0f0b410441bc0210ab80808000000b41c086c38000412041e086c38000108081808000000beb0401047f23808080800041306b2202248080808000024002400240024002400240024002400240024020002f01000e09000102030405060708000b2001280200418ab0c780004109200128020428020c1180808080000021000c080b20012802004193b0c780004109200128020428020c1180808080000021000c070b2002200041026a36020c4101210020012802002203419cb0c7800041182001280204220428020c2205118080808000000d060240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d082002410c6a200110ab878080000d0820012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0741012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ab878080000d07200228022041da80c280004102200228022428020c118080808000000d070b200341e280c28000410120051180808080000021000c060b200128020041b4b0c78000410f200128020428020c1180808080000021000c050b200128020041c3b0c78000410d200128020428020c1180808080000021000c040b200128020041d0b0c78000410d200128020428020c1180808080000021000c030b200128020041ddb0c78000410b200128020428020c1180808080000021000c020b200128020041e8b0c780004110200128020428020c1180808080000021000c010b200128020041f8b0c780004112200128020428020c1180808080000021000b200241306a24808080800020000bec0201047f23808080800041306b2202248080808000410121030240024020002802004101470d002002200041086a36020c20012802002200418eb1c7800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d032002410c6a200110848e8080000d0320012802002100200128020428020c21050c010b200041e080c2800041022005118080808000000d0241012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10848e8080000d02200228022041da80c280004102200228022428020c118080808000000d020b200041e280c28000410120051180808080000021030c010b2001280200418ab1c780004104200128020428020c1180808080000021030b200241306a24808080800020030b8c0401047f23808080800041306b2202248080808000024002400240024002400240024020002802002203417d6a41002003417c6a4105491b0e06000102030405000b2002200036020c410121002001280200220341d0b0c78000410d2001280204220428020c2205118080808000000d050240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d072002410c6a200110ff8c8080000d0720012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0641012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ff8c8080000d06200228022041da80c280004102200228022428020c118080808000000d060b200341e280c28000410120051180808080000021000c050b200128020041a5b1c78000410d200128020428020c1180808080000021000c040b200128020041b2b1c78000410f200128020428020c1180808080000021000c030b200128020041c1b1c78000410b200128020428020c1180808080000021000c020b200128020041ccb1c780004111200128020428020c1180808080000021000c010b200128020041ddb0c78000410b200128020428020c1180808080000021000b200241306a24808080800020000bef0501027f23808080800041b0016b22042480808080000240024002400240024020002d00000e0401000203010b200441206a41186a200341186a290000370300200441206a41106a200341106a290000370300200441206a41086a200341086a29000037030020042003290000370320200041016a20012002200441206a41002802e481d480001189808080000021050c030b200441206a41186a200341186a290000370300200441206a41106a200341106a290000370300200441206a41086a200341086a29000037030020042003290000370320200041016a20012002200441206a41002802cc81d480001189808080000021050c020b4100210520042001200241002802c480d4800011868080800000200441206a200041016a200441002802d481d480001186808080000020042d00200d01200441c8006a41206a200441206a41216a2d00003a0000200441e0006a200441396a290000370300200441d8006a200441316a290000370300200441d0006a200441296a29000037030020042004290021370348200441f0006a200441c8006a412141002802c480d4800011868080800000200441f0006a2003412010f5978080004521050c010b4100210520042001200241002802cc80d4800011868080800000200441206a200041016a200441002802d481d480001186808080000020042d00200d00200441c8006a41206a200441206a41216a2d00003a0000200441e0006a200441396a290000370300200441c8006a41106a200441316a290000370300200441c8006a41086a200441296a29000037030020042004290021370348200441f0006a200441c8006a412141002802cc80d480001186808080000020044190016a411c6a41eeddbbf77e36020020044190016a41086a20044184016a29000037030020044190016a41106a200441f0006a411c6a280000360200200442eeddbbf7eeddbbf76e3702a4012004200429007c3703900120044190016a2003412010f5978080004521050b200441b0016a24808080800020050bbd0501047f23808080800041c0006b220324808080800041002d008083d480001a41002802f482d4800021040240024002400240200241ffff00712205413f4b0d0041012106410120041182808080000022040d014101410110ab80808000000b4102210641022004118280808000002204450d012004417e6a41003b0000200420024106742005410876723a00012004200241fc017141027641c000723a00000c020b200420023a00002004417e6a41003b00000c010b4101410210ab80808000000b200320063602182003200436021420032006360210200341106a200641204101410110a38680800020032802142204200328021822026a22062001290000370000200641086a200141086a290000370000200641106a200141106a290000370000200641186a200141186a2900003700002003200241206a22013602182003411c6a2004200110b193808000024002402003280224220641014d0d002003280220210602402003280210220520016b41014b0d00200341106a200141024101410110a3868080002003280210210520032802142104200328021821010b200420016a20062f00003b00002003200141026a22023602182003410036023020034280808080103702282003200236023c200320043602382003200341286a360234200341086a200341346a200141036a41017620026a200341386a41f4b4c7800010928b8080002003280208210102402005450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20014101710d0120002003290228370200200041086a200341286a41086a2802003602000240200328021c450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200341c0006a2480808080000f0b4102200641e4b4c78000109181808000000b41b4e3c68000412b200341386a41a4e3c6800041e0e3c6800010a981808000000bac0802097f027e23808080800041f0006b2202248080808000200241286a200110ab8a808000200228022c21030240024020022802282204418080808078470d00200041013a0000200020033602040c010b20022802302101200241f4b4c780003602502002200136024c20022003360248410021052002410036026020024280808080103702582002200241d8006a36026c200241e4006a200241ec006a2001200241c8006a41f4b4c7800010998f80800002400240024002402002280264418380c400460d0002402002280258450d00200228025c22012001417e6a2f00006b41002802ec82d48000118180808000000b410021050c010b20022802582206418080808078460d00200228025c2101410121050240200228026022074102490d000240024020012d0000220841c000490d0002402008411874411875417f4a0d00410421050c030b4102210920012d0001220a413f714108742008410274200a4106767241ff01717221080c010b410121090b2007200941226a470d000240200841feff0071412e470d00410721050c010b200241d8006a20012009412072220510b19380800002402002280260220741014d0d0002400240200120056a2f0000200228025c22052f0000470d00200241306a200120096a2209410d6a290000370300200241386a200941156a2900003703002002413f6a2009411c6a2800003600002002200929000537032820092f0003210720092f0001210a20092d0000210902402002280258450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b02402006450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200810d88c808000450d01200841002f019480d48000460d01410221050c050b02402002280258450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b410321050c020b200241086a41176a2201200241286a41176a280000360000200241086a41106a2208200241286a41106a290300370300200241086a41086a200241286a41086a290300220b37030020022002290328220c3703082000411d6a2001280000360000200041166a20082903003701002000410e6a200b3701002000200c370106200020073b01042000200a3b0102200020093a0001410021010c040b4102200741b0b6c78000109181808000000b2006450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b200220083b0166200220053b0164410121012002410136022c200241d0b2c7800036022820024201370234200241dc83808000ad422086200241e4006aad843703482002200241c8006a360230200241d8006a200241286a10b2808080002000200241d8006a10948b8080003602040b200020013a00002004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241f0006a2480808080000b8b0201037f23808080800041106b22022480808080002002200041186a360204200128020041f8b2c780004110200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a4188b3c78000410d200041d8b2c78000108a818080004195b3c780004108200241046a41e8b2c78000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bf60801067f2380808080004180066b2202248080808000024002400240024002400240024020012802004101470d00200241a8046a200128020422032001280208220410e689808000200241a0046a2201200241a8046a410c6a290200370300200220022902ac043703980420022802a80422054107470d01200241086a410c6a2001290300370200200220022903980437020c0c020b200128020421030240200128020822044120470d00200041003a0000200020032f00003b00012000200329000737000820002003280003360204200041036a200341026a2d00003a0000200041106a2003410f6a290000370000200041186a200341176a290000370000200041206a2003411f6a2d00003a00000c060b4100210102400240024020044100480d00024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441b0bfc7800010b980808000000b2001417e6a41003b00000b20012003200410f497808000210341002d008083d480001a413041002802f482d48000118280808000002201450d04200041023a00002001200141036a417c7120016b22056a220142003702102001200436020c20012003360208200120043602042001418880808078360200200020013602042001417e6a20053b0000200141186a4200370200200141206a4200370200200141286a42003702000c050b200241c0026a41146a200241a8046a41146a41c40110f4978080001a200241c0026a410c6a2001290300370200200220053602c00220022002290398043702c402200241086a200241c0026a2003200410df9780800020022802084107470d010b200241a8046a41186a22034200370300200241a8046a41206a22044200370300200241a8046a41286a22054200370300200241a8046a41086a2206200241146a2902003703002002200229020c3703a804200242003703b80441002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b22076a220120022903a8043702002001417e6a20073b0000200141086a2006290300370200200141106a200241a8046a41106a290300370200200141186a2003290300370200200141206a2004290300370200200141286a2005290300370200200041023a0000200020013602040c030b200241a8046a200241086a41d80110f4978080001a200241c0026a200241a8046a10a78d80800020022802c4022103024020022802c00222044108470d00200041023a0000200020033602040c030b200241e0016a200241c0026a41086a41e00010f4978080001a41002d008083d480001a024041e80041002802f482d48000118280808000002201450d002001200141036a417c7120016b22056a22012003360204200120043602002001417e6a20053b0000200141086a200241e0016a41e00010f4978080001a20002001360204200041013a00000c030b410441e80010ab80808000000b4104413010ab80808000000b4104413010ab80808000000b20024180066a2480808080000b8d2001077f23808080800041f0016b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802002203417d6a2204410420044104491b0e050300040102030b200241e8006a200141106a10ee978080000240024020012802044101470d00200128020c22044120470d0c200241146a2001280208220141086a2900003702002002411c6a200141106a290000370200200241246a200141186a290000370200200241003602082002200129000037020c0c010b200128020c2204417f4c0d0c200441f5ffffff074f0d0d2001280208210341002d008083d480001a2004410b6a41fcffffff0771220541002802f482d48000118280808000002201450d0e2001200141036a417c7120016b22056a22014281808080103702002001417e6a20053b0000200141086a2003200410f4978080001a200241086a41086a2003200441002802c480d48000118680808000002002200436020c200220013602080b200020022902683702042000412c6a20024190016a290200370200200041246a200241e8006a41206a2902003702002000411c6a200241e8006a41186a290200370200200041146a200241e8006a41106a2902003702002000410c6a200241e8006a41086a29020037020020004103360200200020022902083702342000413c6a200241086a41086a290200370200200041c4006a200241086a41106a290200370200200041cc006a200241086a41186a290200370200200041d4006a200241086a41206a2902003702000c1b0b200141c4016a2105200141046a2106024020012802b8014102460d0041102103410f21040c050b024020012802ac014102460d00410f2103410e21040c050b024020012802a0014102460d00410e2103410d21040c050b02402001280294014102460d00410d2103410c21040c050b02402001280288014102460d00410c2103410b21040c050b0240200128027c4102460d00410b2103410a21040c050b024020012802704102460d00410a2103410921040c050b024020012802644102460d0041092103410821040c050b024020012802584102460d0041082103410721040c050b0240200128024c4102460d0041072103410621040c050b024020012802404102460d0041062103410521040c050b024020012802344102460d0041052103410421040c050b41022104024020012802284102460d0041042103410321040c050b0240200128021c4102460d00410321030c050b41022103024020012802104102460d00410121040c050b410421074100210420062802004102470d03410021060c050b024020012802b4014102460d0041102105410f21040c070b024020012802a8014102460d00410f2105410e21040c070b0240200128029c014102460d00410e2105410d21040c070b02402001280290014102460d00410d2105410c21040c070b02402001280284014102460d00410c2105410b21040c070b024020012802784102460d00410b2105410a21040c070b0240200128026c4102460d00410a2105410921040c070b024020012802604102460d0041092105410821040c070b024020012802544102460d0041082105410721040c070b024020012802484102460d0041072105410621040c070b0240200128023c4102460d0041062105410521040c070b024020012802304102460d0041052105410421040c070b41022104024020012802244102460d0041042105410321040c070b024020012802184102460d00410321050c070b410221050240200128020c4102460d00410121040c070b410421054100210420034102470d05410021060c070b200041023602000c180b200241e8006a200141106a10ee97808000200241306a200141046a10a68d80800020022d003022014102460d16200020022f00313b00052000200229023837020c200041076a20022d00333a0000200041146a200241306a41106a2902003702002000411c6a200241306a41186a290200370200200041246a200241306a41206a28020036020020022802342104200041d0006a20024190016a290200370200200041c8006a200241e8006a41206a290200370200200041c0006a200241e8006a41186a290200370200200041386a200241e8006a41106a290200370200200041306a200241f0006a2902003702002000200229026837022820002004360208200020013a0004200041043602000c170b410121030b2002200436025441002d008083d480001a200341246c220741002802f482d48000118280808000002204450d082004200441036a417c71220720046b22086a417e6a20083b000020024100360264200220073602602002200336025c200241003602e8012002410036023820022005360234200220063602302002200241e8016a3602442002200241dc006a3602402002200241d4006a36023c0240200241306a200241ef016a200241e8016a10ac8b80800041fd01714101470d00200241e8006a41106a200241306a41106a290200370300200241e8006a41086a200241306a41086a29020037030020022002290230370368200241e8006a200241ef016a200228027c10ac8b80800041fd01714101470d00417f210403402004417f6a2204450d0b200241e8006a200241ef016a200228027c10ac8b80800041fd01710d000b0b024020022802e8012204450d002000410836020020002004360204024020022802642201450d002002280260210003400240024020002d00000e03010001000b200041046a2802002204108e8f80800020042004417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002001417f6a22010d000b0b200228025c450d16200228026022002000417e6a2f00006b41002802ec82d48000118180808000000c160b2002280264210420022802602107200228025c21060b410021030240200528020022054102460d00024002402005410171450d0020012802cc0122034120470d0c200241a4016a20012802c801220141086a290000370200200241ac016a200141106a290000370200200241b4016a200141186a29000037020020024100360298012002200129000037029c010c010b20012802cc012203417f4c0d0c200341f5ffffff074f0d0d20012802c801210541002d008083d480001a2003410b6a41fcffffff0771220841002802f482d48000118280808000002201450d0e2001200141036a417c7120016b22086a22014281808080103702002001417e6a20083b0000200141086a2005200310f4978080001a20024198016a41086a2005200341002802c480d48000118680808000002002200336029c0120022001360298010b410121030b20002003360204200041053602002000200229029801370208200020043602382000200736023420002006360230200041106a200241a0016a290200370200200041186a20024198016a41106a290200370200200041206a20024198016a41186a290200370200200041286a20024198016a41206a2902003702000c140b410121050b2002200436025841002d008083d480001a200541246c220341002802f482d48000118280808000002204450d0b2004200441036a417c71220320046b22066a417e6a20063b000020024100360264200220033602602002200536025c200241003602e801200241003602382002200141c0016a360234200220013602302002200241e8016a3602442002200241dc006a3602402002200241d8006a36023c0240200241306a200241ef016a200241e8016a10aa8b80800041fd01714101470d00200241e8006a41106a200241306a41106a290200370300200241e8006a41086a200241306a41086a29020037030020022002290230370368200241e8006a200241ef016a200228027c10aa8b80800041fd01714101470d00417f210403402004417f6a2204450d0e200241e8006a200241ef016a200228027c10aa8b80800041fd01710d000b0b024020022802e8012204450d002000410836020020002004360204024020022802642201450d002002280260210003400240024020002d00000e03010001000b200041046a2802002204108e8f80800020042004417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002001417f6a22010d000b0b200228025c450d13200228026022002000417e6a2f00006b41002802ec82d48000118180808000000c130b2002280264210620022802602105200228025c21040b200241e8006a200141cc016a10ee9780800041002103024020012802c00122074102460d00024002402007410171450d0020012802c80122034120470d0f200241cc016a20012802c401220141086a290000370200200241d4016a200141106a290000370200200241dc016a200141186a290000370200200241003602c001200220012900003702c4010c010b20012802c8012203417f4c0d0f200341f5ffffff074f0d1020012802c401210741002d008083d480001a2003410b6a41fcffffff0771220841002802f482d48000118280808000002201450d112001200141036a417c7120016b22086a22014281808080103702002001417e6a20083b0000200141086a2007200310f4978080001a200241c0016a41086a2007200341002802c480d4800011868080800000200220033602c401200220013602c0010b410121030b20002002290268370238200041e0006a20024190016a290200370200200041d8006a200241e8006a41206a290200370200200041d0006a200241e8006a41186a290200370200200041c8006a200241e8006a41106a290200370200200041c0006a200241e8006a41086a29020037020020002003360200200020022902c0013702042000410c6a200241c0016a41086a290200370200200041146a200241c0016a41106a2902003702002000411c6a200241c0016a41186a290200370200200041246a200241c0016a41206a29020037020020002006360234200020053602302000200436022c0c110b41202004418cb8c78000108681808000000b41f8e9cd8000412b200241ef016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ef016a418c80c0800041b482c0800010a981808000000b4104200510ab80808000000b4104200741ecb7c7800010b980808000000b41fcdac4800010b780808000000b41202003418cb8c78000108681808000000b41f8e9cd8000412b200241ef016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ef016a418c80c0800041b482c0800010a981808000000b4104200810ab80808000000b4104200341fcb7c7800010b980808000000b41fcdac4800010b780808000000b41202003418cb8c78000108681808000000b41f8e9cd8000412b200241ef016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ef016a418c80c0800041b482c0800010a981808000000b4104200810ab80808000000b2002280234210120004108360200200020013602042002280290014129490d00200228026822002000417e6a2f00006b41002802ec82d48000118180808000000b200241f0016a2480808080000bf60801067f2380808080004180066b2202248080808000024002400240024002400240024020012802004101470d00200241a8046a200128020422032001280208220410e689808000200241a0046a2201200241a8046a410c6a290200370300200220022902ac043703980420022802a80422054107470d01200241086a410c6a2001290300370200200220022903980437020c0c020b200128020421030240200128020822044120470d00200041003a0000200020032f00003b00012000200329000737000820002003280003360204200041036a200341026a2d00003a0000200041106a2003410f6a290000370000200041186a200341176a290000370000200041206a2003411f6a2d00003a00000c060b4100210102400240024020044100480d00024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121010b2001200441b0bfc7800010b980808000000b2001417e6a41003b00000b20012003200410f497808000210341002d008083d480001a413041002802f482d48000118280808000002201450d04200041023a00002001200141036a417c7120016b22056a220142003702102001200436020c20012003360208200120043602042001418880808078360200200020013602042001417e6a20053b0000200141186a4200370200200141206a4200370200200141286a42003702000c050b200241c0026a41146a200241a8046a41146a41c40110f4978080001a200241c0026a410c6a2001290300370200200220053602c00220022002290398043702c402200241086a200241c0026a2003200410df9780800020022802084107470d010b200241a8046a41186a22034200370300200241a8046a41206a22044200370300200241a8046a41286a22054200370300200241a8046a41086a2206200241146a2902003703002002200229020c3703a804200242003703b80441002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b22076a220120022903a8043702002001417e6a20073b0000200141086a2006290300370200200141106a200241a8046a41106a290300370200200141186a2003290300370200200141206a2004290300370200200141286a2005290300370200200041023a0000200020013602040c030b200241a8046a200241086a41d80110f4978080001a200241c0026a200241a8046a10a98d80800020022802c4022103024020022802c00222044108470d00200041023a0000200020033602040c030b200241e0016a200241c0026a41086a41e00010f4978080001a41002d008083d480001a024041e80041002802f482d48000118280808000002201450d002001200141036a417c7120016b22056a22012003360204200120043602002001417e6a20053b0000200141086a200241e0016a41e00010f4978080001a20002001360204200041013a00000c030b410441e80010ab80808000000b4104413010ab80808000000b4104413010ab80808000000b20024180066a2480808080000b8d2001077f23808080800041f0016b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802002203417d6a2204410420044104491b0e050300040102030b200241e8006a200141106a10ee978080000240024020012802044101470d00200128020c22044120470d0c200241146a2001280208220141086a2900003702002002411c6a200141106a290000370200200241246a200141186a290000370200200241003602082002200129000037020c0c010b200128020c2204417f4c0d0c200441f5ffffff074f0d0d2001280208210341002d008083d480001a2004410b6a41fcffffff0771220541002802f482d48000118280808000002201450d0e2001200141036a417c7120016b22056a22014281808080103702002001417e6a20053b0000200141086a2003200410f4978080001a200241086a41086a2003200441002802c480d48000118680808000002002200436020c200220013602080b200020022902683702042000412c6a20024190016a290200370200200041246a200241e8006a41206a2902003702002000411c6a200241e8006a41186a290200370200200041146a200241e8006a41106a2902003702002000410c6a200241e8006a41086a29020037020020004103360200200020022902083702342000413c6a200241086a41086a290200370200200041c4006a200241086a41106a290200370200200041cc006a200241086a41186a290200370200200041d4006a200241086a41206a2902003702000c1b0b200141c4016a2105200141046a2106024020012802b8014102460d0041102103410f21040c050b024020012802ac014102460d00410f2103410e21040c050b024020012802a0014102460d00410e2103410d21040c050b02402001280294014102460d00410d2103410c21040c050b02402001280288014102460d00410c2103410b21040c050b0240200128027c4102460d00410b2103410a21040c050b024020012802704102460d00410a2103410921040c050b024020012802644102460d0041092103410821040c050b024020012802584102460d0041082103410721040c050b0240200128024c4102460d0041072103410621040c050b024020012802404102460d0041062103410521040c050b024020012802344102460d0041052103410421040c050b41022104024020012802284102460d0041042103410321040c050b0240200128021c4102460d00410321030c050b41022103024020012802104102460d00410121040c050b410421074100210420062802004102470d03410021060c050b024020012802b4014102460d0041102105410f21040c070b024020012802a8014102460d00410f2105410e21040c070b0240200128029c014102460d00410e2105410d21040c070b02402001280290014102460d00410d2105410c21040c070b02402001280284014102460d00410c2105410b21040c070b024020012802784102460d00410b2105410a21040c070b0240200128026c4102460d00410a2105410921040c070b024020012802604102460d0041092105410821040c070b024020012802544102460d0041082105410721040c070b024020012802484102460d0041072105410621040c070b0240200128023c4102460d0041062105410521040c070b024020012802304102460d0041052105410421040c070b41022104024020012802244102460d0041042105410321040c070b024020012802184102460d00410321050c070b410221050240200128020c4102460d00410121040c070b410421054100210420034102470d05410021060c070b200041023602000c180b200241e8006a200141106a10ee97808000200241306a200141046a10a88d80800020022d003022014102460d16200020022f00313b00052000200229023837020c200041076a20022d00333a0000200041146a200241306a41106a2902003702002000411c6a200241306a41186a290200370200200041246a200241306a41206a28020036020020022802342104200041d0006a20024190016a290200370200200041c8006a200241e8006a41206a290200370200200041c0006a200241e8006a41186a290200370200200041386a200241e8006a41106a290200370200200041306a200241f0006a2902003702002000200229026837022820002004360208200020013a0004200041043602000c170b410121030b2002200436025441002d008083d480001a200341246c220741002802f482d48000118280808000002204450d082004200441036a417c71220720046b22086a417e6a20083b000020024100360264200220073602602002200336025c200241003602e8012002410036023820022005360234200220063602302002200241e8016a3602442002200241dc006a3602402002200241d4006a36023c0240200241306a200241ef016a200241e8016a10ad8b80800041fd01714101470d00200241e8006a41106a200241306a41106a290200370300200241e8006a41086a200241306a41086a29020037030020022002290230370368200241e8006a200241ef016a200228027c10ad8b80800041fd01714101470d00417f210403402004417f6a2204450d0b200241e8006a200241ef016a200228027c10ad8b80800041fd01710d000b0b024020022802e8012204450d002000410836020020002004360204024020022802642201450d002002280260210003400240024020002d00000e03010001000b200041046a2802002204108e8f80800020042004417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002001417f6a22010d000b0b200228025c450d16200228026022002000417e6a2f00006b41002802ec82d48000118180808000000c160b2002280264210420022802602107200228025c21060b410021030240200528020022054102460d00024002402005410171450d0020012802cc0122034120470d0c200241a4016a20012802c801220141086a290000370200200241ac016a200141106a290000370200200241b4016a200141186a29000037020020024100360298012002200129000037029c010c010b20012802cc012203417f4c0d0c200341f5ffffff074f0d0d20012802c801210541002d008083d480001a2003410b6a41fcffffff0771220841002802f482d48000118280808000002201450d0e2001200141036a417c7120016b22086a22014281808080103702002001417e6a20083b0000200141086a2005200310f4978080001a20024198016a41086a2005200341002802c480d48000118680808000002002200336029c0120022001360298010b410121030b20002003360204200041053602002000200229029801370208200020043602382000200736023420002006360230200041106a200241a0016a290200370200200041186a20024198016a41106a290200370200200041206a20024198016a41186a290200370200200041286a20024198016a41206a2902003702000c140b410121050b2002200436025841002d008083d480001a200541246c220341002802f482d48000118280808000002204450d0b2004200441036a417c71220320046b22066a417e6a20063b000020024100360264200220033602602002200536025c200241003602e801200241003602382002200141c0016a360234200220013602302002200241e8016a3602442002200241dc006a3602402002200241d8006a36023c0240200241306a200241ef016a200241e8016a10ae8b80800041fd01714101470d00200241e8006a41106a200241306a41106a290200370300200241e8006a41086a200241306a41086a29020037030020022002290230370368200241e8006a200241ef016a200228027c10ae8b80800041fd01714101470d00417f210403402004417f6a2204450d0e200241e8006a200241ef016a200228027c10ae8b80800041fd01710d000b0b024020022802e8012204450d002000410836020020002004360204024020022802642201450d002002280260210003400240024020002d00000e03010001000b200041046a2802002204108e8f80800020042004417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002001417f6a22010d000b0b200228025c450d13200228026022002000417e6a2f00006b41002802ec82d48000118180808000000c130b2002280264210620022802602105200228025c21040b200241e8006a200141cc016a10ee9780800041002103024020012802c00122074102460d00024002402007410171450d0020012802c80122034120470d0f200241cc016a20012802c401220141086a290000370200200241d4016a200141106a290000370200200241dc016a200141186a290000370200200241003602c001200220012900003702c4010c010b20012802c8012203417f4c0d0f200341f5ffffff074f0d1020012802c401210741002d008083d480001a2003410b6a41fcffffff0771220841002802f482d48000118280808000002201450d112001200141036a417c7120016b22086a22014281808080103702002001417e6a20083b0000200141086a2007200310f4978080001a200241c0016a41086a2007200341002802c480d4800011868080800000200220033602c401200220013602c0010b410121030b20002002290268370238200041e0006a20024190016a290200370200200041d8006a200241e8006a41206a290200370200200041d0006a200241e8006a41186a290200370200200041c8006a200241e8006a41106a290200370200200041c0006a200241e8006a41086a29020037020020002003360200200020022902c0013702042000410c6a200241c0016a41086a290200370200200041146a200241c0016a41106a2902003702002000411c6a200241c0016a41186a290200370200200041246a200241c0016a41206a29020037020020002006360234200020053602302000200436022c0c110b41202004418cb8c78000108681808000000b41f8e9cd8000412b200241ef016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ef016a418c80c0800041b482c0800010a981808000000b4104200510ab80808000000b4104200741ecb7c7800010b980808000000b41fcdac4800010b780808000000b41202003418cb8c78000108681808000000b41f8e9cd8000412b200241ef016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ef016a418c80c0800041b482c0800010a981808000000b4104200810ab80808000000b4104200341fcb7c7800010b980808000000b41fcdac4800010b780808000000b41202003418cb8c78000108681808000000b41f8e9cd8000412b200241ef016a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b200241ef016a418c80c0800041b482c0800010a981808000000b4104200810ab80808000000b2002280234210120004108360200200020013602042002280290014129490d00200228026822002000417e6a2f00006b41002802ec82d48000118180808000000b200241f0016a2480808080000be90501047f23808080800041d0006b22022480808080000240024002400240024002400240024020012802002203417e6a2204410420044106491b0e06000102040503000b41002d008083d480001a410141002802f482d48000118280808000002201450d05200141003a00002000410136020820002001360204200041013602002001417e6a41003b00000c060b20024280808080c0003702202002200128023022034101713a002c200241043602282002200141046a36021c200220012802384120200128023422041b36021020022004453602082002200441086a200141386a20041b36020c20002002411c6a2003200241086a10a18a8080000c050b200128025421042002411c6a200141046a10ab8d8080002000200241086a20042002411c6a109e8a808000000b41002103024002400240200128020822044100480d0020012802042103024020040d00410121010c030b41002d008083d480001a200441002802f482d480001182808080000022010d01410121030b2003200441b0bfc7800010b980808000000b2001417e6a41003b00000b2001200341086a200410f49780800021012000200436020820002001360204200020043602000c030b4102210402402001280204450d002002200128020c4120200128020822041b3602102002200441086a2001410c6a20041b36020c20044521040b2002200436020820002002411c6a200241086a109c8a808000000b2002410436022820024280808080c0003702202002200141386a36021c2002200128026422054101713a002c200241103602142002419cb7c7800036021020022001280230220436020820022004200128023441246c6a36020c4102210402402003410171450d00200220012802084120200128020422041b36024c20022004200120041b41086a36024820044521040b2002200436024420002002411c6a2005200241086a200241c4006a10a08a8080000c010b4101410141b0bfc7800010b980808000000b200241d0006a2480808080000bcf0201057f23808080800041306b220224808080800002400240024020012d00004101470d00200241046a200128020410aa8d808000200241106a41186a22034200370300200241106a41106a22044200370300200241186a2205420037030020024200370310200228020c22014120490d0141c0b7c78000411a41dcb7c78000108081808000000b200041003a000020002001290001370001200041196a200141196a290000370000200041116a200141116a290000370000200041096a200141096a2900003700000c010b200241106a20022802082206200110f4978080001a20002001360204200041013a0000200041206a2003290300370000200041186a2004290300370000200041106a2005290300370000200020022903103700082002280204450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000bde4207037f017e0c7f017e017f017e177f23808080800041a0076b22052480808080002001280228210620014100360228024002400240024002400240024002400240024002402006450d00200128022c2107200541f0036a41306a200141306a2902002208370300200541f0036a41286a200141286a290200370300200541f0036a41206a200141206a290200370300200541f0036a41186a200141186a290200370300200541f0036a41106a200141106a290200370300200541f0036a41086a200141086a290200370300200520012902003703f003024002402008a72209450d0020092002200320052802a4042802101180808080000041ff01714102460d010b200620022003200728020c1180808080000022090d020b2005200541f0036a360228200541e0036a41086a200441086a28020022093602002005200429020022083703e003200541c0006a41186a220a200141206a290000370300200541c0006a41106a220b200141186a290000370300200541c0006a41086a220c200141106a290000370300200520012900083703404100210d2005410036022c20052802e403220e410174210f200541c8056a41086a21102008a721112007280214211203402005200d360230200541c8056a41186a200a290300370300200541c8056a41106a200b2903003703002010200c290300370300200520052903403703c805200520043602682005200541306a36027020052005412c6a36026c2005200541c0006a3602642005200541286a36026020052006200541c8056a200541e0006a41a0bbc780002012118780808000002005280204210102402005280200410171450d00200121130c040b02402005280228221341306a2802002214450d00201341346a2802002113201041186a200a290300370000201041106a200b290300370000201041086a200c29030037000020102005290340370000200520013602cc0520054181808080783602c8052014200541c8056a201328020c118b80808000000b200d41016a210d034002400240024002400240024002400240024002400240024002402001280200417e6a2213410420134106491b0e06000203040501000b410021012005280228220441306a2802002209450d11200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c120b200541013602cc05200541acbdc780003602c805200542013702d405200541c181808000ad42208641f8bcc78000ad843703602005200541e0006a3602d005200541c8056a41b4bdc7800010fe80808000000b0240200541e0036a200141046a10e9978080000d00410021012005280228220441306a2802002209450d10200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c110b0240024020012802342209450d0020092009280200220441016a3602002004417f4c0d162005280228220441346a280200211020042802302104200129005421152001280050210d200128004c210a2001280048210b2001280044210c20012800402112200128003c211320052001280238220f3602642005200936026002402004450d00200520033602d005200520023602cc0520054184808080783602c8052004200541c8056a201028020c118b80808000000b20092009280200220141016a36020020014100480d16200920092802002201417f6a360200024020014101470d00200541e0006a10f0978080000b201542208821082015a721040c010b2001350054210820012800502104200128004c210d2001280048210a2001280044210b2001280040210c200128003c2112200128003821130240200528022822012802302210450d00200141346a2802002101200520033602d005200520023602cc0520054185808080783602c8052010200541c8056a200128020c118b80808000000b0b20084220862004ad842108410121010c100b0240200541e0036a200141286a10e8978080000d00410021012005280228220441306a2802002209450d0f200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c100b200141046a2113200128025421010c070b024002400240200f2009460d0020094101762213200e4f0d012001280238201120136a2d00002213410f71201341047620094101711b22134d0d022001280234201341246c6a22132d00004102460d02410121010c090b20012802040d04410021012005280228220441306a2802002209450d03200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c070b2013200e4190bbc78000108281808000000b410021012005280228220441306a2802002209450d0d200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c0e0b0240200541e0036a200141386a10e8978080000d00410021012005280228220441306a2802002209450d0d200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c0e0b024002400240200f20096b20012802642214460d00201420096a22164101762213200e4f0d0102402001280234201120136a2d00002213410f71201341047620164101711b22134d0d002001280230201341246c6a22132d00004102460d00201441016a220120096a21090c0a0b410021012005280228220441306a2802002209450d0f200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c100b20012802000d01410021012005280228220441306a2802002209450d02200441346a2802002104200520033602d005200520023602cc0520054186808080783602c8052009200541c8056a200428020c118b80808000000c060b2013200e4190bbc78000108281808000000b02400240200128020422090d0020012802082110200541d0026a200141246a280200360200200541c8026a2001411c6a290200370300200541c0026a200141146a2902003703002005200129020c3703b8020c010b20092009280200221041016a36020020104100480d1220012802082110200541d0026a200141246a290200370300200541c8026a2001411c6a290200370300200541c0026a200141146a2902003703002005200129020c3703b8020b200541c8056a41346a200541c0026a29030037020020054184066a200541c8026a2903003702002005418c066a200541d0026a290300370200200520103602f005200520093602ec05200520052903b8023702f405200520073602e005200520063602dc05200520033602d805200520023602d405200541003a00d00520052005280228220141306a36029406200520012902003702e405200520042902003702c805200541e0006a200541ec056a200220032001280230200141346a28020010ad8d8080002005280264211320052802600d020c030b0c030b02400240200128020822090d00200128020c2110200541b8026a41186a200141286a280200360200200541c8026a200141206a290200370300200541c0026a200141186a290200370300200520012902103703b8020c010b20092009280200221041016a36020020104100480d10200128020c2110200541b8026a41186a200141286a290200370300200541c8026a200141206a290200370300200541c0026a200141186a290200370300200520012902103703b8020b200541c8056a41346a200541c0026a29030037020020054184066a200541c8026a2903003702002005418c066a200541d0026a290300370200200520103602f005200520093602ec05200520052903b8023702f405200520073602e005200520063602dc05200520033602d805200520023602d405200541003a00d00520052005280228220141306a36029406200520012902003702e405200520042902003702c805200541e0006a200541ec056a200220032001280230200141346a28020010ad8d808000200528026421132005280260450d010b410221010c010b200528028801210f2005280284012109200529027c21082005280278210d2005280274210a2005280270210b200528026c210c20052802682112410121010b20014102470d080c060b200920016a21090b200520093602e8032005200528022c20016a36022c024020132d0000450d00201328020421010c010b0b201341096a2900002108201341116a290000211520132900012117200a201341196a290000370300200b2015370300200c2008370300200520173703400c000b0b2001280204211820012802002119200541c0006a41186a221a200141206a290200370300200541c0006a41106a221b200141186a290200370300200541c0006a41086a221c200141106a290200370300200520012902083703402001280230211d2001280234211e200541306a41086a200441086a280200221f36020020052004290200370330200541f0036a41046a2107200541f0036a41146a2111200541c8056a41146a2114200541c8056a41046a2112200541c0006a4107722120200541c8056a41186a2121200541c8056a410c6a2122200541c8056a411c6a2123200541c8056a41106a210e200541e0006a411c6a2116200541e0006a41106a210d200541e0006a41046a21242004280204212520042802002126201f21094100212741002113024002400240024002400240024003402013201f6a220441017621010240024020044101710d00200120254b0d05200541003a00d005200520013602cc05200520263602c8050c010b200120254b0d03200120254f0d02200541013a00d005200520263602c805200520013602cc052005202620016a2d000041f001713a00d1050b200541f0036a2019200541c0006a200541c8056a201828020c1183808080000020052802f0032228418080808078460d0720052802f803210120052802f40321290240201d450d00200e2005290340370200200e41186a201a290300370200200e41106a201b290300370200200e41086a201c290300370200200520013602d405200520293602d0052005428280808088808080807f3702c805201d200541c8056a201e28020c118b80808000000b200541c8056a2029200110e689808000200541086a41086a220a201241086a222a290200370300200520122902003703080240024020052802c80522104107460d00202741016a21272005280234222b410174212c2005280230212d2029210403402011201441c40110f4978080001a200741086a200a29030037020020072005290308370200200520103602f003200541e0006a200541f0036a2004200110df97808000200528026022064107460d07200541e0036a41086a220c200d41086a2802003602002005200d2902003703e003200528026c21012005280268210420052802642110200541b8026a201641a40110f4978080001a20052802a402212e20052802a002210f02400240024002400240024002400240024002402006417d6a220b4104200b4104491b0e050001020304000b0240201d450d00200520033602d005200520023602cc0520054186808080783602c805201d200541c8056a201e28020c118b80808000000b200041003b01000c110b0240024020052802e40341017420052802e8036b202c20096b2209470d00200541e0036a200541306a10e6978080002009460d010b0240201d450d00200520033602d005200520023602cc0520054186808080783602c805201d200541c8056a201e28020c118b80808000000b200041003b01000c110b024002402010410171450d000240201d450d00200520033602d005200520023602cc0520054185808080783602c805201d200541c8056a201e28020c118b80808000000b20014120470d05200541c8056a41186a200441186a290000370300200541c8056a41106a200441106a290000370300200541c8056a41086a200441086a290000370300200520042900003703c8050c010b0240201d450d00200520033602d005200520023602cc0520054184808080783602c805201d200541c8056a201e28020c118b80808000000b200541c8056a2004200141002802c480d48000118680808000000b200020052f01c8053b0002200041046a20052d00ca053a0000200541f8036a200541d7056a290000220837030020054180046a200541df056a290000221537030020054188046a200541e7056a2d000022013a0000200520052900cf0522173703f00320052800cb052104200041216a20013a0000200041196a2015370000200041116a2008370000200020173700092000200436000520004180023b01000c100b20052802e403210b20052802e803210c0240200541306a200541e0036a10e6978080002206200b410174200c6b460d000240201d450d00200520033602d005200520023602cc0520054186808080783602c805201d200541c8056a201e28020c118b80808000000b200041003b01000c100b2005200920066a22093602380c060b20052802ac02210b20052802a8022106202220052903e003370200202241086a200c280200360200200520013602d005200520043602cc05200520103602c8052021200541b8026a41a40110f4978080001a2005200f36028407024002400240202c2009460d0020094101762201202b4f0d01200541c8056a202d20016a2d00002201410f71200141047620094101711b410c6c6a220428020022104102460d02410121062005200941016a220936023820042802082101200428020421040c080b0240202e4102460d0002400240202e410171450d000240201d450d00200520033602f803200520023602f40320054185808080783602f003201d200541f0036a201e28020c118b80808000000b200b4120470d07200541f0036a41186a200641186a290000370300200541f0036a41106a200641106a290000370300200541f0036a41086a200641086a290000370300200520062900003703f0030c010b0240201d450d00200520033602f803200520023602f40320054184808080783602f003201d200541f0036a201e28020c118b80808000000b200541f0036a2006200b41002802c480d48000118680808000000b200020052f01f0033b0002200041046a20052d00f2033a0000200541e8006a200541ff036a2900002208370300200541f0006a20054187046a2900002215370300200541f8006a2005418f046a2d000022013a0000200520052900f703221737036020052800f3032104200041216a20013a0000200041196a2015370000200041116a2008370000200020173700092000200436000520004180023b01000c110b0240201d450d00200520033602f803200520023602f40320054186808080783602f003201d200541f0036a201e28020c118b80808000000b200041003b01000c100b2001202b4190bbc78000108281808000000b0240201d450d00200520033602f803200520023602f40320054186808080783602f003201d200541f0036a201e28020c118b80808000000b200041003b01000c0e0b20052902b0022108200520052902a80222154220883e02082005200837020c200e20052903e003370200200e41086a200c280200360200200520013602d405200520043602d005200520103602cc05200520063602c8052023200541b8026a41a40110f4978080001a0240200541306a200541086a10e69780800022012008a74101742008422088a76b460d000240201d450d00200520033602f803200520023602f40320054186808080783602f003201d200541f0036a201e28020c118b80808000000b200041003b01000c0e0b0240202c20096b2001460d00200920016a22104101762204202b4f0d030240200541c8056a202d20046a2d00002204410f71200441047620104101711b410c6c6a220428020022104102460d0020052009200141016a22066a220936023820042802082101200428020421040c060b0240201d450d00200520033602f803200520023602f40320054186808080783602f003201d200541f0036a201e28020c118b80808000000b200041003b01000c0e0b0240200f4102460d002015a7210102400240200f410171450d000240201d450d00200520033602f803200520023602f40320054185808080783602f003201d200541f0036a201e28020c118b80808000000b20014120470d06200541f0036a41186a202e41186a290000370300200541f0036a41106a202e41106a290000370300200541f0036a41086a202e41086a2900003703002005202e2900003703f0030c010b0240201d450d00200520033602f803200520023602f40320054184808080783602f003201d200541f0036a201e28020c118b80808000000b200541f0036a202e200141002802c480d48000118680808000000b200020052f01f0033b0002200041046a20052d00f2033a0000200541e8006a200541ff036a2900002208370300200541f0006a20054187046a2900002215370300200541f8006a2005418f046a2d000022013a0000200520052900f703221737036020052800f3032104200041216a20013a0000200041196a2015370000200041116a2008370000200020173700092000200436000520004180023b01000c0e0b0240201d450d00200520033602f803200520023602f40320054186808080783602f003201d200541f0036a201e28020c118b80808000000b200041003b01000c0d0b41202001418cb9c78000108681808000000b4120200b418cb9c78000108681808000000b2004202b4190bbc78000108281808000000b41202001418cb9c78000108681808000000b200620136a21132010410171450d02200541c8056a2004200110e689808000200a202a2902003703002005201229020037030820052802c80522104107470d000b0b20242005290308370200202441086a200541086a41086a2903003702000c050b024020014120460d004100210902400240024020014100480d00024020010d00410121090c030b41002d008083d480001a200141002802f482d480001182808080000022090d01410121090b2009200141b0bfc7800010b980808000000b2009417e6a41003b00000b20092004200110f497808000210941002d008083d480001a0240413041002802f482d48000118280808000002204450d002004200441036a417c7120046b22106a2204200136020c200420093602082004200136020420044188808080783602002004417e6a20103b0000200041013a00002000200436020420042005290340370210200441186a200541c8006a290300370200200441206a200541d0006a290300370200200441286a200541c0006a41186a2903003702000c070b4104413010ab80808000000b200441026a2d000021012004410f6a2900002108200441176a29000021152004411f6a2d0000211020042f000021062004280003210a20202004290007370000202041186a20103a0000202041106a2015370000202041086a20083700002005200a360043200520013a0042200520063b01402028450d0020292029417e6a2f00006b41002802ec82d48000118180808000000c000b0b20012025419ce5cd8000108281808000000b20012025418ce5cd8000109181808000000b2001202541fce4cd8000109181808000000b200541c8056a41086a2204202441086a290200370300200541c8056a41186a2209200541c0006a41086a290300370300200541c8056a41206a2210200541c0006a41106a290300370300200541c8056a41286a2206200541c0006a41186a290300370300200520052903403703d805200520242902003703c80541002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b22076a220120052903c8053702002001417e6a20073b0000200141086a2004290300370200200141106a200541c8056a41106a290300370200200141186a2009290300370200200141206a2010290300370200200141286a2006290300370200200041013a0000200020013602040b2028450d0b20292029417e6a2f00006b41002802ec82d48000118180808000000c0b0b4104413010ab808080000c080b200541c8056a41186a2204200541c0006a41186a290300370300200541c8056a41106a2209200541c0006a41106a290300370300200541c8056a41086a2210200541c0006a41086a290300370300200520052903403703c80541002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22066a220141858080807841848080807820271b360200200120052903c8053702042001417e6a20063b00002001410c6a2010290300370200200141146a20092903003702002001411c6a2004290300370200200041013a0000200020013602040c0a0b4104413010ab80808000000b024020092d00000d00410021010c080b200541206a200941196a290000370300200541186a200941116a290000370300200541106a200941096a290000370300200520092900013703080c030b20002013360204200041013a00000c070b0b2001410171450d01024002402009450d0020092009280200220141016a36020020014100480d052005200f3602642005200936026003402009280204210103402001417f460d012001417f4c0d062009200141016a2009280204220420042001461b360204200420014721102004210120100d000b0b20052802642101200920092802002204417f6a360200024020044101470d00200541e0006a10f0978080000b200520013602f005200520093602ec05200520083700e1052005200d3600dd052005200a3600d9052005200b3600d5052005200c3600d105200520123600cd05200520133600c905200541023a00c805200620022003200541c8056a2007280210118380808000000c010b200520083700e1052005200d3600dd052005200a3600d9052005200b3600d5052005200c3600d105200520123600cd05200520133600c905200541013a00c805200620022003200541c8056a2007280210118380808000000b200541c8056a41086a2201200c360200200541c8056a41106a2204200a360200200541c8056a41186a2008370200200541086a41186a20083703002005200b3602d405200541086a41086a20012902003703002005200d3602dc05200541086a41106a2004290200370300200520123602cc05200520133602c8052005200f3602ec05200520093602e805200520052902c8053703082009450d00200920092802002201417f6a36020020014101470d00200541e8056a10f0978080000b410121010c030b41002101200541003a00c805200620022003200541c8056a2007280210118380808000000c020b41c8e8cd800041c0e9cd800010ef97808000000b000b200020013a0001200020052903083700022000410a6a200541106a290300370000200041126a200541186a2903003700002000411a6a200541206a290300370000200041003a00000b200541a0076a2480808080000b8d0301037f23808080800041c0006b2206248080808000024002400240200128020022070d00200141046a210702402004450d002006200336021420062002360210200641858080807836020c20042006410c6a200528020c118b80808000000b2000410036022420004100360200200020072902003702042000411c6a200741186a290200370200200041146a200741106a2902003702002000410c6a200741086a2902003702000c010b2006200736020420062001280204220836020802402004450d002006200336021420062002360210200641848080807836020c20042006410c6a200528020c118b80808000000b20072007280200220441016a36020020044100480d012000200836022820002007360224200041003602002000200141086a22012902003702042000411c6a200141186a290200370200200041146a200141106a2902003702002000410c6a200141086a290200370200200720072802002200417f6a36020020004101470d00200641046a10f0978080000b200641c0006a2480808080000f0b000bc70401067f23808080800041206b22022480808080002001280204210320012802002204280200210520042802042104200241106a41086a2001280208220141086a28020036020020022001290200370310200241046a20052003200241106a200428020c118380808000000240024002400240024020022802042206418080808078460d00200228020c220141f5ffffff074f0d022002280208210541002d008083d480001a2001410b6a41fcffffff0771220741002802f482d48000118280808000002204450d032004200441036a417c7120046b22076a22044281808080103702002004417e6a20073b0000200441086a2005200110f4978080001a02402006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b2000200136020820002004360204200041073602002000200329000037000c200041246a200341186a2900003700002000411c6a200341106a290000370000200041146a200341086a2900003700000c010b41002d008083d480001a413041002802f482d48000118280808000002201450d032001200141036a417c7120016b22046a22014185808080783602002001417e6a20043b0000200120032900003700042001410c6a200341086a290000370000200141146a200341106a2900003700002001411c6a200341186a29000037000020004108360200200020013602040b200241206a2480808080000f0b419c80c08000412b200241106a418c80c0800041b482c0800010a981808000000b4104200710ab80808000000b4104413010ab80808000000bc51d04027f017e0b7f027e23808080800041d0026b2207248080808000200741d0006a41086a200141086a2208280200360200200720012902003703502007200436025c200741e0006a41086a20082802002208360200200720012902002209370360200741f0006a41186a220a200441206a290000370300200741f0006a41106a220b200441186a290000370300200741f0006a41086a220c200441106a290000370300200720042900083703704100210d20074100360290012007280264220e410174210f20074180026a41086a21012009a72110200628021421110240024003402007200d3602940120074180026a41186a200a29030037030020074180026a41106a200b2903003703002001200c2903003703002007200729037037038002200720074194016a3602e801200720074190016a3602e4012007200741d0006a3602e0012007200741f0006a3602dc012007200741dc006a3602d801200741086a200520074180026a200741d8016a41c4bdc78000201111878080800000200728020c210420072802084101710d010240200728025c221241306a2802002213450d00201241346a2802002112200141186a200a290300370000200141106a200b290300370000200141086a200c290300370000200120072903703700002007200436028402200741818080807836028002201320074180026a201228020c118b80808000000b200d41016a210d0240034002400240024002400240024002400240024002400240024002400240024002400240024002402004280200417e6a2212410420124106491b0e06000203040501000b200728025c220441306a2802002208450d0b200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c0b0b2007410136028402200741acbdc78000360280022007420137028c02200741c181808000ad42208641f8bcc78000ad843703d8012007200741d8016a3602880220074180026a41b4bdc7800010fe80808000000b0240200741e0006a200441046a10e9978080000d00200728025c220441306a2802002208450d0a200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c0a0b02400240200428023422080d00200741a0016a200441c4006a290000370300200741a8016a200441cc006a290000370300200741b0016a200441d4006a2800003602002007200429003c370398012004280038210d0c010b20082008280200220141016a36020020014100480d0e200741a0016a200441c4006a290000370300200741a8016a200441cc006a290000370300200741b0016a200441d4006a2900003703002007200429003c370398012004280238210d0b200728025c220428020021012004280204211220072903502109200741b4026a20074198016a41086a290300370200200741bc026a20074198016a41106a290300370200200741c4026a20074198016a41186a2903003702002007200d3602a802200720083602a40220072007290398013702ac022007200441306a3602cc02200720123602a0022007200136029c022007200636029802200720053602940220072003360290022007200236028c02200741003a0088022007200937028002200741d8016a200741a4026a20074180026a20022003200520112001201220042802302004280234108a8d80800020072802d80122010d030c110b0240200741e0006a200441286a10e8978080000d00200728025c220441306a2802002208450d09200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c090b200441046a2112200428025421040c0d0b024002400240200f2008460d0020084101762212200e4f0d012004280238201020126a2d00002212410f71201241047620084101711b22124d0d022004280234201241246c6a22122d00004102460d02410121040c0f0b20042802040d0741002101200728025c220441306a2802002208450d06200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c060b2012200e4190bbc78000108281808000000b200728025c220441306a2802002208450d07200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c070b0240200741e0006a200441386a10e8978080000d00200728025c220441306a2802002208450d07200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c070b0240200f20086b20042802642213460d00201320086a22144101762212200e4f0d0202402004280234201020126a2d00002212410f71201241047620144101711b22124d0d002004280230201241246c6a22122d00004102460d00201341016a220420086a21080c0e0b200728025c220441306a2802002208450d07200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c070b20042802000d0241002101200728025c220441306a2802002208450d03200441346a280200210420072003360288022007200236028402200741868080807836028002200820074180026a200428020c118b80808000000c030b200741306a41086a200741d8016a41106a2902002209370300200741306a41106a200741d8016a41186a2902002215370300200741306a41186a200741f8016a2902002216370300200741106a41086a2009370300200741106a41106a2015370300200741106a41186a2016370300200720072902e00122093703302007200937031020072802dc01210d0c060b2012200e4190bbc78000108281808000000b02400240200428020422080d0020042802082101200741d0016a200441246a280200360200200741c8016a2004411c6a290200370300200741c0016a200441146a2902003703002007200429020c3703b8010c010b20082008280200220141016a36020020014100480d0820042802082101200741d0016a200441246a290200370300200741c8016a2004411c6a290200370300200741c0016a200441146a2902003703002007200429020c3703b8010b200741b4026a200741b8016a41086a290300370200200741bc026a200741b8016a41106a290300370200200741c4026a200741b8016a41186a290300370200200720013602a802200720083602a402200720072903b8013702ac022007200636029802200720053602940220072003360290022007200236028c02200741003a00880220072007290350370280022007200728025c220441306a22083602cc022007200428020422013602a00220072004280200220436029c02200741d8016a200741a4026a20074180026a200220032005200620042001200810898d80800020072802d8012201450d0b200741306a41086a200741d8016a41106a290200370300200741306a41106a200741d8016a41186a290200370300200741306a41186a200741f8016a290200370300200720072902e00137033020072802dc01210d0c020b0c010b02400240200428020822080d00200428020c2101200741b8016a41186a200441286a280200360200200741c8016a200441206a290200370300200741c0016a200441186a290200370300200720042902103703b8010c010b20082008280200220141016a36020020014100480d06200428020c2101200741b8016a41186a200441286a290200370300200741c8016a200441206a290200370300200741c0016a200441186a290200370300200720042902103703b8010b200741b4026a200741b8016a41086a290300370200200741bc026a200741b8016a41106a290300370200200741c4026a200741b8016a41186a290300370200200720013602a802200720083602a402200720072903b8013702ac022007200636029802200720053602940220072003360290022007200236028c02200741003a00880220072007290350370280022007200728025c220441306a22083602cc022007200428020422013602a00220072004280200220436029c02200741d8016a200741a4026a20074180026a200220032005200620042001200810898d80800020072802d8012201450d09200741306a41086a200741d8016a41106a290200370300200741306a41106a200741d8016a41186a290200370300200741306a41186a200741f8016a290200370300200720072902e00137033020072802dc01210d0b200741106a41086a200741306a41086a290300370300200741106a41106a200741306a41106a290300370300200741106a41186a200741306a41186a2903003703002007200729033037031020010d010b41002101410021040c010b20012001280200220441016a36020020044100480d0220074199026a200741286a29030037000020074191026a200741206a29030037000020074189026a200741186a29030037000020072007290310370081022007200d3602dc01200720013602d80103402001280204210403402004417f460d012004417f4c0d032001200441016a2001280204220820082004461b360204200820044721122008210420120d000b0b20072802dc012104200120012802002208417f6a360200024020084101470d00200741d8016a10f0978080000b200720043602a802200720013602a402410221040b200720043a00800220052002200320074180026a2006280210118380808000002000200d36020820002001360204410021040c080b41c8e8cd800041c0e9cd800010ef978080000b000b200820046a21080b20072008360268200720072802900120046a36029001024020122d0000450d00201228020421040c010b0b201241096a2900002109201241116a290000211520122900012116200a201241196a290000370300200b2015370300200c2009370300200720163703700c010b0b20072802dc0121040b20002004360204410121040b20002004360200200741d0026a2480808080000bc52a04037f017e257f017e23808080800041c0076b220524808080800020012802282106200141003602280240024002400240024002400240024002400240024002402006450d00200128022c2107200541e8056a41306a200141306a2902002208370300200541e8056a41286a200141286a290200370300200541e8056a41206a200141206a290200370300200541e8056a41186a200141186a290200370300200541e8056a41106a200141106a290200370300200541e8056a41086a200141086a290200370300200520012902003703e8054101210902400240024002400240024002402008a7220a450d000240200a20022003200528029c062802101180808080000041ff01710e03010002010b410021090b200620022003200728020c11808080800000220b0d010b20054180046a200420022003200541e8056a2006200710af8d808000200528028404210c2005280280040d010c0d0b418080808078210d200b2d00000e030e02010e0b20004181808080783602002000200c3602040c0e0b200b280224220c417f460d01200b41016a210e200c280200210103402001450d022001417f4c0d05200c200141016a200c280200220f200f200146220d1b360200200f2101200d450d000b200b280228210d200a450d0b2009200d412149720d0b200528029c062101200541ac046a200e41186a290000370200200541a4046a200e41106a2900003702002005419c046a200e41086a29000037020020052003360290042005200236028c042005200d360288042005200c41086a360284042005418080808078360280042005200e29000037029404200a20054180046a200128020c118b80808000000c0b0b2005419c046a200b41196a29000037020020054194046a200b41116a2900003702002005418c046a200b41096a29000037020020054100360280042005200b29000137028404200541003a001020052004290200370208200541f0006a20054180046a200541086a200220032006200728021420052802e80520052802ec05200a200528029c06108a8d8080002005280274210d2005280270220c450d08200541c8026a41186a220f20054190016a290200370300200541c8026a41106a2204200541f0006a41186a290200370300200541d0026a220b200541f0006a41106a290200370300200520052902783703c802200c200c280200220141016a360200024020014100480d0020054199046a200f29030037000020054191046a200429030037000020054189046a200b290300370000200520052903c802370081042005200d3602742005200c3602700340200c280204210103402001417f460d012001417f4c0d05200c200141016a200c280204220f200f2001461b360204200f2001472104200f210120040d000b0b20052802742101200c200c280200220f417f6a3602000240200f4101470d00200541f0006a10f0978080000b200520013602a8042005200c3602a404200541023a00800420062002200320054180046a2007280210118380808000000c0b0b000b20054180046a200420022003200541e8056a2006200710af8d808000200528028404210c200528028004450d0820004181808080783602002000200c3602040c0b0b200541086a41306a2210200141306a290200370300200541086a41286a200141286a290200370300200541086a41206a200141206a220c290200370300200541086a41186a200141186a2206290200370300200541086a41106a200141106a220d290200370300200541086a41086a200141086a220729020037030020052001290200370308200541c0006a41086a200441086a2201280200220f36020020052004290200370340200541d0006a41186a2211200c290000370300200541d0006a41106a22122006290000370300200541d0006a41086a2213200d290000370300200520072900003703502001280200211420054180046a41046a210d20054180046a41146a2115200541e8056a41146a2116200541e8056a41046a2117200541d0006a4107722118200541e8056a41186a2119200541e8056a410c6a211a200541e8056a411c6a211b200541e8056a41106a211c200541f0006a411c6a211d200541f0006a41106a210b200541f0006a41046a211e2004280204211f2004280200212020102802002121200528023c2122200528020c21232005280208212441002125410021070240024002400340200720146a220c410176210102400240200c4101710d002001201f4b0d05200541003a00f005200520013602ec05200520203602e8050c010b2001201f4b0d032001201f4f0d02200541013a00f005200520203602e805200520013602ec052005202020016a2d000041f001713a00f1050b20054180046a2024200541d0006a200541e8056a202328020c118380808000002005280280042226418080808078460d092005280288042101200528028404212702402021450d00201c2005290350370000201c41186a2011290300370000201c41106a2012290300370000201c41086a2013290300370000200520013602f405200520273602f0052005428280808088808080807f3702e8052021200541e8056a202228020c118b80808000000b200541e8056a2027200110e689808000200541d8056a41086a220a201741086a2228290200370300200520172902003703d8050240024020052802e80522044107460d00202541016a212520052802442229410174212a2005280240212b2027210c03402015201641c40110f4978080001a200d41086a200a290300370200200d20052903d8053702002005200436028004200541f0006a20054180046a200c200110df97808000200528027022064107460d09200541f0036a41086a220e200b41086a2802003602002005200b2902003703f003200528027c21012005280278210c20052802742104200541c8026a201d41a40110f4978080001a20052902b802210820052802b402212c20052802b002212d0240024002400240024002402006417d6a2209410420094104491b0e050001020304000b02402021450d00200520033602f005200520023602ec0520054186808080783602e8052021200541e8056a202228020c118b80808000000b20004180808080783602000c0f0b0240024020052802f40341017420052802f8036b202a200f6b220f470d00200541f0036a200541c0006a10e697808000200f460d010b02402021450d00200520033602f005200520023602ec0520054186808080783602e8052021200541e8056a202228020c118b80808000000b20004180808080783602000c0f0b20052010360290062005202336028c06200520243602880620052003360284062005200236028006200541003a00fc052005201f3602f805200520203602f405200520013602f0052005200c3602ec05200520043602e80520054180046a200541e8056a200541f4056a20022003202420232010108b8d8080000240200528028004418080808078470d00200020052802840436020420004181808080783602000c0f0b2000200529028004370200200041086a20054180046a41086a2802003602000c0e0b20052802f403210920052802f803210e0240200541c0006a200541f0036a10e69780800022062009410174200e6b460d0002402021450d00200520033602f005200520023602ec0520054186808080783602e8052021200541e8056a202228020c118b80808000000b20004180808080783602000c0e0b2005200f20066a220f3602480c020b201a20052903f003370200201a41086a200e280200360200200520013602f0052005200c3602ec05200520043602e8052019200541c8026a41a40110f4978080001a2005202d3602a407024002400240202a200f460d00200f410176220120294f0d01200541e8056a202b20016a2d00002201410f712001410476200f4101711b410c6c6a220c28020022044102460d02410121062005200f41016a220f360248200c2802082101200c280204210c0c040b02400240202c4102460d00200520103602a804200520233602a404200520243602a0042005200336029c042005200236029804200541003a0094042005201f360290042005202036028c0420052008370284042005202c36028004200541f0006a20054180046a2005418c046a20022003202420232010108b8d8080002005280270418080808078470d012000200528027436020420004181808080783602000c100b02402021450d0020052003360288042005200236028404200541868080807836028004202120054180046a202228020c118b80808000000b20004180808080783602000c0f0b20002005290270370200200041086a200541f0006a41086a2802003602000c0e0b200120294190bbc78000108281808000000b02402021450d0020052003360288042005200236028404200541868080807836028004202120054180046a202228020c118b80808000000b20004180808080783602000c0c0b20052902c002212e200520084220883e02d8052005202e3702dc05201c20052903f003370200201c41086a200e280200360200200520013602f4052005200c3602f005200520043602ec05200520063602e805201b200541c8026a41a40110f4978080001a0240200541c0006a200541d8056a10e6978080002201202ea7410174202e422088a76b460d0002402021450d0020052003360288042005200236028404200541868080807836028004202120054180046a202228020c118b80808000000b20004180808080783602000c0c0b02400240202a200f6b2001460d00200f20016a2204410176220c20294f0d010240200541e8056a202b200c6a2d0000220c410f71200c41047620044101711b410c6c6a220c28020022044102460d002005200f200141016a22066a220f360248200c2802082101200c280204210c0c030b02402021450d0020052003360288042005200236028404200541868080807836028004202120054180046a202228020c118b80808000000b20004180808080783602000c0d0b02400240202d4102460d00200520103602a804200520233602a404200520243602a0042005200336029c042005200236029804200541003a0094042005201f360290042005202036028c04200520083e0288042005202c360284042005202d36028004200541f0006a20054180046a2005418c046a20022003202420232010108b8d8080002005280270418080808078470d012000200528027436020420004181808080783602000c0e0b02402021450d0020052003360288042005200236028404200541868080807836028004202120054180046a202228020c118b80808000000b20004180808080783602000c0d0b20002005290270370200200041086a200541f0006a41086a2802003602000c0c0b200c20294190bbc78000108281808000000b200620076a21072004410171450d02200541e8056a200c200110e689808000200a2028290200370300200520172902003703d80520052802e80522044107470d000b0b201e20052903d805370200201e41086a200541d8056a41086a2903003702000c070b024020014120460d004100210f02400240024020014100480d00024020010d004101210f0c030b41002d008083d480001a200141002802f482d4800011828080800000220f0d014101210f0b200f200141b0bfc7800010b980808000000b200f417e6a41003b00000b200f200c200110f497808000210f41002d008083d480001a0240413041002802f482d4800011828080800000220c450d00200c200c41036a417c71200c6b22046a220c200136020c200c200f360208200c2001360204200c418880808078360200200c417e6a20043b000020004181808080783602002000200c360204200c2005290350370010200c41186a200541d8006a290300370000200c41206a200541e0006a290300370000200c41286a200541d0006a41186a2903003700000c090b4104413010ab80808000000b200c41026a2d00002101200c410f6a2900002108200c41176a290000212e200c411f6a2d00002104200c2f00002106200c280003210a2018200c290007370000201841186a20043a0000201841106a202e370000201841086a20083700002005200a360053200520013a0052200520063b01502026450d0020272027417e6a2f00006b41002802ec82d48000118180808000000c000b0b2001201f419ce5cd8000108281808000000b2001201f418ce5cd8000109181808000000b2001201f41fce4cd8000109181808000000b41c8e8cd800041c0e9cd800010ef97808000000b41c8e8cd800041d8e9cd800010ef97808000000b200541e8056a41086a220c201e41086a290200370300200541e8056a41186a220f200541d0006a41086a290300370300200541e8056a41206a2204200541d0006a41106a290300370300200541e8056a41286a2206200541d0006a41186a290300370300200520052903503703f8052005201e2902003703e80541002d008083d480001a413041002802f482d48000118280808000002201450d012001200141036a417c7120016b220d6a220120052903e8053702002001417e6a200d3b0000200141086a200c290300370200200141106a200541e8056a41106a290300370200200141186a200f290300370200200141206a2004290300370200200141286a20062903003702002000418180808078360200200020013602040b2026450d0620272027417e6a2f00006b41002802ec82d48000118180808000000c060b4104413010ab80808000000b200541e8056a41186a220c200541d0006a41186a290300370300200541e8056a41106a220f200541d0006a41106a290300370300200541e8056a41086a2204200541d0006a41086a290300370300200520052903503703e80541002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c7120016b22066a220141858080807841848080807820251b360200200120052903e8053702042001417e6a20063b00002001410c6a2004290300370200200141146a200f2903003702002001411c6a200c2903003702002000418180808078360200200020013602040c050b4104413010ab80808000000b20004181808080783602002000200d3602040c030b200528028804210d200c0d00418080808078210d0c010b2005200c360280042005200d3602840441002101024002400240200d4100480d0041012101200d450d0241002d008083d480001a200d41002802f482d480001182808080000022010d01410121010b2001200d41f49ac6800010b980808000000b2001417e6a41003b00000b2001200c41086a200d10f4978080002101200c200c280200220f417f6a3602000240200f4101470d0020054180046a10f0978080000b200dad4220862001ad8421080b200020083702042000200d3602000b200541c0076a2480808080000bb80201027e024002400240024002402001280200417f6a0e050001020304000b20004200370310200042d10b370308200041186a4200370300200041206a41003b01002000200135020c420020012802081b220242c999c7007e42e0b5b1027c2203200242a78cf7047e42a0b69c027c220220032002561b3703000f0b20004200370308200042b0a29302370300200041106a4200370300200041186a4200370300200041206a41003b01000f0b20004200370308200042d8f19002370300200041106a4200370300200041186a4200370300200041206a41003b01000f0b20004200370300200041023b0120200041186a4200370300200041106a4200370300200041086a42003703000f0b2000420037030820004201370300200041106a4200370300200041186a4200370300200041206a41003b01000b980101037f2000200028020822022001200028020c20026b410276220220012002491b22024102746a3602080240200120026b22010d0041000f0b20002000280204220336020c2003200028020022046b41027621020240024020032004470d00200120026b2101410021030c010b034020012001200220012002491b22036b22010d000b410021010b2000200420034102746a36020820010bcc0304027f017e057f027e23808080800041306b22022480808080000240024020012802002203450d002000290300210420012802042105034041002100024020032f01e2012206450d00200341e0006a21072006410374210841002100200321010340024041fec3c780002001410810f597808000220941004a20094100486b41ff017122094101460d0020090d02200741046a28020041074d0d052007280200290000210a20024284c1c7b7cda097febb7f3700182002429fbf94a8c1ded8e64f370010200242ebe5e9f6a0afd08944370008200242f087979bfcb996ebf100370000200241206a2002412010e9858080002002290328210b20022802202101200241306a2480808080004101200b200458410174410220011b2004200a42b0ea017c561b0f0b2007410c6a2107200141086a2101200041016a2100200841786a22080d000b200621000b2005450d012005417f6a2105200320004102746a2802e40121030c000b0b4186c4c78000412841fcc4c7800010a181808000000b200241056a41002f0182c4c780003b0000200241013a0000200241f0e0003b0007200241002801fec3c78000360001419cc5c78000412d2002418cc5c7800041ccc5c7800010a981808000000bc20302087f027e23808080800041306b22022480808080000240024020012802002203450d0020012802042104034041002105024020032f01e2012206450d00200341e0006a21072006410374210841002105200321010340024041fec3c780002001410810f597808000220941004a20094100486b41ff017122094101460d0020090d02200741046a28020041074d0d052007280200290000210a20024284c1c7b7cda097febb7f3700182002429fbf94a8c1ded8e64f370010200242ebe5e9f6a0afd08944370008200242f087979bfcb996ebf100370000200241206a2002412010e985808000200228022021012002290328210b200042013703002000200b200a200b200a561b200a20011b370308200241306a2480808080000f0b2007410c6a2107200141086a2101200541016a2105200841786a22080d000b200621050b2004450d012004417f6a2104200320054102746a2802e40121030c000b0b4186c4c78000412841dcc5c7800010a181808000000b200241056a41002f0182c4c780003b0000200241013a0000200241f0e0003b0007200241002801fec3c78000360001419cc5c78000412d2002418cc5c7800041ecc5c7800010a981808000000bab0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000418008360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bb30201047f23808080800041106b220124808080800041002d008083d480001a0240413041002802f482d480001182808080000022020d004108413010ab80808000000b2002200241076a417871220320026b22046a220241bb80808000360228200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200242d7c9cb8fc1cf97db3e370320200242e88488d0c0e3aebc133703182002417e6a20043b0000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200220036b41306a41186e36020c2000200236020820004102360204200041043a0000200141106a2480808080000ba40101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041f6838080003602182000429fa4afb2dcf1d3f6fe00370310200042acf0b0bfd2c494d1fb00370308200041023a0000200141106a2480808080000bb40201047f23808080800041106b220124808080800041002d008083d480001a0240413041002802f482d480001182808080000022020d004108413010ab80808000000b2002200241076a417871220320026b22046a2202418c83808000360228200241c580808000360210200242cdd1c1cbe3b5a3c444370308200242b9e0ddc2f1d2dbbf4c370300200242fadefdbfd8c483f821370320200242eccaa8be8cb9a691ff003703182002417e6a20043b0000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200220036b41306a41186e36020c2000200236020820004102360204200041043a0000200141106a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004120360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004114360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a0e0c6800010f38e8080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004108360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000ba70301047f23808080800041106b2204248080808000024020002d00004101460d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110a386808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210bd8d8080001a02402005280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a00000240024020032d00000d00024020052802002200280200200028020822056b41034b0d002000200541044101410110a386808000200028020821050b2000200541046a360208200028020420056a41eeeab1e3063600000c010b200441046a200341016a41002f019480d4800010a38d8080002005200020042802082200200428020c10bd8d8080001a2004280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200441106a24808080800041000f0b41d0c7c78000412841b085c88000108081808000000ba207010b7f02402000280200220428020020042802082200470d002004200041014101410110a386808000200428020821000b2004200041016a2205360208200428020420006a41223a00002002417f6a21062003417f732107200220036a2108410021092002210a03404100210002400240024002400240024002400340200a20006a220b2008460d01200041016a2100200b2d0000220c41c8bccc80006a2d0000220b450d000b2009200920006a220d417f6a220e4f0d062009450d02200320094b0d0120032009460d020c030b024020032009460d0002402009450d00200320094d0d05200220096a2c00004140480d050b200220096a210b0240200320096b2200200428020020056b4d0d002004200520004101410110a386808000200428020821050b200428020420056a200b200010f4978080001a2004200520006a22053602080b024020042802002005470d002004200541014101410110a386808000200428020821050b2004200541016a360208200428020420056a41223a000041000f0b200220096a2c00004140480d010b0240200e2003490d00200d20076a0d010c030b200620096a20006a2c000041bf7f4a0d020b200220032009200920006a417f6a41c0c7c7800010c381808000000b20022003200920034188c8c7800010c381808000000b02402000417f6a220e200428020020056b4d0d0020042005200e4101410110a386808000200428020821050b200428020420056a200220096a200e10f4978080001a2004200520006a417f6a22053602080b200a20006a210a41b0c8c7800021000240024002400240024002400240024002400240200b41a47f6a0e1a0709090909090609090901090909090909090209090903090405000b200b4122470d0841aec8c7800021000c060b41b4c8c7800021000c050b41b6c8c7800021000c040b41b8c8c7800021000c030b41bac8c7800021000c020b200c410f7141b8bccc80006a2d0000210b200c41047641b8bccc80006a2d0000210c0240200428020020056b41054b0d002004200541064101410110a386808000200428020821050b200428020420056a2200200b3a00052000200c3a0004200041dceac18103360000200541066a21050c020b41b2c8c7800021000b0240200428020020056b41014b0d002004200541024101410110a386808000200428020821050b200428020420056a20002f00003b0000200541026a21050b20042005360208200d21090c010b0b41d0c7c78000412841f8c7c78000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a0000200320041090878080000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a000020032004109b8b8080000f0b41d0c7c78000412841b085c88000108081808000000be10201037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a000002402004280200220028020020002802082204470d002000200441014101410110a386808000200028020821040b200028020420046a41fb003a00002000200441016a2204360208024020002802002004470d002000200441014101410110a386808000200028020821040b2000200441016a360208200028020420046a41fd003a000041000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a00002003200410d6868080000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a0000200320041089878080000f0b41d0c7c78000412841b085c88000108081808000000be10201037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a000002402004280200220028020020002802082204470d002000200441014101410110a386808000200028020821040b200028020420046a41fb003a00002000200441016a2204360208024020002802002004470d002000200441014101410110a386808000200028020821040b2000200441016a360208200028020420046a41fd003a000041000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a00002003200410f18c8080000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a000020032004109c8b8080000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a00002003200410d3868080000f0b41d0c7c78000412841b085c88000108081808000000b800501047f23808080800041306b22042480808080000240024020002d00004101460d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110a386808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210bd8d8080001a2003280200210002402005280200220328020020032802082202470d002003200241014101410110a386808000200328020821020b2003200241016a360208200328020420026a413a3a000020052802002107410a2105024020004190ce004f0d00200021030c020b410a21050340200441086a20056a2202417c6a200020004190ce006e22034190ce006c6b220141ffff037141e4006e220641017441d8fec780006a2f00003b00002002417e6a2001200641e4006c6b41ffff037141017441d8fec780006a2f00003b00002005417c6a2105200041ffc1d72f4b21022003210020020d000c020b0b41d0c7c78000412841b085c88000108081808000000b02400240200341e3004b0d00200321000c010b200441086a2005417e6a22056a2003200341ffff037141e4006e220041e4006c6b41ffff037141017441d8fec780006a2f00003b00000b024002402000410a490d00200441086a2005417e6a22036a200041017441d8fec780006a2f00003b00000c010b200441086a2005417f6a22036a20004130723a00000b0240410a20036b22052007280200200728020822006b4d0d002007200020054101410110a386808000200728020821000b200728020420006a200441086a20036a200510f4978080001a2007200020056a360208200441306a24808080800041000bae0901077f23808080800041306b22042480808080000240024002400240024020002d00004101460d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110a386808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210bd8d8080001a02402005280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a0000024020032802142208418180808078460d0002402005280200220928020020092802082200470d002009200041014101410110a386808000200928020821000b2009200041016a220a360208200928020420006a41db003a0000200420053602042004418004360200410a21050240200328021022004190ce004f0d00200021020c030b410a21050340200441086a20056a2201417c6a200020004190ce006e22024190ce006c6b220641ffff037141e4006e220741017441d8fec780006a2f00003b00002001417e6a2006200741e4006c6b41ffff037141017441d8fec780006a2f00003b00002005417c6a2105200041ffc1d72f4b21012002210020010d000c030b0b024020052802002200280200200028020822056b41034b0d002000200541044101410110a386808000200028020821050b2000200541046a360208200028020420056a41eeeab1e3063600000c020b41d0c7c78000412841b085c88000108081808000000b02400240200241e3004b0d00200221000c010b200441086a2005417e6a22056a2002200241ffff037141e4006e220041e4006c6b41ffff037141017441d8fec780006a2f00003b00000b024002402000410a490d00200441086a2005417e6a22056a200041017441d8fec780006a2f00003b00000c010b200441086a2005417f6a22056a20004130723a00000b200441086a20056a21020240410a20056b22002009280200200a6b4d0d002009200a20004101410110a3868080002009280208210a0b2009280204200a6a2002200010f4978080001a2009200a20006a36020820042003290300200329030810c98d80800020042d00004101460d0120042802042100024020042d00014101460d0002402000280200220528020020052802082202470d002005200241014101410110a386808000200528020821020b2005200241016a360208200528020420026a412c3a00000b200441023a0001024002402008418080808078460d00200020002003280218200328021c10bd8d8080001a0c010b024020002802002205280200200528020822026b41034b0d002005200241044101410110a386808000200528020821020b2005200241046a360208200528020420026a41eeeab1e3063600000b200428020022054101710d0220054180fe0371450d0002402000280200220028020020002802082205470d002000200541014101410110a386808000200028020821050b2000200541016a360208200028020420056a41dd003a00000b200441306a24808080800041000f0b41d0c7c78000412841d085c88000108081808000000b41d0c7c78000412841e085c88000108081808000000b8e0a02057f037e2380808080004190016b22032480808080000240024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a00012004280200210702400240200242808020540d00200341306a2001420042f3b2d8c19e9ebdcc957f420010fc97808000200341206a2001420042d2e1aadaeda7c987f600420010fc97808000200341d0006a2002420042f3b2d8c19e9ebdcc957f420010fc97808000200341c0006a2002420042d2e1aadaeda7c987f600420010fc97808000200329034820032903282003290338220820032903207c2202200854ad7c220920032903407c2208200954ad7c20082003290358200220032903507c200254ad7c7c2202200854ad7c2208423e8821092002423e8820084202868421080c010b20014213882002422d868442bda282a38eab04802108420021090b200341106a20082002428080e0b0b79fb79cf500420010fc97808000411421000240200329031020017c22024290ce005a0d00200221010c020b411421000340200341e8006a20006a2204410f6a200220024290ce008022014290ce007e7da7220541ffff037141e4006e220641017441d8fec780006a2f00003b0000200441116a2005200641e4006c6b41ffff037141017441d8fec780006a2f00003b00002000417c6a2100200242ffc1d72f5621042001210220040d000c020b0b41d0c7c78000412841d085c88000108081808000000b200341fb006a210502400240200142e300560d002001a721040c010b20052000417e6a22006a2001a72204200441ffff037141e4006e220441e4006c6b41ffff037141017441d8fec780006a2f00003b00000b024002402004410a490d0020052000417e6a22066a200441017441d8fec780006a2f00003b00000c010b20052000417f6a22066a20044130723a00000b02400240200820098450450d00200641136a21000c010b41142100200341e8006a41146a41302006417f6a10fa978080001a200320084213882009422d8684220942bda282a38eab0480220a2002428080e0b0b79fb79cf500420010fc9780800002400240200329030020087c22024290ce005a0d00200221010c010b411421000340200341e8006a20006a2204417c6a200220024290ce008022014290ce007e7da7220541ffff037141e4006e220641017441d8fec780006a2f00003b00002004417e6a2005200641e4006c6b41ffff037141017441d8fec780006a2f00003b00002000417c6a2100200242ffc1d72f5621042001210220040d000b0b02400240200142e300560d002001a721040c010b200341e8006a2000417e6a22006a2001a72204200441ffff037141e4006e220441e4006c6b41ffff037141017441d8fec780006a2f00003b00000b024002402004410a490d00200341e8006a2000417e6a22006a200441017441d8fec780006a2f00003b00000c010b200341e8006a2000417f6a22006a20044130723a00000b200942bda282a38eab04540d00200341e9006a41302000417f6a10fa978080001a2003200aa74130723a0068410021000b0240412720006b22052007280200200728020822046b4d0d002007200420054101410110a386808000200728020821040b200728020420046a200341e8006a20006a200510f4978080001a2007200420056a36020820034190016a2480808080000bb50501047f23808080800041106b2204248080808000024020002d00004101460d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110a386808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210bd8d8080001a02402005280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a0000200328020821012003280204210302402005280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41db003a000002402001450d00200441046a200341002f019480d4800010a38d8080002005200020042802082200200428020c10bd8d8080001a02402004280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b2005280200210020014101460d00200141057441606a2101200341206a210203400240200028020020002802082203470d002000200341014101410110a386808000200028020821030b2000200341016a360208200028020420036a412c3a0000200441046a200241002f019480d4800010a38d8080002005200020042802082200200428020c10bd8d8080001a02402004280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241206a210220052802002100200141606a22010d000b0b0240200028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41dd003a0000200441106a24808080800041000f0b41d0c7c78000412841b085c88000108081808000000be50101037f024020002d00004101460d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110a386808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210bd8d8080001a02402004280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a00002003200410de8c8080000f0b41d0c7c78000412841b085c88000108081808000000b9f0901047f23808080800041206b22042480808080000240024020002d00004101460d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110a386808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520042001200210bd8d8080001a02402005280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a413a3a0000200328020821062003280204210302402005280200220028020020002802082201470d002000200141014101410110a386808000200028020821010b2000200141016a2202360208200028020420016a41db003a0000024002402006450d00024020002802002002470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41db003a000020042005360210200441800436020c200441146a200341002f019480d4800010a38d8080002005200420042802182200200428021c10bd8d8080001a02402004280214450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b2004410c6a2003290320200329032810c98d808000200428020c22004101710d03024020004180fe0371450d0002402004280210280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41dd003a00000b024020064101460d002003200641306c6a2101200341306a2100034002402005280200220228020020022802082203470d002002200341014101410110a386808000200228020821030b2002200341016a360208200228020420036a412c3a000002402005280200220228020020022802082203470d002002200341014101410110a386808000200228020821030b2002200341016a360208200228020420036a41db003a000020042005360210200441800436020c200441146a200041002f019480d4800010a38d8080002005200420042802182202200428021c10bd8d8080001a02402004280214450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b2004410c6a200041206a290300200041286a29030010c98d808000200428020c22024101710d05024020024180fe0371450d0002402004280210280200220228020020022802082203470d002002200341014101410110a386808000200228020821030b2002200341016a360208200228020420036a41dd003a00000b200041306a22002001470d000b0b02402005280200220028020020002802082205470d002000200541014101410110a386808000200028020821050b2000200541016a360208200028020420056a41dd003a00000c010b024020002802002002470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41dd003a00000b200441206a24808080800041000f0b41d0c7c78000412841b085c88000108081808000000b41d0c7c78000412841e085c88000108081808000000bec0d01097f024002400240024002400240024020002d00000e06000102030405000b024020012802002200280200200028020822026b41034b0d002000200241044101410110a386808000200028020821020b2000200241046a360208200028020420026a41eeeab1e30636000041000f0b20012802002102024020002d00010d0002402002280200200228020822006b41044b0d002002200041054101410110a386808000200228020821000b2002200041056a360208200228020420006a220041002800a8c8c78000360000200041046a41002d00acc8c780003a000041000f0b02402002280200200228020822006b41034b0d002002200041044101410110a386808000200228020821000b2002200041046a360208200228020420006a41f4e4d5ab0636000041000f0b200028020821030240200028020c220420012802002200280200200028020822026b4d0d002000200220044101410110a386808000200028020821020b200028020420026a2003200410f4978080001a2000200220046a36020841000f0b200120002000280208200028020c10bd8d8080001a41000f0b200028020c21032000280208210202402001280200220028020020002802082204470d002000200441014101410110a386808000200028020821040b2000200441016a2205360208200028020420046a41db003a000002402003450d00200341047421044180022100034020004101710d03024020004180fe0371418002460d0002402001280200220328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a412c3a00000b2002200110cd8d8080001a200041ff817c71418004722100200241106a2102200441706a22040d000b02402001280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41dd003a000041000f0b024020002802002005470d002000200541014101410110a386808000200028020821050b2000200541016a360208200028020420056a41dd003a000041000f0b200028020c210602402001280200220228020020022802082204470d002002200441014101410110a386808000200228020821040b2002200441016a2203360208200228020420046a41fb003a0000024020060d00024020022802002003470d002002200341014101410110a386808000200228020821030b2002200341016a360208200228020420036a41fd003a000041000f0b0240024020002802042202450d002000280208210741002100418002210403402004210802400240024020000d00410021032007450d0120072100024020074107712204450d0003402000417f6a210020022802bc0221022004417f6a22040d000b0b20074108490d01034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200041786a22000d000c020b0b200221030c010b20022100410021070b02400240024002400240200720002f01ba024f0d0020002102200721040c010b034020002802b0012202450d02200341016a210320002f01b802210420022100200420022f01ba024f0d000b0b0240024020030d00200441016a2107200221000c010b200220044102746a41c0026a2802002100410021072003417f6a2205450d002003417e6a2109024020054107712203450d0003402005417f6a210520002802bc0221002003417f6a22030d000b0b20094107490d00034020002802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022100200541786a22050d000b0b20084101710d012004410474210320022004410c6c6a220441bc016a2802002105200441b8016a2802002109024020084180fe0371418002460d000240200128020022042802002004280208220a470d002004200a41014101410110a3868080002004280208210a0b2004200a41016a3602082004280204200a6a412c3a00000b200220036a2103200120002009200510bd8d8080001a2001280200220228020020022802082204470d022002200441014101410110a386808000200228020821040c020b41e881c8800010a081808000000b41d0c7c78000412841b085c88000108081808000000b2002200441016a360208200228020420046a413a3a00002003200110cd8d8080001a200841ff817c71418004722104410021022006417f6a22060d000b20084101710d010b02402001280200220028020020002802082202470d002000200241014101410110a386808000200028020821020b2000200241016a360208200028020420026a41fd003a000041000f0b41d0c7c78000412841c085c88000108081808000000b41d0c7c78000412841d085c88000108081808000000bf504010a7f23808080800041306b220124808080800020012000200010cf8d8080000240024020012802102202418080808078470d0020012f0001210020012d000021030c010b2001280224210420012802202105200128021c210620012802142107024020012802182200450d002000410171210841002103024020004101460d002000417e7121092007210041002103034002402000280200450d00200041046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002009200341026a2203470d000b0b2008450d0020072003410c6c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b02402002450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b02402004450d002004410171210241002103024020044101460d002004417e7121092005210041002103034002402000280200450d00200041046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002009200341026a2203470d000b0b2002450d0020052003410c6c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b4102210302402006450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b0b200141306a2480808080002000410874200341ff0171720bda0601097f2380808080004190016b22032480808080000240024020022d0000410b470d00200228020c210420022802082102200342f7b6fccfd083b2cf4d37008801200342afd2c6ffdbc495bc0837008001200342fc90b9e5d09296e777370078200342a6d4e6f1a4dd959860370070200341cc006a200341f0006a412010dd8580800002400240024020032d004c22054102460d002003412b6a410a6a200341cc006a410a6a2900003700002003412b6a41126a200341cc006a41126a2900003700002003412b6a41196a200341cc006a41196a2900003700002003200329004e37002d200320032d004d3a002c200320053a002b200341cc006a2002200441002802c480d48000118680808000000240200341cc006a2003412c6a412010f597808000450d00200341086a410910cf8c8080000c040b200341256a2003412b6a41206a2d00003a0000200341046a41196a200341c3006a290000370000200341156a2003413b6a2900003700002003410d6a200341336a2900003700002003200329002b37000541002d008083d480001a410c41002802f482d48000118280808000002202450d012002200241036a417c7120026b22056a2204417e6a20053b000041002d008083d480001a20034100360254200342808080801037024c412041002802f482d48000118280808000002202450d02200220032901063700002002417e6a220641003b0000200241086a22072003410e6a290100370000200241106a2208200341166a290100370000200241186a22092003411e6a290100370000200341cc006a4100412010f4918080002003280250200341cc006a41086a220a280200220b6a22052002290000370000200541086a2007290000370000200541106a2008290000370000200541186a2009290000370000200a200b41206a360200200220062f00006b41002802ec82d4800011818080800000200441086a200a2802003602002004200329024c370200200041086a427f3703002000427f370300200041013a00282000410136022420002004360220200042808080801037031820004280808080c0003703100c040b200341086a410810cf8c8080000c020b4104410c10ab80808000000b4101412010ab80808000000b2000418080808078360210200041003b01000b20034190016a2480808080000b980601057f23808080800041306b2201248080808000200141106a410010c78680800041002d008083d480001a200128021821022001280214210302400240412041002802f482d48000118280808000002204450d00200442c58a95aad4a8d1a2c5003700002004417e6a220541003b0000200441086a42c58a95aad4a8d1a2c500370000200441106a42c58a95aad4a8d1a2c500370000200441186a42c58a95aad4a8d1a2c500370000200320022004412041002802dc82d4800011838080800000200420052f00006b41002802ec82d480001181808080000002402001280210450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141106a41186a42c58a95aad4a8d1a2c500370300200141106a41106a42c58a95aad4a8d1a2c500370300200141106a41086a42c58a95aad4a8d1a2c500370300200142c58a95aad4a8d1a2c500370310200141106a10dd88808000200141086a41002802e0e5c480003602002001410236020c200141002902d8e5c48000370300200142a0b9ab8f9ae5999778370028200142f999a7c78cd1d1cdb17f370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd9598603700102001200141106a4120108286808000200142a2f5bea594dedcdb10370028200142d6888295b2b493ecbf7f370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141013a0000200141106a41202001410141002802dc82d4800011838080800000200142d2daa4a6928283fa39370028200142a7fbb3c3b2f09acd28370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141013a0000200141106a41202001410141002802dc82d480001183808080000041002d008083d480001a410441002802f482d48000118280808000002204450d01200441003600002004417e6a220341003b000041bcc8c7800041102004410441002802dc82d4800011838080800000200420032f00006b41002802ec82d4800011818080800000200141306a2480808080000f0b4101412010ab80808000000b4101410410ab80808000000b6202017f027e23808080800041e0006b22012480808080000240200029030022022000290308220384500d00200010fe888080002001200337031820012002370310200141123a000041014100200110d28d8080000b200141e0006a2480808080000bdc0501087f23808080800041b0016b2203248080808000200342d3d8c5d2a9b9d2c1ac7f37003820034282ca868eabf3add0cf00370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341186a200341206a412010d08580800002402003280218410171450d00200328021c2204450d0020034293bb8a9cbb9ab6b31a370038200342ffabedd185d3d8d216370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341106a200341206a412010ee858080002001410574210541002106024002400240200141ffffff3f4b0d004100210720054100480d002003280214210820032802102109410121062005450d0241002d008083d480001a200541002802f482d480001182808080000022060d01410121060b2006200541d484c8800010b980808000000b2006417e6a41003b0000200121070b20062000200510f497808000210a200342b7aeb183f6f8ab9cd0003700382003428ab0f6f7cbd3f9e2d800370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341086a200341206a412010d0858080000240200328020c410020032802084101711b2206417f460d00200342b7aeb183f6f8ab9cd0003700382003428ab0f6f7cbd3f9e2d800370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd9598603700202003200641016a3602ac01200341206a4120200341ac016a410441002802dc82d4800011838080800000200341206a200241e00010f4978080001a200320083602900120034102200920094103461b36028c0120032001360288012003200a360284012003200736028001200341206a10f1888080002001450d01034020032006360224200320043602202000200341206a10ee86808000200041206a2100200541606a22050d000c020b0b2007450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b200341b0016a2480808080000b6202017f027e23808080800041e0006b22012480808080000240200029030022022000290308220384500d00200010f7888080002001200337031820012002370310200141113a000041014100200110d28d8080000b200141e0006a2480808080000b8e0401037f23808080800041f0006b2203248080808000200341e4006a200110c986808000200320032802682204200328026c10e38580800002402003280264450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341e4006a200110c986808000200320032802682204200328026c10e3858080002003280200200328025841004771210502402003280264450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b0240024020050d00200341e4006a200110c986808000200320032802682204200328026c10e3858080002003280200200328025c41004771210502402003280264450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20050d002003200110c986808000200328020422022003280208410028029482d48000118b80808000002003280200450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b200341186a200241086a290300370300200341206a200241106a290300370300200341286a200241186a290300370300200341306a200241206a290300370300200341386a200241286a290300370300200341c0006a200241306a290300370300200341c8006a200241386a2903003703002003420037030820034201370300200320022903003703102001200310f0868080000b2000410f3a0000200341f0006a2480808080000b8c1409027f0a7e027f027e017f027e017f037e047f23808080800041b0016b2203248080808000200341286a200110c986808000200341d0006a200328022c2204200328023010e3858080000240024020032802504101710d00428080808080808080807f2105420021064200210742002108420021094200210a4200210b4200210c0c010b2003290398012105200329039001210c200329038801210b200329038001210a200329037821092003290370210820032903682107200329036021060b02402003280228450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b4200210d0240024020062007844200520d0020082009844200520d00200a200b844200520d004200210e200c2005428080808080808080807f85844200520d004201210d4100210f4101211042002108420021094200210a4200210b4200210c428080808080808080807f21050c010b2008200a842009200b8484420052210f200642f4035441002007501b21104200210e0b0240024020062002280204220429030022112008201120085420042903082212200954201220095122041b22131b22147c2215200654221620072012200920131b22177c22182016ad7c221920075420192007511b4101460d0020182015201454ad7c21180c010b024041002802b483d48000450d00200341c181808000ad42208641a09dc68000ad84370328410028029080d480002113410028028c80d48000211641002802b083d48000211a20034201370288012003410136028001200341c09ec6800036027c20034112360278200341909ec6800036027420034101360270200341bc9dc68000ad4280808080c00a8437026820034100360264200341a29ec68000ad4280808080b0038437025c2003410036025820034281808080a01c3702502013419cf4ca8000201a410246221a1b28021021132003200341286a36028401201641b4f4ca8000201a1b200341d0006a2013118b80808000000b427f2018200620147c22192006542213ad7c22152013201520075420152007511b22131b2118427f201920131b21150b2008201156200920125620041b2104200a200b84420052211602402010201542f30356201842005220185022131b71450d002002280200221a201a10f2868080001a0b20042016722116024002400240024002400240200f450d002002280200211a20160d01201a10f1868080000c020b2016450d01024020022802082d00000d00200341d0006a2002280200221a10ea8680800020032d0050221b410f460d01200341da006a350100200341de006a3301004220868421080c030b200341d0006a2002280200221a10eb8680800020032d0050221b410f460d00200341da006a350100200341de006a3301004220868421080c020b200341286a201a10c986808000200341d0006a200328022c221b200328023010e385808000200328025020032802a40141004771211c02402003280228450d00201b201b417e6a2f00006b41002802ec82d48000118180808000000b201c0d00024041002802b483d48000450d00410028029080d48000211b410028028c80d48000211c41002802b083d48000211d200342003702880120034281808080c00037028001200341e8f1c7800036027c20034111360278200341bdf2c7800036027420034101360270200341f0f1c78000ad4280808080d0098437026820034100360264200341cef2c78000ad4280808080f0028437025c2003410036025820034281808080d08901370250201c41b4f4ca8000201d410246221d1b200341d0006a201b419cf4ca8000201d1b280210118b80808000000b200341d0006a201a10ea8680800020032d0050221b410f460d00200341da006a350100200341de006a3301004220868421080c010b02402010201542f30356201842005220131b720d00200320022802002202200210ec8680800020032d0000221b410f460d0002400240200f450d0020160d01200341146a200210ea8680800020032d0014410f460d01200341286a41106a200341146a41106a280200360200200341286a41086a200341146a41086a2902003703002003200329021437032841002802b483d48000450d01200341d883808000ad422086200341286aad84370348200341c181808000ad42208641b8edc68000ad84370340410028029080d480002102410028028c80d48000210141002802b083d4800021042003420237028801200341c4edc6800036027c20034112360278200341a8eec6800036027420034101360270200341d4edc68000ad4280808080c00a8437026820034100360264200341baeec68000ad4280808080b0038437025c2003410036025820034281808080d02537025020034102360280012002419cf4ca8000200441024622041b28021021022003200341c0006a36028401200141b4f4ca800020041b200341d0006a2002118b80808000000c010b2016450d00200210f1868080000b2003410a6a3501002003410e6a330100422086842108200329010221092003280210210220032d000121010c020b0240024002400240024020040d0042002112201542f30356201842005220131b450d010b200920177d2008201454ad7d2109200820147d21084200211142012112410021102004450d0120152106201821070c020b20152018844200522110420021110c010b20152106201821072015428c7c7c2219428d7c5420182019201554ad7c427f7c2219427f522019427f511b450d010b200341286a200110c986808000200341d0006a200328022c2202200328023010e385808000200328025020032802a80141004771210402402003280228450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b0240024020040d00200341286a200110c986808000200341d0006a200328022c2202200328023010e385808000200328025020032802ac0141004771210402402003280228450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20040d00200341d0006a200110c986808000200328025422022003280258410028029482d48000118b80808000002003280250450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b2003200c370390012003200a3703800120032008370370200320063703602003201237035020032005370398012003200b370388012003200937037820032007370368200320113703582001200341d0006a10f0868080000b2000201437034020002015370330200042003e022c20004200370224200020153703102000200d370300200020103602202000201737034820002018370338200020183703182000200e3703080c030b41e5f2c7800041dd0041c4f3c78000108081808000000b200329015221092003280260210220032d005121010b20004200370308200042023703002000200236022020002008421086200942308884370318200020094210862001ad42ff018342088684201bad843703100b200341b0016a2480808080000bd21207027f0a7e027f037e017f017e047f23808080800041e0016b2203248080808000200341d8006a200110c98680800020034180016a200328025c2204200328026010e385808000024002402003280280014101710d00428080808080808080807f2105420021064200210742002108420021094200210a4200210b4200210c0c010b20032903c801210520032903c001210c20032903b801210b20032903b001210a20032903a801210920032903a0012108200329039801210720032903900121060b02402003280258450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b4200210d0240024020062007844200520d0020082009844200520d00200a200b844200520d004200210e200c2005428080808080808080807f85844200520d004201210d4100210f4101210442002108420021094200210a4200210b4200210c428080808080808080807f21050c010b2008200a842009200b8484420052210f200642f4035441002007501b21044200210e0b02400240420020062002280204221029030022117d221220122006562007201029030822127d2006201154ad7d221320075620132007511b22101b20022802082214290300584200201320101b2213201429030822155820132015511b0d00200341306a410310e68c80800020062111200721120c010b2003410f3a00300b2008200a842009200b8484211302402004201142f30356201242005220125022141b71450d0020022802002210201010f2868080001a0b20134200522110024002400240024002400240200f450d002002280200211620100d01201610f1868080000c020b2010450d010240200228020c2d00000d0020034180016a2002280200221610ea8680800020032d0080012217410f460d012003418a016a3501002003418e016a3301004220868421070c030b20034180016a2002280200221610eb8680800020032d0080012217410f460d002003418a016a3501002003418e016a3301004220868421070c020b200341d8006a201610c98680800020034180016a200328025c2217200328026010e38580800020032802800120032802d40141004771211802402003280258450d0020172017417e6a2f00006b41002802ec82d48000118180808000000b20180d00024041002802b483d48000450d00410028029080d480002117410028028c80d48000211841002802b083d480002119200342003702b80120034281808080c0003702b001200341e8f1c780003602ac01200341113602a801200341bdf2c780003602a401200341013602a001200341f0f1c78000ad4280808080d00984370298012003410036029401200341cef2c78000ad4280808080f0028437028c01200341003602880120034281808080d0890137028001201841b4f4ca8000201941024622191b20034180016a2017419cf4ca800020191b280210118b80808000000b20034180016a201610ea8680800020032d0080012217410f460d002003418a016a3501002003418e016a3301004220868421070c010b02402004201142f30356201242005220141b2214720d002003411c6a20022802002202200210ec8680800020032d001c2217410f460d0002400240200f450d0020100d01200341c4006a200210ea8680800020032d0044410f460d01200341d8006a41106a200341c4006a41106a280200360200200341d8006a41086a200341c4006a41086a2902003703002003200329024437035841002802b483d48000450d01200341d883808000ad422086200341d8006aad84370378200341c181808000ad42208641b8edc68000ad84370370410028029080d480002102410028028c80d48000210141002802b083d480002104200342023702b801200341c4edc680003602ac01200341123602a801200341a8eec680003602a401200341013602a001200341d4edc68000ad4280808080c00a84370298012003410036029401200341baeec68000ad4280808080b0038437028c01200341003602880120034281808080d02537028001200341023602b0012002419cf4ca8000200441024622041b28021021022003200341f0006a3602b401200141b4f4ca800020041b20034180016a2002118b80808000000c010b2010450d00200210f1868080000b200341266a3501002003412a6a330100422086842107200329011e2106200328022c210220032d001d21010c020b0240024002400240024020140d004200211320082009844200510d010b4200211542012113410021042011428c7c7c2206428d7c5420122006201154ad7c427f7c2206427f522006427f511b450d0120112106201221070c020b20112012844200522104420021150c010b201121062012210720082009844200510d010b200341106a200341306a41106a280200360200200320032902303703002003200341386a290200370308200341d8006a200110c98680800020034180016a200328025c2202200328026010e38580800020032802800120032802d80141004771210f02402003280258450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b02400240200f0d00200341d8006a200110c98680800020034180016a200328025c2202200328026010e38580800020032802800120032802dc0141004771210f02402003280258450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200f0d0020034180016a200110c9868080002003280284012202200328028801410028029482d48000118b8080800000200328028001450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b2003200c3703c0012003200a3703b001200320083703a00120032006370390012003201337038001200320053703c8012003200b3703b801200320093703a80120032007370398012003201537038801200120034180016a10f0868080000b20002011370330200042003e022c20004200370224200020113703102000200d370300200020043602202000200329030037034020002012370338200020123703182000200e370308200041c8006a2003290308370300200041d0006a200341106a2802003602000c030b41e5f2c7800041dd0041c4f3c78000108081808000000b2003290182012106200328029001210220032d00810121010b20004200370308200042023703002000200236022020002007421086200642308884370318200020064210862001ad42ff0183420886842017ad843703100b200341e0016a2480808080000bf61008027f0a7e017f017e017f027e047f037e23808080800041b0016b2203248080808000200341286a200110c986808000200341d0006a200328022c2204200328023010e3858080000240024020032802504101710d00428080808080808080807f2105420021064200210742002108420021094200210a4200210b4200210c0c010b2003290398012105200329039001210c200329038801210b200329038001210a200329037821092003290370210820032903682107200329036021060b02402003280228450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b4200210d0240024020062007844200520d0020082009844200520d00200a200b844200520d004200210e200c2005428080808080808080807f85844200520d004201210d4100210f4101210442002108420021094200210a4200210b4200210c428080808080808080807f21050c010b2008200a842009200b8484420052210f200642f4035441002007501b21044200210e0b2008200a842009200b848421102002280204221129030821122011290300211302402004450d00201342f3035620124200522012501b450d0020022802002211201110f2868080001a0b20104200522111024002400240024002400240200f450d002002280200211420110d01201410f1868080000c020b2011450d01024020022802082d00000d00200341d0006a2002280200221410ea8680800020032d00502215410f460d01200341da006a350100200341de006a3301004220868421080c030b200341d0006a2002280200221410eb8680800020032d00502215410f460d00200341da006a350100200341de006a3301004220868421080c020b200341286a201410c986808000200341d0006a200328022c2215200328023010e385808000200328025020032802a40141004771211602402003280228450d0020152015417e6a2f00006b41002802ec82d48000118180808000000b20160d00024041002802b483d48000450d00410028029080d480002115410028028c80d48000211641002802b083d480002117200342003702880120034281808080c00037028001200341e8f1c7800036027c20034111360278200341bdf2c7800036027420034101360270200341f0f1c78000ad4280808080d0098437026820034100360264200341cef2c78000ad4280808080f0028437025c2003410036025820034281808080d08901370250201641b4f4ca8000201741024622171b200341d0006a2015419cf4ca800020171b280210118b80808000000b200341d0006a201410ea8680800020032d00502215410f460d00200341da006a350100200341de006a3301004220868421080c010b02402004201342f3035620124200522012501b2214720d00200320022802002202200210ec8680800020032d00002215410f460d0002400240200f450d0020110d01200341146a200210ea8680800020032d0014410f460d01200341286a41106a200341146a41106a280200360200200341286a41086a200341146a41086a2902003703002003200329021437032841002802b483d48000450d01200341d883808000ad422086200341286aad84370348200341c181808000ad42208641b8edc68000ad84370340410028029080d480002102410028028c80d48000210141002802b083d4800021042003420237028801200341c4edc6800036027c20034112360278200341a8eec6800036027420034101360270200341d4edc68000ad4280808080c00a8437026820034100360264200341baeec68000ad4280808080b0038437025c2003410036025820034281808080d02537025020034102360280012002419cf4ca8000200441024622041b28021021022003200341c0006a36028401200141b4f4ca800020041b200341d0006a2002118b80808000000c010b2011450d00200210f1868080000b2003410a6a3501002003410e6a330100422086842108200329010221122003280210210220032d000121010c020b0240024002400240024020140d004200211020082009844200510d010b4200211842012110410021042013428c7c7c2219428d7c5420122019201354ad7c427f7c2219427f522019427f511b450d01201321192012211a0c020b20132012844200522104200621192007211a420021180c010b201321192012211a20082009844200510d010b200341286a200110c986808000200341d0006a200328022c2202200328023010e385808000200328025020032802a80141004771210f02402003280228450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b02400240200f0d00200341286a200110c986808000200341d0006a200328022c2202200328023010e385808000200328025020032802ac0141004771210f02402003280228450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200f0d00200341d0006a200110c986808000200328025422022003280258410028029482d48000118b80808000002003280250450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b2003200c370390012003200a3703800120032008370370200320193703602003201037035020032005370398012003200b37038801200320093703782003201a370368200320183703582001200341d0006a10f0868080000b2000200637034020002013370330200042003e022c20004200370224200020133703102000200d370300200020043602202000200737034820002012370338200020123703182000200e3703080c030b41e5f2c7800041dd0041c4f3c78000108081808000000b200329015221122003280260210220032d005121010b20004200370308200042023703002000200236022020002008421086201242308884370318200020124210862001ad42ff0183420886842015ad843703100b200341b0016a2480808080000be01008027f0a7e017f017e017f027e047f017e23808080800041b0016b2203248080808000200341286a200110c986808000200341d0006a200328022c2204200328023010e3858080000240024020032802504101710d00428080808080808080807f2105420021064200210742002108420021094200210a4200210b4200210c0c010b2003290398012105200329039001210c200329038801210b200329038001210a200329037821092003290370210820032903682107200329036021060b02402003280228450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b4200210d0240024020062007844200520d0020082009844200520d00200a200b844200520d004200210e200c2005428080808080808080807f85844200520d004201210d4100210f4101210442002108420021094200210a4200210b4200210c428080808080808080807f21050c010b2008200a842009200b8484420052210f200642f4035441002007501b21044200210e0b2008200a842009200b848421102002280204221129030821122011290300211302402004450d00201342f3035620124200522012501b450d0020022802002211201110f2868080001a0b20104200522111024002400240024002400240200f450d002002280200211420110d01201410f1868080000c020b2011450d01024020022802082d00000d00200341d0006a2002280200221410ea8680800020032d00502215410f460d01200341da006a350100200341de006a3301004220868421080c030b200341d0006a2002280200221410eb8680800020032d00502215410f460d00200341da006a350100200341de006a3301004220868421080c020b200341286a201410c986808000200341d0006a200328022c2215200328023010e385808000200328025020032802a40141004771211602402003280228450d0020152015417e6a2f00006b41002802ec82d48000118180808000000b20160d00024041002802b483d48000450d00410028029080d480002115410028028c80d48000211641002802b083d480002117200342003702880120034281808080c00037028001200341e8f1c7800036027c20034111360278200341bdf2c7800036027420034101360270200341f0f1c78000ad4280808080d0098437026820034100360264200341cef2c78000ad4280808080f0028437025c2003410036025820034281808080d08901370250201641b4f4ca8000201741024622171b200341d0006a2015419cf4ca800020171b280210118b80808000000b200341d0006a201410ea8680800020032d00502215410f460d00200341da006a350100200341de006a3301004220868421080c010b02402004201342f3035620124200522012501b2214720d00200320022802002202200210ec8680800020032d00002215410f460d0002400240200f450d0020110d01200341146a200210ea8680800020032d0014410f460d01200341286a41106a200341146a41106a280200360200200341286a41086a200341146a41086a2902003703002003200329021437032841002802b483d48000450d01200341d883808000ad422086200341286aad84370348200341c181808000ad42208641b8edc68000ad84370340410028029080d480002102410028028c80d48000210141002802b083d4800021042003420237028801200341c4edc6800036027c20034112360278200341a8eec6800036027420034101360270200341d4edc68000ad4280808080c00a8437026820034100360264200341baeec68000ad4280808080b0038437025c2003410036025820034281808080d02537025020034102360280012002419cf4ca8000200441024622041b28021021022003200341c0006a36028401200141b4f4ca800020041b200341d0006a2002118b80808000000c010b2011450d00200210f1868080000b2003410a6a3501002003410e6a330100422086842108200329010221122003280210210220032d000121010c020b0240024002400240024020140d004200211020082009844200510d010b4200211842012110410021042013428c7c7c2206428d7c5420122006201354ad7c427f7c2206427f522006427f511b450d0120132106201221070c020b20132012844200522104420021180c010b201321062012210720082009844200510d010b200341286a200110c986808000200341d0006a200328022c2202200328023010e385808000200328025020032802a80141004771210f02402003280228450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b02400240200f0d00200341286a200110c986808000200341d0006a200328022c2202200328023010e385808000200328025020032802ac0141004771210f02402003280228450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200f0d00200341d0006a200110c986808000200328025422022003280258410028029482d48000118b80808000002003280250450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b2003200c370390012003200a3703800120032008370370200320063703602003201037035020032005370398012003200b370388012003200937037820032007370368200320183703582001200341d0006a10f0868080000b20002013370330200042003e022c20004200370224200020133703102000200d3703002000200436022020002012370338200020123703182000200e3703080c030b41e5f2c7800041dd0041c4f3c78000108081808000000b200329015221122003280260210220032d005121010b20004200370308200042023703002000200236022020002008421086201242308884370318200020124210862001ad42ff0183420886842015ad843703100b200341b0016a2480808080000bbf0601037f23808080800041c0006b2203248080808000200342d3d8c5d2a9b9d2c1ac7f37003820034282ca868eabf3add0cf00370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341086a200341206a412010d0858080002003200328020c410020032802084101711b220441016a22053602140240024020052000280200470d004102200310e9888080002003410036022041bcc8c780004110200341206a410441002802dc82d48000118380808000002003200136021c200341cdcfc78000360218200341206a200341186a108a8c80800041e5cfc780004113200341206a412041002802dc82d4800011838080800000200342d3d8c5d2a9b9d2c1ac7f37003820034282ca868eabf3add0cf00370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd95986037002020032005360218200341206a4120200341186a410441002802dc82d4800011838080800000200342f4fa97f89782c7a62d37003820034299cfe7ffe3b8eac708370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd95986037002020022802042002280208200341206a412010888c808000200110dd88808000200341206a200410c78680800041002d008083d480001a2003280228210020032802242102412041002802f482d48000118280808000002205450d012005417e6a220441003b000020052001290000370000200541086a200141086a290000370000200541106a200141106a290000370000200541186a200141186a290000370000200220002005412041002802dc82d4800011838080800000200520042f00006b41002802ec82d480001181808080000002402003280220450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200342f89aef8eef91e1ce967f370038200342b4d6d6dfccc6b592c300370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341206a4120410028029482d48000118b8080800000200341c0006a2480808080000f0b2003420037022c20034281808080c00037022420034190ccc780003602204100200341146a2000200341206a4198ccc7800010d382808000000b4101412010ab80808000000bea0401097f23808080800041d0006b2203248080808000410a210402402002450d00200341046a2000200141002802fc80d48000118680808000000240024020032802042201418080808078460d00200328020821022003200328020c36024c20032002360248200341106a200341c8006a4100200310f48480800020032802102200418180808078470d012001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b410321040c010b20032802382105200328022c21062003280228210720032802202108200328021c21092003280218210a2003280214210b02402001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b410121020240200a4116470d00200b418ce4c48000411610f5978080000d004102210220054103490d000240200041808080807872418080808078460d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200941808080807872418080808078460d0020082008417e6a2f00006b41002802ec82d48000118180808000000b200741808080807872418080808078460d0120062006417e6a2f00006b41002802ec82d48000118180808000000c010b0240200041808080807872418080808078460d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b0240200941808080807872418080808078460d0020082008417e6a2f00006b41002802ec82d48000118180808000000b0240200741808080807872418080808078470d00200221040c010b20062006417e6a2f00006b41002802ec82d4800011818080800000200221040b200341d0006a24808080800020040b950401037f23808080800041d0006b2200248080808000200042bc8986ab88c2dce45737004820004280a9fbf0e5a2c1b3e500370040200042fc90b9e5d09296e777370038200042a6d4e6f1a4dd959860370030200041306a4120410028029482d48000118b8080800000200042b7aeb183f6f8ab9cd0003700482000428ab0f6f7cbd3f9e2d800370040200042fc90b9e5d09296e777370038200042a6d4e6f1a4dd959860370030200041306a4120410028029482d48000118b8080800000200041306a41f8e7c48000410641002802d480d4800011868080800000200041306a41106a220141d08dc58000410b41002802d480d4800011868080800000200041106a41186a200041306a41186a290000370300200041106a41106a2001290000370300200041106a41086a200041306a41086a29000037030020002000290030370310200041086a200041106a41204101417f410028029c82d4800011878080800000024002402000280208410171450d0041002d008083d480001a412041002802f482d48000118280808000002201450d012001417e6a220241003b0000200141186a200041106a41186a290300370000200141106a200041106a41106a290300370000200141086a200041106a41086a29030037000020012000290310370000200120022f00006b41002802ec82d48000118180808000000b200041d0006a2480808080000f0b4101412010ab80808000000bdc0204017f017e017f067e23808080800041c0006b220224808080800020024291cdeec7c8fdb89eac7f3700382002428c9e97b8b5e8dcc5fa00370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241086a200241206a412010ed8580800020022903102103200228020821042002290318210520002903102106200029030021072000290318210820002903082109200241206a2001200010b4918080002002290320210a20024200427f200920087c220820082009541b20022903287d22082005420020041b2209200820095622011b220520097d220920092005561b37032820024200427f200720067c220920092007541b200a7d22092003420020041b2207200920075622041b220920077d220720072009561b3703200240024020040d002001450d010b200241206a200010f8888080002009200510e0888080000b200241c0006a24808080800041020b8b0f07027f027e027f017e017f027e027f23808080800041a0036b2202248080808000200241206a2000200029030042025122034103746a200110b4918080002002290328210420022903202105200241206a10aa86808000200241206a210602400240024020012d002022070e03020001020b200241f8006a21060c010b200241d0016a21060b427f200420062903507c220820082004541b2108427f200520062903487c220420042005541b210420012d00212106024002400240024020030d0020002d00182101200220003602d402410121032006410171210641002802b483d4800041044b0d010c020b41012101024020064101710d0020002d002021010b4100210342002105200721092008210a2004210b0c020b200242d3d8c5d2a9b9d2c1ac7f37003820024282ca868eabf3add0cf00370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241186a200241206a412010d085808000200241f783808000ad422086200241d4026aad843703e002200241f883808000ad422086200241ec026aad843703d8022002200228021c410020022802184101711b3602ec02410028029080d480002109410028028c80d48000210c41002802b083d48000210d2002420237025820024180cfc7800036024c2002410f360248200241c8cec780003602442002410536024020024184c2c78000ad4280808080b0098437023820024100360234200241d7cec78000ad4280808080c0018437022c2002410036022820024281808080f09b02370220200241023602502009419cf4ca8000200d410246220d1b28021021092002200241d8026a360254200c41b4f4ca8000200d1b200241206a2009118b80808000000b4101200120061b210620044280807c8321052004420888a72101200029022c210a2000290224210b200028022021002004a721090b200241e0006a200241f8026a290300370300200241e8006a20024180036a290300370300200220033a0028200220022f00d1023b0029200220063a0051200220073a0050200220083703482002200a3703382002200b3703302002200036022c200220022903f0023703582002200241d3026a2d00003a002b20022001ad42ff01834208862005842009ad42ff0183843703402002411e3a002041014100200241206a10d28d808000024041002802b483d4800041044d0d00200242f89aef8eef91e1ce967f37008803200242b4d6d6dfccc6b592c30037008003200242fc90b9e5d09296e7773700f802200242a6d4e6f1a4dd9598603700f002200241206a200241f0026a412010ce858080000240024020022802204101470d00200241f0026a41286a200241d0006a290300370300200241f0026a41206a200241206a41286a290300370300200241f0026a41186a200241206a41206a290300370300200241f0026a41106a200241206a41186a290300370300200241f8026a200241206a41106a290300370300200220022903283703f0020c010b20024198036a4200370300200241f0026a41206a420037030020024188036a420037030020024180036a4200370300200241f8026a4200370300200242003703f0020b200241f983808000ad422086200241f0026aad843703d802410028029080d480002100410028028c80d48000210141002802b083d4800021062002420137025820024101360250200241a4cfc7800036024c2002410f360248200241c8cec780003602442002410536024020024184c2c78000ad4280808080b0098437023820024100360234200241d7cec78000ad4280808080c0018437022c2002410036022820024281808080c09d023702202000419cf4ca8000200641024622061b28021021002002200241d8026a360254200141b4f4ca800020061b200241206a2000118b80808000000b024041002802b483d4800041044d0d0020024295f38cfcb699a3c4ef00370038200242a8db95cdaa86daa719370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241106a200241206a412010d085808000200241f883808000ad422086200241d8026aad843703f00220022002280214410020022802104101711b3602d802410028029080d480002100410028028c80d48000210141002802b083d4800021062002420137025820024101360250200241c0cfc7800036024c2002410f360248200241c8cec780003602442002410536024020024184c2c78000ad4280808080b0098437023820024100360234200241d7cec78000ad4280808080c0018437022c2002410036022820024281808080a09e023702202000419cf4ca8000200641024622061b28021021002002200241f0026a360254200141b4f4ca800020061b200241206a2000118b80808000000b200241086a41bcc8c78000411010d0858080002002200228020c41016a410120022802084101711b220036022041bcc8c780004110200241206a410441002802dc82d48000118380808000004100200010e98880800020024291cdeec7c8fdb89eac7f3700382002428c9e97b8b5e8dcc5fa00370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241206a4120410028029482d48000118b8080800000200241a0036a2480808080000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000ba40201037f23808080800041106b22022480808080002002200041206a3602042001280200418485c880004110200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a419485c880004106200041e484c88000108a81808000419a85c88000410b200041106a41e484c88000108a8180800041a585c880004109200241046a41f484c88000108a81808000210420022d000d220120022d000c2203722100024020014101470d0020034101710d000240200428020022002d000a418001710d00200028020041dd80c280004102200028020428020c1180808080000021000c010b200028020041dc80c280004101200028020428020c1180808080000021000b200241106a24808080800020004101710bd20101037f23808080800041306b2200248080808000200041bcc8c78000411010d085808000200028020421010240200028020022024101470d0041bcc8c780004110410028029482d48000118b80808000000b200042bad08eede089ffa812370024200042bd81f785e387e6aa817f37001c200042fc90b9e5d09296e777370014200042a6d4e6f1a4dd95986037000c20002001410020024101711b36022c2000410c6a41202000412c6a410441002802dc82d48000118380808000004101200010e988808000200041306a2480808080000b900301027f23808080800041d0006b2203248080808000200342f7b6fccfd083b2cf4d370026200342afd2c6ffdbc495bc0837001e200342fc90b9e5d09296e777370016200342a6d4e6f1a4dd95986037000e2003412f6a2003410e6a412010dd858080000240024020032d002f22044102460d002003410e6a410a6a2003412f6a410a6a2900003700002003410e6a41126a2003412f6a41126a2900003700002003410e6a41196a2003412f6a41196a29000037000020032003290031370010200320032d00303a000f200320043a000e2003412f6a2001200241002802c480d480001186808080000002402003412f6a2003410e6a41016a412010f597808000450d00200041046a410910cf8c808000200041013a00000c020b2000200329000e370001200041003a0000200041216a2003412e6a2d00003a0000200041196a200341266a290000370000200041116a2003411e6a290000370000200041096a200341166a2900003700000c010b200041046a410810cf8c808000200041013a00000b200341d0006a2480808080000bad2803047f027e037f23808080800041f0136b2201248080808000024041002802b483d480004104490d00200142d3d8c5d2a9b9d2c1ac7f3700981120014282ca868eabf3add0cf0037009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd9598603700801120014180026a20014180116a412010d085808000200120012802840241002001280280024101711b3602d403200142bad08eede089ffa81237009811200142bd81f785e387e6aa817f37009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141f8016a20014180116a412010d085808000200120012802fc01410020012802f8014101711b3602d80320014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141f0016a20014180116a412010d085808000200120012802f401410020012802f0014101711b3602dc0320014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141e8016a20014180116a412010d08580800041e400210241e4002103024020012802ec01410020012802e8014101711b2204418080f0014b0d00200441e4006c418080f0016e21030b200120033a00e10320014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141e0016a20014180116a412010d085808000024020012802e401410020012802e0014101711b2203418080c0024b0d00200341e4006c418080c0026e21020b200120023a00e20320014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141d8016a20014180116a412010d08580800041e4002102024020012802dc01410020012802d8014101711b2203418080c0024b0d00200341e4006c418080c0026e21020b200120023a00e303200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce85808000024002402001280280114101470d00200141e8036a41286a200141b0116a290300370300200141e8036a41206a20014180116a41286a290300370300200141e8036a41186a20014180116a41206a290300370300200141e8036a41106a20014180116a41186a290300370300200141f0036a20014180116a41106a29030037030020012001290388113703e8030c010b20014190046a420037030020014188046a420037030020014180046a4200370300200141f8036a4200370300200141f0036a4200370300200142003703e8030b2001200141e8036a3602e403200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce8580800020012802801121042001290388112105200141a0046a10aa8680800041e400210341e4002102024020012903c004427f20012802b8044101711b2206500d0041e40021022005420020041b22052006560d00200141c0016a2005420042e400420010fc97808000200141b0016a20012903c00120012903c8012006420010829880800041e400210220012903b80122064200520d0020012903b0012205a741e40020054280025441002006501b1b21020b200120023a009f04200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce8580800020012802801121022001290390112105200141d0066a10aa86808000024020012903f806427f20012802e8064101711b2206500d002005420020021b22052006560d00200141a0016a2005420042e400420010fc9780800020014190016a20012903a00120012903a8012006420010829880800020012903980122064200520d002001290390012205a741e40020054280025441002006501b1b21030b200120033a00cf06200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce85808000024002402001280280114101470d0020014180096a41286a200141b0116a29030037030020014180096a41206a20014180116a41286a29030037030020014180096a41186a20014180116a41206a29030037030020014180096a41106a20014180116a41186a29030037030020014188096a20014180116a41106a2903003703002001200129038811370380090c010b200141a8096a420037030020014180096a41206a420037030020014198096a420037030020014190096a420037030020014188096a420037030020014200370380090b200120014190096a3602fc08200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce8580800020012802801121042001290398112105200141b8096a10aa8680800041e400210341e4002102024020012903b00a427f20012802a80a4101711b2206500d0041e40021022005420020041b22052006560d0020014180016a2005420042e400420010fc97808000200141f0006a2001290380012001290388012006420010829880800041e4002102200129037822064200520d0020012903702205a741e40020054280025441002006501b1b21020b200120023a00b709200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce85808000200128028011210220012903a0112105200141e80b6a10aa86808000024020012903e80c427f20012802d80c4101711b2206500d002005420020021b22052006560d00200141e0006a2005420042e400420010fc97808000200141d0006a2001290360200129036820064200108298808000200129035822064200520d0020012903502205a741e40020054280025441002006501b1b21030b200120033a00e70b200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce85808000024002402001280280114101470d00200141980e6a41286a200141b0116a290300370300200141980e6a41206a20014180116a41286a290300370300200141980e6a41186a20014180116a41206a290300370300200141980e6a41106a20014180116a41186a290300370300200141a00e6a20014180116a41106a29030037030020012001290388113703980e0c010b200141c00e6a4200370300200141980e6a41206a4200370300200141b00e6a4200370300200141a80e6a4200370300200141a00e6a4200370300200142003703980e0b2001200141980e6a41206a3602940e200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010ce85808000200128028011210420012903a8112105200141d00e6a10aa8680800041e400210341e4002102024020012903a010427f2001280298104101711b2206500d0041e40021022005420020041b22052006560d00200141c0006a2005420042e400420010fc97808000200141306a200129034020012903482006420010829880800041e4002102200129033822064200520d0020012903302205a741e40020054280025441002006501b1b21020b200120023a00cf0e200142f89aef8eef91e1ce967f3700f002200142b4d6d6dfccc6b592c3003700e802200142fc90b9e5d09296e7773700e002200142a6d4e6f1a4dd9598603700d80220014180116a200141d8026a412010ce85808000200128028011210220012903b011210520014180116a10aa86808000024020012903d812427f20012802c8124101711b2206500d002005420020021b22052006560d00200141206a2005420042e400420010fc97808000200141106a2001290320200129032820064200108298808000200129031822064200520d0020012903102205a741e40020054280025441002006501b1b21030b200120033a00ff10200141fa83808000ad4220862206200141ff106aad843703c80320012006200141cf0e6aad843703c003200141fb83808000ad4220862205200141940e6aad843703b80320012006200141e70b6aad843703b00320012006200141b7096aad843703a80320012005200141fc086aad843703a00320012006200141cf066aad8437039803200120062001419f046aad843703900320012005200141e4036aad843703880320012006200141e3036aad843703800320012006200141e2036aad843703f80220012006200141e1036aad843703f0022001418680808000ad4220862206200141dc036aad843703e80220012006200141d8036aad843703e002200141f883808000ad422086200141d4036aad843703d802410028029080d480002102410028028c80d48000210341002802b083d4800021042001420f3702e013200141103602d813200141c8cdc780003602d4132001410f3602d013200141c8cec780003602cc13200141043602c81320014184c2c78000ad4280808080b009843702c013200141003602bc13200141d7cec78000ad4280808080c001843702b413200141003602b01320014281808080a0f3013702a8132002419cf4ca8000200441024622041b28021021022001200141d8026a3602dc13200341b4f4ca800020041b200141a8136a2002118b80808000000b20014293bb8a9cbb9ab6b31a37009811200142ffabedd185d3d8d21637009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd9598603700801120014180116a4120410028029482d48000118b808080000020014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd9598603700801120014180116a4120410028029482d48000118b808080000041e5cfc780004113410028029482d48000118b8080800000200142beee8ae9ce8fa2b1977f3700981120014295d4f9afa2868fb86437009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd9598603700801120014180116a4120410028029482d48000118b8080800000200142d3d8c5d2a9b9d2c1ac7f3700981120014282ca868eabf3add0cf0037009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141086a20014180116a412010d085808000200128020c210220012802082103200142bb88f596f8cbf6cf4c3700e80e2001428a85cd9fb3e4b2ae6d3700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010de85808000200341017121030240024020012d0080114101470d00200141a0026a20014199116a29000037030020014198026a20014191116a29000037030020014190026a20014189116a2900003703002001200129008111370388020c010b200141a0026a420037030020014198026a420037030020014190026a420037030020014200370388020b2002410020031b2103200142f4fa97f89782c7a62d3700981120014299cfe7ffe3b8eac70837009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141d00e6a20014180116a412010e68580800020012802d00e210420012802d40e210720012802d80e2108200142bad08eede089ffa81237009811200142bd81f785e387e6aa817f37009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200120014180116a412010d085808000200128020421020240200128020022094101470d0020014180116a4120410028029482d48000118b80808000000b200141ac026a41002002410020094101711b41f8d0c7800010c88f808000200141b8026a200141ac026a410041002802b480d48000118680808000000240200341fc01490d0020014180116a200341857e6a10c7868080002001280284112202200128028811410028029482d48000118b8080800000200128028011450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20014180116a410141002802d482d48000118b80808000000240200128028811411f4d0d0020002001280284112202290000370030200041c8006a200241186a290000370000200041c0006a200241106a290000370000200041386a200241086a2900003700000240200128028011450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200020012903880237000c2000200336022c200020012900b802370050200041246a20014188026a41186a2903003700002000411c6a20014188026a41106a290300370000200041146a20014188026a41086a290300370000200041d8006a200141b8026a41086a290000370000200041e0006a200141b8026a41106a290000370000200041e8006a200141b8026a41186a29000037000020004100200820044180808080784622021b36020820004104200720021b36020420004100200420021b360200200141f0136a2480808080000f0b4198d1c78000412c200141ef136a4188d1c7800041c4d1c7800010a981808000000b880102017f017e23808080800041306b2202248080808000200028020021002002410336020c2002419cd5cd800036020820024202370214200241e681808000ad42208622032000ad8437032020022003200041086aad843703282002200241206a36021020012802002001280204200241086a10b1818080002101200241306a24808080800020010bb02e01077f23808080800041e0006b22012480808080002001410036021420014280808080800137020c2001410036021841002d008083d480001a0240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240410841002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a2202413a360204200241e9dec780003602002002417e6a20033b000020014101360250200141013602482001200236024c200141186a200141c8006a2001410c6a10838780800041002d008083d480001a410841002802f482d48000118280808000002202450d012002200241036a417c7120026b22046a2203412e360204200341ecd2c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d02200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c2002420e370244200241f486c68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc133702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d032002200241036a417c7120026b22046a2203412936020420034186d4c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d04200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024210370244200241f485c68000360240200241e980808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba1743702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d052002200241036a417c7120026b22046a22034122360204200341fdd8c780003602002003417e6a20043b0000200141c0006a4200370300200141386a4200370300200141306a4200370300200141286a4200370300200141186a41086a420037030020014200370318200141c8006a200141186a108386808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a2202420b3702442002419688c68000360240200241fc8380800036021820024281e3cbde80a2fa9a09370210200242a2b1b6ced3d481c623370208200241003602002002200129024837025c200241013a0074200241013602702002200336026c20024101360268200241e4006a200141c8006a41086a2802003602002001200441016a36021441002d008083d480001a410841002802f482d48000118280808000002202450d062002200241036a417c7120026b22046a220341d000360204200341b6d3c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d07200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024210370244200241ed8ac68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc13370208200241003602002001200541016a3602142001410036021841002d008083d480001a410841002802f482d48000118280808000002202450d082002200241036a417c7120026b22036a22024126360204200241d0e1c780003602002002417e6a20033b000020014101360250200141013602482001200236024c200141186a200141c8006a2001410c6a1081878080002001410036021841002d008083d480001a410841002802f482d48000118280808000002202450d092002200241036a417c7120026b22036a220241cf00360204200241d1d4c780003602002002417e6a20033b000020014101360250200141013602482001200236024c200141186a200141c8006a2001410c6a10fd8680800041002d008083d480001a410841002802f482d48000118280808000002202450d0a2002200241036a417c7120026b22046a220341c2003602042003419fd9c780003602002003417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002204450d0b200441003600002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428480808010370264200220043602602002410436025c20024206370244200241c98bc68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc13370208200241003602002001200541016a3602142001410036021841002d008083d480001a410841002802f482d48000118280808000002202450d0c2002200241036a417c7120026b22036a2202411c3602042002419ad3c780003602002002417e6a20033b000020014101360250200141013602482001200236024c200141186a200141c8006a2001410c6a10838980800041002d008083d480001a410841002802f482d48000118280808000002202450d0d2002200241036a417c7120026b22046a2203413c36020420034182d2c780003602002003417e6a20043b0000200141186a4104410010e296808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22024206370244200241cf8bc68000360240200241c8808080003602182002428d8cb3f8c0c2e5ae72370210200242e2cda9ec8fb5f7cd10370208200241003602002002200129021837025c200241013a0074200241013602702002200336026c20024101360268200241e4006a200141186a41086a2802003602002001200441016a3602142001410036021841002d008083d480001a413841002802f482d48000118280808000002202450d0e2002200241036a417c7120026b22036a2202413f36023420024191e1c78000360230200241cb0036022c200241c6e0c7800036022820024100360224200242b48080801037021c20024192e0c78000360218200241c700360214200241cbdfc780003602102002410036020c200242a880808010370204200241a3dfc780003602002002417e6a20033b000020014107360250200141073602482001200236024c200141186a200141c8006a2001410c6a108a8980800041002d008083d480001a410841002802f482d48000118280808000002202450d0f2002200241036a417c7120026b22046a2203412e360204200341bed2c780003602002003417e6a20043b000041002d008083d480001a410441002802f482d48000118280808000002204450d10200441003600002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428480808010370264200220043602602002410436025c2002420a370244200241a188c68000360240200241bb80808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc13370208200241003602002001200541016a36021441002d008083d480001a41d00041002802f482d48000118280808000002202450d112002200241036a417c7120026b22036a220241c00036024c200241a9dec78000360248200241d300360244200241d6ddc78000360240200241d60036023c20024180ddc7800036023820024100360234200242b98080801037022c200241c7dcc78000360228200241d100360224200241f6dbc78000360220200241d40036021c200241a2dbc7800036021820024100360214200242a58080801037020c200241fddac78000360208200241c900360204200241b4dac780003602002002417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002204450d12200441023a00002004417e6a41003b000041002d008083d480001a410441002802f482d48000118280808000002203450d132003417e6a41003b0000200141186a41086a220541003602002001200336021c20014104360218200141003602582001200141d8006a36025c200141dc006a200141186a10dc84808000200141c8006a41086a2206200528020036020020012001290218370348024020012802142207200128020c470d002001410c6a41c08ec5800010a0868080000b2001280210200741f8006c6a2203420b370244200341d08dc58000360240200341fd83808000360238200342cffed9b2e0a28ab563370330200342af8cb285e69be7d8b37f370328200341bc80808000360220200342ec8ca7e0e2f0c7e6bf7f370318200342e6e2dea393f0baf43a3703102003410136020c2003200436020820034281808080103703002003200129021837024c2003200129034837025c200341d4006a2005290200370200200341e4006a2006280200360200200341013a00742003410a3602702003200236026c2003410a3602682001200741016a36021441002d008083d480001a410841002802f482d48000118280808000002202450d142002200241036a417c7120026b22046a220341d50036020420034189d6c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d15200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024212370244200241e286c68000360240200241fe83808000360218200242ab9fe1929b89a8b76a370210200242ed8dfee4ffd5cabcb57f3702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d162002200241036a417c7120026b22046a220341d300360204200341e1d9c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d17200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024215370244200241e687c68000360240200241e980808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba1743702082002410036020041002d008083d480001a2001200541016a360214411041002802f482d48000118280808000002202450d182002200241036a417c7120026b22046a2203411236020c200341f7d5c78000360208200341d700360204200341a0d5c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d19200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241013a0074200241023602702002200336026c2002428180808020370264200220043602602002410136025c20024218370244200241be89c68000360240200241e980808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba1743702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d1a2002200241036a417c7120026b22046a22034122360204200341afd4c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d1b200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c2002420e370244200241a48ac68000360240200241be818080003602182002428cdef7a0f8fa82fb18370210200242fec8b8df95a6c9bddf003702082002410036020041002d008083d480001a2001200541016a360214410841002802f482d48000118280808000002202450d1c2002200241036a417c7120026b22046a2203412e360204200341d4d1c780003602002003417e6a20043b000041002d008083d480001a410141002802f482d48000118280808000002204450d1d200441003a00002004417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024211370244200241938ac68000360240200241ff8380800036021820024286dbcd9af1e1a7d04637021020024295c384f4deb68eb0e0003702082002410036020041002d008083d480001a2001200541016a360214413841002802f482d48000118280808000002202450d1e2002200241036a417c7120026b22036a2202410b360234200241f2d8c78000360230200241dc0036022c20024196d8c7800036022820024100360224200242c88080801037021c200241ced7c78000360218200241c80036021420024186d7c780003602102002410036020c200242a880808010370204200241ded6c780003602002002417e6a20033b0000200141186a41086a420037030020014200370318200141c8006a200141186a10e58d808000024020012802142204200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200441f8006c6a22034218370244200341f988c68000360240200341e680808000360218200342e1c1c0fddab9f88065370210200342d0b0c2c0bfa6f4d53c370208200341003602002003200129024837025c200341013a0074200341073602702003200236026c20034107360268200341e4006a200141c8006a41086a2802003602002001410c6a41086a200441016a2202360200200041086a20023602002000200129020c37020020004106360210200041f8e7c4800036020c200141e0006a2480808080000f0b4104410810ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4101410410ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104413810ab80808000000b4104410810ab80808000000b4101410410ab80808000000b410441d00010ab80808000000b4101410110ab80808000000b4101410410ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104411010ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104410810ab80808000000b4101410110ab80808000000b4104413810ab80808000000bcf0203037f017e017f23808080800041106b2202248080808000410121034101210402402001290300220542c000540d0002400240200542808001540d0020054280808080045a0d01410421040c020b410221040c010b4109200579a74103766b21040b02402001290308220542c000540d0002400240200542808001540d0020054280808080045a0d01410421030c020b410221030c010b4109200579a74103766b21030b41002d008083d480001a0240200320046a220441002802f482d480001182808080000022030d004101200441c4f9c7800010b980808000000b2003417e6a41003b0000200241086a2206410036020020022003360204200220043602002002200136020c2002410c6a200210dd848080002002200141086a36020c2002410c6a200210dd84808000200041086a200628020036020020002002290200370200200241106a2480808080000bbe0f010d7f23808080800041e0026b220124808080800041002d008083d480001a0240024002400240024002400240024002400240024041e00341002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202417e6a20033b0000200141186a10aa86808000200141d4026a200141186a10ee8f80800041002d008083d480001a410841002802f482d48000118280808000002203450d012003200341036a417c7120036b22046a22054134360204200541f6e1c780003602002005417e6a20043b0000200141086a41086a200141d4026a41086a280200360200200120012902d40237030841002d008083d480001a410c41002802f482d48000118280808000002204450d022004418080f0013600002004417e6a41003b00002004428080c0828080802837000441002d008083d480001a410841002802f482d48000118280808000002203450d032003200341036a417c7120036b22066a2207412a360204200741b6e2c780003602002007417e6a20063b000041002d008083d480001a410441002802f482d48000118280808000002208450d04200841fa013600002008417e6a41003b000041002d008083d480001a410841002802f482d48000118280808000002203450d052003200341036a417c7120036b22066a220941d500360204200941ebe2c780003602002009417e6a20063b000041002d008083d480001a411041002802f482d48000118280808000002206450d062006410e6a41003b0000200641066a42003700002006417e6a420037000041002d008083d480001a410841002802f482d48000118280808000002203450d072003200341036a417c7120036b220a6a220b41c200360204200b41cee3c78000360200200b417e6a200a3b0000200141c8006a4100290288e6c48000370300200141c0006a4100290280e6c48000370300200141386a41002902f8e5c48000370300200141306a41002902f0e5c48000370300200141286a41002902e8e5c48000370300200141186a41086a41002902e0e5c48000370300200141002902d8e5c48000370318200141d4026a200141186a10838580800041002d008083d480001a410841002802f482d48000118280808000002203450d082003200341036a417c7120036b220c6a220a4121360204200a4198e4c78000360200200a417e6a200c3b0000200141186a41086a200141d4026a41086a280200360200200120012902d40237031841002d008083d480001a410241002802f482d4800011828080800000220c450d09200c417e6a418080a80136000041002d008083d480001a412841002802f482d480001182808080000022030d0a4104412810ab80808000000b410841e00310ab80808000000b4104410810ab80808000000b4101410c10ab80808000000b4104410810ab80808000000b4101410410ab80808000000b4104410810ab80808000000b4101411010ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4101410210ab80808000000b2003200341036a417c7120036b220d6a2203411c36022420034184e6c78000360220200341cc0036021c200341b8e5c78000360218200341ce00360214200341eae4c780003602102003410036020c200342aa80808010370204200341c0e4c780003602002003417e6a200d3b0000200241023602b8032002200c3602b403200241023602b00320024180848080003602182002428ea6df87f2c099fc2d370310200242e8c088f2fcf8cefede003703082002410c360204200241aae2c78000360200200241ca818080003602d802200242f8eee7c886bf81d5703703d00220024295c1ad8e90b4e6e9413703c802200241073602c402200241b9e4c780003602c002200242013702a4022002200b3602a0022002429080808010370398022002200636029402200241103602900220024181848080003602880220024287b49fc2e39fcbeefe0037038002200242d19dc5a4b9a0fb82a67f3703f801200241083602f40120024190e4c780003602f001200242013702d401200220093602d00120024284808080103703c801200220083602c401200241043602c001200241bb808080003602b801200242d7c9cb8fc1cf97db3e3703b001200242e88488d0c0e3aebc133703a8012002410e3602a401200241c0e3c780003602a001200242013702840120022007360280012002428c80808010370378200220043602742002410c3602702002418284808000360268200242f1be89fe9eab88b72f370360200242f5a09588d9c8c5f14b3703582002410b360254200241e0e2c7800036025020024201370234200220053602302002410136022c20022001290308370320200241286a200141086a41086a280200360200200242013702f4022002200a3602f002200241013602ec02200242053702c403200220033602c003200241053602bc0320024183848080003602a803200242d7b9acfdf187c880f1003703a003200242a695d4f0d8d1928645370398032002410a36029403200241a0e6c7800036029003200241e8026a200141186a41086a280200360200200220012903183703e00220024184036a200141c4026a41086a2203290200370200200220012902c4023702fc02200241d4036a2003290200370200200220012902c4023702cc03200041063602082000200236020420004106360200200141e0026a2480808080000be00a01097f41002d008083d480001a0240024002400240024002400240024041d00241002802f482d48000118280808000002201450d002001200141076a41787120016b22026a2201417e6a20023b000041002d008083d480001a410841002802f482d48000118280808000002202450d012002200241036a417c7120026b22036a22044123360204200441aae6c780003602002004417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002202450d022002200241036a417c7120026b22036a220541d200360204200541d8e6c780003602002005417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002202450d032002200241036a417c7120026b22036a22064126360204200641afe7c780003602002006417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002202450d042002200241036a417c7120026b22036a220741c800360204200741d9e7c780003602002007417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002202450d052002200241036a417c7120026b22036a22084132360204200841a8e8c780003602002008417e6a20033b000041002d008083d480001a411041002802f482d48000118280808000002202450d062002200241036a417c7120026b22036a2202413336020c200241bbe9c78000360208200241d800360204200241e3e8c780003602002002417e6a20033b000041002d008083d480001a411041002802f482d480001182808080000022030d074104411010ab80808000000b410841d00210ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104411010ab80808000000b2003200341036a417c7120036b22096a2203411936020c200341cbeac78000360208200341d800360204200341f3e9c780003602002003417e6a20093b0000200141023602c802200120033602c402200141023602c002200141bc818080003602b80220014281d8c6a0dcc1f1abf5003703b002200142fcbbed9ecfd6e6994c3703a8022001410b3602a402200141e4eac780003602a002200141023602980220012002360294022001410236029002200141848480800036028802200142ffd0f1e380ae90deba7f37038002200142d7b986aa979abfff0a3703f801200141053602f401200141eee9c780003602f001200141013602e801200120083602e401200141013602e001200141eb808080003602d80120014298a593acd1ceffcb9c7f3703d0012001429e8eaae68bb9afc6513703c801200141093602c401200141dae8c780003602c001200141013602b801200120073602b401200141013602b00120014185848080003602a801200142b4a29ed5abe3f0943d3703a001200142b3c1a1dcc6cdece2c400370398012001410736029401200141a1e8c7800036029001200141013602880120012006360284012001410136028001200141bc80808000360278200142ec8ca7e0e2f0c7e6bf7f370370200142e6e2dea393f0baf43a37036820014104360264200141d5e7c78000360260200141013602582001200536025420014101360250200141bb80808000360248200142d7c9cb8fc1cf97db3e370340200142e88488d0c0e3aebc1337033820014105360234200141aae7c78000360230200141013602282001200436022420014101360220200141c281808000360218200142cc8e8fa3bac0d9ce17370310200142b5cb9ae1a0c5fe9d7e3703082001410b360204200141cde6c780003602002000410736020820002001360204200041073602000b860e01077f0240024002400240024002400240024002400240024020002d00000e080001020304050607000b200041086a21020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00002002200110d5858080000f0b200041186a2102200041046a21030240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00002003200110c08c8080002002200110d5858080000f0b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41023a00000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200041016a2100200128020420026a41033a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010f491808000200128020821020b2001200241206a360208200128020420026a22012000290000370000200141086a200041086a290000370000200141106a200041106a290000370000200141186a200041186a2900003700000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200041016a2100200128020420026a41043a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010f491808000200128020821020b2001200241206a360208200128020420026a22012000290000370000200141086a200041086a290000370000200141106a200041106a290000370000200141186a200041186a2900003700000f0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200041016a2102200128020420036a41053a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22042002290000370000200441086a200241086a290000370000200441106a200241106a290000370000200441186a200241186a2900003700002001200341206a220336020841002d008083d480001a412041002802f482d48000118280808000002202450d022002417e6a220441003b00002002200041216a2200290000370000200241086a200041086a290000370000200241106a200041106a290000370000200241186a200041186a2900003700000240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22002002290000370000200041086a200241086a290000370000200041106a200241106a290000370000200041186a200241186a2900003700002001200341206a360208200220042f00006b41002802ec82d48000118180808000000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200128020420026a41063a00002001200241016a220336020841002d008083d480001a412041002802f482d48000118280808000002202450d022002417e6a220541003b00002002200041016a2204290000370000200241086a2206200441086a290000370000200241106a2207200441106a290000370000200241186a2208200441186a2900003700000240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22042002290000370000200441086a2006290000370000200441106a2007290000370000200441186a20082900003700002001200341206a360208200220052f00006b41002802ec82d480001181808080000020002d002121020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200128020020012802082202470d0020012002410110f491808000200128020821020b200128020420026a41073a00002001200241016a220336020841002d008083d480001a412041002802f482d48000118280808000002202450d02200041246a21042002417e6a220541003b00002002200041016a2200290000370000200241086a2206200041086a290000370000200241106a2207200041106a290000370000200241186a2208200041186a2900003700000240200128020020036b411f4b0d0020012003412010f491808000200128020821030b200128020420036a22002002290000370000200041086a2006290000370000200041106a2007290000370000200041186a20082900003700002001200341206a360208200220052f00006b41002802ec82d48000118180808000002004200110c08c8080000f0b4101412010ab80808000000b4101412010ab80808000000b4101412010ab80808000000bae0303017f017e017f41002101024002400240024002400240024002400240024020002d00000e080001090202020304000b02402000290308220242c0005a0d00410321010c080b2002428080015a0d06410421010c070b20002d000441027441f4a5c880006a210102402000290318220242c0005a0d00410321030c050b2002428080015a0d03410421030c040b412021010c060b410121010c050b20002d002441027441f4a5c880006a28020021010c040b024020024280808080045a0d00410621030c010b410b200279a74103766b21030b20012802002101024002402000290320220242c0005a0d00410121000c010b02402002428080015a0d00410221000c010b024020024280808080045a0d00410421000c010b4109200279a74103766b21000b200320016a20006a21010c020b024020024280808080045a0d00410621010c010b410b200279a74103766b21010b02402000290310220242c0005a0d00410120016a21010c010b02402002428080015a0d00410220016a21010c010b024020024280808080045a0d00410420016a21010c010b4109200279a74103766b20016a21010b200141016a0be80603067f017e027f23808080800041c0006b2201248080808000200141186a41f1edc78000410441b2c6c7800041144104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241f5edc780003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903c0eec780003702002001410036020820014280808080c000370200200141306a200141cfc2c78000410610e9838080002001200141306a41d5c2c78000410e10c184808000200141306a200141e3c2c78000410810b9848080002001200141306a41ebc2c78000411710a484808000200141306a20014182c3c78000410b10de838080002001200141306a418dc3c78000410c108c84808000200141306a20014199c3c78000410b10a2848080002001200141306a41a4c3c78000411110ae84808000200141306a200141b5c3c780004111109a848080002001200141306a41c6c3c78000412010df83808000200141246a200141e6c3c78000411810a9848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841d484c8800010b980808000000b41bc91c38000411141d091c3800010a181808000000bdf1403077f017e027f23808080800041c0006b2201248080808000200141206a41c8eec78000410541b2c6c7800041144104410010c292808000200142043702182001420037021020014280808080800137020841002d008083d480001a024002400240024002400240024002400240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241f5edc780003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c20012002360234200141086a200141306a419c91c3800010f38e80800041002d008083d480001a20012802082104200128020c2105200128021021062001280220210720012902242108410841002802f482d48000118280808000002202450d012002200241036a417c71220920026b22036a417e6a20033b0000200941002903e8eec7800037020041002d008083d480001a2001410036021020014280808080c000370208411041002802f482d48000118280808000002202450d022002200241036a417c71220320026b220a6a417e6a200a3b0000200341086a41002902a8acc38000370200200341002902a0acc38000370200200141086a418c90c3800010a093808000200128020c2202428080808020370208200242808080808001370200200241003a00202002410f36021c200241f0eec780003602182002410236021420022003360210200141306a41086a41013602002001200129020837033041002d008083d480001a411041002802f482d48000118280808000002202450d032002200241036a417c71220320026b220a6a417e6a200a3b0000200341086a41002902b8adc38000370200200341002902b0adc3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241013a00202002411a36021c200241ffeec7800036021820024102360214200220033602102002428080808020370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a411841002802f482d48000118280808000002202450d042002200241036a417c71220320026b220a6a417e6a200a3b0000200341106a41002902f0afc38000370200200341086a41002902e8afc38000370200200341002902e0afc3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241023a00202002411d36021c20024199efc7800036021820024103360214200220033602102002428080808030370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d052002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902d8aec3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241033a00202002411336021c200241b6efc7800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d062002200241036a417c71220320026b220a6a417e6a200a3b000020034100290290aec3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241043a00202002410f36021c200241c9efc7800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d072002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902c0abc3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241053a00202002410c36021c200241d8efc7800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d082002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902f0b0c3800037020002402001280210220a2001280208470d00200141086a418c90c3800010a0938080000b200128020c200a41246c6a220241063a00202002411b36021c200241e4efc7800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d008083d480001a410841002802f482d48000118280808000002202450d092002200241036a417c71220320026b220a6a417e6a200a3b000020034100290290b0c3800037020002402001280238220a2001280230470d00200141306a418c90c3800010a0938080000b2001280234200a41246c6a220241073a00202002411136021c200241ffefc7800036021820024101360214200220033602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d008083d480001a410841002802f482d48000118280808000002202450d0a2002200241036a417c71220320026b220a6a417e6a200a3b0000200341002902d8acc380003702000240200128021022022001280208470d00200141086a418c90c3800010a0938080000b200128020c200241246c220a6a220241083a00202002410c36021c20024190f0c7800036021820024101360214200220033602102002428080808010370208200242808080808001370200200128020c2102200120012802083602102001200236020820012002200a6a41246a3602142001200236020c200141306a200141086a419c91c3800010f48e8080002007418080808078460d0b20012004360210200120053602082001200536020c2001200520064105746a360214200041c4006a200141086a41a0e0c6800010f38e808000200141136a200141306a41086a2802003600002000200837023c20002007360238200041013a00002000410136025820002009360254200041013602502001200129023037000b20002001290008370001200041086a2001410f6a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841d484c8800010b980808000000b4104411010ab80808000000b4104411010ab80808000000b4104411810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000bed0703067f017e037f23808080800041c0006b2201248080808000200141186a419cf0c78000410541b2c6c7800041144104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a0240024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241f5edc780003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903c0f0c780003702002001410036020820014280808080c000370200200141306a200141c8f0c78000411010b3848080002001200141306a41d8f0c78000410f10dd8380800041002d008083d480001a410841002802f482d48000118280808000002202450d022002200241036a417c71220920026b220a6a417e6a200a3b0000200941002902d8b2c3800037020002402001280208220a2001280200470d002001418c90c3800010a0938080000b2001280204200a41246c6a220241023a00202002410b36021c200241e7f0c7800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a2209200a41016a360200200120012902003703302001200141306a41f2f0c78000410a10bd84808000200141306a200141fcf0c78000410d10e6838080002001200141306a4189f1c780004108109584808000200141306a20014191f1c78000411110d883808000200141246a200141306a41a2f1c78000412010bb848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d032001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a20092802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841d484c8800010b980808000000b4104410810ab80808000000b41bc91c38000411141d091c3800010a181808000000ba01404057f027e027f027e23808080800041b0016b220224808080800002400240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a00000240024002400240024002400240024002400240024020040e0c00010203040506070d08090a0d0b2002200110cf8480800002400240024020022802004101710d00200241d4006a200120022802041086838080002002280254418080808078470d010b410021030c010b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000410121030b200020033a00000c0d0b2001280200220328020c2201280208220528020422044108490d0a2005200441786a36020420052005280200220441086a3602002001427f2001290300220742087c220820082007541b3703002004290000210702402003280200200328020822056b41074b0d002003200541084101410110a386808000200328020821050b20002007370308200041023a00002003200541086a360208200328020420056a20073700000c0c0b200241086a200110cf848080000240024020022802084101710d00200241d4006a2001200228020c1086838080002002280254418080808078470d010b200041003a00000c0c0b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041033a00000c0b0b200241106a200110cf848080000240024020022802104101710d00200241d4006a200120022802141086838080002002280254418080808078470d010b200041003a00000c0b0b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041043a00000c0a0b200241186a200110cf848080000240024020022802184101710d00200241d4006a2001200228021c10a6838080002002280254418080808078470d010b200041003a00000c0a0b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041053a00000c090b200241206a200110cf848080000240024020022802204101710d00200241d4006a200120022802241085838080002002280254418080808078470d010b200041003a00000c090b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041063a00000c080b200241286a200110cf848080000240024020022802284101710d00200241c4006a2001200228022c10868380800020022802442205418080808078470d010b200041003a00000c080b2002280248210402402001280200220328020c2206280208220128020422094104490d00200228024c210a20012009417c6a36020420012001280200220941046a3602002006427f2006290300220742047c220820082007541b3703002009280000210602402003280200200328020822016b41034b0d002003200141044101410110a386808000200328020821010b2000200a3602102000200436020c2000200536020820002006360204200041073a00002003200141046a360208200328020420016a20063600000c080b200041003a00002005450d0720042004417e6a2f00006b41002802ec82d48000118180808000000c070b200241306a200110cf848080000240024020022802304101710d00200241d4006a200120022802341086838080002002280254418080808078470d010b200041003a00000c070b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041083a00000c060b4100210502402001280200220328020c2204280208220128020422064120490d002001280200220541186a2900002107200541106a2900002108200541086a290000210b2005290000210c2001200541206a3602002001200641606a360204200241f0006a41086a2206200b370300200241f0006a41106a22092008370300200241f0006a41186a220a20073703002004427f2004290300220742207c220820082007541b3703002002200c37037002402003280200200328020822016b411f4b0d002003200141204101410110a386808000200328020821010b200328020420016a220520022903702207370000200541186a200a2903002208370000200541106a2009290300220b370000200541086a2006290300220c3700002000200737000141092105200041096a200c370000200041116a200b370000200041196a20083700002003200141206a3602080b200020053a00000c050b4100210502402001280200220328020c2204280208220128020422064120490d002001280200220541186a2900002107200541106a2900002108200541086a290000210b2005290000210c2001200541206a3602002001200641606a36020420024190016a41086a2206200b37030020024190016a41106a2209200837030020024190016a41186a220a20073703002004427f2004290300220742207c220820082007541b3703002002200c3703900102402003280200200328020822016b411f4b0d002003200141204101410110a386808000200328020821010b200328020420016a22052002290390012207370000200541186a200a2903002208370000200541106a2009290300220b370000200541086a2006290300220c37000020002007370001200041096a200c370000200041116a200b370000200041196a20083700002003200141206a360208410a21050b200020053a00000c040b200241386a200110cf848080000240024020022802384101710d00200241d4006a2001200228023c1086838080002002280254418080808078470d010b200041003a00000c040b200241e0006a41086a200241d4006a41086a2802002203360200200241c4006a410b6a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a2900003700002000410b3a00000c030b200041003a00000c020b200041003a00000c010b200041003a00000b200241b0016a2480808080000baf1404057f027e027f027e23808080800041b0016b220224808080800002400240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a360208200328020420056a20043a00000240024002400240024002400240024002400240024020040e0c00010203040506070d08090a0d0b2002200110ce8480800002400240024020022802004101710d00200241d4006a200120022802041089838080002002280254418080808078470d010b410021030c010b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000410121030b200020033a00000c0d0b2001280200220328020c2201280208280200220528020422044108490d0a2005200441786a36020420052005280200220441086a3602002001427f2001290300220742087c220820082007541b3703002004290000210702402003280200200328020822056b41074b0d002003200541084101410110a386808000200328020821050b20002007370308200041023a00002003200541086a360208200328020420056a20073700000c0c0b200241086a200110ce848080000240024020022802084101710d00200241d4006a2001200228020c1089838080002002280254418080808078470d010b200041003a00000c0c0b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041033a00000c0b0b200241106a200110ce848080000240024020022802104101710d00200241d4006a200120022802141089838080002002280254418080808078470d010b200041003a00000c0b0b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041043a00000c0a0b200241186a200110ce848080000240024020022802184101710d00200241d4006a2001200228021c10a5838080002002280254418080808078470d010b200041003a00000c0a0b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041053a00000c090b200241206a200110ce848080000240024020022802204101710d00200241d4006a200120022802241090838080002002280254418080808078470d010b200041003a00000c090b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041063a00000c080b200241286a200110ce848080000240024020022802284101710d00200241c4006a2001200228022c10898380800020022802442205418080808078470d010b200041003a00000c080b2002280248210402402001280200220328020c2206280208280200220128020422094104490d00200228024c210a20012009417c6a36020420012001280200220941046a3602002006427f2006290300220742047c220820082007541b3703002009280000210602402003280200200328020822016b41034b0d002003200141044101410110a386808000200328020821010b2000200a3602102000200436020c2000200536020820002006360204200041073a00002003200141046a360208200328020420016a20063600000c080b200041003a00002005450d0720042004417e6a2f00006b41002802ec82d48000118180808000000c070b200241306a200110ce848080000240024020022802304101710d00200241d4006a200120022802341089838080002002280254418080808078470d010b200041003a00000c070b200241e0006a41086a200241d4006a41086a2802002203360200200241cf006a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a290000370000200041083a00000c060b4100210502402001280200220328020c2204280208280200220128020422064120490d002001280200220541186a2900002107200541106a2900002108200541086a290000210b2005290000210c2001200541206a3602002001200641606a360204200241f0006a41086a2206200b370300200241f0006a41106a22092008370300200241f0006a41186a220a20073703002004427f2004290300220742207c220820082007541b3703002002200c37037002402003280200200328020822016b411f4b0d002003200141204101410110a386808000200328020821010b200328020420016a220520022903702207370000200541186a200a2903002208370000200541106a2009290300220b370000200541086a2006290300220c3700002000200737000141092105200041096a200c370000200041116a200b370000200041196a20083700002003200141206a3602080b200020053a00000c050b4100210502402001280200220328020c2204280208280200220128020422064120490d002001280200220541186a2900002107200541106a2900002108200541086a290000210b2005290000210c2001200541206a3602002001200641606a36020420024190016a41086a2206200b37030020024190016a41106a2209200837030020024190016a41186a220a20073703002004427f2004290300220742207c220820082007541b3703002002200c3703900102402003280200200328020822016b411f4b0d002003200141204101410110a386808000200328020821010b200328020420016a22052002290390012207370000200541186a200a2903002208370000200541106a2009290300220b370000200541086a2006290300220c37000020002007370001200041096a200c370000200041116a200b370000200041196a20083700002003200141206a360208410a21050b200020053a00000c040b200241386a200110ce848080000240024020022802384101710d00200241d4006a2001200228023c1089838080002002280254418080808078470d010b200041003a00000c040b200241e0006a41086a200241d4006a41086a2802002203360200200241c4006a410b6a20033600002002200229025422073703602002200737004720002002290044370001200041086a200241cb006a2900003700002000410b3a00000c030b200041003a00000c020b200041003a00000c010b200041003a00000b200241b0016a2480808080000bbc1203037f017e047f23808080800041106b22022480808080000240024002400240024002400240024002400240024002400240024020002d0000417f6a0e0b000102030405060708090a000b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41003a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822006b4d0d0020012000200310f491808000200128020821000b200128020420006a2004200310f4978080001a2001200020036a3602080c0a0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41013a00002001200341016a2203360208200029030821050240200128020020036b41074b0d0020012003410810f491808000200128020821030b2001200341086a360208200128020420036a20053700000c090b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41023a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822006b4d0d0020012000200310f491808000200128020821000b200128020420006a2004200310f4978080001a2001200020036a3602080c080b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41033a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822006b4d0d0020012000200310f491808000200128020821000b200128020420006a2004200310f4978080001a2001200020036a3602080c070b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41043a0000200028020821032002200028020c22003602082002200241086a36020c2002410c6a200110dc848080002000450d06200041186c210003402003200110fc8e808000200341186a2103200041686a22000d000c070b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41053a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110dc848080002003450d052003410c6c2106200441086a210303402003417c6a28020021072002200328020022003602082002200241086a36020c2002410c6a200110dc84808000024020002001280200200128020822046b4d0d0020012004200010f491808000200128020821040b200128020420046a2007200010f4978080001a2001200420006a3602082003410c6a2103200641746a22060d000c060b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41063a0000200028020c21062002200028021022033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822046b4d0d0020012004200310f491808000200128020821040b200128020420046a2006200310f4978080001a2001200420036a2203360208200028020421000240200128020020036b41034b0d0020012003410410f491808000200128020821030b2001200341046a360208200128020420036a20003600000c040b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41073a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822006b4d0d0020012000200310f491808000200128020821000b200128020420006a2004200310f4978080001a2001200020036a3602080c030b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41093a00002001200341016a220436020841002d008083d480001a412041002802f482d48000118280808000002203450d032003417e6a220641003b00002003200041016a2200290000370000200341086a2207200041086a290000370000200341106a2208200041106a290000370000200341186a2209200041186a2900003700000240200128020020046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22002003290000370000200041086a2007290000370000200041106a2008290000370000200041186a20092900003700002001200441206a360208200320062f00006b41002802ec82d48000118180808000000c020b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a410a3a00002001200341016a220436020841002d008083d480001a412041002802f482d48000118280808000002203450d032003417e6a220641003b00002003200041016a2200290000370000200341086a2207200041086a290000370000200341106a2208200041106a290000370000200341186a2209200041186a2900003700000240200128020020046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22002003290000370000200041086a2007290000370000200041106a2008290000370000200041186a20092900003700002001200441206a360208200320062f00006b41002802ec82d48000118180808000000c010b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a410b3a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110dc84808000024020032001280200200128020822006b4d0d0020012000200310f491808000200128020821000b200128020420006a2004200310f4978080001a2001200020036a3602080b200241106a2480808080000f0b4101412010ab80808000000b4101412010ab80808000000b8c0403017f027e027f23808080800041f0006b22032480808080002002290338210420022903302105200341e4006a200110c986808000200320032802682206200328026c10e38580800002402003280264450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200341e4006a200110c986808000200320032802682206200328026c10e3858080002003280200200328025841004771210702402003280264450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b0240024020070d00200341e4006a200110c986808000200320032802682206200328026c10e3858080002003280200200328025c41004771210702402003280264450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b20070d002003200110c986808000200328020422022003280208410028029482d48000118b80808000002003280200450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b200341186a200241086a290300370300200341206a200241106a290300370300200341286a200241186a290300370300200341306a200241206a290300370300200341386a200241286a29030037030020034200370308200342013703002003200537034020032004370348200320022903003703102001200310f0868080000b2000410f3a0000200341f0006a2480808080000bf30501057f23808080800041106b22012480808080002001410036020c20014280808080800137020441002d008083d480001a0240024002400240410841002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a22044128360204200441d4f3c780003602002004417e6a20033b000041002d008083d480001a410841002802f482d48000118280808000002203450d01200342003700002003417e6a41003b0000200141046a41c884c6800010a086808000200128020822024293888c8f89fdc6ec9e7f37020820024100360200200241013a0074200241013602702002200436026c2002428880808010370264200220033602602002410836025c20024203370244200241d985c680003602402002419981808000360218200242a5e9e3ab9e929adc2c3702102001410136020c41002d008083d480001a412041002802f482d48000118280808000002202450d022002200241036a417c7120026b22036a220441d10036021c20044187f5c78000360218200441d500360214200441b2f4c780003602102004410036020c200442b680808010370204200441fcf3c780003602002004417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002203450d03200341003a00002003417e6a41003b00000240200128020c22052001280204470d00200141046a41c884c6800010a0868080000b2001280208200541f8006c6a220241013a0074200241043602702002200436026c20024281808080c000370264200220033602602002410136025c200242093702442002419f89c68000360240200241e980808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba17437020820024100360200200041086a200541016a3602002000200129020437020020004109360210200041e0e7c4800036020c200141106a2480808080000f0b4104410810ab80808000000b4101410810ab80808000000b4104412010ab80808000000b4101410110ab80808000000bb80301047f41002d008083d480001a02400240024041d00041002802f482d48000118280808000002201450d002001200141076a41787120016b22026a2203417e6a20023b000041002d008083d480001a410841002802f482d48000118280808000002202450d01200242003700002002417e6a41003b000041002d008083d480001a413041002802f482d480001182808080000022010d024104413010ab80808000000b410841d00010ab80808000000b4101410810ab80808000000b2001200141036a417c7120016b22046a2201411c36022c200141f8f7c78000360228200141d800360224200141a0f7c78000360220200141d20036021c200141cef6c78000360218200141d300360214200141fbf5c780003602102001410036020c200142a380808010370204200141d8f5c780003602002001417e6a20043b00002003200236022420034108360220200342063702342003200136023020034288808080e0003703282003419981808000360218200342a5e9e3ab9e929adc2c37031020034293888c8f89fdc6ec9e7f3703082003410d36020420034194f8c780003602002000410136020820002003360204200041013602000b960503067f017e027f23808080800041c0006b2201248080808000200141186a41f1edc78000410441c6c6c7800041184104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241f5edc780003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903c0eec780003702002001410036020820014280808080c000370200200141246a200141d9f8c78000410310c4848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841d484c8800010b980808000000b41bc91c38000411141d091c3800010a181808000000ba40201067f23808080800041106b220224808080800020002802002103024020012802002204200128020822056b41034b0d0020012005410410f49180800020012802002104200128020821050b2001200541046a22063602082001280204220720056a2003360000200028021021050240200420066b41034b0d0020012006410410f49180800020012802042107200128020821060b2001200641046a360208200720066a2005360000200028020821052002200028020c22003602082002200241086a36020c2002410c6a200110dc84808000024020002001280200200128020822066b4d0d0020012006200010f491808000200128020821060b200128020420066a2005200010f4978080001a2001200620006a360208200241106a2480808080000ba10601057f23808080800041306b22012480808080002001410036021420014280808080800137020c41002d008083d480001a024002400240412841002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a220441c30036022420044192fdc78000360220200441d70036021c200441bbfcc78000360218200441dc00360214200441dffbc780003602102004410036020c200442a580808010370204200441bafbc780003602002004417e6a20033b00002001410036022c2001428080808010370224200141186a200141246a1082858080002001410c6a41c884c6800010a0868080002001280210220242f59cb3daaca19ade5f370208200241003602002002420b370244200241a286c68000360240200241e881808000360218200242f38afbbdb6eeb8f8ce003702102002200129021837025c200241013a0074200241053602702002200436026c20024105360268200241e4006a200141206a2802003602002001410136021441002d008083d480001a412041002802f482d48000118280808000002202450d012002200241036a417c7120026b22036a2204413736021c20044183fbc78000360218200441d900360214200441aafac780003602102004410036020c200442c280808010370204200441e8f9c780003602002004417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002203450d02200341003a00002003417e6a41003b0000024020012802142205200128020c470d002001410c6a41c884c6800010a0868080000b2001280210200541f8006c6a220241003a0074200241043602702002200436026c20024281808080c000370264200220033602602002410136025c2002420d370244200241b887c680003602402002418684808000360218200242c0baed88d6bcf485877f370210200242d6b4b4ea9dd193f01737020820024100360200200041086a200541016a3602002000200129020c3702002000410736021020004199e7c4800036020c200141306a2480808080000f0b4104412810ab80808000000b4104412010ab80808000000b4101410110ab80808000000bd50c01077f23808080800041c0006b2200248080808000200041206a41f8e7c48000410641002802d480d4800011868080800000200041206a41106a22014199d3c68000411541002802d480d4800011868080800000200041186a2202200041206a41186a2203290000370300200041106a22042001290000370300200041086a2205200041206a41086a220629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41e9e7c48000410f41002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041023b012020004120200041206a410241002802dc82d4800011838080800000200041206a41e0e7c48000410941002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41d3e7c48000410d41002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41cbe7c48000410841002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041013b012020004120200041206a410241002802dc82d4800011838080800000200041206a41c7e7c48000410441002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41b5e7c48000411241002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41abe7c48000410a41002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41a4e7c48000410741002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a41a0e7c48000410441002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041206a4199e7c48000410741002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041013b012020004120200041206a410241002802dc82d4800011838080800000200041206a418ce7c48000410d41002802d480d480001186808080000020014199d3c68000411541002802d480d480001186808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802dc82d4800011838080800000200041c0006a2480808080000b130020004200370300200041086a42003703000bfb1801047f23808080800041e0006b2201248080808000024041002802b483d480004104490d0020014106360218200141f8e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c20014194c6c78000360248200141163602442001419cc6c780003602402001410436023c20014184c2c78000ad4280808080b0098437023420014100360230200141b2c6c78000ad4280808080c002843702282001410036022420014281808080b02537021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d002001410f360218200141e9e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141d0ecc4800036024820014116360244200141a1edc480003602402001410436023c200141d382c58000ad4280808080d00a8437023420014100360230200141a883c58000ad4280808080f004843702282001410036022420014281808080c01737021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d0020014109360218200141e0e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c20014194c6c78000360248200141163602442001419cc6c780003602402001410436023c200141aec4c78000ad4280808080e0098437023420014100360230200141c6c6c78000ad42808080808003843702282001410036022420014281808080801237021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d002001410d360218200141d3e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141d0ecc4800036024820014116360244200141a1edc480003602402001410436023c2001419cf3c48000ad4280808080e00b8437023420014100360230200141faf3c48000ad4280808080e003843702282001410036022420014281808080f00237021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d0020014108360218200141cbe7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141b8efc68000360248200141163602442001418cf0c680003602402001410436023c200141d5eec68000ad4280808080d0098437023420014100360230200141d6f1c68000ad4280808080f002843702282001410036022420014281808080b01937021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d0020014104360218200141c7e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141d0ecc4800036024820014116360244200141a1edc480003602402001410436023c200141caedc48000ad42808080809009843702342001410036023020014193eec48000ad4280808080b002843702282001410036022420014281808080c01237021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d0020014112360218200141b5e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141d0ecc4800036024820014116360244200141a1edc480003602402001410436023c200141acf7c48000ad4280808080800b843702342001410036023020014184f8c48000ad4280808080a004843702282001410036022420014281808080802837021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d002001410a360218200141abe7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c20014194c6c78000360248200141163602442001419cc6c780003602402001410436023c200141c488c88000ad4280808080900a8437023420014100360230200141c089c88000ad42808080809005843702282001410036022420014281808080800337021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d0020014107360218200141a4e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141b8efc68000360248200141163602442001418cf0c680003602402001410436023c200141c0efc68000ad4280808080c0098437023420014100360230200141a2f0c68000ad4280808080e002843702282001410036022420014281808080900737021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d0020014104360218200141a0e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141d0ecc4800036024820014116360244200141a1edc480003602402001410436023c200141d8ecc48000ad428080808090098437023420014100360230200141b7edc48000ad4280808080b002843702282001410036022420014281808080f00937021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d002001410736021820014199e7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c20014194c6c78000360248200141163602442001419cc6c780003602402001410436023c200141ecc9c78000ad4280808080d0098437023420014100360230200141b9cac78000ad4280808080f003843702282001410036022420014281808080c00637021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b024041002802b483d480004104490d002001410d3602182001418ce7c48000360214200141c181808000ad422086200141146aad84370308410028029080d480002102410028028c80d48000210341002802b083d480002104200142013702542001410136024c200141d0d0c5800036024820014116360244200141abd1c580003602402001410436023c200141d8d0c58000ad4280808080b00a8437023420014100360230200141c1d1c58000ad4280808080d004843702282001410036022420014281808080a00737021c2002419cf4ca8000200441024622041b28021021022001200141086a360250200341b4f4ca800020041b2001411c6a2002118b80808000000b20004200370300200041086a4200370300200141e0006a2480808080000b9e0302057f037e23808080800041306b220424808080800041c8fec780002105200441c8fec780003602144198fec78000210620044198fec78000360210200441c8fec7800036020c20044198fec78000360208410c210720042001410c702208360218024002402008450d00420021094200210a034020042007417f6a36021c02400240200428021822070d002006210720062005470d012004200428020c2205360214200520042802082207460d040c010b20044100360218200441086a200710b28d8080000d032004280210220720042802142205470d002004200428020c2205360214200520042802082207460d030b2004200741046a2206360210200441206a20014200200220097d220b200b2002561b42002003200a7d220b200b2003561b2007280200118f8080800000427f200a20042903287c220b200b200a541b210a427f200920042903207c220b200b2009541b2109200428021c22070d000c020b0b200441206a20012002200310fb8c8080002004290328210a200429032021090b2000200a37030820002009370300200441306a2480808080000bb61802047f0f7e2380808080004190016b2201248080808000200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141c8006a200141106a411041002802bc82d48000118680808000000240024020012802482202418080808078460d00200128024c2103024020012802504110490d00200141106a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d010c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b010e41002102024041002802b483d4800041024d0d0020014106360224200141f8e7c480003602202001418784808000ad4220862001410e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d480002104200142023702800120014103360278200141d4c9c78000360274200141163602702001419cc6c7800036026c2001410336026820014184c2c78000ad4280808080b009843702602001410036025c200141b2c6c78000ad4280808080c002843702542001410036025020014281808080b0253702482002419cf4ca8000200441024622041b28021021022001200141286a36027c200341b4f4ca800020041b200141c8006a2002118b808080000020012f010e21020b200141c8006a41f8e7c48000410641002802d480d4800011868080800000200141c8006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141c8006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141c8006a41086a29000037030020012001290048370328200120023b0148200141286a4120200141c8006a410241002802dc82d48000118380808000000b200141c8006a10e4868080002001290350210520012903482106200142ebe5e9f6a0afd08944370018200142f087979bfcb996ebf100370010200141c8006a200141106a411041002802bc82d48000118680808000000240024020012802482202418080808078460d00200128024c2103024020012802504110490d00200141106a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d010c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b010e41002102024041002802b483d4800041024d0d0020014109360224200141e0e7c480003602202001418784808000ad4220862001410e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d480002104200142023702800120014103360278200141d4c9c78000360274200141163602702001419cc6c7800036026c20014103360268200141aec4c78000ad4280808080e009843702602001410036025c200141c6c6c78000ad4280808080800384370254200141003602502001428180808080123702482002419cf4ca8000200441024622041b28021021022001200141286a36027c200341b4f4ca800020041b200141c8006a2002118b808080000020012f010e21020b200141c8006a41e0e7c48000410941002802d480d4800011868080800000200141c8006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141c8006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141c8006a41086a29000037030020012001290048370328200120023b0148200141286a4120200141c8006a410241002802dc82d48000118380808000000b200141c8006a10df868080002001290350210720012903482108200141c8006a10ce8c808000200129035021092001290348210a200141c8006a10c4868080002001290350210b2001290348210c200141c8006a10e3868080002001290350210d2001290348210e200142c6c196ffa1d6e8b4b77f370018200142aedff0facad9c6abaa7f370010200141c8006a200141106a411041002802bc82d48000118680808000000240024020012802482202418080808078460d00200128024c2103024020012802504110490d00200141106a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d010c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200141003b010e41002102024041002802b483d4800041024d0d002001410a360224200141abe7c480003602202001418784808000ad4220862001410e6aad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d480002104200142023702800120014103360278200141d4c9c78000360274200141163602702001419cc6c7800036026c20014103360268200141c488c88000ad4280808080900a843702602001410036025c200141c089c88000ad4280808080900584370254200141003602502001428180808080033702482002419cf4ca8000200441024622041b28021021022001200141286a36027c200341b4f4ca800020041b200141c8006a2002118b808080000020012f010e21020b200141c8006a41abe7c48000410a41002802d480d4800011868080800000200141c8006a41106a22034199d3c68000411541002802d480d4800011868080800000200141286a41186a200141c8006a41186a290000370300200141286a41106a2003290000370300200141286a41086a200141c8006a41086a29000037030020012001290048370328200120023b0148200141286a4120200141c8006a410241002802dc82d48000118380808000000b200141c8006a10c58c8080002001290350210f20012903482110200141c8006a10c286808000200129035021112001290348211220014284c2b1b3ef9292841e370018200142bce2f4b8c5daf6fa29370010200141c8006a200141106a411041002802bc82d48000118680808000000240024020012802482202418080808078460d00200128024c2103024020012802504110490d00200141106a2003411010f597808000210402402002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20040d010c020b2002450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b024041002802b483d4800041024d0d002001410736022420014199e7c480003602202001418784808000ad42208641d8cac78000ad84370330200141c081808000ad422086200141206aad84370328410028029080d480002102410028028c80d48000210341002802b083d4800021042001420237028001200141d4cbc78000360274200141163602702001419cc6c7800036026c20014103360268200141ecc9c78000ad4280808080d009843702602001410036025c200141b9cac78000ad4280808080f003843702542001410036025020014281808080c006370248200141023602782002419cf4ca8000200441024622041b28021021022001200141286a36027c200341b4f4ca800020041b200141c8006a2002118b80808000000b200141c8006a4199e7c48000410741002802d480d4800011868080800000200141c8006a41106a22024199d3c68000411541002802d480d4800011868080800000200141286a41186a200141c8006a41186a290000370300200141286a41106a2002290000370300200141286a41086a200141c8006a41086a29000037030020012001290048370328200141013b0148200141286a4120200141c8006a410241002802dc82d48000118380808000000b200141c8006a10d887808000200129034821132000427f427f427f427f427f427f427f200520077c220720072005541b220520097c220720072005541b2205200b7c220720072005541b2205200d7c220720072005541b2205200f7c220720072005541b220520117c220720072005541b220520012903507c220720072005541b3703082000427f2013427f427f427f427f427f427f200620087c220520052006541b2205200a7c220620062005541b2205200c7c220620062005541b2205200e7c220620062005541b220520107c220620062005541b220520127c220620062005541b22057c220620062005541b37030020014190016a2480808080000bbc0201047f23808080800041306b22022480808080002002200036020c4101210002402001280200220341e082c88000410e2001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d022002410c6a200110a5858080000d0220012802002103200128020428020c21050c010b200341e080c2800041022005118080808000000d0141012100200241013a001f2002200436021420022003360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10a5858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200341e280c28000410120051180808080000021000b200241306a24808080800020000bf70302027f017e23808080800041c0006b2201248080808000200010948780800020014287fabfddaff098b0e500370038200142bba3a3a09cb1a6b277370030200142ebe5e9f6a0afd08944370028200142f087979bfcb996ebf1003700200240200141206a412010ea8580800041ff017122024102460d00200141206a4120410028029482d48000118b80808000002002410171450d00200010938780800020014282fceae49dd9e2861d370038200142de8c84a1ecd0a6d30c37003020014289df9d82f381819238370028200142d7f0f3fea28baccae700370020200141146a200141206a412010e885808000024002402001280214418080808078460d00200141086a41086a200141146a41086a2802003602002001200129021422033703082003a74521000c010b200141003602102001428080808010370308410121000b20014282fceae49dd9e2861d370038200142de8c84a1ecd0a6d30c37003020014284c2b1b3ef9292841e370028200142bce2f4b8c5daf6fa29370020200141086a200141206a412010f784808000024020000d00200128020c22002000417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a2480808080000f0b200141003602302001410136022420014180fec7800036022020014204370228200141206a4188fec7800010fe80808000000bdd0502027f047e23808080800041306b2202248080808000200241186a2203420037030020024200370310200241023a0004200241106a200241046a10ff88808000200241106a20011095878080002002290310210420022002290318220537031820022004370310200241023a0004200241106a200241046a10ff8880800020024200370318200242b08fc601370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff88808000200241106a20011091878080002002290310210620022002290318220737031820022006370310200241023a0004200241106a200241046a10ff8880800020024282fceae49dd9e2861d370028200242de8c84a1ecd0a6d30c37002020024284c2b1b3ef9292841e370018200242bce2f4b8c5daf6fa29370010200241046a200241106a412010e885808000024020022802042203418080808078460d002003450d00200228020822032003417e6a2f00006b41002802ec82d48000118180808000000b200241186a2203420037030020024200370310200241023a0004200241106a200241046a10ff888080002003420037030020024200370310200241023a0004200241106a200241046a10ff888080002000427f200520077c220720072005541b3703082000427f427f200442b08fc6017c220520052004541b220420067c220520052004541b370300200241306a2480808080000be71201037f23808080800041106b2202248080808000024002400240024002400240024002400240024002400240200028020022002d0000417f6a0e0b000102030405060708090a000b2002200041046a360204200128020041efeac78000410c200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41cfc2c780004106200241046a41fceac78000108a81808000210320022d000d220020022d000c220472210120004101470d0a20044101710d0a0240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c0b0b200128020041dc80c280004101200128020428020c1180808080000021010c0a0b2002200041086a3602042001280200418cebc780004114200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41b0ebc780004105200241046a41a0ebc78000108a81808000210320022d000d220020022d000c220472210120004101470d0920044101710d090240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c0a0b200128020041dc80c280004101200128020428020c1180808080000021010c090b2002200041046a360204200128020041b5ebc78000410e200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c3ebc780004104200241046a41fceac78000108a81808000210320022d000d220020022d000c220472210120004101470d0820044101710d080240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c090b200128020041dc80c280004101200128020428020c1180808080000021010c080b2002200041046a360204200128020041c7ebc78000411d200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c3ebc780004104200241046a41fceac78000108a81808000210320022d000d220020022d000c220472210120004101470d0720044101710d070240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c080b200128020041dc80c280004101200128020428020c1180808080000021010c070b2002200041046a360204200128020041e4ebc780004111200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a4188ecc780004105200241046a41f8ebc78000108a81808000210320022d000d220020022d000c220472210120004101470d0620044101710d060240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c070b200128020041dc80c280004101200128020428020c1180808080000021010c060b2002200041046a3602042001280200418decc780004112200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41b0ecc780004104200241046a41a0ecc78000108a81808000210320022d000d220020022d000c220472210120004101470d0520044101710d050240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c060b200128020041dc80c280004101200128020428020c1180808080000021010c050b2002200041086a3602002002200041046a360204200128020041b4ecc780004111200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c5ecc780004106200241fceac78000108a8180800041dcecc780004107200241046a41ccecc78000108a81808000210320022d000d220020022d000c220472210120004101470d0420044101710d040240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c050b200128020041dc80c280004101200128020428020c1180808080000021010c040b2002200041046a360204200128020041e3ecc780004117200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41cfc2c780004106200241046a41fceac78000108a81808000210320022d000d220020022d000c220472210120004101470d0320044101710d030240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c040b200128020041dc80c280004101200128020428020c1180808080000021010c030b2002200041016a360204200128020041faecc780004117200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41a4edc780004109200241046a4194edc78000108a81808000210320022d000d220020022d000c220472210120004101470d0220044101710d020240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c030b200128020041dc80c280004101200128020428020c1180808080000021010c020b2002200041016a360204200128020041adedc780004126200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41a4edc780004109200241046a4194edc78000108a81808000210320022d000d220020022d000c220472210120004101470d0120044101710d010240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b2002200041046a360204200128020041d3edc78000411e200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c3ebc780004104200241046a41fceac78000108a81808000210320022d000d220020022d000c220472210120004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b900201037f23808080800041106b220224808080800020022000280200220041046a3602042001280200419882c880004109200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41a182c88000410b200041f881c88000108a8180800041ac82c880004109200241046a418882c88000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b800401047f23808080800041306b2202248080808000200028020021002001280200220341014100200128020428020c22041180808080000021052002200041046a36020c024002402005450d00410121050c010b0240024020012d000a418001710d0041012105200341df80c2800041012004118080808000000d022000200110fd91808000450d010c020b0240200341e080c280004102200411808080800000450d00410121050c020b41012105200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a3602202000200241206a10fd918080000d01200228022041da80c280004102200228022428020c118080808000000d010b0240024020012d000a418001710d000240200128020041d380c280004102200128020428020c11808080800000450d00410121050c030b410121052002410c6a200110b285808000450d010c020b41012105200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10b2858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021050b200241306a24808080800020050b800401047f23808080800041306b2202248080808000200028020021002001280200220341014100200128020428020c22041180808080000021052002200041046a36020c024002402005450d00410121050c010b0240024020012d000a418001710d0041012105200341df80c2800041012004118080808000000d022000200110fd91808000450d010c020b0240200341e080c280004102200411808080800000450d00410121050c020b41012105200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a3602202000200241206a10fd918080000d01200228022041da80c280004102200228022428020c118080808000000d010b0240024020012d000a418001710d000240200128020041d380c280004102200128020428020c11808080800000450d00410121050c030b410121052002410c6a200110ae85808000450d010c020b41012105200241013a001f200241b480c28000360224200220012902003702102002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ae858080000d01200228022041da80c280004102200228022428020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021050b200241306a24808080800020050bf50101037f23808080800041106b220224808080800020022000280200360204200128020041cdf8c780004109200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41d6f8c780004103200241046a41a0ebc78000108a81808000210320022d000d220020022d000c2204722101024020004101470d0020044101710d000240200328020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b890601037f23808080800041106b22022480808080000240024002400240024002402000280200220328020022004182808080786a41012000418480808078481b417f6a0e050001020304000b20022003360204200128020041e989c880004125200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a418e8ac88000410d200241046a41fceac78000108a81808000210420022d000d220020022d000c220372210120004101470d0420034101710d040240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c050b200128020041dc80c280004101200128020428020c1180808080000021010c040b2001280200419b8ac880004120200128020428020c1180808080000021010c030b200128020041bb8ac88000411e200128020428020c1180808080000021010c020b2002200341046a360204200128020041d98ac880004119200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41f28ac880004107200241046a41ccecc78000108a81808000210420022d000d220020022d000c220372210120004101470d0120034101710d010240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b2002200341046a360204200128020041f98ac88000411b200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41e486c880004103200241046a41ccecc78000108a81808000210420022d000d220020022d000c220372210120004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b900201037f23808080800041106b220224808080800020022000280200220041086a360204200128020041c882c880004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41ce82c880004108200041b882c88000108a8180800041d682c88000410a200241046a41a0ebc78000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b1e00200128020041d4f9c780004114200128020428020c118080808000000bc00402057f027e23808080800041306b2203248080808000410121042002280200220541e580c280004101200228020428020c22061180808080000021070240024020010d00200721040c010b2003200036020c024020070d00024020022d000a41800171450d0041012104200541e380c2800041012006118080808000000d012002290200210841012104200341013a001f20032008370210200341b480c280003602242003200229020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10818e8080000d01200328022041da80c280004102200328022428020c1180808080000021040c010b2003410c6a200210818e80800021040b20014101460d00200041286a2107200141286c41586a210103402003200736020c024002402004410171450d00410121040c010b024020022d000a41800171450d002002290208210820022902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10818e808000450d00410121040c020b200328022041da80c280004102200328022428020c1180808080000021040c010b41012104200228020041d380c280004102200228020428020c118080808000000d002003410c6a200210818e80800021040b200741286a2107200141586a22010d000b0b41012107024020040d00200228020041e680c280004101200228020428020c1180808080000021070b200341306a24808080800020070bc00402057f027e23808080800041306b2203248080808000410121042002280200220541e580c280004101200228020428020c22061180808080000021070240024020010d00200721040c010b2003200036020c024020070d00024020022d000a41800171450d0041012104200541e380c2800041012006118080808000000d012002290200210841012104200341013a001f20032008370210200341b480c280003602242003200229020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10808e8080000d01200328022041da80c280004102200328022428020c1180808080000021040c010b2003410c6a200210808e80800021040b20014101460d00200041146a2107200141146c416c6a210103402003200736020c024002402004410171450d00410121040c010b024020022d000a41800171450d002002290208210820022902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10808e808000450d00410121040c020b200328022041da80c280004102200328022428020c1180808080000021040c010b41012104200228020041d380c280004102200228020428020c118080808000000d002003410c6a200210808e80800021040b200741146a21072001416c6a22010d000b0b41012107024020040d00200228020041e680c280004101200228020428020c1180808080000021070b200341306a24808080800020070bb40202027f017e2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002903004101200110fc8080800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000bad06010c7f23808080800041306b2202248080808000024020012802202203450d0020002d0004210420002d0005210520002802002106200128020021072001280204210820012802082109200128020c210a03402005210b0240024002402007410171450d00024002402008450d00200a21012009210c200821090c010b41012107410021010240200a450d00200a21050240200a410771220c450d0003402005417f6a2105200928028c012109200c417f6a220c0d000b0b200a4108490d000340200928028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012109200541786a22050d000b0b4100210c0b024002400240200120092f018a014f0d00200921050c010b034020092802002205450d02200c41016a210c20092f018801210120052109200120052f018a014f0d000b0b200c0d02200141016a210a200521080c030b41f891c6800010a081808000000b418892c6800010a081808000000b200520014102746a4190016a28020021084100210a200c417f6a2209450d00200c417e6a210d02402009410771220c450d0003402009417f6a2109200828028c012108200c417f6a220c0d000b0b200d4107490d000340200828028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012108200941786a22090d000b0b200220052001410c6c6a41046a36020c410121052004410171210941012104024020090d000240024020062d000a418001710d00200b410171450d0141012104200628020041d380c280004102200628020428020c11808080800000450d010c020b0240200b4101710d0041012104200628020041e380c280004101200628020428020c118080808000000d020b200241013a001f200241b480c28000360224200220062902003702102002200629020837022820022002411f6a3602182002200241106a36022002402002410c6a200241206a10828f808000450d00410121040c020b200228022041da80c280004102200228022428020c1180808080000021040c010b2002410c6a200610828f80800021040b200041013a0005200020043a0004410021092003417f6a22030d000b0b200241306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141206a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10848d8080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510848d80800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510848d80800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10848d808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741206a22072002470d000b0b200341306a24808080800020000bd00402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c20014180086a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a109e858080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a2005109e8580800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a2005109e8580800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a109e85808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a000420074180086a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141206a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10e78c8080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510e78c80800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510e78c80800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10e78c808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741206a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141246a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10ae858080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510ae8580800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510ae8580800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10ae85808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741246a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c2001410c6a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10828f8080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510828f80800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510828f80800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10828f808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a00042007410c6a22072002470d000b0b200341306a24808080800020000bd00402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141f0006a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10a4858080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510a48580800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510a48580800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10a485808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741f0006a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141106a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10a9858080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510a98580800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510a98580800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10a985808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741106a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141146a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a108c8c8080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a2005108c8c80800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a2005108c8c80800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a108c8c808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741146a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141186a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10898f8080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510898f80800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510898f80800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10898f808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741186a22072002470d000b0b200341306a24808080800020000bce0402057f027e23808080800041306b2203248080808000024020012002460d0020002d000521042000280200210520002d000421062003200136020c200141016a210741012101024020064101710d00024020052d000a41800171450d0041012101024020044101710d00200528020041e380c280004101200528020428020c118080808000000d020b41012101200341013a001f200341b480c28000360224200320052902003702102003200529020837022820032003411f6a3602182003200341106a3602202003410c6a200341206a10aa858080000d01200328022041da80c280004102200328022428020c1180808080000021010c010b4101210102402004410171450d00200528020041d380c280004102200528020428020c118080808000000d010b2003410c6a200510aa8580800021010b200041013a0005200020013a000420072002460d0003402003200736020c2001410171210641012101024020060d00024020052d000a418001710d0041012101200528020041d380c280004102200528020428020c118080808000000d012003410c6a200510aa8580800021010c010b2005290208210820052902002109200341013a001f2003200937021020032008370228200341b480c2800036022420032003411f6a3602182003200341106a36022002402003410c6a200341206a10aa85808000450d00410121010c010b200328022041da80c280004102200328022428020c1180808080000021010b200041013a0005200020013a0004200741016a22072002470d000b0b200341306a24808080800020000b5601017f0240200028020022002802000d002000280208450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002000417e6a2f00006b41002802ec82d48000118180808000000bb80201027f23808080800041306b22012480808080000240024002400240024020002d00000e050404010203000b02400240200028020422020d0041002100410021020c010b2001200236022420014100360220200120023602142001410036021020012000280208220236022820012002360218200028020c2102410121000b2001200236022c2001200036021c2001200036020c2001410c6a10c7898080000c030b2000280204450d02200028020822002000417e6a2f00006b41002802ec82d48000118180808000000c020b2000280204450d01200028020822002000417e6a2f00006b41002802ec82d48000118180808000000c010b200041046a10a18f8080002000280204450d00200028020822002000417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000b9f0301047f23808080800041306b2202248080808000024002400240024020002d00000e03000102000b410121032002200041016a36020c2001280200220041b080c8800041122001280204220428020c2205118080808000000d020240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d042002410c6a200110ac85808000450d010c040b200041e080c2800041022005118080808000000d0341012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10ac858080000d03200228022041da80c280004102200228022428020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021030c020b2002200041016a2200360220200141c280c88000410e20004188d1c78000200241206a41a080c8800010b98180800021030c010b200128020041d080c880004112200128020428020c1180808080000021030b200241306a24808080800020030b8b0201037f23808080800041106b22022480808080002002200041086a360204200128020041c882c880004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41ce82c880004108200041b882c88000108a8180800041d682c88000410a200241046a41a0ebc78000108a81808000210420022d000d220020022d000c2203722101024020004101470d0020034101710d000240200428020022012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b1e00200128020041c8eec780004105200128020428020c118080808000000bf50302037f017e23808080800041c0006b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360230200441306a4100410010f59280800021000c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020020042000290204220737021820042002360214200441206a200310f28c808000024020042d00204106470d00200428022421002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b200441306a41086a200441206a41086a29020037030020042004290220370330200441046a2000410c6a200441146a200441306a10a4898080004100210020042d00044106460d01200441046a10968e8080000c010b2004410d360230200441306a4100410010f59280800021000b200441c0006a24808080800020000bac0301037f23808080800041306b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360220200441206a4100410010f59280800021060c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020041002106200441003a0023200441003b00212004420037022820044100360224200441053a00202004200029020437021820042002360214200441046a2000410c6a200441146a200441206a10a48980800020042d00044106460d01200441046a10968e8080000c010b2004410d360220200441206a4100410010f59280800021060b200441306a24808080800020060b9e0301037f23808080800041306b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360220200441206a4100410010f59280800021060c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b20002002360208200020063602042000418080808078360200410021062004410036022c20044100360224200441053a00202004200029020437021820042002360214200441046a2000410c6a200441146a200441206a10a48980800020042d00044106460d01200441046a10968e8080000c010b2004410d360220200441206a4100410010f59280800021060b200441306a24808080800020060bc00402037f017e23808080800041d0006b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360240200441c0006a4100410010f59280800021000c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020020042000290204220737022820042002360224200441306a2003109d8b808000024020042d00304106470d00200428023421002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b200441c0006a41086a200441306a41086a29020037030020042004290230370340200441146a2000410c6a200441246a200441c0006a10a4898080004100210020042d00144106460d01200441146a10968e8080000c010b200441046a2003109e8b808000024020042d00044106470d00200428020821000c010b200041046a2102024020002d00044106460d00200210968e8080000b20022004290204370200200241086a200441046a41086a290200370200410021000b200441d0006a24808080800020000bbd0302037f017e23808080800041306b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360220200441206a4100410010f59280800021000c020b4100210602400240024020024100480d0020033502002107024020020d00410121030c030b41002d008083d480001a200241002802f482d480001182808080000022030d01410121060b2006200241d484c8800010b980808000000b2003417e6a41003b000020032001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200336020420004180808080783602002004200029020437021820042002360214200441046a200710e892808000200441023a00202004200429020837022820042004280204360224200441046a2000410c6a200441146a200441206a10a489808000024020042d00044106460d00200441046a10968e8080000b410021000c010b2004410d360220200441206a4100410010f59280800021000b200441306a24808080800020000b9d0701067f23808080800041306b2204248080808000024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360220200441206a4100410010f59280800021020c030b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b20002002360208200020063602042000418080808078360200200420002902043702182004200236021402400240200328020822020d00410021022004410036020c20044280808080c0003702040c010b2003280204210341002d008083d480001a2002410474220541002802f482d48000118280808000002206450d022006200641036a417c71220520066b22016a417e6a20013b00002004410036020c200420053602082004200236020420024105742107410c210541002101034041002106200441206a200341002f019480d4800010a38d808000024002400240200428022822024100480d0020042802242106024020020d00410121080c030b41002d008083d480001a200241002802f482d480001182808080000022080d01410121060b2006200241b0bfc7800010b980808000000b2008417e6a41003b00000b20082006200210f497808000210802402004280220450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b024020012004280204470d00200441046a41d483c8800010ed928080000b200341206a2103200428020820056a22062002360200200641756a220920042f00203b0000200641746a41033a00002006417c6a2008360200200641786a2002360200200941026a200441206a41026a2d00003a00002004200141016a220136020c200541106a2105200741606a22070d000b200428020421020b2004200429020837022820042002360224200441043a0020200441046a2000410c6a200441146a200441206a10a489808000024020042d00044106460d00200441046a10968e8080000b410021020c020b2004410d360220200441206a4100410010f59280800021020c010b4104200541b0c0cc800010b980808000000b200441306a24808080800020020bb50502037f017e23808080800041c0006b2204248080808000024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360228200441286a4100410010f59280800021060c030b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200636020420004180808080783602002004200029020422073702102004200236020c2004410036023c2004410036023420044180808080783602280240200441286a4194fec48000410b2003109f8e80800022060d00200428022c21050240024020042802282202418180808078470d00200541ff01714106460d01200541087621022004290234210720042802302103200521010c040b4105210120042902382107200428023421030240200241808080807872418080808078460d0020052005417e6a2f00006b41002802ec82d48000118180808000000b0c030b41c0c0cc8000411c41dcc0cc800010a181808000000b200441286a10d4868080002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b2004410d360228200441286a4100410010f59280800021060c010b200420073702202004200336021c200420013a0018200420023b0019200420024110763a001b200441286a2000410c6a2004410c6a200441186a10a48980800020042d00284106460d00200441286a10968e8080000b200441c0006a24808080800020060bb50502037f017e23808080800041c0006b2204248080808000024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360228200441286a4100410010f59280800021060c030b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200636020420004180808080783602002004200029020422073702102004200236020c2004410036023c2004410036023420044180808080783602280240200441286a418c93c58000410a2003109d8e80800022060d00200428022c21050240024020042802282202418180808078470d00200541ff01714106460d01200541087621022004290234210720042802302103200521010c040b4105210120042902382107200428023421030240200241808080807872418080808078460d0020052005417e6a2f00006b41002802ec82d48000118180808000000b0c030b41c0c0cc8000411c41dcc0cc800010a181808000000b200441286a10d4868080002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b2004410d360228200441286a4100410010f59280800021060c010b200420073702202004200336021c200420013a0018200420023b0019200420024110763a001b200441286a2000410c6a2004410c6a200441186a10a48980800020042d00284106460d00200441286a10968e8080000b200441c0006a24808080800020060bb20501037f23808080800041306b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360220200441206a4100410010f59280800021000c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020020042000290204370214200420023602100240024020032d00004101460d00410021030c010b41002106200441206a200341016a41002f019480d4800010a38d808000024002400240200428022822024100480d0020042802242103024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241b0bfc7800010b980808000000b2006417e6a41003b00000b20062003200210f4978080001a02402004280220450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b410321030b200420033a0020200420042f001d3b00212004200236022c200420063602282004200236022420042004411f6a2d00003a002320042000410c6a200441106a200441206a10a489808000024020042d00004106460d00200410968e8080000b410021000c010b024020032d00004101470d002004410d360220200441206a4100410010f59280800021000c010b2004410d360220200441206a4100410010f59280800021000b200441306a24808080800020000b830302037f017e23808080800041306b22042480808080000240024020002802002205418180808078470d002004410d360220200441206a4100410010f59280800021000c010b4100210602400240024020024100480d0020033502002107024020020d00410121030c030b41002d008083d480001a200241002802f482d480001182808080000022030d01410121060b2006200241d484c8800010b980808000000b2003417e6a41003b000020032001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200336020420004180808080783602002004200029020437021820042002360214200441046a200710e892808000200441023a00202004200429020837022820042004280204360224200441046a2000410c6a200441146a200441206a10a489808000024020042d00044106460d00200441046a10968e8080000b410021000b200441306a24808080800020000bb50502037f017e23808080800041c0006b2204248080808000024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360228200441286a4100410010f59280800021060c030b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200636020420004180808080783602002004200029020422073702102004200236020c2004410036023c2004410036023420044180808080783602280240200441286a41b1ffc480004103200310a28e80800022060d00200428022c21050240024020042802282202418180808078470d00200541ff01714106460d01200541087621022004290234210720042802302103200521010c040b4105210120042902382107200428023421030240200241808080807872418080808078460d0020052005417e6a2f00006b41002802ec82d48000118180808000000b0c030b41c0c0cc8000411c41dcc0cc800010a181808000000b200441286a10d4868080002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b2004410d360228200441286a4100410010f59280800021060c010b200420073702202004200336021c200420013a0018200420023b0019200420024110763a001b200441286a2000410c6a2004410c6a200441186a10a48980800020042d00284106460d00200441286a10968e8080000b200441c0006a24808080800020060bc00402037f017e23808080800041d0006b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360240200441c0006a4100410010f59280800021000c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020020042000290204220737022820042002360224200441306a200310998b808000024020042d00304106470d00200428023421002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b200441c0006a41086a200441306a41086a29020037030020042004290230370340200441146a2000410c6a200441246a200441c0006a10a4898080004100210020042d00144106460d01200441146a10968e8080000c010b200441046a2003109a8b808000024020042d00044106470d00200428020821000c010b200041046a2102024020002d00044106460d00200210968e8080000b20022004290204370200200241086a200441046a41086a290200370200410021000b200441d0006a24808080800020000b8c0902067f017e23808080800041c0006b22042480808080000240024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360224200441246a4100410010f59280800021020c040b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200636020420004180808080783602002004200029020437021c2004200236021802400240200328020822020d00410021022004410036023c20044280808080c0003702340c010b2003280204210341002d008083d480001a2002410474220541002802f482d48000118280808000002206450d022003200241306c6a21072006200641036a417c71220520066b22016a417e6a20013b00002004410036023c20042005360238200420023602344108210141002108034041002d008083d480001a412041002802f482d48000118280808000002206450d042006200641036a417c71220220066b22056a417e6a20053b000041002105200441003602102004200236020c20044102360208200441246a200341002f019480d4800010a38d808000024002400240200428022c22064100480d0020042802282105024020060d00410121090c030b41002d008083d480001a200641002802f482d480001182808080000022090d01410121050b2005200641b0bfc7800010b980808000000b2009417e6a41003b00000b20092005200610f497808000210902402004280224450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200220042f00243b0001200241033a00002002200936020820022006360204200241036a200441246a41026a2d00003a00002002200636020c20044101360210200441246a200341206a290300200341286a29030010e9928080002004290228210a200428022421050240200428020822064101470d00200441086a41d483c8800010ed9280800020042802082106200428020c21020b2002200a37021820022005360214200241023a001020044102360210200429020c210a024020082004280234470d00200441346a41d483c8800010ed928080000b200428023820016a2202200a3702002002417c6a2006360200200241786a41043a00002004200841016a220836023c200141106a2101200341306a22032007470d000b200428023421020b2004200429023837022c20042002360228200441043a0024200441086a2000410c6a200441186a200441246a10a489808000024020042d00084106460d00200441086a10968e8080000b410021020c030b2004410d360224200441246a4100410010f59280800021020c020b4104200541b0c0cc800010b980808000000b4104412010ab80808000000b200441c0006a24808080800020020bb50502037f017e23808080800041c0006b2204248080808000024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360228200441286a4100410010f59280800021060c030b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b200020023602082000200636020420004180808080783602002004200029020422073702102004200236020c2004410036023c2004410036023420044180808080783602280240200441286a41f892c58000410b200310a38e80800022060d00200428022c21050240024020042802282202418180808078470d00200541ff01714106460d01200541087621022004290234210720042802302103200521010c040b4105210120042902382107200428023421030240200241808080807872418080808078460d0020052005417e6a2f00006b41002802ec82d48000118180808000000b0c030b41c0c0cc8000411c41dcc0cc800010a181808000000b200441286a10d4868080002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b2004410d360228200441286a4100410010f59280800021060c010b200420073702202004200336021c200420013a0018200420023b0019200420024110763a001b200441286a2000410c6a2004410c6a200441186a10a48980800020042d00284106460d00200441286a10968e8080000b200441c0006a24808080800020060bd80602047f017e23808080800041306b2204248080808000024002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360220200441206a4100410010f59280800021000c030b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020020042000290204370218200420023602140240024020032802142205418180808078470d00410021020c010b4100210141002d008083d480001a413041002802f482d48000118280808000002206450d022006200641036a417c71220220066b22076a417e6a20073b0000200441206a200335021010e892808000200428022021062002200429022437020820022006360204200241023a0000200441206a2003290300200329030810e992808000200428022021062002200429022437021820022006360214200241023a0010024002402005418080808078470d000c010b41002105024002400240200328021c22064100480d0020032802182105024020060d00410121030c030b41002d008083d480001a200641002802f482d480001182808080000022030d01410121050b2005200641d484c8800010b980808000000b2003417e6a41003b00000b20032005200610f4978080001a410321010b2002200636022c2002200336022820022006360224200220013a00202002ad428080808030842108410421020b2004200837022820044103360224200420023a0020200441046a2000410c6a200441146a200441206a10a489808000024020042d00044106460d00200441046a10968e8080000b410021000c020b02402003280214418180808078460d002004410d360220200441206a4100410010f59280800021000c020b2004410d360220200441206a4100410010f59280800021000c010b4104413010ab80808000000b200441306a24808080800020000bf50302037f017e23808080800041c0006b220424808080800002400240024020002802002205418180808078470d0002402002411c470d00200141e8c1c78000411c10f597808000450d020b2004410d360230200441306a4100410010f59280800021000c020b4100210602400240024020024100480d00024020020d00410121060c030b41002d008083d480001a200241002802f482d480001182808080000022060d01410121060b2006200241d484c8800010b980808000000b2006417e6a41003b000020062001200210f4978080001a0b02402005418080808078460d002005450d00200028020422052005417e6a2f00006b41002802ec82d48000118180808000000b2000200236020820002006360204200041808080807836020020042000290204220737021820042002360214200441206a200310df8c808000024020042d00204106470d00200428022421002002450d022007a722022002417e6a2f00006b41002802ec82d48000118180808000000c020b200441306a41086a200441206a41086a29020037030020042004290220370330200441046a2000410c6a200441146a200441306a10a4898080004100210020042d00044106460d01200441046a10968e8080000c010b2004410d360230200441306a4100410010f59280800021000b200441c0006a24808080800020000bfa0401017e0240024002400240024002400240024002400240024020012d0000417f6a0e0b000102030405060708090a000b20004200370308200041106a4200370300200041186a4200370300200041206a41003b01002000200135020c42a8d5007e42d0e6e0007c3703000f0b20004200370308200042a0ce8431370300200041013b0120200041106a4200370300200041186a42003703000f0b20004200370310200042db8b04370308200042909288abe404370300200041013b0120200041186a42003703000f0b20004200370310200042db8b04370308200042909288abe404370300200041013b0120200041186a42003703000f0b20004200370308200041013b0120200041106a4200370300200041186a42003703002000200135020c42d0a584307e42c8c2df007c3703000f0b20004200370308200041013b0120200041106a4200370300200041186a42003703002000200135020c42f78efa2f7e42c08fe3007c3703000f0b20004200370310200041013b0120200041186a42003703002000200128020441016a2201417f20011bad220242c6007e3703082000200242869d9f3c7e42a0f4b4017c3703000f0b20004200370308200041106a4200370300200041186a4200370300200041206a41003b01002000200135020c42e2e0007e4288b2a0027c3703000f0b20004200370308200042d0ea8d37370300200041013b0120200041106a4200370300200041186a42003703000f0b20004200370308200042d0ea8d37370300200041013b0120200041106a4200370300200041186a42003703000f0b20004200370310200042db8b04370308200042b0c4b0c3ee04370300200041013b0120200041186a42003703000bc70201037f41002d008083d480001a024002400240411841002802f482d48000118280808000002201450d002001200141036a417c7120016b22026a2201417e6a20023b000041002d008083d480001a410b41002802f482d48000118280808000002202450d01200241002900ea87c880003700002002417e6a41003b0000200241076a41002800f187c8800036000041002d008083d480001a410d41002802f482d48000118280808000002203450d02200341002900f587c880003700002003417e6a41003b0000200341056a41002900fa87c880003700002000410236020820002001360204200041023602002001410d360214200120033602102001428b808080d001370208200120023602042001410b3602000f0b4104411810ab80808000000b4101410b41d484c8800010b980808000000b4101410d41d484c8800010b980808000000ba61d03047f027e017f23808080800041d0026b22022480808080002001280204210302400240024002400240024002400240200128020841756a0e03010200020b200341f587c88000410d10f5978080000d010c020b200341ea87c88000410b10f597808000450d010b20004180808080783602000c010b2002410c36021820024200370210200241046a200241106a41f8d0c7800010ef8e80800020024106360230200242003702282002411c6a200241286a41f8d0c7800010f08e808000410021042002410036023c20024280808080c0003702342002410036027c20024280808080c000370274200241f4006a41d486c88000109386808000200228027822034108360208200341f085c88000360204200341808080807836020041012101200341013a000c2002410136027c200241e0006a200228020822032003200228020c4105746a41f8d0c7800010f18e8080002002418180808078360254200241346a41d486c88000109386808000200228023822034108360208200341f085c880003602042003418080808078360200200341003a000c2002410136023c200228027821030240200228027c2205450d0020054104742104418884808000ad4220862003ad842106418984808000ad422086200241ac026aad8421070340200241083602b002200241f085c880003602ac022002410236028401200241ace6ca8000360280012002420237028c01200220063703c802200220073703c0022002200241c0026a36028801200241b4026a20024180016a10b2808080000240200322012802002203418080808078460d002003450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141106a2103200120022902b402370200200141086a200241b4026a41086a280200360200200642107c2106200441706a22040d000b200228023c2101200228027c2104200228027821030b200441047421052002280274210802402004200228023420016b4d0d00200241346a200120044104411010a386808000200228023c21010b200228023820014104746a2003200510f4978080001a2002200120046a36023c02402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b410021042002410036027c20024280808080c000370274200241f4006a41d486c88000109386808000200228027822014103360208200141e486c880003602042001418080808078360200200141013a000c2002410136027c0240200228023c22032002280234470d00200241346a41d486c880001093868080000b200228023820034104746a220141003a000c200141043602082001418787c8800036020420014180808080783602002002200341016a220136023c200228027821030240200228027c2205450d0020054104742104418884808000ad4220862003ad842106418984808000ad422086200241ac026aad8421070340200241043602b0022002418787c880003602ac022002410236028401200241ace6ca8000360280012002420237028c01200220063703c802200220073703c0022002200241c0026a36028801200241b4026a20024180016a10b2808080000240200322012802002203418080808078460d002003450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141106a2103200120022902b402370200200141086a200241b4026a41086a280200360200200642107c2106200441706a22040d000b200228023c2101200228027c2104200228027821030b200441047421052002280274210802402004200228023420016b4d0d00200241346a200120044104411010a386808000200228023c21010b200228023820014104746a2003200510f4978080001a2002200120046a36023c02402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b410021042002410036027c20024280808080c000370274200241f4006a41d486c8800010938680800020022802782201410c3602082001418b87c880003602042001418080808078360200200141013a000c2002410136027c0240200228023c22032002280234470d00200241346a41d486c880001093868080000b200228023820034104746a220141003a000c2001410e3602082001419787c8800036020420014180808080783602002002200341016a220136023c200228027821030240200228027c2205450d0020054104742104418884808000ad4220862003ad842106418984808000ad422086200241ac026aad84210703402002410e3602b0022002419787c880003602ac022002410236028401200241ace6ca8000360280012002420237028c01200220063703c802200220073703c0022002200241c0026a36028801200241b4026a20024180016a10b2808080000240200322012802002203418080808078460d002003450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141106a2103200120022902b402370200200141086a200241b4026a41086a280200360200200642107c2106200441706a22040d000b200228023c2101200228027c2104200228027821030b200441047421052002280274210802402004200228023420016b4d0d00200241346a200120044104411010a386808000200228023c21010b200228023820014104746a2003200510f4978080001a2002200120046a36023c02402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b410021042002410036027c20024280808080c000370274200241f4006a41d486c8800010938680800020022802782201410b360208200141a587c880003602042001418080808078360200200141013a000c2002410136027c0240200228023c22032002280234470d00200241346a41d486c880001093868080000b200228023820034104746a220141003a000c20014104360208200141b087c8800036020420014180808080783602002002200341016a220136023c200228027821030240200228027c2205450d0020054104742104418884808000ad4220862003ad842106418984808000ad422086200241ac026aad8421070340200241043602b002200241b087c880003602ac022002410236028401200241ace6ca8000360280012002420237028c01200220063703c802200220073703c0022002200241c0026a36028801200241b4026a20024180016a10b2808080000240200322012802002203418080808078460d002003450d00200141046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200141106a2103200120022902b402370200200141086a200241b4026a41086a280200360200200642107c2106200441706a22040d000b200228023c2101200228027c2104200228027821030b200441047421052002280274210802402004200228023420016b4d0d00200241346a200120044104411010a386808000200228023c21010b200228023820014104746a2003200510f4978080001a2002200120046a36023c02402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241d8016a4100360200200241d0016a4200370300200241c8016a4200370300200241e8016a200241246a28020036020020024180016a41106a200241c0006a41106a29030037030020024180016a41186a200241c0006a41186a29030037030020024180016a41206a2201200241c0006a41206a29030037030020024180016a41286a200241c0006a41286a290300370300200242003703c0012002200229021c3703e00120022002290340370380012002200229034837038801200242003703b801200242808090bbbad6adf00d3703b001200241013a00f001200241e4003602ec0120024189026a41002900ff86c8800037000020024181026a41002900f786c88000370000200241f9016a41002900ef86c88000370000200241002900e786c880003700f101200241c0026a20024180016a10b88680800002402001280200450d0020022802a40122012001417e6a2f00006b41002802ec82d48000118180808000000b02402002280294012201418280808078480d002001450d0020022802980122012001417e6a2f00006b41002802ec82d48000118180808000000b024020022802e001450d0020022802e40122012001417e6a2f00006b41002802ec82d48000118180808000000b20022d00c0024106460d0120024180016a41086a2201200241c0026a41086a2203290200370300200220022902c0023703800120022802382104200228023c2105200241003602bc0220024280808080103702b40220024180016a20042005200241b4026a10c7918080002003200129030037030020022002290380013703c0020240200228023c2203450d00200228023821010340024020012802002204418080808078460d002004450d00200141046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200141106a21012003417f6a22030d000b0b02402002280234450d00200228023822012001417e6a2f00006b41002802ec82d48000118180808000000b02402002280204450d00200228020822012001417e6a2f00006b41002802ec82d48000118180808000000b41002d008083d480001a41800141002802f482d48000118280808000002201450d022001417e6a41003b000020024100360288012002200136028401200241800136028001200220024180016a3602400240200241c0026a200241c0006a10cd8d8080002201450d00200228028001450d0420022802840122032003417e6a2f00006b41002802ec82d48000118180808000000c040b20022802840121012002280280012203418080808078460d0320002002280288013602082000200136020420002003360200200241c0026a10968e8080000b200241d0026a2480808080000f0b200220022802c4023602800141c487c88000412620024180016a41b487c8800041d486c8800010a981808000000b41014180014198c8c7800010b980808000000b2002200136028001418288c88000412f20024180016a41b487c8800041b488c8800010a981808000000b9a0201027f23808080800041106b22032480808080000240024041afe4ca8000411310b691808000220441ff01490d00200041003a0001410921020c010b2003200441016a36020441afe4ca80004113200341046a410441002802dc82d480001183808080000041002802e482d48000118e8080800000200341046a200210e88680800020032802082202200328020c410028029482d48000118b808080000002402003280204450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b41002802a482d48000118e8080800000200341046a10c691808000410f21020b200020023a0000200128020022002000280200417f6a2200360200024020000d00200110ca878080000b200341106a2480808080000ba5020002400240024002400240200128020022014182808080786a41012001418480808078481b417f6a0e050001020304000b20004200370300200041206a41003b0100200041186a4200370300200041106a4200370300200041086a42003703000f0b20004200370300200041206a41003b0100200041186a4200370300200041106a4200370300200041086a42003703000f0b20004200370300200041206a41003b0100200041186a4200370300200041106a4200370300200041086a42003703000f0b20004200370300200041206a41003b0100200041186a4200370300200041106a4200370300200041086a42003703000f0b20004200370300200041206a41003b0100200041186a4200370300200041106a4200370300200041086a42003703000bc20301047f23808080800041106b22012480808080002001410036020c20014280808080800137020441002d008083d480001a02400240410841002802f482d48000118280808000002202450d002002200241036a417c7120026b22036a2204412b3602042004419589c880003602002004417e6a20033b000041002d008083d480001a410141002802f482d48000118280808000002203450d01200341053a00002003417e6a41003b0000200141046a41c08ec5800010a0868080002001280208220220033602082002428180808010370300200241013a0074200241013602702002200436026c2002428080808010370264200242808080801037025c20024207370244200241d08ec580003602402002418481808000360238200242d9d1a5958acddccda77f370330200242bb82a2f99fad8c91c100370328200241bb80808000360220200242d7c9cb8fc1cf97db3e370318200242e88488d0c0e3aebc133703102002410136020c200141046a41086a4101360200200041086a4101360200200020012902043702002000410a360210200041abe7c4800036020c200141106a2480808080000f0b4104410810ab80808000000b4101410110ab80808000000b900501057f23808080800041106b2202248080808000024002400240024002400240200028020022034182808080786a41012003418480808078481b417f6a0e050001020304000b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41003a0000200028020421042002200028020822003602082002200241086a36020c2002410c6a200110dc84808000024020002001280200200128020822036b4d0d0020012003200010f491808000200128020821030b200128020420036a2004200010f4978080001a200320006a21000c040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41013a0000200041016a21000c030b0240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41023a0000200041016a21000c020b02402001280200220520012802082204470d0020012004410110f49180800020012802002105200128020821040b2001200441016a22033602082001280204220620046a41033a0000200028020421000240200520036b41034b0d0020012003410410f49180800020012802042106200128020821030b200620036a2000360000200341046a21000c010b02402001280200220520012802082204470d0020012004410110f49180800020012802002105200128020821040b2001200441016a22033602082001280204220620046a41043a0000200028020421000240200520036b41034b0d0020012003410410f49180800020012802042106200128020821030b200620036a2000360000200341046a21000b20012000360208200241106a2480808080000bda0502057f027e23808080800041206b22022480808080000240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a2206360208200328020420056a20043a0000024002400240024002400240024020040e050001020304050b200241086a200110ce848080000240024020022802084101710d00200241146a2001200228020c1089838080002002280214418080808078470d010b20004184808080783602000c090b20002002290214370200200041086a200241146a41086a2802003602000c080b20004180808080783602000c070b20004181808080783602000c060b200328020c2204280208280200220528020422014104490d0420052001417c6a36020420052005280200220141046a3602002004427f2004290300220742047c220820082007541b370300200128000021050240200328020020066b41034b0d002003200641044101410110a386808000200328020821060b2000200536020420004182808080783602002003200641046a360208200328020420066a20053600000c050b200328020c2204280208280200220528020422014104490d0120052001417c6a36020420052005280200220141046a3602002004427f2004290300220742047c220820082007541b370300200128000021050240200328020020066b41034b0d002003200641044101410110a386808000200328020821060b2000200536020420004183808080783602002003200641046a360208200328020420066a20053600000c040b20004184808080783602000c030b20004184808080783602000c020b20004184808080783602000c010b20004184808080783602000b200241206a2480808080000bd10502057f027e23808080800041206b22022480808080000240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a2206360208200328020420056a20043a0000024002400240024002400240024020040e050001020304050b200241086a200110cf848080000240024020022802084101710d00200241146a2001200228020c1086838080002002280214418080808078470d010b20004184808080783602000c090b20002002290214370200200041086a200241146a41086a2802003602000c080b20004180808080783602000c070b20004181808080783602000c060b200328020c2204280208220528020422014104490d0420052001417c6a36020420052005280200220141046a3602002004427f2004290300220742047c220820082007541b370300200128000021050240200328020020066b41034b0d002003200641044101410110a386808000200328020821060b2000200536020420004182808080783602002003200641046a360208200328020420066a20053600000c050b200328020c2204280208220528020422014104490d0120052001417c6a36020420052005280200220141046a3602002004427f2004290300220742047c220820082007541b370300200128000021050240200328020020066b41034b0d002003200641044101410110a386808000200328020821060b2000200536020420004183808080783602002003200641046a360208200328020420066a20053600000c040b20004184808080783602000c030b20004184808080783602000c020b20004184808080783602000c010b20004184808080783602000b200241206a2480808080000bea0503067f017e027f23808080800041c0006b2201248080808000200141186a41f1edc78000410441c089c8800041294104410010c292808000200142043702102001420037020820014280808080800137020041002d008083d480001a024002400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202410036021820024101360204200241f5edc780003602002002417e6a20033b000020014101360238200120023602302001200241206a36023c200120023602342001200141306a419c91c3800010f38e80800041002d008083d480001a20012802002104200128020421032001280208210520012802182106200129021c2107410841002802f482d48000118280808000002202450d012002200241036a417c71220820026b22096a417e6a20093b0000200841002903c0eec780003702002001410036020820014280808080c000370200200141306a200141948bc88000411f1096848080002001200141306a41b38bc88000411a10c284808000200141306a200141cd8bc8800041181085848080002001200141306a41e58bc88000411310fc83808000200141246a200141f88bc88000411510a6848080002001200128022436020820012001280228220236020020012002200128022c41246c6a36020c20012002360204200141306a2001419c91c3800010f48e8080002006418080808078460d022001200436020820012003360200200120033602042001200320054105746a36020c200041c4006a200141a0e0c6800010f38e8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010ab80808000000b4104410841d484c8800010b980808000000b41bc91c38000411141d091c3800010a181808000000bf80202027f017e23808080800041d0006b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d4800002402001450d002002410136020c200241b48fc88000360208200242003702142002200241cc006a360210200241086a418890c8800010fe80808000000b200241386a41002902888ec88000370300200241306a41002902808ec88000370300200241286a41002902f88dc88000370300200241206a41002902f08dc88000370300200241186a41002902e88dc88000370300200241106a41002902e08dc88000370300200241002902d88dc88000370308200241c0006a200241086a10838580800020022902442104200241d0006a24808080800020040bd60201027f2380808080004190026b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136020420022000360200200241086a200210ef8480800002402002280208418080808078460d0020024184016a200241086a41fc0010f4978080001a20024184016a10e68780800020024190026a24808080800042010f0b20024102360288012002418c91c880003602840120024201370290012002418a84808000ad4220862002418f026aad8437038002200220024180026a36028c0120024184016a418890c8800010fe80808000000bbd0401037f2380808080004180026b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136020c2002200036020820024180016a200241086a10f08480800002400240200228028001418080808078460d00200241106a20024180016a41f00010f4978080001a200241106a10e7878080002104024020022802182201450d00200228021421030340024020032d0000220041034b0d002003200041027441b0a6c880006a2802006a2200280200450d00200041046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032001417f6a22010d000b0b02402002280210450d00200228021422032003417e6a2f00006b41002802ec82d48000118180808000000b41002d008083d480001a410141002802f482d48000118280808000002203450d01200320043a00002003417e6a41003b000020024180026a2480808080002003ad428080808010840f0b20024102360214200241cc91c880003602102002420137021c2002418a84808000ad422086200241ff016aad843703f0012002200241f0016a360218200241106a418890c8800010fe80808000000b4101410110ab80808000000ba40301027f23808080800041306b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240024020014120490d0020014178714120460d00200241086a41086a200041086a290000370300200241086a41106a200041106a290000370300200241086a41186a200041186a29000037030020022000290000370308200241086a200029002010fb87808000210041002d008083d480001a410141002802f482d48000118280808000002203450d01200320003a00002003417e6a41003b0000200241306a2480808080002003ad428080808010840f0b2002410236020c2002418892c88000360208200242013702142002418a84808000ad4220862002412f6aad8437030020022002360210200241086a418890c8800010fe80808000000b4101410110ab80808000000bb00201027f23808080800041206b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240024020010d0041002d008083d480001a410441002802f482d48000118280808000002203450d01200341003600002003417e6a41003b0000200241206a2480808080002003ad4280808080c000840f0b20024101360208200241c893c880003602042002420037021020022002411c6a36020c200241046a418890c8800010fe80808000000b4101410410ab80808000000bb10201027f23808080800041206b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240024020010d0041002d008083d480001a410841002802f482d48000118280808000002203450d01200342f02e3700002003417e6a41003b0000200241206a2480808080002003ad42808080808001840f0b20024101360208200241f894c880003602042002420037021020022002411c6a36020c200241046a418890c8800010fe80808000000b4101410810ab80808000000ba90302037f017e23808080800041306b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000024020010d0020024282fceae49dd9e2861d370024200242de8c84a1ecd0a6d30c37001c20024289df9d82f381819238370014200242d7f0f3fea28baccae70037000c20022002410c6a412010e8858080002002410c6a41012002280204200228020022034180808080784622011b22044100200228020820011b10f98c80800020023502142105200228021021010240200341808080807872418080808078460d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241306a24808080800020054220862001ad840f0b20024101360210200241a896c8800036020c2002420037021820022002412c6a3602142002410c6a418890c8800010fe80808000000bf30202027f017e2380808080004190036b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000024020010d0020024180016a10ab86808000200241106a20024180016a10b494808000200241046a200241106a10e19080800020024180016a20022802082203200228020c10be938080002002350288012104200228028401210102402002280204450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b20024190036a24808080800020044220862001ad840f0b2002410136028401200241d497c88000360280012002420037028c0120022002418c036a3602880120024180016a418890c8800010fe80808000000be00302027f017e2380808080004190036b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240200141034d0d002000280000210320024188016a10ab86808000200241186a20024188016a200310b394808000024002402002280218418880808078460d0020024188016a200241186a41f00010f4978080001a2002410c6a20024188016a10e190808000200228020c21030c010b4180808080782103200241808080807836020c0b20024188016a2002410c6a108b898080002002350290012104200228028c01210102402003418080808078460d002003450d00200228021022032003417e6a2f00006b41002802ec82d48000118180808000000b20024190036a24808080800020044220862001ad840f0b2002410236028c012002418c98c880003602880120024201370294012002418a84808000ad4220862002410c6aad843703182002200241186a3602900120024188016a418890c8800010fe80808000000bb20402047f017e23808080800041306b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d4800002400240024020010d0041002d008083d480001a410c41002802f482d48000118280808000002203450d012003200341036a417c7120036b22016a220341103602082003428e808080f0013702002003417e6a220420013b000041002d008083d480001a411041002802f482d48000118280808000002201450d022001417e6a41003b000020024100360214200220013602102002411036020c200241033602242002200241246a360228200241286a2002410c6a10dc848080000240200228020c200228021422016b410b4b0d002002410c6a2001410c10f491808000200228021421010b200228021020016a22052003290000370000200541086a200341086a28000036000020023502102106200320042f00006b41002802ec82d4800011818080800000200241306a24808080800020062001410c6aad422086840f0b20024101360210200241c899c8800036020c2002420037021820022002412c6a3602142002410c6a418890c8800010fe80808000000b4104410c10ab80808000000b4101411041dc83c3800010b980808000000b970301027f2380808080004180016b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000024002402001411f4d0d00200241186a200041186a290000370300200241106a200041106a290000370300200241086a200041086a29000037030020022000290000370300200241206a200210ed868080002002280260210041002d008083d480001a410441002802f482d48000118280808000002203450d01200320003600002003417e6a41003b000020024180016a2480808080002003ad4280808080c000840f0b20024102360224200241fc99c880003602202002420137022c2002418a84808000ad422086200241ff006aad8437030020022002360228200241206a418890c8800010fe80808000000b4101410410ab80808000000bc90302027f017e23808080800041a0056b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b410021034100410028028482d480001190808080000041ff01713602b483d480002002200136020c20022000360208200241106a200241086a10f786808000024020022903104205510d00200241d0026a200241106a41c00210f4978080001a024020022903d0024202520d004101210302400240024020022802f003417f6a0e0700030202020201020b20022802f403418080808078460d010c020b20022802f8034104460d010b410021030b200241106a200241d0026a200310e987808000200241d0026a200241106a10f88c80800020022902d4022104200241a0056a24808080800020040f0b200241023602d402200241b89ac880003602d002200242013702dc022002418a84808000ad4220862002419f056aad8437039005200220024190056a3602d802200241d0026a418890c8800010fe80808000000bb40303027f017e027f2380808080004180016b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000024020010d00200210ec87808000200241f0006a200210e9848080002002350278210420022802742105024020022802082201450d00200228020421030340024020032d0000220641034b0d002003200641027441b0a6c880006a2802006a2206280200450d00200641046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032001417f6a22010d000b0b02402002280200450d00200228020422032003417e6a2f00006b41002802ec82d48000118180808000000b20024180016a24808080800020044220862005ad840f0b20024101360204200241f09bc880003602002002420037020c2002200241fc006a3602082002418890c8800010fe80808000000bf40403037f017e017f23808080800041c0006b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136021420022000360210200241286a200241106a10ae88808000024020022802284101460d00200241206a200241346a2802003602002002200229022c370318200241046a200241186a10ac86808000200241186a10b088808000200241286a20022802082204200228020c220110f98680800020023502302105200228022c210602402001450d0020042103034002402003290300427e7c4203540d00200341306a2d000041ff01714102470d00200341346a280200450d00200341386a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341a0016a108c8f8080000240200341b0026a2802002200418080808078460d002000450d00200341b4026a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341c0026a21032001417f6a22010d000b0b02402002280204450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a24808080800020054220862006ad840f0b2002410236022c200241a89cc88000360228200242013702342002418a84808000ad422086200241046aad843703182002200241186a360230200241286a418890c8800010fe80808000000bb10402027f017e23808080800041a0026b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b410021034100410028028482d480001190808080000041ff01713602b483d4800020022001360208200220003602042002410c6a200241046a10f6848080000240200228020c418080808078460d0020024194016a2002410c6a41fc0010f4978080001a20024198026a20024190016a2802003602002002200229028801370390022002410c6a20024194016a20024190026a10ad86808000024002404105200235021442147e2204a741066a2004422088a71b22014100480d0041002d008083d480001a200141002802f482d480001182808080000022030d01410121030b2003200141b0b1c4800010b980808000000b2003417e6a41003b000020022003360298012002200136029401200320022f01183b00002002410236029c012002410c6a20024194016a10b88880800020022902980121042002410c6a10b088808000200241a0026a24808080800020040f0b2002410236029801200241e49cc8800036029401200242013702a0012002418a84808000ad4220862002419f026aad8437039002200220024190026a36029c0120024194016a418890c8800010fe80808000000b890803027f017e047f23808080800041f0056b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136020c20022000360208200241106a200241086a10fc85808000024020022903104205510d0020022d00d002210320024180036a200241106a41c00210f4978080001a200241e0056a200241e9026a290000370300200241d8056a200241e1026a290000370300200241d0056a200241d9026a290000370300200220022900d1023703c805200241106a200320024180036a200241c8056a10ef8780800020024180036a200241106a10f68c80800020023502880321042002280284032105024020022802202203418080808078460d00024020022802282200450d00200228022421062000410171210741002101024020004101460d002000417e7121082006210341002101034002402003280200450d00200341046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032008200141026a2201470d000b0b02402007450d0020062001410c6c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b200228022021030b02402003450d00200228022422032003417e6a2f00006b41002802ec82d48000118180808000000b024020022802342203450d00200228023021062003410171210741002101024020034101460d002003417e7121082006210341002101034002402003280200450d00200341046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032008200141026a2201470d000b0b2007450d0020062001410c6c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b200228022c450d00200228023022032003417e6a2f00006b41002802ec82d48000118180808000000b200241f0056a24808080800020044220862005ad840f0b2002410236028403200241a89dc88000360280032002420137028c032002418a84808000ad422086200241ef056aad843703c8052002200241c8056a3602880320024180036a418890c8800010fe80808000000bf30301027f2380808080004180026b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136020c2002200036020820024180016a200241086a10f0848080000240200228028001418080808078460d00200241106a20024180016a41f00010f4978080001a200241106a10ed87808000024020022802182201450d00200228021421030340024020032d0000220041034b0d002003200041027441b0a6c880006a2802006a2200280200450d00200041046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032001417f6a22010d000b0b02402002280210450d00200228021422032003417e6a2f00006b41002802ec82d48000118180808000000b20024180026a24808080800042010f0b20024102360214200241e49dc880003602102002420137021c2002418a84808000ad422086200241ff016aad843703f0012002200241f0016a360218200241106a418890c8800010fe80808000000b810701057f23808080800041c0006b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136020420022000360200200241306a200210fe8e808000418080808078210002400240024020022802302204418080808078460d0020022802342103024020022802384120490d00200241106a41186a2201200341186a290000370300200241106a41106a2205200341106a290000370300200241106a41086a2206200341086a2900003703002002410036023820024280808080c0003702302002200329000037031041002d008083d480001a412041002802f482d48000118280808000002200450d02200020022903103700002000417e6a41003b0000200041086a2006290300370000200041106a2005290300370000200041186a2001290300370000200241306a41e8e3c480001093868080002002280234220142a080808090ac9db9e1003702082001200036020420014120360200200228023021000b02402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b41002d008083d480001a410141152000418080808078461b220441002802f482d48000118280808000002203450d022003417e6a41003b00002002200336021420022004360210024002402000418080808078470d00200341003a0000410121040c010b200341013a000020024101360218200241013602082002200241086a360230200241306a200241106a10dc8480800020014101200241106a10b083808000200228021821042002280214210302402001280200450d00200128020422052005417e6a2f00006b41002802ec82d48000118180808000000b2000450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080002004ad4220862003ad840f0b20024102360214200241a49ec880003602102002420137021c2002418a84808000ad4220862002413f6aad843703082002200241086a360218200241106a418890c8800010fe80808000000b4101412010ab80808000000b4101200410ab80808000000bab0502037f017e23808080800041c0006b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2104024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000200220013602142002200436021002402001450d0020022001417f6a3602142002200041016a36021041808080807821030240024020002d00000e020100020b200241286a200241106a10fe8e80800020022802282203418080808078460d01200229022c21050b2002200537021c20022003360218200241046a200241186a10af8680800041002100024002400240200228020c220341046a22014100480d0020022802082100024020010d00410121040c030b41002d008083d480001a200141002802f482d480001182808080000022040d01410121000b2000200141dc83c3800010b980808000000b2004417e6a41003b00000b200241003602302002200436022c20022001360228200220033602102002200241106a360218200241186a200241286a10dc84808000024020032002280228200228023022016b4d0d00200241286a2001200310f491808000200228023021010b200228022c20016a2000200310f4978080001a200120036a2103200228022c210102402002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080002003ad4220862001ad840f0b2002410236022c200241e89ec88000360228200242013702342002418a84808000ad422086200241046aad843703182002200241186a360230200241286a418890c8800010fe80808000000b980302027f027e23808080800041c0006b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240024020010d0020024284c1c7b7cda097febb7f3700202002429fbf94a8c1ded8e64f370018200242ebe5e9f6a0afd08944370010200242f087979bfcb996ebf100370008200241286a200241086a412010e985808000200229033021042002290328210541002d008083d480001a410841002802f482d48000118280808000002203450d012003417e6a41003b00002003200442002005a71b370000200241c0006a2480808080002003ad42808080808001840f0b2002410136020c200241a4a0c880003602082002420037021420022002413c6a360210200241086a418890c8800010fe80808000000b4101410810ab80808000000bac0903027f017e047f2380808080004180026b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480002002200136020c2002200036020820024180016a200241086a10f0848080000240200228028001418080808078460d00200241106a20024180016a41f00010f4978080001a20024180016a200241106a10a387808000024020022802182201450d00200228021421030340024020032d0000220041034b0d002003200041027441b0a6c880006a2802006a2200280200450d00200041046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032001417f6a22010d000b0b02402002280210450d00200228021422032003417e6a2f00006b41002802ec82d48000118180808000000b200241106a20024180016a10ef8f808000200235021821042002280214210502402002280288012203450d0020022802840121062003410171210741002101024020034101460d002003417e7121082006210341002101034002402003280200450d00200341046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032008200141026a2201470d000b0b2007450d0020062001410c6c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b0240200228028001450d0020022802840122032003417e6a2f00006b41002802ec82d48000118180808000000b02402002280294012203450d0020022802900121062003410171210741002101024020034101460d002003417e7121082006210341002101034002402003280200450d00200341046a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b0240200341106a280200450d00200341146a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b200341206a21032008200141026a2201470d000b0b2007450d00200620014104746a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b0240200228028c01450d0020022802900122032003417e6a2f00006b41002802ec82d48000118180808000000b024020022802a4012203418080808078460d002003450d0020022802a80122032003417e6a2f00006b41002802ec82d48000118180808000000b0240200228029801450d00200228029c0122032003417e6a2f00006b41002802ec82d48000118180808000000b20024180026a24808080800020044220862005ad840f0b20024102360214200241e0a0c880003602102002420137021c2002418a84808000ad422086200241ff016aad843703f0012002200241f0016a360218200241106a418890c8800010fe80808000000bbf0302027f017e23808080800041c0006b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2100024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d4800020022001360208200220003602042002410c6a200241046a10fe8e8080000240200228020c418080808078460d00200241186a41086a2002410c6a41086a2802003602002002200229020c3703182002410c6a200241186a10d18a808000200241186a2002410c6a10f78c80800020023502202104200228021c21030240200228020c2201418080808078460d002001450d00200228021022012001417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a24808080800020044220862003ad840f0b2002410236021c20024198a1c88000360218200242013702242002418a84808000ad4220862002413f6aad843703302002200241306a360220200241186a418890c8800010fe80808000000bce0402037f017e23808080800041306b2202248080808000410041002802b083d480002203410120031b3602b083d480002000410120011b2104024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000200220013602102002200436020c024002402001450d0020022001417f6a3602102002200041016a36020c4180808080782103024020002d00000e020200010b200241146a2002410c6a10fe8e80800020022802142203418080808078460d00200241146a20022802182201200228021c220410f68080800020022802144101470d012003450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b20024102360218200241d0a1c88000360214200242013702202002418a84808000ad4220862002412f6aad843703002002200236021c200241146a418890c8800010fe80808000000b2002200436021c20022001360218200220033602142002200241146a10d08a8080000240200341808080807872418080808078460d0020012001417e6a2f00006b41002802ec82d48000118180808000000b200241146a2002108989808000200235021c210520022802182103024020022802002201418080808078460d002001450d00200228020422012001417e6a2f00006b41002802ec82d48000118180808000000b200241306a24808080800020054220862003ad840ba00403037f017e047f23808080800041306b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d48000024020010d00200241086a10ab8e808000200241146a200228020c22042002280210220310fe8a808000200235021c21052002280218210602402003450d002003410171210741002101024020034101460d002003417e7121082004210341002101034002402003280200450d00200341046a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032008200141026a2201470d000b0b2007450d0020042001410c6c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b02402002280208450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200241306a24808080800020054220862006ad840f0b2002410136021820024188a3c880003602142002420037022020022002412c6a36021c200241146a418890c8800010fe80808000000b940301037f23808080800041306b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240024020010d00200242d8c192ad8deac8dd3f37002420024284ceb68ad8c4c79c8f7f37001c200242e7eacab6b7c9acbc263700142002428de2fdb2e288b2fcd70037000c20022002410c6a412010d085808000200228020421012002280200210441002d008083d480001a410441002802f482d48000118280808000002203450d012003417e6a41003b00002003200141e40020044101711b360000200241306a2480808080002003ad4280808080c000840f0b20024101360210200241b8a4c8800036020c2002420037021820022002412c6a3602142002410c6a418890c8800010fe80808000000b4101410410ab80808000000bb00201027f23808080800041206b2202248080808000410041002802b083d480002203410120031b3602b083d48000024002402003450d0020034101470d0141002802b083d480004101462103034020030d000c020b0b41004194a1cd800036029080d48000410041aca1cd800036028c80d48000410041023602b083d480000b4100410028028482d480001190808080000041ff01713602b483d480000240024020010d0041002d008083d480001a410441002802f482d48000118280808000002203450d01200341013600002003417e6a41003b0000200241206a2480808080002003ad4280808080c000840f0b20024101360208200241eca5c880003602042002420037021020022002411c6a36020c200241046a418890c8800010fe80808000000b4101410410ab80808000000bc21007037f017e037f017e017f027e097f2380808080004190056b2202248080808000200241c4016a200110ca88808000024002400240024020022802c401418080808078460d00200241b0036a200241c4016a410c6a41d40010f4978080001a200241c8006a200241b0036a10ed8a808000200241286a41086a2201200241c4016a41086a280200360200200241086a41086a2203200241c8006a410c6a290200370300200241086a41106a200241c8006a41146a290200370300200241206a2204200241c8006a411c6a290200370300200220022902a402220537026c200220022902c4013703282002200229024c370308200228024822064102460d0020022802702107200241386a41086a200128020036020020022002290328370338200241f8006a410c6a2003290300370200200241f8006a41146a200241186a290300370200200241f8006a411c6a2004290300370200200220063602782002200229030837027c200241c4016a200241f8006a10cb888080000240024020022802c4012204418080808078460d00200241b0036a200241c4016a410c6a41e00110f4978080001a200241b0036a20022802b00341054b22014103746a22032802002206450d0420022802b403210820032006417f6a2206360200200241d0006a2008200241b0036a41046a20011b2006412c6c6a2201410c6a290200370300200241d8006a200141146a290200370300200241e0006a2001411c6a280200360200200220012902043703482001280200210320022902c801210902402001280220450d00200128022422012001417e6a2f00006b41002802ec82d48000118180808000000b200241b0036a10e08980800020034104460d00200241c4016a41106a2108200241c4016a41046a22012002290348370200200141186a200241c8006a41186a280200360200200141106a200241c8006a41106a290300370200200141086a200241c8006a41086a290300370200200220033602c4010240200341014b0d0020022802c801210a20022802e001210602402003410171450d00200a2006460d010b200220083602b003200241b0036a2003200a200610a597808000200220063602c80141012103200241013602c4010b41808080807821060240024002402003417e6a2203410220034102491b0e03010200010b200821010b2001290204210b200128020021060b20022802980141016a2201417f20011b22014104200141044b1b2208ad42187e220ca7210141002103024002400240200c422088a70d00200141fcffffff074b0d00024020010d004104210d410021080c030b41002d008083d480001a200141002802f482d480001182808080000022030d01410421030b2003200141a0a9c8800010b980808000000b2003200341036a417c71220d20036b22016a417e6a20013b00000b200d2009370204200d2004360200200d200636020c200d200b37021041012106200241013602a4012002200d3602a0012002200836029c01200241c8006a41206a200241f8006a41206a280200360200200241c8006a41186a200241f8006a41186a290200370300200241c8006a41106a200241f8006a41106a290200370300200241c8006a41086a200241f8006a41086a29020037030020022002290278370348200241c4016a200241c8006a10cb88808000024020022802c401220e418080808078460d00200241c4016a41046a2104200241c4016a41106a210f200241c4016a410c6a2110200241b0036a41046a211141282108200241a8016a41086a2112200241a8016a41106a2113200241a8016a41186a2114410121060340200241b0036a201041e00110f4978080001a200241b0036a20022802b00341054b22014103746a2203280200220a450d0720022802b40321152003200a417f6a220a36020020122015201120011b200a412c6c6a2201410c6a2902003703002013200141146a29020037030020142001411c6a280200360200200220012902043703a8012001280200210320022902c801210902402001280220450d00200128022422012001417e6a2f00006b41002802ec82d48000118180808000000b200241b0036a10e08980800020034104460d01200420022903a801370200200441186a2014280200360200200441106a2013290300370200200441086a2012290300370200200220033602c4010240200341014b0d0020022802c801210a20022802e001210102402003410171450d00200a2001460d010b2002200f3602b003200241b0036a2003200a200110a597808000200220013602c80141012103200241013602c4010b418080808078210a200421010240024002402003417e6a2203410220034102491b0e03010200010b200f21010b2001290204210b2001280200210a0b02402006200228029c01470d002002419c016a2006200228026841016a2201417f20011b4104411810a38680800020022802a001210d0b200d20086a2201200b3702002001417c6a200a360200200141746a2009370200200141706a200e3602002002200641016a22063602a401200841186a2108200241c4016a200241c8006a10cb8880800020022802c401220e418080808078470d000b0b200241c8006a10c689808000200228029c01210120022802a00121030c010b200241f8006a10c6898080004104210341002106410021010b20002002290338370200200041086a200241386a41086a28020036020002402005a7450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b20002006360214200020033602102000200136020c0c010b20004180808080783602000b20024190056a2480808080000f0b41dfbcc6800041fc0041ecbdc6800010a181808000000b41dfbcc6800041fc0041ecbdc6800010a181808000000bb40301097f23808080800041206b2202248080808000200241086a200110cc88808000418080808078210302400240024020022802082204418080808078460d002002280218210520022802142106200228020c21030240200128022c2207200128022822084d0d0002402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b4180808080782103410821012006450d0320052005417e6a2f00006b41002802ec82d48000118180808000000c030b200228021c210920012008417f6a36022820012001280224220841046a3602240240024020074101460d002008280204220720082802002208490d032007200128023c2201280208220a4d0d012007200a41bcb4c88000109181808000000b4101410141acb4c88000108281808000000b20012802042101200020093602102000200536020c20002006360208200120086a210102402004450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200720086b210320002001360200410421010c020b410821010c010b2008200741bcb4c88000109581808000000b200020016a2003360200200241206a2480808080000bf50101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a2201419784808000360228200141ed8080800036021020014296e397c6bfa5aeee46370308200142aceff0b4f2bd8f8fe400370300200142b483edabd6c19d8c897f37032020014299efe3f68e84e8b48f7f370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000bf40101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a220141ed80808000360228200141ed8080800036021020014296e397c6bfa5aeee46370308200142aceff0b4f2bd8f8fe40037030020014296e397c6bfa5aeee46370320200142aceff0b4f2bd8f8fe400370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041a78180800036021820004294d99591b4d8b0febc7f370310200042acd9c6f2aeb5bdf112370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419884808000360218200042cc8ef78aaff0dce7a77f37031020004298d88b95fdd0d6edab7f370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419984808000360218200042ead697b5a0c3928b9b7f370310200042fec79cdfc3b2f9f303370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419a84808000360218200042dd9e8ba3fdc9dcc444370310200042c0a9abfad0e0adf726370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041bc80808000360218200042ec8ca7e0e2f0c7e6bf7f370310200042e6e2dea393f0baf43a370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041ed8080800036021820004296e397c6bfa5aeee46370310200042aceff0b4f2bd8f8fe400370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041bb80808000360218200042d7c9cb8fc1cf97db3e370310200042e88488d0c0e3aebc13370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041a381808000360218200042f38d9e99aae6a6ce6c370310200042cad8edf1c6aacd9b28370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419b8480800036021820004280e88cd89a8f86e5df00370310200042e1dab8e7acb3d693ed00370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041ab81808000360218200042cba29aa1e2e6d7e3947f370310200042b19ed2bab88fbfd3a37f370308200041023a00000bf90503047f017e027f23808080800041c0006b2201248080808000200141246a41e3a9c88000410b41bba9c8800041164104410010c2928080002001410036022020014280808080c00037021841002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241ec80808000360238200242e2e68fceaa92ce9c7b370330200242e987d8bed5a3d0fbfb0037032820024107360224200241d1a9c88000360220200241d983808000360218200242d687ccb79492eaa48f7f370310200242dec098f1dab59facaa7f37030820024111360204200241eea9c880003602002002417e6a20033b0000200141086a200141186a220341086a2802003602002001200329020037030020012802242104200129022821052001410c6a41086a410036020020014280808080800137020c2001410c6a41ac91c3800010b5928080002001280210220342d687ccb79492eaa48f7f370308200342dec098f1dab59facaa7f370300200141306a41086a220641013602002003420437022c200342113702242003419dc0c380003602202003410236021c200341acb4c38000360218200341d9838080003602102001200129020c3703300240200628020022062001280230470d00200141306a41ac91c3800010b5928080000b2001280234200641386c6a2203420437022c20034207370224200341a5b4c380003602202003410636021c2003419fb4c38000360218200341ec80808000360210200342e2e68fceaa92ce9c7b370308200342e987d8bed5a3d0fbfb003703002004418080808078460d0120012802342103200128023021072000410236024c20002002360248200041023602442000200537023c200020043602382000200336020820002007360204200041003a0000200020012903003702502000200641016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041f281808000360218200042b1c9f8f0b68ca3b1a67f370310200042a480a1cbceaeb2f67a370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419c84808000360218200042cba98da599e3c9b209370310200042b08d99aa81eaf0de8c7f370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041ad81808000360218200042c2bd98c186cbe8c32f370310200042d6c7f28481b698b824370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041eb8080800036021820004298a593acd1ceffcb9c7f3703102000429e8eaae68bb9afc651370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000418381808000360218200042acf6debeefe0d9c8d300370310200042efc9c9edb5e7b3a6c700370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041af81808000360218200042db9fafba9ac2b092113703102000428cd1b5a4bf89f39cf200370308200041023a00000bd70604057f017e017f017e23808080800041d0006b2201248080808000200141306a41d8a9c88000410b41bba9c8800041164104410010c2928080002001410036022c20014280808080c00037022441002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220441ec80808000360218200442e2e68fceaa92ce9c7b370310200442e987d8bed5a3d0fbfb0037030820044107360204200441d1a9c880003602002004417e6a20033b0000200141086a41086a200141246a220241086a280200360200200120022902003703082001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a41ac91c3800010b592808000200128021c220242d687ccb79492eaa48f7f370308200242dec098f1dab59facaa7f370300200141c0006a41086a220341013602002002420437022c2002420e3702242002418fc0c380003602202002410236021c200241acb4c38000360218200241d983808000360210200120012902183703400240200328020022032001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c20024207370224200241a5b4c380003602202002410636021c2002419fb4c38000360218200241ec80808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb003703002007200341016a2203360200200120012903402208370318024020032008a7470d00200141186a41ac91c3800010b5928080000b200128021c200341386c6a2202420437022c2002420737022420024188c0c380003602202002410736021c20024181c0c380003602182002419d84808000360210200242dda0e6e3dbfead886d370308200242869c8cfadcea8aa1b57f3703002005418080808078460d01200128021c2102200128021821072000410136024c20002004360248200041013602442000200637023c200020053602382000200236020820002007360204200041003a0000200020012903083702502000200341016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419e84808000360218200042dfa088ceabfb8685837f370310200042e39d91b4f091b38077370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041a981808000360218200042f3dec6d0f9d8dfcce900370310200042a1a9c4c0eed0efc42b370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419f84808000360218200042bc8ab78ab98db5ec9f7f370310200042d5b8cce0b4adbf894e370308200041023a00000bec0403047f017e037f23808080800041c0006b2201248080808000200141106a41186a41dca6c88000410c41e8a6c8800041184104410010c2928080002001410036022420014280808080c00037021c41002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2202418481808000360238200242d9d1a5958acddccda77f370330200242bb82a2f99fad8c91c1003703282002410c36022420024189a7c88000360220200241eb8080800036021820024298a593acd1ceffcb9c7f3703102002429e8eaae68bb9afc6513703082002410936020420024180a7c880003602002002417e6a20033b0000200141086a2204200141106a410c6a220341086a28020036020020012003290200370300200129022c2105200128022821032001410036021820014280808080c000370210200141346a200141106a41c0a6c88000410210c984808000200141106a200141346a41c2a6c88000410510b184808000200141346a200141106a41c7a6c88000410310d683808000200141106a200141346a41caa6c880004109108784808000200141346a200141106a41d3a6c88000410910c8848080002003418080808078460d01200128023c210620012802382107200128023421082000410236024c20002002360248200041023602442000200537023c200020033602382000200636020c2000200736020820002008360204200041013a000020002001290300370250200041d8006a2004280200360200200141c0006a2480808080000f0b410841c00010ab80808000000b41bc91c38000411141d091c3800010a181808000000bba0a05057f017e017f037e017f23808080800041f0006b22022480808080000240024002402001280200220328020c220428020828020022052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a2206360208200328020420056a20043a0000024002400240024002400240024020040e050001020304050b410521050240200328020c2201280208280200220428020422084120490d002004280200220541186a2900002107200541106a2900002109200541086a290000210a2005290000210b2004200541206a3602002004200841606a360204200241d0006a41086a2204200a370300200241d0006a41106a22082009370300200241d0006a41186a220c20073703002001427f2001290300220742207c220920092007541b3703002002200b3703500240200328020020066b411f4b0d002003200641204101410110a386808000200328020821060b200328020420066a220520022903502207370000200541186a200c2903002209370000200541106a2008290300220a370000200541086a2004290300220b37000020002007370001200041096a200b370000200041116a200a370000200041196a20093700002003200641206a360208410021050b200020053a00000c080b200041013a00000c070b200241086a200110ce848080000240024020022802084101710d00200241146a2001200228020c1089838080002002280214418080808078470d010b200041053a00000c070b200241206a41086a200241146a41086a28020022033602002002413b6a2003360000200220022902142207370320200041023a00002002200737003320002002290030370001200041086a200241376a2900003700000c060b200328020c2201280208280200220528020422044120490d042005200441606a36020420052005280200220441206a360200200241306a41086a2205200441086a290000370300200241306a41106a2208200441106a290000370300200241306a41186a220c200441186a2900003703002001427f2001290300220742207c220920092007541b370300200220042900003703300240200328020020066b411f4b0d002003200641204101410110a386808000200328020821060b2000200229033022073700012003200641206a360208200328020420066a22032007370000200041096a20052903002207370000200041116a20082903002209370000200041196a200c290300220a370000200341086a2007370000200341106a2009370000200341186a200a370000200041033a00000c050b200328020c2204280208280200220528020422014114490d0120052001416c6a36020420052005280200220141146a360200200241306a41086a2205200141086a290000370300200241306a41106a2208200141106a2800003602002004427f2004290300220742147c220920092007541b370300200220012900003703300240200328020020066b41134b0d002003200641144101410110a386808000200328020821060b2000200229033022073700012003200641146a360208200328020420066a22032007370000200041096a20052903002207370000200041116a20082802002205360000200341086a2007370000200341106a2005360000200041043a00000c040b200041053a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241f0006a2480808080000bae0a05057f017e017f037e017f23808080800041f0006b22022480808080000240024002402001280200220328020c220428020822052802042206450d0020052006417f6a36020420052005280200220641016a3602002004427f200429030042017c22072007501b37030020062d000021040240200328020020032802082205470d002003200541014101410110a386808000200328020821050b2003200541016a2206360208200328020420056a20043a0000024002400240024002400240024020040e050001020304050b410521050240200328020c2201280208220428020422084120490d002004280200220541186a2900002107200541106a2900002109200541086a290000210a2005290000210b2004200541206a3602002004200841606a360204200241d0006a41086a2204200a370300200241d0006a41106a22082009370300200241d0006a41186a220c20073703002001427f2001290300220742207c220920092007541b3703002002200b3703500240200328020020066b411f4b0d002003200641204101410110a386808000200328020821060b200328020420066a220520022903502207370000200541186a200c2903002209370000200541106a2008290300220a370000200541086a2004290300220b37000020002007370001200041096a200b370000200041116a200a370000200041196a20093700002003200641206a360208410021050b200020053a00000c080b200041013a00000c070b200241086a200110cf848080000240024020022802084101710d00200241146a2001200228020c1086838080002002280214418080808078470d010b200041053a00000c070b200241206a41086a200241146a41086a28020022033602002002413b6a2003360000200220022902142207370320200041023a00002002200737003320002002290030370001200041086a200241376a2900003700000c060b200328020c2201280208220528020422044120490d042005200441606a36020420052005280200220441206a360200200241306a41086a2205200441086a290000370300200241306a41106a2208200441106a290000370300200241306a41186a220c200441186a2900003703002001427f2001290300220742207c220920092007541b370300200220042900003703300240200328020020066b411f4b0d002003200641204101410110a386808000200328020821060b2000200229033022073700012003200641206a360208200328020420066a22032007370000200041096a20052903002207370000200041116a20082903002209370000200041196a200c290300220a370000200341086a2007370000200341106a2009370000200341186a200a370000200041033a00000c050b200328020c2204280208220528020422014114490d0120052001416c6a36020420052005280200220141146a360200200241306a41086a2205200141086a290000370300200241306a41106a2208200141106a2800003602002004427f2004290300220742147c220920092007541b370300200220012900003703300240200328020020066b41134b0d002003200641144101410110a386808000200328020821060b2000200229033022073700012003200641146a360208200328020420066a22032007370000200041096a20052903002207370000200041116a20082802002205360000200341086a2007370000200341106a2005360000200041043a00000c040b200041053a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241f0006a2480808080000b860602047f027e23808080800041c0006b22022480808080000240024020012802082203280200220428020422050d00410121040c010b20042005417f6a36020420042004280200220541016a3602002001427f200129030042017c22062006501b37030020052d00002105410021040b024002402004410171450d00200041053a00000c010b024002400240024002400240200541ff01710e050001020305040b4105210402402003280200220528020422034120490d002005200341606a36020420052005280200220441206a3602002001427f2001290300220642207c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000410021040b200020043a00000c050b200041013a00000c040b200241086a200110d1848080000240024020022802084101710d00200241246a2001200228020c108d838080002002280224418080808078470d010b200041053a00000c040b200241306a41086a200241246a41086a2802002201360200200241206a2001360000200220022902242206370330200041023a00002002200637001820002002290015370001200041086a2002411c6a2900003700000c030b0240200328020022042802042205411f4b0d00200041053a00000c030b2004200541606a36020420042004280200220541206a3602002001427f2001290300220642207c220720072006541b370300200041033a000020002005290000370001200041096a200541086a290000370000200041116a200541106a290000370000200041196a200541186a2900003700000c020b200041053a00000c010b02402003280200220428020422054114490d0020042005416c6a36020420042004280200220541146a3602002001427f2001290300220642147c220720072006541b370300200041043a000020002005290000370001200041096a200541086a290000370000200041116a200541106a2800003600000c010b200041053a00000b200241c0006a2480808080000bed0504047f017e017f017e23808080800041c0006b2202248080808000024002402001280208220328020422040d0041002105410121040c010b20032004417f6a220536020420032003280200220441016a3602002001427f200129030042017c22062006501b37030020042d00002107410021040b024002402004410171450d00200041053a00000c010b024002400240024002400240200741ff01710e050001020305040b41052104024020054120490d002003200541606a36020420032003280200220441206a3602002001427f2001290300220642207c220820082006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000410021040b200020043a00000c050b200041013a00000c040b200241086a200110d2848080000240024020022802084101710d00200241246a2001200228020c10ac838080002002280224418080808078470d010b200041053a00000c040b200241306a41086a200241246a41086a2802002201360200200241206a2001360000200220022902242206370330200041023a00002002200637001820002002290015370001200041086a2002411c6a2900003700000c030b02402005411f4b0d00200041053a00000c030b2003200541606a36020420032003280200220441206a3602002001427f2001290300220642207c220820082006541b370300200041033a000020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a2900003700000c020b200041053a00000c010b024020054114490d0020032005416c6a36020420032003280200220441146a3602002001427f2001290300220642147c220820082006541b370300200041043a000020002004290000370001200041096a200441086a290000370000200041116a200441106a2800003600000c010b200041053a00000b200241c0006a2480808080000bde0601057f23808080800041106b220224808080800002400240024002400240024020002d00000e050001020304000b02402001280200220320012802082204470d0020012004410110f49180800020012802002103200128020821040b200041016a21002001200441016a22053602082001280204220620046a41003a00000240200320056b411f4b0d0020012005412010f49180800020012802042106200128020821050b200620056a220420002900003700002001200541206a360208200441186a200041186a290000370000200441106a200041106a290000370000200441086a200041086a2900003700000c040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00000c030b0240200128020020012802082205470d0020012005410110f491808000200128020821050b2001200541016a360208200128020420056a41023a0000200028020821042002200028020c22003602082002200241086a36020c2002410c6a200110dc84808000024020002001280200200128020822056b4d0d0020012005200010f491808000200128020821050b200128020420056a2004200010f4978080001a2001200520006a3602080c020b02402001280200220320012802082204470d0020012004410110f49180800020012802002103200128020821040b200041016a21002001200441016a22053602082001280204220620046a41033a00000240200320056b411f4b0d0020012005412010f49180800020012802042106200128020821050b200620056a220420002900003700002001200541206a360208200441186a200041186a290000370000200441106a200041106a290000370000200441086a200041086a2900003700000c010b02402001280200220320012802082204470d0020012004410110f49180800020012802002103200128020821040b200041016a21052001200441016a22003602082001280204220620046a41043a00000240200320006b41134b0d0020012000411410f49180800020012802042106200128020821000b200620006a220420052900003700002001200041146a360208200441106a200541106a280000360000200441086a200541086a2900003700000b200241106a2480808080000bfa0903057f017e067f23808080800041b0036b2203248080808000200341fc006a200110c9888080000240024002400240200328027c2204418080808078460d00200341b4026a200341fc006a41186a41fc0010f4978080001a200341b4026a410441f80020032802ac0341054b22051b6a22062802002207450d0220062007417f6a2207360200200341d4006a20032802b402200341b4026a20051b200741186c6a220541146a2802003602002003200529020c37024c02402005280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b200341b4026a10e189808000200341c0006a20034188016a290200370300200341c8006a200341fc006a41146a2802003602002003200329028001370338200128022041016a2205417f20051b22054104200541044b1b2207ad42247e2208a72105410021060240024002402008422088a70d00200541fcffffff074b0d00024020050d0041042109410021070c030b41002d008083d480001a200541002802f482d480001182808080000022060d01410421060b20062005200210b980808000000b2006200641036a417c71220920066b22056a417e6a20053b00000b20092004360200200920032903383702042009410c6a200341386a41086a290300370200200941146a200341386a41106a2903003702002009411c6a200341386a41186a2903003702002003410136020c2003200936020820032007360204200341106a41206a200141206a280200360200200341106a41186a200141186a290200370300200341106a41106a200141106a290200370300200341106a41086a200141086a29020037030020032001290200370310200341fc006a200341106a10c9888080000240200328027c2207418080808078460d00200341fc006a41186a210a200341fc006a41046a21044128210620034190026a41146a220b41086a210c410121050340200341b4026a200a41fc0010f4978080001a200341b4026a410441f80020032802ac0341054b22011b6a2202280200220d450d052002200d417f6a220d360200200b20032802b402200341b4026a20011b200d41186c6a220129020c370200200c200141146a28020036020002402001280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200341b4026a10e18980800020034190026a41106a2201200441106a280200360200200341d8006a41086a2202200441086a290200370300200341d8006a41186a220d20034190026a41186a290300370300200341d8006a41106a220e200129030037030020032004290200370358024020052003280204470d00200341046a2005200328023041016a2201417f20011b4104412410a386808000200328020821090b200920066a2201417c6a200736020020012003290358370200200141086a2002290300370200200141106a200e290300370200200141186a200d2903003702002003200541016a220536020c200641246a2106200341fc006a200341106a10c988808000200328027c2207418080808078470d000b0b200341106a10c389808000200041086a200341046a41086a280200360200200020032902043702000c010b2000410036020820004280808080c000370200200110c3898080000b200341b0036a2480808080000f0b41dfbcc6800041fc0041dcbdc6800010a181808000000b41dfbcc6800041fc0041dcbdc6800010a181808000000bfa13010e7f23808080800041f0006b220324808080800002400240024020012802082204450d0020012004417f6a220536020802402001280200220641016a2207200128020422086a2209410e4b0d002001200736020002400240024002400240024002400240024002400240024002400240024020060e0e000102030405060708090a0b0c0d100b200341286a41002900e4b4c88000370300200341206a41002900dcb4c88000370300200341186a41002900d4b4c88000370300200341002900ccb4c880003703100c0d0b200341286a4100290084b5c88000370300200341206a41002900fcb4c88000370300200341186a41002900f4b4c88000370300200341002900ecb4c880003703100c0c0b200341286a41002900a4b5c88000370300200341206a410029009cb5c88000370300200341186a4100290094b5c880003703002003410029008cb5c880003703100c0b0b200341286a41002900c4b5c88000370300200341206a41002900bcb5c88000370300200341186a41002900b4b5c88000370300200341002900acb5c880003703100c0a0b200341286a41002900e4b5c88000370300200341206a41002900dcb5c88000370300200341186a41002900d4b5c88000370300200341002900ccb5c880003703100c090b200341286a4100290084b6c88000370300200341206a41002900fcb5c88000370300200341186a41002900f4b5c88000370300200341002900ecb5c880003703100c080b200341286a41002900a4b6c88000370300200341206a410029009cb6c88000370300200341186a4100290094b6c880003703002003410029008cb6c880003703100c070b200341286a41002900c4b6c88000370300200341206a41002900bcb6c88000370300200341186a41002900b4b6c88000370300200341002900acb6c880003703100c060b200341286a41002900e4b6c88000370300200341206a41002900dcb6c88000370300200341186a41002900d4b6c88000370300200341002900ccb6c880003703100c050b200341286a4100290084b7c88000370300200341206a41002900fcb6c88000370300200341186a41002900f4b6c88000370300200341002900ecb6c880003703100c040b200341286a41002900a4b7c88000370300200341206a410029009cb7c88000370300200341186a4100290094b7c880003703002003410029008cb7c880003703100c030b200341286a41002900c4b7c88000370300200341206a41002900bcb7c88000370300200341186a41002900b4b7c88000370300200341002900acb7c880003703100c020b200341286a41002900e4b7c88000370300200341206a41002900dcb7c88000370300200341186a41002900d4b7c88000370300200341002900ccb7c880003703100c010b200341286a4100290084b8c88000370300200341206a41002900fcb7c88000370300200341186a41002900f4b7c88000370300200341002900ecb7c880003703100b0240024020050d00410121010c010b41012005410e20096b220120052001491b41016a2009410e461b21010b41002d008083d480001a20014104200141044b1b2201410574220941002802f482d4800011828080800000220a450d03200a2003290310370000200a417e6a41003b0000200a41086a200341106a41086a290300370000200a41106a200341106a41106a290300370000200a41186a200341106a41186a2903003700002003410136020c2003200a3602082003200136020402402005450d002004417e6a2102410020046b210b200841016a210c200341d0006a41186a2109200341d0006a41106a2106200341d0006a41086a210d41202105410121010340200c20076a410e4b0d01024002400240024002400240024002400240024002400240024002402007417f6a0e0d000102030405060708090a0b0c0f0b20094100290084b5c88000370300200641002900fcb4c88000370300200d41002900f4b4c88000370300200341002900ecb4c88000370350410221070c0c0b200941002900a4b5c880003703002006410029009cb5c88000370300200d4100290094b5c880003703002003410029008cb5c88000370350410321070c0b0b200941002900c4b5c88000370300200641002900bcb5c88000370300200d41002900b4b5c88000370300200341002900acb5c88000370350410421070c0a0b200941002900e4b5c88000370300200641002900dcb5c88000370300200d41002900d4b5c88000370300200341002900ccb5c88000370350410521070c090b20094100290084b6c88000370300200641002900fcb5c88000370300200d41002900f4b5c88000370300200341002900ecb5c88000370350410621070c080b200941002900a4b6c880003703002006410029009cb6c88000370300200d4100290094b6c880003703002003410029008cb6c88000370350410721070c070b200941002900c4b6c88000370300200641002900bcb6c8800037030041082107200341d0006a41086a41002900b4b6c88000370300200341002900acb6c880003703500c060b200941002900e4b6c88000370300200641002900dcb6c88000370300200d41002900d4b6c88000370300200341002900ccb6c88000370350410921070c050b20094100290084b7c88000370300200641002900fcb6c88000370300200d41002900f4b6c88000370300200341002900ecb6c88000370350410a21070c040b200941002900a4b7c880003703002006410029009cb7c88000370300200d4100290094b7c880003703002003410029008cb7c88000370350410b21070c030b200941002900c4b7c88000370300200641002900bcb7c88000370300200d41002900b4b7c88000370300200341002900acb7c88000370350410c21070c020b200941002900e4b7c88000370300200641002900dcb7c88000370300200d41002900d4b7c88000370300200341002900ccb7c88000370350410d21070c010b20094100290084b8c88000370300200641002900fcb7c88000370300200d41002900f4b7c88000370300200341002900ecb7c88000370350410e21070b200341306a41186a220e2009290300370300200341306a41106a220f2006290300370300200341306a41086a2210200d29030037030020032003290350370330024020012003280204470d004101210402402002450d0041012002410e200720086a22046b220a2002200a491b41016a2004410d4b1b21040b200341046a200120044101412010a3868080002003280208210a0b200a20056a22042003290330370000200441186a200e290300370000200441106a200f290300370000200441086a20102903003700002003200141016a220136020c2002417f6a2102200541206a2105200b20016a0d000b0b20002003290204370200200041086a200341046a41086a2802003602000c020b2001410e3602000b2000410036020820004280808080103702000b200341f0006a2480808080000f0b41012009200210b980808000000bfa13010e7f23808080800041f0006b220324808080800002400240024020012802082204450d0020012004417f6a220536020802402001280200220641016a2207200128020422086a2209410e4b0d002001200736020002400240024002400240024002400240024002400240024002400240024020060e0e000102030405060708090a0b0c0d100b200341286a41002900e4b4c88000370300200341206a41002900dcb4c88000370300200341186a41002900d4b4c88000370300200341002900ccb4c880003703100c0d0b200341286a4100290084b5c88000370300200341206a41002900fcb4c88000370300200341186a41002900f4b4c88000370300200341002900ecb4c880003703100c0c0b200341286a41002900a4b5c88000370300200341206a410029009cb5c88000370300200341186a4100290094b5c880003703002003410029008cb5c880003703100c0b0b200341286a41002900c4b5c88000370300200341206a41002900bcb5c88000370300200341186a41002900b4b5c88000370300200341002900acb5c880003703100c0a0b200341286a41002900e4b5c88000370300200341206a41002900dcb5c88000370300200341186a41002900d4b5c88000370300200341002900ccb5c880003703100c090b200341286a4100290084b6c88000370300200341206a41002900fcb5c88000370300200341186a41002900f4b5c88000370300200341002900ecb5c880003703100c080b200341286a41002900a4b6c88000370300200341206a410029009cb6c88000370300200341186a4100290094b6c880003703002003410029008cb6c880003703100c070b200341286a41002900c4b6c88000370300200341206a41002900bcb6c88000370300200341186a41002900b4b6c88000370300200341002900acb6c880003703100c060b200341286a41002900e4b6c88000370300200341206a41002900dcb6c88000370300200341186a41002900d4b6c88000370300200341002900ccb6c880003703100c050b200341286a4100290084b7c88000370300200341206a41002900fcb6c88000370300200341186a41002900f4b6c88000370300200341002900ecb6c880003703100c040b200341286a41002900a4b7c88000370300200341206a410029009cb7c88000370300200341186a4100290094b7c880003703002003410029008cb7c880003703100c030b200341286a41002900c4b7c88000370300200341206a41002900bcb7c88000370300200341186a41002900b4b7c88000370300200341002900acb7c880003703100c020b200341286a41002900e4b7c88000370300200341206a41002900dcb7c88000370300200341186a41002900d4b7c88000370300200341002900ccb7c880003703100c010b200341286a4100290084b8c88000370300200341206a41002900fcb7c88000370300200341186a41002900f4b7c88000370300200341002900ecb7c880003703100b0240024020050d00410121010c010b41012005410e20096b220120052001491b41016a2009410e461b21010b41002d008083d480001a20014104200141044b1b2201410574220941002802f482d4800011828080800000220a450d03200a2003290310370000200a417e6a41003b0000200a41086a200341106a41086a290300370000200a41106a200341106a41106a290300370000200a41186a200341106a41186a2903003700002003410136020c2003200a3602082003200136020402402005450d002004417e6a2102410020046b210b200841016a210c200341d0006a41186a2109200341d0006a41106a2106200341d0006a41086a210d41202105410121010340200c20076a410e4b0d01024002400240024002400240024002400240024002400240024002402007417f6a0e0d000102030405060708090a0b0c0f0b20094100290084b5c88000370300200641002900fcb4c88000370300200d41002900f4b4c88000370300200341002900ecb4c88000370350410221070c0c0b200941002900a4b5c880003703002006410029009cb5c88000370300200d4100290094b5c880003703002003410029008cb5c88000370350410321070c0b0b200941002900c4b5c88000370300200641002900bcb5c88000370300200d41002900b4b5c88000370300200341002900acb5c88000370350410421070c0a0b200941002900e4b5c88000370300200641002900dcb5c88000370300200d41002900d4b5c88000370300200341002900ccb5c88000370350410521070c090b20094100290084b6c88000370300200641002900fcb5c88000370300200d41002900f4b5c88000370300200341002900ecb5c88000370350410621070c080b200941002900a4b6c880003703002006410029009cb6c88000370300200d4100290094b6c880003703002003410029008cb6c88000370350410721070c070b200941002900c4b6c88000370300200641002900bcb6c8800037030041082107200341d0006a41086a41002900b4b6c88000370300200341002900acb6c880003703500c060b200941002900e4b6c88000370300200641002900dcb6c88000370300200d41002900d4b6c88000370300200341002900ccb6c88000370350410921070c050b20094100290084b7c88000370300200641002900fcb6c88000370300200d41002900f4b6c88000370300200341002900ecb6c88000370350410a21070c040b200941002900a4b7c880003703002006410029009cb7c88000370300200d4100290094b7c880003703002003410029008cb7c88000370350410b21070c030b200941002900c4b7c88000370300200641002900bcb7c88000370300200d41002900b4b7c88000370300200341002900acb7c88000370350410c21070c020b200941002900e4b7c88000370300200641002900dcb7c88000370300200d41002900d4b7c88000370300200341002900ccb7c88000370350410d21070c010b20094100290084b8c88000370300200641002900fcb7c88000370300200d41002900f4b7c88000370300200341002900ecb7c88000370350410e21070b200341306a41186a220e2009290300370300200341306a41106a220f2006290300370300200341306a41086a2210200d29030037030020032003290350370330024020012003280204470d004101210402402002450d0041012002410e200720086a22046b220a2002200a491b41016a2004410d4b1b21040b200341046a200120044101412010a3868080002003280208210a0b200a20056a22042003290330370000200441186a200e290300370000200441106a200f290300370000200441086a20102903003700002003200141016a220136020c2002417f6a2102200541206a2105200b20016a0d000b0b20002003290204370200200041086a200341046a41086a2802003602000c020b2001410e3602000b2000410036020820004280808080103702000b200341f0006a2480808080000f0b41012009200210b980808000000bd50404027f017e047f037e200220016b22044105762205ad42307e2206a72107410021080240024002402006422088a70d00200741f0ffffff074b0d0041002108024020070d0041102103410021090c030b41002d008083d480001a200741087241002802f482d4800011828080800000220a0d01411021080b20082007200310b980808000000b200a200a410f6a4170712203200a6b22076a417e6a20073b0000200521090b024020012002460d0041002108024020054101460d00200541feffff3f71210a410021082003210720012102034020072002290000370000200241086a2900002106200241106a290000210b200241186a290000210c200741286a4200370300200741206a42808080808080808010370300200741186a200c370000200741106a200b370000200741086a2006370000200241386a2900002106200241306a290000210b200241286a290000210c200241206a290000210d200741d8006a4200370300200741d0006a42808080808080808010370300200741306a200d370000200741386a200c370000200741c0006a200b370000200741c8006a2006370000200741e0006a2107200241c0006a2102200a200841026a2208470d000b0b02402004412071450d002003200841306c6a2207200120084105746a2202290000370000200241086a2900002106200241106a290000210b200241186a290000210c20074200370328200742808080808080808010370320200741186a200c370000200741106a200b370000200741086a20063700000b200521080b2000200836020820002003360204200020093602000bca0a01117f2380808080004190106b22032480808080000240024002400240024020012802202204450d0020012004417f6a2205360220024020012802142206200128021c2207470d0041002108024002400240200128020c2209200128020422076b220a4100480d00024020092007462208450d00410121064100210b0c030b41002d008083d480001a200a41002802f482d480001182808080000022060d01410121080b2008200a418c9dc4800010b980808000000b200a410a76210b2006417e6a41003b00000b20062007200a10f4978080002209200a6a210702402001280218450d002001280210220a200a417e6a2f00006b41002802ec82d48000118180808000000b2001200736021c2001200b360218200120093602142001200936021020080d010b200120064180086a220a360214200341106a200641800810f4978080001a0240024020050d00410121090c010b2005417f4100200128020c2001280204471b220920052009491b41016a21090b20094104200941044b1b220b410a7421084100210c02400240200941ffffff014b0d0020084100480d0041002d008083d480001a200841002802f482d480001182808080000022090d014101210c0b200c2008200210b980808000000b2009417e6a41003b00002009200341106a41800810f49780800021082003410136020c200320083602082003200b3602042001280200210d2001280208210e2001280210210b2001280218210c2005450d03417f4100200128020c220f20012802042210471b2111200f20106b22024100480d012002410a7621122004417e6a2108410020046b210441800821054101210103400240200a2007470d0002400240200f2010462207450d004101210a410021130c010b41002d008083d480001a0240200241002802f482d4800011828080800000220a0d00410121100c060b200a417e6a41003b0000201221130b200a2010200210f49780800021060240200c450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b02402007450d002013210c2006210b0c060b200620026a21072013210c2006210b0b20034190086a200a41800810f4978080001a024020012003280204470d00200341046a200141012008201120082011491b41016a200420016a41026a4101461b410141800810a386808000200328020821090b200a4180086a210a200920056a20034190086a41800810f4978080001a2003200141016a220136020c2008417f6a210820054180086a2105200420016a0d000c040b0b20004100360208200042808080801037020002402001280208450d002001280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b2001280218450d032001280210220a200a417e6a2f00006b41002802ec82d48000118180808000000c030b2004417e6a210541002110410020046b210441800821014101210a0340200620016a22082007460d0120034190086a200841800810f4978080001a0240200a2003280204470d00200341046a200a41012005201120052011491b41016a2004200a6a41026a4101461b410141800810a386808000200328020821090b200920016a20034190086a41800810f4978080001a2003200a41016a220a36020c2005417f6a210520014180086a21012004200a6a0d000c020b0b20102002418c9dc4800010b980808000000b0240200e450d00200d200d417e6a2f00006b41002802ec82d48000118180808000000b0240200c450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000b20034190106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010a3868080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741246e2208200128020822014101764f0d01410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a410020084104412410a3868080002003280208210a200328020c21090b200a200941246c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41246e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810a3868080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bef0704057f017e017f017e23808080800041d0006b2201248080808000200141306a41b0a9c88000410b41bba9c8800041164104410010c2928080002001410036022c20014280808080c00037022441002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220441ec80808000360218200442e2e68fceaa92ce9c7b370310200442e987d8bed5a3d0fbfb0037030820044107360204200441d1a9c880003602002004417e6a20033b0000200141086a41086a200141246a220241086a280200360200200120022902003703082001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a41ac91c3800010b592808000200128021c220242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb00370300200141c0006a41086a220341013602002002420437022c20024207370224200241a5b4c380003602202002410436021c200241eebfc38000360218200241ec80808000360210200120012902183703400240200328020022032001280240470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c20024207370224200241a5b4c380003602202002410836021c200241e0bfc38000360218200241ec80808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb003703002007200341016a2203360200200120012903402208370318024020032008a7470d00200141186a41ac91c3800010b5928080000b200128021c200341386c6a2202420437022c20024207370224200241a5b4c380003602202002410636021c200241e8bfc38000360218200241ec80808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb00370300200141c8006a200341016a2203360200200120012903182208370340024020032008a7470d00200141c0006a41ac91c3800010b5928080000b2001280244200341386c6a2202420437022c2002420a370224200241f7bfc380003602202002410536021c200241f2bfc38000360218200241a084808000360210200242eb92e3b8cadafec4e500370308200242badfe7dc9bbfa3ac353703002005418080808078460d0120012802442102200128024021072000410136024c20002004360248200041013602442000200637023c200020053602382000200236020820002007360204200041003a0000200020012903083702502000200341016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000f0b4108412010ab80808000000b41bc91c38000411141d091c3800010a181808000000be90202027e047f2000290308210220002903002103024020012802002204200128020822056b410f4b0d0020012005411010f49180800020012802002104200128020821050b2001200541106a22063602082001280204220720056a220520023700082005200337000020002903182102200029031021030240200420066b410f4b0d0020012006411010f4918080002001280200210420012802042107200128020821060b200720066a22052002370008200520033700002001200641106a220636020820002903282102200029032021030240200420066b410f4b0d0020012006411010f49180800020012802042107200128020821060b200720066a22042002370008200420033700002001200641106a220636020820002903382102200029033021030240200128020020066b410f4b0d0020012006411010f491808000200128020821060b2001200641106a360208200128020420066a22012002370008200120033700000bb70202057f027e23808080800041206b2202248080808000024002402001280200220328020c2204280208220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002004427f2004290300220742047c220820082007541b3703002006280000210402402003280200200328020822056b41034b0d002003200541044101410110a386808000200328020821050b2003200541046a360208200328020420056a2004360000200241086a200110cf848080000240024020022802084101710d00200241146a2001200228020c1086838080002002280214418080808078470d010b20004180808080783602040c020b20002002290214370204200020043602002000410c6a2002411c6a2802003602000c010b20004180808080783602040b200241206a2480808080000bba0202057f027e23808080800041206b2202248080808000024002402001280200220328020c2204280208280200220528020422064104490d0020052006417c6a36020420052005280200220641046a3602002004427f2004290300220742047c220820082007541b3703002006280000210402402003280200200328020822056b41034b0d002003200541044101410110a386808000200328020821050b2003200541046a360208200328020420056a2004360000200241086a200110ce848080000240024020022802084101710d00200241146a2001200228020c1089838080002002280214418080808078470d010b20004180808080783602040c020b20002002290214370204200020043602002000410c6a2002411c6a2802003602000c010b20004180808080783602040b200241206a2480808080000ba10303047f017e027f23808080800041106b2202248080808000024002402001280204220341074b0d0020004180808080783602080c010b2001200341786a220436020420012001280200220541086a360200024002402004450d00200529000021062001200341776a22073602042001200541096a3602000240024002400240024020052d000822084103710e0400010302000b200841027621030c030b2007450d032001200341766a36020420012005410a6a36020020052d00092203450d03200341087420087241027621030c020b200841044f0d0220044105490d022001200341736a36020420012005410d6a360200200528000922034180808080044f0d010c020b20044104490d012001200341746a36020420012005410c6a36020020052f00092005410b6a2d0000411074722203418002490d01200341087420087241027621030b200241046a20012003108a838080002002280204418080808078470d010b20004180808080783602080c010b2000200229020437020820002006370200200041106a2002410c6a2802003602000b200241106a2480808080000b9d0301077f23808080800041106b2202248080808000024002402001280204220341034b0d0020004180808080783602040c010b20012003417c6a220436020420012001280200220541046a360200024002402004450d002005280000210620012003417b6a22073602042001200541056a3602000240024002400240024020052d000422084103710e0400010302000b200841027621030c030b2007450d0320012003417a6a3602042001200541066a36020020052d00052203450d03200341087420087241027621030c020b200841044f0d0220044105490d022001200341776a3602042001200541096a360200200528000522034180808080044f0d010c020b20044104490d012001200341786a3602042001200541086a36020020052f0005200541076a2d0000411074722203418002490d01200341087420087241027621030b200241046a20012003108a838080002002280204418080808078470d010b20004180808080783602040c010b20002002290204370204200020063602002000410c6a2002410c6a2802003602000b200241106a2480808080000bfe0101047f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110dc84808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028021021052002200028021422003602082002200241086a36020c2002410c6a200110dc84808000024020002001280200200128020822046b4d0d0020012004200010f491808000200128020821040b200128020420046a2005200010f4978080001a2001200420006a360208200241106a2480808080000bde09010c7f23808080800041d0006b2202248080808000200241306a200110fe8e80800002400240024020022802302203418080808078460d00200228023421040240200128020422054104490d002002280238210620012005417c6a220736020420012001280200220841046a220936020020074120490d002008280000210a20012005415c6a22073602042001200841246a360200200241306a41086a220b200941086a290000370300200241306a41106a220c200941106a290000370300200241306a41186a220d200941186a29000037030020022009290000370330200741034b0d020b2003450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b20004180808080783602000c010b2001200541586a3602042001200841286a360200200241086a200b290300370300200241106a200c290300370300200241186a200d2903003703002002200229033037030020082800242109200241306a200110a78880800002400240024020022802304101470d0020004180808080783602000c010b200241286a2002413c6a2802003602002002200229023437032002400240024020012802042205450d0020012005417f6a220b36020420012001280200220841016a3602000240024002400240024020082d000022074103710e0400010302000b200741027621050c030b200b450d0320012005417e6a3602042001200841026a36020020082d00012205450d03200541087420077241027621050c020b200741044f0d0220054105490d0220012005417b6a3602042001200841056a360200200828000122054180808080044f0d010c020b20054104490d0120012005417c6a3602042001200841046a36020020082f0001200841036a2d0000411074722205418002490d01200541087420077241027621050b200241306a2001200510ab8380800020022802302208418080808078470d010b20004180808080783602000c010b2002280234210720022802382105200241306a200110b48880800020022802304101470d02200041808080807836020002402005450d002005410171210641002100024020054101460d002005417e7121092007210141002100034002402001280200450d00200141046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200141106a280200450d00200141146a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200141206a21012009200041026a2200470d000b0b2006450d00200720004104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b2008450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200241206a10a6888080000b2003450d0120042004417e6a2f00006b41002802ec82d48000118180808000000c010b2000200229023437024c200041d4006a2002413c6a280200360200200041286a200241186a290300370200200041206a200241106a290300370200200041186a200241086a2903003702002000200229030037021020002002290320370240200041c8006a200241206a41086a2802003602002000200536023c2000200736023820002008360234200020093602302000200a36020c2000200636020820002004360204200020033602000b200241d0006a2480808080000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d04200020012002410874200572410276108a838080000f0b20030d020c030b200541027621020b200020012002108a838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d00200020012002410874200572410276108a838080000f0b20004180808080783602000bb60101047f23808080800041106b22022480808080002000280200220341046a2802002100200341086a280200210441012103200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a200020002004410a746a108c8e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030bb60101047f23808080800041106b22022480808080002000280200220341046a2802002100200341086a280200210441012103200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a20002000200441186c6a10938e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030bb60101047f23808080800041106b22022480808080002000280200220341046a2802002100200341086a280200210441012103200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a20002000200441246c6a108e8e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030bad0101047f23808080800041106b22022480808080002000280200220028020821032000280204210041012104200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2000200020036a10948e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021040b200241106a24808080800020040bb60101047f23808080800041106b22022480808080002000280200220341046a2802002100200341086a280200210441012103200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a200020002004410c6c6a108f8e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030b3900200128020020002802002d000041027422004198b9c880006a2802002000418cb9c880006a280200200128020428020c118080808000000b910d01057f23808080800041306b2202248080808000024002400240024002400240200028020022032d00000e050001020304000b410121002002200341016a3602282001280200220341c0a6c8800041022001280204220428020c2205118080808000000d040240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d06200241286a200110e78c808000450d010c060b200341e080c2800041022005118080808000000d0541012100200241013a00172002200436020c20022003360208200241b480c2800036021c200220012902083702202002200241176a3602102002200241086a360218200241286a200241186a10e78c8080000d05200228021841da80c280004102200228021c28020c118080808000000d050b200128020041e280c280004101200128020428020c1180808080000021000c040b410121002002200341016a3602282001280200220341c2a6c8800041052001280204220428020c2205118080808000000d030240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d05200241286a2001109c85808000450d010c050b200341e080c2800041022005118080808000000d0441012100200241013a00172002200436020c20022003360208200241b480c2800036021c200220012902083702202002200241176a3602102002200241086a360218200241286a200241186a109c858080000d04200228021841da80c280004102200228021c28020c118080808000000d040b200128020041e280c280004101200128020428020c1180808080000021000c030b410121002001280200220541c7a6c8800041032001280204220628020c2204118080808000000d020240024020012d000a418001710d0041012100200541df80c2800041012004118080808000000d04200328020c21052003280208210341012100200128020041e580c280004101200128020428020c118080808000002104200241003a001d200220043a001c20022001360218200241186a2003200320056a10948e808000210320022d001c4101460d042003280200220328020041e680c280004101200328020428020c11808080800000450d010c040b200541e080c2800041022004118080808000000d03200241013a0017200220012902083702202002200636020c20022005360208200241b480c2800036021c2002200241176a3602102002200241086a36021820032802082100200328020c2103200241086a41e580c2800041011088818080002105200241003a002d200220053a002c2002200241186a360228200241286a2000200020036a10948e80800021000240024020022d002c4101460d002000280200220028020041e680c280004101200028020428020c11808080800000450d010b410121000c040b41012100200228021841da80c280004102200228021c28020c118080808000000d030b200128020041e280c280004101200128020428020c1180808080000021000c020b410121002002200341016a3602282001280200220341caa6c8800041092001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d03200241286a200110b185808000450d010c030b200341e080c2800041022005118080808000000d0241012100200241013a00172002200436020c20022003360208200241b480c2800036021c200220012902083702202002200241176a3602102002200241086a360218200241286a200241186a10b1858080000d02200228021841da80c280004102200228021c28020c118080808000000d020b200128020041e280c280004101200128020428020c1180808080000021000c010b410121002002200341016a3602282001280200220341d3a6c8800041092001280204220428020c2205118080808000000d000240024020012d000a418001710d0041012100200341df80c2800041012005118080808000000d02200241286a200110a885808000450d010c020b200341e080c2800041022005118080808000000d0141012100200241013a00172002200436020c20022003360208200241b480c2800036021c200220012902083702202002200241176a3602102002200241086a360218200241286a200241186a10a8858080000d01200228021841da80c280004102200228021c28020c118080808000000d010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000b2d00200128020041a0b2c880004198b2c8800020002802002d00001b4108200128020428020c118080808000000bb60101047f23808080800041106b22022480808080002000280200220341046a2802002100200341086a280200210441012103200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2000200020044105746a108d8e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030b1f002000280200220041046a280200200041086a280200200110868e8080000ba10701057f23808080800041306b2202248080808000200028020021034101210002402001280200220441014100200128020428020c2205118080808000000d00024002400240024020012d000a418001710d0041012100200441df80c2800041012005118080808000000d04200328020821052003280204210441012100200128020041e580c280004101200128020428020c118080808000002106200241003a001d200220063a001c20022001360218200241186a2004200420056a10948e808000210420022d001c4101460d042004280200220428020041e680c280004101200428020428020c11808080800000450d010c040b200441e080c2800041022005118080808000000d03200241013a001720022001290208370220200241b480c2800036021c200220012902003702082002200241176a3602102002200241086a3602182003280208210420032802042100200241086a41e580c2800041011088818080002105200241003a002d200220053a002c2002200241186a360228200241286a2000200020046a10948e808000210020022d002c4101460d012000280200220028020041e680c280004101200028020428020c118080808000000d01200228021841da80c280004102200228021c28020c118080808000000d010b024020012d000a418001710d0041012100200128020041d380c280004102200128020428020c118080808000000d03200328021421042003280210210341012100200128020041e580c280004101200128020428020c118080808000002105200241003a001d200220053a001c20022001360218200241186a2003200320046a10948e808000210320022d001c4101460d032003280200220328020041e680c280004101200328020428020c118080808000000d030c020b200241013a0017200241b480c2800036021c20022001290200370208200220012902083702202002200241176a3602102002200241086a3602182003280210210020032802142103200241086a41e580c2800041011088818080002104200241003a002d200220043a002c2002200241186a360228200241286a2000200020036a10948e808000210020022d002c4101460d002000280200220028020041e680c280004101200028020428020c118080808000000d00200228021841da80c280004102200228021c28020c11808080800000450d010b410121000c010b200128020041e280c280004101200128020428020c1180808080000021000b200241306a24808080800020000bb60101047f23808080800041106b22022480808080002000280200220341046a2802002100200341086a280200210441012103200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a20002000200441146c6a10928e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021030b200241106a24808080800020030b180020002802002001200028020428020c118480808000000b9f1001077f0240024002400240024002400240024020002802000e080102070703040500010b20002802084104470d06200028020c450d06200028021021010c050b0240024002400240024002400240024020002d0008417f6a0e0a010d0203040506070d0d000b200028020c450d0c200028021021010c0b0b200028020c450d0b200028021021010c0a0b200028020c450d0a200028021021010c090b200028020c450d09200028021021010c080b20002802102101024020002802142202450d0020012103034002402003280200450d00200341046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032002417f6a22020d000b0b200028020c0d070c080b20002802102101024020002802142203450d002003410171210541002102024020034101460d002003417e7121062001210341002102034002402003280200450d00200341046a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b02402003410c6a280200450d00200341106a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200341186a21032006200241026a2202470d000b0b2005450d0020012002410c6c6a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b200028020c0d060c070b2000280210450d06200028021421010c050b200028020c450d05200028021021010c040b024020002802042203418080808078470d002000280208450d05200028020c21010c040b02402003450d00200028020822032003417e6a2f00006b41002802ec82d48000118180808000000b200041d0006a10a688808000200028023c2105024020002802402207450d0041002106034002402005200641f0006c6a22042802082201450d00200428020421030340024020032d0000220241034b0d002003200241027441a4b9c880006a2802006a2202280200450d00200241046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200341146a21032001417f6a22010d000b0b02402004280200450d00200428020422032003417e6a2f00006b41002802ec82d48000118180808000000b200641016a22062007470d000b0b02402000280238450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b024020002802442203418080808078460d002003450d00200028024822032003417e6a2f00006b41002802ec82d48000118180808000000b20002802602106024020002802642203450d002003410171210541002101024020034101460d002003417e7121042006210341002101034002402003280200450d00200341046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200341106a280200450d00200341146a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200341206a21032004200141026a2201470d000b0b2005450d00200620014104746a2203280200450d00200328020422032003417e6a2f00006b41002802ec82d48000118180808000000b0240200028025c450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b02402000280268450d00200028026c22032003417e6a2f00006b41002802ec82d48000118180808000000b200028027821060240200028027c2202450d002002410171210541002101024020024101460d002006411c6a21032002417e7121044100210103400240200341686a280200450d002003416c6a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b02402003417c6a280200450d00200328020022022002417e6a2f00006b41002802ec82d48000118180808000000b200341286a21032004200141026a2201470d000b0b2005450d002006200141146c6a2203280204450d00200341046a28020422032003417e6a2f00006b41002802ec82d48000118180808000000b02402000280274450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200028028001450d0420002802840121010c030b024002400240024002400240024020002d0010417f6a0e07000102030405060a0b20002d00144102470d092000280218450d09200028021c21010c080b024020002d00144102470d002000280218450d00200028021c22032003417e6a2f00006b41002802ec82d48000118180808000000b20002d00384102470d08200028023c450d08200028024021010c070b20002d00144102470d072000280218450d07200028021c21010c060b20002d00144102470d062000280218450d06200028021c21010c050b20002d00144102470d052000280218450d05200028021c21010c040b2000280214450d04200028021821010c030b20002d00144102470d032000280218450d03200028021c21010c020b024002400240024020002d00082203417c6a41042003417b6a41ff01714105491b417f6a0e0400010203060b200028020c2201108c8f8080000c040b20002802202201108c8f8080000c030b20002d000c4102470d032000280210450d03200028021421010c020b024020034102470d00200028020c450d00200028021022032003417e6a2f00006b41002802ec82d48000118180808000000b200028022c2201108c8f8080000c010b20002802042203418480808078480d012003450d01200028020821010b20012001417e6a2f00006b41002802ec82d48000118180808000000b0bf60201067f23808080800041306b220124808080800020002802042102024020002802082203450d002002210403400240024002400240024020042d00000e050404010203000b02400240200441046a28020022050d0041002105410021060c010b200120053602242001410036022020012005360214200141003602102001200441086a2802002205360228200120053602182004410c6a2802002106410121050b2001200636022c2001200536021c2001200536020c2001410c6a10c7898080000c030b200441046a280200450d02200441086a28020022052005417e6a2f00006b41002802ec82d48000118180808000000c020b200441046a280200450d01200441086a28020022052005417e6a2f00006b41002802ec82d48000118180808000000c010b200441046a108d8f8080000b200441106a21042003417f6a22030d000b0b02402000280200450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bc60501037f0240024002400240024002402000280200417e6a2201410420014106491b0e050501020304000b2000280204220120012802002201417f6a36020020014101470d04200041046a10f0978080000c040b0240200028022c4129490d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802342201450d03200120012802002202417f6a36020020024101470d03200041346a10f0978080000f0b024020002802504129490d00200028022822012001417e6a2f00006b41002802ec82d48000118180808000000b20002d0004450d0220002802082201108e8f80800020012001417e6a2f00006b41002802ec82d48000118180808000000f0b024020002802382202450d00200028023421010340024020012d000022034102460d002003450d00200141046a2802002203108e8f80800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b02402000280230450d00200028023422012001417e6a2f00006b41002802ec82d48000118180808000000b2000280204450d0120002802082201450d01200120012802002202417f6a36020020024101470d01200041086a10f0978080000f0b024020002802604129490d00200028023822012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802342202450d00200028023021010340024020012d000022034102460d002003450d00200141046a2802002203108e8f80800020032003417e6a2f00006b41002802ec82d48000118180808000000b200141246a21012002417f6a22020d000b0b0240200028022c450d00200028023022012001417e6a2f00006b41002802ec82d48000118180808000000b2000280200450d0020002802042201450d00200120012802002202417f6a36020020024101470d00200041046a10f0978080000f0b0bb60301057f23808080800041206b220324808080800041002104024002402000280200220541086a2802002206410c6c220741046a22004100480d00200541046a280200210441002d008083d480001a200041002802f482d480001182808080000022050d01410121040b2004200041e8aac8800010b980808000000b2005417e6a41003b000020034100360214200320053602102003200036020c200320063602182003200341186a36021c2003411c6a2003410c6a10dc84808000024002402006450d00200441086a210003402000417c6a28020021042003200028020022063602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402006200328020c200328021422056b4d0d002003410c6a2005200610f491808000200328021421050b200328021020056a2004200610f4978080001a2003200520066a22063602142000410c6a2100200741746a22070d000c020b0b200328021421060b200328020c21052001200220032802102200200641002802dc82d480001183808080000002402005450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000bab0301057f23808080800041206b2203248080808000410021040240024020002802042205410c6c220641046a22074100480d002000280200210441002d008083d480001a200741002802f482d480001182808080000022000d01410121040b2004200741e8aac8800010b980808000000b2000417e6a41003b000020034100360214200320003602102003200736020c200320053602182003200341186a36021c2003411c6a2003410c6a10dc84808000024002402005450d00200441086a210003402000417c6a28020021042003200028020022073602182003200341186a36021c2003411c6a2003410c6a10dc8480800002402007200328020c200328021422056b4d0d002003410c6a2005200710f491808000200328021421050b200328021020056a2004200710f4978080001a2003200520076a22073602142000410c6a2100200641746a22060d000c020b0b200328021421070b200328020c21052001200220032802102200200741002802dc82d480001183808080000002402005450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000bf30201057f23808080800041206b2202248080808000410021030240024020012802082204410c6c220541046a22064100480d002001280204210341002d008083d480001a200641002802f482d480001182808080000022010d01410121030b2003200641e8aac8800010b980808000000b2001417e6a41003b000020024100360214200220013602102002200636020c200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004450d00200341086a210103402001417c6a28020021032002200128020022063602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402006200228020c200228021422046b4d0d002002410c6a2004200610f491808000200228021421040b200228021020046a2003200610f4978080001a2002200420066a3602142001410c6a2101200541746a22050d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b9c0201047f23808080800041206b2202248080808000410021030240024002402001280208220441046a22054100480d0020012802042103024020050d00410121010c030b41002d008083d480001a200541002802f482d480001182808080000022010d01410121030b2003200541dc83c3800010b980808000000b2001417e6a41003b00000b20024100360214200220013602102002200536020c200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004200228020c200228021422056b4d0d002002410c6a2005200410f491808000200228021421050b200228021020056a2003200410f4978080001a200041086a200520046a3602002000200229020c370200200241206a2480808080000b960202067f027e23808080800041106b2202248080808000200028020421032002200028020822003602082002200241086a36020c2002410c6a200110dc8480800002402000450d002000410574210420012802082100034002402001280200220520006b41074b0d0020012000410810f49180800020012802002105200128020821000b2001200041086a22063602082001280204220720006a200341106a29000037000020032903082108200329030021090240200520066b410f4b0d0020012006411010f49180800020012802042107200128020821060b200341206a2103200720066a22002008370008200020093700002001200641106a2200360208200441606a22040d000b0b200241106a2480808080000b9d0101047f20002802002102200020011098928080000240200028020822012002200028020c22036b4d0d002000280200210402400240200220016b2205200320056b22034d0d00200420026b20034f0d010b20002802042202200420056b22034102746a200220014102746a200541027410f9978080001a200020033602080f0b2000280204220020024102746a2000200341027410f4978080001a0b0b6601047f02400240200128020c22020d00410021020c010b20012002417f6a36020c4101210220012001280208220341016a220441002001280200220520042005491b6b360208200128020420034102746a28020021010b20002001360204200020023602000b870a010f7f23808080800041e0006b2202248080808000024020002802082203450d0020004100360208410120036b2104200128020021052000280204210102400340200241d8006a2106200241dc006a2107410c210841102109024002400240024020012d00000e050101020003010b200241dc006a2106200241c0006a2107410c2109410821080b2007200120086a2802003602002006200120096a2802003602000c010b200141106a28020041c000470d00200141016a28000041e1eac98b06470d00200241086a22072001410c6a280200220641086a290000370300200241106a2208200641106a290000370300200241186a2209200641186a290000370300200241206a220a200641206a290000370300200241286a220b200641286a290000370300200241306a220c200641306a290000370300200241386a220d200641386a29000037030020022006290000370300024020052d00004101460d00200541013a000020052002290300370001200541096a2007290300370000200541116a2008290300370000200541196a2009290300370000200541216a200a290300370000200541296a200b290300370000200541316a200c290300370000200541396a200d290300370000024020012d0000220641034b0d002001200641027441a4b9c880006a2802006a2206280200450d00200641046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b024020040d004101210b0c040b410020046b2106200541016a210c4101210b0340200241d8006a2107200241dc006a2108410c21094110210a02400240024002400240200141146a22042d00000e050101020003010b200241dc006a2107200241c0006a2108410c210a410821090b2008200120096a41146a28020036020020072001200a6a41146a2802003602000c010b200141246a28020041c000470d00200141156a28000041e1eac98b06470d00200241086a2208200141206a280200220741086a290000370300200241106a2209200741106a290000370300200241186a220a200741186a290000370300200241206a220d200741206a290000370300200241286a220e200741286a290000370300200241306a220f200741306a290000370300200241386a2210200741386a29000037030020022007290000370300024020052d00004101460d00200541013a0000200c2002290300370000200c41086a2008290300370000200c41106a2009290300370000200c41186a200a290300370000200c41206a200d290300370000200c41286a200e290300370000200c41306a200f290300370000200c41386a2010290300370000200b41016a210b20042d0000220741034b0d022001200741027441a4b9c880006a2802006a220141146a280200450d02200141186a28020022012001417e6a2f00006b41002802ec82d48000118180808000000c020b2002410036025020024101360244200241b8a7c8800036024020024204370248200241c0006a4190a8c8800010fe80808000000b2001200b416c6c6a220141246a200441106a2802003602002001411c6a200441086a290200370200200141146a20042902003702000b200421012006417f6a22060d000c040b0b2002410036025020024101360244200241b8a7c8800036024020024204370248200241c0006a4190a8c8800010fe80808000000b200141146a2101200441016a22044101470d000b4100210b0b20002003200b6b3602080b200241e0006a2480808080000bc807010e7f20012802142103200128021021042001280204210520012d000821062001280218210720012d000d210820012d000921092001280200210a20012d000c210b0240034002400240024002400240024002400240024002400240024002400240200a417e6a0e020102000b0240200641ff01714102460d004100210c2001410041022006410171220d1b3a0008200d450d00410021062009210e0c040b0240200a410171450d002005450d002005418002490d032001200541817e6a220536020441ff01210e410221064101210c0c040b41022106200141023602000b4102210a0240200b41ff01714102460d004100210a200141003a000c200b4101710d050b20014103360200200a210b0b2004450d042003450d04200120032007200320072003491b220a6b220336021420012004200a6a220c36021002400240200a0e020001040b4100410041d0b0c88000108281808000000b4101410141e0b0c88000108281808000000b200141003602042005417f6a210e410221064101210c410021050b2000280208220d2000280200470d08200a4103470d05200445210f2004210c0c040b20042d000041047420042d000172210e2000280208220d2000280200460d024103210a200c21040c070b4100210b4102210a2008210e2000280208220d2000280200470d064100210c20040d04410021042008210e410021100c050b0f0b4100210f0b410021104103210a0240200f450d00200c21040c030b024020030d00200c21040c030b02402007450d00200320076e22042003200420076c6b4100476a2110200c21040c030b41bcb3c88000108e81808000000b024002400240024002402004450d00200a4102460d01200b41ff017122104102460d0202400240200c0d00200a4101711a2006210c0c010b200a4101711a4100210c0b200c20106a210c0c050b200a4102460d02200b41ff017122044102460d0302400240200c0d00200a4101711a2006210c0c010b200a4101711a4100210c0b200c20046a2110410021040c050b4102210a4100200b200b41ff01714102461b41ff0171210c0c030b41002006200c1b210c4102210b0c020b4102210a410021044100200b200b41ff01714102461b41ff017121100c020b4100210441002006200c1b21104102210b0c010b4100211002402003450d002007450d04200320076e22102003201020076c6b4100476a21100b417f200c20106a22102010200c491b21100b2000200d201041016a220c417f200c1b4101410110a3868080000b2000200d41016a3602082000280204200d6a200e3a00000c000b0b41bcb3c88000108e81808000000b4d01017f024020022000280200200028020822046b4d0d002000200420024101410110a386808000200028020821040b200028020420046a2001200210f4978080001a2000200420026a3602080bc30201067f23808080800041106b22052480808080002003280204210620032802002107024020012802002201280208220320026a220820034d0d002003210802402002200128020020036b4d0d002001200320024101410110a386808000200128020821080b2001280204220920086a210a024020024102490d00200a41002002417f6a220210fa978080001a2009200820026a22086a210a0b200a41003a0000200841016a21080b20012008360208024020082003490d00200541086a20072006200128020420036a200820036b200410d280808000024002402005280208418380c400460d00200020052903083702000c010b0240200528020c220820036a220320012802084b0d00200120033602080b2000418380c400360200200020083602040b200541106a2480808080000f0b20032008418caec88000109281808000000bab0101047f23808080800041106b2202248080808000200028020421032000280208210441012100200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2003200320044105746a108b8e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021000b200241106a24808080800020000b140020002802042000280208200110878e8080000bab0101047f23808080800041106b2202248080808000200028020421032000280208210441012100200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2003200320044104746a10918e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021000b200241106a24808080800020000ba80101047f23808080800041106b2202248080808000200028020821032000280204210041012104200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a2000200020036a10948e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021040b200241106a24808080800020040bac0101047f23808080800041106b2202248080808000200028020421032000280208210441012100200128020041e580c280004101200128020428020c118080808000002105200241003a000d200220053a000c20022001360208200241086a20032003200441f0006c6a10908e8080002101024020022d000c0d002001280200220128020041e680c280004101200128020428020c1180808080000021000b200241106a24808080800020000b8f0903027f017e107f23808080800041106b220324808080800020012802082204ad42147e2205a72106410021070240024002402005422088a70d00200641fcffffff074b0d00024020060d00410421080c030b2001280204210941002d008083d480001a200641002802f482d480001182808080000022010d01410421070b2007200641b8b2c8800010b980808000000b2001200141036a417c71220820016b22076a417e6a20073b00002004450d00410021072004210a034020062007460d01024002400240024002400240200920076a220b2d0000220c0e050001020305000b4100210d024002400240200b41106a28020022014100480d00200b41036a2d0000210d200b41016a2f0000210e200b410c6a280200210f200b41046a2d0000210b024020010d00410121100c030b41002d008083d480001a200141002802f482d480001182808080000022100d014101210d200121100b200d201041a8b2c8800010b980808000000b2010417e6a41003b00000b200e200d4110747221112010200f200110f497808000210f2003200b3a000c2003210b200341046a210d200341086a210e200f210f0c030b4100210d024002400240200b41106a28020022014100480d00200b41036a2d0000210d200b41016a2f0000210e200b410c6a280200210f200b41046a2d0000210b024020010d00410121120c030b41002d008083d480001a200141002802f482d480001182808080000022120d014101210d200121120b200d201241a8b2c8800010b980808000000b2012417e6a41003b00000b200e200d4110747221112012200f200110f497808000210f2003200b3a000c2003210b200341046a210d200341086a210e200f210f0c020b4100210d024002400240200b41106a28020022014100480d00200b41036a2d0000210d200b41016a2f0000210e200b410c6a280200210f200b41046a2d0000210b024020010d00410121130c030b41002d008083d480001a200141002802f482d480001182808080000022130d014101210d200121130b200d201341a8b2c8800010b980808000000b2013417e6a41003b00000b200e200d4110747221112013200f200110f497808000210f2003200b3a000c2003210b200341046a210d200341086a210e200f210f0c010b4100210d024002400240200b410c6a28020022014100480d00200b41086a280200210f024020010d00410121140c030b41002d008083d480001a200141002802f482d480001182808080000022140d014101210d200121140b200d201441a8b2c8800010b980808000000b2014417e6a41003b00000b200341046a210b200341086a210d2003410c6a210e2014200f200110f497808000210f0b200b2001360200200d200f360200200e20013602002003280200210d2003280204210e2003280208210f200328020c21150b200820076a2201200c3a0000200141036a20114110763a0000200141016a20113b0000200141106a200d3602002001410c6a200e360200200141086a200f360200200141046a2015360200200741146a2107200a417f6a220a0d000b0b200020043602082000200836020420002004360200200341106a2480808080000b1e00200128020041abadc880004105200128020428020c118080808000000bcc0201047f23808080800041306b2201248080808000024020002802082202450d002000280204210003400240024002400240024020002d00000e050404010203000b02400240200041046a28020022030d0041002103410021040c010b200120033602242001410036022020012003360214200141003602102001200041086a2802002203360228200120033602182000410c6a2802002104410121030b2001200436022c2001200336021c2001200336020c2001410c6a10c7898080000c030b200041046a280200450d02200041086a28020022032003417e6a2f00006b41002802ec82d48000118180808000000c020b200041046a280200450d01200041086a28020022032003417e6a2f00006b41002802ec82d48000118180808000000c010b200041046a108d8f8080000b200041106a21002002417f6a22020d000b0b200141306a2480808080000bd20101067f024020002802082201450d002000280204210241002103034002402002200341f0006c6a22042802082205450d00200428020421000340024020002d0000220641034b0d002000200641027441a4b9c880006a2802006a2206280200450d00200641046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041146a21002005417f6a22050d000b0b02402004280200450d00200428020422002000417e6a2f00006b41002802ec82d48000118180808000000b200341016a22032001470d000b0b0b5401027f024020002802082201450d00200028020441086a210003402000280200220220022802002202417f6a360200024020024101470d00200010de8f8080000b200041306a21002001417f6a22010d000b0b0bec0101057f024020002802082201450d00200028020421022001410171210341002104024020014101460d002002411c6a21002001417e7121054100210403400240200041686a280200450d002000416c6a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b200041286a21002005200441026a2204470d000b0b2003450d002002200441146c6a2200280204450d00200041046a28020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b7701027f024020002802082201450d00200028020421000340024020002d0000220241034b0d002000200241027441a4b9c880006a2802006a2202280200450d00200241046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200041146a21002001417f6a22010d000b0b0b8a0101027f024020002802082201450d0020002802042100034002402000280200450d00200041046a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002001417f6a22010d000b0b0bc10301087f024020002802082201450d002000280204210241002103034002402002200341fc006c6a22042802082205450d00200428020421000340024020002d0000220641034b0d002000200641027441a4b9c880006a2802006a2206280200450d00200641046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041146a21002005417f6a22050d000b0b02402004280200450d00200428020422002000417e6a2f00006b41002802ec82d48000118180808000000b024020042802782200450d00200428027421072000410171210841002105024020004101460d002000417e712106410021052007210003402000410c6a200041046a280200200041086a2802002000280200280210118680808000002000411c6a200041146a280200200041186a280200200041106a28020028021011868080800000200041206a21002006200541026a2205470d000b0b2008450d00200720054104746a2200410c6a200028020420002802082000280200280210118680808000000b02402004280270450d00200428027422002000417e6a2f00006b41002802ec82d48000118180808000000b200341016a22032001470d000b0b0ba70501067f024020002802082201450d00200028020422022100410021030340200220034107746a20002d000041084641027422046a210502400240024002400240200020046a22042d0000417c6a41ff01712206410420064104491b0e0404010203000b0240200441dc006a2802004129490d00200441346a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b2004412c6a28020022062006417e6a2f00006b41002802ec82d480001181808080000020042d000022064103460d030240024020060e020105000b200441246a280200220420042802002204417f6a36020020044101470d04200541246a10f0978080000c040b200441046a2206280200220420042802002204417f6a36020020044101470d03200610f0978080000c030b0240200441dc006a2802004129490d00200441346a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02400240200441046a2d00000e020104000b200441286a280200220420042802002204417f6a36020020044101470d03200541286a10f0978080000c030b200441086a2206280200220420042802002204417f6a36020020044101470d02200610f0978080000c020b200441d4006a2802004129490d012004412c6a28020022042004417e6a2f00006b41002802ec82d48000118180808000000c010b200441306a28020022062006417e6a2f00006b41002802ec82d4800011818080800000200441046a2d000022064103460d0002400240024020060e020103000b200441286a280200220420042802002204417f6a36020020044101470d02200541286a21040c010b200441086a2204280200220620062802002206417f6a36020020064101470d010b200410f0978080000b200341016a210320004180016a21002001417f6a22010d000b0b0be60101057f024020002802082201450d00200028020421022001410171210341002104024020014101460d002001417e7121052002210041002104034002402000280200450d00200041046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b0240200041106a280200450d00200041146a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200041206a21002005200441026a2204470d000b0b2003450d00200220044104746a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0be60101057f024020002802082201450d00200028020421022001410171210341002104024020014101460d002001417e7121052002210041002104034002402000280200450d00200041046a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022012001417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002005200441026a2204470d000b0b2003450d0020022004410c6c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0ba30201057f23808080800041106b220524808080800002402001280208220620026a220720064d0d002006210702402002200128020020066b4d0d002001200620024101410110a386808000200128020821070b2001280204220820076a2109024020024102490d00200941002002417f6a220210fa978080001a2008200720026a22076a21090b200941003a0000200741016a21070b20012007360208024020072006490d00200541086a20032802002003280204200128020420066a200720066b200410918c80800041012102024020052802084101710d0041002102200528020c220320066a220620074b0d00200120063602080b2000200336020420002002360200200541106a2480808080000f0b2006200741f8aec88000109281808000000b5a01017f23808080800041106b2202248080808000200241086a200110ce84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c10a3838080000b200241106a2480808080000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d04200020012002410874200572410276109d838080000f0b20030d020c030b200541027621020b200020012002109d838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d00200020012002410874200572410276109d838080000f0b20004180808080783602000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610ab838080000f0b20030d020c030b200541027621020b20002001200210ab838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610ab838080000f0b20004180808080783602000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d042000200120024108742005724102761084838080000f0b20030d020c030b200541027621020b2000200120021084838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d002000200120024108742005724102761084838080000f0b20004180808080783602000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d04200020012002410874200572410276108e838080000f0b20030d020c030b200541027621020b200020012002108e838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d00200020012002410874200572410276108e838080000f0b20004180808080783602000b5a01017f23808080800041106b2202248080808000200241086a200110cf84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c1092838080000b200241106a2480808080000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610a2838080000f0b20030d020c030b200541027621020b20002001200210a2838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610a2838080000f0b20004180808080783602000b5a01017f23808080800041106b2202248080808000200241086a200110cf84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c109f838080000b200241106a2480808080000b5a01017f23808080800041106b2202248080808000200241086a200110ce84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c1098838080000b200241106a2480808080000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d042000200120024108742005724102761087838080000f0b20030d020c030b200541027621020b2000200120021087838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d002000200120024108742005724102761087838080000f0b20004180808080783602000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610aa838080000f0b20030d020c030b200541027621020b20002001200210aa838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610aa838080000f0b20004180808080783602000b5a01017f23808080800041106b2202248080808000200241086a200110cf84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c10a0838080000b200241106a2480808080000b5a01017f23808080800041106b2202248080808000200241086a200110cf84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c1094838080000b200241106a2480808080000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d042000200120024108742005724102761088838080000f0b20030d020c030b200541027621020b2000200120021088838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d002000200120024108742005724102761088838080000f0b20004180808080783602000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d04200020012002410874200572410276108f838080000f0b20030d020c030b200541027621020b200020012002108f838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d00200020012002410874200572410276108f838080000f0b20004180808080783602000b5a01017f23808080800041106b2202248080808000200241086a200110ce84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c109a838080000b200241106a2480808080000b5a01017f23808080800041106b2202248080808000200241086a200110ce84808000024002402002280208410171450d0020004180808080783602000c010b20002001200228020c108c838080000b200241106a2480808080000ba60201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a36020002400240024002400240024020042d000022054103710e0403020100030b200541044f0d0520024105490d0520012002417b6a3602042001200441056a36020020042800012202418080808004490d050c030b20024104490d0420012002417c6a3602042001200441046a36020020042f0001200441036a2d000041107472220241ff014d0d0420002001200241087420057241027610a8838080000f0b20030d020c030b200541027621020b20002001200210a8838080000f0b20012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610a8838080000f0b20004180808080783602000bbe0101077f41002103024002402001410f712204410f470d00410121032002280208220541016a200228020422064b0d0020022802002107410f2108200521010340200120064f0d022002200141016a3602080240200720016a2d0000220941ff01470d00200841ff016a210841012103200141026a2109200141016a2101200920064d0d010c020b0b200920086a2104410021030b20002004360204200020033602000f0b20052006200520064b1b20064180cccd8000108281808000000b840701097f23808080800041106b220224808080800002400240024002400240024002402001280208220341016a2204200128020422054b22060d0020032005490d01200320054180cccd8000108281808000000b200041053a00000c010b20012004360208024002400240024002400240024002400240024002402001280200220720036a2d00002208450d0020084106764102730e0403020a01030b200041003a00000c0a0b2008413f712208413f470d030240200341026a20054b0d00413f2108200421030340200320054f0d0c2001200341016a2209360208200720036a2d0000220a41ff01470d04200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c090b2008413f712208413f470d040240200341026a20054b0d00413f2108200421030340200320054f0d0c2001200341016a2209360208200720036a2d0000220a41ff01470d05200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c080b2008413f712208413f470d050240200341026a20054b0d00413f2108200421030340200320054f0d0c2001200341016a2209360208200720036a2d0000220a41ff01470d06200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c070b200a20086a21080b20002008360204200041023a00000c050b200a20086a21080b2000200836020420004181023b01000c030b200a20086a21080b20002008360204200041013b01000c010b0240024002400240200841e001714120460d00200841f001714110460d01200041053a00000c040b2008411f712208411f470d020240200341026a20054b0d00411f2108200421030340200320054f0d092001200341016a2209360208200720036a2d0000220a41ff01470d03200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c030b200241086a2008200110be8f80800002402002280208410171450d00200041053a00000c030b200228020c2101200041033a0000200020013602040c020b200a20086a21080b20002008360204200041043a00000b200241106a2480808080000f0b2004200520061b20054180cccd8000108281808000000b2004200520061b20054180cccd8000108281808000000b2004200520061b20054180cccd8000108281808000000b2004200520061b20054180cccd8000108281808000000ba30801047f02400240024002400240024020002d00000e050004010203000b0240200128020020012802082202470d0020012002410110f491808000200128020821020b2001200241016a360208200128020420026a41003a00000c040b41ff0020002802042202413e2002413e491b220041c000722002413e4b1b2103200220006b210241012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d05024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b411f20002802042202410e2002410e491b22004110722002410e4b1b2103200220006b210241012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d04024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b413f20002802042202411e2002411e491b22004120722002411e4b1b2103200220006b210241012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d03024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b200028020422042004413e2004413e491b22056b2102024020002d00010d0041bf7f200541807f722004413e4b1b210341012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d03024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b417f20054140722004413e4b1b210341012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d02024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b0b840201077f20012802002103200128020421042001280208210502400240024020012d000c450d0020012d000d2106200141003a000c2006410f7121070c010b200520044f0d012001200541016a2206360208200320056a2d00002107200621050b0240200028020822082000280200470d002000200841014101410110a3868080000b2000200841016a22063602082000280204220920086a20073a0000200520044f0d0003402001200541016a2208360208200320056a2d00002105024020062000280200470d002000200641014101410110a386808000200028020421090b200920066a20053a00002000200641016a22063602082008210520042008470d000b0b0b920401077f2001280204210320012802002204280228210502400240024002400240024020012d00104101470d002003200428020422062005200541284b1b4f0d01200128020c4107712107200128020841077121080340024002402003450d002003417f6a20062005200541284b22091b22054f0d05200320054f0d062004280200200420091b20036a22052d00002007762005417f6a2d00002008747221060c010b20062005200541284b22091b450d062004280200200420091b2d000041047621060b2001200341016a22033602040240200028020822052000280200470d002000200541014101410110a3868080000b200028020420056a20063a00002000200541016a36020820032004280204220620042802282205200541284b1b490d000c020b0b2003200428020422092005200541284b1b4f0d0003402001200341016a2206360204200320092005200541284b22071b22054f0d052004280200200420071b20036a2d000021050240200028020822032000280200470d002000200341014101410110a3868080000b200028020420036a20053a00002000200341016a3602082006210320062004280204220920042802282205200541284b1b490d000b0b0f0b2003417f6a200541f8b1c88000108281808000000b200320054188b2c88000108281808000000b4100410041e8b1c88000108281808000000b2003200541d8b1c88000108281808000000b850b010b7f23808080800041206b2203248080808000200341086a200110c8888080000240024020032802082204450d000240200328020c2205200528020041054b22064103746a2802002207450d00200441086a2802002108200441046a280200210902402005280204200541046a20061b2007412c6c6a220441546a2207280200220541014b0d00200441586a220a280200210b200441706a280200210602402005410171450d00200b2006460d010b2003200441646a360210200341106a2005200b200610a597808000200a200636020041012105200741013602000b4100210a4158210b410021070240024002402005417e6a2205410220054102491b0e03010200010b4164210b0b02402004200b6a22050d00410021070c010b20052802082106200528020421070b200128022041016a2205417f20051b22044104200441044b1b220b410474210502400240200441ffffffff004b0d00200541fcffffff074b0d0041002d008083d480001a200541002802f482d480001182808080000022040d014104210a0b200a2005200210b980808000000b2004200441036a417c71220520046b22026a417e6a20023b00002005200636020c20052007360208200520083602042005200936020020034101360218200320053602142003200b360210024002402001280220220b450d002001280200210c2001280204210720012802082105200128020c2108034002400240200c410171450d00024002402007450d002008210420052106200721050c010b4101210c4100210402402008450d0020082101024020084107712206450d0003402001417f6a210120052802ac1421052006417f6a22060d000b0b20084108490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200141786a22010d000b0b410021060b024002400240200420052f01aa144f0d00200521010c010b034020052802a0132201450d02200641016a210620052f01a814210420012105200420012f01aa144f0d000b0b024020060d00200441016a2108200121070c030b200120044102746a41b0146a2802002107410021082006417f6a2205450d022006417e6a2109024020054107712206450d0003402005417f6a210520072802ac1421072006417f6a22060d000b0b20094107490d02034020072802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142107200541786a22050d000c030b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b2001200441e0016c6a2205200528020041054b22064103746a2802002209450d0220012004410c6c6a220141ac136a2802002102200141a8136a280200210a02402005280204200541046a20061b2009412c6c6a220441546a2206280200220541014b0d00200441586a220d2802002109200441706a280200210102402005410171450d0020092001460d010b2003200441646a36021c2003411c6a20052009200110a597808000200d200136020041012105200641013602000b41002106415821090240024002402005417e6a2205410220054102491b0e03010200010b416421090b200420096a2205450d0020052802082101200528020421060b200b417f6a210b0240200328021822042003280210470d00200341106a2004200b41016a2205417f20051b4104411010a3868080000b200328021420044104746a2205200136020c20052006360208200520023602042005200a3602002003200441016a36021841002105200b0d000b0b20002003290210370200200041086a200341106a41086a2802003602000c030b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b2000410036020820004280808080c0003702000b200341206a2480808080000b910503037f017e017f23808080800041f0006b2203248080808000200341186a200110ce8e808000024002402003280218418080808078460d00200128022041016a2204417f20041b22044104200441044b1b2205ad42187e2206a72104410021070240024002402006422088a70d00200441fcffffff074b0d00024020040d0041042102410021050c030b41002d008083d480001a200441002802f482d480001182808080000022070d01410421070b20072004200210b980808000000b2007200741036a417c71220220076b22046a417e6a20043b00000b20022003290218370200200241106a200341186a41106a290200370200200241086a200341186a41086a29020037020020034101360214200320023602102003200536020c200341306a41206a200141206a280200360200200341306a41186a200141186a290200370300200341306a41106a200141106a290200370300200341306a41086a200141086a29020037030020032001290200370330200341d8006a200341306a10ce8e80800002402003280258418080808078460d004118210441012101034002402001200328020c470d002003410c6a2001200328025041016a2207417f20071b4104411810a386808000200328021021020b200220046a22072003290258370200200741106a200341d8006a41106a290200370200200741086a200341d8006a41086a2902003702002003200141016a2201360214200441186a2104200341d8006a200341306a10ce8e8080002003280258418080808078470d000b0b200341306a10c889808000200041086a2003410c6a41086a2802003602002000200329020c3702000c010b2000410036020820004280808080c000370200200110c8898080000b200341f0006a2480808080000bc105040d7f037e017f017e23808080800041306b220324808080800020012802042204200128020022056b220641386e21070240200641fcffffff074d0d0041002006200210b980808000000b0240024020042005470d0020012802102108200128020c21092001280208210a410021074104210b410021064100210c0c010b4100210d41002d008083d480001a0240200641002802f482d4800011828080800000220c0d0041042006200210b980808000000b200c200c41036a417c71220b200c6b22066a417e6a20063b000020012802102108200128020c21092001280208210a200341276a2102200341206a210e4100210c0240034002402005200d6a220141146a2d0000220f4102470d00200141386a21050c020b2002200141346a280000360000200e2001412d6a290000370300200141156a29000021102001411d6a2900002111200141256a2900002112200141106a2802002113200141086a2902002114200b200d6a22062001290200370200200641086a2014370200200641106a2013360200200641256a20123700002006411d6a2011370000200641156a2010370000200641146a200f3a0000200641346a20022800003600002006412d6a200e290300370000200c41016a210c2005200d41386a220d6a2004470d000b200421050b200420056b41386e21060b02400240024020042005470d002008450d022009200a2802082201460d01200a2802042206200141386c6a2006200941386c6a200841386c10f9978080001a0c010b200541086a21010340200110ad88808000200141386a21012006417f6a22060d000b2008450d0102402009200a2802082201460d00200a2802042206200141386c6a2006200941386c6a200841386c10f9978080001a0b200a200120086a3602080c010b200a200120086a3602080b2000200c3602082000200b36020420002007360200200341306a2480808080000b8507020b7f067e23808080800041a0026b22032480808080000240024002402001280200220420012802042205460d00200441d0006c210602400340200120066a220741c0006a28020022084103470d01200641d0006a21062005200441016a2204470d000b20004100360208200042808080808001370200200120053602000c030b2001200441016a36020041002d008083d480001a41c00241002802f482d48000118280808000002206450d012006200641076a417871220520066b22046a417e6a20043b0000200541306a200741086a220641306a290300370300200541286a200641286a290300370300200541206a200641206a290300370300200541186a200641186a290300370300200541106a200641106a290300370300200541086a200641086a29030037030020052006290300370300200520083602382005200741c4006a29020037023c200541c4006a200741cc006a290200370200200541cc006a200741d4006a2802003602002003410136020c2003200536020820034104360204200341106a200141f80110f4978080001a02402003280210220220032802142201460d002001417f6a2109200341106a41c4006a210a4101210b0340200a200241d0006c6a210620022104024003402006417c6a28020022074103470d01200641d0006a21062001200441016a2204470d000c030b0b20034188026a41106a220c200641106a28020036020020034188026a41086a220d200641086a29020037030020032006290200370388020240200b2003280204470d00200341046a200b4101410841d00010a386808000200328020821050b200441016a2102200641446a220841206a290300210e200841286a290300210f200841306a2903002110200841186a2903002111200841106a2903002112200841086a29030021132005200b41d0006c6a2206200829030037030020062007360238200641086a2013370300200641106a2012370300200641186a2011370300200620032903880237023c200641306a2010370300200641286a200f370300200641206a200e370300200641c4006a200d290300370200200641cc006a200c2802003602002003200b41016a220b36020c20092004470d000b0b20002003290204370200200041086a200341046a41086a2802003602000c020b200041003602082000428080808080013702000c010b410841c002200210b980808000000b200341a0026a2480808080000be30c05067f017e017f027e077f23808080800041a0046b2203248080808000200341d4006a200110cb88808000024002400240024020032802542204418080808078460d00200341c0026a200341d4006a410c6a41e00110f4978080001a200341c0026a20032802c00241054b22054103746a22062802002207450d0220032802c402210820062007417f6a2207360200200341186a2008200341c0026a41046a20051b2007412c6c6a2205410c6a290200370300200341206a200541146a290200370300200341286a2005411c6a28020036020020032005290204370310200528020021062003290258210902402005280220450d00200528022422052005417e6a2f00006b41002802ec82d48000118180808000000b200341c0026a10e08980800020064104460d00200341d4006a41106a2108200341d4006a41046a22052003290310370200200541186a200341106a41186a280200360200200541106a200341106a41106a290300370200200541086a200341106a41086a290300370200200320063602540240200641014b0d002003280258210a2003280270210702402006410171450d00200a2007460d010b200320083602c002200341c0026a2006200a200710a5978080002003200736025841012106200341013602540b41808080807821070240024002402006417e6a2206410220064102491b0e03010200010b200821050b2005290204210b200528020021070b200128022041016a2205417f20051b22054104200541044b1b2208ad42187e220ca7210541002106024002400240200c422088a70d00200541fcffffff074b0d00024020050d004104210d410021080c030b41002d008083d480001a200541002802f482d480001182808080000022060d01410421060b20062005200210b980808000000b2006200641036a417c71220d20066b22056a417e6a20053b00000b200d200b370210200d200736020c200d2009370204200d20043602002003410136020c2003200d36020820032008360204200341106a41206a200141206a280200360200200341106a41186a200141186a290200370300200341106a41106a200141106a290200370300200341106a41086a200141086a29020037030020032001290200370310200341d4006a200341106a10cb88808000024020032802542208418080808078460d00200341d4006a41046a2106200341d4006a41106a210e200341d4006a410c6a210f200341c0026a41046a211041282102200341386a41086a210a200341386a41106a2111200341386a41186a2112410121040340200341c0026a200f41e00110f4978080001a200341c0026a20032802c00241054b22014103746a22052802002207450d0520032802c402211320052007417f6a2207360200200a2013201020011b2007412c6c6a2201410c6a2902003703002011200141146a29020037030020122001411c6a28020036020020032001290204370338200128020021052003290258210902402001280220450d00200128022422012001417e6a2f00006b41002802ec82d48000118180808000000b200341c0026a10e08980800020054104460d0120062003290338370200200641186a2012280200360200200641106a2011290300370200200641086a200a290300370200200320053602540240200541014b0d00200328025821072003280270210102402005410171450d0020072001460d010b2003200e3602c002200341c0026a20052007200110a5978080002003200136025841012105200341013602540b4180808080782107200621010240024002402005417e6a2205410220054102491b0e03010200010b200e21010b2001290204210b200128020021070b024020042003280204470d00200341046a2004200328023041016a2201417f20011b4104411810a3868080002003280208210d0b200d20026a2201200b3702002001417c6a2007360200200141746a2009370200200141706a20083602002003200441016a220436020c200241186a2102200341d4006a200341106a10cb8880800020032802542208418080808078470d000b0b200341106a10c689808000200041086a200341046a41086a280200360200200020032902043702000c010b2000410036020820004280808080c000370200200110c6898080000b200341a0046a2480808080000f0b41dfbcc6800041fc0041ecbdc6800010a181808000000b41dfbcc6800041fc0041ecbdc6800010a181808000000bb10303047f017e067f23808080800041206b2204248080808000410021054100200220016b2206200620024b1b2207ad420c7e2208a721090240024002402008422088a70d00200941fcffffff074b0d0041002106024020090d004104210a410021070c030b41002d008083d480001a200941002802f482d480001182808080000022050d01410421050b20052009200310b980808000000b2005200541036a417c71220a20056b22096a417e6a20093b00000b0240200120024f0d00200120026b210b200a2102410021060340200441086a200120066a10e786808000200441146a200428020c22092004280210220c10e78580800041002105410121034100210d02402004280214220e418080808078460d002009200c410028029482d48000118b8080800000200428021c210520042802182103200e210d0b02402004280208450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200241086a2005360200200241046a20033602002002200d3602002002410c6a2102200b200641016a22066a0d000b0b200020063602082000200a36020420002007360200200441206a2480808080000b950e010d7f23808080800041206b22032480808080000240024002400240024020012802004102460d00200341086a200110c888808000024020032802082204450d00200328020c2205200528020041054b22064103746a2802002207450d03200441086a2802002108200441046a280200210902402005280204200541046a20061b2007412c6c6a220441546a2207280200220541014b0d00200441586a220a280200210b200441706a280200210602402005410171450d00200b2006460d010b2003200441646a360210200341106a2005200b200610a597808000200a200636020041012105200741013602000b410021074158210b024002402005417e6a2205410220054102491b0e03010400010b4164210b0b02402004200b6a22050d000c030b20052802082106200528020421070c020b200141023602000b20012802242205450d0220052001280228460d022001200541186a36022441002005280210200528020c418080808078461b21072005280214210620052802082108200528020421090b200128022421040240024020012802004102460d00200128022021052004450d01417f2005200128022820046b41186e6a220420042005491b21050c010b024020040d00410021050c010b200128022820046b41186e21050b200541016a2205417f20051b22044104200441044b1b220b41047421054100210a02400240200441ffffffff004b0d00200541fcffffff074b0d0041002d008083d480001a200541002802f482d480001182808080000022040d014104210a0b200a2005200210b980808000000b2004200441036a417c71220520046b22026a417e6a20023b00002005200636020c20052007360208200520083602042005200936020020034101360218200320053602142003200b3602102001280228210c200128022421082001280220210d200128020c210e20012802082105200128020421072001280200210b0240034002400240024002400240024002400240200b4102460d00200d0d014100210d0b2008450d012008200c460d0141002008280210200828020c418080808078461b210620082802142109200828020821022008280204210a4102210b200841186a22012108200328021822042003280210460d030c060b0240200b410171450d00024002402007450d00200e210420052106200721050c010b4101210b410021040240200e450d00200e21010240200e4107712206450d0003402001417f6a210120052802ac1421052006417f6a22060d000b0b200e4108490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200141786a22010d000b0b410021060b024002400240200420052f01aa144f0d00200521010c010b034020052802a0132201450d02200641016a210620052f01a814210420012105200420012f01aa144f0d000b0b024020060d00200441016a210e200121070c040b200120044102746a41b0146a28020021074100210e2006417f6a2205450d032006417e6a2109024020054107712206450d0003402005417f6a210520072802ac1421072006417f6a22060d000b0b20094107490d03034020072802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142107200541786a22050d000c040b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b20002003290210370200200041086a200341106a41086a2802003602000c090b2001200441e0016c6a2205200528020041054b22064103746a2802002209450d0520012004410c6c6a220141ac136a2802002102200141a8136a280200210a02402005280204200541046a20061b2009412c6c6a220441546a2206280200220141014b0d00200441586a220f2802002109200441706a280200210502402001410171450d0020092005460d010b2003200441646a36021c2003411c6a20012009200510a597808000200f200536020041012101200641013602000b410021054158210f410021060240024002402001417e6a2201410220014102491b0e03010200010b4164210f0b410021062004200f6a2201450d0020012802082109200128020421060b200d417f6a210d200328021822042003280210470d030240200b4102460d004100210520080d0241002108200d210f0c030b4102210b41002105200821014100210f2008450d020b200c20016b41186e210f4102210b200121080c010b417f200d200c20086b41186e6a22012001200d491b210f0b200341106a2004200f41016a2201417f20011b4104411010a3868080000b200328021420044104746a2201200936020c20012006360208200120023602042001200a3602002003200441016a3602180c000b0b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b2000410036020820004280808080c0003702000b200341206a2480808080000ba70402077f017e23808080800041306b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204200341106a200710ce84808000024020032802104101710d00200341246a2007200328021410898380800020032802242209418080808078470d020b200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290228210a41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c71220620016b22026a417e6a20023b00002006200a37020420062009360200200341013602202003200636021c2003410436021841012102034020042005200420054b1b41016a21010340024002402001200541016a2205460d00200341086a200710ce84808000024020032802084101710d00200341246a2007200328020c10898380800020032802242209418080808078470d020b200841013a00000b20002003290218370200200041086a200341186a41086a2802003602000c040b2009418180808078460d000b2003290228210a024020022003280218470d00200341186a200241014104410c10a386808000200328021c21060b20062002410c6c6a2201200a370204200120093602002003200241016a22023602200c000b0b41044130200210b980808000000b200341306a2480808080000bb80403087f017e017f23808080800041206b2203248080808000024002400240024020012802082204200128020422054d0d0020012802002106200128020c21072001200541016a22083602040240200628020422014104490d0020062001417c6a36020420062006280200220141046a36020020012800002109200341146a200610b58f8080002003280214220a418080808078470d020b200741013a00000b2000410036020820004280808080c0003702000c010b2003290218210b41002d008083d480001a41c00041002802f482d48000118280808000002201450d012001200141036a417c71220c20016b22026a417e6a20023b0000200c200b370208200c200a360204200c2009360200200341013602102003200c36020c200341043602080240200820044f0d00200420056b21094118210541012101034002400240200628020422044104490d0020062004417c6a36020420062006280200220441046a36020020042800002102200341146a200610b58f80800020032802142208418080808078470d010b200741013a00000c020b2003290218210b024020012003280208470d00200341086a200141014104411010a386808000200328020c210c0b200c20056a2204200b3702002004417c6a2008360200200441786a20023602002003200141016a2201360210200541106a210520092001470d000b0b20002003290208370200200041086a200341086a41086a2802003602000b200341206a2480808080000f0b410441c000200210b980808000000be90302077f017e23808080800041206b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204200341146a200710fe8e80800020032802142209418080808078470d01200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290218210a41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c71220620016b22026a417e6a20023b00002006200a37020420062009360200200341013602102003200636020c2003410436020841012102034020042005200420054b1b41016a21010340024002402001200541016a2205460d00200341146a200710fe8e80800020032802142209418080808078470d01200841013a00000b20002003290208370200200041086a200341086a41086a2802003602000c040b2009418180808078460d000b2003290218210a024020022003280208470d00200341086a200241014104410c10a386808000200328020c21060b20062002410c6c6a2201200a370204200120093602002003200241016a22023602100c000b0b41044130200210b980808000000b200341206a2480808080000bf804010a7f23808080800041106b2203248080808000024002400240024020012802082204200128020422054d0d00200128020c21062001200541016a220736020402402001280200220128020422084104490d0020012008417c6a220936020420012001280200220a41046a36020020094104490d00200a280000210b2001200841786a22093602042001200a41086a360200200941034b0d020b200641013a00000b2000410036020820004280808080c0003702000c010b200a28000421092001200a410c6a3602002001200841746a360204200a280008210c41002d008083d480001a413041002802f482d48000118280808000002208450d012008200841036a417c71220a20086b22026a417e6a20023b0000200a200c360208200a2009360204200a200b3602002003410136020c2003200a360208200341043602040240200720044f0d00200420056b210b4114210841012102034002400240200128020422044104490d0020012004417c6a220736020420012001280200220541046a36020020074104490d00200528000021092001200441786a22073602042001200541086a360200200741034b0d010b200641013a00000c020b200528000421072001200441746a36020420012005410c6a36020020052800082104024020022003280204470d00200341046a200241014104410c10a3868080002003280208210a0b200a20086a220520043602002005417c6a2007360200200541786a20093602002003200241016a220236020c2008410c6a2108200b2002470d000b0b20002003290204370200200041086a200341046a41086a2802003602000b200341106a2480808080000f0b41044130200210b980808000000bf007010b7f23808080800041a0016b220324808080800002400240024002400240200128020020012802042204460d002001410136020020012802402105200341e8006a41086a2206200141106a290300370300200341e8006a41106a2207200141186a290300370300200341e8006a41186a2208200141206a290300370300200341e8006a41206a2209200141286a290300370300200341e8006a41286a220a200141306a290300370300200341e8006a41306a220b200141386a290300370300200341d0006a41086a220c200141cc006a290200370300200341d0006a41106a220d200141d4006a280200360200200320012903083703682003200129024437035020044101470d0120054103470d01200041003602082000428080808080013702000c020b200041003602082000428080808080013702000c010b200341186a41306a200b290300370300200341186a41286a200a290300370300200341186a41206a2009290300370300200341186a41186a2008290300370300200341186a41106a2007290300370300200341186a41086a2006290300370300200341086a200c290300370300200341106a200d280200360200200320032903683703182003200329035037030041002d008083d480001a41c00241002802f482d48000118280808000002206450d012006200641076a417871220420066b22026a417e6a20023b0000200441306a200341186a41306a290300370300200441286a200341186a41286a290300370300200441206a200341186a41206a290300370300200441186a200341186a41186a290300370300200441106a200341186a41106a290300370300200441086a200341186a41086a29030037030020042003290318370300200420053602382004200329030037023c200441c4006a200341086a290300370200200441cc006a200341106a280200360200200341013602702003200436026c200341043602680240200128020020012802042205460d0020054101470d03200128024022054103460d002004200536028801200420012903083703502004200129024437028c0120044180016a200141386a290300370300200441f8006a200141306a290300370300200441f0006a200141286a290300370300200441e8006a200141206a290300370300200441e0006a200141186a290300370300200441d8006a200141106a29030037030020044194016a200141cc006a2902003702002004419c016a200141d4006a280200360200200341023602700b20002003290268370200200041086a200341e8006a41086a2802003602000b200341a0016a2480808080000f0b410841c002200210b980808000000b200341e8006a41014101410841d00010a386808000000b8507020b7f067e23808080800041f0026b22032480808080000240024002402001280200220420012802042205460d00200441d0006c210602400340200120066a220741c0006a28020022084103470d01200641d0006a21062005200441016a2204470d000b20004100360208200042808080808001370200200120053602000c030b2001200441016a36020041002d008083d480001a41c00241002802f482d48000118280808000002206450d012006200641076a417871220520066b22046a417e6a20043b0000200541306a200741086a220641306a290300370300200541286a200641286a290300370300200541206a200641206a290300370300200541186a200641186a290300370300200541106a200641106a290300370300200541086a200641086a29030037030020052006290300370300200520083602382005200741c4006a29020037023c200541c4006a200741cc006a290200370200200541cc006a200741d4006a2802003602002003410136020c2003200536020820034104360204200341106a200141c80210f4978080001a02402003280210220220032802142201460d002001417f6a2109200341106a41c4006a210a4101210b0340200a200241d0006c6a210620022104024003402006417c6a28020022074103470d01200641d0006a21062001200441016a2204470d000c030b0b200341d8026a41106a220c200641106a280200360200200341d8026a41086a220d200641086a290200370300200320062902003703d8020240200b2003280204470d00200341046a200b4101410841d00010a386808000200328020821050b200441016a2102200641446a220841206a290300210e200841286a290300210f200841306a2903002110200841186a2903002111200841106a2903002112200841086a29030021132005200b41d0006c6a2206200829030037030020062007360238200641086a2013370300200641106a2012370300200641186a2011370300200620032903d80237023c200641306a2010370300200641286a200f370300200641206a200e370300200641c4006a200d290300370200200641cc006a200c2802003602002003200b41016a220b36020c20092004470d000b0b20002003290204370200200041086a200341046a41086a2802003602000c020b200041003602082000428080808080013702000c010b410841c002200210b980808000000b200341f0026a2480808080000b8507020b7f067e23808080800041d0016b22032480808080000240024002402001280200220420012802042205460d00200441d0006c210602400340200120066a220741c0006a28020022084103470d01200641d0006a21062005200441016a2204470d000b20004100360208200042808080808001370200200120053602000c030b2001200441016a36020041002d008083d480001a41c00241002802f482d48000118280808000002206450d012006200641076a417871220520066b22046a417e6a20043b0000200541306a200741086a220641306a290300370300200541286a200641286a290300370300200541206a200641206a290300370300200541186a200641186a290300370300200541106a200641106a290300370300200541086a200641086a29030037030020052006290300370300200520083602382005200741c4006a29020037023c200541c4006a200741cc006a290200370200200541cc006a200741d4006a2802003602002003410136020c2003200536020820034104360204200341106a200141a80110f4978080001a02402003280210220220032802142201460d002001417f6a2109200341106a41c4006a210a4101210b0340200a200241d0006c6a210620022104024003402006417c6a28020022074103470d01200641d0006a21062001200441016a2204470d000c030b0b200341b8016a41106a220c200641106a280200360200200341b8016a41086a220d200641086a290200370300200320062902003703b8010240200b2003280204470d00200341046a200b4101410841d00010a386808000200328020821050b200441016a2102200641446a220841206a290300210e200841286a290300210f200841306a2903002110200841186a2903002111200841106a2903002112200841086a29030021132005200b41d0006c6a2206200829030037030020062007360238200641086a2013370300200641106a2012370300200641186a2011370300200620032903b80137023c200641306a2010370300200641286a200f370300200641206a200e370300200641c4006a200d290300370200200641cc006a200c2802003602002003200b41016a220b36020c20092004470d000b0b20002003290204370200200041086a200341046a41086a2802003602000c020b200041003602082000428080808080013702000c010b410841c002200210b980808000000b200341d0016a2480808080000bd106020a7f067e2380808080004190026b22032480808080000240024002402001280200220420012802042205460d00200441d0006c210602400340200120066a220741c0006a28020022084103470d01200641d0006a21062005200441016a2204470d000b20004100360208200042808080808001370200200120053602000c020b2001200441016a36020041002d008083d480001a41c00241002802f482d48000118280808000002206450d022006200641076a417871220520066b22046a417e6a20043b0000200541306a200741086a220641306a290300370300200541286a200641286a290300370300200541206a200641206a290300370300200541186a200641186a290300370300200541106a200641106a290300370300200541086a200641086a29030037030020052006290300370300200520083602382005200741c4006a29020037023c200541c4006a200741cc006a290200370200200541cc006a200741d4006a28020036020020034101360214200320053602102003410436020c200341186a200141f80110f4978080001a024020032802182209200328021c2201460d002001417f6a210a200341d8006a210b4101210c0340200b200941d0006c6a21062009210402400340200628020022074103470d01200641d0006a21062001200441016a2204470d000c030b0b0240200c200328020c470d002003410c6a200c4101410841d00010a386808000200328021021050b200441016a21092005200c41d0006c6a2208200641486a2202290300370300200241086a290300210d200241106a290300210e200241186a290300210f200241206a2903002110200241286a2903002111200241306a290300211220082007360238200841306a2012370300200841286a2011370300200841206a2010370300200841186a200f370300200841106a200e370300200841086a200d3703002008200641046a220629020037023c200841c4006a200641086a290200370200200841cc006a200641106a2802003602002003200c41016a220c360214200a2004470d000b0b2000200329020c370200200041086a2003410c6a41086a2802003602000c010b200041003602082000428080808080013702000b20034190026a2480808080000f0b410841c002200210b980808000000b870402077f027e23808080800041306b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204200341186a200710fa8e80800020032802202209418080808078470d01200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290318210a2003290224210b41002d008083d480001a024041d00041002802f482d48000118280808000002201450d002001200141036a417c71220620016b22026a417e6a20023b00002006200b37020c200620093602082006200a37020020034101360214200320063602102003410436020c41012102034020042005200420054b1b41016a21010340024002402001200541016a2205460d00200341186a200710fa8e80800020032802202209418080808078470d01200841013a00000b2000200329020c370200200041086a2003410c6a41086a2802003602000c040b2009418180808078460d000b2003290318210a2003290224210b02402002200328020c470d002003410c6a200241014104411410a386808000200328021021060b2006200241146c6a2201200b37020c200120093602082001200a3702002003200241016a22023602140c000b0b410441d000200210b980808000000b200341306a2480808080000b990701057f23808080800041e0006b22032480808080000240024002402001280200220420012802042205460d004101210420014101360200200128024022064103460d0041002d008083d480001a41c00241002802f482d48000118280808000002205450d022005200541076a417871220420056b22026a417e6a20023b0000200441306a200141086a220541306a290300370300200441286a200541286a290300370300200441206a200541206a290300370300200441186a200541186a290300370300200441106a200541106a290300370300200441086a200541086a29030037030020042005290300370300200420063602382004200129024437023c200441c4006a200141cc006a290200370200200441cc006a200141d4006a280200360200200341086a200141d80010f4978080001a02400240024020032802082202200328020c2206460d0041012102200328024822074103470d010b4101210720062002460d01200620026b2105200341086a200241d0006c6a210103400240200141c0006a2802004103460d000240200141286a280200450d002001412c6a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200141346a280200450d00200141386a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b200141d0006a21012005417f6a22050d000c020b0b2004200736028801200420052903003703502004200141c4006a220129020037028c0120044180016a200541306a290300370300200441f8006a200541286a290300370300200441f0006a200541206a290300370300200441e8006a200541186a290300370300200441e0006a200541106a290300370300200441d8006a200541086a29030037030020044194016a200141086a2902003702002004419c016a200141106a280200360200410221070b2000200736020820002004360204200041043602000c010b2000410036020820004280808080800137020020052004460d00200520046b21052001200441d0006c6a210103400240200141c0006a2802004103460d000240200141286a280200450d002001412c6a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200141346a280200450d00200141386a28020022042004417e6a2f00006b41002802ec82d48000118180808000000b200141d0006a21012005417f6a22050d000b0b200341e0006a2480808080000f0b410841c002200210b980808000000ba70402077f017e23808080800041306b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204200341106a200710cf84808000024020032802104101710d00200341246a2007200328021410868380800020032802242209418080808078470d020b200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290228210a41002d008083d480001a0240413041002802f482d48000118280808000002201450d002001200141036a417c71220620016b22026a417e6a20023b00002006200a37020420062009360200200341013602202003200636021c2003410436021841012102034020042005200420054b1b41016a21010340024002402001200541016a2205460d00200341086a200710cf84808000024020032802084101710d00200341246a2007200328020c10868380800020032802242209418080808078470d020b200841013a00000b20002003290218370200200041086a200341186a41086a2802003602000c040b2009418180808078460d000b2003290228210a024020022003280218470d00200341186a200241014104410c10a386808000200328021c21060b20062002410c6c6a2201200a370204200120093602002003200241016a22023602200c000b0b41044130200210b980808000000b200341306a2480808080000bff05010c7f23808080800041d0006b2203248080808000024002400240024020012802082204200128020422054d0d00200128020c21062001200541016a220736020402402001280200220128020422084104490d0020012008417c6a220936020420012001280200220a41046a220b3602002009411f4b0d020b200641013a00000b2000410036020820004280808080c0003702000c010b200a280000210c20012008415c6a3602042001200a41246a360200200341106a41086a220a200b41086a290000370300200341106a41106a220d200b41106a290000370300200341106a41186a220e200b41186a2900003703002003200b29000037031041002d008083d480001a41900141002802f482d48000118280808000002208450d012008200841036a417c71220920086b22026a417e6a20023b00002009200c360200200920032903103702042009410c6a200a290300370200200941146a200d2903003702002009411c6a200e2903003702002003410136020c20032009360208200341043602040240200720044f0d00200420056b210c4128210841012104034002400240200128020422024104490d0020012002417c6a220736020420012001280200220b41046a22053602002007411f4b0d010b200641013a00000c020b200b280000210720012002415c6a3602042001200b41246a360200200341306a41086a2202200541086a290000370300200341306a41106a220b200541106a290000370300200341306a41186a220a200541186a29000037030020032005290000370330024020042003280204470d00200341046a200441014104412410a386808000200328020821090b200920086a2205417c6a200736020020052003290330370200200541086a2002290300370200200541106a200b290300370200200541186a200a2903003702002003200441016a220436020c200841246a2108200c2004470d000b0b20002003290204370200200041086a200341046a41086a2802003602000b200341d0006a2480808080000f0b4104419001200210b980808000000b8a0501037f23808080800041c0186b2203248080808000200341b8106a200110cb8680800002400240024020032802b8104101470d00200341186a200341b8106a41086a220441800810f4978080001a41002d008083d480001a41802041002802f482d48000118280808000002205450d022005417e6a41003b000020032005200341186a41800810f4978080003602102003410436020c2003410136021420034198086a41186a200141186a29020037030020034198086a41106a200141106a29020037030020034198086a41086a200141086a2902003703002003200129020037039808200341b8106a20034198086a10cb86808000024020032802b8104101470d004180082102410121010340200341b8086a200441800810f4978080001a02402001200328020c470d002003410c6a20014101410141800810a386808000200328021021050b200520026a200341b8086a41800810f4978080001a2003200141016a220136021420024180086a2102200341b8106a20034198086a10cb8680800020032802b8100d000b0b0240200328029808450d00200328029c0822012001417e6a2f00006b41002802ec82d48000118180808000000b024020032802a408450d0020032802a80822012001417e6a2f00006b41002802ec82d48000118180808000000b2000200329020c370200200041086a2003410c6a41086a2802003602000c010b20004100360208200042808080801037020002402001280200450d00200128020422022002417e6a2f00006b41002802ec82d48000118180808000000b200128020c450d00200128021022012001417e6a2f00006b41002802ec82d48000118180808000000b200341c0186a2480808080000f0b4101418020200210b980808000000bcb0401057f41002104024002400240200220016b41306e220541057422064100480d00024020022001470d00410121070c030b4100210841002d008083d480001a200641002802f482d480001182808080000022070d01410121040b20042006200310b980808000000b2007417e6a41003b00002005410371210402402005417f6a4103490d00200541fcffff3f712103410021082007210220012106034020022006290000370000200241186a200641186a290000370000200241106a200641106a290000370000200241086a200641086a290000370000200241386a200641c8006a290000370000200241306a200641c0006a290000370000200241286a200641386a290000370000200241206a200641306a290000370000200241d8006a200641f8006a290000370000200241d0006a200641f0006a290000370000200241c8006a200641e8006a290000370000200241c0006a200641e0006a290000370000200241e0006a20064190016a290000370000200241e8006a20064198016a290000370000200241f0006a200641a0016a290000370000200241f8006a200641a8016a29000037000020024180016a2102200641c0016a21062003200841046a2208470d000b0b2004450d002001200841306c6a2102200720084105746a2106034020062002290000370000200641186a200241186a290000370000200641106a200241106a290000370000200641086a200241086a290000370000200241306a2102200641206a21062004417f6a22040d000b0b2000200536020820002007360204200020053602000b920602057f017e2380808080004180016b2203248080808000200341146a200110cf8e80800002400240200328021c418080808078460d00410420012802282204200128022c22056b41016a22062001280220220720062007491b41016a2206417f20061b22064104200641044b1b20042005491b2206ad42147e2208a72104410021050240024002402008422088a70d00200441fcffffff074b0d00024020040d0041042102410021060c030b41002d008083d480001a200441002802f482d480001182808080000022050d01410421050b20052004200210b980808000000b2005200541036a417c71220220056b22046a417e6a20043b00000b20022003290214370200200241106a200341146a41106a280200360200200241086a200341146a41086a290200370200200341013602102003200236020c20032006360208200341286a41386a200141386a290200370300200341286a41306a200141306a290200370300200341286a41286a200141286a290200370300200341286a41206a200141206a290200370300200341286a41186a200141186a290200370300200341286a41106a200141106a290200370300200341286a41086a200141086a29020037030020032001290200370328200341ec006a200341286a10cf8e80800002402003280274418080808078460d0041142104410121010340024020012003280208470d00200341086a2001410120032802502205200328025422026b41016a22062003280248220720062007491b41016a2206417f20061b20052002491b4104411410a386808000200328020c21020b200220046a2205200329026c370200200541106a200341ec006a41106a280200360200200541086a200341ec006a41086a22052902003702002003200141016a2201360210200441146a2104200341ec006a200341286a10cf8e8080002005280200418080808078470d000b0b200341286a10ca89808000200041086a200341086a41086a280200360200200020032902083702000c010b2000410036020820004280808080c000370200200110ca898080000b20034180016a2480808080000bb40c03047f017e017f23808080800041e0016b22022480808080000240024020010d0041a8ebc18000210341012100410021040c010b02402000410171450d0041e8ecc180002103200021040c010b2000410172210441d4ecc1800021030b20022004360290012002200136028c01200220003602880120022003360284012002410036029401200241c8006a20024184016a10f59180800002400240024002400240024002402002280248450d00200241b8016a41086a200241c8006a41086a2200290200370300200220022902483703b801200241c8006a20024184016a10f59180800002402002280248450d00200241c8016a41086a2000290200370300200220022902483703c8010240200228028c01220120022802940122006b4104490d00200041046a21032000417b4b0d0420012003490d0520022802880121042002200336029401200120036b4120490d00200041246a21052003415f4b0d06200520014b0d07200420006a280000210120024198016a41086a200241c4016a280200360200200241ac016a200241c8016a41086a2903003702002002200536029401200241c8006a41086a200420036a220041086a290000370300200241c8006a41106a200041106a290000370300200241c8006a41186a200041186a290000370300200220022902bc0137039801200220022903c8013702a4012002200029000037034820022802b80121000c030b200241d4016a20022802cc0120022802d00120022802c801280210118680808000000b200241c4016a20022802bc0120022802c00120022802b801280210118680808000000b410021000b20024190016a200228028801200228028c01200228028401280210118680808000002000450d04200241106a20024198016a41086a290300370200200241186a20024198016a41106a290300370200200241206a20024198016a41186a280200360200200241306a200241c8006a41086a290300370200200241386a200241c8006a41106a290300370200200241c0006a200241c8006a41186a2903003702002002200036020420022002290398013702082002200136022420022002290348370228200241c8006a200241046a10fc87808000200241c8006a10fe91808000210602402002280248450d00200228024c22002000417e6a2f00006b41002802ec82d48000118180808000000b0240200228026c2200418080808078460d002000450d00200228027022002000417e6a2f00006b41002802ec82d48000118180808000000b0240200228025c2200450d00200228025821052000410171210741002101024020004101460d002000417e7121042005210041002101034002402000280200450d00200041046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200041186a21002004200141026a2201470d000b0b2007450d0020052001410c6c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b02402002280254450d00200228025822002000417e6a2f00006b41002802ec82d48000118180808000000b024020022802682200450d00200228026421052000410171210741002101024020004101460d002000417e7121042005210041002101034002402000280200450d00200041046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b0240200041106a280200450d00200041146a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200041206a21002004200141026a2201470d000b0b2007450d00200520014104746a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b02402002280260450d00200228026422002000417e6a2f00006b41002802ec82d48000118180808000000b200241e0016a24808080800020060f0b20002003418486cb8000109581808000000b20032001418486cb8000109181808000000b20032005418486cb8000109581808000000b20052001418486cb8000109181808000000b418cb8c880004126200241df016a41fcacc8800041fcb8c8800010a981808000000b8d0b01097f23808080800041a0016b2204248080808000200141046a21050240024002400240024002400240024020012802442206450d00200441d8006a41186a200541186a290000370300200441d8006a41106a200541106a290000370300200441d8006a41086a200541086a290000370300200420052900003703582004410c6a2006280200200441d8006a10f087808000200428020c210720012802482206450d012004410c6a410020071b2108200741004721090c030b410021082004410036020c41002109200128024822060d02410021062004410036021c0c010b2004410036021c2004410c6a410020071b21060b200441d8006a41106a200541086a290200370200200441d8006a41186a200541106a290200370200200441d8006a41206a200541186a2902003702002004419cbbc8800036025c200420013602582004410036028801200441c4bbc88000360284012004200636028001200420052902003702602004410036029c0120042003360298012004200236029401200441346a200441d8006a2002200320044194016a10ac8d808000024020042d00344101470d0002400240024002402004280238220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c020b20002004290035370000200041206a200441d5006a2d00003a0000200041186a200441cd006a290000370000200041106a200441c5006a290000370000200041086a2004413d6a2900003700000c010b200128024c220a2802080d01200a41086a220b417f36020020062802080d02200641086a220c417f360200200128025022072802080d032007417f3602082004200741086a3602302004200b3602282004200c3602202004200741106a36022c2004200a410c6a3602242004200641106a36021c200441d8006a41106a200541086a290200370200200441d8006a41186a200541106a290200370200200441d8006a41206a200541186a2902003702002004419cbbc8800036025c20042001360258200441e0bbc8800036028c01200441c4bbc880003602840120042008410020091b360280012004200529020037026020042004411c6a360288012004410036029c0120042003360298012004200236029401200441346a200441d8006a2002200320044194016a10ac8d8080000240024020042d00344101470d0002400240024002402004280238220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c010b20002004290035370000200041206a200441d5006a2d00003a0000200041186a200441cd006a290000370000200041106a200441c5006a290000370000200041086a2004413d6a2900003700000b200428021c450d0020042802202205200528020041016a36020020042802282205200528020041016a36020020042802302205200528020041016a3602000b0240200428020c450d0020042802102205200528020041016a3602002004280214450d0020042802182205200528020041016a3602000b200441a0016a2480808080000f0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000bdf0101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c030b2000280204450d02200028020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b200010db8f8080000c010b2001450d01200028020421000b20002000417e6a2f00006b41002802ec82d48000118180808000000b0b8a0b01097f23808080800041a0016b2204248080808000200141046a21050240024002400240024002400240024020012802442206450d00200441d8006a41186a200541186a290000370300200441d8006a41106a200541106a290000370300200441d8006a41086a200541086a290000370300200420052900003703582004410c6a2006200441d8006a10f087808000200428020c210720012802482206450d012004410c6a410020071b2108200741004721090c030b410021082004410036020c41002109200128024822060d02410021062004410036021c0c010b2004410036021c2004410c6a410020071b21060b200441d8006a41106a200541086a290200370200200441d8006a41186a200541106a290200370200200441d8006a41206a200541186a29020037020020044188bbc8800036025c200420013602582004410036028801200441c4bbc88000360284012004200636028001200420052902003702602004410036029c0120042003360298012004200236029401200441346a200441d8006a2002200320044194016a10ac8d808000024020042d00344101470d0002400240024002402004280238220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c020b20002004290035370000200041206a200441d5006a2d00003a0000200041186a200441cd006a290000370000200041106a200441c5006a290000370000200041086a2004413d6a2900003700000c010b200128024c220a2802080d01200a41086a220b417f36020020062802080d02200641086a220c417f360200200128025022072802080d032007417f3602082004200741086a3602302004200b3602282004200c3602202004200741106a36022c2004200a410c6a3602242004200641106a36021c200441d8006a41106a200541086a290200370200200441d8006a41186a200541106a290200370200200441d8006a41206a200541186a29020037020020044188bbc8800036025c20042001360258200441e0bbc8800036028c01200441c4bbc880003602840120042008410020091b360280012004200529020037026020042004411c6a360288012004410036029c0120042003360298012004200236029401200441346a200441d8006a2002200320044194016a10ac8d8080000240024020042d00344101470d0002400240024002402004280238220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d4800011818080800000200041023a00000c010b20002004290035370000200041206a200441d5006a2d00003a0000200041186a200441cd006a290000370000200041106a200441c5006a290000370000200041086a2004413d6a2900003700000b200428021c450d0020042802202205200528020041016a36020020042802282205200528020041016a36020020042802302205200528020041016a3602000b0240200428020c450d0020042802102205200528020041016a3602002004280214450d0020042802182205200528020041016a3602000b200441a0016a2480808080000f0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000ba415010b7f2380808080004180046b2204248080808000024002400240024020012802540d002001280258210520014180808080783602580240024002402005418080808078460d00200141e4006a2106200128025c2107200128026022082003470d0120072002200310f59780800021082004200336020c2004200736020820042005360204200441106a200641f80010f4978080001a20080d020c040b200441a8026a41003a0000200441a0026a420037020020044198026a420037020020044190026a420037020020044188026a4200370200200441e4006a4200370200200441ec006a4200370200200441f4006a4200370200200441fc006a420037020020044184016a4180023b01002004418080808078360258200441808080807836024c20044200370244200442043702142004420037020c2004428080808010370204200420042902800237025c0c010b2004200836020c2004200736020820042005360204200441106a200641f80010f4978080001a0b200420033602a0032004200236029c032004410036029403200441013b01a40320044180808080783602880320044180026a200120044188036a10fc8a8080000240200428028002418080808078470d0041818080807821030c030b20044188016a20044180026a41f80010f4978080001a0240200428024c2203418080808078460d002003450d00200428025022032003417e6a2f00006b41002802ec82d48000118180808000000b024020042802582203418080808078460d002003450d00200428025c22032003417e6a2f00006b41002802ec82d48000118180808000000b024020042802182205450d00200428021441086a210303402003280200220220022802002202417f6a360200024020024101470d00200310de8f8080000b200341306a21032005417f6a22050d000b0b02402004280210450d00200428021422032003417e6a2f00006b41002802ec82d48000118180808000000b200441106a2103024020042802444129490d00200428021c22052005417e6a2f00006b41002802ec82d48000118180808000000b200320044188016a41f80010f4978080001a0c010b41f8bac88000109a81808000000b200428024c21054180808080782103200441808080807836024c200428025021020240024002400240024002400240024020042d0085010d0020042802542109200441a0036a200441fc006a29020037030020044198036a200441f4006a29020037030020044190036a200441ec006a29020037030020042004290264370388034100210302402004280258418080808078460d002004200429025c3702b00320044188bbc880003602ac03200121030b200420033602a8030240024020012802442206450d0020044180026a41186a200441e4006a220741186a29000037030020044180026a41106a200741106a29000037030020044180026a41086a200741086a2900003703002004200729000037038002200441b8036a200620044180026a10f087808000200441b8036a410020042802b8031b21070c010b41002107200441003602b8030b200441106a210841b0bbc880004188bbc8800020031b210a200441a8036a200120031b210b0240024020012802482203450d00200128024c220c2802080d03200c41086a220d417f36020020032802080d04200341086a220e417f36020020012802502206280208450d0141ccd7c58000109a81808000000b2004200a3602a4022004200b3602a002200441e0bbc8800036029c0220044100360298022004420037029002200441c4bbc8800036028c02200441003602840220042007360288022004200741004736028002200420044188036a3602a802200441f0036a200820044180026a10b4898080002005418080808078460d0720042802f0032203418280808078480d0620042802f8032009470d0620042802f40322072002200910f5978080000d06200441c8036a200820044180026a10b48980800002402003450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200441f0036a41086a200441c8036a41086a280200360200200420042902c8033703f0030c060b2006417f3602082004200641086a3602dc032004200d3602d4032004200e3602cc032004200641106a3602d8032004200c410c6a3602d0032004200341106a3602c8032004200a3602a4022004200b3602a002200441e0bbc8800036029c022004420137029002200441c4bbc8800036028c02200441003602840220042007360288022004200741004736028002200420044188036a3602a8022004200441c8036a36029802200441e0036a200820044180026a10b4898080002005418080808078460d0420042802e0032203418280808078480d0320042802e8032009470d0320042802e40322072002200910f5978080000d03200441f0036a200820044180026a10b48980800002402003450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200441e0036a41086a200441f0036a41086a280200360200200420042902f0033703e0030c030b200541808080807872418080808078460d0720022002417e6a2f00006b41002802ec82d48000118180808000000c070b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b2005450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20042802e803210720042802e403210220042802e003210520042802c803450d0220042802cc032203200328020041016a36020020042802d4032203200328020041016a36020020042802dc032203200328020041016a3602000c020b2005450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20042802f803210720042802f403210220042802f00321050b024020042802b803450d0020042802bc032203200328020041016a36020020042802c003450d0020042802c4032203200328020041016a3602000b41808080807821030240024002400240024020054180808080786a0e020002010b418080808078210502400240200228020041fcffffff076a22034101470d00418080808078210520042d0084014101470d01200441023a008501200228020041fcffffff076a210341818080807821050b0240200341044b0d000240024020030e0403030102000b2002280204450d02200228020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200210db8f8080000b20022002417e6a2f00006b41002802ec82d48000118180808000000b418080808078210320054180808080786a0e020103020b200441013a0085010c020b41818080807821030c010b410021032004410036020c0240200720042802044d0d00200441046a410020074101410110a386808000200428020c21030b200428020820036a2002200710f4978080001a2004200428020c20076a36020c024020012802540d0020044180026a200141d8006a220341840110f4978080001a2003200441046a41840110f4978080001a0240200428028002418080808078460d0020044180026a10df8f8080000b2000200736020820002002360204200020053602000c020b41f8bac88000109a81808000000b20002003360200200441046a10df8f8080000b20044180046a2480808080000b7101017f0240200028020022002802e001450d0020002802e40122012001417e6a2f00006b41002802ec82d48000118180808000000b02402000417f460d00200020002802042201417f6a36020420014101470d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0bc60201047f02402000280200450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802482201418080808078460d002001450d00200028024c22012001417e6a2f00006b41002802ec82d48000118180808000000b024020002802542201418080808078460d002001450d00200028025822012001417e6a2f00006b41002802ec82d48000118180808000000b20002802102102024020002802142203450d00200241086a210103402001280200220420042802002204417f6a360200024020044101470d00200110de8f8080000b200141306a21012003417f6a22030d000b0b0240200028020c450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802404129490d00200028021822012001417e6a2f00006b41002802ec82d48000118180808000000b0ba715010b7f2380808080004180046b2204248080808000024002400240024020012802540d002001280258210520014180808080783602580240024002402005418080808078460d00200141e4006a2106200128025c2107200128026022082003470d0120072002200310f59780800021082004200336020c2004200736020820042005360204200441106a200641f80010f4978080001a20080d020c040b200441a8026a41003a0000200441a0026a420037020020044198026a420037020020044190026a420037020020044188026a4200370200200441e4006a4200370200200441ec006a4200370200200441f4006a4200370200200441fc006a420037020020044184016a4180023b01002004418080808078360258200441808080807836024c20044200370244200442043702142004420037020c2004428080808010370204200420042902800237025c0c010b2004200836020c2004200736020820042005360204200441106a200641f80010f4978080001a0b200420033602a0032004200236029c032004410036029403200441013b01a40320044180808080783602880320044180026a200120044188036a10fd8a8080000240200428028002418080808078470d0041818080807821030c030b20044188016a20044180026a41f80010f4978080001a0240200428024c2203418080808078460d002003450d00200428025022032003417e6a2f00006b41002802ec82d48000118180808000000b024020042802582203418080808078460d002003450d00200428025c22032003417e6a2f00006b41002802ec82d48000118180808000000b024020042802182205450d00200428021441086a210303402003280200220220022802002202417f6a360200024020024101470d00200310de8f8080000b200341306a21032005417f6a22050d000b0b02402004280210450d00200428021422032003417e6a2f00006b41002802ec82d48000118180808000000b200441106a2103024020042802444129490d00200428021c22052005417e6a2f00006b41002802ec82d48000118180808000000b200320044188016a41f80010f4978080001a0c010b41f8bac88000109a81808000000b200428024c21054180808080782103200441808080807836024c200428025021020240024002400240024002400240024020042d0085010d0020042802542109200441a0036a200441fc006a29020037030020044198036a200441f4006a29020037030020044190036a200441ec006a29020037030020042004290264370388034100210302402004280258418080808078460d002004200429025c3702b0032004419cbbc880003602ac03200121030b200420033602a8030240024020012802442206450d0020044180026a41186a200441e4006a220741186a29000037030020044180026a41106a200741106a29000037030020044180026a41086a200741086a2900003703002004200729000037038002200441b8036a200628020020044180026a10f087808000200441b8036a410020042802b8031b21070c010b41002107200441003602b8030b200441106a210841b0bbc88000419cbbc8800020031b210a200441a8036a200120031b210b0240024020012802482203450d00200128024c220c2802080d03200c41086a220d417f36020020032802080d04200341086a220e417f36020020012802502206280208450d0141ccd7c58000109a81808000000b2004200a3602a4022004200b3602a002200441e0bbc8800036029c0220044100360298022004420037029002200441c4bbc8800036028c02200441003602840220042007360288022004200741004736028002200420044188036a3602a802200441f0036a200820044180026a10b4898080002005418080808078460d0720042802f0032203418280808078480d0620042802f8032009470d0620042802f40322072002200910f5978080000d06200441c8036a200820044180026a10b48980800002402003450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200441f0036a41086a200441c8036a41086a280200360200200420042902c8033703f0030c060b2006417f3602082004200641086a3602dc032004200d3602d4032004200e3602cc032004200641106a3602d8032004200c410c6a3602d0032004200341106a3602c8032004200a3602a4022004200b3602a002200441e0bbc8800036029c022004420137029002200441c4bbc8800036028c02200441003602840220042007360288022004200741004736028002200420044188036a3602a8022004200441c8036a36029802200441e0036a200820044180026a10b4898080002005418080808078460d0420042802e0032203418280808078480d0320042802e8032009470d0320042802e40322072002200910f5978080000d03200441f0036a200820044180026a10b48980800002402003450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200441e0036a41086a200441f0036a41086a280200360200200420042902f0033703e0030c030b200541808080807872418080808078460d0720022002417e6a2f00006b41002802ec82d48000118180808000000c070b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b2005450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20042802e803210720042802e403210220042802e003210520042802c803450d0220042802cc032203200328020041016a36020020042802d4032203200328020041016a36020020042802dc032203200328020041016a3602000c020b2005450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b20042802f803210720042802f403210220042802f00321050b024020042802b803450d0020042802bc032203200328020041016a36020020042802c003450d0020042802c4032203200328020041016a3602000b41808080807821030240024002400240024020054180808080786a0e020002010b418080808078210502400240200228020041fcffffff076a22034101470d00418080808078210520042d0084014101470d01200441023a008501200228020041fcffffff076a210341818080807821050b0240200341044b0d000240024020030e0403030102000b2002280204450d02200228020822032003417e6a2f00006b41002802ec82d48000118180808000000c020b2002280204450d01200228020822032003417e6a2f00006b41002802ec82d48000118180808000000c010b200210db8f8080000b20022002417e6a2f00006b41002802ec82d48000118180808000000b418080808078210320054180808080786a0e020103020b200441013a0085010c020b41818080807821030c010b410021032004410036020c0240200720042802044d0d00200441046a410020074101410110a386808000200428020c21030b200428020820036a2002200710f4978080001a2004200428020c20076a36020c024020012802540d0020044180026a200141d8006a220341840110f4978080001a2003200441046a41840110f4978080001a0240200428028002418080808078460d0020044180026a10df8f8080000b2000200736020820002002360204200020053602000c020b41f8bac88000109a81808000000b20002003360200200441046a10df8f8080000b20044180046a2480808080000b9d0a01097f2380808080004180016b2204248080808000200141046a21050240024002400240024002400240024020012802442206450d00200441386a41186a200541186a290000370300200441386a41106a200541106a290000370300200441386a41086a200541086a29000037030020042005290000370338200441046a2006200441386a10f0878080002004280204210720012802482206450d01200441046a410020071b2108200741004721090c030b410021082004410036020441002109200128024822060d0241002106200441003602140c010b20044100360214200441046a410020071b21060b200441386a41106a200541086a290200370200200441386a41186a200541106a290200370200200441d8006a200541186a29020037020020044188bbc8800036023c2004200136023820044100360268200441c4bbc8800036026420042006360260200420052902003702402004410036027c20042003360278200420023602742004412c6a200441386a20022003200441f4006a10b08d8080000240200428022c418180808078470d0002400240024002402004280230220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c020b2000200429022c370200200041086a2004412c6a41086a2802003602000c010b200128024c220a2802080d01200a41086a220b417f36020020062802080d02200641086a220c417f360200200128025022072802080d032007417f3602082004200741086a3602282004200b3602202004200c3602182004200741106a3602242004200a410c6a36021c2004200641106a360214200441386a41106a200541086a290200370200200441386a41186a200541106a290200370200200441d8006a200541186a29020037020020044188bbc8800036023c20042001360238200441e0bbc8800036026c200441c4bbc8800036026420042008410020091b360260200420052902003702402004200441146a3602682004410036027c20042003360278200420023602742004412c6a200441386a20022003200441f4006a10b08d80800002400240200428022c418180808078470d0002400240024002402004280230220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c010b2000200429022c370200200041086a2004412c6a41086a2802003602000b2004280214450d0020042802182205200528020041016a36020020042802202205200528020041016a36020020042802282205200528020041016a3602000b02402004280204450d0020042802082205200528020041016a360200200428020c450d0020042802102205200528020041016a3602000b20044180016a2480808080000f0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000ba00a01097f2380808080004180016b2204248080808000200141046a21050240024002400240024002400240024020012802442206450d00200441386a41186a200541186a290000370300200441386a41106a200541106a290000370300200441386a41086a200541086a29000037030020042005290000370338200441046a2006280200200441386a10f0878080002004280204210720012802482206450d01200441046a410020071b2108200741004721090c030b410021082004410036020441002109200128024822060d0241002106200441003602140c010b20044100360214200441046a410020071b21060b200441386a41106a200541086a290200370200200441386a41186a200541106a290200370200200441d8006a200541186a2902003702002004419cbbc8800036023c2004200136023820044100360268200441c4bbc8800036026420042006360260200420052902003702402004410036027c20042003360278200420023602742004412c6a200441386a20022003200441f4006a10b08d8080000240200428022c418180808078470d0002400240024002402004280230220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c020b2000200429022c370200200041086a2004412c6a41086a2802003602000c010b200128024c220a2802080d01200a41086a220b417f36020020062802080d02200641086a220c417f360200200128025022072802080d032007417f3602082004200741086a3602282004200b3602202004200c3602182004200741106a3602242004200a410c6a36021c2004200641106a360214200441386a41106a200541086a290200370200200441386a41186a200541106a290200370200200441d8006a200541186a2902003702002004419cbbc8800036023c20042001360238200441e0bbc8800036026c200441c4bbc8800036026420042008410020091b360260200420052902003702402004200441146a3602682004410036027c20042003360278200420023602742004412c6a200441386a20022003200441f4006a10b08d80800002400240200428022c418180808078470d0002400240024002402004280230220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c020b2005280204450d01200528020822012001417e6a2f00006b41002802ec82d48000118180808000000c010b200510db8f8080000b20052005417e6a2f01006b41002802ec82d480001181808080000020004181808080783602000c010b2000200429022c370200200041086a2004412c6a41086a2802003602000b2004280214450d0020042802182205200528020041016a36020020042802202205200528020041016a36020020042802282205200528020041016a3602000b02402004280204450d0020042802082205200528020041016a360200200428020c450d0020042802102205200528020041016a3602000b20044180016a2480808080000f0b41acd7c58000109a81808000000b41bcd7c58000109a81808000000b41ccd7c58000109a81808000000b1400200041a8bac88000360204200020013602000b1400200041d0bac88000360204200020013602000b1400200041d0bac88000360204200020013602000b1400200041a8bac88000360204200020013602000b170041f4bbc88000410f41e0bcc88000108081808000000b170041f4bbc88000410f41f0bcc88000108081808000000bda1005017f017e037f017e0c7f23808080800041e0036b22052480808080004100410035028483d4800042c4e6c11b85200541d0016aad22067e200642ae94e698017e4220898522063e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002107024002400240410141002802f482d48000118280808000002208450d0041002109200841003a00002008417e6a41003b0000200541206a41fccfc28000410141002802c480d4800011868080800000200541086a4100290388e7c58000370300200541013602482005200836024420054101360240200541b883d480004100200741ff01714102461b36021820052006422088220a42a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200a42d0e3fccc027e200642a2f0a4a00a7e854220898537031020054100290380e7c580003703002005410036025820054280808080c00037025002402003280220220b0d00410421080c030b200541dc016a210c200541f8016a210d200541d0016a410172210e2003280200210f2003280204211020032802082108200328020c2111034002400240200f410171450d00024002402010450d002011210320082107201021080c010b4101210f4100210302402011450d0020112109024020114107712207450d0003402009417f6a210920082802ac0921082007417f6a22070d000b0b20114108490d00034020082802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092108200941786a22090d000b0b410021070b024002400240200320082f01aa094f0d00200821090c010b034020082802a0082209450d02200741016a210720082f01a809210320092108200320092f01aa094f0d000b0b024020070d00200341016a2111200921100c030b200920034102746a41b0096a2802002110410021112007417f6a2208450d022007417e6a2112024020084107712207450d0003402008417f6a210820102802ac0921102007417f6a22070d000b0b20124107490d02034020102802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092110200841786a22080d000c030b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b2009200341e0006c6a2209280208210320092802002108200520092802042207360278200520083602742005410036027020052007360268200520083602642005410036026020052003410020081b36027c20052008410047220836026c2005200836025c200541d0016a2001200941d4006a2208200541dc006a200410f98a808000200541a8036a41186a2203200e41186a290000370300200541a8036a41106a2207200e41106a290000370300200541a8036a41086a2212200e41086a2900003703002005200e2900003703a80320052d00d001210920054180016a200d41d00010f4978080001a200541cc026a200810bc97808000200520054180016a10a3888080000240024002402009450d000240200528025822082005280250470d00200541d0006a4190bdc8800010a2868080000b2005280254200841186c6a220920052902cc02370200200941808080807836020c200941086a200541cc026a41086a280200360200200841016a21090c010b200541d0016a41086a2213200541cc026a41086a280200360200200520052902cc023703d00141002d008083d480001a200541003602dc0320054280808080103702d403412041002802f482d48000118280808000002208450d01200820052903a8033700002008417e6a221441003b0000200841086a22152012290300370000200841106a22122007290300370000200841186a22072003290300370000200541d4036a4100412010f49180800020052802d803200541d4036a41086a220328020022166a22092008290000370000200941086a2015290000370000200941106a2012290000370000200941186a20072900003700002003201641206a360200200820142f00006b41002802ec82d4800011818080800000200c41086a2003280200360200200c20052902d4033702000240200528025822082005280250470d00200541d0006a4180bdc8800010a2868080000b2005280254200841186c6a220920052903d001370200200941086a2013290300370200200941106a200541d0016a41106a290300370200200841016a21090b2005200936025841002108200b417f6a220b450d030c010b0b4101412010ab80808000000b4101410110ab80808000000b200528025421080b200541a8036a41206a200241206a280200360200200541a8036a41186a200241186a290200370300200541a8036a41106a200241106a290200370300200541a8036a41086a200241086a290200370300200520022902003703a803200520083602cc0320052008200941186c6a3602d003200541d0016a2001200541a8036a200410f18a808000200041186a200541d0016a41186a290300370300200041106a200541d0016a41106a290300370300200041086a200541d0016a41086a290300370300200020052903d001370300200541d8026a200541d0016a41206a41d00010f4978080001a2005200541d8026a10a388808000200041206a200541d00010f4978080001a024020052802582209450d0020052802542108034002402008280200450d00200841046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b02402008410c6a2802002203418080808078460d002003450d00200841106a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200841186a21082009417f6a22090d000b0b02402005280250450d00200528025422082008417e6a2f00006b41002802ec82d48000118180808000000b200541e0036a2480808080000bda1005017f017e037f017e0c7f23808080800041e0036b22052480808080004100410035028483d4800042c4e6c11b85200541d0016aad22067e200642ae94e698017e4220898522063e028483d48000024041002d00a883d480004102460d0010c2908080000b41002d008083d480001a41002d00c883d480002107024002400240410141002802f482d48000118280808000002208450d0041002109200841003a00002008417e6a41003b0000200541206a41fccfc28000410141002802c480d4800011868080800000200541086a4100290388e7c58000370300200541013602482005200836024420054101360240200541b883d480004100200741ff01714102461b36021820052006422088220a42a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200a42d0e3fccc027e200642a2f0a4a00a7e854220898537031020054100290380e7c580003703002005410036025820054280808080c00037025002402003280220220b0d00410421080c030b200541dc016a210c200541f8016a210d200541d0016a410172210e2003280200210f2003280204211020032802082108200328020c2111034002400240200f410171450d00024002402010450d002011210320082107201021080c010b4101210f4100210302402011450d0020112109024020114107712207450d0003402009417f6a210920082802ac0921082007417f6a22070d000b0b20114108490d00034020082802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092108200941786a22090d000b0b410021070b024002400240200320082f01aa094f0d00200821090c010b034020082802a0082209450d02200741016a210720082f01a809210320092108200320092f01aa094f0d000b0b024020070d00200341016a2111200921100c030b200920034102746a41b0096a2802002110410021112007417f6a2208450d022007417e6a2112024020084107712207450d0003402008417f6a210820102802ac0921102007417f6a22070d000b0b20124107490d02034020102802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092110200841786a22080d000c030b0b419c8fc3800010a081808000000b41f482c6800010a081808000000b2009200341e0006c6a2209280208210320092802002108200520092802042207360278200520083602742005410036027020052007360268200520083602642005410036026020052003410020081b36027c20052008410047220836026c2005200836025c200541d0016a2001200941d4006a2208200541dc006a200410f88a808000200541a8036a41186a2203200e41186a290000370300200541a8036a41106a2207200e41106a290000370300200541a8036a41086a2212200e41086a2900003703002005200e2900003703a80320052d00d001210920054180016a200d41d00010f4978080001a200541cc026a200810bc97808000200520054180016a10a3888080000240024002402009450d000240200528025822082005280250470d00200541d0006a4190bdc8800010a2868080000b2005280254200841186c6a220920052902cc02370200200941808080807836020c200941086a200541cc026a41086a280200360200200841016a21090c010b200541d0016a41086a2213200541cc026a41086a280200360200200520052902cc023703d00141002d008083d480001a200541003602dc0320054280808080103702d403412041002802f482d48000118280808000002208450d01200820052903a8033700002008417e6a221441003b0000200841086a22152012290300370000200841106a22122007290300370000200841186a22072003290300370000200541d4036a4100412010f49180800020052802d803200541d4036a41086a220328020022166a22092008290000370000200941086a2015290000370000200941106a2012290000370000200941186a20072900003700002003201641206a360200200820142f00006b41002802ec82d4800011818080800000200c41086a2003280200360200200c20052902d4033702000240200528025822082005280250470d00200541d0006a4180bdc8800010a2868080000b2005280254200841186c6a220920052903d001370200200941086a2013290300370200200941106a200541d0016a41106a290300370200200841016a21090b2005200936025841002108200b417f6a220b450d030c010b0b4101412010ab80808000000b4101410110ab80808000000b200528025421080b200541a8036a41206a200241206a280200360200200541a8036a41186a200241186a290200370300200541a8036a41106a200241106a290200370300200541a8036a41086a200241086a290200370300200520022902003703a803200520083602cc0320052008200941186c6a3602d003200541d0016a2001200541a8036a200410f28a808000200041186a200541d0016a41186a290300370300200041106a200541d0016a41106a290300370300200041086a200541d0016a41086a290300370300200020052903d001370300200541d8026a200541d0016a41206a41d00010f4978080001a2005200541d8026a10a388808000200041206a200541d00010f4978080001a024020052802582209450d0020052802542108034002402008280200450d00200841046a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b02402008410c6a2802002203418080808078460d002003450d00200841106a28020022032003417e6a2f00006b41002802ec82d48000118180808000000b200841186a21082009417f6a22090d000b0b02402005280250450d00200528025422082008417e6a2f00006b41002802ec82d48000118180808000000b200541e0036a2480808080000b170041f4bbc88000410f41a0bdc88000108081808000000b170041f4bbc88000410f41b0bdc88000108081808000000ba007010c7f23808080800041206b22022480808080004100210302400240417f20012802142204413c6c20012802082205413c6c410c6a22066a41046a220720072006491b22084100480d0041002d008083d480001a200841002802f482d480001182808080000022070d01410121030b2003200841b8bec8800010b980808000000b2007417e6a41003b000020024100360214200220073602102002200836020c41002d008083d480001a0240412041002802f482d48000118280808000002206450d002006417e6a220941003b000020062001290018370000200641086a220a200141206a290000370000200641106a220b200141286a290000370000200641186a220c200141306a2900003700004100210d02402008411f4b0d002002410c6a4100412010f491808000200228020c2108200228021021072002280214210d0b2007200d6a22032006290000370000200341186a200c290000370000200341106a200b290000370000200341086a200a2900003700002002200d41206a2203360214200620092f00006b41002802ec82d4800011818080800000200128023c210d200128023821060240200820036b41034b0d002002410c6a2003410410f49180800020022802102107200228021421030b200720036a20063600002002200341046a22063602140240200228020c20066b41034b0d002002410c6a2006410410f491808000200228021421060b200228021020066a200d3600002002200641046a36021420012802042106200220053602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402005450d0020062005413c6c6a21030340200628020021080240200228020c200228021422076b41034b0d002002410c6a2007410410f491808000200228021421070b200228021020076a20083600002002200741046a360214200641046a2002410c6a108c858080002006413c6a22062003470d000b0b20012802102106200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004450d0020062004413c6c6a21030340200628020021080240200228020c200228021422076b41034b0d002002410c6a2007410410f491808000200228021421070b200228021020076a20083600002002200741046a360214200641046a2002410c6a108c858080002006413c6a22062003470d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b4101412010ab80808000000ba30201047f23808080800041106b220224808080800041002103024002400240200110da9180800022044100480d00024020040d00410121030c030b41002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b8bec8800010b980808000000b2003417e6a41003b00000b200241086a220541003602002002200336020420022004360200200220014188026a36020c2002410c6a200210dd84808000200220014190026a36020c2002410c6a200210dd84808000200220014198026a36020c2002410c6a200210dd848080002002200141a0026a36020c2002410c6a200210dd848080002001200210f585808000200041086a200528020036020020002002290200370200200241106a2480808080000b900601097f23808080800041206b2202248080808000410021030240417f20012802202204417f417f417f20012802082205410c6c220641046a2207200128021422084104746a41046a220920092007491b22074101200128022c41056a2001280224418080808078461b6a220920092007491b220741086a220920092007491b22076a41046a220920092007491b22074100480d0041002d008083d480001a41012103200741002802f482d48000118280808000002209450d00200141246a210a2009417e6a41003b000020024100360214200220093602102002200736020c20012802042107200220053602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402005450d00200741086a210703402007417c6a28020021032002200728020022053602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402005200228020c200228021422096b4d0d002002410c6a2009200510f491808000200228021421090b200228021020096a2003200510f4978080001a2002200920056a3602142007410c6a2107200641746a22060d000b0b20012802102107200220083602182002200241186a36021c2002411c6a2002410c6a10dc84808000200720082002410c6a10af83808000200a2002410c6a10bd89808000200128023021050240200228020c200228021422076b41034b0d002002410c6a2007410410f491808000200228021421070b200228021020076a20053600002002200741046a2207360214200128023421050240200228020c20076b41034b0d002002410c6a2007410410f491808000200228021421070b200228021020076a20053600002002200741046a360214200128021c2105200220043602182002200241186a36021c2002411c6a2002410c6a10dc8480800002402004200228020c200228021422076b4d0d002002410c6a2007200410f491808000200228021421070b200228021020076a2005200410f4978080001a200041086a200720046a3602002000200229020c370200200241206a2480808080000f0b2003200741b8bec8800010b980808000000b3900200128020020002802002d00004102742200418cc2c880006a28020020004180c2c880006a280200200128020428020c118080808000000b950201027f23808080800041106b2202248080808000200220002802002200360204200128020041f8bfc880004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41febfc880004104200041046a41d8bfc88000108a818080001a200241086a4182c0c880004105200241046a41e8bfc88000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b3301017f20002802042201200128020041016a36020002402000280208450d00200028020c2200200028020041016a3602000b0b3a01017f20002802042201200128020041016a360200200028020c2201200128020041016a36020020002802142200200028020041016a3602000b7e01027f024020002802482201450d0020012001280200417f6a2202360200024020020d00200041c8006a10ff878080000b200028024c22012001280200417f6a2201360200024020010d00200041cc006a1081888080000b200028025022012001280200417f6a220136020020010d00200041d0006a1082888080000b0be503010a7f20002802102000280200200041146a2802002202200041046a280200220320022003491b10f597808000210420004130412020002802302000280220200041346a2802002205200041246a280200220620052006491b10f5978080002207200520066b20071b41004822061b6a210520004120413020061b6a2106200620002004200220036b20041b2203417f73411b764110716a22022005200528020020002003411b764110716a2200280200200541046a2802002203200041046a280200220420032004491b10f5978080002207200320046b20071b41004822071b20062802002002280200200641046a2802002203200241046a280200220420032004491b10f5978080002208200320046b20081b41004822081b220328020020002005200220081b20071b2204280200200341046a2802002209200441046a280200220a2009200a491b10f597808000210b200141086a2005200020071b220041086a29020037020020012000290200370200200120032004200b2009200a6b200b1b41004822001b2205290200370210200141186a200541086a290200370200200141286a2004200320001b220041086a2902003702002001200029020037022020012002200620081b2200290200370230200141386a200041086a2902003702000b8304010a7f200041106a280200200041046a280200200041146a2802002202200041086a280200220320022003491b10f5978080002104200041244118200041286a2802002000411c6a2802002000412c6a2802002205200041206a280200220620052006491b10f5978080002207200520066b20071b41004822061b6a210520004118412420061b6a2106200620002004200220036b20041b2203417f73411f76410c6c6a22022005200541046a28020020002003411f76410c6c6a220041046a280200200541086a2802002203200041086a280200220420032004491b10f5978080002207200320046b20071b41004822071b200641046a280200200241046a280200200641086a2802002203200241086a280200220420032004491b10f5978080002208200320046b20081b41004822081b220341046a28020020002005200220081b20071b220441046a280200200341086a2802002209200441086a280200220a2009200a491b10f597808000210b200141086a2005200020071b220041086a28020036020020012000290200370200200120032004200b2009200a6b200b1b41004822001b220529020037020c200141146a200541086a280200360200200141206a2004200320001b220041086a2802003602002001200029020037021820012002200620081b22002902003702242001412c6a200041086a2802003602000bf408010a7f20002000280210220320002802002204494104746a2205200041304120200028023020002802204922061b6a22072000200320044f4104746a220320004120413020061b6a220428020020032802004922061b200728020020052802004922081b2209280200210a20042003200720081b20061b220b280200210c200241086a2007200520081b220741086a290200370200200220072902003702002002200b2009200c200a4922071b2205290200370210200241186a200541086a290200370200200241286a2009200b20071b220741086a29020037020020022007290200370220200241386a2003200420061b220341086a290200370200200241306a22072003290200370200200041c0006a220341204130200028027020002802604922051b6a2204200320002802502206200028024022084f4104746a220020034130412020051b6a22052005280200200320062008494104746a22032802004922061b200428020020002802004922081b2209280200210a20032005200020081b20061b220b280200210c200241c8006a2005200320061b220541086a290200370200200241c0006a22032005290200370200200241d0006a2009200b200a200c4922051b2206290200370200200241d8006a200641086a290200370200200241e0006a200b200920051b2205290200370200200241e8006a200541086a290200370200200241f0006a22052000200420081b2200290200370200200241f8006a200041086a29020037020020012003200220032802002204200228020022064922001b2208290200370200200141086a200841086a290200370200200120072005200528020022082007280200220949220b1b220a290200370270200141f8006a200a41086a2902003702002001200320004104746a22002002200420064f4104746a2202200028020022042002280200220649220a1b2203290200370210200141186a200341086a2902003702002001200741704100200b1b6a2207200541704100200820094f1b6a220320032802002205200728020022084922091b220b290200370260200141e8006a200b41086a29020037020020012000200a4104746a22002002200420064f4104746a2202200028020022042002280200220649220b1b220a290200370220200141286a200a41086a290200370200200120074170410020091b6a2207200341704100200520084f1b6a2203200328020022082007280200220949220a1b2205290200370250200141d8006a200541086a29020037020020012000200b4104746a22052002200420064f4104746a2202200528020022042002280200220649220b1b2200290200370230200141386a200041086a2902003702002001200741704100200a1b6a2200200341704100200820094f1b6a2207200728020022092000280200220a4922031b2208290200370240200141c8006a200841086a290200370200024002402002200420064f4104746a20004170410020031b6a41106a470d002005200b4104746a2007417041002009200a4f1b6a41106a460d010b109c81808000000b0bef08010a7f2000200028020c22032000280200220449410c6c6a2205200041244118200028022420002802184922061b6a22072000200320044f410c6c6a220320004118412420061b6a220428020020032802004922061b200728020020052802004922081b2209280200210a20042003200720081b20061b220b280200210c200241086a2007200520081b220741086a280200360200200220072902003702002002200b2009200c200a4922071b220529020037020c200241146a200541086a280200360200200241206a2009200b20071b220741086a280200360200200220072902003702182002412c6a2003200420061b220341086a280200360200200241246a22072003290200370200200041306a220341184124200028025420002802484922051b6a22042003200028023c2206200028023022084f410c6c6a220020034124411820051b6a2205200528020020032006200849410c6c6a22032802004922061b200428020020002802004922081b2209280200210a20032005200020081b20061b220b280200210c200241386a2005200320061b220541086a280200360200200241306a220320052902003702002002413c6a2009200b200a200c4922051b2206290200370200200241c4006a200641086a280200360200200241c8006a200b200920051b2205290200370200200241d0006a200541086a280200360200200241d4006a22052000200420081b2200290200370200200241dc006a200041086a28020036020020012003200220032802002204200228020022064922001b2208290200370200200141086a200841086a280200360200200120072005200528020022082007280200220949220b1b220a290200370254200141dc006a200a41086a280200360200200120032000410c6c6a22002002200420064f410c6c6a2202200028020022042002280200220649220a1b220329020037020c200141146a200341086a2802003602002001200741744100200b1b6a2207200541744100200820094f1b6a220320032802002205200728020022084922091b220b290200370248200141d0006a200b41086a28020036020020012000200a410c6c6a22002002200420064f410c6c6a2202200028020022042002280200220649220b1b220a290200370218200141206a200a41086a280200360200200120074174410020091b6a2207200341744100200520084f1b6a2203200328020022082007280200220949220a1b220529020037023c200141c4006a200541086a28020036020020012000200b410c6c6a22052002200420064f410c6c6a2202200528020022042002280200220649220b1b22002902003702242001412c6a200041086a2802003602002001200741744100200a1b6a2200200341744100200820094f1b6a2207200728020022092000280200220a4922031b2208290200370230200141386a200841086a280200360200024002402002200420064f410c6c6a20004174410020031b6a410c6a470d002005200b410c6c6a2007417441002009200a4f1b6a410c6a460d010b109c81808000000b0b9803010a7f2000200141047441706a22036a2104200220036a21052000200141017622064104746a220341706a2107034020022000200320032802002000280200200341046a2802002208200041046a280200220920082009491b10f597808000220a200820096b200a1b220a417f4a220b1b2208290200370200200241086a200841086a29020037020020052004200720042802002007280200200441046a2802002208200741046a280200220920082009491b10f597808000220c200820096b200c1b2208417f4a1b2209290200370200200541086a200941086a2902003702002000200b4104746a21002003200a411b764110716a210320072008411f7522084104746a210720042008417f734104746a2104200541706a2105200241106a21022006417f6a22060d000b200741106a210702402001410171450d00200220002003200020074922051b2208290200370200200241086a200841086a2902003702002003200020074f4104746a2103200020054104746a21000b024020002007470d002003200441106a470d000f0b109c81808000000ba403010a7f20002001410c6c41746a22036a2104200220036a2105200020014101762206410c6c6a220341746a21070340200220002003200341046a280200200041046a280200200341086a2802002208200041086a280200220920082009491b10f597808000220a200820096b200a1b220a417f4a220b1b2208290200370200200241086a200841086a280200360200200520042007200441046a280200200741046a280200200441086a2802002208200741086a280200220920082009491b10f597808000220c200820096b200c1b2208417f4a1b2209290200370200200541086a200941086a2802003602002000200b410c6c6a21002003200a411f76410c6c6a210320072008411f752208410c6c6a210720042008417f73410c6c6a2104200541746a21052002410c6a21022006417f6a22060d000b2007410c6a210702402001410171450d00200220002003200020074922051b2208290200370200200241086a200841086a2802003602002003200020074f410c6c6a210320002005410c6c6a21000b024020002007470d0020032004410c6a470d000f0b109c81808000000b920202077f017e200041106a2102200020014104746a210341002104200021010340200221050240200128021022062001280200200141146a2802002207200141046a280200220220072002491b10f5978080002208200720026b20081b417f4a0d00200129021821092004210202400340200020026a220141106a2001290200370200200141186a200141086a290200370200024020020d00200021010c020b200241706a21022006200141706a2802002007200141746a280200220120072001491b10f5978080002208200720016b20081b4100480d000b200020026a41106a21010b2001200937020820012007360204200120063602000b200441106a210420052101200541106a22022003470d000b0bd00103047f017e017f02402002417f6a20014f0d00024020022001460d0020002001410c6c6a210420002002410c6c22056a21060340024020062802002207200641746a2802004f0d00200629020421082005210202400340200020026a2201200141746a2209290200370200200141086a200941086a28020036020002402002410c470d00200021020c020b200241746a21022007200141686a280200490d000b200020026a21020b20022008370204200220073602000b2005410c6a21052006410c6a22062004470d000b0b0f0b000bf10201097f23808080800041206b210402402002417f6a20014f0d00024020022001460d002000200141246c6a21052000200241246c22066a2107200441186a2108200441106a2109200441086a210a034002402007280200220b2007415c6a2802004f0d0020082007411c6a2902003703002009200741146a290200370300200a2007410c6a290200370300200420072902043703002006210c024003402000200c6a22022002415c6a2201290200370200200241206a200141206a280200360200200241186a200141186a290200370200200241106a200141106a290200370200200241086a200141086a2902003702000240200c4124470d00200021020c020b200c415c6a210c200b200241b87f6a280200490d000b2000200c6a21020b2002200b360200200220042903003702042002410c6a200a290300370200200241146a20092903003702002002411c6a20082903003702000b200641246a2106200741246a22072005470d000b0b0f0b000bed0201087f23808080800041206b220424808080800002402002417f6a20014f0d00024020022001460d00200020014105746a21052000200241057422066a2107034002402007200741606a412010f597808000417f4a0d00200441186a2208200741186a290000370300200441106a2209200741106a290000370300200441086a220a200741086a290000370300200420072900003703002006210102400340200020016a2202200241606a220b290000370000200241186a200b41186a290000370000200241106a200b41106a290000370000200241086a200b41086a290000370000024020014120470d00200021020c020b200141606a21012004200241406a412010f5978080004100480d000b200020016a21020b20022004290300370000200241186a2008290300370000200241106a2009290300370000200241086a200a2903003700000b200641206a2106200741206a22072005470d000b0b200441206a2480808080000f0b000bc00102047f027e02402002417f6a20014f0d00024020022001460d00200020014103746a21042000200241037422056a21060340024020062d00002207200641786a2d00004f0d002007ad2108200635020421092005210202400340200020026a2201200141786a290200370200024020024108470d00200021020c020b200241786a21022007200141706a2d0000490d000b200020026a21020b200220094220862008843702000b200541086a2105200641086a22062004470d000b0b0f0b000bc70201077f23808080800041206b220424808080800002402002417f6a20014f0d00024020022001460d002000200141146c6a21052000200241146c22066a21070340024020072007416c6a410810f597808000417f4a0d00200441086a41106a2208200741106a280200360200200441086a41086a2209200741086a290200370300200420072902003703082006210102400340200020016a22022002416c6a220a290200370200200241106a200a41106a280200360200200241086a200a41086a290200370200024020014114470d00200021020c020b2001416c6a2101200441086a200241586a410810f5978080004100480d000b200020016a21020b20022004290308370200200241106a2008280200360200200241086a20092903003702000b200641146a2106200741146a22072005470d000b0b200441206a2480808080000f0b000bac0201087f02402002417f6a20014f0d00024020022001460d0020002001410c6c6a210420002002410c6c22056a210603400240200641046a2802002207200641786a280200200641086a28020022082006417c6a280200220220082002491b10f5978080002201200820026b20011b417f4a0d00200628020021092005210102400340200020016a2202200241746a220a290200370200200241086a200a41086a28020036020002402001410c470d00200021010c020b200141746a210120072002416c6a2802002008200241706a280200220a2008200a491b10f597808000220b2008200a6b200b1b4100480d000b200020016a21010b200120093602002002417c6a2008360200200241786a20073602000b2005410c6a21052006410c6a22062004470d000b0b0f0b000bfe0101077f23808080800041106b210402402002417f6a20014f0d00024020022001460d00200020014104746a21052000200241047422066a2107200441086a21080340024020072802002209200741706a2802004f0d0020082007410c6a280200360200200420072902043703002006210202400340200020026a2201200141706a220a290200370200200141086a200a41086a290200370200024020024110470d00200021020c020b200241706a21022009200141606a280200490d000b200020026a21020b20022009360200200220042903003702042002410c6a20082802003602000b200641106a2106200741106a22072005470d000b0b0f0b000bb50f010e7f23808080800041206b22052480808080000240024020014102490d00024002402003200141106a490d00410121062001410176210702400240200141074d0d00200041146a2000410810f59780800021082000413c41282000413c6a200041286a410810f59780800041004822091b6a210320004128413c20091b6a2109200920002008417f73411f7641146c6a220a2003200320002008411f7641146c6a2208410810f597808000410048220b1b2009200a410810f597808000410048220c1b220620082003200a200c1b200b1b220d410810f597808000210e200241106a20032008200b1b220341106a280200360200200241086a200341086a2902003702002002200329020037020020022006200d200e41004822081b22032902003702142002200d200620081b22082902003702282002411c6a200341086a290200370200200241246a200341106a280200360200200241306a200841086a290200370200200241386a200841106a280200360200200241cc006a200a2009200c1b220341106a280200360200200241c4006a200341086a2902003702002002200329020037023c2000200741146c220f6a220341146a2003410810f597808000210b2003413c41282003413c6a200341286a410810f597808000410048220a1b6a210920034128413c200a1b6a210a200a2003200b417f73411f7641146c6a2208200920092003200b411f7641146c6a220b410810f597808000410048220c1b200a2008410810f59780800041004822061b220d200b2009200820061b200c1b220e410810f59780800021102002200f6a220341106a2009200b200c1b220941106a280200360200200341086a200941086a290200370200200320092902003702002003200d200e2010410048220b1b22092902003702142003200e200d200b1b220b2902003702282003411c6a200941086a290200370200200341246a200941106a280200360200200341306a200b41086a290200370200200341386a200b41106a280200360200200341cc006a2008200a20061b220941106a280200360200200341c4006a200941086a2902003702002003200929020037023c410421060c010b20022000290200370200200241106a200041106a280200360200200241086a200041086a2902003702002002200741146c22096a2203200020096a2209290200370200200341086a200941086a290200370200200341106a200941106a2802003602000b200120076b210f200620074f0d01200641146c210b2006210803402002200841146c22096a2203200020096a2209290200370200200341106a200941106a220a280200360200200341086a200941086a220c290200370200024020032003416c6a410810f597808000417f4a0d00200541086a41106a220d200a280200360200200541086a41086a220e200c29020037030020052009290200370308200b210902400340200220096a22032003416c6a220a290200370200200341106a200a41106a280200360200200341086a200a41086a290200370200024020094114470d00200221030c020b2009416c6a2109200541086a200341586a410810f5978080004100480d000b200220096a21030b20032005290308370200200341106a200d280200360200200341086a200e2903003702000b200b41146a210b200841016a22082007470d000c020b0b000b2002200741146c22036a210c02402006200f4f0d00200020036a2110200641146c210b4114210d200c210e0340200c200641146c22096a2203201020096a2209290200370200200341106a200941106a220a280200360200200341086a200941086a2208290200370200024020032003416c6a410810f597808000417f4a0d00200541086a41106a2211200a280200360200200541086a41086a2212200829020037030020052009290200370308200d2108200e2109024003402009200b6a22032003416c6a220a290200370200200341106a200a41106a280200360200200341086a200a41086a2902003702000240200b2008470d00200c21030c020b200841146a21082009416c6a2109200541086a200341586a410810f5978080004100480d000b2009200b6a21030b20032005290308370200200341106a2011280200360200200341086a20122903003702000b200d416c6a210d200e41146a210e200641016a2206200f470d000b0b200c416c6a21092002200141146c416c6a22036a210a200020036a2103034020002002200c200c2002410810f597808000220b417f4a22061b2208290200370200200041106a200841106a280200360200200041086a200841086a2902003702002003200a2009200a2009410810f597808000220d417f4a1b2208290200370200200341106a200841106a280200360200200341086a200841086a2902003702002002200641146c6a2102200c200b411f7641146c6a210c2009200d411f75220841146c6a2109200a2008417f7341146c6a210a2003416c6a2103200041146a21002007417f6a22070d000b200941146a210302402001410171450d0020002002200c200220034922081b2209290200370200200041106a200941106a280200360200200041086a200941086a290200370200200c200220034f41146c6a210c2002200841146c6a21020b20022003470d01200c200a41146a470d010b200541206a2480808080000f0b109c81808000000baa0703087f017e047f024020014102490d000240024002402003200141106a490d00200141017621052001410f4b0d01410421062002200541047422076a2103200020076a21070240200141074d0d002000200210f68f8080002007200310f68f8080000c030b20022000290200370200200241086a200041086a29020037020020032007290200370200200341086a200741086a290200370200410121060c020b000b2000200220014104746a220310f68f808000200041c0006a200341c0006a10f68f8080004108210620034108200210fa8f8080002000200541047422076a220820034180016a220910f68f808000200841c0006a200341c0016a10f68f80800020094108200220076a10fa8f8080000b200120056b210a0240200620054f0d002006410474210b2006210c03402002200c41047422076a2203200020076a2207290200220d370200200341086a200741086a2902003702000240200da7220e200341706a280200200341046a2802002208200341746a280200220720082007491b10f5978080002209200820076b20091b417f4a0d002003290208210d200b210702400340200220076a2203200341706a2209290200370200200341086a200941086a290200370200024020074110470d00200221030c020b200741706a2107200e200341606a2802002008200341646a280200220320082003491b10f5978080002209200820036b20091b4100480d000b200220076a21030b2003200d370208200320083602042003200e3602000b200b41106a210b200c41016a220c2005470d000b0b02402006200a4f0d002000200541047422036a210f2006410474210e200220036a221021054110211103402010200641047422076a2203200f20076a2207290200220d370200200341086a200741086a2902003702000240200da7220b200341706a280200200341046a2802002207200341746a280200220820072008491b10f5978080002209200720086b20091b417f4a0d002003290208210d2005210820112109024003402008200e6a2203200341706a220c290200370200200341086a200c41086a2902003702000240200e2009470d00201021030c020b200841706a2108200941106a2109200b200341606a2802002007200341646a280200220320072003491b10f597808000220c200720036b200c1b4100480d000b2008200e6a21030b2003200d370208200320073602042003200b3602000b200541106a2105201141706a2111200641016a2206200a470d000b0b20022001200010fa8f8080000b0bd213030d7f017e037f23808080800041206b22052480808080000240024020014102490d00024002402003200141106a490d00410121062001410176210702400240200141074d0d002002200041ec0041c800200028026c20002802484922081b6a220920002000280224220a200028020022064941246c6a220b2009280200200b28020049220c1b2203290200370200200241086a200341086a290200370200200241106a200341106a290200370200200241186a200341186a290200370200200241206a200341206a2802003602002002200041c80041ec0020081b6a220d2000200a20064f41246c6a22082009200c1b200d280200200828020049220a1b2206200b20092008200a1b200c1b22092006280200200928020049220b1b2203290200370224200220092006200b1b2209290200370248200241c4006a200341206a2802003602002002413c6a200341186a290200370200200241346a200341106a2902003702002002412c6a200341086a290200370200200241d0006a200941086a290200370200200241d8006a200941106a290200370200200241e0006a200941186a290200370200200241e8006a200941206a2802003602002002418c016a2008200d200a1b220341206a28020036020020024184016a200341186a290200370200200241fc006a200341106a290200370200200241f4006a200341086a2902003702002002200329020037026c2000200741246c220e6a2203200328022422082003280200220c4941246c6a220b200341ec0041c800200328026c200328024849220d1b6a220920032008200c4f41246c6a2208200341c80041ec00200d1b6a220c280200200828020049220d1b2009280200200b28020049220a1b2206280200210f200c20082009200a1b200d1b221028020021112002200e6a220341206a2009200b200a1b220941206a280200360200200341186a200941186a290200370200200341106a200941106a290200370200200341086a200941086a290200370200200320092902003702002003201020062011200f49220b1b2209290200370224200341c4006a200941206a2802003602002003413c6a200941186a290200370200200341346a200941106a2902003702002003412c6a200941086a290200370200200341e8006a20062010200b1b220941206a280200360200200341e0006a200941186a290200370200200341d8006a200941106a290200370200200341d0006a200941086a290200370200200320092902003702482003418c016a2008200c200d1b220941206a28020036020020034184016a200941186a290200370200200341fc006a200941106a290200370200200341f4006a200941086a2902003702002003200929020037026c410421060c010b20022000290200370200200241206a200041206a280200360200200241186a200041186a290200370200200241106a200041106a290200370200200241086a200041086a2902003702002002200741246c22096a2203200020096a2209290200370200200341086a200941086a290200370200200341106a200941106a290200370200200341186a200941186a290200370200200341206a200941206a2802003602000b200120076b210f200620074f0d01200641246c210d2006210c03402002200c41246c22036a2209200020036a22032902002212370200200941206a200341206a280200360200200941186a200341186a290200370200200941106a200341106a290200370200200941086a200341086a29020037020002402012a7220b2009415c6a2802004f0d00200541186a220a2003411c6a290200370300200541106a2210200341146a290200370300200541086a220e2003410c6a29020037030020052003290204370300200d210802400340200220086a22032003415c6a2209290200370200200341206a200941206a280200360200200341186a200941186a290200370200200341106a200941106a290200370200200341086a200941086a290200370200024020084124470d00200221030c020b2008415c6a2108200b200341b87f6a280200490d000b200220086a21030b2003200b360200200320052903003702042003410c6a200e290300370200200341146a20102903003702002003411c6a200a2903003702000b200d41246a210d200c41016a220c2007470d000c020b0b000b2002200741246c22036a210d02402006200f4f0d00200020036a2111200641246c210c41242110200d210e0340200d200641246c22036a2209201120036a22032902002212370200200941206a200341206a280200360200200941186a200341186a290200370200200941106a200341106a290200370200200941086a200341086a29020037020002402012a7220a2009415c6a2802004f0d00200541186a22132003411c6a290200370300200541106a2214200341146a290200370300200541086a22152003410c6a290200370300200520032902043703002010210b200e2108024003402008200c6a22032003415c6a2209290200370200200341206a200941206a280200360200200341186a200941186a290200370200200341106a200941106a290200370200200341086a200941086a2902003702000240200c200b470d00200d21030c020b200b41246a210b2008415c6a2108200a200341b87f6a280200490d000b2008200c6a21030b2003200a360200200320052903003702042003410c6a2015290300370200200341146a20142903003702002003411c6a20132903003702000b2010415c6a2110200e41246a210e200641016a2206200f470d000b0b200d415c6a21082002200141246c415c6a22036a210b200020036a210303402000200d2002200d280200220c2002280200220a4922061b2209290200370200200041086a200941086a290200370200200041106a200941106a290200370200200041186a200941186a290200370200200041206a200941206a280200360200200341206a2008200b200b28020022102008280200220e49220f1b220941206a280200360200200341186a200941186a290200370200200341106a200941106a290200370200200341086a200941086a290200370200200320092902003702002003415c6a2103200041246a21002008415c4100200f1b6a2108200b415c41002010200e4f1b6a210b2002200c200a4f41246c6a2102200d200641246c6a210d2007417f6a22070d000b200841246a210302402001410171450d0020002002200d200220034922081b2209290200370200200041206a200941206a280200360200200041186a200941186a290200370200200041106a200941106a290200370200200041086a200941086a290200370200200d200220034f41246c6a210d2002200841246c6a21020b20022003470d01200d200b41246a470d010b200541206a2480808080000f0b109c81808000000ba907010e7f024020014102490d000240024002402003200141106a490d00200141017621052001410f4b0d0120022005410c6c22066a2103200020066a21060240200141074d0d002000200210f78f8080002006200310f78f808000410421070c030b20022000290200370200200241086a200041086a28020036020020032006290200370200200341086a200641086a280200360200410121070c020b000b200020022001410c6c6a220310f78f808000200041306a200341306a10f78f8080004108210720034108200210fb8f80800020002005410c6c22066a2208200341e0006a220910f78f808000200841306a20034190016a10f78f80800020094108200220066a10fb8f8080000b200120056b210a0240200720054f0d002007410c6c210b2007210c03402002200c410c6c22066a2203200020066a2206290200370200200341086a200641086a28020022083602000240200341046a280200220d200341786a28020020082003417c6a280200220620082006491b10f5978080002209200820066b20091b417f4a0d002003280200210e200b210602400340200220066a2203200341746a2209290200370200200341086a200941086a28020036020002402006410c470d00200221060c020b200641746a2106200d2003416c6a2802002008200341706a280200220920082009491b10f597808000220f200820096b200f1b4100480d000b200220066a21060b2006200e3602002003417c6a2008360200200341786a200d3602000b200b410c6a210b200c41016a220c2005470d000b0b02402007200a4f0d0020002005410c6c22036a21102007410c6c210d200220036a22112105410c210e034020112007410c6c22066a2203201020066a2206290200370200200341086a200641086a28020022063602000240200341046a280200220b200341786a28020020062003417c6a280200220820062008491b10f5978080002209200620086b20091b417f4a0d002003280200211220052108200e2109024003402008200d6a2203200341746a220f290200370200200341086a200f41086a2802003602000240200d2009470d00201121080c020b200841746a21082009410c6a2109200b2003416c6a2802002006200341706a280200220f2006200f491b10f597808000220c2006200f6b200c1b4100480d000b2008200d6a21080b200820123602002003417c6a2006360200200341786a200b3602000b2005410c6a2105200e41746a210e200741016a2207200a470d000b0b20022001200010fb8f8080000b0bc50c020e7f017e23808080800041106b22052480808080000240024020014102490d000240024002402003200141106a490d00200141017621062001410f4b0d010240200141074d0d00410421072002200041304120200028023020002802204922081b6a22032000200028021022092000280200220a494104746a220b2003280200200b28020049220c1b220d290200370200200241086a200d41086a290200370200200220004120413020081b6a220d20002009200a4f4104746a22082003200c1b200d28020020082802004922091b220a200b2003200820091b200c1b2203200a280200200328020049220b1b220c290200370210200241186a200c41086a290200370200200241286a2003200a200b1b220341086a29020037020020022003290200370220200241386a2008200d20091b220341086a2902003702002002200329020037023020002006410474220e6a2203412041302003280230200328022049220b1b6a220c20032003280210220d200328020022094f4104746a2208200341304120200b1b6a220b200b2802002003200d2009494104746a220d2802004922091b200c280200200828020049220a1b220f2802002110200d200b2008200a1b20091b221128020021122002200e6a220341086a200b200d20091b220b41086a2902003702002003200b2902003702002003200f20112010201249220b1b220d290200370210200341186a200d41086a290200370200200341286a2011200f200b1b220b41086a2902003702002003200b290200370220200341386a2008200c200a1b220841086a290200370200200320082902003702300c030b20022000290200370200200241086a200041086a2902003702002002200641047422036a2208200020036a2203290200370200200841086a200341086a290200370200410121070c020b000b20002002200220014104746a220310f88f8080002000200641047422086a200220086a20034180016a10f88f808000410821070b200120066b210e0240200720064f0d00200741047421092007210d03402002200d41047422086a2203200020086a22082902002213370200200341086a200841086a29020037020002402013a7220c200341706a2802004f0d00200541086a220a2008410c6a280200360200200520082902043703002009210302400340200220036a2208200841706a220b290200370200200841086a200b41086a290200370200024020034110470d00200221030c020b200341706a2103200c200841606a280200490d000b200220036a21030b2003200c360200200320052903003702042003410c6a200a2802003602000b200941106a2109200d41016a220d2006470d000b0b2002200641047422036a210902402007200e4f0d00200020036a21102007410474210c4110210f2009211103402009200741047422086a2203201020086a22082902002213370200200341086a200841086a29020037020002402013a7220a200341706a2802004f0d00200541086a22122008410c6a28020036020020052008290204370300200f210b20112108024003402008200c6a2203200341706a220d290200370200200341086a200d41086a2902003702000240200c200b470d00200921030c020b200b41106a210b200841706a2108200a200341606a280200490d000b2008200c6a21030b2003200a360200200320052903003702042003410c6a20122802003602000b200f41706a210f201141106a2111200741016a2207200e470d000b0b200941706a21032002200141047441706a220b6a21082000200b6a210b03402000200920022009280200220c2002280200220d49220a1b2207290200370200200041086a200741086a290200370200200b20032008200828020022072003280200220f4922111b220e290200370200200b41086a200e41086a290200370200200b41706a210b200041106a210020034170410020111b6a21032008417041002007200f4f1b6a21082002200c200d4f4104746a21022009200a4104746a21092006417f6a22060d000b200341106a210302402001410171450d002000200220092002200349220b1b220c290200370200200041086a200c41086a2902003702002009200220034f4104746a21092002200b4104746a21020b20022003470d012009200841106a470d010b200541106a2480808080000f0b109c81808000000bdf0b020c7f017e0240024020014102490d000240024002402003200141106a490d00200141017621052001410f4b0d010240200141074d0d002002200041244118200028022420002802184922061b6a22032000200028020c22072000280200220849410c6c6a22092003280200200928020049220a1b220b290200370200200241086a200b41086a280200360200200220004118412420061b6a220b2000200720084f410c6c6a22062003200a1b200b28020020062802004922071b220820092003200620071b200a1b2203200828020020032802004922091b220a29020037020c200241146a200a41086a280200360200200241206a2003200820091b220341086a280200360200200220032902003702182002412c6a2006200b20071b220341086a2802003602002002200329020037022420002005410c6c220c6a220341184124200328022420032802184922091b6a220a2003200328020c220b200328020022074f410c6c6a220620034124411820091b6a220920092802002003200b200749410c6c6a220b2802004922071b200a28020020062802004922081b220d280200210e200b2009200620081b20071b220f28020021102002200c6a220341086a2009200b20071b220941086a280200360200200320092902003702002003200d200f200e20104922091b220b29020037020c200341146a200b41086a280200360200200341206a200f200d20091b220941086a280200360200200320092902003702182003412c6a2006200a20081b220641086a280200360200200320062902003702244104210d0c030b20022000290200370200200241086a200041086a28020036020020022005410c6c22036a2206200020036a2203290200370200200641086a200341086a2802003602004101210d0c020b000b2000200220022001410c6c6a220310f98f80800020002005410c6c22066a200220066a200341e0006a10f98f8080004108210d0b200120056b210e0240200d20054f0d00200d410c6c2107200d210b03402002200b410c6c22066a2203200020066a22062902002211370200200341086a200641086a28020036020002402011a7220a200341746a2802004f0d00200329020421112007210302400340200220036a2206200641746a2209290200370200200641086a200941086a28020036020002402003410c470d00200221030c020b200341746a2103200a200641686a280200490d000b200220036a21030b200320113702042003200a3602000b2007410c6a2107200b41016a220b2005470d000b0b20022005410c6c22036a21070240200d200e4f0d00200020036a2110200d410c6c210a410c210f2007210c03402007200d410c6c22066a2203201020066a22062902002211370200200341086a200641086a28020036020002402011a72208200341746a2802004f0d0020032902042111200f2109200c2106024003402006200a6a2203200341746a220b290200370200200341086a200b41086a2802003602000240200a2009470d00200721030c020b2009410c6a2109200641746a21062008200341686a280200490d000b2006200a6a21030b20032011370204200320083602000b200f41746a210f200c410c6a210c200d41016a220d200e470d000b0b200741746a210320022001410c6c41746a22096a2106200020096a210903402000200720022007280200220a2002280200220b4922081b220d290200370200200041086a200d41086a2802003602002009200320062006280200220d2003280200220f49220c1b220e290200370200200941086a200e41086a280200360200200941746a21092000410c6a2100200341744100200c1b6a2103200641744100200d200f4f1b6a21062002200a200b4f410c6c6a210220072008410c6c6a21072005417f6a22050d000b2003410c6a210302402001410171450d00200020022007200220034922091b220a290200370200200041086a200a41086a2802003602002007200220034f410c6c6a210720022009410c6c6a21020b20022003470d0120072006410c6a470d010b0f0b109c81808000000b831201107f23808080800041206b22052480808080000240024020014102490d00024002402003200141106a490d00410121062001410176210702400240200141074d0d00200041206a2000412010f5978080002108200041e00041c000200041e0006a200041c0006a412010f59780800041004822091b6a2103200041c00041e00020091b6a2109200920002008417f73411a764120716a220a2003200320002008411a764120716a2208412010f597808000410048220b1b2009200a412010f597808000410048220c1b220620082003200a200c1b200b1b220d412010f597808000210e200241186a20032008200b1b220341186a290000370000200241106a200341106a290000370000200241086a200341086a2900003700002002200329000037000020022006200d200e41004822081b22032900003700202002200d200620081b2208290000370040200241286a200341086a290000370000200241306a200341106a290000370000200241386a200341186a290000370000200241c8006a200841086a290000370000200241d0006a200841106a290000370000200241d8006a200841186a290000370000200241f8006a200a2009200c1b220341186a290000370000200241f0006a200341106a290000370000200241e8006a200341086a2900003700002002200329000037006020002007410574220f6a220341206a2003412010f597808000210b200341e00041c000200341e0006a200341c0006a412010f597808000410048220a1b6a2109200341c00041e000200a1b6a210a200a2003200b417f73411a764120716a2208200920092003200b411a764120716a220b412010f597808000410048220c1b200a2008412010f59780800041004822061b220d200b2009200820061b200c1b220e412010f59780800021102002200f6a220341186a2009200b200c1b220941186a290000370000200341106a200941106a290000370000200341086a200941086a290000370000200320092900003700002003200d200e2010410048220b1b22092900003700202003200e200d200b1b220b290000370040200341286a200941086a290000370000200341306a200941106a290000370000200341386a200941186a290000370000200341c8006a200b41086a290000370000200341d0006a200b41106a290000370000200341d8006a200b41186a290000370000200341f8006a2008200a20061b220941186a290000370000200341f0006a200941106a290000370000200341e8006a200941086a29000037000020032009290000370060410421060c010b20022000290000370000200241186a200041186a290000370000200241106a200041106a290000370000200241086a200041086a2900003700002002200741057422096a2203200020096a2209290000370000200341086a200941086a290000370000200341106a200941106a290000370000200341186a200941186a2900003700000b200120076b2110200620074f0d012006410574210b2006210803402002200841057422096a2203200020096a2209290000370000200341186a200941186a220a290000370000200341106a200941106a220c290000370000200341086a200941086a220d29000037000002402003200341606a412010f597808000417f4a0d00200541186a220e200a290000370300200541106a220f200c290000370300200541086a220c200d29000037030020052009290000370300200b210902400340200220096a2203200341606a220a290000370000200341186a200a41186a290000370000200341106a200a41106a290000370000200341086a200a41086a290000370000024020094120470d00200221030c020b200941606a21092005200341406a412010f5978080004100480d000b200220096a21030b20032005290300370000200341186a200e290300370000200341106a200f290300370000200341086a200c2903003700000b200b41206a210b200841016a22082007470d000c020b0b000b2002200741057422036a210c0240200620104f0d00200020036a21112006410574210b4120210d200c210e0340200c200641057422096a2203201120096a2209290000370000200341186a200941186a220a290000370000200341106a200941106a2208290000370000200341086a200941086a220f29000037000002402003200341606a412010f597808000417f4a0d00200541186a2212200a290000370300200541106a22132008290000370300200541086a2214200f29000037030020052009290000370300200d2108200e210a02400340200a200b6a2203200341606a2209290000370000200341186a200941186a290000370000200341106a200941106a290000370000200341086a200941086a2900003700000240200b2008470d00200c21030c020b200841206a2108200a41606a210a2005200341406a412010f5978080004100480d000b200a200b6a21030b20032005290300370000200341186a2012290300370000200341106a2013290300370000200341086a20142903003700000b200d41606a210d200e41206a210e200641016a22062010470d000b0b200c41606a21092002200141057441606a22036a210a200020036a2103034020002002200c200c2002412010f597808000220b417f4a22061b2208290000370000200041186a200841186a290000370000200041106a200841106a290000370000200041086a200841086a2900003700002003200a2009200a2009412010f597808000220d417f4a1b2208290000370000200341186a200841186a290000370000200341106a200841106a290000370000200341086a200841086a290000370000200220064105746a2102200c200b411a764120716a210c2009200d411f7522084105746a2109200a2008417f734105746a210a200341606a2103200041206a21002007417f6a22070d000b200941206a210302402001410171450d0020002002200c200220034922081b2209290000370000200041186a200941186a290000370000200041106a200941106a290000370000200041086a200941086a290000370000200c200220034f4105746a210c200220084105746a21020b20022003470d01200c200a41206a470d010b200541206a2480808080000f0b109c81808000000be00c01097f23808080800041e0016b2208248080808000200841c9006a200241186a290000370000200841c1006a200241106a290000370000200841396a200241086a2900003700002008200236025c200841a8bac88000360258200820013602542008410036022c200842043702242008420037021c20084280808080c000370214200820073602702008200636026c2008410036026820084100360260200841013a003020082002290000370031200841013a007420082005360210200841003602082008200436020c20082004410047360204200841b0016a41286a200341286a280200360200200841b0016a41206a200341206a290200370300200841b0016a41186a200341186a290200370300200841b0016a41106a200341106a290200370300200841b0016a41086a200341086a290200370300200820032902003703b001200841f8006a200841b0016a41c8bfc8800010c98f8080002008280280012103200828027c21092008200841df016a3602b001200841046a41106a210a024002400240024020034102490d00024020034115490d0020092003200841b0016a109a898080002008280278210b0c020b2009200310fc8f8080002008280278210b0c010b2008280278210b2003450d010b200920034104746a210c200841a8016a210d200841b0016a41086a2104200841b0016a410172210620084184016a41086a210120084184016a41046a210e20084184016a4101722105200921030240034020032802002207450d02200341046a280200210f02400240024002400240200341086a2802002210450d00200841b0016a200841046a2007200f20102003410c6a28020010978a80800020082d00b00122074104460d01200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000c030b200841b0016a200841046a2007200f10988a80800020082d00b00122074104470d010b20082802b4012103200041013a0000200020033602040240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10958a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b200828026022030d0241002103410021040c040b200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000b200820082802b401220f36028801200820073a008401024020074103460d0002400240024020070e020103000b20082802a80122072007280200220f417f6a360200200d2107200f4101460d010c020b200f200f2802002210417f6a360200200e210720104101470d010b200710f0978080000b200341106a2203200c470d010c030b0b2008200828026422043602cc01200820033602c801200841003602c401200820043602bc01200820033602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c9898080000c010b0240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10958a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b4100210341002104024020082802602201450d002008200828026422033602cc01200820013602c801200841003602c401200820033602bc01200820013602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c989808000200041003a0000200041196a200241186a290000370000200041116a200241106a290000370000200041096a200241086a290000370000200020022900003700010b200841e0016a2480808080000be00c01097f23808080800041e0016b2208248080808000200841c9006a200241186a290000370000200841c1006a200241106a290000370000200841396a200241086a2900003700002008200236025c200841a8bac88000360258200820013602542008410036022c200842043702242008420037021c20084280808080c000370214200820073602702008200636026c2008410036026820084100360260200841013a003020082002290000370031200841013a007420082005360210200841003602082008200436020c20082004410047360204200841b0016a41286a200341286a280200360200200841b0016a41206a200341206a290200370300200841b0016a41186a200341186a290200370300200841b0016a41106a200341106a290200370300200841b0016a41086a200341086a290200370300200820032902003703b001200841f8006a200841b0016a41c8bfc8800010c98f8080002008280280012103200828027c21092008200841df016a3602b001200841046a41106a210a024002400240024020034102490d00024020034115490d0020092003200841b0016a109e898080002008280278210b0c020b2009200310fc8f8080002008280278210b0c010b2008280278210b2003450d010b200920034104746a210c200841a8016a210d200841b0016a41086a2104200841b0016a410172210620084184016a41086a210120084184016a41046a210e20084184016a4101722105200921030240034020032802002207450d02200341046a280200210f02400240024002400240200341086a2802002210450d00200841b0016a200841046a2007200f20102003410c6a28020010968a80800020082d00b00122074104460d01200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000c030b200841b0016a200841046a2007200f10998a80800020082d00b00122074104470d010b20082802b4012103200041013a0000200020033602040240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10948a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b200828026022030d0241002103410021040c040b200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000b200820082802b401220f36028801200820073a008401024020074103460d0002400240024020070e020103000b20082802a80122072007280200220f417f6a360200200d2107200f4101460d010c020b200f200f2802002210417f6a360200200e210720104101470d010b200710f0978080000b200341106a2203200c470d010c030b0b2008200828026422043602cc01200820033602c801200841003602c401200820043602bc01200820033602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c9898080000c010b0240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10948a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b4100210341002104024020082802602201450d002008200828026422033602cc01200820013602c801200841003602c401200820033602bc01200820013602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c989808000200041003a0000200041196a200241186a290000370000200041116a200241106a290000370000200041096a200241086a290000370000200020022900003700010b200841e0016a2480808080000be00c01097f23808080800041e0016b2208248080808000200841c9006a200241186a290000370000200841c1006a200241106a290000370000200841396a200241086a2900003700002008200236025c200841d0bac88000360258200820013602542008410036022c200842043702242008420037021c20084280808080c000370214200820073602702008200636026c2008410036026820084100360260200841013a003020082002290000370031200841013a007420082005360210200841003602082008200436020c20082004410047360204200841b0016a41286a200341286a280200360200200841b0016a41206a200341206a290200370300200841b0016a41186a200341186a290200370300200841b0016a41106a200341106a290200370300200841b0016a41086a200341086a290200370300200820032902003703b001200841f8006a200841b0016a41c8bfc8800010c98f8080002008280280012103200828027c21092008200841df016a3602b001200841046a41106a210a024002400240024020034102490d00024020034115490d0020092003200841b0016a109d898080002008280278210b0c020b2009200310fc8f8080002008280278210b0c010b2008280278210b2003450d010b200920034104746a210c200841a8016a210d200841b0016a41086a2104200841b0016a410172210620084184016a41086a210120084184016a41046a210e20084184016a4101722105200921030240034020032802002207450d02200341046a280200210f02400240024002400240200341086a2802002210450d00200841b0016a200841046a2007200f20102003410c6a28020010978a80800020082d00b00122074104460d01200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000c030b200841b0016a200841046a2007200f10988a80800020082d00b00122074104470d010b20082802b4012103200041013a0000200020033602040240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10958a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b200828026022030d0241002103410021040c040b200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000b200820082802b401220f36028801200820073a008401024020074103460d0002400240024020070e020103000b20082802a80122072007280200220f417f6a360200200d2107200f4101460d010c020b200f200f2802002210417f6a360200200e210720104101470d010b200710f0978080000b200341106a2203200c470d010c030b0b2008200828026422043602cc01200820033602c801200841003602c401200820043602bc01200820033602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c9898080000c010b0240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10958a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b4100210341002104024020082802602201450d002008200828026422033602cc01200820013602c801200841003602c401200820033602bc01200820013602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c989808000200041003a0000200041196a200241186a290000370000200041116a200241106a290000370000200041096a200241086a290000370000200020022900003700010b200841e0016a2480808080000be00c01097f23808080800041e0016b2208248080808000200841c9006a200241186a290000370000200841c1006a200241106a290000370000200841396a200241086a2900003700002008200236025c200841d0bac88000360258200820013602542008410036022c200842043702242008420037021c20084280808080c000370214200820073602702008200636026c2008410036026820084100360260200841013a003020082002290000370031200841013a007420082005360210200841003602082008200436020c20082004410047360204200841b0016a41286a200341286a280200360200200841b0016a41206a200341206a290200370300200841b0016a41186a200341186a290200370300200841b0016a41106a200341106a290200370300200841b0016a41086a200341086a290200370300200820032902003703b001200841f8006a200841b0016a41c8bfc8800010c98f8080002008280280012103200828027c21092008200841df016a3602b001200841046a41106a210a024002400240024020034102490d00024020034115490d0020092003200841b0016a1097898080002008280278210b0c020b2009200310fc8f8080002008280278210b0c010b2008280278210b2003450d010b200920034104746a210c200841a8016a210d200841b0016a41086a2104200841b0016a410172210620084184016a41086a210120084184016a41046a210e20084184016a4101722105200921030240034020032802002207450d02200341046a280200210f02400240024002400240200341086a2802002210450d00200841b0016a200841046a2007200f20102003410c6a28020010968a80800020082d00b00122074104460d01200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000c030b200841b0016a200841046a2007200f10998a80800020082d00b00122074104470d010b20082802b4012103200041013a0000200020033602040240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10948a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b200828026022030d0241002103410021040c040b200520062f00003b000020012004290200370200200541026a200641026a2d00003a0000200141086a200441086a290200370200200141106a200441106a290200370200200141186a200441186a290200370200200141206a200441206a2802003602000b200820082802b401220f36028801200820073a008401024020074103460d0002400240024020070e020103000b20082802a80122072007280200220f417f6a360200200d2107200f4101460d010c020b200f200f2802002210417f6a360200200e210720104101470d010b200710f0978080000b200341106a2203200c470d010c030b0b2008200828026422043602cc01200820033602c801200841003602c401200820043602bc01200820033602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c9898080000c010b0240200b450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200841046a10948a808000200a10a88f80800002402008280214450d00200828021822032003417e6a2f00006b41002802ec82d48000118180808000000b02402008280220450d00200828022422032003417e6a2f00006b41002802ec82d48000118180808000000b4100210341002104024020082802602201450d002008200828026422033602cc01200820013602c801200841003602c401200820033602bc01200820013602b801200841003602b40141012103200828026821040b200820043602d001200820033602c001200820033602b001200841b0016a10c989808000200041003a0000200041196a200241186a290000370000200041116a200241106a290000370000200041096a200241086a290000370000200020022900003700010b200841e0016a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a41b0c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a109889808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010978a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910988a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a4188c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a10a189808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010978a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910988a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a41b0c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a109f89808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010968a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910998a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a41b0c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a109c89808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010968a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910998a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a4188c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a109b89808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010978a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910988a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a4188c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a10a089808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010968a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910998a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a4188c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a109989808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010968a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910998a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10948a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bba0d01067f2380808080004190026b220a248080808000200a41106a41186a200441186a220b290000370300200a41106a41106a200441106a220c290000370300200a41106a41086a200441086a220d290000370300200a2004290000370310200a200236020c200a2001360208200a2003360204200a41f9006a200b290000370000200a41f1006a200c290000370000200a41e9006a200d290000370000200a41b0c0c8800036028801200a410036025c200a4204370254200a420037024c200a4280808080c000370244200a20093602a001200a200836029c01200a410036029801200a410036029001200a41013a0060200a2004290000370061200a200a41106a36028c01200a200a41046a36028401200a41013a00a401200a2007360240200a4100360238200a200636023c200a2006410047360234200a41e0016a41206a200541206a280200360200200a41e0016a41186a200541186a290200370300200a41e0016a41106a200541106a290200370300200a41e0016a41086a200541086a290200370300200a20052902003703e001200a41a8016a200a41e0016a41c8bfc8800010c38f808000200a2802b0012104200a2802ac01210b200a200a418f026a3602e001200a41346a41106a210c024002400240024020044102490d00024020044115490d00200b2004200a41e0016a10a289808000200a2802a801210d0c020b200b200410fc8f808000200a2802a801210d0c010b200a2802a801210d2004450d010b200b20044104746a2107200a41d8016a210e200a41e0016a41086a2105200a41e0016a4101722101200a41b4016a41086a2106200a41b4016a41046a210f200a41b4016a4101722103200b21040240034020042802002202450d02200441046a280200210902400240024002400240200441086a2802002208450d00200a41e0016a200a41346a2002200920082004410c6a28020010978a808000200a2d00e00122024104460d01200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000c030b200a41e0016a200a41346a2002200910988a808000200a2d00e00122024104470d010b200a2802e4012104200041013a0000200020043602040240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b200a2802900122040d0241002104410021050c040b200320012f00003b000020062005290200370200200341026a200141026a2d00003a0000200641086a200541086a290200370200200641106a200541106a290200370200200641186a200541186a290200370200200641206a200541206a2802003602000b200a200a2802e40122093602b801200a20023a00b401024020024103460d0002400240024020020e020103000b200a2802d801220220022802002209417f6a360200200e210220094101460d010c020b200920092802002208417f6a360200200f210220084101470d010b200210f0978080000b200441106a22042007470d010c030b0b200a200a2802940122053602fc01200a20043602f801200a41003602f401200a20053602ec01200a20043602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c9898080000c010b0240200d450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200a41346a10958a808000200c10a88f8080000240200a280244450d00200a28024822042004417e6a2f00006b41002802ec82d48000118180808000000b0240200a280250450d00200a28025422042004417e6a2f00006b41002802ec82d48000118180808000000b41002104410021050240200a280290012206450d00200a200a2802940122043602fc01200a20063602f801200a41003602f401200a20043602ec01200a20063602e801200a41003602e40141012104200a2802980121050b200a200536028002200a20043602f001200a20043602e001200a41e0016a10c989808000200041196a200a41286a290300370000200041116a200a41206a290300370000200041096a200a41186a2903003700002000200a290310370001200041003a00000b200a4190026a2480808080000bf30502017f017e2380808080004190016b220b248080808000200b2002360210200b200136020c200b2003360208200b2004360248200b41d8c0c88000360244200b200836023c200b200736023841002102200b4100360234200b2007410047360230200b200a36022c200b2009360228200b4100360224200b2009410047360220200b200b41086a3602404100210102402009450d00200b41286a2101200b417f3602240b02402007450d00200b41386a2102200b417f3602340b410021070240024020010d00410021030c010b20012802042109200128020021030b0240024020020d000c010b20022802042108200228020021070b200b41cc006a41106a200441086a290000370200200b41cc006a41186a200441106a290000370200200b41ec006a200441186a290000370200200b41d8c0c88000360250200b200836028001200b200736027c200b2009360278200b2003360274200b2004290000370254200b200b41086a36024c200b410036028c01200b200636028801200b200536028401200b41146a200b41cc006a20052006200b4184016a10b08d80800002402002450d00200b200b28023441016a3602340b02402001450d00200b200b28022441016a3602240b0240024002400240200b28021422044180808080786a0e020200010b2000200b290214370200200041086a200b41146a41086a2802003602000c020b0240024002400240200b290218220c4200590d004100210b0c010b200c422088a72102200b28021821070240200c4280808080105a0d0041012101410021090c030b41002d008083d480001a200241002802f482d480001182808080000022010d014101210b0b200b200241f0c1c8800010b980808000000b2001417e6a41003b0000200221090b2001200ca7200210f497808000210202402004450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200c4280808080f0ffffffff00832002ad84210c200921040b2000200c370204200020043602000b200b4190016a2480808080000bf30502017f017e2380808080004190016b220b248080808000200b2002360210200b200136020c200b2003360208200b2004360248200b41ecc0c88000360244200b200836023c200b200736023841002102200b4100360234200b2007410047360230200b200a36022c200b2009360228200b4100360224200b2009410047360220200b200b41086a3602404100210102402009450d00200b41286a2101200b417f3602240b02402007450d00200b41386a2102200b417f3602340b410021070240024020010d00410021030c010b20012802042109200128020021030b0240024020020d000c010b20022802042108200228020021070b200b41cc006a41106a200441086a290000370200200b41cc006a41186a200441106a290000370200200b41ec006a200441186a290000370200200b41ecc0c88000360250200b200836028001200b200736027c200b2009360278200b2003360274200b2004290000370254200b200b41086a36024c200b410036028c01200b200636028801200b200536028401200b41146a200b41cc006a20052006200b4184016a10b08d80800002402002450d00200b200b28023441016a3602340b02402001450d00200b200b28022441016a3602240b0240024002400240200b28021422044180808080786a0e020200010b2000200b290214370200200041086a200b41146a41086a2802003602000c020b0240024002400240200b290218220c4200590d004100210b0c010b200c422088a72102200b28021821070240200c4280808080105a0d0041012101410021090c030b41002d008083d480001a200241002802f482d480001182808080000022010d014101210b0b200b200241f0c1c8800010b980808000000b2001417e6a41003b0000200221090b2001200ca7200210f497808000210202402004450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200c4280808080f0ffffffff00832002ad84210c200921040b2000200c370204200020043602000b200b4190016a2480808080000bc80301067f23808080800041206b22042480808080004100210502400240024020032802042206200128020822076a22084100480d002003280200210520012802042109024020080d00410121030c030b41002d008083d480001a200841002802f482d480001182808080000022030d01410121050b2005200841e0cccd800010b980808000000b2003417e6a41003b000020034100200810fa978080001a0b02400240200720084b0d0020032009200710f497808000220320076a2005200610f4978080001a02400240024020022001280200220141246a412010f597808000450d00200441146a20012002200441086a109d888080002004280214418180808078470d0120004180808080783602000c020b41002d008083d480001a410141002802f482d48000118280808000002201450d03200141003a00002000410136020820002001360204200041013602002001417e6a41003b00000c010b20002004290214370200200041086a200441146a41086a2802003602000b02402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000f0b2007200841f0cccd8000109181808000000b4101410110ab80808000000bc80301067f23808080800041206b22042480808080004100210502400240024020032802042206200128020822076a22084100480d002003280200210520012802042109024020080d00410121030c030b41002d008083d480001a200841002802f482d480001182808080000022030d01410121050b2005200841e0cccd800010b980808000000b2003417e6a41003b000020034100200810fa978080001a0b02400240200720084b0d0020032009200710f497808000220320076a2005200610f4978080001a02400240024020022001280200220141246a412010f597808000450d00200441146a20012002200441086a109e888080002004280214418180808078470d0120004180808080783602000c020b41002d008083d480001a410141002802f482d48000118280808000002201450d03200141003a00002000410136020820002001360204200041013602002001417e6a41003b00000c010b20002004290214370200200041086a200441146a41086a2802003602000b02402008450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200441206a2480808080000f0b2007200841f0cccd8000109181808000000b4101410110ab80808000000bc20201077f23808080800041106b22042480808080004100210502400240024020032802042206200128020c22076a22084100480d00200328020021092001280208210a024020080d00410121050c030b41002d008083d480001a200841002802f482d480001182808080000022050d01410121050b2005200841e0cccd800010b980808000000b2005417e6a41003b000020054100200810fa978080001a0b0240200720084b0d002005200a200710f497808000220520076a2009200610f4978080001a2001280200210720012802042101200420032f01083b010c2004200836020820042005360204200020072002200441046a200128020c1183808080000002402008450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200441106a2480808080000f0b2007200841f0cccd8000109181808000000bc40201077f23808080800041106b22032480808080004100210402400240024020022802042205200028020c22066a22074100480d002002280200210820002802082109024020070d00410121040c030b41002d008083d480001a200741002802f482d480001182808080000022040d01410121040b2004200741e0cccd800010b980808000000b2004417e6a41003b000020044100200710fa978080001a0b0240200620074b0d0020042009200610f497808000220420066a2008200510f4978080001a2000280200210620002802042100200320022f01083b010c200320073602082003200436020420062001200341046a200028021011808080800000210002402007450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341106a24808080800020000f0b2006200741f0cccd8000109181808000000bde0301067f23808080800041206b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210420002802042108024020070d00410121020c030b41002d008083d480001a200741002802f482d480001182808080000022020d01410121040b2004200741e0cccd800010b980808000000b2002417e6a41003b000020024100200710fa978080001a0b02400240200620074b0d0020022008200610f497808000220220066a2004200510f4978080001a0240024002400240024020012000280200220041246a412010f597808000450d00200341146a20002001200341086a109d8880800020032802142200418180808078470d01410021000c040b4100210641002d008083d480001a410141002802f482d48000118280808000002200450d05200041003a00002000417e6a41003b00000c010b02402000418080808078470d00410021000c030b2000450d0120032802182200417e6a2f000021060b200020066b41002802ec82d48000118180808000000b410121000b02402007450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200341206a24808080800020000f0b2006200741f0cccd8000109181808000000b4101410110ab80808000000bde0301067f23808080800041206b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210420002802042108024020070d00410121020c030b41002d008083d480001a200741002802f482d480001182808080000022020d01410121040b2004200741e0cccd800010b980808000000b2002417e6a41003b000020024100200710fa978080001a0b02400240200620074b0d0020022008200610f497808000220220066a2004200510f4978080001a0240024002400240024020012000280200220041246a412010f597808000450d00200341146a20002001200341086a109e8880800020032802142200418180808078470d01410021000c040b4100210641002d008083d480001a410141002802f482d48000118280808000002200450d05200041003a00002000417e6a41003b00000c010b02402000418080808078470d00410021000c030b2000450d0120032802182200417e6a2f000021060b200020066b41002802ec82d48000118180808000000b410121000b02402007450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200341206a24808080800020000f0b2006200741f0cccd8000109181808000000b4101410110ab80808000000bbe0301077f23808080800041306b22042480808080004100210502400240024020032802042206200128020822076a22084100480d00200328020021092001280204210a024020080d00410121050c030b41002d008083d480001a200841002802f482d480001182808080000022050d01410121050b2005200841e0cccd800010b980808000000b2005417e6a41003b000020054100200810fa978080001a0b0240200720084b0d002005200a200710f497808000220520076a2009200610f4978080001a200420083602102004200536020c200420032f01083b0114200441186a2001280200220128020420022004410c6a109688808000024002402004280218418080808078460d0020002004290218370200200041086a200441186a41086a2802003602000c010b200441246a200128020020022004410c6a109d8880800002402004280224418180808078470d0020004180808080783602000c010b20002004290224370200200041086a200441246a41086a2802003602000b02402008450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200441306a2480808080000f0b2007200841f0cccd8000109181808000000bbe0301077f23808080800041306b22042480808080004100210502400240024020032802042206200128020822076a22084100480d00200328020021092001280204210a024020080d00410121050c030b41002d008083d480001a200841002802f482d480001182808080000022050d01410121050b2005200841e0cccd800010b980808000000b2005417e6a41003b000020054100200810fa978080001a0b0240200720084b0d002005200a200710f497808000220520076a2009200610f4978080001a200420083602102004200536020c200420032f01083b0114200441186a2001280200220128020420022004410c6a109688808000024002402004280218418080808078460d0020002004290218370200200041086a200441186a41086a2802003602000c010b200441246a200128020020022004410c6a109e8880800002402004280224418180808078470d0020004180808080783602000c010b20002004290224370200200041086a200441246a41086a2802003602000b02402008450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200441306a2480808080000f0b2007200841f0cccd8000109181808000000bba0201077f23808080800041106b22052480808080004100210602400240024020022802042207200128020822086a22094100480d002002280200210a2001280204210b024020090d00410121060c030b41002d008083d480001a200941002802f482d480001182808080000022060d01410121060b2006200941e0cccd800010b980808000000b2006417e6a41003b000020064100200910fa978080001a0b0240200820094b0d002006200b200810f497808000220620086a200a200710f4978080001a20012802002101200520022f01083b010c200520093602082005200636020420002001280204200541046a2003200410988880800002402009450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200541106a2480808080000f0b2008200941f0cccd8000109181808000000bdc0302077f017e23808080800041e0006b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210820002802042109024020070d00410121040c030b41002d008083d480001a200741002802f482d480001182808080000022040d01410121040b2004200741e0cccd800010b980808000000b2004417e6a41003b000020044100200710fa978080001a0b0240200620074b0d0020042009200610f497808000220420066a2008200510f4978080001a20002802002100200320022f01083b01102003200736020c20032004360208024020012000280204220041206a412010f597808000450d00200341146a2001200341086a109588808000200341206a2000200341146a10a288808000024020032802204101470d002003290328210a200341c8006a200341386a280200360200200320032903303703402003428080808070370254200342808080801037024c200328023c2200200a200341c0006a200041106a109a888080000c010b2003280230417c6a22002000280200417f6a3602000b02402007450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341e0006a2480808080000f0b2006200741f0cccd8000109181808000000bb80201077f23808080800041106b22042480808080004100210502400240024020022802042206200028020822076a22084100480d00200228020021092000280204210a024020080d00410121050c030b41002d008083d480001a200841002802f482d480001182808080000022050d01410121050b2005200841e0cccd800010b980808000000b2005417e6a41003b000020054100200810fa978080001a0b0240200720084b0d002005200a200710f497808000220520076a2009200610f4978080001a20002802002100200420022f01083b010c200420083602082004200536020420002802042001200441046a200310998880800002402008450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200441106a2480808080000f0b2007200841f0cccd8000109181808000000bc70301077f23808080800041306b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210820002802042109024020070d00410121040c030b41002d008083d480001a200741002802f482d480001182808080000022040d01410121040b2004200741e0cccd800010b980808000000b2004417e6a41003b000020044100200710fa978080001a0b0240200620074b0d0020042009200610f497808000220420066a2008200510f4978080001a200320073602102003200436020c200320022f01083b0114200341186a2000280200220228020420012003410c6a10968880800002400240024020032802182200418080808078460d00200328021c21060c010b200341246a200228020020012003410c6a109e88808000024020032802242200418180808078470d00410021020c020b410021022000418080808078460d01200328022821060b410121022000450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b02402007450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341306a24808080800020020f0b2006200741f0cccd8000109181808000000bc70301077f23808080800041306b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210820002802042109024020070d00410121040c030b41002d008083d480001a200741002802f482d480001182808080000022040d01410121040b2004200741e0cccd800010b980808000000b2004417e6a41003b000020044100200710fa978080001a0b0240200620074b0d0020042009200610f497808000220420066a2008200510f4978080001a200320073602102003200436020c200320022f01083b0114200341186a2000280200220228020420012003410c6a10968880800002400240024020032802182200418080808078460d00200328021c21060c010b200341246a200228020020012003410c6a109d88808000024020032802242200418180808078470d00410021020c020b410021022000418080808078460d01200328022821060b410121022000450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b02402007450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341306a24808080800020020f0b2006200741f0cccd8000109181808000000b1400200041b0c0c88000360204200020013602000b140020004188c0c88000360204200020013602000b140020004188c0c88000360204200020013602000b1400200041b0c0c88000360204200020013602000b840602087e0a7f200020013502102202421a8820013502147c220342198820013502187c2204421a88200135021c7c220542198820013502207c2206421a8820013502247c220742198842137e2001350200220842ffffff1f837c2209a741ffffff1f71220a41136a411a762009421a882008421a8820013502047c220842ffffff0f837ca7220b6a411976200842198820013502087c2208a741ffffff1f71220c6a411a762008421a88200135020c7c2208a741ffffff0f71220d6a4119762008421988200242ffffff1f837c2202a741ffffff1f71220e6a411a762002421a88200342ffffff0f837ca7220f6a4119762004a741ffffff1f7122106a411a762005a741ffffff0f7122116a4119762006a741ffffff1f7122126a411a762007a741ffffff0f7122136a41197641136c200a6a22013a0000200020014110763a0002200020014108763a000120002001411a76200b6a220a410e763a00052000200a4106763a00042000200a4102742001411876410371723a00032000200a411976200c6a2201410d763a0008200020014105763a000720002001410374200a418080800e71411676723a000620002001411a76200d6a220a410b763a000b2000200a4103763a000a2000200a4105742001411576411f71723a00092000200a411976200e6a22014112763a000f20002001410a763a000e200020014102763a000d20002001411a76200f6a220b3a001020002001410674200a411376413f71723a000c2000200b4110763a00122000200b4108763a00112000200b41197620106a2201410f763a0015200020014107763a001420002001410174200b411876410171723a001320002001411a7620116a220a410d763a00182000200a4105763a00172000200a4103742001411776410771723a00162000200a41197620126a2201410c763a001b200020014104763a001a20002001410474200a411576410f71723a001920002001411a7620136a220a410a763a001e2000200a4102763a001d2000200a418080f00f714112763a001f2000200a4106742001411476413f71723a001c0be72304017f067e0f7f027e2380808080004190086b2203248080808000200341c0076a200210ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602b007200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602a007200320032903f8072006421a887c2206a741ffffff0f713602b407200320032903d8072009421a887c2209a741ffffff0f713602a407200320064219882003290380087c2206a741ffffff1f713602b80720032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02ac0720032004a741ffffff1f713602a80720032006421a882003290388087c2204a741ffffff0f713602bc072003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e029c0720032004a741ffffff1f7136029807200320034198076a200210ad90808000200341c0076a200310ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602b007200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602a007200320032903f8072006421a887c2206a741ffffff0f713602b407200320032903d8072009421a887c2209a741ffffff0f713602a407200320064219882003290380087c2206a741ffffff1f713602b80720032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02ac0720032004a741ffffff1f713602a80720032006421a882003290388087c2204a741ffffff0f713602bc072003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e029c0720032004a741ffffff1f7136029807200341286a20034198076a200210ad90808000200341f8006a2001200310ad90808000200341a0016a2001200341286a10ad90808000200341c0076a200341a0016a10ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602e001200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602d001200320032903f8072006421a887c2206a741ffffff0f713602e401200320032903d8072009421a887c2209a741ffffff0f713602d401200320064219882003290380087c2206a741ffffff1f713602e80120032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02dc0120032004a741ffffff1f713602d80120032006421a882003290388087c2204a741ffffff0f713602ec012003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e02cc0120032004a741ffffff1f713602c801200341c0076a200341c8016a10ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602b007200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602a007200320032903f8072006421a887c2206a741ffffff0f713602b407200320032903d8072009421a887c2209a741ffffff0f713602a407200320064219882003290380087c2206a741ffffff1f713602b80720032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02ac0720032004a741ffffff1f713602a80720032006421a882003290388087c2204a741ffffff0f713602bc072003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e029c0720032004a741ffffff1f7136029807200341c0076a20034198076a10ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f7136028802200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602f801200320032903f8072006421a887c2206a741ffffff0f7136028c02200320032903d8072009421a887c2209a741ffffff0f713602fc01200320064219882003290380087c2206a741ffffff1f713602900220032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02840220032004a741ffffff1f713602800220032006421a882003290388087c2204a741ffffff0f71360294022003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e02f40120032004a741ffffff1f713602f00120034198026a200341a0016a200341f0016a10ad90808000200341c0026a200341c8016a20034198026a10ad90808000200341c0076a200341c0026a10ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f7136028003200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602f002200320032903f8072006421a887c2206a741ffffff0f7136028403200320032903d8072009421a887c2209a741ffffff0f713602f402200320064219882003290380087c2206a741ffffff1f713602880320032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02fc0220032004a741ffffff1f713602f80220032006421a882003290388087c2204a741ffffff0f7136028c032003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e02ec0220032004a741ffffff1f713602e80220034190036a20034198026a200341e8026a10ad90808000200341b8036a20034190036a410510ae90808000200341e0036a200341b8036a20034190036a10ad9080800020034188046a200341e0036a410a10ae90808000200341b0046a20034188046a200341e0036a10ad90808000200341d8046a200341b0046a411410ae9080800020034180056a200341d8046a200341b0046a10ad90808000200341a8056a20034180056a410a10ae90808000200341d0056a200341a8056a200341e0036a10ad90808000200341f8056a200341d0056a413210ae90808000200341a0066a200341f8056a200341d0056a10ad90808000200341c8066a200341a0066a41e40010ae90808000200341f0066a200341c8066a200341a0066a10ad9080800020034198076a200341f0066a413210ae90808000200341c0076a20034198076a200341d0056a10ad9080800020034198076a41206a200341c0076a41206a29020037030020034198076a41186a200341c0076a41186a29020037030020034198076a41106a200341c0076a41106a29020037030020034198076a41086a200341c0076a41086a290200370300200320032902c00737039807200341c0076a20034198076a410210ae90808000200341f0066a200341a0016a200341c0076a10ad90808000200341d0006a200341f8006a200341f0066a10ad90808000200341c0076a200341d0006a10ac90808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602b007200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602a007200320032903f8072006421a887c2206a741ffffff0f713602b407200320032903d8072009421a887c2209a741ffffff0f713602a407200320064219882003290380087c2206a741ffffff1f713602b80720032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02ac0720032004a741ffffff1f713602a80720032006421a882003290388087c2204a741ffffff0f713602bc072003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e029c0720032004a741ffffff1f7136029807200341f0066a200220034198076a10ad9080800020034198076a200341f0066a10aa90808000200341c0076a200110aa90808000410021024101210a034020034198076a20026a2d0000200341c0076a20026a2d00004610d697808000200a71210a200241016a22024120470d000b200a10d697808000210b200341f0ffffff0320012802106bad2204421a8841f0ffffff0120012802146bad7c220542198841f0ffffff0320012802186bad7c2206a741ffffff1f71220c3602d807200341d0fdffff0320012802006bad2207421a8841f0ffffff0120012802046bad7c220842198841f0ffffff0320012802086bad7c2209a741ffffff1f71220d3602c80720032006421a8841f0ffffff01200128021c6bad7c2206a741ffffff0f71220e3602dc0720032009421a8841f0ffffff01200128020c6bad7c2209a741ffffff0f71220f3602cc072003200642198841f0ffffff0320012802206bad7c2206a741ffffff1f7122103602e00720032009421988200442ffffff1f837c2204a741ffffff1f7122113602d00720032004421a88200542ffffff0f837ca722123602d40720032006421a8841f0ffffff0120012802246bad7c2204a741ffffff0f7122013602e4072003200442198842137e200742ffffff1f837c2204a741ffffff1f7122133602c00720032004421a88200842ffffff0f837ca722143602c407200341c8066a200341f0066a10aa9080800020034198076a200341c0076a10aa90808000410021024101210a0340200341c8066a20026a2d000020034198076a20026a2d00004610d697808000200a71210a200241016a22024120470d000b200a10d6978080002115200320013602e407200320103602e0072003200e3602dc072003200c3602d807200320123602d407200320113602d0072003200f3602cc072003200d3602c807200320143602c407200320133602c00720034198076a200341c0076a41c0c2c8800010ad90808000200341a0066a200341f0066a10aa90808000200341c8066a20034198076a10aa90808000410021024101210a0340200341a0066a20026a2d0000200341c8066a20026a2d00004610d697808000200a71210a200241016a22024120470d000b200a10d6978080002102200341c0076a41c0c2c88000200341d0006a10ad90808000200220157210d6978080002102200341d8006a220a20032802c807200a2802002201734100200241ff01716b2202712001732201360200200341e0006a220c20032802d007200c280200220d73200271200d73220d360200200341e8006a220e20032802d807200e280200220f73200271200f73220f360200200320032802cc07200328025c221073200271201073221036025c200320032802c40720032802542211732002712011732211360254200320032802c00720032802502212732002712012732212360250200320032802d40720032802642213732002712013732213360264200320032802dc07200328026c221473200271201473221436026c200341f0006a221620032802e00720162802002217732002712017732217360200200320032802e4072003280274221873200271201873221836027420034198076a200341d0006a10aa90808000201641f0ffffff03200d6bad2204421a8841f0ffffff0120136bad7c220542198841f0ffffff03200f6bad7c2206421a8841f0ffffff0120146bad7c220742198841f0ffffff0320176bad7c2208a741ffffff1f71201773410020032d00980741017110d69780800041ff01716b220271201773360200200e2006a741ffffff1f71200f73200271200f73360200200c200442ffffff1f8341d0fdffff0320126bad2204421a8841f0ffffff0120116bad7c220642198841f0ffffff0320016bad7c2209421a8841f0ffffff0120106bad7c22194219887c221aa741ffffff1f71200d73200271200d73360200200a2009a741ffffff1f7120017320027120017336020020032008421a8841f0ffffff0120186bad7c2208a741ffffff0f7120187320027120187336027420032007a741ffffff0f7120147320027120147336026c20032013200542ffffff0f83201a421a887ca77320027120137336026420032019a741ffffff0f7120107320027120107336025c2003200842198842137e200442ffffff1f837c2204a741ffffff1f71201273200271201273360250200320112004421a88200642ffffff0f837ca77320027120117336025420002015200b7210d6978080003a0000200020032902503702042000410c6a200a290200370200200041146a200c2902003702002000411c6a200e290200370200200041246a201629020037020020034190086a2480808080000bcd0412017f017e017f017e017f017e017f017e017f017e017f017e017f017e017f017e017f0c7e2000200128020c2202ad220320012802002204410174ad22057e20012802042206410174ad220720012802082208ad22097e7c2001280220220a41136cad220b2001280214220c410174ad220d7e7c2001280224220e41136cad220f20012802102210ad22117e200128021c221241136cad221320012802182201ad22147e7c4201867c3703182000200141136cad2215200d7e20052006ad22167e7c200b2002410174ad22177e7c200f20097e201320117e7c4201867c3703082000201420177e2010410174ad2218200cad22197e7c2012ad221a2008410174ad221b7e7c200aad221c20077e7c200ead221d20057e7c37034820002019201b7e201720117e7c201420077e7c201a20057e7c201c200f7e4201867c3703382000201120077e201b20037e7c201920057e7c200b2012410174ad221e7e7c2014200f7e4201867c3703282000201720077e200920097e7c201120057e7c200b2001410174ad7e7c200f200d7e2013201a7e7c4201867c3703202000200920057e200720167e7c201520147e7c200b20187e7c200f20177e2013200d7e7c4201867c3703102000201520187e2004ad220920097e7c200b201b7e7c201320177e200c41136cad20197e7c200f20077e7c4201867c37030020002014201b7e201120117e7c200d20177e7c201e20077e7c201c20057e7c201d200f7e4201867c3703402000201720037e2011201b7e7c200d20077e7c201420057e7c200b201c7e7c201e200f7e4201867c3703300bc7081a017f017e017f017e017f017e017f017e017f017e017f017e017f017e017f027e017f017e017f017e017f027e017f027e017f147e2000200128020c2203410174ad2204200228020c2205ad22067e20012802042207410174ad220820022802142209ad220a7e7c2001280214220b410174ad220c2002280204220dad220e7e7c200128021c220f410174ad22102002280224221141136cad22127e7c2001350200221320022802182214ad22157e7c20012802242216410174ad2217200228021c221841136cad22197e7c2001350208221a2002280210221bad221c7e7c2001350210221d2002280208221ead221f7e7c20013502182220200235020022217e7c200135022022222002280220220241136cad22237e7c2003ad2224201f7e2007ad2225201c7e7c200fad222620237e7c2016ad2227201441136cad22287e7c2013200a7e7c2021200bad22297e7c201a20067e7c201d200e7e7c202020127e7c202220197e7c2004200e7e200820067e7c200c20127e7c201020197e7c2013201c7e7c2017200941136cad222a7e7c201a201f7e7c201d20217e7c202020237e7c202220287e7c222b421a887c222c4219887c222da741ffffff1f713602182000200420127e2008200e7e7c200c20197e7c2010202a7e7c2013201f7e7c2017200541136cad222e7e7c201a20217e7c201d20237e7c202020287e7c2022201b41136cad222f7e7c202920287e202420237e7c2026202f7e7c2027201e41136cad22307e7c2013200e7e7c202120257e7c201a20127e7c201d20197e7c2020202a7e7c2022202e7e7c200420197e200820127e7c200c202a7e7c2010202e7e7c2017200d41136cad7e7c202120137e7c201a20237e7c201d20287e7c2020202f7e7c202220307e7c2230421a887c22314219887c2232a741ffffff1f7136020820002024201c7e202520157e7c2029201f7e7c202720237e7c20132018ad222e7e7c202120267e7c201a200a7e7c201d20067e7c2020200e7e7c202220127e7c202d421a887c222da741ffffff0f7136021c2000202920237e2025201f7e7c202620287e7c2027202f7e7c201320067e7c202120247e7c201a200e7e7c201d20127e7c202020197e7c2022202a7e7c2032421a887c2223a741ffffff0f7136020c20002004200a7e2008202e7e7c200c20067e7c2010200e7e7c20132002ad22197e7c201720127e7c201a20157e7c201d201c7e7c2020201f7e7c202220217e7c202d4219887c2212a741ffffff1f7136022020002023421988202b42ffffff1f837c2223421a88202c42ffffff0f837c3e021420002023a741ffffff1f713602102000202420157e202520197e7c2029201c7e7c2026201f7e7c20132011ad7e7c202120277e7c201a202e7e7c201d200a7e7c202020067e7c2022200e7e7c2012421a887c2213a741ffffff0f713602242000201342198842137e203042ffffff1f837c2213421a88203142ffffff0f837c3e020420002013a741ffffff1f713602000be20502017f067e2380808080004180016b2203248080808000200341306a200110ac9080800020032003290360200329035820032903502204421a887c22054219887c2206a741ffffff1f7136022020032003290340200329033820032903302207421a887c22084219887c2209a741ffffff1f71360210200320032903682006421a887c2206a741ffffff0f71360224200320032903482009421a887c2209a741ffffff0f713602142003200642198820032903707c2206a741ffffff1f7136022820032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e021c20032004a741ffffff1f7136021820032006421a8820032903787c2204a741ffffff0f7136022c2003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e020c20032004a741ffffff1f71360208024020024102490d002002417f6a21020340200341306a200341086a10ac9080800020032003290360200329035820032903502204421a887c22054219887c2206a741ffffff1f7136022020032003290340200329033820032903302207421a887c22084219887c2209a741ffffff1f71360210200320032903682006421a887c2206a741ffffff0f71360224200320032903482009421a887c2209a741ffffff0f713602142003200642198820032903707c2206a741ffffff1f7136022820032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e021c20032004a741ffffff1f7136021820032006421a8820032903787c2204a741ffffff0f7136022c2003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e020c20032004a741ffffff1f713602082002417f6a22020d000b0b20002003290208370200200041206a200341086a41206a290200370200200041186a200341086a41186a290200370200200041106a200341086a41106a290200370200200041086a200341086a41086a29020037020020034180016a2480808080000be103020e7f067e20022802242103200128022421042002280220210520012802202106200228020c2107200128020c2108200228021c2109200128021c210a2002280208210b2001280208210c2002280204210d2001280204210e2002280200210f200128020021102000200128021020022802106b41f0ffffff036aad2211421a88200128021420022802146b41f0ffffff016aad7c2212421988200128021820022802186b41f0ffffff036aad7c2213a741ffffff1f7136021820002010200f6b41d0fdffff036aad2214421a88200e200d6b41f0ffffff016aad7c2215421988200c200b6b41f0ffffff036aad7c2216a741ffffff1f7136020820002013421a88200a20096b41f0ffffff016aad7c2213a741ffffff0f7136021c20002016421a88200820076b41f0ffffff016aad7c2216a741ffffff0f7136020c20002013421988200620056b41f0ffffff036aad7c2213a741ffffff1f7136022020002016421988201142ffffff1f837c2211421a88201242ffffff0f837c3e021420002011a741ffffff1f7136021020002013421a88200420036b41f0ffffff016aad7c2211a741ffffff0f713602242000201142198842137e201442ffffff1f837c2211421a88201542ffffff0f837c3e020420002011a741ffffff1f713602000beb0201067e200041f0ffffff0320012802106bad2202421a8841f0ffffff0120012802146bad7c220342198841f0ffffff0320012802186bad7c2204a741ffffff1f71360218200041d0fdffff0320012802006bad2205421a8841f0ffffff0120012802046bad7c220642198841f0ffffff0320012802086bad7c2207a741ffffff1f7136020820002004421a8841f0ffffff01200128021c6bad7c2204a741ffffff0f7136021c20002007421a8841f0ffffff01200128020c6bad7c2207a741ffffff0f7136020c2000200442198841f0ffffff0320012802206bad7c2204a741ffffff1f7136022020002007421988200242ffffff1f837c2202421a88200342ffffff0f837c3e021420002002a741ffffff1f7136021020002004421a8841f0ffffff0120012802246bad7c2202a741ffffff0f713602242000200242198842137e200542ffffff1f837c2202421a88200642ffffff0f837c3e020420002002a741ffffff1f713602000b950301077f2000200128022022023a001d2000200128020022033a0000200020024110763a001f200020024108763a001e2000200128021c22044115763a001c20002004410d763a001b200020044105763a001a2000200128021822024112763a001820002002410a763a0017200020024102763a0016200020012802142205410f763a0014200020054107763a00132000200128021022064114763a001120002006410c763a0010200020064104763a000f2000200128020c22074111763a000d200020074109763a000c200020074101763a000b200020012802082208410e763a0009200020084106763a00082000200128020422014113763a000620002001410b763a0005200020014103763a0004200020034110763a0002200020034108763a0001200020044103742002411a76723a0019200020024106742005411776723a0015200020054101742006411c76723a0012200020064104742007411976723a000e200020074107742008411676723a000a200020084102742001411b76723a0007200020014105742003411876723a00030bcd04010e7f23808080800041106b2203200128022020022802206b200128021c200228021c6b200128021820022802186b200128021420022802146b200128021020022802106b200128020c200228020c6b200128020820022802086b200128020020022802006b2204411f7520012802046a20022802046b2201411f756a2205411f756a2206411f756a2207411f756a2208411f756a2209411f756a220a411f756a220b411f75220236020c200328020c210c2003200236020c200328020c210d2003200236020c200328020c210e2003200236020c200328020c210f2003200236020c200328020c21102003200236020c200328020c1a2003200236020c200328020c1a2003200236020c200328020c1a2003200236020c200328020c21032000200c41eda7d7e70171200441ffffffff01716a2202411d76200141ffffffff01716a200d41d2b1cc04716a2201411d76200541ffffffff01716a200e4196eb9cef01716a2204411d76200641ffffffff01716a200f41c5faceef01716a2205411d76200741ffffffff01716a201041cd02716a2206411d76200841ffffffff01716a2207411d76200941ffffffff01716a2208411d76200a41ffffffff01716a220941ffffffff017136021c2000200841ffffffff01713602182000200741ffffffff01713602142000200641ffffffff01713602102000200541ffffffff017136020c2000200441ffffffff01713602082000200141ffffffff01713602042000200241ffffffff017136020020002009411d76200b6a2003418080c000716a41ffffffff01713602200b840c12027f017e017f037e017f017e017f047e017f017e017f017e017f017e017f047e017f147e23808080800041306b2203248080808000200320022802002204ad220520012802002206ad22077e2208429bfcd192017e42ffffffff0183220942d2b1cc047e2001280204220aad220b20057e2002280204220cad220d20077e7c220e7c200942eda7d7e7017e20087c421d887c220f429bfcd192017e42ffffffff01832210421486200228020c2211ad2212200b7e20012802082213ad221420022802082215ad22167e7c200128020c2217ad2218200d7e7c2002350210221920077e7c2001350210221a20057e7c221b7d2001280214221c20066aad221d20197e7c2002280214220620046aad221e201a7e7c200128021c220420136aad221f200228021c221320156aad22207e7c2002280220221520116aad222120012802182211200a6aad22227e7c2001280220220120176aad222320022802182202200c6aad22247e7c2015ad22252011ad22267e2004ad22272013ad22287e7c2001ad22292002ad222a7e7c222b7d201042cd027e20087d201820167e201220147e7c2019200b7e7c201a200d7e7c2006ad222c201cad222d7e7d222e7c201e201d7e7c201620077e200b200d7e7c201420057e7c222f20094296eb9cef017e7c201042d2b1cc047e7c201042eda7d7e7017e200f7c421d887c220f429bfcd192017e42ffffffff0183220842c5faceef017e7c2014200d7e2016200b7e7c201220077e7c201820057e7c2230200942c5faceef017e7c20104296eb9cef017e7c200842d2b1cc047e7c200842eda7d7e7017e200f7c421d887c2207429bfcd192017e42ffffffff018322054296eb9cef017e7c201042c5faceef017e200942cd027e7c201b7c20084296eb9cef017e7c200542d2b1cc047e7c200542eda7d7e7017e20077c421d887c2207429bfcd192017e42ffffffff0183221042d2b1cc047e7c201042eda7d7e7017e20077c421d887c220b429bfcd192017e42ffffffff0183220742cd027e7c2024201d7e200e7d2022201e7e7c201920147e201820127e7c201a20167e7c2026202c7e202a202d7e7c7d22147c200842cd027e7c200542c5faceef017e7c20104296eb9cef017e7c200742d2b1cc047e7c200742eda7d7e7017e200b7c421d887c220d429bfcd192017e42ffffffff0183220b42c5faceef017e7c202220247e202f7d2020201d7e7c201f201e7e7c201a20127e201920187e7c2028202d7e2026202a7e7c2027202c7e7c7d22127c200542cd027e7c201042c5faceef017e7c20074296eb9cef017e7c200b42d2b1cc047e7c200b42eda7d7e7017e200d7c421d887c2216429bfcd192017e42ffffffff0183220d4296eb9cef017e7c200942148620307d201a20197e7c202020227e7c201f20247e7c2021201d7e7c2023201e7e7c2027202a7e202820267e7c2025202d7e7c2029202c7e7c22187d201042cd027e7c200742c5faceef017e7c200b4296eb9cef017e7c200d42d2b1cc047e7c200d42eda7d7e7017e20167c421d887c2216429bfcd192017e42ffffffff0183220942d2b1cc047e7c200942eda7d7e7017e20167c421d887c2216a741ffffffff017136020c20032024201a7e202e7d202220197e7c20084214867c2021201f7e7c202320207e7c202920287e202520277e7c22087d200b42cd027e7c200d42c5faceef017e7c20094296eb9cef017e7c2016421d887c2216a741ffffffff017136021020032020201a7e201f20197e7c2014202920257e221d7c7d202320217e7c20054214867c200d42cd027e7c200942c5faceef017e7c2016421d887c2205a741ffffffff01713602142003202320197e2021201a7e7c20127d20104214867c200942cd027e7c2005421d887c2219a741ffffffff01713602182003200742148620187c2019421d887c2219a741ffffffff017136021c2003200b421486202b7c2019421d887c2219a741ffffffff01713602202003200d42148620087c2019421d887c2219a741ffffffff017136022420032009421486201d7c2019421d887c2219421d883e022c20032019a741ffffffff017136022820002003410c6a41e8c2c8800010b290808000200341306a2480808080000bd50301187f20012f0004210220012d0006210320012d0018210420012d0016210520012d0017210620012f0008210720012d0007210820012f000c210920012d000b210a20012d000a210b20012f0010210c20012d000f210d20012d000e210e20012d0014210f20012d0015211020012d0013211120012d0012211220012d001c211320012d0019211420012d001a211520012d001b211620012f0000211720012d0002211820012d00032119200020012f001d20012d001f41107472360220200020172018411074722019411874220141808080f80171723602002000201341157420154110742016411874722014410874221372410b767236021c2000200f2010410874221072410f7420114118742012411074220f724111767241ffffffff01713602142000200c200f72410c74200d411874200e411074220c724114767241ffffffff017136021020002009200c72410974200a411874200b4110742209724117767241ffffffff017136020c2000200720097241067420084118742207411a767241ffffffff0171360208200020132004724112742005411074200641187472201072410e767241ffffffff0171360218200020022003411074722007724103742001411d767241ffffffff01713602040bd50902107f027e23808080800041b0016b2202248080808000200241386a4200370300200241306a4200370300200241286a4200370300200241206a4200370300200241186a4200370300200241106a4200370300200241086a42003703002002420037030041002103410121040340200220036a22052005280200200120036a22052d000072200541016a2d000041087472200541026a2d000041107472200541036a2d000041187472360200200341046a210320044110492105200441016a210420050d000b200241c0006a41086a22032002280208220641067420022802042207411a767241ffffffff0171360200200241c0006a41106a220520022802102208410c74200228020c22094114767241ffffffff0171360200200241c0006a41186a22042002280218220a4112742002280214220b410e767241ffffffff0171360200200241c0006a41206a22012002280220220c411874200228021c220d4108767241ffffffff017136020020022002280200220e41ffffffff017136024020022007410374200e411d767241ffffffff01713602442002200941097420064117767241ffffffff017136024c2002200b410f7420084111767241ffffffff01713602542002200d411574200a410b767241ffffffff017136025c200241e8006a41206a2206200228023c220a410d76360200200241e8006a41086a220b2002280228220d41017420022802242207411f767241ffffffff0171360200200241e8006a41106a22082002280230220e410774200228022c220f4119767241ffffffff0171360200200241e8006a41186a220920022802382210410d74200228023422114113767241ffffffff01713602002002200741027641ffffffff017136026c20022007411b74200c4105767241ffffffff01713602682002200f410474200d411c767241ffffffff017136027420022011410a74200e4116767241ffffffff017136027c2002200a41107420104110767241ffffffff0171360284012002418c016a200241c0006a41b0c3c8800010b39080800020012002418c016a41206a220728020036020020042002418c016a41186a220a29020037030020052002418c016a41106a220c29020037030020032002418c016a41086a220d2902003703002002200229028c013703402002418c016a200241e8006a418cc3c8800010b390808000200620072802003602002009200a2902003703002008200c290200370300200b200d29020022123703002002200229028c012213370368200220022802402013a76a220741ffffffff017136028c012002200228026c2007411d766a20022802446a220741ffffffff01713602900120022012a72007411d766a20032802006a220341ffffffff017136029401200220022802742003411d766a200228024c6a220341ffffffff017136029801200220082802002003411d766a20052802006a220341ffffffff017136029c012002200228027c2003411d766a20022802546a220341ffffffff01713602a001200220092802002003411d766a20042802006a220341ffffffff01713602a40120022002280284012003411d766a200228025c6a220341ffffffff01713602a801200220062802002003411d766a20012802006a41ffffffff01713602ac0120002002418c016a41e8c2c8800010b290808000200241b0016a2480808080000b3a01017f23808080800041306b22022480808080002002410c6a200110b59080800020002002410c6a10b190808000200241306a2480808080000bfe0c0a017f027e017f017e017f017e017f027e017f157e23808080800041f0006b2202248080808000200241046a200110b49080800020022002350214220342ecf3b78a037e20022802082201ad220442e7e2e4b3017e20022802042205ad220642eecaf5ff017e7c200228020c2207ad2208428c93f0fb007e7c20022802102209ad220a4283e685d3017e7c200342edf3b78a017e7c220b7d2002280218220c20056aad220d42eecaf5ff017e7c200228021c220520016aad220e42e6e2a4b4017e7c2002280220220120076aad220f428b93f0fb027e7c20022802242207ad221042ffffffff017e22112001ad221242ffffffff017e22137c22142005ad221542ffff3f7e7c22167d200720096aad22174282e685d3037e7c200642ff037e42ffffffff0183221842d2b1cc047e200442edf3b78a017e20064283e685d3017e7c22197c201842eda7d7e7017e200642edf3b78a017e221a7c421d887c221b429bfcd192017e42ffffffff0183221c4214867c200842e7e2e4b3017e200442eecaf5ff017e7c200a428c93f0fb007e7c20034283e685d3017e7c200cad221d42ffffffff017e221e7d221f201a7d200d42ecf3b78a037e7c201c42cd027e7c20044283e685d3017e2006428c93f0fb007e7c200842edf3b78a017e7c222020184296eb9cef017e7c201c42d2b1cc047e7c201c42eda7d7e7017e201b7c421d887c221b429bfcd192017e42ffffffff0183221a42c5faceef017e7c2004428c93f0fb007e200642e7e2e4b3017e7c20084283e685d3017e7c200a42edf3b78a017e7c2221201842c5faceef017e7c201c4296eb9cef017e7c201a42d2b1cc047e7c201a42eda7d7e7017e201b7c421d887c2204429bfcd192017e42ffffffff018322064296eb9cef017e7c200b201842cd027e7c201c42c5faceef017e7c201a4296eb9cef017e7c200642d2b1cc047e7c200642eda7d7e7017e20047c421d887c2204429bfcd192017e42ffffffff0183221c42d2b1cc047e7c201c42eda7d7e7017e20047c421d887c220b429bfcd192017e42ffffffff0183220442cd027e7c200d4282e685d3037e20197d200e42ecf3b78a037e7c200a42e7e2e4b3017e200842eecaf5ff017e7c2003428c93f0fb007e7c201542ffffffff017e2215201e7c22197d221b7c201a42cd027e7c200642c5faceef017e7c201c4296eb9cef017e7c200442d2b1cc047e7c200442eda7d7e7017e200b7c421d887c220b429bfcd192017e42ffffffff0183220842c5faceef017e7c200d428b93f0fb027e20207d200e4282e685d3037e7c200f42ecf3b78a037e7c200342e7e2e4b3017e200a42eecaf5ff017e7c201320197c7d22137c200642cd027e7c201c42c5faceef017e7c20044296eb9cef017e7c200842d2b1cc047e7c200842eda7d7e7017e200b7c421d887c220b429bfcd192017e42ffffffff0183220a4296eb9cef017e7c201842148620217d200342eecaf5ff017e7c200d42e6e2a4b4017e7c200e428b93f0fb027e7c200f4282e685d3037e7c2014201d42ffff3f7e7c20157c220d7d201742ecf3b78a037e7c201c42cd027e7c200442c5faceef017e7c20084296eb9cef017e7c200a42d2b1cc047e7c200a42eda7d7e7017e200b7c421d887c220b429bfcd192017e42ffffffff0183221842d2b1cc047e7c201842eda7d7e7017e200b7c421d887c220ba741ffffffff017136024c200220034282e685d3037e201f7d200e42eecaf5ff017e7c200f42e6e2a4b4017e7c2011201242ffff3f7e7c220e7d2017428b93f0fb027e7c201a4214867c200842cd027e7c200a42c5faceef017e7c20184296eb9cef017e7c200b421d887c221aa741ffffffff017136025020022003428b93f0fb027e201b201042ffff3f7e220b7c7d200f42eecaf5ff017e7c201742e6e2a4b4017e7c20064214867c200a42cd027e7c201842c5faceef017e7c201a421d887c2206a741ffffffff01713602542002200342e6e2a4b4017e20137d201742eecaf5ff017e7c201c4214867c201842cd027e7c2006421d887c2203a741ffffffff017136025820022004421486200d7c2003421d887c2203a741ffffffff017136025c2002200842148620167c2003421d887c2203a741ffffffff01713602602002200a421486200e7c2003421d887c2203a741ffffffff017136026420022018421486200b7c2003421d887c2203421d883e026c20022003a741ffffffff0171360268200241286a200241cc006a41acc5c8800010b2908080002000200241286a10b190808000200241f0006a2480808080000bff0906047f027e017f027e027f017e23808080800041e0006b22032480808080000240024020024104470d00200341d8006a4200370300200341d0006a4200370300200341c8006a4200370300200341c0006a4200370300200341386a4200370300200341306a4200370300200341286a420037030020034200370320410021040340200341206a20046a220541016a20012d000022024104763a000020052002410f713a0000200541036a200141016a2d000022024104763a0000200541026a2002410f713a0000200141026a2101200441046a220441c000470d000b4100210120032d0020210502400340200341206a20016a22042005200541086a220241f001716b3a0000200441016a220520052d00002002411874411c756a22023a00002001413e460d0120052002200241086a220641f001716b3a0000200441026a220520052d00002006411874411c756a22053a0000200141026a21010c000b0b20002003290320370000200041386a200341206a41386a290300370000200041306a200341206a41306a290300370000200041286a200341206a41286a290300370000200041206a200341206a41206a290300370000200041186a200341206a41186a290300370000200041106a200341206a41106a290300370000200041086a200341206a41086a2903003700000c010b200341186a200141186a290000370300200341106a200141106a290000370300200341086a200141086a2900003703002003200129000037030042002107200341d8006a4200370300200341d0006a4200370300200341c8006a4200370300200341c0006a4200370300200341206a41186a4200370300200341206a41106a4200370300200341206a41086a42003703002003420037032002402002450d002002413f71ad2108200241ff016a20026e21090240024002400240200241807e4b0d0042012008862207427f7c210a2007420188210b41c00020026b210c4200210741002101410021064100210502400240024002400340200141067621040240024002402001413f71220d200c490d0020044103470d010b20014180024f0d05200320044103746a290300200dad88210e0c010b200141ff014b0d02200141c0014f0d03200320044103746a22042903082006413f71ad862004290300200dad8884210e0b0240200541c000460d00200341206a20056a200e200a8320077c22072007200b7c20088822072008867d3c0000200120026a2101200620026b2106200541016a22042105200420094f0d050c010b0b41c00041c000419cc5c88000108281808000000b2004410441ecc4c88000108281808000000b4104410441fcc4c88000108281808000000b20044104418cc5c88000108281808000000b20024108470d00200941c0004f0d010c030b2009417f6a220941c000490d01200941c00041dcc4c88000108281808000000b200941c00041ccc4c88000108281808000000b200720088621070b200341206a20096a220120012d00002007a76a3a000020002003290320370000200041086a200341206a41086a290300370000200041106a200341206a41106a290300370000200041186a200341206a41186a290300370000200041206a200341206a41206a290300370000200041286a200341206a41286a290300370000200041306a200341206a41306a290300370000200041386a200341206a41386a2903003700000c010b41bcc4c88000108e81808000000b200341e0006a2480808080000bc607011b7f23808080800041f0016b2203248080808000200128020021042001280228210520012802042106200128022c21072001280208210820012802302109200128020c210a2001280234210b2001280210210c2001280238210d2001280214210e200128023c210f2001280218211020012802402111200128021c211220012802442113200128022021142001280248211520032001280224200128024c6a3602242003201420156a3602202003201220136a36021c2003201020116a3602182003200e200f6a3602142003200c200d6a3602102003200a200b6a36020c2003200820096a3602082003200620076a3602042003200420056a360200200341286a200141286a200110af90808000200341d0006a2003200210ad90808000200341f8006a200341286a200241286a10ad90808000200341a0016a200141f8006a200241d0006a10ad908080002003200128025041017422023602c8012003200128025441017422043602cc012003200128025841017422053602d0012003200128025c41017422063602d4012003200128026041017422073602d8012003200128026441017422083602dc012003200128026841017422093602e0012003200128026c410174220a3602e40120032001280270410174220b3602e8012003200128027441017422013602ec012000200341d0006a200341f8006a10af908080002003280278210c2003280250210d200328027c210e2003280254210f2003280280012110200328025821112003280284012112200328025c2113200328028801211420032802602115200328028c01211620032802642117200328029001211820032802682119200328029401211a200328026c211b200328029801211c2003280270211d2000200328029c0120032802746a36024c2000201c201d6a3602482000201a201b6a3602442000201820196a3602402000201620176a36023c2000201420156a3602382000201220136a3602342000201020116a3602302000200e200f6a36022c2000200c200d6a36022820032802a001210c20032802a401210d20032802a801210e20032802ac01210f20032802b001211020032802b401211120032802b801211220032802bc01211320032802c0012114200020032802c40120016a36027420002014200b6a36027020002013200a6a36026c2000201220096a3602682000201120086a3602642000201020076a3602602000200f20066a36025c2000200e20056a3602582000200d20046a3602542000200c20026a360250200041f8006a200341c8016a200341a0016a10af90808000200341f0016a2480808080000bfe0c03017f047e097f23808080800041e0076b2203248080808000200341086a2002410410b890808000200341e8006a4200370300200341e0006a4200370300200341d8006a4200370300200341d0006a420037030041002102200341f8006a41002902d8c5c88000220437030020034180016a41002902e0c5c880002205370300200341c8006a41c0006a41002902e8c5c88000220637030020034190016a41002902f0c5c880002207370300200341a0016a2004370300200341a8016a2005370300200341b0016a2006370300200341b8016a200737030020034200370348200341002902d0c5c8800022043703702003200437039801200341e0016a4200370300200341d8016a4200370300200341d0016a4200370300200341c8016a4200370300200342003703c001200341a0056a41f8006a2108200341a0056a41d0006a2109200341a0056a41286a210a200341c0066a41d0006a210b200341c0066a41286a210c200341c0066a41f8006a210d200341c8006a41d0006a210e200341c8006a41286a210f02400240034002400240200241c000460d0020024101710d01200241016a21020c020b200341f0046a200f41206a290200370300200341a8046a41c0006a200f41186a290200370300200341e0046a200f41106a290200370300200341d8046a200f41086a29020037030020034180056a200e41086a29020037030020034188056a200e41106a29020037030020034190056a200e41186a29020037030020034198056a200e41206a2902003703002003200f2902003703d0042003200e2902003703f804200341a8046a41206a200341c8006a41206a290300370300200341a8046a41186a200341c8006a41186a290300370300200341a8046a41106a200341c8006a41106a290300370300200341a8046a41086a200341c8006a41086a290300370300200320032903483703a804200341a0056a200341a8046a10be9080800020034188036a200341a0056a41a00110f4978080001a200341c0066a20034188036a20034188036a41f8006a220210ad90808000200341c0066a41286a220b20034188036a41286a221020034188036a41d0006a220d10ad90808000200341c0066a41d0006a220c200d200210ad90808000200341a8046a200341c0066a41f80010f4978080001a200341a0056a200341a8046a10be9080800020034188036a200341a0056a41a00110f4978080001a200341c0066a20034188036a200210ad90808000200b2010200d10ad90808000200c200d200210ad90808000200341a8046a200341c0066a41f80010f4978080001a200341a0056a200341a8046a10be9080800020034188036a200341a0056a41a00110f4978080001a200341c0066a20034188036a200210ad90808000200b2010200d10ad90808000200c200d200210ad90808000200341a8046a200341c0066a41f80010f4978080001a200341c0066a200341a8046a10be90808000200341e8016a200341c0066a200341c0066a41f8006a220d10ad90808000200341e8016a41286a200b200c10ad90808000200341e8016a41d0006a200c200d10ad90808000200341e8016a41f8006a200341c0066a200b10ad90808000200341c8006a200341e8016a41a00110f4978080001a200341a0056a41f8006a2108200341a0056a41d0006a2109200341a0056a41286a210a41002102034002400240200241c000460d002002410171450d01200241016a21020c020b2000200341c8006a41a00110f4978080001a200341e0076a2480808080000f0b20024101762110200241c0004f0d0320034188036a2001201041c0076c6a200341086a20026a2d000010bc90808000200341c0066a200341c8006a20034188036a10b990808000200341a0056a200341c0066a200d10ad90808000200a200b200c10ad908080002009200c200d10ad908080002008200341c0066a200b10ad90808000200341c8006a200341a0056a41a00110f4978080001a200241016a21020c000b0b20024101762110200241c0004f0d0220034188036a2001201041c0076c6a200341086a20026a2d000010bc90808000200341c0066a200341c8006a20034188036a10b990808000200341a0056a200341c0066a200d10ad90808000200a200c200b10ad908080002009200b200d10ad908080002008200341c0066a200c10ad90808000200341c8006a200341a0056a41a00110f4978080001a200241016a21020c000b0b2010412041e0c6c88000108281808000000b2010412041e0c6c88000108281808000000b8d160a067f017e017f017e017f017e017f027e0d7f017e23808080800041e0046b2202248080808000200241086a41206a2203200141206a290200370300200241086a41186a2204200141186a290200370300200241086a41106a2205200141106a290200370300200241086a41086a2206200141086a29020037030020022001290200370308200241306a41206a2207200141c8006a2902002208370300200241306a41186a2209200141c0006a290200220a370300200241306a41106a220b200141386a290200220c370300200241306a41086a220d200141306a290200220e37030020022001290228220f370330200128025021102001280254211120012802582112200128025c2113200128026021142001280264211520012802682116200128026c21172001280270211820022802342119200228023c211a2002280244211b200228024c211c2002200228025420012802746a36028c04200220182008a76a360288042002201c20176a3602840420022016200aa76a360280042002201b20156a3602fc0320022014200ca76a3602f8032002201a20136a3602f40320022012200ea76a3602f0032002201920116a3602ec0320022010200fa76a3602e80320024190046a200141d0006a2214200241306a10af90808000200241d8006a200241e8036a20024190046a10ad9080800020024180016a200241086a200241306a10ad9080800020024190046a20024180016a10ac90808000200220022903c00420022903b80420022903b0042208421a887c220a4219887c220ca741ffffff1f7136028004200220022903a004200229039804200229039004220e421a887c220f4219887c221da741ffffff1f713602f003200220022903c804200c421a887c220ca741ffffff0f7136028404200220022903a804201d421a887c221da741ffffff0f713602f4032002200c42198820022903d0047c220ca741ffffff1f71360288042002201d421988200842ffffff1f837c2208421a88200a42ffffff0f837c3e02fc0320022008a741ffffff1f713602f8032002200c421a8820022903d8047c2208a741ffffff0f7136028c042002200842198842137e200e42ffffff1f837c2208421a88200f42ffffff0f837c3e02ec0320022008a741ffffff1f713602e803200241c0036a200241d8006a200241e8036a10ad9080800020024190046a4198c2c88000200241c0036a10ab90808000200241a8016a41206a200241b4046a290200370300200241a8016a41186a200241ac046a290200370300200241a8016a41106a200241a4046a290200370300200241a8016a41086a2002419c046a29020037030020022002290294043703a801200241d0016a200241a8016a200241d8006a10ad90808000200241f8016a200241a8016a20024180016a10ad9080800020024190046a200241f8016a200141f8006a220110ad90808000200241a0026a200241d0016a20024190046a10ad90808000200241c8026a41206a2210200241f8016a41206a290200370300200241c8026a41186a2211200241f8016a41186a290200370300200241c8026a41106a2212200241f8016a41106a290200370300200241c8026a41086a2213200241f8016a41086a290200370300200220022902f8013703c802200241f0026a200241086a41f0c6c8800010ad9080800020024198036a200241306a41f0c6c8800010ad90808000200241c0036a200241d0016a4198c7c8800010ad9080800020024190046a2001200241a0026a10ad90808000200241e8036a20024190046a10aa9080800020022d00e80341017110d6978080002101200620022802a00320062802002215734100200141ff01716b220171201573360200200520022802a8032005280200220673200171200673360200200220022802980320022802082205732001712005733602082002200228029c03200228020c22057320017120057336020c200220022802a4032002280214220573200171200573360214200220022802ac03200228021c22057320017120057336021c200420022802b0032004280200220573200171200573360200200220022802b4032002280224220473200171200473360224200320022802b8032003280200220473200171200473360200200220022802bc03200228022c22037320017120037336022c200220022802f0022002280230220373200171200373360230200220022802f4022002280234220373200171200373360234200d20022802f802200d280200220373200171200373360200200220022802fc02200228023c22037320017120037336023c200b200228028003200b28020022037320017120037336020020022002280284032002280244220373200171200373360244200920022802880320092802002203732001712003733602002002200228028c03200228024c22037320017120037336024c2007200228029003200728020022037320017120037336020020022002280294032002280254220373200171200373360254200220022802c00320022802c8022203732001712003733602c802200220022802c40320022802cc022203732001712003733602cc02201320022802c8032013280200220373200171200373360200200220022802cc0320022802d4022203732001712003733602d402201220022802d0032012280200220373200171200373360200200220022802d40320022802dc022203732001712003733602dc02201120022802d8032011280200220373200171200373360200200220022802dc0320022802e4022203732001712003733602e402201020022802e0032010280200220373200171200373360200200220022802e40320022802ec022203732001712003733602ec02200241e8036a200241086a200241a0026a10ad9080800020024190046a200241e8036a10aa9080800020022d00900441017110d697808000210120024190046a200241306a10b090808000200d200228029804200d2802002203734100200141ff01716b220171200373360200200b20022802a004200b280200220d73200171200d73360200200920022802a8042009280200220b73200171200b7336020020022002280290042002280230220973200171200973360230200220022802940420022802342209732001712009733602342002200228029c04200228023c22097320017120097336023c200220022802a4042002280244220973200171200973360244200220022802ac04200228024c22097320017120097336024c200720022802b0042007280200220973200171200973360200200220022802b404200228025422077320017120077336025420024190046a2014200241306a10af90808000200241e8036a200241c8026a20024190046a10ad9080800020024190046a200241e8036a10aa9080800020022d00900441017110d697808000210120024190046a200241e8036a10b090808000200220022802900420022802e8032207734100200141ff01716b2201712007733602e803200220022802940420022802ec032207732001712007733602ec03200220022802980420022802f0032207732001712007733602f0032002200228029c0420022802f4032207732001712007733602f403200220022802a00420022802f8032207732001712007733602f803200220022802a40420022802fc032207732001712007733602fc03200220022802a80420022802800422077320017120077336028004200220022802ac0420022802840422077320017120077336028404200220022802b00420022802880422077320017120077336028804200220022802b404200228028c0422077320017120077336028c042000200241e8036a10aa90808000200241e0046a2480808080000bbb0509027f017e017f017e017f017e017f017e057f23808080800041f0016b2203248080808000200341206a220441002902e0b7ca80002205370300200341186a220641002902d8b7ca80002207370300200341106a220841002902d0b7ca80002209370300200341086a220a41002902c8b7ca8000220b370300200341306a220c200b370300200341386a220d2009370300200341c0006a220e2007370300200341c8006a220f2005370300200341f0006a4200370300200341e8006a4200370300200341e0006a4200370300200341d8006a420037030020034200370350200341002902c0b7ca80002205370300200320053703282003200120024118742202411f75221020024118756a201073220241014610d69780800010bd908080002003200141f8006a200241024610d69780800010bd908080002003200141f0016a200241034610d69780800010bd908080002003200141e8026a200241044610d69780800010bd908080002003200141e0036a200241054610d69780800010bd908080002003200141d8046a200241064610d69780800010bd908080002003200141d0056a200241074610d69780800010bd908080002003200141c8066a200241084610d69780800010bd90808000201041017110d6978080002101200341f8006a41206a200f290300370300200341f8006a41186a200e290300370300200341f8006a41106a200d290300370300200341f8006a41086a200c29030037030020032003290328370378200341f8006a41d0006a200341d0006a10b090808000200341f8006a41c8006a2004290300370300200341f8006a41c0006a2006290300370300200341f8006a41386a2008290300370300200341f8006a41306a200a290300370300200320032903003703a0012003200341f8006a200110bd908080002000200341f80010f4978080001a200341f0016a2480808080000bdd0501017f2000200128020020002802002203734100200241ff01716b2202712003733602002000200128020420002802042203732002712003733602042000200128020820002802082203732002712003733602082000200128020c200028020c22037320027120037336020c2000200128021020002802102203732002712003733602102000200128021420002802142203732002712003733602142000200128021820002802182203732002712003733602182000200128021c200028021c22037320027120037336021c2000200128022020002802202203732002712003733602202000200128022420002802242203732002712003733602242000200128022820002802282203732002712003733602282000200128022c200028022c22037320027120037336022c2000200128023020002802302203732002712003733602302000200128023420002802342203732002712003733602342000200128023820002802382203732002712003733602382000200128023c200028023c22037320027120037336023c2000200128024020002802402203732002712003733602402000200128024420002802442203732002712003733602442000200128024820002802482203732002712003733602482000200128024c200028024c22037320027120037336024c2000200128025020002802502203732002712003733602502000200128025420002802542203732002712003733602542000200128025820002802582203732002712003733602582000200128025c200028025c22037320027120037336025c2000200128026020002802602203732002712003733602602000200128026420002802642203732002712003733602642000200128026820002802682203732002712003733602682000200128026c200028026c22037320027120037336026c2000200128027020002802702203732002712003733602702000200128027420002802742201732002712001733602740ba30f03017f087e267f23808080800041f0026b2202248080808000200241a0026a200110ac90808000200220022903d80220022903d00220022903c80220022903c0022203421a887c22044219887c2205421a887c220642198820022903e0027c2207421a8820022903e8027c220842198842137e20022903a002220942ffffff1f837c220aa741ffffff1f71220b3602082002200a421a8820022903a8022009421a887c220942ffffff0f837ca7220c36020c200220022903b80220022903b00220094219887c2209421a887c220a421988200342ffffff1f837c2203421a88200442ffffff0f837ca7220d36021c20022003a741ffffff1f71220e3602182002200aa741ffffff0f71220f36021420022006a741ffffff0f71221036022420022008a741ffffff0f71221136022c20022009a741ffffff1f71221236021020022005a741ffffff1f71221336022020022007a741ffffff1f712214360228200241a0026a200141286a10ac90808000200220022903d80220022903d00220022903c80220022903c0022203421a887c22044219887c2205421a887c220642198820022903e0027c2207421a8820022903e8027c220842198842137e20022903a002220942ffffff1f837c220aa741ffffff1f7122153602302002200a421a8820022903a8022009421a887c220942ffffff0f837ca72216360234200220022903b80220022903b00220094219887c2209421a887c220a421988200342ffffff1f837c2203421a88200442ffffff0f837ca7221736024420022003a741ffffff1f7122183602402002200aa741ffffff0f71221936023c20022006a741ffffff0f71221a36024c20022008a741ffffff0f71221b36025420022009a741ffffff1f71221c36023820022005a741ffffff1f71221d36024820022007a741ffffff1f71221e360250200241a0026a200141d0006a10ac90808000200220022903c80242018620022903c0024201862203421a887c220442198820022903d0024201867c2205a741ffffff1f71360270200220022903a80242018620022903a0024201862206421a887c220742198820022903b0024201867c2208a741ffffff1f7136026020022005421a8820022903d8024201867c2205a741ffffff0f7136027420022008421a8820022903b8024201867c2208a741ffffff0f713602642002200542198820022903e0024201867c2205a741ffffff1f7136027820022008421988200342feffff1f837c2203421a88200442ffffff0f837c3e026c20022003a741ffffff1f7136026820022005421a8820022903e8024201867c2203a741ffffff0f7136027c2002200342198842137e200642feffff1f837c2203421a88200742ffffff0f837c3e025c20022003a741ffffff1f713602582001280228211f20012802002120200128022c212120012802042122200128023021232001280208212420012802342125200128020c21262001280238212720012802102128200128023c21292001280214212a2001280240212b2001280218212c2001280244212d200128021c212e2001280248212f200128022021302002200128024c20012802246a3602a4012002202f20306a3602a0012002202d202e6a36029c012002202b202c6a3602980120022029202a6a360294012002202720286a360290012002202520266a36028c012002202320246a360288012002202120226a360284012002201f20206a36028001200241a0026a20024180016a10ac90808000200220022903d00220022903c80220022903c0022203421a887c22044219887c2205a741ffffff1f713602c001200220022903b00220022903a80220022903a0022206421a887c22074219887c2208a741ffffff1f713602b001200220022903d8022005421a887c2205a741ffffff0f713602c401200220022903b8022008421a887c2208a741ffffff0f713602b4012002200542198820022903e0027c2205a741ffffff1f713602c80120022008421988200342ffffff1f837c2203421a88200442ffffff0f837c3e02bc0120022003a741ffffff1f713602b80120022005421a8820022903e8027c2203a741ffffff0f713602cc012002200342198842137e200642ffffff1f837c2203421a88200742ffffff0f837c3e02ac0120022003a741ffffff1f713602a801200241d0016a41206a2201201e20146a360200200241d0016a41186a2214201d20136a360200200241d0016a41106a22132018200e6a360200200241d0016a41086a220e201c20126a3602002002201b20116a3602f4012002201a20106a3602ec0120022017200d6a3602e40120022019200f6a3602dc0120022016200c6a3602d40120022015200b6a3602d001200241f8016a200241306a200241086a10af908080002000200241a8016a200241d0016a10af90808000200041f8006a200241d8006a200241f8016a10af90808000200041c8006a2001290200370200200041c0006a2014290200370200200041386a2013290200370200200041306a200e290200370200200020022902d001370228200020022902f801370250200041d8006a200241f8016a41086a290200370200200041e0006a200241f8016a41106a290200370200200041e8006a200241f8016a41186a290200370200200041f0006a200241f8016a41206a290200370200200241f0026a2480808080000b0d002000200110b680808000000bee0501017e20002001422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201428180808088808080807f8437030020002001422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201428180808088808080807f8437030820002001422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201428180808088808080807f8437031020002001422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e8542208985428180808088808080807f843703180bba0102017f027e23808080800041106b22012480808080002000200141086aad220242a697c4890d7e422089200242acebfec6097e852202a741c18480800073ad220342acebfec6097e2002422088220242a697c4890d7e85200342a697c4890d7e200242acebfec6097e85422089852202a7418883d4800073ad220342acebfec6097e2002422088220242a697c4890d7e85200342a697c4890d7e200242acebfec6097e854220898510c090808000200141106a2480808080000bbb0203017f027e017f23808080800041306b2200248080808000200041086a200041286aad220142a697c4890d7e422089200142acebfec6097e852201a741c18480800073ad220242acebfec6097e2001422088220142a697c4890d7e85200242a697c4890d7e200142acebfec6097e85422089852201a7418883d4800073ad220242acebfec6097e2001422088220142a697c4890d7e85200242a697c4890d7e200142acebfec6097e854220898510c090808000024002400340410041002d00a883d480002203410120031b3a00a883d480002003450d0120034102470d000c020b0b4100200029030837038883d48000410041023a00a883d480004100200041206a2903003703a083d480004100200041186a29030037039883d480004100200041106a29030037039083d480000b200041306a2480808080000bc10703037f037e027f2001413f712107024020014140712208450d00410020086b2109200021080340200841386a290000200685220a422088220b200841186a2900002005852205422088220c7e200a42ffffffff0f83220a200542ffffffff0f8322057e85200a200c7e200b20057e85422089852105200841306a290000200685220a422088220b200841106a2900002004852204422088220c7e200a42ffffffff0f83220a200442ffffffff0f8322047e85200a200c7e200b20047e85422089852104200841286a290000200685220a422088220b200841086a2900002003852203422088220c7e200a42ffffffff0f83220a200342ffffffff0f8322037e85200a200c7e200b20037e85422089852103200841206a290000200685220a422088220b20082900002002852202422088220c7e200a42ffffffff0f83220a200242ffffffff0f8322027e85200a200c7e200b20027e85422089852102200841c0006a2108200941c0006a22090d000b0b2003200585210520022004852104024002402007450d00200120074110200741104b1b22096b210820014110490d01200020086a220820082009410f7122076a2201200941307122096a220d4f0d002001200941706a22006a220e2900082006852203422088220220082900082005852205422088220a7e200342ffffffff0f832203200542ffffffff0f8322057e852003200a7e200220057e85422089852105200e2900002006852203422088220220082900002004852204422088220a7e200342ffffffff0f832203200442ffffffff0f8322047e852003200a7e200220047e854220898521042000450d0020072000724111480d002001200941606a22096a22012900082006852203422088220220082900182005852205422088220a7e200342ffffffff0f832203200542ffffffff0f8322057e852003200a7e200220057e8542208985210520012900002006852203422088220220082900102004852204422088220a7e200342ffffffff0f832203200442ffffffff0f8322047e852003200a7e200220047e854220898521042009450d0020072009724121480d00200d41586a2900002006852203422088220220082900282005852205422088220a7e200342ffffffff0f832203200542ffffffff0f8322057e852003200a7e200220057e85422089852105200d41506a290000200685220642208822032008290020200485220442208822027e200642ffffffff0f832206200442ffffffff0f8322047e85200620027e200320047e854220898521040b20042005850f0b2008200141c4b8ca8000109281808000000b1900200120002802002200280200200028020410b4818080000b140020012000280200200028020410b4818080000b140020002802002802004101200110fa808080000b870401027f23808080800041306b220224808080800002400240024002400240024020002d00000e050001020304000b20012802004195beca8000412c200128020428020c1180808080000021010c040b2002200041046a36020820024101360214200241f4beca80003602102002420137021c200241c284808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010c030b200128020041fcbeca80004128200128020428020c1180808080000021010c020b20002f0001200041036a2d00004110747222004108762103024002402000410171450d002003411874411875410274220341e8bfca80006a2100200341dcbfca80006a21030c010b2003411874411875410274220341a8c0ca80006a2100200341f4bfca80006a21030b20024101360214200241ccbfca80003602102002420137021c2002200028020036022c20022003280200360228200241c384808000ad422086200241286aad843703082002200241086a36021820012802002001280204200241106a10b18180800021010c010b2002200041046a36020820024101360214200241d4bfca80003602102002420137021c200241c484808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010b200241306a24808080800020010b8e1202117f037e2380808080004180016b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01b6014102746a2802c40121042006417f6a22060d000b0b20054104490d000340200420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c40121042007417c6a22070d000b0b200341086a22082001410d6a2900003703002003410f6a2209200141146a28000036000020032001290005370300200341186a41036a210a2001280224210b2001280220210c200128021c210d2001280218210e20012d0004210f20012802002110024003400240024020104102460d00200341e8006a410f6a2009280000360000200341e8006a41086a200829030037030020032003290300370368200f211120104101710d010c030b200d200b460d02200d2d00002111200341e8006a410f6a200d41106a280000360000200341e8006a41086a200d41096a2900003703002003200d290001370368200d41146a210d0b200341d0006a410f6a2206200341e8006a410f6a280000360000200341d0006a41086a2201200341e8006a41086a29030037030020032003290368370350410021100240200d200b460d00200d2d0000210f2009200d41106a2800003600002008200d41096a2900003703002003200d290001370300200d41146a210d0240200f201141ff01712205460d00410121100c010b2001200829030037030020062009280000360000200320032903003703502011210f200d200b460d0002400340200d22072d0000210f2009200741106a2800003600002008200741096a290000370300410121102003200741016a2900003703002005200f470d01200120082903003703002006200928000036000020032003290300370350200741146a220d200b470d000b410021102011210f0b200741146a210d0b200341186a410f6a2006280000360000200341186a41086a200129030037030020032003290350370318200341306a41086a2206200a41086a22122900003703002003200a290000370330024002400240024002400240024020042f01b6012207410b490d004100211302400340024020042802b00122040d00200028020421062000280200210741002d008083d480001a41f40141002802f482d48000118280808000002204450d042004200441036a417c7120046b22016a220420073602c401200441003b01b601200441003602b0012004417e6a20013b00002000200641016a221336020420002004360200200741003b01b401200720043602b0010c020b201341016a211320042f01b601410a4b0d000b0b41002d008083d480001a41c40141002802f482d48000118280808000002207450d022007200741036a417c7120076b22016a220641003b01b601200641003602b0012006417e6a20013b00002013417f6a2201450d04034041002d008083d480001a41f40141002802f482d48000118280808000002207450d042007200741036a417c7120076b22056a220720063602c401200741003b01b601200741003602b0012007417e6a20053b0000200641003b01b401200620073602b001200721062001417f6a2201450d050c000b0b200420076a20113a00b8012004200741016a3b01b601200420074104746a220741086a2006290300370200200720032903303702000c040b410441f40110ab80808000000b410441c40110ab80808000000b410441f40110ab80808000000b20042f01b6012207410b4f0d01200420076a20113a00b8012004200741016a22013b01b601200420074104746a2207200a290000370000200741086a2012290000370000200420014102746a20063602c401200620013b01b401200620043602b0012013450d0002400240201341037122060d00201321070c010b2013210703402007417f6a2107200420042f01b6014102746a2802c40121042006417f6a22060d000b0b20134104490d000340200420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c40121042007417c6a22070d000b0b2002200228020041016a3602000c010b0b4188c2ca8000412041a8c2ca8000108081808000000b0240200c450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b02402000280204220d450d00200028020021060340024002400240024020062f01b6012204450d0020062004417f6a220f4102746a22072802c80122042f01b601220141054f0d03410520016b41ffff0371220520072802c40122132f01b60122074b0d012013200720056b22083b01b601200441053b01b601200441b8016a220b20056a200b200110f9978080001a200420054104746a2004200141047410f9978080001a2007200841016a22106b22092005417f6a470d02200b201341b8016a221120106a200910f497808000210b2004201320104104746a2009410474220a10f4978080002107200341e8006a41086a201320084104746a220241086a29020022143703002006200f6a22122d00b8012100200229020021152012201120086a2d00003a00b801200320153703682006200f4104746a2206290200211620062015370200200641086a2206290200211520062014370200200b20096a20003a00002007200a6a220641086a201537020020062016370200200d4101460d03200741c4016a2206200541027422056a2006200141027441046a10f9978080001a2006201320104102746a41c4016a200510f4978080001a20072802c401220641003b01b401200620073602b00120072802c801220641013b01b401200620073602b00120072802cc01220641023b01b401200620073602b00120072802d001220641033b01b401200620073602b00120072802d401220641043b01b401200620073602b00120072802d801220641053b01b401200620073602b0010c030b41dcc0ca8000411941f8c1ca8000108081808000000b41f0c2ca800041274198c3ca8000108081808000000b41b8c2ca8000412841e0c2ca8000108081808000000b20042106200d417f6a220d0d000b0b20034180016a2480808080000bec1206067f017e077f017e017f027e23808080800041c0006b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f018e024102746a2802900221042006417f6a22060d000b0b20054104490d000340200420042f018e024102746a28029002220420042f018e024102746a28029002220420042f018e024102746a28029002220420042f018e024102746a2802900221042007417c6a22070d000b0b200341086a41206a200141206a290200370300200341086a41186a200141186a290200370300200341086a41106a200141106a290200370300200341086a41086a200141086a29020037030020032001290200370308200341086a410c6a210803402003290308210920032802242101200328022c210a200328021021060340200341818080807836021002400240024002402006418180808078460d002008210b20012107200621050c010b2001200a460d012003200141186a22073602242001410c6a210b20012802082105200129020021090b2005418080808078470d01200721010b0240200a2001460d00200a20016b220441186e2206410171210b410021070240200441686a4118490d00200141246a2104200641feffffff007121054100210703400240200441646a280200450d00200441686a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402004417c6a280200450d00200428020022062006417e6a2f00006b41002802ec82d48000118180808000000b200441306a21042005200741026a2207470d000b0b200b450d002001200741186c6a2204280208450d00200441086a28020422042004417e6a2f00006b41002802ec82d48000118180808000000b02402003280228450d00200328022022042004417e6a2f00006b41002802ec82d48000118180808000000b024020002802042208450d00200028020021060340024002400240024020062f018e022204450d0020062004417f6a220c4102746a22072802940222042f018e02220141054f0d03410520016b41ffff03712205200728029002220b2f018e0222074b0d01200b200720056b220d3b018e02200441053b018e02200441b0016a220a20054103746a200a200141037410f9978080001a200420054104746a2004200141047410f9978080001a2007200d41016a220e6b22072005417f6a470d02200a200b41b0016a2200200e4103746a2007410374220210f497808000210a2004200b200e4104746a2007410474220f10f4978080002107200341086a41086a200b200d4104746a221041086a29020022113703002006200c4103746a22122902b00121132010290200210920122000200d4103746a2902003702b001200320093703082006200c4104746a2206290200211420062009370200200641086a2206290200210920062011370200200a20026a20133702002007200f6a22062014370200200641086a200937020020084101460d0320074190026a2206200541027422056a2006200141027441046a10f9978080001a2006200b200e4102746a4190026a200510f4978080001a200728029002220641003b018c022006200736028802200728029402220641013b018c022006200736028802200728029802220641023b018c022006200736028802200728029c02220641033b018c02200620073602880220072802a002220641043b018c02200620073602880220072802a402220641053b018c0220062007360288020c030b41dcc0ca8000411941f8c1ca8000108081808000000b41f0c2ca800041274198c3ca8000108081808000000b41b8c2ca8000412841e0c2ca8000108081808000000b200421062008417f6a22080d000b0b200341c0006a2480808080000f0b200b2902042113200b280200210b20094220882211a7210c2009a7210d024002402007200a470d0020034180808080783602100c010b2003200741186a2201360224200741146a280200210e20072902002109200728020821062008200729020c370200200841086a200e36020020032006360210200320093703082006418080808078460d0020112009422088520d00200d2009a7200c10f5978080000d002005450d01200b200b417e6a2f00006b41002802ec82d48000118180808000000c010b0b024002400240024002400240024020042f018e022207410b490d004100210a02400340024020042802880222040d00200028020421062000280200210741002d008083d480001a41c00241002802f482d48000118280808000002204450d042004200441036a417c7120046b22016a2204200736029002200441003b018e0220044100360288022004417e6a20013b00002000200641016a220a36020420002004360200200741003b018c0220072004360288020c020b200a41016a210a20042f018e02410a4b0d000b0b41002d008083d480001a41900241002802f482d48000118280808000002207450d022007200741036a417c7120076b22016a220641003b018e0220064100360288022006417e6a20013b0000200a417f6a2201450d04034041002d008083d480001a41c00241002802f482d48000118280808000002207450d042007200741036a417c7120076b220e6a2207200636029002200741003b018e0220074100360288022007417e6a200e3b0000200641003b018c022006200736028802200721062001417f6a2201450d050c000b0b2004200741016a3b018e02200420074103746a2206200d3602b0012006200c3602b401200420074104746a220720053602002007200b360204200720133702080c040b410441c00210ab80808000000b410441900210ab80808000000b410441c00210ab80808000000b20042f018e022207410b4f0d012004200741016a22013b018e02200420074103746a220e200d3602b001200e200c3602b401200420074104746a220720053602002007200b36020420072013370208200420014102746a200636029002200620013b018c022006200436028802200a450d0002400240200a41037122060d00200a21070c010b200a210703402007417f6a2107200420042f018e024102746a2802900221042006417f6a22060d000b0b200a4104490d000340200420042f018e024102746a28029002220420042f018e024102746a28029002220420042f018e024102746a28029002220420042f018e024102746a2802900221042007417c6a22070d000b0b2002200228020041016a3602000c010b0b4188c2ca8000412041a8c2ca8000108081808000000be10101047f23808080800041106b220324808080800002402001450d00200020014104746a21040340200028020021052003200041046a28020022013602082003200341086a36020c2003410c6a2002108391808000024020012002280200200228020822066b4d0d0020022006200110f491808000200228020821060b200228020420066a2005200110f4978080001a2002200620016a3602082003200041086a36020c2003410c6a200210839180800020032000410c6a36020c2003410c6a2002108391808000200041106a22002004470d000b0b200341106a2480808080000be10101047f23808080800041106b220324808080800002402001450d00200020014104746a21040340200028020021052003200041046a28020022013602082003200341086a36020c2003410c6a2002108391808000024020012002280200200228020822066b4d0d0020022006200110f491808000200228020821060b200228020420066a2005200110f4978080001a2002200620016a3602082003200041086a36020c2003410c6a200210839180800020032000410c6a36020c2003410c6a2002108391808000200041106a22002004470d000b0b200341106a2480808080000bee0101077f23808080800041d0016b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541d0006c6a2106200128020c210703402002200341800110f4978080002108200020034180016a220336020420084180016a20082007108f91808000200620084180016a41d00010f49780800021082001200541016a2205360204200841d0006a210620032004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241d0016a2480808080000bb90301137f23808080800041d0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541386c6a2106200241206a2107200241086a2108200128020c210903402002200341d00010f497808000210a2000200341d0006a2203360204200a280200210b200a280204210c2009200810be92808000210d0240200a280238220e4102490d00200a280240210f200a28023c2110200a2802442111200a28024821120b200a2802342113200a2802302114200a28022c210a2006200e360200200641106a20123602002006410c6a2011360200200641086a200f360200200641046a20103602002001200541016a2205360204200641146a20072902003702002006411c6a200741086a280200360200200641346a200d360200200641306a200c3602002006412c6a200b360200200641286a2013360200200641246a2014360200200641206a200a360200200641386a210620032004470d000b0b2001280200200536020002402000280208450d00200028020022062006417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a2480808080000b960202087f017e23808080800041206b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b200128020820012802042205410c6c6a2106200241086a2107200128020c210803402000200341206a2209360204200241186a200341186a290300370300200241106a200341106a2903003703002007200341086a29030037030020022003290300220a370300200641086a2008200710be928080003602002006200a3702002001200541016a22053602042006410c6a21062009210320092004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000bf40202097f017e23808080800041c0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b2001280208200128020422054104746a2106200241086a41206a2107200241086a41086a2108200128020c210903402000200341386a220a360204200241086a41306a200341306a290300370300200241086a41286a200341286a2903003703002007200341206a290300370300200241086a41186a200341186a290300370300200241086a41106a200341106a2903003703002008200341086a29030037030020022003290300220b3703082009200810be9280800021032006410c6a2009200710be92808000360200200641086a20033602002006200b3702002001200541016a2205360204200641106a2106200a2103200a2004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000bf30101067f23808080800041d0016b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541d8006c6a2106200128020c21070340200241086a200341f00010f4978080001a2000200341f0006a2203360204200241f8006a200241086a200710fc908080002006200241f8006a41d80010f49780800021062001200541016a2205360204200641d8006a210620032004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241d0016a2480808080000b9a0601197f23808080800041c0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541cc006c6a2106200241286a41086a2107200128020c21080340200241086a2209200341e4006a2802003602002002200341dc006a290200370300200341d8006a280200210a200341d4006a280200210b200341d0006a280200210c200341cc006a280200210d200341c8006a280200210e200341c4006a280200210f200341c0006a28020021102003410c6a2802002111200341086a2802002112200341046a2802002113200341e8006a2802002114200341ec006a2802002115200341f0006a2802002116200341f4006a2d00002117200328020021182000200341f8006a2219360204200341106a211a024002402018410171450d00200241106a41106a201a41106a290300370300200241106a41086a201a41086a2903003703002002201a290300370310200241286a41106a200341386a2903003703002007200341306a2903003703002002200341286a2903003703282008200241106a10be9280800021032008200241286a10be92808000211a0c010b2002201136022c200220123602282007201a290300370300200741086a201a41086a2903003703002008200241286a10be92808000211241808080807821130b200e4102491a2006200e360200200641106a200a3602002006410c6a200b360200200641086a200c360200200641046a200d360200200641146a2002290300370200200641c8006a20173a0000200641c4006a200f360200200641c0006a20103602002006413c6a201a360200200641386a2003360200200641346a2011360200200641306a20123602002006412c6a2013360200200641286a2016360200200641246a2015360200200641206a20143602002006411c6a20092802003602002001200541016a2205360204200641cc006a21062019210320192004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000ba20501137f23808080800041c0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541386c6a2106200241286a41086a2107200128020c210803402000200341e8006a2209360204200241086a220a200341d0006a2802003602002002200341c8006a290300370300200341106a210b200341e0006a2d0000210c200341dc006a280200210d200341d8006a280200210e200341d4006a280200210f200341c4006a2802002110200341c0006a28020021112003410c6a2802002112200341086a2802002113024002402003280200410171450d00200341046a2802002114200241106a41106a200b41106a290300370300200241106a41086a200b41086a2903003703002002200b290300370310200241286a41106a200341386a2903003703002007200341306a2903003703002002200341286a2903003703282008200241106a10be9280800021032008200241286a10be92808000210b0c010b2002201236022c200220133602282007200b290300370300200741086a200b41086a2903003703002008200241286a10be92808000211341808080807821140b20062002290300370200200641346a200c3a0000200641306a20103602002006412c6a2011360200200641286a200b360200200641246a2003360200200641206a20123602002006411c6a2013360200200641186a2014360200200641146a200d360200200641106a200e3602002006410c6a200f3602002001200541016a2205360204200641086a200a280200360200200641386a21062009210320092004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000baf0305097f017e017f027e017f23808080800041c0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541246c6a2106200241086a41206a2107200241086a41086a2108200128020c210903402000200341386a220a360204200241086a41306a200341306a290300370300200241086a41286a200341286a2903003703002007200341206a290300370300200241086a41186a200341186a290300370300200241086a41106a200341106a2903003703002008200341086a29030037030020022003290300220b3703082009200810be9280800021032001200541016a2205360204200741086a280200210c2007290200210d2002290234210e200228023c210f200641206a20033602002006200d370200200641086a200c360200200641186a200b370200200641146a200f3602002006410c6a200e370200200641246a2106200a2103200a2004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000bee0101077f2380808080004180036b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541a0016c6a2106200128020c210703402002200341e00110f49780800021082000200341e0016a2203360204200841e0016a2008200710fb908080002006200841e0016a41a00110f49780800021082001200541016a2205360204200841a0016a210620032004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b20024180036a2480808080000be002020a7f027e23808080800041306b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541186c6a2106200241086a2107200128020c210803402000200341306a2209360204200241286a220a200341286a290300370300200241206a220b200341206a290300370300200241186a200341186a290300370300200241106a200341106a2903003703002007200341086a29030037030020022003290300220c3703002008200710be9280800021032001200541016a2205360204200a280200210a200b290300210d200641146a20033602002006410c6a200c3702002006200d370200200641086a200a360200200641186a21062009210320092004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241306a2480808080000bd31703257f027e127f23808080800041c0016b220624808080800002400240024020012802042207200128020c2208460d002004280200220941186a210a200641146a41246a210b200641146a410c6a210c03402001200741386a220d3602042007280218210e2007280234210f20072802302110200728022c21112007280228211220072802242113200728022021142007280214211520072802102116200728020c211720072802082118200728020421192007280200211a4104211b4100211c0240200728021c221d450d0041002d008083d480001a201d41386c220441002802f482d48000118280808000002207450d03200e201d41d0006c6a211e2007200741036a417c71221b20076b22046a417e6a20043b00004100211c200e211f0340201f2802242120201f2802482121201f2802442122201f2802402123201f28023c2124201f2802382125201f2802342126201f2802302127201f28022c2128201f2802202129201f280218212a201f290310212b201f290308212c201f280204212d201f280200212e02400240201f280228222f0d0041042130410021310c010b41002d008083d480001a202f410c6c220441002802f482d48000118280808000002207450d062020202f4105746a21322007200741036a417c71223020076b22046a417e6a20043b000041002131202021330340203328021821072033280204213420332802002135200641086a20092033290308203329031010c092808000200628020c2136024020062d0008450d00200641c8006a200711818080800000200620062802880136021c2006200629038001370214200628028c01210420062802900121072006280294012137200620093602bc012006200720374105746a3602b801200620043602b401200620073602b001200620073602ac01200c200641ac016a41f4ffcb800010ab92808000200b200641c8006a200910cc92808000200620062802a001360234200620062903980137022c200641c8006a200a2036200641146a10b19280800020062802482207418080808078460d0002402007450d00200628024c22072007417e6a2f00006b41002802ec82d48000118180808000000b02402006280254450d00200628025822072007417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020062d006c0e050001040402040b20062802742138024020062802782207450d002007410171213941002104024020074101460d002007417e71213a4100210420382107034002402007280200450d00200741046a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b0240200741206a280200450d00200741246a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b200741c0006a2107203a200441026a2204470d000b0b2039450d00203820044105746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b20062802700d020c030b2006280274213802402006280278223b450d004100213c034002402038203c41246c6a22392802082207450d002039280204213d2007410171213e41002104024020074101460d002007417e71213a41002104203d2107034002402007280200450d00200741046a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b0240200741206a280200450d00200741246a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b200741c0006a2107203a200441026a2204470d000b0b203e450d00203d20044105746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b02402039280200450d00203928020422072007417e6a2f00006b41002802ec82d48000118180808000000b0240203928020c450d00203928021022072007417e6a2f00006b41002802ec82d48000118180808000000b203c41016a223c203b470d000b0b20062802700d010c020b2006280270450d01200628027421380b20382038417e6a2f00006b41002802ec82d48000118180808000000b2006280260450d00200628026422072007417e6a2f00006b41002802ec82d48000118180808000000b20302031410c6c6a220720363602082007203436020420072035360200203141016a2131203341206a22332032470d000b0b02402029450d0020202020417e6a2f00006b41002802ec82d48000118180808000000b20062009202c202b10c0928080002006280204213c024020062d0000450d00200641c8006a202a11818080800000200620062802880136021c2006200629038001370214200628028c01210420062802900121072006280294012137200620093602bc012006200720374105746a3602b801200620043602b401200620073602b001200620073602ac01200c200641ac016a41f4ffcb800010ab92808000200b200641c8006a200910cc92808000200620062802a001360234200620062903980137022c200641c8006a200a203c200641146a10b19280800020062802482207418080808078460d0002402007450d00200628024c22072007417e6a2f00006b41002802ec82d48000118180808000000b02402006280254450d00200628025822072007417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020062d006c0e050001040402040b20062802742136024020062802782207450d002007410171213341002104024020074101460d002007417e71213a4100210420362107034002402007280200450d00200741046a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b0240200741206a280200450d00200741246a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b200741c0006a2107203a200441026a2204470d000b0b2033450d00203620044105746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b20062802700d020c030b20062802742136024020062802782238450d0041002139034002402036203941246c6a22332802082207450d00203328020421342007410171213541002104024020074101460d002007417e71213a4100210420342107034002402007280200450d00200741046a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b0240200741206a280200450d00200741246a28020022372037417e6a2f00006b41002802ec82d48000118180808000000b200741c0006a2107203a200441026a2204470d000b0b2035450d00203420044105746a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b02402033280200450d00203328020422072007417e6a2f00006b41002802ec82d48000118180808000000b0240203328020c450d00203328021022072007417e6a2f00006b41002802ec82d48000118180808000000b203941016a22392038470d000b0b20062802700d010c020b2006280270450d01200628027421360b20362036417e6a2f00006b41002802ec82d48000118180808000000b2006280260450d00200628026422072007417e6a2f00006b41002802ec82d48000118180808000000b20254102491a201b201c41386c6a2207203c3602342007202d3602302007202e36022c2007202636022820072027360224200720283602202007203136021c200720303602182007202f360214200720213602102007202236020c200720233602082007202436020420072025360200201c41016a211c201f41d0006a221f201e470d000b0b02402015450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b201a4102491a2003200f360234200320103602302003201136022c2003201236022820032013360224200320143602202003201c36021c2003201b3602182003201d360214200320163602102003201736020c20032018360208200320193602042003201a360200200341386a2103200d2107200d2008470d000b0b2000200336020420002002360200200641c0016a2480808080000f0b4104200410ab80808000000b4104200410ab80808000000ba00203067f027e017f23808080800041c0006b2206248080808000024020012802042207200128020c2208460d002004280200210903402001200741206a220a3602042007410c6a280200210b200741186a290200210c200741106a290200210d200741046a2802002104200741086a280200210e200728020021072006200936023c20062004200e41386c6a36023820062007360234200620043602302006200436022c2006410c6a2006412c6a41d8c8ca800010db908080002003200629020c370200200341106a200d370200200341186a200c3702002006200b360218200341086a2006410c6a41086a290200370200200341206a2103200a2107200a2008470d000b0b2000200336020420002002360200200641c0006a2480808080000bc70201077f0240200028020c220120002802042202460d00200120026b41057621034100210403400240200220044105746a22052802082206450d00200528020441306a210103400240200141706a280200450d00200141746a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141386a21012006417f6a22060d000b0b02402005280200450d00200528020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200528020c450d00200528021022012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280208450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b0bc80201077f200028020c2201200028020422026b41386e2103024020012002460d0041002104034002402002200441386c6a220528021c2206450d00200528021841306a210103400240200141706a280200450d00200141746a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141d0006a21012006417f6a22060d000b0b02402005280214450d00200528021822012001417e6a2f00006b41002802ec82d48000118180808000000b02402005280220450d00200528022422012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280208450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b0bfe06010e7f20002802042101024020002802082202450d0041002103034002402001200341386c6a2204280200450d00200428020422052005417e6a2f00006b41002802ec82d48000118180808000000b0240200428020c450d00200428021022052005417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020042d00240e050001040402040b024020042802302205450d00200428022c21062005410171210741002108024020054101460d002005417e7121094100210820062105034002402005280200450d00200541046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200541206a280200450d00200541246a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200541c0006a21052009200841026a2208470d000b0b2007450d00200620084105746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b20042802280d020c030b02402004280230220b450d00200428022c210c4100210703400240200c200741246c6a22062802082205450d002006280204210d2005410171210e41002108024020054101460d002005417e71210941002108200d2105034002402005280200450d00200541046a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200541206a280200450d00200541246a280200220a200a417e6a2f00006b41002802ec82d48000118180808000000b200541c0006a21052009200841026a2208470d000b0b200e450d00200d20084105746a2205280200450d00200528020422052005417e6a2f00006b41002802ec82d48000118180808000000b02402006280200450d00200628020422052005417e6a2f00006b41002802ec82d48000118180808000000b0240200628020c450d00200628021022052005417e6a2f00006b41002802ec82d48000118180808000000b200741016a2207200b470d000b0b20042802280d010c020b2004280228450d010b2004412c6a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402004280218450d00200428021c22052005417e6a2f00006b41002802ec82d48000118180808000000b200341016a22032002470d000b0b02402000280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b900401097f23808080800041e0006b2203248080808000200128020c2204200128020422056b220641386e21070240024002400240200641a8e3f1b87c4d0d00410021030c010b024020042005470d002001280208210820012802002109410021074104210a410021060c030b4100210641002d008083d480001a200741246c220a41002802f482d4800011828080800000220b0d01410421030b2003200a41c0c5ca800010b980808000000b200b200b41036a417c71220a200b6b22096a417e6a20093b00002001280210210b2001280208210820012802002109200a21010340200341306a200541306a290300370300200341286a200541286a290300370300200341206a200541206a290300370300200341186a200541186a290300370300200341106a200541106a290300370300200341086a200541086a290300370300200320052903003703002003413c6a2003200b108e91808000200141206a2003413c6a41206a280200360200200141186a2003413c6a41186a290200370200200141106a2003413c6a41106a290200370200200141086a2003413c6a41086a2902003702002001200329023c370200200141246a2101200641016a2106200541386a22052004470d000b0b02402008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200020063602082000200a36020420002007360200200341e0006a2480808080000be203010a7f23808080800041a0016b2203248080808000200128020c2204200128020422056b220641e8006e21070240024002400240200641d0b6dbed7e4d0d00410021010c010b024020042005470d002001280208210820012802002109410021074104210a4100210b0c030b4100210b41002d008083d480001a200741386c220c41002802f482d480001182808080000022060d01410421010b2001200c41c0c5ca800010b980808000000b2006200641036a417c71220a20066b220c6a417e6a200c3b00002001280210210c2001280208210820012802002109200a210103402003200541e80010f497808000220641e8006a2006200c10ee90808000200141306a200641e8006a41306a290200370200200141286a200641e8006a41286a290200370200200141206a200641e8006a41206a290200370200200141186a200641e8006a41186a290200370200200141106a200641e8006a41106a290200370200200141086a200641e8006a41086a29020037020020012006290268370200200141386a2101200b41016a210b200541e8006a22052004470d000b0b02402008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2000200b3602082000200a36020420002007360200200341a0016a2480808080000bdf03030b7f017e017f23808080800041c0006b2203248080808000200128020c2204200128020422056b41386e21064104210702400240024020042005470d002001280208210820012802002109410021064100210a0c010b4100210a41002d008083d480001a2006410474220b41002802f482d4800011828080800000220c450d01200c200c41036a417c712207200c6b220b6a417e6a200b3b0000200341086a41206a210c200341086a41086a210b2001280210210d2001280208210820012802002109200721010340200341086a41306a200541306a290300370300200341086a41286a200541286a290300370300200c200541206a290300370300200341086a41186a200541186a290300370300200341086a41106a200541106a290300370300200b200541086a29030037030020032005290300220e370308200d200b10be92808000210f2001410c6a200d200c10be92808000360200200141086a200f3602002001200e370200200141106a2101200a41016a210a200541386a22052004470d000b0b02402008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2000200a3602082000200736020420002006360200200341c0006a2480808080000f0b4104200b41c0c5ca800010b980808000000bb004050c7f017e017f017e017f23808080800041c0006b2203248080808000200128020c2204200128020422056b220641386e21070240024002400240200641a8e3f1b87c4d0d00410021050c010b024020042005470d002001280208210820012802002109410021074104210a4100210b0c030b4100210641002d008083d480001a200741246c220b41002802f482d4800011828080800000220c0d01410421050b2005200b41c0c5ca800010b980808000000b200c200c41036a417c71220a200c6b220b6a417e6a200b3b0000200341086a41206a210c200341086a41086a210d2001280210210e20012802082108200128020021094100210b0340200341086a41306a200541306a290300370300200341086a41286a200541286a290300370300200c200541206a290300370300200341086a41186a200541186a290300370300200341086a41106a200541106a290300370300200d200541086a29030037030020032005290300220f370308200e200d10be92808000211020032902342111200328023c2112200a20066a2201200c290200370200200141086a200c41086a280200360200200141206a2010360200200141186a200f370200200141146a20123602002001410c6a2011370200200641246a2106200b41016a210b200541386a22052004470d000b0b02402008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2000200b3602082000200a36020420002007360200200341c0006a2480808080000bfa0705037f017e037f017e027f23808080800041a0016b2203248080808000200341c0006a2001109e91808000024002402003280260418080808078460d00200341f0006a41286a200341c0006a41286a290300370300200341f0006a41206a2204200341c0006a41206a290300370300200341f0006a41186a200341c0006a41186a290300370300200341f0006a41106a200341c0006a41106a290300370300200341f0006a41086a2205200341c0006a41086a290300370300200320032903402206370370200328027421072001280224200510be92808000210520042802002208418080808078460d00200128022041016a2204417f20041b22044104200441044b1b2209ad42187e220aa721044100210b024002400240200a422088a70d00200441fcffffff074b0d00200329029401210a024020040d004104210c410021090c030b41002d008083d480001a200441002802f482d4800011828080800000220b0d014104210b0b200b2004200210b980808000000b200b200b41036a417c71220c200b6b22026a417e6a20023b00000b200c2005360214200c200a37020c200c2008360208200c2007360204200c2006a7360200200341013602142003200c3602102003200936020c200341186a41206a200141206a290200370300200341186a41186a200141186a290200370300200341186a41106a200141106a290200370300200341186a41086a200141086a29020037030020032001290200370318200341c0006a200341186a109e9180800002402003280260418080808078460d00200341f0006a41086a2105412c2104410121020340200341f0006a41286a200341c0006a41286a290300370300200341f0006a41206a2201200341c0006a41206a290300370300200341f0006a41186a200341c0006a41186a290300370300200341f0006a41106a200341c0006a41106a2903003703002005200341c0006a41086a29030037030020032003290340220637037020032802742107200328023c200510be9280800021082001280200220b418080808078460d01200329029401210a2006a7210902402002200328020c470d002003410c6a2002200328023841016a2201417f20011b4104411810ea908080002003280210210c0b200c20046a22012008360200200141786a200a370200200141746a200b360200200141706a20073602002001416c6a20093602002003200241016a2202360214200441186a2104200341c0006a200341186a109e918080002003280260418080808078470d000b0b200341186a10a4918080002000200329020c370200200041086a2003410c6a41086a2802003602000c010b2000410036020820004280808080c000370200200110a4918080000b200341a0016a2480808080000bb60503037f017e077f23808080800041d0006b2203248080808000200341106a2001109d918080000240024020032802104101470d00200128022041016a2204417f20041b22044104200441044b1b2205ad42147e2206a72104410021070240024002402006422088a70d00200441fcffffff074b0d002003280224210820032802202109200328021c210a2003280218210b20032d0014210c024020040d004104210d410021050c030b41002d008083d480001a200441002802f482d480001182808080000022070d01410421070b20072004200210b980808000000b2007200741036a417c71220d20076b22046a417e6a20043b00000b200d2008360210200d200936020c200d200a360208200d200b360204200d200c3a00002003200d360208200320053602042003410136020c200341106a41206a200141206a290200370300200341106a41186a200141186a290200370300200341106a41106a200141106a290200370300200341106a41086a200141086a29020037030020032001290200370310200341386a200341106a109d91808000024020032802384101470d0041242107410121040340200328024c210520032802482102200328024421082003280240210920032d003c210a024020042003280204470d00200341046a2004200328023041016a2201417f20011b4104411410ea908080002003280208210d0b200d20076a220120053602002001417c6a2002360200200141786a2008360200200141746a2009360200200141706a200a3a00002003200441016a220436020c200741146a2107200341386a200341106a109d9180800020032802380d000b0b200341106a10a591808000200041086a200341046a41086a280200360200200020032902043702000c010b2000410036020820004280808080c000370200200110a5918080000b200341d0006a2480808080000bb91a01097f200020011084918080000240024002400240024002400240024002400240200128020022004188808080782000418880808078481b4180808080786a0e080102030405060708000b200110da90808000024020012802142202450d002001280210210341002104034002402003200441a0016c6a2205280280012200418080808078460d0002402005280288012206450d0020052802840141186a210003400240200041146a2802002207418080808078460d002007450d00200041186a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200041086a280200450d002000410c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041cc006a21002006417f6a22060d000b20052802800121000b2000450d0020052802840122002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280200450d00200541086a10a1918080000b02402005280214450d002005411c6a10a1918080000b024020052802582206450d00200528025441246a210003400240200041706a280200450d00200041746a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041386a21002006417f6a22060d000b0b02402005280250450d00200528025422002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280228450d00200541306a10a1918080000b024020052802642200450d00200528026021082000410171210941002106024020004101460d002000417e71210a4100210620082100034002402000280200450d00200041046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b0240200041186a280200450d002000411c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041306a2100200a200641026a2206470d000b0b2009450d002008200641186c6a2200280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0240200528025c450d00200528026022002000417e6a2f00006b41002802ec82d48000118180808000000b024020052802702206450d00200528026c41246a210003400240200041706a280200450d00200041746a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041d8006a21002006417f6a22060d000b0b02402005280268450d00200528026c22002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280274450d00200528027822002000417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042002470d000b0b0240200128020c450d00200128021022002000417e6a2f00006b41002802ec82d48000118180808000000b02402001280218450d00200128021c22002000417e6a2f00006b41002802ec82d48000118180808000000b2001413c6a10a29180800002402001280224450d00200128022822002000417e6a2f00006b41002802ec82d48000118180808000000b024020012802502204450d00200128024c21084100210a034002402008200a41386c6a220528021c2206450d00200528021841246a210003400240200041706a280200450d00200041746a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041386a21002006417f6a22060d000b0b02402005280214450d00200528021822002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280220450d00200528022422002000417e6a2f00006b41002802ec82d48000118180808000000b200a41016a220a2004470d000b0b02402001280248450d00200128024c22002000417e6a2f00006b41002802ec82d48000118180808000000b200141e0006a10a3918080000f0b2001280204450d07200128020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b2001280204450d06200128020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b2001280204450d05200128020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b2001280204450d04200128020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b2001280204450d03200128020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b2001280204450d02200128020822002000417e6a2f00006b41002802ec82d48000118180808000000f0b200141046a10da90808000024020012802182204450d00200128021421084100210a034002402008200a41c4006c6a22052802242200418080808078460d000240200528022c2206450d002005280228210003400240200041186a2802002207418080808078460d002007450d002000411c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d00200041046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041386a21002006417f6a22060d000b200528022421000b2000450d00200528022822002000417e6a2f00006b41002802ec82d48000118180808000000b024020052802202206450d00200528021c2100034002402000280200450d00200041046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002006417f6a22060d000b0b02402005280218450d00200528021c22002000417e6a2f00006b41002802ec82d48000118180808000000b200a41016a220a2004470d000b0b02402001280210450d00200128021422002000417e6a2f00006b41002802ec82d48000118180808000000b200128021c450d01200128022022002000417e6a2f00006b41002802ec82d48000118180808000000f0b200141046a10da90808000024020012802182204450d00200128021421084100210a034002402008200a41d0006c6a22052802302200418080808078460d00024020052802382206450d002005280234210003400240200041186a2802002207418080808078460d002007450d002000411c6a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000280200450d00200041046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041386a21002006417f6a22060d000b200528023021000b2000450d00200528023422002000417e6a2f00006b41002802ec82d48000118180808000000b024020052802202206450d00200528021c2100034002402000280200450d00200041046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002006417f6a22060d000b0b02402005280218450d00200528021c22002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280224450d00200528022822002000417e6a2f00006b41002802ec82d48000118180808000000b200a41016a220a2004470d000b0b02402001280210450d00200128021422002000417e6a2f00006b41002802ec82d48000118180808000000b0240200128021c450d00200128022022002000417e6a2f00006b41002802ec82d48000118180808000000b024020012802442204450d00200128024021084100210a034002402008200a4105746a22052802082206450d0020052802042100034002402000280200450d00200041046a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402000410c6a280200450d00200041106a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b200041246a21002006417f6a22060d000b0b02402005280200450d00200528020422002000417e6a2f00006b41002802ec82d48000118180808000000b0240200528020c450d00200528021022002000417e6a2f00006b41002802ec82d48000118180808000000b200a41016a220a2004470d000b0b0240200128023c450d00200128024022002000417e6a2f00006b41002802ec82d48000118180808000000b200141d8006a10a3918080000b0b9106030b7f017e027f2380808080004180016b22032480808080004180808080782104200128024c21052001280248210602400240024020012802502207418080808078470d000c010b20012802542108200128025c21092001280260210a024002402001280258220b0d00410421040c010b41002d008083d480001a200b41386c220441002802f482d4800011828080800000220c450d02200c200c41036a417c712204200c6b220d6a417e6a200d3b00000b20034100360258200320043602542003200b36025020032007360264200320083602602003200836025c20032008200b41e8006c6a3602682003200236027820032004360274200341003602702003200341d8006a36026c200341dc006a200341ec006a10d290808000200328025021042003290254210e0b4100210b02400240200128021022080d004100210c0c010b200341086a41086a200141086a29030037030020032008360218200320012903003703082003200128021436021c4101210c2002200341086a10be9280800021070b02400240200128022822080d000c010b200341286a200141206a29030037030020032008360230200320012903183703202003200128022c3602344101210b2002200341206a10be92808000210d0b200128026c210f20012802682108200128026421102003200236027c20032010360274200320083602702003200836026c20032008200f41386c6a360278200341dc006a200341ec006a41d8c8ca800010de9080800002400240200128024022080d00410021080c010b200341c0006a200141386a29030037030020032008360248200320012903303703382003200128024436024c410121082002200341386a10be9280800021020b2000200536023c200020063602382000200a360234200020093602302000200e370228200020043602242000200d36020c2000200b360208200020073602042000200c3602002000200329025c3702182000200236021420002008360210200020012d00703a0040200041206a200341e4006a28020036020020034180016a2480808080000f0b4104200410ab80808000000bac0201047f23808080800041106b2202248080808000200028020821032002200028020c22043602042002200241046a360208200241086a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a22043602080240024020002802004101470d00200041046a2100024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200036020c2002410c6a20011083918080000c010b024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b200241106a2480808080000b8e0c01067f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110839180800002402004450d00200320044103746a21050340200328020021062002200341046a28020022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822076b4d0d0020012007200410f491808000200128020821070b200128020420076a2006200410f4978080001a2001200720046a360208200341086a22032005470d000b0b200028021021032002200028021422043602082002200241086a36020c2002410c6a200110839180800002402004450d002004410474210403402003200110e390808000200341106a2103200441706a22040d000b0b02400240024002400240024002400240024020002d00240e080001020304050607000b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41003a00002001200341016a360208200028022c21032002200028023022043602082002200241086a36020c2002410c6a20011083918080002004450d072004410574210403402003200110e590808000200341206a2103200441606a22040d000c080b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41013a00002001200341016a360208200028022c21032002200028023022043602082002200241086a36020c2002410c6a20011083918080002004450d06200441246c210403402003200110e690808000200341246a21032004415c6a22040d000c070b0b200041286a21040240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41023a00002002200436020c2002410c6a20011083918080000c050b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41033a00002001200341016a2203360208200028022821040240200128020020036b41034b0d0020012003410410f491808000200128020821030b2001200341046a360208200128020420036a200436000020022000412c6a36020c2002410c6a20011083918080000c040b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41043a00002001200341016a360208200028022c21032002200028023022043602082002200241086a36020c2002410c6a20011083918080002004450d032004410274210403402002200336020c2002410c6a2001108391808000200341046a21032004417c6a22040d000c040b0b0240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a41053a00002001200341016a220336020820002d00252104024020012802002003470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a20043a00000c020b200041286a21040240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41063a00002002200436020c2002410c6a20011083918080000c010b200041286a21040240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41073a00002002200436020c2002410c6a200110839180800020022000412c6a36020c2002410c6a20011083918080000b200028021c21032002200028022022043602082002200241086a36020c2002410c6a200110839180800002402004450d00200320044103746a21050340200328020021062002200341046a28020022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822076b4d0d0020012007200410f491808000200128020821070b200128020420076a2006200410f4978080001a2001200720046a360208200341086a22032005470d000b0b200241106a2480808080000b8e0201057f23808080800041106b22022480808080002000410c6a200110f9908080002002200041146a36020c2002410c6a2001108391808000200041186a200110f990808000200028020421032002200028020822003602082002200241086a36020c2002410c6a200110839180800002402000450d00200320004103746a21040340200328020021052002200341046a28020022003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822066b4d0d0020012006200010f491808000200128020821060b200128020420066a2005200010f4978080001a2001200620006a360208200341086a22032004470d000b0b200241106a2480808080000be50301057f23808080800041106b2202248080808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028020421042002200028020822053602082002200241086a36020c2002410c6a200110839180800002402005450d002005410574210503402004200110e590808000200441206a2104200541606a22050d000b0b20002d002021050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20053a0000200028021021042002200028021422053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021032002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822006b4d0d0020012000200510f491808000200128020821000b200128020420006a2003200510f4978080001a2001200020056a360208200441086a22042006470d000b0b200241106a2480808080000ba90203037f017e027f2380808080004180206b22032480808080000240024020014180b51820014180b518491b2204200120014101766b2205200420054b1b220441cd01490d002004ad42147e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541c0c6ca800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210919180800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341cc01200141c1004920021091918080000b20034180206a2480808080000ba90203037f017e027f2380808080004180206b22032480808080000240024020014195ac1420014195ac14491b2204200120014101766b2205200420054b1b220441ab01490d002004ad42187e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541c0c6ca800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210929180800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341aa01200141c1004920021092918080000b20034180206a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10e99080800020052802084101470d0120052802102102200528020c21060b2006200241c8c7ca800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b880401057f23808080800041106b2202248080808000200028022c21032002200028023022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a220436020820002d00342105024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20053a0000200041186a200110f290808000200028020421032002200028020822043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028021021042002200028021422003602082002200241086a36020c2002410c6a200110839180800002402000450d00200420004103746a21060340200428020021032002200441046a28020022003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822056b4d0d0020012005200010f491808000200128020821050b200128020420056a2003200010f4978080001a2001200520006a360208200441086a22042006470d000b0b200241106a2480808080000bd20301057f23808080800041106b2202248080808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a3602082002200041206a36020c2002410c6a2001108391808000200028020421032002200028020822043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028021021042002200028021422003602082002200241086a36020c2002410c6a200110839180800002402000450d00200420004103746a21060340200428020021032002200441046a28020022003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822056b4d0d0020012005200010f491808000200128020821050b200128020420056a2003200010f4978080001a2001200520006a360208200441086a22042006470d000b0b200241106a2480808080000bbb0602087f017e2380808080004180026b220424808080800041002105200441003602282004420037021c200442003702102004428080808080013702082001280200210620012802042107024002400240200128020822080d00410421090c010b41002d008083d480001a200841c4006c220a41002802f482d48000118280808000002201450d012001200141036a417c71220920016b220a6a417e6a200a3b0000200841f8006c210a200841037441786a41037641016a21052009210b200721010340200441c0006a200141f80010f4978080001a200441b8016a200441c0006a200441086a10e290808000200b200441b8016a41c40010f49780800041c4006a210b200141f8006a2101200a41887f6a220a0d000b0b02402006450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b200441086a200210be92808000210a20022d0024210b20022802202107200228021c210120042002280218360248200420013602442004200136024020042001200741386c6a36024c2004200441086a3602502004412c6a200441c0006a41d8c8ca800010dd908080002004200b3a003c2004200a360238200441086a200310be92808000210a200441b8016a41206a200441086a41206a280200220b360200200441b8016a41186a2202200441086a41186a290200220c370300200441b8016a41106a200441086a41106a290200370300200441b8016a41086a200441086a41086a290200370300200420042902083703b8012004200b4100200ca722011b360260200420042802d401220b36025c20042001360258200441003602542004200141004722073602502004200b36024c2004200136024820044100360244200420073602402000200441c0006a41f4ffcb800010a992808000200441c4016a10b392808000024020042802b801450d0020042802bc0122012001417e6a2f00006b41002802ec82d48000118180808000000b200210b29280800020002005360214200020093602102000200836020c2000200429022c370218200041206a2004412c6a41086a290200370200200041286a2004412c6a41106a2802003602002000200a36022c20044180026a2480808080000f0b4104200a10ab80808000000bf20201087f23808080800041306b220324808080800020012d0060210420012802442105200128024021060240024020012802004101470d00200128020c21072001280208210820012802042109200341106a200141206a290300370300200341086a200141186a29030037030020032001290310370300200341186a41106a200141386a290300370300200341186a41086a200141306a290300370300200320012903283703182002200310be92808000210a2002200341186a10be9280800021020c010b200341186a41106a200141186a290300370300200341206a200141106a290300370300200320012903083703182002200341186a10be92808000210841808080807821090b200020043a0034200020053602302000200636022c200020023602282000200a360224200020073602202000200836021c200020093602182000200129024837020020002001290358370210200041086a200141d0006a290200370200200341306a2480808080000b8d0301037f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110839180800002402004450d00200441386c210403402002200341346a36020c2002410c6a20011083918080002003200110e490808000200341386a2103200441486a22040d000b0b200028021021032002200028021422043602082002200241086a36020c2002410c6a200110839180800002402004450d00200441c4006c210403402003200110f090808000200341c4006a2103200441bc7f6a22040d000b0b2002200041246a36020c2002410c6a200110839180800020002d002821040240200128020020012802082203470d0020012003410110f491808000200128020821030b200128020420036a20043a00002001200341016a360208200028021c21032002200028022022043602082002200241086a36020c2002410c6a200110839180800020032004200110cb9080800020022000412c6a36020c2002410c6a2001108391808000200241106a2480808080000bb20701047f23808080800041106b2202248080808000200028023821032002200028023c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a2204360208024002402000280224418080808078460d00200041246a2105024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002005200110f1908080000c010b024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b0240024020002802004101470d00200041046a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a20011083918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b0240024020002802084101470d002000410c6a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a20011083918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b200028021c21042002200028022022053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541246c210503402004200110ec90808000200441246a21042005415c6a22050d000b0b0240024020002802104101470d00200041146a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a2001108391808000200128020821040c010b0240200128020020012802082205470d0020012005410110f491808000200128020821050b2001200541016a2204360208200128020420056a41003a00000b20002d00402105024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20053a0000200241106a2480808080000be50101047f23808080800041106b2202248080808000200028020c21032002200028021022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028020421042002200028020822003602082002200241086a36020c2002410c6a200110839180800002402000450d00200041386c210003402004200110eb90808000200441386a2104200041486a22000d000b0b200241106a2480808080000b940301077f23808080800041106b2202248080808000024002402000280200418080808078460d000240200128020020012802082203470d0020012003410110f491808000200128020821030b200041106a21042000410c6a2105200128020420036a41013a00002001200341016a360208200028020421032002200028020822063602082002200241086a36020c2002410c6a200110839180800002402006450d0020012802082100034020032d000021070240024020012802002000460d00200021080c010b20012000410110f491808000200128020821080b200341016a21032001200841016a2200360208200128020420086a20073a00002006417f6a22060d000b0b2002200536020c2002410c6a20011083918080002002200436020c2002410c6a20011083918080000c010b200041046a21000240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41003a00002002200036020c2002410c6a20011083918080000b200241106a2480808080000bd10301097f23808080800041206b22032480808080002003200136021c2003200228020022043602142003200228020422053602102003200536020c2003200520022802084105746a220236021820032003410c6a200520052003411c6a200210d7908080002003280218210220034280808080c0003702142003280210210620034284808080c00037020c20032802042107024020022006460d00200220066b41057621084100210903400240200620094105746a220a2802082201450d00200a28020441306a210203400240200241706a280200450d00200241746a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b02402002417c6a280200450d002002280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b200241386a21022001417f6a22010d000b0b0240200a280200450d00200a28020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200a28020c450d00200a28021022022002417e6a2f00006b41002802ec82d48000118180808000000b200941016a22092008470d000b0b20002005360204200020043602002000200720056b4105763602082003410c6a10d890808000200341206a2480808080000be30201057f23808080800041106b2202248080808000200028020c21032002200028021022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a3602082002200041146a36020c2002410c6a2001108391808000200028020421042002200028020822003602082002200241086a36020c2002410c6a200110839180800002402000450d00200420004103746a21060340200428020021032002200441046a28020022003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822056b4d0d0020012005200010f491808000200128020821050b200128020420056a2003200010f4978080001a2001200520006a360208200441086a22042006470d000b0b200241106a2480808080000bff0201067f23808080800041106b2202248080808000200028022c21032002200028023022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a3602082000280218200028021c2001108c918080002002200041346a36020c2002410c6a2001108391808000200028022421042002200028022822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021072002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822036b4d0d0020012003200510f491808000200128020821030b200128020420036a2007200510f4978080001a2001200320056a360208200441086a22042006470d000b0b20002001108191808000200241106a2480808080000bfb0301067f23808080800041106b2202248080808000200041346a210302402001280200200128020822046b411f4b0d0020012004412010f491808000200128020821040b200128020420046a22052003290000370000200541086a200341086a290000370000200541106a200341106a290000370000200541186a200341186a2900003700002001200441206a360208200028022c21042002200028023022033602082002200241086a36020c2002410c6a2001108391808000024020032001280200200128020822056b4d0d0020012005200310f491808000200128020821050b200128020420056a2004200310f4978080001a2001200520036a3602082000280218200028021c2001108c918080002002200041d4006a36020c2002410c6a2001108391808000200028022421032002200028022822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200320054103746a21060340200328020021072002200341046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822046b4d0d0020012004200510f491808000200128020821040b200128020420046a2007200510f4978080001a2001200420056a360208200341086a22032006470d000b0b20002001108191808000200241106a2480808080000b920401067f23808080800041106b2202248080808000200028024021032002200028024422043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a220436020820002d00482105024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20053a00002000412c6a200110f290808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028022421042002200028022822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021072002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822036b4d0d0020012003200510f491808000200128020821030b200128020420036a2007200510f4978080001a2001200320056a360208200441086a22042006470d000b0b20002001108191808000200241106a2480808080000bdc0301067f23808080800041106b2202248080808000200028022c21032002200028023022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a3602082002200041346a36020c2002410c6a2001108391808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028022421042002200028022822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021072002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822036b4d0d0020012003200510f491808000200128020821030b200128020420036a2007200510f4978080001a2001200320056a360208200441086a22042006470d000b0b20002001108191808000200241106a2480808080000b930201037f23808080800041106b22022480808080000240024020002802002203450d000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200028020422003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822046b4d0d0020012004200010f491808000200128020821040b200128020420046a2003200010f4978080001a200420006a21000c010b0240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a41003a0000200041016a21000b20012000360208200241106a2480808080000b830e020b7f017e23808080800041d0016b2206248080808000200641c8006a41086a200241dc006a28020036020020064100360234200642003702282006420037021c20064280808080800137021420062002290254370348200641146a200210be928080002107200641146a200241186a10be928080002108200641146a200241306a10be928080002109200641386a41086a200241d0006a280200360200200620022902483703384104210a2002280264210b2002280260210c4104210d02400240024020022802682202450d0041002d008083d480001a2002410474220d41002802f482d4800011828080800000220e450d01200e200e41036a417c71220d200e6b220f6a417e6a200f3b00000b2006419c016a41086a220e41003602002006200d3602a0012006200236029c012006200b200241386c6a360284012006200c360280012006200b36027c2006200b3602782006200d3602b001200641003602ac012006200e3602a8012006200641146a3602b401200641f8006a200641a8016a10cf90808000200641dc006a200e2802003602002006200629029c01370254200128020421022001280200210d024020012802082201450d0041002d008083d480001a200141a0016c220a41002802f482d4800011828080800000220b450d02200b200b41036a417c71220a200b6b220e6a417e6a200e3b00000b2006419c016a41086a220b41003602002006200a3602a0012006200136029c0120062002200141e0016c6a360284012006200d360280012006200236027c200620023602782006200a3602b001200641003602ac012006200b3602a8012006200641146a3602b401200641f8006a200641a8016a10d490808000200641e0006a41086a200b2802003602002006200629029c0137036020062003280200220f3602b00120062003280204220c3602ac012006200c3602a8012006200c200328020841386c6a22023602b4012006200641146a3602b801200641086a200641a8016a200c200c200641a8016a41106a200210d69080800020062802b401210220064280808080c0003702b00120062802ac01210a20064284808080c0003702a8012002200a6b41386e210e200628020c211002402002200a460d004100210d03400240200a200d41386c6a220328021c2201450d00200328021841306a210203400240200241706a280200450d00200241746a280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b02402002417c6a280200450d002002280200220b200b417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a21022001417f6a22010d000b0b02402003280214450d00200328021822022002417e6a2f00006b41002802ec82d48000118180808000000b02402003280220450d00200328022422022002417e6a2f00006b41002802ec82d48000118180808000000b200d41016a220d200e470d000b0b200641a8016a10d990808000200641146a200410be928080002101200641146a200441186a10be92808000210b200641146a200441306a10be928080002103200641003602bc01200641003602ac0120062005280204220d3602c4012006200528020022023602c0012006200d3602b401200620023602b00120062005280208410020021b3602c8012006200241004722023602b801200620023602a8012006200641146a3602cc01200641ec006a200641a8016a109f91808000200641f8006a41206a200641146a41206a280200220d360200200641f8006a41186a220a200641146a41186a2902002211370300200641f8006a41106a200641146a41106a290200370300200641f8006a41086a200641146a41086a290200370300200620062902143703782006200d41002011a722021b3602c8012006200628029401220d3602c401200620023602c001200641003602bc0120062002410047220e3602b8012006200d3602b401200620023602b001200641003602ac012006200e3602a8012000200641a8016a41f4ffcb800010a99280800020064184016a10b39280800002402006280278450d00200628027c22022002417e6a2f00006b41002802ec82d48000118180808000000b200a10b292808000200041146a200641e0006a41086a2802003602002000200629036037020c20002006290348370218200041206a200641c8006a41086a290300370200200041286a200641d8006a2903003702002000200936023820002008360234200020073602302000200629033837023c200041c4006a200641386a41086a2802003602002000200f3602482000200c36024c20002010200c6b41386e360250200020013602542000200b3602582000200336025c200041e8006a200641ec006a41086a2802003602002000200629026c370260200641d0016a2480808080000f0b4104200d10ab80808000000b4104200a41c0c5ca800010b980808000000b8812030c7f017e047f23808080800041a0026b22032480808080004180808080782104200128027c2105200128027821060240024002400240024002402001280280012207418080808078470d000c010b2001280284012108200128028c012109200128029001210a02400240200128028801220b0d004104210c0c010b41002d008083d480001a200b41cc006c220c41002802f482d4800011828080800000220d450d02200d200d41036a417c71220c200d6b220e6a417e6a200e3b00000b2003410036028c022003200c360288022003200b3602840220032008200b41f8006c6a36029c02200320073602980220032008360294022003200836029002200320023602e8012003200c3602e401200341003602e00120032003418c026a3602dc0120034190026a200341dc016a10d1908080002003280284022104200329028802210f0b4100210e41002110024020012802102208450d00200341306a41086a200141086a290300370300200341306a411c6a220b2001411c6a290200370200200341306a41246a200141246a2802003602002003200836024020032001290300370330200320012902143702442002200341306a10be928080002107200b280200210b2003280250210c2003280248210820032002360280022003200c410020081b3602fc012003200b3602f801200320083602f401200341003602f00120032008410047220c3602ec012003200b3602e801200320083602e401200341003602e0012003200c3602dc01200341dc006a200341dc016a10a09180800020032007360258410121100b024020012802382208450d00200341f0006a200141306a29030037030020034184016a220b200141c4006a2902003702002003418c016a200141cc006a28020036020020032008360278200320012903283703682003200129023c37027c2002200341e8006a10be928080002107200b280200210b200328028801210c200328028001210820032002360280022003200c410020081b3602fc012003200b3602f801200320083602f401200341003602f00120032008410047220c3602ec012003200b3602e801200320083602e401200341003602e0012003200c3602dc0120034194016a200341dc016a10a09180800020032007360290014101210e0b2001280298012108200128029401210d02400240200128029c01220b0d00410421070c010b41002d008083d480001a200b41386c220741002802f482d4800011828080800000220c450d02200c200c41036a417c712207200c6b22116a417e6a20113b00000b4100211120034184026a41086a220c410036020020032007360288022003200b3602840220032008200b41d0006c6a36029c022003200d3602980220032008360294022003200836029002200320023602e801200320073602e401200341003602e0012003200c3602dc0120034190026a200341dc016a10cd90808000200341086a200c2802003602002003200329028402370300024020012802602208450d00200341a0016a41086a200141d8006a290300370300200341bc016a220b200141ec006a290200370200200341c4016a200141f4006a280200360200200320083602b001200320012903503703a001200320012902643702b4012002200341a0016a10be928080002107200b280200210b20032802c001210c20032802b801210820032002360280022003200c410020081b3602fc012003200b3602f801200320083602f401200341003602f00120032008410047220c3602ec012003200b3602e801200320083602e401200341003602e0012003200c3602dc01200341d0016a200341dc016a10a091808000200320073602cc01410121110b20012802a401210b20012802a00121124104210d4104210c024020012802a8012207450d0041002d008083d480001a200741186c220c41002802f482d48000118280808000002208450d032008200841036a417c71220c20086b22136a417e6a20133b00000b20034184026a41086a220841003602002003200c3602880220032007360284022003200b200741306c6a36029c0220032012360298022003200b360294022003200b36029002200320023602e8012003200c3602e401200341003602e001200320083602dc0120034190026a200341dc016a10d590808000200341106a41086a2008280200360200200320032902840237031020012802b001210b20012802ac012112024020012802b4012207450d0041002d008083d480001a200741d8006c220d41002802f482d4800011828080800000220c450d04200c200c41036a417c71220d200c6b22136a417e6a20133b00000b200841003602002003200d3602880220032007360284022003200b200741f0006c6a36029c0220032012360298022003200b360294022003200b36029002200320023602e8012003200d3602e401200341003602e001200320083602dc0120034190026a200341dc016a10d090808000200341206a41086a2008280200360200200320032902840237032020012802c001210220012802bc01210820012802b801210b20012d00d80121070240024020012802c401220c41024f0d000c010b20012802cc01210d20012802c801211220012802d001211320012802d40121010b200020053602980120002006360294012000200a360290012000200936028c012000200f37028401200020043602800120002010360200200020032902583702042000200e3602142000200329029001370218200020032903003702502000410c6a200341d8006a41086a290200370200200041206a20034190016a41086a290200370200200041d8006a200341086a28020036020020002011360228200020073a009c012000200b360274200020083602782000200236027c2000200c36023c200020123602402000200d360244200020133602482000200136024c200041346a200341cc016a41086a290200370200200020032902cc0137022c200041e4006a200341106a41086a2802003602002000200329031037025c200041f0006a200341206a41086a28020036020020002003290320370268200341a0026a2480808080000f0b4104200c41c0c5ca800010b980808000000b4104200741c0c5ca800010b980808000000b4104200c10ab80808000000b4104200d41c0c5ca800010b980808000000b9d04010c7f23808080800041c0006b220324808080800020012802242104200128022021052001280244210620012802402107024002400240200128024822080d00410421090c010b41002d008083d480001a2008410c6c220941002802f482d4800011828080800000220a450d01200a200a41036a417c712209200a6b220b6a417e6a200b3b00000b200341146a41086a220a410036020020032009360218200320083602142003200620084105746a36022c2003200736022820032006360224200320063602202003200236023c20032009360238200341003602342003200a360230200341206a200341306a10ce90808000200341086a41086a2206200a280200360200200320032902143703082002200141286a10be9280800021082001280254210220012802502109200128024c210a024002402001280258220741024f0d000c010b2001280260210c200128025c210d2001280264210e2001280268210b0b200020043602302000200536022c200020032903083702142000200836025420002002360228200020093602242000200a36022020002001290200370234200041cc006a200141186a290200370200200041c4006a200141106a2902003702002000413c6a200141086a2902003702002000411c6a20062802003602002000200b3602102000200e36020c2000200c3602082000200d36020420002007360200200341c0006a2480808080000f0b4104200910ab80808000000ba804020d7f017e410121014101210202402000280230220341c000490d0041022102200341ffff004d0d00410441052003418080808004491b21020b02402000280234220341c000490d0041022101200341ffff004d0d00410441052003418080808004491b21010b410121044101210502402000280238220341c000490d0041022105200341ffff004d0d00410441052003418080808004491b21050b02402000280254220341c000490d0041022104200341ffff004d0d00410441052003418080808004491b21040b410121064101210702402000280258220341c000490d0041022107200341ffff004d0d00410441052003418080808004491b21070b20002802202108200028021421092000280208210a2000280250210b200028022c210c200028024421030240200028025c220d41c000490d0041022106200d41ffff004d0d0041044105200d418080808004491b21060b417f417f417f417f200a41386c200941a0016c6a41086a2209417f417f417f417f417f200841046a220820026a220220022008491b220220016a220120012002491b220120056a220220022001491b220141032003410474410472200341ffffffff004b1b6a220320032001491b2203200c4104746a41046a220120012003491b6a220320032009491b2203200b41386c6a41046a220120012003491b2203200720046a20066a6a220120012003491b22034103200035026842187e220ea7410472200e422088a71b6a220020002003491b0b890501047f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110839180800002402004450d00200441386c210403402002200341346a36020c2002410c6a20011083918080002003200110e490808000200341386a2103200441486a22040d000b0b200028021021032002200028021422043602082002200241086a36020c2002410c6a200110839180800002402004450d00200441a0016c210403402003200110ff90808000200341a0016a2103200441e07e6a22040d000b0b200028021c21052002200028022022033602082002200241086a36020c2002410c6a2001108391808000024020032001280200200128020822046b4d0d0020012004200310f491808000200128020821040b200128020420046a2005200310f4978080001a2001200420036a3602082002200041306a36020c2002410c6a20011083918080002002200041346a36020c2002410c6a20011083918080002002200041386a36020c2002410c6a20011083918080002000413c6a2001109c91808000200028022821032002200028022c22043602082002200241086a36020c2002410c6a200110839180800020032004200110ca90808000200028024c21032002200028025022043602082002200241086a36020c2002410c6a200110839180800002402004450d00200441386c2104034020032001108091808000200341386a2103200441486a22040d000b0b2002200041d4006a36020c2002410c6a20011083918080002002200041d8006a36020c2002410c6a20011083918080002002200041dc006a36020c2002410c6a2001108391808000200041e0006a2001109a91808000200241106a2480808080000b8a0c01067f23808080800041106b22022480808080002000280294012103200220002802980122043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a220436020802400240200028028001418080808078460d00024020012802002004470d0020012004410110f491808000200128020821040b200128020420046a41013a00002001200441016a360208200028028c012103200220002802900122043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a3602082000280284012104200220002802880122053602082002200241086a36020c2002410c6a20011083918080002005450d01200541cc006c210503402004200110f790808000200441cc006a2104200541b47f6a22050d000c020b0b024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b0240024020002802004101470d00200041046a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a2001108391808000200041086a2001109b918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b0240024020002802144101470d00200041186a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a20011083918080002000411c6a2001109b918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b200028025421042002200028025822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541386c210503402004200110f890808000200441386a2104200541486a22050d000b0b0240024020002802284101470d002000412c6a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a2001108391808000200041306a2001109b918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b200028026021042002200028026422053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541186c210503402004200110f490808000200441186a2104200541686a22050d000b0b200028026c21042002200028027022053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541d8006c210503402004200110f690808000200441d8006a2104200541a87f6a22050d000b0b20002d009c0121050240200128020020012802082204470d0020012004410110f491808000200128020821040b200128020420046a20053a00002001200441016a360208200028027821042002200028027c22053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021072002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822036b4d0d0020012003200510f491808000200128020821030b200128020420036a2007200510f4978080001a2001200320056a360208200441086a22042006470d000b0b2000413c6a2001108191808000200241106a2480808080000bc30301067f23808080800041106b2202248080808000200028022c21032002200028023022043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028021821042002200028021c22053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541386c210503402004200110f590808000200441386a2104200541486a22050d000b0b200028022421042002200028022822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021072002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822036b4d0d0020012003200510f491808000200128020821030b200128020420036a2007200510f4978080001a2001200320056a360208200441086a22042006470d000b0b2002200041346a36020c2002410c6a200110839180800020002001108191808000200241106a2480808080000bc50401047f23808080800041106b2202248080808000024002400240024020002802000e03000102000b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41003a00000c020b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00000c010b0240200128020020012802082203470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41023a0000200028020c21042002200028021022033602082002200241086a36020c2002410c6a2001108391808000024020032001280200200128020822056b4d0d0020012005200310f491808000200128020821050b200128020420056a2004200310f4978080001a2001200520036a2203360208024020002802042205450d00024020012802002003470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41013a00002002200028020822003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822036b4d0d0020012003200010f491808000200128020821030b200128020420036a2005200010f4978080001a2001200320006a3602080c010b024020012802002003470d0020012003410110f491808000200128020821030b2001200341016a360208200128020420036a41003a00000b200241106a2480808080000bf90301047f23808080800041106b22022480808080000240024020002802002203450d000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41023a00002002200028020422043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a2204360208024020002802082205450d00024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200028020c22003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822046b4d0d0020012004200010f491808000200128020821040b200128020420046a2005200010f4978080001a2001200420006a3602080c020b024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000c010b0240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a41013a00000b200241106a2480808080000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000bc01101047f23808080800041206b22022480808080004100210302400240417f2001108591808000220441046a220520052004491b22054100480d0041002d008083d480001a200541002802f482d480001182808080000022040d01410121030b2003200541d0c9ca800010b980808000000b2004417e6a41003b0000200220043602102002200536020c2004200128026c36000041042105200241043602140240024002400240024002400240024002400240200128020022044188808080782004418880808078481b4180808080786a0e09000102030405060708000b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a41083a00002002200441016a360214200128020821052002200128020c22043602182002200241186a36021c2002411c6a2002410c6a10839180800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2005200410f4978080001a2002200120046a3602140c080b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a41093a00002002200441016a360214200128020821052002200128020c22043602182002200241186a36021c2002411c6a2002410c6a10839180800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2005200410f4978080001a2002200120046a3602140c070b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a410a3a00002002200441016a360214200128020821052002200128020c22043602182002200241186a36021c2002411c6a2002410c6a10839180800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2005200410f4978080001a2002200120046a3602140c060b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a410b3a00002002200441016a360214200128020821052002200128020c22043602182002200241186a36021c2002411c6a2002410c6a10839180800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2005200410f4978080001a2002200120046a3602140c050b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a410c3a00002002200441016a360214200128020821052002200128020c22043602182002200241186a36021c2002411c6a2002410c6a10839180800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2005200410f4978080001a2002200120046a3602140c040b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a410d3a00002002200441016a360214200128020821052002200128020c22043602182002200241186a36021c2002411c6a2002410c6a10839180800002402004200228020c200228021422016b4d0d002002410c6a2001200410f491808000200228021421010b200228021020016a2005200410f4978080001a2002200120046a3602140c030b41042104200141046a21010240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a410e3a00002002200441016a36021420012002410c6a10ef908080000c020b410421040240200228020c4104470d002002410c6a4104410110f491808000200228021421040b200228021020046a410f3a00002002200441016a360214200128020821042002200128020c22053602182002200241186a36021c2002411c6a2002410c6a10839180800002402005450d00200541386c210503402002200441346a36021c2002411c6a2002410c6a10839180800020042002410c6a10e490808000200441386a2104200541486a22050d000b0b200128021421042002200128021822053602182002200241186a36021c2002411c6a2002410c6a10839180800002402005450d00200541d0006c2105034020042002410c6a108691808000200441d0006a2104200541b07f6a22050d000b0b20012d003821050240200228020c20022802142204470d002002410c6a2004410110f491808000200228021421040b200228021020046a20053a00002002200441016a3602142002200141286a36021c2002411c6a2002410c6a10839180800020022001412c6a36021c2002411c6a2002410c6a1083918080002002200141306a36021c2002411c6a2002410c6a1083918080002002200141346a36021c2002411c6a2002410c6a108391808000200128022021042002200128022422053602182002200241186a36021c2002411c6a2002410c6a108391808000200420052002410c6a10ca908080002002200141c8006a36021c2002411c6a2002410c6a108391808000200128024021042002200128024422053602182002200241186a36021c2002411c6a2002410c6a10839180800002402005450d0020054105742105034020042002410c6a108791808000200441206a2104200541606a22050d000b0b2002200141cc006a36021c2002411c6a2002410c6a1083918080002002200141d0006a36021c2002411c6a2002410c6a1083918080002002200141d4006a36021c2002411c6a2002410c6a108391808000200141d8006a2002410c6a109a918080000c010b0240200228020c4104470d002002410c6a4104410110f491808000200228021421050b200228021020056a41103a00002002200541016a36021420012002410c6a10fe908080000b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b830301047f024002400240024002400240024002400240024002400240200028020022014188808080782001418880808078481b4180808080786a0e09000102030405060708000b200028020c41046a21000c0a0b200028020c41046a21000c090b200028020c41046a21000c080b200028020c41046a21000c070b200028020c41046a21000c060b200028020c41046a21000c050b02402000280228220141c0004f0d00410621010c040b200141ffff004b0d02410721010c030b200041046a10909180800021000c030b200010fd9080800021000c020b4109410a2001418080808004491b21010b20002802182102200028020c210320002802242104024002402000280230220041c0004f0d00410121000c010b0240200041ffff004b0d00410221000c010b410441052000418080808004491b21000b417f417f417f200241c4006c200341386c41047222026a41046a220320032002491b220220044104742001726a220120012002491b220120006a220020002001491b21000b200041016a0bef0801057f23808080800041106b2202248080808000200028024421032002200028024822043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a2204360208024002402000280230418080808078460d00200041306a2105024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002005200110f1908080000c010b024020012802002004470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b0240024020002802004101470d00200041046a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a20011083918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b0240024020002802084101470d002000410c6a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a20011083918080000c010b0240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41003a00000b200028021c21042002200028022022053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541246c210503402004200110ec90808000200441246a21042005415c6a22050d000b0b0240024020002802104101470d00200041146a21050240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a2001108391808000200128020821040c010b0240200128020020012802082205470d0020012005410110f491808000200128020821050b2001200541016a2204360208200128020420056a41003a00000b20002d004c2105024020012802002004470d0020012004410110f491808000200128020821040b200128020420046a20053a00002001200441016a360208200028022821042002200028022c22053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021032002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822006b4d0d0020012000200510f491808000200128020821000b200128020420006a2003200510f4978080001a2001200020056a360208200441086a22042006470d000b0b200241106a2480808080000ba20301057f23808080800041106b2202248080808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028020421042002200028020822053602082002200241086a36020c2002410c6a200110839180800002402005450d00200541246c2105034020042001108b91808000200441246a21042005415c6a22050d000b0b200028021021042002200028021422053602082002200241086a36020c2002410c6a200110839180800002402005450d00200420054103746a21060340200428020021032002200441046a28020022053602082002200241086a36020c2002410c6a2001108391808000024020052001280200200128020822006b4d0d0020012000200510f491808000200128020821000b200128020420006a2003200510f4978080001a2001200020056a360208200441086a22042006470d000b0b200241106a2480808080000bfe0101067f024020034108490d00200020002003410376220341e0006c22046a2000200341a8016c22056a200310889180800021002001200120046a200120056a200310889180800021012002200220046a200220056a200310889180800021020b2000280200220620012802002207200041046a2802002203200141046a280200220420032004491b10f597808000210802402006200228020022092003200241046a280200220520032005491b10f5978080002206200320056b20061b2008200320046b20081b2203734100480d0020022001200720092004200520042005491b10f5978080002200200420056b20001b2003734100481b21000b20000b8d0101037f024020034108490d00200020002003410376220341d0006c22046a20002003418c016c22056a200310899180800021002001200120046a200120056a200310899180800021012002200220046a200220056a200310899180800021020b20002002200120002d0000220320012d00002204492205200420022d0000220649731b20052003200649731b0bef0101097f024020014108490d0020002001410376220341a8016c6a21042000200341e0006c6a210502400240200141c000490d00200020052004200310889180800021060c010b2000280200220720052802002208200041046a2802002201200541046a280200220320012003491b10f59780800021092000210620072004280200220a2001200441046a280200220b2001200b491b10f59780800022072001200b6b20071b2009200120036b20091b2201734100480d00200420052008200a2003200b2003200b491b10f59780800022062003200b6b20061b2001734100481b21060b200620006b41186e0f0b000bf50201057f23808080800041106b2202248080808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822056b4d0d0020012005200410f491808000200128020821050b200128020420056a2003200410f4978080001a2001200520046a360208200028020420002802082001108c918080002002200041206a36020c2002410c6a2001108391808000200028021021042002200028021422003602082002200241086a36020c2002410c6a200110839180800002402000450d00200420004103746a21060340200428020021032002200441046a28020022003602082002200241086a36020c2002410c6a2001108391808000024020002001280200200128020822056b4d0d0020012005200010f491808000200128020821050b200128020420056a2003200010f4978080001a2001200520006a360208200441086a22042006470d000b0b200241106a2480808080000be80101047f23808080800041106b2203248080808000200320013602082003200341086a36020c2003410c6a200210839180800002402001450d0020002001410c6c6a21040340200028020021052003200041046a28020022013602082003200341086a36020c2003410c6a2002108391808000024020012002280200200228020822066b4d0d0020022006200110f491808000200228020821060b200228020420066a2005200110f4978080001a2002200620016a3602082003200041086a36020c2003410c6a20021083918080002000410c6a22002004470d000b0b200341106a2480808080000bad0a020c7f017e23808080800041c0016b22072480808080002007410036022c200742003702202007420037021420074280808080800137020c20022d006c21082007410c6a200210be9280800021092007410c6a200241186a10be92808000210a2007410c6a200241306a10be92808000210b4104210c2002280264210d2002280260210e4104210f02400240024020022802682210450d0041002d008083d480001a2010410474220f41002802f482d48000118280808000002211450d012011201141036a417c71220f20116b22126a417e6a20123b00000b200741b4016a41086a221141003602002007200f3602b801200720103602b4012007200d201041386c6a3602742007200e3602702007200d36026c2007200d3602682007200f3602940120074100360290012007201136028c0120072007410c6a36029801200741e8006a2007418c016a10cf90808000200741306a41086a2011280200360200200720072902b4013703302007410c6a200241c8006a10be9280800021102001280200210f20012802042102024020012802082201450d0041002d008083d480001a200141d0006c220c41002802f482d4800011828080800000220d450d02200d200d41036a417c71220c200d6b220e6a417e6a200e3b00000b201141003602002007200c3602b801200720013602b4012007200220014107746a3602742007200f3602702007200236026c200720023602682007200c3602940120074100360290012007201136028c0120072007410c6a36029801200741e8006a2007418c016a10cc90808000200741c0006a41086a2011280200360200200720072902b4013703402007410c6a200310be928080002111200741d0006a2007410c6a200410f3908080002007410c6a200510be9280800021012007410c6a200541186a10be92808000210d2007410c6a200541306a10be928080002105200741003602a001200741003602900120072006280204220f3602a8012007200628020022023602a4012007200f36029801200720023602940120072006280208410020021b3602ac0120072002410047220236029c012007200236028c0120072007410c6a3602b001200741dc006a2007418c016a109f91808000200741e8006a41206a2007410c6a41206a2802002206360200200741e8006a41186a220f2007410c6a41186a2902002213370300200741e8006a41106a2007410c6a41106a290200370300200741e8006a41086a2007410c6a41086a2902003703002007200729020c3703682007200641002013a722021b3602ac01200720072802840122063602a801200720023602a401200741003602a00120072002410047220c36029c012007200636029801200720023602940120074100360290012007200c36028c0120002007418c016a41f4ffcb800010a992808000200741f4006a10b39280800002402007280268450d00200728026c22022002417e6a2f00006b41002802ec82d48000118180808000000b200f10b292808000200041146a200741c0006a41086a2802003602002000200729034037020c20002007290330370218200041206a200741306a41086a28020036020020002011360244200020083a0034200020103602302000200b36022c2000200a3602282000200936022420002007290250370238200041c0006a200741d0006a41086a280200360200200020053602502000200d36024c200020013602482000200729025c370254200041dc006a200741dc006a41086a280200360200200741c0016a2480808080000f0b4104200f10ab80808000000b4104200c10ab80808000000bd60201097f23808080800041306b220324808080800020012802242104200128022021052001280204210620012802002107024002400240200128022822080d00410421090c010b41002d008083d480001a2008410c6c220941002802f482d4800011828080800000220a450d01200a200a41036a417c712209200a6b220b6a417e6a200b3b00000b200341046a41086a220a410036020020032009360208200320083602042003200420084105746a36021c2003200536021820032004360214200320043602102003200236022c20032009360228200341003602242003200a360220200341106a200341206a10ce90808000200041086a200a2802003602002000200329020437020020002002200141086a10be928080003602202000200636021c20002007360218200020012802343602142000200129022c37020c200341306a2480808080000f0b4104200910ab80808000000bdb0603057f017e097f23808080800041a0016b2203248080808000200128024c2104200128024821054180808080782106024020012802502207418080808078460d00200129025c2108200128025421092001280258210a200320023602900120032009200a41e8006c6a36028c01200320073602880120032009360284012003200936028001200341246a20034180016a41d8c8ca800010dc90808000200341106a200837030020032003290228370308200328022421060b4100210b02400240200128021022090d004100210c0c010b200341386a41086a200141086a29030037030020032009360248200320012903003703382003200128021436024c4101210c2002200341386a10be92808000210d0b02400240200128022822090d000c010b200341d8006a200141206a29030037030020032009360260200320012903183703502003200128022c3602644101210b2002200341d0006a10be92808000210e0b200128026821092001280264210f024002400240200128026c22070d004104210a0c010b41002d008083d480001a200741246c220a41002802f482d48000118280808000002210450d012010201041036a417c71220a20106b22116a417e6a20113b00000b4100211120034194016a41086a221041003602002003200a36029801200320073602940120032009200741386c6a3602302003200f36022c20032009360228200320093602242003200236028c012003200a3602880120034100360284012003201036028001200341246a20034180016a10d390808000200341186a41086a22092010280200360200200320032902940137031802400240200128024022070d000c010b200341e8006a41086a200141386a29030037030020032007360278200320012903303703682003200128024436027c410121112002200341e8006a10be9280800021020b200020043602482000200536024420002006360230200020032903083702342000200e36020c2000200b3602082000200d3602042000200c360200200020032903183702182000200128027836022c200020012903703702242000413c6a200341086a41086a290300370200200041206a2009280200360200200020012d007c3a004c2000200236021420002011360210200341a0016a2480808080000f0b4104200a10ab80808000000bc804020c7f017e024002402000280224220141c0004f0d00410621020c010b0240200141ffff004b0d00410721020c010b4109410a2001418080808004491b21020b410121014101210302402000280228220441c000490d0041022103200441ffff004d0d00410441052004418080808004491b21030b0240200028022c220441c000490d0041022101200441ffff004d0d00410441052004418080808004491b21010b410121044101210502402000280230220641c000490d0041022105200641ffff004d0d00410441052006418080808004491b21050b02402000280244220641c000490d0041022104200641ffff004d0d00410441052006418080808004491b21040b410121064101210702402000280248220841c000490d0041022107200841ffff004d0d00410441052008418080808004491b21070b0240200028024c220841c000490d0041022106200841ffff004d0d00410441052008418080808004491b21060b20002802142108200028020821092000280220210a2000280240210b024002402000280250220c41c0004f0d004101210c0c010b0240200c41ffff004b0d004102210c0c010b41044105200c418080808004491b210c0b417f417f417f417f417f200941386c200841d0006c6a41086a2208200220036a20016a20056a200a4104746a6a220120012008491b220120046a220320032001491b2201200b4105746a41046a220320032001491b2201200620076a200c6a6a220320032001491b22014103200035025c42187e220da7410472200d422088a71b6a220020002001491b0bc80b05017f017e127f017e027f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802107024002402001418120490d00410141202001410172676b41017622087420012008766a41017621090c010b200120014101766b220841c000200841c000491b21090b2000416c6a210a200041286a210b410121084100210c4100210d03404100210e4101210f02402001200c4b2210450d002000200c41146c22116a2112024002402001200c6b22132009490d0002400240201341024f0d00201321140c010b024002400240024020122d0014221520122d00004922160d004102211420134102460d04200b20116a2117410221140340201541ff0171211820172d000022152018490d03201741146a21172013201441016a2214470d000c020b0b410221144101211920134102460d02200b20116a2117410221140340201541ff0171211820172d0000221520184f0d02201741146a21172013201441016a2214470d000b0b201321140b20142009490d022016450d010240201441024f0d00410121140c020b201441017621190b200a201441146c6a2117200021180340201820116a221328020021122013201720116a221528020036020020152012360200201541046a221228020021162012201341046a220e280200360200200e2016360200201341086a221228020021162012201541086a220e280200360200200e20163602002015410c6a2212280200211620122013410c6a220e280200360200200e2016360200201341106a221328020021122013201541106a2215280200360200201520123602002017416c6a2117201841146a21182019417f6a22190d000b0b2014410174410172210f0c010b024020040d002013200920132009491b410174210f0c010b20122013412020134120491b2213200220034100410020051099918080002013410174410172210f0b200f410176200c6aad200cad221a7c20077e200c20084101766bad201a7c20077e8579a7210e0b02400240200d4102490d00200a200c41146c22136a211b200020136a211c03402006418e026a200d417f6a22186a2d0000200e490d010240024002400240200641046a20184102746a28020022134101762217200841017622116a221220034b0d002013200872410171450d010b2000200c20126b41146c6a210d024020134101710d00200d201720022003201741017267410174413e73410020051099918080000b20084101710d01200d201741146c6a201120022003201141017267410174413e73410020051099918080000c010b201241017421080c010b024020084102490d0020134102490d00200320112017201120174922151b2208490d002002200d201741146c6a2213200d20151b200841146c221510f497808000221620156a2115024002400240201120174f0d00201b2108034020082013416c6a22132015416c6a221520152d0000221120132d000022144922191b2217290200370200200841086a201741086a290200370200200841106a201741106a2802003602002015201941146c6a21152013201120144f41146c6a2213200d460d022008416c6a210820152016470d000c020b0b024020080d00201621080c020b201621080340200d2013200820132d0000221120082d000022144922191b2217290200370200200d41086a201741086a290200370200200d41106a201741106a280200360200200d41146a210d2008201120144f41146c6a22082015460d022013201941146c6a2213201c470d000c020b0b2013210d201621080b200d2008201520086b10f4978080001a0b201241017441017221080b410121132018210d201841014b0d000c020b0b200d21130b2006418e026a20136a200e3a0000200641046a20134102746a200836020002402010450d00201341016a210d200f410176200c6a210c200f21080c010b0b20084101710d002000200120022003200141017267410174413e73410020051099918080000b200641d0026a2480808080000bb60d05017f017e127f017e017f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802107024002402001418120490d00410141202001410172676b41017622087420012008766a41017621090c010b200120014101766b220841c000200841c000491b21090b200041686a210a200041346a210b410121084100210c4100210d03404100210e4101210f02402001200c4b2210450d002000200c41186c22116a210e024002402001200c6b22122009490d0002400240201241024f0d00201221130c010b0240024002400240200e2802182214200e280200200e411c6a2802002215200e41046a280200221620152016491b10f5978080002217201520166b20171b41004822180d004102211320124102460d04200b20116a21164102211303402016417c6a2802002219201420162802002217201520172015491b10f5978080002214201720156b20141b4100480d03201641186a211620172115201921142012201341016a2213470d000c020b0b410221134101211920124102460d02200b20116a21164102211303402016417c6a2802002219201420162802002217201520172015491b10f5978080002214201720156b20141b417f4a0d02201641186a211620172115201921142012201341016a2213470d000b0b201221130b20132009490d022018450d010240201341024f0d00410121130c020b201341017621190b200a201341186c6a2116200021170340201620116a221528020021142015201720116a221228020036020020122014360200201241046a2214280200210e2014201541046a22182802003602002018200e360200201541086a2214280200210e2014201241086a22182802003602002018200e3602002012410c6a2214280200210e20142015410c6a22182802003602002018200e360200201541106a2214280200210e2014201241106a22182802003602002018200e360200201241146a221228020021142012201541146a221528020036020020152014360200201641686a2116201741186a21172019417f6a22190d000b0b2013410174410172210f0c010b024020040d002012200920122009491b410174210f0c010b200e2012412020124120491b2215200220034100410020051098918080002015410174410172210f0b200f410176200c6aad200cad221a7c20077e200c20084101766bad201a7c20077e8579a7210e0b02400240200d4102490d00200a200c41186c22156a211b200020156a211803402006418e026a200d417f6a22136a2d0000200e490d010240024002400240200641046a20134102746a280200220d4101762216200841017622176a221420034b0d00200d200872410171450d010b2000200c20146b41186c6a21150240200d4101710d002015201620022003201641017267410174413e73410020051098918080000b20084101710d012015201641186c6a201720022003201741017267410174413e73410020051098918080000c010b201441017421080c010b024020084102490d00200d4102490d00200320172016201720164922121b220d490d0020022015201641186c6a2208201520121b200d41186c221210f497808000221920126a2112024002400240201720164f0d00201b210d0340200841686a2116201241686a2117200d20172016201728020020162802002012416c6a28020022122008416c6a280200220820122008491b10f5978080002211201220086b20111b2212417f4a22111b2208290200370200200d41106a200841106a290200370200200d41086a200841086a29020037020020172012411f7641186c6a21122016201141186c6a22082015460d02200d41686a210d20122019470d000c020b0b0240200d0d002019210d0c020b2019210d03402015200d20082008280200200d280200200841046a2802002216200d41046a280200221720162017491b10f5978080002211201620176b20111b2211417f4a22171b2216290200370200201541106a201641106a290200370200201541086a201641086a290200370200201541186a2115200d201741186c6a220d2012460d0220082011411f7641186c6a22082018470d000c020b0b200821152019210d0b2015200d2012200d6b10f4978080001a0b201441017441017221080b410121152013210d201341014b0d000c020b0b200d21150b2006418e026a20156a200e3a0000200641046a20154102746a200836020002402010450d00201541016a210d200f410176200c6a210c200f21080c010b0b20084101710d002000200120022003200141017267410174413e73410020051098918080000b200641d0026a2480808080000bab04010a7f200028021820002802002000411c6a2802002202200041046a280200220320022003491b10f5978080002104200041c800413020002802482000280230200041cc006a2802002205200041346a280200220620052006491b10f5978080002207200520066b20071b41004822061b6a21052000413041c80020061b6a2106200620002004200220036b20041b2203417f73411f7641186c6a22022005200528020020002003411f7641186c6a2200280200200541046a2802002203200041046a280200220420032004491b10f5978080002207200320046b20071b41004822071b20062802002002280200200641046a2802002203200241046a280200220420032004491b10f5978080002208200320046b20081b41004822081b220328020020002005200220081b20071b2204280200200341046a2802002209200441046a280200220a2009200a491b10f597808000210b200141106a2005200020071b220041106a290200370200200141086a200041086a29020037020020012000290200370200200120032004200b2009200a6b200b1b41004822051b2200290200370218200141286a200041106a290200370200200141206a200041086a290200370200200141c0006a2004200320051b220041106a290200370200200141386a200041086a2902003702002001200029020037023020012002200620081b2200290200370248200141d0006a200041086a290200370200200141d8006a200041106a2902003702000bb20201087f23808080800041206b210402402002417f6a20014f0d00024020022001460d002000200141146c6a21052000200241146c22066a2107200441176a2108200441086a41086a21090340024020072d0000220a2007416c6a2d00004f0d002008200741106a2800003600002009200741096a290000370300200420072900013703082006210102400340200020016a22022002416c6a220b290200370200200241106a200b41106a280200360200200241086a200b41086a290200370200024020014114470d00200021020c020b2001416c6a2101200a200241586a2d0000490d000b200020016a21020b2002200a3a000020022004290308370001200241096a2009290300370000200241106a20082800003600000b200641146a2106200741146a22072005470d000b0b0f0b000bf60201087f23808080800041106b220424808080800002402002417f6a20014f0d00024020022001460d002000200141186c6a21052000200241186c22066a2107200441086a21080340024020072802002209200741686a280200200741046a280200220a2007416c6a2802002202200a2002491b10f5978080002201200a20026b20011b417f4a0d002008200741106a290200370300200420072902083703002006210102400340200020016a2202200241686a220b290200370200200241106a200b41106a290200370200200241086a200b41086a290200370200024020014118470d00200021020c020b200141686a21012009200241506a280200200a200241546a2802002202200a2002491b10f597808000220b200a20026b200b1b4100480d000b200020016a21020b2002200a3602042002200936020020022004290300370208200241106a20082903003702000b200641186a2106200741186a22072005470d000b0b200441106a2480808080000f0b000b8d0b03097f017e067f23808080800041106b22052480808080000240024020014102490d00024002402003200141106a490d004101210620022001410176220741186c22036a2108200020036a210902400240200141074d0d002000200210939180800020092008109391808000410421060c010b20022000290200370200200241106a200041106a290200370200200241086a200041086a29020037020020082009290200370200200841086a200941086a290200370200200841106a200941106a2902003702000b200120076b210a200620074f0d01200641186c210b2006210c03402002200c41186c220d6a22032000200d6a220d290200220e370200200341106a200d41106a220f290200370200200341086a200d41086a2902003702000240200ea72210200341686a280200200341046a28020022112003416c6a280200220320112003491b10f5978080002212201120036b20121b417f4a0d00200541086a2213200f2902003703002005200d290208370300200b210d024003402002200d6a2203200341686a2212290200370200200341106a201241106a290200370200200341086a201241086a2902003702000240200d4118470d00200221030c020b200d41686a210d2010200341506a2802002011200341546a280200220320112003491b10f5978080002212201120036b20121b4100480d000b2002200d6a21030b200320113602042003201036020020032005290300370208200341106a20132903003702000b200b41186a210b200c41016a220c2007470d000c020b0b000b02402006200a4f0d00200641186c210c2008210f4118211303402008200641186c220d6a22032009200d6a2211290200220e370200200341106a201141106a2210290200370200200341086a201141086a2902003702000240200ea7220b200341686a280200200341046a280200220d2003416c6a2802002203200d2003491b10f5978080002212200d20036b20121b417f4a0d00200541086a2214201029020037030020052011290208370300200f211120132110024003402011200c6a2203200341686a2212290200370200200341106a201241106a290200370200200341086a201241086a2902003702000240200c2010470d00200821030c020b201141686a2111201041186a2110200b200341506a280200200d200341546a2802002203200d2003491b10f5978080002212200d20036b20121b4100480d000b2011200c6a21030b2003200d3602042003200b36020020032005290300370208200341106a20142903003702000b200f41186a210f201341686a2113200641016a2206200a470d000b0b200841686a21032002200141186c41686a22116a210d200020116a2111034020002002200820082802002002280200200841046a2802002212200241046a280200221020122010491b10f597808000220c201220106b200c1b220c417f4a220b1b2212290200370200200041106a201241106a290200370200200041086a201241086a2902003702002011200d2003200d2802002003280200200d41046a2802002212200341046a280200221020122010491b10f5978080002206201220106b20061b2210417f4a1b2212290200370200201141106a201241106a290200370200201141086a201241086a2902003702002002200b41186c6a21022008200c411f7641186c6a210820032010411f75221241186c6a2103200d2012417f7341186c6a210d201141686a2111200041186a21002007417f6a22070d000b200341186a210302402001410171450d00200020022008200220034922121b2211290200370200200041106a201141106a290200370200200041086a201141086a2902003702002008200220034f41186c6a21082002201241186c6a21020b20022003470d012008200d41186a470d010b200541106a2480808080000f0b109c81808000000bf00e030d7f017e037f23808080800041206b22052480808080000240024020014102490d00024002402003200141106a490d00410121062001410176210702400240200141074d0d0020022000413c412820002d003c20002d00284922081b6a2203200020002d0014220920002d0000220a4941146c6a220b20032d0000200b2d000049220c1b220d290200370200200241086a200d41086a290200370200200241106a200d41106a280200360200200220004128413c20081b6a220820002009200a4f41146c6a220d2003200c1b20082d0000200d2d00004922091b220a200b2003200d20091b200c1b2203200a2d000020032d000049220c1b220b2902003702142002411c6a200b41086a290200370200200241246a200b41106a280200360200200241386a2003200a200c1b220341106a280200360200200241306a200341086a29020037020020022003290200370228200241cc006a200d200820091b220341106a280200360200200241c4006a200341086a2902003702002002200329020037023c2000200741146c220e6a220320032d0014220b20032d000022084941146c6a220c2003413c412820032d003c20032d00284922091b6a220d2003200b20084f41146c6a220b20034128413c20091b6a22082d0000200b2d00004922091b200d2d0000200c2d000049220a1b22062d0000210f2008200b200d200a1b20091b22102d000021112002200e6a2203200d200c200a1b220d290200370200200341086a200d41086a290200370200200341106a200d41106a2802003602002003201020062011200f49220c1b220d290200370214200341246a200d41106a2802003602002003411c6a200d41086a290200370200200341386a20062010200c1b220d41106a280200360200200341306a200d41086a2902003702002003200d290200370228200341cc006a200b200820091b220d41106a280200360200200341c4006a200d41086a2902003702002003200d29020037023c410421060c010b20022000290200370200200241106a200041106a280200360200200241086a200041086a2902003702002002200741146c220d6a22032000200d6a220d290200370200200341086a200d41086a290200370200200341106a200d41106a2802003602000b200120076b2111200620074f0d01200641146c2109200541176a21102006210803402002200841146c220d6a22032000200d6a220d2902002212370200200341106a200d41106a220b280200360200200341086a200d41086a29020037020002402012a7220a41ff0171220c2003416c6a2d00004f0d002010200b280000360000200541086a41086a220e200d41096a2900003703002005200d2900013703082009210d024003402002200d6a22032003416c6a220b290200370200200341106a200b41106a280200360200200341086a200b41086a2902003702000240200d4114470d00200221030c020b200d416c6a210d200c200341586a2d0000490d000b2002200d6a21030b2003200a3a000020032005290308370001200341096a200e290300370000200341106a20102800003600000b200941146a2109200841016a22082007470d000c020b0b000b2002200741146c22036a21090240200620114f0d00200020036a2113200641146c2108200541176a2114411421102009210e03402009200641146c220d6a22032013200d6a220d2902002212370200200341106a200d41106a220b280200360200200341086a200d41086a29020037020002402012a7220f41ff0171220a2003416c6a2d00004f0d002014200b280000360000200541086a41086a2215200d41096a2900003703002005200d2900013703082010210c200e210d02400340200d20086a22032003416c6a220b290200370200200341106a200b41106a280200360200200341086a200b41086a29020037020002402008200c470d00200921030c020b200c41146a210c200d416c6a210d200a200341586a2d0000490d000b200d20086a21030b2003200f3a000020032005290308370001200341096a2015290300370000200341106a20142800003600000b2010416c6a2110200e41146a210e200641016a22062011470d000b0b2009416c6a210d2002200141146c416c6a22036a210b200020036a2103034020002009200220092d0000220820022d0000220a4922061b220c290200370200200041086a200c41086a290200370200200041106a200c41106a280200360200200341106a200d200b200b2d00002210200d2d0000220e49220f1b220c41106a280200360200200341086a200c41086a2902003702002003200c2902003702002003416c6a2103200041146a2100200d416c4100200f1b6a210d200b416c41002010200e4f1b6a210b20022008200a4f41146c6a21022009200641146c6a21092007417f6a22070d000b200d41146a210302402001410171450d002000200220092002200349220c1b220d290200370200200041106a200d41106a280200360200200041086a200d41086a2902003702002009200220034f41146c6a21092002200c41146c6a21020b20022003470d012009200b41146a470d010b200541206a2480808080000f0b109c81808000000b8a0c01117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061096918080000c010b200241686a21080340024020040d002000200120022003410120061092918080000c020b200741106a2000200020012006108a91808000220941186c6a220a41106a290200370300200741086a200a41086a2902003703002007200a2902003703002004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10f597808000220d200b200c6b200d1b417f4a0d010b20032001490d014100210c2000210b2002200141186c220e6a220f21102009211103400240200b2000201141186c6a22124f0d0003402002201041686a2210200b280200200a280200200b41046a280200220d200a41046a2802002213200d2013491b10f5978080002214200d20136b20141b22134100481b200c41186c6a220d200b290200370200200d41106a200b41106a290200370200200d41086a200b41086a2902003702002013411f76200c6a210c200b41186a220b2012490d000b0b024020112001460d00201041686a2210200c41186c6a220d200b290200370200200d41106a200b41106a290200370200200d41086a200b41086a290200370200200b41186a210b200121110c010b0b20002002200c41186c221110f49780800021152001200c6b211202402001200c460d0020124101712116201520116a21174100211302402001200c41016a460d002012417e7121142008200e6a210d410021132017210b0340200b200d290200370200200b41106a200d41106a290200370200200b41086a200d41086a290200370200200b41186a200f201341feffffff017341186c6a2210290200370200200b41206a201041086a290200370200200b41286a201041106a290200370200200d41506a210d200b41306a210b2014201341026a2213470d000b0b2016450d002017201341186c6a220b200f2013417f7341186c6a220d290200370200200b41106a200d41106a290200370200200b41086a200d41086a2902003702000b200c450d002001200c4f0d02200741003602282007410136021c200741f0caca800036021820074204370220200741186a41f8caca800010fe80808000000b20032001490d004100210d2000210b2002200141186c220f6a2211211003400240200b2000200941186c6a22124f0d0003402002201041686a2210200a280200200b280200200a41046a280200220c200b41046a2802002213200c2013491b10f5978080002214200c20136b20141b417f4a22131b200d41186c6a220c200b290200370200200c41106a200b41106a290200370200200c41086a200b41086a290200370200200d20136a210d200b41186a220b2012490d000b0b024020092001460d002002200d41186c6a220c200b290200370200200c41106a200b41106a290200370200200c41086a200b41086a290200370200200b41186a210b200d41016a210d201041686a2110200121090c010b0b20002002200d41186c221310f497808000210b024002402001200d460d002001200d6b220c4101712112200b20136a21004100211002402001200d41016a460d00200c417e7121142008200f6a2113410021102000210b0340200b2013290200370200200b41106a201341106a290200370200200b41086a201341086a290200370200200b41186a2011201041feffffff017341186c6a220a290200370200200b41206a200a41086a290200370200200b41286a200a41106a290200370200201341506a2113200b41306a210b2014201041026a2210470d000b0b02402012450d002000201041186c6a220b20112010417f7341186c6a2213290200370200200b41106a201341106a290200370200200b41086a201341086a2902003702000b2001200d4f0d01200d20014188cbca8000109281808000000b200b200141186c6a41002002200320061096918080000c050b41002105200c2101200c41214f0d030c020b000b201520116a201220022003200420072006109891808000200c2101200c41214f0d010b0b2000200c2002200320061096918080000b200741306a2480808080000be20b01117f23808080800041306b220724808080800002400240200141214f0d00200020012002200320061097918080000c010b2002416c6a21080340024020040d002000200120022003410120061091918080000c020b200020014103762209418c016c6a210a2000200941d0006c6a210b02400240200141c000490d002000200b200a2009108991808000210c0c010b2000200a200b20002d00002209200b2d0000220d49220e200d200a2d0000220f49731b200e2009200f49731b210c0b2004417f6a2104200741106a200c41106a280200360200200741086a200c41086a2902003703002007200c290200370300200c20006b41146e2110024002400240024002402005450d0020052d0000200c2d00004f0d010b20032001490d014100210a200021092002200141146c22116a2212210d201021130340024020092000201341146c6a220f4f0d0003402002200d416c6a220d20092d0000200c2d000049220e1b200a41146c6a220b2009290200370200200b41106a200941106a280200360200200b41086a200941086a290200370200200a200e6a210a200941146a2209200f490d000b0b024020132001460d00200d416c6a220d200a41146c6a220b2009290200370200200b41106a200941106a280200360200200b41086a200941086a290200370200200941146a2109200121130c010b0b20002002200a41146c221410f49780800021152001200a6b211302402001200a460d0020134101712116201520146a21174100210d02402001200a41016a460d002013417e71210f200820116a210b4100210d2017210903402009200b290200370200200941106a200b41106a280200360200200941086a200b41086a290200370200200941146a2012200d41feffffff037341146c6a220e2902003702002009411c6a200e41086a290200370200200941246a200e41106a280200360200200b41586a210b200941286a2109200f200d41026a220d470d000b0b2016450d002017200d41146c6a22092012200d417f7341146c6a220b290200370200200941106a200b41106a280200360200200941086a200b41086a2902003702000b200a450d002001200a4f0d02200741003602282007410136021c200741f0caca800036021820074204370220200741186a41f8caca800010fe80808000000b20032001490d004100210b200021092002200141146c22146a2213210d0340024020092000201041146c6a220f4f0d0003402002200d416c6a220d200c2d000020092d00004f220e1b200b41146c6a220a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200b200e6a210b200941146a2209200f490d000b0b024020102001460d002002200b41146c6a220a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200941146a2109200b41016a210b200d416c6a210d200121100c010b0b20002002200b41146c220d10f4978080002109024002402001200b460d002001200b6b220a41017121122009200d6a21004100210e02402001200b41016a460d00200a417e71210c200820146a210d4100210e2000210903402009200d290200370200200941106a200d41106a280200360200200941086a200d41086a290200370200200941146a2013200e41feffffff037341146c6a220f2902003702002009411c6a200f41086a290200370200200941246a200f41106a280200360200200d41586a210d200941286a2109200c200e41026a220e470d000b0b02402012450d002000200e41146c6a22092013200e417f7341146c6a220d290200370200200941106a200d41106a280200360200200941086a200d41086a2902003702000b2001200b4f0d01200b20014188cbca8000109281808000000b2009200141146c6a41002002200320061097918080000c050b41002105200a2101200a41214f0d030c020b000b201520146a201320022003200420072006109991808000200a2101200a41214f0d010b0b2000200a2002200320061097918080000b200741306a2480808080000b960601097f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110839180800002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a210520042802900221042000417f6a22000d000b0b20074108490d010340200428029002280290022802900228029002280290022802900228029002280290022104200541786a22050d000c020b0b20064101710d0141cccdca800010a081808000000b2004210541002104410021070b02400240024002400240200720052f018e024f0d0020052100200721080c010b03402005280288022200450d02200441016a210420052f018c02210820002105200820002f018e024f0d000b0b20040d01200841016a2107200021050c020b41bccdca800010a081808000000b200020084102746a4194026a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a210920052802900221052004417f6a22040d000b0b200a4107490d000340200528029002280290022802900228029002280290022802900228029002280290022105200941786a22090d000b0b200020084103746a22042802b0012109200220042802b40122043602082002200241086a36020c2002410c6a2001108391808000200020084104746a2100024020042001280200200128020822086b4d0d0020012008200410f491808000200128020821080b200128020420086a2009200410f4978080001a2001200820046a36020820022000410c6a36020c2002410c6a2001108391808000200028020421082002200028020822043602082002200241086a36020c2002410c6a2001108391808000024020042001280200200128020822006b4d0d0020012000200410f491808000200128020821000b200128020420006a2008200410f4978080001a2001200020046a360208410021042003417f6a22030d000b0b200241106a2480808080000be80401097f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110839180800002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a210520042802c40121042000417f6a22000d000b0b20074108490d01034020042802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012104200541786a22050d000c020b0b20064101710d0141cccdca800010a081808000000b2004210541002104410021070b02400240024002400240200720052f01b6014f0d0020052100200721080c010b034020052802b0012200450d02200441016a210420052f01b401210820002105200820002f01b6014f0d000b0b20040d01200841016a2107200021050c020b41bccdca800010a081808000000b200020084102746a41c8016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a210920052802c40121052004417f6a22040d000b0b200a4107490d00034020052802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012105200941786a22090d000b0b200020084104746a2109200020086a2d00b80121000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a000020092001108291808000410021042003417f6a22030d000b0b200241106a2480808080000bb908010a7f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110839180800002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a210520042802980121042000417f6a22000d000b0b20074108490d010340200428029801280298012802980128029801280298012802980128029801280298012104200541786a22050d000c020b0b20064101710d0141cccdca800010a081808000000b2004210541002104410021070b02400240024002400240200720052f018a014f0d0020052100200721080c010b034020052802002200450d02200441016a210420052f018801210820002105200820002f018a014f0d000b0b20040d01200841016a2107200021050c020b41bccdca800010a081808000000b200020084102746a419c016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a210920052802980121052004417f6a22040d000b0b200a4107490d000340200528029801280298012802980128029801280298012802980128029801280298012105200941786a22090d000b0b20002008410c6c6a41046a2109200020086a2d008c0121000240200128020020012802082204470d0020012004410110f491808000200128020821040b2001200441016a360208200128020420046a20003a0000200928020421042002200928020822003602082002200241086a36020c2002410c6a200110839180800002402000450d002000410274210803400240024020042802002200413f4b0d00200041027421090240200128020020012802082200470d0020012000410110f491808000200128020821000b200128020420006a20093a0000200041016a21000c010b0240200041ffff004b0d002000410274410172210902402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b200128020420006a20093b0000200041026a21000c010b0240200041ffffffff034b0d002000410274410272210902402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b200128020420006a2009360000200041046a21000c010b02402001280200220920012802082200470d0020012000410110f49180800020012802002109200128020821000b2001280204220a20006a41033a00002001200041016a22003602082004280200210b0240200920006b41034b0d0020012000410410f4918080002001280204210a200128020821000b200a20006a200b360000200041046a21000b200441046a2104200120003602082008417c6a22080d000b0b410021042003417f6a22030d000b0b200241106a2480808080000bbe0601077f0240024002400240200128022022020d002001280200210241002103200141003602002002410171450d010240200128020422020d0020012802082102200128020c2204450d0002400240200441077122030d00200421050c010b2004210503402005417f6a210520022802c40121022003417f6a22030d000b0b20044108490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200541786a22050d000b0b034020022002417e6a2f00006b210520022802b001210241002103200541002802ec82d480001181808080000020020d000c020b0b20012002417f6a36022002400240200128020022024101470d0020012802040d00200128020821020240200128020c2204450d0002400240200441077122030d00200421050c010b2004210503402005417f6a210520022802c40121022003417f6a22030d000b0b20044108490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d030b2001280208210402400240200128020c2203200128020422022f01b6014f0d00200221050c010b034020022802b0012205450d0320022f01b401210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f01b6014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a41c8016a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a210720022802c40121022004417f6a22040d000b0b20084107490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200741786a22070d000b0b2001200636020c20014100360208200120023602042000200520036a2d00b8013a00042000200520034104746a2202290200370208200041106a200241086a290200370200410121030b200020033602000f0b20022002417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b41accdca800010a081808000000beb0601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802980421022004417f6a22040d000b0b20034108490d000340200228029804280298042802980428029804280298042802980428029804280298042102200541786a22050d000b0b034020022002417e6a2f00006b21052002280290042102200541002802ec82d480001181808080000020020d000b0b20004180808080783602200f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802980421022004417f6a22040d000b0b20034108490d000340200228029804280298042802980428029804280298042802980428029804280298042102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082103024002400240200128020c2204200128020422022f0196044f0d00200221050c010b03402002280290042205450d0220022f019404210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f0196044f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a419c046a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802980421022003417f6a22030d000b0b20084107490d000340200228029804280298042802980428029804280298042802980428029804280298042102200741786a22070d000b0b2001200636020c200141003602082001200236020420002005200441286c6a22022903583703082000200520044103746a290200370300200041106a200241e0006a290300370300200041186a200241e8006a290300370300200041206a200241f0006a290300370300200041286a200241f8006a2903003703000f0b20022002417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b41accdca800010a081808000000be90301057f23808080800041d0006b2202248080808000200241206a41206a200141206a290200370300200241206a41186a200141186a290200370300200241206a41106a200141106a290200370300200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a4198ccca800010df9080800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c21012002200241cf006a360220024020034101460d00024020034115490d0020012003200241206a10e8908080000c010b200120034101200241206a1095918080000b2002280208210441002d008083d480001a024041900241002802f482d480001182808080000022050d00410441900210ab80808000000b2005200541036a417c7120056b22066a220541003b018e0220054100360288022005417e6a20063b000020022005360214200241003602182002410036021c20022001200341186c6a360244200220043602402002200136023c200220013602382002418180808078360228200241146a200241206a2002411c6a10c9908080002000200228021c360208200020022902143702000b200241d0006a2480808080000be50301057f23808080800041d0006b2202248080808000200241206a41206a200141206a290200370300200241206a41186a200141186a290200370300200241206a41106a200141106a290200370300200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a4198ccca800010e09080800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c21012002200241cf006a360220024020034101460d00024020034115490d0020012003200241206a10e7908080000c010b200120034101200241206a1094918080000b2002280208210441002d008083d480001a024041c40141002802f482d480001182808080000022050d00410441c40110ab80808000000b2005200541036a417c7120056b22066a220541003b01b601200541003602b0012005417e6a20063b000020022005360214200241003602182002410036021c20022001200341146c6a360244200220043602402002200136023c2002200136023820024102360220200241146a200241206a2002411c6a10c8908080002000200228021c360208200020022902143702000b200241d0006a2480808080000b990501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802c40121012004417f6a22040d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200041786a22000d000b0b20012104410021020b024002400240200220042f01b6014f0d00200421000c010b034020042802b0012200450d0220042f01b401210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f01b6014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a41c8016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802c40121002005417f6a22050d000b0b20014107490d00034020002802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802c40121002005417f6a22050d000b0b20024108490d00034020002802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012100200441786a22040d000b0b034020002000417e6a2f00006b210420002802b0012100200441002802ec82d480001181808080000020000d000b0b0bd10501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802980121012005417f6a22050d000b0b20024108490d000340200128029801280298012802980128029801280298012802980128029801280298012101200041786a22000d000b0b20012100410021020b024002400240200220002f018a014f0d0020022105200021010c010b034020002802002201450d0220002f018801210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f018a014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a419c016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802980121002004417f6a22040d000b0b20074107490d000340200028029801280298012802980128029801280298012802980128029801280298012100200641786a22060d000b0b024020012005410c6c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802980121002005417f6a22050d000b0b20024108490d000340200028029801280298012802980128029801280298012802980128029801280298012100200441786a22040d000b0b034020002000417e6a2f00006b210120002802002100200141002802ec82d480001181808080000020000d000b0b0bd00501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802900221012005417f6a22050d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200041786a22000d000b0b20012100410021020b024002400240200220002f018e024f0d0020022105200021010c010b03402000280288022201450d0220002f018c02210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f018e024f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4194026a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802900221002004417f6a22040d000b0b20074107490d000340200028029002280290022802900228029002280290022802900228029002280290022100200641786a22060d000b0b0240200120054104746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802900221002005417f6a22050d000b0b20024108490d000340200028029002280290022802900228029002280290022802900228029002280290022100200441786a22040d000b0b034020002000417e6a2f00006b21012000280288022100200141002802ec82d480001181808080000020000d000b0b0bbe0601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802980421012003417f6a22030d000b0b20024108490d000340200128029804280298042802980428029804280298042802980428029804280298042101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f0196044f0d00200121040c010b03402001280290042204450d0220012f019404210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f0196044f0d000b0b0240024020030d00200241016a2105200421010c010b200420024102746a419c046a2802002101410021052003417f6a2206450d002003417e6a2107024020064107712203450d0003402006417f6a210620012802980421012003417f6a22030d000b0b20074107490d000340200128029804280298042802980428029804280298042802980428029804280298042101200641786a22060d000b0b2000200536020c200041003602082000200136020402402004200241286c6a41f0006a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b41accdca800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802980421012003417f6a22030d000b0b20024108490d000340200128029804280298042802980428029804280298042802980428029804280298042101200441786a22040d000b0b034020012001417e6a2f00006b21042001280290042101200441002802ec82d480001181808080000020010d000b0b0b830601057f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802c40121012003417f6a22030d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f01b6014f0d00200121040c010b034020012802b0012204450d0220012f01b401210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f01b6014f0d000b0b0240024020030d00200241016a21020c010b200420024102746a41c8016a2802002104410021022003417f6a2201450d002003417e6a2105024020014107712203450d0003402001417f6a210120042802c40121042003417f6a22030d000b0b20054107490d00034020042802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012104200141786a22010d000b0b2000200236020c2000410036020820002004360204200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d480001181808080000041acc4ca800010a081808000000b41accdca800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802c40121012003417f6a22030d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200441786a22040d000b0b034020012001417e6a2f00006b210420012802b0012101200441002802ec82d480001181808080000020010d000b0b0bf406020f7f027e23808080800041306b220224808080800002400240024002402001200028021422032f01ba0222046a2205410c4f0d00200028020c22062f01ba0222072001490d012006200720016b22083b01ba02200320053b01ba02200341b4016a22092001410c6c6a20092004410c6c10f9978080001a200320014104746a2003200441047410f9978080001a2007200841016a220a6b22072001417f6a470d022009200641b4016a220b200a410c6c6a2007410c6c220c10f497808000210920032006200a4104746a2007410474220710f4978080002103200241086a220d200620084104746a220e41086a2902003703002002200e290200370300200b2008410c6c6a220b41086a280200210e2000280200220f20002802082210410c6c6a22082902b40121112008200b2902003702b401200241106a41086a220b200841bc016a22082802003602002008200e36020020022011370310200241206a41086a200f20104104746a220841086a220e2902002211370300200220082902002212370320200e200d290300370200200820022903003702002009200c6a220841086a200b28020036020020082002290310370200200320076a220841086a20113702002008201237020020002802182108024002402000280210450d002008450d01200341bc026a2200200141027422016a2000200441027441046a10f9978080001a20002006200a4102746a41bc026a200110f4978080001a200541016a2208410371210641002101024020054103490d00200341c8026a21002008413c712104410021010340200041746a280200220820013b01b802200820033602b001200041786a2802002208200141016a3b01b802200820033602b0012000417c6a2802002208200141026a3b01b802200820033602b00120002802002208200141036a3b01b802200820033602b001200041106a21002004200141046a2201470d000b0b2006450d05200141027420036a41bc026a210003402000280200220820013b01b802200820033602b001200041046a2100200141016a21012006417f6a22060d000c060b0b2008450d040b41c0d3ca8000412841e8d3ca8000108081808000000b41c4d2ca8000413341f8d2ca8000108081808000000b4188d3ca8000412741b0d3ca8000108081808000000b418cd2ca8000412841b4d2ca8000108081808000000b200241306a2480808080000b840802127f027e23808080800041306b22022480808080000240024002402001200028020c22032f01ba0222046a2205410c4f0d00200028021422062f01ba0222072001490d01200320053b01ba022006200720016b22053b01ba02200241086a220820062001410474220941706a220a6a220741086a29020037030020022007290200370300200241106a41086a220b2000280200220c2000280208220d410c6c6a220e41bc016a220f280200360200200641b4016a22072001410c6c221041746a22116a221241086a2802002113200e2902b4012114200e20122902003702b401200f201336020020022014370310200241206a41086a200c200d4104746a220e41086a220c29020022143703002002200e2902002215370320200c2008290300370200200e200229030037020020032004410c6c6a220e41bc016a200b280200360200200e41b4016a2002290310370200200320044104746a220841086a201437020020082015370200200e41c0016a2007201110f4978080001a2003200441016a220e4104746a2006200a10f4978080001a2007200720106a2005410c6c10f9978080001a2006200620096a200541047410f997808000210620002802182107024002402000280210450d002007450d01200341bc026a2209200e4102746a200641bc026a22002001410274220710f49780800021082000200020076a200541027441046a10f9978080001a20082802002200200e3b01b802200020033602b001024020014101460d002009200441026a22004102746a280200220720003b01b802200720033602b00120014102460d002009200441036a22004102746a280200220720003b01b802200720033602b00120014103460d002009200441046a22004102746a280200220720003b01b802200720033602b00120014104460d002009200441056a22014102746a280200220020013b01b802200020033602b0010b200541016a2204410371210341002101024020054103490d00200641c8026a21002004417c712104410021010340200041746a280200220520013b01b802200520063602b001200041786a2802002205200141016a3b01b802200520063602b0012000417c6a2802002205200141026a3b01b802200520063602b00120002802002205200141036a3b01b802200520063602b001200041106a21002004200141046a2201470d000b0b2003450d04200141027420066a41bc026a210003402000280200220520013b01b802200520063602b001200041046a2100200141016a21012003417f6a22030d000c050b0b2007450d030b41c0d3ca8000412841f4d4ca8000108081808000000b41f8d3ca8000413241acd4ca8000108081808000000b41bcd4ca8000412841e4d4ca8000108081808000000b200241306a2480808080000bf307010f7f23808080800041106b220224808080800002400240200128020c22032f01ba02220441016a2205200128021422062f01ba0222076a2208410c4f0d00200128021021092001280204210a2001280200220b2f01ba02210c200320083b01ba02200241086a220d200b2001280208220e410c6c6a220141bc016a280200360200200220012902b401370300200141b4016a200141c0016a200c200e417f736a220f410c6c10f9978080001a200341b4016a22012004410c6c6a221041086a200d2802003602002010200229030037020020012005410c6c6a200641b4016a2007410c6c10f4978080001a200d200b200e4104746a220141086a290200370300200220012902003703002001200141106a200f41047410f9978080001a200320044104746a220141086a200d29030037020020012002290300370200200320054104746a2006200741047410f4978080001a200b200e41016a22014102746a220d41bc026a200d41c0026a200f41027410f9978080001a02402001200c4f0d00200c200e6b417e6a21100240200f410371220d450d00200e410274200b6a41c0026a210e0340200e280200220f20013b01b802200f200b3602b001200e41046a210e200141016a2101200d417f6a220d0d000b0b20104103490d002001410274200b6a41c8026a210e0340200e41746a280200220d20013b01b802200d200b3602b001200e41786a280200220d200141016a3b01b802200d200b3602b001200e417c6a280200220d200141026a3b01b802200d200b3602b001200e280200220d200141036a3b01b802200d200b3602b001200e41106a210e200c200141046a2201470d000b0b200b200b2f01ba02417f6a3b01ba020240200a4102490d00200741016a2201200820046b470d02200341bc026a20054102746a200641bc026a200141027410f4978080001a02402001410371220b450d00200441027420036a41c0026a210103402001280200220e20053b01b802200e20033602b001200141046a2101200541016a2105200b417f6a220b0d000b0b20074103490d002005410274210b03402003200b6a220141bc026a280200220e20053b01b802200e20033602b001200141c0026a280200220e200541016a3b01b802200e20033602b001200141c4026a280200220e200541026a3b01b802200e20033602b001200141c8026a2802002201200541036a220e3b01b802200120033602b001200541046a2105200b41106a210b200e2008470d000b0b20062006417e6a2f00006b41002802ec82d48000118180808000002000200936020420002003360200200241106a2480808080000f0b41a4d6ca8000412a41d0d6ca8000108081808000000b418cd2ca8000412841b4d2ca8000108081808000000b921101127f23808080800041c0016b2203248080808000200341c8006a41086a22042001280200220520012802082206410c6c6a220741bc016a280200360200200320072902b401370348200741b4016a200741c0016a20052f01ba0222082006417f736a2209410c6c10f9978080001a200341dc006a200520064104746a220741086a290200370200200320072902003702542007200741106a200941047410f9978080001a20052008417f6a22073b01ba022001280204210a0240200741ffff037141044b0d00024020052802b0012201450d00200a41016a2108024002400240024020052f01b80222090d0020012f01ba020d012003410136028801200341c0d0ca80003602840120034200370290012003200341bc016a36028c0120034184016a41c8d1ca800010fe80808000000b2003200a360228200320053602242003200a3602202003200836021420032009417f6a2208360218200320013602102003200120084102746a2802bc02220136021c024020012f01ba022208200741ffff037122016a41016a410c490d00200341106a410110a691808000200641016a21060c040b200620014b0d01200620086a41016a2106200341086a200341106a10a89180800020032802082105200328020c210a0c030b2003200a3602442003200a36023c2003200536023820034100360234200320083602302003200136022c200320012802c00222013602400240200741ffff0371220720012f01ba026a41016a410c490d002003412c6a410110a7918080000c030b200620074b0d0120032003412c6a10a891808000200328020021052003280204210a0c020b4184d5ca8000418e014194d6ca8000108081808000000b4184d5ca8000418e014194d6ca8000108081808000000b20052802b0012209450d0020092f01ba02220741044b0d00200a41016a210b0240024002400340200b21012009220c2802b0012209450d01200741ffff0371210d200141016a210b0240024002400240200c2f01b80222070d00024020092f01ba02220e0d00200341013602a401200341c0d0ca80003602a001200342003702ac012003200341bc016a3602a801200341a0016a41c8d1ca800010fe80808000000b2003200136029c0120032001360294012003200c360290014100210f2003410036028c012003200b360288012003200936028401200320092802c002220736029801200d41016a220120072f01ba0222106a2211410c4f0d01200c21082007210c200d21122010210d0c030b20032001360280012003200c36027c200320013602782003200b36026c20032007417f6a220f3602702003200936026820032009200f4102746a2802bc022208360274200d20082f01ba0222126a41016a410c490d01200341e8006a4105200d6b10a6918080000c070b20034184016a4105200d6b10a7918080000c060b201241016a2201200d6a211120092f01ba02210e0b200820113b01ba02200341a0016a41086a22072009200f410c6c6a221041bc016a280200360200200320102902b4013703a001201041b4016a201041c0016a200e41ffff03712213200f417f736a220e410c6c10f9978080001a200841b4016a22102012410c6c6a221441086a2007280200360200201420032903a00137020020102001410c6c6a200c41b4016a200d410c6c10f4978080001a20072009200f4104746a221041086a290200370300200320102902003703a0012010201041106a200e41047410f9978080001a200820124104746a221041086a2007290300370200201020032903a001370200200820014104746a200c200d41047410f4978080001a2009200f41016a22074102746a221441bc026a2210201441c0026a200e41027410f9978080001a0240201320074d0d002013200f6b417e6a21140240201320076b410371220f450d0003402010280200220e20073b01b802200e20093602b001201041046a2110200741016a2107200f417f6a220f0d000b0b20144103490d00200920074102746a41c8026a21100340201041746a280200220f20073b01b802200f20093602b001201041786a280200220f200741016a3b01b802200f20093602b0012010417c6a280200220f200741026a3b01b802200f20093602b0012010280200220f200741036a3b01b802200f20093602b001201041106a21102013200741046a2207470d000b0b200920092f01ba02417f6a3b01ba020240200b4102490d00200d41016a2207201120126b470d03200841bc026a2001410274220f6a200c41bc026a200741027410f4978080001a0240201120016b220e41016a4103712210450d002008200f6a41bc026a210703402007280200220f20013b01b802200f20083602b001200741046a2107200141016a21012010417f6a22100d000b0b200e4103490d00200141027421100340200820106a220741bc026a280200220f20013b01b802200f20083602b001200741c0026a280200220f200141016a3b01b802200f20083602b001200741c4026a280200220f200141026a3b01b802200f20083602b001200741c8026a2802002207200141036a220f3b01b802200720083602b001200141046a2101201041106a2110200f2011470d000b0b200c200c417e6a2f00006b41002802ec82d480001181808080000020092f01ba02220741044d0d000c040b0b200741ffff0371450d010c020b418cd2ca8000412841b4d2ca8000108081808000000b024002402002450d00200228020422070d0141d8d1ca8000412141fcd1ca8000108081808000000b41f0cfca800010a081808000000b200228020022012802bc02220841003602b00120022007417f6a3602042002200836020020012001417e6a2f00006b41002802ec82d48000118180808000000b20002003290348370200200020063602242000200a3602202000200536021c200041186a200341c8006a41186a280200360200200041106a200341c8006a41106a290300370200200041086a2004290300370200200341c0016a2480808080000bbd0604077f017e017f027e23808080800041e0006b2204248080808000200128020821052001280200210602400240200128020422070d0020042005360208200441003602042004200636020020002004200228020010a9918080000c010b20022802002108200620054102746a2802bc02210102402007417f6a2202450d002007417e6a2105024020024103712207450d0003402002417f6a2102200120012f01ba024102746a2802bc0221012007417f6a22070d000b0b20054103490d000340200120012f01ba024102746a2802bc02220120012f01ba024102746a2802bc02220120012f01ba024102746a2802bc02220120012f01ba024102746a2802bc0221012002417c6a22020d000b0b2004200136020c200420013301ba024220864280808080707c370210200441186a2004410c6a200810a991808000200441c0006a41086a2206200441186a41086a2208280200360200200441d0006a41086a22092004412c6a220a2902003703002004200429021837034020042004290224370350200428023821020240200428023c2207200428023422012f01ba02490d000340200241016a210220012f01b802220720012802b00122012f01ba024f0d000b0b20012007410c6c6a22052902b401210b200520042903403702b401200541bc016a2205280200210c200520062802003602002008200c360200200120074104746a2205290200210d20052004290350370200200541086a2205290200210e20052009290300370200200a200e3702002004200b3703182004200d3702240240024020020d00200741016a21050c010b200120074102746a41c0026a2802002101410021052002417f6a2207450d002002417e6a2106024020074107712202450d0003402007417f6a210720012802bc0221012002417f6a22020d000b0b20064107490d00034020012802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022101200741786a22070d000b0b2000200429031837020020002005360224200041003602202000200136021c200041186a200441186a41186a280200360200200041106a200441186a41106a290300370200200041086a200441186a41086a2903003702000b200441e0006a2480808080000bd90401097f23808080800041306b2203248080808000200128020821040240024002400240024020012802002205450d00200128020420056b210620040d01200621070c020b024020040d0041002108200341003602082003428080808010370200200128020c210920012802042101200341086a210a410121060c030b200128020c20046b21070c010b200128020c20046b20066a22072006490d020b4100210602400240024020074100480d00024020070d00410121060c030b41002d008083d480001a200741002802f482d480001182808080000022060d01410121060b20062007200210b980808000000b2006417e6a41003b00000b41002108200341003602082003200636020420032007360200200128020c210920012802042101200341086a210a024002400240024002402005450d00200120056b210b20040d01200b21080c020b2004450d04200920046b21080c010b200920046b200b6a2208200b490d010b200820074b0d01410021080c020b2003410036021c2003410136021020034188d8ca800036020c200342043702142003410c6a200210fe80808000000b2003410020084101410110c39180800020032802042106200328020821080b2003200936021820032004360214200320013602102003200536020c2003200636022c200320083602282003200a3602242003410c6a200341246a10c091808000200041086a200341086a28020036020020002003290200370200200341306a2480808080000f0b2003410036021c2003410136021020034188d8ca800036020c200342043702142003410c6a200210fe80808000000bf60201067f23808080800041306b220124808080800020002802042102024020002802082203450d002002210403400240024002400240024020042d00000e050404010203000b02400240200441046a28020022050d0041002105410021060c010b200120053602242001410036022020012005360214200141003602102001200441086a2802002205360228200120053602182004410c6a2802002106410121050b2001200636022c2001200536021c2001200536020c2001410c6a10be918080000c030b200441046a280200450d02200441086a28020022052005417e6a2f00006b41002802ec82d48000118180808000000c020b200441046a280200450d01200441086a28020022052005417e6a2f00006b41002802ec82d48000118180808000000c010b200441046a10ac918080000b200441106a21042003417f6a22030d000b0b02402000280200450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b200141306a2480808080000bcc0201047f23808080800041306b2201248080808000024020002802082202450d002000280204210003400240024002400240024020002d00000e050404010203000b02400240200041046a28020022030d0041002103410021040c010b200120033602242001410036022020012003360214200141003602102001200041086a2802002203360228200120033602182000410c6a2802002104410121030b2001200436022c2001200336021c2001200336020c2001410c6a10be918080000c030b200041046a280200450d02200041086a28020022032003417e6a2f00006b41002802ec82d48000118180808000000c020b200041046a280200450d01200041086a28020022032003417e6a2f00006b41002802ec82d48000118180808000000c010b200041046a10ac918080000b200041106a21002002417f6a22020d000b0b200141306a2480808080000bbb0202027f017e2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002903004101200110fc8080800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000b140020012000280200200028020410b4818080000bb40202027f017e2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002903004101200110fc8080800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000b140020012000280204200028020810b4818080000b900201027f23808080800041106b22022480808080002002200041086a360204200128020041a0d9ca80004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41a6d9ca8000410820004180d9ca8000108a818080001a200241086a41aed9ca8000410a200241046a4190d9ca8000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b1e00200128020041b8d9ca80004105200128020428020c118080808000000b850403017f057e017f2380808080004180016b220324808080800002400240024020012802004101470d002003200129031022043703102003200129030822053703082003427f2002290308220620022903187c220720072006541b22073703202003427f2002290300220620022903107c220820082006541b2206370318024020052006560d0020042007580d020b41002802b483d48000450d01200341c584808000ad4220862205200341086aad8437033020032005200341186aad84370328410028029080d480002102410028028c80d48000210141002802b083d48000210920034202370274200341b4dbca80003602682003411636026420034195dcca80003602602003410136025c200341c4dbca8000ad4280808080900a8437025420034100360250200341abdcca8000ad4280808080f002843702482003410036024420034281808080902937023c2003410236026c2002419cf4ca8000200941024622091b28021021022003200341286a360270200141b4f4ca800020091b2003413c6a2002118b808080000020032903102104200329030821050c010b2000427f2002290308220520022903187c220420042005541b3703082000427f2002290300220520022903107c220420042005541b3703000c010b20002007200420072004541b37030820002006200520062005541b3703000b20034180016a2480808080000b820102017f057e23808080800041106b22032480808080002002290310210420022903002105200229031821062002290308210720032001200210b491808000200329030021082000427f200720067c220620062007541b20032903087d3703082000427f200520047c220720072005541b20087d370300200341106a2480808080000bf50303027f017e037f2380808080004190016b220224808080800041002103200241086a2000200141002802b482d480001186808080000002402002280208450d00200241186a41086a200241086a41086a290200220437030020022002290208370318200228021c2105024002402004a7220641034b0d004100210341002802b483d48000450d012002413c6a41c7dcca800041022000200110c591808000200241c684808000ad4220862002418f016aad84370330200241c784808000ad4220862002413c6aad84370328410028029080d480002101410028028c80d48000210041002802b083d480002107200242023702800120024102360278200241e0dcca800036027420024110360270200241c9ddca800036026c20024101360268200241f0dcca8000ad4280808080900b843702602002410036025c200241d9ddca8000ad42808080808004843702542002410036025020024281808080c0033702482001419cf4ca8000200741024622071b28021021012002200241286a36027c200041b4f4ca800020071b200241c8006a2001118b8080800000200228023c450d01200228024022012001417e6a2f00006b41002802ec82d48000118180808000000c010b200528000021030b200241246a200520062002280218280210118680808000000b20024190016a24808080800020030bd60303027f017e027f23808080800041c0006b2201248080808000200141246a41f9ddca8000410441abdcca800041174104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080c00037020c2001410c6a41bcceca800010a093808000200128021022044100360208200442808080808001370200200441003a00202004410336021c200441c2dcca80003602182004410036021420044280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41bcceca800010a0938080000b2001280234410141246c6a220441013a00202004410236021c200441c5dcca8000360218200442043702102004420037020820044280808080800137020002402002418080808078470d0041ccceca8000411141e0ceca800010a181808000000b20012802342104200128023021052000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002005360204200041013a0000200020012903003702502000410141016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000bd10404027f017e037f017e23808080800041d0006b2201248080808000200141306a41fdddca8000410d41abdcca800041174104410010c292808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a2204410036020020014280808080c000370218200141186a41bcceca800010a093808000200128021c22054100360208200542808080808001370200200541003a00202005410636021c2005418adeca80003602182005410036021420054280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41bcceca800010a0938080000b2001280244410141246c6a220541013a00202005410b36021c20054190deca800036021820054204370210200542003702082005428080808080013702002004410141016a2206360200200120012903402207370318024020062007a7470d00200141186a41bcceca800010a0938080000b200128021c200641246c6a220541023a00202005410936021c2005419bdeca8000360218200542043702102005420037020820054280808080800137020002402002418080808078470d0041ccceca8000411141e0ceca800010a181808000000b200128021c2105200128021821042000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041013a0000200020012903083702502000200641016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000bd30903047f037e0e7f23808080800041d0006b220224808080800020012802002103200128020c21042001410036020c024002402004450d002001410c6a21052001290210210641ca84808000ad422086210741cb84808000ad422086200241306aad84210803402006a721090240024002400240024002400240024002402006422088220620043301ba025a0d002006a7210a0c010b2004210b0340200b2802b0012204450d02200941016a2109200b2f01b802210a2004210b200a20042f01ba024f0d000b0b20022004200a410c6c6a41b4016a220b3602302003280200220c2802080d054100210c200b280208220d4100480d02200b280204210b200d0d014101210e0c040b20004180808080783602000c080b41002d008083d480001a200d41002802f482d4800011828080800000220e0d014101210c0b200c200d41d086c0800010b980808000000b200e417e6a41003b00000b200e200b200d10f497808000210b2002200d36023c2002200b3602382002200d3602340c010b2002410236020c200241bcdfca8000360208200242023702142002200837034820022007200cad843703402002200241c0006a360210200241346a200241086a10b280808000200228023c210d2002280238210e0b2004200a4104746a210f200e200d6a21102003280208221141047421124100211320032802042214210b02400340201220132215460d01200b280204210c02400240200b2802082216200d470d00200c200e200d10f597808000450d010b200b41106a210b201541106a2113200c200c20166a200e201010c191808000450d010b0b0240201420156a410c6a2d00000d004100210b024002400240200d4100480d000240200d0d004101210b0c030b41002d008083d480001a200d41002802f482d4800011828080800000220b0d014101210b0b200b200d41d086c0800010b980808000000b200b417e6a41003b00000b200b200e200d10f497808000210b2002200d3602102002200b36020c2002200d360208200f20142011200241086a10c7918080000b02402002280234450d002002280238220b200b417e6a2f00006b41002802ec82d48000118180808000000b0240024020090d00200a41016a21130c010b2004200a4102746a41c0026a2802002104410021132009417f6a220b450d002009417e6a21150240200b410771220c450d000340200b417f6a210b20042802bc022104200c417f6a220c0d000b0b20154107490d00034020042802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022104200b41786a220b0d000b0b200120133602142001420037020c200129021021060c010b0b02402002280234450d002002280238220b200b417e6a2f00006b41002802ec82d48000118180808000000b2001280204220b200b280200417f6a3602002002200a3602482002200936024420022004360240200241086a200241c0006a200141086a200241346a10aa91808000200041186a200241086a41186a280200360200200041106a200241086a41106a290200370200200041086a200241086a41086a29020037020020002002290208370200200241c0006a41086a2002412c6a2802002204360200200220022902242206370340200541086a2004360200200520063702000c010b20004180808080783602000b200241d0006a2480808080000b140020012000280204200028020810b4818080000b1900200120002802002200280204200028020810b4818080000b4101017f024020002802002200417f460d0020002000280204417f6a220136020420010d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0b140020012000280204200028020810b4818080000b9e0b01087f23808080800041306b2201248080808000024020002802202202450d000240034020002002417f6a36022002400240200028020022024101470d0020002802040d00200028020821020240200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802bc0221022004417f6a22040d000b0b20034108490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200541786a22050d000b0b2000420037020820002002360204200041013602000c010b2002450d020b20002802082103024002400240200028020c2204200028020422022f01ba024f0d00200221050c010b034020022802b0012205450d0220022f01b802210420022002417e6a2f00006b41002802ec82d4800011818080800000200341016a210320052102200420052f01ba024f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41c0026a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802bc0221022003417f6a22030d000b0b20084107490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200741786a22070d000b0b2000200636020c2000410036020820002002360204200520044104746a2103024020052004410c6c6a22022802b401450d00200241b4016a28020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020032d00000e050404010203000b02400240200328020422020d0041002102410021050c010b2001200236022420014100360220200120023602142001410036021020012003280208220236022820012002360218200328020c2105410121020b2001200536022c2001200236021c2001200236020c2001410c6a10be918080000c030b2003280204450d02200328020822022002417e6a2f00006b41002802ec82d48000118180808000000c020b2003280204450d01200328020822022002417e6a2f00006b41002802ec82d48000118180808000000c010b0240200328020c2205450d002003280208210203400240024002400240024020022d00000e050404010203000b02400240200241046a28020022040d0041002104410021070c010b200120043602242001410036022020012004360214200141003602102001200241086a2802002204360228200120043602182002410c6a2802002107410121040b2001200736022c2001200436021c2001200436020c2001410c6a10be918080000c030b200241046a280200450d02200241086a28020022042004417e6a2f00006b41002802ec82d48000118180808000000c020b200241046a280200450d01200241086a28020022042004417e6a2f00006b41002802ec82d48000118180808000000c010b200241046a10ac918080000b200241106a21022005417f6a22050d000b0b2003280204450d00200328020822022002417e6a2f00006b41002802ec82d48000118180808000000b200028022022020d010c030b0b20022002417e6a2f00006b41002802ec82d480001181808080000041e4d7ca800010a081808000000b41a8dfca800010a081808000000b200028020021022000410036020002402002410171450d000240200028020422020d0020002802082102200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802bc0221022004417f6a22040d000b0b20034108490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200541786a22050d000b0b034020022002417e6a2f00006b210520022802b0012102200541002802ec82d480001181808080000020020d000b0b200141306a2480808080000bd60303027f017e027f23808080800041c0006b2201248080808000200141246a41ccdfca8000410d41d9dfca800041234104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080c00037020c2001410c6a41bcceca800010a093808000200128021022044100360208200442808080808001370200200441003a00202004410436021c200441fcdfca80003602182004410036021420044280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41bcceca800010a0938080000b2001280234410141246c6a220441013a00202004410836021c20044180e0ca8000360218200442043702102004420037020820044280808080800137020002402002418080808078470d0041ccceca8000411141e0ceca800010a181808000000b20012802342104200128023021052000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002005360204200041013a0000200020012903003702502000410141016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000bfd03010a7f024020002802002202450d00200220002802042203460d00200320026b22044103712105200128020421062001280208210702400240200220036b417c4d0d00410021030c010b200720066a21082004417c712109410021030340200820036a2204200220036a220a2d00003a0000200441016a200a41016a2d00003a0000200441026a200a41026a2d00003a0000200441036a200a41036a2d00003a00002009200341046a2203470d000b200620036a21060b02402005450d00200220036a21030340200720066a20032d00003a0000200341016a2103200641016a21062005417f6a22050d000b0b200120063602040b024020002802082202450d00200128020421042001280200210b02402002200028020c2203460d0020012802082107200320026b220a410371210502400240200220036b417c4d0d00410021030c010b200720046a2108200a417c712109410021030340200820036a220a200220036a22062d00003a0000200a41016a200641016a2d00003a0000200a41026a200641026a2d00003a0000200a41036a200641036a2d00003a00002009200341046a2203470d000b200420036a21040b2005450d00200220036a21030340200720046a20032d00003a0000200341016a2103200441016a21042005417f6a22050d000b0b200b20043602000f0b200128020020012802043602000bea0401057f0240024020002001460d0003400240024020002c00002204417f4c0d00200041016a2100200441ff017121040c010b20002d0001413f7121052004411f71210602402004415f4b0d0020064106742005722104200041026a21000c010b200541067420002d0002413f717221050240200441704f0d0020052006410c74722104200041036a21000c010b200541067420002d0003413f71722006411274418080f00071722204418080c400460d02200041046a21000b0240200441df00460d004100210620022003460d030240024020022c00002205417f4c0d00200241016a2102200541ff017121050c010b20022d0001413f7121072005411f71210802402005415f4b0d0020084106742007722105200241026a21020c010b200741067420022d0002413f717221070240200541704f0d0020072008410c74722105200241036a21020c010b200741067420022d0003413f71722008411274418080f00071722205418080c400460d04200241046a21020b024002402005419f7f6a411a4f0d00200541df007121050c010b2005418080c400460d040b200441df007120042004419f7f6a411a491b2005470d030b20002001470d000b0b024020022003460d000240024020022c00002200417f4c0d00200041ff017121000c010b20022d0001413f7121042000411f71210502402000415f4b0d00200541067420047221000c010b200441067420022d0002413f717221040240200041704f0d0020042005410c747221000c010b200441067420022d0003413f71722005411274418080f00071722200418080c400460d010b410021062000418080c400470d010b410121060b20060b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10c29180800020052802084101470d0120052802102102200528020c21060b200620024180e1ca800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b100020004204370208200042003702000b940701077f23808080800041106b22052480808080004101210641002107024002400240200441017420026a22084100480d002008450d0241002d008083d480001a200841002802f482d480001182808080000022060d01410121070b200720084180e2ca800010b980808000000b2006417e6a41003b00000b410021072005410036020c200520063602082005200836020402402002450d00200120026a2109410021070340024002400240024020012c00002208417f4a0d0020012d0001413f7121022008411f71210a2008415f4b0d01200a4106742002722108200141026a21010c020b200141016a2101200841ff017121084101210b410121020c020b200241067420012d0002413f717221020240200841704f0d002002200a410c74722108200141036a21010c010b200241067420012d0003413f7172200a411274418080f00071722108200141046a21010b4101210b024020084180014f0d00410121020c010b410221024100210b2008418010490d0041034104200841808004491b21020b2007210a02402002200528020420076b4d0d00200541046a200720024101410110c391808000200528020c210a200528020821060b2006200a6a210a024002400240200b0d002008418010490d010240200841808004490d00200a2008413f71418001723a0003200a200841127641f001723a0000200a2008410676413f71418001723a0002200a2008410c76413f71418001723a00010c030b200a2008413f71418001723a0002200a2008410c7641e001723a0000200a2008410676413f71418001723a00010c020b200a20083a00000c010b200a2008413f71418001723a0001200a200841067641c001723a00000b2005200220076a220736020c20012009470d000b0b02402004450d00034020032d000022084104762201413072200141d7006a200841a001491b210b200721010240200720052802042202470d00200541046a200741014101410110c39180800020052802042102200528020c21010b2005280208220a20016a200b3a00002005200741016a220136020c2008410f712208413072200841d7006a2008410a491b2108024020012002470d00200541046a200241014101410110c391808000200528020c21012005280208210a0b200341016a2103200a20016a20083a00002005200741026a220736020c2004417f6a22040d000b0b20002005290204370200200041086a200541046a41086a280200360200200541106a2480808080000bda0201047f23808080800041d0006b2201248080808000024002400240024041afe4ca8000411310b69180800022020e020001020b41002802b483d480004102490d02410028029080d480002102410028028c80d48000210341002802b083d4800021042001420037024420014281808080c00037023c200141a0e5ca800036023820014125360234200141a8e5ca8000ad4280808080e00b84370224200141003602202001410036021420014281808080800937020c20014186e6ca800036023020014186e6ca8000ad4280808080d004843702182001410236022c200341b4f4ca8000200441024622041b2001410c6a2002419cf4ca800020041b280210118b80808000000c020b41afe4ca80004113410028029482d48000118b80808000000c010b20012002417f6a36020c41afe4ca800041132001410c6a410441002802dc82d48000118380808000000b200141d0006a2480808080000b8c0602047f017e2380808080004180016b2204248080808000024020002d00004105470d002004200236020820042001360204200420033602000240024020002802042202450d00200041046a2105024020002802082206450d0002400240200641077122070d00200621010c010b2006210103402001417f6a210120022802bc0221022007417f6a22070d000b0b20064108490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200141786a22010d000b0b2004420037021c200420023602182004200536021420042000410c6a3602100c010b2004420037021420042000410c6a3602100b2004200436020c200441246a2004410c6a10b9918080002004280224418080808078460d00200441c0006a41106a21010340200441c0006a41186a200441246a41186a2802003602002001200441246a41106a290200370300200441c0006a41086a200441246a41086a29020037030020042004290224220837034002402008a7450d00200428024422022002417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020042d004c0e050404010203000b02400240200428025022020d0041002102410021070c010b200420042802542207360278200420023602742004410036027020042007360268200420023602642004410036026041012102200428025821070b2004200736027c2004200236026c2004200236025c200441dc006a10be918080000c030b2004280250450d02200428025422022002417e6a2f00006b41002802ec82d48000118180808000000c020b2004280250450d01200428025422022002417e6a2f00006b41002802ec82d48000118180808000000c010b200110ad918080002004280250450d00200428025422022002417e6a2f00006b41002802ec82d48000118180808000000b200441246a2004410c6a10b9918080002004280224418080808078470d000b0b02402003280200450d00200328020422022002417e6a2f00006b41002802ec82d48000118180808000000b20044180016a2480808080000bfd0303057f017e017f23808080800041306b2201248080808000200141246a41bce6ca8000410310c3928080002001410036022020014280808080c00037021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2204418381808000360218200442acf6debeefe0d9c8d300370310200442efc9c9edb5e7b3a6c70037030820044101360204200441bfe6ca80003602002004417e6a20033b0000200141086a2205200141186a220241086a2802003602002001200229020037030020012902282106200128022421032001410036021420014280808080800137020c2001410c6a4194edca800010b5928080002001280210220242efc9c9edb5e7b3a6c7003703002002410036023020024280808080c00037032820024100360220200241003602182002418381808000360210200242acf6debeefe0d9c8d3003703082003418080808078460d01200128020c2102200128021021072000410136024c20002004360248200041013602442000200637023c200020033602382000410136020c2000200736020820002002360204200041003a000020002001290300370250200041d8006a2005280200360200200141306a2480808080000f0b4108412010ab80808000000b41a4edca8000411141b8edca800010a181808000000ba00403047f017e037f23808080800041c0006b2201248080808000200141246a41c0e6ca8000410610c3928080002001410036022020014280808080c00037021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241e680808000360218200242e1c1c0fddab9f88065370310200242d0b0c2c0bfa6f4d53c37030820024101360204200241bfe6ca80003602002002417e6a20033b0000200141086a2204200141186a220341086a2802003602002001200329020037030020012902282105200128022421062001410c6a41086a410036020020014280808080c00037020c2001410c6a41f4ebca800010a0938080002001280210220342808080808001370200200141306a41086a4101360200200341003a00202003410436021c200341c6e6ca800036021820034204370210200342003702082001200129020c3703302001410c6a200141306a41cae6ca8000410410dd918080002006418080808078460d012001280214210320012802102107200128020c21082000410136024c20002002360248200041013602442000200537023c200020063602382000200336020c2000200736020820002008360204200041013a000020002001290300370250200041d8006a2004280200360200200141c0006a2480808080000f0b4108412010ab80808000000b41a4edca8000411141b8edca800010a181808000000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041bb80808000360218200042d7c9cb8fc1cf97db3e370310200042e88488d0c0e3aebc13370308200041063a00000b900203037f017e017f23808080800041206b2205248080808000024002400240200120026a220220014f0d00410021060c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024104200241044b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10cf9180800020052802084101470d0120052802102102200528020c21060b2006200241c4e7ca800010b980808000000b200528020c21032000200736020020002003360204200541206a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810cb918080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010cb918080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000b3000024020002802002d00000d00200141b4a8c28000410510b4818080000f0b200141b9a8c28000410410b4818080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bb30504027f017e037f017e23808080800041d0006b2201248080808000200141306a41d4e7ca8000411141e5e7ca8000410c4104410010c292808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a22044100360200200142808080808001370218200141186a4194edca800010b592808000200128021c220542e1c1c0fddab9f88065370308200542d0b0c2c0bfa6f4d53c370300200141c0006a41086a220641013602002005420437022c2005420637022420054189eeca80003602202005410636021c200541f8eeca8000360218200541e680808000360210200120012902183703400240200628020022062001280240470d00200141c0006a4194edca800010b5928080000b2001280244200641386c6a2205420437022c2005420d37022420054183efca80003602202005410536021c200541feeeca8000360218200541cd84808000360210200542d9ae829ab389b8c042370308200542c69cc18ac5f1bfb3b77f3703002004200641016a2206360200200120012903402207370318024020062007a7470d00200141186a4194edca800010b5928080000b200128021c200641386c6a2205420437022c2005420437022420054198efca80003602202005410836021c20054190efca8000360218200541ce84808000360210200542b78afcafd0b0eee815370308200542faedf28aa8cbcca14a37030002402002418080808078470d0041a4edca8000411141b8edca800010a181808000000b200128021c2105200128021821042000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041003a0000200020012903083702502000200641016a36020c200041d8006a200141086a41086a280200360200200141d0006a2480808080000bfd0305027f017e027f017e017f23808080800041c0006b2201248080808000200141286a41f1e7ca8000410541e5e7ca8000410c4104410010c292808000200141086a410036020020014280808080c00037030020012802282102200129022c21032001410036021820014280808080c000370210200141346a200141106a41f6e7ca8000410e10dc918080000240200128023c22042001280234470d00200141346a41f4ebca800010a0938080000b2001280238200441246c6a220541013a00202005410c36021c20054184e8ca80003602182005420437021020054200370208200542808080808001370200200141106a41086a200441016a2204360200200120012902342206370310024020042006a7470d00200141106a41f4ebca800010a0938080000b2001280214200441246c6a220541023a00202005410e36021c20054190e8ca8000360218200542043702102005420037020820054280808080800137020002402002418080808078470d0041a4edca8000411141b8edca800010a181808000000b20012802142105200128021021072000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002007360204200041013a0000200020012903003702502000200441016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000b950403027f017e037f23808080800041c0006b2201248080808000200141246a419ee8ca8000411641e5e7ca8000410c4104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080800137020c2001410c6a4194edca800010b59280800020012802102204428f9096e9a7fcdea318370308200442a1b7c9b2e6acc3d92a370300200141306a41086a220541013602002004420437022c20044213370224200441abefca80003602202004410c36021c2004419fefca8000360218200441cf848080003602102001200129020c3703300240200528020022052001280230470d00200141306a4194edca800010b5928080000b2001280234200541386c6a2204420437022c20044211370224200441c7efca80003602202004410936021c200441beefca8000360218200441d08480800036021020044281fda5a2bdc7b3f2d600370308200442d3bbc1d99ffc8ea0f30037030002402002418080808078470d0041a4edca8000411141b8edca800010a181808000000b20012802342104200128023021062000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002006360204200041003a0000200020012903003702502000200541016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000b880804077f017e017f017e23808080800041e0006b2201248080808000200141306a41b4e8ca8000411041c4e8ca800041174104410010c292808000200142043702282001420037022020014280808080800137021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241d184808000360218200242e6c39acff69bb2e4c700370310200242e0c2bf8be6bbb9bcb97f37030820024101360204200241dbe8ca80003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141186a200141c0006a4184edca800010cd91808000200141086a41086a200141246a220241086a2802003602002001200229020037030820012802182104200128021c2105200128022021062001280230210720012902342108200141186a41086a22094100360200200142808080808001370218200141186a4194edca800010b592808000200128021c220242e6c39acff69bb2e4c700370308200242e0c2bf8be6bbb9bcb97f370300200141c0006a41086a220341013602002002420437022c20024201370224200241d1edca80003602202002410636021c200241d2edca8000360218200241d184808000360210200120012902183703400240200328020022032001280240470d00200141c0006a4194edca800010b5928080000b2001280244200341386c6a2202420437022c20024201370224200241d1edca80003602202002410b36021c200241d8edca8000360218200241d184808000360210200242e6c39acff69bb2e4c700370308200242e0c2bf8be6bbb9bcb97f3703002009200341016a220236020020012001290340220a37031802402002200aa7470d00200141186a4194edca800010b5928080000b200128021c200241386c22036a2202420437022c20024201370224200241d1edca80003602202002410936021c200241c8edca8000360218200241d184808000360210200242e6c39acff69bb2e4c700370308200242e0c2bf8be6bbb9bcb97f370300200128021c210220012001280218360220200120023602182001200220036a41386a3602242001200236021c200141d4006a200141186a4184edca800010cc918080002007418080808078460d01200141cb006a200141d4006a41086a2802003600002000200636024c20002005360248200020043602442000200837023c20002007360238200041003a0000200020012903083702502001200129025437004320002001290040370001200041d8006a200141086a41086a280200360200200041086a200141c7006a290000370000200141e0006a2480808080000f0b4108412010ab80808000000b41a4edca8000411141b8edca800010a181808000000b930804057f017e037f017e23808080800041e0006b2201248080808000200141306a41f6eaca8000410f41b7eaca800041144104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a4184edca800010cd91808000200141086a41086a200141186a41146a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a4194edca800010b592808000200128021c220842e1c1c0fddab9f88065370308200842d0b0c2c0bfa6f4d53c370300200141c0006a41086a220941013602002008420437022c2008420637022420084189eeca80003602202008410e36021c200841fbedca8000360218200841e680808000360210200120012902183703400240200928020022092001280240470d00200141c0006a4194edca800010b5928080000b2001280244200941386c6a2208420437022c2008420e3702242008419ceeca80003602202008410d36021c2008418feeca8000360218200841d284808000360210200842ccd5c29092aee8bd877f370308200842cfccafddbfcdf6b1ee003703002007200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a4194edca800010b5928080000b200128021c200941386c6a2208420437022c2008420e3702242008419ceeca80003602202008410936021c200841aaeeca8000360218200841d284808000360210200842ccd5c29092aee8bd877f370308200842cfccafddbfcdf6b1ee00370300200141c0006a41086a200941016a220836020020012001290318220a37034002402008200aa7470d00200141c0006a4194edca800010b5928080000b2001280244200841386c22096a2208420437022c2008420e3702242008419ceeca80003602202008410836021c200841b3eeca8000360218200841d284808000360210200842ccd5c29092aee8bd877f370308200842cfccafddbfcdf6b1ee003703002001280244210820012001280240360220200120083602182001200820096a41386a3602242001200836021c200141d4006a200141186a4184edca800010cc9180800002402005418080808078470d0041a4edca8000411141b8edca800010a181808000000b200141cb006a200141d4006a41086a2802003600002000200436024c20002003360248200020023602442000200637023c20002005360238200041003a0000200020012903083702502001200129025437004320002001290040370001200041d8006a200141086a41086a280200360200200041086a200141c7006a290000370000200141e0006a2480808080000b800804077f017e017f017e23808080800041e0006b2201248080808000200141306a41b4e8ca8000411041c4e8ca800041174104410010c292808000200142043702282001420037022020014280808080800137021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bb80808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc1337030820024101360204200241dbe8ca80003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141186a200141c0006a4184edca800010cd91808000200141086a41086a200141246a220241086a2802003602002001200229020037030820012802182104200128021c2105200128022021062001280230210720012902342108200141186a41086a22094100360200200142808080808001370218200141186a4194edca800010b592808000200128021c220242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a220341013602002002420437022c20024201370224200241d1edca80003602202002410636021c200241d2edca8000360218200241bb80808000360210200120012902183703400240200328020022032001280240470d00200141c0006a4194edca800010b5928080000b2001280244200341386c6a2202420437022c20024201370224200241d1edca80003602202002410b36021c200241d8edca8000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002009200341016a220236020020012001290340220a37031802402002200aa7470d00200141186a4194edca800010b5928080000b200128021c200241386c22036a2202420437022c20024201370224200241d1edca80003602202002410936021c200241c8edca8000360218200241bb80808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200128021c210220012001280218360220200120023602182001200220036a41386a3602242001200236021c200141d4006a200141186a4184edca800010cc918080002007418080808078460d01200141cb006a200141d4006a41086a2802003600002000200636024c20002005360248200020043602442000200837023c20002007360238200041003a0000200020012903083702502001200129025437004320002001290040370001200041d8006a200141086a41086a280200360200200041086a200141c7006a290000370000200141e0006a2480808080000f0b4108412010ab80808000000b41a4edca8000411141b8edca800010a181808000000b8b0808017f027e027f077e017f037e017f037e200128023041017121022001290340210320012903202204427f2001280218220541017122061b21072001290350210820012903482109200129038802210a024002402001290328220b427f20061b220c200129039002220d580d002007200a580d0020072009580d004100210e200c2008560d010b2007200c84420052210e0b2001290338210f2003427f20021b21032001290310211020012903082111410121060240024020012802002212410171450d0020114200522010420052714101470d010b200e201220114200200720097d221320132007561b5620104200200c20087d22072007200c561b5672717221060b200f427f20021b211020012903a002210c20012903980221070240024020032008580d0020102009560d010b201020038442005220067221060b20072009200a7c58200c2008200d7c58722005200420075671722005200b200c5671722006722102200128028801410171210520012903980121112001290378220f427f2001280270220e41017122061b210820012903a801210920012903a0012103024002402001290380012213427f20061b2210200d580d002008200a580d0020082003580d0020102009560d010b200820108442005220027221020b20012903900121142011427f20051b2111200129036821042001290360210b410121060240024020012802582212410171450d00200b4200522004420052714101470d010b2012200b4200200820037d221520152008561b5620044200201020097d220820082010561b56727120027221060b2014427f20051b21080240024020112009580d0020082003560d010b200820118442005220067221060b20072003200a7c58200c2009200d7c5872200e200f2007567172200e2013200c567172200672210220012802e001410171210520012903f001211120012903d0012213427f20012802c801220e41017122061b2108200129038002210920012903f80121030240024020012903d8012214427f20061b2210200d580d002008200a580d0020082003580d0020102009560d010b200820108442005220027221020b20012903e801210f2011427f20051b211120012903c001210420012903b801210b410121060240024020012802b0012212410171450d00200b4200522004420052714101470d010b2012200b4200200820037d221520152008561b5620044200201020097d220820082010561b56727120027221060b200f427f20051b21080240024020112009580d0020082003560d010b200820118442005220067221060b024020072003200a7c580d00200c2009200d7c580d00200e2013200756710d00200e2014200c56710d0020064101710d002000200141a80210f4978080001a0f0b20004202370300200041013a00080bb80606017f027e017f017e037f047e23808080800041b0026b2202248080808000200241086a200141a80210f4978080001a20022903a802210320022903a00221040240200228022022054101470d0020032002290330220620032006561b210320042002290328220620042006561b21040b0240200228027822074101470d002003200229038801220620032006561b21032004200229038001220620042006561b21040b20012802a8022108024020022802d00122094101470d00200320022903e001220620032006561b2103200420022903d801220620042006561b21040b20013502ac022106200220033703a802200220043703a00202402008450d0020032003428094ebdc0380220a428094ebdc037e7d20067e220b428094ebdc0380210320042004428094ebdc0380220c428094ebdc037e7d20067e220d428094ebdc038021042008450d002003200a20067e7c200b2003428094ebdc037e7d4280cab5ee0156ad7c210a2004200c20067e7c200d2004428094ebdc037e7d4280cab5ee0156ad7c21060240200229030850450d000240024020054101710d004200210b0c010b4200420020022903302203200a7d220420042003561b220320022903587d220420042003561b2103420042002002290328220420067d220b200b2004561b220420022903507d220b200b2004561b21044201210b0b20022003370318200220043703102002200b3703080b024020022802600d004200210b02402007410171450d00420042002002290388012203200a7d220420042003561b220320022903b0017d220420042003561b210342004200200229038001220420067d220b200b2004561b220420022903a8017d220b200b2004561b21044201210b0b20022003370370200220043703682002200b3703600b20022802b8010d004200210b02402009410171450d004200420020022903e0012203200a7d220420042003561b22032002290388027d220420042003561b21034200420020022903d801220420067d220620062004561b22042002290380027d220620062004561b21044201210b0b200220033703c801200220043703c0012002200b3703b8010b2000200241086a10d691808000200241b0026a2480808080000bad0403057f017e027f23808080800041d0006b2201248080808000200141286a41aceaca8000410b41b7eaca800041144104410010c292808000200142043702202001420037021820014280808080800137021020014288808080800137023420014280808080800137023c200141106a200141346a4184edca800010cd91808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a4194edca800010b5928080002001280214220842e2f5ebdfc3cb83de323703002008420437022c20084215370224200841e6edca80003602202008410336021c200841e3edca8000360218200841d384808000360210200842b2bb9087cacadcfcd2003703082001280214210820012001280210360218200120083602102001200841386a36021c20012008360214200141c4006a200141106a4184edca800010cc9180800002402007418080808078470d0041a4edca8000411141b8edca800010a181808000000b200141346a410b6a200141c4006a41086a2802003600002000200536024c20002004360248200020033602442000200637023c20002007360238200041003a0000200020012903003702502001200129024437003720002001290034370001200041d8006a2002280200360200200041086a2001413b6a290000370000200141d0006a2480808080000bf10101027f23808080800041106b220224808080800020022000360204200128020041dceaca80004110200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41eceaca8000410a200241046a41cceaca8000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710baf1203027f017e117f41012101410121020240200029038802220342c000540d0002400240200342808001540d0020034280808080045a0d01410421020c020b410221020c010b4109200379a74103766b21020b0240200029039002220342c000540d0002400240200342808001540d0020034280808080045a0d01410421010c020b410221010c010b4109200379a74103766b21010b41012104410121050240200029039802220342c000540d0002400240200342808001540d0020034280808080045a0d01410421050c020b410221050c010b4109200379a74103766b21050b024020002903a002220342c000540d0002400240200342808001540d0020034280808080045a0d01410421040c020b410221040c010b4109200379a74103766b21040b410121064101210702402000290348220342c000540d0002400240200342808001540d0020034280808080045a0d01410421070c020b410221070c010b4109200379a74103766b21070b02402000290350220342c000540d0002400240200342808001540d0020034280808080045a0d01410421060c020b410221060c010b4109200379a74103766b21060b4101210841012109024020002802004101470d00024002402000290308220342c0005a0d00410221090c010b02402003428080015a0d00410321090c010b024020034280808080045a0d00410521090c010b410a200379a74103766b21090b024002402000290310220342c0005a0d004101210a0c010b02402003428080015a0d004102210a0c010b024020034280808080045a0d004104210a0c010b4109200379a74103766b210a0b2009200a6a21090b024020002802184101470d00024002402000290320220342c0005a0d00410221080c010b02402003428080015a0d00410321080c010b024020034280808080045a0d00410521080c010b410a200379a74103766b21080b024002402000290328220342c0005a0d004101210a0c010b02402003428080015a0d004102210a0c010b024020034280808080045a0d004104210a0c010b4109200379a74103766b210a0b2008200a6a21080b4101210a4101210b024020002802304101470d00024002402000290338220342c0005a0d004102210b0c010b02402003428080015a0d004103210b0c010b024020034280808080045a0d004105210b0c010b410a200379a74103766b210b0b024002402000290340220342c0005a0d004101210c0c010b02402003428080015a0d004102210c0c010b024020034280808080045a0d004104210c0c010b4109200379a74103766b210c0b200b200c6a210b0b024020002903a001220342c000540d0002400240200342808001540d0020034280808080045a0d014104210a0c020b4102210a0c010b4109200379a74103766b210a0b4101210c4101210d024020002903a801220342c000540d0002400240200342808001540d0020034280808080045a0d014104210d0c020b4102210d0c010b4109200379a74103766b210d0b024020002802584101470d00024002402000290360220342c0005a0d004102210c0c010b02402003428080015a0d004103210c0c010b024020034280808080045a0d004105210c0c010b410a200379a74103766b210c0b024002402000290368220342c0005a0d004101210e0c010b02402003428080015a0d004102210e0c010b024020034280808080045a0d004104210e0c010b4109200379a74103766b210e0b200c200e6a210c0b4101210e4101210f024020002802704101470d00024002402000290378220342c0005a0d004102210f0c010b02402003428080015a0d004103210f0c010b024020034280808080045a0d004105210f0c010b410a200379a74103766b210f0b02400240200029038001220342c0005a0d00410121100c010b02402003428080015a0d00410221100c010b024020034280808080045a0d00410421100c010b4109200379a74103766b21100b200f20106a210f0b02402000280288014101470d0002400240200029039001220342c0005a0d004102210e0c010b02402003428080015a0d004103210e0c010b024020034280808080045a0d004105210e0c010b410a200379a74103766b210e0b02400240200029039801220342c0005a0d00410121100c010b02402003428080015a0d00410221100c010b024020034280808080045a0d00410421100c010b4109200379a74103766b21100b200e20106a210e0b4101211041012111024020002903f801220342c000540d0002400240200342808001540d0020034280808080045a0d01410421110c020b410221110c010b4109200379a74103766b21110b0240200029038002220342c000540d0002400240200342808001540d0020034280808080045a0d01410421100c020b410221100c010b4109200379a74103766b21100b4101211241012113024020002802b0014101470d000240024020002903b801220342c0005a0d00410221130c010b02402003428080015a0d00410321130c010b024020034280808080045a0d00410521130c010b410a200379a74103766b21130b0240024020002903c001220342c0005a0d00410121140c010b02402003428080015a0d00410221140c010b024020034280808080045a0d00410421140c010b4109200379a74103766b21140b201320146a21130b024020002802c8014101470d000240024020002903d001220342c0005a0d00410221120c010b02402003428080015a0d00410321120c010b024020034280808080045a0d00410521120c010b410a200379a74103766b21120b0240024020002903d801220342c0005a0d00410121140c010b02402003428080015a0d00410221140c010b024020034280808080045a0d00410421140c010b4109200379a74103766b21140b201220146a21120b41012114024020002802e0014101470d000240024020002903e801220342c0005a0d00410221140c010b02402003428080015a0d00410321140c010b024020034280808080045a0d00410521140c010b410a200379a74103766b21140b0240024020002903f001220342c0005a0d00410121000c010b02402003428080015a0d00410221000c010b024020034280808080045a0d00410421000c010b4109200379a74103766b21000b201420006a21140b200120026a20056a20046a20076a20066a20096a20086a200b6a200a6a200d6a200c6a200f6a200e6a20116a20106a20136a20126a20146a0bf30604057f017e037f017e23808080800041e0006b2201248080808000200141306a4185ebca8000410c41b7eaca800041144104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a4184edca800010cd91808000200141086a41086a200141186a41146a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a4194edca800010b592808000200128021c220842e1c1c0fddab9f88065370308200842d0b0c2c0bfa6f4d53c370300200141c0006a41086a220941013602002008420437022c2008420637022420084189eeca80003602202008410a36021c200841bbeeca8000360218200841e680808000360210200120012902183703400240200928020022092001280240470d00200141c0006a4194edca800010b5928080000b2001280244200941386c6a2208420437022c2008420637022420084189eeca80003602202008410936021c200841c5eeca8000360218200841e680808000360210200842e1c1c0fddab9f88065370308200842d0b0c2c0bfa6f4d53c3703002007200941016a220836020020012001290340220a37031802402008200aa7470d00200141186a4194edca800010b5928080000b200128021c200841386c22096a2208420437022c20084221370224200841d7eeca80003602202008410936021c200841ceeeca8000360218200841d484808000360210200842bee4bfb7cabbc18f917f37030820084297f890a4aafdf5962c370300200128021c210820012001280218360220200120083602182001200820096a41386a3602242001200836021c200141d4006a200141186a4184edca800010cc9180800002402005418080808078470d0041a4edca8000411141b8edca800010a181808000000b200141cb006a200141d4006a41086a2802003600002000200436024c20002003360248200020023602442000200637023c20002005360238200041003a0000200020012903083702502001200129025437004320002001290040370001200041d8006a200141086a41086a280200360200200041086a200141c7006a290000370000200141e0006a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4194edca800010b5928080002004280208220542e88488d0c0e3aebc133703002005420437022c200542033702242005419cefca800036022020054100360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030820042802042106200428020821070240200128020822082001280200470d00200141f4ebca800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4194edca800010b5928080002004280208220542d0b0c2c0bfa6f4d53c3703002005410036023020054280808080c0003703282005410036022020054100360218200541e680808000360210200542e1c1c0fddab9f8806537030820042802042106200428020821070240200128020822082001280200470d00200141f4ebca800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b140020012000280200200028020410b4818080000b5e01017f23808080800041206b22002480808080002000410136020420004198f1ca80003602002000420137020c200041d784808000ad4220864198f0ca8000ad843703182000200041186a36020820004188f1ca800010fe80808000000bd408012d7e0240200141184b0d0002402001450d00410020014103746b210120002903c0012102200029039801210320002903702104200029034821052000290320210620002903b80121072000290390012108200029036821092000290340210a2000290318210b20002903b001210c200029038801210d2000290360210e2000290338210f2000290310211020002903a8012111200029038001211220002903582113200029033021142000290308211520002903a00121162000290378211720002903502118200029032821192000290300211a03402017201685201885201985201a85221b200d200c85200e85200f85201085221c42018985221d201485211e201b4201892008200785200985200a85200b85221f85221b2002852120201d2011854202892221201c2003200285200485200585200685222242018985221c200a8542378922232012201185201385201485201585220a201f42018985221f201085423e892224427f8583852102200a42018920228522102017854229892222201b2004854227892225427f85832023852111201d201385420a892226201c2007854238892227201f200d85420f892228427f858385210d202620102019854224892229427f8583201b200685421b89222a852117201f200f85420689222b201d201585420189222c427f858320102016854212892216852104201b200385420889222d201c200985421989222e427f8583202b852113201b200585421489221b201c200b85421c89220b427f8583201f200c85423d89220f852105201d201285422d89221d200b200f427f858385210a200f201d427f85832010201885420389221585210f201d2015427f8583201b8521142015201b427f8583200b8521192010201a85221d2020420e89221b427f8583201c200885421589221c85210b201b201c427f8583201f200e85422b89221f852110201e422c892206201c201f427f8583852115200141f0f2ca80006a290300201f2006427f858385201d85211a2029202a427f8583202785221c21032006201d427f8583201b85221d210620242021427f8583202285221b2107202a2027427f8583202885221f2108202c2016427f8583202d852227210920212022427f85832025852221210c2016202d427f8583202e852222210e20282026427f85832029852226211220252023427f858320248522232116202c202e202b427f85838522242118200141086a22010d000b200020233703a001200020173703782000202437035020002019370328200020113703a8012000202637038001200020133703582000201437033020002015370308200020213703b0012000200d37038801200020223703602000200f370338200020103703102000201b3703b8012000201f37039001200020273703682000200a3703402000200b370318200020023703c0012000201c3703980120002004370370200020053703482000201d3703202000201a3703000b0f0b41c9f3ca800041c100418cf4ca8000108081808000000b040041000b02000b02000ba80202057f057e23808080800041d0006b220524808080800002402003450d002005410036021c2005410136021020054180f5ca800036020c200542043702142005410c6a41ecf5ca800010fe80808000000b410028029080d480002103410028028c80d48000210641002802b083d4800021072002280210220828020821092002290208210a2008290200210b2002290200210c2000290200210d2000290208210e200520002902103702482005200e3702402005200d3702382005200c3702302005200136022c2005200b370224200541003602202005200a37021820054100360214200520093602102005410136020c200641b4f4ca8000200741024622021b2005410c6a2003419cf4ca800020021b280210118b8080800000200541d0006a2480808080000bc70301047f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff0171410174220541a1f1c180006a2d00003a00022002200541a0f1c180006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe017141a1f1c180006a2d00003a00000b2001410141014100200220036a410320036b10b28180800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41fcf5ca80002005410c6a41fcf5ca800020032004108481808000000bbe0502027f017e23808080800041c0006b2203248080808000200320013a000f02400240024002400240024020020d002003200141087122023a002720020d02200020013a00ca0120002d00c9012104200020002d00c801220241016a3a00c901200241c7014b0d01200020026a220220022d00002004733a0000200020002d00c80141016a22023a00c80102400240200241ff0171220241a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002102200041003b01c8010c010b200241c7014b0d020b200020026a220220022d00002001733a0000200020002d00c80141016a22023a00c80102400240200241ff017141a601470d00200020002d00a60120002d00c901733a00a60141840121010c010b2001410471450d06200241ff01712201450d06200141c7014b0d04200020016a220120012d000020002d00c901733a000020002d00c80141016a41ff0171220141c8014f0d05200020016a220120012d00004104733a000041800121010b200020002d00a7012001733a00a7012000411810e091808000200041003b01c8010c050b20002d00ca01200141ff0171460d042003410236023c200341e4f8ca8000360238200341023602342003410236022c200341d4f8ca8000360228200341db84808000ad42208622052003410f6aad8437031820032005200041ca016a2200ad843703102003200341106a360230410020002003410f6a200341286a4194f9ca800010e691808000000b200241c801419cf7ca8000108281808000000b2003420037023420034281808080c00037022c2003418cf8ca80003602284100200341276a41fccfc28000200341286a4194f8ca800010e691808000000b200141c80141fcf6ca8000108281808000000b200141c801418cf7ca8000108281808000000b200341c0006a2480808080000b8b0d01027f23808080800041a0036b2203248080808000200341002f00ecf6ca80003b0104200341002800e8f6ca8000360200200341126a410041b60110fa978080001a2003410e6a41002800f6f6ca8000360100200341002900eef6ca80003701062003411810e091808000200341d0016a200341c80110f4978080001a200341003a009a03200341003b019803200341d0016a4112410010e791808000024020032d009803220441c7014b0d00200341d0016a20046a220420042d000041cd00733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041e500733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041f200733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041ec00733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041e900733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041ee00733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d00004120733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041f600733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d00004131733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d0000412e733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e09180800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d00004130733a0000200320032d00980341016a22043a0098030240200441ff017141a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810e091808000200341003b0198030b2003200341d0016a41d00110f497808000220341a4f9ca800041072001200210e9918080002000200341d00110f4978080001a200341a0036a2480808080000f0b200441c801419cf7ca8000108281808000000bb20802027f017e23808080800041306b220524808080800020004112410010e791808000024002400240024002402002450d0020002d00c80121060340200641ff0171220641c7014b0d02200020066a220620062d000020012d0000733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010b200141016a21012002417f6a22020d000b0b200541123a000720002d00ca014112470d0120002d00c801220641c7014b0d02200020066a220620062d00002004733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004410876733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004411076733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004411876733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e091808000200041003b01c8010b20004102410010e79180800002402004450d0020002d00c80121060340200641ff0171220641c7014b0d05200020066a220620062d000020032d0000733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010b200341016a21032004417f6a22040d000b0b200541306a2480808080000f0b200641c801419cf7ca8000108281808000000b2005410236021c200541e4f8ca8000360218200541023602142005410236020c200541d4f8ca8000360208200541db84808000ad4220862207200541076aad8437032820052007200041ca016a2200ad843703202005200541206a36021041002000200541076a200541086a4194f9ca800010e691808000000b200641c801419cf7ca8000108281808000000b200641c801419cf7ca8000108281808000000bb70802027f017e23808080800041306b220524808080800020004112410010e791808000024002400240024002402002450d0020002d00c80121060340200641ff0171220641c7014b0d02200020066a220620062d000020012d0000733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010b200141016a21012002417f6a22020d000b0b200541123a000720002d00ca014112470d0120002d00c801220641c7014b0d02200020066a220620062d00002004733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004410876733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004411076733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004411876733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e091808000200041003b01c8010b20004107410010e79180800002402004450d0020002d00c80121060340200641ff0171220641c8014f0d05200020066a22062d00002101200641003a0000200320013a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810e09180800041002106200041003b01c8010b200341016a21032004417f6a22040d000b0b200541306a2480808080000f0b200641c801419cf7ca8000108281808000000b2005410236021c200541e4f8ca8000360218200541023602142005410236020c200541d4f8ca8000360208200541db84808000ad4220862207200541076aad8437032820052007200041ca016a2200ad843703202005200541206a36021041002000200541076a200541086a4194f9ca800010e691808000000b200641c801419cf7ca8000108281808000000b200641c80141bcf7ca8000108281808000000bb80802027f017e23808080800041306b220624808080800020014112410010e791808000024002400240024002402003450d0020012d00c80121070340200741ff0171220741c7014b0d02200120076a220720072d000020022d0000733a0000200120012d00c80141016a22073a00c8010240200741ff017141a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810e09180800041002107200141003b01c8010b200241016a21022003417f6a22030d000b0b200641123a000720012d00ca014112470d0120012d00c801220741c7014b0d02200120076a220720072d00002005733a0000200120012d00c80141016a22073a00c80102400240200741ff0171220741a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810e09180800041002107200141003b01c8010c010b200741c7014b0d030b200120076a220720072d00002005410876733a0000200120012d00c80141016a22073a00c80102400240200741ff0171220741a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810e09180800041002107200141003b01c8010c010b200741c7014b0d030b200120076a220720072d00002005411076733a0000200120012d00c80141016a22073a00c80102400240200741ff0171220741a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810e09180800041002107200141003b01c8010c010b200741c7014b0d030b200120076a220720072d00002005411876733a0000200120012d00c80141016a22073a00c8010240200741ff017141a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810e091808000200141003b01c8010b20014106410010e79180800002402005450d0020012d00c80121070340200741ff0171220741c7014b0d05200120076a20042d00003a0000200120012d00c80141016a22073a00c8010240200741ff017141a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810e09180800041002107200141003b01c8010b200441016a21042005417f6a22050d000b0b2000200141d00110f4978080001a200641306a2480808080000f0b200741c801419cf7ca8000108281808000000b2006410236021c200641e4f8ca8000360218200641023602142006410236020c200641d4f8ca8000360208200641db84808000ad4220862208200641076aad8437032820062008200141ca016a2201ad843703202006200641206a36021041002001200641076a200641086a4194f9ca800010e691808000000b200741c801419cf7ca8000108281808000000b200741c80141acf7ca8000108281808000000bde0405027f017e027f017e017f23808080800041d0006b2201248080808000200141306a41d0faca8000410741d7faca800041164104410010c292808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a2204410036020020014280808080c000370218200141186a418cfaca800010a093808000200128021c22054100360208200542808080808001370200200541003a00202005410336021c200541edfaca80003602182005410036021420054280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a418cfaca800010a0938080000b2001280244410141246c6a220541013a00202005410436021c200541f0faca800036021820054204370210200542003702082005428080808080013702002004410141016a2205360200200120012903402206370318024020052006a7470d00200141186a418cfaca800010a0938080000b200128021c200541246c22046a220541023a00202005410336021c200541f4faca8000360218200542043702102005420037020820054280808080800137020002402002418080808078470d0041acfaca8000411141c0faca800010a181808000000b200128021c2105200128021821072000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002007360204200041013a0000200020012903083702502000200520046a41246a20056b41246e36020c200041d8006a200141106a280200360200200141d0006a2480808080000bdb0203027f017e037f23808080800041306b2201248080808000200141246a41f7faca8000410a41d7faca800041164104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a419cfaca800010b5928080002001280210220542e987d8bed5a3d0fbfb003703002005420437022c2005420437022420054181fbca800036022020054100360218200541ec80808000360210200542e2e68fceaa92ce9c7b37030802402004418080808078470d0041acfaca8000411141c0faca800010a181808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000be10303027f017e037f23808080800041c0006b2201248080808000200141246a4185fbca8000411341d7faca800041164104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080c00037020c2001410c6a418cfaca800010a093808000200128021022044100360208200442808080808001370200200441003a00202004410836021c20044198fbca80003602182004410036021420044280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a418cfaca800010a0938080000b2001280234410141246c22056a220441013a00202004410836021c200441a0fbca8000360218200442043702102004420037020820044280808080800137020002402002418080808078470d0041acfaca8000411141c0faca800010a181808000000b20012802342104200128023021062000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002006360204200041013a0000200020012903003702502000200420056a41246a20046b41246e36020c200041d8006a200141086a280200360200200141c0006a2480808080000be10303027f017e037f23808080800041c0006b2201248080808000200141246a41a8fbca8000410e41b6fbca800041174104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080c00037020c2001410c6a418cfaca800010a093808000200128021022044100360208200442808080808001370200200441003a00202004410e36021c200441cdfbca80003602182004410036021420044280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a418cfaca800010a0938080000b2001280234410141246c22056a220441013a00202004411536021c200441dbfbca8000360218200442043702102004420037020820044280808080800137020002402002418080808078470d0041acfaca8000411141c0faca800010a181808000000b20012802342104200128023021062000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002006360204200041013a0000200020012903003702502000200420056a41246a20046b41246e36020c200041d8006a200141086a280200360200200141c0006a2480808080000ba21003017f017e077f23808080800041306b2201248080808000200141246a41b4fdca8000410541b9fdca800041164104410010c29280800041002d008083d480001a20012902282102200128022421030240024002400240024002400240024002400240410841002802f482d48000118280808000002204450d002004200441036a417c7120046b22056a220641002903f0fdca80003702002006417e6a20053b00002001410036022020014280808080c00037021841002d008083d480001a2001410036022c200142808080808001370224410841002802f482d48000118280808000002204450d012004200441036a417c7120046b22076a220541002903a0ffca80003702002005417e6a20073b0000200141246a41e0fcca800010b592808000200128022822044298848fa1dab08ba174370300200441013602302004200536022c2004428480808010370224200441f0feca80003602202004410636021c20044194fdca8000360218200441e980808000360210200442febac4ad81b6fafcb37f37030841002d008083d480001a20012802242108410841002802f482d48000118280808000002205450d022005200541036a417c7120056b22096a220741002903e8feca80003702002007417e6a20093b0000200141186a41d0fcca800010a093808000200128021c22054281808080103702082005200436020420052008360200200541003a00202005411136021c200541f8fdca80003602182005410136021420052007360210200141086a41086a41013602002001200129021837030841002d008083d480001a2001410036022c200142808080808001370224410841002802f482d48000118280808000002204450d032004200441036a417c7120046b22076a220541002903f8ffca80003702002005417e6a20073b0000200141246a41e0fcca800010b5928080002001280228220442f08ae39db3eef7cb917f370300200441013602302004200536022c2004428880808010370224200441d8ffca80003602202004410736021c2004419afdca8000360218200441f880808000360210200442deb6b7a2defce4d03c37030841002d008083d480001a20012802242109410841002802f482d48000118280808000002205450d042005200541036a417c7120056b22086a220741002903d0ffca80003702002007417e6a20083b00000240200128021022082001280208470d00200141086a41d0fcca800010a0938080000b200128020c200841246c6a220541013a00202005411336021c20054189feca8000360218200541013602142005200736021020054281808080103702082005200436020420052009360200200141186a41086a200841016a3602002001200129030837031841002d008083d480001a2001410036022c200142808080808001370224410841002802f482d48000118280808000002204450d052004200441036a417c7120046b22076a220541002903c880cb80003702002005417e6a20073b0000200141246a41e0fcca800010b5928080002001280228220442f08ae39db3eef7cb917f370300200441013602302004200536022c2004428880808010370224200441d8ffca80003602202004410736021c200441a1fdca8000360218200441f880808000360210200442deb6b7a2defce4d03c37030841002d008083d480001a20012802242109410841002802f482d48000118280808000002205450d062005200541036a417c7120056b22086a220741002903a880cb80003702002007417e6a20083b00000240200128022022082001280218470d00200141186a41d0fcca800010a0938080000b200128021c200841246c6a220541023a00202005410f36021c2005419cfeca8000360218200541013602142005200736021020054281808080103702082005200436020420052009360200200141086a41086a200841016a3602002001200129031837030841002d008083d480001a2001410036022c200142808080808001370224410841002802f482d48000118280808000002204450d072004200441036a417c7120046b22076a2205410029039881cb80003702002005417e6a20073b0000200141246a41e0fcca800010b5928080002001280228220442f08ae39db3eef7cb917f370300200441013602302004200536022c2004428880808010370224200441d8ffca80003602202004410c36021c200441a8fdca8000360218200441f880808000360210200442deb6b7a2defce4d03c37030841002d008083d480001a20012802242109410841002802f482d48000118280808000002205450d082005200541036a417c7120056b22086a220741002903f880cb80003702002007417e6a20083b00000240200128021022082001280208470d00200141086a41d0fcca800010a0938080000b200128020c200841246c6a220541033a00202005411336021c200541abfeca80003602182005410136021420052007360210200542818080801037020820052004360204200520093602002003418080808078460d09200128020c2104200128020821052000410136025820002006360254200042808080801037024c2000428080808080013702442000200237023c200020033602382000200436020820002005360204200041013a00002000200841016a36020c200141306a2480808080000f0b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b4104410810ab80808000000b41f0fcca800041114184fdca800010a181808000000baa0303017f017e037f23808080800041206b2201248080808000200141146a41b482cb8000410841bc82cb8000411a4104410010c2928080002001290218210220012802142103200141146a41086a410036020020014280808080c000370214200141146a418082cb800010a093808000200128021822044100360208200442808080808001370200200441003a00202004410936021c200441d682cb80003602182004410036021420044280808080c00037020c200141086a41086a410136020020012001290214370308024020012802084101470d00200141086a418082cb800010a0938080000b200128020c410141246c6a220441013a00202004410236021c200441df82cb8000360218200442043702102004420037020820044280808080800137020002402003418080808078470d00419082cb8000411141a482cb800010a181808000000b200128020c210420012802082105200042043702542000420037024c2000428080808080013702442000200237023c200020033602382000200436020820002005360204200041013a00002000410141016a36020c200141206a2480808080000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be30101037f23808080800041206b2203248080808000024002400240200120026a220220014f0d00410021040c010b4100210402402002200028020022054101742201200220014b1b22014108200141084b1b220141004e0d000c010b4100210202402005450d002003200536021c20032000280204360214410121020b20032002360218200341086a41012001200341146a10f39180800020032802084101470d0120032802102100200328020c21040b2004200041d883cb800010b980808000000b200328020c21022000200136020020002002360204200341206a2480808080000bee0402067f017e23808080800041c0006b22022480808080000240024002400240024002402001280208220320012802102204460d00024002400240200441016a2205450d0020032005490d0120012802042106200120053602100240024002400240200620046a2d000022074103710e0403000102030b200220073a0015200241013a001420022001360210200241003b0128200241106a200241286a410210f6918080000d0620022f01282204418002490d06200441027621050c070b200220073a0015200241013a00142002200136021020024100360228200241106a200241286a410410f6918080000d052002280228220441ffff034d0d05200441027621050c060b20074104490d030c040b200741027621050c040b417f2005418486cb8000109581808000000b20052003418486cb8000109181808000000b200320056b4104490d00200441056a21042005417b4b0d03200420034b0d0420012004360210200620056a28000022054180808080044f0d010b200041003602000c010b20022001280210220436020c200128020822032004490d032001200320046b22033602082001200128020420046a360204200141003602100240200520034b0d0020002001200510d5808080000c010b200041003602000b200241c0006a2480808080000f0b20052004418486cb8000109581808000000b20042003418486cb8000109181808000000b200241023602142002419084cb80003602102002420237021c2002200336023c200241dd84808000ad42208622082002413c6aad84370330200220082002410c6aad843703282002200241286a360218200241106a41fc84cb800010fe80808000000b9e0201037f20002d00042103200041003a0004024002400240024002400240024020030d00410121032002200028020022002802082204200028021022056b4b0d02200520026a22032005490d03200320044b0d042001200028020420056a200210f4978080001a200020033602100c010b200120002d00053a0000410121032002417f6a2205200028020022002802082204200028021022026b4b0d01200220056a22032002490d04200320044b0d05200141016a200028020420026a200510f4978080001a200020033602100b410021030b20030f0b20052003418486cb8000109581808000000b20032004418486cb8000109181808000000b20022003418486cb8000109581808000000b20032004418486cb8000109181808000000bd40301047f23808080800041106b220324808080800041002104024002400240024002400240200241046a22054100480d002005450d0241002d008083d480001a200541002802f482d480001182808080000022040d01410121040b2004200541f485cb800010b980808000000b200320043602082004417e6a41003b00002003200536020402402002413f4b0d00200420024102743a0000410121060c040b200241ffff004b0d0141022106200420024102744101723b00000c030b2003410036020c2003428080808010370204200341046a4100410110f4918080002003280208210420032802042105200328020c21060c010b41002106200241ffffffff034b0d0020042002410274410272360000410421060c010b200420066a41033a00002003200641016a220636020c0240200520066b41034b0d00200341046a2006410410f4918080002003280204210520032802082104200328020c21060b200420066a2002360000200641046a21060b2003200636020c02402002200520066b4d0d00200341046a2006200210f49180800020032802082104200328020c21060b200420066a2001200210f4978080001a200041086a200620026a36020020002003290204370200200341106a2480808080000b1e002001280200419486cb8000410b200128020428020c118080808000000b880201047f23808080800041106b220324808080800002402001450d0020014104742104200041086a2101200228020821000340200141046a28020021050240200228020020006b41034b0d0020022000410410f491808000200228020821000b2002200041046a360208200228020420006a20053600002001417c6a28020021062003200128020022003602082003200341086a36020c2003410c6a200210fa91808000024020002002280200200228020822056b4d0d0020022005200010f491808000200228020821050b200228020420056a2006200010f4978080001a2002200520006a2200360208200141106a2101200441706a22040d000b0b200341106a2480808080000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000b140020012000280204200028020810b4818080000baf0101017f23808080800041306b2202248080808000200241246a41a489cb80004102200010829280800020024102360204200241b089cb8000360200200241de84808000ad422086200241246aad843703182002420137020c2002200241186a36020820012802002001280204200210b181808000210102402002280224450d00200228022822002000417e6a2f00006b41002802ec82d48000118180808000000b200241306a24808080800020010bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b870802097f017e23808080800041206b2201248080808000410021020240417f417f417f20002802142203410c6c417f2000280208220441046a22054101200028022c220641056a20002802242207418080808078461b6a220820082005491b22056a41046a220820082005491b2205200028022022094104746a41046a220820082005491b220541086a220820082005491b22054100480d0041002d008083d480001a41012102200541002802f482d48000118280808000002208450d002008417e6a41003b000020014100360214200120083602102001200536020c20002802042102200120043602182001200141186a36021c2001411c6a2001410c6a10fa9180800002402004200128020c200128021422056b4d0d002001410c6a2005200410f491808000200128021421050b2001280210220820056a2002200410f4978080001a2001200520046a2204360214024002402007418080808078460d000240200128020c2004470d002001410c6a2004410110f49180800020012802102108200128021421040b200820046a41013a00002001200441016a36021420002802282105200120063602182001200141186a36021c2001411c6a2001410c6a10fa9180800002402006200128020c200128021422046b4d0d002001410c6a2004200610f491808000200128021421040b200128021020046a2005200610f4978080001a200420066a21040c010b0240200128020c2004470d002001410c6a2004410110f49180800020012802102108200128021421040b200820046a41003a0000200441016a21040b2001200436021420002802102104200120033602182001200141186a36021c2001411c6a2001410c6a10fa9180800002402003450d002003410c6c2106200441086a210403402004417c6a28020021082001200428020022033602182001200141186a36021c2001411c6a2001410c6a10fa9180800002402003200128020c200128021422056b4d0d002001410c6a2005200310f491808000200128021421050b200128021020056a2008200310f4978080001a2001200520036a3602142004410c6a2104200641746a22060d000b0b200028021c2104200120093602182001200141186a36021c2001411c6a2001410c6a10fa91808000200420092001410c6a10f991808000200028023021030240200128020c200128021422046b41034b0d002001410c6a2004410410f491808000200128021421040b200128021020046a20033600002001200441046a2204360214200028023421030240200128020c20046b41034b0d002001410c6a2004410410f491808000200128021421040b200128021020046a20033600002001350210210a200141206a248080808000200a200441046aad422086840f0b20022005419489cb800010b980808000000bdb0203027f017e037f23808080800041306b2201248080808000200141246a41c089cb8000410841c889cb800041294104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41f887cb800010b5928080002001280210220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541f189cb800036022020054100360218200541df8480800036021020054296e397c6bfa5aeee4637030802402004418080808078470d00418888cb80004111419c88cb800010a181808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000bdb0203027f017e037f23808080800041306b2201248080808000200141246a41f889cb8000410e41c889cb800041294104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41f887cb800010b5928080002001280210220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541f189cb800036022020054100360218200541df8480800036021020054296e397c6bfa5aeee4637030802402004418080808078470d00418888cb80004111419c88cb800010a181808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000bda0203027f017e037f23808080800041306b2201248080808000200141246a41868acb8000410241c889cb800041294104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41f887cb800010b5928080002001280210220542e88488d0c0e3aebc133703002005420437022c20054203370224200541888acb800036022020054100360218200541bb80808000360210200542d7c9cb8fc1cf97db3e37030802402004418080808078470d00418888cb80004111419c88cb800010a181808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000ba00701087f23808080800041106b220424808080800041012105410021060240024002402003280208220741017420026a22084100480d00200328020421062008450d0241002d008083d480001a200841002802f482d480001182808080000022050d01410121060b2006200841fc8acb800010b980808000000b2005417e6a41003b00000b410021032004410036020c200420053602082004200836020402402002450d00200120026a2109410021030340024002400240024020012c00002208417f4a0d0020012d0001413f7121022008411f71210a2008415f4b0d01200a4106742002722108200141026a21010c020b200141016a2101200841ff017121084101210b410121020c020b200241067420012d0002413f717221020240200841704f0d002002200a410c74722108200141036a21010c010b200241067420012d0003413f7172200a411274418080f00071722108200141046a21010b4101210b024020084180014f0d00410121020c010b410221024100210b2008418010490d0041034104200841808004491b21020b2003210a02402002200428020420036b4d0d00200441046a2003200241014101108392808000200428020c210a200428020821050b2005200a6a210a024002400240200b0d002008418010490d010240200841808004490d00200a2008413f71418001723a0003200a200841127641f001723a0000200a2008410676413f71418001723a0002200a2008410c76413f71418001723a00010c030b200a2008413f71418001723a0002200a2008410c7641e001723a0000200a2008410676413f71418001723a00010c020b200a20083a00000c010b200a2008413f71418001723a0001200a200841067641c001723a00000b2004200220036a220336020c20012009470d000b0b02402007450d00034020062d000022084104762201413072200141d7006a200841a001491b210b200321010240200320042802042202470d00200441046a200341014101410110839280800020042802042102200428020c21010b2004280208220a20016a200b3a00002004200341016a220136020c2008410f712208413072200841d7006a2008410a491b2108024020012002470d00200441046a2002410141014101108392808000200428020c21012004280208210a0b200641016a2106200a20016a20083a00002004200341026a220336020c2007417f6a22070d000b0b20002004290204370200200041086a200441046a41086a280200360200200441106a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10849280800020052802084101470d0120052802102102200528020c21060b2006200241848ccb800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bca0303037f017e027f23808080800041206b22052480808080000240024002402003417f6a220620046a410020036b220771ad2001ad7e2208422088a70d002008a7220441808080807820036b4d0d010b20004100360204410121030c010b024020040d002000200336020841002103200041003602040c010b41002d008083d480001a200369210920044100200341786a220a200a20034b1b6a41002802f482d4800011828080800000210a024002400240024002402002450d00200941014b0d02200a450d042006200a6a200771200a6b220241ffff034b0d04200a20026a2203417e6a20023b000020034100200410fa978080001a0c010b200941014b0d02200a450d032006200a6a200771200a6b220241ffff034b0d03200a20026a2203417e6a20023b00000b2000200336020820002001360204410021030c030b200541003602182005410136020c200541a4edcc800036020820054204370210200541086a41a0eecc800010fe80808000000b200541003602182005410136020c200541a4edcc800036020820054204370210200541086a41a0eecc800010fe80808000000b2000200436020820002003360204410121030b20002003360200200541206a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41948ecb800010b5928080002004280208220542e6e2dea393f0baf43a3703002005410036023020054280808080c0003703282005410036022020054100360218200541bc80808000360210200542ec8ca7e0e2f0c7e6bf7f37030820042802042106200428020821070240200128020822082001280200470d00200141f48ccb800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bbe0f04057f017e037f017e23808080800041d0006b2201248080808000200141286a41e591cb8000411941ce91cb800041174104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41848ecb8000108e92808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a22074100360200200142808080808001370210200141106a41948ecb800010b5928080002001280214220842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a220941013602002008420437022c20084203370224200841db8ecb80003602202008410d36021c200841f28ecb8000360218200841bb80808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41948ecb800010b5928080000b2001280244200941386c6a2208420437022c20084203370224200841db8ecb80003602202008411236021c200841ff8ecb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc133703002007200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41948ecb800010b5928080000b2001280214200941386c6a2208420437022c20084203370224200841db8ecb80003602202008411636021c200841918fcb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41948ecb800010b5928080000b2001280244200941386c6a2208420437022c20084203370224200841db8ecb80003602202008411536021c200841a78fcb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41948ecb800010b5928080000b2001280214200941386c6a2208420437022c20084203370224200841db8ecb80003602202008411736021c200841bc8fcb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41948ecb800010b5928080000b2001280244200941386c6a2208420437022c20084203370224200841db8ecb80003602202008412436021c200841d38fcb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41948ecb800010b5928080000b2001280214200941386c6a2208420437022c20084203370224200841db8ecb80003602202008412236021c200841f78fcb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41948ecb800010b5928080000b2001280244200941386c6a2208420437022c2008420b370224200841b490cb80003602202008411b36021c2008419990cb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41948ecb800010b5928080000b2001280214200941386c6a2208420437022c2008420b370224200841b490cb80003602202008411836021c200841bf90cb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c8006a200941016a220836020020012001290310220a37034002402008200aa7470d00200141c0006a41948ecb800010b5928080000b2001280244200841386c22096a2208420437022c20084212370224200841eb90cb80003602202008411436021c200841d790cb8000360218200841e084808000360210200842f1f78cfbb3b1d2c06a370308200842f8e7b48391f5ecb87a3703002001280244210820012001280240360248200120083602402001200820096a41386a36024c20012008360244200141346a200141c0006a41848ecb8000108d9280800002402005418080808078470d0041a48ecb8000411141b88ecb800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41dc97cb8000108e928080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bda0a04057f017e037f017e23808080800041d0006b2201248080808000200141286a41fe91cb8000411341ce91cb800041174104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41848ecb8000108e92808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a22074100360200200142808080808001370210200141106a41948ecb800010b5928080002001280214220842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a220941013602002008420437022c20084203370224200841db8ecb80003602202008410c36021c200841fd90cb8000360218200841bb80808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41948ecb800010b5928080000b2001280244200941386c6a2208420437022c20084203370224200841db8ecb80003602202008410e36021c2008418991cb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc133703002007200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41948ecb800010b5928080000b2001280214200941386c6a2208420437022c20084203370224200841db8ecb80003602202008411036021c2008419791cb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41948ecb800010b5928080000b2001280244200941386c6a2208420437022c20084203370224200841db8ecb80003602202008410936021c200841a791cb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41948ecb800010b5928080000b2001280214200941386c6a2208420437022c20084203370224200841db8ecb80003602202008410a36021c200841b091cb8000360218200841bb80808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220836020020012001290310220a37034002402008200aa7470d00200141c0006a41948ecb800010b5928080000b2001280244200841386c22096a2208420437022c2008420c370224200841c291cb80003602202008410836021c200841ba91cb8000360218200841e18480800036021020084290f3c1b99dc0eac8cb00370308200842c1de9bfecdd1dee8103703002001280244210820012001280240360248200120083602402001200820096a41386a36024c20012008360244200141346a200141c0006a41848ecb8000108d9280800002402005418080808078470d0041a48ecb8000411141b88ecb800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41dc97cb8000108e928080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000baa0403057f017e027f23808080800041c0006b2201248080808000200141246a419192cb8000411241ce91cb800041174104410010c2928080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41848ecb8000108e92808000200141086a2202200141206a28020036020020012001290218370300200128020c2103200128021021042001280214210520012902282106200128022421072001410036021420014280808080c00037020c2001410c6a41f48ccb800010a0938080002001280210220842808080808001370200200841003a00202008410736021c200841a392cb80003602182008420437021020084200370208200128021021082001200128020c3602142001200836020c2001200841246a36021820012008360210200141306a2001410c6a41848ecb8000108f9280800002402007418080808078470d0041a48ecb8000411141b88ecb800010a181808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41dc97cb8000108e92808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a2001410c6a41076a290000370000200141c0006a2480808080000bb50503057f017e027f23808080800041c0006b2201248080808000200141246a41aa92cb8000410e41ce91cb800041174104410010c2928080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41848ecb8000108e92808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080c00037020c2001410c6a41f48ccb800010a093808000200128021022074100360208200742808080808001370200200741003a00202007410536021c200741b892cb80003602182007410036021420074280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41f48ccb800010a0938080000b2001280234410141246c22086a220741013a00202007410736021c200741bd92cb8000360218200742043702102007420037020820074280808080800137020020012802342107200120012802303602142001200736020c2001200720086a41246a36021820012007360210200141306a2001410c6a41848ecb8000108f9280800002402005418080808078470d0041a48ecb8000411141b88ecb800010a181808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a41dc97cb8000108e92808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a2001410c6a41076a290000370000200141c0006a2480808080000bb80401047f23808080800041e0006b2203248080808000200341186a200110929280800002400240200328021c4101470d0041002104024002400240200328022022054100480d00410121042005450d0241002d008083d480001a200541002802f482d480001182808080000022040d01410121040b20042005200210b980808000000b2004417e6a41003b00000b4100210620034100360214200320043602102003200536020c200341186a41186a200141186a280200360200200341186a41106a200141106a290200370300200341186a41086a200141086a29020037030020032001290200370318200341386a200341186a109292808000200328023c4101470d012003410c6a41086a210102402003280240220220054d0d002003410c6a410020024101410110959280800020032802102104200328021421060b200341386a41186a200341186a41186a280200360200200341386a41106a200341186a41106a290300370300200341386a41086a200341186a41086a290300370300200320032903183703382003200436025c2003200636025820032001360254200341386a200341d4006a109192808000200041086a2003410c6a41086a2802003602002000200329020c370200200341e0006a2480808080000f0b200341003602482003410136023c200341d892cb800036023820034204370240200341386a200210fe80808000000b200341003602482003410136023c200341d892cb800036023820034204370240200341386a200210fe80808000000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a41002008410841381095928080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a41002008410841201095928080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741246e2208200128020822014101764f0d01410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a41002008410441241095928080002003280208210a200328020c21090b200a200941246c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41246e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000be60503067f017e027f23808080800041d0006b2201248080808000200141286a419896cb8000410610c392808000200142043702202001420037021820014280808080800137021041002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241bc80808000360218200242ec8ca7e0e2f0c7e6bf7f370310200242e6e2dea393f0baf43a370308200241013602042002419e96cb80003602002002417e6a20033b000020014101360248200120023602402001200241206a36024c20012002360244200141106a200141c0006a41848ecb8000108e92808000200141086a22042001411c6a220241086a28020036020020012002290200370300200128021021052001280214210320012802182106200129022c210720012802282108200141106a41086a410036020020014280808080c000370210200141106a41f48ccb800010a0938080002001280214220242808080808001370200200141c0006a41086a22094101360200200241003a00202002410436021c2002419f96cb8000360218200242043702102002420037020820012001290210370340200141346a200141c0006a41a396cb800041041087928080002001200128023436021820012001280238220236021020012002200128023c41246c6a36021c20012002360214200141c0006a200141106a41848ecb8000108f928080002008418080808078460d012001200536021820012003360210200120033602142001200320064105746a36021c200041c4006a200141106a41dc97cb8000108e928080002001411b6a20092802003600002000200737023c20002008360238200041013a000020002001290300370250200041d8006a20042802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000f0b4108412010ab80808000000b41a48ecb8000411141b88ecb800010a181808000000bbd05010b7f20012802082102200128020421032000280214210402402000280200410171450d00200028020c2105024020002802042206450d00200620002802082207460d00200720066b2208410371210902400240200620076b417c4d0d00410021070c010b200220036a210a2008417c71210b410021070340200a20076a2208200620076a220c2d00003a0000200841016a200c41016a2d00003a0000200841026a200c41026a2d00003a0000200841036a200c41036a2d00003a0000200b200741046a2207470d000b200320076a21030b2009450d00200620076a21070340200220036a20072d00003a0000200741016a2107200341016a21032009417f6a22090d000b0b2005450d00200520002802102207460d00200720056b2208410371210902400240200520076b417c4d0d00410021070c010b200220036a21062008417c71210a410021070340200620076a2208200520076a220c2d00003a0000200841016a200c41016a2d00003a0000200841026a200c41026a2d00003a0000200841036a200c41036a2d00003a0000200a200741046a2207470d000b200320076a21030b2009450d00200520076a21070340200220036a20072d00003a0000200741016a2107200341016a21032009417f6a22090d000b0b2001280200210602402004450d00200420002802182207460d00200720046b2208410371210902400240200420076b417c4d0d00410021070c010b200220036a21002008417c712105410021070340200020076a2208200420076a220c2d00003a0000200841016a200c41016a2d00003a0000200841026a200c41026a2d00003a0000200841036a200c41036a2d00003a00002005200741046a2207470d000b200320076a21030b2009450d00200420076a21070340200220036a20072d00003a0000200741016a2107200341016a21032009417f6a22090d000b0b200620033602000bdc0201047f41012102200128021421030240024002400240024002400240024020012802004101470d00200128020c2104200128020421052003450d052005450d01200128020820056b21022004450d02417f417f200128021020046b20026a2204200420024922021b2205200128021820036b22016a220320032005491b210320020d04200421020c030b2003450d05200128021820036b220321010c060b024020040d00410021020c010b200128021020046b21020b417f2002200128021820036b22016a220320032002491b21030b200220016a220120024f21020c030b410021020c020b024002402005450d00200128020820056b210520040d0120052103200521010c030b2004450d01200128021020046b220321010c020b417f200128021020046b20056a220120012005491b2103200120054f21020c010b41002103410021010b2000200136020820002002360204200020033602000bf60503057f017e027f23808080800041d0006b2201248080808000200141286a41a796cb8000411241b996cb800041264104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41848ecb8000108e92808000200141086a200141106a41146a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a4100360200200142808080808001370210200141106a41948ecb800010b5928080002001280214220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141c0006a41086a220841013602002007420437022c20074203370224200741db8ecb80003602202007411336021c200741c88ecb8000360218200741bb80808000360210200120012902103703400240200828020022072001280240470d00200141c0006a41948ecb800010b5928080000b2001280244200741386c22086a2207420437022c20074203370224200741db8ecb80003602202007411436021c200741de8ecb8000360218200741bb80808000360210200742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc133703002001280244210720012001280240360248200120073602402001200720086a41386a36024c20012007360244200141346a200141c0006a41848ecb8000108d9280800002402005418080808078470d0041a48ecb8000411141b88ecb800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41dc97cb8000108e928080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10949280800020052802084101470d0120052802102102200528020c21060b2006200241e498cb800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000bee0101037f23808080800041306b220324808080800041002d008083d480001a0240410841002802f482d480001182808080000022040d004101410841dc99cb800010b980808000000b2004417e6a220541003b000020042001290200370000200341286a2004410841002802e480d48000118680808000002003200441086a360224200320043602202003200341286a41086a36021c2003410136020c200320023602102003200241206a3602142003200341286a36021820002003410c6a41ec9acb8000108c92808000200420052f00006b41002802ec82d4800011818080800000200341306a2480808080000bb90201047f024002402002280204450d000240200228020822030d00024020010d00410421020c030b4100210241002d008083d480001a200141002802f482d48000118280808000002204450d022004200441036a417c7120046b22056a2202417e6a20053b00000c020b2002280200210441002102200141002802f482d48000118280808000002205450d012005200541036a417c7120056b22066a2202417e6a20063b000020022004200310f4978080001a20042004417e6a2f00006b41002802ec82d48000118180808000000c010b024020010d00410421020c010b4100210241002d008083d480001a200141002802f482d48000118280808000002204450d002004200441036a417c7120046b22056a2202417e6a20053b00000b2000200136020820002002410420021b36020420002002453602000be00101077f23808080800041206b22022480808080004100210302402000280200220441ffffffff014d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410274220741fcffffff074b0d004100210502402004450d002002200441027436021c20022000280204360214410421050b20022005360218200241086a2007200241146a10979280800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf50102037f017e23808080800041306b22022480808080002001280204210320012802002104200028020021000240024020012d000a41800171450d00200441fc9acb80004102200328020c11808080800000450d00410121010c010b41e284808000ad4220862002410c6aad8421054100210103402002200020016a36020c20024101360224200241b09bcb800036022020024101360214200241909bcb80003602102002410136021c200220053703282002200241286a360218024020042003200241106a10b181808000450d00410121010c020b200141016a22014120470d000b410021010b200241306a24808080800020010b8b0101017f23808080800041306b22022480808080002002200036020c20024101360224200241989bcb800036022020024101360214200241909bcb80003602102002410136021c200241c080808000ad4220862002410c6aad843703282002200241286a36021820012802002001280204200241106a10b1818080002101200241306a24808080800020010be10203027f017e037f23808080800041306b2201248080808000200141246a41c89bcb8000410441fe9acb8000410f4104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41ac9ccb800010b5928080002001280210220542bbeefa98e893a7ad023703002005420437022c20054208370224200541e09ccb800036022020054100360218200541e384808000360210200542eef8e7b09dc4b6b53f37030802402004418080808078470d0041bc9ccb8000411141d09ccb800010a181808000000b200128020c2105200128021021062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200636020820002005360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000b6700200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004120360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a00000b940101037f2380808080004180016b220224808080800020002802002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b281808000210020024180016a24808080800020000bda0303017f017e047f0240024020004280808080105a0d0020012102200021030c010b200141786a220220004280c2d72f8022034280bea8d00f7e20007ca722044190ce006e22054190ce0070220641ffff037141e4006e220741017441e89ccb80006a2f00003b00002001417c6a200420054190ce006c6b220441ffff037141e4006e220541017441e89ccb80006a2f00003b00002001417a6a2006200741e4006c6b41ffff037141017441e89ccb80006a2f00003b00002001417e6a2004200541e4006c6b41ffff037141017441e89ccb80006a2f00003b00000b024002402003a722014190ce004f0d00200121040c010b2002417c6a21020340200220014190ce006e220441f0b17f6c20016a220541e4006e220641017441e89ccb80006a2f00003b0000200241026a2005200641e4006c6b41017441e89ccb80006a2f00003b00002002417c6a2102200141ffc1d72f4b21052004210120050d000b200241046a21020b02400240200441e3004b0d00200421010c010b2002417e6a22022004200441ffff037141e4006e220141e4006c6b41ffff037141017441e89ccb80006a2f00003b00000b0240200141094b0d002002417f6a20014130723a00000f0b2002417e6a200141017441e89ccb80006a2f00003b00000bc01509017f027e037f017e027f037e017f017e017f23808080800041a0026b22022480808080002000bd220342ffffffffffffff078321042003423488a7210541002106024020034200590d002001412d3a0000410121060b200541ff0f7121050240024002400240024002400240024020044200520d002005450d010b20044200522005410249722107200442808080808080800884200420051b22044202862103200442018321080240200541cb776a41cc7720051b2205417f4a0d0020024190026a4190c9cb800020054185a2536c4114762005417f476b220920056a220a41047422056b290300220442002003420284220b420010fc9780800020024180026a4198c9cb800020056b290300220c4200200b420010fc97808000200241f0016a200229039802220b2002290380027c220d200229038802200d200b54ad7c2009200a41b1d9b51f6c4113766b41fc006a41ff007141c000732205108198808000200241b0016a2004420020032007417f73ac7c220b420010fc97808000200241a0016a200c4200200b420010fc9780800020024190016a20022903b801220b20022903a0017c220d20022903a801200d200b54ad7c2005108198808000200241e0016a200442002003420010fc97808000200241d0016a200c42002003420010fc97808000200241c0016a20022903e801220420022903d0017c220c20022903d801200c200454ad7c200510819880800020022903c001210b200229039001210d20022903f001210c024020094102490d002009413f4f0d042003427f2009ad86427f858350450d040c050b200c20087d210c200850200771210e410121090c050b20024180016a200541c1e8046c411276200541034b6b220a410474220941b09ecb80006a290300220c420020034202842204420010fc97808000200241f0006a200941b89ecb80006a290300220b42002004420010fc97808000200241e0006a200229038801220d20022903707c220f2002290378200f200d54ad7c200a20056b200a41cfa6ca006c4113766a41fd006a41ff007141c000732205108198808000200241206a200c420020032007417f73ac7c220d420010fc97808000200241106a200b4200200d420010fc9780800020022002290328220d20022903107c220f2002290318200f200d54ad7c2005108198808000200241d0006a200c42002003420010fc97808000200241c0006a200b42002003420010fc97808000200241306a2002290358220c20022903407c220b2002290348200b200c54ad7c20051081988080002002290330210b2002290300210d2002290360210c200a41164f0d0202402003420580a7417b6c41002003a76b470d00417f210503402003a72107200541016a210520034205802203a7417b6c410020076b460d000b2005200a4f0d040c030b02402008500d00417f210503402004a72107200541016a210520044205802204a7417b6c410020076b460d000b200c2005200a4fad7d210c0c030b2007ad427f8520037c2103417f210503402003a72107200541016a210520034205802203a7417b6c410020076b460d000c020b0b200120066a220541002f00f0f1cb80003b0000200541026a41002d00f2f1cb80003a00002003423f88a741036a21070c050b2005200a490d004101210e410021090c020b4100210702400240200c42e400802204200d42e40080220f560d0041002105200d210f200c2104200b21030c010b200b42e400802203a7419c7f6c200ba76a41314b2107410221050b02402004420a802204200f420a80220c580d000340200541016a21052003220b420a8021032004420a802204200c220f420a80220c560d000b2003a741766c200ba76a41044b21070b2003200f5120077221070c020b4100210e410121090b4100210702400240200c420a802203200d420a80220f560d0041002105200d2104200b210c0c010b41002105410021070340200e200f2204a741766c4100200da76b4671210e200541016a21052009200741ff017145712109200b420a80220ca741766c200ba76a2107200c210b2004210d2003420a8022032004420a80220f560d000b0b024002400240200e450d002004420a80220ba741766c41002004a76b460d010b200c21030c010b0340200ba72110200541016a21052009200741ff017145712109200c420a802203a741766c200ca76a2107200b2104200b420a80220d210b2003210c200da741766c410020106b460d000b0b2003200451200850200e7141017371410441052003420183501b2007200741ff01714105461b200720091b41ff017141044b7221070b200a20056a21090240024020032007ad4201837c220342ffff83fea6dee111580d00411121070c010b0240200342ffff99a6eaafe301580d00411021070c010b0240200342ffffe883b1de16580d00410f21070c010b0240200342ffbfcaf384a302580d00410e21070c010b0240200342ff9f94a58d1d580d00410d21070c010b0240200342ffcfdbc3f402580d00410c21070c010b0240200342ffc7afa025580d00410b21070c010b0240200342ff93ebdc03580d00410a21070c010b0240200342ffc1d72f580d00410921070c010b0240200342fface204580d00410821070c010b0240200342bf843d580d00410721070c010b02402003429f8d06580d00410621070c010b02402003428fce00580d00410521070c010b0240200342e707580d00410421070c010b0240200342e300580d00410321070c010b4102410120034209561b21070b200720096a2105024002400240024002400240024002400240024020094100480d0020054111480d010b2005417f6a22094110490d01200541046a4105490d0220074101470d05200120066a220741e5003a000120072003a741306a3a000020012006410272220e6a210720094100480d03200921050c040b2003200120066a20076a109e928080000240200720054e0d00200120076a20066a4130200910fa978080001a0b2001200520066a22056a41aee0003b0000200541026a21070c080b20032001200620076a41016a22076a109e92808000200120066a2209200941016a200510f99780800020056a412e3a00000c070b200120066a220e41b0dc003b0000410220056b210902402005417f4a0d00200e41026a413020094103200941034b1b417e6a10fa978080001a0b20032001200720066a20096a22076a109e928080000c060b2007412d3a0000410120056b2105200741016a21070b200541e3004a0d010240200541094a0d002007200541306a3a00002009411f7641016a200e6a21070c050b2007200541017441e89ccb80006a2f00003b00002009411f76410272200e6a21070c040b20032001200720066a220e6a221041016a109e92808000200120066a220720072d00013a00002007412e3a0001201041e5003a00012001200e41026a220e6a210720094100480d01200921050c020b2007200541e4006e220141306a3a000020072005200141e4006c6b41017441e89ccb80006a2f00003b00012009411f7641036a200e6a21070c020b2007412d3a0000410120056b2105200741016a21070b0240200541e3004a0d000240200541094a0d002007200541306a3a00002009411f7641016a200e6a21070c020b2007200541017441e89ccb80006a2f00003b00002009411f76410272200e6a21070c010b2007200541e4006e220141306a3a000020072005200141e4006c6b41017441e89ccb80006a2f00003b00012009411f7641036a200e6a21070b200241a0026a24808080800020070bf517020d7f027e23808080800041c0006b2207248080808000024002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022082f01e2012209410b490d00200128020421092001280208210a41002d008083d480001a41e80141002802f482d48000118280808000002201450d0b2001200141076a41787120016b220b6a220c41003b01e201200c41003602b001200c417e6a200b3b0000200a4105490d01200a417b6a0e020304020b20082001280208220a4104746a210c200a41016a220b20094d0d07200c2003370308200c20023703000c080b200c20082f01e201417b6a22013b01e2012001410c4f0d0a200841c0006a210b200841c8006a210d200841c4016a210e4104210f41c801211041d000211120092112200821130c040b200c20082f01e20141796a22013b01e2012001410c4f0d0a200a41796a210a200841e0006a210b200841e8006a210d200841cc016a210e410021124106210f41d001211041f00021110c020b200c20082f01e201417a6a22013b01e2012001410c4f0d0a200829035021142008290358211520082802c801210e200c200841e0006a200141047410f49780800041b4016a200841cc016a200141027410f4978080001a200841063b01e201200820043602c80120082003370358200820023703504105210a20092112200821130c030b200c20082f01e201417a6a22013b01e2012001410c4f0d0a200841d0006a210b200841d8006a210d200841c8016a210e4100210a4105210f41cc01211041e0002111410021120b200c21130b200e280200210e200d2903002115200b2903002114200c200820116a200141047410f49780800041b4016a200820106a200141027410f4978080001a2008200f3b01e2012013200a4104746a21010240024020132f01e201220b200a4b0d0020012003370308200120023703000c010b2013200a41016a220d4104746a2001200b200a6b220f41047410f9978080001a2001200337030820012002370300201341b4016a2201200d4102746a2001200a4102746a200f41027410f9978080001a0b2013200a4102746a20043602b4012013200b41016a3b01e2010b20082802b00122010d02410021040c090b2008200b4104746a200c2009200a6b220e41047410f9978080001a200c2003370308200c2002370300200841b4016a220c200b4102746a200c200a4102746a200e41027410f9978080001a0b2008200a4102746a20043602b4012008200941016a3b01e20120012802042112200821130c080b41002104034020042009470d0620082f01e0012108024002400240024002400240024020012f01e2012204410b490d00200941016a210420084105490d01410021094105210b2008417b6a0e020204030b200841016a2109200441016a210d200120084104746a210b0240024020082004490d00200b2015370308200b2014370300200120084102746a200e3602b4010c010b200120094104746a200b200420086b220f41047410f9978080001a200b2015370308200b2014370300200141b4016a220b200941027422106a200b200841027422116a220b200f410274220f10f9978080001a200b200e360200200141e8016a220b20116a41086a200b20106a200f10f9978080001a0b2001200d3b01e201200120094102746a200c3602e8012009200441026a220b4f0d0e0240200420086b220e41016a4103712204450d00200120084102746a41ec016a210803402008280200220c20093b01e001200c20013602b001200841046a2108200941016a21092004417f6a22040d000b0b200e4103490d0e200941027420016a41f4016a21080340200841746a280200220420093b01e001200420013602b001200841786a2802002204200941016a3b01e001200420013602b0012008417c6a2802002204200941026a3b01e001200420013602b00120082802002204200941036a3b01e001200420013602b001200841106a2108200b200941046a2209470d000c0f0b0b20074104360214200720043602102007200136020c200741186a2007410c6a10a19280800020072802182101200821090c030b20074105360214200720043602102007200136020c200741186a2007410c6a10a192808000200728021822082f01e201220141016a21090240024020014106490d00200841e0006a200841d0006a2001417b6a220441047410f9978080001a2008201537035820082014370350200841cc016a200841c8016a200441027410f9978080001a2008200e3602c80120084184026a20084180026a2001410274416c6a10f9978080001a200820093b01e2012008200c360280020c010b2008200c360280022008200e3602c8012008201537035820082014370350200820093b01e20120014105470d040b2001410371210c4106210902402001417b6a41ffff03714103490d00200141fcff037141786a210e41062101410021040340200820046a22094180026a280200220b20013b01e001200b20083602b00120094184026a280200220b200141016a3b01e001200b20083602b00120094188026a280200220b200141026a3b01e001200b20083602b0012009418c026a2802002209200141036a3b01e001200920083602b001200441106a21042001417a6a210b200141046a22092101200b200e470d000b0b200c450d03200820094102746a41e8016a210103402001280200220420093b01e001200420083602b001200141046a2101200941016a2109200c417f6a220c0d000c040b0b200841796a21094106210b0b2007200b360214200720043602102007200136020c200741186a2007410c6a10a192808000200728022021010b200941016a2108200120094104746a210b20012f01e201220441016a210d02400240200420094b0d00200b2015370308200b2014370300200120094102746a200e3602b4010c010b200120084104746a200b200420096b220f41047410f9978080001a200b2015370308200b2014370300200141b4016a220b200841027422106a200b200941027422116a220b200f410274220f10f9978080001a200b200e360200200141e8016a220b20116a41086a200b20106a200f10f9978080001a0b2001200d3b01e201200120084102746a200c3602e80102402008200441026a220b4f0d000240200420096b220e41016a4103712204450d00200120094102746a41ec016a210903402009280200220c20083b01e001200c20013602b001200941046a2109200841016a21082004417f6a22040d000b0b200e4103490d00200120084102746a41f4016a21090340200941746a280200220420083b01e001200420013602b001200941786a2802002204200841016a3b01e001200420013602b0012009417c6a2802002204200841026a3b01e001200420013602b00120092802002204200841036a3b01e001200420013602b001200941106a2109200b200841046a2208470d000b0b20072802182208450d090b2007280238210e2007290330211520072903282114200728022421042007280220210c200728021c210920082802b0012201450d070c000b0b410841e80110ab80808000000b2001410b41c0f5cb8000109181808000000b2001410b41c0f5cb8000109181808000000b2001410b41c0f5cb8000109181808000000b2001410b41c0f5cb8000109181808000000b41e0f5cb800041354198f6cb8000108081808000000b02400240200528020022012802002209450d002001280204210b41002d008083d480001a41980241002802f482d48000118280808000002208450d032008200841076a41787120086b220d6a220820093602e801200841003b01e201200841003602b0012008417e6a200d3b0000200941003b01e001200920083602b0012001200b41016a360204200120083602002004200b470d0420082f01e2012201410b490d014188f3cb8000412041f8f4cb8000108081808000000b41f8f2cb800010a081808000000b2008200141016a22093b01e201200820014104746a2204201537030820042014370300200841e8016a20094102746a200c360200200820014102746a200e3602b401200c20093b01e001200c20083602b0010b2000200a3602082000201236020420002013360200200741c0006a2480808080000f0b410841980210ab80808000000b41b8f4cb8000413041e8f4cb8000108081808000000b8a0402097f027e200128020022022f01e201210341002d008083d480001a0240024002400240024041980241002802f482d48000118280808000002204450d002004200441076a41787120046b22056a220641003b01e201200641003602b0012006417e6a20053b0000200620022f01e201220720012802082204417f736a22053b01e2012005410c4f0d012007200441016a22086b2005470d02200241b4016a220920044102746a280200210a200220044104746a2207290308210b2007290300210c2006200220084104746a200541047410f497808000220741b4016a200920084102746a200541027410f4978080001a200220043b01e20120072f01e201220641016a21052006410c4f0d03200320046b22082005470d04200741e8016a200220044102746a41ec016a200841027410f4978080002108200128020421014100210402400340200820044102746a280200220520043b01e001200520073602b001200420064f0d01200420042006496a220420064d0d000b0b2000200a3602202000200b3703182000200c37031020002001360204200020023602002000200136020c200020073602080f0b410841980210ab80808000000b2005410b41c0f5cb8000109181808000000b4188f5cb8000412841b0f5cb8000108081808000000b2005410c41d0f5cb8000109181808000000b4188f5cb8000412841b0f5cb8000108081808000000bad2a01167f23808080800041e0016b22062480808080000240024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01ee042208410b490d00200128020421082001280208210941002d008083d480001a41f00441002802f482d48000118280808000002201450d0c2001200141036a417c7120016b220a6a220b41003b01ee04200b4100360200200b417e6a200a3b000020094105490d012009417b6a0e020304020b200741046a220c200128020822094102746a210b02400240200941016a220a20084d0d00200b20023602000c010b200c200a4102746a200b200820096b220c41027410f9978080001a200b2002360200200741306a220b200a41346c6a200b200941346c6a200c41346c10f9978080001a0b2007200941346c6a220b2003290200370230200b41e0006a200341306a280200360200200b41d8006a200341286a290200370200200b41d0006a200341206a290200370200200b41c8006a200341186a290200370200200b41c0006a200341106a290200370200200b41386a200341086a2902003702002007200841016a3b01ee042001280204210d0c100b200b20072f01ee04417b6a22013b01ee0420064198016a41086a220a2007418c026a29020037030020064198016a41106a220e20074194026a29020037030020064198016a41186a220f2007419c026a29020037030020064198016a41206a2210200741a4026a29020037030020064198016a41286a2211200741ac026a2902003703002006200729028402370398012001410c4f0d09200728028002210c20072802142112200b41046a200741186a200141027410f4978080001a200b41306a200741b4026a200141346c10f4978080001a200741043b01ee04200641e8006a41086a200a290300370300200641e8006a41106a200e290300370300200641e8006a41186a200f290300370300200641e8006a41206a2010290300370300200641e8006a41286a201129030037030020062006290398013703682008210d200721130c040b200b20072f01ee0441796a22013b01ee0420064198016a41086a220a200741f4026a29020037030020064198016a41106a220e200741fc026a29020037030020064198016a41186a220f20074184036a29020037030020064198016a41206a22102007418c036a29020037030020064198016a41286a221120074194036a290200370300200620072902ec02370398012001410c4f0d0720072802e802210c200728021c2112200b41046a200741206a200141027410f4978080001a200b41306a2007419c036a200141346c10f4978080001a200741063b01ee04200641e8006a41086a200a290300370300200641e8006a41106a200e290300370300200641e8006a41186a200f290300370300200641e8006a41206a2010290300370300200641e8006a41286a20112903003703002006200629039801370368200941796a21090c020b200b20072f01ee04417a6a22013b01ee0420064198016a41086a220a200741c0026a29020037030020064198016a41106a2209200741c8026a29020037030020064198016a41186a220e200741d0026a29020037030020064198016a41206a220f200741d8026a29020037030020064198016a41286a2210200741e0026a290200370300200620072902b802370398012001410c4f0d0520072802b402210c20072802182112200b41046a2007411c6a200141027410f4978080001a200b41306a200741e8026a200141346c10f4978080001a200641e8006a41286a2010290300370300200641e8006a41206a200f290300370300200641e8006a41186a200e290300370300200641e8006a41106a2009290300370300200641e8006a41086a200a290300370300200620062903980137036820072002360218200741063b01ee04200741b4026a22012003290200370200200141086a200341086a290200370200200141106a200341106a290200370200200141186a200341186a290200370200200141206a200341206a290200370200200141286a200341286a290200370200200141306a200341306a280200360200410521092008210d200721130c030b200b20072f01ee04417a6a22013b01ee0420064198016a41086a220a200741c0026a29020037030020064198016a41106a2209200741c8026a29020037030020064198016a41186a220e200741d0026a29020037030020064198016a41206a220f200741d8026a29020037030020064198016a41286a2210200741e0026a290200370300200620072902b802370398012001410c4f0d0320072802b402210c20072802182112200b41046a2007411c6a200141027410f4978080001a200b41306a200741e8026a200141346c10f4978080001a200741053b01ee04200641e8006a41086a200a290300370300200641e8006a41106a2009290300370300200641e8006a41186a200e290300370300200641e8006a41206a200f290300370300200641e8006a41286a20102903003703002006200629039801370368410021090b4100210d200b21130b201341046a20094102746a2101024020132f01ee04220a20094d0d00200141046a2001200a20096b220e41027410f9978080001a2013200941346c6a220f41e4006a200f41306a200e41346c10f9978080001a0b200120023602002013200941346c6a22012003290200370230200141386a200341086a290200370200200141c0006a200341106a290200370200200141c8006a200341186a290200370200200141d0006a200341206a290200370200200141d8006a200341286a290200370200200141e0006a200341306a2802003602002013200a41016a3b01ee040b200641086a41286a2203200641e8006a41286a290300370300200641086a41206a2201200641e8006a41206a290300370300200641086a41186a2202200641e8006a41186a290300370300200641086a41106a220a200641e8006a41106a290300370300200641086a41086a220e200641e8006a41086a290300370300200620062903683703080240200c418080808078470d00201321070c0a0b200641386a41286a2003290300370300200641386a41206a2001290300370300200641386a41186a2002290300370300200641386a41106a200a290300370300200641386a41086a200e290300370300200620062903083703380240200728020022010d00410021030c060b200641d8016a2114200641d0016a211520064198016a41086a210a41002103200641386a41106a210e200641386a41186a210f200641386a41206a2110200641386a41286a211103400240024020032008470d0020072f01ec04210702400240024020012f01ee042202410b490d00200841016a2108200741054f0d014104210220152116200721030c020b200141046a22082007410274220f6a210a200741016a2103200241016a210e0240024020072002490d002001200741346c6a2208200c360230200820062903383702342008413c6a200641c0006a290300370200200841c4006a200641c8006a290300370200200841cc006a200641d0006a290300370200200841d4006a200641d8006a290300370200200841dc006a200641e0006a2903003702000c010b2008200341027422106a200a200220076b2211410274221610f9978080001a200141306a2208200341346c6a2008200741346c6a2208201141346c10f9978080001a2008200c360200200820062903383702042008410c6a200641386a41086a290300370200200841146a200641c8006a2903003702002008411c6a200641d0006a290300370200200841246a200641d8006a2903003702002008412c6a200641e0006a290300370200200141f0046a2208200f6a41086a200820106a201610f9978080001a0b200a20123602002001200e3b01ee04200120034102746a200b3602f0042003200241026a220a4f0d0b0240200220076b220241016a410371220b450d00200120074102746a41f4046a210703402007280200220820033b01ec0420082001360200200741046a2107200341016a2103200b417f6a220b0d000b0b20024103490d0b200341027420016a41fc046a21070340200741746a280200220b20033b01ec04200b2001360200200741786a280200220b200341016a3b01ec04200b20013602002007417c6a280200220b200341026a3b01ec04200b20013602002007280200220b200341036a3b01ec04200b2001360200200741106a2107200a200341046a2203470d000c0c0b0b410021034105210220142116024002402007417b6a0e020002010b200641053602102006200836020c2006200136020820064198016a200641086a10a39280800020062802d00122072f01ee04220341016a210102400240024020034106490d002007411c6a200741186a2003417b6a220841027410f9978080001a200741e8026a200741b4026a200841346c10f9978080001a2007200c3602b40220072012360218200720062903383702b802200741c0026a200641386a41086a290300370200200741c8026a200e290300370200200741d0026a200f290300370200200741d8026a2010290300370200200741e0026a20112903003702002007418c056a20074188056a2003410274416c6a10f9978080001a200720013b01ee042007200b360288050c010b2007200c3602b40220072012360218200720062903383702b8022007200b36028805200720013b01ee04200741c0026a200641386a41086a290300370200200741c8026a200e290300370200200741d0026a200f290300370200200741d8026a2010290300370200200741e0026a201129030037020020034105470d010b200341037121084106210102402003417b6a41ffff03714103490d00200341fcff037141786a210c410621034100210b03402007200b6a22014188056a280200220220033b01ec04200220073602002001418c056a2802002202200341016a3b01ec042002200736020020014190056a2802002202200341026a3b01ec042002200736020020014194056a2802002201200341036a3b01ec0420012007360200200b41106a210b2003417a6a2102200341046a220121032002200c470d000b0b2008450d00200720014102746a41f0046a210303402003280200220b20013b01ec04200b2007360200200341046a2103200141016a21012008417f6a22080d000b0b200641e8006a41086a200a41086a290200370300200641e8006a41106a200a41106a290200370300200641e8006a41186a200a41186a290200370300200641e8006a41206a200a41206a290200370300200641e8006a41286a200a41286a2902003703002006200a2902003703680c030b200741796a210341062102201421160b200620023602102006200836020c2006200136020820064198016a200641086a10a3928080002016280200220141046a2202200341027422176a2116200341016a210720012f01ee04220841016a211802400240200820034b0d002001200341346c6a2202200c360230200220062903383702342002413c6a200641386a41086a290300370200200241c4006a200e290300370200200241cc006a200f290300370200200241d4006a2010290300370200200241dc006a20112903003702000c010b2002200741027422196a2016200820036b221a410274221b10f9978080001a200141306a2202200741346c6a2002200341346c6a2202201a41346c10f9978080001a2002200c360200200220062903383702042002410c6a200641386a41086a290300370200200241146a200e2903003702002002411c6a200f290300370200200241246a20102903003702002002412c6a2011290300370200200141f0046a220220176a41086a200220196a201b10f9978080001a0b20162012360200200120183b01ee04200120074102746a200b3602f00402402007200841026a22024f0d000240200820036b220c41016a410371220b450d00200120176a41f4046a210303402003280200220820073b01ec0420082001360200200341046a2103200741016a2107200b417f6a220b0d000b0b200c4103490d00200120074102746a41fc046a21030340200341746a280200220b20073b01ec04200b2001360200200341786a280200220b200741016a3b01ec04200b20013602002003417c6a280200220b200741026a3b01ec04200b20013602002003280200220b200741036a3b01ec04200b2001360200200341106a21032002200741046a2207470d000b0b200641e8006a41086a200a41086a290200370300200641e8006a41106a200a41106a290200370300200641e8006a41186a200a41186a290200370300200641e8006a41206a200a41206a290200370300200641e8006a41286a200a41286a2902003703002006200a29020037036820062802d00121070c010b41e0f5cb800041354198f6cb8000108081808000000b2006280298012112200628029c01220c418080808078460d0720062802dc01210320062802d801210b20062802d40121082011200641e8006a41286a2903003703002010200641e8006a41206a290300370300200f200641e8006a41186a290300370300200e200641e8006a41106a290300370300200641386a41086a200641e8006a41086a2903003703002006200629036837033820072802002201450d060c000b0b2001410b41c0f5cb8000109181808000000b2001410b41c0f5cb8000109181808000000b2001410b41c0f5cb8000109181808000000b2001410b41c0f5cb8000109181808000000b410441f00410ab80808000000b02400240200428020022012802002208450d002001280204210241002d008083d480001a41a00541002802f482d48000118280808000002207450d032007200741036a417c7120076b220a6a220720083602f004200741003b01ee04200741003602002007417e6a200a3b0000200841003b01ec04200820073602002001200241016a3602042001200736020020032002470d0420072f01ee042201410b490d014188f3cb8000412041f8f4cb8000108081808000000b41f8f2cb800010a081808000000b2007200141016a22083b01ee042007200141346c6a220320062903383702342003413c6a200641c0006a290300370200200341c4006a200641c8006a290300370200200341cc006a200641d0006a290300370200200341d4006a200641d8006a290300370200200341dc006a200641e0006a2903003702002003200c360230200720014102746a2012360204200741f0046a20084102746a200b360200200b20083b01ec04200b20073602000b200020093602082000200d360204200020133602000c030b410441a00510ab80808000000b41b8f4cb8000413041e8f4cb8000108081808000000b200020093602082000200d360204200020073602000b200641e0016a2480808080000bf106010a7f23808080800041f0006b2202248080808000200128020022032f01ee04210441002d008083d480001a0240024002400240024041a00541002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01ee04200741003602002007417e6a20063b0000200241386a41086a200341306a22082001280208220941346c6a220541086a290200370300200241386a41106a200541106a290200370300200241386a41186a200541186a290200370300200241386a41206a200541206a290200370300200241386a41286a200541286a290200370300200241386a41306a200541306a280200360200200720032f01ee04220a2009417f736a22063b01ee04200220052902003703382006410c4f0d01200a200941016a22056b2006470d02200341046a220a20094102746a280200210b200741046a200a20054102746a200641027410f4978080001a200741306a2008200541346c6a200641346c10f4978080001a200320093b01ee04200241086a200241386a41086a290300370300200241106a200241386a41106a290300370300200241186a200241386a41186a290300370300200241206a200241386a41206a290300370300200241286a200241386a41286a290300370300200241306a200241386a41306a2802003602002002200229033837030020072f01ee04220641016a21052006410c4f0d03200420096b220a2005470d04200741f0046a200320094102746a41f4046a200a41027410f497808000210a200128020421014100210502400340200a20054102746a280200220920053b01ec0420092007360200200520064f0d01200520052006496a220520064d0d000b0b2000200136023c200020033602382000200b3602002000200229030037020420002001360244200020073602402000410c6a200241086a290300370200200041146a200241106a2903003702002000411c6a200241186a290300370200200041246a200241206a2903003702002000412c6a200241286a290300370200200041346a200241306a280200360200200241f0006a2480808080000f0b410441a00510ab80808000000b2006410b41c0f5cb8000109181808000000b4188f5cb8000412841b0f5cb8000108081808000000b2005410c41d0f5cb8000109181808000000b4188f5cb8000412841b0f5cb8000108081808000000bbb08030c7f017e027f23808080800041206b2202248080808000200241086a200110af928080000240024020022802082203450d00200228020c22042802082205410374210141002106024002400240200541ffffffff014b0d00200141fcffffff074b0d00200328020021072004280204210841002109410421034100210a2001450d0241002d008083d480001a200141002802f482d480001182808080000022060d01410421060b2006200141f4facb800010b980808000000b2006200641036a417c71220320066b220b6a417e6a200b3b00002005210a0b20032008200110f497808000210c2004280214220d410474210b024002400240200d41ffffffff004b0d00200b41fcffffff074b0d000240200b0d00410421090c030b2004280210210141002d008083d480001a200b41002802f482d480001182808080000022030d01410421090b2009200b4184fbcb800010b980808000000b2003200341036a417c71220920036b22066a417e6a20063b0000200d450d0041002103200d21060340200b2003460d012001290208210e200920036a22082001290200370200200841086a200e370200200341106a2103200141106a21012006417f6a22060d000b0b02400240024002400240024002400240024020042d002422010e080001020304050607000b200241146a200441286a200110a5928080000c070b200241146a200441286a200110a6928080000c060b200220042802283602140c050b200220042902283702140c040b20042802302206410274210341002108024002400240200641ffffffff034b0d00200341fcffffff074b0d00200428022c210b024020030d004104210f410021080c030b41002d008083d480001a200341002802f482d480001182808080000022080d01410421080b2008200341f4facb800010b980808000000b2008200841036a417c71220f20086b22106a417e6a20103b0000200621080b200f200b200310f49780800021032002200636021c20022003360218200220083602140c030b200220042d00253a00110c020b200220042802283602140c010b200220042902283702140b200220013a001020042802202203410374210141002106024002400240200341ffffffff014b0d00200141fcffffff074b0d00200428021c2108024020010d004104210b410021060c030b41002d008083d480001a200141002802f482d480001182808080000022060d01410421060b2006200141f4facb800010b980808000000b2006200641036a417c71220b20066b22046a417e6a20043b0000200321060b200b2008200110f49780800021012000412c6a200241186a2902003702002000200229021037022420002007360234200020033602202000200136021c200020063602182000200d360214200020093602102000200d36020c200020053602082000200c3602042000200a3602000c010b20004180808080783602000b200241206a2480808080000bf70301107f20012802082203410574210441002105024002400240200341ffffff3f4b0d00200441fcffffff074b0d00024020040d00410421060c030b2001280204210141002d008083d480001a200441002802f482d480001182808080000022050d01410421050b200520044184fbcb800010b980808000000b2005200541036a417c71220620056b22076a417e6a20073b00002003450d004100210720032108034020042007460d01410021090240024002402001280208220a41ffffffff014b0d00200a410374220541fcffffff074b0d002001280204210b200128021c210c2001280218210d2001280214210e2001280210210f200128020c2110024020050d0041042111410021090c030b41002d008083d480001a200541002802f482d480001182808080000022090d0141042109200521110b2009201141f4facb800010b980808000000b2009200941036a417c71221120096b22126a417e6a20123b0000200a21090b2011200b200510f497808000210b200620076a220520093602002005411c6a200c360200200541186a200d360200200541146a200e360200200541106a200f3602002005410c6a2010360200200541086a200a360200200541046a200b360200200741206a2107200141206a21012008417f6a22080d000b0b2000200336020820002006360204200020033602000bbe0403027f017e0d7f23808080800041206b220324808080800020012802082204ad42247e2205a72106410021070240024002402005422088a70d00200641fcffffff074b0d00024020060d00410421080c030b2001280204210141002d008083d480001a200641002802f482d480001182808080000022070d01410421070b200720064184fbcb800010b980808000000b2007200741036a417c71220820076b22096a417e6a20093b00002004450d00410021092004210a034020062009460d01200128021c210b2001280218210c200341146a2001200110a5928080004100210d0240024002402001280214220e41ffffffff014b0d00200e410374220741fcffffff074b0d002001280210210f20012d00202110024020070d00410421114100210d0c030b41002d008083d480001a200741002802f482d4800011828080800000220d0d014104210d200721110b200d201141f4facb800010b980808000000b200d200d41036a417c712211200d6b22126a417e6a20123b0000200e210d0b2011200f200710f497808000210f200341086a41086a200341146a41086a2802002212360200200320032902142205370308200820096a220741086a201236020020072005370200200741206a20103a00002007411c6a200b360200200741186a200c360200200741146a200e360200200741106a200f3602002007410c6a200d360200200941246a2109200141246a2101200a417f6a220a0d000b0b200020043602082000200836020420002004360200200341206a2480808080000bb90601097f23808080800041106b220224808080800002400240200128020022034102460d00024020012d00490d002001280234210420012802302105024002400240024002400240024002402003410171450d00200141086a2103200128023c2106200128023821072001280224417f460d01200241046a20032005200420072006410010a8928080000c070b024020012d000e0d0020012d000c2106024020012802042203450d00024020032004490d0020032004460d010c050b200520036a2c00004140480d040b024020032004460d0002400240200520036a22082c00002207417f4a0d0020082d0001413f7121092007411f71210a0240200741604f0d00200a41067420097221070c020b200941067420082d0002413f717221090240200741704f0d002009200a410c747221070c020b200941067420082d0003413f7172200a411274418080f000717221070c010b200741ff017121070b4101210820064101710d0502402007418001490d00410221082007418010490d0041034104200741808004491b21080b2001200820036a220336020402402003450d00024020032004490d0020032004460d010c050b200520036a2c00004140480d040b20032004460d06200520036a2c00002204417f4a0d0520044160491a0c050b20012006417f734101713a000c20064101710d06200141013a000e0b200241003602040c060b200241046a20032005200420072006410110a8928080000c050b410121060b20012006417f734101713a000c200520042003200441f4f9cb800010c381808000000b200321040b200141003a000c0b2002200436020c20022004360208200241013602040b024020022802044101470d00200128024021042001200228020c360240200520046a2103200228020820046b21040c030b20012d00490d00200141013a00490240024020012d00484101470d0020012802442104200128024021030c010b2001280244220420012802402203460d010b200420036b2104200128023020036a21030c020b200141023602000b024020012802504101460d00410021030c010b2001280254210320014100360254200128025821040b2000200436020420002003360200200241106a2480808080000be30303077f017e057f0240200128021422072005417f6a22086a220920034f0d0020052001280210220a6b210b200128021c210c2001280208210d2001290300210e0340024002400240200e200220096a3100008842018350450d002001200720056a22073602144100210920060d020c010b200d200c200d200c200d4b1b20061b220f2005200f20054b1b2110200220076a2111200f21090240024002400340024020102009470d004100200c20061b2112200d21090340024020122009490d002001200720056a2209360214024020060d002001410036021c0b2000200936020820002007360204200041013602000f0b2009417f6a220920054f0d05200920076a221320034f0d03200420096a2d0000200220136a2d0000460d000b20012007200a6a2207360214200b21092006450d050c060b200720096a20034f0d02201120096a2113200420096a2112200941016a210920122d000020132d0000460d000b2007200d6b20096a210720060d04410021090c030b2013200341d4f9cb8000108281808000000b2003200f20076a2209200320094b1b200341e4f9cb8000108281808000000b2009200541c4f9cb8000108281808000000b2001200936021c2009210c0b200720086a22092003490d000b0b20012003360214200041003602000ba00603037f017e017f23808080800041b0016b2203248080808000200341186a200110a492808000024002402003280218418080808078460d00200128022041016a2204417f20041b22044104200441044b1b2205ad42387e2206a72104410021070240024002402006422088a70d00200441fcffffff074b0d00024020040d0041042102410021050c030b41002d008083d480001a200441002802f482d480001182808080000022070d01410421070b20072004200210b980808000000b2007200741036a417c71220220076b22046a417e6a20043b00000b20022003290218370200200241306a200341186a41306a290200370200200241286a200341186a41286a290200370200200241206a200341186a41206a290200370200200241186a200341186a41186a290200370200200241106a200341186a41106a290200370200200241086a200341186a41086a29020037020020034101360214200320023602102003200536020c200341d0006a41206a200141206a280200360200200341d0006a41186a200141186a290200370300200341d0006a41106a200141106a290200370300200341d0006a41086a200141086a29020037030020032001290200370350200341f8006a200341d0006a10a49280800002402003280278418080808078460d004138210741012104034002402004200328020c470d002003410c6a2004200328027041016a2201417f20011b4104413810b792808000200328021021020b200220076a22012003290278370200200141306a200341f8006a41306a290200370200200141286a200341f8006a41286a290200370200200141206a200341f8006a41206a290200370200200141186a200341f8006a41186a290200370200200141106a200341f8006a41106a290200370200200141086a200341f8006a41086a2902003702002003200441016a2204360214200741386a2107200341f8006a200341d0006a10a4928080002003280278418080808078470d000b0b2000200329020c370200200041086a2003410c6a41086a2802003602000c010b2000410036020820004280808080c0003702000b200341b0016a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010b7928080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bc403010e7f23808080800041206b2203248080808000024002400240200128020c220420012802042205470d00200128020821062001280200210741002108410421094100210a0c010b4100210b41002d008083d480001a200420056b220c410176220d41002802f482d4800011828080800000220a450d01200c4105762108200a200a41036a417c712209200a6b220c6a417e6a200c3b00002001280210210e20012802082106200128020021074100210a0340200541046a280200210c2005280200210d02400240200541186a28020022010d004100210f0c010b2005411c6a280200210f200341086a41086a200541106a2903003703002003200541086a2903003703082003200f36021c20032001360218200e200341086a10be9280800021104101210f0b2009200b6a2201200f3602002001410c6a200c360200200141086a200d360200200141046a2010360200200b41106a210b200a41016a210a200541206a22052004470d000b0b02402006450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b2000200a3602082000200936020420002008360200200341206a2480808080000f0b4104200d41c0f8cb800010b980808000000ba304040c7f017e027f027e23808080800041c0006b2203248080808000200128020c2204200128020422056b220641386e21070240024002400240200641c8ffffff7d4d0d00410021050c010b024020042005470d002001280208210820012802002109410021074104210a4100210b0c030b4100210641002d008083d480001a2007410574220c41002802f482d4800011828080800000220b0d01410421050b2005200c41c0f8cb800010b980808000000b200b200b41036a417c71220a200b6b220c6a417e6a200c3b00002001280210210d20012802082108200128020021094100210b0340200341086a41306a2201200541306a290300370300200341086a41286a220c200541286a290300370300200341086a41206a220e200541206a290300370300200341086a41106a200541106a290300370300200341086a41086a200541086a290300370300200341086a41186a200541186a290300220f37030020032005290300370308200d200341086a10be92808000211020012802002111200c2903002112200e2903002113200a20066a2201410c6a200f370200200141146a2010360200200141186a201337020020012012370200200141086a2011360200200641206a2106200b41016a210b200541386a22052004470d000b0b02402008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b2000200b3602082000200a36020420002007360200200341c0006a2480808080000ba20601067f23808080800041a0016b2203248080808000200341186a200141086a220410a7928080000240024020032802182205450d00200328021c2106024020012802042207450d00200128020021082007410474210702400240034002402006200841046a280200470d0020052008280200200610f597808000450d020b200841106a2108200741706a22070d000c020b0b200841086a28020021052008410c6a28020021060b2005450d010b200341306a210841002107024020042802004102470d00200341246a2108024020012802584101460d00410021070c010b200128025c41004721070b2008200736020041002d008083d480001a0240412041002802f482d48000118280808000002208450d002008200841036a417c71220420086b22076a417e6a20073b000020042006360204200420053602002003410136022c2003200436022820034104360224200341306a200141e80010f4978080001a200341106a200341306a41086a220210a792808000024020032802102205450d0020032802142106410121010340024020032802342207450d00200328023021082007410474210702400240034002402006200841046a280200470d0020052008280200200610f597808000450d020b200841106a2108200741706a22070d000c020b0b200841086a28020021052008410c6a28020021060b2005450d020b024020012003280224470d002003280288012108024002400240024020032802384102460d002003419c016a210720080d010c020b2003419c016a21072008450d01200328028c01410047220821040c020b41002104200328028c0141004721080c010b41002108410021040b20072004360200200341246a2001200841016a4104410810b792808000200328022821040b200420014103746a22082006360204200820053602002003200141016a220136022c200341086a200210a792808000200328020c2106200328020822050d000b0b20002003290224370200200041086a200341246a41086a2802003602000c020b41044120200210b980808000000b2000410036020820004280808080c0003702000b200341a0016a2480808080000bbe0401067f2380808080004190016b2203248080808000200341106a200110a7928080000240024020032802102204450d00200341286a210541002106024020012802004102470d002003411c6a2105024020012802504101460d00410021060c010b200128025441004721060b200328021421072005200636020041002d008083d480001a0240412041002802f482d48000118280808000002205450d002005200541036a417c71220220056b22066a417e6a20063b0000200220073602042002200436020020034101360224200320023602202003410436021c200341286a200141e00010f4978080001a200341086a200341286a10a792808000024020032802082204450d00200328020c2106410c210541012101034002402001200328021c470d0020032802782107024002400240024020032802284102460d002003418c016a210220070d010c020b2003418c016a21022007450d01200328027c410047220721080c020b41002108200328027c41004721070c010b41002107410021080b200220083602002003411c6a2001200741016a4104410810b792808000200328022021020b200220056a220720063602002007417c6a20043602002003200141016a2201360224200541086a21052003200341286a10a79280800020032802042106200328020022040d000b0b2000200329021c370200200041086a2003411c6a41086a2802003602000c020b41044120200210b980808000000b2000410036020820004280808080c0003702000b20034190016a2480808080000ba30401077f02400240200128022022020d00410021020c010b20012002417f6a36022002400240024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802f00421022004417f6a22040d000b0b20034108490d00034020022802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082103024002400240200128020c2204200128020422052f01ee044f0d00200521020c010b034020052802002202450d02200341016a210320052f01ec04210420022105200420022f01ee044f0d000b0b20030d02200441016a2106200221050c030b4198fccb800010a081808000000b41a8fccb800010a081808000000b200220044102746a41f4046a2802002105410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720052802f00421052003417f6a22030d000b0b20084107490d00034020052802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042105200741786a22070d000b0b2001200636020c20014100360208200120053602042002200441346c6a41306a2105200220044102746a41046a21020b20002005360204200020023602000ba806010a7f02402000280200450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020002d00240e050001040402040b200028022c2102024020002802302201450d002001410171210341002104024020014101460d002001417e7121052002210141002104034002402001280200450d00200141046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200141206a280200450d00200141246a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a21012005200441026a2204470d000b0b2003450d00200220044105746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802280d020c030b200028022c2102024020002802302207450d0041002108034002402002200841246c6a22032802082201450d00200328020421092001410171210a41002104024020014101460d002001417e7121054100210420092101034002402001280200450d00200141046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200141206a280200450d00200141246a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a21012005200441026a2204470d000b0b200a450d00200920044105746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402003280200450d00200328020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200328020c450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b200841016a22082007470d000b0b20002802280d010c020b2000280228450d01200028022c21020b20022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280218450d00200028021c22012001417e6a2f00006b41002802ec82d48000118180808000000b0be40301097f23808080800041206b2204248080808000024002400240200128020022050d00410021050c010b20012802042106034041002107024020052f01ee042208450d0020084102742109200541306a210a200541046a210b410021070340024041002002200b280200220c4b2002200c496b2002200c461b41ff0171220c4101460d00200c0d022000200a290200370200200041306a200a41306a2202280200360200200041286a200a41286a220c290200370200200041206a200a41206a220b290200370200200041186a200a41186a2207290200370200200041106a200a41106a2209290200370200200041086a200a41086a2205290200370200200a20032902003702002005200341086a2902003702002009200341106a2902003702002007200341186a290200370200200b200341206a290200370200200c200341286a2902003702002002200341306a2802003602000c050b200a41346a210a200b41046a210b200741016a21072009417c6a22090d000b200821070b2006450d012006417f6a2106200520074102746a2802f00421050c000b0b2004200736021c2004410036021820042005360214200420023602102004200136020c2004410c6a200310bd928080001a20004180808080783602000b200441206a2480808080000bac0501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802f00421012005417f6a22050d000b0b20024108490d00034020012802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042101200041786a22000d000b0b20012100410021020b024002400240200220002f01ee044f0d0020022106200021010c010b034020002802002201450d0220002f01ec04210620002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200620012f01ee044f0d000b0b0240024020040d00200641016a2102200121000c010b200120064102746a41f4046a2802002100410021022004417f6a2205450d002004417e6a2107024020054107712204450d0003402005417f6a210520002802f00421002004417f6a22040d000b0b20074107490d00034020002802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042100200541786a22050d000b0b2001200641346c6a41306a10b092808000410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d480001181808080000041acf7cb800010a081808000000b024020020d00200121000c010b02400240200241077122040d0020022105200121000c010b200221052001210003402005417f6a210520002802f00421002004417f6a22040d000b0b20024108490d00034020002802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042100200541786a22050d000b0b034020002000417e6a2f00006b210120002802002100200141002802ec82d480001181808080000020000d000b0b0b990501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802e80121012004417f6a22040d000b0b20024108490d00034020012802e8012802e8012802e8012802e8012802e8012802e8012802e8012802e8012101200041786a22000d000b0b20012104410021020b024002400240200220042f01e2014f0d00200421000c010b034020042802b0012200450d0220042f01e001210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f01e2014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a41ec016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802e80121002005417f6a22050d000b0b20014107490d00034020002802e8012802e8012802e8012802e8012802e8012802e8012802e8012802e8012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d480001181808080000041acf7cb800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802e80121002005417f6a22050d000b0b20024108490d00034020002802e8012802e8012802e8012802e8012802e8012802e8012802e8012802e8012100200441786a22040d000b0b034020002000417e6a2f00006b210420002802b0012100200441002802ec82d480001181808080000020000d000b0b0b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42387e2207422088a7450d0041004100200110b980808000000b024002402007a7220841f8ffffff074b0d004100210502402004450d002002200441386c36021c20022000280204360214410821050b20022005360218200241086a41082008200241146a10b49280800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000be10101077f23808080800041206b22022480808080004100210302402000280200220441ffffff3f4d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410474220741f8ffffff074b0d004100210502402004450d002002200441047436021c20022000280204360214410821050b20022005360218200241086a41082007200241146a10b49280800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10b49280800020052802084101470d0120052802102102200528020c21060b2006200241b0fdcb800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b140020002802002000280204200110bc818080000bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000ba806010a7f02402000280200450d00200028020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200028020c450d00200028021022012001417e6a2f00006b41002802ec82d48000118180808000000b0240024002400240024020002d00240e050001040402040b200028022c2102024020002802302201450d002001410171210341002104024020014101460d002001417e7121052002210141002104034002402001280200450d00200141046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200141206a280200450d00200141246a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a21012005200441026a2204470d000b0b2003450d00200220044105746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802280d020c030b200028022c2102024020002802302207450d0041002108034002402002200841246c6a22032802082201450d00200328020421092001410171210a41002104024020014101460d002001417e7121054100210420092101034002402001280200450d00200141046a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200141206a280200450d00200141246a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200141c0006a21012005200441026a2204470d000b0b200a450d00200920044105746a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402003280200450d00200328020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200328020c450d00200328021022012001417e6a2f00006b41002802ec82d48000118180808000000b200841016a22082007470d000b0b20002802280d010c020b2000280228450d01200028022c21020b20022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280218450d00200028021c22012001417e6a2f00006b41002802ec82d48000118180808000000b0bc707030d7f017e077f23808080800041c0006b22052480808080002005200120022003200410a5818080002005280230210620052802342107024002400240024002400240024020052802004101470d0020022104200528021c22082007460d06200528023c22092005280218220a6b210b2009417f6a210c2005280224210d2005280238210e200620086a210f2005280210221020086b211120052903082112034002402008200c6a22032007490d00200821040c080b410020116b2113200820096a21142008200a6a2115200d417f462116200821040340024020082004460d00200821040c090b0240024002402012200620036a31000088420183500d002010200d2010200d20104b1b20161b22172009201720094b1b2118201721040240034020182004460d01200820046a20074f0d0a200f20046a2103200e20046a2119200441016a210420192d000020032d0000460d000b201320046a210420160d03410021030c020b4100200d20161b2119201021040340024020192004490d00200d410020161b210d200f20096a210f201120096b21112014210820142007470d06200221040c0d0b2004417f6a220420094f0d07200420086a220320074f0d08200e20046a2d0000200620036a2d0000460d000b200b2103201521042016450d010c020b410021032014210420160d010b2003210d0b2004200c6a22032007490d000b0b200821040c060b2002210420052d000e4101710d052006200528020422036a210820052d000c21190240024020032007470d00024020030d00200221032002210420194101710d070c080b200320074f0d0520082c00004140480d01200221032002210420194101710d060c070b024020030d0041002104024020082c000022084100480d0020194101710d070c080b024020084160490d00024020084170490d0020194101710d08410021040c090b20194101710d07410021040c080b20194101710d06410021040c070b200320074f0d0020082c000022044140480d00024020044100480d002003210420194101710d060c070b024020044160490d00024020044170490d002003210420194101710d070c080b2003210420194101710d060c070b2003210420194101710d050c060b200620072003200741e4fecb800010c381808000000b2004200941b4fecb8000108281808000000b2003200741c4fecb8000108281808000000b2007201720086a2204200720044b1b200741d4fecb8000108281808000000b20022103200221042019410171450d010b200321040b2000200220046b3602042000200120046a360200200541c0006a2480808080000bf10201057f23808080800041206b220224808080800002400240024002402000280210450d00200241106a41086a200041106a220341086a28020036020020022003290200370310200241046a200241106a2000290300200029030820012000411c6a200041206a10a092808000200028021c2104200228020c2105200228020421030c010b200028021c210441002d008083d480001a41e80141002802f482d48000118280808000002203450d012003200341076a41787120036b22056a220341003b01e201200341003602b0012003417e6a20053b0000200441003602042004200336020020032f01e2012205410b4f0d022003200541016a3b01e201200320054104746a2206200029030037030020062000290308370308200320054102746a20013602b4010b2004200428020841016a360208200241206a248080808000200320054102746a41b4016a0f0b410841e80110ab80808000000b4188f3cb8000412041a8f4cb8000108081808000000bc40301047f23808080800041206b220224808080800002400240024002402000280208450d00200241106a41086a200041086a220341086a28020036020020022003290200370310200241046a200241106a200028020420012000200041146a10a29280800020002802002104200228020c2105200228020421030c010b2000280200210441002d008083d480001a41f00441002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a220341003b01ee04200341003602002003417e6a20053b0000200441003602042004200336020020032f01ee042205410b4f0d022003200541016a3b01ee04200320054102746a20002802043602042003200541346c6a22002001290200370230200041e0006a200141306a280200360200200041d8006a200141286a290200370200200041d0006a200141206a290200370200200041c8006a200141186a290200370200200041c0006a200141106a290200370200200041386a200141086a2902003702000b2004200428020841016a360208200241206a2480808080002003200541346c6a41306a0f0b410441f00410ab80808000000b4188f3cb8000412041a8f4cb8000108081808000000ba50701097f23808080800041d0016b2202248080808000200220002001290300200129030810c09280800020022802042103024020022d0000450d00200241c0006a20012802101181808080000020022002280280013602142002200229037837020c4104210420022802840121052002280288012101024002400240200228028c012206450d0041002d008083d480001a2006410474220441002802f482d48000118280808000002207450d012007200741036a417c71220420076b22086a417e6a20083b00000b200241b4016a41086a22074100360200200220043602b801200220063602b4012002200120064105746a3602cc01200220053602c801200220013602c401200220013602c001200220003602ac01200220043602a801200241003602a401200220073602a001200241c0016a200241a0016a10ce92808000200241186a220141086a2007280200360200200120022902b401370200200241306a200241c0006a200010cc92808000200220022802980136022c20022002290390013702240240200028021822080d00410021080c020b200028021c2109034041002104024020082f01ee04220a450d00200a4102742105200841306a2107200841046a2106410021040340024041002003200628020022014b20032001496b20032001461b41ff017122014101460d0020010d02200241c0006a41306a200741306a2201280200360200200241c0006a41286a200741286a2206290200370300200241c0006a41206a200741206a2204290200370300200241c0006a41186a200741186a2205290200370300200241c0006a41106a200741106a2208290200370300200241c0006a41086a200741086a2200290200370300200220072902003703402007200229020c37020020002002410c6a41086a29020037020020082002410c6a41106a29020037020020052002410c6a41186a29020037020020042002410c6a41206a29020037020020062002410c6a41286a29020037020020012002410c6a41306a2802003602002002280240418080808078460d06200241c0006a10ba928080000c060b200741346a2107200641046a2106200441016a21042005417c6a22050d000b200a21040b2009450d022009417f6a2109200820044102746a2802f00421080c000b0b4104200410ab80808000000b200220043602b001200241003602ac01200220083602a801200220033602a4012002200041186a3602a001200241a0016a2002410c6a10bd928080001a0b200241d0016a24808080800020030b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004185043b0100200141106a2480808080000bcc0303097f017e017f23808080800041206b220424808080800020012802082105024002400240200128020c22060d00410021060c010b2001280210210703400240024020062f01e20122080d00410021090c010b200620084104746a210a200641b4016a210b410021092006210c034002402003200c41086a290300220d562003200d546b2002200c290300220d562002200d546b2002200d511b41ff0171220e4101460d00200e0d02200b28020021054100210c0c050b200b41046a210b200941016a2109200c41106a220c200a470d000b200821090b2007450d012007417f6a2107200620094102746a2802e80121060c000b0b20042001410c6a36021c200420093602182004410036021420042006360210200420033e0208200420034220883e020c200420023e0200200420024220883e02042004200510bc928080001a0240200128020822092001280200470d00200141f881cc800010b692808000200128020420094104746a220c2003370308200c20023703004101210c2001200941016a3602080c010b200128020420094104746a220c2003370308200c20023703004101210c2001200941016a3602080b200020053602042000200c3a0000200441206a2480808080000b800301027f2380808080004180016b2205248080808000200541206a20032004418882cc8000410210a581808000200520023602782005200136027420054101360270200541013b0168200520043602644100210320054100360260200541146a200541206a418481cc800010ae92808000024002400240200528021c22010d00200541106a21040c010b2005280218220620014103746a21024100210320062104024003402004280200200441046a28020010cd92808000450d01200341016a2103200441086a22042002470d000b20052802142204418080808078460d0220002001360208200020063602042000200436020020054180016a2480808080000f0b200541013602102005410c6a21040b2004200336020002402005280214450d00200528021822042004417e6a2f00006b41002802ec82d48000118180808000000b200528020c2101200528021021060b2005200136022420052006360220419c82cc80004132200541206a418c82cc800041b083cc800010a981808000000b910301017f2380808080004180016b2207248080808000200741186a41086a20032004418882cc8000410210a581808000200720023602782007200136027420074101360270200741013b01682007200436026441002103200741003602602007200636021c200720053602182007410c6a200741186a418481cc800010ad92808000024002400240200728021422010d00200741086a21040c010b2007280210220620014103746a21024100210320062104024003402004280200200441046a28020010cd92808000450d01200341016a2103200441086a22042002470d000b200728020c2204418080808078460d0220002001360208200020063602042000200436020020074180016a2480808080000f0b20074101360208200741046a21040b200420033602000240200728020c450d00200728021022042004417e6a2f00006b41002802ec82d48000118180808000000b20072802042101200728020821060b2007200136021c20072006360218419c82cc80004132200741186a418c82cc800041c083cc800010a981808000000b980201047f23808080800041306b22032480808080002003200236020c2003200136020841002d008083d480001a02400240410841002802f482d48000118280808000002204450d002004200441036a417c71220520046b22066a417e6a20063b0000200541046a2002360200200520013602002001200210cd928080000d0120052005417e6a2f01006b41002802ec82d480001181808080000020034102360214200341f083cc80003602102003420137021c200341e484808000ad422086200341086aad843703282003200341286a360218200341106a418084cc800010fe80808000000b41044108418481cc800010b980808000000b200041013602082000200536020420004101360200200341306a2480808080000b7901017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041053b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004185063b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004185083b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041850a3b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041850c3b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041850e3b0100200141106a2480808080000bcf0101027f23808080800041206b2201248080808000200142808080808001370218200142888080808001370210200141086a200141106a41084108200141206a410810d292808000200128020c2102200142888080808001370210200142808080808001370218200041c4006a200141106a41c885cc800010aa928080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200241786a41186e36020c200042808080808001370204200041043a0000200141206a2480808080000ba10201027f23808080800041106b22022480808080000240024020002802004101470d002002200041046a360204200128020041b084cc80004111200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41c184cc80004107200241046a41a084cc8000108a818080001a20022d000d220020022d000c220372210120004101470d0120034101710d010240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b2001280200419084cc8000410f200128020428020c1180808080000021010b200241106a24808080800020014101710bf80802077f017e23808080800041c0016b22032480808080000240024002400240024002400240024002400240024020012d000022040e080001020304050607000b2001280208210520012802042106410421070240200128020c2201450d0041002d008083d480001a2001410574220741002802f482d48000118280808000002208450d092008200841036a417c71220720086b22096a417e6a20093b00000b200341a4016a41086a22084100360200200320073602a801200320013602a40120032005200141386c6a3602bc01200320063602b801200320053602b401200320053602b0012003200236029c01200320073602980120034100360294012003200836029001200341b0016a20034190016a10cf92808000200041046a220141086a2008280200360200200120032902a4013702000c070b200320023602a0012003200128020422053602980120032001280208220236029401200320023602900120032002200128020c41246c6a220136029c01200341086a20034190016a20022002200341a0016a200110d192808000200328020c210120034190016a10d39280800020002002360208200020053602042000200120026b41246e36020c20034190016a10d4928080000c060b200341106a41106a200141186a290300370300200341186a200141106a2903003703002003200129030837031020002002200341106a10be928080003602040c050b200341286a41106a200141186a290300370300200341306a200141106a290300370300200341286a41186a200141206a290300220a3703002003200129030837032820002002200341286a10be928080003602082000200a3e02040c040b2001280208210520012802042106410421070240200128020c2201450d0041002d008083d480001a2001410274220741002802f482d48000118280808000002208450d062008200841036a417c71220720086b22096a417e6a20093b00000b200341a4016a41086a22084100360200200320073602a801200320013602a40120032005200141186c6a3602bc01200320063602b801200320053602b401200320053602b0012003200236029c01200320073602980120034100360294012003200836029001200341b0016a20034190016a10d092808000200041046a220141086a2008280200360200200120032902a4013702000c030b200020012d00013a00010c020b200341c8006a41106a200141186a290300370300200341d0006a200141106a2903003703002003200129030837034820002002200341c8006a10be928080003602040c010b200341e0006a41286a200141306a290300370300200341e0006a41206a200141286a290300370300200341e0006a41186a2205200141206a290300370300200341e0006a41106a200141186a290300370300200341e8006a200141106a290300370300200320012903083703602002200341e0006a10be92808000210120002002200510be92808000360208200020013602040b200020043a0000200341c0016a2480808080000f0b4104200710ab80808000000b4104200710ab80808000000b980401057f23808080800041106b220224808080800002400240024020014104490d00410021032000280000418081828478710d0202404104200041036a417c71220420006b20042000461b22042001417c6a22054f0d000340200020046a280200418081828478710d04200441046a22042005490d000b0b200020056a28000041808182847871450d010c020b2001450d004100210320002001417f6a22046a2c00004100480d012004450d004100210320002001417e6a22046a2c00004100480d012004450d004100210320002001417d6a22046a2c00004100480d0120040d010b200241086a2000200141d885cc8000410210bb9280800041002103200228020c2200450d002002280208220141016a21040240024020012d0000220641df00460d002006419f7f6a41ff017141194b0d010b2000417f6a2100034020004521032000450d022000417f6a210020042d00002101200441016a22052104200141506a41ff0171410a490d0020052104200141ff017141df00460d00200521042001415f7141bf7f6a41ff0171411a490d000c020b0b200641c100490d002000417f6a21010240034020012203450d012003417f6a210120042d00002100200441016a22052104200041506a41ff0171410a490d0020052104200041ff017141df00460d00200521042000415f7141bf7f6a41ff0171411a490d000b0b200641db00492003457121030b200241106a24808080800020030bd402010b7f23808080800041206b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b2001280208200128020422054104746a2106200128020c210703402000200341206a2208360204200341046a28020021092003280200210a02400240200341186a280200220b0d00410021030c010b2003411c6a280200210c200241086a41086a200341106a2903003703002002200341086a2903003703082002200c36021c2002200b3602182007200241086a10be92808000210b410121030b200620033602002006410c6a2009360200200641086a200a360200200641046a200b3602002001200541016a2205360204200641106a21062008210320082004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000b9603020a7f037e23808080800041c0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b2001280208200128020422054105746a2106200128020c210703402000200341386a2208360204200241086a41306a2209200341306a290300370300200241086a41286a220a200341286a290300370300200241086a41206a220b200341206a290300370300200241086a41186a200341186a290300220c370300200241086a41106a200341106a290300370300200241086a41086a200341086a290300370300200220032903003703082007200241086a10be9280800021032001200541016a220536020420092802002109200a290300210d200b290300210e2006410c6a200c370200200641146a2003360200200641186a200e3702002006200d370200200641086a2009360200200641206a21062008210320082004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000b810201077f23808080800041206b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b2001280208200128020422054102746a2106200128020c210703402000200341186a2208360204200241086a41106a200341106a290300370300200241086a41086a200341086a290300370300200220032903003703082007200241086a10be9280800021032001200541016a220536020420062003360200200641046a21062008210320082004470d000b0b2001280200200536020002402000280208450d00200028020022032003417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000baf0203057f027e037f23808080800041206b2206248080808000024020012802042207200128020c2208460d002004280200210903402001200741246a220a3602042007410c6a290200210b200741146a290200210c2007411c6a280200210d200741206a2d0000210e200741046a2802002104200741086a280200210f200728020021072006200936021c20062004200f41386c6a36021820062007360214200620043602102006200436020c20062006410c6a41f4ffcb800010ac92808000200341086a200641086a28020036020020032006290200370200200341206a200e3a00002003411c6a200d360200200341146a200c3702002003410c6a200b370200200341246a2103200a2107200a2008470d000b0b2000200336020420002002360200200641206a2480808080000ba80102027f037e024020012802042206200128020c2207460d00034020062903102108200629030821092006290300210a2001200641186a220636020402400240200a42f6a1d3feb29c80da987f520d00200942d08f91acc69ac4b069520d00200621060c010b20032008370310200320093703082003200a370300200341186a210320012802042106200128020c21070b20062007470d000b0b20002003360204200020023602000b990301097f200028020c210120004280808080c0003702082000280204210220004284808080c000370200200120026b41246e2103024020012002460d0041002104034002402002200441246c6a22052802082206450d00200528020421072006410171210841002101024020064101460d00200741e4006a21002006417e7121094100210103400240200041446a280200450d00200041486a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041f0006a21002009200141026a2201470d000b0b2008450d002007200141386c6a2200280228450d00200041286a28020422002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280200450d00200528020422002000417e6a2f00006b41002802ec82d48000118180808000000b0240200528020c450d00200528021022002000417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b0ba803010a7f200028020c2201200028020422026b41246e2103024020012002460d0041002104034002402002200441246c6a22052802082206450d00200528020421072006410171210841002109024020064101460d00200741e4006a21012006417e71210a4100210903400240200141446a280200450d00200141486a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022062006417e6a2f00006b41002802ec82d48000118180808000000b200141f0006a2101200a200941026a2209470d000b0b2008450d002007200941386c6a2201280228450d00200141286a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b02402005280200450d00200528020422012001417e6a2f00006b41002802ec82d48000118180808000000b0240200528020c450d00200528021022012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280208450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b0bb11509027f067e017f017e027f017e017f017e047f23808080800041f0036b2203248080808000024002402002450d00200341106a410041e00010fa978080001a200341f0006a41186a2202200141186a290000370300200341f0006a41106a2204200141106a2900003703002003200141086a29000037037820032001290000370370200341c8016a41002903b886cc8000370300200341c0016a41002903b086cc8000370300200341b8016a41002903a886cc800037030020034190016a41206a41002903a086cc800037030020034190016a41186a410029039886cc800037030020034190016a41106a410029039086cc8000370300200342003703d801200342003703d0012003410029038886cc8000370398012003410029038086cc800037039001200341e8016a200329037837030020034190016a41e0006a2004290300370300200341f8016a2002290300370300200320032903703703e00120034190016a41f0006a200341106a41e00010f4978080002102200341e8026a200341086a290000370000200341203a00e00220034180013a008002200320032900013700e10220032903d0012205423688220642388620032903d8012207420a86220820068422064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200742028642808080f80f832007420e88428080fc0783842007421e884280fe0383200842388884848421062005420a8622084280028422074280fa03834228862007428080fc0783421886200742808080f80f834208868484200542028642808080f80f832005420e88428080fc0783842005421e884280fe038320084238888484842105200341e0016a210102400240024041000d00200241016a4100412041ff007310fa978080001a412041f00073410f4b0d010b20034190016a20014101109793808000200341f0026a410041f00010fa978080001a200320053700e803200320063700e00320034190016a200341f0026a41011097938080000c010b200320063703d002200320053703d80220034190016a200141011097938080000b200020032903c801220542388620054280fe0383422886842005428080fc0783421886200542808080f80f834208868484200542088842808080f80f832005421888428080fc07838420054228884280fe03832005423888848484370038200020032903c001220542388620054280fe0383422886842005428080fc0783421886200542808080f80f834208868484200542088842808080f80f832005421888428080fc07838420054228884280fe03832005423888848484370030200020032903b801220542388620054280fe0383422886842005428080fc0783421886200542808080f80f834208868484200542088842808080f80f832005421888428080fc07838420054228884280fe03832005423888848484370028200020032903b001220542388620054280fe0383422886842005428080fc0783421886200542808080f80f834208868484200542088842808080f80f832005421888428080fc07838420054228884280fe038320054238888484843700202003290390012105200329039801210720032903a0012106200020032903a8012208a74103764107714108723a001f2000200842088842808080f80f832008421888428080fc07838420084228884280fe0383200842388884842209a72201410574200642ff0183a72202410376723a00172000200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484220aa72204410574200742ff0183a7220b410376723a000f2000200742088842808080f80f832007421888428080fc07838420074228884280fe038320074238888484220ca7220d410574200542ff0183a7220e410376723a00072000200842ff0183a7410574200842388620084280fe038342288684220f423088a72210410376411f71723a001e2000200f2008428080fc0783421886200842808080f80f83221142088684842208422888a722124105742011421b88a7723a001c20002002410574200642388620064280fe038342288684220f423088a72202410376411f71723a00162000200f2006428080fc0783421886200642808080f80f83221142088684842206422888a722134105742011421b88a7723a00142000200b410574200742388620074280fe038342288684220f423088a7220b410376411f71723a000e2000200f2007428080fc0783421886200742808080f80f83221142088684842207422888a722144105742011421b88a7723a000c2000200e410574200542388620054280fe038342288684220f423088a7220e410376411f71723a00062000200f2005428080fc0783421886200542808080f80f8322114208868484220f422888a722154105742011421b88a7723a0004200020104105742012410376411f71723a001d200020082009842209420888a722104105742001410376411f71723a0018200020024105742013410376411f71723a001520002006200a84220a420888a722014105742004410376411f71723a00102000200b4105742014410376411f71723a000d20002007200c84220c420888a72202410574200d410376411f71723a00082000200e4105742015410376411f71723a00052000200f200542088842808080f80f832005421888428080fc07838420054228884280fe0383200542388822118484842205420888a722044105742011a7410376723a000020002008422088a74105742009421888a7220b410376411f71723a001b2000200b4105742009421088a7220b410376411f71723a001a2000200b4105742010410376411f71723a001920002006422088a7410574200a421888a7220b410376411f71723a00132000200b410574200a421088a7220b410376411f71723a00122000200b4105742001410376411f71723a001120002007422088a7410574200c421888a72201410376411f71723a000b20002001410574200c421088a72201410376411f71723a000a200020014105742002410376411f71723a00092000200f422088a74105742005421888a72201410376411f71723a0003200020014105742005421088a72201410376411f71723a0002200020014105742004410376411f71723a00010c010b20034190016a41da85cc8000411010e89180800020034190016a41ea85cc800041042001412010e991808000200341f0026a41386a4200370300200341f0026a41306a4200370300200341f0026a41286a4200370300200341f0026a41206a4200370300200341f0026a41186a4200370300200341f0026a41106a4200370300200341f0026a41086a4200370300200342003703f00220034190016a41ee85cc80004102200341f0026a41c00010ea91808000200341106a200341f0026a10b5908080002000200341106a10b190808000200341106a41186a22014200370300200341106a41106a22024200370300200341106a41086a220442003703002003420037031020034190016a41f085cc80004102200341106a412010ea91808000200041386a2001290300370000200041306a2002290300370000200041286a20042903003700002000200329031037002041002101034020034190016a20016a220041003a0000200041016a41003a0000200041026a41003a0000200041036a41003a0000200041046a41003a0000200141056a220141c801470d000b0b200341f0036a2480808080000bc20300200041003a0000200041003a0001200041003a0002200041003a0003200041003a0004200041003a0005200041003a0006200041003a0007200041003a0008200041003a0009200041003a000a200041003a000b200041003a000c200041003a000d200041003a000e200041003a000f200041003a0010200041003a0011200041003a0012200041003a0013200041003a0014200041003a0015200041003a0016200041003a0017200041003a0018200041003a0019200041003a001a200041003a001b200041003a001c200041003a001d200041003a001e200041003a001f200041003a0020200041003a0021200041003a0022200041003a0023200041003a0024200041003a0025200041003a0026200041003a0027200041003a0028200041003a0029200041003a002a200041003a002b200041003a002c200041003a002d200041003a002e200041003a002f200041003a0030200041003a0031200041003a0032200041003a0033200041003a0034200041003a0035200041003a0036200041003a0037200041003a0038200041003a0039200041003a003a200041003a003b200041003a003c200041003a003d200041003a003e200041003a003f0bcc0101017f23808080800041a0016b2202248080808000200241c0c7c88000200110ba90808000200041c0006a200210bb90808000200041e0006a200241a00110f4978080001a200041386a200141386a290000370000200041306a200141306a290000370000200041286a200141286a290000370000200041206a200141206a290000370000200041186a200141186a290000370000200041106a200141106a290000370000200041086a200141086a29000037000020002001290000370000200241a0016a2480808080000bc20300200041003a0000200041003a0001200041003a0002200041003a0003200041003a0004200041003a0005200041003a0006200041003a0007200041003a0008200041003a0009200041003a000a200041003a000b200041003a000c200041003a000d200041003a000e200041003a000f200041003a0010200041003a0011200041003a0012200041003a0013200041003a0014200041003a0015200041003a0016200041003a0017200041003a0018200041003a0019200041003a001a200041003a001b200041003a001c200041003a001d200041003a001e200041003a001f200041003a0020200041003a0021200041003a0022200041003a0023200041003a0024200041003a0025200041003a0026200041003a0027200041003a0028200041003a0029200041003a002a200041003a002b200041003a002c200041003a002d200041003a002e200041003a002f200041003a0030200041003a0031200041003a0032200041003a0033200041003a0034200041003a0035200041003a0036200041003a0037200041003a0038200041003a0039200041003a003a200041003a003b200041003a003c200041003a003d200041003a003e200041003a003f0b12002000200120022003200410e9918080000b12002000200120022003200410ea918080000bbb0301037f23808080800041d0006b220224808080800020012c001f417f4a10d6978080002103200241106a41186a200141186a290000370300200241106a41106a200141106a290000370300200241106a41086a200141086a29000037030020022001290000370310200241306a200241106a10b79080800041002101410121040340200241106a20016a2d0000200241306a20016a2d00004610d6978080002004712104200141016a22014120470d000b200410d69780800020037110d6978080002101200241306a41186a200241106a41186a290300370300200241306a41106a200241106a41106a290300370300200241306a41086a200241106a41086a2903003703002002200229031037033041002104024002402001417f7341017110d69780800041ff01710d00200220013a000f200141ff01714101470d0120002002290330370001200041196a200241c8006a290300370000200041116a200241c0006a290300370000200041096a200241386a290300370000410121040b200020043a0000200241d0006a2480808080000f0b2002410036021041002002410f6a41c086cc8000200241106a419c87cc800010e691808000000b140020002802002000280204200110bc818080000b1900200120002802002200280200200028020410b4818080000b140020012000280200200028020410b4818080000b1200200041ac88cc8000200110b1818080000ba30802017f017c23808080800041306b2202248080808000024002400240024002400240024002400240024002400240024002400240024002400240024020002d00000e12000102030405060708090a0b0c0d0e0f1011000b200220002d00013a000820024102360214200241e088cc80003602102002420137021c200241e784808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010c110b2002200029030837030820024102360214200241fc88cc80003602102002420137021c200241e681808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010c100b2002200029030837030820024102360214200241fc88cc80003602102002420137021c200241e884808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010c0f0b20002b03082103200241023602142002419c89cc80003602102002420137021c200241e984808000ad422086200241286aad84370308200220033903282002200241086a36021820012802002001280204200241106a10b18180800021010c0e0b2002200028020436020820024102360214200241b889cc80003602102002420137021c200241a180808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010c0d0b2002200029020437020820024101360214200241d089cc80003602102002420137021c200241ea84808000ad422086200241086aad843703282002200241286a36021820012802002001280204200241106a10b18180800021010c0c0b200128020041cc88cc8000410a200128020428020c1180808080000021010c0b0b200128020041d889cc8000410a200128020428020c1180808080000021010c0a0b200128020041e289cc8000410c200128020428020c1180808080000021010c090b200128020041ee89cc8000410e200128020428020c1180808080000021010c080b200128020041fc89cc80004108200128020428020c1180808080000021010c070b200128020041848acc80004103200128020428020c1180808080000021010c060b200128020041878acc80004104200128020428020c1180808080000021010c050b2001280200418b8acc8000410c200128020428020c1180808080000021010c040b200128020041978acc8000410f200128020428020c1180808080000021010c030b200128020041a68acc8000410d200128020428020c1180808080000021010c020b200128020041b38acc8000410e200128020428020c1180808080000021010c010b200128020020002802042000280208200128020428020c1180808080000021010b200241306a24808080800020010ba20201027f23808080800041306b220224808080800002400240200029030042ffffffffffffffffff00834280808080808080f8ff00530d0020024101360214200241f08bcc80003602102002420137021c200241eb84808000ad4220862000ad843703282002200241286a36021820012802002001280204200241106a10b18180800021030c010b200241003a000c200220013602084101210320024101360214200241f08bcc80003602102002420137021c200241eb84808000ad4220862000ad843703282002200241286a360218200241086a41ac88cc8000200241106a10b1818080000d00024020022d000c0d00200128020041f88bcc80004102200128020428020c118080808000000d010b410021030b200241306a24808080800020030b2000200128020020002802002000280204200128020428020c118080808000000bab0403067f017e027f23808080800041306b2202248080808000024002400240024002400240200028020422030e03010302000b410121042001280200220541e48bcc800041072001280204220628020c2207118080808000000d042002200028020022013602142002410236021c200241b48bcc800036021820024201370224200241ec84808000ad422086200241146aad8422083703002002200236022020052006200241186a10b1818080000d04200341ffffffff01714101470d03410021040c040b10e492808000000b2002410336021c200241cc8bcc800036021820024202370224200241ed84808000ad422086220820002802002200ad8437030020022008200041086aad843703082002200236022020012802002001280204200241186a10b18180800021040c020b2002410236021c200241b48bcc800036021820024201370224200241ed84808000ad4220862000350200843703002002200236022020012802002001280204200241186a10b18180800021040c010b2003417f6a41ffffffff01712109200141086a2100200120034103746a210a200141106a210303402003210120022000360214200541eb8bcc800041022007118080808000000d012002410236021c200241b48bcc800036021820024201370224200220083703002002200236022020052006200241186a10b1818080000d0120012001200a474103746a2103200121002009417f6a22090d000b410021040b200241306a24808080800020040b0f0041a48bcc8000108181808000000bc60301047f024002400240024002400240200241074b0d0020020d01410021030c050b200141036a417c7122042001460d01200420016b2105200120046b21064101210320012104034020042d0000412e460d05200441016a2104200641016a22060d000b2005200241786a22034b0d030c020b20012d0000412e4622030d0320024101460d0320012d0001412e4622030d0320024102460d0320012d0002412e4622030d0320024103460d0320012d0003412e4622030d0320024104460d0320012d0004412e4622030d0320024105460d0320012d0005412e4622030d0320024106460d0320012d0006412e4621030c030b200241786a2103410021050b03404180828408200120056a2204280200220641aedcb8f102736b2006724180828408200441046a280200220441aedcb8f102736b2004727141808182847871418081828478470d01200541086a220520034d0d000b0b024020022005470d00410021030c010b200120056a21042005417f7320026a210603402006210520042d0000412e4622030d01200441016a21042005417f6a210620050d000b0b2000200320002d0004723a00042000280200220428020020012002200428020428020c118080808000000b2d0020002001412e4620002d0004723a00042000280200220028020020012000280204280210118480808000000bee0802047f037e23808080800041306b2202248080808000024002400240024002400240024020012802000e0400010203000b4100210302400240024020012b0308200241086a109f9280800022044100480d00024020040d00410121030c030b41002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48ecc800010b980808000000b2003417e6a41003b00000b2003200241086a200410f4978080001a200421050c050b411421040240200129030822064290ce005a0d00200621070c040b411421040340200241086a20046a2201417c6a200620064290ce008022074290ce007e7da7220341ffff037141e4006e220541017441fd8bcc80006a2f00003b00002001417e6a2003200541e4006c6b41ffff037141017441fd8bcc80006a2f00003b00002004417c6a2104200642ffc1d72f5621012007210620010d000c040b0b411421040240200129030822082008423f8722068520067d22064290ce005a0d00200621070c020b411421040340200241086a20046a2201417c6a200620064290ce008022074290ce007e7da7220341ffff037141e4006e220541017441fd8bcc80006a2f00003b00002001417e6a2003200541e4006c6b41ffff037141017441fd8bcc80006a2f00003b00002004417c6a2104200642ffc1d72f5621012007210620010d000c020b0b200128020c210520012802082103200128020421040c020b02400240200742e300560d002007a721030c010b200241086a2004417e6a22046a2007a72201200141ffff037141e4006e220341e4006c6b41ffff037141017441fd8bcc80006a2f00003b00000b024002402003410a490d00200241086a2004417e6a22016a200341017441fd8bcc80006a2f00003b00000c010b200241086a2004417f6a22016a20034130723a00000b02402008427f550d00200241086a2001417f6a22016a412d3a00000b41002103024002400240411420016b22044100480d004101210320014114460d0241002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48ecc800010b980808000000b2003417e6a41003b00000b2003200241086a20016a200410f4978080001a200421050c010b02400240200742e300560d002007a721030c010b200241086a2004417e6a22046a2007a72201200141ffff037141e4006e220341e4006c6b41ffff037141017441fd8bcc80006a2f00003b00000b024002402003410a490d00200241086a2004417e6a22016a200341017441fd8bcc80006a2f00003b00000c010b200241086a2004417f6a22016a20034130723a00000b41002103024002400240411420016b22044100480d004101210320014114460d0241002d008083d480001a200441002802f482d480001182808080000022030d01410121030b2003200441b48ecc800010b980808000000b2003417e6a41003b00000b2003200241086a20016a200410f4978080001a200421050b200020053602082000200336020420002004360200200241306a2480808080000bd90303027f017e037f23808080800041306b2202248080808000411421030240024020014290ce005a0d00200121040c010b411421030340200241086a20036a2205417c6a200120014290ce008022044290ce007e7da7220641ffff037141e4006e220741017441fd8bcc80006a2f00003b00002005417e6a2006200741e4006c6b41ffff037141017441fd8bcc80006a2f00003b00002003417c6a2103200142ffc1d72f5621052004210120050d000b0b02400240200442e300560d002004a721060c010b200241086a2003417e6a22036a2004a72205200541ffff037141e4006e220641e4006c6b41ffff037141017441fd8bcc80006a2f00003b00000b024002402006410a490d00200241086a2003417e6a22056a200641017441fd8bcc80006a2f00003b00000c010b200241086a2003417f6a22056a20064130723a00000b41002106024002400240411420056b22034100480d004101210620054114460d0241002d008083d480001a200341002802f482d480001182808080000022060d01410121060b2006200341b48ecc800010b980808000000b2006417e6a41003b00000b2006200241086a20056a200310f4978080002105200020033602082000200536020420002003360200200241306a2480808080000bd70904017f027e047f017e2380808080004190016b220324808080800002400240200242808020540d00200341306a2001420042f3b2d8c19e9ebdcc957f420010fc97808000200341206a2001420042d2e1aadaeda7c987f600420010fc97808000200341d0006a2002420042f3b2d8c19e9ebdcc957f420010fc97808000200341c0006a2002420042d2e1aadaeda7c987f600420010fc97808000200329034820032903282003290338220420032903207c2202200454ad7c220520032903407c2204200554ad7c20042003290358200220032903507c200254ad7c7c2202200454ad7c2204423e8821052002423e8820044202868421040c010b20014213882002422d868442bda282a38eab04802104420021050b200341106a20042002428080e0b0b79fb79cf500420010fc978080004114210602400240200329031020017c22024290ce005a0d00200221010c010b411421060340200341e8006a20066a2207410f6a200220024290ce008022014290ce007e7da7220841ffff037141e4006e220941017441fd8bcc80006a2f00003b0000200741116a2008200941e4006c6b41ffff037141017441fd8bcc80006a2f00003b00002006417c6a2106200242ffc1d72f5621072001210220070d000b0b200341fb006a210802400240200142e300560d002001a721070c010b20082006417e6a22066a2001a72207200741ffff037141e4006e220741e4006c6b41ffff037141017441fd8bcc80006a2f00003b00000b024002402007410a490d0020082006417e6a22096a200741017441fd8bcc80006a2f00003b00000c010b20082006417f6a22096a20074130723a00000b0240024002400240024002400240200420058450450d00200941136a21070c010b41142106200341e8006a41146a41302009417f6a10fa978080001a200320044213882005422d8684220542bda282a38eab0480220a2002428080e0b0b79fb79cf500420010fc9780800002400240200329030020047c22024290ce005a0d00200221010c010b411421060340200341e8006a20066a2207417c6a200220024290ce008022014290ce007e7da7220841ffff037141e4006e220941017441fd8bcc80006a2f00003b00002007417e6a2008200941e4006c6b41ffff037141017441fd8bcc80006a2f00003b00002006417c6a2106200242ffc1d72f5621072001210220070d000b0b02400240200142e300560d002001a721080c010b200341e8006a2006417e6a22066a2001a72207200741ffff037141e4006e220841e4006c6b41ffff037141017441fd8bcc80006a2f00003b00000b024002402008410a490d00200341e8006a2006417e6a22076a200841017441fd8bcc80006a2f00003b00000c010b200341e8006a2006417f6a22076a20084130723a00000b200542bca282a38eab04560d010b4127210941002108412720076b22064100480d0220074127470d0141012108410021060c040b200341e9006a41302007417f6a10fa978080001a2003200aa74130723a006841272106410021070b41002d008083d480001a200641002802f482d480001182808080000022080d01410121080b2008200641b48ecc800010b980808000000b2008417e6a41003b0000200721090b2008200341e8006a20096a200610f497808000210720002006360208200020073602042000200636020020034190016a2480808080000b180020002802002001200028020428020c118480808000000b9a0203037f017e017f23808080800041206b2205248080808000024002400240200120026a220220014f0d00410021060c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410420044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10ec9280800020052802084101470d0120052802102102200528020c21060b2006200241bc8fcc800010b980808000000b200528020c21032000200736020020002003360204200541206a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be10101077f23808080800041206b22022480808080004100210302402000280200220441ffffff3f4d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410474220741fcffffff074b0d004100210502402004450d00410421052002200441047436021c200220002802043602140b20022005360218200241086a41042007200241146a10ec9280800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000b170041cc8fcc8000412841d890cc8000108081808000000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0ba20403077f017e067f02402001280218220720056b220820034f0d00200128020c22092005200920054b1b210a2004417f6a210b2001280220210c2001280210210d2001290300210e0340024002400240200e200220086a220f3100008842018350450d002001200836021820052110200821072006450d010c020b0240024002400240024002402009200c2009200c2009491b20061b2210417f6a221120054f0d00200b20106a2112410020106b2111201020086a417f6a211003402011450d02201020034f0d03201141016a2111200220106a211320122d000021142010417f6a21102012417f6a2112201420132d0000460d000b200720096b20116b21072005211020060d070c060b20100d020b2005200c20061b22102009201020094b1b2113200921100340024020132010470d0020012008360218024020060d00200120053602200b2000200736020820002008360204200041013602000f0b200a2010460d03200820106a20034f0d04200f20106a2111200420106a2112201041016a211020122d000020112d0000460d000b2007200d6b2107200d21102006450d040c050b2010200341ec93cc8000108281808000000b2011200541dc93cc8000108281808000000b200a200541bc93cc8000108281808000000b2003200820096a2210200320104b1b200341cc93cc8000108281808000000b200120103602202010210c0b200720056b22082003490d000b0b20014100360218200041003602000b1e00200128020041fc93cc80004105200128020428020c118080808000000b140020002802042000280208200110bc818080000bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110eb92808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110eb92808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000b7801027f41002d008083d480001a0240411441002802f482d48000118280808000002203450d002003200341036a417c7120036b22046a22032000290200370200200320023602102003200136020c2003417e6a20043b0000200341086a200041086a28020036020020030f0b4104411410ab80808000000b5e01027f41002d008083d480001a0240411441002802f482d48000118280808000002200450d002000200041036a417c7120006b22016a2200420037020c200041013602002000417e6a20013b000020000f0b4104411410ab80808000000b39000240200028020c450d0020000f0b20012000108193808000210120002000417e6a2f01006b41002802ec82d480001181808080000020010bb60600024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020002802000e19000102030405060708090a0b0c0d0e0f101112131415161718000b200128020020002802042000280208200128020428020c118080808000000f0b200041046a200110ee928080001a000b200128020041d495cc80004118200128020428020c118080808000000f0b200128020041ec95cc8000411b200128020428020c118080808000000f0b2001280200418796cc8000411a200128020428020c118080808000000f0b200128020041a196cc80004119200128020428020c118080808000000f0b200128020041ba96cc8000410c200128020428020c118080808000000f0b200128020041c696cc80004113200128020428020c118080808000000f0b200128020041d996cc80004113200128020428020c118080808000000f0b200128020041ec96cc8000410e200128020428020c118080808000000f0b200128020041fa96cc8000410e200128020428020c118080808000000f0b2001280200418897cc8000410c200128020428020c118080808000000f0b2001280200419497cc8000410e200128020428020c118080808000000f0b200128020041a297cc8000410e200128020428020c118080808000000f0b200128020041b097cc80004113200128020428020c118080808000000f0b200128020041c397cc8000411a200128020428020c118080808000000f0b200128020041dd97cc8000413e200128020428020c118080808000000f0b2001280200419b98cc80004114200128020428020c118080808000000f0b200128020041af98cc80004134200128020428020c118080808000000f0b200128020041e398cc8000412c200128020428020c118080808000000f0b2001280200418f99cc80004124200128020428020c118080808000000f0b200128020041b399cc8000410e200128020428020c118080808000000f0b200128020041c199cc80004113200128020428020c118080808000000f0b200128020041d499cc8000411c200128020428020c118080808000000f0b200128020041f099cc80004118200128020428020c118080808000000bb40102017f017e23808080800041306b2202248080808000024002402000280200220028020c0d002000200110f89280800021000c010b200241033602042002419c9acc80003602002002420337020c2002418680808000ad4220862203200041106aad84370328200220032000410c6aad84370320200241f184808000ad4220862000ad843703182002200241186a36020820012802002001280204200210b18180800021000b200241306a24808080800020000bd60202017f017e23808080800041e0006b2202248080808000200028020021002002410036024c2002428080808010370244200241e890cc8000360254200242a08080800e3702582002200241c4006a36025002402000200241d0006a10f8928080000d00200241386a41086a200241c4006a41086a280200360200200220022902443703382002410436020c200241d09acc8000360208200242033702142002418680808000ad4220862203200041106aad84370330200220032000410c6aad84370328200241f284808000ad422086200241386aad843703202002200241206a36021020012802002001280204200241086a10b181808000210002402002280238450d00200228023c22012001417e6a2f00006b41002802ec82d48000118180808000000b200241e0006a24808080800020000f0b419091cc80004137200241206a418091cc800041b892cc800010a981808000000b8d0201037f23808080800041106b2201248080808000200028020c210202400240024002400240024020002802040e020001020b20020d014101210341002100410121020c030b2002450d010b200141046a200010b2808080000c020b41002103024002402000280200220228020422004100480d0020022802002103024020000d0041012102410021000c030b41002d008083d480001a200041002802f482d480001182808080000022020d01410121030b2003200041b495cc800010b980808000000b2002417e6a41003b00000b20022003200010f49780800021022001200036020c20012002360208200120003602040b200141046a10fc928080002100200141106a24808080800020000ba70f020d7f017e23808080800041d0006b2201248080808000200141106a200028020422022000280208220341889acc8000410910a581808000024002400240024020012802104101470d00200141186a2104200128024c21052001280248210620012802442107200128024021082001280234417f460d01200141046a20042008200720062005410010f0928080000c020b41002104024020012d001e0d0020012d001d21050240024020012802182204450d002001280240210602400240200420012802442208490d0020042008460d010c070b200620046a2c00004140480d060b0240200620046a2209417f6a2c00002207417f4a0d00024002402009417e6a2d0000220a411874411875220b41bf7f4c0d00200a411f7121090c010b024002402009417d6a2d0000220a411874411875220c41bf7f4c0d00200a410f7121090c010b2009417c6a2d0000410771410674200c413f717221090b2009410674200b413f717221090b20094106742007413f717221070b20054101710d010240024020074180014f0d00417f21050c010b024020074180104f0d00417e21050c010b417d417c200741808004491b21050b0240200520046a22040d00410021040c020b0240024020042008490d0020042008470d070c010b200620046a2c00004140480d060b200620046a2205417f6a2c0000417f4a0d012005417e6a2c000041bf7f4a1a0c010b410021042005410171450d010b20012004360208410121040b200120043602040c010b200141046a20042008200720062005410110f0928080000b02400240024002400240024020012802044101470d002001280208220a41096a22082104034002402004450d00024020042003490d0020032004460d010c080b200220046a2c00004140480d070b02400240024020032004470d00200321070c010b200220046a2d000041506a41ff0171410a490d01200421070b2004450d0302400240200320074b0d0020032007470d010c050b200220076a2c000041bf7f4a0d040b200220032007200341d89ccc800010c381808000000b200441016a21040c000b0b410021060c010b41002106200320076b4108490d00200220076a220929000042a0c6bde3d6ae9bb720520d00200741086a220b21050240024002400240034002402005450d00024020052003490d0020032005460d010c090b200220056a2c00004140480d080b024002400240024020032005470d002003210d0c010b200220056a2d000041506a41ff0171410a490d012005210d20052003490d080b20072008490d032008450d01200220086a2c000041bf7f4a0d010c030b200541016a21050c010b0b02402004450d0020092c00004140480d010b200220086a2104024002400240200720086b22070e020700010b4101210920042d000041556a0e03070107010b024020042d0000412b470d002007417f6a2109200441016a21042007410a490d010c030b20072109200741094f0d020b41002107034020042d000041506a220841094b0d04200441016a210420082007410a6c6a21072009417f6a22090d000c030b0b200220032008200741f89ccc800010c381808000000b4100210703402009450d0120042d000041506a220841094b0d022007ad420a7e220e422088a74100470d02200441016a21042009417f6a21092008200ea7220c6a2207200c4f0d000c020b0b024002400240200d200b490d000240200b450d000240200b2003490d00200b2003470d020c010b2002200b6a2c000041bf7f4c0d010b02402005450d00200d2003470d010b2002200b6a2104024002400240200d200b6b22080e020700010b4101210520042d000041556a0e03070107010b024020042d0000412b470d002008417f6a2105200441016a21042008410a490d010c030b20082105200841094f0d020b4100210641002108034020042d000041506a220941094b0d05200441016a210420092008410a6c6a21082005417f6a22050d000c030b0b20022003200b200d41889dcc800010c381808000000b4100210803402005450d014100210620042d000041506a220941094b0d032008ad420a7e220e422088a74100470d03200441016a21042005417f6a21052009200ea7220b6a2208200b490d030c000b0b41012106200a20034b0d020240200a450d00200a20034f0d002002200a6a2c000041bf7f4a0d00418194cc8000413041b494cc8000108081808000000b2000200a360208200a21030c020b410021060c010b0b0240024002400240200028020020034b0d00200221050c010b0240024020030d00410121050c010b200341002802f482d48000118280808000002205450d022005417e6a41003b000020052002200310f4978080001a0b20022002417e6a2f00006b41002802ec82d48000118180808000000b41002d008083d480001a411441002802f482d480001182808080000022040d014104411410ab80808000000b4101200310ab80808000000b2004200441036a417c7120046b22026a22042008410020061b36021020042007410020061b36020c2004200336020820042005360204200441003602002004417e6a20023b0000200141d0006a24808080800020040f0b200220032005200341e89ccc800010c381808000000b200220032004200341c89ccc800010c381808000000b200620084100200441c495cc800010c381808000000ba80101017f23808080800041c0006b22032480808080002003200236020420032001360200200341306a41086a200041086a2903003703002003410236020c2003418c9bcc800036020820034202370214200341f384808000ad4220862003ad84370328200341f484808000ad422086200341306aad84370320200320002903003703302003200341206a360210200341086a10fb928080002100200341c0006a24808080800020000beb0204017f017c017e027f23808080800041c0006b2202248080808000024002400240024020002d0000417d6a0e050100000002000b200241286a41086a200041086a29030037030020022000290300370328200241286a200110e09280800021000c020b0240024020002b03082203bd220442ffffffffffffffffff008342fffffffffffffff7ff00550d00200241286a21002003200241286a109f9280800021050c010b41ecc0cc800041efc0cc80002004427f5522051b41f3c0cc8000200442ffffffffffffff07835022061b21004103410420051b410320061b21050b200220053602242002200036022020024102360204200241d09bcc80003602002002420137020c200241f584808000ad422086200241206aad843703182002200241186a36020820012802002001280204200210b18180800021000c010b200128020041e09bcc80004104200128020428020c1180808080000021000b200241c0006a24808080800020000ba80101017f23808080800041c0006b22032480808080002003200236020420032001360200200341306a41086a200041086a2903003703002003410236020c200341ac9bcc800036020820034202370214200341f384808000ad4220862003ad84370328200341f484808000ad422086200341306aad84370320200320002903003703302003200341206a360210200341086a10fb928080002100200341c0006a24808080800020000bff0103017f017c017e23808080800041106b22032480808080000240024002400240024020002802000e0400010203000b20002b03082104200341033a00002003200439030820032001200210fd9280800021020c030b20002903082105200341013a00002003200537030820032001200210fd9280800021020c020b20002903082105200341023a00002003200537030820032001200210fd9280800021020c010b20034106360208200341889ecc8000360204200341113a000020032001200210fd9280800021022000280204450d00200028020822002000417e6a2f00006b41002802ec82d48000118180808000000b200341106a24808080800020020b5001017f23808080800041106b2202248080808000200241086a200028020c2000280210200028021410879380800020012002280208200228020c10f5928080002100200241106a24808080800020000bd20401057f23808080800041c0006b220224808080800002400240024020012802142203200128021022044f0d000240200128020c220520036a2d00002206412d470d002001200341016a360214200241206a200141001083938080000c020b0240200641506a41ff0171410a490d002002410d360234200241106a20052004200341016a2203200420032004491b1087938080002002200241346a2002280210200228021410f592808000360224200241043602200c020b200241206a200141011083938080000c010b20024105360220200241186a200128020c2004200341016a2201200420012004491b108793808000200241206a2002280218200228021c10f592808000210120004104360200200020013602040c010b024020012802142206200128021022034f0d002002410d360234200241086a200128020c2003200641016a2206200320062003491b108793808000200241346a2002280208200228020c10f592808000200110f792808000210120004104360200200020013602040240024002402002280220417d6a0e020001040b2002280224450d03200228022821010c010b200228022422012802000d002001280208450d00200128020422002000417e6a2f00006b41002802ec82d48000118180808000000b20012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228022421030240200228022022064104470d002003200110f792808000210120004104360200200020013602040c010b2000200229032837030820002003360204200020063602000b200241c0006a2480808080000b820802027f027e23808080800041c0006b220324808080800041002d008083d480001a024002400240024002400240024002400240411041002802f482d48000118280808000002204450d00200320043602382004417e6a41003b00002003410036023c2003411036023402400240024002400240024020020d002004412d3a00002003410136023c2001200341346a10849380800022040d0120032802382104200328023c22020e020b02030b2001200341346a1084938080002204450d040b20004104360200200020043602040c0b0b20042d0000220141556a0e03080108010b20042d000021010b0240024002400240200141ff017141556a0e03000201020b2002417f6a2101200441016a210420024111490d02200121020c080b2002417f6a2101200441016a2104024020024111490d004200210503402001450d0b200341206a20052005423f87420a420010fc9780800020042d000041506a220241094b0d0a200329032820032903202206423f87520d0a200441016a21042001417f6a21012002ad2205420055200620057d220520065373450d000c0a0b0b420021052001450d09034020042d000041506a220241094b0d09200441016a21042005420a7e2002ad7d21052001417f6a22010d000c0a0b0b2002410f4b0d060c050b2001210220010d04420021050c070b20032802382104024002400240200328023c22010e020800010b4101210220042d000041556a0e03070107010b024020042d0000412b470d002001417f6a2102200441016a210420014112490d010c030b20012102200141114f0d020b42002105034020042d000041506a220141094b0d06200441016a21042005420a7e2001ad7c21052002417f6a22020d000c030b0b4101411041909ecc800010b980808000000b4200210503402002450d01200320054200420a420010fc9780800020032903084200520d0420042d000041506a220141094b0d04200441016a21042002417f6a2102200329030022062001ad7c22052006540d040c000b0b20002005370308200041013602000c040b42002105034020042d000041506a220141094b0d02200441016a21042005420a7e2001ad7c21052002417f6a2202450d030c000b0b4200210503402002450d02200341106a20052005423f87420a420010fc97808000200329031820032903102206423f87520d0120042d000041506a220141094b0d01200441016a21042002417f6a21022001ad2205420053200620057c220520065373450d000b0b20002003290234370204200041033602002000410c6a2003413c6a2802003602000c020b20002005370308200041023602000b2003280234450d00200328023822042004417e6a2f00006b41002802ec82d48000118180808000000b200341c0006a2480808080000bd104010a7f23808080800041306b2202248080808000024002400240024020002802142203200028021022044f0d002000200341016a2205360214200128020822062107024041014102200028020c220820036a2c00002209417f4a220a1b220b200128020020066b4d0d0020012006200b4101410110eb92808000200128020821070b2001280204220b20076a2107200a0d012007200941bf01713a00012001200641026a3602082007200941c0017141067641c001723a00000c020b20024105360224200241186a200028020c20042003108793808000200241246a2002280218200228021c10f59280800021050c020b200720093a00002001200641016a22063602080240024020094130470d000240200520044f0d00200820056a2d000041506a41ff0171410a490d020b2000200110859380800021050c030b2009414f6a41ff017141084b0d010240200520044f0d000340200820056a2d0000220941506a41ff017141094b0d012000200541016a220536021420062103024020062001280200470d002001200641014101410110eb92808000200128020821032001280204210b0b200b20036a20093a00002001200641016a220636020820042005470d000b0b2000200110859380800021050c020b2002410d360224200241086a20082004200341026a2205200420052004491b108793808000200241246a2002280208200228020c10f59280800021050c010b2002410d360224200241106a200820042005108793808000200241246a2002280210200228021410f59280800021050b200241306a24808080800020050bc404010a7f23808080800041206b220224808080800041002103024020002802142204200028021022054f0d000240200028020c220620046a2d0000220741e500460d00200741c500460d002007412e470d012000200441016a2208360214200128020822072109024020012802002007470d002001200741014101410110eb92808000200128020821090b2001200741016a220a3602082001280204220b20096a412e3a00000240200820054f0d000240200620086a2d0000220841506a41ff017141094b0d002000200441026a220436021402402001280200200a470d002001200a41014101410110eb928080002001280208210a2001280204210b0b2001200741026a2207360208200b200a6a20083a0000200420054f0d0303400240200620046a2d0000220841506a41ff0171410a490d00200841207241e500470d0520002008200110869380800021030c050b2000200441016a22043602142007210a024020072001280200470d002001200741014101410110eb928080002001280208210a2001280204210b0b200b200a6a20083a00002001200741016a220736020820052004470d000c040b0b2002410d360214200220062005200441026a2200200520002005491b108793808000200241146a2002280200200228020410f59280800021030c020b20024105360214200241086a20062005200441026a2200200520002005491b108793808000200241146a2002280208200228020c10f59280800021030c010b20002007200110869380800021030b200241206a24808080800020030bc80501097f23808080800041206b220324808080800020002000280214220441016a22053602142002280208220621070240410141022001418001491b2208200228020020066b4d0d002002200620084101410110eb92808000200228020821070b2002280204220920076a21070240200141ff004d0d0020072001413f71418001723a0001200141067641407221010b200720013a00002002200620086a220636020802402005200028021022084f0d000240200028020c20056a2d0000220141556a0e03000100010b2000200441026a220536021420062107024020022802002006470d002002200641014101410110eb9280800020022802082107200228020421090b2002200641016a2206360208200920076a20013a00000b0240024002400240200520084f0d002000200541016a22013602142006210a024041014102200028020c220420056a2c00002207417f4a220b1b2205200228020020066b4d0d002002200620054101410110eb928080002002280208210a200228020421090b2009200a6a2105200b0d012005200741bf01713a00012005200741c0017141067641c001723a00002002200641026a3602080c020b20034105360214200341086a200028020c20082005108793808000200341146a2003280208200328020c10f59280800021090c020b200520073a00002002200641016a2205360208200741506a41ff017141094b0d0041002109200120084f0d010340200420016a2d0000220641506a41ff017141094b0d022000200141016a220136021420052107024020052002280200470d002002200541014101410110eb92808000200228020821070b2002200541016a2205360208200228020420076a20063a000020082001470d000c020b0b2003410d3602142003200420002802102000280214108793808000200341146a2003280200200328020410f59280800021090b200341206a24808080800020090bcd0401047f0240024002400240200320024b0d004100210402402003450d00200120036a210502400240200341034b0d000340200520014d0d032005417f6a22052d0000410a470d000c020b0b024041808284082005417c6a2800002206418a94a8d000736b20067241808182847871418081828478460d000340200520014d0d032005417f6a22052d0000410a470d000c020b0b200320054103716b2106024020034109490d0002400340200622054108480d014180828408200120056a220741786a2802002206418a94a8d000736b20067241808182847871418081828478470d01200541786a210641808284082007417c6a2802002207418a94a8d000736b20077241808182847871418081828478460d000b0b200120056a21050340200520014d0d032005417f6a22052d0000410a470d000c020b0b200120066a21050340200520014d0d022005417f6a22052d0000410a470d000b0b200520016b220541016a2104200520024f0d020b410121052001200120046a4f0d032004410371210202402004417f6a41034f0d00410021050c030b2004417c712106410021050340200520012d0000410a466a200141016a2d0000410a466a200141026a2d0000410a466a200141036a2d0000410a466a2105200141046a21012006417c6a22060d000c030b0b2003200241a8b2cc8000109181808000000b2004200241b8b2cc8000109181808000000b02402002450d000340200520012d0000410a466a2105200141016a21012002417f6a22020d000b0b200541016a21050b200020053602002000200320046b3602040b5301047f024020002802082201200028020422024f0d00200028020021030340200320016a2d000022044122460d01200441dc00460d0120044120490d012000200141016a220136020820022001470d000b0b0bde0d02097f017e23808080800041206b22032480808080000240024003400240024002400240024002402001280208220420012802042205460d00024002400240200420054f0d0002402001280200220620046a2d000022074122470d00200421070c030b200741dc00470d01200421070c020b2004200541c8b2cc8000108281808000000b0240200741204f0d00200421070c010b200641016a210841002005200441016a22096b417871220a6b2106200421070340024020060d002001200a20096a360208200110889380800020012802042105200128020821070c020b200820076a210b200641086a2106200741086a2107200b290000220c427f85200c42a2c48891a2c48891228542fffdfbf7efdfbfff7e7c200c42e0bffffefdfbf7ef5f7c84200c42dcb8f1e2c58b97aedc008542fffdfbf7efdfbfff7e7c848342808182848890a0c0807f83220c500d000b2001200c7aa741037620076a41796a22073602080b20072005460d00200720054f0d010240024002402001280200220b20076a2d0000220641dc00460d0020064122460d012001200741016a3602082003411036021420002001200341146a108a938080000c0b0b024020072004490d00200b20046a21080240200720046b22062002280200200228020822046b4d0d002002200420064101410110eb92808000200228020821040b200228020420046a2008200610f4978080001a2001200741016a22043602082002200228020820066a220636020802400240200420054f0d002001200741026a360208200b20046a2d000021070c010b20034104360214200341086a2001200341146a108b9380800020032d00084101710d0320032d000921070b0240024002400240024002400240024002400240200741ff0171415e6a0e54020000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000500000006000000000000000700000008000901000b2003410c3602142001200341146a108c9380800021070c130b20012002108d938080002207450d110c120b024020062002280200470d00200241a8b3cc800010b8808080000b200228020420066a41223a00002002200641016a3602080c0f0b024020062002280200470d00200241b8b3cc800010b8808080000b200228020420066a41dc003a00002002200641016a3602080c0e0b024020062002280200470d00200241c8b3cc800010b8808080000b200228020420066a412f3a00002002200641016a3602080c0d0b024020062002280200470d00200241d8b3cc800010b8808080000b200228020420066a41083a00002002200641016a3602080c0c0b024020062002280200470d00200241e8b3cc800010b8808080000b200228020420066a410c3a00002002200641016a3602080c0b0b024020062002280200470d00200241f8b3cc800010b8808080000b200228020420066a410a3a00002002200641016a3602080c0a0b024020062002280200470d0020024188b4cc800010b8808080000b200228020420066a410d3a00002002200641016a3602080c090b024020062002280200470d0020024198b4cc800010b8808080000b200228020420066a41093a00002002200641016a3602080c080b200420074188b3cc8000109581808000000b20022802082206450d0520072004490d03200b20046a21080240200720046b220b200228020020066b4d0d0020022006200b4101410110eb92808000200228020821060b200228020420066a2008200b10f4978080001a2001200741016a36020820022002280208200b6a2207360208200341086a2002280204200710f680808000024020032802080d0020032802102106200328020c21070c050b2003410f36021420032001200341146a108e93808000024020032802002207450d00200328020421060c050b20002003280204360204200041023602000c090b200328020c21070c070b2003410436021420002001200341146a108a938080000c070b2007200541d8b2cc8000108281808000000b2004200741f8b2cc8000109581808000000b2000200636020820002007360204200041013602000c040b0240024020072004490d002001200741016a360208200341086a200b20046a200720046b10f680808000024020032802080d0020032802102106200328020c21070c020b2003410f36021420032001200341146a108e93808000024020032802002207450d00200328020421060c020b20002003280204360204200041023602000c050b2004200741e8b2cc8000109581808000000b2000200636020820002007360204200041003602000c030b410021074100450d000b0b20004102360200200020073602040b200341206a2480808080000b5c01017f23808080800041106b2203248080808000200341086a20012802002001280204200128020810879380800020022003280208200328020c10f59280800021012000410236020020002001360204200341106a2480808080000b5c01017f23808080800041106b2203248080808000200341086a20012802002001280204200128020810879380800020022003280208200328020c10f5928080002101200041013a000020002001360204200341106a2480808080000b5001017f23808080800041106b2202248080808000200241086a20002802002000280204200028020810879380800020012002280208200228020c10f5928080002100200241106a24808080800020000bbb0a01077f23808080800041206b22022480808080000240024002400240024002402000280204220320002802082204490d0002400240200320046b41034b0d0020002003360208200241043602142002410c6a2000200241146a108f93808000200321050c010b2000200441046a22053602080240200028020020046a22042d000141017441b8b4cc80006a2f010020042d000041017441b8b8cc80006a2f01007241107441107541087420042d000241017441b8b8cc80006a2e01007220042d000341017441b8b4cc80006a2e01007222044100480d00200241003b010c200220043b010e0c010b2002410c3602142002410c6a2000200241146a108f938080000b024020022f010c4101470d00200228021021000c060b20022f010e22044180f803714180b803460d01024020044180c8006a41ffff03714180f803490d002000280200210602400240200520034f0d00200620056a2d000021070c010b200241043602142002410c6a2000200241146a108b93808000024020022d000c410171450d00200228021021000c080b20022d000d21070b2000200541016a2208360208024002400240200741ff017141dc00470d00200820034f0d01200620086a2d000021070c020b200241173602142000200241146a108c9380800021000c080b200241043602142002410c6a2000200241146a108b9380800020022d000c4101710d0620022d000d21070b200541026a2108200741ff017141f500470d0420032008490d0302400240200320086b41034b0d0020002003360208200241043602142002410c6a2000200241146a108f938080000c010b2000200541066a3602080240200620086a22032d000141017441b8b4cc80006a2f010020032d000041017441b8b8cc80006a2f01007241107441107541087420032d000241017441b8b8cc80006a2e01007220032d000341017441b8b4cc80006a2e01007222034100480d00200241003b010c200220033b010e0c010b2002410c3602142002410c6a2000200241146a108f938080000b024020022f010c450d00200228021021000c070b024020022f010e22034180c0006a41ffff03714180f803490d0020044180d0006a41ffff0371410a7420034180c8006a41ffff0371722206418080046a210502402001280200200128020822046b41034b0d002001200441044101410110eb92808000200128020821040b200128020420046a2200200541127641f001723a0000200041036a2003413f71418001723a000020002006410676413f71418001723a000220002005410c76413f71418001723a00012001200441046a360208410021000c070b200241143602142000200241146a108c9380800021000c060b02402004418001490d0002402001280200200128020822036b41034b0d002001200341044101410110eb92808000200128020821030b200128020420036a21000240024020044180104f0d0020044106764140722106410221050c010b20002004410676413f71418001723a00012004410c764160722106410321050b200020063a0000200020056a417f6a2004413f71418001723a00002001200320056a360208410021000c060b0240200128020822002001280200470d00200141a8b4cc800010b8808080000b200128020420006a20043a00002001200041016a360208410021000c050b200420034198b3cc8000109281808000000b200241143602142000200241146a108c9380800021000c030b200820034198b3cc8000109281808000000b20002008360208200241173602142000200241146a108c9380800021000c010b200228021021000b200241206a24808080800020000b5c01017f23808080800041106b2203248080808000200341086a20012802002001280204200128020810879380800020022003280208200328020c10f59280800021012000410036020020002001360204200341106a2480808080000b5c01017f23808080800041106b2203248080808000200341086a20012802002001280204200128020810879380800020022003280208200328020c10f5928080002101200041013b010020002001360204200341106a2480808080000be90101027f23808080800041106b220224808080800002400240024020012802002203418180808078470d0020012d000422034106460d02200020033a000020002001290005370001200041086a2001410c6a2900003700000c010b2002410c6a200141146a280000360000200041053a00002002200129000c37000420002002290001370001200041086a200241086a2900003700002003418080808078460d002003450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b200241106a2480808080000f0b41c0c0cc8000411c41dcc0cc800010a181808000000bf90301027f23808080800041d0006b22032480808080004100210402400240024020024100480d00024020020d00410121040c030b41002d008083d480001a200241002802f482d480001182808080000022040d01410121040b2004200241b8bfcc800010b980808000000b2004417e6a41003b00000b20042001200210f497808000210420034100360248200320023602442003200436024020034180013a004c2003410036023c2003428080808010370234200341206a200341346a1082938080000240024020032802204104470d002003200328022436020820034180808080783602040c010b200341046a200341206a10e7928080000b02402003280234450d00200328023822012001417e6a2f00006b41002802ec82d48000118180808000000b024002402003280204418080808078470d002000200328020836020402402002450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b410621020c010b200341106a41086a2201200341046a41086a2802003602002003200329020437031002402002450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2003413f6a20012802003600002003200329031037003720002003290034370001200041086a2003413b6a290000370000410221020b200020023a0000200341d0006a2480808080000b140020012000280200200028020410b4818080000b1200200041f8c0cc8000200110b1818080000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110eb92808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110eb92808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000bc35701237e200029033821032000290330210420002903282105200029032021062000290318210720002903102108200029030821092000290300210a02402002450d00200120024107746a210203402008200985200a83200820098385200a422489200a421e8985200a421989857c200320064232892006422e89852006421789857c20042005852006832004857c2001290000220b423886200b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200b42088842808080f80f83200b421888428080fc078384200b4228884280fe0383200b423888848484220c7c42a2dca2b98df38bc5c2007c220d7c220b422489200b421e8985200b42198985200b2009200a85832009200a83857c2004200141086a290000220e423886200e4280fe038342288684200e428080fc0783421886200e42808080f80f834208868484200e42088842808080f80f83200e421888428080fc078384200e4228884280fe0383200e423888848484220f7c200d20077c22102005200685832005857c20104232892010422e89852010421789857c42cdcbbd9f9292d19bf1007c22117c220e422489200e421e8985200e42198985200e200b200a8583200b200a83857c2005200141106a290000220d423886200d4280fe038342288684200d428080fc0783421886200d42808080f80f834208868484200d42088842808080f80f83200d421888428080fc078384200d4228884280fe0383200d42388884848422127c201120087c22132010200685832006857c20134232892013422e89852013421789857c42aff6b4e2fef9bee0b57f7c22147c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2006200141186a290000221142388620114280fe0383422886842011428080fc0783421886201142808080f80f834208868484201142088842808080f80f832011421888428080fc07838420114228884280fe0383201142388884848422157c201420097c22142013201085832010857c20144232892014422e89852014421789857c42bcb7a78cd8f4f6da697c22167c22114224892011421e89852011421989852011200d200e8583200d200e83857c2010200141206a290000221742388620174280fe0383422886842017428080fc0783421886201742808080f80f834208868484201742088842808080f80f832017421888428080fc07838420174228884280fe0383201742388884848422187c2016200a7c22172014201385832013857c20174232892017422e89852017421789857c42b8eaa29abfcbb0ab397c22197c22104224892010421e898520104219898520102011200d85832011200d83857c200141286a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221a20137c2019200b7c22132017201485832014857c20134232892013422e89852013421789857c4299a097b09bbec4f8d9007c22197c220b422489200b421e8985200b42198985200b2010201185832010201183857c200141306a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221b20147c2019200e7c22142013201785832017857c20144232892014422e89852014421789857c429b9fe5f8cad4e09f927f7c22197c220e422489200e421e8985200e42198985200e200b20108583200b201083857c200141386a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221c20177c2019200d7c22172014201385832013857c20174232892017422e89852017421789857c429882b6d3ddda978eab7f7c22197c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c200141c0006a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221d20137c201920117c22132017201485832014857c20134232892013422e89852013421789857c42c2848c988ad3ea83587c22197c22114224892011421e89852011421989852011200d200e8583200d200e83857c200141c8006a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221e20147c201920107c22142013201785832017857c20144232892014422e89852014421789857c42bedfc1ab94e0d6c1127c22197c22104224892010421e898520104219898520102011200d85832011200d83857c200141d0006a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221f20177c2019200b7c22172014201385832013857c20174232892017422e89852017421789857c428ce592f7e4b7e198247c22197c220b422489200b421e8985200b42198985200b2010201185832010201183857c200141d8006a290000221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484222020137c2019200e7c22162017201485832014857c20164232892016422e89852016421789857c42e2e9feafbdb89f86d5007c22197c220e422489200e421e8985200e42198985200e200b20108583200b201083857c200141e0006a290000221342388620134280fe0383422886842013428080fc0783421886201342808080f80f834208868484201342088842808080f80f832013421888428080fc07838420134228884280fe03832013423888848484222120147c2019200d7c22192016201785832017857c20194232892019422e89852019421789857c42ef92ee93cfae97dff2007c22147c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c200141e8006a290000221342388620134280fe0383422886842013428080fc0783421886201342808080f80f834208868484201342088842808080f80f832013421888428080fc07838420134228884280fe03832013423888848484222220177c201420117c22232019201685832016857c20234232892023422e89852023421789857c42b1addad8e3bfacef807f7c22147c22114224892011421e89852011421989852011200d200e8583200d200e83857c200141f0006a290000221342388620134280fe0383422886842013428080fc0783421886201342808080f80f834208868484201342088842808080f80f832013421888428080fc07838420134228884280fe03832013423888848484221320167c201420107c22242023201985832019857c20244232892024422e89852024421789857c42b5a49caef2d481ee9b7f7c22177c22104224892010421e898520104219898520102011200d85832011200d83857c200141f8006a290000221442388620144280fe0383422886842014428080fc0783421886201442808080f80f834208868484201442088842808080f80f832014421888428080fc07838420144228884280fe03832014423888848484221420197c2017200b7c22252024202385832023857c20254232892025422e89852025421789857c4294cda4fbccaefccd417c22167c220b422489200b421e8985200b42198985200b2010201185832010201183857c200f423f89200f42388985200f42078885200c7c201e7c2013422d892013420389852013420688857c221720237c2016200e7c220c2025202485832024857c200c423289200c422e8985200c421789857c42d295c5f799b8dacd647c22197c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2012423f89201242388985201242078885200f7c201f7c2014422d892014420389852014420688857c221620247c2019200d7c220f200c202585832025857c200f423289200f422e8985200f421789857c42e3cbbcc2e3f091df6f7c22237c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2015423f8920154238898520154207888520127c20207c2017422d892017420389852017420688857c221920257c202320117c2212200f200c8583200c857c20124232892012422e89852012421789857c42b5abb3dce8b8e7e00f7c22247c22114224892011421e89852011421989852011200d200e8583200d200e83857c2018423f8920184238898520184207888520157c20217c2016422d892016420389852016420688857c2223200c7c202420107c22152012200f8583200f857c20154232892015422e89852015421789857c42e5b8b2bdc7b9a886247c22257c22104224892010421e898520104219898520102011200d85832011200d83857c201a423f89201a42388985201a4207888520187c20227c2019422d892019420389852019420688857c2224200f7c2025200b7c22182015201285832012857c20184232892018422e89852018421789857c42f584acc9f58dcbf42d7c220c7c220b422489200b421e8985200b42198985200b2010201185832010201183857c201b423f89201b42388985201b42078885201a7c20137c2023422d892023420389852023420688857c222520127c200c200e7c221a2018201585832015857c201a423289201a422e8985201a421789857c4283c99bf5a695a1baca007c220f7c220e422489200e421e8985200e42198985200e200b20108583200b201083857c201c423f89201c42388985201c42078885201b7c20147c2024422d892024420389852024420688857c220c20157c200f200d7c221b201a201885832018857c201b423289201b422e8985201b421789857c42d4f787eacbbbaad8dc007c22127c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c201d423f89201d42388985201d42078885201c7c20177c2025422d892025420389852025420688857c220f20187c201220117c221c201b201a8583201a857c201c423289201c422e8985201c421789857c42b5a7c598a89be2fcf6007c22157c22114224892011421e89852011421989852011200d200e8583200d200e83857c201e423f89201e42388985201e42078885201d7c20167c200c422d89200c42038985200c420688857c2212201a7c201520107c221d201c201b8583201b857c201d423289201d422e8985201d421789857c42abbf9bf3aeaa949f987f7c22187c22104224892010421e898520104219898520102011200d85832011200d83857c201f423f89201f42388985201f42078885201e7c20197c200f422d89200f42038985200f420688857c2215201b7c2018200b7c221e201d201c8583201c857c201e423289201e422e8985201e421789857c4290e4d0edd2cdf198a87f7c221a7c220b422489200b421e8985200b42198985200b2010201185832010201183857c2020423f89202042388985202042078885201f7c20237c2012422d892012420389852012420688857c2218201c7c201a200e7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42bfc2ecc789f9c981b07f7c221b7c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2021423f8920214238898520214207888520207c20247c2015422d892015420389852015420688857c221a201d7c201b200d7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42e49dbcf7fbf8dfacbf7f7c221c7c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2022423f8920224238898520224207888520217c20257c2018422d892018420389852018420688857c221b201e7c201c20117c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42c29fa2edb3fe82f0467c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2013423f8920134238898520134207888520227c200c7c201a422d89201a42038985201a420688857c221c201f7c202020107c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42a5ceaa98f9a8e4d3557c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2014423f8920144238898520144207888520137c200f7c201b422d89201b42038985201b420688857c2213201d7c2020200b7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42ef848e809eea98e5067c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2017423f8920174238898520174207888520147c20127c201c422d89201c42038985201c420688857c2214201e7c2020200e7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42f0dcb9d0f0acca94147c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2016423f8920164238898520164207888520177c20157c2013422d892013420389852013420688857c2217201f7c2020200d7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42fcdfc8b6d4d0c2db277c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2019423f8920194238898520194207888520167c20187c2014422d892014420389852014420688857c2216201d7c202020117c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42a6929be185a7c88d2e7c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2023423f8920234238898520234207888520197c201a7c2017422d892017420389852017420688857c2219201e7c202020107c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42edd590d6c5bf9b96cd007c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2024423f8920244238898520244207888520237c201b7c2016422d892016420389852016420688857c2223201f7c2020200b7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42dfe7d6ecb9a2839cd3007c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2025423f8920254238898520254207888520247c201c7c2019422d892019420389852019420688857c2224201d7c2020200e7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42dec7bdddc8ea9c85e5007c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c200c423f89200c42388985200c4207888520257c20137c2023422d892023420389852023420688857c2225201e7c2020200d7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42a8e5dee3b3d782b5f6007c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c200f423f89200f42388985200f42078885200c7c20147c2024422d892024420389852024420688857c220c201f7c202020117c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42e6ddb6bfe4a5b2e1817f7c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2012423f89201242388985201242078885200f7c20177c2025422d892025420389852025420688857c220f201d7c202020107c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42bbea88a4d1908bb9927f7c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2015423f8920154238898520154207888520127c20167c200c422d89200c42038985200c420688857c2212201e7c2020200b7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42e486c4e79494fadfa27f7c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2018423f8920184238898520184207888520157c20197c200f422d89200f42038985200f420688857c2215201f7c2020200e7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c4281e088e2bbc9998da87f7c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c201a423f89201a42388985201a4207888520187c20237c2012422d892012420389852012420688857c2218201d7c2020200d7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c4291afe2878deee2a5427c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c201b423f89201b42388985201b42078885201a7c20247c2015422d892015420389852015420688857c221a201e7c202020117c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42b0fcd2b2b0b494b6477c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c201c423f89201c42388985201c42078885201b7c20257c2018422d892018420389852018420688857c221b201f7c202020107c221f201e201d8583201d857c201f423289201f422e8985201f421789857c4298a4bdb79d83bac9517c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2013423f89201342388985201342078885201c7c200c7c201a422d89201a42038985201a420688857c221c201d7c2020200b7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c4290d296abc5c4c1cc567c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2014423f8920144238898520144207888520137c200f7c201b422d89201b42038985201b420688857c2213201e7c2020200e7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42aac0c4bbd5b08d87747c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2017423f8920174238898520174207888520147c20127c201c422d89201c42038985201c420688857c2214201f7c2020200d7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42b8a3ef95838ea8b5107c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2016423f8920164238898520164207888520177c20157c2013422d892013420389852013420688857c2217201d7c202020117c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42c8a1cbc6eba2b0d2197c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2019423f8920194238898520194207888520167c20187c2014422d892014420389852014420688857c2216201e7c202020107c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42d3d6868a8581db9b1e7c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2023423f8920234238898520234207888520197c201a7c2017422d892017420389852017420688857c2219201f7c2020200b7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c4299d7bbfccde99da4277c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2024423f8920244238898520244207888520237c201b7c2016422d892016420389852016420688857c2223201d7c2020200e7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42a891ed8cde96afd8347c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2025423f8920254238898520254207888520247c201c7c2019422d892019420389852019420688857c2224201e7c2020200d7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42e3b4a5aebc96838e397c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c200c423f89200c42388985200c4207888520257c20137c2023422d892023420389852023420688857c2225201f7c202020117c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42cb95869aaec9aaecce007c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c200f423f89200f42388985200f42078885200c7c20147c2024422d892024420389852024420688857c220c201d7c202020107c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42f3c68fbbf7c9b2cedb007c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2012423f89201242388985201242078885200f7c20177c2025422d892025420389852025420688857c220f201e7c2020200b7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42a3f1cab5bdfe9b97e8007c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2015423f8920154238898520154207888520127c20167c200c422d89200c42038985200c420688857c2212201f7c2020200e7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42fce5beefe5dde0c7f4007c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2018423f8920184238898520184207888520157c20197c200f422d89200f42038985200f420688857c2215201d7c2020200d7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42e0dedc98f4edd8d2f8007c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c201a423f89201a42388985201a4207888520187c20237c2012422d892012420389852012420688857c2218201e7c202020117c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42f2d6c28fca829ee4847f7c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c201b423f89201b42388985201b42078885201a7c20247c2015422d892015420389852015420688857c221a201f7c202020107c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42ecf390d381c1c0e38c7f7c22207c22104224892010421e898520104219898520102011200d85832011200d83857c201c423f89201c42388985201c42078885201b7c20257c2018422d892018420389852018420688857c221b201d7c2020200b7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42a8bc8c9ba2ffbfdf907f7c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2013423f89201342388985201342078885201c7c200c7c201a422d89201a42038985201a420688857c221c201e7c2020200e7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42e9fb8af4bd9d9ba8a47f7c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2014423f8920144238898520144207888520137c200f7c201b422d89201b42038985201b420688857c2213201f7c2020200d7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c4295f29996fbfee8fcbe7f7c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2017423f8920174238898520174207888520147c20127c201c422d89201c42038985201c420688857c2214201d7c202020117c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42aba6c99bae9edeb8467c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2016423f8920164238898520164207888520177c20157c2013422d892013420389852013420688857c2217201e7c202020107c221e201d201f8583201f857c201e423289201e422e8985201e421789857c429cc399d1eed9cf934a7c22217c22104224892010421e898520104219898520102011200d85832011200d83857c2019423f8920194238898520194207888520167c20187c2014422d892014420389852014420688857c2220201f7c2021200b7c2216201e201d8583201d857c20164232892016422e89852016421789857c428784838ef298aec3517c22217c220b422489200b421e8985200b42198985200b2010201185832010201183857c2023423f8920234238898520234207888520197c201a7c2017422d892017420389852017420688857c221f201d7c2021200e7c22192016201e8583201e857c20194232892019422e89852019421789857c429ed683efecba9fed6a7c22217c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2024423f8920244238898520244207888520237c201b7c2020422d892020420389852020420688857c221d201e7c2021200d7c22232019201685832016857c20234232892023422e89852023421789857c42f8a2bbf3feefd3be757c221e7c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2025423f8920254238898520254207888520247c201c7c201f422d89201f42038985201f420688857c222420167c201e20117c22162023201985832019857c20164232892016422e89852016421789857c42badfdd90a7f599f8067c221e7c22114224892011421e89852011421989852011200d200e8583200d200e83857c200c423f89200c42388985200c4207888520257c20137c201d422d89201d42038985201d420688857c222520197c201e20107c22192016202385832023857c20194232892019422e89852019421789857c42a6b1a296dab8dfb10a7c221e7c22104224892010421e898520104219898520102011200d85832011200d83857c200f423f89200f42388985200f42078885200c7c20147c2024422d892024420389852024420688857c220c20237c201e200b7c22232019201685832016857c20234232892023422e89852023421789857c42ae9be4f7cb80e69f117c221e7c220b422489200b421e8985200b42198985200b2010201185832010201183857c2012423f89201242388985201242078885200f7c20177c2025422d892025420389852025420688857c220f20167c201e200e7c22162023201985832019857c20164232892016422e89852016421789857c429b8ef198d1e6c2b81b7c221e7c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2015423f8920154238898520154207888520127c20207c200c422d89200c42038985200c420688857c221220197c201e200d7c22192016202385832023857c20194232892019422e89852019421789857c4284fb9198d2fedded287c221e7c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2018423f8920184238898520184207888520157c201f7c200f422d89200f42038985200f420688857c221520237c201e20117c22232019201685832016857c20234232892023422e89852023421789857c4293c99c86b4efaae5327c221e7c22114224892011421e89852011421989852011200d200e8583200d200e83857c201a423f89201a42388985201a4207888520187c201d7c2012422d892012420389852012420688857c221820167c201e20107c22162023201985832019857c20164232892016422e89852016421789857c42bcfda6aea1c1afcf3c7c221d7c22104224892010421e898520104219898520102011200d85832011200d83857c201b423f89201b42388985201b42078885201a7c20247c2015422d892015420389852015420688857c222420197c201d200b7c22192016202385832023857c20194232892019422e89852019421789857c42cc9ac0e0c9f8d98ec3007c22157c220b422489200b421e8985200b42198985200b2010201185832010201183857c201c423f89201c42388985201c42078885201b7c20257c2018422d892018420389852018420688857c222520237c2015200e7c22232019201685832016857c20234232892023422e89852023421789857c42b685f9d9ec97f5e2cc007c22157c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2013423f89201342388985201342078885201c7c200c7c2024422d892024420389852024420688857c222420167c2015200d7c220d2023201985832019857c200d423289200d422e8985200d421789857c42aafc95e3cfb3cabfd9007c220c7c22164224892016421e89852016421989852016200e200b8583200e200b83857c20132014423f892014423889852014420788857c200f7c2025422d892025420389852025420688857c20197c200c20117c2211200d202385832023857c20114232892011422e89852011421789857c42ecf5dbd6b3f5dbe5df007c22197c22132016200e85832016200e8385200a7c20134224892013421e89852013421989857c20142017423f892017423889852017420788857c20127c2024422d892024420389852024420688857c20237c201920107c22102011200d8583200d857c20104232892010422e89852010421789857c4297b09dd2c4b186a2ec007c22147c210a201320097c2109200b20067c20147c2106201620087c2108201020057c2105200e20077c2107201120047c2104200d20037c210320014180016a22012002470d000b0b200020033703382000200437033020002005370328200020063703202000200737031820002008370310200020093703082000200a3703000bb10202027f027e23808080800041106b2203248080808000024002400240024002400240024020020e020400010b4101210420012d000041556a0e03030103010b024020012d0000412b470d002002417f6a2104200141016a210120024112490d010c020b20022104200241114f0d010b42002105034020012d000041506a220241094b0d02200141016a21012005420a7e2002ad7c21052004417f6a22040d000c030b0b4200210503402004450d02200320054200420a420010fc9780800020032903084200520d0120012d000041506a220241094b0d01200141016a21012004417f6a2104200329030022062002ad7c220520065a0d000b0b2000412b3602082000419cc2cc8000360204410121010c010b20002005370308410021010b20002001360200200341106a2480808080000bc00403057f017e027f23808080800041d0006b2201248080808000200141286a41e1c2cc8000410841c7c2cc8000411a4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41a8c7cc8000109c93808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a41b8c7cc800010b592808000200128021422084293888c8f89fdc6ec9e7f3703002008420437022c20084203370224200841e4c8cc8000360220200841003602182008419981808000360210200842a5e9e3ab9e929adc2c3703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a41a8c7cc8000109e9380800002402007418080808078470d0041c8c7cc8000411141dcc7cc800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a8c7cc8000109c938080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bc00403057f017e027f23808080800041d0006b2201248080808000200141286a41fcc2cc8000410941c7c2cc8000411a4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41a8c7cc8000109c93808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a41b8c7cc800010b5928080002001280214220842e987d8bed5a3d0fbfb003703002008420437022c20084204370224200841e7c8cc800036022020084100360218200841ec80808000360210200842e2e68fceaa92ce9c7b3703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a41a8c7cc8000109e9380800002402007418080808078470d0041c8c7cc8000411141dcc7cc800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a8c7cc8000109c938080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bb30604057f017e027f017e23808080800041d0006b2201248080808000200141306a4185c3cc8000410f4194c3cc8000410d4104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41a8c7cc8000109c93808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a4198c6cc800010a093808000200128021c22084100360208200842808080808001370200200841003a00202008410936021c200841a1c3cc80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a4198c6cc800010a0938080000b2001280244410141246c6a220841013a00202008410836021c200841aac3cc800036021820084204370210200842003702082008428080808080013702002007410141016a2208360200200120012903402209370318024020082009a7470d00200141186a4198c6cc800010a0938080000b200128021c200841246c22076a220841023a00202008410e36021c200841b2c3cc80003602182008420437021020084200370208200842808080808001370200200128021c210820012001280218360220200120083602182001200820076a41246a3602242001200836021c200141c0006a200141186a41a8c7cc8000109d9380800002402005418080808078470d0041c8c7cc8000411141dcc7cc800010a181808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41a8c7cc8000109c93808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010a2938080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741246e2208200128020822014101764f0d01410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a410020084104412410a2938080002003280208210a200328020c21090b200a200941246c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41246e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810a2938080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42247e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441246c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a109f9380800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bca0303037f017e027f23808080800041206b22052480808080000240024002402003417f6a220620046a410020036b220771ad2001ad7e2208422088a70d002008a7220441808080807820036b4d0d010b20004100360204410121030c010b024020040d002000200336020841002103200041003602040c010b41002d008083d480001a200369210920044100200341786a220a200a20034b1b6a41002802f482d4800011828080800000210a024002400240024002402002450d00200941014b0d02200a450d042006200a6a200771200a6b220241ffff034b0d04200a20026a2203417e6a20023b000020034100200410fa978080001a0c010b200941014b0d02200a450d032006200a6a200771200a6b220241ffff034b0d03200a20026a2203417e6a20023b00000b2000200336020820002001360204410021030c030b200541003602182005410136020c200541a4edcc800036020820054204370210200541086a41a0eecc800010fe80808000000b200541003602182005410136020c200541a4edcc800036020820054204370210200541086a41a0eecc800010fe80808000000b2000200436020820002003360204410121030b20002003360200200541206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a109f9380800020052802084101470d0120052802102102200528020c21060b2006200241b8c4cc800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b940704017f0c7e017f037e23808080800041c0016b22072480808080004200210802400240200542015620064200522006501b0d004200210902402005a70e020002000b41a8c5cc8000108e81808000000b02400240200120028450450d004200210a420021084200210b4200210c2003210d200421090c010b200741b0016a420020057d2208420020062005420052ad7c7d220920052006108298808000200741a0016a20072903b001220e20072903b801220f2005200610fc97808000200920072903a8017d200820072903a001220954ad7d2110200820097d2111200f200e42017c221250ad7c21132003210d200421094200210b4200210c4200210342002104034020074190016a200142002012420010fc97808000200741f0006a200142002013420010fc9780800020074180016a200242002012420010fc97808000200741e0006a200242002013420010fc97808000200741d0006a200142002011420010fc97808000200741306a200142002010420010fc97808000200741c0006a200242002011420010fc97808000200741206a200242002010420010fc978080002007290368200c7c20072903602202200b7c2201200254ad7c20012007290388017c2202200154ad7c200220072903787c2201200254ad7c200120072903980122082007290380017c2202200854ad7c2208200154ad7c2008200220072903707c220e200254ad7c2201200854ad7c200120032007290390017c220a20035422142004200e7c2014ad7c220820045420082004511bad7c220b200154ad7c210c200a2103200821042007290348221520072903207c220220072903387c220e2007290358220120072903407c220f200154ad7c2216200f20072903307c2201200f54ad7c220f20072903502217200d7c220d2017542214200120097c2014ad7c220920015420092001511bad7c220120072903282002201554ad7c200e200254ad7c2016200e54ad7c200f201654ad7c2001200f54ad7c2202844200520d000b0b200741106a200d200920052006108298808000200720072903102201200729031822022005200610fc97808000200c200b200a20017c2203200a542214200820027c2014ad7c220420085420042008511bad7c2201200b54ad7c2102200920072903087d200d2007290300220854ad7d2109200d20087d21080b200020083703202000200337031020002001370300200020093703282000200437031820002002370308200741c0016a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10a49380800020052802084101470d0120052802102102200528020c21060b2006200241e0c9cc800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141b4cccc800010a8938080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004120360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810a5938080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010a5938080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bbf0403057f017e027f23808080800041d0006b2201248080808000200141286a41f0c9cc8000410641f6c9cc800041274104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41b4cccc800010a893808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a4180cbcc800010b5928080002001280214220842bbeefa98e893a7ad023703002008420437022c2008420f370224200841c4cccc800036022020084100360218200841fe84808000360210200842eef8e7b09dc4b6b53f3703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a41b4cccc800010a79380800002402007418080808078470d004190cbcc8000411141a4cbcc800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41b4cccc800010a8938080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bb20203017f017e037f23808080800041106b2201248080808000200141046a41e8cdcc8000410441eccdcc800041124104410010c29280800020012902082102200128020421032001410036020c200142808080808001370204200141046a41b4cdcc800010b592808000200128020822044293888c8f89fdc6ec9e7f3703002004420437022c20044203370224200441fecdcc8000360220200441003602182004419981808000360210200442a5e9e3ab9e929adc2c37030802402003418080808078470d0041c4cdcc8000411141d8cdcc800010a181808000000b20012802042105200042043702542000420037024c2000428080808080013702442000200237023c200020033602382000410136020c2000200436020820002005360204200041003a0000200141106a2480808080000bb20203017f017e037f23808080800041106b2201248080808000200141046a4181cecc8000410c41eccdcc800041124104410010c29280800020012902082102200128020421032001410036020c200142808080808001370204200141046a41b4cdcc800010b592808000200128020822044293888c8f89fdc6ec9e7f3703002004420437022c20044203370224200441fecdcc8000360220200441003602182004419981808000360210200442a5e9e3ab9e929adc2c37030802402003418080808078470d0041c4cdcc8000411141d8cdcc800010a181808000000b20012802042105200042043702542000420037024c2000428080808080013702442000200237023c200020033602382000410136020c2000200436020820002005360204200041003a0000200141106a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be20101077f23808080800041206b22022480808080004100210302402000280200220441ffffffff004d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410374220741fcffffff074b0d004100210502402004450d002002200441037436021c20022000280204360214410421050b20022005360218200241086a41042007200241146a10ac9380800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10ac9380800020052802084101470d0120052802102102200528020c21060b200620024184cfcc800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000bde1201107f23808080800041106b2203248080808000200120026a210441002105200121060240034020052107024020062004470d00200221070c020b0240024020062c00002208417f4c0d00200641016a2109200841ff017121080c010b20062d0001413f7121092008411f71210502402008415f4b0d0020054106742009722108200641026a21090c010b200941067420062d0002413f717221090240200841704f0d0020092005410c74722108200641036a21090c010b200941067420062d0003413f71722005411274418080f00071722108200641046a21090b200720066b20096a21052009210620084120460d0020092106200841506a410a490d0020092106200841bf7f6a411a490d00200921062008419f7f6a411a490d000b0b200120076a210a4100210b4100210c0240024002400240024002400240024002402007450d000240200220074b0d004100210b2003410036020c20034280808080c0003702040c020b2001210c200a2c000041bf7f4c0d030b2003410036020c20034280808080c000370204200220076b220d0d01200c21010b0c050b4104210e4100210f4100210b0340024002400240024002400240024002400240200d4103490d0041fcd0cc8000200a410310f5978080000d01200a200d6a2104200d417d6a211041002106200a41036a2211210902400340200621050240200922062004470d00201021050c020b0240024020062c00002208417f4c0d00200641016a2109200841ff017121080c010b20062d0001413f7121092008411f71210d02402008415f4b0d00200d4106742009722108200641026a21090c010b200941067420062d0002413f717221090240200841704f0d002009200d410c74722108200641036a21090c010b200941067420062d0003413f7172200d411274418080f00071722108200641046a21090b200520066b20096a21062008410a470d000b0b201120056a210a02400240024020050d00410021110c010b201020054d0d00200a2c000041bf7f4c0d010b2005410020111b21122011410120111b210b201020056b220d0d0a200c21010c0f0b201120104100200541ecd0cc800010c381808000000b200d4102470d010b200a2f000041afde00460d010b200a2d0000412f460d01200b450d0241002109024020024100480d0041002d008083d480001a41012109200241002802f482d480001182808080000022060d040b200920024184d0cc800010b980808000000b200a200d6a2104200d417e6a211041002106200a41026a220e210902400340200621050240200922062004470d00201021050c020b0240024020062c00002208417f4c0d00200641016a2109200841ff017121080c010b20062d0001413f7121112008411f71210902402008415f4b0d0020094106742011722108200641026a21090c010b201141067420062d0002413f717221110240200841704f0d0020112009410c74722108200641036a21090c010b201141067420062d0003413f71722009411274418080f00071722108200641046a21090b200520066b20096a21062008412f470d000b0b200e20056a2108201020056b210602402005450d000240201020054b0d002006450d010c0b0b20082c000041bf7f4c0d0a0b41002109024020024100480d0041002d008083d480001a200241002802f482d480001182808080000022090d05410121090b200920024184d0cc800010b980808000000b200a200d6a2104200d417f6a211141002106200a41016a2210210902400340200621050240200922062004470d00201121050c020b0240024020062c00002208417f4c0d00200641016a2109200841ff017121080c010b20062d0001413f7121092008411f71210d02402008415f4b0d00200d4106742009722108200641026a21090c010b200941067420062d0002413f717221090240200841704f0d002009200d410c74722108200641036a21090c010b200941067420062d0003413f7172200d411274418080f00071722108200641046a21090b200520066b20096a21062008412f470d000b0b201020056a210a201120056b210d410021094100210602402005450d0002400240201120054b0d00200d450d010c0a0b200a2c000041bf7f4c0d090b201021060b024020024100480d0041002d008083d480001a200241002802f482d480001182808080000022090d03410121090b200920024184d0cc800010b980808000000b41002106024020024100480d004100210941002d008083d480001a200241002802f482d480001182808080000022060d01410121060b200620024184d0cc800010b980808000000b2006417e6a41003b000020062001200210f497808000210620002002200d6b360214200020023602102000200636020c20002002360208200020093602040c040b2009417e6a41003b000020092001200210f497808000210902402006450d00200941002802ec82d48000118180808000000240200f2003280204470d00200341046a4180d1cc800010ad938080002003280208210e0b200e200f4103746a22092005360204200920063602002003200f41016a220f36020c200d0d02200c21010c070b2000200936020c200020023602082000410336020420002002200d6bad4220862002ad843702100c030b2009417e6a41003b000020092001200210f4978080002109024002402005450d00200941002802ec82d48000118180808000000240200541026a2209450d000240200d4101460d00200a2c00014140480d010b02402009200d490d002009200d470d010c030b200a20096a2c000041bf7f4a0d020b200a200d410120094190d1cc800010c381808000000b2000200936020c20002002360208200041023602042000200220106bad4220862002ad843702100c030b200541016a21090240200f2003280204470d00200341046a41a0d1cc800010ad938080000b2003280208220e200f4103746a220520093602042005200a41016a3602002003200f41016a220f36020c2008210a2006210d20060d000b200c21010c040b200120024100200741ecd0cc800010c381808000000b20004180808080783602002003280204450d03200328020822062006417e6a2f00006b41002802ec82d48000118180808000000c030b201020114100200541ecd0cc800010c381808000000b200e20104100200541ecd0cc800010c381808000000b20002003290204370200200020123602182000200b360214200020073602102000200136020c200041086a200341046a41086a2802003602000b200341106a2480808080000bd20702067f027e23808080800041e0006b2202248080808000200128020021030240024002400240024002400240024020012802042204450d00200341016a21012004417f6a2105024020032d00002206412f470d000240024002402004417f6a0e020800010b410121072001210620012d000041556a0e03070107010b024020012d0000412b470d002004417e6a2107200341026a210620044113490d010c060b2001210620052107200441124f0d050b42002108034020062d000041506a220441094b0d06200641016a21062008420a7e2004ad7c21082007417f6a22070d000c070b0b02400240024020044101470d004101210520032101200641556a0e03030103010b02402006412b470d0020044112490d010c020b2003210120042105200441114f0d010b42002108034020012d000041506a220641094b0d02200141016a21012008420a7e2006ad7c21082005417f6a22050d000c030b0b4200210803402005450d02200241106a20084200420a420010fc9780800020022903184200520d0120012d000041506a220641094b0d01200141016a21012005417f6a2105200229031022092006ad7c220820095a0d000b0b2002200436023c20022003360238200241d8006a22014200370300200241c0006a41106a22054200370300200241c0006a41086a2206420037030020024200370340200241386a200241c0006a10c793808000200241206a41086a2005290300370300200241206a41106a200129030037030020022006290300370320200229034021080c010b200241306a4200370300200241286a4200370300200242003703200b20002008370001200041003a000020002002290320370009200041116a200241286a290300370000200041196a200241306a2903003700000c040b4200210803402007450d02200220084200420a420010fc9780800020022903084200520d0120062d000041506a220441094b0d01200641016a21062007417f6a2107200229030022092004ad7c220820095a0d000b0b2002200536023c20022001360238200241d8006a22014200370300200241c0006a41106a22054200370300200241c0006a41086a2206420037030020024200370340200241386a200241c0006a10c793808000200241206a41086a2005290300370300200241206a41106a200129030037030020022006290300370320200229034021080c010b200241306a4200370300200241286a4200370300200242003703200b2000200837000120002002290320370009200041013a0000200041116a200241286a290300370000200041196a200241306a2903003700000b200241e0006a2480808080000ba70801087f23808080800041e0046b2203248080808000200342f9c2f89b91a3b3f0db00370338200342ebfa86dabfb5f6c11f3703302003429fd8f9d9c291da829b7f370328200342d1859aeffacf9487d100370320200342f1edf4f8a5a7fda7a57f370318200342abf0d3f4afeebcb73c370310200342bbceaaa6d8d0ebb3bb7f370308200342c892f795ffccf984ea00370300200341c0006a410041880110fa978080001a200341cb006a41002800d1d4cc8000360000200341073a00c801200341002800ced4cc800036024802400240200241fa00490d00200341cf006a200141f90010f4978080001a20034280013703402003200341c8006a22044200420010cf80808000200141f9006a2201200241877f6a2202410776200241ff00712202456b22054107746a2106200241800120021b210702402005450d00200541077421020340200320032903404280017c370340200320014200420010cf8080800020014180016a2101200241807f6a22020d000b0b20042006200710f4978080001a0c010b200341cf006a2001200210f4978080001a200241076a21070b200320073a00c801200341d0016a200341d00110f4978080001a200320032903900220032d0098032201ad7c3703900220034198026a210202402001418001460d00200220016a410041800120016b10fa978080001a0b200341003a009803200341d0016a2002427f420010cf80808000200341e0036a41086a2201200341d0016a41086a290300370300200341e0036a41106a2202200341d0016a41106a290300370300200341e0036a41186a2207200341d0016a41186a290300370300200341e0036a41206a220520032903f001370300200341e0036a41286a2204200341d0016a41286a290300370300200341e0036a41306a2206200341d0016a41306a290300370300200341e0036a41386a2208200341d0016a41386a290300370300200320032903d0013703e003200341a0036a41086a22092001290300370300200341a0036a41106a220a2002290300370300200341a0036a41186a22022007290300370300200341a0036a41206a22072005290300370300200341a0036a41286a22052004290300370300200341a0036a41306a22042006290300370300200341a0036a41386a22062008290300370300200320032903e0033703a00341002d008083d480001a024041c00041002802f482d480001182808080000022010d00410141c00041a0d2cc800010b980808000000b200120032903a003370000200041c00036020820002001360204200041c0003602002001417e6a41003b0000200141086a2009290300370000200141106a200a290300370000200141186a2002290300370000200141206a2007290300370000200141286a2005290300370000200141306a2004290300370000200141386a2006290300370000200341e0046a2480808080000ba10701067f23808080800041d0006b220224808080800041002d008083d480001a41002802f482d480002103024002400240024041002f019480d48000220441ffff00712205413f4b0d0041012106410120031182808080000022030d014101410110ab80808000000b4102210641022003118280808000002203450d012003417e6a41003b0000200320044106742005410876723a00012003200441fc017141027641c000723a00000c020b200320043a00002003417e6a41003b00000c010b4101410210ab80808000000b200220063602402002200336023c20022006360238200241386a200641204101410110ae93808000200228023c2206200228024022046a22032000290000370000200341086a200041086a290000370000200341106a200041106a290000370000200341186a200041186a2900003700002002200441206a2203360240200241286a2006200310b19380800002402002280230220441014b0d00410220044184d3cc8000109181808000000b200228022c210402402002280238220720036b41014b0d00200241386a200341024101410110ae9380800020022802382107200228023c2106200228024021030b200620036a20042f00003b00002002200341026a22053602402002410036021820024280808080103702102002200536024c200220063602482002200241106a360244200241086a200241c4006a200341036a41017620056a200241c8006a4194d3cc800010c8938080002002280208210302402007450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b0240024020034101710d0020022802182106200228021421032002280210210502402002280228450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b2002412036024c2002200036024802400240200641084b0d0020064108460d010c030b20032c00084140480d020b2002410836023c2002200336023820024103360214200241f0d4cc80003602102002420237021c200241ff84808000ad422086200241386aad843703302002418085808000ad422086200241c8006aad843703282002200241286a36021820012802002001280204200241106a10b181808000210002402005450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a24808080800020000f0b41f4dbcc8000412b200241c8006a41e4dbcc800041a0dccc800010a981808000000b200320064100410841d8d4cc800010c381808000000b900603087f027e027f23808080800041306b22032480808080002003410c6a2001200210af9380800020032802202101200328021c210420032802182102200328021421052003280210210602400240200328020c2207418080808078470d0020002001360214200020043602102000200236020c200020053602082000200636020420004180808080783602000c010b41002108024002400240200441c50020021b22094100480d0020032802242108024020090d00410121040c030b41002d008083d480001a200941002802f482d480001182808080000022040d01410121080b20082009419c88cc800010b980808000000b2004417e6a41003b00000b200420024188d5cc800020021b200910f497808000210a0240024020010d0041808080807821080c010b4100210202400240024020084100480d00024020080d00410121020c030b41002d008083d480001a200841002802f482d480001182808080000022020d01410121020b20022008419c88cc800010b980808000000b2002417e6a41003b00000b2008ad42208620022001200810f497808000ad84210b0b2005ad42217e220ca7210241002101024002400240200c422088a70d004100210d20024100480d00024020020d004101210e0c030b41002d008083d480001a200241002802f482d4800011828080800000220e0d01410121010b2001200241ccd6cc800010b980808000000b200e417e6a41003b00002005210d0b02402005450d0020062101200e21022005210403402003410c6a200110b093808000200241206a2003410c6a41206a2d00003a0000200241186a2003410c6a41186a290000370000200241106a2003410c6a41106a290000370000200241086a2003410c6a41086a2900003700002002200329000c370000200241216a2102200141086a21012004417f6a22040d000b0b2000200b37021c20002008360218200020053602142000200e3602102000200d36020c200020093602082000200a360204200020093602002007450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200341306a2480808080000bc20403057f017e027f23808080800041d0006b2201248080808000200141286a41dcd6cc8000410b41e7d6cc8000410f4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a4190d9cc800010cc93808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a4180dacc800010b5928080002001280214220842bbeefa98e893a7ad023703002008420437022c20084208370224200841b4dacc8000360220200841003602182008418185808000360210200842eef8e7b09dc4b6b53f3703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a4190d9cc800010cd9380800002402007418080808078470d004190dacc8000411141a4dacc800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41e0e0cc800010cc93808000200141106a410b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bc10403057f017e027f23808080800041d0006b2201248080808000200141286a41f6d6cc8000410941e7d6cc8000410f4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a4190d9cc800010cc93808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a4180dacc800010b5928080002001280214220842a691cddcd9a0e28da77f3703002008420437022c20084207370224200841bcdacc8000360220200841003602182008418285808000360210200842fb8491aeb8cedab7ba7f3703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a4190d9cc800010cd9380800002402007418080808078470d004190dacc8000411141a4dacc800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41e0e0cc800010cc938080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141e0e0cc800010cc938080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004120360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141e0e0cc800010cc938080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004104360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bbf0401047f2380808080004190026b220424808080800020044190d7cc8000411410e891808000200441a4d7cc8000410a2003410010e991808000024020022d00004101470d0020044188026a200241196a29000037030020044180026a200241116a290000370300200441f8016a200241096a290000370300200420022900013703f001200441aed7cc8000410a200441f0016a412010e9918080000b200441f0016a41186a2202200141186a290000370300200441f0016a41106a2203200141106a290000370300200441f0016a41086a2205200141086a290000370300200420012900003703f001200441b8d7cc8000410a200441f0016a412010e991808000200441d0016a41186a22014200370300200441d0016a41106a22064200370300200441d0016a41086a22074200370300200442003703d001200441c2d7cc80004109200441d0016a412010ea91808000200242003703002003420037030020054200370300200442003703f001200441cbd7cc8000410e200441f0016a412010ea91808000200041186a2001290300370000200041106a2006290300370000200041086a2007290300370000200020042903d001370000200020042903f001370020200041286a2005290300370000200041306a2003290300370000200041386a2002290300370000410021010340200420016a220041003a0000200041016a41003a0000200041026a41003a0000200041036a41003a0000200041046a41003a0000200141056a220141c801470d000b20044190026a2480808080000b970403037f017e047f23808080800041306b220224808080800020002802002103024002400240024020002802042204418308490d00418485808000ad4220862002410c6aad8421052001280204210620012802002101410021004101210703402002200320006a36020c20024101360224200241e4d7cc800036022020024101360214200241dcd7cc80003602102002410136021c200220053703282002200241286a36021820012006200241106a10b1818080000d04200041016a2200418004470d000b200141d9d7cc80004103200628020c118080808000000d03200320046a220841807c6a22030d01410021070c030b20040d01410021070c020b200841817c6a21040340200421002002200336020c20024101360224200241e4d7cc800036022020024101360214200241dcd7cc80003602102002410136021c200220053703282002200241286a36021820012006200241106a10b18180800022070d022000450d022000200020084722096a21042000210320090d000c020b0b418485808000ad4220862002410c6aad842105200128020421002001280200210603402002200336020c20024101360224200241e4d7cc800036022020024101360214200241dcd7cc80003602102002410136021c200220053703282002200241286a36021820062000200241106a10b18180800022070d01200341016a21032004417f6a22040d000b0b200241306a24808080800020070bc30403057f017e027f23808080800041d0006b2201248080808000200141286a41fcd7cc8000410e418ad8cc800041074104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a4190d9cc800010cc93808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a4180dacc800010b5928080002001280214220842aceff0b4f2bd8f8fe4003703002008420437022c20084207370224200841c3dacc800036022020084100360218200841858580800036021020084296e397c6bfa5aeee463703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a4190d9cc800010cd9380800002402007418080808078470d004190dacc8000411141a4dacc800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41e0e0cc800010cc938080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000b800601087f024002402002450d00200120026a2106200341016a210741002108200121090240034002400240200820044b0d0020092d0000210a0240024020080d00200a210b0c010b0240024020084101710d00200a210b2003210a0c010b2003200a20032d0000410874200a72413a6e220b413a6c6b3a00002007210a0b20084101460d00200320086a210c0340200a200a2d000041ff0171410874200b6a220b200b413a6e220b413a6c6b3a0000200a41016a220d200d2d0000410874200b6a220b200b413a6e220b413a6c6b3a0000200a41026a220a200c470d000b0b200b450d01034020042008460d04200320086a200b200b413a6e220a413a6c6b3a0000200841016a2108200b413a49210d200a210b200d0d020c000b0b2008200441d4dbcc8000109181808000000b200941016a22092006470d000b20082004200820044b1b210b0240034020012d00000d0120042008460d020240200b2008460d00200141016a2101200320086a41003a0000200841016a21082002417f6a22020d010c020b0b200b200441c4dbcc8000108281808000000b0240200820044b0d002008450d02200320086a210120054180016a21044100210b024003402003200b6a220d2d0000220a413a4f0d01200d2004200a6a2d00003a00002008200b41016a220b470d000b4101210b024020084101470d004100210a0c050b4100210a4100210b0240200841017622044101460d002008417f6a210d200441feffffff077121024100210b03402003200d6a220c2d00002109200c2003200b6a22042d00003a0000200420093a00002001200b417e736a220c2d00002109200c200441016a22042d00003a0000200420093a0000200d417e6a210d2002200b41026a220b470d000b0b02402008410271450d002003200b6a220d2d00002103200d2001200b417f736a220b2d00003a0000200b20033a00000b2008210b0c040b200a413a41b4dbcc8000108281808000000b2008200441a4dbcc8000109181808000000b4101210a0c010b4100210b4100210a0b2000200b3602042000200a3602000b1e00200128020041b0dccc8000410e200128020428020c118080808000000b900201037f23808080800041206b220324808080800041002104024002400240200241046a22054100480d00024020050d00410121040c030b41002d008083d480001a200541002802f482d480001182808080000022040d01410121040b2004200541a8ddcc800010b980808000000b2004417e6a41003b00000b20034100360214200320043602102003200536020c200320023602182003200341186a36021c2003411c6a2003410c6a10bb9380800002402002200328020c200328021422056b4d0d002003410c6a2005200210f491808000200328021421050b200328021020056a2001200210f4978080001a200041086a200520026a3602002000200329020c370200200341206a2480808080000bc70301047f2380808080004180016b220224808080800020002802002100024002400240200128020822034180808010710d0020034180808020710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff0171410174220541a1f1c180006a2d00003a00022002200541a0f1c180006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe017141a1f1c180006a2d00003a00000b2001410141014100200220036a410320036b10b28180800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000b950201027f23808080800041106b220224808080800020022000280200220041046a360204200128020041e8ddcc80004109200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41f1ddcc8000410b200041c8ddcc8000108a818080001a200241086a41fcddcc80004109200241046a41d8ddcc8000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bf10201047f23808080800041306b22022480808080004101210302400240200028020022002d00004101470d002002200041016a36020c2001280200220041b3decc800041042001280204220428020c2205118080808000000d010240024020012d000a418001710d0041012103200041df80c2800041012005118080808000000d032002410c6a200110bf938080000d0320012802002100200128020428020c21050c010b200041e080c2800041022005118080808000000d0241012103200241013a001f2002200436021420022000360210200241b480c280003602242002200129020837022820022002411f6a3602182002200241106a3602202002410c6a200241206a10bf938080000d02200228022041da80c280004102200228022428020c118080808000000d020b200041e280c28000410120051180808080000021030c010b200128020041afdecc80004104200128020428020c1180808080000021030b200241306a24808080800020030b140020012000280200200028020410b4818080000b940101037f2380808080004180016b220224808080800020002802002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101419cf1c180004102200220006a4180016a410020006b10b281808000210020024180016a24808080800020000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0bec0402047f047e23808080800041a0026b2202248080808000410021030240024002402000280204220441046a22054100480d0020002802002103024020050d00410121000c030b41002d008083d480001a200541002802f482d480001182808080000022000d01410121030b2003200541a8ddcc800010b980808000000b2000417e6a41003b00000b200241003602702002200036026c200220053602682002200436020020022002360224200241246a200241e8006a10bb93808000024020042002280268200228027022006b4d0d00200241e8006a2000200410f491808000200228027021000b200228026c20006a2003200410f4978080001a200228026c2105200228026821030240024002400240200020046a220441204b0d0020012005200410f4978080001a0c010b200241003a009502200241e8006a410041a00110fa978080001a2002410036029002200241013a009a022002418102360196022002420037038802200241203a009402200241246a200241e8006a2005200410d09380800020022d0064220441c1004f0d0120044120470d02200241186a200241246a41186a2900002206370300200241106a200241246a41106a2900002207370300200241086a200241246a41086a2900002208370300200220022900242209370300200141186a2006370000200141106a2007370000200141086a2008370000200120093700000b02402003450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241a0026a2480808080000f0b200441c0004190e9c18000109181808000000b4181e2cc80004124200241e0e1cc80004180e3cc800010a981808000000b830302037f017e23808080800041306b2205248080808000200541106a41086a2001280200220141086a220628020036020020064100360200200520012902003703102001428080808010370200200541086a200541106a20022003200410cf93808000410121040240024002402005280208410171450d00024020052802100d000c020b200528021422012001417e6a2f00006b41002802ec82d48000118180808000000c010b200528020c2103200528021021042005411c6a200528021422022005280218220610f680808000200528021c4101460d0102402001280200450d00200128020422072007417e6a2f00006b41002802ec82d48000118180808000000b200120063602082001200236020420012004360200410021040b2000200336020420002004360200200541306a2480808080000f0b2005200529022022084220883e022c200520083e022820052006360224200520023602202005200436021c41c8decc8000412b2005411c6a41b8decc800041d0dfcc800010a981808000000b900201027f23808080800041106b220224808080800020022000410c6a36020420012802004198decc8000410d200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41a5decc8000410520004188decc8000108a818080001a200241086a41aadecc80004105200241046a41b8ddcc8000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710bc30801087f23808080800041c0026b220324808080800002400240024020024120460d00200241c000460d0120004281808080f0003702000c020b200341026a2202200141026a2d00003a00002003410f6a22042001410f6a2900003700002003411f6a22052001411f6a2d00003a0000200320012f00003b0100200320012800033600032003200129000737000720032001290017370017200341e0006a2003410110d592808000200341a0016a41c0c7c88000200341e0006a10ba90808000200041c4006a200341a0016a10bb90808000200041e4006a200341a0016a41a00110f4978080001a2000413c6a20034198016a290000370000200041346a20034190016a2900003700002000412c6a20034188016a290000370000200041246a200341e0006a41206a2900003700002000411c6a200341f8006a290000370000200041146a200341f0006a2900003700002000410c6a200341e8006a2900003700002000200329006037000420004100360200200341003a0000200341003a0001200241003a0000200341003a0003200341003a0004200341003a0005200341003a0006200341003a0007200341003a0008200341003a0009200341003a000a200341003a000b200341003a000c200341003a000d200341003a000e200441003a0000200341003a0010200341003a0011200341003a0012200341003a0013200341003a0014200341003a0015200341003a0016200341003a0017200341003a0018200341003a0019200341003a001a200341003a001b200341003a001c200341003a001d200341003a001e200541003a00000c010b200341a0016a200110db92808000024020032d00a0010d0020004281808080e0003702000c010b200341226a200341a3016a2d00003a0000200341e0006a41086a2202200341a0016a41106a290000370300200341046a2204200341a0016a41206a2d00003a0000200320032f00a1013b0120200320032900a801370360200320032800bc0136020020032800b801210520032800a4012106200341206a41386a2207200141386a290000370100200341206a41306a2208200141306a290000370100200341206a41286a2209200141286a290000370100200341206a41206a220a2001290020370100200320063600232003412f6a200229030037000020032003290360370027200320053600372003413f6a20042d00003a00002003200328020036003b200341a0016a41c0c7c88000200341206a10ba90808000200041c4006a200341a0016a10bb90808000200041e4006a200341a0016a41a00110f4978080001a2000413c6a2007290100370000200041346a20082901003700002000412c6a2009290100370000200041246a200a2901003700002000411c6a200341386a290100370000200041146a200341206a41106a2901003700002000410c6a200341206a41086a29010037000020002003290120370004200041003602000b200341c0026a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010ae938080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810ae938080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000be90101067f23808080800041106b22022480808080002000280208210320002802042100410121042001280200220541e580c280004101200128020428020c2206118080808000002107200241003a0009200220073a0008200220013602040240024002402003450d0003402002200036020c200241046a2002410c6a4180d7cc8000108b818080001a200041016a21002003417f6a22030d000b4101210420022d00084101710d02200228020422002802002105200028020428020c21060c010b20070d010b200541e680c28000410120061180808080000021040b200241106a24808080800020040ba30201057f23808080800041106b220524808080800002402001280208220620026a220720064d0d002006210702402002200128020020066b4d0d002001200620024101410110ae93808000200128020821070b2001280204220820076a2109024020024102490d00200941002002417f6a220210fa978080001a2008200720026a22076a21090b200941003a0000200741016a21070b20012007360208024020072006490d00200541086a20032802002003280204200128020420066a200720066b200410bc9380800041012102024020052802084101710d0041002102200528020c220320066a220620074b0d00200120063602080b2000200336020420002002360200200541106a2480808080000f0b2006200741cce1cc8000109281808000000ba20807017f017e017f037e017f067e077f23808080800041a0026b220424808080800002400240024020013100ad0122054200520d00200442f1edf4f8a5a7fda7a57f370318200420012903980142f9c2f89b91a3b3f0db0085370338200420012903900142ebfa86dabfb5f6c11f853703302004200129038801429fd8f9d9c291da829b7f85370328200420012903800142d1859aeffacf9487d10085370320200420013301b00142abf0d3f4afeebcb73c85370310200420012903a00142bbceaaa6d8d0ebb3bb7f85370308200420013100ae0142108620012d00ac012206ad42ff01838420013100af014218868420013502a80142208684428892f39dffccf984ea00853703002002200320044200420020012d00b2014100410010d080808000200020063a004020002004290338370038200020042903303700302000200429032837002820002004290320370020200020042903183700182000200429031037001020002004290308370008200020042903003700000c010b20013502a801210720013100af01210820013100ae01210920012d00ac01210620012d00b201210a20012903a001210b20013301b001210c200129038001210d200129038801210e200129039001210f20012903980121102004200141800110f497808000220141b8016a2211201042f9c2f89b91a3b3f0db0085370300200141b0016a2212200f42ebfa86dabfb5f6c11f85370300200141a8016a2213200e429fd8f9d9c291da829b7f85370300200141a0016a2214200d42d1859aeffacf9487d1008537030020014198016a221542f1edf4f8a5a7fda7a57f37030020014190016a2216200c42abf0d3f4afeebcb73c8537030020014188016a2217200b42bbceaaa6d8d0ebb3bb7f85370300200142003703c801200142003703c001200141013a00d3012001200a3a00d201200120063a00d10120014180013a00d001200120054208862006ad42ff018384200942108684200842188684200742208684428892f39dffccf984ea00853703800120012002200310d180808000210220014198026a201129030037030020014190026a201229030037030020014188026a201329030037030020014180026a2014290300370300200141f8016a2015290300370300200141f0016a2016290300370300200141e8016a201729030037030020012001290380013703e00120012d00d00122034181014f0d0120022003200141e0016a20012903c00120012903c80120012d00d2014100410010d080808000200020012d00d1013a00402000200129039802370038200020012903900237003020002001290388023700282000200129038002370020200020012903f801370018200020012903f001370010200020012903e801370008200020012903e0013700000b200441a0026a2480808080000f0b20034180014180e9c18000109181808000000bb80201057f23808080800041206b22022480808080004101210302402001280200220441f0e1cc800041112001280204220528020c2206118080808000000d000240024020012d000a418001710d0041012103200441df80c2800041012006118080808000000d02200141dce1cc8000410210b4818080000d0220012802002104200128020428020c21060c010b200441e080c2800041022006118080808000000d0141012103200241013a000f2002200536020420022004360200200241b480c280003602142002200129020837021820022002410f6a36020820022002360210200241106a41dce1cc8000410210b4818080000d01200228021041da80c280004102200228021428020c118080808000000d010b200441e280c28000410120061180808080000021030b200241206a24808080800020030b4101017f024020002802002200417f460d0020002000280204417f6a220136020420010d0020002000417e6a2f00006b41002802ec82d48000118180808000000b0b100020004204370208200042003702000bb40403037f017e027f23808080800041306b2201248080808000200141246a41a4e4cc8000410810c3928080002001410036022020014280808080c00037021841002d008083d480001a0240024041c00041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220241908580800036023820024296e397c6bfa5aeee46370330200242aceff0b4f2bd8f8fe40037032820024101360224200241ade4cc80003602202002419185808000360218200242d687ccb79492eaa48f7f370310200242dec098f1dab59facaa7f37030820024101360204200241ace4cc80003602002002417e6a20033b0000200141086a200141186a220341086a2802003602002001200329020037030020012902282104200128022421052001410036021420014280808080800137020c2001410c6a41f0e3cc800010b5928080002001280210220342f4fae7f4a795a794ea003703002003410036023020034280808080c00037032820034100360220200341003602182003419285808000360210200342bffcb5cbdba18d9c3b3703082005418080808078460d01200128020c2106200020012903003702502000410236024c20002002360248200041023602442000200437023c200020053602382000410136020c2000200336020820002006360204200041003a0000200041d8006a200141086a280200360200200141306a2480808080000f0b410841c00010ab80808000000b4180e4cc800041114194e4cc800010a181808000000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419385808000360218200042de928bc5e9c09bf3f300370310200042f090dafacb8ae7c2f500370308200041023a00000bf50101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a22014190858080003602282001419185808000360210200142d687ccb79492eaa48f7f370308200142dec098f1dab59facaa7f37030020014296e397c6bfa5aeee46370320200142aceff0b4f2bd8f8fe400370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0b6700200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004108360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a00000bed0203027f017e037f23808080800041306b2201248080808000200141246a41fce4cc8000410c4188e5cc8000410c4104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41f0e3cc800010b5928080002001280210220542c2cc86d680f0aa9b7d3703002005420437022c20054225370224200541b2e4cc80003602202005410436021c200541aee4cc80003602182005419485808000360210200542e9f4bb85e4c495cfba7f37030802402004418080808078470d004180e4cc800041114194e4cc800010a181808000000b200128020c210520012802102106200020012903003702502000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200636020820002005360204200041003a0000200041d8006a2002280200360200200141306a2480808080000bb10504027f017e037f017e23808080800041d0006b2201248080808000200141306a4194e5cc800041144188e5cc8000410c4104410010c292808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a22044100360200200142808080808001370218200141186a41f0e3cc800010b592808000200128021c220542febac4ad81b6fafcb37f37030820054298848fa1dab08ba174370300200141c0006a41086a220641013602002005420437022c20054204370224200541dbe4cc80003602202005410436021c200541d7e4cc8000360218200541e980808000360210200120012902183703400240200628020022062001280240470d00200141c0006a41f0e3cc800010b5928080000b2001280244200641386c6a2205420437022c20054204370224200541dbe4cc80003602202005410b36021c200541dfe4cc8000360218200541e980808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba1743703002004200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41f0e3cc800010b5928080000b200128021c200641386c6a2205420437022c2005420c370224200541f0e4cc80003602202005410636021c200541eae4cc8000360218200541cf8180800036021020054299a499cca1fa87eb73370308200542a8b2cff08de2a4964a37030002402002418080808078470d004180e4cc800041114194e4cc800010a181808000000b200128021c210520012802182104200020012903083702502000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041003a00002000200641016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000bd10303047f017e077f23808080800041206b22032480808080000240024020012802082204200128021022056b2002490d0002400240024020020d0041002106420121070c010b200128020421084180800121094100210a4101210b4100210603402002200920022009491b220c200a6a21090240200c2006200a6b4d0d004100210d0240024020094100480d004100210d02402006450d002003200636021c2003200b3602144101210d0b2003200d360218200341086a41012009200341146a10e49380800020032802084101470d012003280210210e200328020c210d0b200d200e4190e6cc800010b980808000000b200328020c210b200921060b02400240200c200420056b4b0d002005200c6a220d2005490d04200d20044d0d01200d2004418486cb8000109181808000000b2006450d04200b200b417e6a2f00006b41002802ec82d48000118180808000000c040b200b200a6a200820056a200c10f4978080001a2001200d360210200d21052009210a2002200c6b22020d000b2006418080808078460d022009ad422086200bad8421070b20002007370204200020063602000c020b2005200d418486cb8000109581808000000b20004180808080783602000b200341206a2480808080000bb70301057f23808080800041d0006b220224808080800002400240024002402001428080808010540d004100210320024100360228200220014220883e022020022001a7220436021c41012105200220042004410172200441017122061b360224200241e8ecc1800041d4ecc1800020061b36021820024101360228200241246a210620042d00000e020201030b200242003702242002420137021c200241c0e8cc8000360218200241246a2106410121050c020b200241386a200241186a10f5918080000240200228023822030d000c020b200241106a200241c4006a2802003602002002200229023c3703080b410021050b2006200228021c200228022020022802182802101186808080000002402005450d002002410236021c200241d8e9cc80003602182002420237022420024129360234200241d4e8cc80003602302002418a84808000ad422086200241cf006aad843703402002419585808000ad422086200241306aad843703382002200241386a360220200241186a41e8e9cc800010fe80808000000b20002003360200200020022903083702042000410c6a200241106a280200360200200241d0006a2480808080000ba60301057f23808080800041e0006b22022480808080000240024020014280808080105a0d0041c0e8cc800021034101210441002105410021060c010b2001422088a7210641e8ecc18000210302402001a72204410171450d00200421050c010b2004410172210541d4ecc1800021030b2002410036023820022005360234200220063602302002200436022c20022003360228200241066a200241286a10e693808000200241346a200228022c2002280230200228022828021011868080800000024020022d00064102470d002002410236022c200241d8e9cc80003602282002420237023420024137360258200241f8e9cc80003602542002418a84808000ad422086200241df006aad843703482002419585808000ad422086200241d4006aad843703402002200241c0006a360230200241286a41e8e9cc800010fe80808000000b20002002290006370000200041206a200241066a41206a2f00003b0000200041186a200241066a41186a290000370000200041106a200241066a41106a290000370000200041086a200241066a41086a290000370000200241e0006a2480808080000bf00201057f23808080800041d0006b22022480808080000240024020014280808080105a0d0041c0e8cc800021034101210441002105410021060c010b2001422088a7210641e8ecc18000210302402001a72204410171450d00200421050c010b2004410172210541d4ecc1800021030b2002410036022820022005360224200220063602202002200436021c200220033602182002410c6a200241186a108494808000200241246a200228021c20022802202002280218280210118680808000000240200228020c418180808078470d002002410236021c200241d8e9cc80003602182002420237022420024129360248200241afeacc80003602442002418a84808000ad422086200241cf006aad843703382002419585808000ad422086200241c4006aad843703302002200241306a360220200241186a41e8e9cc800010fe80808000000b2000200229020c370200200041086a2002410c6a41086a280200360200200241d0006a2480808080000be30201057f23808080800041c0006b22022480808080000240024020014280808080105a0d0041c0e8cc800021034101210441002105410021060c010b2001422088a7210641e8ecc18000210302402001a72204410171450d00200421050c010b2004410172210541d4ecc1800021030b2002410036021820022005360214200220063602102002200436020c200220033602082002200241086a1083948080002002280204210320022802002104200241146a200228020c2002280210200228020828021011868080800000024020044102470d002002410236020c200241d8e9cc80003602082002420237021420024119360238200241d8eacc80003602342002418a84808000ad4220862002413f6aad843703282002419585808000ad422086200241346aad843703202002200241206a360210200241086a41e8e9cc800010fe80808000000b2000200436020020002003360204200241c0006a2480808080000be30201057f23808080800041c0006b22022480808080000240024020014280808080105a0d0041c0e8cc800021034101210441002105410021060c010b2001422088a7210641e8ecc18000210302402001a72204410171450d00200421050c010b2004410172210541d4ecc1800021030b2002410036021820022005360214200220063602102002200436020c200220033602082002200241086a108b948080002002280204210320022802002104200241146a200228020c2002280210200228020828021011868080800000024020044102470d002002410236020c200241d8e9cc80003602082002420237021420024118360238200241f1eacc80003602342002418a84808000ad4220862002413f6aad843703282002419585808000ad422086200241346aad843703202002200241206a360210200241086a41e8e9cc800010fe80808000000b2000200436020020002003360204200241c0006a2480808080000b02000b22002000410036020c2000200336020820002002360204200041c0e8cc80003602000b040041000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42187e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441186c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10e49380800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0301047f0240024002400240024002402001280208220220012802102203460d00200341016a2204450d02200220044f0d0120042002418486cb8000109181808000000b200041023a00000f0b2001280204210520012004360210024002400240024002400240200520036a2d00000e020102000b200041023a00000f0b200220046b4121490d01200341226a21032004415e4b0d05200320024d0d0220032002418486cb8000109181808000000b024020022004460d00200341026a21032004417f460d06200320024b0d0720012003360210200520046a2d000022014103490d030b200041023a00000f0b200041023a00000f0b20012003360210200041003a00002000200520046a2201290000370001200041096a200141086a290000370000200041116a200141106a290000370000200041196a200141186a290000370000200041216a200141206a2d00003a00000f0b200020013a0001200041013a00000f0b417f2004418486cb8000109581808000000b20042003418486cb8000109581808000000b417f2003418486cb8000109581808000000b20032002418486cb8000109181808000000b190020002002ad4220862001ad8420031081808080004101460b140020002001200210828080800010dd938080000ba90201027f23808080800041206b220324808080800020032001360204200341086a41086a200241086a28020036020020032002290200370308200341146a200341086a10829480800020032802142104200341046a200335021c42208620032802182201ad84108380808000210202402004450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b20002002290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a29000037000020022002417e6a2f00006b41002802ec82d48000118180808000000240200328020841808080807872418080808078460d00200328020c22022002417e6a2f00006b41002802ec82d48000118180808000000b200341206a2480808080000b190020002002ad4220862001ad8420031084808080004101460b870401067f024002402001280208220220012802102203460d00024002400240024002400240200341016a2204450d0020022004490d0120012802042105200120043602100240024002400240024002400240200520036a2d000022064103710e0400010203000b20064102762106410021070c0d0b41012107024020022004470d000c0d0b200341026a21032004417f460d07200320024d0d0220032002418486cb8000109181808000000b200220046b4103490d0a200341046a21032004417c4b0d07200320024d0d0220032002418486cb8000109181808000000b4101210720064104490d020c0a0b200120033602100240200520046a2d000022010d000c0a0b20014108742006724102762106410021070c090b20012003360210200520046a22012f0000200141026a2d0000411074722201418002492107200141087420067241027621060c080b200220046b4104490d07200341056a21032004417b4b0d04200320024b0d0520012003360210200520046a28000022064180808080044921070c070b417f2004418486cb8000109581808000000b20042002418486cb8000109181808000000b417f2003418486cb8000109581808000000b20042003418486cb8000109581808000000b20042003418486cb8000109581808000000b20032002418486cb8000109181808000000b410121070b20002006360204200020073602000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000bf30201057f23808080800041206b2202248080808000410021030240024020012802082204410c6c220541046a22064100480d002001280204210341002d008083d480001a200641002802f482d480001182808080000022010d01410121030b2003200641f0ebcc800010b980808000000b200220013602102001417e6a41003b0000200241003602142002200636020c200220043602182002200241186a36021c2002411c6a2002410c6a10ec9380800002402004450d00200341086a210103402001417c6a28020021032002200128020022063602182002200241186a36021c2002411c6a2002410c6a10ec9380800002402006200228020c200228021422046b4d0d002002410c6a2004200610f491808000200228021421040b200228021020046a2003200610f4978080001a2002200420066a3602142001410c6a2101200541746a22050d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b1c002001ad4220862000ad842003ad4220862002ad841085808080000bf80102047f017e23808080800041106b22072480808080004100210841002d008083d480001a024041054101200541017122091b220a41002802f482d48000118280808000002205450d002005417e6a220a41003b0000428080808010210b02402009450d00200520063600014280808080d000210b410121080b200520083a00002002ad4220862001ad842004ad4220862003ad84200b2005ad84108680808000210b2005200a2f00006b41002802ec82d4800011818080800000200741086a200b10e093808000200728020c21052000200728020836020020002005360204200741106a2480808080000f0b4101200a10ab80808000000b1f002001ad4220862000ad842003ad4220862002ad841087808080004101460b240020002002ad4220862001ad842004ad4220862003ad8410888080800010de938080000b240020002002ad4220862001ad842004ad4220862003ad8410898080800010de938080000b6901017f23808080800041106b2208248080808000200841086a2002ad4220862001ad842004ad4220862003ad842006ad4220862005ad842007108a8080800010df93808000200828020c21062000200828020836020020002006360204200841106a2480808080000b4501017e200041012002ad4220862001ad842003108b808080002204a720044280808080105422021b360204200041002004422088a720021b2202360208200020023602000b26002001ad4220862000ad842003ad4220862002ad842005ad4220862004ad84108c808080000bee0102047f017e23808080800041106b22052480808080004100210641002d008083d480001a024041054101200341017122071b220841002802f482d48000118280808000002203450d002003417e6a220841003b0000428080808010210902402007450d00200320043600014280808080d0002109410121060b200320063a00002002ad4220862001ad8420092003ad84108d808080002109200320082f00006b41002802ec82d4800011818080800000200541086a200910e093808000200528020c21032000200528020836020020002003360204200541106a2480808080000f0b4101200810ab80808000000b12002001ad4220862000ad84108e808080000b12002001ad4220862000ad84108f808080000b1a0020002002ad4220862001ad8410908080800010de938080000b470020002002ad4220862001ad841091808080002202290000370000200041086a200241086a29000037000020022002417e6a2f00006b41002802ec82d48000118180808000000b670020002002ad4220862001ad841092808080002202290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a29000037000020022002417e6a2f00006b41002802ec82d48000118180808000000b670020002002ad4220862001ad841093808080002202290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a29000037000020022002417e6a2f00006b41002802ec82d48000118180808000000b470020002002ad4220862001ad841094808080002202290000370000200041086a200241086a29000037000020022002417e6a2f00006b41002802ec82d48000118180808000000b670020002002ad4220862001ad841095808080002202290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a29000037000020022002417e6a2f00006b41002802ec82d48000118180808000000b370020002002ad4220862001ad84109680808000220229000037000020022002417e6a2f00006b41002802ec82d48000118180808000000b12002001ad4220862000ad841097808080000b1c002001ad4220862000ad842003ad4220862002ad841098808080000bb30301057f23808080800041206b220224808080800041002103024002400240024002400240024041012001280208220441056a20012802002205418080808078461b22064100480d002006450d0141002d008083d480001a200641002802f482d480001182808080000022030d02410121030b2003200641e8eccc800010b980808000000b20024100360214200242808080801037020c2002410c6a4100410110f49180800020022802102103200228021421062005418080808078470d010c030b2003417e6a41003b0000200220033602102002200636020c2005418080808078460d01410021060b200320066a41013a00002002200641016a36021420012802042103200220043602182002200241186a36021c2002411c6a2002410c6a10ec9380800002402004200228020c200228021422066b4d0d002002410c6a2006200410f491808000200228021421060b200228021020066a2003200410f4978080001a2002200620046a3602140c020b410021060b200320066a41003a00002002200641016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000bec0101067f410221020240024002400240024002402001280208220320012802102204470d000c010b200441016a2205450d0120032005490d02200128020421062001200536021002400240200620046a2d00000e020001020b410021020c010b200320056b4104490d00200441056a21072005417b4b0d03200720034b0d0420012007360210200620056a2800002107410121020b20002007360204200020023602000f0b417f2005418486cb8000109581808000000b20052003418486cb8000109181808000000b20052007418486cb8000109581808000000b20072003418486cb8000109181808000000b860201047f23808080800041206b220224808080800002400240024002402001280208220320012802102204460d00200441016a2205450d02200520034b0d032001280204210320012005360210024002400240200320046a2d00000e020102000b20004181808080783602000c030b20004180808080783602000c020b200241086a200110eb9380800020022802084101710d00200241146a2001200228020c10db9380800020022802142201418080808078460d0020002002290218370204200020013602000c010b20004181808080783602000b200241206a2480808080000f0b417f2005418486cb8000109581808000000b20052003418486cb8000109181808000000b2200200041ff01712002ad4220862001ad842004ad4220862003ad841099808080000bdb0102027f017e23808080800041d0006b22002480808080000240109a80808000220141ff01714106490d002000410236023c200041a4e8cc800036023820004103360244200041a6e8cc80003602402000410436020c20004194e7cc8000360208200042033702142000419585808000ad4220862202200041c8006aad8437033020002002200041c0006aad8437032820002002200041386aad843703202000411736024c200041a9e8cc80003602482000200041206a360210200041086a4194e8cc800010fe80808000000b200041d0006a24808080800020010b140020012000280200200028020410b4818080000b0f002000280200200110a2818080000bdb0101027f200128020c21020240024002400240024020012802040e020001020b20020d014101210341002101410121020c030b2002450d010b2000200110b2808080000f0b41002103024002402001280200220228020422014100480d0020022802002103024020010d0041012102410021010c030b41002d008083d480001a200141002802f482d480001182808080000022020d01410121030b2003200141a0efcc800010b980808000000b2002417e6a41003b00000b20022003200110f49780800021022000200136020820002002360204200020013602000b870101017f23808080800041306b22012480808080002001200036020020014101360214200141b0efcc80003602102001420137021c200141b485808000ad4220862001ad843703282001200141286a360218200141046a200141106a108994808000410041b8efcc800041072001280208200128020c41002802fc81d4800011878080800000000bb70201067f41022102024002402001280208220320012802102204470d000c010b024002400240200441016a2205450d0020032005490d01200128020421062001200536021002400240200620046a2d00000e020001050b200320056b4104490d04200441056a2107024002402005417b4b0d00200720034b0d01410021020c050b20052007418486cb8000109581808000000b20072003418486cb8000109181808000000b200320056b4104490d03200441056a2107024002402005417b4b0d00200720034b0d01410121020c040b20052007418486cb8000109581808000000b20072003418486cb8000109181808000000b417f2005418486cb8000109581808000000b20052003418486cb8000109181808000000b20012007360210200620056a28000021070b20002007360204200020023602000b49002001ad4220862000ad84200235020842208620022802042201ad84109b8080800002402002280200450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b12002001ad4220862000ad84109c808080000bee0102047f017e23808080800041106b22052480808080004100210641002d008083d480001a024041054101200341017122071b220841002802f482d48000118280808000002203450d002003417e6a220841003b0000428080808010210902402007450d00200320043600014280808080d0002109410121060b200320063a00002002ad4220862001ad8420092003ad84109d808080002109200320082f00006b41002802ec82d4800011818080800000200541086a200910e093808000200528020c21032000200528020836020020002003360204200541106a2480808080000f0b4101200810ab80808000000b0800109e808080000b15002001ad4220862000ad84109f808080004101460b1a0020002002ad4220862001ad8410a08080800010dc938080000b1a0020002002ad4220862001ad8410a18080800010de938080000b5f01017f23808080800041106b2206248080808000200641086a2002ad4220862001ad842004ad4220862003ad84200510a28080800010df93808000200628020c21042000200628020836020020002004360204200641106a2480808080000b080010a3808080000b3b01017e20004101200110a4808080002202a720024280808080105422011b360204200041002002422088a720011b2201360208200020013602000b1c002001ad4220862000ad842003ad4220862002ad8410a5808080000b080010a6808080000bcf0301057f23808080800041106b2203248080808000200341046a200110ed9380800020032802042104200335020c42208620032802082205ad84200210a780808000210202402004450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002002290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a2900003700004100210020022002417e6a2f00006b41002802ec82d480001181808080000020012802042106024020012802082202450d0020024101712107024020024101460d002002417e7121042006210241002100034002402002280200450d00200241046a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402002410c6a280200450d00200241106a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200241186a21022004200041026a2200470d000b0b2007450d0020062000410c6c6a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402001280200450d0020062006417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000b0a00200010a8808080000b0a00200010a9808080000bbb03010e7f23808080800041c0006b2106024020012802042207200128020c2208460d000340200741046a28020021092007280200210a200641286a41106a220b200741186a290300370300200641286a41086a220c200741106a2903003703002006200741086a290300370328200641186a41086a220d200741286a2802003602002006200741206a290300370318200641086a41086a220e200741346a28020036020020062007412c6a2902003703080240200741386a280200220f4102490d00200741c8006a2802002110200741c4006a2802002111200741c0006a28020021122007413c6a28020021130b2003200a360200200341046a2009360200200341086a2006290328370300200341206a20062903183703002003412c6a2006290308370200200341c8006a2010360200200341c4006a2011360200200341c0006a20123602002003413c6a2013360200200341386a200f360200200341106a200c290300370300200341186a200b290300370300200341286a200d280200360200200341346a200e280200360200200341d0006a2103200741d0006a22072008470d000b200120073602040b20002003360204200020023602000bf80701067f02402000280280012201418080808078460d00200028028401210202402000280288012203450d0020022104034002402004280200450d00200441046a280200450d00200441086a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200441dc006a280200450d00200441e0006a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b0240200441e8006a280200450d00200441ec006a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b200441f8006a21042003417f6a22030d000b0b2001450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280210450d00200041186a10af948080000b20002802980121010240200028029c012203450d00200141d0006a210403400240200441706a280200450d00200441746a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402004417c6a280200450d00200428020022052005417e6a2f00006b41002802ec82d48000118180808000000b200441f0006a21042003417f6a22030d000b0b0240200028029401450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b02402000280238450d00200041c0006a10af948080000b20002802a4012101024020002802a8012203450d00200141306a210403400240200441706a280200450d00200441746a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402004417c6a280200450d00200428020022052005417e6a2f00006b41002802ec82d48000118180808000000b200441d0006a21042003417f6a22030d000b0b024020002802a001450d0020012001417e6a2f00006b41002802ec82d48000118180808000000b02402000280260450d00200041e8006a10af948080000b20002802b0012102024020002802b4012205450d002005410171210641002103024020054101460d00200241d4006a21042005417e71210141002103034002402004414c6a280200450d00200441506a28020022052005417e6a2f00006b41002802ec82d48000118180808000000b02402004417c6a280200450d00200428020022052005417e6a2f00006b41002802ec82d48000118180808000000b200441e0006a21042001200341026a2203470d000b0b2006450d002002200341306c6a2204280220450d00200441206a28020422042004417e6a2f00006b41002802ec82d48000118180808000000b024020002802ac01450d0020022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802b801450d0020002802bc0122042004417e6a2f00006b41002802ec82d48000118180808000000b0bb90201067f200028020c210120004280808080c0003702082000280204210220004284808080c000370200200120026b41386e2103024020012002460d0041002104034002402002200441386c6a220528021c2201450d00200528021841306a210003400240200041706a280200450d00200041746a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041d0006a21002001417f6a22010d000b0b02402005280214450d00200528021822002000417e6a2f00006b41002802ec82d48000118180808000000b02402005280220450d00200528022422002000417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b0bc80201077f200028020c2201200028020422026b41386e2103024020012002460d0041002104034002402002200441386c6a220528021c2206450d00200528021841306a210103400240200141706a280200450d00200141746a28020022072007417e6a2f00006b41002802ec82d48000118180808000000b02402001417c6a280200450d00200128020022072007417e6a2f00006b41002802ec82d48000118180808000000b200141d0006a21012006417f6a22060d000b0b02402005280214450d00200528021822012001417e6a2f00006b41002802ec82d48000118180808000000b02402005280220450d00200528022422012001417e6a2f00006b41002802ec82d48000118180808000000b200441016a22042003470d000b0b02402000280208450d00200028020022012001417e6a2f00006b41002802ec82d48000118180808000000b0b8e1202117f037e2380808080004180016b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01b6014102746a2802c40121042006417f6a22060d000b0b20054104490d000340200420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c40121042007417c6a22070d000b0b200341086a22082001410d6a2900003703002003410f6a2209200141146a28000036000020032001290005370300200341186a41036a210a2001280224210b2001280220210c200128021c210d2001280218210e20012d0004210f20012802002110024003400240024020104102460d00200341e8006a410f6a2009280000360000200341e8006a41086a200829030037030020032003290300370368200f211120104101710d010c030b200d200b460d02200d2d00002111200341e8006a410f6a200d41106a280000360000200341e8006a41086a200d41096a2900003703002003200d290001370368200d41146a210d0b200341d0006a410f6a2206200341e8006a410f6a280000360000200341d0006a41086a2201200341e8006a41086a29030037030020032003290368370350410021100240200d200b460d00200d2d0000210f2009200d41106a2800003600002008200d41096a2900003703002003200d290001370300200d41146a210d0240200f201141ff01712205460d00410121100c010b2001200829030037030020062009280000360000200320032903003703502011210f200d200b460d0002400340200d22072d0000210f2009200741106a2800003600002008200741096a290000370300410121102003200741016a2900003703002005200f470d01200120082903003703002006200928000036000020032003290300370350200741146a220d200b470d000b410021102011210f0b200741146a210d0b200341186a410f6a2006280000360000200341186a41086a200129030037030020032003290350370318200341306a41086a2206200a41086a22122900003703002003200a290000370330024002400240024002400240024020042f01b6012207410b490d004100211302400340024020042802b00122040d00200028020421062000280200210741002d008083d480001a41f40141002802f482d48000118280808000002204450d042004200441036a417c7120046b22016a220420073602c401200441003b01b601200441003602b0012004417e6a20013b00002000200641016a221336020420002004360200200741003b01b401200720043602b0010c020b201341016a211320042f01b601410a4b0d000b0b41002d008083d480001a41c40141002802f482d48000118280808000002207450d022007200741036a417c7120076b22016a220641003b01b601200641003602b0012006417e6a20013b00002013417f6a2201450d04034041002d008083d480001a41f40141002802f482d48000118280808000002207450d042007200741036a417c7120076b22056a220720063602c401200741003b01b601200741003602b0012007417e6a20053b0000200641003b01b401200620073602b001200721062001417f6a2201450d050c000b0b200420076a20113a00b8012004200741016a3b01b601200420074104746a220741086a2006290300370200200720032903303702000c040b410441f40110ab80808000000b410441c40110ab80808000000b410441f40110ab80808000000b20042f01b6012207410b4f0d01200420076a20113a00b8012004200741016a22013b01b601200420074104746a2207200a290000370000200741086a2012290000370000200420014102746a20063602c401200620013b01b401200620043602b0012013450d0002400240201341037122060d00201321070c010b2013210703402007417f6a2107200420042f01b6014102746a2802c40121042006417f6a22060d000b0b20134104490d000340200420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c401220420042f01b6014102746a2802c40121042007417c6a22070d000b0b2002200228020041016a3602000c010b0b41e8f0cc800041204188f1cc8000108081808000000b0240200c450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b02402000280204220d450d00200028020021060340024002400240024020062f01b6012204450d0020062004417f6a220f4102746a22072802c80122042f01b601220141054f0d03410520016b41ffff0371220520072802c40122132f01b60122074b0d012013200720056b22083b01b601200441053b01b601200441b8016a220b20056a200b200110f9978080001a200420054104746a2004200141047410f9978080001a2007200841016a22106b22092005417f6a470d02200b201341b8016a221120106a200910f497808000210b2004201320104104746a2009410474220a10f4978080002107200341e8006a41086a201320084104746a220241086a29020022143703002006200f6a22122d00b8012100200229020021152012201120086a2d00003a00b801200320153703682006200f4104746a2206290200211620062015370200200641086a2206290200211520062014370200200b20096a20003a00002007200a6a220641086a201537020020062016370200200d4101460d03200741c4016a2206200541027422056a2006200141027441046a10f9978080001a2006201320104102746a41c4016a200510f4978080001a20072802c401220641003b01b401200620073602b00120072802c801220641013b01b401200620073602b00120072802cc01220641023b01b401200620073602b00120072802d001220641033b01b401200620073602b00120072802d401220641043b01b401200620073602b00120072802d801220641053b01b401200620073602b0010c030b41bfefcc8000411941d8f0cc8000108081808000000b41d0f1cc8000412741f8f1cc8000108081808000000b4198f1cc8000412841c0f1cc8000108081808000000b20042106200d417f6a220d0d000b0b20034180016a2480808080000bd412040f7f017e037f017e23808080800041306b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f018a014102746a2802980121042006417f6a22060d000b0b20054104490d000340200420042f018a014102746a28029801220420042f018a014102746a28029801220420042f018a014102746a28029801220420042f018a014102746a2802980121042007417c6a22070d000b0b200128021c210820012802182109200128021421052001280210210a200128020c210b2001280208210c2001280204210d200128020021010340200f210e20112110200bad422086200cad84211203400240024002400240200d418180808078460d0020052107200d2106200121110c010b024020052008470d004180808080782113200341106a2106418180808078210d20102111200e210f0c020b200541106a21072005290208211220052802042106200528020021110b418080808078211302402006418080808078470d00200341106a2106418180808078210d2010211120072105200e210f0c010b2012a7210f0240024020072008470d00418080808078210d200721050c010b200741106a210520072802002101200728020c210b2007280208210c2007280204220d418080808078460d00201141ff0171200141ff0171460d020b200320063602102012422088a721132003410c6a21060b20062013360200024020032802102214418080808078460d00200328020c2115024002400240024002400240024020042f018a012207410b490d0041002110024003400240200428020022040d00200028020421062000280200210741002d008083d480001a41c80141002802f482d48000118280808000002204450d042004200441036a417c7120046b22136a2204200736029801200441003b018a01200441003602002004417e6a20133b00002000200641016a221036020420002004360200200741003b018801200720043602000c020b201041016a211020042f018a01410a4b0d000b0b41002d008083d480001a41980141002802f482d48000118280808000002207450d022007200741036a417c7120076b22136a220641003b018a01200641003602002006417e6a20133b00002010417f6a2213450d04034041002d008083d480001a41c80141002802f482d48000118280808000002207450d042007200741036a417c7120076b220e6a2207200636029801200741003b018a01200741003602002007417e6a200e3b0000200641003b01880120062007360200200721062013417f6a2213450d050c000b0b200420076a20113a008c012004200741016a3b018a0120042007410c6c6a2207200f3602082007201536020c200720143602040c040b410441c80110ab80808000000b410441980110ab80808000000b410441c80110ab80808000000b20042f018a012207410b4f0d01200420076a20113a008c012004200741016a22133b018a0120042007410c6c6a2207201536020c200720143602042007200f360208200420134102746a200636029801200620133b018801200620043602002010450d0002400240201041037122060d00201021070c010b2010210703402007417f6a2107200420042f018a014102746a2802980121042006417f6a22060d000b0b20104104490d000340200420042f018a014102746a28029801220420042f018a014102746a28029801220420042f018a014102746a28029801220420042f018a014102746a2802980121042007417c6a22070d000b0b2002200228020041016a3602000c040b41e8f0cc800041204188f1cc8000108081808000000b024020082005460d00410021040240200820056b220f41047622064101460d00200541186a2107200641feffffff0071210141002104034002402007416c6a280200450d00200741706a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402007417c6a280200450d00200728020022062006417e6a2f00006b41002802ec82d48000118180808000000b200741206a21072001200441026a2204470d000b0b200f411071450d00200520044104746a2207280204450d00200741046a28020422072007417e6a2f00006b41002802ec82d48000118180808000000b02402009450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b0240200d418280808078480d00200d450d00200c200c417e6a2f00006b41002802ec82d48000118180808000000b02402000280204220d450d00200028020021040340024002400240024020042f018a012207450d0020042007417f6a220f4102746a220128029c0122072f018a01220641054f0d03410520066b41ffff0371220520012802980122012f018a0122134b0d012001201320056b22113b018a01200741053b018a012007418c016a221020056a2010200610f9978080001a200741046a22082005410c6c6a20082006410c6c10f9978080001a2013201141016a220e6b22132005417f6a470d0220102001418c016a220c200e6a201310f49780800021102008200141046a220b200e410c6c6a2013410c6c220210f4978080002108200341106a41086a200b2011410c6c6a220b41086a2802002214360200200b29020021122004200f6a220b2d008c012115200b200c20116a2d00003a008c01200320123703102004200f410c6c6a22042902042116200420123702042004410c6a2204280200210f20042014360200201020136a20153a0000200820026a220441086a200f36020020042016370200200d4101460d0320074198016a2204200541027422056a2004200641027441046a10f9978080001a20042001200e4102746a4198016a200510f4978080001a200728029801220441003b01880120042007360200200728029c01220441013b0188012004200736020020072802a001220441023b0188012004200736020020072802a401220441033b0188012004200736020020072802a801220441043b0188012004200736020020072802ac01220441053b018801200420073602000c030b41bfefcc8000411941d8f0cc8000108081808000000b41d0f1cc8000412741f8f1cc8000108081808000000b4198f1cc8000412841c0f1cc8000108081808000000b20072104200d417f6a220d0d000b0b200341306a2480808080000f0b200729020821122006450d00200f200f417e6a2f00006b41002802ec82d48000118180808000000c000b0b0bd104010a7f23808080800041f0016b22032480808080002001280208220441f8006c220541e8006e2106200128020021070240024020012802042208200128020c2209470d002007210a0c010b200341106a210b2007210a0340200b200841f80010f497808000210c2003200a36020c2003200736020820034188016a200c10b294808000200a20034188016a41e80010f49780800041e8006a210a200841f8006a22082009470d000b0b200142888080808001370200200142808080808001370208200920086b41f8006e210c024020092008460d00034002402008280200450d00200841046a280200450d00200841086a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b0240200841dc006a280200450d00200841e0006a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b0240200841e8006a280200450d00200841ec006a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b200841f8006a2108200c417f6a220c0d000b0b2007210802402004450d00200721082005200641e8006c220c460d0002400240200541e7004b0d00410821082005450d020c010b0240200c41002802f482d48000118280808000002208450d002008200841076a41787120086b22096a2208417e6a20093b000020082007200c10f4978080001a0c010b4108200c10ab80808000000b20072007417e6a2f00006b41002802ec82d48000118180808000000b20002008360204200020063602002000200a20076b41e8006e360208200341f0016a2480808080000b9e0301067f23808080800041e0026b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d00200521080c010b20052108034020034180016a200641e00110f4978080001a200320034180016a10cb948080002008200341800110f4978080004180016a2108200641e0016a22062007470d000b0b200142888080808001370200200142808080808001370208200720066b41e0016e2101024020072006460d0003402006109c94808000200641e0016a21062001417f6a22010d000b0b200441e0016c21062005210102402004450d00200521012006200641807f712207460d000240024020070d00410821012006450d020c010b0240200741002802f482d48000118280808000002201450d002001200141076a41787120016b22046a2201417e6a20043b000020012005200710f4978080001a0c010b4108200710ab80808000000b20052005417e6a2f00006b41002802ec82d48000118180808000000b20002001360204200020064107763602002000200820056b410776360208200341e0026a2480808080000b800401077f23808080800041106b220324808080800020012802082104200341086a2001200128020022052005200141106a200128020c109b9480800020012802042106200328020c2107200142888080808001370200200128020c21082001410836020c20014100360208200820066b41d0006e2109200720056b41d0006e21070240024020082006460d00200641306a210603400240200641706a280200450d00200641746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402006417c6a280200450d00200628020022082008417e6a2f00006b41002802ec82d48000118180808000000b200641d0006a21062009417f6a22090d000b200020073602082000200536020420002004360200200128020c2208200128020422066b41d0006e210920082006460d01200641306a210603400240200641706a280200450d00200641746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402006417c6a280200450d00200628020022082008417e6a2f00006b41002802ec82d48000118180808000000b200641d0006a21062009417f6a22090d000c020b0b2000200736020820002005360204200020043602000b02402001280208450d00200128020022062006417e6a2f00006b41002802ec82d48000118180808000000b200341106a2480808080000b9e0403097f017e027f23808080800041c0006b220324808080800020012802082104200128020022052106024020012802042207200128020c2208460d002003411c6a21092005210603402001200741386a220a360204200341086a220b200741286a2802003602002003200741206a2902003703002007412c6a290200210c200741146a280200210d2003200741186a280200220e2007411c6a28020041d0006c6a36023c2003200d3602382003200e3602342003200e360230200341106a200341306a200310a594808000200341106a41186a2207200c370200200941086a200b28020036020020092003290300370200200641186a2007290200370200200641106a200341106a41106a290200370200200641086a200341106a41086a29020037020020062003290210370200200641206a2106200a2107200a2008470d000b0b200441386c21072001109d948080002005210a02402004450d002005210a20072007416071220e460d0002400240200e0d004104210a2007450d020c010b0240200e41002802f482d4800011828080800000220a450d00200a200a41036a417c71200a6b22096a220a417e6a20093b0000200a2005200e10f4978080001a0c010b4104200e10ab80808000000b20052005417e6a2f00006b41002802ec82d48000118180808000000b2000200a360204200020074105763602002000200620056b4105763602082001109e94808000200341c0006a2480808080000bec0404097f027e017f037e23808080800041306b22032480808080002001280208220441d0006c220541386e2106200128020021070240024020012802042208200128020c2209470d002007210a0c010b2007210a0340200841286a280200210b200841206a290300210c2008290300210d200841346a280200210e200841186a290300210f200841106a2903002110200841086a2903002111200a412c6a2008412c6a290200370200200a200d370300200a41086a2011370300200a41106a2010370300200a41186a200f370300200a41206a200c370300200a41286a200b360200200a41346a200e360200200a41386a210a200841d0006a22082009470d000b0b200142888080808001370200200142808080808001370208200920086b41d0006e210b024020092008460d00200841306a210803400240200841706a280200450d00200841746a280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b02402008417c6a280200450d002008280200220e200e417e6a2f00006b41002802ec82d48000118180808000000b200841d0006a2108200b417f6a220b0d000b0b2007210802402004450d00200721082005200641386c220b460d0002400240200541374b0d00410821082005450d020c010b0240200b41002802f482d48000118280808000002208450d002008200841076a41787120086b220e6a2208417e6a200e3b000020082007200b10f4978080001a0c010b4108200b10ab80808000000b20072007417e6a2f00006b41002802ec82d48000118180808000000b20002008360204200020063602002000200a20076b41386e360208200341306a2480808080000bb90301097f2380808080004180026b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d0020062108200521090c010b200341106a210a4100210b0340200a2006200b6a41f80010f49780800021082003200536020820032005200b6a220936020c20034188016a200810c794808000200920034188016a41f80010f4978080001a2006200b41f8006a220b6a22082007470d000b2005200b6a21090b200142888080808001370200200142808080808001370208200720086b41f8006e210b024020072008460d00034002402008280200450d00200841046a280200450d00200841086a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200841dc006a280200450d00200841e0006a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200841e8006a280200450d00200841ec006a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200841f8006a2108200b417f6a220b0d000b0b20002005360204200020043602002000200920056b41f8006e36020820034180026a2480808080000b810301097f23808080800041f0016b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d0020062108200521090c010b200341106a210a4100210b0340200a2006200b6a41f00010f49780800021082003200536020820032005200b6a220936020c20034180016a200810c894808000200920034180016a41f00010f4978080001a2006200b41f0006a220b6a22082007470d000b2005200b6a21090b200142888080808001370200200142808080808001370208200720086b41f0006e2106024020072008460d00200841d0006a210b03400240200b41706a280200450d00200b41746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b0240200b417c6a280200450d00200b28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200b41f0006a210b2006417f6a22060d000b0b20002005360204200020043602002000200920056b41f0006e360208200341f0016a2480808080000bb40301087f2380808080004180016b220324808080800020012802082104200128020022052106024020012802042207200128020c2208460d00200341086a41086a21064100210903402006200720096a220a2902003702002001200a41386a360204200641306a200a41306a290200370200200641286a200a41286a290200370200200641206a200a41206a290200370200200641186a200a41186a290200370200200641106a200a41106a290200370200200641086a200a41086a290200370200200320053602082003200520096a220a36020c200341c8006a200610c594808000200a41306a200341c8006a41306a290200370200200a41286a200341c8006a41286a290200370200200a41206a200341c8006a41206a290200370200200a41186a200341c8006a41186a290200370200200a41106a200341c8006a41106a290200370200200a41086a200341c8006a41086a290200370200200a20032902483702002007200941386a22096a2008470d000b200520096a21060b2001109d9480800020002005360204200020043602002000200620056b41386e3602082001109e9480800020034180016a2480808080000bba0506087f017e037f017e017f017e23808080800041c0006b22032480808080002001280208220441d0006c220541386e2106200128020021070240024020012802042208200128020c2209470d002007210a0c010b2007210a03402008290300210b200341286a41106a220c200841186a290300370300200341286a41086a220d200841106a2903003703002003200841086a290300370328200341186a41086a200841286a280200220e3602002003200841206a290300220f370318200341086a41086a200841346a28020022103602002008412c6a2902002111200a200b370300200a41206a200f370300200a41286a200e360200200a412c6a2011370200200a41346a201036020020032011370308200a41086a2003290328370300200a41106a200d290300370300200a41186a200c290300370300200a41386a210a200841d0006a22082009470d000b0b200142888080808001370200200142808080808001370208200920086b41d0006e210c024020092008460d00200841306a210803400240200841706a280200450d00200841746a280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b02402008417c6a280200450d002008280200220d200d417e6a2f00006b41002802ec82d48000118180808000000b200841d0006a2108200c417f6a220c0d000b0b2007210802402004450d00200721082005200641386c220c460d0002400240200541374b0d00410821082005450d020c010b0240200c41002802f482d48000118280808000002208450d002008200841076a41787120086b220d6a2208417e6a200d3b000020082007200c10f4978080001a0c010b4108200c10ab80808000000b20072007417e6a2f00006b41002802ec82d48000118180808000000b20002008360204200020063602002000200a20076b41386e360208200341c0006a2480808080000baa0301087f23808080800041e0026b22032480808080002001280208220441e0016c220541f8006e2106200128020021070240024020012802042208200128020c2209470d002007210a0c010b2007210a034020034180016a200841e00110f4978080001a200341086a20034180016a10b194808000200a200341086a41f80010f49780800041f8006a210a200841e0016a22082009470d000b0b200142888080808001370200200142808080808001370208200920086b41e0016e2101024020092008460d0003402008109c94808000200841e0016a21082001417f6a22010d000b0b2007210802402004450d00200721082005200641f8006c2201460d0002400240200541f7004b0d00410821082005450d020c010b0240200141002802f482d48000118280808000002208450d002008200841076a41787120086b22096a2208417e6a20093b000020082007200110f4978080001a0c010b4108200110ab80808000000b20072007417e6a2f00006b41002802ec82d48000118180808000000b20002008360204200020063602002000200a20076b41f8006e360208200341e0026a2480808080000b800301097f23808080800041b0016b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d0020062108200521090c010b200341106a210a4100210b0340200a2006200b6a41d00010f49780800021082003200536020820032005200b6a220936020c200341e0006a200810c6948080002009200341e0006a41d00010f4978080001a2006200b41d0006a220b6a22082007470d000b2005200b6a21090b200142888080808001370200200142808080808001370208200720086b41d0006e2106024020072008460d00200841306a210b03400240200b41706a280200450d00200b41746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b0240200b417c6a280200450d00200b28020022082008417e6a2f00006b41002802ec82d48000118180808000000b200b41d0006a210b2006417f6a22060d000b0b20002005360204200020043602002000200920056b41d0006e360208200341b0016a2480808080000bbe0601077f0240024002400240200128022022020d002001280200210241002103200141003602002002410171450d010240200128020422020d0020012802082102200128020c2204450d0002400240200441077122030d00200421050c010b2004210503402005417f6a210520022802c40121022003417f6a22030d000b0b20044108490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200541786a22050d000b0b034020022002417e6a2f00006b210520022802b001210241002103200541002802ec82d480001181808080000020020d000c020b0b20012002417f6a36022002400240200128020022024101470d0020012802040d00200128020821020240200128020c2204450d0002400240200441077122030d00200421050c010b2004210503402005417f6a210520022802c40121022003417f6a22030d000b0b20044108490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d030b2001280208210402400240200128020c2203200128020422022f01b6014f0d00200221050c010b034020022802b0012205450d0320022f01b401210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f01b6014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a41c8016a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a210720022802c40121022004417f6a22040d000b0b20084107490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200741786a22070d000b0b2001200636020c20014100360208200120023602042000200520036a2d00b8013a00042000200520034104746a2202290200370208200041106a200241086a290200370200410121030b200020033602000f0b20022002417e6a2f00006b41002802ec82d4800011818080800000418cf3cc800010a081808000000b41b0f5cc800010a081808000000b900301047f23808080800041c0006b2203248080808000200341046a20012002419cf4cc800010be9480800002400240200328020c22040d0020004100360208200041003602002003280204450d01200328020822002000417e6a2f00006b41002802ec82d48000118180808000000c010b2003280208210220032003413f6a36021c024020044101460d00024020044115490d00200220042003411c6a10cd948080000c010b2002200441012003411c6a10b8948080000b2003280204210541002d008083d480001a024041980141002802f482d480001182808080000022010d00410441980110ab80808000000b2001200141036a417c7120016b22066a220141003b018a01200141003602002001417e6a20063b00002003200136021020034100360214200341003602182003200220044104746a36023820032005360234200320023602302003200236022c2003418180808078360220200341106a2003411c6a200341186a10a09480800020002003280218360208200020032902103702000b200341c0006a2480808080000be50301057f23808080800041d0006b2202248080808000200241206a41206a200141206a280200360200200241206a41186a200141186a290200370300200241206a41106a200141106a290200370300200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a419cf4cc800010bd9480800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c22012001417e6a2f00006b41002802ec82d48000118180808000000c010b200228020c21012002200241cf006a360220024020034101460d00024020034115490d0020012003200241206a10ce948080000c010b200120034101200241206a10b9948080000b2002280208210441002d008083d480001a024041c40141002802f482d480001182808080000022050d00410441c40110ab80808000000b2005200541036a417c7120056b22066a220541003b01b601200541003602b0012005417e6a20063b000020022005360214200241003602182002410036021c20022001200341146c6a360244200220043602402002200136023c2002200136023820024102360220200241146a200241206a2002411c6a109f948080002000200228021c360208200020022902143702000b200241d0006a2480808080000b990501057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802c40121012004417f6a22040d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200041786a22000d000b0b20012104410021020b024002400240200220042f01b6014f0d00200421000c010b034020042802b0012200450d0220042f01b401210220042004417e6a2f00006b41002802ec82d4800011818080800000200541016a210520002104200220002f01b6014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a41c8016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802c40121002005417f6a22050d000b0b20014107490d00034020002802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b20042004417e6a2f00006b41002802ec82d4800011818080800000418cf3cc800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802c40121002005417f6a22050d000b0b20024108490d00034020002802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012100200441786a22040d000b0b034020002000417e6a2f00006b210420002802b0012100200441002802ec82d480001181808080000020000d000b0b0b830601057f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802c40121012003417f6a22030d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f01b6014f0d00200121040c010b034020012802b0012204450d0220012f01b401210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f01b6014f0d000b0b0240024020030d00200241016a21020c010b200420024102746a41c8016a2802002104410021022003417f6a2201450d002003417e6a2105024020014107712203450d0003402001417f6a210120042802c40121042003417f6a22030d000b0b20054107490d00034020042802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012104200141786a22010d000b0b2000200236020c2000410036020820002004360204200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d4800011818080800000418cf3cc800010a081808000000b41b0f5cc800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802c40121012003417f6a22030d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200441786a22040d000b0b034020012001417e6a2f00006b210420012802b0012101200441002802ec82d480001181808080000020010d000b0b0bfc0a05057f017e037f017e027f23808080800041d0016b2202248080808000200128027c210320012802782104418080808078210502402001280280012206418080808078460d00200129028c0121072002200128028401220820012802880141f8006c6a3602cc01200220063602c801200220083602c401200220083602c001200241306a200241c0016a41c0f6cc800010a194808000200241086a200737030020022002290234370300200228023021050b02400240200128021022080d000c010b200241c8006a41086a200141086a290300370300200241c8006a411c6a2001411c6a290200370200200241c8006a41246a200141246a280200360200200220083602582002200129030037034820022001290214220737025c200241e0006a10af948080002007a721090b024002402001280238220a0d000c010b200241f0006a41086a200141306a29030022073703002002418c016a200141c4006a29020037020020024194016a200141cc006a280200360200200241c0016a41086a20073703002002200a360280012002200129032822073703702002200129023c220b37028401200220073703c00120024188016a10af94808000200ba7210c0b200220012802a001360228200220012802a4012206360224200220063602202002200620012802a80141d0006c6a36022c200241146a200241206a41c0f6cc800010a99480800002400240200128026022060d000c010b20024198016a41086a200141d8006a2903002207370300200241b4016a200141ec006a290200370200200241bc016a200141f4006a280200360200200241306a41086a2007370300200220063602a8012002200129035022073703980120022001290264220b3702ac0120022007370330200241b0016a10af94808000200ba7210d0b200020053602502000200336024c20002004360248200020022903003702542000200936021420002008360210200020022903c00137031820002001290300370300200041dc006a200241086a290300370200200041086a200141086a290300370300200041206a200241c0016a41086a29030037030020012d00d80121082000200c36022c2000200a360228200020063602402000200d360244200020083a007020002002290214370264200041ec006a200241146a41086a28020036020020002002290330370330200041386a200241306a41086a290300370300200128029801210a0240200128029c012206450d00200a41d0006a210003400240200041706a280200450d00200041746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022082008417e6a2f00006b41002802ec82d48000118180808000000b200041f0006a21002006417f6a22060d000b0b0240200128029401450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b20012802b0012105024020012802b4012208450d002008410171210341002106024020084101460d00200541d4006a21002008417e71210a41002106034002402000414c6a280200450d00200041506a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022082008417e6a2f00006b41002802ec82d48000118180808000000b200041e0006a2100200a200641026a2206470d000b0b2003450d002005200641306c6a2200280220450d00200041206a28020422002000417e6a2f00006b41002802ec82d48000118180808000000b024020012802ac01450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b024020012802b801450d0020012802bc0122002000417e6a2f00006b41002802ec82d48000118180808000000b200241d0016a2480808080000b910301077f23808080800041c0006b210220012d007421032001280244210420012802402105410121060240024020012802004101470d00200241186a200141186a290300370300200241206a200141206a2903003703002002200128020c36020c2002200129020437020420022001290310370310200141286a2107200241286a21080c010b200141086a2107200241086a2108410021060b200020033a00602000200436024420002005360240200820072903003703002000200129025c37024820002001290268370254200841106a200741106a290300370300200841086a200741086a290300370300200041d0006a200141e4006a280200360200200041dc006a200141f0006a2802003602002002200636020020002002290300370300200041386a200241386a290300370300200041306a200241306a290300370300200041286a200241286a290300370300200041206a200241206a290300370300200041186a200241186a290300370300200041106a200241106a290300370300200041086a200241086a2903003703000bae0f01137f23808080800041a0036b2203248080808000024002400240024002400240200241726a0e03010203000b2000418880808078360200200141f0016a10bc94808000024020012802f001450d0020012802f40122022002417e6a2f00006b41002802ec82d48000118180808000000b024020012802d801450d0020012802dc0122022002417e6a2f00006b41002802ec82d48000118180808000000b024020012802e401450d0020012802e80122022002417e6a2f00006b41002802ec82d48000118180808000000b02402001280284022204450d00200128028002210541002106034002402005200641386c6a220728021c2208450d00200728021841306a210203400240200241706a280200450d00200241746a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002417c6a280200450d00200228020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a21022008417f6a22080d000b0b02402007280214450d00200728021822022002417e6a2f00006b41002802ec82d48000118180808000000b02402007280220450d00200728022422022002417e6a2f00006b41002802ec82d48000118180808000000b200641016a22062004470d000b0b20012802fc01450d0320012802800222022002417e6a2f00006b41002802ec82d48000118180808000000c030b2001280284022105200128028002210420012802fc01210a20012802f801210820012802f4012102200320012802f0013602d002200320023602cc02200320023602c80220032002200841e0016c6a3602d402200341b8026a200341c8026a41c0f6cc800010aa9480800020012802e0012202450d03200141e0006a210b20012802ec01210c20012802e801210d20012802e401210e20012802d801210f20012802dc0122102108024020024101460d002002417f6a2208410371210620102d00002109024002402002417e6a41034f0d0041002107201021080c010b2008417c71211141002107201021080340201020076a220241046a2212200241036a2213200241026a2214200241016a2202200820022d00002202200941ff017122094922151b20142d000022082002200920151b22024922091b20132d000022132008200220091b22024922081b20122d000022092013200220081b22024922121b21082009200220121b21092011200741046a2207470d000b0b2006450d00200720106a41016a2102034020022d00002207200941ff01712209200720094922071b21092002200820071b2108200241016a21022006417f6a22060d000b0b200341286a41106a200b41106a290300370300200341286a41086a200b41086a2903003703002003200b2903003703282003200c3602482003200d3602442003200e360240200320082d00003a004c0240200f450d0020102010417e6a2f00006b41002802ec82d48000118180808000000b2003419c016a200341b8026a200341286a200110ed9080800002402005450d0041002106034002402004200641386c6a220728021c2208450d00200728021841306a210203400240200241706a280200450d00200241746a28020022092009417e6a2f00006b41002802ec82d48000118180808000000b02402002417c6a280200450d00200228020022092009417e6a2f00006b41002802ec82d48000118180808000000b200241d0006a21022008417f6a22080d000b0b02402007280214450d00200728021822022002417e6a2f00006b41002802ec82d48000118180808000000b02402007280220450d00200728022422022002417e6a2f00006b41002802ec82d48000118180808000000b200641016a22062005470d000b0b0240200a450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b200341edcad18b0636028402200341868080807836029801200020034198016a41f00010f4978080001a0c020b200320012802f001360220200320012802f401220236021c200320023602182003200220012802f80141e0016c6a3602242003410c6a200341186a41b4fccc800010a29480800020034198016a200141e0006a41900110f4978080001a200341286a20034198016a10cc94808000200320012802fc013602c002200320012802800222023602bc02200320023602b8022003200220012802840241386c6a3602c402200341ac026a200341b8026a41b4fccc800010a494808000200341d8026a200141286a290300370300200341d0026a200141206a290300370300200341c8026a41206a200141386a290300370300200341c8026a41286a200141c0006a290300370300200341c8026a41386a200141d0006a290300370300200341c8026a41c0006a200141d8006a290300370300200320012903183703c802200320012903303703e002200320012903483703f8022003410036029c0320034100360294032003419c016a2003410c6a200341286a2001200341ac026a200341c8026a20034194036a108d91808000200341edcad18b0636028402200341878080807836029801200020034198016a41f00010f4978080001a0c010b20034198016a200110c494808000200341edcad18b0636028402200020034198016a41f00010f4978080001a0b200341a0036a2480808080000f0b41d0f6cc8000412641ccf7cc800010a181808000000bac0701117f23808080800041d0006b2202248080808000200220012802f001360220200220012802f401220336021c200220033602182002200320012802f80141e0016c6a3602242002410c6a200241186a41c0f6cc800010aa94808000024020012802e0012203450d00200141e0006a210420012802ec01210520012802e801210620012802e401210720012802d801210820012802dc012209210a024020034101460d002003417f6a220a410371210b20092d0000210c024002402003417e6a41034f0d004100210d2009210a0c010b200a417c71210e4100210d2009210a03402009200d6a220341046a220f200341036a2210200341026a2211200341016a2203200a20032d00002203200c41ff0171220c4922121b20112d0000220a2003200c20121b220349220c1b20102d00002210200a2003200c1b220349220a1b200f2d0000220c20102003200a1b220349220f1b210a200c2003200f1b210c200e200d41046a220d470d000b0b200b450d00200d20096a41016a2103034020032d0000220d200c41ff0171220c200d200c49220d1b210c2003200a200d1b210a200341016a2103200b417f6a220b0d000b0b200241286a41106a200441106a290300370300200241286a41086a200441086a290300370300200220042903003703282002200536024820022006360244200220073602402002200a2d00003a004c02402008450d0020092009417e6a2f00006b41002802ec82d48000118180808000000b200041046a2002410c6a200241286a200110ed90808000200128028002210f02402001280284022210450d004100210b03400240200f200b41386c6a220d28021c220a450d00200d28021841306a210303400240200341706a280200450d00200341746a280200220c200c417e6a2f00006b41002802ec82d48000118180808000000b02402003417c6a280200450d002003280200220c200c417e6a2f00006b41002802ec82d48000118180808000000b200341d0006a2103200a417f6a220a0d000b0b0240200d280214450d00200d28021822032003417e6a2f00006b41002802ec82d48000118180808000000b0240200d280220450d00200d28022422032003417e6a2f00006b41002802ec82d48000118180808000000b200b41016a220b2010470d000b0b024020012802fc01450d00200f200f417e6a2f00006b41002802ec82d48000118180808000000b2000418680808078360200200041edcad18b0636026c200241d0006a2480808080000f0b41d0f6cc8000412641ccf7cc800010a181808000000bfb0a05017f017e117f017e037f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802107024002402001418120490d00410141202001410172676b41017622087420012008766a41017621090c010b200120014101766b220841c000200841c000491b21090b200041706a210a200041206a210b410121084100210c4100210d03404100210e4101210f02402001200c4b2210450d002000200c41047422116a2112024002402001200c6b22132009490d0002400240201341024f0d00201321140c010b024002400240024020122d0010221520122d00004922160d004102211420134102460d04200b20116a2117410221140340201541ff0171211820172d000022152018490d03201741106a21172013201441016a2214470d000c020b0b410221144101211720134102460d02200b20116a2117410221140340201541ff0171211820172d0000221520184f0d02201741106a21172013201441016a2214470d000b0b201321140b20142009490d022016450d010240201441024f0d00410121140c020b201441017621170b200a201441047420116a6a21130340201228020021152012201328020036020020132015360200201341046a221528020021182015201241046a221128020036020020112018360200201241086a221528020021182015201341086a2211280200360200201120183602002013410c6a2215280200211820152012410c6a221128020036020020112018360200201341706a2113201241106a21122017417f6a22170d000b0b2014410174410172210f0c010b024020040d002013200920132009491b410174210f0c010b20122013412020134120491b22132002200341004100200510bf948080002013410174410172210f0b200f410176200c6aad200cad22197c20077e200c20084101766bad20197c20077e8579a7210e0b02400240200d4102490d00200a200c41047422126a211a200020126a211b03402006418e026a200d417f6a22146a2d0000200e490d010240024002400240200641046a20144102746a28020022124101762217200841017622156a221620034b0d002012200872410171450d010b2000200c20166b4104746a210d024020124101710d00200d201720022003201741017267410174413e734100200510bf948080000b20084101710d01200d20174104746a201520022003201541017267410174413e734100200510bf948080000c010b201641017421080c010b024020084102490d0020124102490d00200320152017201520174922131b2212490d002002200d20174104746a2208200d20131b2012410474221310f497808000221c20136a2113024002400240201520174f0d00201a211203402012200841706a2208201341706a221320132d0000221720082d000022154922181b2211290200370200201241086a201141086a290200370200201320184104746a21132008201720154f4104746a2208200d460d02201241706a21122013201c470d000c020b0b024020120d00201c21120c020b201c21120340200d2008201220082d0000221720122d000022154922111b2218290200370200200d41086a201841086a290200370200200d41106a210d2012201720154f4104746a22122013460d02200820114104746a2208201b470d000c020b0b2008210d201c21120b200d2012201320126b10f4978080001a0b201641017441017221080b410121122014210d201441014b0d000c020b0b200d21120b2006418e026a20126a200e3a0000200641046a20124102746a200836020002402010450d00201241016a210d200f410176200c6a210c200f21080c010b0b20084101710d002000200120022003200141017267410174413e734100200510bf948080000b200641d0026a2480808080000bc80b05017f017e127f017e027f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802107024002402001418120490d00410141202001410172676b41017622087420012008766a41017621090c010b200120014101766b220841c000200841c000491b21090b2000416c6a210a200041286a210b410121084100210c4100210d03404100210e4101210f02402001200c4b2210450d002000200c41146c22116a2112024002402001200c6b22132009490d0002400240201341024f0d00201321140c010b024002400240024020122d0014221520122d00004922160d004102211420134102460d04200b20116a2117410221140340201541ff0171211820172d000022152018490d03201741146a21172013201441016a2214470d000c020b0b410221144101211920134102460d02200b20116a2117410221140340201541ff0171211820172d0000221520184f0d02201741146a21172013201441016a2214470d000b0b201321140b20142009490d022016450d010240201441024f0d00410121140c020b201441017621190b200a201441146c6a2117200021180340201820116a221328020021122013201720116a221528020036020020152012360200201541046a221228020021162012201341046a220e280200360200200e2016360200201341086a221228020021162012201541086a220e280200360200200e20163602002015410c6a2212280200211620122013410c6a220e280200360200200e2016360200201341106a221328020021122013201541106a2215280200360200201520123602002017416c6a2117201841146a21182019417f6a22190d000b0b2014410174410172210f0c010b024020040d002013200920132009491b410174210f0c010b20122013412020134120491b22132002200341004100200510c0948080002013410174410172210f0b200f410176200c6aad200cad221a7c20077e200c20084101766bad201a7c20077e8579a7210e0b02400240200d4102490d00200a200c41146c22136a211b200020136a211c03402006418e026a200d417f6a22186a2d0000200e490d010240024002400240200641046a20184102746a28020022134101762217200841017622116a221220034b0d002013200872410171450d010b2000200c20126b41146c6a210d024020134101710d00200d201720022003201741017267410174413e734100200510c0948080000b20084101710d01200d201741146c6a201120022003201141017267410174413e734100200510c0948080000c010b201241017421080c010b024020084102490d0020134102490d00200320112017201120174922151b2208490d002002200d201741146c6a2213200d20151b200841146c221510f497808000221620156a2115024002400240201120174f0d00201b2108034020082013416c6a22132015416c6a221520152d0000221120132d000022144922191b2217290200370200200841086a201741086a290200370200200841106a201741106a2802003602002015201941146c6a21152013201120144f41146c6a2213200d460d022008416c6a210820152016470d000c020b0b024020080d00201621080c020b201621080340200d2013200820132d0000221120082d000022144922191b2217290200370200200d41086a201741086a290200370200200d41106a201741106a280200360200200d41146a210d2008201120144f41146c6a22082015460d022013201941146c6a2213201c470d000c020b0b2013210d201621080b200d2008201520086b10f4978080001a0b201241017441017221080b410121132018210d201841014b0d000c020b0b200d21130b2006418e026a20136a200e3a0000200641046a20134102746a200836020002402010450d00201341016a210d200f410176200c6a210c200f21080c010b0b20084101710d002000200120022003200141017267410174413e734100200510c0948080000b200641d0026a2480808080000bf408010b7f200020002d0010220320002d00002204494104746a220520004130412020002d003020002d00204922061b6a22072000200320044f4104746a220320004120413020061b6a22042d000020032d00004922061b20072d000020052d00004922081b22092d0000210a20042003200720081b20061b220b2d0000210c200241086a2007200520081b220741086a290200370200200220072902003702002002200b2009200c200a4922071b2205290200370210200241186a200541086a290200370200200241286a2009200b20071b220741086a29020037020020022007290200370220200241386a2003200420061b220341086a290200370200200241306a22072003290200370200200041c0006a220320002d0050220520002d00402206494104746a220420034130412020002d007020002d00604922081b6a22002003200520064f4104746a220520034120413020081b6a22062d000020052d00004922081b20002d000020042d00004922091b220b2d0000210c20062005200020091b20081b220a2d0000210d200241c0006a22032000200420091b2200290200370200200241c8006a200041086a290200370200200241d0006a200a200b200d200c4922001b2204290200370200200241d8006a200441086a290200370200200241e0006a200b200a20001b2200290200370200200241e8006a200041086a290200370200200241f0006a22002005200620081b2205290200370200200241f8006a200541086a29020037020020012003200220032d0000220520022d000022044922061b2208290200370200200141086a200841086a29020037020020012007200020002d0000220820072d0000220949220b1b220a290200370270200141f8006a200a41086a2902003702002001200320064104746a22032002200520044f4104746a220220032d0000220520022d000022044922061b220a290200370210200141186a200a41086a2902003702002001200741704100200b1b6a2207200041704100200820094f1b6a220020002d0000220820072d0000220949220b1b220a290200370260200141e8006a200a41086a2902003702002001200320064104746a22032002200520044f4104746a220220032d0000220520022d000022044922061b220a290200370220200141286a200a41086a2902003702002001200741704100200b1b6a2207200041704100200820094f1b6a220020002d0000220820072d0000220949220b1b220a290200370250200141d8006a200a41086a2902003702002001200320064104746a22032002200520044f4104746a220220032d0000220520022d0000220449220a1b2206290200370230200141386a200641086a2902003702002001200741704100200b1b6a2207200041704100200820094f1b6a220020002d0000220920072d0000220b4922061b2208290200370240200141c8006a200841086a290200370200024002402002200520044f4104746a20074170410020061b6a41106a470d002003200a4104746a2000417041002009200b4f1b6a41106a460d010b109c81808000000b0bf70101067f23808080800041106b210402402002417f6a20014f0d00024020022001460d00200020014104746a21052000200241047422066a21070340024020072d00002208200741706a2d00004f0d00200420072900013703002004200741086a2900003700072006210202400340200020026a2201200141706a2209290200370200200141086a200941086a290200370200024020024110470d00200021020c020b200241706a21022008200141606a2d0000490d000b200020026a21020b200220083a000020022004290300370001200241086a20042900073700000b200641106a2106200741106a22072005470d000b0b0f0b000bb20201087f23808080800041206b210402402002417f6a20014f0d00024020022001460d002000200141146c6a21052000200241146c22066a2107200441176a2108200441086a41086a21090340024020072d0000220a2007416c6a2d00004f0d002008200741106a2800003600002009200741096a290000370300200420072900013703082006210102400340200020016a22022002416c6a220b290200370200200241106a200b41106a280200360200200241086a200b41086a290200370200024020014114470d00200021020c020b2001416c6a2101200a200241586a2d0000490d000b200020016a21020b2002200a3a000020022004290308370001200241096a2009290300370000200241106a20082800003600000b200641146a2106200741146a22072005470d000b0b0f0b000bf00e030d7f017e037f23808080800041206b22052480808080000240024020014102490d00024002402003200141106a490d00410121062001410176210702400240200141074d0d0020022000413c412820002d003c20002d00284922081b6a2203200020002d0014220920002d0000220a4941146c6a220b20032d0000200b2d000049220c1b220d290200370200200241086a200d41086a290200370200200241106a200d41106a280200360200200220004128413c20081b6a220820002009200a4f41146c6a220d2003200c1b20082d0000200d2d00004922091b220a200b2003200d20091b200c1b2203200a2d000020032d000049220c1b220b2902003702142002411c6a200b41086a290200370200200241246a200b41106a280200360200200241386a2003200a200c1b220341106a280200360200200241306a200341086a29020037020020022003290200370228200241cc006a200d200820091b220341106a280200360200200241c4006a200341086a2902003702002002200329020037023c2000200741146c220e6a220320032d0014220b20032d000022084941146c6a220c2003413c412820032d003c20032d00284922091b6a220d2003200b20084f41146c6a220b20034128413c20091b6a22082d0000200b2d00004922091b200d2d0000200c2d000049220a1b22062d0000210f2008200b200d200a1b20091b22102d000021112002200e6a2203200d200c200a1b220d290200370200200341086a200d41086a290200370200200341106a200d41106a2802003602002003201020062011200f49220c1b220d290200370214200341246a200d41106a2802003602002003411c6a200d41086a290200370200200341386a20062010200c1b220d41106a280200360200200341306a200d41086a2902003702002003200d290200370228200341cc006a200b200820091b220d41106a280200360200200341c4006a200d41086a2902003702002003200d29020037023c410421060c010b20022000290200370200200241106a200041106a280200360200200241086a200041086a2902003702002002200741146c220d6a22032000200d6a220d290200370200200341086a200d41086a290200370200200341106a200d41106a2802003602000b200120076b2111200620074f0d01200641146c2109200541176a21102006210803402002200841146c220d6a22032000200d6a220d2902002212370200200341106a200d41106a220b280200360200200341086a200d41086a29020037020002402012a7220a41ff0171220c2003416c6a2d00004f0d002010200b280000360000200541086a41086a220e200d41096a2900003703002005200d2900013703082009210d024003402002200d6a22032003416c6a220b290200370200200341106a200b41106a280200360200200341086a200b41086a2902003702000240200d4114470d00200221030c020b200d416c6a210d200c200341586a2d0000490d000b2002200d6a21030b2003200a3a000020032005290308370001200341096a200e290300370000200341106a20102800003600000b200941146a2109200841016a22082007470d000c020b0b000b2002200741146c22036a21090240200620114f0d00200020036a2113200641146c2108200541176a2114411421102009210e03402009200641146c220d6a22032013200d6a220d2902002212370200200341106a200d41106a220b280200360200200341086a200d41086a29020037020002402012a7220f41ff0171220a2003416c6a2d00004f0d002014200b280000360000200541086a41086a2215200d41096a2900003703002005200d2900013703082010210c200e210d02400340200d20086a22032003416c6a220b290200370200200341106a200b41106a280200360200200341086a200b41086a29020037020002402008200c470d00200921030c020b200c41146a210c200d416c6a210d200a200341586a2d0000490d000b200d20086a21030b2003200f3a000020032005290308370001200341096a2015290300370000200341106a20142800003600000b2010416c6a2110200e41146a210e200641016a22062011470d000b0b2009416c6a210d2002200141146c416c6a22036a210b200020036a2103034020002009200220092d0000220820022d0000220a4922061b220c290200370200200041086a200c41086a290200370200200041106a200c41106a280200360200200341106a200d200b200b2d00002210200d2d0000220e49220f1b220c41106a280200360200200341086a200c41086a2902003702002003200c2902003702002003416c6a2103200041146a2100200d416c4100200f1b6a210d200b416c41002010200e4f1b6a210b20022008200a4f41146c6a21022009200641146c6a21092007417f6a22070d000b200d41146a210302402001410171450d002000200220092002200349220c1b220d290200370200200041106a200d41106a280200360200200041086a200d41086a2902003702002009200220034f41146c6a21092002200c41146c6a21020b20022003470d012009200b41146a470d010b200541206a2480808080000f0b109c81808000000bc50c020e7f017e23808080800041106b22052480808080000240024020014102490d000240024002402003200141106a490d00200141017621062001410f4b0d010240200141074d0d0041042107200220004130412020002d003020002d00204922081b6a2203200020002d0010220920002d0000220a494104746a220b20032d0000200b2d000049220c1b220d290200370200200241086a200d41086a290200370200200220004120413020081b6a220d20002009200a4f4104746a22082003200c1b200d2d000020082d00004922091b220a200b2003200820091b200c1b2203200a2d000020032d000049220b1b220c290200370210200241186a200c41086a290200370200200241286a2003200a200b1b220341086a29020037020020022003290200370220200241386a2008200d20091b220341086a2902003702002002200329020037023020002006410474220e6a220320032d0010220b20032d0000220d494104746a220c20034130412020032d003020032d00204922091b6a22082003200b200d4f4104746a220b20034120413020091b6a220d2d0000200b2d00004922091b20082d0000200c2d000049220a1b220f2d00002110200d200b2008200a1b20091b22112d000021122002200e6a220341086a2008200c200a1b220841086a2902003702002003200829020037020020032011200f201220104922081b220c290200370210200341186a200c41086a290200370200200341286a200f201120081b220841086a29020037020020032008290200370220200341386a200b200d20091b220841086a290200370200200320082902003702300c030b20022000290200370200200241086a200041086a2902003702002002200641047422036a2208200020036a2203290200370200200841086a200341086a290200370200410121070c020b000b20002002200220014104746a220310b7948080002000200641047422086a200220086a20034180016a10b794808000410821070b200120066b21100240200720064f0d00200741047421092007210d03402002200d41047422086a2203200020086a22082902002213370200200341086a200841086a220b29020037020002402013a7220a41ff0171220c200341706a2d00004f0d00200520082900013703002005200b2900003700072009210302400340200220036a2208200841706a220b290200370200200841086a200b41086a290200370200024020034110470d00200221030c020b200341706a2103200c200841606a2d0000490d000b200220036a21030b2003200a3a000020032005290300370001200341086a20052900073700000b200941106a2109200d41016a220d2006470d000b0b2002200641047422036a21090240200720104f0d00200020036a21122007410474210c4110210f2009211103402009200741047422086a2203201220086a22082902002213370200200341086a200841086a220b29020037020002402013a7220e41ff0171220a200341706a2d00004f0d00200520082900013703002005200b290000370007200f210b20112108024003402008200c6a2203200341706a220d290200370200200341086a200d41086a2902003702000240200c200b470d00200921030c020b200b41106a210b200841706a2108200a200341606a2d0000490d000b2008200c6a21030b2003200e3a000020032005290300370001200341086a20052900073700000b200f41706a210f201141106a2111200741016a22072010470d000b0b200941706a21032002200141047441706a220b6a21082000200b6a210b034020002009200220092d0000220c20022d0000220d49220a1b2207290200370200200041086a200741086a290200370200200b2003200820082d0000220720032d0000220f4922111b220e290200370200200b41086a200e41086a290200370200200b41706a210b200041106a210020034170410020111b6a21032008417041002007200f4f1b6a21082002200c200d4f4104746a21022009200a4104746a21092006417f6a22060d000b200341106a210302402001410171450d002000200220092002200349220b1b220c290200370200200041086a200c41086a2902003702002009200220034f4104746a21092002200b4104746a21020b20022003470d012009200841106a470d010b200541106a2480808080000f0b109c81808000000bbc0801097f024020002802082201450d002000280204210241002103034002402002200341e0016c6a2204280280012200418080808078460d0002402004280288012205450d002004280284012100034002402000280200450d00200041046a280200450d00200041086a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200041dc006a280200450d00200041e0006a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b0240200041e8006a280200450d00200041ec006a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041f8006a21002005417f6a22050d000b20042802800121000b2000450d0020042802840122002000417e6a2f00006b41002802ec82d48000118180808000000b02402004280210450d00200441186a10af948080000b0240200428029c012205450d0020042802980141d0006a210003400240200041706a280200450d00200041746a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041f0006a21002005417f6a22050d000b0b0240200428029401450d0020042802980122002000417e6a2f00006b41002802ec82d48000118180808000000b02402004280238450d00200441c0006a10af948080000b024020042802a8012205450d0020042802a40141306a210003400240200041706a280200450d00200041746a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041d0006a21002005417f6a22050d000b0b024020042802a001450d0020042802a40122002000417e6a2f00006b41002802ec82d48000118180808000000b02402004280260450d00200441e8006a10af948080000b024020042802b4012206450d0020042802b00121072006410171210841002105024020064101460d00200741d4006a21002006417e71210941002105034002402000414c6a280200450d00200041506a28020022062006417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022062006417e6a2f00006b41002802ec82d48000118180808000000b200041e0006a21002009200541026a2205470d000b0b2008450d002007200541306c6a2200280220450d00200041206a28020422002000417e6a2f00006b41002802ec82d48000118180808000000b024020042802ac01450d0020042802b00122002000417e6a2f00006b41002802ec82d48000118180808000000b024020042802b801450d0020042802bc0122002000417e6a2f00006b41002802ec82d48000118180808000000b200341016a22032001470d000b0b0bb60503037f017e077f23808080800041d0006b2203248080808000200341106a200110ac948080000240024020032802104101470d00200128022041016a2204417f20041b22044104200441044b1b2205ad42147e2206a72104410021070240024002402006422088a70d00200441fcffffff074b0d002003280224210820032802202109200328021c210a2003280218210b20032d0014210c024020040d004104210d410021050c030b41002d008083d480001a200441002802f482d480001182808080000022070d01410421070b20072004200210b980808000000b2007200741036a417c71220d20076b22046a417e6a20043b00000b200d2008360210200d200936020c200d200a360208200d200b360204200d200c3a00002003200d360208200320053602042003410136020c200341106a41206a200141206a280200360200200341106a41186a200141186a290200370300200341106a41106a200141106a290200370300200341106a41086a200141086a29020037030020032001290200370310200341386a200341106a10ac94808000024020032802384101470d0041242107410121040340200328024c210520032802482102200328024421082003280240210920032d003c210a024020042003280204470d00200341046a2004200328023041016a2201417f20011b4104411410ca948080002003280208210d0b200d20076a220120053602002001417c6a2002360200200141786a2008360200200141746a2009360200200141706a200a3a00002003200441016a220436020c200741146a2107200341386a200341106a10ac9480800020032802380d000b0b200341106a10b094808000200041086a200341046a41086a280200360200200020032902043702000c010b2000410036020820004280808080c000370200200110b0948080000b200341d0006a2480808080000ba00301097f0240200220016b220441fcffffff074d0d0041002004200310b980808000000b410421050240024020022001470d00410021060c010b41002d008083d480001a0240200441002802f482d480001182808080000022020d0041042004200310b980808000000b200441047621062002200241036a417c71220520026b22046a417e6a20043b000020062107410021040340200120046a2208410c6a2802002203410274210241002109024002400240200341ffffffff034b0d00200241fcffffff074b0d0020082d00002109200841086a280200210a024020020d004104210b410021080c030b41002d008083d480001a200241002802f482d480001182808080000022080d01410421090b2009200241dcf8cc800010b980808000000b2008200841036a417c71220b20086b220c6a417e6a200c3b0000200321080b200b200a200210f497808000210a200520046a220220093a00002002410c6a2003360200200241086a200a360200200241046a2008360200200441106a21042007417f6a22070d000b0b2000200636020820002005360204200020063602000b8b0f01117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610bb948080000c010b200241706a21080340024020040d0020002001200220034101200610b5948080000c020b20002001410376220941f0006c6a210a200020094106746a210b02400240200141c000490d002000200b200a200910c294808000210c0c010b2000200a200b20002d00002209200b2d0000220c49220d200c200a2d0000220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2902003703002007200c290200370308200c20006b410476210f024002400240024002402005450d0020052d0000200c2d00004f0d010b20032001490d014100210b200021092002200141047422106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b4104746a22134f0d0003402002200a41706a20092d0000200c2d000049220d1b200b4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200941106a220e2d0000200c2d00004922141b200b200d6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200941206a220d2d0000200c2d000049220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200941306a220d2d0000200c2d00004922141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210b200941c0006a22092013490d000b0b02402009200020124104746a22144f0d0003402002200a41706a220a20092d0000200c2d000049220d1b200b4104746a220e2009290200370200200e41086a200941086a290200370200200b200d6a210b200941106a22092014490d000b0b024020122001460d00200a41706a220a200b4104746a220d2009290200370200200d41086a200941086a290200370200200941106a2109200121120c010b0b20002002200b410474221210f49780800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a290200370200200941106a2011200d41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200d41026a220d470d000b0b2016450d002017200d4104746a22092011200d417f734104746a220a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c200741fcf9cc800036021820074204370220200741186a4184facc800010fe80808000000b20032001490d004100210d200021092002200141047422116a2212210a03400240200920004100200f417d6a220b200b200f4b1b4104746a22134f0d0003402002200a41706a200c2d000020092d00004f220b1b200d4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200c2d0000200941106a220e2d00004f22141b200d200b6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200c2d0000200941206a220d2d00004f220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200c2d0000200941306a220d2d00004f22141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210d200941c0006a22092013490d000b0b024020092000200f4104746a22144f0d0003402002200a41706a220a200c2d000020092d00004f220b1b200d4104746a220e2009290200370200200e41086a200941086a290200370200200d200b6a210d200941106a22092014490d000b0b0240200f2001460d002002200d4104746a220b2009290200370200200b41086a200941086a290200370200200941106a2109200d41016a210d200a41706a210a2001210f0c010b0b20002002200d410474220a10f4978080002109024002402001200d460d002001200d6b220b41017121132009200a6a21004100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2000210903402009200a290200370200200941086a200a41086a290200370200200941106a2012200c41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200c41026a220c470d000b0b02402013450d002000200c4104746a22092012200c417f734104746a220a290200370200200941086a200a41086a2902003702000b2001200d4f0d01200d20014194facc8000109281808000000b200920014104746a410020022003200610bb948080000c050b41002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610bf94808000200b2101200b41214f0d010b0b2000200b20022003200610bb948080000b200741306a2480808080000be20b01117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610ba948080000c010b2002416c6a21080340024020040d0020002001200220034101200610b6948080000c020b200020014103762209418c016c6a210a2000200941d0006c6a210b02400240200141c000490d002000200b200a200910c394808000210c0c010b2000200a200b20002d00002209200b2d0000220d49220e200d200a2d0000220f49731b200e2009200f49731b210c0b2004417f6a2104200741106a200c41106a280200360200200741086a200c41086a2902003703002007200c290200370300200c20006b41146e2110024002400240024002402005450d0020052d0000200c2d00004f0d010b20032001490d014100210a200021092002200141146c22116a2212210d201021130340024020092000201341146c6a220f4f0d0003402002200d416c6a220d20092d0000200c2d000049220e1b200a41146c6a220b2009290200370200200b41106a200941106a280200360200200b41086a200941086a290200370200200a200e6a210a200941146a2209200f490d000b0b024020132001460d00200d416c6a220d200a41146c6a220b2009290200370200200b41106a200941106a280200360200200b41086a200941086a290200370200200941146a2109200121130c010b0b20002002200a41146c221410f49780800021152001200a6b211302402001200a460d0020134101712116201520146a21174100210d02402001200a41016a460d002013417e71210f200820116a210b4100210d2017210903402009200b290200370200200941106a200b41106a280200360200200941086a200b41086a290200370200200941146a2012200d41feffffff037341146c6a220e2902003702002009411c6a200e41086a290200370200200941246a200e41106a280200360200200b41586a210b200941286a2109200f200d41026a220d470d000b0b2016450d002017200d41146c6a22092012200d417f7341146c6a220b290200370200200941106a200b41106a280200360200200941086a200b41086a2902003702000b200a450d002001200a4f0d02200741003602282007410136021c200741fcf9cc800036021820074204370220200741186a4184facc800010fe80808000000b20032001490d004100210b200021092002200141146c22146a2213210d0340024020092000201041146c6a220f4f0d0003402002200d416c6a220d200c2d000020092d00004f220e1b200b41146c6a220a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200b200e6a210b200941146a2209200f490d000b0b024020102001460d002002200b41146c6a220a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200941146a2109200b41016a210b200d416c6a210d200121100c010b0b20002002200b41146c220d10f4978080002109024002402001200b460d002001200b6b220a41017121122009200d6a21004100210e02402001200b41016a460d00200a417e71210c200820146a210d4100210e2000210903402009200d290200370200200941106a200d41106a280200360200200941086a200d41086a290200370200200941146a2013200e41feffffff037341146c6a220f2902003702002009411c6a200f41086a290200370200200941246a200f41106a280200360200200d41586a210d200941286a2109200c200e41026a220e470d000b0b02402012450d002000200e41146c6a22092013200e417f7341146c6a220d290200370200200941106a200d41106a280200360200200941086a200d41086a2902003702000b2001200b4f0d01200b20014194facc8000109281808000000b2009200141146c6a410020022003200610ba948080000c050b41002105200a2101200a41214f0d030c020b000b201520146a20132002200320042007200610c094808000200a2101200a41214f0d010b0b2000200a20022003200610ba948080000b200741306a2480808080000be80c03057f017e0b7f23808080800041f0016b2202248080808000200128027c210320012802782104418080808078210502402001280280012206418080808078460d00200129028c0121072002200128028401220820012802880141f8006c6a3602d401200220063602d001200220083602cc01200220083602c801200241a0016a200241c8016a41a4fbcc800010a694808000200241086a2007370300200220022902a40137030020022802a00121050b024020012802102209450d002001280214210a200128021c2108200220012802204100200128021822061b3602e801200220083602e401200220063602e001200241003602dc0120022006410047220b3602d801200220083602d401200220063602d001200241003602cc012002200b3602c801200241b8016a200241c8016a10ae94808000200241186a200241bc016a290200370300200241206a200241c4016a2802003602002002200a3602b401200220022902b4013703100b2002200128029401360238200220012802980122063602342002200636023020022006200128029c0141f0006c6a36023c200241246a200241306a41a4fbcc800010a79480800002402001280238220c450d00200128023c210a20012802442108200220012802484100200128024022061b3602e801200220083602e401200220063602e001200241003602dc0120022006410047220b3602d801200220083602d401200220063602d001200241003602cc012002200b3602c801200241b8016a200241c8016a10ae94808000200241c0006a41086a200241bc016a290200370300200241d0006a200241c4016a280200360200200241d8006a41086a200141306a2903003703002002200a3602b40120022001290328370358200220022902b4013703400b200220012802a00136028001200220012802a401220636027c200220063602782002200620012802a80141d0006c6a36028401200241ec006a200241f8006a41a4fbcc800010a39480800002402001280260220d450d002001280264210a200128026c2108200220012802704100200128026822061b3602e801200220083602e401200220063602e001200241003602dc0120022006410047220b3602d801200220083602d401200220063602d001200241003602cc012002200b3602c801200241b8016a200241c8016a10ae9480800020024188016a41086a200241bc016a29020037030020024198016a200241c4016a280200360200200241c8016a41086a200141d8006a2903003703002002200a3602b401200220012903503703c801200220022902b401370388010b20012802b001220a2108024020012802b401220b450d00200b41306c210e200b417f6a41ffffffff0071210f200a21060240200b4103712208450d00200a21060340200641306a21062008417f6a22080d000b0b200a200e6a2108200f4103490d000340200641c0016a22062008470d000b0b20012802ac01210620012d00d801210b0240024020012802c401220e41024f0d000c010b20012802c801210f20012802cc01211020012802d001211120012802d40121120b20002005360280012000200336027c2000200436027820002002290300370284012000200936021020002002290310370214200020012903003703002000418c016a200241086a290300370200200041086a200141086a2903003703002000411c6a200241106a41086a290300370200200041246a200241106a41106a2802003602002000200c360238200041306a200241d8006a41086a29030037030020002002290358370328200041cc006a200241c0006a41106a280200360200200041c4006a200241c0006a41086a2903003702002000200229034037023c2000419c016a200241ec006a41086a2802003602002000200229026c37029401200041d8006a200241c8016a41086a290300370300200020022903c8013703502000200d360260200041f4006a20024188016a41106a280200360200200041ec006a20024188016a41086a290300370200200020022903880137026420002008200a6b41306e3602a8012000200a3602a401200020063602a001200041b4016a200241246a41086a280200360200200020022902243702ac012000200b3a00d801200041c0016a200141c0016a280200360200200020012903b8013703b801200020123602d401200020113602d001200020103602cc012000200f3602c8012000200e3602c401200241f0016a2480808080000b8c0101037f024020034108490d00200020002003410376220341067422046a2000200341f0006c22056a200310c29480800021002001200120046a200120056a200310c29480800021012002200220046a200220056a200310c29480800021020b20002002200120002d0000220320012d00002204492205200420022d0000220649731b20052003200649731b0b8d0101037f024020034108490d00200020002003410376220341d0006c22046a20002003418c016c22056a200310c39480800021002001200120046a200120056a200310c39480800021012002200220046a200220056a200310c39480800021020b20002002200120002d0000220320012d00002204492205200420022d0000220649731b20052003200649731b0bec0301097f2380808080004180046b220224808080800020012802f001210320012802f40122042105024020012802f8012206450d002004200641e0016c22076a2105200241c0006a21084100210603402008200420066a220941e00110f497808000210a2002200936023c20022004360238200241a0026a200a10c1948080002009200241a0026a41e00110f4978080001a2007200641e0016a2206470d000b0b20022003360204200220043602082002200520046b41e0016e36020c200241b0026a200141286a290300370300200241a8026a200141206a290300370300200220012903183703a002200241386a200141e0006a200141186a10cf94808000200220012802fc01360224200220012802800222063602202002200636021c2002200620012802840241386c6a360228200241106a2002411c6a41a4fbcc800010a894808000200241a0026a41286a200141c0006a290300370300200241a0026a41206a200141386a290300370300200241a0026a41386a200141d0006a290300370300200241a0026a41c0006a200141d8006a290300370300200220012903303703b802200220012903483703d002200241003602342002410036022c2000200241046a200241386a200241106a200241a0026a2002412c6a10fa9080800020024180046a2480808080000b910201087f23808080800041206b220224808080800020012802302103200128022c2104200220012802143602182002200128021822053602142002200536021020022005200128021c41d0006c6a36021c200241046a200241106a41a4fbcc800010ab94808000024002402001280200220541024f0d000c010b2001280204210620012802082107200128020c2108200128021021090b200020033602302000200436022c20002002290204370214200020093602102000200836020c20002007360208200020063602042000200536020020002001290220370220200020012802343602342000411c6a2002410c6a280200360200200041286a200141286a280200360200200241206a2480808080000bc902010a7f200128022422022103024020012802282204450d00200441057421052004417f6a41ffffff3f71210620022107024020044103712203450d00200221070340200741206a21072003417f6a22030d000b0b200220056a210320064103490d00034020074180016a22072003470d000b0b200128022021072001280204210420012802002105024002402001280238220641024f0d000c010b200128023c2108200128024021092001280244210a2001280248210b0b200020023602242000200736022020002004360204200020053602002000200b3602482000200a360244200020093602402000200836023c20002006360238200020012903083703082000200129022c37022c2000200320026b410576360228200041106a200141106a290300370300200041186a200141186a290300370300200041346a200141346a2802003602000be40301097f23808080800041c0006b2102410121030240024020012802004101470d00200241186a200141186a290300370300200241206a200141206a2903003703002002200128020c36020c2002200129020437020420022001290310370310200141286a2104200241286a21050c010b200241086a2105200141086a2104410021030b20012d00742106200128024421072001280240210820052004290300370300200541106a200441106a290300370300200541086a200441086a29030037030020022003360200024002402001280248220441024f0d000c010b200128024c21092001280250210a20012802542103200128025821050b200020063a0074200020073602442000200836024020002002290300370300200041086a200241086a290300370300200041106a200241106a290300370300200041186a200241186a290300370300200041206a200241206a290300370300200041286a200241286a290300370300200041306a200241306a290300370300200041386a200241386a29030037030020002005360258200020033602542000200a3602502000200936024c20002004360248200041e4006a200141e4006a2802003602002000200129025c37025c200041f0006a200141f0006a280200360200200020012903683703680b9303010d7f200128024422022103024020012802482204450d00200441057421052004417f6a41ffffff3f71210620022107024020044103712203450d00200221070340200741206a21072003417f6a22030d000b0b200220056a210320064103490d00034020074180016a22072003470d000b0b2001280240210720012802242104200128022021052001280254210620012802502108200128024c2109024002402001280258220a41024f0d000c010b200128025c210b2001280260210c2001280264210d2001280268210e0b200020023602442000200736024020002004360224200020053602202000200129030037030020002001290328370328200041186a200141186a290300370300200041106a200141106a290300370300200041086a200141086a2903003703002000200320026b410576360248200041306a200141306a290300370300200041386a200141386a2903003703002000200e3602682000200d3602642000200c3602602000200b36025c2000200a36025820002006360254200020083602502000200936024c0b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10c99480800020052802084101470d0120052802102102200528020c21060b2006200241bcfdcc800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000bec0a05057f017e037f017e027f23808080800041d0016b2202248080808000200128027c210320012802782104418080808078210502402001280280012206418080808078460d00200129028c0121072002200128028401220820012802880141f8006c6a3602cc01200220063602c801200220083602c401200220083602c001200241306a200241c0016a41c0f6cc800010a194808000200241086a200737030020022002290234370300200228023021050b02400240200128021022080d000c010b200241c8006a41086a200141086a290300370300200241c8006a411c6a2001411c6a290200370200200241c8006a41246a200141246a280200360200200220083602582002200129030037034820022001290214220737025c200241e0006a10af948080002007a721090b024002402001280238220a0d000c010b200241f0006a41086a200141306a29030022073703002002418c016a200141c4006a29020037020020024194016a200141cc006a280200360200200241c0016a41086a20073703002002200a360280012002200129032822073703702002200129023c220b37028401200220073703c00120024188016a10af94808000200ba7210c0b200220012802a001360228200220012802a4012206360224200220063602202002200620012802a80141d0006c6a36022c200241146a200241206a41b4fccc800010a99480800002400240200128026022060d000c010b20024198016a41086a200141d8006a2903002207370300200241b4016a200141ec006a290200370200200241bc016a200141f4006a280200360200200241306a41086a2007370300200220063602a8012002200129035022073703980120022001290264220b3702ac0120022007370330200241b0016a10af94808000200ba7210d0b200020053602502000200336024c20002004360248200020022903003702542000200936021420002008360210200020012903b80137037020002001290300370300200041f8006a200141c0016a280200360200200041dc006a200241086a290300370200200041086a200141086a29030037030020012d00d80121082000200a3602282000200c36022c200020063602402000200d360244200020083a007c200041206a200241c0016a41086a290300370300200020022903c00137031820002002290214370264200041ec006a200241146a41086a28020036020020002002290330370330200041386a200241306a41086a290300370300200128029801210a0240200128029c012206450d00200a41d0006a210003400240200041706a280200450d00200041746a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022082008417e6a2f00006b41002802ec82d48000118180808000000b200041f0006a21002006417f6a22060d000b0b0240200128029401450d00200a200a417e6a2f00006b41002802ec82d48000118180808000000b20012802b0012105024020012802b4012208450d002008410171210341002106024020084101460d00200541d4006a21002008417e71210a41002106034002402000414c6a280200450d00200041506a28020022082008417e6a2f00006b41002802ec82d48000118180808000000b02402000417c6a280200450d00200028020022082008417e6a2f00006b41002802ec82d48000118180808000000b200041e0006a2100200a200641026a2206470d000b0b2003450d002005200641306c6a2200280220450d00200041206a28020422002000417e6a2f00006b41002802ec82d48000118180808000000b024020012802ac01450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b200241d0016a2480808080000bc105010b7f02402001280280012202450d00200128027c22032104024020024101460d002002417f6a2204410371210520032d00002106024002402002417e6a41034f0d0041002107200321040c010b2004417c71210841002107200321040340200320076a220241046a2209200241036a220a200241026a220b200241016a2202200420022d00002202200641ff0171220649220c1b200b2d0000220420022006200c1b22024922061b200a2d0000220a2004200220061b22024922041b20092d00002206200a200220041b22024922091b21042006200220091b21062008200741046a2207470d000b0b2005450d00200720036a41016a2102034020022d00002207200641ff01712206200720064922071b21062002200420071b2104200241016a21022005417f6a22050d000b0b20042d00002105200020012903183703002000200129033037031820002001290348370330200041106a200141286a290300370300200041086a200141206a290300370300200041206a200141386a290300370300200041286a200141c0006a290300370300200041386a200141d0006a290300370300200041c0006a200141d8006a290300370300200041d8006a200141f0006a290300370300200041d0006a200141e8006a290300370300200020012903603703482001280284012109200128028801220621040240200128028c012207450d00200741386c210a2007417f6a41ffffffff0171210b20062102024020074103712204450d00200621020340200241386a21022004417f6a22040d000b0b2006200a6a2104200b4103490d000340200241e0016a22022004470d000b0b200020053a006c20002006360264200020093602602000200420066b41386e36026802402001280278450d0020032003417e6a2f00006b41002802ec82d48000118180808000000b0f0b41ccfdcc8000412641c8fecc800010a181808000000b900201057f2380808080004180206b2203248080808000024002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d0020044104742106410021070240200541ffffffff004b0d00200641fcffffff074b0d0041002d008083d480001a200641002802f482d480001182808080000022050d02410421070b2007200641ccf8cc800010b980808000000b200020012003418002200141c10049200210b5948080000c010b2005200541036a417c71220620056b22076a417e6a20073b00002000200120062004200141c10049200210b59480800020062006417e6a2f01006b41002802ec82d48000118180808000000b20034180206a2480808080000ba90203037f017e027f2380808080004180206b22032480808080000240024020014180b51820014180b518491b2204200120014101766b2205200420054b1b220441cd01490d002004ad42147e2206a72105410021070240024002402006422088a70d00200541fcffffff074b0d00024020050d0041042105410021040c030b41002d008083d480001a200541002802f482d480001182808080000022070d01410421070b2007200541ccf8cc800010b980808000000b2007200741036a417c71220520076b22086a417e6a20083b00000b2000200120052004200141c10049200210b69480800020052005417e6a2f01006b41002802ec82d48000118180808000000c010b20002001200341cc01200141c10049200210b6948080000b20034180206a2480808080000be10501077f23808080800041106b2203248080808000024002400240200128028c0122040d00410421050c010b4100210641002d008083d480001a2004410274220741002802f482d48000118280808000002208450d012008200841036a417c71220520086b22076a417e6a20073b000020044107712107024020044108490d00200441f8ffff1f71210941002106200521080340200820063602002008411c6a200641076a360200200841186a200641066a360200200841146a200641056a360200200841106a200641046a3602002008410c6a200641036a360200200841086a200641026a360200200841046a200641016a360200200841206a2108200641086a22062009470d000b0b2007450d00200520064102746a2108034020082006360200200841046a2108200641016a21062007417f6a22070d000b0b2003200436020c2003200536020820032004360204200341003a0000200041c8006a2003200341106a10ad9480800002402003280204450d00200328020822062006417e6a2f00006b41002802ec82d48000118180808000000b200020012902783702542000200129031837030020002001290348370330200041dc006a20014180016a280200360200200041086a200141206a290300370300200041106a200141286a290300370300200041386a200141d0006a290300370300200041c0006a200141d8006a29030037030020012802840121092001280288012207210802402004450d00200441386c21012004417f6a41ffffffff0171210520072106024020044103712208450d00200721060340200641386a21062008417f6a22080d000b0b200720016a210820054103490d000340200641e0016a22062008470d000b0b2000200736026420002009360260200020022903003703182000200820076b41386e360268200041206a200241086a290300370300200041286a200241106a290300370300200341106a2480808080000f0b4104200741d8ffcc800010b980808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541253a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205419d013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541343a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205418c013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d5003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d3003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fe003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541193a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541293a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ff013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d8003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054180013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ad013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542bac9cebdb4c8b5b8283703002005420437022c2005420f370224200541e882cd800036022020054100360218200541c385808000360210200542fcb588bdbac5fdcb6a37030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005420437022c20054202370224200541cc82cd800036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c8003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205418a013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e0003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205419a013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205413e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ed003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541de013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cd013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541123a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e2003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f1003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541233a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054182013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541bf013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541aa013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541db013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e7003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541dc003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e4003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205418d013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205413f3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fd003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fc013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f4003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50401067f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e881cd800010b5928080002004280218220542fb8491aeb8cedab7ba7f370308200542a691cddcd9a0e28da77f370300200441086a41086a220641013602002005420437022c200542113702242005419c82cd800036022020054100360218200541c48580800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe4003703000c010b200441086a41e881cd800010b592808000200428020c200641386c6a2205420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe40037030020042802082107200428020c21080b0240200128020822092001280200470d00200141c880cd800010a0938080000b2001280204200941246c6a220541053a00202005200336021c200520023602182005410036021420054280808080c00037020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542ccf7ccd0e0b29f8c3e3703002005420437022c20054212370224200541f084cd800036022020054100360218200541c685808000360210200542b8e7b4a18b87cedd4637030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541093a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054186013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541eb003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410f3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cb003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541dd003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fa013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205419f013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ae013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e6003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541bb013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c9003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ea013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fd013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ef013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205418f013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f7003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205413a3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205412e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054188013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d9003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541273a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f2003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f9003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054199013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205412f3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541df003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c3003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ac013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541053a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541df013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205411f3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541243a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541323a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541303a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b592808000200428020822054285b6be8f95fcc9ca073703002005420437022c200542123702242005418983cd800036022020054100360218200541c785808000360210200542f6f689c9e4f4cbdb4c37030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541eb013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541de003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542abf4eea5aba3ed80957f3703002005420437022c20054216370224200541b784cd800036022020054100360218200541c885808000360210200542f9d8f1fbeb9388f9d90037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541173a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541073a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ca013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d6003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ab013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410d3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205419b013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541da013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d7003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541af013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541213a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541be013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005420437022c20054202370224200541cc82cd800036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541073a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fa003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054183013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e3003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054181013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ba013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c5003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541143a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541113a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f0003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542abf4eea5aba3ed80957f3703002005420437022c20054210370224200541a784cd800036022020054100360218200541c885808000360210200542f9d8f1fbeb9388f9d90037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541373a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205412d3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cc003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fb013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ef003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205413b3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410a3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054194013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205413c3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50401067f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e881cd800010b5928080002004280218220542fb8491aeb8cedab7ba7f370308200542a691cddcd9a0e28da77f370300200441086a41086a220641013602002005420437022c200542113702242005419c82cd800036022020054100360218200541c48580800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe4003703000c010b200441086a41e881cd800010b592808000200428020c200641386c6a2205420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe40037030020042802082107200428020c21080b0240200128020822092001280200470d00200141c880cd800010a0938080000b2001280204200941246c6a220541063a00202005200336021c200520023602182005410036021420054280808080c00037020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541133a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee4637030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205419e013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205411c3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c6003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054191013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ec013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d2003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541153a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541333a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542a19cde95be92a6d3ad7f3703002005420437022c200542123702242005418384cd800036022020054100360218200541c985808000360210200542e8d1bef3e58cfef72337030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d0003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541363a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541353a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054190013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e5003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541313a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e9003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541093a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f5003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541393a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f6003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054189013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541dc013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054196013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542ce999ce0cb81a2870f3703002005420437022c20054212370224200541f782cd800036022020054100360218200541ca85808000360210200542d194c6a489c9a7d44337030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054198013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205411b3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054195013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054192013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fc003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541da003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542d3f9b3aae597d0eef7003703002005420437022c2005420b370224200541d382cd800036022020054100360218200541cb85808000360210200542d599cea6ddba9d9c4d37030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fb003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cb013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c1003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cf003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541dd013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541063a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541bc013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b59280800020042802082205428d94ecbda8e5dab39f7f3703002005420437022c2005420a370224200541de82cd800036022020054100360218200541cc8580800036021020054288f8888dbae09bdbe50037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541073a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ce013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542f1e7ebbbcde7e2a22f3703002005420437022c200542093702242005418285cd800036022020054100360218200541cd85808000360210200542d6ebfba9e68ad8e31437030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e1003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ee003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541383a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541163a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054185013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054193013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cd003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c0003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054184013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541203a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541183a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d4003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541263a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205411e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c2003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541fe013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ca003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f8003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c7003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ed013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ee013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205413d3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205419c013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cc013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ec003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205411a3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541223a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ea003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541a3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d1003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205412a3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541d2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205412b3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541db003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541103a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205418b013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541b5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205412c3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541bd013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205418e013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541cf013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054197013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ff003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541e8003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410c3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50401067f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e881cd800010b5928080002004280218220542fb8491aeb8cedab7ba7f370308200542a691cddcd9a0e28da77f370300200441086a41086a220641013602002005420437022c200542113702242005419c82cd800036022020054100360218200541c48580800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe4003703000c010b200441086a41e881cd800010b592808000200428020c200641386c6a2205420437022c20054207370224200541ad82cd800036022020054100360218200541c58580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe40037030020042802082107200428020c21080b0240200128020822092001280200470d00200141c880cd800010a0938080000b2001280204200941246c6a220541043a00202005200336021c200520023602182005410036021420054280808080c00037020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541f3003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541ce003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a22054187013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541283a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205411d3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542a19cde95be92a6d3ad7f3703002005420437022c200542123702242005419584cd800036022020054100360218200541c985808000360210200542e8d1bef3e58cfef72337030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a2205410b3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e881cd800010b5928080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541b480808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141c880cd800010a0938080000b2001280204200841246c6a220541c4003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bb40402037f017e23808080800041c0006b2201248080808000200141186a41f086cd8000410a41fa86cd8000411b10c1928080002001410036021420014280808080c00037020c2001410036023820014280808080c000370230200141246a200141306a419587cd8000410a10e395808000200141306a200141246a419f87cd8000410910d796808000200141246a200141306a41a887cd80004104108b95808000200141306a200141246a41ac87cd8000410510e5958080000240200128023822022001280230470d00200141306a41c880cd800010a0938080000b2001280234200241246c22036a220241083a00202002411936021c200241b187cd800036021820024204370210200242003702082002428080808080013702002001280234210220012001280230360238200120023602302001200220036a41246a36023c20012002360234200141246a200141306a41d881cd800010f296808000024020012802182202418080808078470d0041f881cd80004111418c82cd800010a181808000000b200129021c2104200142888080808001370230200142808080808001370238200041c4006a200141306a41eca0cd800010f1968080002001413b6a200141246a41086a2802003600002000200437023c20002002360238200041013a000020002001410c6a2202290200370250200041d8006a200241086a2802003602002001200129022437003320002001290030370001200041086a200141376a290000370000200141c0006a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141eca0cd800010f1968080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004104360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bf50101047f23808080800041206b22032480808080004100210402400240200241146c220541046a22064100480d0041002d008083d480001a200641002802f482d480001182808080000022040d01410121040b2004200641f485cd800010b980808000000b2004417e6a41003b000020034100360214200320043602102003200636020c200320023602182003200341186a36021c2003411c6a2003410c6a10fe9680800002402002450d00034020012003410c6a10e396808000200141146a21012005416c6a22050d000b0b2000200329020c370200200041086a2003410c6a41086a280200360200200341206a2480808080000bee0201067f23808080800041206b22022480808080002002411c6a2103200241186a210402400240024002400240024020002d000022050e050001020305000b2002200041016a36021420002802102106200028020c210041002105200421070c030b410121052002200041016a36021420002802102106200028020c2100200421070c020b2002200041016a36021420002802102106200028020c210041022105200421070c010b200241146a2107200028020c21062000280208210041032105200421030b20032006360200200720003602000b20022005360210200241046a200241106a10e596808000200228020821000240200228020c22032001280200200128020822056b4d0d0020012005200310f491808000200128020821050b200128020420056a2000200310f4978080001a2001200520036a36020802402002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000bba0301067f23808080800041206b220224808080800041002103024002400240200128020c220441096a22054100480d00024020050d00410121030c030b41002d008083d480001a200541002802f482d480001182808080000022030d01410121030b2003200541f485cd800010b980808000000b2003417e6a41003b00000b4100210620024100360214200220033602102002200536020c2001280200418f9ccd80006a2d00002107024020050d002002410c6a4100410110f491808000200228020c210520022802102103200228021421060b200320066a20073a00002002200641016a2206360214200128020421070240200520066b41034b0d002002410c6a2006410410f49180800020022802102103200228021421060b200320066a20072800003600002002200641046a36021420012802082101200220043602182002200241186a36021c2002411c6a2002410c6a10fe9680800002402004200228020c200228021422056b4d0d002002410c6a2005200410f491808000200228021421050b200228021020056a2001200410f4978080001a200041086a200520046a3602002000200229020c370200200241206a2480808080000be30403017f017e047f23808080800041206b2202248080808000024002400240024002400240024020012802000e050001020304000b200129020421032002200128020c3602142002200337020c200241063602082000200241086a10e4968080000c040b200129020421032002200128020c3602142002200337020c200241043602082000200241086a10e4968080000c030b200129020421032002200128020c3602142002200337020c200241053602082000200241086a10e4968080000c020b410021040240024002402001280208220541056a22064100480d0020012802042107024020060d00200241003602102002428080808010370208200241086a4100410110f491808000200228020c2101200228021021040c030b4100210441002d008083d480001a200641002802f482d480001182808080000022010d01410121040b2004200641f485cd800010b980808000000b2001417e6a41003b00002002200136020c200220063602080b200120046a41003a00002002200441016a360210200220053602182002200241186a36021c2002411c6a200241086a10fe96808000024020052002280208200228021022016b4d0d00200241086a2001200510f491808000200228021021010b200228020c20016a2007200510f4978080001a200041086a200120056a360200200020022902083702000c010b41002d008083d480001a410141002802f482d48000118280808000002201450d01200141083a00002000410136020820002001360204200041013602002001417e6a41003b00000b200241206a2480808080000f0b4101410141f485cd800010b980808000000bab0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141eca0cd800010f1968080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041c000360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bab0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141eca0cd800010f1968080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041c100360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bf10101067f23808080800041106b22022480808080002002410c6a2103200241086a210402400240024002400240024020012d000022050e050001020305000b2002200141016a36020420012802102106200128020c210141002105200421070c030b410121052002200141016a36020420012802102106200128020c2101200421070c020b2002200141016a36020420012802102106200128020c210141022105200421070c010b200241046a2107200128020c21062001280208210141032105200421030b20032006360200200720013602000b200220053602002000200210e596808000200241106a2480808080000bcc3502027f017e23808080800041e0006b2201248080808000200141206a41086a410036020020014280808080c000370220200141206a41c880cd800010a0938080002001280224220242808080808001370200200141086a41086a4101360200200241003a00202002410836021c200241b488cd8000360218200242043702102002420037020820012001290220370308200141206a200141086a41bc88cd8000410710cb96808000200141d0006a200141206a41c388cd8000410710f295808000200141206a200141d0006a41ca88cd8000410710df95808000200141d0006a200141206a41d188cd80004107108f95808000200141206a200141d0006a41d888cd8000410710ae95808000200141d0006a200141206a41df88cd80004107109796808000200141206a200141d0006a41e688cd8000410710bb95808000200141d0006a200141206a41ed88cd8000410710f095808000200141206a200141d0006a41f488cd8000410710fd95808000200141d0006a200141206a41fb88cd8000410810dd95808000200141206a200141d0006a418389cd8000410810de96808000200141d0006a200141206a418b89cd8000410810d696808000200141206a200141d0006a419389cd8000410810c095808000200141d0006a200141206a419b89cd8000410810d596808000200141206a200141d0006a41a389cd80004108109095808000200141d0006a200141206a41ab89cd8000410810ca96808000200141206a200141d0006a41b389cd8000410810d295808000200141d0006a200141206a41bb89cd8000410810f094808000200141206a200141d0006a41c389cd8000410810e495808000200141d0006a200141206a41cb89cd8000410810d095808000200141206a200141d0006a41d389cd8000410810ee95808000200141d0006a200141206a41db89cd8000410810a196808000200141206a200141d0006a41e389cd8000410810ba95808000200141d0006a200141206a41eb89cd8000410810a996808000200141206a200141d0006a41f389cd8000410810dc94808000200141d0006a200141206a41fb89cd8000410810be96808000200141206a200141d0006a41838acd80004108108996808000200141d0006a200141206a418b8acd8000410810e895808000200141206a200141d0006a41938acd8000410810dc96808000200141d0006a200141206a419b8acd8000410810ae96808000200141206a200141d0006a41a38acd8000410810b095808000200141d0006a200141206a41ab8acd8000410810a896808000200141206a200141d0006a41b38acd8000410810c695808000200141d0006a200141206a41bb8acd8000410810c196808000200141206a200141d0006a41c38acd8000410810f694808000200141d0006a200141206a41cb8acd8000410810b295808000200141206a200141d0006a41d38acd8000410810d094808000200141d0006a200141206a41db8acd8000410810ad96808000200141206a200141d0006a41e38acd8000410810a595808000200141d0006a200141206a41eb8acd8000410810db96808000200141206a200141d0006a41f38acd8000410810de94808000200141d0006a200141206a41fb8acd8000410810c596808000200141206a200141d0006a41838bcd8000410810c896808000200141d0006a200141206a418b8bcd8000410810ce96808000200141206a200141d0006a41938bcd8000410810d795808000200141d0006a200141206a419b8bcd8000410810a295808000200141206a200141d0006a41a38bcd8000410810a995808000200141d0006a200141206a41ab8bcd8000410810b595808000200141206a200141d0006a41b38bcd8000410810fa95808000200141d0006a200141206a41bb8bcd8000410810b395808000200141206a200141d0006a41c38bcd8000410810f195808000200141d0006a200141206a41cb8bcd8000410810d594808000200141206a200141d0006a41d38bcd8000410810f695808000200141d0006a200141206a41db8bcd8000410810f595808000200141206a200141d0006a41e38bcd8000410810d695808000200141d0006a200141206a41eb8bcd8000410810a096808000200141206a200141d0006a41f38bcd8000410810ff95808000200141d0006a200141206a41fb8bcd8000410810a195808000200141206a200141d0006a41838ccd8000410810dc95808000200141d0006a200141206a418b8ccd8000410810e095808000200141206a200141d0006a41938ccd8000410810ba96808000200141d0006a200141206a419b8ccd8000410810eb94808000200141206a200141d0006a41a38ccd80004108108595808000200141d0006a200141206a41ab8ccd8000410810a696808000200141206a200141d0006a41b38ccd80004108109296808000200141d0006a200141206a41bb8ccd8000410810b396808000200141206a200141d0006a41c38ccd8000410810ab95808000200141d0006a200141206a41cb8ccd8000410810df96808000200141206a200141d0006a41d38ccd8000410810cf95808000200141d0006a200141206a41db8ccd8000410810e995808000200141206a200141d0006a41e38ccd8000410810b796808000200141d0006a200141206a41eb8ccd8000410810e594808000200141206a200141d0006a41f38ccd80004108109b95808000200141d0006a200141206a41fb8ccd8000410810b596808000200141206a200141d0006a41838dcd80004108109195808000200141d0006a200141206a418b8dcd8000410810d995808000200141206a200141d0006a41938dcd8000410810a496808000200141d0006a200141206a419b8dcd8000410810d996808000200141206a200141d0006a41a38dcd80004108109596808000200141d0006a200141206a41ab8dcd8000410810f495808000200141206a200141d0006a41b38dcd8000410810c496808000200141d0006a200141206a41bb8dcd8000410810ed95808000200141206a200141d0006a41c38dcd8000410810da94808000200141d0006a200141206a41cb8dcd8000410810ac96808000200141206a200141d0006a41d38dcd8000410810d894808000200141d0006a200141206a41db8dcd8000410810bd95808000200141206a200141d0006a41e38dcd8000410810c495808000200141d0006a200141206a41eb8dcd8000410810e094808000200141206a200141d0006a41f38dcd8000410810a495808000200141d0006a200141206a41fb8dcd80004108108e96808000200141206a200141d0006a41838ecd8000410810c996808000200141d0006a200141206a418b8ecd8000410810ff94808000200141206a200141d0006a41938ecd80004108109295808000200141d0006a200141206a419b8ecd8000410810b895808000200141206a200141d0006a41a38ecd8000410810aa95808000200141d0006a200141206a41ab8ecd8000410810e994808000200141206a200141d0006a41b38ecd80004108109e96808000200141d0006a200141206a41bb8ecd8000410810f294808000200141206a200141d0006a41c38ecd8000410810cb95808000200141d0006a200141206a41cb8ecd80004109108295808000200141206a200141d0006a41d48ecd8000410910f995808000200141d0006a200141206a41dd8ecd80004109109995808000200141206a200141d0006a41e68ecd8000410910fd94808000200141d0006a200141206a41ef8ecd8000410910d496808000200141206a200141d0006a41f88ecd8000410910fb95808000200141d0006a200141206a41818fcd8000410910c296808000200141206a200141d0006a418a8fcd80004109108e95808000200141d0006a200141206a41938fcd8000410910bd96808000200141206a200141d0006a419c8fcd8000410910ec94808000200141d0006a200141206a41a58fcd80004109109f96808000200141206a200141d0006a41ae8fcd8000410910db95808000200141d0006a200141206a41b78fcd8000410910d395808000200141206a200141d0006a41c08fcd8000410910f394808000200141d0006a200141206a41c98fcd8000410910a695808000200141206a200141d0006a41d28fcd8000410910d896808000200141d0006a200141206a41db8fcd80004109108995808000200141206a200141d0006a41e48fcd8000410910fe95808000200141d0006a200141206a41ed8fcd80004109108096808000200141206a200141d0006a41f68fcd8000410910a095808000200141d0006a200141206a41ff8fcd8000410910b696808000200141206a200141d0006a418890cd8000410910a795808000200141d0006a200141206a419190cd8000410910c995808000200141206a200141d0006a419a90cd80004109109096808000200141d0006a200141206a41a390cd80004109108d96808000200141206a200141d0006a41ac90cd80004109108795808000200141d0006a200141206a41b590cd8000410910db94808000200141206a200141d0006a41be90cd8000410910d396808000200141d0006a200141206a41c790cd8000410910e194808000200141206a200141d0006a41d090cd8000410910cd95808000200141d0006a200141206a41d990cd8000410910f794808000200141206a200141d0006a41e290cd8000410910ca95808000200141d0006a200141206a41eb90cd8000410910a796808000200141206a200141d0006a41f490cd8000410910a296808000200141d0006a200141206a41fd90cd80004109108d95808000200141206a200141d0006a418691cd8000410910da96808000200141d0006a200141206a418f91cd8000410910a395808000200141206a200141d0006a419891cd80004109108196808000200141d0006a200141206a41a191cd8000410910e694808000200141206a200141d0006a41aa91cd8000410910cc96808000200141d0006a200141206a41b391cd8000410910d794808000200141206a200141d0006a41bc91cd80004109108395808000200141d0006a200141206a41c591cd8000410910d096808000200141206a200141d0006a41ce91cd80004109109f95808000200141d0006a200141206a41d791cd8000410910f895808000200141206a200141d0006a41e091cd8000410910ea95808000200141d0006a200141206a41e991cd80004109108b96808000200141206a200141d0006a41f291cd8000410910a396808000200141d0006a200141206a41fb91cd8000410910de95808000200141206a200141d0006a418492cd80004109108a96808000200141d0006a200141206a418d92cd80004109108496808000200141206a200141d0006a419692cd8000410910d296808000200141d0006a200141206a419f92cd80004109108896808000200141206a200141d0006a41a892cd8000410910a895808000200141d0006a200141206a41b192cd8000410910ea94808000200141206a200141d0006a41ba92cd8000410910c195808000200141d0006a200141206a41c392cd8000410910bb96808000200141206a200141d0006a41cc92cd8000410910d394808000200141d0006a200141206a41d592cd8000410910e695808000200141206a200141d0006a41de92cd80004109109695808000200141d0006a200141206a41e792cd8000410910ef95808000200141206a200141d0006a41f092cd8000410910e195808000200141d0006a200141206a41f992cd8000410910d994808000200141206a200141d0006a418293cd8000410910c396808000200141d0006a200141206a418b93cd8000410910f594808000200141206a200141d0006a419493cd8000410910d895808000200141d0006a200141206a419d93cd80004109108c96808000200141206a200141d0006a41a693cd8000410910d494808000200141d0006a200141206a41af93cd8000410910dd94808000200141206a200141d0006a41b893cd8000410910fe94808000200141d0006a200141206a41c193cd8000410910fb94808000200141206a200141d0006a41ca93cd8000410910be95808000200141d0006a200141206a41d393cd8000410910ad95808000200141206a200141d0006a41dc93cd8000410910e294808000200141d0006a200141206a41e593cd80004109109895808000200141206a200141d0006a41ee93cd8000410910c595808000200141d0006a200141206a41f793cd8000410910ac95808000200141206a200141d0006a418094cd8000410910b296808000200141d0006a200141206a418994cd8000410910d294808000200141206a200141d0006a419294cd80004109109795808000200141d0006a200141206a419b94cd8000410910c096808000200141206a200141d0006a41a494cd8000410910cd96808000200141d0006a200141206a41ad94cd8000410910b495808000200141206a200141d0006a41b694cd8000410910eb95808000200141d0006a200141206a41bf94cd8000410910f494808000200141206a200141d0006a41c894cd8000410910e295808000200141d0006a200141206a41d194cd8000410910ce95808000200141206a200141d0006a41da94cd80004109109a95808000200141d0006a200141206a41e394cd80004109109896808000200141206a200141d0006a41ec94cd8000410910cf96808000200141d0006a200141206a41f594cd8000410910c795808000200141206a200141d0006a41fe94cd8000410910fa94808000200141d0006a200141206a418795cd80004109108696808000200141206a200141d0006a419095cd80004109109495808000200141d0006a200141206a419995cd80004109108195808000200141206a200141d0006a41a295cd8000410910cc95808000200141d0006a200141206a41ab95cd8000410910af96808000200141206a200141d0006a41b495cd8000410910ef94808000200141d0006a200141206a41bd95cd80004109109b96808000200141206a200141d0006a41c695cd8000410910b195808000200141d0006a200141206a41cf95cd8000410910f994808000200141206a200141d0006a41d895cd8000410910a596808000200141d0006a200141206a41e195cd8000410910bc95808000200141206a200141d0006a41ea95cd80004109109196808000200141d0006a200141206a41f395cd8000410910bc96808000200141206a200141d0006a41fc95cd8000410910ee94808000200141d0006a200141206a418596cd80004109109a96808000200141206a200141d0006a418e96cd8000410910d196808000200141d0006a200141206a419796cd8000410910e795808000200141206a200141d0006a41a096cd8000410910ab96808000200141d0006a200141206a41a996cd8000410910c696808000200141206a200141d0006a41b296cd80004109108596808000200141d0006a200141206a41bb96cd80004109109496808000200141206a200141d0006a41c496cd80004109108296808000200141d0006a200141206a41cd96cd8000410910bf95808000200141206a200141d0006a41d696cd8000410910d595808000200141d0006a200141206a41df96cd8000410910d694808000200141206a200141d0006a41e896cd8000410910f194808000200141d0006a200141206a41f196cd8000410910c295808000200141206a200141d0006a41fa96cd8000410910fc94808000200141d0006a200141206a418397cd80004109108396808000200141206a200141d0006a418c97cd80004109109696808000200141d0006a200141206a419597cd8000410910ed94808000200141206a200141d0006a419e97cd8000410910af95808000200141d0006a200141206a41a797cd8000410910c395808000200141206a200141d0006a41b097cd8000410910fc95808000200141d0006a200141206a41b997cd8000410910b096808000200141206a200141d0006a41c297cd80004109108095808000200141d0006a200141206a41cb97cd80004109109c96808000200141206a200141d0006a41d497cd80004109109396808000200141d0006a200141206a41dd97cd80004109109395808000200141206a200141d0006a41e697cd8000410910e894808000200141d0006a200141206a41ef97cd80004109108495808000200141206a200141d0006a41f897cd8000410910c796808000200141d0006a200141206a418198cd80004109109c95808000200141206a200141d0006a418a98cd8000410910b795808000200141d0006a200141206a419398cd8000410910ec95808000200141206a200141d0006a419c98cd8000410910b896808000200141d0006a200141206a41a598cd8000410910b996808000200141206a200141d0006a41ae98cd80004109109e95808000200141d0006a200141206a41b798cd8000410910e794808000200141206a200141d0006a41c098cd8000410910d194808000200141d0006a200141206a41c998cd80004109108695808000200141206a200141d0006a41d298cd8000410910f795808000200141d0006a200141206a41db98cd8000410910b196808000200141206a200141d0006a41e498cd80004109108a95808000200141d0006a200141206a41ed98cd8000410910d195808000200141206a200141d0006a41f698cd8000410910bf96808000200141d0006a200141206a41ff98cd8000410910f894808000200141206a200141d0006a418899cd8000410910aa96808000200141d0006a200141206a419199cd80004109109595808000200141206a200141d0006a419a99cd8000410910da95808000200141d0006a200141206a41a399cd80004109108895808000200141206a200141d0006a41ac99cd80004109109d95808000200141d0006a200141206a41b599cd8000410910b496808000200141146a200141d0006a41be99cd8000410910df94808000200141206a41186a41c799cd8000410341ca99cd8000411810c19280800020014100360234200141043602302001410036022c2001200128021436025820012001280218220236025020012002200128021c41246c6a36025c20012002360254200141c4006a200141d0006a41d881cd800010f296808000024020012802382202418080808078470d0041f881cd80004111418c82cd800010a181808000000b200129023c2103200142888080808001370250200142808080808001370258200041c4006a200141d0006a41eca0cd800010f196808000200141db006a200141c4006a41086a2802003600002000200337023c20002002360238200041013a000020002001412c6a2202290200370250200041d8006a200241086a2802003602002001200129024437005320002001290050370001200041086a200141d0006a41076a290000370000200141e0006a2480808080000bf10601077f23808080800041206b22022480808080000240024002400240024002400240024020002d0000220320012d00002204470d00410c21054108210602400240024002400240024020030e05000102050d000b20002800012001280001470d020c030b20002800012001280001460d0241e299cd8000411441002802f480d48000118b80808000002002411c6a2105200241186a21060c080b20002800012001280001460d0141e299cd8000411441002802f480d48000118b80808000002002411c6a2105200241186a21060c060b41e299cd8000411441002802f480d48000118b80808000002002411c6a2105200241186a21060c030b41102105410c21060b200020056a2802002207200120056a280200470d00200020066a280200200120066a280200200710f597808000450d070b41e299cd8000411441002802f480d48000118b80808000002002411c6a2105200241186a210620030e050003020105000b2002200041016a36021420002802102107200028020c210041002103200621080c030b200241146a2108200028020c21072000280208210041032103200621050c020b2002200041016a36021420002802102107200028020c210041022103200621080c010b410121032002200041016a36021420002802102107200028020c2100200621080b20052007360200200820003602000b20022003360210200241046a200241106a10e59680800020022802082200200228020c41002802ec80d48000118b808080000002402002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b2002411c6a2100200241186a210302400240024002400240024020040e050001020305000b2002200141016a36021420012802102105200128020c210141002104200321060c030b410121042002200141016a36021420012802102105200128020c2101200321060c020b2002200141016a36021420012802102105200128020c210141022104200321060c010b200241146a2106200128020c21052001280208210141032104200321000b20002005360200200620013602000b20022004360210200241046a200241106a10e59680800020022802082200200228020c41002802ec80d48000118b80808000002002280204450d0020002000417e6a2f00006b41002802ec82d48000118180808000000b200241206a2480808080000bcc0403057f017e027f23808080800041d0006b2201248080808000200141286a41f699cd8000410641fa86cd8000411b4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c21062001280228210720014100360218200142808080808001370210200141106a41e881cd800010b59280800020012802142208429e8be7cd8981b3eaff003703002008420437022c2008420f370224200841b882cd80003602202008410436021c200841b482cd8000360218200841ce85808000360210200842e1d68ab6e4f7eea5b37f3703082001280214210820012001280210360248200120083602402001200841386a36024c20012008360244200141346a200141c0006a41d881cd800010f39680800002402007418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bea1004057f017e037f017e23808080800041d0006b2201248080808000200141186a41186a41fc99cd8000410941859acd800041184104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41d881cd800010f196808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41c880cd800010a093808000200128021c22084100360208200842808080808001370200200841003a00202008411036021c2008419d9acd80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41c880cd800010a0938080000b2001280244410141246c6a220841013a00202008411236021c200841ad9acd800036021820084204370210200842003702082008428080808080013702002007410141016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841023a00202008411436021c200841bf9acd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841033a00202008410c36021c200841d39acd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841043a00202008410b36021c200841df9acd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841053a00202008410c36021c200841ea9acd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841063a00202008410e36021c200841f69acd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841073a00202008410f36021c200841849bcd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841083a00202008411736021c200841939bcd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841093a00202008411536021c200841aa9bcd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a2208410a3a00202008410d36021c200841bf9bcd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a2208410b3a00202008410f36021c200841cc9bcd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a2208410c3a00202008410c36021c200841db9bcd80003602182008420437021020084200370208200842808080808001370200200141c8006a200941016a220836020020012001290318220a37034002402008200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200841246c22096a2208410d3a00202008410b36021c200841e79bcd800036021820084204370210200842003702082008428080808080013702002001280244210820012001280240360220200120083602182001200820096a41246a3602242001200836021c200141c0006a200141186a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41eca0cd800010f196808000200141186a410b6a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000bbf0303057f017e017f23808080800041d0006b2201248080808000200141286a41f29bcd8000410b41fd9bcd800041124104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c210620012802282107200142808080808001370248200142888080808001370240200141346a200141c0006a41d881cd800010f39680800002402007418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41eca0cd800010f196808000200141106a410b6a200141346a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041cf8580800036021820004280d4e2cbe1c7a683cd003703102000429995e3dd95c0fff102370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041c58580800036021820004296e397c6bfa5aeee46370310200042aceff0b4f2bd8f8fe400370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b22074105762208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108412010f7968080002003280208210a200328020c21090b200a20094105746a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b4105762108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741246e2208200128020822014101764f0d01410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a410020084104412410f7968080002003280208210a200328020c21090b200a200941246c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41246e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000bb70201087f23808080800041106b2203248080808000200128020c210402400240024002402001280200220520012802042206460d00200420066b220741386e2208200128020822014101764f0d01410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020084108413810f7968080002003280208210a200328020c21090b200a200941386c6a2006200710f4978080001a2003200920086a36020c02402001450d0020052005417e6a2f00006b41002802ec82d48000118180808000000b20002003290204370200200041086a200341046a41086a2802003602000c030b200420056b41386e2108200128020821010c010b20052006200710f9978080001a0b2000200836020820002005360204200020013602000b200341106a2480808080000b170020012802002001280204200028020010b1818080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be80103057f017e017f23808080800041206b22022480808080004100210302402000280200220441017422054104200541044b1b2206ad42147e2207422088a7450d0041004100200110b980808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441146c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10f59680800020022802084101470d0120022802102105200228020c21030b20032005200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10f59680800020052802084101470d0120052802102102200528020c21060b2006200241909dcd800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000ba50303027f027e037f200141106a21032002280214210420022903002105200129030021060240200228021822072001280210200128021822086b4d0d002003200820074104410c10f796808000200128021821080b20012802142008410c6c6a20042007410c6c10f4978080001a2001200820076a3602182002410036021820002003290300370310200041186a200341086a2802003602002001411c6a210720022802202108024020022802242209200128021c200128022422036b4d0d002007200320094104410c10f796808000200128022421030b20012802202003410c6c6a20082009410c6c10f4978080001a2001200320096a360224200241003602242000427f200620057c220520052006541b3703002000200729020037021c200041246a200741086a280200360200200020012d002820022d0028713a00282000200229030822062001290308220520062005541b37030802402002280210450d0020042004417e6a2f00006b41002802ec82d48000118180808000000b0240200228021c450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b0b880f04057f017e037f017e23808080800041d0006b2201248080808000200141306a41a09dcd8000411241b29dcd800041204104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41d881cd800010f196808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41c880cd800010a093808000200128021c22084100360208200842808080808001370200200841003a00202008410436021c200841d29dcd80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41c880cd800010a0938080000b2001280244410141246c6a220841013a00202008410736021c200841d69dcd800036021820084204370210200842003702082008428080808080013702002007410141016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841023a00202008410636021c200841dd9dcd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841033a00202008410536021c200841e39dcd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841043a00202008410836021c200841e89dcd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841053a00202008411136021c200841f09dcd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841063a00202008411136021c200841819ecd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a2207200941016a36020020012001290318370340200141186a200141c0006a41929ecd8000410610c8958080000240200128022022092001280218470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841083a00202008410c36021c200841989ecd800036021820084204370210200842003702082008428080808080013702002007200941016a220936020020012001290218220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841093a00202008411336021c200841a49ecd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a2208410a3a00202008410936021c200841b79ecd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a2208410b3a00202008411536021c200841c09ecd80003602182008420437021020084200370208200842808080808001370200200141206a200941016a220836020020012001290340220a37031802402008200aa7470d00200141186a41c880cd800010a0938080000b200128021c200841246c22096a2208410c3a00202008410d36021c200841d59ecd80003602182008420437021020084200370208200842808080808001370200200128021c210820012001280218360220200120083602182001200820096a41246a3602242001200836021c200141c0006a200141186a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41eca0cd800010f196808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000be40503057f017e027f23808080800041d0006b2201248080808000200141286a41e29ecd8000411241b29dcd800041204104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a2207410036020020014280808080c000370210200141106a41c880cd800010a093808000200128021422084100360208200842808080808001370200200841003a00202008410c36021c200841f49ecd80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290210370340024020012802404101470d00200141c0006a41c880cd800010a0938080000b2001280244410141246c6a220841013a00202008411336021c200841809fcd800036021820084204370210200842003702082008428080808080013702002007410141016a36020020012001290340370310200141346a200141106a41929ecd8000410610e4948080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b9d0403057f017e027f23808080800041d0006b2201248080808000200141106a41186a41939fcd8000411841b29dcd800041204104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41ab9fcd80004107108796808000200141346a200141c0006a41b29fcd8000410710b6958080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a41d881cd800010f29680800002402007418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bb30604057f017e027f017e23808080800041d0006b2201248080808000200141306a41b99fcd8000411141b29dcd800041204104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41d881cd800010f196808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41c880cd800010a093808000200128021c22084100360208200842808080808001370200200841003a00202008410736021c200841ca9fcd80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41c880cd800010a0938080000b2001280244410141246c6a220841013a00202008410536021c200841d19fcd800036021820084204370210200842003702082008428080808080013702002007410141016a2208360200200120012903402209370318024020082009a7470d00200141186a41c880cd800010a0938080000b200128021c200841246c22076a220841023a00202008410836021c200841d69fcd80003602182008420437021020084200370208200842808080808001370200200128021c210820012001280218360220200120083602182001200820076a41246a3602242001200836021c200141c0006a200141186a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41eca0cd800010f196808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000bc10904057f017e037f017e23808080800041d0006b2201248080808000200141286a41de9fcd8000411041b29dcd800041204104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a22074100360200200142808080808001370210200141106a41e881cd800010b5928080002001280214220842a5e9e3ab9e929adc2c37030820084293888c8f89fdc6ec9e7f370300200141c0006a41086a220941013602002008420437022c20084213370224200841a383cd80003602202008410836021c2008419b83cd80003602182008419981808000360210200120012902103703400240200928020022092001280240470d00200141c0006a41e881cd800010b5928080000b2001280244200941386c6a2208420437022c20084213370224200841be83cd80003602202008410836021c200841b683cd8000360218200841d085808000360210200842d0eeea8fe2e880c510370308200842b1b9bbf6d09c8ca47b3703002007200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41e881cd800010b5928080000b2001280214200941386c6a2208420437022c20084213370224200841be83cd80003602202008410836021c200841d183cd8000360218200841d085808000360210200842d0eeea8fe2e880c510370308200842b1b9bbf6d09c8ca47b370300200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41e881cd800010b5928080000b2001280244200941386c6a2208420437022c20084214370224200841e283cd80003602202008410936021c200841d983cd80003602182008419981808000360210200842a5e9e3ab9e929adc2c37030820084293888c8f89fdc6ec9e7f370300200141106a41086a200941016a220836020020012001290340220a37031002402008200aa7470d00200141106a41e881cd800010b5928080000b2001280214200841386c22096a2208420437022c20084204370224200841ff83cd80003602202008410936021c200841f683cd8000360218200841e980808000360210200842febac4ad81b6fafcb37f37030820084298848fa1dab08ba1743703002001280214210820012001280210360248200120083602402001200820096a41386a36024c20012008360244200141346a200141c0006a41d881cd800010f39680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000b1200200041fca0cd8000200110b1818080000b2d0002402000280200450d00200028020422002000417e6a2f00006b41002802ec82d48000118180808000000b0bb80201037f200028020821020240024020014180014f0d00410121030c010b024020014180104f0d00410221030c010b41034104200141808004491b21030b2002210402402003200028020020026b4d0d002000200220034101410110f796808000200028020821040b200028020420046a21040240024002402001418001490d002001418010490d010240200141808004490d0020042001413f71418001723a00032004200141127641f001723a000020042001410676413f71418001723a000220042001410c76413f71418001723a00010c030b20042001413f71418001723a000220042001410c7641e001723a000020042001410676413f71418001723a00010c020b200420013a00000c010b20042001413f71418001723a00012004200141067641c001723a00000b2000200320026a36020841000b4f01017f024020022000280200200028020822036b4d0d002000200320024101410110f796808000200028020821030b200028020420036a2001200210f4978080001a2000200320026a36020841000b040041010be50101017f23808080800041c0006b2202248080808000200242808080801037020c200241003602142002410136021c200241aca1cd800036021820024201370224200241d185808000ad4220862002413c6aad8437033020022001412c6a36023c2002200241306a3602202002410c6a41fca0cd8000200241186a10b1818080001a20012d0020417f6a200128022420012802282002280210200228021441002802fc81d48000118780808000000240200228020c450d00200228021022012001417e6a2f00006b41002802ec82d48000118180808000000b200241c0006a2480808080000b02000bd20302027f017e23808080800041d0006b2201248080808000200141186a41cfa1cd8000410f41dea1cd8000410a10c1928080002001410036021420014280808080c00037020c20014100360248200142808080808001370240200141c0006a41e881cd800010b5928080002001280244220242aceff0b4f2bd8f8fe4003703002002420437022c20024207370224200241ad82cd800036022020024100360218200241c58580800036021020024296e397c6bfa5aeee463703082001280244210220012001280240360238200120023602302001200241386a36023c20012002360234200141246a200141306a41d881cd800010f396808000024020012802182202418080808078470d0041f881cd80004111418c82cd800010a181808000000b200129021c2103200142888080808001370240200142808080808001370248200041c4006a200141c0006a41eca0cd800010f196808000200141cb006a200141246a41086a2802003600002000200337023c20002002360238200041003a000020002001410c6a2202290200370250200041d8006a200241086a2802003602002001200129022437004320002001290040370001200041086a200141c7006a290000370000200141d0006a2480808080000bcc0403057f017e027f23808080800041d0006b2201248080808000200141286a41e8a1cd8000410e41dea1cd8000410a4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41f6a1cd8000410710f395808000200141106a200141c0006a41fda1cd8000410710dd96808000200141c0006a200141106a4184a2cd8000410510d495808000200141346a200141c0006a4189a2cd8000410310b9958080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a41d881cd800010f29680800002402007418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bf60503057f017e027f23808080800041d0006b2201248080808000200141286a418ca2cd8000410b41dea1cd8000410a4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a4100360200200142808080808001370210200141106a41e881cd800010b5928080002001280214220742dbd791d5c2919eaecd00370308200742e6ed8d82cc91adcb05370300200141c0006a41086a220841013602002007420437022c20074202370224200741cc82cd80003602202007410536021c200741c782cd8000360218200741b480808000360210200120012902103703400240200828020022072001280240470d00200141c0006a41e881cd800010b5928080000b2001280244200741386c22086a2207420437022c20074223370224200741cd84cd80003602202007410536021c200741ce82cd8000360218200741c485808000360210200742fb8491aeb8cedab7ba7f370308200742a691cddcd9a0e28da77f3703002001280244210720012001280240360248200120073602402001200720086a41386a36024c20012007360244200141346a200141c0006a41d881cd800010f39680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141346a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000bb50503057f017e027f23808080800041c0006b2201248080808000200141246a4197a2cd8000411241dea1cd8000410a4104410010c2928080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41d881cd800010f196808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080c00037020c2001410c6a41c880cd800010a093808000200128021022074100360208200742808080808001370200200741003a00202007410c36021c200741a9a2cd80003602182007410036021420074280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41c880cd800010a0938080000b2001280234410141246c22086a220741013a00202007410736021c200741b5a2cd8000360218200742043702102007420037020820074280808080800137020020012802342107200120012802303602142001200736020c2001200720086a41246a36021820012007360210200141306a2001410c6a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a41eca0cd800010f196808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a2001410c6a41076a290000370000200141c0006a2480808080000b900e04057f017e037f017e23808080800041d0006b2201248080808000200141286a41c2a1cd8000410d41dea1cd8000410a4104410010c2928080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41d881cd800010f196808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a2207410036020020014280808080c000370210200141106a41c880cd800010a093808000200128021422084100360208200842808080808001370200200841003a00202008410536021c200841bca2cd80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290210370340024020012802404101470d00200141c0006a41c880cd800010a0938080000b2001280244410141246c6a220841013a00202008410c36021c200841c1a2cd800036021820084204370210200842003702082008428080808080013702002007410141016a220936020020012001290340220a37031002402009200aa7470d00200141106a41c880cd800010a0938080000b2001280214200941246c6a220841023a00202008410936021c200841cda2cd80003602182008420437021020084200370208200842808080808001370200200141c8006a2207200941016a36020020012001290310370340200141106a200141c0006a41d6a2cd80004106108f968080000240200128021822092001280210470d00200141106a41c880cd800010a0938080000b2001280214200941246c6a220841043a00202008411136021c200841dca2cd800036021820084204370210200842003702082008428080808080013702002007200941016a220936020020012001290210220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841053a00202008410b36021c200841eda2cd80003602182008420437021020084200370208200842808080808001370200200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41c880cd800010a0938080000b2001280214200941246c6a220841063a00202008411036021c200841f8a2cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a36020020012001290310370340200141106a200141c0006a4188a3cd80004105109996808000200141c0006a200141106a418da3cd8000410a10e394808000200141106a200141c0006a4197a3cd8000410d108c958080000240200128021822092001280210470d00200141106a41c880cd800010a0938080000b2001280214200941246c6a2208410a3a00202008410936021c200841a4a3cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290210220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a2208410b3a00202008410a36021c200841ada3cd80003602182008420437021020084200370208200842808080808001370200200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41c880cd800010a0938080000b2001280214200941246c6a2208410c3a00202008410b36021c200841b7a3cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a2208410d3a00202008410e36021c200841c2a3cd80003602182008420437021020084200370208200842808080808001370200200141106a41086a200941016a36020020012001290340370310200141346a200141106a41d0a3cd80004104109d968080002001200128023436021820012001280238220836021020012008200128023c41246c6a36021c20012008360214200141c0006a200141106a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a41eca0cd800010f1968080002001411b6a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b860d04057f017e037f017e23808080800041d0006b2201248080808000200141306a41d4a3cd8000410a41dea1cd8000410a4104410010c2928080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41d881cd800010f196808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41c880cd800010a093808000200128021c22084100360208200842808080808001370200200841003a00202008411036021c200841dea3cd80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41c880cd800010a0938080000b2001280244410141246c6a220841013a00202008410c36021c200841eea3cd800036021820084204370210200842003702082008428080808080013702002007410141016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841023a00202008410c36021c200841faa3cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841033a00202008410c36021c20084186a4cd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841043a00202008410c36021c20084192a4cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841053a00202008410636021c2008419ea4cd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841063a00202008410b36021c200841a4a4cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200941246c6a220841073a00202008411036021c200841afa4cd80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41c880cd800010a0938080000b200128021c200941246c6a220841083a00202008410d36021c200841bfa4cd80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220836020020012001290318220a37034002402008200aa7470d00200141c0006a41c880cd800010a0938080000b2001280244200841246c22096a220841093a00202008410736021c200841cca4cd800036021820084204370210200842003702082008428080808080013702002001280244210820012001280240360220200120083602182001200820096a41246a3602242001200836021c200141c0006a200141186a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41eca0cd800010f196808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a200141186a41076a290000370000200141d0006a2480808080000bb20503057f017e027f23808080800041c0006b2201248080808000200141246a41d3a4cd8000411641dea1cd8000410a4104410010c2928080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41d881cd800010f196808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080c00037020c2001410c6a41c880cd800010a093808000200128021022074100360208200742808080808001370200200741003a00202007410d36021c200741e9a4cd80003602182007410036021420074280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41c880cd800010a0938080000b2001280234410141246c22086a220741013a00202007410d36021c200741f6a4cd8000360218200742043702102007420037020820074280808080800137020020012802342107200120012802303602142001200736020c2001200720086a41246a36021820012007360210200141306a2001410c6a41d881cd800010f29680800002402005418080808078470d0041f881cd80004111418c82cd800010a181808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a41eca0cd800010f196808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bfa21010f7f23808080800041e0046b2206248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01e20c2208410b490d00200128020421082001280208210941002d008083d480001a41e40c41002802f482d48000118280808000002201450d082001200141036a417c7120016b220a6a220b41003b01e20c200b410036028802200b417e6a200a3b000020094105490d012009417b6a0e020304020b20072001280208220941186c6a210b02400240200941016a220a20084d0d00200b2002290200370200200b41106a200241106a290200370200200b41086a200241086a2902003702000c010b2007200a41186c6a200b200820096b220c41186c10f9978080001a200b41106a200241106a290200370200200b41086a200241086a290200370200200b20022902003702002007418c026a2202200a41fc006c6a2002200941fc006c6a200c41fc006c10f9978080001a0b2007200941fc006c6a418c026a200341fc0010f4978080001a2007200841016a3b01e20c2001280204210d0c0f0b200641a8026a41086a220c200741ec006a290200370300200641a8026a41106a220e200741f4006a280200360200200b20072f01e20c417b6a22013b01e20c200620072902643703a8022007280260210a200641bc026a200741fc056a41fc0010f4978080001a2001410c4f0d07200b200741f8006a200141186c10f497808000418c026a200741f8066a200141fc006c10f4978080001a200741043b01e20c200641b8036a41086a200c290300370300200641b8036a41106a200e280200360200200620062903a8023703b803200641cc036a200641bc026a41fc0010f4978080001a2008210d2007210e0c040b200641a8026a41086a220c2007419c016a290200370300200641a8026a41106a220e200741a4016a280200360200200b20072f01e20c41796a22013b01e20c20062007290294013703a802200728029001210a200641bc026a200741f4076a41fc0010f4978080001a2001410c4f0d07200b200741a8016a200141186c10f497808000418c026a200741f0086a200141fc006c10f4978080001a200741063b01e20c200641b8036a41086a200c290300370300200641b8036a41106a200e280200360200200620062903a8023703b803200641cc036a200641bc026a41fc0010f4978080001a200941796a21090c020b200641a8026a41086a220920074184016a290200370300200641a8026a41106a220c2007418c016a280200360200200b20072f01e20c417a6a22013b01e20c2006200729027c3703a8022007280278210a200641bc026a200741f8066a220e41fc0010f4978080001a2001410c4f0d07200b20074190016a200141186c10f497808000418c026a200741f4076a200141fc006c10f4978080001a200641b8036a41106a200c280200360200200641b8036a41086a2009290300370300200620062903a8023703b803200641cc036a200641bc026a41fc0010f4978080001a200741f8006a220141106a200241106a290200370200200141086a200241086a29020037020020012002290200370200200e200341fc0010f4978080001a200741063b01e20c410521092008210d2007210e0c030b200641a8026a41086a220920074184016a290200370300200641a8026a41106a220c2007418c016a280200360200200b20072f01e20c417a6a22013b01e20c2006200729027c3703a8022007280278210a200641bc026a200741f8066a41fc0010f4978080001a2001410c4f0d07200b20074190016a200141186c10f497808000418c026a200741f4076a200141fc006c10f4978080001a200741053b01e20c200641b8036a41086a2009290300370300200641b8036a41106a200c280200360200200620062903a8023703b803200641cc036a200641bc026a41fc0010f4978080001a410021090b4100210d200b210e0b200e200941186c6a210102400240200e2f01e20c220c20094b0d0020012002290200370200200141106a200241106a290200370200200141086a200241086a2902003702000c010b200141186a2001200c20096b220f41186c10f9978080001a200141106a200241106a290200370200200141086a200241086a29020037020020012002290200370200200e200941fc006c6a22014188036a2001418c026a200f41fc006c10f9978080001a0b200e200941fc006c6a418c026a200341fc0010f4978080001a200e200c41016a3b01e20c0b200641086a200641b8036a41900110f4978080001a0240200a418080808078470d00200e21070c090b20064198016a200641086a41900110f4978080001a024020072802880222010d00410021020c080b200641d4046a2110200641cc046a2111200641b8036a41046a211220064198016a41146a21134100210220064198016a41106a2114034020022008470d0620072f01e00c2107024002400240024020012f01e20c2202410b490d00200841016a2102200741054f0d01410421032011210c200721080c020b200741016a2108200241016a210c2001200741186c6a21030240024020072002490d0020032006290298013702042003200a360200200341146a200641a8016a2802003602002003410c6a200641a0016a2902003702002001200741fc006c6a418c026a201341fc0010f4978080001a0c010b2001200841186c6a2003200220076b220f41186c10f9978080001a200341146a200641a8016a2802003602002003410c6a20064198016a41086a29020037020020032006290298013702042001418c026a2212200841fc006c6a2012200741fc006c6a2212200f41fc006c10f9978080001a2003200a3602002012201341fc0010f4978080001a200141e40c6a220a20074102746a41086a200a20084102746a200f41027410f9978080001a0b2001200c3b01e20c200120084102746a200b3602e40c2008200241026a220a4f0d0a0240200220076b220341016a4103712202450d00200120074102746a41e80c6a210703402007280200220b20083b01e00c200b200136028802200741046a2107200841016a21082002417f6a22020d000b0b20034103490d0a200841027420016a41f00c6a21070340200741746a280200220220083b01e00c2002200136028802200741786a2802002202200841016a3b01e00c20022001360288022007417c6a2802002202200841026a3b01e00c200220013602880220072802002202200841036a3b01e00c2002200136028802200741106a2107200a200841046a2208470d000c0b0b0b41002108410521032010210c024002402007417b6a0e020002010b200641053602c402200620023602c002200620013602bc02200641b8036a200641bc026a108e9780800020062802cc0422072f01e20c220141016a210802400240024020014106490d0020074190016a200741f8006a2001417b6a220241186c10f9978080001a2007200a360278200720062902980137027c20074184016a20064198016a41086a2902003702002007418c016a2014280200360200200741f4076a200741f8066a220a200241fc006c10f9978080001a200a201341fc0010f4978080001a200741800d6a200741fc0c6a2001410274416c6a10f9978080001a200720083b01e20c2007200b3602fc0c0c010b2007200a360278200720062902980137027c20074184016a20064198016a41086a2902003702002007418c016a2014280200360200200741f8066a201341fc0010f4978080001a200720083b01e20c2007200b3602fc0c20014105470d010b2001410371210b4106210802402001417b6a41ffff03714103490d00200141fcff037141786a210341062101410021020340200720026a220841fc0c6a280200220a20013b01e00c200a200736028802200841800d6a280200220a200141016a3b01e00c200a200736028802200841840d6a280200220a200141026a3b01e00c200a200736028802200841880d6a2802002208200141036a3b01e00c2008200736028802200241106a21022001417a6a210a200141046a22082101200a2003470d000b0b200b450d00200720084102746a41e40c6a210103402001280200220220083b01e00c2002200736028802200141046a2101200841016a2108200b417f6a220b0d000b0b20062802b803210a200641086a201241900110f4978080001a0c020b200741796a2108410621032010210c0b200620033602c402200620023602c002200620013602bc02200841016a2107200641b8036a200641bc026a108e97808000200c2802002201200841186c6a210220012f01e20c220341016a210c02400240200320084b0d002002200a36020020022006290298013702042002410c6a20064198016a41086a290200370200200241146a20142802003602002001200841fc006c6a418c026a201341fc0010f4978080001a0c010b2001200741186c6a2002200320086b220f41186c10f9978080001a2002200a36020020022006290298013702042002410c6a20064198016a41086a290200370200200241146a20142802003602002001418c026a2202200741fc006c6a2002200841fc006c6a2202200f41fc006c10f9978080001a2002201341fc0010f4978080001a200141e40c6a220220084102746a41086a200220074102746a200f41027410f9978080001a0b2001200c3b01e20c200120074102746a200b3602e40c02402007200341026a220a4f0d000240200320086b220341016a4103712202450d00200120084102746a41e80c6a210803402008280200220b20073b01e00c200b200136028802200841046a2108200741016a21072002417f6a22020d000b0b20034103490d00200120074102746a41f00c6a21080340200841746a280200220220073b01e00c2002200136028802200841786a2802002202200741016a3b01e00c20022001360288022008417c6a2802002202200741026a3b01e00c200220013602880220082802002202200741036a3b01e00c2002200136028802200841106a2108200a200741046a2207470d000b0b20062802b803210a200641086a201241900110f4978080001a20062802cc0421070b200a418080808078460d0720062802d804210220062802d404210b20062802d004210820064198016a200641086a41900110f4978080001a2007280288022201450d080c000b0b410441e40c10ab80808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b41fca9cd8000413541b4aacd8000108081808000000b200020093602082000200d3602042000200e3602000c020b0240024002400240200428020022012802002208450d002001280204210341002d008083d480001a41940d41002802f482d48000118280808000002207450d022007200741036a417c7120076b220c6a220720083602e40c200741003b01e20c20074100360288022007417e6a200c3b0000200841003b01e00c20082007360288022001200341016a3602042001200736020020022003470d0320072f01e20c2201410b490d014198a6cd800041204188a8cd8000108081808000000b4188a6cd800010a081808000000b2007200141016a22023b01e20c2007200141186c6a2208200a36020020082006290298013702042008410c6a200641a0016a290200370200200841146a200641a8016a2802003602002007200141fc006c6a418c026a20064198016a41146a41fc0010f4978080001a200741e40c6a20024102746a200b360200200020093602082000200d3602042000200e360200200b20023b01e00c200b2007360288020c030b410441940d10ab80808000000b41c8a7cd8000413041f8a7cd8000108081808000000b200020093602082000200d360204200020073602000b200641e0046a2480808080000b9d05010a7f23808080800041b0026b2202248080808000200128020022032f01e20c210441002d008083d480001a0240024002400240024041940d41002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01e20c20074100360288022007417e6a20063b000020024198016a41086a20032001280208220541186c6a220841086a29020037030020024198016a41106a200841106a290200370300200720032f01e20c22092005417f736a22063b01e20c2002200829020037039801200241b4016a2003418c026a220a200541fc006c6a41fc0010f4978080001a2006410c4f0d012009200541016a220b6b2006470d0220072003200b41186c6a200641186c10f4978080002208418c026a200a200b41fc006c6a200641fc006c10f4978080001a200320053b01e20c200241086a20024198016a41086a290300370300200241106a20024198016a41106a2903003703002002200229039801370300200241186a200241b4016a41fc0010f4978080001a20082f01e20c220741016a21062007410c4f0d03200420056b220b2006470d04200841e40c6a200320054102746a41e80c6a200b41027410f497808000210b200128020421014100210502400340200b20054102746a280200220620053b01e00c2006200836028802200520074f0d01200520052007496a220520074d0d000b0b200020013602980120002003360294012000200241940110f497808000220520013602a0012005200836029c01200241b0026a2480808080000f0b410441940d10ab80808000000b2006410b41dca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000b2006410c41eca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000b8515030c7f017e017f23808080800041306b2205248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f018a012207410b490d00200128020421072001280208210841002d008083d480001a418c0141002802f482d48000118280808000002201450d082001200141036a417c7120016b22096a220a41003b018a01200a4100360200200a417e6a20093b000020084105490d012008417b6a0e020304020b200641046a210a02402001280208220841016a220920074b0d00200a2009410c6c6a200a2008410c6c6a200720086b410c6c10f9978080001a0b200a2008410c6c6a220a2002290200370200200a41086a200241086a2802003602002006200741016a3b018a012001280204210b2006210c0c0e0b200a20062f018a01417b6a22013b018a012001410c4f0d07200641346a2109200641386a210d4104210e41c000210f2007210b2006210c0c040b200a20062f018a0141796a22013b018a012001410c4f0d07200841796a2108200641cc006a2109200641d0006a210d4100210b4106210e41d800210f0c020b200a20062f018a01417a6a22013b018a012001410c4f0d072006280240211020062902442111200a41046a200641cc006a2001410c6c10f4978080001a200641063b018a01200641c8006a200241086a28020036020020062002290200370240410521082007210b2006210c0c030b200a20062f018a01417a6a22013b018a012001410c4f0d07200641c0006a2109200641c4006a210d410021084105210e41cc00210f4100210b0b200a210c0b20092802002110200d2902002111200a41046a2006200f6a2001410c6c10f4978080001a2006200e3b018a01200c41046a21010240200c2f018a01220920084d0d0020012008410c6c6a220d410c6a200d200920086b410c6c10f9978080001a0b20012008410c6c6a22012002290200370200200141086a200241086a280200360200200c200941016a3b018a010b2010418080808078460d070240200628020022010d00410021020c070b200541286a210f200541206a211241002102034020022007470d0620062f0188012106024002400240024020012f018a012202410b490d00200741016a2102200641054f0d01410421092012210d200621070c020b200141046a220e2006410c6c6a2109200641016a2107200241016a210d0240024020062002490d0020092011370204200920103602000c010b200e2007410c6c6a2009200220066b220e410c6c10f9978080001a20092011370204200920103602002001418c016a220920064102746a41086a200920074102746a200e41027410f9978080001a0b2001200d3b018a01200120074102746a200a36028c012007200241026a22094f0d0b0240200220066b221041016a410371220a450d00200120064102746a4190016a210603402006280200220220073b01880120022001360200200641046a2106200741016a2107200a417f6a220a0d000b0b20104103490d0b200741027420016a4198016a21060340200641746a280200220a20073b018801200a2001360200200641786a280200220a200741016a3b018801200a20013602002006417c6a280200220a200741026a3b018801200a20013602002006280200220a200741036a3b018801200a2001360200200641106a21062009200741046a2207470d000c0c0b0b4100210741052109200f210d024002402006417b6a0e020002010b200541053602102005200236020c20052001360208200541146a200541086a109097808000200528022022062f018a01220741016a21010240024020074106490d00200641cc006a200641c0006a2007410c6c41446a10f9978080001a2006201137024420062010360240200641a8016a200641a4016a2007410274416c6a10f9978080001a200620013b018a012006200a3602a4010c010b2006200a3602a4012006201137024420062010360240200620013b018a0120074105470d030b200741037121024106210102402007417b6a41ffff03714103490d00200741fcff037141786a2110410621074100210a03402006200a6a220141a4016a280200220920073b01880120092006360200200141a8016a2802002209200741016a3b01880120092006360200200141ac016a2802002209200741026a3b01880120092006360200200141b0016a2802002201200741036a3b01880120012006360200200a41106a210a2007417a6a2109200741046a2201210720092010470d000b0b2002450d02200620014102746a418c016a210703402007280200220a20013b018801200a2006360200200741046a2107200141016a21012002417f6a22020d000c030b0b200641796a210741062109200f210d0b200520093602102005200236020c20052001360208200541146a200541086a109097808000200d280200220141046a220e2007410c6c6a2109200741016a210620012f018a01220241016a210d02400240200220074b0d0020092011370204200920103602000c010b200e2006410c6c6a2009200220076b220e410c6c10f9978080001a20092011370204200920103602002001418c016a220920074102746a41086a200920064102746a200e41027410f9978080001a0b2001200d3b018a01200120064102746a200a36028c0102402006200241026a22094f0d000240200220076b221041016a410371220a450d00200120074102746a4190016a210703402007280200220220063b01880120022001360200200741046a2107200641016a2106200a417f6a220a0d000b0b20104103490d00200120064102746a4198016a21070340200741746a280200220a20063b018801200a2001360200200741786a280200220a200641016a3b018801200a20013602002007417c6a280200220a200641026a3b018801200a20013602002007280200220a200641036a3b018801200a2001360200200741106a21072009200641046a2206470d000b0b200528022021060b2005290218211120052802142210418080808078460d08200528022c21022005280228210a2005280224210720062802002201450d070c000b0b4104418c0110ab80808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b41fca9cd8000413541b4aacd8000108081808000000b02400240200328020022072802002201450d002007280204210941002d008083d480001a41bc0141002802f482d48000118280808000002206450d032006200641036a417c7120066b220d6a2206200136028c01200641003b018a01200641003602002006417e6a200d3b0000200141003b018801200120063602002007200941016a3602042007200636020020022009470d0420062f018a012207410b490d014198a6cd800041204188a8cd8000108081808000000b4188a6cd800010a081808000000b2006200741016a22013b018a0120062007410c6c6a22072011370208200720103602042006418c016a20014102746a200a360200200a20013b018801200a20063602000b200020083602082000200b3602042000200c360200200541306a2480808080000f0b410441bc0110ab80808000000b41c8a7cd8000413041f8a7cd8000108081808000000baf0401097f23808080800041206b2202248080808000200128020022032f018a01210441002d008083d480001a0240024002400240024041bc0141002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b018a01200741003602002007417e6a20063b0000200241106a41086a200341046a220820012802082205410c6c6a220941086a280200360200200720032f018a01220a2005417f736a22063b018a01200220092902003703102006410c4f0d01200a200541016a22096b2006470d02200741046a20082009410c6c6a2006410c6c10f4978080001a200320053b018a01200241086a200241106a41086a2802003602002002200229031037030020072f018a01220641016a21092006410c4f0d03200420056b220a2009470d042007418c016a200320054102746a4190016a200a41027410f49780800021092001280204210a4100210502400340200920054102746a280200220120053b01880120012007360200200520064f0d01200520052006496a220520064d0d000b0b2000200a3602102000200336020c200020022903003702002000200a36021820002007360214200041086a200241086a280200360200200241206a2480808080000f0b410441bc0110ab80808000000b2006410b41dca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000b2009410c41eca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000bd71c010f7f23808080800041f0006b2205248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f018e022207410b490d00200128020421072001280208210841002d008083d480001a41900241002802f482d48000118280808000002201450d082001200141036a417c7120016b22096a220a41003b018e02200a410036028802200a417e6a20093b000020084105490d012008417b6a0e020304020b02402001280208220841016a220a20074b0d002006200a41186c6a2006200841186c6a200720086b41186c10f9978080001a0b2006200841186c6a220a2002290200370200200a41106a200241106a290200370200200a41086a200241086a2902003702002006200741016a3b018e022001280204210b0c0f0b200a20062f018e02417b6a22013b018e02200541c8006a41086a220c200641ec006a290200370300200541c8006a41106a220d200641f4006a280200360200200520062902643703482001410c4f0d0720062802602109200a200641f8006a200141186c10f4978080001a200641043b018e02200541306a41086a200c290300370300200541306a41106a200d280200360200200520052903483703302007210b2006210e0c040b200a20062f018e0241796a22013b018e02200541c8006a41086a220c2006419c016a290200370300200541c8006a41106a220d200641a4016a28020036020020052006290294013703482001410c4f0d072006280290012109200a200641a8016a200141186c10f4978080001a200641063b018e02200541306a41086a200c290300370300200541306a41106a200d28020036020020052005290348370330200841796a21080c020b200a20062f018e02417a6a22013b018e02200541c8006a41086a220c20064184016a290200370300200541c8006a41106a22082006418c016a2802003602002005200629027c3703482001410c4f0d0720062802782109200a20064190016a200141186c10f4978080001a200541306a41106a2008280200360200200541306a41086a200c29030037030020052005290348370330200641063b018e02200641f8006a220141106a200241106a290200370200200141086a200241086a29020037020020012002290200370200410521082007210b2006210e0c030b200a20062f018e02417a6a22013b018e02200541c8006a41086a220c20064184016a290200370300200541c8006a41106a22082006418c016a2802003602002005200629027c3703482001410c4f0d0720062802782109200a20064190016a200141186c10f4978080001a200641053b018e02200541306a41086a200c290300370300200541306a41106a200828020036020020052005290348370330410021080b4100210b200a210e0b0240200e2f018e02220c20084d0d00200e200841186c6a220141186a2001200c20086b41186c10f9978080001a0b200e200841186c6a22012002290200370200200141106a200241106a290200370200200141086a200241086a290200370200200e200c41016a3b018e020b200541106a2201200541306a41106a280200360200200541086a2202200541306a41086a2903003703002005200529033037030002402009418080808078470d00200e21060c090b200541186a41106a2001280200360200200541186a41086a200229030037030020052005290300370318024020062802880222010d00410021020c080b200541e8006a210f200541e0006a2110200541c8006a41046a210d41002102200541186a41106a2111034020022007470d0620062f018c022106024002400240024020012f018e022202410b490d00200741016a2102200641054f0d014104210c20102112200621070c020b200641016a2107200241016a210d2001200641186c6a210c0240024020062002490d00200c2009360200200c2005290318370204200c410c6a200541206a290300370200200c41146a200541286a2802003602000c010b2001200741186c6a200c200220066b221141186c10f9978080001a200c2009360200200c2005290318370204200c410c6a200541186a41086a290300370200200c41146a200541286a28020036020020014190026a220920064102746a41086a200920074102746a201141027410f9978080001a0b2001200d3b018e02200120074102746a200a360290022007200241026a22094f0d0a0240200220066b220c41016a4103712202450d00200120064102746a4194026a210603402006280200220a20073b018c02200a200136028802200641046a2106200741016a21072002417f6a22020d000b0b200c4103490d0a200741027420016a419c026a21060340200641746a280200220220073b018c022002200136028802200641786a2802002202200741016a3b018c0220022001360288022006417c6a2802002202200741026a3b018c02200220013602880220062802002202200741036a3b018c022002200136028802200641106a21062009200741046a2207470d000c0b0b0b410021074105210c200f2112024002402006417b6a0e020002010b200541053602082005200236020420052001360200200541c8006a2005109297808000200528026022062f018e02220741016a210102400240024020074106490d0020064190016a200641f8006a200741186c41887f6a10f9978080001a200620093602782006200529031837027c20064184016a200541186a41086a2903003702002006418c016a2011280200360200200641ac026a200641a8026a2007410274416c6a10f9978080001a200620013b018e022006200a3602a8020c010b200620093602782006200529031837027c2006200a3602a802200620013b018e0220064184016a200541186a41086a2903003702002006418c016a201128020036020020074105470d010b2007410371210a4106210102402007417b6a41ffff03714103490d00200741fcff037141786a210c41062107410021020340200620026a220141a8026a280200220920073b018c022009200636028802200141ac026a2802002209200741016a3b018c022009200636028802200141b0026a2802002209200741026a3b018c022009200636028802200141b4026a2802002201200741036a3b018c022001200636028802200241106a21022007417a6a2109200741046a220121072009200c470d000b0b200a450d00200620014102746a4190026a210703402007280200220220013b018c022002200636028802200741046a2107200141016a2101200a417f6a220a0d000b0b200541306a41086a200d41086a290200370300200541306a41106a200d41106a2802003602002005200d2902003703300c020b200641796a21074106210c200f21120b2005200c3602082005200236020420052001360200200741016a2106200541c8006a200510929780800020122802002201200741186c6a210220012f018e02220c41016a211202400240200c20074b0d0020022009360200200220052903183702042002410c6a200541186a41086a290300370200200241146a20112802003602000c010b2001200641186c6a2002200c20076b221341186c10f9978080001a20022009360200200220052903183702042002410c6a200541186a41086a290300370200200241146a201128020036020020014190026a220220074102746a41086a200220064102746a201341027410f9978080001a0b200120123b018e02200120064102746a200a3602900202402006200c41026a22094f0d000240200c20076b220c41016a4103712202450d00200120074102746a4194026a210703402007280200220a20063b018c02200a200136028802200741046a2107200641016a21062002417f6a22020d000b0b200c4103490d00200120064102746a419c026a21070340200741746a280200220220063b018c022002200136028802200741786a2802002202200641016a3b018c0220022001360288022007417c6a2802002202200641026a3b018c02200220013602880220072802002202200641036a3b018c022002200136028802200741106a21072009200641046a2206470d000b0b200541306a41086a200d41086a290200370300200541306a41106a200d41106a2802003602002005200d290200370330200528026021060b20052802482209418080808078460d07200528026c21022005280268210a200528026421072011200541306a41106a280200360200200541186a41086a200541306a41086a290300370300200520052903303703182006280288022201450d080c000b0b410441900210ab80808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b41fca9cd8000413541b4aacd8000108081808000000b200020083602082000200b3602042000200e3602000c020b0240024002400240200328020022072802002201450d002007280204210c41002d008083d480001a41c00241002802f482d48000118280808000002206450d022006200641036a417c7120066b220d6a2206200136029002200641003b018e0220064100360288022006417e6a200d3b0000200141003b018c0220012006360288022007200c41016a360204200720063602002002200c470d0320062f018e022207410b490d014198a6cd800041204188a8cd8000108081808000000b4188a6cd800010a081808000000b2006200741016a22013b018e022006200741186c6a22072009360200200720052903183702042007410c6a200541206a290300370200200741146a200541286a28020036020020064190026a20014102746a200a360200200020083602082000200b3602042000200e360200200a20013b018c02200a2006360288020c030b410441c00210ab80808000000b41c8a7cd8000413041f8a7cd8000108081808000000b200020083602082000200b360204200020063602000b200541f0006a2480808080000be00401087f23808080800041306b2202248080808000200128020022032f018e02210441002d008083d480001a0240024002400240024041c00241002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b018e0220074100360288022007417e6a20063b0000200241186a41086a20032001280208220541186c6a220841086a290200370300200241186a41106a200841106a290200370300200720032f018e0222092005417f736a22063b018e02200220082902003703182006410c4f0d012009200541016a22086b2006470d0220072003200841186c6a200641186c10f4978080002108200320053b018e02200241086a200241186a41086a290300370300200241106a200241186a41106a2903003703002002200229031837030020082f018e02220741016a21062007410c4f0d03200420056b22092006470d0420084190026a200320054102746a4194026a200941027410f4978080002109200128020421014100210502400340200920054102746a280200220620053b018c022006200836028802200520074f0d01200520052007496a220520074d0d000b0b2000200136021c20002003360218200020022903003702002000200136022420002008360220200041086a200241086a290300370200200041106a200241106a290300370200200241306a2480808080000f0b410441c00210ab80808000000b2006410b41dca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000b2006410c41eca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000baf1c03087f017e057f23808080800041a0076b2206248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01aa142208410b490d00200128020421082001280208210941002d008083d480001a41ac1441002802f482d48000118280808000002201450d082001200141036a417c7120016b220a6a220b41003b01aa14200b41003602a013200b417e6a200a3b000020094105490d012009417b6a0e020304020b200741a4136a220c20012802082209410c6c6a210b02400240200941016a220a20084d0d00200b2002290200370200200b41086a200241086a2802003602000c010b200c200a410c6c6a200b200820096b220c410c6c10f9978080001a200b41086a200241086a280200360200200b20022902003702002007200a41e0016c6a2007200941e0016c6a200c41e0016c10f9978080001a0b2007200941e0016c6a200341e00110f4978080001a2007200841016a3b01aa142001280204210d0c0f0b200b20072f01aa14417b6a22013b01aa1420072802d413210a20072902d813210e200641a4056a20074180076a41e00110f4978080001a2001410c4f0d07200b41a4136a200741e0136a2001410c6c10f4978080001a200b200741e0086a200141e0016c10f4978080001a200741043b01aa14200641c4036a200641a4056a41e00110f4978080001a2008210d2007210f0c040b200b20072f01aa1441796a22013b01aa1420072802ec13210a20072902f013210e200641a4056a200741c00a6a41e00110f4978080001a2001410c4f0d07200b41a4136a200741f8136a2001410c6c10f4978080001a200b200741a00c6a200141e0016c10f4978080001a200741063b01aa14200641c4036a200641a4056a41e00110f4978080001a200941796a21090c020b200b20072f01aa14417a6a22013b01aa1420072802e013210a20072902e413210e200641a4056a200741e0086a220941e00110f4978080001a2001410c4f0d07200b41a4136a200741ec136a2001410c6c10f4978080001a200b200741c00a6a200141e0016c10f4978080001a200641c4036a200641a4056a41e00110f4978080001a200741e0136a220141086a200241086a280200360200200120022902003702002009200341e00110f4978080001a200741063b01aa14410521092008210d2007210f0c030b200b20072f01aa14417a6a22013b01aa1420072802e013210a20072902e413210e200641a4056a200741e0086a41e00110f4978080001a2001410c4f0d07200b41a4136a200741ec136a2001410c6c10f4978080001a200b200741c00a6a200141e0016c10f4978080001a200741053b01aa14200641c4036a200641a4056a41e00110f4978080001a410021090b4100210d200b210f0b200f41a4136a2009410c6c6a210102400240200f2f01aa14220c20094b0d0020012002290200370200200141086a200241086a2802003602000c010b2001410c6a2001200c20096b2210410c6c10f9978080001a200141086a200241086a28020036020020012002290200370200200f200941e0016c6a220141e0016a2001201041e0016c10f9978080001a0b200f200941e0016c6a200341e00110f4978080001a200f200c41016a3b01aa140b200641046a200641c4036a41e00110f4978080001a0240200a418080808078470d00200f21070c090b200641e4016a200641046a41e00110f4978080001a024020072802a01322010d00410021020c080b20064198076a211120064190076a2112200641a4056a410c6a211341002102034020022008470d0620072f01a8142107024002400240024020012f01aa142202410b490d00200841016a2102200741054f0d01410421032012210c200721080c020b200141a4136a22102007410c6c6a2103200741016a2108200241016a210c0240024020072002490d002003200e3702042003200a3602002001200741e0016c6a200641e4016a41e00110f4978080001a0c010b20102008410c6c6a2003200220076b2210410c6c10f9978080001a2003200e3702042003200a3602002001200841e0016c6a2001200741e0016c6a220a201041e0016c10f9978080001a200a200641e4016a41e00110f4978080001a200141ac146a220a20074102746a41086a200a20084102746a201041027410f9978080001a0b2001200c3b01aa14200120084102746a200b3602ac142008200241026a22034f0d0a0240200220076b220241016a410371220b450d00200120074102746a41b0146a210703402007280200220a20083b01a814200a20013602a013200741046a2107200841016a2108200b417f6a220b0d000b0b20024103490d0a200841027420016a41b8146a21070340200741746a280200220b20083b01a814200b20013602a013200741786a280200220b200841016a3b01a814200b20013602a0132007417c6a280200220b200841026a3b01a814200b20013602a0132007280200220b200841036a3b01a814200b20013602a013200741106a21072003200841046a2208470d000c0b0b0b41002108410521032011210c024002402007417b6a0e020002010b2006410536020c2006200236020820062001360204200641a4056a200641046a10949780800020062802900722072f01aa14220141016a210802400240024020014106490d00200741ec136a200741e0136a2001417b6a2202410c6c10f9978080001a2007200e3702e4132007200a3602e013200741c00a6a200741e0086a220a200241e0016c10f9978080001a200a200641e4016a41e00110f4978080001a200741c8146a200741c4146a2001410274416c6a10f9978080001a200720083b01aa142007200b3602c4140c010b2007200e3702e4132007200a3602e013200741e0086a200641e4016a41e00110f4978080001a200720083b01aa142007200b3602c41420014105470d010b2001410371210a4106210802402001417b6a41ffff03714103490d00200141fcff037141786a2103410621014100210b03402007200b6a220841c4146a280200220220013b01a814200220073602a013200841c8146a2802002202200141016a3b01a814200220073602a013200841cc146a2802002202200141026a3b01a814200220073602a013200841d0146a2802002208200141036a3b01a814200820073602a013200b41106a210b2001417a6a2102200141046a2208210120022003470d000b0b200a450d00200720084102746a41ac146a210103402001280200220b20083b01a814200b20073602a013200141046a2101200841016a2108200a417f6a220a0d000b0b20062902a805210e20062802a405210a200641c4036a201341e00110f4978080001a0c020b200741796a2108410621032011210c0b2006200336020c2006200236020820062001360204200641a4056a200641046a109497808000200c280200220141a4136a22102008410c6c6a2102200841016a210720012f01aa14220341016a210c02400240200320084b0d002002200e3702042002200a3602002001200841e0016c6a200641e4016a41e00110f4978080001a0c010b20102007410c6c6a2002200320086b2210410c6c10f9978080001a2002200e3702042002200a3602002001200741e0016c6a2001200841e0016c6a220a201041e0016c10f9978080001a200a200641e4016a41e00110f4978080001a200141ac146a220a20084102746a41086a200a20074102746a201041027410f9978080001a0b2001200c3b01aa14200120074102746a200b3602ac1402402007200341026a22024f0d000240200320086b220341016a410371220b450d00200120084102746a41b0146a210803402008280200220a20073b01a814200a20013602a013200841046a2108200741016a2107200b417f6a220b0d000b0b20034103490d00200120074102746a41b8146a21080340200841746a280200220b20073b01a814200b20013602a013200841786a280200220b200741016a3b01a814200b20013602a0132008417c6a280200220b200741026a3b01a814200b20013602a0132008280200220b200741036a3b01a814200b20013602a013200841106a21082002200741046a2207470d000b0b20062902a805210e20062802a405210a200641c4036a201341e00110f4978080001a20062802900721070b200a418080808078460d07200628029c072102200628029807210b2006280294072108200641e4016a200641c4036a41e00110f4978080001a20072802a0132201450d080c000b0b410441ac1410ab80808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b2001410b41dca9cd8000109181808000000b41fca9cd8000413541b4aacd8000108081808000000b200020093602082000200d3602042000200f3602000c020b0240024002400240200428020022012802002208450d002001280204210341002d008083d480001a41dc1441002802f482d48000118280808000002207450d022007200741036a417c7120076b220c6a220720083602ac14200741003b01aa14200741003602a0132007417e6a200c3b0000200841003b01a814200820073602a0132001200341016a3602042001200736020020022003470d0320072f01aa142201410b490d014198a6cd800041204188a8cd8000108081808000000b4188a6cd800010a081808000000b2007200141016a22083b01aa1420072001410c6c6a2202200e3702a8132002200a3602a4132007200141e0016c6a200641e4016a41e00110f4978080001a200741ac146a20084102746a200b360200200020093602082000200d3602042000200f360200200b20083b01a814200b20073602a0130c030b410441dc1410ab80808000000b41c8a7cd8000413041f8a7cd8000108081808000000b200020093602082000200d360204200020073602000b200641a0076a2480808080000bf70401097f23808080800041e0036b2202248080808000200128020022032f01aa14210441002d008083d480001a0240024002400240024041dc1441002802f482d48000118280808000002205450d002005200541036a417c7120056b22066a220741003b01aa14200741003602a0132007417e6a20063b0000200241f0016a41086a200341a4136a220820012802082205410c6c6a220941086a280200360200200720032f01aa14220a2005417f736a22063b01aa14200220092902003703f00120024180026a2003200541e0016c6a41e00110f4978080001a2006410c4f0d01200a200541016a22096b2006470d02200741a4136a20082009410c6c6a2006410c6c10f4978080001a20072003200941e0016c6a200641e0016c10f4978080002109200320053b01aa14200241086a200241f0016a41086a280200360200200220022903f0013703002002410c6a20024180026a41e00110f4978080001a20092f01aa14220741016a21062007410c4f0d03200420056b220a2006470d04200941ac146a200320054102746a41b0146a200a41027410f497808000210a200128020421014100210502400340200a20054102746a280200220620053b01a814200620093602a013200520074f0d01200520052007496a220520074d0d000b0b200020013602f001200020033602ec012000200241ec0110f497808000220520013602f801200520093602f401200241e0036a2480808080000f0b410441dc1410ab80808000000b2006410b41dca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000b2006410c41eca9cd8000109181808000000b41a4a9cd8000412841cca9cd8000108081808000000bd806020e7f017e23808080800041d0036b220224808080800002400240024002402001200028021422032f01aa1422046a2205410c4f0d00200028020c22062f01aa1422072001490d012006200720016b22083b01aa14200320053b01aa14200341a4136a22092001410c6c6a20092004410c6c10f9978080001a2003200141e0016c6a2003200441e0016c10f9978080001a2007200841016a220a6b22072001417f6a470d022009200641a4136a220b200a410c6c6a2007410c6c220c10f497808000210920032006200a41e0016c6a200741e0016c220d10f497808000210320022006200841e0016c6a41e00110f4978080002107200b2008410c6c6a220241086a280200210b2000280200220e2000280208220f410c6c6a22082902a4132110200820022902003702a413200741e0016a41086a2202200841ac136a22082802003602002008200b360200200720103703e001200741f0016a200e200f41e0016c6a220841e00110f4978080001a2008200741e00110f4978080001a2009200c6a220841086a2002280200360200200820072903e0013702002003200d6a200741f0016a41e00110f4978080001a20002802182108024002402000280210450d002008450d01200341ac146a2200200141027422016a2000200441027441046a10f9978080001a20002006200a4102746a41ac146a200110f4978080001a200541016a2208410371210641002101024020054103490d00200341b8146a21002008413c712104410021010340200041746a280200220820013b01a814200820033602a013200041786a2802002208200141016a3b01a814200820033602a0132000417c6a2802002208200141026a3b01a814200820033602a01320002802002208200141036a3b01a814200820033602a013200041106a21002004200141046a2201470d000b0b2006450d05200141027420036a41ac146a210003402000280200220820013b01a814200820033602a013200041046a2100200141016a21012006417f6a22060d000c060b0b2008450d040b41c0abcd8000412841e8abcd8000108081808000000b41c4aacd8000413341f8aacd8000108081808000000b4188abcd8000412741b0abcd8000108081808000000b41a4a9cd8000412841cca9cd8000108081808000000b200741d0036a2480808080000be607020f7f017e23808080800041d0036b22022480808080000240024002402001200028020c22032f01aa1422046a2205410c4f0d00200028021422062f01aa1422072001490d01200320053b01aa142006200720016b22053b01aa1420022006200141e0016c220841a07e6a22096a41e00110f4978080002102200641a4136a22072001410c6c220a41746a220b6a220c41086a280200210d2000280200220e2000280208220f410c6c6a22102902a41321112010200c2902003702a413200241e0016a41086a220c201041ac136a22102802003602002010200d360200200220113703e001200241f0016a200e200f41e0016c6a221041e00110f4978080001a2010200241e00110f4978080001a20032004410c6c6a221041ac136a200c280200360200201041a4136a20022903e0013702002003200441e0016c6a200241f0016a41e00110f497808000210c201041b0136a2007200b10f4978080001a200c41e0016a2006200910f4978080001a20072007200a6a2005410c6c10f9978080001a2006200620086a200541e0016c10f997808000210620002802182107024002402000280210450d002007450d01200341ac146a2209200441016a22074102746a200641ac146a22002001410274221010f49780800021082000200020106a200541027441046a10f9978080001a2008280200220020073b01a814200020033602a013024020014101460d002009200441026a22004102746a280200220720003b01a814200720033602a01320014102460d002009200441036a22004102746a280200220720003b01a814200720033602a01320014103460d002009200441046a22004102746a280200220720003b01a814200720033602a01320014104460d002009200441056a22014102746a280200220020013b01a814200020033602a0130b200541016a2204410371210341002101024020054103490d00200641b8146a21002004417c712104410021010340200041746a280200220520013b01a814200520063602a013200041786a2802002205200141016a3b01a814200520063602a0132000417c6a2802002205200141026a3b01a814200520063602a01320002802002205200141036a3b01a814200520063602a013200041106a21002004200141046a2201470d000b0b2003450d04200141027420066a41ac146a210003402000280200220520013b01a814200520063602a013200041046a2100200141016a21012003417f6a22030d000c050b0b2007450d030b41c0abcd8000412841f4accd8000108081808000000b41f8abcd8000413241acaccd8000108081808000000b41bcaccd8000412841e4accd8000108081808000000b200241d0036a2480808080000be807010f7f23808080800041e0016b220224808080800002400240200128020c22032f01aa14220441016a2205200128021422062f01aa1422076a2208410c4f0d00200128021021092001280204210a2001280200220b2f01aa14210c200320083b01aa14200241086a220d200b2001280208220e410c6c6a220141ac136a280200360200200220012902a413370300200141a4136a200141b0136a200c200e417f736a220f410c6c10f9978080001a200341a4136a22012004410c6c6a221041086a200d2802003602002010200229030037020020012005410c6c6a200641a4136a2007410c6c10f4978080001a2002200b200e41e0016c6a220141e00110f497808000210d2001200141e0016a200f41e0016c10f9978080001a2003200441e0016c6a200d41e00110f4978080001a2003200541e0016c6a2006200741e0016c10f4978080001a200b200e41016a22014102746a220241ac146a200241b0146a200f41027410f9978080001a02402001200c4f0d00200c200e6b417e6a21100240200f410371220f450d00200e410274200b6a41b0146a210203402002280200220e20013b01a814200e200b3602a013200241046a2102200141016a2101200f417f6a220f0d000b0b20104103490d002001410274200b6a41b8146a21020340200241746a280200220f20013b01a814200f200b3602a013200241786a280200220f200141016a3b01a814200f200b3602a0132002417c6a280200220f200141026a3b01a814200f200b3602a0132002280200220f200141036a3b01a814200f200b3602a013200241106a2102200c200141046a2201470d000b0b200b200b2f01aa14417f6a3b01aa140240200a4102490d00200741016a2201200820046b470d02200341ac146a20054102746a200641ac146a200141027410f4978080001a02402001410371220b450d00200441027420036a41b0146a210103402001280200220220053b01a814200220033602a013200141046a2101200541016a2105200b417f6a220b0d000b0b20074103490d002005410274210b03402003200b6a220141ac146a280200220220053b01a814200220033602a013200141b0146a2802002202200541016a3b01a814200220033602a013200141b4146a2802002202200541026a3b01a814200220033602a013200141b8146a2802002201200541036a22023b01a814200120033602a013200541046a2105200b41106a210b20022008470d000b0b20062006417e6a2f00006b41002802ec82d48000118180808000002000200936020420002003360200200d41e0016a2480808080000f0b41a4aecd8000412a41d0aecd8000108081808000000b41a4a9cd8000412841cca9cd8000108081808000000bf20f01117f23808080800041e0046b2203248080808000200341d8006a2001280200220420012802082205410c6c6a220641ac136a280200360200200320062902a413370350200641a4136a200641b0136a20042f01aa1422072005417f736a2208410c6c10f9978080001a200341d0006a410c6a2004200541e0016c6a220641e00110f4978080001a2006200641e0016a200841e0016c10f9978080001a20042007417f6a22063b01aa14200128020421090240200641ffff037141044b0d00024020042802a0132201450d00200941016a2107024002400240024020042f01a81422080d0020012f01aa140d01200341013602fc02200341d8a8cd80003602f80220034200370284032003200341dc046a36028003200341f8026a41e0a8cd800010fe80808000000b200320093602302003200436022c200320093602282003200736021c20032008417f6a2207360220200320013602182003200120074102746a2802ac142201360224024020012f01aa142207200641ffff037122016a41016a410c490d00200341186a4101109597808000200541016a21050c040b200520014b0d01200520076a41016a2105200341106a200341186a10979780800020032802102104200328021421090c030b2003200936024c20032009360244200320043602402003410036023c2003200736023820032001360234200320012802b01422013602480240200641ffff0371220620012f01aa146a41016a410c490d00200341346a41011096978080000c030b200520064b0d01200341086a200341346a10979780800020032802082104200328020c21090c020b4184adcd8000418e014194aecd8000108081808000000b4184adcd8000418e014194aecd8000108081808000000b20042802a0132208450d0020082f01aa14220641044b0d00200941016a210a0240024002400340200a21012008220b2802a0132208450d01200641ffff0371210c200141016a210a0240024002400240200b2f01a81422060d00024020082f01aa14220d0d00200341013602fc02200341d8a8cd80003602f80220034200370284032003200341dc046a36028003200341f8026a41e0a8cd800010fe80808000000b200320013602f402200320013602ec022003200b3602e8024100210e200341003602e4022003200a3602e002200320083602dc02200320082802b01422063602f002200c41016a220120062f01aa14220f6a2210410c4f0d01200b21072006210b200c2111200f210c0c030b200320013602d8022003200b3602d402200320013602d0022003200a3602c40220032006417f6a220e3602c802200320083602c00220032008200e4102746a2802ac1422073602cc02200c20072f01aa1422116a41016a410c490d01200341c0026a4105200c6b1095978080000c070b200341dc026a4105200c6b1096978080000c060b201141016a2201200c6a211020082f01aa14210d0b200720103b01aa14200341f8026a41086a22122008200e410c6c6a220641ac136a280200360200200320062902a4133703f802200641a4136a200641b0136a200d41ffff03712213200e417f736a220f410c6c10f9978080001a200741a4136a22062011410c6c6a220d41086a2012280200360200200d20032903f80237020020062001410c6c6a200b41a4136a200c410c6c10f4978080001a200341f8026a2008200e41e0016c6a220641e00110f4978080001a2006200641e0016a200f41e0016c10f9978080001a2007201141e0016c6a200341f8026a41e00110f4978080001a2007200141e0016c6a200b200c41e0016c10f4978080001a2008200e41016a22064102746a221241ac146a220d201241b0146a200f41027410f9978080001a0240201320064d0d002013200e6b417e6a21120240201320066b410371220e450d000340200d280200220f20063b01a814200f20083602a013200d41046a210d200641016a2106200e417f6a220e0d000b0b20124103490d00200820064102746a41b8146a210d0340200d41746a280200220e20063b01a814200e20083602a013200d41786a280200220e200641016a3b01a814200e20083602a013200d417c6a280200220e200641026a3b01a814200e20083602a013200d280200220e200641036a3b01a814200e20083602a013200d41106a210d2013200641046a2206470d000b0b200820082f01aa14417f6a3b01aa140240200a4102490d00200c41016a2206201020116b470d03200741ac146a2001410274220e6a200b41ac146a200641027410f4978080001a0240201020016b220f41016a410371220d450d002007200e6a41ac146a210603402006280200220e20013b01a814200e20073602a013200641046a2106200141016a2101200d417f6a220d0d000b0b200f4103490d002001410274210d03402007200d6a220641ac146a280200220e20013b01a814200e20073602a013200641b0146a280200220e200141016a3b01a814200e20073602a013200641b4146a280200220e200141026a3b01a814200e20073602a013200641b8146a2802002206200141036a220e3b01a814200620073602a013200141046a2101200d41106a210d200e2010470d000b0b200b200b417e6a2f00006b41002802ec82d480001181808080000020082f01aa14220641044d0d000c040b0b200641ffff0371450d010c020b41a4a9cd8000412841cca9cd8000108081808000000b200241013a00000b2000200341d0006a41ec0110f497808000220120053602f401200120093602f001200120043602ec01200341e0046a2480808080000be40502067f017e2380808080004180046b2203248080808000200128020821042001280200210502400240200128020422060d002003200436020820034100360204200320053602002000200320021098978080000c010b200520044102746a2802ac14210102402006417f6a2204450d002006417e6a2105024020044103712206450d0003402004417f6a2104200120012f01aa144102746a2802ac1421012006417f6a22060d000b0b20054103490d000340200120012f01aa144102746a2802ac14220120012f01aa144102746a2802ac14220120012f01aa144102746a2802ac14220120012f01aa144102746a2802ac1421012004417c6a22040d000b0b2003200136020c200320013301aa144220864280808080707c370210200341186a2003410c6a200210989780800020034190026a41086a2205200341186a41086a22072802003602002003200329021837039002200341a0026a200341186a410c6a220841e00110f4978080001a20032802880221040240200328028c02220620032802840222012f01aa14490d000340200441016a210420012f01a814220620012802a01322012f01aa144f0d000b0b20012006410c6c6a22022902a413210920022003290390023702a4132007200241ac136a2202280200360200200220052802003602002003200937031820082001200641e0016c6a220241e00110f4978080001a2002200341a0026a41e00110f4978080001a0240024020040d00200641016a21020c010b200120064102746a41b0146a2802002101410021022004417f6a2206450d002004417e6a2105024020064107712204450d0003402006417f6a210620012802ac1421012004417f6a22040d000b0b20054107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200641786a22060d000b0b2000200341186a41ec0110f497808000220420023602f401200441003602f001200420013602ec010b20034180046a2480808080000bbb0201097f2003280214210420032802102105200328020821062003280204210703404100210802400240024020012f01e20c2209450d00200141146a2103200941186c210a410021080340024002402007200341706a2802002006200341746a280200220b2006200b491b10f597808000220c2006200b6b200c1b220b450d00200b41004a200b4100486b210b0c010b20052003417c6a28020020042003280200220b2004200b491b10f597808000220c2004200b6b200c1b220b41004a200b4100486b210b0b0240200b4101460d00200b41ff01710d02410021030c030b200341186a2103200841016a2108200a41686a220a0d000b200921080b20020d01410121030b2000200836020c2000200236020820002001360204200020033602000f0b2002417f6a2102200120084102746a2802e40c21010c000b0bd90301077f02400240024002400240024020022802000e0400010203000b024020012f01aa1422030d00410021040c050b20022802082105200228020421062003410c6c2107200141ac136a2101410021040340024020062001417c6a28020020052001280200220820052008491b10f5978080002209200520086b20091b220841004a20084100486b41ff017122084101460d0020080d0620004103360204200020043602000f0b2001410c6a2101200441016a2104200741746a22070d000b200321040c040b024020012f01aa1422030d00410021040c030b20022802082105200228020421062003410c6c2107200141ac136a2101410021040340024020062001417c6a28020020052001280200220820052008491b10f5978080002209200520086b20091b220841004a20084100486b41ff017122084101460d0020080d04200041023602042000200441016a3602000f0b2001410c6a2101200441016a2104200741746a22070d000b200321040c020b20004280808080203702000f0b20004103360204200020012f01aa143602000f0b20002004360200200020022902003702042000410c6a200241086a2802003602000f0b20002004360200200020022902003702042000410c6a200241086a2802003602000bda0301067f024002400240024020022802000e0400010203000b0240200320012f01aa142204460d0020022802082105200228020421062004410c6c2003410c6c22076b2108200720016a41ac136a21010340024020062001417c6a28020020052001280200220720052007491b10f5978080002209200520076b20091b220741004a20074100486b41ff017122074101460d0020070d02200041033602042000200341016a3602000f0b200341016a21032001410c6a2101200841746a22080d000b200421030b20002003360200200020022902003702042000410c6a200241086a2802003602000f0b0240200320012f01aa142204460d0020022802082105200228020421062004410c6c2003410c6c22076b2108200720016a41ac136a21010340024020062001417c6a28020020052001280200220720052007491b10f5978080002209200520076b20091b220741004a20074100486b41ff017122074101460d0020070d0220004102360204200020033602000f0b200341016a21032001410c6a2101200841746a22080d000b200421030b20002003360200200020022902003702042000410c6a200241086a2802003602000f0b20004102360204200020012f01aa143602000f0b20004103360204200020033602000bce06010a7f23808080800041306b22042480808080002003280214210520032802102106200328020c21072003280208210820032802042109024002400240024002400240024002402003280200220a0e03000106000b20070e03040105040b20070e03020104020b200920062008200520082005491b10f5978080002203200820056b20031b41004a0d040c030b0240024020082005470d0020092006200810f597808000450d010b200920062008200520082005491b10f5978080002203200820056b20031b41004a0d040c030b2004410036021c2004410136021020044198afcd800036020c200442043702142004410c6a41a4b0cd800010fe80808000000b200920062008200520082005491b10f5978080002203200820056b20031b4101480d010c020b200920062008200520082005491b10f5978080002203200820056b20031b41004a0d010b024002400240024003402004200836022c200420093602282004200a3602242004410c6a2001200441246a109b978080002004280210210a2004280214210920042802182108200428020c21032004200536022c20042006360228200420073602242004410c6a2001200441246a2003109c978080002004280210210720042802142106200428021821052003200428020c220b490d012002450d022002417f6a2102200120034102746a2802ac1421010c000b0b200a4104460d00024020020d002001210c0c020b4100210d2001210c0340200c20034102746a2802ac14210c2004200836022c200420093602282004200a3602242004410c6a200c200441246a109b9780800020042802182108200428021421092004280210210a200428020c21032001200b4102746a2802ac1421012004200536022c20042006360228200420073602242004410c6a2001200441246a4100109c97808000200428021821052004280214210620042802102107200428020c210b2002200d41016a220d470d000c020b0b2000410036020c200041003602000c010b2000200b360214200041003602102000200136020c20002003360208200041003602042000200c3602000b200441306a2480808080000f0b2004410036021c20044101360210200441e8b0cd800036020c200442043702142004410c6a41f0b0cd800010fe80808000000b950201027f23808080800041106b2202248080808000200220002802002200360204200128020041acb4cd80004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41b2b4cd80004104200041046a418cb4cd8000108a818080001a200241086a41b6b4cd80004105200241046a419cb4cd8000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b9c0101017f23808080800041306b220224808080800020022000280200280200220036022820024103360204200241bc9fc280003602002002420237020c200241da83808000ad4220862002412c6aad84370320200241db83808000ad422086200241286aad84370318200220006836022c2002200241186a36020820012802002001280204200210b1818080002101200241306a24808080800020010bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b9c0201027f23808080800041106b2202248080808000024002402000280200450d0020022000360204200128020041dcb4cd80004108200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a41e4b4cd80004106200241046a41ccb4cd8000108a818080001a20022d000d220020022d000c220372210120004101470d0120034101710d010240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b200128020041bbb4cd80004110200128020428020c1180808080000021010b200241106a24808080800020014101710bad0701047f024002400240024002402000280200220141054b0d002001450d0441102102200041046a2203280200417e6a2204410220044102491b0e020103020b20002802042104024020002802082201450d0020042100034002400240024002402000280200417e6a2202410220024102491b0e020103000b200041106a280200450d02411421020c010b200041046a280200450d01410821020b200020026a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b0240200041206a280200450d00200041246a28020022022002417e6a2f00006b41002802ec82d48000118180808000000b2000412c6a21002001417f6a22010d000b0b20042004417e6a2f00006b41002802ec82d48000118180808000000f0b410421020b200320026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280224450d00200028022822022002417e6a2f00006b41002802ec82d48000118180808000000b20014101460d00411021020240024002402000280230417e6a2204410220044102491b0e020002010b410421020b200041306a20026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b02402000280250450d00200028025422022002417e6a2f00006b41002802ec82d48000118180808000000b20014102460d0041102102024002400240200028025c417e6a2204410220044102491b0e020002010b410421020b200041dc006a20026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b0240200028027c450d0020002802800122022002417e6a2f00006b41002802ec82d48000118180808000000b20014103460d0041102102024002400240200028028801417e6a2204410220044102491b0e020002010b410421020b20004188016a20026a2202280200450d00200228020422022002417e6a2f00006b41002802ec82d48000118180808000000b024020002802a801450d0020002802ac0122022002417e6a2f00006b41002802ec82d48000118180808000000b20014104460d004110210102400240024020002802b401417e6a2202410220024102491b0e020002010b410421010b200041b4016a20016a2201280200450d00200128020422012001417e6a2f00006b41002802ec82d48000118180808000000b20002802d401450d0020002802d80122002000417e6a2f00006b41002802ec82d48000118180808000000b0b840503087f017e017f23808080800041106b22012480808080002000280200210202400240024002400240024002402000280204220320002802782204200441054b1b220541016a0e020201000b2005672206450d01417f200676220641016a22072005490d0220044105200441054b1b210802400240024020064105490d0020042007460d072007ad42187e2209422088a70d022009a7220341fcffffff074b0d020240024020044106490d002008ad42187e2209422088a70d042009a7220841fcffffff074b0d04200341002802f482d48000118280808000002204450d032004200441036a417c7120046b220a6a2206417e6a200a3b0000200620022003200820032008491b10f4978080001a20022002417e6a2f00006b41002802ec82d48000118180808000000c010b41002d008083d480001a200341002802f482d48000118280808000002202450d022002200241036a417c7120026b22036a2206417e6a20033b000020062000200441186c10f4978080001a0b2000200736027820002005360204200020063602000c070b200441064921052008210420050d060c050b4104200310ab80808000000b4194b7cd8000411141a8b7cd8000108081808000000b200441064f0d020c030b4194b7cd8000411141b8b7cd800010a181808000000b41c8b7cd8000412041e8b7cd8000108081808000000b20002002200341186c10f49780800020033602782004ad42187e2209a721002009422088a70d01200041fdffffff074f0d0120022002417e6a2f00006b41002802ec82d48000118180808000000b200141106a2480808080000f0b2001200036020c2001410036020841d8b6cd8000412b200141086a41c8b6cd80004184b7cd800010a981808000000b850502087f017e23808080800041106b2201248080808000200028020421020240024002400240024002400240200028020820002802002203200341054b22041b220541016a0e020201000b2005672205450d01417f20057621050b200541016a2206200020044103746a2802002207490d01200041046a21082003410520041b2104024020054105490d0020032006460d0402402006ad422c7e2209422088a70d002009a7220541fcffffff074b0d0002400240024020034106490d002004ad422c7e2209422088a70d032009a7220441fcffffff074b0d03200541002802f482d48000118280808000002203450d022003200341036a417c7120036b22086a2203417e6a20083b0000200320022005200420052004491b10f4978080001a20022002417e6a2f00006b41002802ec82d48000118180808000000c010b41002d008083d480001a200541002802f482d48000118280808000002203450d012003200341036a417c7120036b22056a2203417e6a20053b0000200320082007412c6c10f4978080001a0b2000200736020820002003360204200020063602000c060b4104200510ab80808000000b4194b7cd8000411141a8b7cd8000108081808000000b200341064f0d020c030b4194b7cd8000411141b8b7cd800010a181808000000b41c8b7cd8000412041e8b7cd8000108081808000000b200820022007412c6c10f4978080001a200020073602002004ad422c7e2209a721002009422088a70d01200041fdffffff074f0d0120022002417e6a2f00006b41002802ec82d48000118180808000000b200141106a2480808080000f0b2001200036020c2001410036020841d8b6cd8000412b200141086a41c8b6cd80004184b7cd800010a981808000000bed0601037f23808080800041306b2204248080808000410121050240024020014101710d00410021020c010b0240200241c0004f0d00410121020c010b02402002418080014f0d00410221020c010b410441052002418080808004491b21020b0240200341c000490d0041022105200341808001490d00410441052003418080808004491b21050b41002d008083d480001a024002400240200541002802f482d48000118280808000002201450d00200420013602102001417e6a41003b0000200441003602142004200536020c02402003413f4b0d00200120034102743a0000410121060c030b0240200341ffff004b0d0020034102744101722106410021030240200541014b0d002004410c6a4100410210f49180800020042802102101200428021421030b200120036a20063b0000200341026a21060c030b200341ffffffff034b0d0120034102744102722106410021030240200541034b0d002004410c6a4100410410f49180800020042802102101200428021421030b200120036a2006360000200341046a21060c020b4101200541fcb2cd800010b980808000000b200141033a000041012106200441013602140240200541044b0d002004410c6a4101410410f49180800020042802102101200428021421060b200120066a2003360000200641046a21060b02400240024002402000280200220328020822052002490d00200428020c21002003410036020820042003360214200328020421032004200120066a36022c2004200036022820042001360224200420013602202004200336020c200420023602182004200520026b36021c2004200320026a3602102004410c6a41fcb3cd800010b69780800020042802102103200428020c2102200442818080801037020c200428021c21010240024020032002460d002001450d0520042802182205200428021422032802082202470d010c040b2001450d0420042802182205200428021422032802082202460d022003280204220020026a200020056a200110f9978080001a0c020b2003280204220020026a200020056a200110f9978080001a0c020b200220054180bbcd8000109181808000000b2003200220016a3602080c010b2003200220016a3602080b02402004280228450d00200428022022012001417e6a2f00006b41002802ec82d48000118180808000000b200441306a2480808080000bbf0301027f23808080800041306b22072480808080004100210802400240024020024100480d00024020020d00410121080c030b41002d008083d480001a200241002802f482d480001182808080000022080d01410121080b2008200241b8b6cd800010b980808000000b2008417e6a41003b00000b20082001200210f49780800021014100210802400240024020044100480d00024020040d00410121080c030b41002d008083d480001a200441002802f482d480001182808080000022080d01410121080b2008200441b8b6cd800010b980808000000b2008417e6a41003b00000b20082003200410f4978080002108200720043602202007200836021c2007200436021820072002360214200720013602102007200236020c4100210202400240024020064100480d00024020060d00410121020c030b41002d008083d480001a200641002802f482d480001182808080000022020d01410121020b2002200641b8b6cd800010b980808000000b2002417e6a41003b00000b20022005200610f49780800021022007200636022c200720023602282007200636022420002007410c6a200741246a4100200710af97808000200741306a2480808080000bd50401057f23808080800041e0016b220124808080800002400240024002402000280200418080808078470d002000280204200028020c41fc006c6a418c026a21000c010b200141086a41206a200041206a290200370300200141086a41186a2202200041186a290200370300200141086a41106a200041106a2203290200370300200141086a41086a200041086a220429020037030020012000290200370308200141003602a801024002402001280224450d00200141b8016a41086a200041246a2802003602002001200029021c3703b801200141c8016a41106a2003290200370300200141c8016a41086a2004290200370300200120002902003703c801200141ac016a200141b8016a200141c8016a200141306a2002200141306a108d9780800020012802b401210420012802ac012102200128022021030c010b41002d008083d480001a2001280220210341e40c41002802f482d48000118280808000002202450d022002200241036a417c7120026b22046a220241003b01e20c20024100360288022002417e6a20043b0000200341003602042003200236020020022f01e20c2204410b4f0d032002200441016a3b01e20c2002200441186c6a22052000290200370200200541106a200041106a290200370200200541086a200041086a2902003702002002200441fc006c6a418c026a200141306a41fc0010f4978080001a0b2003200328020841016a3602082002200441fc006c6a418c026a21000b200141e0016a24808080800020000f0b410441e40c10ab80808000000b4198a6cd8000412041b8a7cd8000108081808000000b980403027f017e037f23808080800041b0026b220124808080800002400240024002402000280200418080808078470d002000280204200028020c41e0016c6a21000c010b200141086a41186a200041186a2202280200360200200141086a41106a200041106a2902002203370300200141086a41086a200041086a22042902003703002001200029020037030820014100360224024002402003a7450d0020014190026a41086a20022802003602002001200029021037039002200141a0026a41086a2004280200360200200120002902003703a00220014184026a20014190026a200141a0026a200141246a200141146a200141246a109397808000200128028c0221052001280284022102200128021421040c010b41002d008083d480001a2001280214210441ac1441002802f482d48000118280808000002202450d022002200241036a417c7120026b22056a220241003b01aa14200241003602a0132002417e6a20053b0000200441003602042004200236020020022f01aa142205410b4f0d032002200541016a3b01aa1420022005410c6c6a220620002902003702a413200641ac136a200041086a2802003602002002200541e0016c6a200141246a41e00110f4978080001a0b2004200428020841016a3602082002200541e0016c6a21000b200141b0026a24808080800020000f0b410441ac1410ab80808000000b4198a6cd8000412041b8a7cd8000108081808000000bf10201047f23808080800041306b220124808080800002400240024002402000280210450d00200141106a41086a200041106a220241086a28020036020020012002290200370310200141206a41086a200041086a28020036020020012000290200370320200141046a200141106a200141206a2000410c6a2000411c6a108f97808000200028020c2103200128020421020c010b200028020c210341002d008083d480001a418c0141002802f482d48000118280808000002202450d012002200241036a417c7120026b22046a220241003b018a01200241003602002002417e6a20043b0000200341003602042003200236020020022f018a012204410b4f0d022002200441016a3b018a0120022004410c6c6a2204410c6a200041086a280200360200200420002902003702040b2003200328020841016a360208200141306a2480808080002002418c016a0f0b4104418c0110ab80808000000b4198a6cd8000412041b8a7cd8000108081808000000b970301047f23808080800041c0006b22012480808080000240024002400240200028021c450d00200141186a41086a2000411c6a220241086a28020036020020012002290200370318200141286a41106a200041106a290200370300200141286a41086a200041086a290200370300200120002902003703282001410c6a200141186a200141286a200041186a200041286a10919780800020002802182103200128020c21020c010b2000280218210341002d008083d480001a41900241002802f482d48000118280808000002202450d012002200241036a417c7120026b22046a220241003b018e0220024100360288022002417e6a20043b0000200341003602042003200236020020022f018e022204410b4f0d022002200441016a3b018e022002200441186c6a220441106a200041106a290200370200200441086a200041086a290200370200200420002902003702000b2003200328020841016a360208200141c0006a24808080800020024190026a0f0b410441900210ab80808000000b4198a6cd8000412041b8a7cd8000108081808000000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10ac9780800020052802084101470d0120052802102102200528020c21060b200620024188bccd800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be20101077f23808080800041206b22022480808080004100210302402000280200220441ffffffff014d0d0041004100200110b980808000000b02400240200441017422054104200541044b1b2206410274220741fcffffff074b0d004100210502402004450d002002200441027436021c20022000280204360214410421050b20022005360218200241086a41042007200241146a10ac9780800020022802084101470d0120022802102108200228020c21030b20032008200110b980808000000b200228020c21042000200636020020002004360204200241206a2480808080000bba08010b7f410341022001280200418080808078461b21052000280200210602400240024002402002450d00200028020421070c010b2000280204210720002802082006200641054b22021b0d010b024002402000200641054b22084103746a220228020022092006410520081b460d002007200041046a20081b21060c010b200010a497808000200041086a210220002802082109200028020421060b20062009412c6c6a22062001290200370204200620053602002006410036022820064280808080c0003702202006410c6a200141086a2802003602002002200228020041016a3602000c010b024002400240200020024103746a2802002202450d002007200041046a220a200641054b1b2002412c6c6a220641546a2202280200220741014b0d012006415c6a2802004101470d012006416c6a2208280200210b20084100360200200641686a280200210c200641646a2208280200210d2008428080808010370200200641586a280200210e200641606a280200210f200721080c020b4198bdcd800041fc004184bfcd800010a181808000000b410221080b411021090240024002402007417e6a2207410220074102491b0e020002010b410421090b200220096a2207280200450d00200728020422072007417e6a2f00006b41002802ec82d48000118180808000000b20022005360200200641586a22062001290200370200200641086a200141086a28020036020020084102460d0002400240200028020820002802002201200141054b22011b417e6a2206200020014103746a2802004f0d000240200a280200200a20011b2006412c6c6a2201280200220641014b0d0041002102410021052006410171450d0202402001280204220641c0004f0d00417f21050c030b02402006418080014f0d00417e21050c030b417c417b2006418080808004491b21050c020b200d450d02200c200c417e6a2f00006b41002802ec82d48000118180808000000c020b41b4bfcd800041c00041f4bfcd800010a181808000000b02402008410171450d0041012102200e41c000490d0041022102200e41808001490d0041044105200e418080808004491b21020b2001200e360204200120083602002005200f6a20026a2206200b2006200b491b210602402001280210450d00200128021422022002417e6a2f00006b41002802ec82d48000118180808000000b200120063602182001200c3602142001200d3602100b024002402003410171450d002000200028020041054b22014103746a2802002206450d012000280204200041046a20011b2006412c6c6a220141786a210602402001417c6a22022802002200450d002004200628020020004102746a417c6a280200460d010b02402000200141746a2201280200470d00200141e4b8cd800010ad978080000b200628020020004102746a20043602002002200041016a3602000b0f0b4198bdcd800041fc0041a4bfcd800010a181808000000bcc0a01077f23808080800041d0006b220524808080800041002106024002400240200128020822074100480d0020012802042108024020070d00410121060c030b41002d008083d480001a200741002802f482d480001182808080000022060d01410121060b200620074188bdcd800010b980808000000b2006417e6a41003b00000b20062008200710f4978080002109200520073602302005200936022c200520073602284100210a024002400240200128021422064100480d002001280210210b024020060d004101210a0c030b41002d008083d480001a200641002802f482d4800011828080800000220a0d014101210a0b200a20064188bdcd800010b980808000000b200a417e6a41003b00000b200a200b200610f497808000210a2005200636023c2005200a36023820052006360234024002402000280200220a450d00200541c0006a200a2000280204200541286a109a97808000200541c4006a210a02402005280240450d00200541246a200a41086a280200360200200541086a200541286a41086a290200370300200541106a200541286a41106a29020037030020052005290228370300200520003602182005200a29020037021c0c020b2005410c6a200a41086a2802003602002005200036021020054180808080783602002005200a29020037020402402007450d0020092009417e6a2f00006b41002802ec82d4800011818080800000200528023421060b2006450d01200528023822062006417e6a2f00006b41002802ec82d48000118180808000000c010b200541106a200541286a41106a290200370300200541086a200541286a41086a290200370300200520052902283703002005410036021c200520003602180b200510a7978080002106024002400240024002402000410c6a200028020c41054b22074103746a280200220a0d00200128020c210002402001280200450d0020082008417e6a2f00006b41002802ec82d48000118180808000000b02402000450d00200b200b417e6a2f00006b41002802ec82d48000118180808000000b200641f8006a2108200628027821010c010b200541086a200141086a290200370300200541106a200141106a29020037030020052001290200370300200641f8006a21082000280210200041106a20071b200a410c6c6a41746a200510b4978080002100200628027821012000450d010b20062802042001200141054b22001b22070d010b200641046a2100024002402006410441f800200141054b22071b6a280200220a2001410520071b460d002000200820071b21002006280200200620071b21010c010b200610a3978080002006280204210a200628020021010b2001200a41186c6a2201410036020820014280808080c0003702002001200229020037020c200141146a200241086a2802003602002000200028020041016a3602000c010b02402006280200200620001b200741186c6a220741746a22012802002200418080808078460d002000450d00200741786a28020022002000417e6a2f00006b41002802ec82d48000118180808000000b20012002290200370200200141086a200241086a2802003602000b024002402003410171450d00200628020420062802782201200141054b22011b2200450d012006280200200620011b200041186c6a2201416c6a21000240200141706a22072802002206450d002004200028020020064102746a417c6a280200460d010b02402006200141686a2201280200470d00200141e4b8cd800010ad978080000b200028020020064102746a20043602002007200641016a3602000b200541d0006a2480808080000f0b4198bdcd800041fc0041a4bfcd800010a181808000000bd01903077f017e107f23808080800041b0026b220224808080800041012103200028020c210402400240024020002d00504101470d0020002802142004200441054b1b200028024c4d0d010b2000410c6a2205200441054b22044103746a22062802002207450d00200041106a2208280200210320062007417f6a22073602002003200820041b2007410c6c6a22042802042103200220042802084100200428020022041b36022820022003360224200220043602202002410036021c20022004410047220636021820022003360214200220043602102002410036020c20022006360208200241386a200241086a10b297808000200229023c21092002280238210a024002400240024020010d00200a418080808078460d03200241386a41106a210b200241386a41046a210c03402002200a36022c200220093702302000280200220d450d022009422088a721042009a7210e2000280204210f02400240024002400240034002400240200d2f01aa1422100d00410021060c010b2010410c6c211141002107410021014100210603400240200e200d20016a220341a8136a2802002004200341ac136a280200220320042003491b10f5978080002212200420036b20121b220341004a20034100486b41ff017122034101460d0020030d02200d20076a21032005200528020041054b22044103746a2802002201452008280200200820041b2001410c6c6a41746a2204457222110d04200241386a41086a2002412c6a41086a2802003602002002200229022c3703382004200241386a10b397808000450d07200328020021040c050b200741e0016a2107200641016a210620112001410c6a2201470d000b201021060b200f450d08200f417f6a210f200d20064102746a2802ac14210d0c000b0b200341086a28020020032802002204200441054b1b4102490d010b0240024002400240024002400240200d200441054b22044103746a20076a22062802002212450d00200341046a2201280200210e20062012417f6a2212360200200e200120041b2012412c6c6a220428020c2113200428020821102004280204210a2004280200210f200241a0026a41086a2214200441186a290200370300200220042902103703a002200428022821062004280224210e20042802202115200328020021120240200f41014b0d002010450d00200d201241054b22164103746a20076a2802002217450d022001280200200120161b2017412c6c6a221641546a221728020041014b0d00201641606a221228020021102016415c6a22132802002114200241386a41086a2218200441106a220441086a290200370300200220042902003703380240201641646a2204280200450d00201641686a28020022192019417e6a2f00006b41002802ec82d48000118180808000000b2017200f3602002013201436020020122010360200201641586a200a36020020042002290338370200200441086a20182903003702000c070b200d201241054b22044103746a20076a2802002212450d02200241386a41186a2001280200200120041b2012412c6c6a220441546a221241186a290200370300200241386a41106a201241106a290200370300200241386a41086a201241086a29020037030020022012290200370338200441606a20133602002004415c6a2010360200200441586a200a3602002012200f360200200441646a220441086a2014290300370200200420022903a0023702002002280238221241014b0d04200228024c21042002280248210f02402002280240450d00200341086a28020020032802002210201041054b22101b417e6a220a200320104103746a2802004f0d002001280200200120101b200a412c6c6a2210280200220a41014b0d004100211441002116200a410171450d0402402010280204220a41c0004f0d00417f21160c050b0240200a418080014f0d00417e21160c050b417c417b200a418080808004491b21160c040b200f0d050c060b4198bdcd800041fc004194bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b4198bdcd800041fc004184bfcd800010a181808000000b200228023c211302402012410171450d000240201341c0004f0d00410121140c010b02402013418080014f0d00410221140c010b410441052013418080808004491b21140b200228024421172002280250210a2010201336020420102012360200201620176a20146a2212200a2012200a491b211202402010280210450d002010280214220a200a417e6a2f00006b41002802ec82d48000118180808000000b20102012360218201020043602142010200f360210200228023822124102490d020b200b2104024002402012417e6a2212410220124102491b0e020003010b200c21040b2004280200450d01200428020421040b20042004417e6a2f00006b41002802ec82d48000118180808000000b200d200328020041054b22044103746a20076a2802002203450d0220064102742107024020062001280200200120041b2003412c6c6a220341746a22122802002003417c6a220128020022046b4d0d002012200420064104410410ab97808000200128020021040b200341786a28020020044102746a200e200710f4978080001a2001200420066a36020002402015450d00200e200e417e6a2f00006b41002802ec82d48000118180808000000b2011450d01200228022c210a0b200a450d00200228023022042004417e6a2f00006b41002802ec82d48000118180808000000b200241386a200241086a10b297808000200229023c21092002280238220a418080808078470d010c050b0b4198bdcd800041fc0041a4bfcd800010a181808000000b200a418080808078460d02200241386a41106a2105200241386a41046a21082002413c6a211503402002200a36022c200220093702302000280200220d450d012009422088a721042009a7210e2000280204210f02400240024002400240034002400240200d2f01aa1422100d00410021060c010b2010410c6c211141002107410021014100210603400240200e200d20016a220341a8136a2802002004200341ac136a280200220320042003491b10f5978080002212200420036b20121b220341004a20034100486b41ff017122034101460d0020030d02200d20076a2203200328020041054b22044103746a22062802002212450d0b200341046a2201280200210e20062012417f6a2212360200200241386a41086a200e200120041b2012412c6c6a220441086a290200370300200241386a41106a200441106a290200370300200241386a41186a200441186a290200370300200241386a41206a200441206a290200370300200241386a41286a200441286a2802003602002002200429020022093703382009a7220641014b0d052005211220022802404101470d06200d200328020041054b22124103746a20076a280200220d450d0e200428021421072004280210210e2001280200200120121b200d412c6c6a220141546a2212280200220d4102490d04200e0d070c080b200741e0016a2107200641016a210620112001410c6a2201470d000b201021060b200f450d07200f417f6a210f200d20064102746a2802ac14210d0c000b0b200141586a21114100210f410021100240200d410171450d0002402011280200220d41c0004f0d00417f21100c010b0240200d418080014f0d00417e21100c010b417c417b200d418080808004491b21100b20042802182104200228023c210d02402006410171450d000240200d41c0004f0d004101210f0c010b0240200d418080014f0d004102210f0c010b41044105200d418080808004491b210f0b2002280244210a2011200d360200201220063602002010200a6a200f6a2206200420062004491b21040240200141646a2206280200450d00200141686a28020022122012417e6a2f00006b41002802ec82d48000118180808000000b2006200e3602002001416c6a2004360200200141686a2007360200200228023822064102490d030b2008211220064102470d020b2012280200450d01201228020421070b20072007417e6a2f00006b41002802ec82d48000118180808000000b02402002280258450d00200228025c22042004417e6a2f00006b41002802ec82d48000118180808000000b0240200341086a28020020032802002204200441054b1b0d00200241386a20002002412c6a10b5978080002002280238450d00201510a2978080000b0240200228022c450d00200228023022042004417e6a2f00006b41002802ec82d48000118180808000000b200241386a200241086a10b297808000200229023c21092002280238220a418080808078470d000c030b0b4184c0cd800041d50141dcc1cd800010a181808000000b4198bdcd800041fc004194bfcd800010a181808000000b200241086a10b897808000410021030b200241b0026a24808080800020030f0b4198bdcd800041fc004184bfcd800010a181808000000b8c05010c7f23808080800041206b220524808080800041002106024002400240200128020822074100480d0020012802042108024020070d00410121060c030b41002d008083d480001a200741002802f482d480001182808080000022060d01410121060b200620074188bdcd800010b980808000000b2006417e6a41003b00000b20062008200710f497808000210902400240024002402000280200220a450d002000280204210b03404100210c0240200a2f01aa14220d450d00200d410c6c210e4100210f4100210c034002402009200a200f6a220641a8136a2802002007200641ac136a280200220620072006491b10f5978080002210200720066b20101b220641004a20064100486b41ff017122064101460d0020060d02200520003602102005200c36020c2005200b3602082005200a36020420054180808080783602002007450d0720092009417e6a2f00006b41002802ec82d48000118180808000000c070b200c41016a210c200e200f410c6a220f470d000b200d210c0b200b450d02200b417f6a210b200a200c4102746a2802ac14210a0c000b0b200541003602100c010b2005200c360218200541003602142005200a3602100b2005200036020c2005200736020820052009360204200520073602000b200510a8978080002107024002402000410c6a200028020c41054b22064103746a280200220f0d00024020012802000d00410021060c020b4100210620082008417e6a2f00006b41002802ec82d48000118180808000000c010b200541086a200141086a280200360200200520012902003703002000280210200041106a20061b200f410c6c6a41746a200510b39780800041017321060b2007200220062003200410ae97808000200541206a2480808080000ba50601077f0240200128022022020d00200128020021022001410036020002402002410171450d000240200128020422020d0020012802082102200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a2105200228028c0121022004417f6a22040d000b0b20034108490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200541786a22050d000b0b034020022002417e6a2f00006b210520022802002102200541002802ec82d480001181808080000020020d000b0b20004180808080783602000f0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a2105200228028c0121022004417f6a22040d000b0b20034108490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b20012802082104024002400240200128020c2203200128020422022f018a014f0d00200221050c010b034020022802002205450d0220022f018801210320022002417e6a2f00006b41002802ec82d4800011818080800000200441016a210420052102200320052f018a014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a4190016a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a2107200228028c0121022004417f6a22040d000b0b20084107490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200741786a22070d000b0b2001200636020c2001410036020820012002360204200020052003410c6c6a2202290204370200200041086a2002410c6a2802003602000f0b20022002417e6a2f00006b41002802ec82d48000118180808000004184b2cd800010a081808000000b41f0c2cd800010a081808000000b8503020c7f017e23808080800041206b220224808080800002400240024020002802002203450d00200141046a2104200128020821052001280204210620002802042107034041002108024020032f018a012209450d002009410c6c210a2003410c6a210b41002108034002402006200b417c6a2802002005200b280200220c2005200c491b10f597808000220d2005200c6b200d1b220c41004a200c4100486b41ff0171220c4101460d00200c0d024101210b2001280200450d0620062006417e6a2f00006b41002802ec82d48000118180808000000c060b200b410c6a210b200841016a2108200a41746a220a0d000b200921080b02402007450d002007417f6a2107200320084102746a28028c0121030c010b0b2008ad422086210e0c010b200141046a2104410021030b4101210b20012802002205418080808078460d002002200e37021820022003360214200220003602102002200536020420022004290200370208200241046a10a9978080001a4100210b0b200241206a248080808000200b0b9d04020d7f017e23808080800041306b220224808080800002400240024020002802002203450d002001280214210420012802102105200128020821062001280204210720002802042108034041002109024020032f018e02220a450d00200a41186c210b200341146a210c410021090340024002402007200c41706a2802002006200c41746a280200220d2006200d491b10f597808000220e2006200d6b200e1b220d450d00200d41004a200d4100486b210d0c010b2005200c417c6a2802002004200c280200220d2004200d491b10f597808000220e2004200d6b200e1b220d41004a200d4100486b210d0b0240200d4101460d00200d41ff01710d0202402001280200450d0020072007417e6a2f00006b41002802ec82d48000118180808000000b4101210c200128020c450d0620052005417e6a2f00006b41002802ec82d48000118180808000000c060b200c41186a210c200941016a2109200b41686a220b0d000b200a21090b02402008450d002008417f6a2108200320094102746a2802900221030c010b0b2009ad422086210f0c010b200128021421042001280210210520012802042107410021030b4101210c20012802002206418080808078460d002002200f37022820022003360224200220003602202002200436021c200220053602182002200736020c2002200636020820022001290208370210200241086a10aa978080001a4100210c0b200241306a248080808000200c0bd204010a7f23808080800041f0036b220324808080800002400240200128020022040d00410021050c010b20022802082105200228020421062001280204210702400240034041002108024020042f01aa142209450d002009410c6c210a4100210b410021080340024020062004200b6a220241a8136a2802002005200241ac136a280200220220052002491b10f597808000220c200520026b200c1b220241004a20024100486b41ff017122024101460d0020020d022003200136020c20032008360208200320073602042003200436020041002105200341003a0013200341f8016a2003200341136a10999780800020032802f801210220032802fc012108200341146a20034180026a41e40110f4978080001a20012001280208417f6a360208024020032d00134101470d002001280200220b450d062001280204220c450d05200b2802ac14220441003602a0132001200c417f6a36020420012004360200200b200b417e6a2f00006b41002802ec82d48000118180808000000b200341f8016a200341146a41e40110f4978080001a2002418080808078460d06200041046a200341f8016a41046a41e00110f4978080001a410121052002450d0620082008417e6a2f00006b41002802ec82d48000118180808000000c060b200841016a2108200a200b410c6a220b470d000b200921080b024020070d00410021050c040b2007417f6a2107200420084102746a2802ac1421040c000b0b41f0a8cd800041214194a9cd8000108081808000000b41fcb9cd800010a081808000000b20002005360200200341f0036a2480808080000bdc08010b7f20004281808080103702000240200028021022020d00024020002802202203200028021822046b220520002802082206280200200628020822076b4d0d002006200720054101410110ab97808000200628020821070b024020042003460d002006280204210802400240200541037122050d00200421090c010b200421090340200820076a20092d00003a0000200741016a2107200941016a21092005417f6a22050d000b0b0240200420036b417c4b0d00200820076a210a410021080340200a20086a2204200920086a22052d00003a0000200441016a200541016a2d00003a0000200441026a200541026a2d00003a0000200441036a200541036a2d00003a0000200841046a2108200541046a2003470d000b200920086a2109200720086a21070b200020093602180b200620073602080f0b024002400240200028020c220b200028020822082802082205470d0020002802202107200028021821050c010b200b20056b2104200828020420056a21092000280218210520002802202107034020052007460d02200920052d00003a00002000200541016a22053602182008200828020841016a360208200941016a21092004417f6a22040d000b0b024020072005460d000240200720056b22092008280200200b20026a22046b4d0d002008200420094101410110ab978080000b200828020422042009200b6a22036a2004200b6a200210f9978080001a2000200336020c0240200828020822042003460d00200828020420046a2109200b20076a20046b20056b2104034020052007460d03200920052d00003a00002000200541016a22053602182008200828020841016a360208200941016a21092004417f6a22040d000b0b2003210b0b4100210902400240200720056b22044100480d0020072005460d024100210941002d008083d480001a200441002802f482d4800011828080800000220a0d01410121090b200920044180c4cd800010b980808000000b200a417e6a220c41003b0000200720056b220441037121030240200520076b417c4b0d002004417c712106410021090340200a20096a2207200520096a22042d00003a0000200741016a200441016a2d00003a0000200741026a200441026a2d00003a0000200741036a200441036a2d00003a00002006200941046a2209470d000b200520096a21050b02402003450d000340200a20096a20052d00003a0000200941016a2109200541016a21052003417f6a22030d000b0b2000200536021802402009450d00024020092008280200200b20026a22056b4d0d002008200520094101410110ab978080000b20082802042207200b20096a22056a2007200b6a200210f9978080001a2000200536020c200828020822072005460d002007200b6b2104200828020420076a2105200a210703402009450d01200520072d00003a00002008200828020841016a360208200541016a2105200741016a210720042009417f6a2209470d000b0b200a200c2f00006b41002802ec82d48000118180808000000b0bfb0501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802900221012005417f6a22050d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200041786a22000d000b0b20012100410021020b024002400240200220002f018e024f0d0020022105200021010c010b03402000280288022201450d0220002f018c02210520002000417e6a2f00006b41002802ec82d4800011818080800000200441016a210420012100200520012f018e024f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4194026a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802900221002004417f6a22040d000b0b20074107490d000340200028029002280290022802900228029002280290022802900228029002280290022100200641786a22060d000b0b02402001200541186c6a2201280200450d00200128020422042004417e6a2f00006b41002802ec82d48000118180808000000b0240200128020c450d00200128021022012001417e6a2f00006b41002802ec82d48000118180808000000b410021012003417f6a22030d010c030b0b20002000417e6a2f00006b41002802ec82d48000118180808000004184b2cd800010a081808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802900221002005417f6a22050d000b0b20024108490d000340200028029002280290022802900228029002280290022802900228029002280290022100200441786a22040d000b0b034020002000417e6a2f00006b21012000280288022100200141002802ec82d480001181808080000020000d000b0b0bbb0601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a2104200128028c0121012003417f6a22030d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082103024002400240200028020c2202200028020422012f018a014f0d00200121040c010b034020012802002204450d0220012f018801210220012001417e6a2f00006b41002802ec82d4800011818080800000200341016a210320042101200220042f018a014f0d000b0b0240024020030d00200241016a2105200421010c010b200420024102746a4190016a2802002101410021052003417f6a2206450d002003417e6a2107024020064107712203450d0003402006417f6a2106200128028c0121012003417f6a22030d000b0b20074107490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200641786a22060d000b0b2000200536020c2000410036020820002001360204024020042002410c6c6a2201280204450d00200141046a28020422012001417e6a2f00006b41002802ec82d48000118180808000000b200028022022010d010c030b0b20012001417e6a2f00006b41002802ec82d48000118180808000004184b2cd800010a081808000000b41f0c2cd800010a081808000000b200028020021012000410036020002402001410171450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a2104200128028c0121012003417f6a22030d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200441786a22040d000b0b034020012001417e6a2f00006b210420012802002101200441002802ec82d480001181808080000020010d000b0b0b1e00200128020041acc5cd8000410c200128020428020c118080808000000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000be30101037f23808080800041206b2203248080808000024002400240200120026a220220014f0d00410021040c010b4100210402402002200028020022054101742201200220014b1b22014108200141084b1b220141004e0d000c010b4100210202402005450d002003200536021c20032000280204360214410121020b20032002360218200341086a41012001200341146a10ba9780800020032802084101470d0120032802102100200328020c21040b2004200041b0c6cd800010b980808000000b200328020c21022000200136020020002002360204200341206a2480808080000bf80201067f23808080800041106b22022480808080004100210302400240024002402001280208220441176a22054100480d0020012802042106024020050d002002410036020c20024280808080103702040c030b4100210341002d008083d480001a200541002802f482d480001182808080000022010d01410121030b2003200541b8c8cd800010b980808000000b200220013602082001417e6a41003b00002002410036020c2002200536020420044169490d010b200241046a4100411710bb978080002002280204210520022802082101200228020c21030b200120036a220741002900c0c7cd80003700002007410f6a41002900cfc7cd8000370000200741086a41002900c8c7cd80003700002002200341176a220336020c02402004200520036b4d0d00200241046a2003200410bb9780800020022802082101200228020c21030b200120036a2006200410f4978080001a200041086a200320046a36020020002002290204370200200241106a2480808080000b950301037f0240200028020022022802002200413f4b0d00200041027421020240200128020020012802082200470d0020012000410110f491808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200041ffff004b0d002000410274410172210202402001280200200128020822006b41014b0d0020012000410210f491808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b0240200041ffffffff034b0d002000410274410272210202402001280200200128020822006b41034b0d0020012000410410f491808000200128020821000b2001200041046a360208200128020420006a20023600000f0b02402001280200220320012802082200470d0020012000410110f49180800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410f49180800020012802042104200128020821000b2001200041046a360208200420006a20023600000bf40303047f017e017f23808080800041306b2201248080808000200141246a41dcc9cd8000410810c3928080002001410036022020014280808080c00037021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220441dd8580800036021820044296e397c6bfa5aeee46370310200442aceff0b4f2bd8f8fe40037030820044101360204200441e4c9cd80003602002004417e6a20033b0000200141086a200141186a220241086a2802003602002001200229020037030020012902282105200128022421032001410036021420014280808080800137020c2001410c6a41a8c9cd800010b5928080002001280210220242b1b9bbf6d09c8ca47b3703002002410036023020024280808080c0003703282002410036022020024100360218200241de85808000360210200242d0eeea8fe2e880c5103703082003418080808078460d01200128020c21062000410136024c20002004360248200041013602442000200537023c200020033602382000410136020c2000200236020820002006360204200041003a000020002001290300370250200041d8006a200141086a280200360200200141306a2480808080000f0b4108412010ab80808000000b41b8c9cd8000411141ccc9cd800010a181808000000be60203027f017e037f23808080800041306b2201248080808000200141246a4196cdcd8000410c4180cdcd800041164104410010c292808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41a8c9cd800010b59280800020012802102205429bb4b4cdca9deefa703703002005420437022c20054211370224200541accdcd80003602202005410a36021c200541a2cdcd8000360218200541df85808000360210200542a6918dfdeac380e3987f37030802402004418080808078470d0041b8c9cd8000411141ccc9cd800010a181808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10c09780800020052802084101470d0120052802102102200528020c21060b2006200241b4cecd800010b980808000000b200528020c21042000200736020020002004360204200541206a2480808080000bbd0401067f23808080800041306b2204248080808000200241017121050240024020032802002206418080808078460d00413f2002411e2002411e491b22074120722002411e4b1b2108200220076b210902402005450d0020012d000021070b20044102360224200420073a0019200420083a0015200441013a0014200420093602102004410136020c20042002417e71360220200420053a00182004200120056a36021c20002004410c6a41accfcd800010c597808000200328020421020240200328020822032000280200200028020822056b4d0d002000200520034101410110c197808000200028020821050b200028020420056a2002200310f4978080001a2000200028020820036a3602082006450d0120022002417e6a2f00006b41002802ec82d48000118180808000000c010b41ff002002413e2002413e491b220641c000722002413e4b1b2107200220066b210802402005450d0020012d000021060b20044102360224200420063a0019200420073a0015200441013a0014200420083602102004410136020c20042002417e71360220200420053a00182004200120056a36021c20002004410c6a41accfcd800010c5978080002004200328020822023602282004200441286a36022c2004412c6a200010bd9780800020032802042105024020022000280200200028020822036b4d0d002000200320024101410110c197808000200028020821030b200028020420036a2005200210f4978080001a2000200028020820026a3602080b200441306a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041dd8580800036021820004296e397c6bfa5aeee46370310200042aceff0b4f2bd8f8fe400370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000bc807010e7f20012802142103200128021021042001280204210520012d000821062001280218210720012d000d210820012d000921092001280200210a20012d000c210b0240034002400240024002400240024002400240024002400240024002400240200a417e6a0e020102000b0240200641ff01714102460d004100210c2001410041022006410171220d1b3a0008200d450d00410021062009210e0c040b0240200a410171450d002005450d002005418002490d032001200541817e6a220536020441ff01210e410221064101210c0c040b41022106200141023602000b4102210a0240200b41ff01714102460d004100210a200141003a000c200b4101710d050b20014103360200200a210b0b2004450d042003450d04200120032007200320072003491b220a6b220336021420012004200a6a220c36021002400240200a0e020001040b410041004198d1cd8000108281808000000b4101410141a8d1cd8000108281808000000b200141003602042005417f6a210e410221064101210c410021050b2000280208220d2000280200470d08200a4103470d05200445210f2004210c0c040b20042d000041047420042d000172210e2000280208220d2000280200460d024103210a200c21040c070b4100210b4102210a2008210e2000280208220d2000280200470d064100210c20040d04410021042008210e410021100c050b0f0b4100210f0b410021104103210a0240200f450d00200c21040c030b024020030d00200c21040c030b02402007450d00200320076e22042003200420076c6b4100476a2110200c21040c030b41b0d0cd8000108e81808000000b024002400240024002402004450d00200a4102460d01200b41ff017122104102460d0202400240200c0d00200a4101711a2006210c0c010b200a4101711a4100210c0b200c20106a210c0c050b200a4102460d02200b41ff017122044102460d0302400240200c0d00200a4101711a2006210c0c010b200a4101711a4100210c0b200c20046a2110410021040c050b4102210a4100200b200b41ff01714102461b41ff0171210c0c030b41002006200c1b210c4102210b0c020b4102210a410021044100200b200b41ff01714102461b41ff017121100c020b4100210441002006200c1b21104102210b0c010b4100211002402003450d002007450d04200320076e22102003201020076c6b4100476a21100b417f200c20106a22102010200c491b21100b2000200d201041016a220c417f200c1b4101410110c1978080000b2000200d41016a3602082000280204200d6a200e3a00000c000b0b41b0d0cd8000108e81808000000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041e085808000360218200042ffa4dddb98b9a9a4fe003703102000429faa9cbce6b5e6f9d800370308200041023a00000bf40101037f41002d008083d480001a0240413041002802f482d480001182808080000022010d004108413010ab80808000000b200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004102360204200041043a00002001200141076a417871220220016b22036a220141bb80808000360228200141e185808000360210200142d687ccb79492eaa48f7f370308200142dec098f1dab59facaa7f370300200142d7c9cb8fc1cf97db3e370320200142e88488d0c0e3aebc13370318200020013602082001417e6a20033b00002000200120026b41306a41186e36020c0b6700200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004108360220200041b480808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a00000bfd0303057f017e017f23808080800041306b2201248080808000200141246a41b8d1cd8000410310c3928080002001410036022020014280808080c00037021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a2204418381808000360218200442acf6debeefe0d9c8d300370310200442efc9c9edb5e7b3a6c70037030820044101360204200441bbd1cd80003602002004417e6a20033b0000200141086a2205200141186a220241086a2802003602002001200229020037030020012902282106200128022421032001410036021420014280808080800137020c2001410c6a41b4d2cd800010b5928080002001280210220242efc9c9edb5e7b3a6c7003703002002410036023020024280808080c00037032820024100360220200241003602182002418381808000360210200242acf6debeefe0d9c8d3003703082003418080808078460d01200128020c2102200128021021072000410136024c20002004360248200041013602442000200637023c200020033602382000410136020c2000200736020820002002360204200041003a000020002001290300370250200041d8006a2005280200360200200141306a2480808080000f0b4108412010ab80808000000b41c4d2cd8000411141d8d2cd800010a181808000000bfb0303057f017e017f23808080800041306b2201248080808000200141246a41b8d1cd8000410310c3928080002001410036022020014280808080c00037021841002d008083d480001a02400240412041002802f482d48000118280808000002202450d002002200241076a41787120026b22036a220441e285808000360218200442dbd99687cdc4d0f406370310200442a7d986bcbd90f1d2907f37030820044101360204200441bbd1cd80003602002004417e6a20033b0000200141086a2205200141186a220241086a2802003602002001200229020037030020012902282106200128022421032001410036021420014280808080800137020c2001410c6a41b4d2cd800010b5928080002001280210220242a7d986bcbd90f1d2907f3703002002410036023020024280808080c0003703282002410036022020024100360218200241e285808000360210200242dbd99687cdc4d0f4063703082003418080808078460d01200128020c2102200128021021072000410136024c20002004360248200041013602442000200637023c200020033602382000410136020c2000200736020820002002360204200041003a000020002001290300370250200041d8006a2005280200360200200141306a2480808080000f0b4108412010ab80808000000b41c4d2cd8000411141d8d2cd800010a181808000000bb50b04027f017e037f017e23808080800041d0006b2201248080808000200141306a41bcd1cd8000410e41cad1cd8000410a4104410010c292808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a22044100360200200142808080808001370218200141186a41b4d2cd800010b592808000200128021c22054281fda5a2bdc7b3f2d600370308200542d3bbc1d99ffc8ea0f300370300200141c0006a41086a220641013602002005420437022c20054211370224200541f1d2cd80003602202005410936021c200541e8d2cd8000360218200541e385808000360210200120012902183703400240200628020022062001280240470d00200141c0006a41b4d2cd800010b5928080000b2001280244200641386c6a2205420437022c20054211370224200541f1d2cd80003602202005410936021c20054182d3cd8000360218200541e38580800036021020054281fda5a2bdc7b3f2d600370308200542d3bbc1d99ffc8ea0f3003703002004200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41b4d2cd800010b5928080000b200128021c200641386c6a2205420437022c200542033702242005419cd3cd80003602202005411136021c2005418bd3cd8000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141c0006a41086a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41b4d2cd800010b5928080000b2001280244200641386c6a2205420437022c200542033702242005419cd3cd80003602202005410c36021c2005419fd3cd8000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141186a41086a200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41b4d2cd800010b5928080000b200128021c200641386c6a2205420437022c200542033702242005419cd3cd80003602202005410c36021c200541abd3cd8000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141c0006a41086a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41b4d2cd800010b5928080000b2001280244200641386c6a2205420437022c20054207370224200541bbd3cd80003602202005410436021c200541b7d3cd8000360218200541e4858080003602102005429effc2c8e49796ae3337030820054289d1a1cdae839bc5f800370300200141186a41086a200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41b4d2cd800010b5928080000b200128021c200641386c6a2205420437022c200542033702242005419cd3cd80003602202005411336021c200541c2d3cd8000360218200541bb80808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141c8006a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41b4d2cd800010b5928080000b2001280244200641386c6a2205420437022c20054202370224200541e3d3cd80003602202005410e36021c200541d5d3cd8000360218200541b480808000360210200542dbd791d5c2919eaecd00370308200542e6ed8d82cc91adcb0537030002402002418080808078470d0041c4d2cd8000411141d8d2cd800010a181808000000b20012802442105200128024021042000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041003a0000200020012903083702502000200641016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419981808000360218200042a5e9e3ab9e929adc2c37031020004293888c8f89fdc6ec9e7f370308200041063a00000b810102017f017e23808080800041306b22022480808080002002410336020c2002419cd5cd800036020820024202370214200241e681808000ad4220862203200041086aad84370328200220032000ad843703202002200241206a36021020012802002001280204200241086a10b1818080002100200241306a24808080800020000bf60403027f017e047f23808080800041c0006b2201248080808000200141246a41b4d5cd8000410641bad5cd800041154104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080800137020c2001410c6a41c8d4cd800010b592808000200128021022044289b1efa9e5f09dc101370308200442928ad285e9ded19749370300200141306a41086a220541013602002004420437022c20044203370224200441d7d5cd80003602202004410836021c200441cfd5cd8000360218200441e5858080003602102001200129020c370330024002402005280200220520012802302206460d0020012802342207200541386c6a2204420437022c20044203370224200441d7d5cd80003602202004410a36021c200441dad5cd8000360218200441e58580800036021020044289b1efa9e5f09dc101370308200442928ad285e9ded197493703000c010b200141306a41c8d4cd800010b59280800020012802342207200541386c6a2204420437022c20044203370224200441d7d5cd80003602202004410a36021c200441dad5cd8000360218200441e58580800036021020044289b1efa9e5f09dc101370308200442928ad285e9ded19749370300200128023021060b02402002418080808078470d0041d8d4cd8000411141ecd4cd800010a181808000000b200020012903003702502000410036024c2000428080808080013702442000200337023c200020023602382000200736020820002006360204200041003a00002000200541016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000bf90403027f017e047f23808080800041c0006b2201248080808000200141246a41e4d5cd8000410f41f3d5cd8000410a4104410010c292808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080800137020c2001410c6a41c8d4cd800010b5928080002001280210220442a5e9e3ab9e929adc2c37030820044293888c8f89fdc6ec9e7f370300200141306a41086a220541013602002004420437022c20044203370224200441d7d5cd80003602202004410436021c200441fdd5cd800036021820044199818080003602102001200129020c370330024002402005280200220520012802302206460d0020012802342207200541386c6a2204420437022c20044203370224200441d7d5cd80003602202004410536021c20044181d6cd80003602182004419981808000360210200442a5e9e3ab9e929adc2c37030820044293888c8f89fdc6ec9e7f3703000c010b200141306a41c8d4cd800010b59280800020012802342207200541386c6a2204420437022c20044203370224200441d7d5cd80003602202004410536021c20044181d6cd80003602182004419981808000360210200442a5e9e3ab9e929adc2c37030820044293888c8f89fdc6ec9e7f370300200128023021060b02402002418080808078470d0041d8d4cd8000411141ecd4cd800010a181808000000b200020012903003702502000410036024c2000428080808080013702442000200337023c200020023602382000200736020820002006360204200041003a00002000200541016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a4188d6cd80002005410c6a4188d6cd800020032004108481808000000bd30303027f037e017f2380808080004180016b22022480808080002000280200210002400240024002400240200128020822034180808010710d0020034180808020710d01200029030020002903084101200110f08080800021000c020b2000290308210420002903002105410021000340200041ff006a41ff004b0d03200220006a41ff006a2005a7410f712203413072200341d7006a2003410a491b3a00002004423c8621062005421054210320045021072000417f6a210020044204882104200620054204888421052003410020071b450d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000c010b2000290308210420002903002105410021000340200041ff006a41ff004b0d03200220006a41ff006a2005a7410f712203413072200341376a2003410a491b3a00002004423c8621062005421054210320045021072000417f6a210020044204882104200620054204888421052003410020071b450d000b20014101419cf1c180004102200220006a4180016a410020006b10b28180800021000b20024180016a24808080800020000f0b200041ff006a418001418cf1c18000108281808000000b200041ff006a418001418cf1c18000108281808000000bd70b02037f047e23808080800041c0056b22032480808080002003410041800110fa978080002103024002402002418101490d0020034180016a41d0006a410041810110fa978080002104200341b8016a41002903d8d7cd8000370300200341b0016a41002903d0d7cd8000370300200341a8016a41002903c8d7cd8000370300200341a0016a41002903c0d7cd800037030020034198016a41002903b8d7cd800037030020034190016a41002903b0d7cd8000370300200342003703c801200320024107762205ad3703c001200341002903a8d7cd800037038801200341002903a0d7cd80003703800120034180016a2001200510979380800020042001200241807f716a200241ff0071220210f4978080001a200320023a00d002200341e0026a20034180016a41e00110f4978080001a200341e0026a41d0006a220120032d00b00422026a22044180013a000020032903a0032206423688220742388620032903a8032208420a86220920078422074280fe0383422886842007428080fc0783421886200742808080f80f834208868484200842028642808080f80f832008420e88428080fc0783842008421e884280fe0383200942388884848421072002ad2208423b862006420a86220920084203868422084280fe0383422886842008428080fc0783421886200842808080f80f834208868484200642028642808080f80f832006420e88428080fc0783842006421e884280fe038320094238888484842106024002400240200241ff00460d00200441016a4100200241ff007310fa978080001a200241f00073410f4b0d010b200341e0026a20014101109793808000200341c0046a410041f00010fa978080001a200320063700b805200320073700b005200341e0026a200341c0046a41011097938080000c010b200320073703a004200320063703a804200341e0026a200141011097938080000b2003200329039803220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484843703382003200329039003220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484843703302003200329038803220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484843703282003200329038003220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe03832006423888848484370320200320032903f802220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe03832006423888848484370318200320032903f002220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe03832006423888848484370310200320032903e802220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe03832006423888848484370308200320032903e002220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484843703000c010b20032001200210f4978080001a0b2000200341800110f4978080001a200341c0056a2480808080000be30101037f23808080800041206b2203248080808000024002400240200120026a220220014f0d00410021040c010b4100210402402002200028020022054101742201200220014b1b22014108200141084b1b220141004e0d000c010b4100210202402005450d002003200536021c20032000280204360214410121020b20032002360218200341086a41012001200341146a10d49780800020032802084101470d0120032802102100200328020c21040b200420004190d7cd800010b980808000000b200328020c21022000200136020020002002360204200341206a2480808080000b8b0501047f23808080800041206b2204248080808000024002400240024002400240024020024100480d00024002402003280204450d000240200328020822050d002002450d0841002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d02200120036a417f6a410020016b7120036b220641ffff034b0d02200320066a2201417e6a20063b00000c080b2003280200210620024100200141786a2203200320014b1b6a41002802f482d4800011828080800000210320012001417f6a710d042003450d01200120036a417f6a410020016b7120036b220741ffff034b0d01200320076a2201417e6a20073b000020012006200510f4978080001a20062006417e6a2f00006b41002802ec82d48000118180808000000c070b2002450d0641002d008083d480001a4100200141786a2203200320014b1b20026a41002802f482d4800011828080800000210320012001417f6a710d042003450d00200120036a417f6a410020016b7120036b220641ffff034b0d00200320066a2201417e6a20063b00000c060b20002002360208200020013602040c040b200041003602040c030b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b200441003602182004410136020c200441a4edcc800036020820044204370210200441086a41a0eecc800010fe80808000000b410121010c010b2000200236020820002001360204410021010b20002001360200200441206a2480808080000bc43703057f087e0d7f23808080800041900b6b2205248080808000024002400240200241706a41104b0d002002410371450d010b200041013a00000c010b410021060240024002400240200441086a22074100480d00024020070d002005410036020c20054280808080103702040c030b4100210841002d008083d480001a200741002802f482d480001182808080000022060d01410121060b200620074190d9cd800010b980808000000b200520063602082006417e6a41003b00002005410036020c2005200736020420044178490d010b200541046a4100410810d39780800020052802082106200528020c21080b200620086a42eddc95ebf6cddbb4e3003700002005200841086a220736020c02402004200528020420076b4d0d00200541046a2007200410d39780800020052802082106200528020c21070b200620076a2003200410f4978080001a2005200720046a220336020c200541106a2001200210d297808000410021020340200541106a20026a220420042d00004136733a0000200441016a220720072d00004136733a0000200441026a220720072d00004136733a0000200441036a220420042d00004136733a0000200241046a2202418001470d000b41002102200541f8096a4100290398d8cd8000370300200541f0096a4100290390d8cd8000370300200541e8096a4100290388d8cd8000370300200541e0096a4100290380d8cd8000370300200541d8096a41002903f8d7cd8000370300200541d0096a41002903f0d7cd8000370300200542003703880a200542013703800a200541002903e8d7cd80003703c809200541002903e0d7cd80003703c009200541c0096a200541106a41011097938080000340200541106a20026a220420042d000041ea00733a0000200441016a220720072d000041ea00733a0000200441026a220720072d000041ea00733a0000200441036a220420042d000041ea00733a0000200241046a2202418001470d000b200541900a6a41386a4100290398d8cd8000370300200541900a6a41306a4100290390d8cd8000370300200541900a6a41286a4100290388d8cd8000370300200541900a6a41206a4100290380d8cd8000370300200541900a6a41186a41002903f8d7cd8000370300200541900a6a41106a41002903f0d7cd8000370300200542003703d80a200542013703d00a200541002903e8d7cd80003703980a200541002903e0d7cd80003703900a200541900a6a200541106a4101109793808000200541d0036a41a0016a200541c0096a41d00010f4978080001a200541d0036a41d0006a200541900a6a41d00010f4978080002109200541d0036a200541c0096a41d00010f4978080001a200541d0066a410041800110fa978080001a200541d0076a200541d0036a41f00110f4978080001a200541c8096a4200370300200541c0096a41106a4200370300200541c0096a41186a4200370300200541c0096a41206a4200370300200541c0096a41286a4200370300200541c0096a41306a4200370300200541c0096a41386a4200370300200542003703c009200541106a41d0006a200541d0076a41d0006a41d00010f4978080001a200541106a41a0016a200541d0076a41a0016a41d00010f4978080001a200541106a200541d0076a41d00010f4978080001a200541106a41f0016a410041810110fa978080002102024002402003418001490d0020052005290350220a20034107762204ad7c220b37035020052005290358200b200a54ad7c370358200541106a2006200410979380800020022006200341807f716a200341ff0071220410f4978080001a0c010b20022006200310f4978080001a200321040b200541d0036a41f0016a2108200520043a008003200541808080083602d00302400240200441fc00490d00200220046a200541d0036a41800120046b220710f4978080001a2005200529035042017c220a37035020052005290358200a50ad7c370358200541106a200241011097938080002002200541d0036a20076a200441847f6a220410f4978080001a0c010b200220046a4180808008360000200441046a21040b200520043a008003200541d0036a200541106a41800310f4978080001a200820052d00c00622046a22024180013a0000200529039004220a423688220c423886200529039804220b420a86220d200c84220c4280fe038342288684200c428080fc0783421886200c42808080f80f834208868484200b42028642808080f80f83200b420e88428080fc078384200b421e884280fe0383200d423888848484210c2004ad220b423b86200a420a86220d200b42038684220b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200d423888848484210a024002400240200441ff00460d00200241016a4100200441ff007310fa978080001a200441f00073410f4b0d010b200541d0036a20084101109793808000200541900a6a410041f00010fa978080001a2005200a3700880b2005200c3700800b200541d0036a200541900a6a41011097938080000c010b2005200c3703b0062005200a3703b806200541d0036a200841011097938080000b20052903d003210a20052903d803210b20052903e003210c20052903e803210d20052903f003210e20052903f803210f20052903800421102005290388042111200541900a6a200941d00010f4978080001a20054189066a420037000020054191066a420037000020054199066a4200370000200541a1066a4200370000200541a8066a4200370000200541c0003a00c006200542003700810620054180013a0080062005201142388620114280fe0383422886842011428080fc0783421886201142808080f80f834208868484201142088842808080f80f832011421888428080fc07838420114228884280fe038320114238888484843703f8052005201042388620104280fe0383422886842010428080fc0783421886201042808080f80f834208868484201042088842808080f80f832010421888428080fc07838420104228884280fe038320104238888484843703f0052005200f423886200f4280fe038342288684200f428080fc0783421886200f42808080f80f834208868484200f42088842808080f80f83200f421888428080fc078384200f4228884280fe0383200f4238888484843703e8052005200e423886200e4280fe038342288684200e428080fc0783421886200e42808080f80f834208868484200e42088842808080f80f83200e421888428080fc078384200e4228884280fe0383200e4238888484843703e0052005200d423886200d4280fe038342288684200d428080fc0783421886200d42808080f80f834208868484200d42088842808080f80f83200d421888428080fc078384200d4228884280fe0383200d4238888484843703d8052005200c423886200c4280fe038342288684200c428080fc0783421886200c42808080f80f834208868484200c42088842808080f80f83200c421888428080fc078384200c4228884280fe0383200c4238888484843703d0052005200b423886200b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200b42088842808080f80f83200b421888428080fc078384200b4228884280fe0383200b4238888484843703c8052005200a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703c005200520052903d00a220a420a86220c42800484220b4280fc0383422886200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200c4238888484843703b8062005200a423688220b42388620052903d80a220a420a86220c200b84220b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200c4238888484843703b006200541900a6a20084101109793808000200520052903c80a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703c803200520052903c00a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703c003200520052903b80a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703b803200520052903b00a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703b003200520052903a80a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703a803200520052903a00a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703a003200520052903980a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a42388884848437039803200520052903900a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a42388884848437039003414021040340200541c0096a20046a220241c0006a220720072d000020054190036a20046a220741c0006a2d0000733a0000200241c1006a220620062d0000200741c1006a2d0000733a0000200241c2006a220620062d0000200741c2006a2d0000733a0000200241c3006a220220022d0000200741c3006a2d0000733a0000200441046a22040d000b200541d0076a41a0016a2112200541d0076a41d0006a211320054181066a210320054180026a2114200541106a41a0016a2115200541106a41d0006a21164101210103402016201341d00010f4978080001a2015201241d00010f4978080001a200541106a200541d0076a41d00010f4978080001a2014200541d0066a41800110f497808000220441386a20054190036a41386a2202290300370300200441306a20054190036a41306a2207290300370300200441286a20054190036a41286a2206290300370300200441206a20054190036a41206a2217290300370300200441186a20054190036a41186a2218290300370300200441106a20054190036a41106a2219290300370300200441086a20054190036a41086a221a2903003703002004200529039003370300200541d0036a200541106a41f00210f4978080001a20034200370000200341086a22044200370000200341106a221b4200370000200341186a221c4200370000200341206a221d4200370000200341276a221e4200370000200541c0003a00c00620054180013a0080062005200529039004220a420a86220c42800484220b4280fc0383422886200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200c4238888484843703b8062005200a423688220b423886200529039804220a420a86220c200b84220b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200c4238888484843703b006200541d0036a2008410110979380800020052903d003210a20052903d803210b20052903e003210c20052903e803210d20052903f003210e20052903f803210f20052903800421102005290388042111200541900a6a200941d00010f4978080001a2003420037000020044200370000201b4200370000201c4200370000201d4200370000201e4200370000200541c0003a00c00620054180013a0080062005201142388620114280fe0383422886842011428080fc0783421886201142808080f80f834208868484201142088842808080f80f832011421888428080fc07838420114228884280fe038320114238888484843703f8052005201042388620104280fe0383422886842010428080fc0783421886201042808080f80f834208868484201042088842808080f80f832010421888428080fc07838420104228884280fe038320104238888484843703f0052005200f423886200f4280fe038342288684200f428080fc0783421886200f42808080f80f834208868484200f42088842808080f80f83200f421888428080fc078384200f4228884280fe0383200f4238888484843703e8052005200e423886200e4280fe038342288684200e428080fc0783421886200e42808080f80f834208868484200e42088842808080f80f83200e421888428080fc078384200e4228884280fe0383200e4238888484843703e0052005200d423886200d4280fe038342288684200d428080fc0783421886200d42808080f80f834208868484200d42088842808080f80f83200d421888428080fc078384200d4228884280fe0383200d4238888484843703d8052005200c423886200c4280fe038342288684200c428080fc0783421886200c42808080f80f834208868484200c42088842808080f80f83200c421888428080fc078384200c4228884280fe0383200c4238888484843703d0052005200b423886200b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200b42088842808080f80f83200b421888428080fc078384200b4228884280fe0383200b4238888484843703c8052005200a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a4238888484843703c005200520052903d00a220a420a86220c42800484220b4280fc0383422886200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200c4238888484843703b8062005200a423688220b42388620052903d80a220a420a86220c200b84220b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200a42028642808080f80f83200a420e88428080fc078384200a421e884280fe0383200c4238888484843703b006200541900a6a20084101109793808000200220052903c80a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300200720052903c00a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300200620052903b80a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300201720052903b00a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300201820052903a80a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300201920052903a00a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300201a20052903980a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a423888848484370300200520052903900a220a423886200a4280fe038342288684200a428080fc0783421886200a42808080f80f834208868484200a42088842808080f80f83200a421888428080fc078384200a4228884280fe0383200a42388884848437039003200141016a2101414021040340200541c0096a20046a220241c0006a220720072d000020054190036a20046a220741c0006a2d0000733a0000200241c1006a220620062d0000200741c1006a2d0000733a0000200241c2006a220620062d0000200741c2006a2d0000733a0000200241c3006a220220022d0000200741c3006a2d0000733a0000200441046a22040d000b2001418010470d000b200528020821060240200528020c2207450d0020062104024020074107712202450d00200621040340200441003a0000200441016a21042002417f6a22020d000b0b024020074108490d00200620076a21020340200441003a0000200441016a41003a0000200441026a41003a0000200441036a41003a0000200441046a41003a0000200441056a41003a0000200441066a41003a0000200441076a41003a0000200441086a22042002470d000b0b200528020821060b410021022005410036020c024020052802042204450d0020044107712107024020044108490d00200441f8ffffff07712103410021020340200620026a220441003a0000200441016a41003a0000200441026a41003a0000200441036a41003a0000200441046a41003a0000200441056a41003a0000200441066a41003a0000200441076a41003a00002003200241086a2202470d000b0b2007450d00200620026a21040340200441003a0000200441016a21042007417f6a22070d000b0b200020052903c009370001200041003a0000200041396a200541f8096a290300370000200041316a200541f0096a290300370000200041296a200541e8096a290300370000200041216a200541e0096a290300370000200041196a200541d8096a290300370000200041116a200541d0096a290300370000200041096a200541c8096a2903003700002005280204450d00200528020822042004417e6a2f00006b41002802ec82d48000118180808000000b200541900b6a2480808080000b1901017f23808080800041106b220120003a000f20012d000f0be50301077f23808080800041106b2203248080808000200041286a2104024002400240200028022822054128200541284b22061b22072000280204200520061b22066b200220016b22084f0d0002400240200620086a22052006490d004100417f2005417f6a677620054102491b2205417f460d00200341086a2000200541016a10d89780800020032802082205418180808078460d0120050d030b41a8dccd8000411141bcdccd8000108081808000000b200428020022054128200541284b1b21070b200041046a22092004200541284b22061b21080240024020004104412820061b6a280200220520074f0d002000280200200020061b2106034020012002460d02200620056a20012d00003a0000200141016a21012007200541016a2205470d000b200721050b2008200536020020012002460d02034020012d00002108024002402000410441282000280228220741284b22051b6a28020022062007412820051b460d002009200420051b21072000280200200020051b21050c010b200010d9978080002000280204210620002802002105200921070b200520066a20083a00002007200728020041016a360200200141016a22012002470d000c030b0b200820053602000c010b2005200328020c10ab80808000000b200341106a2480808080000bea0301077f23808080800041106b22032480808080000240024002400240024020022001280204220420012802282205200541284b22061b2207490d002005412820061b210820012802002109024020024129490d00418180808078210620052002460d040240200241004e0d00410021060c060b02400240024020054129490d002008417f4a0d0120082102410021060c080b41002d008083d480001a200241002802f482d480001182808080000022040d01410121060c070b0240200241002802f482d480001182808080000022040d00410121060c070b2004417e6a41003b0000200420092002200820022008491b10f4978080001a20092009417e6a2f00006b41002802ec82d48000118180808000000c040b2004417e6a41003b000020042001200510f4978080001a0c030b418180808078210620054129490d0320012009200410f49780800020043602282008417f4c0d0120092009417e6a2f00006b41002802ec82d48000118180808000000c030b41dcdccd8000412041fcdccd8000108081808000000b2003200836020c2003410036020841fcd9cd8000412b200341086a4188dccd80004198dccd800010a981808000000b2001200236022820012007360204200120043602000b0b2000200236020420002006360200200341106a2480808080000bb90101027f23808080800041106b22012480808080000240024002400240200028020420002802282202200241284b1b220241016a0e020201000b2002672202450d01417f20027621020b200141086a2000200241016a10d897808000024020012802082200418180808078460d0020000d0241a8dccd8000411141bcdccd8000108081808000000b200141106a2480808080000f0b41a8dccd8000411141ccdccd800010a181808000000b2000200128020c10ab80808000000b950201027f23808080800041106b2202248080808000200220002802002200360204200128020041c8dacd80004106200128020428020c118080808000002103200241003a000d200220033a000c20022001360208200241086a41cedacd80004104200041046a41a8dacd8000108a818080001a200241086a41d2dacd80004105200241046a41b8dacd8000108a818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c010b200128020041dc80c280004101200128020428020c1180808080000021010b200241106a24808080800020014101710b9c0101017f23808080800041306b220224808080800020022000280200280200220036022820024103360204200241bc9fc280003602002002420237020c200241da83808000ad4220862002412c6aad84370320200241db83808000ad422086200241286aad84370318200220006836022c2002200241186a36020820012802002001280204200210b1818080002101200241306a24808080800020010b140020012000280200200028020410b4818080000bb00201037f2380808080004180016b2202248080808000024002400240200128020822034180808010710d0020034180808020710d0120002802004101200110fa8080800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101419cf1c180004102200220036a4180016a410020036b10b28180800021000b20024180016a24808080800020000b9c0201027f23808080800041106b2202248080808000024002402000280200450d0020022000360204200128020041f8dacd80004108200128020428020c118080808000002100200241003a000d200220003a000c20022001360208200241086a4180dbcd80004106200241046a41e8dacd8000108a818080001a20022d000d220020022d000c220372210120004101470d0120034101710d010240200228020822012d000a418001710d00200128020041dd80c280004102200128020428020c1180808080000021010c020b200128020041dc80c280004101200128020428020c1180808080000021010c010b200128020041d7dacd80004110200128020428020c1180808080000021010b200241106a24808080800020014101710b880f02077f017e2380808080004180036b2204248080808000024002400240024002400240024002400240024020012802002205417d6a2206410420064104491b0e050200010308020b2001280214220720012802102208490d06200720034b0d05200128020c2106200128020821092001280218210a024002400240024020012802044101470d000240024020062009490d00200620034b0d01410121010c030b2009200641a8decd8000109581808000000b2006200341a8decd8000109181808000000b20062009490d01200620034b0d02410021010b2000200a3602182000200720086b3602142000200220086a36021020002001360204200041043602002000200620096b36020c2000200220096a3602080c0a0b200920064198decd8000109581808000000b200620034198decd8000109181808000000b2001280214220720012802102208490d03200720034b0d02200128020c2106200128020821092001280218210a024002400240024020012802044101470d000240024020062009490d00200620034b0d01410121010c030b2009200641f8ddcd8000109581808000000b2006200341f8ddcd8000109181808000000b20062009490d01200620034b0d02410021010b2000200a3602182000200720086b3602142000200220086a36021020002001360204200041053602002000200620096b36020c2000200220096a3602080c090b2009200641e8ddcd8000109581808000000b2006200341e8ddcd8000109181808000000b200041033602000c060b200441023602b401200441023602a8012004410236029c0120044102360290012004410236028401200441023602782004410236026c2004410236026020044102360254200441023602482004410236023c2004410236023020044102360224200441023602182004410236020c20044102360200410021060340410221090240200120066a220741106a280200220a4102460d00200741186a2802002108200741146a28020021070240024002400240200a410171450d000240024020082007490d00200820034b0d01410121090c030b2007200841f8ddcd8000109581808000000b2008200341f8ddcd8000109181808000000b20082007490d01200820034b0d02410021090b200820076bad422086200220076aad84210b0c020b2007200841e8ddcd8000109581808000000b2008200341e8ddcd8000109181808000000b200420066a22072009360200200741046a200b3702002006410c6a220641c001470d000b41022106024002400240200128020422074102460d00200128020c210920012802082101024002402007410171450d000240024020092001490d00200920034b0d01410121060c030b2001200941a8decd8000109581808000000b2009200341a8decd8000109181808000000b20092001490d02200920034b0d03410021060b200920016bad422086200220016aad84210b0b200041046a200441c00110f4978080001a2000200b3702c801200020063602c401200041063602000c070b200120094198decd8000109581808000000b200920034198decd8000109181808000000b200720034188decd8000109181808000000b200820074188decd8000109581808000000b200720034188decd8000109181808000000b200820074188decd8000109581808000000b200441023602f402200441023602e802200441023602dc02200441023602d002200441023602c402200441023602b802200441023602ac02200441023602a00220044102360294022004410236028802200441023602fc01200441023602f001200441023602e401200441023602d801200441023602cc01200441023602c001410021060340410221090240200120066a2207410c6a280200220a4102460d00200741146a2802002108200741106a28020021070240024002400240200a410171450d000240024020082007490d00200820034b0d01410121090c030b2007200841f8ddcd8000109581808000000b2008200341f8ddcd8000109181808000000b20082007490d01200820034b0d02410021090b200820076bad422086200220076aad84210b0c020b2007200841e8ddcd8000109581808000000b2008200341e8ddcd8000109181808000000b200441c0016a20066a22072009360200200741046a200b3702002006410c6a220641c001470d000b02400240024020012802d001220620012802cc012209490d00200620034b0d014102210720012802d401210a20054102460d02200128020821082001280204210102400240024002402005410171450d000240024020082001490d00200820034b0d01410121070c030b2001200841a8decd8000109581808000000b2008200341a8decd8000109181808000000b20082001490d01200820034b0d02410021070b200820016bad422086200220016aad84210b0c040b200120084198decd8000109581808000000b200820034198decd8000109181808000000b200920064188decd8000109581808000000b200620034188decd8000109181808000000b2000200a3602d4012000200620096b3602d0012000200220096a3602cc012000200441c0016a41c00110f4978080002206200b3702c401200620073602c0010b20044180036a2480808080000be90201087f20002001280200220220002802006a41017110e1978080001a0240024020020d002001280208210220012802042103410021010c010b0240024020012802082202450d002000280208200028022c2204200441284b22051b2204417f6a21032004450d012000280204200041046a20051b20036a220420042d0000200128020422032d0000410f71723a0000410121010c020b41004100419cdfcd8000108281808000000b2003410041acdfcd8000108281808000000b0240200220014d0d00200220016b2104200320016a2101200041086a21062000412c6a2103200041046a2105034020012d0000210702400240200620032003280200220841284b22021b220028020022092008412820021b460d002005280200200520021b21020c010b200510d9978080002006280200210920052802002102200621000b200220096a20073a00002000200028020041016a360200200141016a21012004417f6a22040d000b0b0bbc0501057f200028020021022000200136020002400240024002400240024002400240024002400240200220014b0d0041002103200220014f0d042000412c6a2104200041086a2105200041046a210220004108412c200028022c220341284b22011b6a28020022062003412820011b460d012005200420011b21032000280204200220011b21010c020b200041046a2102024020002802082203200028022c2201200141284b1b2205417f6a2204450d004101210103402001417f6a2000280208200028022c2203200341284b22061b22034f0d0a200120034f0d0b2002280200200220061b20016a2203417f6a220620062d000041047420032d0000410476410f71723a00002005200141016a2201470d000b20002802082103200028022c21010b200420032001200141284b1b22004f0d0720022802002002200141284b1b20046a220120012d00004104743a00000c020b200210d9978080002005280200210620022802002101200521030b200120066a41003a00002003200328020041016a36020002402005280200220020042802002201200141284b1b22034102490d002003417f6a210103402001417f6a2203200528020020042802002200200041284b22061b22004f0d05200120004f0d062002280200200220061b20016a22002000417f6a2d000041047420002d0000410476410f71723a0000200141014b21002003210120000d000b20052802002100200428020021010b20002001200141284b22031b450d022002280200200220031b220120012d00004104763a00000b410121030b20030f0b4100410041a0e0cd8000108281808000000b2001417f6a200041e0e0cd8000108281808000000b2001200041f0e0cd8000108281808000000b2004200041b0e0cd8000108281808000000b2001417f6a200341c0e0cd8000108281808000000b2001200341d0e0cd8000108281808000000be40501087f23808080800041306b22022480808080000240024020012d002c4101710d00200128020021032001280204210420012802282105200241046a41286a22064100360200200241046a20032001200541284b22071b220120012004200520071b6a10d79780800020004100360200200020022902043702042000410c6a2002410c6a290200370200200041146a200241146a2902003702002000411c6a2002411c6a290200370200200041246a200241246a2902003702002000412c6a20062802003602000c010b02400240200128020420012802282205200541284b22051b2206450d00200241046a41046a2107200241046a41286a210820022001280200200120051b22042d00004104763a0004410020066b2103410221010340200320016a4101460d01200241046a20016a417f6a200420016a2205417e6a2d00004104742005417f6a2d00002205410476410f71723a0000200141016a22014129470d000b2002412836022c20064129490d01200441286a2d00002103200241046a10d9978080002002280204200228020822096a20054104742003410476410f71723a00002002200941016a360208200120064f0d01200641576a2106200441296a210103402001417f6a2d000041047420012d0000410476410f7172210902400240200241046a41044128200228022c220341284b22051b6a28020022042003412820051b460d002007200820051b21032002280204200241046a20051b21050c010b200241046a10d9978080002002280208210420022802042105200721030b200520046a20093a00002003200328020041016a360200200141016a21012006417f6a22060d000c020b0b2002200636022c0b200020022902043702042000412c6a2002412c6a280200360200200041246a200241246a2902003702002000411c6a2002411c6a290200370200200041146a200241146a2902003702002000410c6a2002410c6a290200370200200041013602000b200241306a2480808080000bf70101037f23808080800041106b22032480808080000240024002402002417f4c0d00200241f5ffffff074f0d0141002d008083d480001a2002410b6a41fcffffff0771220441002802f482d48000118280808000002205450d022005200541036a417c7120056b22046a22054281808080103702002005417e6a20043b0000200541086a2001200210f4978080001a2000200236020420002005360200200341106a2480808080000f0b41f8e9cd8000412b2003410f6a41e8e9cd800041a4eacd800010a981808000000b419c80c08000412b2003410f6a418c80c0800041b482c0800010a981808000000b4104200410ab80808000000bd40101057f23808080800041306b22022480808080000240200128020822034101762204200128020422054b0d00200128020021012002412c6a22064100360200200241046a200120046a200120056a10d7978080002000412c6a2006280200360200200041246a200241246a2902003702002000411c6a2002411c6a290200370200200041146a200241146a2902003702002000410c6a2002410c6a2902003702002000200229020437020420002003410171360200200241306a2480808080000f0b2004200541ece3cd8000109281808000000bda0601067f23808080800041306b220324808080800002400240024002400240024002400240024002400240200220012802042204410174200128020822056b4f0d0020054101762106200520026a2207410176210820074101710d0320082006490d06200820044b0d07200041046a2102200128020020066a2104200820066b22014129490d0141002d008083d480001a200141002802f482d48000118280808000002206450d082006417e6a41003b0000200020062004200110f4978080003602042000200136022c410421040c020b2005410176220220044b0d0420012802002101200341286a220641003602002003200120026a200120046a10d7978080002000412c6a2006280200360200200041246a200341206a2902003702002000411c6a200341186a290200370200200041146a200341106a2902003702002000410c6a200341086a29020037020020002003290200370204200020054101713602000c030b20022004200110f4978080001a412821040b20002005410171360200200220046a20013602000c010b200841016a22072006490d05200820044f0d06200128020020066a2108200341046a210402400240200720066b22014129490d00410021060240024020014100480d0041002d008083d480001a200141002802f482d480001182808080000022060d01410121060b2006200141f8dbcd800010b980808000000b2006417e6a41003b0000200320062008200110f4978080003602042003200136022c410421060c010b20042008200110f4978080001a412821060b200420066a2001360200200320054101713602002003200241017110e1978080001a024020034108412c200328022c41284b1b6a22012802002205450d0020012005417f6a3602000b20002003290200370200200041286a200341286a290200370200200041206a200341206a290200370200200041186a200341186a290200370200200041106a200341106a290200370200200041086a200341086a2902003702000b200341306a2480808080000f0b2002200441ece3cd8000109281808000000b2006200841fce3cd8000109581808000000b2008200441fce3cd8000109181808000000b4101200110ab80808000000b20062007418ce4cd8000109581808000000b20072004418ce4cd8000109181808000000bc504010a7f024002400240024002400240024020002802082202410171220320012802082204410171460d0002402001280204220541017420046b22032000280204220641017420026b220720032007491b22080d0041000f0b200128020021092000280200210a410021010340200220016a2200410176220320064f0d03200420016a220b410176220720054f0d04200a20036a2d00002203410f71200341047620004101711b200920076a2d00002203410f712003410476200b4101711b470d022008200141016a2201470d000b20080f0b200441017621042002410176210b200028020421024100210602402003450d00200b20024f0d04024002402004200128020422034f0d00200128020020046a2d00002000280200200b6a2d000073410f71450d0141000f0b2004200341ace4cd8000108281808000000b41012106200441016a2104200b41016a210b0b2002200b490d04200128020422052004490d05200128020020046a21032000280200200b6a210041022107200520046b22012002200b6b220b2001200b491b220421010340024020010d00200441017420066a0f0b2001417f6a21012007417e6a210720032d0000210b20002d00002102200041016a2100200341016a21032002200b460d000b200b20027341104920076b20066a21010b20010f0b2003200641f0e2cd8000108281808000000b2007200541f0e2cd8000108281808000000b200b2002419ce4cd8000108281808000000b200b200241cce4cd8000109281808000000b2004200541bce4cd8000109281808000000bbb0101057f2001280208220241017621032001280204210402400240024020024101710d000240200320044b0d00200128020020036a210141002102410021050c020b2003200441dce4cd8000109281808000000b200320044f0d014101210220012802002205200341016a22066a2101200520036a2d0000410f712105200621030b200020053a000d200020023a000c20004100360208200020013602002000200420036b3602040f0b2003200441ece4cd8000108281808000000bdb02010b7f23808080800041106b22022480808080004100210302400240024020002802042204410174200028020822056b200128022c2206490d0020012802042107024020064101710d0020012802002108200128022821092002410036020c200220082001200941284b22031b36020420022007200920031b22013602082000200241046a10e69780800020014101744621030c010b200128020020012001280228220941284b22081b210a2007200920081b210b2000280200210c410021010340200620014622030d01200520016a2207410176220020044f0d0320014101762209200b4f0d0220014101712108200141016a2101200c20006a2d00002200410f71200041047620074101711b200a20096a2d00002200410f71200041047620081b460d000b0b200241106a24808080800020030f0b2009200b4194e6cd8000108281808000000b2000200441f0e2cd8000108281808000000be802010c7f23808080800041106b22022480808080004100210302400240024020002802042204410174200028020822056b2206200128022c470d0020012802042107024020064101710d002001280200210820012802282109410021032002410036020c200220082001200941284b220a1b360204200220072009200a1b220136020820062001410174470d012000200241046a10e69780800020064621030c010b200128020020012001280228220941284b22081b210b2007200920081b210c2000280200210d410021010340200141016a220020064b22030d01200520016a2209410176220720044f0d0220014101762208200c4f0d032001410171210a20002101200d20076a2d00002200410f71200041047620094101711b200b20086a2d00002200410f712000410476200a1b460d000b0b200241106a24808080800020030f0b2007200441f0e2cd8000108281808000000b2008200c4194e6cd8000108281808000000b8b0301087f024002402001450d000240200028022c220220014d0d00200041046a2103200041286a21040240200220016b22054101762202200541017122066a2201200028020420002802282207200741284b1b22084f0d0020082002417f736a210702402008200220056a6b410171450d00200141016a210120032004200428020041284b1b22022802002209450d0020022009417f6a3602000b20072006460d000340024020032004200428020041284b1b22022802002207450d0020022007417f6a3602000b024020032004200428020041284b1b22022802002207450d0020022007417f6a3602000b200141026a22012008490d000b0b2000200536022c2006450d01200328020020042802002204200441284b22011b2204417f6a21032004450d022000280200200020011b20036a220420042d000041f001713a00000f0b0240200041044128200028022841284b22041b6a280200450d00200041046a200041286a20041b41003602000b2000410036022c0b0f0b2003410041a4e7cd8000108281808000000be705010c7f0240200128022c2202450d0002400240200028022c22034101710d00200128020420012802282203200341284b22031b2204450d012001280200200120031b2103200041046a2105200041286a2106034020032d00002107024002402000410441282000280228220841284b22011b6a28020022092008412820011b460d002005200620011b21082000280200200020011b21010c010b200010d9978080002000280204210920002802002101200521080b200120096a20073a00002008200828020041016a360200200341016a21032004417f6a22040d000c020b0b02400240024020034101762204200028020420002802282208200841284b22091b22084f0d00200128020420012802282208200841284b1b2206450d01200320026a410171210a200041046a2105200041286a210b2000280200200020091b20046a220320012802002001200841284b1b220c2d000041047620032d000041f00171723a000002402006417f6a220d450d0041002101034020062001460d04200c20016a22032d00002109200341016a2d00002107024002402000410441282000280228220841284b22031b6a28020022042008412820031b460d002005200b20031b21082000280200200020031b21030c010b200010d9978080002000280204210420002802002103200521080b200320046a20094104742007410476410f71723a00002008200828020041016a360200200d200141016a2201470d000b0b200a450d03200c200d6a2d00004104742108024002402000410441282000280228220441284b22011b6a28020022032004412820011b460d002005200b20011b21052000280200200020011b21010c010b200010d99780800020002802042103200028020021010b200120036a20083a00002005200528020041016a3602000c030b2004200841e4e7cd8000108281808000000b4100410041f4e7cd8000108281808000000b200620064184e8cd8000108281808000000b2000200028022c20026a36022c0b0bd108010c7f23808080800041106b2202248080808000200128020821032001280204210402400240024002400240024002400240024020012d00004101460d00200028022c21050c010b20012d0001410f7121060240024020002d002c4101710d00200041046a210120064104742107024002402000410441282000280228220841284b22061b6a28020022052008412820061b460d002001200041286a20061b21012000280200200020061b21060c010b200010d99780800020002802042105200028020021060b200620056a20073a00002001200128020041016a3602000c010b200028020420002802282201200141284b22011b2205450d022000280200200020011b20056a417f6a220120012d00002006723a00000b2000200028022c41016a220536022c0b200041046a2109200041286a210a02402000280204220720002802282206200641284b22081b22014101742005470d0002402006412820081b20016b20034f0d0002400240200120036a22062001490d004100417f2006417f6a677620064102491b2206417f460d00200241086a2000200641016a10d89780800020022802082206418180808078460d0120060d050b41a8dccd8000411141bcdccd8000108081808000000b20092802002107200a28020021060b20072006200641284b22051b22062001490d032000280200200020051b20016a220520036a2005200620016b10f9978080001a20052004200310f4978080001a200041044128200028022841284b1b6a200620036a3602000c070b2003450d062001417f6a21052001450d0320002802002000200641284b1b20056a220120012d000041f001713a00002005200028020420002802282201200141284b22011b22064f0d042000280200200020011b20056a220120012d000020042d000041f00171410476723a00002003417f6a220b450d05200b2105200421010340200141016a22082d0000210c20012d0000210d024002402000410441282000280228220641284b22011b6a28020022072006412820011b460d002009200a20011b21062000280200200020011b21010c010b200010d9978080002000280204210720002802002101200921060b200120076a200d410474200c410476410f71723a00002006200628020041016a360200200821012005417f6a22050d000c060b0b41a4e6cd8000413a41e0e6cd800010a181808000000b2006200228020c10ab80808000000b41dce1cd8000411e41fce1cd8000108081808000000b200541004194e8cd8000108281808000000b2005200641a4e8cd8000108281808000000b2004200b6a2d00004104742105024002402000410441282000280228220741284b22011b6a28020022062007412820011b460d002009200a20011b21092000280200200020011b21010c010b200010d99780800020002802042106200028020021010b200120066a20053a00002009200928020041016a3602000b2000200028022c20034101746a36022c200241106a2480808080000bf30301077f23808080800041106b2204248080808000024002400240024020010d00410021010c010b200128020822054101762106200128020421070240024020054101710d000240200620074b0d00200128020020066a210141002108410021090c020b2006200741dce4cd8000109281808000000b200620074f0d024101210820012802002209200641016a220a6a2101200920066a2d0000410f712109200a21060b20042001360208200420093a0005200420083a00042004200720066b36020c2000200441046a10ec97808000200741017420056b21010b02402002450d000240024020002d002c4101710d00200041046a210620034104742105024002402000410441282000280228220341284b22071b6a28020022022003412820071b460d002006200041286a20071b21062000280200200020071b21070c010b200010d99780800020002802042102200028020021070b200720026a20053a00002006200628020041016a3602000c010b200028020420002802282206200641284b22061b2207450d032000280200200020061b20076a417f6a220620062d00002003723a00000b2000200028022c41016a36022c200141016a21010b200441106a24808080800020010f0b2006200741ece4cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000bde03010a7f23808080800041306b220224808080800020024200370228200241286a210302400240024020012802042204410174220520012802082206460d0020012802002107200241046a21084100210103402006410176220920044f0d02200720096a2d00002209410f71200941047620064101711b21090240024020014101710d002009410474210a024002402002410441282002280228220941284b22011b6a280200220b2009412820011b460d002008200320011b21092002280200200220011b21010c010b200210d9978080002002280204210b20022802002101200821090b2001200b6a200a3a00002009200928020041016a3602000c010b200228020420022802282201200141284b22011b220b450d042002280200200220011b200b6a417f6a220120012d00002009723a00000b2002200228022c41016a220136022c2005200641016a2206470d000b0b20002002290200370200200041286a2003290200370200200041206a200241206a290200370200200041186a200241186a290200370200200041106a200241106a290200370200200041086a200241086a290200370200200241306a2480808080000f0b2009200441f0e2cd8000108281808000000b41a4e6cd8000413a41e0e6cd800010a181808000000b5601017f23808080800041206b220224808080800020024101360204200241d0e9cd80003602002002420137020c200241eb85808000ad4220862000ad843703182002200241186a3602082002200110fe80808000000b5501027f024020002802002201417f460d0020002802042102200120012802042200417f6a36020420004101470d002002410b6a4104490d0020012001417e6a2f00006b41002802ec82d48000118180808000000b0b1e00200128020041b4eacd8000410b200128020428020c118080808000000b100020002002370308200020013703000b100020002002370308200020013703000b0e0020002001200210f7978080000b0e0020002001200210fb978080000ba20102017f057e23808080800041106b22052480808080002005200342ffffffff0f832206200142ffffffff0f8322077e20034220882208200142208822097e10f2978080002005290308210a2000200820077e2207200620097e7c2206422086220820052903007c22093703002000200a200420017e200320027e7c2006200754ad4220862006422088847c7c2009200854ad7c370308200541106a2480808080000bde04010c7f23808080800041106b210302400240200241104f0d00200021040c010b024020002000410020006b41037122056a22064f0d002005210720002104200121080340200420082d00003a0000200841016a2108200441016a21042007417f6a22070d000b0b2006200220056b2202417c7122076a210402400240200120056a220841037122010d00200620044f0d0120082101034020062001280200360200200141046a2101200641046a22062004490d000c020b0b410021052003410036020c2003410c6a20017221090240410420016b220a410171450d00200920082d00003a0000410121050b0240200a410271450d00200920056a200820056a2f01003b01000b200820016b21052001410374210b200328020c210902400240200641046a2004490d002006210c0c010b4100200b6b411871210d034020062009200b76200541046a22052802002209200d7472360200200641086a210a200641046a220c2106200a2004490d000b0b41002106200341003a0008200341003a00060240024020014101470d00200341086a210d410021014100210a4100210e0c010b200541056a2d0000210a2003200541046a2d000022013a0008200a410874210a4102210e200341066a210d0b02402008410171450d00200d200541046a200e6a2d00003a000020032d0006411074210620032d000821010b200c200a200672200141ff0171724100200b6b411871742009200b76723602000b20024103712102200820076a21010b02402004200420026a4f0d000340200420012d00003a0000200141016a2101200441016a21042002417f6a22020d000b0b20000bee09010e7f23808080800041206b210302400240024002400240200020016b20024f0d00200120026a2104200020026a210520024110490d034100200541037122066b210702402005417c71220820054f0d00200120026a417f6a21092005210a0340200a417f6a220a20092d00003a00002009417f6a21092008200a490d000b0b2008200220066b2206417c71220a6b21094100200a6b210a0240200420076a2204410371220b0d00200920084f0d03200620016a417c6a21052008210103402001417c6a220120052802003602002005417c6a210520092001490d000c040b0b4100210c200341003a0018200341003a00162004200b6b210d024002400240200b4101470d00200341186a210e4100210f0c010b2003200d2d0000220c3a0018200d2d0001210f410021102004410171450d01200341166a210e4102210c0b200e200d200c6a2d00003a000020032d0016411074211020032d0018210c0b200b410374210e2010200f41ff017141087472200c41ff017172210c0240200941046a22092008490d00200821020c020b20012002200b6b6a21014100200e6b41187121100340200520076a417c6a200c2010742001417c6a220120076a220d280200220c200e767236020020092005417c6a220520076a2202490d000c020b0b02400240200241104f0d00200021050c010b024020002000410020006b41037122046a22094f0d0020042108200021052001210a03402005200a2d00003a0000200a41016a210a200541016a21052008417f6a22080d000b0b2009200220046b2202417c7122086a210502400240200120046a220a41037122010d00200920054f0d01200a2101034020092001280200360200200141046a2101200941046a22092005490d000c020b0b4100210420034100360210200341106a20017221060240410420016b2207410171450d002006200a2d00003a0000410121040b02402007410271450d00200620046a200a20046a2f01003b01000b200a20016b21042001410374210b2003280210210602400240200941046a2005490d002009210c0c010b4100200b6b411871210d034020092006200b76200441046a22042802002206200d7472360200200941086a2107200941046a220c210920072005490d000b0b41002109200341003a000c200341003a000a0240024020014101470d002003410c6a210d41002101410021074100210e0c010b200441056a2d000021072003200441046a2d000022013a000c200741087421074102210e2003410a6a210d0b0240200a410171450d00200d200441046a200e6a2d00003a000020032d000a411074210920032d000c21010b200c2007200972200141ff0171724100200b6b411871742006200b76723602000b20024103712102200a20086a21010b2005200520026a4f0d030340200520012d00003a0000200141016a2101200541016a21052002417f6a22020d000c040b0b410021052003410036021c200d200b6a417c6a21012003411c6a200b72210902404104200b6b2207410171450d00200920012d00003a0000410121050b02402007410271450d00200920056a200120056a2f01003b01000b2002417c6a200328021c200e76200c4100200e6b41187174723602000b200641037121022004200a6a21042008200a6a21050b200520026b220220054f0d002004417f6a210103402005417f6a220520012d00003a00002001417f6a210120022005490d000b0b20000b0e0020002001200210f8978080000bbb0101047f02400240200241104f0d00200021030c010b024020002000410020006b41037122046a22054f0d0020042106200021030340200320013a0000200341016a21032006417f6a22060d000b0b024020052005200220046b2206417c716a22034f0d00200141ff017141818284086c2102034020052002360200200541046a22052003490d000b0b200641037121020b02402003200320026a4f0d000340200320013a0000200341016a21032002417f6a22020d000b0b20000b4a01037f4100210302402002450d000240034020002d0000220420012d00002205470d01200041016a2100200141016a21012002417f6a2202450d020c000b0b200420056b21030b20030b4801017f23808080800041106b22052480808080002005200120022003200410f697808000200529030821042000200529030037030020002004370308200541106a2480808080000b4601017f23808080800041106b2204248080808000200420012002200310ff97808000200429030821022000200429030037030020002002370308200441106a2480808080000b4801017f23808080800041206b220524808080800020052001200220032004108398808000200529030021042000200529030837030820002004370300200541206a2480808080000b870102017f017e23808080800041106b220424808080800002400240200341c000710d002003450d01200420012003413f71ad22058620022005862001410020036b413f71ad888410f39780800020042903082102200429030021010c010b20012003413f71ad862102420021010b2000200237030820002001370300200441106a2480808080000b870102017f017e23808080800041106b220424808080800002400240200341c000710d002003450d0120042002410020036b413f71ad8620012003413f71ad22058884200220058810f39780800020042903082102200429030021010c010b20022003413f71ad882101420021020b2000200237030820002001370300200441106a2480808080000b4601017f23808080800041106b22042480808080002004200120022003108098808000200429030821022000200429030037030020002002370308200441106a2480808080000b4801017f23808080800041106b22052480808080002005200120022003200410fe97808000200529030821042000200529030037030020002004370308200541106a2480808080000bad0804017f017e037f047e23808080800041b0016b220524808080800042002106024002400240024020047920037942c0007c20044200521ba7220720027920017942c0007c20024200521ba722084d0d002008413f4b0d01200741df004b0d02024002400240200720086b4120490d00200541a0016a2003200441e00020076b220910819880800020053502a00142017c210a4200210b420021060c010b200541306a2001200241c00020086b2208108198808000200541206a200320042008108198808000420021062005200342002005290330200529032080220c420010fc97808000200541106a20044200200c420010fc978080002005290300210a024020052903182005290308220d20052903107c220b200d54ad7c4200520d002001200a5422082002200b542002200b511b450d020b200420027c200320017c2201200354ad7c200b7d2001200a54ad7d2102200c427f7c210c2001200a7d21040c050b02400240034020054190016a2001200241c00020086b2208108198808000200529039001210c0240200820094f0d00200541d0006a200320042008108198808000200541c0006a20032004200c200529035080220d420010fc97808000024020012005290340220a54220820022005290348220c542002200c511b0d002002200c7d2008ad7d21022001200a7d21042006200b200d7c220c200b54ad7c21060c090b200220047c200120037c2204200154ad7c200c7d2004200a54ad7d21022004200a7d21042006200d200b7c427f7c220c200b54ad7c21060c080b20054180016a200c200a80220c4200200820096b220810fd97808000200541f0006a20032004200c420010fc97808000200541e0006a20052903702005290378200810fd9780800020052903880120067c2005290380012206200b7c220b200654ad7c210602402007200220052903687d20012005290360220c54ad7d2202792001200c7d22017942c0007c20024200521ba722084d0d002008413f4b0d020c010b0b20012003542208200220045420022004511b450d01200b210c200121040c060b200120038221042006200b20012003807c220c200b54ad7c2106420021020c050b200220047d2008ad7d2102200120037d21042006200b42017c220c50ad7c21060c040b2002200b7d2008ad7d21022001200a7d2104420021060c030b200220044200200120035a200220045a20022004511b22081b7d20012003420020081b220454ad7d2102200120047d21042008ad210c0c020b200120038221042001200380210c42002106420021020c010b2002200342ffffffff0f83220482422086200142208884220320048022064220862003200482422086200142ffffffff0f8384220120048084210c2006422088200220048084210620012004822104420021020b200020043703102000200c3703002000200237031820002006370308200541b0016a2480808080000b0be183140300418080c0000bccff134c61796f75744572726f72000000000000000000010000000100000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f72632e727300470010006c00000025010000310000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f73796e632e72730000c40010006e0000008401000032000000020000000c000000040000000300000004000000050000004572726f72000000070000000c000000040000000800000009000000050000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e72737c01100070000000e8010000170000000000000000000000010000000a0000006120666f726d617474696e6720747261697420696d706c656d656e746174696f6e2072657475726e656420616e206572726f72207768656e2074686520756e6465726c79696e672073747265616d20646964206e6f742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f666d742e727300620210006d0000008a0200000e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300e00210006f000000be0100001d00000029292073686f756c64206265203c3d206c656e2028697320606174602073706c697420696e64657820286973200000007803100015000000610310001700000060031000010000006d656d6f727920616c6c6f636174696f6e206f6620206279746573206661696c65640000a803100015000000bd0310000d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f616c6c6f632e727300dc0310006f000000b50100000d000000dc0310006f000000b30100000d0000006361706163697479206f766572666c6f770000006c041000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000088041000750000002e0200001100000030782f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f62697033392d322e322e302f7372632f6c69622e727300001205100058000000530100002a0000006162616e646f6e6162696c69747961626c6561626f757461626f7665616273656e746162736f7262616273747261637461627375726461627573656163636573736163636964656e746163636f756e74616363757365616368696576656163696461636f7573746963616371756972656163726f7373616374616374696f6e6163746f726163747265737361637475616c61646170746164646164646963746164647265737361646a75737461646d69746164756c74616476616e63656164766963656165726f6269636166666169726166666f7264616672616964616761696e6167656167656e746167726565616865616461696d616972616972706f72746169736c65616c61726d616c62756d616c636f686f6c616c657274616c69656e616c6c616c6c6579616c6c6f77616c6d6f7374616c6f6e65616c706861616c7265616479616c736f616c746572616c77617973616d6174657572616d617a696e67616d6f6e67616d6f756e74616d75736564616e616c797374616e63686f72616e6369656e74616e676572616e676c65616e677279616e696d616c616e6b6c65616e6e6f756e6365616e6e75616c616e6f74686572616e73776572616e74656e6e61616e7469717565616e7869657479616e79617061727461706f6c6f67796170706561726170706c65617070726f7665617072696c61726368617263746963617265616172656e61617267756561726d61726d656461726d6f7261726d7961726f756e64617272616e67656172726573746172726976656172726f776172746172746566616374617274697374617274776f726b61736b61737065637461737361756c746173736574617373697374617373756d65617374686d616174686c65746561746f6d61747461636b617474656e6461747469747564656174747261637461756374696f6e617564697461756775737461756e74617574686f726175746f617574756d6e6176657261676561766f6361646f61766f69646177616b65617761726561776179617765736f6d65617766756c61776b77617264617869736261627962616368656c6f726261636f6e626164676562616762616c616e636562616c636f6e7962616c6c62616d626f6f62616e616e6162616e6e6572626172626172656c796261726761696e62617272656c6261736562617369636261736b6574626174746c6562656163686265616e626561757479626563617573656265636f6d65626565666265666f7265626567696e626568617665626568696e6462656c6965766562656c6f7762656c7462656e636862656e65666974626573746265747261796265747465726265747765656e6265796f6e6462696379636c6562696462696b6562696e6462696f6c6f6779626972646269727468626974746572626c61636b626c616465626c616d65626c616e6b6574626c617374626c65616b626c657373626c696e64626c6f6f64626c6f73736f6d626c6f757365626c7565626c7572626c757368626f617264626f6174626f6479626f696c626f6d62626f6e65626f6e7573626f6f6b626f6f7374626f72646572626f72696e67626f72726f77626f7373626f74746f6d626f756e6365626f78626f79627261636b6574627261696e6272616e64627261737362726176656272656164627265657a65627269636b62726964676562726965666272696768746272696e67627269736b62726f63636f6c6962726f6b656e62726f6e7a6562726f6f6d62726f7468657262726f776e6272757368627562626c65627564647962756467657462756666616c6f6275696c6462756c6262756c6b62756c6c657462756e646c6562756e6b657262757264656e6275726765726275727374627573627573696e65737362757379627574746572627579657262757a7a63616262616765636162696e6361626c656361637475736361676563616b6563616c6c63616c6d63616d65726163616d7063616e63616e616c63616e63656c63616e647963616e6e6f6e63616e6f6563616e76617363616e796f6e63617061626c656361706974616c6361707461696e636172636172626f6e63617264636172676f6361727065746361727279636172746361736563617368636173696e6f636173746c6563617375616c636174636174616c6f67636174636863617465676f7279636174746c65636175676874636175736563617574696f6e636176656365696c696e6763656c65727963656d656e7463656e73757363656e7475727963657265616c6365727461696e63686169726368616c6b6368616d70696f6e6368616e67656368616f73636861707465726368617267656368617365636861746368656170636865636b636865657365636865666368657272796368657374636869636b656e63686965666368696c646368696d6e657963686f69636563686f6f73656368726f6e6963636875636b6c656368756e6b636875726e636967617263696e6e616d6f6e636972636c65636974697a656e63697479636976696c636c61696d636c6170636c6172696679636c6177636c6179636c65616e636c65726b636c65766572636c69636b636c69656e74636c696666636c696d62636c696e6963636c6970636c6f636b636c6f67636c6f7365636c6f7468636c6f7564636c6f776e636c7562636c756d70636c7573746572636c75746368636f616368636f617374636f636f6e7574636f6465636f66666565636f696c636f696e636f6c6c656374636f6c6f72636f6c756d6e636f6d62696e65636f6d65636f6d666f7274636f6d6963636f6d6d6f6e636f6d70616e79636f6e63657274636f6e64756374636f6e6669726d636f6e6772657373636f6e6e656374636f6e7369646572636f6e74726f6c636f6e76696e6365636f6f6b636f6f6c636f70706572636f7079636f72616c636f7265636f726e636f7272656374636f7374636f74746f6e636f756368636f756e747279636f75706c65636f75727365636f7573696e636f766572636f796f7465637261636b637261646c6563726166746372616d6372616e656372617368637261746572637261776c6372617a79637265616d637265646974637265656b63726577637269636b65746372696d65637269737063726974696363726f7063726f737363726f75636863726f77646372756369616c637275656c6372756973656372756d626c656372756e636863727573686372796372797374616c6375626563756c74757265637570637570626f617264637572696f757363757272656e746375727461696e637572766563757368696f6e637573746f6d637574656379636c6564616464616d61676564616d7064616e636564616e676572646172696e676461736864617567687465726461776e6461796465616c646562617465646562726973646563616465646563656d6265726465636964656465636c696e656465636f72617465646563726561736564656572646566656e7365646566696e656465667964656772656564656c617964656c6976657264656d616e6464656d69736564656e69616c64656e7469737464656e79646570617274646570656e646465706f7369746465707468646570757479646572697665646573637269626564657365727464657369676e6465736b6465737061697264657374726f7964657461696c646574656374646576656c6f706465766963656465766f74656469616772616d6469616c6469616d6f6e6464696172796469636564696573656c646965746469666665726469676974616c6469676e69747964696c656d6d6164696e6e657264696e6f73617572646972656374646972746469736167726565646973636f76657264697365617365646973686469736d6973736469736f72646572646973706c617964697374616e63656469766572746469766964656469766f72636564697a7a79646f63746f72646f63756d656e74646f67646f6c6c646f6c7068696e646f6d61696e646f6e617465646f6e6b6579646f6e6f72646f6f72646f7365646f75626c65646f76656472616674647261676f6e6472616d616472617374696364726177647265616d647265737364726966746472696c6c6472696e6b64726970647269766564726f706472756d6472796475636b64756d6264756e65647572696e6764757374647574636864757479647761726664796e616d696365616765726561676c656561726c796561726e6561727468656173696c7965617374656173796563686f65636f6c6f677965636f6e6f6d796564676565646974656475636174656566666f72746567676569676874656974686572656c626f77656c646572656c656374726963656c6567616e74656c656d656e74656c657068616e74656c657661746f72656c697465656c7365656d6261726b656d626f6479656d6272616365656d65726765656d6f74696f6e656d706c6f79656d706f776572656d707479656e61626c65656e616374656e64656e646c657373656e646f727365656e656d79656e65726779656e666f726365656e67616765656e67696e65656e68616e6365656e6a6f79656e6c697374656e6f756768656e72696368656e726f6c6c656e73757265656e746572656e74697265656e747279656e76656c6f7065657069736f6465657175616c6571756970657261657261736565726f646565726f73696f6e6572726f7265727570746573636170656573736179657373656e6365657374617465657465726e616c65746869637365766964656e63656576696c65766f6b6565766f6c766565786163746578616d706c6565786365737365786368616e67656578636974656578636c75646565786375736565786563757465657865726369736565786861757374657868696269746578696c6565786973746578697465786f746963657870616e646578706563746578706972656578706c61696e6578706f736565787072657373657874656e64657874726165796565796562726f7766616272696366616365666163756c7479666164656661696e74666169746866616c6c66616c736566616d6566616d696c7966616d6f757366616e66616e637966616e746173796661726d66617368696f6e666174666174616c666174686572666174696775656661756c746661766f726974656665617475726566656272756172796665646572616c666565666565646665656c66656d616c6566656e6365666573746976616c66657463686665766572666577666962657266696374696f6e6669656c6466696775726566696c6566696c6d66696c74657266696e616c66696e6466696e6566696e67657266696e697368666972656669726d666972737466697363616c666973686669746669746e657373666978666c6167666c616d65666c617368666c6174666c61766f72666c6565666c69676874666c6970666c6f6174666c6f636b666c6f6f72666c6f776572666c756964666c757368666c79666f616d666f637573666f67666f696c666f6c64666f6c6c6f77666f6f64666f6f74666f726365666f72657374666f72676574666f726b666f7274756e65666f72756d666f7277617264666f7373696c666f73746572666f756e64666f7866726167696c656672616d656672657175656e746672657368667269656e646672696e676566726f6766726f6e7466726f737466726f776e66726f7a656e66727569746675656c66756e66756e6e796675726e616365667572796675747572656761646765746761696e67616c61787967616c6c65727967616d656761706761726167656761726261676567617264656e6761726c69636761726d656e746761736761737067617465676174686572676175676567617a6567656e6572616c67656e69757367656e726567656e746c6567656e75696e656765737475726567686f73746769616e7467696674676967676c6567696e676572676972616666656769726c67697665676c6164676c616e6365676c617265676c617373676c696465676c696d707365676c6f6265676c6f6f6d676c6f7279676c6f7665676c6f77676c7565676f6174676f6464657373676f6c64676f6f64676f6f7365676f72696c6c61676f7370656c676f73736970676f7665726e676f776e677261626772616365677261696e6772616e7467726170656772617373677261766974796772656174677265656e6772696467726965666772697467726f6365727967726f757067726f776772756e746775617264677565737367756964656775696c7467756974617267756e67796d68616269746861697268616c6668616d6d657268616d7374657268616e646861707079686172626f7268617264686172736868617276657374686174686176656861776b68617a617264686561646865616c7468686561727468656176796865646765686f6768656967687468656c6c6f68656c6d657468656c7068656e6865726f68696464656e6869676868696c6c68696e7468697068697265686973746f7279686f626279686f636b6579686f6c64686f6c65686f6c69646179686f6c6c6f77686f6d65686f6e6579686f6f64686f7065686f726e686f72726f72686f727365686f73706974616c686f7374686f74656c686f7572686f7665726875626875676568756d616e68756d626c6568756d6f7268756e6472656468756e67727968756e74687572646c6568757272796875727468757362616e6468796272696469636569636f6e696465616964656e7469667969646c6569676e6f7265696c6c696c6c6567616c696c6c6e657373696d616765696d6974617465696d6d656e7365696d6d756e65696d70616374696d706f7365696d70726f7665696d70756c7365696e6368696e636c756465696e636f6d65696e637265617365696e646578696e646963617465696e646f6f72696e647573747279696e66616e74696e666c696374696e666f726d696e68616c65696e6865726974696e697469616c696e6a656374696e6a757279696e6d617465696e6e6572696e6e6f63656e74696e707574696e7175697279696e73616e65696e73656374696e73696465696e7370697265696e7374616c6c696e74616374696e746572657374696e746f696e76657374696e76697465696e766f6c766569726f6e69736c616e6469736f6c61746569737375656974656d69766f72796a61636b65746a61677561726a61726a617a7a6a65616c6f75736a65616e736a656c6c796a6577656c6a6f626a6f696e6a6f6b656a6f75726e65796a6f796a756467656a756963656a756d706a756e676c656a756e696f726a756e6b6a7573746b616e6761726f6f6b65656e6b6565706b6574636875706b65796b69636b6b69646b69646e65796b696e646b696e67646f6d6b6973736b69746b69746368656e6b6974656b697474656e6b6977696b6e65656b6e6966656b6e6f636b6b6e6f776c61626c6162656c6c61626f726c61646465726c6164796c616b656c616d706c616e67756167656c6170746f706c617267656c617465726c6174696e6c617567686c61756e6472796c6176616c61776c61776e6c6177737569746c617965726c617a796c65616465726c6561666c6561726e6c656176656c6563747572656c6566746c65676c6567616c6c6567656e646c6569737572656c656d6f6e6c656e646c656e6774686c656e736c656f706172646c6573736f6e6c65747465726c6576656c6c6961726c6962657274796c6962726172796c6963656e73656c6966656c6966746c696768746c696b656c696d626c696d69746c696e6b6c696f6e6c69717569646c6973746c6974746c656c6976656c697a6172646c6f61646c6f616e6c6f62737465726c6f63616c6c6f636b6c6f6769636c6f6e656c796c6f6e676c6f6f706c6f74746572796c6f75646c6f756e67656c6f76656c6f79616c6c75636b796c7567676167656c756d6265726c756e61726c756e63686c75787572796c79726963736d616368696e656d61646d616769636d61676e65746d6169646d61696c6d61696e6d616a6f726d616b656d616d6d616c6d616e6d616e6167656d616e646174656d616e676f6d616e73696f6e6d616e75616c6d61706c656d6172626c656d617263686d617267696e6d6172696e656d61726b65746d617272696167656d61736b6d6173736d61737465726d617463686d6174657269616c6d6174686d61747269786d61747465726d6178696d756d6d617a656d6561646f776d65616e6d6561737572656d6561746d656368616e69636d6564616c6d656469616d656c6f64796d656c746d656d6265726d656d6f72796d656e74696f6e6d656e756d657263796d657267656d657269746d657272796d6573686d6573736167656d6574616c6d6574686f646d6964646c656d69646e696768746d696c6b6d696c6c696f6e6d696d69636d696e646d696e696d756d6d696e6f726d696e7574656d697261636c656d6972726f726d69736572796d6973736d697374616b656d69786d697865646d6978747572656d6f62696c656d6f64656c6d6f646966796d6f6d6d6f6d656e746d6f6e69746f726d6f6e6b65796d6f6e737465726d6f6e74686d6f6f6e6d6f72616c6d6f72656d6f726e696e676d6f73717569746f6d6f746865726d6f74696f6e6d6f746f726d6f756e7461696e6d6f7573656d6f76656d6f7669656d7563686d756666696e6d756c656d756c7469706c796d7573636c656d757365756d6d757368726f6f6d6d757369636d7573746d757475616c6d7973656c666d7973746572796d7974686e616976656e616d656e61706b696e6e6172726f776e617374796e6174696f6e6e61747572656e6561726e65636b6e6565646e656761746976656e65676c6563746e6569746865726e65706865776e657276656e6573746e65746e6574776f726b6e65757472616c6e657665726e6577736e6578746e6963656e696768746e6f626c656e6f6973656e6f6d696e65656e6f6f646c656e6f726d616c6e6f7274686e6f73656e6f7461626c656e6f74656e6f7468696e676e6f746963656e6f76656c6e6f776e75636c6561726e756d6265726e757273656e75746f616b6f6265796f626a6563746f626c6967656f6273637572656f6273657276656f627461696e6f6276696f75736f636375726f6365616e6f63746f6265726f646f726f66666f666665726f66666963656f6674656e6f696c6f6b61796f6c646f6c6976656f6c796d7069636f6d69746f6e63656f6e656f6e696f6e6f6e6c696e656f6e6c796f70656e6f706572616f70696e696f6e6f70706f73656f7074696f6e6f72616e67656f726269746f7263686172646f726465726f7264696e6172796f7267616e6f7269656e746f726967696e616c6f727068616e6f7374726963686f746865726f7574646f6f726f757465726f75747075746f7574736964656f76616c6f76656e6f7665726f776e6f776e65726f787967656e6f79737465726f7a6f6e6570616374706164646c65706167657061697270616c61636570616c6d70616e646170616e656c70616e696370616e746865727061706572706172616465706172656e747061726b706172726f7470617274797061737370617463687061746870617469656e74706174726f6c7061747465726e7061757365706176657061796d656e7470656163657065616e75747065617270656173616e7470656c6963616e70656e70656e616c747970656e63696c70656f706c65706570706572706572666563747065726d6974706572736f6e70657470686f6e6570686f746f706872617365706879736963616c7069616e6f7069636e6963706963747572657069656365706967706967656f6e70696c6c70696c6f7470696e6b70696f6e65657270697065706973746f6c706974636870697a7a61706c616365706c616e6574706c6173746963706c617465706c6179706c65617365706c65646765706c75636b706c7567706c756e6765706f656d706f6574706f696e74706f6c6172706f6c65706f6c696365706f6e64706f6e79706f6f6c706f70756c6172706f7274696f6e706f736974696f6e706f737369626c65706f7374706f7461746f706f7474657279706f7665727479706f77646572706f7765727072616374696365707261697365707265646963747072656665727072657061726570726573656e7470726574747970726576656e74707269636570726964657072696d6172797072696e747072696f72697479707269736f6e707269766174657072697a6570726f626c656d70726f6365737370726f6475636570726f66697470726f6772616d70726f6a65637470726f6d6f746570726f6f6670726f706572747970726f7370657270726f7465637470726f756470726f766964657075626c696370756464696e6770756c6c70756c7070756c736570756d706b696e70756e6368707570696c70757070797075726368617365707572697479707572706f736570757273657075736870757470757a7a6c65707972616d69647175616c6974797175616e74756d717561727465727175657374696f6e717569636b717569747175697a71756f7465726162626974726163636f6f6e726163657261636b7261646172726164696f7261696c7261696e726169736572616c6c7972616d7072616e636872616e646f6d72616e676572617069647261726572617465726174686572726176656e72617772617a6f7272656164797265616c726561736f6e726562656c72656275696c64726563616c6c726563656976657265636970657265636f726472656379636c657265647563657265666c6563747265666f726d726566757365726567696f6e726567726574726567756c617272656a65637472656c617872656c6561736572656c69656672656c7972656d61696e72656d656d62657272656d696e6472656d6f766572656e64657272656e657772656e7472656f70656e7265706169727265706561747265706c6163657265706f727472657175697265726573637565726573656d626c657265736973747265736f75726365726573706f6e7365726573756c747265746972657265747265617472657475726e7265756e696f6e72657665616c72657669657772657761726472687974686d726962726962626f6e72696365726963687269646572696467657269666c657269676874726967696472696e6772696f74726970706c657269736b72697475616c726976616c7269766572726f6164726f617374726f626f74726f62757374726f636b6574726f6d616e6365726f6f66726f6f6b6965726f6f6d726f7365726f74617465726f756768726f756e64726f757465726f79616c7275626265727275646572756772756c6572756e72756e776179727572616c736164736164646c657361646e657373736166657361696c73616c616473616c6d6f6e73616c6f6e73616c7473616c75746573616d6573616d706c6573616e64736174697366797361746f736869736175636573617573616765736176657361797363616c657363616e7363617265736361747465727363656e65736368656d657363686f6f6c736369656e636573636973736f727373636f7270696f6e73636f7574736372617073637265656e7363726970747363727562736561736561726368736561736f6e736561747365636f6e6473656372657473656374696f6e7365637572697479736565647365656b7365676d656e7473656c65637473656c6c73656d696e617273656e696f7273656e736573656e74656e63657365726965737365727669636573657373696f6e736574746c657365747570736576656e736861646f7773686166747368616c6c6f777368617265736865647368656c6c73686572696666736869656c6473686966747368696e657368697073686976657273686f636b73686f6573686f6f7473686f7073686f727473686f756c64657273686f7665736872696d70736872756773687566666c657368797369626c696e677369636b73696465736965676573696768747369676e73696c656e7473696c6b73696c6c7973696c76657273696d696c617273696d706c6573696e636573696e67736972656e7369737465727369747561746573697873697a65736b617465736b65746368736b69736b696c6c736b696e736b697274736b756c6c736c6162736c616d736c656570736c656e646572736c696365736c696465736c69676874736c696d736c6f67616e736c6f74736c6f77736c757368736d616c6c736d617274736d696c65736d6f6b65736d6f6f7468736e61636b736e616b65736e6170736e696666736e6f77736f6170736f63636572736f6369616c736f636b736f6461736f6674736f6c6172736f6c64696572736f6c6964736f6c7574696f6e736f6c7665736f6d656f6e65736f6e67736f6f6e736f727279736f7274736f756c736f756e64736f7570736f75726365736f757468737061636573706172657370617469616c737061776e737065616b7370656369616c73706565647370656c6c7370656e6473706865726573706963657370696465727370696b657370696e73706972697473706c697473706f696c73706f6e736f7273706f6f6e73706f727473706f747370726179737072656164737072696e6773707973717561726573717565657a65737175697272656c737461626c657374616469756d737461666673746167657374616972737374616d707374616e647374617274737461746573746179737465616b737465656c7374656d7374657073746572656f737469636b7374696c6c7374696e6773746f636b73746f6d61636873746f6e6573746f6f6c73746f727973746f76657374726174656779737472656574737472696b657374726f6e677374727567676c6573747564656e7473747566667374756d626c657374796c657375626a6563747375626d6974737562776179737563636573737375636873756464656e7375666665727375676172737567676573747375697473756d6d657273756e73756e6e7973756e7365747375706572737570706c7973757072656d65737572657375726661636573757267657375727072697365737572726f756e64737572766579737573706563747375737461696e7377616c6c6f777377616d7073776170737761726d7377656172737765657473776966747377696d7377696e6773776974636873776f726473796d626f6c73796d70746f6d737972757073797374656d7461626c657461636b6c657461677461696c74616c656e7474616c6b74616e6b746170657461726765747461736b7461737465746174746f6f7461786974656163687465616d74656c6c74656e74656e616e7474656e6e697374656e747465726d74657374746578747468616e6b746861747468656d657468656e7468656f72797468657265746865797468696e677468697374686f7567687474687265657468726976657468726f777468756d627468756e6465727469636b657474696465746967657274696c7474696d62657274696d6574696e7974697074697265647469737375657469746c65746f617374746f626163636f746f646179746f64646c6572746f65746f676574686572746f696c6574746f6b656e746f6d61746f746f6d6f72726f77746f6e65746f6e677565746f6e69676874746f6f6c746f6f7468746f70746f706963746f70706c65746f726368746f726e61646f746f72746f697365746f7373746f74616c746f7572697374746f77617264746f776572746f776e746f79747261636b747261646574726166666963747261676963747261696e7472616e7366657274726170747261736874726176656c747261797472656174747265657472656e64747269616c7472696265747269636b747269676765727472696d7472697074726f70687974726f75626c65747275636b747275657472756c797472756d706574747275737474727574687472797475626574756974696f6e74756d626c6574756e6174756e6e656c7475726b65797475726e747572746c657477656c76657477656e747974776963657477696e747769737474776f747970657479706963616c75676c79756d6272656c6c61756e61626c65756e6177617265756e636c65756e636f766572756e646572756e646f756e66616972756e666f6c64756e6861707079756e69666f726d756e69717565756e6974756e697665727365756e6b6e6f776e756e6c6f636b756e74696c756e757375616c756e7665696c757064617465757067726164657570686f6c6475706f6e75707065727570736574757262616e7572676575736167657573657573656475736566756c7573656c657373757375616c7574696c697479766163616e7476616375756d766167756576616c696476616c6c657976616c766576616e76616e6973687661706f72766172696f7573766173747661756c7476656869636c6576656c76657476656e646f7276656e7475726576656e75657665726276657269667976657273696f6e7665727976657373656c7665746572616e766961626c6576696272616e74766963696f7573766963746f7279766964656f7669657776696c6c61676576696e7461676576696f6c696e7669727475616c766972757376697361766973697476697375616c766974616c7669766964766f63616c766f696365766f6964766f6c63616e6f766f6c756d65766f7465766f79616765776167657761676f6e7761697477616c6b77616c6c77616c6e757477616e74776172666172657761726d77617272696f72776173687761737077617374657761746572776176657761797765616c7468776561706f6e7765617277656173656c7765617468657277656277656464696e677765656b656e64776569726477656c636f6d65776573747765747768616c65776861747768656174776865656c7768656e776865726577686970776869737065727769646577696474687769666577696c6477696c6c77696e77696e646f7777696e6577696e6777696e6b77696e6e657277696e74657277697265776973646f6d77697365776973687769746e657373776f6c66776f6d616e776f6e646572776f6f64776f6f6c776f7264776f726b776f726c64776f727279776f72746877726170777265636b77726573746c657772697374777269746577726f6e67796172647965617279656c6c6f77796f75796f756e67796f7574687a656272617a65726f7a6f6e657a6f6f7c0510000700000083051000070000008a051000040000008e05100005000000930510000500000098051000060000009e05100006000000a405100008000000ac05100006000000b205100005000000b705100006000000bd05100008000000c505100007000000cc05100006000000d205100007000000d905100004000000dd05100008000000e505100007000000ec05100006000000f205100003000000f505100006000000fb05100005000000000610000700000007061000060000000d06100005000000120610000300000015061000060000001b06100007000000220610000600000028061000050000002d06100005000000320610000700000039061000060000003f0610000700000046061000060000004c06100006000000520610000600000058061000050000005d06100003000000600610000500000065061000050000006a061000050000006f06100003000000720610000300000075061000070000007c06100005000000810610000500000086061000050000008b06100007000000920610000500000097061000050000009c061000030000009f06100005000000a406100005000000a906100006000000af06100005000000b406100005000000b906100007000000c006100004000000c406100005000000c906100006000000cf06100007000000d606100007000000dd06100005000000e206100006000000e806100006000000ee06100007000000f506100006000000fb06100007000000020710000500000007071000050000000c07100005000000110710000600000017071000050000001c0710000800000024071000060000002a07100007000000310710000600000037071000070000003e0710000700000045071000070000004c071000030000004f0710000500000054071000070000005b07100006000000610710000500000066071000070000006d07100005000000720710000400000076071000060000007c07100004000000800710000500000085071000050000008a071000030000008d07100005000000920710000500000097071000040000009b07100006000000a107100007000000a807100006000000ae07100006000000b407100005000000b907100003000000bc07100008000000c407100006000000ca07100007000000d107100003000000d407100006000000da07100007000000e107100005000000e607100006000000ec07100006000000f207100006000000f807100007000000ff07100004000000030810000600000009081000060000000f0810000800000017081000070000001e0810000700000025081000050000002a08100006000000300810000400000034081000060000003a081000040000003e0810000600000044081000070000004b08100007000000520810000500000057081000050000005c08100005000000610810000400000065081000070000006c08100005000000710810000700000078081000040000007c08100004000000800810000800000088081000050000008d08100005000000920810000300000095081000070000009c08100007000000a308100004000000a708100006000000ad08100006000000b308100006000000b908100003000000bc08100006000000c208100007000000c908100006000000cf08100004000000d308100005000000d808100006000000de08100006000000e408100005000000e908100004000000ed08100006000000f308100007000000fa08100006000000000910000400000004091000060000000a091000050000000f0910000600000015091000060000001b09100007000000220910000500000027091000040000002b09100005000000300910000700000037091000040000003b09100006000000410910000600000047091000070000004e0910000600000054091000070000005b091000030000005e09100004000000620910000400000066091000070000006d09100004000000710910000500000076091000060000007c09100005000000810910000500000086091000050000008b09100007000000920910000500000097091000050000009c09100005000000a109100005000000a609100005000000ab09100007000000b209100006000000b809100004000000bc09100004000000c009100005000000c509100005000000ca09100004000000ce09100004000000d209100004000000d609100004000000da09100004000000de09100005000000e309100004000000e709100005000000ec09100006000000f209100006000000f809100006000000fe09100004000000020a100006000000080a1000060000000e0a100003000000110a100003000000140a1000070000001b0a100005000000200a100005000000250a1000050000002a0a1000050000002f0a100005000000340a1000060000003a0a1000050000003f0a100006000000450a1000050000004a0a100006000000500a100005000000550a1000050000005a0a100008000000620a100006000000680a1000060000006e0a100005000000730a1000070000007a0a1000050000007f0a100005000000840a1000060000008a0a1000050000008f0a100006000000950a1000070000009c0a100005000000a10a100004000000a50a100004000000a90a100006000000af0a100006000000b50a100006000000bb0a100006000000c10a100006000000c70a100005000000cc0a100003000000cf0a100008000000d70a100004000000db0a100006000000e10a100005000000e60a100004000000ea0a100007000000f10a100005000000f60a100005000000fb0a100006000000010b100004000000050b100004000000090b1000040000000d0b100004000000110b100006000000170b1000040000001b0b1000030000001e0b100005000000230b100006000000290b1000050000002e0b100006000000340b100005000000390b1000060000003f0b100006000000450b1000070000004c0b100007000000530b1000070000005a0b1000030000005d0b100006000000630b100004000000670b1000050000006c0b100006000000720b100005000000770b1000040000007b0b1000040000007f0b100004000000830b100006000000890b1000060000008f0b100006000000950b100003000000980b1000070000009f0b100005000000a40b100008000000ac0b100006000000b20b100006000000b80b100005000000bd0b100007000000c40b100004000000c80b100007000000cf0b100006000000d50b100006000000db0b100006000000e10b100007000000e80b100006000000ee0b100007000000f50b100005000000fa0b100005000000ff0b100008000000070c1000060000000d0c100005000000120c100007000000190c1000060000001f0c100005000000240c100004000000280c1000050000002d0c100005000000320c100006000000380c1000040000003c0c100006000000420c100005000000470c1000070000004e0c100005000000530c100005000000580c1000070000005f0c100006000000650c1000060000006b0c100007000000720c100007000000790c1000050000007e0c100005000000830c100005000000880c100008000000900c100006000000960c1000070000009d0c100004000000a10c100005000000a60c100005000000ab0c100004000000af0c100007000000b60c100004000000ba0c100004000000be0c100005000000c30c100005000000c80c100006000000ce0c100005000000d30c100006000000d90c100005000000de0c100005000000e30c100006000000e90c100004000000ed0c100005000000f20c100004000000f60c100005000000fb0c100005000000000d100005000000050d1000050000000a0d1000040000000e0d100005000000130d1000070000001a0d100006000000200d100005000000250d1000050000002a0d100007000000310d100004000000350d1000060000003b0d1000040000003f0d100004000000430d1000070000004a0d1000050000004f0d100006000000550d1000070000005c0d100004000000600d100007000000670d1000050000006c0d100006000000720d100007000000790d100007000000800d100007000000870d1000070000008e0d100008000000960d1000070000009d0d100008000000a50d100007000000ac0d100008000000b40d100004000000b80d100004000000bc0d100006000000c20d100004000000c60d100005000000cb0d100004000000cf0d100004000000d30d100007000000da0d100004000000de0d100006000000e40d100005000000e90d100007000000f00d100006000000f60d100006000000fc0d100006000000020e100005000000070e1000060000000d0e100005000000120e100006000000180e1000050000001d0e100004000000210e100005000000260e1000050000002b0e100006000000310e100005000000360e1000050000003b0e100005000000400e100006000000460e1000050000004b0e1000040000004f0e100007000000560e1000050000005b0e100005000000600e100006000000660e1000040000006a0e1000050000006f0e100006000000750e1000050000007a0e100007000000810e100005000000860e1000060000008c0e100007000000930e100006000000990e1000050000009e0e100003000000a10e100007000000a80e100004000000ac0e100007000000b30e100003000000b60e100008000000be0e100007000000c50e100007000000cc0e100007000000d30e100005000000d80e100007000000df0e100006000000e50e100004000000e90e100005000000ee0e100003000000f10e100006000000f70e100004000000fb0e100005000000000f100006000000060f1000060000000c0f100004000000100f100008000000180f1000040000001c0f1000030000001f0f100004000000230f100006000000290f1000060000002f0f100006000000350f1000080000003d0f100006000000430f1000070000004a0f100008000000520f1000080000005a0f1000040000005e0f100007000000650f1000060000006b0f1000040000006f0f100006000000750f1000050000007a0f100007000000810f100006000000870f1000060000008d0f100006000000930f1000070000009a0f1000040000009e0f100006000000a40f100006000000aa0f100007000000b10f100005000000b60f100006000000bc0f100006000000c20f100008000000ca0f100006000000d00f100006000000d60f100004000000da0f100007000000e10f100007000000e80f100006000000ee0f100006000000f40f100007000000fb0f100006000000011010000600000007101000070000000e10100004000000121010000700000019101000050000001e10100004000000221010000600000028101000040000002c1010000600000032101000070000003910100007000000401010000700000047101000060000004d1010000800000055101000060000005b101000040000005f1010000800000067101000080000006f1010000700000076101000040000007a1010000700000081101000080000008910100007000000901010000800000098101000060000009e10100006000000a410100007000000ab10100005000000b010100006000000b610100008000000be10100003000000c110100004000000c510100007000000cc10100006000000d210100006000000d810100006000000de10100005000000e310100004000000e710100004000000eb10100006000000f110100004000000f510100005000000fa10100006000000001110000500000005111000070000000c11100004000000101110000500000015111000050000001a111000050000001f11100005000000241110000500000029111000040000002d11100005000000321110000400000036111000040000003a111000030000003d111000040000004111100004000000451110000400000049111000060000004f11100004000000531110000500000058111000040000005c11100005000000611110000700000068111000050000006d11100005000000721110000500000077111000040000007b11100005000000801110000600000086111000040000008a111000040000008e1110000400000092111000070000009911100007000000a011100004000000a411100004000000a811100007000000af11100006000000b511100003000000b811100005000000bd11100006000000c311100005000000c811100005000000cd11100008000000d511100007000000dc11100007000000e311100008000000eb11100008000000f311100005000000f811100004000000fc11100006000000021210000600000008121000070000000f1210000600000015121000070000001c12100006000000221210000700000029121000050000002e12100006000000341210000500000039121000030000003c1210000700000043121000070000004a121000050000004f1210000600000055121000070000005c12100006000000621210000600000068121000070000006f1210000500000074121000060000007a12100006000000801210000600000086121000060000008c12100006000000921210000500000097121000060000009d12100005000000a212100008000000aa12100007000000b112100005000000b612100005000000bb12100003000000be12100005000000c312100005000000c812100007000000cf12100005000000d412100005000000d912100006000000df12100005000000e412100007000000eb12100006000000f112100007000000f812100006000000fe1210000800000006131000040000000a131000050000000f1310000600000015131000050000001a13100007000000211310000600000027131000080000002f1310000600000035131000070000003c1310000600000042131000070000004913100008000000511310000700000058131000070000005f13100005000000641310000500000069131000040000006d13100006000000731310000600000079131000060000007f1310000600000085131000070000008c13100006000000921310000700000099131000060000009f13100005000000a413100003000000a713100007000000ae13100006000000b413100004000000b813100007000000bf13100004000000c313100005000000c813100005000000cd13100004000000d113100005000000d613100004000000da13100006000000e013100006000000e613100003000000e913100005000000ee13100007000000f513100004000000f9131000070000000014100003000000031410000500000008141000060000000e1410000700000015141000050000001a1410000800000022141000070000002914100008000000311410000700000038141000030000003b141000040000003f14100004000000431410000600000049141000050000004e1410000800000056141000050000005b141000050000006014100003000000631410000500000068141000070000006f1410000500000074141000060000007a141000040000007e14100004000000821410000600000088141000050000008d14100004000000911410000400000095141000060000009b14100006000000a114100004000000a514100004000000a914100005000000ae14100006000000b414100004000000b814100003000000bb14100007000000c214100003000000c514100004000000c914100005000000ce14100005000000d314100004000000d714100006000000dd14100004000000e114100006000000e714100004000000eb14100005000000f014100005000000f514100005000000fa14100006000000001510000500000005151000050000000a151000030000000d151000040000001115100005000000161510000300000019151000040000001d15100004000000211510000600000027151000040000002b151000040000002f1510000500000034151000060000003a15100006000000401510000400000044151000070000004b15100005000000501510000700000057151000060000005d15100006000000631510000500000068151000030000006b15100007000000721510000500000077151000080000007f1510000500000084151000060000008a151000060000009015100004000000941510000500000099151000050000009e15100005000000a315100006000000a915100005000000ae15100004000000b215100003000000b515100005000000ba15100007000000c115100004000000c515100006000000cb15100006000000d115100004000000d515100006000000db15100007000000e215100004000000e615100003000000e915100006000000ef15100007000000f615100006000000fc15100006000000021610000700000009161000030000000c16100004000000101610000400000014161000060000001a161000050000001f1610000400000023161000070000002a16100006000000301610000500000035161000060000003b16100007000000421610000700000049161000050000004e16100005000000531610000400000057161000060000005d1610000600000063161000070000006a161000040000006e16100004000000721610000400000076161000060000007c16100005000000811610000500000086161000050000008b16100007000000921610000500000097161000050000009c16100005000000a116100005000000a616100004000000aa16100004000000ae16100004000000b216100007000000b916100004000000bd16100004000000c116100005000000c616100007000000cd16100006000000d316100006000000d916100006000000df16100004000000e316100004000000e716100005000000ec16100005000000f116100005000000f616100005000000fb16100005000000001710000700000007171000050000000c17100005000000111710000400000015171000050000001a171000040000001e1710000700000025171000050000002a171000040000002e17100005000000331710000500000038171000050000003d17100005000000421710000500000047171000060000004d171000030000005017100003000000531710000500000058171000040000005c17100004000000601710000600000066171000070000006d17100004000000711710000500000076171000060000007c17100004000000801710000500000085171000070000008c171000030000008f17100004000000931710000400000097171000060000009d17100004000000a117100006000000a717100005000000ac17100005000000b117100008000000b917100006000000bf17100005000000c417100006000000ca17100004000000ce17100003000000d117100004000000d517100006000000db17100004000000df17100004000000e317100004000000e717100003000000ea17100004000000ee17100007000000f517100005000000fa171000060000000018100004000000041810000400000008181000070000000f18100006000000151810000400000019181000050000001e18100004000000221810000400000026181000040000002a18100006000000301810000500000035181000080000003d18100004000000411810000500000046181000040000004a181000050000004f18100003000000521810000400000056181000050000005b18100006000000611810000500000066181000070000006d18100006000000731810000400000077181000060000007d18100005000000821810000400000086181000070000008d18100006000000931810000300000096181000040000009a181000040000009e18100008000000a618100004000000aa18100006000000b018100003000000b318100007000000ba18100007000000c118100005000000c618100007000000cd18100007000000d418100006000000da18100006000000e018100006000000e618100007000000ed18100007000000f418100004000000f818100007000000ff1810000600000005191000080000000d1910000500000012191000080000001a19100006000000201910000800000028191000060000002e1910000700000035191000060000003b19100006000000411910000700000048191000070000004f1910000600000055191000060000005b19100006000000611910000500000066191000080000006e1910000500000073191000070000007a19100006000000801910000600000086191000060000008c1910000700000093191000070000009a19100006000000a019100008000000a819100004000000ac19100006000000b219100006000000b819100007000000bf19100004000000c319100006000000c919100007000000d019100005000000d519100004000000d919100005000000de19100006000000e419100006000000ea19100003000000ed19100004000000f119100007000000f819100005000000fd19100005000000021a100005000000071a1000030000000a1a1000040000000e1a100004000000121a100007000000191a1000030000001c1a100005000000211a100005000000261a1000040000002a1a100006000000301a100006000000361a1000040000003a1a1000040000003e1a100008000000461a1000040000004a1a1000040000004e1a100007000000551a100003000000581a1000040000005c1a1000030000005f1a100006000000651a100004000000691a100007000000701a100004000000741a100003000000771a1000070000007e1a100004000000821a100006000000881a1000040000008c1a100004000000901a100005000000951a1000050000009a1a1000040000009e1a100003000000a11a100005000000a61a100005000000ab1a100006000000b11a100004000000b51a100004000000b91a100004000000bd1a100008000000c51a100006000000cb1a100005000000d01a100005000000d51a100005000000da1a100005000000df1a100007000000e61a100004000000ea1a100003000000ed1a100004000000f11a100007000000f81a100005000000fd1a100004000000011b100006000000071b1000040000000b1b100005000000101b100005000000151b1000070000001c1b100004000000201b100003000000231b100005000000281b1000060000002e1b100007000000351b1000050000003a1b1000040000003e1b100006000000441b100004000000481b1000070000004f1b100006000000551b1000060000005b1b100005000000601b100004000000641b1000070000006b1b100007000000721b100007000000791b1000040000007d1b100004000000811b100005000000861b1000040000008a1b1000040000008e1b100005000000931b100004000000971b1000040000009b1b100006000000a11b100004000000a51b100006000000ab1b100004000000af1b100006000000b51b100004000000b91b100004000000bd1b100007000000c41b100005000000c91b100004000000cd1b100005000000d21b100006000000d81b100004000000dc1b100004000000e01b100007000000e71b100004000000eb1b100006000000f11b100004000000f51b100005000000fa1b100005000000ff1b100007000000061c1000060000000c1c100005000000111c100005000000161c1000060000001c1c100006000000221c100007000000291c1000030000002c1c100005000000311c100006000000371c1000040000003b1c1000040000003f1c100004000000431c100005000000481c1000040000004c1c100006000000521c100003000000551c1000060000005b1c100007000000621c100005000000671c1000070000006e1c100006000000741c100005000000791c1000060000007f1c100005000000841c1000060000008a1c100006000000901c100006000000961c1000080000009e1c100004000000a21c100004000000a61c100006000000ac1c100005000000b11c100008000000b91c100004000000bd1c100006000000c31c100006000000c91c100007000000d01c100004000000d41c100006000000da1c100004000000de1c100007000000e51c100004000000e91c100008000000f11c100005000000f61c100005000000fb1c100006000000011d100004000000051d1000060000000b1d100006000000111d100007000000181d1000040000001c1d100005000000211d100005000000261d1000050000002b1d100005000000301d100004000000341d1000070000003b1d100005000000401d100006000000461d1000060000004c1d100008000000541d100004000000581d1000070000005f1d100005000000641d100004000000681d1000070000006f1d100005000000741d1000060000007a1d100007000000811d100006000000871d1000060000008d1d100004000000911d100007000000981d1000030000009b1d100005000000a01d100007000000a71d100006000000ad1d100005000000b21d100006000000b81d100003000000bb1d100006000000c11d100007000000c81d100006000000ce1d100007000000d51d100005000000da1d100004000000de1d100005000000e31d100004000000e71d100007000000ee1d100008000000f61d100006000000fc1d100006000000021e100005000000071e1000080000000f1e100005000000141e100004000000181e1000050000001d1e100004000000211e100006000000271e1000040000002b1e100008000000331e100006000000391e1000060000003f1e100008000000471e1000050000004c1e100004000000501e100006000000561e1000060000005c1e100007000000631e100004000000671e1000050000006c1e100004000000701e100006000000761e1000060000007c1e100005000000811e100006000000871e1000060000008d1e100004000000911e100004000000951e100004000000991e100008000000a11e100007000000a81e100007000000af1e100006000000b51e100005000000ba1e100004000000be1e100003000000c11e100007000000c81e100007000000cf1e100005000000d41e100004000000d81e100004000000dc1e100004000000e01e100005000000e51e100005000000ea1e100005000000ef1e100007000000f61e100006000000fc1e100006000000021f100005000000071f1000040000000b1f100007000000121f100004000000161f1000070000001d1f100006000000231f100005000000281f1000030000002b1f100007000000321f100006000000381f1000050000003d1f100003000000401f100003000000431f100004000000471f1000060000004d1f100006000000531f1000070000005a1f100007000000611f100006000000671f1000070000006e1f100005000000731f100005000000781f1000070000007f1f100004000000831f100003000000861f1000050000008b1f100006000000911f100005000000961f100003000000991f1000040000009d1f100003000000a01f100005000000a51f100007000000ac1f100004000000b01f100004000000b41f100003000000b71f100005000000bc1f100006000000c21f100004000000c61f100004000000ca1f100005000000cf1f100007000000d61f100006000000dc1f100006000000e21f100006000000e81f100005000000ed1f100007000000f41f100005000000f91f100008000000012010000500000006201000060000000c2010000800000014201000060000001a20100007000000212010000500000026201000070000002d20100005000000322010000600000038201000070000003f20100004000000432010000400000047201000040000004b201000030000004e20100005000000532010000600000059201000060000005f20100005000000642010000400000068201000060000006e20100004000000722010000400000076201000060000007c20100004000000802010000500000085201000050000008a201000050000008f2010000700000096201000050000009b20100006000000a120100006000000a720100004000000ab20100006000000b120100005000000b620100004000000ba20100005000000bf20100004000000c320100007000000ca20100006000000d020100007000000d720100005000000dc20100004000000e020100007000000e720100005000000ec20100006000000f220100004000000f620100007000000fd20100007000000042110000300000007211000070000000e2110000600000014211000060000001a21100006000000202110000700000027211000060000002d21100006000000332110000300000036211000050000003b21100005000000402110000600000046211000080000004e21100005000000532110000600000059211000070000006021100005000000652110000300000068211000060000006e21100004000000722110000500000077211000040000007b21100007000000822110000400000086211000060000008c21100005000000912110000500000096211000050000009b21100006000000a121100007000000a821100005000000ad21100004000000b121100006000000b721100006000000bd21100005000000c221100004000000c621100006000000cc21100004000000d021100004000000d421100005000000d921100005000000de21100004000000e221100006000000e821100004000000ec21100004000000f021100004000000f421100007000000fb2110000700000002221000080000000a22100008000000122210000400000016221000060000001c2210000700000023221000070000002a22100006000000302210000500000035221000080000003d2210000600000043221000070000004a22100006000000502210000700000057221000070000005e2210000600000064221000070000006b22100005000000702210000500000075221000070000007c22100005000000812210000800000089221000060000008f2210000700000096221000050000009b22100007000000a222100007000000a922100007000000b022100006000000b622100007000000bd22100007000000c422100007000000cb22100005000000d022100008000000d822100007000000df22100007000000e622100005000000eb22100007000000f222100006000000f822100007000000ff22100004000000032310000400000007231000050000000c23100007000000132310000500000018231000050000001d2310000500000022231000080000002a23100006000000302310000700000037231000050000003c23100004000000402310000300000043231000060000004923100007000000502310000700000057231000070000005e2310000700000065231000080000006d23100005000000722310000400000076231000040000007a231000050000007f2310000600000085231000070000008c231000040000009023100004000000942310000500000099231000050000009e23100004000000a223100004000000a623100005000000ab23100005000000b023100004000000b423100005000000b923100006000000bf23100005000000c423100005000000c923100004000000cd23100004000000d123100006000000d723100005000000dc23100003000000df23100005000000e423100005000000e923100004000000ed23100006000000f323100005000000f823100007000000ff2310000600000005241000070000000c24100006000000122410000600000018241000070000001f2410000600000025241000070000002c24100006000000322410000600000038241000060000003e2410000600000044241000070000004b24100006000000512410000500000056241000070000005d24100006000000632410000400000067241000060000006d2410000800000075241000060000007b24100006000000812410000600000087241000050000008c24100004000000902410000600000096241000060000009c24100006000000a224100007000000a924100006000000af24100007000000b624100006000000bc24100008000000c424100006000000ca24100008000000d224100008000000da24100006000000e024100006000000e624100007000000ed24100006000000f324100007000000fa24100006000000002510000600000006251000060000000c25100006000000122510000300000015251000060000001b251000040000001f25100004000000232510000400000027251000050000002c25100005000000312510000500000036251000050000003b251000040000003f25100004000000432510000600000049251000040000004d25100006000000532510000500000058251000050000005d25100004000000612510000500000066251000050000006b25100006000000712510000600000077251000070000007e25100004000000822510000600000088251000040000008c25100004000000902510000600000096251000050000009b25100005000000a025100005000000a525100005000000aa25100006000000b025100004000000b425100003000000b725100004000000bb25100003000000be25100006000000c425100005000000c925100003000000cc25100006000000d225100007000000d925100004000000dd25100004000000e125100005000000e625100006000000ec25100005000000f125100004000000f525100006000000fb25100004000000ff2510000600000005261000040000000926100007000000102610000700000017261000050000001c26100007000000232610000400000027261000030000002a261000050000002f26100004000000332610000500000038261000070000003f2610000500000044261000060000004a26100006000000502610000700000057261000080000005f2610000800000067261000050000006c26100005000000712610000600000077261000060000007d26100005000000822610000300000085261000060000008b26100006000000912610000400000095261000060000009b26100006000000a126100007000000a826100008000000b026100004000000b426100004000000b826100007000000bf26100006000000c526100004000000c926100007000000d026100006000000d626100005000000db26100008000000e326100006000000e926100007000000f026100007000000f726100006000000fd26100005000000022710000500000007271000060000000d27100005000000122710000700000019271000050000001e27100004000000222710000500000027271000070000002e27100006000000342710000500000039271000050000003e27100004000000422710000600000048271000050000004d27100004000000512710000500000056271000040000005a271000050000005f2710000800000067271000050000006c27100006000000722710000500000077271000070000007e27100003000000812710000700000088271000040000008c27100004000000902710000500000095271000050000009a271000040000009e27100006000000a427100004000000a827100005000000ad27100006000000b327100007000000ba27100006000000c027100005000000c527100004000000c927100005000000ce27100006000000d427100007000000db27100003000000de27100004000000e227100005000000e727100006000000ed27100003000000f027100005000000f527100004000000f927100005000000fe27100005000000032810000400000007281000040000000b28100005000000102810000700000017281000050000001c28100005000000212810000600000027281000040000002b281000060000003128100004000000352810000400000039281000050000003e28100005000000432810000500000048281000050000004d28100005000000522810000600000058281000050000005d28100005000000622810000400000066281000050000006b281000040000006f28100004000000732810000600000079281000060000007f28100004000000832810000400000087281000040000008b28100005000000902810000700000097281000050000009c28100008000000a428100005000000a928100007000000b028100004000000b428100004000000b828100005000000bd28100004000000c128100004000000c528100005000000ca28100004000000ce28100006000000d428100005000000d928100005000000de28100005000000e328100007000000ea28100005000000ef28100005000000f428100007000000fb28100005000000002910000500000005291000050000000a29100006000000102910000500000015291000060000001b29100005000000202910000400000024291000060000002a291000050000002f2910000500000034291000070000003b291000050000004029100005000000452910000400000049291000050000004e2910000600000054291000060000005a291000030000005d2910000600000063291000070000006a29100008000000722910000600000078291000070000007f29100005000000842910000500000089291000060000008f29100005000000942910000500000099291000050000009e29100005000000a329100004000000a729100005000000ac29100005000000b129100004000000b529100004000000b929100006000000bf29100005000000c429100005000000c929100005000000ce29100005000000d329100007000000da29100005000000df29100005000000e429100005000000e929100005000000ee29100008000000f629100006000000fc29100006000000022a100006000000082a100008000000102a100007000000172a1000050000001c2a100007000000232a100005000000282a1000070000002f2a100006000000352a1000060000003b2a100007000000422a100004000000462a1000060000004c2a100006000000522a100005000000572a1000070000005e2a100004000000622a100006000000682a1000030000006b2a100005000000702a100006000000762a1000050000007b2a100006000000812a100007000000882a1000040000008c2a100007000000932a100005000000982a100008000000a02a100008000000a82a100006000000ae2a100007000000b52a100007000000bc2a100007000000c32a100005000000c82a100004000000cc2a100005000000d12a100005000000d62a100005000000db2a100005000000e02a100004000000e42a100005000000e92a100006000000ef2a100005000000f42a100006000000fa2a100007000000012b100005000000062b1000060000000c2b100005000000112b100006000000172b1000030000001a2b1000040000001e2b100006000000242b100004000000282b1000040000002c2b100004000000302b100006000000362b1000040000003a2b1000050000003f2b100006000000452b100004000000492b1000050000004e2b100004000000522b100004000000562b100003000000592b1000060000005f2b100006000000652b100004000000692b1000040000006d2b100004000000712b100004000000752b1000050000007a2b1000040000007e2b100005000000832b100004000000872b1000060000008d2b100005000000922b100004000000962b1000050000009b2b1000040000009f2b100007000000a62b100005000000ab2b100006000000b12b100005000000b62b100005000000bb2b100007000000c22b100006000000c82b100004000000cc2b100005000000d12b100004000000d52b100006000000db2b100004000000df2b100004000000e32b100003000000e62b100005000000eb2b100006000000f12b100005000000f62b100005000000fb2b100007000000022c100005000000072c1000070000000e2c100003000000112c100008000000192c1000060000001f2c100005000000242c1000060000002a2c100008000000322c100004000000362c1000060000003c2c100007000000432c100004000000472c1000050000004c2c1000030000004f2c100005000000542c1000060000005a2c1000050000005f2c100007000000662c1000080000006e2c100004000000722c100005000000772c1000070000007e2c100006000000842c100005000000892c1000040000008d2c100003000000902c100005000000952c1000050000009a2c100007000000a12c100006000000a72c100005000000ac2c100008000000b42c100004000000b82c100005000000bd2c100006000000c32c100004000000c72c100005000000cc2c100004000000d02c100005000000d52c100005000000da2c100005000000df2c100005000000e42c100007000000eb2c100004000000ef2c100004000000f32c100006000000f92c100007000000002d100005000000052d100004000000092d1000050000000e2d100007000000152d1000050000001a2d1000050000001f2d100003000000222d100004000000262d1000070000002d2d100006000000332d100004000000372d1000060000003d2d100006000000432d100004000000472d1000060000004d2d100006000000532d100006000000592d1000050000005e2d100004000000622d100005000000672d1000030000006a2d1000040000006e2d100007000000752d100004000000792d100008000000812d100006000000872d1000070000008e2d100005000000932d1000070000009a2d1000050000009f2d100004000000a32d100006000000a92d100006000000af2d100007000000b62d100007000000bd2d100006000000c32d100004000000c72d100008000000cf2d100007000000d62d100006000000dc2d100005000000e12d100007000000e82d100006000000ee2d100006000000f42d100007000000fb2d100006000000012e100004000000052e1000050000000a2e1000050000000f2e100005000000142e100004000000182e1000050000001d2e100003000000202e100004000000242e1000060000002a2e100007000000312e100005000000362e1000070000003d2e100006000000432e100006000000492e1000050000004e2e100005000000532e100006000000592e1000050000005e2e100003000000612e100006000000672e1000050000006c2e100007000000732e100004000000772e1000050000007c2e100007000000832e100006000000892e1000060000008f2e100007000000962e1000050000009b2e1000040000009f2e100006000000a52e100007000000ac2e100004000000b02e100006000000b62e100007000000bd2e100006000000c32e100007000000ca2e100007000000d12e100007000000d82e100005000000dd2e100004000000e12e100007000000e82e100007000000ef2e100006000000f52e100007000000fc2e100005000000012f100004000000052f1000050000000a2f100006000000102f100005000000152f1000050000001a2f1000050000001f2f100005000000242f100004000000282f1000070000002f2f100006000000352f100004000000392f1000060000003f2f100004000000432f100005000000482f1000040000004c2f100004000000502f100004000000542f1000060000005a2f1000040000005e2f100007000000652f100004000000692f100007000000702f100004000000742f100004000000782f1000050000007d2f100005000000822f100004000000862f100003000000892f1000060000008f2f100006000000952f100004000000992f1000060000009f2f100007000000a62f100003000000a92f100007000000b02f100007000000b72f100005000000bc2f100007000000c32f100004000000c72f100003000000ca2f100005000000cf2f100004000000d32f100005000000d82f100005000000dd2f100004000000e12f100005000000e62f100004000000ea2f100007000000f12f100004000000f52f100005000000fa2f100004000000fe2f1000040000000230100004000000063010000300000009301000060000000f30100004000000133010000400000017301000040000001b30100006000000213010000600000027301000040000002b301000060000003130100004000000353010000400000039301000070000004030100004000000443010000500000049301000060000004f30100004000000533010000400000057301000040000005b301000040000005f30100005000000643010000500000069301000050000006e30100004000000723010000500000077301000070000007e30100005000000833010000500000088301000050000008d30100004000000913010000400000095301000060000009b301000030000009e30100005000000a330100005000000a830100005000000ad30100004000000b130100004000000b5301000030000001205100058000000d7010000300000001205100058000000d9010000100000001205100058000000d2010000140000001205100058000000d3010000150000001205100058000000c50100000d00000012051000580000005a0200000d000000696e76616c6964206d6e656d6f6e696312051000580000004c0200003000000012051000580000005202000011000000000000000c000000040000000b00000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75650012051000580000004202000041000000416d626967756f75734c616e677561676573426164576f7264436f756e74556e6b6e6f776e576f7264426164456e74726f7079426974436f756e74496e76616c6964436865636b73756d6d6964203e206c656e00de711000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e7273f0711000840000004e0000001f000000f07110008400000048000000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300947210006f0000006203000009000000802f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f626974636f696e5f6861736865732d302e31332e302f7372632f7368613235362e72730000157310006500000023000000140000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f626c616b6532625f73696d642d312e302e322f7372632f706f727461626c652e72738c7310006400000096000000150000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f626c616b6532625f73696d642d312e302e322f7372632f6c69622e727300007410005f000000aa01000011000000007410005f000000ce01000017000000007410005f000000e501000016000000007410005f0000004e020000140000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f6465636f64652e72730000a07410005a000000c00100000b000000a07410005a000000ac010000200000004c61796f75744572726f722f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730000277510006f000000be0100001d0000000d0000000e0000000f00000010000000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f62797465732d312e31302e312f7372632f62797465732e7273203c3d2073706c69745f746f206f7574206f6620626f756e64733a20001b761000180000001776100004000000bc7510005b0000002e020000090000001200000013000000140000001500000016000000170000001800000019000000150000001a0000000000000000000000010000001b00000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500bc7510005b0000004805000032000000bc7510005b00000056050000490000001c0000001d0000001e0000001f000000200000006222225c6e5c725c745c0000f5761000010000005c305c7802771000020000000200000000000000000002000000000000000000200000e901000000000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273002c7710006f000000be0100001d00000061626f72742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f62797465732d312e31302e312f7372632f6c69622e72730000b1771000590000006e000000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f666d742f6e756d2e72731c781000700000004800000011000000307830623030303130323033303430353036303730383039313031313132313331343135313631373138313932303231323232333234323532363237323832393330333133323333333433353336333733383339343034313432343334343435343634373438343935303531353235333534353535363537353835393630363136323633363436353636363736383639373037313732373337343735373637373738373938303831383238333834383538363837383838393930393139323933393439353936393739383939617373657274696f6e206661696c65643a202a63757272203e2031391c781000700000003202000005000000010000000a00000064000000e803000010270000a086010040420f008096980000e1f50500ca9a3bc16ff2862300000081efac855b416d2dee040000011f6abf64ed386eed97a7daf4f93fe9034f1800013e952e0999df03fd38150f2fe47423ecf5cfd308dc04c4dab0cdbc197f33a603261fe94e020000017c2e985b87d3be729fd9d8872f1512c650de6b706e4acf0fd895d56e71b226b066c6ad2436151d5ad3423c0e54ff63c07355cc17eff965f228bc55f7c7dc80dced6ef4ceefdc5ff75305002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f666c74326465632f73747261746567792f647261676f6e2e7273617373657274696f6e206661696c65643a20642e6d616e74203e2030587a1000840000007600000005000000617373657274696f6e206661696c65643a20642e6d696e7573203e2030000000587a1000840000007700000005000000617373657274696f6e206661696c65643a20642e706c7573203e2030587a1000840000007800000005000000617373657274696f6e206661696c65643a206275662e6c656e2829203e3d204d41585f5349475f444947495453000000587a1000840000007b00000005000000587a100084000000c200000009000000587a100084000000fb0000000d000000587a1000840000000201000012000000617373657274696f6e206661696c65643a20642e6d616e742e636865636b65645f73756228642e6d696e7573292e69735f736f6d65282900587a1000840000007a00000005000000617373657274696f6e206661696c65643a20642e6d616e742e636865636b65645f61646428642e706c7573292e69735f736f6d6528290000587a1000840000007900000005000000587a1000840000000b01000005000000587a1000840000000c01000005000000587a1000840000000d01000005000000587a1000840000007201000024000000587a100084000000770100002f000000587a1000840000008401000012000000587a100084000000660100000d000000587a1000840000004c01000022000000587a1000840000000f01000005000000587a1000840000000e0100000500000030313233343536373839616263646566010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020202020202020202020202020202020202020202020202020202020203030303030303030303030303030303040404040400000000000000000000006578706c696369742070616e69630000147e10000e0000000100000000000000696e646578206f7574206f6620626f756e64733a20746865206c656e20697320206275742074686520696e646578206973200000347e100020000000547e10001200000000000000040000000400000026000000000000000400000004000000270000003d3d213d6d617463686573617373657274696f6e20606c6566742020726967687460206661696c65640a20206c6566743a200a2072696768743a2000a37e100010000000b37e100017000000ca7e10000900000020726967687460206661696c65643a200a20206c6566743a20000000a37e100010000000ec7e100010000000fc7e100009000000ca7e100009000000636f70795f66726f6d5f736c6963653a20736f7572636520736c696365206c656e67746820282920646f6573206e6f74206d617463682064657374696e6174696f6e20736c696365206c656e6774682028290000287f1000260000004e7f10002b000000797f100001000000987e10009a7e10009c7e10000200000002000000070000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f6469795f666c6f61742e72730000ac7f1000760000002e00000009000000000000000c0000000400000028000000290000002a00000020202020207b202c203a20207b0a2c0a7d207d28280a290a7b5b5d00df451a3d03cf1ae6c1fbccfe00000000cac69ac717fe70abdcfbd4fe000000004fdcbcbefcb177fff6fbdcfe000000000cd66b41ef9156be11fce4fe000000003cfc7f90ad1fd08d2cfcecfe00000000839a5531285c51d346fcf4fe00000000b5c9a6ad8fac719d61fcfcfe00000000cb8bee2377229cea7bfc04ff000000006d5378409149ccae96fc0cff0000000057ceb65d79123c82b1fc14ff000000003756fb4d369410c2cbfc1cff000000004f9848386fea9690e6fc24ff00000000c73a8225cb8574d700fd2cff00000000f497bf97cdcf86a01bfd34ff00000000e5ac2a17980a34ef35fd3cff000000008eb2352afb6738b250fd44ff000000003b3fc6d2dfd4c8846bfd4cff00000000bacdd31a2744ddc585fd54ff0000000096c925bbce9f6b93a0fd5cff0000000084a5627d246cacdbbafd64ff00000000f6da5f0d5866aba3d5fd6cff0000000026f1c3de93f8e2f3effd74ff00000000b880ffaaa8adb5b50afe7cff000000008b4a7c6c055f628725fe84ff000000005330c13460ffbcc93ffe8cff000000005526ba918c854e965afe94ff00000000bd7e29702477f9df74fe9cff000000008fb8e5b89fbddfa68ffea4ff00000000947d7488cf5fa9f8a9feacff00000000cf9ba88f937044b9c4feb4ff000000006b150fbff8f0088adffebcff00000000b63131655525b0cdf9fec4ff00000000ac7f7bd0c6e23f9914ffccff00000000063b2b2ac4105ce42effd4ff00000000d3927369992424aa49ffdcff000000000eca0083f2b587fd63ffe4ff00000000eb1a11926408e5bc7effecff00000000cc88506f09ccbc8c99fff4ff000000002c6519e25817b7d1b3fffcff00000000000000000000409cceff0400000000000000000010a5d4e8e8ff0c0000000000000062acc5eb78ad0300140000000000840994f878393f811e001c0000000000b31507c97bce97c03800240000000000705cea7bce327e8f53002c00000000006880e9aba438d2d56d0034000000000045229a1726274f9f88003c000000000027fbc4d431a263eda200440000000000a8adc88c3865deb0bd004c0000000000db65ab1a8e08c783d8005400000000009a1d7142f91d5dc4f2005c000000000058e71ba62c694d920d01640000000000ea8d701a64ee01da27016c00000000004a77ef9a99a36da24201740000000000856b7db47b7809f25c017c00000000007718dd79a1e454b47701840000000000c2c59b5b92865b8692018c00000000003d5d96c8c55335c8ac01940000000000b3a097fa5cb42a95c7019c0000000000e35fa099bd9f46dee101a40000000000258c39db34c29ba5fc01ac00000000005c9f98a3729ac6f61602b40000000000cebee95453bfdcb73102bc0000000000e24122f217f3fc884c02c40000000000a5785cd39bce20cc6602cc0000000000df53217bf35a16988102d400000000003a301f97dcb5a0e29b02dc000000000096b3e35c53d1d9a8b602e400000000003c44a7a4d97c9bfbd002ec00000000001044a4a74c4c76bbeb02f400000000001a9c40b6ef8eab8b0603fc00000000002c8457a610ef1fd02003040100000000293191e9e5a4109b3b030c01000000009d0c9ca1fb9b10e7550314010000000029f43b62d92028ac70031c010000000085cfa77a5e4b44808b032401000000002dddac0340e421bfa5032c01000000008fff445e2f9c678ec00334010000000041b88c9c9d1733d4da033c0100000000a91be3b492db199ef503440100000000d977dfba6ebf96eb0f044c01000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f666c74326465632f73747261746567792f67726973752e72730078851000830000007d00000015000000617373657274696f6e206661696c65643a20642e6d616e74203e20307885100083000000a900000005000000617373657274696f6e206661696c65643a20642e6d696e7573203e20300000007885100083000000aa00000005000000617373657274696f6e206661696c65643a20642e706c7573203e20307885100083000000ab00000005000000617373657274696f6e206661696c65643a206275662e6c656e2829203e3d204d41585f5349475f4449474954530000007885100083000000ae00000005000000617373657274696f6e206661696c65643a20642e6d616e74202b20642e706c7573203c202831203c3c203631290000007885100083000000af0000000500000078851000830000000a0100001100000078851000830000000d0100000900000078851000830000004001000009000000617373657274696f6e206661696c65643a20642e6d616e742e636865636b65645f73756228642e6d696e7573292e69735f736f6d652829007885100083000000ad00000005000000617373657274696f6e206661696c65643a20642e6d616e742e636865636b65645f61646428642e706c7573292e69735f736f6d65282900007885100083000000ac00000005000000617373657274696f6e206661696c65643a20216275662e69735f656d70747928290000007885100083000000dc01000005000000617373657274696f6e206661696c65643a20642e6d616e74203c202831203c3c203631297885100083000000dd010000050000007885100083000000de01000005000000010000000a00000064000000e803000010270000a086010040420f008096980000e1f50500ca9a3b788510008300000033020000110000007885100083000000360200000900000078851000830000006c020000090000007885100083000000e3020000260000007885100083000000ef020000260000007885100083000000cc02000026000000617474656d707420746f20646976696465206279207a65726f000000d488100019000000617474656d707420746f2063616c63756c617465207468652072656d61696e646572207769746820612064697669736f72206f66207a65726f000000f88810003900000072616e676520737461727420696e64657820206f7574206f662072616e676520666f7220736c696365206f66206c656e677468203c891000120000004e8910002200000072616e676520656e6420696e6465782080891000100000004e89100022000000736c69636520696e64657820737461727473206174202062757420656e64732061742000a089100016000000b68910000d00000000700007002d0101010201020101480b30151001650702060202010423011e1b5b0b3a09090118040109010301052b033b092a180120370101010408040103070a021d013a0101010204080109010a021a010202390104020402020303011e0203010b0239010405010204011402160601013a0101020104080107030a021e013b0101010c01090128010301370101030503010407020b021d013a01020201010303010407020b021c02390201010204080109010a021d0148010401020301010801510102070c08620102090b0749021b0101010101370e01050102050b0124090166040106010202021902040310040d01020206010f01000300041c031d021e02400201070801020b09012d030101750222017603040209010603db0202013a010107010101010208060a0201301f3104300a040326090c02200402063801010203010105380802029803010d0107040106010302c6400001c32100038d016020000669020004010a200250020001030104011902050197021a120d012608190b01012c03300102040202020124014306020202020c0108012f01330101030202050201012a020801ee010201040100010010101000020001e201950500030102050428030401a5020004410500024f04460b31047b01360f290102020a033104020207013d03240501083e010c0234090101080402015f030204060102019d01030815023902010101010c0109010e07030543010206010102010103040301010e025508020301011701510102060101020101020102eb010204060201021b025508020101026a0101010208650101010204010500090102f5010a040401900402020401200a280602040801090602032e0d010200070106010152160207010201027a06030101020107010148020301010100020b023405050317010001060f000c030300053b0700013f0451010b020002002e021700050306080802071e0494030037043208010e011605010f000701110207010201056401a00700013d040004fe0200076d07006080f000426f72726f774572726f72426f72726f774d75744572726f72616c726561647920626f72726f7765643a200000dc8c100012000000616c7265616479206d757461626c7920626f72726f7765643a200000f88c10001a000000757365722d70726f766964656420636f6d70617269736f6e2066756e6374696f6e20646f6573206e6f7420636f72726563746c7920696d706c656d656e74206120746f74616c206f726465721c8d10004c0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f7368617265642f736d616c6c736f72742e7273708d1000840000005c030000050000000003000083042000910560005d13a0001217201f0c20601fef2c202b2a30a02b6fa6602c02a8e02c1efbe02d00fe20369eff6036fd01e136010a2137240de137ab0e61392f18e139301ce14af31ee14e4034a1521e61e153f06a61544f6fe1549dbc615500cf615665d1a15600da215700e0a158aee2215aece4e15bd0e8615c2000ee5cf0017f5d2e2e63616c6c656420604f7074696f6e3a3a756e77726170282960206f6e206120604e6f6e65602076616c756500000001000000000000003a0000000100000000000000c48e100001000000c48e10000100000070616e69636b6564206174203a0a2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e72730000ee8e1000740000007105000012000000ee8e1000740000007105000028000000ee8e1000740000006406000015000000ee8e1000740000009206000015000000ee8e1000740000009306000015000000202831203c3c20290100000000000000b48f100007000000bb8f1000010000003a2000000100000000000000d48f1000020000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f6269676e756d2e727300e88f100073000000ab01000001000000617373657274696f6e206661696c65643a206e6f626f72726f77617373657274696f6e206661696c65643a20646967697473203c203430617373657274696f6e206661696c65643a206f74686572203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f666c74326465632f6d6f642e7273617373657274696f6e206661696c65643a20216275662e69735f656d707479282900be90100078000000bb00000005000000617373657274696f6e206661696c65643a206275665b305d203e206227302700be90100078000000bc00000005000000617373657274696f6e206661696c65643a2070617274732e6c656e2829203e3d20340000be90100078000000bd000000050000002e302e00be901000780000006801000005000000617373657274696f6e206661696c65643a206275662e6c656e2829203e3d204d41585f5349475f444947495453000000be9010007800000069010000050000002d2b4e614e696e6630000000be901000780000005a02000005000000617373657274696f6e206661696c65643a206275662e6c656e2829203e3d206d61786c656e000000be901000780000007e0200000d00000002020202020202020203030101010000000000000000000000000000000000000100000000000000020200000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f666d742f6d6f642e7273b4931000700000001f0700001f00000066616c736574727565000000b493100070000000990a000026000000b493100070000000a20a00001a0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f6d6f642e72735b2e2e2e5d626567696e203c3d20656e642028203c3d2029207768656e20736c6963696e67206060d59410000e000000e394100004000000e794100010000000f7941000010000006279746520696e64657820206973206e6f742061206368617220626f756e646172793b20697420697320696e7369646520202862797465732029206f66206000189510000b000000239510002600000049951000080000005195100006000000f794100001000000206973206f7574206f6620626f756e6473206f6620600000189510000b0000008095100016000000f79410000100000060941000700000009e0100002c0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f756e69636f64652f7072696e7461626c652e72730000c09510007a0000000a0000002b000000c09510007a0000001a00000036000000000601010301040205070702080809020a050b020e04100111021205131c140115021702190d1c051d081f0124016a046b02af03b102bc02cf02d102d40cd509d602d702da01e005e102e704e802ee20f004f802fa04fb010c273b3e4e4f8f9e9e9f7b8b9396a2b2ba86b1060709363d3e56f3d0d1041418363756577faaaeafbd35e01287898e9e040d0e11122931343a4546494a4e4f64658a8c8d8fb6c1c3c4c6cbd65cb6b71b1c07080a0b141736393aa8a9d8d909379091a8070a3b3e66698f92116f5fbfeeef5a62f4fcff53549a9b2e2f2728559da0a1a3a4a7a8adbabcc4060b0c151d3a3f4551a6a7cccda007191a22253e3fe7ecefffc5c604202325262833383a484a4c50535556585a5c5e606365666b73787d7f8aa4aaafb0c0d0aeaf6e6fddde935e227b0503042d036603012f2e80821d03310f1c0424091e052b0544040e2a80aa06240424042808340b4e03340c813709160a08183b45390363080930160521031b05014038044b052f040a070907402027040c0936033a051a07040c07504937330d33072e080a0626031d080280d0521003372c082a161a261c1417094e042409440d19070a0648082709750b423e2a063b050a06510601051003050b5908021d621e48080a80a65e22450b0a060d133a060a06141c2c041780b93c64530c48090a46451b4808530d49070a80b6220e0a06460a1d03474937030e080a0639070a813619073b031d55010f320d839b66750b80c48a4c630d843010160a8f9b0582479ab93a86c68239072a045c06260a460a28051381b03a80c65b654b0439071140050b020e97f80884d6290aa2e781330f011d060e0408818c89046b050d030907108f6080fa0681b44c4709743c80f60a73087015467a140c140c570919808781470385420f1584501f060680d52b053e2101702d031a040281401f113a050181d02a80d62b040181e080f7294c040a04028311444c3d80c23c06010455051b3402810e2c04640c560a80ae381d0d2c040907020e06809a83d80411030d0377045f060c04010f0c0438080a0628082c04023e81540c1d030a0538071c06090780fa840600010305050606020706080709110a1c0b190c1a0d100e0c0f0410031212130916011704180119031a071b011c021f1620032b032d0b2e01300431023201a704a902aa04ab08fa02fb05fd02fe03ff09ad78798b8da23057588b8c901cdd0e0f4b4cfbfc2e2f3f5c5d5fe2848d8e9192a9b1babbc5c6c9cadee4e5ff00041112293134373a3b3d494a5d848e92a9b1b4babbc6cacecfe4e500040d0e11122931343a3b4546494a5e646584919b9dc9cecf0d11293a3b4549575b5c5e5f64658d91a9b4babbc5c9dfe4e5f00d11454964658084b2bcbebfd5d7f0f183858ba4a6bebfc5c7cfdadb4898bdcdc6cecf494e4f57595e5f898e8fb1b6b7bfc1c6c7d71116175b5cf6f7feff806d71dedf0e1f6e6f1c1d5f7d7eaeaf4dbbbc16171e1f46474e4f585a5c5e7e7fb5c5d4d5dcf0f1f572738f747596262e2fa7afb7bfc7cfd7df9a00409798308f1fcecfd2d4ceff4e4f5a5b07080f10272feeef6e6f373d3f42459091536775c8c9d0d1d8d9e7feff00205f2282df048244081b04061181ac0e80ab051f08811c03190801042f043404070301070607110a500f1207550703041c0a090308030703020303030c0405030b06010e15054e071b0757070206170c500443032d03010411060f0c3a041d255f206d046a2580c80582b0031a0682fd03590716091809140c140c6a060a061a0659072b05460a2c040c040103310b2c041a060b0380ac060a062f3180f4083c030f033e0538082b0582ff1118082f112d03210f210f808c04829a160b158894052f053b07020e180980be22740c80d61a81100580e109f29e033709815c1480b80880dd153b030a06380846080c06740b1e035a0459098083181c0a16094c04808a06aba40c170431a10481da26070c050580a61081f50701202a064c04808d0480be031b030f0d617373657274696f6e206661696c65643a206c656e203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e727300001e9c10008000000065010000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702e727300b09c10007f000000c5070000460000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e7273000000409d100085000000a10100002e000000617373657274696f6e206661696c65643a20696478203c2043415041434954591e9c1000800000009502000009000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e686569676874202d20311e9c100080000000ad020000090000001e9c100080000000b102000009000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20656d70747920696e7465726e616c206e6f6465000000589e10003d0000001e9c100080000000460500001f000000617373657274696f6e206661696c65643a2073656c662e686569676874203e20300000001e9c1000800000006002000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e28291e9c1000800000004a070000050000001e9c100080000000c7040000230000001e9c1000800000000a05000024000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e6e6f64652e686569676874202d20310000001e9c100080000000fa03000009000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e202b20636f756e74203c3d204341504143495459001e9c100080000000f70500000d000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e74001e9c100080000000f80500000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64651e9c1000800000002706000016000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e202b20636f756e74203c3d20434150414349545900001e9c100080000000360600000d000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e203e3d20636f756e741e9c100080000000370600000d0000001e9c1000800000006706000016000000617373657274696f6e206661696c65643a206d6174636820747261636b5f656467655f696478207b0a202020204c6566744f7252696768743a3a4c6566742869647829203d3e20696478203c3d206f6c645f6c6566745f6c656e2c0a202020204c6566744f7252696768743a3a52696768742869647829203d3e20696478203c3d2072696768745f6c656e2c0a7d00001e9c100080000000c905000009000000617373657274696f6e206661696c65643a206e65775f6c6566745f6c656e203c3d20434150414349545900001e9c1000800000007c050000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273a0a110008400000058020000300000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730034a21000670000006e0400000f00000034a2100067000000a1040000100000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c69622e7273bca2100060000000a600000016000000bca2100060000000ab000000290000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c6f63616c5f6b65792e727300003ca310006600000021000000110000003ca310006600000023000000100000003ca310006600000028000000120000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300d4a310006f000000be0100001d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730054a410006f000000620300000900000054a410006f000000be0100001d0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6c6f6f6b75702e72730000e4a410005e0000004600000012000000000000000c0000000400000037000000380000005765206172652063616368696e67206120604e6f64654f776e65643a3a56616c75656020666f7220612076616c7565206e6f6465206861736820616e64207468697320636163686564206e6f64652068617320616c7761797320646174612061747461636865643b20716564e4a410005e00000079000000070000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6d6f642e72730000e4a51000620000004900000016000000000000001400000004000000390000003a000000604e6f64654f776e65643a3a56616c7565602063616e206e6f742062652072656163686564206279207573696e67207468652068617368206f662061206e6f64652e20604e6f64654f776e65643a3a56616c756560206973206f6e6c7920636f6e7374727563746564207768656e206c6f6164696e6720612076616c756520696e746f206d656d6f72792c207768696368206e6565647320746f2068617665206120646966666572656e742068617368207468616e20616e79206e6f64653b20716564006ca61000c3000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20000038a710002a000000e4a410005e000000d0020000070000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273007ca710006f000000be0100001d000000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f72656c61795f73746174655f736e617073686f742e727300fda7100066000000f800000024000000fda71000660000000401000023000000fda71000660000000d0100001d000000fda7100066000000010100001e00000006de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e3851cb6f36e027abb2091cfb5110ab5087f06155b3cd9a8c9e5e9a23fd5dc13a5ed52656c61794469737061746368517565756552656d61696e696e67436170616369747963756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a72656c61795f73746174655f736e617073686f744d6573736167696e675374617465536e617073686f742f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6e6f64655f636f6465632e72730052a9100055000000760000002800000052a91000550000007c0000002600000052a9100055000000a3000000280000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273d8a91000600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000048aa10007d000000d107000009000000d8a9100060000000240100001900000050617468206e6f742061737369676e6564000000d8a9100060000000b20000001e00000064696765737444696765737473746174655f726f6f74486173683a3a4f7574707574706172656e745f6861736865787472696e736963735f726f6f746e756d6265724e756d6265725665633c543e72656c61795f706172656e745f6e756d6265724e72656c61795f706172656e745f73746f726167655f726f6f74486d61785f706f765f73697a65753332706172656e745f68656164486561644461746173656e745f6174426c6f636b4e756d62657264617461616c6c6f633a3a7665633a3a5665633c75383e6d7367446f776e776172644d6573736167656d73675f636f756e74746f74616c5f6279746573756d705f6d73675f636f756e74756d705f746f74616c5f627974657368726d705f6f7574676f696e6742547265654d61703c5061726149642c2048726d704368616e6e656c5570646174653e72656d61696e696e675f636f756e7472656d61696e696e675f73697a65646d715f6d71635f6865616472656c61795f636861696e3a3a4861736872656c61795f64697370617463685f71756575655f72656d61696e696e675f636170616369747952656c61794469737061746368517565756552656d61696e696e674361706163697479696e67726573735f6368616e6e656c735665633c285061726149642c20416272696467656448726d704368616e6e656c293e6567726573735f6368616e6e656c73726576657273655f69647866756c6c5f6d657373616765735665633c4d6573736167653e6861736865645f6d657373616765735665633c4d6573736167653a3a436f6d707265737365644d6573736167653e76616c69646174696f6e5f6461746150657273697374656456616c69646174696f6e4461746172656c61795f636861696e5f737461746573705f747269653a3a53746f7261676550726f6f6672656c61795f706172656e745f64657363656e64616e74735665633c52656c61794865616465723e636f6c6c61746f725f706565725f69644f7074696f6e3c417070726f7665645065657249643e646f776e776172645f6d657373616765734162726964676564496e626f756e64446f776e776172644d65737361676573686f72697a6f6e74616c5f6d657373616765734162726964676564496e626f756e6448726d704d657373616765732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727354ae100084000000160200002f000000ffffffffffffffffe8ae1000000000000000000000000000456e7669726f6e6d656e74616c2065787465726e616c6974696573206e6f74207365742e2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f696d706c656d656e746174696f6e2e72730024af10006f0000002c0000002d000000506172656e74206865616420646f65736e2774206d61746368000000a4af10001900000024af10006f000000750100000500000052656c617920706172656e74206e756d62657220646f65736e2774206d61746368000000d8af10002100000024af10006f000000760100000500000052656c617920706172656e742073746f7261676520726f6f7420646f65736e2774206d617463680014b010002700000024af10006f0000007a010000050000005265636f7264657220697320616c77617973207365743b207165640024af10006f000000bf010000370000004e6f206f70656e207472616e73616374696f6e20746861742063616e20626520726f6c6c6564206261636b2e24af10006f000000d80100000a0000004e6f206f70656e207472616e73616374696f6e20746861742063616e20626520636f6d6d69747465642e000024af10006f000000dd0100000a0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6f64652e7273f8b010005c000000fd00000016000000f8b010005c000000e100000016000000000000000400000004000000430000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727384b1100084000000160200002f00000084b1100084000000a1000000240000006c696d697420666f72206465636c617265642068726d70206368616e6e656c206d7573742062652070726573656e743b207165642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f756e696e636c756465645f7365676d656e742e72735cb21000640000009b0000000e000000656e7472792773206265656e20696e736572746564206561726c69657220776974682060617070656e64603b207165645cb2100064000000f10000001200000048726d704368616e6e656c55706461746563756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a756e696e636c756465645f7365676d656e745573656442616e6477696474682f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e0000e5b310000900000061b31000840000004e0000001f00000061b3100084000000480000001700000042547265654d61704b564f7074696f6e544e6f6e65536f6d6548656164657273705f72756e74696d653a3a67656e657269633a3a6865616465724e756d62657248617368496e626f756e6448726d704d657373616765706f6c6b61646f745f636f72655f7072696d697469766573426c6f636b4e756d626572496e626f756e64446f776e776172644d6573736167652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727300a7b4100084000000c6000000270000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702e7273003cb510007f000000fa0000003f0000003cb510007f0000001f0100002e0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e727352656c617920636861696e20626c6f636b206e756d626572206e6565647320746f206d6f6e6f746f6e6963616c6c7920696e637265617365206265747765656e2050617261636861696e20626c6f636b73210031b6100052000000dcb5100055000000ad0000000d0000000000000004000000040000004a0000000000000004000000040000004b0000000000000004000000040000004c0000000000000004000000040000004d00000048617368207461626c65206361706163697479206f766572666c6f77dcb610001c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6861736862726f776e2d302e31352e332f7372632f7261772f6d6f642e727300000000b710006100000025000000280000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000074b710007d000000d107000009000000426f756e646564566563626f756e6465645f636f6c6c656374696f6e733a3a626f756e6465645f766563545350657273697374656456616c69646174696f6e44617461706f6c6b61646f745f7072696d6974697665733a3a7639484e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6f64652e727360b810005c00000089000000120000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300ccb810006f000000be0100001d000000496e626f756e644d657373616765496463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a70617261636861696e5f696e686572656e744162726964676564496e626f756e644d65737361676573436f6c6c656374696f6e4d657373616765426173696350617261636861696e496e686572656e7444617461496e626f756e644d65737361676573446174612f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000e4b910007d000000d1070000090000006e6f7420696d706c656d656e7465642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f747269655f6261636b656e642e72730083ba100060000000c60000000300000083ba1000600000009a000000030000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000004bb1000750000002e020000110000005c00000098000000080000005d0000005e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273a0bb1000600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000010bc10007d000000d107000009000000a0bb100060000000240100001900000050617468206e6f742061737369676e6564000000a0bb100060000000b20000001e0000004f7074696f6e544e6f6e65536f6d65726563697069656e74496464617461616c6c6f633a3a7665633a3a5665633c75383e7570776172645f6d657373616765735665633c5570776172644d6573736167653e686f72697a6f6e74616c5f6d657373616765735665633c4f7574626f756e6448726d704d6573736167653e6e65775f76616c69646174696f6e5f636f64654f7074696f6e3c72656c61795f636861696e3a3a56616c69646174696f6e436f64653e70726f6365737365645f646f776e776172645f6d6573736167657375333268726d705f77617465726d61726b72656c61795f636861696e3a3a426c6f636b4e756d626572686561645f6461746148656164446174614f7574626f756e6448726d704d657373616765706f6c6b61646f745f636f72655f7072696d697469766573496463756d756c75735f7072696d6974697665735f636f7265436f6c6c6174696f6e496e666f2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300002dbe1000750000002e020000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000014bf10007d000000d107000009000000b4be100060000000240100001900000050617468206e6f742061737369676e6564000000b4be100060000000b20000001e00000073656e745f617452656c6179436861696e426c6f636b4e756d6265726d73675f6861736873705f636f72653a3a4832353652656c6179486173682f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e72730012c01000750000002e020000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730098c0100067000000f70000000f00000063756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e744861736865644d6573736167654d6573736167655175657565436861696e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273000053c11000670000006e0400000f00000053c1100067000000a10400001000000053c1100067000000f70000000f00000008000000080000000800000004000000617373657274696f6e206661696c65643a206c656e203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e727300000015c210008000000065010000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e7273000000a8c2100085000000a10100002e000000617373657274696f6e206661696c65643a20696478203c20434150414349545915c21000800000009502000009000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e686569676874202d203115c2100080000000ad0200000900000015c2100080000000b102000009000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20656d70747920696e7465726e616c206e6f6465000000c0c310003d00000015c2100080000000460500001f000000617373657274696f6e206661696c65643a2073656c662e686569676874203e203000000015c21000800000006002000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e282915c21000800000004a0700000500000015c2100080000000c70400002300000015c21000800000000a05000024000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e6e6f64652e686569676874202d203100000015c2100080000000fa03000009000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e202b20636f756e74203c3d2043415041434954590015c2100080000000f70500000d000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e740015c2100080000000f80500000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f646515c21000800000002706000016000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e202b20636f756e74203c3d204341504143495459000015c2100080000000360600000d000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e203e3d20636f756e7415c2100080000000370600000d00000015c21000800000006706000016000000617373657274696f6e206661696c65643a206d6174636820747261636b5f656467655f696478207b0a202020204c6566744f7252696768743a3a4c6566742869647829203d3e20696478203c3d206f6c645f6c6566745f6c656e2c0a202020204c6566744f7252696768743a3a52696768742869647829203d3e20696478203c3d2072696768745f6c656e2c0a7d000015c2100080000000c905000009000000617373657274696f6e206661696c65643a206e65775f6c6566745f6c656e203c3d204341504143495459000015c21000800000007c050000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727308c7100084000000580200003000000008c7100084000000300200002f0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273acc71000600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000001cc810007d000000d107000009000000acc7100060000000240100001900000050617468206e6f742061737369676e6564000000acc7100060000000b20000001e0000005b75383b2033325d4163636f756e74496e6465785b75383b2032305d5665633c75383e4163636f756e74496465787472696e736963735665633c45787472696e7369633e6865616465724865616465725665633c4f706171756545787472696e7369633e73746174655f726f6f74486173683a3a4f7574707574706172656e745f6861736865787472696e736963735f726f6f746469676573744469676573746e756d6265724e756d62657241757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f7773207468655375646f207573657220746f20737065636966792074686520776569676874206f66207468652063616c6c2e546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e008cc910004d000000d9c910004b00000024ca10002c000000010000000000000050ca1000330000005065726d616e656e746c792072656d6f76657320746865207375646f206b65792e2a2a546869732063616e6e6f7420626520756e2d646f6e652e2a2aacca1000210000000100000000000000cdca10001b0000008cc910004d00000041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d6120676976656e206163636f756e742e0008cb1000530000005bcb100010000000010000000000000050ca10003300000041757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f6b65792e008ccb100057000000e3cb10000400000063616c6c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e77686f4163636f756e7449644c6f6f6b75704f663c543e7765696768745765696768746e657753656e646572206d75737420626520746865205375646f206163636f756e742e0000000000000041cc10002000000041205b7375646f5f61735d2850616c6c65743a3a7375646f5f6173292063616c6c206a75737420746f6f6b20706c6163652e00000000000070cc100032000000546865207375646f206b657920686173206265656e20757064617465642e0000b0cc10001e000000546865206b657920776173207065726d616e656e746c792072656d6f7665642ed8cc10002000000041207375646f2063616c6c206a75737420746f6f6b20706c6163652e0000000000cd10001c000000543a3a4163636f756e744964546865206e6577207375646f206b657920286966206f6e652077617320736574292e000034cd1000220000007375646f5f726573756c744469737061746368526573756c7454686520726573756c74206f66207468652063616c6c206d61646520627920746865207375646f20757365722e000079cd10002d0000006f6c644f7074696f6e3c543a3a4163636f756e7449643e546865206f6c64207375646f206b657920286966206f6e65207761732070726576696f75736c7920736574292e00000000c7cd10002d000000543a3a4e6f6e6365457261646174614163636f756e744461746170726f766964657273526566436f756e74636f6e73756d6572736e6f6e63654e6f6e636573756666696369656e7473746f706963735665633c543e706861736550686173656576656e7445636865636b5f76657273696f6e626f6f6c636f64655f68617368543a3a4861736850726f766964652074686520707265696d616765202872756e74696d652062696e617279292060636f64656020666f7220616e2075706772616465207468617420686173206265656e20617574686f72697a65642e49662074686520617574686f72697a6174696f6e20726571756972656420612076657273696f6e20636865636b2c20746869732063616c6c2077696c6c20656e73757265207468652073706563206e616d6572656d61696e7320756e6368616e67656420616e6420746861742074686520737065632076657273696f6e2068617320696e637265617365642e446570656e64696e67206f6e207468652072756e74696d65277320604f6e536574436f64656020636f6e66696775726174696f6e2c20746869732066756e6374696f6e206d6179206469726563746c79206170706c79746865206e65772060636f64656020696e207468652073616d6520626c6f636b206f7220617474656d707420746f207363686564756c652074686520757067726164652e416c6c206f726967696e732061726520616c6c6f7765642e00000086ce1000550000000100000000000000dbce1000520000002dcf10003a000000010000000000000067cf100056000000bdcf100044000000010000000000000001d010001800000053657420736f6d65206974656d73206f662073746f726167652e000064d010001a00000053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e000088d010003e0000004d616b6520736f6d65206f6e2d636861696e2072656d61726b2e43616e20626520657865637574656420627920657665727920606f726967696e602ed0d010001a0000000100000000000000ead01000220000004b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e2a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e64657274686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e00000024d1100044000000010000000000000068d110004e000000b6d110004f0000004d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e0000000000000028d210002900000053657420746865206e65772072756e74696d6520636f64652e0000000000000060d2100019000000417574686f72697a6520616e207570677261646520746f206120676976656e2060636f64655f686173686020666f72207468652072756e74696d652e205468652072756e74696d652063616e20626520737570706c6965646c617465722e546869732063616c6c20726571756972657320526f6f74206f726967696e2e00000088d2100058000000e0d21000060000000100000000000000e6d210001f00000053657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e4e6f746520746861742072756e74696d652075706772616465732077696c6c206e6f742072756e20696620746869732069732063616c6c656420776974682061206e6f742d696e6372656173696e67207370656376657273696f6e21000028d310004600000001000000000000006ed3100054000000c2d31000080000004b696c6c20736f6d65206974656d732066726f6d2073746f726167652e00000000000000ecd310001d0000005741524e494e473a205468697320617574686f72697a657320616e207570677261646520746861742077696c6c2074616b6520706c61636520776974686f757420616e792073616665747920636865636b732c20666f726578616d706c652074686174207468652073706563206e616d652072656d61696e73207468652073616d6520616e642074686174207468652076657273696f6e206e756d62657220696e637265617365732e204e6f747265636f6d6d656e64656420666f72206e6f726d616c207573652e205573652060617574686f72697a655f757067726164656020696e73746561642e00000088d2100058000000e0d2100006000000010000000000000018d41000570000006fd4100056000000c5d410003c0000000100000000000000e6d210001f000000636f64657375626b65797375333272656d61726b6b6579735665633c4b65793e7072656669784b657970616765737536346974656d735665633c4b657956616c75653e546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e000000000087d5100034000000546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d65616e6420746865206e65772072756e74696d652ec8d51000440000000cd6100014000000546865207375626d697474656420636f6465206973206e6f7420617574686f72697a65642e00000030d61000250000005468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6560d61000500000000cd610001400000054686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e000000c0d610004d000000537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e0018d710003f0000004661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e4569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e00000060d710003b00000001000000000000009bd71000420000004e6f207570677261646520617574686f72697a65642e0000f8d710001600000041206d756c74692d626c6f636b206d6967726174696f6e206973206f6e676f696e6720616e642070726576656e7473207468652063757272656e7420636f64652066726f6d206265696e67207265706c616365642e00000018d8100055000000416e20696e76616c696420617574686f72697a65642075706772616465207761732072656a6563746564207768696c6520747279696e6720746f206170706c792069742e0000000078d8100044000000416e206163636f756e7420776173207265617065642e0000c8d8100016000000416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e00000000e8d8100024000000416e20757067726164652077617320617574686f72697a65642e00000000000018d910001a000000603a636f6465602077617320757064617465642e0000000040d910001400000041206e6577206163636f756e742077617320637265617465642e00000000000060d910001a000000416e2065787472696e736963206661696c65642e0000000088d91000140000004f6e206f6e2d636861696e2072656d61726b2068617070656e65642e00000000a8d910001c0000006163636f756e7464697370617463685f696e666f44697370617463684576656e74496e666f73656e64657264697370617463685f6572726f7244697370617463684572726f726572726f7268617368616d6f756e7442616c616e63656964496442546e6f726d616c6f7065726174696f6e616c6d616e6461746f727953657420686f77206d756368206f66207468652072656d61696e696e67206070726f6f665f73697a6560207765696768742073686f756c6420626520636f6e73756d656420627920606f6e5f69646c65602e60312e3060206d65616e73207468617420616c6c2072656d61696e696e67206070726f6f665f73697a65602077696c6c20626520636f6e73756d65642e2054686520506f562062656e63686d61726b696e67726573756c74732074686174206172652075736564206865726520617265206c696b656c7920616e206f7665722d657374696d6174696f6e2e203130302520696e74656e64656420636f6e73756d7074696f6e2077696c6c7468657265666f7265207472616e736c61746520746f206c657373207468616e20313030252061637475616c20636f6e73756d7074696f6e2e4f6e6c792063616c6c61626c6520627920526f6f74206f72206041646d696e4f726967696e602e4cda10005200000001000000000000009eda100052000000f0da10005800000048db100039000000010000000000000081db100027000000496e697469616c697a65207468652070616c6c65742e2053686f756c642062652063616c6c6564206f6e63652c206966206e6f2067656e65736973207374617465207761732070726f76696465642e6063757272656e745f636f756e7460206973207468652063757272656e74206e756d626572206f6620656c656d656e747320696e2060547261736844617461602e20546869732063616e2062652073657420746f604e6f6e6560207768656e207468652070616c6c657420697320666972737420696e697469616c697a65642e4f6e6c792063616c6c61626c6520627920526f6f74206f72206041646d696e4f726967696e602e204120676f6f642064656661756c7420666f7220606e65775f636f756e74602069732060355f303030602e000000e0db10004f00000001000000000000002fdc10005400000083dc10002c0000000100000000000000afdc10005200000053657420686f77206d756368206f662074686520626c6f636b206c656e6774682073686f756c642062652066696c6c656420776974682074726173682064617461206f6e206561636820626c6f636b2e60312e3060206d65616e73207468617420616c6c20626c6f636b2073686f756c642062652066696c6c65642e2049662073657420746f2060312e30602c2073746f726167652070726f6f662073697a652077696c6c20626520636c6f736520746f207a65726f2e0034dd100050000000010000000000000084dd100055000000d9dd100012000000010000000000000081db10002700000053657420686f77206d756368206f66207468652072656d61696e696e6720607265665f74696d6560207765696768742073686f756c6420626520636f6e73756d656420627920606f6e5f69646c65602e1cde100050000000010000000000000081db100027000000496e6372656173652074686520626c6f636b2073697a6520627920696e636c7564696e67207468652073706563696669656420676172626167652062797465732e00000084de1000410000006e65775f636f756e747769746e6573735f636f756e744f7074696f6e3c7533323e636f6d707574654669786564553634626c6f636b5f6c656e677468676172626167655665633c5b75383b2056414c55455f53495a455d3e73746f72616765546865206c696d697420776173206f766572205b6063726174653a3a5245534f555243455f484152445f4c494d4954605d2e000000000000002fdf1000320000005468652070616c6c65742077617320616c726561647920696e697469616c697a65642e53657420607769746e6573735f636f756e746020746f2060536f6d656020746f206279706173732074686973206572726f722e000070df100023000000010000000000000093df100033000000726573657276656466726f7a656e66726565666c6167734578747261466c616773726561736f6e73526561736f6e734c6f636b4964656e746966696572526573657276654964656e74696669657245786163746c7920617320607472616e736665725f616c6c6f775f6465617468602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e746d6179206265207370656369666965642e002ee010005800000086e0100011000000556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e43616e206f6e6c792062652063616c6c656420627920524f4f542e00a8e010002c0000000100000000000000d4e010001b0000005472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e4e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e732074686174616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062657472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f726167656465706f736974732c206574632e2e2e546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e2d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e2d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c20206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f7220207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746f20206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e00000008e1100041000000010000000000000049e11000560000009fe1100058000000f7e11000570000004ee21000510000009fe21000100000000100000000000000afe21000300000000100000000000000dfe210002800000007e31000560000005de3100053000000b0e310005600000006e410002700000053616d6520617320746865205b607472616e736665725f616c6c6f775f6465617468605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f746b696c6c20746865206f726967696e206163636f756e742e393925206f66207468652074696d6520796f752077616e74205b607472616e736665725f616c6c6f775f6465617468605d20696e73746561642e5b607472616e736665725f616c6c6f775f6465617468605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e73666572a8e4100056000000fee4100018000000010000000000000016e510003a000000010000000000000050e510003c0000005365742074686520726567756c61722062616c616e6365206f66206120676976656e206163636f756e742e546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e00bce510002b0000000100000000000000e7e510002c00000041646a7573742074686520746f74616c2069737375616e636520696e20612073617475726174696e67207761792e43616e206f6e6c792062652063616c6c656420627920726f6f7420616e6420616c77617973206e65656473206120706f736974697665206064656c7461602e23204578616d706c6500002ce610002e00000001000000000000005ae610003f000000010000000000000099e61000090000004275726e2074686520737065636966696564206c697175696420667265652062616c616e63652066726f6d20746865206f726967696e206163636f756e742e496620746865206f726967696e2773206163636f756e7420656e64732075702062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c746f6620746865206275726e20616e6420606b6565705f616c697665602069732066616c73652c20746865206163636f756e742077696c6c206265207265617065642e556e6c696b652073656e64696e672066756e647320746f2061205f6275726e5f20616464726573732c207768696368206d6572656c79206d616b6573207468652066756e647320696e61636365737369626c652c7468697320606275726e60206f7065726174696f6e2077696c6c2072656475636520746f74616c2069737375616e63652062792074686520616d6f756e74205f6275726e65645f2e0000cce610003f00000001000000000000000be710004900000054e7100042000000010000000000000096e7100054000000eae71000480000005472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e607472616e736665725f616c6c6f775f6465617468602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e4966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c746f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e006ce81000350000000100000000000000a1e810004d000000eee810004400000032e910002c00000001000000000000005ee910004500000055706772616465206120737065636966696564206163636f756e742e2d20606f726967696e603a204d75737420626520605369676e6564602e2d206077686f603a20546865206163636f756e7420746f2062652075706772616465642e546869732077696c6c20776169766520746865207472616e73616374696f6e20666565206966206174206c6561737420616c6c2062757420313025206f6620746865206163636f756e7473206e656564656420746f62652075706772616465642e20285765206c657420736f6d65206e6f74206861766520746f206265207570677261646564206a75737420696e206f7264657220746f20616c6c6f7720666f7220746865706f73736962696c697479206f6620636875726e292edce910001c0000000100000000000000f8e910001d00000015ea100024000000010000000000000039ea1000550000008eea100050000000deea100016000000646972656374696f6e41646a7573746d656e74446972656374696f6e5665633c543a3a4163636f756e7449643e76616c7565543a3a42616c616e63656b6565705f616c6976656465737464656c7461736f757263656e65775f66726565412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742e0000000091eb1000330000005472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e742e00000000d0eb10002400000042656e6566696369617279206163636f756e74206d757374207072652d65786973742e000000000000ec10002300000042616c616e636520746f6f206c6f7720746f2073656e642076616c75652e000030ec10001e00000056616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f7369742e000000000058ec10003b0000004e756d626572206f6620667265657a65732065786365656420604d6178467265657a6573602e0000a0ec1000260000005468652069737375616e63652063616e6e6f74206265206d6f6469666965642073696e636520697420697320616c72656164792064656163746976617465642ed0ec1000400000004e756d626572206f66206e616d65642072657365727665732065786365656420604d61785265736572766573602e000018ed10002e0000004163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e00000000000050ed10003200000056657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c75652e0090ed1000270000004e756d626572206f6620686f6c647320657863656564206056617269616e74436f756e744f663c543a3a52756e74696d65486f6c64526561736f6e3e602e0000c0ed10003e0000005468652064656c74612063616e6e6f74206265207a65726f2e0000000000000008ee1000190000005472616e73666572207375636365656465642e000000000030ee10001300000054686520607472616e73666572726564602062616c616e636520697320706c61636564206f6e20686f6c642061742074686520606465737460206163636f756e742e00000000000050ee100042000000536f6d652062616c616e6365207761732066726f7a656e2ea0ee100018000000536f6d652062616c616e636520776173207468617765642ec0ee100018000000536f6d6520616d6f756e74207761732073757370656e6465642066726f6d20616e206163636f756e74202869742063616e20626520726573746f726564206c61746572292e000000e0ee100045000000546f74616c2069737375616e636520776173206465637265617365642062792060616d6f756e74602c206372656174696e672061206465627420746f2062652062616c616e6365642e0000000000000030ef100049000000546f74616c2069737375616e63652077617320696e637265617365642062792060616d6f756e74602c206372656174696e6720612063726564697420746f2062652062616c616e6365642e000000000088ef10004b000000536f6d652062616c616e63652077617320706c61636564206f6e20686f6c642ee0ef10002000000048656c642062616c616e636520776173206275726e65642066726f6d20616e206163636f756e742e08f0100028000000536f6d652062616c616e636520776173206c6f636b65642e38f01000180000005468652060546f74616c49737375616e6365602077617320666f72636566756c6c79206368616e6765642e000000000058f010002b000000536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e000090f0100036000000536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742e46696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e000000d0f010005300000023f1100036000000536f6d652062616c616e6365207761732072656c65617365642066726f6d20686f6c642e6cf1100024000000536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e98f1100040000000536f6d6520616d6f756e7420776173206d696e74656420696e746f20616e206163636f756e742e00e0f1100027000000416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c726573756c74696e6720696e20616e206f75747269676874206c6f73732e00000010f210004f0000005ff210001e000000536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e0090f2100047000000536f6d652062616c616e63652077617320756e6c6f636b65642e000000000000e0f210001a00000041207472616e73666572206f662060616d6f756e7460206f6e20686f6c642066726f6d2060736f757263656020746f206064657374602077617320696e697469617465642e00000008f3100045000000536f6d6520637265646974207761732062616c616e63656420616e6420616464656420746f2074686520546f74616c49737375616e63652e58f3100038000000536f6d6520616d6f756e7420776173206275726e65642066726f6d20616e206163636f756e742e0098f3100027000000416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e0000c8f310002e000000536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e00000000000000f410003a000000412062616c616e6365207761732073657420627920726f6f742e00000000000048f410001a000000416e206163636f756e74207761732075706772616465642e70f4100018000000536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e90f4100038000000536f6d65206465627420686173206265656e2064726f707065642066726f6d2074686520546f74616c2049737375616e63652e0000000000d0f4100033000000536f6d6520616d6f756e742077617320726573746f72656420696e746f20616e206163636f756e742e0000000000000010f5100029000000416e20756e65787065637465642f646566656e73697665206576656e7420776173207472696767657265642e0000000048f510002c000000746f667265655f62616c616e6365726561736f6e543a3a52756e74696d65486f6c64526561736f6e556e65787065637465644b696e647472616e7366657272656466726f6d64657374696e6174696f6e5f737461747573537461747573536574207468652063757272656e742074696d652e546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e70686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e5468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062795b60436f6e6669673a3a4d696e696d756d506572696f64605d2e546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f4e6f6e655f2e5468697320646973706174636820636c617373206973205f4d616e6461746f72795f20746f20656e73757265206974206765747320657865637574656420696e2074686520626c6f636b2e20426520617761726574686174206368616e67696e672074686520636f6d706c6578697479206f6620746869732063616c6c20636f756c6420726573756c742065786861757374696e6720746865207265736f757263657320696e2061626c6f636b20746f206578656375746520616e79206f746865722063616c6c732e232320436f6d706c65786974792d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f28312960292d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f283129602062656361757365206f6620604469645570646174653a3a74616b656020696e2020606f6e5f66696e616c697a6560292d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e00ddf51000150000000100000000000000f2f510005500000047f610003500000001000000000000007cf6100050000000ccf610001a0000000100000000000000e6f6100031000000010000000000000017f71000540000006bf7100054000000bff71000210000000100000000000000e0f710000d000000edf710004c00000039f81000550000008ef81000100000009ef81000350000006e6f77543a3a4d6f6d656e7472656c61795f706172656e745f6e756d6265724e6d61785f706f765f73697a65706172656e745f68656164486561644461746172656c61795f706172656e745f73746f726167655f726f6f7448726563697069656e74616c6c6f633a3a7665633a3a5665633c75383e42616c616e63654f663c543e41207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c686173206265656e2070616964206279206077686f602e0000edf910005600000043fa10001700000074697061637475616c5f66656553757365645f62616e6477696474685573656442616e647769647468706172615f686561645f686173684f7074696f6e3c483e636f6e73756d65645f676f5f61686561645f7369676e616c4f7074696f6e3c72656c61795f636861696e3a3a55706772616465476f41686561643e68726d705f77617465726d61726b4f7074696f6e3c72656c61795f636861696e3a3a426c6f636b4e756d6265723e536574207468652063757272656e742076616c69646174696f6e20646174612e546869732073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e7068617365206966207468652063616c6c20776173206e6f7420696e766f6b65642e546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e7460417320612073696465206566666563742c20746869732066756e6374696f6e207570677261646573207468652063757272656e742076616c69646174696f6e2066756e6374696f6e69662074686520617070726f7072696174652074696d652068617320636f6d652e15fb100020000000010000000000000035fb10005000000085fb1000220000000100000000000000a7fb1000340000000100000000000000dbfb10004800000023fc1000210000006d6573736167655570776172644d657373616765426173696350617261636861696e496e686572656e7444617461696e626f756e645f6d657373616765735f64617461496e626f756e644d65737361676573446174614e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642ee2fc10003600000054686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b2e00000000000020fd10004a00000054686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b2e0078fd100047000000417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e672e0000c8fd100046000000506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e2e000000000018fe10005300000054686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f7420697377696c6c696e6720746f2072756e2e78fe100051000000c9fe10000f000000416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e0000e8fe10002e0000005468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e0000000020ff10002c000000446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742e58ff100038000000536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e98ff1000400000005468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e00000000000000e0ff1000510000005468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e0000000040001100340000006d6573736167655f686173684f7074696f6e3c58636d486173683e636f756e74646d715f6865616472656c61795f636861696e3a3a4861736872656c61795f636861696e5f626c6f636b5f6e756d52656c6179436861696e426c6f636b4e756d6265727765696768745f757365642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273000000ee0011006f000000be0100001d00000041207465737420646973706174636861626c6520666f722073657474696e67206120637573746f6d2068656164206461746120696e206076616c69646174655f626c6f636b602e007001110047000000637573746f6d5f6865616465724120646973706174636861626c6520746861742066697273742072656164732074776f2076616c7565732066726f6d2074776f20646966666572656e74206368696c642074726965732c20617373657274732074686579617265207468652065787065637465642076616c75657320286966207468652076616c75657320657869737420696e207468652073746174652920616e64207468656e207772697465732074776f20646966666572656e7476616c75657320746f207468657365206368696c642074726965732ecd0111005700000024021100580000007c0211001c00000052656164732061206b657920616e64207772697465732061206269672076616c756520756e6465722074686973206b65792e41742067656e65736973207468697320606b65796020697320656d70747920616e6420746875732c2077696c6c206f6e6c792062652073657420696e20636f6e73657175656e7420626c6f636b732e000000b0021100320000000100000000000000e20211004f00000053746f726573206028296020696e2060546573744d61706020666f72206b6579732066726f6d203020757020746f20606d61785f6b6579602e0000004c031100390000006d61785f6b657952656d6f766573207468652076616c7565206173736f636961746564207769746820606b6579602066726f6d2060546573744d6170602e000097031100370000006b657973656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e496e666f2c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5375646f2c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5465737450616c6c65742c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c476c7574746f6e2c2052756e74696d653e6672616d655f73797374656d3a3a4572726f723c52756e74696d653e63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4572726f723c52756e74696d653e70616c6c65745f62616c616e6365733a3a4572726f723c52756e74696d653e70616c6c65745f7375646f3a3a4572726f723c52756e74696d653e70616c6c65745f676c7574746f6e3a3a4572726f723c52756e74696d653e6672616d655f73797374656d3a3a4576656e743c52756e74696d653e63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e70616c6c65745f7375646f3a3a4576656e743c52756e74696d653e70616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e70616c6c65745f676c7574746f6e3a3a4576656e740000000000000400000004000000b1000000000000000400000004000000b2000000496e626f756e6448726d704d65737361676573656e745f6174646174612f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6d706163742e72730000000000000000000000000000736869667465642073756666696369656e74206269747320726967687420746f206c656164206f6e6c79206c656164696e67207a65726f733b20716564000000680911003d000000f1081100690000008601000005000000496e626f756e64446f776e776172644d6573736167656d73670000000000000000000000000000000000000000000000f108110069000000b401000005000000426c6f636b73705f72756e74696d653a3a67656e657269633a3a626c6f636b48656164657245787472696e7369634c617a79426c6f636b73705f72756e74696d653a3a67656e657269633a3a6865616465724e756d626572486173684964416d6f756e746672616d655f737570706f72743a3a7472616974733a3a746f6b656e733a3a6d697363496442616c616e63652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300900a110067000000f70000000f000000426f756e646564566563626f756e6465645f636f6c6c656374696f6e733a3a626f756e6465645f76656354532f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f626f756e6465642d636f6c6c656374696f6e732d302e332e322f7372632f626f756e6465645f7665632e72730000340b11006e000000660200000b0000005765616b426f756e646564566563626f756e6465645f636f6c6c656374696f6e733a3a7765616b5f626f756e6465645f76656350657273697374656456616c69646174696f6e44617461706f6c6b61646f745f7072696d6974697665733a3a7639484e4f7574626f756e6448726d704d657373616765706f6c6b61646f745f636f72655f7072696d6974697665730000b30000000c00000004000000b40000004e756d626572206f6620757077617264206d657373616765732073686f756c64206e6f742062652067726561746572207468616e20604d41585f5550574152445f4d4553534147455f4e554d602f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f696d706c656d656e746174696f6e2e7273a10c11006f0000001101000009000000a10c11006f0000000701000020000000416e636573746f7263756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a756e696e636c756465645f7365676d656e745365676d656e74547261636b65722f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f756e696e636c756465645f7365676d656e742e7273000000790d11006400000075010000040000002829436f726553656c6563746f7241626f7274476f4168656164436c61696d51756575654f66667365742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730000001a0e11006f000000be0100001d000000000000000400000004000000b50000004861736865644d6573736167656d73675f68617368000000000000002000000001000000b6000000000000000400000004000000b7000000706172656e745f686173686e756d62657273746174655f726f6f7465787472696e736963735f726f6f74646967657374080000000800000008000000040000007d436865636b4e6f6e5a65726f53656e6465724368617267655472616e73616374696f6e5061796d656e74436865636b4e6f6e6365436865636b576569676874736565642047656e6572617465206120736574206f662073657373696f6e206b6579732077697468206f7074696f6e616c6c79207573696e672074686520676976656e20736565642e20546865206b6579732073686f756c642062652073746f7265642077697468696e20746865206b657973746f7265206578706f736564207669612072756e74696d652065787465726e616c69746965732e205468652073656564206e6565647320746f20626520612076616c69642060757466386020737472696e672e2052657475726e732074686520636f6e636174656e61746564205343414c4520656e636f646564207075626c6963206b6579732e67656e65726174655f73657373696f6e5f6b657973656e636f646564204465636f64652074686520676976656e207075626c69632073657373696f6e206b6579732e2052657475726e7320746865206c697374206f66207075626c696320726177207075626c6963206b657973202b206b657920747970652e6465636f64655f73657373696f6e5f6b6579732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300ea1011007d000000d1070000090000002053657373696f6e206b6579732072756e74696d65206170692e53657373696f6e4b6579736865616465722053746172747320746865206f66662d636861696e207461736b20666f7220676976656e20626c6f636b206865616465722e6f6666636861696e5f776f726b657220546865206f6666636861696e20776f726b6572206170692e4f6666636861696e576f726b65724170696672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f6e6f6e6365546672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f776569676874457863656564656420626c6f636b206c656e677468206c696d69743a20203e2000005a1211001d00000077121100030000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f657874656e73696f6e732f636865636b5f7765696768742e727372756e74696d653a3a73797374656d45787472696e7369632077697468206c656e67746820696e636c75646564202069732067726561746572207468616e20746865206d61782065787472696e73696320fa1211001f0000001913110023000000457863656564656420746865207065722d636c61737320616c6c6f77616e63652e0000004c13110021000000546f74616c20626c6f636b207765696768742069732065786365656465642e00781311001f000000416c6c2077656967687420636865636b656420616464206f766572666c6f772ea0131100200000006672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f6e6f6e5f7a65726f5f73656e6465724163636f756e74496e666f6672616d655f73797374656d4e6f6e63654163636f756e74446174614576656e745265636f726445436f646555706772616465417574686f72697a6174696f6e496d62616c616e63656672616d655f737570706f72743a3a7472616974733a3a746f6b656e733a3a66756e6769626c653a3a696d62616c616e6365424f6e44726f704f70706f736974654f6e44726f703078436f727275707465642073746174652061742060603a20009414110014000000a8141100030000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f756e6861736865642e727372756e74696d653a3a73746f726167656672616d655f737570706f72743a3a73746f726167653a3a756e6861736865645065724469737061746368436c6173736672616d655f737570706f72743a3a646973706174636865787472696e736963204170706c792074686520676976656e2065787472696e7369632e2052657475726e7320616e20696e636c7573696f6e206f7574636f6d652077686963682073706563696669657320696620746869732065787472696e73696320697320696e636c7564656420696e207468697320626c6f636b206f72206e6f742e6170706c795f65787472696e7369632046696e697368207468652063757272656e7420626c6f636b2e66696e616c697a655f626c6f636b696e686572656e742047656e657261746520696e686572656e742065787472696e736963732e2054686520696e686572656e7420646174612077696c6c20766172792066726f6d20636861696e20746f20636861696e2e696e686572656e745f65787472696e73696373626c6f636b6461746120436865636b20746861742074686520696e686572656e7473206172652076616c69642e2054686520696e686572656e7420646174612077696c6c20766172792066726f6d20636861696e20746f20636861696e2e636865636b5f696e686572656e7473205468652060426c6f636b4275696c646572602061706920747261697420746861742070726f7669646573207468652072657175697265642066756e6374696f6e616c69747920666f72206275696c64696e67206120626c6f636b2e426c6f636b4275696c6465722052657475726e732074686520736c6f74206475726174696f6e20666f7220417572612e2043757272656e746c792c206f6e6c79207468652076616c75652070726f7669646564206279207468697320747970652061742067656e657369732077696c6c20626520757365642e736c6f745f6475726174696f6e2052657475726e207468652063757272656e7420736574206f6620617574686f7269746965732e617574686f72697469657320415049206e656365737361727920666f7220626c6f636b20617574686f7273686970207769746820617572612e417572614170692f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273004818110067000000f70000000f0000006a736f6e204275696c64206052756e74696d6547656e65736973436f6e666967602066726f6d2061204a534f4e20626c6f62206e6f74207573696e6720616e792064656661756c747320616e642073746f726520697420696e207468652073746f726167652e20496e207468652063617365206f662061204652414d452d62617365642072756e74696d652c20746869732066756e6374696f6e20646573657269616c697a6573207468652066756c6c206052756e74696d6547656e65736973436f6e666967602066726f6d2074686520676976656e204a534f4e20626c6f6220616e64207075747320697420696e746f207468652073746f726167652e204966207468652070726f7669646564204a534f4e20626c6f6220697320696e636f7272656374206f7220696e636f6d706c657465206f722074686520646573657269616c697a6174696f6e206661696c732c20616e206572726f722069732072657475726e65642e20506c65617365206e6f746520746861742070726f7669646564204a534f4e20626c6f62206d75737420636f6e7461696e20616c6c206052756e74696d6547656e65736973436f6e66696760206669656c64732c206e6f2064656661756c74732077696c6c20626520757365642e6275696c645f737461746569642052657475726e732061204a534f4e20626c6f6220726570726573656e746174696f6e206f6620746865206275696c742d696e206052756e74696d6547656e65736973436f6e66696760206964656e74696669656420627920606964602e204966206069646020697320604e6f6e6560207468652066756e6374696f6e2073686f756c642072657475726e204a534f4e20626c6f6220726570726573656e746174696f6e206f66207468652064656661756c74206052756e74696d6547656e65736973436f6e6669676020737472756374206f66207468652072756e74696d652e20496d706c656d656e746174696f6e206d7573742070726f766964652064656661756c74206052756e74696d6547656e65736973436f6e666967602e204f74686572776973652066756e6374696f6e2072657475726e732061204a534f4e20726570726573656e746174696f6e206f6620746865206275696c742d696e2c206e616d6564206052756e74696d6547656e65736973436f6e6669676020707265736574206964656e74696669656420627920606964602c206f7220604e6f6e656020696620737563682070726573657420646f6573206e6f742065786973742e2052657475726e656420605665633c75383e6020636f6e7461696e73206279746573206f66204a534f4e20626c6f62202870617463682920776869636820636f6d7072697365732061206c697374206f662028706f74656e7469616c6c79206e657374656429206b65792d76616c756520706169727320746861742061726520696e74656e64656420666f7220637573746f6d697a696e67207468652064656661756c742072756e74696d652067656e6573697320636f6e6669672e20546865207061746368207368616c6c206265206d657267656420287266633733383629207769746820746865204a534f4e20726570726573656e746174696f6e206f66207468652064656661756c74206052756e74696d6547656e65736973436f6e6669676020746f20637265617465206120636f6d70726568656e736976652067656e6573697320636f6e66696720746861742063616e206265207573656420696e20606275696c645f737461746560206d6574686f642e6765745f7072657365742052657475726e732061206c697374206f66206964656e7469666965727320666f7220617661696c61626c65206275696c74696e206052756e74696d6547656e65736973436f6e6669676020707265736574732e2054686520707265736574732066726f6d20746865206c6973742063616e20626520717565726965642077697468205b6047656e657369734275696c6465723a3a6765745f707265736574605d206d6574686f642e204966206e6f206e616d65642070726573657473206172652070726f7669646564206279207468652072756e74696d6520746865206c69737420697320656d7074792e7072657365745f6e616d65732041504920746f20696e7465726163742077697468206052756e74696d6547656e65736973436f6e6669676020666f72207468652072756e74696d6547656e657369734275696c646572736f757263657478626c6f636b5f686173682056616c696461746520746865207472616e73616374696f6e2e2054686973206d6574686f6420697320696e766f6b656420627920746865207472616e73616374696f6e20706f6f6c20746f206c6561726e2064657461696c732061626f757420676976656e207472616e73616374696f6e2e2054686520696d706c656d656e746174696f6e2073686f756c64206d616b65207375726520746f207665726966792074686520636f72726563746e657373206f6620746865207472616e73616374696f6e20616761696e73742063757272656e742073746174652e2054686520676976656e2060626c6f636b5f686173686020636f72726573706f6e647320746f207468652068617368206f662074686520626c6f636b207468617420697320757365642061732063757272656e742073746174652e204e6f7465207468617420746869732063616c6c206d617920626520706572666f726d65642062792074686520706f6f6c206d756c7469706c652074696d657320616e64207472616e73616374696f6e73206d6967687420626520766572696669656420696e20616e7920706f737369626c65206f726465722e76616c69646174655f7472616e73616374696f6e2054686520605461676765645472616e73616374696f6e5175657565602061706920747261697420666f7220696e746572666572696e67207769746820746865207472616e73616374696f6e2071756575652e5461676765645472616e73616374696f6e5175657565696e636c756465645f68617368736c6f742057686574686572206974206973206c6567616c20746f20657874656e642074686520636861696e2c20617373756d696e672074686520676976656e20626c6f636b20697320746865206d6f737420726563656e746c7920696e636c75646564206f6e652061732d6f66207468652072656c617920706172656e7420746861742077696c6c206265206275696c7420616761696e73742c20616e642074686520676976656e2072656c617920636861696e20736c6f742e20546869732073686f756c6420626520636f6e73697374656e74207769746820746865206c6f676963207468652072756e74696d652075736573207768656e2076616c69646174696e6720626c6f636b7320746f2061766f6964206973737565732e205768656e2074686520756e696e636c75646564207365676d656e7420697320656d7074792c20692e652e2060696e636c756465645f68617368203d3d206174602c2077686572652061742069732074686520626c6f636b2077686f736520737461746520776520617265207175657279696e6720616761696e73742c2074686973206d75737420616c776179732072657475726e20607472756560206173206c6f6e672061732074686520736c6f74206973206d6f726520726563656e74207468616e2074686520696e636c7564656420626c6f636b20697473656c662e63616e5f6275696c645f75706f6e20546869732072756e74696d6520415049206973207573656420746f20696e666f726d20706f74656e7469616c20626c6f636b20617574686f7273207768657468657220746865792077696c6c20686176652074686520726967687420746f20617574686f72206174206120736c6f742c20617373756d696e672074686579206861766520636c61696d65642074686520736c6f742e20496e20706172746963756c61722c20746869732041504920616c6c6f777320417572612d62617365642070617261636861696e7320746f20726567756c6174652074686569722022756e696e636c75646564207365676d656e74222c207768696368206973207468652073656374696f6e206f66207468652068656164206f662074686520636861696e20776869636820686173206e6f7420796574206265656e206d61646520617661696c61626c6520696e207468652072656c617920636861696e2e205768656e2074686520756e696e636c75646564207365676d656e742069732073686f72742c204175726120636861696e732077696c6c20616c6c6f7720617574686f727320746f20637265617465206d756c7469706c6520626c6f636b732070657220736c6f7420696e206f7264657220746f206275696c642061206261636b6c6f672e205768656e206974206973207361747572617465642c2074686973204150492077696c6c206c696d69742074686520616d6f756e74206f6620626c6f636b7320746861742063616e20626520637265617465642e204368616e6765733a202d2056657273696f6e20323a2055706461746520746f206063616e5f6275696c645f75706f6e6020746f2074616b6520612072656c617920636861696e2060536c6f746020696e7374656164206f6620612070617261636861696e2060536c6f74602e41757261556e696e636c756465645365676d656e7441706920476574207468652074617267657420626c6f636b207261746520666f7220746869732070617261636861696e2e2052657475726e732074686520746172676574206e756d626572206f6620626c6f636b73207065722072656c617920636861696e20736c6f742e7461726765745f626c6f636b5f726174652041504920666f722070617261636861696e2074617267657420626c6f636b20726174652e20546869732072756e74696d652041504920616c6c6f7773207468652070617261636861696e2072756e74696d6520746f20636f6d6d756e6963617465207468652074617267657420626c6f636b207261746520746f20746865206e6f646520736964652e205468652074617267657420626c6f636b207261746520697320616c776179732076616c696420666f7220746865206e6578742072656c617920636861696e20736c6f742e205468652072756e74696d652063616e206e6f7420656e666f72636520746869732074617267657420626c6f636b20726174652e204974206f6e6c7920616374732061732061206d6178696d756d2c20627574206e6f74206d6f72652e20496e2074686520656e6420697420646570656e6473206f6e2074686520636f6c6c61746f7220686f77206d616e7920626c6f636b732077696c6c2062652070726f64756365642e20496620746865726520617265206e6f20636f72657320617661696c61626c65206f722074686520636f6c6c61746f72206973206f66666c696e652c206e6f20626c6f636b7320617420616c6c2077696c6c2062652070726f64756365642e546172676574426c6f636b52617465205265747269657665207468652070617261636861696e206964207573656420666f722072756e74696d652e70617261636861696e5f69642052756e74696d6520617069207573656420746f206163636573732067656e6572616c20696e666f2061626f757420612070617261636861696e2072756e74696d652e47657450617261636861696e496e666f20436f6c6c65637420696e666f726d6174696f6e2061626f7574206120636f6c6c6174696f6e2e2054686520676976656e2060686561646572602069732074686520686561646572206f6620746865206275696c7420626c6f636b20666f7220746861742077652061726520636f6c6c656374696e672074686520636f6c6c6174696f6e20696e666f20666f722e636f6c6c6563745f636f6c6c6174696f6e5f696e666f2052756e74696d652061706920746f20636f6c6c65637420696e666f726d6174696f6e2061626f7574206120636f6c6c6174696f6e2e2056657273696f6e20686973746f72793a202d2056657273696f6e20323a204368616e676564205b6053656c663a3a636f6c6c6563745f636f6c6c6174696f6e5f696e666f605d207369676e6174757265202d2056657273696f6e20333a205369676e616c7320746f20746865206e6f646520746f207573652076657273696f6e2031206f66205b6050617261636861696e426c6f636b44617461605d2e436f6c6c656374436f6c6c6174696f6e496e666f2046657463682074686520736c6f74206f666673657420746861742069732065787065637465642066726f6d207468652072656c617920636861696e2e72656c61795f706172656e745f6f66667365742041504920746f2074656c6c20746865206e6f6465207369646520686f77207468652072656c617920706172656e742073686f756c642062652063686f73656e2e2041206c6172676572206f666673657420696e646963617465732074686174207468652072656c617920706172656e742073686f756c64206e6f742062652074686520746970206f66207468652072656c617920636861696e2c2062757420604e6020626c6f636b7320626568696e6420746865207469702e2054686973206f6666736574206973207468656e20656e666f72636564206279207468652072756e74696d652e52656c6179506172656e744f666673657441706970616c6c65745f7472616e73616374696f6e5f7061796d656e742f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7472616e73616374696f6e2d7061796d656e742f7372632f6c69622e7273626f756e6465645f776569676874206973206e6f6e2d7a65726f3b207165640000000a2c1100580000007a030000210000006163636f756e74204765742063757272656e74206163636f756e74206e6f6e6365206f6620676976656e20604163636f756e744964602e6163636f756e745f6e6f6e6365205468652041504920746f207175657279206163636f756e74206e6f6e63652e4163636f756e744e6f6e63654170692f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273072d1100750000002e020000110000005965734e6f4572726f722052657475726e73207468652076657273696f6e206f66207468652072756e74696d652e76657273696f6e20457865637574652074686520676976656e20626c6f636b2e657865637574655f626c6f636b20496e697469616c697a65206120626c6f636b20776974682074686520676976656e2068656164657220616e642072657475726e207468652072756e74696d6520657865637574697665206d6f64652e696e697469616c697a655f626c6f636b205468652060436f7265602072756e74696d65206170692074686174206576657279205375627374726174652072756e74696d65206e6565647320746f20696d706c656d656e742e436f72652052657475726e7320746865206d65746164617461206f6620612072756e74696d652e6d657461646174612052657475726e7320746865206d65746164617461206174206120676976656e2076657273696f6e2e2049662074686520676976656e206076657273696f6e602069736e277420737570706f727465642c20746869732077696c6c2072657475726e20604e6f6e65602e20557365205b6053656c663a3a6d657461646174615f76657273696f6e73605d20746f2066696e64206f75742061626f757420737570706f72746564206d657461646174612076657273696f6e206f66207468652072756e74696d652e6d657461646174615f61745f76657273696f6e2052657475726e732074686520737570706f72746564206d657461646174612076657273696f6e732e20546869732063616e206265207573656420746f2063616c6c20606d657461646174615f61745f76657273696f6e602e6d657461646174615f76657273696f6e732054686520604d65746164617461602061706920747261697420746861742072657475726e73206d6574616461746120666f72207468652072756e74696d652e4d657461646174612f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f696f2f636f72652e72730000004a30110063000000470000000e00000043616c6c5061796d656e744675747572655374616c6542616450726f6f66416e6369656e744269727468426c6f636b45786861757374735265736f7572636573437573746f6d4261644d616e6461746f72794d616e6461746f727956616c69646174696f6e4261645369676e6572496e64657465726d696e617465496d706c69636974556e6b6e6f776e4f726967696e43616e6e6f744c6f6f6b75704e6f556e7369676e656456616c696461746f722b746573745f72756e74696d655f757067726164655f6b65792b2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f6c69622e727300008931110049000000e2010000090000006175726189311100490000007b0000000100000063756d756c75735f746573745f72756e74696d6563756d756c75732d746573742d70617261636861696e0000df6acb689907609b05000000d7bdd8a272ca0d650200000004e70521a0d3d2f801000000dd718d5cc53262d40100000037e397fc7c91f5e402000000bc9d89904f5b923f0100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b010000007dc23ff6bf0f15ca01000000ea93e3f16f3d696203000000fbc577b9d747efd601000000a2ddb6a58477bf6301000000ad694c0c2537478a01000000000000800c32110016000000000000800c3211001600000000000080243211000f00000001000000020000000100000001000000010000002052657475726e7320746865206c6173742074696d657374616d70206f6620612072756e74696d652e6765745f6c6173745f74696d657374616d704765744c61737454696d657374616d7000000000000000000001000000da000000db000000dc000000000000000000000001000000da000000dc000000dc0000005765696768745265636c61696d4175726145787441757261476c7574746f6e5465737450616c6c65745472616e73616374696f6e5061796d656e745375646f42616c616e63657350617261636861696e496e666f54696d657374616d7050617261636861696e53797374656d53797374656d0000893111004900000095010000010000007375646f3a6301020304636865636b5f65787472696e7369637328293a20556e61626c6520746f206465636f64652065787472696e7369631a3411002e00000052756e74696d65486f6c64526561736f6e73797374656d70617261636861696e53797374656d70617261636861696e496e666f62616c616e6365737472616e73616374696f6e5061796d656e747465737450616c6c6574676c7574746f6e617572614578740000006134110006000000673411000f000000763411000d000000833411000800000010341100040000008b341100120000009d3411000a000000a734110007000000e431110004000000ae341100070000007374727563742052756e74696d6547656e65736973436f6e66696752756e74696d6543616c6c52756e74696d654572726f7252756e74696d654576656e7452756e74696d65000000310000003100000051000000310000003100000031000000520000003100000031000000310000003100000011000000310000001100000031000000310000002100000011000000110000003100000031000000310000003100000021000000310000003100000051000000510000003100000002000000030000000300000003000000080000000300000003000000030000000400000004000000040000000300000003000000030000000300000004000000020000000800000008000000080000000400000053746f726167655765696768745265636c61696d3c7761736d2d73747269707065643ee29c85206e6f206d6967726174696f6e20666f72203b361100150000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f617572612f7372632f6c69622e727372756e74696d653a3a6672616d652d737570706f727470616c6c65745f617572613a3a70616c6c65742f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7375646f2f7372632f6c69622e727370616c6c65745f7375646f3a3a70616c6c65740000ff00000018000000040000000001000000000000040000000400000001010000496e626f756e644d6573736167657344617461646f776e776172645f6d65737361676573686f72697a6f6e74616c5f6d65737361676573417574686f72697a6543616c6c2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f756e636865636b65645f65787472696e7369632e727300000000000000040000000400000002010000000000000400000004000000030100000000000004000000040000000401000048726d704d657373616765734f766572666c6f77726563697069656e746d657373616765735f72656d61696e696e676d657373616765735f7375626d697474656448726d7042797465734f766572666c6f7762797465735f72656d61696e696e6762797465735f7375626d6974746564556d704d657373616765734f766572666c6f77556d7042797465734f766572666c6f77496e76616c696448726d7057617465726d61726b7375626d69747465646c617465737455706772616465476f4168656164416c726561647950726f636573736564f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e205468652070616c6c657420686173206e6f20646566696e65642073746f726167652076657273696f6e2c20736f20746865206f6e2d636861696e2076657273696f6e206973206265696e6720696e697469616c697a656420746f202e0000fc381100100000000c3911007500000081391100010000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70617261636861696e732f70616c6c6574732f70617261636861696e2d696e666f2f7372632f6c69622e727373746167696e675f70617261636861696e5f696e666f3a3a70616c6c657405010000340000000400000006010000070100000c0000000400000008010000090100000c000000040000000a0100000000000004000000040000000b010000426173696350617261636861696e496e686572656e744461746176616c69646174696f6e5f6461746172656c61795f636861696e5f737461746572656c61795f706172656e745f64657363656e64616e7473636f6c6c61746f725f706565725f6964737973693133333873797369313333376e6578745f6b65792072657475726e65642061206b65792077697468206e6f2076616c75652061742000ca3a1100290000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f6d6f642e72736672616d655f737570706f72743a3a73746f72616765286b65792c2076616c756529206661696c656420746f206465636f6465206174203a20000000663b110021000000873b110002000000fc3a11005400000057040000350000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7472616e73616374696f6e2d7061796d656e742f7372632f6c69622e727370616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a70616c6c657400005836110049000000740100001800000054696d657374616d7020736c6f74206d757374206d61746368206043757272656e74536c6f74602e2054686973206c696b656c79206d65616e7320746861742074686520636f6e6669677572656420626c6f636b2074696d6520696e20746865206e6f646520616e642f6f722072657374206f66207468652072756e74696d65206973206e6f7420636f6d70617469626c652077697468204175726127732060536c6f744475726174696f6e60000000383c1100ad0000005836110049000000a1010000030000000000000008000000040000000c010000496e697469616c20617574686f7269747920736574206d757374206265206c657373207468616e20543a3a4d6178417574686f7269746965730000005836110049000000de00000006000000417574686f7269746965732061726520616c726561647920696e697469616c697a6564215c3d1100240000005836110049000000dc00000004000000205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e20546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e205468652063757272656e7420617574686f72697479207365742e2054686520736c6f74206475726174696f6e20417572612073686f756c642072756e20776974682c2065787072657373656420696e206d696c6c697365636f6e64732e20546865206566666563746976652076616c7565206f66207468697320747970652073686f756c64206e6f74206368616e6765207768696c652074686520636861696e2069732072756e6e696e672e20466f72206261636b776172647320636f6d7061746962696c6974792065697468657220757365205b604d696e696d756d506572696f6454696d657354776f605d206f72206120636f6e73742e536c6f744475726174696f6e20546865206964656e746966696572207479706520666f7220616e20617574686f726974792e417574686f726974794964617574686f72697469657300143f11000b0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f6c69622e72732054686520604163636f756e74496460206f6620746865207375646f206b65792e2041207375646f2d61626c652063616c6c2e52756e74696d6543616c6c6b6579b13f11000300000043616c6c3a3a7375646f00000000000004000000040000000d01000063616c6c43616c6c3a3a7375646f5f756e636865636b65645f776569676874000000000004000000040000000e01000077656967687443616c6c3a3a7365745f6b657900000000000400000004000000eb0000006e657743616c6c3a3a7375646f5f617377686f43616c6c3a3a72656d6f76655f6b657943616c6c54436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e0054401100430000007375646f7375646f5f756e636865636b65645f7765696768747365745f6b65797375646f5f617372656d6f76655f6b65794572726f724572726f7220666f7220746865205375646f2070616c6c65742ed64011001a000000526571756972655375646f4576656e7454686520604576656e746020656e756d206f6620746869732070616c6c657400084111001f00000053756469644b65794368616e6765644b657952656d6f7665645375646f4173446f6e652f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e727363756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a70616c6c6574436f756c64206e6f742066696e6420616e2041755261207365616c20646967657374212f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f617572612d6578742f7372632f6c69622e727300f24111004d0000009400000013000000436f756c64206e6f742066696e64204175526120617574686f7220696e64657821000000f24111004d0000009900000004000000496e76616c6964204175526120617574686f7220696e6465782020666f7220617574686f7269746965733a20844211001a0000009e42110012000000f24111004d000000a000000005000000496e76616c69642041755261207365616c000000d042110011000000f24111004d000000a400000004000000426172655369676e6564282c2029000000431100070000000743110002000000094311000100000047656e6572616c282443110008000000074311000200000009431100010000006672616d655f73797374656d3a3a657874656e73696f6e733a3a617574686f72697a655f63616c6c4c6f676963206572726f723a20556e657870656374656420756e646572666c6f7720696e207265647563696e6720636f6e73756d657200006c4311003600000072756e74696d653a3a73797374656d6672616d655f73797374656d4c6f676963206572726f723a20556e657870656374656420756e646572666c6f7720696e207265647563696e672070726f7669646572000000c7431100360000004c6f676963206572726f723a204163636f756e7420616c72656164792064656164207768656e207265647563696e672070726f76696465720844110038000000020020646574656374656420696e207468652072756e74696d652e20496e697469616c697a696e6720746865206f6e2d636861696e2073746f726167652076657273696f6e20746f206d61746368207468652073746f726167652076657273696f6e20646566696e656420696e207468652070616c6c65743a200000fc381100100000004a441100780000000f0100000c0000000400000010010000000000000400000004000000110100004162726964676564496e626f756e644d65737361676573436f6c6c656374696f6e66756c6c5f6d657373616765736861736865645f6d65737361676573000000120100000c0000000400000013010000000000000400000004000000140100002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f67656e657261746f722f6d61702e72730000544511005e0000004400000017000000556e636865636b656445787472696e736963000015010000a00000001000000016010000707265616d626c651701000090000000100000001801000066756e6374696f6e73705f72756e74696d653a3a67656e657269633a3a756e636865636b65645f65787472696e736963416464726573735369676e617475726545787472610000008c371100690000004c020000140000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273005846110067000000f70000000f0000004576656e74546f7069637352657365727665732f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f74797065732f6d61702e7273000000e34611005a000000010200000b000000546573744d61704c6f636b7345787472696e73696344617461467265657a65735472617368446174614163636f756e74426c6f636b48617368486f6c64737374727563742047656e65736973436f6e66696750726f6f66207265636f7264696e6720656e61626c656420647572696e6720707265706172652c206e6f772064697361626c65642e20546869732073686f756c64206e6f742068617070656e2e5265636c61696d696e672073746f72616765207765696768742e2062656e63686d61726b65643a202c0a09090909636f6e73756d65643a2000ef4711002800000017481100100000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f7765696768742d7265636c61696d2f7372632f6c69622e7273003848110053000000e30000000400000072756e74696d653a3a73746f726167655f7265636c61696d5f70616c6c657463756d756c75735f70616c6c65745f7765696768745f7265636c61696d42656e63686d61726b65642073746f726167652077656967687420736d616c6c6572207468616e20636f6e73756d65642073746f72616765207765696768742e2062656e63686d61726b65643a2020636f6e73756d65643a20000000d84811004e000000264911000b0000003848110053000000dd0000000400000053746f726167655765696768745265636c61696d3848110053000000890000000900000070617261636861696e496400784911000b0000006d756c7469706c69657200008c4911000a000000536c6f74206d757374206e6f742064656372656173650000a0491100160000005836110049000000850000000600000058361100490000008d0000001c0000002054686520604f6e4368617267655472616e73616374696f6e602073746f726573207468652077697468647261776e2074782066656520686572652e20557365206077697468647261775f74786665656020616e64206072656d61696e696e675f74786665656020746f206163636573732066726f6d206f757473696465207468652063726174652e204120666565206d756c7469706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f737420746865697220607072696f726974796020546869732076616c7565206973206d756c7469706c69656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c6174657220616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c602065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e20606060727573742c69676e6f7265202f2f20466f7220604e6f726d616c60206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b202f2f20466f7220604f7065726174696f6e616c60206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723b206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b20606060204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970602073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d70206261736564206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c60207472616e73616374696f6e732e4f7065726174696f6e616c4665654d756c7469706c6965725472616e73616374696f6e46656550616964546865206054785061796d656e7443726564697460207761732073746f726564206265747765656e20626c6f636b732e20546869732069732061206275672e094e11003f00000072756e74696d653a3a74787061796d656e744d697373696e67207265717569726564207365745f76616c69646174696f6e5f6461746120696e686572656e742e205468697320696e686572656e74206d7573742062650a0909090970726573656e7420696e20657665727920626c6f636b2e2054686973206572726f72207479706963616c6c79206f6363757273207768656e20746865207365745f76616c69646174696f6e5f646174610a09090909657865637574696f6e206661696c656420616e64207761732072656a65637465642062792074686520626c6f636b206275696c6465722e20436865636b206561726c696572206c6f6720656e74726965730a09090909666f7220746865207370656369666963206361757365206f6620746865206661696c7572652e534111005500000017010000290000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000008c4f11007d000000d10700000900000000000000100000000400000019010000756e696e636c75646564207365676d656e74206c696d69747320657863656564656400005341110055000000bf010000070000004f6e6c792020697320737570706f727465642061732076616c696420636c61696d207175657565206f666673657400006050110005000000655011002900000053411100550000001e020000060000006043756d756c75734469676573744974656d3a3a436f7265496e666f60206d757374206578697374206174206d6178206f6e63652e000000b05011003500000053411100550000002702000006000000532f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f70617261636861696e5f696e686572656e742e727300000001511100640000008a000000210000005b5d20416476616e63656d656e742072756c652076696f6c6174696f6e3a206d616e6461746f7279206d65737361676573206d697373696e67000000785111000100000079511100380000000151110064000000b700000003000000205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e20557077617264207369676e616c73207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e7420746f207468652072656c617920636861696e2e20546869732077696c6c20626520636c656172656420696e20606f6e5f66696e616c697a656020666f72206561636820626c6f636b2e20546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e20546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d657373616765732063617272696564206279207468652073797374656d20696e686572656e742e2054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e20617320706572207468652072656c617920706172656e742e2054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a656020666f722065616368206e657720626c6f636b2e205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e20496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e20417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b73705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f44455d2077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e20536565206050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f646174616020666f72206d6f726520696e666f726d6174696f6e2e2054686520666163746f7220746f206d756c7469706c792074686520626173652064656c69766572792066656520627920666f7220554d502e20546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e20546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e636520627920746865205b6050616c6c65743a3a7365745f76616c69646174696f6e5f64617461605d20696e686572656e742e2048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e20546865206c6173742070726f63657373656420646f776e77617264206d6573736167652e205765206e65656420746f206b65657020747261636b206f66207468697320746f2066696c74657220746865206d6573736167657320746861742068617665206265656e20616c72656164792070726f6365737365642e205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e20546865206c6173742070726f6365737365642048524d50206d6573736167652e205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e2054686973206973207570646174656420696e20606f6e5f66696e616c697a65602e204f7074696f6e616c207570677261646520676f2d6168656164207369676e616c2066726f6d207468652072656c61792d636861696e2e20546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468652072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c7565206973207365742061667465722074686520696e686572656e742e2053746f72616765206669656c642074686174206b6565707320747261636b206f662062616e64776964746820757365642062792074686520756e696e636c75646564207365676d656e7420616c6f6e67207769746820746865206c61746573742048524d502077617465726d61726b2e205573656420666f72206c696d6974696e672074686520616363657074616e6365206f66206e657720626c6f636b732077697468207265737065637420746f2072656c617920636861696e20636f6e73747261696e74732e20557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e7420746f207468652072656c617920636861696e2e20546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e20416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e20496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365642063616e6469646174652077696c6c20626520696e76616c69642e20546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f7220616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e2057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f204c617465737420696e636c7564656420626c6f636b2064657363656e64616e7473207468652072756e74696d652061636365707465642e20496e206f7468657220776f7264732c2074686573652061726520616e636573746f7273206f66207468652063757272656e746c7920657865637574696e6720626c6f636b2077686963682068617665206e6f74206265656e20696e636c7564656420696e20746865206f627365727665642072656c61792d636861696e2073746174652e20546865207365676d656e74206c656e677468206973206c696d69746564206279207468652063617061636974792072657475726e65642066726f6d20746865205b60436f6e73656e737573486f6f6b605d20636f6e6669677572656420696e207468652070616c6c65742e2048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e2056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e6420636f6e73657175656e746c79207468652072656c61792d636861696e2e20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c726561647920736574207468652076616c75652e2052657475726e73207468652070617261636861696e204944207765206172652072756e6e696e6720776974682e53656c6650617261496443616c6c3a3a7365745f76616c69646174696f6e5f646174610000000004000000040000001a010000646174610000000004000000040000001b010000696e626f756e645f6d657373616765735f6461746143616c6c3a3a7375646f5f73656e645f7570776172645f6d65737361676500000000000400000004000000b20000006d6573736167657365745f76616c69646174696f6e5f646174617375646f5f73656e645f7570776172645f6d65737361676554686520604572726f726020656e756d206f6620746869732070616c6c65742e00000000000062611100200000004f7665726c617070696e67557067726164657350726f686962697465644279506f6c6b61646f74546f6f42696756616c69646174696f6e446174614e6f74417661696c61626c65486f7374436f6e66696775726174696f6e4e6f74417661696c61626c654e6f745363686564756c656456616c69646174696f6e46756e6374696f6e53746f72656456616c69646174696f6e46756e6374696f6e4170706c69656456616c69646174696f6e46756e6374696f6e446973636172646564446f776e776172644d657373616765735265636569766564446f776e776172644d6573736167657350726f6365737365645570776172644d65737361676553656e74000000000000010000000000000048524d502068656164206d69736d6174636800009c621100120000005341110055000000cb040000040000005b48524d505d204d65737361676573206f726465722076696f6c6174696f6e00c86211001f0000005341110055000000da040000040000004f6e65206f6620746865206d65737361676573207375626d69747465642062792074686520636f6c6c61746f72207761732073656e742066726f6d20612073656e646572202829207468617420646f65736e277420686176652061206368616e6e656c206f70656e656420746f20746869732070617261636861696e006311004600000046631100360000005341110055000000e304000003000000696e636c756465642068656164206e6f742070726573656e7420696e2072656c61792073746f726167652070726f6f669c6311003000000053411100550000005705000015000000657870656374656420706172656e7420746f20626520696e636c756465640000e46311001e000000534111005500000049050000050000006e6f207370616365206c65667420666f722074686520626c6f636b20696e2074686520756e696e636c75646564207365676d656e740000001c6411003500000053411100550000008105000003000000444d51444d512068656164206d69736d617463686f641100110000005341110055000000b60400000300000048524d500000000004000000040000001c0100000000000004000000040000001d0100000000000004000000040000001e0100002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273cc641100840000004e00000035000000cc641100840000004f0000002f0000000000000004000000040000001f01000053746f7261676550726f6f66747269655f6e6f6465732f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f74696e797665632d312e362e302f7372632f61727261797665632e7273000000966511005f000000eb06000011000000966511005f000000a5000000220000000000000004000000040000002001000053746f7261676556657273696f6e5373353841646472657373466f726d61747072656669782f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72734d6611006f000000be0100001d000000210100000c0000000400000022010000000000002000000001000000b600000050657273697374656456616c69646174696f6e44617461706172656e745f6865616472656c61795f706172656e745f6e756d62657272656c61795f706172656e745f73746f726167655f726f6f746d61785f706f765f73697a6553797374656d50617261636861696e53797374656d54696d657374616d7042616c616e6365735375646f5465737450616c6c6574476c7574746f6e000000080000000800000008000000040000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f626f7865642f636f6e766572742e72730094671100770000005200000013000000436865636b5370656356657273696f6e436865636b47656e65736973e29c85206e6f206d6967726174696f6e20666f722000000038681100150000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f7765696768742d7265636c61696d2f7372632f6c69622e727372756e74696d653a3a6672616d652d737570706f727463756d756c75735f70616c6c65745f7765696768745f7265636c61696d3a3a70616c6c65746672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f67656e65736973546672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f737065635f76657273696f6e3a686561707061676573f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e205468652070616c6c657420686173206e6f20646566696e65642073746f726167652076657273696f6e2c20736f20746865206f6e2d636861696e2076657273696f6e206973206265696e6720696e697469616c697a656420746f202e000044691100100000005469110075000000c9691100010000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c69622e7273e4691100600000008e00000008000000e4691100600000009200000006000000e4691100600000009200000013000000e4691100600000007500000005000000e46911006000000075000000120000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c6f63616c5f6b65792e72730000946a1100660000002100000011000000946a1100660000002300000010000000946a11006600000028000000120000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f747269655f7265636f726465722e727300002c6b11006e00000089000000160000002c6b11006e00000080000000240000002c6b11006e00000081000000200000002c6b11006e00000082000000260000004e756d626572206f6620646967657374206974656d73206d757374206d6174636820746861742063616c63756c617465642e0000dc6b1100320000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f6578656375746976652f7372632f6c69622e72730000186c11004e0000009b0300000300000053746f7261676520726f6f74206d757374206d6174636820746861742063616c63756c617465642e786c110028000000186c11004e000000a9030000030000005472616e73616374696f6e207472696520726f6f74206d7573742062652076616c69642eb86c110024000000186c11004e000000ab03000003000000446967657374206974656d206d757374206d6174636820746861742063616c63756c617465642e00f46c110027000000186c11004e000000a3030000040000006672616d655f657865637574697665000100000000000000186c11004e000000c402000005000000506172656e7420686173682073686f756c642062652076616c69642e5c6d11001c000000186c11004e000000ab020000030000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f6469676573742e7273906d11005c0000002600000019000000457865637574696e67207472616e73616374696f6e3a2000fc6d11001700000072756e74696d653a3a6578656375746976655472616e73616374696f6e2829206661696c65642064756520746f202e2041626f7274696e67207468652072657374206f662074686520626c6f636b20657865637574696f6e2e0000002e6e11000c0000003a6e1100100000004a6e11002b000000186c11004e00000002030000050000005b5d3a20426c6f636b20696e697469616c697a6174696f6e2077656967687420636f6e73756d7074696f6e3a20000000a06e110001000000a16e11002c0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f747269655f63616368652e727300e06e11006b0000008800000033000000e06e11006b0000008b00000020000000e06e11006b000000930000003e0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f74696d657374616d702f7372632f6c69622e727354696d657374616d70206d75737420696e6372656d656e74206279206174206c65617374203c4d696e696d756d506572696f643e206265747765656e2073657175656e7469616c20626c6f636b73ca6f11004e0000007c6f11004e000000080100000400000054696d657374616d70206d7573742062652075706461746564206f6e6c79206f6e636520696e2074686520626c6f636b30701100300000007c6f11004e0000000601000004000000536c6f74206d6f766564206261636b77617264733a2073746f7265645f736c6f743d2c2072656c61795f636861696e5f736c6f743d00000078701100220000009a701100130000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f617572612d6578742f7372632f636f6e73656e7375735f686f6f6b2e7273c070110058000000520000000500000050617261636861696e20736c6f74206d757374206d617463682072656c61792d6465726976656420736c6f743a2070617261636861696e5f736c6f743d2c20646572697665645f66726f6d5f72656c61795f736c6f743d2076656c6f636974793d000000287111003d000000657111001a0000007f7111000a0000009a70110013000000c0701100580000006900000004000000617574686f72656420626c6f636b73206c696d6974206973207265616368656420666f722074686520736c6f743a2072656c61795f636861696e5f736c6f743d2c20617574686f7265643d2c2076656c6f636974793d0000bc71110040000000fc7111000b000000077211000b000000c0701100580000005900000004000000000000000c00000004000000470100006661696c656420746f20726561642072656c617920636861696e20736c6f7400c0701100580000004c000000320000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273007c72110067000000f70000000f0000002050616c6c657420746f2075736520616c6f6e677369646520746865207472616e73616374696f6e20657874656e73696f6e205b6053746f726167655765696768745265636c61696d605d2c207468652070616c6c65742070726f76696465732077656967687420696e666f726d6174696f6e20616e642062656e63686d61726b732e00ffffffffffffffff787311000000000000000000000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000907311007d000000d107000009000000426c6f636b446174612073686f756c642068617665206174206c65617374206f6e6520626c6f636b2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f696d706c656d656e746174696f6e2e727300487411006f000000900000000500000050617261636861696e2068656164206e6565647320746f2062652074686520706172656e74206f662074686520666972737420626c6f636bc874110038000000487411006f0000008d000000020000000000000001000000000000004865616444617461206e6f7420736574487411006f000000650100001800000000000000000000000100000048010000554d505369676e616c7320646f6573206e6f742066697420696e20554d504d657373616765730000487411006f0000006101000005000000490100000c00000004000000b4000000487411006f0000005e010000050000004a0100000c000000040000004b0100004c0100004c0100004c0100003a636f64655768656e206170706c79696e6720612072756e74696d6520757067726164652c206f6e6c79206f6e6520626c6f636b2070657220506f5620697320616c6c6f7765642e205265636569766564200000cd7511004d000000c969110001000000487411006f000000e7000000040000000000000000000000010000004d0100004661696c656420746f2067657420647261696e2073746f72616765206368616e6765732066726f6d20746865206f7665726c61792e000000487411006f0000002b01000006000000436f6d706163742070726f6f66206465636f64696e67206661696c7572652e00947611001f000000487411006f000000ae0000000d0000000000000000000000010000004e010000496e76616c696420706172656e74206865616400487411006f0000008900000041000000496e76616c69642070617261636861696e20626c6f636b2064617461487411006f00000080000000040000006056616c69646174696f6e4461746160206d7573742062652073657420616674657220657865637574696e67206120626c6f636b3b20716564000000487411006f000000f4000000080000004e756d626572206f6620686f72697a6f6e74616c206d657373616765732073686f756c64206e6f742062652067726561746572207468616e20604d41585f484f52495a4f4e54414c5f4d4553534147455f4e554d60000000487411006f000000170100005b000000487411006f000000360100001100000030784e6f7420612076616c696420636861696e206f6620626c6f636b73203a283b20206e6f74206120706172656e74206f66203ff27711002000000012781100110000002378110001000000487411006f0000009800000003000000416c6c206053656c656374436f726560207369676e616c73206e65656420746f2073656c656374207468652073616d6520636f72653a2020767320004c781100370000008378110004000000487411006f0000004401000007000000416c6c2060417070726f7665645065657260207369676e616c73206e65656420746f2073656c656374207468652073616d6520706565725f69643a20a87811003c0000008378110004000000487411006f00000050010000070000004661696c656420746f206465636f64652060554d505369676e616c60487411006f0000004101000029000000487411006f000000890100001a000000000000000c000000040000004f010000500100005101000052010000530100005401000055010000560100005701000058010000590100005a0100005b0100005c0100005d0100005e0100005f010000600100006101000062010000630100006401000065010000660100006701000068010000690100006a0100006b0100006c0100006d0100006e0100006f01000070010000710100007201000073010000000000000c000000040000004f010000500100005101000052010000740100007501000076010000770100005701000058010000590100005a01000078010000790100007a0100007b0100007c0100007d0100007e01000062010000630100007f01000080010000810100006701000068010000690100006a0100006b01000082010000830100008401000085010000700100007101000086010000870100002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e7273000000807a11005500000093020000050000004e6f206e65772076616c69646174696f6e2066756e6374696f6e20666f756e6420696e2073746f726167652c20476f4168656164207369676e616c206973206e6f7420657870656374656400e87a11004b000000807a1100550000009a02000006000000496e76616c6964206d6573736167696e6720737461746520696e2072656c617920636861696e2073746174652070726f6f660000807a110055000000b902000006000000496e76616c696420686f737420636f6e66696775726174696f6e20696e2072656c617920636861696e2073746174652070726f6f66000000807a110055000000b502000006000000496e76616c69642075706772616465207265737472696374696f6e207369676e616c0000807a110055000000af02000007000000496e76616c6964207570677261646520676f206168656164207369676e616c00807a1100550000008b02000006000000496e76616c69642072656c617920636861696e2073746174652070726f6f6600807a110055000000640200000500000056616c69646174696f6e44617461206d7573742062652075706461746564206f6e6c79206f6e636520696e206120626c6f636b006c7c110033000000807a1100550000004402000004000000282900000000000000000000010000008801000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f72632e727300f77c11006c000000600800002900000000000000040000000400000089010000536c6f740000000008000000080000008a0100005765696768747265665f74696d6570726f6f665f73697a6544656661756c744572726f724c61796f75744572726f724572726f7253746f7261676556657273696f6e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6d656d6f72792d64622d302e33342e302f7372632f6c69622e7273496e76616c6964556e6b6e6f776e526f6f744d69736d617463680000000000000004000000040000008b01000052656164456e747279526561644f7074696f6e616c456e74727955706772616465476f4168656164557067726164655265737472696374696f6e436f6e666967446d714d71634865616452656c61794469737061746368517565756552656d61696e696e67436170616369747948726d70496e67726573734368616e6e656c496e64657848726d704567726573734368616e6e656c496e64657800000000000004000000040000000201000048726d704368616e6e656c5061726148656164417574686f7269746965734e657874417574686f726974696573000000da7d11005d000000ca00000019000000da7d11005d000000cd0000001000000068656c6c6f66697273747365636f6e64776f726c6431776f726c64322f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f746573745f70616c6c65742e72730000007c7f11005100000046000000110000007c7f11005100000049000000110000007265616c6c795f687567655f76616c75650000007c7f110051000000580000002700000053797374656d50617261636861696e53797374656d54696d657374616d7042616c616e6365735375646f5465737450616c6c6574476c7574746f6e00080000000800000008000000040000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727342547265654d61704b564f7074696f6e544e6f6e65536f6d65436865636b4d6f7274616c6974792f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e72730000ee80110084000000ad000000240000006672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f6d6f7274616c6974794e6f44726f706672616d655f737570706f72743a3a7472616974733a3a73746f7261676550726f636573736564446f776e776172644d657373616765732f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f74797065732f76616c75652e72730000ea8111005c000000280100000b00000052656c6179537461746550726f6f6653746f7261676556657273696f6e506172656e7448617368526573657276656458636d705765696768744f76657272696465486f7374436f6e66696775726174696f6e4c61737448726d704d716348656164734c617374446d714d716348656164556e696e636c756465645365676d656e744e6f77557067726164655265737472696374696f6e5369676e616c496e686572656e74734170706c696564496e61637469766549737375616e6365547261736844617461436f756e74417574686f72697469657354785061796d656e7443726564697448726d7057617465726d61726b5265736572766564446d705765696768744f766572726964654c61737452756e74696d655570677261646545787472696e736963436f756e7450656e64696e6756616c69646174696f6e436f6465416e6e6f756e63656448726d704d6573736167657350657243616e64696461746552656c6179536c6f74496e666f48726d704f7574626f756e644d65737361676573546f74616c49737375616e63655570677261646564546f553332526566436f756e7441676772656761746564556e696e636c756465645365676d656e74426c6f636b5765696768744576656e74436f756e744b657955706772616465476f41686561644e6578744665654d756c7469706c69657250656e64696e675570776172645369676e616c73436f6d707574654e657756616c69646174696f6e436f646545787472696e7369635765696768745265636c61696d65645570776172644d6573736167657344696455706461746552656c6576616e744d6573736167696e6753746174655570677261646564546f547269706c65526566436f756e744576656e747344696453657456616c69646174696f6e436f64654c61737450726f63657373656448726d704d65737361676550617261636861696e4964417574686f72697a656455706772616465457865637574696f6e506861736550656e64696e675570776172644d657373616765734c656e6774684c61737452656c6179436861696e426c6f636b4e756d62657253746f72616765416c6c45787472696e736963734c656e43757272656e74536c6f744c61737450726f636573736564446f776e776172644d65737361676556616c69646174696f6e4461746155707761726444656c6976657279466565466163746f724e756d626572446967657374437573746f6d56616c69646174696f6e48656164446174610000006080110067000000f70000000f0000004e6f64652d7369646520506f562073697a6520686967686572207468616e2072756e74696d652070726f6f662073697a65207765696768742e206e6f64652d736964653a202065787472696e7369635f6c656e3a202072756e74696d653a202c206d697373696e673a202e2053657474696e6720746f206e6f64652d736964652070726f6f662073697a652e00861100450000004586110010000000558611000a0000005f8611000b0000006a861100220000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f7765696768742d7265636c61696d2f7372632f6c69622e727372756e74696d653a3a73746f726167655f7265636c61696d5f70616c6c657463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e727343871100550000006a0100002100000043871100550000006b0100000e00000064726f707065642070617274206f6620746865207365676d656e74207761736e277420656d7074792c2068656e63652076616c7565206578697374733b207165640000004387110055000000700500001d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000000c8811007d000000d1070000090000007061726120686561642068617368206973207570646174656420647572696e6720626c6f636b20696e697469616c697a6174696f6e3b20716564000043871100550000006405000009000000ee80110084000000c600000027000000ee80110084000000160200002f000000ee80110084000000a10000002400000093010000500000000800000094010000950100003a6368696c645f73746f726167653a64656661756c743a2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f636f6465632e7273438911005500000060000000130000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f747269655f636f6465632e72730000a889110062000000fe0100000b000000a8891100620000000e02000018000000a889110062000000e20100002c000000a889110062000000a2010000120000007265717569726564206279206d6574686f6420707265636f6e646974696f6e3b20716564a889110062000000a201000016000000a8891100620000005801000014000000a88911006200000065010000150000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6974657261746f722e7273a08a11006000000087000000100000007765277665206a757374206665746368656420746865206c61737420656c656d656e74207573696e6720606c6173745f6d75746020736f20746869732063616e6e6f74206661696c3b20716564000000a08a110060000000c90100001c0000004372756d623a3a7374657020616e64205472696544424e6f64654974657261746f722061726520696d706c656d656e74656420736f2074686174207468652061626f76652061726d732061726520746865206f6e6c7920706f737369626c65207374617465730000a08a110060000000df0100000a000000a08a1100600000008c01000017000000a08a110060000000650100001d000000a08a110060000000590000001f00000064657363656e64207075736865732061206372756d62206f6e746f2074686520747261696c3b20746875732074686520747261696c206973206e6f6e2d656d7074793b2071656400a08a110060000000a6000000270000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6d6f642e72730000708c1100620000004900000016000000a08a1100600000002301000010000000a08a1100600000007d000000050000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300048d11006f000000be0100001d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702e727300848d11007f000000fa0000003f000000848d11007f0000001f0100002e0000006120646566656e73697665206661696c75726520686173206265656e207472696767657265643b20706c65617365207265706f72742074686520626c6f636b206e756d6265722061742068747470733a2f2f6769746875622e636f6d2f706172697479746563682f706f6c6b61646f742d73646b2f69737375657300248e11007b0000003a2000000100000000000000a88e1100020000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f7472616974732f6d6973632e727372756e74696d653a3a646566656e736976656672616d655f737570706f72743a3a7472616974733a3a6d6973630000000100000000000000080000000800000008000000040000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652d696e746572666163652f7372632f7761736d2e72732f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f7472696564626d75742e7273000000b48f1100610000006c000000100000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f736d616c6c7665632d312e31352e302f7372632f6c69622e7273547279696e6720746f207265706c61636520616e20616c7265616479207265706c6163656420696d706c656d656e746174696f6e210000008490110035000000588f11005c0000004c0000000400000043617061636974794f766572666c6f7700000000040000000400000096010000416c6c6f634572726c61796f75742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f7472696564622e7273029111005e000000fe00000031000000029111005e000000ff00000037000000029111005e0000001001000031000000029111005e00000011010000370000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6e6f64655f636f6465632e7273000000a0911100550000001d01000013000000a0911100550000002701000009000000029111005e000000ea0000000d000000029111005e000000d20000000e000000b48f1100610000004601000026000000b48f1100610000006101000026000000604e6f64654f776e65643a3a56616c7565602063616e206f6e6c792062652072657475726e656420666f72207468652068617368206f6620612076616c75652e5892110040000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a200000a09211002a000000b48f110061000000bb0100000500000056616c7565206e6f64652063616e206e6576657220626520696e6c696e65643b20716564e492110024000000b48f110061000000a4000000060000004e65772065787465726e616c2076616c75652061726520616c77617973206164646564206265666f726520656e636f64696e6720616e6f64650000002093110039000000b48f110061000000b1000000050000000000000004000000040000009701000098010000000000000400000004000000990100009a010000b48f110061000000880700000b000000b48f11006100000075070000170000004a75737420656e636f64656420746865206e6f64652c20736f2069742073686f756c64206465636f646520776974686f757420616e79206572726f72733b207165640000b48f11006100000069070000070000000000000008000000040000009b0100009c0100000000000008000000040000009b0100009c0100002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6d6f642e7273000038941100620000004900000016000000617373657274696f6e206661696c65643a20216578697374696e675f6b65792e69735f656d70747928290000b48f1100610000000705000006000000b48f110061000000310300000f000000b48f110061000000250300000f000000b48f110061000000ba0600001a0000004272616e63682077697468206e6f2073756276616c7565732e20536f6d657468696e672077656e742077726f6e672e00b48f1100610000003b06000007000000757365645f696e646578206f6e6c7920736574206966206f636375706965643b20716564b48f1100610000004306000009000000b48f1100610000006b06000007000000b48f1100610000007106000009000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f6465b48f110061000000a40600000d000000b48f110061000000620200000e000000b48f110061000000650200000f000000b48f1100610000006e02000015000000b48f1100610000006f0200001f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300249611006f000000be0100001d0000000000000008000000040000009d01000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500289011005c000000540100002e0000006361706163697479206f766572666c6f77000000289011005c0000004301000036000000289011005c000000d00400000e000000617373657274696f6e206661696c65643a206e65775f636170203e3d206c656e289011005c0000009b0400000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a204e6f20657874656e73696f6e20636f6465632e000000549711003d000000a091110055000000df00000003000000a0911100550000007600000028000000a0911100550000007c00000026000000a091110055000000a300000028000000a091110055000000d800000003000000a0911100550000000e01000009000000a091110055000000f40000002a000000a091110055000000070100001a000000416c7265616479496e52756e74696d654e6f4f70656e5472616e73616374696f6e6d697373696e67206669656c642060600000003d9811000f0000004c98110001000000756e6b6e6f776e206669656c642060602c20746865726520617265206e6f206669656c6473000000609811000f0000006f98110016000000602c20657870656374656420609811000f000000989811000c000000696e76616c6964206c656e677468202c206578706563746564200000b49811000f000000c39811000b0000006475706c6963617465206669656c642060000000e0981100110000004c98110001000000000000000000000001000000a20100002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e72731499110070000000e8010000170000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f7365722e727300949911005f00000085080000160000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f756e69636f64652d6e6f726d616c697a6174696f6e2d302e312e32322f7372632f6465636f6d706f73652e727300049a11006f0000008f00000022000000a30100000400000004000000a401000073657269616c697a6174696f6e20746f206a736f6e20697320657870656374656420746f20776f726b2e207165642e2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f67656e657369735f6275696c6465725f68656c7065722e72730000c39a11005f0000003300000006000000496e76616c6964204a534f4e20626c6f623a2000349b110013000000000000000000000001000000a5010000546f7020616e64206f6666636861696e206368616e67657365747320617265207374617274656420696e206c6f636b737465703b207165642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6f7665726c617965645f6368616e6765732f6d6f642e7273000000989b110069000000ed01000005000000546f7020616e64206368696c6472656e206368616e6765736574732061726520656e746572696e672072756e74696d6520696e206c6f636b737465703b20716564000000989b110069000000e8010000060000003a65787472696e7369635f696e646578000000000000000001000000a6010000989b110069000000db01000005000000546f7020616e64206368696c6472656e206368616e67657365747320617265207374617274656420696e206c6f636b737465703b20716564989b110069000000d601000006000000989b110069000000c901000005000000989b110069000000c30100000600000073746f7261676500989b110069000000020300001e0000006073746f726167655f7472616e73616374696f6e5f63616368656020776173206a75737420696e697469616c697a65643b20716564000000989b1100690000004f020000070000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000609d11007d000000d1070000090000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6f7665726c617965645f6368616e6765732f6368616e67657365742e7273416e204f7665726c617956616c756520697320616c7761797320637265617465642077697468206174206c65617374206f6e65207472616e73616374696f6e20616e642064726f7070656420617320736f6f6e0a09617320746865206c617374207472616e73616374696f6e2069732072656d6f7665643b2071656400f09d11006f000000fc0000001b000000f09d11006f0000000f0100001b000000f09d11006f0000001401000025000000f09d11006f0000000a01000025000000f09d11006f000000f70000001d000000447261696e206973206e6f7420616c6c6f7765642077697468206f70656e207472616e73616374696f6e732e2c9f11002c000000f09d11006f00000046020000030000004120777269746520746f20616e204f7665726c6179656456616c7565206973207265636f7264656420696e20746865206469727479206b6579207365742e204265666f726520616e0a090909094f7665726c6179656456616c75652069732072656d6f7665642c2069747320636f6e7461696e696e67206469727479207365742069732072656d6f7665642e20546869730a0909090966756e6374696f6e206973206f6e6c792063616c6c656420666f72206b65797320746861742061726520696e20746865206469727479207365742e20716564000000f09d11006f000000980200002f0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f747269655f6261636b656e645f657373656e63652e727358a0110068000000a201000012000000a70100005400000004000000a8010000a9010000000000001000000004000000aa010000ab010000a70100005400000004000000ac010000ad010000ae0100001000000004000000af010000b0010000b1010000b2010000b30100001800000004000000b4010000b501000058a0110068000000cc0100002100000058a0110068000000ce0100001700000061207475706c65206f662073697a652032000000000000000000000001000000b6010000612073657175656e63652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f636f72652d312e302e3232382f7372632f64652f696d706c732e727300008aa11100640000008d0400001c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730000a2110067000000f70000000f00000061207475706c65206f662073697a652033000000000000000000000001000000b7010000617574686f7269746965737374727563742047656e65736973436f6e6669672077697468203120656c656d656e740000a7a2110023000000000000000800000004000000b80100006b6579636f6d70757465747261736844617461436f756e74626c6f636b4c656e6774687374727563742047656e65736973436f6e6669672077697468203420656c656d656e74730007a311002400000062616c616e6365736465764163636f756e74737374727563742047656e65736973436f6e6669672077697468203220656c656d656e74730047a3110024000000049a11006f0000005600000029000000049a11006f0000005600000018000000049a11006f0000004d0000001400000070617261636861696e49646d756c7469706c696572000000b90100000c00000004000000ba010000bb010000bc010000000000000000000001000000bd0100006120446973706c617920696d706c656d656e746174696f6e2072657475726e656420616e206572726f7220756e65787065637465646c79001499110070000000f00a00000e0000004572726f72000000b90100000c00000004000000b4000000000000000400000004000000be01000046726f6d557466384572726f7262797465736572726f7244656661756c744572726f7200bf0100001400000004000000c001000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e7273000000b3a411005a000000930000002b0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f73747265616d2e7273000020a51100560000007200000010000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20747269652073747265616d20636f646563206f6e6c7920666f72206e6f20657874656e73696f6e2074726965000088a511005600000020a511005600000076000000040000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f74696e797665632d312e362e302f7372632f61727261797665632e727300f8a511005f0000009d0000001a0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f74696e797665632d312e362e302f7372632f74696e797665632e7273000068a611005e000000750300001d000000f8a511005f000000a5000000220000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300e8a611006f000000be0100001d000000000000000000000001000000c101000045787465726e616c6974696573206e6f7420616c6c6f77656420746f206661696c2077697468696e2072756e74696d652f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6578742e727300a8a7110057000000da0100001a000000000000000000000001000000c2010000000000000000000001000000c2010000000000000000000001000000c3010000000000000000000001000000c4010000000000000000000001000000c5010000000000000000000001000000c4010000000000000000000001000000c6010000000000000000000001000000c7010000000000000000000001000000c5010000000000000000000001000000c7010000000000000000000001000000c7010000000000000000000001000000c7010000000000000000000001000000c7010000000000000000000001000000c40100007374727563742052756e74696d6547656e65736973436f6e666967207769746820313020656c656d656e7473f0a811002c00000073797374656d70617261636861696e53797374656d70617261636861696e496e666f7375646f7472616e73616374696f6e5061796d656e747465737450616c6c6574676c7574746f6e6175726161757261457874416c7265616479496e52756e74696d654e6f4f70656e5472616e73616374696f6e3a5f5f53544f524147455f56455253494f4e5f5f3a0000c90100005400000004000000a8010000a9010000000000001000000004000000aa010000ab010000c90100005400000004000000ac010000ad010000ca0100001000000004000000af010000b0010000b1010000b2010000cb0100001800000004000000b4010000b50100004572726f72207768696c6520697465726174696e67207468652073746f726167653a20001caa1100230000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6578742e72737472696573705f73746174655f6d616368696e653a3a6578742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e0000003cab110009000000b8aa1100840000004e0000001f000000b8aa110084000000480000001700000044656661756c744572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f74696e797665632d312e362e302f7372632f74696e797665632e727300007cab11005e00000070030000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6f64652e7273ecab11005c000000fd00000016000000ecab11005c000000e1000000160000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730068ac11006f000000be0100001d000000000000000000000001000000cc01000045787465726e616c6974696573206e6f7420616c6c6f77656420746f206661696c2077697468696e2072756e74696d6548aa110057000000a90000003600000048aa110057000000bc0000003100000048aa110057000000e50000002a00000048aa110057000000220100000900000048aa1100570000000b0100002700000048aa110057000000d20000003600000048aa110057000000f80100000500000048aa110057000000fb0000000600000048aa1100570000004b0100000900000048aa1100570000003301000005000000000000000000000001000000cd0100005765206861766520726573657420746865206f7665726c61792061626f76652c20736f2077652063616e206e6f7420626520696e207468652072756e74696d653b2071656400000048aa1100570000004e0200000500000048aa1100570000004a02000005000000000000000000000001000000ce010000546869732069732061207370656369616c20666e206f6e6c7920666f722062656e63686d61726b696e67207768657265206120646174616261736520636f6d6d69742068617070656e732066726f6d207468652072756e74696d652e0a09466f72207468617420726561736f6e20636c69656e742073746172746564207472616e73616374696f6e73206265666f72652063616c6c696e6720696e746f2072756e74696d6520617265206e6f7420616c6c6f7765642e0a09576974686f757420636c69656e74207472616e73616374696f6e7320746865206c6f6f7020636f6e646974696f6e2067756172616e74656573207468652073756363657373206f662074686520747820636c6f73652e000048aa110057000000460200002800000048aa1100570000005a0200000500000048aa110057000000550200002600000048aa1100570000008f000000310000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000a0af11007d000000d1070000090000005363686e6f727252697374726574746f48444b447369676e2d627974657348444b442d6e6f6e6365636861696e2d636f64657075626c69632d6b657948444b442d7363616c617248444b442d636861696e636f646556455253494f4e45445042442f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727391b0110067000000f70000000f0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e7273000008b111005a000000d00100001b00000008b111005a000000d10100001000000008b111005a000000cc0100000900000008b111005a000000b901000020000000000000000000000001000000cf01000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75650008b111005a0000003d01000020000000427566666572546f6f536d616c6c0000000000000400000004000000d00100004469676573746c6f6773496e76616c69645374617465526f6f74496e636f6d706c657465446174616261736556616c75654174496e636f6d706c6574654b65794465636f6465724572726f72496e76616c6964486173684475706c69636174654b657945787472616e656f75734e6f646545787472616e656f757356616c756545787472616e656f7573486173685265666572656e6365496e76616c69644368696c645265666572656e636556616c75654d69736d61746368496e636f6d706c65746550726f6f66526f6f744d69736d617463684465636f64654572726f7200000000000400000001000000d1010000000000000400000004000000b200000050726552756e74696d65436f6e73656e7375735365616c4f7468657252756e74696d65456e7669726f6e6d656e74557064617465642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727345b311006f000000be0100001d00000048617368207461626c65206361706163697479206f766572666c6f77c4b311001c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6861736862726f776e2d302e31352e332f7372632f7261772f6d6f642e7273000000e8b311006100000025000000280000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d726f6f742d302e31382e302f7372632f6c69622e72730000005cb411005d000000290100002b0000005cb411005d00000040010000210000005cb411005d0000003b010000250000005cb411005d000000790100000d0000005cb411005d00000060010000250000005cb411005d000000620100001c0000005cb411005d0000009300000011000000080000000800000008000000040000001000000012000000140000000c0000000b0000000c0000000e0000000f00000017000000150000000d0000000f0000000c0000000b0000001ab211002ab211003cb2110050b211005cb2110067b2110073b2110081b2110090b21100a7b21100bcb21100c9b21100d8b21100e4b211002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000acb511007d000000d1070000090000006120646566656e73697665206661696c75726520686173206265656e207472696767657265643b20706c65617365207265706f72742074686520626c6f636b206e756d6265722061742068747470733a2f2f6769746875622e636f6d2f706172697479746563682f706f6c6b61646f742d73646b2f697373756573003cb611007b0000003a2000000100000000000000c0b61100020000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f7472616974732f6d6973632e727372756e74696d653a3a646566656e736976656672616d655f737570706f72743a3a7472616974733a3a6d6973632f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f62616c616e6365732f7372632f6c69622e7273e29c85206e6f206d6967726174696f6e20666f722000a2b71100150000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f676c7574746f6e2f7372632f6c69622e727372756e74696d653a3a6672616d652d737570706f727470616c6c65745f676c7574746f6e3a3a70616c6c65747472616e736665725f616c6c6f775f6465617468666f7263655f7472616e736665727472616e736665725f6b6565705f616c6976657472616e736665725f616c6c666f7263655f756e72657365727665757067726164655f6163636f756e7473666f7263655f7365745f62616c616e6365666f7263655f61646a7573745f746f74616c5f69737375616e63656275726e526573756c7454454f6b4572727d70616c6c65745f62616c616e6365733a3a70616c6c6574000000e8fd00006e756d626572206f662054726173684461746120656e74726965732063616e6e6f7420626520626967676572207468616e200000f4b8110032000000c0b711004c000000ae00000004000000436f6d70757465206c696d697420697320696e73616e650040b9110017000000c0b711004c000000b90000000400000053746f72616765206c696d697420697320696e73616e650070b9110017000000c0b711004c000000bc00000004000000426c6f636b206c656e677468206c696d697420697320696e73616e65a0b911001c000000c0b711004c000000bf00000004000000f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e205468652070616c6c657420686173206e6f20646566696e65642073746f726167652076657273696f6e2c20736f20746865206f6e2d636861696e2076657273696f6e206973206265696e6720696e697469616c697a656420746f202e0000d4b9110010000000e4b911007500000059ba1100010000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e727374ba110070000000e8010000170000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f61727261792d62797465732d362e322e322f7372632f6c69622e72730000f4ba11005e0000009602000019000000f4ba11005e0000009602000027000000f4ba11005e00000096020000090000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7375646f2f7372632f6c69622e727300000084bb110049000000470100000c000000526571756972655375646f00dd0100000c00000004000000b4000000656e636f646564206572726f7220697320726573697a656420746f20626520657175616c20746f20746865206d6178696d756d20656e636f646564206572726f722073697a653b207165646475706c69636174652062616c616e63657320696e2067656e657369732e00000047bc11001e00000055b711004d00000053020000040000002f2f53656e6465722f2f7b7d617373657274696f6e206661696c65643a20543a3a4163636f756e7453746f72653a3a696e736572742877686f2c0a20202020202020204163636f756e7444617461207b20667265652c202e2e44656661756c743a3a64656661756c742829207d292e69735f6f6b2829000055b711004d00000063020000050000007468652062616c616e6365206f6620616e79206163636f756e742073686f756c6420616c77617973206265206174206c6561737420746865206578697374656e7469616c206465706f7369742e00000008bd11004d00000055b711004d0000004502000005000000010020646574656374656420696e207468652072756e74696d652e20496e697469616c697a696e6720746865206f6e2d636861696e2073746f726167652076657273696f6e20746f206d61746368207468652073746f726167652076657273696f6e20646566696e656420696e207468652070616c6c65743a200000d4b911001000000072bd1100780000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f6c69622e727300fcbd11004b000000a80300000c000000496e76616c6964537065634e616d655370656356657273696f6e4e65656473546f496e6372656173654661696c6564546f4578747261637452756e74696d6556657273696f6e4e6f6e44656661756c74436f6d706f736974654e6f6e5a65726f526566436f756e7443616c6c46696c74657265644d756c7469426c6f636b4d6967726174696f6e734f6e676f696e674e6f7468696e67417574686f72697a6564556e617574686f72697a6564c0b711004c000000660000000c000000416c7265616479496e697469616c697a6564496e73616e654c696d69742053746f72616765206d6170207573656420666f722077617374696e672070726f6f662073697a652e20497420636f6e7461696e73206e6f206d65616e696e6766756c2064617461202d2068656e636520746865206e616d6520225472617368222e20546865206d6178696d616c206e756d626572206f6620656e74726965732069732073657420746f2036356b2c207768696368206973206a7573742062656c6f7720746865206e657874206a756d702061742031365e342e205468697320697320696d706f7274616e7420746f20726564756365207468652070726f6f662073697a652062656e63686d61726b696e67206f766572657374696d6174652e2054686520617373756d7074696f6e2068657265206973207468617420776520776f6e27742068617665206d6f7265207468616e2036356b202a20314b6942203d2036354d6942206f662070726f6f662073697a652077617374696e6720696e2070726163746963652e20486f77657665722c2074686973206c696d6974206973206e6f7420656e666f726365642c20736f207468652070616c6c657420776f756c6420616c736f20776f726b206f7574206f662074686520626f782077697468206d6f726520656e74726965732c20627574206974732062656e63686d61726b65642070726f6f662077656967687420776f756c6420706f737369626c7920626520756e646572657374696d6174656420696e207468617420636173652e205468652070726f706f7274696f6e206f66207468652072656d61696e696e67206070726f6f665f73697a656020746f20636f6e73756d6520647572696e6720606f6e5f69646c65602e2060312e3060206973206d617070656420746f206031303025602e204d757374206265206174206d6f7374205b6063726174653a3a5245534f555243455f484152445f4c494d4954605d2e2053657474696e67207468697320746f206f7665722060312e306020636f756c64207374616c6c2074686520636861696e2e205468652063757272656e74206e756d626572206f6620656e747269657320696e2060547261736844617461602e205468652070726f706f7274696f6e206f66207468652072656d61696e696e6720607265665f74696d656020746f20636f6e73756d6520647572696e6720606f6e5f69646c65602e205468652070726f706f7274696f6e206f66207468652060626c6f636b206c656e6774686020746f20636f6e73756d65206f6e206561636820626c6f636b2ec0b711004c0000008f0100002c000000636f6d7075746573746f72616765747261736844617461436f756e74626c6f636b4c656e67746800dcc2110007000000e3c2110007000000eac211000e000000f8c211000b00000043616c6c3a3a696e697469616c697a655f70616c6c657400000000000400000004000000040100006e65775f636f756e74000000000000000400000004000000de0100007769746e6573735f636f756e7443616c6c3a3a7365745f636f6d707574650000000000000400000004000000df01000043616c6c3a3a7365745f73746f7261676543616c6c3a3a626c6f6174000000000400000004000000e00100006761726261676543616c6c3a3a7365745f626c6f636b5f6c656e677468626c6f636b5f6c656e67746843616c6c436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e00000000f1c3110043000000696e697469616c697a655f70616c6c65747365745f636f6d707574657365745f73746f72616765626c6f61747365745f626c6f636b5f6c656e6774684572726f7254686520604572726f726020656e756d206f6620746869732070616c6c65742e0000000000000081c41100200000004e6f7420656e6f7567682062616c616e6365206f6e20686f6c6420746f2070617920747820666565732e20546869732069732061206275672e000000b0c41100390000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7472616e73616374696f6e2d7061796d656e742f7372632f7061796d656e742e727372756e74696d653a3a74787061796d656e7470616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a7061796d656e7400000055b711004d000000b80100000c00000056657374696e6742616c616e63654c69717569646974795265737472696374696f6e73496e73756666696369656e7442616c616e63654578697374656e7469616c4465706f736974457870656e646162696c6974794578697374696e6756657374696e675363686564756c65446561644163636f756e74546f6f4d616e795265736572766573546f6f4d616e79486f6c6473546f6f4d616e79467265657a657349737375616e6365446561637469766174656444656c74615a65726f6163636f756e7420776974682061206e6f6e2d7a65726f20726573657276652062616c616e636520686173206e6f2070726f766964657220726566732c206163636f756e745f69643a2027272e00000054c611004b0000009fc611000200000072756e74696d653a3a62616c616e636573205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e2023204578616d706c65206060606e6f636f6d70696c652020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b2020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e20207d2060606020596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e20202074797065204163636f756e7453746f7265203d2053797374656d20427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f72657320606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e20746865206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e20416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20557365206f66206c6f636b73206973206465707265636174656420696e206661766f7572206f6620667265657a65732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6020467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e2054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e20486f6c6473206f6e206163636f756e742062616c616e6365732e2054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e20557365206f66207265736572766573206973206465707265636174656420696e206661766f7572206f6620686f6c64732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f606e756d5f6163636f756e7473206d7573742062652067726561746572207468616e207a65726f9ecb11002600000055b711004d000000330500000400000055b711004d00000035050000040000007b7d496e76616c69642064657269766174696f6e2c20657870656374656420607b7d602061732070617274206f66207468652064657269766174696f6e000000eecb11003b00000055b711004d0000003a050000040000004661696c656420746f2070617273652064657269766174696f6e20737472696e673a200044cc1100230000004661696c656420746f206465636f6465207075626c6963206b65792066726f6d20706169723a200070cc1100270000004661696c656420746f20616464206163636f756e7420746f206b657973746f72653a2000a0cc110023000000000000001400000004000000d801000055b711004d0000004f05000006000000e10100001400000004000000e201000055b711004d000000450500000700000020546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d5553542042452047524541544552205448414e205a45524f2120496620796f75202a7265616c6c792a206e65656420697420746f206265207a65726f2c20796f752063616e20656e61626c652074686520666561747572652060696e7365637572655f7a65726f5f65646020666f7220746869732070616c6c65742e20486f77657665722c20796f7520646f20736f20617420796f7572206f776e207269736b3a20746869732077696c6c206f70656e2075702061206d616a6f7220446f5320766563746f722e20496e206361736520796f752068617665206d756c7469706c6520736f7572636573206f662070726f7669646572207265666572656e6365732c20796f75206d617920616c736f2067657420756e6578706563746564206265686176696f757220696620796f7520736574207468697320746f207a65726f2e20426f74746f6d206c696e653a20446f20796f757273656c662061206661766f757220616e64206d616b65206974206174206c65617374206f6e652120546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742e204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e4d61784c6f636b7320546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e4d6178526573657276657320546865206d6178696d756d206e756d626572206f6620696e646976696475616c20667265657a65206c6f636b7320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e4d6178467265657a657320546865206f76657261726368696e6720686f6c6420726561736f6e2e52756e74696d65486f6c64526561736f6e205468652062616c616e6365206f6620616e206163636f756e742e42616c616e636520546865204944207479706520666f722072657365727665732e526573657276654964656e74696669657220546865204944207479706520666f7220667265657a65732e467265657a654964656e74696669657262616c616e6365736465764163636f756e747300008fd011000800000097d011000b00000043616c6c3a3a7472616e736665725f616c6c6f775f64656174680000000000000400000004000000eb00000064657374000000000400000004000000e301000076616c756543616c6c3a3a666f7263655f7472616e73666572736f7572636543616c6c3a3a7472616e736665725f6b6565705f616c69766543616c6c3a3a7472616e736665725f616c6c0000000000000400000004000000e40100006b6565705f616c69766543616c6c3a3a666f7263655f756e7265736572766577686f616d6f756e7443616c6c3a3a757067726164655f6163636f756e74730000000000000400000004000000e501000043616c6c3a3a666f7263655f7365745f62616c616e63656e65775f6672656543616c6c3a3a666f7263655f61646a7573745f746f74616c5f69737375616e6365000000000400000004000000e6010000646972656374696f6e64656c746143616c6c3a3a6275726e494576656e7454686520604576656e746020656e756d206f6620746869732070616c6c65740000000ed211001f000000456e646f776564447573744c6f73745472616e7366657242616c616e63655365745265736572766564556e72657365727665645265736572766552657061747269617465644465706f7369745769746864726177536c61736865644d696e7465644d696e7465644372656469744275726e65644275726e65644465627453757370656e646564526573746f726564557067726164656449737375656452657363696e6465644c6f636b6564556e6c6f636b656446726f7a656e546861776564546f74616c49737375616e6365466f7263656448656c644275726e656448656c645472616e736665724f6e486f6c645472616e73666572416e64486f6c6452656c6561736564556e65787065637465642f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273000047d3110067000000f70000000f0000007374727563742047656e65736973436f6e6669672f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e7273000000d4d3110055000000fa0200000c0000004f7665726c617070696e67557067726164657350726f686962697465644279506f6c6b61646f74546f6f42696756616c69646174696f6e446174614e6f74417661696c61626c65486f7374436f6e66696775726174696f6e4e6f74417661696c61626c654e6f745363686564756c6564dd0100000c00000004000000e7010000e8010000bc010000000000000000000001000000e90100006120446973706c617920696d706c656d656e746174696f6e2072657475726e656420616e206572726f7220756e65787065637465646c790074ba110070000000f00a00000e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e72731cd5110074000000e2050000140000001cd5110074000000e2050000210000001cd5110074000000d60500002100000046756e6473556e617661696c61626c654f6e6c7950726f766964657242656c6f774d696e696d756d43616e6e6f74437265617465556e6b6e6f776e4173736574556e737570706f7274656443616e6e6f74437265617465486f6c644e6f74457870656e6461626c65426c6f636b65642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e72732fd6110085000000670200002a000000000000000100000001000000ea010000000000000400000001000000d1010000000000000400000004000000eb0100004d6f64756c654572726f72696e6465786572726f726d6573736167654f7468657243616e6e6f744c6f6f6b75704261644f726967696e4d6f64756c65436f6e73756d657252656d61696e696e674e6f50726f766964657273546f6f4d616e79436f6e73756d657273546f6b656e41726974686d657469635472616e73616374696f6e616c457868617573746564436f7272757074696f6e556e617661696c61626c65526f6f744e6f74416c6c6f77656454726965496e76616c6964436861726163746572496e506872617365496e76616c6964436861726163746572496e506173734d697373696e67436861726163746572496e48617264506174684d697373696e67436861726163746572496e536f6674506174684261644261736535384261644c656e677468556e6b6e6f776e5373353841646472657373466f726d6174496e76616c6964436865636b73756d496e76616c6964507265666978496e76616c6964466f726d6174496e76616c696450617468466f726d61744e6f74416c6c6f77656450617373776f72644e6f74416c6c6f7765644e6f6e65536f6d654c696d6974526561636865644e6f4c61796572496e76616c6964506872617365496e76616c696450617373776f7264496e76616c696453656564496e76616c6964536565644c656e6774682f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f696f2f636f72652e7273ddd8110063000000470000000e0000000100000000000000000000001800000008000000ec010000000000000400000004000000ed010000506f73744469737061746368496e666f61637475616c5f776569676874706179735f666565000000dd0100000c00000004000000ee010000000000000400000004000000ef010000496e76616c6964436861726163746572496e666f2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f636f72652f7372632f63727970746f2e7273000000d4d9110051000000710300002f00000073656564206861732076616c6964206c656e6774683b207165640000d4d91100510000008703000028000000d4d91100510000005b0100000e000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000102030405060708ffffffffffffff090a0b0c0d0e0f10ff1112131415ff161718191a1b1c1d1e1f20ffffffffffff2122232425262728292a2bff2c2d2e2f30313233343536373839ffffffffff31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797a0000d4d911005100000032010000170000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6f64652e7273020000000000000000000000000000000000000000000000000000000000000000000000496e76616c696420696e6c696e65206e6f64652068616e646c65000040db11005c000000500000000500000040db11005c000000da0000001d00000040db11005c000000f60000001d00000040db11005c00000089000000120000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6c6f6f6b75702e727300001cdc11005e00000046000000120000001cdc11005e000000a301000016000000000000000c00000004000000f0010000f10100005765206172652063616368696e67206120604e6f64654f776e65643a3a56616c75656020666f7220612076616c7565206e6f6465206861736820616e64207468697320636163686564206e6f64652068617320616c7761797320646174612061747461636865643b207165641cdc11005e00000079000000070000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6d6f642e727300002cdd1100620000004900000016000000000000001400000004000000f2010000f3010000604e6f64654f776e65643a3a56616c7565602063616e206e6f742062652072656163686564206279207573696e67207468652068617368206f662061206e6f64652e20604e6f64654f776e65643a3a56616c756560206973206f6e6c7920636f6e7374727563746564207768656e206c6f6164696e6720612076616c756520696e746f206d656d6f72792c207768696368206e6565647320746f2068617665206120646966666572656e742068617368207468616e20616e79206e6f64653b2071656400b4dd1100c3000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20000080de11002a0000001cdc11005e000000d002000007000000000000001400000004000000f2010000f30100001cd5110074000000660400002400000053746f7261676556657273696f6e5075626c6963000000002000000008000000f4010000000000000400000004000000f501000044697370617463684572726f7257697468506f7374496e666f706f73745f696e666f2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730000003edf11006f000000be0100001d00000058be110067be110081be11009ebe1100b1be1100c0be1100ccbe1100e7be1100f8be11000f0000001a0000001d000000130000000f0000000c0000001b000000110000000c00000098c51100a6c51100bbc51100cec51100e0c51100edc5110004c611000fc611001ec611002ac6110038c611004bc611000e0000001500000013000000120000000d000000170000000b0000000f0000000c0000000e00000013000000090000003cd411004fd4110063d4110069d4110083d41100a0d411001300000014000000060000001a0000001d0000000c000000100000000c0000000c0000000c0000000c000000060000000b000000100000000d00000007000000c0d51100d0d51100dcd51100e8d51100f4d51100ebd2110000d611000bd611001bd6110028d611002473657264655f6a736f6e3a3a707269766174653a3a4e756d6265722f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f6c69622e727372656d61726b7365745f686561705f70616765737365745f636f64657365745f636f64655f776974686f75745f636865636b737365745f73746f726167656b696c6c5f73746f726167656b696c6c5f70726566697872656d61726b5f776974685f6576656e74617574686f72697a655f75706772616465617574686f72697a655f757067726164655f776974686f75745f636865636b736170706c795f617574686f72697a65645f7570677261646574696d737461703054696d657374616d7020696e686572656e742064617461206d7573742062652070726f76696465642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f74696d657374616d702f7372632f6c69622e72732ee211004e0000003d010000060000000000000009000000010000000b02000054696d657374616d7020696e686572656e742064617461206e6f7420636f72726563746c7920656e636f6465640000002ee211004e0000003c010000060000002ee211004e00000027010000060000002ee211004e0000002601000006000000e29c85206e6f206d6967726174696f6e20666f7220000000fce211001500000072756e74696d653a3a6672616d652d737570706f72746672616d655f73797374656d3a3a70616c6c657470616c6c65745f74696d657374616d703a3a70616c6c65742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f7365722e72730000005ee311005f0000002308000040000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64655ee311005f0000000d060000120000005ee311005f00000030080000330000005ee311005f000000850800001600000066616c73655b5c225c5c5c625c665c6e5c725c743a65787472696e7369635f696e646578f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e205468652070616c6c657420686173206e6f20646566696e65642073746f726167652076657273696f6e2c20736f20746865206f6e2d636861696e2076657273696f6e206973206265696e6720696e697469616c697a656420746f202e00004ce41100100000005ce4110075000000d1e41100010000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f617572612d6578742f7372632f6c69622e727363756d756c75735f70616c6c65745f617572615f6578743a3a70616c6c6574010020646574656374656420696e207468652072756e74696d652e20496e697469616c697a696e6720746865206f6e2d636861696e2073746f726167652076657273696f6e20746f206d61746368207468652073746f726167652076657273696f6e20646566696e656420696e207468652070616c6c65743a2000004ce41100100000005ae5110078000000426c6f636b206e756d626572206d757374206265207374726963746c7920696e6372656173696e672e000000e4e511002900000004e111004b0000007f070000030000005d202065787472696e736963732c206c656e6774683a2020286e6f726d616c20252c206f703a20252c206d616e6461746f7279202529202f206e6f726d616c207765696768743a20287265665f74696d653a20252c2070726f6f665f73697a653a202529206f70207765696768742020287265665f74696d6520252c2070726f6f665f73697a65202529202f206d616e6461746f7279207765696768742025292de411000100000028e61100020000002ae61100150000003fe611000900000048e61100070000004fe611000d0000005ce61100130000006fe611000c0000007be611000f0000008ae611000d00000097e611000b000000a2e611000e000000b0e61100160000006fe611000c0000007be611000f000000c6e611000200000072756e74696d653a3a73797374656d6672616d655f73797374656d45787472696e736963206661696c656420617420626c6f636b28293a2063e711001a0000007de71100030000005573656420626c6f636b207765696768743a200090e71100130000005573656420626c6f636b206c656e6774683a2000ace71100130000003a636f64656672616d655f73797374656d3a3a696e697469616c697a653a696e747261626c6f636b5f656e74726f70792f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000f8e711007d000000d1070000090000000000000000000000010000000c0200004e6f646520697320636f6e6669677572656420746f20757365207468652073616d6520686173683b2071656404e111004b000000f5070000050000002060536f6d6560206966206120636f6465207570677261646520686173206265656e20617574686f72697a65642e20446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e20546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e20546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2048617368206f66207468652070726576696f757320626c6f636b2e20546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e205768657468657220616c6c20696e686572656e74732068617665206265656e206170706c6965642e2054686520657865637574696f6e207068617365206f662074686520626c6f636b2e2045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e2054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c7365202864656661756c7429206966206e6f742e2053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e2054686520776569676874207265636c61696d656420666f72207468652065787472696e7369632e205468697320696e666f726d6174696f6e20697320617661696c61626c6520756e74696c2074686520656e64206f66207468652065787472696e73696320657865637574696f6e2e204d6f726520707265636973656c79207468697320696e666f726d6174696f6e2069732072656d6f76656420696e20606e6f74655f6170706c6965645f65787472696e736963602e204c6f67696320646f696e6720736f6d6520706f73742064697370617463682077656967687420726564756374696f6e206d7573742075706461746520746869732073746f7261676520746f2061766f6964206475706c696361746520726564756374696f6e2e205468652063757272656e742077656967687420666f722074686520626c6f636b2e205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e2054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e6465786573206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e20416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e205468697320616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e6420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e205468652076616c756520686173207468652074797065206028426c6f636b4e756d626572466f723c543e2c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573742074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2e20497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e20426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e426c6f636b5765696768747320546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e426c6f636b4c656e677468204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e426c6f636b48617368436f756e742054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e4462576569676874204765742074686520636861696e277320696e2d636f64652076657273696f6e2e56657273696f6e205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e2054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e2069732074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f6620697420617320616e206964656e746966696572206f662074686520636861696e2e53533538507265666978205468652061676772656761746564206052756e74696d6543616c6c6020747970652e52756e74696d6543616c6c20546869732073746f72657320746865206e756d626572206f662070726576696f7573207472616e73616374696f6e73206173736f636961746564207769746820612073656e646572206163636f756e742e4e6f6e636520546865206f7574707574206f6620746865206048617368696e67602066756e6374696f6e2e48617368205468652068617368696e672073797374656d2028616c676f726974686d29206265696e67207573656420696e207468652072756e74696d652028652e672e20426c616b6532292e48617368696e67205468652075736572206163636f756e74206964656e746966696572207479706520666f72207468652072756e74696d652e4163636f756e7449642054686520426c6f636b20747970652075736564206279207468652072756e74696d652e205468697320697320757365642062792060636f6e7374727563745f72756e74696d656020746f207265747269657665207468652065787472696e73696373206f72206f7468657220626c6f636b2073706563696669632064617461206173206e65656465642e426c6f636b204461746120746f206265206173736f636961746564207769746820616e206163636f756e7420286f74686572207468616e206e6f6e63652f7472616e73616374696f6e20636f756e7465722c20776869636820746869732070616c6c657420646f6573207265676172646c657373292e4163636f756e744461746143616c6c3a3a72656d61726b00000000000400000004000000b200000043616c6c3a3a7365745f686561705f706167657300000000040000000400000089010000706167657343616c6c3a3a7365745f636f6465636f646543616c6c3a3a7365745f636f64655f776974686f75745f636865636b7343616c6c3a3a7365745f73746f726167650000000000000004000000040000000d0200006974656d7343616c6c3a3a6b696c6c5f73746f72616765000000000004000000040000000e0200006b65797343616c6c3a3a6b696c6c5f70726566697870726566697800000000000400000004000000040100007375626b65797343616c6c3a3a72656d61726b5f776974685f6576656e7443616c6c3a3a617574686f72697a655f75706772616465000000000000000400000004000000b5000000636f64655f6861736843616c6c3a3a617574686f72697a655f757067726164655f776974686f75745f636865636b7343616c6c3a3a6170706c795f617574686f72697a65645f7570677261646543616c6c54436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e00000000000000f6f61100430000004572726f724572726f7220666f72207468652053797374656d2070616c6c65744df711001b000000496e76616c6964537065634e616d655370656356657273696f6e4e65656473546f496e6372656173654661696c6564546f4578747261637452756e74696d6556657273696f6e4e6f6e44656661756c74436f6d706f736974654e6f6e5a65726f526566436f756e7443616c6c46696c74657265644d756c7469426c6f636b4d6967726174696f6e734f6e676f696e674e6f7468696e67417574686f72697a6564556e617574686f72697a65644576656e744576656e7420666f72207468652053797374656d2070616c6c65742e00000021f811001c00000045787472696e7369635375636365737345787472696e7369634661696c6564436f6465557064617465644e65774163636f756e744b696c6c65644163636f756e7452656d61726b656455706772616465417574686f72697a656452656a6563746564496e76616c6964417574686f72697a656455706772616465446566656e736976656c792062756d70696e67206120636f6e73756d6572207265662e000000c2f81100230000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f62616c616e6365732f7372632f6c69622e727372756e74696d653a3a62616c616e63657370616c6c65745f62616c616e6365733a3a70616c6c6574617373657274696f6e206661696c65643a206163636f756e742e667265652e69735f7a65726f2829207c7c206163636f756e742e66726565203e3d206564207c7c20216163636f756e742e72657365727665642e69735f7a65726f28290000f0f811004d0000007204000006000000205468652063757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e2057686574686572207468652074696d657374616d7020686173206265656e207570646174656420696e207468697320626c6f636b2e20546869732076616c7565206973207570646174656420746f206074727565602075706f6e207375636365737366756c207375626d697373696f6e206f6620612074696d657374616d702062792061206e6f64652e204974206973207468656e20636865636b65642061742074686520656e64206f66206561636820626c6f636b20657865637574696f6e20696e2074686520606f6e5f66696e616c697a656020686f6f6b2e20546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e2042652061776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20466f72206578616d706c652c20696e2074686520417572612070616c6c65742069742077696c6c20626520646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e4d696e696d756d506572696f642054797065207573656420666f722065787072657373696e6720612074696d657374616d702e4d6f6d656e7443616c6c3a3a7365746e6f777365742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273005cfc110067000000f70000000f0000007374727563742047656e65736973436f6e6669672043757272656e742072656c617920636861696e20736c6f742070616972656420776974682061206e756d626572206f6620617574686f72656420626c6f636b732e2054686973206973207570646174656420696e205b60466978656456656c6f63697479436f6e73656e737573486f6f6b3a3a6f6e5f73746174655f70726f6f66605d2077697468207468652063757272656e742072656c617920636861696e20736c6f742061732070726f7669646564206279207468652072656c617920636861696e2073746174652070726f6f662e2053657276657320617320636163686520666f722074686520617574686f7269746965732e2054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c20627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e54696d657374616d70206d7573742062652075706461746564206f6e636520696e2074686520626c6f636bd5fe11002b0000002ee211004e000000e6000000040000000f0200000f0200000f0200000f0200000f0200000f0200000f0200000f020000100200000f0200000f0200000f020000000000000400000004000000ec000000303030313032303330343035303630373038303931303131313231333134313531363137313831393230323132323233323432353236323732383239333033313332333333343335333633373338333934303431343234333434343534363437343834393530353135323533353435353536353735383539363036313632363336343635363636373638363937303731373237333734373537363737373837393830383138323833383438353836383738383839393039313932393339343935393639373938393900000000040000000400000011020000496e686572656e74446174614578697374734465636f64696e674661696c6564466174616c4572726f725265706f727465642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727300006200120084000000160200002f0000000000000004000000040000001202000000000000040000000400000013020000557466384572726f7276616c69645f75705f746f6572726f725f6c656e000000000000000800000008000000140200005765696768747265665f74696d6570726f6f665f73697a6553746f7261676556657273696f6e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f76616c75652f7365722e7273006e011200650000004f010000120000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300e40112006f000000be0100001d000000000000001000000008000000150200000000000004000000040000000e0100005065724469737061746368436c6173736e6f726d616c6f7065726174696f6e616c6d616e6461746f727900005ee311005f0000007d020000280000005ee311005f000000a2020000280000005ee311005f000000fa010000280000005ee311005f000000080200002800000062616c616e6365732f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f67656e657369735f636f6e6669675f707265736574732e7273f80212005c00000021000000050000006b6579d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d7375646f70617261636861696e5f696470617261636861696e5f696e666f617574686f72697469657361757261160200000400000004000000a401000073657269616c697a6174696f6e20746f206a736f6e2073686f756c6420776f726b2e20716564646576656c6f706d656e746c6f63616c5f746573746e657473657269616c697a6174696f6e20746f206a736f6e20697320657870656374656420746f20776f726b2e207165642e000000f80212005c000000450000000e0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f746573745f70616c6c65742e727320412073696d706c652073746f72616765206d617020666f722074657374696e6720707572706f7365732e63756d756c75735f746573745f72756e74696d653a3a746573745f70616c6c65743a3a70616c6c657443616c6c3a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f64617461637573746f6d5f68656164657243616c6c3a3a726561645f616e645f77726974655f6368696c645f747269657343616c6c3a3a726561645f616e645f77726974655f6269675f76616c756543616c6c3a3a73746f72655f76616c7565735f696e5f6d61706d61785f6b657943616c6c3a3a72656d6f76655f76616c75655f66726f6d5f6d61707365745f637573746f6d5f76616c69646174696f6e5f686561645f64617461726561645f616e645f77726974655f6368696c645f7472696573726561645f616e645f77726974655f6269675f76616c756573746f72655f76616c7565735f696e5f6d617072656d6f76655f76616c75655f66726f6d5f6d617063756d756c75732d746573742d70617261636861696e00df6acb689907609b05000000d7bdd8a272ca0d650200000004e70521a0d3d2f801000000dd718d5cc53262d40100000037e397fc7c91f5e402000000bc9d89904f5b923f0100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b010000007dc23ff6bf0f15ca01000000ea93e3f16f3d696203000000fbc577b9d747efd601000000a2ddb6a58477bf6301000000ad694c0c2537478a01000000000000800d06120016000000000000800d0612001600000000000080240612000f000000010000000200000001000000010000000100000042616420696e70757420646174612070726f766964656420746f2076657273696f6e3a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e00000010071200a10000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f6c69622e7273000000bc07120049000000f10100000100000042616420696e70757420646174612070726f766964656420746f20657865637574655f626c6f636b3a202e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e0000180812002a000000420812004800000042616420696e70757420646174612070726f766964656420746f20696e697469616c697a655f626c6f636b3a200000009c0812002d000000420812004800000042616420696e70757420646174612070726f766964656420746f2063616e5f6275696c645f75706f6e3a2000dc0812002b000000420812004800000042616420696e70757420646174612070726f766964656420746f2072656c61795f706172656e745f6f66667365743a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e00000018091200ad00000042616420696e70757420646174612070726f766964656420746f20736c6f745f6475726174696f6e3a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e00d0091200a700000042616420696e70757420646174612070726f766964656420746f20617574686f7269746965733a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e000000800a1200a500000042616420696e70757420646174612070726f766964656420746f206d657461646174613a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e0000300b1200a200000042616420696e70757420646174612070726f766964656420746f206d657461646174615f61745f76657273696f6e3a20dc0b120030000000420812004800000042616420696e70757420646174612070726f766964656420746f206d657461646174615f76657273696f6e733a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e001c0c1200ab00000042616420696e70757420646174612070726f766964656420746f206163636f756e745f6e6f6e63653a200000d00c12002a000000420812004800000042616420696e70757420646174612070726f766964656420746f206170706c795f65787472696e7369633a200c0d12002c000000420812004800000042616420696e70757420646174612070726f766964656420746f2066696e616c697a655f626c6f636b3a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e480d1200a800000042616420696e70757420646174612070726f766964656420746f20696e686572656e745f65787472696e736963733a20f80d120030000000420812004800000042616420696e70757420646174612070726f766964656420746f20636865636b5f696e686572656e74733a20380e12002c000000420812004800000042616420696e70757420646174612070726f766964656420746f2076616c69646174655f7472616e73616374696f6e3a20000000740e120031000000420812004800000042616420696e70757420646174612070726f766964656420746f206f6666636861696e5f776f726b65723a20b80e12002c000000420812004800000042616420696e70757420646174612070726f766964656420746f206465636f64655f73657373696f6e5f6b6579733a20f40e120030000000420812004800000042616420696e70757420646174612070726f766964656420746f2067656e65726174655f73657373696f6e5f6b6579733a200000340f120032000000420812004800000042616420696e70757420646174612070726f766964656420746f206765745f6c6173745f74696d657374616d703a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e780f1200ac00000042616420696e70757420646174612070726f766964656420746f20636f6c6c6563745f636f6c6c6174696f6e5f696e666f3a20002c10120033000000420812004800000042616420696e70757420646174612070726f766964656420746f206275696c645f73746174653a207010120028000000420812004800000042616420696e70757420646174612070726f766964656420746f206765745f7072657365743a2000a810120027000000420812004800000042616420696e70757420646174612070726f766964656420746f207072657365745f6e616d65733a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e0000e0101200a600000042616420696e70757420646174612070726f766964656420746f2070617261636861696e5f69643a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e000090111200a600000042616420696e70757420646174612070726f766964656420746f207461726765745f626c6f636b5f726174653a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e204e6f7468696e67206261642068617070656e65643a20736f6d656f6e652073656e7420616e20696e76616c6964207472616e73616374696f6e20746f20746865206e6f64652e0040121200ab000000010000000100000001000000060000000100000001000000010000000200000002000000020000000100000001000000010000000100000002000000080000000800000008000000040000004964496e6465785261774164647265737333324164647265737332304d756c74694164647265737373705f72756e74696d653a3a6d756c7469616464726573734163636f756e7449644163636f756e74496e646578466f756e64206d756c7469706c652041755261207365616c206469676573747300000095131200200000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f617572612d6578742f7372632f6c69622e7273000000c01312004d0000008b000000180000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000201412007d000000d1070000090000004163636f756e744461746170616c6c65745f62616c616e6365733a3a747970657342616c616e636542616c616e63654c6f636b5265736572766544617461526573657276654964656e7469666965722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730000ff14120067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f6d6f642e72730000007815120071000000560a0000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300fc1512006f000000620300000900000000000000000000000100000021020000556e646572666c6f774f766572666c6f774469766973696f6e42795a65726f4572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f6465636f64652e72730000b01612005a0000006b0000001e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e727300001c1712005a000000410000001e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c69622e7273881712006000000063000000150000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f73747265616d2e72730000f817120056000000470000003b000000f81712005600000047000000490000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6e6962626c657665632e72737018120068000000160100000f00000070181200680000000d01000010000000701812006800000011010000100000007018120068000000110100002a000000496e6372656173654465637265617365fc1512006f000000be0100001d000000fc1512006f000000a80100001f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f697465722e7273004819120073000000f6050000150000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d726f6f742d302e31382e302f7372632f6c69622e7273000000cc1912005d000000a100000026000000cc1912005d000000a10000001f000000d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4890b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20e659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e1cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07cbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25ffe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625e860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c8ac59e11963af19174d0b94d5d78041c233f55d2e19324665bafdfb62925af2d101191192fc877c24d725b337120fa3edc63d227bbc92705db1e2cb65f56981aac859f8a216eeb1b320b4c76d118da3d7407fa523484d0a980126d3b4d0d220a1254f7017f0b8347ce7ab14f96d818802e7e9e0c0d1b7c9acb3c726b080e7a03496e76616c696420617267756d656e747320746f206076616c69646174655f626c6f636b602e2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f6c69622e727300321c120049000000860200000100000009000000080000000e0000008c161200951612009d1612000800000008000000080000000400000050726f6f664465636f6465416273656e742f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f747269655f6261636b656e642e727300000000000000080000000400000022020000230200002402000025020000260200002702000028020000000000000800000004000000290200002a0200002b0200002c020000260200002702000028020000c51c12006000000052010000160000002d0200005400000004000000a8010000a90100002d0200005400000004000000ac010000ad010000000000001000000004000000aa010000ab0100002e0200001000000004000000af010000b0010000b1010000b20100002f0200001800000004000000b4010000b50100006e6f7420696d706c656d656e7465642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6261636b656e642e72730000031e12005b0000007801000003000000031e12005b0000006601000003000000031e12005b0000003b01000011000000031e12005b0000003901000011000000031e12005b0000006b01000003000000031e12005b0000007d01000003000000031e12005b00000061010000030000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300d01e120067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000481f12007d000000d10700000900000000000000040000000400000030020000000000000400000004000000310200004c61796f757473697a65616c69676e00000000000c0000000400000032020000330200003402000035020000360200003702000038020000000000000c00000004000000390200003a0200003b0200003c020000360200003702000038020000000000000c000000040000003d0200003e020000000000000c000000040000003f020000400200002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300802012006f000000be0100001d000000050000000600000006000000b41c1200b91c1200bf1c120001000000000000000000000000000000000000000000000000000000000000000000000000000000b0a00e02d2c986019d188f007f693500600cbd00a7d7fb019e4c80026965e1011dfc0400920cae00edd3f51cd21893009635e71d45bdf31d4d01000000000000000000000000000000001000129d5f0b171b141e3d7f8d1557373f1481d772197ceb2f043dc7ee1c1e4d181e6d040500edf94d110373611a8c097c0f673179166e65fd1fffffff1fffffff1fffffff1fffff0f002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f637572766532353531392d64616c656b2d342e312e332f7372632f7363616c61722e72730000d421120066000000340400001c000000d4211200660000005704000012000000d4211200660000005804000012000000d4211200660000004304000012000000d4211200660000004304000035000000d4211200660000004004000011000000d4211200660000004b0400000d000000edd3f51cd21893009635e71d45bdf31d4d01000000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000000000000000000000000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f637572766532353531392d64616c656b2d342e312e332f7372632f656477617264732e727300f8221200670000002e04000009000000b0a00e02d2c986019d188f007f693500600cbd00a7d7fb019e4c80026965e1011dfc0400920cae00ea405d00a06a3f0039d357020bd2ba0058bc740240d80100ffc83d01d8429401fffa5c0024b2e101723b8c05bcf12403f625c30160dc3702b64c3e03c2423d02314ca405e0a44c014b3da303743e1f023e91400375410e00a273d603058a2e007ce6f403098a8f00341ac200b8f44c00818f2901bef4130168aa7a036181440079d5930056651e01a0679b008c594301eee5be01430bb500c6f08902ed45bc01d7713c0324ff390343b2b6027fd0b300761a7d020207d601f0324d0354cbc501d287fa0318306401a8d5b4021058690053d19e010573620004ae3c02aa376e01d8b5110313bcaa00929c660256d6ae015f7a9b01e92caa007f08ef01d6ecea00af05db00316a3d010542d003016a6e0150ea1303d66bc0013097ee04122a6c01e455710132448701106a0904316701014f01a80522981e030ea8b9013859e80165d2fc0029fa4700ccaa4f030d2eef014f4def00bdd64b01108df90026504c01bd55750056e4aa0089d8d001c3cfa40195424c03aee110018c5062014cdbf200c6a272002eda98009b2bf1029aa068019f09fc02636ed4000e05a704e8efa3011b979d0165920a01fd9e460645f9e400581e3204433aa001bf18680181428101bf32550307b38a0125fac9007350a00083e671007d5893005a44c700fd4c9e0009ff760071fafe00424b2e00e6da2b00e578ba0194442b00887cee01bb6bc5015335f6033274fe0120bba5040111af004254a001f73a1e022241350244ecbf022c86f505a27bdd021f6e14073217a502bad64700e9b06000f2ef360139598a005300540387a064005c8e7802677cbe00b5b13e03f929550085822a0160fcf60097973f02ee853e0020389c002da7bd018d85b3018356d300bbb39602f9aa0e0131711503ddba3b014107f10145064800569c6c0635a759026c34db060bb01701c32c6a07ed954701a48c7d039ead01003329e700913e21008a6f5d01b953450090732e006197100117e41a0031d9e200714bea02c0990c01b53060030d0d1a0080c3f90244c13b00842551027c6a3c00d6f0a901a4e34200bfa34e0424349702624d1a04ed9cd501d4c0d105482e54021341290535ce4f02c8839202a96f1801b1213202aa26cb014df77400d1dd99008580b2013a2c1900c9273b01bd13fc0031e5d20175bb7500a2b3b8010072db00305e9300f52938007d0dcc02f3ad77002cdd200253ea1400f9a0c601ec7eea017c3edd008159d603358b05024314bf030cccb20522c3d9002f33ce0525f6a500ce1b06029d572402d93492037c7bd701543c1f03aa0d0700daf55802fb233c0037d6a00384653800e02013029240ea001a91a20172767d00f8fcfa00655ec401c58de202322ab600870c09026cacd201c4ecc201f1419a001d9c2f0398433701d9a5220648b4b302d9424705577a6302d3b5db035b2ae701ee009a04f44db7015e51aa0112d5d800ab5d4700345ef8001297a102c4d14201adf40f02a130b700313df002b55dc300c7e40601c8051101882ded036b9404005a4fed03263f4d013452cf018e16760164e812015c1a4300f2c7580320a88a0194e1480002d11b012bf5a801dced11011dd369028ceedd008050f5026efe0e02de5fbe01df09f100924cd4036bcd68013e7599009045300023e46f00c021c1016fd6be027298970004665800334af800e2c78f02cba26501cf61bd01f5681200e6f61e03169445006e583402e1b55901bd2f5a0271a150031f74f804b29857014490b10158ee1a0338207101014d45023a79340397ee53023408c100e727e901c6228a00de44ad005b39f202dbd27f01bf07f6029623bb00c3eca5006f5dce00d4f785019a85d1019ae70a00404e26007af964011e1361013d5bf901f8854d00c53fa802730a5200a5ec7106d2cbc2013c64fc022305ca01765b9903804f1d026667ab02ecd76f03d6354504eef01702c295dd0325e1de00e8ffb4027552850138d1b1018be885009eb02e02c1732e0058f7e5011c67bf00dddeaf0294eb2c0097e41902d96967008e55d2009581be01d4415e027486e00151c675009ddddc0090652404c472250267aca6020ab600025048bc0360bc100343060a04c69391010709730540d6af01d9add100507fa600f7e50402a6b77c01591ccc02ae3bf0010a29f8016c2833018fb1c30295fa7e008a5b4101783cde01f4c1ef001dd6bd017f021900509aa2004ddc6b01eacd4a0135a6670373480900d15e2f031dc8190122d659033cb08c0152e2a3034a82ac00802611045e899803d57c9f054e5d000294529d02c282fb0127ca4c03fa7ee0009d633e02ce07e1015f44c3008cba9d018213e7032980fe0034db3d0265cb48008d070b03b9a4d5001f7a770085f29100d0fce8035ad5b6018e04fa02f8d74a00921e6f05aa09df02e47b22055b821a014c9b2d05c28b1c013ae04e048711f7006c7920044efabd014de3fc0225f13e003eae7d039a6f5d0109e6ce0161c52801ff30390240fa0d0012fb9603db6dd20105aea6022b81bd00eb23930324f78d01478d0403666bff00f75a0400352c2a00021ef000043b3f00454e240470a7b400be47c103c69ea4013908ac044c210c02403f0304984d2101abfe6601e4dd0401441efe019229560189ccef026b8d1101baf28700d2d07f00442d0e0248603e00513c1803a9062401f0f81a0023d56d00168136031423e101e93d380339d906008f7c5800ec7e4200d126b70321ee06019b9166005f16d302c30f99022d54e80174229205e6fa4a011a8664055bbbc301a9c67004771c2a02be4643001d511f001da86401a9ada0006b2375003e603b01500c450187efbe01dbfc1200a3dc3a018989bc0352666d0060064c00eaded201b8aecd013c9ed5010cf1d600ac818c005d68f200c09cfb0018751e04e0519e027ee8da04e11ccb02e81b9703742b0501f10e2f071f14060288fb2c021a1ff501b7d67d0227799500ba9ed5035808e30045580002ca87e100c9aecb009347b800127929025d054e00e0d6f0022305b400fb87e701a38ad400d2f974025781bb00130831023d0e90019e4cd300d63352005a75e40266dfcb014afc0f059947dc03150d5b058ca86003b3b68504f9333702e9ead402ae3f9e0227f034019ebd2401d428550120b4f70112661a01541861014415de00948b7a01dbd5eb01e8cbff0066399300e3079a00351693014801e10052863002523c9d019048a9002267ef00c6e92f0074130401a56a0903b681530223b0e60122674802daa28604f42a9e021f956002a42c9002c9ef4802d69605022a42240184d7af0056ae560319c59c0130e8870266b65200fd80b00199b27a00f5fa0a00ec18b200766a8400281d2900321e98037b692600e6bf4b008f2baa002c8314032b0d1701ecff9b019f6d64015db5180766dc6c0236d38304620cd50197979103ed059f02609b0804206c5102000367043d6d2201fa9bb4002047c301254691019f5ff50045e56501881cf0004fe019004e6e7901f7a87c00bb80f700ef92eb024e0b8400463a0c01b508a3014e89850324aa0b018cf35503afe7d701cb96a403eed727011b579c0207a35801ab22e804412c66011a362902eb635701287ba90134722b02748628049a861a02d4cf5b022284260112667d0223e38501750371031c0d7c0098604a015892ce01a6bfdc02a1125801b66417001f753400512e6a010c0207004550c901d1f6ac000c308d01e0d3580074e29f007a6282001becea01e1e20903cde27b0159d63b026f8758015af4cb032f0b2601816cba0258700f05642ecc037fcc2d024effdd01324912037e2a6501f015ca00a0e307006932ec004f34c50167cad001b40f100052c54e03614dcb0029b9f10123c17c00239b1703ce35c0000b7da301f99eb90103833000155d6f012a79e70544c82403b730b9036eee15012632190362d7a30156d41e03a39305017f0623016cdf6e01c24cb2004a65b400f32f3000ae192b0151adfd013672c00127375b00d76cb0010a380700e0e94c00be62ca02f1197d002cc15d02ca08b10087b013007047d501cd3bb00104431a000e8fd5022937d0013c437804c015a30063a47304091476009cd4de029f07d90171f54c05743b7b00b0c25602d40fb0004ececf02d4813b00e9fb160160379801ebff0f03c45954015c958500aea07100ea63a903977458007da453035e1dc601212f0f036278860104ecc100f9f77e0192bb1e0032e675016bd9db03a251a6013519a90699794f031a9b5906057e1102924121052eeafd02193312046853c701a2c4e60470f8a402cffeda00bdd1cb01a3f7de02fe23a50004bcf3017fb3470025edfe0363baf0000539470266484901e1125102e4d28401ed06b4030ae5ae01e2ddc00111311c00a3d7c4020876040132f0470071816d0139f0e700bcb17f027c472c0519aff3005ea919021ae61d020e8b7701a8aaba01abc54c03fb4bbc02897cc400481660012c97f901dc91640040c09f0377efe20081b2920000c07d00eb8aea00b79d920040c7c003b7ac480148e180004d06fa01b941430068f6cf00bc208a03d918f200438a5102ec81790101cf960129c71003041480049e760502b4108f03db260f0216409302481a0d0256e43905cb7c80021818df00db63c700164b1403121b7e009d3ed7006e1de600b3a7ff0136fcbe00ddccb602b29e4101519d0300c2da9f00aadf0000e00b200125c56200a8a4250017580701a4ba6e0060248600eaf2e500e7791304f1fe7001022f5e0508ef060150869902d5fda803417ce004f45f4a021b1e2c02006ddc01b2595900fc244c0018c62e034b4d6f0086ea8803265e1d00b948ea0345448701e66607024ce78c00a72f3a01946176010f1be101a6ce8f016db2d603b383a2008f8de1010dda4e01719921016268cc009c727501a7ce4b02c9c453013a404302892f6f05c3f7800188e0e0029d70cf009a64ff0186256b02c6804f037ed19b01a2feb9023b0ef3001fdb70021cd94100c80d74027a3cc401df3bb802f159c40068104b029410ce0045fe3001e774df01d0a04101c850620025c2b802933f22008bf04103d890840125262d02c678d2006cb1a6039fde0402db7e7702a46ba00350dcf805f0af8800908d1703a88a54028d894e03e1765001331b84033e608b0197fa2700bc9b0f00e8339602270fe801efe5090388af1b0138496101dad40b008705a2016bb9d50002f96b0327f24600dbc81900199d0d0043525003c3f917017e149504314892025d4c940517fb41021ec01704b7d4c9017ae9a205f6ad4802a157db027d8659028c0b0c02a5691d00491be4017178b70141a36d01d48f0b019ee7a801ff805a00390e3a0258340a01fd08a3010091d201098155012eb51b006788a0027dbcd10121236f00d7db1801d30bd60264057600d5c58503dea76d03eb505603458b5e029dc1bf019b0f33010ebe73044d87cf01f80a1b05b47de9025fac0d02a9d5a10126ec8a035e5d5701bd805f007d0fce00a6969f00e30f9e01cd9e7803298d800052b278019c6d8300da0e2c02f6a8ce01d3701c007011e40159102501c5de6c00fecf5303085af301e0f4ac001a587301cc747a04bee6c102b3640b05d8256001994e9c04eaea1f01cdb2b20394c0fb02b6fa8700f61669007cc16d0301d29501a811aa0000606e0174090801327b2801c0bd630022e3a00030504602d233ec002d7af5022bae0800ad25e9039d41ab007a45d70359500201826a6002e2728700ba317702af3e400350331107ef14f301810d08067ed9f301a11b01025976f100f6c6f60336107601c89f9d00a31101008c6b790055a17601250095009c2fee0009a6a6014b62b501314a1900420f2f008be19f004c038e010deeb8000bcf3501b6c0ba01ab20ae01be4cdd01f7aadb0019ac3202d809e900b87e4403b65c30027ea7b7014131fe00103f7f05fd15aa013ae07f0614303f03194e820227c31d02fa84700222cb900068a9a800cffd1e01672826025de45800ce108003d3377a01de16ea00dfc57f00fdb5b50191667600ec992403d3d9480113261802893e3e00988c0400e6dc63010015d40393c9e700ce7b0902ffaad202323a250300ff0e03f2b79106fef1a600164a840478d829025ec37206831897039ce2e703f6054d01f5947302e05c5101dd50f602a97b590149c78d001d140801898846035c4b5c00dd933102337ee200e57c17002e09b500cd40340183fe1c00979ed40083404e00ce19ab0000e68b0099fd6e0266f7a7023f2828012aa5f1013a4be4067af3bd01c35cb203818c56018c59380193c60503cbf89e028fa28d000bace200822a150100a78f038f2424012f58a402a7aadc006247d6005bd04f008c4cc901a62ad60144ff000305807d01bd018c009253da01d6ee48017a7f3500bd74a50353084201c303d003d46e8502c2a82c019ee74502a140c8025a3a6800b63abb02f8e48802ca864c0262dde9024bfed6024f459a004098f802eb88ca019c69990294af1400162313037b79e900bafac60283e58b007650ae03a47d440090ca9402eaeff80087b87600655e110179484602448292007fdef801457f76010b52d702bb4a1301e4a7c2027419420140ea3806d3169c02963b5d022c1c1b03b87ea4031f06ef027f726301db3402016260a6023dbe7e016bdea8014be2ae00e6e2c7003c75da01fbf81401d6bccc000cc286027a45c001a8ad240236625b00df2a6602880166009d5a1900ef7a4001fb06e900073614013f74ae04862536010eba7d04e270af0163b4e10329edf401f3ade202f7122102aa63960349eb32017552200269a8ed00cf6dd001e409ba00873ca902b25c8f00f4aa6803ea2d7c014563ba007589b700cd1fd700280964001a105f0144d957000897140319643a01afa5cb01347646000720fe02f3fef5019490c2037c711703ae79b5048754d10289061e0358301c02209b0e0318f09a028ccd6d0545733e0101286b02899ac7015ddfe2039cab2600a3b119022c7603010dde1701d1be5101757be8010dd5650168377b021af6a50032634c038bd6200160414303170c1c00ae564e0140f76000a08743004237f30180cc6003190621016133530598d5d00101b8360318da0b023043f606109548030b194804294fd602170426011b8b900194bb170012a48400f554b80277c668017dda60003875ea010c1dd602432f0a01a79a84029726c60042b25903c72eab010c635303d1bbfd01a92d2a018ad17c00d6a28d000ce69c00532470060193430233d77b03e8ab360161893e04f6da2703e5daec00f7bf7f00c3925404a4b05c0113d45e03104ae30058289901c6930101cd43f502ef03da013c8dd50360b76a00c3e8eb025e569a00be30cd0275d1f101ef78df01d51d9f00a37f93030cda5d005518440245145001bc058c015261fe015063bf038354850369da74036f7a2e0268112004c1a03f0342de2705d7fd5c02b069cd0394c9c30217e10b0327a2730009075100a5dadb00b41600021c92fc0191cfe101b48760001fa37000b10bdb01850cc1022a4e3200417179013bd906016d5e180170ac6f00070f600024557b0047961503cf49bc00c00ba701d5f5220208e65c04a18e2701d65a1b04616159025d4fd304599df0005fdc7e0565b0e200111ee002221f7f00e7e8730155538200d249f5032e8f72014341c5003b483e01b685ad025c7976013bb15103e945ad01cc80b100dcf433001af4d10149de4d01a20860029595d3009efecb01367f8b008ee03b04036d1601dd2a2d07ce926601eb8ebb0431cdf501094a59022f4f8e00de4c82031da63f02d90c0d0330b8f400bb716600da65fd009939b6021f962a0019c69201edf138008c4405005ba4ac013b91ba024234cd00dbcf81016d731100368f3a0115f87801b2ff1e00c1ec420100ff0703fcc03001ed44d90502d600013f659205de7d2303e949b303f8a7e200e1af0a0161a23a026970ab0154ac0503858cb20385f58e00615a7d03b9cbb901de4d1703bf5c6a000fc67303d898f800abb27803e3863500b036c101fafb3500d50a640122c76a00971ff402abe057010ded1703fc551a017e277403ab686400e80e4603d3d08a03fbd3fa04af31a5000f4c7b0324daa0015b871005097e72014505e003f6f98d0231143c01f1d2bd01c2d9bb0197037100975cae00e73eb201dab7e10017172101ccb5500039b8f80130b40103597b5d012600a2035ff8340153428c00227fe401c18a0701a66ebc0015119b019abec601c3503b0311078f00481de205c6d9f900e8a1470195bec900d9af5f0270934303888fc7037ecc01021db65301cee69b01b9cc3c000a7d5501e7601903fe59f701d4feaf01e8c151001c2b9c020b4508008018f80012c63100863c230076f612013058fe02e315ba01b5417001db160101157e3403bc3531015d198f04257f3701e165a306ce853d018845ae05bd7691033a62db03d80df501f9880a0453fee202c91f7d01f033fb011e838203018a3201d6d7b101df0cee01fb9538037b5b4401477eaa0276ff64006f87e8030d4fb200fa83c5008ac6d00079d88b02761224011cc17a00102a2d01d4f0eb01e6bea901c623e4026dad4802d5ddf10337948702bf754e068b5dcf018e419504141262015e2cf4016abf4d00eb550802d56eb00148ad13029fc4c701ec5a9000c1ac7101c79b8802e35add0089314a01a4ddd701d1bd050368ec3701291f8101c1ffec002ed93c008a58bb01e152ec03504597018dbe10010d8608006c7a300350409c00abf38b04ec23f6007a8fc102d37a92025e29ff0556844d0203d41f04101f4e02142dad02178ed9015e090603e2530600623b82023d1e21000873d301a261800106b81702731ca801f88a970361f4f000ba76820072f8eb0168adc801a07c47015d24a401af419201edf1aa02c9c6c500d1478a022cf66d03c0349e0085bbb00053fc9a0657bddd01a949fc04933a7d00244433062845b101a84c56032564cc0125352300af136100e1eefd0350518700d21bff02ea496b0008cf7300527f880041631502ce13880064a4650050d04d0183cfed030e030f0120a66e009c5f550124b96f01966a230180974c04715787019ec240040b7a1f01e7076506ab7762029947dc02be393501a7e8a007de206303c79ca5009799a300d90d9401c5715900951ca102ce171e006984e30335e65e0184adcc035bb79d015890fc0265215a009f610300b5da9b01ef7277006ad63501a4be7301985be101576a2c03cf3d710084347c04be1b9c016d36ec050d1ea601267fcf05e4c71c00bce4bc06629deb02f5dab7056a16c101bba05f004cef9300cfa1750033a6020133750a024838e30197c1e100845e880164bfd100206be501b32bb40164d276007243990316581a01589a5c01dc788c018f72cf03fb73fa0121ce48008a857f01f5b17c05564b61000fe55c02ef438301757be3029178680190d5ff0580bb4603d97736040013ad021a969401f8534800cbe9a9018e6b3800f7f926012df250011de967006052460017c96f0051271e018eb74e03c1ea210143e38c02d7ce7400461beb0367904f00a4e65d02d5879c009abbf202bb148301116dae009f70f102046e950523a5da02a51d1305b12e49025c2b2002f7bded02659b8d04c85dc301f18bfd030e6f62016b41a3029a4fbe0148aec102f52830016a580b02c9615501fccc120370f242005ba0c202cf12ba0051153c00bc68a7017ba66102d1858e0038f28902286f82006f973a016fd58d01b7acf1032506c401b8077b032d0bf602f46977050e02a10107ce2d0311ca4a03517c7305d38d9d005308d1028a0fe801ab36ad0231f78400d6bdd50090b86900dffef800ff93f00116bc480007333600a919b402dbb4000152a01400a3bdf30139d1c20356493c006a183100f5f9dc0016ada700760bc301007eed006e9f25013a522f04b3bb5602bb94d005632585010670c10480bc9c01536a810384e1ca020eec6f0327146500acac310232364a01fab9b8035c9be001b3f9e001e6b2920048393602b13eb80064cd4800b9effd013c0fda00c4433801e920ab012edbe400d06cea03133fe801a435c70185e4050121cd6b004aee8c03949cdb06edacb203f9bddf021f8ed301d90f8a05f0c450021b24620215eac7022aeddc03f53925008e118e039c3e1a002bee5f0202d90601d419f00127dcae0199cd3002120dc001f42236028b109b00f0b505029ac13c00a68004032391380195f0db007833910052992a018cec9200585cf801bd0a03023e88f204d227180212caa105ac1bba01d1ccef0228d1a203b4fe9f03ab743402c367de02cc453b0035162901da30c20050d2f200d2bccf00bba1a102d711010088e17100fab83f00df1e62024ca8a2003b35af0013c90a018ae0c20093c19a01d3bd0c0200c8ae01318571015eb35a00adb687045db171022a59d70387fc6a037986530603f5420151312701dc02e0026081b1044c3b59003d1d9b01cbabdc015b4e8b009121b501a8188d013796b3008b3c5003d927610002936b033bf848009ae62f010653b6010f69a20288d45101b3b8860127dea401dc69fb01ef707d003f0761003f68e301813a0c04593ce00153d4fc004fd7a802f7ddc7017379010223ac78041fa2bb01386b3103922a15026ac62b01394a57007ecb51038087c3008c1fb100dd8bc20003ded7008344e700b156b2027b97b400b87c260146a31100f9fbb5012a37e300e2a12c0017ec6e0033958e015d05ec00dab76a0242184d0015f5d103dd799902a4391e04527d3c0245265201e506bc006dde9d0336763f01cc97ba00e3219501feb0f601e3b1e300226aa302af2b4f006a5f4e01b9f17a01b80e3d002401ca000db2a203f60b8400a1e65c014101b901d332a5018d9240019df2da0015a47d00d58b7a0143475700cb9eb201975c2b00856f05072503ef01d8fffa03af3f470149f54d01faae12032031e303f52efb01992330057c9d3d0157244e0360ec990088bb78037086ab0112d5d902d75ed101fb053d005e03ca00031ab7033fbf2b011e171500818d4d0165780701c24c8c00bcaf340310519400e8563701e130ac00862a2a03ed322f009612fe04139357030cc3ef0344f71702ede58003b0317002a762fb037847f800f3089102f5e39901c8a9b102fa8ba5010ba3b903a328ab01989f1b02f26d5b01dd18700112d6e7006b9db502c2930001c2636803588cbe01b0427e0269b9420031da1f00fcae9e00bc4fe601ee29e000d4ea0801880bb5008075530343c35e022d84c904ef985802a33945069ee02a013ad7430376c38d0123b47902ce2f08039bd2df0065c54401fe528d01fa89e900615685011050450084839f00745d64002d8d8b0098ac9d01472b5b0047992e0027107003d8886101dbc61902b0353100de5886037f0f3c00cfc0a903bf74d101574ed305c7d5b701060c7a02ddcb3c01206ec702fa6a7502e3e10401783a0703dbc154066e851b02bdc8c9038a879600ea37b0033c324100986ca903db5501016f87e300a21aba00cf60b902f3886b004a993201c66197006e0b56038e75ae0172d4c80005cab700eda40a02b8ef3e00ec781202617b630195c9c2022dead600bf85310362a97702bdbb230173152d01f88348046f067b01d531b502a5e922025cc56602fce4cd01023bc9012a622e00db252303a8c326005e7cc1019c2bdf005f48850277cebf007ac5ef03b0bb4f01fd2e0201faa7be0054811300cb71a601f81fbd02479dca01cf474903ce184800f70f1205d1514c0157d0c0037df36b01ed8d7803c679ea01880c3b0323dc7b0193b33c06ee0c1d0242006101241e260172015d035f67e701c49e3b01c0a4f000caca390317ae3000594d9b012a4cd700f497e90017305100ef7f3402e2822501f7745d017c847600adfec00106eb53016dafe701fb1cb6006ef95d0253b880024bb53e04ae80ba00643588066b1de200dde93a0513634a02ff15a004850d15020934370310598c00af223b0054a57701dfe2ea030648a6017a73ff0112d6f600fa074701d9dcb900c1234c03257daf00bd61d20072ee2c0128bca9022cba9a00515c160084a0c10079d062030c512c01b89c5204463a1501cf72bf023126930299d8c304641912023bfad703e884eb0166af8e01100e5c027a1f6e02edf12d0198d9ef0161a82f01f85510011caf3e0138fe3600dee77e00a62d750211bd6001e44c3200c8f45e00c6987801442245010b41a00264135a00a7c578034336b90128dabc0071a830003269bd011a522001b85da401e4f0ed0141b63504aac55c016a09e901c77890014d310a036caa690347041f031bf47101493a0b003edcf601789ac8028fd2b2017d3981012bfa0e01646f1c012f56f1013d469603344905011d1a9e00d11a56008aed4a00a45fbc008e3c1d02a174f801baafa00097121000be6f4106c9862703566c3107811a4703db1bd70267695d031dec1f068500d3018e7f6e01d449e502d643a702c201d0018311dd0332d95a0043eb3203ded28f00b3358201e96ac600d9addc036fe518019c9a5d0246cbf6012f4285030288e60116dd7102ea6fd500aa785f02fadd02002d829e02685ed901df34b402d4442d0167261c04f39e4c02a0c86007cd350d01ba439404a936f80276a2b20352140b02172ac001929fa301b6e86f004de5150146358f001b4c2200f6882f03da27b6015be0c901138e0e0145b6f103a276f500096d6a01aab5f7014d2fee0353d2b001d46b8b0027260b004815960048824500ba4d9b028d851502466fac02e12a3b03b100d7052080f102e9fc0d01b84f08026d1e4903f58dbd02aacfda014a9a450189f631039a2064007d4a690359553d0122e5b1033d7dc1019856bc014978d400be7bf60286d12601963a2c015c45d6010d0c5803fb99a601fccf70033b4e5301e27c6e00b460fc010f752102a3dc520128011b0724a4a601a363a9063b904603bea612046afa4202c441320400b31203ec6801032a9923014f6fa8006eafa80029692d03da0ecd01a3e98c022a017600e943c300b2529f0177577a03d3ee5a018f237c02188ca400fbd72c0284466b0164e350025ba93700d72a310072b455010ee81b05abd519023db07b061e851803dfbf3e045c469902b42a680116bfe001c7c88c03f8ea250282398d00c338d001fd8246031fadf0011cdcc7006e64730183e5f900e4e9df0124d8d102b1b1d101a42da502df6172008961a803e0deac00a50d3101d2ebcc01fb041c0245a09700e8be340252f85d012bd74d05aeafb3019f3242047830d0023ea9d103ffd1c800e0bb2c0548a2520009b08f03124cc1010a3ba701182b9a001cbebe008dbc8100e8ebcb03e9006d0135419f003c58e80178fd9602fbe98301c66e2901534d4701c7163b0269fdf201140ccf03ec42bd005ac6ca01e1ac7f003516ca0038e68400ee55b7046cbe2a02f244ae056ce49a00c8b17a0522a0b701b030550359daa901f7984e04c9fe6e02f3332b008e6241013e911600466a5d00e88a6b016eb33d01d281da01f2d15c00235ad901b68f6a016165d90371fadd01accc06003c96a30049ac2c03ee6e5001ec4c9902a08cf90095e8e500851f28019ba477047033d60280e402063e22f3026ae3f403ad6ac8015399460531231002f94ad802ebbd420199f90d00e6b20401dc29ee0076e379015d578c02fd775c0049eff6027457800013d39103b02efc00e55bf6014580f701c94d3601080b09019860a600d9d6ad0185c0020100cf0000bdae6b018c8664008bc1f301b666ab02ea9a33048d057b013ba85901d90e5c0112d60501d3a7fe022b06ca027712ec01fc70b803b7df8b0028b17702b57b5a01afa5b000f74dc2001bea7800e700d6013a271e007d639101834444018ddef800997bd2036d7f9801e421d60187ddc500896102000c8fcc015029bc00734f82014b03840497afbb017b8d0a077cc0b3010a67c60494062d02da55bb05e512b20147b6980402c6b8016d70e00161a1e600fe632603399fc5009742db003b458f01b870f90077882f017a828400a8475f0171b02801e8b9ad00cf5d7501449d6c01650593023061210059416f02f61ea3017bd9dd0166fad800b3ae4b0238371200e305ec05e4d5ad00c96dda0131e9ef021d379e0518b26a029a6fbc015e7e8c02c41fee014df01000d5f219012647a800cdba5d0230d38c01da00b4038576a500a09386036dba2301c6f32a00f392770086eba30104f18701c02ec10266b44f01e004b802f17682009287b001ea6f1e003242d50228607b02785e2a03b1bfc3012d822a0474540801e831d602ed7a6d0205475901ecd37b02f40d300276940e00721c56034aed190190e510028064350185967802a79d320017486803df310e00ec7b160396b99701a950b80186b6140029646501992110004c9a6f0156ceea01bfa0a402a47b5d01eed7a4024211af01a80b3b039d293d0347bc0e03c206890115931d0313670303f482e30379288002cf2f18022224200098bab70344ca1400c385c300de33f700a9ab5e01b700a0013fcd12019c530f01c53af902fa596e01310a5802322bd80062f2c601f5977100abecc201c51fc701e4512601293b1400ea68e604975d0e03f4f29206d4a9f001ef666c069ea7ec0299dabc0495e9ca011a13fa05014785019c0c3f0191b7c6006878730381fbf70011d4a7033d7b8401f664bd009bdf98008fc521009b3b2c01965df0017f0357015e47cf01a7550101bb9874030917170089c35d0136626100f000a80393bc7f00736b97044bfdab025984c00491163602df423606e4bae50126b6c40094fb820140836c027f01a0029631a702c6fe9401fa068300bbfe810154523e00b2173a01fd840500a4d5270086fc92022435510188865200cda7ee015d2db4038328a100fe6f7001364bd900b3e6dd01eb5ebf0116f33001ca91cb0114762a03748dfd02fd00de042afb320235a9ea054f44d00094cbf3029007870006fe0004fbb97f024f08810325234801d224dc01281a5900a840c50202deef010153d702b39f69003a73c200ba746a01e5f7db038076c100caaeb701a6a14800c96b9302ec884a00e9e66a01696fa80040e01e0101e503004097af03c1eee401fdfad400bbed790242fb6001c51e0b02b65fcc04cc598a023fdd2505fedf1e03b230d303f0c85a01a6d160033882dd002e72c8033cb8420037b618026db62100abbee803715e1f0012dd08002fe7fe00ff705300760fd701ac192802bfc11f01ed159203aac1760164ea350282d4700046c06b0507d01b02b4d90f07e595e8028bec7e048f09c7010b4fb50292b6ca01126db60330d4e1024aa3cb00afe994001a703300c1c109010e87f90096e38200cc00db0118f2cd00eed0750315f470001ae522002550bc01252dce02ef5ae1011c032f0329e04c00baf3a70020840f0104337d008b871800f3f0db04abe58501f5d63204e60bcf03bd7e5305b3a3aa01f4381805b1a4d3010210ca01623976018d83590220331800f3955b03fc340e0023a94302301e5801b21b2403a48cb7003abd9700581f00004ba942004265c70117d8c70179c41a010d4fcb02efe251015d1c0a0352c1f001cbc183035d0f5600c7289d0432c1d10000f2b10066b9f7009e6d740425875b00dfaf9504db420101553ce80418602501e17aa201d7bba8019d9d2e0038aba200e8f065017a160900330915033419ee01d81ee8027ca994000de8660094092500a5618d01e4832900de0ff303fd121100063ced016a0371003b84bd005c701e0056d0d5042f54b303b979e70619d86d01a1dd6b0647efc301f91f390793875901b817730502a39d01ff6ffa001939bb01a060a4002f10f3000c8dfb0242eab8012812a100af0660019fac340217b0b701b3c155017c79890196327203dbcb3c01ceef050100266b0136ee5e0245985e00d5dc4d017811450142a4be03caea5100263125023c907c02884e3106a6f730025ea4fc0468a98702fce486043fa64b0251491403ced20a00ea6a96035d225a01fd9f3902db8563008b93b4021717b90029391e03bc614c002ebbdf03dfac2501213e5f01e790f0004d6a7e023f985b001d629b00e2fb3501e9d305038fcbde0191b0dd0603e71802b27acd04230186037b4697065fe4fc00ac8117022f5ad10195e0520154861e02dec42e006771ea012d657902277cfa01862df20208f9a8018b6c83038ea3ab0032adc70357de8e01c85f9e008ec0a301067587006f7c1600ec0c410243264101e2aefe00f4f52600f032d003a03ffa0029d1ef04792313020d21e606009f710269147f03e3cd600089d2ae02b3d4900158629a0122588b0294a27001416ec500f125a9004238830109c9530284fdbb01b0702d02c3fb0000c4fa9703ede8d60196d1cd001cf07600474c5301ec635b002afa83016012400175de230071d6cb017977b80341132400b940f90491598b00863e870567e96502bb541a0430f98102cfd64b03ce824d0172afeb00ab0289019c91ba0137f587019956b501643af6016cc73c0351cc8601d631e6018ce5c001ddc1fb0350880f01a095a20316271d01065f4b02be51de00f1515a036a31c901f3d39d00de8c950140db3802bcf65a019f3b9d052fdb34026122d7001c11bb01aea918045b4fa101ebc8c205928fea00e5e10705c4a80e02eb333501fd78ae00c506a803c975ab00a315ce0072555a010e290a03c11363004137d802a19274001fced4033f921d019d9e830164a58201ab1781037c3509010ec112011a310b01b4aec90187c90e0151139504da624f0229638f065e003001c4f9530666954f01ea6e880251802c033f29240257d30a02bb79bb006286c700abbcb302d10bee01417b820233ea3d00307117020556780176b2f5005781c900f28dd100ca7255009416a10067c330001931ab0389438200b6497a0293188200d3e59a00209b9e0041693d04b0c20901a55956053553bb00f92875036c03d70333922c053e2fb300c2d803060c54880288b10d0347f3ba0174117d03d23ad3015c4fdf005a58f5018ad16f0345de2f000af64f03c5d9b200d0e10b014e7eb3013d2b7e00679423008108a502f4f094003d338e0051d086000f897303d277ec018cf5f80301868801e58b3a059fa4fe0072558d0330a6b6018f46540554b607022d355d0408a6a10124a2b2032cb8bc00921c2c02a85a310078b2f1010e7b7f0106f1c701bd423201c58f6502bcf387017a1818024a61570076fb9a01ed369c00ab92cf0382c4f6018740710197e83900f0da7300313d1b012d814901fca91b0127840a0559c9c103fa79f001bace29022ac661049064b700ccd85002ab964102f9e5c402677b49014c68600281b40800687b3900dccae50165f9d300560ee801b54ed100efe1a400570d2003774911018543e90053feb500b7ec700130408301f0d8f30340c1e200cef164026386a601edcac504360d51021f7c660327e4b10275b51f05e6a0860176bbca04ff8d3c037e26bd03a5c99600bc781a0136b8ac000cf2cc028442e60022261f01b87050002033a502bef337003a4992029aa7cd0164689803c4fecf01ac13f700ee0aca00ef97f2005e3b2701ef1d6603095c9a01e454db03a0815000d05acc05efdbae019d66910534b24c03326ca80552de6b02d2246d04753a3802071d1604eca0c70097d19d0089472f008f562000c6f20200d43088015cacba00e697690160bfe5008a50bf02efd882014f2b0602a7c43100fd125b01904979003d9227013f681801b7a570027deb620050d562037a3c57013f8cf501df78ad030dc68601ce3cef02e6ea5c0320ee1303a3718e01b07726029f2ba602ee5b6902583dc201190444000f8b3300a4846a0121742e02a75fc50089d41700489c3a008970450295699a01ecc99d0017d49a018752e302e13bdd015e95c00051763401202bd7010e934b01589c79020d124f0080d08b0197da3e019b580801d2b8620312af7b036553e500dc41740595fa04015b8edc0321f74201b9e1b302965197004728ec03893f3e00064ff003b6b9b50076321b003fe3c0007b633a0132e09b0111e1df02dbe04d010d2c7b018d80af00f8d4c800963bb70192611d0096ccb500fd2547009155770087c8ba040180f90152187c040d578f02a733f5017c97e701cff0c5017cbeb9022f3af60413e9e8027d1262030cfe1f01f4b182036b8e2300ab7df2028b0c2201a4a1a200cecd6500f7192201649139002746390076cccb01f100a200a5f41e00c674e200806f99018b36b6013c7a0f019a3a39013632c60085d31d036a8aa701ac6bc7036ca1c1005948f203cd735901f9fe8e06afca5e034f5932040669420319feff02ca4017014ede6c0326f94b00f17c3200ef988500ddf1690093976200d5a17902f1318900e925f90229b71b00b877e603d820a301cffbe401893e83014e4009025d307100118a3202c0ff1600e412c501433768020fcd5f032f254202369c3f053f524a01c7354702ee437d0219e0de00df895d010be0ca0308dc8400c626eb01668d56003c2b5101881c1a00e9240802cef29400a4a23f00332ee0015f304f0308afe200de03c1032ea0e801fe5d69020d2ae6001a8a5201d02bf4001b27260361d07f012d95b60304fad102ba3c1c023019da01a874cd03761278029b74930383356d010c0aca046d53a7029ddb89030503820131a71e033b9f2f0180809d025d03bd0003a6440053dfd700965ac2010fa84100d0533303ccab420135bb3c0198662d01769ae100f0f7880064c5b2038a47df01cb52100129ce2a0189c0dd03d77bf401d9dab903babaef01fbaca003c23416028faeb506b9647301d24eb0031a07c10293d5680359c90a014f7b42011621ba00010763021dce0a00e5ea0500351ed2008a08dc024637a70048e1560176bebc00fec16501abf9ac015d9eb7025c026c01af5d4c0348634f0149408102f52e410050f17f06f49766032a35d0023a66ea0299afa40357f220026e260104feb6be0371b00f06a73c810267edf1005a4c3f003e4a780379c36e007704b200def2d20082212e029b282900a792700131a36f0179b0eb004ccf0e010219c60129ebd5005524d601315c6d01c7181e02a7ecc30091277c01ecc395004724b8034255aa0125231a02827c4401ee9b230335c9a402c31675072f0fcd0217e01d057d7190027515b600cb9f8d00df874d00b0e6b001bde5d7036225b50132158a0318bd59013030a502972df700aa6cde0050ca05001b456702cb168101b3fc3e02d1015b01916efe03daa21c00dffcd5013b082100bb10f40081d330026aa0d000703bd1006d4dd8022115b903f4633807b18b1303b71d3203535913024afa6203e02ac801bfd9cd03d110a70063845f012be63900fe0bcb0362bc3f0176c1fb024f693600d5b5bd01b7457001cfaba5032e6db4017a53a50092a23401990b040396e35a01918961023ce929014b2a37076aa4ec029744fe04098c8301096a4f02f29e890242b24202b07bc6010e3e2204c4582a01955fb1039700c60194fe7103e05aa3017cd9f7001211e00080427802bf19090131ddcd0031d44600d6ffa40002d10900dd34db02abe0f4015d38ce01f2b302011e5ba401e62e8a01bce6dc00392f3d016f0b9d04b05b98001ce6620460577e02c5599103a64f6b02f84da0011de9e601951556063a0bc10084252402b896f301e3d45301ac97b400c9a99b00f43cea008eeb040143da3c00c0714b0174f3cf0141ac9b00511e9c014f48210211e76d018d6b15027c1a8401af103b0395c93a00cea9c900d079e20015ac0e03953d5e0137399c038c3c91012c6c9503ed919b01d0551f02bf0cd20262625d0696109702ceb9dc008deb2c019fac1502461a1f010c405d021b38c600b13ef801b608f100a66594034d5185016eded701bca98101e707610031703c01d8e5fb00776c8a0027137b028231eb008454910082e69401064abb0005f53601b8dbf10511c2e403efca66046871ca009beb4f041409b2019b01ef04c7943d0273f7d20330dd87003abd0801232e090051410503339eb9017c742e03498c0d01d15cac0292174700c6e0fd02726cb401903a3002dab118019bff3c019a93f200fd865700354be50030c3de031eaf320189d27803cf23de0111f8b301020a65039bc2f8039dcc650167fec5034e3e0402b1ac65016092fb012e0a9c000289a5017304e700f2d7010013231d032aa14f003b95f601fb42b000c82103034f6e8e01c3a11101e43842017a2f91028304a40043aeac0019fd720057615701fadc5400605bc803247d3b0000417604a034f101ecac0603afbfff0100418202debee60065fde70391236d02f91d4d0530001302685a9b0116562001d9d541006f5d7f003c5da903077fb60011ba0e02fc89f601d41930024bee0001f85c460362e08b00b809ff0107a4d000cd83c60157d6c70082d65f00dd95de001726ab02c46ed50018738c06d5b1760060344205749eed020d40b6032d3fae019d5fbe03e0cdb1012a058e03ab63d401f4bb93001d339901e37418021d65cf0013f6960385e705007d86e2014d416200ec822103046e3e00326c7f030671160091145302c1a1e70182b53c00d9d1b101e494d4020283b80075b1bb011c0e1f01b0665004315497017c1f3607139d850112b38b01e0e81a022175aa03a6fcab01488dce0280fa2300484fec01dce5140128caad03624cee01c516e0036bc6c301238d6001ec9e3b01696457006ee20200d0eade009a5d77014970a403425b02011491210365d68901aee66702a2f6a6005df77402a6e01c01c9023905aace54027ae411031a787702760b9305b32fe10167c8b902a40272024c4ed4002d9ab10118c47902519db6005a10be010c93c5005fef98030aeb470056927703ab86d6003c83c400a1e181000c8278025ec8330069e7d203390994012aa8dd037bed8e00c6d332022df56700a4f854009846d001b475b104454fb900f34a2004949ccf02c4c4a105f435ef020e5df6028af03101c3582407a0267b006dc89d01ae4c6701aca92202d701ab017133110088e4c2006e96380269f69f0013b84f03954df0019b50a2000035a9011c975600445e10005c076e0261759501f84de603fc0a8c00d67c5c022276eb00463039051535a602b7903d07b1ffc200d6f83d06396ef60079155106a403e4006a401a0344e88601f2dc35022ddc55007195f70360b36701bd7f0b0087d1b6005f348101aa90ce0179c8cc03a764920029909502453c28007a34b103f5d36501aded080007337800131fad007eef9c018ebdcb00c4805801d685e2031d7dad01c86c32047a643b03fca30305dc94b503d4883906dcb48901ce5836031b21fb0143d63401d2d0640051aa5e0091283500e06fe702221cf401e1c7c302ed11e600d9d9a402a89ddd00c72ea201c7cfa3016b73a2010e60bb01753c4c00b89f9800d1e7470229a4ba01b9993302dcabb6018f8ead04ea2fc100078b10015fa440010fdda604dac51002831d2c03634575013beb58062651ad0247be3d03ba589d00e70b1700ed75a400e1a8df0399727401a298f2011820aa007d627102a7134c00fe9cdc029a340500136fa103465afc01ac6ef0000ac67901fcfff003417bd200ddc2d70278a31101bb076304bd31b60272098501e81a8a03d34484042b777a01b2623304945a6a024632e603099976039e461900a557cd00378aea00ee1e6100719bcf0062997f00226bdb027472ac014bb4ff02f139b301ca22ac0237a231015203ff0370ddbd01bb19e4020f585901461cc60215119501f279fe036aca6301f6cd0e05db2f99026a8927056031c2019433c502b93a0b03692be805c7060e01b4854106dbe4ab01683ee701e3eab30121bdd402f3bbf900be0d500182590100df85ad0009dec601417f4a00a7d85d0188a8c6014291000044662e01ac5a9a00d8804b039f2833009e111b017cf03100eccab003967cc00113c1be005fb63d00a3937c03fea533031a281106d5604e025591da021e24ca01550905006f29c801ed6c6100393e2c0075b80f012df174009801dc039ca5bc00fa0f83013c2c7d0140dcfb034a32b800355a8003e650c20187817f011512bb012c3aa10346932200aef90b02228d1d00ef44b103726e3a00dbbeb10157f5a601bd31f7039153b801ac0e270790d768028ddf780494c89b01d3cf910110b5d902ad205703fe23b50077dfa101c8df5e014506ba03bf43550131a99800901a7b0137f3b30213448800148cbc02fcd00501c77387012bace5019b68bb0097fba700348717009799480093c56b02939e0501db8fce047d9989015798c5060544a702fb9fa503ee4e3601173f370325de5e02ecb70c07ccccd2020027f6021d4ae700876c1d01b3730000757674018406fc019081a10169438d005225e203ede2e401ccd68102a17b6401b879ea002d6ce7004208380383888000ace04202ae9dbc00e6dfe202f1db4500a50e770551a23800727b1404a167550130ef63069a87d7026effa70226c4d60090264f01f9a87d029b619c031634db01951690002c95a501277fb700c44de9017581d203a987e601d577c600e9f02300ea3407037466300114cc9a03b288b1011602030195825901fb119f01463c1a00906b1100b4be3c0125b63b036d473603c412810394e05703dd1598038916b601f99ccd00ec2dd0014e94f2016546d102544eae006590ac019788ed01bfc2880071507d0198048d009b963503c374f500ef724902125211017c7dea032734bf002ad29e039a84a500b2052a01405c280123554d03b1e476008942600272e242005bf04502966f5002a6aeec03e26c6b01bbf24107b551ff0238ceb5032e22b503d3f09e01474b5f029c28180365d25100abc7e40399222900e3af4b0015efc3008ae55f014cc03100757b5701e3e182006a3e3f0301c6ab00fe240d0290bace0094fff4032200a6001e96db015ce4d4005cc63c023d85c801b6293b047cee6d01b3a3ee058b7a520208165803c49d2f01985e3904571eb60253a15504b1927c0293a6070314d0df009cb6f2009b79b900539cae0299107601b953e801df3a79011c175800237d7f01aa059502a30c82019ac41d00a160880007231d01a225fb00032ef203ffd8bc0039aee201cee9020026bb880679bd0901c8757f03b924cc00e719d8044f4e69001386810393cb44028c517d02f7a5c801d69087009737a60125eb5b00152e9a00dffe96032299b4017cb01d012b621e01d77ae603e8a00c0039b90c02ef71070104091002195b6c006dc6cb00089328008186e4037bba280171628402a584170050452c0408f2ee01b7353b04838166033220f30691dfc8017a53b3028690c9018c253805963ce3015a499c01cbacbb0050972f035d89e70123bf3b03e0d1b50149d7d5020576b3019836c1013200e700689d48018ce39a01b5e210025fe15c017214aa0205fa4e00f84bad0334590601ffb3760048ad01002d08ce05ad85df02b83e8503d50b6202c41fd004aaa7f40115e7b50196dab902f6a96101a58bf7011c78950167f833003c451c0218b3c4007c07da02396b5100b8e99c03fb4a240076bc43008d5f3501cb5ea5022d3d3500ce3b73032eecfa0149052001819aee016920e20079bb3d0102a6f10242aaac010ad8b20316c9fc02fc6ef304c77d39026cc060033373ee022579f303c8382102c17682044a601901971ee602263ffd00242dfa03fa01ef00a0d45c012dd1ed00f3215702ec54c901d3129d02d3637f01d96210028aacef00a8c982038ec1a901ed97c101d7682900ef3da5020103f20016cbb102b0cc16008281d5021e0b2903fe9e79029f197201a150c8049c970b0299864e01d836fc003067850468dcc502fda84d0234b317001879f001ff2e60016a3c870261cdf9013ef97703773bd30171b437025a55ed0082d44d013849310056c696005dd1a00045cdb603f35a2b001424b0007a74dd0033a72701e7013f010dc5860402d12203853bca04a6644e022edf4c04b83c3e02b1a67b01840ca1033bae2b04c24590007f2fbf01222c4e0039ea3401ff162801f55e920053e480003c4ee003ff5fd20198afec009f154900b473c40282e16a00ffa786009f0870017744c203afc4c6017530a8035ca9010070c866014a18fe00008d04068c3e3f0282b3bb034c9c9b017656a404a9d09201cf859a03939b3a03a078e806fad59b02de0d2a005e328300b3aa70008c539701367754018c23ef01982d4301ecaf2700369767039d2a4101b1ef87025535cb0095612f02d72311014503460167245a01271aad00b8300d00a3dbd90350060101caaa6c06e7d05d0064c9f90255242301d09a1e05e2c9fb0101bda702633903020c802904c4644b0296cceb0390ae3b0078f895035437e10072d23502c6cc77000ef74a013ffb810043689701878250004f59370374e69d0118608f00d591050045f1780195f35f01712a1400834802009a351403483e6d00b1669804280ccc0179260b05f90a9102ce7d9404f5f4de01282055056fd57e02a1f9560546c67f015109150162270401cb472d014b6f8900ea3be70020305f01cb1f72011dc4b50132f1a7025c6d8e0068902d00eb0cb5013370a4004cfeca01ad0ea2003deb93012a40b902e87dd900f358a7024931080076cc42047bd67b0225dd76059170ec007262b1049659c70256c57004b895a1022b60a504f7b31403bcdbd802273e0d00f38e8d00e5e3ce01abca230374b0e101516e26012af50e011353610031ab0a00df77780019e83d00d4f09303037338019011ef02c911fb01f812f5036275ef00b804b303f5ed330112ef8903a570a60150bc2107b7fa8e0135bbad04cf70c902f52be40168b85801d334c40332756c01fe759b002e5b0f01560e900356e3cc00531a53019f4ce3009f1bd50118976c007590b30288d15200269f0a007385c900dfb69c016ec45d01383ce90005a7690199c5a4006022ba0192852501dc63be00eea654031391ab02c1c5fb025e4e8501fbf8f303e05d8303b986c403d799aa0213769e028b017602569e0f012dd329019201640270744c01d27f6c01670f3000c110660145335f016a809d0089abe9005a7c90016aa1b600af4cec01c88dac01a23a6800e9b43401effd0e03a171fe0125ef8a02332ea600de65210282ba9c026ed03e037b5ea0011eacfe046fae3803ba631b07418afb027c3a80059b98ae01b20cf703fb549e0052c50e02abc8530124272e016acfa70018bd220083b29000ced50400a1e2d20035336903602dbb014db8df03af1dfb004fa056037325b200524dd50152548d01e165d401af58c701f55ef705ab766d01a5b9be0083b5780256fe5d0385f049011ff58f038aa26703b1621202d8cc700080df7803340af300a68c96007d50c8010d6ddb035ada0101fbfc2f026c9c740172317f01cc57d30181cad9031955f9010df586014c59a901f12de6003b62ac01714984024d9b31019d7e540031af2b01fdb554039c67230068c16d0342dd9a00c9ac010606a25800a5011d077b9be5011d9adc0566ef5c02c9016d03c9c601005e028e0124362c00ebe29e03a9fbd601b84d0900614af200dba39503ef237601df725802bfc703006a251803c8a1760160596301e03a670164c79302dd3c6300ea193b0134871b0053035b06a6d8eb02e4e88804673c81022da8ee0426bf43024aa32f048e61620336d8a805a7e9fc01236f16035b542b001ac857015bfd9800ca3846008e084d00500aaf01fcc74c00166e52038001c2000b803d01570e9101fcdebe010f48ae0055a3560239632c012c18bc0219cd0f0013e5d202f743c3003d47b80499c7250395f3790325334b01c85582022b41fa023893f302912b3b01581c350420541803b3331202bc4653000b9cb301628677009e6f6f00779a4901c73f8c022c0d0d0199c0020250482a002ea0b9022b70060092d795011ab06800441c5701ec329901b280fa02cdc1bf01a55c89023428ef00bf01cc02a7ad23028cf32d0124326d030df2c203e29f7a01afafca024539480227df3804cfa23a01a4625d000f6f0c001e084c03837ff6012cf2670045b50f0109d11e0003b37900f1e8da017bc7580102d2ca01bc8251015d65d00167242d004cc118015f1af101a4a2bb0024728c00ca42050324389300850bf3017f55e801f987d405b8b1710259dc4b0344f89202316f32045b165002f3247306a164520106c106017f3d2400fd431e0240ecaa01a011d7023eaf8c00377f04004f70e9006da028008f5307012e1aee03d8a98c014d5ebd03ff92be019247ba02694d7f01e89de9018757ed01cf0dec019b6d2401a164da00b4a31202bd6e0901113f7b03b188b403a47b7b038ebc510645f06c0118700b03e2da3301a732ea03714f6c011e137303b6f06300e3578f0347d9f80165a95f0181959500ee850c01e3cc2300bd731a016608ea0070588f0190f90e00f09eac0263707700c28d99022738530178b02e002a354c018bbf9a045ad15c02ac0d10050448e201cbfe95044fb8cf0064097a027565ab01fbcb00029fcf36022548f901388c0d0109406b025a653401e0b5f8018bff8400e6911100e93817007701f103d4a9970163630902b80fbf01ac676d01ae0dfb01b15807021a3b440109210203f7613b001a1e9201b0930a004c79cf05bb581802b85efe067137c90217324604773506028d429204e3e2f90167c0de01ad44db02a2b824038e6689019c0b17007d2d6200eb5de1023770a0014574f30199f9370180271101f150f400574515015ee449014d424103c1e3e7003d925703ac9b17016f74db02d7260b0182ba85005ed4bb00512f5b04cbfeaf01dd12d702ac446c01e2e44f0325ddd500a3e396061dbe12029fb30b010a5a5e01dcae5800a3d3e501c6883400825fdd018bbce7028a71800174abec0230dc14013a14ab03e36dbc0001e12002c210ae00e3fe880187276900964dce03d1eee20037d48402ee397c00aac25d03f810f70118973e0708970a024e8bb20377f2ca0219dbd5043d7d23018f026c07e4215301502dd801e03e1100c3d97d0062999901b2b06a02825d8a016c3e2403b179200177fc4600dcf82500cc58670180dcfb01d9e307016a31c6013b386b006372ee00dccc5e0149bb0100599a22004ed9a5010dc3f90308e6fd01ba87f50419fc070153cd1b0585027002249e2004e65bed01beaacc039707de026cc03104c0a69201e813b503688e340166101b01fdc8a500c3d9040333bd90017a9ba002568236014d783d030d38290019297d0356a8f500d6a54600d4a90601dad3c202475da401c42167032a8e8d0083e1ac00f4691c003144e10088540d0181392806894d380054963504355f9d028f0db1025e73ba0274177603f3a6f1010bba8700b26acb0160da5d002bfd2d00a49804008b76ef0060011802ea99d301a76e140331efb0005f29e800c1fa3500fea06f02877a2901606c4300d79817018bd1d4002abda300ca2a3203696abd01ab44d903e83a7502e4dcf305c403040224783606029c8601233dab06a3886401d3e80e0459ae0a02c5c641030b03400074717303f7670800e77d12039f1cc5001eb82301df49f9017a142e02863825019a0de50177a12201f43d4900cd7d700089688600d9f61e01ec8e8f00419f66016ba4be00db75ad0122257802c74550001f7cda02491ba001b99ac70346c7fc0068519f0510c82702d23dc0011aee5b0094d90c003b5bd5010a51b70380e67a0171cb910177b44201478ab400e0956a0077526803cf8c2b006209b603cc658601116526005fc5a601caf193003ed0910184f6fb0002a90e000df7b8008e07fe0011c8170357cddf025a81340314ba1e028ee4d205f6eaf801e5451f02afba8701edcd34018b4f2b02feafd9021ff34300f26fe9002c230901e272510104470c012569bf0007753201504f10003f4441019d246e034cf10301e12dfb018e19ce00787bd1011cfeee0104807e035aded701a10fbf0056f0490074b951062af1a302d3dbd2036fa29b02ce657604a7483803c205340447acf2017d169d0790603b01a27998028b105f00c3fec8025196a200772b9102cbac4e01a5e09f006813ed01f47ed003e13bd50075d9c5009848ed00dc1f17020d5ae701bbd440013c65f6015418560001b16d00925320014bb6c00064f1e000b9ed1b01b7655205ea254d01fc861304e7f67a023b6ab300c30b0c026c42eb017d713b023d28a400af68f000022fbb03310c8d00c28bb50386fa6800615cde03d895c901caf176034e974300678eda0394f5ef008a2ac8024f2561017b70a703238a5701811d9303f0574e01cb611301b1d11601d1e37f0262775303d219c60110b3b302904dac0657990e03d8bda7046ae93b032121f3022b707003a17f4f01ccaf0a0028158a026774e400c75f890384bea80191a5ea01b7632700b7dc3602fede85008fdb79023eef0600e1663603fa12f6000422810187248300ce323b010f61b700abd8870364982b0183fb5b0425915f0221cc2606b08c53031781f3034b90250269241a067490ac0342bae5036aa1d5012ea3440394aafd00bb110f00daa0a501aa23f601600d1300a5cb7500d66bc001f37bb10164036800b2f26103fa4c8201d24d2a01fa4f46013ef450016965f6003d883a01ee5bd5000e3b6203a6544d00eb832e0238afc501b83eb8044b40cf00acafd002ae4a2502891bd302937dc2000a595104a7cb650318d5d101ebf536001e23e203087e4600e27d5e029b75140138f87001e6304001a35ca601e0d6e60111788f0037082b01fa01f5016a62a5004a6b6a023404360159b2960103787b01f305590172fa3d01eb9952054c0f110238ee5a015fdfe602eb342f066594a40178cf24051110b90349144a04ba0b65022e30810315efd2014cec81036e4dcc013c486103c6d9fb0129d7cc008591c90138e69201eb64c600924923026bc61401b54fd20351678800f66cb00022113c01124a7202a7aa4e019cef14039429a80027791c044eb38603e5798703add16201f27abe00aba6cd02d37430041c6c4201a1deb6010e771502c227f903fddfe401b6a5c60085be30007cd06d0376af550108d1790130abbd01c247860188db3301b65b8d02309f48002376f5036fbae3013a891f00892ca30072673c0207d59600a20a7103c1684800c9837403b14f5c02cafad5025cc1bd0181ff2206d2bc97028711140313655303d2cea604e4ee4901974a0303a757d7009bbc8503a5814900f04f8503b1d35101ca48a302c0a8a5000ea4c7021dffcc002e485b01a64a6601c72a0003c171e3014117d000e5d8640117ef1a000ae93e017a0ab2011a24ae0164dbc7012da3be020fa82a04a539c6031a1a1a047da5e702fa6c64033ce5790139768a004ccf11020d2270025810a80025d0690322c9d701276a650205ef72002867e202f57f6e013ea73a0084f08e00059e580380499e015d599200e6369200082dad004fa9010073baf7005440830043e0fd03cebd40009a1c51052cb8360355d4e003ff5f49018021eb0533425003f9ae9b0303b32502e9a45d065baffd00c6455703df6a2e00631dd2003ebc72012bea0800a9aff701166d8903e4b62700c0a55e02f465d900ac586000c45e630169ee0b02347ef3005e0165032d930200c97c7c038c0cda000da69d0130fbed0188fa7c0369949201b50dca041b3da702d8980802db822d01c7e6ff05364157015cbf610670fb0e020d695c011acf8d0018cf0d0214323001b9947403d22be1002522a202a3d22a0143176003b5d60801f575890341c332004b0c53024f8ca40009a52401e46ee300f1115a011934d40006df0c038af33900e6704b05f5b7bf01d4bf4503e50f8e0200c3c40389ab2f013f3f6a050fa9d601ceae380557498503a3858c00b10e190192b8350309e3a10177d8f403484de9009dee8b013b41e90046fbd80129b899010dcb70009293fd0057656d012c528501f39635035d98e8013a5d27035793dc014d510d01202ffc018d1372035c6b27037410d305b877d101e2db7f025769ec01a16e170323a66e015aecdd0341ea74026f13f40209e91a0020b7060201bff200da9c3502283c4601a7ec6f0079b97e01ed8ecf03367e3400dc81d0024fcca40142179002d9286c017ecaa400cb210301019e00002560bc01bf314a006d0400005ca70a025ada8701ca42ad0395c2e202c8fd0603ad667902ccbf6e0434c2040250282d0222668f010c6cc6030f1be801fb47ba01b06e72008e037501714d8e00139cc5015c2ffc0035e816013612eb002e23bd03ebd481000260d002c7eec7013aafa403912be700c2d9340302df0c008a36b20254ebcf00e8cf220430343201a5715903092dd8013dad1c046ea5f60275735b037f543c02a690cb04560df300161ee401b171920180aae602fb99810190e12b0046e7050179697e0255f694016d259a02d0035b0031913e00e410a50136ddf902b1d25b005392e2024492ba005dd268020f19ad00e7ba2600bd7a8c01e80d7003686e5d00fb48aa04bf17df011703ca05e05de4029893c7026caa1602f765f603b17c0c019ffe6602360441007dd6b400b76093002d75170283bff9008fb0cb0287b7360191eab10092655601197b8f0121d19800c05a2902520f7d01d4ac5200d7a99000100d220020d164015312f901c511ec01c6bae60430a0b0016e766103ec68eb024e3b5c0244f90b0122ac4a0512764402dd7ca503b342230143aef6002b4a6f017d905603e3ea5b00f2d51802442ceb01dbb4230008f80701652f5c03efcd660171e6ab011fb9c901c1f646037911bb008646c70394039601743f670041687b01d3361301068d58004086f30387356702a81bb404b03118026e36a704c23dd7011e016c013c2a4600b903a203c1952801f67f2602bd7726013c77080160a1db0129cbdd01b1f2a401f49f0a0074c40000055dcd027f7fb3006aedf60394a2d901562514028beec0000909c1006101e2001d260a0000883f01e448d20225865c013bdad005672454030a05c103f1af3d01bea92e05b29393036fbe8b067bac1f02024bfc02d6240f02ae1b1801ff4595016d817600cb5df9008a894002254606009974de00a14a7b00c1634f03753b5e013d0c2b0192b19d002e93bf0010ff26000b331f013c3a62016ec24d019a5bf4008c289001ad0afb00b8d132026b824e00e4b45a04ad07fa021eae3c0428ab1e027363520774c18b01baadc602d96f3802b97bd800f99e340034b45d03c8095b01372da602839bcb0139e86e0034d35901fc00a2010957b7007e882c015e7af50055bcab01935cc600000868001e5fae00dde63401f7f7eb0188ae35032215cc0134e3d605e752c2000b30e303a949b801c5fbfc022b7022028265830746a8bb0283877d0389686101eeb8a803f268540186d8e2038a90ed00bc89960150388c0155a9a703c14e1901db11b403100dc1006289d4038ce0970031f4af00c163af0112639a01ff413e019bd23703f1f40301f90e95009e58d9018acf8606f9e81c022d9cfb03aa38b801ee33ea048d8a830118fef3010ac9c2023e614b04d1efa202c0c81f0175d6f3001847de023528e8014bb76f028f0e5701d54f8803d7c4d400841b8c028205fd007c6c13031bd74b004cde3702e8b63f0044abbf02336fde0109694d034faaeb008f1858032ce779006e81e0053cf65402fc2edb03ee4c210230941202e5254502428616028d9b5e021e9dd302d42a1e03f1e3f702fbb00d0126001f02f0f4ff01a92d0a02fcdef900de728400ff2f0601b3a3b301545e970159d15202e434a901d4ec0001d638e401867797036fc9c10053a035020597420012a21100e9615b0070054e05b4783501745f3f07eb75b900bf7e88038f77e902b63961052ec9bb01a6a577052c647e021562060290965f0177369800d16268008f6f1e02b794f900ebd82e00f8ca9401385f1600f2e1a300d6f7e80346ab130166f4310353675d014379f40152e00d00294f2b03f8cea701d6341502bf201601e46f3c04644a2601155b54021c1c0d03c4e7d702f39ac802de89ed04d2840e025e40ce03103ef701d68379015d174d00cdcc340250bd8800b4db8a018f125e00cc2b8c02bbafdb006f628f03963fa201c032470212923500922d5302b152ee010f855403e1c65d01c8611403777623017132e703a1e59c01c01a0c0471277301cdd48604c4d9a00173815e02c6d7db014adff905fc74b503e6d76803e382f601a67556000e050800ef1d3d01ed5785017c928902cba8df002ea8f5009a691600dcd4a1036a45180176dab503f054c601817ad3038c089901bdb176006059b200ff103002796069017436e803217e6901b943a600e8348a01d2930c04183607022b0fd70631ec2d02bd4481016a93e1021b5d2d02eb8d0f01113da100dc73c000ec9118026ea8a900e03a3f037ea4bc0052ea4b01e09e8600d1446e01d9a6d90033e1a601bbc18f010f07580309cd8c0075c09c01113826001b7c6c01abd737015efdd4009b87a801d0b2990698444a02e73d600268843b02204cc701bdb082010868190649c66601e80170046bdc14035fe646008cc28501389ea40291065001a8c4610155b78200469ede013bedea015f191a03e7af61010b79f8025723c200dbb4fc024908e300c3e34901b86ea10130e9a40180352f00520e7903c0be3a001dae750383172002270a860515331903ee0bb0036d399202748fef059c65760135544c04ccb812012f0448034d705501c03242015d103401076986000c6d4801399cfb009023cc002ca07502316bc200ee43a5036e6ea2009e5328024bd6ea003ad8cd03aa60930127e37201b0e3f10046f9b70188548b01297af7028e097501b0ae890647f78f02ebb97e033d19f7012c403803a0f406022139380568ca53026d93d00006670a01498a410360506401d5ae210331864a016d9782026e54ac0054c74b02f73b7001f5d7b20109b75f00ee1b0802a9cddc00c3e58700624ced01e15b1a0152db2701e0bec701d9c879013eb308038b41ce02b1cf5702f9fc2e0167596e01fdbd9e038ed69e039ff5360333b75c0115c8c2017f217101d101ff00eb6a2b03a634e8009de5dd00331e1900fadd1b01419357014e7bc40041c4df014c2c110155f14400cab7f90340d4d40108219a01473b5000afc23b038c48090064a0f400e6d0380028194b064ec2c2001203c8029f9f7302838ff7016f5d390338ed0b0186de870378a36c017b2bbe01e8bdce024fb64801cff6e001113c0900a1cf26008d6d5b00d80fd303874e6e0062a36803145079019ab2b7017f8f0400683c5202d5100d015fee21019e94e6017e813e0332ffd2013d8dec029c37e0017227f400c0bcfa01e34c350461545103abcb3d0292323701cbebbf0433c5f402572bd3021abf7700bce79a004251a1005cc1a001fae378007b37e200b811480085a80a0215879c01281967032fca3a00a7955103bb86ef00ebb5bd02d88bbc01493052002edae500bdfdfb0032e50c01d28dbf0180f4190196e77a02552fbd0183b7170324b296013289fd04c74e1f0215693204813c000283a35b0615e7bb02ad4fef009d66a401bf52140118b56701ef09ea00017ba40184e90003c9f2f2003cbaf500f110c701cd749e02be7d5b01df56cf007925e701e209c6030e99ef0178e8d9024a7052005f0c390232d6690181dc6105c66224029bd10c0209d43402d8b43706d2aae801d71454039cfa87009d637f06ffcd29029524460136c4c90156740002eaab96001ba3ea00ca87b400d05f00027a9c5d00b73e4b0089ebb600cce1ff03d58bd201017308031c0c6f00349c0100fd15fb0124a51f020b82d3006a12350229639a000ed93d02d70b5c01c7c570029226c70024fc78026aa94d02007b9f07cd4b6602a2afc4042b01f00078bab0020c624c01ec7cf103e792bc01c760e000cc1f2900d0c80d0015e16001ae9cc400f7d07e002bb8f40201ab510055739e0036402d01128a72008747cd00e32f9301dae74200fdd11c00f40fad01f30e76060e96d003b71632075470cf014a71d7053e922b0103e11306e1173e010dffd6022c08cd0144c59702d152d701f4f8f7037ff84600e1f757005a784600d5f55c000d85e2002fb505015ca36901061e8502e7b23d01e595180311319e00e4643d0273f3fb014c4b5c0151db93014ba3fe028cd5f600c2259802602c6402c8253205d3f43902adabb707f74a7002a59c1e04dddd6101f25d4902fa656403d8d95d03fd8abb018dbe34033acbb101c75e340073729e01a49868017e63e201759df4016bc81000ae5ae500790658009c205d027cf1d3010ded9d03a49a1501b7e01603f9189801704d1f00f7ab1701dab1cc0333899101c1b67204dfea9502096f6705c8810402ed8e4e04330628036cd5a5023bcffd022bd7450060610001302dca0078791601ea8b3001c62d2201b5321b0183d25b012d368000af7b6901c68d4e0242f4ef01f43667024d26f201015cf902faae57018a3f9000186c1b0121661201221698002fe57602318f63028fa99505751e9802b1087901089f12025965e603801d770044240b05e7b7370204ff6003a029c1013e8bde000fb3f300ff640f03513587008939950163f0aa0115e6e40230b452012a522b006ef5d900c77d3d002efd34008dc5db00d39fc10037796902b6148100a977aa03cab28b017428b603ab0dca0140b2940407cf2b007a357f0549a13002e2d68006540bf30163560705f44486013d2b150198545e01bd3cfa02ee76e801d5882501714c6b015c68640190ce17016d969a01e467b900da313202864d8b01b8014e0000a19401601de903ce9495019fa800005b80ab01051c13020a6ff70014bb960389e89502743e44033ed8bc01eaea20061b39a001180cf105a83cbf021f838d03ec9f7b014bc55e0273fe03015bb3610278615c01a9700e001595f800f8e3030050606d004bc04a010c5ae2018e6a4401d0727f01712aff02491a4a01f6b39602788c3c009346c803d528a101a0bcc9038c418701df73fc003e2fca02b395ff028137ed02a411ba0309a9c2029b6dda036f8c7b016780df02b08e6c016625db037f4d12016e6c17015bc04b00aef5160303ec3e012a409901e3adfe00ed7a84017f59ba017b528002fb54ae005ab3b101f3d65701663ca203cf820e010a828b00ce81db015dd99d03eee6e60161739f02a36b5f0232da0201d87dc6018bca8006095f440335095d02ad990603caac600444a06e02c22631021a50d500767d7200464643010e8e4903827ab901f214320281ed2800d29f8c01c597410154994200c37e5a0010eeec0176bb660102188503ba45e60038c55c01d5455e014f8ae501ce07e600cb6fe6055ae977010859070501620102934a850731f6b401e3b1700539bd6c01c1cbed0613d1c302930a2301569de2001fa38b0237074b013d5a7400b53ca9008aa2d40250a71f00cd5a70032070e30040977501b1e04901ad90d903e5cc4f01154de803714eea00e0397e0208318d00f293a50168b68c0194840c057a447f02e0572705fa6c0802c5c18f017987cf01ab1646043144740164af2807f669e902a6cb07006ec5da00d7fe1a02a7e2fd001f8f60000b672900b781cb0263f74a01d47e8400d2932c00c7ea1b01942fb5009b5b9e013669af01014e9102659a5f0080cf7f02337cec0181544700ddf3d30085aacf00de6ac700b7545e065ac8380189b673058d6092028488e4046012960236fb42048b660402ca6797001e13f80132b8cf00cac6590037c5e102a85ff90141414403bbea7e00a6df640170eff4007d17c2003a27b600f42c1802ae44b30197769a01b0a28200d972cc02ac7e4e0120de1e0323025b01ef8ef30408ebd70202ab970517d7f501a72fa406ef92cf024481b40443f371028f354802fa2d0e02176ea80044444f016d465f02ad5b900120ce5f038829070112bb990222ff70010891b902319d2500f86f31016608be01e9f3a9013c5517004a27bd007431ef00add5d2002ea16c019e962500c478b9010f62060398c33e0160e64707643d4c0219d4ec03a3611002c53b9204a217c40038183d04b462c102fb93e50361bd18012d36ce03e952f600b76726016d3ecc000af0e000921675018d9a780045d42300d063760179ff03014706c2007511c5017c0f17009a4f9900d65ec503b83793013dfe4e027e5299006e663f036b52a10168bbd4054f8a27003cff5d03470cba00d2fb1f05bda79003e22c13027f43e800d6f96b0287915601832eb000bdbbe301cf168c00d9d374003251ba028afa1f001e40c601879b6400a0ce1702baa2d3010fbc3f00fed031005554bf00f1c0f201987e9101eaa2a201e561d80140877e00ab94df0533002b031a27bd053f88ee00afc4b90062e2d5037d9ff405e1af3c029fe98e05b3f3cf01329859011f6515009019a4028abfd1005b1979002093050027ba7b033e73e6015ca7c6038ed5dc01b39c130318427a00d6a0d903012d3e01694f9202328963015664e703ae91e80164b80103ad097d003f25a10124728d012fde8e03f4ba9a0005aedd023e729b018637a0054f1f87027dfab305ebda2d02011c910110934900f9bd840111bdc001de8ec60347140f01f935ed020e0b12001bd37102d46b38019b9392035f7e300017c16d0125a25e00c79df9021780bb01cc31b2025ca42a012a77eb0158b7ed01c7d201036afe2a02e50a6303a100e200dbed5b0480b2cb02cf325f02cdd05f03f5bf59026dea4f01923df300147a7001f5f6b90266047b00e963e601db5bfc01c6de1603b2f5e901d2f1ea006ffac00155548800653a320182ad9c02762d330175e91002f15ad6005e9fdb010303ea01614c5c024f36e600f2e3e7063318df017038760114840101aad2ec0437f19e01b973130706e5ae00302c00057172a601f348e203cc59f40089e34b01f8ad38004a78f60276030b015078c603877a620191f1dd016dc24e01ccf14601d6c8a90160be2f032e67ae01625c480275e9b401c023e90219e52001ddfcc600cc2b4701b454ac048566be026eee6106e428e602e2cd4006c60ce100a619de00714533018e9f1804a6b84a020ae074029dd0e900c1747e03d30b8501153a8c01cc243301e71e2b00eb46b5013f389202a8125401cf010d03c732b00133d5f502a7d16100bf473700224e9c00e8903a01b94abd00ba8e95023f457f018ecb9307ae97bf0287e7cb06a1b68900a17efb02e820420044cf42041d1c25025c726001fe5cf7012cab4500ca770b01bb763201ff53880146521a0046e3020020eb7901b5299a004786e502c9ff2400299805009a3f490121b67c0079dd960119ccd50129ac57005a9d92036c821400476bc803f266bd00eec291062c58750207cee304be6efd016c8014068455330387b17005d72216038110d0037895aa025f131701a6501f0170f07a00e8b3fa00446eb402d1aa7700df6ca403ce4fe9011ae5e202d06251014f44070083b96400aa1da20310a26b0138150b0164c8b5017e41a601a586cc0068a7a80001a44f006c873b054532800165770d02e2068702a18eb3079e64de021ae0db059d5dc301e98d890010187d03dbce2f0360116201736e0c035f734d005be3e803f7fe4f015be5060257c68b00ce4b8100fa4dce018df47b018a45dc002097060183a71601ec44a702c6bd9600a3ab8a0332bc06015e1d890293e2b300a26bd003851f520196652d0380cae102df4893042f8a9701c240ce02ecda9e02691d8902fcbde901670f1103c161ff00b22da902c5e19b0027307503866a73006126b500962f41015282e502f526810049ef9a025a637f00a16f2103edd9f20182b9c303d4bf9e012896da0084a983005954fc01ab4680017df8cb020032b4017b4c5505fa6f50026242ef0399edb601dc7e850648cc6301409377036238a7033cf89503739be401ec2b0e0244890b0115faf1015b7a8f01ccf9f300d41a3c012fb6b0013017bf01cb7998022c4ad5013d5a1202f4a3e601b86a740352239f000c2102034f223e001057ae03ac655500ca2451069e45cc013fe1bb0439ce5e0255902f00e556f5023e91be01250527026cfb1a048893ea00a27991038f74ce01c4e8b903b6be8c01480cfe038a14f201a95aef036042bb01f4b58702dd883400f5053302ca2f4e009865d80049177d00fe602101ebd249012ad1580107816d007a68e402a9f2cb00dfcc8703c91ce90140067f049e904702638c5f044d960d02fa6b7601b63a7d0100266c038cbdd101f59a7d0171a35b01784fbe0385ef6c014b2ff800a3e4ef00116f0a0058954b01d6ebef00a79f18011c976c036ad1bc00e9e763021bca9401ad238a036d1844010145b5006b66520066ed07005c24ed01caa2530137ca060385ea870317fade00415ea802f4f8d201a66cc902fea16f02cc08fe00880d740264b084032ad77e01b08582039d4f940043e025010cce15013d226e01ed68af014f846f038dae480054e5b40268b38c0040f80f03e88a1000f5437b02d979d4013e5fda01d58589018eb652032f1c0b00e1728d01d1af4c039bb59607b8e50303a29d6f05e6bd8b0077cabe03d96a400143eb3f065e1aac01bb2f0b01d712fb0150545900443a80005e7105015c81d001600f5302081cbc00ef09a4003ccd9800c0a36203b7123c00d9b68b006d3b780103c0fb00a9d2f00124ac5c0293d3f501b2413400fd0d7300a6aece0571bc9501ec5aad042ac7c001576c710433234c0042199407db04070395f17203bdd1e8024f32c7009796d501114a2401352807001387410319ac4500aeed5500635f29000338100027a0b101c86ada02b84454015aba3d02428f8d010cf4a6036272c600c76ea303c012ba007ceff6016e441600dcea2e05d33c6b02682a69050de69802060583048c689a01d403060482e4a201b2641c05e67b5503bb0edf01fd60e6002698950162897a00d6cd0303e198b301058589009e458c0170a29a03b3f3ac0108bd73038e2edc01d486e1037d1d4500bc2b8901f24609005accff03e6aa930017381302377d9d010ab3da034eb6fd0125d4bf0528eb7c0060971c048694be00cdf9270632608801d32c880342d18303fc821703da801401c58176006c650b00b20592013e076401b4ec5e021b1aa4004c16700377664f00cac0e501c8b0d7002940f403cdb84e00a72d3f01a02300013a0c8e03cb099001da5ee5017a1b7000aa696d033fd04a01fa7f370501e2c6022b4cd10496984d01d1172e05c8ab45012bd3e704bd25e001e2c43e03a8b5de0121d3110077f1c501e423980115452801b1e2a10094b3c100dbc2fe0128ce3301e75cfa014399aa001594f100aa4552017812e7035b720300b83ee600e1c957019160a203b4f2dc009abbdd05e13eaa01377ed905740de301b22cef049c8d9b018fdd5304ead1d0002a11a501fb5185027cf5c90260d3180152d6a6009a240901f72f7f005adb8c01a0d92602d3933f0141549401cf030100d38659017f4e7a01df9b010351884a00b29cd003b9193101dd03d201e596be0154a2340328548d01367b54065b11960077131c051f16d7011b17cc038df13403e2347d041c4ccf00d7a7fa06ada4e60237cf69016dbbf501a02cdc0129658001a6105e005dd66b01754800024f3dea0178af7d008ba9fb004e279302f9c43101a4b36e02de46bb01158e7d019ab38a0175b02a010aae99009c5c6600a80da10169102004f9c5b401caa32c0556202402a099140779fc0f0218e350043b588e021016c9019acd4d03273f2f00087a8d008017b602cb27130103701d0316248c01d1ea740234323f0178ab68039fdb5e0057520e02e62a0500a58b7f02554e2600823c4202ca1e2d012dc47a01f935a201878f6702d6d27200d407a002a8982a036d2df6048d8387018247cc0722e20b02ff1bf203e08ad501f62ed802f403b7026cfc4a01ce1a3001cc36f603d2c624017823320034d8ca01258b8102f149940043e78d03292fcc004e74190104e1bf010593e4003a58b1007aa5e503fb53c901dfa76001b1b89e01f169b301f8c6f0007242cb01fe242f022c187307753efe00c4e1ba027a8dac0219552903e16fb700d5e79704033b0701ee8a9400429321011ef68d03d08d740167701f0058a1ac0053d7e6022e6f97002d263401842dcc008a806d02e8758601f2bead02f0ecf000527fec0227dfa1016db6e1037aaeef0087f2910133d19a0083037302d8a4fc01369c4505535eff01e7492d051313d4015fc53b025ffb210225c7490140acf70175743803e31112003e8a6701f6e5a401f376c90255209f016c22890155d3ba000ac1c10279c2b1007aee6603a1daab006cd9a1019eaa2200b02f9b01b5e40b01079c0000104b5d00ce62ff013a9a2300f9f2b80641754203e4e57b04c82a6e0285e4b202b96c760338139a0351a93e03708f7305eec43201ad30c10392025401958693025ee849006de33402be890a0028cc1e024b346101a3eb7e00fe7cbc004ab61501791d2301f01e070254dad60106549602501b75019f9f98024118dd01e20a3c018d876600bdbd960175b35c028316880377c71c0214814f06b4094102d9a3a904f593c6016a2690014eafcd01c305fa022e581d01a32fcc032a3706018286cf027364d600608c4b016adc9000c3201c01ac510501b4b334032454cb00aa70ae000b045b0045f41b0175835c002198af038b996b01fa872b02568a0401b3ea930278985403cb659b059c091902476a11026b990001bce5ba04c008b001ad95d104ed821d02e9d67e013de2660039a30401c66f33012c4f4e0173d20a01d90919039d8bc601d252bb024f8553008a81e601f3858601278810004d6b4f01b6555c01b1ccca00a34793039745be00ac33bc01fad2ac01c0f2710558591a033e426f0672982a02a0271b033550fe0269d17305667c6102dce662031ee70602b2c078020ed9cb017b9e4f007091f7005cfa3001a3b5c101242f8e028fbda5012d92f000064b8000299dc8025679d5000171ec00052dfa00900c52001f6ce700e1ef7703a607bd01bae484036dbd22004b2ccc01a234c5024dbcf10637148d02f3922f05cd6433027c6b94021ac34d0297fd5a05068f900133251f002277260106c5760099bcd30097147402f4413401b3fd6e012fb1d100a163110375deca006ab3fc017b367e019039bf0037ba79000af38a00cdd3e5017c9cf102939cb901e213bc037b2920010c22ce0210395302cb162503296062027666b80103be1c026d52da03c7ccc001c891760474cc920271206201c0c279006aa1f801ed587c0017d41a00cdab5a01f730d8018d25e6017bcb00029da81e01c3f8150070bb07014a85ef0349e3f301f9934600d678a200a709b303159e1200da4dd101616d5101e121b3033834390140acd203f847d1018da9ee049dbd9901adfe670261210e028c4ce603708b34010f3ad400a8d7c901f7ccd701df44a001389ab7022ee779006aa6890051888a00a52b3300e78b3d00395f3b0275621901963fec015ebefa01a8b9720105fa3a014a696101d7df86007163a301803e70003d6a9304a2c30a0220cdb604d50eae018026e70334b6df00622a9f03f60d2802bbd2b10505150003ff3d9402882d8101581a74027d267200fb32f20278868001cbf9a702a4ebd700cab1f300858d3e00f082be016eafff000014920125d27901062782008efa54018cc8cf00095f68010af4ae0086e87e0094017b020fc19501e7e9ef05d4467001fb74a002f1dedc01cc55e30406b93a0275f73f05734db1013ef5c8023e1225016a35e80231ddd300a2db0702015e2b00b63eb6029f4ec801868caa00ebb8e400af358a024f3a4d0197c902013fc42200051eb800abb09a00793bce0026632700ac504d02ff859700a721f1025dfddf012b72fc046b7e3903c7280d0725e51b0126ef1701977933039796f80409eaae0176f60402c7f5260045a1f20110b2960071388200ab1f69001a586c03302a6a00fba94200455d95000139fe00a4196f005abc5a03cb04c50028d53201d4608401578ab402e3927c01b7f6f70041755601fd66d202fd792402887303073a18d80086121d043ae26102af8e470406d1a100bd54330699fa4800d554eb032cdee000ee948f03a92a35014da77500ba0028017cb1670344e14200e30758014bac0600962de30110244601310209038ac116008fb7e702d9453200ec38a101d5832a008a912c0287e528011e3f23033c91f50164c00202e7a771029768260179b9da00798bd30276f0230240bdd902bab3a201a0bbe6003ef80e013b4e6100fff7a301e03b5b036a473a01f02f21013275ec00dbb13f02f35ab30010c2d703bc4332011687810068bd2501b839c200233ee701dbf86c000ce7b2008f505b01835d650190270201fffab2000511ec028a202e02cbbc2606f3733403bd714902be6c45011545f50117cbb2009763aa0041f86f00256c99033f25450000583e0258949001be44e001f127350029cbed03907ec201ca2afd031863970061fddf014a73310105af48033ab0cb007cb7f901e4e46300810ccf02a7c0c301b9b0100696eaab024c255503207887018dc2e3011fd63a02d4bb7d03e72e3c01bd742a0296b21301333eed02cbecc100c2e83c00ac229d01bc10b80266035f018ce9240228190b0114c3a60076f52d0043d595039e0c1201baa4e301a01905000c4ec3012bc5e100308e2902c39b3c01dec7120191889c00fc75a90290e2ee02ee176b046cb5bc01e570310248aaed01e6b7e3034fdc1402c16b7f057ecd65002e34c501d2ab240157035a0337978d0060bbff03294ec800fe464601f47da800cc448a017cd746006642c8021034e40075dc8f02caf87b003812ae03b997a40132e8d001a0e42b01f81d190144be3f00010000000000000000000000000000000000000000000000000000000000000000000000000000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f666f6c64686173682d302e312e352f7372632f6c69622e727300e89b12005b00000018010000210000005472616e73616374696f6e2063616c6c206973206e6f74206578706563746564496e6162696c69747920746f2070617920736f6d6520666565732028652e672e206163636f756e742062616c616e636520746f6f206c6f77295472616e73616374696f6e2077696c6c2062652076616c696420696e20746865206675747572655472616e73616374696f6e206973206f757464617465645472616e73616374696f6e20686173206120626164207369676e61747572655472616e73616374696f6e2068617320616e20616e6369656e7420626972746820626c6f636b5472616e73616374696f6e20776f756c6420657868617573742074686520626c6f636b206c696d697473496e76616c69645472616e73616374696f6e20637573746f6d206572726f72412063616c6c20776173206c6162656c6c6564206173206d616e6461746f72792c2062757420726573756c74656420696e20616e204572726f722e5472616e73616374696f6e206469737061746368206973206d616e6461746f72793b207472616e73616374696f6e73206d757374206e6f742062652076616c6964617465642e496e76616c6964207369676e696e67206164647265737354686520696d706c6963697420646174612077617320756e61626c6520746f2062652063616c63756c61746564546865207472616e73616374696f6e20657874656e73696f6e20646964206e6f7420617574686f72697a6520616e79206f726967696e436f756c64206e6f74206c6f6f6b757020696e666f726d6174696f6e20726571756972656420746f2076616c696461746520746865207472616e73616374696f6e436f756c64206e6f742066696e6420616e20756e7369676e65642076616c696461746f7220666f722074686520756e7369676e6564207472616e73616374696f6e556e6b6e6f776e5472616e73616374696f6e20637573746f6d206572726f725468652065787472696e73696320636f756c64206e6f74206265206465636f64656420636f72726563746c79496e76616c696420696e686572656e7420706f736974696f6e20666f722065787472696e73696320617420696e646578200000419f1200310000004f6e6c7920696e686572656e74732061726520616c6c6f77656420696e207468697320626c6f636b45786563757465426c6f636b4572726f72206170706c79696e672065787472696e7369633a200000a49f1200260000000100000000000000749e1200b59e1200f69e120041000000410000001f000000549c1200749c1200ad9c1200d49c1200eb9c12000a9d1200309d12005a9d1200799d1200b49d1200fa9d1200119e12003e9e1200200000003900000027000000170000001f000000260000002a0000001f0000003b00000046000000170000002d00000036000000617373657274696f6e206661696c65643a206c656e203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e727300000075a01200800000006501000009000000617373657274696f6e206661696c65643a20696478203c20434150414349545975a0120080000000b102000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e282975a01200800000004a07000005000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e740075a0120080000000f80500000d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273a8a112008400000058020000300000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f737065635f66726f6d5f697465725f6e65737465642e7273003ca212008300000034000000050000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300d0a212006f00000062030000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000050a31200750000002e020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000d8a312007d000000d1070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730068a4120067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e00000064a5120009000000e0a41200840000004e0000001f000000e0a412008400000048000000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000098a512007d000000d1070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727328a6120084000000c60000002700000028a6120084000000160200002f00000028a6120084000000a1000000240000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273dca61200600000002f0200001700000050617468206e6f742061737369676e6564000000dca6120060000000b20000001e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702e72730070a712007f000000c507000046000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20656d70747920696e7465726e616c206e6f646500000000a812003d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e727348a8120080000000460500001f000000617373657274696f6e206661696c65643a2073656c662e686569676874203e203000000048a81200800000006002000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e282948a81200800000004a07000005000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e202b20636f756e74203c3d2043415041434954590048a8120080000000f70500000d000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e740048a8120080000000f80500000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f646548a81200800000002706000016000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e202b20636f756e74203c3d204341504143495459000048a8120080000000360600000d000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e203e3d20636f756e7448a8120080000000370600000d00000048a81200800000006706000016000000617373657274696f6e206661696c65643a206d6174636820747261636b5f656467655f696478207b0a202020204c6566744f7252696768743a3a4c6566742869647829203d3e20696478203c3d206f6c645f6c6566745f6c656e2c0a202020204c6566744f7252696768743a3a52696768742869647829203d3e20696478203c3d2072696768745f6c656e2c0a7d000048a8120080000000c905000009000000617373657274696f6e206661696c65643a206e65775f6c6566745f6c656e203c3d204341504143495459000048a81200800000007c050000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727360ab12008400000058020000300000006361706163697479206f766572666c6f77000000f4ab1200110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730000000000080000000800000048020000000000000400000004000000490200005765696768747265665f74696d6570726f6f665f73697a654572726f7200000010ac12006f000000be0100001d000000506f7374206469737061746368207765696768742069732067726561746572207468616e20707265206469737061746368207765696768742e2050726520646973706174636820776569676874206d617920756e646572657374696d6174696e67207468652061637475616c207765696768742e204772656174657220706f73742064697370617463682077656967687420636f6d706f6e656e7473206172652069676e6f7265642e0a0909090909507265206469737061746368207765696768743a202c0a0909090909506f7374206469737061746368207765696768743a20000000d0ac1200c400000094ad12001d0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f64697370617463682e727372756e74696d653a3a6672616d652d737570706f72746672616d655f737570706f72743a3a64697370617463685965734e6f3078436f727275707465642073746174652061742060603a2049ae1200140000005dae1200030000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f756e6861736865642e727372756e74696d653a3a73746f726167656672616d655f737570706f72743a3a73746f726167653a3a756e686173686564506179734469737061746368436c6173734e6f726d616c4f7065726174696f6e616c4d616e6461746f72792f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727324af120084000000c6000000270000002e0000000100000000000000b8af12000100000042616c616e63655374617475736672616d655f737570706f72743a3a7472616974733a3a746f6b656e733a3a6d6973634672656552657365727665642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000008b01200750000002e020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e727390b0120070000000e8010000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000010b112007d000000d1070000090000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f686173682e7273496e76616c696420726576657273653a2068617368206c656e67746820746f6f2073686f727400edb11200260000006672616d655f737570706f72743a3a686173683a7472616e73616374696f6e5f6c6576656c3a57652061726520756e646572666c6f77696e6720776974682063616c63756c6174696e67207472616e73616374696f6e616c206c6576656c732e204e6f742067726561742c20627574206c65742773206e6f742070616e69632e2e2e000042b212005c0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f7472616e73616374696f6e616c2e72736672616d655f737570706f72743a3a73746f726167653a3a7472616e73616374696f6e616c2e01000000000000002bb3120001000000436f77544f7074696f6e4e6f6e65536f6d652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273004eb31200750000002e0200001100000044697370617463684576656e74496e666f6672616d655f73797374656d50686173654170706c7945787472696e73696346696e616c697a6174696f6e496e697469616c697a6174696f6e4c61737452756e74696d6555706772616465496e666f5065724469737061746368436c6173736672616d655f737570706f72743a3a646973706174636854000000000100000001000000550200002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f6c696d6974732e72734275696c6465722066696e6973686564207769746820606275696c645f6f725f70616e6963603b205468652070616e69632069732065787065637465642069662072756e74696d65207765696768747320617265206e6f7420636f727265637400006cb412004e000000b401000016000000426c6f636b4c656e6774686672616d655f73797374656d3a3a6c696d697473000000000004000000040000005602000056616c69646174696f6e4572726f72736861735f6572726f727357656967687473506572436c617373426c6f636b576569676874732f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e727300000091b51200600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000004b612007d000000d10700000900000091b5120060000000240100001900000050617468206e6f742061737369676e656400000091b5120060000000b20000001e0000006d616e6461746f7279546e6f726d616c6f7065726174696f6e616c6d61785065724469737061746368436c6173733c7533323e626173655f65787472696e7369635765696768746d61785f65787472696e7369634f7074696f6e3c5765696768743e6d61785f746f74616c7265736572766564626173655f626c6f636b6d61785f626c6f636b7065725f636c6173735065724469737061746368436c6173733c57656967687473506572436c6173733e776569676874636c6173734469737061746368436c617373706179735f66656550617973753332737065635f76657273696f6e636f6465633a3a436f6d706163743c7533323e737065635f6e616d65436f773c277374617469632c207374723e417474656d7074656420746f207573652066756e6374696f6e616c69747920746861742072657175697265732073797374656d2072616e646f6d6e6573732121d8b71200400000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f67657472616e646f6d5f6f725f70616e69632d302e302e332f7372632f6c69622e727300000020b81200650000001d00000037000000010000000000000001000000000000000000000000000000010000000000000082800000000000008a8000000000008000800080000000808b800000000000000100008000000000818000800000008009800000000000808a00000000000000880000000000000009800080000000000a000080000000008b800080000000008b0000000000008089800000000000800380000000000080028000000000008080000000000000800a800000000000000a0000800000008081800080000000808080000000000080010000800000000008800080000000802f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6b656363616b2d302e312e342f7372632f6c69622e72734120726f756e645f636f756e742067726561746572207468616e204b454343414b5f465f524f554e445f434f554e54206973206e6f7420737570706f7274656421000070b9120059000000eb0000000900000000000000000000000100000058020000590200005a0200006b65792d76616c756520737570706f7274206973206578706572696d656e74616c20616e64206d75737420626520656e61626c6564207573696e672074686520606b7660206665617475726534ba12004c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6c6f672d302e342e32322f7372632f5f5f707269766174655f6170692e727300000088ba1200610000002d000000090000000000000004000000040000005c0200002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6d65726c696e2d332e302e302f7372632f7374726f62652e727301a8010001605354524f424576312e302e3200000cbb12005c0000005e000000090000000cbb12005c0000005f000000090000000cbb12005c000000680000000d0000000cbb12005c000000720000000d0000000cbb12005c0000007c00000015000000596f75207573656420746865205420666c61672c207768696368207468697320696d706c656d656e746174696f6e20646f65736e277420737570706f72740000ccbb12003e0000000cbb12005c0000009100000009000000596f7520747269656420746f20636f6e74696e7565206f702020627574206368616e67656420666c61677320746f200024bc1200190000003dbc1200160000000200000000000000020000000000000000000000200080e00200000000000000020000000000000001000000200080e00cbb12005c000000880000000d000000646f6d2d7365702f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e727300abbc1200600000002f02000017000000abbc120060000000240100001900000050617468206e6f742061737369676e6564000000abbc120060000000b20000001e000000526561736f6e7370616c6c65745f62616c616e6365733a3a74797065734665654d697363416c6c4578747261466c6167737531323841646a7573746d656e74446972656374696f6e496e6372656173654465637265617365556e65787065637465644b696e6470616c6c65745f62616c616e6365733a3a70616c6c657442616c616e6365557064617465644661696c6564546f4d75746174654163636f756e742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273f0bd1200600000002f02000017000000f0bd120060000000240100001900000050617468206e6f742061737369676e6564000000f0bd120060000000b20000001e0000007265696e6974636f6d7075746573746f72616765626c6f636b5f6c656e6774684576656e7470616c6c65745f676c7574746f6e3a3a70616c6c657454686520604576656e746020656e756d206f6620746869732070616c6c65740000cfbe12001f00000050616c6c6574496e697469616c697a6564436f6d7075746174696f6e4c696d697453657453746f726167654c696d6974536574426c6f636b4c656e6774684c696d69745365745468652070616c6c657420686173206265656e2028726529696e697469616c697a65642e0000000000003ebf120024000000626f6f6c57686574686572207468652070616c6c657420686173206265656e2072652d696e697469616c697a65642e0074bf12002b00000054686520636f6d7075746174696f6e206c696d697420686173206265656e20757064617465642e00a8bf120027000000466978656455363454686520636f6d7075746174696f6e206c696d69742e0000e0bf1200160000005468652073746f72616765206c696d697420686173206265656e20757064617465642e000000000000c01200230000005468652073746f72616765206c696d69742e00000000000030c012001200000054686520626c6f636b206c656e677468206c696d697420686173206265656e20757064617465642e50c012002800000054686520626c6f636b206c656e677468206c696d69742e0080c01200170000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273a0c01200600000002f0200001700000050617468206e6f742061737369676e6564000000a0c0120060000000b20000001e00000052656c656173657370616c6c65745f7472616e73616374696f6e5f7061796d656e745631416e6369656e7456322f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000061c11200750000002e0200001100000063616e6e6f7420616476616e63652070617374206072656d61696e696e67603a20203c3d20000000e8c112002100000009c21200040000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f62797465732d312e31302e312f7372632f62797465732e72730020c212005b000000c7020000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273008cc2120067000000f7000000150000008cc2120067000000b801000029000000436f646563206572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300001fc3120067000000f70000000f0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e727398c3120060000000240100001900000050617468206e6f742061737369676e656400000098c3120060000000b20000001e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273002cc4120067000000f70000000f000000307848656164446174612829a6c4120009000000afc41200010000004865616444617461706f6c6b61646f745f70617261636861696e5f7072696d6974697665733a3a7072696d6974697665735665633c75383e56616c69646174696f6e436f646549647533322f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e7273000bc5120070000000e8010000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e72730000008cc51200750000002e020000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e727314c61200600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000084c612007d000000d10700000900000014c6120060000000240100001900000050617468206e6f742061737369676e656400000014c6120060000000b20000001e0000006d61785f63616e6469646174655f6465707468753332616c6c6f7765645f616e6365737472795f6c656e6d61785f636f64655f73697a656d61785f686561645f646174615f73697a656d61785f7570776172645f71756575655f636f756e746d61785f7570776172645f71756575655f73697a656d61785f7570776172645f6d6573736167655f73697a656d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e64696461746568726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e64696461746576616c69646174696f6e5f757067726164655f636f6f6c646f776e426c6f636b4e756d62657276616c69646174696f6e5f757067726164655f64656c61796173796e635f6261636b696e675f706172616d734173796e634261636b696e67506172616d736d61785f63617061636974796d61785f746f74616c5f73697a656d61785f6d6573736167655f73697a656d73675f636f756e74746f74616c5f73697a656d71635f686561644f7074696f6e3c486173683e706f6c6b61646f745f7072696d6974697665733a3a76394162726964676564486f7374436f6e66696775726174696f6e416272696467656448726d704368616e6e656c557067726164655265737472696374696f6e50726573656e7455706772616465476f416865616441626f7274476f41686561646361706163697479206f766572666c6f7700000044c9120011000000cd710b30bd2eab0352ddcc26417aa1941b3c252fcb29d88eff4f3de5de4476c32f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000080c912007d000000d107000009000000f5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f63617061636974796a0da05ca59913bc38a8630590f2627cb6604cff828a6e3f579ca6c59ace013d6a0da05ca59913bc38a8630590f2627c1d3719f5b0b12c7105c073c5074459486a0da05ca59913bc38a8630590f2627cf12b746dcf32e843354583c9702cc02063f78c98723ddc9073523ef3beefda0c4d7fefc408aac59dbfe80a72ac8e3ce5cd710b30bd2eab0352ddcc26417aa1949e94c040f5e73d9b7addd6cb603d15d3cd710b30bd2eab0352ddcc26417aa194f27bbb460270642b5bcaf032ea04d56a4f7074696f6e544e6f6e65536f6d654173796e634261636b696e67506172616d73706f6c6b61646f745f7072696d6974697665733a3a76393a3a6173796e635f6261636b696e672f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72735fcb12007d000000d1070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000eccb1200750000002e020000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730074cc120067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000eccc12007d000000d10700000900000030787072696d69746976655f747970657300000001000000000000000200000000000000020000000000000000000000200080e00200000000000000000002000000000000000000200000e9483235362f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273cccd120060000000240100001900000050617468206e6f742061737369676e6564000000cccd120060000000b20000001e0000005b75383b2033325d3030303130323033303430353036303730383039313031313132313331343135313631373138313932303231323232333234323532363237323832393330333133323333333433353336333733383339343034313432343334343435343634373438343935303531353235333534353535363537353835393630363136323633363436353636363736383639373037313732373337343735373637373738373938303831383238333834383538363837383838393930393139323933393439353936393739383939010000000000000000000000000000209a99999999999999999999999999991915ae47e17a14ae47e17a14ae47e17a14de24068195438b6ce7fba9f1d24d621096d40968226c787aa52c431cebe2361aab436e861bf0f96184f068e388b5f8142236583849f3c7b4368dedb5a0f7c6106a238dc00e52a6875748afbc9af2d71a884fd766a541b89fdf398c30e28e791507a6121f51012de6b294d626e80b2e11a40951cb8168aed6b7babdd7d9df7c1bea3aa7a234edf1de5f956479e17ffd15bbc885e8f6f0277f1911ea2d81999711f80dd640beb40c65c281764968c2251c9371de33989070ea019b2ba1869b841643c17e29e0a6f3219b1556e79eaf03123735310fcdd785692bbc89d897b2d21cf9905a3fd7df37218996d44646f50e17fa7348cc45e65fe7a0ab43d2d15d72125d860d7a3c3d66a534acd2b64fc9831db19ed79463971e515d2342920ca19c17c14b79dd82df7eda7d4f9b0e0ab4e31268ac5b62d198642a96e55e171020391e53f0e281a7e0b6ee4451b21240b32d18a9264fce524d92586aa78ea899c2571341a47eb0b77b5027aad87ddaf5d0f21e345065c05fc9a652bb13cbaec440c21890a6ea994cd4eb0ec90f3cf2369ace13800a11c3ad5379b141196050bef6b01f670874028bdc2dc16747b3a6fe5e5a1952a029356fb02434869fc2ebfe4b4814db19ee90f2591d909e7f688965d639105f29b0b41dc3fb4c9732a7a8d523f619b2ba595db135963dac5b1fba77e9c4142862e17d275eab9756494cfb92879d100d9d68c9d8c9abf2f00e7af8b7a5951a3e17ba3a7aa1bc5b5a722e2d93844415cb45fb2ec81acaafae8e8b8a429d0311450992b1a6f7dcb24ae478aa9dfb381b04a141c1eb927df56e832d55b12fc71503b46767897564c4589c577727266c11d2eca5d8db886d6df4c625f20b3de01bdb23eb461607be8ac3381e28a3fd4c1649b655d2116cfe6e9c604b534f31d7110e8aefb64f1397b16067458518828b1ca5a1bff8720fac271ab96a37ad01d6161e4e9960c27256b9e160552c24ce44129516c2cd031e57f535cebb136de33a1dabab010b0318ac2a2bd82f768a4f62175689346f02e0bcbb5513f3c46e0cb51289a8edb1d0ccc792ef1eb8d44a7aee1d07ba578e400ad3dbf24b93106ffbf11706c8df7100d5a87cf56f0fda58fc2713d60c66e933bba7fabb4cb2298e60a61e11d7848729fc5295c9a38e540b1a85180eacd0d2bac9a8aa0783d8766fae9d13e3ac1a1e5edcdadda5d1c057b2b0621f4f8a484b4bb0487e51419aac8ec01b19d9a1d3d5d5596dcbdacde156a53316147b81dc77117b573ce2d7e7abeac211102acf6059825ef2c63626a6acaa04b619bba580476818f56bc551eb56559d911496840006ed792a23d1a722dfdd7d7410560734a3e18fddd1810cd13196fc531a456cf6e81a73e4a7343da7f444fd0f159e56f853e2281d535d97525d6a97d91062578db903db61eb2ef2509510bff51ae845a4c7cf484ebc585bdadda6659115206b836cd9d37163ade2e1171f1e4111cd119fad28861c9f480403f364639b1b0bdb18be536bb0e5069d358f1de91516a21547cb0f89f3ea6b4a9172e420ab1137bc71784cdbb84446aa1b846d01451c5f63c1c6d615c70305554903be9a9d1619e9cd6b45de383637770769feae1712c1411646a263c1565858720e97b1f21cce67abd1811c01df7913f571128e2817a5ec5541ce16347f61dc90c10ed886126e4756357d24206502c7e768e48ca41d253978f7301d80ea016cb9201dd7b61784fa2cf9f3b099bb3423614d17acf81239f74728534e5c5f54386815f2ac5a1e2e2cd3b9750b7d7f436053445b8a48185823dcc7f7d53099cf19a9367c3b6d1326d2f9728c89b48eb28f0ef1f92b151fb8412e8fa3072a7228a60bf4c7bcdd18fa9abea54f39bbc1861ed65c0697e413f6f7300919c25e9cd730f0fad624d41ff85f5a071468e549798d262fdf83761960e6e1051020516ec70a52bfe5cf5e141a8581d10c80daf1056f0e9984d94b10f5d468821400c44fd6e4e3f4a0f5121a2b77ed01aa9969d911b71cf7b3f7db14bcc58a018814eead7492b0c55cf9af102c09de68a6ed7c4954ea806f9428b31a24d4e453b857ca3a10559abf76205c1583761d4360793b6273aaaeff5e8016119ebdc8d166f52b9db810b132cb33571b7f646d4152c4bc7d600df48ea25cdf15ccb68a67db69fdcae63dc3d84e7d7f11df8a7772c50f2fabd72f058ee42eff1b80d5925b0473f288ac8c6a3e1dbf651666444249d028f5d3563d55984affea11a3a003424d4188b95795bbf31032ab1ce9e60268d7cd39617977fcc2405bef1654520220797161e72df9c968cd15591286509d998eb568a57c5b767415565b1dd2a64ae13e912051fd15c5f6dd447c170e1fa21aff404da7ca443792b1d0c9124acb69f764ceae0b116e58504fb40f1e3b3ceec550d88b3ca7f179733f900c18c9c9f137da7909ca85f4c7c232403d13db42e9bff6c2a8a96fba0c9eb766c81ee39bbacc2bcf53212695707e2c52a018824995708972a91ab8dd2665f074b3139d75881a0f8475f78c2f3e08e787851f175ea07b7236915f0a269806ec9f3719dfe419965bf84019d5844605f07f2c144cea47abafc600e1103705d18c99231047dd3f454ca467cee724d5b4478fd21906b1cc9dd6e952d81fb7ddc39f72a81438270a4b45eedb79192c7e6919c2861059d8a911a2e35f298f46300f8f36711a7a13bba7811cb3baa56bf3d8d85e27152fa995ec9ae3286251898fade04bec101775efe0f7380e9de80e4caf9aac131b792a591a932dd8b05372d625e256a9152e5547480fbe798ddcc1deb7814554117cbb0bda7e968f15949c978ccf08ba1b972fd614ff11a67776b0dfd6726d2e16798cde43ffa751f991f3b278f5bdbe118eadfdd2fe3f1cc21cecb75a2263641cd88a64423233b00117f05f15b5b5b61646a2839b8ec25901ac59e6dd90c42b12a303395f1704f6ceacc2a3fc1ad4121d839c2d4cac695e72bd9b1cca484342179ce38ad6895418f5fde2160807699b12c605abbd0f548dee2f6bf10cd874c51d056b22fe7276d7be8c22c170462ad11704bc4ecb28c512ffd64e678d6bbb0d13a0f97d78743b51cb247ed87b125f7c1e4d61fef929c90d09b731adfc417f63180a81cb9421d4d7a0c52724ca34cc821377ce7854cfb9bf676f0c6d4321ad371ff9712ddda594cc1f59708acf4d57f918c7f4bd7d51ddd67f7af3a13f3eacfa130bee2fc9e82ebeffc3b89c32fd79f71fd624f3a020bf316636fa16c2fdc79219781d5c1a1acc27b85efbab01cb6c751460e47c7bae09539318c9bc67a2f05d1099a094c5b042eb1ef474943f6ae72f1ae1e67604270289e55c2add32881ff314e7eb2b9d85cea0b7b0eeb028a07fc210d8dfdf616f4a0159b44a4e7433ccd01aad4ce6e725d5cde029a23e908fd67315f1d651865177714deeb4cbd972782911e857e9d6e8bee87bb054ac8f848d751b201321df5332bafc59dd890c6aa4f7158042e7184328c863ae4a6e70eee99211666ad827380d0d0617114a1a17431e1ceb21adec2ca43d6b12746e7b129c7e16564e57bdf01cfe88db5c58fc41e3fe11234a2562b49496415f618d603605cb1ce9d41de829aaab677fe73d4df8d0081787dd1720bb2156b932b964d7f9736d12a5958c662b6923c2eac13af2c2ec7b1d1dded61e89ba82cebb34625b025796171818df4b076235a5fcf6b4e201acde1259f36479d89c883b94f187373613311ee1f583c7464a6dfcdc5a06c6914227181a2b03069f6e573017af9ed1a79b521390ded13ccb7d251a2518311ca692ea1e40e5a7303cfe1d48b7795ae384a8bb18005186c0c9314bd3c5c7ae829d53c913cdb4a3cd42e9115209a617d1c885a81fa4901c3e0221db7407b8df403a9e5319500d4acb01b415f705601967fbe44214a70a08099b29def837b37a52fc833510d7dd0ca89142308e59b82ab79339ef19134b0a200e028d3ee1f9eef84261bf140f3c08803e9b3d65e7c758fa9b1a9910e42c0d0064f8c86ea50c8e90f9908e1aea23a499e9f9d38bb7a3714061da3e15bb1c50e1ba94a93cf982f4991a15ff102b61b39bc4ba75c78ed120c35dbb311b891a29166a95c4d20b0ee768b162c115a17bba118877d0db6f3e1f87278267119b925d1c40bf802ce663983e3fd0d81b4975e44933cc33bd51b64665ff0c4716d45d506e8fd68fcaa75e0551cc70d21153c9b3e34b571944d9fd6e4eade7831ca93af68209794703e19725a58aeccf16bafbc468d4606ccf807984ea6ef03f122af9070e87347ae59af5d3104b1a331d2294390b6c902e51e22a43da08155c17b5a9c7d5bca68bda8155cfe1d310b012870fd9222e71df909c55e5025381e61d6c0c144f8b5a4cda16de1dcfa89aeb178aa3a9a5a27ba3ae787eb1a520e22213a905a9a26a5fd27d2797b5a29a369e1e54d12082887fdb971facf74e15927e1877a780ce06667c794c23c6d8dd749813f10b01e40a702d8fad6ba32796545a1f5ad60050a259240cbeefb51f7810151915459ad981141d70fef2f7b2f9d91014776a7b149b4317c0fe5bc6282e7b0d10f24392edc405f2ccca2c0a0e7d2baf19c29c0ebed0375b0a6fbda171ca228c14cee33ecb73f948088c97b427d51b7010b09f6478ec5b0edaac25540c55f94c1ac07f5060f0af3e7bbdb7a9d610610a1533664080f3bfcb95972ceede731ad5105270cd665266acef5847b064b990ee1adb59a4b80e852326476cf3b6faa68b1549aeb693d8d0821e6c23295f95853c1175b08a1ff41a9efdac38a8feee08941bf759d5b229afb197bd938698250710162c7b77f5ba258eac97dc9e131e6ca61113c558222b097d7abf2dfeb8c9793d1c766aad4eefa0fd61cc57cb60a1949716c5eebd0b591afee7091309e74ddd12123ab1fc455b5d63a6dc840ed8affbea1cc88d306baf4a1c85b0d03e13f3622217d4d726bcf26ee3d026dacb75c2e88112868ca4c6ea179fb4d72946899da79c1d6b705005efdf182a46ee04a11786b01789f3d99d25b3e0546b8b9d4d799ef3127452f6626febcd8778452f7c2897521e5da85e82bf220bd3c66abfc986124218e4b94b68cc1b3c0f9f88ff3ad20e68136d2979407a2c601898da989183e40c1f24219433c856b34613e2130e361dd718b64d4329a0788f38dcb4dca4914adf138aaf6ba866277f5a602161a182aacb1fa2bfefb9eb8532154db44db49bbb6f194e998c6189d18eaa3d90a4f6e26259140ce1d61aa1a7d8eecad9b62b4f824710459b245e9b72277e11f68adfb1030c1a04491d1849f585fe0df83b195b69d614d0a04a13d45d9ecba4f92f147c87ab104d01115253c963df3a5ce6b9f90bac1a7167da740fa11c192fb01efbfa6f5615c152482ad980b0ad25c04b2f2ff3111134510daa8e34e71509cd12b27eeb4f1bc40d71ee3e5d1fab6d0a0f283289d9159da48d8b651719bc57080c2028d47a11943a7c123cf2f42c590de0ccd9b9f71b439596dbfcf4c3f0e03db370e1c75f1603111216975d365a1acbf5268139e61104e81cf024fc569090de220b358fa31cd0ece38c1d30dfd9a64b82a25d3fe916da23833db1597fe1eba2ce4eb13254125c39382fb5c2cb6879d17de44e84531de32d60bf5d35d65394a76450720376171c8be665b12a78a976ecb6a68ecfc412fa44d76fb5aa260ff1138bd77db2071e626adfbf2a22523f27436fac642806184e887f99884edb651f9cf289502038134a0dcc28744ac56f6593ea0fb433c01e3ba40987f6a16a59840f2273f6c2991896b6076cf8e7eead36d9b4f59135ae1356570ce0f33f7e4924f5ba2283227d1f45acd64cf6ff64d4e99095e868e83019d189783df8ff8343ee7344ed5320271474a19397c6cc9ccff18f03f10f4d1f105202b925a447617f1cb305e87faecb190f35c7b7e9d24dcc165cd1ecfff1a214d990d25f210f0b3d12b0da23335b8210c1e75099684bab6150b32a06852b6a1a67b94014baa2224e405c556b6abc2115539400dd94e84e0bcd4944bceec9e71051ed00c887da171248a9d3c64a760c1bdabd00a06c4846db6c87dc6bd591a315af64cd4cbd0605498a9fe3efdda74f11b13ae27ac80a08a843ff38e62fa6b21bf42ee8fb39a2395369ff931ef38428165df2ec2ffbb4c77587ff0fb2f503ba112eea47e69121d9223fff7fb622d35c1cf254068541817ab565ffff91e8a8b016f5433837010162c4b73233db86ed2612ee9ff3f10168363a5984eb91a4150b1d8b19f6279bb95efbe069bc7450113c17d67a5e86e2fa7e2fe787635d407496125691fdd6d0f797e571d93862cd86bd1dabdaca780d937984c17a2de83dd2ca1756156f2d714261d09ac88a8631a80813222218af4e6a684d91daaa3d4f40741ee8b479f23e8853a4daae88643f005d18875d6128ff6cdce9ae586d50cc997d13a495680d65ae60a9e48d481a7a5c2f1f8344ed3db7beb3ba8371a0ae61b0f218369d8a312c32f62e36c1e6bee759f513f0617782131dbde4899bd7973ff6ee1f5a4e2c35a97dca83a1afdfdf32f88b1915a556f720fea19ce7f2b24cc2f96f14aa1d12f9b3311b4ab9288f709b945910dd95b6c1ecb55e43f50de580c5ed281a4ade5e01575ee535c4a41d67048bed14d5b11801ac7eb7c4691d7e52d008be1022b65a9b799725a10f2f30b7b3a7c91a815e154961acb74dd958f3f8c21f6e159b4b44078123c6d7ade0f59335e624112bacd33e9b053d5949345686223d6e1bbc89dccb159efde06dc3110582caf11563a1e36f1118feb3246941379b3b8e11d19bd27fb559638607753525c5c5161c0ee30e339114e9d1d290f750379e78160b1c3f8fda76ba74750dc6402c18fa1178c631e59024f7edbb48a367e059c31c2d055bb7401d2c8bc9d3b51f4dae021724047c5fcd7d566fd40f2be6708b6812066dc69848c9f07eedb2113d4e12741d9fbd9ee006a1c09857c2a7fda40e9017e6ca4b4dd2800047799becca50a5d912a24479481dce00d88ec5ad448108291e82d02d6d17d833133fd1579d9ad32018cea624247946f6a865a7ac4a15764d137da43aa08e3dbd746fa57a778856e21e645095e63e31645d8cb7fbc50612b518b7a6aaebcb8db64a702c96d16b0ec41357a4aa12131624111a47f0e81217a01fdfe9ee0edc4483da146cf35342df4c198021bfd87c9d02e243232943687f3d143381327afd7d684e361c54cfb9323110b8ce509095c9404abdc6b94b2951e819c60ba7a677d4330831d2c76f87dab9146b09ec1ec67629a08d0ed3bfd2ae9410dfdbac64a35742004917b8ff1d7e871a19e323eab5df01cda0126099b1313915aeb51c88914cce704d75e6ad278efa10e25594a6b5ade31aafbb70490c7d2a1be8774385c457e97bf2628d073d97bb1587f935046a7987c98eb50a0664df621171c2bc06108fa575e48877d66c65d11b2735ca6ba6a5b7f7e9d392abf01d41161fc4a1bc1e1ec65fee0f0f568db1cd1165d302616463a3ff16b3b189484f7c1c51dc9b4d501ce932df288ed406d9c9160e7d497173e3208fb220d87605143b127c2e0f8285059b7eeacd59f13b532b1dcabea5019e37afcbeed747f42fdc5517a19884344bf95809bfac6cc38c16ab120000000000000000000000000000001000000000000000000000000000000014000000000000000000000000000000190000000000000000000000000000401f0000000000000000000000000000881300000000000000000000000000006a180000000000000000000000000080841e00000000000000000000000000d012130000000000000000000000000084d7170000000000000000000000000065cd1d000000000000000000000000205fa012000000000000000000000000e8764817000000000000000000000000a2941a1d000000000000000000000040e59c30120000000000000000000000901ec4bc1600000000000000000000003426f56b1c0000000000000000000080e03779c31100000000000000000000a0d88557341600000000000000000000c84e676dc11b000000000000000000003d9160e45811000000000000000000408cb5781daf1500000000000000000050efe2d6e41a1b00000000000000000092d54d06cff010000000000000000080f64ae1c7022d15000000000000000020b49dd97943781a0000000000000000949002282c2a8b100000000000000000b9340332b7f4ad140000000000000040e70184fee471d91900000000000000883081121f2fe7271000000000000000aa7c21d7e6fae0311400000000000080d4dbe98ca039593e19000000000000a0c95224b00888ef8d1f00000000000004beb3166e05b5b5b81300000000000085ad609cc94622e3a618000000000040e6d878037cd8ea9bd01e0000000000e88f872b824dc7726142130000000000e27369b6e22079cff912180000000080dad003641b695743b8171e00000000908862821eb1a1162ad3ce1200000000b42afb22661d4a9cf48782170000000061f5b9abbfa45cc3f129631d000000a05c3954cbf7e6191a37fa5d12000000c8b34729beb560a0e0c478f516000000baa099b32de378c818f6d6b21c00004074044090fc8d4b7dcf59c6ef11000050910550b47b719e5c43f0b76b160000a4f50664a1da0dc63354eca5061c0080865984dea4a8c85ba0b4b32784110020e86f2516ced2ba72c8a1a031e5150028e2cbae9b8187698f3aca087e5e1b00596d3f4d01b1f4a199647ec50e1b1140af488fa041dd710ac0fddd76d2611510db1ab30892540e0d307d951447ba1aeac8f06f45dbf428083e6edd6c6cb41024fbeccb161232338acdc9148887e114ed39e87e9c96febfec40fc196ae9191a342451cf211efff793a83d50e2315010416d2543aae5fef5b8124de45a3e641492c8eed3149f7e336757609df14d7d19b67aea08da465e00416db8046ea1dc1fb28c924548ec3aa04844f3c2e4e4e913de2ff7565aa749c85a15b0f31d5ee418d6fbb4ec30115c7ab11a9c70a5751d1f651df193be8a79ecae90616687697213bf64ed386eed97a7daf4f93fe9034f18efbd28c7c9e87d511172f88fe3c4621eb576791c7eb1eed24a47fb390ebbfd1262d497a3dd5daa871d197ac8d129bd177bc97d0c55f594e9649f983a4674ac1ded9dce275519fd119f639fe4abc88b126845c271aa5f7cd6863cc7ddd6ba2e17c2d6320e95771b8ca80b39958c69fa1c39c6df28bd2a915749a743ddf7811c12c8b717736c7575ad1b9194d475a2a316baa5dd8fc7d2d29862b5b949138b4c1c9487eab9bcc3839f5d11140eecd6af11792965e8abb46407b5159911a7cc1b16d7737ee2d6e13d49225bffd5d0bfa21b66088f4d26adc66df598bf85e2b7451180caf2e06f5838c9327f2f27db259715207d2fd98b6e867bff5efbf051effc1a34aebd67170534ad5f1b9d369315de10c119ad415d06819837624404f89a151532601892f447a17ec57a5505b6015b1a1f3c4fdbf8cc246fbb6c55c311e17810270b23123700ee4aeac72a3456199714f0cdabd64480a9dde47935c1abdfbc19b6602b062bf0890a2f6cc158cb0b1610e438b6c7356c2ccd3ac7f12ebe8e1b141dc7a339438777800939aeba6d722219e4b80c08146995e04bc75929090f6b1f8ef30785ac615d6c8f1cd8b965e9a21372f049a617ba7447b3234e28bfa38b188f6cdc8f9de85119a0ac61f2ae8cae1ed9c3e9796231d30fe40b7d57ed172d13cf346418bbfdc713dd4e5cade85df81703427dde29fdb9589462b3d86275f61d42490e2b3a3e74b79c1d70c75d09ba1292dbd1b5c84d51e503254c39b58b6817775246e33aa1a5de442e9f87a2ae421d8af30bcec484270beb7cc39425ad49126df08e01f665f1cd255cf4f96e18dc1688acf28173bf6d412f7371b88a1e931cd5ab3731a897e488fde746b316f3db11ca96853d92bd1debfca11860dcef52167dfce6ccf62ce5257cca1e78d3abe71bce5d10401a3caf978d3e132b64cb7011427514d0200b9bfd300ed8353dfecc1592921904e9cd013dbd114e83cc3d401b9bfb8fa2b120214616cb10d29f26081182fa330bde68a9d7dbfd94c647304a1523f9008e15c393cd523d3ab859bc9c1ab69bc078ed597cc053662413b8f5a110a3c2f0d668709bb0e87fed172673ca144cf3ac0c834cc2dce2dfe89def0ffd190f18ece7d16ff9c9ed8bb1c2f5293e10131ee761c6cb773ce9ee5d3373b44d1498e560fab7be958ba36a350090216119fe1ef9f8652e7b6e4cc54200f469b91f5fb39bbbfffc0cc54fbb298038e2d31337a082aa3f3c50b6232a34a0c6dac818444823954f4be4a3ac3441487811fb1e2b0d36bd11af6ee6ebc0282debea5c137590832cd65a0ae026f172f8a52534189374a4b78bf10c9870ad8f760f2f411edcc8c652f716085f66cc19aa69bde812137b7827b51ccaf67f3fa014c4eca217d7995671e2a37cf45f4fc819f5a78b1d2620d6866de6cdf89b311d30f948771230a88be8086001f7027e247c371b15173c92ae220bb8c1b4839d2d5b0562da1c651badf50613f9507282fc58437d08123f6218b3c85737e50ea33b2f949c8a16cf7adedfba2d859ed28b0a3bb9432d1cc10cebcb943c13a36397e6c4534a9c11f1cfe5feb90bd88b3c3d20b6e85c0316ee439f7ea80eceae8b4ca8e32234841b758a234f29c9404dd72f49ce95a03211126deca273fb9020cd7bdb41bb487f155688a78b503ab568c05a5212ea1adf1a36b5485772447141b878734bd270cb1083e21aed8e95cd51e65650de064dfe14249b61a8f2fa40e69f6ce49548e03d1af7003da9d79ce8efe3c3ae5d2dac661034418c930dc4e2ebdc741ab53857801481516ff81075db26141261e2066da019f192459b2a2949984cab7c4d24440410adf7164275735bbe1fd6db602d55051498b59c925250f2ada7cb12b978aa0619ffe2433767e46e99917e57e71655481fdf6d8a82c04ee5ff1aaf96502e358d1357092da370a2debfe15abce479827018ad4bf8cb0c4bd62f9a71eb5d18a38c1e4c2f7bffe7eee55d0027b33aefe517131ffb59ffa16a5f75c0f05f096bdfdd17e779307f4a45b792f0ecb7cb4557d51d304c7e8f4e8bb25b16f4529f8b56a5123cdf5d33222e9ff21bb127872eac4e170b5735c0aaf946ef629df1283a57221d675621b80a5c8cd55d0297598476351201ac29660d73ef4af5c2fc6f25d4c2160117b4bfd04fab9db2f3fbcb2e89731c608ed077e2118ba24f787d3fbd35c811f9b1c4155bd62d8b63d65c8f2c433a1677de35dbf14bf96dfc0b34b3f7d3c81b0aab012977cfbbc47d8700d07a845d11cd1542f354c3ea355da9008499e5b415409b12302a746583b4d300e5ff1e221b08a10b5e9a681fd2508420ef5f53f5104a898ef5c042a70665a5e8ea37a832159d2bf23271135148becea2e545527f1a425bd7bf26ac32ed36c185af6b938f101232cd6f30577fa88431679b4678b314977ec08bfc2c9fd2e5fd40425856e0191e4f58d71d7ca3a3af9e6829f7352c10e6622e4d255b8c8c5bc6c2f3744337149ffb79a0ee71af6ff277b33052144519877a98486a4e9b0bef55e0bc6659961f944c5f6d02114167b5350c36e0f7bd13ba1fb708435511c122438f43d875ad18a8e7e4ca93aa5571eb1373544ed3d81ec910cf5e9c8ad52673ecc7f410844713fbd4827643ed8af08fe7f931156519183a8a235494a8adec7361787e5abe1f1e643696b45c89ec73e83c0b8ff8d6d312fdc3bbe1b3abe790220cceb2b6cc8817fdb42adaa09621352b8f815fe4ff6a1d1eb15a8824fe34017bf9b0bbeedf6212655d71aaad3d82c1d9379d6aea97fb16bfb40d1519cde231d0854405e57dba1cf79028ad2fc02d1fa2d34a23af8ef41135b572983b30f9a68a881dec5ab2711682628f7e4a7cb750adea24a7f11e0e1c919d198faead7252ac12770857d38811f604e0321a590f6757d794ca2c08eb15330698bf602fd3402d0d3afd37ca651be003bf779cfd83483c4844fe629e1f11d8c4ae9503fda45a4b5ad5bdfb8567150e761a7b443c4e31deb04aad7a67c11ac989f0ccaae5d0de8aae4eacace0b8103bac2c80151f85962d5a62d7d718e7144ad737e0da6626fcb8f03acd0ddf201a8ee622cc4800989d73d644a0688b541032a02bff5a00fe84100c56c842ae69143e88f6be71803da6148f6b7ad31984194e2ab42e8ee0cccfd97206594820e51f709a30dd580ce021c807a4372d34ef130dc17c146f0f582aba098d853801eb1850f19bd94a13eeb4284cf0a686c1251fd27601c80ecc1471992f5628f498771386d4017a12ff59cd7fbb6b32317f5518a8498218d77eb0c05faa067ffdde6a1e096e516f464f6ed87b2a646f5ecb02138bc9250b18e389ce1a353d0b367ec317ee3bef0dde5b2c8261820c8ec35db41d7585b5c86ab95bf17cd1c7389aba9012d2e6e27ac5a7b22ddcc5f9c640e9341786a09bd9b6511f395337b8f89023021d544401481293b3039422739b3a562112699501dad677a00439eb4f42c9aba916c3fa8190cc95c84507e6e392bb16541cba3c51da9f5d9d8bc46fce3b358eb411e88be5d007b584aeb50bc28ac2b12116e3ee1ec549e2251aa38e722d331eaa1b4d55331b6ead57f0259967fcdf524a11a12a00a2c9986d6c6f7f81fb97e79c154935800afcfe88474bdf61fa7d21041b4e2190865d9fb50c8f2b7dbcee94e210a12934e83407e3cf72769c6b2a3a1b150a34412202c9db830f948306b508621a86c06855a15d69b2893c122471457d10a7f0c2aa09b5031faccb166dcd969c14d1ac73154ca2c426977e5cc880bcc319034c688d6fe53a781ecf397dd0551a10035fc270cb9e4916e642889c44eb2014c4f6f24c7e06dc9b9f53aac31526291976b42fe01d08d38287e894349b6f731fc9d01dac12e5c3b15411dd00c125a813fc44255757de34dea9551441312f92183b96ee2ced15c255146b5991fdbab61ee51d153cb44d99b5ece2d77ade3432135e651a4b21a1ffe2a7db8d1916c2fe17b6fee09d6989bfdb9152f19f9b72fe1d319fac02e2b557299bd3f643a107bf12fec657835aa3adf38188f49489c96e17bdb82d24310c9970a2aa31faeb7b4a1d76939cb69ea75f86a50a5f7c738d4e1254b843648691f7e74ecd765bd030e21669a654fde775f5a1a280547204bd9a1c01e854feb06939a565d074c722b6e0110222ea3d1dc4870e7f045279abe3581682aa648d24b529d29e85a657961cef1b91ea5ed836115a438313c8f6dd71751136a5768e8495301464187a7455ced215834e14b2e5ba3c197d9e98d1ea81471b12b14c8fcff4c52f0e63ffc232b10c1156dd1f730372b7bbd13bbf737fdd4f15acd4e74f844ea52ac60aaf50dfd4a31aebe4f0b11251a7dabb666d920b65a610261e6d5e572551d16ac008774efecf14b0650836ad6ea58585f0ca14e2fd031a8e3fc5412c65877353d6fe4cad7e4210718f3652773e6950e88b3ea0581e53144e33c426158e8364e22e4ec8eee56719224075709a71a4fd9aba617a6adfc11f1548498600c786dea0147d8ca22bd9131a9adba7c0782816c9599c2f8b76cf18a180d2d1f096b25b3b7083fb2d54031f64902383569e4f19252632bd9c1462137e74ec23ec85a35faeaf7eecc3993a189d91e72c67678cf7995b9ee73440491e02bb107ca0c0b73a40f9c21021c8ed12c3e9149bc8b0654990b7f354293aa9173324dac1fa1cbf5b74a530aab388931da05628b91c7257b968675e4a70357c12486c72e7a34eade74201f65ccc421b175a074fe14ca298a1938133747f13e21c9864d10c7065ff44fc30a0a82f4c0d12bebd0510cc3e3f563b3dc8923b9f90162e2d07147f0ecf2b8a4c7a770ac7341c3d7c846c0f69615bd66fac8a66fca0114c9ba54753c339f2cb8b572d803b09161f028f192834c8eebe6ead38608a8b1b5361f90f99203d5537656c237c363711a8b9f753bf688c2a857e472c1b04851512a8f528ef822f75265e59f72145e61a0b899979d5b13d09d8da973a35ebcf104eebffd74a1e8d0b8ed13d8902e6031522e6ff8ddd65708ef1458d2b83df441ad5efbf78aa3f06f9b64b38fbb10b6b10caebef1695cf47b7a45e067a9ece8514bde6ab5c7ac319e54df687184642a7193670eb792c1a30aff0f954cf6b890810434c6698b720fcda6c382ac3c6ab0a1454df7f7ee528bb1188c6f473b8560d192ad71fde1ef329162af8f19066ac501f7ae6d34af337da4d1a3b971ac06b921319e0881df0c550e1e0093d21b00677181f18eb246cf7a419594c8c295cc8941e13ef1297a31a07b0b7aff79939fd1c13d8aad77c4ce1089ca59b7500883ce4178e950d9c9f190b038f029300aa4bdd1d797d88c103f0e66199e15b404a4faa12d79ceab104ac60baffd972d01ce354170d4465de05d7f8a87f908f04e41b2a1d884affaa63869bc94fbad9826e513a122a1dbf95fc6702bce3289023cae5c81674e42ebbfb0103ab1c3374ac3c1f7b1cc94efd543de1e1eaf19fc8eb85f3cc117ba23caa8c599a65eec7ba66673040161acbcbd4efef00ffe9796940813cd01bf05effe4f595603f32ec41c8d0256211ac363f5e73bb38cf3e6752fa44afba155704cf3550ea06830e01e738165b291bb662a1217252e411a96090e3edd8f91064bb09aa0e675d56d378745c294f38153d2a8c54d2c0f42b089791b3f362861a669ad77483f8781b65fe3a50d8fd931000810d52a4365762febd49644efdb81440e190664d04edfa7d2d5cfda13ce719c88c1a60b022d4bc6e9c593ee5853010fa2f21785c2b096c8a03f08d5ea73c14f87b299633760b076d046c3136d14b19f6dab37bc053ce488805c7bd83c59e1fda68504d58f4802d75639c56723bc3131083a4606e31e178527c43ec4e0ab418302e302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e7273f3f8120085000000a10100002e000000617373657274696f6e206661696c65643a20696478203c2043415041434954592f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e7273a8f91200800000009502000009000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e686569676874202d2031a8f9120080000000ad02000009000000a8f9120080000000b102000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e2829a8f91200800000004a07000005000000a8f9120080000000c704000023000000a8f91200800000000a05000024000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e6e6f64652e686569676874202d2031000000a8f9120080000000fa030000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727328fb12008400000058020000300000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f737065635f66726f6d5f697465725f6e65737465642e727300bcfb12008300000034000000050000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e727350fc120074000000e20500001400000050fc120074000000e20500002100000050fc120074000000d60500002100000050fc12007400000066040000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730004fd12006f000000be0100001d00000004fd12006f000000a80100001f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727394fd120084000000160200002f00000094fd120084000000a1000000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000038fe1200750000002e020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e7273c0fe120074000000e205000014000000c0fe120074000000e205000021000000c0fe120074000000d605000021000000c0fe12007400000066040000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000074ff12007d000000d1070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000040013007d000000d1070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f696e7465726e65722e7273009400130063000000b30000001a0000003a3a000000000000080000000400000065020000416c6c2070617468207365676d656e74732073686f756c642062652076616c69642052757374206964656e746966696572732f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f74792f706174682e72734e011300620000005a0000000e0000004e01130062000000720000000a000000206973206e6f7420612076616c69642052757374206964656e746966696572000100000000000000d00113001f0000004e0113006200000090000000210000004d697373696e675365676d656e74730000000000040000000400000066020000496e76616c69644964656e7469666965727365676d656e742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000480213007d000000d1070000090000007223457870616e645365637265744b6579736d696e69736b6e6f000000000000000000000000000008c9bcf367e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa5d182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b012f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f737562746c652d322e352e302f7372632f6c69622e727300004103130059000000bf020000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300ac0313006f000000be0100001d0000000000000008000000040000006e0200006f020000700200006120737472696e6762797465206172726179626f6f6c65616e20606056041300090000005f04130001000000696e7465676572206000000070041300090000005f04130001000000666c6f6174696e6720706f696e7420608c041300100000005f04130001000000636861726163746572206000ac0413000b0000005f04130001000000737472696e672000c804130007000000756e69742076616c75654f7074696f6e2076616c75656e6577747970652073747275637473657175656e63656d6170656e756d756e69742076617269616e746e6577747970652076617269616e747475706c652076617269616e747374727563742076617269616e742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f636f72652d312e302e3232382f7372632f64652f6d6f642e727300410513006200000024090000120000005f041300010000005f0413000100000060206f72206000005f04130001000000c4051300060000005f041300010000006f6e65206f66202c2000000001000000000000002e3075333230303031303230333034303530363037303830393130313131323133313431353136313731383139323032313232323332343235323632373238323933303331333233333334333533363337333833393430343134323433343434353436343734383439353035313532353335343535353635373538353936303631363236333634363536363637363836393730373137323733373437353736373737383739383038313832383338343835383638373838383939303931393239333934393539363937393839392f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273c50613006f000000be0100001d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000044071300750000002e02000011000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f696f2f636f72652e727300f4071300630000001200000009000000760200000c000000040000007702000078020000790200000000000000000000010000007a0200006120446973706c617920696d706c656d656e746174696f6e2072657475726e656420616e206572726f7220756e65787065637465646c792f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e727300c708130070000000f00a00000e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e7273480913007400000039060000140000004809130074000000390600002100000048091300740000002d0600001400000048091300740000002d060000210000004572726f72617373657274696f6e206661696c65643a2073656c662e69735f636861725f626f756e64617279286e65775f6c656e29000000c708130070000000b50500000d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300440a13006f000000be0100001d0000004809130074000000ba04000024000000454f46207768696c652070617273696e672061206c697374454f46207768696c652070617273696e6720616e206f626a656374454f46207768696c652070617273696e67206120737472696e67454f46207768696c652070617273696e6720612076616c7565657870656374656420603a60657870656374656420602c60206f7220605d60657870656374656420602c60206f7220607d606578706563746564206964656e7465787065637465642076616c7565657870656374656420602260696e76616c696420657363617065696e76616c6964206e756d6265726e756d626572206f7574206f662072616e6765696e76616c696420756e69636f646520636f646520706f696e74636f6e74726f6c2063686172616374657220285c75303030302d5c75303031462920666f756e64207768696c652070617273696e67206120737472696e676b6579206d757374206265206120737472696e67696e76616c69642076616c75653a206578706563746564206b657920746f2062652061206e756d62657220696e2071756f746573666c6f6174206b6579206d7573742062652066696e6974652028676f74204e614e206f72202b2f2d696e66296c6f6e65206c656164696e6720737572726f6761746520696e2068657820657363617065747261696c696e6720636f6d6d61747261696c696e672063686172616374657273756e657870656374656420656e64206f662068657820657363617065726563757273696f6e206c696d6974206578636565646564206174206c696e652020636f6c756d6e200000000100000000000000080d130009000000110d1300080000004572726f72282c206c696e653a202c20636f6c756d6e3a2029000000340d1300060000003a0d130008000000420d13000a0000004c0d130001000000696e76616c696420747970653a202c20657870656374656420000000700d13000e0000007e0d13000b000000696e76616c69642076616c75653a20009c0d13000f0000007e0d13000b000000666c6f6174696e6720706f696e74206060000000bc0d130010000000cc0d1300010000006e756c6c2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f6572726f722e7273000000e40d130061000000f701000021000000e40d130061000000fb0100000c000000e40d1300610000000202000021000000e40d1300610000000b0200002a000000e40d1300610000000f0200002c0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e72736e756d6265720000980e130070000000e801000017000000000000000000f03f000000000000244000000000000059400000000000408f40000000000088c34000000000006af8400000000080842e4100000000d01263410000000084d797410000000065cdcd41000000205fa00242000000e876483742000000a2941a6d42000040e59c30a2420000901ec4bcd64200003426f56b0c430080e03779c3414300a0d8855734764300c84e676dc1ab43003d9160e458e143408cb5781daf154450efe2d6e41a4b4492d54d06cff08044f64ae1c7022db544b49dd9794378ea449102282c2a8b2045350332b7f4ad54450284fee471d9894581121f2fe727c04521d7e6fae031f445ea8ca039593e294624b00888ef8d5f46176e05b5b5b893469cc94622e3a6c846037cd8ea9bd0fe46824dc77261423347e32079cff91268471b695743b8179e47b1a1162ad3ced2471d4a9cf487820748a55cc3f129633d48e7191a37fa5d724861a0e0c478f5a64879c818f6d6b2dc484c7dcf59c6ef11499e5c43f0b76b4649c63354eca5067c495ca0b4b32784b14973c8a1a031e5e5498f3aca087e5e1b4a9a647ec50e1b514ac0fddd76d261854a307d951447baba4a3e6edd6c6cb4f04acec9148887e1244b41fc196ae9195a4ba93d50e23150904b134de45a3e64c44b57609df14d7df94b6db8046ea1dc2f4c44f3c2e4e4e9634c15b0f31d5ee4984c1b9c70a5751dcf4c916166876972034df5f93fe9034f384d72f88fe3c4626e4d47fb390ebbfda24d197ac8d129bdd74d9f983a4674ac0d4e649fe4abc88b424e3dc7ddd6ba2e774e0c39958c69faac4ea743ddf7811ce24e9194d475a2a3164fb5b949138b4c4c4f11140eecd6af814f169911a7cc1bb64f5bffd5d0bfa2eb4f99bf85e2b74521507f2f27db259755505ffbf051effc8a501b9d369315dec050624404f89a15f5507b5505b6015b2a516d55c311e1786051c82a3456199794517a35c1abdfbcc9516cc158cb0b160052c7f12ebe8e1b345239aeba6d72226952c75929090f6b9f521dd8b965e9a2d352244e28bfa38b0853ad61f2ae8cae3e530c7d57ed172d73534f5cade85df8a75363b3d86275f6dd531e70c75d09ba1254254c39b58b6847542e9f87a2ae427d547dc39425ad49b2545cf4f96e18dce6547371b88a1e931c55e846b316f3db5155a21860dcef528655ca1e78d3abe7bb553f132b64cb70f1550ed8353dfecc2556124e83cc3d405b56cb10d29f26089156fe94c647304ac5563d3ab859bc9cfa56662413b8f5a1305780ed172673ca6457e0e89def0ffd99578cb1c2f5293ed057ef5d3373b44d04586b35009021613958c54200f469b96f58bb298038e2d3a3582a34a0c6dac8d8583541487811fb0e59c1282debea5c4359f172f8a525347859ad8f760f2f41ae59cc19aa69bde8e2593fa014c4eca2175a4fc819f5a78b4d5a321d30f94877825a7e247c371b15b75a9e2d5b0562daec5a82fc58437d08225ba33b2f949c8a565b8c0a3bb9432d8c5b97e6c4534a9cc15b3d20b6e85c03f65b4da8e32234842b5c3049ce95a032615c7cdb41bb487f955c5b5212ea1adfca5c79734bd270cb005d5750de064dfe345d6de49548e03d6a5dc4ae5d2dac66a05d751ab5385780d45d1261e2066da0095eab7c4d244404405ed6db602d5505745ecc12b978aa06a95e7f57e7165548df5eaf96502e358d135f5bbce4798270485f72eb5d18a38c7e5f27b33aefe517b35ff15f096bdfdde75fedb7cb4557d51d60f4529f8b56a55260b127872eac4e87609df1283a5722bd60029759847635f260c3fc6f25d4c22661f4fbcb2e89735c61787d3fbd35c89161d65c8f2c433ac6610c34b3f7d3c8fb618700d07a845d3162a9008499e5b46562d400e5ff1e229b628420ef5f53f5d062a5e8ea37a8320563cfa2e545527f3a63c185af6b938f706332679b4678b3a463fe40425856e0d9639f6829f7352c1064c6c2f3744337446478b330521445796456e0bc665996af64360c36e0f7bde364438f43d875ad18651473544ed3d84e65ecc7f41084478365e8f931156519b86561787e5abe1fee653d0b8ff8d6d322660cceb2b6cc8857668f815fe4ff6a8d66f9b0bbeedf62c266389d6aea97fbf666864405e57dba2c67d44a23af8ef46167891dec5ab2719667eb24a7f11e0ecc6713770857d3880168d794ca2c08eb35680d3afd37ca656b684844fe629e1fa1685ad5bdfb8567d568b14aad7a67c10a69af4eacace0b840695a62d7d718e77469f13acd0ddf20aa69d644a0688b54e0690c56c842ae69146a8f6b7ad31984496a7306594820e57f6a08a4372d34efb36a0a8d853801ebe86a4cf0a686c1251f6b305628f49877536bbb6b32317f55886baa067ffdde6abe6b2a646f5ecb02f36b353d0b367ec3276c820c8ec35db45d6cd1c7389aba90926cc6f9c640e934c76c37b8f8902302fd6c23739b3a5621326deb4f42c9aba9666de6e392bb16549c6d70ce3b358eb4d16d0cc28ac2b121066e8f722d331eaa3b6e9967fcdf524a716e7f81fb97e79ca56edf61fa7d2104db6e2c7dbcee94e2106f769c6b2a3a1b456f948306b508627a6f3d122471457db06fcc166dcd969ce46f7f5cc880bcc31970cf397dd0551a507043889c44eb20847054aac3152629b970e994349b6f73ef7011dd00c125a82371561441312f9258716b5991fdbab68e71e3d77ade3432c371dc8d1916c2fef77153f19f9b72fe2d72d4f643a107bf627289f49489c96e9772ab31faeb7b4acd720b5f7c738d4e0273cd765bd030e2367381547204bd9a6c73d074c722b6e0a173045279abe358d67386a657961cef0b7414c8f6dd71754174187a7455ced275749e98d1ea8147ab7463ffc232b10ce1743cbf737fdd4f15750baf50dfd4a34a75676d920b65a68075c008774efecfb475f1ca14e2fd03ea75d6fe4cad7e4220768c3ea0581e5354762f4ec8eee5678976bb617a6adfc1bf76157d8ca22bd9f3765a9c2f8b76cf28777083fb2d54035f772632bd9c14629377b07eecc3993ac8775c9ee7344049fe77f9c21021c8ed3278b8f354293aa96778a530aab388939d78675e4a70357cd27801f65ccc421b07798233747f13e23c7931a0a82f4c0d72793dc8923b9f90a6794d7a770ac734dc7970ac8a66fca0117a8c572d803b09467a6fad38608a8b7b7a656c237c3637b17a7f472c1b0485e57a5e59f72145e61a7bdb973a35ebcf507bd23d8902e603857b468d2b83df44ba7b4c38fbb10b6bf07b5f067a9ece85247cf687184642a7597cfa54cf6b8908907c382ac3c6ab0ac47cc7f473b8560df97cf8f19066ac502f7d3b971ac06b92637d0a3d21b00677987d4c8c295cc894ce7db0f79939fd1c037e9c7500883ce4377e039300aa4bdd6d7ee25b404a4faaa27eda72d01ce354d77e908f04e41b2a0d7fbad9826e513a427f299023cae5c8767f3374ac3c1f7bac7fa0c8eb85f3cce17f2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f726561642e7273c818130060000000a001000045000000c818130060000000a50100003d000000c818130060000000ad0100001a000000c818130060000000fa01000013000000c818130060000000ff01000033000000c818130060000000030200003e000000c818130060000000090200003a000000c8181300600000006802000019000000c8181300600000006c03000019000000c8181300600000006d0300001a000000c8181300600000006e03000019000000c8181300600000006f03000019000000c8181300600000007003000019000000c8181300600000007103000019000000c8181300600000007203000019000000c8181300600000007303000019000000c818130060000000ce03000011000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000010002000300040005000600070008000900ffffffffffffffffffffffffffff0a000b000c000d000e000f00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a000b000c000d000e000f00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000100020003000400050006000700080009000ffffffffffffffffffffffffffffa000b000c000d000e000f000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa000b000c000d000e000f000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff30313233343536373839616263646566757575757575757562746e7566727575757575757575757575757575757575750000220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300481f13006f000000be0100001d0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f76616c75652f7365722e7273000000c81f130065000000eb000000120000006e756d6265722076616c756520776173206e6f7420656d6974746564c81f130065000000ae0200001e000000696e662d696e664e614e00007b0200000c000000040000007c0200007d020000790200002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f61726974686d657469632f7372632f66697865645f706f696e742e7273617474656d707420746f206469766964652077697468206f766572666c6f7700ec2013001f0000000100000000000000696e76616c696420737472696e6720696e70757420666f7220666978656420706f696e74206e756d62657273705f61726974686d657469633a3a66697865645f706f696e744669786564553634000000902013005c000000c80800000100000046697865645531323841726974686d657469634572726f7273705f61726974686d65746963556e646572666c6f774f766572666c6f774469766973696f6e42795a65726f2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000c0211300750000002e020000110000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f61726974686d657469632f7372632f68656c706572735f3132386269742e727300482213005f0000004f000000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273b8221300600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000282313007d000000d107000009000000b822130060000000240100001900000050617468206e6f742061737369676e6564000000b822130060000000b20000001e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300ec23130067000000f70000000f000000753634753132382f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e72736b241300750000002e020000110000005075626c696373705f636f6e73656e7375735f617572613a3a737232353531393a3a6170705f737232353531392f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72730000001d25130060000000240100001900000050617468206e6f742061737369676e65640000001d25130060000000b20000001e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000b42513007d000000d107000009000000737232353531393a3a5075626c69632f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273005326130060000000240100001900000050617468206e6f742061737369676e65640000005326130060000000b20000001e000000536c6f7473705f636f6e73656e7375735f736c6f7473753634536c6f744475726174696f6e2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e727300000d271300750000002e020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300942713006f000000be0100001d0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f636f72652f7372632f616464726573735f7572692e7273000014281300560000008d000000310000002f2f2f001428130056000000b1000000170000001428130056000000af0000002d0000001428130056000000af000000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300b02813006f000000be0100001d0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f636f72652f7372632f63727970746f2e727300000030291300510000005b01000014000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000102030405060708ffffffffffffff090a0b0c0d0e0f10ff1112131415ff161718191a1b1c1d1e1f20ffffffffffff2122232425262728292a2bff2c2d2e2f30313233343536373839ffffffffff31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797a535335385052450000003029130051000000660200005500000020282e2e2e2900000100000000000000682a1300020000006a2a130004000000626f74746f6d206472697665206f626579206c616b65206375727461696e20736d6f6b65206261736b657420686f6c642072616365206c6f6e656c79206669742077616c6b2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000cd2a13007d000000d1070000090000004163636f756e744964333273705f636f72653a3a63727970746f4b657954797065496400000000000400000004000000830200005363686e6f727252697374726574746f48444b447369676e2d6279746573636861696e2d636f64657365637265742d6b657948444b442d6861726448444b442d636861696e636f64652e2e2e01000000000000000200000000000000000002000000000000000000200000e94f70617175654d6574616461746173705f636f72652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000112c13007d000000d1070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273a02c130060000000240100001900000050617468206e6f742061737369676e6564000000a02c130060000000b20000001e0000005b75383b2033325d5b75383b20345d5665633c75383e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e72734a2d13005a000000d00100001b0000004a2d13005a000000d1010000100000004a2d13005a000000cc010000090000004a2d13005a000000b9010000200000000000000000000000010000008602000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c7565004a2d13005a0000003d01000020000000427566666572546f6f536d616c6c2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730000003e2e130067000000f70000000f000000000000000400000004000000870200000000000004000000040000008802000000000000040000000400000089020000557466384572726f7276616c69645f75705f746f6572726f725f6c656e0000008a0200000c000000040000008b02000046726f6d557466384572726f7262797465736572726f724e6f6e65536f6d65008c02000014000000040000008d02000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e7273000000732f13005a000000930000002b0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000e02f13007d000000d1070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e72730000703013005a000000410000001e000000282900000000000000000000010000008e02000054727946726f6d536c6963654572726f72736c69636520697320616c7761797320746865206e6563657373617279206c656e6774682f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f63727970746f2f68617368696e672f7372632f6c69622e72730000002531130058000000230000000a0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72739031130060000000240100001900000050617468206e6f742061737369676e65640000009031130060000000b20000001e00000042547265654d61704b566461746142547265654d61703c496e686572656e744964656e7469666965722c205665633c75383e3e6f6b6179626f6f6c666174616c5f6572726f726572726f7273496e686572656e7444617461496e686572656e744461746173705f696e686572656e7473436865636b496e686572656e7473526573756c742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300a8321300670000006e0400000f0000006661696c656420746f20636f6e7665727420272720287061737365642061732027272920696e746f2061202727207768656e206d61727368616c6c696e67206120686f737463616c6c27732072657475726e2076616c7565207468726f756768207468652046464920626f756e646172790000002033130013000000333313000e000000413313000b0000004c331300450000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652d696e746572666163652f7372632f706173735f62792e727300b43313005f0000001602000005000000753875333273705f636f72653a3a4c6f674c6576656c46696c746572960200000e0000000f0000009702000098020000636f72653a3a6f7074696f6e3a3a4f7074696f6e3c62797465733a3a62797465733a3a42797465733e6661696c656420746f206465636f6465202727207768656e206d61727368616c6c696e67206120686f737463616c6c27732072657475726e2076616c7565207468726f756768207468652046464920626f756e646172793a2000007d341300120000008f34130047000000b43313005f000000c102000005000000636f72653a3a726573756c743a3a526573756c743c5b75383b2033335d2c2073705f696f3a3a45636473615665726966794572726f723e636f72653a3a6f7074696f6e3a3a4f7074696f6e3c616c6c6f633a3a7665633a3a5665633c75383e3e636f72653a3a6f7074696f6e3a3a4f7074696f6e3c7533323e73705f696f3a3a4b696c6c53746f72616765526573756c742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72738935130067000000f70000000f0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273000036130067000000f70000000f000000616c69676e5f6f66667365743a20616c69676e206973206e6f74206120706f7765722d6f662d74776f00000078361300290000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7074722f6d75745f7074722e7273ac36130074000000750600000d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300303713006f000000be0100001d000000010000000000000072756e74696d65617373657274696f6e206661696c65643a206c656e203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e7273d8371300800000006501000009000000617373657274696f6e206661696c65643a20696478203c204341504143495459d837130080000000b102000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e2829d8371300800000004a07000005000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e7400d837130080000000f80500000d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273083913008400000058020000300000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000009c3913007d000000d1070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e72732c3a130084000000c6000000270000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f696e5f706c6163655f636f6c6c6563742e72730000c03a13007e000000fb000000010000004d657461646174612056313420737570706f727473206f6e652076657273696f6e3b207165642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f6d657461646174612d69722f7372632f7631342e727300763b13005500000099000000260000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300dc3b13006f0000006203000009000000dc3b13006f000000be0100001d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e000000f03c1300090000006c3c1300840000004e0000001f0000006c3c13008400000048000000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f696e5f706c6163655f636f6c6c6563742e72730000243d13007e000000fb000000010000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f696e5f706c6163655f636f6c6c6563742e72730000b43d13007e000000fb000000010000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000443e1300750000002e020000110000004d657461646174612056313520737570706f727473206f6e6c79206f6e652076657273696f6e2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f6d657461646174612d69722f7372632f7631352e727300f23e13005500000063000000300000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000583f13007d000000d1070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273e83f1300600000002f020000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000584013007d000000d107000009000000e83f130060000000240100001900000050617468206e6f742061737369676e6564000000e83f130060000000b20000001e000000436f6e73656e737573456e67696e6549645665633c75383e6c6f67735665633c4469676573744974656d3e696e64657875386572726f724d6f64756c654572726f72546f6b656e4572726f7241726974686d657469634572726f72496e76616c69645472616e73616374696f6e556e6b6e6f776e5472616e73616374696f6e7072696f726974795472616e73616374696f6e5072696f7269747972657175697265735665633c5472616e73616374696f6e5461673e70726f76696465736c6f6e6765766974795472616e73616374696f6e4c6f6e67657669747970726f706167617465626f6f6c656432353531393a3a5369676e6174757265737232353531393a3a5369676e617475726565636473613a3a5369676e617475726565636473613a3a4b656363616b5369676e61747572655b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d5472616e73616374696f6e616c4572726f72547269654572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300008b42130067000000f70000000f0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f6469676573742e7273044313005c00000035000000130000004469676573744974656d73705f72756e74696d653a3a67656e657269633a3a64696765737450726552756e74696d65436f6e73656e7375735365616c4f7468657252756e74696d65456e7669726f6e6d656e74557064617465642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f6572612e727300ca43130059000000590000002c000000496d6d6f7274616c4d6f7274616c314d6f7274616c324d6f7274616c334d6f7274616c344d6f7274616c354d6f7274616c364d6f7274616c374d6f7274616c384d6f7274616c394d6f7274616c31304d6f7274616c31314d6f7274616c31324d6f7274616c31334d6f7274616c31344d6f7274616c31354d6f7274616c31364d6f7274616c31374d6f7274616c31384d6f7274616c31394d6f7274616c32304d6f7274616c32314d6f7274616c32324d6f7274616c32334d6f7274616c32344d6f7274616c32354d6f7274616c32364d6f7274616c32374d6f7274616c32384d6f7274616c32394d6f7274616c33304d6f7274616c33314d6f7274616c33324d6f7274616c33334d6f7274616c33344d6f7274616c33354d6f7274616c33364d6f7274616c33374d6f7274616c33384d6f7274616c33394d6f7274616c34304d6f7274616c34314d6f7274616c34324d6f7274616c34334d6f7274616c34344d6f7274616c34354d6f7274616c34364d6f7274616c34374d6f7274616c34384d6f7274616c34394d6f7274616c35304d6f7274616c35314d6f7274616c35324d6f7274616c35334d6f7274616c35344d6f7274616c35354d6f7274616c35364d6f7274616c35374d6f7274616c35384d6f7274616c35394d6f7274616c36304d6f7274616c36314d6f7274616c36324d6f7274616c36334d6f7274616c36344d6f7274616c36354d6f7274616c36364d6f7274616c36374d6f7274616c36384d6f7274616c36394d6f7274616c37304d6f7274616c37314d6f7274616c37324d6f7274616c37334d6f7274616c37344d6f7274616c37354d6f7274616c37364d6f7274616c37374d6f7274616c37384d6f7274616c37394d6f7274616c38304d6f7274616c38314d6f7274616c38324d6f7274616c38334d6f7274616c38344d6f7274616c38354d6f7274616c38364d6f7274616c38374d6f7274616c38384d6f7274616c38394d6f7274616c39304d6f7274616c39314d6f7274616c39324d6f7274616c39334d6f7274616c39344d6f7274616c39354d6f7274616c39364d6f7274616c39374d6f7274616c39384d6f7274616c39394d6f7274616c3130304d6f7274616c3130314d6f7274616c3130324d6f7274616c3130334d6f7274616c3130344d6f7274616c3130354d6f7274616c3130364d6f7274616c3130374d6f7274616c3130384d6f7274616c3130394d6f7274616c3131304d6f7274616c3131314d6f7274616c3131324d6f7274616c3131334d6f7274616c3131344d6f7274616c3131354d6f7274616c3131364d6f7274616c3131374d6f7274616c3131384d6f7274616c3131394d6f7274616c3132304d6f7274616c3132314d6f7274616c3132324d6f7274616c3132334d6f7274616c3132344d6f7274616c3132354d6f7274616c3132364d6f7274616c3132374d6f7274616c3132384d6f7274616c3132394d6f7274616c3133304d6f7274616c3133314d6f7274616c3133324d6f7274616c3133334d6f7274616c3133344d6f7274616c3133354d6f7274616c3133364d6f7274616c3133374d6f7274616c3133384d6f7274616c3133394d6f7274616c3134304d6f7274616c3134314d6f7274616c3134324d6f7274616c3134334d6f7274616c3134344d6f7274616c3134354d6f7274616c3134364d6f7274616c3134374d6f7274616c3134384d6f7274616c3134394d6f7274616c3135304d6f7274616c3135314d6f7274616c3135324d6f7274616c3135334d6f7274616c3135344d6f7274616c3135354d6f7274616c3135364d6f7274616c3135374d6f7274616c3135384d6f7274616c3135394d6f7274616c3136304d6f7274616c3136314d6f7274616c3136324d6f7274616c3136334d6f7274616c3136344d6f7274616c3136354d6f7274616c3136364d6f7274616c3136374d6f7274616c3136384d6f7274616c3136394d6f7274616c3137304d6f7274616c3137314d6f7274616c3137324d6f7274616c3137334d6f7274616c3137344d6f7274616c3137354d6f7274616c3137364d6f7274616c3137374d6f7274616c3137384d6f7274616c3137394d6f7274616c3138304d6f7274616c3138314d6f7274616c3138324d6f7274616c3138334d6f7274616c3138344d6f7274616c3138354d6f7274616c3138364d6f7274616c3138374d6f7274616c3138384d6f7274616c3138394d6f7274616c3139304d6f7274616c3139314d6f7274616c3139324d6f7274616c3139334d6f7274616c3139344d6f7274616c3139354d6f7274616c3139364d6f7274616c3139374d6f7274616c3139384d6f7274616c3139394d6f7274616c3230304d6f7274616c3230314d6f7274616c3230324d6f7274616c3230334d6f7274616c3230344d6f7274616c3230354d6f7274616c3230364d6f7274616c3230374d6f7274616c3230384d6f7274616c3230394d6f7274616c3231304d6f7274616c3231314d6f7274616c3231324d6f7274616c3231334d6f7274616c3231344d6f7274616c3231354d6f7274616c3231364d6f7274616c3231374d6f7274616c3231384d6f7274616c3231394d6f7274616c3232304d6f7274616c3232314d6f7274616c3232324d6f7274616c3232334d6f7274616c3232344d6f7274616c3232354d6f7274616c3232364d6f7274616c3232374d6f7274616c3232384d6f7274616c3232394d6f7274616c3233304d6f7274616c3233314d6f7274616c3233324d6f7274616c3233334d6f7274616c3233344d6f7274616c3233354d6f7274616c3233364d6f7274616c3233374d6f7274616c3233384d6f7274616c3233394d6f7274616c3234304d6f7274616c3234314d6f7274616c3234324d6f7274616c3234334d6f7274616c3234344d6f7274616c3234354d6f7274616c3234364d6f7274616c3234374d6f7274616c3234384d6f7274616c3234394d6f7274616c3235304d6f7274616c3235314d6f7274616c3235324d6f7274616c3235334d6f7274616c3235344d6f7274616c32353545726173705f72756e74696d653a3a67656e657269633a3a6572614469676573744974656d206e6f7420657175616c446967657374547269654572726f7273705f72756e74696d653a3a70726f76696e675f74726965496e76616c69645374617465526f6f74496e636f6d706c657465446174616261736556616c75654174496e636f6d706c6574654b65794465636f6465724572726f72496e76616c6964486173684475706c69636174654b657945787472616e656f75734e6f646545787472616e656f757356616c756545787472616e656f7573486173685265666572656e6365496e76616c69644368696c645265666572656e636556616c75654d69736d61746368496e636f6d706c65746550726f6f66526f6f744d69736d617463684465636f64654572726f72426c616b6554776f32353673705f72756e74696d653a3a7472616974730000000004050600082f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000184e1300750000002e02000011000000496e76616c69645472616e73616374696f6e73705f72756e74696d653a3a7472616e73616374696f6e5f76616c696469747943616c6c5061796d656e744675747572655374616c6542616450726f6f66416e6369656e744269727468426c6f636b45786861757374735265736f7572636573437573746f6d4261644d616e6461746f72794d616e6461746f727956616c69646174696f6e4261645369676e6572496e64657465726d696e617465496d706c69636974556e6b6e6f776e4f726967696e556e6b6e6f776e5472616e73616374696f6e43616e6e6f744c6f6f6b75704e6f556e7369676e656456616c696461746f725472616e73616374696f6e56616c69646974794572726f72496e76616c6964556e6b6e6f776e5472616e73616374696f6e536f75726365496e426c6f636b4c6f63616c45787465726e616c56616c69645472616e73616374696f6e2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300ee4f13007d000000d107000009000000d20200000c00000004000000d3020000d4020000d5020000000000000000000001000000d6020000d7020000d8020000010000000000000048617368206e6f7420657175616c44697370617463684572726f724f706171756545787472696e73696373705f72756e74696d654d756c74695369676e6174757265456432353531395372323535313945636473614574684d6f64756c654572726f725472616e73616374696f6e616c4572726f724c696d6974526561636865644e6f4c617965724f7468657243616e6e6f744c6f6f6b75704261644f726967696e4d6f64756c65436f6e73756d657252656d61696e696e674e6f50726f766964657273546f6f4d616e79436f6e73756d657273546f6b656e41726974686d657469635472616e73616374696f6e616c457868617573746564436f7272757074696f6e556e617661696c61626c65526f6f744e6f74416c6c6f77656454726965546f6b656e4572726f7246756e6473556e617661696c61626c654f6e6c7950726f766964657242656c6f774d696e696d756d43616e6e6f74437265617465556e6b6e6f776e417373657446726f7a656e556e737570706f7274656443616e6e6f74437265617465486f6c644e6f74457870656e6461626c65426c6f636b656445787472696e736963496e636c7573696f6e4d6f6465416c6c45787472696e736963734f6e6c79496e686572656e74732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e72738352130085000000a10100002e000000617373657274696f6e206661696c65643a20696478203c2043415041434954592f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e727338531300800000009502000009000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e686569676874202d20313853130080000000ad020000090000003853130080000000b102000009000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20656d70747920696e7465726e616c206e6f6465000000185413003d0000003853130080000000460500001f000000617373657274696f6e206661696c65643a2073656c662e686569676874203e203000000038531300800000006002000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e282938531300800000004a070000050000003853130080000000c70400002300000038531300800000000a05000024000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e6e6f64652e686569676874202d20310000003853130080000000fa03000009000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e202b20636f756e74203c3d204341504143495459003853130080000000f70500000d000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e74003853130080000000f80500000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f646538531300800000002706000016000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e202b20636f756e74203c3d20434150414349545900003853130080000000360600000d000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e203e3d20636f756e743853130080000000370600000d00000038531300800000006706000016000000617373657274696f6e206661696c65643a206d6174636820747261636b5f656467655f696478207b0a202020204c6566744f7252696768743a3a4c6566742869647829203d3e20696478203c3d206f6c645f6c6566745f6c656e2c0a202020204c6566744f7252696768743a3a52696768742869647829203d3e20696478203c3d2072696768745f6c656e2c0a7d00003853130080000000c905000009000000617373657274696f6e206661696c65643a206e65775f6c6566745f6c656e203c3d204341504143495459000038531300800000007c0500000900000072616e676520737461727420616e6420656e642061726520657175616c20616e64206578636c7564656420696e2042547265654d6170000060571300360000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f7365617263682e72730000a057130082000000700000001500000072616e67652073746172742069732067726561746572207468616e2072616e676520656e6420696e2042547265654d61700000003458130031000000a05713008200000079000000150000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273805813008400000058020000300000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273001459130067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7074722f6d6f642e72738c591300700000000c02000001000000000000000400000004000000d9020000000000000400000004000000da0200004c61796f757473697a65616c69676e43617061636974794f766572666c6f7700000000000400000004000000db020000416c6c6f634572726c61796f75742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f736d616c6c7665632d312e31352e302f7372632f6c69622e72732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273000000c65a13006f000000be0100001d000000000000000800000004000000dc02000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c7565006a5a13005c000000540100002e0000006361706163697479206f766572666c6f770000006a5a13005c00000043010000360000006a5a13005c000000d00400000e000000617373657274696f6e206661696c65643a206e65775f636170203e3d206c656e6a5a13005c0000009b0400000d0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6f7665726c617965645f6368616e6765732f6d6f642e7273000000f85b13006900000051000000140000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e7273000000745c130085000000670200002a0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f6d6f642e72730000000c5d130071000000560a0000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000905d1300750000002e020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300185e13006f000000be0100001d000000416e204f7665726c617956616c756520697320616c7761797320637265617465642077697468206174206c65617374206f6e65207472616e73616374696f6e20616e642064726f7070656420617320736f6f6e0a09617320746865206c617374207472616e73616374696f6e2069732072656d6f7665643b207165642f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6f7665726c617965645f6368616e6765732f6368616e67657365742e727300145f13006f0000000a0100002b000000145f13006f0000000f01000021000000145f13006f000000140100002b000000607365745f7072657660206973206f6e6c792060536f6d65285f29602c206966207468652076616c75652063616d652066726f6d20706172656e743b20716564145f13006f0000007d010000160000004120777269746520746f20616e204f7665726c6179656456616c7565206973207265636f7264656420696e20746865206469727479206b6579207365742e204265666f726520616e0a090909094f7665726c6179656456616c75652069732072656d6f7665642c2069747320636f6e7461696e696e67206469727479207365742069732072656d6f7665642e20546869730a0909090966756e6374696f6e206973206f6e6c792063616c6c656420666f72206b65797320746861742061726520696e20746865206469727479207365742e20716564000000145f13006f000000df020000380000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273ec60130084000000c6000000270000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000806113007d000000d1070000090000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f73746174732e727300000010621300590000007b0000001e00000010621300590000007c000000230000001062130059000000800000001e0000001062130059000000810000002400000044656661756c744572726f722f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000b8621300750000002e020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300406313006f000000be0100001d0000003a6368696c645f73746f726167653a64656661756c743a3a6368696c645f73746f726167653a2f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746f726167652f7372632f6c69622e727300e6631300510000006a0100001a0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72734864130060000000240100001900000050617468206e6f742061737369676e65640000004864130060000000b20000001e00000042547265655365745445787472612072616e646f6d6e6573732068617320616c7265616479206265656e207365742c2063616e6e6f742073657420697420616761696e2ee56413003b0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6861736865725f72616e646f6d5f73746174652e72730000286513005e000000420000000d0000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6e6f64655f636f6465632e727300000098651300550000003f00000028000000986513005500000048000000140000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6c69622e72730000106613004e0000002502000016000000106613004e000000260200000b00000073705f747269653a3a73746f726167655f70726f6f6653746f7261676550726f6f66747269655f6e6f64657342547265655365743c5665633c75383e3e2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e72730000bd661300750000002e020000110000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f73747265616d2e7273000044671300560000005100000015000000446713005600000059000000150000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f697465722e727300bc67130073000000f6050000150000002f686f6d652f7562756e74752f776f726b2f706172697479746563682f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f73747265616d2e72730000406813005600000047000000410000004068130056000000470000004f000000436f775452756e74696d6556657273696f6e73705f76657273696f6e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273d468130060000000240100001900000050617468206e6f742061737369676e6564000000d468130060000000b20000001e000000737065635f6e616d65436f773c277374617469632c207374723e696d706c5f6e616d65617574686f72696e675f76657273696f6e753332737065635f76657273696f6e696d706c5f76657273696f6e61706973417069735665637472616e73616374696f6e5f76657273696f6e73797374656d5f76657273696f6e75382f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273000000e569130060000000240100001900000050617468206e6f742061737369676e6564000000e569130060000000b20000001e000000576569676874287265665f74696d653a202c2070726f6f665f73697a653a20297c6a1300110000008d6a13000e0000009b6a13000100000057656967687473705f776569676874733a3a7765696768745f76327265665f74696d6575363470726f6f665f73697a6552756e74696d65446257656967687473705f776569676874737265616477726974650000000000000400000004000000e60200002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632f6d6f642e7273000000186b1300750000002e0200001100000008c9bcf367e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa5d182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b08c9bcf367e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa5d182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e7273206c130070000000e8010000170000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f736d616c6c7665632d312e31352e302f7372632f6c69622e727363616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500000000000400000004000000e7020000000000000400000004000000e80200004c61796f757473697a65616c69676e43617061636974794f766572666c6f7700000000000400000004000000e9020000416c6c6f634572726c61796f75742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273000000866d13006f000000be0100001d000000000000000800000004000000ea020000a06c13005c000000540100002e0000006361706163697479206f766572666c6f77000000a06c13005c0000004301000036000000a06c13005c000000d00400000e000000617373657274696f6e206661696c65643a206e65775f636170203e3d206c656ea06c13005c0000009b0400000d0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6f64652e72738c6e13005c000000f7010000420000008c6e13005c000000f8010000460000008c6e13005c00000015020000260000008c6e13005c000000280200003c0000008c6e13005c00000029020000380000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f7472696564626d75742e7273000000386f1300610000005e08000032000000386f1300610000005e080000100000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6d6f642e72730000bc6f130062000000880000001d000000bc6f1300620000007f00000022000000bc6f1300620000007e00000036000000bc6f1300620000007e00000047000000bc6f130062000000870000002f000000bc6f13006200000087000000440000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f736d616c6c7665632d312e31352e302f7372632f6c69622e7273617373657274696f6e206661696c65643a20696e646578203c3d206c656e0000807013005c000000f1060000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6d6f642e727300000c71130062000000490000001c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6e6962626c65736c6963652e72730000807113006a0000003f0000001b000000807113006a0000005000000036000000807113006a000000560000003b000000807113006a0000008f0000002a000000807113006a000000900000002b000000807113006a000000990000004b000000807113006a0000009900000031000000807113006a000000af00000020000000807113006a000000ad00000029000000807113006a000000f400000018000000807113006a000000f600000018000000807113006a000000f60000003d0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33312e302f7372632f6e6962626c652f6e6962626c657665632e7273ac7213006800000035000000320000006c656e20213d20302073696e6365206c656e2025203220213d20303b20696e6e6572206861732061206c61737420656c656d656e743b207165640000ac7213006800000042000000120000006c656e20213d20303b20696e6e657220686173206c61737420656c656d3b207165640000ac721300680000004d00000025000000ac72130068000000690000003d000000ac721300680000007200000019000000ac721300680000007400000019000000ac721300680000007400000048000000ac721300680000008500000030000000ac721300680000008500000048000000ac721300680000008700000036000000ac721300680000009c00000043000000ac721300680000009e0000001b00000041726320636f756e746572206f766572666c6f7734741300140000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f312e38382e302d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f73796e632e72730000507413006e000000d90600000d0000000100000000000000507413006e000000150c00000d000000000000000000000001000000ec02000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500507413006e00000017080000290000004c61796f75744572726f72000000010024029701040000006f000400af000000000004000000000088000a0008000000000000001c00460001000d001b000000150012004500ec0036001000000000000000020000009400000057000000080003000700000016003a0002002300030004001c000100000047001100170004001b0000001300000000000000000001000700070004002e00000000002c000000000003000f000000000013000000010002000100090000000000000001000100000002000200030002001e0000000800110001000000050000007900000004001300000000000500020000000500010015000100000003000c0000003500030002000500060000000500040002001c000000000000000400000000000000090002000900070000000500000008000700000012000900000039000200090000000400020000000000000000000000000001002200020000001b0013000c00140006000400050013000200000003000400020000001800000006000400000000000a000a000000010000000f001000010000000000000002000f000100040002000a000b0009000400010000000b000000030000000600000006000000030004000000000003000000000001000200150000000000000014001b0000000c0000000000080003000c0000000e0002000000030000000a0002000600010000000400000001000600020003000200100000000f000000000000000300030004000d00060000000000020000000000000018000a000600010001000800000001000100070000000300090011000500010005000300160007000500040000000a0006000300000001000000070000000600000005004100090001000a0000000500020011000b0003000100000000000100010000000200000006001800030000000300000002000000020000000000000000000500010000000000090001000000000002000100000001000200010000000300010001000100000003000c000100030001000000020000000000050001000500000001000b0005000000000000000000000000000f0000000000020007000000000000000000000000000100000009000800000000000300030001000400030004000500020000000000020006000100050001000000030006000800020002000600030000001000060006000500010007000000020003000200000000000000060000000000000000000100000000000000010001000800010000000200000001000c0004000100020001000400020005000400000003000400020000000100030007000600080000000200030000000200020002000400000000000600060006000c000500000000000000010002000000030000000900030002000100010009000100000008000100060000000300000005000100010000000000020004000000020000000200060006000200080005000600050001000600020000000100000000000300000001000900050005000e0000000300050000000000010001000000000000000000010004000000020004000600050006000000000001000100000000000500020008000800010006000000010000000100000008000000040007000a000100000000000200010001000100000001000200000002000100040004000000000000000600000003000300000000000000000000000200010001000200020000000400020001000000000001000000010001000000020002000200020000000100050004000100000001000100000000000100040001000200010001000000000000000000000001000000010000000000040001000200000001000d0004000000010004000000050003000700030003000300020000000200020002000100000001000300040001000000010004000100000000000000010003000100000000000100040001000800020004000100010001000500010004000100010002000600000000000000000002000000020000000600030001000300020003000500040001000000050000000000010003000000020000000100010000000000000001000000000000000500050008000000000000000000060000000000000000000200020005000100000001000100000002000200070001000100020000000200020001000000000001000000020002000200040001000400000002000200040004000000080004000600020001000100000001000000000000000300060001000000030002000100000005000400000000000500020000000000020000000000040003000000090005000200000000000200000001000700000003000100020001000000000002000300000002000300010002000100020000000400020001000100010002000200000004000200010000000000030000000000000000000000000000000000000000000000000001000000020000000100000002000100010000000200000001000000000001000100000001000000020000000300000001000100000000000100020001000200030005000300010000000100030007000000000002000000020003000100e64a0300e6fa2d00dafa1d00dc390300e9fc1d00094d0a00e6d02000e6930500dce00201e6f41c00dca20500e626fe0009451d0119c20500dcea0600e675a600dc4e0f01e6eba800dc320300094d0c00e6410700d871d101dc2dfe00e6f21d00e6de1d00e6e1a80014bb0500e6d51d00e6ce0800e67b1a0084740f00e6e6a8001f19060007c31401e6791a00e65d06001cf10800e620e001e6f1a800dcfd1d00e625fe00e647e901e6751a0009ba0e00e62ae0011b4b0600e6d9060009b61601e6ec1d00093a0e00e6540900e6e92d00e6b31a00e6f30800e6f70800e6e2a800e60be001dc28fe0001d82000e6b0aa00dc4d0f01e6250800e6110600e6beaa00e6200800e6e80800e6060300e6e42d0009411f0107ca1101e6f02c00dcd71c00dc3a0a01e631e101093a1000dc3b0700e8580300e6870400e6b11a00e6701301e6d01c00e6eea800dc3c0300e6d52000e6190800e6306b0101f36a0107bc0900e6e91d00e6da1d00e66b1301e62b080009341700e6db1d000eb40500e26dd1010169d101e64c0300e6f02d0001370300e673130107e91201dcc01a0001ea2000e63e030081710f000168d101e6460300dcd6e801dcd0e801dc2cfe00e6e01c00e6ea0800e6db2000e6316b01e6350700dcfd0e01dc7ed10109341a01e61f0800e61ce001e6df1d00dce8200009edab00e6e11d00dc160300dc82d101e6d720001f4f0600e6f50800094d0d00e6c91a0009b91001e6bc1a00e67aa600e6aad101dceee401e630e101e69f0500de391900e657030009e0190106f06f01e6330700dc29fe00e6f81c0009840f00e6640300dc170300e6830400e66c03000bb10500e6d21c00e607030021510600dc300300dc190300dc560600e6e41d00dc520900f0450300e6f12d00dc3b1900e6590600e6ab0500e6731b00e6f12c0007bc0a00827c0f00e66a1301e6e4a800e6fb08000cb20500e621fe00e6fb2d00e81a0300dc38070001d32000dc2afe00e669130182720f00e6c21a00dc7bd101e6860f00ca270300e6c01d00e6480f0109461001e66b1b00dce60800e634e101e6410300e8f61d00e6eca800e6abd101e6ec0600e6aee2010fb50500e6c71a00e602e001dcc60f00e636e101e6df08001c4c0600e6580600e6e10600e6e72d00dccf0800e6020300dcc41a00e6bfaa0013b90500dc8bd101092b1701e6f32d00dc390700e6e02d00dcdc1c0009701001dc2ca900e6230800e6f31d00e67da600dc460f01e6cc1d00e6dc060009471a0176b90e00e66b0300e65e0600e6f91c00e6d60800e6e00800e66e1b00e6d80800e626e001e643030001d92000e648e90110b60500e611e001e6e81d00e4f71d00e6fc2d0009971d01e6860400e6c11d00dc91050009441d0109c4a80009aa1b00dcff0e01dced0600dc560300e6ee1d00e6ed2d001d4d060009d21700093c0d00e645e90109c21401e6030300e6f0a600e02f3000e61be001e6681301093f160101e31c00dca30500dcef0800dc960500e628e001dc4f0f01092ca800d872d101e6ef2c00e6490f01e6eaa800dc2c0300093b0d00e60fe001dced080009141700e6bb1a00dcd3e801073c0b00e69d0500dce60a01e6fb1d0006f16f01e62a0800dcee2000dcdf1c00dcdd1c00dcd20800e65f1300827a0f00e610060009421401e6ee2d00e65e1401e63d0700ea5d0300e62ffe0007bc0c00e6c71d00e6e70600ca210300dca60500e6f0a80013ba0500e6ec2d00dcee080001f26a0112c70500e6120600e69c050007421d01dcba1a00e6b41a00dcd2e801dc5b0800e6721b00e600e0010ab00500dcc50500dc470f01e6781a000934110107461401e6260d01e6dc2000e6500300827d0f00dc1f030009391000dcd3080007e61b00dc310700e6120300e6290800dcfa0800e6eb0700e6dd1d00d865d101e6e92000e61ee001e635e101e6ed1d005b560c00e612e001e6e32d00827b0f00dcde1c00e66d0300e6f40800dcd4e801dc3c0700e6741301e6ac0500e6c81a00e6eb2d00dc2ba9000773110109c011010136030082800f00e6d42000dc9b0500e601e001e627080001340300d81b030001d22000e603e001e6f01d00dc1d0300e6f42d00e6721301e6140300e4a91800e66c1301e6e52d0009331101e65d1300e6771a0067390e00e6270d0109cd0c00dc2d0300e6920500e6ef2d00e6ca0800e6e12d00e6570600dc2b0300e6ac0e01e6090300e6300700dc5f0600e614e001e6de0800e6fe2d00e6336b01e6cd0800dc2903001df20800073c0900e6470700dc590800e6360700e6380a01e61d0800dcd51c00e6430700dc460700dc990800201a060001e21c00e6010300e644e901e686d101e6e0060007431901dc5503001e180600e66fa600e6ff0800e6001101e63d0300dcc21d00e6150600e6420300e6171a00e6671301e6ab0e01e6eb0600e61fe0016b4a0e00dc250300dc490300e623fe00e6760301e6ff2d00d86fd101e60f030009ab1b00e6e22d00e6400700093e1901d8390f00dcef2000e6e62d00e687d101e6d21d00e64a0f01e6d8060007341b00e6ea2d00e679a600e6840f01e6870f00e95f0300e6000300e6ee0700e6f22d0009421f01e63a0700dc1e0300e60de001d6ce1d00dcb71a00d86ed101e6520300dcf60800e677a600e67c1a00e6e70800e6326b01e6d91d00dcf91d00dce90800e6661301e6c61a0001e71c00e6d11c00ea5e030001f46a01e6b01a00e64b0300dc3b030023700600e6660300e6250d01e6fe0900dcb4aa0009cd0b00e6c91d0016bd0500dcd00800e6160800dcfd0101073c0a00dc7cd101e6320700e6260800073b1301dcd91c00e61e0800dc830f01e6130300dcff1d00dc7fd1010167d10109601a00e649e901dc0d0a0109391801dc190f00e6e71d00094d0b00e69c0800e6fd2d00e667030009c0a900e67ba600dc330300e6a10500e6eb0800e609e001e6ef1d00dc240300dc2bfe00dc27fe00e6240d01e61b0800e608e001e61de0010953a900e6db060054550c00097f2d00e6da1c0015bc0500de9a0500e676a600e6f82d00e6d620000db30500dc81d101dcca1a00e6530900ca280300e6a00500e6950500e6d50800e6080300e674a600e60c0300e6761a00e6c61d00e6e20600e64c0f01e6f02000e6cb0800e60f0a01e65e1300e66f1b00e6b21a00e4f81d00dcaa0500e6e50a01e69f0800e60ce00101e52000e6fc080020500600e6ec0800e6980800e6ede201e6d71d0067380e00e69d0800e6711b00dc5a0800e6c51d00e689d101e69fa600dc480300e6db0800e6c41d00dc200300e6e3a800e646e901d870d10109f6aa00e6cc1a00ea600300dcbf1a00e6c11a00e82c3000e6f72d0076b80e00e632e101e6fe1d00e63f030001eb2000e62d0800dc47030007361201e6f1a600e6490700e6dd1700e6f10700e6170600e6cd1a00e6e61d00e6e40800e6510300e69e0800e6130600eacd1d00dc550600e6e12000dc5c0600dcbd1a00dcb91a00e678a600093f0a01dc2a0300e6eda800da2a300001da2000e60d0300e42b3000e6d708001bf00800e6dc080011b705000906a800e6add101e6e40600e6e01d00dead0500e6f11d00e6021101dcd5e801e60e0300e6ef0700e6f00700e6970500e627e001e6ece201dc1c0300e8150300e6b7aa00e6160600e6f62d0017bf050001390a01e6530600d866d101e6c51a00ea610300e6f80800dcc31a000737100009351201e66e0300e604e001e623e001e6680300e6d61d00e6440300dc420700e685040007ba1001dcd81c0001d41c00e6fe0800e6f52d00e60ee0017acb0e00094d0900e6eb1d00073c1301e6efe401dc590300e610e001e6040300e6a80500dcd61c00e6b3aa00e6701b00e6e80600dc2da900e6d90800e6346b01dc180f00e60a0300dced2000e8ece401e6efe201e642d201dc54030001f16a01e65b0300e6e31d00dc3e0700e605e00109bf1501e6c81d00e6840400e61c0800e633e10112b80500e6400300e6980500019ebc01e6dc1d0007c01501dce30800093f1c01dc850f01e95c0300e6db1c00e6acd101dcd1e801dcb51a0009ca0d00ca220300dc4b0f01e6c31d00dc5a0300e6ec070009ea12016b4b0e00dcfd0700dc2e0300e65b0600e622fe00e6d31d00dc9a0800e6e8a800dcf90800e66f0300e66d1b00e6cc0800094d1301e63a1900089a3000e620fe00e6e21d00dced1c00dcfe0e01e613e001e6d40800dc4e0300e6356b01e67a0301097f1001e6dd0800e6d11d0001380300e67ca600e6ce1a00e68fe001073a1801e644d201e618e00109cd0a00dca505001e4e060001e41c00dc370f00e6450700073c0c0022520600e6050300dc3a0300e6f51d00e617e00101e81c00093d1901e6d12000dc180300e622080007b71601e6100300e6210800e6780301dca40500e6830f00e6c1aa00cad01d00e685d101dcd10800e6af0500e6e51d0008993000e6650300e6510900e6690300dc4807007ac90e00e6170800e6da0600e8ede40101e51c00dc370700e6110300dce3060009f31b00dc9b0800e601110118c10500e6e82d00e6140600e62efe00e6790301dccf1d00e62c0800dc2f030009441b0009151700e6cb1a00dc6c1b007aca0e00e615e00101e62000e624fe00e643d201e621e0016b490e0024110700e6df060007b3a900e65a0600dc7f1a00e6da0800e6e1080009991a01dc80d101e6efa800e6f41d00e6770301e9620300e694050001350300dcf20700dc8ad101e6cb1d00e6a9050001e61c00dc4d03007ac80e00e6d70600dc8d1000e6c40500e66a0300dc260300e60ae001e6e0a800dca70500e6ea1d00e6d60600e6e7a800e60b030001f06a0107371c00e02e30006b480e00e6d81d00dcb81a00dc181a00e6f92d001a1efb00e6630300e64a0700e624e001e6990500e69e0500e6f3070009f21b00e6180800e6e9a800e6366b01dc500f01e6d41d00e6b2aa00e6e5a800dc440700e6820f01de2d3000dc310300e688d101e6ed0700e606e001e6b8aa00dc530300e616e001dcca1d00e63f0700dc350f00e69ea600dc230300e6e50800dcec2000e6eee201e4ae0500e6711301e629e001dc340700dcb61a00e6e72000dc7dd101e6fd080009cd0900e6820f00e67a1a00e6540600074ae901ae0c0e00000000005a043f020000e80128008002000006004c010102060020000300000071008b010d004d01d30000000200850045000a000400e900210000000000aa00020005010000b5010d0000000000000001000000060067000800000002000000000047003200000000003c00450000000000010000000200100001000000000001000000ce002c0000001d000000120000000000110003001c000700000001006a000100160000006f00000001002500000027001000000022000000bc00000009000000000015000000000013000000870000003a00270000000500160005001400120021000500020001000000150026000000040000000000010017001900000004000000030000001000010001000000050001000000000022000000020004001300000011005a00050013000d004e00080004001800090064002600000011000000050030000000010001000000020001003e0046000500000001000000010037000000000005000300000013000200000001000000060000000b001c000100000005002f000100000008001d00300000002500020012000000000023000200000000000b0018000e00000011000c001500020000000000030000000800080008000000000009000e000000010009002c000300010016001100000000000000000000000000040018000100300004000c000e000900000003000b00000002000500000010000300020006000b0008000a000000080003000100250003001b00020012000500070012000000100000001100000009000000090000000c000000000001000000000000000800000000000000030000000000000017000000000003000c0000000000020001004300000000000b000500090000000000220002000400020002000100010014000100310000000400200009000700010021001600010002000000060000000e000000050012000e000400000000001d0000000000060000000a000000000000001600000000000000000008000000010000000b0000000100000000000000040000000000160000000100000001001d0007000000010006000400010003000e000900100008000200010000000000030002000200220000000000040013001100000002000d000000010004000c00010016000e0002000000000004000000000000000000000015000000000003000000000000000c000000050004000000000011000d0011000000040000000300020001000300010002000200020001000100030001000100000002000200020001000d000000000000000100020006000d000100010004000c00020006000000040027001c00000000000000000000000000000000000a000000000000000000000000000f0007000800000003000000040000000000010000000f00010000000000000002000300000016000b000500000000000200080004000000080000000000000003000400000001000b00010000000000180009000400070000000100020001000000000001001e000000020001000000000009000000000003000a0002000300010000000400000004001f000000000000000000000000000000240007000500020002000a000100000000000300000001000c0000000100000000000100020001000b000000000001000300060002000c000e001e000000000010000000010002000d00030000000600000002000a00040000000f0010000200010002000600000000000b00000005000d0002000000030007000000050004000000000006000100000000000f000300000000000c00000017000200090000000000000000000000020000000700010003000d000000050007000400080000000b0008000900010000000000090005000000080001000000060000000800000007000000020002000500040005000000000001001300080000000000010000000a000000060000000000000000000c000200040002000000000003000000040000000300020007000100000000000000030000000000000003000000000000000400000001000000020000000000020007000000040000000100010001000900020002000600030000000000000001000600050002000000000004000100020011000100000000000100010005000000010000000700000000000000000003000e0000000000030000000000000002000100000010000000000000000200000002000200060000000900000006000000010006000500010001000200080002000300010004000100000000000d0002000000000001002f00010002000100060015000000000000000c00040000000000000000001a00000000000000000003000700000009000200010000000100010000000000000003000000020000000a0000000000010000000e0002000200090002000b000200010003000100000000000a00030001000100020002000200000002000900000000000100060001000000070018000100000007000100010000001900000000000000000000000000000000000300000000000000000000000400020000000000010000000b000100050000000000000003000200060002000100050001000600030001000200010001001c00060002000200030001000800000002000000010003000100160006000b0000000400040001000200000000000000000004000000040000000000000016000000000000000000030000000000000001000000040009000f000500000001000100080000000100000000000100020001000100010000000100000008000100020001000300020000000200040001000100040000000f00000000000000020009000100000002000000020004000100000007000500030002000a000200030000000500000000000000060002000a000000010006000500000002000300010008000200000001000000140000000100020005000000010001000000010000000200090000000300010000000d00010000000000010004000000000000000000000002000e00000002001700050000000000010002000800000001000900030000000100070000000400010008000000000000000100000000000000020002000500000005000400010000000300000002000200030001000f0001000300020000000000000001000500000002000700000000000000000001000000000008000600000000000100000000000a000400050000000000000001000000020000000000000004000000090001000100000006000000000010000100020005000100010000000000040000000200020002000000000001000100030001000300000003000000000000000000010006000400010001000200080003000300000000000400020001000e0020000000010001000c0000000000000004000000020000000000000004000a0002000100040006000000000000000600060000000300000004000100070001000600080001000700010001000000010002000300000006000000000001000800000003000100010006000200000002000400060001000400030006000100030002000400020000000600020000000500010001000200000001000200010001000200020007000300030000000100070001000e000000010000000b0000000100020001000100030000000100000000000000000000000000000000000500000000000000000000000100020000000000030006000300020006000000010003000100020001000200030000000300010002000400030000000000100001000200000001000000030001000200010001000100000001000000010000000000000002000000000005000500010000000000000000000000010005000000000000000000000000000000000000000200040002000100010000000200000000000100000007000b000300010002000100020001000700010004000100010000000100000001000300010002000200050001000100090001000100010000000200030001000000000008000100000000000000000000000000000003000000000000000500000004000000000000000100030001000000010001000300010000000000000003000400090006000000090006000200010003000100010002000400020003000200000006000100000002000000000005000a00010000000000040000000000040000000100020001000000000000000000010000000000000000000000000000000000000000000d0000000000030003000000010002000100000003000000010000000000000003000000010002000100000004000200000001000300000002000300050005000000000005000100010010000100030002000000010001000300010006000500010002000100020000000300000001000000000000000100000000000300070001000200030000000600020001000000000001000000020001000000030001000100030000000200010001000200010000000000010000000300000000000200030000000200000002000100000003000000010000000000050002000200020000000200070005000300010000000a00010001000400000006000000000000000000000001000100010002000000030001000100010003000300010004000100000001000100010003000100050000000200000001000100000004000000020001000000000000000400020000000000000000000400020003000000000000000000010000000a000100020002000100030000000600010003000600000002000000000001000000040005000400010002000000030000000100020004000100000003000000000000000000010001000100010001000300000001000100000003000000010004000a000000030004000500050007000300030002000000010002000200040000000100000000000000020000000000090003001000010000000200000001000400000005000200000005000000010001000400000007000600040000000000010007000000020003000000000000000000000001000000000000000000030000000100050002000600010002000500060002000400000003000100020001000100000000000200010003000600010001000100030007000000000000000200040000000100010003000100010002000000010000000500020005000100000000000000000000000000000000000000000000000500000007000000000000000000040000000200040000000000000001000000000002000000000001000000010001000100040002000b00010000000000010004000200000001000400010002000200010002000200000000000000050002000200000000000400040005000200000000000d000000000000000000000002000000060000000300000000000000010002000100010002000900030000000000030000000100010001000200000002000300010004000000020007000100000002000100010001000200000005000300000000000100000005000000010000000700000000000200010001000000000000000000000000000000000000000200000000000000000000000000040004000000000001000200060000000000020001000200000001000000020002000200060001000100070000000100020005000100020001000100010003000200020001000400000000000000040001000100000002000000010003000000010002000000ee0400009a02020069f80200990b0100b2300000a90802002e1f00000a06030020010000a600020005f90000e6080100e8f90000c90901003a1e0000d203020065f9000046090100bd1e0000f60402003af802006a0b0100010100006c00020086f900006709010057fa00002c0a0100911f000004070300df04000084020200e20100007e01020029020000f2010200af0100004601020066fa00003b0a0100391f0000280602007a1e0000640403006c1f00009d060300a8fa00007b0a0100cef80200fe0b010028010000b20002004bfa0000200a010018f80200480b010088f90200b80c010074f9000055090100a91e0000bf040300511f00005e06020033f80200630b0100fcf802002c0c01008f030000240202003efa0000130a01005efa0000330a01001efa0000fa090100f7f90200270d01005f01000006010200351e0000c603020047fb0000e30a020062f90200920c010086fa0000590a01002ff9000010090100ddf802000d0c0100730f000024030200151e00007f030300d01e000026050300caf90000ab090100e60400008e020200a21f00004307040099f90200c90c0100c21f000097070300c7f80200f70b0100bcfa00008f0a0100b4300000ab080200b9f90200e90c0100731e0000540402005bf900003c09010052f90200820c01005ffa0000340a0100081b00003e030200042200001d080200a21e0000ac040200ea0100008a01020029010000b400020020f9000001090100851f0000d7060400931e000098040200b2f90200e20c010021f80200510b0100d6f90200060d010065fa00003a0a010071f900005209010030020000040203006d0100001e0102001b020000e6010200d4f90200040d010061d10100140b030094fa0000670a0100030400004a0202006a0100001801020058090000c402020022f90200520c01003df900001e090100391e0000cf03030070f80200a00b0100ae1e0000ce040300351f00001d0603002ffa0000040a01005e01000004010200431e0000e403020042f80200720b0100b1f90000920901005dfa0000320a0100d2f90000b3090100d81e00003e050300cafa00009d0a0100dc1e00004a050300fdf902002d0d01000bf902003b0c0100c91e0000180502002923000069080100961e00009e040200a0f90200d00c0100d0f90000b1090100ed04000098020200c200000004000200791e000061040300f1040000a0020200d01f0000b4070200f51e00008e05020025010000b00002002cfb0000b50a03008703000019020100eff90000d0090100f5f90200250d010070010000240102007022000039080200ccf90200fc0c01006dfa0000420a010080f900006109010007f90000e808010057f80200870b0100b91e0000ee040200d5f80200050c0100f9f90000da090100a2f80200d20b01004bf900002c0901007ef80200ae0b01001ff9000000090100ecf90000cd090100f4040000a6020200510400005a020200ad2200005308020017f90200470c010061f80200910b01001df90000fe08010096fa0000690a0100f60000005c000200271e0000a8030200481f00004c060200eb1f0000ea070200e51e0000640502009ff90200cf0c0100e8f80200180c0100dff90000c0090100af1e0000d10403002af900000b09010078fa00004b0a01006cfa0000410a0100221e00009e030200ea1e00007005030050f80200800b0100c9f90200f90c01001cf90000fd080100330a0000de020200e7000000400002000bf802003b0b010091fa0000640a0100dd090000da02020048f80200780b010066f900004709010036fb0000cb0a020057f90000380901008af80200ba0b01005c3000007d08020082f90200b20c010022010000aa0002005df900003e090100ccf80200fc0b01006af802009a0b0100811f0000c80603002a2100000e0801007e01000040010200a9f900008a090100bdfa0000900a01001ef902004e0c0100ebf90000cc09010037f90200670c0100a6f80200d60b0100421e0000e20302002f110100fb0a0200a81f00005b070300c000000000000200daf802000a0c0100b5f90200e50c0100c1f80200f10b0100b4f9000095090100710100002601020052f900003309010008fa0000e9090100ac1f000069070400fb010000a501030012f90000f3080100111f0000c605020001020000b2010200b9f80200e90b01001cfa02004c0d0100b5f80200e50b0100881e000082040200b8fa00008b0a010043fa0000180a010044010000da0002008b1e000088040200e1f90200110d01007cf900005d09010085f9000066090100061f0000a8050300b21f00007d070300dbf902000b0d0100e41f0000db070200c3fa0000960a0100770100003201020048f90200780c0100cb000000140002009f1f00003907040099fa00006c0a010042f90200720c010076f90200a60c010088f9000069090100e61f0000df07020056010000f40002008e1e00008e040200fef802002e0c0100461e0000ea0302001ef802004e0b01005d04000062020200cf1f0000b2070200cf1e000024050200481e0000ee030200cbf90000ac09010046f90200760c0100cffa0000a20a0100090100007c000200e32200005f080200520f00001c0302004c3000006d080200b2f90000930901002c010000ba00020069f90200990c0100a5f90200d50c01007a30000099080200bef90200ee0c01001b1f0000db0503005d1f000077060300abf90200db0c0100f1f80200210c0100bef900009f090100b8f9000099090100b41f000082070300df1e0000530503002f0200000202020034090000c20202008af90200ba0c0100e81f0000e4070200abfa00007e0a01005bfa0000300a0100d304000074020200262200002508020003fa0200330d010012fa0000f0090100e41e000062050200d61f0000be07020031f9000012090100a1fa0000740a010036f90200660c0100e91f0000e6070200f41f0000f80703006cf802009c0b010011f90200410c01005f090000d2020200cd000000180002005ef902008e0c01008ff9000070090100081e000062030300fa300000dd080200da0400007a020200c5f90000a6090100d801000063010300ec0100008e0103005ef900003f0901004efb0000f10a0200c50000000a0002007df80200ad0b01000c1b000042030200c6f90200f60c010079f80200a90b0100f2f90200220d0100ce1e000022050200da0d00000f030200801f0000c50603007430000091080200892200004f080200d001000050010200ac1e0000c804030051f80200810b01002c020000fa0103009e1f000035070400d2f90200020d010005fa0000e60901008cf80200bc0b0100fd1f00000a0801000b1f0000b5050300bafa00008d0a0100821e000076040200c2f80200f20b0100301f000010060200871f0000df06040061fa0000360a0100061b00003c030200e8f90200180d01000ef802003e0b0100001f00009805020003fa0000e409010002020000b4010200ce0100004c01020012fa0200420d01004ff802007f0b0100c10400006a02020081fa0000540a0100c7fa00009a0a0100bbf900009c0901006f01000022010200140100008e000200c70c0000000302000e1b000044030200d1f90200010d010039010000cc00020036f80200660b0100480b0000ea020200f9300000db08020079fa00004c0a0100583000007908020071f90200a10c010028f90200580c0100fc010000a80102002422000023080200b3fa0000860a0100e7f80200170c0100de1f0000cd070200e701000084010200131e00007a0302005afa00002f0a0100ce1f0000b0070200581e00001604020064f90200940c0100befa0000910a01000f1e00007203020038f90200680c01001d010000a000020094f900007509010047f9000028090100aa0300002902020081f9000062090100301e0000bc030200141f0000ce050300f1f90000d2090100a91f00005e070300621e00002c0402005df802008d0b01004efa0000230a0100221f0000e805030038f80200680b0100a6f90200d60c01003ff9000020090100f3f90200230d0100adfa0000800a01007af80200aa0b010030f80200600b0100c8f80200f80b01000a0100007e0002000b020000c6010200771f0000b7060200b4fa0000870a010085f90200b50c0100f7f90000d80901004ff902007f0c010040fa0000150a010068f90200980c01008cfa00005f0a0100ce0000001a000200c0fa0000930a01006230000083080200f90000005e000200b01f000079070200940b0000f402020026f90200560c0100841f0000d3060400ef0400009c0202009d0f0000300302006d22000033080200281f0000fa05020055f90200850c01007922000043080200b6fa0000890a010035f90000160901003904000056020200381901000b0b0200ee0000004e0002007b0100003a0102000c1e00006c0302006a1e00004204020014020000d8010200570f00001e03020025f80200550b0100bb140100010b0200000100006a000200e60100008201020051f90200810c0100cef90200fe0c010084f90200b40c0100eb220000630802006b1f00009a0603003b010000d0000200e9f90200190d0100bef80200ee0b010023f80200530b0100d3f90200030d01007cf90200ac0c010049fa00001e0a0100b11e0000d704030098f90200c80c01004e3000006f0802000d1f0000bb0503004a0d00000903020039fb0000cf0a02005a3000007b080200b0f9000091090100fff802002f0c0100ae300000a508020077f90200a70c0100fa010000a2010300201e00009a03020017f90000f808010089f900006a0901000ef90000ef08010034fb0000c70a020089f80200b90b010066f80200960b010065f80200950b01002f010000c00002000efa02003e0d0100611e00002a040200fd010000aa01020003f80200330b0100e31f0000d807030044fa0000190a0100a61f0000530704000f020000ce010200a41f00004b070400cb0c0000060303004ffa0000240a010097f90200c70c01004b1e0000f4030200a2fa0000750a010039f80200690b0100551f000069060300321e0000c0030200f0f90000d1090100ea00000046000200d4f80200040c010069f900004a090100fa00000060000200331e0000c20302006f1e00004c040200aaf900008b09010038f900001909010026f80200560b01003cf900001d090100e2040000860202005f1e000026040200c20400006c020200dd04000080020200900300002602030023f90200530c01001904000054020200e9f80200190c01003b1b00004803020060f80200900b0100c01e0000fe04030024010000ae00020035f90200650c0100cd210000170802001ff802004f0b0100951f00001307040059fa00002e0a01004afb0000e90a020037010000ca00020019fa0200490d01008c1e00008a04020011fa0200410d010092f90000730901009bf900007c0901006f2200003708020008f90200380c0100a11e0000aa040200c7300000bd0802005c0f000020030200bc140100030b02001af90000fb08010049fb0000e70a020092f80200c20b0100bbd10100200b02000e040000520202007e1e00006e040200d31f0000bb070300b61f00008507020064010000100102002bf902005b0c01003d1f0000330603008603000017020200241f0000ee050300cdfa0000a00a010017fa0000f3090100171e0000850303000bfa0000ec09010080f90200b00c01002dfa0000020a01008ef80200be0b01002efb0000bb0a020031fa0000060a0100091f0000b005020015f80200450b0100caf90200fa0c010055fa00002a0a0100f9f90200290d0100621f0000810603000601000076000200bf1e0000fb040300381f000026060200201f0000e405020065f90200950c010029f80200590b0100fb1f000006080200c90000001000020047010000e0000200c3f90200f30c010013020000d60102009d1f000031070400251f0000f1050300aff90200df0c010077fa00004a0a0100092200001f080200760f00002803020056f9000037090100cc1f0000ac070200a01f00003d0703003c010000d2000200b31e0000dd0403005a1e00001a04020035fb0000c90a0200b5f90000960901000afa0000eb090100a51f00004f0704002e02000000020200ee1e00007c050300d50100005a0103005c01000000010200e30000003a0002008bfa00005e0a0100793000009708020038fb0000cd0a020055f80200850b01009efa0000710a01004e010000e8000200751e00005804020046fa00001b0a01000afa02003a0d010011020000d2010200a9f80200d90b01001501000090000200d1300000c3080200471e0000ec030200e0f80200100c01007efa0000510a0100d81f0000c3070200921e00009604020067f80200970b01001dfb0000ad0a02007df900005e090100b9fa00008c0a010046f80200760b01007d1e00006c040200c8fa00009b0a01000401000072000200f5040000a802020010fa0200400d010075f90000560901006af900004b0901002bfa0000000a0100731f0000af06020057f90200870c0100dd1e00004d050300ad0300002f02020024f90200540c0100d4fa0000a70a01007bf90200ab0c010053f80200830b01003ffa0000140a01008afa00005d0a01004cfb0000ed0a02003b1f00002d060300c4000000080002009a100100f30a0200410300000f0201000d1e00006e030200dc0400007e02020010fa0000ef090100f11e00008505030003f90200330c0100ed1f0000ee070200ef1f0000f2070100a41e0000b00403001f020000ea01020092fa0000650a0100a4f80200d40b0100c8f90000a9090100a0f9000081090100311e0000be03020003f90000e4080100d40300004402020009f80200390b0100071e000060030200b11f00007b070200d1f80200010c0100111e000076030200d21f0000b80703005ed101000d0b020041f90200710c010062f9000043090100f01e000082050300e01e000056050300523000007308020048010000e2000200441f00004606030030f90200600c01000b1e00006a0302003ef802006e0b0100943000009f0802005b1e00001c04020054fa0000290a0100fcf90000dd090100de01000072010300021e000056030200e4f90200140d01007ff9000060090100e11f0000d3070200cb1e00001c05020047f90200770c01002df802005d0b01006d1f0000a00603004c1e0000f6030300001e0000520302003cf902006c0c0100c4f90200f40c01002d1f0000070603008c03000020020200bb150100090b02000cfa0000ed09010086f90200b60c01000a1f0000b2050300831f0000cf060400e31e00005f0503003ef902006e0c0100edf802001d0c010081f90200b10c0100541f000066060300161e0000820303006afa00003f0a010079010000360102002dfb0000b80a03000bf90000ec0801003efb0000d70a0200b0f90200e00c010032f9000013090100e61e0000660502005ef802008e0b0100d7f80200070c0100401e0000de030200ed22000067080200431f000043060300e50400008c020200a5fa0000780a0100a31f00004707040067f90200970c010093f90000740901008df80200bd0b0100ed0000004c00020006f90200360c010098fa00006b0a010001f90200310c0100f71f0000fd0703005c090000cc02020060fa0000350a0100ca0300003802020062fa0000370a0100c3f80200f30b0100ca1e00001a05020050f9000031090100730100002a0102009af90200ca0c010070f90200a00c01005af802008a0b010013fa0200430d01008bf900006c09010013f90200430c0100b90f00003803020019f90000fa080100ba1e0000f004020090f80200c00b010053f9000034090100b21e0000da04030004f90000e5080100dc0100006f010300ab0300002b0202004ef900002f090100dff802000f0c0100191f0000d6050200bc300000b30802005e3000007f080200871e000080040200faf90000db0901002bf802005b0b01001df802004d0b0100a3f80200d30b010004fa0200340d01003afa00000f0a0100e40400008a020200d5f90200050d01000df902003d0c010067f9000048090100d3fa0000a60a0100f21f0000f3070300861e00007e0402002df900000e090100f71e00009205020089fa00005c0a010074f80200a40b010052f80200820b0100cdf90000ae09010054f80200840b0100251e0000a4030200c11e000001050300db1e00004705030005020000ba01020043f80200730b0100b1f80200e10b0100b81f00008a070200cb0b0000f80202004cf802007c0b010030fa0000050a0100cb090000d402020058f80200880b01005b1f000074060300c2060000ba02020050f90200800c01005c0b0000f00202004dfa0000220a0100931f00000b07040074fa0000470a0100591f0000720602001dfa02004d0d010070fa0000430a010018fa0000f409010088f80200b80b0100b7f80200e70b01009df900007e090100dbf90000bc09010040f90000210901008d1f0000f5060400971f00001b070400101e00007403020097f900007809010056f90200860c0100aaf90200da0c0100411e0000e00302000cf902003c0c010062f80200920b0100661e000036040300f81e00009405020049f80200790b010094f80200c40b01007f1e000070040200291f0000fc0502001cfa0000f8090100b01e0000d4040300741f0000b1060200e91e00006d050300bb1f000090070200620100000c010200d20000002000020097fa00006a0a010024f80200540b0100330200000c020200af22000057080200ec1f0000ec0702007ffa0000520a01004af902007a0c010087f80200b70b010017fa0200470d010031090000c002020030010000c200020035010000c60002007630000093080200a20f000032030200f8040000aa020200271f0000f705030063f90000440901004df900002e090100400300000e020100cdf90200fd0c0100011e000054030200d31e00002f050300030100007000020000020000b00102007c0100003c0102002cf900000d090100121e00007803020033fb0000c50a020093fa0000660a0100f50000005a000200f8300000d908020010020000d0010200f30000005600020004f80200340b0100c0f80200f00b01001a020000e40102001c1e0000900303001e010000a20002008f1f0000fd0604004cfa0000210a01005b090000ca02020045fa00001a0a0100d5fa0000a80a01002ef802005e0b01005cfa0000310a0100b7f900009809010006020000bc010200c71f0000a1070300cb0300003a020200dcf90000bd0901002b020000f70103002ef900000f090100e21e00005c0503008ff80200bf0b01004cf902007c0c010084fa0000570a0100e3f90200130d0100d6f90000b70901005d01000002010200241e0000a20302005cf902008c0c0100a61e0000b6040300a81e0000bc040300f7300000d708020077f9000058090100c4fa0000970a01003bfa0000100a010004f90200340c0100abf900008c090100eb0400009402020020fa0000fb09010007f90200370c0100c61e00001005030005fa0200350d0100ab100100f70a02003f1e0000dc030200852200004b0802004303000010020100daf90000bb09010007fa0200370d010015fa0200450d0100f3040000a4020200130100008c0002007b1f0000bf060200cf2100001b0802007a1f0000bd060200e50000003e0002007d3000009d08020014fa0200440d010091f80200c10b0100e5f90200150d010083f90200b30c0100901f000001070300851e00007c040200d400000024000200e022000059080200ae03000031020200aef80200de0b0100fbf90000dc0901009cf900007d09010017020000de010200b71e0000e9040300aaf80200da0b0100850300001502020016fa0000f2090100e2f90200120d0100e10100007b01030000fa0200300d010054010000f0000200b71f000087070300ef1e00007f05030002fa0000e309010090f90200c00c0100521e00000804030024060000b20202009df90200cd0c010083f80200b30b0100d71f0000c0070300ccf90000ad09010026f9000007090100561e00001204020006fa0000e709010051fa0000260a0100f41e00008c050200daf902000a0d0100361e0000c8030200d3060000bc020200fff902002f0d0100e2f80200120c0100aa1e0000c2040300adf80200dd0b010007fa0000e80901007af90200aa0c010066f90200960c0100801e000072040200d201000054010200631f000084060300ad1f00006d0704001ef90000ff080100a0fa0000730a010063f80200930b0100dd300000d30802005e040000640202001af902004a0c0100051e00005c0302001a0100009a000200611f00007f0602001bfa02004b0d0100e0f90200100d01003d010000d400020032fb0000c30a0200a51e0000b3040300dd0d000013030300180100009600020007020000be010200fa1f0000040802003ff902006f0c010086f80200b60b0100e0f90000c109010070f90000510901007ef90200ae0c010072f900005309010036010000c80002000a1b000040030200733000008f08020016f90000f7080100e22200005d08020021f90200510c0100602200002f080200661f00008d0603000ff802003f0b0100012000000c080100881f0000e3060300a6fa0000790a0100ae1f000071070400a4fa0000770a01003a1f00002a060300c1fa0000940a01008ffa0000620a01005d090000ce020200d1f90000b2090100411b00004e03020048f90000290901003c1e0000d6030200d9fa0000ac0a010000040000460202006df900004e0901007c1e00006a040200d30300004202020072010000280102001f1e0000980302009ffa0000720a01006e2200003508020022f80200520b0100750f00002603020071f80200a10b010012f80200420b0100752200003f0802003f1f000039060300d7300000cb080200d90000002a000200abf80200db0b01007afa00004d0a010015f90000f60801001d1e000093030300eb0100008c01020008f80200380b01008ef90200be0c010053fa0000280a0100a6f90000870901000cf802003c0b0100f5f80200250c010002fa0200320d0100811e00007404020030f90000110901006030000081080200ea1f0000e80702008a0300001e0202005cf802008c0b0100c91f0000a60702006ff802009f0b01000af902003a0c010002f90200320c010035f80200650b01004d010000e600020062d10100170b030023f900000409010096f80200c60b01002d020000fd010300f2f90000d3090100c2300000b9080200d4300000c70802007ef900005f090100e21f0000d5070300ec0000004a000200491f00004e0602008dfa0000600a010098f80200c80b0100b51e0000e304030094f90200c40c01002b010000b80002000e020000cc0102006801000014010200561f00006c060300a0f80200d00b010052fa0000270a01003df902006d0c0100da0000002c000200c41e00000a050300951e00009c040200671f000090060300c1f90200f10c0100def90000bf0901003df802006d0b0100edf90000ce090100bffa0000920a0100570400005e0202000dfa0000ee090100b1fa0000840a0100faf802002a0c0100491e0000f00302001bf90000fc080100501e0000020403004af900002b09010090fa0000630a01008422000049080200a01e0000a8040200690100001601020000f90000e1080100eb1e000073050300e5f90000c6090100eaf902001a0d0100acf80200dc0b0100f8f80200280c0100c80c000002030200f6f80200260c010068f90000490901006c1e000046040200d8f80200080c0100b61e0000e604030099f80200c90b0100c300000006000200b001000048010200131f0000cb050300631e00002e040200120100008a00020020f90200500c010004fa0000e5090100d9f80200090c0100381e0000cc030300941f00000f07040040f90200700c01007df90200ad0c01004ef802007e0b0100a5f9000086090100dc090000d8020200fc00000064000200ec1e000076050300a001000042010200b4f90200e40c0100ca0b0000f602020034f80200640b01000bfa02003b0d0100d8fa0000ab0a0100c5300000bb080200f5f90000d60901004bf802007b0b01005e1e000024040200c6f80200f60b01003bf902006b0c010051010000ee000200fc1f00000808020039fa00000e0a0100091e00006503030099f900007a090100e6f80200160c0100baf80200ea0b010076f80200a60b010023010000ac0002003cfb0000d50a020096f90000770901008d1e00008c0402000c01000082000200eef802001e0c010009f90000ea0801004afa00001f0a0100a9f90200d90c010006f80200360b0100d0300000c1080200bbf90200eb0c010075f90200a50c010018fa0200480d010089f90200b90c010087f90000680901000af802003a0b010098f900007909010079f900005a0901000df90000ee08010022f90000030901008c1f0000f1060400371f00002306030048fb0000e50a0200673000008708020032f90200620c0100d21e00002c050300d10000001e000200281e0000aa0302007801000034010200acf90200dc0c0100610100000a010200d0fa0000a30a010001040000480202004122000027080200bdf900009e090100f0f80200200c0100451e0000e8030200d9f90000ba090100a9fa00007c0a010035fa00000a0a0100d204000072020200341e0000c403020027f9000008090100c31e000007050300def802000e0c0100a2f90200d20c010043f90000240901008f1e000090040200d5f90000b609010082f9000063090100501f00005c060200921f000007070400810f00002c03020087fa00005a0a01004ef902007e0c0100ab1f0000650704003dfa0000120a0100d90100006601030096f90200c60c01008a1e00008604020058fa00002d0a0100c11f00009507020061f90200910c01004403000011020200341f00001a060300a8f9000089090100630100000e0102004bfb0000eb0a0200cc090000d6020200711e000050040200e200000038000200f3f90000d40901009ef80200ce0b0100b3f80200e30b01004d1f000059060300f91e0000960502002ff802005f0b01002efa0000030a010014f80200440b0100d1fa0000a40a0100c51e00000d050300df090000dc020200a1f80200d10b010039f900001a09010028020000f0010200d2f80200020c0100bdd10100240b0300861f0000db06040068f80200980b01002a020000f4010300e3f80200130c01005a0a0000e4020200c81f0000a407020022fa0000fc090100ed010000910103009ff9000080090100b8f90200e80c0100e7f90200170d0100bbfa00008e0a0100d60100005d01030031fb0000c10a020046010000de000200f21e000088050200a11f000040070300181e0000880302009bfa00006e0a010080fa0000530a0100ccfa00009f0a01007a010000380102003b1e0000d4030200741e0000560402006bf802009b0b0100231e0000a0030200750100002e0102003e1e0000da030200db0400007c0202009b21000013080200841e00007a040200cff90000b0090100441e0000e60302001a1e00008c030200651f00008a06030029f900000a090100472200002b080200f2040000a20202007cf80200ac0b01002f1e0000b90303004af802007a0b01008cf90200bc0c0100a1f90200d10c0100c81e00001605020057010000f6000200bff80200ef0b010041fb0000db0a0200f9040000ac02020095f90200c50c01002e010000be000200b6f9000097090100bc1e0000f4040200211e00009c03020041f80200710b01001601000092000200530400005c02020092f90200c20c010064d101001d0b0300e1f80200110c010075fa0000480a010002f90000e308010008f90000e908010017f80200470b01005ff90000400901003bf802006b0b01000f01000088000200d3000000220002006930000089080200651e00003304030043fb0000dd0a0200ba300000b10802009b1f0000290704006c0100001c010200c70000000c0002006bf902009b0c0100f8f90000d909010058010000f800020063d101001a0b0300a71e0000b9040300882200004d080200cbfa00009e0a010001f90000e20801008e1f0000f906040009fa0200390d0100c8f90200f80c01000e1e00007003020049f900002a090100e8000000420002003cfa0000110a0100ecf802001c0c0100dbf802000b0c010018020000e001020065300000850802007cfa00004f0a0100821f0000cb0604009b1e0000a604020009020000c2010200d11f0000b6070200faf902002a0d0100f4300000d50802001a1f0000d80503005c1e00001e0403006bfa0000400a0100def902000e0d0100c6f90000a7090100da010000690103000e1f0000be0503007bf900005c090100c3f90000a4090100170100009400020045f9000026090100fef902002e0d0100d61e00003805030025060000b4020200bcf90200ec0c0100492200002d080200d401000058010200f0f90200200d010031f90200610c01002af902005a0c0100db1f0000c90702007bfa00004e0a010082f80200b20b0100eff802001f0c01004ff9000030090100930f00002e03020045f90200750c0100563000007708020059090000c6020200ac22000051080200f61f0000fb07020001f80200310b010021f900000209010041fa0000160a0100fef90000df090100a3fa0000760a0100b4f80200e40b01000c020000c8010200c1f90000a2090100002000000b08010005f90200350c01000d04000050020200791f0000bb0602005bf902008b0c0100721e0000520402001bf902004b0c0100e1f90000c2090100cbf90200fb0c01004df802007d0b0100a7f80200d70b0100051f0000a505030030fb0000bf0a020001fa0000e2090100ef00000050000200c0d101002d0b030019f80200490b0100ca00000012000200ae210000150802002e1e0000b6030300da300000cf08020080f80200b00b010032f80200620b0100db0100006c010300e7040000900202005bf802008b0b0100f001000098010200c7f90200f70c0100681e00003c0403000cf90000ed0801004dfb0000ef0a0200f4f80200240c0100b0030000350203000ff90000f00801009ff80200cf0b01009a1f00002507040088fa00005b0a0100bfd101002a0b0300713000008d08020069fa00003e0a0100261000003a0302001afa0000f6090100031e00005803020028f900000909010074f90200a40c01004b0b0000ec0202001d1f0000e10503006501000012010200d2fa0000a50a0100c9fa00009c0a010097f80200c70b01000ffa02003f0d0100aef90200de0c0100c80000000e000200bcf80200ec0b01006af902009a0c0100fbf902002b0d0100cdf80200fd0b01001ffb0000af0a02004bf902007b0c010011f80200410b01005a090000c8020200dc300000d1080200780f00002a03020009f90200390c0100ae22000055080200d8f90000b90901008efa0000610a01002a1e0000ae030200080100007a000200cff90200ff0c01007b1e000067040300cbf80200fb0b0100c2fa0000950a01005fd101000f0b020024f90000050901006ff9000050090100de1e00005005030087f90200b70c0100721f0000ad060200d41e000032050300b2f80200e20b010042fa0000170a010026060000b60202009dfa0000700a0100b3f90200e30c010019f90200490c0100d3f90000b409010071fa0000440a01002f1f00000d060300d91e0000410503002ffb0000bd0a0200dcf802000c0c0100b41e0000e004030025fa0000fd0901006df802009d0b0100ea04000092020200cd1e000020050200011f00009a050200d0f80200000c01003af902006a0c01000c0400004e0202003af900001b090100fff90000e0090100261e0000a6030200081f0000ae050200031f00009f050300d7fa0000aa0a010084f80200b40b010045f80200750b01008e03000022020200d00400006e020200be300000b5080200321f00001406030008fa0200380d01007d0100003e0102003d1e0000d80302002cfa0000010a01005ff902008f0c01009cf90200cc0c01006f1f0000a606030037f900001809010034fa0000090a01002a1f0000fe050300690f000022030200e00000003400020078f90200a80c01007ff90200af0c0100ef01000096010200431b00005003020055010000f2000200c61f00009f0702000a020000c401020077300000950802001b1e00008e03020085f80200b50b01000d020000ca010200c4f90000a5090100a7f90000880901008ef900006f0901004d0f00001a03020005f80200350b010059010000fa000200f400000058000200401f00003c06020000fa0000e1090100f6f90200260d0100aefa0000810a010015fa0000f10901002b2100000f08020006fa0200360d0100d5000000260002002d1e0000b40302000f1f0000c1050300712200003b080200711f0000ab06020047fa00001c0a01004b0d00000b0302001cf802004c0b0100b91f00008c07020026fa0000fe090100f91f00000208020034010000c400020091f900007209010060d10100110b0300acf900008d09010028f80200580b0100d91f0000c5070200ebf802001b0c01008bf80200bb0b0100b1f90200e10c0100bcf900009d0901002afa0000ff0901007c3000009b080200f50100009c010200781f0000b906020072fa0000450a0100802200004508020018f90200480c0100e40000003c00020002f80200320b0100d6f80200060c0100880300001a020200c5fa0000980a01000d0100008400020058f9000039090100be1e0000f80403000af90000eb080100f9010000a00102004c0b0000ee020200571f00006f060300061e00005e030200d11e000029050300f31f0000f60702002b1e0000b0030200b81e0000ec04020075f80200a50b010042f90000230901006a1f000097060300e0010000780103004df902007d0c0100480c0000fc02020010f80200400b0100361f000020060300f3f80200230c0100fd0000006600020061f900004209010073f80200a30b01007e0300001402010011f90000f2080100c6fa0000990a01009df80200cd0b010060f90200900c010082fa0000550a01006ff902009f0c0100331f0000170603005f1f00007a060300671e000039040300d9300000cd0802009af900007b090100ec2200006508020004020000b8010200dc0000003000020025f90200550c010068fa00003d0a010040f80200700b0100cd0300003e020200901e000092040200751f0000b3060200dc0d0000110302003ff802006f0b010076f90000570901006ef802009e0b010050010000ec000200991e0000a4040200d10100005201020016f90200460c010029f90200590c0100041f0000a2050300a71f000057070400df0100007501030044fb0000df0a02001c0100009e0002003a010000ce000200101f0000c4050200c4f80200f40b0100971e0000a004020054f900003509010000f90200300c0100fe300000df080200b6300000ad080200691f000095060200adf900008e090100771e00005c04020037fa00000c0a010034f9000015090100b0fa0000830a0100ea220000610802009cf80200cc0b010027020000ee0102002b1f00000106030079f90200a90c010054f90200840c01001e1e000096030200aef900008f090100e5f80200150c0100af030000330202004c1f00005606030041f900002209010034f90200640c0100a3f900008409010029090000be0202009bf80200cb0b0100b0f80200e00b0100831e000078040200ecf902001c0d0100601f00007d06020023060000b00202006e1e00004a0402002e110100f90a02005d0b0000f202020015020000da010200bdf90200ed0c01007601000030010200ab1e0000c5040300e6f90200160d010064f80200940b0100311f0000120602002ff902005f0c010020f80200500b0100da1f0000c70702002cf802005c0b0100451f0000490603007c1f0000c1060200531e00000b04030072f90200a20c01001afa02004a0d010060f9000041090100d701000060010300e81e00006a050300ca0c000004030200421f0000400603005df902008d0c0100ee01000094010200d3f80200030c01004d1e0000f9030300d600000028000200961f00001707040018f90000f9080100aff9000090090100fbf802002b0c0100601e000028040200121b000046030200fdf90000de090100ebf902001b0d0100641e0000300403002bfb0000b30a0200e01f0000d107020015f90200450c01001bf802004b0b0100dd1f0000cb070200b6f80200e60b0100891e000084040200b9f900009a090100b31f000080070200e301000080010200e304000088020200cf0000001c000200f100000052000200bff90200ef0c0100c9f80200f90b0100a8f80200d80b01005af902008a0c0100a8f90200d80c0100a1010000440102009ef900007f09010046fb0000e10a0200c7f90000a80901007604000066020200cd0100004a010200bff90000a0090100ad1e0000cb0403000501000074000200a4f90200d40c01005b010000fe000200c9f90000aa090100190100009800020046f900002709010054300000750802000cfa02003c0d0100cf0100004e0102007dfa0000500a010044f90000250901001dfa0000f9090100c2f90200f20c010064f900004509010019020000e2010200ddf90000be0901008b1f0000ed0604006222000031080200b3f9000094090100a2f90000830901005030000071080200e801000086010200d3300000c5080200c9300000bf0802005af900003b0901008af900006b09010076fa0000490a010016f80200460b0100401b00004c03020012020000d4010200911e000094040200e4f90000c5090100981f00001f07030010f90000f1080100d8f90200080d01001df902004d0c01009c1f00002d070400db0000002e000200320200000a02020095f9000076090100e2f90000c3090100231f0000eb050300de0d000016030200cef90000af090100ed1e0000790503000c1f0000b80503001cf902004c0c0100b0300000a708020090f9000071090100681f000093060200bc1f000092070200b7f90200e70c01006bf900004c09010009fa0000ea090100ff010000ae01020010f90200400c0100f4f90200240d01007ff80200af0b0100591e000018040200be140100050b02006cf900004d090100ac0f00003603020013f90000f40801000df802003d0b010027f90200570c010037f80200670b0100ac300000a3080200ee1f0000f0070200a1f9000082090100541e00000e0402006e1f0000a3060300b7fa00008a0a01003bfb0000d30a0200f1f90200210d0100360a0000e0020200891f0000e6060300cc1e00001e05020058f90200880c01006b0100001a01020044f90200740c0100f9f80200290c0100070400004c020200f61e000090050200a3f90200d30c010081f80200b10b01004c130100ff0a02001af802004a0b0100ddf902000d0d010064fa0000390a0100aff80200df0b0100edf902001d0d0100eaf90000cb0901009c100100f50a02004f010000ea0002007af900005b09010049f90200790c01005b0a0000e602020036f90000170901005e0a0000e80202009af80200ca0b01004b1f00005306030084f90000650901006d1e0000480402000ef902003e0c01002a2300006a0801000dfa02003d0d0100b2fa0000850a01005004000058020200021f00009c05030032fa0000070a0100761f0000b50602006df902009d0c0100a7f90200d70c0100a31e0000ae040200baf900009b090100151f0000d1050300af1f000075070400600100000801020063f90200930c010025f9000006090100f6f90000d7090100c0300000b70802001e020000e80102009cfa00006f0a01003afb0000d10a0200ba1f00008e0702007403000013020100dc2a00006b0802001ff902004f0c0100c00c0000fe020200f31e00008a050200c31f00009a070200bdf80200ed0b01001f010000a4000200a70f000034030200f4f90000d5090100cc0b0000fa02020047f80200770b01004a1f0000500603008ff90200bf0c01006ef900004f090100e6f90000c7090100e3f90000c409010044f80200740b010013f80200430b0100b5fa0000880a0100aa1f000061070400c1000000020002006b1e000044040200e51f0000dd07020007f80200370b01005ff802008f0b01003bf900001c090100f80100009e010200691e00003f040300e71f0000e1070300571e000014040200cc000000160002009bf90200cb0c0100f00400009e020200fdf802002d0c010021010000a8000200f2000000540002009afa00006d0a0100eff902001f0d010078f80200a80b010059f900003a0901004b130100fd0a0200be1f00009407010056fa00002b0a0100bed10100270b0300bbf80200eb0b0100e4f80200140c0100191e00008a0302002df902005d0c01002c1f000004060300e100000036000200b6f90200e60c01008df900006e09010014f90000f508010019fa0000f5090100cefa0000a10a01005a010000fc000200742200003d0802004cf900002d090100c41f00009c070300ba150100070b0200b8f80200e80b010001fa0200310d0100eaf802001a0c0100981e0000a20402008bf90200bb0c0100dcf902000c0d0100991f0000220703008a1f0000e90604001c1f0000de05030038fa00000d0a010053f90200830c0100f7f80200270c0100411f00003e060200c71e00001305030016fa0200460d010059f80200890b010059f90200890c0100cff80200ff0b01004c010000e400020093f90200c30c01003e010000d60002002a010000b600020091f90200c10c0100ca1f0000a8070200890300001c02020073fa0000460a0100d9f90200090d010043010000d800020093f80200c30b010027f80200570b010063fa0000380a0100ac0300002d020200071f0000ab050300bb1e0000f204020043f90200730c010067fa00003c0a0100d604000076020200121f0000c8050300f40100009a010200371e0000ca0302000ff902003f0c0100181f0000d40502007704000068020200020100006e00020000f80200300b0100affa0000820a0100c0060000b8020200eb00000048000200da1e0000440503007d1f0000c3060200590a0000e2020200f2f80200220c01009e300000a1080200d6300000c90802002ef902005e0c010033f90000140901006ef902009e0c0100551e00001004020081220000470802004e1e0000fc03030072f80200a20b0100fcf902002c0d0100bcd10100220b020050fa0000250a01002cf902005c0c0100703000008b080200e9f90000ca0901003cf802006c0b0100f8f90200280d0100521f000060060300acfa00007f0a0100941e00009a040200d6fa0000a90a0100cb1f0000aa07020033fa0000080a01001bfa0000f7090100eef90000cf0901002c1e0000b203020003020000b601020077f80200a70b0100f81f000000080200e901000088010200fe010000ac0102006cf902009c0c0100511e000005040300de04000082020200a4f900008509010040fb0000d90a020022060000ae020200cc0300003c0202009ef90200ce0c01002bf900000c090100e12200005b080200740100002c0102004a1e0000f203020039f90200690c0100ce03000040020200a7fa00007a0a010085fa0000580a0100e7f90000c8090100070100007800020095fa0000680a010073f900005409010033f90200630c0100c2f90000a3090100e11e000059050300d301000056010200d0f90200000d01002afb0000b10a0200fb000000620002004f1e0000ff030300261f0000f4050300dd0000003200020026020000ec01020031f80200610b0100eef902001e0d010055f90000360901006e01000020010200a5f80200d50b01001b0100009c000200761e00005a0402004c0d00000d0302003c1f0000300603000a1e000068030200781e00005e0403002af802005a0b01002d010000bc000200c5f80200f50b01003e1f0000360603005cf900003d090100211f0000e6050200d7f90200070d0100701f0000a906020014f90200440c010083fa0000560a0100d51e000035050300e71e0000680502007822000041080200c0f90000a1090100d71e00003b050300caf80200fa0b01003d1b00004a030200adf90200dd0c01005e090000d00202000c22000021080200df1f0000cf07020048fa00001d0a0100041e00005a030200d70400007802020016020000dc010200701e00004e04020056f80200860b0100e90000004400020051f90000320901003102000007020300531f000063060300141e00007c03030083f9000064090100d4f90000b509010073f90200a30c0100dff902000f0d01008cf900006d09010008020000c001020095f80200c50b0100aafa00007d0a01005c04000060020200b8300000af0802004422000029080200ff00000068000200d104000070020200262100000d0801000b0100008000020045010000dc00020078f9000059090100cd1f0000ae07020012f90200420c010036fa00000b0a0100c0f90200f00c0100ec040000960202000e010000860002008df90200bd0c01005d1e000021040300430f000018030200291e0000ac0302003ef900001f090100c5f90200f50c0100ce210000190802007bf80200ab0b0100baf90200ea0c0100c21e0000040503009a21000011080200641f00008706030006f90000e7080100d7f90000b809010041000000000300004100000001030000410000000203000041000000030300004100000008030000410000000a0300004300000027030000450000000003000045000000010300004500000002030000450000000803000049000000000300004900000001030000490000000203000049000000080300004e000000030300004f000000000300004f000000010300004f000000020300004f000000030300004f000000080300005500000000030000550000000103000055000000020300005500000008030000590000000103000061000000000300006100000001030000610000000203000061000000030300006100000008030000610000000a0300006300000027030000650000000003000065000000010300006500000002030000650000000803000069000000000300006900000001030000690000000203000069000000080300006e000000030300006f000000000300006f000000010300006f000000020300006f000000030300006f00000008030000750000000003000075000000010300007500000002030000750000000803000079000000010300007900000008030000410000000403000061000000040300004100000006030000610000000603000041000000280300006100000028030000430000000103000063000000010300004300000002030000630000000203000043000000070300006300000007030000430000000c030000630000000c030000440000000c030000640000000c03000045000000040300006500000004030000450000000603000065000000060300004500000007030000650000000703000045000000280300006500000028030000450000000c030000650000000c03000047000000020300006700000002030000470000000603000067000000060300004700000007030000670000000703000047000000270300006700000027030000480000000203000068000000020300004900000003030000690000000303000049000000040300006900000004030000490000000603000069000000060300004900000028030000690000002803000049000000070300004a000000020300006a000000020300004b000000270300006b000000270300004c000000010300006c000000010300004c000000270300006c000000270300004c0000000c0300006c0000000c0300004e000000010300006e000000010300004e000000270300006e000000270300004e0000000c0300006e0000000c0300004f000000040300006f000000040300004f000000060300006f000000060300004f0000000b0300006f0000000b0300005200000001030000720000000103000052000000270300007200000027030000520000000c030000720000000c030000530000000103000073000000010300005300000002030000730000000203000053000000270300007300000027030000530000000c030000730000000c03000054000000270300007400000027030000540000000c030000740000000c030000550000000303000075000000030300005500000004030000750000000403000055000000060300007500000006030000550000000a030000750000000a030000550000000b030000750000000b03000055000000280300007500000028030000570000000203000077000000020300005900000002030000790000000203000059000000080300005a000000010300007a000000010300005a000000070300007a000000070300005a0000000c0300007a0000000c0300004f0000001b0300006f0000001b030000550000001b030000750000001b030000410000000c030000610000000c030000490000000c030000690000000c0300004f0000000c0300006f0000000c030000550000000c030000750000000c03000055000000080300000403000075000000080300000403000055000000080300000103000075000000080300000103000055000000080300000c03000075000000080300000c030000550000000803000000030000750000000803000000030000410000000803000004030000610000000803000004030000410000000703000004030000610000000703000004030000c600000004030000e600000004030000470000000c030000670000000c0300004b0000000c0300006b0000000c0300004f000000280300006f000000280300004f00000028030000040300006f0000002803000004030000b70100000c030000920200000c0300006a0000000c030000470000000103000067000000010300004e000000000300006e00000000030000410000000a03000001030000610000000a03000001030000c600000001030000e600000001030000d800000001030000f800000001030000410000000f030000610000000f03000041000000110300006100000011030000450000000f030000650000000f03000045000000110300006500000011030000490000000f030000690000000f030000490000001103000069000000110300004f0000000f0300006f0000000f0300004f000000110300006f00000011030000520000000f030000720000000f03000052000000110300007200000011030000550000000f030000750000000f030000550000001103000075000000110300005300000026030000730000002603000054000000260300007400000026030000480000000c030000680000000c03000041000000070300006100000007030000450000002703000065000000270300004f00000008030000040300006f00000008030000040300004f00000003030000040300006f00000003030000040300004f000000070300006f000000070300004f00000007030000040300006f0000000703000004030000590000000403000079000000040300000003000001030000130300000803000001030000b90200003b000000a8000000010300009103000001030000b70000009503000001030000970300000103000099030000010300009f03000001030000a503000001030000a903000001030000b903000008030000010300009903000008030000a503000008030000b103000001030000b503000001030000b703000001030000b903000001030000c50300000803000001030000b903000008030000c503000008030000bf03000001030000c503000001030000c903000001030000d203000001030000d20300000803000015040000000300001504000008030000130400000103000006040000080300001a04000001030000180400000003000023040000060300001804000006030000380400000603000035040000000300003504000008030000330400000103000056040000080300003a0400000103000038040000000300004304000006030000740400000f030000750400000f03000016040000060300003604000006030000100400000603000030040000060300001004000008030000300400000803000015040000060300003504000006030000d804000008030000d904000008030000160400000803000036040000080300001704000008030000370400000803000018040000040300003804000004030000180400000803000038040000080300001e040000080300003e04000008030000e804000008030000e9040000080300002d040000080300004d040000080300002304000004030000430400000403000023040000080300004304000008030000230400000b030000430400000b030000270400000803000047040000080300002b040000080300004b0400000803000027060000530600002706000054060000480600005406000027060000550600004a06000054060000d506000054060000c106000054060000d206000054060000280900003c090000300900003c090000330900003c090000150900003c090000160900003c090000170900003c0900001c0900003c090000210900003c090000220900003c0900002b0900003c0900002f0900003c090000c7090000be090000c7090000d7090000a1090000bc090000a2090000bc090000af090000bc090000320a00003c0a0000380a00003c0a0000160a00003c0a0000170a00003c0a00001c0a00003c0a00002b0a00003c0a0000470b0000560b0000470b00003e0b0000470b0000570b0000210b00003c0b0000220b00003c0b0000920b0000d70b0000c60b0000be0b0000c70b0000be0b0000c60b0000d70b0000460c0000560c0000bf0c0000d50c0000c60c0000d50c0000c60c0000d60c0000c60c0000c20c0000c60c0000c20c0000d50c0000460d00003e0d0000470d00003e0d0000460d0000570d0000d90d0000ca0d0000d90d0000cf0d0000d90d0000cf0d0000ca0d0000d90d0000df0d0000420f0000b70f00004c0f0000b70f0000510f0000b70f0000560f0000b70f00005b0f0000b70f0000400f0000b50f0000710f0000720f0000710f0000740f0000b20f0000800f0000b30f0000800f0000710f0000800f0000920f0000b70f00009c0f0000b70f0000a10f0000b70f0000a60f0000b70f0000ab0f0000b70f0000900f0000b50f0000251000002e100000051b0000351b0000071b0000351b0000091b0000351b00000b1b0000351b00000d1b0000351b0000111b0000351b00003a1b0000351b00003c1b0000351b00003e1b0000351b00003f1b0000351b0000421b0000351b00004100000025030000610000002503000042000000070300006200000007030000420000002303000062000000230300004200000031030000620000003103000043000000270300000103000063000000270300000103000044000000070300006400000007030000440000002303000064000000230300004400000031030000640000003103000044000000270300006400000027030000440000002d030000640000002d030000450000000403000000030000650000000403000000030000450000000403000001030000650000000403000001030000450000002d030000650000002d03000045000000300300006500000030030000450000002703000006030000650000002703000006030000460000000703000066000000070300004700000004030000670000000403000048000000070300006800000007030000480000002303000068000000230300004800000008030000680000000803000048000000270300006800000027030000480000002e030000680000002e030000490000003003000069000000300300004900000008030000010300006900000008030000010300004b000000010300006b000000010300004b000000230300006b000000230300004b000000310300006b000000310300004c000000230300006c000000230300004c00000023030000040300006c00000023030000040300004c000000310300006c000000310300004c0000002d0300006c0000002d0300004d000000010300006d000000010300004d000000070300006d000000070300004d000000230300006d000000230300004e000000070300006e000000070300004e000000230300006e000000230300004e000000310300006e000000310300004e0000002d0300006e0000002d0300004f00000003030000010300006f00000003030000010300004f00000003030000080300006f00000003030000080300004f00000004030000000300006f00000004030000000300004f00000004030000010300006f000000040300000103000050000000010300007000000001030000500000000703000070000000070300005200000007030000720000000703000052000000230300007200000023030000520000002303000004030000720000002303000004030000520000003103000072000000310300005300000007030000730000000703000053000000230300007300000023030000530000000103000007030000730000000103000007030000530000000c03000007030000730000000c03000007030000530000002303000007030000730000002303000007030000540000000703000074000000070300005400000023030000740000002303000054000000310300007400000031030000540000002d030000740000002d0300005500000024030000750000002403000055000000300300007500000030030000550000002d030000750000002d030000550000000303000001030000750000000303000001030000550000000403000008030000750000000403000008030000560000000303000076000000030300005600000023030000760000002303000057000000000300007700000000030000570000000103000077000000010300005700000008030000770000000803000057000000070300007700000007030000570000002303000077000000230300005800000007030000780000000703000058000000080300007800000008030000590000000703000079000000070300005a000000020300007a000000020300005a000000230300007a000000230300005a000000310300007a0000003103000068000000310300007400000008030000770000000a030000790000000a0300007f01000007030000410000002303000061000000230300004100000009030000610000000903000041000000020300000103000061000000020300000103000041000000020300000003000061000000020300000003000041000000020300000903000061000000020300000903000041000000020300000303000061000000020300000303000041000000230300000203000061000000230300000203000041000000060300000103000061000000060300000103000041000000060300000003000061000000060300000003000041000000060300000903000061000000060300000903000041000000060300000303000061000000060300000303000041000000230300000603000061000000230300000603000045000000230300006500000023030000450000000903000065000000090300004500000003030000650000000303000045000000020300000103000065000000020300000103000045000000020300000003000065000000020300000003000045000000020300000903000065000000020300000903000045000000020300000303000065000000020300000303000045000000230300000203000065000000230300000203000049000000090300006900000009030000490000002303000069000000230300004f000000230300006f000000230300004f000000090300006f000000090300004f00000002030000010300006f00000002030000010300004f00000002030000000300006f00000002030000000300004f00000002030000090300006f00000002030000090300004f00000002030000030300006f00000002030000030300004f00000023030000020300006f00000023030000020300004f0000001b030000010300006f0000001b030000010300004f0000001b030000000300006f0000001b030000000300004f0000001b030000090300006f0000001b030000090300004f0000001b030000030300006f0000001b030000030300004f0000001b030000230300006f0000001b030000230300005500000023030000750000002303000055000000090300007500000009030000550000001b03000001030000750000001b03000001030000550000001b03000000030000750000001b03000000030000550000001b03000009030000750000001b03000009030000550000001b03000003030000750000001b03000003030000550000001b03000023030000750000001b0300002303000059000000000300007900000000030000590000002303000079000000230300005900000009030000790000000903000059000000030300007900000003030000b103000013030000b103000014030000b10300001303000000030000b10300001403000000030000b10300001303000001030000b10300001403000001030000b10300001303000042030000b1030000140300004203000091030000130300009103000014030000910300001303000000030000910300001403000000030000910300001303000001030000910300001403000001030000910300001303000042030000910300001403000042030000b503000013030000b503000014030000b50300001303000000030000b50300001403000000030000b50300001303000001030000b5030000140300000103000095030000130300009503000014030000950300001303000000030000950300001403000000030000950300001303000001030000950300001403000001030000b703000013030000b703000014030000b70300001303000000030000b70300001403000000030000b70300001303000001030000b70300001403000001030000b70300001303000042030000b7030000140300004203000097030000130300009703000014030000970300001303000000030000970300001403000000030000970300001303000001030000970300001403000001030000970300001303000042030000970300001403000042030000b903000013030000b903000014030000b90300001303000000030000b90300001403000000030000b90300001303000001030000b90300001403000001030000b90300001303000042030000b9030000140300004203000099030000130300009903000014030000990300001303000000030000990300001403000000030000990300001303000001030000990300001403000001030000990300001303000042030000990300001403000042030000bf03000013030000bf03000014030000bf0300001303000000030000bf0300001403000000030000bf0300001303000001030000bf03000014030000010300009f030000130300009f030000140300009f03000013030000000300009f03000014030000000300009f03000013030000010300009f0300001403000001030000c503000013030000c503000014030000c50300001303000000030000c50300001403000000030000c50300001303000001030000c50300001403000001030000c50300001303000042030000c50300001403000042030000a503000014030000a50300001403000000030000a50300001403000001030000a50300001403000042030000c903000013030000c903000014030000c90300001303000000030000c90300001403000000030000c90300001303000001030000c90300001403000001030000c90300001303000042030000c90300001403000042030000a903000013030000a903000014030000a90300001303000000030000a90300001403000000030000a90300001303000001030000a90300001403000001030000a90300001303000042030000a90300001403000042030000b103000000030000b103000001030000b503000000030000b503000001030000b703000000030000b703000001030000b903000000030000b903000001030000bf03000000030000bf03000001030000c503000000030000c503000001030000c903000000030000c903000001030000b10300001303000045030000b10300001403000045030000b1030000130300000003000045030000b1030000140300000003000045030000b1030000130300000103000045030000b1030000140300000103000045030000b1030000130300004203000045030000b1030000140300004203000045030000910300001303000045030000910300001403000045030000910300001303000000030000450300009103000014030000000300004503000091030000130300000103000045030000910300001403000001030000450300009103000013030000420300004503000091030000140300004203000045030000b70300001303000045030000b70300001403000045030000b7030000130300000003000045030000b7030000140300000003000045030000b7030000130300000103000045030000b7030000140300000103000045030000b7030000130300004203000045030000b7030000140300004203000045030000970300001303000045030000970300001403000045030000970300001303000000030000450300009703000014030000000300004503000097030000130300000103000045030000970300001403000001030000450300009703000013030000420300004503000097030000140300004203000045030000c90300001303000045030000c90300001403000045030000c9030000130300000003000045030000c9030000140300000003000045030000c9030000130300000103000045030000c9030000140300000103000045030000c9030000130300004203000045030000c9030000140300004203000045030000a90300001303000045030000a90300001403000045030000a9030000130300000003000045030000a9030000140300000003000045030000a9030000130300000103000045030000a9030000140300000103000045030000a9030000130300004203000045030000a9030000140300004203000045030000b103000006030000b103000004030000b10300000003000045030000b103000045030000b10300000103000045030000b103000042030000b1030000420300004503000091030000060300009103000004030000910300000003000091030000010300009103000045030000b9030000a800000042030000b70300000003000045030000b703000045030000b70300000103000045030000b703000042030000b7030000420300004503000095030000000300009503000001030000970300000003000097030000010300009703000045030000bf1f000000030000bf1f000001030000bf1f000042030000b903000006030000b903000004030000b90300000803000000030000b90300000803000001030000b903000042030000b903000008030000420300009903000006030000990300000403000099030000000300009903000001030000fe1f000000030000fe1f000001030000fe1f000042030000c503000006030000c503000004030000c50300000803000000030000c50300000803000001030000c103000013030000c103000014030000c503000042030000c50300000803000042030000a503000006030000a503000004030000a503000000030000a503000001030000a103000014030000a800000000030000a80000000103000060000000c90300000003000045030000c903000045030000c90300000103000045030000c903000042030000c903000042030000450300009f030000000300009f03000001030000a903000000030000a903000001030000a903000045030000b40000000220000003200000a90300004b000000410000000a030000902100003803000092210000380300009421000038030000d021000038030000d421000038030000d221000038030000032200003803000008220000380300000b22000038030000232200003803000025220000380300003c220000380300004322000038030000452200003803000048220000380300003d0000003803000061220000380300004d220000380300003c000000380300003e000000380300006422000038030000652200003803000072220000380300007322000038030000762200003803000077220000380300007a220000380300007b220000380300008222000038030000832200003803000086220000380300008722000038030000a222000038030000a822000038030000a922000038030000ab220000380300007c220000380300007d2200003803000091220000380300009222000038030000b222000038030000b322000038030000b422000038030000b5220000380300000830000009300000dd2a0000380300004b300000993000004d300000993000004f30000099300000513000009930000053300000993000005530000099300000573000009930000059300000993000005b300000993000005d300000993000005f3000009930000061300000993000006430000099300000663000009930000068300000993000006f300000993000006f3000009a3000007230000099300000723000009a3000007530000099300000753000009a3000007830000099300000783000009a3000007b300000993000007b3000009a30000046300000993000009d30000099300000ab30000099300000ad30000099300000af30000099300000b130000099300000b330000099300000b530000099300000b730000099300000b930000099300000bb30000099300000bd30000099300000bf30000099300000c130000099300000c430000099300000c630000099300000c830000099300000cf30000099300000cf3000009a300000d230000099300000d23000009a300000d530000099300000d53000009a300000d830000099300000d83000009a300000db30000099300000db3000009a300000a630000099300000ef30000099300000f030000099300000f130000099300000f230000099300000fd30000099300000488c0000f4660000ca8e0000c88c0000d16e0000324e0000e55300009c9f00009c9f000051590000d19100008755000048590000f661000069760000857f00003f860000ba870000f88800008f900000026a00001b6d0000d9700000de7300003d8400006a910000f1990000824e000075530000046b00001b7200002d8600001e9e0000505d0000eb6f0000cd85000064890000c9620000d88100001f880000ca5e0000176700006a6d0000fc720000ce900000864f0000b7510000de520000c4640000d36a000010720000e776000001800000068600005c860000ef8d0000329700006f9b0000fa9d00008c7800007f790000a07d0000c9830000049300007f9e0000d68a0000df580000045f0000607c00007e80000062720000ca780000c28c0000f7960000d8580000625c0000136a0000da6d00000f6f00002f7d0000377e00004b960000d25200008b800000dc510000cc5100001c7a0000be7d0000f183000075960000808b0000cf620000026a0000fe8a0000394e0000e75b000012600000877300007075000017530000fb780000bf4f0000a95f00000d4e0000cc6c000078650000227d0000c35300005e5800000177000049840000aa8a0000ba6b0000b08f0000886c0000fe620000e5820000a063000065750000ae4e000069510000c951000081680000e77c00006f820000d28a0000cf910000f55200004254000073590000ec5e0000c5650000fe6f00002a790000ad9500006a9a0000979e0000ce9e00009b520000c6660000776b0000628f0000745e000090610000006200009a640000236f00004971000089740000ca790000f47d00006f800000268f0000ee840000239000004a93000017520000a3520000bd540000c8700000c2880000aa8a0000c95e0000f55f00007b630000ae6b00003e7c000075730000e44e0000f9560000e75b0000ba5d00001c600000b2730000697400009a7f00004680000034920000f696000048970000189800008b4f0000ae790000b4910000b8960000e1600000864e0000da500000ee5b00003f5c000099650000026a0000ce71000042760000fc8400007c9000008d9f0000886600002e960000895200007b670000f3670000416d00009c6e000009740000597500006b780000107d00005e9800006d5100002e620000789600002b500000195d0000ea6d00002a8f00008b5f000044610000176800008773000086960000295200000f540000655c0000136600004e670000a8680000e56c000006740000e2750000797f0000cf880000e1880000cc910000e29600003f530000ba6e00001d540000d071000098740000fa850000a3960000579c00009f9e000097670000cb6d0000e8810000cb7a0000207b0000927c0000c072000099700000588b0000c04e0000368300003a52000007520000a65e0000d3620000d67c0000855b00001e6d0000b46600003b8f00004c8800004d9600008b890000d35e000040510000c05500005a58000074660000de5100002a730000ca7600003c7900005e790000657900008f79000056970000be7c0000bd7f000012860000f88a000038900000fd900000ef980000fc98000028990000b49d0000de900000b7960000ae4f0000e75000004d510000c9520000e4520000515300009d550000065600006856000040580000a8580000645c00006e5c000094600000686100008e610000f26100004f650000e26500009166000085680000776d00001a6e0000226f00006e7100002b72000022740000917800003e790000497900004879000050790000567900005d7900008d7900008e790000407a0000817a0000c07b0000f47d0000097e0000417e0000727f000005800000ed8100007982000079820000578400001089000096890000018b0000398b0000d38c0000088d0000b68f000038900000e3960000ff9700003b98000075600000ee42020018820000264e0000b551000068510000804f00004551000080510000c7520000fa5200009d5500005555000099550000e25500005a580000b35800004459000054590000625a0000285b0000d25e0000d95e0000695f0000ad5f0000d86000004e610000086100008e61000060610000f261000034620000c46300001c640000526400005665000074660000176700001b67000056670000796b0000ba6b0000416d0000db6e0000cb6e0000226f00001e7000006e710000a777000035720000af7200002a73000071740000067500003b7500001d7600001f760000ca760000db760000f47600004a77000040770000cc780000b17a0000c07b00007b7c00005b7d0000f47d00003e7f00000580000052830000ef83000079870000418900008689000096890000bf8a0000f88a0000cb8a0000018b0000fe8a0000ed8a0000398b00008a8b0000088d0000388f00007290000099910000769200007c960000e396000056970000db970000ff9700000b9800003b980000129b00009c9f00004a28020044280200d53302009d3b0000184000003940000049520200d05c0200d37e0200439f00008e9f0000d9050000b4050000f2050000b7050000e9050000c1050000e9050000c2050000e9050000bc050000c1050000e9050000bc050000c2050000d0050000b7050000d0050000b8050000d0050000bc050000d1050000bc050000d2050000bc050000d3050000bc050000d4050000bc050000d5050000bc050000d6050000bc050000d8050000bc050000d9050000bc050000da050000bc050000db050000bc050000dc050000bc050000de050000bc050000e0050000bc050000e1050000bc050000e3050000bc050000e4050000bc050000e6050000bc050000e7050000bc050000e8050000bc050000e9050000bc050000ea050000bc050000d5050000b9050000d1050000bf050000db050000bf050000e4050000bf05000099100100ba1001009b100100ba100100a5100100ba10010031110100271101003211010027110100471301003e1301004713010057130100b9140100ba140100b9140100b0140100b9140100bd140100b8150100af150100b9150100af150100351901003019010057d1010065d1010058d1010065d1010058d1010065d101006ed1010058d1010065d101006fd1010058d1010065d1010070d1010058d1010065d1010071d1010058d1010065d1010072d10100b9d1010065d10100bad1010065d10100b9d1010065d101006ed10100bad1010065d101006ed10100b9d1010065d101006fd10100bad1010065d101006fd101003d4e0000384e0000414e000022010200604f0000ae4f0000bb4f0000025000007a50000099500000e7500000cf5000009e3400003a0602004d5100005451000064510000775100001c050200b9340000675100008d5100004b05020097510000a4510000cc4e0000ac510000b5510000df910200f551000003520000df3400003b52000046520000725200007752000015350000c7520000c9520000e4520000fa52000005530000065300001753000049530000515300005a530000735300007d5300007f5300007f5300007f5300002c0a020070700000ca530000df530000630b0200eb530000f1530000065400009e540000385400004854000068540000a2540000f6540000105500005355000063550000845500008455000099550000ab550000b3550000c2550000165700000656000017570000515600007456000007520000ee580000ce570000f45700000d5800008b5700003258000031580000ac580000e4140200f2580000f7580000065900001a5900002259000062590000a8160200ea160200ec5900001b5a0000275a0000d8590000665a0000ee360000fc360000085b00003e5b00003e5b0000c8190200c35b0000d85b0000e75b0000f35b0000181b0200ff5b0000065c0000535f0000225c000081370000605c00006e5c0000c05c00008d5c0000e41d0200435d0000e61d02006e5d00006b5d00007c5d0000e15d0000e25d00002f380000fd5d0000285e00003d5e0000695e000062380000832102007c380000b05e0000b35e0000b65e0000ca5e000092a30200fe5e0000312302003123020001820000225f0000225f0000c7380000b8320200da610200625f00006b5f0000e33800009a5f0000cd5f0000d75f0000f95f0000816000003a3900001c39000094600000d4260200c7600000486100004c6100004e6100004c6100007a6100008e610000b2610000a4610000af610000de610000f2610000f6610000106200001b6200005d620000b1620000d4620000506300000c2b02003d630000fc6200006863000083630000e4630000f12b020022640000c5630000a96300002e3a0000696400007e6400009d640000776400006c3a00004f6500006c6500000a300200e3650000f866000049660000193b000091660000083b0000e43a00009251000095510000006700009c660000ad800000d9430000176700001b670000216700005e67000053670000c3330200493b0000fa6700008567000052680000856800006d3402008e6800001f680000146900009d3b000042690000a3690000ea690000a86a0000a3360200db6a0000183c0000216b0000a7380200546b00004e3c0000726b00009f6b0000ba6b0000bb6b00008d3a02000b1d0200fa3a02004e6c0000bc3c0200bf6c0000cd6c0000676c0000166d00003e6d0000776d0000416d0000696d0000786d0000856d00001e3d0200346d00002f6e00006e6e0000333d0000cb6e0000c76e0000d13e0200f96d00006e6f00005e3f02008e3f0200c66f0000397000001e7000001b700000963d00004a7000007d70000077700000ad7000002505020045710000634202009c710000ab43020028720000357200005072000008460200807200009572000035470200144802007a7300008b730000ac3e0000a5730000b83e0000b83e0000477400005c7400007174000085740000ca7400001b3f000024750000364c02003e750000924c0200707500009f21020010760000a14f0200b84f020044500200fc3f000008400000f4760000f3500200f250020019510200335102001e7700001f7700001f7700004a770000394000008b77000046400000964000001d5402004e7800008c780000cc780000e340000026560200567900009a560200c55602008f790000eb7900002f410000407a00004a7a00004f7a00007c590200a75a0200a75a0200ee7a000002420000ab5b0200c67b0000c97b000027420000805c0200d27c0000a0420000e87c0000e37c0000007d0000865f0200637d000001430000c77d0000027e0000457e000034430000286202004762020059430000d96202007a7f00003e630200957f0000fa7f000005800000da6402002365020060800000a8650200708000005f330200d5430000b2800000038100000b4400003e810000b55a0000a7670200b5670200933302009c33020001820000048200009e8f00006b440000918200008b8200009d820000b3520000b1820000b3820000bd820000e68200003c6b0200e58200001d83000063830000ad83000023830000bd830000e78300005784000053830000ca830000cc830000dc830000366c02006b6d0200d56c02002b450000f1840000f384000016850000ca730200648500002c6f02005d45000061450000b16f0200d27002006b450000508600005c8600006786000069860000a9860000888600000e870000e286000079870000288700006b87000086870000d7450000e187000001880000f9450000608800006388000067760200d7880000de88000035460000fa880000bb340000ae78020066790200be460000c7460000a08a0000ed8a00008a8b0000558c0000a87c0200ab8c0000c18c00001b8d0000778d00002f7f020004080200cb8d0000bc8d0000f08d0000de080200d48e0000388f0000d2850200ed85020094900000f1900000119100002e8702001b91000038920000d7920000d89200007c920000f993000015940000fa8b02008b95000095490000b7950000778d0200e6490000c3960000b25d000023970000459102001a9202006e4a0000764a0000e09700000a940200b24a0000969402000b9800000b98000029980000b6950200e2980000334b000029990000a7990000c2990000fe990000ce4b0000309b0200129b0000409c0000fd9c0000ce4c0000ed4c0000679d0000cea00200f84c000005a102000ea2020091a20200bb9e0000564d0000f99e0000fe9e0000059f00000f9f0000169f00003b9f000000a602002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f756e69636f64652d6e6f726d616c697a6174696f6e2d302e312e32322f7372632f6c6f6f6b7570732e7273000000981014006d0000003600000046000000981014006d000000360000003400000000000000030000000000000001006c010e00ef040200000000000000020000000100030097006501000000008501000001000000f4030000000000000000040091000000dd0001006c0200000b000000e000bc000300130201000000c80003001c00fc000000000011003201000000000b0190007404d6000000000003000d000500000006001900540032014c0017000600480003000000000006000c0003000000b10001008c0000001b00c00007000200000012000000000006000100be01c80000007d0000000a0000000000b4000200080005004401db0001000600000000000d00140000004f000200000003003200000005000e007c002c00060000000000070000005f0005000f00670000000100340000000000000090001200000000001e004c008900a800000004001f00000000000100990018000d0003000700050019000200000004000100030090000b00290055000000510000000200d0007a0066000000950007000000000000000000010000008d000f00210056000a001b0000000000080007007c0005000000620002001300060000004f000000000032002f0004000d00a0000400080024001f0000000000820045000000610000001d000100000001000000070017000b000000000000000b0008000800000000003d0000009600000000000000080000000000000004000000030007002c000000000014002400020002000000020000001200010000000200000025000a00010066000b00080000000c0010000200030008000400060001000400e30023002000070000000f001e0023003d000400000001000000030025000000010031009d000000000004000100000000000800000000002600000000000200000002000000030000001b0000000200000001000a000300010002000c000c00010001000000110004003d0002001b00020000000c0006000600000000000300000009002c000000090037002d00000012002300000000001c000000260010001500020000000b000000040014000500130007001c000300360000000800010019000200000001000000000004000100080002000a00060013000000000000002f0001000000160005000c000c000100100003000e00000001000d0028000000000001000000000004001000210000000100030000002300000001000000000000000d0001000000000006006b000000140000000000060012000000020000002a0001000b000100060009000800010000002b0000000800070000000f00160000000000440000000100000000000c001900250002001f000f000c0001001f000a00000038000e000f000c002500000006000e0000000800000002000000000001000900010016000000000000000300150062000100000000000200000000003d0000000300010001000100000001000000290004002c0001000000000000000000220000001400280000000700040003000600000001000d002a00000000004400000008000000020001000b000000000000000000040003001c000500000006000200000011000600070000000200280007001d000b0005002e001100000001000c00000007002f000000000005000a000000080006000000000007000100080020000c0000001a00050000002600260002000b00080000000400050002000000050012000000050000000100060009000100030015000300000000000200000003000000160000001000030000001b00020000000900000009000000090000000000010001000c002600010000000000040000000c001e00000001003600060003000000000001000000060000000000000008000c00000000000100000000000400020007000100020007000d0002000000000000000200050000000800050000000000030006000000000008000100050001000300030010000b00070000000f00110000001800000000000f000200070001000000000000000c001800000017000000010000002600030000001b000000080003000300000000000200060000000b001b000900000003000000000001000100010005000000060000000400030000000000000000000000090009000000020007000e00230003000100000000000f000000080022000e001000070003000c00190001000a000200000003001800010016000a00000002000800000023000000000006000200000004000d001b000000040038000000000011000e00000000000000090000002100130002001800040001001000000002000000060014000a000000000004000e000000000005000400000020001d0001000000090000000100010004000200000001000000000024000100000009000800000001000a00010000000400000013000500000001000000010000000000020004000000000005000100090002000500000000000000000000000a000000000010000100040000000000010004000000010002000400030000000400140007000a000200060000000200010008000700000000000000140001001000000000000500010006000500030000000900020004000200000000000c0019000000000000000100000000000f0008000d0000000300010000000900140017000000000000000000030001000000050015000100190001000100010001000300000006000300000011000500000004000c00030000000700000000000300040003000b000000000006000800030001000000000001000d00030000000700000001000000000000000900010000000200010009000a000800010007000300000003000000000004000000040001000b000000130006000700000000000800070007000000030000000200030000000100010001001b0003000200090002000100020000000400010000000600000000000100050000000f0001000600080004000000000003000b000200050001000200130013000000090002000000000000000000000000000000000004000200210000000600030001000100050003000000100022000b0000000800000000000300040001001a00020000000000000002000100000000000200000000001200010000000200000000000100000002002100000002000d0001000300050001000c0010000000240000000000060006001b0001000d0000000100000001000000000007000200000005002400060001000e0000000b000e000700000000000000030000000000020018000300030001000000000004000400000001000000140006000b0000000200010002000600060000000600000000000100020002000100020000000100080001000c0000000700020003000100000006000100070011000300000001000a00020002000800060008000000000004000800010007000200020006000000060000000000070001000e0002000200320007000b00040004000000060000000800000000000000090002001b0000000000000001000c000200010002000f0000000000000003000c0005000000000000000b0000000200010003000000010006000a000100000008000000040001000000010000000e00020001000100010007000100030001000200010003000200000011000300020003000000000003000400000000000100200000000000010000000000070002000000120000000a0001000200000000000000000002000000000004000f00000007000400020012000000010004000200030000000100170001000100050000000100000000000b00000001000000000000000400000000000900000004000000000004000a00000000000600070002000300000000000000000006000b0000000000000000000000010000000c00080001000d000b00020000000000000001000500010000000000020003000300000000000800000001000900110001000c0000000000000004000000000000000100010017000100000005000b0001000400010006001d000000010004000200090002000f001400020001000700010001000700020000000000000000000400130002000100010003000000020002000000030001000000050001000100000001000100020000000000030000000a000600010006000700010000000000020007000400000000000c00020000000a000100000000000a00000006000300010000000d0003000500000002000a0000000b000100060022000000050001000000020000000000120004000200000000000c00000001000000000000000000000000000000000001000400020001000800040006000100000003000a0000000500010000000000030000000600000000000300000004000000000000000e00010001000000060000000800000000000a0001000000040000000400010000000000000000000000010000001700040000000b00030005000400000003000f000600010001000700040003000100030004000100010000000000000002000100000005000000020000000000030001000000050000000d0006000100000000000700000000000a00030002000a00010007000100000001000000050003000000050002000100000002000000010001000400090005000100010006000000090001000a0002000200000000000200020007000900000010001c00040000000000030003000d0001000300000000000c000700010003000700080003000600000003000100010000000100010004000a0005000000010013000200000000000100020001000e0001000c000100010009000000000001000c0000000100000002000400030001000c000c00030000000c000b000000010001000a0001000b00000000001c00000000000000010002000800030000000500000003000300000004000000020006000f000000010004000000000011000b0004000500040000000d0004000400030001000000000002000000000000000a000100130006000000070007000100010004000400000000000300000007000000020001000000020000000200020000000000000003000400050010000000070000000a00110000000000010001000000000000000000000001000b0001000000000000000200020000000a000000030000000700060001000000040002000200000001000200030004000000040000000100000002001000050000000000010000000a0004000000040000000000000006000b000b00050000000000000000000000090000000200040000000500020000000300000000000000020000000100000004000600010004000100000001000700000006000000000002000200000006000500080000000100020001000000040007000000010007000000020002000b0001000200060001000000000000000000020004000000000003000100070000000100010000000100000000000b00000000000000060000000100000004000c000200000001000100020004000e000000000000000000000002000100000004000300180000000100000002000500010002000000010003000400000000000500020000000000010000000000000000000000020003000000010000000000010003000000000000000100010000000000140004000b00120000000000020000000100000000000000010003000b000300000001000200000010000d0001000100070006000100010002000000000001000300020001000300010000000000000008000400020006000900050000001600010004000000030003000400010000000000020000000100000002000d00020000000b0006000a00030000000500000001000000000000000500010000000a0000000200000002000200050001000200000002000200050000000100000000000300000003000200000000000000010001000100000019000000000003000000010000000100050004000100040000000100030004000600010001000400030004000000040005000900000001000900020001000000000000000c00010000000000030002000300020001000000040000000400070003000100000001000100000000000100050006000900000002001b00020000000900000000000600000000000000030000000100060002000100060001000b00030006000000000000000000000000000200000000000200020000000000000000000000030000000300030005000b000000000001000000000002000b0003000200130001000100080003000200050001000000010001000500000001000300040005000000020000000e000100000000000500030005000000010002000000000008000000010002000000090000000000000006000000030003000900070000000800000001000300000003000500040001000200020000000400030000000700050003000100000004000100000003000000080002000400040000000900010004000000060004000000000000000a0001000000010006000000010006000300020002000000010001000300050000000000020004000100000000000100060000000500040004000100010004000100020000000200020005000d000100000002000000000002000000010001000000000001000400000000000700000005000000000000000100040000000900020004000000000001000000030000000a00000003000100050001000000000005000a0001000200000002000400090001000400050000000000010003000900020004000800020000000000030008000000000002000100030002000100000000000000010004000100010000000100000001000000000001000200090001000100050002000000010000000000020000000300000001000200000004000200040002000200000001000a00000001000000000000000000030000000300020005000100020001000200000004000200010000000100000000000100010003000000000000000000000002000000020003000200000000000000050001000000010001000000070001000100030000000300010001000000090002000000010001000700060002000000060000000400000002000700040001000100000000000200010000000400030000000a0000000000020002000100010003000200010001000000030000000000000001000600010003000b000b00000004000100000000000000000005000200000000000100040000000000010000000000050003000200030008000100060001000200000001000400050002000000060001000100000002000100020002000000000004000000010002000000050002000200060001000500030002000500020001000100000004000200000002000000000005000000000000000100000002000000000000001500020000000000010002000700030003000300010001000200060001000700000000000000000004000000030002000000000001000100030001000100000001000100050000000100050004000800020001000000010000000100010000000100000000000000000001000300010001000000000004000300010004000000040000000200020003000000010000000000000001000500000002000400020001000600000001000f000000020005000000020000000300040002000400030005000100010001000700000007000200000000000600000000000200000000000000000003000000030000000100020007000100070003000100000002000200000005000000030000000000020001000100010002000200020000000100040002000100020003000000020002000400020001000200020000000000010000000200000007000100000001000400030003000100050001000000000003000000010006000100000002000d00010000000000040000000f00020000000a0002000100000001000000040002000000030000000200000007000200010000000000030000000400000000000b00000000000a0005000900010000000300010000000c00000000000000000000000100000002000100020000000100030002000000070000000000030000000000060002000000000006000000000004000200010001000000070002000400010005000000000001000200000002000300080001000600020001000100000003000500000002000100010003000000030007000100000001000000000000000300000001000100010001000600050000000500040000000000030001000200000000000200000002000200000002000000040001000000020000000400010001000400020001000000010002000100030000000000010000000b00020000000000030003000500010001000000010002000100000000000000080001000400030000000700010003000100000002000300030001000000010001000100000002000000010001000100040002000500000001000100000001000200000000000000000003000100020001000300010000000500020004000000030000000000010003000700000006000400000001000200020003000500000008000300030002000100070002000100010001000100000008000000010003000000020001000000010002000000000006000700010000000300000000000000010002000000000001000100010000000100040002000000000001000000000000000500020003000100020000000600010000000100000000000000000002000000020003000000020007000100000000000200000000000000000000000100010000000000020000000100000004000200000011000500040000000400000000000200000007000000010000000000010005000100020002000e000000000002000100000001000000030001000200010000000a00010004000000050001000100010002000100010001000000000001000800010001000000010000000000000000000100030001000f000100020001000100000000000200010000000000030000000100000000000100000005000700020002000600000001000000020001000400000002000100030002000200010000000300020004000300010000000100000001000100030000000100000002000600050001000900000003000100000006000000000003000000010000000200020000000300010000000100000000000800010002000100000002000400010002000100050000000100020002000100000001000100020001000000020003000100010003000000010001000000050000000200060001000000040000000100000000000100020000000300000001000100000000000200000002000000010000000000000002000000000001000300020000000000000001000000040000000000010001000000020000000200010001000100000000000000000000000b00040000000100000001000500000001000100000005000100000002000400010001000200010001000100000000000000000000000600000002000300000001000200030000000000030002000400000003000000000001000000030000000d0002000000030001000000000001000100030000000100000004000d000400010006000200030000000300010000000200010002000000010003000100020000000100020000000300010001000000010002000100030002000000000001000100000001000100030004000100020003000000020003000200010001000700020000000100000000000200000002000500010001000000000001000100020000000100030000000100020000000000050000000200000001000000010003000100000000000300050005000000010003000100020000000000030002000000000000000000040000000100060000000100010002000100000001000400010002000100080001000100000000000400000000000400000000000300000002000100070001000000060000000100000000000100000006000300020000000000000000000500010000000300000001000000010001000100010000000000000000000000000004000000010000000300020000000000000003000800070000000000000002000100000000000000000002000000010002000000010000000000010001000200030001000100000002000700040000000000060000000000000000000100000002000100000002000100030001000200000001000400020002000100000002000000000000000100000006000800050001000000080000000600010000000c00030005000000020001000500010001000400030001000100050006000100020007000300020000000000010000000100020001000100010000000100020002000000020003000100010000000100000001000500050002000000000001000200040001000000000001000300080001000600000000000300010001000100010002000100000005000000010000000500010004000100080000000100040000000000020000000300010000000100020002000000020000000000010000000500030001000200030001000c000300000001000000000000000000000003000000010005000300020001000000030002000000e5d501009012010030d40100f3100100a0fc0000c70b020069d701001214010055fe0000e00e010072fd00006e0d0300b2000000060001003b33000075070500aefb0000190a010027d70100d01301006d2400003d0202002c330000360704009ad701004314010081fd00009b0d030007ff0000af0f01006bd7010014140100b12f00000a040100efd40100a6110100933100009b040100ecfb00003d0a030010d40100d3100100772100000f020400fafc0000800c02008eee01004b150100d8fe0000760f0100b8320000200602007ffb0000e8090100f4d501009f120100e03300002f09020055e00100cc140100acff0000541001009a1e0000ea000200f7fd0000840e040093d4010055110100852000005401010048210000b1010100e9d40100a01101003cd70100e5130100a81d0000d2000100bafe0000580f01008ed40100501101006cee01002e15010028d60100d3120100d1d601007a130100302100009d0101006cff000014100100b4d701005d140100a41d0000ce00010061e00100d814010024320000270503002932000036050300ffd70100a614010057d6010002130100e9fe0000870f0100f63200007b06010013fc00009c0a02006ed40100301101007224000047020200bad601006313010005fd0000960c0200d73300001809020017fc0000a40a020070210000010201001cfd0000c40c0200823300004b08020064d701000d14010095ee010052150100242f00007d030100e53200006a06010009d40100cc100100431d00009d00010097d5010042120100812f0000da0301004afc00000a0b020013d70100bc130100a1d701004a14010074ff00001c1001007dff000025100100832400007e020400233300001907030059e00100d014010058d501000312010037fc0000e40a0200642f0000bd03010058fe0000e30e0100ee320000730601006afc0000560b020066d40100281101007e2000004d01010050e00100c7140100edd501009812010097fc0000b00b030091d701003a140100bdd70100661401004d31000058040100aa330000ab0803000cfc00008e0a0200472f0000a0030100303200004b050300c6fd0000640e030014d60100bf12010091320000f205010031fe0000bb0e010006d70100af13010078fe0000020f02005a320000a0050200842f0000dd030100a1fc0000c90b0200bb240000180301009420000062010100f8d40100af110100fefc0000880c020087d4010049110100fdd60100a613010059d501000412010074200000430101001221000087010100d5fc0000310c0200062f00005f030100ba070100c2100100f4a700008b090100bf2400001c0301009cd401005e1101003cd60100e7120100a23200000306010020f20100241601000fd60100ba120100d53200005a060100ecfc0000610c020049fc0000080b020070fe0000f60e0200452f00009e030100b8330000d2080200e202000055000100ba2f000013040100c63200003c06020087ee010045150100b3ff00005b10010071fb0000da0901000bff0000b30f010026fd0000d80c020063fc0000410b0300313100003c0401006fff000017100100b924000016030100b132000012060200a0fd0000f20d03002ed70100d71301004dd60100f81201008ffb0000f80901003ce00100b314010039fd0000fe0c02008bfd0000b90d03009a070100a310010095fb0000fe090100af070100b81001006cf101000a16020093d701003c14010037d40100fa10010082320000e3050100be000000150003007d2c000055030100c8fe0000660f010099fc0000b60b03007d3300003f08020090320000f10501000d2f000066030100bed6010067130100c6d501007112010038ff0000e00f0100a9fd00000d0e030090d601003b1301002dd40100f010010024d50100d6110100f50300006c0001008fd601003a130100afd501005a1201005efd0000320d0300f7fe0000990f0300e83300003f090200ccd40100831101002fd40100f210010010fe0000ad0e01007ed5010029120100b7070100bf10010099d401005b1101000fee0100f314010096fc0000ae0b0200d2d4010089110100e9ff000085100100a5ff00004d10010099320000fa050100c4d501006f1201005cfe0000e70e01007f01000022000100ead7010091140100b0d401006a110100bed5010069120100d93300001e090300e73200006c060100e2d601008b130100adff000055100100aefc0000e30b0200dafc00003b0c02001bfc0000ac0a0200622f0000bb0301000a320000c6040300f90300006d000100c1fd0000550e0300722f0000cb0301006d310000780401002b3200003c05030057210000c901030059d60100041301003c1d0000960001003e330000830704007e2100001d0201001bf10100a915030074ee01003515010058d401001a110100fafb0000670a0300b3fe0000510f01005ffb0000c8090100c92f0000220401005a31000065040100a9d401006411010031fd0000ee0c02003931000044040100b01d0000da000100f3d40100aa110100cffc0000250c020080fb0000e90901006efc00005e0b020068d7010011140100b6020000440001003a33000071070400c9d70100721401003cf10100eb150100a2d601004d130100062000001901010045d401000811010063d701000c140100fad50100a5120100413200007e0503004afe0000d30e02006d320000b9050100c2d601006b1301007dfd00008f0d03007033000020080300bbd60100641301008fd7010038140100e6d401009d11010012ff0000ba0f010005fb00009f0902001bee0100ff14010009d60100b412010079fe0000040f0200f6fb00005b0a030080d701002914010038fd0000fc0c0200ded4010095110100823100008d04010048fe0000d00e01005efe0000e90e01001cee01000015010019330000ee0606003f32000078050300032f00005c03010066d5010011120100f3fc0000700c030081d501002c120100ebd601009413010047e00100be140100013300008b060400a82f0000010401009b240000c202030070ff00001810010019f201001d16010041d4010004110100e9fc00005b0c0200cd3200004d0603000dd70100b613010061ff00000910010096240000b302030016d40100d9100100903300006a08020056d70100ff1301004ae00100c11401006bfc0000580b020050fc0000160b020072d501001d120100ceff000071100100122f00006b03010095ff00003d10010099fb0000020a010046ff0000ee0f0100b7fd0000370e030056210000c601030052ff0000fa0f010041f20100431603000fd40100d210010040d4010003110100f10300006900010078200000470101006cd60100171301003ef10100ed15010024fc0000be0a020096fe0000340f010060d4010022110100c9d60100721301003033000049070300952f0000ee0301001ed70100c71301001ed50100d0110100820701008c10010026fc0000c20a02001efd0000c80c020045210000ae0101007b320000d4050200bcfc0000ff0b020039ff0000e10f01009cfc0000bf0b020062fe0000ed0e01001cd40100df10010091d601003c13010088d401004a1101004fee01001e150100e4d501008f1201003de00100b414010055fd0000170d0300bdfc0000010c020097320000f8050100e0d501008b120100923100009a040100d2320000570601009e2f0000f70301001afd0000c00c0200e63200006b060100afee010065150100d624000033030100f4fe0000920f010072ee010034150100d3d501007e1201000cfd0000a40c02006bd60100161301005aff00000210010057fe0000e20e01006afb0000d30901004cd401000f110100742400004b020300b3fd00002b0e030092fb0000fb0901009820000066010100a9d5010054120100b62400001303010026d60100d112010069ab00009209010030d60100db1201006cfb0000d50901006fd7010018140100553100006004010097fe0000350f0100bb1d0000e5000100bd330000dc0802004cd50100f81101002421000098010100d23300000b090300363200005d05030012f101008e150300371d00009200010032010000180002009e320000ff0501005ad6010005130100f8fd0000880e0400850300005c000300712f0000ca03010061ee0100271501003dfe0000c70e0100533100005e040100ccfc00001f0c020003320000b10403003ffe0000c90e010050d50100fc110100e9d601009213010075d6010020130100f40300006b0001003ed50100ef1101005c31000067040100ac3200000d060100cd2400002a030100e6ff00008310010066310000710401006dee01002f150100d324000030030100eeff00008a10010077d701002014010055ff0000fd0f0100ded501008912010093d501003e1201002bee01000a15010086d401004811010071fd00006b0d0300f9fe00009f0f03006a320000b6050100d633000015090300453300009b070300d902000049000200e4fb0000310a010049310000540401000dd40100d010010035f2010039160100ded6010087130100770600007400020056d60100011301003d1d000097000100f0d601009913010034fe0000be0e01009cd601004713010076fe0000fe0e0200af1d0000d9000100c50100002600030039d70100e2130100e433000037090200edd6010096130100d8d601008113010081fc0000840b0200cdfe00006b0f010026d70100cf13010051e00100c81401002cfc0000ce0a0200f3d601009c1301003bfc0000ec0a0200e7fc0000570c0200b1330000c408020061210000e401020089fe0000230f02003fd60100ea120100c9d501007412010066320000b205010000fd00008c0c02004c1d0000a6000100e3d701008a1401002bd60100d6120100aefd00001c0e03009c330000860802008cfc00009a0b020049d401000c110100e2ff00007e1001002f2200002702020062fc00003e0b03000ad70100b3130100b32f00000c04010039f201003d160100dc32000061060100add701005614010003330000940603008b240000980202006831000073040100f0fd00006a0e03008bff000033100100c1d501006c1201000f320000d604040045f10100f415010018f10100a0150300a0ff0000481001005a330000e607020032d60100dd120100eb330000470903002021000091010200da2400003703010028ff0000d00f0100aafe0000480f0100ad2f000006040100a82000006b010200f33300005f090300e23200006706010018330000ea06040035ee010013150100cdd50100781201005f320000aa05020065330000ff0703004f1d0000a8000100e72400004403010076fc00006e0b0200ddfe00007b0f0100cafc00001b0c02008b2000005a0101004ef101000116030089ee0100471501007d2100001c02010070d7010019140100b8d4010072110100a5fc0000d10b020001d70100aa13010053320000920502008efe00002c0f010056fc0000220b020069d401002b1101009433000075080300e2fb00002f0a01004820000038010200f9fc00007e0c0200b30e00007a000200c72f000020040100763300002f080200840701008e100100add601005613010080ff00002810010098d401005a11010041f10100f0150100a53300009d08020083d601002e130100bafd0000400e03001021000085010100dcd6010085130100bfd4010077110100d6d701007d14010026f201002a1601000dd60100b8120100252000002201020047f201005516030090fe00002e0f01000d330000b90604005afb0000c3090100a72f000000040100bb330000d80802000bd70100b4130100dd0200005100020095d701003e14010088240000920202004cfc00000e0b020099d5010044120100e3fc00004f0c0200bbd50100661201008c2f0000e5030100fed70100a51401002cd40100ef10010078ff0000201001007ad60100251301002cd70100d513010068ff0000101001007a310000850401000fd70100b8130100c932000042060300dd0e00007e000200f1d501009c120100c2d401007a11010024ff0000cc0f01009aff00004210010071d601001c130100cfff0000721001000b2f000064030100cc3200004b060200fad60100a313010016d60100c112010015fb0000a7090200e7fe0000850f010096ff00003e100100d203000061000100d9d5010084120100fd1f00000f010200b1fb00001d0a0200a3fc0000cd0b02007f2f0000d8030100422f00009b03010027fc0000c40a0200a7ee01005e1501002d2100009b010100351d0000900001005ce00100d3140100b2fc0000eb0b02007efc00007e0b02009d2f0000f6030100f93300007109030006d60100b11201005bd50100061201002fd60100da1201009f2f0000f8030100bc1d0000e60001003bff0000e30f0100d83200005d06010068d5010013120100e533000039090200822f0000db030100a7fe0000450f01005dd5010008120100acd4010067110100b22400000703030037fd0000fa0c0200802f0000d9030100dfd401009611010073fb0000dc090100c7fd0000670e0300481d0000a2000100b0fb00001b0a020004d70100ad13010081d40100431101005b2f0000b403010034e00100ab140100b2020000400001001dd40100e0100100cefc0000230c0200a8330000a5080400e4d601008d130100c7d7010070140100b63200001c06020018320000fa040400f9fd00008c0e030007fd00009a0c020069ff000011100100963100009e040100ecd7010093140100defc0000430c020074320000c605020011fd0000ae0c0200b9fd00003d0e0300cdfc0000210c0200a22f0000fb03010021fb0000ae09010001d40100c41001000dee0100f11401008d3300006408020036fd0000f80c020044fc0000fe0a020073d501001e1201007c320000d605050087d70100301401001d2f000076030100cad4010081110100322f00008b03010043d4010006110100c5fe0000630f010037f201003b1601009ffb0000080a01002e3300003f070600cc2400002903010062210000e6010300b6ff00005e1001009bfb0000040a0100ce1f0000fa0003008e31000099040100fa3200007f060100db32000060060100e5fe0000830f010041fe0000cb0e0100dfd501008a120100f63300006809030085d501003012010092fd0000c80d03005b1d0000b40001008a070100931001007a33000039080200c3fd00005b0e03008e0701009710010063ff00000b100100dffe00007d0f01005cfd00002c0d030043e00100ba1401007bd401003d11010018fe0000b50e0100c5d701006e140100dafb0000260a01009dd501004812010058e00100cf1401006a210000f801020098d701004114010037ee01001515010022fc0000ba0a0200713100007c04010066fd00004a0d0300a2ee01005a15010088fb0000f1090100b4d601005d130100e3320000680601008e2000005d010100233200002405030037310000420401002c220000220202008b2f0000e40301001af10100a61503004ffc0000140b02002bd50100dd110100a5fb00000f0a020065d401002711010050ff0000f80f01002bff0000d30f010060fc0000380b03006e320000ba05020078fb0000e1090100802000004f01010037fe0000c10e010043f201004916030001fb000095090200a132000002060100d9d6010082130100072000001a0101001a3200000205040030d70100d91301007afb0000e3090100753100008004010036210000a201010055330000d7070200b53200001a0602003bfe0000c50e01002afd0000e00c0200ad240000f802030071d401003311010072320000c20502007bd701002414010068fd0000500d03005dd601000813010038f10100e715010066e00100dd1401007c2100001b02010086d501003112010085d701002e1401003dd70100e613010053fd0000110d03008c2000005b010100263300002307030017d50100ca1101006fee010031150100b0fc0000e70b020019fe0000b60e030025fb0000b20901003cff0000e40f01007ffc0000800b020080d601002b13010047ff0000ef0f010061330000f4070200e7d501009212010031e00100a8140100910701009a10010025f10100c715030016d70100bf13010011fe0000ae0e0100cbd70100741401006a310000750401006af1010006160200afd70100581401002bfc0000cc0a02001eff0000c60f0100a62f0000ff0301006cfd00005c0d0300162100008a010200273300002607020021fc0000b80a0200301d00008b000100fed60100a71301003cfc0000ee0a0200f7fb00005e0a03006ed601001913010036fe0000c00e010000d60100ab120100c432000038060200eefc0000650c0200a8fe0000460f0100cfd70100761401005de00100d414010082d601002d13010098240000b9020300dcfe00007a0f0100ecd60100951301001e2f0000770301009dd601004813010055fc0000200b020097ee010054150100bfd501006a1201007f2000004e010100b4ee01006a15010038fc0000e60a0200a71d0000d100010005d70100ae13010020d70100c91301005b210000d5010300fcd40100b31101003fe00100b61401009ad5010045120100fdfc0000860c0200810701008b1001009c2f0000f5030100b3d501005e120100a4d701004d140100a7070100b010010090fb0000f909010090d401005211010043d50100f31101006a2f0000c3030100663300000208030014d40100d710010033d60100de1201005f330000f0070200a832000009060100cf33000005090200fcfe0000a70f0200a3d601004e130100baff0000621001008d07010096100100c4d601006d13010044e00100bb140100aad401006511010095d5010040120100313300004c070300f7d701009e140100fbd60100a4130100491d0000a30001009ed401005f11010011d40100d4100100072100007c0101005f2000004001010038e00100af1401004ffb0000b70902009aee0100571501003cd40100ff100100ad3200000e06010068d401002a110100843100008f040100623100006d040100692f0000c203010081fe0000130f020005ee0100e9140100a5fe0000430f0100ba32000024060200f032000075060100d9d7010080140100c0d4010078110100a3fe0000410f01001d3200000e050700c7d6010070130100cf1f0000fd000300bf330000e008020018d70100c1130100900701009910010001d50100b811010010d60100bb120100e03200006506010021fd0000ce0c0200dbd60100841301003df10100ec1501003830000031040100a7330000a208030025fd0000d60c0200e1d7010088140100bdff0000651001008cee01004915010008ee0100ec140100c3330000ea0802001ad50100cd110100bf3200002e0602009e240000cb020300c8330000f708020010f20100131601007921000015020100223200002105030082d701002b1401008907010092100100053300009c0603003afe0000c40e010031d60100dc12010099310000a1040100d4ff0000751001009c2000006a010100473200008a05010088fc0000920b0200b9ff0000611001006cd401002e11010036d60100e11201005f3100006a0401008bfb0000f4090100b50000000a00010019d40100dc100100d5fe0000730f0100cad60100731301009e3300008a08020041d60100ec120100afd601005813010088320000e905010054210000c00103008dfe00002b0f01000bd40100ce10010007d60100b212010026ff0000ce0f010058d70100011401004efc0000120b020064330000fc070300f5d40100ac110100c62f00001f040100dcd50100871201005efc0000320b030036ff0000de0f0100c52400002203010087d5010032120100912000005f01010050d70100f9130100b02400000103030022f10100be150300393300006e07030054e00100cb14010011d50100c5110100353300005f070300aaff00005210010040f201004016030012d60100bd12010053d50100fe110100aad5010055120100aa0000000300010062ff00000a100100de2400003b030100e2d70100891401006afe0000f40e01006f2f0000c803010059fd0000230d0300f101000038000200331d00008e0001008f0701009810010036d50100e81101000a2f00006303010044320000870501006e2400003f02020085fc00008c0b0200f332000078060100f4fb01006116010043d60100ee120100a0fb0000090a0100b11d0000db00010057d4010019110100d7d701007e140100723100007d040100b2330000c6080200aa070100b3100100162f00006f03010031d70100da13010025d70100ce130100f4fb0000550a0300f5330000650903009d33000088080200c4fc00000f0c02001cfc0000ae0a020011ff0000b90f01006dd70100161401001cd60100c712010033d70100dc130100c7d501007212010081ff0000291001002221000096010200aed40100681101001df20100211601007fd401004111010057d7010000140100bc0000000f00030021d60100cc120100e4ff000081100100c9fe0000670f010084ee01004215010098fd0000da0d0300613100006c0401003f210000ac0101009e1d0000c800010019d60100c4120100d6d401008d110100c0d501006b1201007b2f0000d40301000bee0100ef14010046d70100ef130100ebfc00005f0c0200f3fe0000910f0100f4fc0000730c03007afe0000060f02005c210000d8010300fdd40100b4110100a7fb0000120a01003cfd0000040d02006ad401002c11010063210000e901020064ee01002915010092d601003d13010048d60100f312010082d401004411010076d501002112010017d70100c013010030fe0000b90e020032f201003616010077fc0000700b020068d601001313010046210000af010100a80000000100020093fb0000fc090100efd501009a120100fdfb00006e0a0100ab070100b410010063e00100da14010070d401003211010056330000d9070600c5d401007c110100e7fb0000340a0100ea2400004703010019d50100cc11010054d60100ff1201006d2f0000c603010018d50100cb11010039d60100e412010052fd00000e0d03009fd701004814010075d701001e140100713300002308030048e00100bf140100ced701007514010065ff00000d100100a03300008f0803003e310000490401000ad60100b512010091d501003c1201004de00100c4140100c5d50100701201007a320000d2050200681d0000c100010071ff0000191001002ed40100f11001007ad701002314010044fe0000ce0e010032f10100e1150100f6d50100a11201007cd70100251401006fd601001a130100f5d701009c140100d7fc0000350c02008831000093040100a0d7010049140100e5fb0000320a01008dff000035100100a1070100aa1001004ed401001111010028d50100da110100c42f00001d0401002420000021010100fc10000087000100b0fd0000220e0300b4fc0000ef0b02000c330000b50604006b3100007604010011f101008b150300b82f0000110401008533000051080200a91d0000d30001003ad70100e313010093320000f4050100cfd4010086110100d63200005b0601008b330000600802004a310000550401004df10100ff1502009b1e0000ec0002004ad60100f5120100dad701008114010017fb0000ab09020061d701000a1401009720000065010100c01f0000f2000200e333000035090200b3d601005c130100b4d501005f12010017fd0000ba0c02002afc0000ca0a02006ad70100131401008ad601003513010039e00100b0140100e9fb0000360a010007f1010080150200a4070100ad1001006d210000fe01010092200000600101003dff0000e50f0100b3070100bb100100512f0000aa03010059fc0000280b020029d50100db110100373200006005030015320000ee040400652400003102010035d70100de130100b9070100c1100100d3fe0000710f01003c200000320102009b2f0000f4030100662f0000bf03010075fd0000770d030034d60100df120100330e000078000200ba1d0000e40001005afd0000260d030094240000ad0203005d3100006804010009d50100bf11010097d70100401401004f330000c2070300fbd70100a2140100632400002f02010002ff0000aa0f010061fb0000ca090100ec3300004a090300f7d50100a2120100ae330000b708050089fc0000940b020038d70100e113010030e00100a71401002af201002e1601004b2f0000a4030100023300008f0605004d1d0000a7000100d7d401008e1101004dfc0000100b0200e5d401009c11010042d50100f21101003633000062070500b62f00000f040100a12f0000fa0301001ad70100c3130100a4fc0000cf0b020018d60100c3120100c2fc00000b0c0200ac1d0000d6000100b8fc0000f70b02007cfb0000e50901007f3100008a040100e0d7010087140100c6ff00006b100100503100005b04010076320000ca0502008d320000ee050100bc32000028060200330100001a00020045f201004f1603003e210000ab01010066fb0000cf090100892f0000e20301002ef10100dd150200f1d40100a811010091fc0000a40b020053ff0000fb0f0100063300009f0603007324000049020200ae1d0000d8000100acfb0000170a0100b4330000ca08020014320000ea040400c232000034060200ca2400002703010033d50100e5110100f83300006e09030044ff0000ec0f0100f7d40100ae1101008c07010095100100caff00006d10010017fe0000b40e0100e1fb00002e0a010032fc0000da0a020025d60100d0120100400100001e000200abfe0000490f0100d3d601007c130100a8d70100511401005dfb0000c6090100203200001b050300a5240000e0020300b3d401006d110100ad070100b61001009933000080080200362f00008f03010074fc00006a0b0200a5d5010050120100c32f00001c0401006ce00100e3140100d93200005e06010044d50100f4110100213200001e05030012d50100c6110100cefe00006c0f0100f7fc00007a0c020082fb0000eb090100b8d6010061130100943100009c040100e5ff000082100100e83200006d060100af240000fe020300f1fb01005e160100fcfb00006d0a0100b300000007000100c62400002303010049d70100f21301009afd0000e00d0300b5d401006f110100defe00007c0f0100e7d6010090130100482f0000a1030100e3d401009a110100a6ee01005d150100972f0000f0030100a8240000e902030062d501000d12010002210000730101001bd60100c61201007631000081040100601d0000b900010098d6010043130100d9fe0000770f01001fd60100ca1201006aee01002d15010009fd00009e0c020061d501000c120100e1d4010098110100f4d701009b140100682f0000c1030100b3ee01006915010062e00100d9140100be2f000017040100472000003601020023ff0000cb0f010077fe0000000f02005bd7010004140100b9d4010073110100ba330000d6080200822400007a020400b0ff000058100100643100006f040100d12400002e030100db24000038030100bcd5010067120100963300007a08020090d501003b120100dad501008512010054d401001711010024ee01000615010034210000a0010100a5d701004e14010056e00100cd140100f73200007c06010072fe0000fa0e02004ce00100c3140100f0fe00008e0f01000f2f000068030100882f0000e1030100cdd40100841101004bd50100f7110100bad7010063140100bf1f0000f0000200ebff000087100100eed501009912010072ff00001a10010018f201001c1601003432000057050300efd701009614010025d40100e8100100ced601007713010083ee0100411501004fe00100c614010083d401004511010073ff00001b1001001cff0000c40f0100f23300005c0903007b210000180203000420000017010100a4d601004f1301006f320000bc05020057fc0000240b0200f23200007706010046d60100f112010012d40100d51001009a240000bf02030027f10100cd1503000b330000b20603005cfc00002e0b0200462f00009f0301000ad40100cd100100d8240000350301007ed70100271401003afd0000000d0200641d0000bd0001005e310000690401009d310000a50401003bee01001715010026fb0000b3090100fed40100b511010080240000720204006e210000ff0101003be00100b2140100b6d601005f130100bd00000012000300421d00009c000100a1240000d4020300df3300002c090300b5ff00005d10010042e00100b91401009afc0000b90b0300ebd5010096120100bffc0000050c020058fd0000200d030064240000300201003cfe0000c60e010046320000890501000c2a000048030400b4fd00002e0e030096fd0000d40d030007d40100ca100100573200009a0502007a20000049010100d5030000660001006b33000011080300d032000055060100aeee010064150100d5d5010080120100adee0100631501001a2f000073030100e0fe00007e0f0100a32f0000fc030100b2ee010068150100f5fb0000580a030067e00100de140100743100007f040100e0fb00002d0a010051ee01001f1501003fff0000e70f010065310000700401003d320000720503002dd70100d61301009bd7010044140100b6d401007011010054fc00001e0b0200b02f00000904010028320000330503003a1d00009500010013320000e604040065e00100dc140100ffd40100b611010034d70100dd1301008bd70100341401009da6000087090100962f0000ef03010039fc0000e80a02004cf10100fd150200dbfe0000790f010095240000b002030024f10100c4150300dcd701008314010053e00100ca1401009a2f0000f303010061fd00003b0d030002fd0000900c0200abee0100611501009f070100a810010086ee0100441501009bfd0000e30d03000fd50100c31101008efc00009e0b020013d50100c71101004fd50100fb11010073210000070202005a2f0000b30301008cd701003514010067d7010010140100abfd0000130e0300012f00005a0301003ffc0000f40a0200c6330000f0080400c0d601006913010098fb0000010a0100513100005c04010009ee0100ed1401008afd0000b60d03004dff0000f50f010029d70100d2130100b4fe0000520f0100a4fb00000d0a0200b9d6010062130100d0d60100791301008d310000980401000af1010086150200172000001f01020021f10100bb1503001fd40100e210010015d40100d81001009b310000a3040100ddd60100861301007f3300004308040060320000ac050100f6fb0100631601007bfb0000e409010052d70100fb130100502f0000a9030100bffe00005d0f010058d6010003130100fafd00008f0e12006e3300001a08030051ff0000f90f010016fc0000a20a02005d1d0000b6000100b8240000150301005dab00008f0901001bd40100de10010068fb0000d109010003f1010078150200532f0000ac03010052330000cc070200f9d50100a412010094d40100561101002cd50100de110100e624000043030100af2f000008040100c132000032060200b302000041000100c1fe00005f0f010047f10100f6150100840300005a000200ba2400001703010087ff00002f10010069d601001413010035ff0000dd0f0100fbfe0000a50f0200fad70100a1140100501d0000a9000100f2fe0000900f010045320000880501008ad701003314010075fb0000de09010091ee01004e150100e93300004109030039210000a5010100583200009c05020087320000e80501007d31000088040100ae240000fb02030098ff00004010010096d5010041120100b0d601005913010069e00100e01401002cf201003016010042ff0000ea0f0100bbff0000631001001dff0000c50f010003d50100ba110100e1d601008a130100c7fc0000150c020060ff0000081001005dee01002515010015f1010097150300c9d401008011010067d50100121201007ed6010029130100ed3300004d09030068e00100df140100a6fd0000040e0300ca330000fb080200f8d701009f140100ef3300005309030050fd0000080d03008e2400009e020200d4fc00002f0c020098fe0000360f0100a732000008060100a9ff00005110010072210000040203005a1d0000b300010027ff0000cf0f0100ad1d0000d700010066d701000f140100df2400003c030100aefe00004c0f010035fe0000bf0e0100a3d501004e12010050d60100fb1201002ad60100d5120100ddd40100941101005bff00000310010064d401002611010034fc0000de0a0200bcd60100651301001cd70100c5130100282100009901010074fb0000dd090100edfc0000630c02009ca6000086090100742a00004c030300f8fe00009c0f03003ad60100e5120100b5fc0000f10b020035d40100f810010069ee01002c150100362000002d010200bd1f0000ee000200fbd50100a6120100b9d501006412010057fd00001d0d03008b31000096040100f5fd00007c0e04007cfe00000a0f02009bfc0000bc0b030014fd0000b40c02001bd50100ce11010067ee01002a1501008a3300005e08020040ff0000e80f010050fb0000b9090100c7d401007e1101009c070100a510010017ee0100fb14010090f101000c160200f0d501009b120100b332000016060200d5d701007c14010064fe0000ef0e01008efb0000f709010007fc0000840a020058fb0000c10901005cd701000514010068210000f501020045d70100ee1301004eee01001d150100cc2f00002504010081d701002a1401003c31000047040100de1f000003010300bd2f000016040100d4d501007f12010000d50100b711010080fc0000820b0200a33300009708030002d50100b9110100d13200005606010097fd0000d70d030089d401004b110100d6ff000077100100c3fc00000d0c020093240000aa020300c6d601006f1301008d2000005c01010006fb0000a10902009c310000a4040100a11d0000cb0001001bff0000c30f0100e1fe00007f0f010065fc0000470b030014fc00009e0a0200a2fe0000400f010091fb0000fa09010050330000c5070300c8d601007113010077d6010022130100830701008d100100a31d0000cd000100511d0000aa00010061320000ad05010078fc0000720b020063330000f90703003c2f000095030100272f000080030100a332000004060100f5fb010062160100b40200004200010086320000e7050100172f000070030100ccd501007712010030f201003416010003fb000099090300ce2400002b030100302f00008903010060fd0000380d030023f10100c115030032d50100e41101001ef201002216010053330000ce0704009b1d0000c500010004f101007a1502001bf201001f16010052fe0000de0e01003bfd0000020d0200612f0000ba03010000fc0000710a030071ee010033150100f003000068000100e4d701008b1401005dfc0000300b020070d601001b13010033fe0000bd0e01007dd50100281201006bfe0000f50e01003332000054050300212f00007a03010015fc0000a00a02005fd501000a12010064fd0000440d03009ad401005c1101007bfe0000080f020062d701000b140100e0d6010089130100b5fe0000530f01006bd401002d110100b61d0000e0000100413100004c0401009cfe00003a0f010084d40100461101009d320000fe05010030d50100e211010032fd0000f00c02005ffc0000350b03007bee01003b1501000c0f0000800001006fd501001a120100aad6010053130100dc33000025090200e3240000400301002ef2010032160100b7d4010071110100d1d501007c120100a6d701004f1401004e2f0000a7030100aed6010057130100f20300006a00010080320000e10501003e1d000098000100effb0000460a030002f101007615020054fe0000df0e010063320000af0501009bff00004310010084d501002f12010051330000c80704005631000061040100f2fb00004f0a030002fb0000970902007b310000860401004c31000057040100c6010000290003003fd70100e81301004dee01001c150100531d0000ac000100d1330000090902008ad501003512010083fd0000a10d0300782100001302020051d70100fa13010077fd00007d0d030079d401003b1101005d210000db01030087fd0000ad0d03008a310000950401003fd4010002110100cd2f000026040100f0d40100a7110100591d0000b20001005fd601000a130100933300007208030092ee01004f15010070a70000880901000bfd0000a20c02008a2000005901010080fe0000120f0100f3d701009a1401000dfd0000a60c02004ad50100f611010099d601004413010092fe0000300f01004cfe0000d70e020053d60100fe1201004be00100c2140100b8d50100631201005ad401001c1101005b330000e807020089d7010032140100f2a7000089090100a3ee01005b1501007cff000024100100762100000c020300a6ff00004e10010057ff0000ff0f010079ee010039150100aed50100591201006fd4010031110100da0200004b0002004d2f0000a6030100c5fd0000610e0300843300004f080200c02400001d0301007cd5010027120100b0d7010059140100cbd501007612010083d701002c140100e8d401009f1101008ed50100391201000dff0000b50f010044d60100ef120100c424000021030100522f0000ab0301008ed60100391301000dd50100c11101006bfb0000d4090100cb2f00002404010032ff0000da0f0100abff0000531001006c3100007704010070200000410101008dfd0000bf0d030074fe0000fc0e0200312100009e01010064ff00000c1001009b330000840802006ae00100e114010024f201002816010005d40100c810010049ff0000f10f010037ff0000df0f01007520000044010100befe00005c0f0100e8fe0000860f0100f8a700008c090100bed70100671401009d1d0000c7000100b6070100be100100792f0000d203010012f2010015160100dffc0000450c0300a1d501004c120100c9fc0000190c020011ee0100f51401009f3300008c08030083fb0000ec09010031f10100e015010008ff0000b00f01009efe00003c0f010039fe0000c30e010086330000530802006ffd0000650d03008bd5010036120100f3d501009e1201005f1d0000b800010030fc0000d60a0200fa330000740903005bee010024150100782400005702030047d70100f0130100f8fc00007c0c020067d601001213010096d701003f140100112000001e01010044f10100f31501003dfd0000060d020070320000be0502006c320000b8050100c8d50100731201008cd6010037130100fbfd0000a10e0800b6fd0000340e0300952000006301010019320000fe04040099240000bc02030052ee010020150100dc0200004f0002000e21000083010100ced501007912010087d601003213010002d70100ab130100932000006101010015d60100c01201000c2f00006503010085310000900401002ad40100ed1001007b24000060020300eefe00008c0f0100850701008f1001009a2000006801010072fb0000db090100e23300003309020075fc00006c0b0200d22400002f0301005be00100d21401002c2100009a0101007f2400006e0204005ed4010020110100e3fe0000810f0100192f0000720301001e32000015050600052f00005e03010016fb0000a9090200423100004d040100a5070100ae100100012000001401010084fc00008a0b02005cd5010007120100c4d701006d140100a02f0000f903010043f10100f21501008f2f0000e8030100c924000026030100c53200003a0602008f240000a002020084ff00002c100100243300001c070400b7fc0000f50b020041e00100b8140100d92400003603010016fd0000b80c0200513200008e05020092fc0000a60b02008ffe00002d0f0100c4fd00005e0e03001c2f0000750301002bf201002f160100dbd5010086120100412f00009a0301001bfd0000c20c020017320000f604040050f201005b1601002133000011070500402f000099030100ca2f000023040100a6070100af10010089d501003412010036310000410401007dfc00007c0b020087fb0000f00901000efc0000920a020006f101007e150200652f0000be03010056fe0000e10e01009cfb0000050a0100e4fe0000820f010006ee0100ea140100d2d601007b1301005dd401001f11010060d601000b13010016f201001a16010000d40100c310010013fb0000a30902006ffc0000600b0200a7fc0000d50b020013fe0000b00e01004bfe0000d50e02008dd70100361401002eff0000d60f01006b2f0000c4030100e6fb0000330a0100f6d40100ad110100a8070100b11001008b320000ec0501005c1d0000b50001006a24000037020200b9fc0000f90b0200d6fb0000220a0100f73300006b09030008fd00009c0c0200c73200003e06020084d601002f130100a1ee01005915010078fd0000800d030080ee01003e15010025f2010029160100b6ee01006c1501000cee0100f01401005cab00008e0901005cfb0000c50901002e320000450503004bfc00000c0b0200c72400002403010060330000f207020037d70100e0130100d03300000709020090fc0000a20b0200b0ee010066150100a1fd0000f50d0300753300002d080200002f0000590301009afb0000030a01002a32000039050300a93200000a06010072d4010034110100d4d401008b11010021f20100251601007bff000023100100461d0000a0000100b1ff00005910010036d40100f910010098320000f905010043fc0000fc0a020031fc0000d80a020079d60100241301005b3100006604010012d70100bb13010099fe0000370f0100d1fe00006f0f01009a33000082080200a6d4010063110100d5fb0000210a01000a2100007f01010096fb0000ff0901008e2f0000e7030100a9d70100521401005efb0000c7090100930701009c100100562f0000af0301007d2000004c01010027f201002b16010094fc0000aa0b0200d3d401008a11010067fd00004d0d030009ff0000b10f0100a4d501004f1201006de00100e4140100391d00009400010010320000da04040021d70100ca13010091ff0000391001002dd60100d8120100c0d701006914010013f201001616020030f10100df150100d5d401008c110100b21d0000dc000100982f0000f10301006ad5010015120100772400005402030026d50100d8110100752400004e020300b8070100c010010042f2010046160300870500006e000200b3d701005c1401007620000045010100f2d601009b130100bcfd0000460e0300a6240000e3020300d433000010090200d8d401008f1101000c320000cc0403007bd501002612010015ee0100f9140100a4240000dd02030049210000b2010100f8fb0000610a0300042f00005d030100cad5010075120100571d0000b000010022ff0000ca0f01008bd6010036130100b5d701005e140100c8d401007f1101008820000057010100403300008907050007d50100bd1101005d320000a6050200fed50100a91201007c3100008704010047ee010019150100b0330000c208020086d701002f14010083fc0000880b020044d4010007110100f132000076060100523100005d04010013ff0000bb0f010038fe0000c20e0100ecd40100a31101007efd0000920d03006f3300001d080300d00300005f000100f1d701009814010051f201005c160100b31d0000dd00010014d50100c8110100fb33000077090300f1fb00004c0a030084fd0000a40d0300f3fb0100601601008a320000eb050100ab240000f2020300e7d701008e1401005c330000ea07020085ff00002d100100bdd4010075110100b5fd0000310e0300f2fd0000700e040083fe0000170f0200dd1f0000000103007bfc0000780b02009a310000a204010075320000c805020020fd0000cc0c020002d40100c510010067ff00000f100100ddd70100841401002efc0000d20a020004ff0000ac0f0100b1ee01006715010017330000e5060500673300000508030052d60100fd1201007e330000410802009c1d0000c60001009e070100a71001005f2f0000b8030100a6fe0000440f0100661d0000bf00010090ee01004d15010023d70100cc1301007e2400006a0204006b210000fa0103004cd70100f51301008dd601003813010011320000de0404007fd701002814010086ff00002e100100182f00007103010047330000a107050072fc0000660b020096d401005811010029f10100d31503000d210000820101000ed40100d1100100e0d401009711010071d501001c1201000a2000001d0101003dd50100ee1101009920000067010100752a00004f03020040fe0000ca0e0100bdfe00005b0f01004bd401000e110100d33200005806010066d6010011130100aafb0000150a01007e2f0000d703010077ff00001f10010025ff0000cd0f010093d601003e130100b6fe0000540f010095d6010040130100d5ff00007610010091d401005311010059330000e40702007fd501002a120100d7ff00007810010032ee01001115010067320000b305010030fd0000ec0c0200edfb0000400a030094fd0000ce0d030078320000ce05020097ff00003f10010086d601003113010008f10100821502002c2f000085030100d1fc0000290c020068240000340201003efe0000c80e010066ff00000e10010014ff0000bc0f01004dd70100f6130100f53200007a060100cd330000010902006924000035020200b4320000180602005bd601000613010013f101009115030055210000c3010300aa1d0000d4000100d6fe0000740f0100bdd501006812010045e00100bc140100f3fd0000740e04008cfb0000f5090100d4d701007b140100b80200004600010065d5010010120100d52f00002e040100afd4010069110100f2fc00006d0c030042f10100f1150100953100009d0401006cd50100171201000efd0000a80c0200b7ee01006d15010054ff0000fc0f01007806000076000200eefb0000430a030040d50100f0110100be330000de080200adfe00004b0f01000cd40100cf10010023fb0000b0090100e6fe0000840f0100a1ff00004910010074d601001f130100361d0000910001000621000079010300313200004e05030059ee010023150100383300006a070400c3d701006c140100b5070100bd100100b00200003e00010036fc0000e20a020034f201003816010073d40100351101003f3100004a0401007bfd0000890d0300543100005f04010031ee010010150100aeff0000561001004b1d0000a50001004bee01001b15010072d601001d1301003b31000046040100aed701005714010035fd0000f60c020000320000a804030019ff0000c10f010038d50100ea11010005f101007c1502003a2f0000930301002dff0000d50f010003ee0100e8140100c52f00001e04010019fc0000a80a020027fb0000b4090100312f00008a030100762a00005103030055d60100001301007ed40100401101006f24000041020200132f00006c03010033f20100371601009fd501004a12010097240000b60203009f2e000057030100dd3200006206010028fd0000dc0c0200bbd7010064140100d2d7010079140100e1320000660601009bd6010046130100ac070100b510010093fc0000a80b0200342f00008d03010090240000a20202006efb0000d70901002df10100db150200a1fb00000a0a01008dd401004f11010028f201002c160100712400004502020059fb0000c2090100c3fe0000610f01009a320000fb050100c9330000f9080200bd1d0000e700010074d401003611010073d601001e130100e1ff00007d100100c3d401007b11010049d60100f4120100d2fe0000700f010005320000b704030037d50100e9110100d9fc0000390c0200403100004b0401009f3000003804020058ff00000010010007d70100b0130100d8d50100831201005e2f0000b70301009c320000fd0501008fee01004c1501001af201001e160100c11f0000f40003001bd70100c413010029ee0100081501005d2f0000b6030100463300009e070300cc330000ff08020076d6010021130100c12f00001a04010004d60100af120100edd40100a411010008d50100be1101005dfd00002f0d0300a7d501005212010033e00100aa140100b80000000b000200daff00007910010073320000c405020021ff0000c90f0100cf2400002c030100323300004f07060013d40100d61001009c240000c502030030ff0000d80f010068ee01002b150100b0d501005b120100d7fb0000230a0100333100003e04010033fd0000f20c020012fc00009a0a02004a330000ac0706008fd401005111010017ff0000bf0f01003f0100001c000200c83200004006020063fe0000ee0e0100f7d60100a0130100e63300003b09020089d6010034130100fcd70100a314010067210000f1010400a21d0000cc000100a8ee01005f1501006931000074040100af00000004000200b6fc0000f30b0200ebfb00003a0a030061fe0000ec0e0100f5d601009e13010077320000cc0502001b3200000605040028fc0000c60a02001cd50100cf11010092ff00003a1001009533000078080200fdd50100a812010022d70100cb130100992f0000f2030100a43300009a080300d603000067000100e8240000450301002f2100009c01010001f2010010160200c0fe00005e0f01007dd6010028130100a133000092080200a6fc0000d30b0200852f0000de0301007a03000058000200cf3200005206030000f201000e160200e4020000570001005ed7010007140100a5d4010062110100d0fe00006e0f010069320000b50501005ed501000912010039d40100fc100100b5d501006012010064fc0000440b0300b0fe00004e0f0100d8fb0000240a01004731000052040100e3fb0000300a010013210000880101005fe00100d614010068330000080803004eff0000f60f0100a9d60100521301006dfb0000d60901002b330000300706004c330000b507050052fb0000bb09010026d40100e91001005fab0000910901005dfe0000e80e0100bfd6010068130100b5d601005e130100a6fb0000110a0100fe1f000011010200d4fb0000200a01006dfc00005c0b020020ff0000c80f0100abd5010056120100f2d501009d1201005c320000a405020042fe0000cc0e0100833300004d08020022fb0000af090100ecd50100971201003ed60100e91201007afc0000760b0200cbd40100821101009ffd0000ef0d03009f310000a704010021d50100d31101007f2100001e020100383200006305030038d40100fb100100a4ff00004c100100aa240000ef020300ba0000000e00010079fc0000740b02005bfe0000e60e010002ee0100e7140100fb32000080060100d802000047000200da3200005f0601008c330000620802002bfd0000e20c020006fd0000980c0200b0320000110601003ee00100b5140100ab2f0000040401000c21000081010100d6fc0000330c020064210000eb01010083ff00002b100100b42400000d030300942f0000ed030100ed320000720601003232000051050300592f0000b203010033ff0000db0f010062320000ae0501000e330000bd0604008924000094020200b52f00000e040100eafe0000880f0100c82f0000210401005e210000de01030005ff0000ad0f01008a2f0000e30301001dee010001150100bbfe0000590f01007fd601002a13010093fe0000310f0100cffe00006d0f0100fbfb00006a0a0300d6d601007f13010052210000b9010400b71d0000e10001004af10100f9150200dcfb0000280a010094d601003f13010058210000cc0103003dd60100e8120100012100007001030037210000a3010100c0fd0000520e0300a3d701004c140100541d0000ad00010097070100a010010068320000b4050100950701009e100100b9330000d408020002fc0000770a03002f330000450704003d210000aa01010083320000e4050100152f00006e03010053d4010016110100b0070100b9100100332f00008c0301007ffe0000100f0200ebd7010092140100ca32000045060300dc0e00007c000200edff000089100100cad701007314010065320000b1050100893300005a080400affc0000e50b020069fd0000530d0300a432000005060100752f0000ce0301007c2c000054030100ae2f0000070401002cff0000d40f0100f1fd00006d0e030013d60100be12010073fc0000680b020095d4010057110100ead40100a1110100f3a700008a090100e5d701008c14010085fe00001b0f0200f2d40100a91101005ed6010009130100c6d701006f1401000321000074010200832000005201010033fc0000dc0a02003d3300007e070500effc0000670c0200b8fe0000560f0100fd320000820601004bd70100f41301007c240000630203009d070100a610010052e00100c914010010ee0100f41401007d2f0000d6030100a4fd0000fe0d03003a320000690503005731000062040100c0330000e2080200f30100003c00020051fc0000180b020015fe0000b20e010004320000b4040300973300007c080200e2d4010099110100ce3200005006020069fb0000d2090100fcd60100a5130100a5320000060601009afe0000380f0100be1d0000e8000100902000005e010100d9fb0000250a010078d7010021140100d7d6010080130100bfd7010068140100a8fd00000a0e0300913300006c0803005bfc00002c0b02006724000033020100f0d70100971401008631000091040100102f000069030100e3d501008e120100e5fc0000530c02005ad7010003140100f9a700008d09010080d501002b1201009bd401005d11010051210000b60103003bf201003f160100adfc0000e10b0200b73200001e060200cfd501007a12010090d7010039140100cdd6010076130100ccff00006f10010007330000a2060600dfd7010086140100072f000060030100d524000032030100a0d501004b12010085fb0000ee09010020d50100d2110100d1d4010088110100612400002d02010052d401001511010070fb0000d90901009fd601004a13010094d501003f12010071320000c005020057e00100ce140100401d00009a00010027ee01000715010034fd0000f40c02009b2000006901010078d501002312010056ff0000fe0f0100212100009301030048310000530401003d2f00009603010024d70100cd13010066210000ee0103001b2f000074030100ead501009512010005fc0000800a02006a3300000e080300a3240000da020300203300000c07050082ee01004015010044330000980703000b2100008001010060d501000b12010030ee01000f150100e524000042030100eaff00008610010036f201003a160100372000002f0103005ae00100d11401000020000013010100e6d701008d1401006dff0000151001003630000030040100f4d601009d13010018ee0100fc14010000ee0100e5140100b4ff00005c100100a8d601005113010062330000f6070300c2fe0000600f0100262f00007f030100fe33000080090300342000002a010300cc01000036000200e133000031090200c0fc0000070c0200de33000029090300bad50100651201007dd401003f11010076ff00001e100100e2fc00004d0c02007a2100001602020029fc0000c80a0200e6d601008f13010039f10100e81501002fff0000d70f0100a2d701004b140100003000002f040100b2d601005b130100a9070100b2100100cbfe0000690f0100092f00006203010016fe0000b30e0100002100006d010300693300000b0803002233000016070300a8fc0000d70b0200e002000053000100c3d601006c13010047210000b00101007ad5010025120100ffd60100a8130100d7d50100821201000fff0000b70f0100593200009e050200451d00009f000100f5fe0000930f030094ee0100511501006cd70100151401006f3100007a040100112f00006a0301001fff0000c70f010012320000e2040400c032000030060200b8ff0000601001000bfc00008c0a020004fc00007d0a030051d60100fc12010015f2010019160100253300002007030053d70100fc130100bf2f0000180401003ed70100e713010006ff0000ae0f010067fb0000d00901004232000081050300c1d601006a13010014fe0000b10e010043d70100ec130100cafe0000680f010043fe0000cd0e0100d1d701007814010063d501000e1201001ff20100231601000dfc0000900a02007c2f0000d503010082ff00002a100100503200008b050300dfd6010088130100c1d701006a140100fbfc0000820c020051fd00000b0d0300593100006404010022d40100e510010004fb00009c0903003a3100004504010038d60100e3120100cb330000fd080200a0070100a910010092d4010054110100602400002c02010010d50100c4110100743300002a08030032e00100a914010029fb0000b609010001ee0100e614010023d60100ce1201001d33000001070300e8ff00008410010031d50100e31101002aee010009150100b92f000012040100e924000046030100f0fc0000690c0200e7d401009e110100d32f00002c04010062fd00003e0d0300ded70100851401001eee010002150100b2fd0000280e0300b42f00000d040100c2ff0000671001002c3200003f0503008cfe0000290f0200efd60100981301009f32000000060100960701009f100100381d0000930001001e330000040704005cd601000713010076fb0000df0901001df10100af15030095fc0000ac0b02002cf10100da15010088d5010033120100ee33000050090300a9240000ec02030009320000c304030002320000ae0403002ad70100d3130100302200002902030021ee01000415010077310000820401005e330000ee070200edfe00008b0f010012330000cd060400923300006f0803001ed40100e1100100a8d50100531201006bff000013100100f1fe00008f0f01009b320000fc0501009dfb0000060a01009ad6010045130100c332000036060200b2320000140602008ffc0000a00b02006c210000fd01010099ee010056150100befd00004c0e0300b72f00001004010060d7010009140100c4330000ec0802008afc0000960b0200f9d70100a01401003cd50100ed110100cb3200004806030029fd0000de0c020028f10100d0150300a01d0000ca0001009ffe00003d0f010071210000020202006bd50100161201004ed60100f912010032d40100f510010015330000d906060064fb0000cd09010084320000e505010057330000df07030035fc0000e00a0200922f0000eb0301006f21000000020100ab330000ae08030034d40100f7100100c1d4010079110100bdfd0000490e0300bdd601006613010034ee010012150100ccd601007513010035f10100e41501009ffc0000c50b020056d5010001120100c7330000f408030000fb00009309020065d701000e14010048d70100f113010084200000530101004ad401000d110100621d0000bb0001008c31000097040100492000003a010200e43200006906010052d50100fd11010046d50100f511010024d60100cf120100b9ee01006f150100dad4010091110100ca01000032000200403200007b050300a8fb0000130a0100dcff00007b100100253200002a05030099d701004214010022d60100cd12010028fb0000b50901003a30000033040100b2ff00005a10010092d501003d1201007b2000004a0101002af10100d61503001ffd0000ca0c020017f201001b16010075d5010020120100f1fc00006b0c02006efd0000620d0300dd2400003a03010005d60100b01201002fee01000e15010027fd0000da0c02002ed50100e011010028d40100eb10010036ee010014150100eb3200007006010078d601002313010014fb0000a509020010ff0000b80f01000ed60100b9120100adfb0000180a010070d501001b120100382f0000910301004a2f0000a30301003aff0000e20f010041d70100ea13010088d70100311401000d320000cf0403004bd60100f6120100b10200003f000100a63300009f08030074d701001d1401002cfd0000e40c0200092100007d01020000f101007215020003fc00007a0a0300611d0000ba000100f2d7010099140100abfb0000160a0100a7ff00004f10010064d601000f130100ddfc0000410c0200bed4010076110100da33000021090200671d0000c0000100602f0000b9030100a0240000d102030056fb0000bf090100bd2400001a030100dffb00002c0a0100b7ff00005f1001007dd701002614010096320000f7050100b7d50100621201003af201003e1601006e310000790401006d330000170803007eff00002610010034d50100e6110100a6320000070601007cee01003c1501002dee01000c1501005bfd0000290d03001a330000f4060600f432000079060100bb320000260602004333000094070400d42f00002d040100d2fc00002b0c0200892100001f020300ae070100b7100100d3ff0000741001002d2f00008603010056fd00001a0d03000521000076010300fffb0000700a0100eafb0000370a03001dd70100c613010042ee010018150100fcfd0000a90e0400d83300001a0904007506000070000200cb010000340002006bfd0000590d03002a3300002d070300a7d701005014010051fb0000ba090100fd3300007d09030057ee010022150100a0000000000001002b2f00008403010004d40100c71001008120000050010100790f000084000300ecfe00008a0f01002ffc0000d40a0200521d0000ab00010041ff0000e90f0100add5010058120100332100009f010100abd701005414010063d401002511010071fe0000f80e0200affb00001a0a010036d70100df1301005e1d0000b7000100e302000056000100a4fe0000420f010035e00100ac14010054330000d20705001a2100008d0101008bfe0000270f02005fee0100261501004fd70100f8130100781d0000c40001003ff10100ee150100c7ff00006c1001004b31000056040100a6d50100511201000afd0000a00c0200762400005102030037e00100ae140100631d0000bc00010062fb0000cb090100f6fd0000800e04007afd0000860d0300a2ff00004a100100c401000023000300f4d40100ab1101008833000057080300a2d501004d120100902f0000e903010081320000e2050100b2d401006c1101001ad60100c5120100c8fc0000170c02001ed60100c9120100b3fc0000ed0b020086fd0000aa0d0300962000006401010014d70100bd130100d7fe0000750f01008cff000034100100772f0000d0030100b4070100bc100100892000005801010007320000bd04030015fd0000b60c0200b7d601006013010034f10100e315010059fe0000e40e0100d4d601007d13010008d70100b1130100f6d701009d1401004ed70100f7130100dbd7010082140100befc0000030c0200862f0000df030100352f00008e03010081fb0000ea09010069d5010014120100893100009404010071fc0000640b02005bd401001d1101004bff0000f30f0100dbfb0000270a01004332000084050300b50200004300010064d501000f120100703100007b040100ddfb0000290a0200ce2f0000270401005a210000d2010300752100000a0202007ffd0000950d030080330000470802004cff0000f40f0100cbd6010074130100e2fe0000800f0100c5ff00006a100100ae3200000f06010069fe0000f30e0100353200005a050300bc24000019030100bb2f000014040100a3ff00004b10010016330000df0606002bf10100d915010011fc0000980a0200442f00009d030100d3fb00001f0a01003bd60100e61201000ffd0000aa0c020046f10100f51501008e320000ef0501009c30000036040200a61d0000d0000100bd3200002a060200a2fb00000b0a010027d50100d9110100c5fc0000110c02002d3300003a0705005afe0000e50e01000cd60100b712010081240000760204004efe0000da0e010045ff0000ed0f0100ef320000740601002d1d0000890001003531000040040100423300009107030017f101009d1503002bd70100d4130100411d00009b0001005dff00000510010003fd0000920c0200ccfe00006a0f01002fd50100e111010023fc0000bc0a020022d50100d4110100f83200007d060100433100004e04010050d4010013110100db0200004d000200cbfc00001d0c0200b124000004030300eed70100951401002dd50100df11010092d701003b140100a92f00000204010006320000ba040300222f00007b030100142f00006d0301009b30000034040200a9ee01006015010074fd0000740d03006a1d0000c30001005ee00100d5140100d6d501008112010004d50100bb1101009efc0000c30b020053210000bd01030021d40100e4100100a5ee01005c150100672f0000c0030100d40300006400020082fc0000860b020098ee0100551501001f2f000078030100d3d701007a14010013330000d10606005e320000a8050200742f0000cd0301006c33000014080300842400008202040066fe0000f10e01008b07010094100100f6fe0000960f030085fd0000a70d03008bd401004d110100872400008e0204004fd60100fa1201007dfe00000c0f02007cfd00008c0d0300c1fc0000090c0200a2d40100611101003e2000003401020098d50100431201003c3200006f0503007a2400005d02030012fd0000b00c020029d40100ec10010013ee0100f71401008dfc00009c0b0200292f000082030100a1d601004c13010010f10100881503002c1d000088000100b8d7010061140100ec320000710601004531000050040100bffd00004f0e03004dd50100f9110100813100008c04010067fc00004d0b030034ff0000dc0f0100e3d601008c13010070fd0000680d030008d60100b312010011d70100ba1301009dff0000451001001fd50100d111010073d701001c14010095fd0000d10d03005fff0000071001007421000009020100c4fe0000620f010023d50100d51101007c2000004b010100aa2f0000030401009ed6010049130100552f0000ae03010082d501002d12010001d60100ac120100aad70100531401005f210000e10102004aff0000f20f010077d401003911010025d50100d7110100a2fd0000f80d030094ff00003c1001008eff0000361001003bd40100fe10010009d70100b21301006dd5010018120100ea3300004409030077ee010038150100acee0100621501004d330000ba070400a5d6010050130100c2330000e608040061d601000c13010001fd00008e0c0200d2d501007d120100082000001b0101008ffd0000c50d0300273200003005030047d401000a1101009d240000c80203004bf10100fb150200fcd50100a71201000ad50100c011010086fb0000ef09010019d70100c21301000f330000c10604006afd0000560d03009dfc0000c10b02003efc0000f20a020064e00100db140100d103000060000100afff00005710010033d40100f6100100fefb00006f0a0100dcd4010093110100f0fb0000490a0300dd33000027090200f5fc0000760c0200e6fc0000550c020054d50100ff110100df1f0000060103008220000051010100affe00004d0f01003dd4010000110100c90100003000020060e00100d714010029ff0000d10f0100b6330000ce08020057fb0000c0090100b2fe0000500f010003d70100ac130100e9d5010094120100e12400003e030100940701009d1001008f320000f005010049e00100c01401008cd50100371201005d330000ec07020039300000320401006dd401002f110100492f0000a203010022f2010026160100fe320000830601009cd7010045140100793100008404010097d6010042130100c80100002e00020038210000a4010100acd601005513010020fc0000b60a02007e320000df05020024fd0000d40c0200df3200006406010053fc00001c0b0200b9fe0000570f01006ed701001714010078330000330803009fff00004710010019ee0100fd14010019f10100a315030080d40100421101001dfc0000b00a0200ff3000003a04020063fb0000cc0901003af10100e91501003c3300007a07040087fc0000900b02005cd401001e110100a9fe0000470f01001ad40100dd100100bbee0100711501004ed50100fa110100c4ff00006910010023d40100e6100100dcfc00003f0c02008fd501003a12010056d40100181101008cfd0000bc0d0300c2d501006d120100bbfd0000430e03007cd6010027130100abd401006611010057d5010002120100e4fc0000510c02002f32000048050300bc330000da0802007efe00000e0f02004fd40100121101004ad70100f313010067310000720401009efb0000070a01006eff00001610010090ff00003810010000d70100a913010031d40100f410010059d401001b1101003b210000a601030079d701002214010046fc0000020b02004b330000b207030041fc0000f80a020079320000d005020094320000f5050100ebd40100a21101001fd70100c8130100282f000081030100e8fb0000350a0100a2240000d702030059d7010002140100bafc0000fb0b02002e1d00008a00010097fb0000000a01008c2400009a020200a51d0000cf000100d33300000e090200f4fd0000780e0400a3070100ac1001008d2f0000e6030100f7fb0100641601007eee01003d15010031ff0000d90f010004fd0000940c02003e320000750503006c2400003b020200e9d701009014010076fd00007a0d0300283300002807020002d60100ad12010060fe0000eb0e0100581d0000b10001008efd0000c20d03000b320000c9040300a42f0000fd030100d8fc0000370c0200d3fc00002d0c020046d401000911010010330000c50604006ad6010015130100ce33000003090200770f000081000300b7d70100601401008afb0000f30901002f2f0000880301007233000026080200792400005a020300c82400002503010085d401004711010076d4010038110100c1330000e40802007a2f0000d3030100f9d60100a21301002bd40100ee10010075d401003711010051fe0000dd0e0100bf1d0000e9000100803100008b04010027d40100ea100100082f0000610301003ae00100b114010081330000490802005eff0000061001005fd7010008140100f20100003a00020039d50100eb110100f9d40100b0110100432f00009c0301001dfd0000c60c02001ffc0000b40a02007d240000660204003eff0000e60f010076d701001f1401009f1d0000c900010016ee0100fa14010056320000980502007aff00002210010029d60100d412010054ee01002115010059ff000001100100cfd6010078130100f6d601009f130100b5330000cc080200b9d7010062140100d2ff00007310010058330000e20702002a2f000083030100e10200005400010068fc0000500b0300293300002a070300e1fc00004b0c020032d70100db13010054fb0000bd090100e4d401009b1101002d22000024020300b1fd0000250e030094d701003d14010088fe0000210f0200c8d701007114010043ff0000eb0f010020d40100e31001003dfc0000f00a020018fd0000bc0c020087fe00001f0f0200d02f000029040100f9fb0000640a03003b3200006c05030085d601003013010087200000560101005dd7010006140100471d0000a100010042fc0000fa0a02003f2f00009803010082fe0000150f0200c5d601006e13010088ee010046150100e93200006e0601004dd401001011010052fc00001a0b02001c3200000a050400ee1f00000c01030048d401000b11010049330000aa070200e2d501008d12010014f2010018160100393200006605030005200000180101001ef10100b215030038f201003c1601003b2f000094030100affd00001f0e0300dad6010083130100ecff0000881001002cd60100d7120100263200002d05030093ff00003b10010014330000d706020079200000480101008fff000037100100733100007e04010083d501002e120100f9fb010066160100b400000008000200c2fd0000580e0300321d00008d00010018d40100db1001007fff00002710010033f10100e2150100a03200000106010063fd0000410d030071d701001a140100ad330000b4080300b70200004500010011f20100141601006bf101000816020077fb0000e0090100fafe0000a20f030061d4010023110100ea3200006f06010055d5010000120100ab1d0000d5000100bcfe00005a0f0100b1d601005a1301007e31000089040100b1d501005c12010095fe0000330f01001f330000080704000cd70100b513010062d601000d1301000ed70100b713010017d40100da10010010fc0000960a02001afc0000aa0a020055d70100fe130100343100003f04010008330000a806040041d50100f11101008707010090100100acfe00004a0f010029f201002d16010046e00100bd140100c32400002003010026200000240103004901000020000200e73300003d0902001c2100008f010100582f0000b1030100ffd50100aa1201009bfe0000390f01002ffd0000ea0c020010d70100b9130100651d0000be0001001efc0000b20a02009dfd0000e90d03007720000046010100cb24000028030100baee0100701501000eff0000b60f01007efb0000e709010037330000670703008d2400009c02020099fd0000dd0d030065fd0000470d0300acd70100551401001cf10100ac150300ff320000840602007aee01003a1501006be00100e214010047fe0000cf0e010037d60100e212010064320000b005010058fc0000260b020003d60100ae12010078d401003a1101000aff0000b20f0100a3fd0000fb0d0300441d00009e000100d02400002d0301005eab000090090100fcfc0000840c0200e0ff00007c1001000aee0100ee1401003d31000048040100983300007e080200d0fc0000270c02006e2f0000c70301002f20000027010100aafc0000db0b02003ad40100fd10010023fd0000d20c0200f32e0000580301005ffe0000ea0e0100932f0000ec03010086200000550101006dfd00005f0d03009f240000ce02030024d40100e7100100f8fb01006516010062d40100241101004dfe0000d90e01003bd50100ec11010049fe0000d10e0200abd6010054130100323100003d040100c2d701006b1401009cfd0000e60d0300c22f00001b040100f4330000620903003c210000a9010100e8d701008f14010088ff0000301001009dd7010046140100c12400001e030100e02400003d030100b8ee01006e15010070fc0000620b02006cfc00005a0b0200ac2f00000504010002f2010012160100f3fb0000520a0300782f0000d103010055320000960502002e2f00008703010024fb0000b1090100af320000100601004a1d0000a4000100252f00007e0301006eee0100301501002dfd0000e60c02006aff000012100100662400003202010079d501002412010031f201003516010061fc00003b0b0300fdd70100a41401005ffd0000350d03001aee0100fe14010048330000a6070400a9fb0000140a01005fd40100211101006dd6010018130100e8fc0000590c02005bfb0000c409010062ee0100281501004631000051040100ac330000b108030049f10100f815010095320000f605010033330000550704000ffc0000940a02008aff00003210010087330000550802007606000072000200cdff00007010010086fe00001d0f0200e8d601009113010040fc0000f60a02000afc00008a0a02008807010091100100c02f000019040100b6d5010061120100a8ff00005010010089320000ea05010079fd0000830d03000033000086060500551d0000ae000100b5240000100303004c2f0000a5030100633100006e0401000220000015010100572f0000b0030100dbfc00003d0c02009fd401006011010088d601003313010018ff0000c00f0100542f0000ad03010085ee010043150100d12f00002a040100c5330000ee08020053fb0000bc090100973100009f040100cf2f00002804010016d50100c911010001320000ab04030082fd00009e0d030016ff0000be0f010050210000b301030009f10100841502009dfe00003b0f01000f210000840101000e320000d204040040e00100b71401000a330000af0603000eee0100f214010045fc0000000b020048ff0000f00f010047fc0000040b020005d50100bc11010069210000f7010100dc24000039030100d8d701007f14010055fb0000be09010084fe0000190f020022ee01000515010072d701001b140100f033000056090300b1d401006b11010099ff0000411001002efd0000e80c020059210000cf0103008dd501003812010027d60100d2120100ebfe0000890f0100343300005907060026f10100ca150300443100004f04010036e00100ad140100b91d0000e3000100ead6010093130100eed6010097130100c6fe0000640f01004cd60100f7120100bbfc0000fd0b02003320000028010200092000001c0101007733000031080200603100006b0401008cd401004e110100b32400000a030300d0d4010087110100cbff00006e100100adfd0000190e03008bee010048150100b1fe00004f0f0100eafc00005d0c0200762f0000cf030100be3200002c060200b1d701005a140100f8d50100a312010073fd0000710d03001aff0000c20f0100a2fc0000cb0b02001b2100008e010100b2d501005d12010060fb0000c90901002eee01000d1501007120000042010100bbd4010074110100fc3300007a090300effe00008d0f0100fbd40100b211010028d70100d1130100fffc00008a0c0200f8d60100a113010035d50100e7110100341d00008f00010065210000ec0102002cee01000b150100ddd501008812010040210000ad0101002d3200004205030096ee010053150100beff000066100100b5ee01006b15010011330000c906040089fd0000b30d0300d73200005c060100912f0000ea03010098070100a11001006b24000039020200c22400001f0301000ed50100c2110100bcff0000641001009efd0000ec0d0300152100008901010015d70100be130100acfc0000df0b020098fc0000b30b030066fc00004a0b03006f2d0000560301009cd501004712010001fc0000740a030049ee01001a150100192100008c010100d72400003403010042d60100ed120100043300009706050098310000a0040100d4fe0000720f01006c2f0000c503010006d40100c91001001dd60100c8120100d53300001209030007ee0100eb140100ced401008511010001f1010074150200920701009b100100be2400001b030100bc2f0000150401004ff101000416020012fe0000af0e0100c7fe0000650f01002dfc0000d00a02008a24000096020200ed1f000009010300d5d601007e130100b22f00000b0401008bfc0000980b02005831000063040100e3ff00007f10020084fb0000ed09010065fb0000ce09010093ee01005015010008320000c0040300fc3200008106010094fe0000320f01004f2f0000a8030100872f0000e003010075ee010036150100572000003c01040017d60100c2120100e1d501008c120100acfd0000160e03000e2f0000670301001d210000900101001c330000fe060300832f0000dc030100c3d501006e12010073330000280802003bf10100ea150100862400008a02040065d6010010130100e0fc0000480c0300d30300006200020003d40100c610010040d60100eb120100ac240000f5020300392f00009203010040f10100ef1501006ffb0000d809010013fd0000b20c0200c6d401007d11010048f2010058160300833100008e0401002ed60100d912010048f10100f715010089fb0000f209010081ee01003f15010025fc0000c00a020023f20100271601004e330000be070400d22f00002b04010054fd0000140d030001ff0000a90f010040d70100e9130100bcd7010065140100b41d0000de0001003ed4010001110100a9fc0000d90b020022fd0000d00c0200232f00007c0301004e310000590401008afe0000250f020003ff0000ab0f010092320000f3050100f6fc0000780c02003f1d000099000100b81d0000e200010068fe0000f20e0100691d0000c20001009b070100a41001001b330000fa060400a7fd0000070e0300dbff00007a1001007cfc00007a0b0200a5fd0000010e0300413300008e070300a7240000e602030016320000f20404003e2f0000970301009cff00004410010020fb0000ad09010016f101009a1503005b320000a2050200e6d50100911201009ed701004714010014ee0100f81401003f33000087070200d4320000590601002df201003116010088fd0000b00d0300d9d4010090110100aafd0000100e0300c6fc0000130c02006ed501001912010039ee0100161501008ad401004c110100d0d7010077140100b90000000d00010020f10100b81503000bd60100b6120100702f0000c9030100fad40100b11101005c2f0000b5030100ab3200000c060100a3fb00000c0a0100022f00005b0301001ff10100b515030069fc0000530b0300d42400003103010091240000a40203006b320000b705010008fc0000860a0200b2d701005b140100ff330000830903008dfb0000f6090100f0fb01005d1601005232000090050200e5d601008e130100acd501005712010094fb0000fd090100632f0000bc030100a2070100ab10010006fc0000820a02005afc00002a0b020075ff00001d100100dafe0000780f010079ff000021100100622400002e02010009fc0000880a020011210000860101009e310000a604010051d4010014110100202f000079030100a0d601004b13010077d5010022120100b6d701005f14010015ff0000bd0f010044d70100ed1301001cf2010020160100f2fb01005f1601003afc0000ea0a02007b3300003b080200b8fd00003a0e0300c3ff000068100100db330000230902000cff0000b40f01002ad50100dc1101009bee010058150100e22400003f0301009eff000046100100de3200006306010074d501001f12010076ee0100371501009ed501004912010044f201004c16030037f10100e6150100a0fe00003e0f01002aff0000d20f01004f3100005a0401007cd401003e11010067d40100291101004fff0000f70f0100a1fe00003f0f0100a9330000a908020099070100a210010012ee0100f614010092240000a702030096d6010041130100abfc0000dd0b020019fd0000be0c0200e8d50100931201001fee01000315010091fe00002f0f0100c70100002c00020081d601002c130100b72400001403010084d701002d14010042d70100eb130100a23300009408030045d60100f012010070ee01003215010011d60100bc1201007c3300003d08020042d401000511010032fe0000bc0e0100311d00008c0001003831000043040100852400008602040014f1010094150300d0d501007b12010035d60100e012010009330000ac06030008d40100cb10010050fe0000dc0e01008dee01004a15010093fd0000cb0d03007bd6010026130100dbd401009211010036f10100e51501002ff2010033160100edd7010094140100f93200007e060100aa3200000b060100af330000bc080600e424000041030100032000001601010080fd0000980d03004ee00100c51401009bd501004612010085320000e60501008ed70100371401007933000036080300b2070100ba100100b7fe0000550f0100702400004302020020d60100cb120100b4d401006e11010054d70100fd13010046f201005216030060210000e30101002fd70100d81301004ffe0000db0e01007ad401003c110100cd1f0000f70003007d320000db0504008e33000066080200b3330000c808020010fd0000ac0c0200372f00009003010087310000920401005cff00000410010035210000a10101003bd70100e4130100783100008304010086fc00008e0b0200a52f0000fe030100f1d601009a130100b51d0000df0001007dfb0000e609010048fc0000060b0200561d0000af00010047d60100f212010065fe0000f00e010018fc0000a60a0200f1330000590903008c320000ed050100b93200002206020079fb0000e2090100eed40100a51101008f3300006808020063d601000e130100b7330000d00802005ad5010005120100b1fc0000e90b02005432000094050200defb00002b0a0100732f0000cc03010097d401005911010089ff000031100100f5d50100a012010020000000200000000803000061000000200000000403000032000000330000002000000001030000bc0300002000000027030000310000006f000000310000004420000034000000310000004420000032000000330000004420000034000000490000004a000000690000006a0000004c000000b70000006c000000b7000000bc0200006e00000073000000440000005a0000000c030000440000007a0000000c030000640000007a0000000c0300004c0000004a0000004c0000006a0000006c0000006a0000004e0000004a0000004e0000006a0000006e0000006a000000440000005a000000440000007a000000640000007a00000068000000660200006a00000072000000790200007b02000081020000770000007900000020000000060300002000000007030000200000000a03000020000000280300002000000003030000200000000b030000630200006c00000073000000780000009502000020000000450300002000000001030000200000000803000001030000b2030000b8030000a5030000a503000001030000a503000008030000c6030000c0030000ba030000c1030000c203000098030000b5030000a3030000650500008205000027060000740600004806000074060000c7060000740600004a060000740600004d0e0000320e0000cd0e0000b20e0000ab0e0000990e0000ab0e0000a10e00000b0f0000b20f0000710f0000800f0000b30f0000710f0000800f0000dc10000041000000c60000004200000044000000450000008e0100004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000220200005000000052000000540000005500000057000000610000005002000051020000021d0000620000006400000065000000590200005b0200005c020000670000006b0000006d0000004b0100006f00000054020000161d0000171d00007000000074000000750000001d1d00006f02000076000000251d0000b2030000b3030000b4030000c6030000c703000069000000720000007500000076000000b2030000b3030000c1030000c6030000c70300003d040000520200006300000055020000f00000005c020000660000005f020000610200006502000068020000690200006a0200007b1d00009d0200006d020000851d00009f020000710200007002000072020000730200007402000075020000780200008202000083020000ab010000890200008a0200001c1d00008b0200008c0200007a000000900200009102000092020000b803000061000000be02000073000000070300002000000013030000200000001303000020000000420300002000000008030000420300002000000013030000000300002000000013030000010300002000000013030000420300002000000014030000000300002000000014030000010300002000000014030000420300002000000008030000000300002000000008030000010300002000000001030000200000001403000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000001020000020000000330300002e0000002e0000002e0000002e0000002e0000002e0000002000000032200000322000003220000032200000322000003520000035200000352000003520000035200000210000002100000020000000050300003f0000003f0000003f00000021000000210000003f000000322000003220000032200000322000002000000030000000690000003400000035000000360000003700000038000000390000002b000000122200003d00000028000000290000006e000000300000003100000032000000330000003400000035000000360000003700000038000000390000002b000000122200003d000000280000002900000061000000650000006f0000007800000059020000680000006b0000006c0000006d0000006e0000007000000073000000740000005200000073000000610000002f00000063000000610000002f0000007300000043000000b000000043000000630000002f0000006f000000630000002f0000007500000090010000b00000004600000067000000480000004800000048000000680000002701000049000000490000004c0000006c0000004e0000004e0000006f0000005000000051000000520000005200000052000000530000004d00000054000000450000004c000000540000004d0000005a0000005a00000042000000430000006500000045000000460000004d0000006f000000d0050000d1050000d2050000d305000069000000460000004100000058000000c0030000b303000093030000a003000011220000440000006400000065000000690000006a00000031000000442000003700000031000000442000003900000031000000442000003100000030000000310000004420000033000000320000004420000033000000310000004420000035000000320000004420000035000000330000004420000035000000340000004420000035000000310000004420000036000000350000004420000036000000310000004420000038000000330000004420000038000000350000004420000038000000370000004420000038000000310000004420000049000000490000004900000049000000490000004900000049000000560000005600000056000000490000005600000049000000490000005600000049000000490000004900000049000000580000005800000058000000490000005800000049000000490000004c00000043000000440000004d00000069000000690000006900000069000000690000006900000069000000760000007600000076000000690000007600000069000000690000007600000069000000690000006900000069000000780000007800000078000000690000007800000069000000690000006c00000063000000640000006d0000003000000044200000330000002b2200002b2200002b2200002b2200002b2200002e2200002e2200002e2200002e2200002e220000310000003200000033000000340000003500000036000000370000003800000039000000310000003000000031000000310000003100000032000000310000003300000031000000340000003100000035000000310000003600000031000000370000003100000038000000310000003900000032000000300000002800000031000000290000002800000032000000290000002800000033000000290000002800000034000000290000002800000035000000290000002800000036000000290000002800000037000000290000002800000038000000290000002800000039000000290000002800000031000000300000002900000028000000310000003100000029000000280000003100000032000000290000002800000031000000330000002900000028000000310000003400000029000000280000003100000035000000290000002800000031000000360000002900000028000000310000003700000029000000280000003100000038000000290000002800000031000000390000002900000028000000320000003000000029000000310000002e000000320000002e000000330000002e000000340000002e000000350000002e000000360000002e000000370000002e000000380000002e000000390000002e00000031000000300000002e00000031000000310000002e00000031000000320000002e00000031000000330000002e00000031000000340000002e00000031000000350000002e00000031000000360000002e00000031000000370000002e00000031000000380000002e00000031000000390000002e00000032000000300000002e000000280000006100000029000000280000006200000029000000280000006300000029000000280000006400000029000000280000006500000029000000280000006600000029000000280000006700000029000000280000006800000029000000280000006900000029000000280000006a00000029000000280000006b00000029000000280000006c00000029000000280000006d00000029000000280000006e00000029000000280000006f00000029000000280000007000000029000000280000007100000029000000280000007200000029000000280000007300000029000000280000007400000029000000280000007500000029000000280000007600000029000000280000007700000029000000280000007800000029000000280000007900000029000000280000007a000000290000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a000000300000002b2200002b2200002b2200002b2200003a0000003a0000003d0000003d0000003d0000003d0000003d0000003d0000006a00000056000000612d0000cd6b00009f9f0000004e0000284e0000364e00003f4e0000594e0000854e00008c4e0000a04e0000ba4e00003f510000655100006b5100008251000096510000ab510000e0510000f5510000005200009b520000f9520000155300001a53000038530000415300005c5300006953000082530000b6530000c8530000e3530000d75600001f570000eb580000025900000a590000155900002759000073590000505b0000805b0000f85b00000f5c0000225c0000385c00006e5c0000715c0000db5d0000e55d0000f15d0000fe5d0000725e00007a5e00007f5e0000f45e0000fe5e00000b5f0000135f0000505f0000615f0000735f0000c35f000008620000366200004b6200002f650000346500008765000097650000a4650000b9650000e0650000e5650000f06600000867000028670000206b0000626b0000796b0000b36b0000cb6b0000d46b0000db6b00000f6c0000146c0000346c00006b7000002a720000367200003b7200003f72000047720000597200005b720000ac7200008473000089730000dc740000e6740000187500001f75000028750000307500008b75000092750000767600007d760000ae760000bf760000ee760000db770000e2770000f37700003a790000b8790000be790000747a0000cb7a0000f97a0000737c0000f87c0000367f0000517f00008a7f0000bd7f0000018000000c80000012800000338000007f80000089800000e3810000ea810000f3810000fc8100000c8200001b8200001f8200006e82000072820000788200004d8600006b860000408800004c880000638800007e8900008b890000d2890000008a0000378c0000468c0000558c0000788c00009d8c0000648d0000708d0000b38d0000ab8e0000ca8e00009b8f0000b08f0000b58f00009190000049910000c6910000cc910000d191000077950000809500001c960000b6960000b9960000e8960000519700005e9700006297000069970000cb970000ed970000f397000001980000a8980000db980000df9800009699000099990000ac990000a89a0000d89a0000df9a0000259b00002f9b0000329b00003c9b00005a9b0000e59c0000759e00007f9e0000a59e0000bb9e0000c39e0000cd9e0000d19e0000f99e0000fd9e00000e9f0000139f0000209f00003b9f00004a9f0000529f00008d9f00009c9f0000a09f000020000000123000004153000044530000455300002000000099300000200000009a300000883000008a300000b3300000c83000000011000001110000aa11000002110000ac110000ad110000031100000411000005110000b0110000b1110000b2110000b3110000b4110000b51100001a11000006110000071100000811000021110000091100000a1100000b1100000c1100000d1100000e1100000f1100001011000011110000121100006111000062110000631100006411000065110000661100006711000068110000691100006a1100006b1100006c1100006d1100006e1100006f110000701100007111000072110000731100007411000075110000601100001411000015110000c7110000c8110000cc110000ce110000d3110000d7110000d91100001c110000dd110000df1100001d1100001e11000020110000221100002311000027110000291100002b1100002c1100002d1100002e1100002f110000321100003611000040110000471100004c110000f1110000f21100005711000058110000591100008411000085110000881100009111000092110000941100009e110000a1110000004e00008c4e0000094e0000db5600000a4e00002d4e00000b4e000032750000594e0000194e0000014e00002959000030570000ba4e0000280000000011000029000000280000000211000029000000280000000311000029000000280000000511000029000000280000000611000029000000280000000711000029000000280000000911000029000000280000000b11000029000000280000000c11000029000000280000000e11000029000000280000000f1100002900000028000000101100002900000028000000111100002900000028000000121100002900000028000000001100006111000029000000280000000211000061110000290000002800000003110000611100002900000028000000051100006111000029000000280000000611000061110000290000002800000007110000611100002900000028000000091100006111000029000000280000000b1100006111000029000000280000000c1100006111000029000000280000000e1100006111000029000000280000000f1100006111000029000000280000001011000061110000290000002800000011110000611100002900000028000000121100006111000029000000280000000c1100006e11000029000000280000000b110000691100000c11000065110000ab11000029000000280000000b11000069110000121100006e1100002900000028000000004e000029000000280000008c4e00002900000028000000094e00002900000028000000db5600002900000028000000944e000029000000280000006d5100002900000028000000034e000029000000280000006b51000029000000280000005d4e000029000000280000004153000029000000280000000867000029000000280000006b7000002900000028000000346c00002900000028000000286700002900000028000000d191000029000000280000001f5700002900000028000000e565000029000000280000002a68000029000000280000000967000029000000280000003e79000029000000280000000d5400002900000028000000797200002900000028000000a18c000029000000280000005d7900002900000028000000b45200002900000028000000e34e000029000000280000007c5400002900000028000000665b00002900000028000000e37600002900000028000000014f00002900000028000000c78c000029000000280000005453000029000000280000006d7900002900000028000000114f00002900000028000000ea8100002900000028000000f3810000290000004f5500007c5e0000876500008f7b0000500000005400000045000000320000003100000032000000320000003200000033000000320000003400000032000000350000003200000036000000320000003700000032000000380000003200000039000000330000003000000033000000310000003300000032000000330000003300000033000000340000003300000035000000001100000211000003110000051100000611000007110000091100000b1100000c1100000e1100000f11000010110000111100001211000000110000611100000211000061110000031100006111000005110000611100000611000061110000071100006111000009110000611100000b110000611100000c110000611100000e110000611100000f110000611100001011000061110000111100006111000012110000611100000e11000061110000b711000000110000691100000c1100006e1100000b110000741100000b1100006e110000004e00008c4e0000094e0000db560000944e00006d510000034e00006b5100005d4e000041530000086700006b700000346c000028670000d19100001f570000e56500002a680000096700003e7900000d54000079720000a18c00005d790000b4520000d87900003775000073590000699000002a51000070530000e86c000005980000114f000099510000636b00000a4e00002d4e00000b4e0000e65d0000f35300003b530000975b0000665b0000e3760000014f0000c78c0000545300001c590000330000003600000033000000370000003300000038000000330000003900000034000000300000003400000031000000340000003200000034000000330000003400000034000000340000003500000034000000360000003400000037000000340000003800000034000000390000003500000030000000310000000867000032000000086700003300000008670000340000000867000035000000086700003600000008670000370000000867000038000000086700003900000008670000310000003000000008670000310000003100000008670000310000003200000008670000480000006700000065000000720000006700000065000000560000004c0000005400000044000000a2300000a4300000a6300000a8300000aa300000ab300000ad300000af300000b1300000b3300000b5300000b7300000b9300000bb300000bd300000bf300000c1300000c4300000c6300000c8300000ca300000cb300000cc300000cd300000ce300000cf300000d2300000d5300000d8300000db300000de300000df300000e0300000e1300000e2300000e4300000e6300000e8300000e9300000ea300000eb300000ec300000ed300000ef300000f0300000f1300000f2300000e44e00008c540000a2300000cf3000009a300000fc300000c8300000a2300000eb300000d5300000a1300000a2300000f3300000d83000009a300000a2300000a2300000fc300000eb300000a4300000cb300000f3300000af30000099300000a4300000f3300000c1300000a6300000a9300000f3300000a8300000b9300000af300000fc300000c830000099300000a8300000fc300000ab300000fc300000aa300000f3300000b9300000aa300000fc300000e0300000ab300000a4300000ea300000ab300000e9300000c3300000c8300000ab300000ed300000ea300000fc300000ab30000099300000ed300000f3300000ab30000099300000f3300000de300000ad30000099300000ab30000099300000ad30000099300000cb300000fc300000ad300000e5300000ea300000fc300000ad30000099300000eb300000bf30000099300000fc300000ad300000ed300000ad300000ed300000af30000099300000e9300000e0300000ad300000ed300000e1300000fc300000c8300000eb300000ad300000ed300000ef300000c3300000c8300000af30000099300000e9300000e0300000af30000099300000e9300000e0300000c8300000f3300000af300000eb300000bb30000099300000a4300000ed300000af300000ed300000fc300000cd300000b1300000fc300000b9300000b3300000eb300000ca300000b3300000fc300000db3000009a300000b5300000a4300000af300000eb300000b5300000f3300000c1300000fc300000e0300000b7300000ea300000f3300000af30000099300000bb300000f3300000c1300000bb300000f3300000c8300000bf30000099300000fc300000b9300000c630000099300000b7300000c830000099300000eb300000c8300000f3300000ca300000ce300000ce300000c3300000c8300000cf300000a4300000c4300000cf3000009a300000fc300000bb300000f3300000c8300000cf3000009a300000fc300000c4300000cf30000099300000fc300000ec300000eb300000d23000009a300000a2300000b9300000c8300000eb300000d23000009a300000af300000eb300000d23000009a300000b3300000d230000099300000eb300000d5300000a1300000e9300000c3300000c830000099300000d5300000a3300000fc300000c8300000d530000099300000c3300000b7300000a7300000eb300000d5300000e9300000f3300000d8300000af300000bf300000fc300000eb300000d83000009a300000bd300000d83000009a300000cb300000d2300000d8300000eb300000c4300000d83000009a300000f3300000b9300000d83000009a300000fc300000b730000099300000d830000099300000fc300000bf300000db3000009a300000a4300000f3300000c8300000db30000099300000eb300000c8300000db300000f3300000db3000009a300000f3300000c830000099300000db300000fc300000eb300000db300000fc300000f3300000de300000a4300000af300000ed300000de300000a4300000eb300000de300000c3300000cf300000de300000eb300000af300000de300000f3300000b7300000e7300000f3300000df300000af300000ed300000f3300000df300000ea300000df300000ea300000cf30000099300000fc300000eb300000e1300000ab30000099300000e1300000ab30000099300000c8300000f3300000e1300000fc300000c8300000eb300000e4300000fc300000c830000099300000e4300000fc300000eb300000e6300000a2300000f3300000ea300000c3300000c8300000eb300000ea300000e9300000eb300000d23000009a300000fc300000eb300000fc300000d530000099300000eb300000ec300000e0300000ec300000f3300000c8300000b130000099300000f3300000ef300000c3300000c830000030000000b970000031000000b970000032000000b970000033000000b970000034000000b970000035000000b970000036000000b970000037000000b970000038000000b970000039000000b97000003100000030000000b97000003100000031000000b97000003100000032000000b97000003100000033000000b97000003100000034000000b97000003100000035000000b97000003100000036000000b97000003100000037000000b97000003100000038000000b97000003100000039000000b97000003200000030000000b97000003200000031000000b97000003200000032000000b97000003200000033000000b97000003200000034000000b9700000680000005000000061000000640000006100000041000000550000006200000061000000720000006f000000560000007000000063000000640000006d000000640000006d00000032000000640000006d000000330000004900000055000000735e0000106200002d6600008c54000027590000636b00000e660000bb6c00002a6800000f5f00001a4f00003e79000070000000410000006e00000041000000bc030000410000006d000000410000006b000000410000004b000000420000004d00000042000000470000004200000063000000610000006c0000006b00000063000000610000006c00000070000000460000006e00000046000000bc03000046000000bc030000670000006d000000670000006b00000067000000480000007a0000006b000000480000007a0000004d000000480000007a00000047000000480000007a00000054000000480000007a000000bc0300006c0000006d0000006c000000640000006c0000006b0000006c000000660000006d0000006e0000006d000000bc0300006d0000006d0000006d000000630000006d0000006b0000006d0000006d0000006d00000032000000630000006d000000320000006d000000320000006b0000006d000000320000006d0000006d00000033000000630000006d000000330000006d000000330000006b0000006d000000330000006d00000015220000730000006d00000015220000730000003200000050000000610000006b00000050000000610000004d0000005000000061000000470000005000000061000000720000006100000064000000720000006100000064000000152200007300000072000000610000006400000015220000730000003200000070000000730000006e00000073000000bc030000730000006d0000007300000070000000560000006e00000056000000bc030000560000006d000000560000006b000000560000004d0000005600000070000000570000006e00000057000000bc030000570000006d000000570000006b000000570000004d000000570000006b000000a90300004d000000a9030000610000002e0000006d0000002e00000042000000710000006300000063000000630000006400000043000000152200006b00000067000000430000006f0000002e0000006400000042000000470000007900000068000000610000004800000050000000690000006e0000004b0000004b0000004b0000004d0000006b000000740000006c0000006d0000006c0000006e0000006c0000006f000000670000006c000000780000006d000000620000006d000000690000006c0000006d0000006f0000006c0000005000000048000000700000002e0000006d0000002e00000050000000500000004d000000500000005200000073000000720000005300000076000000570000006200000056000000152200006d00000041000000152200006d00000031000000e565000032000000e565000033000000e565000034000000e565000035000000e565000036000000e565000037000000e565000038000000e565000039000000e56500003100000030000000e56500003100000031000000e56500003100000032000000e56500003100000033000000e56500003100000034000000e56500003100000035000000e56500003100000036000000e56500003100000037000000e56500003100000038000000e56500003100000039000000e56500003200000030000000e56500003200000031000000e56500003200000032000000e56500003200000033000000e56500003200000034000000e56500003200000035000000e56500003200000036000000e56500003200000037000000e56500003200000038000000e56500003200000039000000e56500003300000030000000e56500003300000031000000e565000067000000610000006c0000004a0400004c0400006fa70000430000004600000051000000260100005301000027a7000037ab00006b02000052ab00008d02000066000000660000006600000069000000660000006c00000066000000660000006900000066000000660000006c0000007300000074000000730000007400000074050000760500007405000065050000740500006b0500007e05000076050000740500006d050000e2050000d0050000d3050000d4050000db050000dc050000dd050000e8050000ea0500002b000000d0050000dc05000071060000710600007b0600007b0600007b0600007b0600007e0600007e0600007e0600007e060000800600008006000080060000800600007a0600007a0600007a0600007a0600007f0600007f0600007f0600007f06000079060000790600007906000079060000a4060000a4060000a4060000a4060000a6060000a6060000a6060000a6060000840600008406000084060000840600008306000083060000830600008306000086060000860600008606000086060000870600008706000087060000870600008d0600008d0600008c0600008c0600008e0600008e060000880600008806000098060000980600009106000091060000a9060000a9060000a9060000a9060000af060000af060000af060000af060000b3060000b3060000b3060000b3060000b1060000b1060000b1060000b1060000ba060000ba060000bb060000bb060000bb060000bb060000d506000054060000d506000054060000c1060000c1060000c1060000c1060000be060000be060000be060000be060000d2060000d2060000d206000054060000d206000054060000ad060000ad060000ad060000ad060000c7060000c7060000c6060000c6060000c8060000c8060000c706000074060000cb060000cb060000c5060000c5060000c9060000c9060000d0060000d0060000d0060000d006000049060000490600004a06000054060000270600004a06000054060000270600004a06000054060000d50600004a06000054060000d50600004a06000054060000480600004a06000054060000480600004a06000054060000c70600004a06000054060000c70600004a06000054060000c60600004a06000054060000c60600004a06000054060000c80600004a06000054060000c80600004a06000054060000d00600004a06000054060000d00600004a06000054060000d00600004a06000054060000490600004a06000054060000490600004a0600005406000049060000cc060000cc060000cc060000cc0600004a060000540600002c0600004a060000540600002d0600004a06000054060000450600004a06000054060000490600004a060000540600004a060000280600002c060000280600002d060000280600002e06000028060000450600002806000049060000280600004a0600002a0600002c0600002a0600002d0600002a0600002e0600002a060000450600002a060000490600002a0600004a0600002b0600002c0600002b060000450600002b060000490600002b0600004a0600002c0600002d0600002c060000450600002d0600002c0600002d060000450600002e0600002c0600002e0600002d0600002e06000045060000330600002c060000330600002d060000330600002e0600003306000045060000350600002d0600003506000045060000360600002c060000360600002d060000360600002e0600003606000045060000370600002d06000037060000450600003806000045060000390600002c06000039060000450600003a0600002c0600003a06000045060000410600002c060000410600002d060000410600002e06000041060000450600004106000049060000410600004a060000420600002d06000042060000450600004206000049060000420600004a0600004306000027060000430600002c060000430600002d060000430600002e060000430600004406000043060000450600004306000049060000430600004a060000440600002c060000440600002d060000440600002e06000044060000450600004406000049060000440600004a060000450600002c060000450600002d060000450600002e06000045060000450600004506000049060000450600004a060000460600002c060000460600002d060000460600002e06000046060000450600004606000049060000460600004a060000470600002c06000047060000450600004706000049060000470600004a0600004a0600002c0600004a0600002d0600004a0600002e0600004a060000450600004a060000490600004a0600004a060000300600007006000031060000700600004906000070060000200000004c06000051060000200000004d06000051060000200000004e06000051060000200000004f060000510600002000000050060000510600002000000051060000700600004a06000054060000310600004a06000054060000320600004a06000054060000450600004a06000054060000460600004a06000054060000490600004a060000540600004a06000028060000310600002806000032060000280600004506000028060000460600002806000049060000280600004a0600002a060000310600002a060000320600002a060000450600002a060000460600002a060000490600002a0600004a0600002b060000310600002b060000320600002b060000450600002b060000460600002b060000490600002b0600004a0600004106000049060000410600004a0600004206000049060000420600004a0600004306000027060000430600004406000043060000450600004306000049060000430600004a06000044060000450600004406000049060000440600004a0600004506000027060000450600004506000046060000310600004606000032060000460600004506000046060000460600004606000049060000460600004a06000049060000700600004a060000310600004a060000320600004a060000450600004a060000460600004a060000490600004a0600004a0600004a060000540600002c0600004a060000540600002d0600004a060000540600002e0600004a06000054060000450600004a0600005406000047060000280600002c060000280600002d060000280600002e060000280600004506000028060000470600002a0600002c0600002a0600002d0600002a0600002e0600002a060000450600002a060000470600002b060000450600002c0600002d0600002c060000450600002d0600002c0600002d060000450600002e0600002c0600002e06000045060000330600002c060000330600002d060000330600002e0600003306000045060000350600002d060000350600002e0600003506000045060000360600002c060000360600002d060000360600002e0600003606000045060000370600002d0600003806000045060000390600002c06000039060000450600003a0600002c0600003a06000045060000410600002c060000410600002d060000410600002e0600004106000045060000420600002d0600004206000045060000430600002c060000430600002d060000430600002e06000043060000440600004306000045060000440600002c060000440600002d060000440600002e06000044060000450600004406000047060000450600002c060000450600002d060000450600002e0600004506000045060000460600002c060000460600002d060000460600002e06000046060000450600004606000047060000470600002c060000470600004506000047060000700600004a0600002c0600004a0600002d0600004a0600002e0600004a060000450600004a060000470600004a06000054060000450600004a0600005406000047060000280600004506000028060000470600002a060000450600002a060000470600002b060000450600002b060000470600003306000045060000330600004706000034060000450600003406000047060000430600004406000043060000450600004406000045060000460600004506000046060000470600004a060000450600004a06000047060000400600004e06000051060000400600004f060000510600004006000050060000510600003706000049060000370600004a0600003906000049060000390600004a0600003a060000490600003a0600004a0600003306000049060000330600004a0600003406000049060000340600004a0600002d060000490600002d0600004a0600002c060000490600002c0600004a0600002e060000490600002e0600004a0600003506000049060000350600004a0600003606000049060000360600004a060000340600002c060000340600002d060000340600002e060000340600004506000034060000310600003306000031060000350600003106000036060000310600003706000049060000370600004a0600003906000049060000390600004a0600003a060000490600003a0600004a0600003306000049060000330600004a0600003406000049060000340600004a0600002d060000490600002d0600004a0600002c060000490600002c0600004a0600002e060000490600002e0600004a0600003506000049060000350600004a0600003606000049060000360600004a060000340600002c060000340600002d060000340600002e06000034060000450600003406000031060000330600003106000035060000310600003606000031060000340600002c060000340600002d060000340600002e0600003406000045060000330600004706000034060000470600003706000045060000330600002c060000330600002d060000330600002e060000340600002c060000340600002d060000340600002e06000037060000450600003806000045060000270600004b060000270600004b0600002a0600002c060000450600002a0600002d0600002c0600002a0600002d0600002c0600002a0600002d060000450600002a0600002e060000450600002a060000450600002c0600002a060000450600002d0600002a060000450600002e0600002c060000450600002d0600002c060000450600002d0600002d060000450600004a0600002d0600004506000049060000330600002d0600002c060000330600002c0600002d060000330600002c0600004906000033060000450600002d06000033060000450600002d06000033060000450600002c060000330600004506000045060000330600004506000045060000350600002d0600002d060000350600002d0600002d060000350600004506000045060000340600002d06000045060000340600002d06000045060000340600002c0600004a06000034060000450600002e06000034060000450600002e060000340600004506000045060000340600004506000045060000360600002d06000049060000360600002e06000045060000360600002e0600004506000037060000450600002d06000037060000450600002d06000037060000450600004506000037060000450600004a060000390600002c060000450600003906000045060000450600003906000045060000450600003906000045060000490600003a06000045060000450600003a060000450600004a0600003a0600004506000049060000410600002e06000045060000410600002e0600004506000042060000450600002d060000420600004506000045060000440600002d06000045060000440600002d0600004a060000440600002d06000049060000440600002c0600002c060000440600002c0600002c060000440600002e06000045060000440600002e0600004506000044060000450600002d06000044060000450600002d060000450600002d0600002c060000450600002d06000045060000450600002d0600004a060000450600002c0600002d060000450600002c06000045060000450600002e0600002c060000450600002e06000045060000450600002c0600002e06000047060000450600002c060000470600004506000045060000460600002d06000045060000460600002d06000049060000460600002c06000045060000460600002c06000045060000460600002c0600004906000046060000450600004a0600004606000045060000490600004a06000045060000450600004a0600004506000045060000280600002e0600004a0600002a0600002c0600004a0600002a0600002c060000490600002a0600002e0600004a0600002a0600002e060000490600002a060000450600004a0600002a06000045060000490600002c060000450600004a0600002c0600002d060000490600002c0600004506000049060000330600002e06000049060000350600002d0600004a060000340600002d0600004a060000360600002d0600004a060000440600002c0600004a06000044060000450600004a0600004a0600002d0600004a0600004a0600002c0600004a0600004a060000450600004a06000045060000450600004a06000042060000450600004a060000460600002d0600004a06000042060000450600002d060000440600002d0600004506000039060000450600004a06000043060000450600004a060000460600002c0600002d060000450600002e0600004a060000440600002c06000045060000430600004506000045060000440600002c06000045060000460600002c0600002d0600002c0600002d0600004a0600002d0600002c0600004a060000450600002c0600004a06000041060000450600004a060000280600002d0600004a060000430600004506000045060000390600002c06000045060000350600004506000045060000330600002e0600004a060000460600002c0600004a0600003506000044060000d20600004206000044060000d20600002706000044060000440600004706000027060000430600002806000031060000450600002d060000450600002f060000350600004406000039060000450600003106000033060000480600004406000039060000440600004a060000470600004806000033060000440600004506000035060000440600004906000035060000440600004906000020000000270600004406000044060000470600002000000039060000440600004a0600004706000020000000480600003306000044060000450600002c06000044060000200000002c0600004406000027060000440600004706000031060000cc06000027060000440600002c00000001300000023000003a0000003b000000210000003f00000016300000173000002e0000002e0000002e0000002e0000002e00000014200000132000005f0000005f00000028000000290000007b0000007d000000143000001530000010300000113000000a3000000b30000008300000093000000c3000000d3000000e3000000f3000005b0000005d00000020000000050300002000000005030000200000000503000020000000050300005f0000005f0000005f0000002c000000013000002e0000003b0000003a0000003f000000210000001420000028000000290000007b0000007d000000143000001530000023000000260000002a0000002b0000002d0000003c0000003e0000003d0000005c000000240000002500000040000000200000004b060000400600004b060000200000004c060000200000004d060000200000004e060000400600004e060000200000004f060000400600004f06000020000000500600004006000050060000200000005106000040060000510600002000000052060000400600005206000021060000270600005306000027060000530600002706000054060000270600005406000048060000540600004806000054060000270600005506000027060000550600004a060000540600004a060000540600004a060000540600004a0600005406000027060000270600002806000028060000280600002806000029060000290600002a0600002a0600002a0600002a0600002b0600002b0600002b0600002b0600002c0600002c0600002c0600002c0600002d0600002d0600002d0600002d0600002e0600002e0600002e0600002e0600002f0600002f060000300600003006000031060000310600003206000032060000330600003306000033060000330600003406000034060000340600003406000035060000350600003506000035060000360600003606000036060000360600003706000037060000370600003706000038060000380600003806000038060000390600003906000039060000390600003a0600003a0600003a0600003a06000041060000410600004106000041060000420600004206000042060000420600004306000043060000430600004306000044060000440600004406000044060000450600004506000045060000450600004606000046060000460600004606000047060000470600004706000047060000480600004806000049060000490600004a0600004a0600004a0600004a060000440600002706000053060000440600002706000053060000440600002706000054060000440600002706000054060000440600002706000055060000440600002706000055060000440600002706000044060000270600002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b0000007c0000007d0000007e0000008529000086290000023000000c3000000d30000001300000fb300000f2300000a1300000a3300000a5300000a7300000a9300000e3300000e5300000e7300000c3300000fc300000a2300000a4300000a6300000a8300000aa300000ab300000ad300000af300000b1300000b3300000b5300000b7300000b9300000bb300000bd300000bf300000c1300000c4300000c6300000c8300000ca300000cb300000cc300000cd300000ce300000cf300000d2300000d5300000d8300000db300000de300000df300000e0300000e1300000e2300000e4300000e6300000e8300000e9300000ea300000eb300000ec300000ed300000ef300000f3300000993000009a300000601100000011000001110000aa11000002110000ac110000ad110000031100000411000005110000b0110000b1110000b2110000b3110000b4110000b51100001a11000006110000071100000811000021110000091100000a1100000b1100000c1100000d1100000e1100000f1100001011000011110000121100006111000062110000631100006411000065110000661100006711000068110000691100006a1100006b1100006c1100006d1100006e1100006f110000701100007111000072110000731100007411000075110000a2000000a3000000ac0000002000000004030000a6000000a5000000a92000000225000090210000912100009221000093210000a0250000cb250000d0020000d1020000e60000009902000053020000a302000066ab0000a5020000a40200005602000057020000911d0000580200005e020000a90200006402000062020000600200009b020000270100009c0200006702000084020000aa020000ab0200006c02000004df01008ea700006e02000005df01008e02000006df0100f80000007602000077020000710000007a02000008df01007d0200007e02000080020000a8020000a602000067ab0000a702000088020000712c00008f020000a1020000a202000098020000c0010000c1010000c20100000adf01001edf01004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a00000061000000620000006300000064000000650000006600000067000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a000000410000004300000044000000470000004a0000004b0000004e0000004f0000005000000051000000530000005400000055000000560000005700000058000000590000005a000000610000006200000063000000640000006600000068000000690000006a0000006b0000006c0000006d0000006e000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000440000004500000046000000470000004a0000004b0000004c0000004d0000004e0000004f0000005000000051000000530000005400000055000000560000005700000058000000590000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a000000410000004200000044000000450000004600000047000000490000004a0000004b0000004c0000004d0000004f000000530000005400000055000000560000005700000058000000590000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a00000031010000370200009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c00300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c00300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c00300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c00300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c0030000dc030000dd03000030000000310000003200000033000000340000003500000036000000370000003800000039000000300000003100000032000000330000003400000035000000360000003700000038000000390000003000000031000000320000003300000034000000350000003600000037000000380000003900000030000000310000003200000033000000340000003500000036000000370000003800000039000000300000003100000032000000330000003400000035000000360000003700000038000000390000003004000031040000320400003304000034040000350400003604000037040000380400003a0400003b0400003c0400003e0400003f0400004004000041040000420400004304000044040000450400004604000047040000480400004b0400004d0400004e04000089a60000d90400005604000058040000e9040000af040000cf0400003004000031040000320400003304000034040000350400003604000037040000380400003a0400003b0400003e0400003f040000410400004304000044040000450400004604000047040000480400004a0400004b0400009104000056040000550400005f040000ab04000051a60000b104000027060000280600002c0600002f06000048060000320600002d060000370600004a06000043060000440600004506000046060000330600003906000041060000350600004206000031060000340600002a0600002b0600002e0600003006000036060000380600003a0600006e060000ba060000a10600006f060000280600002c060000470600002d0600004a060000430600004406000045060000460600003306000039060000410600003506000042060000340600002a0600002b0600002e060000360600003a0600002c0600002d0600004a060000440600004606000033060000390600003506000042060000340600002e060000360600003a060000ba0600006f060000280600002c060000470600002d060000370600004a0600004306000045060000460600003306000039060000410600003506000042060000340600002a0600002b0600002e06000036060000380600003a0600006e060000a106000027060000280600002c0600002f0600004706000048060000320600002d060000370600004a060000440600004506000046060000330600003906000041060000350600004206000031060000340600002a0600002b0600002e0600003006000036060000380600003a060000280600002c0600002f06000048060000320600002d060000370600004a060000440600004506000046060000330600003906000041060000350600004206000031060000340600002a0600002b0600002e0600003006000036060000380600003a060000300000002e000000300000002c000000310000002c000000320000002c000000330000002c000000340000002c000000350000002c000000360000002c000000370000002c000000380000002c000000390000002c000000280000004100000029000000280000004200000029000000280000004300000029000000280000004400000029000000280000004500000029000000280000004600000029000000280000004700000029000000280000004800000029000000280000004900000029000000280000004a00000029000000280000004b00000029000000280000004c00000029000000280000004d00000029000000280000004e00000029000000280000004f00000029000000280000005000000029000000280000005100000029000000280000005200000029000000280000005300000029000000280000005400000029000000280000005500000029000000280000005600000029000000280000005700000029000000280000005800000029000000280000005900000029000000280000005a0000002900000014300000530000001530000043000000520000004300000044000000570000005a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a00000048000000560000004d000000560000005300000044000000530000005300000050000000500000005600000057000000430000004d000000430000004d000000440000004d00000052000000440000004a0000007b3000004b300000b3300000b3300000b53000004b620000575b0000cc530000c6300000993000008c4e00001a590000e389000029590000a44e00002066000021710000996500004d5200008c5f00008d510000b06500001d520000427d00001f750000a98c0000f058000039540000146f00009562000055630000004e0000094e00004a900000e65d00002d4e0000f353000007630000708d000053620000817900007a7a000008540000806e000009670000086700003375000072520000b65500004d910000143000002c6700001530000014300000094e000015300000143000008c4e00001530000014300000895b00001530000014300000b97000001530000014300000536200001530000014300000d77600001530000014300000dd52000015300000143000005765000015300000975f0000ef53000030000000310000003200000033000000340000003500000036000000370000003800000039000000981014006d000000420000004a000000981014006d00000042000000380000000041ccffd3000bb0034100000000000000000000000000000000000000000000000000000065000000000000004c020000000000000000000000000000000000000000000000000000010000001cba12002a0000008f02000000000000000000000000000000000000000000000000000099020000000000009a020000000000009b020000000000009c020000000000009d020000000000009e020000000000009f02000000000000a002000000000000a102000000000000a202000000000000a302000000000000a402000000000000a502000000000000a602000000000000a702000000000000a802000000000000a902000000000000aa02000000000000ab02000000000000ac02000000000000ad02000000000000ae02000000000000af02000000000000b002000000000000b102000000000000b202000000000000b302000000000000b502000000000000b602000000000000b702000000000000b802000000000000b902000000000000ba02000000000000bb02000000000000bc02000000000000bd02000000000000be02000000000000bf02000000000000c002000000000000c102000000000000c20200000000000000418083d4000b490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500f72756e74696d655f76657273696f6e5863756d756c75732d746573742d70617261636861696e5863756d756c75732d746573742d70617261636861696e01000000020000000100000000010000000100c1010c72756e74696d655f61706973df6acb689907609b05000000d7bdd8a272ca0d650200000004e70521a0d3d2f801000000dd718d5cc53262d40100000037e397fc7c91f5e402000000bc9d89904f5b923f0100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b010000007dc23ff6bf0f15ca01000000ea93e3f16f3d696203000000fbc577b9d747efd601000000a2ddb6a58477bf6301000000ad694c0c2537478a0100000000fb9f15046e616d65001a1963756d756c75735f746573745f72756e74696d652e7761736d01a99f15841800336578745f73746f726167655f70726f6f665f73697a655f73746f726167655f70726f6f665f73697a655f76657273696f6e5f3101236578745f63727970746f5f656432353531395f7665726966795f76657273696f6e5f3102376578745f63727970746f5f736563703235366b315f65636473615f7265636f7665725f636f6d707265737365645f76657273696f6e5f3203256578745f63727970746f5f737232353531395f67656e65726174655f76657273696f6e5f3104236578745f63727970746f5f737232353531395f7665726966795f76657273696f6e5f3205296578745f64656661756c745f6368696c645f73746f726167655f636c6561725f76657273696f6e5f3106306578745f64656661756c745f6368696c645f73746f726167655f636c6561725f7072656669785f76657273696f6e5f32072a6578745f64656661756c745f6368696c645f73746f726167655f6578697374735f76657273696f6e5f3108276578745f64656661756c745f6368696c645f73746f726167655f6765745f76657273696f6e5f31092c6578745f64656661756c745f6368696c645f73746f726167655f6e6578745f6b65795f76657273696f6e5f310a286578745f64656661756c745f6368696c645f73746f726167655f726561645f76657273696f6e5f310b286578745f64656661756c745f6368696c645f73746f726167655f726f6f745f76657273696f6e5f320c276578745f64656661756c745f6368696c645f73746f726167655f7365745f76657273696f6e5f310d306578745f64656661756c745f6368696c645f73746f726167655f73746f726167655f6b696c6c5f76657273696f6e5f330e1c6578745f6d6973635f7072696e745f6865785f76657273696f6e5f310f1d6578745f6d6973635f7072696e745f757466385f76657273696f6e5f3110226578745f6d6973635f72756e74696d655f76657273696f6e5f76657273696f6e5f3111206578745f68617368696e675f626c616b65325f3132385f76657273696f6e5f3112206578745f68617368696e675f626c616b65325f3235365f76657273696f6e5f3113206578745f68617368696e675f6b656363616b5f3235365f76657273696f6e5f31141e6578745f68617368696e675f74776f785f3132385f76657273696f6e5f31151e6578745f68617368696e675f74776f785f3235365f76657273696f6e5f31161d6578745f68617368696e675f74776f785f36345f76657273696f6e5f3117226578745f6f6666636861696e5f696e6465785f636c6561725f76657273696f6e5f3118206578745f6f6666636861696e5f696e6465785f7365745f76657273696f6e5f3119196578745f6c6f6767696e675f6c6f675f76657273696f6e5f311a1f6578745f6c6f6767696e675f6d61785f6c6576656c5f76657273696f6e5f311b1c6578745f73746f726167655f617070656e645f76657273696f6e5f311c1b6578745f73746f726167655f636c6561725f76657273696f6e5f311d226578745f73746f726167655f636c6561725f7072656669785f76657273696f6e5f321e286578745f73746f726167655f636f6d6d69745f7472616e73616374696f6e5f76657273696f6e5f311f1c6578745f73746f726167655f6578697374735f76657273696f6e5f3120196578745f73746f726167655f6765745f76657273696f6e5f31211e6578745f73746f726167655f6e6578745f6b65795f76657273696f6e5f31221a6578745f73746f726167655f726561645f76657273696f6e5f31232a6578745f73746f726167655f726f6c6c6261636b5f7472616e73616374696f6e5f76657273696f6e5f31241a6578745f73746f726167655f726f6f745f76657273696f6e5f3225196578745f73746f726167655f7365745f76657273696f6e5f3126276578745f73746f726167655f73746172745f7472616e73616374696f6e5f76657273696f6e5f31272a6578745f747269655f626c616b65325f3235365f6f7264657265645f726f6f745f76657273696f6e5f32281c6578745f616c6c6f6361746f725f667265655f76657273696f6e5f31291e6578745f616c6c6f6361746f725f6d616c6c6f635f76657273696f6e5f312a7c5f5a4e36395f244c5424636f72652e2e616c6c6f632e2e6c61796f75742e2e4c61796f75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863366262613634393265653837396534452e6c6c766d2e31373035393635313334303832393239383433362b375f5a4e35616c6c6f6335616c6c6f63313868616e646c655f616c6c6f635f6572726f7231376838333166326138623833393766646164452c305f5a4e34636f726533666d743557726974653977726974655f666d7431376836613430353836316362353539303431452d4c5f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e672447542431376835363737633162383437623164376463452e5d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376864633737653830386633366335353863452f5f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f63686172313768383662303535303332343835313332644530635f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e672447542431376835363737633162383437623164376463452e6c6c766d2e353439323137323534323333303738323431695f5a4e35335f244c5424636f72652e2e666d742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831613765663838326461313630313739452e6c6c766d2e353439323137323534323333303738323432365f5a4e35616c6c6f6333666d7436666f726d61743132666f726d61745f696e6e6572313768336561386336306238376162623565324533745f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376864633737653830386633366335353863452e6c6c766d2e353439323137323534323333303738323434765f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f6368617231376838366230353530333234383531333264452e6c6c766d2e3534393231373235343233333037383234354c5f5a4e35616c6c6f63337665633136566563244c54245424432441244754243973706c69745f6f666631336173736572745f6661696c6564313768303164353435623537373939353265344536265f524e76437336393172685462473045655f375f5f5f7275737463395f5f5f72646c5f6f6f6d37525f5a4e35616c6c6f63377261775f766563313763617061636974795f6f766572666c6f7731376839346335656439376361363930386235452e6c6c766d2e313532353533393531313830373831373232383538435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e65313768376635616662656132643963346462334539335f5a4e35616c6c6f63377261775f766563313268616e646c655f6572726f7231376834393138376461316533353232353035453a4c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376866653235643561623135636664333239452e6c6c766d2e31353235353339353131383037383137323238353b5a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376865326630326664653861316262333561453c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376861626438366166373561656437666134453d435f5a4e34636f7265346974657236747261697473386974657261746f72384974657261746f72387472795f666f6c6431376834663234633439303939336161346563453e535f5a4e34636f726535736c69636532395f244c5424696d706c2475323024247535622454247535642424475424313662696e6172795f7365617263685f627931376864363534626131353863616439306533453f3b5f5a4e356269703339384d6e656d6f6e6963313970617273655f696e5f6e6f726d616c697a6564313768666465333966316133626439306466644540325f5a4e356269703339384d6e656d6f6e69633130776f72645f636f756e74313768633662313831623730646632383765304541385f5a4e356269703339384d6e656d6f6e69633136746f5f656e74726f70795f61727261793137683265316561356531386531373532303145424e5f5a4e34395f244c542462697033392e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768393266373565363963613432316665374543395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f7274313768326634383938373935366662613039624544425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f7274313768313763643132663135353631633665384545475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768646134396465336661353635383930624546475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686535646563626630373461346264366645475b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376835383032363766633732343463316364452e6c6c766d2e313333393737333535383633333232353331373248465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c65313768633662666338353365643462343961614549595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376865336530333135636333333766353734454a3e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376865383738666662623331646533363039454b325f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376832633634316162333733333066373738454c435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376865613365633938383535396131363133454d6b5f5a4e36395f244c5424626974636f696e5f6861736865732e2e7368613235362e2e48617368247532302461732475323024626974636f696e5f6861736865732e2e4861736824475424313166726f6d5f656e67696e6531376837303862363530393764343432363433454e705f5a4e38315f244c5424626974636f696e5f6861736865732e2e7368613235362e2e48617368456e67696e65247532302461732475323024626974636f696e5f6861736865732e2e48617368456e67696e652447542435696e70757431376833313232353832666464343734363631454f375f5a4e36626c616b65323134426c616b653262566172436f726538636f6d70726573733137686534303933663230623466316138323845503e5f5a4e3132626c616b6532625f73696d6438706f727461626c653134636f6d7072657373315f6c6f6f70313768366330383961643565396533333438634551325f5a4e3132626c616b6532625f73696d6435537461746536757064617465313768663035306137666130346566306536614552305f5a4e3462733538366465636f646531316465636f64655f696e746f313768306364336334373331363063333532324553775f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d7431376866373732353766623438396632396235452e6c6c766d2e3436343535363834363534343939383336373854625f5a4e36395f244c5424636f72652e2e616c6c6f632e2e6c61796f75742e2e4c61796f75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768633662626136343932656538373965344555325f5a4e3562797465733562797465733542797465733873706c69745f746f3137683134356335663036343737653431313145564a5f5a4e35627974657335627974657331327374617469635f636c6f6e6531376835313365353436303035636339343065452e6c6c766d2e3436343535363834363534343939383336373857325f5a4e35627974657335627974657331337374617469635f746f5f766563313768663335313337356137373262663336654558325f5a4e35627974657335627974657331337374617469635f746f5f6d75743137683361353237366666656530663665333345594e5f5a4e35627974657335627974657331367374617469635f69735f756e6971756531376831613736623931326663326336316533452e6c6c766d2e343634353536383436353434393938333637385a495f5a4e35627974657335627974657331317374617469635f64726f7031376837323563303337393662303838353933452e6c6c766d2e343634353536383436353434393938333637385b3a5f5a4e356279746573356279746573323170726f6d6f7461626c655f6576656e5f636c6f6e6531376831343966616432636436613038623539455c365f5a4e35627974657335627974657331377368616c6c6f775f636c6f6e655f76656331376832613761313365623034626466366135455d3b5f5a4e356279746573356279746573323270726f6d6f7461626c655f6576656e5f746f5f76656331376839336531616137643162616566313066455e375f5a4e35627974657335627974657331387368617265645f746f5f7665635f696d706c31376861333932346636383930306635396565455f3b5f5a4e356279746573356279746573323270726f6d6f7461626c655f6576656e5f746f5f6d7574313768326664306266353735333235303861624560375f5a4e35627974657335627974657331387368617265645f746f5f6d75745f696d706c313768646338613730313533363535396632634561395f5a4e356279746573356279746573323070726f6d6f7461626c655f6576656e5f64726f70313768623937383765393564666539393437664562395f5a4e356279746573356279746573323070726f6d6f7461626c655f6f64645f636c6f6e653137683535623165303732313861643238326545633a5f5a4e356279746573356279746573323170726f6d6f7461626c655f6f64645f746f5f7665633137683864663832363432656663376134373645643a5f5a4e356279746573356279746573323170726f6d6f7461626c655f6f64645f746f5f6d7574313768646363663130383637323061393635354565385f5a4e356279746573356279746573313970726f6d6f7461626c655f6f64645f64726f70313768643662373866396234333935396265314566395f5a4e356279746573356279746573323070726f6d6f7461626c655f69735f756e697175653137683939656237383961326135306530383145674a5f5a4e35627974657335627974657331327368617265645f636c6f6e6531376865333264393863616133306435616361452e6c6c766d2e34363435353638343635343439393833363738684b5f5a4e35627974657335627974657331337368617265645f746f5f76656331376836366366353337646534353562333663452e6c6c766d2e34363435353638343635343439393833363738694b5f5a4e35627974657335627974657331337368617265645f746f5f6d757431376836336531376533646535323537623062452e6c6c766d2e343634353536383436353434393938333637386a4e5f5a4e35627974657335627974657331367368617265645f69735f756e6971756531376865656636613630666365663764656465452e6c6c766d2e343634353536383436353434393938333637386b495f5a4e35627974657335627974657331317368617265645f64726f7031376866383965643231393033313164303934452e6c6c766d2e343634353536383436353434393938333637386c705f5a4e35627974657333666d7435646562756736375f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f72247532302462797465732e2e666d742e2e42797465735265662447542433666d7431376832633261353631646438376433336331456d235f5a4e3562797465733561626f727431376830663033653439353237353366633434456e4e5f5a4e34636f726533666d74336e756d313470617273655f7536345f696e746f31376833333362383337613430323065613365452e6c6c766d2e31363133333238363639313833383534373130326f5f5f5a4e34636f726533666d74336e756d35335f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f722475323024753132382447542433666d74313768326134363965656665336434633061364570475f5a4e34636f726533666d74336e756d38666d745f7531323831376833363062316561343833306465623364452e6c6c766d2e3136313333323836363931383338353437313032715c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e42696e6172792475323024666f72247532302475382447542433666d743137686465663432313261366535643161313445725e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e4c6f7765724865782475323024666f72247532302475382447542433666d74313768653363383764366131613631646431644573425f5a4e34636f7265336e756d37666c743264656338737472617465677936647261676f6e396d756c5f706f773130313768303535376232303137346264623638314574495f5a4e34636f7265336e756d37666c743264656338737472617465677936647261676f6e3135666f726d61745f73686f7274657374313768326637326531393135333336656465354575465f5a4e34636f7265336e756d37666c743264656338737472617465677936647261676f6e3132666f726d61745f6578616374313768326634633265383066346531383035624576335f5a4e34636f72653373747238636f6e76657274733966726f6d5f75746638313768616566306332336137336330643430664577615f5a4e34636f726533666d74336e756d33696d7035315f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f72247532302475382447542433666d743137683663623038633936353838373034316545785e5f5a4e34636f726533666d74336e756d33696d7032315f244c5424696d706c247532302475313624475424345f666d7431376836323232323539393831326638373633452e6c6c766d2e313337303837323331323336303234303631363079625f5a4e34636f726533666d74336e756d33696d7035325f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f7224753230247533322447542433666d7431376866613538326635646630363233376662457a5e5f5a4e34636f726533666d74336e756d33696d7032315f244c5424696d706c247532302475333224475424345f666d7431376865366637653832656161636265363036452e6c6c766d2e31333730383732333132333630323430363136307b625f5a4e34636f726533666d74336e756d33696d7035325f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f7224753230247536342447542433666d7431376836643431616335316564613633383063457c5e5f5a4e34636f726533666d74336e756d33696d7032315f244c5424696d706c247532302475363424475424345f666d7431376836663233323934346439383832353366452e6c6c766d2e31333730383732333132333630323430363136307d625f5a4e34636f726533666d74336e756d33696d7035325f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f7224753230246936342447542433666d7431376836346638623762303930303362626163457e305f5a4e34636f72653970616e69636b696e673970616e69635f666d7431376836643563396362323536326532653331457f3a5f5a4e34636f72653970616e69636b696e67313870616e69635f6e6f756e77696e645f666d74313768306566386334356433353661623264304580012c5f5a4e34636f72653970616e69636b696e673570616e696331376866366530663132333962313337323065458101365f5a4e34636f72653970616e69636b696e67313470616e69635f6578706c69636974313768646532336266636163376338376338374582013a5f5a4e34636f72653970616e69636b696e67313870616e69635f626f756e64735f636865636b31376834316231343337313063653561613764458301355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c6564313768353563366139393863633236616163354584013b5f5a4e34636f72653970616e69636b696e6731396173736572745f6661696c65645f696e6e657231376833353439613963633262613061646662458501355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c656431376861383432613637313438623035353433458601655f5a4e34636f726535736c69636532395f244c5424696d706c24753230242475356224542475356424244754243135636f70795f66726f6d5f736c69636531376c656e5f6d69736d617463685f6661696c31376835313737353438656466313938343962458701765f5a4e34636f726535736c69636532395f244c5424696d706c24753230242475356224542475356424244754243135636f70795f66726f6d5f736c69636531376c656e5f6d69736d617463685f6661696c38646f5f70616e69633772756e74696d6531376832646166323861386132333762323230458801675f5a4e36385f244c5424636f72652e2e666d742e2e6275696c646572732e2e50616441646170746572247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376862633461366634373735313338366265458901695f5a4e36385f244c5424636f72652e2e666d742e2e6275696c646572732e2e50616441646170746572247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f6368617231376865653536643863663337393434383561458a013c5f5a4e34636f726533666d74386275696c6465727331314465627567537472756374356669656c6431376836363433303730326364616232393037458b01385f5a4e34636f726533666d74386275696c6465727338446562756753657435656e74727931376865666134363361366537623864396435458c014a5f5a4e34636f726533666d743557726974653977726974655f666d7431376863323765643166643465643962633337452e6c6c766d2e31303238363031353136333438303431333632318d014c5f5a4e34636f7265336e756d37666c74326465633873747261746567793567726973753139666f726d61745f73686f72746573745f6f707431376865383438613164613036643334303337458e014c5f5a4e34636f72653970616e69636b696e67313170616e69635f636f6e7374323370616e69635f636f6e73745f6469765f62795f7a65726f31376838306238653931316166346335653032458f01495f5a4e34636f7265336e756d37666c74326465633873747261746567793567726973753136666f726d61745f65786163745f6f707431376866613836623036356438663434343131459001595f5a4e34636f7265336e756d37666c74326465633873747261746567793567726973753136666f726d61745f65786163745f6f70743134706f737369626c795f726f756e6431376838373736303232323163316365663364459101425f5a4e34636f726535736c69636535696e6465783234736c6963655f656e645f696e6465785f6c656e5f6661696c31376864363639353665383839623361386135459201445f5a4e34636f726535736c69636535696e6465783236736c6963655f73746172745f696e6465785f6c656e5f6661696c31376862613138313061663962316435306534459301555f5a4e34636f726535736c69636535696e6465783236736c6963655f73746172745f696e6465785f6c656e5f6661696c38646f5f70616e69633772756e74696d6531376861303633643538316161386132363065459401535f5a4e34636f726535736c69636535696e6465783234736c6963655f656e645f696e6465785f6c656e5f6661696c38646f5f70616e69633772756e74696d6531376837313236616239356539353835636538459501405f5a4e34636f726535736c69636535696e6465783232736c6963655f696e6465785f6f726465725f6661696c31376834356631626665653463373037643936459601515f5a4e34636f726535736c69636535696e6465783232736c6963655f696e6465785f6f726465725f6661696c38646f5f70616e69633772756e74696d65313768353638333366373430323731333634384597014c5f5a4e34636f72653970616e69636b696e67313170616e69635f636f6e7374323370616e69635f636f6e73745f72656d5f62795f7a65726f31376833393237653939383964316639613430459801595f5a4e36305f244c5424636f72652e2e63656c6c2e2e426f72726f774572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768396238633239623139313630333061614599015c5f5a4e36335f244c5424636f72652e2e63656c6c2e2e426f72726f774d75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376832353035663861643663366161623538459a01395f5a4e34636f72653463656c6c323270616e69635f616c72656164795f626f72726f77656431376839666362613635383430366336306264459b01415f5a4e34636f72653463656c6c333070616e69635f616c72656164795f6d757461626c795f626f72726f77656431376830376165366130633863326132323865459c01505f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f7274323270616e69635f6f6e5f6f72645f76696f6c6174696f6e31376833356433323537613834316437336562459d01365f5a4e34636f72653373747235636f756e743134646f5f636f756e745f636861727331376866333163663834316433333566626532459e01505f5a4e34636f726537756e69636f64653132756e69636f64655f6461746131356772617068656d655f657874656e6431316c6f6f6b75705f736c6f7731376834623233376632343336303963383537459f01645f5a4e37315f244c5424636f72652e2e6f70732e2e72616e67652e2e52616e6765244c542449647824475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683136316362373661383537613865383245a001325f5a4e34636f7265366f7074696f6e3133756e777261705f6661696c65643137683736623031336439653437616232656145a101325f5a4e34636f7265366f7074696f6e31336578706563745f6661696c65643137683834326433643465376164626332373845a201665f5a4e37335f244c5424636f72652e2e70616e69632e2e70616e69635f696e666f2e2e50616e6963496e666f247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686566323562636666313538623764653345a301455f5a4e34636f726533666d7435666c6f61743239666c6f61745f746f5f646563696d616c5f636f6d6d6f6e5f65786163743137686233636634303336623061343637383945a401485f5a4e34636f726533666d7435666c6f61743332666c6f61745f746f5f646563696d616c5f636f6d6d6f6e5f73686f72746573743137683533306538656635643363373138663045a501395f5a4e34636f726533737472377061747465726e31315374725365617263686572336e65773137683838366335376563393836656266353645a601605f5a4e34636f726533666d7435666c6f617435325f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f7224753230246636342447542433666d743137683637356566653166376164383066623545a701765f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d7431376832343135306464346365333538333730452e6c6c766d2e3133323634373239373033333934363235333331a80180015f5a4e37335f244c5424636f72652e2e6e756d2e2e6e6f6e7a65726f2e2e4e6f6e5a65726f244c54245424475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376830343738313237333965616634616239452e6c6c766d2e3133323634373239373033333934363235333331a901325f5a4e34636f726536726573756c743133756e777261705f6661696c65643137686531626132333764643131356133313645aa01395f5a4e34636f7265336e756d366269676e756d384269673332783430386d756c5f706f77323137683332393961643766643663363036336645ab01605f5a4e34636f7265336e756d366269676e756d38426967333278343031306d756c5f646967697473396d756c5f696e6e657231376863356234366533323235303536343761452e6c6c766d2e3133323634373239373033333934363235333331ac013b5f5a4e34636f7265336e756d37666c743264656331376469676974735f746f5f6465635f7374723137686332613136396261653835316561333645ad01395f5a4e34636f7265336e756d37666c74326465633135746f5f73686f72746573745f7374723137683539666539663664333764346134333045ae013c5f5a4e34636f7265336e756d37666c74326465633138746f5f65786163745f66697865645f7374723137686339306236386131343966303466346545af01535f5a4e34636f72653463686172376d6574686f647332325f244c5424696d706c2475323024636861722447542431366573636170655f64656275675f6578743137683633316339303730366237303737386345b001585f5a4e35395f244c5424636f72652e2e666d742e2e417267756d656e7473247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686465306631306330616535366136333945b101265f5a4e34636f726533666d743577726974653137686439623537653766363532346464393245b201385f5a4e34636f726533666d7439466f726d617474657231327061645f696e74656772616c3137686364373065353139613838646263363645b301465f5a4e34636f726533666d7439466f726d617474657231327061645f696e74656772616c313277726974655f7072656669783137686437663265323538616533643136323545b4012e5f5a4e34636f726533666d7439466f726d6174746572337061643137686163646162616164646639326464396645b5013f5f5a4e34636f726533666d7439466f726d617474657231397061645f666f726d61747465645f70617274733137686663623732336434306262653738313745b6015b5f5a4e34636f726533666d7439466f726d6174746572323177726974655f666f726d61747465645f706172747331376866323238353562343162643633346135452e6c6c766d2e3130363936313733333536303638373638373838b701465f5a4e34636f726533666d7439466f726d6174746572323664656275675f7374727563745f6669656c64345f66696e6973683137686662653437633334326664313064613545b801465f5a4e34636f726533666d7439466f726d6174746572323664656275675f7374727563745f6669656c64355f66696e6973683137683166663238656138653530336230373745b901455f5a4e34636f726533666d7439466f726d6174746572323564656275675f7475706c655f6669656c64325f66696e6973683137683962343338646131303831636631666345ba01455f5a4e34636f726533666d7439466f726d6174746572323564656275675f7475706c655f6669656c64335f66696e6973683137683836653663376530666266616465393645bb01485f5a4e34335f244c5424626f6f6c247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686334313438316262323837393839653645bc01455f5a4e34305f244c5424737472247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686337623065336235306435363731396445bd01465f5a4e34315f244c542463686172247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686231336637616361623765323163643945be01485f5a4e34335f244c542463686172247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686638303030323639636130343965623945bf01475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683230366264396134643938633338363045c001475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683331373434396437663030633930643245c101475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686630636434636536333763666161386445c201495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686230643232373037343462333238376145c301325f5a4e34636f7265337374723136736c6963655f6572726f725f6661696c3137683539363465393439663934333966396345c401355f5a4e34636f7265337374723139736c6963655f6572726f725f6661696c5f72743137686338393632353365306465396264633245c5014e5f5a4e34636f726537756e69636f6465397072696e7461626c6535636865636b31376832616239623866306165346564333332452e6c6c766d2e3138333039393535373138333931313534303038c6013c5f5a4e34636f726537756e69636f6465397072696e7461626c65313269735f7072696e7461626c653137686536663432663439323936663534646345c7019c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686561376363306230663165613866376645c80192025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683061306565383633316534656533383845c901655f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313562756c6b5f737465616c5f6c6566743137686132393839643864636161653762316445ca01665f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313662756c6b5f737465616c5f72696768743137683064646433356565653939323538663145cb015d5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b244324562447542438646f5f6d657267653137686234643235343266383236353335373045cc01f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683333373366366263366234346634326645cd01cd025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653235395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313472656d6f76655f6c6561665f6b763137683236653965313535383565663462613445ce01db025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653236395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313872656d6f76655f6b765f747261636b696e673137683137333961326265376363393033353445cf01465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683039663163616261353737353564376345d001465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686634386331346163383533363835303145d101485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683131353562376665366537653731616545d201485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683135346636356663646466623335656645d301485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683136396666636331666363333536653745d401485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683435616136353363636436343261613345d501485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683531353934363837623365336463636445d601485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683633303637386638333866623239323645d701485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683730326635633231343235623566396145d801485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683736323933656339323638343163393445d901485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683830393364396563353462316665653445da01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683862376439303663363666633339323845db01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683866303637383531306630633334386445dc01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683866353265316264323230363562616445dd01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683936376136386337343139356363346145de01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686136623133333131626533346233326645df01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686163323532303230356166653830376445e001485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686431393936373331613539633836613345e101485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686435636239353161383461326565643745e201485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686530316230316566666234653437633645e301485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686531613337366530636461396233633545e401485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686636356234666235346337373962616345e501485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686665373932623165356238663234653045e60180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683232636565663561336639303938313645e70180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683665633535666264356236633234306345e80180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683732613833383366646565333931623245e90180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683836353732346538666431303663363245ea0180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686230633361333761636130626164626445eb0180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686234646639663639663464366563373645ec0180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686564306164326438366237386430356345ed0193015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137686133636663626238643133363534323745ee0191015f5a4e3131345f244c5424636f72652e2e697465722e2e61646170746572732e2e666c617474656e2e2e466c61744d6170244c542449244324552443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686264356561333334303733626665653045ef01ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683363343264366536373466393434373845f001ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683863383234343239386262363563343745f101ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683966386433653830323631623061656545f201475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683836316133613662626437636264353045f30185015f5a4e34636f726533707472373464726f705f696e5f706c616365244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e48323536244754242447542431376836333434616664343566316433363739452e6c6c766d2e31353130303638393538313534373335383431f4016e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683033626366653531306634393237626545f5016e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686436303835336564623339653430626145f601315f5a4e34636f7265336f70733866756e6374696f6e32466e3463616c6c3137683361356139323636623536306637623145f7014d5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431366c6f61645f6f776e65645f76616c75653137683163303039383063613337383963666145f801315f5a4e34636f7265336f70733866756e6374696f6e32466e3463616c6c3137683530623532646134326438326261383545f9015a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137683035663062396532366232356138333045fa01765f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542432376c6f6f6b5f75705f776974685f63616368655f696e7465726e616c32385f24753762242475376224636c6f73757265247537642424753764243137686162353137633064333731346438353845fb015a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137683664343935653233353532656432323145fc016b5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431366c6f61645f6f776e65645f76616c756532385f24753762242475376224636c6f73757265247537642424753764243137683034663330363363336639333435373345fd016d5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431386c6f6f6b5f75705f776974685f636163686532385f24753762242475376224636c6f73757265247537642424753764243137683537633032303165316464366531363745fe01435f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c2443245124475424376c6f6f6b5f75703137683361393265323334616634666263323245ff015a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f743130726561645f656e747279313768376435306331666665623266303961324580025a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f743130726561645f656e74727931376862383063383539386438353639656338458102685f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f66336e65773137683530393933666539373638333134643045820283015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f663239726561645f6d6573736167696e675f73746174655f736e617073686f74313768616163333732376630383135663162644583027d5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f663233726561645f696e636c756465645f706172615f686561643137683233326664393333633135323230386245840282015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f663238726561645f757067726164655f676f5f61686561645f7369676e616c3137683436653863663034333538666431363045850285015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f663331726561645f757067726164655f7265737472696374696f6e5f7369676e616c31376865383032643139303834663065306634458602ea015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74315f3134315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e72656c61795f73746174655f736e617073686f742e2e52656c61794469737061746368517565756552656d61696e696e6743617061636974792447542439747970655f696e666f31376833623933373564373732623932343462458702dd015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74315f3132385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e72656c61795f73746174655f736e617073686f742e2e4d6573736167696e675374617465536e617073686f742447542439747970655f696e666f313768613137393663373633626237346337644588023e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376832323337363137383363656664363866458902395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376863353634383732653937623363373034458a023e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376866633762383333306535316135313835458b02395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376836393139633233373834303032663832458c023c5f5a4e37747269655f646231306e6f64655f636f646563394e6f6465436f646563366465636f646531376863363566363062356162333265306233458d02445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836373939353261343964316632666463458e02df015f5a4e3139335f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424753230246173247532302473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e6453746f72616765244c54244824475424244754243367657431376866633961343533636533343935353163458f02665f5a4e396861736862726f776e336d61703238486173684d6170244c54244b24432456244324532443244124475424396765745f696e6e657231376830633131666463616231383538363431452e6c6c766d2e393834353939373330323433323134313234349002475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768383935623936366665393633346339624591029a025f5a4e3773705f74726965313373746f726167655f70726f6f663232385f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c54242452462473705f747269652e2e73746f726167655f70726f6f662e2e53746f7261676550726f6f66244754242475323024666f7224753230246d656d6f72795f64622e2e4d656d6f72794442244c5424482443246d656d6f72795f64622e2e486173684b6579244c54244824475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d537461746524475424244754243466726f6d31376866646539343330373063306231356538459202725f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e323476616c69646174655f76616c69646174696f6e5f64617461313768653233306664383332663738626262334593026b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3137686f73745f73746f726167655f72656164313768333932386430396231356464313035664594026a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3136686f73745f73746f726167655f736574313768346466616464626236366232316435634595026a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3136686f73745f73746f726167655f676574313768383034336333656566393331653262624596026d5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3139686f73745f73746f726167655f657869737473313768663664643663663336666338633836354597026c5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3138686f73745f73746f726167655f636c65617231376865643865363938616237383734383666459802715f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3233686f73745f73746f726167655f70726f6f665f73697a65313768633563346565303661313033356566304599026b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3137686f73745f73746f726167655f726f6f7431376864303965643438333030623261663265459a02735f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3235686f73745f73746f726167655f636c6561725f70726566697831376831633462633834616566303436373633459b026d5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3139686f73745f73746f726167655f617070656e6431376835616230356161343339353334323864459c026f5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3231686f73745f73746f726167655f6e6578745f6b657931376864623962373138643135613835373666459d02785f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3330686f73745f73746f726167655f73746172745f7472616e73616374696f6e31376865616131323935663637616465613630459e027b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3333686f73745f73746f726167655f726f6c6c6261636b5f7472616e73616374696f6e31376832643962646539336161393430313433459f02795f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3331686f73745f73746f726167655f636f6d6d69745f7472616e73616374696f6e3137683132343662393861393163303937613345a002785f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3330686f73745f64656661756c745f6368696c645f73746f726167655f6765743137683039633838613333626237353739653445a102795f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3331686f73745f64656661756c745f6368696c645f73746f726167655f726561643137686431633762666264323264323163363745a202785f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3330686f73745f64656661756c745f6368696c645f73746f726167655f7365743137686232643532323336323365366362633945a3027a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3332686f73745f64656661756c745f6368696c645f73746f726167655f636c6561723137683233623436336138333363656366633645a40281015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3339686f73745f64656661756c745f6368696c645f73746f726167655f73746f726167655f6b696c6c3137683236653065616234366564363036643945a5027b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3333686f73745f64656661756c745f6368696c645f73746f726167655f6578697374733137686462646461343932663535613835383845a60281015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3339686f73745f64656661756c745f6368696c645f73746f726167655f636c6561725f7072656669783137686461386435336461633338366566383545a702795f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3331686f73745f64656661756c745f6368696c645f73746f726167655f726f6f743137686564616661326531656536313330303845a8027d5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3335686f73745f64656661756c745f6368696c645f73746f726167655f6e6578745f6b65793137683733613839626539306265396230643445a902665f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e36474c4f42414c365f5f696e69743137683530373431323436633936363031313145aa0286015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686531373239356438656338396232653045ab0289015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683535613639386339663063383334363345ac0283015f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e48323536244754242447542431376865336266643165656337306435343237452e6c6c766d2e3131353738373433383235343836303033383232ad0289015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683635353530333335656261646461393345ae0295015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137686465623166613739353263373865363345af023b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137686232633838646364333236383134393545b0023b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137683536656432653365393937363539623145b1025a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376831343132653838303766663733303562452e6c6c766d2e37323637313534303337323837303739373939b2025a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376836323434626336313636383838363461452e6c6c766d2e37323637313534303337323837303739373939b302465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c653137683366373132353536323033323663333445b402535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137686135383662613835613564663935663045b502535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137686435373532313038616537326239636245b602595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683537313363343831616365323433373445b702595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683964343837376138636566366534666345b802625f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e7431335573656442616e64776964746836617070656e643137683765323362323133363936373161336345b902645f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e7431335573656442616e6477696474683873756274726163743137683239643939643835633362666332323645ba02d4015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3132315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e48726d704368616e6e656c5570646174652447542439747970655f696e666f3137683161306433393135346465656464303345bb02d0015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3131375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e5573656442616e6477696474682447542439747970655f696e666f3137686235363038656138303161613936396545bc02475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683539303963623238393930393765656345bd02475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683633386336333135393631616361336145be02475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686261396434373166636562613235616145bf02495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683136646162343537613839356330623845c002425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683934323737313436363832393561393745c102425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686433366336336263616337326664636545c202395f5a4e3773705f7472696531316e6f64655f68656164657231316465636f64655f73697a653137683462373764343838333630323833633345c302765f5a4e38365f244c542473705f747269652e2e6e6f64655f6865616465722e2e4e6f64654865616465722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686234313631656538383333366662336245c4029e015f5a4e31307363616c655f696e666f35696d706c733130345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242447542439747970655f696e666f3137683635643730383434343864613537333645c502c6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3130375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d62657224432448617368244754242447542439747970655f696e666f31376861306564633433366431646566316330452e6c6c766d2e3131373232333432373531343430383639363432c602b6015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3131385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e64446f776e776172644d657373616765244c5424426c6f636b4e756d626572244754242447542439747970655f696e666f3137683433383932376637323163613736316445c70285015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683163323061666638636235663866303645c80293015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683134306666636165653763333036343945c90298015f5a4e3132315f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e457874726163744966244c54244b24432456244324462443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683731616264396165366630353535316145ca02ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683663613365623735323962353561393845cb02b2015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3131345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e6448726d704d657373616765244c5424426c6f636b4e756d626572244754242447542439747970655f696e666f3137686536383234316263613939636135393445cc025e5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431306f725f64656661756c743137683262656138303139313132656235663645cd02a8015f5a4e39365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653133636c6f6e655f7375627472656531376833306432623933393963336334383639452e6c6c766d2e3131373232333432373531343430383639363432ce0281015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683237343435663337363138623531393345cf0281015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686133656565336266616134636131373045d00281015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683934313835386238373032633066353745d102355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683533323233613166636566626565316145d202355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683638646533623236336636346164323345d302355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137686234316166636239653831613738383945d4024c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137686363346130383661653234643063386645d502b9015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424336765743137686533306534623630373334616461643245d602be015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137683638643064353937313730363064623845d702b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f3137683831656432323736373832633562303045d802ae015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3131325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e244754242447542439747970655f696e666f3137683662376331386237353532396664613945d902ad015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e4162726964676564486f7374436f6e66696775726174696f6e24475424366465636f64653137683166376237646233663035333839303145da02415f5a4e37747269655f6462346e6f646531304e6f646548616e646c653135746f5f6f776e65645f68616e646c653137683732656233613731613566623535663645db02385f5a4e37747269655f6462346e6f6465344e6f64653133746f5f6f776e65645f6e6f64653137686535373336623562356562323863376445dc02715f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313870617261636861696e5f696e686572656e7433356465636f6e7374727563745f70617261636861696e5f696e686572656e745f646174613137683662306538663739666437623966663045dd02d3015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313870617261636861696e5f696e686572656e74315f3132305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e496e626f756e644d65737361676549642447542439747970655f696e666f3137683532386562356438666566386639336545de02f3015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313870617261636861696e5f696e686572656e74315f3135325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e4162726964676564496e626f756e644d65737361676573436f6c6c656374696f6e244c54244d657373616765244754242447542439747970655f696e666f3137683839653166653964333033646132343745df02f3015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313870617261636861696e5f696e686572656e74315f3135325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e4162726964676564496e626f756e644d65737361676573436f6c6c656374696f6e244c54244d657373616765244754242447542439747970655f696e666f3137686532376138373862613164356361336345e002dd015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313870617261636861696e5f696e686572656e74315f3133305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e426173696350617261636861696e496e686572656e74446174612447542439747970655f696e666f3137683230343232383563373065633132386445e102d6015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313870617261636861696e5f696e686572656e74315f3132335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e496e626f756e644d65737361676573446174612447542439747970655f696e666f3137683534616237333039356634623733306445e2028f015f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f31376865303831626566626433316134323039452e6c6c766d2e3136393630343232353535323632363534313730e302735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137683664666531313563306438303231666245e402755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683239373963343034396536326461613545e502755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683562306361383263623263316263393645e6028f015f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f31376833316634636364393463633039373037452e6c6c766d2e3136393630343232353535323632363534313730e702a2015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c54244824475424244754243773746f726167653137686335643134336563653333373138313245e80283015f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e48323536244754242447542431376865336266643165656337306435343237452e6c6c766d2e3136393630343232353535323632363534313730e902bf045f5a4e34636f72653370747235313464726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624432473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e556e696d706c656d656e746564436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e556e696d706c656d656e7465645265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754242447542431376862366663313366363534646662316233452e6c6c766d2e3136393630343232353535323632363534313730ea024c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376862616563313130663063303462623266452e6c6c766d2e3136393630343232353535323632363534313730eb02435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683234303638386433323934386365623845ec02435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683931636630313831626165613733343445ed02435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686637656361363534336666356161666445ee025a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683932643731323961346165616132333045ef029e015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f31376838313032353066623463353761663762452e6c6c766d2e36303134333230333837353031313735343030f002c3015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3130365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e4f7574626f756e6448726d704d657373616765244c54244964244754242447542439747970655f696e666f31376830396137636239356231643536353231452e6c6c766d2e36393338313232323831303333343737363731f102bf015f5a4e323363756d756c75735f7072696d6974697665735f636f7265315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f636f72652e2e43756d756c75734469676573744974656d24475424366465636f646531376866343436663339383061313531663262452e6c6c766d2e36393338313232323831303333343737363731f20297015f5a4e323363756d756c75735f7072696d6974697665735f636f7265315f38395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f7072696d6974697665735f636f72652e2e436f6c6c6174696f6e496e666f2447542439747970655f696e666f3137686135346562313961643733663038396345f30280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683065303263323633623163336236353345f40280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686564313564323863626134643330656645f50280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686432376435656139356634396534393345f602735f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376835653764393833643637623334393864452e6c6c766d2e37313731323834323032393235343430333433f702ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683963343134376232616430306364636145f8024b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376830613337353636333539323539626339452e6c6c766d2e37313731323834323032393235343430333433f902ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683239346236636534323131623936383345fa02ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683562623864366366653737336535623345fb024c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376833376636623131353336363661343330452e6c6c766d2e3134313937383332373739353534333132303336fc025a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683066323731653565396131346366383045fd027a5f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e7431374d6573736167655175657565436861696e3133686173685f6d73675f6461746131376837303961316265383663623633353438452e6c6c766d2e3130323230363538383934373530323731373235fe02695f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e7431374d6573736167655175657565436861696e3232657874656e645f776974685f6861736865645f6d73673137683531376430316434356166653833323645ff02b4015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3130335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e4861736865644d6573736167652447542439747970655f696e666f31376863666135313638623866316336383138458003b8015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3130375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e4d6573736167655175657565436861696e2447542439747970655f696e666f3137683530333262353066323331633630316645810387015f5a4e343263756d756c75735f7072696d6974697665735f70726f6f665f73697a655f686f737466756e6374696f6e313873746f726167655f70726f6f665f73697a65323665787465726e5f686f73745f66756e6374696f6e5f696d706c73313873746f726167655f70726f6f665f73697a6531376864643134643964316466336230616362458203465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376830393734616335323331313934313339458303465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376835366134666363323234383235346634458403465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376831383865326139303531316433306266458503465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376831626435383930643331393963313561458603465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376863303461623631313036326633633135458703465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376832356363353432613436616539313534458803465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376832393661336162656664656138353831458903465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376832633962366562393666616565383063458a03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376832636134616666653865343363386662458b03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376833303633646135613362653836316466458c03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376833366261383264613632653730323239458d03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376833393164623164313462396166656266458e03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376833393566333261373631363633363139458f03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376833623832663065393561366433356666459003465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376834353037653935326136303931633538459103465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376835336238396535656136313765623966459203465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376835346162353539353231643636396333459303465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376836313961616262333063623037333139459403465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376836326237303031333238343566653466459503465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376836613165343961383839633062346563459603465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376837363633356138383237396139306462459703465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376837623836353634373662396164633937459803465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376839303231363939633564383732393763459903465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376839303734616432373464626434353838459a03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376839333234366332353935316532356337459b03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376839623338663265303839666439613430459c03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376861363339353762373235363831613236459d03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376861363830353038303335336639353264459e03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376861393564636165626535383632373839459f03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686233316464346236326163663231636345a003465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686265373932663365626464393464353245a103465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686331373333323934323631643731323245a203465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686333613037633236666266346636323445a303465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686335373434373866356137353964336145a403465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686336643638623661333565623737623245a503465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686432366161613635666231376166333645a603465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686439663461373234666237626363623045a703465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686461323666363932636430636137616245a803465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686466613465663165323836323838323945a903465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686535613738333336623061623462366245aa03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686538336537613966303039626562393745ab03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686633326330336565323066386663393545ac03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686637383131626631313336636630633545ad03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686663316236633636653662626662313945ae03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686663636437343366626361363637306345af03465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e3137683130363463613830323330336466653445b003465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e3137683666633436363732646132363632373745b103475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683966643539393466336235666137613645b203475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137686566613763636365633733616661313545b3035f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137683633656631363337363336633162643045b4039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683134653966343136313165303332393345b50392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137686164336362366232346461636164656245b6039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683663393831353135396230653330383845b70392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137686137646366346536313233646461363345b8039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683665656164353639613739616137646245b90392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683334343536656132626634306237326545ba039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683764326264653030636663366236656645bb0392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683035336539366465616166336338313545bc039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686233393731356532363930336532333045bd0392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683930353961663366323064363863633945be039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686530326165343839383439633934623545bf0392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683666666139313066336166393737653645c0039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686534356536643339653232313231646145c10392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683132613036613461663637313531343045c2039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686663376661363832376363306633373645c30392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683037393239656465613536363561656645c403655f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313562756c6b5f737465616c5f6c6566743137686533333562643362336234666363333645c503665f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313662756c6b5f737465616c5f72696768743137683438363335373135323038613433656145c6035d5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b244324562447542438646f5f6d657267653137686563626166346261343235393730653745c703f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683137333139326165306235323062346345c803f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683234623965383163376136316363313345c903f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683666626262303230353433633461613145ca03f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683739333161616261313731633461653445cb03f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683837313739373164363437666534343345cc03f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683865363630666238356461663562326645cd03cd025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653235395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313472656d6f76655f6c6561665f6b763137683062643161393231653830333835666245ce03db025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653236395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313872656d6f76655f6b765f747261636b696e673137686534383836343632373765636434393645cf03d5015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565367365617263683134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c244754242447542431317365617263685f747265653137683139316363613765386165643964643845d003d5015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565367365617263683134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c244754242447542431317365617263685f747265653137686461336562663764356135306339643845d103d4025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565386e617669676174653236345f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e56616c4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754242447542431346e6578745f756e636865636b65643137683166633735303565653331623036323745d203445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683031333637656330396231326633353745d303445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683034303865623031656236623234343145d403445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683036623038363134656661653935643245d503445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683061303361663537336130336165363245d603445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683062623533616438366132313331653245d703445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683062643934366664666530363032326245d803445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683064623238383464636639613266613445d903445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683066376632653638613464613066373745da03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683066396130326136646463363537633645db03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683131666439643061333562656665616445dc03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134373365623837306335366664643745dd03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683135383731336431356537666434366145de03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683135633261336337643262616633333945df03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683137633732376131393932616334623545e003445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683161623861326663616665343166306245e103445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683162366431313061393138323133303745e203445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683165323536303265386561643932373345e303445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683165366361393635363731346134303045e403445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683233373135333234326364353761393745e503445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683234656332323039363635363039336445e603445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683237326362343766363136383538383445e703445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683238663036646665373865306433326645e803445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683239616133663962666433653338646145e903445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683265336663376238313333643239386145ea03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683266333239366338306363653838613745eb03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683330396563616236616331326639336245ec03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683333313665663063323637633636616645ed03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683334613831323231353264373038356645ee03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683335613732656663373537393739656645ef03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683335633333373964376266313836366445f003445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683338393437343563303137316234323745f103445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683339633862366364653662353435393745f203445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683362616132363937633636343436346645f303445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683364353264353966666130636133646445f403445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683366396630643433626636353961323045f503445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683366623637383131656263623661343745f603445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683432346331356332316236393237333945f703445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683434653664336264373463643731643745f803445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683438343765663863323663306537313245f903445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683463336466373039633033643963303045fa03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683530613932633764326662656131363445fb03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683530643162643163353462316363633045fc03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683534373434303162333234303461613345fd03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683538616636353035363862633263626545fe03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683564323932386439613437306265303945ff03445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376835653734393063343737356138306361458004445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836303664343832626134316566616234458104445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836313234353638333231663062316465458204445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836363637363166313065646465353766458304445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836373134623735353735326534663661458404445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836386534303530633966623862653433458504445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836396139643134383930313231333936458604445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836396637326236653735343262653134458704445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836626165393434363434653334616366458804445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836626230653436346438306635663266458904445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836626432333838646265613162636130458a04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836646336363762323237313239653261458b04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836646638303934646230613437336663458c04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837343732653966653661373933343932458d04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837343833336234393761356331663932458e04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837353130626634663733353935316662458f04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837353339363235616634343232616262459004445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837356130313639326664653734663164459104445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837383834306232366666373939326633459204445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837646466626230323761666132363733459304445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838313162666665353038623433646461459404445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838326337626263393164376563393138459504445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838333932323731363534643332383265459604445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838373065373134646234663565393232459704445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838616463363830323265633663666362459804445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838623463373265323631613863306432459904445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376838646362623761353665366636316132459a04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839356537666465346364653966366663459b04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839363163656137343163623835343338459c04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839393733326330376237346633333335459d04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839633033313066373837343565626237459e04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861356431616265373131393832343264459f04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686138616333613334396362653930376645a004445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686139303330346163666134323834326145a104445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686161373431366538356166656430383745a204445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686162333864393566623339636665653045a304445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686163306131363936343161663263646445a404445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686163316662613737666132643438616145a504445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686163656661626135353137316266373445a604445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686166646234623965643339646137626645a704445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686166646564616337656662323238663545a804445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686230393839613031613639636337323045a904445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686232393036373666613230366638633545aa04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686234353830623363323966356365383245ab04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686237616639356665626265386661343645ac04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686237643031376337666536666339366345ad04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686238366265616361376465343864623645ae04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686261366537663731366139663766656545af04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686262633863366533353038666366623245b004445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686330373665636633666537333732633945b104445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686334663462303032656163336636303745b204445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686335616431343436303331313466383345b304445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686335646633313834636539333030373345b404445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686361616239626635313365383761346245b504445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686363663938633163383963333932346445b604445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686364306630316130383430656239393045b704445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686365356339303136376362306133386445b804445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686430353630356639663564396338613845b904445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686431386465633862323435623730653845ba04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686432383731393764653461643237393845bb04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686438643633353935393535336533366545bc04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686463666131343130313036643433613545bd04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686466303933656130306631326364343145be04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686537316561626337636232633931613545bf04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686539363934383531633765653739336445c004445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686562336462653263366133353635623645c104445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686562383361353031626536613163376645c204445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686562623965613861303739373034373645c304445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686564326266333364646639633830656245c404445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686564643963613236646531653438626445c504445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686564653566333066666636643536343445c604445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686630373139626335303134346165646445c704445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686631613930393863663561376263393245c804445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686632346635323631636432376435396245c904445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686633306565653233353830626431303145ca04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686638303564383365643864383965663545cb04445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686661343833326461376231393665616245cc0486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683133613066613061626131633333346345cd0486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683632653734646233303338643866333645ce0486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683831303135353861366335333532373845cf0486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683839306133383431333162313765353945d00486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686162383937393835366161343930376145d10486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686235643139323237343438343937333945d20486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686361623830313139646537383366616645d30486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683061633531666564333761653066386445d40486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683638386535663938643735653635363545d50486015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686666353037353632336461363762363545d60487015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683233383861373666356430646430616545d70487015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683332636264663135633664353261653745d80487015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683563666534376636393566323839393145d90487015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683937633738633939353934663736376245da0486015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683661663738336339653064343965623545db0486015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686137343031633664393761333437626145dc048c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686533303139626563636632616162306445dd048c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686530366535323165333330383165343045de048d015f5a4e3130355f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683933633431386264666237323034646445df046d5f5a4e31307363616c655f696e666f35696d706c7335365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424524624542447542439747970655f696e666f3137686663353031373232326330636532303045e004ac015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3130375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d62657224432448617368244754242447542439747970655f696e666f3137683736373566666364663764366265326345e104d5015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e73346d697363315f3131365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e6d6973632e2e4964416d6f756e74244c5424496424432442616c616e6365244754242447542439747970655f696e666f31376839333266323264633365656437626663452e6c6c766d2e36333534393236343833323332383531373632e204d5015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e73346d697363315f3131365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e6d6973632e2e4964416d6f756e74244c5424496424432442616c616e6365244754242447542439747970655f696e666f31376836656138646263373065663436333764452e6c6c766d2e36333534393236343833323332383531373632e304c3015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3130365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e4f7574626f756e6448726d704d657373616765244c54244964244754242447542439747970655f696e666f31376866313134356565353231373833363161452e6c6c766d2e36333534393236343833323332383531373632e404ed015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3132315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e416e636573746f72244c542448244754242447542439747970655f696e666f31376835636266383765303233376134366331452e6c6c766d2e36333534393236343833323332383531373632e50495015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683236613036663232646364356235666345e60495015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683537383937656336396231343834646345e70495015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683837366536613865363363646266336545e80495015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137686530356665633734663062326336376545e9043f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683463366439623237326635393536616445ea04ae015f5a4e313073705f72756e74696d653767656e6572696335626c6f636b315f3131305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e426c6f636b244c542448656164657224432445787472696e736963244754242447542439747970655f696e666f3137683537366336323837623562303632373645eb04b2015f5a4e313073705f72756e74696d653767656e6572696335626c6f636b315f3131345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e4c617a79426c6f636b244c542448656164657224432445787472696e736963244754242447542439747970655f696e666f3137683764386235303631386664616532613245ec04bc015f5a4e313073705f72756e74696d653767656e6572696335626c6f636b315f3132375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e4c617a79426c6f636b244c542448656164657224432445787472696e7369632447542424475424366465636f64653137683563316362653931663763326430616145ed04b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137683830623266346337633934383863623845ee04bc015f5a4e313073705f72756e74696d653767656e6572696335626c6f636b315f3132375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e4c617a79426c6f636b244c542448656164657224432445787472696e7369632447542424475424366465636f64653137683865626639313665613433626531383245ef04bc015f5a4e313073705f72756e74696d653767656e6572696335626c6f636b315f3132375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e4c617a79426c6f636b244c542448656164657224432445787472696e7369632447542424475424366465636f64653137683935316232663365636364336362613245f004b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137683135636164393533613431323263373145f104b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137683766363331666439356364303566326445f204b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137686137333063373365653839623636383645f304b9015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d62657224432448617368244754242447542439656e636f64655f746f3137686461366530363039623630623263396645f4044d5f5a4e313073705f76657273696f6e313452756e74696d6556657273696f6e32346465636f64655f776974685f76657273696f6e5f68696e743137686438316631653837666437663364373545f504c9015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e73346d697363315f3132395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e6d6973632e2e4964416d6f756e74244c5424496424432442616c616e6365244754242447542439656e636f64655f746f3137683164633962373963356336626139396645f6049b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137686631666438386136376430666238636345f704475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683030306133616163326130643565363745f804475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683165626365623433353239613366346645f904e1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e416e636573746f72244c542448244754242447542439656e636f64655f746f3137683766366163613735666530333034656445fa04b0015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e4162726964676564486f7374436f6e66696775726174696f6e2447542439656e636f64655f746f3137683533666438343232623330633066373045fb04475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683632343637353761366233336534393945fc04585f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376834653365303739343461303939326230452e6c6c766d2e36333534393236343833323332383531373632fd04475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137686139313764376232316538363231633845fe043f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683065633133643739373865613034313245ff043f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f6465313768613533386232653230653734653036614580053f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f6465313768636433663735306535666438383837304581053f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f6465313768636635376133366231383139613933364582053f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f6465313768643239633933356463396635636666374583053f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376865323338333331383432326239636239458405ce015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f76656331367363616c655f636f6465635f696d706c3132315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c542454244324532447542424475424366465636f646531376837613439363035376165646230613361458505ce015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f76656331367363616c655f636f6465635f696d706c3132315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c542454244324532447542424475424366465636f646531376838653431373138356264386663373632458605b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376831323132636361653837376665366637458705b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376835313062643633613336353535333562458805b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376837336139353932346465313531303263458905b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376839306136303961643663393330613330458a05c2015f5a4e3139626f756e6465645f636f6c6c656374696f6e7331367765616b5f626f756e6465645f766563315f3131375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e7765616b5f626f756e6465645f7665632e2e5765616b426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376864326531343130326538636232323463458b05a7015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e416272696467656448726d704368616e6e656c24475424366465636f646531376838393463633632363636616236356331458c05aa015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e416272696467656448726d704368616e6e656c2447542439656e636f64655f746f31376865346661353737393131333962356136458d05ae015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3131325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e244754242447542439747970655f696e666f31376830626136613533326634363565633633458e05ad015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e4162726964676564486f7374436f6e66696775726174696f6e24475424366465636f646531376862326138323038316166306365663939458f05b8015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3132355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e2447542424475424366465636f646531376832626666366337636434396630636365459005b8015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3132355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e2447542424475424366465636f646531376834633432323361666664636665626430459105bb015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3132355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e244754242447542439656e636f64655f746f313768633034643738646437353365373564354592059c015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e554d505369676e616c24475424366465636f646531376861396664313661353064383932613034459305bc015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3132375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e6448726d704d657373616765244c5424426c6f636b4e756d6265722447542424475424366465636f646531376835353533373163613431376463326533459405bc015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3132375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e6448726d704d657373616765244c5424426c6f636b4e756d6265722447542424475424366465636f646531376838393338376165356538363439646330459505da015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3132375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e5365676d656e74547261636b6572244c542448244754242447542439747970655f696e666f31376863343834616366343761363831386335459605de015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e416e636573746f72244c5424482447542424475424366465636f646531376861303037643436393163366533393733459705e4015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3134305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e5365676d656e74547261636b6572244c5424482447542424475424366465636f646531376830666534643532303161656262326266459805be015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e4861736865644d65737361676524475424366465636f646531376830613362653265376239613634323235459905be015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e4861736865644d65737361676524475424366465636f646531376863303939386161633763623237333765459a05c1015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e4861736865644d6573736167652447542439656e636f64655f746f31376838626232626635386330633265616161459b05c6015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3132345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e50617261636861696e496e686572656e744461746124475424366465636f646531376836316264653363346135643236353430459c05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831346430343934333739343834366131459d05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831666431376633313766333062353661459e05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376832303035386666346433326432323163459f05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683237363665383738303038363934316445a005475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686437643861363935656134623233656145a105475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683962613163343835303963313934666245a205475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683337343331643237363736623537636545a305475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683364316239313331616137663564643345a405475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683433643434626633646665323563653845a505475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683438306535306336653934343465643545a605475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683538656533396136616365663239656545a705475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683761613035336564303031666331666445a805475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683835303666626431623262626361313945a905475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683936666338663933313037316237356245aa05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686130623538656532623638376464306545ab05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686231653761663531366134633564613745ac05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686239323762313733643133306261363045ad05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686331656630313339353932386633346545ae05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686431656366313963373636373031646445af05475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686432623066663137646336366337376645b005475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686534316662373866656132343536386345b105475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686535363732303062393739623439373645b205475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686565343439313061323165376231653945b305495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683733613932303261663162356131643845b405495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686663396362323235373464343237386545b5055c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d743137683234313530646434636533353833373045b605505f5a4e34636f726533707472343664726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c5424753824475424244754243137683161303163653534303130646138366145b7055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376830393937356161643165666563643365452e6c6c766d2e36333534393236343833323332383531373632b8055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376831613230663836343363666630316637452e6c6c766d2e36333534393236343833323332383531373632b9055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376833626237353236343166316334303731452e6c6c766d2e36333534393236343833323332383531373632ba055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376836373235663564373038663832616362452e6c6c766d2e36333534393236343833323332383531373632bb055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376838396462323333643461656239383562452e6c6c766d2e36333534393236343833323332383531373632bc055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376839663963653830663439353535343031452e6c6c766d2e36333534393236343833323332383531373632bd055a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376861373334366435623631373032363163452e6c6c766d2e36333534393236343833323332383531373632be05425f5a4e34636f726535736c69636534736f727436736861726564357069766f74313263686f6f73655f7069766f743137683166656337626361323266626230303345bf05425f5a4e34636f726535736c69636534736f727436736861726564357069766f74313263686f6f73655f7069766f743137683236353934356130653637346538613345c0054f5f5a4e35305f244c5424244c5024552443245424525024247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686135356163373132653366616562616445c1055f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137686261323863636532386536383964616345c205745f5a4e38365f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683737643439376564303965623164333345c3057b5f5a4e39345f244c5424626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c5424542443245324475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683531613136326261613063666139643145c4057b5f5a4e39345f244c5424626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c5424542443245324475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686562643330306430313161383863623445c505ba015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e56616c69645472616e73616374696f6e2447542439656e636f64655f746f3137686337316162326262333964353434616645c605c2015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3132325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e5472616e73616374696f6e56616c69646974794572726f722447542439656e636f64655f746f3137683837323130623165343266306232643745c705665f5a4e313073705f72756e74696d653674726169747332317472616e73616374696f6e5f657874656e73696f6e32305472616e73616374696f6e457874656e73696f6e3133706f73745f64697370617463683137683839313331363261313565336563343445c805d6015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733231636865636b5f6e6f6e5f7a65726f5f73656e646572315f3132375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e5f7a65726f5f73656e6465722e2e436865636b4e6f6e5a65726f53656e646572244c542454244754242447542439747970655f696e666f3137683966386361666238613964613364653145c905b2015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e74315f3131325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c542454244754242447542439747970655f696e666f3137683763626161626439366461346662396145ca05ba015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733131636865636b5f6e6f6e6365315f3130395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c542454244754242447542439747970655f696e666f3137683466653165623266336666336536333145cb05bd015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733132636865636b5f776569676874315f3131315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c542454244754242447542439747970655f696e666f3137683565373435646461643838303863346445cc059c015f5a4e3131305f244c542463756d756c75735f746573745f72756e74696d652e2e53696e676c65426c6f636b4d6967726174696f6e732475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e52756e74696d65557067726164652447542431386f6e5f72756e74696d655f757067726164653137683531376239396165396531353836643245cd057a5f5a4e31326672616d655f73797374656d3130657874656e73696f6e733132636865636b5f7765696768743230436865636b576569676874244c542454244754243130646f5f7072657061726531376830663137353830373635376566333165452e6c6c766d2e39303135303939373032303438313035323032ce053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683563346333636265356335653666666645cf057b5f5a4e31326672616d655f73797374656d3130657874656e73696f6e733132636865636b5f7765696768743230436865636b576569676874244c542454244754243131646f5f76616c696461746531376866663264663233646264663065323962452e6c6c766d2e39303135303939373032303438313035323032d0053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686163323462313262386363653263393345d1059a015f5a4e31326672616d655f73797374656d315f3130325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e4576656e745265636f7264244c54244524432454244754242447542439656e636f64655f746f3137686233343830333632356163653266353245d2059b015f5a4e31326672616d655f73797374656d315f3130335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e4163636f756e74496e666f244c54244e6f6e63652443244163636f756e7444617461244754242447542439747970655f696e666f3137686162343133646138303961623566383345d3058c015f5a4e31326672616d655f73797374656d315f38395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e4576656e745265636f7264244c54244524432454244754242447542439747970655f696e666f3137683163306235323563663165616663316645d40590015f5a4e323063756d756c75735f746573745f72756e74696d65315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d654576656e742447542439747970655f696e666f3137683630666238656633373630303465386345d50592015f5a4e31326672616d655f73797374656d315f39355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e44697370617463684576656e74496e666f2447542439656e636f64655f746f3137683138643637393763666261383435323145d60595015f5a4e31326672616d655f73797374656d315f39385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e436f646555706772616465417574686f72697a6174696f6e244c542454244754242447542439747970655f696e666f3137683730636439643931343733666633316545d705e9015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6539696d62616c616e6365315f3134375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e66756e6769626c652e2e696d62616c616e63652e2e496d62616c616e6365244c5424422443244f6e44726f702443244f70706f736974654f6e44726f70244754242447542439747970655f696e666f3137683563623035653230306239333663323645d8053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683037376434343564326233626662383045d9057b5f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831303235386638333138373561663832452e6c6c766d2e39303135303939373032303438313035323032da05725f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376864643866333831656264316637646633452e6c6c766d2e39303135303939373032303438313035323032db053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683039303437323261626132336565316245dc053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683062376134333831306662663832326345dd053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683065666439666434666436616232653345de053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683161626433626561633632383439646445df053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683164663662393130363362333733646445e0053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683230333432626333663934386331343145e1053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683235613137663262353565393538323545e2053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683235633430306337646663333163376145e3053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683361313538613032333665653533646645e4053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683362333361613865383066623735353045e5053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683365353361363662626330643934363945e6053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683366393161333233653834353063646345e7053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683434653739343736393239303635613745e8053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683530333431383337393738626337616345e9053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683536333964333839336130646166343945ea053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683634616137316133353765663433663745eb053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683738363263326336396432363061653345ec053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683935303561656465393962666338636645ed053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686331396532636361613631373230373345ee053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686362313466343430653130613365323045ef053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686433393463636630393464376266356545f0053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686437633136616136663765336437386345f1053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686438383337646431323932643562303745f2053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686630623862326336313238623635353345f3053b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137686636303033663365393030336436666345f405a3015f5a4e31336672616d655f737570706f7274386469737061746368315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c542454244754242447542439747970655f696e666f3137683663363733656339653264623730663445f505b0015f5a4e31336672616d655f737570706f7274386469737061746368315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c542454244754242447542439656e636f64655f746f3137683230363966656336623037613461633145f605ae015f5a4e3134325f244c542473705f72756e74696d652e2e67656e657269632e2e636865636b65645f65787472696e7369632e2e436865636b656445787472696e736963244c54244163636f756e74496424432443616c6c244324457874656e73696f6e2447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e4170706c7961626c6524475424356170706c793137686432613930386132313231396139383445f7058b025f5a4e3231345f244c54246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c24475424244754243235626172655f76616c69646174655f616e645f707265706172653137683939623337643162633936626635656545f805715f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542431376833363761643935633961613765646666452e6c6c766d2e39303135303939373032303438313035323032f9059f015f5a4e3130395f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c7465723137683133636561323331333339643464386345fa05b1015f5a4e3134325f244c542473705f72756e74696d652e2e67656e657269632e2e636865636b65645f65787472696e7369632e2e436865636b656445787472696e736963244c54244163636f756e74496424432443616c6c244324457874656e73696f6e2447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e4170706c7961626c65244754243876616c69646174653137683565323135643964333430383964633545fb058a015f5a4e39345f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137686166663865346366393832613632353645fc05a0015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c38345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c50245030244324513024432452302452502424475424366465636f64653137686262323239393263306366336134376245fd0599015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24475424366465636f64653137683731323064323936376661386264633745fe0599015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24475424366465636f64653137683237343533316162633732663339313245ff05475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f646564313768376664363166353130343162393164354580069c015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c244754243973697a655f68696e74313768373663623735643635333036353537374581069c015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542439656e636f64655f746f31376839326437653438393631646666323139458206475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f646564313768633731303466343730373739373563334583063f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376864373163643839333561656532376139458406475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f646564313768663536623664363838633365663339654585063f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376835313939313135613365396566326462458606585f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376862343166613535653537303531316264452e6c6c766d2e393031353039393730323034383130353230328706f7015f5a4e3231325f244c54246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c24475424244754243876616c696461746531376839653733366330613438636536396162458806fa015f5a4e3231355f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c24475424244754243876616c696461746531376836323364306130383231323636393363458906475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376834643561333731366230396431633731458a06475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836306434656133313539333063643035458b06475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863323532653561393537663964663338458c064b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d7431376863323230313130636561363937663835458d06515f5a4e34636f7265336f70733866756e6374696f6e35466e4d75743863616c6c5f6d757431376837343463353234653661346662653337452e6c6c766d2e393031353039393730323034383130353230328e06735f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d2475376424247537642431376832376334336534666664336632333463452e6c6c766d2e393031353039393730323034383130353230328f064b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376836306166643039316131663966366639452e6c6c766d2e393031353039393730323034383130353230329006435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376830626330353638623033373339396338459106435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376830633965656266383965356138326331459206435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376831303737643663386533323762323131459306435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376831343532653334346130363863336264459406435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376831643865613538623565633165396566459506435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376832303963376563636131663934343632459606435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376832326237656137326364333665383163459706435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376833663338643139366430323831393664459806435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376834343431356637303533383138323966459906435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376834396538346165323461386236303338459a06435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376834623136643730633435613366343734459b06435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376836336237356336663333323339353739459c06435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376839613464353137376234623230653139459d06435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376839653137343263363630303964663331459e06435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376862373435373664353663616162653064459f06435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686434376265646339373339656334666645a006435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686561653339643638633632613139393245a106435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686563356462633833336166346231343445a206435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686665363261623433396266383437346545a3065a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686532386232643762303765653438343445a40685015f5a4e39315f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683136363865356362643263393566616245a50685015f5a4e39315f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683161393863323930616237316233323945a60685015f5a4e39315f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683366633662356535393637656432636345a70685015f5a4e39315f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686164633361633864393934393733363945a80685015f5a4e39315f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686165383462656231633437633866366345a90685015f5a4e39315f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686239633038643566636562666662316645aa067d5f5a4e39365f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65426c6f636b57656967687473247532302461732475323024626f756e6465645f636f6c6c656374696f6e732e2e476574244c54245f492447542424475424336765743137686262356534666438396562363933356545ab065b5f5a4e323063756d756c75735f746573745f72756e74696d653752756e74696d6531316d657461646174615f697231376839356364613965336534336261376533452e6c6c766d2e39303135303939373032303438313035323032ac0680015f5a4e38345f244c542473705f696e686572656e74732e2e496e686572656e744461746124753230246173247532302463756d756c75735f746573745f72756e74696d652e2e496e686572656e74446174614578742447542431376372656174655f65787472696e736963733137683162356230386436623164386231636545ad06ee0a5f5a4e313334365f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524753230246173247532302473705f626c6f636b5f6275696c6465722e2e72756e74696d655f6465636c5f666f725f626c6f636b5f6275696c6465722e2e426c6f636b4275696c6465725636244c542473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e426c6f636b244c542473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c542475333224432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c542473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c542473705f636f72652e2e63727970746f2e2e4163636f756e7449643332244324244c5024245250242447542424432463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24432473705f72756e74696d652e2e4d756c74695369676e617475726524432463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244324244c50246672616d655f73797374656d2e2e657874656e73696f6e732e2e617574686f72697a655f63616c6c2e2e417574686f72697a6543616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e5f7a65726f5f73656e6465722e2e436865636b4e6f6e5a65726f53656e646572244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f737065635f76657273696f6e2e2e436865636b5370656356657273696f6e244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f67656e657369732e2e436865636b47656e65736973244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d652447542424432470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524475424245250242447542424432431363737373231365f7573697a65244754242447542424475424244754243135636865636b5f696e686572656e74733137683632356132663065356437393762636445ae067f5f5a4e38345f244c542473705f696e686572656e74732e2e496e686572656e744461746124753230246173247532302463756d756c75735f746573745f72756e74696d652e2e496e686572656e7444617461457874244754243136636865636b5f65787472696e736963733137683163383761346239353161363337303845af06f90a5f5a4e313335315f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524753230246173247532302473705f73657373696f6e2e2e72756e74696d655f6170692e2e72756e74696d655f6465636c5f666f725f73657373696f6e5f6b6579732e2e53657373696f6e4b6579735631244c542473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e426c6f636b244c542473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c542475333224432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c542473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c542473705f636f72652e2e63727970746f2e2e4163636f756e7449643332244324244c5024245250242447542424432463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24432473705f72756e74696d652e2e4d756c74695369676e617475726524432463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244324244c50246672616d655f73797374656d2e2e657874656e73696f6e732e2e617574686f72697a655f63616c6c2e2e417574686f72697a6543616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e5f7a65726f5f73656e6465722e2e436865636b4e6f6e5a65726f53656e646572244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f737065635f76657273696f6e2e2e436865636b5370656356657273696f6e244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f67656e657369732e2e436865636b47656e65736973244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d652447542424432470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524475424245250242447542424432431363737373231365f7573697a6524475424244754242447542424475424323167656e65726174655f73657373696f6e5f6b6579733137683463386366626333323066663330383945b00684015f5a4e38395f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524753230246173247532302473705f6d657461646174615f69722e2e496e7465726e616c496d706c52756e74696d654170697324475424313672756e74696d655f6d657461646174613137686239383761666134303464616265313745b106b8015f5a4e3135335f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d654f726967696e247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54246672616d655f737570706f72742e2e64697370617463682e2e5261774f726967696e244c542473705f636f72652e2e63727970746f2e2e4163636f756e74496433322447542424475424244754243466726f6d3137683330643938386135353339323735393745b206cb015f5a4e3131375f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d654f726967696e247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c542463756d756c75735f746573745f72756e74696d652e2e4f726967696e43616c6c657224475424244754243466726f6d32385f24753762242475376224636c6f737572652475376424247537642431376861323938623036666434303137643964452e6c6c766d2e39303135303939373032303438313035323032b3068f015f5a4e323063756d756c75735f746573745f72756e74696d65315f38345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542439747970655f696e666f3137686265363534656462343238393333656145b40690015f5a4e323063756d756c75735f746573745f72756e74696d65315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d654572726f722447542439747970655f696e666f3137683539393566366131363337353661356245b5068b015f5a4e323063756d756c75735f746573745f72756e74696d65315f38305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d652447542439747970655f696e666f3137686330623664663737663631623437356545b6068f015f5a4e3131315f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6547656e65736973436f6e6669672475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4275696c6447656e65736973436f6e66696724475424356275696c643137683630316434326634326536346435633045b70695015f5a4e323063756d756c75735f746573745f72756e74696d65315f39305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d65486f6c64526561736f6e2447542439747970655f696e666f3137683837316163643864613438316132346345b8069e015f5a4e323063756d756c75735f746573745f72756e74696d65315f39395f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6547656e65736973436f6e666967244754243973657269616c697a653137683137323037373364643738633932616645b9069e015f5a4e323063756d756c75735f746573745f72756e74696d65315f39395f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6547656e65736973436f6e666967244754243973657269616c697a653137683834303538626566383330326634373245ba06e9015f5a4e3139375f244c542463756d756c75735f746573745f72756e74696d652e2e5f2e2e244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6547656e65736973436f6e666967244754242e2e646573657269616c697a652e2e5f5f4669656c6456697369746f7224753230246173247532302473657264655f636f72652e2e64652e2e56697369746f72244754243976697369745f7374723137683066353130376339393738633564373445bb06c8015f5a4e3136345f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e24432431363737373231365f7573697a65244754242475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137686164353335656338343331613338376445bc068d015f5a4e31307363616c655f696e666f35696d706c7338385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442244324432443244424432445244324462443244724432448245250242447542439747970655f696e666f3137686236336635633163306165633334646345bd06c3015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733134617574686f72697a655f63616c6c315f3131355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e617574686f72697a655f63616c6c2e2e417574686f72697a6543616c6c244c542454244754242447542439747970655f696e666f3137683263373431666331343464613131373145be0697015f5a4e313073705f72756e74696d653767656e657269633139756e636865636b65645f65787472696e7369633638556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e2443245f2447542431356465636f64655f776974685f6c656e3137683566303838626561656462366262616645bf06c2015f5a4e323963756d756c75735f70616c6c65745f7765696768745f7265636c61696d315f3132385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424475424366465636f64653137683237376263363738636530346562663845c006585f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c244754243137683336376164393563396161376564666645c1068c015f5a4e3131305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e42616e6477696474685570646174654572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683630646634346331633831613436633145c206aa015f5a4e3131335f244c542470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683364643965643133656133626365346245c30689015f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863613862633638376131336337376361452e6c6c766d2e313433333231393137383338353937313732c406aa015f5a4e3131335f244c542470616c6c65745f7375646f2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683639633432343233353532396461356545c506a0015f5a4e3131375f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e696e686572656e742e2e50726f76696465496e686572656e742447542431356372656174655f696e686572656e743137686334393162366262303463666430303945c6069f015f5a4e3131385f244c54245424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e64697370617463685f7472616e73616374696f6e2e2e44697370617463685472616e73616374696f6e244c542443616c6c2447542424475424313376616c69646174655f6f6e6c793137686336623233633762613134356636373145c706775f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376866396431663366653836656237386533452e6c6c766d2e313433333231393137383338353937313732c806a6015f5a4e3131385f244c54245424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e64697370617463685f7472616e73616374696f6e2e2e44697370617463685472616e73616374696f6e244c542443616c6c2447542424475424323064697370617463685f7472616e73616374696f6e3137683439626636646637383837333465346545c906775f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376864356131303134643661343166626135452e6c6c766d2e313433333231393137383338353937313732ca0694015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424366d75746174653137686661393866373261383331363166643645cb0695015f5a4e3131385f244c54246672616d655f737570706f72742e2e73746f726167652e2e5072656669784974657261746f72244c5424542443244f6e52656d6f76616c24475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686232613733333134393732633031343545cc06625f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683130323538663833313837356166383245cd06ed015f5a4e313170616c6c65745f617572613138305f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e54696d657374616d70536574244c5424244c54245424753230246173247532302470616c6c65745f74696d657374616d702e2e70616c6c65742e2e436f6e666967244754242e2e4d6f6d656e74244754242475323024666f72247532302470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431366f6e5f74696d657374616d705f7365743137683030663964333830303433653838643945ce06355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683134653739306435363139643763376345cf06745f5a4e313170616c6c65745f6175726135345f244c5424696d706c247532302470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243232696e697469616c697a655f617574686f7269746965733137686530386661306434646434396465333945d006e1015f5a4e34636f72653370747231363664726f705f696e5f706c616365244c5424626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c542473705f636f6e73656e7375735f617572612e2e737232353531392e2e6170705f737232353531392e2e5075626c6963244324626f756e6465645f636f6c6c656374696f6e732e2e436f6e7374553332244c542433325f75333224475424244754242447542431376832393537346235363937386462363535452e6c6c766d2e313433333231393137383338353937313732d1064e5f5a4e313170616c6c65745f617572613670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137686330323533383131333865363765653145d206575f5a4e313170616c6c65745f617572613670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137683662663565306135396664313332313445d3069e015f5a4e313170616c6c65745f617572613670616c6c6574315f3130305f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f617572612e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a653137683935653165343762613138653665623745d406735f5a4e34636f726533707472353764726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d61702447542431376830623437636636613536613039396138452e6c6c766d2e313433333231393137383338353937313732d506495f5a4e313170616c6c65745f7375646f3670616c6c6574313550616c6c6574244c542454244754243131656e737572655f7375646f3137683734646333313461633664636230333445d6069e015f5a4e313170616c6c65745f7375646f3670616c6c6574315f3130305f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a653137683539666133303335633135343064323945d7068e015f5a4e313170616c6c65745f7375646f3670616c6c6574315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137686266333965356431613862336533353845d8068f015f5a4e313170616c6c65745f7375646f3670616c6c6574315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e4572726f72244c542454244754242447542439747970655f696e666f3137683832366138626537616135633138366545d9068f015f5a4e313170616c6c65745f7375646f3670616c6c6574315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e4576656e74244c542454244754242447542439747970655f696e666f3137686461306365373866343165613732656445da0698015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683537613135643664653137666137636645db0698015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683631383262393335313537316330363145dc069b015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f3137683162336434343265646366343735616445dd069b015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c54245424475424244754243973697a655f68696e743137683230363535653064343035656439353245de069c015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e4576656e74244c542454244754242447542439656e636f64655f746f3137683863356134666538323266393738653545df06b5015f5a4e3132345f244c542473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683666666266633634363239333363303245e006b0015f5a4e3132365f244c542463756d756c75735f70616c6c65745f617572615f6578742e2e426c6f636b4578656375746f72244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e6d6973632e2e45786563757465426c6f636b244c5424426c6f636b244754242447542432327665726966795f616e645f72656d6f76655f7365616c3137683234306239396338336534336566613045e1069c015f5a4e3132365f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e507265616d626c65244c5424416464726573732443245369676e6174757265244324457874656e73696f6e24475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683734666664623066303164363264306645e206475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686262386335386162346164303137303445e306b9015f5a4e3132385f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683061313963343138666132383535313845e406be015f5a4e3133335f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683134626135306430326534363032623245e506a8015f5a4e3133385f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e4162726964676564496e626f756e644d65737361676573436f6c6c656374696f6e244c54244d65737361676524475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686565333764663162323734303335653045e6066b5f5a4e31336672616d655f737570706f72743674726169747336746f6b656e7339696d62616c616e636531336f6e5f756e62616c616e63656431324f6e556e62616c616e63656431346f6e5f756e62616c616e636564733137683935643734323761363138633564366245e706775f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376861656638626235643165393531366131452e6c6c766d2e313433333231393137383338353937313732e806775f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376832386262303036356236663434383036452e6c6c766d2e313433333231393137383338353937313732e906775f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376836346332373336636665633764633531452e6c6c766d2e313433333231393137383338353937313732ea0699015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542431307472795f6d75746174653137683339643035636362303530656566643245eb0699015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542431307472795f6d75746174653137686537393266393136643233363062666445ec06a0015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542431377472795f6d75746174655f6578697374733137683332656531653634326135623161396145ed0691015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424336765743137683634326139623661633639323830623645ee0694015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542436617070656e643137683635393732326662356361646238366145ef0694015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542436696e736572743137686235386163646439343364646332376245f00694015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424366d75746174653137683131653861373762333732326664376345f10694015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424366d75746174653137683964396334336633626436623066313245f20694015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424366d75746174653137686637383538623335663339663736623345f3069a015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617038375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e4974657261626c6553746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542434697465723137686330326239323362646561656639393945f406525f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e63653963616c6c5f6f6e636531376837363462376235646234643731323034452e6c6c766d2e313433333231393137383338353937313732f506b1015f5a4e3134375f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e2443245f24475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683934313737333665323031393734383545f606b8015f5a4e323963756d756c75735f70616c6c65745f7765696768745f7265636c61696d315f3131355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c54245424432453244754242447542439747970655f696e666f3137686661366635653833333731343763323445f706c5015f5a4e3136345f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e2443245f244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683838303261363563666561346439313445f806d2015f5a4e3137375f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e24432431363737373231365f7573697a65244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137683330323636363138613832303933643645f9063f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683136343230366438666563336430396245fa06e0015f5a4e3139325f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244c6f6f6b7570536f7572636524432443616c6c2443245369676e6174757265244324457874656e73696f6e24432431363737373231365f7573697a652447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e436865636b61626c65244c54244c6f6f6b7570244754242447542435636865636b3137686633653766636237643130393438623545fb06ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137683334623538633139333538323937633545fc06ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137683634663766373662306438643532646545fd06ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137683732633861663438316232633033343645fe06ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137683733653466623762616666343763643945ff06ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376838613637346639343230646436383237458007ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376864313736646539343165316461633262458107ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376866356137613434646430393961393062458207ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376866363531396263393330613331353134458307ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137686661613930656634383535343832623245840783025f5a4e3231385f244c542463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c24475424244754243133626172655f76616c696461746531376836393161303233343234393664656537458507fb015f5a4e3231385f244c542463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c24475424244754243677656967687431376862643966613864326230346538616634458607fd015f5a4e3231385f244c542463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c2447542424475424386d6574616461746131376866313532386237343733326561633335458707ff015f5a4e3231395f244c542473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e5f2e2e244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f72247532302473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754242e2e646573657269616c697a652e2e5f5f4669656c6456697369746f7224753230246173247532302473657264655f636f72652e2e64652e2e56697369746f72244754243976697369745f7374723137686531303138646233356363613365343545880787025f5a4e3232375f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e5f2e2e244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754242e2e646573657269616c697a652e2e5f5f4669656c6456697369746f7224753230246173247532302473657264655f636f72652e2e64652e2e56697369746f72244754243976697369745f73747231376862393833613635346566336138616539458907b4015f5a4e323273746167696e675f70617261636861696e5f696e666f3670616c6c6574315f3131315f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a6531376832636130346339373630386436333263458a07a4015f5a4e323273746167696e675f70617261636861696e5f696e666f3670616c6c6574315f39365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f31376834636534393066393330326266373566458b07a3015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e7436395f244c5424696d706c247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243135636f6d707574655f6665655f72617731376863666335326632383864363532373436452e6c6c766d2e3134333332313931373833383539373137328c075d5f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d6574616461746131376830613233306336616131333034613266458d07665f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d6574616461746131376833363430353039663832393038623638458e07ae015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e4576656e74244c542454244754242447542439747970655f696e666f31376832373831633232343561613062646337458f07bb015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e4576656e74244c542454244754242447542439656e636f64655f746f31376839373530373839336131623765646134459007bc015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574315f3131355f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a6531376834376466396339633233626661383533459107b7025f5a4e3237305f244c542470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e496e697469616c697a65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d626572244754242447542431336f6e5f696e697469616c697a6531376833613366313264656330306265646637459207555f5a4e3237706f6c6b61646f745f72756e74696d655f70617261636861696e733130466565547261636b6572313964656372656173655f6665655f666163746f7231376865333265313234353562346130626231459307c2025f5a4e3238335f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e46696e616c697a65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d626572244754242447542431316f6e5f66696e616c697a6531376834303938396165313739643234666662459407c7025f5a4e3238385f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e46696e616c697a65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d626572244754242447542431316f6e5f66696e616c697a6531376834323564613163626338383733373033459507cb025f5a4e3239305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e496e697469616c697a65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d626572244754242447542431336f6e5f696e697469616c697a6531376865626337663934306261653739353435459607c2015f5a4e323963756d756c75735f70616c6c65745f7765696768745f7265636c61696d315f3132385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424475424366465636f646531376834636136633734353332643934353562459707625f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d65746164617461313768366364663230363662613433643463304598076b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d6574616461746131376839356232373539313461333331633933459907b7015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3130355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f31376835303364666232363763303862663064459a07b8015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3130365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e4572726f72244c542454244754242447542439747970655f696e666f31376832386636396635393430333732316234459b07b8015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3130365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e4576656e74244c542454244754242447542439747970655f696e666f31376837363435343633366361336366313561459c07c1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f646531376830666535353362393634613737656463459d07c1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f646531376864386266643437613562343437326666459e07c4015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f31376835633866376666393765373762616636459f07c5015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3131395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e4576656e74244c542454244754242447542439656e636f64655f746f3137686366613865656138663831653831646645a00796015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424313673656e645f756d705f7369676e616c733137683363346130333665666164306362316345a10799015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424313973656e645f7570776172645f6d6573736167653137686536313239616532393130643032626445a2079b015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432317363686564756c655f636f64655f757067726164653137683663666531653864396266633638643745a3079c015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243232636f6c6c6563745f636f6c6c6174696f6e5f696e666f3137683964623162633833346536663363376545a407a1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243237636865636b5f68726d705f6d6573736167655f6d657461646174613137683234313836636438373365393465666345a507a3015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432396d617962655f64726f705f696e636c756465645f616e636573746f72733137686539316366613836353133383239323245a607a3015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243239756e696e636c756465645f7365676d656e745f73697a655f61667465723137686462613335386233636334303931646145a707a7015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243333656e71756575655f696e626f756e645f646f776e776172645f6d657373616765733137683030373037396530313565333263376545a807a9015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243335656e71756575655f696e626f756e645f686f72697a6f6e74616c5f6d657373616765733137686664326339343737343439393266383145a907475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683134343932373534633337303235623345aa07475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683161366533613533646238616131303145ab07475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683863343935343663313338656462353245ac07475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686266656564393636306666663965386445ad07475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686330353039373931653661656566663945ae07475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686338613439363032663033663834386245af074b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137683361373139376233323439636430636345b0075c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d743137683234313530646434636533353833373045b107c6085f5a4e34636f7265337074723130353864726f705f696e5f706c616365244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e507265616d626c65244c542473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c542473705f636f72652e2e63727970746f2e2e4163636f756e7449643332244324244c5024245250242447542424432473705f72756e74696d652e2e4d756c74695369676e617475726524432463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244324244c50246672616d655f73797374656d2e2e657874656e73696f6e732e2e617574686f72697a655f63616c6c2e2e417574686f72697a6543616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e5f7a65726f5f73656e6465722e2e436865636b4e6f6e5a65726f53656e646572244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f737065635f76657273696f6e2e2e436865636b5370656356657273696f6e244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f67656e657369732e2e436865636b47656e65736973244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d652447542424432470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524475424245250242447542424475424244754243137683034343134323461366464393230306145b2079f015f5a4e34636f72653370747231323464726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c542473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c542475333224432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137683536306463333036653861386639613645b307b3015f5a4e34636f72653370747231343464726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c5424244c5024706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e4964244324706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e6448726d704d6573736167652452502424475424244754243137683164633531393839633666623961323945b407c6015f5a4e34636f72653370747231363364726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70617261636861696e5f696e686572656e742e2e4162726964676564496e626f756e644d65737361676573436f6c6c656374696f6e244c5424706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e64446f776e776172644d65737361676524475424244754243137683939363566363763396431656132643345b5075b5f5a4e34636f726533707472353764726f705f696e5f706c616365244c542473705f747269652e2e73746f726167655f70726f6f662e2e53746f7261676550726f6f66244754243137683732613239366632393364313034326345b607675f5a4e34636f726533707472363964726f705f696e5f706c616365244c5424706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244754243137683936303663666435323666663766313345b7076a5f5a4e34636f726533707472373264726f705f696e5f706c616365244c5424706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e4865616444617461244754243137683434343132303633303133666362303145b8077e5f5a4e34636f726533707472393264726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c5424706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e64446f776e776172644d65737361676524475424244754243137683365383263616637313739623261623145b907355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683235663737303538393166353863636145ba07355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683364616136626530343664313938376445bb07355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137686535383332363463383632616239323945bc07785f5a4e36365f244c5424542475323024617324753230247061726974795f7363616c655f636f6465632e2e64657074685f6c696d69742e2e4465636f64654c696d69742447542432376465636f64655f616c6c5f776974685f64657074685f6c696d69743137683337303038313762353233383731326145bd07665f5a4e37335f244c542473705f747269652e2e73746f726167655f70726f6f662e2e53746f7261676550726f6f66247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683865396562363234653838333930373245be07555f5a4e3774696e7976656338617272617976656331374172726179566563244c542441244754243234647261696e5f746f5f7665635f616e645f726573657276653137683761303132323261376632336565613545bf078b015f5a4e39355f244c542470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137683034376166316532333263353435313545c0077f5f5a4e39385f244c5424706f6c6b61646f745f7072696d6974697665732e2e76392e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e24475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686133616531613961616161656535373745c107635f5a4e37305f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686464633035663933333039306338626145c20798015f5a4e3130345f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e657874656e73696f6e732e2e457874656e73696f6e53746f7265244754243230657874656e73696f6e5f62795f747970655f69643137686534363630666465653532626265653645c307a3015f5a4e3130345f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e657874656e73696f6e732e2e457874656e73696f6e53746f7265244754243331646572656769737465725f657874656e73696f6e5f62795f747970655f69643137683031646231626164656637386164633545c4079b015f5a4e31307363616c655f696e666f35696d706c7337375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f7865642e2e426f78244c542454244754242447542439747970655f696e666f31376865653665336532636565386637636261452e6c6c766d2e38313230393937313131383637373437353335c507755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683935346332313762393261383739343445c60782015f5a4e31307363616c655f696e666f35696d706c7337375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f7865642e2e426f78244c542454244754242447542439747970655f696e666f3137686634386362656239396261616136666545c707ce015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733138636865636b5f737065635f76657273696f6e315f3132325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f737065635f76657273696f6e2e2e436865636b5370656356657273696f6e244c542454244754242447542439747970655f696e666f3137683935333965383362316137343661626145c807c0015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733133636865636b5f67656e65736973315f3131335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f67656e657369732e2e436865636b47656e65736973244c542454244754242447542439747970655f696e666f3137683563316364346333616363336635313545c907be015f5a4e3131305f244c542470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137683038333264393639393730356135633945ca073b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683835336564336563653164313336323645cb07715f5a4e34636f726533707472373964726f705f696e5f706c616365244c5424616c6c6f632e2e626f7865642e2e426f78244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24475424244754243137686339353438373133633832303338626345cc07bf015f5a4e3131315f244c54246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137686434376531663531313134633962303345cd074f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137683964353362346231343236353165656145ce074f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137686466336536313637663531653333626245cf074f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137683266356132313730396631386538386245d0074f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137683264653336386635343433643861366345d107c1015f5a4e3131335f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137686539306365623262656538623837663945d207c3015f5a4e3131355f244c542470616c6c65745f74696d657374616d702e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137683765613263383963666534303736343945d307c6015f5a4e3131385f244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137686265613039346265373236313334343745d4074f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137683165613266306264333238303364613245d507d2015f5a4e3133305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137683336343133363862383865353336353645d6075c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d743137683234313530646434636533353833373045d7075a5f5a4e36315f244c542473705f636f6e73656e7375735f736c6f74732e2e536c6f74247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686430343562616236353636663335666445d807bc015f5a4e3133315f244c542463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686634393038326637653761653366306345d9078a015f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863613862633638376131336337376361452e6c6c766d2e38313230393937313131383637373437353335da07485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683064323731666435386333303833353545db07485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683232623337626131393164363539323245dc07485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683439346661613464396162396661303845dd07485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683664313466393933613363663135633545de07485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683764393734306663376331303430373545df07d4015f5a4e3133325f244c542463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137686239303464633531333930653836383645e007485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686339326636613236326465623637653945e107485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686664656632353931376634643934653945e2074f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137683831383361313934663632643136343845e307ae015f5a4e3134305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c54244824475424247532302461732475323024636f72652e2e64656661756c742e2e44656661756c74244754243764656661756c743137683136616233643839366665363231333245e407c1015f5a4e3134345f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c5424482447542424753230246173247532302473705f747269652e2e50726f6f6653697a6550726f7669646572244754243231657374696d6174655f656e636f6465645f73697a653137683666313038383665343364313662613045e507ba015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d65557067726164652447542431326f6e5f69646c655f686f6f6b31376861666536633733323163633037346336452e6c6c766d2e38313230393937313131383637373437353335e607a2015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d6555706772616465244754243133657865637574655f626c6f636b3137683737313561643961653039316436373045e707a5015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d6555706772616465244754243136696e697469616c697a655f626c6f636b3137686339343031373365643839383761646145e807585f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c244754243137683336376164393563396161376564666645e907a7015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d6555706772616465244754243138646f5f6170706c795f65787472696e7369633137683564303939333438643032336530646445ea077c5f5a4e39355f244c542473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e5472616e73616374696f6e56616c69646974794572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683038383365313765336336333832366145eb07bf015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d6555706772616465244754243137696e686572656e74735f6170706c69656431376864633731653738343739313463306639452e6c6c766d2e38313230393937313131383637373437353335ec07a3015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d655570677261646524475424313466696e616c697a655f626c6f636b3137683130326463613036636139396466333945ed07a4015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d65557067726164652447542431356f6666636861696e5f776f726b65723137683034336165396131333134623036336145ee075f5f5a4e36365f244c542473705f776569676874732e2e7765696768745f76322e2e576569676874247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683231336534633363643733306538383545ef07a9015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d655570677261646524475424323076616c69646174655f7472616e73616374696f6e3137683331316462643334656365666637356545f007e7015f5a4e3136325f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c5424482447542424753230246173247532302473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e54726965436163686550726f7669646572244c5424482447542424475424313661735f747269655f64625f636163686531376866323637386336396163623033386433452e6c6c766d2e38313230393937313131383637373437353335f107d3015f5a4e3136355f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c54244824475424247532302461732475323024747269655f64622e2e547269654361636865244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424244754242447542431386765745f6f725f696e736572745f6e6f64653137683362393134633636396263623037393245f207d4015f5a4e3136355f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c54244824475424247532302461732475323024747269655f64622e2e547269654361636865244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c542448244754242447542424475424313963616368655f76616c75655f666f725f6b65793137683130356439303137333231386531363045f307d5015f5a4e3136355f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c54244824475424247532302461732475323024747269655f64622e2e547269654361636865244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424244754242447542432306c6f6f6b75705f76616c75655f666f725f6b65793137686661376338613261646433666262373345f4072f5f5a4e396861736862726f776e336d6170396d616b655f686173683137683935633663383666636438383265326645f507c8015f5a4e3136355f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c54244824475424247532302461732475323024747269655f64622e2e547269654361636865244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c542448244754242447542424475424386765745f6e6f64653137683638393633333963386132303539616645f607eb015f5a4e3138305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c54244824475424247532302461732475323024747269655f64622e2e547269655265636f72646572244c5424244c542448247532302461732475323024686173685f64622e2e486173686572244754242e2e4f757424475424244754243237747269655f6e6f6465735f7265636f726465645f666f725f6b65793137686132373065626431663564386661373245f707d5015f5a4e3138305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c54244824475424247532302461732475323024747269655f64622e2e547269655265636f72646572244c5424244c542448247532302461732475323024686173685f64622e2e486173686572244754242e2e4f75742447542424475424367265636f72643137683131626361383634343737393564636545f807495f5a4e396861736862726f776e336d61703238486173684d6170244c54244b2443245624432453244324412447542435656e7472793137683266333065336535666239666362666245f907435f5a4e396861736862726f776e3372617732315261775461626c65244c542454244324412447542436696e736572743137683430343534396235306539366565376545fa074a5f5a4e396861736862726f776e336d61703238486173684d6170244c54244b2443245624432453244324412447542436696e736572743137683836653039353839656639323033336445fb0781015f5a4e323363756d756c75735f70616c6c65745f617572615f6578743134636f6e73656e7375735f686f6f6b3437466978656456656c6f63697479436f6e73656e737573486f6f6b244c5424542443245f2443245f2443245f24475424313463616e5f6275696c645f75706f6e3137683737663537383538313331613261663045fc07685f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e313476616c69646174655f626c6f636b3137686265396333306365326561383835363945fd07715f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3233686f73745f6f6666636861696e5f696e6465785f7365743137683535336438356133653537323939383545fe07735f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3235686f73745f6f6666636861696e5f696e6465785f636c6561723137686638313766346438386339306561306645ff073b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683937336332306137663832376236396245800894015f5a4e34636f72653370747231313364726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e4f7665726c617965644368616e676573244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424313768333162633037636664383231393034614581083b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f77313768386133343635646331363534333338314582083b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f7731376839303236373235366532376135613439458308c9045f5a4e34636f72653370747235353064726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424245246246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443242452462463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f323536244754242447542424475424313768333963386232306466313961396661374584087a5f5a4e39305f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324542443245324475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542436696e7365727431376832306563373132303261316536666562458508575f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831343464383966363066303839633135458608475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376838656332363265653830303362336163458708475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768616135613638326663393732353937394588084a5f5a4e34355f244c5424244c502424525024247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768343930633538313864613834383036344589085c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247536342447542433666d7431376835616232393334383332323135333338458a088a015f5a4e34636f72653370747231303364726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242447542431376835613232363430303863636238613538458b08b7015f5a4e34636f72653370747231343864726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f323536244754242447542431376865356563346162643131396161393836458c08505f5a4e34636f726533707472343664726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c54247538244754242447542431376831613031636535343031306461383661458d08765f5a4e34636f726533707472383464726f705f696e5f706c616365244c54246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242447542431376836326630613063343437633330666466458e08795f5a4e34636f726533707472383764726f705f696e5f706c616365244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242447542431376835616565353736363933366534313765458f087f5f5a4e34636f7265346861736835696d706c7334395f244c5424696d706c2475323024636f72652e2e686173682e2e486173682475323024666f7224753230247538244754243130686173685f736c69636531376839613638636438643239363434623437452e6c6c766d2e3831323039393731313138363737343735333590083b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f7731376830393232633732326536633137366639459108605f5a4e36375f244c542473705f73746174655f6d616368696e652e2e44656661756c744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836326539623035623662613531646566459208625f5a4e36395f244c5424636f72652e2e616c6c6f632e2e6c61796f75742e2e4c61796f75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863366262613634393265653837396534459308625f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831303235386638333138373561663832459408455f5a4e3773705f74726965313750726f6f6653697a6550726f7669646572313773746172745f7472616e73616374696f6e3137686436393534326234653433306634623145950889015f5a4e38335f244c54246d656d6f72795f64622e2e50726566697865644b6579244c542448244754242475323024617324753230246d656d6f72795f64622e2e4b657946756e6374696f6e244c5424482447542424475424336b657931376832636466343866643334326338373836452e6c6c766d2e383132303939373131313836373734373533359608775f5a4e39305f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324542443245324475424247532302461732475323024686173685f64622e2e486173684442244c5424482443245424475424244754243367657431376839613038303437386136323964383264459708485f5a4e396861736862726f776e336d6170396d616b655f6861736831376839343766333865616639316437643133452e6c6c766d2e3831323039393731313138363737343735333598087a5f5a4e39305f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324542443245324475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542436696e73657274313768383865396166323662346133613266324599087b5f5a4e39305f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324542443245324475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542437656d706c61636531376865383038383339306661313132626233459a085c5f5a4e396861736862726f776e3372617732315261775461626c65244c542454244324412447542436696e7365727431376839326237616565663038633636306464452e6c6c766d2e383132303939373131313836373734373533359b08665f5a4e396861736862726f776e336d61703238486173684d6170244c54244b24432456244324532443244124475424396765745f696e6e657231376834333632343835366539353264376463452e6c6c766d2e383132303939373131313836373734373533359c0884015f5a4e39315f244c5424616c6c6f632e2e626f7865642e2e426f78244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e57726170706572547970654465636f64652447542431346465636f64655f7772617070656431376863343564383930613233346239313634459d087a5f5a4e39335f244c5424245246245424753230246173247532302473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e6453746f72616765244c54244824475424244754243367657431376861336332313037373431333433353236459e087a5f5a4e39335f244c5424245246245424753230246173247532302473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e6453746f72616765244c54244824475424244754243367657431376865663838376638313664303635366166459f087a5f5a4e39335f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324542443245324475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324542447542424475424336765743137683631363836383962346135353237343045a0087f5f5a4e39335f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324542443245324475424247532302461732475323024686173685f64622e2e486173684442526566244c54244824432454244754242447542438636f6e7461696e733137683732383165626436383539313264346645a1087e5f5a4e39375f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e72656c61795f73746174655f736e617073686f742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686633313064643735363436363761376145a208625f5a4e396861736862726f776e336d61703238486173684d6170244c54244b2443245624432453244324412447542435656e74727931376831626335393732636335316465623330452e6c6c766d2e38313230393937313131383637373437353335a3084e5f5a4e396d656d6f72795f646233304d656d6f72794442244c5424482443244b462443245424432453244754243131636f6e736f6c69646174653137683934323838313366316636396262636545a40888015f5a4e3130335f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683432336636346463383361386335313445a5089c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f697465723137683963356163343637366464363661366145a60881015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686337666663653933323038646534373645a70888015f5a4e3130335f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683465636334316566373836313334653645a8089c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f697465723137683330323532343037393336316365633745a9089c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f697465723137683866303262616364356334306261383145aa088b015f5a4e3130335f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683666633331333561333262616464396445ab088c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683630313738303432626464343831613145ac08ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683035366530363838663132613233336645ad0881015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683861313166616131316364343361656145ae088c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683736333664383764343539626662313545af08ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683938373231346535616364353039326145b00881015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686437663337636537393662666431356145b1088c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683836623138336365353334613635613745b208ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683766646131393564383032653031353945b30881015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683135363234393865376438376333316145b4088c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686638333630386130623135386161326545b508ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683461663630303865373361373337303945b60881015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686561323039373763323738613536336445b7088f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683738313434326638376639383836383145b8088f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683934613062323838613431383230376145b908b7015f5a4e31307363616c655f696e666f35696d706c733130345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242447542439747970655f696e666f31376830393265333930373430633236363436452e6c6c766d2e38313730373730303038373137353838333836ba086d5f5a4e31307363616c655f696e666f35696d706c7335365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424524624542447542439747970655f696e666f3137686139383133613865663765643739646445bb0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683036396236633966313039393362636545bc0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683131653266363538353462663235376545bd0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683461333730396634326665666636633545be0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683862306633646234346263653965303045bf0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683938313234323335333230363834613145c00885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137686263303137313164313134326364373745c10885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137686338333739613138663833303530313345c20885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137686430653939326363613032353430316545c3089e015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f31376865383863356335663637616363303336452e6c6c766d2e38313730373730303038373137353838333836c40892015f5a4e313073657264655f636f726532646535696d706c7338375f244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c54245424475424244754243131646573657269616c697a653137683038313035393962323432326563323245c50892015f5a4e313073657264655f636f726532646535696d706c7338375f244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c54245424475424244754243131646573657269616c697a653137683635336138326663336264313938333845c60892015f5a4e313073657264655f636f726532646535696d706c7338375f244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c54245424475424244754243131646573657269616c697a653137686339336336636161393435306465336445c708c6015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733135636865636b5f6d6f7274616c697479315f3131375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c542454244754242447542439747970655f696e666f3137683062376263333631346438393031316245c8088e015f5a4e3131315f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e497465724d7574244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683933653739663832633031303531613545c90893015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683062376338393063333739393765356445ca0893015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683131663032303234653730636639653345cb0893015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683335356233663039306434346235356245cc0893015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683531633538336365356465336631373045cd0893015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686332373561643436626564313561356145ce0893015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686339383766373366643330376633333545cf089c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f697465723137683033336530356663393164636362336145d0083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686365313363316463653835663239356345d1083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683166323130663735303763323462663545d2083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683062616661613266636365656633303345d308ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683232326265343465313036313331623045d4083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686235316462326464663434623064616345d5083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683763343362366563393764633732366245d6083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683765663664613234626539383535656345d7083e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686538323337646635613735366662353645d808be015f5a4e31336672616d655f737570706f7274367472616974733773746f72616765315f39385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e73746f726167652e2e4e6f44726f70244c542454244754242447542439747970655f696e666f31376833373165656630386533353064303538452e6c6c766d2e38313730373730303038373137353838333836d90891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424336765743137683032643432303333326532323035326545da0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424336765743137683439623261646336656264653964376245db0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683030353033376662386663343364303445dc0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683032303465616161666333663539323345dd0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683032643864643736633033343065336345de0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683330386265633030393038633335363045df0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683336326631363236366163656262366445e00891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683336353966616665333938363961326145e10891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683431313139373766323433646439343045e20891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683437373364663339316334343531626245e30891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683538646633313436336662663161323545e40891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683762653237313139613961323937386145e50891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683832613961363536646637363063333445e60891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686134626235316632343362646237323945e70891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686239663338336234373633356536396345e80891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686335393835383131383630373962313045e90891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686365343237653764623838613737393845ea0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686431366530333564343438386134623745eb0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686432383434316538326239303430653145ec08585f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376839623736323738316237313135353362452e6c6c766d2e38313730373730303038373137353838333836ed0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686461393262383333623531613835316445ee0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686563313764393035313238636236363445ef0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686633663966333530623239346235383545f00891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337365743137686139363064393765663963633361623345f10894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f722475323024472447542436617070656e643137683261633237333935363833363836303045f20894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f722475323024472447542436617070656e643137683433626136303963633133656238306245f30894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f722475323024472447542436617070656e643137683436626263323631343163653333616645f40894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f722475323024472447542436617070656e643137683730653964306537343139393938643145f50894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f722475323024472447542436617070656e643137686433383965306437323239643463383745f60894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683063663432353331323439643030613145f70894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683136336662393566656536386338396645f80894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683161633535386564333639316538313145f90894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683164353939313531636166303733346345fa0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683266656237386339353838336432336645fb0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683538616138343736626266303663623345fc0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683633663364393438643938353432356245fd0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683835656138333434303136626430383745fe0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683866663138653663653031343233363245ff0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683936333734356230386162376461343445800994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137686133356531636434336461643561316145810994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137686333363230346431353635383136623745820994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d757461746531376863646562323137383137363561653462458309d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376831306437653865313233336531623236458409585f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376837396532336437306563323266623037452e6c6c766d2e383137303737303030383731373538383338368509d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376832363035393939306634663563653963458609d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376832363664333030356430366337353664458709d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376836666334313337653938613436663730458809d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d65746164617461313768383662323961633664643865633161344589093f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376836313430613537336636343933373131458a09d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d6574616461746131376861633234363332396439623837663538458b093f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376865356566336339666265353365653735458c09ff015f5a4e3232305f244c54246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c244754242447542438696d706c6963697431376832343039386362303636326537663539458d09475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831313737386437653836623039643837458e09475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376861376634323532313761613061386136458f09475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376862376261666664383766653832323031459009475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376864336230306530343066303631363661459109475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865353133363463393064346365663939459209475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865653636623933313863373961313061459309475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686663386436636565333038313063643945940989015f5a4e34636f7265336f70733866756e6374696f6e35696d706c7337395f244c5424696d706c2475323024636f72652e2e6f70732e2e66756e6374696f6e2e2e466e4d7574244c542441244754242475323024666f722475323024245246246d7574247532302446244754243863616c6c5f6d75743137683532613239336534313663386365353445950982015f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e48323536244754242447542431376835373835666534353134336162646361452e6c6c766d2e383137303737303030383731373538383338369609f6015f5a4e34636f72653370747232313164726f705f696e5f706c616365244c54246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424475424313768323732326535373066636265323063344597093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e313768313932336262326439386334383063394598093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e313768316235393734643966663631386136614599093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376833336564616532653736353764396563459a093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376834633663373363306264623531366530459b093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376835323764636531643034616164663366459c093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376838326538343265356235373862363038459d093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376861343861363835616438303263353034459e093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376864303363613637386264363765623665459f093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686531356362356264393462303330663945a0093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686534653233326362373465653737613145a1093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686562303265616464313136333932356145a2093e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686636613734663362383731646664393145a309565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137683037363861383530333338663966303645a409565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137686131393262343533663136613064363945a509565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137686231303537653364346438653933643945a609565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137686566326131363733663063666633636545a709565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b2443245624432441244754243672656d6f76653137683461643336663435613464373835653345a8093d5f5a4e35616c6c6f63337665633136566563244c54245424432441244754243973706c69745f6f66663137686465366439666139373134663163623645a9094a5f5a4e3773705f74726965313373746f726167655f70726f6f663132436f6d7061637450726f6f663132746f5f6d656d6f72795f64623137686534336232323536366236656238646145aa095c5f5a4e37747269655f64623130747269655f636f64656332364465636f646572537461636b456e747279244c542443244754243139616476616e63655f6368696c645f696e6465783137683330376261336663336437306639313945ab09575f5a4e37747269655f64623130747269655f636f64656332364465636f646572537461636b456e747279244c542443244754243134707573685f746f5f7072656669783137686166616163303532623334306236613745ac09545f5a4e37747269655f64623130747269655f636f64656332364465636f646572537461636b456e747279244c542443244754243131656e636f64655f6e6f64653137683562323937306265386464383333326445ad09485f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c24475424336e65773137686263323366653563353662353831663345ae09525f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c2447542431326e65775f70726566697865643137683830626664393833666466373438306445af09645f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c244754243670726566697831376834333361626338303135373464626166452e6c6c766d2e38313730373730303038373137353838333836b0096c5f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c2447542431336e6578745f7261775f6974656d31376863633631373634333464303238643135452e6c6c766d2e38313730373730303038373137353838333836b1095c5f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c2447542432326e65775f70726566697865645f7468656e5f7365656b3137683066396636636436643338636164306445b209495f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c24475424347365656b3137683130626262333139646631643161633845b309785f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c244754243235657874726163745f6b65795f66726f6d5f7261775f6974656d31376838363765626238393966303635396264452e6c6c766d2e38313730373730303038373137353838333836b4094d5f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c24475424386e6578745f6b65793137683533626434613432616464376165353045b5094e5f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c24475424396e6578745f6974656d3137686339386437633830633637623931333145b609735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683037386430656439323539633832663845b709735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683135396236643466613766623738373145b809735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683439336237663035636564306433363345b909735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686661333932616161306536346265336345ba09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683238333961626139346133383130333445bb09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683666356334623864353039636132383845bc09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683937623338346536393638373064356445bd09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686436623762353562656435663031643845be09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686538613435393231343339613233636145bf09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686635643230356330326333393132396345c009a7015f5a4e39365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653133636c6f6e655f7375627472656531376864623931366264616161303163393464452e6c6c766d2e38313730373730303038373137353838333836c1098b015f5a4e39375f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e6d6973632e2e446566656e73697665244c54245424475424244754243135646566656e736976655f70726f6f663137683165373439653438396133646239383745c20981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683038633066623733303534383530633445c30981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686630656536336535393763306637393245c40981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686536306632393530363934373962656345c50981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683730353830373938613336663932636445c60981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686638666630626132656465333766333045c7099a015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376838366130616430353633346530343031452e6c6c766d2e38313730373730303038373137353838333836c80981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686637323736646364653536643435646445c90981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683438336262623861666331343465343945ca0981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683361333933306365303339613433383645cb099e015f5a4e3130325f244c5424747269655f64622e2e7472696564622e2e5472696544424b65794974657261746f72244c54244c24475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376836343839313236656330376338383931452e6c6c766d2e33383932383539353335303533313239343839cc0985015f5a4e3130325f244c5424747269655f64622e2e7472696564626d75742e2e56616c7565244c54244c24475424247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c5424747269655f64622e2e6e6f64652e2e56616c756524475424244754243466726f6d3137683162623638336636353436366633356445cd09a6015f5a4e3133335f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e457874656e64244c5424244c542441247532302461732475323024736d616c6c7665632e2e4172726179244754242e2e4974656d244754242447542436657874656e643137683832363430386565313136663962313445ce093c5f5a4e38736d616c6c7665633137536d616c6c566563244c54244124475424387472795f67726f773137686134383030626131363635313366353145cf094a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137686665323134366639386562356237373645d009a6015f5a4e3133335f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e457874656e64244c5424244c542441247532302461732475323024736d616c6c7665632e2e4172726179244754242e2e4974656d244754242447542436657874656e643137686562326666353262343138623333616145d109555f5a4e38736d616c6c7665633137536d616c6c566563244c54244124475424387472795f67726f7731376862386237323237343234326230613138452e6c6c766d2e33383932383539353335303533313239343839d2094a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137686136623262343632363234376166303445d3095a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137683637353331653131303261323663336645d4095a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137686435333836636565383861613534393445d509675f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f646532385f24753762242475376224636c6f73757265247537642424753764243137686663613062656666366163336362356245d6095a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137686638316631393639356339373566663345d709675f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f646532385f24753762242475376224636c6f73757265247537642424753764243137686531633465653763653035643865383545d80990015f5a4e34636f72653370747231303964726f705f696e5f706c616365244c5424747269655f64622e2e7472696564626d75742e2e4e6f6465244c542473705f747269652e2e4c61796f75745630244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137683132626330356238646430616631363145d90991015f5a4e34636f72653370747231313064726f705f696e5f706c616365244c5424747269655f64622e2e7472696564626d75742e2e56616c7565244c542473705f747269652e2e4c61796f75745630244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137683065313939353636346138633132383245da09b0015f5a4e34636f72653370747231313664726f705f696e5f706c616365244c5424747269655f64622e2e7472696564622e2e5472696544424974657261746f72244c542473705f747269652e2e4c61796f75745631244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754242447542431376836613563353764383138323365316666452e6c6c766d2e33383932383539353335303533313239343839db09ad015f5a4e34636f72653370747231333864726f705f696e5f706c616365244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c5424747269655f64622e2e7472696564626d75742e2e56616c7565244c542473705f747269652e2e4c61796f75745630244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f323536244754242447542424475424244754243137686133386230396139663433356438356545dc0989025f5a4e34636f72653370747232333064726f705f696e5f706c616365244c5424636f72652e2e726573756c742e2e526573756c74244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e4832353624475424244324616c6c6f632e2e626f7865642e2e426f78244c5424747269655f64622e2e547269654572726f72244c54247072696d69746976655f74797065732e2e4832353624432473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e4832353624475424244754242447542424475424244754243137683965656263336331613564356139656245dd096c5f5a4e34636f726533707472373464726f705f696e5f706c616365244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e4832353624475424244754243137686261613336313261623864366136363645de09695f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e4832353624475424244754243137683537383566653435313433616264636145df09775f5a4e36355f244c5424736d616c6c7665632e2e436f6c6c656374696f6e416c6c6f63457272247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863333234333533313336343733343034452e6c6c766d2e33383932383539353335303533313239343839e009635f5a4e36395f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683365626338633831353163616366653945e109635f5a4e36395f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686161616566643730323235363538353945e209635f5a4e36395f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686232326539313165383438663462356145e3096d5f5a4e37355f244c5424747269655f64622e2e7472696564622e2e547269654442244c54244c24475424247532302461732475323024747269655f64622e2e54726965244c54244c2447542424475424386765745f686173683137686530306636616635623438643363663245e4096d5f5a4e37355f244c5424747269655f64622e2e7472696564622e2e547269654442244c54244c24475424247532302461732475323024747269655f64622e2e54726965244c54244c2447542424475424386765745f776974683137686162623833376334346138306363336345e509675f5a4e37355f244c5424747269655f64622e2e7472696564626d75742e2e56616c7565244c54244c24475424247532302461732475323024636f72652e2e636d702e2e5061727469616c4571244754243265713137683333343130623964353137366538336245e60980015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431316465636f64655f706c616e3137683932303030373438346336643236376345e709445f5a4e37747269655f6462367472696564623135547269654442244c54244c24475424313166657463685f76616c75653137686666356638333361623561353766333045e8094a5f5a4e37747269655f6462367472696564623135547269654442244c54244c2447542431376765745f7261775f6f725f6c6f6f6b75703137686135373633356332653535633338393545e909465f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f6465643137683736306330386437316361623434633145ea09485f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c244754243134696e6c696e655f6f725f686173683137686664663566376632663665373035636645eb09645f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f64656432385f24753762242475376224636c6f73757265247537642424753764243137686232353366633864643662666237646445ec09645f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f64656432385f24753762242475376224636c6f73757265247537642424753764243137683863373535383865393235633565363145ed09465f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f6465643137686431363165393431306564383833313645ee09485f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c244754243134696e6c696e655f6f725f686173683137683436303536373937643536326265313945ef09645f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f64656432385f24753762242475376224636c6f73757265247537642424753764243137683034626166663830646636353939323245f009645f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f64656432385f24753762242475376224636c6f73757265247537642424753764243137683565643862653561643037316565393045f109495f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313566726f6d5f6e6f64655f6f776e65643137683364616534646533316238643834656545f209495f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313566726f6d5f6e6f64655f6f776e65643137683635336365373764343639646337316645f309475f5a4e37747269655f6462397472696564626d7574313456616c7565244c54244c244754243132696e746f5f656e636f6465643137683263373361366262383837313062306345f409625f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542436636f6d6d697432385f24753762242475376224636c6f73757265247537642424753764243137686635306463656537343530313839303445f509475f5a4e37747269655f6462397472696564626d7574313456616c7565244c54244c244754243132696e746f5f656e636f6465643137683361326330396433313339633061383045f609625f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542436636f6d6d697432385f24753762242475376224636c6f73757265247537642424753764243137683639383862306465323233303333346245f709475f5a4e37747269655f6462397472696564626d7574313456616c7565244c54244c244754243132696e746f5f656e636f6465643137683462623064666136306466333865656245f809695f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243132636f6d6d69745f6368696c6432385f24753762242475376224636c6f73757265247537642424753764243137686339323361623536316237346463303745f909475f5a4e37747269655f6462397472696564626d7574313456616c7565244c54244c244754243132696e746f5f656e636f6465643137686262313861313637323364623965333245fa09695f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243132636f6d6d69745f6368696c6432385f24753762242475376224636c6f73757265247537642424753764243137683761343530303039666539633437313145fb09495f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f64653137683538346135356261396231353263626645fc095d5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f6465313863616368655f6368696c645f76616c7565733137683534303232643864636531323934383045fd09495f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f64653137686662643365373637333763616634396145fe094a5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313163616368655f76616c75653137683831636464376632313866323530396545ff094a5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313163616368655f76616c75653137686538313536656366656563653932366545800a685f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313163616368655f76616c756532385f24753762242475376224636c6f73757265247537642424753764243137686339636637656634333662633531666545810a4b5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243132636f6d6d69745f6368696c643137683062336236646634356562396364613845820a7d5f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f64656324475424396c6561665f6e6f64653137686566393962396132323366626339643745830a6f5f5a4e38305f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e696e6465782e2e496e646578244c542449244754242447542435696e6465783137683334363262333234626566383761393345840a80015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431316272616e63685f6e6f64653137683130363538386631346338646539636445850a4b5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243132636f6d6d69745f6368696c643137686466343464313164306639386231643145860a4f5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243136696e736572745f696e73706563746f723137683635663731356135373264303938343845870a605f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542439696e736572745f617431376866656161623536613636323763366365452e6c6c766d2e33383932383539353335303533313239343839880a505f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542431377265706c6163655f6f6c645f76616c75653137683765333063633035616434313762313945890a4f5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243136696e736572745f696e73706563746f7231376838353935336561633937633265373035458a0a605f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542439696e736572745f617431376834353032336161666537393231346530452e6c6c766d2e333839323835393533353035333132393438398b0a435f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542435636163686531376831643938653036316664326431666161458c0a435f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542435636163686531376863666537326262333764303462646132458d0a475f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424396669785f696e6e657231376833643562313434303563383130373165458e0a475f5a4e37747269655f6462397472696564626d757432304e6f646553746f72616765244c54244c244754243764657374726f7931376837346137373766653364353234393639458f0a475f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424396669785f696e6e65723137683766323032616462323536366262613545900a475f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243972656d6f76655f61743137683132643066393539663263323663653445910a655f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243972656d6f76655f617432385f24753762242475376224636c6f73757265247537642424753764243137683666626336336163383262343030656445920a475f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243972656d6f76655f61743137686665343532386632633961376163303045930a655f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243972656d6f76655f617432385f24753762242475376224636c6f73757265247537642424753764243137686634663037326538643536396265393745940a6e5f5a4e38305f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683362376166373864336230376236333045950a6e5f5a4e38305f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683437626530313161623534333739306645960a745f5a4e38345f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024747269655f64622e2e547269654d7574244c54244c244754242447542436696e736572743137683237653366663938616630643638323545970a745f5a4e38345f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024747269655f64622e2e547269654d7574244c54244c244754242447542436696e736572743137683834343164333366646266616165313245980a745f5a4e38345f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024747269655f64622e2e547269654d7574244c54244c24475424244754243672656d6f76653137683863386563323263313235393238623445990a745f5a4e38345f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024747269655f64622e2e547269654d7574244c54244c24475424244754243672656d6f766531376863336539613962623834346530343230459a0a4a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b656431376832316431643832623938343232373738459b0a4a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b656431376864646230313862646631313036323938459c0a80015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431316272616e63685f6e6f646531376834656630346665363665653166646666459d0a83015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f646563244754243134657874656e73696f6e5f6e6f646531376831313963616230333063616461343433459e0a83015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f646563244754243134657874656e73696f6e5f6e6f646531376831333835666563383731376534633231459f0a88015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431396272616e63685f6e6f64655f6e6962626c65643137683837623139326431306337393661313045a00a88015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431396272616e63685f6e6f64655f6e6962626c65643137683939383533316530633539363633626645a10a7d5f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f64656324475424396c6561665f6e6f64653137683930336661323764386436366534333645a20a92015f5a4e39315f244c5424747269655f64622e2e7472696564622e2e5472696544424974657261746f72244c54244c24475424247532302461732475323024747269655f64622e2e547269654974657261746f72244c54244c2447542424475424347365656b31376863363333383237393233366634343231452e6c6c766d2e33383932383539353335303533313239343839a30a9a015f5a4e39395f244c5424747269655f64622e2e7472696564622e2e5472696544424974657261746f72244c54244c24475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376862393961616264383333363663393231452e6c6c766d2e33383932383539353335303533313239343839a40a9c015f5a4e3130315f244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e416c7265616479496e52756e74696d65247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376839336139646337643530333136373530452e6c6c766d2e35303530373034383731383130383339383937a50a9d015f5a4e3130325f244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e4e6f4f70656e5472616e73616374696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376839643234333632306266666331313365452e6c6c766d2e35303530373034383731383130383339383937a60a3b5f5a4e313073657264655f636f7265326465354572726f7231336d697373696e675f6669656c643137686161366336303935376637623730626645a70a7b5f5a4e36365f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264655f636f72652e2e64652e2e4572726f722447542436637573746f6d31376833393338343634316535383038373563452e6c6c766d2e35303530373034383731383130383339383937a80a3b5f5a4e313073657264655f636f7265326465354572726f723133756e6b6e6f776e5f6669656c643137683966643333656465373134663761653645a90a3c5f5a4e313073657264655f636f7265326465354572726f723134696e76616c69645f6c656e6774683137683261616166653333326236623331626345aa0a3d5f5a4e313073657264655f636f7265326465354572726f7231356475706c69636174655f6669656c643137683038323031613034313964366532653745ab0a8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f737472696e673137686430303639666361346461343432363645ac0a515f5a4e313073657264655f636f72653264653756697369746f723976697369745f6d617031376836346661356664323630333564636665452e6c6c766d2e35303530373034383731383130383339383937ad0a3c5f5a4e313073657264655f636f7265326465394d617041636365737331306e6578745f76616c75653137683732303136323063303363623330366445ae0a625f5a4e36365f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264655f636f72652e2e64652e2e4572726f722447542436637573746f6d3137683465366237363934313866313335613945af0a3e5f5a4e313073657264655f636f72653264653953657141636365737331326e6578745f656c656d656e743137683036633634353263373463396437626245b00a8e015f5a4e38305f244c542473657264655f6a736f6e2e2e64652e2e536571416363657373244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e5365714163636573732447542431376e6578745f656c656d656e745f7365656431366861735f6e6578745f656c656d656e743137686339323662366630373934636238656445b10a8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683766663334343434353764666465353345b20a3e5f5a4e313073657264655f636f72653264653953657141636365737331326e6578745f656c656d656e743137683262363930303037373666616130656645b30a8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683062653336653066333561613337356445b40a3e5f5a4e313073657264655f636f72653264653953657141636365737331326e6578745f656c656d656e743137683965333839663632656362646364353145b50a8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683634626332643839333764383964323045b60a3e5f5a4e313073657264655f636f72653264653953657141636365737331326e6578745f656c656d656e743137686139303536613137333537333533626145b70a3e5f5a4e313073657264655f636f72653264653953657141636365737331326e6578745f656c656d656e743137686561393939333766626237346537376345b80a8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683365643861353931346431336635623945b90a535f5a4e313073657264655f6a736f6e32646531325061727365724e756d62657235766973697431376839656239373735653936376564316134452e6c6c766d2e35303530373034383731383130383339383937ba0a4a5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431317363616e5f6e756d6265723137683534313766633762326264376563366345bb0a4c5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431337363616e5f6578706f6e656e743137686264386635373530303136633236656545bc0a4b5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431327363616e5f696e74656765723137683531313638356139363331303432376645bd0a4c5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313370617273655f646563696d616c3137686165666531636235323431393839303145be0a4d5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431346636345f66726f6d5f70617274733137683837636165373036633232626336303745bf0a4d5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313470617273655f6578706f6e656e743137683330613466653033633565326636653945c00a555f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424323270617273655f646563696d616c5f6f766572666c6f773137683438306236623761356130313965363945c10a655f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313370617273655f696e746567657231376861393937306661633738653739653439452e6c6c766d2e35303530373034383731383130383339383937c20a515f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313870617273655f6c6f6e675f696e74656765723137683233336133353237383633363765636145c30a565f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424323370617273655f6578706f6e656e745f6f766572666c6f773137683262386164633432653035643230613845c40a4f5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313670617273655f616e795f6e756d6265723137683234343761663739343638376436643845c50a695f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431377065656b5f696e76616c69645f7479706531376838396663366263363462333966323261452e6c6c766d2e35303530373034383731383130383339383937c60a565f5a4e313073657264655f6a736f6e356572726f72354572726f7231326669785f706f736974696f6e31376835323935623661386638623465383130452e6c6c766d2e35303530373034383731383130383339383937c70a455f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542437656e645f6d61703137686638666662653732363663396532663945c80a455f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542437656e645f7365713137683766663435633834393863386634323845c90aa5015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424336765743137683261396634623866366431633535393345ca0aa5015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424336765743137683561633834363462366564303533373145cb0aa8015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542436696e736572743137683433356537383538663430616331343945cc0aa8015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c542475382447542424475424244754243672656d6f76653137683135323839386335313038336366633345cd0aa9015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542437656d706c6163653137683764386461656663326439666530393245ce0aaa015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137686565336239343362396235613736633145cf0aaa015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137686662626235333935396535653630333145d00a4a5f5a4e31336672616d655f737570706f7274323267656e657369735f6275696c6465725f68656c70657231306765745f7072657365743137686337663332666263336133633232313745d10a4b5f5a4e31336672616d655f737570706f7274323267656e657369735f6275696c6465725f68656c70657231316275696c645f73746174653137683561396661366666373234616430646245d20a8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683466343566316466386436653864633445d30ab9015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424336765743137683039613137633264333061373837633645d40ab9015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424336765743137683235313931623264663333393066313045d50abe015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137683330336439623339366237646364363945d60abe015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137683432626563313839383665383333326145d70a645f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431317365745f73746f726167653137686166346633383466313038643136336545d80a655f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243132636c6561725f7072656669783137686665326436303030303438373161303945d90a665f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431336368696c645f73746f726167653137683331633566613938376663343063373745da0a665f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243133656e7465725f72756e74696d653137683066303530346563616330616530366145db0a675f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243134617070656e645f73746f726167653137686339646135386662303061626430663745dc0a675f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243134617070656e645f73746f726167653137686539303338346332633264376361653345dd0a695f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431366368696c645f697465725f61667465723137683736623665633436326432303236653945de0a6a5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431377365745f6368696c645f73746f726167653137683334656435633031656437616534323645df0a6a5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c54244824475424313773746172745f7472616e73616374696f6e3137683763346664386162653439633234653245e00a6b5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431386368696c645f73746f726167655f726f6f743137683233666339386663343031633662343745e10a7c5f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f726f6f743137683765616239333838656438613032393345e20a6b5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431386368696c645f73746f726167655f726f6f743137683365313535323863323134663464616645e30a7c5f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f726f6f743137686233396430373565303666383135393345e40a6b5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243138636c6561725f6368696c645f7072656669783137686130336639376334303864393764353545e50a6b5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243138636f6d6d69745f7472616e73616374696f6e3137683863653830336132633035366436363145e60a96015f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e676573657432354f7665726c617965644d6170244c54244b24432456244754243236636c6f73655f7472616e73616374696f6e5f6f6666636861696e31376834646335313235623738306562356432452e6c6c766d2e35303530373034383731383130383339383937e70a6c5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243139636c6561725f6368696c645f73746f726167653137686434306335386331633233653662653145e80a6d5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243230726f6c6c6261636b5f7472616e73616374696f6e3137683964306537646130346463363230313645e90a6d5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542432307365745f6f6666636861696e5f73746f726167653137683131636631363939383163306539663845ea0a6e5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243231647261696e5f73746f726167655f6368616e6765733137686462616263316634363935623438616345eb0a6e5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243231647261696e5f73746f726167655f6368616e6765733137686664396231636334326535306339626345ec0a5f5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243773746f726167653137683938613034633339666130633763663345ed0a725f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e676573657432354f7665726c617965644d6170244c54244b24432456244754243135647261696e5f636f6d6d69747465643137686532376438623666636664316365316545ee0a745f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431306368696c645f726f6f743137683633376237363662356637376662653545ef0a695f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e4832353624475424244754243137683537383566653435313433616264636145f00a745f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431306368696c645f726f6f743137686338653130323138656436316565376545f10a765f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424313273746f726167655f726f6f743137683430623536626630393565326264636445f20a765f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424313273746f726167655f726f6f743137683664333937636163616266633833376645f30a94015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c542453244324482443244324432452244754243132776974685f747269655f646232385f24753762242475376224636c6f73757265247537642424753764243137683430333635323435643263653331303645f40a775f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431336368696c645f73746f726167653137683330336132613436616337303437373645f50a775f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431336368696c645f73746f726167653137686364646535633335383735383464623345f60a7c5f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f686173683137686466363330383030356261633134376545f70a7c5f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f686173683137686666373036653266313537346534633045f80a7c5f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f726f6f743137683634323130373337383032623133353745f90a7c5f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f726f6f743137683936343738393764313436643434353445fa0a80015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542432326e6578745f6368696c645f73746f726167655f6b65793137683436383535366230366565336135323145fb0a80015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542432326e6578745f6368696c645f73746f726167655f6b65793137686132303437313539363663616131333945fc0a715f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424387261775f697465723137683038353034316133666633363337383745fd0a715f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424387261775f697465723137683233653030303162363036356566633945fe0a3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686235663661643936613430656165383345ff0a5b5f5a4e3231756e69636f64655f6e6f726d616c697a6174696f6e396465636f6d706f736532334465636f6d706f736974696f6e73244c5424492447542439707573685f6261636b3137683638323131623935646332303032643045800b475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686236393263666435303233663330303745810b4b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137683031663963376465663630343162363645820b4b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137683164383164353164363861323831626345830b4b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137683536326334396431653864323731393245840b645f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d7431376837356336643835386632376130656335452e6c6c766d2e35303530373034383731383130383339383937850b4b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137683764386462666334643564393566623745860b305f5a4e34636f726533666d743557726974653977726974655f666d743137686430653866316236373034366138393845870ba5015f5a4e34636f72653370747231333064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137686635653764656139303537313566383345880baf015f5a4e34636f72653370747231343064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137683131316362336162363362373063656245890b655f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e672447542431376839643435316539363131653438323031452e6c6c766d2e353035303730343837313831303833393839378a0b4f5f5a4e34636f726533707472343564726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f722447542431376861376632326236356331643435363133458b0b6c5f5a4e34636f726533707472343964726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e46726f6d557466384572726f722447542431376830613266353736303538336362383162452e6c6c766d2e353035303730343837313831303833393839378c0bd8045f5a4e34636f72653370747235363564726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c5424245246246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443242452462463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754242447542431376830396636393032353832363730356537458d0b82015f5a4e34636f726533707472393664726f705f696e5f706c616365244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e47656e65736973436f6e666967244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242447542431376862343562383666633164616133333864458e0b6b5f5a4e35335f244c5424636f72652e2e666d742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831613765663838326461313630313739452e6c6c766d2e353035303730343837313831303833393839378f0b785f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f6368617231376838366230353530333234383531333264452e6c6c766d2e35303530373034383731383130383339383937900b765f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376864633737653830386633366335353863452e6c6c766d2e35303530373034383731383130383339383937910b2f5f5a4e356269703339384d6e656d6f6e69633870617273655f696e3137683333353533653934636133636165623145920b625f5a4e36305f244c5424245246246d7574247532302454247532302461732475323024627335382e2e656e636f64652e2e456e636f6465546172676574244754243131656e636f64655f776974683137683934633938313663356532353838646145930b775f5a4e36355f244c5424616c6c6f632e2e737472696e672e2e46726f6d557466384572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376834343165613361333537363365623764452e6c6c766d2e35303530373034383731383130383339383937940b625f5a4e36365f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264655f636f72652e2e64652e2e4572726f722447542436637573746f6d3137683830386263316135393331333464663745950b605f5a4e36375f244c542473705f73746174655f6d616368696e652e2e44656661756c744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683632653962303562366261353164656645960b715f5a4e37345f244c542473705f747269652e2e747269655f73747265616d2e2e5472696553747265616d247532302461732475323024747269655f726f6f742e2e5472696553747265616d244754243132626567696e5f6272616e63683137686164396539633231356365306566323545970b755f5a4e37345f244c542473705f747269652e2e747269655f73747265616d2e2e5472696553747265616d247532302461732475323024747269655f726f6f742e2e5472696553747265616d244754243136617070656e645f73756273747265616d3137683638366661623232346636326230346345980b86015f5a4e38305f244c542473657264655f6a736f6e2e2e64652e2e4d6170416363657373244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e4d61704163636573732447542431336e6578745f6b65795f7365656431326861735f6e6578745f6b65793137686330373838636164343463356436316545990b765f5a4e38335f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e466978656455363424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a65244754243973657269616c697a6531376832646532636637333830343636326336459a0b765f5a4e38335f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e466978656455363424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a65244754243973657269616c697a6531376835616233363837376261343338623038459b0b765f5a4e38335f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e466978656455363424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a65244754243973657269616c697a6531376866653763613261616338343132303962459c0b775f5a4e38345f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e46697865645531323824753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a65244754243973657269616c697a6531376831353630666162643232396537393962459d0b775f5a4e38345f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e46697865645531323824753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a65244754243973657269616c697a6531376836646538313235323637656464313563459e0b775f5a4e38345f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e46697865645531323824753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a65244754243973657269616c697a6531376862383831323432356135633531653536459f0b8c015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243135646573657269616c697a655f7365713137683034643061383163353936633831396245a00b8c015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243135646573657269616c697a655f7365713137683234363766613538386136386239346245a10b8c015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243135646573657269616c697a655f7533323137686161666462643733313039326232366345a20b8e015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243137646573657269616c697a655f7475706c653137686539656230336466653435393361323145a30b8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683134393137383138373031616661633245a40b8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686636313530653134336366313839636345a50b8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686135316364613930303039636230323545a60b8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686233323463306333356166616130373045a70b8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686133396336633461623037363865656345a80b8f015f5a4e39385f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686337333335353934646566616630653245a90b83015f5a4e3130315f244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e416c7265616479496e52756e74696d65247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683933613964633764353033313637353045aa0b89015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683436643762343837306264653439316445ab0b82015f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e48323536244754242447542431376835373835666534353134336162646361452e6c6c766d2e37303430343835323138313338373937313830ac0b89015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683536363632326661636639386163663245ad0b89015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683632656561383730303064623235393345ae0b89015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137686232303065333031353861323731393145af0b84015f5a4e3130325f244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e4e6f4f70656e5472616e73616374696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683964323433363230626666633131336545b00ba3015f5a4e3130345f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e657874656e73696f6e732e2e457874656e73696f6e53746f726524475424333172656769737465725f657874656e73696f6e5f776974685f747970655f69643137683237336237626563633533376435333645b10b455f5a4e313673705f65787465726e616c6974696573313345787465726e616c697469657331317365745f73746f726167653137683736646535363431383630313532346545b20b475f5a4e313673705f65787465726e616c6974696573313345787465726e616c69746965733133636c6561725f73746f726167653137683164333634363135316162666237376145b30b4b5f5a4e313673705f65787465726e616c6974696573313345787465726e616c697469657331377365745f6368696c645f73746f726167653137683535343636343132663432313436623245b40b4d5f5a4e313673705f65787465726e616c6974696573313345787465726e616c69746965733139636c6561725f6368696c645f73746f726167653137683565663433656264653165653065346545b50b5a5f5a4e313673705f73746174655f6d616368696e65336578743136457874244c542448244324422447542432356c696d69745f72656d6f76655f66726f6d5f6261636b656e643137683237303031383837643938393062346445b60bce015f5a4e34636f72653370747231343664726f705f696e5f706c616365244c5424616c6c6f632e2e626f7865642e2e426f78244c5424747269655f64622e2e547269654572726f72244c54247072696d69746976655f74797065732e2e4832353624432473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e483235362447542424475424244754242447542431376863386439636262633330333266623838452e6c6c766d2e37303430343835323138313338373937313830b70b5a5f5a4e313673705f73746174655f6d616368696e65336578743136457874244c542448244324422447542432356c696d69745f72656d6f76655f66726f6d5f6261636b656e643137686630613761623661323465383765653345b80b475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686337623139616131656166353736356545b90ba5015f5a4e34636f72653370747231333064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137686635653764656139303537313566383345ba0baf015f5a4e34636f72653370747231343064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137683131316362336162363362373063656245bb0bd8045f5a4e34636f72653370747235363564726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c5424245246246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443242452462463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137683039663639303235383236373035653745bc0b6d5f5a4e34636f726535617272617936395f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f722475323024247535622454247533622424753230244e24753564242447542433666d743137683665643033313761636338356139373545bd0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683231383531643164336532313337363045be0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683532313261323263636239666364626445bf0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683535323936336566643630653238363345c00b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683536333764316337393963623532336145c10b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683638383764343461343164353737313045c20b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683663313337366636316564643837353745c30b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683766333765386161383437393333666145c40b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683936646434633930306537643133346445c50b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686131666664323130633835353665343645c60b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686137633939373138633461623030383045c70b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686161613532646532653935643966333745c80b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686232613538306364303865333831363945c90b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686237306461396135653564363265383445ca0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686333373962653038313663346330333445cb0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686533366239636634643737306439376445cc0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686562336332666331393230656633393845cd0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686636363733623435653035656436613245ce0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686662633363643436303563623438306145cf0b425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686665653337613333363235363132646445d00b605f5a4e36375f244c542473705f73746174655f6d616368696e652e2e44656661756c744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683632653962303562366261353164656645d10b565f5a4e3774696e797665633774696e79766563313654696e79566563244c5424412447542434707573683232647261696e5f746f5f686561705f616e645f707573683137683762383133323866636431646362366245d20b80015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313070726f6f665f73697a653137683335616236383137333837363661383245d30b80015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313070726f6f665f73697a653137686137383136333337373966616664383645d40b82015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243132636c6561725f7072656669783137683066343365623661313961316336376245d50b82015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243132636c6561725f7072656669783137683365313165303564623163373763343045d60b82015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313273746f726167655f686173683137683037373166343933623562383834663345d70b82015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313273746f726167655f686173683137683037646439353961316663323463376245d80b82015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313273746f726167655f726f6f743137683939656665326237393061633233646245d90b82015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313273746f726167655f726f6f743137686439386534336239363034353733333745da0b83015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431336368696c645f73746f726167653137683265393037396331373933656234366545db0b83015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431336368696c645f73746f726167653137683738323234383663323036366666353345dc0b83015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431336765745f77686974656c6973743137683937633662383436386339376431663745dd0b83015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243133706c6163655f73746f726167653137683936666633366539356339326466376445de0b83015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431337365745f77686974656c6973743137683838633963666363613463353365636445df0b84015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431346578697374735f73746f726167653137683137303838316462373939396133643245e00b84015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431346578697374735f73746f726167653137686538353431663131643531393031373545e10b84015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313473746f726167655f617070656e643137686165396432306162663065626133653045e20b84015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313473746f726167655f617070656e643137686663633765333664653065326239643945e30b86015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431366e6578745f73746f726167655f6b65793137683865623565636138303466633461373645e40b86015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431366e6578745f73746f726167655f6b65793137686632616161346333396566336334373245e50b86015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243136726561645f77726974655f636f756e743137683830653062323062333536613830313145e60b86015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243136726561645f77726974655f636f756e743137686435366566633637623033373233356645e70b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386368696c645f73746f726167655f686173683137683631623262323765396433366632656645e80b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386368696c645f73746f726167655f686173683137686337346131626537366437383132363545e90b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386368696c645f73746f726167655f726f6f743137683262346231626665663865323031326145ea0b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386368696c645f73746f726167655f726f6f743137683634633534373165383835343766356245eb0b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243138636c6561725f6368696c645f7072656669783137683563396136653962343065383530653145ec0b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243138636c6561725f6368696c645f7072656669783137686362313436313764633862663731653145ed0b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386b696c6c5f6368696c645f73746f726167653137683830633239663633323330663864353045ee0b88015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386b696c6c5f6368696c645f73746f726167653137683938663537623363393939663736363545ef0b89015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243139706c6163655f6368696c645f73746f726167653137683838353530393237313565306132303945f00b8a015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432306578697374735f6368696c645f73746f726167653137683831306232393738653761323530306245f10b8a015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432306578697374735f6368696c645f73746f726167653137686531306263323238306633363431376345f20b8a015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432307365745f6f6666636861696e5f73746f726167653137683436353662306231306162383238353845f30b8c015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432326e6578745f6368696c645f73746f726167655f6b65793137683731313638306230666161373632373545f40b8c015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432326e6578745f6368696c645f73746f726167655f6b65793137683938663639393363383939343538336645f50b8c015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323272657365745f726561645f77726974655f636f756e743137683663306335353132653666333735306345f60b8c015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323272657365745f726561645f77726974655f636f756e743137686132376465646134333765356664383045f70b8f015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432356765745f726561645f616e645f7772697474656e5f6b6579733137686331393762373364643332373739306345f80b8f015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432356765745f726561645f616e645f7772697474656e5f6b6579733137686464636536623466623637383931396145f90b8f015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323573746f726167655f696e6465785f7472616e73616374696f6e3137683166653934656263343732303731646645fa0b8f015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323573746f726167655f73746172745f7472616e73616374696f6e3137683364316430643863383534343265323445fb0b90015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323673746f726167655f636f6d6d69745f7472616e73616374696f6e3137683830336364393538386630656532653545fc0b92015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323873746f726167655f726f6c6c6261636b5f7472616e73616374696f6e3137683164646664323561353630666461386645fd0b95015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424333173746f726167655f72656e65775f7472616e73616374696f6e5f696e6465783137683939343634656666373730326530353445fe0b795f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542434776970653137683639366133663862633637306365363645ff0b795f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542434776970653137686331323430373630373732343630306245800c7b5f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542436636f6d6d69743137683235336239346231616236616137663845810c7b5f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542436636f6d6d69743137683336363430643965303936373336323245820c7c5f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243773746f726167653137683336343564356664323566353363303145830c7c5f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243773746f726167653137686135313638333563326162346439356345840c4a5f5a4e31307363686e6f72726b656c36646572697665313044657269766174696f6e3138646572697665645f6b65795f73696d706c653137683566643138633130613262393965343545850c9d015f5a4e3132365f244c542463756d756c75735f7072696d6974697665735f636f72652e2e70617261636861696e5f626c6f636b5f646174612e2e50726570656e644279746573496e707574244c542449244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e496e7075742447542434726561643137683431353037336563373932623066613245860ca5015f5a4e3133325f244c542463756d756c75735f7072696d6974697665735f636f72652e2e70617261636861696e5f626c6f636b5f646174612e2e50617261636861696e426c6f636b44617461244c5424426c6f636b244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686566306538313232326639373834633045870cbd015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c3130395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024244c50244b302443244c302443244d302443244e302443244f30244324503024432451302443245230245250242447542439656e636f64655f746f3137683865623062326231363332393161613345880c475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683631623234626564373739663030333645890c425f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646539656e636f64655f746f31376839353163373138646665353937363434458a0c475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f64656431376863613836616637646138303332363336458b0c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376861316139396430393632653936663762458c0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376833386532336133653333666637313134458d0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376838356339373465633963653536643438458e0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376838383435343632316263333230643136458f0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686166363866336637343330323166353645900c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686461663365366164616636373235333045910c305f5a4e346273353836656e636f64653131656e636f64655f696e746f3137683866616165623439306234666337376545920c95025f5a4e34636f72653370747232313764726f705f696e5f706c616365244c5424244c50247072696d69746976655f74797065732e2e483235362443246861736862726f776e2e2e6d61702e2e486173684d6170244c5424616c6c6f632e2e626f7865642e2e426f78244c542424753562247538247535642424475424244324747269655f64622e2e43616368656456616c7565244c54247072696d69746976655f74797065732e2e483235362447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d537461746524475424245250242447542431376838616137373064313263623235636333452e6c6c766d2e32363737353638383637383936353735303733930c85015f5a4e34636f726533707472373464726f705f696e5f706c616365244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e48323536244754242447542431376862616133363132616238643661363636452e6c6c766d2e32363737353638383637383936353735303733940c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683033633863653333303263383462393645950c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683066316561396539616563346664633345960c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683138373338353937343139663666373045970c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683231396266623430623734373337353945980c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683335373462316437343738653161653145990c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376833613634353032373862616366663462459a0c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376834313531353533383162613237376430459b0c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376834363063333864633364646532333230459c0c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376834373466663662613530666563376436459d0c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376835316134366135373332356330616531459e0c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376835643962636261326331336465373965459f0c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683633663337653437636539663039356645a00c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683664376262663839313466623838316245a10c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683730366666636236333430303763623445a20c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683863356664303330383333623436313945a30c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686431653762636435343832636263376245a40c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686538653562363930653561613433383845a50c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686539363737636537353764366235393645a60c395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686632316235663363663533343335663245a70c6e5f5a4e35365f244c5424627335382e2e656e636f64652e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836396638316637373031303736653639452e6c6c766d2e32363737353638383637383936353735303733a80c645f5a4e36355f244c542424753562245424753564242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683337623665383135623531333637316245a90c7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683535616434343661326564356266356345aa0c7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683930373362623566323937643330653445ab0c7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686436313238386163336637306636373145ac0c7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686561306638653032333664363635613145ad0c7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686664623666336637623631653334396145ae0c465f5a4e396861736862726f776e3372617731335261775461626c65496e6e6572313664726f705f696e6e65725f7461626c653137686563393764623230363738643438373245af0c4c5f5a4e396861736862726f776e3372617731335261775461626c65496e6e6572323266616c6c69626c655f776974685f63617061636974793137683930626361323533363662393034613245b00c4c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137683063653932636235663637666332623045b10c4c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137683138616535333634633431653033326245b20c4c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137683734356430383164656464653363663345b30c4c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137683761386632663862343161343336396545b40c4c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137686364646631396463356232313634366645b50c4c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137686630333030653265306231323136633245b60c6a5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f72656861736832385f24753762242475376224636c6f73757265247537642424753764243137686435643630353061336631326439623745b70c2d5f5a4e39747269655f726f6f7431306275696c645f747269653137686139663735373461643761366237323645b80c325f5a4e39747269655f726f6f743135747269655f726f6f745f696e6e65723137683664626264646636653031333962653545b90c8f015f5a4e3130305f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e696e686572656e742e2e50726f76696465496e686572656e742447542431356372656174655f696e686572656e743137686466636430613764623963663338386545ba0c755f5a4e36325f244c542473705f72756e74696d652e2e44697370617463684572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376862373939376434396162356135623931452e6c6c766d2e3136313132333733343434373433323030313934bb0c94015f5a4e3130335f244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137683431343461333131616133616131343345bc0c89015f5a4e31307363616c655f696e666f35696d706c7338345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242447542439747970655f696e666f3137683239373737303565333532313963653945bd0c89015f5a4e31307363616c655f696e666f35696d706c7338345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242447542439747970655f696e666f3137683263313331616563663562336439333845be0c89015f5a4e31307363616c655f696e666f35696d706c7338345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242447542439747970655f696e666f3137683738303564313565343561663062366445bf0c89015f5a4e31307363616c655f696e666f35696d706c7338345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242447542439747970655f696e666f3137686336386164373066323565393461343945c00c8a015f5a4e313073705f72756e74696d65315f38395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f722447542439656e636f64655f746f3137683265313438373936363461366539396145c10c88015f5a4e313073705f72756e74696d65315f39305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e4d756c74695369676e617475726524475424366465636f64653137683462663266653964616163373637303745c20c8b015f5a4e313073705f72756e74696d65315f39305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e4d756c74695369676e61747572652447542439656e636f64655f746f3137683032393633643733386164366133623245c30c93015f5a4e3131355f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e47656e65736973436f6e666967244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4275696c6447656e65736973436f6e66696724475424356275696c643137683436623039366639656161353966363145c40c5c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d743137683234313530646434636533353833373045c50cad015f5a4e3131365f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686234656134383061373334643961386445c60c8b015f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863613862633638376131336337376361452e6c6c766d2e3136313132333733343434373433323030313934c70c2e5f5a4e313161727261795f6279746573396279746573326865783137683037653632303565343462613261663745c80ca9015f5a4e313170616c6c65745f7375646f3670616c6c65743131385f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542470616c6c65745f7375646f2e2e70616c6c65742e2e4572726f72244c54245424475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137686166643761633662396265373266646345c90c98015f5a4e3132305f244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4275696c6447656e65736973436f6e66696724475424356275696c643137683230656336613962613164313735663845ca0c755f5a4e38305f244c5424636f72652e2e7374722e2e7061747465726e2e2e5374725365617263686572247532302461732475323024636f72652e2e7374722e2e7061747465726e2e2e53656172636865722447542431306e6578745f6d617463683137683334666431666335396337333234303145cb0cb4015f5a4e3773705f636f726537737232353531393133345f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f72247532302473705f636f72652e2e63727970746f5f62797465732e2e43727970746f4279746573244c542433325f7573697a6524432473705f636f72652e2e737232353531392e2e537232353531395075626c6963546167244754242447542433666d743137686337633365356537623736396534616245cc0c595f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686464386633383165626431663764663345cd0c555f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c54245424432449244754243135656e737572655f75706772616465643137683034626536613863623865356435306445ce0cb2015f5a4e3132315f244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686462643435623738306135363835313745cf0cab015f5a4e31326672616d655f73797374656d3670616c6c65743131395f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c54246672616d655f73797374656d2e2e70616c6c65742e2e4572726f72244c54245424475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137683033623465626337376664326136323245d00c7d5f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6537726567756c61723130556e62616c616e636564313664656372656173655f62616c616e636531376864323630373236373761373635653435452e6c6c766d2e3136313132333733343434373433323030313934d10c95025f5a4e313570616c6c65745f62616c616e6365733133696d706c5f66756e6769626c653230305f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e66756e6769626c652e2e726567756c61722e2e496e7370656374244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244754242475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c5424542443244924475424244754243137726564756369626c655f62616c616e63653137683262626361643261623536333039306345d20cae025f5a4e313570616c6c65745f62616c616e6365733133696d706c5f66756e6769626c653230335f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e66756e6769626c652e2e726567756c61722e2e556e62616c616e636564244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244754242475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c542454244324492447542424475424313377726974655f62616c616e636531376834386262386465383762313739366565452e6c6c766d2e3136313132333733343434373433323030313934d30c635f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6537726567756c61723130556e62616c616e6365643136696e6372656173655f62616c616e63653137683264376166383666376638343238303445d40c555f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6537726567756c6172364d7574617465387472616e736665723137683964383232376163656662613938343745d50caa025f5a4e313570616c6c65745f62616c616e6365733133696d706c5f66756e6769626c653230305f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e66756e6769626c652e2e726567756c61722e2e496e7370656374244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244754242475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c542454244324492447542424475424313263616e5f776974686472617731376863343033363530303732333361656537452e6c6c766d2e3136313132333733343434373433323030313934d60c565f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6537726567756c6172364d7574617465396275726e5f66726f6d3137683235343632663165663364656135643845d70c535f5a4e31336672616d655f737570706f7274367472616974733773746f72616765313553746f72616765496e7374616e636531317072656669785f686173683137686363343831663862623132616462356145d80c7d5f5a4e3133737335385f726567697374727938726567697374727936365f244c5424696d706c2475323024737335385f72656769737472792e2e616464726573735f666f726d61742e2e5373353841646472657373466f726d6174244754243969735f637573746f6d3137686563626132643662303839353939633945d90caf015f5a4e313470616c6c65745f676c7574746f6e3670616c6c65743132315f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e4572726f72244c54245424475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137683537666465663730353363383536366145da0c515f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137686130363366343166356264323739616145db0c9f015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137686462653866303136646266353934336545dc0c9f015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137686663646535626133346433306130343545dd0ca2015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f3137686635343236323731323337616363306645de0ca4015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130335f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a653137683462303235396632646237386161336145df0ca4015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130335f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a653137683663613964613261643739356133346145e00c755f5a4e34636f726533707472353764726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d61702447542431376830623437636636613536613039396138452e6c6c766d2e3136313132333733343434373433323030313934e10c94015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f38385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137683365323063323161666438303266613145e20c95015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f38395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e4572726f72244c542454244754242447542439747970655f696e666f3137683065633162343434636161386639363245e30c99015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f39335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e4576656e742447542439656e636f64655f746f3137683165646264383433646132623934386245e40ccb015f5a4e3135325f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e7061796d656e742e2e46756e6769626c6541646170746572244c5424462443244f552447542424753230246173247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e7061796d656e742e2e4f6e4368617267655472616e73616374696f6e244c54245424475424244754243233636f72726563745f616e645f6465706f7369745f6665653137686437626163646536653931393661336445e50c9a025f5a4e313570616c6c65745f62616c616e6365733133696d706c5f63757272656e63793231345f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e63757272656e63792e2e72657365727661626c652e2e52657365727661626c6543757272656e6379244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244754242475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c54245424432449244754242447542439756e726573657276653137683236653964666562396565333734383645e60cb5015f5a4e313570616c6c65745f62616c616e6365733670616c6c65743132365f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e4572726f72244c5424542443244924475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137686233356235346531393266313561333745e70c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686534383362373831393731383962326345e80c565f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c5424542443244924475424313673746f726167655f6d657461646174613137686565646265383062393961636139333845e90c5f5f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c5424542443244924475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137683065336261396436393865663936346145ea0c625f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c542454244324492447542432386d75746174655f6163636f756e745f68616e646c696e675f647573743137683338626138353935663764656262643245eb0c665f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c5424542443244924475424333270616c6c65745f6173736f6369617465645f74797065735f6d657461646174613137686661313263386539383163313238306445ec0ca5015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c542454244324492447542424475424366465636f64653137683237653934616137663336373037623145ed0ca5015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c542454244324492447542424475424366465636f64653137683764353261623031363637373466646345ee0ca8015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c54245424432449244754242447542439656e636f64655f746f3137686562376363323937383164343532353245ef0ca8015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c5424542443244924475424244754243973697a655f68696e743137683863373333373531373431333339613445f00ca9015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e4576656e74244c54245424432449244754242447542439656e636f64655f746f3137683038363232613366396333306565343145f10caa015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130385f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e47656e65736973436f6e666967244c5424542443244924475424244754243973657269616c697a653137686136366632316162333632666464613945f20caa015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130385f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e47656e65736973436f6e666967244c5424542443244924475424244754243973657269616c697a653137686364626539333364643039383661653945f30c9a015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f39335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c54245424432449244754242447542439747970655f696e666f3137683937323138656431343332316234653945f40c9b015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e4572726f72244c54245424432449244754242447542439747970655f696e666f3137683333663766643138303136313339646245f50c9b015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e4576656e74244c54245424432449244754242447542439747970655f696e666f3137683533343735643632663239336635393245f60c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686132333362313265646336343433396445f70c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686233333861326635383335356165306245f80c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686263643735363333353632343632393645f90c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686461396431346331326331363264343945fa0cef015f5a4e3230335f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e5f2e2e244c5424696d706c247532302473657264655f636f72652e2e64652e2e446573657269616c697a652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754242e2e646573657269616c697a652e2e5f5f4669656c6456697369746f7224753230246173247532302473657264655f636f72652e2e64652e2e56697369746f72244754243976697369745f7374723137683238346131633132663966643961623345fb0cad025f5a4e3236375f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e49646c65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d6265722447542424475424376f6e5f69646c653137686636306634353563633565323737383545fc0cd1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c65743133385f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e4572726f72244c54245424475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137683330366430336534363638656431383145fd0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683133303238663835383537663236633945fe0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683134656361373930343565353363393245ff0c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683161663230323265373636363966653145800d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683164323534663433346634646233636245810d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683336653833353662383362363339373245820d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683534653432356537383435656239303745830d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686134666161633237643966373134323245840d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686361663161343165393431373531363145850d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686439343566343039336231626564626345860d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686538383961363032323036336532333545870d4b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137686538303564666536343938633865313345880d5b5f5a4e34636f726533666d74336e756d34395f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f72247532302475382447542433666d743137686131643866376331303035656464346245890d315f5a4e34636f7265336f70733866756e6374696f6e32466e3463616c6c31376830393537313465623233343236663635458a0d4d5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431366c6f61645f6f776e65645f76616c756531376830333564346538323261383335613135458b0d315f5a4e34636f7265336f70733866756e6374696f6e32466e3463616c6c31376837373266616535383639313066313339458c0d5a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d2475376424247537642431376831383961643363653631356531633032458d0d765f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542432376c6f6f6b5f75705f776974685f63616368655f696e7465726e616c32385f24753762242475376224636c6f737572652475376424247537642431376831303962393331636264363336373930458e0d5a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d2475376424247537642431376866633337643730376534383338363532458f0d6a5f5a4e34636f726533707472343664726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c54247538244754242447542431376831613031636535343031306461383661452e6c6c766d2e3136313132333733343434373433323030313934900d595f5a4e34636f726533707472353564726f705f696e5f706c616365244c542473705f636f72652e2e63727970746f2e2e536563726574537472696e674572726f72244754243137683331646662313365393831306562303845910d3d5f5a4e34636f726533737472377061747465726e313454776f5761795365617263686572346e6578743137683762663063633239313735396338623945920d525f5a4e35335f244c5424636f72652e2e666d742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683161376566383832646131363031373945930d575f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683134346438396636306630383963313545940d5f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f636861723137683836623035353033323438353133326445950d5d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137686463373765383038663336633535386345960d5e5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431306f725f64656661756c743137683330393861333537656664646564393545970d5e5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431306f725f64656661756c743137686632633431343763333431373538623645980d625f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431346f725f696e736572745f776974683137683032336234343434333763356631303345990d5f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e7365727431376864386465323062636466363330643730459a0d5f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e7365727431376833363731386138383966636363623530459b0d5f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e7365727431376838396434663162313564653431663237459c0d5f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e7365727431376838663136656436313963333836613130459d0d5f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e7365727431376865653233333634313830336366633961459e0d5f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e7365727431376866613362626666323238323263623436459f0d5e5f5a4e36355f244c542473705f636f72652e2e63727970746f2e2e5075626c69634572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683365383565363638666237363337623045a00d5f5f5a4e36365f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c54245424475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683930306533323031643535393138303645a10d645f5a4e37315f244c542473705f636f72652e2e63727970746f2e2e536563726574537472696e674572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683734663931306236333261626161376545a20d695f5a4e37335f244c542473705f72756e74696d652e2e4d756c74695369676e617475726524753230246173247532302473705f72756e74696d652e2e7472616974732e2e56657269667924475424367665726966793137683335323163346561386366343732346445a30d655f5a4e3773705f636f72653663727970746f3953733538436f6465633235746f5f73733538636865636b5f776974685f76657273696f6e31376831333165666530333830356231303936452e6c6c766d2e3136313132333733343434373433323030313934a40d725f5a4e37365f244c542473705f636f72652e2e63727970746f2e2e4163636f756e744964333224753230246173247532302473657264655f636f72652e2e64652e2e446573657269616c697a65244754243131646573657269616c697a653137683137303430636435643963643937616445a50d6b5f5a4e37385f244c54246672616d655f737570706f72742e2e64697370617463682e2e506f73744469737061746368496e666f247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683765343361356136383231623930666345a60d415f5a4e37747269655f6462346e6f646531304e6f646548616e646c653135746f5f6f776e65645f68616e646c653137686334643435363330333834653439316345a70d385f5a4e37747269655f6462346e6f6465344e6f64653133746f5f6f776e65645f6e6f64653137683632623662386362323266363530333345a80d415f5a4e37747269655f6462346e6f646531304e6f646548616e646c653135746f5f6f776e65645f68616e646c653137686661653930333039353437333738333845a90d385f5a4e37747269655f6462346e6f6465344e6f64653133746f5f6f776e65645f6e6f64653137686332366332666463363138636465656445aa0d445f5a4e37747269655f6462346e6f646531384e6f64654f776e6564244c542448244754243130746f5f656e636f6465643137686338316563613062663738373330666645ab0d525f5a4e37747269655f6462346e6f646532344e6f646548616e646c654f776e6564244c54244824475424313861735f6368696c645f7265666572656e63653137683931653436633539646233643862616545ac0d495f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431326c6f6f6b5f75705f686173683137683961386631383232346534333563613745ad0d725f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542432336c6f6f6b5f75705f686173685f776974685f636163686532385f24753762242475376224636c6f73757265247537642424753764243137683266633162313463316662303639633645ae0d6b5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431366c6f61645f6f776e65645f76616c756532385f24753762242475376224636c6f73757265247537642424753764243137686561663165346236346538323535353645af0d6d5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431386c6f6f6b5f75705f776974685f636163686532385f24753762242475376224636c6f73757265247537642424753764243137683163613835366331663335353263333645b00d435f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c2443245124475424376c6f6f6b5f75703137683435623637306339653135323464383545b10d8e015f5a4e39385f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137686561373833623232393762363864333145b20d8c015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6379636c652e2e4379636c65244c54244924475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f72244754243130616476616e63655f62793137686235343830303532383661663764396245b30d90015f5a4e3130325f244c542470616c6c65745f74696d657374616d702e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e696e686572656e742e2e50726f76696465496e686572656e74244754243134636865636b5f696e686572656e743137686466363133356536633337313739346245b40d91015f5a4e3130325f244c542470616c6c65745f74696d657374616d702e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e696e686572656e742e2e50726f76696465496e686572656e742447542431356372656174655f696e686572656e743137683436336262326639393364613534326345b50d7e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137686436623666646165313762653039346245b60d8f015f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f31376864623064636265613866346564343734452e6c6c766d2e3138303736303132313032313331303435303634b70d735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137683762616534383131363862636138653045b80d755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683838646362323361616133383864656345b90d7e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683764386233303861343631326139333045ba0d7e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683832616439393038633238393936333645bb0d7e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137686361316430643733306430643937303945bc0d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683265313830363066343263303964333345bd0d3b5f5a4e313073657264655f6a736f6e337365723138666f726d61745f657363617065645f7374723137686362353832306537353961663732343745be0d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683439656131613736646639383866666245bf0d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683536363739323661363765373135663045c00d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683539316232626663613064653936373845c10d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683561353765333337616665643433333045c20d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683738613038653266616132366532613045c30d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683832333831663064393635336137653845c40d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683865626138373038396261363730623645c50d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683935313939323462386232333761353945c60d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683937326639666538613066646234306545c70d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686363376239656461336166303666656245c80d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686437353632323265663766343939373245c90d86015f5a4e39305f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a655475706c6524475424313773657269616c697a655f656c656d656e743137686436373837306138383961316437323045ca0d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686438316435323831376232363461636545cb0d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686563376439343532643163306430643645cc0d465f5a4e313073657264655f636f726533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686663343061613161396630383038303545cd0d8a015f5a4e313073657264655f6a736f6e3576616c75653373657238315f244c5424696d706c247532302473657264655f636f72652e2e7365722e2e53657269616c697a652475323024666f72247532302473657264655f6a736f6e2e2e76616c75652e2e56616c7565244754243973657269616c697a653137686338393162663532366136333530313845ce0d4a5f5a4e313073705f72756e74696d6536747261697473313656616c6964617465556e7369676e656431327072655f64697370617463683137686332376465363933323533633764653145cf0d8a015f5a4e39345f244c54246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e56616c6964617465556e7369676e656424475424313776616c69646174655f756e7369676e65643137683862383735386331623666343061356645d00d91015f5a4e3131335f244c54246672616d655f73797374656d2e2e70616c6c65742e2e47656e65736973436f6e666967244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4275696c6447656e65736973436f6e66696724475424356275696c643137683665346630306361626131353465613045d10d93015f5a4e3131365f244c542470616c6c65745f62616c616e6365732e2e696d706c5f63757272656e63792e2e696d62616c616e6365732e2e4e65676174697665496d62616c616e6365244c5424542443244924475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686636623263353838633130303265396445d20d755f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432316465706f7369745f6576656e745f696e64657865643137683161343666393630323861373630343845d30d93015f5a4e3131365f244c542470616c6c65745f62616c616e6365732e2e696d706c5f63757272656e63792e2e696d62616c616e6365732e2e506f736974697665496d62616c616e6365244c5424542443244924475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683134653764333762333464383661653845d40db0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137683063663230323633306666626133383645d50db0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137683134346232613933323061333230653045d60db0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137683433643236373430306330653534646145d70db0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137683938396531333763323734333230623445d80db0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137686631343861633033356561396237663545d90d6a5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243130696e697469616c697a653137683964656439623735383563386434643245da0d6c5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424313263616e5f7365745f636f64653137686261303939656439383831366338663545db0d6c5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424313272657365745f6576656e74733137686665376661336264343232383164373545dc0d6e5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431347265636c61696d5f7765696768743137686635363864303331613966386238643845dd0d765f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432326e6f74655f6170706c6965645f65787472696e7369633137683164303836623833336663616664326645de0d5c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d743137683234313530646434636533353833373045df0d745f5a4e38375f244c54246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c54245424475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683138353264633936373063643638316345e00d785f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432346e6f74655f66696e69736865645f65787472696e736963733137686566663261373630663061363064306245e10d7b5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424323776616c69646174655f636f64655f69735f617574686f72697a65643137683061306631663835336431393432623445e20d675f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243866696e616c697a653137683030303037363531633462386330643545e30d495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683763363933313766313331346163393845e40d4f5f5a4e31326672616d655f73797374656d3670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137683037386636313032323364653461343945e50d3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686561656464336532633737353061313845e60d585f5a4e31326672616d655f73797374656d3670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137683135396561353066306362386334623245e70d5f5f5a4e31326672616d655f73797374656d3670616c6c6574313550616c6c6574244c54245424475424333270616c6c65745f6173736f6369617465645f74797065735f6d657461646174613137683331383534373639376338326230373145e80d9f015f5a4e31326672616d655f73797374656d3670616c6c6574315f3130305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e4576656e74244c542454244754242447542439656e636f64655f746f3137686563663133386536653238346435326345e90d9f015f5a4e31326672616d655f73797374656d3670616c6c6574315f3130305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e4576656e74244c54245424475424244754243973697a655f68696e743137686532626431313562613238356439663545ea0d90015f5a4e31326672616d655f73797374656d3670616c6c6574315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137686139623232303238613862396361656445eb0d91015f5a4e31326672616d655f73797374656d3670616c6c6574315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e4572726f72244c542454244754242447542439747970655f696e666f3137686161613461643065633461396639653945ec0d91015f5a4e31326672616d655f73797374656d3670616c6c6574315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e4576656e74244c542454244754242447542439747970655f696e666f3137686266316363343064356231613333613845ed0d9a015f5a4e31326672616d655f73797374656d3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683838373338646461396332303337366345ee0d9a015f5a4e31326672616d655f73797374656d3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137686366303230343436353132343635383245ef0d9d015f5a4e31326672616d655f73797374656d3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f3137683065633438343633353163636138613945f00d4a5f5a4e31336672616d655f737570706f727436747261697473313073746f7265645f6d61703953746f7265644d617036696e736572743137683065306436333332303937306230366245f10d535f5a4e313670616c6c65745f74696d657374616d703670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137686136623166323964636462386138643745f20d5c5f5a4e313670616c6c65745f74696d657374616d703670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137686161333632643261653930613333663045f30d98015f5a4e313670616c6c65745f74696d657374616d703670616c6c6574315f39305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f74696d657374616d702e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137683666393430393962393861333462653445f40d9e015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024244c502451302443245230245250242447542439656e636f64655f746f3137686239376261363839363732643836326345f50d5a5f5a4e323363756d756c75735f70616c6c65745f617572615f6578743670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137683432373136333233366662333735303845f60da9025f5a4e3235395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e47656e657369732447542431306f6e5f67656e657369733137683065323035386163303462663162633445f70daa025f5a4e3236345f244c542470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e49646c65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d6265722447542424475424376f6e5f69646c653137686565636638333963366634363632653745f80db8025f5a4e3236365f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e52756e74696d65557067726164652447542431386f6e5f72756e74696d655f757067726164653137683537623938343865663166353737326645f90db5025f5a4e3237355f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e49646c65244c5424426c6f636b4e756d6265722447542424475424376f6e5f69646c653137686138643065376461393736356263616345fa0dcd025f5a4e3237365f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686535623831393537353561363136633345fb0d715f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686361386263363837613133633737636145fc0dbe025f5a4e3237395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e46696e616c697a65244c5424426c6f636b4e756d626572244754242447542431316f6e5f66696e616c697a653137686634373735623735616638626537396245fd0dda025f5a4e3238305f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f6578656375746976652e2e4f6e496e697469616c697a6557697468576569676874526567697374726174696f6e244c542454244754242447542433386f6e5f696e697469616c697a655f776974685f7765696768745f726567697374726174696f6e3137683932636263376266383831316162353545fe0d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683031663335633232323532356239663845ff0d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683032306162643831663639336432383745800e615f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831393135646130333836313436663263452e6c6c766d2e3138303736303132313032313331303435303634810e615f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376839656335386137353230356236336463452e6c6c766d2e3138303736303132313032313331303435303634820e475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686135643138366336313937663461623645830e475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686266626664366266333432646165303445840e475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686466363339613531383439346531393545850e4b5f5a4e34365f244c54245424753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137683336646538386163373733633435383745860e4d5f5a4e34385f244c54242475356224542475356424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683438623863613734666538663463336445870e4d5f5a4e34385f244c54242475356224542475356424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683736393934336530656639646665306645880e5c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247536342447542433666d743137683561623239333438333232313533333845890e5e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d7431376866373732353766623438396632396235458a0e3a5f5a4e34636f726533666d74386275696c6465727338446562756753657437656e747269657331376839386563393139376564643766663434458b0e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e747269657331376831663762363563313264383836356163458c0e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e747269657331376834646365386238393233643262643833458d0e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e747269657331376836343538323164306262633566356262458e0e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e747269657331376836633831313930353662363433363835458f0e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137683732633964396564336431353438383545900e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137683930346562643732316233353430383745910e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137686234383664373564356661613836313245920e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137686266383732616239626132353964393645930e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137686564346139613165343139323432636245940e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137686665363332653236323531323334336645950e4f5f5a4e34636f726533707472343564726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72244754243137686137663232623635633164343536313345960e695f5a4e34636f726533707472343564726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e76616c75652e2e56616c75652447542431376864356165616232363566366363393839452e6c6c766d2e3138303736303132313032313331303435303634970e6f5f5a4e35365f244c542473705f696e686572656e74732e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376862326431646162303031363837626561452e6c6c766d2e3138303736303132313032313331303435303634980e5f5f5a4e36365f244c542473705f776569676874732e2e7765696768745f76322e2e576569676874247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683231336534633363643733306538383545990e625f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831303235386638333138373561663832459a0e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376830316333623332336265303062616230459b0e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376830633064623438373338393663353562459c0e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376833323030666364653830653838633634459d0e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376835623166656564393231383033633234459e0e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376835646633626333666439633030393037459f0e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683633373838306438333565663331613745a00e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683635373438393431396336353561396345a10e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683666363231323535316633353864306445a20e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683730646261646631346464333839666545a30e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683864613936383035323633336364323145a40e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683939323363306334646465373138666445a50e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686234343533383937663863393563363945a60e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686632333135353931303832666332613545a70e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686634343835663537633533383135396245a80e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686639346234326638373866643262613245a90e83015f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686666636338653563643430376130643245aa0e8c015f5a4e39365f244c54246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137683066373935373739323533663138393645ab0e535f5a4e323063756d756c75735f746573745f72756e74696d65323267656e657369735f636f6e6669675f7072657365747331327072657365745f6e616d65733137683462316661653962346335396435373045ac0e515f5a4e323063756d756c75735f746573745f72756e74696d65323267656e657369735f636f6e6669675f7072657365747331306765745f7072657365743137686565396636623066356332336533376545ad0e695f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574313550616c6c6574244c54245424475424323172656d6f76655f76616c75655f66726f6d5f6d61703137686232636562646132306562393332633645ae0ea2015f5a4e3131375f244c542463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137683934303562313839333866653130636545af0e645f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137686331616433353861633933653462646645b00ec8015f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f3137686530396365313331313161636139663445b10ec5015f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683661363930333431633762636438363345b20ec5015f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683833303662306133386134303431303645b30ebb015f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574315f3130375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137683837336163323139633033313133303845b40e0c436f72655f76657273696f6eb50e12436f72655f657865637574655f626c6f636bb60e15436f72655f696e697469616c697a655f626c6f636bb70e2741757261556e696e636c756465645365676d656e744170695f63616e5f6275696c645f75706f6eb80e2852656c6179506172656e744f66667365744170695f72656c61795f706172656e745f6f6666736574b90e15417572614170695f736c6f745f6475726174696f6eba0e13417572614170695f617574686f726974696573bb0e114d657461646174615f6d65746164617461bc0e1c4d657461646174615f6d657461646174615f61745f76657273696f6ebd0e1a4d657461646174615f6d657461646174615f76657273696f6e73be0e1d4163636f756e744e6f6e63654170695f6163636f756e745f6e6f6e6365bf0e1c426c6f636b4275696c6465725f6170706c795f65787472696e736963c00e1b426c6f636b4275696c6465725f66696e616c697a655f626c6f636bc10e20426c6f636b4275696c6465725f696e686572656e745f65787472696e73696373c20e1c426c6f636b4275696c6465725f636865636b5f696e686572656e7473c30e2b5461676765645472616e73616374696f6e51756575655f76616c69646174655f7472616e73616374696f6ec40e214f6666636861696e576f726b65724170695f6f6666636861696e5f776f726b6572c50e1f53657373696f6e4b6579735f6465636f64655f73657373696f6e5f6b657973c60e2153657373696f6e4b6579735f67656e65726174655f73657373696f6e5f6b657973c70e234765744c61737454696d657374616d705f6765745f6c6173745f74696d657374616d70c80e2b436f6c6c656374436f6c6c6174696f6e496e666f5f636f6c6c6563745f636f6c6c6174696f6e5f696e666fc90e1a47656e657369734275696c6465725f6275696c645f7374617465ca0e1947656e657369734275696c6465725f6765745f707265736574cb0e1b47656e657369734275696c6465725f7072657365745f6e616d6573cc0e1d47657450617261636861696e496e666f5f70617261636861696e5f6964cd0e21546172676574426c6f636b526174655f7461726765745f626c6f636b5f72617465ce0e9e015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376830643131663334363236653637373636452e6c6c766d2e39343132373231343736373139313638363839cf0e85015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686366386564616138306430303963356645d00e755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683432346263626339666166383134373145d10e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686266643935663836346665333765626645d20e755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683931616136316639363239363163366145d30e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683036623065363737323166393034363745d40e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683038313337373533623363653738303045d50e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683066323431386337653462393735356245d60e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683137666330663935316139663162376245d70e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683238356361333238363639663933653845d80e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683362316239633335353138666636313145d90e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683531383635303339613066623535353845da0e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683531613532616265633066333537316445db0e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683563656635663462336632336135663445dc0e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683663333164653532313535633835396645dd0eb6015f5a4e313570616c6c65745f62616c616e636573357479706573315f3132315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e5265736572766544617461244c5424526573657276654964656e74696669657224432442616c616e6365244754242447542439747970655f696e666f3137683933383165393335636130616232323245de0e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683864623661323639393938633438653445df0e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683966613962353537386166623432666645e00e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686133343236373830343337326566343445e10e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686133366334363238393232363461326445e20e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686138636132366465326461643235623945e30e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686331306636336331313333383738616245e40ea2015f5a4e313570616c6c65745f62616c616e636573357479706573315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e42616c616e63654c6f636b244c542442616c616e6365244754242447542439747970655f696e666f3137683531343137346563356531343566323745e50e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686335643562383664373463373839616645e60e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686433616231653131613837653763303445e70e80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686536636139366664643161343830373145e80eb9015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3132315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e646578244754242447542439747970655f696e666f3137683833323138353962383837616265636145e90ec3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137683163343639636533323961656337383245ea0ec3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137683233376431353430373966346634396545eb0ec3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137683437656264636266393865383433393445ec0ec3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137686538656638383635653561363034353845ed0ec6015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e646578244754242447542439656e636f64655f746f3137686464383665623137626230643531333145ee0e93015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137683266643062363135363739656164336645ef0e93015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137683531343031663831616361663962363445f00e93015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137686230326634303033356334356138333145f10e93015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137686638346134343232313039343534346545f20e93015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137686664616634353034326466393832373945f30ead015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683038666564643536393632366664653145f40ead015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683261306435373237626633373936343145f50ead015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686163386361336133663830333535353945f60ea2015f5a4e313570616c6c65745f62616c616e636573357479706573315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e4163636f756e7444617461244c542442616c616e6365244754242447542439747970655f696e666f3137686563623431303065646435313964376145f70eaf015f5a4e313570616c6c65745f62616c616e636573357479706573315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e4163636f756e7444617461244c542442616c616e6365244754242447542439656e636f64655f746f3137683730646239663161666262353239663945f80e9b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137683063623966323139343165303036363945f90e9b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137683164663133393861346230323136616145fa0e9b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137683361306564316162396235336431363045fb0e9b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137686633336334353237623364633234336345fc0e9e015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024244c502451302443245230245250242447542439656e636f64655f746f3137686636613132626230373138333134323445fd0ecd015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74327630315f3132385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e76302e2e50617261636861696e496e686572656e744461746124475424366465636f64653137686634376231313564306162306661656245fe0e6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683235313334616333346563333863323545ff0e475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683532666633666231653864623435326345800f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683533366263313434353236626539306545810f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683736396136643534373338393263663745820f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683830393139396531653532313634653545830f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683930363339316230356265343137323445840f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683938646334323161313130386230363445850f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686231383535646231336466623734326145860f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686231643266363765623332333535633345870f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686365663465306137356339643261393645880f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686437313139343232626236313463323445890f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376864636436373466346635366134623266458a0f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865643139616166663336363734353564458b0f495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376861343133613965386538383837623536458c0f715f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542431376833363761643935633961613765646666452e6c6c766d2e393431323732313437363731393136383638398d0f7f5f5a4e34636f726533707472363864726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c542473657264655f6a736f6e2e2e76616c75652e2e56616c7565244754242447542431376864336433626236306364623962633965452e6c6c766d2e393431323732313437363731393136383638398e0f85015f5a4e34636f726533707472373464726f705f696e5f706c616365244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e48323536244754242447542431376862616133363132616238643661363636452e6c6c766d2e393431323732313437363731393136383638398f0f5f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137683930326635646437363731613331303445900f5f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137686637666339646236343833303363336645910f575f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137683736646638336539376430666638666345920f575f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137686336396231653230356666623565303745930f5a5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683238653861326130616239313836353745940f505f5a4e35616c6c6f633131636f6c6c656374696f6e73397665635f646571756532315665634465717565244c54245424432441244754243467726f773137686537336363646537323962666238653845950f555f5a4e35616c6c6f633131636f6c6c656374696f6e73397665635f646571756532315665634465717565244c542454244324412447542439706f705f66726f6e743137683161333835616566626164646338373945960f3f5f5a4e35616c6c6f63337665633136566563244c5424542443244124475424313072657461696e5f6d75743137686662323665316666633361633135393645970f455f5a4e35616c6c6f63337665633136566563244c54245424432441244754243136657874656e645f6465737567617265643137686265376231363662353638316234646245980f465f5a4e35616c6c6f63337665633136566563244c54245424432441244754243137657874656e645f66726f6d5f736c6963653137683836643963396262326265353333343445990f625f5a4e36305f244c5424245246246d7574247532302454247532302461732475323024627335382e2e6465636f64652e2e4465636f64655461726765742447542431316465636f64655f7769746831376839373665393436653162653562643238459a0f5e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376832633435323533633930623331343865459b0f5e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376833333439396535396132353333633937459c0f5e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376835616334303261643032636538326632459d0f5e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865373135303666383235643536343033459e0f5e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865643833316662313338643630383537459f0f625f5a4e36375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653137686133666636313761396438316164316345a00f625f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683130323538663833313837356166383245a10f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683234396162333934623938663132383945a20f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683362353339393534383932613435373745a30f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683434303662663434306661323131386545a40f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683536653263626664313563353630616245a50f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683537613064383262633736363535353445a60f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683738366633613839663930323466313845a70f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683933303731343664636537636265643545a80f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683961623835333033656332613737616145a90f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686135616232346537666661333661393145aa0f645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686262643030643834323965386434303745ab0f6e5f5a4e37325f244c5424616c6c6f632e2e7665632e2e566563244c5424753824475424247532302461732475323024627335382e2e656e636f64652e2e456e636f6465546172676574244754243131656e636f64655f776974683137686437633862326264376364663861653145ac0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683135316330643965333966326236646645ad0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683137363236326166623866343333633245ae0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683238626230323534353763663233616445af0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683564653733653233626630663933623445b00f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683632346130636465326234336136653645b10f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683830633863663530333339346534303545b20f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683865623764366464306631316537626145b30f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683933306636616332373762313837626345b40f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683935346132656561306637316234383845b50f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683936326138633638343231656164646645b60f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686238646262626563343337373837396645b70f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686338613839613038346531653130643545b80f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686366633461646438373631616439343545b90f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686432373734303762356261333031323445ba0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686433323934383431643337633165363045bb0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686436333132353065653030393561613945bc0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686530323138343339373365383161343845bd0f6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686532376463383236383133643834386245be0f395f5a4e3773705f7472696531316e6f64655f68656164657231316465636f64655f73697a653137683933663433346262643530643932376345bf0f765f5a4e38365f244c542473705f747269652e2e6e6f64655f6865616465722e2e4e6f64654865616465722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683037666137313835366631666136383045c00f795f5a4e38365f244c542473705f747269652e2e6e6f64655f6865616465722e2e4e6f64654865616465722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683962663032313130393734386535333445c10f87015f5a4e39375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f657874656e642e2e53706563457874656e64244c5424542443244924475424244754243131737065635f657874656e643137683265636663653936363364303331656545c20f87015f5a4e39375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f657874656e642e2e53706563457874656e64244c5424542443244924475424244754243131737065635f657874656e643137683536383266633131633833663135336245c30f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683036666365383164653838333662376445c40f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683036666635356462363761393535653545c50f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683038663563346534363132306131663745c60f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683136633163383039336663613731383945c70f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683163373633386136633861386332396445c80f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683164326533346236303431393363616245c90f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683231373535633565623930636339666345ca0f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683364366537616130373636363263396145cb0f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683464316632363662336433386138613745cc0f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683536386230353337343365613730333345cd0f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683561333838386337303564333930626345ce0f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683562633533646433353331363736366245cf0f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683830653830313634333036643531656345d00f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683831363533306363626265316532623345d10f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683831633732623437333135353130616145d20f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683833313966326337306234343936333445d30f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683933353366333966393466353636613745d40f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683934643430306663626337306533646445d50f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683934646463306566643033373363616245d60f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686139663630653964316539653763633945d70f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686237366562333164613861356439353745d80f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686631313032613636343631353963353945d90f0e76616c69646174655f626c6f636bda0fa8015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c5424482447542424475424313273746f726167655f686173683137683664613166353433376533616336393045db0f695f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e4832353624475424244754243137683537383566653435313433616264636145dc0fa8015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c5424482447542424475424313273746f726167655f686173683137683861653765303434626335653939383545dd0fac015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542431366e6578745f73746f726167655f6b65793137683135633335316431373466656261613645de0f3e5f5a4e35616c6c6f633473796e633136417263244c54245424432441244754243964726f705f736c6f773137683335353938653665303666383762636645df0fc8045f5a4e34636f72653370747235343964726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e43616368656449746572244c5424245246246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443242452462463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137683331656535636132613137376663336445e00fac015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542431366e6578745f73746f726167655f6b65793137683635613931353331666233643962613845e10fa2015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c54244824475424244754243773746f726167653137683663666331316362326464653638306445e20fa2015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c54244824475424244754243773746f726167653137683966303366633133663437316236656245e30faf015f5a4e3133375f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424313061735f686173685f64623137686365316664383732326537333930363345e40faf015f5a4e3133375f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424313061735f686173685f64623137686666313632653232356330333563656345e50fb3015f5a4e3133375f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424313461735f686173685f64625f6d75743137683339366666613932366438323065313145e60fb3015f5a4e3133375f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424313461735f686173685f64625f6d75743137683862376232613237363537396235616245e70f455f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64313070726f6f665f73697a653137683135623036663834333234326537386445e80f4b5f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e643136726561645f77726974655f636f756e743137683836313331376461396662613064346345e90f4c5f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64313766756c6c5f73746f726167655f726f6f743137683264323162663462623030383838633945ea0f4c5f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64313766756c6c5f73746f726167655f726f6f743137686330396130663438393965353932336545eb0f515f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64323272657365745f726561645f77726974655f636f756e743137686263316663353131653638383538353745ec0f545f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e6432356765745f726561645f616e645f7772697474656e5f6b6579733137686136613832656564396462313434333545ed0f585f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376864646432376366363366643362373833452e6c6c766d2e33313537333339383436313137303539373635ee0f3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683961646265363764316233386366366345ef0f3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683964303836383466663732663335656145f00f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683939383439343636353366616466363345f10f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686264663038333963633437616337656545f20f5e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137686637373235376662343839663239623545f30fa5015f5a4e34636f72653370747231333064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137686635653764656139303537313566383345f40faf015f5a4e34636f72653370747231343064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137683131316362336162363362373063656245f50ff1045f5a4e34636f72653370747235363564726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c5424245246246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f747269652e2e6861736865725f72616e646f6d5f73746174652e2e52616e646f6d53746174652447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443242452462463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754242447542431376830396636393032353832363730356537452e6c6c766d2e33313537333339383436313137303539373635f60f465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274345f737461626c653137683231383361376539303864316361653645f70f465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274345f737461626c653137683739646236383533333031393537336545f80f465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c653137683838613432343533313133626661616545f90f465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c653137686430623831373035623734323162343745fa0f4d5f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f727431396269646972656374696f6e616c5f6d657267653137683061343435383936383138323061653245fb0f4d5f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f727431396269646972656374696f6e616c5f6d657267653137686666393761613962633762313130636445fc0f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683030613730616265323630303430363945fd0f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683062353033373563393635663365616545fe0f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683236633564353433626434623935373745ff0f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376836383134663939353166333165346565458010535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376836633533323061663934363634303864458110535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376838656138313936343135336465653030458210535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376839366236343934616565393730353835458310535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376864643438353665386562336634636431458410595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376830396130623330333835613065633264458510595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376831306535373335623066313336646165458610595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376832633335636331336536313937313539458710595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376838653133363861633230313765326230458810595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376862353865613634646236373535386330458910595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376863326637333462393237363966336136458a10595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376866313635326462336639336562663537458b10305f5a4e3773705f74726965313564656c74615f747269655f726f6f7431376836353131623739376432343039643030458c10305f5a4e3773705f74726965313564656c74615f747269655f726f6f7431376861633666336265663332653563316165458d10305f5a4e3773705f74726965313564656c74615f747269655f726f6f7431376862303637616266656635343531643730458e10305f5a4e3773705f74726965313564656c74615f747269655f726f6f7431376863343335313766373732626639336466458f10365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376832366161613638636665343631656335459010365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376835623836373134353930323835363335459110365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376837373434303337646438303564326630459210365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376839373336313633356432626534393566459310365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376861333734393663616161643161613635459410365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376863333938333239636530613063323865459510365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376864333462386333356339613234376164459610365f5a4e3773705f7472696532316368696c645f64656c74615f747269655f726f6f7431376865303234333338353862313962323539459710365f5a4e3773705f747269653231726561645f6368696c645f747269655f76616c756531376830633937356464616334663333656563459810365f5a4e3773705f747269653231726561645f6368696c645f747269655f76616c7565313768353537616639613632343561633064364599108c015f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c5424482443245424475424244754243367657431376836633766346634323730353365306638452e6c6c766d2e333135373333393834363131373035393736359a108c015f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c5424482443245424475424244754243367657431376863643039303537646161626431633832452e6c6c766d2e333135373333393834363131373035393736359b10735f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c5424482443245424475424244754243367657431376864346332643634336163393261643331459c10785f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c54244824432454244754242447542438636f6e7461696e7331376830306463656166383563303230636563459d1091015f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c54244824432454244754242447542438636f6e7461696e7331376835313530326638363531393132396535452e6c6c766d2e333135373333393834363131373035393736359e1091015f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c54244824432454244754242447542438636f6e7461696e7331376838663366346434316666616664343532452e6c6c766d2e333135373333393834363131373035393736359f10735f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324542447542424475424336765743137683635643139323762623134353931663245a010735f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324542447542424475424336765743137686463336563653061343361343032316145a110765f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542436696e736572743137683639623762626263653136366662343345a210765f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c5424482443245424475424244754243672656d6f76653137686439333334386633343031366662396445a310775f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542437656d706c6163653137683065323436323063663465373938656145a410785f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542438636f6e7461696e733137683738643839363761323462343064356345a510785f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542438636f6e7461696e733137686336326461316235623663343838613045a6107d5f5a4e38385f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324542447542424475424313061735f686173685f64623137683237663133306463633036626161356645a7107d5f5a4e38385f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324542447542424475424313061735f686173685f64623137683365353861306638373365666230366545a81081015f5a4e38385f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324542447542424475424313461735f686173685f64625f6d75743137686163346163343738663662623462363345a91081015f5a4e38385f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324542447542424475424313461735f686173685f64625f6d75743137686635386666343035613362393238613345aa105d5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332356669656c6431364669656c64456c656d656e74323632353861735f62797465733137683432366561396264396364386339326545ab1090015f5a4e3136637572766532353531395f64616c656b356669656c6438315f244c5424696d706c2475323024637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e6669656c642e2e4669656c64456c656d656e7432363235244754243132737172745f726174696f5f693137683432333638333362343838666164336645ac107c5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332356669656c6431364669656c64456c656d656e743236323531327371756172655f696e6e657231376861306134373365356235336139353636452e6c6c766d2e3137323538393339393038333531363935393333ad108b015f5a4e3130395f244c542424524624637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e6669656c642e2e4669656c64456c656d656e7432363235247532302461732475323024636f72652e2e6f70732e2e61726974682e2e4d756c24475424336d756c3137683035653735386264333036666339653445ae105a5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332356669656c6431364669656c64456c656d656e743236323535706f77326b3137686634383265326538653864366165393145af108b015f5a4e3130395f244c542424524624637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e6669656c642e2e4669656c64456c656d656e7432363235247532302461732475323024636f72652e2e6f70732e2e61726974682e2e53756224475424337375623137683666303334313366346538386264643445b0108b015f5a4e3130395f244c542424524624637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e6669656c642e2e4669656c64456c656d656e7432363235247532302461732475323024636f72652e2e6f70732e2e61726974682e2e4e656724475424336e65673137683138396438336632633530323066386345b11081015f5a4e3136637572766532353531395f64616c656b367363616c617237345f244c5424696d706c2475323024637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e7363616c61722e2e5363616c6172323924475424347061636b3137683633356265306334643634313638666145b210505f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332367363616c6172385363616c61723239337375623137686163346338313032653133633133643845b3105c5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332367363616c6172385363616c6172323931346d6f6e74676f6d6572795f6d756c3137683932343065383661376632396263363745b410585f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332367363616c6172385363616c61723239313066726f6d5f62797465733137686630363137353435656565643163353645b5105d5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332367363616c6172385363616c61723239313566726f6d5f62797465735f776964653137686437326665363762653739623731373945b610525f5a4e3136637572766532353531395f64616c656b367363616c6172365363616c6172323566726f6d5f62797465735f6d6f645f6f726465725f776964653137683466323038376130633866633264393145b710585f5a4e3136637572766532353531395f64616c656b367363616c6172365363616c61723672656475636531376835303562376232356134383335346564452e6c6c766d2e3132333136323130333637353935303332333335b810445f5a4e3136637572766532353531395f64616c656b367363616c6172365363616c6172313161735f72616469785f32773137683639383464663335313234393531616345b910f9015f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c313263757276655f6d6f64656c733137325f244c5424696d706c2475323024636f72652e2e6f70732e2e61726974682e2e416464244c542424524624637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e63757276655f6d6f64656c732e2e416666696e654e69656c73506f696e74244754242475323024666f72247532302424524624637572766532353531395f64616c656b2e2e656477617264732e2e45647761726473506f696e7424475424336164643137683237313562363638623531353734656545ba1090015f5a4e3130395f244c5424637572766532353531395f64616c656b2e2e656477617264732e2e4564776172647342617365706f696e745461626c65247532302461732475323024637572766532353531395f64616c656b2e2e7472616974732e2e42617365706f696e745461626c6524475424386d756c5f626173653137686531623339316137626662336262383245bb104c5f5a4e3136637572766532353531395f64616c656b3972697374726574746f313452697374726574746f506f696e7438636f6d70726573733137683836373933643261356362363333353945bc104d5f5a4e3136637572766532353531395f64616c656b3677696e646f7732304c6f6f6b75705461626c65244c542454244754243673656c6563743137683464393965386432623033326538346145bd10a3015f5a4e3131375f244c5424637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e63757276655f6d6f64656c732e2e416666696e654e69656c73506f696e74247532302461732475323024737562746c652e2e436f6e646974696f6e616c6c7953656c65637461626c65244754243138636f6e646974696f6e616c5f61737369676e3137683238343566633233353836303962613745be105e5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c313263757276655f6d6f64656c73313550726f6a656374697665506f696e7436646f75626c653137686162663932373239386463313038616345bf10385f524e76437336393172685462473045655f375f5f5f727573746332365f5f5f727573745f616c6c6f635f6572726f725f68616e646c6572c0103a5f5a4e38666f6c646861736834736565643130536861726564536565643866726f6d5f7536343137686534333531613833316634393766373945c110425f5a4e38666f6c6468617368347365656436676c6f62616c323067656e65726174655f676c6f62616c5f736565643137683262333134623662613662626466356345c210425f5a4e38666f6c6468617368347365656436676c6f62616c3130476c6f62616c5365656439696e69745f736c6f773137686530386635396264343638313633663545c310315f5a4e38666f6c64686173683135686173685f62797465735f6c6f6e673137686364313462316164336635626334303545c410495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683239313461326135326539393935326445c510495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683563313337633532383337653337323345c610495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686135373837333638323462376537613745c710615f5a4e36385f244c54246672616d655f6578656375746976652e2e4578656375746976654572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683665353135646138656439643531373445c810f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683039666366613932656466383331623245c910f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137686239653463346664633633633036633245ca10465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e3137683234353864333565656163333466393445cb10465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e3137683634346564333463376631343135643045cc1086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683239346461616134313863623030366245cd1086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683439323138386337643361613031313445ce1086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683533306261346238393538326537353545cf1086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683635643730386263323263393335396545d01086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683637633862343534326139633839363745d11086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683934333861633664393430333239386445d21086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686139306462633439346663383463326145d31086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686162373331353530333262383266333945d41086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686231313033353738343330376639643545d51086015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686232346563303430303162393730323345d6108a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683965646236663231643261363137306645d7108a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137686534316464386539323533363939313745d810745f5a4e38365f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683930366632653831343664346338356145d910745f5a4e38365f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683931356537623132376636303463336645da105d5f5a4e34636f726533707472353964726f705f696e5f706c616365244c54247363616c655f696e666f2e2e706f727461626c652e2e506f727461626c655265676973747279244754243137683465356330323336663839623262373145db10ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137683637363532303434643965346430663745dc10ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137683965323264383338666566636631633145dd10ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137686139353932313364356632333133663145de10ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137686465316338643835326535663533663445df1085015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683031393030646664376139363536623245e01085015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686139653634363133616563326530646545e110a9015f5a4e31346672616d655f6d657461646174613132325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c54246672616d655f6d657461646174612e2e52756e74696d654d657461646174615072656669786564244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c5424753824475424244754243466726f6d3137683934643363633030353636396463623445e21082015f5a4e39305f244c54246672616d655f6d657461646174612e2e7631342e2e50616c6c65744d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137686366316137653134623138633362613545e3109b015f5a4e31307363616c655f696e666f327479315f3130325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230247363616c655f696e666f2e2e74792e2e54797065506172616d65746572244c542454244754242447542439656e636f64655f746f3137686634363566323561613462636463373245e41091015f5a4e31307363616c655f696e666f327479315f39335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230247363616c655f696e666f2e2e74792e2e54797065244c542454244754242447542439656e636f64655f746f3137683865313566656365643634366436366545e510a2015f5a4e31307363616c655f696e666f327479366669656c6473315f3130325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230247363616c655f696e666f2e2e74792e2e6669656c64732e2e4669656c64244c542454244754242447542439656e636f64655f746f3137686234623138386636363130376334323945e610a6015f5a4e31307363616c655f696e666f3274793776617269616e74315f3130355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230247363616c655f696e666f2e2e74792e2e76617269616e742e2e56617269616e74244c542454244754242447542439656e636f64655f746f3137686465303266383561303636663832613645e7103e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686439396531303839326132346337636545e8103e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686463386266613830386335343931313445e9104c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376836353531653139383135313330373263452e6c6c766d2e3132383738313232343434303937393832303135ea105a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683933383038353432323037333062313345eb10ac015f5a4e31346672616d655f6d6574616461746133763134315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e7472794d65746164617461244c542454244754242447542439656e636f64655f746f3137683035663435306132303665353666376445ec10ae015f5a4e31346672616d655f6d6574616461746133763134315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e50616c6c6574436f6e7374616e744d65746164617461244c542454244754242447542439656e636f64655f746f3137683239376131643366323461316430623345ed10435f5a4e31346672616d655f6d6574616461746133763134313852756e74696d654d65746164617461563134336e65773137683366393464663264356466666163336445ee1088015f5a4e39365f244c54246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e7472794d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137683365646435663739653436323039613745ef10a1015f5a4e31346672616d655f6d6574616461746133763134315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e52756e74696d654d657461646174615631342447542439656e636f64655f746f3137683330643835343962313166393333343845f010a6015f5a4e31346672616d655f6d6574616461746133763134315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e50616c6c65744d65746164617461244c542454244754242447542439656e636f64655f746f3137686365616530386362343139626338373345f110ad015f5a4e31346672616d655f6d6574616461746133763134315f3131355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e50616c6c657453746f726167654d65746164617461244c542454244754242447542439656e636f64655f746f3137686637616432626439356530663135336545f210a8015f5a4e31346672616d655f6d6574616461746133763134315f3131305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e74727954797065244c542454244754242447542439656e636f64655f746f3137683638363938393233393337666466396545f310485f5a4e31307363616c655f696e666f38726567697374727938526567697374727931376d61705f696e746f5f706f727461626c653137683336393931316237376261333731643445f410b4015f5a4e31346672616d655f6d6574616461746133763136315f3132325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65744173736f636961746564547970654d65746164617461244c542454244754242447542439656e636f64655f746f3137686334646666336231396363313661656545f510b0015f5a4e31346672616d655f6d6574616461746133763136315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d6574686f644d65746164617461244c542454244754242447542439656e636f64655f746f3137683338333231303066313235303531396145f610b2015f5a4e31346672616d655f6d6574616461746133763136315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65745669657746756e6374696f6e4d65746164617461244c542454244754242447542439656e636f64655f746f3137683232343632393466383537373639633545f710ac015f5a4e31346672616d655f6d6574616461746133763136315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e53746f72616765456e7472794d65746164617461244c542454244754242447542439656e636f64655f746f3137683064343465313465666264356630333845f810ae015f5a4e31346672616d655f6d6574616461746133763136315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c6574436f6e7374616e744d65746164617461244c542454244754242447542439656e636f64655f746f3137683762303437393961316164373131353345f910765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683637383530633836353132663361353145fa10435f5a4e31346672616d655f6d6574616461746133763136313852756e74696d654d65746164617461563136336e65773137683462616632613630656330303937366345fb1082015f5a4e39305f244c54246672616d655f6d657461646174612e2e7631362e2e50616c6c65744d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137683766363939653337323438326138663645fc108f015f5a4e3130325f244c54246672616d655f6d657461646174612e2e7631362e2e50616c6c65745669657746756e6374696f6e4d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137683862633033343161363232653533353745fd10a1015f5a4e31346672616d655f6d6574616461746133763136315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654d65746164617461563136244754243973697a655f68696e743137686236623436303730363935336133636145fe10a1015f5a4e31346672616d655f6d6574616461746133763136315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654d657461646174615631362447542439656e636f64655f746f3137686634363038303734666335383336656345ff10a6015f5a4e31346672616d655f6d6574616461746133763136315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65744d65746164617461244c542454244754242447542439656e636f64655f746f31376834306130636236626631306531323036458011aa015f5a4e31346672616d655f6d6574616461746133763136315f3131325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d65746164617461244c542454244754242447542439656e636f64655f746f31376830353731353933313939623533646533458111c4015f5a4e31346672616d655f6d6574616461746133763136315f3131335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e4974656d4465707265636174696f6e496e666f244c542454244754242447542439656e636f64655f746f31376830383932663038623332346562383665452e6c6c766d2e353135313636313938343337383433393037398211ae015f5a4e31346672616d655f6d6574616461746133763136315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e56617269616e744465707265636174696f6e496e666f244c542454244754242447542439656e636f64655f746f313768633636356166346136366165376138344583118c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f313768656162333439373534376633353038394584113f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683931636263613932316162653064363845851194015f5a4e31346672616d655f6d65746164617461315f39355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e52756e74696d654d65746164617461244754243973697a655f68696e7431376865656364613466613463333039356461458611a6015f5a4e31346672616d655f6d6574616461746133763135315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e50616c6c65744d65746164617461244c542454244754242447542439656e636f64655f746f31376832336432636461646466613066663932458711aa015f5a4e31346672616d655f6d6574616461746133763135315f3131325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e52756e74696d654170694d65746164617461244c542454244754242447542439656e636f64655f746f313768363366656235353434653938363433624588115b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376833326164666632643231616537313536452e6c6c766d2e313137373037383930303132323036373039343089115b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376833373434663066663261333133656634452e6c6c766d2e31313737303738393030313232303637303934308a11425f5a4e34636f726535736c69636534736f727436736861726564357069766f74313263686f6f73655f7069766f7431376839386134613463346431613562616334458b11b0015f5a4e31346672616d655f6d6574616461746133763135315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e52756e74696d654170694d6574686f644d65746164617461244c542454244754242447542439656e636f64655f746f31376863623764383261643766376266313263458c11645f5a4e36355f244c542424753562245424753564242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f31376833633963653031653036336665343861458d11435f5a4e31346672616d655f6d6574616461746133763135313852756e74696d654d65746164617461563135336e657731376862623665383638396637363732636362458e118d015f5a4e3130305f244c54246672616d655f6d657461646174612e2e7631352e2e52756e74696d654170694d6574686f644d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c6531376834316430643333363465613833316333458f1182015f5a4e39305f244c54246672616d655f6d657461646174612e2e7631352e2e50616c6c65744d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c6531376835363933623433333432666666666634459011a1015f5a4e31346672616d655f6d6574616461746133763135315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e52756e74696d654d65746164617461563135244754243973697a655f68696e7431376861623961373831363430363133333534459111395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376832326336613439313731323736353530459211395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376861356463323636636664313132623463459311465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274345f737461626c6531376834383266373330386232333538653962459411535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376864633632643031353637613334353363459511535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376866643231636438346336613464666137459611595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376830373462383532643534636136613262459711595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376865653062663763373739653164326239459811425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f727431376862316332373639373638626466313965459911425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f727431376866376263633530383961363662383439459a118f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f31376830353466616263363263383835316438459b118f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f31376835366464653965653762353065393934459c118f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f31376861363664393433316563626130393663459d1193015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376831656235396539646131383765383962459e1193015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376835393339313633306633653036316461459f11ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683936396366653630396230646435646345a011ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137686636343539393661643739613430373245a11181015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683565323236656236303230316330333445a21181015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683630303530666436323163303539306345a31181015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686464633130623265383565633639656145a41181015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683932343362333538636461316437393945a51181015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686236653337346662363264306263303745a611655f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313562756c6b5f737465616c5f6c6566743137683039326636303564303132356162363045a711665f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313662756c6b5f737465616c5f72696768743137686137636366376530356337353036363545a8115d5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b244324562447542438646f5f6d657267653137686336626161373965653832303166663245a911cd025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653235395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313472656d6f76655f6c6561665f6b763137686635336438646362353730323562366145aa11db025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653236395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313872656d6f76655f6b765f747261636b696e673137686135343266326366363863303161386145ab1193015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137683061383962336131366431356436313045ac1180015f5a4e34636f726533707472363864726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c542473657264655f6a736f6e2e2e76616c75652e2e56616c7565244754242447542431376865343531653739353465323264613331452e6c6c766d2e3132333935363631323332393237363834353130ad11645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683539636131303461383832313237633345ae11475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683934356138376332626565666132316145af11495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683037373963353261313133383861626345b0115c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247536342447542433666d743137683561623239333438333232313533333845b111725f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376864643866333831656264316637646633452e6c6c766d2e36313938313733343933323130343637323334b2115f5f5a4e36365f244c542473705f776569676874732e2e7765696768745f76322e2e576569676874247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683231336534633363643733306538383545b3117b5f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831303235386638333138373561663832452e6c6c766d2e36313938313733343933323130343637323334b411555f5a4e31336672616d655f737570706f72743864697370617463683136506f73744469737061746368496e666f313863616c635f61637475616c5f7765696768743137686536323762366664623363376632326445b5114f5f5a4e31336672616d655f737570706f72743864697370617463683136506f73744469737061746368496e666f313263616c635f756e7370656e743137686434316137303361336165653138663845b611475f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656431346765745f6f725f64656661756c743137686631663636633738633761383231353245b7118d015f5a4e31336672616d655f737570706f7274386469737061746368315f38305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e506179732447542439747970655f696e666f3137683434326430363033316633323239343445b81196015f5a4e31336672616d655f737570706f7274386469737061746368315f38395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e4469737061746368436c6173732447542439747970655f696e666f3137683264316662663765653134383861303145b91198015f5a4e3132315f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e457874726163744966244c54244b24432456244324462443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683435346438653939333232333264643645ba11595f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686464386633383165626431663764663345bb11495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683962303561343365663563346636623545bc113b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683363653435366363373633323038613045bd115f5f5a4e36365f244c5424616c6c6f632e2e626f72726f772e2e436f77244c54244224475424247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686534343931633134333561373738343245be1198015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376862616363353836633961663139353065452e6c6c766d2e3732313737323638333131303839333837bf11ad015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e73346d697363315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e6d6973632e2e42616c616e63655374617475732447542439747970655f696e666f3137686532306238346463396366376665333345c01189015f5a4e3130365f244c5424636f72652e2e697465722e2e61646170746572732e2e636861696e2e2e436861696e244c5424412443244224475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683333376338366237313330393032366145c111405f5a4e34636f7265346974657236747261697473386974657261746f72384974657261746f723565715f62793137686661313936643666663835366239396445c2114b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376834643363663066666138666433326166452e6c6c766d2e39323734323334323835333036343631323530c3115a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683633336266313334633834366434633745c411465f5a4e31336672616d655f737570706f7274313664697370617463685f636f6e7465787436474c4f42414c365f5f696e69743137683661383931306139336339393630653245c5112e5f5a4e313161727261795f6279746573396279746573326865783137686633613436356431643739393763366545c61180015f5a4e39385f244c54246672616d655f737570706f72742e2e73746f726167652e2e7472616e73616374696f6e616c2e2e53746f726167654c617965724775617264247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686237333734363266336431316132626545c7115a5f5a4e31336672616d655f737570706f7274323367656e65726174655f67656e657369735f636f6e666967323572657461696e5f696e697469616c697a65645f6669656c64733137686238353236636634613033383462613045c81183015f5a4e31307363616c655f696e666f35696d706c7337385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f72726f772e2e436f77244c542454244754242447542439747970655f696e666f3137683935373961666264363833653963396245c91185015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683762626266653732346539303632366345ca1195015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683663323663343635653139383937303345cb11745f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376832356339633638316363613731346136452e6c6c766d2e3132353530323230373639393131373838313836cc11ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683465616337303637663166663032336345cd11ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686464303463336161396165303735613545ce11475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686261333462383462343833626664346545cf114c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376861646435656262626638643037383230452e6c6c766d2e3132353530323230373639393131373838313836d01185015f5a4e31326672616d655f73797374656d315f38325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e44697370617463684576656e74496e666f2447542439747970655f696e666f3137683136656233613463343633346234333245d111795f5a4e31326672616d655f73797374656d315f37305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e50686173652447542439747970655f696e666f3137683633626462663738373837373137636245d2118a015f5a4e31326672616d655f73797374656d315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e4c61737452756e74696d6555706772616465496e666f2447542439747970655f696e666f3137686134393631373137303138613866616245d311a3015f5a4e31336672616d655f737570706f7274386469737061746368315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c542454244754242447542439747970655f696e666f3137686238613032343061313564643837316445d41192015f5a4e31326672616d655f73797374656d366c696d697473315f38385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e6c696d6974732e2e57656967687473506572436c6173732447542439747970655f696e666f3137686166326365343636623962623135643045d511a3015f5a4e31336672616d655f737570706f7274386469737061746368315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c542454244754242447542439747970655f696e666f3137686639383964643839336137323739643645d611435f5a4e31326672616d655f73797374656d366c696d6974733132426c6f636b576569676874733876616c69646174653137683364663930653836353962663639326145d711475f5a4e31326672616d655f73797374656d366c696d6974733139426c6f636b576569676874734275696c646572356275696c643137683161323365353261616333353466643145d8118e015f5a4e31326672616d655f73797374656d366c696d697473315f38345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e6c696d6974732e2e426c6f636b4c656e6774682447542439747970655f696e666f3137683962396565356238653364646439313745d91181015f5a4e37355f244c54246672616d655f73797374656d2e2e6c696d6974732e2e56616c69646174696f6e4572726f7273247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831623966303638353131306230333162452e6c6c766d2e32333136343638353832303337393732323636da119c015f5a4e31326672616d655f73797374656d366c696d697473315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e6c696d6974732e2e426c6f636b57656967687473244754243973697a655f68696e743137683437356165616432633138633864636645db118f015f5a4e31326672616d655f73797374656d366c696d697473315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e6c696d6974732e2e426c6f636b576569676874732447542439747970655f696e666f3137683335373666393338623938356233373145dc11445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683131666135346131373130303833383345dd11445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683764303139323364643933326661643845de11495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686232376134316434633063653961393545df11aa015f5a4e38375f244c542467657472616e646f6d5f6f725f70616e69632e2e67657472616e646f6d5f6f725f70616e69632e2e50616e6963526e6724753230246173247532302472616e645f636f72652e2e526e67436f726524475424313066696c6c5f6279746573313870616e69635f636f6c645f646973706c617931376834393036373165646339353064346130452e6c6c766d2e3134333935393839373432303136363336303135e011415f5a4e366b656363616b386b656363616b5f7031376864343531653530653734343932333964452e6c6c766d2e3131393236353139383634303133333031393932e111655f5a4e34335f244c54246c6f672e2e4e6f704c6f676765722475323024617324753230246c6f672e2e4c6f672447542437656e61626c656431376838336664336166306263333834626234452e6c6c766d2e36363433383934363632343136303435333934e211615f5a4e34335f244c54246c6f672e2e4e6f704c6f676765722475323024617324753230246c6f672e2e4c6f6724475424336c6f6731376839626365373238363232373538353434452e6c6c766d2e36363433383934363632343136303435333934e311635f5a4e34335f244c54246c6f672e2e4e6f704c6f676765722475323024617324753230246c6f672e2e4c6f672447542435666c75736831376862323730363531303631666330323262452e6c6c766d2e36363433383934363632343136303435333934e411335f5a4e336c6f6731335f5f707269766174655f617069386c6f675f696d706c3137683465346431386535656463376335613945e511475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683832643164313232353466336139316445e611355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137686563336137353334383963653936656545e711515f5a4e366d65726c696e367374726f6265395374726f626531323838626567696e5f6f7031376862303563383836366562353938333331452e6c6c766d2e37323930313033363434363235383533313935e8113a5f5a4e366d65726c696e31307472616e73637269707431305472616e736372697074336e65773137686436663935343662363862383061326645e911465f5a4e366d65726c696e31307472616e73637269707431305472616e7363726970743134617070656e645f6d6573736167653137686536323932363463393234363336363945ea11475f5a4e366d65726c696e31307472616e73637269707431305472616e73637269707431356368616c6c656e67655f62797465733137683930333632316335626238346430643045eb115a5f5a4e366d65726c696e31307472616e73637269707432305472616e736372697074526e674275696c646572323472656b65795f776974685f7769746e6573735f62797465733137683562626565313535616332353635303245ec118e015f5a4e313570616c6c65745f62616c616e636573357479706573315f38325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e526561736f6e732447542439747970655f696e666f3137683461613939376632353031636531623045ed1191015f5a4e313570616c6c65745f62616c616e636573357479706573315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e4578747261466c6167732447542439747970655f696e666f3137686362396464303239356363376237666645ee119a015f5a4e313570616c6c65745f62616c616e636573357479706573315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e41646a7573746d656e74446972656374696f6e2447542439747970655f696e666f3137686636376234353030353062636162396445ef1197015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f39305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e556e65787065637465644b696e642447542439747970655f696e666f3137686638656234393437383337343336396145f0118c015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f38305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e4576656e742447542439747970655f696e666f3137683035383137616437316261653731383645f11198015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e74315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e52656c65617365732447542439747970655f696e666f3137686331613432346339623166363136663345f2115e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137686637373235376662343839663239623545f3114b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376865323739393738646237343232396634452e6c6c766d2e35373235333537343438343034383133383130f411735f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376835613338346566666232663734646561452e6c6c766d2e35373235333537343438343034383133383130f51191015f5a4e39315f244c54247061726974795f7363616c655f636f6465632e2e636f6465632e2e4279746573437572736f722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e496e7075742447542432377363616c655f696e7465726e616c5f6465636f64655f62797465733137683530396632353435386332666338353045f61185015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e507265666978496e707574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e496e7075742447542434726561643137683165396462636363386138383133316445f711595f5a4e35375f244c54247374722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137686262336436323737633832366361303245f811645f5a4e37315f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683265393739396439343363343932656345f911465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e3137683365616136656339326637306262343745fa118c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683830646361386161633430633730326545fb11595f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686464386633383165626431663764663345fc11755f5a4e38385f244c5424706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e4865616444617461247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683563363865623265396235633330313845fd116f5f5a4e38325f244c5424706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e4964247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686335383766323032323931656166313045fe114d5f5a4e3239706f6c6b61646f745f70617261636861696e5f7072696d697469766573387761736d5f617069313277726974655f726573756c743137683538656230343133653265383930343545ff11b7015f5a4e3239706f6c6b61646f745f70617261636861696e5f7072696d69746976657331307072696d697469766573315f3130325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e48656164446174612447542439747970655f696e666f31376836356465313764363434663239303664458012bd015f5a4e3239706f6c6b61646f745f70617261636861696e5f7072696d69746976657331307072696d697469766573315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e56616c69646174696f6e436f64652447542439747970655f696e666f31376831613231646136326334613737656436458112b0015f5a4e3239706f6c6b61646f745f70617261636861696e5f7072696d69746976657331307072696d697469766573315f39365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e49642447542439747970655f696e666f313768373039396166633363653737386132624582122e5f5a4e313161727261795f627974657339627974657332686578313768343533376365313138363361353333304583125a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c65313768643766643061396266646266653861304584124c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376862623361373930323664353235323938452e6c6c766d2e313538373537323936363934303933383031323985124c5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542431357472795f616c6c6f636174655f696e3137686439613232356563373137336535613445861280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f31376833663036353161636338303463373762458712445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837343439373531636430306333373832458812a3015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e4162726964676564486f7374436f6e66696775726174696f6e2447542439747970655f696e666f313768383239373862383663333534366131624589129c015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f39355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e416272696467656448726d704368616e6e656c2447542439747970655f696e666f31376863643431333433343135353361653966458a129b015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e557067726164655265737472696374696f6e2447542439747970655f696e666f31376838663637326561393966663537646661458b1297015f5a4e3139706f6c6b61646f745f7072696d697469766573327639315f39305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e55706772616465476f41686561642447542439747970655f696e666f31376837323830643532663164326137656130458c1293015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f6974657231376864633831636335643430623764333562458d12ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376861303066623236353537323033363433458e12ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376861373965613437653331663938653764458f12ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686335643232623661646138623233346545901285015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683564653739346132303362643065353845911287015f5a4e3130345f244c5424636f72652e2e697465722e2e61646170746572732e2e636c6f6e65642e2e436c6f6e6564244c54244924475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c64313768393163343163393562356434363363374592128c015f5a4e3130345f244c5424636f72652e2e697465722e2e61646170746572732e2e636c6f6e65642e2e436c6f6e6564244c54244924475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f72244754243973697a655f68696e7431376830333765353861303738663164376662459312ba015f5a4e3139706f6c6b61646f745f7072696d69746976657332763931336173796e635f6261636b696e67315f3130395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76392e2e6173796e635f6261636b696e672e2e4173796e634261636b696e67506172616d732447542439747970655f696e666f313768666138663466396531663361393833324594124b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376831626131346238663239356637386531452e6c6c766d2e3231393633383632343838333638333030303395125a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376863383939326362343235306239336231459612475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f64656431376838613534623563313135636362353766459712325f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376837343533663130633566313964666662459812435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376831303363313665613231356632363930459912635f5a4e34355f244c54242452462454247532302461732475323024636f72652e2e666d742e2e4c6f7765724865782447542433666d7431376866633637363261326266323763326264452e6c6c766d2e313432393230393334363537313836363838309a12575f5a4e35385f244c54247072696d69746976655f74797065732e2e48323536247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376834666561653266663931333437623066459b127e5f5a4e31357072696d69746976655f7479706573315f37325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247072696d69746976655f74797065732e2e483235362447542439747970655f696e666f31376834346234313766666335346434353563459c127e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f31376864363035653634396366663631363832459d124a5f5a4e34355f244c54242452462454247532302461732475323024636f72652e2e666d742e2e4c6f7765724865782447542433666d7431376834613737636562393730623531613166459e12405f5a4e3372797536707265747479386d616e7469737361313977726974655f6d616e74697373615f6c6f6e6731376864356263343335303037393161616239459f122b5f5a4e337279753670726574747938666f726d617436343137683962303966306162303961363063663345a0129c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683033313562313362626431306462356345a11292025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683431363736333061643336376633663045a2129c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686230653039646439373462316239663745a31292025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683262636437303032613333383031666145a4129e015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376863616266303137313432333333326432452e6c6c766d2e36363435303437393039383434313534363635a512625f5a4e36375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653137683232633565666337306238306465316645a612625f5a4e36375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653137686438363263363437396539346636346545a71289015f5a4e3130365f244c5424636f72652e2e697465722e2e61646170746572732e2e636861696e2e2e436861696e244c5424412443244224475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686461353235643330393663643162303045a8123d5f5a4e34636f726533737472377061747465726e313454776f5761795365617263686572346e6578743137686661316334346636346362353637386645a91293015f5a4e3131315f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465725f6e65737465642e2e5370656346726f6d497465724e6573746564244c5424542443244924475424244754243966726f6d5f697465723137683034303132386161616265663166363945aa12ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686465356332643330353834643538613145ab12ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137683461666137623030373330353633353545ac12ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137683939326633383966316636363133333745ad1285015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683231313530303237376436396463363445ae1285015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686535376333366137643864626632326645af128b015f5a4e3130385f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e49746572244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686232353230353831353963643763623545b0128a015f5a4e34636f726533707472373964726f705f696e5f706c616365244c54247363616c655f696e666f2e2e74792e2e54797065244c54247363616c655f696e666f2e2e666f726d2e2e506f727461626c65466f726d244754242447542431376833393965356361383765383566303537452e6c6c766d2e32393833343536333131363436323731353634b112565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137683535656230643736636138616535636645b21281015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683634313165393137343638333566353045b31281015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686462663436393063643836623334353745b4124c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376861326539633935646666316364653132452e6c6c766d2e3131303635313436303730343334383433393138b512435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683563616431646664313866666433346245b612435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686435626134326662356439393031343145b7125a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686532663934373262333266333964386345b812475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683337383361666564323338336565343245b912475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686438666165323035626435343065393045ba128b015f5a4e34636f726533707472373964726f705f696e5f706c616365244c54247363616c655f696e666f2e2e74792e2e54797065244c54247363616c655f696e666f2e2e666f726d2e2e506f727461626c65466f726d244754242447542431376833393965356361383765383566303537452e6c6c766d2e3137343930393932323930373239353835363235bb124b5f5a4e34636f72653373747232315f244c5424696d706c24753230247374722447542431387472696d5f73746172745f6d6174636865733137683731316463376435366131373764393645bc125f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e736572743137683234323634393936383064663265333745bd125f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e736572743137686665636430613135653663313135353245be12445f5a4e31307363616c655f696e666f387265676973747279385265676973747279313372656769737465725f747970653137683633643162326439643632336562333645bf126b5f5a4e31307363616c655f696e666f35696d706c7335345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247374722447542439747970655f696e666f3137686232306238353566333331363837393145c0124e5f5a4e31307363616c655f696e666f38696e7465726e65723137496e7465726e6572244c542454244754243133696e7465726e5f6f725f6765743137686465643361333164656533363032393345c112345f5a4e31307363616c655f696e666f32747934706174683450617468336e65773137683535393537396565393231613462313445c212425f5a4e31307363616c655f696e666f3274793470617468345061746831366e65775f776974685f7265706c6163653137686464313438386331356432393335343945c312385f5a4e31307363616c655f696e666f32747934706174683450617468377072656c7564653137686136323962303535613239386665626145c4126c5f5a4e31307363616c655f696e666f35696d706c7335355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f6f6c2447542439747970655f696e666f3137683839303731303861633239626531653345c5126a5f5a4e31307363616c655f696e666f35696d706c7335335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302475382447542439747970655f696e666f3137686361303835383537336466373134326445c6126b5f5a4e31307363616c655f696e666f35696d706c7335345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247531362447542439747970655f696e666f3137683939333164383562336565316266613245c7126b5f5a4e31307363616c655f696e666f35696d706c7335345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247533322447542439747970655f696e666f3137686436646332363333633061353365356545c8126b5f5a4e31307363616c655f696e666f35696d706c7335345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247536342447542439747970655f696e666f3137686163373735373739396137336263623845c9126c5f5a4e31307363616c655f696e666f35696d706c7335355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024753132382447542439747970655f696e666f3137686531383338346534383537653864383645ca12705f5a4e31307363616c655f696e666f35696d706c7335395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c5024245250242447542439747970655f696e666f3137686162356565323063323037653536306645cb12795f5a4e36385f244c54247363616c655f696e666f2e2e74792e2e706174682e2e506174684572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831346162383632313638393566356634452e6c6c766d2e313331373734343131363230343333383136cc12765f5a4e37385f244c54247363616c655f696e666f2e2e74792e2e547970654465662475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137686338313561396238356338336238633145cd123d5f5a4e31307363616c655f696e666f357574696c73313869735f727573745f6964656e7469666965723137686339366663373435343236366633316645ce1286015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683235323337326538636334303066633345cf1286015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683933663662613939636364356530383645d01286015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686338306661316538303438373462653945d1128a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683666626136633435306465633966393345d2128a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683965386666393866313936373332316345d312645f5a4e35616c6c6f633376656339696e746f5f697465723231496e746f49746572244c54245424432441244754243332666f726765745f616c6c6f636174696f6e5f64726f705f72656d61696e696e673137686138346538393332653736386331383845d412745f5a4e38365f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683935316635666332363839366335313045d5123e5f5a4e31307363686e6f72726b656c346b65797331334d696e695365637265744b657936657870616e643137683834653031336137356465343738333145d612615f5a4e36375f244c54247363686e6f72726b656c2e2e6b6579732e2e4b657970616972247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683765643834623033356535613531326445d71283015f5a4e3130305f244c54247363686e6f72726b656c2e2e6b6579732e2e4b657970616972247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54247363686e6f72726b656c2e2e6b6579732e2e5365637265744b657924475424244754243466726f6d3137686563363730343637313838366132316245d812635f5a4e36395f244c54247363686e6f72726b656c2e2e6b6579732e2e5365637265744b6579247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686265303331356663623330323636643845d91280015f5a4e38395f244c54246d65726c696e2e2e7472616e7363726970742e2e5472616e7363726970742475323024617324753230247363686e6f72726b656c2e2e636f6e746578742e2e5369676e696e675472616e736372697074244754243132636f6d6d69745f62797465733137683138626163623865386437656533643745da1283015f5a4e38395f244c54246d65726c696e2e2e7472616e7363726970742e2e5472616e7363726970742475323024617324753230247363686e6f72726b656c2e2e636f6e746578742e2e5369676e696e675472616e7363726970742447542431356368616c6c656e67655f62797465733137683361626430333138376330663933346445db12405f5a4e31307363686e6f72726b656c32377363616c61725f66726f6d5f63616e6f6e6963616c5f62797465733137683366366532613836316366346262353945dc12475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683136633961366638633537393866626245dd12495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683134336665313833666539353036383545de12495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683666376563343766366130376233636145df12305f5a4e34636f726533666d743557726974653977726974655f666d743137683231613034313765373566343632666645e0125e5f5a4e36355f244c542473657264655f636f72652e2e64652e2e556e6578706563746564247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683337313633383232356666363137653945e112645f5a4e37315f244c542473657264655f636f72652e2e64652e2e57697468446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686431633761626230616434313433656145e212515f5a4e35325f244c54242452462473747224753230246173247532302473657264655f636f72652e2e64652e2e45787065637465642447542433666d743137686331313833383031613461333034363945e312595f5a4e36305f244c542473657264655f636f72652e2e64652e2e4f6e654f66247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686430663563393630323230376365656445e4126e5f5a4e36305f244c542473657264655f636f72652e2e64652e2e4f6e654f66247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d74313970616e69635f636f6c645f6578706c696369743137683431616166383533633231633635363445e512a9015f5a4e3133335f244c5424244c542473657264655f636f72652e2e64652e2e57697468446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e446973706c6179244754242e2e666d742e2e4c6f6f6b466f72446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137683231323161663463666436346463626545e612ab015f5a4e3133335f244c5424244c542473657264655f636f72652e2e64652e2e57697468446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e446973706c6179244754242e2e666d742e2e4c6f6f6b466f72446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f636861723137683036323732376639313736306136353445e71285015f5a4e3130325f244c542473657264655f6a736f6e2e2e6e756d6265722e2e4e756d626572247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c542473657264655f6a736f6e2e2e64652e2e5061727365724e756d62657224475424244754243466726f6d3137686436643930626266313336383737316645e8126b5f5a4e37375f244c542473657264655f6a736f6e2e2e6e756d6265722e2e4e756d626572247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c542475363424475424244754243466726f6d3137683466383563343736656163633566353945e9126c5f5a4e37385f244c542473657264655f6a736f6e2e2e6e756d6265722e2e4e756d626572247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54247531323824475424244754243466726f6d3137683233356337663433313263326338663445ea12495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686363336364303137616362373635663645eb12745f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376831383431623133386565383933613564452e6c6c766d2e3137393238363633353732373935313736353933ec124c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376831626261373031336331613530333964452e6c6c766d2e3137393238363633353732373935313736353933ed12435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686330633130323638646230303661633145ee125e5f5a4e36355f244c542473657264655f6a736f6e2e2e696f2e2e696d702e2e4572726f72247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686332373034393739363639303961326245ef124c5f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e67244754243137683538383366633031343365303135646345f012425f5a4e34636f726533737472377061747465726e313454776f5761795365617263686572396e6578745f6261636b3137683334313738613636343533633562383945f112525f5a4e35335f244c5424636f72652e2e666d742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683161376566383832646131363031373945f212575f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683134346438396636306630383963313545f3125f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f636861723137683836623035353033323438353133326445f4125d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137686463373765383038663336633535386345f512365f5a4e313073657264655f6a736f6e356572726f72354572726f723673796e7461783137683330626166366162313639303061396345f612325f5a4e313073657264655f6a736f6e356572726f72354572726f7232696f3137683635366538636164333664373534313845f7123d5f5a4e313073657264655f6a736f6e356572726f72354572726f7231326669785f706f736974696f6e3137683463623535393239333061626364356645f812605f5a4e36375f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72436f6465247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683438653035376638393463653838396145f9125c5f5a4e36335f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686462356133306532336338383733666245fa125a5f5a4e36315f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686664656266653862376631303662643945fb127c5f5a4e36365f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264655f636f72652e2e64652e2e4572726f722447542436637573746f6d31376866373138323835356432343566396230452e6c6c766d2e3133373333333537343438343938383533313734fc12355f5a4e313073657264655f6a736f6e356572726f7231306d616b655f6572726f723137686336303430313233633432333130333345fd12695f5a4e36365f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264655f636f72652e2e64652e2e4572726f72244754243132696e76616c69645f747970653137683362313732393039656166303265353745fe12655f5a4e37325f244c542473657264655f6a736f6e2e2e6572726f722e2e4a736f6e556e6578706563746564247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686637623462343439653365393764653245ff126a5f5a4e36365f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264655f636f72652e2e64652e2e4572726f72244754243133696e76616c69645f76616c756531376833353230333062343138633136356536458013425f5a4e313073657264655f6a736f6e32646531325061727365724e756d6265723132696e76616c69645f7479706531376830653164363739336539366166663462458113435f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424356572726f7231376831666361613832343338616566396161458213565f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424323370617273655f616e795f7369676e65645f6e756d62657231376866303730393730393437373534356566458313695f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313670617273655f616e795f6e756d62657231376839656231393262656235306435383536452e6c6c766d2e313436383531353932303731363236363831353684134b5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431327363616e5f696e7465676572313768626361666366303830333238623639334585134a5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431317363616e5f6e756d626572313768613861653865313264393538326138314586134c5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431337363616e5f6578706f6e656e74313768623433383037313261383966383338614587135f5f5a4e313073657264655f6a736f6e347265616439536c696365526561643137706f736974696f6e5f6f665f696e64657831376833303233313839613838303732626166452e6c6c766d2e31313830373838393131373937393136333735328813475f5a4e313073657264655f6a736f6e347265616439536c696365526561643139736b69705f746f5f6573636170655f736c6f7731376837613535663664393332343735333134458913695f5a4e37305f244c542473657264655f6a736f6e2e2e726561642e2e536c6963655265616424753230246173247532302473657264655f6a736f6e2e2e726561642e2e52656164244754243970617273655f73747231376866303030633137386130363136656637458a132e5f5a4e313073657264655f6a736f6e3472656164356572726f7231376865396232316133313561323230633734458b132e5f5a4e313073657264655f6a736f6e3472656164356572726f7231376862383537356435643262323330623939458c132e5f5a4e313073657264655f6a736f6e3472656164356572726f7231376837323630353539623864343161383135458d133e5f5a4e313073657264655f6a736f6e3472656164323070617273655f756e69636f64655f65736361706531376832396561623136643331363331666631458e132e5f5a4e313073657264655f6a736f6e3472656164356572726f7231376834653634356634333333333432633264458f132e5f5a4e313073657264655f6a736f6e3472656164356572726f7231376862663737393332663239333039623637459013765f5a4e38395f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a655374727563742447542433656e643137683339343330356561323062303532636145911382015f5a4e39305f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e4e756d62657256616c7565456d697474657224753230246173247532302473657264655f636f72652e2e7365722e2e53657269616c697a657224475424313373657269616c697a655f73747231376835323037626566353262346665383063459213495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376836366366353964366536363531636265459313305f5a4e34636f726533666d743557726974653977726974655f666d74313768613466356234646134383233313463374594134c5f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e6724475424313768353838336663303134336530313564634595135f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f63686172313768383662303535303332343835313332644596135d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376864633737653830386633366335353863459713315f5a4e34736861323673686135313234736f667438636f6d707265737331376833373262353262393132346333393530459813755f5a4e38335f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e4669786564553634247532302461732475323024636f72652e2e7374722e2e7472616974732e2e46726f6d537472244754243866726f6d5f7374723137683035646334626530303138393663663345991398015f5a4e313373705f61726974686d65746963313166697865645f706f696e74315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f61726974686d657469632e2e66697865645f706f696e742e2e46697865645536342447542439747970655f696e666f31376861373163373962643164613732393531459a1399015f5a4e313373705f61726974686d65746963313166697865645f706f696e74315f38385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f61726974686d657469632e2e66697865645f706f696e742e2e4669786564553132382447542439747970655f696e666f31376836623733313631363665346462663661459b1385015f5a4e313373705f61726974686d65746963315f38315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f61726974686d657469632e2e41726974686d657469634572726f722447542439747970655f696e666f31376863316264613766326465613038373332459c13ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376831636234326238626432643537633231459d13ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376861656266313664623134613764636434459e13ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376862313162386232303839636434643466459f134c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376834336333386631656664333637306234452e6c6c766d2e3134363631333137333533303533353533323037a013435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683233623037613862373438386333336345a1134c5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542431357472795f616c6c6f636174655f696e3137683439346135613866663138363534386345a2135a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683936643362326265626335343434363745a3134e5f5a4e313373705f61726974686d65746963313468656c706572735f31323862697439646f75626c6531323839446f75626c65313238336469763137683564373062383633373066643837373345a4134c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376832303866353436643432316534373630452e6c6c766d2e3135343437353639383936313434313039373431a5135a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686565393537613661613464346238373645a6137b5f5a4e38385f244c542473705f636f72652e2e63727970746f5f62797465732e2e43727970746f4279746573244c54245f24432454244754242475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137683439643437366535326538616466363745a713ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683165306434383661386534336164323545a813ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686237313163373565303963386431653045a913af015f5a4e313773705f636f6e73656e7375735f61757261377372323535313931316170705f73723235353139315f39385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f6e73656e7375735f617572612e2e737232353531392e2e6170705f737232353531392e2e5075626c69632447542439747970655f696e666f3137686237363664356134363065336637356345aa1384015f5a4e313873705f636f6e73656e7375735f736c6f7473315f37355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f6e73656e7375735f736c6f74732e2e536c6f742447542439747970655f696e666f3137683066323631363663336439643830613445ab138c015f5a4e313873705f636f6e73656e7375735f736c6f7473315f38335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f6e73656e7375735f736c6f74732e2e536c6f744475726174696f6e2447542439747970655f696e666f3137683135666637666161656338613633393545ac134b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376863343366636565393339663333663137452e6c6c766d2e39313536353537363732383731373139313536ad13435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683564363263653266613965666561373445ae135a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683736626137353537393033643331323045af133e5f5a4e3773705f636f72653131616464726573735f7572693130416464726573735572693570617273653137683333356533326566306138323831363845b0136e5f5a4e38305f244c542473705f636f72652e2e63727970746f2e2e4465726976654a756e6374696f6e247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54245424475424244754243466726f6d3137686239613634386461633036383733326545b1132f5f5a4e3773705f636f72653663727970746f3873733538686173683137686562633161656136643937393331366545b2135e5f5a4e36355f244c542473705f636f72652e2e63727970746f2e2e4163636f756e7449643332247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686637383662386634346139353265636145b3136b5f5a4e37335f244c542473705f636f72652e2e63727970746f2e2e536563726574557269247532302461732475323024636f72652e2e7374722e2e7472616974732e2e46726f6d537472244754243866726f6d5f7374723137683434616130363462626531643237626545b41383015f5a4e3773705f636f72653663727970746f315f37395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f72652e2e63727970746f2e2e4163636f756e74496433322447542439747970655f696e666f3137683038633638663935333530346634303645b51381015f5a4e3773705f636f72653663727970746f315f37375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f72652e2e63727970746f2e2e4b65795479706549642447542439747970655f696e666f3137683666616132383338316531346263623645b6137e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683436646135333363356634313837386545b7137e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137686635653736383666323064313064656545b813765f5a4e31307363686e6f72726b656c3664657269766534355f244c5424696d706c24753230247363686e6f72726b656c2e2e6b6579732e2e5365637265744b6579244754243237686172645f6465726976655f6d696e695f7365637265745f6b65793137683164633933636637306239646562373045b913635f5a4e37305f244c542473705f636f72652e2e686578646973706c61792e2e486578446973706c6179247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686634393339353062643663626362373345ba13775f5a4e3773705f636f7265315f37345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f72652e2e4f70617175654d657461646174612447542439747970655f696e666f3137686266643734313831636536643135343945bb138c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683930363363336634633435666433313645bc13305f5a4e346273353836656e636f64653131656e636f64655f696e746f3137683535386464333662373566336439343245bd136e5f5a4e35365f244c5424627335382e2e656e636f64652e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836396638316637373031303736653639452e6c6c766d2e34343631383238313434373435353735353133be133f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683366626564373837363635653836353945bf13475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683334653230643636353834396438626345c013475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686335653365393266306236313132653445c113475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686539306633386164356237653965386645c213495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683563393265613033636162303639313745c3134a5f5a4e34355f244c54242452462454247532302461732475323024636f72652e2e666d742e2e4c6f7765724865782447542433666d743137686536333133656337356538346339646345c4135e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137686637373235376662343839663239623545c513505f5a4e34636f726533707472343664726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c5424753824475424244754243137686466666239393938623461623236646145c6136c5f5a4e34636f726533707472343964726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e46726f6d557466384572726f722447542431376836343730633561333435383934366562452e6c6c766d2e35393238343837313230313131313031393635c7135f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137686536303763613766303864653433316545c813625f5a4e36305f244c5424245246246d7574247532302454247532302461732475323024627335382e2e656e636f64652e2e456e636f6465546172676574244754243131656e636f64655f776974683137683738653035613361323137633164366545c913775f5a4e36355f244c5424616c6c6f632e2e737472696e672e2e46726f6d557466384572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376834343165613361333537363365623764452e6c6c766d2e35393238343837313230313131313031393635ca136a5f5a4e36345f244c542473705f636f72652e2e737232353531392e2e5061697224753230246173247532302473705f636f72652e2e63727970746f2e2e5061697224475424313566726f6d5f736565645f736c6963653137686531383638323133663865376139366345cb1380015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686232653535326238343433666365353845cc13ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683932373331343136343739333735336345cd13ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686530636537326438386566316362326445ce135e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683166313163393532306133363932613745cf136e5f5a4e37325f244c5424616c6c6f632e2e7665632e2e566563244c5424753824475424247532302461732475323024627335382e2e656e636f64652e2e456e636f6465546172676574244754243131656e636f64655f776974683137683365623238303661383962323234306445d0134b5f5a4e3132626c616b6532625f73696d6436506172616d73346861736831376839616339613038356433623337343130452e6c6c766d2e3134383537383037303635383634323836383933d1137a5f5a4e36375f244c5424636f72652e2e61727261792e2e54727946726f6d536c6963654572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836333531663366653463613266356639452e6c6c766d2e3134383537383037303635383634323836383933d2133b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683233333132353031363931666236633345d313465f5a4e313673705f65787465726e616c6974696573313373636f70655f6c696d6974656436474c4f42414c365f5f696e69743137683766653033366233643831373033383545d413b7015f5a4e31307363616c655f696e666f35696d706c733130345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242447542439747970655f696e666f31376864656461306531643437393531303035452e6c6c766d2e33373638353931363631373538343632303031d51380015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683062343838393264316530623264393245d613735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137683364633761343737386137356331353145d713755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683462663136653831633866623930373245d8137e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683462316664336533386665663265333545d91380015f5a4e313273705f696e686572656e7473315f37375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f696e686572656e74732e2e496e686572656e74446174612447542439747970655f696e666f3137683737353162373363653135313433333845da1388015f5a4e313273705f696e686572656e7473315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f696e686572656e74732e2e436865636b496e686572656e7473526573756c742447542439747970655f696e666f3137686438363732313761373737396237623945db13465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686163386436353665396234346438623245dc13a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683036666137393930613835376165326445dd13a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683264383861643437333331323461333245de13a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683531373235633462613836656139366145df13a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683537323335353834653532623936653245e013a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683739323461653635373433313863363745e113495f5a4e35627974657335627974657331317374617469635f64726f7031376837323563303337393662303838353933452e6c6c766d2e39303038343932363538383931383739353132e2134a5f5a4e35627974657335627974657331327374617469635f636c6f6e6531376835313365353436303035636339343065452e6c6c766d2e39303038343932363538383931383739353132e3134e5f5a4e35627974657335627974657331367374617469635f69735f756e6971756531376831613736623931326663326336316533452e6c6c766d2e39303038343932363538383931383739353132e4134b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376866353837333263643535356462303038452e6c6c766d2e34353636363039353938303239333532323833e513435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686262326634363963353865343930333045e613775f5a4e38375f244c5424636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683737393231633233643639313437393945e713505f5a4e3573705f696f3663727970746f323665787465726e5f686f73745f66756e6374696f6e5f696d706c733134656432353531395f7665726966793137686133356361366532306261666366383545e813645f5a4e3573705f696f3663727970746f323665787465726e5f686f73745f66756e6374696f6e5f696d706c733334736563703235366b315f65636473615f7265636f7665725f636f6d707265737365643137686131323963663036323833323432313445e913525f5a4e3573705f696f3663727970746f323665787465726e5f686f73745f66756e6374696f6e5f696d706c733136737232353531395f67656e65726174653137686539646638373334656165303034323445ea13505f5a4e3573705f696f3663727970746f323665787465726e5f686f73745f66756e6374696f6e5f696d706c733134737232353531395f7665726966793137683761396437363737626430376664613045eb13a0015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f646531376833333032366261383634616130376431452e6c6c766d2e3130353534343430393539383739393637323436ec138c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683164633738316339663033613938313945ed13575f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137683233306633303638666466363066633845ee13565f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7335636c6561723137683234613066343231386366373265373045ef135e5f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733132636c6561725f7072656669783137686436393962346666313230666466653745f013575f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73366578697374733137683839363433646639663731616633353145f113545f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73336765743137683539383030343762306163333230613645f213595f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73386e6578745f6b65793137683233366232623736366335636364653645f313555f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7334726561643137683533326533616633343331323134383545f413555f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7334726f6f743137686433373862346132383962366536343245f513545f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73337365743137686535306235376634373261356365633445f6135e5f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73313273746f726167655f6b696c6c3137686664373630663035306337616162633045f713485f5a4e3573705f696f346d697363323665787465726e5f686f73745f66756e6374696f6e5f696d706c73397072696e745f6865783137683935363639373236303433343634353245f8134a5f5a4e3573705f696f346d697363323665787465726e5f686f73745f66756e6374696f6e5f696d706c7331307072696e745f757466383137683335363533626366323562303163306445f9134f5f5a4e3573705f696f346d697363323665787465726e5f686f73745f66756e6374696f6e5f696d706c73313572756e74696d655f76657273696f6e3137683361626566393863613132373932303145fa134d5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733130626c616b65325f3132383137683336623438326464653330326637613145fb134d5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733130626c616b65325f3235363137686332303533356565643463303866643245fc134d5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c7331306b656363616b5f3235363137686163656536616633336431383731323245fd134a5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733874776f785f3132383137686532386662656637636430323239343445fe134a5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733874776f785f3235363137683331653564623231366364633838643545ff13495f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733774776f785f3634313768663833666235343563626366626261324580144f5f5a4e3573705f696f31346f6666636861696e5f696e646578323665787465726e5f686f73745f66756e6374696f6e5f696d706c7335636c656172313768323730653365326132313439663334614581144d5f5a4e3573705f696f31346f6666636861696e5f696e646578323665787465726e5f686f73745f66756e6374696f6e5f696d706c7333736574313768393130623566366434663533343330354582143f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376863313232663031316439616238383363458314735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f646531376834656662373866373335363937646230458414735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f646531376864383332326138323462326532336639458514455f5a4e3573705f696f376c6f6767696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c73336c6f67313768663331623464353136643831343134304586144b5f5a4e3573705f696f376c6f6767696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c73396d61785f6c6576656c31376834393839353536653839353430346266458714495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376833636563373437393231396431646165458814635f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376861376535363037393164626534666337452e6c6c766d2e31373435323635323332303436333035363435308914425f5a4e35616c6c6f6333666d7436666f726d617431376834643762393062386430363865653235452e6c6c766d2e31373435323635323332303436333035363435308a142e5f524e76437336393172685462473045655f375f5f5f72757374633137727573745f626567696e5f756e77696e648b1480015f5a4e3573705f696f315f38385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f696f2e2e4b696c6c53746f72616765526573756c7424475424366465636f646531376835366366623338386537623732623739458c14485f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7336617070656e6431376861383532656337363363393836616234458d14475f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7335636c65617231376839616666613562663534623235643962458e144f5f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733132636c6561725f70726566697831376836636239323464663936353638363737458f14555f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733138636f6d6d69745f7472616e73616374696f6e31376833356562386465363562396461636338459014485f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733665786973747331376833646437633532353964396166393536459114455f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7333676574313768353334623863633731643361333261334592144a5f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73386e6578745f6b657931376862623038643737333532623361633338459314465f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73347265616431376861343731383536383132363634393134459414575f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733230726f6c6c6261636b5f7472616e73616374696f6e31376865373064333838643038303632346561459514465f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7334726f6f7431376831363634653434343865356635626535459614455f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733373657431376863323261363037346263653833613438459714545f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73313773746172745f7472616e73616374696f6e31376865323864343364333665396464386665459814575f5a4e3573705f696f3474726965323665787465726e5f686f73745f66756e6374696f6e5f696d706c733233626c616b65325f3235365f6f7264657265645f726f6f7431376834666264356138333932303939623239459914485f5a4e3573705f696f39616c6c6f6361746f72323665787465726e5f686f73745f66756e6374696f6e5f696d706c73346672656531376837336465613766323038303862336334459a144a5f5a4e3573705f696f39616c6c6f6361746f72323665787465726e5f686f73745f66756e6374696f6e5f696d706c73366d616c6c6f6331376837666430316562663835316264323637459b148a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c6431376838613164663039393738303639323237459c14775f5a4e34636f726533707472363064726f705f696e5f706c616365244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65744d6574616461746149522447542431376866643566666533353839646536306561452e6c6c766d2e343238363832333836303936373432393332399d14645f5a4e35616c6c6f633376656339696e746f5f697465723231496e746f49746572244c54245424432441244754243332666f726765745f616c6c6f636174696f6e5f64726f705f72656d61696e696e6731376866316337666561363734303163613964459e14745f5a4e38365f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376834313233393837316162333538323232459f14f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683763373835393038646632613834393145a014f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137686662346635323534333130363935643745a114475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137683239313064353833393332393730303445a214475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137683330356562376133633966343133356545a314475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137683336663831616438633062386331366345a414475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137683430623539663331306264356566653545a514475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686462373863623631343837306664636345a614475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137683630373862383738363462333132373345a714475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686165643361643738613338356462356645a814475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686439653265356161313661386133373345a914475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686464393139316564376233363534393545aa14475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686632616635393962653164356335376545ab14475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686662636163386535356261373966633945ac1493015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683165643839323039646435323636353245ad14ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683935626132333262303161303637383245ae14ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137686266306366373266623633616466306345af1481015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683735326536393730363561336331313045b01481015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683161396437346630636661386566613445b114b7015f5a4e313473705f6d657461646174615f6972337631343133325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65744d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e50616c6c65744d65746164617461244754243466726f6d3137686138653463303839643662393938373845b214c3015f5a4e313473705f6d657461646174615f6972337631343134345f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e53746f72616765456e7472794d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e7472794d65746164617461244754243466726f6d3137683566623963316639656465383730353645b314355f5a4e313473705f6d657461646174615f69723132696e746f5f76657273696f6e3137683438356565313365366138626265396545b414305f5a4e313473705f6d657461646174615f697238696e746f5f7631343137683333633238656334346234353831393245b514395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683537626634386362323931666138616145b614395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683565393239363739646635643166623445b714465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c653137683436386162356430376335383962653745b814535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683561613139313865323036623830393945b914535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683835646635376465316565666466376645ba14595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683062333433343364623161653336323945bb14595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683134306339636132346662353037613245bc14645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683331666663623264633831363265366245bd1485015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683166633135313934303635363363333845be1485015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686335613939303435613766386461613245bf14425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683333623463303462626634336130633645c014425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683531373436653561316662643934366345c114b7015f5a4e313473705f6d657461646174615f6972337631363133325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65744d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65744d65746164617461244754243466726f6d3137683364303034323934363864326264323145c2145a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376837376362393830316432393732613632452e6c6c766d2e36333234383833383534333538383630303038c3145a5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376864326431636136613331346661653631452e6c6c766d2e36333234383833383534333538383630303038c414b5015f5a4e313473705f6d657461646174615f6972337631363133305f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e4d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654d65746164617461563136244754243466726f6d3137683331633563616161376437636662386145c514bf015f5a4e313473705f6d657461646174615f6972337631363134305f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e52756e74696d654170694d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d65746164617461244754243466726f6d3137683136376538363563366531653532633345c614cb015f5a4e313473705f6d657461646174615f6972337631363135325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e52756e74696d654170694d6574686f644d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d6574686f644d65746164617461244754243466726f6d3137686535393761356632306566303564326245c714c3015f5a4e313473705f6d657461646174615f6972337631363134345f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e53746f72616765456e7472794d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e53746f72616765456e7472794d65746164617461244754243466726f6d3137683037376434633561613830626666383645c814cf015f5a4e313473705f6d657461646174615f6972337631363135365f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65745669657746756e6374696f6e4d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65745669657746756e6374696f6e4d65746164617461244754243466726f6d3137683434623631303037313732643263363745c9144c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376863373662343436343438663234363661452e6c6c766d2e3137383332323236303339373833383938373835ca145a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683366356535613039343835663734643745cb14b7015f5a4e313473705f6d657461646174615f6972337631353133325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65744d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e50616c6c65744d65746164617461244754243466726f6d3137683430316163636234363236633365633645cc14bd015f5a4e313473705f6d657461646174615f6972337631353133385f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e45787472696e7369634d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e45787472696e7369634d65746164617461244754243466726f6d3137686639363261623337336439316533643745cd143e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683664316330396362646536326237323245ce143e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686336653334633439393338316336616545cf1480015f5a4e313473705f6d657461646174615f69723376313636305f244c5424696d706c247532302473705f6d657461646174615f69722e2e74797065732e2e45787472696e7369634d657461646174614952244754243231696e746f5f7631365f776974685f63616c6c5f74793137683237643833303066656362376166376645d014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683030326161346533653233633963306145d114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683030666365633836313363616333376345d214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683031353937636138353539303634313045d314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683031643239313866643537636136343845d414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683032336239656664616534356130326545d514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683032356239616139633934356661363145d614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683032376436363263366332623435376445d714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683033306638323338346464363866633045d814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683034636630346563303431373335353745d914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683037376539666132353966393132636545da14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683039306636303363666332396464626145db14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683062643932383465316265653337343645dc14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683065356133386265666536323830346145dd14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683065623065353165376532633536643345de14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683065623639633739666565306261326245df14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683065663137393462643565356631323145e014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683066636638616566626464363134363345e114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683132323166316138313137663937346145e214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134343331353937616136323334363245e314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134393639306631643839613665346545e414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134396466353265663430613661373845e514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134643265396237633936643765653645e614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683137326564616430316331383734343345e714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683137623166323666336531303233353845e814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683139336432306463626163306332626345e914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683161326336623766336165383163613445ea14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683161376131366633393733393833393145eb14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683163623831636366323562386430343445ec14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683163653864656565376239393432353245ed14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683164366531396663623431366466386445ee14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683165356566353234663430643430313345ef14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683165656363343839653138393836633645f014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683165666162663863663537316431323145f114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683231313036656566313065656534346645f214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683232323531636136666539363031316445f314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683232636631353163643765396634633545f414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683233366265613233316239656239663445f514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683235323332303965346134336134663345f614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683235393833353036623465306633356145f714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683235643136643262326639613161373545f814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683236613837303366393036326266386345f914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683236663930353635663031363730326545fa14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683239396566326463623465353833376645fb14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683262373038376635316362396465313045fc14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683263303765343637343566373361303145fd14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683263646238643861313566386630613345fe14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683264336137316231616261623939353545ff14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376832646661373937633066343334333862458015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376832663664653836626466333637383230458115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376832663966396533373936636664323234458215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833303331663663303932333335393232458315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833313265343461643138303336323737458415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833353065333030363039393436353266458515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833353764363466653832613764316232458615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833356232663165653164343761623838458715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833363234396463656266623737623132458815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833383263383466353165356131313532458915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833383536326336643764393339363731458a15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833383734303565636462616666353939458b15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833386266333834623061643061346461458c15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833393032616165653031346338366532458d15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833393965313761303162306433343231458e15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833613537303339303163613839623164458f15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833623334373739393863363631336339459015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833646133323338653038333963326435459115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833646432646137333765656464326365459215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833646561663764316662343464663430459315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833653562346164323937366136316662459415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833653731343633316134613961303537459515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833656639663366333637326139303462459615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834303162626638363766386331613836459715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834313330666431393865636638636238459815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834316363356661616232353039323830459915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834323830613039356665653432303736459a15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834336430343964626530613061626134459b15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834346233313034353734653563626464459c15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834353938363736303738663838373436459d15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834356338306637383030353661626566459e15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834366533643636386138656538626164459f15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683437393634313963643436313232663445a015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683438346634376366633164616536613145a115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683438356630633532663439363961613845a215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683438666463303338653639343663303745a315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683461333163346331626165313439396645a415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683461336233363835353132383235643545a515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683461363366326638313137633238323045a615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683461636431616532346465336333383745a715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683461653834333439353033376133303245a815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683464353364663137633330636631306245a915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683464376239323435643561636339643245aa15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683464633636653033386263643335303445ab15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683465303335383537626566393361343145ac15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683465373233313831343533663563616445ad15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683466623966313739356664373762613645ae15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683530623532366431323966303734643245af15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683531353863613231653130623730356445b015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683531363738646561393433666362656345b115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683534323731353836663664393562656345b215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683534343164313233333663623435663745b315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683534613063633933323762326562313645b415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683534626131336638353964666664633645b515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683534626665383865356336326233613645b615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683536343035353338616230643365623845b715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683538326436653930336231386330636345b815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683538333337643863303332336134386145b915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683538356162623837663265636431626345ba15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683538366235636337656162373732653045bb15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683561376231316564346235396130646345bc15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683561666331633662396232316466623345bd15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683562316233393638393835653637373345be15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683564346637663366363761643764303145bf15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683564646130306536356136386631653445c015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683565353835383837323836396235336245c115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683565623463663633626663623931313145c215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683566346533613736623230646361333545c315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683566393936643735646339653838653245c415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683566626130303762313263626236613245c515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683566666462356165363665363130643845c615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683631303738343364396364653037636245c715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683632303636353564663135353530393345c815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683633376363336232353135356261356645c915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683634333561643037643561633136333245ca15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683634346634376461306662343336373045cb15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683634373866343461623465383332653345cc15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683635636336363039353062653266323445cd15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683636336139346133653365313266313445ce15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683662643563633365613564643238343545cf15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683663326265616638386336373165393245d015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683663366438323462366237633831393945d115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683663373631343539616634393931373745d215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683664376231633631366662323938613045d315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683665346335313965626239326233303445d415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683666356431386531643130366338316445d515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683730323364613965653335336361613045d615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683731353735653534646563306134613445d715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683732363831313533643837393230653145d815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683733306530326662643764333263646545d915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683738373435626465303531653938306545da15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683738656166636635653763343738386545db15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683738656231356235373833363366383945dc15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683762386534353961376438303033353745dd15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683763373266386261383364393563393645de15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683765643030663264653661336537666445df15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683831353530353835393633393338363245e015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683832323063333831326563303039306445e115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683832383832393331316364393266376245e215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683832393235323966653362663532346245e315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683833303631636337643931353131316245e415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683833343132313162373432316466396145e515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683833623163326564373739626533376645e615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683835303166616261373536613864396545e715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683835623062663134393566313963353945e815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683835646131396539393938353633363945e915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683837393335306264386262323463366245ea15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683837663133623765346461343562643845eb15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683838613762616331613062323363336145ec15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683862306337376662383962373931636245ed15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683862313763626535393530646261643545ee15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683862656461306137363236373532663945ef15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683864666538626231306661333136663045f015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683865366336316461623731623334333245f115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683865623738343262666134623463356345f215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683865646563653633646165376164313345f315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683865653764373433333566373565313945f415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683866346235373936616363306433613145f515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683931663263363938333232653034356245f615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683932363039343064666433306632333445f715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683933303333366162376532643732393845f815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683933343963346563376233623934626245f915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683935653233376431346631363431666545fa15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683936323935383964633636393131326245fb15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683936346466663938643238303134626145fc15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683937323331646338633332326263313345fd15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683937336161383763613563383263336245fe15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683961396633356335613963323139666645ff15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839616637653331653264646164636338458016445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839633139626239356132303264623661458116445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376839663163626266613063313263346532458216445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861333266396163316635613033663564458316445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861353866323133623936393930626639458416445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861356231646437616231383535366461458516445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861363064383134306639373839633565458616445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861363764356265303233353634366666458716445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861366633363239643632353236666235458816445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861613666396261623165323636316364458916445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861643738653032313534653738646264458a16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861663762616137313834353638343235458b16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376861666565636532336239643233643338458c16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862303036656266633437393761316562458d16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862303039366431343135393837393332458e16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862313631656632383031616534363363458f16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862333536356439303335656535626565459016445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862343831303266383665343230623063459116445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862353830373333336231323432373064459216445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862373662653661306337303433326432459316445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862393030336138613938363065623230459416445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862623163613633656564356663646432459516445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862633730376439636362633666626364459616445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862636332316564663337303336346639459716445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862646166353761623764323962643737459816445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862656336313164386464643165383436459916445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862656666656433353330353130663761459a16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862663939343339303332343663653634459b16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863316336376638383863326335643439459c16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863333230366232333635346438633032459d16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863346631366138353532396466326366459e16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863356434363939646661343165336537459f16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686336386439613939626166333732666145a016445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686338346564653935336633343237653145a116445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686338643732613634323066626534653445a216445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686362303630663164393166373137343345a316445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686363636132643361396639333236363045a416445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686364353432346434666363663537663645a516445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686364663662343231626664373635383445a616445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686365303534343939393166353264643645a716445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686365336538383636336236616436313445a816445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686365393030646132376130666363336245a916445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686365393935363836623263303532353545aa16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686366363932303963326632646166346545ab16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686430663561663839613136653034366145ac16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686431316364303763666531626333666145ad16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686431646632383931303666336436306445ae16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686433313239366130633861393664653145af16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686433386432373664643236393663393945b016445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686434623038333439343331356661373945b116445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686434636664646236633161343963343645b216445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686436303561363838366563643533363845b316445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686437623835306132363637363562656645b416445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686461373765323431656136303831613245b516445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686461396637623133316335366161646345b616445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686462396137656339323662653261306245b716445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686462653965643836343762663464363145b816445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686463323133336134323063623334346145b916445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686463646532633564643865626161646545ba16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686464323563616365656639383539353045bb16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686464633830346264363136343738386545bc16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686465623537303466666536616138646445bd16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686530333638613730373630653435646345be16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686530346639663336306132343432343945bf16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686532643562386661663562656263313445c016445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686534343936376639353030373530626445c116445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686534396131633036653533343837323545c216445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686534633064666262643865363862373245c316445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686535613733393635373932653536653145c416445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686537336631393064363764616130393645c516445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686538353461333135316363653761366245c616445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686539343036323833363662303861636445c716445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686561346335366466373961326439363745c816445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686562333434653338356534646332383645c916445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686562623361336430313736353535313845ca16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686563303839633465623531396464613245cb16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686563663334386132363766666531323445cc16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686631323831396666366437373039616345cd16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686631333966393436613233393263376445ce16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686631666339363237323234363266323645cf16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686632393362663966313935396635393045d016445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686633333664373834353664626132333145d116445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686633366236396464653165633965323445d216445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686634643333323533396534363534376345d316445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686636316635333937386237343537343945d416445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686637376438346533373939333762353745d516445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686638633861646230663239373364396545d616445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686639313239383936376634303739376345d716445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686661326661333836393664656636656345d816445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686663353262656565323965333432633045d916445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686663363036613336643666343233363945da16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686664313331653235386562656464646345db16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686665343734613235323363646332353445dc16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686665613362396431633762663136323645dd16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686665626238643930393139383862363545de16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686666396164616332343965363966316545df16445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686666613964396630306530333032363145e016735f5a4e38305f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137683534373433323038306433376235646445e1167e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683533356432326632363961356431373545e2163f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683633333363376466333132333638303045e316425f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646539656e636f64655f746f3137683862363035366437663265633361323945e4163f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683663376634313665613364626666613645e51680015f5a4e39365f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d5265662475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137686131363434636436636464646663646645e6167b5f5a4e38385f244c542473705f636f72652e2e63727970746f5f62797465732e2e43727970746f4279746573244c54245f24432454244754242475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137683230333939623063336533626433333145e7167b5f5a4e38385f244c542473705f636f72652e2e63727970746f5f62797465732e2e43727970746f4279746573244c54245f24432454244754242475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137683739636337613033616633303531656545e8167d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137683632633266376566663330303738353745e916695f5a4e37305f244c542473705f72756e74696d652e2e67656e657269632e2e6572612e2e4572612475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137686433623838313161646332373866396145ea1680015f5a4e39305f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d24753230246173247532302473705f72756e74696d652e2e7472616974732e2e436865636b457175616c244754243131636865636b5f657175616c3137683264326564333565333234316161646345eb1696015f5a4e313073705f72756e74696d653767656e6572696336646967657374315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573742447542439747970655f696e666f3137683637383362623139353333313531383245ec1695015f5a4e313073705f72756e74696d65313270726f76696e675f74726965315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e70726f76696e675f747269652e2e547269654572726f722447542439747970655f696e666f3137683566386435653830626333303534313745ed168a015f5a4e313073705f72756e74696d6536747261697473315f38325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542439747970655f696e666f3137683062373534323038333765383337313645ee1680015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683033663931323866376537303162396345ef1680015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683130363765316666373161383136653545f01680015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683563666161386535626532313937636345f116ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683165363165316634313364656662323345f216ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683533623637313163343638373533666545f316ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686438663333666132363133636630333545f416495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683531356136623364353935666231656645f5164c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376833646164643865666164313964323363452e6c6c766d2e3137383836333233313139323939373938303335f616435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686162646237303962333835626633633245f7165a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686330303135613631373836313030366545f816595f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479313656616c69645472616e73616374696f6e3132636f6d62696e655f776974683137683735383562316434386336663635373645f916af015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e496e76616c69645472616e73616374696f6e2447542439747970655f696e666f3137686165353262616336333838636435663045fa16af015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e556e6b6e6f776e5472616e73616374696f6e2447542439747970655f696e666f3137683161366465336338323935363861666545fb16b5015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e5472616e73616374696f6e56616c69646974794572726f722447542439747970655f696e666f3137683161386437623136343864336466343245fc16ae015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e5472616e73616374696f6e536f757263652447542439747970655f696e666f3137686233616134396133363466333130343445fd16ad015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e56616c69645472616e73616374696f6e2447542439747970655f696e666f3137683334373961363132343532366434653245fe168c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683934343830646132656538663462303845ff16305f5a4e34636f726533666d743557726974653977726974655f666d74313768303965636438663931393034356436394580174c5f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e6724475424313768383431303038356539366161633339644581175f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f63686172313768383662303535303332343835313332644582175d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137686463373765383038663336633535386345831781015f5a4e37305f244c542473705f72756e74696d652e2e72756e74696d655f6c6f676765722e2e52756e74696d654c6f676765722475323024617324753230246c6f672e2e4c6f672447542437656e61626c656431376833363833363731623962346334333963452e6c6c766d2e31363131383730393239383437323932313236318417635f5a4e37305f244c542473705f72756e74696d652e2e72756e74696d655f6c6f676765722e2e52756e74696d654c6f676765722475323024617324753230246c6f672e2e4c6f6724475424336c6f67313768343739643235633231653532303238394585177f5f5a4e37305f244c542473705f72756e74696d652e2e72756e74696d655f6c6f676765722e2e52756e74696d654c6f676765722475323024617324753230246c6f672e2e4c6f672447542435666c75736831376832623566636637393962353266333036452e6c6c766d2e31363131383730393239383437323932313236318617675f5a4e36385f244c542473705f72756e74696d652e2e4f706171756545787472696e7369632475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f313768626563636461633465393235376662634587177e5f5a4e313073705f72756e74696d65315f37375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e4d756c74695369676e61747572652447542439747970655f696e666f313768626436356436623339386134383138384588177b5f5a4e313073705f72756e74696d65315f37345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e4d6f64756c654572726f722447542439747970655f696e666f3137686164663230323762363365643834313045891782015f5a4e313073705f72756e74696d65315f38315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e5472616e73616374696f6e616c4572726f722447542439747970655f696e666f31376832616231313635306334656562663736458a177d5f5a4e313073705f72756e74696d65315f37365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f722447542439747970655f696e666f31376838613736323832326465323861653333458b177a5f5a4e313073705f72756e74696d65315f37335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e546f6b656e4572726f722447542439747970655f696e666f31376830353437333330313533623265653237458c1786015f5a4e313073705f72756e74696d65315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e45787472696e736963496e636c7573696f6e4d6f64652447542439747970655f696e666f31376838643433623035346464313131663963458d179c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e6731376832383134663161363766396536623030458e1792025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c697431376835313761666363356465633362313132458f179c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683265663861313337373530633539363045901792025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c6974313768323936373330623231633732386466624591179c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683339393061366232316535643233383745921792025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c6974313768383065643163613838386636666131364593179c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686261373039303965643039343064643345941792025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c697431376832383539633539626636646239383564459517655f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313562756c6b5f737465616c5f6c65667431376838373837313432633736386433656236459617665f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313662756c6b5f737465616c5f7269676874313768613264373265643232313262666331344597175d5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b244324562447542438646f5f6d6572676531376862356164333036383265666439653235459817cd025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653235395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313472656d6f76655f6c6561665f6b7631376831643236636534303734373235643737459917db025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653236395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313872656d6f76655f6b765f747261636b696e6731376833633265326461633238623238626332459a17d5015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565367365617263683134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c244754242447542431317365617263685f7472656531376837616363636161356162346430613635459b17ac015f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653673656172636839315f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324547970652447542424475424323266696e645f6c6f7765725f626f756e645f696e64657831376863373735363430663465336439376436459c17ac015f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653673656172636839315f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324547970652447542424475424323266696e645f75707065725f626f756e645f696e64657831376838636331323066366564373834383835459d17ea015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565386e617669676174653134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c2447542424475424333066696e645f6c6561665f65646765735f7370616e6e696e675f72616e676531376862386162333039376439353964356335459e17475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376832646232366338363930386161653438459f17475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686465646339353738353038643130343845a0175e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137686637373235376662343839663239623545a117775f5a4e36355f244c5424736d616c6c7665632e2e436f6c6c656374696f6e416c6c6f63457272247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863333234333533313336343733343034452e6c6c766d2e37373532373533383537313139363138353433a217635f5a4e36395f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683266376665353334656462333235643945a3174a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137683063633962623338313163623431383545a4174a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137686365373235363065656364366537333945a5174c5f5a4e313673705f73746174655f6d616368696e6533657874313353746f72616765417070656e6431347265706c6163655f6c656e6774683137683661626336386330313036316162653445a617635f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573386f6666636861696e32344f6666636861696e4f7665726c617965644368616e676573337365743137686436373530396166316430636264316545a7175e5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431306f725f64656661756c743137683133363961363231373138356439353445a8175e5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431306f725f64656661756c743137686333363038393130343439663064343545a9175f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e736572743137683233383234323065376138633636326545aa175f5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793238566163616e74456e747279244c54244b24432456244324412447542436696e736572743137686139376139643239623763653836333145ab175a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683866376135313538366365383264386445ac174b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376833343038653839303436656366336233452e6c6c766d2e32303630343436303331393930333533383532ad17435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683363613666613366663830363562616645ae179e015f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e676573657438324f7665726c61796564456e747279244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e53746f72616765456e74727924475424337365743137686635646130356438626166353638383245af176f5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e676573657432354f7665726c617965644d6170244c54244b244324562447542431327365745f6f6666636861696e3137683532643739316365316234396432613045b017e0015f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e67657365743130384f7665726c617965644d6170244c5424616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e53746f72616765456e747279244754243137636c6f73655f7472616e73616374696f6e31376861393664383535656535663734366364452e6c6c766d2e383931333237343335363735323137313237b117b9015f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e67657365743130384f7665726c617965644d6170244c5424616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e53746f72616765456e74727924475424337365743137683864666261626137613239633162633045b21793015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686262366537343332666631393962373645b317565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137683032313235323736356264633035646145b417565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137683963353839656161343734306235616245b517565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b2443245624432441244754243672656d6f76653137686566663465653036636664306663366545b6176f5f5a4e38315f244c5424616c6c6f632e2e7665632e2e73706c6963652e2e53706c696365244c5424492443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686631363736393834373361333364633745b71781015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683164316238626362393632643032623845b81781015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683162373364333434313062616333303445b917625f5a4e36395f244c542473705f73746174655f6d616368696e652e2e44656661756c744572726f72247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686366386539333630616632386137366545ba174b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376838303831383834666164333864656137452e6c6c766d2e36373536353232343235373132353833323234bb17735f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376835376230303332626266353666333330452e6c6c766d2e36373536353232343235373132353833323234bc17435f5a4e313073705f73746f72616765394368696c64496e666f323070726566697865645f73746f726167655f6b65793137683237313965386263366361303466396345bd178c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686435363564386133616137653064383545be179a015f5a4e31307363616c655f696e666f35696d706c733130305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c542454244754242447542439747970655f696e666f3137686665303230373365363832323461306545bf1793015f5a4e3773705f74726965313373746f726167655f70726f6f66315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f747269652e2e73746f726167655f70726f6f662e2e53746f7261676550726f6f662447542439747970655f696e666f3137683339326665623566656664343239623945c0174a5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376832346338623633616665643765363865452e6c6c766d2e353736323436393933343333353736363932c1175a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683261326564313163326431366565333245c217705f5a4e37345f244c542473705f747269652e2e747269655f73747265616d2e2e5472696553747265616d247532302461732475323024747269655f726f6f742e2e5472696553747265616d244754243131617070656e645f6c6561663137683638343132646231383734353861376645c317735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137683363326438326161623665366665326245c41780015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683332653566316537316130316438646245c517455f5a4e35616c6c6f63337665633136566563244c54245424432441244754243136657874656e645f6465737567617265643137686665326333353835356330303366373745c617735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137683466643039613465313463353133656545c717755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137686336633761633933383135633038626245c8177e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683564643263613539396339656263343145c91783015f5a4e31307363616c655f696e666f35696d706c7337385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f72726f772e2e436f77244c542454244754242447542439747970655f696e666f3137683162346261613433633231343363366245ca1783015f5a4e31307363616c655f696e666f35696d706c7337385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f72726f772e2e436f77244c542454244754242447542439747970655f696e666f3137683337643730323763646137616464636645cb177e5f5a4e313073705f76657273696f6e315f37375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f76657273696f6e2e2e52756e74696d6556657273696f6e2447542439747970655f696e666f3137686434313638666161653335333933356545cc1795015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683135643733313536313930323239636145cd17615f5a4e36385f244c542473705f776569676874732e2e7765696768745f76322e2e576569676874247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683662376231316636376333383863393545ce178b015f5a4e313073705f77656967687473397765696768745f7632315f38305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f776569676874732e2e7765696768745f76322e2e5765696768742447542439747970655f696e666f3137683530353435343763646337343238313645cf177f5f5a4e313073705f77656967687473315f37385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f776569676874732e2e52756e74696d6544625765696768742447542439747970655f696e666f3137686566343336653165623238666635353445d017355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137686465383330326466303962666439323345d117475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686434303335396334383565373665633345d217295f5a4e34686d616331316765745f6465725f6b65793137686436653165613430313164346238366545d317745f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376833313233386631653166353237323564452e6c6c766d2e3137303039313535393838343635393434323637d4174c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376834393037346235656130613336306461452e6c6c766d2e3137303039313535393838343635393434323637d5173b5f5a4e31357375627374726174655f62697033393137736565645f66726f6d5f656e74726f70793137683739306434366437643338356236646345d617285f5a4e36737562746c6539626c61636b5f626f783137686433616365373930353164653630633745d717a6015f5a4e3133335f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e457874656e64244c5424244c542441247532302461732475323024736d616c6c7665632e2e4172726179244754242e2e4974656d244754242447542436657874656e643137686266666234643535313637353039656445d817555f5a4e38736d616c6c7665633137536d616c6c566563244c54244124475424387472795f67726f7731376861343931356466386435343133376561452e6c6c766d2e37343936333338323230323938393532313731d9174a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137683337613164663262343166613537333445da17475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683161633731613462333739333434313545db17475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683530343735316166393863383863376145dc17495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683135393538363164626630396639663245dd175e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137686637373235376662343839663239623545de17775f5a4e36355f244c5424736d616c6c7665632e2e436f6c6c656374696f6e416c6c6f63457272247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863333234333533313336343733343034452e6c6c766d2e37343936333338323230323938393532313731df17335f5a4e37747269655f6462346e6f6465384e6f6465506c616e356275696c643137686233363530323732633136383130303545e017365f5a4e37747269655f6462397472696564626d75743131636f6d62696e655f6b65793137686164633734396161393939613532393645e1173c5f5a4e37747269655f6462366e6962626c6531306e6962626c655f6f70733973686966745f6b65793137686530636638353631616432656336393745e217d2015f5a4e37747269655f6462366e6962626c65396e6962626c657665633135345f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542424524624747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754242475323024666f722475323024244c50247573697a65244324736d616c6c7665632e2e536d616c6c566563244c54242475356224753824753362242475323024343024753564242447542424525024244754243466726f6d3137683362633438336165626131376461363945e3176c5f5a4e37385f244c5424747269655f64622e2e4279746573247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54242452462424753562247538247535642424475424244754243466726f6d3137686234333335646566666461616234656245e4176d5f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c6963652447542439746f5f73746f7265643137683064383133356433333263666435363645e517745f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c696365244754243135746f5f73746f7265645f72616e67653137683961616430626633353431396530636145e617725f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c696365244754243133636f6d6d6f6e5f7072656669783137683362663137313738613035396265373145e7176f5f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c69636524475424313072696768745f697465723137683837393532346333303639666530376445e817745f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c6963652447542431357374617274735f776974685f7665633137683435313131353130383239626639323145e917aa015f5a4e37747269655f6462366e6962626c6531316e6962626c65736c6963653131335f244c5424696d706c2475323024636f72652e2e636d702e2e5061727469616c4571244c5424747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754242475323024666f722475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c696365244754243265713137686234383839613836393264313163336645ea176a5f5a4e37747269655f6462366e6962626c65396e6962626c6576656334345f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c6556656324475424313064726f705f6c617374733137683566323365366139656531383062376145eb17655f5a4e37747269655f6462366e6962626c65396e6962626c6576656334345f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c655665632447542436617070656e643137683235303666383537326436323738616345ec176e5f5a4e37747269655f6462366e6962626c65396e6962626c6576656334345f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754243134617070656e645f7061727469616c3137683832643631366265303965323262393745ed1780015f5a4e37747269655f6462366e6962626c65396e6962626c6576656334345f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754243332617070656e645f6f7074696f6e616c5f736c6963655f616e645f6e6962626c653137683436383234343438303265303239383645ee17a8015f5a4e37747269655f6462366e6962626c65396e6962626c657665633131325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c5424747269655f64622e2e6e6962626c652e2e4e6962626c65536c696365244754242475323024666f722475323024747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754243466726f6d3137683664666432623038323030393131323845ef17525f5a4e35616c6c6f633473796e633136417263244c542454244324412447542439646f776e6772616465313870616e69635f636f6c645f646973706c61793137686439636333313664356463616437376145f0173e5f5a4e35616c6c6f633473796e633136417263244c54245424432441244754243964726f705f736c6f773137686237363130613636386562623966356445f1177c5f5a4e36395f244c5424636f72652e2e616c6c6f632e2e6c61796f75742e2e4c61796f75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863366262613634393265653837396534452e6c6c766d2e3131323939313435383431343134343838363032f217465f5a4e3137636f6d70696c65725f6275696c74696e7333696e74367472616974733444496e74313066726f6d5f6c6f5f68693137683363316332623261666565626161303145f317465f5a4e3137636f6d70696c65725f6275696c74696e7333696e74367472616974733444496e74313066726f6d5f6c6f5f68693137683663306665633434386363656430363745f417066d656d637079f517066d656d636d70f6173b5f5a4e3137636f6d70696c65725f6275696c74696e7333696e74336d756c385f5f6d756c7469333137683438643330383833636430346332313745f717355f5a4e3137636f6d70696c65725f6275696c74696e73336d656d366d656d6370793137683530663166386365363865663632643345f817365f5a4e3137636f6d70696c65725f6275696c74696e73336d656d376d656d6d6f76653137683462333136656262333461356236353545f917076d656d6d6f7665fa17066d656d736574fb17355f5a4e3137636f6d70696c65725f6275696c74696e73336d656d366d656d636d703137683734643733633763323164616337393845fc17085f5f6d756c746933fd17095f5f6173686c746933fe173d5f5a4e3137636f6d70696c65725f6275696c74696e7333696e743475646976395f5f756469767469333137686530633139303638386130306431656445ff173e5f5a4e3137636f6d70696c65725f6275696c74696e7333696e74357368696674395f5f6173686c746933313768613230353665613334326430383834374580183e5f5a4e3137636f6d70696c65725f6275696c74696e7333696e74357368696674395f5f6c73687274693331376834383830366130356638653636336163458118095f5f6c7368727469338218095f5f756469767469338318515f5a4e3137636f6d70696c65725f6275696c74696e7333696e7431397370656369616c697a65645f6469765f72656d3132753132385f6469765f72656d3137686437353135323162333034333164323545071201000f5f5f737461636b5f706f696e74657209170300072e726f6461746101052e6461746102042e627373003d0970726f647563657273010c70726f6365737365642d6279010572757374631d312e38382e30202836623030626333383820323032352d30362d323329", + "0xcd710b30bd2eab0352ddcc26417aa1944e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xcd710b30bd2eab0352ddcc26417aa1948c27d984a48a10b1ebf28036a4a4444bdaeb104694ed8e0636f6d3069c0f8caa001849fdde675c7e970e45aadd585cc4": "0x01000000", + "0xcd710b30bd2eab0352ddcc26417aa1949f4993f016e2d2f8e5f43be7bb259486": "0x00", + "0xcd710b30bd2eab0352ddcc26417aa194e2d1c22ba0a888147714a3487bd51c6363f5a4efb16ffa83d0070000": "0xdaeb104694ed8e0636f6d3069c0f8caa001849fdde675c7e970e45aadd585cc4", + "0xcd710b30bd2eab0352ddcc26417aa194e3f24c2988a2aef4958067be0827b8a663f5a4efb16ffa83d0070000": "0x00000000", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb30e5be00fbc2e15b5fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0xd17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae698eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a480390084fdbf27d2b79d26a4f13f0ccd982cb755a661969143c37cbc49ef5b91f27", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb33d336178353c677be860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c": "0x5e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d9306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc2003bc9d0ca094bd5b8b3225d7651eac5d18c1c04bf8ae8f8b263eebca4e1410ed0c", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3ce4f6702f7c0a2951e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625": "0x439660b36c6c03afafca027b910b4fecf99801834c62a5e6006f27d978de234f90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe2290b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe2290b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe2290b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe220389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afb", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3e535263148daaf49be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0x88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0eed43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1", + "0xcec5070d609dd3497f72bde07fc96ba04e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19500b42ace3b5fab73c6265656684020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19500e9b1341d066bc7162656566840389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afb": "0x1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195010ed5351a49a6f257061726180306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20": "0xe860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195021cd04f63ad37128626162658090b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22": "0x1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950246b6699fb8b8db670617261808eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19504a8e42157609c6c86173676e80d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19505905fe216cc5924c6772616e80d17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195066a59561dbcc7b8f6261626580306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20": "0xe860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195066b8d48da86b869b6261626580d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950721887aafd517d296173676e8090b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22": "0x1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195079b38849014a07307061726180d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19508b6d3621e5bd57f16772616e80439660b36c6c03afafca027b910b4fecf99801834c62a5e6006f27d978de234f": "0x1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509d4a4cfe1c2ef0b961756469808eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950a3819a69ee3abfd5626565668403bc9d0ca094bd5b8b3225d7651eac5d18c1c04bf8ae8f8b263eebca4e1410ed0c": "0xe860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950a642db8b18b70d0c6173676e80306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20": "0xe860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950bcb9c3677bfe9155706172618090b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22": "0x1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950c0cadce9c18510226173676e808eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950c7e637254b9ea61962656566840390084fdbf27d2b79d26a4f13f0ccd982cb755a661969143c37cbc49ef5b91f27": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950c9b0c13125732d276175646980d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950ce1dd85a539ac289617564698090b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22": "0x1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950d62c40514b41f31962616265808eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950df374af9c718064e6772616e805e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d9": "0xe860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950e48fe1bd45bfef606175646980306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20": "0xe860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950f5537bdb2a1f626b6772616e8088dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee": "0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f", + "0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x10be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25ffe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625e860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c", + "0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x10be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0eed43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860ed17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae698eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a480390084fdbf27d2b79d26a4f13f0ccd982cb755a661969143c37cbc49ef5b91f271e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625439660b36c6c03afafca027b910b4fecf99801834c62a5e6006f27d978de234f90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe2290b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe2290b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe2290b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe220389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afbe860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c5e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d9306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc2003bc9d0ca094bd5b8b3225d7651eac5d18c1c04bf8ae8f8b263eebca4e1410ed0c", + "0xd57bce545fb382c34570e5dfbf338f5e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xd5c41b52a371aa36c9254ce34324f2a54e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xd5e1a2fa16732ce6906189438c0a82c64e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xd8bbe27baf3aa64bb483afabc240f68e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xd8f314b7f4e6b095f0f8ee4656a448254e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xda7d4185f8093e80caceb64da45219e30c98535b82c72faf3c64974094af4643": "0x0100000000000000040000002145814fb41496b2881ca364a06e320fd1bf2fa7b94e1e37325cefbe29056519", + "0xda7d4185f8093e80caceb64da45219e34e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xda7d4185f8093e80caceb64da45219e3c52aa943bf0908860a3eea0fad707cdc": "0x0000000000000000040000002145814fb41496b2881ca364a06e320fd1bf2fa7b94e1e37325cefbe29056519", + "0xe4bcc010e9d7e5be15c4809b64d6ca7d4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xedfb05b766f199ce00df85317e33050e4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xf0c365c3cf59d671eb72da0e7a4113c44e7b9012096b41c4eb3aaf947f6ea429": "0x0000" + } + } + }, + "id": "rococo_local_testnet", + "lightSyncState": null, + "name": "Rococo Local Testnet", + "properties": null, + "protocolId": "dot", + "telemetryEndpoints": null +} \ No newline at end of file diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/migrate_solo.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/migrate_solo.rs index b4d9cdf422838..3c1be1d5e4840 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/migrate_solo.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/migrate_solo.rs @@ -121,8 +121,8 @@ async fn build_network_config() -> Result { .with_default_command("polkadot") .with_default_image(images.polkadot.as_str()) .with_default_args(vec![("-lparachain=debug").into()]) - .with_node(|node| node.with_name("alice")) - .with_node(|node| node.with_name("bob")) + .with_validator(|node| node.with_name("alice")) + .with_validator(|node| node.with_name("bob")) }) .with_parachain(|p| { // parachain A diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/mod.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/mod.rs index 13e75ac866cbf..370e2e98bf1a4 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/mod.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/mod.rs @@ -6,7 +6,6 @@ mod elastic_scaling; mod full_node_catching_up; mod full_node_warp_sync; mod migrate_solo; -mod parachain_extrinsic_get_finalized; mod pov_recovery; mod rpc_collator_build_blocks; mod runtime_upgrade; diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/parachain_extrinsic_get_finalized.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/parachain_extrinsic_get_finalized.rs deleted file mode 100644 index f3a7a261aead9..0000000000000 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/parachain_extrinsic_get_finalized.rs +++ /dev/null @@ -1,170 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -use anyhow::anyhow; -use tokio::time::Duration; - -use crate::utils::{initialize_network, BEST_BLOCK_METRIC}; -use cumulus_zombienet_sdk_helpers::submit_extrinsic_and_wait_for_finalization_success_with_timeout; -use zombienet_orchestrator::network::node::{LogLineCount, LogLineCountOptions}; -use zombienet_sdk::{ - subxt::{self, dynamic::Value, OnlineClient, PolkadotConfig}, - subxt_signer::sr25519::dev, - NetworkConfig, NetworkConfigBuilder, -}; - -const PARA_ID: u32 = 2000; - -#[tokio::test(flavor = "multi_thread")] -async fn parachain_extrinsic_gets_finalized() -> Result<(), anyhow::Error> { - log::info!("Spawning network"); - let config = build_network_config().await?; - let network = initialize_network(config).await?; - - let alice = network.get_node("alice")?; - let bob = network.get_node("bob")?; - let charlie = network.get_node("charlie")?; - - for node in [alice, bob, charlie] { - log::info!("Ensuring {} reports 4 node roles", node.name()); - assert!(node.wait_metric_with_timeout("node_roles", |p| p == 4.0, 60u64).await.is_ok()); - } - - for node in [alice, bob] { - log::info!("Ensuring {} is connected to at least 1 peer", node.name()); - assert!(node - .wait_metric_with_timeout("sub_libp2p_peers_count", |p| p >= 1.0, 60u64) - .await - .is_ok()); - } - - for (node, block_height, timeout) in - [(alice, 5.0, 60u64), (bob, 5.0, 60u64), (charlie, 2.0, 120u64)] - { - log::info!("Ensuring all nodes report expected block height"); - assert!(node - .wait_metric_with_timeout(BEST_BLOCK_METRIC, |b| b > block_height, timeout) - .await - .is_ok()); - } - - for node in [alice, bob, charlie] { - log::info!("Ensuring {} does not report any error", node.name()); - - let result = node - .wait_log_line_count_with_timeout( - ".*kernel security feature.*not available.*error.", - false, - // Do not wait for more logs. The lines we are looking for appear at the node - // startup, which we must have clearly reached if we are here. - LogLineCountOptions::new(|n| n == 0, Duration::from_secs(0), false), - ) - .await?; - - // If above line appeared then increase expected error count - let mut error_cnt_expected = if result.success() { 0 } else { 1 }; - - let result = node - .wait_log_line_count_with_timeout( - r"error=Pool\(InvalidTransaction\(InvalidTransaction::MandatoryValidation\)\)", - false, - LogLineCountOptions::new(move |n| n > 0, Duration::from_secs(2), true), - ) - .await?; - - // We want to search for lines containing 'error' but we need to ignore below line (which - // occasionally appears): - // error=Pool(InvalidTransaction(InvalidTransaction::MandatoryValidation)) - // In a perfect world, we could use a regex with look-around, e.g. - // (?!.*error=Pool(InvalidTransaction(InvalidTransaction::MandatoryValidation))).*error.* - // but unfortunately, `regex` crate used by zombienet-sdk does not support look-arounds. - // - // Therefore, we will do as follows: - // - First, search for lines containing: - // error=Pool(InvalidTransaction(InvalidTransaction::MandatoryValidation)) - // - Add the number of such occurrences to the expected number of 'error' lines - // - Then, search for lines containing: error - if let LogLineCount::TargetReached(cnt) = result { - error_cnt_expected += cnt; - } - - let result = node - .wait_log_line_count_with_timeout( - "error", - false, - // Do not wait here, we already waited in previous step - LogLineCountOptions::new( - move |n| n == error_cnt_expected, - Duration::from_secs(0), - false, - ), - ) - .await?; - assert!(result.success(), "node {} reported error: {:?}", node.name(), result); - } - - log::info!("Ensuring parachain extrinsic gets finalized"); - let call = subxt::dynamic::tx("System", "remark", vec![Value::from_bytes("xxx".as_bytes())]); - let charlie_client: OnlineClient = charlie.wait_client().await?; - - let res = submit_extrinsic_and_wait_for_finalization_success_with_timeout( - &charlie_client, - &call, - &dev::alice(), - 600u64, - ) - .await; - assert!(res.is_ok(), "Extrinsic failed to finalize: {:?}", res.unwrap_err()); - - Ok(()) -} - -async fn build_network_config() -> Result { - let _ = env_logger::try_init_from_env( - env_logger::Env::default().filter_or(env_logger::DEFAULT_FILTER_ENV, "info"), - ); - log::info!("Spawning network"); - - // images are not relevant for `native`, but we leave it here in case we use `k8s` some day - let images = zombienet_sdk::environment::get_images_from_env(); - log::info!("Using images: {images:?}"); - - // Network setup: - // - relaychain Nodes: - // - alice - // - bob - // - parachain Nodes: - // - charlie - collator - let config = NetworkConfigBuilder::new() - .with_relaychain(|r| { - r.with_chain("rococo-local") - .with_default_command("polkadot") - .with_default_image(images.polkadot.as_str()) - .with_node(|node| node.with_name("alice")) - .with_node(|node| node.with_name("bob")) - }) - .with_parachain(|p| { - p.with_id(PARA_ID) - .with_chain("asset-hub-rococo-local") - .with_default_command("polkadot-parachain") - .with_default_image(images.cumulus.as_str()) - .with_collator(|n| { - n.with_name("charlie").validator(true).with_args(vec![ - ("--force-authoring").into(), - ("-ltxpool=trace").into(), - ("--pool-type=fork-aware").into(), - ]) - }) - }) - .with_global_settings(|global_settings| match std::env::var("ZOMBIENET_SDK_BASE_DIR") { - Ok(val) => global_settings.with_base_dir(val), - _ => global_settings, - }) - .build() - .map_err(|e| { - let errs = e.into_iter().map(|e| e.to_string()).collect::>().join(" "); - anyhow!("config errs: {errs}") - })?; - - Ok(config) -} diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/people-rococo-spec.json b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/people-rococo-spec.json deleted file mode 100644 index f0dc83e077bbf..0000000000000 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/people-rococo-spec.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "name": "Rococo People", - "id": "people-rococo", - "chainType": "Local", - "bootNodes": [ - "/dns/rococo-people-collator-node-0.parity-testnet.parity.io/tcp/30333/p2p/12D3KooWDZg5jMYhKXTu6RU491V5sxsFnP4oaEmZJEUfcRkYzps5", - "/dns/rococo-people-collator-node-0.parity-testnet.parity.io/tcp/443/wss/p2p/12D3KooWDZg5jMYhKXTu6RU491V5sxsFnP4oaEmZJEUfcRkYzps5", - "/dns/rococo-people-collator-node-1.parity-testnet.parity.io/tcp/30333/p2p/12D3KooWGGR5i6qQqfo7iDNp7vjDRKPWuDk53idGV6nFLwS12X5H", - "/dns/rococo-people-collator-node-1.parity-testnet.parity.io/tcp/443/wss/p2p/12D3KooWGGR5i6qQqfo7iDNp7vjDRKPWuDk53idGV6nFLwS12X5H", - "/dns/rococo-people-collator-node-2.parity-testnet.parity.io/tcp/30333/p2p/12D3KooWBvA9BmBfrsVMcAcqVXGYFCpMTvkSk2igNXpmoareYbeT", - "/dns/rococo-people-collator-node-2.parity-testnet.parity.io/tcp/443/wss/p2p/12D3KooWBvA9BmBfrsVMcAcqVXGYFCpMTvkSk2igNXpmoareYbeT", - "/dns/rococo-people-collator-node-3.parity-testnet.parity.io/tcp/30333/p2p/12D3KooWQ7Q9jLcJTPXy7KEp5hSZ8YMY9pHx9CnQVz3T8TKQ81UG", - "/dns/rococo-people-collator-node-3.parity-testnet.parity.io/tcp/443/wss/p2p/12D3KooWQ7Q9jLcJTPXy7KEp5hSZ8YMY9pHx9CnQVz3T8TKQ81UG" - ], - "telemetryEndpoints": null, - "protocolId": null, - "properties": null, - "codeSubstitutes": {}, - "genesis": { - "runtimeGenesis": { - "code": "0x52bc537646db8e0528b52ffd00582ca3056ecd87bb185210686725e90ab5b1b8050e8a0512e3c69654e1e016389825968b03f4b24ddeec6ef2fe62cf5dffbdeaf57714c64116355790d9f5f22dc8b63fe5ae4d967aeab11924ba8e6ddbcc92d608218d10b2f7de72cbc61bec1754173e7af4789394edf1f3f32629fbf30bf46be3c68d1bbf41bf3c3870bc498dc5f1cbe337c7cece9bd4d89d5f1a78f0789394e5f1dbf37b1b36dea4c6daf8d5b15abd498d5dfdf2080a0a0202025aadde246557bf3cbf38dff7fde6f8cda9f54d6a6cfdd5f1ab53a3c69bd4d81a3f3f6f52637f76ecd8e1e3e3d3d3d3a343c79ba4ac8e1c3972f0f0f0d8b0f126296be337e717c6c6c6e657e73746a552fdfe57e6e6e6e6f7c6ef0c0ece9bd4589c5f1cbf5f4e4eceefce6fd5d179931aabf3bbdad9d9c18103c78d1b6f92b237fe3749d9ff7ebf1c0c0ccc6ffdb5898979931a1bf35be3572523f3263556e6d7468d1a6f92b2357e717e27c7bd498de57e6f6666dea4c6cefcd6a8b57edf3733f326293bf36bf3bbbdbcbcfcaa7e6b5c5cdea4c6bafcdefcd250fa263596fe6f5263afa3a39393938383837373f326297ba352a96c6c6c38ee4d5296fbadf9a5e179de2fcd6f0a8542fdcedf2ecbdea4c666bf30bfd8b6bd498ddd7e637e5f6a6a6a7a647e5d6868dea4c6d2f49891919189898981817993948599f34d5276febeac341a3468642e401e974aa5bc5f144cd775345cbd4b989c2cfd92269da56f92b2f477b371624dd3647683616f5263b1f78a7fa950aff84b98443bbfa409cace37a9b1b34a299f446365ada1577c24002b5fd4479a25eb3dd22b8e5535a41fdf8fd5289e9b2cfc7d51e40e48bfa89784c00078b1b18dcb4db6cf1042588ba40dd90d1c0e5e0e303ad0ec70c32c24242634369e4966e39192327b14cf60b2f14934365608fc8797d92b145b4e9c38294247cbe69a2f42005954ae792745f096262617141dae79283f5cf34508313131b9a24cd77cff8717cf0ff0b8a9034eac908de76ec890958f9f9114b23f3c21db87df20173fa37821cb1d11211beb9100ec915efdf0a0e526282bb030f368ceb1c5ae0b64fbf33bd23ee0b929b604038a132e8ebcf69a15ffd8723245bc7cfc2ab69c4c71a58d97351ea65bed8a4d4fa2b0f15cb3a28d878f671bd1021b5bb6713d22f82b2f7b75a195e76f3b3c6e721285e5732744d66c839c3c94bf10ca437923c8f0f19bfcda3659261446db65b14cb8b65b73f293b6e3504c840499ec91002c13ca311112d46299d0b0f0fdf821457b39c9c4dd108fc942ae593c043259f85ec2c6366bd6b521a2e2f5e16ffc16bf20af1f8bf48d62cd7ac55f82d0868d973c6e2a228ae5260e44b13765fbdc04cb4d1ca862b714dbe06671af6e66fb37b37cee16374f773d786e629a62fb45cdcda2efcb6665ef67cd62dbdf3222c8b0f4d9b7ec83167619dd2207ed063bface3eb61bfd92e01110d92bf9219ea587dd0d6ce9b903c2f50ace7a97ecccb217c5ecbbd25ef9a468b16de32ed6fbb2f1d9776fb3d3ef72af84b0d92ff7ea0661b35f7aeed5b580cd5e14e387d5a3978da71fdbecbb37567e831cf6b1a5d2c6f91d451b2f3fee153c77406295bd822f6acf728d250cc624363ef2b889082d36d680c74d445c61d95ecff6699a7557b6df5fc5567cffa65bd0d5f79ac54d444861fb30cd6adbe7cec81153601fb6451d3f27535ccef6a1dc3505b45cb3f87db6d1d508c8720d25b8041bb260e395c787676d631bf7365e368b7be31f8f9b98b258befc263fae57f1fc79bd8a879d1068b35ec5037917c6c6c3dfccc6d334ab1fbff5072d4cb364aff8f137cd9a8fe70ec87c513784cf2cac2a227df83eac49d0cecabde217b5941f5bee8ac077bd7df8a22eea1821d462e36601e9f365b3547d68fbfcac59f0fc8d37c8f5d79797ef8f888a172f3fcffc83ed55b2f3b003322b47170998c145afd8c2f7c7567edcabfed65c7ff2cc3fd85e252bdf1d105939ba48c00c2e7ac516dec6c81159d8876d7f6cb98b35eb55bfa8b903227bd52feaa25e8a104661631e1e3c7f631fafcf1dbfa83966631bf7b62f9b15cfe766c9f3e3c7f5aabff18f07eff5aacff5aacf9d1068b35ef58b1ac8bb30b62f7f33dba769d67c7f9b1fb430cd92bde2f76f9a15dfe70e487c51cf8fedc63f1e3c5bb6dc1980adac2a229995cfacac2a22f3f2b35e68e3654d8236bea837fef1e0d9b2e54ec8928d957bc52f6ab6d1d5e8966b2c4908b3d8f8c8e3dfccc27bdd922ef8ac59dcc4748585e79a052d3c4db3d8c2b30d588d6eb9c61284ac8da10bd7abf70a7eb3dcc4f4c4def40a9e6b36862e5cafde2bf869b98989c9def40a9e6bb68dd945026668d12bb646cc3f57c9f2b9ca5ef1b903c2bde21735ef6cd783e726a62996cfddc63478f07cd686c8d05866d08213d194213386c81822c3901986ce182ac3101586ba303485212e0c89311486a12d0c7d6148cb501586b4300486212f0c6561e88b212bc0100c156128094351183ac2d01643481832c290164344185ac21018434f18c232a48421270c3501be608809435c0cc960c804434e0ce9602806434c0cb560080743540c413134c5500e866630e482a12786a2182a62c8c910114267186212728210118462204485d014423010b2d26242c809a115087540080a21284220103a42c80342518438d0a2a2e585560d5a51683921f4a4658316085a346855d19a416b0cad1bb49068c980150596178450c03a8335062b0beb0b2d2f5a531092a21582d614961958536085810506969656175a476099c1a202eb0c2c3108a5a08504a1120825d1aac2aa42eb8b96115864689980558696145a1f6849d172018b0ca12aad30b44ad0d2d2fa02ab8cd6085a5bb492207402d6187c34f9c8810f1ef8e8818f2b7ce8c0c70c7cdcc087153e94f0b1848f15f8b0e283053e9af0d1021f4ef878c207133e4ae0e3881e65f880d2c30c20317a74d1030a3d9ed083093d9ad0838b1e51e831841e45e8a1450f22f4a8a2070d7af4a0470e7a1ca1c7173d90d0c3093dbce8b1831e3a00ca428f19f4c0122484a0200479117485202b0481115485202a044d21284b1017414b085242501282b6084242d011828c10a445501182b4109485a03082b0108425c809414d086242101082b208fa41900f82b0086a0aea41100f8276107445900e8272103483a02a826810d44590134150043d11d482a028829a085a22e88820140475208804412108fa40d009824a102425e8499011415382441094441014203280b2004d01480a403c00fa02a809080ba02b80bc002a025014807a000404a0190059017403202a806400a5008a01540150157006f004405680440034829f317ec2f013c60f167ebad801841d3ed888d075e01d70a9c2a3dc0339cad891048e315460fc494e085455505d418585cd0838bae01206f7051c577081828b15729891e30c38b6b0a3891d29507df1237088b11d01071897a20a63070a3ea58bb2230a1c55b8112a29ecb05283c50e17744f7078610712395bc801424e1672b0e48421070c394cc889428e16395fe45cc99942ce15729c900346ce12728e90d345ce1072c490a3859c20e4242107093961e43c21678c9c2fe468c91123a70b395ec8e1420e17395ee41421870a395be448214708395972b090d3849c2ae42801e70b385ec0d182d3851c23e4402187083963c8b1424f0a6e96e841c14f12764cf11100d9e086053e5ef874b1a3074041f0aee88ee819c2a98c9d21ec10e16486cd123d576e56f0f2839e227a38f00f7060d0a1021d4fe85042471439c8d031858e14e878a283033a48a0c38a0e283a50a0238a0e2674b04007123a9ce880428707b8327438a163043a96d021454707b82d3a9aa8f1818d26e8a042e3053a92d0b1829e29a4075c90b0b3831e15b86891430436555c8ca05306972c7aace88c21c7149f109cb87009420e2b728440ce40ca20c7077278208711114a8f2d7298e085086f065e0d769480e30b3b2fd86162c70338ca78e1000e33764cb0f3011a67e03863e70436a8d869c10e0b7638b053821d2a3b2ad861c2f1c5ce13379cec38b11365c7051f15768ed8a9b243821d237692d819818d19ecac6087889d267650b013c58e959d22709c61c7133b29d891b2a30534a4e030430e33ec30c196854c167074b1a3c40e1438b6fc60811f28ccd400c7137a84d0430a1b12d2043eb29049f88c402a2197f06480638519154018d8d0828d2cd808831b838e29369c608309300636b8f0b0f06cf0265c892fe12ab8128e825b390bfe832f712d3c0bdfc2b1f030bc0b1fc3c7b8967fe15e3818ce8593e162780e4e831d50e0c0c2a91c07afc1a5b80b1e8357a103031d277468a023039d2874a4d0794227063a4be8cc40878a5bd14385cb10bc24e8e080f5454e16353fb851e2c64a4ed3cbf00521c7043920c8e9410e1972b0d0b9414e0972aae44cf97942470a3a597290d019828e0f74b2d011420e159d269d1de4ace0623c0c9d1ee8f02047ca8f153f2af8a9f253c58f951f20bc14e112851d2cd8310358460e949c272da53dd047b4111da53bd050fa493be9229a034d4433c12df00c68063c0334032c032403926187073a64bc00a167891c4dd8b0c005083d4ce420c14b163a62f061040e183854c0c982f3458f073a1ee438e3854935c68e2a3745a8c4a0e2c20d1415153833a8b2dc38518de127053f4dfc1ce147891f1cfcd8e0c7899f257e78f033e5078a9f1bfc60f183849f13fc20f163829a32d490f103839f2b7088014718849aa04a42cf113667d8986153041b22bcf0c0e54a24434ea1660a3559d400a1e68b9a20d408a1260c3547a031a5660b95166880a087073e54e0c305de0f7a76d0b382cea207083d58f4f4a0e7073d3eb011420e31e40043cf0b7a5ad013841e4ae8c9c226098f06412f0872414f15de107ceca0070f6c52b05304a0326ab25013460d167ae000c70f6aacd454a119c2a1d450a941a2a6043457768cf093c44f0c7e5800a5a8b6c0a1a5a7891c20e871e20405af082e42f082e06d9163093367cc9431630629061d44cc7c3193c48c0d74c060c6ca4c14669a3083656689190ecc7431e3829928332d98e9c08b0c74c460868a1926cc8c60468a190fccc860860b9915cc40996162a688192f66a6cc40616605334e9809c1cc13669a983982c6961916cc2801b900a9986102da820d0a7ea200bde8a1c16645a60b3d527c6021ad00d24237c97021b384f6018d16740f3c1d785abc70d103458f15d00b3d85971ee098c20b0e5eacc011c645d039e1c638086834e1c204172ebc2c3c227839f0acf090e0f5c0db8167044f089e0fbc187838f09abc2b406770f18067c6690c2f58b4b2681ebc349dc6f8940024869d1ce494b183039b157c4be861818d0a8844f0e28393184e64d8b1c293e2e36247071f1376aef892e0c1a0e583200e00092175044a4b4d534d0f6688c8410617276c40c011851d24d821821d1fa0c92245454a062923806ab003043b46b0834a0a8b9407524d3b42b0634a3c2386011505ea043d20d8510254095048006de1c8e842d0f5803ba3c3a2fb006746d7d481802bc3cf163f2de888d894b07dc18961d362870a362c3328d8b6d89eb071d141d996b041e1878a9f287ea8fcace007053f43f831c20f0d7e6af033829fa69f22fcece027073f3df899e2e7073f52fcbce0a7043f21f8d1e247073f59fcc8e087043f3ef811c2cf959f19fc10e1c7053f4cfc04e147044361cc1174466c5576969055744ca72d3daef4a882a4c1e7049723d42821a5e04284d31086bc705942260c39c270fa22c70c0f083860e002831f29d818438e28f4e02087152494d6194226c8394387088f07324bcf1332587240a1270a9927048da0c71264c6107a818c15bc1bd488a155052212108da0afc031858f1408396161415ac961839a2e4e4868b50087143857f89ef035c1650a1931d4584108891e2524179d05c505941839bab041061929b48ab0f3848d071e153a1c7061a265e5278b4c14323eb041860e536b891c57d8c9420f0c848870f9418e1bf4b8a0d504a4029916b06cd08a414b0b9e26728ca1471276ba680941f6a0a582d6183e92d876d063039722f4e880c5454f530e27fa07a82d9cced022414f0de4172d30b4b67847e8b9818e19e2187a7200b444cf153a4f7a64702a438e2fb828d133839e18b486f061e991c2ab42e88996155a4c2d2572d4e0b4850c163c4c0851092262eb410b8b96085a59bc29748ab011841615767a7032c3890c59831c57b46090b3a5658610938e131d283680b0038529651221c9905d905a90669063906048316416641924196418b20be985dc422e61288b148250149209402c9057f4b842de006805d205700a198584423e2199902a902c904ee413202464152945ae407e40a24076209a11b748226219f10bd10c110c710c1f3f884e6211f149646a2c3418ed4543a1b7e827f8a8a299d0576825f4123a093d82d05c74175d85c602848216426bf1e384364203a183f0830528054027e81db40d1a059dc4cf171d4543d1557ebed029f87902ec427fa099e82aba066d820601cc02a500a900bfe81bb415d8c50f1880928020804440265805a4014cc2486908219400b1030316a0001d2c020e9043110324000702dc202408101b0650d4a38387e52347064e5bd8a065188303ad2392253c4cc048103c20b18011231b8c3e284162c4c8c9c7873b02c519c14b9024f190948005d8e0a2f0122417e041891115d7014e42b20409521046929054a08683c2489278485ab2e487254894201162c33de9c10810145032244912200690d4039224498018800ece092b01e20723494848982801a207233f046181d0a1072070b8c115c14b9020a180910c202161f24312243e7c1c07f8023d0891c311b1c331f19224244b96f0602408234120e9a1071e2ed0c30e3edb16a0ed8c244978e82149121e06608605922aa0044992321809120a180122c94892052af00392263cdb197849921f784842e28311244828b0b3998181a080921f8c64000909068e32c0430edfcac0487a50028412233c18f921088ba4072540182049090680e8a1078bb391e103103d20f1416723032fc9001223234b96640009112540fcb0640992047cdb18b8c90f4158242446484030a0c8b789819124f1e0c30f497860620409069060e0003af880a40215e041071ddb18bcc4a8072416e8210cbc2449091224241650f2c3373028f98102aaed0bdcc30f4b94fc80942404122319481244103c184142e243921f30e032ea018824ae9b4d0b2fb1d9bcc03c18b9d9bac01730c243120f3ef09084a4002e1b1734f043121e7e48fa41c90f319b186cd40310492660044912067a402204121adb1618098801709b165809104160c0880f497ec0c0048c28e1a10725482e50012409f001890f1848d283921f94288007240cd89d2d0b0c8491208c6480872448908cfc10844d42b28402142892a40409120f39648087244810b0dac2e025487e48fa0109080b24618087970d0bac04881f927840c2800f46928048b2c4c80f41581e9030606318224932011e929460800246927a4082f4830f4a7e3062a4866793823549c10357585edab88989c9c2a558434f629cc48041404caa20acb0d6aa8290b9b5eea64d5b4a6e29dba593b167675276a89d8e72ca0c85a2ff3c403f9b9432842db93529a5a665935219838234d9b127c7964da9dc3649e54df7499e6496c939a594b2bb358d29d33965d6401c6364c9b29bb6641959d33296da76a2dddc91726f9499b95b931ac7b17b636696ac4dcea6c69472c61b8d93bbe9a4bd4d99c92c632a678cd99c744e7a3a71d6935942c9cc90b349356ddb283d9d4e1d7936a51acd4e339565da36bb9bcbb0d9d8895289654d65f7ec38a98b8b8b8b0b9d34eb295b4a9a494a33e696f2c44c256d664a399b9c653d73a0594fda127684924ada1242096394524a6e631b979630cb4e72cb584e29515466dd536edd37fa5404074b96dc94a2ba2973c6326b2a25d4229de1de289c4d29d338279d94d2395174ce09bb250ad52da56429e79c34768c524ade386ed0639a9da88c8c8c941c4b2a29cb380d409bb9311ab9002d3b76c6cc2f12874b3347d9cc1cb3ac19c5524a8949d9a89658d3a6546673663938e8a034273a69341a224071768e0e65eed8941b638a413a29a5b3299db467376502b0e48d533db36cce994d98d16c4e08e19c33cbb2b96d73dbbae99c94523ab353e7c864c6bc9d4e5b4a9e20eda6f487bf867c9a7c9a537e30fb66966510ce19b9219cf3e7a334cba69cb3e79c5996d1c974d22ca3d9e40c423963e42ccb346d6edbcccc9c59d63d27a51036ed994a754bd953d2a6299b9beed9c13be6a4f426a3a774d2d83edd2866da34d39a9bb6c7cc947da46c3ae9cca4644a4f593629959cf5a9256bdc4db9299dd9644a296d9e736651cb329ea798c58dd2a022334bd9915bd29654d59499995952d92dbba594270a21b30e3353a6d1984c64e666181c2fcc1c0dca1967cddcada343296bad6954839aa60d694dca8c46da1c8ade40594ad94c7b366d6e8da5cc4e27ca1973469b4f9becf634ad219599a42db3295b4228a584525229bbe964ca4c99257367939b724b6e0829ed9e1336c3d91acbd3c93b794d1bc6eece4e549b59f7e9d45e9fba299474eb8dd2d992295346a17228955432ca06456fa0727a5093de901ca56c8e514648b31885501c1c1c1c49a16c3e75d3ceb454cf9652eba694bb939219d57dd3ac43453b08cd89ce9eb4a99ccd9465ecd8cc2dbbbb393677336fdd929bca992cc5bc35cd2010aa491b4c59a3364c4ae3eca653c2a6744aba9d32da549352cad893c6e6ee9e734e8e93e79ccc7cca324a339971cbc62473e42879ce6c32b39635952ca56496cd9329f7644a333a69774fba6d5936679f4e94424d3b75a4b46936bb63cfa6cc03c0d8a529edc894d2a64d8329f3646e4ab3c94d9927cd283333cbc992996936a9945266dd3d996777c3d9cd92526eba314f661a69336773d3b2794a651886519a358d96749eb22ccb4e5463963d4f0d1966d9a97374778ab9bbe9cc324a279db1e994145209a59471d21927a5dddd9b94d2259927cb28266506a5678b04c003a127a50c8004400d2bb98211464fc24cca2da352528e9172b3943fa084526e44196733a353424a2516e99c93ce39e769d238e7a4529ee0108a36a554c2eea694364bc9b287c830548648c39d0124202e80e402345e8039080912058c200191c4430f402449c2c30dcc5f8440e283921f8c28f981070bf440010a00517bb0708400a249520ecb078fc7f008aa80921f2cb084070bfc023f2429c1005215a2401206709058c04892921f908230d2c3921f2e70c3a3c64e120f48489420a900d28d8e792059b2040952101700a2072348489800d1031224233c2cf1a1072446828c583e7804d10392252d1b14f8010909132343413e7cf0f0018911209282c800520f35847c408284c40724208cb07cf030c20389110f49266004c90f4849396848f28311506b87b5f2b1aae9a9d9e991830620181f92fc60811e8c2425c1000f1440e2030f9704091324498c08c1c305746c2a004412231550f243052a0044921a241e9296ecc02ca991611e4000816463d4030f1348920408a41c3c784082649301244646928440a224a74612920ad4c42c495af28310486e300e5202c40f493df0b044090f484946927eb8c0058058d5300f217ea00012a420ea0b120f4892f4a082f14109922082e0e186891224910607195102c40f4b90903041a2811f9618a100104020056104490578400222698991242190d0c0440992c8d3b1a0f985f596292d654b5249696929eb8e2cc12525a5a5d7525ce25692479694a09292523ca204979494e29125a8a4b414954e477869494949693bb2045f4a4b7d8497945a496969093bb20497949496e61125b8b4b4a4248fb0d2d25254525a52525a92f1881254e225ed88125c824796a0123cc24a4a7d8495e01125c8475869293bc24a4a4b4bf28812e425ec082fd1234b70691e613ec24b4b4bf2c81284477869a98f2cc1a5a5a5788497e011044c164066861758c2030727ed8ba757342bfbbc3389dea257f37276422aece4ec7c6f01a998b00a3b61ecbcf7b39d87527c9eeb00fc53763a7cff63a7c3ffaa7ffd3eab116d52f54e199186e626eb9674451bcb4d585061377e0019272b56da9c9fc11f581836dee6bb6d556722208bbacd8b5a75207b21105590ed23e1d103d9dbd63bec88a87edb72d032fb40af5eae0b3264997dbcc38fab77a9832c59fa2d59f8a98efaaecdfb0538ea318c66dddcdcdcc42ec8cade9c3b1d6ebe45eee6e645dd59342b95cac9f9854dd89cd497536bcebb0392834275f51772a8af3b770e286af891004bf78d1f8073192ec6bb10ef4b167ede77e1e1b9a3a218189d52a095df78dbeaf7d58dabddb70e4877d4c736f5b1dd6638d8c1d36cb033c084f586f95356c6c4390e0e0ecec4d1b90ece71707470706edefda6eb4e27d884cd77a1553de6bc7b4e7766a20b646f7e55efd32e48bc0ada9b773536385d1403a7ebbaeec3e9aeaa88cc1ce733c7b98d63a37a3975279c39a5c3c139e1e07ca70de738554584e6f4ede64392f6e6aa1b185a05eadc15402bc25373d486fa4ebff9320bad6c5c4c779c0ec3022d0e5b0ec889c8cdc7163e537d362f8a361fdb9a0fe3a257f2341fa5a257f233df94f2dd97f6ddd7f6dd17cb1c75999a91d12b79548df924e0457b312c563e2303c302f349c06b8b71d12c48abb0f2f07bf924e0414ba96816eace296134cbc545d3aeb97c5a775fd1de1d10ed9d45b3204ca59e7aeadc39a0a8533172173661538f1d90d4e1c7d6e5639baa9d45afe4a1952dcbbec3acc2aff2034870c5fa586e2241152a4db665b9894a1424a25896e5262a5b90208a1876045e8ce00a3b0229ec8de5a61184c06ebc9d38eebc7a5fd63bfcae67e1bf2fca5db572f0abafef4a2717b70fcffb76e2be8f5df093871eccbe6d5c96bda8b7170efb2eb4d8b933c03cfd54f06c97ac8a88777a215e14c3cac3c37a5f167ec9c20e087c51fcb0ae08cfe9a89f8eaa534aafe4e9f21b370bda9bd4f684754156f6c47d6b0e7643e0bdc36e083de40e69a5f5c27ab3323a20dd952ceaf4bb99a587dfcd908670f73e84c6b973b3bc7a91867877f990d4bd73f5d2d3a8dc2bee5cbdd2bad47b04b957f429d4b7d5a300d8d3e1473fee08dad3e963bb9d4e1d91953d551511edd9b51ac3e8957cf65312cdca2e6f568695cf3e68a557f29b8d03bc23e8000738c083d608c36c24e0dd28465f9187d88701cf2679965628a2dcf5ea2aac1841092697920c030b14f8c03544065e4b2e1bef00900b0a906b0af829a559518c66419b84657ba316db57ac7c6b51238651a3af74006a5cd884958751d4cea2c2263a00f5f236444878b08a657b332be9a18872d777b65245ebf7b630001f0ddc013f3f1bee819f5d013c1b2f3b1deabfc74e877fefee00ecaa51bdc8030fbb03b0abd62cf2c0737700767d95230ffc492ee1f48f124b167b927cac77c87d2131c91e9f244fdf5d91d515e248c766e7aec83c3c8263b9090b22d8bb8445223b76bea86507245626593582674b2bf70afbe6634764c7c62a5fd4f3bb7d1b22243c1e72f91de958f8253b4fbffbb2749ebe3b223bf6463abffbb297ffc58ec8ca4668a53f26b3c889c9c2633066d9a2152bb5c74a44c58356ac84407cc03c7ddb2077fa26879a5c53fa2cfbe994c1aec8ca9e5e148b3afbe04f1f77fa61f4dbe99b959ebe71cf6617a4fbe9f1cbce7ddb8b62b6f1b78f6df7a1be0b93da3604b26bda61d5ce1d90d3e1979db0a218d96ebc3107bfee9af6a87d8b1fe675455636d63bbfb9cc6fdc71f5be2c77f2be2877b99c3b002ef5a5943ab78fd35fdc3ee2bdc7cbaec8cac21f7edbb9afef7dec4a7d5370dfe0d7d52b2d3cf765a74feb82d0c3c7eff4edcb5e144fd9e58ba2c6b63f8c7e37a961578467485f5ab16ce3a115cb3594e212d7744a14633454c2eb733612f0e0f92f969b4440a54f969ba6886199a6e5a629582c7353d4e23611f0da72d3942c2cdfdb628c58ccde5fd6d817e5ae2ce330acbeb02bcd6c610a2eac31d96cb9037294412ec61823045676423bcfcd8222fb4d6a3b83acec3c773a78da8b9ad6bb64697f1a7d51cf6361c5ae6c8c1c3c94dfa26cece3f601bfa5f873566885b7c97127eb7d59f9feb22fca5d9ac66551ee9a9ff5ca0064f5955d093bb78f9665d8f96d72fdf1b38f5ddc1589d8370593e62626b6b0496dfbf43b8a76d6a3b865cb962d76a31cb402bb223c365668a557fc890dc92c7c5c9aad9d61e3231e3785800b3b2d3781600ccb2e5b304bae0da107b620bc158008f72ab575e40678dc1160c94a5933f80d7e41a0cde007ed128435b80970ce4f4564ca4f38e584731a413100235b34c56e66f873952ce3b0648db81e2959feedb307bbd8228537fb3cfd8cb2d3c74f45241a658f67db1cfde2e1b7513ae79c13625083d8e1b95997ca7908ebd5aa11848710d69bbd31f861337e373eab46f37d8c52c999a450ea60839bfcee541181a7a7d5681e9eed962a00d2118ea54f9a3c3c182bed1639e61fd9af92ed73cd3ac22c93b6f49a1176a9d50b8f1ddaae37ab46ddef86b145cddd106e626262b25def3c5699ccc8c50fbe3f7aee8448fa41586ffcac46b2f612852dc507b6b0dcf40127f6a6acbc0ecb4d1fa022cfcd9a749b5f9c9fdcab2b6d5cb25d331b4ab7496307249e7ed0da10a9801e1e9e7ef39342a0a559b35441a0a5a735b36c430e6123e21935841f910a20accc419887c75969b754767a3961bc9c1488aa6b907e7ca48767fe813dab57c9d2cb66dd79a3489f35ab2dad17ab46f4472f7ba3a5a79c2deaa25e8a106a61e306785bea0359240e4bb066bd9297df52438e94acbc3c3c4338818d7b63cb72e39aa52212b76cb1f146496d2bc0e464e3211116c7ca0802302009366e56bc941f11152fbe2fbf79808a8d32ca0f5aeee28b3a5e7e6c97206cb2c5f3f9fcc54bd12246cec6cfc703d560e3678572d714998dafa159f2f13752aeb05166cd32ea7bcd13fbd3857b252f67e1af67e35936ebf65d52d69b5978eed6849f1f370f844d1ea0c2f2b36eb18b0fbb3e7741fab266dddd4ff04013f6a666e3f7b716e4f8bb806714cff642a6b6dcf482262cb4f01b77f2fc3191962f3f2229cb8fdf5db2f1cc44aa21272b7fd909561e09c8ca7a94b2fccb5bec8def17c58f9be32f89070f2dec8e7ee4d9586120d31427569eb6380b2626179f6993cda2e7176119f56dab77c91277d4c7ecc3d5bb1db590addeb6db4fe7beab643968514b94ec76796622ed28f641d5bb3dbebbf631fb74f5728f6c4fdf11b665cb9633ee521068519509dc3eb672485bfad8b1dd0ebf0b2d7cec82d0a3be7daa21f2f46c2f3d77661fc87d47708bcd8efa544424c5aed50b2fb4a76ff4bbd0d277975d11f917f51154ac3cfdc65b73dc09e9bed52bed169b4966514755d80d91967edbb843d5bb6451e73e2699e5be7d17daedcc445cbddc931059669feddb8be2f6c56f90dbbe78ee50f5285ad801a1efbe4b89c853ce828903764b71b3b6d3798be52ab3cfdd3ecfdd0d6cb7cadca3c5d3c756fbe099d8671efb2eed2f69708661e3079061658cef6ffc00c8646994302c7dfc96eaf3637cc77a5bbe1a753d825b6cfce467d497875f9ca21ffbf0fcd90de9cb7307a4ebd11293551191ef77bd4b569e6d516f1c5baf2974c09ebd0f9b622bab2fc8e4c22ab3e503c0630b2d5402fbf039f274bdf08ae5c3a6c8c3bf90c9f2795e7e46126ec144b15e79c9ef8e08641a224feb8d97f3fd598de22193edc758e116ecc34abd243b6ad9f8011bc3253c6eea001976890932d9ed1c5b338fcf624be6f15e6cc53c9e26b6605e683c1e28b65c1e2f145bdee337ee849cea45fdf4d4e567e331df139b3f8979ce5dbe273c7fd273977bdf13d59fdcdcfbccf7e4a6be6efce64f668ee332df13f92732ff61be273df5a5f39e3f81b9cf697c4f6c6e6cfebab94d7de1e8f8ab7ee74f68dc088823a7be72725c85e32fd581fef23de9e9f9ebab468debd4978efaea719ba1f7f4fca5e33df555a31a01ff1a7fe5bce74f647dc91d97f5d583a3be70fc86fc8dbf747ea3be70707ee3af9ef338cfebeb467dfd7ce735fed78dbfbe6c5aa7e12f9bd3505f3b56f5b502faaabe76fca3e1afef34d417108e1a350ef4170ed6aaf278d04e35020807e73f3b3b7ffd3bf58543c4923ba4cc216d74e0e8b9a1caa951e3f5c64d0e1b9c1e1d9c9b1c1d9fbc913a72e0e851a95ec3a6e2b881f3f5dcc8c1a183a39353e34695e3ab52870dce4dce75b4846e7343256b541c39745a2d1c37e77121d973a1afd56ab5886ef47c3c3e54872e24f4578e0b09e950e5a8e771221591cdd0d05f3a1f6a0de1e8dc08f5084922a2bf724e44749b56ebe3f1211c1d1fbad16ab584feca116af57c2aa21cf244fff197ce7f0cb186fefa87200d43378484706ccee3ada01aafe1af1aaf010a11fda53a517d09dd3ce8affa1f34d0f0f357ce7f787c08e83ff709c2f11f1ffaabe74390d5aa2f1f3eceaaaf16eb2f9db3eacb07eb34d4970f1a3e741e3ef5d5e3ab950e9efbfc95731e17faf9d9d9f1f1f9cfcf5f39fef3f397ea42afe12ff91a20d08efff8ebe63f608f07fd780d7fd507fd75e3433eeaeba7be7ebe63c74f7df1f88e1d7fe97cc78ebf7afe731a7c7c1e545f3c3c07023a0df709bacf5f37ee535f3cd508f8d7cff3a1bf6c3e045b42f5c562bd555f43adbfbeb7ea8bd53a8ffa623d28e8427fd5388fbf70bc86fa22227a8ffada515f3bbefaa92f1f9fefa8af9faf56dff157ad3beca82f9f1df7f9abc7b3ffa0a11a0104545f3ef5e573a0d77a1e7fbddec03cd979d4d70e0de7f1d7ce756a11f364fffec2f9575f443a1faaafef3e7e9efad2d1f9575f3cbf8fff2ff9d797cef79ffafaabceeb5f3fcf518fc86a01e6c92e545f2d567df1a82f1ef721dfa3be68e0219fccfa9a4207791b9fe7f1178ffad2513d1a97b94da5619eec414036ffa9af1d3e363eb7f9cba7be7aea5d1e731c75f5d78d2a04f364d7515f356a103978eaebc657355e7ea3868dfa9a02bb7c8dbf6ad4574ee597cf5c5533e6c95eebebf37e1d20e6c9fef20ef39b2ac43cd95fbea93e76611f64b2361fbbb2ef9e0e1f3b22fd0b99ece9dd055962b2a77317e474ed45adfa6a6ef3d13cfbba631ff7a258d4455d83849d9ee67b2db9a6c09efaae76545565874c5632d9adfb88a878dcbb6fdf20c77d90c9725700de62b96ac4bdbbef72dafb5a3d5211e96bd7ea5db27db6aaec4b4cf6c564e1b78f08090f3259b6da4f1fdb998f234fbccc97459ef898cf8b3cf1301f4de4897ff91e79e2697cabc813eff201459e78ef138a3cf16c43ab4690c9720d259f25ac819ab6c7d693d49f1801fff38162eb09f62732a7e70bc5d693fe939aa3ce5fc5d693f82746c0d39ccfb1f5a4a6be683cdafc89ceb7f3b3d87a02f464e635e7d3c4d61399fa92792af51a97a7becbfc25535f2e365ef397ccb9a7fe24d65796ddab2fef58fc2bd657568d807f65cfb9cbbbf3bdd87a72aaafd3bbbfd5d4573d56e33b6fec357ff56bea6bce7bf575baf757cdb73f91b7a92f1898d3a8af78adbeb47fdb5fdfb7fa8af1afedaabf78deb9fa9af3a7fa8af585f3d3bd78ef2fee5e7dcd97bfe6797ee32fef37ea0b06e631f515730c7b4e7dc1e43c068bf98dbfb0dfa8af1c2de6fca5d9a846ac5eeaebe5313157bdc4c4d4d7389d9e83733a6d27ed8ba99171891ed6da4926665bcc4c7d93ebacc625d5d98779d13b6131dbe4646a64b22fe5324f9a16370f8b71e13c198dab71c13aeb53ea9b3171c6d4c46c2787b775eadbaec3e5c66967e7a5668b1a0fcf5f7d1e1e4d46a67ee5655f713972fc757a8e1c1f86a55ecfc39dce3357abbfbeaf7656592ac67b7d8e1a97e7b88ebf64ae8387e7afed3c3778aee32f6deeec6cdfeb5733e6abded9d9c9f117f61cf5b5b3e312afe3c60d9cbfb8e368afe7c9394e0d191de7f9abe63cab158edfa8afd56bdc38cf5fa7d7f8cbab36fef2d235afdfc1c1798d9c9cab8e53e3387fb91c27fbce7bfe4abd0702dd5cc75fa9eb80365e43c77bfe92798dbfb2f3ac6e6eea6f787ef3d7f71bf8d7f69bdf50a95e23a7be70ea0be735aecab9ea2fee2af8d7fc8daffef2be823876fec2be535f38765eeb0bc77372befa2bbefea5bda7be72e4b88dfa52d597ea2f2fbfa92f1b9babeaebe62f2f57fd1573557dd9a86ef317578b9807dec675d4e0681ca7be6ceacbe638e7b8d7bf4eaff545a3c6eb5f5b0d8279e0695cc75fa72a04f3c0eba8af1cd508c8b3fd467d9d4e87a92f986f37befda5d51db6fa3a6dbfa9afd339eddc5f5fcd8179e06ffe8aa937300ffcaabe76628ea3be6a7dd5dff86ea3be6afcb5be580b4ecaa0c51615846104515c5f123a40050966f0020a9e24c1f5e47b514dcdbefa7abd4c65e681d7a91c79f8393835bfa92f15cd6dea6b490734d8c216589e70c11174e0aa594a0107a020021f3ca10c5858e0aaf9cba5d2d4d4174d5da5aac73cf033358b3c7c99bf62b500f3c0cbd4574c3502ba9eb81ca6be527fa94600b99ec4d3a82f17d453f5b5e404146640e104196370e10baec85d68a10113224801193e2883eb497cea2faf0a310f7caabe505508ab40cc03df559aae4798079eabafad1ab1723da13fd5570d37b8a20b311863095a5ee0d2aa11773dd1c1620c35e80114a098610bae277decafacae98071eab2f5a81220fff35eb99075e562ff2f0f94a3cd0a70bdbb671d7d5e8bbf1f05b51b32ef70b23cfcfa15997abf74503207c010c3232323197f99d790d42426f526385dee35700e7ceb7a1592a18ee483042ced7a15957a6de0d90e10a4220434c4c8ccd637e651e8000bc49ca06a0478f37a9b13d4ec35de7dfd02c1818189837c9b1300772fe0ecdba31f56a60092c9eb0051b1b1b9b9b9b9bdf1fbf3f34d0f026359686dbf37168d685a937a75e9c7a75ea8519c0f91068d62dbacd394a69069e9c618b1984b842124ea2c8c8c8c45c0647a75e219e50420b95989898181d987a31202011042fd8fcc61c00bf32bfb1b1b1f91dfaf5090a7a931a1bf44bf4bb83078f37a9b13c7e676c5e2fd6040f9e74816281032984617a11062a48c0d1a9578e810a5c10a1f51bf31fbf3257b55a6f92b2ad5fa1df1e20a037a9b140bf33f18a9613d0203ae18332d4a073a04417b4805f880296283e7e633ef42b73d6ef0c34020938500258840b9ab42c59b1620b4f86a8020c294dfcfcc69c865f99f7f89d9152842d4ea0031930c1c46b04302881160d3465418b22f8fcc63ce857e63b7e6790d8920425724870e5094f70840081074600031546832890d0818edf98af7e65def33b6343a368c115b8b8c9a9779e200b0a48908353afcc820cba280347556f6b11c30756f0fcc61cc7afcc73fccea86ceaed1d7881c4139b9b7aa1124d28010b3739f5b25a108424e4e0d43bc4142b584208357e636ee377064755efeb064c260883caa6de0d98c10a5b8430f3a325333637f56e80490a12aec8fc6889cc670e739353af06b01082142eccccccc87ce617e6df6fcc737e655e7f6768e0d49b012ccab08412646464643c55bdd80dae200228a87eb44495b2a9775ac1074bf0c2e6474b6cae3a8c7653af5c82128c70814af5263656f5bb24e6474b626e73d52fcc657e637ef36bf3995fd546a3def6421358bc6063f32636d6e67709cc8f96c03ce63699576f5b99c10fb488898981790cc6a5eae533a0e8200830303030278e1e89d3ea5532a30c2180f2ab1de637759b5fef31bf346ae8b91fcd23d1731cf7263996fb56af52135c580216da8f96685cbd2ff3f447de91e629a5f459bd2f295ea0c218a9544a7baa5e5aafcb9c73ce63f566e00b2d1f8042d3b4ec5abdb3deed54af1050cc508533b22ccb7e699ce6f774fa8b7dfe665e4dbd181265c8c11836bcd43ba390c1197e90fd68498672a9b795088207789075de562fa4f2011b10916559f68b7dfba5f197dfd36b7eb3215eea485e907a87685a0113aa603f5a829dc66f48ddfb9176a4d43dcf7b931cebdd867a3580e50b3b60c2e9474b4ec74ea35eafde20da533f9247d29e4aa55247d59b01119cf1a4090c7b131b8bfd2ea1f1a325347e3a566faa5e1b7e918ee4b51f093992bc764d7b931cabbdab7722210b26be703abd898d3dfd2ef17eb4c43b8d9f7e5347fd7aef7e693cfb3dd5abd57bfa5dd2e4f462e59be45879a42379213f42921772201f526f2442174ebaa04183c6ef92d48f96a4ee9d46bdb216dd50af92119c7003273ccffb5d227fb4443e75af5e21d58620f56e000645900109a954ea778900e453f502a937f48a6f43bd981151304204f64af9263656fe2e71fd688900eebafcd56e7f69dcf5eb5d00bfb2de01541c7ac53fd52ba94421852af62eb13f12c097b8aa0ebde2dbbac36f51854013cc0ae04b9ac45801bc898d1540cda157fcd4b1bb9cbbea38d7f98def1ce83c2e74a2d7f00000000000a8a1861a7efcf84144f426294b34343424242444030d6f92b234fcfafcdee0e1e1f9ddf18b23478e1cbf3fbf3b3a74e8f8edf1bbeae979931adbf3ebe317c8c7c7e797f51bb463c79bd4d81dbf2d168be5c347b09b6ec0667fbd8618c2625abd7d56c2eac5cef1fdbb84c3d96848d73b848d678bd50b6dfc9b153f1501ba087cbf3b2211d24a04d2340bfbfccd867ddc34032e2cfd26fd3cec70a8179a61e919dc83f1e761da42b8857bf8d17233710f1361e13bced63cb0a5de9d0f4373731bcdcace5f358b5e7ec99ebeeed9b764b76d3b7d5365d7de6561e54f555879ed1b3f409e52b1f4db377e80132bdfcda0092bbf7d3b71f493dfb62518354dfbe606b9b9dd721bdbd476231511ecf318869d300d856dd937ed74b6daa906c9ae5de334a379ad5e68b1d3a988fca91acd5ff9255d11798dbb11bd3c562f3d57b5f3b6d12ff5c586c21c045d4e5287c21c440f5d4591fb4ef5e8159ffad8b56d5cea63d7e9637b976cf611d1aa51f70e08110abcee777b94b11bb29dd6db7dabaaedd8e7bb1bd255d5568964a7cf4e7f3a96614659016286655abdf41b779576b6dbe9a7d26a90f9ed5b0db25da3277be956997dea11dca23d6ef59e4e2d85d807ad4d71cc38f8a389b07c14500fa11a9ac556092e9d7a33636321b136730fb79c9cee648af84dfbb8a97b6b8eb37438c8ae48b4f1a78f5dbd4d6e1b09b014029b1501622d0628b259ca62dfe0445da529dd0d45367b774294d82325cbe91060890536eb822c59b147476cf6ad210a7595ac7ccc3d18473b02601977caea85ecda34eef4b14bfbd8d5dd903eadf774956c0caa60e9bdefbc458e6387247b45eb8ddd159147d11a45ac6280c626d1581a0fa3fc5444fa19e880d09e60c8828be884d7e7b430f1832bfa074958698a8115d6eb9674710c982cf3696cf0d006e1773802ef839663227e7728e6149f1908523bb1c5f8edcc1bf153ecd3bf5c51ecd3f2f0dd445858bd5ecdba6365855436865178f2ec6d527ed54ed884ed6787ef7377c3cebe454ec21478dc04032a16f5ec40b86ab4bdfbe9bbfd54bda7a7bea55229d437d4a74a5dda58c463824c367523ee29ae5e897d9e3b210c5d50b56f94fd741c7e4f6720573b0a85ea7058ea4176f82c7b51c38ec8e999118a7de253ec1399ac649fb8c4934c44d8d4afb4575ad4531fd2116b6162b24934acf724ce7ae7225212b51c12f7246abd7347c4884dddb6a87bdf918e4d9dfb8e0460997db654aa32f7a036c9f5774fe73a087b11a4dad46137042a719788b0a9dacdc16f1fff9441e98255af57b4563beb4daf1a053129969b60f0013b02184461f6b9b14138066c218a9a397bc5f81d419b7142d8a468e5c7678cce79695631eb96c6ccd06a1fec18ba60f4f0167e0c5db07a33e7103a6ee3cedf4e1a36bbaeebbaaeebbaaeebde755dd7755d9742a5502954a761613b69dbb66ddbb6f1b50c9bdbb66ddfb66fdbb66ddbb6755cc775dc866dd1324cd3344dd3343a354dd3344dd3344dbba65dd3344dd3346d3b6da7eda451136c4d678761875dc468628bf918c618638c61efec908bef8ea18b7668b3b756b3da2463b0f5b6c97a399e4aee06b0305e4a180cdb430471b2a720da6f666f3f091c833d552527db59bdf3dbecfe9cdddcf0477e9330eb95ecfe06840837d9aeb7c8f6378deb6f9e9b2c374d7103cb58d8ae5262d94dc2d979392bc7971994506ca921544876ecf2e67baf98402b3f26d0522aab2a48a4b1465901b2d363f52e59ec32cb5e14e5964108e53308217c26fb1984306bacb3cefab02f539f4a1e5e5e7ef00628c20e83f4316cc81159997bb220f399917cf64d3e06d1458ed8ec32abcc3db20b322f6bf6a2084f2b772459338ac5c6d0858b4186b6086f76bed2628f5f6cec31ab472f0b8f7dfc18e151b4f010fbd10df6adb563dfc55ac3b07a93da1ec1322cbdd4cec4b349241311f6f68fb03288d8629964b60ff933a2e7ec58ed8fcbbaabec15f6db3fca9c7080088bc404b34b962cf6a2887df27d8f302d763ea92dbdf61d454bab6a086c02c2971fbc1893a6761ec17a8f6515fb62df7ab3f3b117c5ec634be46561356a2c08bfa795d528c66ac4ef43eac5f5e0e7940b7846f33bf6ce375b2450f097f80a8767aeb43a81e2e3a28ff2e2829787529a05636f123b0f642f8c75420f3de05d28c50a56fec5f7228f1892b8010b6e404516262617bd74c18f49be00044c7060891db89c40f171c1477971f19d406917f6280170c1d32f4a005caf2974807fe51079e4e116b4be8a228f3c565f53e8400febeb91479e56208e3c4d4df097b7e0317460085070010a2e988212884ee0b16b09092d76b08215608165066170b18b7f81743813930b5e4ab376ac9c62b986522f754b156cf0039147660a295268e9c7df19dff52acd38c1a0d8af92bdf110a3f552fa17bd74001f618a2b8322fba6848f30a5afa4bf94ca5f69a712003869b2b26e11050f985c5985f50ac1e7ce013f4ef0011419144c381f70828a15a67ef195525bb66c49c2a5fda26e5889c1152619048361a160fa71820f9828009c34654c7c8429270e30182ead3231182e3e144c325fc8a0882c3031b9b8bef84a4a56a0c41388288389c99555a67a83e04e0797297cf1c4194e98985c5c8017db9f4d61f0841327c690f1328b058ef890a459939b9ea062b9e90924ac7cd62c55268f823f5459bd01daec46d939f8637ed3f668567c8f50b3ee928d553c10fc21bf893d3efb6015b823beb10aa700991552815362eb48f3c447ce62239c62239c72a45711d362e32f6781569a8b7f849626fe26fe513e5a492995f50826928f0f22b6b8c70b1121536c9d1e0fa3c01ff3715e4525a5724e39a5a44db1b0cdf31616bbbc0e3b4060056dac7a805ed497f13bc01f791d7a259f430eb175dec2086ff109782ef6a6b258f9fb55bc95c73e686f63d5313bb41886651a38125bdbe52d10446c69971702fea054dbb64de34e4fdc9665a74ccb32c8247b46619b9f5eb3326c88dc64514f4802af2547af0199f52ed979f32b99402b3f3f395541e2e9a7436b44e9e393eca71ac260d8ed04ad6ae36e081686dd6a67bd9a9fecd5fcc6b039a218fecc47f925e1ac8437d23e204bc337f38324f0e06f7a855dfbb2c3ee28b330ecc3cfb0ca55d6ac72bd92bd92616cf36ce3665aa278376b6acab27876a559f4f29916cd9a97df9eb8626f586e7a8209bbc5275830e757014f66d194e1304f6b7605eec89a622b9bd23cf2b2c9f2e0cdd3a66c4aaf24126f56d5906662b2f14a4c4c96d61b6399c82dacbc194d76d624f3aa1bd8ce69936c12f0075bf9cc4ab32290f8f9b5dd229784e4e6076ddf6c8acda6c01f6de5332acde2a6274e60e5b32acd8a567e83b16144dd25ab1a12e9fb53f5a1882200977668b34fd5576587aaac26805ddab9e9892a969b9e30819d33d30213cdcb675bc41696d8822ef92c4b6c9d2e9f85017f6097dfb0efd2abb037d1c23629823d7d2aecd0d52eee5361f500197728d0c5fdd035bf25d042d11dfb6e132358faadb9f949cb1d901cb617f5a908e8e2aa8ad6a3d4160b45941e2eed45a4b69ce182025dda9d645b2d02dbb2654b5bee1070aa45f01632b468b99bc092161b4e00bf03f84c8be51a4a73693626842825eca018269c97537ed032613b82367ecb9828d6f88414ec4daf62951913c5f318b04a8dbbae598470051b9f89e2a5e9111fb1c7788cd2471a69a4316e0d0649e955f2d0b655c92fd0cf0f5a5a65363f68656c2eb623c844b00bed057bd3ab7ec3d91fac927d84d8f8f39289e8f99389e027d4ab79316c8f5ecd73176fc6d4a359738626b6b4cf0b5d699eec59b76e9a27fba4a1f1bcec37b397c6cecf3011b4738b59c058ba708f87990baab030bb0a5361f5a8c90560586e720116ec4dafb2d30fc2b04f36d9c7c6941da1d858ba780f72b2b0237f4b0d8b6cd837ec8376db6007643efbb8331375a7e7ef6687dfba2f483cbfa83ba3ecfc0d5a6e72411620cc3ef4eb735ff6d3076d7741fa5973fc69e73eed27215abd9af675573721a7ee27ee846cefb4afb7770150efeacd6c77eebb99e5de9d10219c708008267b84c4375ac25b4441e508cb99130e30d9a2b8a1be2d72b02b00aa5e21ecf68eeb8596df7d76414ef6a76a743a574fdad7879d10ed98ddaa91f6beda2191be7604b3ef934b1c9438d8f8c893bf34f602d9f979a039e76d74ab5df33456c030e4260d6cd7e37b1b4b17ae5712e69fc57e430ed20554a4c5fe792c9bb718fd652c16fb91665d218b1dbb108dc5b01761bfc1b3d8b35bec3e742bbab0ef90c5628740b3a2c53e5fd4375b7f5814f0098b7d6baebf6e6a41130d39a28ee016cbf79a158f1da659f218869d6d60d588b5c40e38712264c3c6db68d6cd7a7c98889f65cd733dcbbf9ebd9945b2c11178b2572e998d3a364628c0b0313ee31a0045172ca336d802af5b60b98907526c2f61b949075ab02bcb4d3a40016c8117af60b9e9065558b885e5a61a80617b2c37d5408ae56fa9a3a3213a00810a7b859cc1b4017b973c818aa415d89bc4c494e40b7b93a6301dd99b14c514247b93a8b085e51f0dd180bd18104193e51f09396959c119962fe464842cf688b76cc962f943848ad062b9086fb17c0baba0c54e2fd86eca62abed6fa92368219178ae1708635818042ea9884c2f18f5ef92250bfb3be22d5bb6bc6c6cf93189b132c8677b7ac1c28f498ce55ec54ae4b35d6fff0e818f0f021feb858d245544604dda2c3f69b3598861931a29530d9154c4c0f25d2c5bf883b320824cb671606060686a6c543330324cc418f060772499f8082d39cbb4827a818191710c7fc030bcb0fc862d76f14ff08764b2fc4de318fe60f823efc2446c868dd98989884e96cfd00b7bbb5e25db62b077c9f219acacb72b93b615408216725ec7a1b2d451ca32911b373d6106cb04c6c21f6ce34f4cc440923c78ac8f754328930dc25e6010429845086543485728f886144b8e17415f7857da863fa0d5c1f03f16e25878986e4128acb01088080a09288ee08660c7b0d3b9fb493bfde9f4dd7cc73e26d0328116831ff6ad217744c1aa0a122d3cacd016b5113d64eb350bfb763ea5a0952e5eaf4e07b2da610704d60be9e1bb3b69344c042d6f1f0dfbf0bd6601593ef67918a48735a57d6e292882ec5a7dbde915d36ba77a97ec095edbb6939661947bfa53724f079116d623cec66b5f6ceee95f022cf5c042eee91360a90796b9a7b5136b1f9ce2c57b7d242df6a2bef3f0d9a782f5085aaceab01be4b2cfc7621f4caff8149e1a61e3b38d93bd4840969798274f253bcf1d11ae829dffe6e947e4c709586cb92f2b2ff6244b49d8ec57e907f3cfe5a617446193a0cdaa1206c362f5f293441968b1b32ab92f4beb95bfd4c693dd20373f3ec214cb3f59b6111b095b8c52ca287bc56fcb4d4f90616f88a45a402ee01949b9c58fc93744ce39a3941fdbf871afba03123f682594556cf0f11bfc1888fcaa57b257f5de62cfbadea40863e1b5c334ebf4789ad3b6d5bb5dfb06b76f1fb41bfd64afb8c38e7ba57d8b967e83cd30a2a03d8d8d7b63e1e36f3c0bebc5b60821f6b1d5be4c005fd2b430bd6a7af8c58ea50bcb8ea10bd7ab9e5ec5635ff50aab2cbf0bed11e4d3ef2645cbefc30e08d759bd5eb1bde9d65df1369868d5b3748233ca07c5892cb65a6e72c20929ac8ee52627a4d826ca48496b63d52cf9f98de6e6d1c28e485ffea65937be1acd739e163b0fd32c78bb02c477955d013a5aaf59b11a51d92c6e72e20bd6d2dcbc597df8b5ed4ede6b96d1330efee021fd58613cfcd1361600c832fb74140194672b6c17a01f9b88c2f66313576c3ffec2d3b5c70e87d98f979f8c40764b9d3e201b0fbf45ee144f5857249e1ee34fa7c7ed83cfba05641f22ab4364a7c7be65dcec889c38d82d20730014e8ca3e0414e8a2f443d0d8ed907d886c87ec988471055b151bffa25d13516c7c9c3f9dba1c5697d3af88ecf4f3533ab9e69989b0d3aa7472d1e71045fb9c1f7469df144702b077c97a290a78a743c13ec576a6936b5e3e75b64c906137fe949cec76ee1b72425d7641e0699c7bf71925d9cebd7be43e25dbbb1745f8b1a5f1dd25eb029ffab8738703aca98a01cf5ec9c484faf6a9b68e8926fb596e5a020b1354581b969b9890b2441993db3e15aaebba0ee3b64fb5a13ed5d6cdae7b516f5847a4d3c22635911302d8456b11597d2db94e150a76e89add0745148cabdb8beca4f3d8355a95e63cfd4b293bad51eea28f72975695b21ae5ae59a1441180ebc9926b7e1ea371ab460a589a576d52c9cb5e9e10b3aab6cf7908ab6a9b4b56e09c95234fa6443bc3e28324581bbf3cf9c84d2da0626f66e7fc3cdb98421bdbb840cdead495767079efcedd02ba2bc1348dee3468bcbca3e76e87ee343e4e3b7f87d7102e1c1ddae5498e9bc556872168ce7d08ef34e74e079a73f585ba37cfdd0ede695ed44b4461e397a862e367a7c3cb5dce7ddd51df102f477d760eb07977fae9f07297fa423de6dbe4aefa0b65f3aebe5ecea13e76e57c4370b7b9ea1bc2e62f8ff98678717f39f6dd257ba10f1e372d11c56edc01c13e3f25a721273bb7c93de6db063b07a01ef3d43704eaa9bb7c2fd45dee7d2fd4bd73e7809798ef95baeadcb7b461dc7c717fb9bcfb2bf59c73a7c3cb6deacb7be7f20de1f2216c7c881a7f290df19dc663fef26ef39c6f88d78b7bf797cc6deaebaf99c39c5daa6f88d7abbbf7caf9eb2f9dffed4a7daffa974bfdcbc66b7c763aa0eef2d9ede0fda5be965ca9d37c2fe84ad5f9e9809a77a9437877f98671b15b00779b3a4477d4b18e561d5e3e04f7d4697cafeea8aa3404cd55df81ab45d89c7baa2a9d5c2eef3ea593cb63269af5025928a2a0ce55a5938b3bbdcb97baf775d025043e3b770bf0ea8b7b57a1a03e05ad4649e6b1d3bbbca8b77a812cf653ed2e087c3cf62989b0089bbbd41774e1d4215e387fe9fc95f35f75edcbce7d45d85c759aefc59de61bfd8015cb4798423f60c5d24f2bad15322c27c1c21e3c6e9a5285bd34d7a369165bf9294d84000c3294b8a284154b58b1c41525a250a28a1251386e7eaaac12d12c3db4278b8561190c2c0c4b1f6d83613b00386992549882c9d26396da0dc5cd4f359f7daa5987587acd6696bb213f4ef00113d70d018093a6217c8429a8abea0bba5e375cbcbf6cd42877b9d498bf6ad428777955e97bf75a95be29b07b8ff14194bb54d7f9a2dc957acea7e4f298e3dcd457554a3d2695525525971ae5ae5485e2f2d4bbdb7caf25d74b8582aa531c09c01a5d863f979b4ad064e1e7d94217f745b9eb95d5d4d75f51ee52e2defde534df6ba62a71dc63fe92a94a341e53a3dc853a4c8d72d74b55a251a3dcc555282eb50801b85ccebdab45a4b66cd9b2c585aa1c792e3795c00a0b6b525784936061bd8077047b271454d824bc85fd9215ab71dc5197e7d8ba7cd62d00f5d4bdd82a2275548de252a7a05f72c9631d0e4b96d6598db0aa802597d72ed4a59297bd20139327043755d53cea50ee429dfe06616955cdaa83077f8f58f8541da23b77f90cfe809506fec0cbd3ce01676262624275e71e3b1db8a3ea0b750ed571364b597b6040220c1bafd1263b3524b0d878ed8ae43426a2df2ebb22f1da657703063c0be1b7694016c87227045a2dc872a77dde250b0f34bb22da2fb446f01a774eebc3ab7d76408e6257241ed6d9013902027fea84407b04b758fa0d76cfdebdb7989f59cf6ccee662111eca9d3e6837ee8468af79f797208aaa43820c1b1f336efb96695cd7a1380871522955ce8778aa1c2ff5e174900a1cd4c47986834abda85438cd854a4543aa2e7355cae32084d18964e8a8545fe71255dd67de7deb3e9514cd527d7ef33a20dbb717239b6b07b22f5d109b6b9f1d111a5cf7b67507e4a6eb90866ce73e24e75beadc37c9bddab854f7e1d4a30058d5e177b90fda1b95ea458d036dec8ab4a5bff9d872769e549faaee34efb857d242d805818735df85d6e67c9bafa6e6634b33f3cd2abd9a97f9e218bdeabed3775fd6e5bb2f1adf7da1befb82b34ab36024c3cec338467361e737ca9d3eb6b0d3aa6a48bcd1e5b1737703ad9814cdea3ebf75dd3b1d7e94ca72131658284195124481841548448144956de38de3b8e3b873bf76edf5758efbc67176721c94a2596ce7bbee45cd715976d4b3a3509fdf5028144ae3b494b76dda8734443ba771dce9dc35ed1a57efa972aa1e05c0a20ebf3b93d03eb61e0aa57d6c532894d6115959545511e90edf552845afe6ff4f7b510b3184d25fff9de9ffaa93effbd805b9c38f83dabf29e8b92fa92d84ef8acc0e08ad491a8f85955ed1abf9ee0aa059adde2656fbc61d801f41bb7d839f921016fedfeb577abd3ae1f6010fe5ae9712c7041531985cdf7fa6e8c516a830b99cbc42b9ebffd8454fdf2077fa3b93e0b67ae3962d496d63fce9bb42d80d72578095cd5ed401f3b24ab36abc85e3f3b209198594425221ab9056c82b6453b3b0d7905564159944b3ac0869abd59b84b32a26d2663f4ad9accefcb29622a9679509b4f79a65e32fdf6f6661b4449e79986fcdddd02c58efe9d0e87b12b4377eaa444578376a69fabe1b9facd23c300a1ef69be35c2ec3ce17646a16cde7a113268ad22c29539a85f379f3795825083c51119e11bc77a34846afe693a0dd320ece2709b1b18c0d79a25443a4bd71696fd43b843dd9f89a8a5ecdd7f8ba8a5ecde3f8da8ae6994dd898dfd6c2ce6b5f9210df4b0badf56696fed392f35d68734e35885ecdffaadb3c886e2d3131313145616262e2806b5e8866fdf3afeed7b394c64626d1abf9ec9356344e661a0d22f2cc1c2a83c86ea66555a7ca9be3fcca2a767ecb407621665784e6d9694784e64134abe6f34942301113a179c6045aad5e976f391f5b9c4ff5d5d0ab799bafe66309058ecb7c57dacb5abc980fe6bbdccb77692c8d0f09b397b7f0be246853d5865ecde770fa3ca3eacdb47795ab45b185a3ce2c8bad53bd59e6795abd343459bdff5d015d20ba6a16af7a05e5165fef20a1c5d2b3951b7341c4d6ccb9ad66e683cc132fe362e3633e669eabd918b7a133788c450b2b2c63294293dd30d4f93c5dbc5e4d97cbb715268aa7166e436578588556a41e3feca94f483c16241e3b5625b41187251b25b4a259b095e0961779e8695a701958bac281a5efee068e95b36cc360962c59b2f02a66892d8f79e269c2d062e9ca462e6e928b4091879ec68b405be4b0d09c3a2058cc21f2d06682cdd44ccdb4f1aa99628b639e7898283753ac0d7af865f2e51be55e5c501fbc2202c5564c854dcd434f2f8dccaf17432b161a191a201b53e93729bb7ba5dfe6842f077a813913695f7e94b22ff52eefd12bd45f2a136861eac50eab0fbd8a37c22ea510c7c12956906251879dc4b0d80969cbec13eb4d62c3c2f7e855ac2a26d2c21fa52cac2e17ea55441d5626d062a9f85dd92b6a81aa037de2dd958d1e173b58a11553f0807a159f3a3c8dcb6bcf7edb4a165658e9560c13b114547415cd92a76f2b9a45df4d2d46b32e506bd12d5825f264d1579a853a0d189e1755b8b0f4315f0e91873e85fa849857b04a6cd5c03cf15c5011056701b1f7d8308c3b2228de953662818a0badb022b69c4cc14d5718c342b96b0a1f4bdf52740bba283761218a8c8b1894ecf41d45b3b4d3c7f8ac0382c50a018653c666f8f2b642df4d342b7a67f60e7b580864618540afe88bbaa38f9cb9d038375921097ba11596feb6152bbcb8424b53b32e6f9145b32e9c72a559f46d25b682883cf494bbe7d1402acdea4e697c2e1f1431f73e2b963ef525418baa3e4c0922b632e689a75bbddeb558fa23b1155321a07df2cb2162f46c8356a3d692ea1c2636de2077efd2dc5b661c9af51bb6e7a0c30ecd92df0e816ed1449e8d068c95187603b21bccb23318552c8b61b9a90a52d89b65d93b293958650704eb0104d61ebdcabecd087bf2a428d5106ae1a585bdda5ed4db3973a1e7a62a54b1b706bb7dbe86665dcf36ebdb6fe07e33ec0a4d76aede2ccbeaa5b1706b6ea80cafcf9c7934f79985ac65dfb8f9ca0dcdda8e43b3e2b7e7d02ca961559ea65919900cfb76986665dfce36b66a0499c0b0b18d1bb3581185d52eb12ca18ad52e57f7d92f4da402663152516f6ca222b6a017cdd3b4de95bd918adb1ba9a08160d8be16a9901d10f97e814744c583582c662196d681874dedf70693b25b104be4e9abe2332c51ab9706abd78b5c21163a05263a825ae4a1d52eb1340b7b1f7ad1ac2c4cc444b48ceb155663167ac606b378f0ccc3c32eedc64b1e3739e1c27253115574586e2a220abba536a6b161f91cdbf99bb53c262626225cf29bac178b1d10891dab4777b33013838535b34c737361643c84b2a88548ae575e6c714bc9828d79784056da8d61131e3755218ad57ebba520949c844c3764584d8bd564b72c1079b26b4fac562f568db46bd74e3b201a90b540dc7eb3d3af47c3b059b3340cd38e6db162356d76da2913a63d7b9210af6e09459eec4d4eaed8acb585cd7e21157ba457d9b5cf875e659710982eda2f8ccd3e2f843dc3b09f846c46854e9d905b4dd3b85d2e87610127367b9220b85ed167875f7f40cdc29e1de6369a25e7b367b1c5d5ecc666956d64d5085ac1b0d0b0ec186643af7abcf08514126a8679f00ae4c00e8ac832852d54a8c28a33983105143e10842e50d0e3851e7848a8305078b175aa4595d6e00b3c6002072378e20558e82a40e1410b9e4021066670613ac4b0e385246ad49b44c8665996c362582cc659ac0b6058ccc58561d952942f8c30842c5071822d227061cf626b89032988c10fb23421041cf0c085d1aac9586e9ac294ac312c5bccb43c7ee1560fc8cfa15b7ca11aba95f5505dcec272d2b4f2301e4db39a78dca40531ac8be5262d60b1bc440f0b6f030e17fb0dcd2aea950dbd22022a8990a5b701b63caf593c96be0b3ab0f437cd4a59fa378b9bb830054b6fa35bd145dfd32de9a258bdd9cb1530a842d316519c84e1a2cf622b005d9800095884a0084370828b56a00e78dca4852bd6cbbe9ee6819fdf8a06e6f37a75d33cf0d086856f253c6eca02167b6f288ae282f7ba0599989868bac52ef8774bbae0814ce0b19559bab0352c3765b1c2de156f81f5ccc114c24288e08408528840850849d4a089a4e5432662a2f914450242556d916ed8a7757e60db21803104318630c610ca885c6c6ce37216db0d5b4eb263125ac9449c3ccb0d63d70d07f5b18f9986fbd93e14201773d0ad61fb38eca3cff209efd630e7e9dfabbe619ffefc70f8a72f751a569a5ef563f57a4563bb06db45cd6ac692430dcd82ac2b8443b790edbe104d6c25200862300f8f9105a10ce661db42c8325bbac00a0fafc7c20ec88bc7b9781d906a43af8a368e83918391c7eb88b4f3554c743abf867f6ce7d3c024ba55d43cf15cb7ee8f65f803eb0eb7a0161c6e759498c7bcdcd0f04ad6b701c3b0d8cb4d455d6f8057e01578055e81576c7cecee2a5da59368565663b80302f3a22eb2e106180c93c2152b69c6651d10979f2885a101c4e545bdbd2cea3037bf42aadf209b5f1e2b6b7e3f2b5fc32d9a289988bbfc64a25f9ec21f3acfc1f977791a264a5dd69ba4069bddeb5553e1719314c2c82accbf02b04fbcce6700f8139ff3e5d0ab789ceffb76689ec83a9ebd3435b56daa1e619f78eec3817de22113bc0ba748d8041365c1bb704ad38ddb38cd39b66a7ce61c5bf532585be9158ddff81270050ce6614bf3d9f81270450ce6613bf3d5f81270650ce6612bf35d1a5bbf045c298379780a361e85c96fd8d75d8db0cb8a5d0a56605da7d9c03e91931676f2dd11810283e2ab4a35b8a6a03130f3a516f52a1ec39a90a28a2b6ce8553cfd6ee8954b2de2c2a3700aacd22cb6527a15a5575c57e1ba8a8def2a4e9887a56454ac2421bd0fe9086ed928cd302fbbac5ef7a988487a59612c2aa3dca12a5210d487488baab0ca9524ae3471458a2b55506e09b4f4dbd6dc9112939d989d4771142579c5fde8c52b2e5561955e45c690201568021b0f91e09ff84d72f4831613d2708a145e8f9587f7e25cd068e165d14ac0952b9887adb4595df1ec80c81ee8a457116a892d76b12bfe36938db7dbc75a620b4e893cf1f11d25b68a224ff43c2d363e8a8def6ec86df60dc8fc987db06f1fe41feca72fb20f76ed93ec83a598076b4de6c11ecf7c33d859ec30ab3af42a1e2907f6894bb0f107e09f482b0ebd82522a8cf20386c74bb822c55ed6c289e56c8436422a6c7cccec8d5e580e4e89ad040c210be6612d322e3c8ead040cc10be6617b6114367eb6955e754edba862631bb799aac01f569a05a7d81bc5f2735862ea228133b4b0dcf40515f65ef21656dad0aba25e7117a489bd5da15002724d716111f458ac3709903562122d141aa067cbaf2517fdd65f3cfd9e6cdc1da0d2f717ebcdf8bb4330d1af8825a6262b53a238e100114cae274baefe6e06047247e908c0b6a757b14be065e94baf7f69eced3d953e817761962c516669a629836dc23051c330510f1a9f1b96cf17878967b1df68f931dce2c833330ff20fec8bf2d9a77da78ffb3cfe691b2b0cfbc87f6d39b6629847be878e0fcd0d2b7f3d9c195babd58ac5bcba3a57c7ce2e42bb611c33111335f76e155b39449ef92cbbabc87369eccd013ecb3ce6b93416d61b63e92fcd67b16f9161a3b80af379bca23f7d1cafe8b52fe3157df6495e51acde24b63d2eb3d8611744dab65d77f8dad20f4907f69967f65100ffccc7792d5d6cd31e72e5d8986c1e96484e4e8792b99c38817217762840aeecda637fa7cfe3a079ed73611ff3d9c71c746798861b63e7db09efd2d8599192328b94e45918fa79ec330f3f17fe99f7c5ce96e2dd5106adee9b76cdc914da0f4f59bdd94fd0e87479985d3bec864cae571ce765d8a1dd609aa5cdaec8e9d9296362b2f463aefba06bc6275b2b75fe867d6c1bab9aac30f4db268755af03c27545b463477187396dbff25ecfc0e3a62facd8cbd58bbde35556e9e17678d477b77a5f30bd8adae49a256fbe987223bfd3f42abe63e09d2eeda5d92e6d4fb392da665e525bc95d01e095d78a6855d5af67b2dde2a6c8b5dc4116744a29a7c442ca39b3d8236899fa63f66928611c02c5a8a4534a3965d3189263a474722da79c10360c64ec6e29841594301601de58396186f5372f2cfd90a0c58e3549d16237c9458cbb7ef6f10f98c158617ae5f54a0a118289e379c3597903c3c1701ce5013d6ddb49669c777a84d416309867a6747e0c6bb0de2133f3943146197510a59c3373b9c273d24984e509a78c314209a316b339791a3bc3300cdb300c0b03e33c2fca18cd30a3941ea5d4057bcc606888a8504a9b62b2ef513ae9a494639c32c6283fb190de9c9a8bf5584e2b84395d32ec1a85526a9917329b130b7dc7e8d966eaa2bd7f616cff34e7b1392f3f682724a2e2c96787300a55ac84129e3eedc362bd5e45f9ac594b19d77931464a638cdd312e4519bb9b23b706291096401b396a8951728c32466e863d9893529e601c41cb4c3148997d32ced8934588934a3967779cb366f4bb99e1c27a6c65af649432cec349e7a4dc9452c628a53c7794a39c32c628a3849306123bc325fa09b9d2caa558b95e09c1c4c4c46469cd7ac59b16d6ebd5cc6ed6c949e79c140672cda2188ccf3ed9ab48e19c70ce79ee30acc609299c9e95306b1e79082184124e39e16c41174c76e30dc9e3262868b15b4a08db7897602686f57ad5e77ab594f5aa39ae57cc1d90aeb2de97bd30bd8a95a6572c9b75a117512c774336afbf2d8809afcf9d9434481e37754186ddbaf91cecb25e2d05e1719317552c7740d8857bc519b665cb962d50d6c08311c262504a677636363f8f303b37ec1ad6da4fda854576a8367a25dfb5a757523efb6e7a254fbfaf74e065f7baf50ae22e7804a4015eca579dc7ea51b4ad6431da3af0b857cd12ab59af8026099640c512a46c2125e336ac3128bb00debd97a328aa528a518c6214a381d1986334aa11fccb8b1a4ac11e3b2146307f39754969323fa15028d4e945f13473144a3b8d13aa1e456b442ff3a29e415d466686c64f346ad53cecdc2d1a9863341475cde537a6d21898536ce684ba4c3d9dc663689c2a3c02fe7839f68d7e2fdf7581b1e2069e91cba7bd37361ec26077f9aa5998f6f81b1bcd42d5bbf466a51edf03d42c0fdee5a37198cfe5de773af6792ff5d2a82ec7a15927ed514bd9d02ceff137e4c05cd878081cd1c17b517fd0abdae1977a51a49a46858520b0dce4042b36e33222daa7a456b095144ea94771cb16d97d3038f02e8a08fdbc37f0a0bd42163ebe86a2db70030e3934ab7bac471155eb5d2a6a259461af10ebb21836748b5ddca484316c7c0db0e34eab300afc9152765566dc2735f9254b76d263cf3eee1556abac6c23c6742a09db123d4219b6c6729311aa60b7c84d2b328958a5ad9d154ee9558c154ae9559cf3b73fe3a7f688fda6ced1f89c1375ef343e6e1eb8f2bcc78f888aa755222a5eea84e2a4c5aa91b61da3a75cb95b8a0dd1aa51fcb498f7d815993652afceb96d90e3f63ccf7b517b9fcd9a92439dd6dbfd08fa1da6a494ced37aa5bca228ca0e8837e7ac1702a13b40fe01bf43b38e8052ea85d528c6c845366bbdba43fcd8a63e28681cf54111e52e1a41367a974f360ffdf66d4d83c6e7f2a2b8418e73f93c1aabbd5cfbe8b7afa3f42edfcbb90bb2d5eef605bb76edbb9cd54ee393cda3bdfbba0b8271efbeed343e176e73f9b2e6813f7d1e0ccd4dfc6a517c7c3cfd8a22e46ed6a368a5525c4235ea0758c4b0392c376169b25bea9c949ce438ae994ac9712728251eeb25fbd3b76d3b974aa5525550df966c8afbaeb4dce95d5714b9eff4a40692aa4711f55d256bc47dbbd775b55e38ef92facd5cea3d4114f436f8aeab377b7fd32056af4d359d8213a64028e793dad23b81a90958ec15cbc3725313a8d88d375963ec17f777e07e51a42fcbef899d1e45cbb20bb26431096385559a8a85714abdbc9d2ba58f53ea51b421528177bbf3b99b5dd77d34442af06e529c594d6a8b75ef6e337f9350efa811ad17da536ca54eef558aaa9df6145793a2ddea5d3a6959cd60b8aeb1274d70c2042fec9692fda4b65ad81dcb4d4c68c232818aa5c1721317592c7fd7b3b15f187f078c5f14e1510d163b7f175681927f61ed4fcacd0e0876ee3c9a5eb9fc6e2defd85d3e6e1eac3b773aeadec7cd7367edb84a44c5a3f5ceadded33cad4691c6776b353b568de0e9e7e9ac5cafb847544f157011c572767e09612ca1c9ce67cdcade2cad0043e825bdfc949f55ca0f6bd90999c7aa917c7cec8a70967ed66ffe26458ad19f64af4e7ded6b2b8ff5bb13326f9455ecb02bc2d939eb5db284d5d34929ad77562379f9a28e1f3c02fef409c62834616fb9290955582550b140969b920086bdc24a9b8426ec967a79b79dbf715c7608eb652f6091edb113a23d637b8a59969d9ed51bab51963d7b7740b22be4273b20a7ba6da78fa657d8390c3beab3d12b0cc3cec516d687e5262eaad8acc2f40afbb6f509d5471d25bdd3a58742118999fc6ed7a4b6dacda67d6cb593262475d4e1a755d4773560a13d691a152d4514d951f0a8da84d5ea3d9ddad47785b047714b1936dabb01eda39d90696113cde29e69cf6e92ec174661b3afb2f764a7df95cd826816ead9a9de0d68196308b5f0d362370356a316fb606ce05d189b1dbb270475edbb9e8dfd12e274936c157be14fdd906853d26adfa159f05c76eec229f626f551b417da5435d24e5d1154bdbf508abdf0d7e52728c5c2bf331a35a96d5723edbad44efd74d92c989f34d44fd0ab0d35ed99848751e04ff6d3b54fab3bf42a5b021976e3e1412956da8d6619f7ec373b71d568bbdc11f0c7cb65b3e4e161dda2f5b6bffc2645ebf297db10a9c04b6aeb55a3eddaa18bf70d12d9fef2a2f65ebcbb9cc67ba53df571af5087f9b857a96f2f1ff7ade331accb0764bd6fdaad67a5c5661a386ddfb44134ab9f7dd5acf8ec3dcd92cfa8cda285bf40363b77790c2f2c7798afa757d953dfaa57d9515f10bdca3440e36332accb2764bd8fdaeee31e4063d8ecdb773360b70cbc7cd9bbef741a1f6bb12edfca7a9fb4a9efdab0d951da77590c9b3deb8a7016c27a3760cf7dc3386e56ff74da15403bacdd27bd90b1517703763bec864cbb9db3dce111f0075b4eeb804028c57ed969c866b50a8f803f59059239c2c62de678f945912ef9f82d20e5926776828d4702b2b11ea52c1492a10c2473e40101b30914b0e4ea0f11ff24d60e08c0d56fa586dfe461b8a599715070155cd9977d7e0b70cd28032daeac4ece461818fb6ec206658032e24fbb2dd5ab64e3ef664f5fb46d37c8a178becf4d5e928196234c89432ac39f36c1926819fe76dfa92d5b547c92a524ac8c0c868d95a10b3626c3ca43222c3f61a1bd4c86ed0bc1042b4367809a216a609e416e4096315fd10c3a0493b67c86c56cbcbcc5f6b580ad40ac4ca0e52f31111290651f7e3b618346786ce112ec006cf00823bc1e0460c3a2c2166e06e06383fc046c88e78e0203b03fc8402b0b13db20eb096207bc73d4c1efef08da572fc16e92855b02adc64d5588616f2341f6994fcaec116fb1dc4fa779d81fb4dc77e9e7962d0f90e7cab0dce95a7f77c9b646446e92839d10ec9bf671971d91ec1056661f78bb42f681b73526993d8a6730dd24b8446177c1c493555461b1779603b7c311398332a49d97a7df21569144b4f32b203bf9ca0d733e071b35ecfc0eab6ae78f9c3e6f81d87232c5a9d6d0ade99a076a1637d1c08b69e77b561042086d348b7641380b1ad92732a4e70fe94800b6d9273e895a86d646b38ee016247e122562e448e748001612807b62178406a525a81449d6089491a244518e2984a66866124002231560304024168bc723822608db07140011b1ac46a5cda4599223314819858c218600430c8019019099829000011724cbca88313e27d1b681e077927440dc361c69efbcdb851e97a30698d5ab66fa21dfa4a99835018b730bfb063560187c62fd9cdf3cd6dfa105d178918ab90ee55f23558c627ee088a9ef86bbcde266e068d58abd848b9c1640d3d005ad97fed720bd75a37011d36349c4214b8342fa6b0d6b2055c4061803861fee0429660a572b37f42b60fd0453b9a81985c245db8f775574b1e15f2c02d1a9211158161d09bb745406a4f1fbd317436a453cfd6afe6a3fdaa58d1f4640e13968d4508fb506101dc38af79e8968d63350bf6ae876a7dbef253981567940fd5fd7d17ea5ac500f369db042542274d88a010615165451d01d03d1d7ef3ea490cb7d66f17d1816320393a036c74c5ecb4efec0ccf42e4244e4c350e3717816456ec412673344602c43060bfe6dd1af349326170bcde9f0ed57bdd43726c93470d8bd3055168f0c67e71530e586a86a2fdd1f0ad383e47aa5081d6866cbf1a08eadf3a978639be65d85ae5a5e856edf5e5b682f3ab458649bf33d018afc562ec70a954ba19c474f1e424dc4adc2288450fc7d0937b922b8a44d9c6d857629e0f44df158ee85dae8c34804940c4fba6618b08b6c5f5c19deb1a00819e19e172dc474d5353a423ca66d3a2233153d656bfc54bd47fdecab40d1e92109910d7d2ae72fba1d473910e09a234084764cccfe8c289d36bd9c8429c829d0ca8150d057d511b461152eee5c8bbd90f58a2ea94a136054fbdfafdf51a4031699c73efdf49295a1048ea893dcb412e9c689a9d7da399173149f11de60a376380359bd79d809e584c92127a83bb3fbd8a14c323f4cee3d273aa0e978e3ff9cb8344457ce6a30082c9baa555efdd5df3c7d95ad8e1941884fcaf0571508243dbd041480745c26d8fb52d1793999c3cfa41a0b65470ef13b367452847039c742d361b70f3ae305f252142552b22c60a286d9c55cf58e66fe6b01f72caeda05cbac33b2f49fd4f2a0516f45fdefb982658013968051072ccec1223faceacfb5034d9fc72ab08928544c679bacc0d69024b902dc50857e476f248f210c623ce5233ca41b9df230a5996b7acff8f5d852dbe88b29d196e86bb4764bc81e43a47fabd36311dbc39216896962c7e7ee2de06e26450a1ee162ae4e31d3d3ea8cd33916e9ca7c3b351967e2c460299bff1f3f718475389d59957173712456e773fd928a5547a1754d2b335e1776288bee5388521f99506979eb8145349ca10f2fecfc687088d7917a7c9e0ba1b9ee0841fcce8dea2c145d428d200cddac61d46f9b550a240028a230803c9dcbd71ff4231598719abaee3c41fdb2461ed345fc7997d72c5f51a5321c7aa320e55a58d9fbbdded3229c88bb16b08f335f7d7149928124a93e4a8210696a7c05a7050245fb0b7dd321290a142b4d4ab4be839dc8ce2b8f0d32dc4b312623f87665817a012328ef01080a842c076bca6ea2bd836728b6bdcd1acd800b974dcc845712a854b646294122a17e11100d7d969c30ebe8f2c2f0f6c5829521ba2a05f8e90ef9c0556754b539c6ba0165d67ffedf11968e3be7626a97d8572999fabecae711c5a0b94137e47a26d898e35ebc032ecec92c0176b5d0b81b9601f587b3f42ae8ceee84e70aeaabc2ef140940918c4542e5af64f0a710fa511c622541c537c46df4c99fb7fd4d1b51cf7c10897250ec4a0b93dcbcad0c8fda552ccb0ee98e3b484d4e690f6e41f62e54558533fbc345f90cb69065d2640fd8c4a2cbe530c59a34bdff8d3fcea251c5e5fa558d13f27c03fc25c400db578d43926179ba3d942d7d75c96479c0936aa42b96df4bf1fca8e274c9af0e45e90ff55dda34431aa1759dbfbf9710bd677002529e26d643c25ba05e29da8b6c283e208002004dbbd464ef93de92459e5228b2c6dbf1c52c0f985ce1b0b71c9f51ec0672c4f8381ac758ee0d7dbf69037b6c2205fa19f850cfd8e8b4c4e9e08b9fdd95db47cf6791709d14213c1e7a0aad6d0aaec98566aaab2b5b66c9e408c37a4fbcddd07197efcb7976b4ff1936d40b1b905e1f2460ffb4c9129b4d73a949bb5e55255f16d09807dab15bb79ac9812b9aff806598ee14296066212ef0d82734e19491d06a29795700e57f7d7d2f095f13801444d38e01c125a1e936a389ce853d5e6fb6d9c5288765dab5973e2340b47e539803dc3f720a8b5ed9a4dc34ead954ac25a15ef90610ae9cf2bae2fa7fe793400d02a5031839672d2dd900cf0b465faeb8bd29264951defda3a3820d3e299e1b3c967621469f59cbd173bb9cfdbf2b191f9608315bc3d9425c3c7d1b1d1b1bab6eaee680853965d1d318aa5e49332dfe59f8f6a81ff00502da9c55fb53a6f71f2efd6349ca671f2977ede750a919b8070ee2be3e3ea693d6bf58ef6489b7bfeef1d138f812914172a04160c1ec63617a3facd5f019cda14c3d9682555189c3017a77c0f51dde690118f0746c5e15a27af6e0492d180dbc526b703e2a9b8075ff55415778a72e1f3a84f7e351487fb8a58fe019459c7a0191718a410d30efe235ddc3c9c2237429317952005cce40d2f6119f67590b9e84db31346925707242995403752aca483b09616867780f6a5a970526a16fb943480e471481b2a43fffc868244345cc60cc37332666f7814a3c77d0c24262bd1c1d2b41b8436a899e41ed11e43a236d0f2331e49f41e8ae16bdb369ac90d3fdd84404d0dfaaf144857d375ade4d62ca55cd67c4d4ae65970972bc218661015c0aaf0eeca60212eec9812fb7a3a29f01916d56bd7e760c9d403b45e10f1118a7bc3dcd8e834d598e45ad3ddccb565056942d636d6e28cbb826f7fc1c8474f2d95c43f45c35c054861ec2667dbd030ff2298790c1fa7deb5d455251ccceffaed99f4877dd3ad5db4bf18eeb89d43d0f0406c7fd1ab23306b61669956d5c62809e8dc0ac904a87f02db46234244de7941dcba92faf7aadc0537a63ca04818677ee6840b58ab6ee047a98d03d5d9b376971f1844d190c13943a1879968291fa7f9182076f26792777b6b07c7a8e2001bd1d762130e2fa3bed13dda098d71cafeeaaca0717d282f97bfc95d1f66017002c6e6fbb538c2147d57dc39038c9128d4e2eda7eef95ac282eea125e16763a95487e19ea5d0d31f83be747dcf920e62a917b57a59d390b70cdb07396c952ad9b0e943e9784e757d2ed505d84a5f086e62b76de24970c04e59067cd799768ceebcf22b6e7d585734a525f7da7b69c927313a0ba61c57e53634adc103c415da958a93bf910fc8d9b6331f18e0b6a03ec47d05eac1e094d7440c313ae2e92996c68aabd501cce6310f9f67e98751582b2998c08741bd326f8fa168f91919a362597a63e4a12dda4540ce9982322abeb1924fb19fad71a332c57342b2df4a4092729755a8011d26aabffcfa38864e938f00fccf02ca7c55db0d016c2c3743de6f445c39c3927e52ca42445018106e9560ddb717fc6712a14adb27a8319efea2eca0a82b3be2438bbfbde442615f49c956b009204ddb6cbd559e813ee852e12feccb0edb0a6cd18610057913a0a048ebc755d6e42bb3daf13f01a1993141c42b345b2707775eef3190c8c78f33e2acced1b41fa1407f1c1e325aa6b3f4ae9041ebf60a7648ef0b69f6ddb8025ad9b41e18f453d4086e271db5c3359b23f2e11b0086412d6b3aa4e9406264ce124afa024dd33e297a821c0ef756a3a59d18fdc59466f3d9760c76ad3c37c043815b16b3afacba09cb661d166c0785e6d8ce6e6564d0bf6fe7c7098148d61b72c2dceb61c0603f9a2a4fdafed30bb2b0f97123e3425654963670a9e328c5b3cc070fd5ef5bba7d34a31d0f570d3b9735ce1c66cb5fbd14a1aca3a518295a8fdd772651d7a15d8beaa09c24c0caea3ff505b3d756d47ca90ef959c796eeb4da6f6f1d7917c5fc2a95cafc3253635989e91e329d114e8d9fab01947e061cf13e625a16f4196b61c4dfcbf956f4035dd0d98cf97bec8b69e90dcb6d2d16e79cea37586994bf256d2ef7193ed19710412b38c447fc100213c9b808d22ee3bb84168b98868c1f0833adf67dd68c90b45fca8581e63214246c7a552d5bf778cd3a63b41d20e9fc6ab38bba1ed7e91db193b3645a23afb581f2c99fe3416d316203d16d9ea603b68888b2e72320f9b1dd2ca6755eb405d1062970653dade5c2ca3d57858a3724c3489b58976faa6ac1609584bfc1524312c01a2c8a2f4d35015443756af3f92fa7e43fa032cf85dfa1521321e87a93d4f35e466622dc3b04adfefc958c172412993283708780632408b53a08616a076023538e724407bd491ebfa13e95a3749fa465bd0a4817c511d3c7f13595a6480cf056618ebf7fc3a77250f542005abbd855fe4f6c76486056563c0648bbe41b02706be54f284fca641d4478cebbf701735e4ad0fb906311526d0bbd6ccb13c6a70fce55dfb88a5ddeda4bc65d299e72f82566a7a8999f47956e913b5f7191fff9e3aa31d972bbff180fd99bb9be89d61c4f62c4151841c80915ab7909b53c7b18a1c12fcc370329630bed683f2d9e31a39bb22b2d7613bf3209de7798a89bf77249e535c6505789e6f46135a6410f33362a6d0079b4da64a515595df21839aa3cada4f5cc8f5a7a5788b18ddbddf0d7e9e3a45e866dbada16b4ff6231ccbb3aa0ea6aaea46596cb26119d845bd6639aafdf622ab2e2129f9398662987c36b8005d0f52ede7a1c032350fa5f95c72fb9426dfe221535051a5eb20dbee0a423cf4db94e9867b1f894f5098683a6ec593ef16f534a6a8a785178ca912adbdc15dddeb5ca2dc513b2edac177f5b7d18a5e50e45b4982d307d685b2f28e682403b1035b77b2b9325fa308876f2030c6b00a75c2149a16a7396efcf44301188d07aa2f121e6e0d8e53474198adf642331652d3825abbca166abb6ee93000f4c526acfe9e1fb15cc32a77b9a2e97c407415cc491e1be30afc57ded406e9b4c5721ad7fc5356dfddf615037aa079e1b83ff8f7dc52b43e99a4cd2ad95e62f119a33e76247f3926af76125938312cf7ec4f1ed9f98bf584a70e16024a360fea40891e3e78b847c19afc4b091eef9a98829d048b98e53341148e43af1a0a9982883e82c9edc383850848c17bb23a5d54cf8858d441b011d7bcf5ec8123b014747940cd6da6a90ae48ce1e2bf3667784f9f023b8630c1b9dbbdbebd4b8fb376dd3119fcf135557bcedd3b8590400ad1e75ce3379704d8132f22985d2bef9ae79805b2940f133e1b5be2b9c5cdae5edf31f1bd628c3b4b12c9a39701a84a4c3e15fa3c6a399885abb8d9b4a92c1000fd5b1122ccca8be6247ce1e3265cfae27adee362a400d1cca1e12b7799f0c4f4215b7ddf5c5ad52ad6da7bf5218f98b2b6dad3177e094952630f0ea8535f8d61e2ed25f0c227abbb44d9922db66e87ff1d5b395ebce4665e43c47c7fcc6aed3512fdebd86f91ed1f764e9dc4ef124ebe06a7246a3a4fbbad47dc31f984699e64e6d10ced9b10a7175ddc423e2012c3a8969d4e5aa7d3c00c297a88f8b7b2fbd0fd466c6f45ba19e95e5a79a2107391a666b2bc030d1e20376215628ce02c807b45801095443691268a0306041ecfcd213dc9fad76bb160a5b8999acf6e1706b8e4d0b4463624b1777ee0f4905639aff1597ad83399ac99adafd7e644671d81cc73b13e9b491d84388740e1cc6b9b8162817de625f60219dbdcae58fe31b90c7d5c9a3c92094044fac4ac776efc6ab0e75108cfc6b4dd7a446f0b91f9b28176d47078b80caf49c3a5c82cb349354572d7b8db680261f874c0a92eeaf88767109787ec2c4765464e354744efcc1cebb9c49251cf8643ba51ea9e82e7eb475e067986abd851709e860f4f6f1a2782a576dcac5456539942df2d96fdb0a96d79c9137b601a865575f437b0942822de2ad1331b8664daf00f354d9f612eda5dbbed3a951c7598fdb77f033ac9057d1506242e17aad4ce9d929e33d0c927104b23993b934cf0877b713d74f0c38ed2b7b4695d46faca70b2a46b8784282c3a335776edce7eafcf1f122463d14f89e4385851e0c59c3fb9f9ca64e46c79335461c375028a9772a88767f51677cb7da5700498317c333b2c13753e3f867a105475b823799e95d2d776a170588cae693bc9656867469de4185a89bf53a504acc6f46eee2c32fcc35a97d7e785666e11e45401880003751eb56321043a05c6d4112cad38d8c06440d80a28b10edf6808a217135492daa49e4236cd27854934401310b95de85120d5714061bdccbf3d829e846c6bd0e676fe819d1b9013f9998515e0228e9340328144614bfb0cfe56156bfcc987400d5188e2c26c471a6882a079e904cdd8d0b035a6c67b281487d4e82d9c600234fcdf6f2e09cc34acd421659b89d5e9cc4378eb411e695a50a39bc2265d6f2ecc7705aa660090b097d6b7a628b0d2cc9e962d894bd3a5f83d74039c867d7e9495ac54241696a92c25ef59f97c4fb7d286c15c848254dc4b34071328daf5acc28134138480293b31aa4fa0945c3f135f9ba4a3a5591a9df661551e04ab391c8988039c02107ba2bae7d25f5cf1638fc3e3bca0597497e2f71b85756b97a04f2377e6c0b8a09bbaec7765c18258550965e9f82c5c4141cdd3c238d95c6ece9176aed3674517b0154c1125d671385528533aa4c9fd0ae7bebd4b509d86ae28792cfa1a16401b60dd5533c70c1f45db62cf6a33eb07f9387c5575cbf7894df73683394bcc2f0383dab232f49ba2fd93edbb70bb27e23155eef2f6da8b4bf6ff9dac0a7c8aca791521be3bfb002d59731704ea0794393062eb12047e9479cf51faa4cd0746fa8583035eea5f3c8ec84038341ace0293ef8c54d941e13499d8ac245bc1cb04f1de54a73958b43b7c4ced46e1e20c89bcc3761624a92f60b2360fcd712ca5512f5512403231cdb6bea3db1a272d622cf835afbd3b36d986933893d255e0c659aa80216a628cd2ee3c2936cf6279db4bcfac54508a626f18a30c90257e053c536c192e7c993ff1eab61931aad52691061ffd0c181a000dfcf75dbc67190a3fc6201993039e5a7db895228329559c4000b5706a86280484214e3519aadecf74f35cd39151feb7ebfa7ee44d56b43cfed6e81c991d0ce3b1efa90d866a57c3ead5518c9b6f2cac1d3b5d8928eaee2df178eda97047e52e10816417716e7f39a817728f80e659e9f1c1e95421704ded3a12214f4f2b5d9e306ced9276d84d8c7d9597296d72342e9a92c016b806fab0abe0b428ece9ebc0b9b8749791648ad5902a6b4bb1f5f36acedb02444c085240ae99c6e802953e9ee5cde022dd1e07d29876c551588ff8a59044303d857fae38a86a0e7a9c27323ffcc400c561c1feb23c9af57acbcb461ad1598c13123232adf6eaeaf8ac48b0fef0c326d65d1d0850413c5f56fc275d81b3b143bf03eb577aacb3e262af4d49e6c233ae1e55db85288d0f9725cda6d5687624127111a1e2801b0f8f708ddd89ee9dd5ffb203999b3a76ab86a179e9a01600e581c1760a2812b98c0e633089d43a55df300a6fa0e8d29d397831623548a1246250832e9a664638ee30ad2bd04816903b4f2482151b4ac247b322bc72f01457c2954231c80dccc1b736acb491cc7254765e7c2a66e096477ae514d8252c9b17888814f54d6623e7f1b55a41ab55e06133f5726329ca616de768c620a4fa6cab2e70bcb7b617cc4f0801f2fc5f11829627f1ccef1aa90ab9ec0217494e96c4c4ea6efe4f3ddc89847a4c0386d3c3f29ceb7400640cc2ca204341ad3d624ba0637f730352f6205b63e7f6180abf27e6d14fa2548307a8d1d5530feb451ead03fc0372c39c31947b41af2aff29f5aca6cf4af6f74e0fa3aad0d2f2c8862c8a9d41cd2155b57b11b90bc1715b435fc7855ab47509d1c70665d20cab598efc5ae4c8da45c224608ca369ea47bf75786c63b3e2f6e5a92ae24de13783bd01fec6aa77ab1be639dd6790a013707f875454de6154271f90e1ad7138eb78ac69d942f70aeb43d830f46a41a9970ac29494dc352f205b1f07eb712b1df35e2c2421c3c39e4baf67cd3c4dcdec6be393161b99064213ccc0f98edd2d571f79299d6d4e071bc261530ca87193a860fac7898dd5851cbd45a2f326fe037225214764f608690fc75b7728ed2fd20d4ed312ee7b871a546a71e6ce0e216bb14acb9b8379097838100d5c32047d24af378b5e0147a06573bd152c0f2ae5a8ebca381c7247f200594056b8ea9a397624a7a52de78d52be28747b70adc46626360d0104542e63620c082eddb06c174d4103a25cead96c0d12cbc8378ad2a224a151fad71cf7119d5e3c4967de7f46a9836db5d32cdd372acaf2d16c1dd3bf49e3b8fee9e34922cfa98622acca2e798959dad428783dbfd26c2e987e17c65d8daeda7a4e8f43939f057a6e04f63bf3221595a047a291e063d3ac40a63127436c22290b584b192c1f46da28eb315c42ad81b1966fac61d6222fa80525d840536bef667ce83641dfce46058cf548c979487af51dbdf3abca62d96ac3009e8127144d66179ad84220d7e30a6afb7da9dd02acd5e2e3c84a5884d8e884abd18a5be84515f70248c16879a74adbcf6d443056f78403d2d8e9676d57481f75ce34088604f07374000250a4efc8f6ca8323e29c52e21c5db973c4de79dcbadc45309a3aa5f890034d25c1f866a72ca370959a51d090890e8b7c0d3e360612a40da77c7efe90f2d94293113215beb9081a00a49c196dbb6531859b9aab7006ca9970073ee067ffacccea1b2b9130a6cf10a8ee72d226cbe9664984d30f6cad2e3b8c21c6eec5470702b26db1644488ce0eb082dc48a2d3f58420d4bb84b74e7df65281d2f74e1052069a0090f5a223d5d6be7d229664580bac0d4ead1295af69a1ed2ca65db628cb02172229f709c4cdaa302060fc3b7b9f8a917201d4038418ed9f1f2a9f00a9829feaae6e4e82ecf056992eaf7bb8e27b13b8d3d174111ce90896d3b2b7ef20388580e04d925c9166f8be38c17cfae825c0cb7c519785fecfe39addec162252a013b976fe3e8b437fd9d4117efc182e064c6ebc7fbaf2d58b4f216b147cb3b33b79862bbf08fe149ef4e1dec088dced8d9bf0decb90be2e69da553db34512789a3f373247b79c581612b9c6f68f9f11489868e6884aa3633516af8f1984f9f665483cae68119576c4d3f0c563af61b0da416c8283800e7176483b3ce0f61e804653f8ad9f83d268447831482423c28c7da3f95d701776fdba7a38dce748c6ae854081ab45eaf073ce334770435bfb8fe802888448e141d96ebea9bdec829aa8e6dfe298a30ffe29c3f7e2a0264562a2d8197cb57eda8663bb2a7938c0e6abe9826c7099f22524e2d4576b854c5d6c95de3b7b57d888de87c7ab222547c72502216e354f733ad921492b4dbefc96a6f4c928cd6df213eb21693725d5917ac00446e3c9a9cc7f13392c5f24506d6009bb9285adf400bea24d68e0bb2d650d56b92886dd8849d26a3dcc347e23249e5edd77f6269dd8964dc46c27834caa5135d079893d62f5e8a4759e99592220c4b6e31098220f9cb2827c911eccedb6b7ad68a65b337e22b56298230d20478ff6fdc2644eb26b312c01de909aeedf9a9b2df8196b80d90d38f0aff5ff391ecca6e3fd32822f47ae457a672a8c4723b5a62dc2c6b1b3150b48ad9cd49676b916628e591640f62b9ae6df5582ce4c6c94408db2e46be620772ef4bb7dde9973412538ca6b4f69e69f50723629467973dfa1b77ae3c286e6a8f05b123a1f464590d7197e8d4606e7732627599416bb8db4845e2647f2722c6eb90a7e1e5a57758cb4e3718a727aa14176d0037db55b7345496935e918038dfb4b7ca9fd09f8f42870b7ff4e58c7094a57fb3ffed93d668013a8b54cac0865b76b86ca3ed1abd34bfbb9e20d6e6d19fb99d57a273fcf47564e4c3a40fcd7666360e2a6beb4f88bc0bdee4e0ae977c9658dd743f8c43e70c6d585197c630ca1af898cf8a4109c0bae6af91b7b26535cf85a68b72570f4516ffcd0e2d03e48de06ab3a14c74c82fb2cda85de319c34a9de882a51ad014776c1d94458f14aa61b7693369e925cc50077437f3fd220159a7214ec8cfa06a0df2b51cf0e19efee5eb3ed22cdc2c8c560e750e722d4bf874c4d2a0bb2072b617b2c1553302b94ac0d7ed29c9d08f17969af939346afd72a0d8c6ee92b007928b75b56aab8e15c2559458332cd2852bdb0cb8a01a53237b8ee1029af6d9769b4b0460cb380d0c3d6c9011dab24ecb9c7185e9e8d9411359c97cbe6392e62fd6cf1a4d8a96a56691a83a9898a425cd52b94882607410420ea913ec98ddfbfdac9620b6df82a2764d771f82591bc53c552cf461f7432d9da9279fffab9e1ebb732468dd135f179bd32d15e422c06696595f3cfa931c5b3e9629996a6335ee138bef07c89c5c78404dd1fb3031a4177fcf747a26c17ca94a001f645cfff042d5a6dcb2d2085123aa7472de9c1cddd9e3c77ef0379100892d6389730fcba385f468b4dd65f3e993bf045cbfdd4a0c0b31bbb37a211190d7104999fb78d2baec30a9fc14c1197359340960d4baf9e131bb031aae9b2fa6e4871a703c61132062c45be5a79a27420e326de46ea504ddd5adfde7e7681bf149148220b15f9ab239ca415f22dbbff560ac0852230d7d879bd6f1102094f38dadfeb7419857d824a8a533c28ccfa55e97dcad50481bd534e43f2c0f767d7af6de471dbba43d9992eb640444c0da9da9c9fcb4178e23afe70ea85d8a191d73661aa7edc92f332ac805ff7900955535caa6b623d224f174d5d5977e444cb3e6c174c2e041f2552813b6cd6bdbe985f979c367db265930d1d9eb60b0d024fdb56b2737b89a4816d4f977772d5354b8dd16c2e82811729b4fc25e4ae41e1d4e40992946ed5c78896094acf027303571602a08084831f6b9770960c5c414b4c010f4a82827b1b5227142dba4f29c0b52553dc036744fe26d2d2cc67cda43688723416873ff710a9f61caaf12147f9b72c94672670d6474b3b0fc25cec89b97bd26c965b3d7cabc45f7907ffe2fbf7a7aaf5bc2a05489c958ca123f4d5c5c72496ae36f10eec936510c29337bbc4e206423e3a75e920c99d4a1ca4ee595b38571ad3492dfc4dd8a2a946859515893ec577cd41558c5cc87745722a3f4587a61605ff4bccd2a0e7a7620434afcfcf1eddb1b9d196c3e5f45c2f54dd1b4ed0d56df2a09a8f4a5c831aade6d882ed756a233546dd6fc04451b86733d2b9c212705fa52fc36948c2b467827a6e988d71f6741fd70406c8353952f6814e48774f5dfdf128a29f4ed759e92054e6b35a5f93c4d360498c297c7eb56ba10ee5d48a15b0d0aaaf01d2c9c71a89722b458b5405880d6400c63a807f39124dd510efd1051acca03f00c2885e71224297850c4f06c7c1c7730221c1068110ebe71eb610d680e1dcb3acecbe9490c77072b9ead4d4971f5277b6e215c80945cf9d817da321b38edde26bb1c6323022f15fdfacdcdb74fd61403dd17651b6b78548a6f83822f097f1ac01c6b0df102657c9f100036a00a15031893d551dff7a0d18e75242add38f9252731ae3f9c9d6364e4911a200b6ec64d4b42eed5428e7a9590e8c369b67d6f9fa36015cd83c0d35d96422af12fecd853ab8ff74b9f56b4a588e7bace199bc35880fad9e2733884bc02bfe7d708d87a7a5c0dacccd783837c38b57b00b404d3f76b51378a9fd493df44e950a25ca07cfd4db0a0d5f0173674f9d11b47562ae7684f286e4f0a879dfe4b0cd00c065ea8cfbb95589c0fd40345b54bda5ae946c014bff1cb0d27172609be306a54e52df1d9cfd3e045c7a16edc8759986a07b14415bb6469c24ad1c039bfe3124494f2375613815e6a505b8ac512b10abb19c1eae765a691b285499b21db502661bdc960e06000f5c31667617158678e308b71a3238162a8be7676dbd60fced0435badbf23921b12a03ae855aad9e06aac59003214fc99ff67ed1de03ebe4d6fbbdd446a45e65466ddc946f167127f341b7e588686528f38307b9b54866e24180f065a2442bc951740f86298ce33de8f8e2a4542471988221e91eb3694dc9133fb1cbbcd19639c6ea188c7fcf023efc7fc74b0aaece5b1852d471be02adf9ce969c3a7712587b37e75b7b246f7177a6f993cbb87c56df16892536f72fa51b505bce4a7913c5a347d7f1ba23c5d7031cee9b9e6dafbb2663d68ca786755fa01a0fa3ac2aab2e10680f6d2c1cafc4d70bed2bb52b09ba2421c2e56fc588be9430843fd8373f939e759069aec6e81ac03d7168a1ee1b8b4bd3cdd9969ab0f716310a627db81d87d22959a3d884ba0c6d2836c1d2e8ea22fade7501fd96f743b9444c93e5e63cb24a4227e321e31d53fd21e08426d5eb062ae218243758d98a1f015efd04faf83f58f582ae4779a543aa1ae696b6e141453cf8a86540e02d5c2878664f11822565e642d93804c2a672a54aff033a7e27aadd550fc0d3b965dd159169cd92ef94445627f18312850538c18b732083809da77b2f5a34bf454cd3eead59a91116236e9178e8aad9783a45913537c8c32c522b939a7c446ecead338d59db4dca5c9dd304e47555d9497af159de3f4e451f50b84ec8f1105c0bcb53dda29b7da28621c86c7874b4adc511e9d566007923b7513e99c860153f6718d54d414d7945249b3f2acf169f909fa406a3cb5b22cd7b1040db0bb27ad117f577fd32661cab32e3d700e0122844100cc569b42ddc38aa0779bbfdad2ec2190ea933ca74f33d826c8aeb11d8020a54e998b741d1ebd7d418f59e106a4a3422b7a8fd027334fb7d7cbe23aa4743349a47774ef89968975822a97f0429f29b30d3b0afc33e7e8069e4934523d9f20b5b9fad26e2af23593442d89cb033b87a63472f0f71d26044501cbf784d1a4f9a697dc0aafe0aa874334d1a2d2e1dafff33a4c5167ae71c5374630fafca3fce4475d580b695c3484c166f15b03f7af07290ad82e7a03826299b483569c8244d0ff9ab703b03dc853298eb97beccfade71f70db7cdfa96c679a41fe69653f88fc3f4585f37bd1114400f314dea971ba3fe7d52e0f0ec44286b8d102ea5b0a73386117097bf659f12d78d38d91c5aa8466b84f69c22ac7213bf0dae08a130f3e9594958e9a772810eaca09b570df18a05dac3d6ab7afeab0a11a7cdc8c88fb4f9331d47446ad7bab1d92d8f4fbda8a5c3427f2063315bba12d42f00fd71f89d07e6a2323048890e086df0ad8796082800e5f07226957d0a337ca6e700c31ba3e065b7297eec9582fd2c8671b1ab89ac8155ab97b29c7ce1884109a0fe7c3f6d5592876dad67c7f78e171882cb26eb8dde6bfb9f170d84a46ab0671e40d8776d8e3d20ba25358c358969aaff63aa7f0d352207d46a4f9e3eb7d1ce6b47c79238e142acf65bb569809c44aa75dba9d14fe1c5d1cdaac94705f0b901c9bcd98e884965435205f854bcdf80b4638a9c4eb7385c253c245ff429ed594478353b82cba1f91a9f9feb057e002c379d7b7f5a32fe808fe181f081ae5e99557b808fdb7b8ae8b83d66d6ff3dcb51fe46e07335eaf775dc0d5d460daf33ae6181307b2e2a0bbd7e73c4ae0a6d659d3bbcd4dfb72a19a5cc5750f897da7a81ef134d45308614c634d8f84e8081566284c64b1b4bb7a57cd9b89c728e453a6ab0d7b978535abf63f198680d3386f3f9de42ce43335bda31da166ee81d55b3dd214433fc2624f03a412a41040f161bf15054ef44d9286cdc59ed1dc932c5e997a0a56e4638cbf1ed26bddea62bc1724993e3dc885ba31d05349fd61b3f8ce94101b2797e6ac09cdd1fa99131ddc3a0f098b52e821ba863d362d13d795f4654eddfb0a859a18e8a153046b9a142e54b083eb503491c897b84f221b22458884af5965039c14f4fb3a8a68fcf61050a582916a75de7040ea40411ad2692784342000221ec15b0c7daab358ff75c65a60751ccce4f0f9816dda326a17e9b5300de821759caa343fad56e6ecc3767e2e14dac62ac773ef363654aede4518da268bd14e951f6522aaff6e0a6227196c2ec2c09b4a6e720889ccea5fc31eeb9bd9ec3fbd98f89955f4f303527bb8cfd985491f0628cae87b475d4978a96147fe34d9999268fe4e28631256fa5fa2f8cf08ed34bfc8c88e3bea38800471672379b54df07f713320c077d81c7379a4c7462b0728489521335e7611f44462a965420c3edbf73941ebd876267ccc12c1fbbf5010013d8792bef576ff6899d66975fa31c89ba2130c4ae64973969c26c86715a9a8c5212023f7d9348b67ac7d4fa948323a8aafe3b71b45d6915db30172b4a02e1bbacd511c0f7609cef7d7a30660272dce5f5d2bbcc9312502df80237c6fef8ed4d86a89556a6b4a744580155ef1fdba3ada116f6c32856910c0c97a3a04e03e1f3ac698cc4dd1604915f891c8103c30a093d69c0a7822de861f0c75f6e49845a7563aafdcb304c1a055e7ed8db10d16f74a3b695da19af742dba05611df05a95755de80c23cbe93fd7c988f29bfde5e3d7442928705d5ac9eae38f830a76cb3837e0dc18f72371a5c15ab7982ca686e834831c5a953957170543f3c97248a5719a63752eb7c81e190b2a294529051da4f8d73c081aa6e7405a2f86311550419728cd3028592e80e7cffb1e8d11fd080d4a31520893690970e7ce35f1f909d5c700ae27e4f2501965d9ec7b1c3f89a1c21822c3474e3b2c12d50b4c65bfdfc3196c8ffb8683212a35b15709d764004eb94d443a3ce14d2b2269f6976f97648ea6e5505bcaa0c8000315d1dd35325ad57eb6502c1efa5e1e273602b56f9dd0eb10883d862b0e90a2b8d518ce2961f7362a66ad16a18b20284722c9560c17c8a38528ee2b7a45e0cac42aa2d96fb3188fcd4bf2575305ccf29f47ddb5aab178717086abb4361ba960c4ddccfaf8b8607b2b0ff691b44578fae094088c240a736446ff0cfffc032a49def0973a4a18e049dec52412dc703188acd87709e60c0d4e8128cc2ad37f996866abae0067a9df055f1bd025829b9b38beb41707e2c15b4efae2eb959af95c7d2806fb2d7a1b1e85da721adfe4ec50d8c1bfcb7744ab0edf7e5090cedee65f765ae265d54270546d084b2380d41a30fba25d3bff6dc590aea855bbb40f2e0098c80d8aa689e1578dbca270a0813594abfb4d809823f975903d23f59277fb845517f5c3f7e60e5e6b83276800e9d691c8c3190d3aa2cfb4e60416031ee82aa1f1f6db16440421a3d38a6accc5ef6f5f1c837cfd64b61d1c5d75df1a27dfaa85a5ff6f5dbd3e49e36931b3beb85c07577c68fc3c15613c64061d5ecf03d944c31febb32633e1a8779f483e4b172379f15cd143cf343753bfe9089da8267a0a952efe8aca249c7186106cacc27879e8b70ad62e019f8ed1091c555f42003c315b78d1a03df5cc40ee754383584932f9318d0456aea88ea7791ae3a8e54e3115424629108cea7cd4fada28a20aa3a5db321ac078948c76e8c0887f0ad46a4c4531bd99b1e79ec8435fcc47a0e39752eeea0842a7c564dd9eb7a7b5f6b6c0e10e1c92720f8daa71369c6b47a2e6edb2d7b458c04cc7ce54d36d3c357fa631594aa6f443fdaadd7a211a76ea3593cab7d65e5c2920a586992187c746133a9ab851960396ecc971b354254d8a6e90d7569beea614a478a8bc56632d535f23a0f2a65120afa92209c2b3ea7564647f04e834e0541239901c53452598a37bb1e1df5df753abe9a0d19c1482328386df4ce6e7d1052e5ba13b14d896ffa49691528c0e8a1cdb7acbad83c64f09a7899ef49fb0a052ec6503cb8271c9b857fd8a5439b20bf823a0a3f51b2bca5b61d0d54b17d269c82c67e35bdea3d420e756c27315abc2bb35e84021eb6c51907c3ae7e869bfcf7cccb74001797b939be81cbef14730372d7ff574e992a622a7d4327ab958bd506d7fe85e4a98fd3ce28386df6b208cf4153a88f748a360547ba33c66e5e53c47254ead394bb7e2b19276d66fb522949beebb84ba29b96d2a6b05569c1af865324d0602cad81ffe2ad25dff34e2e2887202fdcf94917f83b53865f894f950994c4091cdc8a63241647cd53f56bf5afd35ecdb10a953fb54e1c58ac5abfc1324ef36cfae86e5fd16739ffe4c28309aa9c49c681354d61bf9687a5bd7a33515ef73a82bd69267551765e6a6a9b41a9ebcc8af942a97710fd1782bb40bcdd220166ca26e2b3dd1a83d0c0899f0b29bce5d5131491b0b4583f6bc12b693dfa7a0cd6736f1d684eae937c8a2ecc63088859c2805c8405f6af31c1bfb513ca347ef3324d03a1307614cad4796231084293566665ba8d58330517e3fb9346dbf6b3d619a2493e1b9ce43ddee4e01d595f20ddd0a215f589ffc79cc811069f039894aae6fced4ecb69ddf1881bbafcef0f147a20af9fddaae398a2f47493be806c68f94b6ca0f2bb39ce62c2d1a7d8cb2791284841ab70cee0541d532bd2f8ce3f3589215d4fb13637652b233bfc96a5286cfd30de8d4332a3d3d5d33d7c0ed877fb95cd4747439a20a43022af44988f7d808906e56529b37a9095416b920bd550eeba3b14a3b85b6f41985fc67e6317536d8dd0a153796001a62929b55e79a4188c279d39286f3dfa099b6455b1c6b0234f7f59f7a7846e204faf19b4beaa4ca4408e639f1ab2257d5ea30b81879cbe23ff9eb98be04e1491b07e68e846e359af73675b03dda00374bfece93183efd0422c7c3b4048dadce00034302aaaeaae1a14f49531f22a32ede97897774fa6c8540387936d5ba828579dbd2084e660376d62ae370d80e89e73515b0ae4c851f62409dae7f8bfd9978bcdc0d7e25c90f27d723b445e75e408d7e2ecde9d834caad35c94dd663742656decd39dd19d80e441635a562b07e491df39ea6e974634f8db473a2f9f90b15f1335656b5959a10c262668176fa82efe2504dec4a81b567dc5182315c4fa410f499b001f1a47fb58137c3cf0e63c25b42e4843dc12cde19ca6baf04e2f209ae8c44a1dbbfe029a35fe8b93549f92ac2e32e047aef3ce95cfc19d299357adc07f91fd24a7ad75600142a375cd9a688ef1d2de778eba17e558bea5df917a36a469ef2d8d43d96649e6297f464a6272da6ee9246b3804bb1fa8970f6cb453dbb884625885722b8eead574eac95d7d6b7c333fe64bcaf7fd4cb8faeea2fe5f4fb679329c866b5e5c40b859768b53fb6434ee7f3d260fb77f1436e3844481d43b5621df8438036e99ff43613801ee937149ae42beb9f8bf5cdebabdcc693087d504510e6931d459b583c99d24f875e56b155b6bfeabf281e3de9e43823429621266091d2d13c915bc59f7a99550c825554f73f83061407ed0484136b18d162238ca9cebd4cec7c01ada5bb8f538756ed9397e196c053d7d465c3b5d67c5591b8e29e2c284c00070ee223a1b81a635b6624edba993e7468746c185c16fa4b57402f5b4c96d8111f25bdea52038dfa505a72ec6b9dc65fb1956faad15422eee55333ff460f88053bab0c37ed99722df8758e16ea64d61a066d724de979ea76a3abfcaf97baa324ebe32b42fab68f2580b34ff709d06236d771b7620a7f78e941c02682d76674f8ed3fd6f84c8e9e603863e0465b030fae9a2107cb3dfedfd2eec7b0c3bb424311bd199a061250502b3e267deb0dba85de04906f7ee57943d72437670e7d581261ac6e164abfc958f88a631ee3ecb5ce87e8234351c0e124e8c6481835c50a80e4f3c2e0fd69076e954a3ccb235b898a74a68709b814c061492aef584cb849bb48b2cfffe9402be58e0776cc325221f43c4448b626a162b1051b7d4e56a2561ecff40a81211d01851e6638b16c08f14e03f759a2a3057e2a52c0fd9bec6e8f03baae0dee12f1460c761029e0d1bb862662789871aede885dc779845620adfaeaf1b59ed629acaca35885954b9a903267af279f8531aff91c8965e65cb41a7bb06064264e526646b861ec0e563a2e83ed6b901d708c53821e1e9e8c99f5601ae724d27633b8fab8df185adda43958cd5da2f142d11f389c2a058782c716ff7bcc7ae19daedb2c555d0b40dd20233bb84fc035f44f10391a33665eeb1de95800aab003779dea1c1eb88c86430fd56b80f935900ac6c2d8cee7d12e87ef7dda7ea573a8c4c3b0424a95e713b3b5a4f9bc2490a1816f59df7e7e811a02dedc5f3e8aa32dc0742a7f4a42d2c6136d0b64ed1d56776c7d1662c088bfb689c1787093889b5cd3f647c8436142a24e894ab4cc27ac474d3beed3b4d03ceda2f1e0b764091a52c3825cc0b2276e89111e13d4cb02a4960d878473052fbdac9b16f6d818b8f5bd0a20a876cec16ea00e0fb17cf76a33c9e02433eebf9b047c5328a0b970aa4ae3165fb2910c5613a15c152253eea379081e15b1c9418385de386d386461f3d7a5e37c50d141d604cde30d1f3958f6e69633e8345163a006c2118d54309036b2c94a884163f9cbe2c5afa784b415a3ac9c0a322dd162a0a1169ab6041498348259b48c69513646a382b5b5f163d4409603595e4004188d2d6e786208d6116c9622128cf58a7d4513e36261ebd973a0a2055e138da0038996a42897ac908dd8ac8d3e09f8cbbc4d8a45996e37cc7329bbcee612dc6bbb550adaf0ddd0c6374650ce09073cfbee6dbfe090a61fe492c96d057af719f7b143b2a6b5c0c09c9b22672ecafe0d3fe064cfa61bdba4677d06313108d13d4633156006397d27c44880fa2da1253c6d1539b29205780af72a01945c3548aa4262ce39276376b6651ccd91315949cb99fe899a96587b9b4460c7a3d5c2798f65b0e7625d6a9c28531917d1aa1b4bf2c13f5acbb3b43e75a6357a579808a97a151af403602580e4a9ee622f7d4c81698153d1a3960579f01e7231aa3deb341afe6ac68d3e666a1a51b9bb4c1c389e5f6c22ccf8fcf5519bbcaddbf9603b4fd74f312ff0a6eeccca2dd9467c05efc598d3b45770f374ddd1decdea11b71553ecd203efbde102b52f91ce9a40a018c2c651304dccf0c4bb6f13b2031e63e13baee915bcd5ea3e038135993869a254121f51a4b0a77a7b8ded3803e090374cce2534e2ee6a56c0a1a6b4a4f0a6cdeaad5616e08db55845b31b2679e66dcdb702d402b2e58eb550f0cc73f4057cbb050c60607ad425517d42626ae065bb0e687ef93f80a19a8cf41ce3c7ad75820590031dd4155eeaaf744a6ccbe10dd3a6ae1e67a788f124be84fa2c56c1746dca4c570e15c93a04653434ef5d93803172c4bb02d0fdec0406cb7691c74a0e444a882a664b5553d5a4d655979a4c8f25ecef347f1d0a76beec89f298eaf6ea04f099689f1c081743788fdf07e1e43c78b41b0ce3509ddb430bac2a60353a9682cf19413e00b05fd99230c50ddd0805cee41cee2566c75ea149c0d714173205a840312e4dda91d7319f5c6dee5f16772bd4089e97bbc993716cf1a54e30c5ac8933c0d9e0ce878b827b20d41c34e2c86dc326afeb40448e4b810749574976ac0ccb62aed827c420f411d7550d3cc3f292bc56537cd44dfca3f2185a53e96d73425392b4090f19ec4a894e61263d5c07de430f625078b8d2018385cc9c98d30e57821473fe4bc0ccbe5919c677a41578c377ef48c747f69fe5a2d137d5ac964dbd161fb6559e2c7b008df824abe52c7849b472ad697f8b5a6af9bf337ca1660caf91045cbf02a8a81a9ee23aebdce038f491b65ac1e0616e023121a9d61565a7ea1334bf8d410fdbd5459382a4e4494a9fe8d34c52dac1d7618904216f4dd0140c1a8b56a814b835d6f1ffddade80deab5d612156ed7b78e4598787d79066657fca0b1c0f34d73118fe52bb07abf88b80739417427a0f94ccdd60b1737036c9ebb8598e300d59c180337e6a0fe137a70e7cd24908d9305930997d75c64d82a3f5a98e54bc803801465140e3f482299b02041244305002080c2999d781d8d94492523c61868e73ff419607d407c11c525aa4a5b7de350ae418ed313fb07c7d58dc42019a1fdb450d7c4426859a1d9494674cc33149441452d166fba10f6f820ff0009db08f5a0c17df1ac712c7e967e1626548ec8f505f0f0c9f7d18d14cd010249e9bb205f3ad582f6bb8170dd1ade7312a59b8d2600c9480e9cc8d5f97caf7f3116e0e0cce639c4580e084c6c876192232d4139044be4ca312c09e5feb4d43422673078b340d8e66f3eba2fe880e7777f37dfd5d1fdb0b0302dfd380f2a1c9030fa44c173ee8173afb41eb79270a4874e29c1c4f29cbc4481cfd39ff023c94c21d3049bf20aae7a8fbe7f55c3e7858072e5312aa2399811757c0aaa9ac2b0da601f0f6b7a717403e1ab264a3b594f66bca1f3f66830b36f50017204026d1272e6a279f132ce942650b8617c22935342294b2f6c987607d379015d88c22b6565c21b4060df4388ee33fee7a40af66b5a2f6be6015db0bef255fa7814af4af1d03b9e85b1a9dffee8bca89851181df87250f23a48017b0286f1279f357c328c8435e6880b67bf850a9a088e87d5a6cdcdbed09ea0c52843c302abba8f52f946fffef9f11e75b434672be6fe441839f690adcb2ea7c091da4a8e467b08bfbe4d114bced17c358e8f815c32dac907c9a2eca570b7886e815e3bc51470bcdddad1021101b21f6e2c911eaf83fa635911f070e55ed2cbfa1d300c4fd44c49064cdc5f494f377cb5be222d7fe4d0633ee050452e8f89075aa8d3da8d157fa6470206af42bbc9a777234c7fcf7289da4bc18ee3543d40b9cf1b5eaedf712b31cddfd9fee0658ada83d323dfccac6c2c5851c0352a5b9e4f79a9fb8e71c148259eee59b0a475bd567341043e915e0a54608bdfed35c79842b93564713da7dfb9c91291cd3c2e44608c16ff87ea754d108e0641e3148359ceb774ff88530142705b60d5c985f70ed76a849d30b7c76d323ed5f7581d7e908e6473f27f171e82d7629b20279d6e1d19dd733414732b7560355a561d64cf059f54d1bc008160439c321f41ad85d8ff52ccca83ef19063d5065fc1c879e36739e6f2be2e29a6d4b374f14a1f9e66b57d8b8c8019d3a572bc6fbe6987f16a474a9fb884658e9c41bab2188ad6961be852d693ef7a1c4cace205bf8959be3800fd62fa4e1c588bcfe01589236761e8eb2e4f5151df9b31345f640ba686ccb73011fbae343986e52b06cec0e0a48f2ab9c56c9c06d2e0911c2c8388419c21e0ca62ca5add14d48e88244bfb469127cef45b74410dc1a807460977658176810a5a5fa60d15032ceeca5a34ace8467dbdeea538d409798dfad80102278d64bec1808c047c8ae88e568d2f909e2dc767f6b64d74d4db6b5ba8d6672543099378149e4cd7b724f4c59cc2db8deaf7f90d0ecf1085a4d52f4aeb53e035418109fae759bc2ea715d8a1ea008454ff6ec3b0be8c06d95164af08ecb7629ea66fbe21b5549e3160457bf9df236ce9bb1cc076fbe9521fb3d7869658fde72cfa54a19f2d060baa9b364f2c18ddd10ec987a0197d6f6b9d46dfdd2dbbfb45a11e75f34ce2c3da9b674a968c453d6b3da2d58c945f7d6e28664bfce3401cc7634dbfdf1eb60f00be65a798110cdd5e1c13da44e9219567f6bd614089bec3a24f88d4b304247f8106987b09c18ccdfe5f68bcc69b49c69a915b28ea2e9fb258e6c7369f43b84d134a5166634f2cc1c9aee654a3a36e342c1eed857ead16d2fcc97264705b1746314d91eefabdc6713704b61ebf7b36d053b7444d1e040eb9d8d7470edf94e557fd072f6f7dd6a00856f60fa5e56daaf4d13dc38ba3608b70d0d4c6f68ba6399f132d4581d4cd1591fccfe74a77791d5aa340b5f30b2241843dad345fc31cb5572c1152d2d38b5342fc1962ee3892fad973a37d5b58cdb277bc56aaeb6b7115affca6e16bf45ed73bc27667007ac43ef6d21c6f0dbec741d2f4866e2ecb84516070d3fd811b7a1b465cb7808d7c18ad42928e4ce7f1f947675455d6e021582231e1919b0494449331aa1a11b8b7c95e7d2469ddffb53f6a9192375ef67371ade2b75549a0446fd21d639c37d1de5ff48d04abad02fc686f1454cf5c5dab03c69cdd4481c7c0c4289c70217bb077320d28aabb27c6e95e4ef18c5c87964fb90afbc355a6a85dea9d4f319bfda7fbe9bc58640a632ea7110d56ad6438ebb2a4daa15169bb7b6e423d553b7b4e04185642a2f91bd26d806fa757080da259a7c82afd382edd371aa733eda172a0b4da0b31028125f59524ee01f6f6d079b1b105441df979c7f5bf1d6140b8b3d234990a6bd5285147a8fc354e83b138b05e6f7187e0ebec598ab578382fa40c66b39439437fa8110c951439f66dcfba72fb913218a4138c993503b7cb07f59a61ded7122fa8894713b0e1cae1b4688007b7105dd1c4542fc8d90c9003e1996bf6783cd1870cd4755c7f297b22a63ec3dbd7a3823ac2b887923500478a09b98479ccf68bc724a656710ede28fc2c0b1ccc09f8115975b0378bb43828978dd49945ed4f555eef9f98141fe5d7826dd6e03e0250e2e03fc472a6f37276e8bf5d6d4603a541f702499b0ca290fb3bff2ee0d1b8137b4e23a8f1d4a7959bd0929299d82a058b630125367f42a48b2315472f9f09201d236197a692f89d12c55f195fac686a25cc70fbe526f31686dab52f12fa81bf80856a958a7d12a326dc6c62a898e284642edb92a4b5e7df2351aab2ad2ac9f2af62664929bd9001df3ef2fedcfd92444a07898c51d650d5d666c04838b04d7f3b511f817d0f711a472b653b6c8afea7f06006dddb44e14d5b7807a4e16d7212c977779cec67be18fb67b9b21acd2ddbe1d0250a9771910bbee10a859f2ca637f9e9355ef3bd66fa345c42866d43dabb47fe430384756a1488400844e4c7a3ac3f72ba265ad5911fb7e373c524d207ce0a6ce748d6c61ac29b9b8007a6be5a6cd2a05481c5bc8a0c82142d12fbe3d25c743a07b3471d933d23b9ba21fa83fcf1130e3f0305ba2c8c5893bb04e7f6a643e74ac903a8cf7392548741b5fad7e4339e85b2948e2277eb69caae0848d943b64dc21e5b7b7d881697790703bcb4cc0b02b0778de09e44c2faa05ba56b2e6c22edf10b76fbe9fb704ef1b0a7516568986ea02dee23bda5f3a6add9ebec72eb2a4cc37b06c699934b3e8028538387aeac119a360471c7279f4a913f644896a3b61fed9c4142bc2d9363312cdfd96feb52e03967cd23ab15fd0ede92e05bb2cbaf8dea392fea1cf7bc8bedda9ec9657a0d3a0b62e791f4b658a34e123a2fd112ad01375d3443fcd44b300acc8d0d67b608afb44af5a135e9ad0eaec07ff8ce7d36a09f7804c369874bbdd698e5cad9f412e2284cfd1c2f54e581970a72d90adb0c000700fbdf432b472917f40bf58f9c10d47254470991f35f7630b9c2bac1c0410527d54a9fa0e4ecd27e5d9c9f84d5ce4f40d6d42c43ddf7475ea7807ec928a5150fdc91919df8682de1d6a36213efdbd9bde95f31c1101048efb3924316b67e1eaeab785b873d765c2da03c44eb6c024ea53627ba849954ff3b7deac1102f84e74c6d75453be0ed8ff72be8887473948768845f472e298f544d071e7964304633ab98e964076dd77231b6e029b6c6fddfdcd41a65fd53e39c7e5572731dee06f024f8acafd20ec1edc3e086f2af82d5c7032bd25bda24d09e84bda71a99cddf8d6e41660bd289a1bc051e8c20e9c8c2f53c992235957f62bc78087b7b041f1d7584dde96edaf2eae13f358757d01811b4391b36c04abc85c0b9f6f18b55f1af4770cf65bd687e6e2a71a75c16933994924611c2ec31582aa7bfc80a97c3f1cf4f5faf47bb311a589b21a9537578ce9bebb9807ab222c561c8bc3f2c161558c529b84b4d62aca58c01266730b30554faf09f0c1e6caaeb69a118e46f47def7309739dbae428b648bb60250ffcfa55ccccd9fd0ff852d6f959bc9bd8dbbe7c1b7e8692db128f6fd4bf8ae89eb1f20156bdef8237c2dc8e0c10625cad5e01e2c7705e8ed690b2398b4ff60266621b77c3be38b48c0a4a4bd281f1f1df5a0ca1f97f230fd1b39afa9d39aad9a210a9b4a618f1783e40b303735100a5647799355c7cf362affc6517ca10260777076789d40de5a77da440977697c767899f7470a65e7e00f65298e6416e1d4f1f935e562d529e8bd0a52a7321398ba7bc965121349a51c64fc9bc2e8fb29a53910ea9894ef5e91e6b949bd19cfdcb5da9ab16735ead616232e56ecd383446943bd3bcbfbb2a9ca2721b790a4f971b1b4a23f238de0df591f945a1648bbac9bd68a1bc3f69339ca637489c208f3cdfca6f5987e88e1dff065bfdb3738d527a519c8219bde106c233cab3193070243be6a047703f0a3b4f43d47c063dba329236858b151d16be55e6c0c45cc8b4926b2cc632b295ad856428adf0915e1f0ce6868c953a6363ac01db6c554843d3848df47760662e6459c93516631dd8c2d64234b44e58a4b70f067347c6ca9cb131d6902db622a4a1eac2456a243c45358bf99850da6181de1c2435375fb7823fa20e68ca9a7dcce57ab98169cf03a50dbb9defcaaf6d86d8251337f96e0b0e16b92db2fab3987c0400eb58d6556b929ad7315a2f565f8f1c1802685d9225c86ec3b2dccd92a35f3ef29145cc5d711a0434af75816dd13b1b69870d6ba1586ceb7fd5475a415693383d206b5867dd794aa522eb4ba48c35d38aae7f53f2be778eb4ffa7350070613f9d5a5f35ad6f81a8668916a683701edc573b02836940ef8d3aaf294fceade4609f3e6d8e569fb564606bf4373d95a1b42cdc6267fcdea4c7cc3dd68536a706bac7c656853b6dfd772b5a37a85829c9ce5222810c42693c52364189e9f8840b00939ff6c144c6bbd1fe332a38ed585b3cc12163e27bac33e642194602447a7e3d62220c30804c2a82d82423ad52ee7a0d679461bd2670448bb780fe68eacfead639b153997577c24878afaa9863430752c56208551657730caf6866261274e52db233c4f1394e389134b84c5ad0dbf6504d904d650af66f674f8df79808a256f28595770c6b7c6a0d8dcdaf06eeec118825b246da4a22b2a268e61f43235bc0c152c1c102dccee023c47172013d30279a8c5f6b8901317e722ebc0214f68b34a7500ea5cb295a615cf42a7011651420cfdbfb699a3fe867ab4b1d03da1188891e3e8cd48d0c2d16d2928855e416ad18d2a85861827e9e98e42e592ef38d47ac05b7d0ca908dc2151ef4e7c5446ec976196f7cc42e748b560c6174ac70413f5f4c7293accbb9c623f6a25b69650846e10b0bfaf26226b764b98417cb536c23db747d4841cd8449b45158bd2a12ef71193d57a534e3ea93cecbed9981528efc6de61aa90d34332a0f89f6ec52e6acba0eab80ad2db81983f6cba77c61094075515690eb16b2964248a47079c0f5bef7685dcf99db24a30f65c5ac07f6246801e6aa146f2c226238561a6c0ef6241d38fc2e1e46667a89e7e52077b14ad91a8699dfcd6a3bbcb3e815e2f66f9a84da9d16ab8814f67cf632e6f4a6a2ebe0fb4a45733a0fed1ab13520a06bf1599c6fb6fbd3a241829f0841cfb82a4b5c12d82436368340b4b8742c0111e99f735f3a7c4395e13a66448b7bd171856c0679dec594f5f03e9399b88ba1fb233d8b118b7c71dd096f2a60deee4bdcfb4c4c215735631c1ea97a7a57932903596199eae8bfed32abf97a59392095d3bf1040915b45c941231173f2f7d8cd55e4415e27effbceed214935877e931430e0fa956c1c42f59266e451948f0b50a5278721f544693be2fa0732eef3572f771ef9e908b5e759ec1fbbec9ff0dc0fb9036c9099edb1e7117c22e5909848ea212c20ab75195450c18b038e0870a37a93024ace9eeccc4da99f267229372975d041a97ecfdce681fc9edcf5c30ff05123560e3d597ff893ca0b2335f332b77f2075063739503b33f776c07446b853496f45e5256ef640e84c6efb40ea0cdcee40ed8c701f25bdd5b14b1fecc1d0cc0ffb00de0cdcde81b019e11e25bd15b14b1f9c80679ac1af8263663333c9744cd98c646a931ed521779959a6c744be344eaa039ff06bdc037ee2776308525a32360d7afcc7a6bd3686f4005ed8df583cbccb87469204f68273dd39f58d9e86eff9351ae049c88c9f0d320926a9c0afd049fc6b920d8e14b5a20ff32535b85bf93702c079c894af0d2c2902d2c73f5d6614391888d502f47ba38781852fd08379a65c4efd0cf13138995304edc326ce33bf29e1d01057038b01d9dcec438327c015c621479febe24ad2c69ae4f283ec41aee7c512c778f5f598632dfbee38666cd6c0004a5a1ad9232ae99583549d7abef26fe5fc4bcaa64ee0bff2ebb33b4506cd1fa05ea50191ed019a16c3295249fdb7feff5ca8a6a7f163da23833fb61e497e649de30a21e9ce834067d14894d87de259a4e75e9db3ebada98724b5318f1aca22bc2ed2cb2b4014f48ca9d879c61a4720ae38a9c2a7e80efc6315ed74bdce8384f07476fa461aa9dd28229333eb4e88d23a1179abfa9f2862b9db884cfa9c489bbd31e47fced9b22915cf48e19b802f92494b36de36be2a9eef36fe85dd04d023462f1920bb4d0e28c5001d1ffd101d39ed9dba9f806af022c63d990a1d92b04d44daaafe278a48361666913e27d2666f0cf99f73b66c4ae149a8f2a6c114d9705b7d2f71ddf04a327901ace84d6179de73d3db2a55665a56313b5b02a88fcbb9f5dc7b9d3bd94651986c366444d1eea6ea40ad00c9f0756a96a96a18d90e3347561f333a214d37badfc22b31e5e290d59c6e3f209d1bcaf5f82b232c1a395c49e1ca0c57ccb846864b3cb64b28c5ebb6aaadfa4611e818fa5c246cbd0e68ec18588f6d9ac41019e90c6c99ed7324e731b39fd954d56f09bd86654225e13322502effe635b1ed8d28025691b6a75bbdc52796741dbf3e282de30dc61a82ea89cf8ff1c895b7d65e93407899a96d211018e73467d24766fc6348289779d73ec0a96a7386f8bab50f70b2cd150ba90ccdc4e6a95ec4871b76f0766a433cff070839d6b46c8d8dd0f90ce15ecc6a2eaa61e4c6b6fb378c597fb904c039a2cb3c8a668d951f2e56d555e04286aee2561f35ccd02313e84d8b6fc64c887d12689c9bdc6b3fe29855b62a65fc7f149bb671aef12414c4a017a87e96c6d6d458a1432c3bc26dec0c04709f13e0df1f852ac5c91898888cebe39a4529f16328c76d4a107f5244051c4a003907dfe6bf8639ff4e98da27e46c873d45166cbeaf4d81389212b50910e625d153fd1ad4078d6ef834ceb0f62fccd5b53898282ca32b8886479ce02b61c23e84ca579caccf95bc7610222a10d965cb184c567571f815c6bd8ac89e75800800660f10abf4b84af1c30bf2de799dcd581e3875071fd0999aa468b1e5d7ffe15fafc30052cdf9d25ec254de0f57e521b0d9c0562aab9b9815fb8914b872693372d6ec34c81362a9b79df0d2122ab9c5a3b74da69aba95b965c665786116f831aa7ddea8700647d687688897aa4c589d690670ce5b1b86c2bce8d9b31cede1a31c05af768f2abd49182d3be02b9ba6aefb200537b1e4c3791ab6514a52e1b412bbae5d5fb40140e28e2681013dbc0555c8c60f12182d9ea2cc7a69718963b2c691d0afbda3cdb542fea132d84acda90b950882bdd7bf4afb013057164ab60cbf4e62d67fd6ac2cb3be3b2536cb07b3e64d5708d0a0d50457300803ea0d3b66a58c179d9c9bbaa69efa3a932d713adcc05564738566cc25a972bab739f65471ff7b29333a61c348804d56f5ac5555aee7da0520efa7ab70197e9d9a6bb8d16f7a1c0aaa44b4eca932fba4b2758528638a9d5c6f4f5392d0439bb0626545e6d927c766b68ee06ced11f447c3b257919fb9b08bbd94a1692358680dc127cd8c914cf793a09fdfe6876726485371061482b4b2da50595baa2c2e464b85d31b88b2881f570392d4d15c52dd7c653d745560ef7e537cf7c6e875392b4d78c400438637409c845f48e936248cabca3787e938d2e5cf19a640e444159b64f56b634fccf765caf7b388c898de140c9db8e74d501864065298670ade8b7b16dd567b1ef0611f36ef9729645c8fb07d55f19fad744baa6a4c0f7b568bb3dd8dfc9f3f6b79f405b06ae194d17c36c864eb12804ae073d63cc7cbdd3fe1848faf232f064ef319970e7eab9f694394010b261a089c2826d8f260636480fb90f513d411018e9223ce098c2e3449090cda3b766c483619865ce4ef102b0280236f3a1c65a02f4e179c3ce86d3b7a91a02a50a1be9119346a9f49779322689ba5d143cca27f786586ede06c924b24048b65062e3b72be4543f7fe8563652ae959115ded3963b97419fb99002cb68ab5e97f6c347ab66a6416976759feb5dce08c1ca23a3ad5f70d7fa4c8d3dcc0872845332440ac483b4c66a5bf11be455b1a90d590073b0fb16dcbe4ada73dcc2dcf0e6f3f79cef146a2a7c1c7e3a1153486b1e6851257d82b3a2d121bb3708305ec0c1fca5593db1f7e0b4c4db26d03f5d48d771c44e97df64ad641c96b9ad29a03442923a3a415d928fd35371f284e57dc443764c25e9bf10043cfcb4ba8494a63082bc8bd0544a2e88e864bc8c6db05aca53117d039a01303c62a81b2053d72779f9f9289d39aceb51649770329a059383ea42c7ea105c2663c60a89f15934563ebeb755c63b92206e34d7d072ceb045eb0f21d36c8d4af5f0dd641649230d55d2c1aa85a2fe55d8c7e73f11c8c128120c846283127e752690851ddeec3a445a9c9d223f3a20803ba8e78c65ce67ac91f7261fe74fbb2931460ffe5aabbd23b1fd8fd9744c51c4a648e33864fd572a28a9f3ad9002240069d7b87b36b78813ccb439e2ac13d281391619428b6bb996ef8b221052578f1f8c41508e0ea1973b37f1213da766f007ce4b864efe3ae7d7120a1710d1eac9ae4c5383ea5d54e9b740a85841f42cb3493a6cca8cabfc342c6b8e34791a3f81d54337e40f7a78b8431d2290221c3b20f0ec000ec60cc121cb89eea4ab5c50cf05ce7d0d287938800f339736107d0a7104b44167cad4c371beeb187fd287867980522ac0076d37e6e9e9b1080c3eaf1f19e2f0326cf0223ea590f6c0cc866908c419c1b18254084935da64718df68b9fd1cfe983b743af8728b795d0a3a742085b1981add083be8eca2da8180d1ce68d374f86d2db7611d207f09c8fcc01c653e4838e429e70e36ef70da748c4be7e04cd3ce590664f939882352c014803f638e98f049f8961c462887553a4ccd1612d0b6e370f3a22ab617d197f9ef7616387b675c7f95eb21c0ee7937b771f743549cc331ae118fe3134c800bdbda1f8dc222da8c0cdafdb5f44f0a899166a7f1e90d7488023a87de805c30903a4e07aa71bc116b521c1331ce6b30c1d991f40cec8d99a1750248e5dda2c7674937d8f8bbd8e0f2583c5204104889311052cc1a1645a318253c36990e0a51a1220c198cf120531ede279a33eb2624a4edbdf7967b4b29939401a207ae079407ced3aa3095b29ec23d9ea3b0cff79e099e4bc933bb30b73250e89245a5df704f0eda5c3ad08683e4f7f87b0b2f896a1c88029a9a9a9a6a7014c9eaee88e8a77b2dc54f29c1dc76599cbd74ead5eb194dbed65ab5248b85be58143ac553ece2515d3218161f5e3a25924d9e6b0599e65a41a6e1e815cb707b76e9a164bad373c53e3e383f71d0fce9d1edd09432c86579d065ca12213510a1c4192a68a241152a20430b165b14a08b2260174801b83cdab68d414d6b372ebcf80dfc6ddb36bb811f95be68d294f03e5f2eb6785c60e1bea8f2a98f4a5fb0c008d447a52fa0bc328ecd919b6d3ccddbdb5995ab1ce71194f8677b8eb31f7c7bc7660f6d18d881def9174cc0787914ca4f2797a08e937b93e338dfe139f771f20efdbc289728efc2ccc2a36a04c32c9d86f6fb9cd3b8c971737a04bdc9d94e7ae75a28bdb32ee726a5cf6967288fc2ecdb66c36f07c5b761d2f6d09c9ed8309c2d4ccb70b38d9d7d2efcde86f769e7681ecb70f242dea35fa4f153a9dcab5a281bbb643343cfd360b23c8e8f4a5f9cbca7491a324ec387beebbaf6bc7d87e7ed43dfab39f4326661e151de8527f79c86cf84b4612a970959e1f67592fb82d9e89c761bef1ccea9bf3a47e5d46136389537a843e559ece231ddfa8ee9432f9d5b75432f5793be6ec3686a9b538bdfd2adbcbeb927afe76914d4b16114ae6f3d6e185ffa17252f417987e2750743f911d4be86f529fc76c497937e1a1d7acf840d47fa5c68df86dfdbce91d825db5cbac439fad0770cd7abcb7bf37dca929d199eb7855feb67c7599fda175f94981969c1122957c4388fa003a2142cc0810887264f38e921d6b986e7cdbcd1dc8677de68236cf8eb963d4c81c398af5646898888886099f60012eb77286ba297387e20b1d73f3607b22f5d624d467fa3dea02c043caa4f9ce9cf2970f0f2d387bec11d43aff9ec9e2d233dfdccdf34daa3fa34a1626a7f68932d06162f945c6e74af7bda4869fbfc8e33f6375ea1a5a4e251ffbc86dfdbced9fc6babf3b4f3a673525eabcb08c24b7e30bd9e9c3610372adda0cb47db399d93f2764f72b9d53d29b16d589d939e5cb2fa9fcfff708e0d9b3ab0793349901fccdc42d993dbeab93fbf7e82b884144c8210e3079ecfce2fce2d14ceb7f313ae38f7f4f6e156ef8fb161f6c33fa4fdee081aa638a26485c2f33a8c9dcb93afc2ece3577f3ab5ca3df9a5bc539dea54a73ae519f6f6249b5ed51f7d3a9f9bdddfd3bf50526779af7c3c2bcced5e53873e3ebe3dff6c7e3dc69d8983686818e30dfb3f9bafd043fde45e7b8d7f36cf9c0f0eff6cce71616ee7a8371752fc33696866bcc6855c4ee34542345e24e49af11b6f64bc0617c938074ee34236eea2a199f156bc91a1c14540686cbc91f1cd69a068502800f84c48c333795a263ca5c2ece3e34f6e893ec61b2a9c4fb857a1e7281a00b061f6f19edf30dbf7ac7b27b7af85f6bdedc33d9ca37ce3ac6fbe813a36efd0764e8fe627975252b7f6de56cb29cb559e61cfe1ece3e339bf3fa067169ef3140ea27919a70983d0788d7b5c18411222877f40cf7486c607c885d9724eedcfe02031de648a7f6470529191c78a66bcc68b846c94a32451c47a0733a4308ad5b8bcc6856c7cc68b845c78061b796ca6c8c602cf790d2ef2f19c03c0675c880377799110071cf8cc8c0b01001b798c035c64835378a1cbbc891fe34dd6c073eec245443c56e331de64149e63797c9483fe8545443c562464e32e17e2c06bbc48c8c6c66b708d0b71808d3c66838b5a1ee3cdca5dd8c86335b868c66dbc59d584347c264ce105a679139f15e6e941f3933e40c339cd0c0e32e31d76fb0cb3fd49e3859a4f94af421a94b7422238311a38661f8ff2d40db38fff50610c5d32fba0fb6c1f34bf1dc45fb833c3055d367de6fcfb70a6b8e7f31f163e6ffff9f79dbcca31649c9f700671b649331e67b0104e2c4a3b4fbb64f4db5d32fbedf7edd3efb254ab5b2e59befad7d2401d9d813cf41cd87ee823c803f5ddde1494d9b7eeb527641f8890d874440cbc10a30c33ce688acd78101933da624543b119ccf5cfe43eef88ffb3bd758e4790fc0ebb64f637f7d99ec341f3db35cc0da59ac5c58baf4cad7ced3cf0e89e07a19028b2eb2a43b6ebe4776da5733aeb11b4de857d8576d18aa6237adae7c51da6ce0963bf729cfd280d7748e7a8f639116b786e291a8baf1e636ff15552a4a973fba6faad81336d92adfdb4b8a1abd030cf351fad8342dc893a32ded4881c9694961a9ebb4be8ade5e5d5bb4ae7b495cec9b6af3496cec9d239d36d97db2fcf2d463a017fc8c2ef5cc6355047e85d089321e7b173a47d85597e0d8b5f0dabe11ef7799c6c6e9e62bc51c3bbd07e12ec2a7206d773cd7364f2dc556ae02853d39309e34b270dab6188933c7099503e3d42a282b5f746a6c8e401ce91c946c364cb6dcb6dcbad6ba08e0edca35c877327916666eb52244b9166dce26c9f059732b98e0edc8704a1f3ea0e883b9c577f40cca9e1d503cf5647009eef0ef5dc7a95c7a8b3c51beb2aaf11ce08b3de85317e60ad0b20b4ee01eaad73fd36c66805a6e52396af7ea54ba3979c95813fe53cef5cdb5e1e8004bc6ad4709ce5db5883721cc7e120f914e71ee937c9c863027020f94902704b89645c85cee9bc3a100b40b0e65448eb08c0ab53a24e8091c73cf0ea02085ba96faad39084cea928b748b8a3a3be396a5875eae4ebd1072096f558f15039e820ce217815a74a61e9de047bc4867d9f6f1fe6c0f73dd1398fbe795ce85a417672ce4177ad203be1cf412cfb3087a3771e9de972deb9e751e9a50f4e17669f78453a98abb97ca0ef155ccd67f8d253f204458e571412c6cbcc082daee81225f68114242760a014158d118bfe3622b1df391c687dcf74259ed6a5e16783cb6a616a11f0434298218614124841832517c4da892159c4c088189844116b87758e02bedb27ee97ec2b6384793284bc6cce3d19520e67159eeaa03873ee9df0d4639c1167147a5a3636409e023df5acc2531f4f31f5f83fd3330b1f7750f827367dd2ca33754f4a29f1cfc92766e1bbc5959faffc7cc1501249210dc31253fc333da32efe711aa29c67d28bf27ea6679af2d4c541eee5b00fcef7fcccebf1a5dfeb4543b18b8b549ec228fc73c249d7a754adb0114decded4bda9950ba93c954ab9900a88caaf4ba3550a69deb4cbccc8c8c8e0a28b8978ecba249a379d728964deb47b37bcce7221195f7991d00a0bc9dceb31ded02295db78436137f479d39e5249a2a9638178d3ded9deabc5fb42199fa2d09f04775850c7473d476fc786dbb9e4300a0d6beffc848675e7d4e79c9876ddd6d1cd6de71c473550c7a494caa3b9394fcf70e3ac7721752edc7cd21d51f29481c57dea5c4f799150571933032bb18b85ba264e984610bbde23f4c78f312882f4ed3e4ee02943cbbc89652c3d7d9e4ea1c89378237e0b3785224629bcb0a513708524120d94fc10bb2e74719422d78c06536229bcb0a50f103f7e7cf536746a1518cf934288781a166977ad9386958615673ba7fd59828ed84a78d2713aa7bf753cd64e42e7d06f2f21eecc6fb789e28921be41f8f62f462b3878d9c7bbc7853f9de7f9713e86c8d8f4a9c307c541a803198a519f3e380fe29e9f8eba0f8a8300116a8a512f1a8a515cd43eb17b5ff6f19e5090d81433a28951e7c29f248ae9a47456176a9f73ba5003c1461e9bb8687a2bde48dfecb6596ce4b10d17514cc4e5f40e531a52d75c68f3ea454294bad0868d3c467111119c18f5186f38d78ada6dbce1bc35fb13da9aaea0a65f30f9361a261dc9d39a1d25f71b93d0b02871d370bba544fad9e77badd65ab7aa695ad4c2ae2bf01c052fc618caa35cabcb28e9d0532a23b582e81b94757419a54bd9433fdb875d651da2e43df94def6e27bcb9aa3f4739c5196866b0520aeea061ab615c77e3cc813aba6dbc7aea86919e7c0bc1a3d95dbb4a2f047534b631dceea861f1a97ca18699ae3c6bbef56a823dbc6fbce9e8a3785b6382c11514ce1743960d0a6e66bd8c3e756cdf44cf40f3670fef67f4768a827c21525047ec244a71e34ccda3952bb85fdeaabb6d2925ce2d9b88fbf5b3f2cbcddfe6e5a9373842089f3ff83e8497acc8c37af50e374dc33ded1b9e1ae640084f718ff4c6d1c26b4fa7739f3a1d66f54debd86f59c4cd1f7cfb0bf6b13a87b3d36a765a509b9c8e1f40f3e7f44d0b411d737a52e7118c807c411a607a8793badb37dfcb8f7eb6e7175e2cc08d4a6fdf43695beddb2d582172c20423a0628925b1f6db393bdfdeea6f2d82a000cc0c6657105189b50d89b3cdedee97d1cbb7533b758686d87003294537b8604a0eb12115245186922d4c4d74d81243c0b7182ebefdd5397288688931b8c81206185738116bc7993aa91aba70010b2345569088b5e7e89c1cdf384fdcd35109e9da8f4a62b6685d97f062c7bb44b31aa674f396597fe79c73fe16779a686b356c6b58cb236ef6df36f7ced9be178cd5dadc66db7418614a98dab40597d5b2a194b62483227133eb29ab73b26dd9d85a6bad9572f1a8dcfcbda6f9ed9c76cd592d9bcea176dbe426a526c1586a39a79a53dc43b14bd67952876768d330eb91e370ab61d6beec77398ee3381c30bc56ab61556e7e7d7dd5cbaa532009f9d65aeb6e2557c43c7981182431bcbc8c339e36e20260520a83db2e2fa0c4cdf6a79dd3592d0b307133eb6b759bdaba40bcf8faa67dd3d2cacdf37bc61de9d98b223dbe64284696777d541243e923689db8318b304c3edb8f22784960ef47be94f84736bd5cbad2238e37e3d7b0d9c46ba2e0c55704a50b2e8d4e9dbe6803c2200a53e53d547cc99a1d25d725a3de53b14b561d2725596c352a9fb8598c69f2995e39c58bf28b1b95c490d2623c0973a352184cf9eb122518372a8521c47f1850beba4deb44a518ab8e13b17f3b365cead4362c569c168a80c2240c931c618edaca6bdb97e96bf97a37fce4abfc0b557ec31ff26b7694dc9eeb29bffeb9f7859b6f21907c96b750bea5fc5effc2fc7db6ffb95058b6c232d737ff9c67de90c6693c82d7799a26038dd063e532be796ac6538ef26cffa2b06b06cb565806a7f08633d06f7e9d67de908647b0878caf72ca69f08e929bc23edf5f77a5fcf30d5fec4a61998caf5cc657b2fecd572bcf3edfaf908007923232fe5d9fef7b58eefdd8fc7a04794c67e1bc92c141f22f563928033dc61b598573c3f09af3cc5698af47a711e69be481228fd213e4422e075283a3781e257b1e24ffe45eca1b875b3db6a7b04be69f72ff945f0792ef92a5dc7a8afe900f245f2583f3d07f7f3d1566a04f796c9d1a9ff1d838d34ff9ca6bc2d8372b9ce9df94c7ceb9be0ae34c8539a3dce77b9573eec98441f255f255ce72957baa30e59ed7608f9609e5abc27e15cef2559ef25538e33261fe5ec627285bf90c8e0d93719ea90afb65c20c8ed09f72150bcb56f86bd80d154f28d6d21fd95f411d208ef1837c5d7af508f2080194ebf1e2cc79ee4e21e8aa50c66c487f823c3647e1ec0f3e0579cc2738b32678650de686e7139c3dcf9f07c9afcef4ed9e370b62e57b82b2fbf2ab5e877f240f0e4f280d9b9e0a2dd7b125574f9bc7980de77bb4639ca71c82dff094920aad164e20e28de9359c42e870f374e2a4739e740e14caf43100164cb7638b9b0f659faf43ff5c3dae9f3c3e50768131f4c20cf49e0762d9c59b7ba76fe2dc8579e68933d0fbcc1d283f8519e84fd667f67c9b6e7ff32eccdf777366a0f75821ed1b8b9358ced33a2cbc79cae7f71c07e253f87d2adc50d8b5752b57752150ffdc6affecd1a6ce108f45d154a1fd1ee2e6a8e5a7e7cddbf3d643dc89db639e6d5d15d27f4dce3ddf3cdbf8e92dcffef3fb528ef2eb279fb3f3f694cbba8bf3cd3bff1c15ba3897fd3e9f38bbbaedc3ae0ecb5e0d9b20f67959ff7cf33aecf23adf5c9e4fce71766d1dbfc8e188bfcd84ed252adfafa8eebe78d143799ea6c3793b28eb0cf4d265ac375aaed8e77bd9433a4fbfc0f3a2cce17a121ca147e75cfe3ebb6674e93813cb3accb93a1b2ffde5d58ab3941e4287659cb55e27b7b53a8f2478d8c56199add8d583735b3d8f0ff413bb3acde3092e0fcb3857c42eb344ecb215e7782556e796e214d9e75d088f835d5a8e19a9750de6aade7a8b71426818ceae8a6524342cfa090d8b13679c974b731bdfdedadc73ceb37f6661d786dddbbc37ecb25e7dfb4297e62eeb9b4fa72e8b652e0dcb5c9abfbef5d127759c5d1a96b5fef5d1ab8ce2f80d75d27a9132462abce6817a4a71a41307b0ba8e4aab78331164f9ea096ca52ebb673a0b162771ae2329ca865d3c3090dcb0cb25b32d3c75f9f4ed47f9e999d4a9d3b059ab01b58681fa37136653535393e4e2f5aa7d829b5995fa84b0e124eb3cad03bb78d0af4ebf625ca9fce249d183151aa57872e5a97f1d23a8a3dddbbeea9acbe97293f6e3317ba6fff40c6d40fa0c73bb6b3ea54b1e38c2d0470c42471962d6c2d2a33ece888a9051ae744f4a2be79c3e7fca18a3dc72739cf2d43f114828a17322751c219421848def93384ba3974e5d2e8937a423c51bd2a70fed4c7e4ef79f111dfde63322284fddfb09ed63d2e2585a56969694fcd5b2b9acf6fce9c8251b383874ba49df74937652841053a07cfbb6c471ed647bf2d90dcba529db86a552c3e4ced1cdb2ca52d56830450559a7a64d6ed629e0270626c6c534d1370e8e1c3a524cfde862e49896923ec272a9857cfb07eef09f5856b9a00e1a6594b2091dd339363711dd21ba15cb2a72a9611347c924944d42e984e25e6a587b8dec72733ff1ed2c2801e99ccebde4a302502f31e99c264e6cb6b887fa864fd8e7f5d3953a87e5d3b0761628bb79a9a4612da9741d9fbe698f61be3de378c9e165492af98e4e5f2d1b1d36e9a46f1a04898363c924def0e14a26dfdeeec97ce08efe59bdafd696575f5ec5f16a085e25c1ab2778d5025ef5f12a0b5e15e255245e65e2d5275e15e2e59d339c3633a4301af67b75861547fd196a3cdacf702b61fb195a14eccf90c300f733ec54e87e861e10ef67f8197d3f435009f8333c3539fd0c51501a263d44fd0cefcb21a6bc74aff5f995569538654a081f1d47eb8820420836fcc562b1e293d0ddce0277381627987cc45245cbe77e024b15a6af4ec2946faf91d23d5965a52e43778e2eab258db39e5cf429ce21682b345d78f1952bd17797a74d62955d9ea7b5fc104dbad2a96d52cb26a596760d675b7186519c3de2dc7afb14cf21661126b8790ef1ed3552cbf78ca819611307d6aa33c624ce754e5c89b430bcd839dd39b008ab1e6de413a8b659ae73eff3e8301b9d737ac1503885fe9a0018dab805beb06583012f64b534d08597e5c385dfb51fd04f5a23acd69fa09c5f7832c436c64865c47486db2ea34f2ae44b4f7e54d219e8535f228a28a2b8d142b3bd3a909535d137a640ba07951146eb539720f89655fad53d9484e206f5d3484f31de88bdc4f35031461c1b3838725840e2bc5eb6933be30d1c39bc9d5c196fc07ca01030e6661c3be2cddb6858a41f5fca5aa7ac2d78d46918dbd730b76958c414fc916fe38dae91436e9cb580e5e9b47167f3766e0ba34c6938890bd9d20a9f1c393890830339bc7e7973ce33507d2e88eb6f7f9b4eedd3e99f260b922f2deed16450fd9eead4298e9d83c70029436667c880042510138b45bac0e0440563c0e460442cce7eeac4587412a68e8d458f14f0ea0eb5b673b8d2ad673bbb0e3ae8a0fb914c6ffd476a79db2d785f8c3bfd1ea8d553a5a8cff33a9fb403c11ed5dd860af808f2a89e7b823b14f016ff28e0ad7bf78b7127caae273dadd01fa4bdddaad0dcc543ab71666b82e65cbff49965d3373db7f5d0bcba0d51bf859187b603257d68939208cff31a87abb9ca65a40e372a9981e4a5833dc2afabcf559fcba0beef73958c7f29e932615e797454f8038e00baec015d7a5c8128cf6b141866cfc10f05be7a780eba8b857bb83cdc23368cfb50eeb98752e19c8a6610bd8f11f39bdb38cc3b76431ce8343c823a66dceb079de55c985b1af8eeb402e8a98eeb9c8683f9ba7556f823a472199f097fe4af56618fe7d265c21d255785a57396f30e47d607bad76116ce2be770c679cebd30b3dcb3713a9d58afe7bcc3d987b34067b14ead09b0c09383ee62650d7ce7cd9d5c01de37b8b95ad19836248d296ef9ac35d196b42605f85cad5431d54a25aa4f2a11eb339582854ae93e4f2dd448cb4f6f2fb77e9e48e6105dbab49779d4627acc34ea305348334da256da1a69a9255313c924c3b492266a218d448ee9232966435a7ab924ab482c328bec22afc82dd28ad4926593cfb06f32c5c07ef60d907e2231a131b32aa2737e502b0cc41ad5c4649e4cdfa07402586e54135baddc8826d61aa2737e3ab044f366ba114d4cc649abe51b16213ae70725e39b98262d1a3378535ab2b249e91c190cc48826c6c2408c6a622bbc69e9326fa66f4cf3c606b73d6f4ad60eddc6477836ac970ea475f083622222fa6e27a801107782bad5ce8f1fd407c97ce740f4e34e107d19f4a966e2ce8f9fed8368bc74a049a3d5e19cf2a09adff9f1233fa8f59e03c9971eb4c9c49d20d44b9caf07d1bce74156157782ee17777efc28e08356df3990765160dc09ea53dc09ea5071274875e2e2ce8f9f0e3e48e6a503d5ef82e677411ea8c59d1f4133ff73222222face81e6c79da0fa7227087c89f3e7413433eefcf8991fa47de741a7ef70f63ca8e6a507d9c6b9739fd5af369596c23fa87a296af6a91bc43fa8af0f20ed6731106b3d88e6b3879380044101a1d68d6a629c07d57c5e7d877f3a686a6afa240e0309d241535353cce2d807902eb48a19d1c4360ce4a561205e31101b8a81b46862130361f501a41bd5c41adf3e8014b2ad09f1e28d14c7a6c9ad862b1a4cebc682490cdd33263244ff38bb01cc771f6737749122f1ad7e1bc66ad8f4da5331ab614fd8d4d90d589e565a5d869b71be677a7bcb5f7067182ac1941b9aa02289193081040f566480c1cc882635c0028b1b674894924c11e5cffb511bb87014df174ca9b1122570663c224c9d2113283942c696259e18b3c5500a8028ead2850f5fb88091c586d9b5010633b57e80072e3ce8a0c50d2a184201192d58a2092626929eb8c286252d1b80b83d54ac38e34a1643bef8b294458733a2c8210c1b92b0620916ab254c3740aa2819f9010b1714d1428a1185176524bd008821552c0122b5c405ae6d8b5bc0200117183cf1040ba51825a2052d5b8051821c6e002546b12c29b284c9539918a5b5d61615485ba090c2d03080172f18c307a2295f7608caa2698824b2d8810c13d4f83853b2c3cb7c9c2939b227903f9361cc539b3d56e71c53efe07b3aa7dca6e1fcfada34e64ccf9d5bf7bab03bcff4bba31dcefe9c6f9e5bdfe5db4dc71686eb1f3fd39686f3ad78d26fd27a0315546c5a6f3290e1c87f9f0c330cf182b564c871022263b02022c5922b5aec00c6073084cc94309aa2e53208f9fc529a4c4e50608b23be90e08c298ca61831748408121d7aa8620a1bb890a2025e14b1810f524499010c1410f8428c17444c70450db25c49610b30534c39aa01144d0f68828a123b1cb901114962318a09c410660a1e111a26adf86830796e5c42424283d4839c6e6f6ab01a2335ed523103c9c8ce2441b4df0108817393844992225b022fc61ded638c1288624e819ab101ddba9b4ecd7b7cb9e2a46988112a5424d962c4031124b208e20c289072d0b04f8e9f5373820ae2e3b94774417c2ccde28a844b10304c4124cd109b434836f841862d866021c11830f81a8e6a88616a9a366b60e2e79cd510c4cf2f36a73667c5348435ac8cef6fb7f726490bdfeffa3843a20589159f614cac20f980f4435fa4d986b4e4d5ee2431f09ebabd37499678d5c759121440319b6136c3d28b406b95eea6de59dc38a361ccbc420a1747984eb0c498596c3e019b382d14015325c892245bc4e66c065a91609921a92276f92285131bb6e44005890e70e1e107269c2c9d0088f88219122bd40a2fc61c4a6783d02dbf27e28e32e6b4e7e8f47ba2e39ca3534c6384e14a2b659488e8e374c18b05b851cbdff750318230e78d3b9c0a9f512f5dba44d9b813a5dc81a76fa453b9655753f1797d080d93391a2671cc2efd383b72e473543a52846a9815956a9c32db64fb42fb6d6fb5f6717644c867180b3c2ec1b380a9c5265eba082494d04b37ce8a203d8e9ceab7dd769520a80a563857ec93e3db45e8db459e7c771120be3bd68d59da0c617476a4057fbde5cfd33cfdea9cf8ad8fb3233cfceae3ec880c5fa778bd9ed2a8f47acd09439826de25194cd426a224a92202235cd020169df82187242e90220915573811b71c396204182198bc803242173f94e008256a98010d55624888d1240a17269038428729458a2822072db268a2895b6d9c5a04b34416247a5872e28b261ab8a0a14a0f63a214c9828a1126cec818568486499c64bd7a4bba112a2723585ad61a81e232b284b5f1ca8c491321476af8320601b4c0c285136288804a1726c230422400d60a51da920353153c44a1c2033c78e9c14898326a00c4d25113aba32c5a7189231f504744a86c78a9c2064a4ad08351146f7644131144a0200924b6231cb8234ba3ac73ab210e8e178c88849148b6a68e0387dea31a583853e7e8054d84a8c4c37334846e343ece8a7851a48acfaf27b322542cad36d53a257225d208059631be78b942c31019625589afd571c09002431933b0a00a20621513d9f299fa175fb45fb0e11299472722f3c605312922939af119278c59511756ae8d936a2d9b246cd071992d1e1d4362800116a62b33f010bf102db9f0c50c2844509144168fcb14212af1b480762822c58a1d8e08418ad120c690918216a24c59c119539a00b13cf517ad6eb3b5a6ce8679a60c479c71e4a489173fc4a8dba993013054aee0a1072d3d7411a34848a92d0071f6c9f1b5d6163542c1536ae4c3534a2ba5d8c685299f5b2f89660b47dfe0cc8618f11967d3c1fb2a0e0e17bab870650e81e127f7f371e0bcc4993a1fce90a3be2e08f17db0be91dee16bd27c9c0d71f2e0c7d9901a3ebf82f0e28bb68e2ce1041ada5991924f7d9c1511d1588b89a7d43deec8a79a7fd6c63aa7b7bc0a1d2d36dd469cb8c56463a70e8b5534e5e74ff7b8835b606e9c09d1a2d4212b6cf54dcdc759910faf7d9c1539f9cc7a2a821d23d7e6bb482f92a9733a9f39878e10d5c9a7dbc03cf0f3d93a29afbf5398a40aa57c9e4a617e3a2a9c52c229c41c6216d1b0799feef0ff7cfbad31f5827e2628a588a52b5abc4c3142903079228452152c9db325150a8952a94f289e95407b9d05d1f2d5af099b539cf15ff7a8169497a8444bd5d5a92207996388443400000053140020201410080543c17854b6b20f14800aa3c24c602049b4200942c82063903186000000191810101a0c0c5a42421c4261c49fd99e68a470c4b3cf6be3da340ce8ae00fbf3b2d8fc59d8ec3ef0b5ba59aa147cb56e4576b450cab9ed8e8019ef34f4d920c85d1e70500d0d948a12565a2431108ad2b06068b3b3c6d38ca926df99573653cc6d1f619081ce4a965252aa26369f5a42c882fd3f9f7aa847b7403d494c0aab9ffde3430d6ad05aa953524a9b2a566f95e2cdf46ce2dc5885847a4f4ec298db70b5164334bab11d641895af2ac139fb25b842eb49c49baa17543ae481476d8991af4c668eb708ebd1d7b1d80ed1da4e5a80c10b73b5f2c46f6a4a0d79fa1085e99fb8e6e51fd4778e3ace72ea8301e4ac157ca74f61832455d1311a2d1550050b7699de871420125428dfebf7ade01b7ee83df0d108ff675e29994b6b03a96db44217c0100284c99b89f49db67f31b6bf56241e48f9d36e875f5547659e853a08adaeda99e01ddbea164be0001cb9e98f8d9267c95164a1f0bffc8095e90071967a8345e9811dfdf5a34d7abb7b4ebf01deb1f28ff5d43edae61107402ab6916095921368facfc0f638bd2fd3c2d3ae60e2ffa5fb5cab839aebc80be48100c976b224289644ee6150441c3947dafc914cdbec43b60b14b9148b189703f3428a95354ad5b27dc56ba552d432ee9d518d7fe9a083e85e2dcb60582814eb892a6fac8184456be5587b454e2a833635d0143b2db0549487398627651ebf2966292dbdad9deb390c9229d4f999c4aac861fd34a38a096be71753e4d67231653cca995719f027c41b7f8445d5b30750725a69bbd62f0d45c4c203b94cbc14819eb2c78c9442f0c3c64b014eb027a9189d60e563ba38a7d0ae83a656613515e1219d593cb69e8d2dfe51119ed19233bb403d3fe20a19491ce1249007b04e4602e010217efec4ce7c43b85d5f89d0c064276a4eb1b9d6d42e05cc5a53ecbb3821a0f9726f2f0c247dd3a7795585f85578cb4e2ae3e789d5ce509d7c35119675cdc0e91a8c0486a1b813d038a6f3b46128cbc04f1c6f1437dfb54903ce97a5a914c9d238a6f1e7913431895d03fc90ef63115487f297d6eaa8b5d27ff22a5c8e0abe740ce5d23c66c90a4ece8ad3f37c3bf74013f49c3be008a54d49ddabb315087d06da917e92b82cb55f67c5cf3d0005ef9e104ce2de046285e5e39e50e0f7c7ab58cf4e3b978ba5c5077429a9af08fd60c6d6f205cca2960fe6883b8136b4013a19265e45808ad9805f5df8d4ab9afbf7703142e45946911ce3d1008fdb8c1bb9e20aec771998127be47a22633255195f25d4afaeb07c65f2b5e8cb9efe4c4b168c2b2866419b8a70de75c74e1eab0366dcd5a0716f6d667b6fcdbdfa47c90b2f37c1f8a9f9391c20f0652e5b2f5e7c61743f8c0ec348507015bf0e9a89560e248842423a7cd752d68912e81587d15f36dfd7f3a7f86562613188924df4b79748f512285b20536a1982fc49c83aab9e4d6b3f94a0f17ca2789fe9d779ebc2b126234aa269ee7d65f67be955a2ac525311a22aa231477489a044aec295b3a6657185e2e4a1c902b78fc00a8a55ca3cc029836a8272807c24348330ca5d4354a941ac7bcae78bbed2805bb01f2a7784de8eccea9eb7d49a0ec3946cf483877c4fa2ee03d736caf6b9964fc96fbd837010e7dacbc01fadbba06cc67463eebd674b1eb80c0b4d4e890159dbf4bfe306dde0f4db44e2fff729b4bfb394351ede0c180c39fd3e146f3f9c5c95d0315238fabe09f7de497b2e38a2e715cf5090bf0095f35226e425dfba04a72309d57d29a425d3aa26672e50bc10e11c0321b9b1b4ffa42c226ed7e5b5e543abc651c3c9f7d8d21e9b2fd7c5d2b3723c2f7dc895484ff7dbaaae20e24fe9977d33246799830e06560e37404e0d934d13b295728fd65b8134dbbc6dc104d9888baab155298a18d409610d289e4c2c0ef347afba4918401ebb95cce7c41ffde4bcab5516a07e7d84a486217833a30ec749588e7e0274e423021756c279f42ed933f62448749fdccbe857c99fa277baaf3d1b13051bb2bb8cb457057066ccaa87d185c7746ed08ab451414d36b3c9cdeea1da6a42387ebc180e9e2953db2455dc7077d0038d67a1532f28f507b5405609fc62740693beadc7e2cb5c80b12921699855316d75b6f1f781fb61d58a128657fde68757c554ee7b6ffe80234dbf8c0946c9d0508ab410b1205834a30c2e3094416ec9e7ca402d366662d58158052665f48fa46a41a5df1124da266b0bc122e67b77a5d1ff34ee26d84f1ed526488ab42084ca5357eb9316a1fb950814e22e91e4f0bf9b2eda04a6f0aee2c9ba09f8f7fa5d6b3d706ca939a622bc504c5b25239c6b7a742ac3248d9a994acf96a1a98614b9c7b360c1f4c4d9a4045a0c1eb9298442b3be3f61f18c45e5e9a09d850ebc69fe7594ce4a2cf740d36c0b005123c650ce92bdd55ad336514e10a1e8ea04dfdddf6397c49073864f0e5f67c70774320bed4d592808d986e0bcc97c1fe529b44ee28c9f578a1bae3b9abdab0958a924349f2969010f4cc694091d0ca8becd3a780d00ae1ef21aeed6617464b35f760f6cbe8dc1e2f5eedf09a984835ea408771f2317eae6a70a84c036d0558a10bf0d035bc202cb405482308a1da520c304eac11d8e94c14350769af137e89584f7f208addc1669fcae927607d52100a70ecbb49cfe556fc9ad8936d603e85023aa6d4776708322eb870e363a429cc64c56d86986b58d2284ab529e958991e36f33e9c7535cc74902b12b6f489a30dcc21a8f09f873f498b5a39a526f1cb97ccf97554fec130bccbc22edff03e84d9d8e77ee5f8110f57c789c9a02a9f820439842b15679334fc868379760509242103d97e1646ada107f0660e63176082b57a878586021263aac04d2a316709f289702711cf3785d2492ccfd13218f1b7442b0e96ffc3e7ff2b46186e68a2815096846700c607ed369eb54bdb325673a9771d329f7848897c289f0302886ed952299dad4e2e14e35c3f2e070d51d9af4f2112dadd96c5c1b81fbaa2fd4d5f6fe5c471f2e3cd40d14479cac58d03c024620af530a74d6d152ff91427de0c50f43f05a79c984d68aa4dd45584b6a3cf5b1a8c59f868e61dba39649ead7225cd381fffdda3ed1cdf08d86ab4b5f078144f31e11e300cbb717ca9c7fe873cc845f7e002801877c4e41e49bf290e75a23f50acea5051013297ca3a7b897a88112d9f1d66d7283fa297d71c57d11e93798ad9d4b701dcc7c623ad54c6c08dfaa86c68e9d60c04f832651d50394129daeb1cd5da3dc5fe271edb9944552ee2305a601e4b68e807166a9299f416949c682a49121e0a8d53a8e962b36fa542a3e8312780b7debc671955dc90b856af35402b13420161a46a5d04b461acadb84b2d8ede9312e426936c694b7eec5d842050bde1e50ed6090c1ee7bdf3097e5597e9e44b2e5165c4fb88cc557f2b8784ddeff31d232061764edc6b9a4931529fbe3345555934f84169b25557e325a390d91f40fc14f4bcb5a520d8c9e1521dd4d59f71129b96cb096ef4e9e7d417d21f70d55fed7cae4f5d1139979021ec2a0b009630f2cb303f6dafe89a104322380f9bf7cb58af5ac1ac6d825ec4686efb116600cb82f01ab9403cd952c697bd4b1c0b66f0e3799c10c0523ca1805ee7da8c8c2baca192ca9d6cb873eacf5cfef37870d1ca6e3d45ecead3187a44c316a2a6f657d1dc67608894b4503f0ab4aead8ecb1cdcf2d3d532607d4026847505ab787ad72fdf640a47a48dc3677d2f7680caa083c2da4ea5b76b382722caaaa8863ad1102b7d4b28a172a888c376ee0cfeff99fea47b6c88b197076b7478f0961adf09ac6310298b3d84caa5bd8a78c7b279feadfa47f4ab36e18eb2b56de7fba5ae638dc796b025d173fe6897595c9872cfd7f0a591e711a647d55b9a243288669f4d577da5fc574fbd2607204b5d41d1897dd4dde05e68ea2f4263a24833dcfadc383f2b44276a2d84e80638a62d06adec1c707e64808858ba1ac6a2b6e488ef126081bcefc251798ee010aac990683b4ba8dcce276fab2b26da6f27c8d009a4614a1d1a6791aad8d927245a5505fdfae9870542a8b187f06d3068b49125ee1331a41926fc172e3f62305a49aafbe2c0da7b8db5e48162102054a21eee403e12d3cb75954879dfe1590ff975a2b6da3d351412b15386824a8adfd30727eb52d4c238a623e023659665f294766157f1fe6ddfe49f8100d601f594e4a5fea3e3f93b3cb6eb06fb9b85378a1e990ba50072a096d91c504c0384b5b11fdb740453b1534a0831d88b75117504920205c0c23b147c7ca194d17d45623104e35f9b91425324db94e5b8765a7a1437aa54be04f5b64eb7922fd5529dec1451a399e66c48880910aa5d9493e5ab4d3675bc07cfd718e78f18125da9129c4a123294b4463204d2d1f8b56256b745ac9eb2c9064564772474663f1e9ac7b92e5bc01a7ef174b82de2e23aaea320aee5ba029ffcb25d3d5940d7a71ca987e4ca589f288c8ed9e8407b8df117a8544716df36f7af59ac3ff1852d3d857986f1932dd0f34658a69d5b4becd23950ef637e0da1fcbfe0c278798f4e90be364d4f923a8d1ecaf148c33c932530e842b82604bf63b821dbc4efed6c63fe5281a6d60c142527aa92ff3b8d01e0910410782cb576a98503f9366619da7facbeab82142cdf5ec80be77eabef8b7dc4be36d20c7795600f77d74703c0f8c24a0932fc2e7108d2862982acbe7f749f54350a6cbe1f52efe95fcda3d0ff9098398f29921558cf3bfa1fce6c184989ac629f2f52155a1f40a210a43c2d32bcf50cbb4b946fbbfd7a7b9501d26821d70020e342f1566f1cdb2bb690d9276057d6ae712d1aeecb554ac5cb2b53858bef88b6657d8b7454764dafc65975cb7c53e55c5a173297ac02e99261968ee79a0cbfb736649686036a56585b74c560be1b6d9a71f99fba4c4a6e9d1277b027081513177ae6047491009199456436f39a3bb368e465dd23035767521a0d809628ee240508ed4f488d56cb3e18440999917530a7f5a3d81c7310433ddb52893c7cbcff301cfbbdbad241224422b256c0bc72d10ff0ba2f2e617bcb69d9945dea52259b3a1c9168556ab472a586862daf7fabfed2a0a658c725ec8deb405366f1cca11c724f580a8bf55b365193cb515a91b47016eaf83be5f2ba9194132bb764c90e34dd1012854c5b15090b9a2f8384f80b4a8608ec517b8af282c225b5ca48386d6ee65ce68aeee57df8d500fbdb7854c201e2dfa334880329e293a6e4bd73554f5b465bb1b93f3f06699eeace3481f2b6748e0fac34a8c136f80dfacb276110c9423e8ef2206a54b0493081386f6f04787fde6f6e23f209d34b95bb1f004e06b58d414ffe5d23023f283e983e4c192b72682628c6c11177ddbf151a7896c4d80225c872b3e9f2ffd59f91ccc07bb23bf8d13bb707e56ca4855a14f88d047fd1dccc8f5ed84ab48fac82570ed3213af57f2907970c52fd022a571e2e43c0b5f30f69e01710c83bae0f23e550e44a57cb26866e7f6607eb89575e371b267b584932256748a020e1b9de4b60e01e9742bbd2e04718ddad2da35ca86f6dc0525c9ea6555ea5d0f4dac35d74b2e6675108a91c2cb422f90982f0cc7c566319334f474822ca3325a37c12014b72706e94d89f3b6893d31bffc8f709f30ef4f0413141bf2f578022658077c191f898ae0658950d69f28a79cc26bb2c92cb8a455cf0b29a49d448facd835a9a58f70c1a1ba631f5c643863aa59beb36b8c33762d2f5dd5f5966a887c31af1a4a5dd11916b068e806f847c78b3e3a0088ffcdeb27e4cfd6e0d23b210eb18ae5fa0278d453f67500e770bd1e3341d6b31cabdb4f3e01766cbe00c1826befd3a53a9124bf5df7ef97124bb510e8e8f0d1e7867e8f8891a0d3de96c6f30bf116cf2d8ecd2c0e6355abf28ce38ea8bc4c879fb0dbc48f3224ce9e175d3a59276963171fa42ad0181e0c051fb1ba10dc60c479b13e8d11fb8b0e229dcb190ca8bbc06965068d2980bb81cea38517e8087b2f975490145bc4383072b0c14b2ddee5f4959ef6191265345ca5da26e075879d56ba4b4f333ad3b9eec23eeec4f64e8ace0ee977f7e09d144e50b99b0824552e4d9e931f2f1122daab1a1e04571a9ec50c1c883e643304696b4116d99a11a63ce9429ec071fef822283a36b78aff443e809c6f7a6a4ddfe20f8e8de50d0c480071214763e3c340c94538225e4b3eac8537b58bfb7d022dc98680dc6efbcfd6d694eb03e127d4ca50866453dcee123eaa122b7385ccc85528b0c2334d681128ee66a0ada2fbf4ac46503409b1089812324f4942113119c0ebfba2085798c315768b01ba441cab271a2dceefb1c11b45c7de4c12e3ccd4bb5e44ef8a73ce38d73c92ae2d6427de644d94c86fb0ac4eb8c3e24d2735deccf322123870d80a51b8542e058e822f00740c42443572c844b1adbdfa18f837a9de6b5d1c3ceb92fb152919f0d66692fb7361f412c6bb32ff2e8398a7702900f8816f4beea6780f32f469ea46418c34517eba9f07bce8a1b4c13e16b911c3d2597d3c12b66e3b0ac7d3015827eba9b22924be7642896e31f4277b800e0c8e7a804f7596a8ccec3b171145ea79e1ab00973e97383862eb5bb8a62e647db14fd7a2b1e557608cca731da84a6a410e2ecbf1503a5f095d292dd8851738a131c7ca88dfb5985a366313c4e7319830e5aded36f60ca7132527552cef9a4542ab80a06fe7c3588c318b63c7110c9e406166d7c2073cae42d2063faa651a0568ab5b4bdb403e81cae708600d30cf356a0d4f45a790c7961e3a96643484c4cb92eba262922b050a1817b85d101879c34215711be2feeaedab38a9165e14f6f5b43eb9228893accb41925a849ae6caa501143a8c1a1a0c10d60935f5fc0995af1479adb92245700543f0a5542fe4a43b199d858329242cda3f37a1bbd8bc26067c0da568522e247d495aa2c5ee0093b1a61f446e270178c9d1ebd398fb8a30ead2d24dc9c69e1037e6461eb1c2308c44129da81c07c258d8840c3b581268b553b676d459ae0ea6aad5beeea0be22888bae3eb61b446f379ec9c6007f2dfdb1c70518ac655df065c4bc44b611c1983a48edcdf0dccae3623243e3059a10ad8e2edfbc2551baa8074615cb713f220e710d4dc139d654633e8386fe3de7da0e4855b3653b1981db89b7b652ceba4ec9d2913989b8ce517f393add72a4346161c2f0913e8f14257324a55c6ae12f04caf888369438b5a41c456263aeb796323ed2661e802a070f1f8db127c2646ee91b81907b9166f380a5fa7b3f3316ed0b2c59eb57f79e61bc1fe95e8a48596b9c46a10b312db4b5c4d9c80298cb11d933e7e83ee3c92c19e1bee6eec2fe77f6045bc8059dcfd39d13ce77d0d2dfc9823134ea2ffabae7199ad33b06076078cd90a5d6a9f5873de70789fbea926064b4e10aa1947581c8604bf47674812522313f0e5d691c5b7d3f0f841d139e8f905f0c96e87924f926fd1fa06e89c35c864963e6d541a5a03b9de5e6600cda4ea1b4497ad4045f43a2ed076e7a6e3a16f94f5d2cf3b80683ca1fa31acae9292e09038ac67710dd7d53f32a72282d89883210ee80b6451ac18775279147835475769fc1a452ee3a5f22f257c00ba8c410ed2273138947af87c78799ce4c67b2704cb3e71c8701fc9aa26da781fa2ce5501ea19ad32d06822d567fb4555bb1bce8e7893e489ed38913bc50b3881610b35b1ce282e1d96fc22f6668f6073729f07d6725e081c46df3290a57875082ce6096e0b6f28924306d397b4506fab390e3dd9393c20c478419ef170f75c3ca17cf3b04130281cec277f641017f46099418108a315333113ef2189c423b6390b5c5ec385bd33f00ae725e31d6f9ae405009717e7e9f6047f6cad8f48a8d6a6a2e62dd7c29e4c816035cb3f011eb2538466c3da90f3c6a83ea17d6d865b81286db60a2e5adf92cb7b0db1e9eb9700760cae8000d7af414638c39f42e3d740483448bf882f54e4e7586d205630ecf244c6036ae80d5fa792fb139c7d450a078f8e9a7bad52b9a328b22feb8d0b0b84c84f1056b6faaf9e2f4fe063e683190b03f74fac18dd50c5298531d8fc464727c0cd35e5b20c9775f5c81f54bf2d40652033eb3ed0e81c02e096ea39e8e1fb96c96dbbdf0a4a87e4dc6628a25e6dbba9db81bdfa14e45801394d1891ac455a2823536dc5925d166a5a8eef671aac4bc82d444f48a142d744e4c0355ebd8b237c978e222dadfbb622185d0ddb6503a2ea3f0254d45108f2d85aec27589f5c6a1889f4b0742375ac490c67fbe6c576990b46fb6e7a0a262574f715a5570caa35a8a2dcd2c296161645deffbcb6f8e32301231434f0712bc49fd3683a060a091bfcbc9d4f350a9d7313f0176332801c2a258476c8071c153d8881dc220e581cc0fa6964b41db49574386d20bce9c57c7066c229feef0695f3dba1d10280eebe51d125e07b71a4b95d0a2b42b8db721ddac63a2b96da94499050a4b7a90b93b18fbb92ce9f4e822f54de472486661944084b8ab7cc7a5370f8dcae315a61f4441e533e78f7f455b5e9e24be6927de9d997c6ee6c473fce559652d3ace3cb3f1e3ce74938908282cf890f8cc7aecf8c34d85a3ebba9e0e11aec9b0785b13ec8d2226f976b30b6bffe426a951cee81b07f1ffbfcea878ca0e2677f793767b35ff92e35198e421d7b38a4ffc25ffdf658af9ca45263af1508c3a49d0d2145698a1f5c3c5880dc36d9e04d37b8a6b9bbbc873be2b0169d2ccaa2021d3b5efa80de4d467d35899dbba520ee962a02dea558ca51dbb0cca6d447dad783b3aa36edd57e453a0097c8c8a5b49e693551e005faf613920c927956d3fb9c1b06e8b490c7e1f2b43b062226de3b4ad6b1cf0c3a230ffe1edc9d016f883b05e339d611769590db18342c023a9f7bfcfa506896979c35824b22dc032480d0f2a3109d6f0310f6f7a0c3b3341431c7867b3f98879474cddf56ffb20a0b2ef358091045c9a82e868260521c2e51def7d9a47d6aa7527f893fe34c530150809ebe36f882a7d01ebd3d31be31bac8f0ea2fcf80dc4035ad6f0c20ac56f27430beba4e40c40987a5f2f6c5ca289319ccb4f00822f867772570e8411b26a3e94d88c22e4a2fc013ac3df2c84690bde9b84b024e3a10409081c4dd84cbe3ba0be561f481d613a418a993aea2561b7056329607e774a7d6cfc73b4b38d672d2c9e7334cd8ffb9c5392cf9561170afd8be8238b335ac13e8eb34ee1d2b9b3fa5c912d72c92c3ca6705d23f4b3cf1333f383a63704048edddcc886d28ad5f1c6db0882d74c90b1cf4de78d25e31ab308de30c5c2cc2c5ad7d0087c0c2f921aafda0acab8da9c1ef4a665e10f2becbafb9557184647c0bfb99cef24b38f6791a4a701d1ec1849e5b5481a7d45dc977dcd2dc7244a35000598c8d96b15271462aac4b242899986500c43a9b48227708b0f121d3d8bf4218bddf154d019ee85a64dfc6ee6d9eeec410bb7383028c9d60b9e3fd85ed9e0c68a29a1d0df549376b2baed3d34d8ec824b1858b8e72c4ba9c9561972c62c32500e50c1199a35a9b082c59d6a44de5e23c151763ed32fd0d50884fe86f2f440c293be522031132af4751173977e4b63af920d23ce3ddfea15444133c50e7c3ed594e54a9c43c4dc86abb345dbab9cd69a99cf2004ea1ed0c0991aed7fb4631d4c8076baddab18d6b65cc2fc6b87040789d92a0c6959e0be8f4240a75621f8c00cae706745a1c570a49e64ff122320c513816d1151ae74e01656b6a87467a428cc2330877b774ef460b6f3529a4fa9e5996cae0bbb8b50c402d2cff7000b2f1b415975af8b8de8e431d9c04cb4704b1307661fff37d06d0cc8f73a4345853540fdcfc409260146ef994fdb76040eb847e2428410080543308ccdb4bcd418d2094fe7acd841665a293288893f73c64cbe41b092eb73847710d183987e1d83231f1ff4a6f42aa93372f16c0c88212fcb5646dcda87d37fd5f8b51f48264a4490dd6719be5ecf01e67faaf6303abe9f1200cf8b40d261c7de3c3423eb490718309300494f6d23c91c53955d0f3fad622a3009c40d400391282f9453b91288efbbe0ec8f69f136a58f4217f47daf52ba8d6ee2c2849acae174a0647cc2e89238c60f063a63651563ddec9e032700417334ea7d7d920362dd449717b03ff11da80b53ee0b25c4f511953335c2674f548693696a455c9f5a9d7ad6cf06ee898f19206099263cb0d441d8b77b63ed095225037d624f39d5f4c75fc3ecc35e5c64234dd3044cb24584807efa7c2609abf00480e84acb7171d2d4fd8070456a1fe397477b4697b0e2fc891cfe8b59ffc4131e952bc86c89ecb756b4c233dd3ed9c08f7820fd022c1cd72d57283c6c688917c779a628ad9711d68f52f94921ca41e9218bedafff57281d5be64bff9b0f1a5dfeadd3ce2a366fda22fb31ae814a26a729f2f8f87fc25ddf1fe12f435403a963fd3f863bb2c41d3362c18a83ae5a8ae4ad417033d04b5684800dee6f5d9180e654a4251fe43e7479b342e34c8a11a5352b3989d6cbea457e8b24fb78d37efaa091994a98c0655bccaeb1196422abe89a80c771af6ae061c649cc1b68916a948eea1bb17e8c9247fca4841e16b6a976077784f512e98b005cab80b474290cff297d75c99c5c38df6d1eb29a89249892ca43b31393f173106a5680c64bd81886142d429a808ca5ae659c07eac60f781ca0ff68ce6af6a03f018895bdb8bc8bd83fe69cb77b16a3749d7ff83c9d1a95338c7a1d90de9c5ff4c007fe1b121d7a2c7d2189c66fcd5d8f06e473005553a98a1f3d35253e291498c785b9e62c29a785b35ed5eb81a76fcc749cf12644aa24d6a60babd12fec3166417ea4ad8699a543f8dcf1534ecd3751b4397e3d565f562bbb58275ebc474c406d11f6b9552182d1666f05955c39c87e37e6391e75f0be72ed12f904def67b7bbc8221310a91181b4dfaca4bdde678516d288a8f39ce4b5c955bae7e82703306541645b5a0366dec1725eeb4fd5e680e6b24cbab938f07a4b2920b1dca4842b785eb2040f0b9f150d4e6737f976e6c6b6b0487de307582d9757c27b09e608de394aa0500a9f5b983224903590c5e44b10d1c815ba8f63d4246e5ec11853ac6e15a30b35235f72056a7d4f9d04c39e411e97e8af6fd55e06b4917291a2c775318227b19f66330586f580f6dac654e48ec60c127c95aa63138b6dc7d9163dd15f07e8bdc41a2decf766712afa6bb5fd206a52b97fbd17baa413b802b383adfed57cb4dad3d49c272acaea15f23ab03edc15040fd3f42122614f49e4eff6d77a24a28119fe383c626b0a54c2017c99bcfedf882f6861ddb9fd0bf9937e740798bdef825a75e15a3baa5c35f0febd652db2a9e35c4aa3cdd6c9af8d362d0b4a564840874e876130d8ec8533382eddc55abab3e3c9c730509541bba0a2cf604a604d4683339e35ae0cf4643ae43e8dc28945c0f08d7f9c5a0824ff4def4b4816147d091f78bd57deb3f2bb691c54dddadf4e1bb575d45e94549a9497f76fabad8775751ffe925537965300aa93560b7355b5ff43392e994703dcbf036b82b2217d8442d2d7d419c8107b199f82efae6f72cfa5abf506955d8a23f3252c9fd5f64aadde06e1279330a060d12326511f92736ae0b024f6cb4ae4026d2105a4119681024870d0d3d03936206fecca98ee15d07963969d12c229a28459dcab11ed1905929ef7d10904b5950b397c42965858cfa91047edcc49886604c2379a8061d08df84f204ebc91a155861a846b8701ec6bfc6955b78a58ca6cf21ff7bc2c2eaa56ce54631b4920be52aaea1511b5fd4b7e4416f2ae88219050a36b1f90be2e4062100c178402e0da9de89bfd5ebd62d5b0bd84e81f21432d18c4073c91bc7365a4e61941769f18c152c56ab6bebae22748fb6381ef4ad8fcef69100122dfcc36b6e37afa806ea95e5050166c961c535cb6c0d74d6ab4ffd3095d967a0ea9c9da25737eba16c800786268a3ae2a84bb728435923d940e785a1f6ec9eb9b71056b681ee0423f98726dd806718449d76e316750bdacb8628a52804eb4e50cd902cb3e48925b05248800beb7aa2033dfd7a3023794aba2d6a25cf026ec94d0d8c195c4547a32ab1a85a30c2830739063d191f2125ef4c1fdda555cde571cbddfb5ea26b12ff1e48eb81c2cea838f15f7ef7ca9f59990c1d0110c72e916476f598051aa801f877c3b1435bc7d1dac841af6482b34d10544818fc15ee98a494b21823b8fc7e10f2759c501add043ffa2350f4f804d7e8a4b50956b6b74b38717fba54c4e49017b253f1fac091e314b5ad10944adf6d9f19a732547625314a8cfff54cecbc18f0b9b3100353ac6712c4d01b03059638d7866e113b890633290b9a84bdc05d5dd580249b5061467d8a1f520ece553df008eae50cc522f5c487921b4cd0dfc58661917d36cfdb0e63acf2147f1bded4f25df473b5c2a171aeada6b5a5b9a0e6a009dffa57ff65697c882e878b64f933709b22406cc9cfbb3c042fbe8bffdea42f84e426e67057f096730769efe81e89d0a95e7f7d71ed66a4d1f12ed949d815dab723d023081d82abe0b12a9a959f3d2c3a81878493d90e42cd216dc91eed165d1be7c4b2116cf7bf5713333ae4a138c64d8133f79989cc3976e9fe8d7de76a074dabbcedab8994c08a5fba8f9046effd5e1334f19092f78c5c631bf640af6cb1ef139749bf119a4e821269a8f68991780d36fa2032a70055a83e217c1c648986a4d841080f125527deb02d8f4743e4e1adf5fb05a91ec8c61c0647896b3d77e831513be4ad0d3fb646f91c3ec85a5f3f1a2090985e80cbdcd0326a648007ef67ce4bbc0bac01d3c26acd3b649b6c94b49c976bffd58f5e46476fb4a0f944e9e8be4b8a733b24e512d146b342b90706310db5d6f9dcc626d09eff13c388609d860d07fd8b62af96359d67c9f787758e113c7a6e5dae835a9982f6f233d35559adc3e723d5359583d1d3cf5abd959e018c082c15c9a3ee96cfb958fff59422625a50cab7c23762b504697e3ec622d16a8e98e1d5c87c26dc18d705733387c1db85bc74447fe48ae03fbf624e73576fa9b5e82ad972a69be580e229825e2278c314794c4f1564d483ee6b5a09d3dd60023a7f10946589b247896e165b7e96b8c943093422f45a2a28447b0054fa8d14d4e287bb580418e01c5f7c667f3f5421705f00db9b9c3c942175265c700ad98e44317fa25f9777958c254665697e1ed54af1e196812ec5983e706930c45942c6d354faef090203e3e9857f8b045b532b6c9a19b40db4add546d9791502dfa5b94384f6859bf93c14ce19c0ccb2fe0aab2094495220e4bd9d39504dca5c7099a51905de2a02d474862aae4e29de23bc6dcc29768da36c8d1990b007e983064a1b132613eed35f36b5e35dd6b7f6a56ed88d62337356503e6c472ef6ddebed879d30d465fc6c3534daac9f30d90118d334df5abc3f7601e15ffc4ada539d3b6ad5b2b0d3b6b02b808336fb21b2bf543e9e3b4f9a506adfe007462b887913bca5e607d6161072f39adae3f6bc150587607129d14fcad385a5b56301d0c3e10713a008f69d67c25d58ef1f28e2ff0fdb9a5b79005e018cf2280515d2048f5b4821abf91270095d21ef25ae43fca6a2232156725ba5cbcbe56ae3971efe410133bc717b5cc7bf18560a59569bd6329788cf296edef0705e404e57dd57b0a5d88e70a4131d1cd74e392dc8094d4bda92690b22a0e4431f8e07aa73f68adc0240ef695953a05a462259858a72d245a183d0fa072b03267146bf0f9a1fa2bbfba2730833e17e10fe0bb1f567a9938777d7f826f1162fe93edcca27294f22b24c1f8092e3c11d0222970fd60e638b3d8fca1c9559e2dbca6da5819e63d60fa2b28c7e67f1bbd698c13d5ca0f0bc20124ef0704bcc25824cdccf57560d7b1bf8f5623ce1e1856cf5df20dfc94c92db08b1dccccd039b05f28bfcc4bb4855ffbc77a8b844b543d4ddec05326e32f6245e1394b0ed6b28b6681b18f031f2f99b3ad50e966bd0e28038ec31d01104544666c1e61086f8a75b6a9943463a553e9c6cd230c983a7f9b6ba4afc1a0c96ac70f7216d3c07fe4026ddf404855bc8333d7cadbe676cbb2c4aa240a7701819a016f562d54eafd5d8a8518bc45fd4b3bc1f09d7230da8996c987ab5d40f726b66be95c110961ef99ea475eafad8a1a3e46e65966f23d6f129d029640d419832263c2a0f14fd9a50d2fdd036e5aa678626671f48904bd5f59fd685a258c6e3bbf38f1b82cf2a9f8af89ca3fdc81eda03976eaab6e15d444e5b41bd6174a62f8f31ba2077b712da39e3e4269a18e7933a71f4a0a0b02a1619119d5f092865fdce771d13f8dba19623c125de4fb593e74a4937b67ec62e461493783de4995ff4a0b847f270f0b414d5581304bc442be244579e149c2be43373ea5bdc801aeb0cd93ee0c24a83d5b39145868e6379d9b0da4f5bdf9d994d2ed6542e65d77cf095f8b7e37c749433da94f27c0ee718477c6ae2d28cf02ccd145e3bd78763dfe3401d34618ec98a57d9134345d196f061d395976d239c791e87151ba6c026df370b17c8d4d5b066cab0c901c068a4904225695304341afe290815a09000a30542af98af01895339879465b6a0a2d13333df8193a74ac89f33912da94dd0b23c76d3902f3373796fe8d2f80812eeb1b1e920cc7fba738cc541e9255bd92ba623210d804e7bc022e0ee24b8701f9830c86d1ad1ee7a1f889d54c548f3cf3385f12279d2e8b80fb3e1a8db9c71cee02ba6aa41d1f64c4515b7ab435d3574655834dd3d840a72335e8bcb55fffa3ffc397dfe39be96d5c2fdcba8d847f48a4d0da4bdff5fc4ca3dcae6d6a228a74ed6407d553c4df1db4f1dbd70ceea737c1082068158e9fa83eb2c409d8aa426160472e94a81e2e922ce785dca765e370c3995ca61645f3aec91088aa92aeb37cc0ebcd30903192c1b6c80386eaf8967b504e98964307f32acd80071b23b9d5489bf18070b89e5d8119ea6f4acf66d9d2d58ae5984ae51a8fa45e47846c0ef94495b9117153840f58ceadad5cb4c46c9945f75d58ec9342d93bcda83e7ca4e2a8b49162cd35640bea6b3dff1691504e3ff0acf1b2f9d79f60726249b981017e030b487884676de480b70624bf17eb70f8c5fbc56125674016c95ad69ec96e0601d327e215cf9ce4aefd19d1776bba9cd9c6c27064fbae955e4dc200d72134c2cb3c9a9c4cb731ed524768e96d466021a242e82bcb3f118047279d863f48b0a82c61604f23664fd40952981af754932e7687aac7736e58c976737ecb777d2c61a3aac1040ca4fb6855a1128f2df6156c3a9ccb5a81e10cdce9ec3dabbeff99937a9185c48196c59074d6489e94e7fd9550035360636937f474d386c1cea0d5643297de1a6812b1a9258b5912ed80c35a4be9bb1cf505ade1509aca37711a3313f1fc93d8411f24ed0de28b8bcff285aac7a514c60b095b4fda6c95dfa6c554cae3b146ee90b527926493691e9e985d66765d708a2afb4643bf5b16664f3debe4862d225fa9e3fa5ad704ee8112be06001496f168744ce16aa0555a489fe5379395e441cc8c3eaf9e98e9ad4073f6ab17a209636bfc24d77e435a074abb360b170e984d86798b6185017f86fbc51d5045fdbe3a7b220480a982237aed8fa889584498233dcf9dd7d6a943a26ef792ba83ab6558329e1152ce7487503ea0b2ba875c4587d24190b6aab8255a48f6e230ee45a23eec31078a6eb8c450d0c9b0f800396e922b35a9ec41a9acc93076d31543000deefda5bad331e7a3866024280c115702bb61bfd452941c86a22419d05acd3d882a2c011efb96a0dfd9ee0b84b8f6649fcf3f9c00d1d988f06b4d105b887626e34f3a892e202e2d417b48e8a851b3817bf8ae301d136eb6ec09795c3286fc73c5f135b647c41c7ed8ebe1fb790058a237fea090446fe57a7e774ca0ceae07c82b09d7e3c729bbda130780ced1df438e7fc91db93d139f1b02081bf81ed3ef01f18536238cf924e043c1af24a97c7b53e506e33997eb4e3119456d895dfc76c756ac4c3585ca5486b6c10a0f8880e1877dacf11cf22705d1ad765dbfbc20debf575ab0ba50826dcbf2dd8a93c127d80aee50f60f39c86264c4302bc19c414343aab78206a839d2266c06c45d92de7d43bf0a67724aaf871718ef9a63624cfe3c18c38780936f79a0926a7616266e0ca0d741a9f92ab6dc530d79263fa462c9a77b4a79eb2ce1578c5ac6d40507c3ed3f8ea6d068d48caba587dbb6757c84d8dcc22c49378bdf7ab5f147454257cfc3a63b96f3a4ab8adc8faf914643cd81c9e7a5685508ba63042b9cfcba500f1d4431a1b4ac9b202a2ee22f5a638dfb70423c70d4f7d3c3cb52d86f452b1ecd21f7e6aecfd2b276c7e527ed84966884212999e0bacfb0880aed2cad78c00854acf49ea1173e0435f6d5f17399cef0294609b6bcdb94672fb56a7dd7c11d0302faa1f60cdf2079f7261b891e5edb39bf393aa2761d966b0d35972135fe8f5a4304e2c626053098f9a2d11f80a5ec68f7781803376e01af4655fccb75b31a85ef1f4cc675e8f228eb78e23e9323a46153042f309d88a8618879523ae1a21cb79c2cd82cb6713afa93c7c2877fc6f0eb5a58de55bdc916047b968028386feb45b1a4f69ef49283a1987be323e5dd0c71d8b45fd32c05e2408787951b15205db7372e11048f3046f0842f3721da217eb3a40de26ca4fc705ad13dbf682cf0614f1636991be851451ecc41dbb81bb6e2af46c43c8a4992799b5f965476bc818a185e381ce72ab8a68089687c3fb0c32508250474b1ba6ac0b7b413cd0f1f42c5e7cf06a79fd00264d11f0f2fb8fe3dc588e01e6cc46f207a28732d05d3b047ba5b3b85b1d79681f4ce9315ae7572e881d1e7f220a4592afd6a53ad8787cd974f556d601c1941461b0d1c8e7d79d5b7d0d8c42bdff24290b9bd00b61b8832288612b37533a12befefe72eece7dc60ba3a79408acaf52f60365340c0bdc84fac763661c6cd8ecfa6880153282a7b0a9cc0a07db66637bc18fb9a518bee138ee75270dab7b65b808c60d59988d76194f7037a64c31f08abe1080c0450f8ca9cf6f677f823a03668b57dceb80db2e38005459fba03324d60a7d9b760a859556959b97aa8a45fb773a2fd937c42ea6f73a3639bac039ff50752894405c3d004a5da5330e6044ba680918c7b0ad461b8d869940cbc03e74072440c8cbb645ab432717ed96d447586ffd8ace8a576cb57cc8e6a5c29560a3e78a7ab73d6202bc92c5bcc498443b713bb2901ca5d6f40a13ca54b0b7099fd5e081f9576039a5013bc406d1a6f3ec2227f318aca222042ea1a73fe6820d39f7f66b890ec8101da1162dfc06e0c1d07496be87fdedc4ecc89b36dde4146e091145ba8008779b546e62bfe090bbc5e06326a3226a542d986f2299432970ab522d9f55a233f852c7c7330299bc4f53f7e24661f645d3c33d02759d58f86f06f13608e000726e72b46e020a489e715e5014596d3a3966fe492982b49b94cb70c77829022a957bf411835962f6bd4728e24d78c78be388cd14c1b0dc2f1dad88cb086a1c44cc9faec601046cff515ef0f12e57bffc330acb3d61b5b51b240e4581688bbfffdd4468a991bde5de0102073707f006f882175330b9cf737b7b7575c546bb4d28dbdcecac9bb1b348b24d7d4ad6300bccf6ac2cdb6c3fc9361b66dddc9d0566eeac2ddb78b7946d3cccba39741698bfb3bc6c232ad9c818651b1166dd4c721698476789b2cdc52c9bef453632ba6c43c22c9b4bb76181d9e4ac9b4bce2ac9a4cb9a6984056694dbb06e067f62c3ba9945baccaf4812f3f22821952ef360d8d265fe249492c4bc49a8225de64bc214e9325f0a51a4cb3c2934499779929044bacc8f42927499bf61897499178525e9321f0a43d265fe0b45d265de0baf2431df859c7499e7c24eba68d2459298cfc213e962225da4cb3c0db32a49ccd300271d4217b9b2871c3f5c2440ceca6a85fe242239fd67189dde94f216ca6f28ad42a70753be5b721c93f0ae948b387de9bb249f88e3b456b00b86a37ec2f2d35ff0928c8e23c22dd788c3f08b08dfbaa1b412e1e3d07097ca4fa7f776dc0b822424a3d05b28b8e56a71390ce25d327c8488b75c2b27fcab1c27f51b4aab4b02928c46a192ef2d138cd372b57c440c77b95c4cb9cbe42a2c3f0e89bb4ec723925128f489de3ac1382d97cb65b8abe531a8a0dc75f2c2f17148a1512814fa3ed15ba6b75cdd83d57dc91712894aee5328262e9295a854f256c95baed53d8993b75ca18334601c970b7e796fc12f4c25c5e42ef028c711ddd53d58951c6706dc72c9805f7d147ecded23f0abde15037ed9c370c2af517b8bc0afb1fbc4f83566b738c4afd19ec33f7e8ddc37cc825fe3f6fa027e8df558cb95f215fc1ab17b18c7845baeef2a29f8b600da03f18bc327f8b5617b13fcb2f886d2aa6465d512ddb5ba6f9170cb153a097e69b8babe8ff02bab415a1084d5c51398aea901200c11829508cb8ae54f34b8ee84746f558deca951e3325664ab549cdd2e63256bd85ec64acef058d33dc857c37c20040eb2e8325672c563cda4428e28742087b0cb58c9138f3535480b8290bfcfcb58c98dc79a79e448cd7442117648217b2957143a86004beeb8cd6a19864708b0e489672a045872c533525a3b335375d051698285d9c850c9f3ace6ec595ad66c64a064edac9a331b19a69c9d35336623e324636765b965a4e43e8be64ae9ec6490f2373bb32663cbda4874b352cef06d9154c264f489342183031b832daa541925b962d30b2cddf834b44939d05963dda7a6dd5a3d95f7344fbbbcc954b50cabb4f49ab9f2ae6c76143a594b46a5d1e54fa33bba7c89a43501961c148a3d7b0e8a67a2dd643b276f4dba7b25df43cf495995f06b9c11b548825baf71965a1ce1d738735b0c4535ac2d72a1c9d462dffb4f2df65d198d505325cc1a4f654aa3ad675d24fa968a5b33288a9ede844d80250765b5d5b0c4c84e5f6a558d28c529cb0ee36e56c3298aa2c72d198aa2674151f42ee6c75446633606d4c956c9570080a9bb482bf953ab5aae92118986111ccb8a0aca1571f9528b88199e83b21271f99fb8e0bf604ae983262592bb48bf97f74404e02d970c2a2725a787e0881860b84bc4519737b9b8bce53a2919916278f81d1c8182e1ae959f2e6f030080146eb952244411a0a5418613151a64503981a12425fa88b75c241ec3e92ef1a8b75c2442a2889086ca22c34d4a247769c1ad9c94d50cb8e51245842c323c05342991dc5582ff96ab6484c22fede15b2ed2c1b75c62f711f8e5bde512f118f06b7bcbb57218f00bbb8be527fca26fb944347e88650ba07f0cb2e097e8057c5b002bf815c2d784adca874d1e3eb5383b0cb65c2727930d9b4af0cbe24ac2af0c97f08b355d23fcaad8a322687c6d3dd0a54c17952ec95d5dcc8ae985b75c27bf2477a9c80fe52f1a52d6ee3a39e92d97ca45f845ef025f72f97b4fc0d24bde7299fcbbcb7be8f24fb993e42d57e8a1bb2ebec05d84f296abbbca5ddf492e0fe31addf496cb7b4ae92d17c94fee5249415f5a2eef2bf865df727d37e157f6964b05bf58f3c5bde542c12fede076d72dc94977853e7acb75d217bde532c1af7aefaefb92d9ba61ae5aae127e4d0c92386c22c1af0ddf91c5a78b5f2cfca221e50cdf15c22fecabd8e5e1176b76f8d5d8bbab4463ebfaeae469b43a772c55994609716db08b6eba92eec6f34827371c8772f3ed68e5a4ac52fefd261432f96b442427a773fe4f41e1c059d279ffcd48885b33b3b6235de865be19fd04b75e332313dc7acd84b64fbb1288d52a127c434282593f8cf0cd68a41191457208df844298a645f1c337df875f08f1f08de761999e15adeaf04dd7e1152d8a1cbee138dc22c8cdb66139a445199429bed15ed3bfd134203c4a2219dfccd7349e91f96662f92387b410d746f47e4741c78eec21070ff9dfc97e46ad47f36955e8a4a755df0fad9aa493905679780750ab3a22ade2700d4bc929caaa2448ab36d0f3a155169b7e5aa581f6a4be6624178032bd36a455197ecd80af99d27ccddc23478e14c9f458d842dcfadc789c35f52dc445400cad1d7467d0ddc9591109941591462490d6d399be683d8da2b7f65e6d47eb09ac183162d0d0d0c08001e3c58b172e5cb868d1a2050b162c56ac58212323a342858a142952a04081222626e6c48913303030254a9448a5522d2d2da2289e4ea7ff26930904c152a974eff53ccfde508a6ba558ce8921810b77eaa02f3205237be48f049a71efd9ac6140591d825122b583e82cd2f4cd85db42dc1bef23044008b0e4c6f3f4220f2b2241453adcb3e111265b3ca60c90019f464903642048a3ae013220a451a00132e043a364ae787ca6f50844b20d1b3d7272786aa8a1d6e031c4103a1831a2238820721429b2d36253206e340dd3a0a641fda369b547e551b1030a143a9c3891c3da8ac35a9caa3ab3f2b01c87ab8e8dd69d9ec21d535587060101c40f445afce1071fe810efed830f42be53a0ef2d444810fa137a0709e2d3e24fffd09e152b70e8a850416de4d8a340416b9035b69f38d143b411ee254a04914a75919656dd508a5b78b8a9159f7a48c9d3a26987524907cfcb7183ed74f69af99b0c4b1ef73513cfd4cc2337174b1d2dd220e9d2efa00ce0c8e304ea49ede406a203441e6d11fa328d34aa6feff5f04fd73fad636223b38691dc4378f0a02f1547a3fa39ac0e77071eb547ee8feff713ee487bc88123f79854ea9094550a0a083e0765b552c3528128aa9f83b24a595979e541515d23aa3f14d52b26155c7576745054579e1f14d5af3d14d5ef1a552735ce1ab9ab4e50ee4be18af05875729f06b56adc617af71ebd22ad1a77a8fc7b9f06d1aa31f492f7a991568d3b522e7a9f0ed1aaf1dee4fd5aa355e30e948fdeaf35b46a24f9c9fb35a755e30ef0a4f7ab8d568d2b4e4215218a16fb25e189b0448b7d52188306c60b172d58ac9069d18445954e81b9283d2388656ba9dc179ca7b61231e9921c3a9134215fd2b1bcb062524941014f4c4a4a2492d115853eafe336996596324b13d284947309de75f8909feb35221d4601b3cf368f7a58c68d590fa6853bd29c212e8dd653bb29d6b80c0bfab11fb39e6f1f25d0763b833c3cdebbe5814709a4e15102793918d31c4c07edc2b5f6a7f2a0f2a7f2a0f2a71aa940f4df01756ece88d5b0432e91ee95472d92291d454efe4823621eb3ac671425903492474c47a672f50394e9e79049247fa78f11a45132d3a7a02f72f571fef838793e4e1e1fa78e8b730e40344a8a70cee18746c951fe8470cec187467d38e720a451328fd248a640438874166ed58870dd19a1489e3afe5d622d449777d1aa517bd1aad17e747918ad1a379a568ddc49978fd1aab163b56a9c9f3e3d93871fb307cfdc61f2983a4c1d2da912e3c94d5423ca41d5a8f294cb959b3eb272b418c66891de14aa8434e1c401a3457a309c3a266149e8a2440a5bb4484f12ce1a5884b3862814b64299192d4e205a35316b66568bb3c3ac9963b43839cc9a99a6c5b9c1b02f306b662d805a85b108d2aabaa2316b6619233a9abea570e7e92bdd6e3f76e7c6efde38fafd483ac969c94ba38a16e74f25618a16df228a164d2dc6b408b678a2c5528b302d966831d512ce22598aa0a132351e9d3cf530821f19062695124510bcd7da7107f7f1f986eedc4f963d591b92a7ecc95aeee790330223b9f63082a05c737d0e3b19fb18a01d8f73a69f7d86e3099c1bba7338a77beb3bf70978bfecc9580d39afed37bc6a0a90b35b8a9a3d0b9847f2cc796d971435b228f631a06be404d05cbfe19a02e4292393999be9cb9efc853973c5dd0bbbcf95fc16e0aa91fb0fe88fdde98b5c593a9e0be58aca6bedbd20f8f1e3254c1e7f8aa2331c1bcb3ac38d0002e43942c09459a00b3653338be4c6972eb9e239761e67ae11e51ee74f69cf0f901c926bee4b22180dad371dc81c78e45106e9c3789fc6ebbf0875efbb30e1de6fa1bdf5fd86d2cabecf2267053c390ee92b36b0db4e44c76979d8550095cb78609772729c106eb90a3012858ec372ed7d1520e8751d77729c0fb74ade7215a0240a7dda71c2df505a819de7719cddde22619c16ca499d260a1de7ff38cfb3d6b4a5bca582715070eb859794685c173a0ecaad67edb6a598c07b9b4d4931810f3beeaded364545c564027f6ebb35bdf51d27e52c18e78515fccaae759633a9a4e00d7c0b056fb7203db2dade725121d8d00409ac4eea714c70cb558023475625f8455fc22d12097ecd8fb06be257c5a7de42910d5860259ab3870e4b68c22a845fa60fbf46fa0cc7c32dd7c421065790c24a7bcb358560431326b0eaf00bc3576ea1c8066cacb879040b3b98c26ac32f8aeb7cc10f4b70c2cae2d7c496e210832b00b1d270a9ad70e7c79a556860ed0d692adcd1cb571079724f1b73870ee3d162d6a0c3b43a56b472546d47053d0b07a53b487450c858c9d9696ae691233b488f81415f4878da68549f047397b73979944131f465daf8f068f3ad36e473f7aec2953d88608759c3cdf7ac9bb7f75b263974169747efb34cf93bab66d1fb30b0ec9da54223a37376521ee1125fbe18a6c546c922dca2e5104eb5d82c39c3a7993f2c7278b432bebce1133828f75b74793bab6485769648c5862274168d0961cb02b3873fbe44025aec7959c3b7e2f14a56d63d990556295d6ca474a9011a7e800cca19a635e8e92c69ce79c313255af43d34fab82df4d9cebb877958a8ab8d4cb33037cfefa13075e376ff6ee98ba8c328e66114d3fe8d3687e3b3c6aa39db6ccd59f800984c7f74afd5669897e7f4de79f782e0762df3ba0ecf78dfb0d7611a2f5bcc8535f7112c86c7138da2b727f2894cdfc3ed4e3f9eb0f65e10fcc57c5b1c393cd3dde2ee1d901c74b2ad797e9d7d58b3b6b57e5481093c684e59c30f80c9199ec170c5740ab24f4d07105bac1abe5ef685bed04773cada3daf135bac6761d93eb3783b168ea78c612cbbad7165ecf2d3c29a96548bb56b9d120b9da44b7dad957e5ed6d0cc78ba8a4f6f11c36637672a832d62a616313cd2c0d08a001a3e0026cf74a7c0e43434b1de2d81a69fc4963195b312a1eff34c56b068e142bad05f51e84b2189944c0c033c4332af3b31a344bed892bf8ed162c3704151fd50d8225cd1a89e3acca02ff61a31a243eecf68cd1ab30619152944a158a4c890afeb901468e917725e8b16e4ba7970ca9957029ffdf37ea23a32f44574ee7ea1ce138d4852b4c891843114c57d14c25014f72f2cd122f71bb6348abb887b170a2545715c6802c76daf9bd6983ab225927b70b55b2b27914caf4d1db4861060421f2fbe781f5bb897efe5cab4d8374c41517d5118139e084b34eac32db890ee5c0964c70ea7e2de7d5677cea65a4251524b03c335ed39390d4f82987c34e54ce5e37396f2f19433948f62ce5a72962a9133987c2267d947e903669735938c5e2e7129fa226a30a92ff4c2d48d3bca9f14adf23a8ea2fa5a090c9a182ce9d2a251f4277834c125a164b14246450a14312d524abfddfc432383a44cec091d771a72b77bb69d86a91bd77ebba52f9dd528a516660bbd6756ddba7de8b0ed34ccb8d48dabdde2d628b58dbdfa8e8094d96b3667326c698fdb1e36b26a06528344c286542114a8834c9fefe3f4e9be6ffa902efbc5e4a3bd2f31c90e83be947c242a3587c7ee23ec77c333ddf73a7f3f7ebf789c3f32f67dd3c7fc114d1fa41089442291eaf49152bb941f6d9d3e82f009e225351a27cfec814d9ee963fa60a4c9337d4c9fc9337b9026cff4317d6610d30789347948d3478a046732330345e108b748d36eb78bf0f7183abafc1220435f326c74d1635adaed2229435f6004018944b9fbc2b194bfc3a02f53a2beefe66fd4fd131d067d91db47511e65d0add205343dcb5912e52fcf5b3c7da60f5963d4a3251801128221dff77d5f7db66d138f737e0c689deeb1fd52bac65dd35e678f9c6503d87ea375f0b8e1194dfbb2ec7d43bba693d336b4fa659dd32aa9535fbb47cb725aac9f866fabe6b1ef183580d42f2424a1d7a8cff0d4aa0c5f6d07c9b1700709e77c45f25248eb79b2989323288fc812488e9edc4917570209c14f46c912080876c81df5301daa0e9aa37766ce70e3c8691bb8755ad4c6ce460f673873a567780c5deb7f24cf3eca5059f74cfe7e14ca4689503713e19155b30d6156cddaf6b5c4dfd46a9eaf1f59357baff3df3f3c4e1e2cd7f78d39008b67bc6b1e9e99c7b286616de2c691b50e677d6392c81ed3d9c58a471a306be73a6badfa22d71a795200984718b93ea61f00e68a67b26fdb63fa8eae7d7658989d24e44e60ce10b03d3b17ce8f7686b7253c5114b5b385bbda3a7d6392a8af3463afb227d4242be8e497f0011da6b5a212725fa41fc891418003043ae80e12c80788648a599da90c9b2526212f66096427484b22b981ecf83485414773e72f3601a2819e3c6fdf896ca077f5b3ccd538e7ab0cdb90712217669b39ef066e789c78749162946db44bd9544a54d77779a75e67b712d5e151c3638c3cbf7d9cb84694b7dbdb9a549ed9b0ca026ed67eb3f669436803762a7b644fb6efee6e6c435f9e524aad586badf5170bb17f7785eedd06972b841d9428fbcf86ec301225bf8533f616d7c4b8280dac351574f2d46507e050e4e26004ac911d60819cec001c82e88ba52879075820479a50999f796207582027c7d0984eb507fac8c52128ef687a1b9ae2d78d4c42ded1d8860a7cf51aedecb9a303afad210278be6f836bcb4117a2b0c36ae20988e65d5f057c3c708255e39cafe6c4a6d02f0206d909d4a87e6a84c9528ef2c708904c8d740a09bd7bc4261024efcf2064e9bec3e32db9874d3ef1f8bcc3911964fe983c1ca961f9317d66983cadaa61691d3c78c09f7c4c39cafb33a755a3e92ae30b5f79ff67798ff8e178ba888f311c8651fc885185188e882134c1700a4111382c850f2fcb0ba1b7620aad4a4a5851c0509eb068e1d2827abf850a6241756146ab6a5888a0bca0e1070da219de7741038f4b8b0e1e14d5b875c35cdd305737cc55ffc8b4caa4a44422195d5148cc1e7e37c339121b0db72dd7526fd45b86e7a4ac50a81409126f1e8aeaf70f8aaa2448bc79a4688a046e1d14d534e05607b9e05613a1a8be0c28dc3d3f4043280a0a3abac88816d5e858adba9913b302353c99408a024a29a5f5d441a041b8f3b26a1f6bad55a3543c492160aa0504efc5ea73fdac25b2a43ca094522aa5a495d23ab1a43e742a3635eff8b00b5cb56801c8d33c7a1ff1c4564501935533f7394f235baca2806dbbe7791e960963b852a642b3f69ac52966ae15cbb06ce6d9d2a2ac623873d759c632ed5313ae0a69a2255da63dcd192d4e90761e5722c3aa0cbae1cc2d181a8c8663268e46893270670d33873ea51dc78e08e3c8f45e3c23125d243a658d2604f442c6851ce2c1a8804901d39dc41ed110cc1ad45e95d32a1b9bce16b218852d1a15a60855843a6b41270370376f966891b3c0fd09b494c35db7611a4f7c784af58f1bdc791e7859d278407400a235e8b126d0480ba622954a81c272a01b67a63eb8f214c81d6b5651c0bcfcb49967d55cbbe6b1b14dcd3434328d4c23773254c172cd7d6a116c517279cb5a8d3cb32c27162b9669d69b3d44ff00bb79c4301d423a489e6f1e5054e0542235dfefc34897791e094403090462d80f988c6155c4139a21fdaa877519a76dd62b552f575cf246af6feab7cd63fd6db14b2d761ebddc5e8b5d7327ed564badaab92f55346d8220193bfd2a861dc37406778a86e8b499c1205db0da07a8a9964ca9aa7ea49452497b14b3d6e214039a53aecf66673d17f781e57aed3b407d8b96613674922ef2312e0c5815d3344dabd9c8aab53b1fd8a594d8e58cc4300c9377711f2c2c631866027fd02ccbb26354ee6007130a5958718631ac7a9603da473bada432c3b6d2d74afb0a2946985c4f79dcf94a0393a5bddedc418c74296115c3b01619aba73bee7ca539650cbb676bad2eb8f3d878caa71330991370b8f326fa4a3fb1285d9a07e9d302e9936ba529723d0de98f3b4f0f936bff800545cda768d4c665d244155330f3767b0c0a17d285b6113a1980cb71576c696954bda5d4056e4f1e5aac3f5236ee5312b852c80f1b397b3d8a14f532adca7002be82458b5675780ab98b56a94cbcc3bb9c3fa8b5b7f108d2c39c9026bad7d30fb4e47a1915ad9aaa39c1cfd0149ea44b774ee63ea54f3681e34a9fdc9de670479b6b9d357b178e33328bd24823d9ce6f18d3489f6c372bed5d750d4c88c98361342a86bd6294d2494fa47b5875a69c72a4113376a9f5bb6a1956ebbbb159e79c5e27e7d7d59d1667d39ecf3ed039adc3aa98d474b2be91d9e89cbed13a32983c3e3e3ef293c7874f8edcd9d9d9c1308cbee04eac847491a9962174554a79ecf33318ada516310ca3c7300c034b90d3a5e9e30845c8310309646a91027734f5c559df3460a69fb294754e8667b0c7b4a53edc498970c72ba0845efe20f79be24b4570251012e8c8fddca7c626b58111b1c8831a8f34a2d53e67e4da99cd9e6575c7d60e4c121846c38a6392e8aa83d50ed06c522a7aa783d59dba43291d428fdc89a44b7d864756dd64eeecd69aa665404430848f4922cc7a4c12fdc913d3ddda9cf375f627cf8cae1d4e9f165bf3bae77780ee99f1f80cc7aaaab433ab7367c9715ccddd47796bbb6a396e93b8865b3877668ec461eecc1d6b3fe073a7ad9f555656cfc81d67390c779df591df8ecd1e93c74e1fd64e1f3b7dacb556560a840f0d2965ad2dceeeedf5dbe786c391552bee916bc53332b7559d5c5febb5cb5f7e55de1e6b1b9304d63954931f03aed50aa404427256438d46eb6098c4422d01325739bbad153a19805b5f698c341143ba4cdb2f2d3ced7437eea91b33ab68158a16678aa2a68da12098d1aa910626876ead159dbef50206cd17a66edc2ed1aa96db4f8bc5cee67066dbd1d75006c71d251099d2d3c460cda09141b9bb3d7d0b17adb25a57ff7df5001ea681c95de7a2c58a16e797009916670a152dd6f81a7342d75115ccc79ca8b2da1814379d4aa44ac0a4806e6ab1744de0a99a5ac4b0538bd83d1328b69ca44f091c6b6e5ab14c135115dc51125191029f5a3c58e26e391532e2090577de1667cf60d1c0184213c3458becb6ebc6ced9b9cb10ac9693a10bfc2225ae685126c60a16a69c823bda7c69a5fc08e659c3cc6971d66811c3f5e212edc09defa4d532acd29e3634cec82a297ef3283195c1dde6890f9d3c7594ee70c15cefd1e48e9173cf683c560be69a55fa345209981c96255aa4873169d3209813594b9ee178efbdb7d27bddab7df752d7711c976535342af37678d805ae5e5bf69a33ac929d46ce76e86c98ba7161d01798201898132c5aa43adcf9114647b340bf78af3b8299965a454789834c3f1e4092a8c9f333f26ce57939c6b836b8a55cb3ca3c8d0cb3852aa48bcc8a9045d8a2c5538a16e94710044110ccd4ebeeddf33cef9d9403a8d5ebd78a85327bd5245de8b9f03614ebb7e3c3aed2ea85619505a8d4d3c86f71beeebcec0fa426b8d80e5de76d32080646a3b25b7b2f08fea298ca4e596002c79541197b772eb4d93b9c79d3258523f80082c9019599a8248b170b3441ea94a2190100000a03150020302012090663c1782067921f14800f99b04e64541648498ca20c320621620c0203002020223018a0098b56e79b4e5375459fe933b0fbe10ef3d9e25f9856d3656a887a951af4ae324ec1e3b0aee80809ea029f64e80a89dd7643bfe9321f7db0a9f962c2ce447b764d71c124f4882cf089fa9e2046590023506c16ea88a3deff582fdd8a334463835cbd77a5e0f76a8ad5011b68bc143ce069d96d291b692f8efa346cbfbd04e95c123770ef5b5aba277f9e9d779825c8916a54420e2da390126e5fbe31c1119e4cf0dcf760ac10325324656931cc257e0894db2b01291ee522008f38f7bc06054ac7d8cb11c7ec7c7d70a40e87bfd7c683ac01a12a31593bde8d65f0812556dfe541905337e66e54e4e2203c764d546234753f8448ac9d3fcc0eb4ec8c584d1e45aa770697d418c338e0a0cd6c8f4cbf3836b5b9c471f8f1072f84a295cbe69299f83b563011b42861f7107e6d3cdd054ec4c56fb1258751c360a4d84197a81daa21c09501316af8b3b18e42e22224e6d8f2ea7cec920442c3ebd12d870373d1f9b55a8b180efc8180c1d591be6c129f4c1229a0b73801ed3bac4355cc9d6bde795f39757e3f5eac78b4ecfa27cca05888bc2f7650d11722b1b0cbbe4342a930401ea19063946f9694f19685a9ee1d56f3325299edad138a97e55c90c434859f50be72a8a8f5e81f4e837a8dd1e55227ddadd9bb7949b2bd078d0bdf89671449d9a5fe3f3ad8b22dc861b6eba2057631ad9dc0891e71ca580f8016f6f4626e9d7738fdb586539145674af16f70940da74a4d943897b93d43ae1da06b8495ff5b9365b35041cb630da5033d2ca50987a9f24d027ac6730f4e72bfe427c6a2eca9b84f68cdce9bf608fc5198cfbadf82c97bb98602dc0b526abf4844353e41cde7af1fb244a88a434987175b0cfda3798eae6b6574264b2541631649ceca4e7a348c2c7a489d81f94089915aba92bb836b29248a1bbd4e91551f7f694fbe6706079284203b91c472e242038823aceec12ef4ecf3680656da1e59af58ddbd5f6ce265286179cdffbadade0e5350637d1556c1c192133c85452fa3d87f4aaebfd87f8d4e1144ff0c99e885473f6e9483501b2be1ece22bf53780f070f82d1ca084e034d54baa255ecda1b2a79ab4d0ec830b5830b88971a2867e0385cc67a0432415ac4913b496dd4f79b989c02f3ac743c44030f10e0d1a5cc6d035762e0cfcbd704c03b103ae5575982a5f86602c42d61d0a9fcad44eacf8b0cdc35249754add51e0428f69b5027a128347240a5051efb66a4640918f9ab688d7e5300e86c400c374681418fc61b38ab05468bf6b2c226f8679ff8a4dd65c5f5ae972904e436589d84ec2c320fa093586765fe62cbc1a830b20fec6d73e5aae701b9b71ef6dfcb262af627ebe632017dd6c2d13d79fcdec54ccbf0e91aa15e48dfcfeafe983035d637fcd638e73f5960e1476999aa53c0e75a0d2accd3e0067d35d6b164269c4b1a6b46a91e5ef2aafe4034448457e7a311e0af014e74ee56c7ca4714f3e329a37fe7e0703b0950cc1b1fba65979d36be82f7a1fba4bcf417f9bdedf8a264088b9a56cb31200f8901215c4b14345f13b87ed754b55044f939c75d111f31b49283104992b00320206aa3e93988d4b3d595fa3a8405e2fd3727d2adf08b9426b488cb0679bb92d151bfc25704cff23a7a4fc518ee2c55661baaba9e465c9b0bd2e668ed23b41021da81b77ece3c865b26bb782804a67dea433b1aeee012ba6277b442c276cbae7a81278ee096ad6fa02bb1ce0acabb72b753365c01461dfa4348c70a05bcada595b6e3f6d212f52863ecc984420384d4304eebb1cf4b8bd1b5bab4901a72d8c0bb5604d22d14a7cd25f45172557044123ad3b1e1bc2ef07fb01ae70331b3e3a66e16ad5cbef70f18bbf1903fa8775e3e9e3add991adfb93ed1b943373a725d76b6a69c3cc96a2bd4a0373bf69e15cb16d71c8813d9623af04d44df4d758d196be5162daf469820d5b211563b31107dccd0699389c93813d4c364f122de0fc016ed16c1407aedc7a9869317523503a2794c0ae2ad1b8caf34efc9c2686ae2e642a1a414b65ccc8ef254fa073b8be35f2f8a4a58f851782b74ea5b579d1089a517b051b8889f5b943f2db154d23070655956764d3c54645a23f03f0495207d3a95523eeb7c8438c3045562f87652e1d1258abac9f7bd68a1b7eb9031c25cf83b744ef4b9b53f87ace8886f109aa983465558185605f5df36fd4ec068c12e3e9d1c1124eca560ea3c28251c23257548b87b728ac658138d22040277e55b3691593f3dd25fdb4a2600bb51db368922cddd81831d9d3e12b1d9b9d82e25a726efe31eaae09ab23477cc359c3dc4d27740dd15263d1cbb79e2f3104c6256a794376536833562254287f93c4452711db5b319848b00dcb71df681e8171dbfe21f7418ab09b58b098fe489d9010214d0a20a0b5896e2c950ff9877c5a8f104422c840c40ead6153286f63dbc7ff7058ab349f5b17495c4077b3f104b0c721446e20366e8bdbd8965b612dac90c111c32a57a141396285e7188cd51582d474c3e7678e7de921d2f43eca8175ad0799bf132da649c3371bc65f360b8445f4e189d1e1f082a0c93128a35c41056a01fd41c98e9e528465568a2e8d7332d58da04c19299f31a2d2b3389adf300ae743c0dcb6a00beae0687e024008b4419f486cb1694540a04b7206ad6d8160d8d3350af425ae041192a5387c80a5264c90b07ca2730283a6a327ee699c86c8103287a756f19830e3496e4c4d6b670de14784faf032c161e1f4e77779c135eb2475ec050adc2706a612f31682310deaafd5be23f428d6c4a6148d01d6de03bc2daa9783f4e396a16a735ea51439abfb614ef37f8b400303f33cca78194124c4bebc7cbdfcf448d966cd178388365b2c52815b4f02f9a718ae21deead34f0145d2355d9a4c9f8b24caf86481d92d971bec9c724e5ce619932bf916b2c3fe7245eb0f0a1e39d9e06880cc11827db8963ab2d88a4b3145dfa36fa77ff93053e608ffa280468053ceb7a12baa1a8c4c90af70e50b465cb3534f59806208997f786e4e46ae576f6d2ce01e47e9bfe7fe1d0b206cf4d9b34190726c15b271b0880d07a86d10803e5043dda3f96bd28251336d6288aa35241785974a8a4c4cf6234c2394212bca181204c3aa2ee724a7ee10b2c54588e495f41b5b5c8e0b0560819545a06e6d52ed18c5c3d72f0d18f0b8cc84d8b7ce0d3d99d83188bf3f37866be0dda0c73896c7d0b0752e1b36b3c90ecde2ab1a5e2ea9ea9cb841ba867796c450d309949e4a995c014226df8eb8f471e06ee401f42e2ce931ae12afeacc338436d8848c92b948455ba620417b14f53546770f9c61287eefe7c09ba15fe2d09ca88cf3b809262a7067991043f1d7787b55a8509904409d8a920731ea5a5965a1b7b84af850e3c0eaf65e98eba779fafe1b4fe58b0346dd3e4d2504e644f18f9327ecf9153502138121ffa47281e34304a6b72c701d0952e77a9509f8169712e6e2556725f27d2879fdd1789f2f653a99b278c380ded6c8a6f4282543e2309f80b972bccdfc0486231695020128577492816f468526ffe692338767bd89483079b8490afb2d9092580d0c3a989e3eb22dab8ce8f75b4b11a79affa5745a596b9e11d107f5a64f00177df4ca6254f4268138b2f920e7426c0629cf23401fd6c4ce2f9dfd6f8404afcefc078d6cea3d560ad488d7f914e48dc4ff83a433d5115dc5c444fc5157360c90aa74249dfd46d169f7edf8670d3682ff42d2d9d1fb51fb8ef30469bf8d66a86a855042dc5d32917fab1b512927fce322888acee9a51bd1d67c7e310256d93347f1dbf9381427de7dd7e977efca9ecc06c7d0699601449639adbd269073ed59f4d235d0178ecc85f215996206f77588017906db1c18347904d03bf7a9500103411af20efcbf6acb2a71f43fd9f51d672408412e9d08eb31556472078cdd14879d26043e2d3c0c9582e6b07b23bb8a67a4073c275b25cfa7588d796f02d0dfcc0f8c677b30b90ecad2180ddcc5467267c62442a0d727bce5c3c19e201cb240fa5031148b24fac1e32cc285c9e7274d3b6963501a0fe7485a9a2edc60ba387bbc7f800bf6a34bde400b6b18398f5d61a59fb599c1b9528de94b1d93cc2ca42da5052f366084cc8f3041ab180406abc0e4053ca1570f98444fa1ffc3d734754570d8e3556b709732fdce951ab7a540629408918e64560ff846c7ca2ef6453ebc89af0e5576bcd895db3cab034cabe2ef1ebc9983b75f56d817cae0693df80f21a646a18d9e1a5c9b6e67305366bf9d4009c22fd588780daae532659afd1ae9a074b88b93d3bed05ae1bf7eff3e07ce1803a2eae505229b19d2cc8363707d9f5c6e6bb1e2b1971952ba02f6b227b6c96cbc3db11f8252e3c7e7d745235cfa31b476d64b8b80192cbbf1176c7b39a6f69613d1776e5d1364f246a54445c211ece69a0db8ba3a600a2edee16cb2b00603a1a1ebb5fbc3d518b693b8b714a2f7b3dcc347978b6175259b82c0f218c90345ca112b9764e898c40ed1d1e5eec701bde91daae7fb88f539f5760a818515eb187a3600f84c36a5ae57714074ab1c3bda7096b0cf4a9aeac99c043106c931cc33a69e96191ca7b3b80f90486a119ca103cb1d69953f995bb54c100d354460fceb8ad6c7bf7cf9e7763120b754c20e5b082647610665b7140f0c8799e65aab0990051edb0db78b327b0089c6825f1c2c53b2a86116b1855a1867861ab43577747c40b3679bf8615ffc9ebceef75121e68319a3ab04dd19110699cede81b985fb9ee6deec21aa058ba6690dc95df49795d30062d052ab095ed905314f9fe8b9b1d20f15056fd560228b654402060c1d88e8d4077db60089540598c9ea7ce70cb0b9e1766fbd386195a53517e22b8eceb1fb276df6c9b4a1ee73871a4ff57130cfbbd4f4191253dbe20c6c72daf33b17e09c178ed65c1ea9480c993589fe49008f33a0649d8619f945641e6cf62454f189f5013187bbc44036e0d6dec059f93784e4322f21c6d9c089c20d282362d257eab39a578dcfd29c01d3fb54e0498b2ba9e9de7053402a2ecccae656c497929a3486a002976f894ac88d1f1fbe810b17e808df7d8e80db99d0a5d994f848048ce3b42a588b1f41352480354f58d52fc4943c2d8e346805821ea8491574d45e13ca390af3eb3fb0212fd19b9d88f6e3703de25405f83752a18e5aa46ae6068d225aa03c80bdd0c3ee0da08e48a3d058ab7f784f774a401dbd5f7f4fed8c1016c0de02538a5c9fc895df64138852d655dfc435e8c58f5fab171d2f4f5dc4f45088ccac248f1a9af4dfbff01c4cd22c0533b70126769985392a72ed8de87f34a7f510aea83c2f5e9a4264c573e0ed3dcfa93a4ad8dd8224a66e82384a6816264c7a7ccd8cef0d423891b1f3afdfb132347ac5a17dc5b7ac466f228b37a1512be86624a90f1ae0ddb3309fb3d3ccadac713a6ced11902318c67f47845f42260a39bdb06e3edf6d4e6f77801e4d00d18e8558c698e2fe0280cf352a79f483d74c8e2c8814deb84dd3d62f02362dfb9696dd0307d2b95318b968b724cc928b1a42703b66c20225e78c6899b54bb048691e62769264ec349c3219e824f0e0a85759b31dc6fb9d12813fce22a53091ad40ad740f56be483238f85181c2522cdca6086827c19931b4cadc63b8f9e3ad916d1ceb9ccabab6a1879648a48ed3850ca6c3099651f48a6c588153eb55fb9a1da09cf6b563a7188f184d95fc7ded7691f3a1cf2dde2250338542167fcc125011b1544b0f66df7809bd612ff22a4c9248690866ac9bd228a232d653763f9343f6544ebc8b3950c79da254f0fe530cc4a044b9aed926dcc27c7191553ce995a4e569869b5a5a59242cf629d31874494b52ba428dde7ec0acc7298d640d780843901cd5dfc601d619faab3842d991710510c79ba05cf15892fbcf0ff1011fc6de413dc4916c3e1322b2f6b3d462fb282f86d3ddfae847f7ef375e56659cd09bf811266886a6ae368f805a9d7da0fe2240083a5d14d4d3ab1c74c9c740b0859ebaf681d39946382d1609db5a7b4c3555cf597512ad40e9c95f484a0ae239da37a7e2daad62c36647e89bc0490318b9dd6420c3c0567d639df1399860ee8f28f3767d3ee7059b8c153594ec8aade510d214024fcc7ea2e0715f4b45d5dcaa81f240198a11d0b685d827a828cb2b879c3497a8964e98804e2619b0f0f86edddee35dcab47f2ab6c0698fd11be94d6feb1aec3ee9a1e6b5b153d5c1a153981ad3b05f30beba7745f0a40aa24c3ca1d22cad3cbf3bc876054f22dc85d4e47de440d266fc6b777009b952d45eab1fa2b716703374f7c8634a06632457dfd12bc5ab3ca43eb0366437853e8d3741569d51e2c40cf0f0f0623458cca1ccd21086053f49b446301c0928f68317946960e6a7935709f30951330968bd57757a8da5a7a64b21c42a0488b8a4d9288043d231d2473c2e3ea70118b492e74846f716abdee7dda71a84d62e885f3fbac654a607855508718aac6133f2c0e230f45fbd15bb3a82916f8575e5c9cdace2681fa9dd71a88c736b0e783cba63ba2b02052b3399fce05199df8a1453c07da79c14324e76591f1642b380d16e36a47c7eba7fa199ef1a45aef06c910f5cd72c545ab92d695cca01bd3004196305fcde8b421b2c776e5e8339ebe2c1fe571dcda0fe88cde282e6a908f0da3a8a6b7bb6b1f4b20450ec558795114fa8537aabdb820839b552b61a49906c7d8a707e34b7841c174855e9e865865fc716fc82f5108bfb79995e55c56ed7c81406d3384f8ed2f50ef636e74c80439cb1847b9a6d89962f29e78ab140ef66cd2c294bb52cf9b0e162ed1194f36ef9243a4084a8b12cfcb130c04c42a08a2f06ae52f520f5fe31bbaf622cd3fe314578746c1683b8bba3da22e64f7dede7c347369a2f806f2039d6306b5710aa30b663bc1459def0af17a130d95071e72e62b06d6c71e8dce20a70993198b0435c8cf1347d60b621a32994148d959b145405be6eee0249e48669abf498f0bbe631d713de25087eb17dbcea80ca5da05f4171a106d4a909646c60c90393dc234a09cf709e7cd451caa98a2d1d8dfbbea04459af4dfe3641b6596d6ad3762756057e0d1e56a93d7cc70469c65888f4499969039c6c735c1af9ef92f09c1ee6f6718e696cba56fd8887ffcef9492fd901696e1852dfe993095db857668154ca96b05da689ed22096fba0fcfc3b23c948b65b29a3ae7a79d0a38b6ede321506dbf8de60257bfe7e2e7cde4c163218a8dc426049563369335859c734524734277f69aa0958a258d91abc4feeab8e6393142fdec8635ff049c11ddeabd536674a61e3128ef5129b551a44544b342abdd1621703a3d6cceacd2713c4267092efde74e7e1022ab32cb44bb76e801453e9a274521f1c28af7b884fe2798e523f4e0319bbe46389f5a68e7e22404a77df948dbe907e0eba037cec934ad32c32ea3cb3c88b20b1adecd324b388f1bf5b26959749e9e30a8b10f1f53f3fb8ff9451ba4fe963b53fb550c46133a2e739dc9c536b7a1840c1274727d5d7d734f9346dc7f00f5c9277aa7670a5ef7e0840e6092b9729ddf4b69a3ff927952e61a31ff8ecca314def2f65557de49a147e227c41039440f8546f70dd001a9199d61ea0cc484557ee4f84a4ffe053739ce49c746067a3b8ca8fe6057c2fe984650c78ea9890c692249246d4a0f33455cde3cf68fb89b500fd625385970735b018478cb938059b812919f81c40c7734a526482973fb8559a985250e77f47fadc75e5c1524e4aa8de894679213381641bb87b1643602c2617f6a701ef93d6e2f3ccb7e4d0823be52a96b6c8295414c00525cfa68e012cd6023c5181af5f86fc2f4928f5a7f50c106956886d2dcabb350a84b8eb784146cb60d09dab29f2a5ca3bcfea312ac2aa2a12b0bbf61e083d547f5f99c3ea71b9fb5ef37dcb4b5f492f4c7aa5a8504d10c22d1c4784294288fbdaf790edc1341cc511a4edecb1e2b8243c947aec4914f17cf9fc4c958b42f1dbfdc45f0a036158ce02301210407be6ec39e2fc97a6d49e69802f38e3a5c43fa16735f881179aad59a7828b2fda627489b3ec471f6e68bde7a2c72b6f01c55ab64c6d1d8db81cbc05965398a005fc6f0f2223974f1607cc4701b21254ea6e84fc1bf4e64660bce2b2b02fe23691b65648d5e3e20ebb25708fa72271e0e6bbc221e23ee2bf42acc2d1df6ab5ecd5940ee3ff6ad7967c2a628362f5fa072b1230c554d8a67bcb1496fb7922ada075293cd658bddb7d74de1352eb820e961b5565d91ad9abb9732d669df8983f57f13d0f49753002eb37938c5f5f63195a2c25f7454449d81b60a2d66c9011dccfab407c3287e08089c3cc0e1a86e5422d0f551298b063383ee9d0341c7d55354c3aa436c63f2c4abf4ae3ad863825d0d9820fb2ff02040836d3dde19568929dc541fb1b4c074e233ac2920131809bd6dbafd601f38f48b5b9090f7826c41347f364cc2f9344d05821afa931cf11f417b8c2fc25108bb95105cfe9a0051c6b5ac5a3f061c75b1d888cb88c1d64d069ee2077add8e7d2f5f63234ddb51c59def6d8777e163ae4b28317c86c3833b83196c62a897b8c7cda406e3914ac8d92141cbf63fab4fba6eb5ebcd527d0678f9090dd83b1cd6cd088c8216df31a4f3424a518e7b3d7a536075acd38260a022b2be4c97272cd3abb8fbdc497e8c78c18b87002a55fdecf3a0a03ee4766a892311f2bdc6c52a22fd3760e515819bc8d29eaaf4f4798789c4e6e54c861c45c8602f616ca0f31a4a98d3ce1178adf4dacd2c1bd1491931555560b762041a869ab074d0f06234b781203cfb03edc3c8cd6eb119661eac499af897ad03852451d73f3c7e4c1282918fe1f280170460b1ac5e4a5712013ef4058d67626aec32b38eed5f14c8170092eb3e9778f8181bff09ae988344bc6058cc8257d80c91c203b311e201606d15d1ac377eed929c6d3dd8d044e4b6835003adef3f15fc870fffafe29fabe535b0149415466949f83b8292b0cf0c44b646226a5da3c44542641744b52847538666c381cdba8d016a874411bd80573751c311cc8d1025ac5925f369c83a469bf4c916bc950c1268016ae48da0458e1bafcb451e9facf67e58156d8c02f43dd0849f2068f7ee3bf10ed423e4a340f5c31910f9711a813d6b235d8e2a871c1428415180137aae01590bcea238900c945a347b9a41a6e387a3869af83accb4161cc646dff8c265580bf469c9245edd284ca7ef4fef283eaff204f576fd04a1aa2127de19769212fa5da82c5f79172a17ca1e7b11f9354aa4d370ca84234ce5418e4299c81ada18efea1d0239a4d9634f9079f7410cc31bd995734a58b05b933c68c07b2710d264569e30953807eea1ebaf40f0345d1c8697bd58a79c7aefaf6dc5cbe4bd6c5b7d561f62a6419aa79f63afd21bf9be63a3ac4c2620cd6cfa246dfbe24fa81c29293bc44b7b91a66e6c0f9d5f128036c5b5bb62fbb721f6e2a3e9b200a1d6411aa0fb253619ddaa946b2a76b3b18e82ce966f6e20affd537231fc9bc45eaa5f3641df87d924dab881acd46cf2a4aa01466639155bb9094d08b3775ddc866233e0c9ca30d1e2305b37a8764b2a809371517e66d4831237cafbb821d191dc3c307fb7c097e0a39e49cecf28c4df37677e417ff46497264440529053f020e43a69e75d6d4de2aa5984ee50328c8a064b1045683c4490d48348106b71256c920e166c13ef992ab1de623b66c95f42dac5481db239012578e6bac58dc2f94164f773f0f272c4508398e9379993ad06b818e0f827752f83193bde549dd46c31d629d739ab54be211aa07389e40212c5a39e5918bc3bb00d456cd81fcebdf26be3ff08ee9d7cb837058bc3208a4f8d08a2f9a986b83f2ce3f5a9d3c7593e2c56dad2a200f7d2bfde9f26d9343f729ac98625b09e34d5a29a7bff7e1c46212cbc25eff35215ae04df2917e02515cde227c23356a0208f9748bb8261d8c07c2c378182995060c82a7e4e7c6c4c306886f6bdd0e2375579f4bac7249670f91ef96a89ddbabc8b9ec8bbf85366d375e94fb7f20a0ce7e08aeff77aec6aa9e8142aeebd2e2ed3f6e795f7862a6f3c0e60e0fe078dbd8f68fa032ef1d462a0c5aa25921d5b132c4fc00c59af7600ab6718b25fef1d21774dff01e25cccdc693aa1198cddcec207211228fcc86dbdf70affe89edd3dd0ea9036e5b0decbfeb69287694853cd7a5fc3fe2cdf35bc55cdd5eafd46d518cc3a07e79805162e57a1bfce13964fafc9d8f7e65936fefa8b25cf68f4eff94332d4c30cca06289d2e49b8c48e0979225c633020741afe055252fcdcaa7ff5321a0f1ad45f4b9a824383b690017c41d12063e881ea3c3e8c3c8b5973f81886112b82e06d7ab8fdfd679c13b8541116e333d3c2ae5398933c24954d99aeb6acc056092b21bbdacdce90d1a5e86bd1c140dc84ca92d1048f07569c20ac9d0bcc5aaceb29f4e3df2697c545c09f67d3d60e11805c0cdaa141a8c443c38da8db85e2e1dc53f5451ad75fe20529cc070d4a6bfc11002c400bc415b8517c9c3bcd79a37884190732fcfe3b28e9bcdf8a17ef42b7b6433b0549cfc14cdfa70fdc935deea2ede39b1471eb37e018a59c51363af2f05a8a8b9754749bb9b62d77f1f7e8fb77eb61a5f520657e2adf00b2977c807951f68d881deea0a696a7695341f1a651f97f16835b90738dbbc2089b4c2f29d445d84d5f749601438f8c664759cb7b6b6916b702d56fd16128aa6513816a3ba633d4ef8e7188c184aefc7705014ccbc3a6fbca6622f312e60640fe1b70b5199309014c1d1a579b95dab8ba363b49d61f09022c1e184b84c2068c7e202e49b1885b549f2157d1ba7ee3cc2abe0069ece7366000cb895ad533de01fc8042e40458148c3d0e426d2d4cca29ae1f3a2f13d949b381206214bcbf9027400169538753f141f36ac0b300fe27bc74f2035396f052013f30a03522447cb28701f1a7b70f969dde5bb4a6b83d570776b15e653fa9afd49eb93ec09d7f0278ba60a905b551ec063102e949299f9ca6dbe0547ed215918a32f65164ec2dc4c1b24dc994d6d798d452c35c11136870b7820b005a657af11bfddeedde9ba59adb2fc83ff830f9dd649d93769dbd0fd24bf7c4cdd337317183e5651a83a446045994f2ecec544dd3b37c22ff5705d75068287adee7ff7816036cdeb2b8c6c990de3f2690f6ecce07ff1ff4b427499f3b804b1196ad0a3b217e48424bc98088c4438c4765c348e17378fb2f26dce26d25a4279dc3f1cf6177c4e1e59d8de6263aee25caf9ae9b2622a7e0ee117d6ad62b6a76044e5c5d40fa7887a8a995b23c40fa926f9ee984b97bfac95ede5adf5737eddcdd3c831f30b28b6d6502fe36a2918f3d0841f3b4f91fa0cc3f3deaa4663d031c6748b452b7ecd685c176d5224b235a644147c12c34d2ff8889fe5ef2b48abb4297152ad10b07373589fc7f131cb36f06bb1e662140d3409d08f70ad1ca1fb44e48926bd7a7373c59f2907c8370dab6bcb63af28909afd5dc15a2c69ed6c4b8ccd50151b91e97b14e19b94524c6233955b26f115b2c28b317885c17c98ed442f1a9efd7ffe265ecc378cbe26e54566c165b85bcdd2885c0976e3b5c995e3b3de17d657a4c64d2ba59f410cf4ad9a200f78bddf8f796f3405eb9c746492abfda17c7224099aaed7b6ac0e377602720826a5fef7d3350f2c2db9828914d34ec585dc0f8d7252a90806e562b465422f8db1250e9024085acd06706faae2fc40551beabc75e25f106e8c9dcaaf883572541b3cf5306ac9d46a44e854af7037f329dc12fd7fcda9c708193e8481e532203227496f97895c58a77c95b323c922c007d3764a66224a17274b8a2743eced3e5ff864173fdb160e30b1f7a83acd993d33c43ae81e28be885bb88554b405071ffe006b7fda56c62f8c5f234eb8cca94e5e0cff4762d666ce71de5bf68899bfa759e71f5bcbbc7e6d07ff959d9ea445a04f98ad77415f0a70697933b21454c23a4d140b56b822631d87880da37c993186c3c40ed9be4490c361ea0f64df224061b0f50fb267912838d07a87d933c89c1c603d4be499ec460e3016adf244f62b0f1c05277b67109a345fd2a1f6e26003b20f9398e51d1af801b32c97bc33c7d3d34a13094dd4ff188801b58ba357b52cbd4634578d5caadd59390053650f5d51370a24bc68191a21d38337bc1153809ca895b7a78befe5b09122f9b5cfa5b41bfd301ad9b3584d7f03b4dd233a5cf283fa50c9f66ccd7d39af245d0436c511be7568417165c2c994c78d087504abdc3a33565b1f46248f7e5b7af26ae178fa8569fa0e4c3855f4f84746e4f0a50384a6820b39f606952ead58beca0347e2a8d6a26110f59a5d66627cfa00c08037e7c38bc6c869366d2b9c1b9419ca7a87ba9042f823cda0d02bf09584d420e0073bb8266ace63a216ef690b20e9ed7fd10338ca097bd99da92586b6bb4c3398414bfdeb5a471751965d326ac9f7b38954b9304b9fa1840a968e18482a0051847c84db04490bf497f0b9c8e1c3176dad580b8ce10ea6356d3788781765ffcb172babe1651c9eb7a4d4547346ca77e88ea1d762197378d33b77d919aba13a00c48fe1d4b1fa2c39ae4cfb3adf1f27cdde46d0f9f6b006017788a123eb2990d7ce18dcc0841ab25eddb52058a67ea38f9fc79ece585f8f7f21905723cd303d4161f61560ccd99518bc33221ba6ff6134ef6696ab27d991ae2c7d7583b2b483d62a140f663aff42b8026e361f010ae3675028acd234d58c9da2f037159d6c20b2f2d1aec852683296f8fa03233207e2979ed8408668264beedc54805551aebbc9dd2846f61cc41a3851e37add9fc624a0e3cd6a61cf2a0a503df79cbe26f52f74215cc804a1db6a6f4f5df5362298177b4525fd57b5f1f51aab789a7574bb783c726e77944aa60e7caa68afcf4038012e3796e01fad60fc9b2ca07b10061e007d296aa0c422f50aecbbedc2c91e9a70d5040c00ca39a7664cdd2c0bc4376bf2d6d087298c2b5dbf68c227715de09647c66d17553f6228a927deaf5d5472c6b3d8e91c8c87cf418bd2cc63495555648847852783bd451e572f9e138a2a5af8af8d02dba42180621133bb7eab7e73c437e272db1a88a21e701ad832295eed25b6cd5f2f5d6885a2a34868da6be77ec83f9b934a15103ba4fb20ced1497795645d6fec41ad64479fc59220094c4c17b987a1a61eec40f8339564a4f7ab62370f726557e8b1a9e1eeace7d7ea618766590c1c04185903782662e397330fe8fb4e77006cb0fb902a5803b6e7fee76ddd1de19d539747f44e5c19571a58e03a392769f42b5814e08ff5769a70ebd3bb68ac13fa4ed867bdcb1f784401b4ebc17c133491e2fbed004914c7e95186ec2256d658bcbc6506d32839331b7612b8793d1c68bfdfda8f2743efd56d3ac1e5525c350d9717f866a7309fa5bceef052c38c3d5bb31ea4d0d38ca4b04131a42bb61e26f67f210bd84b0f517fabd7629f666afb1e7ef9c74723d940214f95f8062d164085e3d8089522d765a4c12ab3a3be07f70c8439c1328fb04e84d54d598768b258064a59dcd288f341bd11408b9a039a845b8a9e90b6a3810047038a8e150bcf73b6cf3fc90ca631cec56e22b0b5cfb48b0c8bfdd73ed6d091c985588c9a65c26fb7354160d9bab2cdd9ee83bf5be89d86db8bedd4e1cb9fbeba0df18596f950b91ffaddd37dc70d3996cc518aa6d11fe29883ac65326c9c2254f95d08925d4878fc4bf877afc690ac656c969fe8c7dbc005e775cb063ac8e373a26bb517e161c436d94b28373e5d38731b580b01d58b3555bda67615fc844826c5e1521e35a85364bce08289a9b981539113e47e612201aefb22a320de04dcafe1aad8a45222ca6c22866adf9978206f883a5343bcea8ea4b1eef1ee5052de9de63f9eb1f9a90a854cae1143a147d4ade865f57aa4f4ec81c99c949c211f794ad4464aed4a21d96444aea7d2ccff9ecbd482e666453c9d2e24d6f8f7b4e58c833b1193d83f6f11950306c10d1e45a7a39c61783e926c665a5120a51e3617345a3ceda54b4d6391db702f7eaa1429de03eccde252034217522987c01183162020c42acbc959e44a0e101d1e6698b1722c2e5d0602b199c07d333a2829c9833822c3c83abf4d565942cd774a33e6a5983955fc0f0c4e83c2f309413e80e04a60d3c0d3cd812eaa4503e747266e524ee3f7089e94be77ed2054b54de06a59e95c6df2b0d19689e5b654ab1894fadf62a33488b9756d8ff99084f4986fe65488e0fda106b0ac8e1eb3f9a24aab51da0d651eee01157ffd225770a3863bcd07253b9e72541d120523df23251906bc2223faffecc7e7c3477f0ddadfaca6141b6c405160d2b258bf3266ccc67f3f24bdabdd1a85344b70d1b8a282008c2ffdc44d76c8b6fedffdc0b5cb1e24b03ab5f5a70bd02093cbd5c4f1a2a16130517e6d5c8480831679dd8fb0cd4d4be77b00a4ede59156192c08554d7cd6942ef36d07a1ac53a34fdcfed9cea425c0b64e02a15ba30dbdc267f977b9cd6b61c90a64a8b5e4a8d7fc9c1e13220722701ad9cf8193404e4fba902cd380b3219aada843bb4944064beb81db614e1c42882557d92cd0b32e36e149f1d69043477d7af9993c3f230854716296e4b52167ba335829408929b6d5ebd707d828c709b1bcbd6e49af1f61f6a6ab4c75aabe66f099e0cf1a7b7723bea1b8278452de6e1e13a4b7ab405a9b7342caa152c4d66e60c80ad41be8bc3fb025211989a193cdde95f2ea658ff3b1e3b44576ef61a14833fea29e5d8e0ad4f0892a99b6f9d7529bd2b21fca461d682c6131e26ea16723b6aa7f4518599728975c2b1d89117b35db8a13520e2be50e1be8b510afaaa284248c26f82e65e356de8407855fcdf2909f701145d4536281ca0e2ac71420b93319dc749ee63ea09cc17a75b233bcce3eb115c7f46955bf727e9f4e5b17ebec08bc9f79d7ebf34783917b0a9a7c62645cedd862816722440c8b829b2670c829eda44e87e114c9b3624e88143b9914654d783ced604c9a1b51f24c4733c21d36c963ee65b9d5034886b6111d21f510d019d7c5f475c9c763966d5c3c1bdd4256fda88a04b767ba637e88b420265a96c31644d4453e5f8caca7ed29a4423f7762bc8ab9be2a67c191b88692ad272113498ff4fb57b3d6b7089a04513edc8919690743b083029647d2fcb2e03034dcd68b429d5984bc69e2646d87b027118dddb50b6c3bb376686ff64bb86cc40336af2db884e81edb8da4b6434ee0f79c192a46f80282d2a498e10078e6d71233d7402c104369018a832259a547201655cc109dd09342471102129f6c9250d87300a57ea2c8aabffe209678cb688c9e6e0a68d759d26e5961b970ecb5a262119ddd6b3b3ad1725c1d4fe37e8df72db232d0899ed57432b117f56bf71611c47f05dc0bee1fb0b603ce8708cf8c64f2cef7ac18b9208b4a6ce75c7a53fc9b2a14fa0f2b7265e0392bbe5004b1b2094f63708d5b9b7c1f548c20c8c5396b765a5f30e07643fe97ddf925023c549f100577a371a80477c2b075edebe11e6db4c5dd534ccf853cf9c587d38a7b52e2f9cec4e3017dce2675aecbef542692d5928f148c8165190c68656e51d3716623571a108a022aa7ba2a0fe100b2ee6eb8e47c326b15adacc2db5e4d95f5caf3c8f49b36a3620b8322c5692fcf2a1c784355fb3dcd0979f6903c9e71719a39c46660d61284517b418a5732c9be8388d7da4dee7905f1cf09bd9fa9f0b85df6de0c64e5c931bb1b8503469193fc3905d1b21b01327f4edaeb598ba680fdb71fe938f8b9ca7d4e35ced6891211a3c13681f07bf0e46a83fd8e7e3fe09c66dbde88118eacb0d6185f6b6545740b4293b47c1181b936b92f27d1d0953e050b8eaf5cabb4690840ae3aeab269bb35b97b1e108f0b354603920b953e5c1f6033eac072af8bfb5dc2f70bd6bfb6bb78ab5c09bf5cc6957c7eaf93c523d1723cd64c2bc97b7c6cbecc5a48dd6a978eeec1193dd1e961d377a8835d043dc92324a160a475d3598fd0473bc7d22822be2a137ac29954441184572e6036f53080057b6bfeb7efddd8ae43de73702930dff9b77014f2100354b8f960ae0f2aad2ac038ecb0942a4fc4dd8fa9d73af5833f6f8426ba1675a1fff359e0d23947977be7bf549c051fa7db9ad5f8b12d7aff20a95558224a1df543012b5ef0a2fc21cac9ec23b62b4515de3ad436bc4a2bc0f64adbf7348aaa842a24c49b0849bdc4f962810bd4fae3c793918ce81c025f3b55dcfae87e8c1b10e4b8426de53a4f639f0d1f486a63d40d3d69d1450fbc2f169d4a8b5a1e24287fb8e6d1dad2eb454287ed50a59c5cf889338185e32cad77e4f0c6e21133523a8049b3195ca49573bf585016c9a64ea3e1973f4ad8d2c6c5fc61ad749d6b92922cdedae5dea702afd81e6a1d0da1f54c19f4a53e726ef4f3348d92ac5096243c5e91caaeb7b4e5816df9193b503fd0e06004fe171f312a8db82976f2360df022d106bf83ee5c022a70b158986a5aa676ff065abad4f61a973ecf4dbd29e1b595aaf850fd41e91baa764fa6e406c16cb2a3747018850d665d9df815c1166d5666438b9b3280c9653ddac827129eb868225e879d4cdda954a7434753c453039e3117dd1008872af8bed97516079cc98c0da811ece2e02c23d32c2eeec41be4b9a9f84e14dfe7de262375c7f532afef9faff455f62b482ec058006f026ae98050cb52cf503b63623643e20a416556d5913ed3518dbe23440b1d819baeac800726443c3c29250c138233b735a30b8c44a3341d436c440115301899489a70367fb1d693d2a0ef3e86db80c4f349885d031d3b8afb7d2c902f1b9c0b43719e75c644cd59fecfb938e8bebd5626016a6ca831209ec1c6c28b13a1f97c0703f9527b46cda7848646fdb311b4003734b5c0e16260b4f29c8e74696d8dfa1a0b69301b01336cda651fc977edd0bbffe32a67dc5f98c53087ac90f326ac4bb4f06390889f2b42036ce13124f2ae74c978033292296fd22dd2d442b999074f18b6871c3d4cd902213f9c66f1cc80450dcd2485121dc2f0af5ae14e88dc72b90100030ceb85e71ba7dbbc1fae6be3686162056cb6177daa8f142a1f276defa3dd0565e981a64e5e7fa00846f1c50e43f25fcc19938c2d60f1c998e7734e695de228ebff1293e859e397dbe53e30e5785a973143c2a951f594dbbadd38491bbc3db14519d78e8107dc9d2aa77f5e12c4c4d91aa7b372ab711c40eaabcb8a46a578bc6f6fd3be5d46d61770feea77efe115f007b5e16c5894038d87a5a882b3fd99972d4342f3b1de9f89e41e9a902186152a640844d493a3e48891db75378b424a94c7d0d8f08191773c5576109f1d1fad8042d227b6fb54da6160646212833b8794cb86111838e5d5338e71c1d0e250a466e929249453428822b4794ad0df5303e5c4f0a84a13a8ff5a3aafa14f0d40a4116653cc3044cc11b98332441950111f6ce5e706e261987951590ac5a073c6cc8b8edaff65b538975eac66cd84e12e3f1229b6cff1858af11882c7a3d4ee4d8efa0f629887ee7c7ea27180ed1a7699948ead12fc9aa05d06f23eb1f5fd6bfe9a4d1fcb9dfbf6a0d3f720bef11e8b57a56d11cb853f59e321b586103fac6b4378e01c700a2a94f806b4f2183f213ec8f779bf9b7d0dd0c4553986ec0b367e29d9b05c74bcedb3d62d7eee6a02e0730d40cf41b03bacbda8e5a3052c24d074916ac6995861bc8eba3347853f08bc1d35d5bacdda52d924eb8898b9ea46d0597d8aeed33aa72c1fdd9c75fcb30e3795ec7399ece82a949a89dc339d2b475b076ad92eb4321baec6f7f5ad2f6de7bcb2da54c52a66308b4085a09a7fb00a0e7383f71daa6651e68ba61a9e33cfa76baa1fc937fbe81214fe8e33bcf43d56fdb8d272f7988b276e3efc09064c39d4c36d187336da8df4c36bedd10f59bbb50e34f1d77baa9aff3aff353b7dd50c87bec9b09ccdc034ba88fec5ce73e9c6fde71bef9c652a569d9ed1c78d5bd08b1a2a875a03518affaf7fa61e8a36f9a8d6f1cc79d6e4a5de71e90e7481eeae47c270fbfd0e3baf073eb9e76c35ed2b6ef3759da364dd3b6149877328f034f37fceecfb7bd7c48f3f2c18ce631cb3ece65e0a880fc9665d9c68526b74ed2b84fd3be13f87d76227976c3ef3bd736cf4b75b747f61ce9e427b0e41c687335cf99771a736e0ff36ef8f37dded65bd82822e92e3fad832d068e7aceadffa06cd76d96996b01e837e7bcb7eb811aff79bb95a0ecba0700fd7753a7d3e6dccd7d40e6d9e6df669d438ebba190ff417d74216f497eba1e180a09516fe31b4befbd1befcc3baebd034321df993c13927da0e71d68e35ef7390ebd9c377753f2be21777f507f7293efe893e986a82f8161936e8aeb9c56ce3baee56ba00ff683fa8a596b9b0acf7a7b53e14967768b7aec4ab76236ee3c762848cbdc2ebdfb7ef34f82a914486e72fe9f94e7fc3fbf3983e117fe90aee97ae859cb56cbaef46ec3c2aebbe1cfff7c5fdb98c0f07b9397c0f0e74b1f8e87d9b74766a142eb5dfbcf770d7a9cdbeef6ae034dce812547519cbbf9d79e91ae1319be435e19f74673afba09f46e087e7f03867d7fbeef52b0b9a9eee9c96be7db084f1dfbf9bebac59cfad73977d2f3e6ebe8bacbc2e2b929ce4d5ef2b0e7fbf3dca65b73ce3b976e0332ef986e2af394e69d6f6edd0399774a37a5719ecab214ac6fa9acbb9db3f7e31dd2fdf9747051e6d63be9aabe29ce356f0f7b745efab7f18ee67d539d765399f514e7ed9de6374c59d7f1aa67ef3a7953dcedc1bcd3bef5d06e763fdeb1b7878a77d875f00ebbea75b810e3cb0e02d44672636c8c4259b9fd78e99a8f979e094109612c15dd47c33cb3281416df639bcd5e7a6496ed55e49d10c84bfff9f87ddc6ef8e35cddceccf28e16ca08ebfdf95efacf2785d8a2f3f4b8a3e8e63e9123df14e61e0f9e96c23c655da6acb5290cbbb205a0ef9b9aeed32eab57304c55e72bcff3a97a79f057a7d529cff315a9c5c9a48f4ea7d3c9e41c68f2930de7de760231e74019388edd92639e7337ce9dbed3e7a1f7a7d44de9c63fec2483036538779c0cf79c034321cfa1bee49f7b2ed478cf6f300ebba9d27d00d07b3755721fcc3d2f61ee3986b9f7f39eb3547142dee33ebf71cf65dc1c4a3c2fe5f9c9b1cbdd94777b7c7ee39fdf7047e10fea3f3f1d7d9f9f4e3e369ccd0d6f3ece640a4fa7fb830ac18dcc38791f9d3cf7f7bcf3dcba67ba0143d40bf90f078e93bcd3a9731c90a5ca731bd07396ac19de0d4bfeb98dcf0059ae6c76f40dc8fe9964984c261c97be9940cfb74d760f009201c637996e18df24c34fe08d7f6088facfbbe3c19fb2719f93dfb8cdc96f58aa3eb77119f7f31d6d02e57f605872cda709e7f2e04fddb8cfe727bff9fce45fe7a7ce6d2e4aaa3acff33ad40d2121804133669c2447448331994c261ce7401c3779989f1c3339067e9e5fd3c9310e0cbfe7380ef3d2e79f73877d7e720c0c7f52b0f1929bfc24c34f371e7a8fdddcdc948cdbc3e632ef98bc7499774e7ebae1cf9fdee4a85278f2ef7e8f79eae49c9b6ef8f36137752af98d974c0da654f2f0e76b30261fcf5432e1e0cc004393b3a3c0d0747fbe0623e386402fc371c0f07b9cbff14ea71b7a7f3a9ddcf47d37b47fba61c96fdcf310ec9b6e58721cdfd13820fb0d18fe7c32647c387ebacc3b6bfec43b1fef7caa9f1d74c9d2e5d3823a22e8a3a38e086a2f1188f6f26a92041563f041d9e1a37f5076e0add401d4fb70ca53b5bdb66fdeaeb975da42bca9cc7d3a8539b679f44df39a8307afa3c56e73a13f7cf41d9f7c5f1780b218c36c294fb14fe92df84c6fb79eaaee43bdbd5eeaedf4720e1ebc548fc62e73e1c2e5c9512cc33bbda5b7f49688848d846237bdd3e398992533cbc82c4fa0b292d33a743766e485c88477d89f74a9d285851fa96217826a02b542101e1b2a26bc082407f5b5c08b938dc8f2d3fb8a17b3c4a12448e69c41714954b22169e245669712073e2220556c43e5022f4a9ef639e79c4d61388a4d8c629319c496ead124d28501d5122213c061f5be3f3dbf653d7a7ea720c044e61799f1d2e8527a76533d34cf3cbbe1fcccb54b643ed06fb5ebbc76f702ec1c6803f461c10f03327fd09e7843765f1e094304eae4a4c1c607f06cdcfa7c9fdfe9b0ac1b673722716c9c83e5ec17902ccf8664c52c72d59ee5dbc31bef397312b96ae72edf40e4aabd0b78034629bde202c62c7215fd04c622b92239b3c7a028245927678f489244257189eb60bb6d3399790ceb7c9b9d099dcdfde12e8f4523a42a4628519a2585b89b83dd3613cf73be7176ebce04ccde1fd473dc8d4fa42a7a07ce3781b149ecc1cb62248588b5825cc528678aca50691244aaa2144a82759b5b8c934218777f7a30253149541283868ca8b2087d4f098c0fa47ff0c2f885b3dc4581dff2993451cd7316e4b135eb933abfdd30e7439e2ff16f27500e4921127861fcd212c9734cd2fce6d65ac7b8e67e380b1787629288240ac5a0178c78b2f46563b95c45d58dfa49d6e6ec36bebec1e391b56228eeb4fbd393f3a16c803c58363e80d7f9fc68f4b506a94746ac20f2c7ece955d536f7543c7a5559aa5ed5cc372352f5825455a1afdcb4eb7542727ea159d34e5246e7571fca64911287bc28f04baf29e95ca56732a332a7e5b9c19bbe03af7fc8ef43be8224e3a4ac59778bcc9742a44aae0006912ae93dcde26184f16c3c9aa56a56642257d51b072f8c4fbed670c6272f18118a4775f3aa798d4cbefa660024bcf9f1fec426bf6d936775ae46a36c0bfb9c734e9eb32f9a4929a53de7e7715474725036783860477f99b3bbbbe79c0140bc2b879a745d26e955740c944b7a159d0365935e45df401ebd8aae813e7a153d03ad13eca27a151da855afaa57d12998920ed4dad12b7987c4e769f5f42a3a0c1d90945813138718c6067e3141b1a8e9195e56b09837ac64ac72658889339f3d7146897c92d9fb49296593d65a8f0b22eaab8921a2b52f26b0c03c1b72a59a3a78fc6a6289e7f155c50c0522080d133ef8d0c396160c63ac942142062e7e80a525b97859c5cb7bcfaf2a4d3461311c7ad822072534c84283142daccc63d8158f612d0c0302020a0b8ea0a2074b88ac6861b68a11556ef0a1ca682ad9aa6f448a703f84011f59f820cf5ca3f3f4e943523d42f81088054318cc4f6adb3a86611e4a2298a5be435aea98a4945e661bf20406f3d367534a89d03a7d87acd329cf1881ee849964a36c298639119ec7ee90d25b7b69aa476c32c55b27c2f3f6ba30777a46b7f655a587a7b4ba95aaea21f7948c87a550dd077366bb79edefe21107665ead53ebd43ab596f3b69c57eb3b648d5ea47ef52d12a99cf51a632412a9479fb6beaa28795b2d0fe945e24f1d5aa3d858e29873ce6dceaa55ad6a55d3a6869d60c32a69d81dcad75cbb617bbb91ea98bfd5628fd17685ccee70c04b0613b50e60a21d2819043a517d85a73dbf9638b3a359287be5c96c9abd02f392653b50aeaaf1fc5a62ca124e3ee411a3068a5791b5c3120100a5938372548e4e45a156f01896933996550cd3e1b1ed310cf52d4182c73c07c3b09bc344a81b3c9e83d2b1c16307ca55af25823049c750620ba984163d9f5f3750c33ad48481319070124708244d1850532455fc264faa529d8d00952359016845d7c1e2a3ab24cb838282c068c517d114380280835f36f842e480d952763de4479624793b0ceff4fc52a2ccb3119366a57e605ead53b74ebda67e54a74e2b839e34494fcde82cc839e52a891246df1e01c992d16aff51032edf0e444cab9598f238df2e44e2e0570d8abebd48fb8c12d564be3d02b12a605e1d33e2f14dfdc08ca02e50ab5edb5eb3e86d299bcb16638c315e1e1289f4e578473adf4eca6bcfaf24a4f81883c7af249e3cbb7d7e25f1c4f7f32b892b9f2355a1cd6287c9710826318ae4cd0b2f9c517252daa0941691cdcc96882f728a9412a3c8ae3209a18f9d9454baa5743b040d2debbb3a533a4bdad6c263221e9fe7f185cf6cf5669679d3bb3d527543aa241a8f64396f736b376b6dc87d68336bf03adf3c3c79e6997b60e8bd8d5b30f4defa164fd7ca136caee7250b9aee2c329f746da8813d37bcd0be140a22e3d12c1c97febd9258f2f286c4d1a3c36a6e7ddb8496fcb659a9ca2ef3481c369c2ee7740c9452220976ce4f4e890898fe7d9f5010218f167f038af94fdac82c68f6163c50393a223cbf90e8f2f6f98584187d826dfa265528fcf0e145fc21553ea48abffcf40bfc1891388080f183ac20c45928727f48d5f421553302bc33dd89d591abe936ea845efbc0d39160ac55e208b98fbb66dee11844734074e24acce2893c328a947cc8a13cee7b3da1f27af2a479e0e9703c37d87a92355b37d8f83c3c3c3cdf8b06357cad35a8ea4c4ff6188f5f30c8d2c3c37d3900787ecd408bef9e5f33a0e2431d2219b6f66af2a44ae7a5297a8acab31bf1a42a55ef09f2abf38b4b0f1f9d876435515050d0085ad27dfc98f2d2814896b7a407a1f2d257e8a2c5af1900f1de4b2f2271f0eb08282ffd851854c10cd89004c4c0992f2006ce1c4915bf4a47162f230ef388f7fc3aa2041feaf80cd8a044aa9855f33ac1b0cb7225b99a30a0060b8f493a08fafc3a0289c94e3bb9d9ea571141dfeee5cc212fd4b111313be36fae79ed517dbb61759fe9d8367da8479fe958966999d65d8fccb51b66ee339d93aa9879eca667a00fe5321b27db0904736466ee9edccddddecd2ca510cd05c7c5325e8cb23301085e8e0dd4fd9cb68c735212ebe874bf8a50d35c54a1263367ce7476494552e97c3aaa599ccfcc3127619a6f9b736034828b51a41439259210ef8dab43aa66b374a68d9f6eef6c31728a9cd262f8c8ca9a0494330f3ebfa0183d10637e2ba1285b4c52c130937311e32e865922cc7a1ce7d6bb3ed14d18c943ee5a1b373956ea3ed7388ee3b2936f1b86791e87f9e73be489f3cfbf936ba79b590dd36cdcb2a0955c736e3f69f6bb9ee62767e1a469996337b46f72eb9b079ac0b0e4f186956b2cc2783e25a71fda582fb903240ecbdd1048078f08f828819adb80252781985b9064baa176bd742551d60559e1e705232c14f1ae9c82917c872c8191d47987651992970cd458ae52acb9c6829f62724a2401bb92e87a5f165ec85c2ae7d56b182f065941c80f6397d35e5088229220fc8a81946f0722a7482991041a528cba87853628ca62ded8bdd6269a6218e2ca0fe0f935049326f906524aa224ea241269f3664a49d449739b6e3139857352d775dd952e82619c4fdadcf3ee8e266d5e449ad095389744920ac9b74abd630cbd27f9e65de452578a610b1e969c3bba8c543e92aef5cedb39504e89246c9767666ff85e910ccac4382b16bfbc6460c44b063dbc843083dd9646a2f0ddd15857eb98b51ee70dfb318f576451189f88cac71bb2773d7a623e25d1873dd9ab1e4a2a9ec7286b3df73c841c4adae49e873f9cec50f0c15cc32636b1cebd593757629fcb928d93fc2391fcc495481dc6f50db51b027d9c8db44408712484945aada4f2617b11f9505e4108bd8478f21222e8158499571054c0d0fb96466cbb7529259610dd461d6f9ddb3b0ee9b75352f9b6d6ed0973af571cabf3cdbd59df95b7c83cb9b431f9c9e41b68addb986ef8c3bd772d49926e586476b7b11c4a3c2efce132ecfa68457eb89f9e4523be5d4e91536209f6fa44c73c3a56e90da3cf2ba74412d84db256e9d793212023c60cf500072f8c8a98a145c33ca52f187c794a815e20a6c9134a84c9e18913af274b8ef40e5e383bd0f33ed3b38dbb3abe7d4624cf46378e1ff31db2cb1c734e4ea156fb968198e6406cc923a13acf541c4f162f3aa59252caf3d259f3e954c3c0d945ca022bb83eb2f1d0c47904399bd3e9e4b9c9739a79dee9a4699ae7a6d3e944dd0b4b1ccd38cea6734f6627ef388eeb3c15913960830b076498a0794202199e6ee184b5a1a1042a3081191734b18186d79831318631696af8f9b1ce083075aea0e5ba13660dbceff92566cadb1e31303055ce5a0f8b2b33098f7b7e8951c1873c4888d181c78a99a1eb1b3c3c3d619a344fb36cf37481929cb59e91e491591c91aadfe0e1a9b7e78a25dd26f414cf7b7e6561f4966671a557b3adebc855cc02872c6af8d089321db628c6e88bc82c1249c82f2db2b4a49129a56d49a91ed80f79e9fc21919757c6580396268b20ad7b8191f202d3439d3d3aa42a56cc2398285a474f0faa1d407bc01865dedf37e4a22f8e80c7069827f806254012040b7ce082189270a2e58b961a76f001075ee2085e60a090ceb3c65560ae7c68a37e41b148c24e3071e508113b98c20a1a6210164b2a162b2015a58004285853840e3f08c37bcd6255b2a6ed808a5cf137600745725535ad7abf438296b3cec54bc749d5c42e67d9010ee6457d3ffd9bdf0cc2515129a374662f30420d08639db9842cbb3ed42db5ef030f23b001922f56c0022b5a74cdd31d7079ba032f1d93f141108e207302209894008c122ee2534e0758e8c08805327e2f2b4c90bd7440445f3a50a383331f7e4e43145bc5137b7a7e55b14308983c9103104fe020e68ad61ce3f5e5cb642000c1e8053950a20b0d645e5f9e68cfaf2a6cf892e58b942a86ba0aa159c508facb122a78f0d8f38b0a2c9ac05ed5cb0c3ee4914e22155ca82082a2498cf69c5e7e98dfcb8b0b7ece39271551bcdce045062746c4eab5d65a6badb5d65a6badb156b715abd179d248eb474c522cc6ead1b1f8038649c762d72a45181394a228a594524a29a59452cc29758c56df4aacd34d27ca73c1feacb5d61aaf7428d87cc4c23b364fb75a997762f57ac35aabdb25ba89d114c2931e1d7b7e7551f37d7328f1a2114f010c20867741a6cc1759cc194634120defb4e768a151c03bed528c7997708e662d33cedb4b78078ac76ff3bda479b8d25e23ab015288c12bfe768e381a20451058c51f9276f0e20c9e3fb4f906486186672ca101529c6112f8bb65e492d8584789d0c72baf297af878e52593d7145cf879ba28f9f61bed3ae4c633061ebfba94f9d0be2771841ef2f0f4ece011011f40823469cd1cfdaf2e5f6e18b13cab3006c209110b8d4ee4fc09c6a08f6018e3958f5e6b67c2109d8f2ef412fce1e39558023f4f1f3cd4b347279ca38528f4d109efb0e768e1871f5ec62b9ca385e9ccc44b8f4d708e788577d89be01df6888573447987708ee86668152f298474647b4a62d539ea1fca9dba0d1ec9e29c7a8f64752c9253e7c14e9d045ab962962bb9b22b69af573b0767680e869ebae739ce46b2868d251725cf37787e6dc1c16fa58d9b15020deaec2c346b3ae738cb8da539bb90668de05cc339d5d3ac66dd6675ce1ea3340bbcf99c1d48b34ecd1280b36986b3b3bfd02c19ce00707614a87309e005701b8e0302e0ba7400e001701b5000d7b51280ab9c04deeb2ac08ee3380782d71580eba067e008d7b583e336dc8235ae4b35820fc03130755d17741daf208deb4ae55cd70803f0958700ba6878f51afe8a22cd47bfa9e1395eef111b2d11dc035d35ee1102b45c24af91e329df4057ce3d72d37259cfb947482d771ad715827b3e03746d29bff10f74a56e9c869740d7cd3dd22d17ca3d1a5e72ade49bd3b847765a2e1ba7e1147495ee1105b45c9cd7d8ee911c4fdd235fcb453de527d0458002dc23335aaecc737ce71eb12d577bca27e8c2b9476c5a2e1cf76cdc380d27c03d525bae92d77019a06b00f748aae5aa9e5add233a2dd70cf75c00dea9ee9152cbd5790d1fe11ee969b930cf7101dc235acb75721a6e025d0070195c40ad00dc2323b45cd3537eef9155cb25c3bdebba7e24b63497a04b0617504be71e5940cbe5798d1aae5dd78dbb3e779ddc65721b07c03dc26ab934cfb9d755dd45dd35dd25bd3dc7c17b44b65c26a7e10ebaa4a7aeabc6756deed2dc95b90b73eb47622be52280aecf695cd791d8cab92ecf5d257791dcc579e7a9eb0ac15d33dc8572178ecbf01d1dc20c50d52b7614e8a357ec32c0177ac58e03c626bd62bf013f90a757ec271048afd86dc018d42b7613189ff48add03bd5eb197c09e5eb193c020bd62efc038d42b760e8c514054afd8357047afd8335048afd82d1893f48a1d63afa0f78a9d823c7ac53e41167ac5de605cd22b760946a25eb147d0a7484300f53bd16ac1819267b72c1404bf8c7a78342dc6410fcf11a0dd0dd443173f008291166466e0d26a25360c9183d00d39b8a006ad16c38915644e4cb367186b5e4ed8f0dd3d719e5f503c41b411454973e839a1209a37ecfba3f305975aef0dc9fc82c208aebde7c6dfd0319378a4e717143f50da02a229e70b3639e7fcb21eccf0c40fa67421010fa00eb8206105063308638b33666c9a49efe779d3460b335596c4a0032d5000d1204609b6d0624b0a86b0011856502c61ba2e75aaa0d8010aa10f5534cbccc1e35713b3042f2d6078c1449897163254aebc03bacef6be1c0f25bf90f7ebd5d432e627133f14a1c5115c34d18417adb9e58a97232f94b0420c28adf9c5cf7e7e69c962b60095430122d69801a30640184144107c4883440a8e385ae2881921b0d0000c83c5878c4cc592028df33283d0234679468117729789028fe305faadbbe7925ec598844a2a29bd7288073a580730d10e14961ab2275594d8424c97304c00d19a395841113d9809d304871fb4a6175e746a4861aa209199148b0e5b483d0c2533efa094d29ead5bd5ddeda8e96d537b3a99a885428c3e7a0582ead9cfe7ce02d3023128a8557f3051ab5e1ebda240bcb430c1ca3c21650d0aca8401a335bbf8d9c4eba7959b1dc6386ae2e84c1728f0e17b7e6999c16fcf2f2d317062639d504679e9730729cdc25c4e4c06615de4d01116a50411c2427c1283629438648348956d56f5597d8800f37955140472532a4c116c3e2f4f8b5b5be4aa093e7c58cca91b8101f3e9da8501f3091a094285d8c51158825a9b4f3702c385017311c0a04d9fb249b3a84b974f9a25a1c8047439ca6e34ea152863501cea957462ef0bbd922a50bfaa940ad3319f8e5d9e5ec97abd57b209289ff44a7a68a3485953b0c916fb567af2d1d9532a6c8e397645d0ea38e7ae082cd6dd48d4abe803bb514a8c8239e7448068ce5d33bd8a0ec43a768fc6f44a05ce2bed5c0362c473bbd96da3371ac5343268de78a54bbb9020405460135e884de2936dbb2cc4a0b8240ec5242011dba2291544b079c9b9357d4c27448654805b42d3a91301b2f974224354e0880c51017392cb4b0488910e8811af81686e3d7640362ff9102ab90a5d930281efb4c2e504dd3da7e4e2ea3927a56d65cb0f9e9bca4065b0b2a58be7662a64250a33ef3d5b89e2e88d1efcea5b821e7ccd8bc8ef403f2699511da2c0af3cef14cc7c8245ec4fcf5c40cdce840e1bf4a9aedd1404c0af0e7ea51310c1d3e92e502f72f39c546db6bd3992105a8f6bbce828892a0242d17b413fad6cc9f26c654b12023c5bd9d2e451334cf0c6f0e8bc5ed04f8e2444df21b7489f6ca9137acd9a2f4024811df5327e2be1d8b819c0a73a09c046c7743d2f8940cae942e0501b8ef66536d6c34895a3dab45de58c32928042248165d04d5e0e7d0a0272e8a9952892bcffe41cfdec9b0b43b0afa14cf3ed71bad02d00a520873e9c9c4ae3b1e90981e8b2b8570378769691e539bcb0d5a4a1b7087deb211b61f1612f51f3ed2578d4dbbb4bb3809228820746521839c9a245abbd8f9a05e48393319cbc204c1262be68b5f7986601a520062a4a506508891ed6b4dadb4cb3b80a3345bca0046a702822062d5ed22c6e357912450ad1956fa32e85d4631e315927b5d36b972113c5a0282f87be487faa07f8ede0f7d04b30bb29084409c8c79c825d9ac5ada331d28c95ac20a2b3472b51103deae3bc0c4ee94d6326b5de2647bb4a721e12834ad6cbdce41c4b981e1689f15dd07edeb0de9feda3a780fa68c7f06eab91aaf62f22dfde0eb4ec22bbc82eb2cbf717c65096c0b0c3493f64a30a8646d9876ca47952a5c693ad66328925a8994243486612894389c4b144e26039f4fc211b01b5ac07d40ae3ff740b1f6ea003fdd52dd881ee506a3ca05f41fa0f2017082271fcc412e23ceaaed8a60b355e3af3cb9b8aeed37d8bf4538e725acf89a20cfa79530fe04f55ea952aa9124592a7b7089119f4f316d19e47fc54bb8ff4fa5d5f7aade2c4040f3463dd61638963ebc0d037d99da03975ea19a8390dce113f6ed39b258ede091a12331386482672220c0a7c14c434d24e91c2f0b3eb827de92cf82299c7e70e0232a4879cfbb4cf9979cbcc672889cc2c933e67cbe9609fc0d9f4503478870a8d81c620d9ca962fdf5a3619becf84d1c5193167aa88a2cf3431c666dd1c9361678a9e7b5e91316bddbc42b36780c87ef823b4232755dd3c23d905f1cc0ae417264033e6c349837d4e13d468d2fc16db90f8ec3d17a549b37121b72b7a76532a388a2c698a38665a3b1488344d33e5d32c4923440e0d2e4af3e4739a0c9934384ccc1503251f833ee4356e426abad0d06c55c79c82436008e4837a833fbc56750c9c41478b560f79cd87bce659b6ec2126911923a3d214f604d5c9a4c1c6fc45945f48e6a1e34236171d97c8ee6ef2a0270fa63441cfd9cd2c26cd82b612ee410f726033153383d12415c3bae90566bdb0f586efce76530b4bdbb74c8b8c36d615f900c937b30f863e47aab2931633663a2dc488e9261b9ac86ca325ca184d54644b49830f83c987f3390c23e6b4cf45614089b15188446683678c3841c761249960511836d41fd4a82182083468e4e4a45221843063060a2543060ececdcdf7e95852a7cb29668621c6670f89df67a23c23b9088d97e72b63444325078f06caf390a5d13499dd5c8486c9abf9107cf6fa5c84c604da73111a247152da4d306805a34e2e68addd0c53b13018dd2a562b517fe18c308b616230a153424b82d2317a61bb21f1996f4ebc34d27c68bf480c1e8ac218f3ecd87391183aa07268700e2e1263e8733a6a9dd6cd3152fb828b9d0973cc36d93beb9e8bc200f37ce507ae8d1431628c64101513a3503153e208f9e8a718aad110c5985c7726c4783ad9d8984c9e572a91485dc771dba669596631ac564ae7ec6e2d62181dbb650c801990a38913a33321c7c1f8b15b4a2dba65182f44dd4071514619a5a4ed5f577dce305eacf7638f267afbe6d821b61b92eb8d2edef75c74a6061e36ae15c3b0253cfb5c7426867903af9f8bc058f3a167777828afcf4560f8e04395d116b68209a1b1cbe3e57dcf456038816ad68e36424611182a9011a276a05c75f35c04c6d0873c461505b58b2b1f72a88a715c511613902ef77d1e87722978b82f8788cb6bcf4559907ca843d4636cac13d2262f270e3c8e51caee3929ad15c32c294ad93d27a5b56298e570acf188d8ef50e8cc923ea98a5292baafc73b320ace51e3a57f399c8369932c8a6c3034a99842d639b79854aff3734ea2d30848600270621380234a4e3a4768e800e003d2f54203c3704e4556c34813014ba541859433c4961a52c117c2500da71941e0506648328e3c9c2ff3c688fb963811e1d9f440322de13c1a6ed04a34b8329217381d1537dc159b0d8992d6c34d36c3093a3bc350095b93d52d6ea815dcac32a3834035e98a5c4baccd73916b86273d1709a519e1880ddba89558d749e9ac8d496e66f1c2596bad75cb6aadb5d61b38de89928d621333449de46846e949319b6147318a0c32ea2666e6a498ad211fc52832c8a89bd049311af2518c22838ceaa4f328469141d8f43e8a51acc4e2811ac7491c29fbf586e14ff7b01de41a051a24f9379ecd4da25ebb7626548f1d0f6631a92091fe1f364a9d20c20f11e1430dec783756b890b2959ae7145efcebd31384c20b2711f93f64366e16e7032c5a7809c21267ae68b1d10e381c0da144500d37684da26fb7ed5837f9f66af4ed74b67cc28b34eb6ea019b135dbd4a2c56ab15aec07e66c39e79c3764558bd539e7eca65ec3d61c30e7d0328cb9d2d992d9b2dabdf791d2a59452db483044a028312fb6ce98bb8979c562ddddd2c1da6d857af1fb4e3db2bbbb65ace2459fccccb21b85f23cf6785d4a1e27bce88cc2f673cec93db4221c976d764fc9fd828d394766b14a67cf222ffa9c9155ece1743ae79c2ee35fce3412f30ed542860999212f1ebfb6804254c689324c94b1e2c518ca1025b1e198b325f72489f221aa4c13548e4e77291fd6f97fc8a056e6b6599acb4ddb40a1197a5ad6876c2bcb36b7a0c62ca48c30510b04d6419039027e060539ff0f9beaeb23bbcf53e504b3b1063c7e9549f22f1e10d932432f9db3800c6a59af1938645bd6997338b11eb263d36775ecce5a7d8ac89fd7fae9b7c87577b7f4adb9eeee76625d7616984141b1fb11ede55ecd1d3629a564c91e4a29a524125f4a29254bf6504a2925b394524a296390228c59b20228315431851095520b2be8e107562831a405cc0c019bdca8b42b986a7b9a644ad18c000200000316002020140e094462912c8b5365fc14800c7fae4264409589434992c3200a82208641080280106080318620a418a23b410010b31bf76578046a926c86b478f4b5348111a86ce59f6505123f8fe03e55d805ea05d3542e5a64d0109f85bcc0aa790c99377e2a244442203e461c5145443c2ac552d5e08089f7cce6c82f7f08ef1c7b568bf558c373458dea2bf1152c922ec8e0c19dddde8e75afb0ef1455b7e54465f7f2234d63f65321771d8b93c88bd6c48dbb4a34591694b7c3f4c84a7c821d815144ddee1a86237227eed1d7bfa849289aefba4b8cd08ce4a32c5d6c9a8ef9dc6f8d6cdab3df8c3122d7c55886c240cdba0d498fa2821785c3bcbcd8506af4616eeacfb7f09f1f47e443768ebe69722daaf9608d132d12efab8aa42ccd4d4e7bed822fb295879b4119264d68d6afc29b4e11df9281279575e1e49e69e6abd0a9c47e87d867353a5696733eab9206711784b618590b3a23b586223ea528fda9b175480a12cdd1c4191efbc6eafc0eac446603d42237807a995b00adc82c8056663640293203a895590b54cb1c3d2e1346da47e73b4ce5035b28bb1a2bc610ad1b829eb9d0048aecd66b5f1e1eede76dea1062694a2fb844a901a4d2d74278fd0b3d6ae2381d417432a40dd6980d9f7449a111245cec451ca20587a42d3802f0bcdbeacc37eabfce690c65c8d502c480d1ae3a118ab6c61698fa813993800b830c9f64d43db8f7aa03b628fb840fe7611a2c4773d2ca591365fb3599c3a50b60968f9f12f278390a98d7b692e7fd38da1c50d5beee53cce23747d0785104bf4d6f2d8dd2d4d55c939139b98d85e9ba05b480856000d6c96f77bbcb207f6cbdcedc792292a673a42279a944fc92cda1191462c45b17088ecb4cb512ff487d84cbd76e387edf017124b45603544672229d9a1aa3be3a3109ec82bb8d008f7631c30774b5c00accfa68cb1dd2e1db7cb4a813c2f2da377b4355ae5c9b90ca8988450d43c41c8610b1b4831ec44639ad0086c7af6073702e0abae5ce83e93a66a1e9f3a528b201bf7b77edfa72f10af2c7cbddb84c6a442af968847d73f3d9a4ca7c20f123618363eb01c2eaa4d5abbb10f98d86723488f9dab8dd6939b8723d9eb52bfbb0ea50748b50898019ec93a42a5a318a7d2d8f9a82e5946eb71ea1e8e916a7f29e2c147c3047cb8dd9d3c434cd7b605a3fdbe2c77701c448a2f183741b971f8b5dff414539be7081b93c6f53177c567ed1b63d6a177ef8fb2ad275d3c8e932f6c9e3de9ee77b0abcc11ec1c0209cf241848243e5c0af5ced71d3dc002081257e9680cf64d4d5990daa795e7ff4a70402dd4563f94c70de6e538d63e7a2b8918e547dc78e37a4403a9f5b6b57a8d7e684de3dbaef5f8c3f0b915a9535ec95fd3079fede2140afe095731297c9cf581328d737d852eb804cc0c7839372b78c9c42714b31cff5481ba903ce3c676d7aea6acad50628969d87a281755b019ec8a05d5a523a1b126fb41915acbfa750bb39268b5dee25a538eb42ac53b5289d4269c42a29ead4d4ec746796509241292bd2eaf374a9490755f5b6a98761d24f709aa2bc41125614a9e9a2685a9d702ead85eaa6352c3dc6ac9c599875fd184c9a63b96c730572a35e22903791e04e7d9506ffffaf2cb6ad1086954aa6829acd35788efcdf74774c7985612a7bf41f5744683f4a4eabe688cf5cc11bd34df3389b8ffe2f69398e93fbbbde83beac0c207e0796efdeac67d983ed8939e4a0a84c0744e20d2b5d4225c271c0e695c4ebb85b53a6d3d6780872a5ca0ca970db6ab23fcc95d10de81686c4e00964ed27b2f905289c23b6ab42bec4fdce58b69da06a243cd9b99e690eb7b2f4f5406f90e5a158f0a27a7df8bfa7bdbcfd19cdfd1c8a4a4c136ec4c68b3bc93aa451174273639562d171d022c9cab22e2e7fbe0237815a04912c2768ea7af345fae5d40427aa331b24d8a348a39de58f786090c4da86255b619164219b131c0a2821329fa45d3eee3d932955913a8b1397c5b831945a01e391448899ae9a9b9a10f7ccce69fc0f2991ef2ff128ee29cd5379ab0155f79d43523350e6bb4d97bddc237ab3990333a2de82db724bc018adbd07c7089efebb755985da26b2ccde3bf6bf18c5fb873290c2f7f0f96b2530f801e4de2bf7c102954278d49878d09899d807a22add6835e4ee828fa74f815693832ad10a07c94f8e2ce9f2130fcb305d1c4375d4709d395ea77f3afef8f5b8d55b34986724aa1ee02ea4bab1315833d12ea020596e4ec5536adc8e21751222fb1bbc020b2922b6d981d47170641a0896ed6f603b2c848818d205d2cec5e9875cba8f84786178809e5482da161e21475c2af399fcee184af6d2233446af42f47eef2c1461dd70794a6704040a7b5f135c7d9111fc8a61d9ed5d2cb7ee3ca863d9b6006d6313b2404c85d86c4e12bcc29022fe3d93429a75910aae3e58c47ecdbcf60511e858fecc872ab4d914713cc6aaa508f475c1951f1bc1ef9818e2598d5c60a54f47f4bf3946d8de0483aea8c42d51e3407b4f699e1283372a65b737db41551cff72e303daa67e1218e0430d5b99ef48fc4c481f688f68946bb3e1d3849c7eaa5550aa20c61aa01ffc4210c0ee7f1aea4b65fd29a065023c1abffe1b41337ae04a0572e3a5512f8e82851d8bca4a461d0976ba2615c1880f409244e59d92eecdef7c2dd4384a6164e5cc20582be73d94db2c61d716693cb7579e6e560d7f313f28c4799cdd74afa3648ab4a37ef8f89a3bb905b660e5e30a5ef0084f5417bdd49179d3db42d00ad8e2446890e834ee9040d162cd343dd5a6aacf4df74a3a815bbfcdceb891325ce9506f1e08b5cb70a1761b0e8abbc34175f138282ec381caedb850bb0d278adbe1a2ba7a5c1437c341451746b7ef567df574e0700712c89e1ea5a3f9b138ad877b5708396b3d2805b227172346e5603312ba40d1b00c448f7637f54f17892c114e8063ff203dda1a428a2718184cd6e1742a292f7ee80d0a155e31b0bced3672d50c8c40e7905580d6997123e4f2dbb225886e3209f3c2b9fc1c5cc5cfafe03d0c8cb1dac71a9c3b83bb2d054868e288aad7be941b9d27c525807fd656c725304c658fe907618624f2ca788ba47faa97b6f4b3879f0a72639a028bf566a067c9041c38aaee2c8b5c6095c123f4a3dd69bc9b53f00a46cad25d7032073fb19f07eeb4726718ab65219368a466baf1cb5353ea7d352ea005da1e88d62c477b5a710b2cb6915c5a259855a956f7f7a3873317d14054577fbf8369bfaceaef0719860030ff88867b1f04c9ebfc4c64e6014e30fad38082c91152831792567e3f0195851397c05c4840090d89712d1118d493af58c14227a5e85a4514da75ff006475bc6826ae68d7515199041dc6d89129681e780d01a024fb5db55bc352bd91f3eebf2a7e4c1f12aebc806e61c8c58f52dc00323feaaf620e29ccffec67395fca949f01d9f1056df0d17f30ae0d8c7eaa19dccbbe49356274038c1ef6d96fdf9e763c3bf917a90926cdb43952c9c2db54c6268ff19a89ce765252ad222b56817524ede82df4f8014eba50a9a41eb8095af4d46a105750bb1a0e0a37c34575399c282e8313c5ed38a8dc0d17858be1a2ba1d4e14b7c189e272dca8dc83718eb2e244a8626c872296ed5063b93d4a8cd9479918c4f59d4eee59297aa3294483fb73a26c3931f34566751b692da0d314d929e30df2561d103252e79451f97a8ecc6299b1d385f9b3ba79cfa989d95755318e9660933c6e8ce75949ad65675aeefc30ad8538533e7e5b9827cd6da6d0e49b273c928b8204da2679b0d93186e7853f3b4df778de3157bad33e473fab8d087d55b714e3f3b56908e24b256d992d30463f02a7162e92489ba90da32a0dbbe5ab4e60137babc6e8d0b235977acec682e1109a8d47c69809d927d3d53a0a74d070915b0d9d3afb0bcda0990bac7ea3d3d339624b4420d2f8f6ddbf3533b2a335ff8bf3916eac93ba5eb1a5e08c3033e112c2540fedc4627b16e29af4d699bb4e3b62cd1381a042e102478bf56d4a8859be43592eb325cc8127d68cd5ed4dbd54c8b8c0d968f13ec94b0bbaf8d76381931ab208008536dea40bfbc82e606d233bc54fd2c0e4313097c7088b179b795722baa336262ba4df4163ab142fde4b5bc4ed2cff167efe00b554ae12bad87143f15893194d3452641fe03955ca524cb24cf6e577a8b130fb809e6b57da72a639d58cbf2a5503949bfb7c67287c977a69a20bc8028da34199232ff47099a3f57a937af41c19e10a6646da37e2c2eff290ce904669cdd102e2ad018e140f56fed770fe8186fd5951a1d93440e79617438e73c3011aaa9007e3a21b9f1af2ae833d06b2376b5352bbcfd2d26d6a5c27a88d802c2fd8e6f84190cfb943b995eb3016f53ed1eb5a88ec7531856127da346983595be7da34d3d674db66b42db6bc971d3b8cf882708fe1c4f46df37c5b676d9a68cb449b736d98a83630e34d8789ecd61f07843a0d78e1309acd18c8b422f7280c120f887974b11262413c030c08bbf075493f01cd229469aa5d34e455445c6a8abf47ea64f65a291919ab07a027456ccb7183c8e1fb6b7b1780f68277a2580b25871561abbc31f48d8565caf81c584d7b37bb94c08bc77a5a14f17b86fe42df8b7035a6364aa2346c0b3ed122ee90563826c13434e76805d16600f68235e0e86b9885e9d1efa381aa66c65ab002147d1bb3301dda71044169b302bbc21e20fe1de6ca7474e7a840a4596356d8012ae7e31e22811467c745b10a82fcf702d74cc27d450d5ace0897c01a61f22b209a29c53f4502643d3b4e822d8469bf84758d4c8566f6d38e07e840d295a9378c3ef0f51074a1e29d2dd6041300731936bf00b1dea68626ed73fa738e94fd823cfff02a69c08943d5e5355b7972abd2b5000b6996566ff55197d905e5e4931e3c54ed6356f692536d59ea7c3d8ad25bc9069df7403859b6259ed2c72d68746a480c4acd07bd09d19618561caf19289c91544acc17f3f4652495b6a4a012e861832662829f5d96840726f25b4da232abf260568a0305e2b893fb7141f84f53c5410a1b1483b7140696c86899e9083804a2d282b3ead75e939ad329be4fc655cc402be52eb098dd06ecc695ba63a0a39344afa2c03d832642ddd2b5e3f03996c88161540890d8ed3effab6750de67a611ca9ca6478b9fae227b62c6b661299d081ba5d33220dbf62cc55ff43413d8cd083479f49d0bad78c71e2379db46b12121b16b7b7940df098026e84b2a326f58a491c5ff6be8bc7f5dc686b261f5e02e62223176150debb7d6a9099666eab1b24f2a3a54acea9cb74e61cf0e751dd2deaf3cde036a0622399272744203ef57b356255c00deacc53d55bc5e3ce2faf14b3803e3b770a80c9846b0bc9890e1805dab243c5b64c357accd104cbb4a625a5c007af176d5965646fb7b495bc2bb8ba4f1dc8b549f0a5de26e92272cb3436881dec187b14f43f73dc8d91cf1d942bc49894e3403ad08ffcfbd39a3a1657e1d79ca50d15578d1608eba37d60aac3216b372944d617b11513436d9fdd34ebba0671f4f39e12b178a9a9d798c7dc9dc70f76242b488e6bd12bcd52a34f6ea70726a38b9761a2e306f78e29476cd73432a89f811dbb080667d0c34809a63cd1d0253444740986ee31079a450db81c2e1a4c377478daaa29cbd7956d1f5a7a584ff9716b22f1133c35731c13999ff4a79d91c088b98f790361dc4c0179455a6090310aab78c92ca5ed52a54061efba49201ca2a67d6937db6d0abc4dc7cd884fbbf2c3b5650f29cda01f23daad2dd429d8578ca8122d4268297206af56b601e1dc46a4c56fd2cb15f57269ff927965ac0d29f62038f32db68fac0ff12a77ad5cbdefb0fa3b2f8763e7f8f0a9db3eff266010f43cb4d3ea8a7d013b65c97ecfc5212bb544dd70992af28910a41054687b84ca592d2fff1863ebdb3fa1883f630b9fb2b2653d6615a5bc6cff258ff597c6d8da5c2172dd217ecfc3e979c06810f1e00bdb6e8b0701663ee9980d5e6d1416a6407fd48a973531c2e632e8f0bb40ee6bae6aea5fb22d00a82210069f58e91ef5d4a11fa16332506f1617616c0523687175dfa8bc597c3db42a6eaeff6172cbe2b5305166202312cc13124fd873b3160266b1c7565dc9c548c414c829e081deb73fa2614d5a8272db334888dd89af1a8a9cf732d64be53c93dd9f0a279befa9bceaee48599320d13eec0e3d6ad176ad1c6577afe9e3de7d8a8a916ce084c4f4de858dd0a049a2948529cf508ad806265c0ceb7bd214b11816e8aa14226456839e3657b459f8fc1ee5ee42b49fd14d44b23e1598df6e302457e89c2beb842d36cda152c6f44f654eb7aa61d5f3668f3e4069ddfffec4e297741bae09591214d8664ef88179741e0b931970c2bacd82fe4639f05588af4c5f056a9854e75133934d48a28d330a05cbf8ddf2203a4571e1a6029128d4a42cf9807e026dbcafe8b61e76440b8c8f5bc152d280591f4f5bfeed75fdd57757b59a7b06db539a10ce3b0bcf6cc1c94688636df3beb08be996b38d426b10a9fe3be4991e757bb8edbc440f11ae3a9079b848aac1746296e900155a708e21e9ff2ac0c1af3fcdaa342f4d7561fe83e2ad7b8f668f024c954e714866f74925429440b3eb97b5815e62305c7c0cdba13b1c79499bf285e506af89d5f6652ef56e10086e69f2069655d3759edfb39206712fc9fed1c20d1789e95b0e7baf35466b666ff09ad55272d7d08a3d0a9864e62004841135c7caf6c3167df56f1cee3d8410c3a19cc69ed13e57f7573207720877d6d817693dd975fe1ebcea223b4d4e232ac550cd5fa6b1af8c6613446767aa200b9d8a606fb068a803b3e5573907cfbb8d8a9d440af83b123d7f20e0fcb3ab0a8578f918a756f2cd161c4a79963c3d9194bf8fd6758b97179d8ecb7a119a3f5181954f38e107c99078db2e5fc7de93e18790731c6ce0454d0fd83a5983015d2ff38255a32f7a622439b6bcc3c704ff7519ccb45ca73eba83fc5dd0728d5b438a000d7ab06f69d44e6daca023d26b40b86bf38ac4e7bfd404e2a3d789fa465bf27d238a77a1e72fc78cc9117f923d0482d58a981f3a4c704ac9933e3d191a2eb3eae5188c7eb55daa5834a2fcae28a978d6222a00b88c3b01c9cd29b0504f927a1590e896a27a059ac584efb3bae51654112c70a0b7885e24f02c16bb3d617c19d608ae5fde527502edbdd15157a7e72f70d9beadbc1d4f2e2a8f285fb2934ea8be95e883d59085a50c3dd7601e4b5004ddfb1a2f8580513a8ddbc45e98414fb25812cfa25ce95fbc761a2a3c110b760a130b1d24f238eee13d01f2f412ca172f176841fe64d33ae20720b51964ad2e340a5057c181be6ba483b0ef3657a7d0c37b3c82278dd2672dd6ec5e91a446b505b7f22558d0e2131fa9394e7e253e793c718a5dab975ee44ca2442d739734cd47b43c7566c9a2df11f772b720e28143213fe8b1f811404ded18548d1891e059fb20f46e88324fcfcb21cd2227bbac9b70085c5b364d6c28683925571af3081adb08ebc9b9f4dfc78794202d20ac59191cabf506d8d8ce21f9a5a07f520c876c810e80e8621976cb66744b65e6c7707fed90281997e82bb58831ee994f0761892c7911315ace619aaf032502834bc87c10c29d5ec83d19d552342b81aad89accac8cd3b2f22bfce4d08301606592be646f77753399c5e6703d426769c7cfa3488900d5c68e385e4d762672ff9941c0f4feb0de0a9e9414b65972e4d01aed5d30760a82b00503e31731cbadd5c87eec64eea4fd9cdc348ef869673c3fe05130276c52b766b987c587c9dcdb78636e4eb1078e29cbae4908c3b5cfb59b11bf56c953dc0d5b92139eb92f42e4d7f1b0b6aaf99c1c62b42f588e1955bcb0e18261c37535074980044e28094a9e568204c314ccd6a157c386e3320bd1c54a0010b63686729ebec58164868820414158a69e07659468dc22a7b9e733f86e254fea371ca2f778fed2ff27b02249779556895d4289c342b4e759402550f3542dbd500c90182543245b3cbf5fd5443567ff976f60f492eef5e20685782053a36b0f750c3cc265c2a5aec3bc354873828b76f8c363eec085992b36a795af09947a2398f8850e27e342d3d6db0e57518e8e80685c53a77ccd2564007820058abff4b92e4804b61791399d82df027840971886affcb14b2394ccb2e1195db2c8eee01650e92dc3765ea2a56964e05b17355937a3c0613e63140416bbc46e1c46640114c32c27792beb8b939c761f14e4427ebdf78f4c511afef78d392820900363e344c98794c635305bd21fdd86d3bb2a46177520a4727a40be34d7a399b31f10af159fd24b82400b9f62741893f49437b8a5c073f8e21c0786942ffed0089393a90deb780fa51140cfd6db0b780b8eef3b77f0ac140620a5558bf032532bb01896543f59020355fedb25071de4757130c254609a68718d2841abd503690e02f667bb4e93d4e15984ed9ae6067f7025c916fe8ce045e8adc79dba6be7f0ef3617ebe76e725047120423b611f9faf8e78ed0770329b61643cad866b1944f84b8f46c1e997f8927fbb6eb29bc4b426c54867ef940d4f6fac36feefa94796a6d4769060ce18399105de02de7162f992d607909110fcf045a7b09808592dd6cce718880b7bcadfc3a322786cf9f18ce0e2013fa63ec4d439790608d4857dc683d98f9ff547d3b360e467cd1e3fb03f5e876a5e5d0577a4ed32ff5234aa583867f6a92e018bb1323a38be87b3b3cfd3fdf84ac8fd3e5b90b95cb046b305cb9ccc7c99cfe49771941940b58a290c3f854b6e6c25888bdec5cbf7eec53c74516993dd2ada0d37dd99c61afa5303ce3e08b6dc56c3cb302e5c83dad7cc145bf1a2bd5644e78153c1502fdfd16dc33b80bef22f15d4a20959c243ddb944e9d602ee933d8be14e6d155cc44ee19e920e44ce587b2919d7c2a7ea8e8e0e204ea544f8cae34a4df8509f1fe34bbf2051aca79edb57c41afe5c931a88bb1c1ae1661e29af7e0b14f27926981dc9793e28273a87fb947c6fe7aee2c20f0ca712442efe2707a1e9bb2ac168904886f92c62882fe89aa58e93c6c081e1b67cce13e234b6990eb771df9e282e6824d3a3af32a8395efb34b4cc7c1313b23b1e6e30727f0ddb679bfb7752eb8002747f4c82e6bb9429c9197121b654b0896a416171ab6cd6b0245fefe247e7b32d8230f8e44b07128b9e12747a96dc92c20d1c4f43dcf3f946b65e6432b0b6473e74dbc9d91ebc798610a8542ddc6c103d9db8002ec07b5f1ccbe3c747c6ddca443e65395c1b6b7359aa89f670e6ea8aa22e40ef10cf8340a26cc468b84c163e1e9e5ca3dda0f3ad67265f455907c9650886838e391217ecf15730391e2f6433f5cbb93d2754404821eb9204b74106531ebe849b2d3cf8e64c043b6b33491c1037612cba69db278447c65e652cf447f5158b4ac450de3c409ce236446374a3afd4e82a31ba51292402d2ce7b1c3734101189bd501c48c4e2e1fbbd64bdaa490f863782a0bd252096a3d60bdf164e6c887f78821246f9f843a7fefed03b3504f51ff2facf035d7f4c84ceffd676b3fd6210333f937662e5c468f9c60bce8f2bc7bf13f770b35175ae2adaa488694a11e10e1243759f76be5c266a6cf7c635a726aa1a1ce4df028d262effdb2b70a4af07c5cb6a5809486afdfd2a799c21d0ca0e474038f80ec540a2c0de2698a7ae68c1cf3c7ab8c0f67afc1f0a45def9d8dfc2569680379d21f749063d0c2d6b55a12a1013fc59eeb90a4387261b84d1e1c86dad57956a8e368e699eb8a85f70d8b3124f3ce837f302985a90c137ecba8a808a4100d27261a33249fa946853bd1e4812c07ec514a4bbd0961394698e2d458008c25b9e00a6118100fbcdedd941672f40c49b95ec1ef25f3387013a1f81ec5edfdd8ff8e58b2f5afba7e657d0ed12b5503177ff121ea45d8b58120178c326ab8d9db8af88f9917c7b6ac802d74300e9fe056f0c1637cd5dbc58dfbaa3f11b562b4f40d77a5ab3e76990afe7e1edbf1e1e99fb1a6d0e07ab734dd27d8e812606cc47306ec78f5c07069a1c8ceed34d4c4b65749f4ff2233838d867055d807f10a78f495ff28d78a038289aab688d4d67cd2d61486e8e9debc104fb06bb559048df1590a2646b43f4607c9cbe29625487ede113468fbe6a7323dcd8a98b03305f37ff91a7626cfe80970d7eeb9e18d438d36402132428f6014c4938ece6f1952c88ab704622853c733dc4cae49ff919b7b5ab20ea34a6ef219a0d9808506ad6697846721dc1cf8e38c90a081df41a170b36fe0e235c7192f4424f5e99c1303f718b3a15e84bb8ae7b9d1568a98f6af1022e5e465f85458915a49f1a10b50b1fdd86b401cbfcbf4337e9ecd8961ea6143c8952d0ce4354f0c6c0bb40a81f2aa08b3695adcc8ecff17e17181504f5e8a10234c560c0712ef0c2d68384005cea9b74c214a35f844e44dcc0b41949f7c923079c6eaeae627c030bd82529383e1c41eb9f5c2d9884e279d706fd3a82597bb786b4f020cc764da851df7a2a1d7c45ca9336d17a4cbf2741595f927ef850168b2e66721d2cc266e0af56a9a30e154100249664e3d739da8b681f3882457ecc3d7a71c1fa8849f1c3e7170440347e688c2e7b8dceefd4909cf52b731c814b19cd8d2c8d8dd96d4469b16a52496f20798012fe94f1252b015cdcc9c6082ca2fd5824ad2467dd0573a8103789bc73aa1aaffbefc6801b2da0ce14509709a883007da5b7ecd01472169eeef373118ce5884e88e3b7b23bdea95c723900e12f5201aa6b0ae6639a10374f3471c6d793876d69473c4b9ada78aabddb897ee4e848a7737e7fd30cac1975f5671abf87d945b64cc882710c00cb4b97c8459dbdcbfe8c65eda8155340f900aabf4dd636b17e01cd11de1a2c823c9fe8647978268d1bbb4f6f74cef57c45395768c45f35842d4c774d52adf2c8dfd2155f00f8acfabc3851295686158052b5c8969496d08702dcc3feb06bec1eae10e1368656167282b29b4195af00e1f70d2c8574933580bf4080992cb72b3883968634f02b815d1169b9f8ff9246dc9ce9fc925342a95e584b79a5a29651f13614a2f3e92ba78fa91f6e9404f13e462e2c09f20da1c3f78a3de6b3a9328f38fee4b2321b0c3ac859aad1cf33bc0d744b2406428d76b0dfdfccbeeb6a4063b8f914e8784673f4e05b9436a10b65a02f758a3b3e8b4218b742c4a8d1d1a3e5caefe9a172db948ed503bd8bbda423af8f478e1ff8b117d2809b221320be02f6ade1e1b6d3035ef50dd66ac1bb85d5a021f83cfee479aab1f60fd778b1bf6149eb40b08a6b9609fe81b9508f64718323b9f9ed47a07cf4ce910b65b916db9803adc681f99f107c473332b99035672a824e745b44e7810d1038f89eb9fd5528f300464d41d0b247f6597843d581d006d2d831c5c06d6d8f8b07f7837f3c538c0d319b8639fb6a187e584030d9c8f940cd4da30caa0dc1e234e0e1da7e0b2335b822ddde2834c3f9ea82c4f86d336279232903e9dd64f59035e2d9c2347ca2bd7b0028dee668ae5fb1a73f14c1627ee9cde271c858d43edb0de5a18e01521b9453deb19b53a1b14aa1547964c5ed3fbda9c5e292ea48546a9e033b021494873cc759f353f5c1ff992c3b0f31c42414a33be3f5683d3750d942e7508292caf0a1e3e7c58d7951685716afcbcb328f1eb56a7baa59e33cb1b2b6cbbc8cde27d856150d680621ee443ce78d540a20ab6047e5792a4046a362a7360178113db4060fa05c91f6b76cae860f3fa260ff369b845bcca50f2a08b659536d94078a1c2ebd494dadbae1c35aa9b8a9509bdb457ca6d2db5a0bdc6ad0e52d900e22cd49b015b937868e1e186d50710d25892126cf8b1daea65da662cdaec692eef9dedd2111d0e9ccf4816d216de0b5304acf3240c544588b2d74ca6a87cd7d8b785e6693daf32b22a2af0024a16d4a7f3cddefac45625ab6d04cbde0b553962aac700a74e157c44d45c428dcb39eeca60d9a33fc6ee2af15a5ee72aacb1657f5d6573b6ad08e6fd3730621aaeafb36f39f0764bc4074befa3624da421341d37bfbe7ab3dedb90c0e36152bb1bc9b0c25eaebb527ef12146a6e566d93c6cf2ea427b1d4d93e523a25e84ea166ba404434d4e982fd9377d0b879fa7aaa9d376f55ff14348706abb438c65f1ffc6c8e44669451081f05441c981c7c9345532cbf62b3210e5bc0857fd8afe1638a8558af7cd0f3a36d6b4d12f02fc603eaac63cbb7f9e439f53cd28c414ec80ef918fd783f33a8d59e597990ad4422f85e96450e01ee9879e0a17a543bcec7af654b386b3a5dbd8064d6752e03d78b07dbfd3aa5bde30c83eba9e0090f7604e8b40a55c274a3f1f0a165f7a02c8e762e96f42c94bffb1ece10f554ef10d31e4100174c1af44c62f38bb472d990f64c8d596109f8cbcf216f664704ba7b1566964932f9e03e317ab2ee4edea4fdb5acc11b58a6255f9bd8617735bebc229ceb6ac4d27e5c61c0da689a33162ac3166013176eb9fcdd7211ca7496dfb94df962031008a4867b1a9c0e23f1eebc067ce60ccd6579af17af974a8ef7c795592a29fe1f0384cfb0c4f3fe2e25a97d1bfb98719fa1e461915093aeb685c93d4359632497da9526a9adf3a19481030be205932e3aef30aa3238ecc2cb1279fbdf67d69f84d8ac4999945db4cdaa56d7e5cd456bb02e47a150e56073849a204f2efaa9ea0dc6525bc1f13c5ee916e7ca033b34bb453fb81a7dde9a88a0cfe0f05b4a161180054b49d46800c725d16dab12d1c5b6b8519b5103143b5d4c988c1126e44963818da1205bfcc451ae448da003fcd315c1fa5bb0258470f9e0183b1d71127a92bf5c6f5ab8a63c0f529458ea1efb0087dc57657ea01c435a23be199dde836f3835b624e0ae153ae56b412846790c63f7cfdab3f3f168fdc2c59e6889dcf51f388c14b567be07ac159c90892faef84570d29a511ddad804b2a94314b6014015cedc3a2665d3321353553475263c7e2941382915353569219651dbd3f923d9e2d385414d1cc87aa95c445d86f52ce32d2465b683239d43ce88a6763c8852d192b8e5e2e6e69d0c7f3fbdeeb17b47125b1c1202d6839a0749a11ebd604b617646e35559b917093877ae91d526c8e842883e07c4847fb5a7b13dab51e2a47a71a5dc9d4213dc9c11b1e965585b51548af402134e26fdc47d8045f466dafe5fee3a736b33b31db0ad627899d9490aeab9d5cc60a8e37470d962c49331d3873233f2f611db2efd90850bb70b33094d4913477393744ca849d10b585fa26a62e2d73f1a7b8f72e5a699354b266cf1802ff7a9b88c5194c220207240efaf1c1c42e3aaa077a787d72c6f401635b2cf5b2d63613a05a47ab1382e8b42ebcd199e4e86785bd3d3d958b44197496691e5f0e78be04036c587411472865f97f22f13fb4bcddc65149bb496f19c58a8aa2c4f7fdf7902d30e7ddacb6ffe46e5e3be91ff89c29aa0a3af25a7ef923c0f04dd08ad9ff62ee3068b5576886729cdfdacaa26b1124e6e0744ee0a78a8be0501b6cb21075b5fd022253618a9a71f46e9352e58386ca05f793f328b4eeb983f5e86c1e8fc8a2dda5466a6dc2ca5058efd35b8f757eb2bd835b80e80276f9a0847109fae67f4629289a5cb88a9c43c111a8288201cb01bec1ad6550cf94a427eb21a36e362f34a9673e2ad6628ac7f8971f82906709848ac9b2439959a502af91e72f8d53ac371b09085e839441369afdbf9b0a2f4fb4cb3b0978a39094b63bd8cf4e2cdf5e7a1952cd71c25fd7ffbc15e18d3c69844aa2531e360ca34a30af753ab97b65a441f836511c823507af096b3f9c60a97116cddb6e6720d804dff902a99a1413f30c02f619be4420e681a0fb6154ba9c196690c87c365da96d25d2c5c0953d35ddf32cf207c4f26d86adbfacb85eecb33e2aa9873ae1581c33c204876c6ba37296eb463aa0c0b3102e3d23d2d31a2faef9c54a9695481896a47d23d9e81500ddeefa72af1296ad68bdaf16b10eeb26a3d7693ed6b75c820ebd49aa1314a612b1d78c48a733603102cce8b82292e1de25ae2eb77d939c359230845ba86a7215f64a40a02da65997cd8013f66e745f45e188bdea53b154606a5eace1db03b55ea33e4a6fdadd8e51111240279aec01f7181a403543d20d94dab00589afa2f054cd4547e26b0d030af5e513232c7d054278bd13ad009ad0d463a821648d923b9e609af8655ebd8865ce9a7fe34cefe028bd0e58d678323354986c07938f29a7a39ba650de567a84548b7f34416b827bed54723f20cd6313fd12cdb93790423c549bc31543decdecfdde7ba70a7ca2bcb41fa31538d95f90335c0d8ef97b4a42366bbf80ed4728cf6cdd34dd5b1f06efd8605e80ed4f9572b7425f6d602a3e8a3f4d491fc78a0bafeaecd1fe66e9eb20e25a8e3b91e0f6903ad687dfa1aade464fe75b21a2dca37a6acf5183dffc5ad61d47f216969aae58bbdae88602de4a861f253a5c5b16e0945e104796bf3141b55707bc2d92e800d491224bd4fc8fc13d3a8a55bc7a0e86b38bcf4a3c1759a1e6593c87fa5f838df5334540594e17f2331304e1ea8c36f4b432f3f8caede243b490931dbef05de983017d0205d53aeac9b51cd9253f882c18bc1a970cff27631d43554cd0cf0e37ea5b07278ce21acadb6d2c12494ffc04511b3d3246e7a9ab33d8f52cff673f3255459e29530b0ebebd30685aaff3b384ca0e42d7f8b1f27e7f85f3480e35d7d4109b1e524a9cbe9ddfa8af037e4735fc7222a9ab9e81ce944d87f02be1036943481f0c4dd4146358dd0b0e57cc67b0ce7445cad380161f72fa3cd60010dafc346e1f64a88ab109aab1e7e86ce6122b3391cf726d34def147703ba9162346a70f5866d7e1ab63f3c0d01898da143d32fbd110d36cbbe8495e2c8e6eb12931808404d6e85c5f78a36feb2d0013828d60e9714e8f331b45456c2898a13359e7ae8c5c0814a84d7abe7c8b5e335d9200cd9dd481290109073b5a03c1ef7d13e3a48289fa012046d20a9069d37a797489f4d081b794289800af50e1531bc1abc1f136b769ec47403fcad9b008826dd527d33c64171bf562a739c6e242e3d60ae49a3b0f6aa463a637596c2d52bf8fe28934b82ee86e6abcc6bf3536adb63902add174eb2be1e1df03db297f901b68cccc0c960ecdd68418909804b8a21fbec92a79ad44fc05e6e6cc8eb82cfb0398edf7c67567193eb5813a3de0f4c80101fd9d4702956019c6f9f4fd1e03f1ac67c2e1efecc1feacf5f9ae970e13c1bceeef967090d8876111784a8e9c59d487c03b781dfa602a7eb3267182839dd4c6690f8d4ac199150212af9e7c964204e2007156c1daf1ec9fdd64c7d2f1ff041e9bf09ae3e31a586511ddaec92993f68f87187b74dfde8fd4f12990f7dd6305d561a6a99fab93ad61560a4399c73ac638219a49bf757f77f6a4b4033acb5373bf4039dc18a8a6509f425e0e490b550b3ccd0b405bc1698dc45ec45fd027ac58a791c10bb8ea9ae6e0df6d75cce25e0027472422e55ad108c35ccc36433956e861e22298fa31d1bd3bc9b3c0e3c981062565af3fb55f7b42511358c846b070dd667ee3a240c5caabfeb3c6e7dd5c969bd811ae9c3ad47f7d5c4c6f048446aa54341010fd7149cfeb8fd675757dd8caf4fc91b45dc29b84f8b2e33d6ed4faeba0a983faa0346df1d8f569d991748f90fb4eae875ded3921bcde9a6d7171f3eab7e2a1f0feb621c56dd59ca63ad27dbb23a8cc3e0671556dd4259d9846402823fa8577537b77c47e8d5338d6dfdbc8edaeba03d3db36313f48cffd245d5bc939e4f2f3bbd0ee2a4746f1116b431fd1b04e1a59ac106fb4405ad2321f51999d3a3234dffc416bc62658979747809ca49061e5fd2041f7da70e7a3f2bef4c9299b640fcdd2f6e7f6b04847b88c79d6c2693fdcf637500c95ee740b65ef543f81b202c5315a6aef43300ca90fe2e910c41c93587109a41849be812059eb3aae254c203c306f3d13051528ce63075aa60e42a18cbddc8220265f8174c9d2cf889ba9a4457d1fdb41f3404406902fa4ce097ba513f579e0972a87ba9c3230bfd119d37dc5de7b6a74e95fac41e8454a6697e99c79a5015e49882f2b7c300270ded30a5843cd51fd2de09218ae8ac9592b3e7133250e762ab545d8bce14b6ec5349ba735ee3397a1a27c6a7dd4ace963ada3bd890b5063a4dda745274d4e5aca58ebe2d67fca53d244d274596ba9c00f208ad865c17c82e47019284b57e673a74cc2606b96e479e569bc5b44a88c8527c6f525799fe448a11778467cec98f249cbdb200e05c9c845ec56d4fa89f81f744fe4a20863e43299216ddc9ad90cfa2f88411189be0a9ff647042d31d14ccac54e7baec3a3a6f5a1c51af379819622d909de24593775e6ff192a7d93c91ec64408ca61ffe707f8bd79281f255efa3e2bd654e33ba05ab7b1fa98ca348bb0bd9ca353648a5edf13a088833a0c903d3df5efa231cee68ab7737f6e3f96a7d92427e75badde2c281f86c3dd20b2418211dbe3b8b272e19405eab6e0b8574ac06be7e972ef62a57e2db75c3c54147c8076cd49fac458bda04834a8de10d48f33aa173d228f6b446dc1784285fa05802a13d796964e599a5e665b4cb81da43dcb96bd5d5d3257d89f0356fd7da33ca07b520068a1c8cfb31c21ae0067877a02367663cecfd0b8b1a7f50c10dcc1e0a633650308878953c0ddff7931359a362dc3a48e88250d5a28ea3fd5676430410c386553731c40bb88116ec3f8678e9c4860a1dc77053c49cc7848fdc3a1ec813ad38068932f55055bf281ad094002b2960a1ec16361cba6406135b2f019d43fa51fd20defca6147e0d91cc0c61a8aab61efaeb4d9a0ba7010b424f37586142f64281e16dae0861780df906c3c46ec19935acebebc1c09cfc0e9cccf5d819ebc30b3c75b302824068c70ec87a4e9e74555729b2fd2ef3b5aa9923a25a332dfd9c51b7b729a7eea2cf990e9009f00e10bb3b845c919af20d1e93edf00c48221f930f93323ce39064947a73cf33ccfc0aabd2afa67d686284209deda07864f0a60d1549751883e70ddd6f8ff19660de3075267c0c9e18dc9ac1a563c98671a60b8b60f00ea80a8a130ac56f007a3525124f7c636f4b6cf21ef9e57480f5541946c1d4e2ca3cf09f3d7d920b5eb82c009a593a030377e049e5e28d1f60952a1b30cf0e13bd69113176dc909c28940e6b1d3defe149316e11dcfe303d327f69ab6e242b994dc52cd7d9242d9306620312d3b4602beaa0404923055c945d12937f0c2a854d34bfc7c0036c30c8414a5b0c8fdfb82ae9b042b12105b61aa5164dc935b829bfcbe4f11b945ee46f7125be2e16d6bc66f045956b62d5b3b8c5efd01594796a503dd381c66de522fa097a506b56ac18345306c1f2e034881edc6a4b4247f6ab2a2ac8d4cf6f698edd72b80230f09b4cd3fdc3fb654dddb50d176d4929e20c530f5c7806dc4a8026ce57405068322da1406913eec202e1872c2c6e5bf5d469518f40b0a529cf56e76a5e1caad246f2c34151018e0f837c31a52e94b4a5cb019da459c468cc14cd6974b27995d4675ca096fbdcc4cc9d45d675b17499b2d5915062d0b71f9f331c511202e96085847687cb288f38cd09d4e0f30cc4420a24c8fd06ed25102238860f95cc5135a4953ef506a416c45862706f0daa30232669fb08b1b074d10d46fc1fa04e0dd026c7241c7e86b865a7d74f2eec8b344298282e0754062b6f4be1cca86c30950b9be03e732706981c8575e904b799d5daccb6c770e4b9ad14396f1a0b4dcf89915617e3d313eb5ed238606a8119af1abe2513f0090686f6c950123f6878adc456763acafc7bce115865a8bc7840633f00456374ab5e465825600b5639885280e146fb02ba9b15624ae6403224484fbce3fc3f0100c59574d08061ee0ec17e750108a5026d1bbab84ec288e4abc7f13d8eb66a48a47517b4276706f410fdd25dd52521f7f5f27cdb58e6d6335f96a3d3a2c942be02febf536aa77e9caef7f51f3a251120e83a6f9e64d176cfce7723167e8d8e2009ccde03d15293b1937d9c17512a3b205c7e3ddba6e58a393dc2935c62c1a61cf3d3b3fe34ac98d14bc043e0bdf4599b6c374ff2c37b1b63713f60360d36294ee1d7b1f6386ed743ddf4f8c39bd65e2c5cf619212e1ec4ada29fae25f126ebc1b3553b78c0a425092c9bd50c283627b0ecdd4dd677f6a2c9151bbf2f0c062703ea2fdc44e44593192569503483b08ad82a3ec4b156d79d969e06f2a531bcfc45471d3b3b430d2a57670a1becf8c999dacd9899164be346a8f37f0bcb3850cc6461723de2ca3d9236955365722dde23db4f507b94c169cb0dab52331f128a21d75daf63868e6dc4142c2f4e3c90bcd34d6e886f41a871e35c83eb6c6872b5a43af86bd2635fb00bc98b2d4873fe739877ef13894b6dab13999a1fd825361f40ed777963a4e45f44b0694dc248d36d9c106c3c678f768d7ac3e8c01db60dc0fca624f97a5094da1a0c91e17570c6674dbea839186a15e8c700e7b0f96deaf9c29d00470164a8d5613b1af590a401d083fce43d273cba4a57552b85275c50646a039f6ffbd2eff9e15c33cf337fafb77f43968b4a75471b335f113c21a3869b677863c16b99619260c106c961e117beabf895dbf7488724e32e233d2f50ad95cc84b50666b5895a20c85e162ac0190412b323a43d8ea74dc5983abbf5c6a2fb7ec46595bf64bbf2c8aa81fa006457d458d37aed077121ce966d3e6ffdcd6926e99e10a6c6e0cf781615329fbe1f184298f066e8c713b8eefe538f7c1a625c70dc74e9c0839d540ef0477ca46884d08286a4a02fe7947237ffff080df4e42d573123b8e64a556956426e0d616c09047f28eda9e59af2e2d1f159e22190bce294acc0fc9284bc8733a7a0c675dd69cd7710a0dd1925384b4a528f3d55f4f19f612d9fde50a18bf8fb4ecc3bc240a6f19246ca667869b51cee61a2b2c2603576f22a0d52d06f22b5a96e593c7453d48737e36d977bea4a853581b730ab22b150693aabcebb94c8c2ec562a38976589a3146be58137e251b5d2d1dceda21a896b16d9676cd1e46b7989e2c9142a0b9c9cb572a128c983c54fd2f013aa522b10f4ec18b9bbbc14632ad7024e83de674d94011cd34546942e390c6cb3d58872c4f200f13b4f2275e2ea90dc9fe2cd45d95fc725a0451302785843ed4cd0ed10909fb89f76768adddc35688c01e4457a03ca24cc6b24a84cd953629611d00f2089819ef213a160fd6f8f82a1d50af1126b6d602b9111bc2451bdcb5fd6119ad09665eccafb090ef17c920cdf849849fe3b0e58c502d3290e1464e957ee7a8df5c279d99366a72990559d6bc8b03cb34e85d6e5394a261edf0d54202d97f5550530ff2608ae4c2d6ab430f6e4f0f2ad0f90a2f4dd311d3801c291e7970efe1b97f34a8f6bf1ecc404bf369f67626e08b4d86cb5be1bbeccb15346789d5fc4f1157eaeeb68c1194f7fa2ca650d616cd0344f89af2058d8d94c4aafba6b81b7205f160b57ed9a8d3014103a282e7792a1cbc8277416f98f2bd1b8758f89290ae7499420ac25195eb42a6eb424031e068168fd01e5ce8363a230853b712edcc42f9c9596542dcdd2baaacc2de58241025b36b9958713524a7d5d45992f17c93277c67148ba534ccff0098a12d0ee1a18aa22b1b435a97a44493ea1a16a4232bbb9f3ba1052912778896668aa299286b50dfb36e762ad8398543fe5302c247a9494e2d5f9636eea605d36cd49ac14ebba7b29eb7709f17c7b1e94c24c40cd70f3a1a635e6a76420ee280c590fe6cd30fe37703f5829b53948393d472ba07a221fe28c2b7c435bd2d68b46ca4981950c3776b8b594d78b80b6d68c2de19df94d92e0769647107745038e6c33914c5f8f2c1a808bce81a44e0af0477fc568635fc45441a095c130daa74a190bf50c3bd3935ce32d3b45cbb2cdd088ca7fcd8204017472090f0611ede0e5b64266aecf4d376ad20f8490a314d9fb382904889908764fbe7e2dd7fa90b4f5328d89da4133c147e41557d75d5f875059def3a3ebd7a1548e10c41507732aef4c1dd4fa03e652d8e51115527035d65ae3cb30609f2a606fa8a29a92bd5edd956351520f345279b5ca33b17f45da949f13b045158910858eb76180141d0fdcda64a572f1342fc1f0d6117ef0fbb6ecc34e84f4cf68fad718fcc21d64ffed6c46323ecf6e7086f495892579853433e0d69df18176054b461436330ef60b265b7c60e0a392415a32e22b5d48bca78f01a4b97408a65c9f5fd3782e1380a6e5c55874e4df737aba5cd50f79b8f990a059c3bca3207c842bccf5213cbcaff061498075aee5357d986b979c4fe44f3ec770ec08b9d06a38a94e68a7234bb713724c1f01662f6bdca16eff4bdadf5e4ba983f84d6ea03c2268b83704729cf219fed4dffe3aa627795869fc6a57f9d2e9758b0229f910083c9de220a06bf672d648dfa2e4276df82763141c059af4afd79ef465b085023d6649cfff939af4e38debc63598e1f92600494349fa4a50cadb7760a5d1842c020cd34680f0536313320e4ca7dcc879684245d5ae3a8131483fb7b65cc170cb45d2db9fc1657930dce770ef853aa04eac0708ad918a4fefbbb627d7debf35d19bc95b98aa3997b68b08ddd45ca06f89256baaf80dd39b59b4baffb7368dca39f13d8dcd6aa26282db4e7fd819a6bc9acc1ed8af1fe2ecb5d2b648e69a6da8856a03eaf621c573954fb0f22179dd58038b00b46ffc894e1c2f483d4054cb06665ebef1bdd1def8a08e43f23c27f55ee6ac2dee76f1502b5ef6890a9f77be22927a830237e30b1223a1698f98b86734078a64d475246d7074c0a454bd836955acb3e9851907c8c3eed83331df94a505b26f1087c5c7f1f2545210195efb2d374105be3020829686b3699a3bf8d4b7031c4a68926f4bd250314a5e2ecc64a074125a83a9b55bb9add8aa5cec1725a9c441b32888db2ffafc55ef75b0a985b52499b14bd3e84eda680e7526a17a084a935a2010a091eefbf8e8010fc5fa0fdd9e2f2b4cf53557bda60d674b39bbe687836b707034853214e2b0f182654ac0ca7174391b8ae49818de168eecf5c8686ea4294f85f69193865fbabb80e642f8af58d0cfdbb13dc4a77fc21489cf09014d1cb540c394171571ece0376e6929646e57e5df9dd44a20e99f4ed6366a25628f00e2c37368108db19e9098d65adfbeb732f04e19d53c14128acff240fa4aaf113a6152fa217b19de07fc012560d8b4bd1daeeab82d23741508ab3cd2012bd31d4b4e5637c9fea661314402bc5e7dcacf9b5dcff65ef585dba4ae78aba7e1681d37e004abcceab91d92f3640c331734042666369c80a3eb3f121e97bd4542e3f5ebb965bac7b8d7ecae5e17a0087f8cd7098fc89b9d4456475cd1286afc15ea876f2d5946585e20c7587c74129466d5eea06ecd57ea8a58e54c16b04a6ecba6802a5da8587c4aab41461360b1e8eebf7423231a761531d077be61dd04b103c505a395209cd08d765f9b7e1c69f558e75e0591ccefe1a3334ad522c61da0f1831964bfd221b376e6f3f18810b4712239268104eaf135896d5927d3ccf44b0c24bcf7b97f4eb5bb32f56e428ea948755fdfe283f2645a397fbdf860d127703e7be1d4be335ac3da0015ca30dfcf23dac1973bbd66dad205879f47ef88164b900be81261b2092ed08b54911c66e02373191c4602198279c6a48684c48ba5093c1fe0646334365db1d4c187fa910c70f29381da60da2bbdedbee4831d5aac5757644c0db330a8720284c772ac075b492b77bc9e6ca61463884501670b9e73fe9a1c2c450ffc81d9569c753372da017e4d5a55ed75eea668113197a8ad80ec2ebc3e06d13b31e6a955010ebb18337c02b170f80e9f1ded61816357379c5765c6e543f2929192d72f4925d9580dae8fbd36a0107014e4e33fe67f19608ca9214723f33e0b8a349515081037355327b14cc5269441ac565d8239e25b2923d5b1d79a3dd5cacccdb9899a7518ee9743321c4920cf41ae1a67c99e1ec10e2e31a5275a28c3782a10dea9769bfbdfcfa33f2b3a952c4c5559c96e531d583c41d314c03a9c2068df1fd9ab8df2284fb1dc8b01dbe4ff515e9cc5a0ef5c2174525591aee5afc1d47923315710056bfa9bd15866983d80bac0a8409981f685c5a5c7b7b0a5e2b0fd42b860cfcaacd01bd773f1a5b2bb355627a9fa1a727262600954b56907c1cf6a711b9e3b18809e26665e1dd47ddc9f85b5021addbbf9fa00cd5d44088d09007b6ed0a4f11eecfc31c15345e2aa4ea41c92872abe6219e9655c75e130a1ca2a4e363a4c8743d4215e6bc0bd9ac0e5549a8222c14c23801971fbfa85db9ddf9b54e8bbeaf6a4c7ba5dd6b4767e2796d9dca1e064eed2fc97985c8cae488f1fad3d72d03ed711c9f681015ddc3e981c3baf43a1b1ca766cb2c0264661a9eb777e6c0383fedcc4252d08c09b5bef752c872332861d2c8715d10170b8a2345db3161800383cb8b22f5cad218a5ee007b51a4ef43fe97e9e1a5098c416026ce4e40a5c0874975f3938cc0a3102b48a1b7e06682e31507f6929dc33aed0055e260dceeffe8e1bb12a35210ee927a86d3e4a2f51c4b59b80968c2871594380fb7b2988b5cae770aae7d83a4227117413799c40ea51331c530411cc457a9d20af60b16df4624b109ac79baed5d0d7c894b8b8a45104efcb9da07aed413eff10838d5749557618273596756437df261c67837f500153e808ecdb4714ea8f393177a4292010c236f677cbdf6f10c4a5dfab29c138ea071c0a90225c905bc85399d434fbc30a2572bc04923e51ef643019e3a3c189d39999b5a815d6778b31e75a861106580b18247b395f44d6f8d0722006e785e7a44faa404a233a0294ea019a7c255658408e1853072e462650dca08243669c8a5261aa0226e0f6c5305a83e926dda044e12a6e5cd835036864cdc07d5ec63841e314eb4fece5e5de15df29b2f709722e516b713ea73c96d2f3eb7998443dd6f6965bee24f76eb20317056a05680572f1c25b5e17790ded792ca317bf33eb37be59770958d093594f386aadda952d9563397547cba36eca8480b2634685def4510791f194e2298e2a6d4d07ab8e850305d4f4ccccf985e2466bcf39afc8365e1f1032f390f97bf15f6b08dc5cf5c5cc9aaf48f987261d80f696d3a55b940c09b8a114c12092c981096117f7cdff3f548bda388af0d8569563a0a493a242fb1911829b01d5258b96764c394bb25f9e0d872ddc5dd8d896c1dfb6aefc0331d56215557da4dc29218fd8dc668e2780c18a21f4f412053bbe71d8b6f2bef998a6e89c397158e4b924b1e8a0af4a45a58282c30e34fad401d653396c9a06e5f1c9b150f1fbb0b5a10308509446089d1814197b58cf24240c3e96653bdc1a4b4c6615025aa5a0c6b2eeed2aa2b6245df711b45166d9ae424035617f6b4b336fadf0c399d71e01094de4bcae6d1b1f65dd8ed059a3d6fdbb1c820b34493b8fa03bc05ec1909b753799e156b73aa405ebdcf6075ee077636e8d22404d23afb34897874415026e5f7f4012dd591054c01c287045f6a5657e730bfd627c39b91ae39a753baf21b4215498db5e616e5124b03235ffba0456a6eeba465e8971c12a0cb3f10f46feeef6b644d88921fc3ab0a3c3a3978494107bc79083432814f6b77fc072e20b66b8bfc0fec1ca53c06660650d32c7868d2274746eec9081c0a2dcd165126c6309470776900ea3081b84c32802dc6159161a4b88c60cecef4a0c6a2ed9f39518d3ec5ee0d7610e8ece434af6cc4b84bd8477627f434a46e0c60cecccdb37a4a4876006f215fb64dedffe023b4252f08279d8df90126127f6117e9c9d87f030640458a8766c8e0e976460dfded1e16251a51002b9834326c1ee309200fb5629bc7d25019668000941d861300bbb3acb9d877818df35a405b1dbdbf50171477f3b4707b0731849802b19b405fd227fffcd2cab41233b8c8609068341618f43843dd8e1d1e3eee1768f10b9a3bb4637ee1e1e418f4ef4e86e0fca1f71f70829d1307b74160842b0bbc68f78d8e3a191e4c34834c6468f6227f60f56d998819d3f3a48fc6104898d241e9dd83d344c50c378048323747478088519849404350c07b10b7bbb3ee0a30b5760120c76a2b0cb1cf28c8299682cd9733c0f33b01af460b00fdb9217ccc1ae418806a230449d892125c114b8c44eec1fac41630676f6e872e70881899bb8b74a21189433b0b2063829b37bedeceeeb763d3ab0abb30610797735a444c30ccb46120f23d0a8aa1438dcd5d835aa2a050d7306f9a7618e3d5041c1c909ca8da390755130f3ce866c0f0d33ef9c8d851ae62d3406dfeec1d181211ec692903d0743b66c04d91d9d636fb723033b73ec59bbc825ea545f7bc936666067179923a49d8bfded6cdf1db8b911c4e52031ef6f719661a05135ee97ed45b6bf077bdd20ef2ebebb176719e69d6f9582bc9b7bde730908bbf6ce1a8dabb1048417b7f1d5b00837927cdb76cdbe0c1b49de0df737eeaa91a40511e17babbbabce1a766c2481d75504b6ab16bea3b7c614fc2cccc579ed3f96a30bc93d586106518d247107f6dd5f191802d276b6bb3dde469007695db78205b78ba81454b5e3b951eef0e630aaeb08c85e7bacbbaa5228ce7206565629a85dd6c6920cec4cd21a59e38e416b02af0fc3dd5bb3c82543969ddd5fb49d57f5b7fe8015588d259afdad15c8d12b7a45afc86ccfa0537e7abf75fdbdeccbb67aff7e77bbaffb72f8e38f811cba4377c8c1d6a3f5100e59224bfcc8602dae450d00a052605b901f0850fd05bfedb0845f870310ab21bfdf895cb24b8a0d08c006f10aacc08f653f54e01a3b2fffff5c4eec88baf999fb4e701ccf1dc2ff43452dd29f25f7cb30c991b182866bcb6947e6678580b4174dd3e75ed11cff7fb8150d17b38ea8fae5f780d55007bd17b7ab102648d2d880c2a7c4e2ad4a4ece43cec6c3f0ff73186659e3ac1e94f8391840e7b535441ca777f3bb0eceb79e1351bf743bd55c47d42754ba314c4d45a0402c2b34a18949874dcc86040bbba149d0cb95f46d2f84b46e29b8f4a35ac07eff5d61a716b4c32bbed9d406d10c5f515e0954b6429c1003f173e4c63e313ba42b21b37536cffe6b97f3a7e43aa22af7909cb48ea87349f1c9a98b4c70b5d65a4fd8ee14d3e7652e8926336d593653aa6758cd9c10901e8b0a97b7ac576bad1330ebf795534097cca2567c2f63c51a31a7cad2d90b08a93a658cb6246bad61cda3c1d792a5cc8ceec409344a6dd6271c6aa095589a61427a79e3994b785f9ec57233bf9cbf1ce642ddf3e475fdc97dc9355fdeefbbbfdd3eed05e5440db6923738543728412ab46e78e9cd917105b19c8cb57c68adf4287d508b7a69813aa9e25c24d4a060e8589d7801f228550c2d98dac488a05c0617ba661e4d6ed6af7246e3b7fe7fade1b21b6e0bdc720d7490991b4383ca0b3afe09ca919247ab6feec926ee9139378ad86034b4e353a3e7f8782928e0b69c2d4cd81d3f851992d08c4a031465285eaae0fff20013683251b593f436a5735263d9ab91900d344983eee99577fcbe21a6ec88caf3dc3c501ea792b4f12cb967cc992f66ee63e84a8a835cad0f3fb1d657923793608fe6ac3287b89a4e0528c0cf6956b560669ce4e1ff0fe57fa3acf9ff6158feffff096d5d3ecce71eda17dff16fca922d6e7a7c3f2f2762981d5a31641cc0262a3e50496dd0c891905181528c9c960d702d2e8eff33a10c3a71825a324a6f1653c9fece0f5980ad5a8d40a259e1d49be23289114184a45b298172d3e4356bbd99a4375a6f85abaa89058df4a85772a031f29029593046de17a8b50696904bd3726e1cc550d05307a48c58cd519fad9011d1c419c9f4c46a18990cb2a9d34bcdeda897669de2e282e342880ee784fb20ffe17668f42a561adf3bc2801b7422f85ce8cc805062299b33a1f189fac97bc1b1594ea07173329b56a03d9d24a5f04857b47eaa6864e05ea060d467cceefd3e6795f99634eff7ddfaa9b5d64279bd13e14085515f8eb36d2c06d2d60a9d1c965310534e9592988e3ed248293244a07879668db968296a498992b11d0120c8038a9b73fa01e8f87d6d3c6028293542c7379abf9de3002401ff76f7ffde1f502dc98ea8f3abf9ebaeb51b777f098562e3a43106945d764a9da215681e48c9e091b6d97c50d219d5be0e54298898629033455b1cc638509f27a0ac6cb06a3cd98404e37dc2a2030ed7d4155034c69dde07122acc1b53a2b936e0dc5d506bed6aa5041fbda31a9aa132280a892758295a42ef2eebc80a29006a990c8a9725561354e7a887667d8694418915564a35592d6dc61fca73631d2ce7732a309f0b01bb9c7fdf42d293564dc695fad2accb02d6fa7ddd4d7c2116cadb94144608ef6bab66ea448eb36ee7a883962eee920371bbafb5fed03bb02acbc31fca188871ab8901b5d285777caf3937123d544a71c707a26b63b162f0b843ce5fa50e847be6b37f5e0a023671914b39bbe145d3f6a3339d11828927652c4a0bfd9242e18f499554df6fff991b7678fbff06bc2a73b6ca1a1b2af0b45e041d7f440b1065782b5678a07caecccc347468388209e3b266b1e409df7d63d611f546e787c46bb9631def1032b00f3a37845448f3ce4ccc90226dd69a8e5a048dce6a71e14aa437cbe924ec8b3b8ba28b110487d362219f5b4d1f16b0a2b587c591dddb15899b668f161fceace98c29e69cde5ab47938310011b4d98cd171c04b91c33377b555333e2f2c321a15b019113d731eb68ea8cecd16447c353fad2efe67bd66800a587a50c25c8860581d3534845686c84b733158cb95271a9a97c5cbe27db0b78384ada9371fd160c55813d32a051ad25b8709502d2ea27496826444b4fedafa7d616ed61155e76709c3d44540e0f4f1f0c22aad28eca8dd8e68825847233c4c7648c0a56d49e5e2f458d7ad9b7365ce9f7335ae08e64e3913b4321d404b8f5b892e369a12c76f9b1f4dbaa3b6d3fd251ecbffff5b5ceb881ae65ed872baeecbfaaf9af3bfdcea2e4fe5cd2377d5f7d22106697300674e0d4fd11a1c105bd876bafb775e6bd695c9f2da54cc502e45ad38be1e88391fa22cb7122b8ebf363fcbff050d313b9cbe69f4f83b7b7b7d2ac6b0bc8eaf26a7d5ad70eb98af07493433fa549a6ca81d9f848b35e5542c055f05282e18480f2b42308ffaa9cbce4448c9e928c5d06c240c3d6b0117e6d63b8e7e64486961a2ad48c1d839ea1839cc679ad205e6461c013dba1731a2a8ac86d0b662a20c1083b5ae16d1b72de48acb2f0649b51478672acbe8190d1b287b2b7a5224cd0d49d69e5c6bcecaebdaf1621a76a2e597bb7a6edfacb7ab6284dc7b40b8a9a93bf870aa724103b145e5c1d9e10884052c50dc9cb86169b9e91cad834fb5e52dfc1fff8de21b1901ff09eef190b59699c115a681cddc365db0e526c5da336b6f44ce5123c928c1f73305622e47391c7e30776e949c0f81f6f0ff857d2231203aa102e90205105a190de20292ea906051339245ee4e928da316f696eebdf7deefcb76c3a6c3f6c3b66463628362abda5d1bb7850f20602c7803d32d33a0afb3bd298cb920a28873a7450daaac30af1f09f8b3be0973e44d3db4619df0d0d2c1d90b8c8ae4dbca14e84bc9b5ca0c4bfa02eefd7abb0feb1d132419554b63358ea4c8c84ca274c858cc45fbdaf65af7c475ff656fecffdf4ff5c06447d4df6fd2de6f9e31ad060a929912525d87b12d953e3b3a251e1814cf69ab0966020b124f0f120cc58358870e3b7058403a3b66bfd7ddef4f755db8a4df1bb257111d1de2107dd77d99bd6a7b14c0a53fdce51bf03d856ce89db88b397e5acd4e150b94328beef861f37f98056e17d3d1f2064ca9f1f9787980e299c080290541f9a049b1bd901ec15214205416b476dd0d45ae23eacc4ecacae2504f12993506a85385b7109fad7dbc5dad75acb100b0852f9db58e0a73ba22868844766856b366b00dcd1fac7bb7125a2afcfc1f732e13b38ea8375b47fe292ed71175be20c3b48ea85f61bf1f6e19fcb15dadf5509f70f7bf1990e848df57c75a43c5d11f591e195f73a519d3bcd182e38333e09342024969edaecc8574456ec1dc528f4d4828275aacc0be2fded43aa2322fe07dc945e649d9ac655c9985593f9cb023ea737c0743ebf0d1121c29dea40dd3ec188655a74d73c6e807f962ecf852697540cc15317c5f355e9915091f90afcdfefdd69f12e7ad89249088cea535f1c512f19f9717b95822b9caac0709d84a21c33bf102e3515bb88d304162430915ab1665cfd722f2aa619afe5a27dd0f50416b238626e6bbeebf514e803d2fac9e3516b03e2fad3ebd0c76927af2386031a1c8dfc9cc0c0c9abaa92ab72eb59b58821a8e5e14ded4aac6500fd9545feb56a7e5fc4920c15c742aad1c98ec00aba0e9d788685a0af5458d1ab3181930a676c4b89f196535ce465c40eae279daa9cdd56dc5754b22cc237c5f186e793686af99f8ffffe3384e19eb7d20b5ceee8ee2d886b4b46888f888c62067a4e5683def3af8e76b40f201c9391bff3fffb72b931b8352b9df776fe90a2f4f80e0c2319ab2ca7a173cc1711d9dcdf03c4d44389990aed960559931831f4059227fb06854a940aa191c8949d59e5256ac605df181ed29d935cdc1fc847eecde600430b4dea65e4a8cfd5cc912acb092cd2514efc5a663f1b2cc9917c89c55a693133326ba0bae24e06253fa8218535ef91aafffefbecbfb9c5be005f972feeaadf5dd5b4b745163ad7990f387ef33d4bfff7fffff9cfbccb023eaf3ffe7ad2a6fc01bf10246c45683747ca2a0301f29980c0ba555e5e9b57c9243cea21000c87d176bca7bc4bbcba93b7a31d4e2f85da8a8868bb5329ca5a09f09b26c040d538ba825a01585014437a8a2362f6a69303f094bcda5a78e77007a86a64e54782566fc2c65d9c9bd7871eb5a4fb4541c4797961293b5aa25bd69c1c9135365ad03cf0da593c8a746238f6eefa50d8650968a71161775b5e3d3e2f8309e326e7d777c4862532882e8b6a6589e3636c830800a670966882807a51f86193349a211914dee2d8105df35c899dfedbfaf58731d519f503169b1b3320b4208370dca5aafbf9a0d5d304b7a2d6f576badf5deaed64221e7bfc635ffbf9b04de687bf102beae1d8f01361507222e88854e1fb26a020a502c0d41a17c5d3e1d30381107e6e4bb82c3e16be1208c6a05e64ac643cc08584d7eb5d6444eec88aadf7fdd279ae2f0d86baf05ad5d9787c5ac23ea8dcecf9289240caa6d6334d759aa025ca25961497d647435b65cf624b84885a2401d367068619ffdba09ceda20e6ce8b6f66b90c92a3b185929424424ac16cd500d39abbdae5dcc5d43aa232bf9a4fe80517d2df4ed7d55abbcfcd84b16ee43d5b57e45f5ed7685363883ee518ee061b0f5f2b0a8dd9b805012feade8c87870633b3cad4d2998175076acc9e134d33b7a5e7b4050bce2dea9a230b11e36d4b9d6adde4167fab0cbd3af42de743ff03ffb4a3a355b3ca98f474fe606d43b4eeb77921cc201376336046a7d0bd85b4a476c01a36981f8a17238d160f4cb5a211274f338e38205a9132dd75e1b4d511815e24079792d9d4cda5e09bd373f67d619828c8d1b618a633c129d8d69ac208ae69357dc12f5e4bd9a4931b7575cbd76447d4bd3dbc904563eea22a47adb7425f015f94a4d5934f138aa9c2fff3b98ea850e983f09c9e80908614a920c36806d8f4eb81f6483790923fd670d2669c56467b6d79322f364073964579c535e3c0f6deefbbd55c47d427544ab2353d419270cd6c3601b2d6b20efcaf5f6ba99772f9734ed472d65485037582ecf82696ce905e364480e13575f0ef01e24befd8ddb1c67b5fa0d6404d9472ceeb46ccb49996bbf082e4c6a2d092771aae925534b09a4a111fc632a5981a1a343ea7ddab023518134c175d36442241763036b26ef47aa45b302e36e0b169db70e5e40192a11ea08dce0888e8064e58dd062209442eb39fa4b41264641c3bccf7ddadbeef05b6a4fdbe7b0214089cdf5785ce6a96d5d0fc72fe6a777f7b3241b35a4f6bfe9ce781d0c6b71273a3f30382db523fe774eed28702b32e86d48d9a081a7a1760e960f403e604e5e2d416403edfed76b4afd6fdf7dd5bcb3acce2cd89fbc507001786f3b341ea86993577b59166986cda985262a8b4d65a3f6b964762c647e25cf9e27e5d3e942106b998f17274c6d4f6416e4b866884bb7c11dd2979004be300e22aed0ffc5d275d4899d3784ead3879cfbedff7cd6beebce7ce83ee3ce97edf9de332d99872cc3cf75f9f35097f180309fc33265fe1ef5bedf2109fb958d9dca6a3a37fa0fc6ad6cbaefb4daecf7ef8494cfd4ef6bcf7de35f8d6117565c7c837459dfe23b2ac70818fc9c2eee02eefc5baeb7365b6c90cfeff94fef87f03cdfc1f27358def73df9230738d6ba8f5506b2dd4799aea8baa49f5a4825249bf7a3b7ffb9c4f973f65fa29d4b4aad8f1d81778ec76a5277a6c1208c34059004b77c11504726d5fa881aa187dd12b9d3aaae39bd4e4d8fcfc2c91f0988e1f9dbf2d1372fe71762b8476611c70742e305d0d9740918a4bdb06ab24150ec83849aa0b93a5a8f4cc9b179533c6382210007318000004801484812451042db70714800732c870a47454280e9188038120180c0402618020100ac42000c2301804e014548658bb01a3697cd04a5df0b4470ceb64962e1056c38bfd37cef657199a9b6153a07c55ce52dc0a33f26a16f3296fa4e5833daea1b5470299e76cf6a18ab6f0a95aaf8909620e0c4b62cba87a22472f5d0d4133e285a6f89907d6084e5e59a33bc88fe2153e3a87b91ade7ba640c85234e0f33c8eaadd28739e49af43ba03987caa3d0b14c7b9f71f2bc3c1dd1f497cbaf51397f9417c029b101783eb8a2cdbc4ce201caa68a6843b947d904e087a4c41b489c59dab2e12ee9b97d85840b9e806ade03bddbf04bb3e66ca2fa33168fcaa8b123166b88665bbd17dadf88bc97a533d0e710aa877ad8edc26305aaac64af2333bed47ee335be86dca2e66dc714c85a52c462715a3283df38428ecbef9aa40cea11f4bf2fb8515bb74f3647d3996564a03880d36ed94b555a6a4896cec13c5f5c570c9b9a802afd0f40f9f8fc6c2a24e852d480f0e90ecc74257cb9cc5bd88d457f91d2238ecdb9abd1355d2544fd1643641c9aa64794cb74b6daed0e1e99fcb6515b165b6b2ac876d9e16780316dea2519a78006442944c0b910c5d7dbc080f51e511a4d8dba9392959069167987b76bc7e7bc48d4b12b326cd188c5b53589b3bb3b9e1d041988f35114d5b9f09925ba06cecf625dddccd8eb61496e9f1093940fa163ae92f81f92f78243e5519fedc08d82bfb4b816498f96fb4adc4096e3f7d2b625988b3f5110fff2a7dfb19a98f42d12a45abd48129670a62762badc903af91e25834bbfcbb815733747cc77cbbb08614368b843b8539414d4123c931b20d5a01a870d2c0221b9dc5b96331c2a0232ad67fa5585a59c2c98218ebbab647b939cda68e6f1dc05439eb2a2db87e19d00cd00d7bce85552d2c6e222c4676b55668b9129c001f51bdb9d460f548ff14930dc05c00d76e7743dbf94065a3920ddc81f7740506f8487b62182725df2ee1d0aa19125e2c867ae53212a9162ab7837ca074a900a0a14f04b316068e321df79d0513d9a5f04253188ccdd1bc6a7be2e550b97e4e84c3966383f66d6c583b59891565f178d107bfaf062d70aca0c67d5661a1587e3fc4c02bd740298419b48067b3e1f72312bc35fc2e35138f8af39c04647168a47a572486636650537306fcce1682e1467e78173738b8d688f5b5f7996aaabeffdf2e15bbe0b5ee7a9c85c99094f91a755f57b327acc1d078494683dd42824eed035097a19a8c7a991bbab8d2ca09b6c2f0c0bbe0dc196dcd82ebfa9f7c0feb17a75431f322e46b99d8209467117e236ab4b96b3f2fcce3515388e019b21b8da506efddfcd3baf16e9b08510cec549807b8fc44912b6ec8afa7da57ce48caddb68ee39d5dbb9034b39b236df9a58aff455e223afd192b7a27ff0d166f2b7b8c73652e1e28ae2f2c3e7e05d88bb1d989654050bcf76f6b148718fa310beb3bdbaa7a282ebfe2be2587c52279271c4f8cd7518bd78a1d289b7fd402b0ebf136d1b52f81c90720def1a7c47893ab9e90cc44be8c1c1edbb59a909220fd2fe1afe3c97405531f2ea36198098f6b4482cd5fb63b48b6b82f51208456d9bcc289c8843ca30db8a349e4d0a124a76d569430139d11986e90b9ba731a66a0bb4796ab926a41811f83aeec9bf772ca27e6c2f0c0844891cfbb489bfe2459f1682186a7e6c50127a4e9a7d2cac0cae7e7c8fe571a4b0799ca5c80decb491469e67bcbd592a9966821acc11b05cb2b59b03a69f87b1ff7a12794d994a3210289eaa52623cbcce21caeebf2970251ba9f8aea06e254d82e608c94120eae5e6dcbba55bb2d9e5f97ab76a0db09f8c8ba4962060be6e09710338dae60b10b6d14592dfb4de67083327e10d9041f1d11b62e8ce3bdd675633f68d030d5927808fe530b7af9de53dd64cda77b88d9c7844f8ab37a41844d3031af1f972c63f3106f5a7366bd86a275708e1922b591c13b96d5bce2cbbdb1ac47666ac7f7e4c3f26f0fc34c121fc09d8e55ba717534a28a870a49fc4bf124174c6867023e7a2a0119fcd0c579be2252df4e0124c63251dce47ef90c1d3c22ba04be4c2147274cabd28d840485943484dc6ee58b67bf1add5e5a5512ed0452030edc8cac35012c3545175060f7f253e671a41cc85d4c3f778d0ba6025c21c03e9c5fdc04a1b6636cdb48b346bbf455a211f820e63a8996f275431c74a558e3a8613ffca6188f424bdc051e0944a1822b78401b3c9acb126e9be5cd08f627f14c5ca61da92b231c5c2563e337954019af45a17924a16e5b1f4e8892179e50ace733437a4b340329b53520252da1ada1085999816519863893c824c6079ff8633f4ab33c661ab29eeeede2214860effb8253894361c8adbddd3986900cc77a320df7e65342713ca2e8523c155ef8cbe758e8475845a24ee243188afe14413bf1cf94083d7abed3956ce9acc57787b3aec0a69e683e06fa291a10c1812c1e6e258b39e86d1505ed9a7be9ddcbbf34419d5ec2f7891f2458303ce4723ec173827ab793ba7369eb72405fdce4220f1e1e504e835295bf731249fcbbd18ef408f8a7c4883a2712497bcc8235d5f8618d1ae068892a80f5a28ec17afe613afe391606a2b6830c60ebe2b91c18bfbf6f6f10899f94f2ea46ae4b6926e9227d2395b2dba329d10ac832fe1190570f797adfa4a3d6ec97289f4ac692d898140e01df4ad021581f8119637add76c46a7c97c4f60f46df47104df43556fd5f3b051efc016dde31e3afcbacbafb906adee5c86a3b493c4c8cd9437a34c7f4d94f39a18c5c00845f6f7710445ed376454ec7961f5b0e052203ba0e263d1bb7945c0c85fc3c75031a0e3f397a42e79005cf7f480e3159286c3fcfdc58fdb4b4d8a55c1725f31ab59ab605866f3506581bfb74e96aacb3b3ff607dbaa471f2e77b5294df57a0df39807654f2351443dce8bacca1ce2294d4839ff909bc6a85627e46e695ec377427d9b95155c6233bb871d135d6f61e90d0bf4ac5b7035ed02142a07c3484a6823516599a6a34cbfbae41cf2e1f127ee00672f149582487056a08dc4ba35b8dd0a6287d91136ff7d28b94e84de5fd9befa11a5c5aaa95795b6147d250bede454259da86a944c26541795cf1429ebde0e4a6ea929d9d70564aff3792ad79c63cc237ad43a864ecd4249cd52400f2786fbc60faa8f79841338b54125e8302730803d5e0f363d3697938f1a86885c0c0c530d513098e3bf97d8218cf9865ea267347f494e46b65eff4f1b841572189ecde563e6ed0e6cedef171094746df886ae65a47e736e8c2271a87fab5438739dba05db78acfa2e7d90bd8412920bf82be95848de2f9119766aa1d6b4618db50c72c0690577128724685e74c8d6a6dc46154c9326b31ac98b0d22c2a771fb3158a002e8ea545389a2e630242c49a10563eb5960bf8a360f340aec1cb1c9b3ea0022eaa9a5ed12fc4c3cc6b07a2259e58bc92751da402fb376340795877f11b31011c899cb0e9f286af9cb2e397e385da8526f599c56468a6afc7e2407a81b048c88c5f19a554c8abe7944453084e1d4a3ada8c03d23a13a189f6e31ccc53017356129e541793c606b49900c174267baac208d17b714f41c35583bcea1b6bdbe0366c159b64b07a25dc39588a4ec6a1474c819422e1fd5dbc1ae3711179519cec5e4d36d6a0e41267704ba16fab5594be6d4ef9d6e0ad93a8024baf355a8183282b5aade5e0e3ea8e965a6d41f0e04efe6c93b6cb0c99e8381b8d94cb1a32b199d7efb5de9bd789ae5ba24e87b6daa84b60e2684d1f9cb48df59bd38ec07635161bee03f876c9a4cbcbed5b8a05bcf2b96cfe6c7450ccfc4d9fe3e94067ae09f3eb88e99c2c39f1f90cd80c7b445218b5e1d74ede11384dea42ac661300e53a254116bb643ff39b6f3a73d91526712a5069c3c899814c0927b7a7f6ba758bd347b69d722b1e6e387cbbaf927672ebacde947b590b9c61ba889ba630e60c6849fb6961685343d8aadd7201078147067cae1c43133f2c9ff3eb2b024747acb530d0b7562886c405965f49215ae0b6dede52daa1057e621d5a3431adbc2fc2273f7d112737ec4c43c2680b3e9cab275782b18c3e40fe687c53dcc9a33c1624b54e2d8ff8115149780e42ec54010a9d63a692136fe6982afaa182048da192b433dd60d7da58af140ec8b8a17823a401fd1e8535051737027d4943ce3bde5fe90fb1d7184f161e11a0a7ef231cd4a901faa48fb0d73ee8731634cf7ab30bba171288454bcd472059f1971cbaf4bca776f138a45bfd02be9771c7674581b34c57185e90bfb267ae96ddb85643dd0bc17446b686753e0a93efa558831b278fa81ffa050e18e0ba56f3014661eadddcf0788cfe7841b60ddaa021a5f0887978277bec9f042b8e6564e24ee06ea7d8ee0b0d8c7dad9674093090ee4273f5b0168fd8dacc3d6169eeb3be418328de04e5ca25c50e242766be06a2614cefcef779fdb2b6a5b1349135532a5894d77a1656f6485b7be1c9a0f9d149140b8dc420997a354217b5327034b47766e66da02ac5652075810b5c97c8ec56833a5dc8bd5d57e3f4e65ff0f9542d511e2e7ebcaa254415030170221e98672e1415ec80c2cdd59cace9d9a843204e5890c0343c8ae36acf8c0944c7ad2dce6ae121f14718c6e5bc1d0937754653899de7be526f2632cad7ec342300bcb896c1267138f7ea38baa1388c262908b406d2ab884e5a793920bf07cf43c963240a9c5c3222f78d4c3df10b00e3e6ca3d552767e16f86215c2f65c48dd8ef5dde9c58b47a0c27edb1671d6b0b888998520fe8dc4fbaca7aaa63f089839937730e05e5628f586e05bf678ef1d8c990a7350df58eb4e8862cb5783221c8169db02a0a878557271046ae238a48dc6c2d1fb65481f541bbe9cf49defe130ef0671e600337ac6f796c82a73088d88d38711d194b1a6ffcdd10087b1ff25ae8e3299590ae01f5d1032e0eb0d8fb976208d15c67d3ca21a21d12fb26f2ce97f0d59fcb4c9f4e16f84880e99fb38278d9d354dbb1f9d2d16e98eaf4d46978f4bb8117c2face075688a9e4e5f0cc773650244122dac4a33317b6dbf90830b4465019bbbc7484799fb228e1200fb22dd5e27e0a5fb4ba3372e5bea53e56a0be894464d1425bed82e991eb23e2011b60d7a11010f3c7929e5da6832375de279beefe391f8cbdf632bf4d1f9679817b88d3a633f7bb92d4f5da51e80a08ee6a54e3b93d4de2580ae7aa07ea3a52b98815be59e9e656bb2e572ccc6b689ba243254d1a3310beca58884ba001445f3fc1e12417ccb312568e4f9680ac0a0e23d3e3c0bfe1e658081d57ce9a61d200e24498e287e145fe3e8c06b7cb6a81e1bb898a8cf7a880d47381f19fd47b499520776850d1b356af830b136550b8b30d77c2d56fc05db6ffc2432deb583108fcd8dfa26d9cdaff72a7bfb4ec0aa11b74209200d090e4c4800c3850f111926383e3b6247413f60c6f0658359789648f0dd0a79662639f7cefceeeb0fa723b12dd07b8bf59d51910f56f8dd2ee7c2c1eba47cf3334934c9e9b5b93bf5d000b54d7c97e17de81428349cfca469c572ef0a21f9684af7a2d855a67bb9be6825f93a65bad1570a84cd06ae951f71a792f4776b2ef966be3659e19b38655299a2385c908f50702d2237dbcdc939fcbbb3a0fe665056df39144dda09cf840ac462f6affd4a7792bd08805aec999c8f53c09e4e4a2da35c10b90d0fd824e0ae4d482f01e45220eb0459290dabd321d09877aea578039c78fa88647ac82ee9d79852044f353a0fa3a98abe344c2451f4846f58869cc58c11f58b71aedab6ebfa97e9c53434da63023cc2956148346d87fc49aed31a67a2cae8726918d10ea68898b76faaf5e9a5f0d216b48bd194a003389a351747c5e9f709214978cc9c79c62d2dd95887d3e8971f5625767ed9f0b7f5f8c98977446e62149cfa3fbbc77de434441668e06afd370a2a71cc92b72bed419288730226952186aef532d738acb6aee25447e98a3066264d4cc02fc1b464d1a32be2bcfa33896f9d325c3e10822c77c72d3f4ae743c05c9b7e427f3bb5d4dbebab498052de18dc4320477365e93a66df3d56bad2bcf33ff7506789e628fbe2cdced9c871cd4484fc4db5d0b7f3094bcbbb06e1834e8ea791ccc88aef856a5f73056ca2e6678ba3c17696135cc2b2718555cc53ae0099a94abd060de811232c728e90648e619aae82247b65bbc1db2b66d7b79e79895ec8d3f478047f4f9a37d9b8e4ee4c769194c9742281160fbe61997529093471eae334dcd8f832675fb51964f6401601f52dcfa4f7e6bb72326d01e3b08e58d4764588db037a5bad83d4043eefa616508d60f17d7bf7c58ed25b5a5bee21887cd366bc3b27dfefc4c017bdd9934730c4837077cbc40e1e127a6b3609d70aaac3fb6452d5277c444d15c2c29c65c91590d1692108b187c6d6a9d46882b79ec1133e33fe613378b91f239fe388d0ef82d9c096a8be993a1d5bfd867a371927441c304bb5a8c830b651a3dec0a90429ad5d8f2024cd39ed0b7dba78ac890a10dc97af5f80f7c13c5b3277a04a3489cabc4f4270049588fd26eb9ccd389c019b385804a7989bd5389bce72d6c6f8f3095ab07198ee4e2cb0d47568f6a078a5fb854050e4fe2546a40db87d3042f108b7190599baa4d48ae3784dd93f6e1ce7a41c377dedb61922211b5342a402479dc5016383f306cc35dae606d2c7ad0e01f9bd76cea4645978829f65b74ab17826fd60cb899da217de10ccfe4adc927e08459ded8896b50eb2126f9f6c61819bae77d7def4e7838ffc1d23ebb0759a22881382461824393a87e1d9644d8e0a89b3bf1d19858f8a91b804cabee9d40faf2eac0e7c4b06c766824bf5f1f2a826338c571dc6a63b87ee4ca17912cc6c7d9fbd5b3fa54bc0a2cc827a42a0d562a6aec8881b51a42469bb5bfe6248ae3998a0b7e88459605a647a16b0905084015d5e53ee5b4c85ddd02604ce2183c10923c711836f79c4c6162efa52de2ae8e8a14a49125966b2338c99e12347b4ecf7685c44f50e4eb256386a435e50c130cc80a3eb95593005fb35cb6d56502cea55545c1c31d56d54f7ceb6229e9e18702314c3df8ac4b63e01bc11d4cd50bf0afc0cdf722505db64ceed4b4b8f8bb7933fea68249f953276c8c78b8edbe71b1ec507e5c50aeb56e7249d15aac44026b493ae4953a1387603e41795b59028dccbe8da76836b136aae15a56b9a8ca8c9e60633625ff7bc1a0f7c29f3d415b6c6e7112ec9300ae25bfa0335ed00914a4c00dff6a15e010d96691419f802d8c874b6b13f317dd38541f31261b93ad67aa2c5be69b5aaebc8c9fbfdb6fe39a862a6be6e236e0f936eb5b44e432551d36b455da1b5777d4e101fb875e5bf83952d2d63e13e1b04612470c29777dd99ecb086e8eb9dff9d21a3e7d7728fa9f70826f2e7c02a2c2112a661d9529cb2aaf729a93ee20652f0e043bf50faaec2dee8e3262f57456310c80ae25e37f8ae9ae7089387e79236cc0d4c4a4cac97f359769e839ea3c9369cb90c6cb9454e4f0c38779016585302fba5345be9051dabaa9e6bdd912ae4bf9e16c5fa1cd34640add04faf8dc0b73ec424e87eea5119b6458557c9e3a06fa8ba3f5bc73ca683d5be9759ea161ec7cdaae88f555feac6eb7e2a65aa75ccf3fe912f008287d43dbd465caf43501524f942d98bbe89dd9807bec5871ad1536d3c790717405183906fcbf38a28a6611e631ac0f606b9f43b3e0dd599dee04064efc5f37c1fc0c44b4c2d0d9f218e8641083717699001e285d22ca8aab49162a954249135b4a911e00f55341b826456b0dd40728afb721ac3dd8890d74df28890f68a3dbd2ae4f0a20401718a72800c1721a3c0f0af2881ccd154db45322a1283851fda71c8225cdc4ac43de95023e7b85bc80ba747e533369cb219947ea750ccbaa91d786e582e788eab184d41666219a4e68790bb2c807aa08327b5f4e9a2a91ce9494018387b9e2577475106422da83a039c7018a709537644187eec38103b758bc7af691052fb4de2f9faa7599bc87da0c5c38d488a56f25a2e6d67348f7c618004b7188e2f01c396f8491db99e92532f2231aa563822f1f536fa767827062d5264f1b0db5e356b9dedbe4401f67e6707ab56c0bb124813222dbfa24a1cf616319990335b33ba6b96202192b6815496d64de0a521b6a2b03f82007559492b33fd83bda0aa6609652b3bd9cdde09a85907fd6b32e336c7ce48654dcccb1815ceb2615fa75a7f7f311114afee57a147d827b63beeb741eee1c487c22ba31e70e6f834dca2c6a2062dec9fa1c617795945ae2ed0d4d28746dbe2152955f659858d46a82dc6ef769457f65e776ca351b1c8e077cda66ebaaeb1ac43fd10213ba1a30d84d95602460f0056e55e782aa9cb8de84a3f689839ce0d5024c8842e61325cff1b83f582b839c1f1b9245b6c392a253c4586601e81c9c97fd4c7a2bf32f09f4165f171eb52665ac2bd277db3f97f9ad3cc697c26071b82ddeb2b53c90db3dc5cc12bfaa10459d5b04805805af817f7528d55042974101d65c28a6b992fe51ca8cb7fc5e105d147f93cadc2e79040c50600818d4f07a389e000fd13b6eff11e44fb9d811cc17c2d74ad6d7521ac799de5d5ffeb17a72c9b95f53727e15d2e61f71c6798e38543ab67784722c016b0732a3a01bcb9b8bcdabc7b0048bc3dbf276818e0d320c41ec63b85e64e80456eabc6cfd7b4c48a192c3f0b87db11c0cd4aa33e24d2ae9db120925109b2a786e93d781e41760468d0a2e9930d7b3d5e8bcb208c2f229edf62df71354fd903344946d5c749eb3251c310e6a34792fdbedda47e85ac00e3be9ebf0122cf8ad2387ccf3f6fc19ba4b90954c8d39e9a908c489dcb79662778207fb421de052a29da50ecb643b40f05402faf19a39581a920a3aef61b3efe658f616775e6f0fac052f212a2ccbb2e4746f9f8f8f0de9c68a13e102b03cbe14615aabd2c9837b2739680e5c1d9d80f6858a91abe187beb2bc49b3e7fa44389935f81aa1445a8418174fd635af123d7e0f6faf5bc5142ba00ba08717aab59d571440acf6e79f62510d2c1879a7f88a7daa7631a94a21e451658fa6c0815dfae1128cdb6128498e76efb69a1c5d12d85837d63701c0a94b4ddb6aed318f62a414ccdb34c21f19db5e436ce080c9ea6eb8117260d093ce1c580a79ceee7aa0d03e4e6a81d1bbf3f1247f24ccb53b4925330c2025209966d34c0a3af108c8dd0d1068261bbc96d28df87a04a09b07070bb0481f6e345045e5e17d57b853fea81e7e84eec92631144be048e95840e06bbf8c9dbde9551f1f28ae683c3a36472bed27d896dfe14e37fca9d1b66f9ae116a2cc597ae843fe159da78786deabef18aa12e58880185522accee7def480263385950be04fbd22c3f14412c7c723aba9b74b125816bf66f177057ff04c47be595bb34dd3e030d822a13c698e4119897aa407d67187d2f161076a035647d20b1f0c2d93876b05e34285ce3eba32943ea41cd2846e74b2b818ef368cc5bced623f87927e2bf94d34dde0c0a4f80a3bc8a8f0d1d8c7a8fce8dec1881f1d38e30ca6a46d0f15c780564a2a29c93bb7b6be94331557e1e1e3e155c6f725b97ca26cd429963c9a5b1c476114107a7ab24a88bbe2fba6dd7a48b2907992901f3a7038a073fcfc43192cca5714e91601d2532353175ec0f24c4ea0e5b5544c6003365a840de668d7c29828fdd4b1d81a09929179bbd89761bc63eca5cc3e09bce7725be7b3e35cb38afa88088cd62bd1bc522f9fb4f6c8d3e371f7dd54f5fc29dd3d51a66e69e37a9bce4b0100a082b789d31b68d57543a79ea1e4e8550f6b76829fb4571b88c9516eff4ff2abb821702f77165abe2e9b69d1d4d7e7591aa8a71aa482eb50393c33da6f0db30528bb93bacb76e46fe20a6e773103bd7bcbd2a78bf6c6693c1252183f7b501c9e818f53e24f9db520c07161b01220cdb1b118de533d1cbb3e14e47d4fecccc6856172d319dd77a3c6605254387b5a9790fffca5cd043818a2a552ae0c5f997962ae8d1e0d02a1e310b9d83ab03b28ad38bbaf0816715cf2e62c1432352489aae8adc4f6a2597fcba16820140b1d378a53078a879632044123bb37acb71f4adcdabfcb78e7243542e0205afcd29a8734c582989f8061f4006602e07723da18355cce3c447e49484cf217a268fd09e5ef68faf99e98a7e59ae9ae91332da3cde0df9a6ec8760b5055846546818840082865357f5504bd27908819512473956f72554cd54bf12448c54023709106334d20e9ffc7de77ac6b1afc56582419086aa1c359a673f30ebd93338ffd43e16da3ae807f55e9fee186f67fcd4333e2e5bdc4b841bcb269f4df5afa412006fc5e7ae90e53a7b81b4a9fc959129a78d2e78d9572f381ed550b4210838ae6e304400c3979ec1416df358f3d29fc91ab93b5477af85891ddd3d12ed32bd02a54388e506920198004e7575dade8ef72839bd8559081b6ccfd8d9bd4b64780e281f3a833058192fbae6a031c3bc72778e6e32122eee530dd0d59af4b3fe280cd348200c506587a87ccb06050e2327ad26311e177414929e281fc6051eb9f0296c55541b05f4dffe810fc1ec37e2ae6472cb9e772f3c449df32acd91bfec3409a7379c1c14f03f88fb2ce8d2b6527476c7b9c24bd02118d53c0abb93e647c1e0210891f3ba1cf10da07ec7565b57dbbe017bc9b9738c77a8404968dc9873d3bd1a7d77f03e9d43a4bb21e02951c7917c5d36efb784204460c7c39307907282b2d4615b8ce650e665c527a310fb9de31918c49dc5a84b9898ea1adb664550110b80958256d352ab5984167df7f44e741d8cf320cd818c598087a07cbfd3b23a54042e23e84416c40cfe4554fe0314947e4019fbd8e310390b1282e08f2511c34452f1bf56d603ec23dd730464343cff86a0b34f9cf205583bd1b5db9963c47da7adbcfbcc594595cdf0ee1b655745084887c1440c88dd1ce13e80bf50197fad4349ea052e895f1c7c46d08a2fc241aa5f1f00be270d2a5a414313c83c99d19d621c79028fefe4e28f4912231e3d956674c6825184015794bb7c0b9481163cc955b3bc1ac75ce27885a5e9ae7c27f974ddef9cab3ff3298864596372bb2359c34f774f6d17a71cc1731a222cf72705d1d7b1c85fce556ed887725f110984f1e2c80a2ce71da264f015c63fd65b72ca85dc4cc7108796ab6dc7f61ee21a028f81cc734e9df3c03c5dfb1b01f2e3c3a4ea51ec2b54d30603eec41b7751ed4424b2fce6f4c9383a6600393ccd79054af07f5373ac978e84b1788681cd287201dd79a23fa5ad9bfd46925e43a90badfae746284db5810abdd10915af3c38146370d5637018f74737c59d21d9482a3cbe24a7a2a5ca0eb2faeb9dd36735731a0120ff1e30a488e74a38ad1950d159b70105652f8aee5ae9da319a5e16317ec2d5a38e5ea8d08c96b88809dbbed1e3fdb0942f2a31a6b7783a22ec4c48179c10288762a7da0e2b3843f928f2acc0272e44e09a16e5ae3228c5bebf86d32bba5e82e1db11ae8dd450913f81aa0171573a72be0b4d7b064854295214b23a839382b17318b191657b11b4a7d383401d5b66779170e879c1389fddb429fcfbe92068aa1d2c8d6c06a9c6e86cd98e5c4d837b11b565d69bd2d9790eab5e7126fe04b3bc9bb4982233398d282175b11a3cf5d7f51539a4f5f820d6077822b62c07e1878afc0054ec7296f2fcc8a569c00aa015b51b63e39c8021116d218cd00f3357587fbad687a89e89d45e21286d308d64bd46d81789c8e08fec4e19759a6193f6c29e6649699d9cb6c7a3626e61d9c52e3ba7d0bd041ca6f914c96a186280640a3170165186999a28153a0f023e82cb729fc652ee977f05d215dbb19ad8ff3f5ee19417685ccd73b7f344d928fd8f48b7bdd918b7b5de459dcebdc1e4168527f0f8ec1ea2bff9205247afe528368a86476147ab5d0dd22c108a9164187011d3a1f958c44f34cd6a91e9df746874458481a0905f3fcfcb1d28a4eff419dd11220f49b0334f8787ee98be7f3eb9509e433d4fb3cbb20be9071a87b0ce3ca7d4a47df3b7d1bb1dbb97773b6c390d77201234e9a2f3a2480a1e7f65846025f0f22e28607dffc06ac14bc552f132d38fa27ed6ce63eee904a8095b1407d7f0db56e6a589876365747965f3973359e1d7147d28623d70f9d639670e4d37d257894c01314ab338353a817d2c1741644fd7bf487d5cafcb27abc62e10efdfc7b7b3a6a8d6b2b942d1cd8d3baa1d08e57d617868d0e1b05272819be0088a1f0cb5463f3fede4b174243e58e0a77d8b25c204778c1177e048ea59b13fe150b6f762e8b48a6e32de98e72201a5a2236315dfcd9f432f69c3b5c77258812d2b028732f4e074fa1743df367bc74e09c3b4ccf0d08841833cbe094846ea2e912348d816faa7a0e136d9a01d8406f2e09ffb22e3d3bb73eb7e384243e84a75a15a9e5b76df2007522b99f8d1a18703047b7b1254239c48ea5eaa4096f76d487f93c4033153b8e8bc6bd89c56aa8253551f0c48f91766c31f623fc8bdbe2e8f9e8feca381e9a01f2150f0e48786968a3b053749d3dee9b88032ceaa2d4a4edca26edfa649bdb40530f27434b9ec877c101a27c49db99422cce9fd971879a8105a6a2603f4c33bf371905bb08edb23fc5df07782009c20c5c528c0487dbbddd17fc6eb1e97015357988ee59cd885068fb9ce7c65cf3678340cdea0da6855c16be5485d51ebf4e8f086f25deb0ea693199caf25b1bba1620780efcc6a6b5c4c65265c75752e5b3db79ae46957de3dad63631b5f49818081b6403abb2f73f5018eafc22da6d5e4d3f995f5d6088ceadd6f1b3d9cf889a7d443ce2cd7856216f37b43495e49f65f7f9e875f9fb6dd5bd0549a1a3f8fd6043777920bbf4a46fe2eb70a38d29796d1579d841df235f37d0cbbbfc20b42cc78accce6e2c347c2b637af790173e31425e533606d4fc21dced0a80358fcf957d81ace3302b5f845b3fd56b8c66b23b79b7c8c3c28abb30ef4171e0a033d10fdc6a01019500ef25a3e46de726cc55c7ff39a9ff0a514787d66370c5c68178057d823706578080c1f9c0e717cd7e3f32315ea3ef4241bd403a5264f8031c83bb4458af30f4e4f7f3af0135e956e2ebb00e126561cc9be8fcf38a77ef0757d422d1e89b565b79873e69f397c423e64e66e86c72a2d61226efb12dd6511f6efba8bc462470ac22dc7cb337aa7f56267529906be4784c1ad92b5950842b5ef36ee82a755788dd86eb643c57b8dc8dfb7356892214c657328623e3af78e3c380de0a66c6a6c50704c8cd65989306b9e7ae851eca0d0048c74c871e84b78d70069f099a2271501caef33a824a0d4a1c2988cb23ac1272bcf755529158ab60168876e3ba86e22e04f420feab89a3cb29eea2913b4351f6d3b76682e2a200876fefc86967714076636a85f2d27872bff71f32c2688651dc28b175dba3070f2e650bb945edf8fee915ed5a0bb9b978057be89d12c226016ba7f8f12496c7787228fdddd45bb0da7dcadf730a70baa9e028f584c87f12aa5cea1a2f1b74a99f946f6bef50ea081d4ef8e568fce79485b07bccc3edc62fd5176e46014e49a19f602089fc710e6a3fa73401127c6ecbf19dfe75a9fd505bd340d1930956da65e11f965558a2be3f63cdd0a2be24994f84f68df970b82be5d248988187d92677da1157f2c37ef79410a7a50e2eef8b1521106dc1482aed67beb4cd69b2d4ec939c770e03ef2610f6fb041392975196b07b77636ed4dadd16aa7784ddfb62da0a66b57eb24f628ff0f365735b08e45a99bb209081e8e95bdb65983ae5efa90ee06911ef92ece615704ef52ad44edb7779c5cecbdf381766ea79f334b70bcac36fde4527be100aa317559e14d55df32a170a0f73039105d558e20075255c620939f0c7929dcbe94a06acae647d836a004fa5b007159205c559c54d556e9f461db927abe7640f2c45bbf16f41d5a5f4bd99701d28ec04ea5d8d28baae905f4fe13eba5e7915f6bd6d91cac30e10035d805e02a83df075cb65075a3413f5ac9b030dce467fcaee420766403f6577a0a3b3114fdd1ce88199a8a76c1cf47006f25176073a380bedadcd85169889409e68e051b2befe27943e982130003481921031b83dca907dcdfa422e3311526906a4ae5383b7998bbab66021302fb759186dccafb815aceab7fdc0a3da5c00954c5a66fe4e243b9839339aef9f541a29a1e9d462ebafcd0970e4bdbc5fe98660fe9ff13d8728ca700184b4017a27e5405c50cc289d0e023b387c67e9e02cfc469f6f527c00ccd21b06125dd800ba771e8e3c5ca3a7ab47b1fcac45592ff21b990deb450138fc888043d7111b90ca5302c7d90582074fd4c2820039f3040511b0cd6e5f6c646f29a54c526e29773b042804d803da4998752f239b4c1a2146216718fe6d9620f1f231a6182c225611cb887526e42784474850c9a38c87198f638f9c1e401beaf81386c42c2be491aa0d98403102f141d44972114623cce97600ab1737b664fdc8009a14845ac2a4ae302443b6059010862751c87614a93072d275ef2661c923b50de3d6b281662303403073e1460b16b4312587341963a40cd1beb794225a0a173ae3b6c5e6dc010b5393ff7fce99003b30a9e21ca37ae79c996cdca837736a5a5289295384b8a07ab244f6836016ac20577268f9bc90879b33509b474309fe931eca2c8bdf2a23ea91507e0c40636b4c4357d8bbc35590de5b632db395c2a90a094e88c1155e654384a6d018daa2e443de1b0f63bcb9e6182329436286e48871fecd512d03e55bb764766dea17e3d25f5985657a9e7db5de558452bdb7c618cbf4e0c554869647128bda0315632f69764936bc6977848e2157b44e90169525c8504fcce7c6101342535a3de23f29b33cd24c3f39a23938a0ce018ad04ef7684aaaff92f3254c964702ab8259384b84dfd39b677e77d4072085002347d109a52c2b5465ecc155a693e3c699cffde55d39df9c6f980e13b4d56a055a51bfd3bb3855d192f574dc51113641c555112b4ed0704c9560cba9f061d46403888d1d9b024a0522d0a27574c253e4aa09a6c1af66faa87f0b332469b4d964c8ac128ea4f1d10fb2e496405bd304f2a699ff655ad87e252e8bf875fbff1b262d709451028d5f0f1284581401c87203ab09d0d954947a769ebf12cd8876a6e5a785270021fc681aeb91c6e4810dd2162842419a1114f6a203d3687844e6880c928c0d0ac9cbc172463b98f195c58a09647870f32e42304af9ea4243c5cd7f903e0e1bda2588cc19ba4b1d82545646b1ddffbf99416868be96e881b9164948f6546960288984cf07c71d46f6c4935a9520232921922e253182f024b0c298a449049f30a107c60b443caa7091d1834b0acfde29df9b6b2911d3cdf9ce3aff5214ce16484c6b8929a345b952e2f83324c46b844e0926685aa454b98a81e50286a25909173f8c88533f3e421344f81c19dbb152f2b1b1a38bcecaa392476a1c95625c12a0842ec788b610a390034b1ef9e54ef91fc3aae446014041f16732e333819f33a30ed41414120f960f081f44d18271c5a681222d654423f8a811d5b3d5050a598c0eae1887277492b08ab5ca742c3e09e767b3c6d8feff98277d90708304914a972c582c0fb08211523d6060358a74927cdc3215b79cc5a358566d0a524cc1de5529a945654cf7c65559ebc7d2f98b7edcdf851208703f80508216542686644a37d8ee9869a7292a82768e62544c3046ce8efc308a31ce3ac370290ab788c0228d6aa4c78b25aa9f2921276b824caae803279d2e4c3a59541a42b6750ca10b0fab53e244150cc412a858925604b8a5efef5d2c627924d797e65014d37b6b4d830342139fa0252d5f5d6cce8f900ca8ae52e07852420cc892290518456879e45013d10e518ab87ee1868d880144f686d82deaddd9452c4bad65a6753c6d7e4912e4f618e35b85dfb119358d402664094b47102010952725202e766c1c1575ba1015192008b5c6c078449d90d2611921adcb59cf08616656a294ce6e18514a82daa1a5498bc5d0ca969f1f9a173cbbc52e491549534c4081792d99f1a4858a6c0045483b4eb286557ed5a76b9108fefeffff1ffdffff7babb1e491da2ac5a51d2264c5be3831b33c928393a34669889bf37dbed5991f63cc71f9b4e5040a275d3da094ac530e698568b8e204447014e1d195ca90739bb19311e8d428d951b536cab119422cc84a903444c4e4e206a7b82ac21576a6c3a7983379abf033666e5a90888d1d6901e4468d9e241e07c5b027494d504b2b74ad24e738869c97685a891a369c8e45a817160439995831e5080a164d782bc7918a7b437152555241a92c29e1f7a99c49bd83c25811058a3bf344661eb065c9e8088b0847231c8840a0b3107c58a61cf688d40ae6cc6c5d393f2b79a47e6e2f8d9baeb52c963c92f3cff9838c193dc0a89c50398da0096ba94856b0ca8a25ece44a7f5dc1c3b34bb2b45bf9ebf56ae52f2587c4482a7fff6fde5ee98949cc89a21818941c7122c95209b4238b26506ebe4517109c2ca13a52294149d9ae6648d4ab4590a81f423a3823211664e185c40404271296c613d9ed09e6d682e6b90e6c815b4555d848586e1999605fd9fafdfe77e8f25fe0b2a59b352134eeabf506f2a47a6f8d471c25c9d03192642405e506db24ad214712178c28dd8831b4e44191954d6548b48134343364965912f02ed9f79a3ca3c8b78c6ff96606491d3c44ffffff6fe20bb61c39515ba6a8c8c032c3480c8621392e94bc6842f6e39aa61983eb8d6d9c2fe15af2b5442ce3f8958cf3c5f74d2e5c3f8c2fc17e9647f28005a1389c75c618087bc802cc095134a100122e1d91acceab977dc5d364c4b2124308edda927bd710ea1a43d469a7a6e52474a2d9fe7708591e09634712bac309b743aaefb0daf57858c0711415038b07460e1964bca2b4291848693f20621782105fc82353863e5af0801521b147447a7e353ac31753685e55563d3f1485f9a564d653d2cfdefcff32afefde59258fd458f8e3fc7faf201dbc8a984f4334b4b28cf4fc34791816c18a8e108db06c0c275b0f65c27cfdfa756486600c253d374f7d9a2737aaa0c220facd535ec1de5c4b30dd9cefdb5bdd506b6d8c23cba4d19cfbd61153d6b90aac631cd4176c687924b1c801cc88ebc18ba1649e7f4aeb776f61e9aba8858b8f2d210a230f48e0e1c002b60247971b3f62af66fd5f1dc34c12bf5fd033f35075cc0112f200028cef99d01184c13ae1cae1411a0c3c69c21275f6f5f3538416b9fc5075193b11c40218b208cf09ae6c4991f2fbc148c0940f113024622cb2d8f8f2fa8ac252a485921743190095ed0089114db510d6bd2fc6264831bef91f065b233938468038c7ff98ffed567ac072969484af94143a0c79f47f35ba4862ad915623364c13a68952c8390c1aeabb29042c48518d9568c1ca873ec0e6a60a4b9e0529743543d37a666d4254a2b112af568a24528b97422613bfd4b2845142712fd5767777aa6142930c7b779635940225afd440c4db64a125af2c6dbab2a6eb3b9314f632a43e52b8530d4dc80d28606d44bc0622fe252d2d4dc4db9fb6bc279a419c7319b0c72170d0664830f5a1c2cfa90c188a85980b4df1d0da84c0412cc4c1ba8305120e52607fa71934e41f251f6777dd4d6c56df699af52cff2479dfef4d449a71b4067be35d5b1bb32f9d1ca4b9d77224c9fbdc73b709c17f8833c459925d35ba6af02e1cffdd96f374e69aa6b0c14b473baae3e0a9d65ffa889bdab9edd61a806db65e6dddecb69cedb52d57d35b050df641ec9ebb8e028ece668ee75e7264c97bc9d59b0ce2753a7ddab2ca9f7fbe699ebdd66b3a0e9ecc7e8eb8b99d0461f6dcb1d9b9d933e61ce3c726363b08ddff83d651c0e13df7acf399fcebcde35b6e5b76dd8ba2baf356ead0da866c9a36cd991a2c2e6bee9ffb0009d2fb810d1fa8b9f31c4eeeaff3d57bde8e5a68bab95dddba2ef4da5d8d0abd81c9c1bd3175236ef04db58eb4bbdb7d1ca4ba6bddb5bbab23cb8babd95d606d44dcf46f5a636d50119701696969a7fe9db71e09c45aadb6bbbca5db793fad0d2ec5f82d4c7d0614b7fbe52df5adfb4d35589b10bb0c3ac40e0045a4e4c8fd7ea080f35d77ddcb16c42782bba9ad99d39657765277b346cff2035ae3803b2f00154a12090a9ebb320128aa35949844ed0e075a890401537cc359a081fa76a90f4dcd9dbb69cfda84c0a5af732170e9c5d055a32bbdba0f59d741dcfeba6b7725cee11a2959db400699dcb1628dab4a094d04864c451ef0985255a5c38805246450399278a175295dd3b44a8a28e152f2a5444c4999123325472a67d7a907b5e80f21eef063f8625cfa2beb9cdb909134068917fe427e18989e21676199e5916638c2630e90104e12181c638cf9bd95673d1963dc33459402078f2a0c95e131c8091842aaa92d48660eb091e5a8e3420434203d8cffdfeac8f248260d44ab70c18e6395b5ebbdce16be8ec50accd9347336f5ebb4a1691bc2743634317e4a3369ae584c067ca9d236f34fa17570ed58399135b6452aabe7e983311fa392f2762103597e74001401494a2bc70917a4f10997aa15c02663573c5747e8b5be958fb7d828daaeb0e4919cffd9e2bcff2caad2ff53d72a3d8e4758605bb82c0e23af302018616824907cb417d0abca2bb8a497340c8dcc798919fa4924a2dbff3f3fdf1e39e2276ac418634eb349ab209c714c2fffbf979fa1ff3e96b30913c6196fae37c6499224c138e336d75beb153b88db86e6e32c01189b57bb37ddfedbbc427bcdae5b1b5dde7b02df76f65aadf36e96b69c6dfda5bfd86a1ddf069cbdd6cb1a0ee720f8a9d3b9e7dc3d6db97af3a62db954a880ab807bf4cc3dffbd15fee2e48e3b0f426bf7690eb8e7debbae80001caedb5d59f356d0db6b79de5cc7b7209cb5b9bbdd0535bd0364a880c3f5b1d2feedcafdff7bbb72bfec3c4f0ba384d6aea1acfdd6387ccffdb6c905d4d40cae2615a0fbc5b8a62e00476650f6d2a6be9a6b773bddba73cade9c7dc4cdc5d7bc674d3989c16b506ff8bdfff79ecfbb7a39e865889f6588f72938bf897edc4e3901c9ebbb6f089cd4ceea1d2f53740292df5adffbb8124410a196e596999f07a6556877659ff9a94caa8c4ce5b56ee25cdd7d03a909d36362d27b6b1d2ef433e7abe9c9011f075253a6032f395f4cfad26d6d832f26457b2d87c3399c9d775faff51a0c130c49f260ba4c0e2646e78b49af07d03477f3cfcff96cfad2c9da866bdad4d66fce97c3e94bee6d3910b893e9f69120c538772125490cbe6bb0b5ac75b9d76ed66c7634ddbdbc95f38da639a77fe7ad87dac7eaf7cc79e23b9fbc7f376f6ef7cff1df7d9bf96e0a38a62f777353c0c95a77d39c42a915adb5665d6bbd7fffff31e6c59e1abb2b7937bbc96bcd021a7ad39a9ade8b6bc518e3d7bf5e186f883754abd5baaddb6a67cfbce73373ddb5bbac23cf9373ce6ba4dd95607f31cefd628c31bef762fcff1847191a71f318dbdd6ff8bef5c5b85fddf957ffce1b0e56a28c8c4c596abd77adffffbb6edd4d7d4fad754392a881f591593e326833a4d85753e196f62eb03609d02046a6635d0596bcb23f8c6e687965ef69507618b4bff44e1ea3ab5c5b68edbecab52bf05620e9d3b061743e1caaf3a12f3a9feee9efbb01eb722406ba0ba4bbd7972e42a7f897620b52dc736406351630fb876bea72e40ef70054e0deda879bbe7410d8f4a57cd17512033287810d66f700ee3e5c592b7137753dddba5b85842a510d02d620a92ae04d41ace5d41ca93932a305dd65b9dcd8db65f9cb891749cc4f6f6684decc0846508cbb8971f5f51b7a7bae29aeb8bc57773b318e09436bf7d590bb7f1da9bb1863bd37f6e1db4160fdbbe14f528dbe11242612444c71d55ae70949f5471a81f53721e9ebaff2589b10a431fd5d63fa3b459256fa7faf8e02ce35de1478469896dd2cef1353dc637850fc3babcb9d9ef3db4b5112839dd573cecfac4d084ee49713d30f3b0afb7ecdd7573723dca942ce394c13eabb69ae8c242b5ca107c895194584c0da8420891e2089bc2b91bca824cef96cc7108d0a1223180830101006c2381667829442fc14800838b260a48854301693c6227128140e05436160200c0ac4200802410cc4e01494a496530320db9b90984e352560070c646da90f3e09f301234dcfa51361d5c0bdf441d23f14e53e9586ce3b3be836b794d71d09f5b0dc691b1b03c88884c7dd86b8f8307754840c7efe2d1cc2c9dda06841aa21c38049c52ea6dc37608f5de398b6e4458fba2483f8f6f7e6d8b78fd40fdda3e79128a3aa1ecbe6b8263df06d6a0d139876221c84c7f4002319449d8bc94b3451a16fc2f5042231803d13c915c61cd9cb63c924c254aef7e7441ad63a1f8ebb0e033e6745d33ee18c6f8dc767e2dd3bb885343c97845a8bc6233a8480bc16272e1b2a3ec64c83502333bc2fa1a3b6dcf82f6db0385ffa3e6399ebdc3fd036f67cb835cd39257779825445c206f0b21b5975298a27e710b21f0f1793b754f04fe0c138eae7ec6af07911b2714835e4c6bfcc0a48c00f613cdaee22875c2a2b4c75b908c23ac5d7b1315284f9110416ccf67f4ee610fef944fe909592d699b1ae8a10a33f7dbec741c3af16acdd8a3462a94f19b5edcfa0ed0a79727832cc6312100fa563c1165fdccc3b458769027460c0379c06807a28505b4030fad6df726d62ad4abe10f128b1eb105677ffb96a73832eff05ac3df5ce4fb5bb5782fadeb1757856f8b009e443a28b31805c6ec21b50c271afcf1450634b7ae76257b16561cdb0227ebb756544af5c08842aa0513f7e6d473520ada3311b9140febd1cbb78fb102b021038c9c3e43cbf97d0a96a2cbc8d82c73ce032a20e56e748d3bf4c30932d4d009926e867e0e91958f5295cf5b5a38ba161f814bd849b96bdaae93ee81ef4a7cddd2849443f53baa62f968832d1afdfe12f5320339029e70086ec4ff67c2bda14acb301293331531130a68db24a8068e51104625de04a890e03bbee344dddac84600b20472b80e69322715643f6a292059cbc95ebe7bbf3276532c3a70c6eb1b9260c0b5d1e4e296367a9df5a47d52edbe29c34359bc5f353a5afc4656eac8179bd77c79edc992b4b2f07cb06282e8f293e5b98414351bd646250e35423bdcda68904a7b8f836ce9726cc226ffc393ebcba2a847bff3a1b37bbbadf5d6ffdfdf71119dc9e0952872f5635a15727a1776c5f62462807e2313698589d14a98713603dfde6e4081d9712f48f1c0d93b4943c1500b586bae4fb9a43edadaa88a03d68bd9d7a31272130d0615e9ff5c6fa251b22170270f9e29135ef2ed5d3d32f9ef0a7655c3ab3e7fbbcbcb6a3889e6dcde7d861440826100137d12e3dc901146ea94e908c69ad143a7c0320fb8d60fb3228e452f7b5aee1c9c72d310bb15ba0f21371cf0d97e227473a564186b6f243e6759151985b3ebb648d682e7de4315c91450b17cef8422ceee5d98ab00f075786f2ceb38637be3699acfd5b4565e2dab4f7ad19d460ddd20ca80bb21ff74e63c8ac322bcde049a3296245d07b08f2c80045a0d3a6894b7992a65e0d2d6f5b62e425d1a2d97826bec3f5e2bf610d147a643eb55fd828739942f03ace569f1a7c8d73c0779f3b8aab3f59d072e3bca028dd0d4efe18a2fd444ebf2a13e72af825720b8e67dfcaaf64c6e2c9865aea35d18b61e0dc3fd4ffbd403125abd07206b96bf556c3b9e92baba644153d002ca701b22d09bb7a9d51b9f2dc4d8fdf5dcb5ccfe1b2fd6919787555d076841e0c2ed728e787ab6f2a18be4f1468330341316cd602b7811a3d716dfff96ef0a4c16d81c843e7aa7263b0b7ad497b8a0895bf889a8e30b5b40b01bb8b25860c695bfb28dd28aea982c40c6e84d9a6ffe3aa35c7b2158c3134feb972217e2339302e65641a988ecec447e82719dfd5dce9de9102c7a11afb2117e2b87564e1252815e4a0872c1ac0b473540ad8accaea7b52e03d0a59492f336dbe024762a12a4bea2e2dca38c27b4bbc5c19de6a6791adcb0a380209ffb7482ac158dc617d21727a3a1d460e10463e50d1dd7e8ca670ebfeeecdb205e08e422a156e44046e07c6a1067ebdb2177cb38d3a4eaf99926cda97fdd887d7b5e3cd8eba36d5b68f07136bed3ffc0c0c9a504a022675bcf484858e6b5df361eeef5a1ee1537f52d825c73fb94c8331057fba744e5697ec7a4c63aed564de0d3fdb3dbd2897c97a88e0a5ad9840d11ed8105a652bcabe8085977903a3b611bd845d7e275be78e0af2a2f38fb9bbea94a6c3bdea44aaad7e898d7db19b181b37d6f4a5b8e7ae8d60742775c77dc05f769e6f600fd0b9932cde592d0d9db3aa8c2ca360c5aaa33afe786a74c5d7e8bceda4d1b4a235c0969ea3ccfb7d9b449dcb1feba91bcc4fa02f82e7b766ad34758fceb3cc9672bf1abac79c4aaadeb34f71e326e491876bdad7379cab618b77d5d6743a51cbf77f01f4bcd7446e265edd81f65f4db2f652327066714aec0bb4feca7801d4463020ee1128a0db1e1a13158ee81af9838a53faada66dc23e9c1a5ea7b89e5ad576cba1085be7e0419af322a2ee12f1b3abdcab556495d54dc311ed2c8d9cce6198176a6ee282d5bd9a96514faf75ee47448faeb67e2a7de85a8653f5a2ac3ebd4f38dd2a60f1c0040b78dc12354e1b2f03561f91881a6ec675494025d5c2902cff1a12f7d797ab6f253e92be14a40e5beebb3a4c69fa7d64b67ded48975b8239d38eae31a3f3ff5e4f6006c4d08e8228138cb39b430c9b0d39698232f22a1f2943af3d23a0e19fe440e0f9cc48f781f59280227de8d9bdab1331598b9b2a23243e75e6dcd404ed1c36b7228986d3d4863a478132910be7356cdbfd79700322946d383003d01aaa849091ebd1b80d05b1edf42df6b11c62ebf6e996bc418d51f03519425aa236eb962258c25d79b7e808e749c843cd904382986a58c7b22d62880fac83cc222cd4980460221f86ca08aae994da6d88f4bfcdf1d354903fbf25576952e6822d590a562545dab8c672b095a84685ac8d096e35a7ae9098a7539b5b8ca5143e31e978aa17aaa8daf82409ba9b1655a5d58222914f8baa07daf3a9930ee40c9c423a32d03547058d781a0512bb875b5602b5a5b850ef81eb739a401cc990db8a6d5d24346a3eecab30ebb532a68c1e77568a5a73f3b1d216a5172357351ff1f916b4a95ca09f8ddb9a6dc2ed8bbafc4eb4c8a367b11dfc9a8944b885101d743c881f63a71c54acdff520838d1d1ae0fcdc681cec09685b4c2b22c7025ed8c14caf057b1a0e24725e07466fba0f125e877c683964776aa6328015661a8712150a254075100accac299143d1bc4e507a637d37d14c167afa29e1ab7473efcc335e8e5deae0d1ad6ce6be2346ccff12b460e0382021db54cb640ba3bfa6b9795eaaf6489bb58801c9b119e65b18b0afe91138da4ffcc858976c584bec5b10b1cc31c664428189b47dbee2a6ba49ed5b8f2dc1295c4d912de0e6ed2ddf90865a90fff6d3a8e42807765b1d3929adc8e816995c61a0217c304ac4e35001e58ab58b6010676b326079d378ef91ebcf9df6429ab3d62b158fe580b3c723546cec1cfaebece023b1c37c45b83390d66efeb74a1d94e9d4ccd08dcc632ec120e9806b01ad86a432bb1c6e55a46befa5f55f97b2efc37d543f0abe94947d4c1d8a7ac8b04bf5a459b872233efb44ebf26d9084aeec7415ba4046ba70320dbf4efe6065bd4e4f764de415a85ff90929804727850f32b73a13357858488cb3b218dd4908d20becffaf1b2ab52fe61f2d3f4dd2d59bea0d1b3425d2e69c61e6bf2d493f862acee7c14286117987524475d2f7080f4b7e2ee936717f0c4e54009e83df7bc05f803dbf4f3fee7a4f7fe71d6e798dccc601ab5d8bcf488d98c60fe51d8da7a3788be0f013bb240f0a4945a3095045133495a3edab80536ad5e4a188cabbd08b98f1343d221f5fe30872e17637790213f21d069f5aca2cd7b9511c1c0e8b62518bf8760ac0000d0587096a00276ba754d43489459403d86abc797a66c39bbf736c2248af415d6745e7c42f6a8bcc04cffebaad81a8d1ed921498a13af64b5057a04277e62a3ff50af2896a346068acc1052772a2f3abb4f16e3ed2121673fe4516b3aef588c3f7a64d2d44ee49de22ced55a595bd11f4da11c29cc362e60288ca5c2df7426729166124850f8afdf01ab5ddf384895c5e68363369c892b42285f22b9dba4e80c637026ab5e5729f9ef492a68f8538b6618c3ed61d8038140e7d01a468ee4933cee5c108eb4236bb83433728999eb928aec0f38dc741fe2a50d78054d6730295df18ffb6c8a6a38f70cb167e5258e7f1b5944b690d7dff8775b1c47a8d867fa581eba43db356e20fdcdb062192c7318139c891d4a2d99fb391caefab9a5a77148fcfde0acc8622a56ec781091a19996190bfdf2b10cbebed2005673975f31aea17b6750264db449667a2ccf868ed8d6058c342c89587544ab8eaba6cfa9161a57b240c49b5f16dba4f81801fb0acc23bf0c963cd3a8759c26d7da2ac40c58ee7fe5441dbf79dc075eabae26975a39f7f6b08376f9532ae65bbb77177c3f5177a03c7135b59b7409df18086174ed87eecd56e1ffb4373592673949ed599996c7393df8f2a7eed37e2ad7a2d1ed97b4b4a6af65732cce1e2a2ae3cd41c540cfa4fdb633cba376c54dda4f32e7b6a5472f4b64ef822cdb04d876f8b603d176b37fe30c4454adcefef3b8395180b91fbfc79e8c289304062d6aef9253ad12ad899df8a3b05ca0646b62cde92384ee9c26d55892dbd95fcb7631a745aaddbdc3fbc759b5cb9d76a95776e56e96a6bd47c4ec2b91c3330af2dfe392612fc372f85c9a33f5620a7b28a92c781ef3fa6e702af447f1fa2d425d786e7ecc4eb62ebfa8881fe8fe35495a3957e10d6c84b6b5908f3a3fef755235ad26715270780ca75224341229d8dfafdf1a4d3f3041363551ad16a2bbe42a180fac4526accaa73fd89afe74504f360801714e17b64eb9e3e5340894e93bd9728e53e1d866f8801dee93d33a7c55fddf3890ee4b41da1e55c50a7096c1781b17724c5400c6b0aa881415ce413d2dd6d01b01326281a6b76b0154a8d74f1f025553ef9021d04f174c582d6f1d4aea2f31d8012b15e225962171db944a7194b022f6fcddb579503a77cb178d331154949dc683fc875077ba132404223578b40da2a248da07aecc461858d6432bec5418334c1cf5b9ef642bec3837437b126473a090508a379e20a6577d4276b77d7083e07b79bf1b01b8cb2412d2d06d79ab48ab21ea4d974d5dcf2ff12bc82cb50588167a858ab7ef9fcf0e24d2ba44775332f57d5bc0536719843f7236ed39a4be95f618d53106779b55e522b9e099013a755403311d1e3727b11c83bea299c7058210a2569798e50582461f8f0fabc0a9098293d065823056c3a1c52bbd22aec381b1a006667eb60773a4b028af877255d15a204dd5a6f5e3af90f0f19f7b4046c0144a74b8699aac12cfd32b87f911b01ccadcfbf7a9e591aa9d658e528d5ce4c44db911cf214ac62cc542447eb13364299383ca1abfd66a8c4033480ee07dcbec3c5472b4653fbdcfc425a2092e59966b4da719d2f935de22dcf1192c94c5aed8d45f72378d831cd9cf7a3f7d26fb340465694dcec5564eb58e57e7025ce74a437de48b29cf2bdd647999c9b6f1d778442235d4dfb22da3de6fffb9d5b1a3f8f89158cca024c30061246601b5c531ecb4df13c7322e4cbac2abe863072bb1bb18479f942ec27b44aa460d122a6eee4dac285c8a0972b7a146f34a7f5f09b20949f84060f24b6c3071304a89a4d66ada700a3dce0a4c5e234aa37f8420908d28be5f24b6e2deda502224f28911d1d9bf748f54c158855d52f4b0c194ab19dfec4bf50ee6679d419d624b85e86c00df439803e82869e7acfc45d14adc12a38c95ddb2798a3b38f016ce319a558e49ac4efcef1e941e4d119bf49d4aa9329931b939519ab3256ef91993728fca485de886572a6821588977ff5dee9bcdeac8c4992eb5cbd6f59ee6bebba4ded69ec144d5591a169410a62488622aabc9034addfbe96c6589dcba2d04d96b8b1be8ebc1685b37d589878fcb12aa7df2ce73e48d6c61c54b7d20999b5cc6cdae80eacbdc48f91a2a3395a1bc5dd5f5916ede7e0902d1b89d26082291ffd79deecad01595a2afdac3a4af079dce822e4efb99910ceba93d2445fbd3ef078d4f2350bc985dab81f1f73d8eb89919616b2411e6cf2af02dbfb67e2397cebbca58f66a4056554b13e7bf6003e761ec3af5cff91ff699eb908250113d68139314ba2a0131c54df8f50588538d896e03c4640280bfede3d5132aa52af5078a75f3712300307fb70ba24aa57b438ff03155fe355c039fc1def633a474d5aaa09da1019167dd78251da9524234f1a054ee6f2d3a728a8d2253e82b5188e1c6e95497d292fcfd1ee73a21a7829f778a9df517cd461af554982ba9624e93c802bf0e8123423dd33b678c4f06d23c973f5e24aa600576f661476b9e2ab017c96deb912868ce77cf678a1d0458c62a3c2df0be5ad58d3fad21a4885138d02d1d45005184e54f05acf71659a978d72eb51b4a176bc8b8d6594d2290d62e4f2eda63a28b6db815b4ef5063d8e11af103261aec7b709854f56a41751ebf63037dca4a71f1d9a129a189b7dfd40e3f4f5586c24a1c36e73daf3b1f0657ba9e332f9b4ef60485e9312dc9679ee05a7dd6ea6664e7353485846bc7725c20c62039bc50e5fc6a24fc4cdacb9f3b98e361951e65e340edb560a1922660f43f029ccbb2603c49ff4bf4cdffd304d3e02e3b588de4cd03f4aa124fd8dcce163c7645348f055bfcfad08351277ea97576696b7cd64a23a784ae976dcce5a113149b93e64be83b9611ddca95f9572d953cdb7aaebd6b330092f208f9e145c300499da1de879ed5f5f936e7852696efe25f5904c0f5cc0a4c1cefdb31b5abe33ce929fb2a01f387d2e76ef0dbcc2775ac057c071410ea21029ade70042dd0a1c48185e33dcbb577ce31da870295041c687d276535530f02cc16617ab7abd7034cf50140e3b3f3d668b851c383ccffdff9994df7b806d8182f88469b3beb35a6de421a80dd552da0c828dd40539fe6beaf378841eaa922988dd1e168b3b129bf546d098fff9ed44f36c71a561c7042d1e543c8794a089028e280f5dd53a0a187630c032fd81eae4b62e0407199b9cb02299c45a736f15dd4f2ee47a15bc5b84c18af7bbb24508b179da2a83bd1b8d9ca3015f15c15e6ecaadd3ce29360dab98289d17e1f58879ac50fd9e35d29bb3fa1ec20b5b6e7816c7408659780d7f759f70b6e194d98caa45b9d3c3f919ad44e8ad6ca37cbf152dc103299fb2fe3fd4a6d760a8cb392df2feb92e9e1e30b48e495ca959cd238cc3872318c7256b33f26169278c421cc4cf0b655c840c1412480c2891b9568cc66f76c57f274c06da7ffd8da6fa7c70fb81bd4ad3e015e609644a23a9014f0b7eb3fc8579f7553c03a52067e2125d3b7aed9e04c3cbdd7bf0b369bbb342a107277c7d7fa20f1d2999f8fa7dce99d33ba7187c6455cbac5e4d0292e10c41dfa86b0a51269a9f414004389a61245b0be4b500c91159ce1f9054bbb25c719449a5e8f9c4bae8647f32422a722ea99542b42bc47c829f7d0584aa3052cd113da7639802b25658d582c41e562bab14f2f7071be846863148b1fb9e1502f3ee11b4b016cc98cdfd324f8e55d6ced3b8d5c96e9b8f4f3544a357dccca730199bc573fc5ee43aa8d589f6b1c76accc8d18b6ea5a41665f9506088e9130fe1d25887343c46aece3200197f4018306baac7ca12d721783b2c2e3c8c9409690d3334def7b1e9276a97d9bf28589385b3700d7f063ed258e9a0a3c9bba4cf30b2c0f5868758dc8cee02e4e3b256fbd99e10edfb625a65d0c38c20108c680fdb723ce42c19162a8ecc4753adc1a7f2ce1fec09e7523045c33247ae5056bdd44efc646eac12907882c90f77378108ac0444f975fd6838773e76eacb77eaa5cc8207dd48fcf6177b2305b9537598ccc5154769169af98d56553672a55b219feee4dd955e80662b37ce4676af4bc8649e4518f4eeafb6502a92d7dea7e3e9ac539cd73b10f6b1513f9f0967544348f0ae1ea9360d084a29a4bc8f953caaa158789f509583a914f2bccb53e9d08a8199a6e7f7a3eda865a4057dc2c05164826cdc58a5622451b94166a38575801f4d8dd129d413c4a1a6a23b877bc96a7dc0fdb3e085ff341c7a2b319d5fb3d2e27ad7a5cf3a74823dbd8314f8eb614955181243fcc29e5fc3c46ff8a3b9338e3e6787603e2b37e3e4f7fbe36742a5dbb4785a2136277e8ed398b678171ea64f4e4c39bac1123771fa6bf6c8c5f4b7d2e818c7b7aeeb567e28ef08b5e648a46982c191d8062747a45bbc45e1c4e8c81dab97dc867172b4bc690a647f4ec14af902c809695fe4b37dd10df22d3215b952da630251fc39bff12d99c3cf367bfb53cfd303a37071e6242146886123cb3a3e9ab5b837aab7350a43e41d9000546ffa6441d6e356cbdbef9464937ac5051b8ae029364262a52a323de86c57c065cbfd7c6e4882aa3d1f30db0d404afd9e40e235abb219b6e2d3142c0f287f82cc4d0490104343f0ec1edf11412de5baa895ee94725e3cce84bcb2393b9b200a5e1e5997cbaa4acdf195e42f430f04520f785a47b998a4aed723d1a6faacc5448d716246ff25349fa51354aec64adc3689dab40beeeec238c522be6bfa2ca25e890a2a30f6c8f9027a614b60d6b02015bf7bac3c41265e0480718667956aa67b2b0b060ea4aefd93b8be7b37a2b23d165967185dabc4338cf8793bcd56dc270847689f9ad7c93f3ae1da65ca74a33018425de765f93bb6a03aef68b983098f4c70e8a60e777683ccc4b9a2c1b3176ad17ffa9fd087822794978a115a27c439b2eedd34d62223431924e8dd9c1c0b9a763b5d2ab4223452e9ad61c1dceb61faa56aac0c5e8529ab333c4ab4aa1fe2c50b1769589ae25b7df4f86092f7c5591c8b616239ddc7ee330ccf29988332fa5d246436aa89c385d41f95abf0dee00c4f170dff533795c9765b758b7f8a592987c4c07711f6d8ce2ba04ba3c1e00f8b846cf62439f7a978e4f7407eec1d8ca24bdb59afafcc93c2fc70ca794db4ab0de2744521bd7e7f82cf3a0ca740f8d2bc1bf589230ff5abae914e9c0f15763e19e2832ed7b6d4d88edcc8e7ca1952069d5d65e50d86ea543f05e0c390791de9ce478f15556190d568cc56f7c2a148364a25bec26bc3f51b7357a5647ef5aa7f608c95e1db483d941663005b68e0d1218e5edb3b3fad7cd01c403b2382eb9db0725eb36bf21c8c8cfde2f86bbc11698aba4b51b76b31023674727024d5324fe72afa4d34837b8c85fa048fbfc47a61f0788434d2bf99ae08fc95879b23606b2fe6060d2b898dac5cb657a2c0536cb0d81c8949a8062cf1a4798582909c9222e9dbd6278438db0a3b974594bfdd4a7c0c2474b2b2cf0e417408d1f37d42a61a8853acafa522e202aca3d18218e2043209efc45dc2c41550533bc03af3588e26ba07f27558e1ce4dffbc062c7337331777e9d217bbc5379f7bb5759b7ded0bf09884134c6b5e90fb7c6ed467fe8965640e1318aac60f4d2dda392e25f7fa92ab560ea6d626d8e3f12788080742cb2e13751824555aa5bd6747ee6d1b56b9023727b814c797c399591810c298826aa41fcc23eaab70e849558ed7eb3cb1658006d6db426f347782387d4551e69c26a578d12a8a9c43e9894d5784d095a2588798f2e593fdd7cc9b902e6372467bf7bb9811be3965eb31308a91f215dc5ea29b581228053a9968dc7c40674080acaa4cb5ef4489e4ceade12bbf0219dde77aad129e8ab26247fb00da6071c73b65bf70df684d8c56683e35c35313cf1402e16e4d6a433bcaf5bda4928d05962ca9d4d8a4c866415af8f0a13cf38d0ead91fdba40c621cb12163781852f7f38f039438bf0f5b14b96d6ec160d4295729c5fc5305adbf3968f799606abcabc81c5202c8be87523c2a87f305910cc7cb4c3b18109c84cd99e7f638730c577d28228c2b9a337bc5674832fcbf4eb222b6e50a44b0f926dde120454693c9774898414a0271524c3f6befc3506193e31af89d43b37885d06ada6e4cb537807127269cebd1225973863a9ae0c4b49865570d9fbebcc0dbe73a72c0b406d427a24a21ecaf6a7c5c841b30dfb840b37c37b3befb44ff01e308a283e2aa945d0b9acaf12f4c3b5b7efd14f2e70abb0afb55c1bf15b1f2c9c97ae7dfbab67dff9ee95fd2e98d8c79889b9900e1190054516d856acc9d637bd0c8097b6e14987ea4911983d8612443ee8870c39755e6a57ffb2f81781e03978cd8017bbe4f01ea2397785c1902983b07d9ba3a9a9ea19b6c258445bd73148298d3a0542596e9d782cec6e166b1a4a9c1282e7c9b72b3128390868612802cd907ae636f514597afe8c295d7b991c453840ef29a8ae0f9b04c885a6b36405c33e98e4b0f4d87afc8b7c369c630f421d8d9c45867384d25196468e2fff680b5187b178ab99ca4695f5f9b8393d2a4c42ab8d9cc9fb1205509167c69e2afba5f3beea7fb4c049cc38ebd587a4579f023db4588b53936189cde56282969dc296f752475b092a21d5c762acf4c8c19622d4d07b35f2495e1e303fd82bc31a04d950b36b7379102f1a47917db74af63da1726045646caa8da2ad67489aa55a87937d6aad48aff89223c2f90cc93dcf0475a0bbdbbd479479f4579c0119a71a138bb6170f7c8d3515b7549d69bb2ba8217ffd29e527c838e50b56dc12ee21b19dd5bff1c7b1ae2ef72a6b592b12c5f074f81087bdc2554124fa11fbe9ae1e4e79464d0ac4acd9c13e0e7c96e7a0ee17768d9a4455a8ad57c18c19d981ed40a2cc417ee011ea79ab86ae95b6af7b1b74eaf867be409f54d0573bd4509d7adb98e709a7702631659e05afc45a8b89a764299962e3c57788f18e97118d1a60eeb47d9f981150f7a336e6c1e33bbf699bfe06d7bf8ddfe79ead187a908fc42d09ecb9c03c0ceb57029f322bb31ec08e8e3537ba00bb1640c9d1a86f4c36c0c8839e8f03106a073b052a35a3acee7c388c678092dc80e222c7deebd068a0e239784ad61707d40550e85d1f5b5e2127ae5e5fc803ee230e1d221e84254970fc206f03e0ce05ce021d23feaa2bebcfa6b019ffb145f70a109b0ea83802bde8db3777928aa7d91c69ca16432c60d0f13ae46d587012596b2c4950dc8ce8cd5e1b805928882f7d945614730b0caa56b0c7f456e176432202f45d7d72d7df99daa6adc792238cef9614c40ce0bd0bb302df6e593342089d98addc7537306260d266a8afc4f13764f28b55024b486d54ecb258b202fde5deaf723bbede94551c6626c4d0973885f7160cdf02e6db8f0c8f2a923a295668ea1593918abd59db145dc560477c054c30dd8b2d528cefc980e47d8bf74f0b1a0150bbd024454a6a286d3d808dc0263066ed6a249a68c797586cce83b0d085b09cf9ad1963bf1f4e2c1ef0c3149f4281dd9f03b3b562c9529776ff146effa11c08b329ffcc138f02423a8efc17b35aefd4f831eef6f573596eb0732295b1e5458a9697511df90339668b33e94b6f50f1a238d5216e63df5a452b549540f7396f9c63f4addb7308751ef7c9a8b9cbcfb473550fb64f8aa4afff044922c34734385f9e7317198478304ae85b54e00793f7b2934bb2e46346f60656ea497162e1f8c6512fa6d819c79df120d2b8c63fdfb89b6b8d892c85415d0aa848a1367a03032fee3a96ac31fc0edc2993b686a6927d93e07541a8810b646c1aac17834c25225af024aec74b1a69d78e7411dafbcd84a64646dd675b804583a13bcbdc02665c72a2bc51797d251fc0467a75c6c67529d0e5bc924f60bc5fd58f46f8a45feec68e90aded479b4a7fbeac7f876f86760cea8c2380c0f55974257eb55bb8ceb8cfe2cb4abde33002c752aea47bd91d2dd06ae4a14a06eebd53d043cf761c92996af68974ec05124812706f53339d2fda78912588b5d6b754c9aebb14a205c26330749784617da01f8199f1cdb265899e316034e6d393b310cb8ef9de897ceebc09c6555e90dc985fc091684815ef41ca6e89706b90df6399014a8e0007d3fecc34d5445150019d604440a908912b714cc9ae88495bdf2b2d026d28adb44ecb51f641a8a0d842761c31f9c4d067b692e2e97ee1365a0b6628faad389c080be8df0fc29b374a87fae7aca84a8da8acb911de5c6ac961de45b4e20315d5ac3aaa9445c8d2041f34df73f68d045974b0aa634a252fe58e94e8d814bc44b7892aa3be12b47a77d2207461d1a45887f638036a1bd73eb1b3e88c12b5466331bb4c3319d57d6e25b5d0d86b30fc77d017341f2272e9a3f59f522d750c101ce9037fab67e832eb91eb42d3b2a02711bc5ab7c234e5d815a59617d5f28f4c5b717a776152a2a8513ad30d24e23442517ee325b42ed893ea05786c6c380a9f400e9c31461319fe07a5afe09d9cd1a588b1169807ee4f5c672323cde247360cfa0ce3a187f29e74b9d5e2ac9aa7b183b3705a303655ad1c69382e04ea93bae4ccd61820d9f529d507e2ad14f05826b3ab85444afb13bee4fb449ca221bea30dc7004929267a41b1fac9be8758c9fd3e19f6ba5403283d9fbf5eaf886a6522604418c51e388f92612395e57a4d344fccd8290ffe14ebaf98900127a779e78bac0fa291992d7699358de3c233376b5df28a90a513216b55929cfd4aabac100ddb215fce35180bd70447d137b510f6c1861e2f89252fe1c111bf9f7eb5a0f3412b8083e881aa50252ba2334c5e2e97bcb89c0d5c461ee1e13b62e38460ad02a4cfd90904ca4c98e4624fc8115d524075329256c84766974e555e8ee61e9a39568c76a0d16f3b4bfbd13c03021dffe70f411967a12866cb3c88c28033521d4cdd19f02c93b81be1307dd52406c117dba9740ed0437a2c6113ce13236e0acce72825b1266dcade3a4692f91404f4f8f446e4cb1d7dc4237295567060bbeb290da6c1ed1ffd1686d923b6c0292541ee0267160a5178ad41113eb8a664c5940a508b543290d7401cf7adf2457e0d88a1496d71ce919bd0e92cdd29c2dd9a5f4c7f8c6297e26bd6323d7b69e4e113495c044794e26c8ef12618e758997cdc5674de2622e2fca588670efec4ed356064458126ee6937286f8b725f44ebe642a142013a70714ccee894e5a56aab29e9847d8e6aa5901cf618210ea7672601456718a279764ffb4ee8a44dd87694ed1c5ed4c5d2b640b28e2d590dcf0940cf42fb1c581e8ae0000e384a1d049d505bd0d2a929e2a404ab211ed9f4340193f57bd8534679d66a372f34f8cdfbae5e5fc6c477ee66741a480e614c437c53c75bd746a4fd708734749a79bcfac944d2474e7ba06e3806f1258cc758d0c9e314a5e18deadf43890bfdff5d3b0f05c4d0470ecc2c70aec23fd438d20c44db1c5d7341118150538fd94b89e1f98ef62cc6d743093bc8683d2e61c0052df0154a7c499957bb3f0a54e2f85918c5d5612e583c2191ff971518d713c246341b2a1bf0468424e4da6e87910194780ae9fc4b36719b0c74da5607a22339e7338979ad5c1f090ca3a42aa6cb00622421786f0e7673505b3de22cb609ae507170dc07a0a7ff38cbe7d27555211b567263db2d507b33c27c81bdec34d6dd0431d4dd5616e2372c84a7cfc1b76563ae0363f001d73a44ad9c811e36de526aa2ee0e9d8104ce3b2ee146b267a85cce66f500c8b73b651531108a9048e93483e59f173eed3bae0c21a61cf1fafe4e63f616c6850424a7c806a7ec060cc6dec55d904bb32f6c0764c4e028aa1b94e5850dad5a403914d64282d2e97547cd8a50435d5722995851076eefbff0823db78a1c01761976978b5fed80da1a18330ee6e9c0ef278f047c797220535b735627cc605a221ebf729c92fbb456a8d4842a4945b2699644a52cacf04f204960455e06677fa84d6dddd34b868666e2e9a9b3ff23d9918638cc5c8d8fa4da2c5498b93395b749a99bb45a799db0b22c020423a74a1f241e9cf14f5c6dc1032375ba276b5bfcd0570851fd972c3e7c1997bc70461b578a24d249d1dc26677ea20703a25a6c4e686900630d2f40e58d2540dd10049478b81076d4a9352d906dca4b429cd0047a23b8a8107dca6b42f1a188d26489352a734293b441124b8e1749c121c30508103062a5858581a03a27a3eba48df511f1e5c95dca4d612d1489580a8d13d9f9f281cf8efdde4f11e7ea8d1eccaf3ba01fdcad4642b8869685572d5ab525502a27aa67c76cf18dbdd4539e482d0dd539ca29b789a5aca18e080410c1c30880103041820b40c1c7077b30c1cd086eedc539a48712578f204c60a182b4251f05a1d8ac221e4254b2c01530574ae829b59100a7da2f076b3213554bd897a861834b4c096739553b26696259b247df25f37925aa2959124c5d6e8bd86b53fb6c59a87c488f4d7c9b986d3f49a5d2a144b8aaf38b5eaca8abb7c06bd6c34ebe2b34611a6e743579ee559aa214f5ad1b15c22f20216e8d71b1b27e81f10883e3fab36f3f76fccd7d198563cb8faa94a720172bef953b212f526fa34b705295d32334b3aab84a8c49104771a0a855c0dad99fd5925e45223140ac9f690531a48393994f219fc49ba97cef94f73ba94fd52c2ef8fab72e68207df7bf61834a2410841d08c7089e2892724db2021914b68999fae1bf85c9582846620e3161032f39a81eface250a8320d25b0a209fdc417bc453373575bf4b4570c3144472a737677f7c84933733b69e67e49442339eedabdbff7094287aedfc1aed1955e7a009115bb2a8994ee54fa9b1863efbd9bfa430ac7df55749aaa9274a721b60f87a0fdec4ba1c6e24f93e3deee7f5dc9c06cecbff90216289361ddf4f0efe3ce1ef1a76f73c754bdc9a33fcaadcec5a5462854f761448d46f66319eabe53270277bf7c2224d6ef31fa34c1c9fbdfd4401e5cd565fffbe7da67d0d2444b132010c8dfa3709c7ec96686daa3da54ed19abc6e55dd60dfc9e74e4a8afe93c171deb9e7e2aeaeb7461152405943d7bed928504b8e2d06882e4a88f4e392a838e4cb102f7664475546945a1ee879038d1dd9dc3ddcd3372b8f906cd8bae8e70777375e40bc6583bd70ebb1d0ad8d0415631e6107a607a2224f680c4770f5fb57c9272825489577dd3552e836d9927c83ca11d426e194af874b793ee68a4193ab3c336d20e21f7874a5c30a54f14c6dc17c3770a077e579239245f0255f7aaf482132f04d57d095457f4de7325a7c4092db1043141bb9f9234b440678841f9bb2ba7843924b534e9c46aa23105655f9a747c09734b1c13a7647a3ac580d6094aa309e2944c3a8dc69d92faa418a2085f97eaa81d582d4d3a3bf0274a2799a6093406d33533e30551ea3e3fc13a517ac78c1744998251d16882309d284cc781d18507984e775159b69d1d06022da8496ea2e9e1c73517f035fe677fad45974b0ddd517c2f027cfa3a1a95150ed5c526db555ac9262252275771a389efb1c981e3592de1a8acba341a1e5ced59f1e06aac26e85ca43e8a3a23cc391bc3e75c6514fc7e70ad8bef9867bb02e588b3030f94df2d1bfe43759089a00fd541f7e7c1ab5b33dc18a86e87fc1e5a5db6d8c340d43677c021aee2666666af886f609a9a0bee6ee6829338773337379366e666c2cddc3b46b8cfb32adda82da907df514c2b3fd8ccedd26882dca0416eac8c265834e186456d6ab9bec19327527a09eeeeb538b48443c8535a84681162c992969c969c292099021226686441238b1ef480084490d2a97429a90bc15011a28da605ee34140ac150116a76e78470e2845990c08f0509cd296082461734baf8482a9299b9a9d0ccdc4d85666e773ac634b1280ba22c30b1831db4c6a2bb7b15fd234727052db498260899a0c18491235c847ba78520844987b97b1954a7e77fa6928ad4621d2ad3ca8c2959e2983825fc261d274554455405d4e48b0f5f5238f0e3ce548ea90c8089002f23b46ee6dbd8bc00050e3bda04b4d1becbc76343dfdc216920a1ecbdd21d349050d7aabb4f6b5bab0b077e17174a77a93a51a03a557d4e2c013e1c2b0202ca9e295e22f755f1be1aef3225870a349a203638d8ac2cf18108da92daac881570074ea21051082a544ec012064b1823262326386046800366043132330381bb9b190821174abdb9593a891205e607303f6082c611681c010c22c020a24d71ae490fbd1a1757a5ba17c57e31ea84838915c17664ec1d320a5a9275ffbd0763db812aa0cc769611943d438a516155d80e8d165026912039a20856c412a33ebac470258c203152992ac9da86f0e40933f3288966e669ea241cc22a9a3433f7a809b7165a2c73ec9abb99d99909483001896657839b6066ce413373e780bbb96550f1ee1629d137444ab48b12441056b0c2156184e102ee6e760137775791048b246dfa18ff51d37b289ce82befeb13d577a3bed7d5fd053ea96705e4636b589e56a51bb544ab88a5e42b4a7d3abc577f6ccff46c2ee0ebe438bc677e3e3ea6aeb32af1c7a93d29faf1e37fef3d89d348f47bfc1ebfc70f89c7bc5cb9b4cbbf19dc9081c50d19585ce10a534c314d8d99b949337337e16eeec10636106377770c9a99bb63c0edba9198c2149a68c20b2fdcc616e56bcf54d149e9eb17d94d1fcf7b2ffe7bdf2f38ee13a4dce57b62c60c8acea0a8ac9a8b1ff267aae5e34a47b13cbb3c532b13933d79c4aa34d5f8d28552a51e2af5ec00a24a53057dcb4f0a07fef42b54a987ba12faf56756c37cff6635b0bcbfaf1b19ef0fd78d0befa11684d6b2c1e25295a696aad4c30cb5bca34a5d4195e575b4e802c56a742117a8555ba81206eacaafaefd78c4ff7c7c92a9121075e51d55721524a37a11c2c6085525579be55525facc0fa2dcc755670988caefa1d612b99eedf8f514a33f26272caa6b69cf0991ad748032e79899d90a2bac708e19cbc125a0944eec7966b992270ff99f383d0cab38a9a772a60f7a5035e44974be533c7b787a50a0c6e7092456b4f2267230ce8f27c2e899a607c21fe3af89f3a8c9d76c6d833927f3eb5876ce41e67fd2c90845c277ac4e307ab5d8b5932c436eb1b0b0f0249f1ff4932a7d9d0fa9120ed57d5eae78608470ae54256689d57b1fa258a8b5465f5fd5f019ace60d0190cc2c2b334be704cb58a299b9652c31ad0e954d39e79c73ef39fef79e5d3be79ceba681bbbbf7aa7eaf5d3be7de73eeadf7fe3ae498b06ab850f9ff5b03a6358cac4a5fa306cc01629b0838802781540e1d36219b29498d46e372e4d06133850d09f81aeb9ad450823b1359e90065778e920bd98564756e776a6d73cc9ae38ab5661a3a1964b821ca718046e3d83561e9a4bc2d38c0ddcd910394bb190a4c1060822027e90ea96ce88e21645ff122e41c33ddc134e9ccd0a10e6110dddd4c85617b37b3c34925244563e6ee6eae0277377315c7de79030d73e7da70d2e16c9d3b772cc548cc486bf20b425b8b14a76cb35a6bb4dc82ea428015716e61ddcf61cf93b9f9c200cfcfffe199d2df4bca889c9491f96b47f0972a11a9bb486bcdd0cf7a9124b548d02dc5949b3d68e0e9f1aa87e6ce399f382ca99c65c7bb1569a216e9bd39132cd2875a2497ad014510b54891366efc8356bfa3e6eb2b793e0054ad1d314a025574d7432d927450fa7c61c0ca83fec74ab57604fa1ff46f464085ac2a0b8c4a844484d418a58cd0a73b6a0fa28c80fe260554c8aa52499373f3a59473ca45a2d422b585b3070d746aa02581aa69697c50fc6fffac86552995e30b77779a8cfdfc508ce4a11689b11bde45dc492d92af87d9f21d39c953b96bcf47218c19f104c1c620e5f4bb942ebefb9e3b5c25e1eb68ae07ffe4a11609fe547913710f962a848de1952dc953ad87ca81ce6c78de039dd5b0aa87ca59df5de83caf126280caf64d8a917677bb997937b6f78138c56aad919718bb841d5fa3f6236524b687b52d0f223c16c9bd53549c6484d00777f6260eefbc81c523639c7349b27231fe104e92ef993e64b5d60cf2259571ddeeb2f3748f21a01be4cae491d3e247526b08f0e648c0f0023a43f742d818d508ece71423f522adfbb1c6a8d61a3909fee02b2195c35e049904b9cd1b58dcf43c7d4cd55a334c3fb5b9a325e4d6da3a0f43f8e692a66a33f026ced6c6d636f6e434f890c45c187119697d64f3c71aa3626be403ac8dca61cf2663663f8ee408b1a940449508c93fae89b36fc47f881c213695879dc13d8fe5456a544903b5b1d4cee9a12d63ac39cfab7ac861ef2633e37075ea482319f11fc249f07bfa80155b33f0f3da9cae9650c5b66dad316bbcad35c71a3bc76d732233bff6ebeaf2773f1761f7b6dff6bbcff137deadbcd92e813163ecdd363373b347afcbe6e00efc3cf80ec65bf706f793c74ec998ab5d2c86638cc38d39b75ff1f2eebaddfd12c5b3073bba9b64f7ed3a1bfb3603acad6bdfdaaf6bebdc72b5360a7e8f99779919e3dd7ecffc5e7733ef522270d839b66cb467cd1a6b5e6a55ee76d5dac68445ccfbae2e5bcb06f37e5bf7d17563d778531089d4b822e09e6c11bfd74bf2aa21abd69a9964eb31a4bae71bf6f9dfe441a4ba7efefeadf9111c911a772b297b6895554b7ad52e3b37311bed7907564b536dd3ba71df7e6235ac1a9f64d4aacbb6b99f42587dffaa218cb476b4f11d65cb3809ea7e014a69c04030d3ac7a8277af28f0efa427ecf7c739e9b55edfcf660f1f4aee2a1caf40b8a2d522b16727f0c54e2dc0ecd65a6b3525da75bb6f20bdcccca8103f8cda1180170050e385c60c17175a6484585640f4e399324ed05f3bdec6e6be8ed6aab546ab69801169ad452196aae61adccdeae2cab821d17eb99c826eb13b744901a53d5d0d9ac016b8d867ad8bb82ba57e7d24a20e75df696535feee7dd5bc6f462bfb4f05c2fe796dcf3701a825f65d79e380eb2f39e75c53ceb59de8bb5a63ade9f0dc5613adb516138bfdbefba13226e0804109386050428b132d4eb416dcddacc512535b81bb9badc0cd3ca1e0f3f934e34c2fbf6fdcd0a1329dff96141ff203faada1fffe4389b6e6f3ef572810b57614e10b4e20e857e20a05a27af411d50efe32555a8d7314dd110df2a37fe5dbfce19ea592d9d991ff0a25536547fe3394404baf23002168fbd7d9113325861fd0189d1828eb46be7f0c141f132546874aa92e3159541f5981b6565923d1293b72991d8aa492c0c503d4557f992a930e95d9111569349f05bdbf08c9d6341a54af799d35fa7f62d5c42c59314b6c50fd63cbb4c105c9a6029a749941e3a5060024a3e2b22900d3061663ace4c60883e41861a48b3146768c31c81723e8e399324e9082a0e7f391654e3994fefcfd0fa80ab2663c8798273139314b6298341a1ae3449d980c4b245345868aa8d67081d92fb96cf5323b2fc3ce9a71992a3262c850017d20046b66869c9ca021a726e80e1cb7f1caec808aec34414b325016000d5464a7965e4749f597a1420c0c44461a0d7f95ad596934f1fd4547d6cd44029930560d313a6b67ddb0547f5111ad2666ca8ebc243aa2fac715fa918669030ec908201b8ddc1ac936d21540f68d94d55a1a18c3c1180118a361ac86311bc60ac0d80d6371da39e5d0cfcfa795af995d99704c1b0820d9d2c8b65b2377d746f26e01a4dbbd91bd5b837cbb5305eb0ab5483153b646064a1bf9bb0c94ea31537c7a427368229fd8dc97d1c1aae175980c944633df5fe6063251d60d2bc94851fde387c2d14437723491ff7c66f362f32f4c9aa8bd2c799d8741f503ecac74bc307959c2a897278c552f4ad68cbf92ea5cb5b0aa0549f5f7488a89806249d68cb74ef52f818a547f3ac59dd2a553aa7fa4323beb86abbf0c9546b3ef2f53a5d1f0fbcb88b16ed8fb8b8a6c4d7bffc8326d08492643b616b92e4876916e866c1a51ca6922c0070e68294689527aa8484513d12c580d2c67d9f077e644f52fd12daa7f9cd2434960f28095d17041231553ac2ca2156bc6639435e3afa319b166bc14a3547f49e9d044fe1142e8d92a072ac89af167aa024de453b5039235e38f8099da8295ff616b562a1dd67765763c5050992a4de4cf2a192a4de448aaff4808b47d4966a7fa075937d3bb7f051a0db4616563b94ff654c0aa314e70004a0610252eb753f9e34b106badd62aca18abe40b077c545613c01cab0be60b5a59c5593ad6cdacfc395460ddb8e7d7a1ae2a37aea86ca3c5b44101d24dfe1c7a58e56b867dabe2140785ca0e0a8de64508abab364159e5c0705f8caea05bf36bc4ef4edf25061fd02f515a53045a72536cb040571639f8c24da9dc5e7bbf72a83af0f0c390e767461acd4baba4537487ae426ea7096badb56badb56badb5551c31a58a23a4acddb5d8aa7cc06aede80b20eb9735f6c2ffc2150f56d72f92ab8ed8b41b2be227b97f475c48bd8e50d2ababda234e72c0da51db42154740a9220918551ca1b36b77edda2fadb5d6dafdd25a6baddd2fadb5d6daadde048f4875fcd8c7eef7cc18fbc7a8472d63ced87b2663e798bf7f728cadc731f7ed18dbcaee86fef79fb9e3b954ee6b52a2dfae2f74bece39e798194ac7d16d1415ec376eecebccef3964e6e756569a72ffde7bef6daf38ef2eef323b7333fb0fb806cfbbb99da7f23886eda196bf0b802afb002bef02e12a77cf07e7eec29ee60eb6ed2a7f41bcfce5429ba39ce60b03e87bfe07f57ce08732f2593b9a4a4dab171f8c4429eec1ef52c74e31ca7d391fb0d688c64fb5d6c8a5fc5039fb9ec917f84c1cea039d38dea6d90308d0c4e1959e37d050df4710cbdcaad4cf2bf2b31f9a3bb6e21959e467bbc71017fa99f9dd7f260f222e93473fbf7f388c242115543229673f877091644529cb36256f9c8e99240397f6a8540ddac3d62934230000000000a3160000180c0c044302c1681e2962023f148010687a4a5a4e2a93874391481c876124464114c3500c31c610058c314a19a2b20637b2015e08fa47b674a14341b41ad1cb128e78e7cf1932e3a3dfd20e38dac464ca1a42f9ec0f8c8750d037eb59cf41403918284bdcb7abd0e02fda043c7fec6d948ff4141296f36687f05213ea03b5e569076e1fd63c78d9a88431580f0ecf177c3ec15765ed5ed5d0372632d622cb2d4b245f5262db9000d889a72ed43c20f4c858cc0fc5f256979838c7bfce310e256d87fc34fdb9268dcc8d9b6f73df4d57ae74b0893d58b66cde529bf9ed5a35c039a215dc777a817e73d05ca3525cb36ccc3b63ed79aae2d4a577f35c05488258b8598067a80c72047b2041d0d1fb26cb946d5a86a082c11dc13a310859fd9b6f4aaf08bcd9617dad222e10e7ab76604037b8d0258ba4d66f70dd9e60a67198f3495fddea1fc00b082422f7062923f789bf562dc0265dba9be65b766afb0fc4f0061ccfa1d904f50bbd4418ad3e5020e09eb9552510d948f85b504d905a65cae9379c8b89b5d2079646a33ee818cc127dae3dbbca0f8838977e7b513670d9cb38d9987e2792256a76394992391474a93d446a370026be8c2b9367b95237805dc54f07c8246c500bdc29ab07bf1568a3fbce6520bea51972c3836cb4089950b3582410439e58a0a185f3d3a53b34286b9abd437bf523028783e1b0dd9ebeda2b4e861aa19b9ab0f5fbf068e5a2e03c890a49587a67e086177d80016674e9e80109ffa502f4cd9cba94ceb1291896eafbe73c3bcbdda63870405bfa2f0aa1cf44f8e13b238a3554a871513f4f6e05eae8e26513375d233f444edc591abb15f9db64de3f2a2bfec227bc1be97dbfcae013fa9b0530e7e3aa4f53fce1d1d366bf3498530988776f201cfef6c54c031e213f5626fce4ce2f234ab9b67db317e305086eee122b16e7f642e38f1b49cea6652463380ac3dd7671687263feffd17e68bda7ceb4694f0d7d9c82664cc8c375dc123eaff0a4e8f3caa691c7078e8c53f6aa400fe9bd57a5adc55a2d3a9865cfefc9bdbb001d807334615dbf4d4034dd5f1d2dbc8c2a4e053e6a27d4d798e74908ba0eaee15b6be8a6289c1bd5bf61bb063c1049cba00fa2fccfb1506473c0a8b4a970fc674a2a5fbc4ed197c222f52358b2828914351a88cc434af63d7dc66c8a8dc45da4fb69e36eb0f6b6bcf1d38ec50ee77564c62a8168ed5e32b3d92c9db3e5615eda20857a21c1a1844840f0211474d1d6a1358667fa9aa7b8e6fe4e5e0738991534f7db9aa6f5b782ce7c0406284091ba3766d56d2d5463f39fbb508d297125663879c5707d81a9c4e62b7a7ceffa146c8c4168c0fc5610e2b4d303459cc0f37b82b7508d521bee7f6b506f5194dc4cb06c38761522c110b687783360219c4dcf6bd91f31098a112d977d3f2a0f50bb4daa6250fdcd16a0c4aef6c1bf030bcecd96856e15f68cc5ce3788c303ee09db16e867921e583d68a29b9288c6b0ff4980eea6c23c873b72e04a68944f29c6b6adfe3ef968e24c53155511811d230f989e10b4c1500874ae7d5dd74336c686d5536e5697687a10ece80c877756ee9eb1c4741bfb6e109b82fd83a552f8593e37f2e96385162a480a8cda3ce3a7b7293b0955d58a49a6c3f07ed8898cf2f17bc410c7e6ce613308ea9253c4393f2359b7e0c3e9636234ec88098fb8714b01c72f915b52b117b773b024a6fc99d74be3560146e72ab137f5306ea5af0643e902169eb9e3b4fc0d37867f581a9af97a3f6998f5be92a777ea27a510a9047e83982cdc1d6385e2bc9a9f2e98574a6f6ac1a78373b9ab99a3567942e60186fb2430e1c18b3383fcab3288e5a21a6395b1a5a372fb1df4f641338a0c1e64b69405222bf2e5746d29e16d8be2f7743109c824fb76b6d5522decd9705f09ad76f46cf65f1e335ddb1fc2c67668513dde379774c390fb01b1778be3f30129ff6d7d1d12de03dac57091dc85afdfb24fa4dd02e8fa1e10cf84c55584903680717419caed0817c856d34d7eaa5c7155feb726b570d798573a17db4422fe84539e120b8049c6d4ac130e399fc71f298b0411a600bd02288d684a4f3847e6425a1d7872d7b74e4e98673745d69dbd67d369b2bd6e7de15d27e120b719b7670563220dadb9239ea568381db9546be2b65f4e08a770b731ae3ad28f2f8fb98dbaf6db33c2ac9bc66dbdb89f57d2d8297d1b9a4c437833323891525e482377caf7f77670aa550720fd4065c0f5ef9af011649627d91354cd8969995f84ad74784987ceb1d73ca28e67fa98bdcceb136d28a1c36becbb59006ff3626a5f032a92007318a74cd7131d8617335d95ca547da84456ed092e2777da0bc376c1a4d955acbc3584e968a8c8b09db00a267d5a798c0d7c217301179a5527df54b52b608269b09ac6448177314beddf14656676198d36b67e65dd795be4aa600fb39535003c872c3b361a3bf1a17328d5fa8634e3cab6f1b9829ea2c11565be0b6936fec42bbbe9d8b1e92e6475ea20b471a9fa2baba702d7ad21b81e3cf548dbeaff7fd352dc71c384b8aaf90fa22de2a25e565ede37ff658694b12f74c6e0b35119f9a8c44e9d910c039cde8d42dae897af1ebec7541b49258aa2237133ec96277812dc53986a1b77f61d7840338a03116c366c678782fbc4994f17547aed7a8ed160803fa89b1db40741a8b6ee475f6ac5120c3387c2d7b8bf2df39211abd08d68b28e148e217316306c500f48c90abc94fe9b13be258770effeae661e0ba6c004045939782f83356e57e8a3b21f197aca46679f38fc98f7830227e696b14c61e0d32425723951d4998bccde90459cd90f7fed709028f1f18cb0a9aabdce2d22938700eed43431fd6c273ccc82d64cd965d65ae2506af7ba274e33cc529d652679b296ad8519d9ca08d07b6d671f3db3ad5a9bdc62a3d87cb5bf23f35e097c656b9d97d65ee41d61d8607e66d9094c62c8312ca8995e33e8074109295dc78e069dd80295c6bf522fcff141304e7a7cef00e909a57c38eec64d286a77740f7ed92267cbe9420c5c90e695440d692621ad1ca9e1d537e5df3d130bdce4744bb4191d8d6b7283f46f07c3c9e89facb9870ba3a875198f1d8a9a620b34373d79c417996bd1686e78760801886c69720fda5fcc39d3b4e7ef30e93ad3195be51136556ec2844a6d0827b627479bb34ae99e34cf787ccc439b1cfdf671644cdb76c9a12b2498386b034984c2177d4c99ba7b7a61e982bc35f928494124a7ee6c127a3b56749d891ab867aa309deb60054e76106bd71ba2f9cb03afc90d3b9ddbafdb79f89d48527692c278f60d71f6fdc003c0ae54c15db0ba8008dba2e3d7c3c7ab2cd9243b803c9ab8a4fbf00193ecddc2f05f6b339b1fd9c8617e0e8e1d80caae0aaa19c8e944773398e2f3255184b27c9cf2dd75836a0a9c58f94de7a1492cc7d005a58dae4bd38eeae55ecd9d627513a9751c1eb0778df18d2926a71b5bab26e3440445a81acd06ada803a2c3bd63a4e25580d4f46b1279eff5e4ce8a5e6a021c23254e1cd3db889ad66fffa25c7e2a539308e6c4659a2093629316caef5c48fd9307697c02749fedac93ad722354060e7c6af3989734b8d81c7af10ccca8cc28f608cd918a846fafe30a91b5a97295a82b4f9d4881d57c91795bfd79e36c223d7a66cd5b8882c08e8c122526756ebf6472f68f4ddb7f2d71f83b89e25244c6746318a7a80f5183bd12f397d0b62172c972106b44e3e2273a943128a12398520b66a9f38dd9f0ab2a70af04f16dbead6ec87663423e58ef316e4b5f2c1f5742b9c93ed466811cbfe62fc1e69ee24d6bb12d6ff35c12d6be600d80f11473ddf72ce0e9f053c497e8134333535668dca0a71dfa379c41d2138457e3b744357c586a6cd5e4c96848dbbe5148ab6f549fda2c0846d404e660e951c41fc53f7c336475066f280a62461c0b280620b98c898ad1b30006e4e2b51ae9350bdec0d31b4b6f926b3bf358665fbff8e8ca0b81edde3655204725cee2b56ca8e241848f9a17ad351c0ede27a6bbfbb995230aabbce055dbe805d12376fe0a704ec2274982b388d7f8d912c30c2b437de299abe851b26f2d598492c5a746f737eacf83224138dc54cfbc5437857c50681f30c88b356bd0fc1381568ee05b62e69019cf4614ee60f6fc92b52055e056151b6c6b8d20f7d9379bc86f54471e65d34f7c46fa140e75286078ab1b70bf5c54c4e012335914759a85fac4c587d7d4146e12f9c4726c4b31285d551739645efd5e8e5d23849f5ec2457e7260033ecad283bb0c95568e4745060e796940f0156d2692b0082ab93a2f136b01ece7dbd508d6008a254fb96c8c0a701dfe8afafa136deda38cd22174551cb8e1ec284b7278be5f0e28200d9b286c2f04f652378924dd651065a3d69bd6403521c29a0d2f6d3b86742289db7d8ad189289d898cf63e191745fe187504d76393c226a78d0a149e3eea826d1ad64b9fbc3218fb6c0077479f34987da3d1eac420bfed0efc02477f28dbddf926a188cc0187c7025fca9a84c64403610e12bde2f8b175f84a2ee5311b6bdf52a726a7245fbdbfa20b646f251ddf45f405f759c41de71c4c2dc7d74fc18711380d742c6bccc0e5c554559f503280e165ac9d0511aa863a1dca533dc10f41fbc3198233ff5c8b5741b1d11b1920b30b52690ee4b88950d7db281ca00670a136948451fe9950264af2bdcb79e43508ca0da067b960bbe43aa9bbf33099dbcdefa8459bfc17f63c9515a35e3e9b28d2285f32b79a270b41b260e080e5dfb361869fe6cb9742f6f537fe7b10d12ced80f61f2d9890949ca8243b638a5cff2a383bad915fd9d1a5b4551bbcdc3d74a229abbbeb0e4d5ff5c5fb330091732576ced5229c47eaa2d2f39ed2ae0b1799bc87a7f33d5b3a8f96311f3d3a378127e75e26f646ed042ff4e656f12391bac4eaf955474985b546a39060740d940cf0df983247b5e6302106cd686192f97ca85f4872baccad4e45a75532a18ba19b26825bd42c5beac0f3a1076ddf7576d7451720c6604e0e5b5493db05f0b3a122cf2a25d2872fad62decf157d1bd1644c530cce18643e4786cb1b6ac2afcd47ae0ec6dc76080d56d08281518c3801ad727a97e2fc7a44acd145a39f5be879517e992f37c29edfe05cd91c7e7ba425deebd86dfeaad7f3fe5dec5a3ca1029ceb267bfaab8068a96e72e9993db59897f49bfad5f177002d2176f2a36dd1087a39816ba11f47c25297b4951c13fb169c825b4fcbee744e44c3cf16077e83156126125dc79be140d1455db03a810261d3e24094a84db2355eae6b118b880025fad920d6d7f40ff1611269ba1de27bd8298574484936762afc531b4feb7b154b26fed6827b82c9c4d5c7226e28e98d63c81582b32a6ce55c83c2e8c0e376b56186ea9c4ff90a289dda528b3dc1ce0e6c31ddb7eada426c4d9347a6a100424a7df5bfe03ad2e09c674faf43a1b6d9259cf58c04b4c29741f956eb98c9adb90db5dbf961e61d6ed3c0e4a0ca76cc303ac2b949d82a6c652e6e5311a048b38f7504af86bd48cb2469a58d1797a38dc291506b5a8c8af65916fef0a13d47d118ed310f73a5753a4be84880a9965ee5138c873b1db211b85e70388972358c106f758e3b1bc6c0682af27b83d4398e1cdb1a3f99408a6751e39160c3e33d39d3a5a4e5c680b3ea71fb8c3183b096761a9235dc885f4a4478c4639d68ff95ccd93adfb44decb5021fb0ce499bf332891932451464527fa235999d59e68e5564eaf2d65ce5152fd26caa526277d248577ed7fe58934db6bd2fabd4663c6e3c58394f6efa5be843389d5ae10fbd1298dc0b8eb9de89f9986b8919c53a55cf9b829a3eaaab584215604a92391f1b2a588ad2ec182a18a24b8c1d38945f97b2970aadafca84da0255a4dc69aba77413702591418427bc7b51b738c9a546d0c7128801e462d15d574048e559f6983052661d01bd8f5e54ceb8904931559fe5d2772a95b390099045e7b08848054c65b699703ebd6ab6848802c1aa442bd58e0c8a8c110bb3e2522dab1c7f74a03ee606d50470d873ab5e11aeb5204d26d76fab03e801db06b288fb564cc7f6b8e8ffcc9d1854fc6b39de674de5044c7df686a49bcfa9a359c6fb7eb37c527bab57d6fae4ee6aadd72555bc77f82b1ef2f0a1070def24a89187a0c5584d6d9460975b3a605b8e74c66326caab6b14782e6f4596f3598ee6138071dbe8421a5efd33b387e25af98150f727dcc717aeb152ee260500e1d40f949852e17f07a73a3911350f0b539ce5f86544971f5811509e02860bb26ce7a4d66a61237fef73ee02ff8ee1a83b83791e093b25376199d6e73bc3422fe7f3a76398ece929733fba48b93107b6aea8b932119aa8ad4e2887a4b0a55539835f660a0b378927591e83d2eaebc6887dbcb5f795f6e4ca4cdb8799264ed9bc5fe0c822a0626aa0c0133d2c566b2939240a894e2c42d87e6b471f881d81b8e6e22bb4c323565405b8688afbf7e2abdc99ffede8251ce99e5eea60b7062287fed683a2fdb5c397672e980d8fbec9221a2ed28e504834aa6845492b3a305c2e12317daab7c4aede4b47510561b9b9a064c21466ccffd6ccff1e9a7c7085cd837a70354eea2a46bf77121532a563c6983e04ca03b75ad6a7a7a14bd8560f0cbdac1cc0c3bac8a7816e6db170fd9c5bc43c32bf097bb6a04d7b9c8514fad68e88f0dda0c8d1ad98bd13ab3505d04bb90c63143a6cc2e7879bfb7981f4c6eba77929bd6d7265267cdb2a0eed5b806c579f4a02142bb691402cac94d87939b7d514e87ff4f96d5bd3100ef3826ff0a594fe9839b6966258713dc942b46a58aec217b7c0c657f42be70da27241f4480ab7e22b4940b8a5185692e74923014813a365822b2715b99ba9af10e8a70812b58e2b250efe465bf61b2cfa15e54b3cd69ce7a4a6a3d588fc7b97bb5ea676767e9b66e2bfbb01306b54ba38de73816306e153e27546b66e9242367875ac85277d569649abc3960c60d5f25da9efa61db1e022621c8325f194b24c333fa8a51abaaa081dff330c92bd65ba91bc8c3e06c74f47f9585309a856e9b561183dcb8c6473227fb0b5daa5829d38f6922a1c43d7d821cc1914d79822aa167b7f56bb9c35a24df6e83c4a2fdc37f807c89b0d54d60359b0a4cde00488b5521fdc027b38038ae7ed9ecabedcb37613425f73cf0a1f96c3ea7867cf7d3006768290e23044360346b9ac3522dc2d028507c5224c61a00aaddb18e00758f1c316ff582cecb977e9d348869bc542693c8f53adea3ee5ed889a8406a49cc151a7c8990cb1d839ca62c7a3b9b54dd2ebb59300bb67915b588ecb9fd0148386d98804ff4185c49dc91617413e1fa6f1bfe1473120bff2e2c21f1cf13b980aa28dbdc07218e013d98cf7f6edff10fb191651536715aca915d1d4ea4b73143bc09ed0060dfd931237ff20ef91e8b5c0464fefe8c2c07ccf52286813bc0a913f2d5cf69542ccb91f02492e4769a95e672c8b7de9574fe25b8dc5d35796ecd3fa10799cb6361668bc2ce263a6ee22671a28760aae30ead01c6238eb90c212487c15b634955b02111197910f6f307ec57a6d877b58e7655acc15577811b81ea78ed30c8330cdfa97c42527afb594e8f1406e46b43a1d0ff86036036b71cce8d5088a8a3b11455d9163d6c207a4575c5b5c6271b93b2c51b75d2404c8d5a674eecb62ffafc14b9c69da9578088c8bdb868bee373fd32182dc6d67d212bef2356dce5a6c21a0062ec8bb355a9ed4fc65fd1c9f3c6aa82550820a4e2229805ea502fac42a36cd1ab7a0bd91717e06a7ff6817b44b0aa39cf1cac1ce52078dab8c1b6b1825a4487a01700376807a5b2324229c3767047ba440972ba6d6d7dec301fcaa88f4a372f110b0a29bbe163e5e66d3872513b5247857675ea16282c181d64778ef4151f4820342552eae05242d9cf241f5cb813e0e9cd54e7aa10fc8bd3ed6a782c6a44f03adcada1162ea29152f67c514fad5886cbc89cb7bfdff4845360d51dd2e59cc7e76fd51a9a418c642e783e2e10f4eb0a0b4773d7fc889185786800792b90fc7934f5974f23c4e6e55a2b9248aab92a9660fedd8296fe5962c978c2f723a4108db5881e0b344b5babdba4869d79325485cb7a6a6a6a9c1255f20bef75d806f598c5629258b06d378c195e74d9df9390ec70b5cb730398e1f951376ef92e759d998b0590481777842c33aa984172093494a7755a1bbfdd5a8ab56f0a429359e435f40d266005649621256cfaad28762a0d539ad28e4b59f1799995ca266187e0c1bc21ab3cd2890f9fe23a76c96e6e53e3a8b389ac10eb16fb9f6b993493afc591597fb84a12ffdec119eb00d6438f4858643c3127e4ca034613360cb87ae639800e9139eeb1b03f2fcae6c197c2592451d4d39080e48ce0ba7bf6cb9d84cfd414a6db64fc1e48d428c8a6b3aeabb6a92239ec2420b052f1d06a8fd399252a0ee8630b1e81054df5fcc6f82c25cb33ba02eef9b1a55d7d21a0e21dda347b9fb70a5acaa58a7d77be60815b916a7aba5a05a07215499396f1c217475d62428d2ed8e6c488da39c361ddef200debdeaffdacae43b699d0823255a2ab0ccc7564ea3e4879035a5dd5480816df6f6938a24635100da522024257e778415e6ff26695813bc3e8526a9186e24443c9b55d0eae29bccd980c0ecb0912dea57e5c10c534667134cbe731ba6c0b9bda9346853d78727cea592b001a72fbdb7ac6cd0147746b872618a02f5a8ff72493611a8f0c780dd9340395cd1f7ba4b3403c6c8ffc41ee086b20dad6808cec32b474a23e693e4266e64349be222b112369a0ef746b8261d39fceb30b852f951e1d711ffa8a927b2efcf2e5d2e3ba4baf825c5de41ee7cc8edfcd9f57b0b2fd009f2958e34ba55a6ad5cfcf699f7c7ee0fcb5d0c74acf4e4055d2c9cec78e3ca0a9b9edf74e50c2fa236eac3a2092020f477822e6f8b34b90c33abd984bf63b5ff8c74aef40feca8b29d28d435f34dc30a26a590eca32ddd628dcf03cca4b44bb752e988114c0933b2d26e7e61bbc6b2660814f9a006fd0e0a4e250d1958c87c88d979a4de211e0fa6bee265bf280f21841745514202898d2dcfe80158178108f2f09d7d940c5044ed20b80e72d93ca0d79af8f7da598abd9195168cc58ebc0d92083477e7113edd00d6c13839746fbd5c367b4490c9f45e9b41b72e48393968a4bf633f462520bb024994d80449c491432ceb618fbd04e9c0c367f94c69642499aff43275a879b29e9e36f974b63aa567a6124cbed90feb1b733d47c3a3ec75553ee625fba1dde8337f62cbedd15924189f0faef3945a66d33749686c804bb2a8d695c495fd86f78598c42441b462badf2ca61ceb3a7b64006b5b217241cc031a9a08449b1456086efb3cbb02bf82ad9271b93b3e4093accd65f4653272df094f93812c0e9f3eb2e6c6d5e76143681281f88a4e9e5fc8090b5ba29861d0a11f9ae560d4a912a0238035cf6a06dd4688399d3c8b426eb2c16d560cd0479711e8b8065d058d0b6f38193a5f663efbd6af70e185063cde4350c66d5c21ee3dc42eda4fdd0ab57d03e252674447cb31d59cccfe72b4832dd11fe885e6ee51a311348f8d708b7c106c84d5c13ce885616f967ca2d81e8e21c6bc7d32d4dd0b43cc18a87efd2a7b61679bfef91400a92ad0d548408e71e0244343af8574de170ca76c3a58057c47eb4543b68109a5110a18bdebb28d51cb19efa5f864f8e3f5acbd7786876039224d768c6668b370c22b6d4d707dfba9af0413d2cae0f31b033f972322c13ea9b25208d4d6cb5408bf98762f286b118e7da9ec6ade12497351d8267de0602db8d2d418f51d993462d6ab56a2b6f1afe46ef88a5701e018dea1f77829df4195bc2685ac1600bb45e61b19b19f5034a68a644b3cd5253e5471744f8c0f26e1ef9905a104b8d4a1d3e9ee96ef8d3942f136998e854dfe65d30819c00009a50a146a762d8d60d72c68573c2159d922e7b83601801631276aa4227eab939adb0b0d1fe16ac5f174ee7706ba0a7055dfddf1d201d7eac7804d403006dd0706fa4fed00a75bc3ad501444b60d2005a01aec72e07abff49939d987a33704f341d099489249fb7fd8dd680883c8eb5c55558105ae2fb06b7eb8759f5c090ae2a37abce4ce3e81432eae5386d80c8c3bc95abb0fd14bbed9ecef3277de1d4d4f778936206b86dcf1db45515060e6a9fb2c2a6e664022047eb1dd6f4ca073de9fb0dd204a1098d0949448487082b4ad5365e33dedcd9f49f16ebf233bfbf8a32a079d02b35698288c724cad595b66208d863395f0307677937fb457691fa75b3158301e2bff0075516828fd74fa1f1f63a0a87ad5bed990489f42b43a3a9ca3662a2d18fcde29deb05a848c9d47e374936836ece8c6760f1e6b5d52989db152be57b16e947a434925a3f05b710ceb6e2f5c87c07169d6158c7d6eac3ea9f8002468ecb4b9ed91eebea7cf3258885444066a89861804ea46320ccc5dd7a39e453030c004ffc963d0d2b9e854fe7e40232830d398774824b8cd786ba88f5ef2f488202e3692d1517aedf24db5837f47f93de93498d49f1b51fad406935d1d9ec503fc66f10d3ce0adcdc86061e258669b38d339b115bd1b2fae3c258b639749254537d7263a8290cb081c8133b87f98c3b9cd5b2aa0e2277fcb3f32067b5e7e03adabc1baae47ac4356ff8d59dc215a84c43a774d80cfcb6f508aeb526f194671cbcb64c51f544f38e4b70ad93037f4e96d4be9264904e16f80c50bfd9b4b46ec0b346ade64afe2d6264f5c10e09854114c8c31ab6c23552c643b85ff2ee58be818a63c517bca4075cdafb37c088d5d5635638500126d7c87d0dd8b23d80d01d38af779d8b95dd934d673b9a235bb722d5598939a324dd7e3c94050edd07708c59f1a1c42b930e9ee72862de217f9002987e92b3ab3983212cb1b42378ed0f58da9b905901b66fd4d3bd0bc4470b369114904fa180da625f71012e9db666c32f0c5b395270d848435775dabfc3628719a758b8b2a6801b63b7a144b02ec9551b4582d3392b539178b28eaf7c1d17573888d5db80709c707ebe2f25bd83e88adedc63fa61a9f054f89bb12ca03c62d835922836d94bc1a6e1f50b2259ef184a3ccceeab397a2684e308f17ed1594855e4882f91c602e06f48b3f679ab6f7974f7b349878c24d2bc19a38a73dc6026ba080aa59243bda3380c86216a5e69570b76d98bfd6b48b1696ce658837501aab2610434fa687e9cb826f44930d48825ffd26c7a41dc1cd86ab5e5a1fdbf6eb88ca93ef498addf93c1b3bedcb6d72e0928ebad34b11b1a3e6a87ba339730ec595c706b62da204fa23b1d5dfa9065d6bfc5da80ea5ded0c7fa896ca017df116b9bf437b264cde1ed4a64f524e2750279a067df28740924072a1000bf9cc9e6147a84392c8cf978e6d3121af5e020c336c77a59c0ac13dd269e997b04fbfa6c1f2df47e602e929ecab6a8492a1d82c62749158e6e5c12f0079dc71712fb9bbd0d09a2a7a416f5c8e067dac969e8abfa679d4f5235431e081f3abebad87d68fe7cbe2af984af4acc65df6f527d2da5235b05405b5f291ef0f49776381676057794edd4474087930f3d7b42c5fadd5120feb9a237fd3db8a1d522f09aa1ed8233150316395c8c5ee6d85e264f6a9741846c8f30fbe3206a1cd6cd55e8e25fdb5d38ace8537e1669327e173b9f82b02bb428b0d05575f13c0b2f14c100698c0302c5a2b2e25bd88174187f446da3e1589acc931fc2c6f5baaef8d87dbc28a9f14f02b3ccf7f5664d47fd9504c18d2dc424159858522eec1328004e3dce122c132a3659a6bc1a58798c78ff6c9c3af9c376d1663eccbd7dd694da6a37cb6906dc8a3846ca3edde2944693337a806376b06386889c66343a82ffc231e10c7ec34a4653a5ea1aa54cd0419613ab73dc11c46d52a67dd70f874acb83674d03bfb3220fa9cd5ba3b0d31012691abb9ff3036e903014ec026cf156e3a00b6dead6bcd5e3b140b55662130d0da0f7d56fb08a60c61f4974b7a4f8fde252396b940687d66e11b62e1d2483c21b5d886507c2a40b699d07abae6159fc02656fe615f62f97f2ad48a4ab6de1f2badf8c87392913f37e8db8f020e05c113a0903f3bc9bfbda8ae820d0663c7c37b28dc1671c893546583c6a044b1b5a5eb0acbe769017267eb90640d49282e474b181b1c652cee7f9b022265c8c375ab1b461f5f44a52e5f1448de6c420eb7d4355d1a63a9d0084318900886b65bc3b4ea08f9f8c0ef641ba47b5e9c6077979aec3bec3274d5d62f18246942f869016a8d78ed541de4bd27c16b423535ad3301d2cf8764a3310ab8ca1874104a6c85bb47aad452e957f88b54a9e5a9a6c8c76ca532eea4f6b30904a946ef18dd353195ae4b55bb9fe6c0130bf8d56c1a6aa22c0cf905322375e0d06f3e6e98e310c0434ce3fbc28a53d70037fa2b1c86f8644bf17ab1dbee15ee5314dee953b95ec6630d78e469fddfa4d96ca6e839d7f1e98033eba8e1cdd78e5e9da5593911714cc6d2577a8422627605ae74e2584e2235be4579b371abb9d80e5120673bc18556059b45ce55f9f15906a243a9095f16f837f05987150f596c8ff52d1665f144cce9233ace8a88584b4f368be6cee999b6a38437c59e82512c5fdaa6a747643392e55782a29851f87eab3555da7293abe5989a2e33a01a8d020792cba06c0c3e56f2df48aa5bec4a783aa3b6f284d3f96cce5528151ce2ddda3370fbb8463038137471685735e819c4acca528c26c991b565810a776d1047710e10a4b414d48ee7d381360e50080bf1c4ff8e4789639feab3f1caeebda5a447a66954f76bf0a4ab5f2aa881bcecf72926a04805cf060f618fc5e80c9965cf12f416aa398aae55d0a4a4f0bab95c7d51a1fec90082d68abfac6a8252c3e775c10325376bab80f10d6a3965ac70043e03f208031fff0b4d898fb0e5606f019bfde5fe37bc618d512de07040590f4e548785c9b9d6a0c5f7ce9dc329b8324fb1e06c52b4b476c01532660d0ba770b3067b5f71a4f61e049c9505c973b1dc519ff22d7b26c334c6adc2863c36a9c05e328f38fe562d5815f8d0b766376a850c3ac5ddd1206ee9ba3c597bee1481b9b231591ae06cde47fb896d9cb4fc540ed5052d1d193b4f2b9777ba86468652331d0f4d3941edcfd7cbc809faf5353ea65b21bef60b11f19c73eb81067f77af36e244a69fcad39648e63fbf6557b71d89dc8ba00d03fbfdb0303968cd5a59e8a59f9844886b560e17087f2e4a0c67a7c47e92dd0468f17205291242d727c14b979b94ff446e9d3186a743ddfa702248e573ad91eab4a301c239042b9ca7cde50647f6252baab8a9ce152781d6bb2f473dec89110a6ca4637313b630d72049604ac59538521010d3330f680044c6b7334f4b91be28e14de859009cdd7bb9b95f5506d4646b3ffbcd6557efad5d1e77ef240d44fa4d3fac78505b4c3298a2ff025392aaffa55f1d2d0095073acbb8d96ee41d288b8be8976a1dbb53b5b01d5919a86d9e7da1e3fb02ea161a42157afad9ba93dba419ea4dee3e45d99f220d770472000984368412340d8798d700ae11e2903709e4c03cc96eee119ace97aff75c72d2ed900e22b25116776c5d642a77de5a7fef478f4c0bd392b48fc028ffba7a032c331023eefcdbbb0275a7a1821d1b0f75a094a04fd14f50f509483c983321e43f5a15d9a410a7cddd5dd5cbbf7882bebd8efe1ec90a63e9311d778ce7be1c00951cbdb311824153d6593d050e5ca5f25417752c82c85a0b72aae5e7dded2aa379c989034003d06b171e96c1d2a5d6319cb6e2d519164a1b4d445d395ede67db25e9d09d431aec8edba68aad89e8e275da4e2259d6b21ad6dda1dbab791dd1c5e7ba86ce541273069440fd497250b0ea77f6334c02cfc594f540f239b26fa4bad7c62409208a606ec6a016d0051a0afc5aadd3eff94fe15949526d83c3ea3bc3cd1fb3ed0ff49649241ef187063157e57c7726af3dfeb87bfd001fc4d4566ff91c09423300389965a937f225261b49d1573c5b9df02a05d389ddcf7e4ee5cc35285aa0dbde4705a4e0da0a7a0f6ca1cf6c02d11a148a85b8c849edcd2f1f1d0f95319816b362fccb62c77945f285df75846aa036a176acbe5e085cb130db8c68f09f25f1b2a6eaae0821a82009404a6bac5d43f141ccdbcbbded2a12c5fab823d7d0cca0e4104221e7deeec03b136b63d690a9f56983b2ec4364437ae4bcbec4c5b196dce490e62043cd3c493cc5b09600886134fac27e8766a143278a9aa355c0bc48658707b5a8610edcd8588c109c0200653533151b6fdc91c5b5362a0161d73d702de6063041db01a2a1a2ef2550a627a9bbdd8879b30b7e26b8d64819a89066c5c6516cd264d125492ee98cd935d43f72d5ebd73238fcdb2c893241d0eaa0b3497dbee6230d8bbc4a3f6c9e3b7308c7d93c5d4da46ec27c448441d20fbb630295cea65b2b69d5c36114d960772d841fd791441f8c232fefec98be714ecca01cb0ed83bd1eb1154e018a6df9bb8189de1e9f5dd05fb7f243419572958fa7aa265ddd4d9cc76868491471adad58120ad1181bd22d0f7b197f388fa0e00e830cb3a947e04a5ac9d7191959de0c2cf7be746b17840be528ea04701fa4662fdd88bde28d54f989b0f0d882a91925855ef4ebb3b22f61377a77d8540d1315aff71ebeb7e7d2e16d0bbedda2ffd42b6ff9fd0fefda04133643bb85db72719db8df88ef9192f05581083e514ee7a9a12dad7836aa1be1260f12213baff7fc968fbb330d42920b4b9516872fdd9e9b30f1d7a3c2f07fb768f489849f5837c54e85c5837d1f9ab9357e0bec36cb346b80c35c082fc52c3a46659ea72c51bbe1c18b36da17fdd5085de5dc14cdf2d447d4ca8f925e92aee016a82c0ab770ea828f220afaca6cc1f0840517e5c168160208e2de87fa9ed6ecc685daacccff438b63d1509e36353af3dc5fec5ef1695261ee33941c43d01d83b508075ba6d0502334814211937d0579c6db55d6c20795ea830979c840a68aa3ff4fd2e46b47bac7da0ffc4f930924785c5da7c169760ac345506f726441477a0e225c0077a64936494ebb5b789b88217ee7f6ee96231d87c8cf5b36d228a0291b2787b725fbe57d4092213aaaf2ae66ee4a7d2c27918b90d57362cb80a5cae18998189bdcf0284a25d8bcc72ad35115ff162f6e6481785eb87f042aa621c155cde1dc32072012ad6006e5e5406bc902ce1e958566591e4e7180ce982c582370c92a14d6d659e0d3f4015b08db094010ea80c2bcb7d341915a75441656b38586131c855863c831bb9d990a0412ce29be2826d2c78ec9cc9675b1a34b40e2d0061d38d6201e4c681764db2bd59c230cae172c504f1a87a280458793e51a66f62b30de6478eb06fcba7b1f334bdc0f9853a8859f7ad6f67563a47cfd558718c3ead5aac788b7aca48cf80af4998f4e80fbc394b3b543f8586ca6accb566b85c612a183eeec170261ee0e59121c95012821de5ea830e98f161d2f39face47b75ca103bd8b4491689cf23d541ef72da4b4c96064897625c14e358e061184d75b96eab310fc124192ce162e01eef6bfcec6095f320472f20c00737b02597dd68d4fc4c2364fa07f2496ad91728b42314be87602157d7ed8f162e130a4be0b7bb59b7f14602bd6e93380bd5060a94509641606f423d11414d58d439913eea60a927c0f2803d2c41564d0419dca9f00a096354cc90083b1b44dcf334a1b3a8073809d7c6e51ca943f41ab4db04b904b6de766d20b8456cad057b3794a195e626b3c1edf7f7a881bcf20d042cc6eb67df6e703ae63943d60e8607a7f4fac3357459bba34f1330e5d3ea5504303b25d77524864e959049828bb20ed06ca9a02901f615981f13e2e2de2827718eff1de1d7a51000385508ef86b7705b084dca3bdc6008948bb403e8cc2937661503a1d214f610f6ce7a9663132c66681f56f896002b74949457273878ffea0447b6ee33231b2f43f869c5cacda3b1a4ea19617d9f2573fe5dae070bcc75adc5da3ffee169c4a097465a14c5d644d039fed5cba9fc7dc5a391fe5048c3b33928445ea80f08bd0729a0e61031cad8970654dd4fccb65a52596c0051df0b6de83eb9e354fe8235781b11034f40a21284826eeaeca60405f4b7c027eb2b168517504d31f9dee0d5051e819c027ff45fdbd77464ac473416c9daae5b4d1587e57a420358a0140afb2e86700acdb39b56d2284c0cf35847681e085ccf4bd9949e070f4f027286409499b3e95165210c2901bb459fcfb678497bccab9915cd3c0ab504052d679e68c427885ce3b92d74c80e9f9f3abd4f9fefb9bcf97f0e1a846edf949d50f051014aaa3f216e90736d03c29c7a910b4b233ef35905c6f9c6ad8302e0a3a139f1c10f368b815f24a060dd817cf81492d1af141e1dddcf3e062d0e8ac625ed9aae645ad333164e7055d2b939d5ab20e872c5b4b095782d8747fc7bfeba3932d87a20ac790ed238e5c6685a6b32be19776eff2c6fb50bb04a1a0a4472f0525e0680b83f79eeaa4c61e4a689e54e7056618498a924d698fce5ec81245555958c8691d35721334ca4bf61386d0026ef36eca23c1f6702ebb26796d98069bc19decfeec44cc2abdf04bda0ef05986f201d9c73ecbdff3cb0f942348594b4bcbeac29cbd9ae34d25827af1eb1122ad96d4304b500ee99b2eaa0a8f28edcea8d6a2ce5a1cd482eb17f449da3c1e85bb64138513491444263991a159e4dc159efa970482ca284fdc4b3e880f68ec5e1b332af98c7144cb57993a31c5953f7b84ec14407c98db4c0777e2a889de245dcaefaf10bfd6a81feefd9ffd7fa0cbafacddbc663fbe5b7cc59839e6f54d53f03566503cafb20c1489466b42f87913a8f72d662d97fa736d0b1d9efd58c578431ea60a8ce7c0b88e657e0cb668a4ce7e5e65ade3c9df2deea86f34e5d8a4cab082ff7746809a6535b7cfef7dcecfe1b06d68a07cf9b8992baedae6ec074523d35a9702ee128a689df0e1a87984c07327013d3e4d421de5eea0f3798a6459e86f7cfebd368db6636bbfda3ae6d1041c7388888f94560866756728792761178f482ad330a66306250eaf54e3f2350eb75b4aeffd6b6cf6aedaf6249b2225a7e2350ed5c19a81967f4581e4013b4ebab21a4810903c3861a49b4a5699580d175f3f5f2c64995a6778a33d95b5c5fe2c1cf52e29f1e15b737976db87d4a99562af19df7554f71c47fcc4768b683f2933659e4651168076febaa9e56c48c7c1d009473e0fae5c6d04a2b7a7c9bccb1d6550ebb11b63c0c01aa391f478575bd23f3fe5e5afb599b2b799c380a723095dd27579901a446b0ea39af993e12c9696159b619e0b19569f0cf0f738a1d40e9660fda1c349cbea1f0d71f498193ed72a8cd9cd98b840a209248f5a6c9e1ead79ce1cb18b381bb232102d1c28505c8b65d49f78fc211f8e2c3e00987e56cd6a6bc29eb02ab81406e6241e1dda2616475ea702d3d262e61bb6d00c09cdbd585ae5c1069fc5efe4d7c37c859bb8b5d1108b583f73689819ce572ac1e09ecc964ca546b72d19206ba6bd03f563178a09c2b3f3b5cabd1cfbe7b2eec100f976cb73b2c769ebb0c52af8a8c7946eadcdd2420dcfee670d898df1e3ae1ed3bfab0a8397976b22d144f4e658eecd7ac7e9da18f605596ea11a9ca1c45084a958a069aa639cc08ddd42ec6ed6a1b6ca6f2758ae9311e3a2987b215a98bba1955770c113010e181c534c398e959d965d010da4095c15f498d768f27a103589a93c282158bef55f61c1427a9be14fcb4f2c72619ccce072cf0dbfb8d3e6d139b87a9f05d52a01cf363f7971e6d9b994f62a7cb4b814244306ae4c2d6107d8f4387ec665bc9ee04387a0bc7e457fd523de1261fe0879a93a9c210ed54b97f43e585e592280a08a1fcc275b94c0231e51c13d3302e3ccc00901dfceaef546d9edadb69f837080bed614cf537691bb520840f21403c1df9ccfb1163ca343d7069e700f1f410dcbba51b6f63dc6cd7f83e189b0162395c141c916e686a41ef5707bf8f68009b41ba0849d22bb71a0150f981bc64cb40dd20801cb92766519d04b1fa2473f1b8066d808416aebdb68917c1f4efb3cd17387d2c666b83a67e6cc3f336b50ac7b8bc998efa7a10e0f49eb633faf912843598e4d44b65602d96ba5dba5fecf1683663612fc7508d34f71c53ffa84d822e205f2cc1b292719a1da813d003f4ea1806bcf37578c67dc74fef30253d3bcc8841066e7e76b194931a384965945db6a55afcb54da5bd45ae31a0b47422a084423dee7daf0c0f94311f1d1ee0177b6fce3df39b3aadfacb421b21c00f4942c0a6cd6d0d58c7b926cd24a54b8bcb8c1e27e84d91863bef1c81786d8705d15bac95481b5b96c44e9be1d2426624a30c379d9ed1b47446b475af6dd0e75dd36b1394e32611f6841c10488a9539953bea4b26fb0f5980835afed1c1a247616a923c656285d516c17ad249f0c9e29326718968e26186469985c1a33eeff9e5054527cfae7eb6176e6b7268992d0b398e72de5e02ca11fcb5d9c0ca50e00a8b6749acd0a2749f8165988ee072a15db67c2d8301968011e9e8108abb5522202f829766a3a4920af2b005b49b1c2c13bcdb6b79fa93339ef8d9614f87e31919fb9fa942cab5439eeb4c1e02b5e98ea62cb59ed03d70ea49240bc60e1b79193e14b751fcdf219382aeffde6d2494439c000b4edbb0a5474dcaf19827f785964c3ab9b982a5b88e9ddfb6d362d6b6cf8fda29ddced33cf6ace19df7abbb79becaf7263798f3bc5de1b695ff8fa9b5e13538c7663e8fd5068d8f71d40d6ec2f9099e07cb03d4567226c5b2c54af13b5577c4c20ee074c9476f94d5469e209f371b2860a8bc96760dd88cfb6c6033a8b7d05110159cd566300ea3dd502177ffb2a6683fe6c4b48ab697ba40e782d4ae736660027161b461018740ccf3ab8ae3330046444564e7e7da468ca8090b7b012231c81b9bdfa53bcabd44fffeda315c34adab7231218c7fd88dc7537358308acaddcdb0825b232be88705f12057345ee9f2703d8cd7cf8428bced9bb89a841eba05afa56821c3561b50cce909aa0f2072e4f32b313e1480ffeb9a890968a253c4c0c709380915c3c0050f599c77a712f3e40c90407de0b602cfc740e7512d34c7f57dcfdc9b0a6b0a6dcab6cb8e24d1c58fd13d2986aa679e77c3e2cd2b4e509eb6bcf0a076416feee1cd9e1584b323f94be7348fb0e871e94417ffe4240cb80d12317b4add22b5ea583a82c208cdbd99dd3d45c0dad88b6de9429b22229a16266cd8f908fa7cc9dd5370a4d539bd0b12e58870ae77022d69ca0ad361932c505b9347001901bfd1cb73e203001849d836414362b399f02df407aba4015a51cf5e0c38ea0f3dfe68c43c5653214e60ddab43b4d27be2f9d74798dc45047ab133be5820da554d07d91b05f2792a04c7dcb40227ec2859c01c3c95a756f8d08f92e470779e568c695da8b1000c0402770d9713138f405227625f481c7cafed0965c83f475bb360d8b1f63ab8b52d9d5a93d6b6dc5b4a29e59649ca9c0bbb0b8e0b1b67fba9206ddfba66ca3a06860889c8801172060b3e2d251cf3edfceddf050473641dc4d0b11c34e613cb91834a0b7354285bd4ba664ac6d8b73ab626c7677ce5499c657303b3358e5a625bd6e6edcde6b5e0005df26bdbc7b666a664cbd66cfbf2157354e8ab6ddf5a977d451e277cb685392a276c913ff67de5a8eeed7b92cf8ee2dec6160f87073ab8b9e08f85b658a84d1930d9b2efe2e2048d2c0346a5a465c0ca806dae5a5ae74720aa38708370147efb45240c07b4105145dffe04228c9c913becdb371255f2ad340114b6d5e6a848193b3ce2cb8feff17250cef85b136c2b046ffaf9d042873eb22b9eec0e401cb48f02d2f685136136279eac75c593751f8878cae2b8c9befd685d0edadfd1f243ebdaf687441cf62ba263a9909065db5f4af7c9e3850bfa6a554695cb9a9c6133257d7cb2cf8fcb27e71ccbb0997d1c55bfc6e6b5a4557187314e9649e48c5c499611441c4182840e6268eeb7d76a6a84644143b3a2273f12082f69b976b534773ff8ae2f7b2ad705d1c93b1956b3fd73acda3071e1e0b71e0e6feb642afe8a14b9aaaca97289ab2606422e97eb05c475587299c8849ecf4d2d6546e71da783f88178fd58aa572c6d1c7fc5f5813811478551a87a332563ead04ace8a9ed4d41871a44a225f5d8b5faea5f75aeab53ead5226659eeaa48dd3b8501e2a7259b3dd6badf57de5a9fcfe3ee34afcdd6b3a0f7bd923c24d1e5fdbdf3d74d9b3dd63b11c73946ff7213c30d0d9fe469e6cff0ccb3a8edac93db7fbc1377ed9e3a8303721c96a4609cb7641e4c6292dc67996106dff9739f2e5284dea5c8b25fe58b01144f81218ae5f91221bfcf86bc5b81629b2b1296212f7356d1d838d5622468998f045bbc9f1fbcfa802bfbb4cc8519a6c7bf6feed21bad9f8e2ab77ec7086658ca52ca60afbe51d07336c4795fc791c51320911f4777f8f0ada9f038232858e3c31f8d9f3434dca18b1889a0f52f6f6536ea0c3faf743290b529f625cbfd24adf52bac962aad0b28c862cb858657b3e1761d48b69ed553b3ea783187aa6aa8e9ba6f6b168558745ab3bb4eac4e8282ea083141552a02d01265e332563643f14e887066997da4ae9b5d57a383cf0e5c553ddcfaf3f8e0aab4e8dedfc63f4998508e9e5f65492117c8c7ed2cfaf405115ab3f7bba0eb6f7d09ee4f1f01eda8fbc17efa17df65cbc87f6443c95e94f17b23ddf88f6d4a3411e0572d3fcba53618e0a4b55c7512115125a0dd11031a1458e0a2bacf6cce813a23dbf32a9382f59e328596986f6fc6a9364e5a899aaa4b2b80dcbfbb1500ab42995f957a4a8c84120295fc044fba48a83f43580c40e95908009629e044ce0e349c0043f0ec6fdb343b4352ffe8401dbafea15292a8a45457b54840bab788a401c8887a5ad22f9a831c021a62a4d34bd44558d3dbdce609b7674703ecbaad2ecf9b32e892afaf32b4dad39c0ed86d42ac34e02028dbf35d159676bb55af9ee6d3cd0da4bfa943ea654fad83afe6d3cd0b3d6bac30d28b11d569aa9d87da18ffc852f3fe51722a9fb734fc78e5d0f2f58b2e5e3a05f119225e3b89b75104387594a1b97367b3e95d226c64e024ce0e820051de6ad2497765071fa039d94baeb20860ea5cddf961697b499612cda3394ac1df60c5b5e86f6fc1f4f785ea0c46b96f80fbefda59224907094fdfa526eff2188f0941613796a8236111f80084208fad1031da4ff0ed2afc8165632db578448d6c2e25f10df458880eec49d0498c089a7b8354f009bc70540fbdb91a7053a5b76f42bb28595833a2841fb17d9c24a7632ae43137464c216569bdbb2fb9c23ff8a6c61269ee29e5d0f724bc0043d9d8cffd62404b72ab47fdcff1255774b9b1624d91e795810b4fd0b6d48e9511b95623ca5ec217c4f1f1c7a4cfb072974a229eed053e11dbf30ca502c6e23a67e9022279a62caf62f4555dcfe85f62bc25d5befd879f49ae8df2168f20249dd3efd33a2b3afa3fccace07f565e63c1976dedd687335538d4ea792da517ee9913677338d2f74a5fe95c827202e203a20224162a65092c89908c428442b74430ed091b4d6da6614fd281e1237d5f731534284313614c69d5dbbef88839c0784e702a46bd433e5f3b5b70fbe38ea5484ad9d8c45e16e88e73c354aca55db8beffdaaa1147952638cce38c74c98767c4dc6b0a3e5d31d6a11e0e4471c616d492a6454b44e46a5d4a26bc611a41d800489241210e52ac6296ced894455c9097bca195a6d3764e6db0dc1dd90ad1bc27543ba215f02222991478b1c941f8b06b6cf3cf7b283b4e8a3440ec6629c468534e2a0e63e84831a1142c484a0c3184b012102441051655fdbd9da871c100a848cd5a6407618e243486114b63d7cd912dcf257b292209a349294743653281f91692a9a29fd05b19aa9ca9a2612c45475413405c19aa9ed82a8c5d9f96fef65ee03da9bdeb29347dcbd951cd4f46c8a998f91538cbe0f50584c15f86b71500ba3ced6a4ac5f6ff5b499a233a733da05999bce1cd43ef5034de4d3a3ade3495e955d53bee0e6e3d8aa384598973bfc5dbebf4b5469e18e2d5fc27471877cffb6b778299e240a48ab38e82f515a68f942e0b48f38c2195c7b3eb735d974a0c31bad1bada8d27e1e218f903bbcd1fa4833d22c4e8fdc8c1f69164fda07d1b415252b28d8b0d01cbdd1da5b15ba3e7ded26aafce7dfa8418421cde48dd60d1b4755121954ecaa576a5668f45ea959596257686612e68728041219da8d7785b5e787f7062b9e669cdf0a2b9ee6afb0362107e716b4a244c2d025d026ecf9e10a0af674d1c04d2808dc86e2a97a2d749636de7493691e49164f7393c55324cdf6fc98ccbec4d3fc1b2d07e78d9b1b262268f9e18dd60c2e1b058e732b74a8b235d1a1ca949fdeaca0363bc6df90a0c3eb85de7ef44f0d57298bdc73d3d7a877847684c6425f894d535f6825b68ad6f36917e477fd743c458dda382877485bb4a549c15f7afce1a314336704cde56b69f88150893d354aabb59c11b47d0ee7c79d8c74edf92861d0f381cce94523e823e86ce58ef861ce9b90e6e1607c1e7c02147099e16d1e435fec026e63e81707e3bbe8ad899e9f767093827e15bd8da15550f226a4adf094946b2b4dd134102831f8473b4ce20331b493994fbb2055a6525bafc577c3dc96b92e17ed1192208020d2e5e9459f4d22c2e3c545e7ab49283a657a2f7b868bce5c8aca8c15151a2b3568946ad828e5522773553667234f2f6f961b5566a4b4b4b4a068d2a86b912d32732d2d1b6e69696999fea37b2f2e75322adbb6711c9773ee80c8fc10e2db473cb594b8518b4c69a4421a854a6c1d4ff12f1107637b0707e39d3d4dc0e69c4e3f1f6c84c1c5517ec441231c74227c70da17ce395d9bef1a90407e3818ffc616741881767c2eba77f7dc364e85eb6474ce395d97a2850ef38844d21a25a3a4a4a4c86d142ab139971d9fd353454677427ce7788acf75bfa31174984325360b0f54db61121bdf9c6dae549b39bb1c916811b0041ab735711fdc9c20cc55a28a8351931a95ef5b7e2103f675d009f71eb22554d9328869cfbf8edaa1554adcd426106886b636a74ac941ea3aa6d0916756e3a878daf1513976fc142974e46181cf0ef376d40d9af60cd8f3bb51705c943e355a83c045e953a3a46a332a0c36c66d40ee97b02d67332967db676bb662319fad3d63b139635bf395af345f6d2a5d54ba768d329920f365db76d90b1d6adb0599aff7ed82e0517c927fd4424e8dd603cc89f1487e0e2d2c347e4ebaf42c6da6b4d15cb6e2e9861547569cea8aa7fb32529b2eb51169e725228c0662420868b01c959fa845079aeed00693131dda4083b5e1681a3534681ca421617c89a89a614b504954693fc471a65bae5cb6a307e2ab994af9467f1fa5041166fe7d94190d2461e687c2c4cfbe1ffa0e3550b69d100f8356c22647dadfe7485f8830fa4772b51b227d6a5ca6b5dbb60deffb9bc622699494192a2b34b8e7ba6eab42cfe77ef4a4cf8878e2469e0f438070f0be7c6eb342721b0e74b43f63a652a84a0cba810e69b068b03a21bf9b680e5fa1a7fc194f3fca6f8afa29bff2f1b9154fe5be0d59b0818ca8e27ec5b321364df763a7008fa99f0daf69ba6f034cc5b36127093ab48165a3093ab461c6da576eb90332c968c355ca5e5e5b424154adbdc1de227b9fb4a4cc0d50e0b45aad9bc97294e56a668a94a2df3ea73d149297f2d69b82f49c37c5ccc790e688a501dbe6c8b189bcd4e99a293d5328b0990a02c5d3de10ebf17030c503324df47104e9c98aaab84da63d5b3375335340280fdb7e610376fd6c3cd13e726c9926fd5c1c37516bedbcd1044dfa940fe3ec08fd9b135595e3c06e8829cb1bb24f97ac9d32d591eb0eae5a000041df4ff1909826fa244fae6ec0acc9e2befe64cd94bb5c377038ae1b6e98ac5a676bb2e6b4c134b708d7d8ae66aed62e732dd9c3e18139baecba4faeec16596b6dad1eaec12c9c4affee8c9ebe4aa9e529f73c7cbccc367dee471b7efa2e1b6dd849f7b154cc62a99826470e9d6abf224e686aad5e112734344ba4fca17faffc29ddef8883f4e7dbac8318fa67a63ce626fad463d6639b7e751f8f597bdf5efb40dc5d56d23b59382fd6a4994b660b15be4c2613e785598ed2a6cd74cd9cccd55a94b94abb1f3c7355662e7b2d1e0e0fbc9335599ed24fdf5d8e0a3da6e3a810b336ad212d41799b14faf366c6a73c7dc7c12c776d4a7f86e7c37bdc4ff178788ffb28de8bf7b84ff25cbcc7fde9f214e9e9cfd7cca13f618edaf1948ca1af2dc9d3dc840ae5cfa6da0e5b7e1c156a204785d767d3bf38d8b5e9531a5ed91347d1f016dd22291ba22f8b6c367d4fe2a8c8f304cea67f04091249c81595396a3e7d1e2f3e7e00a1f6b1cb512f47e1dc9c0bbb3e2af45b9ed67aedc762ef6bf73e4163ef57c4c98cb5f75a27334e669cb070ac0264b8f6fdad89f6e736a29924ab15e7e298702dce866b712d2e964409cbc13b6b32cdcc331a5777ec6c935bb9b56f76d9bb719193b17d7f6ba245550e3b3e2be79a77ad9f3b21786f429bd529d9b68f5d37b375334544dbb63d90b915397881f8d684343323d49aa6cbdd4cd37dad4ba57f107c79e988ba27fb7e078baaf9dcf6430e50f3b518735cd0b675af2ea77b715c5090d0d02b731a678df3c8d5cd70416ebacf05d158cfbe4f7da8ec0513ca8f22d98e643db093c979e382364e2888062ceec993279bebb8dce111f7c56db3425471e00a6d5718dab21061464472c76c548616f6759224e2d2be3f615b73a7bc35d1f45dba2078c7ad099078ba3f801d9f256f1efd71f006f52192303f206054c6becfb1e41bff5b2c86bcb560fa437d28503cdd6dfb682c9e2e891555dce34deb93d63ab4dea1f58bd638689d83d601d05aeb52e91f045f2afd30c25cac3d59abc3da1dd6be588b83b539581b006b5d4e3a76bce0904300a22ac78edf0971379c4dad1fbb23b41d722d19d01199fad0188dadeaca0707efb61101b2c390a8e2688cc668cc87e8d36a4595fe7cb25687b53bac7db116076b73b03600d6f2b0f6a463c70b0e390480478fac793936104791227cd9b48bb052171ac8aecff1c81e6a73a416a915492d920da915a38f4f904c68682649ad51cda886c64836a49b0e48f69a4931f32417392acc4bf665d1d4e45737d4cd3a212956fb7e571424131a9ac9a2959434f0295a15ad569b23408e1225db7168c78f35957fbe4a5416fa0104edfbdc939b5b99063f33959964214765292478f3cfbed90643fb3e97711c75356d7b0d01db17a1191165dc0cf564b8240e5eb97fd76ed7d7228adbf56f4485a9bcf3855add3942dbe1560edecfaf3cfbd097ecfa4ee3a95c344dacfca1cfe80f1d04b20b928c5da930fa50fee821ec2ac3d8f5e51364aa9b992609d37d7db9454c75af68ba513563d72fbbb8d09107064976e703fb170c21ecfb9d47634575a6281164927d9ff415c9a2dd352163dfd75fd8dd5021ec5afbd227ecfbf4a34a90a6fbda07db7a73301dd0c867e403e3f313f38181e9803aa04ed605c5d0c2b2a4a66573f3c3a7d59aa90ec84db7031af9fc00c51c15e6d9be3b2ba21e252396a3c2516c774f4633231a5aa7c6d205e919118d9e9056a42437766442433347c920388e7a8d5c39fbfe08b6a4a66573538afde8803a59ac03fad1c9fc80014dac7e1127b1fac53617a574273ff11437b77d7515859635941ae06cf5b7cf2e072f8eefedc3cc64dfedcb384c3aa16ea81b72f00a3978f38d946d5ebeb1d1d152b6f5c6bf7d985b08c05fc4a6ed966f5adacb2d07f3ebc7afbd4d8a087a7bcec70c7427345323571df9804287a49970e4dab713fa3a2121148f0ef36b2644946754c39b17d6d5be6f837a377742b713da29cec74ddc4c71af69a2da96f5e31f3f40906b71cfb5381beec641261ee7e2705e33b511ddd7be9f715c4c2245c2be2f638ac6a2a9083195596e24aab65d596290beb8b35b8e729b7c236173b6664a8698faa968b484d59ca46e293b9bc50640f606d3343a47f52b5244bb9999eaeeed5efb7633fb762f961ae8dabd9620a9330edeacc441148e31c60768df47c936222294f6b1545427831ac946b220a12e735c2aeb2086d6a499991ac97c2423cd6c6d13d28141d0a6756a33c8dc35dc88f6ad746adbc8c75121c98a7d2b9dda0e433ca5c55c1e2974f67d228e8abbd2a9d1e9e1f0c04ea6ca6a90132259aa93494951539d106daf6d5febb6d5224e889c103979a2c9a492a043eec9be1f6e444958fbe624fb3e8dcd14c79a79e5a827b7d61ab43723518577adb5d6af6a1507afc90bcd795cac6e1efdb488a4eef9dcccf15054717fbfc815cd998a53eb52e91f045f5e3896f61c6bdfe756d3b72751a5fffe46b4159148f9bbf1a4a31bb223cb97ec38e49943d60290298f5c7bd00d7f379e58e6debaac83181ac84c8d884644db8888651b157123a2aee3366e1bc936201c958384f2a82693beb07bd2732bae93e9481f0b89d4da3a19d2c8077741e62db23b39e7e74679d43d104fa9fcfd918c0889a3c251cd90193eacfc8cbf0f048dfb41d4781a7f7f14145572df1fd58c64fbdeafe1f9f01ef969783cbc47fe15efc57be49fe1b9788ffc463c35e3ef1361c4fd2348784ac6dcfcdbbd3f2272544863a3a2d11352cc512169c6e705e4a8900b92ed8c5cb98812bd3aa0d54c124785231f258e0a3b2196a342526bdfbf21d7aa4b1c1572abbda23f41b3d8be4f9fc8f6fd3ae3a8c86333db9706adfb5ccb51dae68663c2b96c8780ed513e52cb517548684654e42894bf5f3b99948f87ed513e1694918fa3a89219164d8da36450be1eb4bd7d07d4e574af0ed6e9743b77fb5c34c219b946af51ce0876b7cf3b9c1017c40d71338ee83dbf484a48338ed27f9fc422d1906aee6bd26312e9df41d268f4b16c3c58361f3c1c35b2816df92b52c60c73bf6d1cb7152963362b8aa7b8492ece250866c06d4da42480d4254f59f95f71bc0b96ffb211b1e51b89425bcadf3c1fde633ef678788ff9d77bf11eb3c77c1f9eda81885b8f7a2ad94d32b3b89e5f96734e9731b2481941b319042ee2083bd6b62fddad1082f77d4945d4a48cb1c7937b7241dd7740bcd3b167f4ad945b173acc392806117f664acee62ccf664a1e2153410e20280b45d51424188e66db7e9430d247eeb01fe62bcc14e9b34e48937d2b4de168db26db5a5be3a0b54b3c2b8378b2bf71a1ebb75e61b76acd54864d97a330ce6bc76fb67d9f89a98c8468b2a91c9b26eb35be8a2a2eaa7e8f646a88209d6d5fce08e1a0fd201c34124ff6bbd54c54d19744b2289eec6b8fcb3b48883f736ca66c136d9f3be2a0951289832f5b003b0aa99bc39ef63626fac5417a3d1ff1443b04c8a7df10072d908df3b6850e7d9563c7bf0fc47d1555f7edfb121166fb136c9ebd22eea0615f9623e830fe64eb3a626e7cc441fb9d876436533e5c6be587044c77ab2e493783d3132434349b6ddcc7c20dc9704237c8f6541c2e671dc4b0df7d7eeebbd54c25d1adb67d3993448eaa459b6b0667494e0b86b3f3eae9f1b13f4156668384ec909d392a94552706031fa025424cb67d4b24831c4caf1c2180fee86319bdb6e996428e0ae3ceb6f4f195b493197d3d6841339fd80f501764f604e5bc603a8ef363d3bab1f2ad0cb24489a366244bd2c89aebe1f04007b7979d4ceef28afb8a94119444ce325042b7af4819414165049531144f471c8544c248251c9028890209dab7db669f4bc9ad787fac0e52d0a16cc9d6eb958365bdb85e7967c0ca98db32b7e19f7a7f9c00fab945caf8f9d9dc0c397a716f4d74e8c5b4fd1c767c2ef6c4a8442ac13db2474a19f4f4f4f46cae5e8be7a84819b2788a019a746d6a76a4f9e0e12010410820a6f0d3d8fe38f4d0211a8940d8d10b20dce4ff23ea6c97445e78f87829fd64d9f20b675489aa6a354ff3314db17b8921a6fd298d551e2eaeb4344dd32b43dedd1e6d4e9b9a4b2d6a7634495b3339d17a467e2622681b9330d2ff2699d136fa469f20a6f0fbeb25224a8b20ea1244ed9ae1cad6aba85ad9f5432d83edfaa56ddce44f5f33853fade46a9aedff5ab29dbeb6eb965e793a890b900ee98bc96afbd31c47bd284cded0be22240e65e22897a364b5b71b82bb21dd109ab96e48cdb91b6273d70df9d28d8e5dd52b07f58c4ee2850e75a857dad3d7be29ec6b0eca15eadc8ad380dc3a6440351d32d034cac3050bee962e650f0f1963ec9c1dfe8e736e403edd79c868f190f18a3c64b86e0336c502e7e2e2f2e202e288328509edcf49979f32a3e50399d17d2ae1e20cd25532ec18a54f8d564dd3b4ecde25b96b63701147385aedf99c744a690d347d0d8c3737f266054b8b8f5298f018673c3a0f295d6ee336316af2a5d11a94d2a074c3d95f33255dfe9a74d3308dee07d98a36e70c86f65491659c2299eb259315c98a84c2eb3eeee360ea071a8783ab6d272569dc349728d9f3814415fd5501a26a86604798b944dc6123fb7090871655b413f2d98cc867d60975459d50f7c451540649a1949c174c6707e5c686890b47cb1e19933b9a7c519f59299369453c664f7ce5335e53e4f37dbee3aa3b17721429e6392f98cecea80b32d4cd3aa1273b6a364cdce538b3eb643429d364504bc7c7a7c8a70848b6666acec81bed9b9c249ac999dcd99955fa5c0d8c4b18dbc0f806c62c18b7601c03c63260fc124fd34754491c1d224a6211c1f9e1e54ab9b4532a694b5cdb70c514dbf099134999cf7c4808ec43d7eed8d8b1d1c9d898c1cdcececee666c833e52f7fe5d0974cd4a8e6361a1036a154c2aa994b5cae1b269366b6360d73dafb4cdb70dd346dc375d2fb73e5a9d1cf972f1c47cd744a48dffdfc49a3f5cf97383e932e144dea66cb531d9daed7c899786ef3729f59ab134296e328d89cf38de0ecf99d5037d4cd3a2217dad34a1f49248b648bc99eef2b1f070aea64680ee7367bfef51b9b390322ad2847a3542bca29ca298a6942907039387fdaa961717dfaa0e1b9d2befe6b9762ed35ad6e8e6b9da2bb7e8a301cb85b83e1215fc200ecf93bf69c453a5a9d73ce3828270f09334f1077cc9f2988a7f9214afbf45cdd9536eb9c7170fe4c529a4ae62a9ee66f6068f9e15cb1f4407fee185a60b48a79715bd3e49c9335590e73d86c265b32fe309bc9c462b21362a5bbcbf89c42a8d48468f243e992a19d8c901965329c18320a714e0c2d446e96bbb52f0cb7f6f363e161fb17867bb58aa77bddda59ab4629d5b43aa7f5ed3bd44164c785967be32e88c423edaf7785c82a723cc52924eef9611ccc367e2e5afb9cb476db368d5a2b3dc69d3ffae85a2b973dd4de9ae8ed85a3746b22edf6da94d81f773dccb0b71ad3d9f8650bd7d84c59a0fe400e80c6e3aff8eb4e54698fbf861155dbe358633043c81df8c31a844de3b323c02dd8f8ddae3c9bc4b3228827fc1b17fafecc6a21c3e4516aa5baec16a24a3f7e5b8684414951a1f135eaab6663d9c21ac3a2aabe7264d779d7cdaed3ba8e765ded3adb75b7ebaa8d4555c7c95abdd659ab562badb5d66a6bbdb5be121f3af2cca0868b21d3c8dd8a97a48afa1cc9d3e2697bedd178da1ec5ab71c7f629de8de0f62a5e7670fbecc51ddbd7976ba67e9a361a9e9ea6ed6b783338ce06c7dde038168e6be1b818384e068ee33853be33eeae1cc4f68983b8d6bbfa6e924eae92582e4498fb8a3bea0ebcb0718ca90b4413fed24cd1f86dbbbf6dffdbf632a68ce0df9eb3333b763553126664a6e4131788297933bd0600d8009a6ec8e15203006c004d37e470a901003680a61b72b8d090af8d5f9e623ff184f1f685f72b62fbedb7f73a992db6664acb966cc9966c71b2255b51756744a31177370074436cd8ba4fc5f33dc3f39de2f9ce78d7f062ccd644d3f0927c1529af3d0e5c0ee8adeb908338e73a73107f25926dfc5b13cdb5644bc6d49d45137e27dbc81311532b5fff484cd5f8fa48c4148db7ab99699a61b16a6a5aad1bd7c6f6b5f15f2dc4d47dc5971736fe99cbb25988a9fb8aaa192d9b7b135528363ccbbad976aba87c47c81dda956d4d5b33434545454545454545253f8a675ff1847fe4591c07f1689492c306553bb4711d8df4175b4aa0433b0bdaf8ed6ca6889826fc5a974aff20f8f22263b10197e3629c03c7b04f8e1c37767dbc9f01c764b299bab11b8b392ab433ec837f2e9025b24f665677e62ab934b7c616dd24f82f6b8ad7c67f97608c319ea10b326558e2a8f0be94ccb0686a6298c2756517e8065da13bd422e47263d747e8c65c5c94080909cde229eed74cd91dbbe32096ad30faec6c1c5571a7620c4ecec65267e3b7aba89ab14454559709703c8563d3040299b2b319da9cd1872937766857df0eed2ac5aef613f1847f86275bf1849f73e1b0ac5ea00b14b77b6518cbb00c076121961b36381d397b3b36d0c64ffad1778f67660acb64331bff057214fe1b147354588b5a7786438cb3f1638c7bb68ea3f08d6dfc1207bf84e1bfafabe328fc36708fedb13b36667dec4f29c44b70ce0ba6b353e312394ae2bf33fc78e5281b47b51c951f3fbeb9f83377695449fa583619cb8683baaf8813202cc353ec6c40db177102b4016d5f112741f993b19884429af063e9b3f1c72498f285b705df65dd98d93865f48577b5b10da469b6f1fb88a2ded9beaffcf2e5207e1f50e8d7c66f7766eacedc841fef6c3c7330b6f1a37874187d8a661b971edfd9bc89a9eb83687a22a6ee6b9aa28af4f865cc513ef2c7c6e38f33758b7636be4577765fd707a451ae9ea42972946ffcf5898ee783c32893482923ef628c5d3a9952173a8c3e1b7ff672ec3a85089380b8030fd559c545d8f8c35a858dbfca1cc53dfe1a5485a2aa7b5cff8587a3f2d7f71155a3afaf67cac6d72fcd54e9ebcd345527d184ff674ab6644cd9d934e1af6fc33b324df839793367367efcb23553723567333501eb24a6888826fc250fa37c46e209a37cfc3249d6c413feec491a07f1c708933ffc4046e964aa9199d244e0d7ba54fa07c1172d0b7de01722aaf2e3d163fc9c0ddd10304b53f61bf2cc9135974c4fb9eaa8a35c6da815acd554eb0db5e6a8d5a5d653ad3a6ae53a5d9ffb4de3edf10682ffdb8725fc2b5e9ca6fb35bc3b4df769743fd4e73e300f6023e0f3731cbe1b8747dbaf783e220edb576ff3ba1fea5fef64362f347dbb3f76dc775f6864e78f85fbf057049e4980055cc411e2895203adb9642fa6e74d3cd12f2a2a529952c82b62cab3104df4a9174d56543531551055443165e4c9a63f7b5cfaecb9b3e9cf15c418c438a3d8549ae687b3069ba67c1e9ba44ffb428d7f7e218d19d97a720f6144e6e37245178e8e2b469fba93d3654ec3bacc919874991b7599cbdc6883e11e0cc33bb5d66a81ae8f9b5e4c284e91127c83bb3cbac15dee94e02ecf64a1202c3434e3bef37038c87df640ee2be24447278a978e8ecee66ade76b4dc7190a248a16df8b2658f8ccdd5f5b93e73355733c99c21d52c6961976ba6e6ca4df42b66b2e98e84c2a683f9c47e80644c1c25813428966cfa52a86649eb355733c96baee413452ffb459cbceccb7e459cc0e229ee5b345357e626fa573be999ab9922bdfd2b628af4492037d1b75f7430944159c8c89fccc44c4929a4893e95399b460e6413498378a25f3d69134f47dc7db2fc41f065b248fbcae289fea685963b9c8d1b2cdd90966e480cdd1019ba213374436cfe6e48157ad26ced898e8e8e4b1e7532b366a6dcc64dd53a13b9d3b343f9f3c39a2c1b99c5be69b304a9db7e73e520fd1bf6f5c12eec8a18cb1dafcff5b93f178834ea3237faedf1f5711395611cfcda91c1e44c88776876367d22c9a62f592edb619b618e0ae7ca7e8797e01627774a8b893c51b876dcf63b9c04cfc8d1e6848984e20913264c70e66aa666cd6c6d4aed37695c80a071288db3233388a07138d30d395c4e3a76bcb811d32dc22ccc32b53a1953adb55a185e592490247104c7f5ca81b96ba66e91df227c044912ab4286e43853b7348487ea11a4b403329e28d578a806c899d66bbd6c00fa33eea82f3b2159505aa98d1e668461a36329819e2f85f8a0956ad0583140fe21cf39695dc18196afb284963f23e5873ce73c8008744a174487be46510e8002cee69c734ebbcd39bbcccd396badd65a39a9c5a58e8412830a8d92c712c30c35e000c00da61c271d79c70b0e39a0e41000adf1a7a30a5ede84f47d1e798277864ee6ca9085be999f978596cf728387d623f768410b88ea6ed828d540f938f9e04a3568ace0a0c3bd779a4c38a84ac4d8159519293aa8b02aaf40c3e41f56d36204351ab3bd123153d3b44dd3b4cbfdc802d0344ae70eb401e04dc39e9ea6193d03d0585a7b396b74329aa65d1501b415951902c8db189a3e908c7ffb0d6b9a8e56b6e676ed05282bd0f2b94dbd11a43021dd3f6566d68007325ed0b20b5aa270414b25a44c4252e1eefe40a6c72897a0d94dd3b42e87610526a769d25a29e5bd1e2fcaa41673249419344a376298c103f10d3926dfe0b20307d6d69beb915139ce544a4c7c2e55030e1f3ae8edd3e1041d6ab0216f421abf2a971c35717ca4ad4b432783bf4ee67a9d8cfdbc1c68f9dfc968df8741cb9f41f5db187a3ecc08074686e5047abe7c1d3f3a196268f911c38f1c672ac7c4bf0308c000b816961b0360491120c799da62a6669fded004780c6d4d93a989f56204af7d1b1d0fdabeb6544396085083068d951d93e34cd9184a3d19414dabd1c6d802e4acd5a8d20a903530c310064ef3a29097466d96829e3bc444ee3dba79f4669a5a3382a0e5733f696ba6b82fba6987b975165a0d2032da8a8acc4a01f23686ae1f24ab382a46707e9cd3ca199d4cfdbc27b4fc944e46fb3c1c2d3f48902c247b5c68f9407c0af9adbdd011e603333a99593385e4385329281a651437970e2cb8f9aaf8851dcad71c949acc130cabad7df3abc1858e77bbf4d5f6bfa1c6693a13c8870b3abb65471f2edc6c2ea48ad6343bbaf1650b8d0e5be2971cf4f8c2e353f9748dce818f4ec3f696684a693739b561fb125bfbe4974286963fda91e7075084994241521d481d68f92ed3acb556b33307f65a6de680d2fa56eb7ab0777e97be06e4e6a2839a566b9d9a46358df650cdcb140be9587853461fd588044ee6a8a21f3f42e02ab1b96a2fd5ac1604e71e68a9cdcb611965cceda1fefd50da39868dd3ca3ae7f4aaa35b76e4f9c108703441dbb082254393986089a04b5fdc2a7497450ec2b86209bab4234f182fa03c9ac68e3c6184c0f66001057ae48424ecf45813ece0e0073b3310c1cecc17f48a1662ba1b830918498002185cf8008c1b500146ebd240cfd891078c134ca1f51740a0ef162a167427f444a71ce1049a0406147adb91e70b2db6f8220b6b048d77e4f9c2f5c58dbdd7e24a67f4e20b3b2c55c1bd1c8c3f699c46b2284b1639d5d3a3f1e50fa45d44fc5881cc28c5f6da701c8c7fe3055a7efcf937a6e66c6d373b7e9398cbe7d6da5c9bcb355d9a6b93bfddcc94f6f253d1e8adb53da502739307816dae1d5f17915cdb5faab4362c9e5c9b53eff9c5a6183ca4c52d2aba249b98ef3a6082021a14a108388882900d27c090029ed9ac66c67366580c2ef0f0b1dd655545cfbfee8ee2fe8518439af44bb5bc5d8b1421ecbcfd7df88d1d797a10c5ed02c7c283fc587890d2bd23342dbe7c19638cf195d851ca39a74b29a9e06e7ce1da6b9aa6394adb0102eec60b6ebce06a9a7b47e0b8489a930aada5e43ea79c7382b2c5bd92935a4a2a0dd8dac12bb42a4c295da319095ae55afc3863dc5a716bcded66a648b0696acdd4f6a52fcdcdf3171c3895c6135e8c21c1664ae55ead49b01d5be5c7417f9313d7a58c27ea9804bb4ef8872ec3adc9f6f9f306e9926012fb7fcd0eb7d6fdf82e61f0936033bea49407ec1d81e46e8fa7fa787a007b329eea07ecfdaa25c1f67c122caae8c79ad8937e733e57a3f4d18e05f9ad128b27ff1b3ab1edaa395dce518ca7b721cb2fd0f144cb8fa1bbbbcb300617e6ee140c9aeec8d3032776a8ed137a90821d4618c5a20733b67a2577d7e20bdb5fbbdaa44bcfedc8a305193b04c1701de53b7e84c196f2af7c2d79b0e53f0ef0e5082d5bbe0ff940e40f914f048820b4a0010edad462091bd35d7ea17f4548f9522aa1c9d984e6b07d9fd8d2b5cd83080f7654b67f10464c5bdb33f5493ce52d28f676235df22561d5be9c55613b8de92bd34c697f6fd9784ac6bcfc1d000165fb5f7fed44d8ae6d779cc30445804d06e34ee66a40dbbe66bff0dabb6bd5eadc0113f60c634f1e4cb13d4d37fd39518a7cc167a62e8cdd01136f6b5f68bf22e6975e66987ef938e4131be57bce39eb9c73cefa1531a7fc2d1d891dda8d0852586173f2e30d419853f35793edfe370b126cff9cc512462f3eeed5afc9d2d6f68cae24699063c3c96a4ca1c20adb5ff3bf4c7cb0fdf36b263edb5fe50731fe2d8f03744179d1b4ad754185adfd0e9e22c5c83d537166b7a6e9263c3882154d6c1cace062fbabf8975c4ab67f4b1731fe384027b6bf4b15443b07f93a3db0c28a9652664a1c049dba1bc60a7ce4122c073cdc9532c62e64536ce1844e1268300616be48424e0f8ef085106b075c80a14f658860cb1fb261438541732311c253394dd43cd1021110f14007510839513ca102071603207816394858899913450b8dc3573750726f1085ad7dd670b0050db824c312ee2e21006dff4bc5aee1ea18c0e0595461fb16f6cab0ba22f6a3bac3aa18c92590d0bf2aa90312e8a0095b13c2d6be706afa862f340da789edafc120c671a8883f5884008cf9376ca1430dc4b1bd8914db57b67fa1e6d2bfe441d099a5728cbf108eba43f81be147904495f4ef7a41c720e4d0ec50db725e0d8b1feccf35f954de10c28c4cb25b984b3aabcc127ef7f72d8a62c09f1138b6bfced93f1529d4049142cb5fb085132e4cabecc8b30510ae09340d3bf26c61032aa4f38e3c5b384159b0450a86b40e030b604276087a861d796061bc6035b023d032ecc8036382a56d9051c1d0284ea838da2ae18a40d7e8c23ea1493bf2f80087ca406b3bf2f8c0b5c39c557c7003e250d139abb4683bf2f4408c1de208030c99cf46d9110c19eceaabb7b6b150b37fdfcd916036ce987a71937cb9affd0d85c2d2b108333124547e0c8f9202f9e14b68048eed02e2e082f676e4f102487e5e08a163d971536cb95e70d1ddd8418bc50b1b946cbc666e78a18252e90a1b5e8480542307ae924e1464a08103580d1d9e1b2b3928a2a1f3059d71c56a45670739e5c74d51e5eab85074109ba12383195a0b588a4e139974c50b458704dbc807333a0b343a2c62a42e6428398bd9a80b228cb8a2eebd0b30b8cd55e36a65adc586718a3857777120b445d1d91dc870172c18552b6e172c4ab368d9a292867353b51c2365bef878c168f8a22513b6bb6fc798072c3745ad93f1fb228b809f474e50ced08ccec3c5cefb77e3a69812d203979b22c653c67be002763f0d24b1c329af7ceb9550583a82e184a01dbef0f8e128f92f3c3d68c2f6d7e2d53c2a18da6109a6a3095cc411da886d15d89c9fe45e3e6d22aa541055dccb2f8694b502da443cd1e05115c4137d1558546da1c245547147cc4ddf292baae687a42b36fde9a9c0c0d0f4dbde963f7fc72e080d5b03320c1e0d9b15e3c9a7a494b5a9cb28616217a2c813c8aed273cc56e8fb1cbdb58719b6e43e4a98088628767ecedb5adee685ce2fbbee632784a5fb7898bbfbc93d0b0ff35560dc6605c77134f44e080d3b7f94154ff3b7d6f64484c94f37952de20efab40b42c3e63e15d811b4062392444f938c27b9a9c0eed63a42db540245b1236545150d34d8886d28c0c1b1ae2039fcd8f6e91307edd7d5cb8ecf11238e4499119ea24fdc34533f88f68f9aa407e70d087a465444d3132434447387ac500da23d1b4d9dcd549d99a934b5a62ea9438e0a7d18690d8163c4eb480f12151556a11dd62124722595c89a1fb44dbf0a392aa44ff0953588e20a546571a7ead49d8ae3a8f0c7b6a937954975e16c75a62ac199d936297a70707072e81347ad244c25923b402051b58c6d87f449bef7a6f57ae5dc2b6fb765aecbdc76836bbda9523cb9b9b9d99c8db81397c4a8442ae1962c015ab26489abceea6cdb37e200201e10440484a8b326d8e4aba2754ba986ac83189a1a99a95a6ba8b8b26a0d351c7154588d20a9d5ae726ccbd6d825f6a6d6ba721497644689e5360c80fadaf6656dd596fdfa7254586335567d1c1546191146863852732aacfe8cb82e8fbaccb100b0555c591500009062888559ac1f861cc0870444983a2352c928420d8e77f91d443838449d5532c010a4b278b2cf518d0807ed0ff16284911f403c35841107eddbf7615d2f65d0d81c755986cd6931a803a8948b57ee8a9a324423020000003316003028140e0884a2f1380be3b4943e14800d84b2664e489587922c866114c5510c29830c214008c000c00c096d0309bc261fc71db909d33887c2e7fefee58f806f62f14566c698a34391484e066406ff02e4cea07d098d9007e54cf8dd464963991ea8610b5b426a34eb77fda7fefa52fa59093cb5d650daf3355da63af26bcc45a215da0bfd3912572377c230a3d5a33d88980e100ee4f7e2324f2a04521842e2dcff350d3f84dfa7a7e09f3294da919eac5c8b78019800f77b7e32a1e54c44cc41e44e037c39b086e9faebc485905869927aa29af627980859b0c47c7370a48b55023a7cac0a4db864de87597e3f438cff3414d0eee1441093932d8332b7659eca57197804c6603b118d3ec13ddb89f78ee7f42d6fba7d3d2813957d455fe7fcf60cf629afd4d05bc37b6028a39fd8646e35ef2d8500e3b752be30c3909ddee1d8b99afc95476ab0e4df7ab83b914cf2e90a7152f64b74fdf8c7400340653b46fdb1e77a10d824fec7afe24c023c550e6dca5df3d29e11589385b3e4c694126e4544be80c94249ec6c7dfff8641eb47776ba87ee2e550699d52a0a0425c05f90e0cb6b3f1c8cad8bd71f1ffb875400b04610894a69383d5efe68415ba65035c9a4ad5800404a070426fd6be806790060f4627a1bd87a68ec95550500ae9375c3d4fb96f81909a44f7ea01a0cbda6070133b38c76113c21449fd0d23ddcbdcc526632acd706276089de738bbbf0acdd459c7a35c9648f90eba5eeede6b19c5c155a8175ab428c4b510c96a6f02d1c736e5527a38d91c2d837d0f5276a9acdb7466f31470dab9c6d1071268bf203fecd89599b897d27c9f319dbcdbd37a2af9b9237056d7005cba54127c73aa0de0ad93e58982628bb90199950d1a9ce61639e3634fc76994abeb56391dbf39ab783f3f9f0dacd5caadbbc1dc70d9614b3b3f79d7f2aac55aea4e6ddb4eb63ccb2e2d892de57839dd6597291246c74839fc1d18df682064699d9a7570e742b6beb97b354641583af3a6363e26f67307582ab49c1857f3d0e8ceb3073e8d8941df38ca2a3c086ae3b832505caf2e0be204b2fcddab1576cfb44f963ba06e29550c7522a7006ec6ac1829b15ab6448c8b35c9b186e92506494b287d6fe7d253b4f181cd7cdeeb9cc5c65da2c0c1292eaf51c09f52c89533a65671123ec070a0196fe70e61d004e51cd56ba17de0c92bac4f817935fec3d64f62cd63c2b400918d53d9ffdf25af3281ace2bc753489a2e9f382ec5d0f8887e5573323d546382979a479af491ac4703acada2fbd2b820ae8a7d43c0ab520293da6bd2aeafce782d76091e8cd683ed06ec58b8e87561bdcaf3d148da73b7d0579342145591368650fabe6e95882bb4f93ffd820dc9021ae5263f53c22cb137813a58cf16cc5f64ae20f10254c9f084a6177666e2000c51bab5cce563f224b113fd09f872686e1ef737ddf177bc9a658824a21112adc2ef72d5007f7917b7d4246187c188c11e398b04fe21c774e85e56ff2d5d4c410888287293711759ea06f8b2250e3885e09f9089ea9b6b68721bffa03a28ab6de3202b57995b1bf13c2b8d5dfd41d23d397aaa54d6e8563e7cebb75223144a3d240cc63d8b103f5e63e7f9b0111f1cca832842ade067555608f4abc027a5ea2aeb84a84ac5cdb2fe90fc0c0f83693f003214c8b7b5ef26f0617c4bb1be36e7660213c1de3401ce8509bda02fbf56783ed0fa4f6abf74a32a4cad3f8dbb86da5b01e5965400286643be0d6945da46d89b3cc0b990a1cfdc7cf3833b82b5fca6645f822764a2b77811f4b054dccf3f4ae4ee7c0723e38b3005b50de3fb61f77b0cc9c651655e3ba9a6b7db46fa8f9ba8437c1ec18574a282506e1756b813268073957d9005d468e7e779e565f4bb015f8613d234f1150c226529d657750393d8f8a3e741fc003159b46d01d2d0bf8bc3153523d0698e9df4683edcc213041ea221e1f9aa7032c1e3d022b9f3f6571212168aa6578e9f8e1cce9e724526f8cbd4683af2d79d46324e8fc2896409a83b82d882409906e0ca03728982e234626aaee77734c4b2f13386ad28453d2665b35748aa50b0bd5c09756cc7baa5a1e60770be4bb27817e03995caf616e1d07d88603f807bdd07442b105df433c3051745bd980f9e8c36512d632d19fe772031a2f0054848a3260858597a5e294a87abdd3791bf2d305bb0f1e223ca2cd274b4eed02c675661ff2e03cd60b1fed5444b9feb98c34d1d92da235d8d025342ac2a5cb9f64b454a09cf229fcdc328d88cb45ecd8b1a4f90efb5190222c4d31b3ced0312f296ae42ea37b6a305edf33f0fb5c1a07b6fecfee9167229f4f5691b97987e6469d39a9805ba87fdb2ab8f5f5de0665e287d6e30f8f05bb6f14e84a8308a254923f1af2b025a97480f3829b0755061c8806bfa4b1be0df2670408527d1013bdf191321080ccf74ddc740c1fd560846fad6b661ac3b582c0b0489dd0001100a6c031ef0bd45bc8903af8e08ca52c0a8c407ad7b48f6fb2e998a37db04ad4d20615543e2ddf1e0192da5dc472023bb6de07d44933287a10c2b0c69cddd3fa458bee084c0600ade193908115f8f703596eab96c98aae9f9e67a0a8f9f824f99e5958426ee82b08bf788cf47c7c3656ca30afe9b310d36f8ae5ca4af0096d0c81623ddc1409e377889751c645cb10fd205a92c42d904191e9e1cdda95bd9318df7091afd9b2e017e9ce3a3a944450f3ec3794b3d8af959ad49fbf5828fdf6bc4671766f11ed833250f3fc369a511f6dc65382e45287dab765e304c62f9c3e3466a8e5a0bbc71b4dbaae052153c62c37789dc70f132ddbf52e149e83bf013672066f00b117afa20788b56210832ec1c1f1d2828a818e8728ff69ed1bb025e94803d2ffe2a4600944759a854a4732a654f6c4e7673393d6e10208296645bae51c64fae65452648b4b2c800ec220677e09caad8cf334850c54d74f2d13d34d6f815368db8a098b9ea6c58926692bd2c3340e17dda81a286a8e0feb8ee3abf336a63f3ad0af5ba2cf41cda6c4e17230919f7af0a574dcb234a36b280ba400a47e4a82dddbccbf3ce496b6e200a4d42df871f5c8470314a371fac8f635d0dbcd3af45319d75cbc922e3f449fa4c69557c8da46c30d5dff29261c509c0deaa54284bd6543e7c0689888e3e877cb9d52b43b73ce8a284a5dbc643ccb2dffc6de15a2b746dc4498aa8fcb072b940a55968272150fffc937c7903841fb06aa58cde71ed3608150795bbbf97c49a059f69a157f040bff94a39503ef6a96f8d3ee28317cd60c7c2b452b0e5a289131936f37addc6a6b18f1c3290af8d5de8f16025060a7649b66a12c3ee463387141c1caea347d81e078c44b49b35615c4d8207d13a2453227461a98b22daed5e088b3506ecd2de86f1d6773a589d4bd95bbc8303f1f344c1ff3ce2ae85270be9d4dc8cc4f57e069a5ec8325ccb22399c5322c99f8922412bb4c34dd4e034e3dc25136d8c583581f464049d06b6820926a208f824bcac049c9365f4e09a7ed1db179145a688f98491c8cb972b9712e48b3f2e3627f6f74b7070bf389e5196e287565fdcfdef6ca765485f781e161762b44e9b54aa7daa57d26d71381eeccca7e24dffa49a6784e68f69146ee365cb89d213e5d8a5685f4b6d0316d8cf89880259b836418946076151de1001fd443c9cb7167b88628ac4cd345893334d33a1036b444366533c83c5c666e9a00b0172b9587099dab7904ee52df1eaa1cb360a3258fc69dfd9bcb3a11082297a2cb045401e19695f7b8a4680890612e02e8f3b7d9f178ac8c19efc201439e69a211ac07555d887e69d902c906ec1f816138936044d4a829fb973a0ed19222f4b66126b29f248fe8996a3c83a3ab337913d6ee255216637911cfa1e476003dc1c2d30574923f35d16bfb5a2f21de3c60ddf3d48d38304b7f180ca1c831ca5868f6740218aa92d94bc279df5ea6b18ac0f4a68a56721ca3561adcb079158028081c04b7a104eb8f3c03d475a4c7ad07fbc4b467ec0c433a2ae7dee30675fcb12c084663724280d8c9a396d5d5acec98ca5b7960691fbb1d25fba9202761363489e96a8dc8cb0aec9dcecc18125508f00255282d022516e6aaacdc8fa3e01c44da3805ef4a2fd61288d88d468ff9c16ced1d8cb27fbb640cd915c392f1238dd8d570bc7f1d83a6e4b309ad36eeb48813d6b34425161441c29c332220e4661784e9d256d1dc5a1acf75d2fd95a8ec3aa69e422f79aff873af1d0d6f132be0a845e22b7b575fcf2d826aa2bc6cf7bcca10c20d0c77449e7ed068ceb300288f23a2a12f69c5a94eff149b191beb99cb6f8c112ba97d98433c694f20749cae595e1a5eca32894ed9213ae037ee8b1ac3f3a45c3e6b80c9303e019179e104c77c20cf87c0f4c369e0d491c1595dba009ede025bfcaad548cf11e1c00760e0744d35a80f296537d7cf3a8476cb6297c83cdd5269b132fd0df9e6722e85e1f5ff652f7982106618610e7bee42851af0a141a3910b91b4cd2892efbc962dcdde73a2d441ea2d9b97dbd3e633e33c254d43f297fe36ed7770696f167a0c227774db87da5809c4ccb748c954bbe79b2aaf1239d81d939019186a479eea90d64081918c9d53622001dd62c85bd8a2e9e822685b9e605696a3ca565d7326d75b1912edab52c75ed000aae363c8868315785cd7db16b5c85ab9c3f14d05dd7c9e293118ca135af87c0da15a674f8a801cb32ac04932e50813043cf4e6b456be1510401d4c18a3773702dd9ff5dbd246138398b56425299655d96658bdff9df968b6e2eca65edcebeabe38d75181dbea3b9e1b43017b6eb83b244b828d05ebf3d0306a57eb5f0d7f34fd6a297ce1708be489debae2e27a3b4d6a28ece92a12ce6b43c99310f8d2c5e9775c6cb7886943e484f0e86cc66df98751e18b6e42ff68a2cdb03f55798d772eb188cd4d3d9f1125388071cc1eb8c110c268b9fbf02eee5061fca3819b8baaf42d1fd725332a9b18559ba0a8e0dc21ee79570829fe27dd8e9c0a2d5318c1a751c1a0fbbe647ebf3d7f10d5f3b938126d71b4e1e133314b22fd788689d7abd30fde9f4b34cdb4c84faa53fa24504ef2080e78714b20c7d9766a4c23e96cc5acfcd03ebae074242bf148864d8e9aec3300310be38420e847a7ff9711d3037372fd85d7b7e7d2bcce48950bba1a1d159ff195c5fe6b7a16f25e62e1e93ae9f3ffaaed508329b1ac328b8c4795926f01614c1bb7aaf8bee933612be90067822e449da8f59046c808d528e0e66eddd573ebc254434436253e02785fe8be5248bd27d515fb1a4ca16c4a78efd43f6658821b93ba29791822c76c0286aa68edda8231872c7d68b0bce200988a2f12d43ba31fc0ded6f72b8730439a0c0135fc1bdac2adcdca35b1a4f011df63fb32b6c585cdafcd2c00b9476b1a6cc1e156ad8722679fb250d2d0f6e994321b92a090339f4983d6ddb0450416bd249bc80f91404071f5f3a8f8cfa006572ee66af70cd40eb13bf4ef89cd4a2037f5022c5fc8da662a45d60912655f93048321ea957094a61861c247cf588d6a649dad376949f46340f6af8ca083d75231a1c13a74476582791785e2143824798b7d3bee39d3efbff9c30aeecb42f6fd49f30c93b35a15313247fa8331181e86c64995460a302cd7a4983195be71dd6220e73c267bc8c8b281acf0008fcac6b493dd56e0430b0599c75f38a9832c600de2ea1215d444905b825b1e81f2980423e63ab3ed851199b01e2fb5c2f90130a4617fec64d10ed860b025cfbc5456ba1a162e1fd57d38e6717cd6cdffaf61404d589b4f19ce0507e2c5b3cf55cd7213e91e15abe106593ff7e641e38bdf2193ac8348fb50601ef72d85e15bf04ac7fcfbde9fed0f1a2e72e165a02ac1c0b1503403045b549899912fe02cfce4caaab4dd271dd862de069ce32bc75540959a924df2a6ce8d26f46b4c9b3daa9da54d5ff01d9f1496f41d0231884535725e6e88cdb24fab9b49587cb652167fa239d14c2a0aac87c0bd2ea00bc68133a2bd75a69a1dae34ddcd367acdefce5e3a92ccfba6915bb28e1813c4cd7933c56beeb2c8d53e58b4b0a50f18e3b3743b668b66deb19411f7e96f1e9b94af5d9c49575cd1b8a421365015d63c178a57c2fddb28309563c76e63b32272d01ea0826e49b6cacc36e638194dcd8b902e89615b38b0bedd3bed11c54883ec567922cac59cb70aee9ff0558c519ad2b550c49c9dc4f5226f2664b28cd10ac1781e30d3d01f52223572e1a87919d412e2f9444d3d9c7440f68ad8941e9981db85956d0925e06cd164091ac671e520626ec5c8f490814c1158d7c32d76277ab83c3719da01da8f52a9688e1c4422d977b0dfd277277a7e3b37e8ad67e6351debc0d9def7c0f09dcf16d4ca87e0e9eb61b1a39852d82f8086376501257cbd4814682fd3c4950a99a070800a114a530b7857e08ab1bf54b18ed293e6483466f48e121152f345245f772679116318245e34026dba66e4c8f3144a5ce99b0a1873623b390d373ad3fcc59d7f90fbea2219e620c7e4a9f7191ca712d4b9205ab8d3d74005ec3a44e91313aa024f442f996561e11a87f2a946b3bf9878432472c1ebe0b0d2e62e85682e1884f53f240f931094d55209ec337f792c781eb434beabe448c527f3198a3487a8a03868199f8325bc1b64864bf0727d55b2b7b6278fa47a400036f00e9af9422da1f1162be1f1a3b5f9a87af3d9be63c2d5f8c9bd78d336db188401dbea9a648ebddf3c2e4098004946048a72e27d582db9333f3cbcab36898c1be31ebcbc0dda18922550172066afb86cd444eda095f68aa1b223cba2741fe32038183113647d07fbc543400128e14d2ce15d491e1eb7c66909f686857b977cd4d58bd6a1a4b1979916c9c120cd9c4582857af2c7c611712ca6087068558c89d5dc5968ee582052be8877a4191769865517a5ead875b76bda7cf0b5b1d9eb9c289edc17ed40844da3f6330730c353357dea155b56780b9e9d0064a1129b2abcbd9ab9e2fe5f042637b6747b4dcbecb26f626237d2413411ade6b5a8efb61aceb09215a26228e1a5290d423cc5a38c903fc9ed2ddc775163b5c60a971b9f5a9291df324f818d8b3a8729f6602d6a604cb240fd83beb4e61474e998ea79c1d53b28c2d9e6db8c81b304552e39b9d9d258a07f5ddd6ee46595ae61bad94cfaf57d6c6752b2466721322de48c4667c875856f4df2c686e1df48861ad81585b29e2271f21628d4e1ccb66449a158895bd41c48df85889bf5f6ee9a9b295893fd78528d728e2586d21d6568898c96788582389bd64469c5981f8b29a10f5462386b11362b322319d38dd6cd00cfa4ddba0350bfc1ada62c9af1f9c24e3c94a896b6223ea1a85d8b506626da588917485788de86f2b49eeda4488d56a41e41b8958235e696643dcb773205647ac7118efeec080bde8856208b9ce0bf596e54785143343cfc051c0deca41f705071f034b50be3988a84359e638641b494b8a62d08b4004c272fe7c077bb6b8e07e7b5589662fa5a39445c21f10c4a51af7cd94b5cb468ca7ac04c25ea37744512656299833783489dfa71d95488c4936b75207c38ad00fc762041bedae2d978591061871d9c1f30e65b6002dcac9b2a226b4edf423606a4a9aa40e1f8f77d6af927b4a090d676519fc17bd71f7f176698b9db5e1cc49314843f7d800313d9e6768991d624dcce0dbd411bd69ff230c74f77e406b067c294b02efcdab72d84368a409b2c223f77df8bb90a612bd0ef2a2fd5e1992cc7d0789034a94520ac5232949cd45e79d4724824469214f194a2d7cee86664cc350e85ba661303e49bd0c10779d8acf468f59c04f9339309811b46921adc8e1cf7a652d97b7182f1d03491c4cb2812420768e035c091d497b249488ebe3a16cc1f44adfdd35ab7f5f6f6992c38e96d5b49f6b12457509e03c1c35121b2fda396111d4a221c4b5ac199ea06d4fc9831c593d5943e5d11e963be87ea5cf08f2450af706bce20d5b776af7ecc70a818179c35fea9841edfdc9855f599146c26f29ec34df15705ac9d2472423902ab366070278786f0308516fcdd40b8032af75bb0a8cd1481b6f11e4e5dfe23c4a814b70742351eef32c2f2a499c32b46cead67419371a27d8e483af6099ce63eaa0ff0026d0ae404654e223d05f2b2d12cd132a901561b2bff715771b7472321e59d4634217896528ed65f3d82eccfa30f4baf2acb07c0ba7c8901f53afe3c23899c4bcded62dff4c499372c07bcb3dafcabcd3d51ec41fae455e8f8499b2267e8312f2facae87b7b2d6f821b32ecef3fc559ae263658ae5a87add89209a8f5202efc1ec1d0124954c57c683da95dcf182ee028fb85efb45f701c8a6e80a3fdd1a3bdf6de8787e9f6f2ddd0d6c3a7fdb77d28bbf6e26ccecb7f53bed9960f1cd368c7fda78cf517fb6f76dc178dcb58878833959235fc79a14838ee6e42496f2d82e43a6577ad288eff977bdd97c39a9b8c8087877b87aff1f18592d4ed2c3877da3cffcfb9130c73781def1bf1bbebba1786f7371bf522ee1b4bf90df5adac0889f7170031d081367de7464c6d8a5d24de0f43df4126aefeebcd0c8f48109195f59f8977ecd88320f7e0087ec4ed734f54bc6764c42a9890e5b9bf3f4ed914758b2ba612a376a75b6e947887b2520d7246147e6a4d617827de26cf8fa5406a579dad28510e0ae6252c51cae2e3fa285877af4106c1f8b9dd0b652c5112da952e3d60784f7cadd5a8b515006620e16acf05e46c7c3f04c4c8e6f9d43e50869b21ae3f6f113aea38de0363be85d6b3d02bda3fc54acaf3767bb16fa2370ca7c8a1920af8adbe2016a453fab331576d79af4d2fa40197f7172e884c5d84915d0d7591c9415f8255ea2ee6626d0c2d4f3a20da2d0e0f65e20a5100cd7bfb4216c5d1c6a17186c3a3246dfa6616fda5cc7f9bdd63c9c0ab08c393ccc22c0d9fca48a37de28567dcf33e629f7734d0bbfb3b00d1b6ea565a88634140403cd20abdcb8abc63ee8b5d6edd4f10dd08fdab6ae80d00f44f4557c3dbd1352ad476740fdb358f5b9b6b89ed628ede51c86aa5bd1ad21edba5fe4d6321f338cde814f577f35d83032a43b129324ddb488326b18123ac224aef153b145b53e9a929f2376027903bf74fea3ec4b8e93de0270ad47b92c8c86b997ac7094c889c8b38ce8a3b2052de2cef3ee25aef58ef7af7fd513490dec9e6eb1d3bc4b370a621e7bdfbb4a681240854c9d53615cbf7f031f38bb528981e375334b82bf1244c85e49dcea349b3931b5deaed809c08ed234c0d0927337e217b0224312077612f821fe2b0970b72460b0d930d1e54226468c7c140ade2f02131d4ca5b11226a60ef43de0bbd7198cfe1243e91081a5c5ccdba26b63b9a4afff06f5e92d095d32bacddcc1e3b85575c2b3f2ea9654bcfb52aaee74d2707c5a87cb509abd6db211fd2dbc3d7a1160d40bdf0fc6da007a1e930b1ae143175f977ff921f3743fa1c8c64d95e982d0f75657c4a21b97a539cdd4f3ae422e3b862d2a2ebab40724febb04b40711e622d45ade5c2d5e8070e9be56527db0ece4ac2fe63be09b6a00e690b244605ceec1ceda2694fe1371dbf02a1bd208841dc57d48fa1c4a087000cfeb6dcd43bcade164c7efda43c414fc021399f738c45d09e235900cf9bbdc1245c04bf59d8b2e8f8b50f42d190cc93a7449ce4ef6f5826e63d5fb97371f81b36dcda7301a30882faa56429e4e10133a5e6f4d91be195ac5523cb4217f914ba201ab8fcdf2e5926fc2dbf5a0f2606ec4d19302f7d1ff4544fb05504bafefd4752683d89895649178259e90ec0e89210be2104610a9eb57b69b738b18573863c65f7aa7984bfb005b26e6fbfb4e287e34cfddca59ec69e29b09b5b17a8f4959160c38fe7dae4f7ff07f6ef17800da2dcfb77c5579657d31de93566d5fbd7a6336a3f5473dba0e88f56f2480a901bf5fa0be62ee413f39d7e3fb2cf1f19b48a5dc4e652a5bd434e93c633cdde75953bdd2fad2ea3b1fe29420a1b8f7cca23774de4eda220d441c27a90a788e06b80b8dbc1c6465d2b3baf6f11df2513c8078070ac1d13e4c92990bc2516225e23d065b54f7c4175bac5f59f1fd9ffa00c3ec27979710a0bdab17e2e53e945392191388a0f6e898925256b9e8f05372ed6f0b963011b92b3cffd5d538aec41a29508c9d7643a6b2a50171e9517939f938fca4fd42cb0e4c046205ebda62464d4cbee85f556619c2a3bb43ed00214c1d81620da686e017aa6ac2d400841b2de8a84310a20a13932040550e477cc2c0cd22d2891bee7778f7dafbce450d1ac1202e1a9cd34662b5fb439058fc8e7639c50016760d7a6ebcb1628fa51d8e9b9478181fae7b909a9bce40644e8726eca327a3ba5aa5af493ded54cdb302082820878238e22023e552cfe49309c80d2b3c638198de68e1b0811da6a0d2d66575da9fdad9f14d151b3b22bcfbf6e8b88b231506b263fafaf8ee80108743a2d454a1269e7e8925a8f7337b65a846e43788817608a7eaff6cc239a4ad34994a02e9d36b22405efe26f643fdc221b2994d5d582757bf83b1d00135b06237117673ad86da8a36a4ac8f9f0ebcea9609e2df8997eab3132dae4ff9c15f1ba32371135732b50e474cc000d5eab3d8fec9d74b28923446f1b2cd85cb6f280329266d00fa5dfa4d2b68cda46a4f02c70ebc6e2c826bb9c91edc34b7dbf2e3e96c786b982f1e3541e4c1c2f5e9b51c3ef3bb7a70b1090775246149ef4fe7bb8c6063bcee55f06964efba2f216a16e6fb637346c004eba957009f4f9e81e1c5d3974e6b5af7cc3d441e740ad263bdc3d7bce550a2bdb750abb5bca4bebfe9ee64a4298d8c114f481fd88a5219e12c79d34f0b769ed5d973949030a24b0a32c0bdc60e1195b18252e83fe93386a2026318351de82dd98f080da5101c5b159fc2e1f29612162b8160af921e57938cde8e50c9cb784d2d300d0d5d346cedbf4119faf9b85310cddd6349bf5bc7ca74b61697216f958b5521e81b34086c41e982f28faff08e5360f98f4214561daa5788bee910f0336da5f22ed96f1f278da84a11479328e38ea2886f3dc63bc180e4c76931a09cd4742331e3009aa63985000fffa6c510cc836866e859050cbc05c5e0aff9e9d0d327edb1dcd207e019b4bda596ce6d10b41b35298368c6b0187a5acd7b45b158f7d3d99cd97f5e0cb2612514068835c70434bd97a07962f1f1c0db85dcfb015e0dea2f542efc56e8333c401613502ca7aef0b1d41bfad41d9efe1d10534905c90b903e9ff64bc66a520673e59e210a46679152de419b584f21550e799445f0b2b3882707ad063dd7dc1f0c5c0b48f71c3476d81c6cf99ea79d33da8c841e11e8e83e6fe786fa3671ef990641316fd1348e5091e32de530bb71fc00fa42adec11d1c5f8ef97a7364026ef7a5b0e6844dc6959abb880a5e8cb09752a86e135ed387f4a1b13ee38d600b5885b7538766a0d214037d6f884e440ea9ad3afe87722a45a0e8cd9d12286e65933a0ecc30a80fcfd22d67df2ddc46f264f3c6192bfbb35e49f35aa3287e499228557869a94b90086d33f2b7323c02d49e29d7492f8923c06f6062e37f697810841a030c16b2891d51efeb185ffc4281646dbbdea5ee2a3546d6bece637c2e566be564e152a2ec8ba83a8c974554a33979b4af953c95d31119710a19df738c2ebeef8e65320daa88e263c64dacbf07f2c8385c36793beff84565f616c20966523faf6d87bfdd165aeb18d070853202b649ecef9e4d9ff6e9d9b158503e448bbd85d7b93f4dac7a71054f433b255b71e641837357bc8e700ea5585c3169826bce405b71cb5e6e3305bb4fc2e468ac60ab8e5e256e4ee3fc1c860aaa8dafe04f196de0763d3fc273893807ebc9b1958b0d7a0bd437e0b223b62602b8ec37cb0de2b781cc9c17a1f55599ed6751a511bc0b1aedc760a8d2da2e6657cc36c3942cc0c9c4153e8023f10ad1a3d448ddd865b6265656d33f18f4cb198a2ffbda7b508ad96e6d624b6495c818c661201343062637fe413e048c3544328ef87d329989dbe3cbf2dac1dc511edef0f07dae0928ddc7efd9cf197facfb169bde4598baa18f22394fdaa0d66538ac97911a7acf314f69b78ce893161a85885b8483f5498b608430e5be534d9b5b91ce465f03bfbcc7043d2260b3085cdcb6499fb4e4e734a3197f1a242ee1f5935646ba07e1692ce13ca2f1901a4e5cba8bb94531fbc0679b42f0e0419141acf88475f22a5c3ef1cc43f1ecc5283b47772749ba0f3f8f7dc1e6dd7da9f705502c0cca49b04f755bb58fbdf44439534c48e16f4df0c876b5555547b09a7ffaa0e56776f8edc6401685a43a7f42daf5d16d9c2f622ed513bf3d230eddb9f087a660073bf917a52fed7987cc34356d9d7b5a4b531092863a91e2941a41f8d662fc627b30173fd611a307054229b0784ba08d67fa0d3fb1cd1058abfa4aae52fc604e3cea7387c8ab0c34be3f1997b0a75c54435540d423275c6197842a330422e7dfdf1092093a58db4335e200d9dfcff5272d822b92a93ab37f4095e01a3928700a9d3e86485d0420fda4e1306d906ff3372fa0381689ab79bea8a0eaa1c9a650bf458dc38a0f7085a28bb3583dae0219fe692419221cf128cb4ec2b85bb85d9a1ff5cc21514d718de4dc9fe263fd9aed0d0a28989d2c6cd231cd64ad70f993745e1d6e6e99c2cb3812bb1ef3d41cddfbda8072d0cab8e168d576efd04c82e42c9e83f861a8f5eb10a7f895d1cf127a2d0661b23b5cd5d494e70dc7e123f4504f0fbfc8bc82ceed87e0a0e882826a47b9f4e09c7f1f21aff9e06e0cbb243f99dcbe604c6819d218edf1141d9f1de90088f9a1799cb5bd9507b6fd500a08f6e36f3fdab64510112a0196bf064d4ac1095f149ad8b26572156b0a38c4e3e5fb43948dcb5e59d41b25cbb9f995968be64bb0920b248b881e0f80d1eb3ec747304dc07d7b83074b1b78458a675d6fe2052e3bcac261ff034bfa9b1ce2d5ae3e78c39f8092ee719463bc26b4023617bcc1de1c8d7b3658c272d22cd5cd73613c164bf7a8f8d085087bf4170b7703bac6d26385d3a7869c81c692637fc2b16dc199a870a778c2e50b4a551805684cbc0b244178bdb7b85d270962d741fc446b087fde9104fb38c13ab40d9a788c822428ee17f3a84b8624b084e16e8a5ed9329bbe0abe01908d6c3b86225fcfe484b6c0f83c0502db1b63cecc49b225a91cc16bc65913f9542ddb51ed869cb808abec80858d48131346f284796b62ea957b71d65678eaa655675138f40910bf11c23cb874fe1282f82e4a7f630f8eb838b3a2013338c889ac51bf6caf52375473d4c67ae014db66d26f0e39aebcdabe11912c3b3bc013cbc09d578597f7794d62226a90b441e173179ec73079152e4669fe090a1215967af52660dc1595f614fe1107966a818ef5c527167243abfe5a4f85a1694e079989711e26335d9165fdd7780b3ea8b403cc86a4ca6f01ff314829ef079e859c5c5f027d9e5046f6e818d59cc7cdde3bb3ac7e0b4c9c14fa80ce38da01b652f7f8baed4e235889b22a0f4f0f08b00a3bdc752cda1754538d34d5a8698d75e6b5d49871c71a67ecb80cddd2638d1977ac713836fd0d82dbfd6282e4249853b0c99e15c74eea6af77c3b0ceed715a680e55c15811f74cc79370010dce1f2cb5cecb0d415d327edd462ea9f8f7ccfdfa6c9cab9b6d8c0be2f34b19a9843b0febf93af9e9e5e1736d7b976bfdce9a5eabee24592b90419cb849f20d6c72d7c954471ff6e22a3c52a0b162458a3695cce2de5dc15aefad10465a7d9c72fd404a0cc5762ff9f9cfa77e4f4a4055198a7c6b104d03926637430dca76343942be66718e23c62398c0b6149df5d7e2aeef7d05232931e38685a4327ef04683d38052476526f8512381bb920d65777875816d12c47592f35a9f127b4d868941543c020e08e93174a0721aa13c4b845607dd09c93473d26189266fc7391c8af8f7d5093d48041213e73c8e7c15941434878b9e596df811caf6815155700ceda3638d6c2548492d2ef387083e7f8937818a96b026d6374ada2dda04ab335558064979596ddaf082345920a6db2d446374ab3527da3ad81c2b979f5dbaab35526f140c510a5b8348f60b66a37d56f0c151f5503123e662f39753c521e76869c2dedccea8fd35fb63692e0538881b3ec49939f6da2bd210672e3c08da97bcff6486d0fff3904f4820823d28065b71cf7be991e3fe37eac6cc4a437041109b9d4eb4ccf296761d45cfffbee51eca84a4d5207dc70b63c3aef7450a621d5a7d5e695c2d87990c007519479a5e3b9afb417da990b8cd2227f9972cca5493c22b45bf7d5d8590b4fe959efe39f276aae4484552438ae94c0854ba8a089d11c9cd4967e08d6d95228a5c96b99b9affae62c902898fc122e9f1d0eac9c9960d899bbde57d2b6034864fb341cc49fa427cfbe068338f694a1978d6413b3216bde022ee8ffce00ea6b642f5e544239dc9a73024cbcd02e16ce71458e152f4c047c24fa616afac34b70dee05402cf54942a981ad3f33f9fb805e3ffce75c4dfb216d8989174c48c873720e392db88d82bfaa4a033d87952bcba4222b182f340fb9acdfd39e651a16a0a1b5fe3f199130e4acd1e020adc0a4486bbd42a96dcc6b10cd8e905a4dcc3433931b731462c0cd16db8e8a88a77ade0f0c1a804adf6792e9f9e427a1a39a0ea24a95e197a7a85ccfa67b751c73d12904b7694f2f9a5078b0ccad14d581282b177a7339d6bb681bc2d8a2c4797da26fe90298944b9517bca51ca65a749721b874acd79443bc0d65843f0d21a4309d7eb285b7df162b60c7dd1569a349547fbdeae2c5fd1d8339fa88c9137f6fdd091ce7d7bb81e7c25325a17faf3b0e8d4f2063ca76837ba5934da786262f1f4f80bee0c2641830f2045db3385cb71c245dda022f128bf0234039bee259e5b5a8d994e11fa0f47d14877a3c84918eed90bb6d79d6c5d535fdc8da7785715ef75baa16bd5dbeac474258cb61f2a5fbd177f6224edbc21e1de2543f791cb8e988b596780b2e9e0e5231604451dc3e7d9a4cf896c3f2b0e374131c4a35c0e53af7165a336b5d9528acc70f8d49aa8beaf5225ee92177785731776f0bc896c260aa98f5e305a705c93b693ddc25d1aecc6f881ffb56d2678396751369ddb481031517cbe28d9cee86ae5b5bb1172c5af74dcc8578833c9e317b8cdc28a239c4bae7fbb3b01560e6800188f615f54dcefaa23b533190ba21da22d06296d0ccead1bb8aa2eb6c9abd76504cdc37b55538fc17ca170b6388640290a84549639c73c055e33a8558e4cbbfc23bca454acb51df5281dab497d0dd27cea62a9570d94b14f9a5e2b1f91bef841532f5959bccad46b56e7173f63d71f4ebd3a52b5ead5b93f51f63d7b45b608f410732d1117348460f33327be843e8dea4c783c8aae0e86e9b6887ee8a9b6808bce5925becb470ae0907af4b957db8de12bd08af09f1ced28629a0d47670f234c03335bda1b7c0474cbfb993bc6ec3dd6f928955697ec635ed737879107d4a8efecc4a578240f693b8308b31f88ebe497e6f0ef9e8b5b604a6858218746913a8c50745259dd47f420748a5514d79f981ef93ee938fc617115969988365e2b268f3465c67b3807c0480075eb4ef81b67793515fd964eb263ef1d50c54970252e90f4b694df6db26b344b4b786a08941b7f19b0d8160b3f3cb57bb202454fe05e974b3356b353ed99138c269e6ad7e7ba3aad5d3f7602e3181deaee96c673d0a506c678f7af714eec197076670f8d5c1dc2acc2fb53c686fb96fd7c133b861b10344efd5355f3871f8519861a011d04e50c05c50764439f40a4e6448e53be39ac55afaab4c855c25b4395ce2d9103a1c3f1599087658e089288dc5385859003c570e9123e3d6ac2b59a05f6de05e09abe34be3a8ccce0d35f99c3c8f778bf90a935a81e8469738936df72493d4f4ceb31136a93c41eeccc92a0c31d43199dec21b7eed91201fd757e69e517fd02eafa214e1c9ca874a67523483ec2ce5d06941522151e260763b267c504106fbc21f997f4aec163fdf840c6658a48653a54f524da3fe4e02fbbd3c6882f2a4aa747c68d7f2a7f8b3de2ad06d58bf006d07c7bcb59227ae90ec708fd7262cbf12bb46766a825254f71ff0f1e35e0237b697f9c23f9321a90fcb04788acad87b237cfeef53cfcf658e81959d6a87c60bf1f747b12d804c0fec9c44d3fa132c941998a4885a99a5f4bd67260db337963a0d59776b22304e738d5c262a25545188c0e670dd35d063180ff700a06d14a9dc028a86e01d8c5e536a178e87e0e9cdf3bfb7060d73260dcc9037bf503bc9c8835b1214290a81db18cd7f36842b71298d529e6a4fa55c0a4b5384d687ed8e5079a310068d2cb5759d79e82a5ab09f48080c31971dcc7752358ba413717d64a5dd400244bd60e81de0e9f65c7d041b6adb34f82f783b6537114ec165a32563e0e32b16ea925e83029a746e3b702ed95efe9934fa0c5bf4507d0abb21864053a50edb097ecef060e0b6062f9f5cbac60a405d7f1a9c30f24b0f9cd1953bf4e4c5052fea6a1baf368fee834a508a1bc3179896d7b903183b7761fd85f980705c96e18c97d46a694284effb317986851c543ed43bb5211a52f6f765ebb282876d134038f6baf914cff50490b73a9f5f507dcf687d3b53d5a77648d070958cd39c13ac60c5a64b6810a1b079f7f64f4aa694ac1e791279d0eca549908d3bb9f9eb870fe3062088225c0ec3f1bf7f7a6168d7ee95dba1e15f10ee5a6ce18e2ca1513400a5c8145eed0106be143680b1cedc69bf94ed6a9de399f6422d31ab6c2f396f68b04850aa3263503ca1ce9c1baa5750195114d0d865cf74ac063370dd245ab9329c1582a4042c224bc0152c5392b6c1f9168e9b83d43cfb58392547df965079a4bc00b6e4366c131db22c78ceec0b785c8186c4319d5114b92df46c9ff21724316e2b61d7a79a97e204eea954073e9823876d2628e7c737b5ff2911247c282ef14bc46ba52f7910a1c1225c44f444c066d448462491d34a18d57f271e4c6b241a990581bdfaa985dbbefb26bf7bb70fa3162a07b7d5f910843b637a5fbc0013073e289287705ccc53557026fb9b3a477490bb1063789b6231b52168da9a6cb04d2c5840c9eb84d23e842cfde9d09b27c7451feff381dbc078ea0559316e2ccb51157f4c6f68b5471b627654cbe4a887294a2c9d46e93ed2879b803c89be5f574390b166ee0716a9177f7f56c377fc67f48ed1fa3cd1b1a02475fea590a1ce1edabefbb038100413325f389e989a0d0a54c29d472afde75d7ed81220fc0ce3ad489ef6407909b2e49648110ae5796bcb85c43d32f6ac28425cf4bcbf34580edcb5bdba306dd47b6101174f286bd8880e97d2f76b254408d00569071069be6ef8389ad676ee1995a4e5b39d495d6431af3a62045c11682658363b1c1bd47887390ab99ca0049f217e8e4b02054373fa4e6b5fc83370c84cd1cb6fb3a2cd2135b357c58160ac4668c05479ceda67e41f4283ef98797b13480f03a1502d8527cfecb00084d47f5b8923d088cc6c0a78731b6416802e925a469535012f5c7c41e4866b7750709f902058cf0e849b3843514926d8a2da542379a5cfd457924b193c5e1a5241cea1a1bf045fd87058b666be10fe6e290cd120bef98c4ea2ef0791e3aeabc19c768b8d3af25454faf623d7ec42a377b1cdbd99b009c47b04d2133c4ceaa7436dbfcf44173aefbe7853ec820eb90af22b338843d91ff0fd6fe48d11d156e6222b6ccafc54a4d0d0029784ec6429e73258c58f36cf15901591421387163734a443c7216f7ff022ebfa20bc87b2baa1218aa19ca1337fd53e77b82766cfac06d5632287017eb0bc62761e060c0610d841b0e1e1960b601887770a9d80d98299c9d92c6157f039861ff4f18b2b67f2e07f7913145fd849cefddcecd594379b55af90ec9402eb7921f4ef1d45e002e37f90d1cd3d3dc32fc91930f9905ab804ba422706d23f0ec62857ee94b8a77b0510de6bb6be8836ab6f2e008aa43dda5790b2b9e64ca99ae89656de1b3e8e64ea636e5ddd8141743ba386eadda63032666cb66360ba103a060ccec8af544a13c074f4eb1eeaf85cb4a58cdf21dfb579ef74b03402edd9c7c548e93d1353b7cbe4d29026542fe784c5f9e3c603cfd363c33c922e5d9b23d44630fa1adeaf621602146a2438c9996024229f6c939bd83379f2e7574f105aa1c510a7e12a11e0b1b7aeb41c07599926d424c37948beff459b651724a8f8f514f8bdaf40de56463440788e483381b8003926b38bec1065ad3bf4dbfdd83ba3f2abc9846ccc7fc2f23517c7900758df62f7be69f831aff4a40d5a905c578d4f467ba9d2c7f8dead0fe4b252f2aa8ffc2e1f50fc037f971f07345bb76aaab63c616bbca15cc1f1ed65766fd913b9ffab391715a2ce950592e0f8a68ab66c624c6a7cded1b7b8eba492ec305a78974578bcac9e9a15e7a97568e23196dd72eecdcbb55bc354f468689807160010cf94e2ec27872c3b2d1d0931a612b8f09324bd9f097378ab1b014d3f75576b4521b90665fe7d20b735f9875bbdb35469d6db05c588818fead0e6b5830dd269e0010c2a7dfd64725b386848d31c5437b06033abc4911a38b328154d9668edd0b23c8bec4c467f75782ae7a244976992e3509a14f4e6437dd8cd5e96b2aec119e31481dc77adaf29f7efbaaf9b25f4466a3f651f960d5a19f36029ca530b46e59a5a3acc3543399b3aee5367a3537ddfc8fa3e61370c5759c8052fe96b9f12fcfb5ac49e5198217b5d3622ea1ba06d0a3c9fd56761d278a08873a083a8712b8c7417fdb197ec169cbc798533ae62338c1a31b66a752d1c7d6f7101d76152e428b6341b3c227cdc1455394cdcebc767d5d8bd76ff063793300d3cb3bbde15e23a8f3b399684910926e5b8b54f4a660ee6937f8dd17a88d1504d87f2a60f4281ad747ca896e6ac8e0543c0046fb3910002d486f8331f0fcdcc241b6a291d6fc765faa134c01ff35ce7f8dc44b9f0306e7ff7f5363ce9c3058b832d8b4f986043663b37ce7ae12a226e0652b5391efdf75488e0a1a03bcf3df8d780d57dd0e12d48aed8cc70854822b885c77d3b03f26f90260b1d7a1258fbc74280dd431a3834b8899ff237f9f0915dd2b65f9586d9c900527d4f16c74c13f5e26e0811238b0eaa4b8077c97424ec9bb1ff8b2cbc1245c4873958633d50417e7e37745d88f9a52bea73b26bf5fc0f8952bd639f6c0a931adbb0796cc8a7314171994d516b896f86358be8cb72ac69135012e64cf6c71f37f5fe8b24b85117552c3df66d3ea6c92cb9a41fcc8d87e6b201012cbb728bf6f362bc85e537091f72dd09bc33c44a5f66fd1cdc130c339f398f8fa285d2b5376b0be4a53c63cd60e0f5bbb56bb913e1ea8eb2c2ddff202063b88bb8a147cbc6e2bd5fee34075da742af8543076e117eb9760f2b05181d4930ddea4b5b8f029bbb0cb25dae483d19559eb97b9b2225be79387db48359a868d97f060ec6514f1f12bb34c54de99f816bf00448f357e8050d65b0ed1c3e55cf6129b639fee68115bdd94df5c6ed9f9297a896b2735d3ced39750494c5bde7346c77605f7422f08caedfabadff5c81dfda6d836924d1f99a90d440488ff0a379a958359880fc611dc818c5806adac64d97957bea294fd914ea85a0162e6f1f6ecd4060c19626e844181b1020b5d71556e6dc8476d549d96442546f12e75ebb2ab6ed8657263eedea349cd3780a703a923679c6254cc204d9611460472ea9d5174cf0a49a9ee35c7bacc68cc3b8fa468c9d0524e88edd88c8b315ad5f274d5b0f677de3bfb9c209a64d31b0d86c899aa29410bb23a56d18ea7dac7c5a4d3f9f8e7393b29159f9f1a72dc706f832843434f2c99f63db530cde10e4420220a1331d13b5459f2455bfc0a337693882f52b72ebbeba2abbb4e0efd5ef3756b9136cd6ce5dac32c8ffc9e04fd02dd0504ce67927d92fb75a5b25a6f2c71f11497347213f144f6c657065408c58dd4c06a9e0afe8e18157c0da6b61a11862370096fbe31318d54ecbf15bc96dcfa25c13d448c75a9a144338aa2fe68617aa343042461f9d14b3c6c361a4994741b24f203fd2d35e2428aa0989927560ed786d8d405b2a4e4c4baceab861d58e99742c47b778c25a41973288c40c47e3f9d02d5701fe60f40d82336836a409fc552621c1e00710711ebb06969be205c055d212298ba564b65a1ffc1c19f0e5dde274520e12edd7173e68369b1e9976c36da30c2f982f2d7f1217413c7b6fb5ec9f5f79b020c87a0d353700ab4dc6ace1daff3f5766d46a4fb8fca6a7d4865d4131a9383f5b136861cbd9e117b4af3594f97d4c28df0716336fbba036727172234f5ae93a46b902125c90e1b8d6c432f6d305f93cbf6a139264e79beee44fd4c4efe90452dea1eff609eb90173349f2c5fb8c89fc2506bb7396a3a7d2ced7314798ccd094492b5ea7d923a0727892ad573387b16023a9b1508d5aa9eb871ddb0a23cd4c4c73e622e7be8fe0f99d54f9689b3c4b4faab7a8b5a5e632831380c18fa70095724c192941f9a69f70ec443044f83846facb98111d9d0ef6c6d347d4439b9c1ef3f7cb06d6c60de8fb6b56927091b736ab910ce025876d4ad9be0d461989f797ea29d78e04cd264d6b8e767bef6a1fd4f8bb591dbc6e742c20e7407fc27e08cce7aafcea211e6a12d0bec56bb3439015db036ec61231e2e632815878eab92354ca9841b6651636282f8408d50c10e40bc7a0f57943d4857f2c00e03cc64a26df853084b2047ae0dcdb043b909660e760ad58d01876d982c1beb3ebbceb0e1a55144df9a7c55e45666b5fbacb355976f3543a217842e2ac9dcf269cde477a2fcbb02c9a9b68350a0c7ca33eb361655bc91c0a4f444c28d54233dbee17847e43cf6bc90edafd12df98769504194d04cc551c71bc83118b944efe2156de4a0990e2d02197f480c866a4e46161f91227eac125cd565c628d2c1582f6e7d0fbaa87ce03240d372044954ff9610820095c42316172b3b8b194d53aa830db751ef9e04a241a91129b35b48437630f27209455803bbe073dd22aa029c3f6a9a2a47f3af9c8a01b789a85854d45122e2f92b6446de24c8e2b3a14d2c241f7788494f1e928c744413846f42d3674c8d8ee292827ef34fcd61791c872b819885425811c7111987ba41a18b023875ead9176e729c4683e3e9d6a31a3a12194edd080911e6b2146dd7772b3e12aa715d55d789213826e51793804581d809d13f89e5d66e523331c494f8ba8268c39c4b691dc63403dfd25b145442c430109145a9e72392bfb668bbec354f78c75b61cd0f10fd6f687cc096759a31a84802b355ced61201eeebeeefeaf01367847925e1f4c936af8ded5abeb22ea36b46d0ac0379a196aa23c2651f1ea5fd37b46f2cb50d88faa52fa7c1a6dd46344749770c375c616a281d5858b03e5a2ea426d05431c64049bfce1118ab6f32b93aa63f2104450c5565f1a8c83b504f0d0f797b6aef3d32f4d29d6dc8f006140840a9d42c84d72b637afee71fb7f4f7dd4fe26c0ba001819f576045d8f1bdd652293a6d1ff5d9524a7f3f47abe7fe9222247e54786a5304e69a9bd90d2f6d1bc26f7724d69ec293e988c38824e719c2f2b623afb1450ce4e481cfa1820e346a17625f37ce10370b27df67fa08059d877bf0285802cf488bf0c7be10e97b022c8488213e2a7b18bfd35675dc6cdfa0cdef6a952de1d904ab7833f4a9024b954beadd22684fec2db4307167a4c4693b3cff41b79d363fade4af8ee8e83426ab6b46ec8bab4de0ebc32623e3b799204f1e279a27a25ab92daadabf4c4d356bd1f2f401e60942755bf63ef579cde3ab60104755a36f3024ca9b87fea108e2bec68db8821482640ede756332b5a8e92e41e43179daf6bab3a6bf5906d48481210af5646a34c40c09244fc86c631f410fc10ec18713c7b0e8d1755bc4890689809d079b0a69d8754a6a20e65f020a1cccb0e12e63c728136934ae591234f69f5dd1d5e8f977717ac5acf549c2505bf07edf9a9bff207df1d06dfa366ac9ab1ff1fe4febf27686c0550882907fe0a07bfe9738daf6d0a1d5b50d165a54277b664087f292b61cd5a00a0533544ccc7f727b98af426d2c87ec4f8ab305a709fe9690311c4f36f3e5958cd90e18ad8986c7ed888d8bfaca60133a53bdc15e282420c91e2d1b5195c9b4690b4aa561ac80731a5f2a20620f6693a688c5b86dd3d267edc3f2257d93a5e6eb54c4d22749f20f7179ba0c5a4256fb62cb0393f13d32a8d67b4f0bf2603dc86719197461d9c354614088e13d27dfaa32e1455725a01c6834befdb7732209191b391d4a44d8800d03599b987f8f3c0b4f9425130c0701146c34ee65286d586c071816b3fe1585af6d5cb07d3853a5ad5168fc71be62de7bc385fac8e4b693a9210f23a77dce998847f78958c97ca1334390ec1ec1fc633b5280cdb8ec2b4725267b7787aa1b3d95dd057aff3512cc6fd348f5a2c1983b04ec99204c12810d74e52d16419571fdec0de720a303e2109f4834485cafd6a98f90dabcf4299540510f627495ea58b0f98fc0078e184c1d7b4e65f6c8f5fcce011628dc19f52b0e29937cfe711cf514b662d09d445ea2cc5cc4a363db2754340d10917d25b8cc6b64052e3cb0eab73a300583c0cf14c4852feb9afd33279ce169d90c2e4b2b34ea08ab4dadd4d42feec959314765524f2f66d75d1d53c17862a075ce07b3b1d6d3c3789bcfdd8303a873996be67ed7952abd30fc631c98ac6006fc3dd80f861542cf8f2e5e06b03f30e235e3ed2e38977055d04fdde70dec65493c43f5c0246ec528af488b0be4003afbfb4489c16a100f396a1e592afd926d3a6e05a76c27fa655206b32e368370f57e4c20ce724eefd3404c6609a44790a62ac7555e82aed2edaeb60b699e3af6c509f8ec10a59407a56d39dea9d3ec48d184f4a3188ec6a33a6933a582b808ac9a90f1ea185078193861f11f11caa8d60baf1da1485d12b902c2be7aa7ae86c61b82055d026262d12785887baa49a08a1e4adafdbcf452a6ab37b88a97555a75db88c4b0299093d56c239630377509f54f9388237c96c84ae8c4a3a178dc3106f00e853ad1423424b2799b6ee281ec07e49118f7e27f37aa6e1261c207f7a54a4cf5bf3b0a417102536ba53d39536806cf06967784068a6fe96826cf9f896dfb1d792b651e18647da843b731b1f821aa39c215ef0f0d7effc6f570b979c8bcef46a8ea864bdf9c4cd2d4ea90c8f54648176560d9fc86b72c8a969aa685338cdbd51062f9b87ed12223a533240d5f12ea91d90bcd1cb20c2e6bb37ba64c62034b5a158405b4e67963fce5dff2873df74729f60f4cc3066779d89974e009c29a618252979619cd4a3e613a0586761c0915cfe5c6d00f71fd14ff6f746a5e2dda98bb8853a4479279e779a80adf2eb394d4ee2b524e939b41ec01920035ea2f844662359687c2b71d36ff45f4c4c35d9c2dd1b4ac53c6c93d226e68bca05c5f7155ddddedd579f5d4e6cc37a2c1af92c8816aea27263feb8e32a5d750ec193f7dbd700ff9f751c1ad61b75c9befdd7cef2d1f51a9c4006125e5b0fd9b4e272903d4708eedb3a56a79978e51e4f0a7e23a9a6a043ccfa10c42d79d59a349e16105aec8ae55cbc04de2eb8a2b232251f756bd9ed0987ec462a961ee4317bab14f135d0d54c03d3382a59d603fe3dd167fd24b3b8bc1953fb4c7c89bba18437e444870d908fb6933e916b9ef88e06f8ea69e571a9944fda6070e9a733e6604342e9ef6ded74a9f918dd31347d6f28a34e577c9099fc88f433a4f1174f7dc7407f307c4c877cc08e99aa9dbb11a4c3ddca72b84d334397ecfc6b158f5a17d88e1f84928eb6440c48fae585fc8130b183863ab289b400b10968e8574f5f633e1afd88753a1a091407c4f2036d53dedc4ac1d5bced4add7248d49e061d8b20cfc8f5ebcc4f9064900cf3521f8ec7f600b40309f725de539dfde5837d49bd6fb7401518a246053de22a49b9ad464364a12de0716b43cc1058a1d3328b49091aaeeb9f4ef36bd133902ed536b0c9f2ffe2bac1bc1aff6ad6cc9399e8ce676afeecb575176aace77b4aae151367eb74c8ee5c07da2e9647b10a3e21f533aa4458024424af26cd90a6ddd9f226d799038bc30655df73203189fa2c25dcf8b3db663107ea750d1aeaa5d59d298b2037d09e7abdb35d4da6caee8c2733f40d02b2c0c529b1508725ac482e7a1b60980ed02e05698bf56610cdf23efdcfef88889a081dd9e4144d26b375bfc14d9726f6919ec79a8e1350a0fe6429f364f1278fecdfd47e27e540162848305c3340aec7935c3db8a6e0396a63c0d8d8c95d6234265103552aee3ff9e26ebf4731ae3ba4e744033f04915c2f5f9059bba2f50ee64793fb356c6837e9f5bcd4eab3ca25b62f588df2b83ec02d024f58274a11c66354f1257e477ac156be51f047cd8db832332b8f88286180e83490b5496a357570b9993207a5c0839c8da0c2025d26359ea3dfde7d517c36843f70b53dd0aacfb74b083db11615586366f5aa7d8adbd93968c81b413696e53826217a42191fdac833c05f6bf5c7f3424d155e91f47f33c3d3da842d17627dbc9920c9c1aee244d39a3051454f4ee885649b7230cc6e37a19e491f6a541056e9388abbfb2e2f89270944dd4b80f0037074618150e2c8b4a13788bd8517e01e4e347c38ab024a5e9550c5813580fb1baa7b09f486721425a3ab918a259252851174aa0eda81daaf95b2a50bbc9621868a9523e7a8a76de04b40f384d96db81e718b898d961c3f60371547be4ee13730ad1f6cdf4d063206ae1953e43f92aa4d8441819e9c1caab9c3ce2e8ba35ee3b1c84d61a1c4b96e0c1956c1681f019bf6c9ae4d57a79af1df255e0785db43954915f6ca463a5f1c03507f558ee69a92f62d33b199160b1fb144df979a24ede5601cf8104bcea9887f9e71d493fc330a1b5ff394c7d2f8df52f9b1e6fb4ec034ec89f2d4607d8a7bef04d06383154053039388ea0162267e446b9b25d17346f5c4bf7af46930fd674a7d9b483c2c4347d2086877539120f9b47eda1ee1a2cc4224524cfd9eadab0180ce709f22db319f8a44bd07ebc7748a16e3c936a42158262ed892c5eae5430a8de9768704880ad8c9a84b02b3a80d2863598489aa471096b2bc9142563941e9009bf18d864249b213371893212520c81f7b7d8c03e8c6b74d16b15f6c3398610c09cac46462b785acb38736357960d02656d8e022d5a28f6ff8e8b24c50499d6a29855fa3b8b6c3f43b8c83168a58b339dbb4582f20b5d15b932410770b5d3a4879c7de33576f22694bcd7a4739c414a9516a18434a9f31312f717955cd0ae8c99bf9f1b6aa95b0050ea71305168f3680007bff2fbd3d8a3d466e0e919cc622d76c10ca01a29a1e2cd6452ebaaecdc97d543cfaf7706ee85f69e978da0660b4ef925347693cad210431373d71de435ba7a761bc549b0771ebb01671dd9100b14f112a749d606b26cf51d700cb0e440580794a8fb536902ffcef51d549be3149c195fea8dfdbc8380caee6a63ba59a00ca3144f1ae37b6f49089c843440127d5ddbf0b0d709d68d371e7a3c139d11b85738f3850808352708fd5c5387e3d85a687542f72106e80be36240ac50ea07c37a39a5ad624e12921ad005bd1ec5de56b34787145280828a6319621992ffe823263d87ceec320458203bdf783dc7ed0416dd88d7f5964ceac5b158d71719f1b2d8441c93fbf3e02369e275e39738567dd6ec603aacd34ba7c8af5d4ee8c5b4df3af70d24393a0dc577278a4d2ec4ce973aec5fc50d1fa723dea63eeb5c177011fba23f77bf2becf7054cbebdb07faca3da04a075d15ad857c7330c3279f3e2d4ea9758d897df43b3ed7150e8e05999e8a946c1ee9469e6b367b6a006fcc297690225dd3c608ec27cc53302f9627eb8179318ed1d16d5c56ed6f7408616a0f948c0348d8c22cc606b79eee0930410efba51784ec44bc6188347e4756015db452c6f8d1e45d7139a82f212141c84e371d32644937288b559970469246337152af865b55e2770bdc2955cd4ae6fb5c3d4b8a9a6b0b4e073fa65887abe3283a7551403c898161a3d3ca220702c78e463daafcd14e9fd0149f798daf4e280107d1321f9e5d39c1e0714636bff3096ea7c9c7651a179d7b82175d7a5c31eda32b2479cf9fb2469195ec5934901bab24a31362d741a05e5b893e7954ef837c4e4331008ec9ad7b0948cd5568466762637c482247a028a62ec79115255c96971c920378b41d411766d2a495268080eef935455965e097c2d81d300c4707e4d8c19deab4f8018a3e45e68f74a3998cf2badee2b706778858830e7525cb48fbaede1e807822f714ae359e69283ebe106224a5264935ad1c497b12f0df6ca305bbfcf33e182415feb481b99e8d062eaf7d5693ba8a5b959d730365707f45aec9a7786b32fd267ef305454cb6f0c41a45fbea4be867b70066bc85ab66bfac8ee869d20d9757b2b795c2cf8e1abb3273dc9eb065010a2ebfcd4d3ba70184504039a566966f84c032f765fc960ea5d10a54b8fed02f216137b2ee23f19d01c9cf113b334729b4f7e136f81b201f7974247d8e0da3df89c3f4f01a2b6910fa2a326a9811c7d91f5817e81615fcbf3344d5f08de351236f0840ec39092c65ed2483a4d3c2af66a03e4396f08ef245fdad74471517d9a8f44e0207c55c30d4b0fe243b67c37c6e7845acb05c18132828e5ea95f1d4923569b3412242f210a6b0cb68b396724f390f46957e4a3f38ef1cd102be250050d1d693858bf65c3918eac41a2720a369be4bf1444d40b219982532b23d9e3daf63d32f5cb3108478a13005c911ee126147414fd2acfeb9e05b6544e4e067151a09b6872af5c9cff0fa5c4b250e33b7f1e51fdf9e29ebe6abed8f6bd23cf14df67d2dc1763276af0d3e7cf36a9465ffaa6bd673cf839fca771ce0348312e0afecfdcf1c55d65280cec53888eff07451b36a1d02fdbfc1adb7997500609c61bb82f0f622b78b7584f46915df24369fcf6ea4fa873508a1c44f8e66356d764c2c237718f3894922240e21f0ff4fd20f66defa05d46395de542795a7cec163d54025a1014a4d7899df7d3e437c83e81a635442d59534dc5c14d0de42bbbeb118c1484995e1cbd95d7f7703cc287415e39b70f19be34b1bafa49bddb0133731b676b4d3a3e039b1507e0ab12d796133ef1b39df43f95c8cd2f4235810d2e2d3d9a05b6f06973ce682d35f230b7cf5d557e81c07ff044c5b0fcebfd6dd4158f1edf62fab1f74077de0eb784ec18a06e799b710bc78bd50ade4937598ab9e19666efd08cdc0a47df7dfa562d9da4f5951491c47e69ca0abbe55d70e5e5afa8312e16d8e1b3c8cecf0c039a13ba8334590af47137541e4f2e99894c03fd5362017f1334b1a8adc67a45c060f8eb2dbf9fa4c308f5410d10ab9d0431835137051d532ba2b1f5c4557dda994c6928b00396fc21fbd423a64c72c0fc7e2ec02c571e3913561d38ed5bc8735290195b32e76750aa8073495e1fb92624d1a4771c22646f2faa1acd0dfe42c974329b3fec6ac393b2813a02d8076b1f09c38652da1c7583998f44f5af6170a712c68f33700b8bd24ddb344c6e8cb7d35e5ff82a212e2074b72250746f9c8717f6b4b0bbd0471e78f2444561c105c4989c5664827dab05ab7a8bb5b12facfb39b3e0f77006cadf8bfadeab66406d0c5f705c700e1765d96aa428488ade29da5b433de2c7ef3d22801c23809b54e9d1115263052336aa1da1bcb3190e796bdced03ebb5285ccc20798278f50657391bd0df43c5a5ecb1ee42532ea0647abe3f53086628976adced2fb579401b5f0b55d14df82de1ea8d1c0bc5149841f16a3f3ce15744f3c0d93b00e5e996c0bd50e2091ec43a7d52e35bf7193681007ea90956ce24ae193f0cd97d025f5fe6bd6e34e0201c060cea7b0a98670dfc021334a24dd70fecf9225470d10ff40daca46cdffa9e8cde4c36089c700b9ff4f49509677810d790f8244a18fc0469747e22cea35e0d07ed0f57cca977ad9b4bb82a19f65be50839e75872a724bfeac13fc62872cd54898ca82f097a0c01ed64847fcaa4a5635330e5d50744cdc3b54a317e54cd34282821acd75fb2b08a83c157df7db51bb1de3a125f17626e968c113c57e61b88159735c1cc4ded34a0458df0606944c61a623dd89ee8f60c4c838c2dbccfc418a57d9984c20ec87dc44e6ebe2087a181682c04f2e65f69b6fbc5e18298cf15b0e43bb1fd21b919a49fccb4a3e91c496cfe5b07ee3d954c0ed9305e1af8b348b473236d1de626b99b09bca3dba3ba077006cc80e412fc41136c9960d9501002f8aedf72b851d10e3f63c342ec0182223a0aa6f2eebb2977bf1b260eb4d1d763796f10333aad62fdc81fab7072a40b0919e83d79ca47eb9a2a96437963c806082bab859bfdc243454c2b2757289f2c2238a11affdc5da98ff7046a7f5be8ee1a40cbfbd19ea342fa1caad457ebfd2d741376f3e8450927926b2ef43f9c846a86b3c6a674a27c18c01d00ae708f7ce60760128b62d727e60795324fa105a6820945fb7b8e4cca0b218a8ba4282e378ccef5d937006ba6b4618017f44c9319faa6d775af731529cca05b0d4a0a7f77bc7e7a589dd85c716d4610315395693f8b3ed15e29bc63c7efd63b068266fba94965149c8419924f80a5707021634fae12bf7e4c45f0a13371b6c9926d385e6248d68b1b873e4fdbf91cecfb7eb4c486680e48c0bc16c06094eb185245e1c946e295f1f799a5c468c074df97052755b266108d11ef6b0518e84bbc3dfa36bda539b023138af8f6459253336a3aae72dfbe5861c24c865871cdd158335af9002e210f0bfc61193daf23e718ff885c1a7d8230469a208142cf68e552f195d6a82cbd6f30df2db66f0d20fa7cece577dfcac0c1d05303b0bf73f00c9a8611278a4c20ef3d9421c0b5c212ba38b5a0ac9c0a1bac25521f8670604cec6a8c7a2b36c100c1ee0205aadaeee267dab2e51021c38fbfda4d59601c9a1b63f1950be315993211c8a320e0656622ea3e77027512c1b3eab2d11f3ec7e589cc2187e92e939d9a447f2f4e844709b4aba222ea31781fed419db511b49396348698a978ec682e03a4ec8a3d1d4304a4df2c4af00cf23747c281845175bdd4e1c633240e52bbf920a08752fd97909c7fa532530e8edb21f08432412c3515b835c01d08620c3060a100c12030c5bf5855604265f6e45634a821573bf5ed9016540a582edcee3f5bec33e90d2b8f5503e7396e855cf50bbcf315fb8f700729aaa6b1d9b7b31e0fe6fe1a2e7d66cdc43fe4daa09a55d339680f3def45d00c41527e3609d7dea23989ee76d4b0b6bce26a00f4c50131e2df21d62431b3e502ae77e7bd2bd7cb2490c28b60d3ad1e516ff81b3d33c5d131b5e75de24922d4e0a85414279e83a15a587e78c413affc27810680f5a3bc6180542da1c43c82d606c22ec3d7497a188d00a35dbd765914b21793b06a24f8992d60fb8c8e016e915c9d10eb1548e6c2b219b508d51294235bb63cc701f355ed786394b71e9c9f28a831316163f20a64e495f629dce500f83cae6cf102a4ccec43edf72815dd76f293684f204324cfd18896bcc7041a2cc041f610741ed1dedab2df649c6ea86c4905b67eb065b0a9b78ae44b80f41228dbd2e6a41cf13e8ad96017c40f1aaf41efde20c5c8456037b5164c212f345bca1ae4d08d622beec0cc167139882c1d0c0a5ff5cacd47fa40de51b76dea8b57634d7ca0d9822837eb1d5e4d1d236880371cccc027e8035857ea4e4ca4cb7b056ed19275d8181092664a8f7c9c99585649024e5680c897616cd9af65f8c1b0a7cce4155abd11b17ac7578d65a1840ac05f00285e57a8629a3591795162b92b61c592628c923426a6bd83fc86ac313c42ca2540d53101818a05646ffc9a9b52dfb2296e5fa9c248615c8a3d5428c79f3297055150ab0463aca8936a0b4628268318ae948858d01d9cfc254a2c9a1e58e524ac556f3543a1b53c09c2eaa4694d1314e9fa173d87169c053fa57a559be02ac0db03d7a35f0d3200d447df3a2ce880f9ea3497c213a3b43e1fb8556eb0565982941e20bf115c9f76844c8471a93537cd3e9760907113a2efbae47977638161a02c29c34c08512d776b8244b08ef393cf081e33ba6a00629e6d68b7253cca3f19291fa07b4073bf9ca0cbc0109fde63b02900419b0fa32531cd1c5770ffbe640e952984594b5d63015a4fe7e0b8db440c2f6d0bb50c82b6c3f970a648dc9b77df4774736f2ee650e0e88d59fa6024c857b07ec2fa3bf43c9704d829e5212b172aa4f7745861910bda30ea1fff92c80919d8ed9583797a47b20f11080a2654b249d035b04dc659e6f98b2516bdc682d27c3c9728c7cc7838e6bdc8c0f809049f2273a3b2d34d219f68a79f581d7e8856926626e250e4dad39ce3e9183b56bb91ccdd3e5853c9cdbc74075ede6132b961ee54e9419759e6d6e2d103b13b26296e186bc37079b00a99beb44d6533e8b5549a284c1f5e870a24da564602828540015c194ff573456b2283981d091314440b425f172584892c2a92c1435ee4faee130b73f29ab9199af7ff2bf14d5bafd13f7a3d795c5cca9785fd880ab7b4285cc912f8a881afac9d0e51ce0452b3bab810af234f1ccbcd5411187c6b5a5c714d5636eb7ecfedf6eb81747ff0a769b38beaaef76ebd3ba2d7cfe9e144c67d00a57189b5be8fa043276565895a69739d3e1a8d0d0e390794a869234dc78b2361854c0e605021a142174aef03bc6d6801c4c70de3bd816ca200f8084d873057ef212fcc843f385702c3c54876ee927c895e428a13ca263318aa2a8a96aa435cbebc406f7d627273b69c3c14496a4e25c1c4bd7819484fade07dce220cbd35621c1a4e421f70cb2a8eacbbfb55eeddfef5a13e84b7203e7767127d44b8aa250291914e30a96621a41b6b4ff492d86bc0757d7373a54468cc693993ea1eb87e50aa0d46337ec414b9563fc6328bec2ac624e6a037be04d4bd0c6d07e2e81a54a4dcca46877fad04923904ed48169d0aa6b0ef2552324a5372a593d25ee8bdae2aa2c42a4da9954e49446914dd223301516bc732d4441b5679e88292ea69546e034d23fb0e8b7a430ff6da96cf0dcf0c62f35b53d0f965e1120ad0a076e2b159b05561bcfc416fae47056b9a0d4098c66fda9894b66b3c3c96102389adc8b61d12032a05ba434f0970c8cbed8a32ed98071e6a61c7a6cce6021e414d5f911450e68a0bfe5e4753e4cf439f5cd1275ae91ae9282967fb4b1256081dd6b4cddbd5d896bf04a2164677c9952c0d57adc4ba223cc6ba5aac11b6e795c5ba0a5e13af4359a647d2bc81fd5afb13b8bae5d853d19fc05accc07ca4e93d1540596ca688bd40e26a72624f51ce0400c8f6d0ade3a8effbf98d4ecffe3c8953af77b76c09558f36094ad83b88339c3048b3e9643a6b997c3851bbfdcd2a7e006dddede8dc1c5db6a2912f9d06fe1193a03b311ed11ae78a6556d656ce4ec5eacb1a3e03628193ac45c49ab7ab3be0962ed5fc8d0a45d72f36524ec7f4723e102961cef42e5ef2c651c7ed484350fc452817a66d3d283a273e2a3bb3726f6067533d5638a4f74bbf1b9a157dbc54f1f9ea29644f262faf82d5e2c3d64f7c88e40d1d101c2dd41bf1cf64b6cbb4622c330616319aafd5a08814d351fab65bf2580011b0db247343da8ee4d8794e64a62ed4bf487a023ce4a169f70e5c824371b1641141346b4a83e69aa9416c02a850aa38271a0d7e11493f244e0b53bc1d4130bae3ee055cc14a17b961c1f00139d3dc516c6e3602fcc324d2a5de76d210d35d58dd30f8f77023a776a4be0ad1258617222ab268d4895fbec888a8851a0e79c0f4d1bcc59b21411f411987fccf558085288d71af3c1469248b9393d9f4e37b2c0dbbadb23ebc4bd325dc5ed65e097cb4834d01fdc94c513314557fe2c3e759d9a9340663859ebfe8160bc7b25c9c8aaebd7f28ed750cdd5430fb1a06cc061cb2031ac8928f5920181aa703eeee4c945871b22273ef505f6e767266696ad71718eab2a9d7ab8a5cf78387040c19c1bcb461bc80c0c302e0039f2e5cb0aeee0b6290409d64aa1a9a0aade378f9d75e012eafc6608f208fdade7bcb2da54c29c91e0917099908495c5c181085b536482ca25e0df6bb5a706039a7c1a611051ba262366fe3157560716790989f847c1544c84ffdd69248ff208f77f9c3e1456443d40784b2f10a172f8c44b072fb654a30025c0290e086361c2a16e6b8a129e65de689a8266c68eaa1a61e5390a9c757269d3ef5d76a7b4c3a34ac6043930e0d322cd1e44a3df3e50e423c7718baf2b38310c7492965a9672bf9f49b707290bc92ec50b4bd34243527c3a153be7c6863dfa6d4c32349918d8d8d4d09ca0e45dbb66dcf83470e0f1e3cb667af34a514a54ffd3b08ed30d42a7afb7720ea37bd5a159a92985c9f8f0907a755a12907879709090e4a7078dd24ad2a3569b0af78b984b08344a71f87253c57e329670df3f29b90b48ab5293ba7559568c84a5116f9269c5665cfdfcf37e5e337b94a434244568af84d504c3ea61e9d0b042b0595a89462da94dcbd94a2dc7e5bfa29456995fff0ee8ad8951f1eaefc48297f603bade2ef3eb444b79bba10ddd026e65a6243532c08acc131acabd473db0be31540b7bf0bd9159696dc7e85335cb7df06d6e012ae873ef5d76a6954c18631c62f46c238ecfafe93151bdac4ae8f3ef5cfed9fa698f459aff0745dd705c1c1bac812ccbad4ceba54eb525b465de7e93024fed8d8c088acd4efb7b1118295dbcf03e7a5b33bc4ba17ebd29d1086ba17ebf2625daef0d00ee8f68fbe5247846788107c3a9eee79b8c2d3751d4f8f8f56f18a074e9f62beb2f96c62a698297679b81a84429098af50b13ef5578b8a81e08d2fb81a6c6243763def807deaaf15045d40628986aa34d8b1d3146c62364236551a6ceb279e3b3f1ffa36315f7d43df908df695f823a2fec3efa4d486a8556d13731b2b25a156c52b8204091284284810a1283ffd4182e0c06db204e336cdb94d33d5803448ac5732dffff9b42afc867048d2aab024745b2866a83f8895fe2045fd5f949290af60be9fc68c99181c5cbd8af97e1c7270c0e185834e738c67ea537f09f60db52ab489c5a6546955888a0db52afc80885a15c6230815b52a34f5d86469555882fd7c449f151b1b2b3eb79f870b668262f23145f11d84bea00fe8a3f2c5be2aa82a28a147c55a15a5a0885030d4945675df8fea4705b56afb7e14958edbf88a0ea5d957a23f9c6291e48a0e0f57741a8ccc7c45e7ca8ec77c14319e4dcc4f7df9b3293dc186f10a53cfed0f6d62b7dfe786a8d815b1db384fc2cfe7b617da44e1f64b6f086e14510d276c6842c56ebfa9c7860ba7556167c3e502123634c56e7f17bd70ddd84211f488ed0930818b3eb334e845b3a8e8fa105d4297442c3873a86788685ac9a8cca8e467f9aa67c9cc824391a486109182739d9999b1e0305bd18305070b0e161c2c484c39b6f463def9f3ce1fd2425647724045123b575e5f340146cb9f485c1129c216357061b1e2032a2dff1ee2eac80ea41041cfcf0b7a800046cbff87b8a2a10453e040044e604e88a0e54fe2b142a28e1b33ea9094564a354a374a394a3b4a4794b6503abf6a6ad07f0e5d17e22bbac44bbca4c4b4c9b4615ee7c9e11c12e22b6e31ede9e16c523977b0b85fe80be955f7feb487f25c4e87d173efef43cb0f2d50787a581d037f8b97a363e01f79a98e8163e017a28811be9d37bd69a5c1a126a625216b16d1d70573f05cdfa80e554277b2b4ca358b9a5c7f9ab3c3a79c73684ea22139b2614a1710f1c743d19064e6a2a1212b1115af102b436488c906967f925a457d4853b41ca2f4a1f4baac0e81a3535a67921c7bfc8d686da137d520cde1d2b1976a30eef0eae55e603af6c2cd226990bd3082ccfc4348f2636e4b2739c95ee947c837e4cb52810ded8d7c4ba6705e300850de21e42582de1a6f9671d216fe9abd21b62b67b09eb061eaf695343af64200a46a1ae44f5e1cdf10f206116137d560acd1b1c78281a5a1a134db2d828f78772d70895d4499dca92dd18c145119a571d9600da96dbe699424251134fee64425d1b07446c69a49559649c110821ad38dee600c0c576b46b3c4cbb538ba20dd686374eb525b3cd2e8c0f23b2ba29c082add77b4e4b871e3bcb0264c4959e3c6971be3675f58399ea20c45c86fd4bd703084e0fd244911b5c5444da6ce8024196336a3232a7e65496974353b7077f7eaa769495d8cabee6b8cd64f51ce4eca1a38bab0fc72522fb49dc7144d2777b05238bac6bdd41dd9a9d1811354d2105173c78d2c3675388c10a3a94453834463c68c4c8c8d961d37e042beac5dfe239724b398c52c664c3cc7d16074e9b59c72fa1fb92e27df217c08f71ed5c0c2776ba494b2fd7b52fc3a6666d276a7cb6e6f6f076bf8ab77de21686c30ccfca6ad9fe6e5cf5ebb713444ba5cf2c6ecdbeb9bb114fc458f087a3b88e9733feb75bbf7d7857ce70d83703518bfeec865669b659f91225af463a10ccede30c61823cd122ea82bd02cd1e27e9a02070d0f2cff73c0f2bf8934a259024a3739dad52dd3bad31438c09aaf52cb680743ceec3a9ff9f2ab7263b231a1c181e527b97bbb7731aa5c4a978162f92dd3e4c0f277d5fd85d2f8d636b1e3ee2f2f507bb9f00280d7b0e601745e30c2010020fdf57abda2788dc09301082cffcbc0f2dfd0f132b430c1c4bfb063c4820dd30e1b477870a6120d8fd26a06e93aafd72b8a9776a4553523352a0d26cd4063c68c9956c6fd6c71929dfb5a729b3e050268d8d1795981048d9b1e7246a6c78c8c94918f60c2f2d750c3b46104f265430f2cbfc7eca0aae0eeeeeeee524ae9eeee4e69a53e9f409da709249220f16594a0a60037a38fd9e36b59b638166c985a366440c0e694a7e45ec5066a43007eba4e4a0a9c861f923a5d62f9cb984dcc1fb8cf29612802a594529a6d94522925a554bec490684c375cd070441c04e8e60174c87002a59436f2852e6c4e03e02127d53e8f03150031b0fc354958fe1678d46c4b98a1e50333a0a0a60037a3cffb1befa6e540fce77ba31ef30b593a5db538166c985a36644080a47306259a1a926910508344ead175fcc2151b688ee5e76c903ee415967df812b4c6a887b434fc903466fca061c34c804f0108c1cab9330385e597f980e54f40023a202d39602510e9e333a31e92be38205326660e00cb9c73ce39e794734e39e78cd1381ad34bcc8c57c34600bc1600907a219523878e1d363c667819c00cf2e6852c06e0c20b775617463db4d3a847059f587e01b4c0f207000035b7d562841d9590b4100302462d7cdedf40400f8ea8d93a7a707f83051b261e354c19649989a6460d3668490274ce6cce3aa736e7362737bbd971bea441b9d3a084cdf71e87f5f44071a0a05ef513483a964385af709e44b9d27bfc1575d4979fd1e7aeebbaaeebbaaeebba2e73e95a462e2da36eb244c240b34911126dce5984a40849511276bd641a1d2ab0fc469a086d1fbbe6c847d7ceb54ece6e7b62e5c73b3ff6f9184a83920611c358060b4418e44bf91ce5e7ca951ff60d19a64169954f115f794cc6285c978d70a0d9c76af026a2e4536f478e0625cbe0483e01acf21130285f7acea53b4c832ee54ab3997191c483b2a02cdb022828084bd0e55abab9415180cbc52931b2163f750a4f61a02c53a660998225c69ee335c173ae7c8f499ba8e30295c58365b880dd1175f0cb1c868122f1832bb100b19c92d4c9a8835da841f72ad291b8ce32566311253dd39442d4f3a188921e4be5505961438fdd390f6004db341deb2a1da319fd9034943a51aba4c7dc8af75cf92133332f69e23e95663dc89e4c88af7c67a763555a157a4ca857b215a56c31a50a51aba0b44a88ab0cc96722594b99ef5cf9d39760f1f19d52690b1c1fa694b1f860f1c1f2e339d285e69c73ce39e79cd34657e7d434ad85be90c7bc0a3733f231a3631a5d933aafd1c9494d1913fb350dcacf637d921f8360359703b0e098bf907e8a25e547a6d446ef9f76ceaf7ed14f7e9245747718993667e61b70c2164260c10a90201446ab5f5e9081c41747d860093ff8219a3f57b60e64551c51337799d58cce272d104596dbcecb889a8535601bcf26c5d653035603e6c223e5d3c8ecc8c8f86c3c9b145bcf6bdbd9a46870e369304992e6c842bc2d10cd9e930c7aa87002c618514c11c205050c5e1065065d4c6106540f0fa0080192243ca12892f10385254ec0048c26a8885fe3dbb88a498882900776ca4801135268c527c5159dc1153f80bd7872e08156fc7833ba110b2643d90e1196006008521031191a3d2087075514e100e88a2b4742508510a0b8c2c5153e4de070b1266497af64b86206fdeea1e9c2300cfc3c5e5894614aa20ca12c7cae8730979f8b0ec657dd1d57479e1841125e3758028b183d2dfe2dae62184bd8800a1748584006123c305d4a7742461b51714e39dfeffce6ecee0604335e6025cb27cb910dddf5afe9d09c5acdeaf6cab0d8b278691e93edeb9661b1655133f91a0e5e5a5582a3b203a9a982a423485e44f5bfccb1450e197b84d522aa47028081385839b6c82125b771ac1c20c8ca518d90e3086e4e9941a114899440148933a54053328331258f125a2831b5903f4a442648d2a90c936d2359efcb4e7d925a253729b93b3281a45f497ebca51af84e12581354a35d2941d2ed9a2e64aefc6264c27599f4baca49d9354a39a974e9322661f97bbb99f67354430f2ed57099593557da57d3271c5c64cd71ca168e28aa5d2f42d2ce57a43eadc4b0fddd96c872ab469de20137e39c73ce19e57cf9853146596be673ce8efe6d4fd839698bff7c3ae7dc9e8831c6e85f16850fa5b42b9136adca74dbf69c7b3344549f7a75bfbf9b759b09f79a074324c0970670fb41dbd2dcd6f97eaab2d6593ff54a5eb2949be6b2b252afe4e95449a73349509fad6705ec355b818cd557bbac34c379329968ef34ab9a7b6b7a4cb2a7fe3573f76f6742bfd22fc6532d32bd18419f4c3317b45866d405d2896c3a85742dab9a87f3447a37228a4ffc95c6e58d999fbf28f9934cea679e4b24807c2d725532c95ef33a20448ca73a675659e05f8bbd662c30cde832496455e09e9cb671cf558f49f7d3f3224a9ee46f5ef7f1703d7b8eabc7647bcd7b890490dbe8ca2d82f21b8602d79f3326da731d4ff2a37cbec0f5e72aa5b6a9805b72d3543065943240f0ac6795cca4c9dcf6e26a144ffdf10710c17e2daac0063956ed637fc8baf153ede13c718f09f7d253404435b77dc086298d89f6d59b2112a0b501c8709bd5606f394cea6f5e0784a85f6af3406ab481c0ded06cd216fab532caa31abe486f8f84e0685ff453fd6efcd49fda5e60b9a5bfa926ea9094c6147184654b70b1263400d1f5e7786e5cd80ab0401d8a6fe3a11d471936270c83fcd06df8528317baf8e0ca6f9921d4f05cf9353c514716e98c7f3379da78ae3cf944947c2937272c0347182e4b2a3fee388bcc5c011e77ce8f36a2b2bea71f6b49a4f004dee8ad938f9fa8b0fd61cdc9e77a4d8ebbacc9b9fe0211587821769d05a288f2bfab1fdb1fd66081e8fa738d9802fa6be8b736184b35b070e7c70620d2aae8a4d049c10a15d763f4b1823fb664b862063ead7e13cb608a273635cfdc48842750b9fd5d06baa1a9bf2464c9ed4b43e472b98c008756302d2e41d1e567f52ae572b9bc6871125bccb83c8425ab6ef14bef1e7c70f97f90024bc1edc1e597e12745ee0a914f8be3917ce9e94881b5350dc621fe8e5d58b24a6716c50063075780f04a02082c68b54f10a4a08447408ca01ae8f028c9e2aa7ec38d8f78ba514a1641b7e5462958105dc9e159f774cf68b8e1c6078e1ba5001971ed8d52b08861896f8d28c108b84a8c315394a1841584502083292d00a315b7f8c010a25041099478e28856f32032102cb45ab5325fe8a08b2c9adc00a80a267a345183299488dd808b2c5abd8312643a59566b132d5593d55a418b2154eacaba8a2a9ebc0089f1d23a0012c2eddb0fa6fa59ad8a569002d40314bb21f8b4ba531a6ec86e7c5426b7a51537f889c93ad38ee8ac5696e20417f401a438210437e6462943453724ddd07ae1722c3644813ca8589058902055acb0610b3b28146a92818342a1502858101c366dd3e6a6cd4d9b590783a17e503ea8180a05844215a150282b2f4c69c26d5aa9a75521c8d35376368de2d00ce5731b15c5470a11193864e0504ac9c0210349cb0f419e16766e7f8c4704a74ffd34445c0d46c186a81de985f375439b187db5c05b70b5e06ac1d582cb851c1bb6e0fa8902a567db6cbc38ee85170d2b26760db14bd3f8058110f4789220aeb2665dcdba9a752da3992fe14003e667441dec3034b40fca27458f0b8791f0ab6ff7fd9cc34978a7663b14692f35cbf2057d543ea02b826eff57457ba959cdae0c514d0aad67480a7ac5ce100f5786344dbb72e587bbc0bad74a42252117ee4a43daa8874be9771082f564010a626d967a34a96960770023d896cfc7575f93af49092634440494a54454b34e72cd3ae72b726e3fbf6ad6813d38665bbe26b77ff43979f978b812fb9ad8510f3ba5478bf1f37025c65762fcf1704528a2e29d44026111777379eeb94f871aac56cd78fa3b5a454345f3f4696855e929893e3f94191e0b0d35489fc663228fad3448bf48a595c68b9786df195ebcb1b38fdb17c507caa55fc3e39ed887f9191fc4cb7c0c89f424d2c7537e8b411b7d1a305ed720fd66bcbe37ac60c31844f2939ba40c15b54c3f434402522811e3d9064b301406e6a757cc82187d8631107d0eea950c7dae429f87e833115ba1df2efa305b17f1d53f65e1e9cb171f1aa44f84be932e1774a94e83f429ece3290ddae881edff61c9040e5a369e67602267a7657a1ee5a0812a54e47053650a486899be3884ccbcf76e50a9724dcf8287f3244ae902e79abe20fdb11aa4bfa3c1d10c2dac6d90b20ec957fce327fab55a4b22fd932ea9557e692bb6e8a5f4f9a741bad320fdfe5849839452d3fb575fd978929ffc6d7c46e2163168d9f838cac1f41961324050a5a865fa38cae1c813402d1b5ff51c8a38a2880910b44c9f4cbf66f42b818b3521c74f6a15fdb175bffd913bfadaafbdf6a3963f725bbe906fcb774fb0f1073d18baa1bdb641fa44dcd16fa3d7469f0ca779fcfdb5a7fd8df3f65a8f11377b20b4c775b7aff4a37bed76df919bfd911b4740e6d797efcd550f88edb5afa67ea00d2c6c78e4be467b5c37d292f6346c5e49fb6a90f76ff5e26d9181d5e13bc16c04baf449742ae1943de67d6be99e9d6c2d2d9bbbbbbb7b139e966ef3e798767fcd3b46e3be41c42758ccbbcc4e2de25ee266e6767797ee2edd397a4108e12de39586c8fccccf7c469ef4cbfc91568c571212f3319f116ec5fc9116a779458c4cafa4fd91ab7d7fe30ab67f23e241bcf6379ee0e2d49ddddd39d7dc5f1ec6f66f1fb21ce60bedcbe7d2f271f3eaa886d1c79127bfdaa03bc7b9bb2b166deca4b7adddddddddddfd376e77cddd9dba6bd9d3f7187f196725ee2b232ee3c5568c17a5f46f4783ee1c43056e9999f8252011886c6ed99cd9dc321610fef13b96cc8c4e834a7867c68b2d192fb6b80ea24848871e1a0c8289a999662729b60bc5eed81e7f10c2fa4a872aa4f91109eb0ddad1a0fca108eb7a4108f13030c678a521313fe3677c469ef8c7fc91168c571202f330dce61531f2fe1c112182e89e8b423a3428592392fd1717fffe90d5aaeee5cb17da962fac2df25b3edeb473cd728ef3242e17b8e0460b78c6f800957696af665ee67f501b64b9fecd78321ece9398450b9ac4510dfcff3b1abce99394deefdefee066a441209505135333cd92628c175b3073def8b7a3762d3de384e6d829d1a7b64518c9c73992718c34e86a10677bee594218e02dee6f7a7b6efb7cf8a99fe52b22de9a5ebcacd862249c93ea9b6fc7f3df20b261fcc961240d3611423c4a7fed6ff46fef861f8210c223a2c17e527ffbf5cf47837df3ed68b0ff04b3a16dff6a8b15f6af8f7e21fd44e2ea0809a87040054c58c2062f8842ab9f040101892238810a18cca0d52f31660cc186b1a8884b0e12ae2b3ba9b548af4c3b3c2865e181286164f1812759402174658d3eb2f0c00e1080686a5d9a771ab4f1d2a6ef7f83c8e909e6f2f2f9e52bfbf25967879718e97e2939ce14c7c8dc01a23839c542e2ab20647f4d6caac8df7882f5580da6487e92fc6fa44889fe1192afd8f5baf263d18d2b58fec8bd784fe697b8d79e9d70dc7c6e52a457b10c9c195cf99cd32b99967c7ec9e724bdb2f25949172ff99c36494500ba40b8f2ff083eb7eb1f242bc7cfbff1049b0a4288065ffa08ebe843524908b75cfe48cb7a2fefdd4072d9c5d1bb2c7ff49ed498efd5cb73dfe2ddd060cc2724fe84f6b3778b2d30b0ec32d2a08d1e584d7e90ecfd7d3428adc72f3fc9cf3cd6f15809ef78bcc4088ef562cb25def6fc7e451a942d32b0426e6850fe0966e5fbc078212965cf6a2629a560f5cfc629a59c9dfc4f46ba39e151d0420917b07f64ee0fedf3b7b62facda57bf909471395829a1945401d55ed25104ffdba59d3c3fa391ce4a9f449a5f7f241b0cbb0ba27df773040402f7ef04626a23eda5476a5003a2815bbb7ef693c28beb59458cb24b7531661e57d6eb9c21e9fb56a7659a47caac12ac0952d2c99c9957c1db0521d46002e320e60a7617badd56ec8c71bbdb5bcbe8eca02da40471c1834be34629414d342538189098b6abb3a3c0c9441d7d5b45b3ed511100a18dee3e924831dc09443ed73340486f06e23d0a99f4cc06ee98bf3ec735f3fc4a8fb9d4345e4392260d3a239ba9311accf6c2d9ce65d4d23272e92cf7b2c1683155269ba133260d49f2aea52e96684cf24d372472e77fadc08fd20d1d70e75701bec28fd275c0f5f7cb978260ca6854b061f793d2e9459865de0b596ce8ddd3a9cf97df57de3947f379e483ca0efc88be848b51156b046b7ece39a7f44c724af9b594ef77cefe503efdea644a82f8f365625c6daf7d61fcfad906bd8b7ee356a6c1bfe9ba49d160a459c26a2bf952d3e4fc8890b77edc4c3293ccf947eea473ce9737844723c6906245ca184152acf81845d7d4a0e6ba32469810581a1f26c746f7f90448b1381f0dd210a39498bf863528df85abc361301850158765e92c2e9c4dabd9d4b264712963941bb20f11791147913832a75556e44b977c89a466ac9a4d59a455dcc4090fb31659ae7ce69c57121d39473db80d4b952cac050c4b152c55b054c132d4305f0d895482ae7c8e880ac7a20ebe573e07cb9225726771716c58037550cd66cd6636abc360b02bbf8b72b2f84e0ff5345151e3b4158efa44f96915df2957beef781377e23c5c05d281f1134a68914e914e914ed18ef455f774db1843eec6f7eceb4b23e28a9fb01462c455f4938311579c333fac117379e28a863ec9a82309fe0577437e72e54b25bd62f5e9e5ab97afc38088929f790b8828d980c8355610f385ac732577795401be42224a3e942b9feb9e88921a7d8ec2943a31638660614037e4ca2beff1937c29a5903d50acf4caadf449bec954538303478e1c3b7644893225e6b106a50b79ac631dabd2a08c352863b18c861165601811c4f05511df42760f929ccee23b916567b9f279284292a555a1c31ce6c2f1a0eec9c9f195f7e4b44f4b3ae79c33fcd5065b4231879097a3c2d99225d912ce9a4466662a3c9bab3014ed898a3229b29e8c27f389a2c198b3253e9732152a61acb284276be2248b2294f148d1a3354ee7f450c756b888db32d62ac794f0501325cc59c6589428b9b572ec161c773e8e251115af1c01e1cd0b8371facbf91aa7c1f999d72e1c58fe6c66584c997239e32cfb3ae3894159bb7c55abb52492c74277d26fd2a7f9d39bdcf9d4c9f4acb37e75bbbc5b88a8b5acd26c49a6555ae381b25dae5e8db849c83e77e64824f26749883f5f9d21f66121977eef8e61d5a49d344ff78cbcd8359ea94ff3d9491682e00c99ca9d3fb36c098f1839778aa173e7673c9914594f0625f309e5fdc187205ac56d3f9f888edb18cb4b66f52b65a6299b509461797567596379bd747ce5f2e767b0da3994c0451f6cd4620840977389b746f54eb7ff259efaab65dbf2c4ee68b0d975e3890beb1f93d290e919a1bf010ecca75f29876c03f4b3af5401beb5d5750cfdb1453f3b1232632bae7ad031c11196446109404eb4fa49718501269c200998126ef0cad2eaffb88a58c09e8c1183117cc00a0eb4fac1b83ae2a40744b8c11344a022288b960b552034418cf945138a20d404584d62ed8d529ae003824a7a97cac55499ae5aae7632b5b3dc842731b5a308da6aca5bc065395229d6132b4fb24081a39164139020d1ae56ebea53cc71e28454bf08663a11caa44025143df40beb51b866aa085a77b55a9e22990a230bca4dfa146b0da38392009e28356fbb5a2de9639028411835b8618a8661b51ba584f124ab35d3e8f41d2956acd674a3142cca20492570e1bcf17451b7f4e3f64df92936181f7cfe8f37db9dce4a9580f0adb9d369e0eeee20bbd74ce952368e1b75b8a7b2cacd6d6a73d2dcf81ccc8dbf695d44c8ba20df98c2f24f9a452dd618b74fabd99451cba29a64642959ba900429a5944d6455db5cab6252eadd525239a79434b0a272a43de0a6936672568d6a558a4f4a72928c74010996542512aa9c53a6669249b52935d3bc6699ec4be794df73ca39a594f372a4533a3333334b2a6911b85d6a26929ffce4c9567904ab34726756674f4d6a7d29cff8ceef99d7b77a1d41fa340357fe60cf3e8e28fea4eca173d2ac8e3ceee96f41ea73af8d8068209477ca6ef3a40c57eb6fb569366d3dc25f6b26bbc9ccd4859826a78cf4042098aab93edecf535a45af1385e19229ea1c25ad9a77d2d66c7d91a4fed7c0e8acf2819aa5aa2f8106b76f3f37e9ef57afc0d69181fb25f8dcf9727e45c19ddfb5ca32810977becc7c93500deefc9af985dc07c47cb07a95115cafe2c5f5ef60d0f29721e55c7f53ab66b8feaf84205cff1a7f70092bb8fe385a3573dd514e68f951f72da3aefbeeeb9f167f0d2a367ea1e4d697f58b316e05ba158c20dc196ecdb24c4e8a04a04bb168d1ef6ccc0597be0c8d61b9f44d544a1260977e0ded715d291bc675b7032e3a163ad04898c16de7cb5e1b8b284b70d23af3950ebb30b0155e5cc1009228e3a8a3e31dd5638dfaab11faf32362670da6d09a5f0ff1b3df6e4cc1d65a2bbfd88ba72c36ac37e3244778f16aa598bfd4cdde4617d63f4b010c8a845a36b2b021bf32569fb2afd57e34fc069e704fbfa7468eb4e847f253f6b195fd1b61b3c875cf960af015f87df4e4c37939d2fb83afe6672f84afe8674f6434face93b7d43cea31447f432840880ddf1fd8e00fee430d787c238af9636419ac1137f6e03ef6420f88fed16f5ee9c7d67de1bceda31ffdc5086ae0f6cb8892b7fd729e7caee50e8fd5aafad9ef883a384944659fbd4d5cb109e2297b9369666634ba21eb66d2081b3db0fef266379df1cb4fd967d592fe45cab2ecd560d69f0efcbad99f6036fbc8dc0e88aefcf8a5f9f98841a813d810c7951fbdb052e5ca4f4901088063f9ca8811304ef043d4ca5efe8daf8c648009485af5a594cea2d447af788a9021447af02108f94210e1a2ceba29aa005f2187a93346abbf7afd99c71f79c8d4b1d2aacfa321ae240c1bbc5ad9c7d27cedeb1039685af69b967d2d94d5d7b29a7df639685f5fe37ee336edb5af635f7d23da6f5f11ec841498b85a1b2842ab5f6b50b161fce9580bf9497e0d2ad657beea972f897c06400bcbef9753cef2d588861290ecb352c74d58d7a5583b6e7cdc3084880e1db74d1810da6bdfd77823cf033dc7cbbf4164bd0954ca61034fb21f7db69443cb8f7ef46d60f42d9fbfe76830350ad25f02228128fdd06efd7a2950bfd10fedd6af04a4a6de740cdea906bd050633005ac8efaba752a0a71af419348152b019d3a0b47b7e59b78368554bf943abfa36d1ce0d0dfd3efa85f40fe9d7a1bf877e1ffa8590de9f3282132ba3840debddd12b92b3a230e8ed88c2f2db22039bc2c192e1eeab7e59ac1b1f42983e3ff3d3cf880048d0a29f916805158ee06acd8fa31c8810b5e857fdc45378a00557f0eb3d4fc06def795f4dd3de871cea8f5afea6e9d5a18756f1bbf8aae5b52fe2abd16b7f80187b10ab885a8cb48589cb5ffa25e903fd1e5ab5622a88b467edd05adafbd0fe06ed87c05ced75d0fe07ed257ded412f7eb41e5cba77f9c157a51cb2ec634bfb54d471badab3a20ebeda1f8049cb6b2f44abe26b4f44abf8b5d7a17df581b5e26a1f990857fbccab71c400da7279d9011b7e6cb0b400da72f9527ed23e7a9125cb8d5e6401ba2d1ecbbbf193f6345f58ede9bffc98bdf060056df3e44d01e132eee645af7ea2135641c0c59ab05f973ee7b7b91943b0a4e71f5fd978fa0cf395e929cc532066de2b8d1995068dfafc53621a332a9d99f958df0e1b9ec983f16e3cebc9340833f3ce3b1cc7eeae021f679d2eacd0272cebc0ecc85c1aa518c1caa5cf3022f47b30c210ff4c69928e1d224736c0bc6cd07f66e68b2d56fcf00f7d0ea2ef82cbcebc0b1db03335c0fc10219e4c83d4c70db40bbbdbdef760bf3efa01d28fd4207dbf1c7b3d3420fd3b1aec8f350ac277e635aff4437b79ed8f5c550948dfd0e7da871b65d8c84d9ea2b3f1cf6d981ffa2e1fd69f1e2418122906444c82d96e3c7df14adb1fb92f7fa30ccb37b58127306ffa52a51c4c6fe36d7c468eb44c1fe827fab14539e7c8d2e7cc57fa31efccfb9df902a436a8b42c194b6a12aa191900000010001316000028100c88c462c1308bd240987d14000e709a526652964963a120c7611485519041c820630c210021233444b50d2318388230a0c95e5b8845d101f41a37331c469170bd8781d8a7ee960774fe1a3346f7aebc06b0ec525d4ceae950057f7971bcb0cc74143acf9455bfec636d16d445180d8de3d70d92d4b1638bfb9c9859db31ee232039fa28ce58b66ee29765aabdfc202813d9440dc6cac5bd62e939b7c36cbceb4f9835332e7b4821de48359867c0709fd54eec6ee21a023d136ce7b0ae6c03c7eca64b31bea8e8ba37ba1084de2fe5d8aca171adff3163338afc3fc23d3cf70b1ec228cb947c2bcc216a71a420432e69f66a121b9758b5d196cc15a894abd88485f1a70186b851744c90bdc12605ae4e9a92a03375e2509036a37378a4cbd4392ac7af83a29b9ce40433a5db4e4c9daab8d4b74f258660eaa4b9a2b57e391c76688185f0ff6a4d36b22f325b0b7a231f8d8c6945b86dd70436b2da805e42011c565072f8f681aca62424b4181156df0741d4bc03f95a21382dbc0fc4dac9e16f0ae98e0835338105138433f82fcaceceb07104292ddc264eb087a2a7812cf58a6837ae7c1bc2a35096c230bc891d9bf5b11ee82f837468b3837cece35c2ae92494805090eeddf672d9b06f8f98c2c71cf04916b1c0b70917d2066ea82b5104169424aba369b419e4772310e31f6300ee977d90599d77aa7b3b47ec26700b87af3f39d33f150ca3bfe844920d4e2bcc0c0522874e710ea723b155dd5fb774fde4c727efa0e0958f050722d1d7ead16cbfe012ae4fd21c7fc346bcf6314f3724288b9b863b9a1dd6b93a12def0a69ca78f2eb56a45cf48546d954c432f5b3aa46f0b23cc1a4cdf3b95f7a553d05c812a65c81b66242899b4881fea644f2cc8d4aa7c00ad7a23ee0bd825abaac7c293e1583d1664be23fa272e3e66091190bec77aafa37c3245a5378b30ff9a6344c52cdafba1111da46c59d528c5ba9074cf5113da4c19b6193d6b1ae1f3c8c771653e7a6084f24964312a6815b2ec8b456afabdc2ab21a3523621ed53e53415d91680a524d824b1c4f971c9021784e2037db41d46760cff56820fba100b4b9880c6cbb073fc9ca5fd3593a35d3b3e4281ec3f4cef3e73bd7355a6c3a0797b8e43aff5ce2d545fe1bc98a8baf547463970329df09046c8508e99a4bcaf07d413e26f11c8f78a974f528e9d44c85908f04cfb63e015d8bc90228a118ac0ac9ad205605643f6ac0edc2a0a2e5a316272039d5189d16b691e1896631e593369b69e0fbafe1ad17de3e089bec2c882034da7efb946e234bd43dc4401d000140b5783bc32f056ecb8d3a8c0240af43c6fe6c522c4206404e47dd802db03121030033a80f98f1774da2fab4644422a748a5614a9c49b7f64eb4568e3e7efd7e7f034ada8cfa9d27ca784b7d6f5a74ada22de32ee050c4fa03e7341978765d4eda6cff43b94c81e97245e14117571ccfc5fcb298730956fb6737b48fc3e6180cf920c55ca89db186c72540cd21509b743a78df15f57a381a233de496a24d075c43b518d365083142eb7c350be28b9ae870200426d81b7ab7e4f9b8ac4b68b441f9b1b074a95f588d3a7dea39d811b95ff72cdfdcddfc6036ebe1194321490fdff3b672e1a7b602f7714fb723ce026b551389f810f74793bdb92aa5940e2e63d0d5b597905c842801986e0f2a90808715808c0fa5a5754662d6c0fdbc639a73a5ca3c5b58d4cabe06a08904762b9a86489cc50afb64e1dbb7a786546d88423adcca2db7e59f5861efad448be8aeffdd33f2830609d5f02654598a700ebec1bd99a076925bbb01e85b4725cc901f54abd2b1f45a90214ae9417a3ad06c45dfeb5382887a993c7e74a02cd4cc79a496d64cd3fe64871d18c706ec8d61c702e6363c15aa2738edcea3c89764cbfc7b45ade621dbc018e3f0256beb461f1d8c0ce2666644d897e7cbd0aa737e0f89831ce3a88ae18a201d14249e444c11880825f31cbd7ed989732b5b8e2280adbf228b3251554ae00975e540e4425e7aa8a791426ff0de13ffb4e1023d81935993aab6a7697823c56995a5adef20ebc79e64069751c100aec5aac416b397a0f6d795f20c1c5f257648ce5b1a066971263117a69d9f16d8b55c919d2d6148bdc511f48aa41802e11b2f35736a4d223a85b7d0f655c91d76b1c1f4dfdc8ed168712a66707bc37db9f3193962ca131f3ada118fa4bb8b2244ca697aa3270d84022560fe52f3cd5607f74fb758cbb703c368a8fc02e6d4782fc2b731059e64d089f4a4b782d53db266f26c0f869816dcdd08d8fa87e4be1294617e07f34670237a1554c9fef4f24d7227eb640cf1b15b08d457508f4c2a6d513f63063c9b694596d9fe33ab3d8b426722eb60936e01301525f742f6b1d7591b7827f634f05e0db0076dc23d04327fae08ecd485055ee3bf931c4230d6ac001537928ddbcb49d79d07b74633d5d2de25120ddc3eee3b3fa11217bcd6991de4ada2ee8c15408c667b7244cb31dc688cd7c767f35dc24a80de802ea52cb5643d00e901f6860b0a82f5a2f7fca22fc0c5eca2558d2fab0223b37f4c8dcd045aa85e1c3592bc3d643a21c5c590e704204554580dc3e7c6a10e5d0954fd66715ba1512e16f410c345b9302a26feff57d8add35bf57e3de4e4e476ead83b8627459342286115bc1df00e26df8ef55e3698e04eaff79243fb6800ae49b211b534eb5477a1fecad3e05575b3275fe64c4285e8dd59a513f314d06f1a4554b1ea9cf3329402fda109218841b0de8f88758b5758a040c3992b8f1c7a0bd2bd54914ea8b73ac9796b1b954a9660abf99fbe2451fab0475f4204b4784a6477ab52e6b525de755f56710147a026f2b83f59635da3bfd56b8f80cf404dff4f4a11709daa03c70a11ba6d2e536ef78d929a007f0e1c02902fbc7acef64ee9c92e5cb4c5bb572da96f52bab0981592480258074f36a99b52be8e51f0556b6d4650a16cbb906e1699dfedfd41674ee8c08c05df6e5adf20fed347803e6ae67c43191f1310d68a1d691ae6900e866e2ac522245fa984d0a670857c96bcfca14d5e16b1f606422384f889b7c3f8453ad31d3a28810ae93eb678b26388e554344f12e2b80622e00f63e93b7ab346677bc52d2e1c3a1f4b98af59d71e98b468822261e786e4a91010dda1a788e336f628d25d8ace3f0e87d9ba12aea849f7e595e44850e182de2bd0ba7ce1577e7a6cdc7b0589dfbaf10da5a774e00b3bae1899fec4cb90e4cbc5be32b565355c2e2bbafcbb7555b58414109d53ea1392a0ac861d082d05d80fe1d599d10929494b699e3be96af7f6b60afc4a32424d09d3002d5eebbde575cbd106a8a768f3f762109ca85e52586f0696a3babf8eeb32451ac8e045565d3225e7ba4669aff1f35a8bd25750b6c05f402bcbbd574193fa512c83416d872754aa1512502d65ef7f84e9520393f0904974abc6d5b686c21128f32e0900d4b7cd7b34e02078ce4bbebe222ad428f605fd7a77041ef84fe7984e0cf3b51711e61c09a77c248701b3d1f9305666de64b97381c01372d9cd57c0adfb04e429641e8c571f47b23d90a0de5f269eb503bafc1bd22ac9f34c00fca8d48c2e0f488ce21d8e3262caddf9adfa8a4fba4fd9df5a6e194fcff76231651d296743c27d8a03e9819f6761c4a8232ca2dd146617a28c61f5f9ca0f4038cdc932a3e1e2fc82989da29016faa58f754a22a1e5e11d19d161f5e8c622251d468935330ac42ca441a78d8be78118124fc8925e3cdff48f845c157622d683b89ab4e1c44087c9b5d2518f71e3a81da7adc5477c20a07e229d0181f7a9e0b628e38c9b0bd49e7c484c01cf1632f7a4d3add6fe24fa78cf8a439228122fda253f3ca0b80f1a1c07744450a68b223e1c0b2677c48c8509c70ba93a141f55ef5308c6649229e3d3c98a0581634f19bd5bfd26071dcae78b229e17168840dd783c9d315725745271427b865598bdd098757d7c9d08bf5690337147506095a117d993c1748291e1fb887323ac8045052ad56ec33df37911199979609273feee9b4bc77a0f0df4d5547509a803416be71a022822a50dae6e9696d3b0bd9df69136967f400eee9ca5b65bbf901e942a23b003b1be9c2482426864c9ce3aa255d2d1c6be831988ba7a2666b2f546b1fbcc4a71a00813ddb86f99dadb4dda82f89f08e1e4c1e73ccd4ad7ae8f301c3efcd12e8567526fa0c8608f6a46a6e0aa0540421b75dcd8a86d466b6125fd2bde18004d635cffb495f93bdb959c41b9e4a81351eb9a7464c48f70b836e3c89ecb3e6e019857291478ef3e7b4127b04b8f911eda5353fc4cd1584cdd12ec6d01fe0cf55a3c294fe3ec4b28ebb1bfd2868e613efe1ace9783f57f3bbf8db223821e227954811a537bb86b0010a6208a845a41cb2de8d2b71bfa0e9f1fed9d5dc6d5a2c0be19f55622398c27a4371608e284cee4c61e6be8d9c32b4dd1fee1ea3dac266c02fbe6559378618ba08639b110660aadb4b9db12683db872d634aac47e1fb409a8844a958f9ad7646de8939b79b9cc6dcee5607c27f1b5360c5ad734581ce3553ccc77cee774cef4c9b40ced9dfcd7170051e09d4b8197da46025661c10ec09c4b8bb060aa44820374062613c05da81f3e23447414002aefddafa02e47d8fd9bfb0ea70347ee4894c762665ed3bb73ffa69877d38dcd3dd1fdffbefe0fbfb00fef16bf51689ffca4718d362b2d1f17fe28885912915fa3741e67391157ee86740a4afdc912d095c61cf56c327c8d71fe17aeeae1ca051a330c9175a727117a1882a37df57a2f9711d58b06be29251d7094acf375630833929345383b632c902b65d12bf64494edafb0c5b8dd57f2727afc3ebbfc5e8a765590f43f5c9ca3ead38ae71c0d2227c18df3a97ce2e6e4045965b67bd78a205850724bdfba4159ea1c1df5222791057d7657bd7d3ca65692bda1b3c33f0f04d410d6437e4de5d702909dfccf1ed4cbe4779be0de93b2a5c29233533ead76ef17be02a8007cae9be5d01c3f326d51eb0a1941350ffed22c669da7345fdee968d2b60c3e79439f910ea95bf9e8a570f204d3b99f1e68356c09f98521088e85d5400166c575e311736c1a3cb43ab3ac6acee86215eaa1e27ac518a5c0ecc215e78b7324788eab24522ff001144b7024dbdc837ee6c40aa53e1510b651721123a95f7d9b04a9046908fbc156042343febc0181030433b95bc9f1c487f3e3c514e4048dbb0011c8e9add298340523fd61a849c78a8923ed8ef056c114b2c0a85fc1dee004e035ce32ea6b330cd9ff71eca694e98d9d77ec1495d6c4a048c49277228a1c029cb20c62b5806d7019111d46b7dc3ece25c5ca85d302852728965a2ca38d40273c4a1ae574f70c0879f950e6c0d8dc8ce395db14afb0b9f480cb9f17181b12eee124df26fba629783cdc2a936f19244928ae0407a5215f733d64f1c2d334eca3f8e88fba594f616cdce04cd2e1b9e8488cc98853eeaee97e56c24020f9cba084dadedc7817907eab1aaec2919a5064812ae8b4b3a0b1dab6f93b011d242076a21ce4178b2842aae8ad1d69c0a2e308abdda68466ae1ba8df4e0f2b685180433a1603c38a3061ae56fc3603be25b04549f5c7879d04699b3ccbedf7f557e2c633c1d390345c55ab1b6099cf7494e40824bd1b580a3b8995950ed9207d5186d28a3fe9a3a0270346984462b74fdbc0fc153c3dfab7024ad5b9eeeaf13a99dc473f2b9d505977314a541eb10cce009807af78c9f59c52a4a03a01adfa3627a142490cfc3ea1ad81e13a62a50dbf35fa9ec361ae8fe72a0debd8d92f2b7e625724671ce2dbfae0d8bcf558dec3b5a038b6815aefcd696a3a274f9e567beecaf2b3f6dddb89015d6b32c80d20abcfcd89c4afa07dc4eeca9ec7a0db8eecf686df145d8123fdd50059d31f05d32ec453691f86bd9f878dfdd9159bfa281cb1d854ccbf7a1153ccee416079eac9aa3cb992b99c589b1faa9f23c3fd814ed2dadf32b84325bb8bc7cc82849864df284f4c73165383549656a9880f59dbffe695e8c6da175b15171c397e3d6194c9532be2c08fd7e9c01ec4f817d738775e8ac3b03b02d406b6ecbbfa503b147b077025cfa5fb2b93b875845a0bc412aad64f1fcff7507067ddd8103f8a66e4a5f430f0e88eb6ea7aee12a915ea15f8dae5a87636144166bcb3afc6d17114ad821811840f3642ad338a4c8bb7d48874f1be7436dfb55f3c51ea3879bcbca321ab66dbb7396ada1acbf06480883c4c4d91d989cfb9b9b5314fdd47d9d00b6c5dafe3808367d2c9b80279df632c39da24acf06a715d524603b0488e8aa5e42438477486550407677826077b6575098b0ee845fd06fa417768dab7b25ccf3d850a6da01d1680f7c575c2ab0c2372ded21261df0e3a003ad80ebd80a7a9433313ccadd9674f102ec9666973e8b0cf94adc2b0f27368540b47426203df03bbeb82c2947bada4fd3e13fe3e9c877c43b287ea95f0512be475192df6d97d1e5d9c5d77b1c7c7cb63a0565ddd94ae33c0718cc6d1e81f526a17ac4e569bead4a0494325b853ad25ba6b746192fc214ec20c220451d13e838be3fbe551d22f39fbbaca7668f70fac8424a206c0f447efebb17199f99e8c83dc4bd14af98365a20a9c2ce3faa68ee8187d6333db862e3eef6076dae76d51d8df5f03c4d9d797648a12c350423e65ab9210fa1ffa2da3e59dcaa493952ea340c05b3c5ba05b3f0599a81cc5a9ed5a8ec4e65a9d31e603f2e1abdaa0c9c1ca24bc97bf4eb2e510d9cb0700d79a75e0ed9513cec4909f39e53ab802e3af70e5dc50ec72d3edc679a4ae5b0439baadf19b85dd7dcd91e9ff6c56f78ed25459daf8b4b1d8d9b9f180cd1148e32c995c822a44c9558eb346d05522574d144e2bb12e31ceded779ccf3ec30f998b0ae8ee1285cf598d1500df06d02c9759c65b7fe631ea5017504793c9319a25e24b634b935c88bffc34c393876867cfe649b8e55e62b50d0f91a70f1e7e2f052e65e83ca50c2704e451228020c9707ee8b65311737ddeb08f9f85bce460a3a831a329fb25a7f6f718694ca513f740be3dcecc00c089373465501638151e2fd97417ca4bc579b97c30e938948f4fc99bef0c63c3f4d8d4b2c40d8c4b7ddb56698d9e3002164d60fcff03e8f5d3491369deabae51cdb6e37f7e843717fd963bfd8373c6674121fc6c070882687d232c0445f0ef7e8f06dff33f603963f65089cea890cd7ef6cf8c37b5e680d8e7751fe822be7885c77a26c23911ce3944161c92304ba9519a94227bd51ce2c9976bf1c7f3e69d85a6831a4dc27a872536d25fbdd31c13c48efcbeffbcc727b3c37b4f451fad09ea3c9ca7b7caf6f30b2b7e19623c03aa6e8eb6ff38d1140b862a6fb852081918f7beb83c4bd0a685acb72611476b7e9c1533cef7e2185b8e3b4837bb96f06874ea72c288ed5c740b53c8c439fea6a2dd6f7f8c15bb4b173ef85a56eaff5d56a0e46b5040cea9679f77d60a6cf7633997104f79a1bc0059ce1e3c9d4f3f135d600c5c2db41c373c8ab3d9fb374c37bddbb1bd4dda419612a1233a87e532797ff06eeb8635f620b2970d43494824ec4cbb6f081c35ba71e2339a11cb9e22c4434c025be9f6aa5fe42f5716c1b403210b7e5499739b8694af05271beaa2145671ca488616ea0ce04afde9a683151d23054fb9f925d3f59f26b772fadfe85cf4f3adbcff3f6d46af3b1a2442837131a3ee65c6b6863d2a76297df01420a5b6fff03ffdccb5f27b6d77033750b60f63fb84336a5b7b8eb6b983b994fff119a60cc090c086774160d0ed1fd33cf4ae0b8faeef189d555a71567ff5326d48af771ed7ce53f51630db5b1804817bbc46dc8f218764d3460758840c90e3e8f243fb88ff37ab8190d888f9b24078bcff70eba986518ff7ed7f18ca3012559abcf61f6ecea824a73e009cb7c6ff11e1f2375c1844ba5ee93fb6da3336e8ed1bc5e1e386964ed5e69dc57246a8b17843188300099aebba3fd298da565c80ed698b04717c0e57a217467a59204b357194964116d3beb8c9990564602b94208e1a8e7c182b2ebaeebb49c1f62acc695f1a45058b073000b75c2cbb9317334317b51f181a4b9f8e9a051f42db24701db39fc94001d74474b09fc678189f7000b04742e28c063828e4a0d035464d20ac4fc02dfea531ccec1136ddbbffb37ed201b169797db17c6e1560b5e508f6093879f58322245a592a80a912885c274649254c0c0cbd33a5cfd34f7185820a4a59917d874db339a4bdad33342d6faec600aed23ddfbdbcbe550005758b490c461d3b4d072459be158c3a169c58b60a1e0fc1185d148516b750e8836a61e8e4959708671749f339281fc33eca299f6c6e3cca3365910b5766588d5f5f08219a38a355394bd00a4d27008db9dab161b36559e01454284c633200d87bf08360ac4b6af5ae5095115d40211358075e0ee05493b99c464b52bb35d818c36549bfd8c4e219fbb320b00f5ed3f6206480c35da800df48fa17bc3f663963b960460e728eb88fe49598248fd6c32e9d5f9f5f8297bcd6d3bc1a2ab7352147d9b6accf2159bddbf342d29ee93d3c22483278977f6fa76cdf434e0ade9807df4b4a5687bdb4a9225bc59e4917e51c0ca292bb39416bbd63ea954b866d7438a89bf51dbac55cf46e80dad9ec366e92cc8016e7fff575b11c723652a4a134a594d048bec97949c942137ca2f3a4ac23671eb9a08121b96f578e56c021c8377bc263ca80287f9a724203518034076843f8bf7e0feed2e2cde0c089c100e366f9f79c15668da1c1a9ccb640ac36632830984d71eb049cf3b5019f85fe6718a5fb50720a9af9185eddf83bb26b57a081b89d2966b6a9093e5824eb9f7e59a563e872c5377accb16c944becc088b4a91913e62fef55bb86fdb2b8ef110889da59f1a22f919777f31627e047ea3a83aeca914169d47ddb129cd72f73c8e40aab7b686d71c7d64a3fa7ad869cd2a11347b3cd54f5b8cef433d8f5a25aa6b3ba6dee9988eeae3b5de2e5ed8d51d43ed10d2efb6f27279c7fae883acecb947d81ccadcdf028976001155ec9ccad43e4cd2e0275552ac3438f15fd86adff65f33e206ca5c0b44b853cce8f528590e6e94b7c55ba5cdccecc2902cc51986166da6de9b2b919be0fb99a0f5d376242f98c0b305ecb8173d8da7e44de6730c5d9ea42ce05c81963531a1c7252771e01bc8c270d5cc093ff69ed03fffe7796048cf816b1a23eaf7ff560dfb821005f261e8cdfa78d4ab3c0ed4c147e8ae3044759e222360d13eb669a8b48a947f36e6e76d9897898070faa2592a39d4939394d911eb04d444af6c5d54baf6803f1e688c4ce402e04479a59f11dd30aad18f279edb7cadf850eed657a3883fb6678eea1f1083e7cd816924716cf09e3141b9fd313ef16f2c5a9fd525afe95a92d9e35245bdbb24904ed88d1686ef4d946d3af675c1ee4d0f35f9be6deb46ced1e6b2b6165c023372cb8399fade0aae11b2cdc9c015f75c46758db666277c01fe93fd54147953900376cd80e48092e73663d0b177e06048d4e6c7861d4fdbb9c4b888d86bbb06d3b41b07b87f5da3f772f049e2a0bf769d65113f9e51c2a075015738adc73029054e12eb2748919adeec91c10ed861937461d873b7e298a6b12c3c48b5a2d168361a2275a35b832791aceb270445b37383bac42865da228ff5470928231a379f2c2dad5341ff5723901d07a56c913d826e106eb4cf4e71afe2be6882d5fcdd24b8ac7667474c64c18b92b47d1de03be227fb8082d3fd899e9d9492667cd2b915268c9956fb73daf5520cda278b31a71de4b5869c7f51945599cba6288d61920e60244ab5789dc162dc2f1e9a2452ad85d52fef092701b7db7153a511e365d334525a96e5be513c71116cc034f8459f12b2a5b58bae319c20fb7d3770882b274cacc2de8ca524120f3495bf5b5efd3142e81f74a7db83408c4029bc764534bbbe1c85df62beb6979b66eb533f46971276eed9ebd0c73390288fad0d82d7ca7872d92338e78201eaff5d132b21a69d325e993a5dc60e70b18c15a8a949e5180e9e20a1ab073b7a42a5a1f3b49e5040cb7b73e7ef789de77902c71aeb38fac0ad3428d3a85c9c5287eb2a04b9a67255f3ee8b2dce592b376c29e8697a1d67c92bf38e2a13fdcd041617b4155c3c692ff5597eaee0eb51cb7beba283b7c68bbecc04be86dda9189ee43ac55162411214f26cb1ed31a5343fc11dc488bbb600f885ebcf416b2a0c114eb710d58cd69474e3cfa2d6bf0f4ecb5fc453fd68cb437ad81815d4dfb2e18f8e0961879144b5f6bacc3a17cfd3e56b1143a7a62dd0252f0a822b32aead275108e054b0c319ba5580a1473bcda1f4831bcd62134d043716d7bfba95ea1b0646b88c8626b3962f7acd73a5136646dd6cf344ff509921db6baf2e8f9fc94a0ea82ca648103dbd3d52070dc191649b0c5713808341a4c746b1c452347065ee698e106a26a97ae35450a9b04f4cbb679bc0706016f7c91adb8e8aee9a99592593b07116eedc1fb9c5353ea7662e7dab7b747e991669f17e87a37a8c3b54f6f9d3e62cc3f1e75537ceac85bfb48defa12e83a6f8bbecbb9d7d2f7982f6b41043a12beb9b19967ac3fe1fabd879a385486df6d83e5c8d980b430b862c48c3cb0b2045721a6952226c8f413794d376763b0831a43f81cd866dd3b44cbab5662599ffd1ff1a8b86eca1f1fc6bb6242e615ff9b516d2c441e580a520c29e34cc80e210b60008fd86bf9d7a5ff742affb6145df9aed7ae24905d400dfc1aae9ce1b1505a0a47dd3304bc3179b7f3ca2bc1feb5b183f21b9ab8626c0ec53f87e299bf3f77025d282ba721997758717b397f02d81e90564f5ee7cee850d375dcc1c300bb5f17be79f03257ae17576a39a62d0b1dca13b29f2263c315d3aa4179d8d2c067f571f28f02578a6e126b26c333bcc9f6cd7be00a0e963d64175f829de347ecd5c525aae35d032431246fdc814bacf7cf7aab794024dc94461b9a37ace33389bb455acb496a085d02aa8df28ee6c89370010c544a7badaaffd2a7d727da7dfd792e39fc75959a799353b943ba0414618f07fd3554fd6cbe59651ea234e9d8926a5e079cd245c384b04f2bbb8423c1403b9f90e0304e87300048fbb79ae3399303af6295fa7f108881cf093ffa3b06d8cdda8ef48360b26bdcaed1d151d109329f89ba82c33e092b9b45f91b72d6d2bd61f297c11707cadec1d0609ea1f67952538ed5ae51fff62959747de91c1d460651290f83a7d8c6b818d08e34b5429502b3484b7c97e44111e0f4160e5e493a9650cb3b2d77c7e5353ea84a672f94c460bee3bffc16223c2b395d707af859078d9fe2f8fe40db07ae5bfc1a6d2e8984679cf92b661ebe6935547d3c4cacbdf9b4affe73e05d88320455db675407ecf228ede45fb13a86030a0e770dee3ff30414f1c83ca1b89278201c77cd6e038b8368da58a642095d37320e542e8a835fa1a991159e4f5f073d0e8cc0ff79adc4d75df9d8107c23ea401e7ca66d2474da38003ff110e3b3924e73c7551c3ceec5e2cb2b598bad9146d45622ade9f3c89357c760eea855347c158eddd2581f247601d7234c16fb3328998aa85fdc8558972e60593a2e6e69dbbedbe9221c7a5518d4b1ab18b658c955021c9734825e27a5df63c42a29b2eb5159bde67bc3f3d5d5469c3a916a4a59e99e8fee4abf6aad70a88d4e8b05285781b6edf0937986c6ae5d08ead2de6525e9de1daa6e42581cf22a6b3900a7df3f5e394c25189b64854ed701aca62d4cc229674e2b593b316bcd86605a8a6d66b06cd129109c54cfcbbd098b114ade393a776c26d299823ae04b12846db09bdacdded0d852a9a967d75c924d6497af7ab0ba8119ca268263cc2638e5e5d1618422b6024957b3838785780d27ee86060b95d13a4cbc9b3d2c2cc42b28793774588b62e45a76b8477f2dfb474a19ebd7610a5093f1cd9ba2ad73f5af44c34e3fcb84c60dd8df6fb284a07fd177f03690564a440b24356a9de2aac2fc332ecdd3faf43ac65b118c74276082c6c9341b9d591d9ab95163e066bc9a8dbe2a14507906466176f6fd77f4240bfe1fcd98a5e6c706d7ed454aad507c3d699afcf605d4587a964a4983e2dd491ba6e6c6809cf017861b271b1ee530f2c1b788c2fa6569efa792ac4d10cbe3ad54930c0bc12064e990ffebb579d7a2952b6414189f68c978a4dd17a57941d4eb2cbd60134cfb913d62af3b0f368829e32dfe7b862ef9b6305bf79868136b4fc9a5757118157bfccc6a5906bbea608c25a4c94946eaf45ee1783261ac2e52974c52f7ba190d5755a83c2f953a541bc0bdbc516d7e45993d7d09d2de403bc23125baad5890a8edaf0b710346c021d6cdc78afe404bce5d5f5540870bf2667f8e1937b48f6bf8744151d5f3b8a62f9274b6ae8addd1125bd40c70da58d7412ca4a4731e2ca50a8a23e4cabea997bd2384431b24d6ac9537c8b24400ebff5ed272d0c7f5734f841745c5d5881ed9f05d3dd2bcaa7925618a0a3d9f49b002b91e64bd3b4afd4d934e34706c937c581a117cdfffeeeb3d93eca3bac480447019ed5a3c7ed9f93ef621bd7840e57360b1293c9fe5f192ed8146e390ace0d1b8848b603945c9c775d081c2bceb7d1c46581e72c7e8fb94b5a2c823c660bd053425be738ac97f263883d9e5a9b23bd8071dc79bdd1bae1b9abff432417797ae5e28d3c60756c95d70ad40fd52b5e5fd988384bdb4bdcd6268a357da5c0e6badbde48e0000f77a99afecd74bec1aae3be2a6a9f2bf14c7072d43e660b2967572e610d457d32fe160d76550e3ac2488cdbc3031bfb3be3f7f52aaecaf314c3865c71d3d459ebcbc8032d12c3c36c9154b4d3ddbe2f46173e22214d0d96a5f942f314f39ad92b1d5366143a7aeca2743dfa526bc2660bce0323e04a1e74ba28c9837b313d87aef1a0a11cedbcd6c16b0f7bb01ee8f989985dd4a0a69b655d65b4b289cbff3682c7ca8cdf3198a179d45c1f98ad74c5b5f7b4efe80f1bd48386ce050f775ab88d2fe21be269c2465fabf06c63d06cdcdcae7d325330299e57487b93d7de83dcc2d483ea61e1582f4b55d3f30f242c7224a67bd0e0dda596f7845cc562630dc89e4302ca04c1e249b13acd64152d9f288f189a8afe4583cf06a8b04022bced7226cc4e0b0a2b6a4d23441a8d8c14b473f61a4270813acc416d6b2364438741d246b45e25ce348878b1a147693bc9447a53b29e9a4d9134187f2bf55ff1d495e2c162d44066aa5726f77998910e01d32cab23bfa2107d30d043c1f87b667da61e7de6c47938a047027d03a3bdf223f6789c2875825c8a5cb49321c5a73874e023275ce1186936caf8d14a92efbc678e8c4f1dcb00828f18cf10e4dea9d551d4d6af4fdeb2dfcb09506999414cacb902aee757ba940c33608e9f4520cb30e3cee3c8642c63dc329ffeaeedd8770580ab469b98c2cc6eb56794f6a26ab0a1c07d08930007e1efdfdc7146788ac7e5d4682b84b9dbc2fc2f6a721ecc878b85fcc17d108215217c4515126e4b9ada28921587fdbd60403ab4a5a0cf31070467b048e65a0ef1c96312960ae412f3b0e0955372edae5e1f390c8c9d4bd051b2448b31e0542fb84730a4b61335481f42d0dc09e8d6f60c57b0413e7a4cb1322652d7aebb1a21f03c292210150099d8ed226b8bf67e2ea5bcddd9bf81c0b2221142484edf856af59e1ae8f7d5d04903a8326afa6038da3118769b23b9df9b3bbde2d1769614d207c1682a6b1791e37cafd3652ac6eda716690f65cdb5e26253d3a92004a577af55d5612650116d62b49c5c5387871fc2d6af38438b0550e2f42183b27bbb7b18881b24dfdf6a4357e06f2067a9747699db40b7303bf490d38d1c12b31ede6e529b83cc9796ea0873d6982d91402109ebe9e37175c7c1498d4a33a244e2aaca7ae999859da959e83a40681625602856bae25ca7f946989248791fdc9199b3dc7f55a05e7d837322993655e742d96d6d6791838f73f54e8a3401169b47bc7c6a8d9315f18f439a952aef84956a3cdcaf6b1692921f8d4a9d3c3524157470f4a0b22e6b257439b939f89ccb6f1db97fbbb3c2e873915b6d961fbcea4f58ab0c2677528ac2f86b547bb0020c19d1b65c91b249027986e900e8802786e4ba0485e240c3d00e596dc4005a44605cd2fbff59415a05994ba9dbc3cb04f9dbbde31162a4cc52cddd4c32d780e07d0b8607f18c33363943b856bbec71f9d58054529f74f5528a3cfa9d0999c703bbb5792389eb2246342d7fbba284d7a26790a0ae5b0cb43a49f080c931ec50ae638a4806c02f87e3b2723a02a1d031cd835645b406a72b0c3aa8dd4a8dbe041d14c96c30845d8bfd023e10dc63f266775a935159fe022c573e6a1ec31f6f8d2b94a92e15ac8aecb21c97da021c3f1d4a07cad361e601b70ce5f3a69b40107f37b3e3b7660b507c458b1482d86e75243574e7dcb74c61bdc402c079220474aa7e2f12db48e8f8b916d5cf41e1446f334ca341f9bb26d10e5a5d2eaa8b6463995dc013ac7acf5b817608d43c3498e0e1b8d442c418ae2b5b12c619596b42f03ebfac29fc19dad4b6409f2c3d0316118f4cac68db1067c265a7183dd011cb94a2461a1bf13a0d5917ec44e7595ad7a6347bbc8adbe148f31d497cee4a447115c4c0201d24f8bfeb1ed429852323389eb0960ce13f7551c5635e39c4a50d2ce5bfbd525a4b61f07a31c40b279e9c329eba59402019baba1e0dc025672b024221e809bc61aca3d407d2dbd83070dc541e87e80aa26cfeb9064b4bae9ac0dfa1dfe556f8988be4e9769a609b09caa621a0bacbbf4f2534b9607b9b13ef43d8b320d193a6757687dba69755bda3fdb2bddbbac38337cdb9ffb2561fb7d5210bb7b0b97fb968ca71b2237af57ed33a9543341ef3ca144b9a16f4a9eb981eb94cd85fe4a1daeaf30495f9b3b01c4c6ed9e0c259e633dbecd9be4b7b5866e673af25c8b3ea8990b6e2347599a59c7e015ca3cf25037cc1707e506db5e7e0973f064de80086d3ec75437fe7a46728c8fc2b6ea22788d4c3896f541b3c6bba736f8005d04e3bad1e02244591eb7045f17015ae7d1828413fe9718e561078a4281a7bf195a470370a93a1b673a3c40b4bae964da73bb62ced063ec21c7053fc5971af9f633b53b8701638008e3e92cd75eaee8aced93d181ce6a6df40fcf2f1b2edd24df3e097154ae903ad67d294bf3b77dd062c2c21dc69ff01c378be23f5ae0f38d91f7a63c9c0971c0820e909500d166fede2592acc03d5d80178e6c90b8b85aa716925afc90e00008eff2f1755b4f560e342b67021899afbffecf742a137be0a8db98407a2d2d7fdab4395c85bbd2b01481cca9ca73cde63c070622338e70a585a4a9b7d215dc0a0ac363fc5c1509b684dcf03fa39b0d6e61c6e9361b11e5635e03d85ac35b3235d985258fbed59802240d2215b9540965f2b402e3129c17533cc562f6434fdb6d400be22470929e6a72dfb337184fa9e17d95ce9bedc685f949960b78c9f7d13cd81b4e0da95ee53c581a46e605eff5872ca50bbbf36f03aceb570dccac7048a33c826ba1e8ea39b4b54fcfcd86e15d800d7be91307a67173690e082f10967262ab9bd6573b2ca16deac481c3bf5aaebf17f61486c42e17dc590c695d356d71de84d21108e7d2fb4ab759fde0529e84203ada70cfd1e719bd89c9dd11b6e2197be1cf9726178480014850a43a53b901e3f30108f828560d9e2601d7eb348b9e7b6bbaffed0cd2871e329aefd5830e3b8e6054f08e0dafdce1159fc37562d8b135a52475b0d49af218b6be460e670ff110f51042af29f4458d6becd5b161f514e8c774898fbff5328eecb1364def5722b332c906f751b23acfeb819ad3213af6af94d8900222e0fc300bff9cefdc9061c469cf9455ca2bb2e8713da9f5d6f6b0cf4e71a936c146b3d7be3272daee1e250631c37b6c6720c90741aeab963e723492afe01a93e099180db715ca97ec939401145e63f6a16179dc7480f534cdca0799b8849a8d0001e33aae552c254824a19d82710e98362f93e472b9cf918e17cec98e894c7dc306c321dbe67741a9081ab5e6f00902dc0d257f5b7945dd958e7d97b7f15d1e968fd96199cb4485d831ed71aceb658fd137eedabf5d2e6d42028e35e2c0433fe4ca162fa23276813731aa48cc9a97c7a36ea2772cbee017d0915fcb59e65b2245efd99ba2deaf3f134e5dfc15111fab66542e3d3a5f76dc0a392c370295b2c6bea4c29e4b0a0f986f660d2db0a2f2fe1633c3905f444294b215a341048b8da020fbbee4fa7502723d9225e3ddaa8dfc533bb25cdae9d819e7c961f97d2ba05cb53ff911e679bcfed29495806322094ff19c07e73d9ae48dda4b5f1c302e3aa54ec139b078620cbddca06e25bb3f29974086d0ed33e81e4dcfe68712207e9742411717c6b18e52411444e7e2990f4c71443aeec3902510aeb1525bee8072a5bf269a00752f9685cd69ac736a14bb8d36c6a6d7f9b3f688e36115e87ead83045bb1872fdf5376feb3320e34075ba811e567bd3ad6061914fb329901f794ce93d0b1bc66f56d458b86187fe6aebb13049f8e1a0c2478bb03b35610cf995ff3f7d6a3ac1cd111800dd8795d944bf03a7629883a7cb5218c00ea89687155b02dc970b25d097301dec040dfb2cb34493f9b3f7c1c1849f5428acc2ed7a9fd812e5763da92e883340a8e715ff3ddcfe47e8604540948ad30f66998bacafa8fc72bc62d54fa429b59368d73731894c7b08a9acc618b110c4f1911753a4e7b3ab219696843431d55f651e3ca94935e6de68d49192e473216099995b2c361453f1b47d94f4a8f85cf3dda9da19f56af080a470b46acd149dee9a3c69e52a4d6aa6075028d7ceca3edbbb3a6d706aef9a164a007dd0cce025cebe1324c8d980204e97801e93a126a0a479e63ef5bc88c9936cacd5ea33068c29fc4165b0ac25403b1376599fe8e4821bc83409f41e2aec415058fbc62e7c2f7453e9bd475a0e05c306ebca0530e4fd2d3cb9cefa3ca4e274c84c02a0f62c94466d1a7c426962963ed0296498616c9e9a704857638d5408bcd2ec7d573704c6f9444a13f79ab70a2d520198217605ef27b4e47da0f4a5fe78fccfeb9035257b69978ec15ab013eda56441187ca0d0fae188cce70451e6f37fb1a78d5c73346991880203a89c8c8c4dc458512b06cd8f6ffbf2e39e4442d98bb4ff60e113dc4432c07f96be23d85e926e0987f03b1f884fbc78e2753b688ac7fa78ee3259457a21239ea68e49f53e888500019076e24b526495c794fa3ed48dbdc3f183293b9c63ee34461a893ada36e0c0e2752b086d71c1b81523c60dc925507f4634f45746db32602f596807603243ca05220d25e0a8c474c26a7e6ab6a2c4a8c0bb6368c53804a5c363fcb96a99591ed8240c96ca1edeb36c4bcdcbb13c7032b4e00a716b4f3184f88028b820f5c315ad22da2430e63c480278c3fb0faa7aa922f4c209e2d926eb378093b7c1ab4d6f75fa30f3397f52225bd0a9ffed2f4b4ea93553d20f02dd36881aa4b4ed2933f2b98c5714e874fc3423dcf4db73b0dadeeb824c75b88a1b90da963892095b365cae1b75865dc440e608154bb38815a3b3ea32291819183d13e502811b9c54988d0700d151a43c3f30cf1ba4f2e015ad6fe55faf8a072f640f927f58296fb45995b2b4ed0eb284745285d77d780151b39a790492bb69e527f2c23eab3ec7af12645ae312b37c0bfdc76d3511cfd96657664fbf3f7b1c700b1d271d4d81a65d51a52e764c25658698460fe0e6dc36d32e0507b1e1a953f8340b1201b40e59f733aa7cd131c0388a503656bc6483be981f1c5824f2cdc35e2ec9c467b4a6ba3cea55e730eb9c2f15997fff465051e816674675683be340cba0acfc037fc8a49689074479c1284014152ef75ab2f0d0fe03c3fb133034924f259c6fd8efa9311a3d0e173cae09ef78d08be75601c663010c9152c57e6e8d8d46126b8d2627a0eaf03c2d056b44c86cc3c142c5433015b6023cb9af389b28b94394e5a8512e2152a8924178e06ad3769cafc9b7058675c42ac296c893597519850756611e500c2bc601abbe73f2327bd49737b2da30307c3d83974ad23b120f808d0cf146bc57730887fcbbf6b1ee89adbabe101046fffbcc6b392a1263fe2cc8f537e50e8bc3ac0f500da21facda19882d25514d7eea63570d787d66592d41c6e9a4ba9532223eb632deb548d34d4f2da147e9e98adb0fafb79c44e248126ed91451bd37f21d54a8b62a95d398d3288b4b4c08e366da73985266abc709271d9a722122cda971ffc4bb6d7406a2cdc94392787be018f3a74cc2b729c75f543b4924de41c20f6d0c9812700e06ff7db3a342ba194876600f87616fa3969549881f7b15514295bbb9f6f12afbd2e773552ccba43194014c462346f26857af86510e3af323aaaa9663737e2b5d50cb20e609d8876886a722381cad42cdd6aaf871dd1589e14ac4e2bc41d7ae56d5a90106a24e128a8c0b4b13463554d8fdd6a045ab12f5ab50d8629e3116827eee5da2e0fc4207846e6f8dac725cde82dc84f0f8a2b2ab25f503def209adc5aa295e16da9e608ad028722c9c936e9d2319ddffcd7762309ea344e4a6317855ec4247fc58fb758ac1560bd64d12e1785193434a5c14633b3c445d01f9489b64b2e5493ab38cec2e8a545cdd44486e101b0b080f825fa30f445c80b16bc519847c7fc0fd0914a53d8a1ec00323ce22448a1f583d2b0339b6c66bf3a87f1b58efe42ec22a4a7434337f49c3d0891606c58a51d13d9f684d73ccf3a40ddc40566f8d1932f30f4042a85ae1e165318a93804a8b9511f3a1f8f24a37101bf1cf2073e450fb03d65306821f78ef1602a21223aeb36a745b95b04aa4b9971b0fa4c96f2b46c8e6c42abde30a90e652ccb70a50a9e75953e71788ef8af6512ef5ee3d0604f3accca5201212ee762eeb174420e3291107a124ec9f6d00d015d0c061034c8b69c888a832081844eecd74b5792917241825c504b3e6ab7d5d6d70219dfad4e250ea424fec5294d3793b2279e14de0d485ec6ba8b4d36b544397c26a4f93f9244692a48b5f6623b2937b17d3a8ba162720d5fd9154ea330fcd54002017c242a2d504f07e1d20a28b37285bd3328ee987fbcd540226d89fb0152e35b32a0d861945f4a09fdfeaa2ca085d4fe31df3d6dca7682dc9f77147e56520b2ccea3222d965163d356bd69c53324f6b038de6499133b6936dce55f2c51b2ea336d1373b7c88e8a58f112c0a6668fdde6ac785c8ff034563322b9340ab2948a643cd941ab7348de073c5c1877ecba2a61c8209b5fd914abc5d7750b3a561ad6d0e84764c40673b981073b120aefac51667dd4b8ee7a70f0e036043f5fa21821eb3a3006a85f5bd628faa27800aa7aed65f47853575e3bf46c67c1e261a702790e3d81490d7c76369a33badd1c9319f2a27464320a2b0223d7003ad6e38d734752c1865dcc77062be9bf5dd668e7c9871a2cceeca77986252873f088e946bae1437512a6773cb7ed92435ce0a6c4a5a233f8720fcc55ec689ebdc6aacbc3353d2da38d697b7ad481e2024fab76fed64cd7c8f30b7e4d2dbdfbd48f76ca17041fcd92bb80b1f0bbc5ced7628d9ed1d99c44f27e80dd86d4562f157c355128d49ba37d2caead0e9d3564bc843295e2f3bb8212eb8fb5256cef44b4c265f224c8993b22d5522c077e0edbcabc5592824387403d5432681ab528a65ccf95e623f3a29056d5e45908335976acc2c1ca1b67f83d9229fc0ad374965240105b7e47912db459f25c7684991459128cca04754e3fe5bdf4e8a05af2d8744a795c086cb2a34a75ce6393833d24b4d53948a3a62c3b8f0dbab3c0abacd04256113cad260d2238d568f63a413e9b10abe4d5cee95072994e92035e44ec02ca3b900482354df863d5c6395eed1d6efaf81874fba645c5e36048086f4747b0aa8dcbcc58f9c87da5e135d573c5ce882a53bee130f0c76e60eca724067285a1ce15afe9702688315206d8b0009e1f86d350ad90fbc76d383ba13f4aa5ba1bda3f9cb150bfff356df6461219800d97f30e77f0fcf6776442adea86262134b339fbc3a4bccf6bd24c2767acee98f2ba0108ff5886bc948d493f12447023e1fd622fc1883b28209f8b2bb63da3f9c557a24155406982ec383ace70dbf201aad0f0a945e4032495124e217fcc5b9458af756c78af0e702565a3ed944238841b5f7ed426296aa6d73a76025de5413848c350ab4ba906162cc8a9240c0ba4055d2aed570548f4d4e7cd2971ddf3d0a7a0eb8fc784d54b23dfefd162110871c48cb1fc75e48e9da48c6bec8f14c491db7842ec7dbac50bec169860692c4d5b59c0c2e91ed0b3fbc13880169cbeea80dadb4d2354100fac1f40df28f0be3184a1ffd4d407befff9b5a5fe5ec4ede30b0afcf5b66a061c623026b4357731d23fb8914ce3816de47cbc8b1b15975147db9c46c0824dbd6e8cd736a661f8254c47dd2a57da89347dca95b78c778b77c788e366bd0ec6e67e16f016577c876e2cfa0bd454e3b0700e092904dd4670db2b80b7203ef78f040c2df6e12b22baeb413e26f9cfcaf4190a18682abbab18091803fcc6c83fa8ea64702838461a9ecb01fd371f849656a1486157d584562a92696d10b6abb0a65064ede441802e9b6084bddcf55e5afab9c432a49845b3cbd329ae3a6a9dbf843bbc0f2234016df5c58cd5c097b9ab841c2b932010bbeab333f837d5b6ed2bafe79e299bd69b1a310ea00445c81e57d36d53e32223922ab0b99379368e11387880c9d2655b9b8202bb05dd4a7392043c664d3a62b05d67235c70acd84d221b75ca98deaf9714c1b67d329e8a99157f358fa24f89802f1fe0811f8eb2513f5aa7ec62277bee295473e7d1ac0e993746316019e71e0694b2ce8d3af9c4b9cc4f304553a6ffb35ea3aa20173caeaf5773fc90d3201b126954f3534f3a31cc9d12446d2003ebb1e626086909a769a66775b2304a8b4e9d775bc3e4159aa73f6ff33844e383bad48f30fd6a3c15bb601997d8b31a8a39b405d60279283259862a3de13a8876a7c25d4d70fd046b11dfe6e6970503a4f5db95b52b46bf74e0722653ae4244c5fb4a292c4e1191839f42995ca4c32ea12a8ca5862b743c3aa44f4ad5b9a1345f2092124219c0becf906546984c662e52c39ffdba2f2217fee61414b98f3ad51430a159f728d7bd67bdd151755ef648334616d75d69f70bd7e3be902efdea50690c350f28b07fba07ddc4558c08a8212d03a9bfa5605852f434aa97127c8b1a6f79c9843f03f361ebd3f0a5e7342228764627050c4de3ae6df21ae414d4060fbf6f4ae1a337dd24051f8353705c7dce4d0c92dbdf07c5f44d66bb2fe18aab06c6030a470fa4b26c760370472731dae6d2cdaae92975cfeb81763d0e4c575447f5c31d69b61ce0e0fc21590b0863db9ba4521aef6f7a65d2d8cfc2b56abaf582b189f7e654fb99348e4ba47c253d04d047ef1c3f3682501e70193b134c38b91353f0c8eedf0512cc6c1485f3d7be3358c7b43300aa5d54ca9004074dff06ac807e2258161d0560df0814abfd90aaafd192d24f3f11823116896980f73e9fee2fc4f0f0b3045df3404be6b3aa9ab4c1bd7dcdd4287a462d47ae026d2f799315d021f97ea4f5f6bfcc867ef74b83790116d17231bb42ebd56e95beb03d3011bfdcfa9ecd09383963903fe5608c92abff9ea47e91ec934b072d46f7d2f983bd95fb8cb727b00726ef100c7295a8ae81e1ea8b4232ad1979e46166b861bd567a74170e40f841f46695eb10c9989c7ee1901c4f8fa0c4ca7cea3a3000b62456cbeabfa2181f47d6f6a69259eb78288366e9031dc00dab6887279cd0f29111face32033b976c54213be450ec437b7dcf2fff09e13cca4d7c87e3b314d2b0ca925a8a00bb32e0d2832a9ea75eda786e5fe8ed1fc601d39fc173571a22d6b45c6b4d95d885f1cc33b0e83b5a9c117033e022ee61c110401cde5826362d557baf6e3069c696b59615d9180a2eb5391d4af65614f78c10ba39d832d8f98db516455f1ed366308b5245da5881632861db067415e9a171d8f28fa66d2e79c8c0caac1e90fc1f7c4a07ab7d9660edc23c0d48d09ee103b26db7adf82e698654958f11853fc17070a6bd1296106a70e2240bc739d7cb6a54b260a251a98177c90d316a587c343e1dd4c5578bbbfe69f8ade623d397bf67708083994f6086606bc4b57dd03d715e679110b08a741100c33e9743223f049824f7bf5076430dd7376f2d8afb64c7251be8a37302d48209d73daec447481255786f1b666d280a21c72905ddeaad5bd6eb0ff964d392bd9d2a8372c7ec98fbbd6658429461d1056d1c93a9766720ddda0261146c4455d53da88faee50bf178fbb11dfdbe760894661510851e16e9df177d1528061ebe6ba559fa45f88ee16c50e424623c9301bd7835ef698e4b7b8f56e48b98c031a82d1e70e48a0a2140a9b3aeb01b7407b77894eec5d39d2cd9ca13a3a82129425ae1a6ca4f1fb42977686ee8d9762bb37b089bbd7ffc287b451e5336512f8c47fb28f2d5a85c324bf484a52ffc1819c8fb894ec6cdf19565d4344f7f71f0814a0dd8fe9f44380955a44ea10a754121641c746823714133b93fb636b9fdcab9d810d9592a491146ff5c9db254b0e0503ad51ce9b32c156a80806e9afd1fed730bcb80ab95614cadb70276d6a23bdca5473510e885b9f7fd911033ce68c1140eb9ef5fb492a3d85f9b26e91838ad95503c055ad084f4599e8c7478f5ec23c55269f816e4a8277d2c8d532519c5c65d0395db52b79e9989dfbd45aa2d60b4cc2aeb4335798abb54001c62434b6adc5563d25b3852fd75415fe424afdb491c10d95703d8ced6290d639a3dc2e6a93f2e94a67124798df8c9b6a3f57e4a38f95666cba11f3355d4629c6c50a23714c52b69c81173f79a5f28af91a3d984dc9a9b86e444cb4a5ce61951040fe71befdf307793a1360578b09297f70f99bab379bd103e6347859826303a0b9aae304150c112c458a1740cdf30ad91b75fa36506912c170c960c56e039ac6cb48d54e0700a7416870626b7c66aff501a94f4d97602dbef2a09d38ae9efa038fac407368b0a6305f6ddbe43bbb11f4978d3fb96cb2902092bbd471cf82da73083b3449072de75483bdbd34b9d51720834a981a55b0de74f2899245abfb136579a503afc757763c526e31516bd1ab024db923574f460420a352eab6c846e65c245a34cbcdba1c65acd0bc7676cb12c7a6b71416ec9d9b8404d7385c31418652e675e2a72c4210f18ea9ad54a53ad7bb668be5b7ca61a233b39e64d6ccb733b241d518f6ea829a3e2790cb5ca7201ff9dd675bd8978d3c084ba69d8a56d1a4c4c940b106346064b8a2c58e45792c86a2240aed390b0ebe262b907829be05dd31d99fb586138df7d1abd3b6f84d7a20f448cba84e4ecbb918a4dfbf2fb061bfcc7c9fd7bfaab8c83e2abc664041f36b63315c00512e49290dbfc9a9bea54c556ad87285a2373157cf547496f629ace6e5a16332190f3e6a5809c617d9696d8e382788074e0f764ec03d16de3356ea7f18d14ad4ca64f7f5a620508358190690ff20cb1114cee6acbffa7d117a809576f92aa1134ddc522eee8d452acb93a780cf7375ed9506582a1c66fed8d1ce7eb57a4a8f71f8a6206d78f08693b5880121e56144746a441aa4cb24307fb5be08577666f52766ea294e17c5000f3fe77371b971fb0c0d5afb3a70c2910b37963abe6c5c7fb38ddc39d8d77115f846a2585c9171e60deaba19ae99e03880ab85cacc38ca5cec0e571fb53265862a97de28283df875fe282a3984cdfd92b6188ebf5207b2c962d380ab99a895fa71f0e419eb1cf32524df86ec6dfaec92e6c76d6f1b883fc1b23dea4eea953ad8d616b5278d461b7c968a9989a62bd60aaa56bf551e587a07ab7846b0758e93338b9192eaad2041d396cd02ceb693b617ca6e563f08671a44c2a7c515106dfed8d5a5ebe937e74ee24c678446091f1df6f14befbb758980cd55f5dab7df312c93601024b4434bdb15b014a1e427ae9f32b1e3486da40364ab17d86941c6d5781a620385fd97cb0a728bd766998b76d67ec2d8714d14b43449fc6ff08b623aeca6d20b4844e2af093d13b0e135b43523a36b295a00d0d49133db73c841d23cd78ecaf56d7cf3927025f4114ceaf841d85d3f92e7021a519456177e390014250955057edac9dc7c212719a198585511e55a9f2193a3656251504df4292b3e911990c24279c37ff7ea4548b486e6e1b0169682a684993cc66550d28746edc39302c8bb62f5e2e33b677e40dabadd48322ebe44d89f7596bb9628611e2bfc6d07c699a31f23783fb89a80ead4814761e08d81d95df583fd1b5747150d41b4dc11ded204fb586558c1139d1a6d73276fcf9bdd42e05f8d22b5f201e20f6933d31798126a70081e12f5291589816655581a149201b3cb291a43403d6a9ca5bb336cb4f16588f7359526474bad3d5f16cd08ff9d594f5e832757f445e669a5940988715384e4122914587c88c4c9dce9214c943e7af4d426f490d617b833e03acc8d7996aa41bf8c7082b1c0fa28205dbaa2414406df23c75a7315ca58376a7a34aa12f6486e9d20140a3fd1b243c6bd4d030e1f8d24aa1602591a9b15ac4a0ed93e9da729d692f3f0b9818d9bff08b27ba4f2c7046d4102587dd849409c40e7fce418962b9a45c2f29eb376ef0ff0818d3d0b95b45c1e4b80861c54b41d33014c1325bdcd42968765f655daa4ee7dc5b1d68ef5c851167d2d9231b61cbe3f71e061e4c97534d793e4bbaca206692027e885ac5cc91276b95bc7afe71f939fa67aaf2145492588ce8ab734b2322c0c43addd57e94a07296ac1d9bcf365276173da0933a7c789d10bd436df390eef8e2f05ecf3747b63cb5a4166b307eed3a5238d237874f96773db9f8c314509b1448759d59da241935cdfab59d9bea05eebb85596d96b99b43082019e0b62aed7c35766a9a52ab3f82e755e82745e5a0f11df08cabcaef4b3f365c5173306dc0a58e7f09415c2bb8b751748d908254f2d039537f01ef2e4111a5028aa4e012139cbcdb867d7ef1f165dc4cdbae41f1e2fed7a18c2210ba7918053ae3761c7cea10556ea4fc82126c7c70f62251c2b4c45a1455f69b576517dadc469866e977cad7884eea3bb19c9f4a49b9118c6250cf4123e98bd5015ee26644a71582aaf3f6e9d9666274f9abe8c36b48b833a27ac13aabe902fe92ab1bc933f5ea381c6a132fc79ab1416785e2c54509a8bf6c125c77c5f80812d10b5aae40d407957339babd3a8be91fc70a0d9dfd9b8f2b555247fa8d2ab773837da18d4cb2cb499346611b773d095d8fda0c7eb64d97d67acf35345f559403f610cf3d236e3a9e825e831835da78990e930f32ea9e53f3936cd1b693ea6d001892cdd4a36d70eb41ae144c358ff4e5e3c14ce6fe4c854cc95266e897d75d8374def8cd36c03331c85dc3b70c6eec42f52294e49c1f32971a9ab90d114677aa1d2cc4ae1a48b732c0e437b60504d2117114f5c33cda13cba5d310519bf7a4ed2aa70c35878cec72a0e42ed8a1b06284c8a65bef12163bec886e61c705141ed0160c0d96971f4e545c10079065664ed34214b982b8b7a71edc164bf7586b3c1e7090012dcafb10270e13f938eac4cadc5444da55f2e6ce12425f633d236e507d1f60a20db4d5e63800d49ffe51c61d7e71e0402c4950b3df9c571ac9d5ff72d9a2a83875f8ce735cc14171e05801f80d1a97b252bee99f297b19bc564fddf74a73744d4c970cdc38a27a53064ec50c9c5bddda70e2f09547f4da60dbb29c1d8cba266c493676204e89f4f19915a247c4f9d9db473dca87ada0b7666e2ae00310d2ded1adef41c3f2b03ddf0db404d284f87f8dba68f312c8d0e66b63069461c18ae23210ab2fe00026a8399e86dacaaa2895b679eb52696a468d861f581028121c4b6f10eec33b198226e84142f7866fdc2ac1c4b56398a6c0b7ce4643f4851d86d8685dac37a5a938b9d4c94c31aed3ffe43aeaf188070ca1678958270147a5f8632117d9254a84ee286dd5d6e80b5d2ad2a759491e2b9921671e34746a55d2b81fa01210e9c0c57eb088b48fa86806c2064413a6b48b849b38cf98faaad048c3d062139f192194e869e46470d7471d9d86ad22aafbcb4c7ab45f445d2bebcc357be1b26e5db0e861eb74e836a5ec5989f7c58864a992a85b378a8d1538ca15776af8a17f1813b18315658b563f450086bbee8228ac6fba1dedaca2383598817c29180033e05a4ba5c83bdaa1e4cf9d4a1c42a14481fcd760f6241ab2f0a2e2446449e09c303c33a0d97750be5e19d788c1317e678ff86d0084733a85b52a444ce81165a2ce9625e8d4e4dc5175b7475ea67bb15ae264402f97c4cd8f18b9d2d0805b38cf7548aca3089a75131459b774af5ddd5eed68c7df8c8fca36692557f980c759f6839a5e670bda9aa7aeab4e2d4bd3c55d3fafd234d744739aa8a67441ac44773eb2e5b618695c0d9290625246a0415f63c9c0de9677ec18c7a552c2cc1c90f2c280bc1fb341eae44f11f78e64ba1cd129a5656960ea52224387a10cadd39fa88cb93104c1dcb3083756029f94901df545179023bb6ae4049beb07b2a771d9cab0d4d435e2346e3e59010171b55c87e1fa6968e65f00b6ee5369b3db719b6d9ad8c2cee6eec53888c044d9c70a34687393fea652ffa9fca29f50c24a6ecd03f5306e5d82549b79924e9badc18120c277e83c0e52fac94190458ed9b63901c0c8011289a5cafe5819078524b599935ca5a28be3c65582a120f2e817afca7be431181344bcfd4dac08197d9ac409041c7e842845ceb141b1d94e1f40db81a9de7ee5d4569c8bd042ce1b5ab40e42260e72c61497491d74257bdb5bcd3bacf7d44ab9fa862e611893b5dd93dd809ba14731f87c1d47bc8d9c79b9d59932494a00b75ea8deb0d3261d681e7ae224b49101f6495937a97f6572523797925367395f5c1b172f06e1dca5aa93ea5b1e86858113a2f6625dd24957b9b2ada9b0862cfea2ef047df9f0e6097f61df55b260884a27f693da434c1ed22deec97694454b42e5c601eb549e22c8575eddebd5e079ba47f5fdb1b0af2b78b68392828ed49c7039c15b5882c3fa43712650201fa0e7882375a47d6e098eb83e508f65f6f4a9db42d79e229f1f94c2792a3407290d113685d43398e0141e0430024ade5d8022c1d2392ade76b10457b7aa41e5ca3ae8dec61a06be901b552605b8d4e77fc4952ef2bbd1b6ab7740f9ae3580f96b3a6d25094f34aef99d127bfe3c9ccf825c764b5a4500e817ec58f5cfd6636369cbec1dd77c847d7f38821d4f63e11b4731a6ee4aa7f9205c3e59c56dc0a4f876b64fb08f0374888c2b9da6ca4b3cc4e40c16d4efccb27f4dc466fbae2ee298b090218afd3bce3a7bcd5097cfa25202ee7b51645105d827b6ba046b5fc9c75908418b82b3e8eb2e3147477d0382e053bec4e2be7361d5d6c0d27a6d7588727387bc23d4ec70833ab5892ed8da70caae2ae3780042d84fd44b768dc566e4d9112fca5146031159f7ae052e1e7810560002a797cee32fb7d3fd1adeb2095d3ab3d835bb6732b15df8fa29074cc227c84f59154b719d78f90da647a401a0fd5d06ab50db9f895d168ecf56d4b1c207029e9f4031bc48c9ad45b642ac728c2484ed22e560a73c5b3d5b2f12784d3db8cd7782781adbad345a63ba3728fe2256e6d28737fa20053d1a3e0f0a2e46c365957a4f2c074bcb89e4474d40540da87f2cecb4768e6d47349aabd1003a862d8d41a8e4d0a07249f44d1e6dae86edb6e7241925ee0579a887290afa0d892818c38aa0df5a52c8ae9baf9600d7affb67672fa25b1281f667644557b21b5f709c18aec8f5dc55d219fcd86bb9ca097a1e7cf5b02257e62c48a539db3da452b54bb363a7e69e6a9433b3e9b9983e4432ae320f593f0ce9120d10de472b8092e68fcc3f97d9ada2d80dfb556e0e30d6ea4c95482e7adcfcd6c455461ec5db0932c8d8982d8de69403da83600c5b5cf2cde5a1e344a53ff8ed8246705c8c08e2e7775ed03b1dc87902dc2f33ce28b4f3c4fbbde15e5c48809853c40f6e55beea553054ce0c1f89a08b987cb84869d3c83cc5b3ab666c94976e3c9cee1fcb6fdc837a0c1f6565d9e522b55dc24a55819e8e1beb10736982fb0eea4c2d00567a955b4920043ad0f204404dda3adfc575b370c4dbfd5479cec8aa6eb05ceaab138c18f9174a284d349de7926d5f67a414f4a280b872eeb0c473973b99220e03bdaad3df6ba50c8c46b9d9687b1ec65c8f17ac9b5ea493da95a481eb99c2481e7d7a151a72b75484312ce1ae5f2b871e939186d23ece8c202c893be54b9470d54d3a06c1c595be0c65ccb5c2ae31475c6cede72bdc707cd5adb8022e88793f861d2a4fd6e7026551841f8938af7edceac3550045cf994e69051107e5fecdbb2a8c811e3a4e0c36fed5dc2a55e746f48a67ffa2f2456f97d9f3e0a7cf92d4ceca1a797eca7156e97365275f1ea9b96945aceab6df91227a7d5f7af2e86fd1338aaad561665c1f5cb11611c7eaed36c6b2211ebff3b7654cf53d1178164dc0484cf08c64f99b1651aeac4f729be99da415a736a65fdf10702e44d501d589ef7a946d81c030a55a25135afd9b035e4bb8350777ae66ae95653c5aea217c3a7c62f186e8a52ab76c090399b6c2658509f28131875c6e49d8f09051790fe12d2bbc2b0cb5be01cec8703d68c3867f999ddea58fcbe70311d6eb7786bd5d4bd543c4a5816e051e1a7472058e8a47a5e47c666873453303b48347591d75fcfec6bb2870e3aee05489a85b4418ec2d95941ec25422ccbd8357654d206725d19dd7be0c3d9a5103b23e43e6cf521e0728831ba0789f06bf92959234135aeadbc10bfbd76bead80fa8c87cb7c21cd05e1b26dd1f04a07649e33737e209c264c6079ec73d51d5ac58122083c0d182c2fa64e42a6484989b3725f219e1f850ed96e159cdc52348f1fcc4adf27fe5491362392f46b8ae9f5fc694f89f10c7b61a1c08a39ad2e03ef82074856d19d2c93bad6533186531488fdc3b799823ede30f480504a6416345e845877dd1e9ea4f2d1bde75c8c68e2c1ad800845c9cd1af32a3dfd6621bec8cbb87c12d846521caa81026d59cb4439bf1b703de71d40ce5d14721b960d428eaa5cba870c8f55bca31c8d21c5ae5d5b09c44f98035d5d11d089818b6d8f5dc55d6197cd46b59e509fa1ebc7ab862d773f67a8f95a495910ddf289567289a1f932642ab13b238affbab80346465a396c7221cd59a16859642a9270d645da840c18a3d92f4dd1c324463cf98fe89fd6c917344330726190ea82ecddfd83140241e7b10c9d3e68f77944a8c5da32c5925cfdf59073203f24b29cd5ca7e11ac40e0999c437a2b45748b3921b92812c8902e00501f78b2fd18e64d78d383e216ba5d8b24917f95758645ce32ac0d1c89583b62d2704c3be00bda423398e38bc275f1f24047bc1373a88d350d79ea42876c90572e397a5af691d060fcf047dc877fc3ba933a857655a31273e250d54c4d2237779229f57c31ea6a2b76af1ac8e2fbd8d3b6449a7230b079cb7025aef95625a40d6d9a803f51a9e0e0c080369e1883a7a0bec8db759b2f23252a5fc0dc5a81bdac972d9f265c06dd6544f1a99e42fb43bb48fe59dc5cc23efe6e9d12105363682fd54fd8c5954b7151e35deced606a591bd9b6cb9a59429c91435063506e105f5a39721dfe8bca0b267b70e0b2a3f679059067697449982934b058e0a0ea730c3dc5de4dc8fc6192d5360dd19de8516ee7d189835d898372a606f54346f537077bb4329580ae1ae70575edc17dc1799135c185c184a3a219d10e95e9880e3b898d18b99e6285e1cc1ecc2d1208a174330c54c311998f8e9ddae89a34c418acb51a630c59d21002e587e390a1749e4e4dccb51b840e2cec513aca82902920292325b506e967c2e0f014a16025022002551ba404274398a15495e95afc987ff7cd93f65378da3e29b7c4cf9d9945ebb58a6d4176c17704c329e7f2b9960eb5ce37870de072fb781a0a8a0263a1b9809d7bd8dadb0041358ddf1405dfbfa41e57e33c536e648344b484d4c5598a444c8719c57492e8f35b9d885b34c5a5abceb92e33c92eb3349b919c0b95ff75bf744fd48774e2275da30baf3925cfdf2d5d6ed77e2f59a6298c205b0cd73c2f29aa2091a74a009941f4c6046c91544f8410b8c58c1aa7f2ba1a08edc3627e4ca7e896f5b7ee32d72326ccb935c2417c7b0dc7ed292573f112d56c6bb25712491e6747782129d15402535e0a2ca8ae583aceccbd658275fc5871350d05254b14408f4b6e523da26b5aedfb68fa571b9db5d5b639d78ee265d36942c338fad2fb2da83ac95e953917a3ff673bd0f59cf055979adcb5556a6516d65400f02bd6cea676546301a35ae7a1b6bad676d8db5306ba1586bd3a71b1bb352fa646337a6d4cf8e5edbf78f5e2327fdd2f97cb6cf87fb7cbacfc7f3f97c3e9ffaf980449e95b1b6658bccd82336c9d642e33726355ea65f669116c76c9d17c421b2b6a64fdd8ec8f2b185042cd6e48325c71249b4562c2057b5fcf4ac9357f7ddfdd7226b63f69f3691852135e75771158d965a9fd21a1e3baaca25b128adf58aeae1fb7d95caed27752cb6e5ddc66f15210d616d2e23a9d5a7ee0d726ded3f338e13e868188599252c1b54aa7d71cc483584081a4f3806f4fd16e62a169b7e89716363fd52bfdf56d12fa1efb7522c4ebf88bedf5269d57fbf8502c790be65641847c7605d10473fb59fff3a8691eb3790f5fc5bfb34ecff566de93bdbc2474e9a62ecd24e237292eb4ab67e0bb67bcf67ede78e6cbdfecf90338fbf939a3e91ac95b9fd34ac5c8dace7ba50459fda85299e0b524638b7bfa507f5b3afcf852a6ebf2926b223297deaaf6147b146f587ece8a64ffdd58e6c3a3b82624730163baa69543fc88e9c58edfb4738aeaaf1fda32aaea2f1fd232ba31c57b1689647b13ef5e8355a626b38c6f3fdf6d52ffe2f5d5703c7c18e6b0fe71f2e564e82b81983cb3a0574239ad1925193ae73fef42830bfb323277dea7f3bf2d8510dbbf48f5c9defcfa89f63b011489161c1f8c1e6a357bfe0c03558eba44f36f609bb8cfa47351cd3c90083803eb57b3a3efbeaac0b2f7661f23f7ab9eabde6462f6ee87d24570d6ba2614dd39a6c4c31ce9a629fa68d5e40bafbd9d767b7b8fd2aa81f89b5b55c51e5c6d11b6619099444312384caf25f6dd5d6c662b1a697a336161643ae3f8be5158935ffaba512a909e9456ad2724595f7236db0e3d177c2e80d2fce14cf54459f627dea4ef78019dff29dee01a697e1997cc8602718b192f141562dd6e4a3e5599ec51b022a91a18266d5f241565b8b94eaf2dad7ed7efb62977e79edcbf4ea53935c3a5c86e5558be515c9c52efd2c4a482e92ab51fd94d64a72919eb42ca1727ba63faf64585ecda8b1acceaa047354935c3af46907f77cf4c9f28ac5f2ca0345fdfb915cb79fe4ea27d1f4935efda41a17703a415a681ca41051fa6dc4c636be2ce62a5779f7ac819915c73a877cb7d0c65130084bde2de3aae8997c784368606655bb053d1bab3ad8457e7b395a44d4ad02abb80ac21a066110cab6359d59139a97939a8655a95285660a84026d7aab40101de8a27939a9b1614f34743be1b4c881579c5c71d2579c5c7972ba9182d1d17db4f5b9e381ba99fdbc5bcf47eb5f33cb247ec700dccfdba052658a74cb67dae52a8fab3edfbde41b29cfc7d6e028f99dedb171d9c3cdd4db061b36ecee29499ac29941f8746674661c9d495aae5612082da402a7340a0ee9c1870a0431246bf283104c2cd93adad4a2cad6d1b68e2669383a69384e0b1a9aac1bc296c0159a2b34575e3057dd68f9b11b377b16306aea74c2a94ee53bb560f682d9ab5932b0a8ee554725811232015f2008e049be9470c89530c907364e4c6498c8d7d12e41a8507ef31bf1b089ea5fbaabd28ce832a2e5300ad56508f52b7131a2d42f464a44045292ccd0c0252faaad231308180028ea07495fb0a891ceeb258223cca0d8d24010746d65977eee0a5785577c180ad84c43e74b5deedcf4a93b367dea974e1ad52fe349fde4ab66c8438ee940914eba1aa6fbebe8ce0d7b1d58df0e0fea275dae97ea5345a3fafb13ebd8d4ce4d0756c5edef4091f10590783ff982f2053f9fd86d5807c62e32a074601f9cec04304f850ca922476e3f0c36a450bf54e706f5fb5b6b9f64c860070f2f4d07074d5c4b3ab0dbcf313205ecd2df2d7f39840fba7d6514a44b1e215dee49d70da4ab0393d9864431a364977e871f9f6f84a0e59e79715a510672ae0c1cd41f64eb3b71ec6ae00b81c8fb836c5dbe3198a81c8546cafdea538e81ccb5a2ab734859548803b3906263f211610cc258940003012cbab2d8e4b38d2fc602e044e8053830e62a137c0aa5b8ea551364d5bf452badcb51fdf483ac684cd033e5203fbe0ff9de105140cf87b79ce5a8fe21666ebf7499db1f64156495b3226551dd8b363e6097cc33f9f08688b0d7f4a2f4228da3feeb9c158b1268629c05170804022fa4fd56200c8c1c2f58a0e8879d03eb1c766179a273a2c429dd948d12aca9c7285179d54360b0e25514f0dd7150bf7a6b535104ab59b177549f1cd5d5003ea8261f5ed738aa3459a65479fa0e12f5a31df3279e50028cb202e04425e154ffafda5c201408bd4e29271ba7aae08a6f649c582af58b2c9f39d2a7f616bb747c1fbe8ade101c88d73df98a9e7c518eb2a69c388c1b6f73a3fdd145654fc210922cb9f1e1fd193e50e4f68bb22cfb8d45447e55ea1cfd9a954e133555f22135fec839d5a72c666082262d168be55af1c77e817fd9a3e144652a9890f295244cf5c39460624449f19cc10c1c2fbab9de39fa632451b7a82ebf248ac2f54b4c391244646ebfe88514702c7fc14c95798427f1d6cdedf723fdd2f4d9c6375bf786bb07830dfb7d72775b39f91904c2c6fb119fb142fdea0b4cd44f567959c5559d05a3fa9d90c38595db5758b7df5b8dc32e2622b395a560c96dd7ebc60334336ec8101f9edec691facdb00171f4fb0721d6e4f25bf64c4c647e35ff9b97c9f438205a45113d7aa150bf76359c71d1cc5832c306f513894aaf296edcfee7606edcb47477cfde87af32176215ca28a27e376e3f0e270f00affa7daa6f7ca07ea5db33a2119ac1e06e861cb9fd71469652ca488310a273f4cb5052bbff0557b5225fb7250e1a0a8d33e5f63715096b2a8dea77b9529354ffaf7186f4e98bc08d2c76e96f1c4775bb2045fda85b09cb0277e38d101ad91152fd3afc98c362b18c5855c8fd0c4a1c948142c322adced1ef7285fa715086eb17995b228012d5ff83322519bf9e022f72c37272fbe1106fddfe98a37f00337e821004e1075bdc2672fb0920a47e90c542a57e90e5ad58a9c39851c360dd7e51b32284cccc22aff44209643c513f4ab9e6a28f1802bbfd5006aefa5135a860dc8ff6e9a6365b137c78f9bbd54ab6f836b8a81fbd018c57a3b8a6c24a361f3bdd0086280b456e3f1783d5d083db8fc315a0dcaecfd694437cf93ee2cb2761a1f60956ff7e0c43f5a07e0c7b46f1532e35370321c4858c6313afd830ec05de8805eebb51e2acb46e7f8d423e901cfd35baa826f8f4b2c789faf7e34047bc3b0751aa20e57e7146942a14b9fd74fb0c812cff2b7056f048bf70200964010a5b4fb1b97c25e0054ebf30119cf0ba7c37de016fc7035e1e42d0ea17d30d639be19b968d9425ac80a082561b61a20a342d323d05113c502575030501a868b556fcb43dea2858a239c0421498890a1883121c12d4ac98052beef686e0c00a66472ca1081b2347401263a435072a815ad48fb6aae4228fc1e62f2b000a8399d957548820fa349f99339a59f9b19fbfbd0301c8810194babb3b64eaf1bfc0c670073d498f07690897d8114fa994c3ef19670e3030d1a5e87e301d0ddb15f5a337763b786cb7b7bb7d76c01e433c80f200e461d905be65976d4ad53a1ea28e07884ff041fc05e151d9057e7b35878e01d551f0ebdd3e17fea735c7711c07997a62c783b20bfce831ecb4473933daf1c89fd20b424249448e4d949c26d45c7e7a394a4e122ed7e548b9cf2edf29538e31e3e4263b526adec7812ba53b751117a3f4fcb32ae717a74783dc201d28a3e8ac2049c4b4528fced1cfd2753e50a32749a316586498a626e9b740f2cfdce948c4a6199aa682192ddc1c75377434b4d0885174030544a218201a35a2a62d018a31e2c7536b7c8cf214d3320f847092a0e3dec6d8b29d8e6b0108469630e229689ee9d0ff1f6fa43b77235d27050ddb3dfbf67a38d53adb166375622c2dc6a23156d6835d5a35a3ac18abc74c8d9c63c639e7748f57338b3146f78cfe092a64f8915206a97ea168bad5addbdd12ad322f4ad8ad9e6957bf5a06a42aa01c1668a55914c655d9439ccc961c0571aae45869567fe0f66b9d8d4b59717a5b7ab17c394b8d1dc0edb662c776dd6b356fb77347d2354ca4838dc42ed3371049245236ba5da21c23613ca5048410bed000cd36ed5ca073a3c6a8f9d4552046cdf74bed9d53029efbc60149ba9bd6d154a902b0aaf37215aa63b8edb15e1c12d59b73cc4c7a9ad721cd77afd35a474a09c7bca752a9544ac558584105f7e023fa41443339e3a77652a9542aa5a554ac822f28e328cdc382adb8cd54cca044266774195fea87ab9861bc3fd56ec573b84aaa3a7cb90ab25ed9cbfb4affaf1ddc85ac2654ced3c9df2ae716c438a406409d0d12e433c6e816108373086b8c4f67840466549b24feed7bf37e6caacef3f9afc687524fad5da9c4799b77daee0f76194185245275d510f944e86afb10abb86ff67e34aa4df7479f94d82c91d22a0a4ff7a37374fcfca8ddcdddf174a11831f27d66abccfb4ade77ba2d659665524ee9a49a84043946e9e96898eed221897d06150e00300cab7e88441d29a5d994a21107e32aee3fd4e5af5e66960fa45d86fc9cf5c151edcda0ba8de33600b8c60f4a6b951e4725ef968eeff41fc770e08f677654bff43eeade57a3f795bed267def79771b8fb835dfa05704585ff31a9052ef64bb42d90368d661d58690bd8101a31d20ea111231e213462244a23724a29a647f7228a88d2bd8822e4742fa28899159151196d36d84890b42341e21109922891c829dd669331c2904ac9000313a5ff8d13159528d3ac0adb84b05dc6db11328eb980393b4276993f610cd2ece21bb8fd107a8c52ca8c524dd3b28e06ad73d9cfb5d4406783bc5ccfaeb361defeae5b40bc52caf8e1ba4efeac307e338ece86c8d56e01b1f9147f7e190081e66f200ecef9e9687096977f93127e88409f327aa70966668e1a33775a4ea103b5a6cc1d2653ca1933a7cceeeeee1eff73ea28e8eeeeeeeeee1489194a85a00c820d4aaa7536ae5ba2f37c2a2846e8f475be765a691f64e596191503d4ddc0c39d4f65ed6e9818a034248a3146ef833f35f9e93cdd0d3c5cf8d232dc3c5dd63d398f726625c8a8d6d9b88e3b79d3214e2bca8e6a4ab78e6338424a6f2dcd9e1ed838a6c3311ac7508ed992a8f09b6326c7c8cec6f13cad66fc4c522a04dd3866aacd5f4d0ff26fdbfc29916862631b3176b822d53fb62aae58f502038c0cb0c773defa38c3bf399c61762561fff6e0913e799d9d0f7dfae1434e0f2ae87c682f883ef977ac1043f4c95fb3adeea14f7e495454ceb86d8bdc3dd22f7e2f7d8f8d22fbd8d1c01d513923eac7311ff037f76e1dfae40ee557717bf4e9f39e28368fe5d82ada78bd4bc0109e9a16090655b33f7af0a106f5639c1f3df8e032caf840e495de0f3bf4c99fa07283e8dba34f327c503f8ef5e817f93de8d02a1fa2f5dbe9c2d9bb1c2a1135723ccf5d9421360afe6bf7d55d81a1bc91ba21e589618c0c23b41e8b54f81b698ada22d214f53bddfedee13cfc46293f2e21e246fbb91bccc28d56dead392adccda5e7f28d1228dc68b5bb41908a52af47a3faad4c8fbbbfd341daa2728b2e8c9dc500023348e59b56cee5283934f78358dc7e172edfb46caeecefe14710f145b5071f7c30cf8c99e7c76c5a1d76a800f30f7d6a1cfa94a31f4711ea076d680ca95fbc271b383344c6d6c09e409936b13e9d600daa278dea2f95bc4f3e6c72a1dcfed9dd007f4e7e28a18c0d925f327bf0884d0dfc90ffdd32ac48cee58e86eb10676302a5f288aea26d5a35b7bf6fa46cc9f6016ca9faa6b5b69142fde8930b2402699b25d4feaf6d9a636c25815b2c28b518a556d24175afd612d48fde941136c9d14dfc77479a482152e17330d83ead2addcd0048e81a57c1264dee8b1d7a8ddfd4d0320868191ce07419dd072166d880f355db7fb009ac0385fbcef7c39b4e3584c8f777118e61b5cc6d4fc7753adf0eabe46cd6e26011d0a8dee1c88ffe9ea183ebf6f7f0baad45d690218cccfcd0336c9c1c3a14afe18604546e4610bbb0731e84247177e74148122c8424e141c812984ad592abb8f4c2758f5b92a8350d6b3a1612d1618470cea9318eded8a5a77c8f73cae81e1dbe8e4e79945dda294dc1d02719d8a567b87d00c6d12976699cca9a5ec43c805dfabf2d720c3a401cfdac71153e521ce332708c885dfa003c008e810be08d62cbfd52374b5d1bf7a32c85db723f1a831a3f1b9e0f180e4a95a13b1e303c80f405d2f7a33c780cc0d3d8c5bb1d3ad8a5bfd4c58f1d0f18fc53ecd2cf8245fd588a0e3006be9551f02984ff807e1dbc09fc3798720cfc1dfad4a5181cc038380602ecd2ff2f8577f8a1431275009ce21837c0ed1c740ded6e1f83daf93b10a8c466019843a9a469df15e91d5ed905be779645d8eda04e3b1ab829153e0f20a0e5bb438bbf7d2c00aff4180392089d9f767bee882a45f5a7502a3f65978e1047db5eb2e7cfa6dcd879193126a83ce57ef1ce1efaa533e5cf9b7de70289b5871ffa8b4c5aed65cc12b5df61c78389ccafb6ef87507b393fb3597b1172b7e7e33ed5ce41471e51e16fdc11964a991c58acc99955ace0b84bfa4cc76c6c1b965bc9c179bd84513f0e72439a2d93332da59cb9fe1b6bff1d5795d93827fc349b323ae784bdee7652e1777777b684edc5bda0c2ff81631706811087eec9ca6a08aca081d191f258d8905418638cde0763c4413545ef7304ead13ced75b776e593256d0508367e185f380dcb812eee559963a1cbecc2bd2a4397db408b9e526112e80e3d7b84ab95c9168d0d663cc771e8741cb7f2c4ab44587c69597c459b1ac41ad6ad77eb6c9215234783ea2e7375b48e86da136fefa28927527c6184da819c8e4d68c8b125fe8b99264af83ce12385cf9529a40a0d7319ab24e6dded7db0dbbd07a3c2af1e905b4c27649c5b537b9f267054d33cee0101c3a00108a8ddad2ddfe83e67ece82e82ad3f598017bebc5db06604ace83047e606b15bef6b37de0d76dbfba094f62c1215fe2709f26ef303446477a35c5b937b55a6c2d72ebd1b65a8699e8ef2256c29040a282814140a8a8154a934c3c6cc7a68cfd747b3569da71ce35240fbcc0e2102b3d2bcf93274d5f1a866656056d977ec10199895f69b6b9dcfdd3dc6771b228b95dd7923ffd6d9fd36d0177a9bc60991fda49fd9094409760bc8ae053e4064377a1490737e35f19c1ec356d4ab8e628eeb4426cfacc965603ae5a7f8d3d26cfee6e1324b7fda8cceef666665e86afef6e168e70366b44985cf5df9e3c397de3162a0434228148a419d08854035f40979425d889bd48918201a35a2a62d419da0a17fea040d69212b42a1502814833e110a816ae813f284ba105743634268d39810d29810d2424f9833c668b319ef44c2c21b638c5916331b3a74863ca0cec6699efa09d54f9c3c0885441b0f44a1110f44a3118944129142db92502814833209854035f40979425d886b4e8232a14c9074a128a1502806a509854035f40979425d88ebd03683436968e87f3ca5a1212df444480bc5900ccd501663dbb279e39d339332cba8167db6a66994663674b72ee40175364ef3d44fa87e6a08e4018562743142216eca19ac100a89362b8842a31d9a156288462312372291482252687bd281114a39e79c53669c47971e7514aa632311524a6666f9f36bb02aa35266526e52caafc157b22969a41aed74e8b6c92cb22969f47c68fd783aae5210b781b60ecb60666694522a04e5266453d238334a29d534aa695aec222727879963824342333b63bc1f3333571963148942301e63cc38ee4885efcc0c1323757777e78ec418639452769ae02e04117a779a7066e6c88af2219c3322916559261ffa4399c9872e659649e9d98c1096a0c222905d3a1b276df0ae47137c84ee304ee85e9c516e21e3446246b985bbbb8cd3dfbd38a3dc62fe563910e390d2a5f408639c5e1461217329492d444d8b9d8deb3a6eeb682468a1c412b54ec7ebe11e63f5089a32a8348d78353de9d0cc0040000100a315000020100a878462d1589626b2647314000e7290406a602c11c7224110a32008c318866290318410409021c420a6d0d411004bc32f52763153996c554a9bdf254a484087d60f258b67ef31516f4918e2e95047d067a151b0260adecbe99683c88c351b407355a90e7d5e3b54bb981224ba545eb6ed67c075b036f15e2a868452a2fad678985d118de28ae7e62cc8b6680facf3806c6729170ef04c99ce23395254d1e16c406d5f9c7b0834a8585df25d3dcedd62c91cff0c4b089b8948f10fc1d45a51d5d3d830cec8868a2264827648966807edfe6e227237578cccbec33e081a30562f2889beb571b660c57ef13eedaca80542c193c48aaf01cb3095f48a19cb9117d5569ad0da297b78e7d548854620c2e5ceabe64ba5bb1111d2bdbc7edf306bd196494ff036111127e99ebc1026a31b9bbb9a7a72d80e30115889cd296a05ce7f092b5b89994dd4efb35d05a9deeeb9586ef857ae8abe98ac589fce8c4e09e52413398d2652486466b935d1c902fad6a249b0a3634286c30cbaf061e182d553d310b385bd96cb574d7edff4a486f8d7ef5cd3707c6cb1d98d2a6325f227138d89664f01cab1e501632eec94aa2e92e2ae4fd0e4a4cb6bbe1cbe5de4b3e9bd8a1dffd3a4ca0c787c2901219c2ee029a498224957a38450afb2e4fb452755467486d60bd562832feaf1cc35a074ec5429da3312de8f73e855b7305b3e23e87f7940039b580b5d4e12588ee02a291905b4c1c3af8498529f6b7b55c707dd4c9c825a7a7de988c27debf911312fff10aaa9243e214a5af90a67c8b0005fdb1d8d21394be6b87219ce88f0ca221e772b54d57fe067ee2ba1ab34324a1e5b397ecf70cc438aa0d81921efd5ef22a117daaf21c890d45ed81841edfc5a33773e97953a19b0a86810f080dca916192821d4ffacfd1c58571ba0aa4dc789683729ec19009d2193f1e52ff3377dd21870f61e5bae4d3f2b16b7b39c21ebef35bb572672364840d0b7ee6352f1c448dfe27588fd32185f80457e36304309cff1d18470e4ecd992da59ecbc87ac44a011dbe84067ff3c8dd444c2aa35ef19a8179ad0e5a39cca90f2ab51ab3e7bb9b5213e3ef40304af04be493eff3057e8664cb7dbfd4352fce97ae8ac4d1c1ec9d7f1de81f13742569babe75e35691165fd1084f49535a7b7de11122550870ede2d811fc685118c2d40ccd856a7b4ae3002c59b5d681a0fe364c6d2463b3d3e4881464a8fcbaf5890350462790dc290443162380d8ef544a9e5c634467159fff7f44ab52cd85e0a3caeaa96849ccd11f83509e953c3a13b35dbcd3af10c70f2742f8050b7d845316e84f2f1e0dbc91d6874f1192df5cdc42467bde7ba1c03b37ff834d8204b8c3999de5f29df47c9c77870d85817b5fe4b411d77640b78dce1fc64ef0b448c072206a5bba47e2f011d42936afa55418be7bf732518002d219718a47c56dff3f1ee4c800c3547e040c623ec8e97b99f80d85c4ebdbed018e31c2416a236c761a07c58dc022c9af93ba6237129d7efaaaf23424889c3acbe8b8f81d822a5aed86589bb8376982726333aa4e20e72f3b69aae809d9b333cc293391e680b8f32dbce171a05a02d0c0716dc8395f59b6dacd32bb33085b87f40321a409df0b527445d4283d16e44116624c5ac1ad1e8880ee62033741ead25e32a5ae69a420bd623fae0040ec4ba2073371bb00ac5fb020cee59889c546bfc766e5b37b0741a8d02a8eb4dcf4510be9e8211f79589f3fb475d696625a92aab031d0d218c4cedcbc8b9b1b44af85f1c9e44c7b5976a46cb0dbb1a2024f869de4d2824756f02a07caa7841140160278892f2b73e67a697e5b8122d35b85199744fad650a914d35015bf89a74317ac35181e8689b55b8754fa350cabfba2474649240084983f9a0488fc387b1b8fd453b6726700a601ec9633a911db3d3ce73ab9c3f628147be724e8b91ef198b71b26824379ee4e243babc81355b6f7767c6172c4c988fc277193d5c4820508890262df654961bacdf4aaf8a5b79f8a0cadc312ea8fb58082b4e85c030020b76914a1eab5a3e69fa73a807ac5939acba17c208d26da93b6ea946636b13394a9dfde8b06a444591324d33297896c6a6459d1e8bfae23488ac7abbd5f2bf0f779fff7ee3a19d9e85d099062059db6bd19e57a5b37de05f82b90a998417121210c52253d836f41d5b175505059b4769a4d7e637c74a604da59643211d8b833716deb1736d11120a55f57c8eb0058fdfd9126851be30a7d1be78f81c0f67890e473a7c1fbd2624f7ae3144642d0edba7a3cb93fef10b3b930e8d8e00901d682c9a3c19143332736847295fad91632c7aac3b745905f11a6ec23978e03ab003ee6bac83eb239d3d77c159dbf56c2521fb509c4739c9d44023eb20e4089e7f9dff62fc6fd71b18ed18c1e0bb1edf16c4fee742b4135203777a0ab7363815b5288c5f066943d2a0f6a5c7bbfe5251e1e816d735d4bfd0055a983337b3ed764bdecbe38c8a95834e3fd7199cf658a7a841504433c613d7cb08735a2e2bf8be4488df6289c4ae45baa0a98fba0cd04fe492b4acc1b091226174359aaea46965484a52e36827fd815bf049afcd373ae1fbdf130036133d872eef8980c0f6ee4275f44480639a1f618c75e22b2ce7186c763cd18bf19cd13116575947daab9416e4351c87ddd4881a06fdc5f93d821e93a4e8d1f7950d039e188a854898c1cfb8497d8b51c697e6dbc7e2c07492567e833d9702c095b8c028e434069f4549c398ac18c698652431639f9c7755535432cae25fef58c70bb4c8ae5bed549969ce35f9997f35104a8f831d60d56adeaedbc250371e18fc82b868ef9300c4849f10d68c3cf75376f8b4a782e37a3ba86a77ff67288d72af5643a91cb45f120c5c16c771340857d46a20c000b524f4a8c1ae3ce464b1e2d994cea954ec29312dc0deb932d1237b3f7aa61a277c22cde27baf5ded9d1fef46a767529afaa33baab46742011696023bb363a167ae53a95bef1a2e9356e5bedf370fcb5ac9aeee5d040be791450f3cd6da0403184f39041627407d2891b34c12b80a445c0f3ee56c096174c6a7375d7ce50e9144c650c6eb8655db977ef4df6ad3ba6e5cb47da947efcd77a24cabfde908d0fd548fe138d3c17f6893df1e5e65e89eb3c317404509becd0badf63d604996a9d185119eca96aff3a8c2174e4ee34a2b880f0d5f74ab668ab99f5efa2c74aa798fcbf6ab870e504699f6acaf44b592a1864c4b13989134b3036c88559ba9f688b5903b36ac551ba88d897688bc2c38f38243272fb06fbdefd20fb5232ce9050cd4a467fb1154f224a42c132fbea9e085a82e478d2d0c791264d3fe680bc96e7e3ceaa1e3d1c27280572bb815afb49423d4e8c03fb3808e9e52a25b063efb0dacfc4cc9fdf510b2c69b41da45ae879f3e825a191dd30e64a4c8ed224b99f7e6aab2548a15609c91777cbd355cf511671c0a5dd74ff6de8c8b482b33fe88b2206019f3a040b026aed5d0c2faf93de7ec4a2bc99880a36ed9ab78d41338120c1513c83ea5dab29ed321401f766b2c2d98bb3fde3f79617f69bc15edb6e229f85ff6793b73780e664a3fee7d42f1a0ae7eea8a6016ab80f029447016ab3ac06e01decd7e6bcf917b947d09a42468ffcc8680beb9cc0b722d308f1e7866d3d11820ac469ba1b08a213f1a2b0573042d311a58163a93d3079e3ba7b866deeb9912e9019a674d43780000f99566fa93a0e2cf6ed26fdcd38f31703a0fb2da0a7ddd50a81b397a93eb52dc54114425cd9e9bb3b6a61bc9d30d2189ba853d8bd34a3c1e80f05db7e930402e65fef3244f50117aaf24d35b88babbcbdac05b52c81e72d30443d7d2700165096155f2e5c4e9b372154b092303a235341ec25cc4bfc7ad34c78ac92adaebd2e34a7acad77f7865df4ef30b640886fd4167547f84a2c9bea0a2af3ecbcfd5cc40008646d4fde2381912e3f6a92d8419e036a2b9cd7b6d7b4178f2211342b9dc3727d535b834a75b14b7e678b97da45cec0f3eb841c8525c5fecccfb70d700b8661bd37417840b1918a36fcb3525f2b502d629e95d9bd91c255724e3a4fd489242e55d9ba9f514b88fad6d98986bdc7bfd2372e774ce2dcecf74ae29bb9f0369896e0d7616b679efafc6e54bece8bea752ca2ab56bc8e572babd84b8be414ebf05d18e2072b8ebde060048990172df32e76771a9a67dfd8c14b10b4c01c683155ba3962525492ff4b37cf72869d54c8facb008023d54433dada90c8da41412ec353d73a92d6a80bed6a83a5d857ef5aad57ecaa964c3a2c3115aae464127b1bf0f3d0e36fbfacd6d0db96cf406567c5d1cd3ee8ac330873406844274a1c0cc61b41c48ed3f462a0259285db167a10803417ed0fb21972f37e100e581b67ec609aa59e560737b693c102890061d8e8e51b3618ba97af1eee4c07a9ec318ff3e3c3ef43bdced93876df6d98a9e8aa57f7767957e70f42f311138e0450178317af72aee057e9e4a41beec8af3c7c6952a2d3692ba609058fbde26f24978d42e30d62aa5a6437804d13587f93bc32c6896c35591389191d372090da7dab154599a0a0a45beaa449277192c834824dafc4e8e65aa928dc8cb1b0af13e6b15ce6f400ea6016fdbe1339522bac729ff63d5a2d142c4054a64089e9fc7ca23b8326ea48414da5d65000d9dca8f3d4e3b3986267d0f2cccf7dfcebde68f2e1b2d6b8389e9df4da4b30c9d17d2fd8ef70e7d071b7bfdfec37320d81c1aadfc3af660eed4a1387af555a6c97c3463892ca41b46172c6547515ef0960f09195ded02f2b4e388906a7d901ab1c678d1690a9e7f5d785092988c4445940a93a5233b687b77cffcd9a1c4905d7fcbc9554687a1ffc066afbe97f11d009b36c6156ebd1f9066f015b96c37fadff004dfda54c5a50d66700d12f638dce72e2bbeb1ff7d6ea2853c2afeb0063595c22501b505ba933022007ca22542e205bdf8845b177234860f15f15bb2df7346a68e77377c07e092449cc19cc4b439579237c00f13050afa755bcec9e01c613c68d5040a9fe2f477352369dbcd767cc72c7fb794621f6462619986bf3de7fb0d53e0d6b8e5616bd94f78b79940087114b898b7677e892570849d67ec6b308c648af87ff303c25f15e1930a22c55f1829212da55d1dc30c5d68b406ec79f3399257fd4e3131c5f794bca2d8bf99c43b01c9b19c4b064f277f9954e71dfbfc0d3ce2626e1ac635f1002f0bb7f887e94457742c157e72b3fdeda9099e3021b1b8e21a692cae33eada8f846671f12a7cdd66094e6b10c40bc4e0ea4c54a02ea5e6390b4486b84ad6f461416e11b8660ae11c85be3051b2c29d99d2a325f2ee41298475694a49f075e993e228e26d282781bf7f8bc4703645ccceccd36ba4654ba5086196471ff61dff6ec8e00e70c09cfbb85163cac0b2de6f32a5ba6d6e66c6a488a8b67909648a0419a2ab01ca0d3f4ccdaa41e246b9248c41d6ed4337d8c310acf086d4c2b42777f2f634660f3265b50427d524d8a7b5fca1124dc20b610d940a9ee36aadcb6d35e120b266f429d6989393d24e320a5933dde75d63216a77025bcfe155bc42414ae69c7e97f5f8311fba2c61eb9bd79c5469d723fe4e82844811d791b106dbc5ae8419e87508e2837eb251b3fc6161aa2ace737fbf604aa4d3f846ebc516843bd8c5ac081c1b4e3ca990b6735bfeb50a2d615e54a906ede0782526df2415531582e447fd1e3031386711537ff0278665e77fbfca3796d58b87ecc37a53ca0ba9fcf52962cadbb0acc09bdd5b6417b68ba7c7121c8dd335ea2415f60d54c6f9e9ef8af28f6dbf6320f8bae91bd5cd32f8494d2e0c50df78609043b5d8ff5d9211f3388cd2f92da87f943e50ec2e4508d32eba401b0c18469261a5fa244697e342713acdf4d2ac129215f652a8eede88aa80779821da02d026407cda8b356179e2b37f51eb12edc05a3a03808cccc64a10634d63e02142f859e6f950548b47ad1a6f2cb4f6bfa93ee85c788c336cadd4678c5eb9cb79cd18d8b6bb90f82a6c54d746b3d25bbf4da1ce8549a052f70f178fb8edab034ff74766ea9b42a947d88e170f481d50056ee67db3338dcc926a15f2dad878144140ed85a64651054f5f3ab022a231b13d13102f2ca03565ac8fbedf44cfd72d53bdff028569bb1346d8d2bb91bae7b94a25394244e786a795aadea1169972fbd5fa2cc918846829ce2aa345fbf3332e045b6fd2d48eedb25d61129b7395a56adf21ac12715a7db0deefe2393157cd3864819585856d4f1effac770a56092e128e2b3c9d0dd33c835054849518aebd9894b8e18aa8296de978a5cedb77a26d551f6195567a25ed7b815fee45b70b2b1cc8af415300e7193b9555a5ccb609ab356cc1f1edc2e8668166b196652b360a49df3bf6c4300a4e2243c5ba26b6cb7fdc973b7fe4b43856f3d102c4e71eb28109bd71092b360ad9facfac4492aaa952429c149183532b7726b34a251707001f8a091a8de12f8159c58f98153115de11d75432a4c2ac2292007aa9483d537fc316ee849e5840cc0fd1ca03ed0b8600b1e04914687f0e42ab8b8d64f440be119dd6d1a3ce64ffe00868ed09b8aff8353823bcb87b9f3f8d12535e10890d96d860ad833cec03495221d1a9be9d86736d87648f542269e559a95d9c63a9fa578710078c9a049b547e89c3c97aa123273ca6b26255694fa4193557742b5f51d482ef45794b511bc0a9e0ab48b898a2f6069f6055f9ae5847b2bdb554d68b37fd3d800eb46454397ce27415fdac77dbbf88844fc555a0168a5d919dae2905af3283072cb7163c6ca2a158bada24f5d7891bc96e5d3027b8c2b3012a00d35ea74415ae0989e1ac26ae5750c091de8fce86b04c3946523fff7cb2cf9f5049bea092ae00ba40672fed330d0500973a98031954520145ed38888ed49529d38cb3a9582f430fe51eb511e45949a6f68ff635254bb75902100746916f8aaefe493d27923d0507352adaa7235571b510238a9af1232e2ed8dd654b9e5ea4d894e399482ad29c9022bb7ead9bc17958d48538d3de5e74ae1de37bd84640466a53bb0cf45c235d3a96319b7064e644128236f0054ace8e706f90ca9d4141cf47bb365b80ce7ebfd8082a22058968ed5370508446244ea4ad089bb528cd3560755fa5cc93541530f748319ede340841d0b35e48f3bc0ae862f85b03e415812a0a4b73244e272405d0790404381a267915111953931ec2400ac566930aba437862c585ba3035add72c56c0d9518e7ed6a51576f94d68a60b9e40e6f59d122a8ff05d7bd01c7cdf0483206db7561c016085c4347c97abc7d016336f8af0ef52a15a094cb8ea50d2a6bcb0489075ba0b7c371adc44da8c95357af7934bacbc6f0271c82b94b62690b0518c0cccd5fd85b1ef49aa898795f10fe2263115a8920a25cc1ca9e75f754c972ac4bfe8e69f8f5b40c386160a9a72c09ea68b532a028dd38c8671ada998e7016e3c3981d2fa52e340de4c4aa58456bf0240a8d4920e415962ee043fd5994a450f82b4d43e062486a6560fbe78e2d313781c334f9981b4e8d96cfa7d2a392ba727fca8c68c26a7e980911cc13da3e76454eb8de2470d0e63c9d60ce27a4b27688c0053ab96e11f6bcf731fcba5b459922482b5798cdfa6b684d8ddcde9f29c9ca9e171298776f7015dd11561c1cc450107f4838362934fcc1cd3b7924bde8a1aedc41709184e55690f38e2cb3f91f9cf9a0630eed30a15ecf6ad1831110318ee8063061ffda703a1b060d40516cae493c497510828021014f11d75b9ee00905e0b34749b40c4cb2c6de2aa9e2eb4fd79495609948dd39f680a0faadc51c6789a0e0e6d22fdcf74896af5a9e551400e29a236f81192ed57c56511219e8962d5b7e805114135de4f03926e4c106c5c11d764b35c52de63e882beff8b134506b4fad53d87e4c0690c5ce5e51f0fbc2b7c2259918bdd96bc924da54998e87eaae48f44c9bef956e5f2c2490efb2c89a66ede4995de6240c2eac281fd6507568cbc6e1efeb9eb9b20c37593d77a6441c2c787e0ddf54fa7283ca04452af1015994279dc4b7ba73ef69ece8db4a72544b5e418e782bbe884cf99d9b9a5a7aaa3c7adbe689251d0c596594e5300ad4e1bb01118eaacc2aba26c6da40289f6e52a0171d8e8774f9cf5fa187b7907096e9c91613a168aa41bbd1561d0c900747b0e0767a2835a49934b8ddfe231fea077d5826af3fab2a7380d7a2323f3429a88ea0a8c590f81d082037aa62cfa28a20eaf76df8c4582bd840dab572d69b21955b74910bf9717fd2369cb2f62bd56dde8116a3026b9c7b8fd3d0a2611115f55b5c3dc640b464b67753064b0e0611b3b768585b4248d6590ff1453a730074c7ed68cc15db4233f131779634f80dca618b9abab589301302dc1ef3e0e6dcb99512401eaad6c1202368015a00a0f75a758014d94f79d7036b82041af0eb5c965ce8ce625d0115b9b35628d41e47074dd60244dc3b933d94487802c509b1fe71a469a77ae2b905770bcd96b9cc39f8fe4ba465c8f2471a23cc8ad2519d7eb62bd849c7e373e4a4600e1833d4ad6148de4fb61e93ea48526cd348b57b3e68acf87e8d3a073b03863be6c50cadf0dcfd5360847e7405753369cbc4880e818c4380625e83e7f9341c72b3d7a9feeaf1a94b2ff22fc39f5870f5206912f898432bfa58d71d59fc91776e998a5c6bd33ff42449f6df28adf5e7b662514c606cb00d02b479a355aae9701bbcc7c4f1e694f7a8e27d481f6914d9ee0a405429c3631bd95bf71de626c63285cd91567f9a2649bd3332f42ba251ea969330d634bdfb880bb175a4f9dcb0ea4c2dc61662196868ef7f58c914b1bb8cf878aef66b20b66071b3b17c333d5a85cb804831d815cc856ade2ed402198db0c6dcebb4622df2bbf6539335806d7419919440f114500e2cf173aa7e137559473e691a2f239967190fc794ebec10a3bd41ce077fcbb99e4f3d087083f14905fdad166ce55a511e084b7957502826fad19c56f08115e411ce9bb39453b9f0a2333aa8bd312afb1befc25d1dc8c6649fe60ca0c3bf645fa8323b9a5f478916a85659965354dc05e5a25be3bc222159266d18365a9dfba11657c48a68df4baeb6ae27ab95950b7b97bbb493d0b0b004597383807a94442be3629d896f9ab9977eb19f346f6cca29aa29e475a2a2cd19cec3d390395c4db17a831b8bcf7ea7d551c676bf9ad8938dbd235fe7b5bafa7c2b8bd3f99f693a04f10027706af21c2f0ce039eccad190f65ae6b9da4261d90af1c31271de262752436ade6dce604422d5cc771f998142e67b988bbf4eb44028179dbb843ea6cfddccc73255515e2b3f5b05c135c23abea4723ae93f705d8d8c856a8dc86c2fbb8d982db5e0c6b90844f46c14b54954e8297f8b68504e37aefefbbb72815c6b9f5097c287e5734842435dd8ef94d15a4ba0912293fb086734c7dede162f30705497a659693d66f111d22bd905a04dd3a85900c51996256354c17b32c89f269cb3c2d52018252baee169ad2b74729301a60d740af5fb9bd7a7e7049e951b8d7558f026d455e5069e40197b33018e4119eb17800e4319e9fd485fe7903272b397d7cf79bba60dc4cf2503192b1c95d3420b2a1955f3030b27193dfc5950fe301ce9fe5b237648c2cfd3b9dec41b2780aa2f5c191cad5dd3274af748ba1bda2db8666bb5ddd5fc90527ddc0ecbdcc2edddf6fbb417f993d1e0ce219eb72c0bdd1566e8d61b15cebcb5e16815c68162ec4e806132343aa6a588acebf4f5e65a504824579fe4f70bcb9a74e3e7390c970b5f070fe29da894f43d250acd2fd89b503779a76a68ec9c973304b81ed4d2cc9c93014beb207044f7bd9133b74085ed55ff83df26cea4eaff154e1554beefe17e4b92be6bbfe27d8f8da21b53deed96b37ba078a0fc5fa30b83340778f092316e3e238bfae4bfc447497d40279b0f321eedeb9f283d0794f95485d25880a8912c6b87dca275ae4eeefd31906d9ffc7c2e630fd8e6dfa4b90ab475abd47356e9d2e73f63ad7973b113a02c1e6ca5ff20a0bee120b8bcb297a9385120557cc7c4b0a78a180cfaa2f1c215d399515294d5770266b0213637b74e4ec270041e6b8a2ea710c28e03d30fc0459af7c33f80b22d6516966ae0ab19600ef0ef1ed1e502dd5b0d9551189c77457be40dfe8e7d77d110f65128ac5fbb23d0674678a095e93b8800c253179b1ba2588437ad4527d6f372f920aff6d716067fb61373a861bb544baadb631138871cf647d9e88248b239ff58fd72bbec619021f4af3d93f2c24ce90e650743a3c14e27c598c9641c80011a84f8518872154b598ee136aa8f82ad7fcc65649c1fe388c1ae03ab38bfbc8bde4fdc6330915c0f6551ee854ac566b2ad908d147b73c833bbb145c7099af6f61d0fbccf00bd5bb960b4b22c983225c9d5b2a034d3ead771424d128435336a0c51dbe0e6e5ef434c5b62d6cdbcaddbe7fc98bc8e1c9bf513bf14087bc0b877896be4d7a8c602cd2d558c221d2e5188c5875440eff507a0857105462fd264ea3a4082d1faf48b7c03be99116871f27ce21f32dc579f45cc4aca79a955a0baa21f28111f2dc87e4075613e93317fbfa075ffd2d281e7345adbeba757dd03f16b4a1f82f9d80c898fe4a779a239836c5b70ff11f367739bfacb87a0e3ee853ace71cbe3ea4e901c370aa4b7bb682d86f8d12aee07197cc50848a62eed99a6f49cf016efdc71a195ce078795488342d3851f805d89bc1745d3a0753b32e63f6b15bb3727343e53626dee45a14005cca4fbfbcc1834873b4f07c86cfba4258fc74f25583c836a2fd346c55d15496086e65ba06ab67c72e70b617f07177c3a5ea9d6a87ae54a911af88d1dbd59a890217e3a9cb8970813cfa8cb5031ede33997f23cf7a1abcd2b2dd1e9042f04e38e4cb77865081bb7ed02480682af0c607940cb76aca0ef20d5ea1651f12b26ca1736dd23241abe36decdbfa3dca996e63bf3c400adb1f0eec964e44fb3107d75378d2258f959d35ecb776bc9f09241697b491e3e4ba5c6467862c2bd0cab0cd03e5245bb75a6b2c71e580ff828425d3d1da25247b49c53ca1e5ab24f4f8a84ef3ac54ab87051bd6c52d6a6ba732b3c348bc9e02646f7a90080f7a03e3b2ac2448826150b36ef69716f870316e1fcf54b6b2d0ffa2b0d9fc0779d2310d21355f53b3616f28d3973b1103836d9cfa5c8b516f2a511a8a4a1f7daa18bc0960934d1e34dd95404a06edc76f15cac414ebe9284e19650ab7d4c660a893d6197967f05b93edfecca9527c64a7ef9f530c049d605d0bbeb2fd7a622d86082b142688097b648fa3ee9de62c923c6c22bf069b19b616d4b0162dc836553d993d4282ede445467659b2691327b96f4d7013daa792a5f52142114acfa60ef25a38616f69a20d5c13eb39882cb326fdad6adb4351377ebcfce72b486e3b13f28e9df6360254ec97cdddbfbee9b3cd8fb1fd02d20ae482f011e7d41a1bf758622fa49816ca02b6203da4e879f3b4fda09e81fdb6852efb0afc718a6f388a6f648b5fb356fa1e03502d2278d24a05590b3596011fdb6b6b73701c54f6e4587f67d7179926053b2a2c8aa6429c999547fee63d9c51badf6eeb7257dc36fae62904adf35d50c42efd715ef77d5d59aa5231fe133ae85b02a93567d72f67ff7867198005f258ce09c4587cc876b6258dfaa747409368cb25502b554fdba89f5a7c22699ef287099b207f5015de2450fde462f6a9d8ff9fd91b0fb594b5aa39313bdf9647e599e82d1123771c1d1f95acd0066d1dcff8067f2d328b44f158b0af2c53559e443023c6d9602fb018263beed3bfe14ddc018aafc669dc566486dd9d60807e9c1789f6624fd23eb98a1d5388b3cc250a505885bedecce3b2b86849e6517b1d9d10b787deaaf632322f59a2b83eb1a15a80451307901ca949a13c6515be6ca0086f4e1dd030b8ce69d1f4c762c481d3b727d70323567aea4ffc5819c7bbf7031800286859e5f320205cab1b0eeb2ef219d7f9db2865859a0b49ac0d964bf4ae485235d9822639736a72a3a72e31527cfdff9af7031adddbb088bc22ed625560f7d2f3c2447104737431f48a973466d8478ba1373cab1923cbffa06a65324a39614bee3f7248fc299e81afae39352419a717b1a6b02d4740e3faa5bdbc910896d5ad850b7e7e7c5fa305682cfd9080cdf48efe33209a432398df85b90265f2eca92192212fc1f414a5a5320c960addbdf4bcab8f5f5c5c1df5f7cf98f01eceec6c1da22e8f624ca9a251619cc1c22295fef81c133b0d0f1bca2dcee7a809e50e1642390a7c87d88e885105eef5508f93f6d147dc3387c7d6819d732684bac6bc761f46bcc110f9139d082d69d4ee6f68f64aa11696a65afb2d160deb71a8b93a6532b2dda1dc80f025ddc38cb082cc2e6b3f0e090e3cbfeaa20f658fc9a145a6c54ecb29027a933dd1f0c001e64b6516c8b0ec85992f419b9ba7c86e39e228a18170a21502d2aaee56fd4cd9224ffc3ba10277947d32ddb7a500113c2b1a732115334fe0522e99904aa414a1050a2f8d6acc8a3ba25e9909adf72e9c3437995ab3261ce3bbd81b3aa5cca741f2d2f7d028462a56b65c5022701cd4e4c98a4c0a39e30c652545476c28682dae1b6b1f2f12482972028194114d5e6641087eff25cf6de253f276c1962064f62b61780878b115720fef0ced003d1baf432abc9eb692ee34ed6e3e99d06af0546f4d8b2ae2aac3ea1417057d644e0eed3dcdaa80c7415d833955479214cb77fb7924da5bf42990378662e4d00d29a8e12fc2d0fed30c847e17b25bc257e2262622b4885e38147d994b29b246267e3f851a35327b7a7838be9f44bdc63c97fe58212e259348655764267aa274778545a516989fc528485a6f22b3415737c654d6bfceefd0bcadd97ddd50f7c1bc3d5272f9428549f6941d122a37310cb7a2d44c7d135cdf51cdb7de4f97209fbf3d9f15585d7bd76b3442f85021d43c79b1a1bffdc5d876202b1767902ca5071ed1aa2fee2cdecc474bbbec5622070902fd1ba1dfc2942c7cc144c08de352e049d603086f5dc91404662ec0e935b05287c539f1ef228729c599feb154e5f530b8e99fd37ae7a3811f7c0f03b1c66ba44163e87168d3b0b87a5de65608c05f5a16e00029b446b2429f46f7abe6a00d982091eba25e1eddf58876b8d7845a54514117548944eb0ba9a2269d328144451315b642ab144d93ed0fa614efd17d9ac51d856881fe29d58db084fb6cc75341a7d87d426c4b473a0259d24b2fffd7e5b7f6132e877f5e51d7ca53db76064a401750b6379ec084e1299271c3ca7351845351f305ee0066c02babc9a077e760f6c843617d14b29a7c655b50ca1cb5c9e0bfee92e693d569858162eb8aee86c967fbb377f91f7bf26a622d87086a09188a4a43ebfaae7d87c04241b4aa35c4f38d6c09caa9e70660681153d4479495c666c6cc7077a3ee9b5ff715f758ecbbd22d80e6cb0fbc87dd53cf6020bb519f5796e419ffe17ce18a595c374daa0dc26895f9bc8b4c11100b044482ec367296d2a67c2557cf2d211c21b5f6418b5612f48c518a45c29d9f23f62df33cb64d9c6264f09f5f822b76bcd12efb200f07b39fdd5c91d0b4faa6ef0ea1b56b20353e17b9d6120f86d6411d995d8bbe7c2c4c872e4ab495e8c48188bcf7a282f3e905886771ddd8177852521e667de0197b270e69c265fe51fe02d1142f42af631e653442c98b1d5ded919fd0d149abf6d7af3da42e1f52abb55f3c804969a360da6eb71885fae782b3ca4bc4cbbf11ed19a4767304700d12e1bca77d974eb125169603aa30eae3a9085eef1f92d709de37e3ae445429b5d5c4ad58dc5eee91ef09b9d1f26850a522d75d0bedcd8a9eb09d384cab62e77aa8c5baa5ae14a7f0a74f3c58e49a580924e4ccbd30450330d9469677b087b6316940b6746f499fc5fb2135430bd00d679a667dcebfebf81ef8131ccca48b80b93a71c446f1d9894f72f5c806f62d1b0a5e114fdd898b5903dc91e4461087c136444a50c83b5c6f35675a2cf6bd11724796fe68c325d9111bf142011735a582c68bee05cd6e811da56e804f6c10bd062cfa5d4f2b4125a6065be75e1bf717affbc6c3e3dbdd6402af00799dcc98bf46dc4d83a3c7afaf78650b97b2916a32fb136b0e30e85b166df27a82f3e064f27f4b0a64d533e80dabf850ee632c6c82e8ceb1d2636adaf010c5f9bee5b583769112938206231455099565c5fe3bc341210afafb999e54b2e04b28073ea116a57d1666752abc2354e577ed67c800670529d59b2096a00d27b5885660dc973988e00d6c8493c479fbfc13a539d58f9182e5093bb54a46a3cc52a263975c62d187f5fdd9bdcb3f1aa3c64e8d410a6334d5abfa1dbf5eb8a105fc3a9d3fb10c4f7216d222406577c5aa173979f18a759405d3b35bbfa03ce854190edb89841a1c867bbb7fd52378ad4463f47982b9fa67ed038ee6e725ee8636c8bcfcdf1ea3912caa0d345eb83c7701afe32d63584ea94e72449ceef2503bfc4d95231726103189db9f36735ebbc334e3f6ad73009ea35300c0efd9263bc2db276a2a3d9477839ec8673f8c9f91479a537e2cd12baab4bff195ab4dae2904724a7f288e794ef1c6203d069d7c23f2c2237024ea05b7b2e415d4438f2977a55faf6ee5049b4be8512662122f59c3d22cd65e4e88310d5bc3fce152fde209c809782906e4615a86d9f23e011207dba71e52d533b85654ee4c4855909010b41c9db3de5465d58835a29b8ceb222282f54504125331a199817857a24838e3d5efef65d2414035b0a70efa1f61ef9a7408ed9e4b5272b0cdca17bc152715263681aab5ec62cf642d110a1e47556851eb32673dda28bd21434ca233de2aadccc4f8bb507b4eea70316d97611c7f550e9ee167319a011ec97a325adc45165d0441ea1de710f659da878b48643101f1d1e184bbf1937b0477a8eb41029b2c4f209706b416d354c131df2086c890f5673611c294323b850a24dc030e7959a31ccb4797b3041ecf0d31df7421c62d213347cc59f800b71b357f3e68c4dfcd81258fab77cd700a68c6be98c9d5cbcc98493d98952789350e0803a69a8164bfc62a5bb2f13c4ace4d8455d775de2320d9008efa7891fe933887e33ed2798a1d60e566624e381dde51a30975ea8e5f54fb26da2697534fc2933b43413d8dfc427229913bcef5b52050ca9d4e62a81441fe17b449d2a7b0bb7c0a8e49edc273762ada9271c21c361f96fdfde0931a5362e1f191a0e0f79110358e93fd9ce3c9e7ea525b4438a7d19fb33c92231f6f5f5b48dde400a06cdfd986f01aa32b12c069cc09b00b3bda171a88f8239f58958243f79a1787ee34eb80c29cd3e20767096e83ab01778cf0f82448072036e210b4b9a6c6ef843b5c0a8b7f178382ea46de489d67663ed0dc9c8101c0462082420d900d6e03851a27c8e5dfd93dbf5a7f70c1f43b68449f88c5c1012f1e6b4e9ed4066c927e783d1032711243172569c8729f4e57ab415dc8786fbd3707fd850a154ac59dd24e64283e86eec97eae761cb45d8a7eedd2f85e7cfd4a2b0ac659c60b7c15f4afdd7181a1aeddf95931f5474222586c4393d33f763883c7710d91ccd064e6921e41a0d59bb880406e11848ea5fc6fa2b2398aade84e66c174e16f8eb4b02bad458626c60fda826f5f48a8a42cd574b680968c2aec4662f49ab7b98d43178b7e06041048e867b528fdf5f41189ff73173a5c52ddfba7b2fa714a08d49a6716fb80b84ec5d342d45249ed73cc68a7b4209d27d529a0c9b81fbbd0531bf15649893b8c1c37a5d0c5a3ce0985d64c4750d2a17da5a34de23f6ceccb78c57015198dacb9d75f1c990b32a8887288554c90caddcbb8e357ef463de172146af404aa2525b90b4a52bd38361bf5c69abce78a478e33c2471a541a7b1661f904396f1b77c3c9818d864fbd6561bccf2c52c4a9641fdd976a85f9bbb9513b2665d26c761c02c48806331e52f4ed351c515e74e851f21f3a659da2ffc294d64e83b1af1a51384948739d39267e5b99394f5e165255a1151fffe53051bca93c513f60f58da5bb9540152b7245ac5819feac6f3cab4646960d88f239efe7afb70eef6549cc6b05caa193d8ab228bbe04507050ff03f00b539dccdc28d259b5a263ca0bafecc451881b896d379787018904c41f4e2261c96af4bee6a3e6ecc1099158630a35c68c4ad061a194e78efb1cec74985354c6cbb413f47dd05c8dc000352e953839ae03916d8baf93d825a1a63ad921578c163b973b9b2dd70f3f1cce37f7a5f7f51df96610e2f77d8c0ea4ec0b6679990ea9904a1dba47d67bdae1fcbe992f78774663e68166e92c4ec355cc25c65aa14e88abd376e4629dfa123184fe24cc55d919d7e695273e77e5ee7181a6e7b6e57f7895d74a1692a63f81ceed542a0cd776403a506d8ab81e415f6635ac6bde9b8b29b69109a142efd1666410220341b69be5ea3c406fdd54bb6b058a582568230c1cee57c795088b3280507a862328931131c74711a983544687a0483fa76696af45a0d189f08511ea9793d75401cc6a55f02705c8d0eb3cf2d40177fbdb8c7dcaf374d13828c340cab191261bda4008fb9f92170eb25e5d278132d39a61a3d8048cc74e641a1ab3871b940b6fcdbaa75551995a019139ad58f3153859c19628d59a6d5015b82b543d2368fb59fb2e850b8f568ab9f91539e0ce2f84c230ed663ced00333ea0cfa346ca8595bc119736848079b845bcd458e80b3752b3f7be100c520def91fdc45da4e37e4271da72a4968673b8f6d556cfd9e2c4a4175b8cbd680761d28300705976f63ea254dfe3b2334d8d9ba8ea4c6e23e9646fbdf1993c6aa1281635cfaa53d3c4d2f57709744fe2d82914c8558698738f677085469979a88a02ea949727641837e3fc97460550254f6598d7ac7c681b84b504361de14b5f93aa8d3c57ef496d1240b96309c1c8074b6eb9045634e4dcf1571f7e6b8628f76adee55421a85ac59df78b7264a2fa0189c13317eec20286737d576cc7e73b584a178d560f1719cf5f401f2dd9be8f64c2cd2af12198908702b1ffa73232b6a0bdbf425362feac64f73ec428f050825558fe966acfb3a98b19ee5f484aa78be25e2d4c8afc6dd098af498bcdad47d8ede1e587b0b7b572044202da6e74156d931f9924c0f9863fc30faa62638fe3c833f6984ed486689ebd4b278d0c50eb8f8a1f2ad206f95f04b545ec382228a7a01f7e4df379e239b91cb797e42b82948556122183a1655c893a5655000b057f93eae054a6019067ec00edac3cd54bfd2be4d5ece1119f2fcbdcabc13e4655a239cfd75e6fed91b0b4fcbb8cb6d5953af439a70a6719b29bae3be5377c0fde64b29bbdad9f3dad1f6c8ff1b5b083759ad218825f5872d4ee36d0aaabf1b58fad68b9c466598188009b36337f842eaa995a57e5c86b4da4b28604a2886d9a574dd02475b9589980e7af5b4a2cc001c9e354b7064c975d4aa12255f71a091d30bc8ae41c931d6814109965a63a3cabc07f9bc028766dbfd65806f6315c07236b7ce73287f6e5266d1d77d25955f7c1cb974b610075a588a41f225b12c1e53fedfc35d31721d37ea238f7feb36868d04ac856ab45570c31622913a21d9cde071322b0962354420540483d5dbfb4a91dd13be38b54852c20f3c4865fcc6a280d99b934eafc58948ebbac79258ef4a98143fef1ce6e966423047389e2f110d977d5539abb141690fbe12545f7611a076a8e672f9a2e8ac2a7433db4eea42ecdc953128d79f9a26f09cc4eb433697adcfdeb4a00cf9cc2690057c68249763e77e00e9087559ed70dc80385b68ca4f842deb2203d62cc98d59df97bbd2e626ed6d8b6ecdd78f127ea03d5428ab8e9083c0fe19a17a16df292d94b26a7aa9b4268aa41688166415107bf016322ee614fed3ca75922880ca9068f5c35a859861e0f5ad4970cf008742cd79ad67dd2f0bec2c139eb8a07e69d3eae460bcb6d491bafb1518695f285230f55867a8d90d2b40e265dc5b0271f40c89eba06546fd974981c4077084e8801f50bd249095d20000a09c4e21f45e68c90aa1a378e16a3bd9ac9617042276d1764f32983a4a5d8d06a068520f05895d1a8441aa6584a1f42ee939b398ffe3f8c0a5bf2f4ac7e15ea94f6ba44e1783e6f8cde74854804b286f342dc60a8809f8f9c0e4e11e3249e37bc37de77a9fffe9ff61b147a6933b404faeed4f2f90b77f2fbf788ad6599403735216419134de1057493b624a0dc3c4cb3e40c6f4f9385acf10ec9d010da7aae45954d568a42f13dbbfeb152ee1d1bea573ca07d78c38e584c0fd8c78533995192acc4d698050090929132771502a03b5412a4045f0405e1fb72fb0301f010ac599d906d3a89d87cdb4c82e6f87bec6cf34075168b8141f65c7b678d17eee0ad3d2e12ba8aeb0d03b391c30c473809a847d712f7f7ccdd3595615be2399bb996b871ed4c70c9c8676de0254ed45ccd9f47c95450ac029393f62e61158cd9af793abd6c312f6626e8cb4508bac78e9723c4f6cb1d20e48e1c47076a11ba1cfe0f36ea0f306e6ca0b1208b4cb50ca9540bfd97bbd0bc62e6edd82fd33ec5411a572310cc3d05789950afa5bc99da72c1c27d268fb492cd833a22c897471c2d84679553b614e2902423295558a565007259ad57fa8c92ef7b950f1ac0a5228ba41f31f6233df10197b82349782f3355f8247927a10299c81633e1d3419d73adbfae5d9c49d29f5d5c60460c965243a693ad474674313cd10a639acacb4dd2f3a1b193a7c3f865a6858148d608aeac1888e57ff6f372898bd569c716560ad1bcfcefcf45606c5ea730c2a85de49867f46a943a799a0331e8f1783a81ecdd30a02328760f06deb530ac4c501417d3000bb530ab7872355ffdbb564994154c07db6acface2c962de1f1250f6394e4aff2f5755f9642f607631252a390809500ea170d3fd487b560629984d6841176cb244c5bd8855fc40878af60a6583ae0d49960c2d093581ce681e3fe258e0ec61a21148dd4fd611f52b6a41cd58aad8e0b862beb80940850e61c500c33503f4be92efb27da2ee8782bea738d4246f4f3193d404df900a5aa7d29f0e5e5cd7348cc41530b77c91994dd422ffd6892fb72e6274499bd3df1bb52a64794c118022388a3ffcbcb3adf39d568710e4f16507f9ce2216353fc730808e341b4e40165173d828dfe4be2e1b661e5ba970286a732f007b55977e2ae6a74b7dcc95b986db5ba37e23182356bef6ab0199d6652ced085a364e2728cd126b16b6c8f624fa543e42e25ea642cd914dab00009f42974bda9f44eb1be3c26580058b801c49f0a800e396472cc540d050b5a0f0469b952d5b8d2bd5ead9f5a3c9c70b7674792d6fb3cf196745ba3c881a7ac72926c58ad7e5fd376a6c45fe1cb17e772a2f9da71b04668a82d897b480b872793fa287a6800d19f9981b50b01b6d6a317b4c45f2721c8d18cc15ccf93d3c4a58b3b04d6b3ba9bf96e16f0c32c67e1c8273d1e80d00c36de09d5add8c520f48ada2d20b34d82ed5f3129d2c4cf76400207d56d13b2ffe87b447d51b0c2f5d46ff7ed7d9060ab5693f20054d86a72396c24152f73a0713d8f85d810225087e57830269787f3bcba207e14380f8a1c0057ae772f009e1d6d262867aca812aae8059c69b811e3d88dbb1aff72d2f47d0f3b7fca1b00e4b4818590c55882fa4309fb1051ac24dc5d6f6b4d33d4057a9d33e04be301ef7468a06c15ee1bf7c5f0e4a0b9ca164f824958d2e961c1876a16d582c7c7db2f4bcc5d6dd7aa9eaa3af78bed05fa27ad924fe9739170a2636d4538aa55c19982160b3052f6a181dcfedd4d57392a0ceda103f2d81b911ba60af0fbe83b44577d1b4911e16e731121f760b8b84d7cdb4eae2f209d21eb443c9a5278869a786556130493c7a51690061269e4146f39ace9ee29a82bae7cdd91cc4928595e0917668dab7022d27201ef84b6a7a01e8364ac8cc7e1a4b3a539ddea21247b7ab0a3bd1981b6bdfb4add93174bfa911b565759449f1f632430c4216b478e8a651cf0406b70977c7f018856b51308526c0de209741a8efac51f03ac1bf8e22d9aa69ee497185d2804e5ebc1f46dd7a11d03ef303cd3e791348e9a908b9e1e3057d09b8e90cb998e1efdb919a848e1e0a7046541c71380e55fc5a3d8de5df36d56217886ed8a7aedbc71fd940a1c7c3c228827b4e55031351b1910e7855049b3448ca17a5d6400a39c8ccbe0301cf7da5cff533116560761043f131ec26718b9d53281d3993bca8192405f1bc527bcb0584a2be44960b54878250edb6b560264b3a13b7ca13a6313b10ed9aa31d0cd6f3023906216b78ae5f5e2848c34895b80f0373ffafa528edbcfedf32d9d62849ecc7f5456b74a73eeb8767ce18e0ca099ea558e09efec4e430677711d47ebde8a02eb0848ac07e77a8eea298000530613f14f101ad93d7f1c064f1eaeeb1322338cda78aaf317adc897865ac8d040e87fa03f3be03f08635b0664a622ccfdb0f5c88f8636f447fc12ae0e53c1838fd6253c6f4df6d6c8d36d9fca20aefa39f56891d74cb322190ce71b4ed20f7249ff32048084aaf211469ce0cb46f5955467c6016015722d0efb23781eb14837d50a803877d14ab01b76a79358e45dbc2689552f40c84defc1b2af11b75de67699480d4facb3781d68f3a9f74b91c25778b9bbc2d5b70bb6cdd096706ff5f6e759e825962661caaa716c92320231c0434d36182ed0562c72bc1f227df9b38634db04081b0e128c5ec9c62f44c313827cd61eb8e05c9864d9a6e53f92ae8374df8d2c6919f16ad3ee9d8f099fc94bad5e1cadccb0078f2e2d8c5d2a98cceec02dc71cc456eff52481f1ff0b89d30b8c06dcb256c391ca715f6a2b19aec074a6e5ffe4c3d610e8ab7ef805cd4640640c4498f2bc6ef62a3c3d8b4d9cfe4562facba444f5e37f25e6f1e603da750b12207b526980b616fb04b0d3764c2921ba80505c16f11b65cf2cace5784895a0af15d68ece05bafb86d02abb26e2ff64193d658d54b978310962aff7abaaf94d04ff0e549b8aa16f9ee70d2e021f73b1f584b304b058ed4d7d3a56ff2f4e63dbd7e40ef209eb917e4195b85025fd17786676ec20cf13a4c6f9b2f5c54630be47f89f6cb5668e808732d73c1df284623c627691269e09ad70d85c5762af81f43edfb4e8c145556574b4e4d8622d26abfccbfeba4093a5dfd60db1ed595b044b919383bfa0e105d465bba2f9c2bb2caf6e3b61e4c84887ccb517b061e737c9e053bdc3ebe0836a54beb8733f3b24d88ee93af81fbf002f7ddaf1c71548aee2bc9f8e9e8e29d6ef5def43eead69e22d0ef64e5a5132a0145301000e211a6d13e2aa2b21c5f25b60e023477f2817256457f8c80f2049915de4787c73da443c0ef6b97d99bb09331563d96cc57238a1bf6ac5fab52960d855eb0c364e86e567b23051ae2cdac1fe50919e740219b47e997e0d7a4f4aa7eaf9f2b051ad5de004c4bf4a10d5c1ba6e4a5c03ef6d85bcd83204ae94ac6051abc3cd0179d79cf1608fcad611af4f9ffea0b5fe0e484c8fce0e1e18f4867b1677d54c550c70bfe7b322dafc3cf1cc32b2c5615c26fb4c78fa66cb6ff0728e8e4b36debbec055341422a2b7133362484e777e8ec9fff6fcfa3e2fc48dc9e59fb2e0ed5ab7b9b237c438b52c3c09f6eed5464274e4d0ee4ae354652e352be3f933ca75aa9ef6789d137f699dcca164085b41edc96591dfc17f9cb81831a2b2703bdffcb83c44687381d711493da88772b3ebd323f9ec9603e31569914b67b628819197e77ca06386041a14ed264b6e901ca6baca00c4eaf98770f4e717dea12300508b9f7e7c2a80f600df7d004221030a9b49dbdb4d2566b0410058028ccc2f7be61b2e6ae9e7e2cc9b237ca887653468cddbec770ee4272793a772a3943c92a703b559e9504ee54edcf2d076a9df72bdfc3333098a3f99cd4b990aa9a242ead57f3b7bec3c956ef3b70087f193035400defd04f89e9635ef1817ebea1a9d67b741e6185f505e86d3eca839cd63865b559b9c20ba13ba5fe231d1ec3820318ec7daacc8768918a0b516b165b35eb637ac1133f0d5d64462d52c5020d2d50cc4460e99260d4fd68a09d03219aedbda0b99a96ec80706c3e211f6798ee117a4e61c4e506a9e4a24a860d32f288dcec9599034a2f7e1774b0b3a8277aa4d09223a2102394c8608b5137c0ee7fc2f93572484f27201c789decab87a348b564415f8d4fddb4fc8dbf1d0857a1df8211f7e339ce81d748878c933c81410be28f35ce3231165fa952a39e145e2f5739e8a8a29e32aeec3b8aff499df3a971887e46f13cf68d1027666f7f9b26f72d41415edfea85e6f8dbcfb625f25b81225a936a44c02aab941555a601a55a503f12173cd9873dac09b39e715606b6ee2584482f6d2cf05b6d58b8ecf0b32d74cf790682fe7bb5e72ae44dac215b8eef0a82c3b05fd64548a24128e39a3a02a2322a4e422ccafd30e89d0de7b4bb9a5dc5bca94920cd3050c05f004dcdccc5c53c3dddddded522b77b3479689dc3136373733d7d470c36eefaea9e9f6eeee36c5c86046c78c8e999f999f9d9d199a199a199b191b4dca9f1a700a1536c1dc808601da415010aeffe3e7e3087c3bfee9671ab00eaeb311aeb7e5b69d062eac4c5807ebd0b10347474a0a379bb0c98f0c8967a01e42b2ea91157417158061810bfcfc98e818023af5f041c24428889021444cf8738f7f4a8a0f1984ac8851a9616123811e9e1d3e2a2030011b13ce4e27656268d0d468716181b9fe325c540086052e807382827312440f1c1c1c1e5965373388cc20321333132324c42f6608019ad93b4143881e1a348490a14183468d2dbc3743d70471aaa90962a7a6a6c66404ffea83c638e0140c7826fc69e0031d10e1fa03c2f5ef58092d0f099a8acb304342008119126207cc10cc10cc104c11ec08140b0662a0f6d13eda8743181818181837e12fa5a699984018c4c3c323a44891d6018b44181d4520d4a14387cf3bf12efc813b9c6ba582d6b5cc8d31368da689922bd8d114abb863878c9f58b073dd71769a92b2dae133f3137774b300e6e7e707e84d01421e90471c1275ec401e106807f2d8d9d9b9340405050505f5bc13effaf562e6241365de0cd78368416f06ff7132cde0fa8f147cc8878688ccd00ccdd0ccd0ccd0d404191204f2409e0a7960cf8c0de4a99567c666c666c606c24018080361204c14bce69d80d0e11a28e0e0409c9d194470201c9a41640691194460de8977bde6093f7efc109a89f11f2f66625eccc42c6126e6c50c8d77e25deff11eeff11e25f4cf4d0eaebf255420b04f7d8a3176779f3a48a84f424242413c45ec117f5caf4ed0ba36997064056505bd829187a97af86df2141ee3314376f09089346a442a4e668e3176b7f498eb2ef36286108f112244c850fbf0143128c8470c6a1feda3095af64ebcd30f32b8ce330ee40e99870f03411ffe0102020aead1315c04a67b482e72fd2b985a7bf4e8f10388999909290cb3739d4d70fd8786dc7bdc210456b48d897ba05c71fd2b959e1510ae60a8a7a767070d2f664e346a501a83a80fa531280a4520cd445a7295950c9736d117a56974db00b9fe11c60957f0035231cef0e1a1eb5fede0e352eb0a787c7c7c78b0f0142ca5a69998b00ccbbc13fe425af64ef877312806790a0d85e71e71fda9ca002468910715797404e2c8837266ae69191b6a272806c51e31080f75041287c8ca696405a1ac60770c8a419d82461ed44ef4f12306e1a137c30e0fb9eedddd1f87740a8bf9d22cf290e962174dd75dc669804e90c666a7652ad662eca11169641ac53b9da0a651981ac5dc6914b27b66e054ecd5458ad509605eccc081cddc337066e0cce0793173d2468dc224483607513ddc8310f49d0460093c4cd8e49d70cfbe79c78ee8d391146377b36814aec225905de7c1e30750508f1f26a11314f6212b1db2822e2b282bcadfdfdb72f6c13fb0933783cc5f774bc89022de9c0c8de2263c53d1bd21322c6cdc7ffc2510e4fa5780c8f567130eef78ef70aa217461b8b0c023015ff000433502b64eb9fed4458a540d9fe601a6bb9b079825f000f3820799eccdd04f73f5a0dfc5d0c5d0c5703b01cf4437a079e0cb6f8617031262b8fd5f80d7001ddec46b400c8cf266f003dc36c065c811e69df08631a4b4431d1107aa62fe00a1e0e7838783dbff38c57b40e780dbf07629560225e0f112f0dc4aa0043f0fe55dee9ff35dbe1d33d00c0ac0557926623ff51c80db23b7677304e665ab81ebf63d7e29aa07b0136604c10814fe4c9a7c9158bb4f011a75f9f2c514334c0d892af4b00c0dc3f0d4a851a3a6064fcfce8e0eca230c2204c8508f201f3f84766a98784c3b3a786a686a6aecd811e403844711201a9b9fd37c18440890a11e413e7e08f1f4f0d4d4d4c0c0c00c21d4d3841fade31d3c2e7fc73b68807a8069619bee18998e791b19d85453739b298fd09d8af0bfeb98a64141800c2a6c686a54584ca0028cc3363232313b34b8877d840c192252c4c70feef126d029886d4c6cc33232322d6fc81b220730a3756faa422f18c00762dac4e41f05e5da69020d891f2801dbb4a5ebb1af4f7d37da60663b6db37e8311da129d9b654bdb84ff5a4c5b32216159ad511edca8efeaedf8f5adef684bf57bebbfb88dfa2d7ef5dc8bb634edab5776c37fb998d2d15a5ca0d6e202a54a4bcb047c3e8c96965bbd0b7cfc2d44860411f2d11b654b25d96dd15f6502301ae57dcbfd9f94fb2e50bb0245c0e53f31f9cb55ba944db5bf0e254eaec97b6f724fe410adfdf2e7c36716ef56fc5e72efb7fef8bd3dfb1aa5a23000af0e03b838bcdc76aedbfceb959b5b16efd65bdf8b648e02fdf728bdbdd7526240bb3a6c29f7bf51dea7dc94b6d889e02334830e74c047c8c7c7c7c7c7e7070f0f0f0f0f4f9b7c7c7c7c18c80ca83bec11ea9f21dd8312f0dcae42d83fe856e28f4fe2974b337f9a5d56d822cdda2de573f6d3d831badd481d4bfdf19d23b51de950e2c6b8d2f071d42e926478b9dd4af1fd49d1725cbc48d44681eaa9bf61befc6a5a4d5a8dba48912dbf134f4e7991dc86caaa50e126e6bc489d6da477d95a1706ae21f422c923ae45620b6dadf25a9157e41b6da781cb01f8025b9a80f6d35ee123ae1168fecdbd23ae93f8e3d3e6e0cfedeeeeee21d7ddddbdbafd6eba103e84107ad08df0bb8e916b984b71cf8554e49e5b553036f784aebcae11689d7661d524aeae153931b77023b9952fb7b241c34fa9730c614a8aab98dfa9a0a1aaccd970dd705512bc5535e7ec39a917595517094eb76a9d2d3962f0e7437b916009d26f78bb9191d66ea5d2929fc471f2225136bc07c4f4707dfd1eb28d023798547f43869122adcc91e0339320ad5525b16acd8bc4d4a24d29462f92d73aa546b35a4d4c34ed9ab35ef4e9d5d7051f529b5179e755e945830dd7d79fd70d24a855ac62bbdd707d7d1baabd2e12f311978ed4eca2812d69be4a63177c9a7596f18b187cf924f832636835eb99e3235ea5af8bc4973e362f7d9a555e91973eb5f8699685c1df4af4e193a865ad06ae8cef1bb4a4111dcaa2354a76f518820743d000bac3214c2f1882c687e8b93c8407a26604a539a102c0498a60706a410eb70088bb9568a3380c98045adf77c221c1e57f18115821c7ae443a460ad65a6bd568d5681552ab905a85d4dad1aa5192224a28090dec0bd8177ec0b4806961059811981129c0ba8075010518118c8809b023b0234a807901f3c208b02b605738b5c087530b40c02ad046288908f8f93d122070338ffcb477c7c074cad971cae9d9b182534e8d538e0f2421c81142e2030a25a171777777e9523e39df4fefa82dd04a44e3affe805ca7cdef04ff508da8469c6cf4a0996df4e8c0e43f9784d780ee271b3477c8c9c6ccc9064ca4ae404126dce754d50255552d5451085445513a3ca8f2a86455c51b9d3ce9984e3a2238d9f871d2f9c029a748cdc229c7092ea71d2f0c39ed3c01c2930e4d1286f08348e980aa6a50513ea71d1d97c4b4e684279c1aa79d214e3b32a79d9b77daa9b92428bd4868b4ce44068a850b6920a1a914eca8938d22175a12d694b432027d7f339062fdba3b7476e847f045039c8183be93ea83265f8e1a45b3317fdada281ac53b9136c6df748c116df0befac751ddf0631dc56842e2f653dc42e007592effe3aa15dee832154f41d4dc185946344cdcddccccddcdcccdcccdcccccdcccdccccccddccccdcddccccddcdcccdcccdcc5cc3ddcdcc35dcddccdcccdccccc35dcddcc5cc3ddcdcccdcccdcc5c63c3ddcdccdcddccdcccdcccccdcddccccddcdcccdcccdccccdccddcddccccddcdcccdccdccdb0bbbbbb1988bb99bbb9b999b9a6767777377337c3eeee6e959e15100ef5703773772f9201b59f73e4259755fb1a4524b2d84babc18bf555ad2a29970e42eb5e06a1b9ed5cfefdbd7ed03ab72efd43c694cc6c218092d559cf32b918f4df9ddf1c35df7aeba7b4178dd63f2deac574599ed0a56c777dadd47a974fdfa219767198ed465ee85a19d78d3cc7f284a4eda8e55c4f7f6b7ef49fb6a9a71ccb136a51c5f0eb31d71efbcbbbece56bdc45a36176a3deffa2d1e85befd65b5cb7596eb95f349a3faa6b53fd4b566937faf2fda2d12e4a5e349af5f3376a2f1a4dcab72c0e3c7f72dd36bf4d977fee9bf6a279dff5cf6dd37d2fb98b467befc58b2711f4a59cdceba5cba74d7f576525b51edb5a643f727d7571eb3fae3bb92eae949a2d6576a4fe7b6f5af6d9d7282e6ed54d969393cec5a54f47df9180e1bbd12dc1ae97fe988b2bbf72ddc9add95fafd2efe2aa1c7dcd4bfc61b09de626734e00d8ceadcfa81fe132dbf909cbc99dd38a9e9a2fe7c5b19c5caa3231f1f96ff6b30c15e118ec7de42902645871fd64d21f797f77bb59dd67d87c696dd886f9f5f21d73f7cb6696e5e456ff9ee50dbd2276b31e7bf91dd3082234ff054904c8b0e2b2a8fd27feec76cdaf4fb7ebe7cbf79890db5d6dc772724bd4be93c9a251deb300dd2764c487f7fc6d3db5486cc797646444f40ec31c7d0c7ff9232bdf456f719dd6b5dca98d46b66b99d94f6ee461e0649b701146f2daab3889865df363352dae6fc5d1ba6b3dcfbf6c34cb760c83a3f5cbeb6fa375efe7b2b96c341badbf7aa9dde069ffe3bfb616239fd1975cb761f21fd7695dcbadf2d60db3a511fbec6b145ab3cdb2af51fa2b57a5a6dd91cfb8aee566a3efeaf5aebef4aea5d32ec5e8d7cbaffa5272234fb9ec35f951fec876725a1b30bc4ac3603bf924efb693d6e555dce2aa1fe1b08cd32e09a4a2affe29e7d2d75ff6a55ce0ad2a4ede0b08ad6318780101a54cb19bf5d98f7c87a291bcf6238fbe53fa9dbc769bbf592f9ffef51af7aef9d76f74da77598dda524aa3b8cba7ccbf5e7ea7c26ef4adf7bad1b7b6fa7fd96e935de93fad516ea92fffd314d01d6e7f27e3caa756bed5c2e2c2554a171994e4d6f97f903b95db0fe3f25f0a0342d9c1881109f4d1ece4a4697dd951b9cec5ad27b776bba8d5aaa48b5b3deda4e43a939393ae829437c648de618705502f3922aa77c29d7f4623eb2f70fbadc932eabeccdb4abff5a5aedeb22596ae017d347b42f2a2d13a0efc5c7ef9627a42dd8b4972d545a3752fa627f4849e100b81bed1adc06d969165b1c86acadbb1dceadb05f44553345d861b08ea68babd01a158c3e6562f2b9acb124d2cd1144df711406b8bb7392dc0dc5d4b7c8b936d82926f5b6003411fcd345a615cfed9a259b66ba1da44f5b0a5e23acaba40c871176a78b93b2607af162e2c95a5b20f60c55676329e94e1d22ecd43c4ea5f8beadffbd36e05230e2f57be0bbcd2e650e24aebfd1f37ed56abb4d5b7b43ec67cf9d67cf9d3bbe53a6575e0cbdf725de0e56f1fea9d36871214b410fea3e67b2fc628e78a68732871ab7793693729a3456b78b9957568732871e74b6a6b78b996dd627c4d7df3df30bddfc709db2d46196eb477dd683db902d261005ecbe650e252149471ba35822ffba9f737a9be7178b9cfe650a2a7ade1e552fd2fbed7f0722557c3cb8df6e10f9adb4ebb7ed0faa10d4b65a95508bc9d4b5f0b5e7ff8eebe59d07a8a1af9fbf6f7bd51f0b7086c25f96db716326e7d86b6543df555f5367b7e128d628b803f654bd5c367bded483cf5f53b931b40cc984ca6125389a9c45462cac9c9c9c9111551725372a3a3a3a3a3a3a3a353725372737373737393238728872887288728878808111122224444888810115184228a28a288228ac08103070e1c3838383838383838376edcb871e3c68d1c3972e4c881737373737373737323c221c221c221c221c221c26132994c261c1d1d1d1d1d9d929b929b929b929b929b929b22dcb871e3c68d1b2539253925392539253925392539253910461b208410f29398f52a4d8a2bb58acd0fc688511729aebc87f21e4a3772e35b17e9bd137ed100af09c4f460d243bc56de3b415d16add5b2a8552b3a67d5b4ebd23449a2d5baf1a2a15e7c2305fab2815f4b8cba48d6535faf155af95aa1935aa92cf9d7aae28a3fcf9f0f9c70b8808513ce144e384b20c209a707b0668182b06601be0ae200dde79384068493848625717a2ee481a94650779d255c08a3539082447ae7427bc2c1e92750eaa90e5e417b7e0ef9d2ae48682255dd94c7d783f8e8122dcbfa87e1125d22f5edfeef3d0c97a83d8c5b6118892c8beb605ceb3329350d8665c13012619224cbfe528e447389b47ae698fbc398d67726309e5f5f338bf965aded4c4c5ca24b34318111648874ead4a94f7797d284be9febd625c290418898f8d08280b4149597e2bd67f28f81bf3a08e009ddf7f3739fd0ffc80ea6cfe996cbd1f5d64faefa65e5ab725ab61bf939b311cbad22127abde4aa88446aa34bb56c4431bf3cb6f774f778454d1b6573ce7a3dc6e25d2adb284a1de5ae984105dd2893d2bd8eb0bf9ed4a1c4c5e165c54541b96f742b0a2b52b5a8aa98bdac7fcdaf362074ab778e5a1b664bd55e96b3a5686d4068ca0d085d9668baaea714c3a635ab7c9f6f559ca48f55ab9264d9952491a2aca75e55b42fae8b352ea5d1143f46aa9a5fffaaa62d65affdf5b5eab09faf55bbc5dfe85719b57e8bd26db7516f115f3e75f7b7a295feafcb84fe7a3a5f006e4bf5b1a77f4dbbc59f577caf1cb55b9c2e33a16bfddcf7550bf99565b3a0fb7ec87d6ffddc4ca824df5756cf7d185b475c2cb858a0d54a6dc9ab8a5d6f7db7d84af4bd92ffacbfecab5356f05ad5a4d69df4d5764ebfaae4cfec2d4e7b8cebe837ad7444cb3213a5a62ce3e095ef4fadeae563f3eb6fd6f5d4b225ffec1dc332e94fe7d79fb6056659e84e7504e8fb53bbd57fb7af54df7f7bb3b45511a8ef5f29ac6ce97d4b1e4a5dfdfe288a7bb9b8cee55e4fb3a74f65368712377beaddaf1a5e6e66b7aa82f4a999bd957dcddc6d774911d7b95cd163d8a446d4fa18d9536f654f7dd6c272715dbdd753ae73b994e46be7422f4ef494c37e44fd453da52635f224afe222ae5e8c23b19df6fd7584ebb47f52e32cdb71bdd33b19977adad9c7b89e7e763dfdaba53ec5752e97ea7aa9eba2bee7631cfd8b3eb5c3f5afb4a3acefc9b1d45b5531e2b310d4f75f42687ea3f9537fdd5096a5c6178d67127e5ad6e8ca11cbb5beb967b9dd7c19a33af79665b795ebeb97ae2aad3a25663bee465763b9fca9ffd58dae35f2f5555a4a4d63d1def2a75fa297b551f22aed5684611cf51a37226219913c35fbc2505f9552666fbd74ead4a74fafa36d65e4b52f8d5ef4d757add3be7fc489b0dfb2cc37cc7d52fafe0fe552bbadd0975fa23e6a946d65befcd22ca1348aff8a4b8275ef9482424796dd56b4cfbe44f223dd7dbdf5f23b8dd3b86ab7eb37ccfa8cb31be67ed96da53efd5289658472578c2e0e2bd6fb972ceba5b7adc8f72f492fadb828f7fd48673fd06ac3375d5a529b43893bf2f29d23e97f23a2a72f12712fb335bc5c1291889371bd4e19d7a52fff83326e36df69978aa884ec99ea6aea10cd00000317000028100c8844b228cc8218cae4f814000d7a805654442a12c74291388cc2300a831888611888610c00c630849c42ce9016a224f3a764b509266e45681f5b1f761ff37dc0c7c128a27efa9b3776d98245ef68da92d30aded0c191f4ee42e0a5d9bc34ef5541f7daf21a337d7420eb9c26c8ecd761f64f2acaa7cfbcf12b10fc878fca63e1a830f721ff31e7c3cc87fc808bf1daafaf0d184fbe68f8aed95643a62ef9509af2f433fff8a0124e77cc1207c240a67b1a28a34e9c79e3035de7356e0a584f07ff70dcf880ae7b4d3781d5b86668bf83b0a6a89b7db420f8e6753c6c3410d799c64d3e06c8ca04847295f35ab355a3258d760d335887a0d799b26933dd38b096c74a6fdaf8a0d70d54e37abf4f16481b29feb8a04567601907e3443b8d2d1adfb5e4d72d0bca37df7820d705a885a1c84f1a6e321fce7dd87e90fd71e3c3e6035ce2b4a7b8397ee04d7adfb89a2049ec51670b85fb2c4e6f053f51bcc32355cb241f1995e3e87058a5b162dee16894b04e1f5913083105c0f244a5b2b10c28f7ddcd0a8544cbc9cf4265eb92533c67ba96c9313d075b8de4dd2bdd49615abdb3962409452e5826ae387935a4185749f2c22d44d96b970e34914c40c9d86e12633f4684178ba7aaa9e9874a2d939441aa06952be167094660eac728721df2912a92d36a88939ca7cffab9e34811706c0cfd20637cb1d869d44857dcde6179b4eb061778660d67f2d5b0d3aee791421c1a3c9a9433117a46c7db65b7cc85823ca6913ec8d188d2656422b57249c5f5f536c58fe66e8cc534307fb1bcb8573679d135c9c630205096ec54fbd5e1045f5fb766288f30f4d178ac96efb7eb08e96dc0672872a8a0dfd23fe16c417fcf41cada9c8c006eab4294743a4751571ce5832e73c7ab0a2476ea11c6768fe5b1461fd28de7b575110740cb74632d91f43e889c45d8ba721e555f2eeb08cb331527358e694c8cfa36f85d7841c51f88cbfbea8ed5311e7079398c807e9d1bb4998e0a8ecdc2d1005266897330c3e6e01e974fc5fabb985af205f4a7f18aba8d3fde222544d7113a4a8cc04b5cf481aa16a0cc42ea7b70fc699c0b2d6d979820b39886e4e0cb46620cc979dc91c4534b0b359c717c281ae22d799fdfd7d48b57c030ddf9e228585ad5702f0f4821e6da79388fcc880a93c7031d1114042adcb5781163db32212f591a6794c1b2682746d96d953876467a2f744936c0355180748ee686fd38de00ffcfb6e48aa71c4e9b1e1cac93f0f5a22492075fd1c7882f22ad9b97777d5408317d8cf22a945bd80118bea98221c5c89dd00b16f527d370e5ab4c82b62a982c704dd040937cd8521b0f078629dc72e80fd6acc7679484e3794e6eecde754c288efde23e7579c231f4a60d867d95ae406bcf0146e515767bb0eda9e8bfd120d256c2c2596a8371f9094235ee2ca82461b2b673edc7bb1288a2ea1b9681bb11108d7950b9688570d5d68c19ef3b4d7f6798c9899ae403adccc665655f570391133c29dd95a20676765f288d42ae5e174ce261617a05064ac38233333b899b39d540ec40b346bb8e3e0d0a6c84d297186a138e3dcbeb71c9f6e28b2c84253109ef50998466312b7bc88f84715c8270dcd5e59a0f6e56011505035683149ba49d0a805dc6ba458ce32e04fd1afa1a247f4035906a2684be59af17b345d1cb35e77a98e69c618e405ee659d98df2e279f53b821b22de9991cdbe5af8eb70c02f8d209e09fdccc0b908bb5560dc2e4745f88d9e23e2f9b2ba6ea58c905c6c8fbcaad4a978c9af7cfd8d26a796d48e8784dccc425f779c8e3ea7bc9e74c075167b7cc78e2bd180f2a86ae763feaddc7e5b5fbeae77393cce30d01edfcf13dad5fac6bff78387dbe10b1841f28fad3c87972afcb3db5fbcaf961b1db23089d922f0d88c9a0751238f5e8ca7dd4118268c87ab99c57c4ac05a1230e1ded858b6e7ba2fc81e6edbf29881a79a9f4f6279ca1555272ffa0d8dc018efd1ddff9e50a668af8c728118f41e3a1933cd3ade829eb8eebf14d9eaf20044699fb1e10cf99123f30b78eb977bd2ef894c128686c6d5a224bbcbcf95a93e861962250b853c7d9c8c3427c8e2a2fc7bd12557ae0056bab2140ccffdd815c478575cb26b49a9360068a919b8eb0040e251ff611f6ffe8836e8657438007445e8db29c58877ddecc1b24f12726fcb9a5bd32d01909e7902d05b2303c6d2c1bd3f3b790b008d85c7d0532b3e9e6093270295351b374f2c6030f2fe383cdc6d70ea24c7b58e89983748775588527c71b78c0a79e857957a904c4e974f46832233a1747cfeafcc90adcc4162387b90959399a162554e0294662b466adce379fe23980239f292e55a123983d610daa23bfdec2ee746fb66624de6eab1e461c50a3a38cb23c7e7b67f73fc8040b21cd001ee426d3c0eb353308c79e3e0dee3788e019ee1877adefa168f75f41ce59286ea271ad323506aa8cdbce435b7436e94b6053bf81646ed799e7bad9879ff895674bd4ad6a2d0a4db97e8015f140a6cb1f0ddf31956881d2face14ccc4ee74592077c57698095f3a223e39f6d1296fddf40b5c58c4d553fecad36b7c9ff862457506dd57dbba953cb0949df3816532f938a00b87c498563bb04dddf40bbb22f48028e6871845227c94f59e98d7bfb5d766004f54b6239cca355ba74d819582dfd830df84ddd265e2f57daeecb1a3a9b5755d9dd14eca9d7dcaeddb0c99c9606c15f79b48a030ddb83381405ecb57fb0b833f70df99a5ce0c5e40605dda4336f5d46fa6a9971076b187c719d920ccfb9914d1a0f053e4b799e29dc07c91bff1cb8b6e9d82514c97eb11c60448a59d396c58919062be0a09ea3713c58b0bbb4568ddb34961450fc37931bcc067f77544d96cd890f1700e3a7859f70b3f4ab0dfe56d9e5cc2f4b7840bca8085565dd5a8b54febec5c32507216f947ed51fe15b45850b37057fe7c932d366f36b26e5bdb3de194b2b3306ee0f9a101ab54f3c5b58ad18b16b8414a79de19ef75635b724c5cf7c9f4844779345f5dbc361bf140e27fba72ba286b811aeb4c0d0e8388114ae5901376da279512a6cbd83fb9fe4378951e51cafcd8ab405bd001b3aab9b88236c8f231f4cab4ecf4f8903fe8049b51da4951ff7c5a4021c2b4d2ac79c43442542b45da95febfb5267f5d57352c7d9e8f003d7334251621aedcd46591137213dc436a2ceb840ae51a41a39a3ad9f0041223544759c5313fa793662dbb9c14fd8e008945c5c6c6b637c16eca8156666bce0a893fd977bb3f17286eb0cc5751492797481feab119cf9e326103ea9d1578e01e55bad50e00e79050ec91e347e5df7ffc98e407a7704c7801aaf47c40c1a88bb54d6a5a38bd69c50a5ad4cfa290af4e9557ee66d918809ff4b574c287228d0f2f73ec8c0570213fe8663a317e132a06630f1105ad75951e62d22dec2503e448c7b7b5d09e54f8d8bcc220b9060a3c33077afc207d665d5d8b510ecf40f50ab75e2c0d29202169bfada1fde01f502e619ee760aa4117bfdf9aa70cb315dfe85dbe5935eea2b1aab1b11efa020dc50de686ffdf53ac46905a1f102c149a10b259d5774722109256bfb34503681dadeddf71f2450ecd1c6c3b2af15e972b4bde7382977a0f8050bf94696551e52f4f8046115780b99e7513854930095704233c4235519ab674da6075c98a5acce9553cd287a0e298ea501fb8e7b457c2af13209f9fbbaaf86d0133a1fc4651d885f5d3b508ef6e6a073efd06c95481beb89fa33e1b33c8222223c11d87ae2afc3d51988a044f6d1ff79999ec4e9f20437d999dfde74a69457e36cec7d984899d260f47bab115bea16bbb1f51b0030169642a756e1cbf38ed0581d381cac8e4fa4e9a8eef5e99000cdba1dd55db45ae591870dd8e4416722860efd976fb84fa7599c1ef1456c90d8b6efd5763186d64ceb8c8e7c382ffc1231c49f2dfc8577f10558b4152acff08b2fb1062325d25d9fcd4ffeef6ab1402d848192a8855ecc9c22254ccdc8f6037c1da9b97e22415bf1234dee0f34eaeea215e849a60c864a7e4d3c4d69ff5455e468fe29f71b051866778ddcf1806b0c2f7ba35ee2cbf3e11f5dfbcfa5fb0e3f53bb3610e04b5af2f2434b5cec3e090a09efcd5909eaf6e60e710d089c47d6288b31c932e2a0ee1c99d7d04cf5144e30c6a1d1aa163f463182d6cedd86b635c5e21175cf3c9d796607cd10e04407435b103d625ed81b8e5efc45807acb7212eb2befa70e6ffb0a2d9f196247f4e9ea7d42042421b043eb8d4344f7cc43e2e7c77b62bf82a01c7f3257f804fb5dc99f02967693754677766dab9873b636fb83204bfee1f70ce4ef7e94de1e00330ea1da8f7e78d271405abdb459d6e017ee5f685f0ee96ede086e203cf0c1ca93ba1411f1a2d8806247a59e5b4043c18ec0a6ecfa3f8d0ad780c7100855e2092753dfde1d5178f4445782549bf2cb2b2ad003e4e75eeb20c6cd0fa10699b1f51e05898dfb3d1528a206a46898b22b44caa5a3a0c59077293937339dd1a1230e925dbfa0efc62067191c2fa63a3a5cbcafec3e3273b11d4df4fab9c378e199236ee809db32efc264fe64bc118a512573c6bb5326e3e83948575abc98914f26eddc3cded62deb3f5f941470b7d08765289ff5abc0eae9c695c89a485bcbc461603c97dee914b648e902d6328e2e163f7f588c1ba2d779d4b47fa7f6eecdd415fa4804a14ef567b94ad0cbc1ae43b2c3ccc79f6966565e4dc410dd29b54e16fba98b04fe59a14446111ce13d16843d1150401cb5b84c53bbed2dfd36ee431c5c49140df42a7796cb476d3f23dbae0894e1038ebabe0ebd8110f3b4690eb00bfc7836fab2a3a596b388462cdceec961897e32cae7dcd3092043ffce5896ccb8d0dae2d1ec1ea3f7cc12f3e211d0de073c42fa40e45ae4e8d95ca227d8078a2e3cc565c048de42bba9f5a8000ba785a2f46741189508702ad5b81d1965c5781d39b9a991b5e0c90360c2b4016a69c5340f5a1e554172a850a969f0ce2b675184f2627901d705d1679c7190bef605df5af2dc20017ede593baede8388e44187fdf9714e9f601b0a2a41111f300a33e9ea56ccdfb4cb0abc1bde436e9437a59c692c24cbe40c4d18916be44dcf6107643e8601c0dacaa671e0cdc3c9892673c73469f5e14565dc12ca16489a1d8fa4cc380fb4548ab9e7aee889226a6e8fc8e901dfd35889cab0e322eb5f2b0f3a84483b2f03386e82a2a615154d1f666d06c56af4112dd9578769dc4796e282f225097cae83a835e4f008d73aa3fc16ea4e0ccc2de2b8ba67e0f9df014f6b1dbb4c130e3234b1918958654ffd9f0315ba9af85fb8775438330633419bd3c7e6d7d9887bd83e07b80676a6145f0dc068b885b306ce6260955eee5fb92641509bc8ddbab499ff8c53a67b1363142a384c414d80f603c9628b3ebd77cfea358ae51d460d24c6df619b1f493a292160fcb45cd103e60b0382784bce733de5a4e96a1a035ac7950017ac2e88201476040066796cbd12d4afa6abec6d9e64596bc3d38d6777c1acbd093c3f78afa27c20839fe575d51d3c7802e8e8e962bee2916462397e32294891c7a33fe9c3063f11617d81334dc9ac8b6bc7a8444be01c842bca4e3b50027f97c5da24c97672f049f2d76c2bb03ab0754b42fc9724a245854d44844494cd6df1fecac5185fa27c388606943d05562cc5f9c1fe6ed24d1b54b29019672a0369bcaba7069f10c8692923a0b0d1b7dd16ec09f9bebc57614ed61ab2cada0c1acfe6a0e626802dd4df12f9552f624141eeb3393682232960af25a179bc88418bec1c68505801aba97bd2ba7b1cd257b124a717ed775bca0db20fa2ea2d996c1d6d9eed575d57df9f6ee73551ca73735d50b75eab77abb5b2f9d23a76d3700d2a05486d453cbe244cc3623c0690378cc705bec513c4acf963f565667b1ce5af68cfc086ac2177aa9137178afc83c97ddd1444acae6c5dd7e7bb6c12d92d20e419d924637915f5e25bff92641c65b74bf67ff2ba2d2116e062cbda5f1ce23c07bb37d32d7171c01234bade7e973897f8d2fd0398d08b083dffb8bc6906f7cc0b0c3e780fbeae8e7d16b54d03f34b0a5f069a87338256e9abff4fe6a5a7453b9ad6adc816ec0a9cb4b89d67132b2d5a22700492e0e74c91bf289995608a760e631e5a1d12ad81489b991c278bd07d2931afe702a3069107dae7a715a2568256c36a7d307d0eadd104eb1e4267837cff62e345fbed4fe9c1dc6a97b2d227f8e4ee3c6d3fcfaa6233a83e0bc8f52ca06d1b4072894cf15f9bff15ce9fed3c598c1a676b7a56f30a24be76c218321ef2d7b697c08ba6313e964ff75f759b505e5f1e14f8c642e64b43d1557e8d65a80c4c3e030b54575db9af66e3437b0c3a23d6ef11eb06e633cefa8c621586a6fb62ba3b2213291f56cd31272e5fc1485f7ddc31c364ddaf4c9f0d8afe6c3769b20d61bbbeb8efccfaf752eb33fb2a5275254eb6345eda04c530844aa7fdff2fa55a0357ad0017ea8fedf0816220aaa3d9c2c6cde434020acd5c87a00779c10968e9804844d553944a78ffef0dbf3ec0cae9d72912d457150811b435804aa78e103afda4e8d04b09ae751b2dd3c04d86c39d5fc5e957d83d71024783abd51780ebaf6d336bfc456a1f32db1ecfaf05d5af0e7b6543953f5b70c191b393825a6aa0d33bbe8f22bc68f48016b31ececeafd419748d7e43389c2eb520b69e1344ca5b34dd9a349499f2926e8abdc725b85eddf892128a3589de3885493c57cf04fe0e4d05d72ebe152020b6be8ed4d88e25e1b0f3714c605d4c00b38f2bca1512df1dbf49b3a194425bef8de54c992cf270c3190a59df007418196704d7f20283a5b703b218105aa4a8bb3382e505e17ec801bfc8037622b575dba72febc55d60e5917788958fb431b1f80f020f34097bb6b20faa58248ebc43076bb04a23b62a3bb4e0b647871cdcc3542d2044d4d2bc8e1a71c5c690a71adb93d489450b23cf5932ac4033342195b0bc83dcd78df2da456654edae3048423a370741df0a20e12a409403d904a1d85607fb3003f9012ced2b88105dc4a4c6e490799a4861bdc17f1546df568badce729768b675ebf06ff897ba6a73f90dc0ab2bc4a92c1b6dce0b82bec10ca704220e336825267c0fadad27e13ea810521c97895d42cb1bc568944c8882db2a56a8edbdfa460ba34d43b47c8af8c504a8fd8727aff6b84d92b2e9cb076e1744e26582fd04efc18a9ab145fc880bbb959d90c10e91f85ffcbf7f03af8ca80aa940de7f2f417ba72d100209f0297be5a210eee0fd37e871ed8a23118e7b1d73019da9f8b5260ac0d5681e95f7fb396a3a856e3eac43019c513bec4ccc567aaa66d91288501282dc603a4f1887fee9812cf3b92448dfc98ee74accb9d607f83b6156d65d48b0f5ec151b4c2d5539e7f014d041040215761d43f1d5a5eb6fa55cacaf1ce55b4acb417c808ad4087e4ede2823f0a4a3aa1638d053f91ad7c418c209bfdc4908695466579dc37944c5e345aaff15f0ca817b34140e7c8d056ab849c3e25163ac5d2dc911e35082c10e7f25d549b89aff9d24397fbef8d3a4888dae3ab257441325fec0a1124030d16069bbea4dcbca0ec5b69edc5b4787d14e68e08a108a08b10d21df4772c239755bc7ba2bb760eaa8d53511b7c90b2d1463a1082d35ef202241164f321ec028137304c411f01529a0b23d4fdce958e15310eb4341b26289b622d14f42e0d4e7da9acb6d565db3c82f81cf887d0f6bab7ee6ee05497845e3ee9a98e477f39cad1a0c5b3b0859e746903c0d927a151b2575882e5d12643b8d37516fe64750117415c044467da26f4fbcb3cc08627ed548bd0cec3fcc1cff8514385af46392e3a9a4196eef28e340f130455542a5f2aa60517430e9ed4894ba25178645bddc065321ad1c3146c9dda84b48e6d58829009e02b5e16e1fcc35fe7620b0631ca2efb601c3ceb79d8c05238a752244ecb13589437b6ddd83416a3d47250ee41681ff67781e2ca4971a9c104995cb57321bba554d1c9a50f7c076428e30e24d1c0e666acce7b16a5de9e82527bddbc9a17378be6e5de79aab26e6878c6a2fe193bd8514431a6eb8b2f09bd02deb401f04b44500d948032fd7f3b6ab88230ed1992214e81642bec3ee43918f69ab9278335e7df105472e73f9a00e329d7b17320eb98372548e11e77bb0afcfbfbdfe97ac1c2458834c0333c88f688686bb040a7004d70a6140f540fa2915a034c3a76e53d137389cc7c88d9fa71c6c983793b316267d2b81bcb697ed8e0e013b65a19d9f2165f4232ef03dfdb296c850b72eaa7d035b5871d7c4e944d9fb2f7768b7e7dc05569262de5275076f5a65fb0d08b83faad41542f6d56a072e5e585d11ec4370cfbf412d5e4f7a31d36dd37baf4157b46db6380ec0824d430fbf43dbbace4018ea4c445fc2ad28f12f3ad6fe0d771db843ab7c32b0c5191cfa08991d489eb0fdc63de31bcf1624390cacd7f230fe3cd69aff74bdf91b15756f0515402d83fe2937f23c0d831d31c8b9ed47ed1a6ce040a430688c6710c3c24b860f47a8fa4d3334469f56064f3ba53554d9d0f1a855b06aac77375cf192c1a5a3083570c60b0442c0ad18d72d22e5a82a0e891bea04a029d97118f00bfdae943c81207bb075647d814dfea28df2f5a88d6713b701986d8ba014f96b228aba49e819fa6ccaa3a8328a73e5a98895b68d3d8f5014ef9d91760c3318c6162d61c5d7ec948e2d5f3819737ccfe0274afb720a276d6c9b977595f36f8035887577c76a736b43fd94bef196e2d10a23170eb0ab866046303caf435b641521f8d1ee4a2f418689c7681c68e286d406413a1448e28927372cb06345f1ebcd410be986b2081d3ffd82942a9d2c7d7583f572e819b022c0d2d9c545e54118b08630972e8f041e6507fd95f9bcafc3dcee65e5aed2c5bfd18f6e79ee89c2fd7abdba8f66e9b56fd6784ecd74637754c1c8773ed0031c6690e2b0c6edf27ae4a81fbb99613e6555396990076923108aba13f0934ca79c0c8cff89f3d3b3bb807deb54e6cc3470eb81aebf73cbad41a0315631477916b03a2f58596361bbbcddb068a01673be26abd5107ce8e583ee6087fcad7922b3a31447e4244dc73d885760340d11552c6dab807c07a1bfd6ac483266a443347baaba58a26d6469a4a269e80f3047748c35149dd6cd0c077ffccb823c9977e77f938ba6614809c88f83f1bf681a7a801c102b8a6423e1939ae134d86b59154d03dd83c0e797b20e7f4dba41ac717bd62de78be4b2b8a7681a2e57dd2eb7dc6f9c33fa2a6a43d3f0b485c4af094d03dd84a286a374dc98faf189a2b50540fe9d7eae38fa4c119a5766eda9f7084d43cf9bd92ccd950c83a681ce041b52dc8384c01c340d71027eb5a89323e600ebbb8631bd3c6a14340d9d60c487782d8e66a85429674941d3a023771e8e73783a9913a7f2774464f38a6b1df23c9f0b51f9c7b2023d87ea064ab647f817e535fd3fcff583066698aa2e640222617e2c88d39ee776146d6cfc30dbfa46ef37501e9712b680421ba2e1fbccf3e52c7dd0d0fa313d7866dcd06fb746cfd70d940753092a831117fc3fac2727a6cec506a547cb4a1aecc9d020e63d60fdb7a6e9d0a5c61aac50924ba47c9cfcc31ecaffae96d13ac713ff038f4a44a5083983a70a197c24b55bac3788aba8f7bd8983d41e94473ff6039a091b79ee9b28294c922ddc1f6898e17ef2395f9c2209b7df8f468071c196dfd2223fde061d23c9133a37cb5ad896556645dded84d2c9b20d7b233ab741243a5f96410a79d958fba1a173c413221a0004b3deb0e5a2ea8ca1ac838b8368500362b534c07ec4e5b5264e4c1aaa38d30fcad9350d3f26fe63e2f081911371f3785eeedba1344983b9a4c5a292b4b0dc81d7950ecb15a5784ca0041a59e4c50e8fcfbf6497d3f5a85260adeac6c48718683f8c967b41460b84ec750cb171f36c17fb180acb55e1cd77e5db3191861e77a08e847fd703ea99ea549d46d2210a272899ff3e8b10261d8e40d5965ebdda6f0017c490cdb5f58f7958e3d0ace1adff73656f19334e01f3c7cd5266c0ea389f9bc192347ca87a1df60c99bbac14c4c7ce0bb490a21a63a1fb1800e545886137f3fe2afae75b12b7e6e338d13760e0452ea606c4fd93cf17b2e95c5b089cb66def4fc04faffb8fc76e1e62d6d22c4c0ee9350a1fd974cb993e4c8792ac2012512d831f1e176583633684118128a7c3505c18ff709c4fac0245b62346acfd757e77dc4f0ec19105ec14b6451764dac218b19afe7f1744b2687c0d842472610c7387c11a7e9f179b24c7db231082b2cefe901a7018214dcf282a81310dffb9f94824ce84eecb5ccd6e5ee9d030da27e12de6b720475fba8d439f19c782383c7b06cf30dab46d1e42153a32f6229f9fc2a1a8a0a1f483f78bec366ab13faedb9044f24842c52b1a1e65e81939e483a970305d5cca2d9207a9aaa6ed34f65a302e295b89a9b8a14a77a555896cdba87c4e5f4571ddefc9cd12f239fe600d1c0b06e638aaec83d939bea8a2ec11fd314fb87c53e9310058604603b98e79cdfd55244c6c46b3213466fd94f8153bd04d9358b1a0d9212d0164edd548bf4337564cff83121df1992b16ef9605e8c8aa35003c9310eed6a2200fe4b988715c339ea38e1d0cb7b25ff2ca05589ba3b2db676f7aa5fa198b32aeb2088d9b4c546930d28f9eabc68982c05908db35a7ea857319c75dde0d8e4392bb83e6a3cd4e0a83864b9fe60296880e9f657ae9c498808aa74afa85ac9b9a68800dc8b548d08622be4d5f648ae29f83877c5699bfe427d1986070cc2ea99c7b3128991fbd0ed0463ceb1ff34024a63ae3e1c46a81c19db56b79777a8116760393f4bda77ac92b7e752e50ed1aecd6ac552d15e7d388a8927d3e6efdcf9e718ffd1a27517b1c5e8da0c86487d38bdc66c1c52b65d805add87da6bb94ddce7c468d967453f4b5245fea471067f6a93fe658cfe51c40cb53d52c0f9fbbed1f6585936e24a570a5bb2c4840ac28f0e4eb2eee8cfdb5bcc1d0b3f454fd191b160278cbf3cfa4833657b4019422b0581321ccf57bf1dd125e6b618b6f9fd193a93a1a375b6c3966d88620d02456bd28e41daa31cb382ec7721188b9ec876cef39803ff3470939bc2de996e17204c5765c6ca1c85ffaed21369e68fc461ce2a9723cb9fd0580518905dff479489a637f79d56509c1eadffdf7026f67169e3b96a638cb931eb23d5ad30cd7b41d7d5be26ace6a39af8ef490cd0c138db9957a94b5bd30667bdc005e0f2eb1306bb655c760e2e6ab6f51c40b7c1c5a327f066828c411a07031b39ecf4c482676f8ac6aec54efde248205d42dd5c4901e6bf130d4ffd6452ac1224b1e229b6cc56b22d276da4c40c6ed955643c7b955ad728f1c8ebe7617dcc20e5694b58a0034f14982ca74be7e8eb44b65500ebd421c5e56b63a59be1f3a5212187e9ff37d6b2ccf70b51ed0c70d0a13e6075ed8b565e731bc3f970f9a1854283e465f684adb83eb5b7ce96ab63cc00984c1bdc53173ac2bc83320e4290ab63d36e6e5867967e8ed92255e24c29d63224ae8a4b0541e0c6c5a02ec3d97f71215b7e79a85a2d1ac718c3db6f488a211672c1c5886f378deb474051f80cd42aac584c120cc34cd6112cd6c5b8236fa7684ca62ee102ef19803cf41dc070ba56f3ef80c66dfb4e54ecb77ce55a87ce4380aebfc60d264046beb9940de2b18c4a0b1fa114d445cc1a4c91fc8ca2d1799acdf7fb3dd0aa5b6da87c404c4e1c1621e32f48adc8e1326379ce81810dfc7304af2ae6234796986b1128122a6e23b304cf78ca81821b20e6296e45cc768d26a86b9328a222625778018ee88a831215847632cc5c52de0104ea1abfc1f1c82c221d8cc97d024cc896e1828e889228b447dc6c14fca3ce4d41a033aa748c1d90ce89981aedb7bd8253d5cf23429dd6d6914046b4529c36f5c0e8628a27458ca2906c9bed7dc9cc38ff211396b9296f2cefec3d8e5a8659592139b8096363ee38c357e87c7ded5f7deddba2d405485a746cd6cbcd8ea0fce81e98a3ab2f36e5fbc2265252640b135477d7ed3f7a8418c86fd7ce6385cf8732b8b96adfb972bebbb3ee310a8e5f494344c137fa48e28f00a71969249920ef827dc6262072a946b17ce9f0f054ad63c40b8f6d8c55e7aed88c53345e93b3a885972c10f786e98dea17bb471e2a7e777b73e74ac64d7da1a0d042fa73020b794db0dee19e3b1a21bc5e6e9c648e434664415347486d1ee8ddd62d793253b410301872db8ba2f4f397f8cd4d44062fb419bb6f3cde01e48ce402450c1524e23a4fdac769a443773981574c0cec87612103f153d480c5715ad132439c7b9e0cffa81a5da3d5b1aa322f5addf5be6ad7298144b20ca1871347e36f679ac49966c568936dbff05a22162f3bda1c7474562e68279b9e9148a1823e0e92607bfc00f6eb5aa88c3c52e1b9e691f598d5592311c3f439faad1fd6f69b66d6a0ff98fbb6d8a1bc7204fb3eaf551b09a07842181660b3ded9b089d0420b54694a1d6e4886ede203cc850f7dc6ce866d9db4a143b9ad8eb7fe4d535c9cd38e78bd7b87378cad04036ba7cb84d8b02c7e987ff4a7451421d4cae4b1c6f1c7e9ee8a1c65370a3367cd205a3690313c7c51f93ac145d019e6391322ab385e85db82f8789430f4c7d60a93ad40b54b20677fd7fb81de85d00b783f6279ba21bb43508de9dd403d2281a0d5b2f685bad3324344d57c708425a5a2d26d88cd2ffdb7134915bee71e7f8b1e3d9c3c0ab54d164293780bc91219017bf760592afb4172d9f83b1f54a0d1f4025e05e26d394424da9872856e091199ad573538b914db12a9b7e757e3b43c593bce0e950933e7925a8eb84fb945405a322dd1310404953737ee93c225bccd622cdaebc5382dea42bd51a459ec7785e4ef7130ca4c7bd4db34dd844ef7f2f6e29e69b4c449a9f6dc5332e6361615fbbb969f8b80e43a8c9d4861aac51dbde2edc2c670f98db6a67a5ad18042f4a24c8f4c0c06ce43a151e5c004a53a5d5b54b36e0007c586382b601c839671fd2c475de45d971c3b9a6fa360117eefac62ffcff9dd922a67fec7fbae0f8e98e5829fb4e173cb99b03cc2344155b91e7c44088d80379c660d6302e08e02c8aa039dc6cec868752811631b4f73441a7a713b932f69c4c40f43686b18f11558d8277130a6e287b7a20ec7d6281f8d301015d2366af76a133cc1c19ec7d550db98cd0fcd83f9d186655aba00b65838d1e087b9f5e207a3443188e8aae96c2cf09c1ba82c28518b2e7640193bf2b7205f69e2438ea348718471655ada28f0981636263efc902a26f47c40aed3b95c0c8ed0f301f29aa98051e930513a01344ffed9e4e89057ae816694f57822215f7f3c33a465632ea045153913ac04dcea2b6423fcc8a70c3b3aa55f041b90e86bbdfd7613424dd581036d7a972dc7aea330fd790096ec6dae8db05483dd37de4a8107a3aebce97e33df6421ba92b6f50599525dcb3c9e6a2c9e569c8f1c63dd036c0ecb3e40c4dcae31bb659dc61bb3a8381d21ab91db8158a3267ddf98a17757d97e4450501934c05e79b539bf5b88480e046d4bece42a014b3ee006e85d44dd9777fecadc2421bc7f71cc89619bf642d3e9ff37b9738fc76963337516cfe84e6170e9f352634592edf4cdec2d5632ff5c706e87fd2293190099f9d0e9051e9ddafa73f1665ec0551e0ca41cb1fcee1354976db0515917ba72dc4da71885ef2a8e4b1d7bdeef8e79f4a706838346cef45bc0177498f4695e102bc4e7a69a26f4ef7129737ccaf0ddd73a1c9727961522b315b332eb9107ab62bc6526a6d58409d01b114873bd731548d45ff0d849c5e9b8a4a97684e753ab8d18d0fa7a0b0ed107ad85eea27240df5f4c96fcb30ecfb622ba7c8fa30eaf562258c1b66a95ee8ba40e797eebc28b9280ce366bad5c24a5353f4c8d0ee89bbacbb0c774203c33cf27d59b5e601ecc247c586bcea541fc9a5ecc23dc70913764c7ecbe9c114e72e723878f5eb927137264c6fb2e7d9f4bcce44934e7390d1d687c90db338fd2c5a2cf5d00e31d349a2b1bd94f5da4674164d46a2f2893dbad85eea8a0b5910c63951ab304e6a2d5f8a28d02734486e27e3d3c262663421bc0457c6b48de92486a2f0b21bc001d1440e4ca4995f2a9164dde05c107cc132732ab8417fb46299f63272c26c44f76d0bec598d577387419cbe2679a041d100cc2f122ecabd3c4e282c88ffb290a193d4f6c6cb46c115eecbb0fa7643d8429bab943de95eed30f1350acb88851e0f42ecd8fc75cf955904192dd412fdf702faf3145db8edfc3d03a3795c210cba5fa0e70bf72e4ac3d4610efa695967c14763e8fdd7eac58508da7405b4f0e8f1d138caebf619f8358bad2404b64be0962494ae2d895544abf93901b86efa0fb42966865f666a0d11be28d57ae96b1a11bd43d229579ad2c600fa49a3978bc667621fd6ac81af407c24f3c66e206fcb84e0d08dc5afb05d6cc2ad4b6ca8ef07eca84953027980db24e8e5624234b18f35d5402b182f92b9b11bd036d4a702852cc5c927365128b78fb41326a05cba7ad720273049528d228daf7ced28597d02daf59010bce2f954084a023c9cc83619fb27f7c0e5c7c955352c9372ab0e3e554abe16e06e12f476312199d8df6a8aa701182d58701d992c8469f29780934c1c185ed283bf849251051b76a7fa1efef30f0f7f9d3fbc8e6bfeeb5d8666e702072a2e2a76143f7796569a6f763c19443bae5ffe2ea6d8966720da691654502fa36c49f59fc711c2890b934e1de860c782a6d22fe282dedc27396cd1eb43a1ab36dac74383813de8ead1a5a1c000ac3bfa56711d10e1c2b81ee8e95df85e4776cf46d38a94f226c7704239b1d324b3ffe6141fc32150a5e94dae6917ad8c2cd05247f3e6935d43ff188f11d90ef45ff30022a82bf6d0e18b9d05e7369cacbd01695d64d1d3fc4dee161ed4270939c7a105ba542c337437cc03213147a9fd47b45117e35842cec645f0edd0886c5411f36df5e7bb11918c6130f2912dba7592ee95077c8c81681b7d9006ede81de7c896aadc1f4eba3ec76aeb20067327dc6d5d736afbd71ba567b2bbb05a0c2b851c4ad610326e10b4ddb01c5d43c14579518e4d6deeead096597e4f5310e29befb65cd593c4d4dadc1ee6af23b1f04ca7d0db73f604ccfda15d26e26068ce959333df318986ee5d8f23cdccbd348f75f627b99df290c6a2ddc869350aee1d03be1b1d269cd91d9f17828662d5656e424d588d5d1de4a494fb06fc1cb204fd5c17a6cab4ce0bbefc46fc333c387baa4058806a0e4827c43ec0bb75447b2fa66adf58c49ca44ee87dfb429bee24c30757143c7b285efa134104bb24cb0bfed18dee028d0b6bb0d29db60d6e529e4dec46d7f7b8eae1b9c30f7e6837f1aefb828824c817df88fd3c0dbe887fc048cad77929394ff5f3be5af12572699ea7ec9453bb4f7884e56703c78949ff230218ac7bcc075892b5e20f0743fc03eae0c0bfaff00df5d429f1240c0f4da3efd541409b3a7296cb8266dac24d40103fb7c995b03b174e10ef4ad35c7850ccc75a0b4aeef79334ea9f1f8dc0a9295f01a7cb705410fe83dccc63838e039701abdab0a0285446ea9a78312d0152b94ff183541c51e91057914f39a5ab3868e496d898246b79350ff756fc312b6c73fd77b6f237be76decdff33cfbcf0d6d0959e382fb10f743c430f3c3a254b77de433e0f113d939e55f63049aebb693243ed7bdbb339cde931cde68a93b741e7904dee99c5149bd906597958d7799acf1b816c6bf3c8599b7f5fd153ff6b92a2775706dd4036e97546a0a63d8b475746cdea41ab08f6ad8cf39a6745840280de6b65a09f1c1805cabbbddff2cee4b1c8661413b0326c79fde99bea8d95672ec933077996f3741296cb8e8b4f1e7495a18c3191de9170b5780c7aeee544a1181a96ceafb8c0f1c083646c70632fa1f060131de9ca5b1768c463b3b3f168fbf15a2dc0764e32d72a47ad1e1b57829c8c38211b8bf1fe76d8fcbd3998da6b192beba16e8bd953b1e5a907895444d94fe5215c158b2a935a323618c3535fce67ff0d03520d4d4b2bfbaef9afa8195edfd6754d2339d4390a011594030c77bec8977fcf50b1575f730563d7881f398917c222e37bf3fa174d28af52993765f517c5fc5d7bdd50a0618b706881f9cf1e669a9f6f85a0f50555eed0d70bd55814bd562189a42881fa0f5fbed614ee709d543683ad2047e91847cda22036c952fdbc06f70a4c631b145880f7c46eb4c00ee302d816505202d43f2f8770ad0462a33922c8ca888a9ef2eeddb4d02bb2c2c08e0b6ea1502d2b86cc1f347ceaa2b14a45fc9b4990de3f9c23dc64c861388edde18a17e66232c89f775a025c43d91bc5c1448a5dcc6348d0f17e9d67d1c407deeb7ab70e4ff21a3d7d366b360ae7591a9fef912ca707fc41e37409985888ce2f1cdc14f752d1b5dd37f73f7f9e96d050433c692564bf45543e64c88271c119ebf10e51e5c61e36c66f80e36f4378f5365440ed5df48d149a6e881adfbe3c08144105673a5e0482d4d116e360d99877674f468895cbc7d2ee17167e7e3144d2593e1c983049591cd66589ffdfe28b1a71be25252acc12034b6f0f28e7c4f3938e87d4a9a0f1b22bfd5587db03cd43f12397e408fd2d662c03e89f2bfaa32129d11f0e11a4ebc75ae4a48884f7e7bdf7eae10853949d53f4f3c44b6c97c4532aaa420d8b9c1532df31f2381439af6258c012d32fc7e139862697c15448818e497e748076f34addda845a01e6cd71d573e60fb81a4ff49c117ab07716c1bee9fe1f15608f6847c942a7a02a880727b2b3d1727c22c9c95c02e349440763d86893bc43fe89df3794d05a486b1741559c16c808ee131e11d4b48d4174b233ac7fb3620c7086455a1b1932a200b31c6223446fb5a4d352dc6cd43713dc2835281a8f8aaae077a31bee649c76d6a253ca60733d2ebfadf38487fae50c77badf401e09515f7772b2170f115ff6c7da5484c2b8571e355ff1e4e04fd6e3d819a0e05eb0e92cbf7bcd9d805221fb0088337db24e3ee3ef37c3fbdd5f864b4971eb3dc236795018f645db2c2ae9ddd863580947c180f202f286c992de403d5c4c686bb0d8221eef317031477ac6b8c08269d7364dfa448b032abef496202f5dba220fce918ffc0531e6edc9de504aeb857da358d653c405bb2ed8bd1db5994471ab2a4de92d330caebc7fc7217ad77eca16a91754d08804fce8d4c296871ab67a28c9704c8d67f62f048ee3c0417e5b4af82b532ade5a1190afaaf50ff0e808abde827697007d6f2ccd0a296499c34fb63d391cb803e8aef05b35c5f2f932165ce257a8825925d1dedc3039c52ff1ae5e88623a1ef4a8578d97f0d250faf2a7ea800c75ab2ab9277132001b94142c14c1a6841ceb4e203524603b8004292c013756e002e7ea908e64c068f3ea661192cd39d3b126c74fe0d3cf24801162f721a7edd86f041365b0e311418362f745a60d42cbba1ec3841c72998f7200df7fd99e18ee3338702dead6cae53ae565a28ef665ca6a2867f470fd1fc35426e7272cb106409d34dc7cd88f47eb2afb550d25761de363c8b8e8ecc2f51cda27048d0d241ef15dd5f2cdd2cfbb82546614221b8e951ec9461cd580da82bc7650713178b6934704fdb2de6c9baeed3e638cfe820ce91efdf10c26ac8a745e6cf4c2db433a1a23df71b269cf1b56a2aa22b798052c5fd3ce84a9f69366e95e62a7d82b2fe1454e2c9e4dc2ab2eb215b44c552b0c0cd88d486968e620472b2d63742177bddaf31bd1a35e253337ed6bcfa3bca38a3d9ba592a9a0566278e0586a9596b94f78cb25b5c61a217d84a14e83a908c31321689f83c33ab8f7c823ca7e2d6ac38a35b8ae0181d7c42ddbd2af92593329a3a423c015c6125524fe435395e9a9ea1f4755752dd493d8f406eb371581a0235b3d614f05e51a2fa3f6c0b0d709e6193bb4a486869e3045c3645d6e151ccb1bd37b737cdd932eb05fe02dbc0ec32a9b3bd8e35c3b701fde3ff968f0e9064f6f3de80ee5bbd670af7decd8f90dc18cfb54313874f1c206cc8e75307b044593a6cee1e7b9941f7336ad1bdb1aa963f0b4ef6ee92b7dd6f8c93a44e5ef5a3e5f41acaead00517b9e6b954d8c699bae3917e5e865511ccc9e7672d01319bd4c577217b3980a26da3728a5fd2af8ea03c99dda7b2eddaa3a72962431714f1b2b6b05f7d35c78d7282c3a5499901313050c94753b447c39d9b3bdc62ddc68b8c86dc376d314888b9ad4e23468e261dcc48fd8343432ae58ceccfc72cd13ad5a56934f6ea21d9e99b66700f27e36b0d15e17219e86ae35f7fd34a2d6410dd8da9f0510a39d2bf8e19b86c4d1a8811ad3dd0825a0fb35ff5acf62111e48148f5e172c93cc62773a3269f41c94e2ab349c08b6614bc2778034417669500e4c43cf328dc779bff59a06a54d437f43de3a3b0d1d9243fa4fe30e7a1aaebf432f6482b2a8ddfff0559c211b0edc4ac321349cb11023f19bd3c8d5668a6ab52b9c7130611aaeead24808bca1191369cdd288b3d200407e9dea4d419ff6ea9a24102263e9c96a48e3f8fe3b64c1ed828e46746ba47b87dd591035e4f0efae1390095c346ebcd01ef4ce36fc9c6800b48e1115392df7285c0762d34b2f4987f9cd261c06ff192a98184287dce1e0dd260dc6de73b3a6e306014825f38b81880f6472a18780161de2b7d1e5c6f678ccbf657cfc24347d2ce8b56421cc9c03eade26925820165a4d07bee4eb877a4180ab1efa73d514e64e71d57a7ba99d8ec81fe4dc1153e29cc83d952c0d78a63fa242853e038239dff49a61edfef72577a6465acf39ee160a85e1dfbd4aa33385cfa290d6f6967b4b29a54c49ca4209e308e5083dea7d211a174800110302b94002082cd9d6205abedae778e48278ad12d6cf5eb39ee66dd54bd16f0231bfad34d3b348c0aa3f88faf5e1957003404b4054af06f62b6c5634e5f945d807004127c007b364a1928978a641be9e92e5d7ae08202d624d2802c6d19003ea37f700200d4007fce82432f56ea00f02ea85c04696cf84fb3450773b2161dfdcf93654e0fb36f575f5e3befd6b4a01bee1be3415c137d8ffe4d7aff341412ce345c4bd0edacb6198d9f4cdc900040d34625c2001448c0b2490bcdc6404df7753117c9fc776c37d79dfb493e51bec57ab978aff294c434343dfcad4740a830d92fd4d301cff87e6c1540f9becde0a33b0a6e3c3ff6672bfef70214deb88d2421d524a498744a321710739fed63656f066a948c96f72eddb2ebe7c3b67c390d158bb8d0b223d6c3b1b2a30f61f1a076b7c339d00f7c38e3d604a4609ddf44d204f2f08a6f13fda0d5fc081887dd9cd5ce9986f889ec521278b80e20014532948e3b2c9f5ff1d707c0bb7c838bc84a9e87d9f9d739bb1d6e8920bd2f6bf2cfb9c4e7d3b9fd516f2575fb68061cc084139d654dfd81e2d4091eb16b97ade16c4c188f276eff06813c330764492fcd9c89dfb260a0c8760c451fe6c7802e6b77502b44f04726f2e2ecca747084c3d71d22cf849625c12877e108a91a7599ec5a5164714387e7ddb3515fa364638474649195ef80d8b59ad30f32a1c40984c72570f798bbaab91bc456550a9197d046ba32eaa25ac34a425d3244925f7120cb671a62508c02f30f6c6f5f49760706b7721e7e304a73fa570edcc9111efd5b95df62cb71663d5914cffa38e747ffa005d2e748584c8d4878ac8f421742799fe377190e94ffa32e80a37f296fc41229149e4905c229dc8223945529155a491bcd2372d3c7d79d4370278fa322691fa66e6e9cb2c7d63f3f46592bc426a915ba492e42297e418b28ba4c284f5cd009e16e0e94f1ea00e003cfdd902f8c2019efeec01de180055c385a7adbae42ed7cd7f9207d30b707c15d4f1c578e36f3ce4745e1e723e5e5eb3f1a94f3de474567893ce8ccf697b3bfcb633a970b8bffad5434e8786cccb3ce474b6ee338539dbead5b67bb73bf3b537db6e973d0e56ae5fb9c4b5db0be7fd8dd946176b7c8d879c0eea677ee66fed5a40e2669b0b9dbb123d52f36ee42e7aa45bb4c827126cd1a7478cba4b91b51852d576251291ebe17786a1458648785e8f4de626c7531a4f9f6669a1f37ad8adf3acd7e384e346f534e6e953277d4380a74f9fd0223a6585a74fab0ce0d4b58d2e9e5c8061328c85e144861ccde7b45fd114b6a56f5e9ebe2bf5cd8da7ef5cfa86f5f47dc9c7f02eee42c0d3f72ced9a5dba455b30db6801092ec358185132e40270ca3016460d325ce26224c2489263e75b01d01dc00013c955aaff30128e071bd6e800db87f962870c391e0d800274f561720083ba19c6c250ca58e8624671d53b2d81eda358f80bb3cd74f56d3a4fa25c13f4c6c80c634bd8927f4b6d325dfd1c9d27d1e8fc0ad7d2c269073235c398174e6454ed6afe723d509e6fa94902cf78c930160612ead475be321b8eaebeaaf3a4ceaf68167d0274aea559f46774be4509afd0a506d079975355d10c6353c0f2a9ced85c9d6bf116fd9b0e7aeb69ba9831105885e278c44ca3da5a5d85e99c75a373251b4f1fdaf86a6bd7c212d86618c30245de04d0d50f4017730d4e35534386e3117300fed2d8bc2ee6d50c562a6e48ccdedf1a5bd7c53c33c355cfc40d89b9fb0bef66a240d024cda214090d26604ffa178e47679b246cffdbb24d356b2ea100d075cebace2c7430d3743007a083d9eb60ee3e958d0e07d97d16005d670ed5e500839dbace90d3b1a249a8ca271ef0479174a8cfe97b6a01bea82ee6518fba3766abddfd1933be91dc45af245d81b96b1a798b3ea5487ac95db38b37cc5d13c95bf459ff2a15c64d910ccd2e992ea968c0728d5fa1f329620efa33375d10ce1bf9d7cdbbbaa023ffba7923ff72ddbcf226927f0def53a9b0caa30f99d0f28d0edbf4e9906778162a59868e745242a6f3a466d97c63c3945725f5f4e951dfa09e3e8db58b1ec1a89a61ea739a1e718ff13e2a94f21c09d5791627605e3a57a2d3681e65fa1809fcf46992a643edf2a46ed1c758a5faff58f9a348327d93773bcf2283c6e95c4b2380becbb964fa379d6fe91695f9e2ed769e0509084740e75dbc45ffd4f918a6ceb9ce957c4bb3a867e916ad5d0b4a601813c25086b1307ec89eefcb567bf8929faac0734908d26e486650e989ab1e8e01b63f973a5b4ec785006be8679c23c11afaa729f89b4b792ef5cd189f52411d2a5813bf76261760185382e58f6601a7c0031a216b6f6dac609acf9132b59fbd235ddb657f537d3fe6e6609891aff78d206b5f330f532d122847e3acc05364e06863c5860a2c7313bf855ac7260f9130980f99c8fc989d8361068d8d7355c0f1e347a14fcde0803a7cc981b8d05dab58e409d28b73f283d20bbe3535610576b1b87225c8894f2dd204c94b07686507228ebcfa613dc24b87140e5eed6d4f1c39294252e2821473c2c5500b845041d1cb66ca0b3e86485d24219951015086d1a3d0bd797c1b87ddc11a87a723b1bb6b1965944105db907b58e36fd35e4b8fe644059e9fe37e9a02f7c7e7a480773c7c68ba7046a5a29dc2788b186c110322e49c7046a5e236da298cb72b5df002abb9e005343e4d423ea57046a5a29dc2d8234d0fb1d61833233dc8c7268ed3a1def7930874ce0967542ada298ca5d36c343434d64aa9a402aa858c1e65f4a8848c1e65f4a8848c1e65f4a884943162f1f721429bd83b48ed7ecad3ad914de2ca0a5dd34b9d3ac2291d42d89909c21aa96522893de18c4a453b8571dd362aa67c51693702d0c01bd045bf5dd47321870b309b340617d2b884394672760d5a269d37f2a18dbce32eebc18e9f4af582448ad6954dd96febd1d8689a0a65cce85c9a5daefc7b929e0c747a40523a2721f48e3bb8ab1efdde0fa3ece1ed2d391e127a473a4db063bfe088238e38e288238e68024584224211a1885044282214118a48c60819238c30c208238c50a2448912254b962c59b264c912254a942851a264c992254b962c4111a1885044282214118a0845b402254a942851a2448992265050a0408102050a14284d1c71c411471c21458a142952a4488102050a142851a244414541454145414521222222228a12254a942851a24441494149414941494149414941494149191a1a1a1a1a62c2840913264c983061c2840913264b962c59b264c912592433d48412254a94285112039ac773dfe7f4d733411dd5d6ae3aa7b3dad9fef4925bc5707f7b9efb9b8fe4d97efbdad9bca47b6fd1e7307cc56c1202cf27d349b3e8d3bf9104eeffe6929d20f9436219365fb9d9ae76365fbad94ee65bab35d56c1ac245d3a8c21c33f6397dab9f3d7cc16a6de6fd64df6f333b7ffed4bcf7d69c34c0b3887dff22d9af761ce8e5ada847a9c7937d03bd6a1f892fc814e4d58eb77d7f1efbeef910d5f7f1b75f3d9eec33f9ab6abb557df8b21c986f3b931058880df321cd943e2c65f917764183b7649cd0e50fb90cbd1c6fc99f11b68390142a3852b9cb660fdfb587df39fe9da8a4de29c722b1c815a3c09634ca32e620cbcfb43e1291a48db8f4b1cb17915a48feed22ac5fc85bf2b52e0e794b6645fad55e8fb7e4d31c017f312922f54d7ce9deddff93bde30043cceda45f2fc8e9ec04f9774f772bfaf015b5742bea0d893922bde4db1c88344bf6d3254b86746f15c3fdfa3368da57ef878887bef63ff5ef6fb45bedd44aa973a0c301061d9e66c59da01b63378447cc34344bbeef04ddd7e8dbdaadfc57d35bc5503ffb19e85befc73efdccfb21e2b14fff27fbca8166c90ebfb7e4d3cec65b9e49931058880d3792d80297ba65d1759aec39cd3aa23edd5664f7afe18aec4a4491fd7b88c4b2bbc776f7e721fbbf04e1fe248af2b743a562b170707cf805fa66832c89df6d604b7e0edce1a1a16fe847da59c8822cf96d94bf9e2d5399a937c4274f6bdd057dcb0b4d14bcb7aac4ee5abdb6f79f81fbf67eb4e75e832ff838d718e02be87aedd978ab3e0db07b3f443ffedb6bde4f3ff7f13f5c01fbf0a57d05fa396f65bd2131670f5fddadec736fbd550cdbfbf3701e5fa819c6e0bf3d4f3f57df9404d37aeb6bd52404b69e6c56fd1b49e00897bc5d08b12d84a0144db6d0289a9104a3581243b1293f380b9a6cb113009a4b397e01a00bc2873a6ce468ca114618e3d31401671f9fe52eede3dbb8abbefdf8393e769c06776d7fb5b080b41a42912b30393e90f83478432df1a7d2d10a72dce6d1b7651ea7bcb5aec070b5a3fd4a06f8d27e354306dfbec095f73ccaeef077faa6735c1282c1603b64182baa62c62b3e4edfc0d80d961e068325e115df01492f392e7194e3d3d0f0480539be77437ac09c43b3e2cb005f41f4a7fd1a040483c1609c04e04b7e4e1f75369ed3edd400dd5b2fdbc1577d752621f044f266ec461218c6b773c9db5a6125cc505ed837b2a10e786bfca821bb7bf1d40386f2eb4f9a66499c1d26a8831b1273c3280486b12d4bd97f6e50c790c83d0068073d389db9fa2165f65ceb90da79f6d6d2c7c106a921d7fa96e2a09e8f9c0c218e6fbee478f83bac89512e01cb30f6c452762ab4eb3fbe8b015d8ec45b5187fca804b2e27fdec59f342b66d992612c4b92ecca3096e549beb0060c634824c9f08b0c63528a32a11c7f2606d8e6945938827b88d6184010eede5bfdaa4e25c426c6fb628eb901e6bea3803f1c5fd2ac78ca4362194e96e4186b7c7ca742bbe2134a970523ab9d157ec5d36585a7f1b23b6589c45d2b7c7c291473bc71fbce63dd8a2f3b3752026f2064a1603e9e9a00e02fcd9625a8c3868d8f2a97e9213441d3dbe85cd535517d4e03a073246fc5a7117f850e723b414ec55bf18bf44be57991b768aec01fae619a019679ea423c1cb9ab957076949d0747e248dcb5aa92e3872da532dea7432b5d19ca307645087f7ce8573e2b9dfe74fae9299d5eb6528effe17495662db980bfae92e3ccc7f72aed8aaf187b82871cdfa77c151c1fe62be345dd8a2fd6bb21fbcd8b208793554f4aa7629f7eb4ff4da7e2539a153f2fca37ccbf81be17e5340bce289af1f19d4adfc0bccdf8194fffcee8b69f3143a6c3d9d1acf89da597f3305321f8f3a598973c44d7ebf01c5f0af50d8c6509caf171da8573aafb5c29c747755fcd30dee73cc8f15f583e468e7fea4cdd2787729ce982883ed691bcf2a514e41add518e6e245b81f16089074a5692ac20713ca214a69021cc017ffb2b379c1f706c6245286f4bf2b74c635296e4c8e9ac7668bc0cf045e36788587290e5a552d1f0e2ab54b29bc1cd8254ca0f5278d86a50803f21363bb129411e63485021c7f731fa06b603334fc492032a5ed05b5476426cb27f7f3838ee527dfc1c77d1f8f8be045d40457ae822073e283a028295577cef025d39a03c81d283298ea002c92bbe8441173c1aaa4214c8288208424478c59747a00b086604132fa44c69028a2daf48bbcf86be905b8da8cddec7878887c6ab3c1fd5d3f0a0b7b4f7a1a1799f0e4b99f7010d7d3b997e8e0ff18941641ee2d93bf852b9479309cde81a2b4861bc61912394108bcddaf619550cac823ba531b91417c2b8000969cea9bee9f61ce5a7203480e91b010c5218479aff76c1a6f610913b305ac19b9d4f7fd4bf750a6996f3e8cc81ce2609c3ffb62d1608b8dfd5b324734f0b30ccf03fb894412dbed0b05bb7bbcd0e471418be4d143d5087b60307670b6d6e9ad6844cdbb86c5adc130e166b0b93134c4ce0664fdf4c593b9a71c936e599e3619f7eeda813649fb820f4eb4fa9450d6aad7967fa8098e4eabd993e0cd04d33c285341f34dae172a15b3e1288df1db12a46e7745a6e53723cf4a7e74314bfa30cf0656584aff90d850af9fa06b9f63e201fa248639097fc03a607016aac6efa26d0d0b629e2340bbe2417bfbbc8c170cafd3f44fd3a68af99659cceeb421d104880fef47ee66b7a441d65480103fc350e862cb727b5570a18f09a3f399df8393e7fbcbc44a0d85db4d1bae99bc0bd7ddbd4de0e1ce9995010730dce3b6a11609b75b9057129ae7ffcd939ee9b4da5fa230781ac3dc228dd3b46312efd149e38d537d20435f76657797c9d677341e4fbbbf3a09bf5a4bd72ca67d95081fde5f77faa1b2edb1944fe7cda536eb2876b0a2a62bf9a8ce01e107ef4b71bbc14d08c71ca85341dcb5bfe57d2a02698d0bafb9402f075bd1fede12ba72f35d273a3fd5976ef96009613c0dfa402ac3d0fea235f07eda57d0a8699ed474e06c8f16836a3779b517d90f9ed64fb29fc99957d431fd2cdfe676fb8ec9286e3748c98b6c97d1086f9f1a675ab7e20f8bacdf1805bf08050f068e187f6f46d6a109bcac3351939998a60192dfd542c81a908aeefe3b32f5720f021bffe03200842602357af56fb190f98fe4e494e78b3dacbcb0b8cf7c420233d63c86c9ca927064558971a83bc137e79e174e4bf98501b4ebb68f0567f52120d3beec29b56b9c06fc11784c41c5087e9a1510e4f16dc452dd0421afa064356ea8a981b721693b3bf91cb6635491a84709f6953c8a5cb40cedeff94fdc5260fc21acecbfe6a5b0ecf15994dcbe18147304be6a1389dec519fdaa00e9b5d1a9bdc2cdfb1807c827feaa2166f21c5d96590455feb38c8a27f597df30259313864be2c7fc4fce8b2743129226dac1d6de27e746eb235a565b66a5a5ce2fa46d2853056f027677e80106edd9eed860d7fb87133698169b6b0c676ab5278071aa3bbbb27bbe0f81708304ad287eb5570e98efd0718fecd3086050830c3fca5f20605feb61c5f6858f65762ad8dc2891714c82f6a8e8f9303ab808505393e076c88df133f87f811d65128891c3ffe1091c4a1e82416cd872fd0892549a631a3102388d91e8514d96d1444ac10699c4bd7639ce996bf6aa3fe34386d1ab37d3f2284a4bd26196ca7869e1cdcb5f756ce4cc2fd5e81627b18af92498089373847587c9bbe69977dc5dff122c7e7a1a1061b7aa2112cfe604a8ed7492c8a54a251b4c9d22e7fc58f51cc20c78f63c418638c31663fd841ce92acd5b1528c4c5f524aa94773baea542a7de0842c1590e591942c97784929e94f03e439e5952224286055405145520fa0e47e9a7e960f82723f8e225e3e68b223b7f749f7977bd46296841615fc19eb7b17db63c35dd9fbdbe02ef97e04bb7cda4d2fd22f890576c016dbadb053c4b884179e5bce4a8c3c6892ab05823b133ed820c64495cc85aa7c20a3e41672bfcd22f70f5e1dcb8113307c22e14faa543af822f74b2baffe0da7669e8685c3268c1c8de47e9c1d7de340769aa042eee781e2d57f812a4f72afe0d52fa44789cce558952772bf4fdfe0c84ef020f70ab93f1e69c2099e3bd64497dc39e6c411762025373442510b22152322b491911718bb908cae0327595ab15530420187853c1db2d38c63545820808dc3726574f5df802cf99f7def0e48b7a4ccf2a3d02947efc6d1bb2bc3967c168ce09e99c37c7f24ee12b2e1a4efd2900da803e6fab2e5d79d1abc257f4a1c9b2c3011f93d2a4c85a61458966feb7bf57eec1f71977df9115683fbcbb7417ae6489c6409a3500d3db00ab5c4a15bbdbb1dacaa1e8d162c3f3e9401be8282b4cf9e7e0dcdeaf108932621b02aa525e3fc6a98f764024d75cb2e20b3f46dd6504a77ff9fec3beb56edad62c85efb19ec0f11cff5a2d04f44e22d6a4ac2d9472122a00e1bb086d24ced532bb10631462b629c22c62862bc418c5222132c6edbb8df260b46a25066ed53f8a25993bb1364fa22fdbacfc52d1ec5a4e9353919411d36a00e98297efa918abbb4a72d44a3508eb6e32dfa5b57430f0cc7f4d9501c6fd12fd22fcdb3f1167d1a2bf0176d64faf485e20fb41fbebbac97799ae76fbd7b35cd5bd5df7e56d55bc5903df733d8dfbc1fef8788677bfb3fdcd3a75dd4ba58d445a34b85705c884299fe8d2430b536a08e498bbab52b6ac07c93714609b78814464a2385b1b3bbbbd73a042976a869c10e474cc0820959a443a4cf6687860bd46083102239f81c897d054709bc828484b4e3350c0006f863b16670d42109c506619ca6cf47aab2280213349c1d2a083f89d52d8f386c9a05830459934543960f59f3021f4d9eef3564f9d38feea5573a975d65b7ec2a2364cdcf049946e9a66995e0d18eafd005ee02ba60a2e8a275dc6b2c75a7763bdef221031c8556c984d12ec0b1e99b6a9f720f551a54f9f05687a35b2c2bb00f7f1c1f591e69f028f3b6cec2d6fcdb411a1b54f85e1c07b24d8588f761dddea967fb3417d0bc8f266bef2c6d7b9a9759f33e03e283e398c055609f3cabf0ecfd2be8103af4768fb046e6095b36a1dd6f3d3b61db5a4b7cd1dd3176ec8e58c09a01fc80bf18636c02eae8d60293746fd0852d2d5d5897dbc3853d52b38c803f4d49898b5624c4e5c2b4319ae54b1f352dcfc26183b3c3013e80c4d6b42c694a5a19dad2e7d7aac09f96a425f5cdf4aec07e6158404a298ddb964acdcc6488030790be443091b363c70e6bad74ce8e1d3b6ca6a2f1b046febfacf20554e025b0543d79e2223b707070b45f65b666599529428a820c16b834012996457647c27245f6cc56241d14d1ec3f28951d32f576b4ce87b75cd3661730d60e9b1e76588bb10a4278c48236a850a3124578662ad1243610f957e421fe10910cd1778175840b493ebc05df87dd813a5cdaede4cb7606802df99b8e2cdf87ab5436feea97ed206cd5df3e0fe4195f77bec01af91f4ca61e86352f384fe99405b54afa53c69631cad8b2763053af899d56fa11a494529ba968bc9622b5d65a3baf3058ae84de3a6479822ca3b545c0b81b4ea966b60e48b77c68a17518b2668aa687c8663b99038d4f96efdb368df0bceec307e6027fef8e21136246fd2f4139da892e846fe163f82a4803ff46a87297b390020cbfb9f8b07bc5977cfc43bf3fcee7f11fa2f83ffef3fb7f2cf49f5fa49f563ae9506741ed4367b98bbefb63a8e394ed7b91f9f58bf4db00fbdbeea73f3eede2ffccafde4a3eadde4ac6e799ef43243d9e7eeaf9c46f9ffee9ada4372402bddcdda751771321a59431b3526a59f64b7f29a594db03bda4f6f779b4f721a2def556347b1f2debb069080cb3fc9965de8ac7be4fbff55614e2a1e964164d2a46528ac45b6e7d586bedae0f73acf5e6da5f6b55d90057fa9c75d7fded67d09ef37efcb5dfbc1f221e7fcd5bd19ffeebada877d85bf5bb83dea2dea7cab5c6adbf02eead6c7babece1ab029ab7e2f1bfcfd3daaf326f48cc2f3cbb984d35c09fbf393487ea4f27f56751fd49653ee456d68bc1ff7e05fcaf57817ecd933f8da670658c5e1d42edb3e7d13ef35691c7fe2a7a3edbfbdfef077ad197733af163cc7376f5f54334ffc73f7b687a1e7f93b77af1f4a3def433a0784c0ff33fa747fd0c308f1f7b3fa68759ed9c4eab194c6fa21d0e30c49c03916655d4c3ace8e387af53b7a2de2a86d3bffc0ca6c7de0f7ed3bf783f443cf84dfff302834da897d30ba683af970ebe4c54e7a7c7d35cce4eb76992c7ffc5d3bf9ade9098dfe665aa01966fe563f9aa08db80645b2768cc9752fa92eed0b7711784d45f7e5308b59886c0310781a1d5e9ece1c67df32117c4d6ad7d8a7b53346f81bb45e0c2ffcd462eb7000fb8374e47607407012c8a7bb768e9c0bd3f5ad985530ab0945e8431c9c77c21d01748f2f74d2ff1bf766e1e763d14f0d743ed440e75cb3ff7104706a62106fe1e0be8f2620b319400c48b283821fbdbb880b383036e29fe175805a3240e8ba8bcbc6148eec257401d91c6124120bdfc59393e5c7eb183d4815f2a362a362fa0c0d789ea44ddbc2f276f5a60de532808e7b3aecdc5b95a87bf984540f39793378f08c513bf983ea763374db88b59084ec89927304f60a41c224b556ace39e7e967f7dc95797bed65f7352c4b585217a4a52325232d30a3234748b2d1c7ca534aee6777facd279bde34c4b3693b4d8fc8cca693c9b39c9c228c2cb92c4d2e94e75bec45d086fbc6b797ff11991dc659e6fb33884d5dd9a966b8eb7d3df93e4ce7835f30df3f746bcacf6917f0f7d9fd59a8771857bfe0133938caee367b10d1d73cb820c3744144b205f9764464de369fdbfdf92c77c157b5c9f7adf775bebfc123688493a70d44ca737ecc67c9b251656e89a80a2674200483bdbecf737eaa437530f527ccdb909829b539a6c4b92ec13481a19edde6db98d218f94b65ffd44c17116028423094328c7d71244786313094c85ae09e66d920240951be58426e2136a08ef027f3b715f190b36c01cbac0c63443cc8976efd5076f74be9cd8802c72939875ca96c2ae5d755f2b5b66b2a31472cfaac3bf9178a00c35811b6dccea1ab344bfa909ab3cfe9d6c96eaa07170f7fdff4441b9af5c125cd5335abc7e6093c391d540fb0ea8b5cb8e49ebef9e6cbefe984c41df2a455521c50b1658c9ebe9937408a924016cc408a86600de4604df5d911566ada608d73e91b21b01c6750456018b3628cec3fd3379d73a0cb066ff9734a1876c9cd6a96b75ebc0f47e9e42999a012e76d9ed2f5946234efc3f9ccfb6cde7a1f2be653a8e9c1f4a908fea0528f10e90202860c600b0ea10486114b50ba00f9e209b005bf20e3c80812182e80494bc0e102b66006f2c511a00bc81755c016f467fd8783fa8ff5dfc77840bc88026cc19cf2807821066cc18cf28078e1056cc10ce301f1420bd882b923a723882fb064a923882f9c8034bae90bc1a961a6c0239691e3fbf788402714e02f95bd957f3f50bea796b4bdff98250d1af2af6d6b239c26ff3ca5f4542a5803bdfb215f4211d8e801b37739cafe80b27b0f6be04fae87ad5f8002c01a9a87c43258acff21b18c97175803a5968a77dbdc870f6f6d3d62ab608dc6f5e87c3a01eea4698b1c0f39fb762ab5b5c93dbcfaa1e5d8b1391d6994e5fc18638c31369dd273ed6cb3acf1112e87a44a952a3380011055aa0491c4e57e9081104fdc8b9e3c19c2e562c0f90073218cb1ca0cee144859c4327d9a0dcebea92f676666fe53a914ac893cb66d8335369399b544629099677deae9548f88ccb34acc11f1516c084a59c6b2b822cb2caf8df49f534a97104a29238f9b22328d6018cbe249feb6bcb5b5dd328581e3c3cfc617b2e7340765b2007f4c96dc0dfe12ce2c3d1873c02b369c086c764fa94b26d25f7c18737c30c98a2b9948cc4d8efc4b871ac48b0804ee09f115149162448e2f84046260d1841ce4f840d026a410c308a66088b14545c2160b2010c116e12c081406981edd005ba35904b6548cc0d9113508531b588169111605498ea41892a205f30718660ad6093184e0051358cb3016842c7a20c2ac826d86b1204831a504e12808464108a26639d9ab597713b5b120bc20a3c9dd59247164a0b4232c6d4ba60c8ba2bb65b35874d1a838552d994d14976ed6622d9c2031030b9811dc116b2d0c92b53606041f503fb4584b46cc8f2c8aacb531165b32e11f47b0d62a556b2b9d6eb1eafb1938882519656be4deb48b275904815757ec14fc82c413181741899efc408980b70c634f8ed425302ac3180e9ca005366518c341173ec0a90c633818029018951d8d058b1272c39c8616cb0c635894c6b8ef2d18e39eea6e14cc4b37763fb9bbbbbbbb73dbed6eedb3eeb615777bb467774b979f9c534ad931461cad55a9babbfbbb654c388c706f8c11264f6f15b4c1416622336fcdf28032ad3bde6a179ad55d976f90ef038d5e24f02781fc179dce691d89e39e4d4c9e1937eb7a7b843e4db2cb40dd19971b3fc352da2b37950ae3bfc11fbe4729a5a4f36f1c492925f53a9b95a166831b47383e94524a295b5b42dbadd5ee349db0a472bb934226f845d398701c0ffa2f30f46af36a4ce8bc4630284d938242713af551a959a9a68a3606860f64c7f906a79595e274eaa762aadb2b0301ea61cfe10d23fa31327432a1d3282686d3a91f6367d03a2d9359ebb446b4ba7dfa3354914e26745ea3edaa8c40041119115790e0c3952b445c21e2ca1522ae7011b36a8aa77932491a4c93890673ce39a5a4545acd4403ab5189655564ae5b4d6289654759cc74a299349962cc626bb55a866da0b45a3634852ea153e4d0145ae4844e9152cbecd0145ae4844e91954aacdd78b58cc619edccb8782449e5414686cba88665d67ac2b76a2fb656ab65738eb1492db358269d93ca3aa974ae9a4e57cb5c52ee64a281cf97f3e99cdbdca2fd6825752c739b738bf6a3e5b6ece6f05c9191dacdb04c8ab2b55a2d33996860e76bf3b339bf7f07c521f3c5482db35826c5b1a11dddfac60ee09477db38e95cb733c4fd8ce338d376b73b44f684e9746f123af44f78d2cc564dc3afab69daa459f530e674e863f912259d35d648e5132f2f2f30dbddee10da132ff55f2c6abb95daed0e416ba59a7da2d2ec09140a95daee7687c89e48652de3043865cd8032a430a8d4dd9ca23818a6fbf4dbbd24496d3176c75b27797ac131313132959399d10d802eeddbb3100b2b13c2b2593366a8664ef6f8a5e5b04c3af555f25f95bf2a6d663fb355cbfd26a74183460ddf686c34381dfb34e8aaafb6a361a5a1a1d67eb52c1a166ba3f6e115bf9abf9233f2e7d56cbb5896fe5777bcd5afe578e7c3019d618efe2b7072c32c36b9017666e9e54081e34c8d26c47639a9cdb4ab72d7090f89195aaccab06f9ee374e673a66d1e195189c51cfd4198d9a512d3aac85c2a31edc8488b6dd9e52695987664a4c5bceac58e48b03504e83afdc9dba2116238feb79d389dec4f5c8f1c878694c0816fe371be67571b9a5297d42973684a2d7252a7cc79b56c684a51743205634ee73ede5e3624337908a9c37f8b4792c41c1d3f7633831c3c92c4f22023e365a9dd7824898d486c0ca0aba8440c9909831832350300008022007315000028140e89c482c14894a461224e0f14800d7fa444684815c862812088611085619031c818628801c018638c4343431e0065e427d9c5aa6899b0f31c01e555afb222344d08022fe9e2387264bf0c4c32b85b2c2fb8651c0ffa847eb87103a36569369f18db4e1fcc04937f9fc56fba6787c573f6a721f73108ff41bd8b0d58431fca64738f008790f30cc5ca7769e1445613aca8b111d71026c1e4f88d4ff410b5ce9adb24f352a830fbb0101764150b18e612b01a840737fc59576c606939d45a54ec9c13e4bb2f14213a00f315adac21cd49d78deb72589a810f32a87be83adce555549bc68c0654a221d05f54447a336c203050638e4371b1362f8d63821138d41041b6625e4aa7b9aade430cbed1aafb09664da243188c193a35c2f2ce6412fa1cb333c41782915605f590617646a3afed7a929c388b1613f6f6587d70e66d3b2011a58a445a2520ed3da4c29e2b9b7d43be0a16a98770c5b5629329f2ae08fc3c91b30faa33efa92f96e3e1c815aafee1f8572a276cae70119860e3d99c53ecaed9c73a9b0372f9ba11b35609051fb477e19be07fc99eca892620857dadc7bed17cbeb90b420b15877b8017d7e4bb6a625783132491bbce88e212b46303416343312e530ca39dd273691151ec4180e852e4ad8148ba160a05df78f9658e9b00eb42cb59803a487bd3377b99ce0b2dea404261c4c2e981f12dc7f48d76e6bb596b57ff03303063bd232de9f37ed79e14b8914d9aa6004c761bb65965bb050df5497872026138aedcaf679203a52bf11af93e9f578a8fb6bbddfb454fd039e315065015bb4cab6fad97ffa5d9d05e661d4ea0b64884594e8e51f730666c15ce0ca081991358eb79f2b2dbdad60ac6ccdee3455012c4d5048b245577f5325aa031f1fa6822c13440c3b9e29ed32ae93d06556b69a2321216f27290d21b3ae06f7445923e8b801a94164774e16dd7e8a368fe0b61e55f2df75f3a9f362253aed17d0f1e63fe025e9ba4b2c6ac566f85a6e11139d8975bd070d75e73cb45a8dbddb91286a30eb0ebb81e8f2dd298769874722e16ac24d8d0f1db10f25868e184d24a7ca1949f607eed8c126f90aeaf9d3398557d9e0af5a4830db4af60f1531eeb8cde8750fc24565a955f221eb56808a01b4a9e5b0de91f7b3314a820547ce9203df53c87be34b6156ed2bbdc98f34531e8973ca66cac1c0b03094b7a01f52023d6513cc0d9c0732d300818be1b3539e2369adb84b844661bcc694f56d683f9f36f1f4ddead1c6b0cb024f3bc3873b4b40f98b02d68f4773bb78ec346ca7fcf58964d9ff4e15ba58acd99c21161e039aff64ddf3e2ea2083225f0ae18c0b5b8058c862b27766423e2390fbde43571700a579fe1c353d4e317342a99bb702d999454922fbb8bd7699a18d9d0fabe4ad4e2f1179e423b381b34f1214d42769c0e46acfa422dfe3f5eca7991804d602e448f5401619a299eca055d1c7bdf97db928d4528e759dac6627082cac09a7379801f831614fc3c67522b1d2a9d59eb50258fde8c137622a0949f5a6ce411d1a814138a60420880403c849969ecef6c46f06c16ed4802faf2cd0b5d3f60dac0f929be1241bbf96ee817dd93f4a4eb8dbebd5ed801b7f6993716aa43edeff832d654be2e9a199bd4dc4db4fb2086ea6e6e87c8cccb39a28a3dce5eaba20e6c0de26dd21e8c7da1f797556047c9e9eb827c7fad0b811ad679d80e1a1f638a80117446080b448d754e3b80dac005ba5fea5832e79b0e6026eb3ec27680910f968bc808439496dea2ed7b60dbd82a446810c8e72632da4b9d108cfb88cb62041d1e00ead5924d4155621958fbccad0ab8ab128e25efe07c074b45553edd420ede5c0134fe488ec366a1b5ab261f73b160367447ba1c3228de57a5a4f4220985603a066e9c68e6fb87ec1d01fa05c2967b7d6c04b43270dd9c88388be174b423d1d3a387f78541f41c713c23416d8e83e1ec31e2fd548d4a8e285a94529b7d248d0ec65a2c2ec609414ce14f00296f95ae5f44b699d61cf3d52284e0ff8b0411bff54a7a3d5c68d96151ab2d026950c1dd0ace12fc137caf734cc0f815dbfea819851a29d06047ebccd25a49e70f6b04207f96dc24ed4ea415f8e029f0652b2a18e22ea55869ff1f3bafe34054448e45897643d58e678d9bc7c0abdaa939a55c75c0b66ec88db9db3f7f05244acb9f69b3b31dcc15360f144f54a5e1ec3e6e02199b642028d62f295d78660e521ec6d55ec3dc76c642b847f7db02806640b69ffe099216a05c5d92d87854ac2e4a3f53d46c7fc161348ab8e355a4a15a28bc75f29a1ac60351ca387240b9e289de6044e0bf1b91feef25de08a2801b51bb765290e201197aadef7539efa57079120f6cca7b4eab411a8b7b0cf379467fb181b503db13c9a27b67ed52cc22e85c5411b0fe3f7243e9e78320ae80a74f15069ae9dccf96656dfd12484b28a2ce90a383d794d78989a11389bfc77804a885124cc9cd233c185b22c1683201bce1045247daacce1a50fd25a603f596a90ca41992a1984ec12a8eaf073b33c51df00f7df5dc6689e33e387c088570a1aa558ae3daf861383db8e5552da8120904751b27965a1473b6b826903beb911ec8a5929431dc81b710efdacd43e8a6c635c62d520b141a11a40493ec6f7bb904608cac08c2679b8436fb688f96b6a59e10051a95962f90014d48e15275459cb34e5b5429e90ffa038f0948f24818fab506c21ba5060337f20f863c511d25fcf05e43aef65cdb5bff19574af659599a8bbd6fa3409f569ddf2ee686f81a28c75328c9d9c4b58078c48ddbfbedda765c6b226be6b9f8bd6040df725e4683796810d7f2c64e2e6ad1fd73d40d29a7238885bbd0f9b86d7ba3fb7f54890ca14f7249180bd1ce8717a28f56d4a056b6258512a4752326f109d314f80ade5bc214e926004fa47d945be78d059ea89edd3dd4c432ce36140f6049ec1923db828959b2a172f855d6de22a4d9f39adae5f73eebe2ec3d7b1ec4d456b6f08e7ba68e067ace570d985b22dcd8e21e815da2109cf36bc74ca141d7575e20e49a7cfaf67b64a1883a1efa1da996a758e8e0e61e0065c46a92ceb22901e2a857417ccffbf69cab391190335208f12f17b4251acf226905fbcd1924f13deba6df67c517c27aaff7005d691d8b8293f383040e555657c1d7e6ea6d4ff587094081d9be47899c7500c62650a2c56105e1395337c6b9676a70e733084dbdb81e95ba1ab60ce1a114f8a55269f15ecfab9bd9bdf2098254a31201a25e8f4ff1d6648ffa7a1480795245fdd76315892bb83a047b707a52ce6bac98ccd31cb6f8a35955fd72d873914c4b71ec011079ec8122cd35ff17a373b4bf296690611274ad367b802257914ef6fadafaa29a88c99c221d7d9a6f3f23e208b4d8aa67c3d906f7be742cbafe0265f1c65b80fc1e7078f49d00ec7a2d616d1b786ca18fad9565b56472ee2072012bcb9fc960ec19dc463060041042546e4889fd0f386319a4b540cc6841fa09e90c4c507abb530902abe9cf9c4e56b6022f68742119e460e6dc505daf20996d51e854dcdda9980658db3f6d9de2e6162a4fcff9a3b13555f1ca1867dfe03d3e91ba231ac77231a2c69069a5ff11726fa0f5d82b4f0d5b04d533c50e0f22116a64cac3f98c782b135f20a0166d553ecaff06b1ff4a0aee8c024b6ec29a1f497dbd9c10413a955752bba1b291984d9d16d3a1b451328d83859f0441a8524e02e6aea82fcb3aa251a1c43a68cc8096c2937360b868b089debd5a5c84c8f93c7549e7eab94e91e63279f22b1cb91f3e8edbb84ee559e9a060e648a903c38ad6ba1fc78e98ee143b0cf19e562cdeb1f844f139e0563a153dce3ac00fa9df55b29df19a226676f59efc6146763c0a8dae6ba65d9ad02fd2454dbeae9b9437e7ab375ed39c0b69f6e69f395a391805c189635e8b8012d08c8302c2720d988a1308cd8c4b27158c62b264a2b62bc4615b40340e698d53cec3dfc905741a2d6c7e8552141e0dfbeb17a15631156f5a5e26ebc01a545c80380923d7daa515538f6f4a765c89e5ac2e4691aed09468672c73864f03b8474fd83f89abc423a829376f77e34101a5dac5b808355f7db33410460834c5420fc3c9f44ea9bb41ba40f64c62cf5bb9aa60aa93b3981b22cfe4ba989b1692f3f3753418bd04bb25dfd4a71f7653236b9efb5ddef9b400dc0cb114b906b525bf9e2b8353daaaf565d5159b3a011a9c71526c899590743ed281c0da84be97146ed829535f386f8189aa6b93864a2c6565e867287089aa8369864698a1ec570cf2ea082eca65540b69f8c804323afbe589faf0a77c58f932c6e775d0d0fafe1e0eb501577f2e5a89f735037938237c39c597e859a0d54c6efc6f0ac74e440594dcb95234b34c3de4d299fc48e789d9676753fc2b7c49ed91f9e0cc4b9740ef8851a537f958dfcef98452c5df5e8e067ebb8f92bbce35152ca078cd7cbeccd06f256e79e5dea418f875235341bd0e67d30ed8388c715d3e3d41b11c0f5ef6452abc29f6c6e55e33ce95f392e4251d48329f34f02ee9d80c4951b410a1adc090c3294f863355a2c82c0cc8c6548009c8ed0c2a234936553fe90694399e7694711f6b9ca104343e80e0769bbf3fa493a380342dba95861f7d4fa6c3e8bffbbfa713093c73132385080606b86fe47fdd92748708b9ba81cb1e431f48c4a96b0f6d169282085742b6495becbfeeff41274d604c43232e6e55b9b8498581a24fd8c9f87fae3e776a00e51b1bc735288345ef6189f743e700a6b1cbb03198f37049beca08e2de020666371b8e644ef4c43f42bafc8eaafcd39116225ad32f32f62f740f7f5c18f432093c12f90bb49b1cf1f17c067371af4808674498af0f3b3bfe00eb1b4486251a47985684e186f3754f480b27fc64b6b87f7637a054fabad3aad228119f9fda805e119fd4915099b4c7d90c83fbff340cecf06fba2119040d6c964fde2c36840a47c94dfc32cf5feead3089482580b3fd5858154cb94a88a1edbe5e72850b91180e33189cd490f7f0f15b03929b67ee2d29226e249bb1f508bae21d9e46cfce062e75b1f0e2a88c0b45283ceb9dcb3ea351e6c7a74864267db70c1ff14dcc9fba8b07ef77e86169c0a8a66a11cc7e7eba3070e67bb3929f3d19cff869396b260eb99f85eab29c664af5588ed0a6fc3d02e5195805fe59f62e0e5285219337c5016c4e3ae3d8fafbb33411373015660385db75146b5055c79d7a0412070c4250530450f0882b57c0e898355d0d3f7201886df091cbca99c3b3a851a6d3ec2b387465d1f2a488e5a6b58ddcce6d0a4ad3c810406369a89d0071ecb9b241cc06f029ccc63cac1de911d2e60a3688d5cd81bb2f080af24190743297d4fec8f4364ac90ea147431b447050241bda0ad89f3421d4ed72511c7f158be0eb7149888f3c953d9d491b59f069d1dbd6863c116ab984a28fe5414c227a3862fe0501c348ca47582107e17f46fc9efb40b2e257ade1e6333de48cbcd53125416b98ec9db0e071c2e9180051ed67de19bd70283806a2de9355bfc672ecc30b889ff396f8c405560108de1a4a27b66b17ac60c6b9e70af71fa42de57c69a47241c1495397a1d24db5353862a4178424034f0b00294cd33b09d80de5c21f1985322ae4292edd1d4502e41d754ac9d2a4287b290cfe7b853c97e7673f371ca55b7f1c37b2e9bb10a6361fc23bcce8d5d12afc86afb5b202567c573e74bf1c24d692bd0d79a89324cb1cc50baa6f50a9fbeec84699c0895415908d4183cce686459c336a05da2874af7745950ce561d464da4f039250e404206c6c5208badd389c976f464355313762a1712b784925adfbcb4d703576c4fc87c252782c2f5ff03ebc5d76aaac25079109a023eba497fe3bf8bb894b749151897deef1a5d3a509b3369c414f28a8357270395f113972ee32bd537861aaff29a5a02bb3f172a9b3a26bcfd2d125323b506eb5fea8ef1d5122cd303f6116eb57619cb77566ea2791f46cb0686188276c96a96371449e0f082224fb2223a50b7b8c5e4126a7ecf1ee63c0bab24e0a824d7cdfa28181d384089647ab9baf1b1a32bdbcbb703f15a1df706b57ea4b1fef5e99e7ba36bb9525eb9a2776a56467ec6609187a4b2511fabbdd9a5f01e7dd9e285f564ac1a83f3b8fb1c6c84ad73885a48c453c1ed9caa41e41af29033e930154c445545282e504ae650c19a66040aecfc50c9c187dee7cc039ba8d28651d7efc3e6ad9e51eb907e2e6221a9cbfd7bc7efa80e16470c69d0d12092b33e63567d19db8f1d3a596a15bdfc8a5025f6e3b726ddc111b32931105042493d39ee19bbac886243833595cc5c1d7b25b07cc128294e9f39d0541100f162f44c3603ab5f31fb40c9c2c19ae602c41b4a944ef55207876ba4f8f6b38f2775d97c4f84b2c640d04365c58025f4210238a91b49a9743c75b5e09bb6c94cdb6735dd6531b1b991b73685255e0e8eb5cac4b4ce4036208b9af995727843edc8d9cc195b4520fbfe4cbac984edc70288e0b08c857e58ac5ba1d6368f431c0c440a109819f7d2167d68719ebe02f73738e4e82134389d38e25a360deb85a3897cc621cf118f80eb9815314645d58c425a71098a8e76e175a1b62733ce26aec9f5cbd06254f3bb66555801fa4146e202a004a54bfec16ba7fc8abf9d5035cf00b6851e70fd6f3d68f22cce7973193b5c46737304bcf457b06e44ad248cacc1a20a922ce7d74a380bc85a33c1cdf8df687cedbab4fcb4d9f9e7b0f4762764cbbf4c6b3b9eec09fdb355c8f498f712f504f65459372ca899f36136d6d8c196de70b767787eb095d1d89fe9ff6c4ece8f9b211d499bf601398d4bfae6acb8a97ab06e6965af49c988da2b12813e57b96d72c44423fdb95d1f6e8849e186026f46eb44aefe96a8d6acea8589b058fb6594a66c14e65614f3023a4bea3632c10c07c7b5929251c02f4a656f09f3d6bf033c41490075345fad9e26ed6d6d7e927935875e3f36914a32212ab8372991a8bc267302b105904b87775951b89ec0733c535a29fc1c3b9929506533c88d91a64bf34fa821cf499d2c1012e15d1f23be8723c6899c93ff67dcd4fca28bb10b7e3e2334f489f0b2a33e89d58910116e53b3484fea182c889a3ce72cd0d33b109a495eaf0201e7723832862f0f4c1fa081c50c16894a085f7d1ca4c249541171ec6024a424e5115a34623e5cebd0660fafbfa03f54bcd9a1a0310460c86ce7cc61ace555765f04511e833a785035452268ac5196a009ed0240f42522768e89dd5a6721c51ecaec80ca87e7fdd79be3e80d13a95700d69c3054b134e9c50b912170fdcc42309b01f46ce3c80db8c21d17508af5bde55c2d55dcc733802ff705dadf041d4fa549a6152c71eae5cffc6ab58d4610592b4d5f8ce97180c3db60271d7b2478083d6e820fc1d43218e06477524cad2ba847c3c62606fd21e134f6ba3b97cf4ab9eed8c2eed694b32d003991a83a302d8d09d51e37a4b60f42280c7e46919303f52718e61ebc8fd77a4a1f101dd15851d79fb5abec0923fcf114c9f06d9734d98550719f125a5db9ed536b0c2e7b982b28878e3b3d81a8662f1122eade7eae047f434e981160e30ad1d7cc4309520878b79f011143c1b5a7594df5dfef3d96836896c21c32ddb31130cc268a628424093ea76cb5635b986f655ce405e2882296268eeda3f1fe158a272b207257afafdb7bfae63d057ae43561af078a8b9b4feb0f0fafe87cb56105f1b5811c588e231280e9a13f0b309296009f5cd679f84bc2f02a7de83c2f667c3807043e650a123d96c37b92ceac6774e4e2efadd514142e9d4a9545c0d6c056aa1e1bb30a06207448734a517245b802b9f2920a255cea148346b22afb73da3fc11fe78570b8bb2077f13ba2e93b754721d1e57df5f35cd9b66404a656d289a05a0735cf47185154620fb038f9bc270dae3a817108fee46c11df1a1279fdd6c4200c654eb50a7b8117326d566e6594f51deea6b2b483342d102dab3f337f142e42618674a1e67fc4ac202c8e703d4e630f48f1c2f2936a9e9d1868c432b39d7b280678ce80339c44e8ac1c1cc56dd801ae22abc39d49f068648decc5bf0fa5f62e8a31cc9087cac7be21c9b3ba38f20f10aac93f44c10b798d2d0b56fef76c5095b3e90051d875e1dcbe05cec8d37e7fc1e138718d18cf713f612f5fb22e1bddf1f9cbe4300e485a8b9fba53c59c6a66b43aa110aabf5736db8d8b9ef6f2c3304dea6f9ef2d43813ea37ada715c3961ef8fcbc0d87d329ab0ac36649022840b34f68e4f790b4a07422102b161399925f68adcfe05563dceba2589bd1608f9aec9dab46454c519c83c686a18a9ae1e8617b702c7cc04ac53ab3898663cbe55829b9551eb8fab9aa4084b7d8675580f35ce4101d41492e487c800685eeb07f352e7c26c3b5d6ef5dea57aa15098cc30b106c488ae6d64f4ef5cbf8c2e3a5c7b0e8820044953344c9628229438318018a656d2c92bf4d395c9d48e2150d281e0435c88bbcdaaf3a409ab18296720bafb82903137bc012a7ea8be685440d38459675ac05d7ac26ae416acaea9c55aac47b05d82c2973b33804197aa89c6d054e21b023acffc8057a22f04ba89244be8e5bdd442fd326042e0735d1c98206c2af4c195cf568a030463b2830bb35c60d471699c62c48e26c9f887fcbcaa42f1bf53294a7ed2083af9d523c854361ae084a4f106921e131cc0e702b4687d6fe26f2612b9428a91f154597f6943a541637eddc9c94a601e1f1de0dfbfeb5970d89a709206d56154860f4f0e632cec307a505497a1c2681dda161b9c756819a0ad629fe2def9264f093b693082c58025c07cdb643dc4d4cb7ac3a69f28d2b7704d1b1ce2d7ce409b3e52f0f5a7bb6cc51281c86b80694a4759f7fe3978f8b42b9afab947c8f16c965192c36c32e4bb614aa7b75a713ab27fee858756e84d30a5e5a0651ff895abde768283da22505e3a70a87ad0015ed14a0f5e030a8a4bb2375cdea34f3e6a59ff84a681568d8bb42c408c9fea5a2425648daf3d813b723482018ea6d10847cdee91bdaeb812f30d0886f8eaa2071ae03f7e01012b103d6469e34ecb1518474d9f8d12ba303321f15c503e2acdb770f4c3f139d4fef3fc16b900aff51da8e26788511bda93e6ef850d7dcd9acb3a1326eae3b7686ed4c61666e25c9f50c280b45a823792cc862262e6ef367f8c6f3be60545d3d9a848a9544f9aa059e056a245639bda0cb6db56e82da1ec76d05324c60804ece2d027c30948c4e42cacb7126881bd334fd16c209a35d440be7ca0e18ffa7dd305166f26b0e15271c402bd359c15298c54a257a946c7dc8444f1a32acbe750a7a8c47f8e1abfe11f90ac2fa20230a823508e41dd29c123b8f3b8964fdeba121348b78579a01e8a96553b8ccd55b54b6477fb94df67f7c412fab0f44f23a68f21c148b7c8a91ed12d1f23e4ef3b0ab29b876ee1cd220764786c7881785848a17868432c4ee88d145fb9c16cc1ce0d82eadcaf47401d0671f22809b1c227b35c885d7971b58f2829de2f2e0907c4829218da0eb07574f0a5fdd604047b9697b8085cdfe8e24fd4b63021c2f2eb961c263de70a05b95a79b39294942897eb722b39f3e3c758ac640ffbb61746f4ac749e60b7bd0a318714df2debb576f86e518f0b2d6006ef337c5004caa45ccd2f767c3c3b5947a7aa2d04bd67c2699c413118c33f035c4285e7f2186ced03141d6a2b66eb821f24a7be7d9f8e8e275b436f55cc39fd514231583cedf8564731c1d73aa1dda157b6616c7ada51fe1514b71a7ab2efb4d136587f08238452577135a46c7302bdef7a10114f2ae4a2245189efe0032277b28830b0b782966ee4623c7681c8d767020f651c2e3070305a64cd44ac093aac7d9a701da198f4a9b7990e2f87598b9e799bb388f91f01c7c1207ff3bf202f8717e404a7ce53ac2860d22d1ab279714ba7d2930aec231857fe32902e18700f8f2ac31493f32c941e718ff00bcd36717d93172a530e89f3331b75ae491a2ccf2b60efe04b055d8352a4acfa60c4f3aecc25fcb4d1868158cdf074e0300f71b06433aecd04f0e0d6e64a3fae2dc8703d3fa5361e51f100981421e73b9c6bf9f8696a41f6e4539e300ed203f6ac8ed8a3e089d29e4684a8ec296bc8e98e13668ee4f672890ff504e63b53233e366820ec9dd3a2b1c2298f5dcf0b1613bed96f9a788c90934908c14f045d8c0c6ebc295372bda925adb80d5316f72f5e021070e1de9af49f89ca1a4bffe2267760e573f61d84b85f72c0b91460c144ba53b44955c79bac24364307273eda996a694c43b1154e6a723d6f14dc699e61de9212be178d4eed67b057a3c9a9630a62d1b20c0fe33aec56c62e55181ab11e3761111bb31a366ece25da8d3bfc49ee6783b21b27e078bb5111c59bbb80a27f1588aa7093700f9c2983a2d2271ee11a524e536438388daaa3419f6ccf01c3cbdae601b20525fd227bfde180600bb4aa15326f70a032e1ce2d8121327819d61875f87ab53856b3b1b32de9f5064995656fa1a3d51a6f1b906356269849246fb8c17a803efbbb5b62aedf6556d633035586aebb5d6022376da148dc95e7af5ae6913e2885c45ba86f8f6fbd85681e6ef96f906a354d21b52d3840baa99968349adac65f16684796b810f74ee4c785d00ca7490d42c1244d5d701f83d89dc38797d86df82683b10b4c5a10bb8dfb952e4ca3db9dd8a035199433aa74dd962d50e411e109b5d9d8b2eb2d47101c085acec2e3f1c279811965f465c48a3f6f8cad9cd2146fa140c7de4c4524d4ebca95ba6e3797beb84a167fbb927294d783db6b704a4e2925ef0832de7fef10f6f97ecf70c46dea5a3dfd0d0b027330656e830c54d25861b48030e26b8752eb6fa97b0a17165b6a7008929fbf23c4727e12d3401b9da34090acfc034ca370272cb2d099310cd3ac8fb57c2611486492a7ce3259b982b7ce93d74a81192bf7380a69d6555f91b132c16446de380179bda97a9a83e379f404bdbb83772bfce925bff69719a8d3f45505a73611a1eec151fca2ea6f1f0cd1216fc5e8a9b4684b23853cc2294d5ccb5f1358785087c642c66aae2040a9e2100db4c3ad12a2555009e3586250fe5c41b06e22c4e43c5c0a2bc9f3c803a1ebb23fdd0c7d7086dbc16493b7d06fcae2dd45f40aced5e9c64ca0ea1d502f97fe6fb0fb250ffb2240b0452b5e8702d1e2ee371eab75b800a9fa22534843ce58f44c144e790d11851448e227d822843345f092f3739634fec2cb1468ee9a6c184c1e98cb92332af25d774b2cebb01c278358c7ef8fab0940ac96291c29a9bab16480ebc2c22becbffb447982a919a656d6163521b8e490e98cb04165b1eb1153f557b2a2700e00d54863163168c3040786da697cb3051d047bbe3347122b5e109dc3338dd1f2593c746a745402af1b882d65d788f52864b796887f0ee79600770901b632e265a05ecc05600c9259a935ef82d92700c8b0b0fcf3affe3252f21f5b01f60e3de9050cbaa7460768de0a2d6d46540b28d802d4868887760c8a5e5c0221ee948acb3dc183b8138c48bd14fa68a9f03847c658f66bb7152381a616c35ad26e5b5c3b3294242f2a7dcc2dbc02550f433a646d313827c6484508ac4137972a000876e4fe253eef02c18b96923a3f5bc47aa018d5073b4bf538b2c29526e4646557896fc8a23de51eca942925fe623df077aa07e6ee6a1be0c083e773188d9daeb0c257e310b220fbac29a3efc1f5b41cbedf8fa1fa2b7017f27da934bcee661ad0a7047d34a69d21d864caf5a2c6fe477c02d893cb88bec8742c2bca4b73947508df3f5ae248d6666abe0fa6f60928b437a8f78f5afd73f7d946f8f7b602e422fc348785f51964b4cce7161b5813519456a41ca5f54a5a32904c01c628576d4b086691fc17eb42fa97fceaeb4fff56a5b741571f1c7471b58ce147cad25995134f9116ea0897844011ad0ace94cd272223da3f9f94c44e2caf0f9b8debdc90ceb8a664493e13744ce02a64c1b457250d4cfb8e961c4eb0be436ea56be3b5beb0b68b69960b7ac6a844c50050e307ca333601ede149267a9329f820ab50e653a56430259d44e04dcaaf39169b83e28bc4da1cb75a6e53c1fe821963783941a0abf9d85821b6f1dafcdd10e697befde59ac7a643dbc0ebd4bd6c50c1a38c2646723144fa061507fdf491f2dfcfcf02ad05c40f420a1770934501c61fa0f91a27836c3a61f21ac74247e842b52718e0952f7382b0f23626ef490e45b885e88f9f236685a7add19143ffd1ee05e0292c401a57ab007e6884572f0432e487001c952777c4bfb2e0c16f50966bbf1f9d9bfe9e957d515804850409e0ab2cd7d54c80da436b43bf9b1f855fd7c240f040ef5b3ce59dece80a20f6dbed21df6721df8494b7ca5dd1e60d97777a04818fe1de0ded916c254cb9ad0bfbecffb53ed8a7c7f7de4aacda7e265a084911dd64c6fdb0adcd39c643dd2542ecb646a1ff2a022275c20d2f16c263a3852885b3b13e860b5ada8cdb7c54c7ac4705a6fb352dc59df964a2c2d421bdf07a544ac12f0b3d1c47e279bdf8c90259219d3de55eb459eb8a9e3281a573a8e31efc618769f585a9cfb96c2d3ef3d42548720cb72e778ef5e803e18973149ab7a22dbe7fb81c6b493f866dc772261c63557d698db916ee11947991d49273092966e0f582963ac06a0e519639c64763b5972ff026e4a87a0f03cec5877958a7cfd0f2058817c3a7d1db2367630e8ad0230a17ac176dc48bbb2c6c8d07c2d2cc6da6e5ed948fd8d781005aa93546c84fae0298a644b96216a2ff19166a5082b603fc78a9421d3a19fca32aded9f6e65d701e3243c473a7d0cc6f004221831d3d3cf8aa7e5961eb9a6d2a526211f1831305c5827a232e8aa5399722eaa2370cfc0ba362ad9cfa429427200dbb190c2585374d0c70375f88c29d1fc3d76303b4a91764a147fefd6a8f2b7a831e2aac8507eb65625c9884de4e91cfd674293262f89c49cc44ee3b8bad84dd14a776c5aecaca2a9cdb5e16f490b4a4a528cdda15f505be17bd0a2d1b992a9e2b0f9b81d923235890264b135e7e9211f87ad0a2b706f040241c2677af6315447b6d047bff34e660414f794aef0490e63c17cf3e9618ed5fd582211486759e328f30bc4fdabb89d95f9938f1cc89a3b6d3fdd9f3d40dc601b64a709f53486cd4b9fabc00d1b4c61b80ef0bf5812e41121caad4092210f1ef517dc64a5d08b72bc3fb28a4f3b476bf39fcb5fbf8a0b32ccd6e4a570064698c3ab4434f12950c342496461b323923e2a563cf82e7fbfbef60f6eaa6682632dd0ec46ae5250074429395763f21a2c37daf7499413a3318710c07f34c24890e3dbfcfb2c526e2a688ee9c14cfadac3834537e1586fde81cfede0b01accc25a0a93a1825a71b0600166c3f80f64a8008a124adef8c50e2b9b235648584684ae54261a848219b9c7a9347a7cc4895d37b510a3559fdadc8dc094c71d347b84281cf506e3a736dc8ed3cd3826dc82211d152420a6a81603ce8437f25c4b975f81cd113959427bb9e4c9c92f2a8370034465f8f1af1cd6b34a46298e1ec9af6d54dd76d28a6f17bc526e3c9f2a154cc20c68e1c699a3688aa5ff2ae2195d3a647f334bad67f40f10350f12b4d9069001dfa41cb3c3aac07536696108a0cae0aa792a06fdb87c18824a78193ed0bfef26e7ce5d981634f2f89a75d5839f9e450698d27718682230e8a3e1e84ecdf9cce0e669dc3d022bc67ddab647b6974266d8c4242e14b13f8c46b8e39fb6e7f98f0a7cdffd850f2fdfe791d762b7db1ad2904baab731e320d14754985c74f40a5b6d841d717b4b8c04664b8cf2b9710e465bddc9fec7ccde19394d76ad78a28b351ecfb21203ab0359730873e9eff7c3067623c985dd52183eb3a74514fbe5f5227f5c4d75bdd10bbf2a72676b8d5842ca680f3eb2f7ccf6757e148e430f9cfb0592e0946babdcfa107c24d3e886f9738f10653333c5f685ecb67f4b74d110aad3042c2fd8f662197d8088494cfdf588629bd614ae230251fa6743b31d23604a038fc59f203bf9b228ae5fc3900f64a00f1645025da3b76b6771e8ffbe36404b12ce617940997f0c5bc7e13429870c30170b1eee67feaa417884ee9e85e08aa7bf511bc8737bab2d9697b70391d6e2d7fd75f9fda9318cab93da7e2abee30a4623d99ddc7e2d72eca7fddae776c84dbcded6d8ee7f852790d071506ff253416164101906dfce81f35146e6c7c3d019bab020fb2cddefde88beabb6dcae80eee0e2bc9c3372bcd34d32ee1b172762372c8d7924cd5e91ef87e74a39b5bccc2b0928af81dcdbb7d83648841a6f5396dfd25340eb87a038195c66cc3e59feb0b02481aa2114993742770d33938d0ad92fb4e50a24db7cd81a33c40450fc4643e4d919ad56a13a4bf12295f9d819e23d1d99f758a131aaa90641e9f2ce187c080aca829b2801323b8ac30fac3a2a508291c31d5999aa247776ac192e7fe947dd4839b8fc1b1a14390d30985eae04944b76bc8841bfc492c082555217ab9c7ff33b9bf96712b2ce15f703f103feabda1d6550714054ed8cd88db6d058d94f4738a25d9e300149975679844a5aeeb1ecd49c8317e9e38967645cc97c7529dec5c14250fc79217f953cc2e88c7ff5347b30f33dd1366346df03e8f5554725975281208d44725cbfa6a64bc71d17a0085fa1318cb70cb8205e36c50d81d7b593ad65cb3883a083f88bc2c94c65fd2813fd95330a5cf10ce642c191d72f5774771137a60490bc30f228c2a4cf11e6a428b346731641d21ebc8b91c262a0a7947e2487e76d16729ec0ddc43777473179df4bc88b996a9f275c2927e3b8427d388a9db4784d02dd9e22236fcd42eab7946751b5fb87b2849d083eea2abcde8ad8edacc38a2e4ea43708719edb523f1bd0bddf1ab72bbbd7dde33703582a6af5a7910b93822aef0b13e10552bd00b9455044a3c4437efdb16bda6cab3bf5056c92ad97de90b222cf5df7775433864ad9f96a342f177051e1a06b2b007febfb541f7e168c6f2bdaeebfe06369995835cdd4905909700325542e0ef4dff97731b95f4537efcb5454b761e61681aeb754461ebc007e4243c9fd37c02830de910173bbbec4aaa7d6c576dd295ef7ed6e0c5a207916fe609835c307c48fdd9ff19a4c59089c2eaaf3770d0d5d1bad43b713339beb39257c3c3a3438101492985ab63919747affba8556cecc897466f227bee4c7e0fbd1a2dbca4a9a4ff04933ed94321691a56c03ad38dc3f4c053e9d0a69101371156ba63cd3b6ccd2f9784bdcf1e5467275b5335e66cb866b0713c7932e88774a1090f472feea67db02adf425f5feff3a992f8d4598f0124553305e3033ce0d94d11ecb2762d3ece997ad68e635c2f12def4b0efbff7a7ebff9815934b87edbe73fd40648141ebc743a8dbfcb8b8d36eb95ae85faec4083d11b21741bf9a14941a5311c1aa5432ac927e7894fc8536b8a86459583dcf4264d1550470a972ad1a10443f4f01d2a096ab8901d918fca71c949bacd8f568539c95794c0bec407e58feecd283a3a022c0f265c500a596f8a8dbb67cab901ca09b58df6815edf8b0a01b286a79469326c02fce470a5524eb8973aeb193ae2963b8d160add97fd3e250f1daae7581abfdc040f4f1e6946058fbd7fcd0d1b48c5bd80b4531db8a9fae041b47b12342192c76503fb177a147070071a43371597a20f5190c7de69fe426dc98fd9b8925c722e87f3a60b1e86e96abdfc5f46daa000a6fcdb1d076f555221e469065131c28400379d039c7df6a0473374bdeebdcba2e09b50be943ad31ee4f1017874aa4f02c80917b6662d361e25c758931b184e54616af885d7cdf915e683d059a8491fb77105192c831b7c6a071a62f24856f8b911155612e5074c1183eef04aa457013188328f2d89641443db1bfb4dfe10e3cf4034174fb9e996e1e456a10fcec7029642556adac4c3c75e9526f33032ff5c4f1f9a811dbc7ce014e72212224cc44e3c1b84d585790a2064be6ebd692b844052b440e06cc9cc1edc2365645e157f186af874f21f494cbf779d113932414ad35b2e708812efca449161ced4b66947dbaa8688bff036de1186195024662f820904e6232c28c7feeeaeba193089b5803850de7d1c8d1674a3ceac5e0480b9a4adc60abcd130c369d54b645ad9d47bb60e3fdec9066dfdc8ed89c0bc2f1eb9a4b350fb1cbf7a841e7cc846bec49d01396f14140f2b51c12478f6794025c6a4d2bbc648966e7f11a883a90e42bd7a8efb126b4202dfec1b7d39f5631d981c1b8341d2f2bf80eb6d39ea2334d9d7c782ffc6ef0b4ca8f1d57db690d3fa6f6c31f8aa86baa12f64230bced05f3d67c5965960c5d433ed4b110e2960e3b5f8a7eec5714f690a4cb81d58f9a81fdc29fff11842e7fb77330475903a30348ff325f526d3cc6d8d2634cf03ec6cc7f8cb9a12b30071c2b1d43724522d816cda5d688a9bd121a02b2700f4f03efce78660b913d067a2c421ed61759172e8e715b799d02fe1a6404aeae38b1536c2f288a97e6292ea8e88aedaa182d794e82505b2192ea8925ad365b76957dd90eb0e0e5753001187032e0d7a105e484e97485247846a18f9902d475fd08208c222995460737424237eb0245b2dac20056b2c203f639976870433ab93f98a0730d8df2d68201c0e724a3be9d3ac8d010012ae91205e55b4c3fe5e17d6ef773bf6a7fb3b81921bf26569e43647d942c5dafa8494b47293ee0ec1be9c798400a9e71abde0f8fad24dcf478a8dc78c3b2be7fe73c0d92351fbb7ab22b93261878a2d20458dc5bd1e4db836f7d40d9a94c59903dbd333f342fbcbe64b223aa32bb0a9dd868ee88334befbca0dc322fccf5d7e82bcd454c79ab0900a87fec148826d026c9e8427307ce54691afc63c1e510c442c0c252c0a85c2fb62771c1aea1fc8a3ed18a68665f0eafafaa28de9d4af8b44974577bf07658125d8152279e77e6940d2849ba028e3192aa060b91967ed8b0e3cb7c8435e25f42a525514787797a0f9488365cac30cabfd6a7730841a39c041d770cd2b4a677f3255fced55eb161581548f5be12af1f624ad28167f45d65b8f45e3672ec607cfc6aeccfa44f75eb3cef3d3fb761b1897937671b3c0ec3602a5552f6bacfc49f07e855a69b2682428f1d6d6228b1bfa13dfac81a635fe6b8944d429a9eb856917c65d81c7bf9289d884fd7b3ff77d1e47ec5554ee2b5ab05ba31bbd7de641799538e3267abee122b0db05494882488a0f5153a46e19085282da802ee4000ed613c05d0eed46056ddba5f8359d108a8b6afdba1adbaf128615f7cb94797fea37db35b1dd2efa5478b74defab6d106ddd9486ad50075d21c4c8518fbdbdfdb22d7bd82e1795be309c15267d484ea1407d49dd1fce736163e8e404ea21509ffc2aac2682700d3f03af18116db00e614d02f511b8236893c2160406fe484be82dd0d4bea6d351ff1dcaeaee9107458a6f494f49ec85129a55863d476eedf2c1f4f6f8fac858ba0b1f2fdf85740aff082e0eeefd8d0135980b7fbdb5cdfd1239f0ed3928e18e5a2a15084877687acd55882cd7b00133d6e0cf3378793dfaba1156ead92abf43d3b3d0ac60df35d49941acc9b8af57f4979afe1c97641876de74969dadf40a75c342272aff4f7e8e89d90b1a86a769773dd1b1f1cf978d6a6d81fb45b4cf9320da4db5ea7a871417e09349eca58819338ab8e9d77aa05a188f480bd1b9c04356cec00634ade0c79bdc6c1f9b21456408b85ae5ee289ca2aacc0054e7729ac007da0381e530fdd1ac322d660d3b9c20adc926c8e4a6105dae007abaf8f9adf6e9d33a9c6698000874cf426ecf057d683e96c293800658642bcc0eb3b52d75f687c90a4f3e8ea629e4cddbe1236c431ca86a780bfca3b933d4aa48f42ec0138575d82defb49059a7b3314d55d27e12cc839020ca87d48ee3f229634a9000fe6af6dd391901375c38258a7b6857186eab4338c9dc1981a0236d9e6b95c6543111eead0417d0e6760e39c67270db2a025cdd8c679b5c26641dcb6205c5ba3268e2603ba768d979f25300c6b48428459cc3be0ecce1bae0109f11a9c5089890ea8833a7e01fde3cdb02eb3e96d10c32f397dceb4c867023cba88bfde8b31d47d3531259c58eeb53d792a92a96a1b6ce687243297ee8d6fef416187d614f8dde69a1e8125d194134d31dd69b7e99b1aed8cf5b3883d921d4147494f0e2c32337fb6c7e06a382eb63bd5d0dbb2ec56de21131bfa96090230a2b65a06f51f904b1e641b447d88c2b5708d903df88b78c8c5e72cf460f5fb853d0c11b775073a3403dd3238b54be5ac68f231d5f9ac2f5b081c1a711d7534ea60fa7ad451b87dd411db71d08a6de8a652b6bfc704def0bd71f8d667655c7400e2a9c547bceacc407148351a1d590a1458a06d227f9668cb0086e0edd641e0341aab95fe589eb0af56ca584bec652251dc516049d0a6ad911fdb3759a055c3d27058e8fe09ac603be6db2cfb09dd7f34851bea07f85dc14ddc4775073a1602c56e347e922fbde2d43c20a5c9c3105b2d4074d6c9b8df87f2a423929c0e1930b90a7bf8a9d15fe63976ba2978081837e865097027af591f3ef90d84f5a677b3e6ce6a46de678297a6c4ee05544fc8746830d8a3c2d5507d378409ba71112763f9c91e012b9fd045c07a34123af93284db27b062245fefdb0658b648025a3c97868ca6484f848096465abc557129bfc0d092b979a59701d223805c029cb5e2962a10f5786c19d0ae0d695570ca78ad4196e344d4bf81f0054bbc50863d575bfd523144cb38bed483fc796abaf499d236b804948ea1b4113dff85daa0effc66ffa1b6e2199d62ebeac59a1952ae5cea2d979f6a39e6d3671cd5d93fa70835abb6ff627ea22f76a9d1f1551a57e74144948b6117102ce863174786fcc44c46988273d407dccd1d78de0ec12844e309a4d834f5fa4693d1371b039c8de2b0b5576d9c6ca0fad6548e5390e0b25148e09211f4f932f76cce0bc0743004112343665c09b70a1412bcf588259d22938283de7fe7219f2213d5bc068f3edd79569d7f6dee2b79aea268c14cf428ab2a814bb0fe9877e44493dd430a581dcb3f82815388db6c81d358dee0e7e63407d38272d22587a0be1c40f298393727afd82f1c7518dadd5699ce3eb991e1ac9f6b6f28c97fad056b4b5030c85f04eaa82ba1751cd0072eb7cd334cfceb165b25d36648d2d05efa96ca65462be7cc4bfd676f6e28d91b848abbfb002e14106aa84591b40f8a7e95b55aff318f2d119ca0df3223a50ffc99085dfcde319481e33b98d1363f27cff8af0e02e83ee5d4cc84c6a711bd93ed5c706966c15ab6c783416efc3b009ff410aa494d0cd220768306c59b48fd82152100fd48821f1d58b2663c006c159619be166d6b17aa5658202416ed0cf4ac009571917a5289c5ffcb1a81108dfe0ce74352f810d0e8e85d2ab5f8a5c1cbbfa81d626f9f037ead18682f0b57f06b25b8969c605e2ad0cf3cd47140a4f31401022e6bb6527d5d29a9d22c2b7d5478917d2cb4c5795dbda6a1e209f5bd093e3f144a8bd74e4adb26a5974896ab9ac3679c153296e7163c17a01fba43c24f9f14bca35b0afe1ff80987e63686800e7ddc0642585b70881bbb9ac08c9d2d3ec582b10e003ce23588f7562a84e5e123dc0464668ff4319733a1781b393448719f680b1ab681a8e466836442697a346fd15efc6915e2c7a88df35189c810f2c9ca092b78693db0c0ec46f131b96d22652e1afc72ddc41d707c0e02ab8d21bc08fdcb22f1af31adbf1233196ca9a0ff9f01a885fb2ba9173903e76e7b30c027066d1dec811962235ea11c54beff27fb3d20c3d761f4d8c9a8a4cb7003090eca25cc2487076fdf7a790bec3c34441f7c8e27fa69585c95a2296cfd332304c84405dff5a268984e66de841aba819a3b2691111a2426d5ed97f2805822baff47b5d8c8a42fb7ee3fab318aa083a3c5baa1443ab411b82728e4b5eaddfc3e56e7cf5406c31a04414cebaeb849b5ea260d21981c68c3fa0fc5babf1f22fb957da35306b83dd2dbdf4ee12d79a591ef37a0a09c724a8ef568227a5542ad29eca8a4a15ee8a0793d0cfd223eb53864a00fadccf33b2b68752e34eb35a534a974bc652c7a06fe6ff7e35cf4ab731cd03a426be877693d573ad50192c4c146966cb251c33ddf18182104ec50c62f43478f488135ff1e66eecc834be67c6d82f3c42a704d97d6f18c373f8f64da046ac39ae2f9b32cef24bee8742280822a4348d46bc6ab38afc30cc55852b7d57238196c2c2708d59518bc93fcccd6a537f221b423e8540b42f2f4203e95029337601d6d128dc50f3f57ef4222ef01483d1c39ccdad9732027981078b4f53ba28b1e212782759c05fc57305c6053acf2498bb5036b3a3be65e7383b280ffd02921fc9d2010b337cc75d145230364623690acb8b6bbdd3069bfc85225848875ca7c5ca0d1ee7d44820ddcc569caf03d06bc688ad242d2506e08a87e189259e430f920292db23874416f49e87e9356c1c04f35303b4c49a2c8fa418205300aaa623a2f1f611ce4a21e9b7ce01f88de342e7cf8b2f1881284e61c410928bdba5d321c352c69cfc07e5ad32136140374aac68dc823b5de039a848597316fae55772e99734d3c8d466b646843f71cc106094dc431b9ebe02458f12a86036707d46c5d11daa081030cf79cd435c0def8d67477811005aa3da0d9420070ab21fe82810e40dac0e66f3da5d854ff6d46dad61172213ed82025322c89716fbd6843ae2ec92d76c04f70dbc57e337bc8e9c3a0b7d9c8b33e8277aa662b718cdbd6d45b58f9aea8a709554ca318031c39c208524f94c4965b8faac395d3e0c57a050bb3c43de365e43e8c98f0d4814a2693c4f70532988f38f6f15c2af9d83716c986a808098bbd720529fc7e77fa4111715f0a447bff682eb508f94e2b52c5af7ee9c32c6e12c6954458dac76dd056cd11f1137d0d3d3273415549599fab87e587269a8930b64ad5b6e41314d224859200f71d4575d5644b0d4e177871ae69c96ee8ef0efa7eeabae07100ca06b8b8b16384d26e30feb1cbb70fed1b454f9c042a0ad3b643fbe4ee9aa7386a7e34c9b0fe6d24c5bdcea023811160155f18e08cd5f9ec952fb00195defcd240d1883ac80126b92eee9714be3dbf5f2e178e15c2ae02e7b7720196e694f0ab2fd533eb17bbcc8afb0ca38cfb46dcdb9eccaaf7d9509952b5a9d669a64b68a09b39ffd66984f60564125abd1c39cd1ca3dd1c872123784055cc3c13f8db0bdaaf8a3c32911292d239614fb90514cbd8a6b1a4aa62769694ff96ef63800a2d80f9c36cebe9073e9e32971e949a226bca936dcba6ec2d8f649a6005b0a4615822d1c014d26cac4eb7b914f3dd9f6c731aa0a9a43a868e7b8b8dd00eaa382c288222feaf582f10258835fb953c3b2aed9f68dc502d7d11228e3ff9e9f0630110953bb75d76106755a15e5b6404fd7e40229d8a791e5e780743f867613f8550c8f388028fab88e0367f3918411326ff7cf60cf16a292eb967ac16c39bb60284640c6c364ef4c7ae80b4b4b75dec0c0bd6e83d3b2c02ffc0cc25e7f5047864b2c053bbc3d93c5988d6b0f8fab067fbd5847e5417e207fc2a73d0c3594581e33d34b41767f27565fd547d625c3731b15f8072e80748329dc693470c0a41ce9f44fe237b1ab7f43785dcac3d9a7f2b8c12e2bbbdcfeaa921fd64f531135048805c89b563bbb86ff3002239ce50c43d82e3b1f3adb4cbee6f740e21f1d5dd8a37abd45e16a18bfbc15d1dfba0a1f6f61156ca5feea7565629fb73f0d672af52e20d910ddd942c1500a48b345bc044289de4a35be0ec4c1eb320301312d47bb4513b250c4d48a293f4e180f45970b9a38a814265f2012f3a0043849ef70c988623204da14a6151be5d25280a97ecce332eb90cd0d62f77cd5b6b4976464257f9ac6f6cc7039e9df2d27f735a49d473be0c15263035643e163f4d6a096e9a82648ba67671fab06eae47c6ea8d71c6a9816a9ea6a1cd0ad3a6cce3dae9f5e410609c9f00691ce53c421a6cced710b4d8250c9f3ec47c52dac9284b399d7a6fd391670ba4e8c793b8bc81a21950d600758acfbdf0ab7adabeec6c500c92e2518f3edb7a354a203421828c8938a30e4894a55224bd354ea488fce6f1c517695440a2476189040d91f50903f4171cbd973652c45b5359441436c5d2d6e17a26a98aee88ac9835b5290544a311a8e29eaa4b0f2b82e2625792fce6e3cf107beeafc1830d395d3e2c9cb014a3a6fa31383c825bc80058525b7ec551cc9b18ea3f857d362cb459c2365ad4906df9d4b5e6edf77cc8a6bb67501474ea62bbe605941b9693a0b85d06d4628a63cb03b066fd85301311b49ad29fd7ba785324613c6c33bfb842dee7e040d84af5b4274886c5858d04733418145fa0525452c6b0bba792fe6c6bd3b918c831b1192f447a6692a1a8f558d379238454c42445db84b4624ef50c226b0819c4d8e7baa17253a628c4aba8e5828a43b72953eb76b03454c77744f09356b8ac3cd0b17eeec4164a472b11c45ef87e2ff8d1ecd7cee8efcbf497c2f0a4990f895254154d1f108864220d4cc138ee34e3481c7732ddce360742b7cd051b296c923d8265f318cdf4fd1eb0c58419e3d63089098e13c18b416ca6df71bc7242bb493019c57f31b9a8581f060f1a7b5d05e701851acda96057e4aa7b0b46ebd1d990681b8868fea2062ddf7d589bdfdfa65c6bb2ed633e6b9628610a48cb4b0b0a0736506f43e7e6a8b20cd92eaae891f0116e49d129ea1a50582fc5edd11b9e838b1c7ce46b0f2533e65e868905639e2917f4c7bc3b1893d30a3d22dde63fa7a12b9b9ebe3e387289ab8c8ab77185f2a23ba78856eec2dc750d5805136cbce58073a8411586b8c504df882638a00dbc37b8a1b3c86a5a2011edbb3c55837c204462921e6761f29a3f7692b30bca87818075b8e01f718b3f6713fdff1e24d13689a186bf3a894068c2bec263bca81840830ac160cff60d2c9c06428203c66114900cee8d749c977130c5c6ed9b09353dc6464faa0cbdb3473de9c708183f8824d29717c19f1c8d72eff50df6ca32444bd1dc96c560a4be7423689ff90416237523280c9f76768e83fe8769db6151bcc0e7090e839d6c2af18f5ce5bc8256f71a42d9d33871c16ae3ddd702ea185f7640cb16f510bac41f340a3b0b1324a7c3fd2a0ebaca13774319057215b80a34002f1be3403442243541499dc5adedfdd7b4cce7a2b8bf4485c91ad4559f28b8fcd036de3fa01fd146b9e117f26c8e14b747a16bf962eb9c5091d6d554c32e8067f152ac1cba9f1485aaee122a6bb25bf9c0a47f40a0426e25330cc198393561f0e8a1ea903092486006ff404ca9dde6c14a0c55eff5af2a9ee7934920dfb37636a7e31c5c0db6364049137b312c130904be3b8831e337630d49946695e00ed1dbb538661b6b72783e498706c503038b0913ed2dab5e2d755f3bc76dccfb5cfdf77b2cbdd7bc3f45c08d79266cd6370368389fe2732e45aba0de160bd0569285ce366cf75e162910359c18b55a095081be429cf8611649c3cbe2c688d84e2306c7c368c176a2b97b240c198ff001b5a37b417c0680d2c1ee72e290f45484a1fbaea21bb3988490139d1ee1663d90ccf6539982ba355a60bbbdfab135e65ac56368a35b317da698fc3201b477f92074c1287fcfa7d3b6a05395d0352e0e4e6625ab19826b95e8e275b3d33dcef458060adb000d6cd1b5d7891a552926a98859122c8f978b039b02217608182eb3a904fd121ce88c7f404edbd2591eb930419f563f2e40b9654602bd3ba5fe9fab4a9d3cc22bda12dd730bc37eec4a1a34bcfdf46537c7bb7bc3a18870093c3081fdb744801c787c7cc81a2566b54b4eef164f7c7186bc2d5c1a82200b53bbaec6d713c0a609e599c2277998aa9544d03f0bdcced1f27fed16b89a036015b46d1fbf8b5ed72f0ec4e2e6cfe9cbc7130e8076216ccf5edbf43d446b95f792159c934e7f921aece4c54093840bd1523bc0f9b48af4ed8b9ba9532b59a87edfd2d29c481218f812bb6e150ee079c2de465330303affbeb5ee81fc179867296354d3914f4bb586a5a4f999d210e87d081244493ae99d890a78ec078800409c5662e90d3f32cba76144793e8ccbcbcabed2c09b89c4b801f1b2d40ba9674147111474b263535032b38a4d490a63f357ed1cd8f60a0eeceda65a4660d3faa8d6c4dc307d0ef6513cf666917e09d596250d66b6a097555afa011055996dab7e235f0be0e4f92d6f20939ae0069e683a648a9843cf2c36cdfd229ac895912d60237a38d9d2daaf2263d816c1a7fb7ff537f65d674804d1aa10decf9a1dbc84a68c62058039ef36b8343162bc64b53d830542ec922269aa0d2a5e1e5dca9cc13a5236b9c005136984b98749cbb23b0268d0b77d79111d464f96c96ed4f9402294381b407bdfafb0d3d6fbf9dc195fa2586113b1bcfb8a0d1d5835686f4c4dfbcca8206eb0570aedb9fbe875bcc3894e2c9142c5f935a6c9826e06f14bf3b8d9541e19d131c8abf66c374bd0cf242023f2cc4c991234fe8dc8b1d93d590b8f4d04afd45d2f37cb85faa2c6e48f2edbe814cb8ec60a53a9d6f242d44fb1ac836af01aba474f1a993cd1374ee78f3bdebe77c38fb940fa5c910faf054652b8deb08ebe9667caf7bec39e1213e14fdcfc747f7e0bc5a6ca499182d1f2aa422ead7d54ef8fdae80542e42dbe43dd9fed95231507c8df35818f42f8a83eb906b62f31a4d403502c732c6220d5ed4518b34068dfceeced0adf8c3f452964dac57af708b3f13940a6c798aab1898c022c8c1ef029e1728b110ce5aa6d6080ea2626b395afd919ecafd927a59c30e2ec6a853b0850936814534e91bcaf758d7428d4e6a1a351f00a76a818ac247acb6f22f234849534ada4d7538e97774afc084cac23080c7b35b90560bc50fd2a2cb772a8ccbc36712bdbdb09bbf1043e4525645ce8374854ef9c15e97eebeb1e2661d7bba386686a327448ca9802d6e72fc08758ce7594a69c68e3ba0a325843a0f2e702c2af3c28c0ad1707208f403ab354ace88c285785448bbf9cc32d1c9d55fb86d7dd4502ab7108b84289c3b69cff7099b2e105eff6fe84a324cf2e187a0d33f566074b628f810abd2187c0d13c2e31dda32fdbe3c3c2e4e6119b112ecc49dd3e4124130a930a534826b09d2d1f24064155d0616187e8fa74b09cf9cb86cc4a035c288af37bb9754fd1bf8a20aaf223f2de0d191b4cd234ef4a1a68271ab3fc76529a5f7baba33a97f7b7f0bb534bb8093dbad3100247e7c29faad1bcca1bdb7879114316957a11005a22c6df0a19b23740ed989c8d21603ed62feaedc105756e0c583fd38dee32d859e3048609c0deb19d3bfef629f0449d735c8a62dae5ad63eb4a82312ea41ef68d6a5b336dd7c0456adf32ed73375cde25c895554ecf14d32d2e07091ac84e2a67b7cb029f439e0894a8de8f0f6d86c98b0e3c541cc6f61304de1c7d599f6777fd9bdcf9901289284c341ed8ceaff736a2cc18fcf4bca07bcb4b2badf0bce5b51b61c4c1aa148210089058cb19254db39e9351ed19c95d25716e50230077d95ba4fb25b6be04b3771c6ea66f0c2b57068afb8d2e96a53383ce460719e17a0fdd323c951348223f093580a0b160b78a8c505ea3a673769a8817a63ce3d81bd2b241db1e8fb2486a113393cb7317523c5937154ad1fca73f50fe80573e1073e581fb81b46e195843ec72d333fad7624fe8646a3ca6b9e67bee5f398d6b8d314ff34340ec33e98a47274fd18b9e4c8ef76f8b69258028b369a38fa7baa386c55e9f17290c7c2dee0d343b6718133945c7d5df19d27080bf11083a14511dc15fcdd5df9d89b2efcc117bc56592fb6dfa56ec8dee0e855dacb06e981709d8582050fb024fb647271eed7249ca70279888ae4b3eb76814c37642f340a55c73711a4ea6e07dc0f384d6242597a9df63dff03bacc14d407e793c787f8142e7dd6eaff07a6c6103a51391dc67258bc4d7f63cb7bf9d51c8865b0a6bb2e9e6e4cd9fb16a983eef4fcd336f2dc9a03efee26049a359e3b7dddbf6bd3150c1fc5110ca21b5f9207b5107083ccae066b29922a6392771c60f09dc187964bea81538b3d5684bd17fdc274375c64ae05a9dd5c96ea12745c6865896a278db43e6b7c21c8b16d8cd65573337a46ceb265a811531a1a5cbace469acba49ee9f8237a1155136204518f79e16c7ca2776c9ddb2b2965eac40b3513e7e49f1788996308f3ac6b486999f90d37c745ba61fdc9078e9ccbd2baa50e528727be8e46fd799535216e3eb05310d8d285f8d38bc95efbf582a4ccd7f32ac39aa3eba2fa73417fbe394a1c7245fcaa4e6d5654b76da99d105fb87a7eef2483f061930c62fc5b57df9051332f8eca0e1f2fe3477b39a238425bcf2caae5e58a8696d1ba4f2f810c42fd0df42942f354ab29400631616ce45fe05b0159a6919e988a3113a70209699ee584dec44427ed9140d272e432b8e3ff4fa6e434f0b3e441125ea0dad87cb7708cb61aab1f2db248fd6085af0e178d0e9e4052c83908b8a6b4c2671115a2221279a1fdbe521e275ec0bfe3db485000e2212b740373097832d4ea74b05f32f24212094770abc040e2b07f0a52a5bfd0960e8d242dfd8b69eb75818476207dcc7a499044b9cf30a403bc5402b291dc95aa393fbf1939dff4e666886c7b9e82f2cf8104533af07698cc251b051de93b75aa20d40fd86a795a74cd2d7c5a639de7002b3e341841288d7c8644c07948862fd996ef8532f079701e7fb149295879381937f21c6484a67303a1edcd5d06e4b226523ad4f20259efff494ea3aaeb4845aed7d28f220fe26dd086e9d626cecef7b78c68495c82d9b4a2e25b97b2037d04f263f3463843cfec28e0f62bd836ca128b758cc6a27cca648509918cd50288a68096c9996c41395ab021426ce4e55983f2590e5cbd78cd72dc94c574342ab54a187a30f69c65062ceb263e0bc194a14c9fb2fae5b7fa4bca0ff3b8f357fb2324abafa84ced54af7b0e7eebdd5c331946cefadfee08d4a89103a719d6c66e60e77b66c91354a33328d808c2cbae0c28a7715c4647dfc6dcdccf02b07ea1599e7f2e6d97a1e98ebae9bba945a98bc330611c1bae0bcc430ce463e737ec2a42d39163e13d40b7ae36c2c4e7c16f59e7242623e68c3846fddf17c4681d6cbdb4914d3ac5b48ab4bea9d0314cec143676ec0429eb995fe9cf24f7440e06aa460d8b5d3e70c1ddc97de416cd3c21c6dd7dae151ef6c86842d312cf9deee639d76e0112ee6a0bd793f7137b06e051b320bfea9d0bd7993d9768fa24fa1292c91db75641f99917184d65b80783ab4950e3624027980319a6c68e68db9e82f58f810fb899c23f7508bd79d80d4f08d81afadfa964186482d709618aa7b42f4b9acea4350614c57f0ea55b1b5c91b93c69ec9a570450641042a9345b64dcec55fb2d9f84e522da389a799378f00b518d1403e6e14c1327a1472785a1d05341ef16eb7ad9355bbd46f01b9177d35efe429a9db8fc84ecfcf57c989715ee2c243ba8c0ffe47ce142873de1fc8ccac50bcdb224dd0114fcbfa2424964be7e0948b29444a7b9ac17b118420326fa1ddd3ded4e21bba3a747631ac9333accb459c5f703b764fb26961671719c5e71d32b57cbd053aa42baa0d5356b18f4d954234aeeb08d109bd0ed2cfb2ca5480b1af8db089d002079c57e70a26536a801cc68df0b0651e9160f44c2148b6bb40be23714eb454b5940f509dcd358f4ff6ef8bb03980b25159b713679366e550254c237099bcf98bd0a110d31ca7a4b000c58c55ad3738489557566bc4e569ee2b0045a9a003c786656022b0facb5c59f7d112b8d4f0b6c357d53d4e1bdd98ec85893cdcefc34305cb6b42fdf4f6d10a30f4bc4f024911d24b3f3e05a306bfbdda7787636bdf074a589b8703973c79fec9329f9e79a2fcd3b29e30fedefe1a3f0f073c7baee2b3dbec6844dce34ccdf6f09592d27b7a9bda760e173c2828b6bb59b2c63fc2e1020fa188acb67b9cd5df3ea452ae7161e66a7eb738ab8bdc38354b374ebd11dc38b9274f3f59f289334f4a7fca580f722de12698a4baccf58f703856ff3d50b2ac4519999b146d7bb3b5ed1ece6abf0794b616381ff7f5db039556f1f11ff171577bfba0442d76ff112e2ec4612d69c60ce2a3445983fa88278b27796c49f349a2295a90a9775fdfee7069f83d481f27ce58ed771667b5b71b2ecc03c2d2c8d9c1e59f9cf5a4e9d3c99e7cf67489a71ef72a2ecc78ddec87fbf5a171f51de1e3bee6768b1b71109db442c8dbd56fb7385667668cb6036842cee34c7d3b8ffb3ae4c64ed7653b770f002117f7b71b09c9df5e9ffde17c6d1fb0d44e3ce802ea2c9e6c5940d615b5c5117cbca8c951d0c41dcb618e02796fe1cd14d441e7263b3defa7aef2704bdecf20bd2d7b5ccd7c088cd98e80f7d589342ed0d627ce7f4871ce1ff0e8cb504a85600c49c4842122d66c33eba516d96ea12691dd3ba406ae06a50618963d94fd03b3ec18c3eebdd94318063786ad956959f6b12c0cbbd86fd81b59863f5917baf4c78dae656536db76aefe5a0e63512814c258c66e7d06b36c76163afc15ea3ecfba4d7f206db35d9154c3fefa0dabe50f2963339a7ed6a41ad9b1cf64d8cc117eb079e2ca80892fdcf440c90e96c842a12c44b350280b651acb8e330d8fe9db29e1c4b003ac041b9c08510330d0200a43be50620b331043065348e2648818704d80c109112fe0a8a0735202285ca059d9baae0bf410c6eefd6cf7822c50b6acac6db66d490cba952d4cdbb814efbab63c12793ca8a4ec6b6eb5e66c755f66adb59bb5ae7d6db6db658d1dab30fdd96c1b6b0b6c5fb66ee5aec8c2060afb8491169c1c05837806b31694a1580bb2d9471a969d1c05c31e7f627337f6e9b0ee8b1bc3585a18e38f44f85e16d67df8d8c951b087310ce5a4934ef402806c0cfb099682318c74ec249494940d632791f40280ec136c599f0ea43f0dd377746ea43fb94717fd7618f6b99f11f7510737261a7d2747798672a26deec677df7b4127bffabbfb62a2d108d3a4d06b46c71e1a1dfb0813e9ef667f4087bf35a27f7ef527d25f698b9e3dd47d3876081b9d9c60fa4339e15e831d9fc38e8fc9f0707028fa23a19c9c1c9f1cff043f45c73d2669128a26a5a46c87d2a3c0c6ce9d9ce8cfe6923489f41a949f9c84f293a39c68283d4e7f758ff4d59fe8d9bf9b8de92ff48f08ee4c7f36f7feeaefc70665b7feb91909bbc7b03809c18d1151fc1cc1022bac008c27ec68e2082ae8420a3c8033147046e0b8e841095382c4127c7044a6ae61a02dc3f8f76ef8f8311367d0e13390b69974b20df4c8cc9e74f58debca36fd653b11912e3407edd310edd312b2256eed93110d842f0cec6cfbd94c3adfa4b3afc618864d3adb86279d4967d2c136d083b7adcb6e6d269dac755967da0293ce2d2421959e13106ca0c707560970b00eb21364ead9c76af613c2d841a0dffb01dd8342b7304bd334b612fb60ad6397bf2e9c7d47760a64b7c9ae810c886569d0efbded3e0eec6c7b1bd8635dbb1ac6883cba955f0ffa5cd6e7fa743597f5e9b9bf8e42badabab59fe35b1bd82393fd90b1631a6b0bc01efb7bcb49912f4e8a6c933071b400a2a3838853afc045ac092e7610f6508661cf18638c413f962ff68935574566f792b0bea1635b15ab725f2e2016fe4884ddea3e78645b46f6f5fb0f46c1e140635b97b12d1f26fee79fca65dd4605a4b22d10a66259d675e9ac635f0cf4ecd74625e7d7ca71575139b7c4260a6992051d45b012601e1841b783b68f0c619fd7877cc88c62c716d337ac0efdd2a11c3abea1acde8428a6e125949efce81be96303c91d1b37b962f83043db41d63e1e242d5088fad8970cddde50566f425403fb3a8669e8434a897b482a5bb0869c1534e56404997adcd407e64175b9c04d6425b8a13b6e567aee61c70db5b81bba23efb06e5f300cdbac5fd70d9dc1b1af4b0b63fde1db93363d83f5b0af1d31eb7ad05b0505c13801a209ec083fb0b222b47fdb43d97aecacec970ee17b412010480bfd63e58c47ac911f6b72a625cedd077acef716fca5e96fcb254fc68b65815ca08f441fdb7d31dbfe2aed2bfff3b20f0a18638c317cdfd7755d97fd68d6a61de21a568d75336d4bfbbe34cb5a7babaf1e6ea60bdf4c3b3ebec7b46be0efeb7dad39dfef00b70fd67ff9707148a87ab6a57b8cd103fe01dcb957c04e640ac78c881cba8558ecec78ed46b7f1638721c433d7759f3fa37baf2bffbafdfc6e58fb745fe8a28f3a1e71e3c71aedf1a290bea15bd3309656b5db862f7b595af7e16ba06f2761bd00201b6f0f9d041a69d7b4d0b593b6d1683b29a417006483ec65e51baa21c18208122c86e0474bb5e78fa6dd8e0369a83db31a16d23ed147ff743ce20e8546227d4335edea6fc7becf214dd3a4ed35a06bdf40d70ed2ae0ec11ded3d64d8f805143a48d3df06c29a247a8d767c91767c0dd308e9afb463bc4d7fa1f790616fa31156390e0e8b8e43fac3ef21c30e6d9a341a6d22ddc3be209026ed0077488334dcf121d17c3f763edcb9b37e6f28ae97a5392564eaf190c3c20eec8456a422e9f102c913bcd856dea95dc844474b9c4eb9947038e901d972484f5e7ea6481c3a7a980084815baac87a310d33cc47813182c697768ca719c2d0f818bb0a54574716638c716e2a3325399ec298be763b6e28d0e9e8610236d29353e36049eb0a6b2d7b3beb295dece9961272f63c89c67a754c478648ae0863cf7f28a65e759ff51afcea730859b45b9dd67dbacf7abec437e63febd4adced6b8fcc437e63f1adf986e553685ba767cad23515945331dfb749a7bfc3dbdc20144cc2107c20280401deeaaf462cda50395f5d8d15f2d37c4dd89305d34a3424a95da79364ec569c57129334914f357f9bbdffa806c89324299186fa087ffc41a0340c38c0d2f8a9fba188304c9a6c82fd2a355902de72c5be4183662c81221b7a50ce9c92c3d0959e4f118f9f3b6dc5ef5493797f3713858c1c5b2eb742bef0274af78730a3aa4276353b88907e955fd01f1c1448e6bfd6a3857e2bdbd0525eda8cb902280dd3e07fec5af3a0776ab7d30518fe9d25c9117c8613504600e53b53766ded8519adfd0bb9e7656b5504e12ab3aa427e97bd0c183f464bc74dcb5aba1406e5028afad43cc0eae2e67a657efa1b41b4079885857124266c016130063085b2ea9dcfaf4192195e1510fc8163800c48b1fb36a21a74f0e0079fdb1ab685d0b3e76f563d31b93a589ec4f015bca0cfb80a460d7df5afa6ae9a3fa8b9b65c54c8a720165a99c92d2282fc54870279e4a54b7d33479ec8d1b4986487010c4fe6ce0388973644bc908298ad13c576a4e863bfeab544f9b932dd39e6ea74967c0be0c6c6ace4a0444645091e96dbc613a3c155ba858af04589728a50d7f4517ae9a366eb9e3d5452bae60c770734e117f802c329322fe006d00027a120470455e421bbee8029e23863832630731066151427ef9414ebcb328f28bf47e802cf22f2f7b2659b2bf88832d3f6fe5c6d895fe80cc2c6410150833e3d44db7d3aca838451508237f883844ac253685e36cbc15565779a550d3bb3aa53159364e62e484694e76ad2c31b60c8f060dd932a722166661a7683d57309902f260740455e1d1114c96a03e1fdf0ffa430d3835e03019c224054c8660e28126347c4155347c514d180b5455031155ad81884a5d5c54b5621aaa502d1aaa60553d706691c44a716945ecbd98062d5c4c8316b0a56e70b390c14e91decc0205598631103003224fd844b3300266d90996c2df5254756fab8df576d5ab2b37ac42882df67ddc765a58067b9de1c4bd5876bbeaf2520c2b217fc20a216c2bb584988d06087104e8c10da1676fad1bf3865508a1045ed71531f6f9d8d76229f5fa3b950c779ebe4a168285b1e1ae595585643dfbb3e18a9891df9b6b10a6a02c0aabbdc4362c8c92e27a5804855bce1596a9260acbd4434bef955866cae0e34e8504b71dbe154476c4b4aaa20347f67d554507a0d8d5edd555bc97cc53fecaab9575e3552a12c05f9dfdd9b0c40f3556e9fd60a2d4097b6badb676f616ee1c6fa8bea8531fe3b657576ba60e7fe01f906587c7dc1089153eb84a4c4064e35f13d860dfb9b18e41a8471cd844eeabfb62904ded1f2ffb05075a6b95c1b55a5ddcdc74e9a1de7fdcae3a0e441ba85bd886dc97fe0159a8f7305d6210b942c5156c8aab3d1167460f728ccc0f1f456274a092ec2f06c1c2263e2e0a6ccef7de0b597c2071f0bd252d60944550bbe54cafeb10c7488a65ae5fa7b0cc5543ca245becdac96dbb6a6faf7ad50eb2582b90d8764e6c6f6ddcd0085410d9f2bac576a53de95d9dcab9dac99d32555751a97a8691cc4dead43f6e535c8a4db23f1b7e6b0995071205b63a54b9b55e8f58e6b272cbd1b22cebea48d52d8d1191e1ab193af02ebda9c493abca7590657a75c8329ddbf0d353204cdcd3181d5644e620cca5b92910d99f0d7b3a84594cb7d7a5bf0c6c4b53b5a2a6490616664fc41ba055234e4f02409fedf032a8b0305a5984edaedb148e93dbd27b29f1b9b5a2ad64aa578fb8de1e238286109cb0f4522c637d8613d3b54908c1b6f55aebd9740262fc1839a7aa8bbbc257a955c435eac55ddc5aa7c4e7a02ee73980be75413ef01c403ae7397c74cc5ca1b229aaad6eee5e6c973d621b1d0d2272b517c43566e820cf0d9548b1b3b1dbdba96da8448a1b6c7b7bafed663c91f186489434d913db78c1b6974aa430625b38619f0f1bd32fd2c39bed68c01cb6d2bcb5d4d1a85d75dbd57fba204cd8579ce51605ad5d8c0e72853a0822d95436854c014a9fee451e804ac2ce86bb5e3796240de951cf4464af00256f7b32a400c6fe202d9560cf95990f2c54b9b586b67cdc72ae2884a190568f9b56b1da9011a527b78a6c91d46dadfacbc0dc5e60a1caf72de906331d6479f9ac488e27828508f86c4a5b9ebe2281c2167b4e939a8f9173764a54aa9760e1aeb2e59b13ce58b8218c51f2587a59d24cb435e22bfdc55d5994a5ba06fe06b4d6d2d74fbefacc5d8df93577d6769fbc3dedbeea06bc3d9c2e795ef8589727d694928f9dbcd9d0e6ee596be0a17d3cd53634d2e6ee1a78082f750d3c75ead634d52acbba19baa9b6b9d9d0e66ef86a0fb7d5249a6833b73cd435f2f5d21f10ba2da5bf1d941ea5acbea9b9b08d4b57a777df6a317d2ddddae666cb1a1e3e28124db499d46e12d5337286db1f9491585e489eb8c117bac8c202a748360d77c49d6428b7aab22c85fa726ced190f5b3bc4b1355d419035eda9fce3b443edf723edd32b85c9c95fdc359149e441b950fb47eb294adddb9f534d7d327a9417d9a291b45f2d547f24ad126119aa691a6fa360194abf902e4c4eaeb989bbe6ba95e102200057865f19dec970ed712311a7415a237c912d1b3d842cd3bfeda4098465363d7dfab64f9f36d234dddba26f7a12ddd04d47ff44df6ea7ae7e1391b65f0f6df736771169d334dee674c72382b1458f912fdbe345a293a65f0f1dca1691fe806cd13fd2741a3b6f5846a4a1f44893a6f136949e7e01e11a72dbdcad3d639aacdbb655b97a53015c153c935d154c83451a6eece256c13766184094d112e056d912ffc9d89acad6b46d6bbff8daa156c59e4a6a1f2ca34124e44f16d9f39f1cb2e78bc81623120a08237f0061784430e635dc00edd433a549140a282889fae019ed5493284de3d51e7209d9322f8958ad8b5bc6cf291e2c96d8d4e967869ed21e23f396a3adb742801a5832fd879e024d93f6cf6907eae2d6a86bd73e75507b8c0445265d0d3df54ff7d1838e31cd6786eab8447ada291d796ab856ebe6b632f04cb6b55b961b310db6b56b332e25f7f7636b9dbc31b776bab5599211d24dbb17d982b10c49fb8bf4b6a5ba7aadfb7408f042be4ea227d17b5bfb4743e9d1785b83fa457af134a41773a60bcca1e64c1811e4f96b7ba866fbf4f9d1e7eda8e391edd0b74ed4c58d799484b1a7d38e7ed441d1d623ee4dbf663a7da8fba6836e31cde7f4179e9934273ded54a7484f8342141b4a6143245a30d9d600b7ca1612842c9f8e2d814de5c399b93f0e6cd20c8d73cf602f6b8619268c443725ab25b1efc776bab7a9e336eda0f4b2db494d74621f0776959e763b3319e19c305017b7909ef64f17bb909ea63f1e36f5acfb7260fa8b5b6c1a3bbed24f9aca9d0130b1b5d69c39ee5e0098c810c91649a81899a15c99b5e64c6d28bda93f9b1205b26307e1ab55b32530fe6065e3203dfa0be134cd2b3d170abfec6df895367ca1b72246668ebbf7795547b17590de0ed2a3cf8e9023ce94a4094f64127be216283c357e11bbb0e1dcd9d3bf28c6868f5cc0edf3538e24620409c9519d94181ff11693ecaf46b13f1a04556dc8799b9a3c7b3a42cdbbcc23933a325de690b932bdd67964d69af3378fece932bb982bd3a77de919c66cd2c574a138397baa61895c7dfe9b614c2fba0986f4382ecf2175cf217bc2b939900ad9d3bf149719465c09f255ba86a2366617d29be6bbd8d3eb44750f23de303f7d8a01b68c015df02769ff652319f637c3d8d37157c195eab59bddedaa53dd9c5c9e397b7e4e5d335faa3a8a7af539e79cb4ab2a93ae99926044e0c29e389b4a2f36dd565eca880c8a08a517ba5048d44d5fa3171412d3256e2157e4ab17fbabb90917644b26fbab506c7931f657f7a4654e86840c8760c512fba344b67ca444644b11d96244b608991c17a9902da99e3b539c8aa826caaa5107c9009980abea62acaa22d4b25755a4aa8a5455915bab05829d4d7dcb590615b65a5b2d86b971161173005b6a0ac7519d0b2382013b1cb93a39811e7ae60e08060d8263e1dc7a05261b6e4bd9ac8bfb76710cc8425dd4499c9dc9edec7cb1e761c8d612edc015eab5e638c3096b6fbda6f2dbae6e9bd128953e323c4fdb707879b1211d627666a570ce8b6d9c404c7352bd89b46c576dc884179f1c38aa571f4c523f77b456833ad0435ddc5ba7bd02d99fdb5f58e60312038f38c6265b2a8565ec74415d657de21ab009334695097accdcb48e4acf6e33200d592896899118ae1a1341b6b79b6cc93a782055fd01a97e51d7a6ac5bfaaf9e4acf565b636f8909397f932da01884f4a8c79c98836b402ee4cc322f322db2cd8706c2a8700dc885d6054d0b9a8df4a853a0fab52910e853c3d2d541a06b85beaa3fdf64cb07c45654352b59d18ab26ea155a91a6bac35c6193090feeaaf7fba9aea70c74cede21b95bdc5556343643be309991d621b376020a406915e13e9e1dc6dffc526f6d6ea68a4499368c4081412477a54cc018c6210912d57c731a05704c248206414d20489d804b23c0c39f68801599ac49e4dfd8b3d718becead99f0c426cb26313b913002764d4f106ebf02a39c41bece175902dd72735c19678a881979e179e179efcb26b69d2338c97b9e2c2431551005b220aa0178fc4239706a64b1c325724848161841187702f5d4c1a33242188561d422ad1e38223b68c528600da30023804649142e48afc104ee6c8193b8041c89ca8233d190299338dd89fdc729641e4e454149521903990451e07b1b4c3d99f0df27245fe5575962539ee38b79cb91429e744a7a44cd4c3a7504a69a4943eaac83b0387df644b861d3e45b658ab45835116815daccbff00217f2995da72ae6eadb5b5c36ed555b73ad02dc4dbafebb287d633a8d2c0eec5e2b6f7e68e06be596e8b6f9ddb5642b8339cb0f7dec7c8ad8b3bfb0708f92b597cb3cfad1d0974b86389c6cb7462da8c86f43a1a205d9a6104cbf60420d0aeae594290606f1df65223ab8a981f251fd8b583d9e77ebaaaaaff4aa0dac10d80fa141a9664ea58655d2bbb58beb5a341a3bb4a9a958598f4d4af225bac7ef964ba442317215300dcbd48ef527264c31dbab5933b621b251a435432369cfd296047c40529ec4498c492aaa215ddb8b8b74d677fdb963f71623a8cb245061530655f9980ebb09253621bf4876aa76ec60eb68d705b79278c0449ec0f3e61cfcb6d29aa9b4ebbaad2f861860f4a3066fe9ad914d9a326e6526a1645f6a457801264995e8c5b2ecd5aab97b08cacd51121133dd5d14f2c335515ad2a959aa8254c33e0028c2b7a78681289c301363d841fcba6a52de99c01aa4098f912d504956308a35de90f5e51e170b183c54c4949492951213afb8b4394aa26aa10f28525c1ab644bb2cac4010a5210618b288650051746f0420a4d98e20660f4f484d145173d54e8081132e40948441945495cc18a24a01ce8081132e40a24982092c194734e2a271314ca2975840819520524847cb1048b234c24851252109189e21c61f6f4e814c1094aa044ac204a4294441428912c442e50a2858e9019a51c920429e3143265107560d4d9134e10ea6fd23510a2c02963242287ec18297710a58c31629e2c65949a3413bf096747501331ce090409391ede304ff5ec62d3442c2491f1965210fe9b97a20def0c78a86c9951473231b920b26ff58969bc0ce94919b2e5f3bc9fe372aeaa792f0036c83009472cf1a4a732258fb9abec48fe5262a68bc491215b608489b4542a554165509153f2e13d9900156ed63a298815612b9de09c1c1023295571f260c0ab5322d3e94e9778076b7167d35140521385272446e0d935e21af6665d1026aebdcd5d102630fc1dd325a64a6c83cab0c834d2dbea5236ecae9f6ec41543006ea1099e2fa430821c08010a3940b852bdea1a725f1a470e9e4cffdd242fd2b3ba0bd01cb383580607649111cb705bd2e78e02d9bde99243875c91bf708da92780830739467a320fc0015964121ee401267c238e1c158b1c233d990740161c7027460749ab4ac8a6a81f26c12171321778e6a43e6f21bdd83a849bdeb0148f1d241a6f53a469669e2a494ff68841e48a9c59913b6a89233d9923bd20a4d744e24821d2831141fea411b26692464098eaf2d20410a6ce539fe67cad1880234687ae47dc93ce213d29278d7486c208916317d29b8f5bd40f0719afb5e2c0e1e0ed1a80903f527d3ca96a1a6fba173b8fd2aeea5431a6db18bb982ed44e05615b8fb55435ab0e6e14eed407c9163b9bfe86a00e2343367d455f7d748ae37e321a9dd31ee3eba3806443226c88240a41b63db95517f7098712f777f2d0361a1dde93a80dcb5c947b4b75d72fe9de7b9b74ee9250ba1bba477f21712929a41b1c97c2a1dc96110a0a0acae73714ab2f0c8409755468abaa5322991045bdd2b48a7a5555a7b4194a7a54cce2167daafe42dddfd149f7f919cb8c34e9dedfeb1e4298937fdc47b7b7bb3eeab80e015e1875a4d1f3e8de4639a7479ac6db2827dd0ddd241e718bde83ee7b1ed9beff72ec11c592f10dfaab7bc42d3a00700d192eb5335d382ee74aed641f5d72644f97b40933c337e8ab4acb96f030813090a6ea7a446eaac97ea4d2322dabb42c53dd3664bac46a0700273a64c890213022c8f9bb3fa9b93a1006e5d3e50b200ce9d32da9e391ed935f94d1a9518430558d1a18202c8b0c5c43f49bb8e9adbdd886487f2717fdf38bfb09497f279cae3939179980308d76ee1f3c73529dd391477ab7a34eeae0a9a37470df535d0f21dc459f6cd4dcd13969c49e4ef4c7ddbe65a46bb88f3e5dae40b65cfd195dc333dc48a748afa236e2183020c89fcc9149c8969afa21b2e5d2ab68b499ea51db296f84f39eee5bdd56d72a3dd25f6953547a316e5515dad53174895dcc957a214cf64a7f56db94b676b5abbde240dda7bb89d40335d527fd046910c832510fc095e92c30c19e8e692a04d65fdd574b1de9c924a437513b3d9fd4d99307f7f43d9df64cb4674f7f21912a4de36d1ad28b5fb65555d5aaeb5763a47ab8a8b3506bce1c4751958414a4a68b0e95faf020674de40fc86e004f64126b6a4e9ad9726a68a91b639c535bb556371d250359280963fc6a9ea7d60e714f4bcfcc1da4a7c3928c27f59c39eef73caaa2ae27a2cd5e51954bcca1d23a7b6572d2a982c2920dabd810494f93ad9dbadc1528ab916d7ab9e7aeae20b2f5863c5704b1b540b2f3a65007183d5724d9f41a750d09129e254d36cc863c4b7676ce9e4e3f019abca8b44d96a4452c19cd080080200003150000201410898482a160248e22714e1f14800e8c904c6a4c1847b3204861148451c818448c21c610638c08ccc88c140104d022e38aaf729261e4de8c4e8a84bc33b5097d0d9358a24751c6c70acc36cddae0888cfe66af92ab588abbac0f7a6d9921231605c50dba6c657d03f0f9fc9c66fdbc1eddf000b52bcfb74348074efbedb5f5502860d92a41884580324a59b98cf2048629d9e379401f095e3cc36f3a2ecaf979cabf8ad5e9db6e2d29ed540b3d7c258d91bc91d30da9e75a0d50c909b9b009c474b43fc9fd44e080e62882352206c9ea9a95c06e798b66f42601922e3ce89d0b355c1f6d9bde0436b924114283286e23a0487a5db394079ca946fb0c64ee3275beb7b975a3b975a1c6da1f6f39c4c73eba4401ec54bae93ea50e8f2a397da7f5c9f292109fe1e79bb9e0a2c558e321f478b118c43d0b9942829181903705d4931370d7ac778404ea83475b99d782f79d7f183f1d884ceb38c225b778e61c805340eaf2f0a09629d107a62696ada395345298e2d50c1b2b7624424dd1c8980e68da748ba2251c3063432c72ce9e0d5923f20d6be5c3858986234f1de81d0d5a809e1102569b62dd6445fe21d6747ae9e17a6f3eaec13399f87331ff01717701e8cc6c7353e1e6a661028cfb4c0fa52302c4a6603608ca5d6e087947c6b0491dda2d37240487f42555f2fedea00acdd879b6bb010403ea0e1d22fbf7b705a67b62fb853f6d5ce39117a83facce9d4324f98107302df434341a24325815f8c6aac267f57db1ab1ba9e1e097920610dbddc7f83faefcf30aebed9dff0d10de203413b1faca7c1e8d668e89411f0582593a68dd55601ca3c7ded32f8684c40ea638d21a66b8ad7ab742689980a0f818400b3c1058c3787243b57e403ff326018aaa4e184b93c90c183a065a15cc375708c4b9ddd33aad1abc7c0455fa95127616c234994d75a67180216896a21b8a7122146407db7f7c5fcb68398cd16f54006453828b90cf1a83afd08f442eb0e951620751027a7cd84a81e8dd1a96cc298dd2f94b7a53cf6bc2136b560acb054e56c926deb05956e3264fa6f33310b0b46b4501a45a398ba741a0a406cfc3e643d958736466fe5f1f8621e3b2956fbbe80f1b993137f1618630e7c697d30b2f606edc5c60157afce451134ef0c224f3930e2082ed7bb0c0c6d424de866f9080aeb852d0260747758731f9b0332188f45bc5e25f25fe73a2739750e02d72045c9291b54bf1dc2d48901e9d77012a8eb1e34697951e16f524f0366cddc1635d6a242705d82be7015834fd918d7fece2b88f298f6799e65175fa8b51d09551aed61a0039b9c53b0bb2a68b02d5b628416a3e6778816f35c6cacf9426c54c3504f2fdca2048851f194b7a4a7230bf41ddd1b0c3c0adb1252a48a689ee4d9549fbf9b208dc4869019b9e8692f39ca330ef471651d34fc0f75c23d08be006355c26fc099ae2bab185366c23f8c5e0487d7c14edcad5a7f0816b43346e8279c653d4aac18688534e75f1078a197d79f70523a541ee84ddb499b0a710d42ad83ff27116821534e429680506e79b3b36e839211d9486c7365c3c3e9df7896a7426dc192acee3af81562cc7e7a90a02205698e887af34fffdf423eeeb8a788295c0cd63a127b8d46f5fecb56cd100c7cac313fffab052cf0368136e863d2fa77129501f878dc96349c92bcca4e30930815108f678203ff6107afaeb63852c460c43bab38d3f18ac69192bebf4159f2cd56a059c0b93087edeeedbbf471c9f0e8dabdcc46af670c19f15cc804a8dfda3a6149ca1d4c6657ff5aa7bc144bab8fd5b258e5b81f85660eff007a90bbda77f344540a932e7fec48b97014d23f15e4dbec3d1b69413cffaf36a682f26a1e9820879fe4b292bc154ed99de91a5bddc7832fcaf11aa750b264379f28e32294fd00fb8867e562e0c4b95ccca655411b2a3e3301b07989abf57f7adca3e5e311975035a4b401f95b8308c5ec896812e68c6f5227ad2a544285ec67229585dec1592a25da6683bbf2b83e65ad418998b3e5382b935518c5b995e56299956bb29aa41cdac16d9b04b51725c14be64051200705e2ec931e1ca5e483a7cc67827b3286216d35a86e2e50d675e9ae87f60e8318decfd4d7e1f076af913c36ac8d3787b6cc289752f657d9dac6292a67ada0f17ce5caff8071d62ea0bfa585975c359041f1eaced33769e552e20557504e0a8a315f78290baf381771e833ccb1ff375aa16aae19ceccd5485cf707bc420e23a1f5cc389bf7ebc2711dec329e17088f7891e88523faeb9153b74df38b8e2cecdcb87ae450d1e0eac7b09ebeb248aa834f5d07cf805a9e9e77bdc45d5da55eecef23942ac0b1178ffeb2ba3902a6c15d17a2799e8a35602044548bd8b5792517a292cc1aac63362b7ffd3ca738d3de1286ff9975f5af5a3523a216ac05a472a2f99b9dde12e88e8c66568090d567498748e2813422a4d5587ff4c73914767e282c8101ccfbd0312059cc9331104343370ee0fa008d46359a9faa8e6b82b102453dc31663ff9958c3f7087ec3cf1dda2007c463257235e440a12ccb2bc3b90c531a11bd1d8f166ab8cef9ba0ab9d66bc4bef0a6ae982d40987b2d043250a31472266f23edbb704e99bf1a6382540f5a1234e205ee063121023286b868038abb94156f59d083982a7aefa58148cb732426191dd91841ae70a186a851fe997b20f3c76d55712c496bf28e790fec73b08f0433a2bcb6b83b9238e0e353e4470c212e7edf33aaff1c5f33d12f9f990ed8e80487c998bcd742d13b223d7134999a69a8026b0939538fbf5ced5269fe9036163df5528b5fadd81c4aab5e0a82ddae44d3106337b923116419343245ff917c2c2e915001d97ab9ea985b7488112f8d05ece3335bdd65848ba928b18425d2ff2ac03524121df231132c54820ca2849b51b7bde6d1fcc346b714a17ed6aff1b3606e3853372226aa95931ae510f1cbfb5a5e62834a144b8fc856560cbea14e4de8011592d04d66e0f324bb67cb76e78cb941d080ab8f4d05ef1843e29ae9f9d6bdcb1e4c942ab59122e6d94e402796ef0015b5eb1508ddc613f39cad39a5e9827c7581cbcf4c1a295fb13f13260d0b5a5f9676cb74de9cfdcd7dcc4c2404b34307cf4eb7f82a344397379dbca05fe041a89541a47506dd8dd87bfceb801a7a8fcea7a972134704a0b90d8553b70773258243b5a8ab2e59b963bcce5398fbbe63d099e04bb73b1c6f168a4ed38653a6562a0738bf38d0b576fb868e51297fa447c1616890f46ff6abac9e5301106e23e9f80f7aa8f2c860546d5d819adc704727effe0dc5ae58e86084af31745a613ca8aba5be1856f8de0b8ece97621568be33994a1f366c65d0ebe8ddd9e1217ca0331aeb1b6a7d2d15442216cfe19a8860b3f890e3ba94e8089e791848d0e90e2c74061d0bbefbf521a4cf56eaf07c20f9164b18302b917afe37fc2d626bd594be66b933fafa8b431d90a491b493b4be4647f28d979f2a4415f56be17364b6b5042c913770c30566cefcfc7323ed694c43161cd948571445261db94bc56f376606d1f7502a396e52863543bfb2cafdb722e6e44b35f6918a74d126831763527be3f7f9a6d5b848a5c0a04078881ed25fefce4858ccf69d7f804ea62ed763840632531dddd757790d4cf125863668432d9af4a5984cacc99f15e762b51eeb0450a47b24a980ac97c904f362741e13e6aa4c6761a11d74d5f32a2a0949d9e84636c306aa39a5a3270c72fcaba6a1c887952d85a6f9b4ff43a1077f2011b5d3d66337f07c70f9e15679fe2acfa7a19f55a83be90bf519204bcb4620a74f6f2e3a0d83fe4bdd4fb2ac8fa563a32911be4f557c90c051ea5a6060003866da02fb9591f8f2ad6400be031206cd2d225ddcb78ca448eed0521212addec6ff37e6096563cac0bd2da751de2ea46cccec5803a5e92630a31e05db611b0b9c87144dca5247d05158d80e762597bf5340e18ef07cd43fecd778563aadf141728967d2cc75cac1289942b17abc50426b77518ab13ae6c2b2bca5a9934b172569e04daf59477fe201f3f6a58d6f79820991728232acf1b5a914e20e2b5a7c0cd5631243aea1128b02a3a1fe4d71941f40b7dbaebecc2246674a7da904b9eee8f4b8ea8f32b6a94de3005f7c09d6a01da4eeb30d4342d27501c88fcbb4c6792731ac2da5225bf4cedb8aa96fd39e244c3cc5032864654aafda31f8dd9810f8cad16c2f10aa1d81e606a80d402c6d06be8229aa3cb005c2b4ef1592d3fdc3c29c1fb375694867f1c01778fbea4e616a91b6a7a12b4a16b230d1acf456fe7951a1476dce7054d07d860d959ff2b164c4880daa7282f69bfc8aa18ade962724f20e852a7c8627bad2b95bcd13b85998f2684f651bc6e6cbf96d7b980e9c94579c39610c7e737c829229c26a5595b33a49576a8164d2f86ce9c99ccd741f69653f99dcaa1c22d23a36bb03003661eb65a9e8f01a4c4d660c86f0488cfd1827924899ebb3ee8c5efc07685a8f5f6eaa72b62d6d9bd71d60bb0c8ae1277c7b33ef0d8862a8f08b2dbb5c129b72a0585858a48484ae3c6b5b314bf2a9c189f395b1a82372aaf1cc4e801256d797639eb1730b6d29d4eb4425fa8ac3a623d398863134f6fcdb0b01389711e993901911b39bd66ee1996d84698fd453956a3653ed191d6628be79d26a99d2f60963b2324c1900ec280ac5e77dc90cc03b4e90e37897dd6801a006ab425f432de064a0d65c5cfa54501164a016d84f916f0ac386a0a58a0e9ccd5a0c3977231dba64768e5c5297d2828ba00575a47b6a4cd170b03efa887250cd4f8a237b2577f626c9c5c06cbfa9ba14310478162b2c614c4c8f389ddf9a430d15178d6a4be450f67f2b49771c523840e88ccc81d0855d4674c8094a8fbf2f55da938051415eff988e59ba82eace69b9f530cf2353e02fbcc2f847ae3588e17fded8b767c312a78c27f5aee59be1b75add7b6a4009a310aa182f5d4d1bd49fbca0f84573ae44b5d3677c015f49b546d731e1b974084eaadc19be7113b0d9977197ffa52282e5306f2c4aac30b662cee660a2fa75f4796621093561171d527d413faf1ede4574d02741153e14fa3115d439faacc66586e78144c600a3266bac89afa7030008eb623433fc4eee8410c600a3b28615287510cab3aa5f191acc52856a558b1a76c503506c928f919fd6f19f5e5209e2d86ca9798d95e6ba436af30d9ba80a212fdfd924c7ba0566ac05c23c10629b90d3601d07f216048d5714b74276b3d8f6e8aba3928cb05c3838ab8f0c00a758543144162babde664456b60e82e6421139cbdc6e7a986cbacfbc949d5d67194e7e9ebb893340830d1f970a57bcbe831ed49324c7e2ed5daffefe3f61743a2183ad325046fec09668b3e47139cab64215fe45ee36d1f8a877b18460851ed07d1084cd58a15d55a230ecce0616e7625dfc35d38312e50b3f8ce095252858ed8d6fa4c7e23ffb8005659588a19d90183d8cef15f784426fe72aea03f17e1b6eba46cfcd66c69b781b94b9ab190819cd030be6dc2e9becf2c9d9ea4750f32cfff588ea26eb13cda6eb2bc5995f2a136311799550438d90127a527a2ca379851f44da0b22026f8b9d066238bfa29b229e6df84bcfd2e38df93c2e93fa3c4e506d805b20d2707ab0aa79be18f5e99d4b5f2377f602726092197715abd9f15f6eddf2bcfda8af453beb581a045bdc3b56a13e7670c4833ae581951063e0da34e4fbce5b336d09fa27d4e2b1913c933cdd5d827b720471f4513d078329c0f707c679d66e42174bb5cb4638cd4358f88322504f3828e0790376b6c0b7298fb087070d0a7248b2e8869c6658f64267c3635e6951d5015bcfd8cfe8c5ba2409976b379112fbdc6728245040dc2fe2a23c78242e0ddbbc4e1e108ad0f2fb7a183fcb01cc261eb582d09fcb43aa785f0dcfced0be1163647fe63e574d35a34b364a591000c381d44b8331a05b9640a010bc79e0f7b90dfbe26ed538f5c3d5a78874d1e4c72592a9d2c8de7154072d62334ca24cb4c8e2e6cdb7af390ea89a9c7738c8e8ee93650df2db1dab05f0773059e60ae85555911117c942ee9708d41a5b5175a616e7e10008277d63631d33066e887f1c8d9802a793b64e6b451c992a9d725fc29be11b4370a75cc01221561be05030a06d693bad783f55aeed27785ef2e6b3a44167677ea812913f3365f436b8e128a820813cd1394152343985e4f9f9647b09438d7fb6800fbaa62134a8bec38a5a7253ec78aaf685fa45ae85b2cad6caca9328fb9d0b068fbbccfa067845039b063c7b5e1b48069255441f1ce604232f3b513e6207e0c6772bf12ac4f7061266c178d4f4eb6c3d044d69459da51be4c74e564736c4420f76b0ee92c762284e4cff57f51404ab16be32526f155acb92e58b940f050e723dfc4ade4150027a02126787c011d0b9e3aa6c43eddd0fbdb6b249e02388ad877f5c6f1c8a331ee8ef273806fc50c5922e677011fcd876a208001d3021a8f096e9c5893a324768ac284779dccc2efe13149ad242242a1f1075ce860460a792df6598919de3ed59d61700a6d58c398d2ce47770983b4944a4f361f830399cda04860b512a833b7820e22da688c13e92cf89faa93c7f43bad5ff7d5ffb0f675bdcb542c329b2563f40a4d37a0c0455c4f9233bf94b1b0820204f698b00ce3a9fbd1ba309e68c4b74cd1d454276efb441c992d62cb76051145848cbebb137c358ac150136b13dcfbfb61c55f9c726d03722d3548e0002e8ea2c75c284270ea933032ef6816f288b9da8d6d35e52dbf4e816f6fd05d326b4a278198ab6f72e287cbe3e7d0053a81fcfa2b29152f2b869794b1998dde02309bed8ec1ce44f0d9588567143caec2a7da2132d735e2d630d8a12bdc86fc665eb745d5eb7cd97aa794006291bb95f1b8c4ab6d6dff4bee56a057aea233384270f5353d5228c7754a318c7c30c54b0f2c548b37657b4f56759c56a04147bf549c528ed02f9b162259f186fb20162f31c462c069a005955e84d2a929b5b7cb92e85f95c14afd2ee6d6e5a72a57cf2c1088b50ccab99c1416b9a4707ac7de8e245cb93b79a001b71ff8ac329d1f35c85ca9bfe74ce02c043adb360ad24842d11043bf6b03df7e741e7e8bef8a9dcd5fcc353b1632e2faa199373a19cab8fb44930769532bbcaf223a37104026171d22850451c40de3aea2d7a832a9923421a0bc11800b0f70961c471e67496cd00a82f3c7f904a02c530d3fbc8412dd8b36de606c2ec1ec2893393911edfa572f8b03f0fc73e885e2373ad5c2e204c033118af0200bff34c7f09f01ba893bf34f41bd3dd481c183055abd05f4c88756d0528fff17f6dcfbb53452f33b8ea16989cd06eca92171a83fef843354cdcd8f034e4c153fb7ea9273b8fdaa90e1fe8305a531b3107a084e0030a4257e75d92e9679727a218bbc2f6d13c34f8e7a580f1d1b509af607fac2ec48bcfe51bc3abe86968da603929b5db5cb9636db593587f5b95e74a3bef4d9c5a37a30265daef2aff091c2f66e8d55599ab3a88a9f208ac8bcaacb6891a4e7a6bc58634092714d2c619f0dcd46a08f359f84d9a11df679697c7fd9af503264970b07c0a9682c52f23c71e9f183ff076e3e8185b91622f4fd86dec75807bc447cd88775744fe037d73bdaa5c893949712ae554b83d4064b7d63119c2613d547f997d409117ed0c3ebf6512ec579ef632613adf7dc5509c94f43e8713378b9537b89dc048231f47fc75a463a49b104049d1ce9b238334ff4eec3f9227fe3f3448811cdece88b9fc8b3174388f84cf30a452b2521b55ee8e9336bddce883ccead6c96ec8ccf4596fbe111d37d046268a991c0b6e42ed7c8423b6f6cd596acdf80e849c37bb640da4817c0488de05fbf01374388a5c27148ac6ae86c85f42771777f7ac79626a2491c121f1853d434398200a08fb10576dfab591df5e088676112e1a12d60ff4b2542de4c7167cfb240e590db27fa6ed8698538124ffffe05c41207a6bb20ce8b27926cbb68d6010d8af16c698dba00d29c46d26056d1be1a658738209421f364ce9b56b8d348782329b09db4144e6db743bec93b9c639cdd086668054a32abd186c5199b10cc9ce54248f59f5be11710a415cc7301a25e01401276c85c3b0a64eae55b7588ae3553f5904f8053ec384cb0e20654a2b9b98e4c8e5c50c89f5a3bf4fd50eff526be1f5c0534572ec8a51ea6a003a376630a284307e41eedc9fd49c288863beb9cd111d34cca6220b4225a6d3a5147d042f9c467b4ddeee54e7706cd792721d1a3c2786a84980f8b4557a4f89a4de59b8276ee60e8441c3aa2a250a10019b903e97a209aeed58929fb1eafe7b82de7fccd2519030376b60fea0b11ea29d36ae5f5dce14b650af5c4277f185c65c5a656597829a098809f8279c324937badc2e9c57841064be6932a653034e1646904df713b4ff3a0f2d2aa847ed1187d728944409c4f60863ec2d8432f0dff2bbe997d90a231542b8cab1e1831c87ee00807bad3785450b2b225d77caeb460df1355e18c346416cc43cc0d7b219b4bc92ccc46728cd00f3009377ad910c38589bb69155d215e89832aa869bb78d12fde14d08749c3ae61911bdca698ed4fd18d490acd87eebda61fe21f141b903b3353bdf91f23121917e8538dd412ce2af18766263519c791dd08c34213dee7651928558eeacaa975c9cbfe21af10ba16a0ce9de50b54338b422a3e24ea91595ec775259cf461f7db27c92cef33c396e6d41bb15ff0fa818603ef175fdb554a66451dbdfbe70103735ff5330d4378d130f537b5237c65e37258dd7bb5d69581e46329378297d822d082d474cf1d3b93f939e8f0310828cffeaea56e4d9d3206341f4171db18ed02f4794e4da6c51cf434c0c4bdcccee194718fb6b9b93fda264548d31be4f1db46f8eaf785ae94eaf24bb614871e5178c92a079c9a092bd3c2896591cfd1d42fa8f2c2a812b4469d15a6d186e448178b74c525356a21357aa64e9fd5e2895f4f913c4aae2fa3589065da28d528aa39eb4b3be80b5899a8a5511616990eaebf66afe4c1c55082734f986289555b0601d97ebd7854a682142dcf2d10f5716a003e1bbbffc705bbf6d4b8a36428ae0d4ad1eb7fe5e44c9b0763984e157e6847664cd614d905e58dc86044ab1db2d9307bc76549bed1fcd3f172c16a1b2ab7b19e80d8f8353c60d3d78c93fe1829915a1d7d2bd915f228052144a072629d035ad66fe6303e234928174eb1cbc67fe5ad979dfbfc7418c8ee75695f1331bc3fc1b37209242b6d4a3d32c8c0615ecd2af3a5a8a88da4e5fc931b9cc8c2b35ed700170b2582ff77e680c61f44872663564a0ee22a28ce87b7f982e57b800ae6692550e16055d2bddc157489f8aa1fc873b4aabbeb4920cccfa5d828f9340077a5c8572505cb151fb5b2b684e8541906dc3c0756c6b76e1c5da50b78aae000b203d2e15edce870febefd477009b9cdb91599e0c6128a2d3ef0bda691b3aff3466bb089204b7170a6d492778646c7bf98e9835286b9fe7609421b45a94101dfe43f561384475c69f4090f8154f5cc97d6eebf3a35289b7c3a5e3fd8b87c263cb6b9db6af4c245c2facc50548c845247751a25eee5b13e9c9a61c96b14f8d1d45baa866d69215a18b9eebb13c9054d05463dedfe3534237de98d68b38e99b87f1066717b514c870f166ae5d39fd73c3ca091b10e597997b97684c95c9d677ab5b526afc1dc737b1fe5f2ba67705c110fc14219ce02efe432a8e52b57005d0576c19c21f00eb63f21ab83d808b874ae2082c9b658bd942e1b1ad7e801ba5cddbdac6072b3c301a07195f643ffe99ac404e8d905bd05484cc37b99eb0506517e0bed01c27835a6a57389fb99568e586bc2faa860b6b130d49eb8fb81ebcda726faa3272b380c2462faa1796c01556b7192bea0bc139a7c29ceda5b5f58792bf0aa36832b7192c8691ca7059cd8361c5fc06b9fa7b103a7b552a93f137e88de09d2cee3277a6eab6d0e4834cb6524bcc2a280158f4ed744d862e0840afc33fe7d039861d9dde5dcfd452c7da4e1e5e12a25e87c00ac3e7c02429a17510b3a6d4d8efd902fcfe9b085068c6004666321a4ad784366de40476aadc19b3016d40092de95d836424f4305e60efbcbeab14e2b58cf57824fd739947591c57bde7874999cd3353cee60f182fe4d241f518d6df3d729c0418f68595d7304bf9c2f8eeba960a0005757be0b0bdccc82f6e90d08db2d866a6fa31a5a50115852a0b25f111911a6b517d18270b03644463ff37073eb32373744c27b15b02418682549c1ce46e4bcb18a432598948e928b936e6e09fe28ebbc88a8f23eb0f5471643a68db3d9aee5e45ea959f6c1a93ba1e9a07e426b138ab8c0fc1c7c56c8f29e92ada22437bea72e3890c6368f4b02a4342d92e464ba0ca17ec765188587e351cb3deee88be4a391a69d74dd80e3af116a5d17f8d83a1cdcf72ca5790d18889c21f1e3d966c69da7306015a7a37c1b371f137d9a46dbd50ddd88c9653b9f9370a648bd529a0a30023c2f98f60b85ae520f66e9813c10d146fb0fc801910482f9b25aa9f7d6d352b17c627fab17036f513401f5b1c7e9d9f04da9f4c98be3fba0d1e9845046826017a9ea3fd9b7607e05a37ebca146e8c5327f2e0f0e4b566d2ce4ce6c56e10383c1fff3ba09d4f54c31a3d054ae58aaa9dbd145e08b4cf176f4ecf722abf5132289fe78215bbaa49269f581fbbad148d40e113ae181edd9d892abcb672f9d93e6f400f4935c6633e21e76e620eb2c0133110f90349d5ff419e7d5f19c00d1eda33602e5c5788cf7dcdfe315b06a04e21a88e80c9814b7be838d7d4b7d79dbd7c66fe813275c59e7ad8bd993f25b5f4b5da59cef1bb9206009e137c37b53ce70cd67a23a3e226ebcbced36910bb7156df917aafd5fc431b71c1d387a401ea1b8152b886ac84a48312d2325b61c2fb40ae859daaa9dbb6c20971ccd031e4beabeea30e76d6264072f84f349d34b6a59d911d662bccb5e26c2187ef569cb5b488011f36a58971a208bd6876a330c90b7e0d8371e9b9a928544c274f7fac4cc79e5de4fdfcb56254f1791380be54235145ad59d674621166223d66cf7c8c29be90498b5f360aa1c8702fd589ad6c699b5aad0df3201fca12c9df91cb4593a62d42bd7ec2da3eff436cc1172de5149df33684e7176a60d99e83f70d1714e920774df3e0cc5b00342c1f2526399f49650295cc973479a30321b58e05e942f9662b43382a5fd73c752c123e16b3b517cedad05888d10565122818d669248880496e2b3b36df1b947a6f951d67979a57c2a903231544d6b9fe42b2304bd6d2a9bcb6888f108d79006ca6cacfcd8736d150cba710538d9b795d7c8b518033db89b3fa7e490019ff81765978f809465bbac200f3e422359fdf9e385bbb29d85d690b40c9f0661d6d8667744d1c7f424e842cc459a25796f92332f881ae751ad55c89166ede32e64b086b9b641ad4772d7e52292642f085054321b66f98e2dcaeabd266b2225eb8d53db434d3bcfcbb404ce150731988be7492a23034c78360fd5e191a00d0ee5188258d9e0e51f73b3b1dac0ebcc0c60bfba1291b9e7a38d410c49885c105873c47b3a44b80d08f951bfcde189e7f7f21aab5a73bf404a519e8aacdf28ae97ff99addc493290dc9348cdf174bdba817d3a58c5db1d766211f27ecd65a9122e913af882df08d8e44225bf66634a0b3be4bdc27b8cb2064bface15edacfef62b50c54d052d3655889c6b83ace0a60235e9a805d258fbde5df230364b97484937c3ed56eb4bea4f00b3698cdde82f30825f6679e1d6e6a7ae214c44bee609c7157e1f641dd514f6b745b5921907bd1de6c560824f6a1ffc158caea52e96eb78b0227d5c95bafeb968310f9e35111f87dddfba3e52b63a2a8da40296bcbc1fd2c2d8252a2cfbafd0b4442d310b8b72cf3261348989d6ffa6c44ec5c920a52c6c0574335fc129e5039a145eeb78f31f3d9d85a286dc52c683fd964fbf064469c568741834dc6a91900f1e03413ec34fbc1ccabaec485db933c26e1a71108165b4b2539df3c03871b8df6fe1072b85cba893286d84e3173b55e16f012f850c590b74cc1f1b9b4f8ad7b436c8b001edd31818fc78af2b8bc57c4ebf52182d6fccd9130c4819e9d9fefad9369acca6826909d9ecd70be8ce17c0e517977a0b0624bd03945bf60205ec1daeeedbb41ed1156d33416325887fa8a3a1effaf34b301dbd3322018ca530350173cde1e15065a35d977729b84aba6e11cd8cf9fc2d9e2d2dee5aced17633b9c9a2581495d3ff9348a35d9ce311d578877559ec12a77323342d3a9e9b8d3904a40031a6d233f3d3340cf8b2de3a57bf22f6f75483696913bdc20c716ea5931b054d64d9b91ef28671a8b87535b2f9e01e8949bd98655ac3f459ce8bac7966d4ef4fcd6d9b08cb599558d58525e1232d4a596248ea964745c89abeba855e9cf872e129de52db1ff226a8d3a8f0b47246a02aa41db9a6921537caf55c92f038a5b2bbd98fecf7378c4881a6cd2867eddaeabf46102e2ea8a319eacfc4b9853de4e4ac160c40fd723bf08085e6f93d371550d47edf55247b1e1381767fa7f1032e15ff08260b072fe992583cf1cceab98ee1ca4b8b41aa378cfd4a95ad8d139d96704cc1b153396816a46d84b9541824060fdaba3f0e0019ff66cb172fee98bbc5dad86bd3582e39f12c781cac4cbcf8e6fc4fcb4d4825335f3f7bff07921bbfb4bfd6c3a84d3ee1e055470ee5c76212ca1d0cd034dc209b2ac4233e2be7cfaac4162aa9be95061c954af9c9bda557eb81ea736e982a56ebd75c5ee9759991d8e03220bcf06268c390d5b875f84ff333cb5081ad746cd9d2cd2a2f9cd5a41118e9792fc840818e7ad8b3fe901b42a82400bb65e086e4c26bb13202d012ab6309f3fdbfc7728072e6d82deed0645b6b9ef0c708af76e25777f76206afb9c71e32cc73a4d99212634274a9507558bb440d40201ff1653b6fac6d9e7c7021f94e6bab166587a4dcd249defe198e1ae83d66597c4f5526526d9ae2391db7b3b13cb7f24be8bc14499c592acc740234d3570f05ec35d9d5447e7fd322618a72eda05e218ebd2b6e1c7b750b518fa3cdac8a082187167b7891607fbda4712b413bef78515e2ed36fa4a239c84ae15a417ee52c526962f7bb33cb7f142bdfd79716a5895a6ea7259bc240bd245911dd863137aeb2b9a946efba9bd5b21b76a04d0b6c7ea2f012313b1ff02524f1a86c63c2cb82840e1b843c062adb4df2407cb648ee4f29f0bb81552ab8a3386b397be18d3e8c19be565f9bda9050b04f944c27d43e6787bb6908e5aabf371794cca7207eb101a2c07c8a09459b46b4ab2169ad3c653d3ccb33bfb8453496d8a2892521eb323901221c4a0ed30e608b57654067697f7321ce416a1740978d6a45b9563435dd4edb464ca1f0757c7b76512bb054dff529b00325d777c3b190fc20fea1ecd0124409626df55881d03cdc21a4b60b3447b4025919b82b70bf693a031a5c3d8070f57ec3bcdcf8e1c674453b497e7549f24c84501bf1eae1ab4e376f61df0dda0ba31ebd9907f284c828a2a5d5849b2494c264b3b21c53b25a77a302b4667105b66e00a0b3a35d1967cb6992305cdd520c22ab44fa89e61a446a7379e41feb0cad422a7f75ad8ad72dd5db2102b396cd85cc457e4a8f2c11536c2686e3c50cc3e0b6f78f253d2b28a2a8a9ac6e143304e71c6297554bb69a5577601cb0bf7d4fed159889294787d427d47a4c235969b0061be9d4cd88431145544b37559791aa6b44d5aa1de40e3d09cea2715d398b6a5a998fbbf956bf97044193eac21acd4fe2072a48a5786993aa0b32e3284d597b38225a08600549a0a6d86a2c2deda558ad0828407d4c77fcbc49e7907cfc31d644db47765416186f895dcb7abfc3ab4e81f18d3eaedd22aea9ef8f12a1082c19cb9156922395e4edaad86825407bfcd434328758a8d1d60a70cf9f012747d1504acd5ce7ea521b2a36594f186c1c45d10f23cc066f6389a4450028cd115e4928c21bfc27ddaf1ed27181d15bac271cf28eab690c31acc111e1e0ed6d182ca41f0b5ecff701a606fdd7e704d8b78ea1ebf1e31273171269f83c9ea6362a0f436732aa6988da8422f0d64067e9971a6aa5aea9dd4180cc026eb2d843021c6e2226b02b1685eb7368413da294d4589d85d98a5160af3144026eb6ca40a2e1ae3b383800a4e14d876713bc24c4b5e6e9bd21d4cbbe901f6c854bf15a8748f096cb4c24e2c89923a445c0b7f4d4d9e42b9bc064ff388ca64afabda67cd92e62657e489cf61597040c7d9adc62f17bb6cf6de912d3f4245893a6d749b30741f8cfd59b13f7f23b14331e0cfcc0e4236fd8040d18412c4c63b73c9c676b2f6282ebc32ee6fee4ecff69eeda6bcafeeee04e4953db9f0b1d5b886d4ac6563faf2e6abef4e41dc51c5839bf16e3f3b1c771c8ab6e3a1c78c0c6ddf713d45f2281c3af535c0b72f1536dfbe79462c726b0db58fdcb572c7ed2e23c43d9d24c2e2b1a3229cb3aa7d4fa2baede75e1581e1c05b3e9cc56ef0c0c7586dc5ecc7b42b45ec062a81710e78cc2f191f770985b52f344741cfc021d9c622a1a24c0bf8edbdcc3d1bb9c1aba28d7ae129b3e8a8684a0581941d3340a74b233256f6d18176ed8b637310a516724377103fcf4a86b49593e4d7c0bdfbdd2210e59c1c8700f0b43e489af0dc2cd08075030d66681ff2883cedf4ee0fc6f79d099d0f9a6d5319f14657fcea914cce2acf1c99f4ca7e477af3e4846375b394886344458ff6480f33f24fdc1a05d06ab2923619c0508e1f9d837b000adb6f9c2257066d1dd19037c564b3f321f814c41b616cb74ae37ea8e15ab22dd54ac97f4dcb6bf55be493ee4e97c7962aac67ac7c3c4be0484538e0128c29292cb5c7962f6bc468cbf607d5ff45ab8504f6b6d6f82533f524bfdf8a0a4f806b5e7044fc5b6894778dd3a5d59750b256d2e97b8d99c3acf7c1a5ab16811ff5e5761f26bc1f32dea12379c4689c451eb63ecb5cfabd1dd078c7202dcd0011cba3004f1e576af6f0e6128a67ed1c8dd7bbaa3b3c0d60d82d1fb882de4fb1138e12d12f80d65260381d36d4b209f6a7cac889e4c8dc0af2ef07d5d2160255944e94a918e5212ed48163e1c2b90044fab65775f9639e253c835565946b2a59de0d273dfa6040d8e638309baa389044ab3c57b2e1018e44c3d5b4646ac55505cdfa99c636b73220bb14b1b29e435add8ddc3aa3e690c39ec5cee1ff7c590e3aa8c44472eb6c19ccfded5ca80c6bab0820f143e31bd7647066fd85466c2e160300d82c13fc0e15f8d9c50d0c7c5ae063bdac21e0c11ca8f0c86a0375ef34076deb955a15f601098f423df6fef6059736a18bb3cd9ff3f5515824ecd6975bd79d13680588920c2806d1c58ccc3c2f76a437bf3a555453da1bdb838a373d1816d9c17de82ae2cd98fe61817ed7ba5fb86c66c7550e550bb2c1fd0230d529794ac10b5b45d44be3078b0a3e8c6ee71bb9e8499349c7d9c2b3b493dcc924e2c5dc82241db6c549b9564369815b520d069c4c1f66e6747fa193c9f30fd1ad7a2fa6f7155354a95579931a5ca7b9d5dd2a097e8fb41456d00a3336ee33c24b41acb56c1645d2f5729c44fe06e22ab11f059069213571eeeb9811528e2ca39a02e60310a9e2e3cb72218e658fdf0fe560fc0ec5d8b9f7a59472213f29a6bc94da5298af39571919e20c6c78270cee7f2b1c4159d9cbbbe811f4e61ef523e3860379d501e8bf91168194439f9e9afc3c215c211a444142e704c88c9e6825e74fcb883d18edea34e196b79216c497401adf726f22830ac0622380c3b4ce74ac345c83ccabaf88b178d67ca56831c9173467c86ff1d28a8c5e0f0d324b668cc11fd3b7ec128ba8a26234b1e1b9f271f0ab37a666f0d501b467e985007093bcb02ba46d63613ba1b1c4bb2e5f59ac5792ceb251342750648400e755eb0d6497a8e2262a718cd6e1e1b2eb20b9ba922e2292bc223ee24bd2b1a69139b58132daf579465307c7ead125f9cc93886af35cada23346aa764bcf7cd6bdcf88ac35db2c253e9985e1b97ae4a80bcac3bb441a2af6663b9e48f2961bdf0633840989a05c36f63f96f0c6a7d0a3e00998569e4bf6f13ebbd0a811bfb66d18a70905c1ae4afe1b5e3653628eca87b084c3c61ae6bdcb1a1e3e6a512116739f0f4f19e96bc97456e66e6c30a2e2a795a4b8e4450ffbd098d48ae14ce9d88319c5e60521967b742c55df0d492d214c556a2cf6ffe2a795998879ef8eead06f49e4d10d6b984b9fd66627c6f4da7247c8c4cd07c966c8335a149b65b2b2603736de3c8c2f109243979650a036b233e56c143f693e87352ffb869323f2bbfd3e458d84afe6c8e975d1a25f428a0732e9fabd27c2e554ad22029dde32391e8217908fb5682fa28c0cec4316c1236ac99ea0c21a75b4e6bc89b53db2ce5b0370e3095f2085acfc7e2943195b048eb86f5405dc5a5ecd4cc8aca4b86c363c09bfc8593f8e23040b460d268552cd81547c81bf6ab8214e93dd685922dafd8ab875f82d1420289349e0c150a188874dbd184edcdbc219d3888931897b631605706d8eff81045a3098df6f6e4cc3cafaee504c7fb0712ec574eed95001b67be48c1e50949d89dcdd7c6880b328609e82ba45952abd65e525b9bda6fd54ac11aebf7010288af0e37c9e46823033360da29d9e89f196c8f45479d6a7b52896237a360aa7415d68f54bb9a83987b9814f0b16cd700aa273acb9fd4ca28355545dd3a2ae94ade7f894bed37cddc250efe73f07930ce7f48579d590de9f3d7128c8e8a26819cb588a0525dcac707beb0f2322d4ab0910efda6c3c45b14e2ced3c92cdd6bedc888da29c6a7102b54be74125fa8b067e1146392e1d6a0fdfb0fd870e3a3720a4881a5ce1a43eb2ceb964e284e068d9d47d0f8e38bab10483c1afe8cab6e63085d1d3af6e65a142a77888ebf53e3de9f12af155ca3b35be58f7d56635c736409ee76cafdabf0918357723d80559216e383af88d4021102030056bf4aa443535f072575221a9c92adaae293c11a7d3c25c868dbd24fb1560b6b70c7e041e4da3928d44313bd64be0c71af11d71c21286afc0128a1b94c7d42737db1ecf5b4db78a74cefdd219643529158ff56c7b260c3d1191b57e1ac9fc8bba2d9b1c0273dd6f5b25fe6b158ef4be6dbb2133d46153430d663fd209f6bf674a26d7aa5a6123d5487f3bb3499331a9e9b335186ff06c3b7491b2ea3be5622621386be3c6dd511d9013e7b0729f6fb1f4399596cbf62f20f0c68f2d795c7bd04480522e98a4d900a5c5236e465f491d8b8be113ac2003f1f7a5f3041f197d31f01a573dcfd6503bc776e3cc793a5339246c44e081a2de320e0955f018985c7753aa1095ccf2ba63e00aa6d9fc33ed074a3b22b9000844b4607e48545f59e24ad40f5703720b93b0cc8af4e446cf00af7f45278edaf34d7f3b84c673a6cd46178df1d70d3cbcf63925c0e1be6c0b15dc682513bca310c1e36a6b20cf76d8b4cc891ba0874f2509ee57ff9e8245bb6c242de3a11bea7335100de1e5d8969f75c36ad2b8c074d7ccdabbeb2f49a0bfb09616594a39e739f202e86b80771dbb72982b61ae1c1a3dfeccbb57c63980ed0daea2cfaecc28912acf2b5af1261d7a216e58896266bdefd2b04a10de8618b4cd6ae45b6c37d752357e2bf66402ef996fec630c6434fc69137b01fde0155b25aa12865e4eb1f32946637a8b28cd7916e99802e29a4e913dc94424915886265251c2f5d622121386087ccce3d74d0c8dba20bf757955465aadcb3e597d63a432243373c5fae1a1a4afc4f49d82e6b7d76019ba50e145cf66c2d4c3abe973b48cb3621d9e373f23c19edf4f22f8700c525770ea133b5e72fe56d233526eeb715fb173358fb9b0aa3511b2f535be181a90023d1947e2a7e5bc46941a70b6c95ccd103d8040816b23d4996d429077b7ecb64738c4d4ad9ef184425fbc97dd8ea1422f424a9d33ef33b209d4cff0d5f02ed8be1e4caa0122b28d4a8346e7b45eaa056324ff3d31da6cd10674d14eaeafd75ea72ed0c6aa9f9c8002e57ca1d300a00eb338dcaf739c036f89af9ef76157d69b16fef49062e8f278f7b28c9d205f8c84648977a3b1935adcbbb39aaaf7b3b7ffc99298d9402d40dbb47d8bd8121c445a5d8ea305795840cb0a8ed03e72c115ffe34e519af04d1ad20329fafba81181998aae4e7848e71171020842ba5e0a3b3cbdd24684947018ccc39105c470d0538e7d7009bb52f8e16241bdd883b40502ad06b063883b33ea9ac92502ab3cc8997873f41c822c66a7f0b03a8945ac958f760bf9fcd22eb4fd142d582051d723446e0b155b81addb98713f36784cfbd88ee2fc074970cc033aa26107964dba90f82deded099e8d7dcf7ae449d71fa44f19da7669a0e75f3fa34c560cbb4f912bd56b0996bd34ec395364f5f84da942b84b0d6952e57a66755f7f5db3a26fb97605c732719f72dc1497133251da89da98bd481f1659a280a8dda6c86aa691b8d4ad7b1074890d65e9adc9de6b751b399b8aae11648576f675766d6a5cf31280142766daf206671b8af72263739bb4291f54b97ad2d11959ca2b72ccdc015e83defed56e7309c46763a8b70fa4f0717c7b63ba6b862fb0151244a3edbc066edff78fef2a1a38714adb21de10b002626442393b438efbea2765b7172acd2831c34c569de908ae3767ce27c4b1f0d1317f2cc66e1df485c1e07d816aad292c291ff3ec4291b919a80c2c2d2c3f923f1e75f6e81c31d4c261c44509473913e33c30558d1dadcaba2cfa143ab5fb813fef1a885a1bd1c16eed49206d7d975240ae3392b3a648a2a0c0d05e156375e13fb401ec2b56fc4245cf88db141c23d63ecc58ddf8c3d12dc33c54edce4270990580f1c09f69a631337f94b9ab2580f3c47b0678e0d47688f19bb8ef09e29361e61f64b2e14f3817584dc47162f1ddf8f4a35f6f18e7a7550b156b726b3ca22d14a94a65cc42ff425a62661cf988f05a0a0861b4923f1a00f7db948233874fa9a5b96dffd0636e3ec20cf4c64a8f4c8200b5f4a4ce3cb100ca89a136eb46b645d059638846c9f360bb2e6e4871b21fee526528faaea00e3b8b8e712544bdacd858980df25bd8ed86b3dc062590f094b137115c1c271fde9d70a6c7c1a008cc7835b1b698d5a779392c062a4b40b2619f263f603940844ab608059ea6af8a4abebaa2ce2fb49b7c7fdab91a40d19d51937dd3ef40deba64b0f27a3a8d6fa9086f83bcf84c976d4ed178900be1054158fba9a2b24f1e2ab4dc0f857a8fb8b1a94d2903f8ce417786030f152ca4fb88b28668cd5eaeedf9eddeb5882281d0e61e318cb4f167998a27a6ec70701f38f7d69d3e744abdb7ed09e623a8efc94b5019856ed8ea7bfd2e17cba2a2bc44076550d92a456d7cbcc0a911b9ce136f89f67fe0372c764000120d7ad4a14a01b901e899f41bf55fc2cb301aa041328dba83309061c6102de9b5085d1aa53060ca031e28172b1a0ba042a150c8596f540d253484d104b9cd64a01e64fe86f96404f32287161270ec45c8000cf2292a51268da82d239563a23b6ef97365757c51d51c6f243feb72870251f31dbc4cff14fad7fabb3ea260d529e43a1ba5ff6fa5ce9729c6a9c1a5de9329a5c83c1ebac6f4f62f599f5e76242a8418aac74330bed0744eefd7fcaf6ebf0c98ef8a59799152d94803fe6d2b0b24f2c532fba466065f82b1658d365e3eaa20bab26a713bb8ac78345ff6270c744b9e500d6880aa7670525a607ad98dcd293dcfdcd605454f48f464898bcdc47edad0e47d7bae9dd94ea4353af8b44e7ea41d3295254e65c0b7955c3df6f237038ca06324d2453e3f8da713cb06530bd0fcc8fc6466c2cca5eea5359ab5807e4ab6d6140b69aa67c4eabec1751d5d6a4b096351076cfe58008caed75320e1c12fc3e4900c404814d76b9e3bb1f426c0c0ae4c09030f64bd72156811557f293e2a65c47a3b207fdcdac8ef6cfce30f1e9d2afeb0422eac198a14df5784d028b04b55fc21929611fffa80da28776858cd53a98d8bdee3c6ca30bf78dbf9f4ee3b8dae12831d1748aa3d22adcb52e37f8a1906717862c3ea9b8905659da49c86f766ce416713d66edb113298ef97c42f143568b0f93a99f435af0f20d0d7bcf0c6188b2f4ca096ae47f302e59eaf821b8ee9aa64667c178aaf7c2b69039a4f32fce1d89cdfdd1d515e1a4e3c663c7810799af1df7a61b69ee5a6437f1281b8da75843ffd95c614320e51b633309bce9c27a63b6b4a6444afae3daa56772875adcacfd3abc963a16847f749a24c729e29903a0b4a487ae0da5621f3d9e229816214f0231f90e653d69b9f4ed30b1e3bbde0d03c8981e51869b6745dcbb94d52539e9a06ee957bed0e2704aa0fa51414edacd9a33f15d6270264a97152f1f60eda0628541ec78400a7837a4e9e3ffd8ef904516a747090af40b619b0b4c228f05a2cc8cc7fb5344f7243a4be74794707c616e48b3468bc9432d10c1485255867ae34afde7af46c18368923f2a3a4b02ef9886be7ca61320f5304b41f454a091e121881c776a806a9003963c750553c685a9470769b0d33a4c10548783e3ad903cc437f3293c5dd740eb76abc1a16bbde9207d3ac9181b3ccc14bae606daf088c180f5a1f14c3898b2c629c733f4837651bc57ffadc9e38e5a0ddbd63af1ce68680ac6fb5e3604ba5259853b809b17650362f19324971f54afee946d13c4e672ed42b47ac71588f04073b79fff2422d8fdb693a535317caefd72583e78adb29886f8d71bedc78f8428e231431e481d830271407aa891e1eed08a05f674222423927bcb11f39c1d1e218509c4086b89489e250d0e79ce3e8374e3725d887401786493128a9129b25a85c53830c75b0f0bd376e8f1a8bdde537e6f22c1d95ad2edadf1520d4e711a6a3d773be70f3b9d79ca5c2e722641740f1502203f4c846051d6ba889c78df4fa19069b2f616df8bafaf0ab6ea8aa975ade6339517d38c7a24387ef0a3ace0c643c8a02131df34a5093a9ae094d69e544824ed5d90eeb20d00a21acb5e6d0b83129ad34d7007a585e04a33a2600f571106be08001d5a9bf5a67e350040cda55aebf87bbf9ab0d4269ac92778a969c4891fb97e8547f3a34ed4cdcbf09ab2519c9ea9f243f2fc7c02006206c1b58e82ea2a00f0ed1d5c22d61747d9b2f43e7eb859d2d9be993b009811cf38c073fc2edda28031dd01400f03c8331f36029da573b726a41db72201e00ab3c2128dd55c49cb359def008065206d8a0cec72c61d0044d87f4cab25ab3bd45a00680ad68e27080600145aa78f6300582f8a45140f002ee976ca648b949b358a02fba8209b3fb96201c063d68ba7f728ca784a257a01c0f9eec4190f221f00442086ccaa020d30b4903b1a68ee4ae618291a44cec7505a1d83475de7a1920010b14cde51691c6b36103766523b916356b0ccb02f2a7acf708b54a507612f3f3b17373084c0542eba061e29dac66d283873faea1e0ce9d619ceb01a90e40898f13494f528461c3a380b0f18de9bc87a1a620f71cb443ff09902e0e754119784d81a7a9553b405c3c445a3b4a2fcafc6ff19e278cfcc6a45a6b9d3ba4a74eb20335cafa72f4694c7b10d810c9959bc821d4c8c0d4c63d5296d5e0ed0270b2a7adc6f6d08f19ba790940a68ad8442ce88a031173465711cdb7d2ddee5e900dd3a2408a00bf8ae221f47f997f3edf165ab3672d5397bf617cdfe156f075bb70e86615e8095cc4ac70321e783ab55329ff2d9f44d2a9a9e14fc7382d44212e4bce347e26e70453a5244ed68c9f0f0703dd7de225e34b48c1a65c29136855330af9fe3ec5ba410d3d1a527a433a90f32e90eb027e1e46f8df4d029bb3098346d1372eb6c54a2161044e7913344a050d64d107a8e05d5af87cd1f15502e39ee051eaff689ed314a9b95f06e85d822832fa4ab89a2953d7a36994a2d4025dca85ef2afe0b26495afc3d361a38a4a43c6230b52ef3be8c8177a97c931b5c94409dc1e0976a584d1b0606a2ea62747178ca6df1b3e8700a8cbdfcf2977a5bc2e36e848e6693c604e9e9487bcfec5fd2a37fe038f9d33ced1537272d08df60ffae7937a7c723873dfc05aa0bd0022cdc982f98fc20ba5739baa0e8b5069648d758ef3eeca18d8b696ff1c830cd66dce1be768acd55f3bb296202f859455d22db4fccdd9a4e7408b805207c6ea62f525c0b4fcb32217a967f5701427d69c44293d7e1fb046b58afda79f0633ab1b928899f631f869a1010af4d564c2a323e8b1a08382b14cf2dc7d7ee597430f04c03c36a9e72e7183de7e9e47218ab5e69e59eb5c8039b43b11f5ac77021e4187091007c6503c4ad80bd5f3ff6a750ea271511fc28042863e23b3d0aa59786f9027f224b4b4eb368758fbd9ef0e09f9744b7c6b353a8d530ddd95a236b9e278755ea2212856650401789828dbce00fd917193eb09a97269bc3aef79bb54881b1c55c9923c3ec32ad1394a69f93c63fd0d12be607cb90d744b389aa4b465876c11984dd7ec35c5b443e2bb261cb4a302ab2b23a8fec6addde87f0a42a40058eb777ac3ad459ab60a762133a3746739b9174719fd28c081a2b527e968a4cefa3c44bfc3701dc48b7233c2071cc5721d26c0de700f061261aac7f77b09adb2ecebc91e2cb31c24716010c2e198be03c79934732c9465a6ebfb1c59356e05c53ff06eac32427eadc141a9801e058610b12e28388a7852398a9338a8eb724787773019c13cb7e0f0acf346b86c4af1e6e40e3f8ecd377e27b6f85284ef3ef0e8b1d137cdf83f37bc2e7417141c8db3f18b5184b0812322de7b8ad3d5d004667bdc1379ce5a10ab65c297030772ad40673b50bf2fefe0ad6c52c9c1d447b9a1463feea6fb0f0854cc2d923353ba784b573e06ee11cfb0431662ba753124491d45a0dc298604b059a7ce9a2bf89baf8688d740bbd91811344212e836440919e8a5132b04200f88ff1de34a9249b540297c0b2dc3ab3a3bcb1cdd3d9a021a8f4a054d6099387771688bd0ce5f729eeb11a8bdfdece4597725dda1ea9890a324e21194d8273b32dd9258cccc6e7d8d6a055e0b7994a9ec5dd7ece2e252356d7f1cadc61c1350c39f05ad42bf4d3bb0c339fcd7802d55a29de9c6d8a5239ea19654bf89c49355926ac9cd8d4c47b28270a4984bd591f30ee584710315d63270016d229df2669388315a2296ba88d0bbdc021f8ac482fa65ce8ab368f03b6c9261d71814d57326d1a4931551ccdf3946d0be475ba7230658b103477b954470aa8b6456ab28e5efcbb648ef6ed29309f70e8b9e9b3ba5e0d90b26dbc9837f73b67ce2a8bd9062dc4479401632e172eb1c538b06ff8708f0121e12914d10d90989019b1403bf7e8e19bce83e713e4d678efb490c40c5db634b8a6ddfbd3bf1e41e4b01620c917fb83a9e4c6e8f1305b7d337c41a0584f6beccde5776a5f51ced6ab27db67adff8411d5d7f248abc5afbd72a43349e0f948e7c3e396aa648fa0577fdb7384ff703c310985b45af0f88a85c26994eb561dabb01d6cb9f6088d8fb18e34d5474e4d8b58204efbdbec5379718e32c7858940f4be261fb905d843a34ee669ea8b7c647afa244772d58204a17781bd0f68bd8b4e9133b20d8ead41e8b246c56035aa3f28e5210284b6b3a6b17b1cbd91dba7a82c7a59b51396a274733b24f9f470f7fb49a2199c3e44f750f4bfa8a8508ff1b3c57574210b1969bdf51a8f0bcbb2d910a4ab26f1b3bcc08143252856db2adc9bda59452a61f09a308e108938948e8956c2171949be8fda93fed9a4c34de9f7a4da619ef4fd94ca6a2f7a73d2aaa457736dedfe9d03b0dfa79a7b577bac3bdfb835fe44fe44fc3df86a65a54e75f83f66688d46be61c278e5756d12171cc1bfc9b38662071c46dd126ab6ae2981b7398467b33e7b49f9f25abe6385fa8f6a3909090d0d384c4f1b7834242efbea33dd7f90b89a3edf38736ab99ab9a39ffed6e84f636ed5b5aa9d9a18630d3349d9a39aa998fdeccc9cf81253b28ab249619ed6b7a96197f4f716af5c963ed656d07b7ab31136583dff628b8dcb033ed79923fad97fd8ddc9bf3f48afdbde3f4f2af3dbabb37e7de76b1477b74f72f6bfc88b3f163bee13bfda18fbe73729dbfecf56b779dff0dedaeb3a1dd75353490487f684fcfc7333d1f6baf1feaf16523edbd6b8d59fe67c56b9b62bd2a9a39926872a2207dfa966969e68c5e3e9292c4333c138fe0af58cc2985a2d1ccd50d45a70f2a628a418ffa5530393442f2a8ba42de3766cbdfc744a9baaf78e47bfb569455ac628e1a6119abc2a5454ba58a81cd09da02c3a3c5d606a6d80a833241553dce135ea0e85006186056f0e4cb7cd75465c9123098d8a0c593fb856dce935b868c33252f9476566b9db5ce6dafe810fb41dea992f364ee60c5dd13b3ba7ac47c5cc8a0015b1d5b8c4e5596181559cc085c1054f4acd4208652cc075b0c033248e9f5433be3abc9a6226572bb903fa9cd76edd8e4a6a25bc9128b63bb6248a0a5f61026c60582b656902a8c4d8b520c0c6a2536a6d60c5c4abf6fc61123d307329bec249f949afbab9fe4a32e27a54d3ce9fb19f3922b906f53f0a3e853cf7d5f90bac13ab5af3052686145c30b5028d9d2859d35484c2165cf167409225dda889953854b9e346fa8c002a50c1c9ae82103f44c11ff3caf50258ee0d345093d5e6411e70b5f22ca9b3e3088e1860a982492d2b459c267072761cae870812517f08235431b1928125a77dc74b1e9818e932e3bd4088345185458eeb4c9e208114c30c3c49321aa40c3831563e081d32408333f78a1662650c689066cb8c227072d5c90b192254c1c259e50c208223c0ce8b11a222bcc8a4c541140b811b344182f5e9419e29f251691107e48e3660d1cac32aa1c4d96ac2eaa88028825678af0cf3289224d9cb003668c2fe47465998109942ea0e07292b5854c91282b5692d8e3c31b395c7c518343d80f788a80d385082212e8d3841e18b6e208518512285cb828620bae3160c4d02c224c62d848f14495de5457fe428393b0ab3569a618c26711452270c2049693301bf49029c2266ceb063162a64c0931c43fe7a87bceec113366033370e5c818a2cc0b5f6c606a0a0de20928d03809e3ce171af240a009151f22ac64a08dd6182260bcb8c10d146ede80e1c6e17869400b160f75607023a608d09630a6c409630e1327449051864d1525ac80010308220c28e309ad2b69be74d5a0c40a9b3d339059228f971f86486903440d3690c106035ebc908149104a3499c24b4e98225273ccbc10449e2d6584c85345049fb0239e8851078c7f9643f610d104ca9237604feaa490e58b16993e5130200506885cd0e54b161b90b042a709a7e20827f260718118acf832a48327477c19f3b5954585121cea04218508188680a18c1747930519316dce5c39792335850b32f04c6122c705ea83122a71be08d135270730aee0d548020c302feea8716287f6f012ab032aeaa421a2cc165e7cc153b2c313267696801963062c9e9458b4cb9ea29412ce57a693c7ba87bac85ea5fc3e87b15dfaa0ed6ac5eb492ef327e5d711555a6138673fa8c89e7e91aceed8b4764ed1ad9d73ce39ed94b8f762ce49a5e7e60c52634c64a9b9abade2bc2106c3acb64e1aecccfeccda98966cff5a6c6d1886b1980dc3580c5b6c6d18c66416e3309489f656ea05630f652f2b05aeb413b86128a70562a1ec3e611d51c5149aed7cb657c1248a5df505fcc2c32a835c577abbce9ea8837556c1ff7c063e8db2a71fcaf4093b944419cc1ac20edd297821cbfefb3a9eb0e94fd9571dc2a62308485bf644f76b4c0769d92312d1674e046277cce6a57eb12ab379d963d4b521a56fb58d8bdc51f7177465eb41eea85f7dd8acbe7903f98a0b87ab7cf55a20985513bad198e7dd01cd1e48dfa9ab3f2fe321ab1859f6f6431996c9c22dfb98ef90d9a87ddfc6629e93bdcbde3e60dfb7318c3f6af62413639e2493bdbd6f4319c6e2f524d9c7b6eced7dab93b5b0efdb2bd62a3f4b04a48a996211bad4e1fdc3c924ef83cfb5a506ae2d5eb68c0399d1158d72312df5dd1c5c31a76db8ed3480c8924e85f686538f52fa76721e46e0aeb1a13e795c5a721e92037f2220f908ed738e2d32d50ef4540319799a89324824a2dfb4a58eb29b88d6c41e9ba68956907bf65344feed3bb7d3c50d4ec8bcf9218a0cbcfa50be533215431078d29859134685575f88ef6269ccccb1620c1eee50c1ab1f82ef6477b06430d3068a137178f573bd1803b947d3ccd50784c8a32fedfa4eff1948fc11f3c66d2a732976fdab1ba0b48ff8db2cbf25665bee70cbdad5ebf5a0f0a44d09d7f91eeda6d48ceb7cd319d3065da8f19ca7719def704f49e5a421f4d7b2c92b2d2fcda22b2da04fbdb68ba39414d8f73f49f6fe53a0d9b2071ffc7b83c8c422994cbc72c7d83473b36ef73fe27fe58ef9039b7d972693fca9ebccc97e6eb529b3ebbe57bc72c72fb9d8f4f3459e192863257fdedfdbd8d1da4871dad8094391e220c5f12cb8f0ec289a45152f35e0f07e44f799f3a8b91d8b2d7076d404c1b57ab3d101acad42d1f6fff9228fa29bdd80a27d0449dddae0cf173989d8dba0d880ba25b3a852c3a601c5f62caa4491221695126ff6a078c49f0614db67406840b15dc49a8957f0c06747d12b5cf8ca52785f1e20dd0a2d5b8a6305b8f47606b2d7c3936651d36472d1b5a47b14df953b34ceb39fb94f6b14de378804db2e93801ff501915a5c7f50fa50f2bf33a49fdfe3e7e38a1cc4583c12fb2b7259d5d9b2afb207f1ccd9f494cb097c52e0ef4477b8a9f3f733d7c3495b2274a3d1bbf6649a3d55a9b65cc3300c67e15f2d331223d331c41461fbb695733347658f53329a71c39cb3fb322e23bc64dbb98cd812731f86e1e33b35d35354cfc3e2d2d4f9a460ece1e39b7143c6cd5c9559b03d7a14ff4581eff53ac32a55697e3894c996c480fac2d939a8c84d7747e049dfbc2178d51cc147cd115f6cd95f506c525a1a716ee69240a2daf694e5bd5ad5ef9e3855b7360bf58a58b7972216d5f36e629d3abba776dfdd7ef6e8a519698f7753a46db46995a6545447ffa62718d5516a3566d32b2f7b62d9544bde4ec5990755ebc9a673f641ada2ba5a5dda1f4ae549f46b9bf698a4c8df4fda96fc09f199ba9dd0d36f67e33399e4d69c68668e7ec5b42df9a6a99e6713e717d5d1df7957afd76bc273fbd2476ccb0f3fa6273e2cdb578d7513a99e6713c5d9357375f623b6e54f347437c1a49e6884f4dc9a3a3ac18cd464fa42e8cef6f6f5444375a0886677cd8ac40372de4dbd62d32ac58c2bce7ed476cefa9a4c70e66eea8bfd9ec2d9e04b2963469c476c4b29e5e362e211295fca0b4e30dfb9157c80a07a0304196fa4f0e8cf30df1d95f1e2c410423cd1451c1e5532a58626ce78c1200414533c7a4106d07421e54b1524bc78f4c3d80c4a8625c6b402e16fd6016d42d025bf4a6944f6afdbb9a440b1478c330fe067fd52708a5cdbce25a5cc1e8db2326d3b97141f8ce64f293ac464cec808c9873267a6cef778a71e2958a4547d947e364a1cbb04a49fbd136c13cb5db8787d4d5ca8d2cc4010ab8b822005c70c8120972c0a82947245e182b95010a433cad547e96764f57341d123a6eebb84620045a9d47a0c054c963332fa442470873afb1b41f1c8fc4fcc92ef762e28728c3880f24575bead15e5d545d5eb762e2832ec1157444829a5f5eddf98ee4c5eab1419bbffe72edb32ffabe0f77d236e127eb4dacfc89711395f4f8c7cefbc2baeb9f2ca2b86adf5257d09da5a257df9d5fa92befcacb5552ca2a4a43482fed2a2c28a1b2127addfc7850cd65a6bab572596ec62ef3b10a66efeb51531ad01214c7280c8ae75c9fde87f54f41d16c7b622889eb37f3422c06e908a4576055f698e4a234c7089efc3e0ce73ee8a274cddfc6b34453fe1baad19fc3e62abd501063e527aa152679417645ad490744a14f05e34930b061bf6ac375765ae7796432b23e5949cd0794066add3c9c2873059507e0833e205306ec062c00107ad20d22891a5365fa8f20210bbbe0d47b564d72f7aaaae5ddf6832cdb8b9399554d95004193d53bc48a104862b325885c560031845d0278e18835270f634ab0b70a27022a6e943c28bd994b43ea1da158a5dff56b175bbe6c9e4734e23c4e03a25b198297dd267dbd8551ce9bc725b2985c022e3cd295e9b4bdb6e6ac255aa39376eded2c1c9d2090a03285098bfe76bdff15c37ff8a3dd5ecf96304a36ecf6a4fa8a29327cd2a224161e67455e439e78cc5bc47815cf45d4c3ca10e9560ebbc36094668bdec447d6a65bbfdc3ef933c40c9b6ef438993cc225a418ec992a13098b90782c892e270ee634ccb4e9ae57ffdb33fcedf9d42f7bf0980d345162b6feaf4e084016aceece1ea52c6127378fe7e41947d292b65911819ed5ab751bd0d30da47ec8fef06d9f628b66c41bfee84d1b85345035bb69049c0660b0f76f69c19230f1a0d38c9e189291c9a84f4af94554a71a84cf61fef9bdbb5ef96de67e32da5a4aabc5b7b577b2ab1e7df2df67cbc0408e7925db38efc97db8297ee5c8b2d4b7c49a9d3c588343cea84144a98acb982cc104bcadcc08747c52c7b56ea24136e4b2e2834ccc945058bdfce4585cc966de7a212668f465b090c6323dbda669e74d2a7b86a6ba5e2b542e280aa4f79620c30dc64f1a10e176fc7e7890e41f4716265041a249a082f1595f26a5de5af8d63579c94b8a993afe68a0b424ce549a28b1bda84116328118289ad1f9c4c21f1c2146f8a19863c1a6db9cbb272f55cd875629b75f2a091fd51eb5176572adbe294522e2a513e49dd5176533a257bc8beb5476b87d36a2c265fe4cba42c4a1e9b948832b05bbedd52c4325a113e78ec7ecff471f49f7e8ee2999359ba8c81d3a5a41653db963ea61697f06a7f3f4a261e61fd19fe68f784f9a19344d5ada40b1099380ad93231c9efd8a8a4cb96bfa76a7f312d7b39e3c02ac161cb9762924f1a6790ef47b9bf9f4447a42426aa3f470b10f970725283eff0edbe43beef71ee59a7149df9e48ff503433ad2ca85e5ccae7f67aed2a233b5da6a6bb5b5d66aadb5d66ee04849a44c27997bc4bb4afb7aaef6b514fcda805194baf8dcec80f1668cb02d4c4401b19e32f06cdf2a834b05dbb7cac8da6fb4d527ccaef2fa70a151e5f1d25e9092c3963fb34ddd7cb775c9bfe7e7e62bf90e4fb1a5ab4e0e5351daf0e637f9ae86933757d800a70b3e4c7834cbd0a6f4814d7f9cb17dc7a6409ec4456e5aaaff9fcce0a797fe482bd33dd62dbf8c5471cc1be8770415506a048513a0c8148a135db8d9f443f84d9b745564f9a3d2a6df13d993b538421f7a12639061a3812b4a64f98aedf042d6961e20b2908127df6926c9c9f66d4f7bbe7327e6c4f1d2938303142878f22995ef945c0571074c192e8401a70f4f3eadf2dd0348d0d0c5891bf61041c5dbd1316164ecc49153c4173cf9216d097ef0439a7efa4d7b4ae5324c1c692f9bfa3dd2de0f194677ef31cf34fd3ba6c3c2c2b6147b93698a52c96432fdae0b3ffc2c8eb829e676f82e8e57be8742581c2db0c16f0b7d38bda69fe45414797bb9413d7bba31d967da4baaa233d9b568724a9451649e8923ee73b9a62cdaac85b5b0164e2f4f929946e5cc9ca478e68dfd78efa57c26d315e5ad3dd7c9cc47d3304df1cc9c94148f7cca47d23039f4e150a6e1a17c687528d8ccc92f238f548e9a32626ca128b0a2ecb1f6b27ec4ac999885656299582696a12cb7910dbe9c8ad2a434f39555b3b77bb2f06be288fb2c8e399a382ad15e481c9be4d39e7c1cce2bc7246d5492fe32d452a8a6a5d306c5d1c806dd9364d6cf973cb5cae8aac8f2ffc68fd7867cf1c6bd364429811ed4a3d38eb23b04f29b7ef20f65e833da3b0882e2e86f7b501cfd81de7eb6b7270b9481fe29bf4759cf8125cbbf3767a7bdd3de362ba847dadb60cf2bac0b0c8d9ca9f5f5a525070d98830f82e08f4adb9b1c74d05ddb7e850bfaf4e1b3ed4fbd02ddd6dab76de5f1da6e739bfb075dd027cad28a9431c68bed5b626489c165fb561e3979c2b6aca23b3a3575fe4ea36cf7b7dafea3bc728d7fead98734724c559a9038cbd07e7ed29d0cd23501a27e1c3870dcb051a38808070e1a337043386e42361c387004e1a8d170e0c08103c704e28864fed00c4feb92fddd08bc596cfb07700b6e06f4ed0f994c13bcfd109c87d1db07613239f0f6854c261c6f7f83c9b4f4f6319ebdfd5c0b7afb38da47dd8dfb2451770fbd7da3c994e4a3eebe91e4a3ee2e4a1275778db7afd4678b1f75b7046f2dd8d6be741e33defe94161ce0adfd3b997edebefda2c974fbb7dfe43cf4dbef31998e3e82b78fc164527afb50ce63c7dbafc02df8de8af2637508a77dcb0f83f746137136fdb7a21f5cbbf886f61d56fb8137260b6db4da967a63b210cf7e806837db27c398e8898444231b1ac993e413699fb94cbbd96878e29f8ab3c5b40fd7401c846feca716abbd56c06b9d80ffb4097fa44f78512fe06d6814fe47a740290a2fc1026ae2a804b751d8b1fff488db1ffdbeaf89c93f4f31fc9f4ea156138f7c9f420aff7d98828efd17fb1bceda375604fe4763b5c0420b1fb2c0c287b5209bd06d08378305cc82765e0474a6ba1fc2af4178ad07f09f16f247fa83173501fea60bf0346d80cf3a840fd21e1880001fd6826c42b721dc0c0de4b5d6e03ffde38f74062fea0dfea639789aeee0b30ef2411aaa830d3e242aaa61e3c66b51875ff35eebfd9f0ec01f69a717b500fea631789a7efaac7d7c90bee049001f1ae1387a20a7cb018104f87505af75d37f9a823fd2bb17358fbf690b9ea67b7cd600f820cd2425c5020bb81e3c3e4c9258c7c43b28568ac0620926f8963e0bb0905ee16d3ac9dff4039ea6a33e6b087cd02c2ac90a1f4ae93b29900f011da5710f48a257d0463e74bb16f6c04d13f3a0d8821e1603e0c30100f10533281c020047a01bf04a9a01bf4323f9257de489b4035e48abf0437a7cacfda6b1581033d56149a9e0002c2dc872077dfa80b62122794eaaa08d3c27df013ae739f90d60009223a37ced3be4e7daa61f5e8025d0bec308949626d831f1c0b54cbbd97205331f7867bcc30060a01f5ccbfac7e4b10260e603efea03cfb0a4fef551043aa791be22225102514a4f7d91fa50000278f23183fa3183829a41653083d2600625a5b14720ff93d2ceabf190c79c8f3099029c82ae5b8259ec67681913b1a47e829968011cef0b1689505880564002f409da044d5ffb0efa353179cce58834dd2106dff7f47d3ebeefc7f7417d5f06dfa7c1f701f9be3003fcbac86b4de43f8d803fd2435ed423fc4d1b799a26e1b32ee183b4086fa386d00d16a4441c09237c580209464628426488080878f2f1032a030d806ca0010e7dcca07e6009856706986a802b106c37c01f071ac801f4f41df28174f59cfc1f7dfd66730f37c033b4a46002092250daa123698982100c5000028030800f3c109281064036e0a08320429220c8a1cb3d708403292948071c6c0044830ca07e680064030e3a0822c4031c0e88fa6fd8a86184c3c7130602e06da70b020064030e3a0822c4830f6adc848a6ac47e8044ec49521a00dae639f93d34ce73f22dd0459e93cfa382a61d930edaf269be433e0515f80e5913b3276df07d1c7c5f07df17e4fb847c9f07dff7c1f70de0fb7668284f0a85d0b0f0871ccca03ac032089e4230f500d70fb01d00fe4088c5945e2902d1a9a6b3a8957ce6b0aec077841fe025bd81100726d043662e2aefef6345441268a9bbc5bfd2820364216aa59aceba02dff15aeb23dd2302eda4319839f93b3494055b3e961664e03be4d3347b0c124488071f0c0004021400042ca46f6fd3b6a7e9dae37490287577edf3e561956f8f5fc74d870e1dfaa6e3a6e376138d62b5c79f949494a46b49b5a45ab5d5441c017e74ec8b6c5f434bdd6de3430f66501f6039003c41c09400b816005b03e02f849f1f1b6f8348cc895ac993e4dbd0f26348484848484805c0359dfb9f1c9f23f72104104000010410e4d03cac72eef1eb74bac71fea74eeb12ea7cbbdd3c41ae770010c7000fca3af2d4400fed1221820840320408421448a8840c31a521fdbd00fbca8b158b83ca93f7a5189eae46b8d2525de98fdf8b64d7c04cca044c072089e44302d82eb08d81ac11f090ebc03384421463a044f92ef805eb3e58737f08fce367d6dcc7ee05d7136fd44da8646d2788722cca086604904cf22988e80ab116c49c05f09dff7ffa26e5a1a226f68a9bb853e1c3283228265113c47c0d408ae24605b02fe4cc058e88588742e24010f29011331011739018f90006c4401988405e012622860136650be63b1145288fd00893a1cc1083e010369fc37ed1bc7c38ac6d7b05a782116fe060b6f43d7d05854399e9488c5c21769a9bb89442ca9a7f1b10f6968fc311a9886f424f92d6816b494ce511d4e00ce415aeaee9a98b5d4dd341137a4a5eeb63d0d2b9330832a014b13f03c01d304e0aa006c17803f146c376d64fb20edfbc3126650266079029e09c05401b82e005b14f097420d9715b00014f04c4bdd8d45dc966c7fac6208fa077063b451a38888c60cdcd07813b205e948aad1c60cf433cef018ca720f1ce1308add1144e1b3953a30a52ffd84e2fdd888c4bfacb59fd43b4d2ca94a1f309120e12150e83cda963cb3c0bee06c4a27589560742779b229ab696a8175da5ac169a79d60604d5f54cb642212627bb9f9d89e3e9da24fa9707f7bfa3d9c475613ee3664dbd9b04ca65ac31517aac566328d128c6a0d61b3e584b066d33f01cea67f6d388bc6b9a66c6d8aa66bcdf492c5ae65320512d532b5724db9e28a81cf96b33a6565ad720426534ca69844a1b677f2bcdbd3efe5ccdc0cb9e409c685eae8efbcf228c3c830322b671cee3f4c57d3e432bfe873d95fd59a605f7447a7c2a68e7e94dea6ffc99e8f98cf2cbab3d1efbb689d99395ab5a68ed2b8e44fac5b5b6e4da6799fc69e3ed21579ac5a7ea66ad19d040bc35d91a590554e6cf91209a9e53c90b614259e24b273c550674b8b695bf268b336fdfaf2cebe9760548c4de593e0bb09e62ad09dede5b7704577b7dfc114dbf268cb9f60f8ae6acd3d9b3e05ee94ec596d39af6ad8f2695899fed864b3a68e8244e0d7b77bce9ea496fbde51490e5b4691a43822b921d01e7da8b16954cafdd057ae055139140efd9a394ac1a88ed626a55cee1f57b5281aaaab549b82ed718211812fdfb74ca475828cc8e3fcca9a6b26d30cfbf0cc5cd7649a600f80c9e3cca2a3cd0ad5daef03c17bf5e4b1a299393f13d392c9c210e3ec49d6dd7279b25a7ed46daf80664f724d57b61647a3cd9e687cf268c304d96c424237a1dbed660baadd6eb47cbbdd806e3fb3db0dbc3d10b619af2f2929e58c72488ec3e1ec072add1e4d4db88cabe39072b7ba57afb77abdb65af531b212524e094969e976b3651b0e0f0dd9b20d8771b87aebc56ef49fb12ddb7038635bb6e1308ed627fbd7983d85724c98221c2ee36ccb38db9a9aaad75bbddeeaf556af97088425def7dfc6fa440a588027b5a84efad01329e51277020c5119a232446588cad7d1d7d1d7d1d7d1d7171d3a74e80cb930e4c2900b432e549147728ee41cc9399223f1d19ca33947738ee6e0aa264d9a34917d41100304314010030431c8beaafc53792a4fe5a93c8e880d111b2236446c70afe38a8e2b3aaee8b8f2435643564356435674e8b8a0c59b3c22c9cd90959595257b5d5d5d5d1ab822e282880b222e88b8b8aa72e51ee51147388fa60b278f48ecd5ad541cbd397a73f4e6e8cd9b377608cb1096212c4358ec571e9158ad1b24ce83f3e03c388f745ddb645aaf15b91c7d72f4c9d127479f5c95944f48f288dbf39786b6469ab98963409e7b9466f6f441cb965b4a336e817f8d794292e5f6dffe79bb6893f2b591999b75f6909973ec5f2f8fb88dfb69c452adaf560c686cf28824b7e9bbd693f3f85bc10cbc1b81ee344389e5a7579014e421779866c6790ad3e411b7e9bdd65a6bad7d693f5d3dc97a92bf6b55092995b42bf218f5edfa3eb35abb0d5c546a70d1a7841186bb0b9bbae4bac0925d6434deab3d6b183a834d88cb615a554929fc484dbe3daa9b3f7bb42a3cecf6664f8aadd67685dfebf5b498a1a9724f295716dbd953edc3da25cff7b9c7594586d78c0c2ef67c3925a9b0f85619557bce0d629ace1f9b3dd5bef9976a327d7fd3535f6a7306e49372b53f9a5f1249a749245fd63572ff7409677a564d2c93e95a29a517d5cd693573b3cafe06bd64cd8be6f579d5ff516bddd36a629196e62c8cf15b71cc12ccda137f95bb662d30fb2a8e56fa5e92ce23e86df96b54cf2aba9bf1b3a949a9e62a6ee8f633bede7ebc433f66dc8fb82da57cd7c9b73f43bb0fe91b2dbfd43fb6fc4eb346abd16cb41f9e44cb2190ced2fa2c8e72e79f79d7fa556957d995ffe7c31fad4299999b9f7ff43a1bc9cccdcfef3465974d1c956c90387e4da489657efcaeba3d90cfeddddeedf546b9e51959864f9e8f4485a8fc53fba1fd7c3f3f38f75d0b2f674f3f4326d3a4e2baf94eecf9591c9b90d8f36be2a844c49e4f13c7dc0f5d703984d110caac7d03fd68233337ab3c69be0e1ff228bb7a7bfe38ab68d7ec4d262f214d8080c258c528bbe98730c4c864b233718cfae643fd701e5e6bba662e8a3782936795f3c0b1650f272ac1ceec59296f3e9559bd2faf3dbf85a6db9b4c59b769e67c8c722fcddcfcb169db6aad15615ca0b235db96f25e529a3929335538e103186ac660f160b238f1e2021626506cb5b68aabaf8a2bc2c9e687a1927b71b828ab47fc1e7e524a29a594524a299bee95f2a5967df7fd12d9d72bc83e572665724dec8a4456f4d1e5f5b3d545934ff4cd33536b324da7a2aad7eb2de1b997b9fb993fbdcc9d77cd9f636ad8f36796734da1f9ac7ca3a92fb79ffa7213add8f37f0428563f6b9460e180851517e0818c1cac48a0010c9e2f3b5350d981375f29b791aa66d5fc8965febcf25d05b6b0581366899b3a7778f32717df29608819e4e010068931f8f0e6930a45555bfebdb2cd2539a11bcd3e9c696f42891d7a3c2e2b35cc57b262b5e72f397155a9b3e52c89d19e6391fdadd4e404858b21cfde6705983d0e861ce4eed83bcd906b0b9c1d75f1bb68db20f8e07f1f865fffd6bf3bbc58dc328d774c8f46bb6823b16d6b673f9ac84d4ebebb4d7491b5459f3851d0c04bdad2049319c266d0838717ce4f4f782753b501263b5715365b3e0d1e56d98784beab6fadb551761f995f7f7255d9aaf5669cac63b8b113860c6b7478218630aa182f70451054e081c2449d5984ed8c135c5676b8f3c50a2ae86c71470a1630c680ed9947d8f120863d33d099422b872a6b20e0c40a1f3a54444903658ef9620733512c016609193864a6007273450d160d656cc93281b043c4941793324824e1c51d352e0596933b57d2e8f1a23367500f6bcc38e965d1b142a50893031962ecd123c61060734aacf9994f1327454c31c3c4152b5d6ec59e0d8441c6992855524c21e464c185c7ea0a1073a488c283356084a1c50d569e28661292cef985afe1d292e505183062d8028a0c68e8e2040e4eb2f8d29b46f4f16af2c62b8c1d68a0c245e5882d526ad0a20a26aa26990d28c992c59c197e1062c9972ab61c30874b0b2e9cb8f232c5ecc14ef8ee0e0023bbd2ffbe0bda5c277fa4ff5db03e91e2a8b4e55fdfdd0fb37d7d2f0e078a21c5f6d31289d224639b3263a751b59a91f26d14576dab68c8128904c2dd1d87b3d766bf5a6dabb4a84ec5b17ea6367fafd57edf6791d8ab5d67175f948e2879c44ed4dab07ef5c3db62a9f6c75a6bb5bad6a7b5caafef82d75a5badacf75e6b9fe89450ce5a63d693a8bd2d54ebb9ef3ffbb67ad237818f02bb52ab5abf4b65945a1a93516b2da5d456d98755566517fc2c582b08daacdaab78fb9109854e6ab37db62ff67db57edf17a47e5f2c16fbfc522a25a594bac540b572523aef641a9d4beeaa1d4b714a59a5cc138dacf5e7dc63fd5967403e2013b0fecd9f29e79e3f7c17fc28e845951526aa96582bf26c3bd7143c381fdc56f0fbec9c736edd0933822244ca62ce39bfcf7ea312b594da596ba5b5d269e7b41384cac668040ab3e9872e9dfa00b5046dfb63559bda2a4fa2f347d90d5aaf9c878d4d5fa645c6653279711eb2a7a26de6ee1779d2fd98c64d2cbb8afd1ded950ff9defbfd15477bb56f4cb4319ab06362f6a45b1f1c1d28cc2d230c432a8e9e73aebdf0421e73db29adf6032fa66d89c5b4421cce9e8a706ef6f30394674fb45a2d28c8bb86e4900fe18b336d4bbedd868670385bc6d9704579c69d317baa46b68cb3e18a320ddc76f769e5d3c5196f2b56a2af356cb3a7dca5e846defe8f695bf2979143ad45d1010746a56d64e4409c79a8a42c17b5390b957268040000000073150000200c08860462a14820cb2455321f14800b7f92466450188883a11c46411046910c8918040801800083083008991ae301c036605c0b93e873c36d01f09d9164643445029fbbae104a00cb634785b9216a9e10ebaf9052c702d9cac494787685602481675a8301fa905268b49ecfc2f0e13bf2490ab9d7b143bc2de5319c00bd062e79d1ae57a33a214ab4f3f17a2acdf86873c868ec27c66f3ec5526b3bbe2d91faef2b10e86b43ee7efbe72043102afc86d725bbafabcbc2cdd9f92b1d64785e919b23f03aff66f1de60a3918dfc2e234e291a559afb2db9a414fe0ed5d887871dbc5c51f967fad3fb30857eb8e873ce217730610a895da1a58a9d1e7d49432e12c5b0d81de9b9ae73a6c591e19288d5e1fae292f18c1da6202e7791ab569a155698e94131dc941dbbce69faebedc34c19dc7c6f02d95debb9569f3f883b9a42b4df0e6fb233135d89949df7535dd4652b49e454d929a03b6e8f3e1f4b4a1157ee03975852c78c5613f1630bf4af6eee3325cb51f7e3c0da1d4e91780ccb47fbfdab8bf33c21ab9bd9ddf4d8be83c9282e5616757c9bcd8e687ece0eab4bb7e41c6f9d2ab3a8473629d1ec0aeecdaeb3006fd455b73921ad7099851f4b76d3017f06c12880d47ca0ec0aa55546b9c66a5fd92d13b318694fece2c6f34c186e7dcc2cc7bddd2d8d2597dd701a828fddbfd88b7fdda6481e7031a789836864028648d38514491a2cda9db48aa286bc18d898a67d179ce8c45500ac5a0705dc37e8848b847b60b1ef211cf3092bd9fa7ca8c01564e0af407e15d11ee856a25be0cc2f56222f45afd6a191de95b82290f5d6a331dc3f25bb37dae8387149743328fecd04a34aac5c75e9a1822b9c81bd92804bf52e90a2aec4a5073fd97cb0b10f75dff7eb3ae024e126587c8b686cf52262c62df1769038578231ac70a575a47dec4bbc72d08adbc1e8dd0d74dafb6d3e115dc1cfb603c254df403d12466fb9e2a2ec4a4252b5ba26740e1f55f4d3c3ae9799694c207f89cab1d29ad94b129be9e3adae2b960efe936d7ea00de9353c80cf4a84fd125609b272c5f1f19bdc3af7199f791b71aefbd91e455af3c6100406b44da2ce28684ed7e397c6a0c92f8526e59e0d90b5f0ced54293d67db800d98406dbead7bf895e04135607b6e63a0066fa0c481d6902a27d575263e252801f5ec7c6ecd6ac0542666001b8d43de13af10690385782315622e3a6d507d5d08a33ab090387769c3f5cd5b23d4b574d74e310a7d0b085fbdf713e4fa783eae8bba69a13971ef864f381f151712ba48da709fe45f74774085e6b1749b4340e598ab633232ed2dddd4e8e5a346a4f113aceb5dbaac326020f918a76d13d6692892cee463072331d5a222e090d83173ac84f6fb42faf7dae38c8a80d2b7b021c0089a261ddf203742047edac734a452f04ebfb9f719e7bdaad46782fd98411512b93d301f00160a1a291b7bb43dc93b5659994b6c6e202144ae0cda06912822844373592689df94c2313677108fe7054ab2896f8d6044f10754fdf9830def4d74ba30b07add74c4e92adcd17e454366470e67d9bbd78fd61d5b0f41cc79623669e11a5c3f1dae3700a13865e70aca3977f65bb7496e68207dbd7aa402c893c19e77465391d1dd44e661930d9b7879f9fd4a943baa30878822d5070376ab84d87f6536bf4f5ff8969a9da6c49e2f3a18a096b481a32bd6f1e43490b8f9afb354a4e214ad5deac6e778f9ed8c1e8d756a37712292df4930de4ef97954343e08ba279a1f979b60140774a6144789d1e739a927122541b9f1d9c05a2bca8de897133c32db61b0d240c5796b7547fa2eea261d6bb630ed99f7088d8f02662513787c191c277020d4992f1e8f1d694b1942929d2e1dbd7ed91347723aed2fb83730bd7221212337f9fa421cd62d1e9180ee029b2bb2d51947f5adfbf851fe420fcdea2ac35eedcf5b242be425a9fedd9ad4025100eb2df0fa2eeb2bcf7b43f120cde3d7c94bf9eca17512dd0f572423caaa9bf7f90f242db19fb38c71e40581ac9cc4c9de308288a7854926cf70921070bbbcf62736fd2b61a37e08bff035446818e4de40e20e9a0f66410759d8b82ef60f5af205cbe46ce9516828985021464251d113c3892f94805f138dd70d780866bb909645c39eb05ac597f32802cd04d0374ad03eaf109d20c0b67e78aef47a9cf00ce00ceafd68a7c91c0a15f4640559d97a3eaaa4b9a29c8a500ccc4a5a1604de230d17fe4d53c8529b71d5b8f341a36050b4c77b87e06f5cf426e1ed898731877aa91e80d3783ad02e239c8c83e3cb388557861da0aebfc49c8443d4825ccf2080fff73f0f1dbc71ec946f48ca55d8e515977895197835832f1ffb01f1c50f46c8e78edf8e0a8ae18eff8643c69edaf7caa9d9412974b84559b6d872e0840ca40250733d3509cc6c1b0681858cd3e784ee1f9c5f77fa3f3cb4a49524863a234abec4e016cb00bd768ee4fc0c76a50b86d31438f82bfa2ca8536fd7cdd789c84ac017b5bcf56c126840e0c2c99418d0e90e075cd7404abb1b44203c9c6faa6d5dd6fb6b745074c5ac5eee3154dddf421443ac004621b0ede251a3472b15c262447f6bdfd89cca536a82b01339aa8eb29e371d026241f3f3e11526e9bd7f602fa3d30ecaba62e1028ca42f21b43fc6a2a64a16c8ebc668636517a01f48a072aeb0b992074eeee2c5003336a837b013c3e88e2b5b56acbbaf1ad2480cb0b2bf0e02805823fee0485eaab07963041ac6b44737fdd258e36dbc487acd2891f300affb7b94aa71d06e00d754329ee47d95eca473c2f72a0ac33eb71ec23a1b8b6f9fe681592b6477ecfd87e5f2780a8cb65b7cf40a40c011514af8526b910795a04c92d443c2c4a5fa6289b2cbc6608b22f6c908add948c910c584d1f1189b47b9e6f47c8495a990d272f2c0fe48e6de1265f8d0b37cd279cee36ec0d2865177ef112abdad58adb41d27b179850c27241e0b242015a93bbb67cac2114cf97770d00510854f75382c8032dd3f7ba5fa0b22500026e03c9958350d20f133698e244b02ec3d690e453b1172d2153100880ce0748e63646b5c1cf89b719ad803eaaa299e20924484f283a1d1bd9b87ecb9d64bc7208c7cbde5ef177035a92e090418d03c996cdf05706a401e898d508ec4013c83b2283b3457059102d8ebd3272115209275ec7baaf746eabb2987458ce7a5cf00da837a91c0b0c16ee5258be8e7ca8d1f78f95e0eaf57bf8179f106e79d57cce22bdaccbfc914b9b03cdd1a1c99bf124eb24d7621f84abbe912c3be5b258b4624bf3c47aa73bd7f093cf49c09d68c3b00b5c28b32492e932b0a1588a56ad3445515f459f8a9a17c55f4fd800b08126248081c315d227ba247c45bb231dc7f066fe7a6c0b003e3678c3f13fcc8035daad9ae292ad3f23fe1fbd83fde1e34cd937f0cac957cac46a2dc0c55abfdc7cb41dbee1eec8ee4dc6657fd89e7560490f769db61dd86e7ca979e5a55405256f1a5feccacb2e8b69f8e4d521572a5bdd817d6ee50a89e4088a8a789dfc3dd4cd44b09f4d7d4c490389d489a99348afceadc705cac43bd0acf78f937c1cd190943eef8c78a1332d8402ed0b51eed52728bc4b4cfbc52f87f30e0af0a92e0341a83e6524836daf2316f541ca1aae46c3f31493dc83445168f895db85eb1424904a5a66b22a9f4b7db7726b513f9bb6fc9fcf708b9e3a1cd7e751008a5c02f3182c90422869f765e63244476f75bc826a14e0f05323137fe9c9a693dec7b7d9f7448e41627cec7082492a6f86a13a1f38294a9819096844513bfba148854b6819b3369db3e31b4941e22c4f2b64e4eff60ae1dd5f5fbfa2affa7c04160ca53ebbdfe6f801d931a1c9c5edf025edd14e66835394e16c646695b2be660fabc2b75a3ec23f401cefd8e38e3beee8a38eda115ed9e6a5ca03ba648cbc236b8c3f8d63a505b49f1fe442b3efe340f46d9205f681a661bb4975e3d63a3d1d797d27f0cfcd96293587d44dce71a6a0de3e3fc568fcdbaad3eb4b93b3fa05f85e98915b3fadbd63a101c219406a0c71489277082469377a049b01b836faa813fce0dd0112724beb0326093ba5024a932ca50907338aef9b7bd8eeabe3de2cdaedb192f427acc5bb00ed65036893d6eafd9ca879e069a4b296c940277ed835e33c845ec43d105863904c7fa8ebff1f355010e91a85e8334c833f2953b4098e3662a23a29d3ba485b4ecac8306e45cb51725a59a5cc0ef7deebc6a5eed06908abcf1afcba54620c68270e3cf1d6ae6ca5fe7c82ad6cf972880e99c0a36a9fa52799c146b8768012fc5e401104850ca94c6f834ea7f6d0dde32f0c61fb604f3f0c7e40c5a74bd4857115ca9a0b3da36789a415778f3febdb3b8e18ba63bd9608950adf99bd3f7582fe6eef678dec910a66635a4804bc25a479d9c853a3c62ba2bfb8667c2f3a810c6fb2e3ccaf40a002432b0826bf63ae9788f8b2b4d3161673303c3a8a0684ef06c2f8dbfe5e53f65720fb67f7fc59da943f9b18061a4a154bc9d8e6e4841f8d9a1e5c3ef1f4b39bed27c2cf4ad2a9e86fb8ee68110b7c41acc0fa1d6ba73cdf4bd923f2460c502a91db9e07ec3a41e56dbf84b2b220c00836d2281d117f13e926dd673762a602c0a01275d0f225c033523d23c671f1a0818cf47f9a43259b12921c90ea54da492ebecf74a9e8c292902558f6cbbe5eb2c0a6f3889ddf09c22c71c279aa7aeae50e3d00726d1ab615f63c4d57aedd6c2bbc8a5b1e52536c101f6123d732c1dc12e95cb5fd5e8721309ffd85e9f29068d8132c36c46c9167c98639cc503c8c9754ed735478f0642013b681116bc93c5d27032e103f07550fc1a0d764a6dd3a401d0e65b9eb440009080d49e65d02dcee74322bd9f661d62bf07763428fa7ca92f250d3d5b7e0e5b4e74647a0d0d0a4f11e35374993a3d782d97068a6c70ac362f8eb9a8ee5a5d7cc0dd00f8ef75808a9706ee9193151522ae3ccf584f5edb3279f88e13a8572a2cbb0ed992bfa04e2e673b2de40b3e566c8401f1f9975b6e3eacbfca91e16f34f07c23e7601a0798a0afd121bdfc8ac071d9cdeaf745d35ebe68b011bbd2db914e40e258b030f411ceed438aadc30f7e0bcdb98e054797fc7618dae5e2b99e454c0102fa0976e94b00690c56fb3eb646812efe5a1bd16f4dbded8f835d2599646db9f9f1ddb0337066ca9dee2e8298e223c23d933d10e18d4062d22556c2e24edf10b07c9069d4a3895311c8c973e22723cda8ceb1747496559c5a21ca0a13b796b82f828c8ac0680c2e9a8eebf692c8eaaf381a5628944fc43ffdde3e134c26eaa8a2cd5089bc6cbdd72e567f4fcdff7e343a51b5abbcb59783385015caf29bc3e30bcbd309274a2abb39acbbd532b3a9224196e40ee1f20b96b3ead212fa0b3b906014f1493b3642549b9696809ad7064dbcb37ac39499c2bd9e0bb130f9d2fb941464c93096024fa0fc5c6004307881dd78be2b7c94770f5b02d1feb6641d9f30c0a62a03108625884e39b3698682fa306eaac938becca326781071871d801767176368a0bbd35c30de77491b12941eb2554d8f867658fc29a2d88791494101817c21560ec10a3d24271b82791825faec6ec6886c9f383404a7aab5637a834186db548c4fc52f4ede16c026a5f2074947c17e4c3803821c234cf5a157284af4874ab1a84736dd18c7bcd040487e6253439fc6d0c699a8a4417c1d1b0c669286101fc322549503aa01fb8cfabdb84ef413cd0c95ef52a3e2ebabcb2436171bbf52abfd48ef378fd0c6e3cb56a5d7ebad5923af01da956997bc51e6357c8019d1b922ff698d1a588725b937248169c87aa8560e1d549069f8b386082ce1fdbb9df744f99ecc3dc490ce52e18a1ead90ecd65589377f2bf1c482939300d5ad727350a4ebd6a24f4fb11cb93bff249400f0b46744340ed9db37d39cde4954fa923063b90aeebe19973caed8b81a99cc0eca0c02e7e6b4715493266a48c5a0f200158964ee6a209fa80972efa04103ad9e3d5474e46173520aaf67b35409154deaa82588303b70468f5bd2574850c1916c9421e6f072a760089d7ae2823ffb60e364919b37bc15555b9c6e1df6ea8748c761d96524b353f0f1507b89ee10c835f6c3f80b9983839016ef6c8609be5a5f101e9267a3c2ac00b0a9355ee053d70012c9a778e84b2044907704e1b110ef6c0148699c0e065ba0e1dbfe4ab97b9ca6f21d56d2be3cc8106fc7157dd225e542c0e39953f0bb0926af57c0010530258e5786420850b2dc9bfa6052b037d4579202f44877bc509037426091ae85f42090334c31da14762005bea29888136378f58fc2c06032691a40660a678e8fb3024e4d84164e16366d3c12f0530262e0f88f69c2091ea0c45408be154e1a1d331de7169c48ba5f1a33158b60cffe9e68ba0858001b03ef8711098c7f5d1587691a3fe983487e587390eeaada0ee52f1540d6b586cccbe446c440950460fc82784813f4681f159594cd146ce480944b81b64664fb81f4a5d6ce155969834ce75b1bdc36582d1aca61bc36258ef2ec0dbf07524cce2be1d8da7b7bbdecb3aeeedd2a70d0497f87cf98d75293167749f13e7959541825b03cfad5d5000442ea3551a5c058ade1296a21b535b896e9b9d566c3a65eb8fd853f2a18090c9215df4e13cb949f453d9e776e649a587834a5327f9e9efa9c4733216b8ee2789e942e74c8f059f63bc97dd56aca59b5e99fd1960e8a9d8f52b42a007d23d61e016f9a299db578c204fa0dd67a989e4f6abb8a1f839c5cde28e204c24b2c614430239d8b917458375877cbef7b51a632bca58e22e736d4a8bd56ff852c1f150a761504d3a11953b71dada030ed772a84b99d8c268f5a941f45eddca00c67369cc565659460b761789267a82de38638071b305207202cb6a7bb3b4afb8e17fc8d6e4fae9bcd8795ecc7c195443f7ef60f0424db174bccfcca25857d9edd1edb92ccd8c3fc5371e682c9b8f2c47f7f1bc3d04bff754fec00dd182fa4b2f4dc21403c00f358712d9b60d08215efde5067f6df1a968f2c226b1aad2714f5dbe7451c6afce553a8dc245b6b019e5670409e79dfc794e404a5def8c731bbc03b5d8c3326e9f1385e343f07e20fe24887201cd43c757e2cbc8abc0f9ce2648ac03af77a7caf55591c4b0e6b24d701d507c11090a888ec000e05ca77ffbbf8b6f083faaa8f643cf5b0a67dc26c00b84f283a4a811e38c081006e4c6c65b23f993e8690a6cade0e456af8e064ced5ead472464dc21a2b6cda608c960d34ea811c2baf113af919e28ce5b301781ab56267260566382546cf6d44f06edc619644ec56675f52c9b494d5543ec80701c8e10fe67768dc8070350713bc41fb1c2ed1853aaff781c4b3d3bd062b30805f9d962dd0d25e44afb0a767b08101ebd7c89b95d4de657a8d062ba98e712ed17b9d8952036edfde28067456b2d78b635428c99220621f8a32e277b088b0d1e051f01213fd21326f44cda3d44eec152576ed4245931230fa89a9d907ee9bb2d18931c21b058bb38b7696c91eda486e02ee5167644ededf7a39d5ace3b36787430674534f6bae3d5118c733a2a4e1b15071950b040cb264044eb9f514adc1133251ec35f3cf4c6d2d785776bf7d6d4f2c90113992b7f673b580105ca75840aaa87f0af7f37f15961cd4c015ac294308b36a852ab56dccb4b51bc1ee35c7e4d5f8da47858e6c064c5b98315d84517a7bdf354d2b4068e51f712d67842134fc570bfb3bc0a7bb87a72fa1115ad3f1b181dbf5589f39186abcb8a92721c9aaf1474e0158cbea552b4f976824e427cabb70979db06a3949c59750c87eca3a25869ea918db6dbce14346ad2f6acafc21a55d14aa84f66198e4cb7969a85f22bb204c29ca63db4aab4d434b0aabf64da6d1b5cf335de4d85669142731db1db37d925a1bc979eb1ec090a8c34cb69ad7f023e81f0ac2197ffae56d64e920cc18ea191b7d35bcf8aced5ccfde081b0cd9e3dee5c59d6d921e91116d07511507513899df31a849dd52833adeb6652741ba5fd3adab9d939f6bdee723713318535ecd4359777e3364ed58a21bf99587b17ce233b7d179a0afc5a8a40701d0d36deff0477e4da4c3cc66f1233fdf364fcb692233f31f1fc24e432fd0d0afcd55a6a9960345c18f267a3afe1101982cbb45f613e97e6b274a97a0183e2590e1cbe0f8f69551e93da6b51c5e3d9933ba1ff9be789f90973719aad928a60d0b8b022b47f356e1eb45c3ba552493d39f8578b463121d40a4ac3710a5787d011f616f8150650c2f323f051579096a056984add9d061eb4af6bf12a34ff1526e8771f26c4a90d75bb3ff78a637c4874a9df550adb7cc66e81af3252588becd7fe754172f074f60cf0aaee62d9594d2d35d55554457d60e61123198ea6e6094b2acd6d8231efa30241b30f108511638ec3d9f9a7a79d3c0927fb5520d9e7cda7fbfa82578217eaebb7c49a9dab6c26728918c3d47bc7aaee825835d1671c6a416737bc8be64da5b08ae929431ae7629a1569414b9a1cbd1580cc4374e9af8d4feb477ae696aee3c4a4cc3d186681f268d5b4615d8824c670405ff5a159864ae95b6e3de338785a22f998b88bb2b57e13017e04dd3f8a234e76a362106a1fff8a9c5a084af2a130cd85a8c2c872a87473b68fdb2c6394e77bd0e4de60ff1a96bd25009c6dd697e05ff0683aebb6b618c8a6c58d164182601c295507c77cfc97672e5f0969a6f9390b97576b3372a44992227b323e97d49ce54f4511362fe0f5729c7ca9b2ab51497dfefa6fb7b4dcd6564bfbb6d38ffcf8b9f5d47baba5e5f6b65ab6b7ed4bc59bffccac19f3e7cef25c669bdbd7d938ad5b650705a82fc352624c773d07dc5006a7a37cbf688a7196baa3e8318443ea8eeeb11c60f029a752d796894901bfb268901b495fd616c7380fae593b20ef8a909b08e0740288a81ea2ffbea543ec3217539a85935666e07d905818e941dd9e5263b2fb99a487c8bc78a323814174d83184c9ab8dc28f43e98e37475075cc8bf5c7ea0b0764de083d42e263052b65bfd043fe9c0ff2c3c60b975ca31482a356aee1995406cfabc5f7ca7b8b3adb645499c88e9437279da5132a1617262041576bbf37366ed3135e04e055edf7611725f47fa1772c453a8c05e5f1434de9055c607d419ab467fe1b99b443b2152e2d4fb75baebe53b8126b361695630e17fce2502b2982c8e3d94ba29e33314b5919bf5bad21692715be53963e4cd8a9e337e5ede8920d9dbd6141225bbb053ebcf62cc1890713a03698635c1e4fb771c2a6f63ead0cb910b3062b37892f2f63aa24fc38488e3ba4172edebfc9b4dce25bdb9be9a50f6c62c50fcba5a1c49190262d66be6825188b2dac1f8fd415a7047392808aab0973c7aa147c7963b88f369c210be55a515873fc69eac705adbe0f9d75545976446c70c2c281039b7060cf98e8ae8ac13325b318cc19598e86c42b398d608e5a552effd373ea2060f9562f4bb09dd71ffa1fa956ce9fee9a003bc6af0209e193841c49beabb642d53e2c2f3a265830e0c38505efb6c4554c7271617fb6531429260c58b0e1c0833736626d37617d807d96298a84192e3c3861e1317c777a742d143c079a013d6cd709d81202d5999c97cbd8d96c04c54e89db4a4fa6356f8cf65eb4abe1bbf16fd9005ef3c4d083ab4393b0c656a19f40eb3917d6c37dfa94ac194f9f8d6fdcf32c8fc357d44e884425f8a4bc2417d6d261c22ea3eee967278c84d32dc437d01bfeeafc50002c8057c89cc7f2fb250dae1c53ef8dd2ad2505d04a594148711352aec61365913f883e4976d8919bc1950a5d06a5cb995c2949222ea27b0a8466b4a8760dc94508a308caa1e028c5bdb131e1e00bcd5cd59fb5c32bd8c41d1091c4eac39d1643189860e0c339dc148c1b8210ae7203ee9496af137c756046046465cc7d388ebdc414cac6062f42d27dbbfc0bfec5cde6544ab83d2b4912e35925d85dc39f008054e3f7b9632bde80b0ea8cc68511166e8cae553318a6303b830723cb727cb54346af2e56c14096a10c6d6c31e6968f54d01fa36218eaabb379e1ca859020a6050f3d4ea1e3135b0092e01cac435739b170e6bf16f91235347bfea34f54a5fe1bbbfffe2d87c9b018789b6d7b31275b89fb8838ef4da78e21ab57b545ab16addbded21a82c9009bdb6b5240537bf44338bc0db99f9c69392cb7503a1c138d0991cabbc18cdd40862f1998f18257ee36b05c6c5289a06e24a2f7f7ece1814ce2f687a6852077aa2a0b8f9835a1d50163851c2b7bde22717f4f79b6077dbcf0e0fe19300c7509af1980ccff6929e8c859e09848a20d0d8d70ccb7d4505f39663318e3652860e242ad5de0666ca7b131e0b6a9d2f6bbf1dd61cb2b62da2874145d252b505556bb423c5943e03679f9f7abd2a8ebec25567cf6a4140d2c4574c050d0d21d366234fa5d6ead1d54b9145ab9144f2c36050e9b041e30ea08bfb1512d79baa235f1548268b75f61a22f8ca6f1bbd1686f179576dca2641057576e9a4e0fdc698500ca23e9d22227869e1e52b9ff4262516a2438eb1a183b43328ac1399365a20bb5258e323fdee4df01c637c4a417419749736a1511b4267b82125f4272125702a771eaaf723fbe9eb6bf7535ee0ffc21c5b80b2fef14c0b38747bfff9542b1a8165dfa9675c24e73f1cf2549fa3af05b88a265c0d4b35fcd6ca3804cc783496795932baeefc1a4aaad32afc495c60dc12b62dabe1d3b39b78b21f5f1b8ad5eeaac5df48d92bb880feb4c86fae9411078966ebaf1132e0515998428d222be11fef34fdf2bbbf0a00f36e83f88850e0722e108ca2589c6635dddc24102594fc8ab1922d2e6949c7f7ad05e73c8059f9f5d096d85042d886b7342c27d2cc9d25dcdd0815c577853dede892466bdd341783890be3dcbabe31ec2588151e572b64ddf411fc75bae7d837886adad980cd34aa04916898ec8a34a4ec67547f9ca1bfeded5bbc660c59676df7c2db18a676b3bde1da2f19ed724a742a0e9029c9ea60a88a08fb8bca41c31e40916bd9169ba0d52abd10e210f5d9d1a05c3f130ab4d9a40c2076f477e1bcbb78aababea234826109af8de42b05c7a4484a97f1039abcf53b4d9751de4a251816a8d5abecec7bfaac4727c5dfbf8e6ef971662444f45d37e7fefd003cbee3d66ad99f5f819f98573ace32d3eb00b96689545646a1f499da5d08578af8468329a43a34246afa85882f592d43b97425a75544bbafee80701dd8e33a024aafd133f8803d74c01000734ba21594af50051da4706724a674b11bb986d27c803c43d680d5cac8f9ea06f8404e445948703ea71b293b9b38f853cb28bbb2ff5f50f479d804a84590eeca11f6d4ac5803f57a412217434d75ba365d2b19e2d7979e0282585da82ea5836316bb7e296a7ce8d5e2589f5d5e906c930ef978a4211780a423f4432cf4147b2978c66112f8f25f7de62005aabcc41f7f184637c8a86d2677e72370a607773de10536989cb2913a6a81531577c4ed9ab20cbb596acc2975b83fe25e67255914250c64c13d8763fecb0292de5aababeba42a394a452e0338e1278438c1d4a3ef3376180e1304e1cb75c8fa0f149c58844551023bd6c72560e2fa1535878097f6f88ba3480b9865fbd5f9f07a51c6c9ec5883c55a72dd9c83a9ba9e26a3009e0a6dbfabf22fa70628aeb6543b3fafd1091b40ff13a520b7041ed8d7c2d266a8139e6d8e66ad2bedad8472695bbb8819f899ca8058b59e6eed40d65821c15d7370b788438603eeb01b811cedd35a790f230834634b153202007cea46f4ee6ab5c9d2ab7188811c8872323e90d5276df13dbdb91423c23ee1488683ebc6df024bce6bc70d5e08940622d5b0142d9377ab924d352f28396df3859d1f30f83ef1ca6d33f63b5951ee4c540c78ddb490e461b1de4bcd3181dc5d6c22dbef90ac7fcc32b859a2eccf39c1012775cd493f987a7b8d252313fdab20fe961ab5afcba56bb2b15e045991a04eb972eda8a5eef0de36a88f622c0c45e6a4250ab35947a210874e155058ff8bc1ef8b8db79c995c05cf930d983a9435da3be16582dd16b220b9ac609cf4f2cb42ef98083239970252fc73640c07b7ae0e077401c844cb2868aa39641290e2bca14225dfbacd72a6a58c0ccccbd3aa0d33e521cb74bc42274228a5da2d8f7220cb650cfc0f19020b312e68e692b2efe1203e4c24d49419951df4e62b20b42755c0156bc23314dba5b624d06182c70afc07bfb8117fc858ef52a526e4a30aae1488b7d39425d85b68aac601a6de239c06a44e233c37f55d4d3482ad40e74769c7638b9b8b8357516cb716d9dc8fe34186162c749c900d1dd0b5de67bcb1ad9179115885fe14ff50049b1a4b14c5c606770df1d8683693d7af9bda63d46485d75f318d519719d39fb2fec2c2102ed10c9c6cd2240f5b83c4ee8d1f7ff72dd5566d803867ac79132fbbbb04a9ec23426f5238925ebbbe2f273c3c085bf00203f32c2f19a18215c4e39df73ed8909e4e1a9e87f9e50cee182d03c2e80edba9fa3cdcfe6f27fbd55014082e2781c8616909f735f3ddc791377c8c480d5376c4f58cbec8e57c5af6b1b1b5aa91041da9693964e322a86a93a2b2974fc32e686d062a2521ca456c06f61386b3a71bfd760018075b5434e0363115e49e83e0e0272e533f03d81dfdca1ad7b8ea42b0cb395c1b2a4fe89dfb33caf477bdd71ddddeafb84a2bd9b8d396c521dc816b9b716882080bb3e5025d1cb43157c4a8f758af06823367f1d2daa6e6de364da4afe781e9aa81355d6d20412e9629fd30be963e4970fb63d30b62470aa3968f97c8e87f75d1e590851512e468a6a74121d39368d7f20d17d7aca5d3e2a4a3bbd6d7cf6012e4ce1c37013d34532496a3dfdbf726a7464ea0f7c9f4e0966d45ab5fbae5e3cee878edc47b55392fbfc51fd7da875aa37044df225c1bc6f375e7d3dac64c5a816f27767d6167f358a9088bdaa99f4d63ce294c2dc80cd5f4f41c780a5277bf8956ae51e809609ea093276ded7c676a424d31e725e775a31addd9dbf3aabb523058f46b8c9f2d53d93117042f9341f5323a3826661eb053b2856b93d36182d5f7f553b1c550ba7621a924bfb201560ddba64c427e90f8d6be8b033b677347ebc32690f4b9747ca8f45b33fa76aac23f8497d1c8ac4bf84e6764ad50ac0fb1f12947ceae343111308c663ab5857b97e3e893697980ef2d7b43e935f69cb49e6bb1fa920166580b164bc60d46f36d9a5c6f00f6b9fec1ae762f3d4ce55fca718049c23eaf938cc1f4380d9c33b7ca0598e70d4265cd938f1d47b020679ffaa9e2582c73e80aa8b43ebb422a46ec706c626ccfde983b4bb5b5c8fcf2a9c98713cddc04ff2e4398d575a10a28bb5ab947ddaf3035bbae79229976692867cc6226f74881f3762d7157cf2b10ea04de73b3fbb835931392c094f8294d9a891264f3282080024cfe06c9d177c3fe76e9cdb7f83e94379b18c5b31c2a95e0f6ce9a3742b34d80a92c75931553fae340c295a47fcb26aa7363870d68e9b2ae5d18790a7677046902eae2c87877bbf3f39444bba5dde4695e239060ae4dbc762ab1654f9181de1f02fc90408c60daa7c1a19a8b578e513b639c73e2c7eca050d2a17f1af23352cd409f79a7a1232295690b34524308866e974a9a6745bc9b09c0a316be58605a09d91d26470e5155fffbdd9e4bc12a3103691018c2f1c8ceee50e8849044c9213ec3218499c488a2e71e3d3f751fe54ab4ce136b76aeef877271bd03199402d2268eec318341d7404234c3ce4a5a6153420f6ffb19f12f47bea20f00f1a391bfb2f847ea8daef0039f0e318c04de382998383406ac6b9083371699e3965fc1aa5a589ad7205a19a728b63f9bdd770e4dde428f77cecac5782e6f30923ce3055f2f3a4f72dd98e47963f31449016bc20164d0e2803278942b8ed16efd8c6d3c05982917db859902e26b26f07a0675d1c5e1b951d3ebae90b522c41d2ce0f3f5b2b2fcda0e761012183849e52122c0254ae5c49c3b7484eff9060ceda08b9c2dec3c890e6524f73f67f292a32a5d6ed28030029755a12c6fd4a673a3fcd2abc6f0059a164a407358e4aef669683722b64c2387777ddc8a03f9e2e1d6a6ead72c35e3c4255ff6e3824fdf605926bed4196da8441561cbb5e427c95bad341af5695449a508da41a3b1ac423ca303fdf982414044b6bd471fcd1bfebc5a2e2c55d055f31557d34f525388960067a8a548c512ac09f545ed6a49328d84523c937c98461696f62d9b29feac13f65d7093985463bc9b2e25dcbfd03e41501ce13ce6bd774ecfb90066df1853b542a8b5945389be599f3bd5e6a85fb13dad6f58a337460b644a3ab6c0169403904eef7e2ee5e9dd67d22f4571d5d71aef7a8660479a71fcabb0337252ada75028a907ffe861cfb48eda7d8c4ff3bd89c1cbefc22a542c06289622951cd8ce8433918aa1dfa7d6e0fb16e51c7c0cb95b06e024d0e0d6255407463d52655bc3c26425dec54c5c3326f007a504f8300204c23f62e3be8e884518c014cbe3505c17fd7ffbc1ab612b35e1ba3620222bddfad206e726762be3ee9fee1a0b97d3e0cf3881833367544904a0334fb523c271f0245139cd160d3803a858c3bd5ffc9a304504a7ef2aee4be633c49b4f0df28f7519d7c77112d820d51995149643fc818714ddcf8f4945eb7b6021e22929a9a5058882bcab3bca6ce0bf9c410fe07591b279046e75c94f3b0b290de1bf08710d6e64c673e505135973491f626953d7762209d39206c1fc044518c902e9a9cfbfd8d4c72355da23afd257aa5f4effce1ddc99f80ccb9a602ee3446fdae0ac111a8e6054c88ea13223063b4c13998098a548f865decddb8fe5c7b2c13695695efc8f73609835f13584dc034082b7eff437d4943b134d77c061a7949bf7cebf0e2f5c7a6f53d06e7c8991c4a4a71f44ba6912ea22f57761e0869246d3a51d48cd089c5665cfc39907b454cd420b31b11d15e2c1d58c4ecb4fac868e5a6dd8ec2760644c858fdf8bc3f717b1e58a2cb7d4556b02aa9313ea017c9f2f956ee2e198f3b99f65fd44d4c87b3794958bf9f2bc42459d9e224a6e07712205a1bc59797acc19957f38a27cfbaaf9c4d7610e24433277685b14ab1530ae93f6ae8de6896fe7679a10122f067364c7648287f4d7a4a5191b3224e6dc4c1f4372448f21d5ed8b19ccbaf2b9148d2fe7287904d860cbc7beaee0509960cf8509c6764e3e8cc3c0495851f563dfa26eb0a36e8eba90a1b14848e5a88a765f6e742fbb7bf1916e25386e193d17ff12d20072259b46e90c72486ff9c190c544e57146be1547292c02841bf3c1ea50f7c7178ba35437104810415dc5ce51640389858a76a78cc779f5e0aa96754870f755db1d0fe2e1f6c84f263eada0f17128f88b954fd202c113697e53b0d7115be3c6331c08712b2faf4c4c311e69d7e4584ddc569959c1274c4795e2885fabbc34082b9d58a2f6d841c00ef1374f7d9e3c34fcea8b2583a5cff06813a40b0a121f9b6141f1d2902aa311da46b46e6e4ca0455650f40863afcf79c0fdab21ff277553b0993efe82cd7a8641ee09ec41d687c1ec4ffaf8144a72655d92b3711e2082a2f371b473d3f48480f0168a8e75d8ca250301605acbc8c42e9f55bf1e09d7b3cf081430045db96c6544ca2c84c3ae6c6911b250d3f7c077d32009b29a20f0e19ed7b9d02943121a3a479e1abd974e90a7377d8cbed86a9f59a5c2f95215b348dccd2d8dbe426d12168285560bd1413ab9b449e80125a866ca1899c7515ded93e710376b117ecf503ff788fffc3de868d59a94e2957e1ac91819743950249ef4f754a0daa2f6061cad53ea45cc570c180a4a11968afdb44512fe6bfbaced492f337b400de21d5ebdc3fca8fd8009f82ed66702b77b2d23b91adc32854a6b3aac106d8c024028c80d60e629830f2b0379a74ab439ec66df7d383aeb070c006e16134497f727ba18da09a5115168a4942dc637520c34283e0259b877efdf43e86ad00c6dd3467d14e8b2b284cfef1df6f6f1b559cc67f5010768eb42d00f8a2c0684773277c5fe28be73da713985e0663fc71061d7e8857605ac77ff7d8d5ecfc664e66a9898eb2dface1640508889498dfedd19c608205c1a9c659f4c6f948bd933196d7fa2a6ac65eca782e181d32f183aa41707d0ce1132fd0e1fb2e0ac50633d11e4aafa241ffc75090121b12ec8b4b75fb6b90effe6d7e6f91b113a27a459d4ba9363b2f028915aa9bc382a5ca984c0434d4bc86b150d6a830094d542f6108334024274513067cf6a85026704f70ae31657f9e6f64cec181ab6fc2ef1718a55ec9ba1cdc034fbf8bb36b57b7c7ba59c8a0887fdfa3b44d8c8fc73dfdb419a8fbdc42844b7384ca672518cbdd462c31336e11b99be60519ee4bc4a2c3113231b9d41cf38279a48a5474807e20e23c0c03186ab31054dad6dae141e61b54d45566deb88c896f9317c5cc554548968a3a203d448a621861d4dd9a22be29e825090432bc38efe9e4d36efe3f85c73cd561ada1b1c9b9981833194eb66b5d9141ec4bd9098f0beca124c967c7baee2bd11a065a7078e7e112ff828bdd9bd9358725c82687a4d3ca357ff1d105240a71153b9f48ea432dc02014942f4c2ef0529189148cbd174a5a285f62582c1b8382b9355ad48dbae5e298bd95006ed427a3e063894364c7638a2d32d4d8909ee27c868083fa048ca61ea5bfd40659c1d157e1f8e1ef980e5b1c8a3bc3a96fd16543b5fba499d6cea86e0aa212fb65e251ffc03a287381a39fa580a807817823727a713f1493099ee105e630f86300735b3e33ce18de53f8825edeb0b01be1707167e56bb536a5612a27f873a82e94b0e8e6a5866f3db4271a4d32a37a4894a202ab4e9919ec58efa8ee81c202ebca68632361f300277146e986eee1921fa33dcabd0cfe8d6d6e6e1c6c3bf3b20746b8428a5a7631460b58e28e51c8b36ce13302eddea5565470e303cc51b63f103edab20ebc097550e82970c885acd4643f32e3513952904484db1216bc5913e4ec0e28c20df7a59493dd7fbf4a07e911436c43462f0dd24ddcb8ca621f30d6d4fbf41c14f36c1df34f3157ba4220ca42050e1f507363eedd3f0a204239b5bc4506ee6112437d4d987bc6e803450c8f9c7eb906c0d8d2ca6ae5ca8a457133718e38fd2acfdd748391d35a6cdd66bea1536f0630464190ec56ed804c93ec6c9dd03cd9be60dc5e0dbf1d6a201a27a66c7584c36c5846122e0e477b77c2c3aa03f2010087bc40747662086dc4c42f01a9d3b3253ee03737355fbafe81902f6d3dc29b6551c186f29e40bd7b34042854783ea39b5b11a1407c7b29acf1a21ff471558817d86272687b1595a5d797723001dce262426760302468b51fa5f198d7d53c2ba17f5d8e264872c38c94edf704ba440d69de0dd192f90a2a19459f5a571d97e110f2c765475fd5080f845684562078bc02f7d2596eb5a61815bf8aa168aaa6fb9e4084ee889b8c9e407a4c33458a869df64e3ad11987162aa81877a7bc446580798fc4ace5b849cc24cbcacf80b87299c8312bf349308b6c9483184423a5d2b84b82dc292a7e6e6fad0186093acfd5bdcb4ad4e149865496ec972fa99ee52c0841a6b6d8c1a006216a12a2983651001773bd9777ea0c155b750813624565536c67c95ba424be387e0bae3e6696216bf8280d07936331c07dffadb262adf94280e7ef2c86e856a67df05a0354e903458995a60b933a88cda070cea4786ed967d0e538b20b844817e0c374100e825f040341f4275bc429d0f3dec27250483136e158714eee679ca8c4a19a2565dbe4ea3fdde8ec8168763449d420e33c02e994f07ca0349d203dcad41ad11c74700d5e9e067d0652b5952b99ca4ecae6f3f5199a3e067fad0a0a6bf92e4a77cbb6fa383f1717d6962739b9dbc0b2ea8cdd27b1d84ae3d847a1593c8c0412a3ec1b146638b18ffab4345f59d77b9596e72940a2f717cfdbe540d4af0f6a58586dc6144e1845e4d09253b705e3a8009c17a0ab9c3555bf01e6c831f7c1fa860465ba6ac92cc5d4eb2dc0ce4020ca01f024efea039e40bec74d4cb86441a46403221058d15232fa35b9abe8ca9102d49a888df1485250c20da44e4c4de804da084617cd06b38272b6cbe0a3935891f591a16b535460425f985139f6a08d996acf3870a55244c2a3fb417149dbf56ce592dda52724dd2b71c117422679d3c08b76cdb7d44fd3dd8383e0a40bb9282809bce6c9beb68494cb8534c389b61dd14d15126924fc1e1b0e0471c38d162f6f2ad9f2c58b4c42fe6651d686165f526b5be1b1cb93033d13eb2dc6eece32c770a258b8f1427c181b8fbc0bd0fd6fda393de471b38e8380c6dea173cf6da02288280a574fb214937c7e5713e42f063e08a989b8d2ccf26e0f7e93a10bce4ddcd2120055a8e15c37826555ce86a130e9ca1c5f6ee67304e946268509e1345aa3591ff3ce0f84aec4fceaaeac69f5234a7cea7c0f4b9f42ad6f43b946094841f852b54c5ad8e478ac2c550a458ba2cae3b4e14622aec8fe9f16166187152d2acc238785f004b04e35a7154f5e8374d00082081bc1a6a0afc7d85567dc4c897e6762f2020a470ffbce9d39d935b0de7132ce61116ca09d324f87cfecc802eb01daeebc2833a18156e7f307ae091c43df172a9306b4668a1ab310993f83cc155009ec25feeb1841da6644411990ab6bb9c30c87e342370f3c0cd4c2b2d8428128f171ef7462710a628f91d9f6a99ec01896f728906464a40874cb630cfc7b63bbadb3f5d8680dd7b08cdf1313d2ea89f99e67f03b27e17376412af25e1068f00fa152e4668b4b9ffc26ef88309142098ede1cde07d8a84f4213bdea3f9798bca427a26d01d15e14218335240916cb17eb5912ae8739ebb485e831206d70a46360c1e17eed1545765507f865588ca7dcfdf3b38c624d8e68fc857d0896dcbe82a085164702676a111111a7da507b657043f813ee3df58e0e3444dc9fbb4acc097709c90c5fa1450b4d0e554342beaecf5edda1a358e880150c53e41f4c2ec859c6832253a05764dfc08b0b42035f19a716c5708efb74dffd478fe0f153318972c163304c0cd4843fcb6aa91a28fa13e078dbc3713a17158ab5df139af6ca377194d614bd063ec4bfc445536e083a71bb898e4c30fc2cdd9750ca2483f15782cc0de6aba02b234ebc5377a93f222c256a1dcc153265ed46a7d3ba631378812081ee7c3f8ce7abffcddca0b90993518fcd627644a90c948cc42bc6eb81355acfde59e168256defc537a628a8910df2db3171778059868c033bb58fd14ed9174e5bf8b583c662a5076e7e8d72c1c61745c53981f3ee64ecf01be851a3490cecb64e7063e88fb347ffd1dcfb4a2c01efb62cb74c4e76d459a29d72f122008c76126b17c17d483b7159da09ccc0a1cb71a7aab41f99a4b497479972191200e2543ec710685c4a281ca907c43b724bb6827b50632b2c656edbf42699f21ce14ffd8406f7514c3c6614876439f708893aa7213364db8e2014bb7d154969fca2f52fbd8f7e0d7e9caa52fa65885d3c4d548c76b20882bd19026b17476937c3e0b31f9a2440c08ddc726332df18ee47a21bcdfba479f799bdace32975ee7f51fdc78adf73e2d7c23678bc437d6810b14eb40ed3fb9c41a6592542f4ac67e515192f7f44a7f08523c9d1e26cde4f5005f316aaf59dc30b3bff5edfb17e4da9ccc661541c68fd67063aabec221ec462ef0e0257ea9fee2ebecc45633ed737326888fef0d64ce7d9cbe57aaa69b2f5b2400d34f8a9976f37fb894cb47d45e389b86c283c7ca5d099d298e8413e8ea2237a1ca874e7f2456e60f63b30a83366adbcc25e036db9ab34fecd580f4bfac23d3e196b957002a2244b6fe194a84cedeb36673fa83c38386eb7a81e131a3159708ec3d41b80ae1c10b2d3876b4aa1b96da21c901219dc04acbdadc8e6f40d95611007f7f63ba35987e5d3c05ad3d85ef5e7e43daf8903d7fbf5e095a575b54f2d8202cf04d6229c15a727f068d3db1e38f004bdb7cbeffa5248e28c787cb0708477c0ba94783deef3bc84dc9b33e86c04255332f45fce255d5661a1ff824caf860477bfc3b1db08607456d20364d2a477db4feda4200659db1e596d09049916a1e55c5bf81f350e4841c77d54acdf7cd17b8d6480a4a2f65a56c14439b0308fe9ed184ddc03004595b4a2cce02afee26ad904e8265110f05022900be6eaacf1e4cd091b3a27f5a71db77475dbf4826cb80f3314bdf2faa54d3543c93b20de6dab0b51bcd126fd1d1e1c7c149d987a50e951ae02be3d4440d70f0bdc045e5519c289393068b67bda7602a483b9c6db047faed6504383a7ddd0c447118c17d9f452b8a9c43b2c4f41537f28ba06a36b7a958dfcecac888c69a0416092406086107239e0ccccbad3eda9890cfc384964ef81d264ba91427101655bb76ab28f4b8642892899a53f06b62b3f6ccfe527c305eaa36123f9e8760dd35185e4a86cc97002788721e564c71a37118b6eecee530b637a8d26296c9001865434d043a163a3736707936e981fddfd6bc2839e48a87978ef2f73330895f23da5f1e67522ec48017c30f7647cd9860f3251662e99317d76e5d6c02f806a420d13e131b0a4707a44b5665db6932cc16a377143d715d9eafefedf66e88a0e5a704d6c1adbe70caa8a079c3e1925d1da1ce2c8c5384f5f09cac8d9dc011417befd9a9078a68e98d7063bb89aa49940d700c7daf1a2e86adccc48890a8dd89a25650fa8029845cb257a029036dec0abbe7ae8421b9b1cbfd6429f8d7de14d98b961fdf6f66cdb061d9d0b2da61bc2c49d80ec6c12836d991aca1abde0417341a40724685decd1ab338bf4012afd49234093e30fecf98f46617b187f80587b09e3702692457edc41dbd9d3ff873f2bde2b5ce848576018fe8c00db6621fa9e7ffe58135849b7908d39c012d88e5db6ac8ea13f52ee0dab23654afb99ee77a41d24978ee7db3fab3daeb0b368031b7aa6578d95892a02da16daf30afeee63bc7c8c79e7433ab54d19d9138a3bf5e1231a873b395f2e4fdd234925a592545674f1bbde96b6ac09a0581599609daa3dcbab68f0c711e7253c0945b07646ff17c11ed6be6f5032de863b5b6859d94657971bead6c775032750ba3634d20be8843312e98106ad4b7aebf1897fc3d1028284c7e6101ca9df18af905e626cef1a6384c444c2a169358c6d26115678419d070075e632bc8336e57ffacf4a9e15bf2daddbb441ff5762d1f5811df6fc1b0b148fd41b83f81f99c5dc2502834ce86332f188ce702f4ab8ecfc8e888fd2b86f5b2d8e5290530fc63b6204238f5f5613d268a439af5da9d7da83bf5b12502b560562b288506b6f0b4c2169366f52a1857fcc3a57642baa18ee0e81b12fab6155fba761b6a1bbb409be4aa1a174795445b7831f593c21a03daa9f297c37086a5af55f270ae20a824e0dbab33c660bf3df23ea0c12e0d5066ef476313bd2176bfa2ff498ff66c4d87b2cd55564240da74b00e51d89a3b0ba786ac8a79d8a51991c72bd019ffc7685012508275805a0f29267d8d2d60b3987b592cc6113db51fa258e09f2e56558188e759b8fb65cf365e817789e077be05c449479f881dcfbe804c7402363ff4414d6e1fb33a2c3b2372e86f5a0c9824662c532574f0f34b946ac385a4c36630848cdf1554cb7947eb69ff925aad6dd4cc05cd54c838fca2f716d5c5b8ddf34bc46cc18a8159a0520b1236de2702cb3e845f4c64531d36253e61453ba7fee8f856ea9ecd8ed2dfa3e342aeab2b3ec8eb1a54a8d6d7bd6583225ca370e5669d1e0bd99d9d161c59aa1e98d4a598569bd8b3004cc1cc574b3ec516a6d192e732ba64bf67118c8cce003ef33a7eecb6eea6d968b37c43125e149275207e65703cdf4c57f7d62628aba2c0d7143b8df08a521734ba6029997b8cf77354b76435b8999d62331b7232f6675c72582fd439773cc46457f3525ac2f6caf012c81df3a3996f933b68bcf254bdde53904716178498319218680f462a8f37daa7d2721213a5f52cd8536a52801d705384c787913bec708d5ef05899685298375f1788f449a13b8f9400bcf4b138af7f6db501847ca52102c475a99927f46d0ec5617417f29e5402fef1505866d4e1c2cb188a29640f17a433932f50dd7dcb1727b397a86236afadae551c8c7797396f796a69e102e14111700806f26a1a8ab19a60ef6ee4e00f27d3b92c3e9c19b89ecd3ade61d412233a489e16b39034262f300f56d29b88a482166e6dbe66f486f93ea55aa4bda7b9d330487df3af3d95c3190b6fe91642d46dcba800627badf241ebfe508ebf586b5b11f96c1261900f9cad0af8c844e360b48c8c12700a632b2aac83f32405916a6e891c7e5565f4fc989e55344a48534c5ec67dead2719c8d424a9aafa1110fbc9d876029a08e51783274f7ac1735fd7533a76d5277d52c19cbabf13d8d23e388f7886a4e2acd8318229ee35c861a5f371c90a280409e8b43727cd74f84bf099e9cd879000b29489758450354612dae14d44ef11fb20c8734a27ff926653e05c0a8ad8f74ede86ce9dd789f18c5ed10f8d8926db630bc5951406ddda06c5e6b4b87cfc07a5ceafd61c12d985c235299d0ef935f2505fdc4b411009ee7c574a9ad1ee4be3ab548f989ec152bb728b0a557df863444c3eb87db2ed7719e60688815943c9758b1ad782f023de0b5d7ec0232a59bd5fc44263dd0ab7368c60a4aeb37f7a7f20b15afa06c8ad16cc8e35fea3af6a5b052605ba37c57eddc911c540b500e67257d8d9ca5629226a2d3f9fec4de70ed7df911bcee057e3faf67c928523535b6e9887e836bf711108f6c2df98b5054adfa291ece74c067eb959e1e2f7e7647536a7f8ed5be4021e0ee1dc8eae93a0fcf5bd9fbe4744630d243ef2bd81f073ee1f125072f2eb4e8e083ebefd67536b45b825768c11f8833054b701acf775c2d954859f1454e2709dfbe2d24f1f32e03360727bda7eaf71214ed661f2f136a219fc2a967e30ef5f677cacd8857168aa87a011a2d2de3a31305757a76ee7116a6c4920f7f8c973ed1671e3d783d7f46c31ff4cf9ec2d9d67f1aeefd20f86b41b0d20c1ce34d162da30d9fae2e244831f28c01e3b333fcd300591c55e598f515ec0ea16c38babab320fba40a843023986cb068d8a5b747e20d4eeceb8fbbbc9899c7702992692a22b51c70c226f06424ddb0147932bde5aecd805ae1201f1a4ca78e5083ba30730a621a252d079ce228cd2d5b5ae92d882c3919cfbdf08d62779026b18f0f8db09ca123b1939b00a7718e7d398e75d7f78e96cc8333f13c0f1b1d653f0b8d679de07c4d1da0a419a04da839745b75a1c4288c1c01b9c23f50b3a8b4a9da6900d03f703aa87604adfd4a5fc93f202b34ad054ddfa27ef55ed214323b1efb217e9546ce32414aeda09cf6ea796722d2986107df054ae36a7735189c5c471fea47c868c552bf43f890742bc9c91e8e81c84786fba84aef99ea6f67248a5365afb2c1d36ba458571c4b58ccf487d292834ebe6e38bbf35b3d688f15c666e4f3e42ccafeef2e0b8aad2e7c813d1db8c809279a5e6503872eb6d3104b8c3cab46e0046ceee420fc4cddf9de30697bc5aeb09c38a2424f110b5096b09e73f5416532aaa00834b0a0c22bf9c00485fae6f33557401da312d1f9bc413ba05e0c4d2cf4c8ce5f325acb8ad65d750189707658a027e00e2e8ec64d43803669b28434c980a05ffe02abd0a6f983a8ce6036056845726c6bcf2e435fc310c89b6616ce717770357f40515d7431a18fbe624d75acbd599d654058d5899ed081edcd281d8021458ad47d114f7044592bd378e1e4bb2cc2e9406d7973816f28a662336372d1631c0e70ee25ad5aae2505b6f4db02e2d005be7dab60d9ec404c19bdd3b8c375dd9178110cf7e08b9f534cdbef9d27b7adc5075db87d086af32e7e88d99edbde339f6fd4c6af5168ac0df7075704f71b484d7b0c1cf461ac44f6ce86fa443cb4cb098510459bb588488b61efa7e46c291d7571a094f8e2bd89be5c168cee24704453ae268017583efcacad655a81a1779b7e286b667689ff765245128e1c077f18490b15411c4de26c638e7c188c935cd25b4a4a94fc2dafafb8a4f7f7ebadcb1c0dd49688aad5de754b3c7128fad71dd688a2cb634b6a64bfcff211062b7d9784558131d1a50441ba8767948c3875f66730c0076f6a477d5efe8dcd73d9689a5c13845e6a26c0108c89ee79065d6fe860420b8a1e657e5f63032509de984f2fbe10c5021662f1cc9f9e1549f0ee50413de5db3ec4a8bcb61369209e9ae2168506113cae85357190e35887520733a3e515d97ca95c6eaa43eaafde2e9c3e98fd4061dfa77332e1069d8c54e642377344b8084d0b1e6d2383ae0d0bbdf4be20ce792471c19da4e79a493b423902267a915c81dc7c6ee8959c14f134fc264a404ed8b553eef477a82e14ee6333b37653232fdaad1749ddf92118adf574ac9c8fb5e98ca880707a1ca757312f4d3e80e7175c45999bf026c481e4361ba21cdccb67ae1048ad0d5ca0d581a4ae3515404f38d16913ac931671a7f2be70bc2b717863a72c315e318d3dc5c5e9d6ee1435b1daae96902f257a7ad31f0996f4d3ea477462b67b41756c9d215517742a7c1796b12f2d0c12b582531e9a10576aafbf2e42e54ad3e2a3e29eb831ac6969e8e29051df3b7d622760f82209df6c062fe90d256e3a3e96fbdb005ba9593212b4413cf50b1de6e02beb265c2a3839013218e8bf84418ff215e9ed6d2e4fb5356b0eb124407f5cd7990fd120c058e1945ac630dd231c0015cc77fe92cd5bf032d3b0affe192c324675d00a7b99ff753eb54c98d75ea1bb84537ca54d8f6b533185d688a5c4799df748d0970757f7b76c1d10a5c356ea57ba8d5436b3965198c9d0789a4313874b0535350d766fa1c415076ba01b74b3d26e30b81e031b77bb56ed844175f873a2b9377604185410efcd25d34b3d97f20c3bd44fc02ac4665a5231613211dd6210e246ddc6761517d11fd991eb8d15c583bd0aa3501bacf0b03d12ea0d9c347a6b1650504df2a77fa672cb9d2ce5179cde9e4989a9a6cdc4beb333a80e1e8012ecc4c73d592e540108b1e208154bf3acfb10a207e447ecfdb7566d513206dfd09cebecbff716313a3c43b4f7bf3d259db86ebd5a33f900e78601d211b12e9018882fc326e276ebe43d53675c6c96ea805d689b1ab5f02b161ebe8c259f482cbffde6dab3caa2f80da5c3ffcefa9bab996afec7b11b02d37c95000dfb4f3d31dbf0eb82f9851787e85c63e70e62cd8ae811868a03dec5a05b089d4183d468765e8f41ee368f30c6aabf40611418c177bce7239a8c797e70f3a0c901c0bc018bdc2a17aa98ca15d1ecee99e2bafb3af352c8044022ebcff8a377a069ce645880e18e8faf62100dd5701d080b9a92d3a83b9d938db60d9e2372cc7f317216c48fd0b08ef432b9fd18eb9f20a4f5255248827db82e93dbef43c100f8cad0e9f701f8c9b937cc42bcc5ae9ca617bac5103ea760a7d55209e15a7036d9a082aa938940b7b2c5fcd5816a4cca45547bc0c17e79a0903a7ee180c7999c7d73fdae291da886dac1672411e8bd551401ed067f0461bf06d473d1a5b02f2a9ebbe6d3722bb6d916dcbbda54c52a69c071b08ac0731b053b96d6066e068e2ac39c5143c3c4f9e408102ff9b5ae0d03f2c376a74b9a79c34c33652dcac66197ddab9484a69f44c36709e38a3b6c576db7cce26ad755e6829a541b3af81594e37a0c9c55267d119b9bfe260db4646eeaf39ac5cf1ac9c330bd18732a390d28cd29293128a7bf1c9fd93c759254ee57d383c9f4c1e9851eac6d86e9b0d426879a07d020566d12c9b857d6279ae0e2b23cbf23cb1d7f2e42863bb6db4dc70f29080ee37795476f2386bf238ea89b3e61347c19f509aecc8c1f6d7959570c64a1e905e130ba497e569ec8d313f09072c6b2de67ed96b5effe37a0cdf7c5db6b335b6dbc6733ff499509c05c515f44dcf95647cffd462fe60fa4c2e6694d945a4c9bebfe26c23cbeba69093d29bf0134994be96f084327f802717d18b32bbb038e63ae9ac30533cb980b69b3a62f2c4b2444df4deee2b8ddcabe3d053f7c9456fdeece9631886b3a7588665a6994d2a5fb32f91783bbc2c672a533ca1440f02f132f69227cde6ca9c73ce39e79cdd476586e321cc3192e9932b5cf960c845f4e2db08c29d3ef9e6ceb59b5c4c1f4cfa29c8d54d2d70b74218956560aa43b4813dec45e9cf4955562c1447459b45a322f7996067799cb5d2419f27ce52e92c14cfa259d049a3b8128cc2e3d909579a8f8526f673ce0b6298dea0120e1c5c6ee88849c1b0bca0bc1c2a91f519c520bca8edf285804839b81f7cfafe533e8434cb3a2521a0d6152120a886da758b3453da7d55422d8810a5547efc1929c5bc53625b57c45f4295c0e86230431aee87a4cf703f2410c80464902608c3fd924c5982a0fb210949135429b1a423a8dd68b81f9206724cb3cccbf2a376fbefce11cdfdcf2553974dfbf922914884359126d2341b296a9db562264cfa53dc124a391a754abcd615ae042e1145b982da75cb320ddaff6a3cd828bfdb7fa6fcd88f3aef3a4be52867b11ae5d5f35ec5eabea75954d3313f3fc30d1feb203667922b4b1be71afe9f0552a87083142ac890852948a1a20952a8e0420a153e9042c50ea45021032954a4400a155148a1e2092953b041ca146390328517a4a4200b99be3fd17dfeb47ba2872b6910871fedbea76173829b43917ed649e8efff75bbcc19703e1c50ed090391a8fb90cc2619ce2650fb6fc240e27c75db4f0807211c74d77f211dd82a4323c85f2914a21fa24f291765fb292d29fde05e8fe3124bc0e62357d480e02cbbeda763fc5945b81dda7cdae6270c1ae54f270c689675f09b32c8fe9403baa48460bcf30f05656beb635fb110d0d7c789a120203b3209d304a649f6acbbecb1978f7532d4854fa50994b68c1b48a081e20e901d390b79d1842b67dd4341f95ca70f6927ff0b0565a700ccdf43b11026e892c11419f26409bd3ab615f1f91f1319769f976586f9fa22b5db7a4a07775c93f54ae50f56316117f0a70bf8ee1166879f0be54c94764a30913f9f3c1962f07a08fd3f58c50eaca2a4037f08bdc82e219006b3175c1f028236525c0884c1703f381da39d1249e46fcbd96758865d17ab4e6aa70402b5aeb83a0934503e32bbc805e908a423908e4032028d349f04522be00321840d638c1146e7893f3f1e77dc3dba942e6703c909e5c705648d70bf5b0198ad11304a21a5306258f4eb7239a79c52cecbfdc262c4e0c7a7a6e8719d943208c879bcc94ff4893b41100ae48940602e77807ea4949804fa99536a40ae09f4f3e39a576cb2836118f481e2b483f28f06126d63520beef7404299c8fbbfdcd2764cfb309b44bf1d4b4dea7f483200245d1ef1efacb9153167008c9631034159925670bf0c0065f9307a31c60088a66bc7e521555a29a54b86dd870449ae0fff892c64294e04e5f839115b55b69fadb516c3fe6e22cd64ca91aab8841e3e46b18bc16cf107f3ec5ca5add775e990e78e3c5179e23cb3492736675fd76bdd57a3f2ae6832ddab7d724633086f57611ef187996e30c342379206cadd111ee1dd9724bbfd2084b0eb4991d82ce18c5ff49c3fe584152aa1c94f75382964c39c5792cf5ed79cd7cf23f3eaebea39abecbeba56c117faeaee53e50e653f9f5293a9a35c5f32a87bdadc7fa3c77577fd18be6477779318fca55c96b28939ff59b8eb519965a11095d45249ed156d5bff904824524fa9d4d3d3c3713d3d26cec4725540d0d3d3f33d3468683f6e0f0b8bfcbc1a365a5ab41f3d3ddf8f316ec198c60c930cbca2c2618c4b9834c217638cbb63ba0995f401d2076482648264cf293a05b994e4d904290a39a79c73c66f593bfac4e816aad2d2cd64e246256efb6a845a47565cf835426f77972de37b9431da1b23742c2a950e0530b2a21940444ff43a46089bb00584dd680cd20e696747ceab0397b473fd6b66491db84eda2171c0893ba3224171536ab89ecb478fd4c4e59eb89766a427ae2ae5919ab89a15d7bb1bc6fd9ef4c435919cb85c13572767621827a59418d6cda73ad1eb1f6a9248eec67813bd96a190add6c69f31c619dd94ddfd236987b443daa901052b06d04380ea79c4377a7d2d3403ece9e9e919f5dcd4d48c7a306cd493651a902c77add65a9168dbda70fbeb558d7a4ab0d42512a9874472f99e9e1e8eeb915452db2effd772b78733d995518fbd3d9c69d4733f93898b19334820e8b9fdb5a7e7e486db5f59586ad4903d92f6b474cbffd3f89f6192b1f22a5ce9ff493fbadff2ff2f233a0551e5f9579e5d057ca207391cf4b3b8ec223895738b535991619a41e334c3ae304c0f3de0d4b0d1f2b8bbe1d2d9157ed961071e70e4f0502f30a91818bbc2a8560b76d2e34f3d6e562c6855d1ee709b83b4ab69672ecbc3e55dbeced815c62dd38e550e1d79c0cf015b96e87517b26f3cec0a7f8bb51ad940db23da1bb73bf0306d0f97c5c16cdee8486e5d571abbc25c8be5fd57545ab0116c0412486ee0243c191d39ece06147db4c6f35ac1e9634b2d946f3c1666b73ddc1b2cc560b76c2e363b093d59f7e060d5365227a8fa1b8625b8d46a31b8fb3dddce86a56b85b3c66f03b6a8579a8b0cc2a6df431f866c7a873b2fa1dab53b7e9c049b46023ee968405f61c5dce0beb6e601cbbc239b45ab0131f3e72727cfcf001884e100008f9618555241f4a2520a5924ea914a4540240a924a454faa15402a254228d5a7685655ad5875d611dadeb5f73ec0ac7b43eb59a69650008f901882084183244ea050593c2e941c80f400421c4902188b8e1c2c30e3f0011841043862022002c27964c44a3c371b923ccbae9014410420c1982880010c1332becb55ab093d54c44f99f54ee6f1ab56c255210a79310a7d390d36988d38988d32900a71391d34900a753cbca485300d815ced16ac14e663e063be1f11d56cdcc7433783c0d1edd4d44c11ba67621768571b4ea0f768571189148a33a0411012022800110a0081076855d5a0db9d2c68d9ee346cf8d3a9746a3af3078fb110c0c099b6810b6c32d7fc2a35fe11ba45289447a7f530dc0e944e47412c0e93480d38900a75391d3a900a793014ea712a9e5b77f7979f9edeb0b6ef9eda5e5a525d5d2a984b02bdcb5707838debfa25028140a35f2b08d1417c78f3e478e1c3ffa9a03e3f8510e1c3970501c9d1d6d5d0fb12bdc32845d611b44d815aed1aa01b02bccd2aa44ec0a9f5a550076856918e000452020010a30b28001d8159ed1aa04b02b6ccaa2885d6119595cff02d8155e695503d8155669e1809dac9e06c6b169c14e6abec6ea6de04ec751f04f35d163e9f0eeda77b38c384a07fcf808df3a05683a462c5c808d0cb0de002b8db0d301f67ac0b6e1c737b08b3d753875430362b3873b4a1a597009733657230b6040038c70c0038ed8585658d48a34db28d2902c49b6cd88f40cb0b0144b252f9564a9344ba5ab54c24a25d26843805d61adf59166b43180446a0089640489e40012e90124d21124121224120448a4514d805de1aa00bbc2a1d6479a366257386bbdb33a7a0bb03670e71ab8330bee7cc29d69e0ce2b7c0511dd9a99b1bdc964faedab095fbf994c700aa4c1f0c7a10eae0e6ac100bbc258ab9d654444191939311d810404be234822208106d815be5aefe2b50df7fea948537ad2fb7348683a10b0f0b3f18875245646c04e09d86b022b2bddd6d48811238c84117685a503ec0afb03ec0ac7d63bcb48f4fcbd2272e020400e3b5654b8928e9814cc4b283b82a222ec191e7f65273c3a2694b4663ae8e328f82b6c5b9b7cdb4061c82e46f687ab55a7049296a86204c6703928823dae6708bbef7aec2b872d959afdd0d7d26bf8b3a152a9542a594822914824521c8d46a3d1e8a3feb66d42a2dffeda6d7bfb76839b0cc97c10f6f408afa70fa5182a2a9d128e14a90e7ea00733d3b3d0ae52246310ae0541b350bddee99d1746b350b5a15148a47d7faa6deca5d8b4f6b21a6645298f0be3faaaad98584cb7242a72c4cb1023d56aa2ed8e48458e1862e4da76d6121e4025b1a389b63b2295b8253c90c40e690a275e139eed8e48254e65650a274d78b4a8c9486814d4be1f2747a76deaa8593023ddd2bddcbd2af7aedc2be35e93a6d3f95ea855a8051256e24e18419ce482c290322e7725ce7235593a850b35438814691bff1ffc2a6e0a177e806c48bfb54df5d1e56ce896ae0ceb7245d2b0a17b675c6c73b5612b8e3bd10b8a1e040306793e54dc9da49da673c3422d08171b71b08ec3ca7961375c7058c191c343bdc0a46256547278a81798548c0e15ce43bdc0a46274c870b8947517f502938ad121a3c2d1c9b1ed9ec9fffd716457c337bf683a291b63accbd8a9b2d78efb113e4c2ae6468c0e19d58e1c56333ab6cc6badeeef5dce306792b15fbd94aa6d36194d5369da0e4dcb41d3569a36a3693c348d46d33c55aabebb3bb5aaaff236bc105eb9a3460e7635c383c644c3aad1c1a6c7cd0eac9a151d54326a6339ac01b9f2d67d8f6dbbd9b61db68d876deb61db70b62d6f5b6bdb86142142b20288cd32ab6093a3debbd17476b0d0a31684cb7961b2a663ea0ed266074d87070bb7b86dbe6d72dbe6b65ddb866d9bd7313cb8f7e08ee39edd5bee3edc73dc7fb8f780935b988f5ae2a48410e29263961c3bb3af5948bb527607d527ed60fb0f06659994d57dc35c752738d1099775520b752c2e1f3d28f30f6b7f683a3e5808c4461deb41ac04809d42ec557fa855fa609978dca9f115151854e2301436f2e09e84844ba307bbb5a2825f8cc87aeee37f08bcc863e626c3ff3cd75125935a5dbabbcbed61767953bb99e8c1981caf9d48038573eed637771189c32c11257fb4bdffbdf7e2ed6e77fb4dfa6b9a86ebbb56b56aaa1d8d9e84d77b79867113143d30667713bda048e3a5e44b8e3362e41846a441e5e81748d4090a03c21c3d70e0e092c30e192b29981794f7338a106052bb6eb46d248cf131ed98baddb6b9a11c351de857687e8769963b8a8e9064c58d1de18c99a4831b73dbec516abb7cd6e3efa0a051f171b36093fe57d538abf4ad8a4818c1401239a40e0e01867897f72c15aa7ffac4f98297b6a19cb34a3f7f723f872714199539552495d1d7318ff5aa2ba443009c215909231105033d9f1871d6f449c259f30576f2740cfcb13f515ab24fa9c47979da18d9ccd12c61c8c4593bcec2c18d823e5c99768fb99eecb25027a5dbbfba0fbe2a95e54d4df4ec5fb2c3b12cdc8d9a77242cdc0ba7ea4414cef1c1b5324b1e9f295f37f27aef7c4234a3d8894da9f0e50ee774f7b79dbbbb6359133a7e7055724b99020a19e34ceeeeeed2a38fa1c618a1b4d452f96f2453fb2d91af2fc9b78cfc50f759205f57f7614fa327ff8a31bac4ceb3394b32f325a9e54c18c49050238c2e51667badcb4c5d4c2e6d23b364d54494fc99eee65b22472672fcee3eec6b6666a267234afebdaccc628992afdae2cab7323eec1e2e9d0bbc3e7e8d1046ec454fa674f8dc0488b10228d3d921741c9f38d3eb7da6f115637704fb893d16b118e3f59da38905c3b098395141885d24cc2a95fc8e01bafe9cc947d6a076378431fa7b31cbc8c3b550afffc932d638c13e6a3fe2e7b0c2fd6ab28c426a3f6ef4b8a9fdb8d7c5300c13598f05a66d2e7051dd23be842cec25c6c98928f9115f80fa70694072b00e9eb1ab91a42d5cff9c1f583eb2b0ee8709f5faeb59724ba922072c397e14f7a3d1b298e07e344b4c243b46be18973345968cef92c289f58ad7a562426d974ffa04a16d6aeca059d4511108b93fbea06976f8fe2883a6b9f9fe3883a6e9f1fdf18a66f9d002d883833291056d63e3fba314cd3239aa6dbe75f8fec824d2d47c7f0c4164fd18c30dddc3e5fe07c9c08566793fdd6306cac4ad1f06811169787cf3f0fd508cb6698151681ad2f7432a344de9fba117cdeae11b3221f7432468ffc11c748f1c7803968e4321340be7fbe1164db3f2fd308ba651f97e8845d370df0f4dd03432be1fa2a0694cdf0f55d03433be1fbaa059f9832568d23d8840990f8e20f7430f34abc8d766c8fd49740f238e340d12d18bfd15680c34cde9fb35d04b9ad5fa6e31b0feab793e4d0eebfbebc438de718eaf233cf33c30ea79c0a9afdd03f6f1259c7a12463d95d99bb938a957c1a8e73cfb7b4d8e28631f3f03a7de84512f438788ad5fa56d611fcf82537fc2a8a78167be063e09815ee38b1811da01cffc0d467d0f9c7a1fb08fb78161a61ce5329e791d30ea6b70ea7f601fdf82618e3c50263e8ce2619867e197a7c1a9cfc13e7ca217f3dd051ecfe3ed08f5adfd98f98c62d794d56326badef10c104ac031320e8f613e09cd2f3106edc5ff620c72fc18e8139ff0c01eee0494f1e20c96edf9c3a4b0bd8d720f41c7c44f616f12bdf82f2eef22689938d339933a03a1fb7c78e539f335da994f42dde74394cfcc74a88ed0a3f4892f3c83617b3e35706941e60bf6cf5ac63f3e7196a9514ea01ca5002c645f700e9fc2ab7727600fe7807320477722c727e4cfe3139961bec260cf3e70ab5192477543e6868e182f093cc8f3e10dd43bd0cbbfbceae5655e88b02408a9c78992c74d3c57f2d02ed57d09684d8887c1313b137f93e9de8fe6eebb3bd57f2abff1ed5e2a0b2b58e1d95e6c197f791f386b943f0c96d981fc7b08d9dd7176ef2200c107ee168c103d84fcf2301846ffd19ebf0f1ca451fe393417d9bfd532fecec459435c217b4b61c77f35aaff5432ff793afefb8c63fe3365ecfd77334efd4733fe6e96632c7c4b5a90e7e797772014ea77745f0dea55dda742bd4cf779a8d7d17d8ffa1820d47b1d10ea530e44842541c8f3a12644fbe497c7893058e6aac18ef17fe93e2554fbe17dcda8c81fe5cd9903fbe3c0f371c0d7e3f8d57984e9e723c8379c498edfe1cf7d90e363fc391532b7e0ce2ddcad8cbb3503773675c6c1ddea3cc2debb33b0476f5d6c89ba1c1d2245bc07dc2d23608fd6b8b0516a178a19c3304cd2253b44ef0b7a5d4fa78da8f82d912f26e85fdd37555bb82da50a2950fe2a1fdcee1d9f7c986594525e5058c31452488ef10353645aa9bf94d25d13cd692b8fd6519f9945b32612da7bfa4c24b8ad2eddaf6bcee993c539822aaaa8c20b2fa81754a002159e3c79f2c5175fb080052c200211322280000419089ce004ea841294202b410f7ad003285032283398c10ca210051a852fbef8c209279c48431a681ab4a0052d78e145e64518340caa06274e9c6cb1c5163c3c3c6e50c14fc6feeaebeabeeba3bf09aefc23d74becc33a9a614fb1eb7aacfbe2cf2666153cd183d2e5bc5ca4f643527be7bc2e174f4529076d3fcd5eaa53cdf4a6fde8a99989da4cf4faaf9be85daae8f5bb6c232bee1bee77b3152a2e2ef926f7af9056aeb9b2b2b2723bc6743bc63ba6a3848d893e2672909b4379765f03b2ec2c8f37b541103482bc1c12538442ced9dd49e6ecab7b8a318657624262e543a1d60f4ec9538280723f134d948420b7124abc8b1cbf9590f00a35e8caaff0929eb78442a4ee9e9409bad7fbd5c909a3e8ca974465d1290813597e7fb24b12b30f347f49b0ec387617946ca87188da112aa95dbb6eb7fb96e4fbededb3e5d4e19f5f732366060d979fafe32c289e8063b4aec0e1a1e8006d3d818d31c618ad2b6ad8f8f9439c6563d262f593f5f3e18fb3687e3e9cd23632608db3de51fe6f227540a6e839fc6d85b716a7a23255542e15154c4585aaa8642a2a211595aaa2c2adf0bd309a85aad52e1eb564db7cc7c0515bc1c9152685aad544db1dad70a9d58291882655a7de6aa2ed8e4825aea5a4729691159e69dd488344f4a868346d89c3ac0a89347a396ac1aa5fe1550b2311bdd3eb90e9def10d17a94a1d097f26244cd9486f4fc2e2927e8c4ebf6155a9d41dd95eb5fda6faedab0a8f7edb46a4cdaef08e563b6bc56323cd94b813c795bef42596150f5caf5d05578cd7e422ea56715dd503a0a84a6597ff90343e325fc61ca114744a87c1ba89a869655704cc53328c37b28b1146186184114618aff8b344854834930c1fc20de43904e803f007f24028500ba8058402b58050a2e7f009e4813cb00af8e33bd9df6a9f24cf26613885a33c27cfeebb15fa10f37c6844f42414237ad0077a1e7c9ff873bd8eacb8211834056ce29e476193c8243ea5f79a4c4c3e4f25c2918b88aa46401cf8f5d5459faf658b912bfe3a0b3e14b0f98b3e310451b2cc7e26b2b4cffec6ddb36fcf6e866119365bb22b537c0ad27d39d183fdd183196b4c8ce8c528319e9eb8f3e3c989584db08beb2cc84544f9401fe8037dae83e1b5cfd73e3e5ffbe444140d2877c61d9718147ddae6cafe5d4f4e5cd8e1b4ef6c43a8edf2c19d36528411451c4618a1ce90e8f9f74fc310594822ca3f7259e6ef54e4834544cfdf889ce8f9908698cb30c6392336c5c8b2efe4a2aab980cc477230dc19e726a7664eeef69c97e732c685f1bec16a3b4e18630a266cd185eca68865b75e58d2d0cb795d1afc500886b4ebfa938c4f327cac54830cb11f979c744e2aebac0f61c5e0633f317c0c734fa00ca6fd805d8907d6f97589599fab41f4a61258aef5c253fba104ac13f7df4853699c53ce2432d7f94bf25ffd5599272e9243b8730d3d0f0fdcebebcf7ad5909c98c4fe74bd949862572764668f34aeb8307484f6794ae9851984f64e14cc628c319a32b5b7d61a63c5acb8d7c36f0b8474c1cd5e7e5266d95e8c1d65cef0912984a431767b19cd1994404c8f4150f4f99932e567ca941f28c428d127fa442e82e417fa883d476aa2dfb6f30d6eed2e2acafd2ebfb20fe12311f6a034f3a7548a217a2722ac3b09897ffdf5ce01196f323df73f4058415ef992caafac7c49c592dd25cbbab759b2b05c417adfbeb6767547b2bf3e6252f7913e2332e3693c8d8e892b32ed97b434d34719bdb8f2224d888c37bda605e1ded47d2acfbdd482a874474a9ffd114e86cadb48f3c52fbda8f45ffc8e9e68e54bdd2948f62a9fbd4a771252fa955fe98ec42ffd8d342b1f9f46e9b9b79a10955ff9aa0529fd4af7655ffaa905c9fe48a953a19a90d895441fe947b1f4da8f702a7a1c577a986b4642909ef4f908e937212e2c7da9fbb2ee14e4faf8d7638fe31bdcd9c9105f4ca387e1ce33ae8741aece06c94e42e05f7f75476cf444a2ef9c7547b21775347a5ab7244b4df3c1be109859de8535e343a16e06ae8928fffa35facc74e162ffcd5ccc87f9de4acc7c501d460883a0fc891f7d32adfef50fdc1123539cf84126997ef72d01827dd6f9d75d48152b329134cbce6e58c3f582d9dac7899189d76f0fc5ce61c54c6217772214308c0caf2eba682e32fdafb9a869ea4fa994d8635850a49179feec68f75d0f2792fec913064130784231a341adf5e97739eda6149350892d5f6f6324856f98e249eedc394a9eef3c5ae4f975abf59b73ca0bc8dc1df32349f6dd3117a0dff21b0807e25b72ba3a25b04cb11258b6414e423cc7d8537f9f7fa22fbf8170879a1027215e9ef2768cb704839e86eaeeeeeefeb363c70eb80396e17e48ec35f307b7d8a269641453827090e3ab44c03386fb259970a7bafb15ae10ea2184c0e89f3fa9744275772c1c0b2c54eeee58a8b2bbbbbbbb3b957409d5dd699c86e67277a7b9b2bbbbbb7bb3da88898ae17e484cb9bb3d7751234e9ebfc4e55360c94e9ebf4408b935d8317d64cae7c16dbc8d1cdf460f5294e353e08a727c514bae5ddb7677f7b7646238468ef853d2448e3b3fa24b25603cd24278c8f129d03eb9bb53101e727c1e7a8c5ca58d31c6a62a205da113f241295457b9fb0c4ea6182af42115866198e7f2918747cfc2a81da5942c9831b198584c26cec705c7592ad58c1560dd14c870fd5bc5c5982986427545fccb2ff7c999522aef461efe11c812eaf55e3b4ad641628921ededdd0fae93d3312c525c24e613899e2c22d2349224228dcf6ec8fca13bee5e27807129d65d17ad42e88bceb1bbbbbbb3706bba19cec49938ee768c7cd5af6e76748f9896b910460839d3bb5cd7755dd7f4014395df2e713a298a3b8309f782d8a473ce39276b26a2e6aba2373fd79a2959a29f51e519bdf93811e519fbef867d4df4f271f7c0ba9be84df91a1e4224a2e663f22f891189de7c112e1251f32dd6e9c88e84865bbbef9b0930689275220d91224a597e0e676219dde479e39e633d4bd943a765e6cfaf1593f887e8cde919ab95e6108ee244f4aefa999a8a61f910bb300cc3641296a89bd875611886615703692e58d9c24f7c2c66c72955445dcedddd79f8ffcc15fc482aa94cddfc6055333538393a54d2a4a22759b0ff5259fe38e1a50bf5c78df1e68722b029e3e4e80c211269fae5178934d1a6646054333531dd03d532f2e5a7dac63dfb5fd775e1e47c3759fee52c7f5dd775015d3ba8d7b74b86b9c2ab88fd78cdeb527d5184d2294b30b1448391e483507491e51729c248642d91848929f5f2901769190b64ff9e8f3518498a84fc43a11f2768110a1561e483f0499660c21d42019944560e8e4ea4a91908278a0084133f68e74c4d50800309a2cf4dc67e4e083d34437f85425f53792663ff6dd33697c7ec5829476ef4b7f3ccdd9de5459474899e8c1986454f7285baa8fe4e8ae292a2707851d999c504b72d4bdbb8c84fc59fc0a8c48c19286b52aa990100000008b315000020100a074442b1581ae4b1a8d70e14000d7f9252544c180963711c064110c871104f1944080104000308318686a83a003c55673d95d442e6ff098d8c077ea8b200a33312410c32b0290e29a7b9b12807f933af776a7b210ae3cfc675980b54df2ad1c6b19838cc6098584879c4c9292c2cd19a646c385deeace2f02eb96ab4981f2a8f511944e3a66e4df7bd468a4d224b4a157fb44a86029cb4e2bbfca38868ac3ae42e345a468c918413e2581501a080df052dbc7e537b1b68f9804266ab12860f2732bf9d10b435ec4b7ef259f3e3e73ac8620b8fc19b91094bf008650993f0d85ca7ed04a90c28d3763e3906cb1ce1f030ca853e1acbf516849271997d582086c20d6cfcb6963f43ef69ca2fccdd2abd11a04e2c9952710c59db140fa8cbf7ee098b04d6e808a9e25403e4da30aa8f255bce664903aaa04962621273d616c615a20163731c24888e978a9ebd54cf6bdd8ae957cb152bda3366038647de0c811e2599e588bd795f61c68a325f03049809bac09c794b77b3d81dace7ed02dc2a3f98aa74b816792d8d77219b1d6de18fa0858aa3157a241323ec14f19d4ede100ccf9fd31532ae411bc03008eebb11024e71ad35f60d7a08aeb46d796a84473eb7ca29aca8b01314409edc682d202565943c8805ef8f2d8c5601975c0e8834ade9fa90422e4cd66f0a83ce0c551bb57a3bcd68e89009693fc096d77d13a065c39f4b78cc26a41a8c2bd4c6801b6853a9f01cbda28f0a8768309fadd051b900a2cea444cc82a8a696e105344e7a7dfefcf3596d1bd62b6489082345911bb6cee284be075b06d90679b021621c5402666d95033c738381d852e7b7676c7c9abaf159c8a12eefc444eb47c9169618603bef05e83f4f6669a9f5dfc135169f560b10f8e6bf2c0d6e06b78e41185340c52958cc5c763a4d23ce69ccafde00d3edf7552281c1b2c41066b1abe7baaf3f9927e8a700f68605ed9c0bdf3b749fe8feeac7c5e46eb48d3c15e43ff9c5c8210f87a9f42154dbc44b52cc547330d7ad0e7d21a1d4a653b88e78b6f9bb3253d6c0a9d3a1ac466e653f6d655c8452a0d9b246d65f988422d975cba678e47d2eab01e7c5bc9757a401682693bc7b2ced18e42c62386084c73b44b4003e8583e80b30438b87bf9c09347a72959a0c63e79e353d0639b30d0ec60957c92d600b0b842ff006a3b8d1d7a1de3078e807783387577a69192b6e17747737183d86c81769f29e3084712e704b2fe454fe976fe942707e59ab83ef30aad4bd66cf1f2a3950ee0d83c9eaa4a503b60295eb82cdd34c659a4faa55e44547c71836c1c842a0639041c379fc40f0b5d74670f7ad32dae5c90523b2fdd34c84af24989beefa2682ea74730036b075980fcd1f49d58dfacc83b758fa5e9677385c5e11b92238f5da0b0b3471a93b50f8b0108da44157cc5f6f759f379851e4c6d7c82b28ebb0401f7480931e8670983126121e10dd24433c290de9a185182232671f0d516a58a356f63c1cbe125195c589737719f416432066a4303139b72d0ae61afd4eb72262cd9c642e90b5e34ae82c1b2875152c47960f2cdac42ae248a80bc097355cb208c86551f2a5353c7060133cc744c16a1c1fe36a8d6e10433a3d77a7de44c1a245475d1d4a1b9c8aeaa6ea3fc681b58b988c9a818598a66f07cd049233ac37c10469f6e00009c598ae5bcef89f6d2e80c2026edd6b4c0bfb5797fca0d66846ad159ca718a5c9a23fe64d95383eab16515b332699c3b4a8d55bb0fa4c99341757f28dc74e72d5a45cba87b9168e0e9aa50432ff796db3530d88586c1ae815f8413d9aa40438343ed1c186506ccfa84fef5fe5d7e66e8bd7b86bf1cfa32caeab481bf93ea39c6730511c2e5d0446506681338a8b78c8d184293f121d6ea5be9919bf834a4b432b5c1c25a8b5f67c7eb88a5970f62d84d0ea2044c010bfdd2f591c255a9fc88ac571b901304765b263f62ad3b8df7029fd582d1a64fbc9c8e96046d04f922cab1575b928ccd07da44bebe494c557df5155243f0e43d10dd4368accfd118cbe16e151742f876f7746597c76c93747f77dfc81a8ebccb60f1e97e536dc368b8b240f92e7b8f95eab7ec0a699f586092a7123be128f97233425cfe8763e332b9eadff66eb7cdf84cfe1f597dbff94ec8f92307d054d31bedfec8ed2e6e1ee310b36f462196f79e10b90acae0079cf7b26592af61b68ea9e6ad7217152504f8f35f363c192906c821f74daf0965bf56354cd01ad9640122bd43e86118fde363530e0ccaff57ae2243aa0948d498ac7aa5f1b9608e76791dbb9e802911ecfc8110b104c366ef1d97abc398fb3ff21fc6c164e2d4c79784b2a686c0c017928ffb4e52c1fc255eb9c22897f802d30b94806784c8c7045f77c1aae3a76a82d85934b3fcbed8083920a6401fd8887ca51ca233e5075916b4436f774439714d66567c61326d83430426e265ed79c77d893621f46440457b1109e20cd9207c87e355732790047dc4a9ae538c21ee3f27ae0241c89350edef491358fe71805e70e57c22d2e40c013eccb34c57d65f0f8046545c88db2d9a63b1addda88f838286bd6bfc7074f7aabcc06abba37a9c28ea8110f7c24e184419b7574ad80734ac3478965e187ab1dbb6884fbcff6831265d5c5b9b0330eb33aae5fb18a89b73dcfaada17571f9f1921bf6c8ae97032cfe2624171f27529dfc34dc9b5e9370946912ef1a876f69df4701819af7dd5fda037ca487d7415d9be60db30178d335f0033d4c593cd7f93656fbfa3ccc8a5dbd8a49d2ca6ac6802ed687a057a6a991db149c661239635045e7af40bdd80e8cacb144904f2b509053328e98f5f8da1c215b2db17ac4192a1a21e9042a6bde8ace0259a966bee7b49817939f2ae26878eb8ade119ea554b4cc2b5e20be7773b7640530da3ca9505714eeae7178c27d789388e6016246359951dc3cd71b112269c08015a9ddd06c46f5ab8cd7cc50f5658421c334d2443834bb45613161bff987a8736ac6599ca252c41a9336a75ef9bdf1401dd9446c7e02b7ca652cba0e68be458b9cd9a92c67854a09e5dde688e03e239f2f21f5b2acd51ce5b87120e2b8b92bbeb2c69eae238a404d779657b3073381e6b7d6a281599125ecf3df33318e2f86b27077406aa0ff27313f669b71c1e46001d06f5166c8e3b04ff3cf254a077efed5fed6dd4ab21d9bcee3f2a024a7dcf2d2a5e4827373ec5e66450bdb296f44c7d938a53b98c388808910d54d399389a434b2741edd32357448718961e22c794d02177610c9d8359f852aa40208fae4c9b6dc0dac4358728bb3fd68e1f0bac5d66c765a0157b4c8378eb49b8b5530690e6cfa62ff5bd01bed77190944fd76a52ddfe4fab37b21393088a4f42de8cfcca1e1cc5461a80d978952b346a6d816bd2d0786af6e8d8e6e327f0acef2514ba39d871470905c6b23332e5c9bc82ea791c0a38ea5ff250d74e8799c4fe7de3de3e2bf8f181c29dd9d14d5163c84706516d23785fd032674effa66659fbfdc9a0a53144937d912dae71df15384eff4feac2b55471a636f98390b7576c9f0304073700d6ee5039e3be19a2a18e19e1fd02af08c0398a2c943efcdcf03b8811950f57e2d6a7a4b982b427c542d22d8ea7166e6a1ad6beb57fff8d0fa0aee9bcdb635b8b06ba6fee6b27f197bf8a29d1546003044aeb84f4dcd58b1a219869102d1d92a69f5b231de854c2bce441639ab9ef47f157740c30587b3d34140d8b2a3663612b6771b4b711eaa1e1d9eefb7f29cc7bd7da5a7f429b318b6a67352d58a654fd9b9a6b449ec9a9acb87460a29698f7dbb20f66193bf00cf568536cd2dc9de42d11662fded6db3a71fbe611b8211bb5c6396a7329e9448ce809e5f541331cb096744e135747e222be3ef10b23033861b5c79635432331336e11d3bfcf8917c9041cdd9e43d6ba6802709ad236d2f16d95888930dd3487b53466ee267299628ff9cef9654a75722bfd33cfddc6c9c567e81d44fc6a50bd45e8bc2e970e545c02cf9929fe35d43ae38613267bcda6a8962ea5aee770db3eb8deae69f69001ed78a047e3dc92f985ee0a42860c4da60209c6f1bb2004b569e8b4622690d5e65589c247c365ac47272561f2bf88fca5f64b20b101d9950dd85cef637ccb5fe5de368fe645d505c64f02fd674908f59e0aa348cb95c6463129c2e2fab5af0625deb11f46da985747017fd9963675e7aae23d365d56d309e296c701191fefff459397368ff1a6f384fb6f408cd63c6f595f60d7dfeaf6a9bd4be2292ccf943f8957ba2e709ea6e407b6ae5b4382e1f5c8ecb83f8a980f837c95ab1c5feca3b8621266e54dae9edee201fbc5396a1191eca9c9b90c1bfd03528422aeb069a8d711b4812aa4762de62d438720d68673285b3fcc756ec957c5bdd5cca8c4ba2174e208f41ad407366187c221068408280d626f801efc376d4295f7c03dca15e0b6ff8a95b97b8d6d05b8d6a659b46aac9f6b1e50dd2daaa620ba33de737ea5dfcbd1dff1f91ed7433c723f2b2bc6227c5f18dc4d8d07070a02a87fd1fbbafd82998829220c7261f64dee0a695cff2f990865a4ffef785863dcf9ffd18b97558286767e837c1db4d6f66c17b700cffc451f9774ff3a5f08dfe0f4fe3aaf67a50045baf905ca079109b89e4d09d0e9868df09f5b2e80c4cbbf1067aa8a0e8e2dbdc9b95e0c278601f9a0f01267829f31ba67dd6b94d240efc4d2f3aa89e72d083e0a1f53c3c27f20aea92b6a0709f9ea85cb4ea49eedf958403a8564e4503915570a023798d40ea88bfd54ffa406f1970c0c8afc0e5039434ce9932019907ba96908dd12fb9ddac147d8d6f36c78dd5d9c78e9f1ab40a5d14545ace52d197db9d4490932dd130c571f2556a052a66a96a262268a383dda1b7999963ea20611d2aaf8140d3ac10a376510149de658e9bfe5994527621e7dc54d741b61bbe66061a62ed376e0aa8b089e634fb3362d0ee413ece1e9959004992f42d888a19971778418af6b280c1479c39b639fec3d4c67b0ed220013002c1481d0be149a41852a878801df48bf8f061e75bd762a764eb1ba000b9b16ffb1c11fd95c77fe45cbd418e09a5499b300523beb6cf2211d4ba6b7876a130c453c9b6faf334535813cab621758d0d3beab53684b16924303b84020b3ebbec9667d203c4a54be3aeb2f7c066632bcb60787e109dd463282344bc1d3b2261499b3430c8e9debc27544b47aac9fe825f7b473504bbb669159def4067e6f800166aae3dcd82e7cc33d488880918009a5f231c9e67d7bc04ac664b5c80fa7061c02d85d8dc877e9316b3fdf78883c6dcab597129bfe922303217542262e1035baa92151642c3d483fe1a437e34b0f7f1db82d080e10465a1e7ce0b92e126e51793e5cf7fc8d464a48830d766875ac4fc107379205695b41871967d66c13a95e77bef1b6506080875bbb200f01f6627fba1b21d20f94fe8d4099c6add8d9136bf39f8317afca83cdd8f4707b9dd8b1307b07ac2ff928ffa59ec8a17f032a3c1d2db64cf3cae3c35be91f56ca4beacae34e632deb129941571db0b931ae93561cae77714604664395c8f4d18a9b62b46dee14d234ac6e46b32e83f2e55f72b0105e7f0ea86d845706e598d91f2f0d9c41126f37cbc8c270c934fb0c7bfbed192595accd650dd6175c89d26462ddefa5516e5be4bb19d3abdac70a3a1274ca0d24831a5be4ea49cac53e3f4e2a760db997c47c763cdfb7a8da0f8ceb0857631fddf9969e2dee00c0de277000fae058b2ec0361f979222efef0f5f512e4b55de2479d045df1b7d0f9d87d0743f8940ab64519b4c74c3fefef7c0f722ed2e41e12fcd835e010cfecd7893b8c16e039c37b1d6d35a25ef0d758f72125b93345b3221d950e952df906d1d030ce0b48375d8947279a319cbaa5dd26a45f632734e28b79413f297a2b0e92c61f890e77ca9f519c39247b041b30f6200ce72aa366fdbec40415729bbc925814493fcd2f3571a1ef1b21802a9f47d526289da2a88517e2826d7e3ec4121a918d138f709c081c7f494d8cea493c9291edfd883d0a1652ca171cd46b57e16ec78bcd969a938105a8a7953d659403aec5234b2d4f2e93819561faf90f65111ea23dc00a004d450188c3d66804f2a00550bfe594043d1fd0fe2c726119e5dc33cbfe4358efb06915300cdc14261eb3e5194c4f1028659a904cef05308ccb7ae7449ba87e68076c6976772a8159730546cbbed95836b9e699af89fab446cc78d6a84d1872d11bd52df12c140965070abbc2ff18af141f07cfad4312bfef6e67e6268a9295da34ab893d4a22065c9f340f1ad461a8de080b3c3d0aad88740de4e3bab2b3217ac0fe0d22e2aa0116933765a0e248218f88f15f196d6975d7a501c5b2022c231080aa2672bd37de62dd0f6d7deaabbad46a34e03a77fedf5d63065325b250fb4bafdb468dad0c7506408dc6bf6e0dd40489c15fb8736f86dca1884f551cf3d1c57ae8bcc86786349f1b4bc3542fd7693bb626f2952ecd471f37834622cc1da79583335b776b9a3f994c70f009641e20bf495092764d78d6d98eb04311ce214801675356c97928bc5f59cc993bf225a3332ce8df80fb32464d8916817349781aa8dfdd8c6d0047e38e7a08d8d5c500f0539210ddbaa7e1598a7e968230d27bd6f118b7f9b913213db2d2ce745bd8efb35b5adec9410b8d82138972361cb1abae9691ab84c0a4abed5dcc53fcad457636d62b0a082c3c9c48d8462dc4eb3305a75c7f4d4f7aa2b1cf1b7d4101c244e2e4b54d25da462b354667bdc69207c7fa9565d61bc5c4dcdbbf34d9835ec4e8648daa171cb06a349ff52001a4371e3fe733d02e0e17be2ab6687a424bada192d881039559f0a5805633b4db9209db149efc45ae33b558c6a6affdf8a9a0d33a38b8b0fbd4e230e0344a0e63bfa9b80f0a3c9fc20b7f8505919b5c2ee2b380aac0d18935b979a180c7b267aa23ea1281618f07c31fa9b9e958833d859d398f81a2cb15b74a5bc916f8c927120f474b3e6a0d99e70db78d422edb47cc9c6fd174c409ccca5099c59009e285e6d02f26ca3212914bd4a747a0b9f0e397d0858f7d7961d68bd997af59a9c169d6def2bc6d7615f6fdeaf27dd7f448e88f7968b81134378fdd09acfbfc0935630581930826b4fd3ed3406f254648a402910ddc565c60c315aff93c403f0b2b065cf41ef100bea852fef368caac3990191e4943699666010303b675f660e757e43644955dd5f3aa5b39c80b566dbc2514316f32d6e685ac12666df71ad1be9ffeb14447fae071046710e9b12987a7b75124312d152c86efe9fd8dd446ed7f493fa1b766fbd195f618c7267a214dc756586258575aa4b56691f6f18b59ca6d66224c0294b1d4975374d24ef8193c1fd0a87bc364b62b12d59317e27e02ae4672d99265a4538f6f9e09c6b3c4129c9a50af57d8a7d3f14c00efa72cd4c9637db536800765c06c51d701de76eab16901014a93879c4e3c2941b5947a1064cb8b393f16e9165c2397e1d2a5e99c6dba5befe4da7cf999b725063f85dce4212bb05a40f407649ee7e86939e5f8743e65ec404b582d22dd451196b27c50cc242909cae4881fbaab4f829da205cab1b19432aa835b84e33219fd66af8f8cd5421e070fa6911b31fee5bf08c556519ecfe395f54ed14d42354c8e91421922950253cb8d33830a367b58e298b0f19a31c6ed3ceaf741b9d77abb8a1e252f714c84c34fefe50530fb9953a389e5145e8525835a7f4d594358beddbcd88ebf5f18fbe180ae71c2969b5ced62a997690877d6f3f5b0f94ef9a14a99c6ab5068c91fb1d670fbf255c0efc0eb30153a8c21ea0008cdf663cd2189c316a1f21f494a2a78a509e586a1dd2a0a1c76af3109b57e1defce813eeea3f1e437491416384b6e9a72e2e36706ca26e076476d71ce4b2d3ab8b3c7139b0022410c1b62d76e545bf229f4d3a23990a3e1dc4b90da62e2389578d5721305902f382ae4a5c81eb106385227c9ff5f4e3e9f14d0ef684fab154a436e7510fca4a548928012e8cac8012106bf01831249d55185acdeff5e18d33df1752205ff46f170bd54a8b0629932ff3a07c643d5e010a046bbf02b59c1e10966682d55d85c50ce57e6d396d6829be6488a94ff1dc7cd239bbcd4eae9c9b3c47bc43d790d2597674f334c432ec2b7d2b7d6afcaf04792b28b1373717f77a4a3329df5e02aeabf09f6d4984e71b1196b98c2cdfebf53ebc77efcca5974d93e3c195128c167d7640e89122aaebe89840199bd5afccded2a9f89ec2623c79bf7c3eaba2845ddb10b23172315d8a76bfcde3b38b7dcb1f782d5f8830fd7b8381575ec8eb264ec94be923107d7724b5423910cf6500082700fdb0420763bd3ba5ab7e57ac1905355568a12cba4201c7ba570c6b194352dfa36e491258aaafa83fb4e65733bae840cc302df2855b7e6e0d78eb33a7be85ecab20fa9d4536a10ca858157c524318e1d99deed70424bd701d4f1e0ddbab65fbb440271d1a00093e002eae18591ffcfdfbc0e8c7e818b4008ddfddf37cad8b786c0ec62ca9299cfa841bcdd39f7d67666d836cc847f6195c0915728b71c4b9eb587f0c166e344b856bb00d60a17505f353235433985f72fee73580854b9010496198889f1a1ab4eb3fd371d872d556148743a7442ec5321e291a8f1b60fb11364c3eb32eec774786e38611ed5feed614526fa456e1857753cadd220e205172dbe244ff26eade331b058d98e9bd7dc2e171702991e5fb20b4dbd7eb971dc052d3df23c6658462d6bdf16fa1d2dee86365ebc6a4fed6fe558ae22ab3c3b232bcdc15272ad0cc34e4c282edd80b801c70c96b07e6b698cac66080a9458420cf5baf044e4b1e2967216c2edd388c30f967da6e988f5bf417643352257886d90e960deccbb55d8a534552246204031d16ebc3c9268f00f917ea146d26b86d06a540e3a5888b62c0ae32ff04e5e02064e278dabd67bafa7560a2145f253b85a271c2e30548265bf60a5b59e4b8a6ade30cf9dbcf2cbaf50e14482d266cc5c0d23d9bb4b79d7c0608e90ea1ad260fa88e88d8de0d5a01e3c936db1534beff74844badccc4375366a45abc534827c025411a4edc2c1458295a03d4777f4e9c1f0f85c72690cb284701373c2816c694d2b9aad9c922d8bc16851c7a6f3c2f580e75c05ca0fb75acc1201e381feaa6e64bf4fdf8bc30f803c1e2cb5258b5476ee84e2a0fc8341484827a21b263a0d2ca80b23ac13e4e27dc075a081d8a9f19a62b5e983ec548225b8efd1d8f44e729ab34e388f52d8c9c771aabd1ad558487b6e8850385643387ba7451fd04a010edfecf8a09ac498f00e002a44ac5f8746f1e976c218d82b9a27df2747d6d96b1a8d49c80af2664f3df3e51683258034398eb639bde5284369208d284d2007466b6838538746332d2c3bed043b68768dd85ad3ff6279632a281949505bb8881b23723ca2ef7eef7610d919c0a651cfbc6918315443266aa9870f886cd260ae95deca2a3403145a5b6b438335def5a97664b9bc6e70c1b11fe032365f7af68582cf53dedde807311097d4749163dc083a5e89e427b09bc833c2fd577d61f33e772689e1c97accf1fe91373a4d707b82aea3b777d9909f1ed3de6c44bee173fde4941e38ace24e71be114d89d304b035fb3a8dac0edf513c004d901f147ea8736a3bae9241b04211a9504271a4db8e067c75f950f8f7c0d785ba81f67e064661323e5a080eae2f54a48c08486a476ace6fc821c0261c8f0734369d61bdfb1f712ebf77f9db1e04d46fb864655c54ff46e32efe432e85f99fb0e3f8a16bc7c700f5318a710e8b0d04f2ecf86ef723112e951a516f2946f1297764b811cdbd4e4313a7e4223cdfe80aac2022ff8b2f139924d1c4d00cd40cedd376eb35ab062b0d8923f4a964f0487f88a319204123713af0bd138c73869cb65ac65a726fa69556ab3cb658a3e64080b4bf1ce88ea32d437cbf02c746abe2ecc10c303e580e8d36aa5435af96d855f781c4bca9fd8306cf5fdd8468cc288d32333336f3f1a678b44232ab9d661000a53cde895707cb7c3054034e62fa475ee24e48f5cb2ba6405aaf2b026f7e4df436b46d240928e2f1f9bb889bd14f57fd744359da25c97dddce2d18932705d0eac6b9c561df614b564d3ad7d29202217b1a6ca5cee6c7e97c2f9bec46767c3d20b0ca5730898eea3e48eeb201cb5ded6d20c3db5fb3c5bc113ecb0ffdb0ceb3800dd2c42698cbdad9d03362a4e455095ad00d7a9a01b1fa209fe2836770dde7fb697be81141440cd168307ddb261a14e9a542039765941e0ac914f77b08fbbc6487499e419dc6db6c806c02b25296b2ece273540a23c1fb25f5c2c57807f097efc3ff8f6a39b36f1abd58306ed1e7a0659925459f9f2773b6662748f49071b416ab72409c7380a5948558ae6bebed998957f32d04fe024c308998cc71f030e5fb4ba78eb1ce61a9d2aa191b4259019c5240efb697384f967e618945ac3c9dee5967c38ac71c396138522217b1b9df269a04de3aee9c21cdf3ce8ce3edf39bfedf385f807fe91b374a7486bdf73ee9040077b74f2d317e17de71d194f76cf3ca302c05522abe17b34d3c7bfde6051e7eb597ad6f1d6bfe0f86fd00291cfa650eb610846cdd710b564e817dcf6468389fd0faec6a10cdf4f05a592ae71595980129a786a4532e5f7be09ead4827d059abefa312ec0ccff768d4dcdeb73f46e69764ef3f7ffd8d7061622162906bdddb0ae30d1fbb1d57e58342b93f128931f4c63d62635f09f032c8e5cc1d393a75c5d7aef56dd707788d05d2fad689f993a8a7155481d4a58224f0d5a53f961d9882f20003f9c39e581c0927b4c335927b46ae159d84020ddc2ead81f78d39301c399279dd6aec9e48eb12077f341b7ef8b662072d96691d0c1e49b2323433c942d643e8247952b44c7161cf370d027b24893f4047e29a9e9308e6e1dc01cad04e4a0f4f89f6a6cc67147c3beb7c1df8a503aeb40372c05ee9b8721df04b9d4c7bc8b71202908cb50c917785ff3889bc15ae3ecd0322f72b5c7d2e4744ec577e2d7f619471f00e4abf8750456b3e10bdcb953f8f162fcc416fe9b8157b73e8d09dd23ef31ef857921e33e3698d6aa2f5bdc2e7c8fae23cec973899f6c057fa4137adf99178ddaef4b46e71611ef64aa94c681d624188d4d9ea182976780b03dc4b2ca111e421a65b7779a1c07662b91f43ec5bd17d2e228f577c8f962eec21dfa57f1130a1c6c120cf8deb63efff2e521029d652d94e45883ff34c4971bad0659e3344dd7332caf3fad54c2511f3de7d4fbeee0d7843a4bd67986a4e6eac4a5afb01e4ac9cc11c9e833e222db3f621bcaced8638db143137ea14cbd248a3e6af48098cc055134803a1186da3e7f34c829ec0e1b32d1e1f17280043ab3e2278bea40f19416f27910fb586580306a01ab5128152c08b5e52c947000f5a816fab4965b9c06f4e31a67a5c79c79e2d572541184078c0adce7ed1eee8e7debcb55e96377467a790cde688cd4aef65427c092b6a94cc8b03b13073eadd9a344556a7709f974681e9678a3c015c3edb1732cfce36094e5cbc151c8edb1d821081066bd7d5c9f535a1e0fcc0aa5b04b584bd7d7e327e73f969449b4d5cd0cc81668f6b225b29287c6974ac73bd7d5c1d0ef32fae9a0713aec6cda94df01867bab8273ce5213939ecfea4faaa1cc8c9f11f57c3c7c642d8895f621f40e5f3af55f440af46962487be1cc5be12ee2e3cf1c54d524c92d8e96ffd9468dca3f70bb5e79104887140497644d57e55a26fdcbb24b4af6e288835582653403c7f4bcbd08f92d311cc3a020e50eb921def5ca3126b3feee41b9000ac93e995e796804a39c45040e86d8e77772eb22f6d0dca48e1d58549c5143c1965fa16afe778e7f209e0e66444a6a620b9e2c2c8a66e9a62a2bb502170f8b46bc0530d28594509c6ac9ab5a5c15d25318582d7bd74abf2ecea1d41a7cb7e8d7eec63469d90a56ff5226381a0db56ecd65ee8ef204eb249ea1dd788436ccc71a04d64651b3781b784c0ca7eb1934df35bc39a25bd5c9a2bfe2e765cb1f25f515ed64933a3c2e518a3d46ee332f6289deb151e25822144e5ab12d3169458c985fb8a532f6845f755469d988b5165e911735f46b12a6b35676ad0815a47fe730eb53e16b670b511271f9d15c401eb62b8f303f9050f6d0846136770116d6201bb4cd2b487cf92a66494388cd901552b6a7e77796a6d4efb7dcdcb38105b9e4f0ea58686c28922361496f3849dfe70220bcf8d1b8d1ac528ddad12bcf9ebcd7d61a2f4a6b947d0a90e2eec76ca5ecfee69574eb8cf7434d0fc6638227cd64a1bc04af6b4b30bd2301da8bc1cd781e735bff088d6c40f7e289a232989c45b0deb0d5d0f5d913f8c52f55d302b046b5cb7e761dcba878a980145c20a4b42d6b8a6bc14547c3846ec3a65586127a74971253d6dfc90b798e44dce5629c310dbf07726cb6e00f66d524758b2cdaffea188c43327c9ce54d214ee12a9e3bd7fad8db6bd2556f0f3e27521e762bc117f8dfbdfb9f85dd5f8204e4c35bf3f348eed79f196bda585994730180b37c924e2e8e45a5e7cd325e94e8a6a6d83d20135020b26a113e2d056b6e48b5542b3091285c8ffefe5ee7292475c8d3e519c91407ccfc75f6d89a640ebc191e63c8f71ea96b850b7a947612b0b1a0f03f41e1362486098144025015024010a29802a0d504841b9d87117ab9bfee557c1b2215362b8749b90b4d18825b8b565ab1a9628c0240d09ce476b3defd0de8e41960a44a702b069aa8cdb3b81bf1abb169a295bc80c5d480bf692e8ec8e895697833c616d448a0b1a495581b68cbd806ca55af2ca0384be248c12b5dfc800c812dbd6db647ba13d2e90af42d51bc31b9e30fb07ee291cbf26a1941186a1b7ba37916f443a89c1f0fe8f10e5282389d38a3d1020bce41f71e891313c02eb74627c0d4dd69808173d8fe82cf53e8c445768a6194e87f875987723ac4d3896bd38f7e2bc6c5a1237771d05748b996325a6d89854f12b2590196e58aca1149dc0e3671fcf55df0b7f99c92698696cf0e52abf2a4150eafb6b112a6cba6484da277cd6c71b86ef2f0b735bf8fd45fd55c7b5eb6fd63499d9d5e6db5da361b2ed06b6ba1eec711f026a1456ee2bbac88252dc00257f7727871337201b601063bea270ace2c48c0cf0b2f010217edcf3c993678f286c7c0aefdbe1dd17f8d5b617fa954d7812b4cab717f0abb12df0e39a587268cbb32ff0ab696fe145fb2becc73bcc2239e0bfbcf6af0d6a580c6825dfbb43f8ca86b391aa2578264f348c4cfc0683ddfbf816abf0be48ef0201677d660be4e4b905b00f8fc2f21c33ec475845e683f01b129264a1443c7fff26e6981229dff2ae214ce04c9500fa6398690113952976c9d36eea471c9d883750f7f1e3ae1c47f8e105ab2d2e80a3c8fe3781ed5413ef73fa3c7ce13d6097f370635454189c71d369b5ee022f3cdfe17073470a762ceb27e9d0a10d8077a2336b27997abf3df97abe7d58658b0e678cce8d398dd56398a4a1b11d36ae3199128fa3f882cca9f35a5e44650f84a1022858949f622c28cd0d2ac54fc669602a0e74327e1bd6f8e3c6aa807f74c5c97826aca2f71b83d799725cc623c1459aa41c7b3bd8ffe2314e329e0bd07af9c195a936a2624c620d0329f0c8b82b90f432aa8335e381de50d10ffe5576790136344acc81e09a3ac4dbbc0015393f6b91c8321639430c279d6bd87d40eefc3c14cea8d0ec353be53745fd83ce66b0e01c0ef9d3d812fadf38f758bdec52881ee7c40c4ac565653a61c67e2cc6a8deea221996641b42b51b4f66ca8ccc96ba0416ebc04976867b0cf2ef7660f7e18c06b85fdd78de02ef3a380dc2fdb5ed04edb779b07d81fd004e06326ab7d6d489a69dd01f6b6998e351863e7d31aed51a89a75abb02ffd68207db802c77f4c179ed69532e76709ca024f4868fbcb6f0c1d5e0b1ec533510a23ecd69d326dc1f5b168636a9b138daa1b7fcc0a903df03b53d0a89664983301aaf325bda84995375f038b67b5eecccd92bcb0b0d0f50e0cfc232cc34ca843db88051b9cd85300ccab000dc27f0477320906993d90bd2f9c2bbacfe8e29264027060ed923fa8ad6c20e3c99c7caa4a4fcd00a16c9750e5a128163e47917e1415911940fe92882432ef11ed521a10a2f4998e3b2e8245c8f2802688be42dbd0645f5a9adfbebea2917d8801c0195ff831c126f8570c93299ffb5b1ab10197326e599b7b07538d4a569b7c9a70d4655450472e32dcc2326b716adaaefa37ccb560357bf3af276bd7dc7519934e685fc66f41dc943e688ddf116f3629813557d04b16f30f726ac7372237f28c4453898942258888f1318cab31d42f75b8c87e7d46287834e3d25b32e65fa010c12d2cf80a81f0235e9ea895608642bfd73641bf4db424302fc955aed05348a0d46ce98d90388d91d234df1b853878a26b0ef1b9f313382b5af7cea16bb8704d0da7c7acd7327842caaa2b5b5d08c7338e44f7353803fc809069e14575304a8b06a9ce4a89b55806c8fa644d436781ebb53ccb8d75137615770b8a59344adff5a28adea8f7c35af5f500ff6c69f90311218ff0adb331bf255a69cb827f8bc062b8b8fcf51cc8fc1f5da5fea00e898e19a2e013f864b648cc904df05b6e841220c39b750e41a61399dd3cd29aa92861e306ef663195a3e4021abe383bd3fde0d90175225885d235bad5abca069f1502914fb2edfbe33d49501a65a7c3736f56fd94237f03848b99193def84b5d8e45a4331c0e90978b309330751aac96822a38e507a82e25c9dd5888c5e9d77a6c63b13eda33252261a14ce4456837e9b0729db2633f261c6516f0039dbfdcafcf5e8fadabc49eba2fbd5b7feb9815e9e05b8309ab328fd00c874a3ebe72c4420f79f768c49dba722b2632f7318140ab2ca4acb0a958f94b0fd1489f9a66491e28d1d518a112d21ea9d49115b1485745b24b4d3f07369dbe0f9bb8313fdc2c56ce0c0d28327f82854c2caa6fb7ebf5a3dd8c79add7a46281580fdfb519e783ac2cd38a2da1722a16f1efbfa575b2fafd3e4ffb88f8cbcffefd115431c366982276a224d8d63ffbab15f1ce89d4731af411f82126359e236f268c88dbfb33e5e3f0f33ba6d9d7f2e3541e5df6603010d1552d147301282eca49f0269094b287bb063960a31d1cb51dccb94987a6b2efab61d2d5401f87dcb6501d3a0fa84d046c820f254b3455b048ad9269dc8e43955d7a6952ac7a02ec2b0d3df244df3e4ad07945b5489358ab96041f572e2e60271e2b9700b41351bcc980ac6792b5673a18b170bd6528531abf302b7917534be8cdeffe508f4fbd33ea635a904977176ee0c492e355c5482542b27958269ba6ff6693e24ec31c690d025f9ad503fa129ab135c07415f320ba82e5146aa99ad5e2141b698fd4d734e73c2f29a355cf2c7a9e3376c770331a2d749c9d4c85b1fbdc8a15a9c874753f18db2f75c20469277c2a773aa8551de4ddca3a8ebcb713396f316b856dd4610c78ab6654bb585b031b5f0e73b5887f68d17067e770c50a14bc136fad6e64156bdc99ce501dc8f758bddc8aa2b7c39e8139f1ea22aa4381bd9158fdd592fc71cf318d3c95937f50c6557f834b74ce25162c0f0029dce4480031d456729fcdcb3f9ef27ea32881a64bfaf0dd0dfdd0d808f9dfb7039dd316817435bd9263324a97aa362775c74c472b4b002a59b76f12f1b339fdeebebfe0a027fbd07a1bc76a513e5639e8c23c6a82d831d9a5c5ddb0cb52338eefc4a3c13719aa24bd8c909b7839bf324183b39c0d3592022305dcdbafe85186b4b6920941065a49420c6db52b5c6d2029c0d820a94136630bbbe4ad1756dcf16d8aa2e5ea53a4bd0bf8d1b009d8df51d77fedbbe6d93c84178ae54089662fe0afc526e497f46193b2835701e2d311f8d4aac9e04a976e1211c663b5904d6edd892debae758ad823629f97667090605955127cb1a02cb96ac1a439899385b110ae63d26f9a47619360a51450c1443218418fd65179ceba5f8ebce6e16926437a3a9bf80f0d8c18e1e60efc10235595c5097b96c65bad8a9d39aaf3e3cd89ff1eee928db28e79e08d150edf41a76843433f4ea863bb1a67aa40547a10743d075123084b61e6a3f553f2f6f68074caa897352b33444ea70d825040ba671e700e31d19c8ff58e5a12cc98389a19dd85585693090d329ae1e99129983b64eb1ed2ba424d57a45916296c4c0b94fb9d6434ba003a0283053ec4410880753d11a1def9a1569d7673b49e9be50325ca1882172a2450805700a4c899ccae1d53fc6bee6f58d3cae71c0d28c20008038ad3e794f560007a882220ac50c8ae95c2bbf192be4ee057857d94583fcca4eaa4df97a4e519669fcbf86bb109995844786032c9f8d3b00b39b144786033cbf9d7b2fb90cce2dc0003a28df45d5e80ce903ea9b911fc6f2d7e317ef7317317a0121a56680fc6e0a9c5584e3f07c3c0b0816ff5725a2ec9518352c9efa5874f1b9fbb81c8aa0990c7a976f3ac3709d43a012db7609f5208a10c1f4c934dcac64886aa0d659136e66cc8008a09134ee084cbf0c4d3f787b657880f9eab6a56076e70136f12342d68323ae57c454d5610684d361efac2b5cc129c62987c04c0f28263e2f747dc28ec4fd32ed07ea7d5c4aa2810badc2d956269574a751621247f21185741457a319226142e6ab7b9f0a8155e95a98534a6c7580508d77c4f45020b4c4bb19cdf9c1b6626c4ffff218214ee90aa05e05385d89855ece8fd83fc424cc447a80eed60253561625e2cc748a3b78bb117e3296066c4b55e3bd2c8534c8b5d51a10dfaa9eff4789dcf05d83a6268c6ab6696aeda9b8ec0812539474737dcd4accdac1770234a65b125cce8208e6e9981ef0c4a4aee262d8369d64fbb1d43e6bfccf72dd1fe194d77ed92d8a396b8056f49c776b13cec4001ce729a4aef4c4fd1d319a6ff754f89012d6c1672af873b46822c591bd4b6e01b6b66f35527e8a6285136c85241ad63a9c93619cd44d8008e3072e7f2cc5f210e713fd08bf0540d336df5f3651c45c5aed4476e98a5ef051453f660213e4e36bd362a7520cf4a941106ad1560ffc4ab4132d26ea0a408abd422254550a514298dca175ca49cb52cf4f2121c7f77df125d90d369006dc6944435e8baacc07ed29f9ac2da2002555d050bd8b051607d3ff6dbb81bf1410d93e23c2357c78c02c1266b28684a98f98f116d099fd325f22d9982e15a0caa0137a97529d4d021a096c2d3de6966ee6ab5bb069161bc466e2d8a8eb1b0d2ccfdd8d33e6cd693f1baddd1348b8e3fc481c1a7fd0ff26620fff11e26586c260c12e4193151321ec478e4e3a239dbd353ac8cd2071fc0aeb0a1343750c9c5a1c61a3b97496e932548fd7928699a8eda3514a5e78208ebab8cc16581a1e29b4e718afff6449555b7c29ac0f15524d92bb6e25bf4ef7c285f9129138b3924d8232e9ffe068752c1ab8adf6016b3a4e6da2f08ab21d71e179a647361e5114256c7cd8b5e73a14d8db69793858a1bedc68c9b55423e7ef53cdd814c2471a3fb43374f92ed38abc50e61bf5deec04194a56c8111cc9f6645f7240721bc631304adf768f9f4c7b233567bc5f5e02681ac1181bc37a8b1c034ff20a89bc5aeccaa536cc5885f478224ed5269002223167b3083450e58f4c371198b0f956f152f78ed0ee531e91927862c11816af54095bbd48893100f53e7e3159a761a60514e445e3b62ad66480bc954977c4d9b0f9eadaa7f9546227c733dcdf9b80e3e19a4b3cc3a67a8e57f27d3046e259eb8a7c91269556209b835fcfe4a12200f64e4f5421528778405ff9222d228b1b97fe9b0e24a10b5bfec258677a4d64d2841d1991dbe550e7dc71bda80f671d931d0ed028ea766a14a1fd20662bc07e807ce86c80cb4124f9780da7bc53acd250c40f9d978e28251b39bdd4c4d64dcfdff3ac03fc7ceeb80a73fd2da0ca8ae6732a6972832e32d8a7610f64e7d27c0296eca2eb77486176ac5f6805481a8fffa402719471854b7971f420e03158bbce9e5f0b6f62b1142b40defc23574c83bb0a8e3c7f901c8cf841cd6b91b7037916ea06e028fd2d19b36436cfa6634fd8bad1c386f2e7fea0fd036b49c7496aaf8ff64e1e14fffea8b45866a9f55e0c21219810cd5635ae88bcb50ec7ad8aba08409c82ad330760cb9af28458eec9654970ea6af7d95910e51fab20fe66074ff002634708463b376b222503ef913e2ca5ccb852191968e4301d19587d4a1f4b0aca106089da563b5019180c236a4ccf284b99d0564b996900c32939b77446f529f8f565e038ba410128d0fdd2bf9b84dfdfca5a8a5ae089515f7de60c7659d57e3871dbd615d38121d7278fe66cd9aebe09999f74076163ad3aac16a037a3052df01cde21a4a7bf0a26408914544b50a27d13dab038c89ba49c12991d06f9bcb13fac19b725de0ea39ad7f76ed1ca309b635bb7696e6f5e73c566d4cc4f917b4bd7dab8cebfe8f30c9d842b281ee75ffb06c083749d4936efeed052a04b822787621b91ffea9189a0d4726c27c9d0992c4a604e6ff231ddc3051b4bc96a178929bf13c6518d0b7c1a539cd04d2847f02bdad0d7739f67f8424ccf77d452f4830afe0d3a718edd00b54a16ba8aa11213f411d0954d10b6e8fba7de166e7b847677a04e04e46da5d847ca040478ed6e8096b79bcf77685e7ce3090d9644231249fa5bba6df1bdca1f0d97019a7b2f00a011a0fec0a3ca210535eff44db251df0acd7a665a08b514f502524b6574726ea726e81c94128b0328cc8d8ef236652b8e775a9c161ba6f5c5e9e43d02608e7cec0a6fa3ad346c9247e1b8974d7456eedf53f658e2682422c63cc629bffe6a0b2f31bbebb8b9a0b0c3382bc51152553c386d242e5342f1f4361addd039f9e7e0ef43e2c6d7a8027a3aabbf56369e79d4ee0c850a90949f146201ffc67d9ba81de85aa0fb2e7117af34d1b278777deef475f2fb4198bd72737b36462c10dce9a8627ded6ea25c2e3f79701347b53afae6a9df146b6222b8498f0783340c34a8edee14df78fd6bd8086c52930ab9b6268a12c87c4dc3850160bf1c75157475644ac9356d60727accc84c9fddd4bf628101cfd9339a71518e573c6467b6082a94b7d931fe670f887080d88735ed85a09faa00d3e2f33fb1508a5d95788d1df010cca9052c0c6a16cd0388cbb6213198680159bffa0b7dd489c6319273df242ddc8e2048496e3a08251b3d708757e9aca757f378df8a510a93b0defb4055263c5bcdb32e1ce5f92c0a4335bffd6a6c1499c075eb6af0742f5279e97fdcc823fe7d69364e5feade3ba4e39d225a3229bfa024d8ad5b777369921410fcb8375480633919ce7a051aac9772b6ecb2197b9c0c27bacb7c5dbfde1fa1e60aab9a4be29ced5a5508bab18756c695884aa8a90354e9e484ab97967a8a88cdf87369d22fa6fec03d6928d11c3014804c4c53aa5613d44a321275e35bd83b317f935746bf7a75bae2774571cd291201d0e3278d58240cbe17432342a9d44343fc85ad878212cc40382731e7af1254049b5b48ac00af0166d112cea53d77a9cfd4c56b11392c708359ffb08971c771273e3d512f6b797ed68b04d465389f2dff2afdbf74ffedea5a76dbf49db6d29145af155c601857de57289c53a069280e8c1fabd4ff4b80500daca4c29817d4c6cfb3ea7856132df2779769bacc542900dedd2162a16c0077c6310627a76215da0a7be78ce5030f81da3cd716ec0c862645b99862f59d3101308db6acbb1e73c77ba4327f8e82d24692a14e5729953e42d21c9fe552345cb2897ba4d3256f6e8b36d2ea92f958c3f136fa8f976b61fb0638ca8c7ea4c331f60078d00dddfd09094281c006368d248bcad7e394fb6bbebdaa6384f5ee5e37d0ee6bc4e06612c8e3722399ef4bae6979eea5eca4220dc875f64c67df758066badc12687c7180a786dc2d809f70b3b7edfc3fa2d48564658a8c25c0ec88d6cea5a905dd80b922f92280fbe1f40ebe510a78f65e9df7b23d68e81c158ce6382a552545c051ce6a7ec3d6e11c17a0e1f832435bbd5eea2d71388701d22587fcd8d5e016f6f03ab4953f92615dc49a301554c1108473cf81fbe58f280d65002915ec74707db9525b78550eb17f86527e22f16c908b972f3e6a7d3dcf56604e5be09f8de2e6e4420ee6f28c02702b89471430ec8eebe4b8e6da6c110e357137a7acdd137265bfeee6fb9bf01cd1508ff7044feefc9fcb719b7f00590054104cd27eea18610c579a0c0467f81910cb6e8f739a62c38afec3d59533f3ddfddb93c9f97d681b9e29bef0eb1bf86c4632946b52eb3afade4727131591c3b795bbf34971c41b92c6e0439614dd35141dd91002f2c02b11f7397311c19e5a67f90ef18d373c45f892f37a38dcd456a58556ea461ac8dd364e1b0eb25b2718273dd7808af07dbb44fd43cec99aa9401003555fcaf1c16acf9ac8391ecda526b259bc8957e4f1fed38a859ef273866a104c7663e18de6d572a89d417b36363b19b82cf807c8df174b20b1dd4b8bfc98bfff2b5ba42e0c004c3eb066e2eafc3ff5575c136f2f868815c974818f7397d6f703999a713ada846e973b4b44a021786e5742666b2612b486c477d19a8cec3738e72d3cc2556bd3949452a54d942cb88de614e52a3b1552b9f0838baed95653313edcf4bf353016ed60a80af3519088e3c007c9d69cca152c5ba3e9d441bacd6371b296bfd956a41ec23d3ed375adc9a5c42c97216f9a22ec7fa31ea55078da900111f08077e4a89ca8cc26f7e2dfbaa7d470a44f3a68d27701c4ca3df413a5e9461913fc17e5ac78fdc4062c651eaa87f737d28b7276a13eced6cd7e323230fed331e8acfcc5872635f9823af7292a00785c6d541ea9fbd01d61e407a03ad0a2e281c44381c920c50036893cebc538f8fa7ab9ce8ce98eac3102790c91857716058d2220357b5ee5d827872220d2927d91f2b95f7742c3f58ecb10e4689b7b3c40855c5f686962d3e86a09967c1f1629ddb164592e5e2ca19ec856fa9c3099c1fe16ba2057af37ff5a126f0570825aa25961e72a492af027b40886624913e6b62d69997df9a7fef1708d0c7331f0dfa494a84dc67dab9d7c0d046e3229e8f39e0080332848f208970f8154429bffe65f75d925798d3d73431ce047f71e2541f7872ebed093e7229461ca7749999eff7ada191decb4faf8c0477c1a8970f01d13b73cbf91c444d78929bf206cb99ac0be28ea13115a216f83ccd4c52c80c1476c18ac6b3f36fa06505c49d970e630ecc8ce1b018d1670ab25eb3b38b99f881ecd37b94cd7097850dc3604c414b0a5b545478ecf5fb88e97593e19292da460764047d595aa4e699d0e5d21b4397056e1fbadc3c0defb26f8acef7cccec1cb46bd0bf913f6d75cae6ba43c01c550cfa0d01b94f46264954010288cf42eb2930063402f1d564a272ca8bc0193682374044660a6e76d89efea0a9b012ea95e255de4b03506612627bb44c4fae809ccbb6448972702ca658d7576854c5cc369abf05510b804ab4c9cdff8fd622988fde516ae5aad63ec8d448ade2d75b6a86ec1f37a561a68919f654829de0ad46ccd88d73ba4058802ae24af2466792b3c5091922744aacc7ee0a58c98891dc6f7fd4c042de3077b1fd96fb7ec5fa5e353a2aa559964f6ae00ac7cb8259a55242b24927959e603b4abe5d6e2f792795f3d1210ff993f11064c1ea53c3f8ab1d0e4e96c3fea659dc5b9c51e3891904b1842a156e3e34ce71aa5cc24e8a4baf01a26a1164fd7dd4c20266bea99fe045a7325261c8d0f7e4d50e4d55d51e2bfd77e55e52094d9327e17d6c592e198b7fb54328683483fb1685fbb0efbd0ad6fccf5d9b6503b80fb67f26ae9cc892e9fb2c94b9810065eb0585a21ecf1209503d7a77206cf91a872c6b4cbeb9795bc4b90c4de2b741fc08be6a4de4d2c3f357cefe185f8d72c547153a4eb50de3561b1fc4c5dcf51544b4c6f839a07673fb50d2a5b1c44d487db3d1ceba6a1872b3e7571ebd18f963bbffff300fc88b40764f876ce3adab2af21b6057eecc8524bb6246e2c6ef00ee23dc0ab687da6ffaf26a7a0ae283b51f0e316d1182813866cf0ff0d9309feaa2266cfe0601384e9f3aa233cce8af1ec563e9665adac624499655c764542493f6577164762a71eb9d3e5e63d29b124a69f56be2ee3a91e9ef2271db2afd67d04dd4d7fc3067af41ea737cadebbcbb73590afe410985d51d5cd2b60be15905cc56930999d215f8b74f4564b6637730cd1e064e102b4e7b2306e686dd2968cc083011c88ba380ecb5a0a689aae743e1b7980a2389db22dbf720d79ef0e6b76aa715c5067988a83797c4757cc29cbb0011afe9b08e7e6e3c5feaa8df4410668fd346693ea1adfb9e5e9ea60aa1caf39f3705bcb99645245d033ca986e6b00677418e6b78a67419267ca60b2176d4e92a3324396783d6a299c83d0107f1d59bd52baaaac16b6574334691161a024e8b6bd7530c0ece9a16c77a2dddebfb8785660efc61e94e64e0844cd85581a334dd657bcdc25b45854a45d9225742acbe38aed5e140d32e68f744de21154263433a590d84a84b65277c1826ef6b68470225a96b03fcc83f75f06d24bb990647572f60ed36fec85379831571f1968d78bc88bb1a4939765c863e19f3d45d863a1449590a3f4ca07fd7194f2205563c6211c45c03423a9b032e6303aa4ca86a1a52b56f2e3bb8ed5ea6f6e067ccaf854bce5d84fe84fc88518a995bc663ba78ce057c600bf5a9cec7e805e0c4e3143be3e04bf4094f0af038167e1f08208d85955d67e7ed4840e13d8d844583651901af622ae04a18a9fb98d6c0b9f19415db5303335729575e205f46285d4a388e99eb384ba89a3ab8870f597166e8253955afd00db3b4450453fe551ad8c0d199220d9881a2b2b12aaa5dca902e8d440bf3e8d6568fce306c26fd125a1ff300a3eadea569d2ce42e419de7c4901f82dccd06012490a8e8f73330cf02d903d66e393232475d16a1b160d6fcff665fc659d65937fcd1d1e716a2c5b73ac66030f7389ede0e7188031c09acec1ece63a918910544f5d41126bb36b21253f4b90e73a86329a8013dd650f6656303086376247d54a3e8f72dfc665aa9d88182901ed362b3e46ee4d6985fe80ec954558373ab149aa80267495b73154822b4711bde939622a15890edb5e7079794579222bc19d5000b5795a24e7e3a5959280f62fdb7818da6cba124c63c4e6a21f687a2b8960f188b310c412184424c990898cc2332e439b6c0bddfdc05bdd2951037163b4e553a0cd1b9e178fe7e703ec57a5b2b77cbf0af6eedaec41a5367a9eb17a434836ecce7f732ebc13a87763c086ab0e086e4f66112292e23d55f724aff655b2247034998662fe9a19d940f452c158bd84a137b64d714348da5972ccb72eb8126e022f417b8cd20702a26951a7a3ff9a6eff417a7f012b137606b5c0e2e889b1210d344c9241a56081d206a5e0c4b134aca532be3aeba38e58dd8345d0a508f0d4feec2f93ef9580653432d5949bc1ab5360bb4f52c074f418f3b086f07f6f38898c966391d08aa25df03e71319720dfef09eb90beda25c6aae6c154c827236e9479999dcc1e717c10f714280bc5f9b74052f5263ef2c1b905347d5e42bd7ad924af3a8dea5a62635884d5884a242d8d696d03cc84f3a10444718f268a6d610eb0bce6152aabb22e6eaf583e875a2076d600a464ff07fa8497706c4567769083987fa72eac3ecf145b9070f30d8da5ec2294d34a5840d5b9666d3d7c40f40307a8c208578d20f28efa1e45565f17ba406d4e891b2f5be0be17cc80cd3d6a73ad39504b4ba19213d069a353953a1895d1fe2b9be68a20e37d2119ecb45102e11839e87f531f5420c1eb9f3d0f08117555dd00502ed92b6dfde7ad8caec5010b7c8c6e7e0dfd3c5575a9109eace99277d59b1b40138f80e9573812311a1e6996bd1359c88b5cd4c4b5038fa1187fe754125edf068e6c2ece5352ce5f4b94bcc3ad2c41d233406af1060bf6b7d26ef320d6041e71dfdb83e37f6608577f98bacc86ac574805ca2431905c3a94996b004922f4f863818eb7d529cefd9b28c16395780dd8d083e6ce9fb7eb1ac60d7c99aac6e0f096e5e3aa5a3a7d7861f38d20dd2a84bb861714918563dfcd496ea4dd8868d412cd2d8da1a33c5769f231a10ba003f1bf5be803b2b4a6b619a2f9f07be61a9913095ef7b61964ebac9826fa90e4531ec7625a86dd2ee0cf249e0f758060f60a30e84294d48582b1d5488cf90d5b185cfa394a74d8f8052da9b74e9cb5f499b36dd27641396ec8fee20f67a11e32db87476114ef69911e66c0a72aa78b1b48eafe975b05772171abe3aac173de2f508624e5e623bad4afa4081eea50c84caa909d48c3337789f45235dbd8e97d25d6f6c8af55640d8516641d4aa225c6609b4f50380ffda8e60ac3f768194f261bb03c52d07248bd671bd17c59e2e485ac2f606c16715eb622e7cb74106b22949790a959aa9ba65ffb78d1d30baaea5045923c19406506e7d46e154a85e4daefddd0bede4447454eda416ef5cbe202aacd7ab1e49fe40076395ab8081c12727d9a5c4a4d66190c897c0e993efa0af4638fe78d04ae06cd55ffa554ece7e228be6007575c69f71a1593528102451dd1d82ab8c0e32ed2e3ccfd4fab76a0bbf5bb6b80595f4be825a3c19a0e6616fd88f158065e2cfa998338594837eea12392da20af909bd5dd88b947fcfeeca85550b396f540e79628eb37cd473460f8be23d53d04dc683ef776bdc7b6618e8135b834fcf07bded4db9303e3bd5738ec58882d70822c8020d3dc9fa5ced90858507524436d714b3e954e5d60c679207ef9c87b025dbe03651b19430c1592a2edde5de414c43ce47de3dfdd97d2dfaa982770580a141825150ea48f2c5fa6f066619dfa8c3cb58d1dd814d59832319f80c376f628666901d1782212b7d9571a380edd1f71f014be3fcf9328e712da089fd577ef12f887186b7025e80a8d4205cd002c14cc55e8160e155542ec81aea0dfd7877b6ca36231caafee5d637f66b414d0539494ae7ba070605b154f45607151185148d7b3d9639ed776248af6b620b8c993d05c6ff3fdb1d5a06f65c03cdb74997ec7fbea96a85929b2a5a57ea2d487b478690f876541dadf96e2a06df266e597dabbf830f621b77945cefd0a97d6b4d8bfd087db1a4452a6b7d44b692a23235669bc53c41a4d7c462ad08c62aa608e0a3d829ae84a90604e8a8b4064a862271dc49a27a1444ed2a10a7f6b3423ea3fc545e78ed0fe50d6ca91b958e24195c171b3b45f72a7ee321f2df6cd058652048e4106573b1dec55008da6e62cff9952a222cb563964d6dc7584dc1abae9395bc7da3e20ea4038f4ed7ba26894f45f60e4d011ce9e3d0acf7ead49939d8b1a54cb3c2d6b9af856e9f45cb7d2061758f9b29548af80eec24ba55f456bf29d120240111b7286035289b1d865dc0a0c973840ad829545f7f5a9f887c5a10a8579bdacca5b1acd0a404ceda6325168e15984b470d397097625c58b7b6fa73b43435f6b7fb6f4110d53cd6b8dee981958e6d4b21d0c44ce3c098e933a5a2d506da22e23263851b64c2869e1e13d44534e3be909ddee36158548f2ad23281254b8d73cd0c5f30f45f99451c19817159241ab73cbda6d20ab3cb8b3cbe67c1b242c34b4b2f351e9a3ef5e6b97e232177852c045dd10c42db4ffdc30e7f2672f087cf7cef0e4cf19be87311dc13eec21c331902e07f3b5d084a2ce03ddb9a416e4803e19d2d13b74cbf0448b0e1ef3c96c0837bc4e104e596b574ae4039b15f95a170f45ca1fadf8702d5198e05e10cb61ce12f3bf1c5cf8e55c62a00e782f999826802da0539fd1a8af3bea4c35cddbc728c1170732a7747b0ba1901d44311ac2f3a8960d006473d6bc96ef4e9caccafcb0d6a3ff45bc683fe6b105a3a5ffde346a7fac3615f58ef222c9041163aaeea6c70b8fb11e24620aa4dbf344feeedebb27b02c059b9672805c6d2c09dc66aaeef0d3dc32d6d62e5b8baf3fe8189249ce39a1c4e8f71e02153ccaff4402d47d0ff90fc023aeefc215b721ab0e144354d11dc91913b3a8bf0cc917108e119a8e68a59257f8b9eac03d24264fec3933de69f14eb343c9c3cd52de2eb9bed543f4b3c0c1f0ad155a337bb667bba5352fb1734a800dce9aafc76908a4e7623e031dbac40f2d7cb507b83267b3dc5da97a74368c5daa85eea6d0abafc6aef45ccfd344742039e6121e46ffe1d2bcb227f61a5bd15ef233666ba84249d9baa780fa955eac183f1f8bef821ac2e7de99cc2bba98744c5b91816172fd645ec2fc3fb6d7edda360a402ede897d8d2f7e18c0574fbe394c7454a404c47ec43b4a43646edb7a7bcdfe57ead6269f8d285fe5cce8dae4923d0e6dea89aa4a6df3267c6d628fbce1880fc16c24dd6fedce9fa6bfd707730ae87eedae5d74aad9a801611920f82029a63d6878d025dc0d1bfc3683056ec870958a40ab802cb07feaf3cbd2d5eb980764b4b2e532953ea24696b881a0d7170c90fceb64407f3779771050212af511f420d5e1cdbd0725725135887cd6f22edd2fa5317af03ac211033a9e3a3db5e5028abeb55c494e9290aae4cca625af86e4a2b5b4f3f96cefa3428ca8a78b94c393691e183e9aa20ca5f35429335c31ad0632fc3f79f72c21daf40fd966188ceedf6420a2f0263f22043611ff7bf3212caf88432c5de41940057a3cc439a0b0c4369c6cbd908b53ca5da3c7da87f44a6d74c54828050ae31810264c850b965704b366baecaf279f44e62435356608932b17da0f9f7fad0d2b850c239f6b24684f32ef34d3ec99c8bfb2ca67a6c091ef7be6e4d4fe1c4e47852e70e465a1d357c03dbb6a82fdc08873dea87e96f0b272cbfd0127d17adebe7953ebc12049a636fb15a20d8556d0e7dbb5b79b8a9ba31c92cb71f8ab7d12074feb41b2b37aa9c6e037918e03065e18102dffdd6e49981410600bfb307f1eae73f8227a16a49bf77fc6edc4affb6aaadd9aab752ec8add87dbb4456d7777776f296592329c0a400b590b35301274a67b2976f7324d36ee5ec62d6d8c93d8ddc7c8281bffcf3e57bbfb180da3535e760f2bb5f872b5f429ba88b68d9fd43954adcf93d1c6fffa5c45d9f865c460e9f3ae564a1b7f8b3ec526367e18fa3c0dd9f85fe8f3b483b3eb61e367219136fe157d9ea0d8f85de893c5848d3ff55212f52942b1f19f740edf3e59aca19315c5c66fd2270b0936fe91d362e31ef6c932749e6efba4b4f1c91aa2d9276b686359108ecf10c568db236cbf2a55ce1c0fcd31b9c79257542e3e55a268546e9e6689ecd5a55d6f10c7dd209a25b2c9d22c1285d9272d142428a4b545b9eed322d5782083ef7f5aa425f287032ab36f6f6e6868caf25ff50e450b21d77ddea0ba14643d2fe7222ab3afb2611886ddd725cb429ede76bb429e39bb204f952a457a28f22c4b15f2a4a1216fc64c9e39657c93dee38fe47df1ac54e823cfc1db8f62bbd118c46f989695146f3808ebbdf7e27b3fd31c957d5f45d2f1ea9cebabea7ffdb20209a957c3065b62e0bce79e47add32d3174ff75cfa3160a69c9419beceb2df7d32d9774eff3bcff3c92ba8d5f1b545b484b0eda647b8bbfadd6e916275354e615074a5086a054eb78f00e1ce1a4488dfb8e23b3db3888c36e1eaedf226a47bc008921224958b2d4a2a4d6a22408a414f8b0e180890b8004616b5182b9a71fb6d4b7d538dd52c91510b51510e479817d2b153260c288528dd32ea8f053e3a16e512482a41a7e4ef3b002a28649b21a21bc425a72d026bb3e6db22b79758bad165aafd45a1a932c8260abf140a9582268a826ba4dad4694e8b1efbe5fbdd03ac6f6738d0a9231506dab22f249a3e81e19c0c74f839b5d3502de6ac461f8bf0f6f0bf83c36f83df81fe99115481d02c92a24436ad3235edec780a5a91c76dff37256a9fecb9286e666df80dfdfa7e1fb22e0b0fbdf873b0cd21d8620feb3ee1d20e94247f2dcaf2b6a432e229faa7defc770698de6c6060f8dd6380ef338457a69629fdee689bcc3ff69922280ec1b74f01adca4496cf0dcb47fa2ceba538faa7f4a1284c93ebd8b0f3dd11b593e0cebb528f2bc1bf5a10b7dca26d35f93ef30b9d7e0e4e9eeeeb50710105d72320259cfa0a269b83344008f3aea9ffe8e395ca05efc39f69c3ea5e9367defb9a63b65fa3bfa784a9f38d4adf216a85be54d26dde2a97c088a597f3f6abfbae5476d47f1a44d3ffae450a9ecf43a9c5e459f3cf83ee9d3b7e89ed3df1f471c94f4bca4fbe4b1538c00b2471c75ab7c388ade8bd39f6a10c71ed58f63cfca7b6e9ec8d3b7773ad91c744889c154803100e20ba10b20cf67c3bbe9661c0d8eddd2bee8e01b07dd39e0a05be565f73ad48d83ee95972a4fc79ed3f338ea3dcfe371df3925e53d858e0feaac613c8843dd20b803f5a9d36bc991fad3e780fa4f532a1b71a83ba5f356d1324c3bf526d3feada27762ecd4c788b143bf6d61db2abad660a3744b0e9d9d7a9d9dfa93d6d9215df9ba5b547fb7f78ce2b3e8ba8338d93368b14def4190ec94cf498218d9299f597eabf60bd49f79bf78f1e2c5abf40beff4328a3cf31645f129a5d5f03b5cea54baeef013552b238ebc4f9e3ebd47a1401bb6caa3f449d711477e4a65a7f7460298c8ebe5e91da5e93ea9e81d27d206babb51c7c905e993f2fe274d6bdf755d573b2992ce9fd23bfcf38ffaf41f45511c7bece9aa9c5e8500a7dfa1727af23c9db477b2d6763f438f137983975d0d1a152473df7d7e5badd391e2e69f7e772ad5a9a3b0ee4f289328ba99dd447df7292a66d13bbd3dfdfdc11141fb84c551877f7e1399754b8efca7cfa8ff3ae2185f856cc981fa9447912ae469436a9bdefb53d629262a6a515320b54f1bf647521735460a68b2b8bd174f0c6cd3bfc4f7d21277f5bfee5e4fedd01343d01df4aadd5f292ded25c2f795ba3e7f7ba73fbd3c7ef8a63feb6ec9d1fd57777dea81386c42139ad0047ff2e4c913fbe4c99327f7c993274f94f0929496a07c456e4748a03854248a1e389a4e1efbac9bc7d6507b343b52c46dd23beedf4fd9d61bf348ea80f7dd67dd2d3aeceedeee8e6cc9813b72c7f7260f6c82d05091518dd2045b13809a10e4494a4b506c91db11d27d22345464849d4479627b02f42488c362082c8c508205dd1553b8220b58fc808508bc24a525285f91db1112e84468a8c828c4228a139b13202741e2153fb8a2085728e18a268c62d567765a36edfa613599381da6fd91a7c721a9202189249298423ecb22f4855b8b78998bbc8bee4816666d924d21ad119269f4407cda25e77526a2689f9e65599665c9d9cffd5e554d0807630a99e8f43c9e5126c854c951d099bba789ab7d3a139b445a232f2d9113599b7098fd1b264f6b14a3836c9130d9f603f002242012491062094c608209464091f615451a2fa744f1698ca89e58ce688cb096490d123d1c629c7187c9d3f332187ae8a18b75d42163774fef0e3d5d6ed1943fefbfa01dbe0dcf970d7e9d617b5fc33aea90b1bfa777831f59693012bca71e37bee9394d819bbd637c183945641b6eb6f75d9f4a7ef71cc9f3668f2fdb1cf7678a63d15cfcd9da5caee1af682f5db476fd94aeb25d3fcf767d3f9194ca46f1fcd7b6f97c61736f72bf9b8ee228de0dde9fa19b8e02e0c81d98a4373b4641ea5db85859a92abaae3ccbb3ac64375dbc091c75a4dec57f2e6c0a85aaa70a01f25757dcc91dd4cb2070e5418e03675098d96e4814c754adf953d13f42b2bf1d777c4e9efe9f0a492d2c7c1eb5f0e9e9c5ef535e7c18a7d33fbf1d737c9f425e2fc50f479df2a2f6565e8a7ffaf0248a79145352fce43f9a9e6bc9c19d5fcad74f79ee79ec8e6e4fe14c5ba556cfcb30fcaefb737b2400876b2acfa3f6d5ca8d04b8bb7edf8d3d9fca7b4dc5bdd6caa99078f4011f3f8fcda94f85ab2a3ec8b7fb14ff7c505f4c0953744b8ef1ebd7f0c51f9fc71e3f0cbfa6680aa8f68efa62f829e163c7318edd99f237a5a66819364ea9b84ba91de8711df7756ff2bcaffbb08e5e67fa3a13c77120d7994cdb3b8d9fd3a6f7d1953c553b04c34e73e1672fc3a79b1b7dc6f18a5e86973c29a0da3beef75c7cf1a76f8b8f79aa4a2b7a88bbb18e4008b39b2379bf711c9fc7c1cf67aead1fee1a9621ae99bef7effbbc660adf86a189e45103bff70f1c75dd9e9b57143f7c91c461871dbae735c942e4ee43131882df7b487c8f71add7bbb556cfefe5aa6a7f41e8e52a798518ebcacd3034a972f8c2a552ff297dd08fa6bf35d3a8fd391f498f13c5940a044d0fba83e57b5957a6c8dd9f7fb5487913e70f3af7efa628721c47ae54aaaccb4f5489d5f4dff72738ea4879d383630eee4ddc0ef0534cdc83ff3d0c8e6cc971b7e9ef36912d3ac0f7075f3cbbbea30e7ff03dd09df4747024398efaac5bb57af0cb1c57b32e5f96f092bfe751fb5ecaefc54d6a69ba18dc212d6064a1c5bd30b2c867566dbf61d7eef4953cdd5375d4b9ef2ad8c5e0261e395ca997d7140b3fe5c7948bab78de945bd4a7b84fbae4823178693fe79cf3fd3e3bedf4dfc77d5aa86a424efa3a0c3b77d2a45db70c361fc8f8bbe7fef49b9b1ebd41062f2db78496add78ff9417ef112bf9778856357e547bc1477d632382c8627e8923b347a388590be54713544aecf03284e36d562531e38e1c90ead28ae86c8e7cdb5aaeecfec9f0c346027954cb15237ff3a79b6d4d37d84e499da27552a37ae37373737dc7fdff739a7c538923cbcd48470648b0e1edb53651a43458ee1b78fc9d306d5fb393b7978fabc2d98d481b7ed1165dfcde3361fdb06830539e80ba2b9b77b7ccbbc5701e610dba589741ee6c5e8d38ae91a640e2e354cc0fa6101591866d97e84b4583e5033e6ea819a3152e4db87353a3abf92e2743bc1b0de2546e663c69e998fa1294bb0613411cfd7f40a8aafa2788979767eaf9cb8cd0eb952b2b6251c342323a3593171da8f909affe16bdbd26a96c6636949352ff48867c7c8aa8cca6231edb2fab0555bb4f5f2f2e2020fbdad5631992a436564b29711c76ac9d5f261594b5a72afa3232f31e7e2b25af225da8f1018cce566d6d232235936197fb26cb2d98733fde2c3993a4367b8b79b9be97375db3263cf4b0cd134ff45b77e04e4eac87f5648353434630f372357488e5aad772969bd8b8c31697d2bb66409c9891228484a5a2d25344df7ea06e3058c7f61231fc7c96a49041b46c7987899e425feda6f0df4359dd8122f6be46ac9f53ae4ea88c366c69e9a9f99c5966cfc2e3797ab8584d46abdb8be154b721326c604c6852c65337ec6d38c3d354f33e2b87bf62e416c1dbd3ae22b242b242f6fc8d5cd76eb6664644f533383868de6cc4c26cf4b49699130317a6c184db4df7553fb1af285ac15a9a97189712157372f5dbcc69624b1a42c5fb02f97ac9cb45259ff998d66cc383111a375f48f90d98d76b548181ab7998832cae70a94eb654c7ffb058a45333cb06f34ab87b3822c4bc8593f7048221d221e9265b330fc2de8c0902ca015281bd37e84e4fc0f5fb391130bf2e1668d909b337eb8492388e6ccc23068e3afed1f376780dc94e9e1a6cc4673681eff0a1471058aa843238660bbf4caa522ff54ed97175234d2992164872ed1a545212812545c812884964da0809280ce5a4cec90242949ba1889295224466baa35d944aca828e652a3b3a3b3336bc95e6c6452a46ea9d9ec4b971a9d1d9d9d594be6c54626062b869bcadf35f863942eb31c203bac81a35ddfd22e5fa35b0fa3c522b1092fb1910a368d14875c1fda70e9d6d04a6ce96fb7cc748ab0b1d9f9619a2e1e2276b845972e5f47a780ac8928c0c179d76ce672e1043bac5143db581d197b56b7d3156aac96866e7bb5349bf5c021d234dd3e76e822aea438dd4e2ed4c5252686a3c5f045d4d1e24b0d09a3d3527199fd7018fe1d9d1744205afae58100f081fdf2a100441d4d6b2d685a3335dd309a48e76f749ea66b311fa29ec827cbb66d548663d8d031c63f593691045486bfa5e3f23c1e13e382cbe5aa796e367bd7f3b88c1abd63f6aed9cf5cb399cbf533d78c001df0f129400f387018408cd1346d016fb7481bc2fdf230e10b2f8c3d2f3f9b3dc771cf6367b3e75cae6f21cdf40ed7b7c81514d7bbfe64d99636fed56dc9912337bdc71f5be2e6ec8cfdb8e97af9d9ec5d8f3f86447328dd332dfef86dc3325ba1e162460a15a361f03a52d36d6aba5bc080cd6603c1b6a185ccdee693c9ccd0d4cca0318bb1b0c480208c4a15c3e5a5e57a95308ee366dcd3d033b8afd11808f733dccb702fe3388ee33ec67d0cf730dcc3b44aa7b2abe5c291fac9a1f364748a4dac9236fe55cb7db1ba6dfc2a961517431b7f0a65a42442f1a5d85848b0f4b0f18741b79312cbb6714c89e6a70fb2a08d3d8479584c0cccd3b127e679bc2a809a2b51bcc42b57a025ae34c7029ed31a16c8bbe551f3f5f6456a966f3f53da7efb2a4ae3d9a1dd3065defe8c9a3568b5b7cf43cdd8db77819ab2b7ff02a5f598386f3f066ae6bc7d1968cecddb0fb75edd581df1db0dbd6ae2f73ac75992d5c36142cc0f714f8f1073ff0f34b59ed7f99013b7660db18a565e7edb45aa54af32bca17f8454243a5e8f48a4d79257d28bc90b8985658bad7af249249af3128fd8db0d35247b1d116a64f401f1a1a1d0c70d0a7ae9fae3f36d17596df84b561116929bb17f99324bdc9425d11c9791a5eddcd0b4b6a33d50b7a8ed3c0be8d4d2f27ab9ca7f955afce1257e97167d78297b99de0103518a4ea7230bc3afa34f3d9ad21ad96f4d298dd887323a0799930eaa2dc5c61faa441ecd2a6219b16434ebe6e59123a4255ee2efd1ac240bc38fa359399a75a3594b3f3bff8357fbf9f9e16bac209406fe1f686a2c225a63837fe50a2e1eff4a14178f3f6534c04a6d87640dd11afc34a2fc7243bb40fedc780ff060abb9c0c3439e6e3b3adce025fe1b2cd6d8e36a1165740b640e2dfce6d9f91112b381d680df6c1177b4682404e655461f58b8a37f8444c04becd22d3ee0b75334bc9436fe932ac594680d7e1d81d6b0806705cdb1806ac31eff4b89e6bc1effabc96bc9cd98c71f6a2d43dc9abc9147c8db0c32e0e791b1f222b96ae230fc2ca34f4cdb20cdc78107dbb6f13734ab08096ac61e3f2b0835658fada025fed39a2ba50f6bc8c83c6a48fe17cdd3fc6beca9f9d788e3cea869968dd58315c4f201e3aba19969d264a5458d9aa5f13cde79fc2b289616c54d99c75f4307408667e746ed25e34358855158593e29e3c397fa425f5c5c5c5ce0a13719324a980a43615e30d8ebf5726101b5cc0f4d1de3c3577dd157cb7489ab25d35c2d7989cd9665f5701690d36ed8a8375ee2df891143a386e4d7872fbdfa30a6c6d098d6dbdd22cf0b6cf3cf9512ccd8e3dad12b286e63614a16863f26badef5b1b1e7f53a69b68b5c3971e9d5120e719b1f8b6d21ebc1026201f56005d9625bc4b6a03994f5a7b757ac5f99246b88f624bffcc98211c3d6b748560f2f31904a08f2c9027a69a2dadfd032205f2d390cd77eeb5513b7c1bfa37f5650dc46f6e33678bfc89512909baeaf91ab26313131a1ecc741a5dd7a15a0dc7ad96caf974b06e4a68cecf1cb7ad09cd8e397d13319494313c688b39f7d6ceca1f1b111c7dda6c8a35940ab26aba5951387e1ed22574a4f32947dd625ac23ac23161237676e3467068d990dcd3153be2fe767f58895e5c6bf031377f40aa95c2d71da8f10d7fff0b51b8f7f85e4d23ffa7cfb456e7d32b2b02232196a488689912b252f65ee55f6f30303038b7918560fa7ed903bd94b97dfd127231999b2fc56eb4f4ce4d6f3d8b2b5f56a45c4693f4262ffc3d7781effcac84df3f1c7b4689a33c82fcfa34f43b40635249728239956382396dafc1b9a5543b36a9a15d3ac22ce32e2e5cc962159455ee2a7a520bffe87afe93cfe95d26b9f17d82e929e2c43405645ab26564334c714c5f14f96a15dc4e2834588e5074b108bcd6e16dbc6a690d4465426b42323d21afce1bf36e22a52c42543069521e39b781515bd62c4a03162c8f8510a0995ac95151665bd9ec759af37f549469f4a7d0a63883bfa74e374b45fe4c988ca74ede1e5b7636405a2e177e915d8e813639f94562d2b37992fa34f372ac3bf1a737cfbe4619be46988caf0cbf47922daf863fa3c05d91686dfc66df0872f4497feb66ac41163bf4871883633734343638639e28c19ab180d1a3371d5c44bfcb3b167a5b41a71d4cd02a232fc3192c8348910907db28694360be8b401546201adc495152a4f69a942576e3a77d8aee7f1d598e36ed7c7b4388496f8655a74012df19b5a44a232fc214bac89471bbf8c26daf91a3ba478b330ec2245a31c1d8397dfc6210b30838cfaf3469f6c469f185b54a232fce18ec8236e2d0e59187e1e2d165918fe1d2d1ab90dd6d7f53c2e93e1e0c49ec75762376ad470c1868d1ed1a56d08b7ebcbb005b185b1c7d5224f1ebbf53419e4ee796c4b5b80dbe5bf9e8e3eaf379fc765b652ef78bd49b282bcc46f3ec9af7ffdc902daf8574a3f4d564b6e7e8f5ff6c33272f394d9361e02c22a6235e1664996ff7afc32db4b8b425485e3c3e223f3899d62324c8a69f41143d0e7f37c3a1b3e9c0f87af7de195d29874b410f3691afc131337671eff29e9b4e4844473663cfe139153919311376d1effc988e6988f655e34a933f85f3c756f734b1686637ffa8611a5cee087d1f2a2cd4d7ffce28f9b41a20f375d8f5f1472f3f5f8c51f6e968f5f1c7213f6f845206ec23c8ea91d7e53e3212aebde46e326bcec7ea6719197ddd3d0188897ddcfd0f84665ddd7744fa3f19197ddcf688cc4cbeeb926b5068e82ce2c591a367258f7f8b928354b53f8c0841b2c918408508e70181a9b26718293ed6d9ac4094df65976492a7d14a5f170d9dacbb97b0d728a1533232411a9029411c9de0d8e7228031c04222ce08c64d3a649880c1d8188104288f408e2892d38163c01e50922a05e5290533830228b3338e2041e22a78cc0509e30c1144f7ca07322875a7849e42f0a475069c15738b1031ae49b640827a4e071020a90c5057ae37921064eb0a0b3e5944d93387184132518539889133f7055e4b10add113933810392597880a93085b782214e703f59dc34c91025301339dc34c91022ae1822027a6b433c1082dda7f2ce9c09b2ca13b0928c2a028e22bf98820ad99b4187454ead20093fa2301a01fe415ea942f7440b9a04c9e3a6495a00040edb161c6d7f4fd934490ba048d202241909d7b77d7f1ed460094a4b517ab0021f358a840823298c58810951d4a056ba69ad180208108208810446ac58c208150882053f44437041111f2c1268d0fd1ddcb4dfb6e5cf647eea3dbccce0d79b97f9514672f8a1b79fc75a7d7a718a1ba594da3a8a536455adb5d6cbe2ee8e57acb59c8b7bbb14f6502a208c3fb34af8995ade3e6dd130f499b7ca6dabbc4a9f16ca5679167ddaa1adf22b2aef429f6edb2ad568ab289df4a943ce5f6d5e66efc5d100e2f7e3db11869a6461f9435bada54ebbb76445a2b29c73fdac737ce47bde6d2269553aeb0ef6f51efbde4891bc9787aa7e48289180149411950f541621f6a3b7b0bca61415540a0b13342b2c2c292f5e320b13f9bcac15cac8a3649035e9f222d64fb14215243001d99b562164830da30a211f5508c5a00a2122f90a6c745d2e576be74667d7d0f0c0cc7061e6edc730033567341b15837c56a35a29a595d64a2b8da91a5119ded11ee5e6c6b588220465a4e543ae7294eb84301e7b649420ca791e0f2f86bd8daff13fd0d4703ee76f3efcc050b44923cac8a92b5d5d59764e4081e2a74816a5aba3e5b8261c1c159c264d965492ae929b254ac5452a866525e5f2a14a9ca189707e475f9b850191fec36157c8d2f663986fdd219a5312711a8e0e26020be16cd410d48883c572af4632d98c6c66c6c8c81acde0650c5e9a3366c0d020b7fef567bed160edab852ede68af165af14677b5f08a37dad6424ebcd1b556a373a8791dbc9d830e79c3fc8c0f3b52bc09ba4277c84b2045462ee83ba3efedcef445e2e5cdf581d2b81fa03536f85f6ec86b2bdafa06f9e3486e83ffc6cbd0f2232f6bb85ae28ea6a1861b602f4d54e34b4d14e27c78a36dfccd8737363eace28da6b53056a97531956f43d76069ad86ae45dca6a5611fd21ae3a6f3023717ca859285d3626260c41d6da1582859388d05138bb14c1c865f161361340d1286c66f7d81aecd767ba0d7076ab61e0f8196f82935bfa6fd074d4dcd0fc9dac8dba419336c131af146e33c8d26ba791e7d872cecc79097401c86856c12ce16fa518381966c93d3e908088735228d4a83d298310386060d19331932667546673468c4461ca82131baea7231b1a423fd28b4b14758c8fe70216b44c848eb658dd01c8a87f00f2ce425866dd27fc084ec9185617b54c68851d6782cfbd58736d586dac08e66b3b1878925b3d9d8d32a4b1a3ada93dcc6c28e2ce93faa90d0eb058391d7497ef9f3da6688cc8c3dd6c8c61a41628fecccde7c477fcd91b88d275923a5fb919b2d244ec321f18f990f69f00f9ab1070b61217c022c847fb8f9b24a36a9a8089f009f00e6343b6454a4860c27c7c6145146b2eb439786f1e14dbda1372e2dd25c2e254a17e9406eb44db2b0250ef4b59b16cd893bece6daac0feb03879623636937436e9629e14cd4d1168808676bdbc302b9599ae5d562e35a440bd701fa9acd6935de71b40bf99085c1bee5d5fa4bc4cdd38f60af17ecaf51051264b3d97aa8d14d93b4000a5a4a0dff156ab2f1df1f4ea337fc17889b3449911b6cfcb7c84d171bff6dc24d9a04064b36fe5bc4695ec3ff6ac18e1cc9d26c1eff6ccc71852c0d876c813d8f1acee3f7214bdb215b6064e551ab4916a77c1c4d6bada739122ff1118d0124a8c69cf1b019da2a592636c94b0ca343a28ce41327d5b049ade7f1b284c142163b127724538e4e8dc71fe6e48c3d2d97ebc484ebe6793cc41177b42fb9135f7213f630d28f6e90b0341712bab6182ae0d01cd8387e58c3266d940c725863eb6bbb3d6ed015ba2d5ca0172f4d84f3db97388cf619da9b788953433a1211b11fa7d98079341cf2fed46bc35ec46f2ee43f5a807ddf5fd2a341ae45fef4626c883134262606034361606260300a83c1602252252dcb9676002df1bfb40468d5d1373c8fdbc0b87061932ceda67cbd0ccf04fb1bed352c6469374339ba46416df0cfd0f5087406bf8d9a5495a80c3f8dae4d745db23028ba6641298db34e4169cd59a9d8f861aa155bc76dca1a6bc401db25596f5eae461cdf6e3d4c7f3bf47901478e1c010880002c13018c3d36e988caf093d7e62506f2b2fc17797fc85b968f8a412e6d92929b355f3e4ccdeb7d48970ff3d7e634c75feafb03841f46df1e2818e4d38faeedc44248f2e3c742afd7ed41ed910c5eda21a05030d8cfd038d01a4465f8796a3411ced3e090d506236fa8f103187dbe3d43ba1012d98f443faa457674bdd97a2400f1a56b910088389ad6586021010c5000185e9ae8e64bd291380cff01461f3fa2423eafed68e3bf3dca873d0c66b65c70c1051756360c2e6048a1544e7906069914996914431086cf2b61e83818b00b0b0c17866b61bc5079a533d7b734d1cdcb68229c9769221bff8ac5e0acacac80f588d370ea12a7d5684292ae6aa4de30cc9f79b3bc683e024ec379fc36382d8756e3f1efe0341b8fbffe38ad85c72d1b3c6efabb68378f7f06a781e6c01ebfcad274a88e7ec1c24418f2cc54d6829e39ac7b1b3ae6b0ee6be81787759fa3570eeb1e47a71cd63d8da5d9b0516b9cba7f912ed4eebe459e4e95ce6b74d628ae50d2b5f9d185e142340a3d024dda27bdd52827bd5126d02ae4f09de33e6dd268b2491b63271b9fd7b6f1d3aad111b6895ba0b46d3436c2c6469bbaf09079d0f8094468cbfcd65afb394553abb2b491f42cac7b8eecfe23bbf3b747eea0b95eafe078b03cdceb0a42fa4e03696157b1b67f496fece99e5ad1fe08f9ec83fa27fc30e5dab1e7bed5dce7a8d9dd7fba2340cdbe0f2347cdbeef796fdfdaaee3b4adc2471321c7426bec837a85d6d419fb5567eeda9c14e4eebdef48d14bfbd4767e79406b750fc2120463cede8b392e88e76596202c45228b1279e6257dfb807ff9140b51ce9ec8429463fe749f10c8a2916cadbbbbffa90ad9ff5988524416221625504350464ea7d3bd1763cc75de0786e2684ac9271554cac50a8b0a464b4b4b4b6da962d8d2d2d2d2d2d2759de77ddf0782601886a2288ee3688a61ecb1ef8d3e18288097f4ab0852e47d1f0886a1288ea3c9949292f3e974024596206118b204c9e7b3043185611786210c28a6e4527e0983953cfe56e3bc0ede36bf851f213037660e3a789be6d27979fb2b376b7ed76239339e0258dacedb98b75f8f38cdc65b97967e81d1e20fa7bdf840865d778386800c7d9fe822c15eddbcd4d1d12b279d109ef8a261dfd22e4aec9c1f21e5ffe0d5787eb6a3aaf1903f3f3fd0d46cfc0d1e9e0f47d1250cc316ec1a4db41f4613d5fe06c7d44440a5908a04cf8680b85953e4e68c26dca4314473662e5cacfc3f3944735e9ec682edd2f508576f302e44d490dc2d41841a19a55600c48786568a7cdca020a2fda289761e4613d9a8b92159403f42ea8f979835646133922564693b2fb3f2b10b11375b45822c4d6747d3da6a4925f63f6bcd5e5c2e1712a64f465edeb0a129ad71f91d4d298dd9875bffec3f4db129ad394f546cfca728a84d909d220b3372c4614876581ea0b2194cb28654469f152a2393d041bd4021c9b1e7c565e35fb4cbb7340c895dd3425c7f32b22f2d184964833cd5681bbcc435e0dce8f26bb448c44ba323b64b47877431fac0360c290e796944a8d3fa36cbcc4847c78c5e435e4fbc8c680e91571137612e2d34830c5ee24f0a2911a48248f59099c9395b91676872ce56649a9cb315b9e6ba4a155a709332aeb7a4a47a83428525565014c463dbe771b3764494669a3baf9d7fce2ad57f5922d1c0a0deaa84f36027b20e37dc6a6999de329579096c93d0f1e5b067c1327bdead54aa1b1b7556264153ba6931129ee779de8bf9be9cf93eb6f4f1ad4408dd4ce03c37e5e63acfdd66614eb8cd3f2fdd46e3b61ba3b087ec1e841a92effbadf4eb377529087f8f3cbd8eac5e976eeeb6250f020982beea975e6b6d48536e5e3c82ed85f5bb19e1b1e7f3d1c723737d297f665ffe3d4bfb7f0fdf80a6ce6cdcf8d3a799e60038cc5fe5e60c0e739ad8f6bf55e6443ea9131bb0d841c30c1178e18886e6052853a086544c7125cf0b78d7294dd59b9159b920522e72fa52ebd657ab3088958d72556e7e9c0aa49ff72b9ac3d160913284942438c940e8208244b16404889b87c1a01ed8d2eaad1e711a08ea94c3ea975576ccee4470470dc946961666fd0ef39513f98cad6262680ef55b3f925e5b5f5699f6ab95e7d500043bf3fe88b4921ea5b25a03bf7bcf471dde835fc71e90f4ba172c5e9c56e6203b8390be9cb4ae1891fdbfb4b48ba9ea06977625097bb342604f81e0e2f732d6032ca489a730f087ccc4a61f7e2fa8ccffaaa8eca544950222d7a729a05c3ff5815c3ff543ae9ff22157d3ef95fd54260e9980e424b298fac9554c792057d45029844a1de17939ab54a58c93940b23367d50e60a2e568a5861f9c14244aa032f2c0a4a0b4bf590eb095843b084787999927c522d7616b2d8c1cd935e61033427868f942dd7476da1455416481185051711a5c58b88ba42ae8fb282eb25f6f06c56fd5b98dfa0aaf02a45fa35a3a2e492520146ac37a318a029e4fa2829c8445416b98aa828e4fa140a99a6a6033533ae0eabf8af546f6ed20f9f8586c68caaa203a522bc08d33a742fbeb8d28a84b3175feb43c4a8366b770095b8db2ae1a1c518638c4f9bc290781c446514636a9f92a7066e9bdef67d141272fd8b6fe2bd170481109de7b6b34214759dc7614f0a4224751fc65f50a7840b4289922fa8534261fe9e07fe904f3008254a2ed9e9f0e1705210eeae1dc2a1077e187b25e0b87b455114af7797e3c4aefaf64a80c3c761782bd8755db7807d3d0cbea0f0799603dd634c566ced152afd6c4160f779a78a711886a173dc879ce5824ee0b7f8ec1ac471415c90cb023a1c31f6478241b01e72fd130cda54e65486df6ecc01ae52190fb7621f38080cb2341c1414e465118282367541e23aba033bc3230de63812078f3721d78d3c600e2af3c7e30b479d8e9540941fd20eb81395f937e618209285f9abb283481644ea40240e44c220521d71204d81f46254215ded8d4f65fe42caa2571ade7b396cc525484848484b9c062e41f29c20757e31e6700a52d88394219cd3651ca4b75b55c7a3e65d37bbce736b39ae62f1a6f2d5759f7a7b4b7d5abd5ab18eb1f1101ec24378a803873026c121abbbce7befeed0f34abb6be2f0a5341ff289873008041c7ac1090e851e4e190a63f0f75e4c2ba594527aef5fcfebac596949ff7acd1b3ff7244459912bb5d65a6b6b36455991ebd3872191ebdbc746b5d250197def01c7799fedf00d411b82ef0f14b485428d47406b6cc640bbe65daf82187bf8a38ea1bd570cc79e8fb39cc781e18f90f3bcff3e8ef3b88a6dd8866d963c557b0affbc6bc71be87dde07861ef855eb3d582bc6d6fb92a0b57a3f2f89db75de71b7762f28701dc97937844445e2ab4a4bd4ee72de188aa3fe11026a22d3775a53193631e0ab819a48fc509f680d16c110608c3f5013853f86187f20c6a1588447565aeb3c312c025f8ec30dd8f6abbdb01e3ee7948062783fcf8a60288e7f353e82cafc047b240a1fd4780422b65998e3106cc740e08bd86603c32096b4b510ac360483d8efe6af8124f791d8c661071ff4fad1000cdade9960083e6a82405e7a4773b86bb50c2ab3ff69508bd6dab73585d6549004431002d5f72fef6a6be87918b8630e8f96f8b3a0e62e496b95db3e16e007243f12075998bfdbbcf4078db03136b5f83bf1fbe813637724b69d583bbe60d03745e8eed6c9d35aeb8ffdba5f1812f8afbef4bdeb3f90516354b7b628895b390174638edf3bc20fb4d70691abd781f8bb51c735b26d7feec6d814933264601bcdc14f73a89bde728a5cdfeb7264b8c53f6828ad9552f2bcbb5a4fe510a4acca9a4273e8f6af9e4404e4de56f08117452a48021110f046144d60210525a0a0022d021548a880852d84509ae2e77bf04fe063d70f3fa5004ebd08b8b9e2e2e9dbe066eae94eace562d39fddb899c2727a15137531a5ad40cf4d18afaa30fe0355fa84f1a0ea439ff0eb0b10045fe0df2d1a87ba43187a47a87a3ce60835f737ec6f6730d4e1eefa827c953e69364886d6e32c8943b78bd807b9afe063ac2b913ae33de7616d5f5067bcb70fbe47829ac75650d7225e82ef79e173a05d79ab5d7ca7531f6a1c74a778fcd42185e5793cfc142e95c314f041ba318bbe630e90fb908e38bcd771dffb14fa7d2c2d38d41d82600755500245164da6a8f91780d2503bb0419217c00048098a9abf0c94367392022b40e1c30f555041cd9f064ae3318329fc4429c242104b4052db2a77afe8ea43e847f60f8af1818b2bbabad0d548572243db8bb6a374f5e16590aef9a7da76f0d27fd401a032ff95160085218066b1f364fb9f3749d8fe44a0a2c5f8431b746d45429db13746493e6b9122be4318922d2fd01d3e0ebac3e7b1417d7a1838459d4408d00e5dfc7487ffd33cb6a72b12b4bd37188e3aa20a2047b6cd4187f42529eab1e203094988a690a409284b40ea2630c40f2438c1072190c207b5fa20a5f944d1811d1cf911448aa00b3e2563705a85c224b669bdd55b55fa66943e756bbfdaf79e3bbd0a64238649d2e664fd1183c8294ae93b79f24062732b375fec7bdaf7db31151349fef6469fbaaac867b5d51f376d0f8292b6fd0ae43d6ad31e044db14f6fd39a479e5e4772311e439b035f751de6ce04da0ea5599206f2a44ca8a0b41985d5b7f11d1967a032ff1064cfbdd3db346e04128144b9d2c7a994524a29a57b87fddb038dd6b0b5d65a6b2d6901bb8932809fd3405e0d574a2d8c3ea602052848410a4e7002228810120a6b567b16566d00e29a12619fb53ed5d54727515464faf6fabd6edb780895c498f2b8d56f105a1f55c482cde1da360e3bf4b0c5feaa00f273db6127fad8634914153987e360a06e90c3bfef7f82200882b68d83cd82ed16312282dfb5278f1ddaa7a367aff7943e1dad07d207df357db052eabda7e9b6b60a21903acf5aea79de77eeb6ed690f07ddd65aee4fffeb25e71c47452f8f5037c8f67e68dd05b004132aa34b24d1926e2731be54461f8ba7f5acdf6ddf032b4845d03e79ec93fe976489a35d6e9a6489a1244bd8b6fd0fc7f74edf985efcf7083b74b18728ae60b2496ee3c75bb4c0dde2875a69e390c2841dda25ecf0266187d88a1d7222113638e220f10d6d18861e86350c432e0cc330ec60984e1e4076f83c4e932c61840dea939afefcde4df47760eecfeec7a7630efba617787c741060244ffa5fb8040a50b687ef0dffc47f2fb9e37bfb3bf09fdf18001e35d894c6ee2880afe7fb42f2a49a6eb7efdfe90af0d87e527a2f19562e8b90cec8f4c8d2231a7b63fddfddadd8fe3c6ec26840a7b04284f405a79301b7d404afbbe183121342476480c42de7c0892c00f1c4084e085173255c41f5c4042edffb777bc112841021fa81096060410da670240a3008e243cd93d0040a5fd7754db6bf0a07a6ed39700284edffe2b4b1e61fa3a4158480851f3958820a8870454d15a388a804ec574a9b9832453310000002005315000020100c888462e168a2267922d90e14800f79a0525e50970a244910c33008829842c420430c00408c019899a18d0250f659d23c02cb4912cc2dc126913ebec60505f1f3c832d05c551d6929637aab5601862a88a0e423d7a3970193998c9cdcf6024a46ad6e7089065751768671637cfd151dc47df36e62ee3406db9d604d34d74afd049889a12ab888838d66a04cc0ada4d8edf617acc256b059ece4c5a1021cc460c26296c3b3b4020071ec35e8a746fa57bf1e3c147d0b06f4fc4948e477a5e6b522f100a354c60efdf7b552fc3ab3349faab244b149c4aeccd18cf3ec644cad102aa7ca3b26029f86dd7fc3b7cbac547230d088fb491a63a4328f919ea5cc2d8dad010b878a2a9fe98f84da8302226ca5bc8959920526b11e4e3f4aa952cfe9cf1d75821621e14e7f6ee70c4ee6fb895e080a1246f0201c1145cd863c4f9534cdfd9875cb92bfecfa635f47c49ee05b9f4e129425085379772a590f308f1e8a93a04d60d80fd2bf0a1e5b36bce79ff31c34ecae1f3ebd5715cd105ddda3845cf1884dda0e2e8323033e28412d149486760ed9fcdff4a288f4e47ba022e46f2dfe3f1115d292c29e4b9759fb994632c99705cd8a2747f0a7febc1c620845ee4ac52c3ced4cacc876f28ebb406d8bbcb47c6a76f3b2fe475518334f22395dda9e7adb981ca6eb0b4e5e826c1d462a7cfaf145209ff2beeecbc98e321fc9504e04f578115c04fb3b91c9626bc17ba3e63a062ceeb137a139ce8f00dffc543f17e03f2ca39b7a954458645f8c4117f26b773639d8e79f90eb2e89f2c720927f2991af256cd0aa3ab4f9b4a31f2794850556187d968562a6d96bd8075830cb89199246962c97028094cbe592b78ae334cd9a9e05e24aa6036b952502dc27a064fcca03493ed73a095efcf549227797aea568c9a59f9f6fad5f408c0e37aa9b26807c03c8799af09c21bf839135be5a521c4d56570f952556e9a2d927d8f2535dd67a55f447c0b29fb1e22f8e773f21bb353d6fad2abd8aa1eb8ae8e5aaffb8ec30452b5920df5135ecce62ec60e00ce34e45b0457d5abbf9262e6500946e450f2d3510a25abf7ccae09da82e750fb4da87e04763e7e0485f1795917cc2b4e24b76cef3d3bccacd404d77c2b1a122f8a5b94d6b87f839e67d092c54d9e85d9412c0fdf9053255c921e08a869ffc13098fde5db466b5b3e9861fe50efc5ef52abbd781ed45af64a564c4891d1f4423e8b9beeb59d4a2ab0a36ebc371e0d5e6d9e4a12ecd862375e240613898010d049af494f025311a211513c74f39ef14b511e5798e40a3129b0971c76eb4a4eff13b29412fa66e1484d0394f6a5f776d5108a248532e6b7d05e50fedc243930e80cbfafa693b57a9041aa5187d0f85d26b0f73b3c9591186e91fe656b2170484bdf437247d11196ebde62e1700f747a1cf8765978b3c36b6dbd6ebd7d2aa97794f48ea8010e05e687fc092833133530c96f920897652b420bec7a83558ed5fb372cf787fd343caf0f934d5c483454117d623dbb41d99022b1e2ff1877d7dfced945d2550fa05b1c2255d914dbc44000dd4eacefda9804225d3526784904174e41509a4d0d913dc881630a091b958ec3f12654deb38c91a3478d12f7d5325955ffbc26ee8aa36687919eb5d2e1e439e1a9c9183e0cc9ae5ea097c929579df5500e056e0766822ca740b8a9d781af18ce511b83b7610874aefe336752a55d2e13cccba48bc7519017d3eb09babae86fbf64454eb096ac8ea6e98ad9f09ec3aaf1e46b99567bdc7208aec73caca1f26324c7634fe146758b1f2dd583c75843f41f45518c42c6a63a5aa476a77147ea72832abdef3577f7a90bf469b9ea71836eb2ba06025f29211325d7e8217c611895a862403efd45a8754dfe39595a78a29acb18518ff921fdb27f62716c545ba32c832d702aaeb721b493bc4d6b32224745670e17d19a625e8ac3a253e24060ac80c7f105a7d82be61d057aec150d8576e9bfb95b0c72a1b65d130b6f278f85a8163421996f1d7ced32a48c7316cb0cc136123d75d184768768f51133f3ca7cb9f621a9ee3191e8a015f23fe5438b45cbdb099044da6839d54e13a6548a42abe053946c9dd21057b81a2e2a5e675bb789733b4fef1ed3b76f3f2692bac4fc45c2e62f22b2b28b3b33bd5a57c5e783eaceb9f5de8f3006886b1662f4d6a355084529aa3ee827bc506aadac4abf27a58c58d9565cef163b4e33b0e052895722cfc6af52dae2ff5c09a5291b8f47c837026aa8e28870be99ac7c4691eb41cc130bc7c90267be31ae39d12054a196133201d2b466d9b9a245edb1d456ec9d8e8dfdc88ff623d55311fa78ba494c87aee1ec3243a92787e62c3325159ff39cf6613e177bcf1cbd7537de811945d5f0879d51b9b5c05e0e6115ed7509094d74a944e41ff74280525604031a9495fc59b59d38a91d900e3c81298999f582135880eb7e3fb38141960f15cdeac47a024b241b68ab5c68f43db04d4d6f6be9b0c91bd79a29181127b0030fe7a941b910f759823c7379271490ae2da61eb1224e5afe75ef7e994c7c6f2f637bf6b2612ed3c774fc6b20aea369f7e28ccf72ceeda91de0a48c989a42dd10ae477e27c5e51df90f808eb17bb8e165650c87c7c44a12b2f11adb5ce12438cce2a8280aa1cd2480a7a59a846914031a1af61e3988284baa1366b47aa51209cb71728c389599d55823792e447f3d92687dcf4fe4035e9db0cbd8a79834677ea6b1e1341533e353ef8eb8c761cfd7df96d2d0e853904ba5c64e62a934ec049d00f1c2824e9a95a13fdc2f9f7b173044cbda8248827a54514e6295a3e7dbfc3104b15a8f42f978d2d16c2e7d15cf4d89e79524f7d712ebe7b8b25bada862662155af310182ee13572d3dc6ff1e31f9c77564f84a5e1171b3b08933468d4e2cf43e6cc67a3d48c7153d1f9e50e28556b6d5e828703d345d3ca762b3fc294b0ce455e2b0f934f29d7b6a83cd0a05cca65e99027cf59043b79d2cc2c3634faa9a3729cbfa8cbd7833282bc8ea7c80d30374f4dc879539f8f7e1dcbfd4f4f4d84dd289321b4564b05ad6b055a64c9fa80a73a881ecdcf579868088d917cbc38f274619d1bc4f3c8a3a81d4f6368fa75cad7ed063bf5cbc03b2ba6454bdff4cf2c530acb0a03ead85d6c2d55181601ff78b2e98dc2848309d67b722db916ad4614d9ff683c377735ec854addb7159e48fcb90639d21ddf427bb8df9ba75bb4c4861d2ad2bb812a8319dc5848c50226294fc8e28bcc7184ce6fa43c2dca9c5900391c5f15076df60a7abd7510b0b845794a6ddb412b01991dda80807508dbecf5609fcdad4f130baa88806c0f6e2b370b95726c36567b19cf01b32c3d03dfe73154e9d2e08c0ed4b03865885ca60839bcc109b0a02f6a1e400844b473c4b241d9ff4b276d2414207ec470ebe8d66f53e9ec31f5d44afff5abbf3c4880571b64248deba5506552d1d7cb5195550e62c394a122ea38837300d30b5a3eff863ddc1ed68c3ba78b2055e1934a17c5928a23cc338f5de83fbeafe0572c1d8bd613ac2d61b33a1c261f6f9d545d463a4b8056604363171be0fef99e4d20ccfe07920eeb1f1018610b8fc529b0fcbbe1bbf0ae366656007ea3d927ce37b6a248a16dd8521d0d8655798a7b24a2dd6f51e05876f8fc4fd8d9f8efa8d3d1c2a926c9b1f034aaa14cd12feef84c8295084174d70f104466f5920566215478c74ad0c669955a9d059623d35631e4a5c43dbb3c437d7108524db41cc61f677af7cc4bad41959623800383cfab80a2b5ad3b0f1a9e4721316c68359f7d3223028f466972554227a448103d9694a1d24f02dfe43472403dc7489d69e10a94bcee38a9f5097b927d0f353c0b9dcc0f20740dfa268917849536fa8f26fbd2e88066063738eceaddf641dfc7a45cf4a28f2044f2f61f4d37ac3fbb641efabd05bf92954e5802c5ae91ca1c9b353ccd9e511bdd85c7f1b783dd336e30f39fbe9fc05b5f93d78a4ae459a49b3c6179e2b109f7302acb0ad94603a0658a92ee50131328bb7851d41fa96b9f3a1b5fb2c3375ae872df743df59321be6ce9a4e9e64b6363fd9e99143ce7a2ffa66623687ad8455243ef737ac87509217317e77d22e96e8fb63b2a640b7cd8befb5658d0ad910b62b9d1f9058201b8de3bbba0bc15c5e3af5a463c0e0b478eb21e0c90ed1a608f04c136c19d0ac230a02d6e52856f72de805c6e5ef15a297741ab6e4f832df44bf92d387c5c17f6087b54c6fee9cf0948645b8b1bfad8c46900a2fb5955f2a562f1df93c491c5f9fb1e1b6aff5ecd97a226b4e0a1f0d1fda1f78a811d7aeb5b1ed1aa372f716d2e89ecefc4034e6ff7921c1254c0c9f8d69aeecc9475d6a69bbd834704e076ef44bb9062a103102523f1ae74bf14d65705ab5895bf3246e204c961f313401665b74e9346344397fcc1ac19ce3dec1f27451458d1f33c361d3dd6d0b6ccb044af1b72b6ec423c128dae52a90da27184011ee3d8410cb7914027c18cf433743eaa9d71ba8c77b910e89b6168b3364aad35e0605a94e1a7308b223436a14e4b4730f18c8dee386c349fede62b777d48b6bd5a91a0931fb60d68020ae11b20acfead3cc264a6fd47aaf5f5b36e5bbaf21bd6f55818eeb7aeab6c47aabecd4d6377b90760ca75bb0538db7603f5550a4b8828faf4247345df24b8362f30629d28fa14dff7f0f224d957de68f8fab3826b6ba67fa8b9715362757055068d6bb50c8bf15140201d756bb50a64cfd019324d8b5c3b6d191ed4ec51c4c690ea1d5cd8b3533a74c6d554fa14dea7fa18f419b45e0da33993b8484a2516754e0f15b98ae117b4d7bc4299ab572afc0ca4fc606471644dbb4532d217856aa5d606536f692f1536c923abdfa55e5e42adacccf8323cfda54412e47dcd9a915f5c85fbe13ff460a28e69f008eace6d635dbd737958966f4a8ac81f23a4899b1483a3b1e31993c5087fff2241a6d885603eeb5de08bb43029104bbf00e9fac8bdaef0a9b9902cc1939979e8a2835a679da13154d0806d90b473aaebde937c5529b6b609a068158c1b321ac403cfad9ec3e947aff536ed175968131a79e8e392e9e1ae9a0e0d45e66481a93b607a0d3453a4bc9d05d0bfc3094a04e46d290da47f4a1301ab40d2109d3fdf81e4c55d2c13a37c14c2f0adf2068271b223cb3fac421bc388bc3f23b48c1936951c86e5f84f70eb44c87dc84cc4b898130d3ba38e849da144073b93a13ee918a7cd64e080232b2b2e14c42645efcf10046684ee61b13e28536aa5c757fb2638102d62fa5d9d63cd3ef8653d66aeb44d26751ffce3bc6cc4ecf07c26e8e00ec7de4652c71332d39e0803751282d478aa5e7840ccd233af8241915bfd6cfcd049baf36fbb43150c54fbb8678e06ea8132e5f82b6be9ca32d244c573864281c5bb532ec0f8f351d48c03012ad861a4bc1f51b73d3ebfcb0f06157be4fb5a70e20b74ac829819c4eea38f69559ee77cf723d93ef60e46e946cebfa6b2fb5fe5b6ae75fe6746de790e2089ad5c64a8183001e3a938a3e0696847d962b0e367f509699f8669100c84a97e12fa82c90eed58af2b821699075e8cae620ce406d0a018cb02acdf60332d28f72d2f3c03d94cab03038033fde81e69552d4be5f4d34e3c3ca79a2692e72eabcd87e0bc7cd814f971847d21a72f27694e7fdc71a53f242b1890fbdcb5b98a5a78a852daa18f1c7d1e6dbe43fda779e42cbd6ccaf8181b82c90850c79521d45aaea5865a06f4a7e827eeade40fa4f260a80816004eb09a52e073d8b4ab4feebed0e29fd897c2547e5c03a1f8f891b4fd14a48accf7d7c101ab1ec91081bed8cf0ca0e1fa748cf8c0295cd17670b73f2279bfa191bede281f8a89ccd201ddac79f3e1d60a7617b1e21cd1673f966aa4f15fd9e21cc8c4f7164cc3c4ad06bb6c96cdfd7aaf1f20bb439d6c35856e00ed91a566d8311547c5b80a85097de144269454d68fe9829a0202d52d7d33cbf9d97fb848b5a654468225e030a887e96d98594cbc1c011d8c69eb65c603fcd50d6c13666255e2518918d6b110dd99c947f4d0512b09c009fd7227647e791644bff4e11f04c112e99ea9a0ef5d0b5d4e7c58250b2c0d49d3b2ec3db9885a007b0871562f567a3be558797ea4c569a7833331f832f76d515bf4fedc81f752d3d1ae591c84a92327f0eb1b4b61d35534f0b4a505d5fa2df4a22f06cd5479300169ac7f385e5f6cc61c1aa4eb8768aab4610182518c315318d7056bdf7093975691e0b34c3a62458cd8829641f35181dcac02107c3f32dfcabbc32d3868753b52486d4c8a79adeb010711888cdb8ab4e85c80bd49e881eb91487145b24eaaec816556664a1b2c07e68a2ad953b3876968247565cc1aa988169359cb92b8fa0366a6fb164a51eb59ab7fa6943269beb5301760a493250cc055dc05e3017face6a4ec01ea31457392b8ed52c82edcd83653a57acb468e999e6abb17746fc3fa9dca0ec923bffd6fd41c3d380c4dffbd1d30422683d9184644a2fffa71129f69512280b25f93cfe4bca5c98bdcb2e0338d5cc053b05038fb14bbad136902c9fb149e86f007beb47be7e0868a94f161a1573ab408b995e9c5d4d5583b304f9016ae83061956a6f0f08c31fe387af9c9aee5c0c5f82a86df863d277f0a11df1f7f51f8acc74ffdc516eab8f5ab8dc27bc0a10f0e8336257556e06ae02e2f11333af55ae9b7ec7cd3a130a775b4ae0e498b7873ee5a9d86ae8549413aa9946907764446c41e191f0b1ede82a1db2f1cddf8062087326df9a9968592863960001194696b5976f8bf237f326d29d6cdadeb6f9ac46233c41cff1dcac2ee2d1d0d2ce5b3b119698c05b5430187317fe89c0d89d5587e69a9f8bf5abccf183f182886348e9b4005ed22d7a316817e05cbceb7b40c78c80416af82033c6c9000043e3efdee33c8aa5428801e369c73b52f6d78611dfaff43524120fb8c8cb232d3abefe6aa4f94b92b868f359397528a316cd4b8235570c6a125670cdf4971888fbf8ef414a64e9d1373d9f148f750a10f56f39a53b99b3912c2880a50222840f5c91a155d3ef60552d79b9552cad8485bd95f6b2639d21f16d1119d12b56789959239a01c1800b649156c370ef416c56dde535470ca150b979e959935d1eaf2bbca0e82b10bfb560f94caf3526a278a76b97f829058404651e3a84182952eb4517df64064a75126547a74a7a56f1668840b731f56c308beaa6ca485300bcc64388c7ec0766e5fd1a786de050299d4d61173efb620d99691c20686154b233708cfcee06903cb8a792a4e19ea8f65852f3e6073f79ade21eda8a91d7d5818da809d8870d337d80e60d8412abb1c087c0ae432271ddb1e1e5007272f5adfde17f619e87e3a6172e580c020740d705bb06c3fba058213a504364a9649750142ba6d785894d4a09cab3a2c1c736ee2efe07ca1b6f0cdd36b2b64107b9429df2cdbea25c533cb0f80abcceeb7aef1114719085930222d44914e3c5b1f2ac68cba82514ff204bea4b9ccc2764c9b4495702cb6d71dcae1d75fb80ab6a70d07d39a4ec543a4b151f3c3652bf79fb87ea79ca47035cc763e94b3d4799c5eb06cd75f9182e0f55f145a227760560473c5fa5e2a913d4d7286f00229a157c90ca0537581ccd46d58e36e4188cb110f23d9f05ccd5f02f20c0d2a519bfff2724aa9dc7accc9028edd2d0988f094f32e929487354f40acf755afbefc565dfbd260d906c9f59a9fa455fc441870b0105eaa79ea0ba350edc97b3a459c713d3aaed0c701c024afc0e5b31414dfa0e566d6bef70ce481cc41a1c2fdd5254ac52d56a04ceb08e8e2cc98858040547dfc650b646b30fdc54c59be46d1166752124ae1dd0a203ac67e5db10afb8fa84acc892692dc139f6089aa29ae253706c83d53184a20febd4bd00ec1c1f31e0ce50dbdc0fb0f4e4822c27b265c67e3be2c5ec66349b77487d956774dbb7082c9451b8d36dad39033c9dbc2af93be1b70eaa90f9535c8164db098435c0b00e2103606f59e99b9fe6895003d6b188e0f712dd1b674dfbbb92407aa04bd3111298636f8d00c77773ae99c8ec630c73aeb798a90442544251c39818d906ea82c7ba1b7f1e7822dad9ff830eaac1b5dccae6ba8ae01e8f06d3339027b4a344d89d099cfe4e27d770082156a45e60fd15e14eb66637c5407cf24b6b94be381089f3e0b16f16e70160ce62ba19946461817ed753eaaf6fdaa9eb70605b247289c985a37005ca6e4df72f0c21f7538c766a4470771369aec16d759a59333d35ccdadfe708084f6b5a9ee345755b5c3ae179c44fc0b3736aea1461734b904113eaef2bdcf7ea6c10164c4d5cd66845bcd716f85f324f167205380948db1e8fab205e8a37ce885b78879773f9d4ed4f5cfa17ed5be8c18140a7e5969be9e0df9265ab18b70603b0f83d5971ac1f31e741fde8867a7a3b7a95c39a0eda0f0d865e24ab5374c5f2126001211196d8f405c28606930422491f893e74a31c9376185e810852ea6407ecac3b7fdb28542869080518ad830d4b9935ad4cf94b95d99037d0416b50081599018c185e25c071aa0550b33fe67fd0314977f9e1d7aa62121fe66f167c141067def719fcfa54821b65b33fe1e02120a8b2bf8224a8ff92ba9647f9c1bee04be4d6f46c0a374e09331e7404db91bea0f65ad62e116891424850b24484e5e2254f69a20ad38705131b5fca678a8164f74b793141683baa858f8ec002a6d00ea535b9e84bbe813f2316f56207c66d277267677aed267d9a9eb74090d00abd3d7d61245fe80e650cfae78503c0809c3e608d88d54ea2d5d947a0785ae96dbc70d8430723fd0c32d3b7b899241c140acda4c15c011e2ddafc51ee3a7f35bec0dff22176eaa3b769a6460454671fa5cd37ff07fc5116b89b52fad98308ac88b354355a888a2796a16aa882442177b6a76ad72249350f2c936c86ca3d027ea7894d553e106794de025a6a3b9a1b1d1eb792137f5a5dcefdadf2f0ba942412c102581d581b8881815ce6d73c9bf09f4a2aa8910c8cfaad81bc301003890a0eec886d0c3034e0210a918298a5a661ef805966538f1cf20f13f0586fa46e355008de41159bc6aefab5f6141c7bb7eb64ea4755ad74c5bbda6a28717b8dd85471736e722e50c82c188531df94564d231555b9a679822cb40661c44a6afa7b0e4f49ce9d80a1cb735b71cedba9adbeb1981a5d8f86310adb629594dbb26abdf38dbce8ba14933c080dfc22751c13239f2ed50d263dc4414211819a49095d6b7c02e45171d4cdc122f369501c46b83ad285fac27708d88fc9eb869a3e4c7110d0378d1a6f8e9e975fcf6a127f2427fd3153d5e0430380edd64bbae7f0a8fe443d7d28b58ad107561d492ea6d24d53a2106b32daeb0ae4484abd8a2a37888d452a998417ad5580d630d34a3b7dd95458cbd1940a2fb0b00365b5ce606218bc14cad4540a74eb768278ba4832a07a22b31952ebdeeb1e61886c0fe5bd405f669be165e5c20bbcbc388b12e4e16a0a1cbb682008829ba34ea24b8e589806c20e9b7b186020c06aaf9ce85c4ff9850432c70619fd20e4fb5b8169bb684ca2aa5ee0d113cc139d69071a20a0916a9bcdc5f1f37fa42c28cde47e1b9efb9e421496782aa537c1ccd967c1b4fede33eb90ed8711946d9bb9634a105dd59a0b119defb466f7d8fedf06fa13387de226810e661f9bef30d12b04932687e8204ae303848262974f1dc40368c1ba0a6c7870f6a6fdbc2e9e5eaea4d642eb160d9b06f2febf32050891c457b9c873fbb8de54cf151f94a55520f9ece5d16f0fa156f22f5e6b8bd8832d617e67bc861a5fb5774c3289361395eb26296d5cabe31de15967ff970904d2d26c9a3ec562084e10ea10d02af8cd99a6adfb8833093998e577030ca7c0db90e817d0b38ccb0b209515fe9fe83df3ef1140710da7ef7a24b60790ffd960a36fb3029648bcff8bd82a400a906c15e0aac22491b359a06c2c5f24d2bc680ad0a31c2148998174ad77552a49a42e8f01413a4446d38fff6d32449eb1e3d75e1a4ffb63b416e8c866d41474e349d6d577b6a56cb2f14cf14947cd528dfc490cdcbf85d31ae0fdd7311ab87003b680c2a1bf72137760c602152748e5368eefc9aeaa7e1353973ee08fbd270f61ded578df8f95c84cbd2062f6bc129ba30641d0568683c779a715d92ce29931c82957208ace430b4b283d08ac501be28febf50eac39fa516ab37f3e9724f1506ea67b163dc901f339963bb5cc71d4489b3bf4cf406cd2b4fbac84053be43beb6fc32fce654ebfc4dd728c4868b13b5f05e1d83cb6ee218c554ff2d6975765bf46bb7a0d0e3fdeaf3c23704b7dc7d410280e1f5651716b25c10c18e8b6a9407bc7d3b102a730244d7ec5fa57e3970d76d72ef81568428b0ed8ae1ca0e86c6e37c1f0e5738fc9926673fc73cec548caf56f70f729ebec103ac211df9151dc482b87d37cf3ea550d882713ec6d400122cf0d847089616e75a320d006626eb3ab6108fa98426e9886d2f7e824d2798f21e87f5fc89f86f6dc32a13d9f46ccd8b101a24c3896eece649bd2fe8003e243971cbf9d98557a3c873232d825bf6a11b592ad4ef9cb8ab6ae0ba7456a133572f7b9073e2a6c8f7309e53d9ccc4cd865d4360e0d6e44b8f7458955126889999382260e1bbed99b8cf9809a4d6ccb5e71c1097bbeda63a99444277fefc94968d36e8271582ce36869af14c9061dd0518b014978e7b8eb264c55d4f0916d259e154d26727ccbfd0f481e26a386cf1669f64d96294e8cab249187c425c1b8ceaa85c7f4cbdd00867febc5c609aa15a7e3ac0bf290845f603aa95a17cbb1d1df888fbce85369a00d9e1d288546a687ef5815a5c64672635454fbb220ef266db526b81db65fba1414f2c73277cf0f407c66602b4f8916e1a6eb9d63e1f00232dde229fd3aeca42d68a0adc71f8afa7585a830949ca621b25f2331044dbb90430eebccfadec0a970fa81d057de80c6a7a7349ca7902df0fff10c0bc1315227f67bb9308e28ddde73ba2e0d0ca1f4aa4e313b6ab5a7f7350b82a6d271e7b9da40f5790cfc50c904ed76e3784701e053ed9ea1ddc6bce7bfddec1702ec5e2791318cf56fa6c3c1acb8f3171b278d8743a59382752b66bb461b159275a6e00e9329e445eaa63e2c0a03c9bb69c7e4f05a8279d871a102ae5bb1ccf6a47ac5b2c3b46ca5f0d72c5b6875489e6ecf375dc2beaedcac222a165279070a17d3a26d61c726f2f7fa976d611cc50e5eec2c61882e2de81cbb749df2cd8b455963c2d3987fe6191cf0ffb7a54d64dd0f5ad9070d9d4270bed207810e83b0834ccbecfc8d0b874c65d96a37f942da72560dea1d511f1aa6ef8d7b45570d96b8463c6904909a869277c1a9912191e0e434e059fd6596cc49c954f72ec21b43a61edbfba87e6e3a8fef7d7b3064e84e40213992beb13f2c1a6fba7d7541b72af4a677ff9112537c67c3473af4cc482f3a828551193e06cd0c575c587978fd56f3b4da5f5084b93be681e52c8c38a7e9b187cf8569b1a45c40905c107d7b0e1d21dd2a8a0e282eb1760b0abe92f3399399cdd37d7ebb22ff080889357202945d7ee9b790943806d0a7538319d5b0bfde5d67151e75e5ba5c728454ef1a08cc2d8351cd7df573fb5fa19794026c877972f0c32b1f6159c1916dcbd4daa85bbf722f67ef32a542e5c58f90284cf2f01a4c7e32e10f497324490fb3d9a755af72b27bfce37dee03b67834f4cba2cf7f2cd57cf53adb1509233b74639132be95ec78f43ecd4d6de780408baf526f6e567439b40aecf2543187a9ac95aa9a22d3c5760b7d90f3312db1afb9253461410a6e380397b6b1663abddec083d7a7d72e40d3602bbd29f905bac4a8e8271bd5579e34a7e5c890844c3a6e4d225003cf73046e77773618269fdb7802c111d1c101b205b55e0e254564432b61183c35ccc26cd774efb64658e1ac94b358a95aaad84badc667b5b256f63b7c159119d90a6a3be9334df14375cbbc3973aac105da7231794e7ca9513e58212d57b82032c834139330806c62d52674b300f7e0db4353a00a20a36cb6644f33f9f9d008074a0ddb812030ef538cb79925ec74d86e7ca89d6fb152c04418dd193fffd62b2acb4b767edc9cd03f2a7b3724bb81dd57c5324f209c122d636066d836c4ea61094aa24b51f05aea4beccf632b1ae62cc0c5244c8c3c5c0ae014001386bec8f5aa2d0d6412870065d48a6c1148df0472ecbe35910bbd72cb8cfb91d55fa376f5ca776753a3b1b72ce0a7f8901d67ec7023e38ade00e1fdc783316b7029c6f967316ba795a0a5727413e1a32ae8861939c9820c36124a1bc075d5e18390199e37033e3a3f7b459d8a4b4267cb80cb22baf1526f86cb220ced6f5156a3b9192716a2a0eb7bf555951dfa1535d2cda6dcb67c42d4541fe7d932b52162abb05454a6c9b23aa8f21df6eea32005d7f24f42d11d7d36eaa6c7ac0c4e23915cbfad2c170ed1298d210fa4980603297f4a12307ff80579b00b8e1535c77c0600e5617c2e384185114dc23f3a59548a7654935132c95d96be3d00f701e928b32289e7c37a51d36e67572e89dc185c6415e047bbd7b9a6fd893ab47fd0389488a0e3f88dc2b4d469129722ff88f771cce09d1a9223a07a67139808bdcc7d643a38c99062362247ae36f99ba7de5c100dc82f5b5e0cb422cc45844cbbd50eeba7acf0012922e947844e0c2f28e726fafa3cbe676bb90f9ffc29d53ee0fae6d0c3d957b8b0beffae82212da2dfda55bf56afc890b851d96fb752cf085f5ef43fceddfb0ebe70106809f71a57770845fa363a7353df1e7eadbcfd2340587603dc51d72b9026fdd1b89496716a3ab50a0469735fedd1f31451f4b4f5e0084cee89ee768f2c63d50900342ec10fe741a40d183cbd1d0802ea22c9fe3f7ec994e86f2937cb9fab21b05d0b35201f401e9836c7ce7cfeb733d053cb2ee3b25a7c0189f1494b7a35dbfe602a73fb18d9fd333c811c32da0c58eccaf09d7fd30e62c610b4d880c581fca768a12b069754ee0331c13c4de37ab284547102a9ddbf62a9c501ebe846ab314e4ca078c7186a50d2b136ad8f94617aac6ece40b5c826dc0dbcfba20f9fd2e0d9fed47702962ad1982ddc0efa28f3732a99cd2ef086614ea8e06602199dfb855988ceff6650ea1d614ba59ee4a1c8273cd2f537eb2df72653ced2eb36b83f08221ca57f98e129e39957c3f106c6b2fe0fe8dab376174a61bda5dd7736cfa0087e655a6023f04aed4f4a6c17d0b30984059a62b9d5762980850b6f1191f768dbffc691b9a537f4174a459d9a4ececd8c40a426b150bfa8069dced1f750304837440a701468fd4b75a0004cd4da9fe4ee771978798e0953aa577c288424cdd0181e523df5e91a318995065a5d2ebe06ac96319bfda39379c94ec1b7b25080facca0dc80f80158f550c8b7f15ed16708c7d02dd674013cb7bb360242f793b8d0cecf112583a1ae959c249e99e48192c814b02a74a9b4ec2dff5ab380d00d46a73d405f458a2b9d20bf9a3443551e50503c1b5364cce829e3560e0756a9446610ca4c898f60e1d8b0559603dd60da9950f3195a8db00dba5f8b76a4b8c5a3a8c44605531d4aa2fc9ad97b4add710749867b6c7e1c07c0c4df0d31084cefb46e3a6a5a188b35e835f82dd97e9e91f8ad745ebfae68ef107818b0b2f80d8715b8803cdcb574b0fec4c8d44c99e08105c763d3390877fbc3a079e58e8d8d84a816d7d98f28caf87e42f278e1d7054e520219395eb39155b26496dbc30e0969dcc34cfa7ce1de381175490be8b3dd12bb0034e36fee931134be979edfa73dc25fb822aa06cbe79e3cc3e7280ef18b1f5c1f8e51a8a2c380d81868cef4741f6e7c6521c02bdc9dc3240e29678934a6bd86223289b4cd6b56f82caf86033c97e56bee48683dc9845c641de1611c7d9f4d87a6cb9251d4bab13488f637683b78cba2839cceb9a355c415758e9ca88dea24df8418a969596d70e48dd120b9053405dac35c0878ec97ac824be5e8527a72441cfeadaa9b22a25df00943da3dda698deadc5115b0ba6ceb47922f8a9bf9044e4d8a87698350f1fda81ddae15bd8adafaf80ad5c2e5e807adf3bb40cb7f2c77b1283f07358222650d638303490c52e46a578cb479611149827518988acba1e4247a96e05d3789eae6800a2302b183601242e5574de5b45ba58f0e0d7d335c7e0a8ff78411f85402ce55fffb6cb5106d27a02864e14237d7109c65a1d03384fee74b2d1a6a357772c22cc2c2123251ea17cd468aba0861ac3a5d06ec14dd80aedb3ca4d7d0e080cbc4b875785625ffc468ff1050a24894bcd4b63f4b489b9cf2b34541b9a834bf1551375eedf12c0d61a5d197d8eb87bed392b3682f4ab37e28c8711ba476cdae81fa1236bebec15d12ac1ff3bb5d2dcd6dee356140c74f7aa13609a0417bbbe51b7297db5a0382238d917e77150da46647abf347e1bcdd27c4aad041e8603ddb8363b1c3752d75777b5d1301e28a97850e0667de6ed24f765fd2e6219ed2635d2cb16e0ae2640130c390f07cac0e54341d625b849b5e7da6393d04ae0ef2a5cfae32c8e8e359423f81f9bd7116a46c0c105d50f4cef0f9cb3ced0c837f3cdd61b9a101dcfb62eeafd89c0b5bddbb8b982f6042fb43dcaf11a0807b109d710a26f4cbe3a9a8c4d8beb11b4895abf2aaec1597cdaa135ba50987c60ea1dfe94c93df3d8c2d03fb2ef90fff9b6671ff6e5c9dceec2059041a1b6481c6b588ef667222ea01099f82b3b87b6b95b8c834f6631e969f2662c226980cab00d71f2b744335a3512e0fc79dbefd0884d3b8f7d1bf72291c716db9ecd5f8e0c780f44297c04c26c2967425b3d244b78d6d4c2cc5534b8b767ce6206445a81fc91c499c0b24c01b09842c9b836c6a213d694daa3348a693bd35a6978f6118243c0ebfea6008a4bc57f50bccbb3e763b063259ffb24ec351cee3720bba89d3718b1bf0b9ea086613ff519e79c84e8b6e4d020ab67674bb595da6aca8b9a1daa94e1660fe77fbd7ef0b86345201d523b6369988b72ad631f0b091e23b269b53c27cfeb8bb5c767999a01058967911da84e5c9919b33496e2326a91552c65890e9c818fc21c17c57e014303180cf4ab8a29aea6f443f56dcc984e516d713bf0b8a622ab1f5238996b80c042c5b0b62878146bb2c2d71668b07288a42f2a7b919c3fb0a711beb3e7c111a606553232f2364ba57432bc4227800203bf9615e3ca2e3fbd05ce3099cd98d3b233e009c9c43e5804d7dc93677aa156069e084a6173bfe2dc76233891fe4f8b71ccbda4430d00471b4cea96f6a84bf6b05c3a92e6dc1e2abd9e1037130f1dfe46b87596551babd6ee1b0a4ddde72c51481b723ee31573708d2e0e2dd2a390b7895780ae1121af0425b6eba0d0f413bc0dd1b5f1954d8c411962fdc12949608422c70ae75a53941c1042b8cfd9aaeea45401aee14ec834266712ef57d6e36b9347f1a6416801599bdde4b481a57791efc18e8c6c8f6af01d364b06de1e7c8a88ab893c8d42c7533209332eaf85d2df8bb313710b163447c7919adaea43b6ed43128c8aa50710aacc817c3d9b8904145565ce217269c5a2695ea90919237e0cec721850c68d1fbc77fc94b46e8b1e0a0c51b52479195a837a2b024067b03307ba2bc7e01b340dcbc0e274a1af5517bcb2cbc0107e875248524c4be26c7b5a900e5d70d36086a3a5196f778d044a52a475fa100c36b64f52130979608802e27fa0e36b248f0200e95063e17435393fd34fee10b51e49d61341c7169821742068b06e37bda15767bdb8bec338563c49bf5f083635d3972d548dc17c4b3f5724308bee953357f9fc942f01f947d38547cc268efab316790b3a903d7040e79e87adab20d34623b25ee93ca7c7bae6e932931441a6c942e030050358de1b06277bb330d920822178ff87a81f49dfe1f269df240468d0f3a6af87abcc6b57d9722b3ef129a765ce2ee899f6f762283261f6161b9afe6d47405c09a01dec7f6b92e8b0f63e1775801462226513e503be013100ab6da0cf214fcc169d79eecf39fcf8e9d01f4f937e8c3db360d004c407e097be83ccd8ab908e87fa74743cdffa4e7139e7ab00da7602210f295b336becbf3b97a6d7c7fb294af1878daf9272457f733791108fc825038da5141a6f6e0927a718842a4daaea89346132a837e7f122a55a22741c59a494b3251fff159074af2e8d4e18ffbaa404dd4dbdbcc393d1b4156f2f493f5e9c04f2f221d89428b3c2b472dc7491c9919210131cb51a1b045c6480207140fe3d0d9abff2b3e2acaf07b95f3a882ecbeb5abc03f809e5214bb2e56fa3cda093d5a32f56ffbbc3bb3970c416be213d0448c881c1a5bc68cac69ee0336338651b445523233668bea710c54c30454854bbfd1a32ceb27aa42aee434dec2dd38ef29542285cb021c270ab82e49aac004cea9381f008182b717cc887be250f3b7b74294cc8f89c4c37a96dc16a34b23d4a8ac762685b71e6809396f58faf3325530363d973e7cb05c26b4ae49a2718c18dd839985e0628349fa17aa216f4379deb84def0f1cead67e2a3182d1a983ad0afc542325c233fe44fa8b95fc83d24facefd2f52047e8ebdbb5ab3c73c1663b125c3c9ad44f18237dd0c8f18c9e15c741af1f101b679d6606b9e4f099030799fd0d3bf075f404f9e0ab186e5e603dff0e3cf5f8989d3567cd673f8ea3e6b62e9c7c6dd4fe46034194ac7eaec4946062b136fd9957262fa108847e928d1394db528903685e22409855734191a0b54f320e2e006d78bbcc714afec6c332aadf94a9d685d319b3901e65aabbcb12863861a43419b81506ca56794e88da7cbc0a066ac489ea20c9ccf77d88419ff0124aebb4b3ec3d745326c5e35ec023ceca6fa5908d62548adad37ee04ee84017b494e245521f5507e9f011be5404897dc503ba7c7c043b7536227c9cf09523955c04b5181f061d3a54adbac6327306e31dd8d47b193b0e7450a4cce2d287725dd776ca181551d560cdb4c6b54b2e1065e6d1950b8c03dae62d9df5c16573ab13c385b6a7af342e519f0ed7d4a0fd2387e955877e235a6862b87a4f4118c80256bf410b9aa0a09561941d79410441196f83cc25867101090010042318da9836650dadcf4eda743aa1b5cff43b1286b56464e42529515bb2955c69c1ed0917d4553c57bcc2c8d1f5d0c2952f6cb9e0e4c850f27494bab01e180403d0fa0b52266626af4f66c9d1dd9542a5221ccb1fcc4beb8bb29ca54ccce3779bd882be10067d29d8654b11d7108a54dcabd2835fea93cff5ec2cab8e1dca3718766f274d05c5ef4fbb8b70a2b4b7f0e8d95f6eb2fd39bf5f9ba9751a3ab639eb77a637cd68ede91810d3de6568a50ac775f4bc492355366ac7b3aab078c83a1e4039ff7a0d5d56a264d72462de2c4af4b6788543e80ec8666ffc183ebfdb00531f414f20bc25508a9700ea6cada2a2be84baa11633fcaf8809071e8433cb4f9b6b8dfedfcb0d810102df2c47d3b2c3f69164c23740c273642e2e318f4d9b242a4b6c05e30242d0936f620d8a0900a999b4c51408960034684236d7102c434f69d66575b04de3aa619788209050bb36381f8087c199d15f7c3967f4a61efd65fd813857e38bce6e27225132b5287f08a92ac9b9d71cd2a8e9df5571821c3aeabdfdfd9f813a6d3e3a8dcf872e70394057b1c467142c2969b2468a537ace11cea8876fa8c6273dfc55607302bc5196e9ac7e3d07a9d3378d053d10206bf610299918e6c9c523a88dde0805440bc5b3cfe154c1a8ec03cd66eafde55d539e9fcc6170828871224417adc97abb95fcf06c6a2c1401d466dfd474c80bd522319b9f16fdf1dbd485149993d16e44d86a12e0831a4366064fba358d6d914cf0f378ec860642799ffd0c1d3aace8e780cf22472b39339dd014399504739db26bc9691fdf2473f913508b58038646383a3bbf13a95fe173149a12a078415fa2446760943dfd6b35858dd995392565c1dc89fb6726f9165f8d8dca9c24b73af13f8bce9dd9e47d59be4594dd21691e8a8fa997a20c493468f0013cd18e478b1725689c808afe2bcab5d58786763a5b0a9e8a08de94823bddc225285c408c24f61f03e6c4cc24a7601179806b93554804fbf8177351b9599f984a4256db40eea67df3f526352b60c5acbfcb2a80a4e5a379f4748f07dddfdbf226aa9fb9a5de85d431ebbb42a5fe495d583ab1a976c001a6c47c089d2ded4db8a20e19360debf5af4d8bd37e8fc066083db1112ffcd6e2a37c7855e1183cf4427a464dc3178c3958014178bb3cb02a659cf4041895693b6d57b82a8009f56d2a1be0f4a4926cb6abfa1e33fe9c540a112efaab777a9a3da05e5005e067dfaa3a1e4cb0503c2b466db187c5d1bfec138073aee2fdf0a6483b0bd37126393e761a256740b84b0ac2d3de6b2a1a16eac8c12a25fe0a4956f1c2b8951599c58e099267e7b3b5ce7afc40919d817436ac2ab488ce6089b074029aab23888a36a37b0ad51db6b1c176a8de2cf0f9225083a7b6204f05a5610b773bc50957c0614b22a87b800bf577bf418c5c4b384113ca5d8de21c33654e5406a7a1a9f968685acf84c8cae1885bdb1f97e97965ad6a6252c11888075d84b396611aa10cf37a517265d681a4184631695fd53b48d62133069c0f183bd0c9ff79b8923b52156555c0a27f0c70061db87557507dede7deff662ca98ea0a1c2399fa1a458ec0c16678faa79c23904b550268d9d64e0027e3f0ba335e7235d8215a32d256e55d9c77d5fafa6d70ffec2b28da2b860d2d8fd3f38e1d6d6c3c726c6155e63a7e70085185f4d021711982a1520077fd98872da4b4c5bfffc4c4158f5ea4359af396458341aa7a50148395b48710ee5dce0d87ebc3fd936ea5792ccf5e0e960b409b30f53e0a3a6c49b86c5c671dfe13583669545998c5d882a06815ae8334787e73d8005de93b1aa63b81f47c5ed86412366e8b21e2be7255b90068822bfe6338d508b5630a95cea8619583b2d1b0f73c7b03fe539c676ef1b690971533261e3f09f81adf488387c3d1cf767340d8ab0c0062ef48f25a740d2aad04df4d01a961c0148cac2e4a2b4d0961d3c3dc28d45d2a4a6306e10f89ddf650b01572c276aad7b2c62e39ebcfb3016fe0e944a5d5d9c2ca91a61a58c9f47581637eccada44d7516a33c94511f28ce4108771a080e4d5e0f2495815709dfdae4c02decf3e099396ddd7ebaabe9a2d466134b6525faaf3818138937ff101140f4459f94d672271d8478dba3129c3d1044af37a234895feea723ae99ea205b8caef5988ace6847dbccf5dae49f488dc700979bbe9de42a4aa03afcaaa2b0433cbbb786777843ad2b512015b524e2b1447745083a3adcc22d7cebe781ae41131a823684c9fd6d24ae073017cae4172c177f0325094adb0f4e80ba8d767f536b42c6daedc1f6e5b8ddfcd8d5c768b2a0ab8a73f8c0d73653d7c906798f31f4674d86259dcf3a44c0fbd0c32197c2aca1f0d9025379b0b93d37171d5a0d99bde83eea8e734ae221cb3df4ac9e1b859fa6e483978be891ddc31e8339be071127f389b567ce2e22c9ddf924b59cd02f6fafdffef79aff8f824d5af5e3eccb77e9d0825f2f4b1cf2e9e4cefa1795d404480dd5b8740e6158a73a811e2420c6b647a1d761942be59eef4150979d387a0aa9eff7874e2a25627eaff4a2a9c84b33d443bb543fa509320025cf85f2f3425f05f1b7be1f1fda90411d9f5e13032402f9b9c11d2bd30f1f71d58e853c5c256b8e1847f61f6378cf22a3b18e4eb9085bd7066b3a8d866b82a34dcd069b8e1080293791a0e3ce8e19ec892bfe0b8d50bc38ba118cd50de32d5db121a561fbb2b861774d8cd1054317ca2db0cc743431d99ea1b04197e72d83383dbcc65fe74e28b08300cc1d5a773aed51b4e55a95c01803fdc409e364059e406f3ddc8159d35d77ba1a1bbd782204bbc792b725b165a451af469d447841b3a826e9a80402de880747dcb36f3b089c262184223a3e9bb5b49abddab95b1d02ee63fb136403de0302de94a17b23a47a69cecce90f0889c87fba29f58673506c89d0973a00423634c23eabe3d72b4a1e763e50ae9c242e19dbd8c758fb66a36e71020c8c5dacd5211e983fede952529fbda44cf25a13a7cd104a3abe1c504dd24551ce2d30909d0574caabdb18f1681b083809c92709853f39296e42675060c49d56ae20141d4350a1801c0a881fec9ec45074a52e33bcbd0142b08190e2261baddd810652a5d91f107725f804f0c2de802ef99b171053f031ed379be6e3ce28691c717ecdd5018dc5de5ebbe1ada23bb816e60df5088ef9a8ca15a41b8a2ce9565f6d740909695bcfc3a414e8f4e9dd925735f17abcb993c3f3e18347a2bc2169570846c84d5c91370272f527557cab30f51b3f670fa12f12705049edf72506efbcb2a859811b8b237091671a7263f60460f7ca04ce815f6c0176e4a2b5416272ff21a2fdf054335de6622866aebb92dafe8e334e3035203e7ea79e3f71f07266950a30d408906668fbe6fa05c7cbdf09f58052cb0e31bc4e2b23206b2c7a157a583f9690025cd8b3f44b84e3cac1537c03f9b8069165dffee8f7f1c8776f969b8844572f85fef725c6ccf25ae48a2a903a25e719d1c71a059b61b40accf6f56b9eaeed993cd769a7fcd053b93ed2cacc30d4d89f6c0ec4d7573b5ab7f0cce87950d88ff23134e6ae87db1ebd86f7e243695bfb96eac9eab55e8cf75c1e288a1721b8b381ca27f29c570de6f8fb06c32013020723d3071c45f4cced213901020c0e7c3b6278e2d67e2b34a4297be1fc0f4fcdbcf61294bb5cf04af90191eb639d12f4c8cc4492af8314193bf08afc007c1dab2708e415d0e1a4c27a10e910459611669603b013cb0c31237eaf98ddb48b565905176056f6ad37ac30f753f5a00436736b8f9952c8fa14bdb60ac5d8398a95e794ed0023822555640a0aedc6f775a0691dfb6e7a15644d98764033af64aabc70d101ef9f33cc6dd918aedf210de4875c78cf2d85d5cbb09845522a9dca2d921a9811d386ac8daf5b3148bf41fa49b7989df43f73ddc1ddc77c0433b2a168229374a392c713f6487b8dce69dd55b89cd2930c5774b0617716a981c7a3bb51074e9f96e9ce1a2674e60c37474cb6f553e9c1a31277509be550e5b284f9266896947d8a2350454074dbd3dfe615cfcf439d74524c0a0ec69fe02e5fbc6a64ece43dd741ff9b3e920c35b3ffe662e52e50b5603403bd1810991479926dcd32774c4b08500def72daadde80300495dd7e01b73fc5d6cb7e97e0f2e8fff6b32b0f517e74e8ba58da6a42f70ac120979bb085137ce26cdd10d3105eaf1ef9f9724fe2657553abdaa9fe38141435a714705d203ed76d4e658ef3a6184c5ecd09edcece149e2bf3ede9f69bd4c3a599ac1b01d42c0aa75b218b0d19aa19de2e6128493c0190f43627666579c625bea026caf62c0a85fb0d2b08426c8974ac2897b5e7c1a41d63588cc28e3d5644e7ca2cd29e5a19369934714d4ef8c3d8f42cd7af3a6a453660002b75e9b71ca378b317e1e7c3c3e10ad33e840b917f748ef027d545708dde8c321c731e2b50a3895473cbfeac6b5030e1424ace49344553f9229e88b86526770d3e5cc656e10ede757e14bea103eb65ba1837d618e757e9d4c6332da8581811ef3a035283c051054395e6287be58f210585a653a8906ba42d223d09236ab70420765fd49c8644a3fb9254bbbb3e874bdae5e9c7cd6d128325e4a68d893d3e0d5d1a83d9defa122cc35c06a26a4625a140b1abfa6de8e32b35e82741f347800372b0f02bc7f91057a522960163e712e446d568d9576efc4a55557e915c043dd98c418b5d737737bba17bd070cb5193c8bb8d689ab57a74f75708596a0e0e209915e8b2ed432fd0dc598c8542f536090b75ee5d2acaa352922e708783902cd6ce3c7785c8772a811e0b0fff8962b75d10e7af952a9fbe345be701bea19d3f4ae9d3df054403e0634729e7dc0727627cdbcfc2bfdad1cefd0d3312e988218ebfcb0029fcc2246f7efc7ffd0d913aa69fe822c437065f5cf60cc43a8633a81092299552893f72bf3e155e8e84c1bf4e9b0afe311d5bd0d08aa9f25f47f5112fa0b9ea07f7c50417ffd349313ed301378237d72c0d1047c8ffa016a7ac42b0bc54f465fb8b6ba3250ed98edab2f05c5637b0901e692a063b9f8e8e5ecbbd4be2ffe9775bd1317e2fb17ba984661a6ac99e1beda568a334ef84a6772d4c124dc54fd39e56aa051ae8339c2e3db795d015bb18789e08c9beb4dc37edbf2c7ae9fe98ca48087f4f513ad4742fddc0fd74992708abca1fe39044247061286d719fa6fa4012e2dae9dd27fc3a5e613a34f49b954146a80653a57d837a9f3e35ca7456c3971f134a03057cef459761048c5d554aa42b869eb1c46d97616c4f938c61540b33d903d8d100b819f071136a0b6e6e3c24c63cc578289bcd978932bc8a429875faaa9152c178e67a63c21f8c3e00647e4a9dd1e7fd32714407a676c24a2be734b1f9d80965585489c2c696be29fc20ffe1540d01e080e76d05ce29e9e17004945116dda172fe1e89dfff946786e51b79e24cd1349507d20ab9b2f78de9b92a58fbca92c8a6fc1aa81c49b0ca7e4c2b33df563161d28bf8fa89f15ae789904057ac55d093a5ea37de27d912974d1f29ff5105ec7f2f6e0beeb061272be8198debab3e220d90ab044a238205b9b5dbf68e0e5f33b655cc04fce19540bb078c324179c227e8f3912c10546c38bc497edc40a9c60d57c31990d56b1bcd019d28931ee191e58bf81e2205521b7ad39f4c048793a9e9a76f15617d6613a987316860b5fb397255e18ceeaf20b1e460a23d07837e161e791f33d954db8d075e0f8f4f045ff2d824bde8b376d690840d2432109d1633ccba08430fa11e41f6d4ac158f88efc1007d2d8047a96d03fe9083acbbe1027732009208a67d91112b33b0857e5917a8fda96c5ae04077f7ba49637bc5d3afb8d9e1b9f29020c6123f8afd8cd7f6069fcc7e860193847b658971d7a0c5cf697d3a8cac5a2184603bab00c06e601ab6fe37e47b6af258863cb92431fb7831aac551761601da030f06a6c1878a5c3c01b997ff44bd60fd4d06c86f0239e9c3c07389210c88404f775f9a573bcf6ab9c0968763020360c5ac512795185acd7bcaf0744a0559d9c2dc3cd9552fd1ebe6677a985f17e398a85ec3e5aba2f3636680558e8f82091a6bdfea573c8b134437f0ce588490b60433d7b0105ee7eee8d12f42bee3fc25e6074e24197de007daf54fa2eac16a82f138369c2f7a720fdee31a443ab1a95b7d73c202754fc35b8ef9c9410f94d5eaf5bf57dec3d39fda459c31d0b83221f92c75e22b35fb3a67ef3429bd5a0dac7ffe0f456702b57d3d5d7c44ccc14a540473da98ddb052160af68090c41d0f72b266659f1adaddff60f27635e2d5d58d0d1b76c2e6cdbc89829f0bc3b9ec35ac493091be1514b22f8eb12e1d28e955a8f5f55d8c99cb4051e09e99a01fab003e0d2c226ea44805ca3cc1d864422da0bff8416bdcd0b88896b120cd5ac98619ffc38889a7b6d7984dd13e245de4dbfabb1bbb3b070ddc34f69f5ddb61f620c97ba4a979e99836532d280dc1727f3789b6f956b21acb82f0838e6627318447d8a9853cc3962ba5e112d93ade9059ca7b20b1982a1ec91ef09b56b010964bbc2831423c7942582e3b618e1a0ef862536710b042fa3da0332dc3ce2cfdc394d71339ba6949a4caeaf70f68055d507797a4ea5385fe9bc81a99a13d28e0c785ac1029661005cf0b2779285ed8c1221e0c1821519f21be10034882a232a90ec73d93377987be07665126d57e9d9dbd31cdd7d187d7efc45d4c5460453a5d65ab11ecd99f9da27fa7c2ec30f533b15d5668b3e489ca339c283c122d89bb9331f07c56c85b1ec8842885cc7b6685569c8f42e61b492ea07f25f6b3734e83773e58831b0c9ad50eedde61248ba008dcecf915f07727cdac0aecefe7fcd9e251ad5dd64bd027cfa89da7743de25ae183322ad8c669802d2778ad8e618f784e418b035c5f4764d90618d5e217a82556a2449ca7843222b50aace63316100b33f04c125c17d92799ddeb9edf909b87e9b9232d235f46b0ca48bb3c5f4b64d414f8bcf1815bc4cbf4e662e582fc2058c5e658d66dfda7d7d80018c0b6ac93a3dfbb55b28007b40e175307f0f1a4f65c2ecc1b4e43d339b4473ea3561b6d2111ca20d9c2a129c0a8aa1f6d0a7d6c5abeddbb14073c4af4df0f4186f2eb1530e0c0c8d9d583a80f67c2e25475803ec7291385c4c0957d7ba5ac80bbcc15a403685dfa1866426566618c4d3569130f78a1c17aab139e14c405a9cfaf906dc237e138f0a67f20b180ea72f46bae17cfc6ad68ebc8789bd5945d4775fe77264d564d80bc224ab88b5c0f61f1af4528b2e4d038a37633946bf2052f10df7c26ee8e969e196e7946933a8205cc36593f415514441a022c6bdfcb652bbad72106aa9662a01acdcacbfacb19d161efdba8ad939fcc93138cbcdd0571b3acae9d34613de79dec50ad81c0aa6fd3575e8089e86303d122ff69dcfc2707384a0d478d0bfa45a7527348c1fe769ce11ca30ba7b00ae33c67d01e2750b8d2ed5a6c1bf02a48461af7d9d5a34a65f834827c1bf1abf57a65536974094865363d9afd04f91adc076e0da700fb8b8b406a1bef370af1c0a40f1a58726217b2850f0f2e86de31aeb22f3a8edd923995926ff15f3f8ce7261f750e02a0c408c500d2b20f84a4270a75c34fd000b6413fabf826a79a3e2d5acb95195ad68074d4dc02b867298af551fcec5d591ab04f89a6e5c214a081aed0431309462b137e1e322ae5cdc17eb1107e1d4b1c2b045f28c332b3915c183a2eddffadf537c8fa8c9ee1da3025943dcc36d0a5d248ba412e2864ba27033542b9cba7c6f5126f86bf731f11b0f10f59542559a1d52feb50a28c936c346148bbee71acc654417ab2a592616d4db3b44f77e3072264ea751fac3200edb84b823fafa139443e366c0a8e29bbcf2243bcc4ee90e2837708feda8f83cc53a4e27703965be0337c51fcf5ed257f2a53de2b44fdfcee7912629a99b9d5aed8d95cc0f84cc54d9ceab2d52bcd0710f6562404bd07de95ea9da2e335620cb979e009384411ee08a17ba6723fa2377f7c4e8bdbdd3205ce40f91c85dcf52df1c9276909723f6ac7c3b43db76bf155cc94594f2c51278c25bc10ce61da3ff04bf3a9bf0b0c7cbd49a7c42ef988fad1449da72ce3c01ba10213cdfeed7d0b1ae4c3ed5548a366102f597de83b1327a45432704670829a8792f9c0cfd15b9ae26536c7723ed1c28b3dd1443bd02104920ae50331faa9168e2eaebdb1e0a0d59e1ce237dcb083fdc49f1df9ceffe26d27e6ea0f30c04183da1dbebed0637ac7210584b16a6e5cc06d9cbdb9cbdc9078b277cd8550ba5db7fe12655822b3ad2fb584a34424cf6557a2ef1b22a16e49950c19c19fe6b066f8317df1bc22e74b0c5e6adeae93254c819f5c4bebc1c7a4196261bdb41ea7ef4a29352f3448b9f8c3fb46b0edc3d689731ae9bad5871e48999fab82c64e596ba606076bf918657c6704c8f3b6ce38d3ee50f83a6d2e657c5b2997ba190a1180019e81ef327f5da30855286b6336530b8ab2d2af1ca144151f79c341206c4128e602786c9c31a7d30d0fba31936cc9cab3d775d34445516bdc629272951f02bd17b3df00132632d0adcbc551a942ee0d596be86acb53fbc454cf9bf9406d0d2f347ea9a0829e45303f5817a1bc924010c9ba2043a64626b0da7f00efcd9f36d58cde0f0e0600da1815282a963cb7c4d8b0f98ae9918a575cb1aff2450fb811909791a51d9b5dbc05a9d4ef8c58327375b747f68cf53e104454aa18d885b22e19248dd7084ebacd42e07760d18782e875a14c738f3aa026a48434c56634dc96639b14593a3a51de57f9adcbc377d053565a3c08f8b0a35a9b1083037f5e37bddac55bf176c6463361d149799d01813fa655d0b0b020da810307e802b2fdb6c3ba5a79810c0abd6c98107a8b6a75a4bbd2f9444d9eac91af3d73c8d6d004be8eef600fb824f44e6ca2106cde087b8c3871f6eedbdc9ffa95f16e3c8167707c451bce5054a963070a781a70a47d3fb38a65cd6ff2a08999abb91fcd4c08ff00928832d4d869fb02acd9b289ddb0c47ad628f417da10a66564794ec881350f64d07b5de0d71199a5038a7095e35c37b8a739398ce6c9a5199120e957625790524a4d9f9808866fa655f2c256f9267b433c9240b7a6f65aaea4dbdbdaecc5ca7132430c17749a2b4e8a514ba6d3ea917dbaf4cc04aa9f8c5d676419ff946ee32fb80ca5354c46c49d9d7bc407e67fc7f1cfe4c908ef87a430be4232ce0419744315bd95e4086d6d9f0259cc003ce545bfae5009d1869e862f12daa503f88bae0e3edc616f30637b1fd121a5cd70fe5e73a53be10e425526c2aec6666763991803a82d9051c423bbb5c7a4191de3546eec8bd732b4bf0a84fe1da09b6785b5da850c2d4d4e46ca9c83a294977fa30032b14c0d5f767ff5ea1a1562f60134f4c161c7750f5248ab8061e76b4a83c9df90074dc1a895b4eea50bd8aa9c33ed6e757de37ab435d952c9d548fa0295d9570d60c8b3b080e522447367cbf35c1e4c432e19bfd5c8e371ebab26ee67d94b38fef39d7263fca2820038430cb637dabe67f5d395e413544f55da5a710f2569b558387727c1484988926100905dbed2cc44f9d2c38b842afe1307ea4a97520af98b77bd7c5f143eff21b41e6dd101127c4bfbe9b394de2e38ba976964b71e456a93f631868345a90cdabfff7023bd1aa3d879de870bc6f4dda10651eec6ea9cb60eae5520d42cbbbbe21443985652999f6a0e47472c48d725c69814f8af8c63edc4e1661f9680927e182d2ccaec4352956ca4be56f3d20506432f42fb9f12c80767707d0a56904e815890274bc009d22eac83cf526a89f0660b1ae033048ca6a74445593aa678ebd7c225c8dbd1cc003f758a1299413d3fc29b04b2d8da55c192c47321539cbe5511eda8d9bc0b2ecba51c9284690d2734b40944506a6fe28f1a32f7bcbf003016e74f4ad3846c1b09646a5b5ecf732fccb66e37a3e73b66329a9c4536ee122b02d4fdf757918072e4fa5f466306e4aef5305263cd90e34f69b674a21ae5232c02ca4fc37ca4b725f545e02f103d6d5c2df200a06dc9c6e4f9cd92aac062df65c95cba5c629d791d7ee14d703c6d6d1cabf40f92b4106bba7c05486788402630d31da84c507e310530a2aa55125662b4ffe27304e3ea07943465e93e188e94f8e4f9639534b2d723c4d9e1d99b32094e67b6d06c8eebd328b859d4b58dada1f7048508766b9b95654db04e58b468a9bf46a18ed6914f7d1b89e43558b504198115f37574995e871a62c30c92fd9192348d252e9e8f302de90fd66838838797167e921f2371a10e779f49663e5118741715fd112481228842fe8ad92330989d8d9ebbe830b9d109fdc484ddc74a00e749d4af55833a16c770692ea2fb029ae46f7c57d4a3612a0b42ba7fae513a2ab19e5f311ce5651aacbd15f0d9c64282f8a7c6e92804855258d5982c7cd978da601be1f91f4c0e4e81f36fd35676839cb5f51d9f949967a6af4424563e644ad37444d06481f1bbe617328aca0800181662062ae017a1f21960d887a6d39601531a670e3160f9d5b3b7ed643d022f36d25231789102d25e17db77b63070456f44d28d44242003086e9fce65a458764b203799a9d64e7e4d0012d1deb9cd1c9c3492a9f5e0fcea1adce1fb94e72ebeb4c6b40cc613fc28a7882c5f3e35e0f46db3ad6db5bc7ce1ab78eced0109b8d122c5a48fa0b572b6f8739791edc613e0890eef39438b2c17ef3525db7248abf3550d8519cb74dbe39a32a738789f969c7e49dc1c859ac382648d244d80c3995b8295f062dbd3b3cc456d8326edc12f88f8c4e51e2c7933aa8ab2a11d19eb556e63725d887c80f260e3015cc5921a7a9946b47b2de14f2d749bcf540124f540a9e8bc852fff1e1353cbcc3a959d777915bdeead311e96ea77390f56ac880e5526c8a434f16a283fb9aa47e342136ae22b37c5f3bf8e1b40cab4e16573332a21711369a35c17312b52ab37c0278def8cd4ba5b03be193bd380fcd030d09a7cef628448bfd588fe6895856500c4e4a3a5567b6057a08892ed95d9671141a6c624d1f9d0aa843925c47356099279335a6ecbf99d169d03bcb1cbab685cce8f7bfee51a51f7fbb1e8191b6eb59e42ee8b9dbefa37fd4bfe72bc5ec2f6865a19ba2bd5daf971f5f4fc88124f30611513022f62c7f3530bf4b12d3fc2fddf12b4eb50ba991129646f2c394bf464ad8c46dc46670e0ec13c526940d3eacbd851204b028dad10a8a35a0e8887d98c3208ba1a1109eeb04b21c539ff8037831c50d6da36353e7e5bc47d89ec6a7f24044cc3abad4675caedcf81feca6f33bb701b4d4697f97f54bbc4a2f129bd7cc60ae731240762ca92a79cb3ad6db3416b87e7e5271221d3f5c0fe565b528ae25e3b443b1876b6ad0f01f76b3300e34d9601b147a1a75399e7c2069e89fe12acb8066b3eab80e95a7284f582b439506c2594fbe2c1416d7a21208f6dbdc70da3add3513d3af0f6df0d974cfdcf37bcc0be88cb7f7c2da21b65a9d9afde538ae8ccc87bd9d6f7d76dd42098f54e9e91c1090c6968321c0abc2be41a06054d3f5aad11584aaad601fd36d751e29321af80b0209fed1b2741b57ffe2eca9c2b1de3bfb94a7cd30e5d0479dd8378df16218342e3a2e0da35ae26e8600fd512380eb2459b183589a7ca21004284cc224b791da021328f1ee9b1f963b3d5d91f4d52775ee67c3ef26c0d3e2e6b0406ae3f6acbcf8239dafe2388c72c199c65d2c11e077f24cb65c690ffea5803c6c226dd037518b575cb6a037d92ff45178d7059db6bfcf5cffd9febc74f65f89c1a58219f7e092a4945f04f866cfad2bfb3b1a531f34dafaa38f08ecacc12feb32bf1448585fd5cabcc9d1ea27e762acc83de37bfe424e7a0c62a0d7d889451f265a636c05aac89534cc458cf646d3ddf6e0e342a86a400f5e69eed6cfd705bddfe0790bb10ba68594f261e16ad82f143d1b344bf3f2e9c5264c646acf02decd9779d789d7a0aed2f809b5e759a5de5933024ac38acef542c503b7a51ce0c2c21974ec5a580fda9db9305f4cae1fdaa84e9bc787bf347a88ceea71a9a18178419f4da16b33d81adc08b0356ff458a9cb51b5fc41a510fe189c7c0057f32448334e34fcbc0c65a14159034d6cd3b0180b1a9adb315500c22b8acff54844a3733ea7806054d6f28556379560e0cbc8c670e5485d32370081759dfa8b2aaea0258165cff2812c6249b8355f09c7d4a056ea812cc2ed56a1bb08e41facecfdc15b1d773d238cdadfd796bb5e68249261693d159e0650ad6756b57cba7e5be36780441bdba068e9a8b18a56af5b0ba12473ee50cb6fc9e3fbd53865b2c4e80468c0c618ded9754970bd195b548b5c4591ab82c5d84d23abb318fceb0e6c20968a537015138d32a0c04c1d524de060caee15affabf4cecb91ebb886fddaa3e407bfd5dc807a0cc2806da209f04a179eb48ab95ed3d65fdecebed9ae294adb4efca7fe37785e7690a4a162875f054a4807ab7864b0391a2c6617b075540fac1b39ac085dfd93f9e9c1fcc92e99457f173b6711ec0d5d647c9baef2eb2bc05f915dd2d13d15b96043e1ade10555c215200e94b22b24516eee9c248ad9d1835c1f64f403812d9906921bec3093e2afb390599ff3293969002b092e7bfac07075c50b5f87db02716b767861a7bb76235c21bc3d4f30000bdb6d76483160032034c549e36b44e90e7917de8e3e217c30c0015547b51dcf0582c8942eeb8928cf6e2b1a5f4a33e6448314d35d7de948198a1594c711e4a347db4dc22be6b83fe9a420a34d5d588417e5ce32587d8ff0a3e5856e89f6a9b13fea882daa90ca17cf3622688b7257c14f35a88c059889050a46bcd76bf4c29f6a05acc398a8821bfe683605a1bb4d118eba350400aa37a15e6179b1168a85d9faa544ce5b6e7e0be9440b81be0e2c34286208448a8e66e164188ea0d2b4c2e8b74b5628deb02b413e59b761a2d1925c8a2d6bcdfdac019cc6a1ea381c243a147df8032befd308741130cd344a12e29f0c0fbe2ddaa1755a3ebbfda86c2dff014255a446805696a60a8ede977653b226525b657b6799d499bb87db364f2a4c67f9590118086b6f58eff038509da12754e4dc3cfc0cd50e22a0cd5ac4471632ad983894b232bb5c792f50551ef6ff53759e2130fb145793868664a345cb0462567955bfd3fbdd05850e6abf17f3c4ac5b29549bc4b8da34253cd048b8af0d2945537c4ba36ca059897cc128200085025f1b41ef8bc901a9b5362aa852fa2d94f4b9aa54c9b77d43b4963f84ce1c97c8a445458f4be1223158c209018d5701909c4a9f1a6f8315f5ae13b6ec8686f64ce86ee31f40f0bc227b65ea7aa3e9ec80808d132dd37c6abce372447206e1970f51da27c0f1f741193a42e08428943525f6114818a2bf92c3d563c113f9781f76568bad3218c8a497d46731c37d80169842ecf2636a2e81e6db0ea906ad14352592a4374df47b57e49b191fa527bd32ddf9bffc93c88b80ed6a8f188ab7d816f2c5b4178f66a6182ea4521ac9c18338b1eafa6a8721030c3b60875c36b1879674d8488b36e0e2c10941d0e0d464d3c24e2c7667b61a5b89869e83002470739da24b96267ec9ce395e9e3d618a96336ff634f5f2311d27227956b79be53fc7bea97575426ec55215d1f6a5d62bb18f045625db34b99041fe049a99175e145a221dd536951115de1e426924294fa2f0033b8e7668ef944b1730f3191a5117ddccbbe623157f9bd2e166310b1a25f924ea089d6345b016ac9b429536056d6740d4a56f9a00f06ef56f68ccde40fc8d01bf599a22ad76e6efdd04dd089886d6eccdda74f638343c1cfafb181b7d1e11f508dd4ced99e484e651b519a5990681e420e1c9de5b637d9524a29539249068f02760289020f8218c420c8040467b80221c679c9187522a8d3df3f3fe00fa82afad972bbdde65b244d50d16106354eac88c2416ea5d2ddbba57bb7746fe92e654f395dd6f9554a29a994525229a9a4eeb4001e3a77acf3b80b7712317c96a7d3726ac9ecb1a20eda98e5b53c89c6732cffdf8a3a688e4f2a9592c5c268306da9250cbd461dd6cba10f782dcdf3be6eaa5b8e910ee7438436788d195d3c04e0eec416e2316ba0610619623020cc4b08c378ed8834bc13bcd50d015260c03830f00bbb23461b1c1630328c97108e01c35a8c5b2d0f7c60d162470d2b2d5802b03e1d342f5eb8b910a30e172f72c2efe5ee84857a0a9a1d3a2db0106505282aa4e009817907001c7c5dc41cf7ba7608f5c480a1b2b6c3f8b65c452c2703fc49e7e4250ef7a4264d4c2830e99161685d3b5ebca2708c3a42d9ea113d476727edebb9ba9d0e52b53076244d9a9862f29ffa28c2c964322e322e32191799cd66b3013d40418c31da9d0eba0f00d12020e79118b75a3983a08fcf0e1f533e6c084b86149bd22da5b5b26bd36e2b1d5743e64c7ea5954adc0519844326ad3bab3a7accfe8ab1a58c1da57bec21b89fe4d36aadaddaa86dfacff75006281f509a30b1a2cd8a257e7c9e79ba40e8a01082a42482c96432213299cc69b5968bacb68db62dca14a2fc7b7196da9defd856ec082d29b5b9be15d908b81cb7b7038a3ae8cb20d56c19fbbebab0b35d6bdbe748e81352f951226b89748c3117ec3f6da6350b613a2bcb84eab19424417244e5617c047bab1b13306b6985c732827130c665300e0b8c316e85c12c5a605cc388162c23acaf04cc2ac1458bb69cc7a60440002fca6cf042e757c042d10c115691013cd60d77b6b16a2c1a6bc62252800118638c41960c1b7080675949f6001612c8f351b2622c1270e769bc74371368ce2ca1c4529499322c6421232595440d892b57c88c392227664a2a0a2acccc88228800f3454a4aaa0551f77407fdcee316c61ee4d206193c601375b9f63aa9626973cef9b93d37cfdfd7e76eb7ff73febf53d77c28feb6b7740a90383a6fb55aa954ab954ae579ab95eac6f356ab4b43f278dddcaa7b6f6efedbb1e76f04e7cbfbe075735fcf25d42f2f84eeed6369c7e2deeddeeeb4ae79c242a3d15a535926ad73a7832a8dd2829ac8c3183de11825315a3265f4e4e48d92748c31761bfd40a3d1aa284931d554c30a89d598d510ab2c37c9e7ff4bf92fe59cffb2cea9f26f707a96d5258f974baf754a97e4f192b95dbecb29937e528a65d29ed639273d5585ee4c65a1b6de4e6529ab4aff7df9380fada325b934dfe2a5d6ee2d9452eaddf3bb08c1654b104baab5d5deaebbb63e01a1a5d65a798eaab5d5de6b2b975abbafd4da9dabb53b87a3fdd0eda4db890f3d64c1c2c3152bd5da6a6fd75d5b9fdcbbca0edd473a50c9018729b576e76aedce7577adddb9295db0e91eefa6babdcbe001633246fbe75606c329d8bd9ffc70223af40318c83e214ec4014a50d61f1f09b044a040f811c8c75a9e0aee4edfd7cc7e5f6f31a5b9357d7e1bba6a7f3b55375dd7d5da75b5de34d05d7b7d73d375a4b1aa9d97557d73933ba8abd52ad72e4330bd5fb93a82ab55ae5dae13fceb664aa7f36f38f0d78d2b461aab95e749f0e7534aa9240a7de2166611a69908e0d5badd6e452d9ca7449c472f39c8de6e316887ea87e3fe98a3cbad1835f01c9d0b480ad91719a022a056cb029693cb70f00c899b3cabdcdb3d7a943f5b98d27605d06077157d161cc62c9d16fe99216d2e40e219a013168a5984229608807e1808b6d27759e9bf12f6a922fe5f52ff2930b753515bd1d0201d63bc05fb4f5ba777ff0c32c4200586254f2fb8c0e54a2ed742ad3416baa5744b89f2adf041f954f852f89cbe274fdede553e27dd475f93af89090526357a30c639dc13628c7338ecc618770edb609174064a9326a65abfffe7bf07f161040906230323038391b9292929d9a00439fa6448311ba347bf4f6b7bb5ce5504b6815bab0b77d76e778f4794469f5e7bed1bb92083234a02fdf8fd33f6fca3cf812a2929e9fcfffc7777c10b0c51768c5688a9021385810981c160f927a564945ad879986034d788cd32d34a611376fdeda7f2248e7b6f76c0ba70add6e549b0520b06f642ce28292151a2dfcf9cb31079d24a6314ca9f719f099f922fc987e43bc2e45bfa8ce0b49c1123e62b41e9534282e42bf2dd3edb57fb68dfec23f2c9dcbfa44f06025fec23e11be1130177fe8e421b396731d9c68d9cb3987c23e72c2627307fd2d9424ad5ddce461ab5f2a0f5be2a75adbc5b5f29af34696292fe66ba10c47622e59f5795fb95702bc8ed76b351eb73a6c8092956c4c63d7a3cc25d7ea5954aa7321b6070410645cfc6fdfd9fbc13989451e2a8d9ffbbfdffbbfdbffdbf9b4e3aa9a5710541edaeb556b913426daac427ad397a5613febff4deff7a522f2bf587ea545ebd56cd37a44b676fc733fd837d459f902fc807e404a7efc7e7c3072b51511f91b5b7af873b117722df501554b4613385144eee4fa2704f8262cd136a9c888a72f7281635a8aed59a9a34310131820262b404159bcd72b3dc6c16959bd56ab58e5f6648b51a0572048b428ac16ef5cb0c665bba20038782dd62c378a8d56a0e5583ec766de0ee52700d85a122f01028568ca1b3d96c369be566b55a5c61a9bfcc90a0becc90a06a352535290131abdacbf9c1a5bb737ce410e5f4c819aae2888c8a3665c2183135c5c636050e27451450ac79428d13b2a426646998407366891ed9138694fe4fd998b2784ec10f627c248307fc3abf070a519262b134b134b1589a589122455a53be71da465706c357c4351353bb9830c040830c957318be84b24f8efd4d049ca7368d7b7cf2ffd4da8fe2d4a94bf0ccecf81f63eca7b47fc01ff047841f5c921b8bc56a2c169bd3de2e03d1c9a7aaf796216699acff4d01aa43893d87ffccd66996d4157618c3d0a7481137c18b84504f8344323f33b8670d1ae10c597f2893041264c6ac6e32aea787703d74b3021370448e458b1e7c11c0f5500b56ced183eb22d637f4e508e042c785180002008b4cbdd01120271ce06b5c0f20150515c6882288382046c6c9f75e57c7a70572f4e0867043b86c8b0162108c0c046ceccb105eba086143dab871e3ff636402acab8710184a20811b48b474cfb550ddd56c6dfa12193ce04f2053cc560643bc14eb219caea77536cbcd72b3d9909cfc51abd55af646203d605138ffb02a317af42f331815ff4b3e1d46e5dffd07fc017f7e9ab89ec4f13a2d21f969b599c9bb3b7e6fb5ce171d2bc5bb3b7dff8231d1576a6f57ab29a995f06da1f4df4b77f77f777f417c407c5a3edcf7c312ad95567bafad34eaf3e1eb81524a69adb45a5b69164affc950fa2f45e9bfd497a5f661f95ffa5ffa78f8ae7c56bea7afcab7c3a703ad95567bafad34ea1feaa3f23ffb72f870f8a67c377c3650fa2f45e9bfd4ff53fa2fd53263bd7aabfd9ff4ebd3b9f35da4d2a48969ccb5761efdac6fbbabba97c682d06834ffff4afda7c04c5a9330428a19ad99328a72f2466bdca5c7f61d232630a5499b763f953c6c5bf7a793fabf7dfb4fe9a4feff2ed9fe3690c2a8e40b7b6645e803e318000002300c86511888c44411ef06140013296032667c2e301a0ec8226140140a08c4611c05210cc3200c0241180331248752c8f615ccee3c8deb4a98cdcd45d5c1bd304d39077a564a28aa9724372e7d26fb961736974723fc779fbcd6b1bbd1bc692bca5b8e681d381c14caaa930ad3d1130182c2f8e0bd870b8c6a45e8321e8ce67d69e0000b820458312a6629218303fbd709acf937c3e5c0366474495a10c7a16e7a824ce09b873ea5bd7edc27d340077f983fa0665026ca69a1ed36c0040f03135a0e6e08616b92319cb326465bcc8e1fe51a9e9a400894ecd765eb3123776f77728a2d90ddcb6aebab6a8237b7f52a4d32deefb1e16776ba443d25b41e398b40d5d8465bfae5be5e1fe07f6b88a3ac3cf6f5e9b7bbc8f00a3956f8452cabed9d99425557e9bc793290c689706d80588f670f22acf1b03c4abb315500461b01a444d1b0a82cd04094f372422892a029e51f82956d9b51f61a23507c9f6d22d281ce4a080e1dce8e26f4ce47f3d71b0194ffa1a6c896bd0af9a1629f765527f69a076c9da5f2346c3dfc33be1e19f521826b100ee4e1feed327d28e4feed04e87035c2ff06ad29ca35fdebb5ffebb57a72561154af72afb303f65a242f2cb6dc67ffd4fc7bcfef7d68b2d793c5a426f038037b70fcf95b808ff909018e13db3eed0e4118df6b41a8e774b761b343f160a2eb11330775c1b692a2e5140a59929303ffa47ad2032591941ecf3ea17cf2509f3df6df5871fd20c20fbdbe138c69b42f7bb3c06342d29eb6d87bd3e4e5e8a3a170955f5160ae934e66f13fedbd19192815ed1004622c2e9b46c8845aeb2ad50d13bb9688048d278bf19d1c1dbbbd0dad46b32d6cbb52b5ed4f9ea1e3f852f5a659b9d1973ec905b647bce12a1fd034b5814c916d2829f06025e7c0791d299e61c93930bf46ce4a9beae676a1d4710a1320c60999f27afdeb3f447e095ab09ca194713da76f6f3dd50814c3d94f49314f516bf3b26291c53e5646b74c0448c5d7fc2f0a87e6725974ca4a05301ea575bf4dcbf06c8bd315921449e2582e7dc0081c8dbdf896b655817938438f885c724629c70099148c849baa4ceb9ca7c79d404b2e005ec08addbff7bd88cf8cbf13319b539b2825000f5677a8a18746cb5a1852d272c1ef05d760db1ee34818e5eb41e57a1ffeb3b1cd75e80448705a91a148f98b9da394bb4db9235eeb186b7d793c4214824f0a0824a447c3d2525c9922a4630931ea242da95ddfc5173377cbebe31d3d8937b1c76be0a933a3dfd4d8ac9b148ce0aaf5c1f5835c27185182b1368c8b32ef9a64951bc1888cde59540de6b1b171c626cd321f0463fdf8fcfa01daedf60746f92201700d61b78ba8b22e3d81870f1c18cbd6f2ab5a5067eb0646b9e9f3284fab54df1b391ccd69cb0c331cf24980b1acfb0295a9386b94e9ad6b5f698039609cce0869633740be0547945491508ec247a201ae900fbabe25a1376e7a32090b9473495e960e6875b00a18b5b5ca2b7d9ad0556c34e7325b056acee16c1622f95a347eb551ca887252fa8c29b978f8333bb1a7f6038c43f9763d421f82bb3f5d75e6d2b709b1b8d574bde1d3a4897738f97db3344ffb3a727c34d5b9ed08250d8eb09961c50dfe8b14ea221231a8087a30c48c80e75f64a6a25625be991c4218c5651bd310c51cbc626b38fbb47fbe12655e5c004768862037b250fc5672d226c90d7ab1469284dc174d71c284c48cb0610b5fc239cebf8961cbe21632cd1f4138bf739001092c34a517487d8f877f7f5e4749b545fe5bbee99e06508ae197eff374ef1de236342062943e13670199c13f1080b55639933698b78aa4108b4eada3c15057e5f1c41b5ab584bfd72c942775c936a556ad9f25a732dd09a1d1e9c4476c800d26de9a5b7d177d61f91b9c954f6ec72575a307c0e895b248560d447ad43139183697232927bc1cd945f8f85c53f6350f29cfdec6ecb384b128180d4e5f7012f4a6841e06a4ecb241248e855a6e20bfc1f1232e9417dcd6d2c7a4071b63947d3fc844008a5b8495f320be51b04c84d0b9f3de138981890c3f5efb71b2887117b1fa50870572661b6b14ecd2a78b6abbc46df2ec8c1c87e6426354523246dfaf3b805e1408eeecb7e500f0d7c625c216ad053e63bf1e41beae2870e0cdc80a439bb4055ba0a8916d974475d9bad0d71525d5138d21e2f2c600766d24b919ce1d93e83fa558be2dc64812e6876fa61ae59a4aafdd6356100e041780d49d4567cf4ac81b0efbba5d63643bc371c361951338d843529f61b3061cb5c3c6a472a2a1ec0cb2cdb9620cd255b82cc59228e950ec1e3c98684d2b4f0ca7a343384eab08cc2a9bf758aa1e81542f2a0f31f3cb21cb4899178982d455beb70f476388019515642b101fdc9f4ed62332e6d3526b456188f87523525ec7b64ee64408ba7700de9e0eaf687e989cd0e6595871ac6d33209e9112d5385437fa89bb4d93293b14e3448e71f2030b486acf257a32bf0e29574e20acd0416653b4b206a2859d9cd1d51cd04b4c71a8f84648115835862ec136eb8a940cfc82c96b307d6d7b3226cb9045ea2e0911a8446e12ede1c5681076c27a655cb6bb439820b23ed7d51c5f2e031642466c1bdfc5a27a6e7c55320c6890480dd4df14c542ec51ea3a5ea671b0b5142cbaa7e1b118964e0de2f1c6ba9cfcc2f1853438cd87f12a1d4b46af4922be8745f0f5f0c63edc7e1ac0eef9f9064dba607d7075e6d8bdfcf2523945db64cfebda6e5cfc0cc4b7915cf473d128955d0c1c97fb4ef6fb0a7b978466108ef5dde2586819b85e686b878eaf3ad1a8e5acf7503de4982942fe6542a9debff8015f5c5b3e530170843c1ca8af4cbe6041c7da044a2f5f1c1de4a2ce709e4c20584d135b4a426cb207e5bc4d762add07b5066b137ca7eab8cd495f556639f35e2dc202669f5e95286645746b51e4b3441f5c8f6facdc8c0bb5c863bb71de4077bd2e59d7e63b0d2c791679aca4c7eb0fa5f70ebf36cacf1484f20ee6997b6ca73c91a34dca8fbf7fa1642085fedd54a62845bf65a2e2cfc70d090b7b20756a827efc50f038364ab5b4e78ffe8c916b3b166f922773bbae7a35dcf7efb5e41808ae1cf296fba5d6cfe7b012728c6bb5bb36937a69fb1f93e6d495fb8ac2c48bc89f3537a032f01cb4c1e305afc41e0d837ddb28347c2f03277d0c81ebccf6761cd91f106705d98aeaaa68b1a98d817c6e5428b1ade4bdc4c9b84b12a6fb34068616fd48be7f9c1789e2e0e139feec2c52e3c8af1b56ba5dc6cf722483fb6f63fd4e1c0f1ef83673276f49db463299050de46c3258e3c44146644136041a9ac636e02e3a5d2cfca28c7aee04692aca054d61b1fabf7c95b08d642beae6b48cf5a642aeb06a35b58c46da7bbb47c79137a8cc0ecd5a166465467ab19131b147c85ce8ad239fd6e03e3bfddd7455c8070860b4f03266e8553e3892b75709f64a12e4cec330e4c089dd457002e823b55a594998d16f14e05f73b740b1effe630cee2757f71075878e6ead63ae90dfe05e5b5a3317ce76088df2a7476fe1d314914691af326973df34b98f9c3736fe57105441ee64761342011f1194dc95bf9111a85ea0544f0c88ea3dc71dad1cb564567e481584701cf938396b89933eb7fd172b99bedfe7f85700642533bdcda93226f5cfb3827ffce4b1f68964dd00d11e2729c42af2c00a425694911bd2b6ea2b39868a077f4f67dfea89a3976d9ec9fbf0ab0aad761bb2ec6dbc03ed4d0728ee070a7a0eb0b878b79d3adecbdf2855e5f1ca22037b3cdd93c73549a7a50b2de97ec357aa3aa48d763a638a6ccefa54458721644d1fb4ed2372c71a8caa6aa8e4b0476ae02a572678e0f22144ab35cc109699b0399bfa06ecdf61db051f298283b1371d716872ec1f578eff314181decc7571405105d910baa161a26dc6be28e642fa564e6807d19341cfe5dc2939652a30619164eb14530e49f6f55893e35b130302b0594227316043f0dae2b3c7a81602a4aaa8fa77740d6f19586d50504083a6273c5dcadfb664faf37b623fc98e8dcd627ee08884e2a684091f993da2710e8400cbbd6bcd8837b05884b5c43c8e2892552c2f1cabcf09808ab13d54ce6100c8a15bae6ccf9633d7b4ddb742f066229be27bfbeae34f2afacaf71c224555ab3f17f12ff486ca862d282c76e0b60e148a79d44228742bef544b348501725112810f814aa9aaaec20d282449f03d70a7c90b82eeac2f3029de1cd06af6935f08a8d69f58dc527d36a92dc7d5d86664a7f9fc5098101e524068205eb2103d1cd7f9dd520b18d5b3f905fa25d83ac797888b02214f60a57ca777f3e1d35576f84ed9663de011dca1602002e9bcb84818c1f614cd41a6244bf673e4704d6c5d0272a38566551f7268b2705f616ce3ed3b57f71075a7d6c98da92a37e272ac32e279bc5c8dcbeec2293f7d44bf7d3271059f5f0d8e9a580e20f46a34bb24cbdcda07d4c1b66b7382fbc862166ef3a6c00f3cbb7354b8eaaeedf6486fade987b3600d051c693b97b334c523781897e88b32b7aadbad399943dcbb51c4b5ed350b596787b3a86dfa789098dec0df5545728d25ae09fe9b7976574df791b90cd078edcc02de9d9d50af9c9cb7923b92d8586b5a48b910bbc4c645991b169498baa83ddb727dcdf16ab9b2e9511e607c66c19dcb0036ed23dbda9c5ba82ba9d381daaa5795ecf1a131101ce8a563197255421292e592c471902247e5dba1b8fdad5dc16dab8e8e115847e0d3a8b48e06c76fad364efb39cfeaa255305dc92117e35ffaa311252f819850a2ff3e2d416843ca83735c3fe658b560900520b9b0aa9f4516380f5f408e7931a9b8aa2fe93a1ae7df572bf7acef30aa0af8d4504ed285c9425a721303d4e1580adcbef4539c9c4e9deaa2acc40a1863a75ab4f00edc2faa229ab53e065aa20f6e8f74ac63993b030e541739e3307b3bc294e738b79a3f684f759b0f3d3a1c22f7beca5955093ffac1933deafaa1b21b37e4ec493cb4740563b3da2534a44926064c75894677fc34b993a91709a59820bc8473cdb5d019fdfe9ee9f65f051305389e834b44eda376d220447f4d453cb9fde5a2b1b93009e3a876558b15ac7917c8b368be75a18a4cd663327f4dbac5cffa471c5df0fe345a46c240cda64640dd9b0a234a63ede007302331e264904a1534ceda1f03da1c05499de180cfcd6a0628435d894614e3c86b81ae9427498d2da413a07b82722478766daf36701284303812b938b9604a221b9353f5771b1492b4b4d00b460ab462db767970672398099f8c1b8be7b0680527adb02f071521a295040d3459ac7bbe116330245279ec99e5caf092cbe4b3ce7a7b48c56beee793c58449e20e67256a1f644e0b51c4e7ad35eaa8bbd7a2ceb6bd674d2039d41b54f22c15aab8ab6d67715570db135b05dc2b692c298c56f7967296f779ec04c76bd16ac8bbd0c1b30d5ef831ed055c5a3bc0fd54be66e67a7930996bfb59e8b58ec5e26a6cd24bf58b8977ca4ccfa9df1ba280f474b2fd007eb088daa5fa053f0d87f5b7d2af09474002ad5d189e5f531377b531cc2fd3db32416f02aa8b8690cbdda7d0731a7ecd65e82391d354a8e1683611eb19225d3550dcd3c90a10c5f2a861b628037eb56ea85f02a247235c5a07299056e8fbb7f755661faa42e851eb35df36a95a4dfc68ebe68849dd970ced36b07a4ad1c5840e4e63243a968fb42f5ff59d6d0981d1b06b35d4564e6e714b8b7d5d8077af340daded218b711d4e357a99c0f5d520367b00dac4f0b6f45ba19b932ce6889eb7fa5adb386ce63adda21dba692813d4563772aa87a231f12e5dcfd81315bee1cc5fbcf5d1312e8295bae8c7f77ecd2e6e98ff405bd152b0be1519eb8eefcaeb906d8566972c499b03d0a49274fc38cf033cca2b9156aa80697c9cdff8e4c8a292d78cca6eae584c2eb936e784d5a4455e9c815f03db2505d934687dbccafb4f63c0f18215bb824984772dc3bba39fbd325e41a1dff35abc421c38c266737761bf1589ca662c3537a59b302e030533c8d9a125d305ba95a9e201ebb5a6e10b2aa6e8da7821404ebc52b0fad2ced15c1fa7366ca0e2b96827c68b29c40b06fc414b6da757a6e8ff32de1cb82c347980efe4ab236065fc399040c82a7f92c940d0ecaab18e24a46d02549b282903c9cfc26313f108c732d798b4ca4d34efcc7db7fbd31dc4bb45f55dedb9bf72675954eed8f71b72fb7473bafe648cedccec333e413cd59979379c9cc9101c9542634b70aa91dbded1cf1d8371c47ad6e0cd2cf7763ae670b5c4f9b878fb25ac42fc6dd0fa9fc90b3e77f11c6020df5fe5a38ad3f7ef9593a220ac04d2f4f9ec3c9b7c017507f6fb8b555b9959ab4e940fd867ff0a47af7cf76d96e741ddb2993c0a7d9644bea2566afc91c0e780baff2b0cae1eef507ce805a5497e7ac4cb2ebefb9a9a619a2ea2807cfb9dfcd5d71e39f09501b67b1e4c0e8bab99a7312e6552bdebae2854f9772bc1ea31900b26eca588f18e9804b01d07d3eeaff89e18f3839ff94826db1935dce907f3024331ca9be42c4a9513069d1f42af929f0d665050ef5b2b4beefb262095e25b3ed49f2e660bbe3b8361e9f7dfa140e0f407ef93947e22e6865dae4cde41c95e70d47302586ebda750738a1ac49a5e93299e4d1d3c507ad7152d2e1509b979a548309ef04270effffd7aa3cfecf20b9befe2ca42e4bf1a58f0e6544ce0773bdfa6edc172e683dc7b856042116492306c137474be27fa3b7e7c3b6bc4b0dbc50439dfee043c9da4f4b8f98137b2fc22b48ac419ee139a2ca4b27085123e69c23146f15d6cda8ebb9d47c700ac6409699299761c2c666e335c3702c480f3c23b913b8dd17fa6229e6513a6fea5c30bf4ef95dd51afb79886f7f0373078531f9ababaadc5580de9515d870b5cf2f3f51b2a15bb5c4b2dbf7a4f987d4a8f82d92c8fbc4fc323929b1de28d5da82f14b409b022e0400656c809d028d38a295b3a546e1b08c2bb0bd7566d06dfe2ae8d95b205572da7a7e89a5584eace94d3efa6a5a2d7fc8af0c68c40d2579efb17d8640b116f54b02869a9550643bd8d891db8e0c092372c2c9788382c33ad8ec4b4c93eac335ecaba641ffee6bcf5aeb0941a91b242d2a420004fc521ffe7482b983509b59f44938b3534edeb8ae53c421dbd29a82cfd06d81112449be3de053757752f0451cd1ad76f2b8ae94d8a7471104a348c2b63379dd8ec608c515942610f2c235137539b615304c72a3298788a22d650b410d3e3da922374092b0f10ff1410826b6d4c5b67a965a26e8a815ef4a1a2b039aa4ca5a51022b5889ab363eb92f218f9c494f400ad36e651731df10f01427409a92505e888d53133bd1b63242dc73b5f907b1275c6fa8962ef9f4f95df8ef9bf70e0262907a37a39b9e2bdd5eed07c1d2878c73f14bcfd7d8c248323f33917c88fa3cda52d9569c3112f9366fe9dcbfc93d31630c9239313ebe4eade77ca4ef2d505b3a249aea723cde768ad54f1bb460574d3349b718abf9a654f7ee7939744b9613d7b090830e4f6650ac175aa53493982bccd89683674f1f83eecea60d88532516469deff778f9f6482a837eb582598a05c94894f904596b245944614f4525c2ecc4493f8fe0df598540f08d7d703eeef96e2fe37c57de314f7a867d0ae18872857c9d42f7e8bb942775e1e429a77aaf45a08ec77b502a671608d4abee7c863664bfc3185fe8271cf68d197120375107411d709e2dd66bf2464e0d89d92f65d0f508455f7e225c036c7744bd24116f2d306007c593a0317868ccba796275ed6bbdcd164b469378754e5d680c22873a948e3f37797d1374258039464bb9fc10ca52d3d3585bf2a61afc3c364aad1027a77fb6eccc72cea0971aec226f84f58e24e58b53dbdd9046a7c737338c4578a6009fb8bcc5d6818b6a642565f671a04ddf1cfe0413fb570b133ca5ebede6d2bf0e53d673dc65760fc18ae10c7afd9e815b69d7eab9fb688570ff89d962bafc8131cd01949a6ba5e86c3a3eb6d68ceee3deffdbf386b27877a8693a42a5281f669b6e2ab87135bc4ad36464f614db05b3117db390f4160b48e9aafbcc8ed8daf5d60526603b9f2dea72be270980b67feb4c1c0b5d4f7d4c0805419f8b55df21b5f10cb395fd9acca9cbe5b932ec534edba2fe5bc123cce5bc8ca3cd33385bbc542cf11b5f3aad39c00fbae72e94bfd7db6339f900e6be620015e1dfb3f1ed9032122558622bce963ad74bcf88f5abdaf28b9235b8634743f49d43d1715c5249ce74b0da11f6e8f30d99180a7388e062f238729705d1a0f1952e77f64fb3287ba5716e3ea6987cf602eff1c9ecc1c17b80f778405ee23021fb6c09bc604656558cefac3a5b1c821244cdc606d0a145219c466ead13041679766eff18440bfa338fa7d2954064634f9f8e89d175c8cee3f46cce349539fe9b7ee889c1ec79ec010a08858b9485d16396ef8c8adf0948db913058f4ed5f81c79a0c9c0f2b26c04576ed9d84931cba79638a5abcf9f84df3065c4235f583148e299b8689459791c3e94fcd00264b49dd4de199f958b9ed445c3614838affdde3cddeeae6df3ed5584d603bc5a3ca4b415a313f1897a29c69f3e0e0ddf36b75b33d1a23deef673895816491912322504bc31fcee553d9a991ae9eb88f118116a71fd5ac42ad0b2e908bcabcc855266d9359e8571759ac8b8c252ab75e26cba4e8ffc073a27fa450ecea303dbfaf81e5038442dd8066680f9b1c4fc84144340fe822be75b9d74337ff3673dcfd6db4280c843a7f4038bb227eb9875acd638c4377db7588b0b90be61ae5895cbfe6b68260eb293c25811c5d88c339d17e1a36b4116d46abdf4cc0cce6644cbfed29233d389d863cb576263cc4644f064cc81aea345d0a87cfc52550d02ea81bbb4678bace51dd8dbf6607746ea2ffb93ec441c3d5f3f2a3f669c2c1ac0cb6fc1ca088d0251dc37b3cebdad499b4c8aee0f2df458ba4e24daf004f0b8e5d05a1fe429388bf49ced8139a51514bc5579fb2400c9202faf54d23740993d0883f8b92b9d10b08ee3bdb9d78fa039c5fea4e3a86139722d22ec5e420dd29741b48f112b566335af018a392094be967b112a465e226ccb0eecab9a5a4ffb50780ff7272bedbdcac41d8ea6133080b7fd23899985723dce234e5c97215641b7c54b5936139ce88538fecbe0fd340f0a850892d202c69ebd34dbc0c297429b77a3499101572cd09b18bcf69a553f785ac459fa93aa99b2b33fb7636ecaadf174f9a214b5e6b9b5fa6ee94f968a317778ba11f89a239dbaec5575ad3c46dd7267c495712b6570df189c7cdfa68cb422b46114506d033d41fe9d2106cc93eedd93afacd613a90b0534dd425964bbc7c48252016e4bc29b5d0b7dc224813d5e3bd052e5776ad975136cbe86b17593b1b6dbe3f84fa9ca3cb4408020bded933f05e174f6246aeddc11f658aee0da472a8d16fbed99732583851cb8670b23243c8696ea5103dc6b7fcef6ca0bdf255897c9ecbce1b526f139af0087308eade33d972bf502fc5eed04f51534df7d8cf494e5872b3dba9f43be5658c180eb20fd6a87d7e3ee18b01fa220c03cd63360f74e229819a2fc45e071edf497f73a3039fcfc55e7d1d716f4c8501262efad510b1c0c91ffaff469c07bcb21cb1e15bc49f276715c69438197da88ff5b1b1d426b0d3204c11b27ea11b2aa5b4bb5e04534e06df830e065b092b4eaf9b803fd153c5300882375b72320a7564a5b98e83d4b914d04194247dd01aee97ee83d8beeac740a492d3c484a83c56ea21984db19e5b7ffe631815ba20f635ef8b5904e7c8a26a43a81629e97cce91e9bdd31e6f69c7a6b3c8ffb12d3dfe75af27133ebfb25e9232e7c52f3b2e07d020380b985b51618004cd292f2d6407747b64eab9a337c0567f1fd1c7afa09a922e3eb8655c9a395459dd3985bf677ecdf855ff05994183b225cc92c599ac56673bba248d9f341e9c48d5b98c7c393cf421031d1c764d01a321fd8c2a2fd526d02daa266c4ac8d0635ee50f1c68a5df7e586b2216fd7445a5e1867198087abf674558b5697ac1ee43cccaadef9905ed88ee8911ea2e8cc3cf253eaa3ec95c3f786eec8e8d95b309d991108beb7efd5bebc84557fd73c2b336b20bf990ba0d8eec92bc24c113980741b9a5ef3201abe77afbc68264c507eaf6679be62690c53845905a83561ae4efa34cb75c100bb050168a90ca21102de66e5465b63ef0d86455eb8b9695c8810b9d9bfa12332a597957455a9d89b5be153ba15c091ea898d0bc6adea857375c6220485fac85b7220dc7fd10a8823a2d2da3e15fc6020d1dafa6a4b286f4601ff97375b82da287a52e7a7002c54c0cbd5c1e130f5b0a208031fc0f2c9a6d350f144374e00ac34aa32708e9246a704e4c24ff0d834f00f0b123a3ea8d878f74b5a1c6392f8fa086f9e636f805e034587b741042cc181db6a714816beb22f62b53e3b4c0658e36aa82a7cef85544167e04e39ca41e5fb12f44b9d5a0ceacafbc8bfaf13ca5ae0082b43c57a3ca5106a8247cb9173dc43f39cb58941aa784fee182425d5e3c2af32c59192d120427a96dc15b4a51adbca2987f73a10e292a4590b45f65be67b6aedd465dfc958f4b285080337120c2a6e4cf06f0d7c388d26c184e4bae14c4172f908492027712b18892be89a49baa08b8ec998bcc25f54243181fcf057881b57aa35fb96ad581ff3e9f20c1dc6b615bd6c7ec43229820b4aeae09a92e36a0dd908aec3ea47b793d44d237401952ad3473183b56202e483610456396d12f02d0637afb784701a4428d14f6e87d2fac61c06b060677aa594e76e26970dd79c160ba6bd230eb4be24842f3a5c0861c589c0612a839b8e61d50806d4e910ed5a1357b2b09c7cc9efe7cddf0d005ba2f5c4d80bc412ac0822d0a15dd472aa206b27499a9152cd5e1659497e9ad98bf9593e4c28b48d1f4b6d074cf1862dabc28ffbacea06813100178a59b98ba89f28949f8aa04326a79cbd1e09505425d6509a112de7831af914b61724a9f50d6c30ec497bcb5ac48024be7e66698d99318243d1152e3e6b7cc64789d2537f9ac43d88422153c499ef729243b88ccee4a88b7bc2e00451f478214584eb8ff08b9000e51840829e3445b31e8605d84178bbc3dbc2796e8453364f4dcd5d9c5546342b8251bffa4800e850fcf6b739de1ed896526783b8528d4f080783bdb750ccdd5aee1c2881f3fbd9c5822aa370bb3db7ffa97d35255fcb35fc3809a82a1ea4fcfd30f1cc80ca60d330ae2bffd1a850529e643222a107d1b3dab55a9fdc7e14b82b5ef87f5960fa06229ac947a176c3457aed1c788b05b909342d52cc287b68e9783d44bb15babfa8342bbc00c7ae207c12e33cf084bcaa0972a6de46a1bcf00c69a1b790fd9a4800782ab3c7686633beaf7ac8d7ca4b21ef0627a9d2330a1d839803aebd1a07a6d458e9e2d433f336f9ccd2eb227102d7ac013810a92e106d13f3b92518b4943701daccd570757dd01e77940684201d27197e410ddac47e2ff11430046f69d7e52f77c5cadba1ab2dfb09ea59a2262448556226e86fd44b9513d8b2cb060b6e6bb910d68b53ba16d28fddd766d67897d1384feb1d5907dab5d4b306a83a9349a9cbd12ee99a13fdb295ea2b668d3e5ce89860f62a98cf80c3547070af16b8a37df329cccf7cac81b0f52ce956ba639ea826afc700c8e6680b878ea1ea65772bbe8bec08aa023b55d69bce030a71b41684259b59613d75aef30e6fc0f2ad6eab53a3b4d8416f4fcf5e134fdba42c18648a3d502b89de1c3290e5d657c196a375cc82048f1c44242b6c9395a2cc258410036a459a795a300a5a261dabb3e165c1f3807310ade07c7bc8990d6fdb4b4f6465a8498bd2fdad41af79ef07b18639bce1dde04bb0cef7e1fc46e739df7f9a102040b893fcbfc261bdbde97550476eaf8e013a5fd6201121db71cbbdb74c29c99b0754076f074e1628ca7e8f735a83de6f1469ed2e681231256b9392b5da07387ae977979255953c412c693d80cb7499aecd3d7172bb67dab9d39a23de3ac3fb14d7ce3c994703a5a2f73def1404f36ae017e7dbd94ea87896af13273fd37e1ecf39e7d4b97312752318ea3de79c2318cb3fbbbbbbbb1b03ddd8e7b97b6cb99c6091e2e5df0a03c12a36d2d4726235d46345b12728cec50d6911d169f580e65bc17e652a151b0ed1f48df5300508570f3c30e9e1aaba60bb3bb97ab002a187a96ef2af686194c4c3d7ac965e1ced021136cebfa9bb57bf85feb383ad6de3daed30e097c6ecbae3f526f9b38365ac4b65f8d8dd7fb2ba4a9dd237ee75fd9365f9a97b7311d7ae3b7fb23e9f331cd3fdac7053b1f3aae779dff78975c2a01456b0a3377e805d4e55ea9c25963e779fcc058551437ae3c788c4f2534fa4944ea592913c6f62a1e08d1fb2108dd7d91d6fc7f278483ccbe3e9cc507846bc190aaf0708901ecf8837eb490195c29b19e93a59f79d8f87c493f948d0238111a79ef71d0c0ff4f566d040292b0ed5fa13e624b15a9fd5a2564b26cec45998a3a363638881b1a8dde9a8bb6351d7010c7950844181e575150675ca1386d6aedb41a1bf3babf55530ac608ef851f7dc85fd72dc43dfd27a416b4babf342b1a3a2bbce6bd92296fe24b1feecb219cf153ab3453ccab388d2ab5345cb074bb14c9e2bd4b6988e93a7a3a3646699ccac4c89b8a344dce10912844789c883e20985a824ec6112f6a4784a112ac961302eeaee0bc62c26a5945290c79304559845f5ef1327b3a077e85266d12cba9fa2289389337116e6b88e8e884289a5cf2cbc0ac660cc58176704d6d99d2e8846f3cf390194b97077ef3df2e788a5cf1d3834c42c9885dff93d217d5066948357652e68ed0312c758455d9393de8ea4cc825904cd480cc66318a992437cc48fe333cc8415dbd6cc625687e2d9d20484ac61e0e2a185164dccd4a600ecec12e2a2b8fcd5d2fae8e65cf2e51f62367231a8d74b91db4d7908e70c16b4047113023861a288b0068dd51136182143a69c3f0d104ef10727b11b5278fcf0c39c8223cc692b2b4d9310f3abd610667834212607089238a08830407899524411aad6b9738b550b133031e282256ddc340162d5820ea5fce218cf9d5baab85ca085c40779840812555c7880d0ace971068710ab28b6290bcb97530e5e603af0ce2d44c664b92339c62b29353b3871e9c0e308226320530e71a254b96912a64c13138d0e2f2b49d8ec308365041dad1d18cebe1e1ff39723bace278a329d9c6f26ce66b31c3088463bcafec5f33c6fc6b5c88f1f3f8cf861c48f1f5151515ea2bc44453d3d3d853d853d3dcddc50f510aaf6f7c130ba1f19d4b66e052587da6673293fe4f10c43510c437196037341b41e5a508f2dd3d39586a1a64e1d6b66b9818796931bc68cf9809904a8996104593f9a60d2954428c49490149ac07e88c0c3d2f4e00342391325480e29233e3ad27578732b9a736ae0eeee19741878b7ef133bfa7962a59dcf39e704c0d05791d6439fe619d93cb13e4f4b8158c54aa39dbb7be762659a5553ac4cb36a8ad50b6112cd2e14b6efbc2f691219f1500a765ec85aa69d8ad9d09d56d6519aa5b64934450f419f73cee94ebb39e79ce2b397010634da4da2a02bd639e79cb449345facef7d361a15ab58c55ac670d3e1e228a594ce107c8ad828a5474ea9534a29a594524ab9ebdc9f524a9d524a29e5af50a4a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a22a62611669a0c2dd7d4ea20c3a0cbcdbe7eefd8b4934bd24a30b7240a516a20f0baa4865f96705e1d09c2200649ebbd36fac9408499bf9531ca5fed47f0655d1b679d3e185d4589bd08e5844010a9e097a50b8f7e0e69c7302fd4860693409e604faf1a99dc04318ecce074a519b33284c324211b2d0794f8528d87921fbb839e79c1f446bdbd42147998bf9b619c982ece654d19f44b42b0e85158873ce392d007388d8c41c229408cedddd6fecce5b4ca56d93bb26d17c2f03d1a70a83ef32107d6c984496aa108b58b0fcd4c8874895e7eeeeb8d780a88b3460a330051f1b8aaa7bed03232733f04a553ea9af32b781b260f56a9713d66ac6a87ea128e341e681b5ebbb52a2c48f3420f8316b50a3a6a36dde3def4c4799c96879535a9ed3acedb24e7b2c1256ac4fb5ab7d34c5afa782d6d21efa3d15f4b4a0ba344832721bd19d8ec3fad42aba3951967f52b63dcda3467e6b41859384d0d82e5d616444571855efebf262c0c101451a88cddf368c93dc4d74e7f720bd5dc23b1577feecf9c6f79b0adb75a1306bbb18dc220f6aadb5d63ebad53e2abaf3bd99960d6bb030b8d98c28eb484286142e3c3d853d853d3da5087b0a122408ed690c4b078f143bd4ab4e28f5be7e7d1e703cead54a6568c101e5d135f1e8a44cbb8e3a0f344f4f4f4f4f4feeb4f3c0a65ef8d40674fa3d8dad0912642a88e72344889f9d6b33eaf209e203c427061f291f1888f8bce0f3a32b883565caf8f808e21325830c3e3d7c5cf081f269c187059f157c78b88f0a4f3e3b7c9e7c9c7c52f0d151a64c999fb01e2c251504839b0dc7580f1c635d5151515ea2bc44457989929292a24949e1f02776ec34f5764ce9feb6a27634d1e53bb4b8c70eb1a8a8a8a8a8282f51525254b329c81e07058935aa2ec1ed6d45759ca41e52523448bd7003f56bb518b267c02c1b20fb2a19e9507eab7feb4f805974c508c148ccced266c30d6353e52c59046941881c3e86886327e5b7a930f5cb79e7bc09e710bfd12462f0959ae62d9d50f687cf54d6b17e482e29f912381ad5faeb33954bb50580ffbd0c905cba6a52c6f7d56ffe4b20c954329553e6a206d87d0df7c81cf2fbcfcb6f9c25f87d8ef7e0339553c6802eab7721eb088209ab1224637863e84409922168a0a3f3594d8697e0f3ad02c9a513ca4a49f7a66a6cb4fae5745d47bf19c4fca82226f7656977728185b17fed9cd775ff9f32d6b799ab4e7d9b540e4045aa6fd3bf49b739175894146c04d5b729d5b7e951a6fa36bbbad79ccfebaa94b0a3dd9c73521c93557bae5ba7039b82d57b74ee9e6bffd734ec60d0c7f1a55ec2d947eeed23f5ee76f7e4f6ae9be1989a47e8978e94299db7561ee9ad7d34c78e3af5ba198ee972c71d7f4729eda82d538f806181816310add239ab2de2091a048a0f8a94db240e24690cdd6e2b4fcc049ed5197599b5ede1ab8260a5602d628a65103c000fb90a82d58b6032b3623d400f4ed50ebd156bad9636dec97524c78b29b098cdeffc2f20ccdc754e3f1ee7ba721551e4767976d1e7aeac447ce008115bbe4250e525047034b894b47959b9db5f57b7872887d0e16508305f4090e40bcc8e2f60c478856132bbd0f6729776676ec7a5ec5eb44238b9ddf7745fa26e17c4edbe94b947b72371d476c3aebbd8ad20064078691200f1b29108c58619d31bced48388e17a9777058b0917b82491212a8749a6881b70e264959902664d1426220fae948a5e2e97cb4d95f5ba486db8f407fa8317176c3ec10898bbce14757de2ddeb59b6be70d170bdb8b8dc68b922c4161aa8dcde42e6fae06cd4c4e2a86d484510666e3f9d52f68b5c8cdc0ed3c5e9f607f5d104419731b77f488557d5ed21bce48e766e773826ecc7001dd2362a93a9b48d79ba077e67157d9e7224ca4ee22af394d7e529ca3c75fd02bd6071bcc55b73832b136901f3c60f823b3b3fb8e7213c3537701d2c8e85305d16b28149c43fc92a6a8223513246dff82b33ed2fc798445c84edcbcf35d8893bf3b25fed44a2418315303137516ece94fcb48994c197264e9ea88246aa89d8172e35b92577fed69da48dbe73aa981f64f42a569046b72e768a3b93450975768f4371fbbbee67f738151e4d45234d2cb915492d3878a1e628e7f695dced1761021eed687f860ebd8d59f4bd95fad39e71e8f891de88731b17e7011ae2edfb2a54ac68c18195202096ccd41695d98cfca049e465c5316056ca30f3bcb36f8f997a2b4dfc418dfedf8e87c5255deb19a0b1492d946aced79f738a1f8a640d86ecc5f740f622c9747dcc1971fe15f498ae8dbe2029002eaa3da4adc9726c2e93b99817316488304295acebb21cb78948dc7ea32035b7bf7db858be13067f0882a04c46d660d497bd07f565f4e6c8c267ba3edae81b9202e0a21eb146bf5eaf9abd75a419a962c50c0ad31114a6d4e064454dd41303f0e014e525882830b02955ace0b27f9394548451c24354971a90d8f2c2091c117c40cc1218789462cbb2ba90bc9ca1534ac46d38ca2ead4ebc8e0b421aa2fed3c8a88f9883b639d20ba5363851c889c5d17ada466941cf94acea7eca18e0015247d2bef1bc5ddd9487f754a43d6d9b2dae531a2d6efdee2b5902d3f680d0527a41812e4c70a991c24291b23f8489643bd204479015a6ac208292cd87e57539ec3269a3af0668d706ed763fadd8098a470e9426ab347383eed9ab6be2409acbcd0d2cb8fd7d6322b1d3ec2712c7505293a7709d6323375866236ca46d4d29d612b6a254dad6cd357fa6528cd1247bfb4c65f80df9acda66c7ceb553ebfcdb5fba9211bef84b5732661f7ecbb02f2397ac355a9a7e2397a6fdf0ad256bf5759ea9c4bdf8b39491b54ac6686aa75c8d92b507cc5e6766df924bb32b2f5c3991c390863212b3aff3573266b505c8debe0cd95b72e98afe125965c85e875c9291b3aececd52f6b8a92523bb980c92334480e0b8402e576e10839de555093962de3794d73cb206f7cf6ab09fd52d8bf5c77d5320d0e02c30f8eb57b286c7897399bb19e0e7fc37b593c55dce626deb7e213696d3dcfe09a2d8fafededce04d09d6cded6736930593554eb61c706cb22afc6eac72f26f48dbfa9b6a5bff5895291e3958a6c6d074339e8e55e1f337e548a18f23fa5ed60d06f31b25fb81c0c7751fd6cfbc05325fea310bdc771c6512716e822c4c38ce45b9cd45fc95f4b8883fe74bc0dc738d34b59ac74f7f0b517334b9a0bc707f6e7f5fc1ea2376ca7ce6f6541f0dc17d56b7b9ae38b902b893eb8ad365199338f6a2644741959d5c3dc274cd38d76bc2d9b8389cc8957ab5ed9bea5bbff74d75793f7f7d534cec5f5c4fddfecef5b75309341ce1a5cb1331a029a2ec6fa989a4801e5c5120b892439312653f67f1b2b27874c03e5aac7753da51a6248daaf0398a95238564778d63a7cef560dbc93b27690c81736df4fdb0c0a6a04dd81ff6e43fdaf1d55a473a9b073089401968c5cb74ad5877dc4edfbdfacda31ef5d8b247dddf2379ce39293980a21d9681a22c573adb88173e57922e27dd27ba0fb9d2efc84a45ea415144de242102861b25f710860448124a7630f968ffb686a2cd60b9623514162dccd247e1f3b313700b080a680ca57c0a8df50fbef70fbc27c5ca45503539019b02070c0755a620f9614c8e17a24a7e2e3337c83137e8e7217de39789432ef3922aa16fce224432166361356bf11690185b1fe8713ca4047a67007dfdda033d7fc83938636fc4d28495010bf3e5d535b3b4485a21f4df832a84c6a0ebfe8df6fb42dad711571fc84112275e77a00f819e36d6d106bd21d961406497f99e79c20a86168845a95131d345c795910a865fdee4e6f2339690cbd3ca652496e7c3afc1087133ecbb7f4d270ced7f2048e268d8b855f68147c13a230c2b89e31bca1430b908c781eb2678c0793e1c67d8e71bcaac2caea176de9b2caea1ee8e375dee323b231a21b781dcc96526d7b20e507c2571e2ad1fd2ea520dc5df3efa88b97c28e3f3d15248f0b5febb05cf173cbfdfb2c4b8e002b2d68017227bca6f319a5a0aca6f7cc15bf057322a78a11712fa0b5e86d05f402e5df92ff10b913284de0272c992467ee3afa0a1ac50058f338ad124f4392a78a5be609ca5056305632d9cf21bbfd0580bc91a7c1baaacc1f2d72d0b8c9f0f3f9cb20f400edaa604c5fad33e2c81af3fede7e7070e969a1f1f7cfc80a1cde572dfa7186be1a7f87969632d047f68e0cf0fd804d60f0d7c77998bdafb17faf7398fe5a4e4f8bf700cfb79fef9e0d73e027af0c53ea23df8f35de6063bb9a44081b58dff87ec301f1284a0a77d387650c3e3b0c861e8e3f33fbd0344c104df54fa881f68b46dab514076d09702a0b904d48f1a2d2d1e2dabcb4ec138c1083446e00dd8d033009e49b2e6f3a1576dbc75b1df2773f1f36115abcc45ed695f1b6be1d77e5ea0b116becff30d811ee8a7cc85cfc85eb5b0364b625b8a6c1f6d9b208af5ff5e82af3210fc533ccbc07106f8402fca3ad8f90e9b32173fafd441636d5bf840231d6ddb42beb66d35a0f06b4064077d813885292921538d24d446d46c5d16baac460b696af5161018ca3ee8a63ded5be6e2e70bc1a785e40ca00f1f1c6b30bedad3be46e2c007224b602507c34b86a18d0c56a6abbe04639d44f57d467012d5f7917251fd14a3c74595e77b465c5b5dfea128611700b92bf4a4902bf4a3d6d815fa1f9bae269794ae2b44a2187134c46b9f07ac8f769ebfcbf4913fcf9ace7f4f6f38270b107428612e18823bcfbf6383de1dfb4e86646ddef075c80e4ce8fa6a1b33e10f3f041c995b6eaed874f91283416c0c06b8048153430f1c6468a1e4978de248436271f34d1a20281b3e6d896d3047e22e6eb0906c309e5d5426952a4d6290e18b163238966e284122eb051c634594cc4d8d24f4fc0d6571345adc1ed236eea9b6557ea1b1b7fac60f8eeda385b4cd03209cecce0ac191da47dff8857c0d6923979966f17bcfef8d2da47d34940ff6f9b98bbf186c224d0089284654ad69fac1abe4e7b089348f4082cbc718142a36dc507214a8be1dd60e626b54e8914418930d292c79420624a6e2dcc8208990dc10266a966873e68c1419a86098e2034cc9df502dd5531349023818a9f22437021a8694fc6d359126162369c6180144cce9874351d004d0f282f3e686e0054708df39f4372946082390508b4129596bc09323f82d4653087e9b1fc36fd3bffb2b19ded3a7f4fd65d0f7e9372665d0efc8a549bed73dee637c649347d6b8e7e7a8c177046a74a75192d244b2404b8f101441614d0e4094d3090895304b98e131a48572fe1c9ae40ca658c2da05fa887e1f09c6c10b0434d258d297413f04fa23f4d14fa08fc64b9f04b14bdf46237549fff36c976c73e9dbe81b512159e57c0bbeec94c9a042b24aff0263a255f62b75ff10ed105cb0c4dd7a8d6fc4f55cfaa1bb3fedea78fba2c160712b703b6c77666dfae0e36e2ddad69eb4c5fe4ed4ddd16171347a5e50b2030eeecc8aa5bd4dc97fae94fa5f7c5ba19d7e9bef8d937b1e3102cb8febc87c1ee8de1e58180fe49d5c487cb055f5b01aaed3aebbdfee7aa414a5ff0f893172f9297f1d83c2e51755a0ad70f983c688b905b84c6686cb5dc8b0b9fc2bb88c149d325df67219b0cb2f835f8411705cfe09902075f969309711610270f94d58e1f22ff57472812797088cb8fcec839fa5fa68721de1e4f2b390301fa4950bc0cb8daf1bd4cfe5ce3b71b59ad047b391185095029c14902862a4899209851f9ea4a0e1c18c0a63257536976a91e274e9b393469a95f48bc3341297f4b90ca721c5ca1afcf061c44c10343ac694d4c52ec572e973d0483b25a5b4a44fa3916849df061213912f37a204e1c213525d4ada437363afbdee45ab2abd583aa1f411636d93c86f3519b592b626a356b2facdebf75f258dea7bef5532c9c8bbc5e46efd174a3a49b47eff0688a4d7457a5a24e96df9adfeecb0b4bc2faf6b67c703ebb4767676be6a8774a88e8a87d56175592fc6187eb3c275ee56d6918d357ea6d9586332c6f49b377b25bfd5b0fdfb97ae64c86e213923978cfc56ff4a86b864fd565f46d6c779aeacef64cde8d605f8f7370024ebc7a81f42fd11ea9350bf47ef6becb2fce67561f98d005bb62643ecc74dafebd677a82eabc3eab03a2df741737dc4b702e528ebbbd3d40255ce728ac925a1a14c8775eb8fd0473506ccb2c99d727e0b3aa3bfb5d65a773bbaad3217aee4d65a6bedbbbbb51d5b0f14a7ac83d936c6d970be265cd9d4f1c8a9a3f353269235beab9365a74c67f661687ff63eda9ff9eb8c38be3affc95c58eb3fb3f6dd4519e9fed6cac81adf15c599f73aa3ff6c144171ccf970ac5bccc0711f7909177da08c75e0a2efbff1cbe1acb67d393939de0f8e1eccda47ceeb3efda2c89c5e8f1dbdef9eb894f6fb2741615d5cad2e3600a2d4f4ba7f92bfd2d656f7053a61ffda8c92c21bac3f87387be77bdf4568d56aad961176b60dfcfa392338a978a40d7aa98a3ea2ef7e7d89d7c8c066ab3c215c1225a6bca206e0d272a411d77d5ddfbade75fdeb3bad6eabeb9a48130c921fa0c800e40d13174affee6b226d0007336045768449395176601589d01f08aade19feddff8beb7d1fd3fd3c058da4db75a4d8b64abb2ced6d7d046a0a4acaabc1e0db8f03ca8b56496362710c755f6cd51756a650e5ca29e39fc1648cb65559dc0c23c1916ceeb630b785b92d8cdd74e118ea6e5d7f1aee5a5a9072d7d202d4f5a76182bf6f6d5528288672867a51e7cdbf566b73a40acc9b3f1ba3c9c4f5bfe14ec224f26728f667297f9e9a48163892a48c121ab872ec28fdd96a2221608b12408cbd9084530f4de414048e736b7c71e2c4e1a849e4cf2ecc227f06c1497661dabcfbe6bfcc3eae3f09fe17f037c19f73ee8256397de97d95475ea06ffeb80bb4cdfd99842fcbe1135f7f7ececf5babdd9a93467d24ce5fd147b51ad7876c34471a6aaaa124a517b3d1d6b77e199224a517e1281ea939600d2249e9c537aa186de3509724a5173dfd2fbca8660bc258ff396bcefee5cfc1617f6a08086277bba9a9ceaac3eab21430a58a530b53ac5041098008112245786841091d657f15fbb7fb69fd2147004e982e4ec7939c9ed3fcdbbde7a4eeeeeeee9e139a81d7ed272fec898bdfd059dbc6766233832e5d7353e72f9f47bf26ecce9d5a58d88285051dc05898a19295051cb5a66012583509fb73a79615ce4c2eb4dc125db5e67c4ad8fa755dfdaa885d521ba7ef860928c866cbddb5acd002d09b31f7f7f6da88b51973db44cf01dc7cb93b8f30140778e35eddebe775b35ada837959da9d5a78745d9cd1984571a7161e4f2eb8938b89114a6e3fad96e646dd9d161e3934e8b81ed5bca3b6c728ed6994f69f64a334a6d9683aee4ed2d0fc8925aebbc791729dca48a332e547052442bced9e93cc0d20223537ba7c41a1880642164ad3f84d81cc05cde518424b2e042d2690b9e8ee8ee22581f7dc7594923499b55a6e0021408d790a1329bc9ec0e13a907be74085c98c472a090e3fb428ee706e74d3684eb0c8246862082b1f9a0f4d7e94828e3d4932b686450f8d52ee8165851da44881713343d96b8200c992e3da810d1767020820146c6d6a0711d7dddd1dc5f32002136f9e8c2087219ad8c1e3012c466489ea62e10acb04f37425ea08103c51c1071fa3326467878922b79f6229fb45db430b1ab2a9b046df75f73838b414f9f25425cb49e9127042f301353f80bcb055ba2f715d4a0ed77d4a77e35c6cb4dac470fbc51e657f0f2de8875418add049626a7203cc88246c98018d91f9a5c5840e9837676f9a726883c3edefa1b9d171fb83ba945c6e86c8406624822868663cbb0d446ea2861dfc7bfc69fe41feef3f14da5c035c526c3822b6c48b8ed2a715204fa0245973a50a87d25d89eb4f7cb84e2bdddf302122891e5c499c0952b612399410731bcc124e680e4ea1f243918cba6e5e5fc2ebba95d2c78290df93a61e2e92d4552f4f420bcc6c4c87132b52c8414b0a70ae535ad775774fb9da41820ef9a225471333c470fd835c479beb6e23c19dafbfedaaeb48ae3f073c30589cb55a50f8ba8de3c8eda7b2bf470b8e1dee96261d61b4348d69a330ee3e653035b10222c8921f5c74b0b14a02470d1150319031e36fa2a0502b2925626371d6c21973fda93be1e43a10d79f48e10e710f1647bd429021c293162730b75fecb74a6e4795ade5a90a11b7b5eca0d299a2c71b34099a4493df8a15cae2eaed201ccddd9b1efd78da3ad0fdc743b8a067e1ab09b4dd08b0d69c9c0884a1fad1e507313878b108d4e8a086cad75aabfd4870762797d8d497657a58cd206024c6ea5b7f53c02c3a07adcd1926719c35e6f67b887b3a5ab17e087a628e54a3cf54f27cbf37e648354ac6689abd4e177ff90d4c4677785e8787dc2197ecec75747e462ebd0e0f39ff67397b9e9fa50e590b737ec7f290de87648c26fee2ae1cb2f600fb3b969c3ccfc3603cbff357322c0f0fb9749593b363bbdad661629e989837f6e5fa3f2710c4f7687d1ae215c7123c1071389c27c2a54f95bcc6d2552176b4865f90f4c6bc376df3c482f0c46e770f95a92104623a9e7ced289b092b8c951b2a2e08017344d94fabc1e2b88bbd3e8fa5643058c8ec62300e830a5b27cad2092cb892689557feddff6db2e63f2ffd7e5a67d9ef374a52ea1f426589d516225aae7c61baa2f274656587d810157ca8aa9adc90e64b4e0b19229c90e092c6c98b0c095f86500971c26588d702c6c2746461820d0f28139cd8410b4a115c6684800010449e8c0911026c4dd9df4feba711b16137d6ad3048e4ca7ea61d763cd1440e62499aec281b4c07285ed0e490d2e4498d2187915c39abeda7795db8d288ddc995c6097927579a2cb7a1fa28fcfafe203f7d20289bf3342116c752d77f7a3b1180e3a46df3fef501c27a538711f185429bd5a8940c99ca72d221aa1101000000f315000020100a074522915094473922ec3e14000c689e3a6444341307e391380cc3280aa220886118860188210821e290738cea06b402cc64a60b2390a37c974cbbc3aef182ade98f92463630f05a5fedc2b5a85c08e8139e61dbc9c2123a5ee6d323dac8384e24947a85e7486bb6454508071129f1d4619e5fdb6c1c1fbb0dabcaa2c97589c6eebfe3e1e8f20ac3ab26ee0823f27df03c5e789767de72e41797682bf9a17d1382110b6aebc98e885489c39176d40a0041201f98b578f96ec26a6e653b925e1e8d88a6377269d2a6af2bdfa4b7f5cea589f4624d7db6767604b38b598b19a96b9d4a36972a27d015e1cd4d2787b85c498ccdf216a3a80552b18d713f235b8246101679e9f66401c93f125a58c2fb5b9d8386466e157b2a3d0a469efe1858b984f340dfad77532aa7addf2588ad9e758a6d1920c2a35a28c7303365ae6391c9edffafde7a7e4db3cfb68ab0f6dfaee22ad21de76e369f9611d11c62cddb873769bafb2007017a72209e7b4573858ea82247104cec82d52a630bb47ae04a9abbce2182d20e09027c0d254b23edbb34b4e7a616c6a9166862442171b4ab308918bb8c2350294f33098d39a79baa687975756661cc2cc18bec203fdb6a931d9cbff99c19a1950fa259b4ef8d136b51c2c9cf9e1bbf622c913e6e3812cb0208dadbf892a18a4486bf759d29e8a6dcdc40670bd78b65d2ea8f8ac6c6b728a3e346db249131fd83759e337a581c2aa8d3ec909e5d964e71ca02c9ff242f3bcbee2af1c4dcd43bb3a983f71c979a2aa48e0efc4c154991f9e52bec2e5e569fd0f6027305a1cb899936c22a212f3674130b40bc8705df408278b32f992bafc3fdf780a4af23cfe2cf55fa0005c1c139bbcf09a22282a48f3bfefbfc3868eeb62b0c69c3ce047fa858464015bed72a03496d3cc60c986ff19805a06b04c812220e61a22a61aae6baf4c45883ab180d1d42aff791ab063dcf4fd04927436cd8d6f7d3a93027556b97c699eddfc000c801118ed17c62cf22db09b23669c42a2b801d602ec333181021ede607433cf1a2fc35c338848ae883c6ac39081f5758775b9fc6c6a37c24ff434ba164f7b8db2bac36716c96e9e455c7b21b1e71793cce59ef4b0bdb13762e712140d27ce9b84f1393ec0b94414c9a23015fbbf3b658ef6b9a04288e008280b5ce50d88f060531b06d5ca2d0607d7fc3332047114f82f437e14d6522ba9b5006d814abaafee814776df77a7ee28c3a857099192cf14df60231db6ccba709f5d7d2305b2440e734f2aa69d30443ddb5ad2d517b1ba5c5ad47ca8cf9802e149badc99eb19dc155e2bc98acce7a14ffad35d4d778f11baacf23b901d58205a13174de778a61e9bfb5a7fa857b6faeeba72853f8db1bfb11fd500f77943cedf86c5b30658f6a00d25cc808683421c23bf2afda0a71f928fc72be0d225050f6dd80291b50a4483f066e82810f6ad25f1340a3ad8651f7a363680c86c233c694c69d1375f635bf9e49e9bc1a0c05b5ed4e6ccc06ce439618e23e39692a186bf0231307e1f36bd2372e2e6f9983c5c83edc0a3acc867b2a148f64be384c6b912dbb9c0d8f87ebb7b80d008078b3cf1d83e370ea6a400e2aa4221a8b5b1baa2151ca9ef95811a1f88430d5ca44b807ab112808820069949cd50515415e034d77280aa522126f5da8b9e881ea4902fe8604c93bba6f9067dfd9b18b8ccbdea1856a422701c0ca44b22dfa8e314f06e9865f7afc5b1014a5bd69a290c0e76a0d7b99912ed037ce26aa720c6636bd0d084d7de5b36c8251a12c2ea4605c12d4a48f7cd02f0081b9ab16c4dd57ed6df573ea1af385638fb2d9f547118bc148aa3743035d26b7a444b8fe9152914e2129f1111c1e26606684a0baa0a523f32d843c26ab31625d82d4cc4fa24778400bc10d1409b40f30d4452520a248292b8590b289018b9383aeae903ce98be1a8613e328aabac3420d4af48f0cb4d42cd5dd1d8355418ecc73b62e1c62312f2293426b63afb17c569a625c031013e7abf3d31da141b235c2ede719fba2269080ff230ea80bd7291a70ec999f748d455ce8fa223aa8d6d943da2605c9a80b232e41468909f120870048fcdc3b361043694a151a322ebc7e7010226aa908087d4c9c9b118695c92032a0e9dd5d24c529c02ff4303305548cb15e667bdbc1c95667db7219941320d0118dba6028171342dccea394f94fc0eb0caa42cae3ed8dd33a227ea07020584031b4ff9004bc952525aeefd12cac953287fb7d6bdfa057407add16a416f5d851a164a35c1383bfc121c33952458d2ffca7176fc24fab62152f9a19553621dd68b3741bbcec6e33e94bce8f1c3aa704d2f04342bf69f40421ff04a6ba02f00fdeee810e6adbbd53a29704a18e4d6758747e5079cc13233632e8603777deeb04293810ac431853e771964028ae3cf22313408fbafc1e4fb70b4302cf8c03df6178b799c4f4d15e10b9248077f544434e08fca1eaf079ea755033296cd9550ba8a2c4ffd4d3382fe25299f3c2ce100641c3dbabeecfe25bcc9da446c6cc7926348422acd639c1bbea2495532f9f31d358b7c30fc22789011d13bf9d57fc6b6b15d6e1d8ee095fdecede1a1c690989ec4026112baeddb0e64ad010bb28d723bbbadf8a6bd48a4a0677ebfb882fdb042ca3d79ad7652b61ae43b8ba03511aea00db03046342edb782b54fdc2693e44f51cbc41cf243bf133af9c0729bd3fedc3640097779b1de020adf103c54945bfcfe0baf8b6f9f7f9624d115d498300d4b3fdce0c700dbe3c75db8660ff5fe78f3956f9156cefe4831c7ecdc237c03dc69ac6b09a5689d88bedf7e80fa5c66b22fdafae0892e42cfe807a73d57b6044b04f232a2d6053d3211fb45ca7de98f3228a1c0344f81eacb5b055f66486d22aeb0384539b9ffe42895a4afdab2c910b971ab44616b2f7156a197a556ead95fd7159d179e239193c6e6ad914943ab36668b9d0492430551f5002d4e61e0fc65c4dad58b05472a138506d08d3588e409690597e178c79044fd73606edaeb3d1f0e86b9913e09aa1af20e4baf34ae1802dab2a82900a3ba23d8dfb18f3f08097cb954f4e1dd4918b78210ee0f457e928b98b5c658eebb695c59c2a8582a4c83648e9e77105ed5fd7991b2ec9f819fb8ae59557481cf228e1d8aa22c8a841e46a176c8d40a31bcf59057690113e494818a41a419c96a7050a52c55776acd5694cc88428c7da3ce2fbc6f91b80dbfb18ffbbb65e2764c2c2eed4af5897a2024e59ca2c8a162ecc8ae429dfb357f7e5493aee85147b48bbc82f16c2cac21cfb3f1ed3a8b5c60b57c95c50c233aa9fbe32f5c6ceda29bea4a7f59380bd45825817b60f44307398b67e2e10748c36880f17442e79735cc5543b093605068db034617cf23bee7a31844d037748ae2774aa14066569fc869d2dcb3ba4894fac7cde16f7d50c6cdb63adb269e0bd33809602830a6f60be5bfb14b9bdad77455078587c12e3b1a0ce9732019f1005388eaa7412faa143e76e0542b2b300e9ef420d5b0de59183fdfc8fc0804901ceac72472084bce68591e429f43b835cf93e2f18fa6f693738620880a5c5125b0be5c022366dd498f633073a1ae19a0c4f1d1d1e15a6b923034eefa68fbb766c31653c0a303dc73a4277a59bb73ac08079f0ee2f3b1c1bfcaa24a0d99e4740cf2aba9afc8b7c01aeb4de98efe18060fd00894b2e66224a0af5b02a219e584491f9ed3441feda16523d464fe661fc433495199b3f7a2c081302b5c43c89a4f6ca5b630d9868c44354e2fda90e475e646cddd97aff9e91e4145201dabc408b10d2d36bb9084fe28722d42eb257346888d9be8993e34b41de1cc2270241af815b424e5b142d0eb31a1c789637ddf04d3c8b5050bd7e3fe0bfbd8a2a44d55871c7ae4b095a3b50efa031e1e392b8833b3fba5102ff8afe1a44aa1ea6de628abbd0373d7d6a1f8356c145412354fde4cfbad42dbff13d0436350eb703b7189d2510b63b5245eea655ed830bbce8698765c30bcbee96f002b930c2d6b32bdd89aa25aa0c7bbeee5720c1b6031413a44559f405d66e3d8233bb14818a136785cf47c7509a30eec3c27349715580032c0a7683cdfe461b37692461113728cb8d66e17eb0dde99d5eb8d05e04fd4f8ba0fc9a2ab519170358433a6b99fcd972904d2ebf542e6751b25b1c4440356fd563b57f2f7b9915a5b6af6ef8cb5b666ca319be1b734610da256c2104891c3ffeed287c438fe261fb4426c35926a03800c08a39dcf44083d679b8c6404e4e8caa820b0b69fbe70fb19b3bcf23e6f5ff9ab52c9925fe14836169132c83e26b9f3e6ec55f83f72093e83dd423b68a403d064fefe810629f7b29504d16ed8f345db795eb40332e19746ec16053b30b96ce0421f67e98cc10698d335008b1ac2cf67873a763ae61c0968c76f9edb50fb641702c0e855937cb970e6235279e26e456db9a003fee73b8be4685d07f47bb395ff601a9b59146b7c690a2d2ebe31345ac1751aacbab005ad4a32105759f11cbb8e03af4472d1d3af5171d7a2e457fef18695108d4df2385be0f55f43ff993b2024f44c1f357cc6c6fbd9f6bdc38986983d4041d974cf2e847a2dd3c7735695c93254bb0e50269324478471e49fe59822e5595266ce780c30f5ed1b027542ae0c244e5411b9068391f86583fe05891ed1fe68c68b153caf052f62cdf3ee88083f7bef35122b252d0edd6fa1a40d509287ee285953cda33d27907683283ef141965816d090489b342bed4de1d0b6dc86588578a2bf9386c6c676239538e9b0a7f6f2ba000aa381f530a72626bb130323b02040097eb7b3891000120de97b0b155b6e53db8e8ed8b1a1aaac3079407f516bea8cdcd06705f5e15524d8fb486723455c54b418e0bac435b2ab9ca4893e6eae31742430fa6a0aa92983f07330afceb411b7805b0c09dec885869148c63eb1839bfb63a37ec95aebb4573870ecc975603ae47508420337ecce9c0c3d5710beeb7c9117012f683d76a18f0d6f22dd39decc08f65a11ee2f7d187fe22fa1bc4e29e84568b542354f8cf6a81d74bcc293c74c74411c921802bc9fbec85855096eea501ad8e40fd31cf095100575c0589b806c70cedc2f82e1d7e61f96d4a34e2cd06771068abce370e3f78b33d6a13a0f81988789799b68957b8e2450696616a72ba2a17ddb799a55acf0e2dd0ccccf31bc15154fa5dd3add79253d405353c59ef67ff797e606e44e484d4ae6bc0391eeebca8d9d35d9da91899a3aacd28b8d2280553c9feaa7f0980fb30b970e430e01a7af8f162d7fbfdbf0ee1f3b485e532eb7640a9ff3bda05cb028f9b06e2a07267f19055c17e7dee8c8d4538c921de1bc95931492eb72f9beb0362de6e9443b5af893b1b2ef80dd513fcd33d63bed72367ef93af3edb3b008d632208f92cb548bd279a5ac5a26936aaf1edc97ecdaebfce306ca6ce5f1cc3d0b26769f908ca867990e91c76abb49ee9ec8ef40cbfd22238e8637caf089f6277340eca5d16515569d17bf2ad95cdc354ab51b6e219365d71292ed18df245ecb977bdfc87caf9806dbb89d9097e809de1a08c25e69e14f3df220aef38fbe3c0ba13b5152b35ffccaa5b9ab5d419ead3337d4050ca39e1733a36ffaf39ad1d0c7d5c63da9a826fcd17f4d59238d2cbdbc53682540de031d8efa74d532226db9ddd7a6f6d26999513b15ccd556539e04893317b465f9df40a55fe1d0c212b1078b1b1b52dff0d0a5466f85cd9b76fa9adb0b7598826b9edbbf6d4b4a8259d41da1e24bb3c573c6cbb2f85857aeb33457eaf1c002729a42e25fe67b5209a2be982fdc3fc2bba6ce49efb6bb93ce7d3348a2bc50e65be26dea192adc0ae9fef4305b39b212d7b2568451fdff334b70e13c8310dc2476ab2a8544e0024d5195b497df25e91bcc9795fdf86406fc5e47129835f0fc9fc69da0158a6d2ac0eaba90bf809eb544bbaacb13d017000f1498c1ec0d86eed31d4934ce26aa91d9c9ad4bcf93504881c0c4c197b65ff5050ac38269e6f6ac82d2404b22c212cbb2c68b4cd46c3c04e474c8e84eb2727183af9fdda0ca89c5a0bdad45913f2ca15f30e47726533a2718eb20358b6afb2dab302e48bc1151b4facaec567e3410f1d745c352bbf613edcbf88c637f360c0e4f5cdebfd394b750f6b6085beda0930d0ac4967f951c5008767a7a03e8640d54bca6fe4306ce32f9040880d11b9a0e2b42f985ab09fd2d0d359ff045516143fdd0645bc555b1ecb186545e88eeafc1f36f1333829bb246235a905a20573881333734b2cef30a805f9daed2ae6b90698411b924aab5317cbfff9e83328fd4d11d89d3f62f5478c5957f983c878d19b01613bb80d19ca5385a32874a909d8321caecdc62b251f69f65590aaa51f4d44d77b7f8d6c7202637de9995a3eae3e3a056952b8b1e6a0207c75fce6ad3671cd4a3926f7f9b5759ae3194d0e7a2298527ee62b901f533ecca96d2e391810be2a77d8e86397de1cac8f72c4544b0bb6926763a47407b9f2d2bcc0dca26ea54fc8af8b114ef710eb3d23a6fa456315d430015db682742e09dbc50d76c4b4adda0ab3a88a2c04f437e55bf9f0155c37e391af36a11eb3185c8444150b8076e74a13e8f3d0e3fe6703016acd2fc80bb91ff0698660d4080d40e4079760f6bc6e215e216e223bdec9718f0e50fdccb6fb71580fb3a8da8c8bba1ecf4ddc7370f47f3ef091280e471e714e369e3aeed91b626490f5d09eefb3bd8257fc847bd46cac8b5baf6e40fa498f19179d40bccce0cd04626219bda267b66eb14dbe6635063c0ff6c919a5828111d65d7fe7605ea6aca448a826d249b2c62087df9062804a53c094144192d2f650474939791b1b82b28855b9293459b15988d12b24a27767a0f4d88023dea26ac5972ee147e0013f3bd6009afb2f30dcd4ab7da61ca378d43f00a981f997fc78cbaaf5566642e2fd982524865625cbb602bd8dbab9d66b4ec77a3062ceff74f9e0f3a7b751c8b84d670e7f2c80dcabedbf57d53d7d0e3f67210e4ba8de09605510ec6fa218e1e78e607831866d8a7188071a01572c48407af90c59195f448f4b4d351da789ad71a3304f90fec27c53dcc084e5765c4bf723a5e8834397281eb619ab707ebb9f1ec05925aa0eac0a59ed6cc774325146593e714eb192c912cfc159fb8a663e5930e2480504c424244e41ae0e18c996ed3d7441569628641aea35fd52925a0039c226e9b58324e173e0ae700fde1df1fcd5126324d98a2bcb8dae21e62223b5f77c796531106020cf7d42fe1dbae07537a6f9b6edec92af5d21e7e49e7d6567c9cbb3aeaf67126b79a8ae8b559e86d3338bd40dc8aef08c24cad1f36d4352c7258b5ddd03aa82f5c68b26027218c3decaea651459080ae82ba82964a9b9c4244009cabf1bdd8696efe32051384ecd0b7aae485f3b8b808ee0e36f4d925308e29cb222226dc4e585dc500a7dbd1b18c04b82e79b33d3ebae927e210f98dc552d8c7528e4cda935f6b87fd8ed5f048a1cb8c807acdfe21da18dc56e782ad4cc57ffae7c78a46fc3fafbb13a69e9d1fadc97545db0376ef6864fb31d28a018648db586caa6c374a117811d9594d558ec39f122db57a180a93b80115072fa6ac261c1539d02dc6e861c321172ebebfcd3ed530b1930489bf59d9df8be9f96b658e5c315658a08118f3968a27eac419f304c2fdff15a98407cadd8ac91d3e64fb61f20c8944020b13666f46a7be1a205d9f203c50c2d795a89b3cd2b5f19102a028f4106e005083c8a9ffb257ef400aa6d00af27108e2f980b96bd517a39fd508eb193d0eb116cc91051527505f960417b90d1a56290f075d76130490259002ab956e069c268fbc1a007a3a2664cb1e216a0a48d9372edab741e363d103b57964eff6253831030a176e59bc0570aafbff5d33e44306fc0b07cce78d72f0c853cd348710447f6bf4975b128411d087bcac50075f0a98570909e49c716fe49baf207d4727edeab603c98eea24321065a5fdce209387a83c8aad2e09bf38489be9c285da948b7ed95d653d9fd9d09bdb370fa18fb9e838e31e0dbf4e74564e30bac4949485e60623538fa9c74d80012714fb9b3b30c2420e66cd5da445f2029c556bbacc228d67e2239ec9b9859d29943bce2c154364fde3f1259804cf76c8f0a98034c7677da46c174d11b998af7be6641c9d89f10b38cb7dabf52cd4f034ea417ae4e7aa520b04f5c7d250be4b8b1267357b3c4e154712038c24d2aa4fd27c2af4805913164b1b25a12533a8e46252157bd71a454d7ed541dcbf2effa20dcde64941153de4c159b1ef99838018a6f4eb3dcf801e0b3ddd0c857ec8d6e3e54a7ed996b84cec7189752eb03861d9f223be882d85f8bc6c7245f0fb153ec6945304f46b7d05cc1ef01c808c027ddef3c1637060a5a4f82f8e72700986fbaae6e39b401029a8060042b9c5ab3aaa3285449dd0cc7762887847876df633d7b8e31d5e80f0741420e56843cff0f807291f542264bd33e1e9fd12dc4a02c68312e7552866ba710e00bc9487bb2b0b5a10eeda4decd94d13a023152367dc255c4c920db7787e7b70e7466c69e166e605958827789e4a1898618df0c0af4ed2980056d099f1d2ee6cb867a0372a5dfbb8a21e1d8d03237231bda609207a9b085a2884206c1f13a1d08811c666ff101a142d850c768deba6f8b86a5a321a841d086ec3a052b03528f39fdc3058266d00e7b4da337b48b3a090ce3511fc64bf0fe43aee5495cc37c31190e605f746d4a7c31198974b0da024862630403aac3df6c811f11a0785030e8c354f13483d3813bca6a10b6893eb20b23cb569356c3d36be72ca1f0d0c1971b9963f044ed0055fc3b988fd03296047d454383229bf2f4682a49212be1b3ec495214542388d0ba56453fe10badc5e205c013c8721eb440c481e70d74e2819de8414b5fd7d3dd9f5076ee51155d82c13df8b56c76cec19657980180f37d2862c2f953787a8aafaa06010dbd079165d570bd759ba26b7adcea6fcfe4eb05852af5f5a2fc7fcfb305c077fb8369449120bf855fd4dbdbde9c6e7afa24c4e8dfeae5e6ba15e1e20739522f527f83e90253f6975442b5feeade49ada28536731a8022719dffa0cc790fdd4bd5fd11a7dca954929b168985a52ab004ed4f4fabb2baa53be4cd4c2a4f54065259c8dcec88bb5d5098f28002f96ddc4a2eb59f6637634453e35849bba0c694f542331d403e9695f75520dc65fdc78e38014018797883141173c83a65ca43a2ba67d50fc87ee7493bc47f0cf776220498e4efcfaec0522ebf2939134379402e60dcc47bc7ed5ed5f7a9bde51dc5a8d24d249b70dc1cf2327b4201f4f1cdb32da38a012dac67e63af4c48c8085c518610b213525b9843eefb05400be1307c085f6ba062da120f1807bb412e5748f951eb38c09494b11c590b264c4f5411c30f2a9a893390f5505e7f4ae09ffc64663e0da42589192247f556e19780f24ee95ce3705944f210d3ffe07dc27bea2bfe90359fe017cc186adf451d25a407403e9a2c85a0077c88187fa74f5df13acff2fc45e0274289859a06be7d2a677ea14dfca1a749953fbe9205b09d9b2d07b2a314bc6d9970cb97c29470fdefe843aa021a0bc86e57a29e252b12c8c8ea2ddf7b68c688162017fde5bbd9bc3444ed7ed191213a2e5dae97a5d1d0e5dbd71d66166d43ac16e7c0c8561129cb9a0d9d09a63326bd84c128ff4cb8ea527af41c3c9249f9522801af2c66980cd2b3eba1df4ec84cb2a608eba056079b5078223af8839fce5c8f587e0e53007ec175e9228ac1ca942a47e4bf0504251c0c994cbb04c1f484bac6e843b8dbb914a8eff129862b8f84428da5d6143d43990d312c77b1a8cdb7211ceb3a23dd5863c64fce708d1ead6f3061f7c97dad3805914219a2caf0411a4e74fc6165843ce38f95eb53e4305945b8beb41a7b49ef7696277f5c2c9e1c82d71f10dec49551ac10b86cbd54e077f991304f562e0ec3f4da36edec9819280921320f9023de3b28b1452dc002429dad2a2e459e7dd9b4f1eee580d0618af4bee516ee54265442ee6d107bf92fe521ceae288ee740709fe40864e6fef04372dd51df0c8d533255779e9142e126ea17fe8b87341bba5c0fb10a797463c9a1787f5b045fc7a40267ac4ea1758c3ee9038140202f5dc1124acbcebc2c1c0c6f28b2b65082d151397e15c64ca38ca1c111028d380b3e6b67d60c77fb7ba1ae7e04a2d164b599959ad6bc2fbc54a3e7025140b66198a63a777e237e1c3dfa0972501208a75768623806607f2f92181eb09a4c5178050696b6985ae658007caeb0b9f99d579c5473799f7b12a28b287e0c2d75f2b030cf5a7b291660ebdb080c6b2bf34d69d50997a0b5fb40c0536a3ba9ce9a6dcf50ea76bc264eda383af1d862170b3e33d4f86564500e9c445a002b086c9086221514089d27e2a4bfb41e11154be9637b1d317c663ed1b8b2191320af927ad81952e035d75b9bd748e94f81c2b9212430c8f2c07a3a991b024ce805d017ee8faee2f5014de0f1dbcf5942e870692a91c6076b76a175c983d552c8d07adc45007d0b906a6eed4207a9e2485ac35ace4ed691dd9bf6e80ad42810e3061b7080cec97aaa9b86949030a8faa4d011f3d009db858046ee6936f12826355c2010527fc607d81159a2b4ab45bb12e75364ba2319c3ccf7e06232a4eee43cec091efcd3f6662efa2e20382617f81b33cca408ffae97259f446b90be8cf720191f93687370371ed4e68410d3cd7d39deb21dc3ff06df4f50757416fab18b4861bec3ea00f69be571db4807de3f141c2028f721def0a57d48eebafa00afbbf6e1678cc187cc0c309f45a37f2eaf82032730431126026a74b0fee8b626e1ebc776b62ef3fa798afba321a5f0ad99c3f90852e567c44cf586dbf8f0220fe8c5b90ad5f3a2f69142f57e8d1a96dcf36acf287b99ad7765ab8a49003d8718c98646b7c7bb0f4dde3ec258fcfa3c955df84573b21b646352ddf01635c85cfcff8433911181c2c24c011675b057d21a62340be6a9f5b60c289c7398787e61ce20c47a0b9245b22a4546e234730762e02b22f1213907dc213e1d01e799b00a1d3ef59faa4817a86157fc1d3560e2c1b5d891746c09c3dd0fc6650819aa2e47e56ce33aa702fe53f93fd8fd10a02fa8790cd6770dc5a3c1842e68643e9046c36cd2f9ceaf9f8c1e48effe57c7a230fc01c7f5adae01b9efb47c51090c085c740693a8531e9d6860a73b36b5c6e1ec480dd3aa0e8ff1a7968ada4c1b0e9e343952f2d9719f6b0fa88389902b01d6014d1b7580ec947b9f8ffb133e2c9bdf12077f64f1bae3125372d1526d02f303c95d4fc68173f754d5b080f9e49f8c360b8180697257d11ff04b79fb5831ca4ae13436ef2250d05634c286e5d55c4b8731c93ffb9ef1261244914dde5413bd809215ab0c426420e15c2e80d9008c53d88c6317f501d7062bc0e0d2402042abb7ed071550e19bba18e718920a3caf91b37dc98222c47997eac3e466727a1e98bb7b53c9b64b8b132c0f08512e6321a1db04d60c6f69cf2589d98bc94344f93e2846843f5da81989b86117b93d3bf07ec76ff62787c085bbbd45a87c367928dcd3cd2b6f113fcd1023a2e1525a4378be16db68445d8eb8e177e7cfe45c9eba523475cc8a8a15b3309ce2e18bc2efd0bf18e4b62347a9d97b88ccf4fe224a54d4285c6e225fba8c7845947c4e6d4cc9fb2bb0a083eb12b5ec5777580cd11f28e86fdad42ec0a956e9fce34db8d4cec8819f66781a15b41e4bbe10ea80876c418b1f77921d63e110ad6a85eb117112dc63c24722ec2a77395656b5e90c77a8c917eae306a77ffb64234a2fefa9ba474116814996590ca692a1cd404894942e30f46102317ba67079133e13cd341adbd614e1e93ec50c664090b08945f954d98fc221a7ce28300d2561a7c866a19bb8f2b28d1caa8ca24dcb99b288b5e84c432950755989c4c972043870ea132c7e1bb73133fda9744ae9512926e8bd9f2c3256c6cffc4018f705a1f01d63ae3cd672ff3787c7c60e253652a56d7af03c67a466bb9a6fd4cd7c2c0b8d66a97eb019d2588fe2204b03b0e435a90a8eada828487dd560fc520fefe7f0d83070aa581b06760c8b930055a51e38893915a5099d90cf5afda1121284eb4025996a0e879db011bf0fe6d6bdeeadcc259492b17afc956e0cb2b324eb7c97fd97bb00ff31746feb463112796b161365eee82956d1709648be46074e0552f60c0e8285e775f36ce281ad3a0b7021e9fbfecedcaaed2ffb19a07116986da4191095858b89c096bc35e80946b774d7f87c6fa761612ed8392894dd73bb6b960db67117cacda6941cbeca6316e0dbdcfbb80874ce34a320ffbcfeba9032570ce2591acb2c59dc20a615efce32e936108ef2af2ec330e3d61b0ff437f1da4f7784d99567e6ec66ebdeea02d7ec596a0f043f7d475766101f25f1b9ee143afd152582eaae379986d3883f03cd540045b922ddf2622386f3c202ccc125a332f93578c306ddbdd8ff9752d7d98d7c812f21eb3a82c134c6dcd4693c6f7fe2e899800bcbc730d90bb71aeca4c796d0b5a487d0ccca731b048c6b952473232b8c528ec06d70fcecdde4ce1cde0fcd897df7a0c0c0ef1724653ed86c4d4de0e52ea948b2a07574371e8a8c9a55c9204ea3870e60dec0a8c47ccd1d4e8659cf214d2114194570a95e794f48648a1dd17f57d03b2d158cafe5061c7e35720638b52dab3b090c0a4b3b34b191086615ed2dcbe8683c180e03c71fae357ef0bfd23a57e22e853ccc24e3225900f3ed845031548b7f50d33a88d9e2720565ec54b3878f82d87654d9d327f067c77730c86fa6480abc60d0aa7292a1fb5cb5ebd28a7718b91c66a1e06db0bfdf7cb0ed97a9de533895309aad0c379538c0c506c0dd427467651e9896f7aadd201de65f236aceeea039358c3f593b47a9af94bb35575011fdaff1bd3a8c1b6de1ec3d4beb8ce8864a5109b7ff231aa1e61dfa220a9406a65954127a40dcbce1c448511c1b38aadd87fe600df8631a8ca068f65a2c1adc9d0dae0c0eddbde46d3b8f19f1be9d36584d14fce38ed85315e510b9b9bf1c200ab46db4276fa636d683a125e96aafb7d8685e3d39982a44ef9a0a1ec904161ebf1630eb472bdac7aeaf7c25a125d689f28ad3008ccf3359b2459e209ade5384c806c9ed7b8fea86bd8dfa02727c01ecdbe6c91cd4ed417067622e0a3a7a60361fb5a7b94299fbe945718416a8a67e8436fe96fa33d03a5310d0e9dc6a687574e48890a6851d0aff4e54dfc896001783b8474e3b96bb5a06a3e23b0eb01be5cf4888bfd583a32390bde55bc65d0087c01bdf9bf0ddb6bc4d33600e74a3c77d2135a657c0342883fb929587b5661d499e09b81a789091125eb3eae711afc768456372cb411716201d7c818f6b79e400cfcb86321a2a5b3fe5d54fbe135b2773d6fa44f6439b894fc95f97d42407409b3c60435c97a444b35dc1130f0314f2730fd1f845d31b1ca092778b492c28e0a9eecab8461d4a2164f0169a3439e98269884b635703821ae579af0ff0e094e7dab80e4d0b19e5029a92c87df86819c27d6b2d0eb38d292200d33d0a501e00ba9e7661b34531b96d4edd3212d26149353b2094539ddef0ca6983d4e1cc367314c2af3716de884ade2a3139c394afc1fa90dd1cc3b22ad2d84c4d35ddf12aeedefd1b3193f3f09e704a8de7f027a7a1c2d23b3f2db1e83796961a9b640adb4c144e1285a200c98fb5c4ec4f9edb4f19d6fbf02bf5433915d4f04801e04eecc2a7fb0e576f29ae9bc8eb5e23ad7ae012316c5dc0d3c34454d345f0912055265f6770065427b5e781fe197ace543d35b5a8281837c979ce6726b185821b8681ecd7ea62da004cee9eff9ebbb3fcb02998681bb4ac2280d83bb58e1dd309e385b951ef101ff059dee3d3bd336495fca2b111334fdf1d7742237c979534a37c8ef3a384015638b5cc5695653d476adb7715e93d14404cd12303d5386e61f5168a902fe63ac1608843d0163ca30036bb026b1684339618236289e452e989b03b0f68cfeb72b78104a33cf8c90bd3f949ba30f83993d34565dd8b6ea7cd64ecd74fc87921473e1c4c74dfbc0b926da5f81ce57a5251d8520fb6680ef5060b37bfca1b06bb0eb63eb88641254b823092286e523b3ff21a1e81cf07a163175636151ac2f1087d1852457f37429670585bb3a1135cfab06d222af12a11ad2c5f5476933d1c27a87c287a83487be56d63f345c5ecd1a3996372a334f87d7064d40513b1c4ef363329e50f797543ca0366552b84a48a904164897cd7f0c46338ea17b3fc58329d1da425ca17ab84df10e8aed4ad0564ae8c0f75f2b66c094d27092499f32eca59e11a34e7cc2b4551985780247fba88e93dd8728c42165b0cb917160ec97408354086aac0b16d9a1e42601ccfe6e094dd293aa73ce1630e8683ac484d79a38153a60c2e3b3cad87053f6f4265f6fc3b53cbd60b7e9dcbae004148e4a5d77ef295114f8ed32063c2039d3d8f4297de24c70ce02cb9e3525bad757825138b16e587a287019ded926f7e8ef08e3677690eae3954fdf4caf8e9b992ea59a443af04cccba1775d78bc78ab2498b0462c8c7b0ccb3edb3ca84118397a5d602f2dc8da66ce54c77af187d50040d3de16a3e507fce8b821ec3d88c79503b9d852c7eb3ff3892fe09b47a572f220039d418e042ff5a433c1193e25f398f9fde426714c3f27e2c2818e278c34aed49919f136fdbcde214e84a577665aec1391979f2bba7aa5e015b88ddea145f95033610bf5a60705073d347d30cfffe2e8701137ab5b4aa647c0063b86a9ca7685580103b30df2a42f1e6245170c85fb1e988f2de07cb078ea55dc8116874003e52875a8f56dcb268250c890d9593fea8dacb7cfe66f4e19840223c15138eb064a6de34ab970bae6069e3bad2b24e23402ea19e37bcb7a8bd691dce8b952a0ea153b8fa1847793db216a240d7676936f31b408f6c7b3a7e7a8dbc7e15ac3de9fbbf0e3b381a8609349de672d81f7c2579d3a6775c510f7c05fdfe010a90134b74e66f024801ad2cbc741db84aafd3e973401d41459028895f9c629ef9257c0e0ed38683bfd3f8f5ef8b542ad649ee7febd13648c94f2a888e78d8e3972091a31e38d25fecf550cb2ba81bd1ade7037d25101b594dd0d1bf55b5085791f4b82f6334fd881092d158ebcb7aa5edfc2ee321ea47e48b374831060f45dff4b119de06a630995cbd4b7b3ae7ad6bb615a2c3c0de75e45eb43015e7c6586a4e74f13cd775eae404defea9b4c30c1c52da9796768c7e93c3091e248458922eedaa0c07f89766a7131a3338fad8426a0c96e7bf6b7d6fdc93a8167df415542a916627e49a7043e2101cd7d5634cd0295b8cf4d1326d6e9c71ff4c4259831c9b69e2d1dfcd069533bf28e201f4ede69a864b90b4e829b6425be07ca5117b9a2b6a2112cde60f127465c3beaca17ea0d4e498c7046ee672946b89fbe42084e8e7c256af4bae1a9fcbeaba7437a5048c2048c5c81f295535f261fa0ff709de8d3f8bd143027f17a407f8217361a8b5050af3c6531da188f7c4a2f9add91b8d19c6281b46f26fc72772f4a60ae6721fe93b6ad6e84dad69f2ce86163febaccd9900313dfafd8e0b9a0060851166458276c3bc7bbb6314528b0799d464d09302f83bb897888f7c4dce63387e83ef9c03476828058ec86250c395964823fbc5d853177ea84d0ba9ee4e79cc761e91a077428c86e3e667bad2aece1d0ab415030a2fe12dbc1abe5e3950c89d8b5fa1183d7c30bff348ef579766be1d67dbf2c9c7bd5ca89086a1483d442c1268456ae0cfdbf94f3a4827ca52d2f036fc78132bc36c3938bb4581a2364049bc6747137178a0101fdb9ee9e608d8286cb521ae7cf0cd48a5afb612c84d66fa19d153f0bbb3e37b4313f274159cebbab8f41fdf2cc7ed6934d689c31e92b0e8dcf01006fdc46b75320f2fed673e1156072c99192c051f9fb8766c6994ee6ff97abe455b0a6d5e7311a344058f53983fb1f266ec1297159b243be40cb897ff2dda4fc5d1ee4344672725426f16c79bf8ec65ce6d3e3582fa01bb6dbe48955ec073df41366f7a86897557a3cbe3d90622a9b8a594b4273cec72aead82baa6411c4d0d02cf0d4d14aa61303f84df76c16a8a3a8551b960ed6ff436c45c80468f63db59e200a5ba86990577f7b39c1d83a5c6a1bcd846caf51a2803bc72223163cedc88af21aa36c0d0f240c801cb2202cbe9bc039a8c8ce06783ae76e874caf9fb8f2998468485f4d9b4f4315afb1f6a9dd5ed85500976a7cd2d2aaef875f0cb388f61231f4c498a80cdf2550b8c3a4710481b6cf1a901aa6321b6f0177df0222e4ce70dcad4d65a5076c4e96bb61b8924200f783897a57f8e3cd926ae2b8124d050def5e8794d5671e5966a3face9ff2c828a5670b0117943cbad312db1948987ce70f37efdf9886bf853e5ea170fc2c98b7c8d66cf3091f080e27338253be27805f3aba05ac1518813d787b48afdcda082b67c532e05b8c7a3bf5fcaf0d6f47254b0b6310db22ab9eb6b912ad15e0b683f2d640d36601c0f4831f99f861e3576f89dc4683f6dd431f683be988b9157601c13768020a03f3642c3707a3059453fcf77faddbf7dcd9a791a35d735d73491c20d0e0c598b07a4ac2e12510eaa9abb4e3fc6ee90d2ef18391bea23a87888c74b62c1fb828331815959d30ba6391e7dad521365300d5ddd607b1e3be188099da2af8a3eee244670f215bee0cb581572d143f15ed305e93151bac368a547d0edad8a8a820cc21dcdb204a402715acd6fba1a025bf98de1a1821913a629e19a7b932a09cd6b5e4a107760fa6bf58fbf1f5371347fbf381bb85f8bcb408812a21a2ea52c4a3cdfb2249e04ff3f2bc349e8104ed9785cb8e3dcb17688ca5a3351a484a9ea5bafc10e9ae70fc2da44fd0e9dea1650f6580f5fc9a1d8835e507f74a15a5d208a1d6c06dceda014e1e6073b4e271a3e8cff1baf4e4ef930203c71d2a252bd9b8a32ccfee6459885531f602178a2b5b969dad8a67cdf4c6ce9c1589d48faa14a2ddc2b0f0671addf74f489eaa9d1ee066c9f4e4901eedda635d9a9b0b96284925b4a1a6c708ae1cbe1b57ab81676cb99bedd2b536be0637ab914a0cfc959e7c1219adf0a8f1f47169ac35e3e84c18f635fc8999e82b6f71730c38764ef08ce360da669926a1ebd1b8269cb53320f55a14b17aab9b41551d3f4100b5007596ab33ce2c3abf0a749ebd520f16edecbbf1a71c3838ba70cc3a304b9e46f3a539a69f973b1180e291e1dead3aedb27acbf34c6708844b696a3d16cddf54dc9767fcdef9fc9357bade6e4153eeec5f927494a2d149f2306187eea54b32973db6b0456757085864860345e651e0e6fcec03d4786a4014d10bbd1851b2bb77381044ad48e85afe9c01db47ef7437af1785783006dbe3f7cb530fc51238951bcde8c223ebf92816e4938c01ee1f04bc440139cf123c0979360c683108f0150f37e3c8e5f49ae33a24b378291d377a80c9278e1a2a6d0f20758c3e4fba23468ce01d244be4e685816b1ae945143f2ab3952f03195d4fa9a12cd2348d02ada46b2b31887c83068245cfbf5b160ced9a396b0321dbaaca507a850bb2e69109161a63bcaa6a8e3ffa65ca1466bf7fd2c562acd5cafbecb5ad0d507bd5601a3728a88b501571c2f3707d162277962bbf0e126099c33f929a6a5b203fb94f2e145de7d911e6baae1672daeddc7fc2602edc01257780b6c954bf8f96052de65a01c5da48ea9f9a7421615e2687b3fbb4ced42e9683ef4c779d345a60146be40f13e1c5f0079d9c46329ebb5a74f1cc9b559e51933b16a98528c6fa8a8ef8a7d78a226a321399735765aeed648bb9c0bcba8a346a0224d98fcbd4f887f4566d03f138df7e0c94543cd5398bfaf54dc0be4e1dfd981705b9c3e525f461acbf892ae4f929215909dab1d902fdc207eb0a9c88139fdd8e09a0f39c399963139133d18718509d294f2092e8c77465ad4e652857667caa207f902211ea2a23df0e313ca686faeec1d911afee4a9b527d899932c393be029ae30336ce9cc35612d2f3304502888b715eca3be674a9e6fa3a54af10a229d7da2522736bdeb2d28291244eb2008be5e88434893fee25d4329d52f6160a737fa19f4213dd0b603b55e17695e22ac034fa0ee663fa064542b6a819398a156aac3b1929cff1f852745b49fc3a7f1290247130998de56ee04819e1a32a4187221737964060818a3f53e6c3eebc879b7cc3f7384e6273d455fccc144d50772da784202fccd7e98cca54706facbd1048e0c2c68b01cd2e3422f3ce9adc33c6b7e11ef8af8e9aff3ff785f9da9f9de22f8819a4e62626ee202278623d43a8da997e5431a57b048df41e8e4aff3ffbd7fa5e12340832b264266320335306ce09a5b7c1047e35815e40b30d87bf22a43e838abfe3caee4e4d4664437b43b0f14cc2997ffb82905ab41158c002d87f57f831801709b7a73d8fe837ad2403f0709ac92eb732160d4bd2ba0d45a90bcaec94393685d0f4d35a0787791f34a6e9e59edfb1579a5e8ee83f8ea0c649404737069756d406947866ca167bfd6b6f413f5d1de2a29a1135a700187b09569d56ea37c001fc7c109b0d196b73ae546fc59cc766231932aba47d7ac3c728ec20d15fb84b72508c8f710fc6adbd34fc26d5aa1ccbb50886124e4496fa38d0a54069254daf6b9ecc7be0c3a1355e3283ace574704f8afda121747f15f87b6217ae6d250f490aaabead3e11ea185350410fb706ca8b847d07e8b23d21b8abf966983a6a112260de0e43f0d013d027d123e37ddd63424e17d72cd6e2029beb5f56fa2ca5429842ca12eec035415adba2fb523e5d008dcabe4061d58656d13efd5eb846124300fb8732aa52ff4bf65534bc6fa5598edceb06e22aa904aace10f044cb3082c5f60179460990272a98fc8bc6c5826f588edfd178f5183bf51b523ce3049de2d15605d23bc2af4f48a387b93ed47ffc77eac927f2fb5c25b0bb52cdf87ea98af6b524def621fa070a2e0fa618380da5a0e73e2bf40c8f3da5e52413a3a3e5bc44e33fbcb5240d253a6008f74f4abfdabe9d4a7a44a81fa7483a51d0d6133103d8be3049d6c4a11495474426245a817ea2c212bf6ed9266236ed68afc055926af37618f1e39358671ad8d75d4acc027d9350f0556a0647382081fde28db851a7a820f633f381308c72dd003b5ff3bb04553929a3d1b9bcfe7d5a7ff0e344619c0cd1d0e09332632f14c2610c1c021ef7d3ee2f9a4840d650dc1b43bcca116a723080e9a425320eeb5b03ec04baf40b773a345c1db47b8873be51af8af4b121a54c0c7d6bdac10a4c0caadd20b7e368359f780584090d40693e1ef1cadda944a0e3ba33465e39fb311d2543cd70b2c8835c6efc284793c003185e7efed8e1bc616e9c9a8a50d41041b667585f1f54f3d4869535f8333c82808cdd5a319d24638f0046bead52e8c3e5ec00d9362e89d0c8d15b7f51ee8aa36addcf9f0967ba1b2ab8ae8afdf26c33b9cf40602bafe2d16f2519110f0b713acebef60818f8a0f01bf95101d7e8d957cae38438ce7af1028d0e45b5ec2b86358034cfc13eca947e556b36f30605ba8cb96152501b0e1ea0cf31865f835719052c94f7e29cc3ed66ab511b41a372eb972c22e05cf189dec19d452baef08fb11439056b7514fb71c5814635edc08541e0d82bda25312bb393e4a54fda9e816a532aa34d4718e8dd835c38f6c7c2bf2e19030b9f66a0928e18a686bd7dca2311a820fb34c0ab3e8ba2fb334e83f113015a45cd145ccaa17d1c5fc6286ee54b2d6ba20f7b6ebd19547918d64bfb8579c8d9b906232d5ea8da2bd2aed2718eb0fec6bb75df296bd2ff8b9b9291454400fadba959edd25cfea4508b46fc77a5fc9c0eab7b86f87029009f32d3eb38460c2313d0664c2398b1e0059a506684c7817d8e78c74212d41a1f81aa87dd57ba65e22ea40e2f98eb67f5315d519d7e1588685a1df6724da789f505cab1bd9814828bfabe0fb8bf4dbe3a6562c67d152387ba5ea089da5378f717b061d67945467e501f9749eaf04154c74fc80009a4fa06096702c08a8d64dd09a7406d5c9978d89488210018fdb56a56d8c13d681fabe0e004bc6883da977106efaa3dea2770e11bc3ad561296081964e2037ea1493a9f67f4094b90984f0111047182e89295709392be004a07c3cc48ed717d78c488cfbb07bf621f58f5cfb739a1faf4708cbfcb9ee85641b4fdc2349abeb9031e106e0852523e13f68fb9ef112bb4f85f2d3df96118eb963bf2aff330c3d8ee385834bbc8f1e46fb2c0cc9e3011f3af50d9af52cf6400243ae4f02de92f567f67a45498bac3f23d4cdaea937acd43ac9e7ee7b7067b3bdc0840f15700b85b91cba40bbc5dc02f388432da2d0bfdd363973d83d944a1bbd25b4c5b57b807c386c7906771431643901da83662fd9c90ec514ebc32032b62e789197d6b33ebcb9f8be991e3b14de688ba82c9f47d72d995b433b20552d23df8a798a1bac8cc3ef6c3aab6940461e7f8191743def956e839cb794f46caeed65337eb737916c34eb38d528b4871d89eef3d071d5ab88d01c103dadc47086085adef074f04b3023a5df0111c521b10438528c7606690246177fa70326ff5ed8b5cd5b0c98ed42a08bdc213e435e672233ccc5f00e959b22bae9a678f487d060b4d0311bcca0a83e01ab10aedb7aae8fc977c7b480ddb62076dbd6f35b97d8c06f96a0beb99f67d485fc40ade09534093bde48118ba10359aac1ddad8946965c1f069235abf41619136bc4b05923962f3e8b459a6c2189eafd707ea416016a657a418b11bda632a1a6049d7dc24609e413aa61d4581e57b4e756156ad2dcdb02eee10078dfd7c552f6c204db59e8fec4d7533658b8cdecbb55b3bb1abf46ddee6b3eadcdb95767b73a864da59368f3b8693c3d9c205c09ef10ee43781cc54871b022b018ccfd55fbc68674f4697a803f1fff217de945a19ebcfb6b5ea6d36c0fd80df508f0d530b5bd304ed3c389a0aea3f144058011a1e1af1d0b163455605d4972488103adac6b45b603cebfe0dc7d9a78310d2cd0ef232ae75980916fd1c0654f5e6bc10bf872f12a7eaf009fedb4fff331ee1255ff838ef208466c40f4e1211e2d11387452989a079b394bafc2844e247914c9591d38589062c68f21619177a263ba9f6add57666b8ea7afca56478b693c4305d9e2b3f67c65c87897b58c6438ace7e8fcde914ac23918273ed8f4d3c8eb1af2a76c6edff8cc8d373d8315e77ad8b93758929e758a3209517ef293908f3ab1c05d0032a31e112e65e8775259daadcfd62254b8830e5e396b80a6f2ea0be54fbefae88a9046a5899ddd7263fde3421d1ae705fa0d5ad6442864b46a4d2603a09537b12927b824be3cf1d18e29df169bdabb8fde5fa203073d038cba319fbeb5d80c55d695370bc48082943c356485e7a8de9eae19daadb13c627ef427e7ee4ff0e3fa6e0f3fdccdce1509c09dc5eed6fffc293d191960c1f848b3e13f4bbe0abd21f2ffa39709ed46ded71041cf904373ac366f1344b22491a17f38519b72293938d86e1925127bf54cca35c08daf28fb93bd88d1a8022cd13a2e1f11978df9cd17c97f5d40f1e10375f508cc35b029801ca4f5dc20ca0908c812a9bcfc1ebc0d07561aa2039ebdc4274c8181fb1ce2eb42372dba5450dce1e66578fcfb02481dfb41bb6a08ac3f34150c4be8c911973867ea6adcc36cdae65982099af24772fc9004ffa843616d50647f1e405e35577fda9f369819f4bd216befbc24348eb08c93c83c10c390b51a491897a09122de35e119382aea4bb78d62d7eb45b062c05acc0882f0f4a6c7b059ffc280bda95132f2a09af35f647233270c5ba149213fca03b649b74fa89759fcb024851bb88ccb6cf1f0637fa7f4781e1e51e53b4c8c1aba48747b36461c057ad6cfc126efa998569d7d634c115f9438cc1330b8443cbe56e1f80a4153df1a1f62bac4c7f26b2ffa4500dd2de1e31afdd64aaa3c1fb6c54881d9b1bd3a0b71b493f232b5bcadd255fe488a4ad971ef03322b24e8332e2219392942b33f343361f50f10eaa9507555e2b31ff85e06346566ab15b8142862e17c85244cba2ddcd2614afce08fee39a0eba4acf32db51361f4369ada88eead0a6fdb62b7c23ee44818b6ff67524f4b3d4f342eca393dff4d0c726bf71ca58ca8d1f7831ca2f7cec81249baf1098dbcde0c0bfe77f9691f91dfd4d0caff5fc2da967ae9369ff2fffda092ccec6e85a4b3f815e12656c82004044a6261b2abe2c15bc082f830f45b2d9854a2b8ca275057d506c104e0726a2be06cdcab34928a7b8ea2f61b232b515e5a554ba4801d0de3f08494e09086723a26717c3abb6c116f84ad32710073e11c7162153929f7e05cef3761a808dfce6ce7c42fdfe0f87c4eb5abadf15a6c79352281cff6afbf7c7f1c3508173aa657e1bd03f5f90674524701d9f6984d973272815cf0c918b00cdc3c7956934233a5e3ab85f7a0b3faccf216a1a2e70004bd77c372b9219c44fa7c7aa751e22992dfc5605ca7c527f658ca2ac97c98c38109dc519274881fd38c607f3509010f78d2a9ce09e7a2ecc0c8f93d07411c69e5d4c71dc2339f306367bf9d383c3c6eda675f82a4261fccebb5bf9ad60d2910300b689cbc3254362f9a3c19bda997ca4e41538f08beb66e986570e86094ef16f99419f0f63961ec670c5c7e843a6f8f1ea8f642ded341b279a3b04862f81f517f7dcbe593de2be010c49c99d256f69d086264cb2ea218a704a0335ef8a8a877bc5cfaea07a1338f3ee00ee4b431d28b8b6f412d6e6944921abd387d72215b4348782650b00c36e3e8a0aed3691928532285a4bd3cc1e45d9d63b56cdbe9780a91829e33ec6f57b0f00dff8ad700b465d49fccb934fbf7c2db43decbd078e3bb824c40f4031b9e6d88227a687c7100cd86be0fa7d8a86c601d07e86305a50461804e89707ac17d653b09acdaced7c7a8e7645cc67eecb8551c67a44415639000312ce0e70f747a46f1bbbb62ccbb3cca0ce2a529f89a7f257906be2e5e0a8ad08ecdd3776b834b9ac34c59ec33b608f585e5897708f7db0614e66177177227949359e6e6818a30c5461f7d7cc5df2384ed8ea110646737c80939d669446973f837c7fac7424f31326a41b3974632e63a514466840a190c2c6ab86226f88fe63f4970cd76e715fe86bcf519fd8fe70f6ad601b53537ed1aa1285ca5564e6b6e21c26f8a43866f9f431a62021c2e6ed956089cd837b9a75ec8109d635f58b168a6566c560ce9a61b7b083eb1a9f570f4217ff3f6ef9879462b309992b7de4b14d518c77be70b8ef815ffb7b10f0516845b04588b4a050fa4d028609540d0baa52fe35fc789eab54e566c512b1aae528e89ca946c7502ecfe97b663d6a6d20edbd21946472c4b14a89946b0a1465ba51dc48fd420da636315893a5d2a3f7d38531c52341c22ea7ad717fd80984939305e043d63bb5113975aeda508e3620f3a2c5a9e8765f11173bf978b47d45120d50483bc9ff8e9fc924d3dd44b057d35b422b417b8f2f880123639d26a40d426c41ef41ad9e23731cb5b8e5915821db0c29d8ffb67a8287ac05ddeb9408878a0dfe17504eee3211bf2e023599181cd8abaf1c94328f31435f82ec689ab584c4f285ba8308e3e3dfb0addf257f6dc7fc94fa92caa6444aa94b53e72e823160f4641d2089416d94668771556863aad60578c60435413702bfd97061fb73d6b951aa2911a865801dcfc76dfb71e3eb7b304ac2015e3d2ad909d54c894aa2c9e9d0abc1a1c56a9a2aa9d7e5bb0912662bfebb6b374f6edd3dbdeeae7fbdd73e8738fb53bbb93a92a88c6394187af4c9f4a6be16bf37c7245ca6d3afad51c7c4f19aa279f8c87d52f34f48438413cc7a4c888d21481547f29b658cf776e39e18b773015fd7fe7aed8dc7c78b0f38b36b31950b1df647730f749b7183cd63b12fca506763a10a430dce404789d283c7f51c8e0fd1caab926f5f79abacab3ff71f4c2d0c008f4e08ca33af58a28aad3d62a954ba9b539df0bc49390b172be8642e65a93b278ee78cbb56774d555a8cf51da6acbf882b1d8ba280f076329a3dccb1ccf190624e90000c387dbd956e769bd6a23cff40869ce9b4ad606b9dfa1b4fb55457cee99bc4d78fef4d9706a4a79c2e57d6e3623da5dc0fe51db17e5da0980127362940140534ac132f1690c710bb213438ecdce97e7cb6cddbc623313ae87c199575f67d2ad4cc588c6ea14ce92fbf26a9e035e25e3a5bccb5b5d7a3709190c02fc7b012a1015386060905d4d0788eb12dee23464e32b75b00ad78f284991a701c369832ef3888b37d9391be4ffbfaf8e5868018771c72b2f322b59323fe6d35912bec8e5880ad22de8005505befe0a4262cfa8720bf73aa532b00c6c1214d2f66e6b7b4b295392296a03ae035803cff4adcfd0b7ee9f93b384fa5367c5d1412f654107c5b16d38beae7d6b456b6de87d5deb194d81473695b223b0375c3ef093026d519f807900be7df08f1c0589a7ef8160928a0f92949498740bb2677005ec03be2cac4cd4e0c7324df6ec330ef0194a694c83fdc8505ac83e90892b0ce082fdbeaf07425182b1903dec61a24e3335121912584b6d4802c9babc67646139b77d7a16c2f7df77ed19749b026d2a655b900a1510c3274c40931226ff345ce17da47494c1774d860ae53d855d14f2f48c4eb9fe0d84befdd928646fbb023810b9456203e95913e9592349b091548dd433baaa11e919ed16bc822a32c8c47ed233f4c1b05f6238f213f6ad5bb77fdd8a2174919e51f7a72a559209763809b573a904adf8b46b2f446abdb334144a108466a2c4b2010f24d164cf608bf1080656344f11fd06a2c23d1a9a97208b99a711751a0a0bd8cb449d666a24422cdf17133e8cb2e93e6928dd649976463c7d9f403881326bef05e4f582fd78fac4f842ec1d19ec294cd4f98ad0602fc1163251470033d4904493bd045b8c40030d26b6045bd03810830c349908aeb0ef427d82a260284df45b4aa370a1ef3cf45d065dd1f721d07acd51c49ed2a7a9d40a94ac72416b1f4c59cf7a2929a5673464d9d433bad33c36ecbeaaeaa3590d4caeec4b1cf9b9b29739bab28fa961e7ca1ee6e8d2877d0621153d0637fc80d295fdd300e4ca9e44d1a50f136170471c417265b09069b2894aaa0321f080cf0e0df614e62f87767668b146c2b458d81ec2c2563a02430692140929e206031ab5c1c0d1d402087ef090021a7d27322e072b17c7d6f5fe14c24e2faf0bcfd0f72e6541fbbdc4aa44dbf2ad02fbf5cc7bd6cf10767ad4bfbca70a515fdf431327b05e33bd9e5d2d4c4e53ff72b5cc39bfcfdaf16fea552aab0a3bd5026ac8f2336cb1d424bdd427c0a7ef81e30bd57b2a11d681ea53cf812af52fae0dc70986aaee19e4e0efe8ff817f3faf2171eadb70ec26b74aa64bbda7df4a92a967f4439807a89f8ffaf92e21ac03efa70af742ee4f4cafcb2295f4cc655cfaab700ca12599a0f4095e72149de452bac42912303513fd8642bfa5300a1e810f25dc981125860d2334fabec3286a2860e4054238b400821d34fa1e1884dbb163335dfa2bcff9052e7d1e599b6139872740ae94e163e3e73454d427b80a00914720076eade8028475904a89a33f2842405efbde013a782e18524a29a59492858664b863c7372122ee422e5b88e69b500a97c59632a849684650933bdacb423c414bd33d28c97db90521dd826eb7a01abaee73b1c0d4277f444c7ea762100eae56202941366e4135aee3b8b1bb013971ef90fc040144e432d0d20d48c80a87951f6e3f45acfcb0f283cb1f226e8cfa781a4fa3fbb1e4fa0d914fa64efd86a899c675b14fc89f18b00e50d77f44e13fc3daa4cdf7b0858a36e78f5c85a5cdf60aab20612c8895df4698999999258ea6eebe2edf7234354f1145a8204a141f5ef0821e543baa9d2554a8f0d0d4748229534c30c489bbe928c1750e6f3a447063dc33169295a595a5159a88202fbf647efdb8e3eb76832e1aed347c09e9b6f29974e5437dd2397d007931d04a69b5010aa95cad94466a88eb38ae9a103b75ddc83e24d0830a928c13ea744a315404f4e48e1d900f601594e7812e14bc0f850fa582e27d4378005d3530554b7dad1bc014085ebef55012eba1c38763863bbe2e2d6224a54aa5726001d31d67388ebc70632a6b41d70cbb326345d5da61575640978c95958c95f5545859ad40578c152b066b051c0263c56281ae1e56aba7b5a2c26ab540574f8ba587857512a2b5ea81a58585e5d6830336e67281ae135caf135e2d3307d7cbe5ea418486d7f7020c2e2f2fa0cb8417980930971784bcc060a0cb0458cc84d80bec036bc464b198d01d39a907901eb51e3fb21132d90ce9fa8330983282c488113f7d6c40907812249e13c27539075b083efc1f5272c71f7ad21a5a1a4a722414c3f0c50c4471a886180c0ce8aac1c4d46232008360626240178c1819183230311fdb2620534246e65423681544895989124335582898cdcc66b7a19ecb371e44dcf17571085dff0ac5e5c80ccdcc8c0fa43bda27fe2d976f3c68b8e3eb56e08e5289486784c6040d0d0f1bd72fdf7814ddf175a74fcb02266a4c98c8d1e43a0f0adcf1758feef85ddf5145a8e6b3a9a961ba638aeb3ba42c01fddcf17577245d57bae3ebda00f2619b9b9b1b1c1c9b962937383838393937385f0e98220774f558cf01935c88726300e8010018c48df54cb67040170ff0c3c68d68068c1b91046e3974dc7c4871f1b8786e3b806e3b6a30c718619282d2e524976f3e5454af9ab375edab745c2582bca0286b2ab974e93ffd97122c4c87646a9f2777e6f2cd27e97aab97e2b80193a370e119f9547e27ffc4a00848903812f7ba13aa3ba13ccfe33897f7c217e9223dcfe3384fca13935c0aa592f0650cc88eb2e9c2646123095bc96738d1415b7310f427432b771a7dd0fa519f807960dfdfc63c85791acce277766852fa744cded8fdacd51f755d48f91da0a4fb70bde865e83f430f704a3043159dcbdc6424e196420aee03e4e5c40670934b451721f0cde7bad800be8923ffd85dd4cde7ca5be9a473bacf129078f8f2c07dad01b8d5db9d5677f707d4cb7d65ae2e1840d6a0ef3c8539dd742945af6b7fbd2ebabb5b86306c3363af9e4d29a5940cb2cdecd9fcd866be8b88e59ef9ce9d6feb733fafe09a59323b577ff2773de3eecb711cc7d157e5e049202bbfe3158f7908972a74b35c992a58f97366c0f3543398158c598d3b271529e21501c194aa6dd72b56ceecd5e2fa5ead57ecbf4ff6b986f86d2b458a182c7f2866f0e36b294990ad22e2d9190a24c0e97ab3fb66275339359d138055cbb65e1fab655bafaf35bbd97dfcf6b35fcbb65edf8b35c4f6bb802bf8c57eb6952205bfd1ec8c6637d9a8bfde164790493ddbf13ce6509eed6ee62156ca244ae377bfbc20cf63d92c734bc5b2d96c369bcd66b3519b8db39d4e369467f419d98c52b6d58ad56ad957eb15b32c302dfb6abd62f665934672ceeb128bb5ecb0b21146b65609ac23ef887caf7d4a238f9f6b3c8f55e4c73855ee46ed1d7e3eaf9a18584398f38c40f058368b620db1b3cbef2295db3412fc48723be701b71d3524b30a408894dcf175899288946e8c0803de4d3474c7ee655f3119d1d18d1105b1cd0c4b96b0a043ca1de78f1077ec7430dd316747cd051e4b29bbb907d9ddeef2c58676f739bbc5b6c106f5a9b461f9e623c9bdf9a8e1ce6f5dbef968722de5e8b373976f37725c2a7a36a22674e7036f444d17ca370504d375c375c30667666631c50602609b9a1d7e044adfed14372988943bce0d5803fe7e01308e253776a25f9d1dbf1790dbb13f71c321745301c8ede7d077b8428448e6ef8790b7d37077a793cee9c5402ba5d50628a472b5521aa921aee3b86a82b74277ea3af793bb7b1f0a9fbb83a95acadd4177552ae5ee7665c68afbca4ac6ca57ac18ac158bc56ab5dc5b2c3d2cee2d2c2cee7a9df06a9939b85e2e97bbbfbcbcc0605e0316ab1173b0464c168bf518ffb2bb0c9c3282c488111608124f8284fb8762184e98cb6206a2e8ee3031b5188f918121e32e534246e654a3425905516256a284fbecbbec3ec343c9e5ce088d091a9ad865f71a1326dcdd6bc6d965f79b9b1b1c1c9b9629373838383939eeec00701601f4553483047040082d7d5e54297ff058436c772b91205f784b22263c11e4b5344822ad23c87467e1a643078e14749ca08387ca09753a0945115a8110931bfba678df872a01a3bc1e3c7767674f07d99e0ecd402ec8ee7697403e8af0bc532253371b72c870cb816494c3877f4374a7134775ccd38951a8eec66571bae7a871eab81a831c317e94dc71763f38dc31e7e78977996d5c403e993a75175033cf751c407094da8f0dcd149a2937627c4eda579cb8bcb133c410b3b929372c4c7ac302759513ef06ef863ae90a4cfcfbfa57c463165d8228a594ce9f74fad1ca0c1e0830fb474a9f4e7104bff35d509fd3bb7f4e9f54646f4abf3e8fe097be8bf93c52a73f52a7b5f6a5b4523a67252a42caf16e1f9ffa57afd5fd5dd4faf3ddb9b0be040d80ead9c4ddddeb06cc36cce2287f56e693acb5d6daec3c82dffa2e7cac1cdf93e46415ce00a8becccccc3d670c64b6695925cb3d7bf5acfbf9ccde4db027c667a588e607960d567e4b296727518054449999fe0bab0394525a29ad949ec2cef6ccbbafc556cfe607524be81caacc2abcd65abdbabbbb57f6caeeeeeeb55276f751c5e55a6badf57160d16b3d75b5d65a6bf55a735c3058fe538d33333353db0d298279ce1b2aaad6eacf617df7ead5dddd734ce0f1e59e7b17f451219dfc23a59399d2c93cf539f4afdf55363f8b2375caa8eb3973cc719c06eeeeeeccd54a690ed500aa098d0b06cb9d063e53299dd35b3a994c9959ca77d5bdd65aebbbbb5326f29d45971d2cfda65d6badb56977774b8a32f21c28a1c4cea794523a27a594564a274ba5e92da0d61fe79deeeeb5bdf9f304b536cf28e39c25ae0bca00d4e7dc9181f81794d2a724e874dfa1c493c8d363433b7d8d45ebfe458315ecf8e2d6cfb963eb8ecc7447d6fd80e75459a068fc2a3a48ad2df08f1304f681c6cf31b84e5f86fc346c41933fe7caa5556c210224f0cd87c6e2cecb1f55b7753df93102f8e64393a20e7feb0e21a4011e1a386242ebc29d69840251093e8cd0787a6c68f26b2c1a3f4f4fd3baaf0d8026ff14d60640eb7482b090af0382cff8cba51b84c5e93b51a7003ec3a27b29eaccc4192602c60d2db06007177a08018d69fc62051c8cecd831c3d20b42d098168f1ba8d46cdb08b164333302000405631700001810080884a2304ca22c89d0771400115c724c4c40289147e29048140e064262280cc4788a612080422886a2584a32677007c671fcbf6395d9bc571f254156c040ed0ea7b6590d4150b9529b5cd5778818f450a44e6a324a4392be024390ef3f0616ba26b9303a19505d73ef774f0873eff700d58708ad0f56525a581a8ead7d381379aeddcf48aa2223b17810e3ad4cd5408c4745c70f85019792876ced8de8109eff0921e89f99eeb3f5e93ff011e78a99624dff804fbf763ef061369a5c4b73cc0cd279265a627da370351ac35dbf44741e4ae90a82dbcd8e559a1cd94becd09aac636518d602c45332dfa9fa9566c7dfac1092353e8531afc5eb387e0b19e5c81427805b7a308e09718248950d6a650994de3f35ad6c9b0b5ca03bd25228b2746dc7ad28a95bd1f7102c34b28096a9b38242f22ccb32ae6783da1f8a72033e602ef18bb8084416f7443fb28b4d7df01fd5f1846e73afbe1bc0c956a6bf29055829863f4d773d57a30231bb54cc78d744969c596ef1e8109fe9ea3dda4c484c20eb65f828c384e47aa1aa722b1e351cce0ead605e4ee4eea937f5fe4d9995764975928c001d03ab2375a1d72bfd9d0321d3ea794eaa0a1e04f1ab01999fec51752204013a2ee6889e7640b35c290fc61ecc58213409b9375dcf144897c9902819640c05181837e7cf9f722516282dd7ab2bd5a16239619b691837923410dba7315b40f99d53f34ab4040bc3e2309edf8c26a3b22e575cf1de1711670b0a1d026e53c2ae510aafb8ec56aaf998c6e7cf8db836a59e4d8f7e114f82c28d09467247062960c56687ec772351de6b2fe26fd6bc5c8d85420058aeff10c1b6cba66f8e8a4054d31ab04edee4152661d8e5e6e7fe2064404514b662971797497d408aebfe9fb3131410abcb792c37f13a97a5995f6ed2ff6d3f3ef671688588c65c7ffeb45fa263955b94cd41b01a936c4997e8732d0179f645282696b32bef28adcb06a40f8840643b4a3905614db736f6868f3591da4d2df08d1b716201d9060961e93a3306a8ae98257f62bf0ab917a869e2116d5cd875688b7d283ddbc8c5b66c8a912e5b14c1edc6a99b593d9b8478c34f64723e413702f123bfbb909cf21861eb767008d1ad66fbd2b0dd96ae83280dce0f7cdad743a9b3ffb3e105d3bb92e50274c5e8e0a00d943a740b2a0760d9fc121fc4c2a10bf058a885440d7708b992cd59724fb9d3de34323c99432b18afbb5880ac7646410895b8102da4fdd04ed70995e8189b15d7cb83f79b146057c0cdd8a57de8e0388d6922dad3636286d8cbbd35733f8824104744b0effe2b00b40e456a1317d78465b94041023f9a819d2db712a4c2ef3ae7fc7b1a3c53b4b366777e6f4e6748adb978f72611e3ced4801cd8f0838a9dfbbaa1786fa65e14736887866eb4fb0ab805d385d82a2df3aa80fba04d180a989495b9b0fc0bca4e74d0a2e482b993bc045b8ac499831692b3dd2a41b72d47b730eebc51d8e24faa544838c4ced6b3bffc7dfea5be7a06ec2bf06dd09fe3e7fc55dbcdf13b5b9ecaffa9cfcc8dbd3f3647dc87d46fd955a35d443b10071d2422a11f9bd909e426b566efc3a42755624888d53fa447b56f5030900fd2c4971d2f18d4f69ba73701e822d84f5806712215943302e40d17d485135125d3f923202df47e820e63ce0a086e8b6d94e3d6c1cb7d46d82fb78441aa796e3c3f6cad0a4e38e2d9d3ba267ff489b7b701917bd129ad35f5f4b6663d97d9c1673e9ec38d61d48e7d17a504379fd20fe5bc9cb55119e5231377a069e610a9a9945c397708227dcffa4bc692521278f12e4b30fabcf15a88f7ccc79e1ebd9b580caa394f9c6fe427deba7ca6d6b814f46e23eef500e99364fa88310016073c41c71dcc8b600ef2760c63dcfada8559e78c93d0730fcb68cad995b09efc94579939b1464a1c0b0c3d925b7668f43129b77184d9943dd2da70b7a00fef4fc72afeb1951ea7a225638fb3ddf5c9b74800929e14bc584dcdbc3536a3435d05c6987c51debc97116a9168575892989e5e29b40d676e3a9e0fff7ce7e68338a5d72216b024ba4c8759812607b42767a83ebe77332875b3f7c9443a0a88683ce2572fc34e613971eb7be264c5fa64acdb5c4abe4248eaf35c8b8e1261002b3c0957728c4ac0f4d34f6ad62b5446ed448acd49ffb030e212a1f5955d99c69cfab4e2cbcbd45f080b8689f72bc294a55dad404eb6378634d104ea24f99323a34b0eeefdb06297d057e46263c27796c2a59027f645985687232053177b1a7e43f917e48e08d4a33c55020d382a3e6a7c1f3d291dc06b5ca1ac4635adc5900840649e6719c7a1735ff344636083e359c4ac4817531efd17d08db5782495272811c31c8ee44e8afb72148a88295721c822251fb833739841e183fde5b1bdd528418ec46e08ebae9a18cc372eaf2d7ae6db8975aafc0329f19993b70535add0713c6bd2ae768f582ef10e78d1ca9742ddd51dbd29fa5ae3dc489ded1eb1cc2a2758bd8551dfd900820462c5703c79e9370ea41c08495940400bbfd8d78af96ec19bf8beb464b85f18a70600cf707c0f29e1ca8454ee73d3d73a5b3311c0128d5f2fc2eb1e058ab1386a5a310a454b2b29635518b68414e4b285836855735b9fc0940ce619b7be4fae070384f250ff6f514ef61949a7ab08b9ccc815965d6545b4cce178058197b1b3b15bcdeb84891febef40c5badc1341f14c4472fb9d62cf82399527f1ca4fb42f15666b89e7d720d6afdc18a0efc0a04c5470c250fbf49ddec13f7db893777e5d6ba169f71eebd62469eb912a065ae6a130f9c54d7b838053fa048f381c342d85fd04246be6501494c22acc15a4f7ccb2f28748cba1dfabfe1c534f876644ab65bbad3488c93849bc2a83bd11959393b54f10f065bb4bac6455103cbe0a77a63d84101fb4a905f6e2f5d614f35594a790c7c86bd9b9a2fba0fe7d9621f7cd8a6640315b7627121d9f5fb91fd9aea9ce84b861469e6f6015067e46e5d90ae3a33aeb6b22c191c48d9732f83322cf599021fed7df8ad163116537b2de08d38e45f17c4d1170c8c41a0105398be7c1bdd789f9eb728e2b36783edcb22d4a637289e35f5414b7c212ebdef7f86b96c8604cd75cb56028d6dac74efe25b37adea667a49218beb066a04b1a85826b525fd191f721ae5535b055ee77909607e771716e0b2dccad0f64564dd201cb3fadfe23e3af114feed98578c48cc1e86f33d45c9d00a828035f7efce2e3f48f50cd524dfe5f5159edafe53fe77aeeaaecf7d37bed7104a545434c31db9e3a49ded5ae45f01ef25d8af935a52cdeb55d96c46439245c8dfed85cbde94321014d3cba0c57585c2b257ee7e7c9a043b4e385980f02c82ff3007e83ab2205203d304b613873a24f25990afb90ae8c6e854a571e75ea3a6a06113d3b8817f0afe623794c04f451516f20b01f056888552941aa50790cdebb26ab112c5631f72319c3be527e6eb4656e629cef2831e13789cc87fec7a072150acbff94ad5d275190c712d16e5121113c1858d261c2943f995a6d28592ec8d5cbd0e83c52e91db8ee3b46b715915988a420b2eb308763a1a37850c482c3a2036cca70e36eea3e9a9efed8f2d003f0937234f0e12af3acddc6e263fde4acaa200b234936e9e6c5601996932e1a4dc4ec9cf9f909ec63e9b49a9cb42be86f000b444c30d935329e71752ee4ed15d13eb02d2c7a322db36f31adc68a92921628cc09ecfe8ab5e7eab87cdd901e1d9efc3712a61682c41c8866f970c01ff0c4562a13d7b6cb148a69a2c9234b22b03459ecb6c00c134de620ffa34736d6bdc692ab271f59178050f10b52b49e22e990c034751e2f6b1b2ac858733b7e6888467794f8d5c860c562463abcfde300676d04844b43ac0b39a6bc7b4fda40254feb50488bbe6c832f7f0c24e51f99f3c3e5f7738e89900bd0c2404a79adb41a11bbb713b4c5e83d0f3defed32b91763d905044344c57a08b421d5ebbbf9fc2bf8612930a6798d2fa59b40f509c4ad27dfec84f6cfbc8fa6f9944604f50ea98031126b1da9af80f302650163ac3040d49d63d9a94949b2d439bdc6f18afb1f44f1ecf58a925e6c8d18afee922c510399f06873c9a367e7a7d3e6ca74284748c24e0e3cdf7daaaf73af6cf29920d5240b995726aa3c3f3f2824bd1c0019a3a13e31b7ec467fa14a740563ea264c365117c11938b2614da5d47f98647c0a4720945fb34387e42849c5d61bcc35fdf1a92292e3aaae257eaca7bed1cb679f6d27ab8a0dc525d4e00a6cb3ae561bedb7819054c328d844cbe1ed79b61ece8524470e980573a45980923c60f5445130c64ea5e8608186e842cfbb09e9bf30fc4f1a07259fa69cf779e5edca8afa748634f1a3de70e4f008ec9a87b6d864e7bb56e0fbc2476239956eb720c7b4cf92bfb9d8124f8648d1e65806698daa1b6cff765e6ca9da6ab161d330fd6df3e1083aa258c35f54ac434aa524bd7463670c168240225d6bb49b46a3f227c4bc39481479c5a8d476f7fb9645777941dbc9d5f8693060493eda2d40e89629e8a87ff12445ee53d27320d69a97bdec73ea7fd15b88cd2f3360d3bdc23be6594c2d99651a0b52c593282ad7bf0ffef7ac233cac4c5e76ec281dd4616618037e7d793677f762ac12f44c9d47bf5fce977fe5bf3591c1f5e26421b2452898199ea00a7cd7f9d7d1478b21893642f6415278889981d3814a4f6386ecc93c68680285279b788c5527f3dfbafedac4355295e45cba137853f763fdc0d74decbf46a37fe709b524e7f9df8422336372a1be5ee8d5c8184fb0033232275a00dc508349dbbe0f407590ba58d1ffc3f001f05cdd644215cd973133dc4aabed1b251c2d1a6066b86ff2e758579e145f8b17f9bffb4a692537da6e6812641ad10c5c0d25976588260a506d789d765ad6d863ebe874897f9a2826eff365460e9a944884c6853fee5f64a7d508d0648a7a8ff495648664a667066446a5297441c56d7820a3a1b3c6b3d665e80627f09911516f29ec35e8cf629abc8ca1f4f56ca4a4284e0589709c1027aedd0b78a6ea33c3563151b2cf8cb8770358854834f066376853f0cb752237e14b670a55d0739c931f53aedff1ec9cb8dbd35e00725b954826647c5a6b2826d0dcaa0668333b050b08acc3db006bd6b469a140af88a230493fc56a93450c7299fe48566e260983085bcdea00449384555e6f712f2a572a69ed6085bd2ad9613550f0f3ecf2b4536d7a1d97e5f9e090da4a80334e5c23e78add1165bd27d0b368b4558692c859d44532f655c8d3d0250a2d05454496b598e30249d2344864ed2a0b50a0c922b6afef76911b7663a4ee23452aab13a76d9c24ba43788aa4008a6461968d08b39924c3d9d43aa522581dfb0a07ec2491267bd457b6d97e2789e5e051d1deefee3bec043bde07c159021aad3e6bdf51a07557b0bd098304652c7596101b54d400def52cc19ddc1807493ae22486dc3d7faca54ad757c2f8fe656f9e95e847b065c8269e25b2c5ab84ded5e94815c06acc583ca862ae4ed408df56881c530b9c38ed48aa8c4362d47ee41517da4cbbe5b174e77c182e856242db0c97e9425b82af6a394c0fec23d89d7f0be0320c15898aabd74c3716506f46fa76d0db76044be8572e3524ff0300231cced38f51227fe4e6d5801b4a7caf738476765c110cd0439fa2965ca432ec97be9822faa1f52fe2b1f18b41ee5408d7cba33ab20663677ad47153fa25c677752eaa0622fd7c20d970e18a2c7e58c9eb4029c9446e0a802022a562a5f244cc3e8bad6ca2a27407eae492fc62f3b581f107eaa49fe9eceec410c987a33f51d1155edc600ecf2c00d7cd9030e6cf721d63486217975550e23e2baf7899b0085667351538df75cca1f7df41a273e63b4d2662c8ee11b376b60b26c3919f38de7a93207b4ed113b021c6ffd38f18e1ce07c77006ed4c48cc3c2d6c14d7b8a31df2ec339212b9007d97106202a9baeace31d3bf051c3f05cfe2d77964c38d1ab20a5512337b132a76d1b51ac95b49b208422d7a1b100ebaaa82c72cb868e9812dd6618b8579a38250fbdff43a3c5c91d50d549cf727cab875e7c52df14f0600e276cdb3afef26ed66252ea99cd8eed3d0183280c4456397c0875164b52725c690d32bb8e48f8b5eff05fe1109a9a25f8ccd687cad1d9245292439756b515f5ae845ef6da3f58fa532ab972f070a1660a2f7c02cee345ed21806624e783b6f59030251df9d63b88eb5e9974d8b3bc31b9a1b891b0e27b5fd1639b28751f77541d3778160dea9730090eb188b410183e1a5a22a3c4fb7dafeaf13b02ddb022d4fa8404b4daf85e29e4c55b46f176da23d94c52212f084f9d172e40ae0c87c5b9fabf8f023e231cefa09fd452536fe561d365718d9f7eda60d1f2b12d2422f33c446ef29943f839c89195332a9b8da15e7b75d8abf55d61cf4fa01b1b1a9d3877f1c1d9e561027a69760512aaa85719457d19a381a26a263b7d2adf83a8e8299fa5a2d2c324622dec769af425dbce6548a48ba0c71bc0f8b12896f838748e358b8cc80eb82d9b6b3d21609c0794d552f75273c18bcc8dbde9ab648a0333ed296cd26d082c8496905df330ef1b2cb599bd07406ff4322fc146046fc6e016762816f0f31de4cb7c7be71e07b72e63f26b1228ed675764dd24787a06c5c77f69d3f5c7c81ecf76d9f049559e8af6e63cb6d08109e8137f1565156d10b56470d3106e0a81120e55150402758da601015eec8cece108ecda2ebc6b7cb8218d403438ef64975b4cfce16848e585916b2bb35647b245f2a858839e4e7f99f85502ecc6259a85b428cb649fdbbdf140a17ca4084183b7dd40b90f32890096cf481bae3a99cd19c230b423a766b59144f3d2995f419aa370846de07a0f2d85daf2650a7ff0d320e3e956f91c9bec2285ecac0080601b27f9964419e61b1440a82325780049024af19301508531ae247b7951bcc6a1a976f96b612d272ee10e627c8c510e5a6ed7db1c0f280eb4b2abd68189e5d9e64e252d1c3b7e5bf227b8e2452029b85fcf9e954b3db893a1388f71ec8787fbeb5b0231bc82c4a029fb72e38b84595a7a5f7458181e0f85ea44d71c27aa2bf0ed8aee51194e5b30a6464873eb22bded6ab85cbc9d2beb4734046eed04fbb6203b13029f5002921b318616352ed7229910079f977f57f8338f5f2731d3c75b059e82d057838731e1280c4d99488b6ac6b04eac5765fccd91b40b15793fd8fa4b6527f7cd4ecfda343fe237675ccc1460457267706820ce34e34f956a8998ec7c6f947e2688e08336725480a4c346cdb485bf1aca00311d82ce00f974ebd4f6b876832e1f974cffe880194d96132559c3f22280ecb13b57c686b8b2a151f5dc155be752efa0ab350a20a7318ad961f31ed850368d7e992a5c21290bd0f43f3d54aba25b1ce0e26e18f344a33674eeae97acf904e12e1554be0e9f81048fee2368437ffbd1f962ecd4757b54dded441a54a0a9f1a38835da5f46501542a8a1e6bbcd97598e22e2221d2ceadfb02a0bc6cae91d2d689cd57e325156d3e2f6ba47f18bc0cabace0cd9c8d2492b3b7e1270ca6a20adf1cd1193948a8f44f0883740b3659e32c18306d8ff2be3555789b6ac5401a6e0008d6fd74262d9693b02d8d42827154ce4dcbfab25e87709d1627349dddb76bbda12eb4db81df79351ef52cd8f642e23c491cddb04e2bf44c44b28f6f5199a451841c8d2e53c45cbb67272b0d925ac47bbe7bfa225ae36a74ffcb8fd26c70f6cea6a8121371a84c0ac5b12608cc3ac637235d6723808e1e4dc58bced595712ff5f53a5bde21bd00626be8bb0b54774b759a9c39ee3092373ea65f9401adc5cdb7a1464e16ce0f220730b8d0a27a9f3b0ead80c22a31bcfa1ead1e51db21cc6ec8c46e0d60a0b5d0d306c4c6288cf5f4aad6a559489f9069f2ff013fbf452137cab3dbaaa30ce3fa9f54c53460e18ee5ea93c5e1813e5f34078b8a01c292d0f6c6141d4367aa34b0224b4bb44ffc5075f18bbbae092e0a7c4054874590df25ec3e9addc5d62d79d9605e162843485358a8673851748607c643a439c05087e634e88cd3d784d3a627cf5cb1f93113b85d060d4c8a99c4f699343a296692db7e18343069cc24db67d2e8643193dc2e830e268f9960fb4c1a9d246682eb3e8302725484441f66a1f41552f037c43ba3b02bf4c24a57b76f430a69db60f867f76c9b33510d0d026a8ca9163d27f43fbf0a7c137095aa5770a58e233c9c972ac37150416e0f7f6325b2d944d4a284c287efd5bbb5e8818f37a58838b3cec5a708e7e9ebc447f146c4ab94c026a9026088212d3eba43333d471d4a361a1119d76ddb78c405d6a9f705e21d8b2e18705d3cdb4656d842023abfad8a85ee8007867739b75fead94826b93b24011afdc76974f5534089190717b679d30a04388531ca32a1b8fec99d8f97ba4e8e0626694a6e0813006421657f80a5acdc7cb938bf7f491edc8e733f4595832ad3fda26500f096e2013f1ff6666e8f0ecfb15f416e1dbaa730b66a2a15e5fd45d6c3718976faa8f65d447860f4a51c5fcbf503e99747e5b0e260b5987086845436f065424cf055b30de210a4c6292d09f0c3b1c3d8ec19af546883f770c028d5c62276fc779cfb53f28121f5cdb24be0e9a87ffb370c130bb4f841b55b110def4d5ba2ce67bf657052c17bcec7b5a338702491b793030640bdeddf28004755a064f83da7c24589208c43bdd75235f5c62a7afc779cfb65e682c0798b4a0648558afa1f107e714bbb43a3cc5f367ce376efbe50d58cf865f8cefddc7d414ec40045934568f941f124c09e97c6d9fd574827bb1f10b9a54b3480ee3f1c18e77b21f0d95e68614a5553e9c496d7c55a1f880db3c06d5351b37fd197d1bad4a703954986f23f47b5423de3c9f0ae7cde9e171cc954e10b7790cc0617ebfc0bab89b72494cb7fe56bb81af2a3c2a658fb99dd912d2a7dc14c96b452ef8379ecf64aaaa0da58840e7c5f55b24d72e281dfaadd2234fcec22b6f95c45bed03a3d1faf468040f022f1b6c8ba09d5ac8c6a94c742721858c720cf566d666790e591575c9f2a0ec50ac745d7fe9a87970a6230a4b9e4162ecdcefdacf29d7c33796994e1a71924d278dfeafd0659ea47366b081d43e2f6730c3489361d9420badf8cc5cd1adf0c44206413c3fbdbd3928ac6b9369f45987974616ba110ecf8b4c83ff971880fa267aa07b9b30cad3c79d0aa60f9903cfbbb3be894b5714c9367a5671b90d23bed1ef495657b182f1fbcba6795ebcf7729c51ce58957ac8b1ff396fee11fe0150885a1d3eb9bd666931b4044773e80308e06ee60c5dabed7200f62060f49f71618330488985557954f562388523d1280c0c3b42f1e468188b0c1ace785e7aabeb5964e074305b27fcc2763d24138ba185514a55e159c2e46d543a13751e885058be8e6314a671da364d7e42ad97a45f10ea544cb37321838ab0a15f9edef2147f46bacfb8169e95340060800931ac020205750b39047cce6d653194f3de1edacac2f429f3cf135443b32b0d0c59218e3b6c231e69d086f8012bd06697e39ce0646453ceb11faae277f2426a9b6f535eee8255a2907771d890505637427e1aeefed4c7ce19e9ed7718b37af8af9bbc5724f150ba43c92779cf10fc3202064bd96421578b755a718f3bde0aad166e68b0787d8d1652b62b91b08fde54899010b4a248e459a9c930a79c996cc00df22562460ac894d614a589ea32f00c971c14cb2d135372e1220bac39ee2d18bc658bfc20cf20017fb61d6b2bc1c4636e7a7d88f23b422f5bb62106f56f4419b465b7c4aa367173a953fedd1624f498d43dd03e1115c9895309b48269650955524c1b180a667cd7d36971006ac3d47ad5e98e1d3940bb643f96000356f687f2c9ea06c85c6ac8f500878a217e48f264609ca39804406ccc09fc5f3e4ecb1df203afade629370be0281ccd3c2b57e27146e8012488cba596c62cc8140d18030b14b014e8c51f8b4a78320414e0bf0b335400b76004323d4637063172d94663ee0b9d73c471ec0984964f24c4285d1da937a1429809f5a0c3afe0672c9689ca8536bae457122199aff36139771fffb2f10ec65e8e8386cfe74a151758d29d945f20430941e7589f236eb10cc474f3ce6738e75e5d8fcaf8bf78cb862f2aa0b252e66c5301df7df7bebd80ea15376f4671666b6c33a41efdc145dae6f4e57c1e971866f845b2fb1d00e0b69b8f821e20ed8540ff3b02c575457255df2f4284866b8f8bc47684143b04fd0173be57ac42e4d8629262f666d9327991c0f1e6072bcb276b90e532c87ca6cb093e6516f7318389310d405f679922b1bab785c24bbbb1ea24b25abd387d48c91154eca81d7a5d3d8b46a081893200759fd23cd14202b99b920cbf96f2a6da897499af4fa142b4e874723edaad689fc9ce4197f934d8fc96260089b1fc890d109e065f706368e06b8aa889278186c7b8adc23526c392303624bfab9feaef0c88b55188e97708866c434a194bbb02084bafb85cca79c2b3761d608a562f8215ce083d2023f8a157a19c45f03f9e745c315407c4bb18aff64757cf090cc3cf98021b1c737f9ba6079da9b15e9cc54170556b51c4121e24debd6c080b6ddaccf79946f7446fd164b39da6ad926828e1db2ea7afacf1e3a8d450ea9d6a5fa7effb3cb75e22888d468655c83f4582939cf58e30a1fd9f1a570c6a7d9e52323f4b790436636786491dd0bb3d5fbf5f56931640d2531292a64a5f59b4a2a0ab92293c72469985aa064bc1f414a18b3c302ca011d6cd2425e3f4608f9fcef1478a7062e2ab52653aab8d199c54537386d822dfa0de0361e9fee1912a63568c0a10814d602d72fef1fa78ef97c7c300d0cfa57ccf891fd35f4783e4e9569989f0ca0558659af8158681e32738f509ead07c75308976d413622d6cef18f4844b2be81f531c0d1050984e0d77628e545be200e0a1dfa6e7f7850157e01c39278bc4ec4c54ee49d46a1eda1c722de03c190cfc1946f06c1e549dc058081eb4ddc97781c683512714aeb65d0eb4d983e5a4281f3e50c586f63aab8c11114cfe953ee996023eb28d7dafd46afd6ec860e045e35b22f8356d28dc08c7f4b2586b73cbee4e3a11564cdb64e4bbf3ccf3d400b51f11ce9f3ea6e4ea0e23f77f5dc5ce9dbb426dd3a6217996f311f7c10aac4973d4396b840d4a76a74685debb08e58b7196f691dd74785d73104dabbb53234b8680a5a813bc1315567a3f6369d20cfb2be34cc64e0985591346f8b9d658c2af5cae99338c7de64cf672b5ab4c15878b7c84546201b486978221537ddb23f3e5f48ec7e950d010d73adc9cfd9ad88e84bfb3efa9b2a2ead28668753a53e39c0a34ad7b5be25114bbac0a1f579a39b8318a6badbf5c4f95425db2a8c4e2f74a84f582bffa06eb06660dd78e9c85c71c94784aca63fd00eec36a10735673513fccd5d2d21dc11facb7641d0ac968859bb03fee0660a144976eb9c4e4452b78e853d8d30db6a76829b0be8e8b73dea053e87b7acba0ae6e93b3408f5dadaf02cbaaaf85104db5eee407c71af1df78c40f0beecdd70fdc0de6d5583805796a99335ae9b0541071d8a11103d65d964cf033707c5104283976c47c8ea4f54b13ace4529ec5d1d0da66548e1a45d9e12d58817383bc931253a211300366cbb7c280c38100070d30d0d18b5f6550384cd18b188188e82a630dc07837aa72e3421fae046e921ea8e70f953b9880d472e58fd940df69c00908d3d7b0c78441d544a6e721ed63c82000b0ec6b4b5fdb53a606d57232a446e1b5fd7803ca69f0a347a4dd4b6ab42349884b0d5cb4c27da22d945a15c7524e0a101a702f52b97e5c8c343e99bcf3185e0ec1d3054dc682dd121071200385d1c00b62931744c96c34ca1de6cc41ccffac92fb55c4a88c8fc435d7a304b36d32f0b119cc11387cc60ec8090d84356c35f0a4827533be5278806e292160b38d8af8c476ef7b31ceebaa3f14ef586b575c833a4d205f426013afb743651301c1675c17b124311803b47c4b226e41e19e58135ef0c416281698ee8a400cdfe75ed1cabcaa2985452f960c02e184330e10040b00a7cece24770c56fe953eac1ae4a1391ff2bb24d761329f7de32c91d6a037c032f0348744d9f913ce5df48964012850458e337922e3eeb9d4409931a76c04db992c5fc9d64fdbc93f43e5b232e8e8c62ae345c9cfd329b377f7f4ab1aadea4017c142780a04e130404632b05bf47d5aa0a7e7fae58666f3afdf97b23e317a1f033143051bae29bbdaad91b19afaec8f85c7b531746f827d08ac84668f5931aab088ab98da97ad3a5827fb259df2cf3a7951a1aa0943115e55e09a5582189d04225ca9bb3a63f83c53fad3e4ffdde548d8c575765bc91bcab79c97953dd2f247dd62893d4080d2563fa037d53dd2a44e18347d54d7db8d4169f355aead99208be38513284afb07dd6381dc257c0e49c33c619e3fc816bcb8008e22b54f095269fb51756c65ca95941c20a0e6db095285ce50caee2e5b31e42094c65cb67bd622a528ce09154b850d182ab9081af7c11329271fa63c69bea3e92260b168bc562b12e17ae6d44a391549e2e1b2eacd4b58d9a5c2164a4c66cc9179934de54b7d113e267cde6e651c4a91febf4996b1fe1662e35bc6ddaf818d18481c687cf7a0a2fcc04d1442993c4849aa32c519839935999c5caac9c736611b9f6d116abcf5a891c18315646304d3e6b947556e0da474f658c606a3da4d14beeb36601813959ac93759eac93c54ae2da475dbcf86ca6424600f82253db37d31fe49beafe29287a9ee8799e2805ae7d011915387d5192531f30abcf9a950e69214ed679b24e175c7b84a79d24028ef8accf746880236e4ca1b3e6400d60840da500a0866aa469b5d0d4070e1569ab9592ae8d82981a687296d8f9f2994c83e0bca9ee15d6cf1a455b67ea2367f9acd1b1746d17aa7c6eb5d016ccb5654c50193e93691001de547712e1673da618e02a9c34b1259f3118a9b84a4d3da6414c967a6328eb16f29b7a7c739b59a7f0c21768c2c862c45e658de653df5bd4fa534891cf2b18a9e07dcc817591f92c5f81a58b4c21229c2c8cb1d6e676edc0971f6ce4317e8f0e9891213b645f8f39dcd5ec300bc61c8e4df24251c31a275f084192412c21cc66f6d205141caeba305b1846410c4fb32053edd1b1e2b57bfe4a69e1439011d649bcf64331a8cad54741bb9eebe3a63e0ab2b01b168c39b48e152f720c2a6157670bb36f5a6d12d32cb1eaab0d090455133170c8409bf59f25af9d6b60a9a1b1e038bd5cb71e0557c916515111ab675c59ab169528c6585b6c6d6996a3551454870e1ca7b288f794bac87b4a55e63d01fbd6c62aa7d5639b1442f93cb6c9e1e3a81075339ead877bacc9dfee519dc7eeae2988106b7c356ada482dbb49b7766d5709eb9b06f1bfb42f12abacee2c1dea3994ff9041788ca2327cacfde741a00b7dca87a879de530de1ca76b2d41bb7f85867f5c6adc2da16b13ecf282a505139dedbf4ba1ac295ed5ef71bc2d5d5d592d3ec6a7b9ebb3fa4c6b7a821d6051e93a5c61a6b8c3549b4bb2d501d230f98d659e7ec3e7705fb9b811f5d15800b2e3136b109b3474defbedde307187dacc691c05bbd5f0f8c3d96c88b78f3bbe8dd35e93f2edb0e8ffde0045d303ca6bf1a88ffbcaeeea0e971463059747fb5082690d6857ee0f20a1ded4f4b8f7ab75aea043696551a4333f44beff3466f1a2ebd0548f556bfa537023f43e5617dae7e9daf1b1a392e0174aa5a9f8dc0ebd86117b865bc5cdb28e0ecc72829a8dfe3d55ffdf3639414f08b14c95e505e3bef91f8d252bbbfba88cc633bac041300f5b000c8c863fc21445288953fc81e7e17d960ac9a8db526f05bc603f136eb2187cf5bd6c3af07a22ccacc8c943352a8904911e39c31c14ae40eee835fb9479c405071e3b70c883614fc9675f935604476fa49fdd8d876649a20a34687c6c3c445f604b08c152ce51a4666c60a336a6466c230338697df32a92d6064524fc8a4a290499d1997f82d8b620833bf65c0992c18068d14a93047a440e208310a81df4788631c215ef90da40ecec315c20a961917a39930470d27942e02fc365242451577ea24b6315272c5c489edf6c3ee1e41262106690c12b1658bfd36a275b1fe365ab25bf3dba856854a8b3f411935916a528551132e8c9ccc4635bf8d9ed87abf8d9e483d3963f4640d0dbf8d688882e93792dc0cc98e86f5f7119415ca98037e1f416173ce78703757767e1ff120c583f0e836bba9b97591e6f7510f63c82653aa44c182890f33f80025f5fb48ca8c88a4a8df4758a626f87d94044e4b0e5b6ed842a6dc423ae162c81c3d493d098f9eb47862f3d4e6880b910b9b7326839994e5a88b98a32e41a0191092131a6e487f03e180001ae2082d5c80bc003501c1ef9ff1fcfe1f7806fc7ee10f03f81d34fb3cc5ef20e1e7dbef1eb3027ef7c06280df424508f5d0df423fa132233c21c2444209594cc0720212284c490189cf9b85272ca469fd6e2187282d08d1421717985c28da76322c32293064552f3cc180832107c3cff5fbc814387e1bd53e6f23284652747e1b391991c9f98d6489c6ef66909d5d1f1b5ebc9cc97bb00fee41b3b6b1c6ee461e28981ad56e63cd4bddda611707bb4cde83758ccceb6a8ffddc973c86aad97b5c6de1e85e3b3fbe38f7e10fc56995300fb2b1e635a5d438f759ef4fa9dadc6dddf5f1c5f1c4ab74ab73ee83798c195fb7974c7da0efef6a595ef5d47f6aa0fbad0b2387de83b34a52798fdd8d3cac76531d73b8be30c79a552cb28a554516cb4bef41fd7219df4c5d6ed7c42b0e85b65832e58042f2621d46a7cbed9a7839e1544e18a696cbe576388fdd9acd996455c63cd6461e2b9770b21ab4a2146834a7c25115c1a580c3e13ce739cf2129eda0c2205038358ce0cc4b84622d272cfaea3d87729fff8436674f6d5a276f248e5c2273e6d4d04c857884444e95084949041e1e25252425a45b6e0cbad6c9637e6279dd78a7f21eac2dcca61b94417675acad5dbd076b1fcda9b4f87c3e2d4c3e9faf8c5379ecfe942e8d1f70c17aae0fd6244c5f1fac4b588efb607d87041f87f158e790352bccb1c2a99c1cd2b6560987365221579f9a1c9e4259bd4008402a74ca6a0cc1b9d198d174563269256b1d00711f3cace57a50bf3241e11dce2ed56af3e180bb299d8f38a3d5926c3476aa5b9a14b652f502d92b156a0db9b9370fe25fc36b6e535a4a75bd6bad66b416524dc7a701101d1d1d0ea9865443aa3dba53dc218ac16a67a78816abac157a6aac6f4ef5c649d65ca9d069d774d84a83386a1dd6c3432e914b459289d491bb2a2b2ca2288a6a92e73f25d9b3a8be300b80cc7347ae0735fc95090aef94ce66ee9a522157b7d41b2d4d7ef976f5d87ec0b4422df58736edd0cd31adcf32d6a675acabe94ce799d64da218ac78c6b507100f0f1154a84a148315510c565644483424a476e9abf3fd4152ea1b7d89906c638ef1c994c889ef06616d7765ea41a96fd47c7d54cf5d1fac5deabd790fd6bbeb8335ca6a4570e6e55e731fac31eb5a4ff21a2bf551b2c8199b5c7a6c85e4d2257576e8b58bbb4c57777797779d6eef420defef36ddf5faf2b09664ca4ad39e17f758677d71fee3d27893b5c7b95277a34b8d6f68406afb3c52e39af031d62f12f68043e0fa06a6c32180c04b289fc7462018e163a0ffd820ec63e53d45f7c19b5c4a72db795b026e27e680013939c39c1c94672300223570561a3a220cc9ad346630016f56572e65c2e574bb16d2500708c270888ece70380e1fddd909eeecdcb8d216ca03043d79bbe11415b1c8a34110080f4f30189c1a738c4f2c9db4e98b88527b49ea52bda4f778ab243760c0d51d848e686e95b0d161234bf59d04f736d6bc7c554bd7fabc07dfa14f0bbd199426ce169c3ab5a14635531f0a3caac974e87c14b5eacefa0e993aa79f537d5321ae83d01456e695244de1bde5ccfde2d2d487036f47dcd2ede6d6f5e6b6d0d6554b99755da1721ebb503f9df3ca3d3c364661f9e131168f756a77377883e90d5ee1ef06d314b53c94c76bed9c68e76b3845452cf6006617ef16afd5ac69e46177359bd2120e6887fb601cb821b1e7bb59c796665a27223d2ed067feca78cceff5aa7b4dffb9f204bf1d2ed7eff7039236777f4a186c0cb2ef37e8c2a690da921a35519c43a14dbc5e138a3ace714cb9a0a5ed78a7ddb1f22e889bc3292a62b1e54d5009981b87cf62b62624b864993cb65fa6f59d4deba4699dc9de619569dda6422d56028f75d6d14ba0d5ea094530c5eb6a22a45eefd1d15a2224df9863fcfb536a27f51ea134708dd7c7f514973a5e87d2f1a6a9855853a32308af314a08df5b6d6fba010441a4466136d490eeda2dbc49dad5bed36c109acdd1adb53aae4bf26e5c50ba4a3a790fd637788777787fbca9e90e9b78b7a63bbcc13bbc3f3608bbf595d6faec4fc9062d95ad227744865354c4a2f5599fffb89a76167883a5be4ef39ce3dc07dfe16377da017daaea163db6afd2d8db5747f3d81ea7927a96b6b474db5de2b5aa29e1966e38a6dc7628a81e6fa76be239c5f65d1fa3d6adeeac2a4b6d3845452cde1cc774735c96f576bb3139d40f384621c17bbcc563ad5f39646ead5336a0238e4d121f6bd4a2b7355ca948e190b49135b24626ad2b94fdb52e6d863ad5c9c4c265fbc3ae1e39b42bd63ea750e8b89a9088ef6d665e5aa9cbed9a78a43325d56c4a4bd771339a4f098796ca122d8f857506f2caf078bc35777f7039be92c772d0a8a3c234a56eefbdd7345347d2a5a98956e580c4562a84143ad51f7a76e6b06a64ff25d56c4a4bae5aedfed85bd6e5764d3cb32451170beb7c73b99074483a245d1307018b51a894ab57306b58ba1901000000e3176040301c0cc3588ea659105929e90114000f71ac82381d4de5611806511849410c85200619600c00c61043a04343722600da0763b3334f47bad050ae3b24262abd1dfa75311a51ae0cfdb22c9edfeb1bfc06be6e4ae78d3a4841c20b8a75cf79bf254aa6af30edf50cbf2249afbcf1eda7bb85b2fdd5834129afe7a0bd07b77a465d62cd3c5d33765dbb6e4a21cf499e86bda120c0d3cdd675b053812a141ea18cd7ae20bdc2fe173c9ea52c7b6d350f3e1061d16fee790092781df2eb292553a91d700279e83b005ff2a155b2a1fd206d00deb4e7213ffd629b0194b0dfdb102c46dd31f46eadaa8d90c5d4931975767e21329840e2b3a63983d2111130aa8105e03db03d760cffb4aab922faa32c924f8111209fa1497ba9785195b05610923f25b8f4fc674fd73bab70bf28ec2f9c1ea231130c20802ae71e46487b1a5db5a2fffb01e4538b466b92872089a9e5fbc68181e754bc130ed2beaf43163cbaf32c83a7be2eadd29f8c049c9972082804f8f3f0b27c7cebae22780f9f8b13e9ff3d9f4d8c3c1d2830afde16e60cb56aa547742e9b7d14adcf0a53d59d08e69eabad5907588d7c298f56350d31218d45866d07d4825c431f0777605f8cb469a52fa7ded2dcca77bda5dd2a35847fae61bece6d5d26a824470761e36b9c13f32fc28036babbe16d2157e74b8976832789476b4e5ace4f71a05dcada42f3db2f97c4c0d7a59e008676b342fe55ba553f23d5eda119c99fee9200b06de055038638b211541d017c623f97a8c7d1a71f44fcacb33f03adc79a4ecff626d8878ab6ba28de439787db0886ddf90fbe0e4e9ab4670edcc6b9b15772f796a640f643ede3edb790847dc2e02e25b15e24aab3e9402f64be56e0c572b454a32f2013a678e3be7422c253a4c1e3629318a0e0ff450535d45c1b07b20b5c64835fe0dbdacc5332cb04ef1824107a541b28a1766d00fe4d8aa142786fc1efcf6a1770fe3680c7f9515c878f964121919b9276b4b182054838de9382e5833461947557d7ff1e2d822585523a8688dcacf868f31f9598e0b81edb4ab78ee0006f5668fea447146c5ad6478fc6c32ed4f679c2ef54eea11249c53c37d303e9523131d561861b453da74eaf344a6fccbfaece4b5226599ce46cd9a50408076afac1d7955b7a6a68124a00452ba612253702d1a450afccf928bca065ca70c28584544af55422ad3824110428a6a037ac8e09214354a838e24d6004ab35a13e694807ee5858291df7059e8079b4d65537be0b25131259c71d8f32a16503877795d6d08ab2ac180d6b4cdcaa4a70e2481f49a3562d776847108e666c6ad2a4f73dc498c41ac06590126a7c2cf29954c8c77e7ca42e2a6b337a910bebafaa49d6c6e6b4b58b41dfadc0400089a738bfb87798b79ed39bce558ea4cb7606fe4b2337b22c858068e5a3a9d391251fd368256e894dbe5c584b6c162874b6ebf41aba2cc6f92f55d6b8b695d565d853136b3c52a35aaa4695b9db8343a10b0ab1b9417a39d6e16bc612426fd99f2e3b06294be67107d99caa92afeeda7cb55cac2fd26e50e365b984cfad289874444b0bdde42acb51dbc16655bbb22b2f168b8f0d1b43db0bac3093b20b670b0c7f68ebe33294f1c5c54392cbf5458b993b5a9c5410f588020d3475779a22e5d7e795110a1d8b751863407d45009d26ca4cd55657bfb95587edecb6ba5b3b1684cbb317531520fc50450fdead5ca3b0d9d3ef79806cdd6800fc8400019cc182f9cba69dab09a6db34ce7bd5fdc7c3849cf7353d9acdc1b6f1a1422b1eb4a30ffbb6ac4d5306a45d351ebd6370fcf8297926a09887075b9eb2298a1ffb98a74f59984d547a51253053a537185e8176e22dc19b5ba5b49a49beb9a39c1876f6b36a58fdf50d8b50245cdebf80be45b8f11c73db75006a58a2ecd613729cbfa19007ccbd09edd9f21cc8ab5ba3fe48ea132912cca365874b51fa4818b7d1974ec9479ba1f0bde97e246df76b3c5a682819dbb588ea16037bc883e4c7af2c8a899a0d69860b66875c6e823a06e66827f269ca7070d5fd8bffcb60b1961e7eeebc5deacbe030182cf7685a7f678a1a5d2553380ccbacb6020df5f66d79d4d6c87408665920d1f90a6b642150608163ee155f8d7fac2ff58c15a9fc4cfee83e4841775ab6e9093449382ce3d8b81051906a5b05b4c534c5e469b8701807bdd4e31fb610769eded5816d3714371af6daf6201b76fe015247234f9408c26153f026862eaf404961d207f880237bc3d40626c37ef4808e4ff36a03c6fcc6a293cec655abe4bc0517552c8345cc5e85b3565f08ecca6a73ab7e7751eba6d586a7e7c31822802a36c4c1d69f38aec90b1f105fd8e8d619ce95a3e438fb27c00ebb1ee89b1e3bcd344ea200a43b5af0e56d11975d268a55bada16907279610b4b7ada2b5aff32b444a35f82c314d1b9415eb7028975e31a0b87a9630ecb4fbbc9dfcdfe0a5d9bbc6136b323a4b2a20385c48c7454edbba7e5e5f06fd81f109ad4614da1785b8ed62a9f2a2a26f6b32bdd23433f7a3f7e9f366adc8ae571a97e0d41cd7654fd00f3af513be7b818d7899f9e368fedc889ef2e4d4426d871c3ccc8b6f91a027d3262f356d86c4c1c3152abf8cef1949eedad7cf44dc75865205c60d10b6f2c6d24998542fcaffaa55f8d20570c6fdc728d1ff4f3db15dffbcbca8a6d1c8ffa238933b0b3122a658a1c6e385041daeca0259893149e1fe392f8550008d749a02d3cce9a7b58da1a95663f310a4d56c8d478fab10dfa2e911b5a1447fcf033c059a852f1b71104a5a41971ce1c45ebcc4559087aa3d93f9347baa47fc530c290e023f1fc359387b863c9018b5d6ad99ab053bece01b57064400c8f6b8284da588d5d58451dd34294ca3850fc19f1644b640ba7e39a8c4ce14e70334f4fe9eb9da11cb887c3bf4dc873b5003dff0ada85a056721eea456c15494da8e6711d0fd4e2d986077d6b1df4e39e68e6bcdf14cf60e4070ffc64a2a46f29f8c36b78a2cc1333d1ac44349e601010f839f88b2bfeedf80fd73bfae21b68a6cff8accf4a95c64f46064b248c69563ed27eb7cf2aca22ed2e6d00b078170dfa5ff0c46027719775460cee5ba8ee9c088365379af56c873b21f4d3b44dd1893c103e5d008301a262bb1471e78d1f4ff473bc9487410bed7a084a1072df9398e2e70a832653d6e2b25bedfee80051921792a026dcf90fd03c91027dc918342608c99649e82e887a01615a9e9613a7e296413bf39208b58e58af2875b07b96c4c4183fc1f6c43d65ff7c9cfe3d74d97562be7344962245c14db266754b8962d84ff609664ef9c734a97d066fb739c81f54d18fe5e18d778faaed288d307dfaa87a6317368c297a0c7fac6d49c4a106ba6796ab64aafe6d127548704b4e6b621a6fa736e4bce17562e750a24b862d5e3e39e6aed91a1f1620683f1c2d5f9296729fa87c57af44f7c253bb01226af19a717b9bdeb7f2ca52b482bd52fb05859a3c4a633e9b2d79786df92cc06e3f523d7da9425c083d3dba4a9262469ae6d086c4875569b3bc28d367f5b98e4cd1fe7285dd445a6706292672e0b31be291e5c523754b14d678f668e39af357101171946fb72b6dd4144e1421e594813077ea9c93504b1aa11a411bf74f8af2b0f2dd3107fabf693390ae128cc3f91697110bee108a385e6bfdc51012682b7c33f98ed9b8113b7a1c032407ca26e6d30c369545f97712870f16e5ff54b8cb492db9012bd4b5973e1cc2d167c4ec9d4796988dd98ff72c81186cc7d7caa35bbc84c1b7618081e51ed8e6e2de2282044604d7a3e8943a5c880759d9f35c594afaf7fb197ccf72b464a3afa670753097fb228ed005875140f13d86eb85f2e1005407f15acd5fe0ba42898bd443b603b66982806f1d8df60c02ddf608265f1fa47549de6a92f176f0c38a38f486fcb3192de688703316d4d2f9679955b75e8f1b639c1314c5d8626d79f25c0943bd0bd5d9c7e679b3944cb23c218b72b22a232d55783df290662587abbd411824c00c9360ce48631450ec29d9b0f52221cc690a28531300a6b5f647fcef6ebd9dd03f51c0524ac4eb4201e32278fa4c02fc6fc98e4b3ceb89b7431d6ea3d9fcfff69ec804aa29565b144eed3d09416190853720c8ba91bef9a3d1ff4691a1c143a22548dbac6bfeeb72882fa943082706a46321c4e0698cd75e2c35c8adb756a87b5c757448cdb2099d8297fea14a30771d6cb2b8f510e0ab8d6ec5fd7a2270099e10ab23ceda144f5416edadb03545b6522c0d25f502fb983aefe9d2e279187b0cc2be9abb57da02d90fa59f746f7a5245beb7f7882588d78a90e95a1997ca91120c1786d1de7bc29aefd247a344db4bf00b765b8acf1bf2fa5ef9d13c7a3be43b74c691e20fd24d09a2a9a7d6922246b5a95086d762c1df8ee3be9603e4cbd347dfa82101db01f9ef4e1dca32e416dbd194586c027cf5eb8b1d54fc67f245e826227fb4074889c8d778237f449039d1cf432c241560709c174584b42418894f40ae8dc57f5622085a1ee6d33e68d07e89335b3a116be45d5d4822f0d6b3690926e116efab28f93878e60ad41dc7cf4ceceb3b2dff33c82f2c05cbdf88cd8da23e0631ee3433e49ad73e8b14cacf633dc8338252fc6913111587810f9e3031942925c8b60f0beb3511a65c1ea3397be31291ad6c3c01400e099080f31982eba2b3b0a1a79a2ac1954b50ea0c64c73f830411533c3c9c48ddc6964a143f31efc85e22d29c5a18b1cb973515be35969b99d3eafcbf87be0cd796b00d9f625e92e5520785ecfd1fdb0c5d05d27ad6de51971a67494843c0faec8978ebe4abb02f4cbf4df592dcbdd36d7549c07585fa9e90b9a224aa4c3209927592cb3f142118216e6bdb147794cbe9166169ea9039bbd9082b102250200b054935054403b511f517e9bfb52ee17fb46a8663e52ebad0c881a464e1da4b1f7eccee8853b9abc3960775083b030a3f8a293be2b070b5500d83172b92c33ee161b4427392d47d8988f2ce03ed1882e619e448d50a6918bdeea04f8c6111d58ec72f37c5c81f467e0aed7f2fc68d19509fb3fac7f486461fab87882f3210a991939281e2a4075728c5bef89d23f56e5bfcd498d924f4c2c5775cb415bb9f987e1bf33d358eae3c11c40a554edbc08d05b33d5415de457c8a20641bee57ec63be93be9345d9cb23f2490c99fb4f944ce93b2dec257ac8e642a2d87d3f2005e93b2d6c5e5fb3f20de3b447bced8161ef88e4671cfb766f038dcae40e824e332b2697d6b1a3e02a906c057a67726a8906763916f30bc6bbfe031a3bf7ca1d436f2e60c4089d298527de5c1416ed3fff59ef907b6540d7a99ce4620f9e635439cc0c66dae32e89e81856c666aa333b3c9a8c8ed27ed93eef392792a8a2531b65b7c9c40f074702b90296dc062cf7a81405e0cdf93a963e58eb8f056adab3c1d5c2a5ac1cc44bd3af9b30b6da2b7cef036ee359f743a51bf24d2b3bab4d953b55c69681bf7d57c5fa7cd0ac35ae138de2c97c3b157da02f7193ddfeeead02ebd07be2f99b89d5e8d1654d76a2c12f8f3305448a31879de291d243a009311b424416712ca8b7b868ba5275b29be4459241f1dbfef0143d7c7b410b2b9f15643e3be9b44595e930fd5654913f4f6783987ddf5f10a3d062fa88df720549ae89404f0f87ace46cc768c662640c80a22fa39960d678d3b351ff3c627b0d17ea1438ced5434cddaed6d182f5b6d2f99848b90f34939a7d03e08c517e98d4755dfb879574ac2f68cc03cbe5e47f69699d6c03b3aebda9087b349ca6d72f2962246ff84b1589fccd234e86151082753f23cbdfd800e301fa7963d010e34576e467cacc0139b82378cde92cd1f987ed5bd1d399b9f0489a5c1ab29a42b155370621fbf9e791ab4f09998acbf39cc131d34697af5d28618d8fc0ac27a504baccc7c80fa3c55e806f744799897c027767ff72ba85d898abf91c9c35a41afcbc8a8eecd1a4d6140592a1ae1dba074fabd3d688355f879118a40abc63b88c157ed8ea02ce9c988821825a066a3886e846f8acfed855b28111554b9f8a311dbb79f5974ec86eb87423d7464cd8061b2a7893f3a63d441a68067ad382424e2c38afdca0ee43a21a087f597aa8874863e819e72edd806ac4ad7498d6f3d0aa9d9a7631741c3d4e5fc53041b9dd16b9de09997becb363b70f11edcfc0514eacaf8a20c915a63e88a01a1754bbc2ce85fa7594d88f2f3daf356c8c6e9e5e2aa7b0aee240b439d2ed86151d2912fafc8a8f02955a7b855183c7164b21aa35138e4639eee636ac9a471ce20216c093e856e3768b93239a9b4b7c40b31c69aaf3076761bd63142fce4e5221865127d204f2698f0c16b4dbda9f8c5b1948fa781ceb785dc05b36a6a4f86d0e73c984dead93bd3a152c707d5b9c18d47f9ea0b075fbbc22a9f70450c1afb824edd5bbc25b9afb4977b7d7b109af4c2923fec83b31af435537a43f0942a4d8cb1082413ff03bd2570b0ccc032eecabdd39e3d40cffbc28e984649cc21ebc67e752713f52da61531c3daac23b03cada5018e113933fb599c610d64c00b0de8f9e91e4d74a66bfc806b7b9aa3cecf6d883dedcb7ab983aa9c49d053109aa2fd8978d08e533710d7e07f4dbb5851174fe3bc1527d301714a03d1182b2eee78273623c2b33c7a9b0c9b047b52feb0255be1ad1d3386f12c07534684e2c34d54f2dbc72bdf11eef6d6c402a4f2b879a9404bb3dfe6a7b6c2005a91f8feec79ec28d8dfe04d32b29b1bf5fb5ecd706b495c137e22562053fe608aa34fca66ae8068a61c4962fcf9c7614ad696802c1e6f1d07167f365637320f42d9af90293724e7bf859c6f030de2033530d4bfa659bc406009901ffa7bc9c49c25b7e791780f5a64784f0128fd15da7c631d5a5ba4374e5b6e2d7ec79e90f94cde95232b0a1519d35bbd3759079618bdcb6b03c08193aee45ed267014c400a066092915ee16e570e81143016578e8fdc3d5c88b20f0ad1c589f74e309b7e7b7911b6a71af78111c7b74b631ed231f4e9e3cac4309fd8b884526e36df5bf4de23fc4ceda0c9eae7be1b00fe2bcee7f8f56939083481c0efe2c062d3c49b1d6ef627143614fb4d85649a5d702c79e8809b1ca7890fbc8fc0e810bf4faf51348bd8601046bb6d846c3d94f686a3ebe1c98334672b1c1e9f5330282ba7ee8dea98c02e96bc6c69b18ae00f6e85a3466e25c379c283ec97236ab45c856011644a9352084dcb03a3d9035dd966620d02431a863eb4a60e52bbc5e44b4a9cf6977135aac7d6c4c31120f99c7a9f6a87838a9ee1b2b9912cb633ddc1d22abd3c1485742e70c87b72b9c5a45b85bbe5a95d07cb304d6bc7818f05a7463f7f79178d6b26532d66acdf530910b98ed6fec44cd1b7a4bb961bc803de0d8e924e275cb96d9349f8a6fc25798d30590563ffce1d23f0eed7f03b9326e3c30a561abfe743b5139940cf5955c959a7decd6e04ca915bab48501cea685e5c98854855c1f5be403c0fe68f949b8a36b90b0cbbe2aa02bae18264a7814175803b60c41be41000c50050c04ff9cf63a901ef8417cfe0a13954416b0d69c147124d386dd780957e3600ae3b3351534fc11bb8c929d25a73f7744cba8acbaec77d67f7b57f26d220fee617938bc9b6d4cf7b0f6c43ceccfb414a0e5a93154a7af0df4008b725170054f36fe11dbf265b8cb8ca0d1c3ae5e907091f961527a35729a1eda38157d377c2988d6b7dec947d09c2b4e46162cdf2a5102191d3761b4fcb0d79dc107b7241b6608475f368c5795785e774410e88c4c768cd77cdd33b8ba9ec9c0d349bccc434e60e255b5066c63e5993267039e370ad2e48edd3a3db6f509b27b4d2fa299cac40cf12001318a00a2927d162361f26461265e0d47aaa97d3000eb1e156e399ff2ae98223130cdda394b078cd2e9b18fdc9b245b4b3636c13d4c245dd6215407770433927ec06dda1949bf196fa74578abaab7b9908d454dbd1e8349f9525c610310dd2ee96f66cfa0383ed1b99f617f0b09857cca9f91a6455d4bfa96a0f1178f5b28ccca4c307e971e5f053b9bba8a36e97072992cecfe0cc7f5d0111ce96651c8d88a70f7f1d08889d4da114e009780968f4f9882842cbcfd40c0d31e9c84a6d9d4cd0ed318f260b1c267fec760d70fa9475fc285f616dd82adafc7173ba3034dff5055438679029d13222a0bdd7132d323661efd892222475483858c549a19759467e712a3c794437523041e238d17c2f235a5a6309a8f9bae47b0a609efee3ff8793e53b6ac036c5e8e9c4ed45326b2c09880aed150182384a5d4353b4e2890e8d54ff8d509aac24ffa683e43b9101d04940f033a678e7c5d3090b2d28c01655069fe44048885bd40e3182fcabc4aec22db9e17f8d1f0e1336877a27fd6aec0f9b356d0804165f5f5c87cd9c91f2e80b108b0584521f30b35c4251334d41816f96b599787173a626bdd841a496a222242429b482965ab07d007bb079a7e01200820049b6ddaa00f4016b8eabdd10d82a607410021d8542bf5fbb20cb803b5438d1a34d9a7a669d9edb3dbcd93c56031b51301416fa72009a3a627b8652cd359d6b9ad064ccd936d5a76fbd5bc591b5c021a9a1b1c326e6434415410d2c2e6b1268e50dbc7a86067b67359fd7540cdea778f53efeb07ea60b15876c6ee08352ba7fe62342ad0f4d0da6b0b85ed5e464163599b204bac255610221fddb91bf1bedd4877eea72cd80851bd91edde8d886fe56843a89e3835051a7ce1822d4a5eb00228868441c418557c8105054b5ef69efd02a00583adec276cf77e02f7ae95e5076cf7ee63bbf79a7d70ef8e536fb6f59bc6cb7e634fc3eaa16bde3db432db3df40e8dae1f0d8d0a425af884be83f7e60d9e484940da3e0caaae4aeb6412526baa50d213a90a2102e889544591265f53af1f5fc5d79aca6446655a44a3d0235a853ac1795a6b837a3d0f6b837bd8997ad6b42e6b239e0ad17100083eb1f2e580b9d5fd7b8b84d3e9e9d4df16dd42bd108c2753f54e54fc09f8623e01f5316fb5e6db2c1cd1e1ed370d2e7fd4f7b03b343abc37931c10867a050cbcefa1b1b06c81ff1efe962df054df53d9ea72eb01e2f1511033ce28dcced09fde51dd81f8cbd8a6b7396d0dae67d5bfdeb574aa601326d88c5973d358799dc5bf396bb27340534a310e039005a67a7fba4e1ca1aebfc6d5555b367f349abc8be6a6de56f172dc4c2f456cb5ff956e6ca8bd0068c11d66e92ccbfe951efde0c9c61a03b2bd1503a4770c90d682a470f329014961c79ec7fee6e6c6da0001326d6881ad166cebebb5e3d8ca953b346475d9636b7383dd608dad4d2da712901476787ab8263c540e31312fa1d6681bc69b168c4d1c6109550049e07d2a73cecfcfdf1ff0eea175ea77684e59f0b4337686823b6ade3494cbbb3eab157ff894027c6def9a37f8c0952844fc206104d1d4a204175d704101172788e2657fa9262569d24c1b3689014400e9ec5ec84446c5547466312ce3a39069068e208c7b746a4b251d6538d346b60a633b900e86c07a7a7a7a845ef57ad6d74a671063c9072e9a7290e4e7457fb220b282022ba404edf0a215086fca6cf3e569e57cf5f87c10154a3c67ec8cb5375536edbaa1d95c143bf6cd459f4d5c8566ce233d2488aeaf23d0e82142a890d7b5d929132659d99fd5c84e93fd46f69b5bce97a5af99a429e1040c5dea89d44449f7e84f637a48cfdb8963520c638cc1d0965a9b512cc3305b2b4dd2ce6eb3cd4eb68cd5196bf5ac58769a1deb4b83e7755d5175cd67415950068425f1bc49abc5322dacf972e7b655a45513a63de093b5d65a6bc9c0fbc60d3dadcd349db5d65a6badb5df297f9e77caba2ee664ede6d56ceb3c8edb2c68bfea719cb59acd2c66e7a90bfaedf4f3de7bb91f40963ca0024f0739012f54eefcb9ef1c3882348d6a1a47636e66699a88ab8ba6babe73644d1879d17366275d7d99cba95762acc4c03d2475e4bbe369937ab74d1b234446f0471b23a88bef3aaeda0401525d3eea4c1d800bf89405934fbd8b017f7c0ca88b42a68d0014617b7cd4e9cfc4517e3c0add47145079da992ecf8ced8c05000dd8e33a5a448b8a6811c7711dfd09ea6892aceb62b26cdb362c020f3b816892eab2f61da03ff4881625ad603bc5d9c795a1e68ecf1d4f9bd1a6e59ddca64dcbcb3e5017ef5dcc4588bcec433c998ba42ebe08f9544996d3ce8c253842a8b99316d808f9f93232fe45964588c6637c08cc17ce27502996c0f21ab358623b638f2aed6bd69a3ced11b83bbd9df17d9fc5da986e39c89cb15dd789505d36bb47b1bb6dddc5ce5de0d35bd6c1ce956058de64efbebd7f398757e2ec1bafcbcebdebbcafebb2ae8bd9302feb6eb22ccbb26ddbf0297fd5f5657b5ad3e5dd9538658eeab2dca7d61de7a3ba6cc771dc39da83455bcbddeeeedc2d950e9fcb4e308f0fb3b73103a6bf417a42c93a6102ac221343434ebc682fdc2877f0fb948666ced4d32394f446b7cd8bd9d83b4a37af6a4a79f410ca9d96fb86a63c1bf7ed029fbe59c77eb3e5a9ec0ee6afebbaed1c8771dc86715c4c9d0163aacbfe76d82d374b534e87fb56310cc36ac8e8251f3ff6a572719da1d81eab355cae9f71bfb9b2db3ef5de7adced1c9216407abb8feaaa5bfe6199f06c224a90de73a9d6d85ebf536bb8ec04c95fe1b7ec24cc5b466b2c1b4830ad484e50d1f34a9330f4a6d1a71f768838f5d545b1ec32169c5f71c133466626a0d204c8d4a067de759a102669b2ba46e0a68d9abf96b6f1d4f28eaab553d174c2c68317fd0d2b9afe068c179532a2809a52c101154d5f820fad4efc614e34c55e4bab03cb5a432c762a029f3e46a6c68d2c074749b2502947434a544a941ea3284548808292085539b25930eb93e4884a922449842aad4af8681ffda13fdf0f90cf8fcf8fcf8f4f90d53b03da09f64a2b0577281919191919191919196d395aca7234a48444d1962d465bb66c014389fa94a19ba8b4a8474a51142440414984ec16abe4d303823e4a4347593e9bc5b347dd5055ea318a528404282889504f0b5b868eb22429826214458a96253bc2866c5daad4a7e7d454a4059f1e9f1e9f1e1f2499f53ccb4a0257b1926414a548c9a80a5925eddb0163cb27a4cbcef775e9d2c50b0466bc6008bf7cf9b28317f65a7f1ce085d1ac9c2f6bab4b9b36b45c97aaebfe956548cb3284d525232659b21ce1254b962c4b756928855a3391a2c8a06f177d8f811df5000d01bb566b0b5a2d27a883d3b2926a0c93234c5d5978070e8f1e3f8a402847ea7d60cf4588662e625fa4fec8132612d7a871238708ae1a37728870efc4340c033245d18d9b1c22f0e8e1e307a64d2a86b4a8d1b7329c659a15a61b373944e0d1c3c70f202964988659464f62d2976e94ee22fac7ae29a5b4c68d1c22306d536094c028815102d3039ea08c0c0d1a140775543a2a9910008e530190a7f53a2b9a7e674b34f62ca8da7454ea0c967732213256c032cc6642b4820ef0b67b1524c3ab5477a7b3821ec07cd69a0c48c74a0698fb8c639bbdbafbc5b2ef6ababb9665ba7ba6dd8fc37477ec6ea00e700aaeba7bd51b6b9973e00eee32f7ba8e3bcdf836e3349eb53e4de3def68ddf5811f96d9752df1648f55d8f56df9489f54d855034aed1f8063ae06aedfbb64c9ac6efbdf7de7caffb3690c6b76ddbb6f29ef771271ae7388efbbdefeb421aefba4ebb077ef89b167920a803847ba7cfa36104164fa08e0fee852177babf6fe56c5ae69b96c97b6b996be008319fd3c6ce7a340d19993ca70d1a7963afc7caa973b9e36aed65b943d3da5feec87658adfd83d28332a6042a679464b902c62a3715d21b6fca74a437de16486fbcedd2586eac08b5f1c64561b96b4f921093de78cf252eb36ed9cad158de1ba37a8e4033a16c282bcaa2744932551c813765be1e9ea70d297b9480d2018c9d5a6391ac58d21e054f335432c01ebda6d5d3773e7d4b22546798bef5d30e29a26be8d3695944eb78df86588dddab95beab9976bfe5100ee86d0bcb21546f1b8e20bcf369ec5d89695a4580f7cd0a264c5790621f584e5d712a7582b1acb36d38d8cb745b3d0549f0bef168af656ee5d4f9231a3c05738e682d9f8e63bdcea37a8239e0b7b2958379961503963caacb96d0c38757b6e8b54fdd952dcd952d9aa5b052820f20f62994d0e34405fe47c6d8cbd867e5b4a0160fbfe8cc7e02f62c1ba9b965a41ecbad49738359504e30324f30324f5137e0eb1d43633476ef2da1d6544daf302509d5596e3c5a677ee7bbf7d6ad47add9b6899484744506242b409a86d1058584a4a4e94bf0a1d5893445d3f6a3b9d36324a424cdd1cfedd3f31a8ed519d348c8d4b8715fe04d99a02549ea4d90aee729427de80f7dd5e36c18b3583f767b2c6f5911ec599eaecdd2951ea7e29bedaab5d69beaaadb8659f5afc74a5b6e4168ff94f9acaf13ab9976fa93a90092c07b2e05b13634a72cd83bf84db314fe75cb79b38e73b519dd37ef70bf0ff00e1e05ef6046e1bbdda1d19a86a580c7e75d233c17cd0da5140beff63617a1af9a8fbc6839edcc8431c20641c440494a102fbc8e88608b242d491e6842074da81216421a879e48576c61d5720610de461ff044ba02cbde766ef43df6aa737f7fa3351d293da78d4dea2d6fedd8adcc8665ea79cc005255c1d7d8ab67a79580b607a2edbdcddad0cc997933439836e6cecd8928043ddfe347907915ecfce1a3bae6083d924208c16601f3234c26ac0a6f3b3daa525d546696bdfd08a2829017c576861ecf264fdbaed1233b435bd5d216aa0d08453d3d3d2ef4f8d440d35324d5c683d7169bf7f4f430bd90a4c03291a290a2e9e950adc9343d2db2d88f2a41a8a65721895e08fd71e991b5d972eb841ed6e626b38ebce879581b2d1361d732bd08a7223618275a6420620a1db6189a34a012821e92f0f253031d5e9386e6e6e677b9b0d60946eeb58c4fd8ae6df945336c67e664d999f923af7bf3cc6f619f2f15ec0cfd11c489a616680f45424f81ac0dedc1ac21bd31ebae1654805977cd24b0035eeb01f536b7a80ffb16cd438eed5d3437b32c694e42d06f74881776f0c248890c4e904536a5c9044c30f8420535bce869ad1fa098b51896652b2e312b2e2b32ac5d715971b12b2ea72721bec9b1e2b2e2b2e222c644c13b068561cf31952429999da0476cc5056f9a159715179b77057ec3860d78dfd0f4666f1ab36209136d319b69981be0799bad689eaa332847f411bdbde0881408f102a61c0cd113812d4a53903c916106293808c5037dcc0e4a5264f48d26f0a6a9c9acd6caed2bf78d5a318b7de50d2ccf7da373d0c7eca0d6a841c6d4cb4c9173e7699e3eb0e84fef9a31e85a855450c40865591599c0f4ac2d66f65aadb559bd3635b6849e451f458529410ccd52a66965d574e298d7ae69b9522dff86e9594a157ba6e9aca19f73ce5aeb1893ce39e9377a4ccf7ac18deaca71ad8a02933132d36696e18492174844e101889f577d8d6973040a10517450058a194c71c3ab9ebe0ef11a8ae579fbd96fa68c1b6871224a17174879d50f7c70c08106471831c5e755b3585a62280b2a9e8c218547450cc080610c32c62832c2a3d3831be0796c368103124f5861011658181dd901a90537d0c0061a2869b2b3a65a12a8ae3875a3c7f42ceac5ab95c5fa33b0a425288b222a4a948e2cb952022598bea002c9102f8aa18cd1c38409989658f1a2391883044cf8c04411510c5ed400b886a6b3ca28a9516b7c640c6581375f3f33d538957e9b5a4ad04403161f6892a42888295db21885e1448c179e78d300d835fddcf394527ad615ae79fa0dd3b3e82fc49b3293d4f536d330ac6a5900a4c0bf1ef04287262a4b3061f43a142cc80203135a86945e27f0a64c8c123c5fe3b5944982e76bd87b5548a9e2d56a5b24f054abb18fa48fa94cbcd610ba15818fe759f39f7765c06bd1cf57fd7c2d5d76669e9657828667da2b99cdb2cc844db3aaab5ee657ef6fb370643f5f4edb3211aab34c6ab8baec463328de94f1e80202b3dacc38fe8cbdc3f36029b28226a452a972639dba0573c6ab5264ce19df2a7b66cc206bf7c30216842004210801175c8040144511ff2bf145d53df92bfe96a3eaac8b19b583fcbdffca4deaeffb42d4bdf88de3c793bfe5ded1e1bda9dc42e5061cd1a178f2f764b97776b4b8fa044d483d243fe6fb16f9ef62beb945e69cd4c3a71e8a2008c3ef1d52a7fe812095fa771d95a8ca3b4c8918b356e516f30e198240147f2d1e8bdf2ea270b9498df57851cc249937d624795104f3de349977f8d4c731ef4d8b7987c77faadc3ba446a95028d488ba872ac57b5e559554a3ca5af3a66499ba05c9a7f22651a178d48851a5288a61de21c99d8e0bd616d40afd585bdc9b65db46a76021d1d3a3278d2fda90d3bdf2db18f81d7e571bcaefe4bf927c5852edcdc0118475c67f5e58de8fa5ea3c54a39efacdab1ddfc7bcc7505ce18be3e743d5559f203e4e55fdb3e00ef15fb987604da4a5eff1a6c7d62a37e088beb9b5bacefdf755cefdf7f18cc742f4657d82268c17ff5d9579308ddffa1efe6612be7cf1d6823955dff3607a7cc88202340fd5165881eaf136e4c1b40e4a1c493255eef0f3ac7287f92b9d64208613e910a11c98f1223099c83bd1f64e84ead3bdf161129c7deaa9edebc7dccab9c6bfc60f4b1eaa5b39f8dbf137322cc7720bd1e3eae331ce7bd3301f1f1ea69c75263c8e1dcbbdc1f3605a3c778f2c89502ddeab9f28ea48bd8239dbc57b6289ef79156cc0914a96548b65c54795aa8fe5ea64b9b1266f41d475c6af8e1abffaf81579d45599ac9a2c37f8eed8c554163f9e143f861f737854c6d5151ea78a26548d71de60061de09d825f79b78c9e33671ee9fb79a46fd62142352542f526724fcfa3638115e85dd0f43d302fb2802f5fbe7c81c944325ad6a9491e15a7d8bc578b299218692dd332ac7e304548d37f3045c88b0b7cdbe996b44383858b37bd9008a67566cbeb309a5bdc756ceb5ec73bfdcddeac2efa2e6b3894e096cd4eb77cf3e4d1b072ef4c264a394a5db06d9ba6bfe28a2b6ac082050bf542817c584eb09cc02c27b01556589109d91e1732ed989661b68a2aaa5042051554c4f0602f6cf6372929a90b0e25f8ca952b7489e7feb0d0da911d7bce76ed3bb2dbe764bfb9b503bb7d0e966d8e868484447f665213534c31050c365bb162456629d5d36221476bb1909373b02c85145260d9a181c19bf766d97a6b5ee7b260736bdbded29eddfe5c9eac285851e09dc9b4b1cca3d9cf4f6d291701b0a0603db131fd44c2a2c8a3b78f59c9005fdf4c1b32313994663a690cd6836218adb8aae0065deb6f24d1b522a9c047d75a0589aef7814dea438484aec77435d27588ede3d11a89d16f0cc3b06ce7d3150a2b1856b50749a1d6505b822932f08249122e608102146c9082259e34418226178ed00c30a2890c5d6c506549cf102564e090040462bcf085044f28713301d80bdade5a19aca61d48b5c178268ea9354db336341a124a1cd1c4161aa4f8317acd24a4295db23c2181d1112fcd08ad51f1811d888008fae204367869a7b136358eb000510393a02d64bcb422ad6929ad3d61c506133eaa3538a8a7a74e1cd57649306099367d8eb600c1a44513a22c32d0048c216ae892832f8c18011525922b034f8de91d6053c8e8bc78d31320aec80006576c10c50a49301441058a2fb44052c41424501f8bf5e12f298a252b032c4ce0504519245042494d0c4c9a902205091970408482230da39ac01beb18eb72c53cc6661eb18ef89c569e30ba3283929629b44ce9c288891a90d061074e4039c112e2f7e1cfd61a7ccb6c1726e072dac8acd668db96f7255d76ea4d72403b696cab34f681c6301b6cbfc034c5b0aa42b59940305094c41313f464117a61c7d566867105872f2f68e102910f2fec89c64af0a3b18b506b488dd51a49b08ccb5acce2c0bb378252bf8ff4b06f3503ec1d3beaf4da37b068c968e4b8922655596a6af24239f1f47b7ac38b38cc401da7fceae2f204be308155ac54a1000d465f6ad322d58af5d5c471cfeabeeaaeea3a30558265ed69e26813e785765cd7d52a1d0fa32efa5e841e46270efc4ee0c7f485a9bbd7755dc7d4442b582d36318a550cc32c3eed236349963e445906754caa813a2cfd4e7b039ad2db213a7650bd4d1b5b66d9192ffb9ec1be4bed7d4e1bd4378cf62e4e9bf19ef63e967362655642a0004174bd4c75d9bc3920a46d4d4d4d4d4d4d4d4d4d2e5d5454646454d4a3d66c178e8f5a5369ea514fb582a5ca96daa567ab3fb78bd286fabdeb562c6355b2f1c17e5f63e2a0e498d9dad483ca71a3ceec7964144506a74784242514f5a0f2a30a10a5149654e8d2c4536b76fde1e123c84e0b4db4cbbda79d52252b5592b0502ab56663464551a8142a449330b144dfd321a31ba31b4b3419191949b1405e05810a9f1f9f1f0ac0d0450036e0398518457ad321274d34fdd474080b153d53a02712969ea37da3a9abba868aa078b15d2e6b13e66dc3789b753ebb99790610beddbd5327a74d260eeff4321347d5f4deccf48769030cbca71745ae029d5fe7b233a74c4e1ba939334fdf839bdfe6fc976712576e10f4564e1dd867f55653f14205212d60479b8f14ed4d2278226981a2bd90524a9940a143d5454f99501f9f9fa02536e1b661cc62fd2e57dd373ac7575d93be4542d5d9f20dc7719c07729aa6651a866b4d2bc73b77afba2ac963f3e6bd7edf7efa97773d58afbb735ebd8679b572dc27583deedd318a848680e9e0f28feac2024f7a806a4d1685db9e8131c47199179486a2232a5592b028a9ba30d2f51913b7dd216bd315591baf0b2a9905da4496769dfbedfbd6b7ee8d5a53e90c1f66c5c8a82652174874bd9acd2818336dd06b35ed3af98e53a7b5c9a2d42fcf3a13e5bb93ef3b8ba2ebf7dd6bb7665fba9e0d098a79328c35c111eebd9a12c6f4bcd284ca8d21bc55c944806f9218f8cbe27600775d38c1da169c2d81ef0f1358cce1e28035265a80373daf38d9c20306f5bce204077acfa31e30a7e79521193627f00604d6b29285d1ca0307b39ed2f38a1065189183de2edd73c507176842ba7e0541da3ecbaa587b0d4996a5dad01d80b2a55ab325f3a2daa89882747dd6a53ef3a2035daff5d41a95aed7b8f0d1f51a50765f9f25599b0dabf53bab608e13ee13d41163cbcf863ba513ab33d556d7966da50fd1d6403045dfd2876882515d536b425c5805908209a027162f50bc6f45b2ecc3f3f2ed4cd528b8828feddd9621305fac6dbeb86fac611f51762e4f3b73b96f9ccef2eea1e7eb963aa3654edee53e320201308a596d66f594e51c3808d3ef1bda8e41b3c50419a5db473f1aac6b2d699ac013d4313e8129b637c672cd24e80b8b1726baf6502bc0d8c206ad4549cf2d66d0e225e39c6ce74a1f224d098a9e485b04e91da3b32d98e8571b1fa2fb6c7b76af66e5fdb7f275a612d126b8661619832d158cddbeceac8a81a4c58a16424242424239e4208410420871c30d4c983061f2810f3c79f2e4094c0d303504618c310ef1ef77c32f7fa9a37ec79c933a0a95f197bfdfa78e73bedfe3cffb2fab52630b5ffc8783825024b95285419824f151a08accbb6af2a7e312851a5329f2abcf5a933afeac3528f0e4908bc2a9e354b29c1abcca4b8d26a452580eea298cd5650143030c0d407ca538922d4c1e93c7cfe4eae4bf2245be9379f36c1efd7dc4e4f8901c0fc4ce07c4ce874511888f07c374881fee7cdfb77d86c70298196066b84c3c88ff7e2f9664a8fa88c5a7b2288ee2cd26dcabbe8f175b5fceb977fc9eca5b034bfaae52e4f8d677fc9b4731c58378cc03d609bf94f8654230303c6442995026843f7645995098a4812598cbd4f5c07420139a5c70d1a3448912253031c0c490430e39e40003030c0c458ce338965ff8f18adfb13796f79f48fee27f24a947d437d623ea7bd3a8dc2251cf2133fe70ecf77d98d42c1c979bfc6e6eedb8c7cfb9183f87cc7b47e3a3f2ded1f7439d3cc67987d4df5bf8e36fc6e4512749f26311e32892a8301cc7bc43c2bc08ab08f024a2cabda3512006f1c7b39eca3b3ceae059e5ac3320791c4b9653252454a1c8d68ef1a8e78c47e508095b3bc88fcf2133f89c595de05199ac2e1063f006c6b302c605181770f0c27f25783fef82e2c152fcf5408f1c3d95972db803fcbd264992c4f77e4f82bfe50ea2af87ba77101f4ce1ec1dbc77f0f760b98368f05eb983688f8537f831e308c260e6c9f47d0b3c792f83392775fcd4b1772fc42175d2c381e4c93eef17e7d4154f22783fc153cc8974be984cf49d687f2712de8738dcdcbabe17c3502cf777109d22c9bc41d024081f7ce081073131add68c1930302cd66aa552a55224398e289428621c86a713087e9fe7751dc7ad561fc7bc377df7d5e48cef6cf57046de9a26cf3a4c39a70d56de9abe3fe91be6fd5539a78d53de98263f967a3cf9d4afebe68d459eecde1fdffbe32bde7bb3cef74c7f9f943e48ab95aae2155fb4bc39a0bfd04cd3321a0601a4e9c32080ac68d2a449131de8208482fa7714aa64ad7e49540ec9d455573d75d185629df51d55ee221a95c234110f74781579ffa1fe1529a22f0cab56285050289eaa75700a358e2b9eda6a4149a58e881f53c7a9bcab4e1ddc2de8313c49aaaecaa9b354e355e5acae113f35e4aa3e8ae7ae3a4e4d89197f550e51912aace3313556b7225e0c39c8c1b6b930cb98a18c197a60400411441081031c101111119141860f3ef8e0830d6ce0c489132718e3d7a0063aa8fe952a9c2a492c8e4f7de596d1dffdee77bffbdd8bffc854497e8297fcf85b6e20da04d4571faf28e6d62ae7a0c23cab0b881e9fca1b88167f61f67872cc3b32a3cca8838c0e3a18ab5430323aacf23ea25757955b4603d1a971ccfb588c89d123c9d264de2c3d7ed61a9135436481e34892798733b06acaac645632323255807c41624c31c490996380556cd0f460151b6eb8e1861b684083a1a1a1a130c2f8e1871f7ee0c22588208208e28b2f4420021188200631e861e7fbf4c7a3e2e1d9f976be1e76be1e76be9daf878f07c3343edef9beefdbf9583c2fa857bce0ab58b8b210a1e95d59881862882186e8a20b5bb4c3771c8e581c73e802c617c3f0135c85ff3e8e17ef7c1f710e5dc0f7dfbfdf8fb7dc478452f863987104e16ff5d677f137af3eeeb07776c0f8e2b733973efca150aa72e3cfbc339758ac1d70b9e7d211218d23e83b7369042ba8631cc95b90e5041e4fe63d97f4388299e504c6df73692e4da11e16cb16a12a670565b5c066ecde2cb748a0d1f634d873321a622042355669164b30c618f5af441d93f7b88421c35ff11863552bcc39634ee5894b98c3c05c3c2eb7108daf09e353bf175517378d5baa9c33e6d4cd5b88bee371aa586ef130a2f82ff52f27f5f1a98f78c9382ec12426f31e310a8571e6c15a2f3263492aef233a85351655aabcb719f8019aa8a8844c37c5410c993282048000003315000020100c8643428168301a06d2187e14000b879444683e1589e3b13005611884418c41c610400c01c0108210425440b701601d84ad169f7e835bc452c3e6ca79e2a7cbce744da00d7dcc354c9ec4fe23aadcd8f9bd20c141fb842a37b8196140740f5063951d88b844c280d6ef24e315a87aa3ed1b5e9f961545814fffb204a30d1fb824800737634155acb975df8450288f8d7cf962d12f11718df1f138aadd7c97e195bd38acb48d1848af60884681078a10129e64d24a200da6377c131f5ff9f259361ff20f1c28e2b80e60dd899aad827a9c383189ae2b759dc9375016813bd7451b7219519bfe87bd2b1193883f39023ea22ee856bb33bf553f9b3d3eadb6cf72573ab7753e170fcd90529194fbc09130a305c5570f51f9251617a8ea8830a2099a856d69e5f08eb3459697abddaf717dfa1d710d7273b48ac1b12f3e8731093281f37a51c7e50199abf8c75dc056302acf2fb90b1910ef833bdac4e0af272e7b95b6c927fdf44d0e7455a29c03e4c4a1b53f4dfaf02c276d00eea26a7209e26b84284a3eb4435c3678b422e5df42b3f6d36412dd49c04782daae30c8e0706bd57a98920af93c161c7641ba05f6c613b9faf2f50650f8b171359abf915f4a305ce4128c4b0b5048b0634d562a43a66cd260bcfbf95ce6e210b2952f5220c9d3906f16c12b5e62590697026bf3237a76d1098a89ac10c27c164e8ff57fa8d36fc440035db68242ad62a19075e4edd01cf9a4cacc0da7d6f0aad5501669e104aeb9de61896eea37a63329450f80e88305814006760ab3f88d32bc616e0bef7d8da667d98aa44276094ea2201043c67faf7f913561131cbf8a87719d190dc05be0826f5ec13d1d739278cb017fdee995aaf49f66cd9ecd62bee53a7670c0241c07fdc66efc0dba9b23f5feb9296ebbf3821da55e14e6b8ff428b6236482ab977582eb9f047dd5e8440e0019250a223e7fca3244966269bce649b5f632a6214b1350fc396bc090ca042995643675e9010cc08c064dd9f1415db40b770321740a6694171260542b2afe3960f4b99af475c0c0ff8fb8b10448be076d6073f2b70ce64d568677ad0175a22eca19e4f9a75460777a830d0a9c6025c928326f88aa2e37713ed71aa7dfb78283c594857ee71f7ba3148f832ef9ee93239dd312da12ea369f684c36c86b9126b6480d002e1f4178e135bcd191801a49224937b7bb9ff04669eef6b47f9244f906537263912ffab02803a05c053c86aaf9ceae005972e4e5c8e15ad2a505f31473ea1ede6fbc867c83a3320670990b4cab30983de1425afc79e0f1c100b65512bfa882e923be549d10b508ae41d172bd4f2197d0e1c9664ee652b3530c677a71dc5a9d54df11f05e8236da3cb4a5dde9e85428962f9cbb1f4d6fb4fc52f08e24a71bb0b30f6b920f3c27548eecc8562204c8ee56d42429e758f68be14d31f50d0f38311a85df2c392285e712a4ca6992905ce1fe6551c24bb82a35e09ebbcde26e2210e8e358b7188f124eb68e6f172e89cc76240e0aa2287384acc9f569b506fab0dac00f04233010bd6c9923a38c503efc2ddd342e459a786b67678475fbfcdd6fa58e5a4bc5825083d4a7c989d03d57cb5abec8f59a58007306adb979e0f35fbec35f34108d46b42ed6146aec6184c385691f4afc4c4900f1b54f4df8191f66968b4e0c62596dfefadd3dd9a5f2e5f7b4b887a032aaaf42f7b122754a921ee0d54b4d2bff462715b80b5fc49087b0e3a6aa53ea1707b1505bc6ed96f51aecfd30b68344ab3c8c77a8de32edd821b34dd970e47f07651735dc471f90463ffe407e3b8501f7ae08ded0c3b5aaf3096c6f00fb9384c2442b05f06811e6b8fb059c8ed501dfad2197214cb795bb284c1754fcfa4ba9a321fb45fbdb323e5ab32864ff209e34ab2a24b45ede29ce71ff18b2284a4cf1146d1c89233d0e7c880f63368e4f85baeb47327d9a987e87a9fd612dd1cd69064f9fd1b11361a11135f102832c9b27635d28b9dc3086be0597766a886ad815992e5ec3a12e6280bad863fda849d7c7995fe22565c61ca6a1ca339f017fa5b4dd0c5b8b296a411ab3ea31f2239c8bc804bfb8859b1b62fed2c737a4ff1b28a3f05ccd4f05bd0ce7190b072044cc84eb3ab902b384fbb4253a2a92b2b27fc15055a3ef8e33c8f7b9a9c6d47d7679f4c399b6578201dbc98a6419d254914c13f5a413b8c2987024a7e8e2005168c8f88435fc5236e9b9172f811a58d58f24fc0d9008bffb37cc5edab1362a171c527c8efd8583947d02a7793153c524edcd413c404f2c30029e8c4c5cf821c524eb0921c7ec7e497cc9353dde324b22108c66020a21cf00335227165a799cf5a41f8a96b4fffe988782a0a3b40ac3d7397f3477853aad537cb42816371066c4060f482a462b7a6d7197484364905ff087a0139451ba5b3081cc294900e745617462f9fd78731e9c5697fce9b17bc5ccdfc96f56b3b7fdbed7b9ba832edbc531112b228c25f3b32dd72914bcf4ac45f39d2cecf70aaf7527a668b496448f3c964b5aa10afe433e0ec62e72b6090b29d923f06616ae7dab5f3ae522326e82cc0131126750cc1ca40b38058c52cb87ceb8fdcc20ec8637d84367f4b9c16204b2b48dd21c31c0e49816eaecddf423229a5364fee6dcf6f3b1e45e859ec576f5bc6bc87947efe4646d1408f85cc55af963c7fb308dd921f2c70c4ff039857f4afcfd6ca64e56c41a07f008285ffc1d941693d691950e6ade3bb607c070fe1d344246d41a6df8875955efd228a38e27862cc5a517263ff831543406f715af8117e65a95367df3bdea7249c732d491516ab4198b297c85ddf0d9b0b8d89649d16d38a029cb0ab0d40326d80704e24d5b7705839632237bb91ef1e42fe6b389cdcc069807035d7efe768d35402c1792dc000e119733db3860b9b0c355c3e3d40a869b04ab3737a928581115d817ba8cfec0a8294cdcef2dc40818fb2477f811c4fd6de82848375f8572f9996b5f843590fe4f143e72a5988ea11424cd60c3a2a0b1fdc801f086a50e5be0f88f645f7e8b3d49f330c4285fd838f29660f6524e5864088198f8ad0431f74344a527a45f02ae93ce8341046249b82779d96b34d326836324607549293edc24ad4fa586fd742d86cc0a21af83b8dea2e6f0dc87b075b1aa05c2453d4ceb52f84bbec61d15c5b838feda85c28a00f7175e8f048735acfb56b31501714ed583acb547b8ca976881a3650e9b4f4b631d96b11578c543b46407dfd65fab19c0ae9c3f6c72998d39708ef0f225d47ba854d84a077a6da885adedfb04f8e4c6900975d9314ada83045924eeb4f843289745a2a96f10b543c393d8926d81f5c356866d5b10c40a976d426544b110d33450cfb391e90817d5fcc1bdb96f67fb4f26ece1dd19eeebff479eee68a6cbbee5fb4bcf7e7c56aa3f57f9a7c3773466ea7f71f6ddeb7b945725b0af5029a66f5bc3a6430c23ab3ac1e17e664509ffb9eda2f311bf42b319b20ffa06b74bd0d8b97ec94d5e5c3850f9036e6655b4afd841b184250a5cf730bd2fc6fc55068e090e9a945513334da2cd1e9a3c05a8b3db20c90df282634474b0a4f2b30704374cf37aa5a79b6c29f13a7c2351992986bb30dac3358c8c46ea3df9ad79c1dee599ef2c80861af82c55baa9649d00f528c11a2de808e82529f5eaa1746857a0b816d32aefa7d19d59a5eff44f8fc1bd695faa31ea2a9fda906113b1e503e0cd240be5d21aa9521367e745375e85d157311144bfbe24fb44f83f6b87ee09d25108158739a5d10194e5636b208cef4e9f6d790d7807a5880c4a5df3b1ce7d3e0d06b3a4651ac3b5bb4813ee99fec18189c010508d89831309ac28bb4503f33549f48aa26d23c14760e3544d701795fee4e34146b6cd085f5a182f2b05594b740e73dbc5968dc718a1ae6ef0e4dc91df707e4a3e0be6cc4a29c3127b196413717dc104b53576575a54943694605c9c43665fb45c92c77a2bcf4f987b215a6c8f898552c87fc5fc3ce350d8f7332379d4c3dc311ccf645073968cd04f3b41705d5b50e43eb0274a941b4a8f9a910a7ba5326d9c0829ebc1ddac8e98640ef4cd1bdc2a767a2d751a2165a8c67e8078d5afa8dbdd47727653da59f476f7121ea897954567e3240ebe5a8acb320e0fa2cdd8346ad0433fb8d015000e8c8f732d6c6e4e8dfe6e628590b2106319f7edcba3efd34249c11db372a8c55a2c6b501bbbe71b27b6c08a521740af6d76fce12c07010cfac6f9320a7344b11d36454a79b5897efaf0ebc294ca918022c92b092ec44a81f8306fc61181f5a1b4eaeddd46551346fd7bd94901c32c7449560f20b9f25e39b77143723bb60a68c912d502ba06fe58f56d113a718faa8c836175c9a3f95730b09ce25f9d95e19bda8907f276bbde12435db47611b43a982633db67d542d9645dab14832ae51e3c0e8c523f09f708b8a7f845754f4df25255ee3322270fecdf1f1657981e09bff12398f3ef04bc9028bbfd92d5e887a6216b5e2977a713d448c10e9c91475e55feb455d283121e85573f4957ed143ac5980458c4b88f48e290a2b7c128cea250a78cdb2df42ae9ea70fc8e8d24cec45c4b528b0c2e7eac9c01d98046eec51573f5deee74be0c6485a131260c63d8410590935f9ad4db934baf800ade42e3182c50de6b3cd53e4dc84f6e0647022f021ecc316101137e0394eaea30fbc531181e5eb38c43d4ff72051a598d40b896b495d65f99825111ba6834d55c606a02b8d96524046f6b2958b3bf6224c18ec0ea06d40e5fe24e8b5e210d7681c7110b004f0cc360b1a4b7d78d07082686002ca54e21e4412221cc02310ee93cce1699928c78ba06aff561995a1b8fab5bab37647e4f86b5649d49f01863c75515cab82a421dea855a713e9f003a2bda94a64a37c7b29768be6c932b9e59916b573f22c76124e6310ab4858b2cec378d1f72e73179897e003e3641b72691404e4dcadad014b69c60a08716a56e3afd6b73f93217eef944bfa5e294ac58a3c80329ef9cef0911429faf02bfca7fbf94ff96f51acf89ca45a5b2dba2f1e6277295e9ff53834de930e0860f993aac7b928c3302e5d2a8180b127a36b5989cb25841435d55454a725dd3d66734b1dfb7ec6d03312e34cc12a3c43510971e5da2cc73c786c5288abe0c64dc56eedaf363b693c73ae209964db06b3cb3c9da26818b5e1f7b2f703a6df919d3daeb42dd007eebb365d50e41b1ec144298f8237fc8c2eaf5373e30c348d71aea2a21c4cd8733f0e7bc9e575d08e3bc1dffb70d800d73c68686952eb7a2ea1cbb449a6f6cf1f9f8a82ac5b8025924b88f4d81475855ff550d559405a982bf9085ce28b4ec9c99862f3f5961d63fe9304a0359a68776b07bf921b575be9220ee1b895d991e4d2e78912044b1c20ef077a506000a42f9cf259f45402f2c00d5e773d8c44a01419aff9b1b1eeacec8434b991bc1be01e17dc4a4aed456c4690c4515419e4c4b2831898541527c3184034e589fac7eec9b77682493128246f04eed93bedd791af82beb849798efcdd6eb2b10adf6d5a12272afe1bc2e5d34403dfcc0fca8c0b97c259a2dfb6967dd08bca521f219121e8cea7f27533995ee31cea9efd180789b7b20a68567c743838980c4158b9622b2dde91606b1b4dbc4cbd0993b3e940f824ef6b21788be3a5ddd8c16d02b028fbb5e379b0c39b44026b1993842843b98838ed2609d23ae3e12c608bf7e2fd92617e0c19b133e5be768fa963a584982836ea65bd3fc43b363bcfe6ea344b672655a9eb3c75b1c7aa1ca9bc82857f438c313d38f25b9b4322bb1e5acf1ee46f690668c1a192a101a64c4dbb4a01fb61cad4665716614641c018ce305e1fa8771f5f4fa5059452f8b54a05fc464e12e41da008610422e9fee8fc2ef6a4295b883cf0a6abb5b660ed80a75b9e8ff8b12d56bd55580737880beb71dc6c7a70db2e838fe98f5111a17a18d241f1f99d89455ec9578720dce1263238f635c358fe048218047b17afbcc13cae84485359887e8054f95bc08bf88682ba7754b619fb1fbc9d4bdee58c66763f43043fa3893d648082fa244ec493fadc839c6a2bbe901eb21ea568e1733b0a5f24cac1d7f35004f39859e4db2f9085e3ea070c87ff6b8f53d675bdfdba94311b9b3d21a33c267451f8a7c7b23120f17120a2ec784bd44f6438e65ef6d72b43008f270e596bd28750c9a7855d7998310fa2e9b8e6a376493d92c1695c095d4e542347fe76cb179136e3061c32ee8dda12ebf3530985bf9f1fd9d4bb32fdb4657e9a5c8544c6b3383372a568ac4d2688ad810d28c37227ea539d155b9941cc6f0d2501ab91df3582af26e9678e8470000ac02dfbc4d012014885cb8f64e36cd494f7d3fbf9f8470d465c4af090b1e58d0407392fad6c6385892e2102f96516b47778a7a516c6f6cee3a17d5594e13fd6035c6dfb338ccfdff4101b7552199d1f1aa8a4971a06928da348fc5c71ecdfed685fb4ad3e809c3d4e14d0a6e229495cfeee61f1d14f341c508d71388b8f29ceb3c95d50ec38a7509c883a90710639cb58d9fdb178ee3f940057294b9c110c9ad02ab7306a55dc4c5c36158e6aaaead6971df14110c2a96109f15d060750a906a9616576c6bfad35abec10cab31c1794419c271a86599365f4445e7febf22afa07cf0dcb7528fa56f7240cac6551a1aeefde5679c7d218a091a0d2b70270941c158dcf26a2f55aa598ae44f266e36840e8d811c884f37910193c5486bad1fba571a22edfdf452fc8128ab7141f02c55090058fd4ab1a9460cb9abae446d8612ed0348c8644acf28df240ba895d05fce15d0464ec71b8579228c1db044056aa1da2c445402894f534303006bf488869cf73291e6a261d8989725696d85201aef2f36401c829c172bf38e93bb76c309d88bfbfaa0d7a6ce49a356c1c8354f6c586d65d900e310298afcb5bc5fea0ee8b058df6461967fce669d69ae185bb5beb368098b3117f19e32598ce7666367eab83472686145d7807bd3cd6eab1bdf875cf9cc0bb7c155d7aef4d2362c3236b521ec4868d1f3ceb14057d676163635f69612fca73b4bf27173396b4bcf3f7b4a3950b468d8bd80b6c360c44a9e35b9fca7b94b31724d9ff83f7ad2516bc714d982613ba52082815ff7101dfeee4a19eeff7cfe68eeabe7256af5a7884ebb16356f4b7d6e2211523adcd5a1bb0aa5a9aa1e90ee924f534dfed53ea2a6c489ad7acdd9b16c4a9991baf98d4021db3cfd123cf918de1578bfb7c4cdcacce15d8303e848810f0aaf61c97582d157d3ed266ccb5e6371cb87c20c1c5820ca0a4d23f8032fa1748020ca79203d1ea52877068a945c1a1b37a24987c4e55e87a0362a211c4590223c396c779af53018cbb71d03016e5a7fb5802594ba6c620769a136f61b27f0210531aac4a71949bbf1483d2199083a5217b5085652f52caa9dc616ff206f18a5f8436466fc02463031a76361ae81a99f63b56ae0513be0f13e3c0a9b13a90676d6f0b2475e293eb30f484aa8d69b0e99930b1afb9a8619853ee36842cbe6c2b633295d8b41e200d91fb58c1e7dbcd2725eee81b95f9f9d1f846d1ca5f58706e9e4f39acf4fe89b5accd432a23036e73a09cca4f98828b32fc8f4fca52c96f5026c666894b251af58957721f204e8b8289a55c9e3d8169a7305aff0bbbe28bd3bbc75c85313e5d496f5726c6666c195469959996eb6c8b928be3440e965606e5b685e61f187132aa1f843fd5ad9db8309639b69f56f2fa97570d55578530b8f04962e5176377f164a732c80d4a3347ba6e86c345237806b524c8b1c791e28c023af8a46c3ef1cfc796f41e981e771236d40bf91ba60db72bdda8161b759318720438dc2ac46fcc4c5c5d91db4c09e94c8bbfcc1b9ef5b8a55be1d27908af6c6bcce3cda913f09945e346d31869c6d87ca95549dbf6666bf5716f55050a3e24276fc7352b96d5f2041e90aa585bdfb4579ab24ed0360f0d46042d528fe67269b3ae815e4559933f0c204f3fdf52807a12dfce8f99409065eaf2aecc5c6e3ea27cd9268f5966946e0547e23682eba5313eb7244d927ca12c878287e84579126818442300ec72478e30b55eeefb9ed21a8f7cdafb8b8391603fd5b4fc8ef99dc8d86312116579913d2174dc8eae55561f719edc4ba22fba9cc7bdd452963a248d3cf68f8dd769f94c8c809725d16a232748a1d2674f5c68ec4b31a0033f54c2ffbb32f5a0841b01cfc59419b785c3a840f2aecab0dfae99a83c87debcc4b5d7745125c5d1e5d18b08c53dbc0faa30ebdfb34c9c4cb9f01bcd8cb9144af0812357d0cb6df1d987371c2a8bf9506d8273121a3377b2a0bcb5776069c469a6a96c72f494d61130fb403ab71b3230c3ffd53404b2f2d94c8a3a7a82a1bfa68d5865b29b4f0d6988ed53bee9080be4362fdc0f34daf24244cd58d64fad3a62ba80b55d80da9f46b5cc138b7978bd00a78c513c222e4066222478fe808fb14c65700fbdc0df0c5596d50ad4881bc2f2a291981980fe342121e0d22ee19fbf11f1fc2f3d906f938d3ee1121da5096bd89759f1db42e5c618e32342fbf10687158effa13da600dff065803dc81144a8251219b4817dc8659caf02519f8eb3afd393f62df993dbf5fc7350bd4b217a46c8d351e83bf0a25948194ee8a0327a25952dd4f864da1ff0f2bfbc838d099acdc0285a9258400491804b805a9448429c02ee6829eaca24d80cb128a4cbb859b26701a5bea2b56840fc6347ba52120ccec32a42f60515b8fefa4b5eb8e6ccb6dbe04df3f76e6f9a10be6c83a1728e877bbda5b208d535cd43c950b55a1e4e5f9865b934bbf6f6dd00514aee79d9f8bee9fddedef0b5e4fcc53ebf5d4d1aa9616864bd50f13ee0fd89433cd709c7d0f29380bd87e8e67e2d4808d8f20a812d9631b07888462ca539e7d777bb5e544993b96e92edbdc5038e7c18eed8739b478f4d22ad50a53b14b722444343f88130fea8c24fbc204e0d8d56c5a4510b84abb2e60b4d2f3d2126fb88fc5200fd9208d705b4fac23fc8b8ece81a42e104000411114a0ddcf1ab64ca8dd83e668569828ff2c416357b6b9bea3b49e7466290e3b8237b59b4d8a2c9e066ca59fb16f6fd587b9e6cbcaee100586449bb036d0da0dc05761ddb745ccb63ca147597fb92b6e168932bfb91eaa2a9c2bd660bb5cd96e58d4704a760083737bd096d993b18befeaf1a878d6ab04a670b0d916628d69ca7920b66afa888e468c854b1f19dc9ddd67f1ec6c64d79e9b2306710b57cd18749df2f71a4a2c462f396ffa2c2aec3dd160c6706550e238144ce421b0c1d201b3345fc8f4764aadcc190e38d9c2780be13a7526b8fb7988a80f058c5f0a6cb5ed912c8234ee8c922a692c9c80c50913ce10520164f1f0e173f1e9f2b85fa2bcb8f1da146be1b65899d9e9efa7191c4e2a59d5f94826ceb4e96b490c2e4b45585aabe0a6ab6ffdc2d085082773b5764a0e4259e541713eab0c253e635fea7e2cb0711308af4fe6905c0f7e48d07abfe6e18cf60692e05374f573a399b3a30ce48b95867cb9b7070428ff2243e576f3ad678b87d086b4febc32cb2795ae062a37150605090256e1595cc12027d95eafa2125433a4319a17b1a8de2c82fdc615020238d0b547ab4b21652fbfc018c1bc6f866d1303c8860288c16e59e8869ae1490168754c10d71d3d0ec98ffec2cf22f788e3a7b072b3bead3b4379c41b16a0d5762f6821cf50c1091a6d935ecfaf6072725b69033f1eefe33fb5d54a22c14713b1dfab393229a8e013696117f89f56f3bd393bab572c4d4152fe387627ae37b13e67c134d5b7a8e73950f57f6b7e67be9640ed293389b0bec2475118efd6690cbfbd3d6cac050837ee45fb9bad7443125d6a3ceee1bd037d9be67b9a48143307a390f978ebc9e68f83a2af7981647341d6f8ff21298aa3fd798f8a677b95482327adbb2f9be312fd6bd54b282537274a93611b674025a709c92dbada200f199a3a673111c9a5176127f3477e8e3ca56c46a5c8cbff36a7ac66c965e46bd20b251f122f9d74313ea24d620eb1f64743623a210910671d17743a71b3063e8a413dc25d85465aea9355765307287205b0c8d1ca13f7194d1c0a2323d71179dcced1941fde447e0e40f1d8379adfa005d3f8c3eeaf4f40bc79e16f421a9b5354e29cf3505bdf8189f858432020b11bef77880cedb73ef0db991f87336e1f419cdfe2f422caddb911d962a3f16ccdff7ff7da361bb7d534e81aa5fc84bc5e28fbd78dd5d827d1b3165e5e32ca284f106b9d9ee457c1173d1b30373ad952cfb817a5fbabcb0d659203d2a74b17ba083b821ab990c70f952b1ca814e8b336baf59d7de076d5b3531bc5724e5b62c4faea9244ebc9a1e1e9e85d0b3c250516ce01c8c5e61cd40739dea1680f490ab39185630063719ddcea99c324dea9c35861dbda445c5fce222e4c87f6b9c4544c0ad5eeb070d44de3365d0eaa836dfbe768d81a7b9a6315dcd812e792f413c75352314cfec8849857627ae83b2518952ef1a66cc6277c844a957f84ac12857f128c1eeb6306deeee66ad3527f83c73a9290cd29a851ad28255b939049beb11acb9565c398a08e13e072b597a1fad79e4dac35201ba8cbc9ce9d98afc200d1267fea3d63c79cfd47cb36133cd095e3c72d441bae74420f88268691fdd87b2cf630d668b7386c7962f0231278ff03b9775db413412b15ce54f319c0af2513d4e5fc896d5dfb85f76aada45204146f9cc70eff4e213c0d4769606c89d6e89224f8a50fa64d3cf8d1c027db0626090390d813fe5f11d8b4631da878b24de888c116b4cd214964f768c691bc64632d10ccf83302056e8c24ee9a3ef08597660a3bcd78df9cad1791138f6f06c124826aa008a467c1f57a9cd57f6a803c5d9b534682b3185a5400e347426ee6b7e551387e46a365fe5e2d29600d44e60418d58f500d84673faf332b3ab803d708bb9df300f205f9dd07f90de16fad1b8706818f7dc658ee2ddcacfc0591d7ab7c21ee413b4bb761615e95230a3dd2b1d8511463f35eee04eb1e121e5067fce4c3aaddad81d2c0942fff531491ac5db08f6c42f1692569265c5a40a59f711caec1250e74523710d55bda78de809b4218f9dadae128ad1a931696481cd07c16b422544fb20427d08c6d27211a3e8eee78ea383717b0a4436ccb9636e6f49b72dc9d7abf6c0d2e727027d863aef30d363d8cd75de805a8cd98902497d4e64d7d27c26830876c2e8fa57f193f72d565cbc6f7bb431f648a23ceb07d58c607736ba87706c9a7d220d07a4dc2158cf9d2244c42dd903c3a4175a2a35ae72c15fafa900edf2638ea59ba862cebc6cff19f2f380cccfbee46817c0fc1752a27bc83a53c100ce71f1f8cb726dd780d0209254c13b26a850d2de951b0993fcfc0d43267df18e03c1701260684f374b45fe160ca204bb8309e9e520041765224cb209d01ca5f0b4ba4c615110a4c6fe370bc2e62254e80033d0cd64aca3fa910538a9a0c32e8bca10afa6fcb5003a32cb9bd734bbe9e4bd179227d0ea94778210741926562aab63ba63a3a11ab5d4162092446b376eaaccb00cb5bd19e2198dd925e4e41b98109c9752a85b5b143a119038c30d1ab039ce64fd356b273d8154f0d32615f065c560c039dd5f2e9835c9701c46448375820f9f20a21e71cc372e6a532a7abfd845ec9570a5a698e3e782f38f24dc6fe3c8adad2ed30c4af279bd6474948d1157679054200ff156a87bfc15f3cb879090597c159501908017854d91b39485bcb1f312c6ddb77a048dcce4d3f23ad96944d47ae2f4297f846be4cf792fab2727e058b16c5d9c9006fb4ba3117d5d51371ba60be75d6dc71f4bb26cde32d9d16e28f4462368551af943158f43419f905cb7d81ef75ba638098e9d0d51e7225136a9bdcff87a4f8be309433b25f7a77fffffa71e30790d2fb5bc66d922c7d6556adb176e83c2522f8e38d6c156e15c3fcd83241afa1e020703c6ef8533c40f50ae3a1583c1eef9db3c4a437e828ca0b97c312975d553345d462084977a0add3a82678e9ad3aab90285d21a1fe9a2ab1fed991cbfa4626abd3f084d487adf8e751b1e4fc5fe9b581f6a8d95e119c5a5a6368094f8d7da041870faada0818cffac68348c1ed3edeef8c67318325c9d412bf6f50c59766dfef53d346e1a85e0e6c101963b459fb57af4052c155d0ec4d138a703d49cfdbce058ec340b2499b67e2c5e5c522c39d5111f29ab0fede2a30b8472213789eb32212c242f4aaa6c8cc5919426afdbe9a66137b834d2acf44acc33f22bc581b1b60c27092342b1b24e00b9c43187ac92b6de013d92213e252511d5941a2d4da11208213c6933477ddd3ebb6e2963b7130c287efa9692196d98d362a15b677f491bbacd48548ea0a65a0495d2d362d978329ad6110e84c7368ac370df55d756187e34e8aba19a0ac7542dad3579aae6a10255250768fa20c4944b708af279f2ddd8d3ee204ba4d466bb5585484b0e443c92e6be2ffd2cbca19c6b9e4b7a8e5d2e3b3a4fe09b1ba25cfaa3dfd9c64b278f55aa386e34c10dbac80453dc5445188797cea234297ee8badf4611981904b523b70aa880fd70037dbb0d8fb87276a7dab71a25d09635ce3e7c55711a92052308e1d4005192d8c4de65d4fcd005ee9841ca21dd7f68221a0fe01a12cfbdc0813976d4fda4a6416872ce5019b3062ef402c7b9ee2fc6f067434c37dd55081ed914f4032ec2149ff53c82f97f3a566aa4db4482452b453627efbdb0d3464809980f584f4bcf332a8727f58c1b874c789fcfe961c01865cbb84d5d4edb94c21b70421b9d04a7bda1bf94dffc832c30ef3d4f79f0af86e0a87235acb2f98ad3413aeb40cd456e8a08de5c7ca1d613419e8af98c05527ad381f135ab0a3cc8cebfc15ca02fa9ab7dcc48fd99d7dd76d7fc87778d89f579e2d192d5aeefd0f3f35d61be916b72587f0c99f335d0ab3ac4d88f6181edbc4b92ac8d80aec7954af4371d9e4d9b17ac280b565205624dbbe261b49a22d4a57dc676be7f8f773643a9aece36553bba6787d056eeb0a48dcdd32a640109bb487c1cb2df73db95a23bd4f3036ac6ced507d6c2304e9dd1846cd357bda8a376623ef379c6dc822955e378b06f8b828a9a3ddbb5b5396422257636d2a504382a5d8d683c838eeb86c250ca7e0f0e7ca75ca152b29356a86e81fa50aa64ba21dddbe9254fe72b7f45b1ea506cbf253b5691ae128fa786956d045e01791a87fae4840a63060e06416aed4479ecc5d73933f408556e5d30e4a52a8ba05ac1eb4132be99781b65923711fd99fb561ed05c5eecec03a25f7f902d31ccfb53404c7d0d1d8416a2d4ca9e65299b6e1b145a5285f836fc20ca34da69f8486dd866a40dd972475218ea99df8d5968c85c7e2ca223d624564111a603da7764097399711f7935bb608f05df9d2d3fd5e0325e8c0a44ac61b894a9cdd2dbd0f1107b99712162c842cda477e40b6e3ca9e60b1c58d13279256c6a8b0dd8c04d12e020706907305ed39a3388d1f2025d35921bc568650d39cfa0f3e4a33679ef42d38b195fdf5a86d7dc12518dfb4e13a7d05de0679c50c33a618607122cb59be4054a9b26bbe478c7c3fb211d7b690ae628a3756dda03564cd50ee158719e4027d4f08325c21dc8e0c66faa5b6690c7dbd7d52f7cec6111e54f6697b6640fd6691b0939ea2f5f49975aeb986ae8a3855bc5487f97512bdaa5da0db28af785a3d8b9b87496426ce5228f89f567eefe015461cf3d1abe0aea13114390a8ed4315cc4a73d4f66999409262b2211391f5c250517a5b4bbfd8848e7ef6fab7be371030a56a8df6ca9632099421f7407031f86e5f1aedbf6756569ceab7d651adc8ecf86cbb219fba76c50fc4e426fea41295208ea77a4d8e3fc754299aaefaeee83b426bad7afe71c3015beeb748b7efb317c8e37f3a537250de82780dedf9b60f822a5bf896c0987eb7667a0bd4c2f3a59a6a0d686aa1521584eb8c4f266a6e7d942f00edca6280a66e0434c6dbee8b7ca72a92994968802d6cea166930f54cda507f5744fa7f1e638d81837510a5811e3de1086edd708e1a8499333a40f58c2201dfcddb470d9064dd8f7c649045bcd318e85db2aa8cfa785d9fe3c0f62f788a5a9f2ae01fbbfe257ebe1ef60b5cee81d1919c98bbbed3430bea03d72ea3646665e43d6e24e16395fd7e3d6c538be1f782e9399ee9de8e85858e11db468a8c8d0fd936d19e44c91c602f32d6aa25e5bf3a2fa782717afb7c97ba84064f6482a138b1e5faacdf82755a26ebfeb26a96f225be5d81e5b3dbd4ef1a85a1f9f29d402d3fb48e8ca7505b5a5a8c2632e1b0984795474f8f64bc3f1fe45dfeda036e54bde28fbf268a147c48813f73e3b87c8aedcd2848563fc8808ecadaaa300504f4f4921302563aed03ad0f2b3aa15aac58789aee7806259b671c03d4029018812630ee0dc27ea2aac75cbf771f88b6dc2fbfe949fec95f25fa323611892563f71764846bd0605dbca3b9236cfd06b726f4179d19adb5ed6a10e815b4a80d57e5b0798aa843c12f3662d45880f8bb4741688efe42fd538c9831d006454cc532881114ec4abb22465032e76ac222c61b21ae9b6b12e00fd8ab4216f449000eabc05c5a4145a5570f45cf5eeeb7e0162f49a2436a2055a2e7cef387e7a8a5dd831f78e11641bd80c0c6ec35a9a52f63af4715f1d0dbd30e8e16f3bda41d2d4de915f29c362dfe593f4ce8e4f7cc1e4161fa49826d272fb393d34788ea0629588a36cd65b501f2add7faaf621909d89c5d472cd4ba38e60fa9e350aa3a553ae179a3cca5dfe8b1232a1d325675068c0a15d271541a20355fbbd255e00c296bb88dbac0b4338c00a27f58ce3432100bd06fdc9f3dc8fda5de4664a4e011a8d8e7082b2cc374df09f1946857950cd540600b7fb71bad72293d985585effde39dd8b94452c9a9322569f333bdaf7efde7c4f6caaf9a9b4f93aab9372c869386a4c437191f7a7743a062cf500ee6aea05ef0c9ca842d2c78e5b2fb5c3854b2832765e917bae64ac1b838f2469ac9a3656355d6f4dd0c9a9b6a408414dcc46aeda1e707739d2d1f3f9ef9c0d40d7cc2c0ed0d89264a94a62e5692cf6b6e28e94426c2e23644254be92f0b810d1d07498e5fe77d58713987c1751203769ecf60e97412300b6eddf596d1181d5dc0ba29bb2c611372461b0250ada97a943f00c4eece60dc4183f195d89a6b19f87e56a2b4214ba246b76fcbaf4955d4ec2738fd7ef6ef4e29e31db0877a8934a7b1b7ce3ae7036d73c4b162e6241ce997128ea29b025c3047ed9c996c9812ed51b969bf17c81922e5a3cd26ab26f14e81e49805b42d82b3df7324c9434a66036669bf51af6123b280ef825bbb1a20b43aff8c7d6067e9f531be19721c101c28a3bc5fb111023391cb62c72c1e27f4fa4322ac078bd7f3f26a2b22e847036c10b4353aeb852b8253cd09eda0ba6f686cd3feee091205abdbd8cdbec0c7694917b90c52ba189b4a445ad2d76ca8901a3fe88034a8be6658b482b868b5aedc5d1b430b15acbcbbf3fd69d2927991aaf09bcb04ceea00edde1ec73a33b2f30def13c989abc9ea4af8c6238bd3583a98951b39afcf63b0f453b9ed2f3579ae8f7b1ebe01c6178db03ae8d6578ed0b8c242b327e3caa160b152fcb61b807f487040ed8fe2c81e497031f42ca6b12c69356c0b0f777ef2bf50ceb18a41df4a5008c4699443edde2bb6fdcc52229be9937c6e0488ffb17f02e86a1ed6c86f5ef1e8bbf90b21414d5ffdab681614786836ae999867a00d0bde8405868b20e0cd3ac7387c8bd4ca4d47cc857410c5999e993fd286da16114f554b5868e34c2f1795d1447dbcc2db443519cbdff42bd8f3ab6191dd958c8a4898eff47578493edfcd80553613d06f7f0cead1ef6c0f6a1b0badb47179f580aae4c5af5b67ab2ab19141aff09f2c8f6c9e72ab53019d8701795cd857db6e15cc5e7ffd425b5eeffa4eb152c5f42e7dd8bbbec6662db022f8b8d541fad02e70442d0ae8f0a34087f31491eb6cb7c8b9c1a3502180e51273690390f950af3a1b079434825db5cbaa61db62f3f1245edd8f49aca6632ba672aa9cced3cb21c8a10ed3695bc451f03594d816062b6c21b8904f5dc813ef0ef13e598c56a09c20bbea5716dd0441acc084bd9cbc8b37560f467528f58422e03a6de52c0c9df6545ed2525dc82b6b1099418897787b1da34c532b6eea028a5d07764b63594bdde7d0f1c517d4c049eb9109d1113e4e479e7aaea97d442841c8606aea5d026e8d6abbae3dda2769b16768ab0c4ae16630a7f6583ad880c30884ab7351ca4847eb541962edce8b4dcceae45479c4f4e40a1ef59909f4400b05d8c6d8eccbc0f0385e954d99a44759b7033d398eaea67489b4e36cd4dafc1a5b7c55cb9d643c7e513ec10fd299977f229600aeaa535efd3ca6acc6ba3b7d17f43dd46e6e92c88979a33a36253f6e6199842c80e9c3d65f6e3b3f9e2895d14bc14112f7e2869cae7fc9f3e271d863146cf89560066141f47ca0cc459a0afa5d7c72f03be8d798a17512c04c17f385ab9ddb0e6808f76f5b990288bfcfff7e85479f4b4502f0aaf8eec29651d14233c131052cb051372a6b80ffa40cad46540bd7d0b984c8f2b6bf32448f0065220955f71d0456830982dec05a2fb2e5afd092060efdf84312dec6b826b06372c84fb5b6e4218bea972e57f1fd422679bc6a1c13d7740880a91d162b5c7a8c41933d1bf08e78a5e4009b849b11d43edc74d11331947500b20cbdae2562662d26436ecd8fbeceedbef622f8a470dc0a9590a0f58b13bbaacb17a565c76e7723d03f64345b40a0762dcfbda8ce3e86a9efdcc0b4e8de2f287bf342af5ead946351451765af2360d5c744179c88a3e2a92b2929dce363049fdc3e176d4b975225bf819d4351a1b5016c6dc580943c88980265b545868184883f1561e18d8c3cf4cc81258a0f09a180033428f066ec271ab9b298cb47121fc17f580128cb1289e3d1dee19a3c84be298358800920de8739d154cc1e424abea79386dda573e2e837502641abae0f3b922870239936885d9e24e4fe31114521d871240aa496f7e1f2ab3cd8f4a486e5bf06420b80303739718475b0735e8a5b148d10da43b3663a180c9e5de9804b5317a93221314561b3184017297f12b1a80ac89631e754fabd97dd85aa3d122dca88403cb5e8472a5652a78dc55407bb25c5ab9d062180891543eba1dc482f3f1be5d339f2739a864c3178470441750702261e6e19b6033357fc70f0bc6905e120b069dd70ae5d285bce98ef39d4d692829f4f11d4009c1c300f18774b7c7f25765a129eaed09b17b034225a404020cea7f32574b72446ed30dfb3a1a271f793030f6c76bf853fbd9808069c23d2b90ad8b402f4464b3bcebc6492f998a3d7f9a4f1f655292abc601de4bd9487a5755a867fe6d98347d4083987c33bfca8e74d050f9c09cf3fa220064916f7e073356265b58c1abc4d7889a132d5c4accf3c7ea6b5127aaee97eef40247ad9c15c9a45e00328d7684ed9620ef9f12d5affbef3f7ee05ee9eab26f2a0c46b1989b50335281c4f244b56c1820e1e3e346f4709d21404b95e700ebbc2cd8cb954c0cd8ba71fa8f937f164a265087c3ec2bf139b5fe6c22e6db20811ec7017a0c56fb16fdc82f6b9cb8cdd2d0581befa36bcf52e98bb485f4299ce5001068162844ba0f71337f4f6a5573fa643d935ed8857b93e0e27d4cf271d48a7a8f47470ce704589d5f653ea8226a3b95d07c29b088b77b43f7e8ceaf9b7ed664b982297c15fd1a17cbdb7ffdf4f6440ec62fc1df2a9599a968afa7d8cc2bd0a07eb2b10b41910f8fa1f79f7437c1e1085c880ea12b79389069873113096538040907705da14eeb8459502baa29def1f19c7b1a2e45807e8105f3f57b2097380386949e4c5c11dc068b2cc3562b52ef46064233e712309aa81295bd466a5a42d9dd3be170285e6ee216488412766125f82f796fcc83b9fe44499a39623692f4190d6ad9afbe57fa432d464bdf4df4a23aeb4afa26e9ff9c80fdee997331454cea094e7329a3a0530dcefee5e2738923e583fb978c9dd8681f49d4aa06ae8036631ff0f245eb9709b30a39d9b32a88053bc1189886a232eb53551a4c04fcc9403fd33b9e753c99f459f4acfa3fc977e10e3788583601a820f3d5122974079e07a9b7849b1b9cdef3374567e7277cba0f0c0d71fd423922d2fb096044888fc92ce430af14388a1c72f47653f6a2a328fbca2d957641eb9d044d4ad10c302a372503a95dd5f20d30217357cf4fb1af638961acca319fa8ae242588ef2d7c5e8d1b0b669cce17e26f6893adeccc14a9e8908ea01f093d5da393ce302586e477fac14da90b259640be54d116fad4a38518919a1599ef6bfb0ef87e4b5bdeca85a12cc88a57d9bd401246c487f8bc724c12782056664554618c4c521f9866045576459a48a4b230f821d05c6b0f26253183295ba278b8c267391a1d912048f210352dd3bc3569d316ef29bad894c60c8569ded2c1c1991f1f5039182777e43f0ca0a026f21c345828459907564f87f6d20f376d1d0af9322f738519e3ac95cb10031a67478950888022c165a6e8a6efa470f7316f77e23e71abd6ed746b4f659493aecf7a4f473603a99a2109f97297a57906bbd8fbc909da852163ab6f294cdbb9c65a47a130308a15a1d2bd486fdc128bb84520bf2c1cb10e4c578893ed0ab2574909ac4d6b3be3087d026085f4932562be64a1382e544d5eb838e2fa6a6ddc757a24a0004fc1053cfad519664204e84c17af35f7d419ade17f45154eeba0c55ee02d96de8cab4178981695394f27123b454aaaabc733daeadb34664ace4c18b18ee75ccb6ec1f401ce596ed2c93f45ca1591974428bd04abb1773c77b992c9ccec6c860f89526b20bfa613f4a51785464b78010f0f352845c0d70427982872cccd9329790453aab3c3d50b826a272f14d672704a2eee55e3d9b250f8374a97a96089f4b60372e65acd4397bf515e71df1918e9aa179ce7b2022d5693e9ecb3cceaf5cc8b30664b65112e6e12a4db37828c6510da6e8b2c1aaaec3cd076cc83c5f70c1b4df400b4bf8ed032390daaec781a3afaa5c5508acef0d4421300b071a23eac9a1bfaadc557f06d827f8045108bc4c2cefec91a68a41eaa3d18bd02b4d4d94002a22822ac5f741961db6195683ec65b08b830025aacbce17001de19acafe1ea47311a78bbbcb6a50649575c498045ae7f5ed3c676c6fad8863a2e3d039619d14e0c28ac5618bb20e7d63b24e64575f0197bedc8192e86c4b760640c03ea063f30622211e9798cb457c55a47307ad8a549f00dfbefb437cacb6c88fe2a5d45e6d819a663a8c5a14bc561c1e2ca9569150725b0acb1b08dd89cea001adc60917f9c6b7ffd0b8f4f88f0a596d5474b21f026698ca40f44525bc76fcabe09d04568b3c4327160cd92a5b53b941b669e6833f006d172eeb9dfc8b7d74cdaa10edec6396ed5da0784a1924925c00bc15665d89134b296fb5ba88a1acfff062b044646d0ed145aef81c220242a44865fb1e8a507c2b6bb4b333c90730009a1051362c91f24df0f7448366cad7f3c664e5d4669b43fc24ce462f1d3d8a508956a6336a7c030b9d4dd3b710df3d8bebe55c327258eeb6d53aea7f03c5736d0205df1c880ab9cce3c7f33a9e4e06459f8ec291aa33927083820ee739f3c3850a6b63356aae3bf9ad55fdcf73ca93dad51ab88fdafef0de75bb9e303772604610ace829b35701a5d285ebf09f4bafaf5d977b9b21804576b4e8c929cfde69e534522389de73b99bb4d4da542e5b86006b4ede15bf1ebb610bed8a21003c633ae78e86f7accc3e7e5e1060e56dfe82d93fd6f01150e0fedef14052ec395d043a7448d5d504cadf0ca841de0da17f890617ab018dd075acf0a1e36aa523adc713cf8133e170ca9ddadf336fdfa4d2ebf0d3739445a3ffe2ab632f04aea9150c9db60065115c05007d2fd034a0ebde67d25683e27ffbfb825a0c9b6d7632239a26b829f558a634f0056b6f8a62abaf59732c1653c97be190259277e46ca988a5044b482659217b27e85586fb4b48f5524bf45562d641c2313d38e2335683631e5dc273fd04ef10b79864a456607c0d3c8d5ee7818795b1fb53563ae405a126200a104763a8be450f9b3f05b98d5e5b392e7becc494000e3f0fb15b9a0897740265279e6c4b06629bdc9a4242b82cfc4a532ceb7278ef91aa4f23cfacc9a90f8f64618c08b21fdb4e189034a5523aa551764a0d4a43c983ad3a9a3fe8cab71321f0034d0e062881de046c155bd21da88b1adb8eea31a9810d6285212627542fc2f3a186e26fe18c03be80a25b903f9c81a00fdb7c517c42361d05da598d4a936677d179938e5a394602e874ba81047aec4e91963ea890c631603977f98771b1641a5e83aac088fadf0e820246503d39826c0417f05cea9a640b83258f967317496f5b3432c3a25146274a5620b923c18e9d7e8bede5a2bac09d71273aa2c42f73c30851e1e1b91264d5e671dbcaaf1d3cdc8c67fcdc52c611184222fb01f36a21faeca6eac3521b1adb03994364fe46bad5b7d800b69c99ec171947492aba84f94072e6c2a5ef2ed3e6bceab80431ef3ed584a9fb586f430124a46544e9da846180b70c81de15d9da9b0a309cf62a75319af704c8f9b6645a9bf06e3afb0ec01163760e614e672d277f46648e8ad84b921eb6810b9ebc83ceb039ac5f98468377286ef5392a868223620223391ab19e3bd3575a7452d12cde7f08a1b13fc3a5590393e59c17e12829d344cbb9a6a85379c99a2dc6c94a365ddeb57be5300043362987377e4eaa569a3983c3ebbaa0f84715784a088ec4632659748842d50510d51424645747e9392752649f0b5fb43beb60e539f6aac4a6e222f44017b9d51ef708c4174838363ff7d378fb334a4496045a7cbbd557a79ee32dc8befa322a38195508bd3edc70b39b0de4f922471ca70a5dc5cea519892cba06b0114872e2e2e2f2d77759acc627365f5f9a63093b77349bd92e15562c4f2a3e92692b422b34437bb64a5c0e27c9d5b0a6d0525e8520d2de021daf81b05e1af264e65fdb757a372b86035fc403fe8f3cff250dc7a01380e6e484a82e37a47213d7b883ea2dd81e484cc59cfc32ed4b9a5aa20911bb862a9c0dfa308626a13f526d6f8fd5d08ab116acc541ca41df61744557597308231ee5fa8caf18da359a7301084614a38dc686cd518d1c81113d0f3990dc14c0ff42a451c5c3c9df31ab8c65442de5cdc31fe1ce0457d8190ae3d2e73b9c2ff6eda32001652fba8ef5ce5a8105c3a3935f047f11a451abe771441b5c919aceeb7caa551a02fd2dc293783b3b97219690358665c3d78b083705c502f9b9faf2064485fd841e70f09fe6ef04416baf38b0bb88b8157202765585d756a5ad1081482ccd1ca75687676578e317b3a8047489bca971f65ce7d1ac816586b9289c28d6f43c6414f48846adb6c0b2b6c56179125877db9a2f65f31cd095258ada6160e39b00b0518503de86084532384879fbe93d02ce0ce731c95be0778575e2a49597e1efeac1160c25b3990c34c8a5c48289ea55f2be3dd36504e1ecc92cf9ebcb2be9d3292c019b4a6609842e25f37cdfaf92b6c53a0fded702be819722de9aad3a860d319cad4b3c25f181137ed1a4907ccb36264c8d309e776123d535e260851739aa201026fc70e6ec2d1100a825251a4c1442af57cdd15cea111ef12c7963a43aad2973b6cea5132d4e39d1956a692e11c825de98eae9727c8e07c3ba9348f68d42b8f611e3fbacc6463ac9f73bf3ce4f5f31090aa339431766781194db15fa4974ac47c4d7f2d2419cc0b2d3139cb108b24a42d78daaf63e34ba038d425a1313e58304fe00e5ba52b5432c6b8a91397a224dc0e121c33a0d0df74128cea9161010014dce5b4126486419ea913752756a4e6812c497bb41279bd81a1476a94735554649a17fcad9071a21d27bfc12bf6ec2dcbfc172ac843c5833b234995646966e9b9d60712a7b74c7f8a42895cf65d4e6e204ca709fcf16325944c4393ea6f425c5f7f4309a23a3bd85d07f40cf87da0b8338c646ed207e673d0b918c961d371c13f72122bb56a2154b41a3bba993809e29258c46271437c278c91464c99ab928c64f906fcd6b5fe79c008cb586e5094a0b545ff0de14d210e4afa5ffa1aff007fdfd6aa49ce9f4ba8c9038e2f3f4c7f75daa5dedb1215224798be88b1587c9ef1e56d18fc8af49ca25e1fbe17d8acc45f061e322e658769793093633fe6595575597cc9e4450bcfe681f53b87a4e831b3ecd1d5faed4483e825b4e7ae5ca241bd119f2e6c3726100315420d46eb9296524835c0c913de9edb18267e760c7b82a4965303670797091c38d5718b907bcc6c419a54e6c292c7c08be837f98bada481c85fcf0f61445a92261e3ba64ee80762af1766a2aa43a81af24b2b7a73bb5306eeae783c157c3e096c98b304a6ec7c961490dc88699334ba93ccddf6fa35c060f52b48c313c9f84d75960319beba0b262b8d4944bcd54ecae202ad910184b3411f55f48808b501d31cb86165666901e40917e73d628db0df15a5336f0b6b99cdbe9f6304b4e711d5ac4285555a6334bb3d25f38a7da7be86efa38b3d7d6c95fa515abf87b13a0cbe85bab5ba4a356009adb49f4edf223078cff29fcbca20452d5fae6cc495855daadfd2e4cf43d2228bb28265cef7900a8f60a718038c15a616d3c1e6cf19f2cd5d487ba6b3d3dacd75cbcc1d349321ea9f1fc1de29be80c6c0350b8792ddb26cb6b60603832b43bc2006d1cb5de1a8a71fd09060879c3448b2180011e4a0e4988552dec2ed4f7a767fef1c3480926674030714c795106486246706662981a595c5ef42518314e673a56f39e134554a996b7ccb61dff2d133b0d314725133fbfd4bbea3baa596d6919fd6a0e3a9d65854a964a5dc7d603b21307e15a10b2493d9355c8898bc8c1f9065049f4e5720178114675f35cf7fc62db7b43ce8bc5dd9bd630259bf86da5da38e6da5e96ebf7db647003d8d2bd8c4a7a009d1c439a77e9f47f505217b21923f21ff59d96e7b10069f61c9b83dbbf2b9d66dec0a2fec2706d5ec22bc3c45a63ed96b6c7b26729f0eda0b2a0cf911994c3ed575e80a1b341224223b2036cc90ab3c45c033a9b4a0d0d37a963f3b17da798ead662eae7a8649f28d368a38ec8bb1ceba1407babeae2f045725d219a4e8bd9d88c394b4726875d18bd1c2b3de126ef039d2b3e3e6d3703de0f583676e80d0d0028302e21da0161294979c8957b3c65c6d0a6cdd8115a7d3260a95e4cd04f3c6510deec846309b8ca938ac29b1382d44d656dea75d4ead4d6222e339a1c68273346694fd3e6c56b175c27e220ed81101f4dda1537033003d09bd9e916a7fee5f09d7edfb70fc3c38ac8ef84a6a912a2bf6039c87bbb0d43392e2f6b0497dda1206aa83453c326dd4dfd6f43ef5aacbfdcd20bf48e9d4f1980a63bbb6cc576e2747ed8a0112edc86c71d9a59f6a203a24b1f65da58f8a732774e69ec3066c1376bd1f54edfa91ba630b305ee3a424f6c3f43fe9aa1f20cf006c4dc7dbf993dbb9e6c27c8d574e6e37300e1c26d64319b29bb2cf7a7ce905e89a8b04fe1a2d6d4b322d741b21da2ee6952ec390212227360a8c6da3c54328cfe48d630cc16b8c01dc8365f0277fcdc89a693e759f8ac9fce3a381ac277ae0c1c87b62681a58378299bdc7551c78c4026668275e76945d9c35d9fcc7aeea112e164ab01eb239a5e5a65123ec2bfb3add5c11d8baf86f5452306001f5624c07af5885e342a6cb4e4d342b82d07b1c9d6504fde537f5653f1ef8a866d0c2083f715d2f864ec4b668f976f8857c18bdc69dba520ecfb1bc2d91cd5ce658a8a6483efd372cc7f2253aa83c1885ac9876896963a282ca83ddb955bb789bcbb87f706420c357ddcddd171825343b92dba2ab10c81e7e5a4dfd04d51754f14f81ed04f33a0e80fb08ec0f76359e0ed5191a5c0fc719b060a14e7035a64dbb55b208e59361d2a0407fd236bb12ce3dc06d87890c646f386962ec6de87a34c943f21c75d50792842e882acb6522099bd22e0a184ca5f88ee40308a10eae5268402c7d98b9261af74cad5afd8aada82e7450823d97befbdf796324919fd0a560be80b578b1b142ec0f936dd93b4f590bdf7862fd1eb1620a16ba05fe7c07d7a4b1e35cd3a697bad0767a5cd3ee9457e35cdfa8babc79f925e6f9db491b730ff39163fcf9fc73e77215a97294d9ec5772f9194dc224a4e2dd65b07fa2103f99053a11fb2504fe84d4eab8e45eecb5c079ca45cc0f2ca596c1b9aae08e35ec7b30be549e762ae694f705844e24e07e32bd2275883d415eeae6aaaee600353fc392114deb0ebc562dcbad35d71c8cdf1aec5dddcd5fd08d54b2241dccabdd8f5d98920f9ba8b176ecdbb77575a77e1c47a59b776e9adb576762248768125d7315db9afde51597777775dabb5afb5f67bcc03f2a1cc604a065324d45c171283d7168a67f9ca4c48e03e81835eab038eae875e197e020715794a344d785fad64b8bd9dcdb86edf6b9d1fae60a1d5071f747842ab8b2864405134a1184091e590adc386c869e6b11cf4572d3330b1a1e517b47af65a64c2ced0700badb25a549f07032539156d63a8d1ebad5e7ef45a7b1cfa51f663d08f3e3a03ea19f3189583d04747ad07b6f6f9e80ba845d847ef1947cfb5a8fe384bc55909a3d79e590eae5b1761a38be4ccac45d8ad097bd2da6a6dc53be46c96c2dabeb033fbc27aec9eb03a64ada7b02f1bcfc9578358d5e0db5aab64f37551cc396671bb08758b588b005c568ccffcc257e5e05e2b84ad4d5356a1f48b7adb4f6e2507a4af56b4e03efd98bcb55295e43f26b5e8defcdaeed00af9daeed9b8de3d7bc7eb395349b6a67bda269b0db55f91101c9e72b6cbb3d932f002674c940db5eed567c78296ed66b35bf7aca8f5b24f22581f81845d8c7b56d4e276bceed9b4751877773d8b024262831a866e73d3ec4fe8398cc3f521fe304eef4317ea330068e81ad4704b992e4de5c5d8628c31965c45d10c3263dbb66ddb7656a4949364fb758d09b5c9e0a7fe7db6ba686f1e902e5128e490ad98d0a992ada290a6649b448a976cdde7cb966c1d4ca3255b31690323c125db0594d5c41adb26d674e5ddd0b7bce1da31f7c24800b9980410dc5643b2fed62ba6289aa22966b3d69e896e612794726afebdf8a76995d6b53bcb4d835d0fee95b20cca52490465094a52fa935c85cc1128e08af685750500e0ab69ceb05f71d5576f82f57536a37f00562de881af08ecdbea62a6f5d5ea85acef7a5b2357ab17705f75562f44fd093626be5a4579f97cb532b2d53fa3df22d99663e9b714f1e8e92d9d2465b8743bca3a685a2d67692ec53a8e3371561d9c7db334f6770ac5566eb74d4b4917df3bc47a618b71636cfd5e2b8a1863705616c93f611886a1684207ff39f8fd80304f41cf4dfb01cda635e8e9bd2ecaee2cf58779c3643f62fdd883a08d81a0189a00019c990021c5e0cc840efe9b89267460f4a605d594f5dabe3749f681eb5c6431aa8b394e7ecb961a7b2e3087a969d55351f4b67d388b5155a0c969256120631adc725a7341b8fc7d704352fc34f45474d02cfd04663896e1589a186722983309d41c5a629bed7b6bb3fde8a2acbfda0f83a0e46f56c9db97224b5fbfb4c0f569f7f876a1af5f88f0f85c8ea5afb9b79dc4c3c3c363670f08800b69e5f976fb558bfcdb6dcfd2b1b5a6f1ed5da31679d9a6af736a51fd1ea169ed2304f1f518e32028d92609293138d3a2850c43405468662965e64605d098143d45805abc19c1e2295baf3b3b5b2489a47a6d202f8b85ea64ebb78a624a0cd0b498410694cba9d89edeeed81d827d69adb50c307fb433917c9353f1a940a1af33d3ca02f0a528fb92ecf9d234ad6c04dfcff8fec487efedb6b03aeea4469f59c090abefa8c969266112c0365b59561805ac957536e181084dab9e7e3f820d8101b57d04f867e0efd909f8639800c1448a1f099eb1c04439d004a87edfce66465fad091052fcb3580c0cad2cc5ffd3b43ad6f2cb5a5a985992956707049e1781ad935ee0bf678135ba1dc229bf6f746b86a138033ffb5ffd70e027565cae5e5d84210882a18ba1d7300cc3d02ff68bc7990d2f4c7411ca2c5e1386185f8c6f14be3de0bbe6de598cbe17df28f3ddf8ac05c150ec411c958ca414b22ca1943013c605dbb957cc0e0f119ecc957b58f4e8f131e3539ae6f7551803ac881fdb6b5a8b293f23e08c88c5dc8700c2b7c9468989702c9362387eb596e38c94f55f199f0d5b075502fef89f1925df15348679309a5172edea02bc2bc01f0bfe92b2faf99e7e87ecc9c20eb5777d01fa38043a8b120f7a1d0241af3010665f2f2c0c678ebf8aef0c9fd15a12a5c47d6d7860624385c6daa52f3fb6e42a0882a13892e4188bb9c7c9404a2c4b7214cd3411c7511c47714a1c477124c95174f25df1843b92a56996e4289ef9ac9575a5812800ad0cfbc5df077ea278c5912c4b7214af1051dc1147b234613b30b32447510d0f65be205f18de4b666aaba3b844d9f0de2b8ea3389265498e229d0c784135ee75a36b4bdc9383987dd155d6dfc324576f9f9d208341bda0aaa8b4f61d4b806f7f51872c07274e7cecf19fa82eda51a8c9d5d313df37bbf75e9c9fb5c872501d8327e9f6c3b8e259ad2ec6fed1da07653f4d8379d0242fd70bda13c80eb5acd617a00c24ebd0e74036dfd3a70e7ddea50c2d49c03010fc3f6babc53be10c63cfc0638be1f4427124c9510cab0b0cc6e47839de54d35a4085a218da174035900963258a39c7621ee0f2c987734358c23769c884b1e2f14835a178ef0ee298e6db0a1b333b78d1c2e3595bd37a86e4acea1986336bdbba38eac07993868cbd85e1591bcfc6e3591bcfda5aac21cbce752e4969764ecbb45697fb2e78afef13eed9399b13cf64dcb40652a2a9aabc3ab7cbb6c10f639ccbe572392cf514bdc599b5dda14e43268c15c91b79222f94937b4156ca2a646d25895cc6420f1c75eebd375717189421cb17617661b685d0b4165165350110c361eb8862cef605100d6685b91047921c455b6e5a290583993b3cd8f6e074911fc9d234dd96ef10c986a766a0acdcc3c237103de47fecb0314477774f901e1fdbb375ea298af676cf1d87c204491116609e768f9d590c07cc74a7d18888dcf888b03ddb13e287c51bde4e9a1f13bb0f8c01a05bef81c9b0b31140d6cbf66caf270391b800884f6d0f48088cb1687bb6677bbd5e8553cfd17b9cb1d00387ad63b3d9f257cca70737811de362bbef0dd205e94030c4df0786a16e1c83744139e01ca445c8fc09aaca415541554155252c28cb4e505550559096201c82b258c9800bd205e98274a649a3635b14738ec5dcab0b0c787d5f84d9859f76d4ce4235ad05938b0110c342451473b62f80a654b7c242e584a69551be9a811d0a433b4b9bcc8b23599639c762ee341a0444a027dc21724d6df159dcf7f183df4e6af4e04c1c67e81dde8b162b537ae2ac368d3fa1693d2d8c24cdaaa9d43374189c3769c87c69ce4cd058ccd29d462322eab56813b54285cae28dfda6f27dc6b4425f71519f5ff03f25093e5a72ed3df5ed195865eb6dcd5a8b664f73592caaa7a3ea10945d87f9b66a2c4d256677ee324e109a9333cf0e2c9bb924c72c8619cc397f3903ded7b1396515aaf666a7c271bc25292d35395928a09c189ac0da44606ff6666ff666adecee4ae9dd1f88218c7bd24c881f8820811148e0800927cc3041d76ce0153f08e1837b8a620822849056dd072390f2432b6a821cdd569164adab7db25156ca4ed99ca522c7d21c5db436118e50f850bf43a197208ea16f208a625886a287611886222cb44b30bb649790c01a06133d143fd39229c55cd9946bd125b14a5d7923b1481ea9456e913db28bfc2a6de5519944eac89dad2e482c128bc422b1482c12ab2c52362549d27de1bc74bb2b2c9e1657af0b978bd2e9743a9d2e29f3787a792957752dcdb7accb4bb9293be5a71c95a5f254ce65aabccbb79c946d3cbdbc9497f2525eca4b792993c93cd06b7571035eb588369b315d7dfbacaa4f92a9c999eedb67b97b924f77e63483faf619ef9e15eb9e3527359bea5afd518d8ce9db65416a6d54236bba67c5823b222584aac91726b45df6744f211a94cc119275060c195486eb5acde9ee2980a837372e35c0594a82b6cb76f764410c5068b87589f2c218b45d86d5352b86b725ebddd388c88f333b6ec822f2421068bbcceb9ee5111f74d0c9a2244411b47d66eb9aeddd92bab6d4b5f619130eb45db6548b66b2a46f97ddc6ded6b73bef9e63ef0ee5ee49da489b93b62fef921d79af6ba2b73b975f7956ee9ed54d13105cb680c0697182b6abd0ddb3f630040d263b3461f2a607daae62d7350b068ba762eb9e950765eaca0f2c434cf981b6abe8ddb3cee961839418a4906e4968bb0aafaed924dfeeb6aed55bd23d8d6238ea49fd90c30a67dea0edbe74cf2ae706105d9924466c53d0766fea9a85f31485eb5abb4fa988526b63994ab35ee6ada72aa6be5d054ec5938aa86f4fd195e24bc5910a24154a2a985438a5d0f23405d7b7a7c03a62e6db5364a5a04a5195e2eadb53e45244a5c0fdf842960eb536be50693a14bb6f47c16b47b175cfba75040b1b1cbe76a04303da8ea2d7b546e1db517875adda6eed2992da532c75ad997c7b8aa6144f28b06a918a110a050aa83e47a811870245d33d471c0adb3d47dda84331ea50a04011e7ebdb4dc4a935314ea5d9ee6974848313950f1e6a724ca1ed276ef734f281264be7a4ca982936b4fd4452d76cd437c9d4b5b2a96ba6b79f78ba67ed9599835b214acc1a1bd0f61351f7d48010556a44f560442a0bda7e02d7b59e21a73bb1bbe70c1d5bd6e0983aa22309da7e02eb9e2db6ba6c08a94284e704eddef1ed27b6ba06f3def1f613bdaef178b79ff832e1558b5298e87dbb892d5bee9ea3ed9a68bae7389a781a4d447dbb892c135726aab4a44c4c35ddb3044b31dca8e8d0320417b4bdc4d33d8d907ed8f295040575840b6d2f11d5352be7db4be0ba5673badd3d8d90646dc9994305879d0fb4bd0456d79ac8b797e095d82ad1bba7510b759c3019a963b3a285b697f06a3761eb5abb704b32b1d46e82a944905a1375d0e1ada72598bebdc4522dba9548faf6a0ab2cad20aea0aea0af124741b97b8a3c5e902e0847e3db83a6829c82a082a4be3da829282968e9db635f41474148df1ef38a6dc562b15d2e16a5d6441844186253df1ec3d52212df1e7b8a457d7b0c2929a614638a39c56cf714a3a2ba487cf1ee29e67224b64860ddbe9d4416092a125524aebe9d448e441409dcb79360f29484d33709a86f27b144e24602880410d0d6cfc9d2a1d6c23995d603c2aa454040bb6f07d2dd93847b24758a470d64bba79874fb064afa76a0dcc501390131012971f9faf69f38b51672a9236cf724ab602833a503d31528b77b561c8e8a3461a14c0d396e2475cd4e2d353dddb38ec91253c39635586bb8a0ed23a2ee59cdacd04352d6152571cea0ed23705db35ddf3e22d7b5aadbb58fc0ba6704b09e5ae041431a1c0e6d1fc1eb5a3fd9ea8df0ea5afb88afae85dffee3558b46fc4fefdb7fb6ee49c2c5fad17dfb4fee9e21d64fd33dc3ad70ebe729fdc9fab9fad1dafd54fd48fd4c35ddd3a8499b30554750b081b981b68b78ba67909625a5156c50a271046d1711d5354bc3b78bc075ade674f72471ec62f8a109102e3da0ed2276f7343ad2054e8e253c489d61016d1781d535cbf5ed227822b644f4eea9822d32659c6058826405b45d84d73d7fe45869add912c44a13b4fdc7d6b58ee196f4b3d4b5f61f261711a4d6c2264d44307dbb88a55af4f3ed226e2292bedde7ca27cb47cbc7c7e74bc4914fee9e210ee7a3c3edbedd07d7ee33e5e3e403e523f5ed3e4d3e493e4bdfdef3d5674fc5a67c8e484cbdf5d407c96bab7bdfde73d593d5a3f5ed3dbb9e9ceedb7ba2d45ae823f431f5ed3db89ea79eaefcd573d483d493d4a3d4c3d4e3c4bb67b8142ee570a9f7edf976cf7a65c3918e1b7800413282ae00ca1a2e595f37a85901add9afa6a7a8f68ccbbaaed58cb5e4db73164f17cf573efa761e1ecfd67fc9d2a1d6c02f95a6e3d97d3b4f8f07ab16ed7c96d4b7f340f50966f590f5ada76f708bc7764fd0cb8be7c693f4ed3cb97b56251e265bfbce2da96b9d63a9e9a97d27aa7d07d7b59d5cd7aa6ed7be83d5bec3eb5aabb0d5dbf192f2ed3b5fb038b5066ed902fbfa7698572d32bf1db605eb7d3b4c0a3605a38255c1ae6059302d98539f1fd3c70483fa76d81213ecc8531892a730a56f87d9cc9ea7a6d7b79bba7bb2c04c0e566cd268b91da1dd81106ebc90a9c1862b4f68bb89d5353be6db4d9eb9654a796a4e7da726d5b79b514d66905a035da834eba00b4cdf6e2ed5a2f2dbcddb3d499899495c5d5d9a47bc7b824f4f5bdf5e5e9559b97b82385ca9c3e1a6bae6f3eda5539fad05f5ad25f55defd9b372ab9decddd3c42ecbcee90b192b206807f9f6f276d5e70725667d43697d3b99b339dd7f5ca6be9d8c526b1f974a7bbae78785f5d6c91dae1691cfa584d4e7c7d543d6cb76cfcf0bbc81b7710b1c7bdf4e365d72e99e35d7d5e317ef9e245a882ad2950216dd16da2e6edd93459c2d588a984181cb1cb45dec75cd6ef9aeb6db3d33a0216b06dd1036293441dbc7a47bd62fb92847dc68c9a1c043dbc7a5ae593adf3e3675ad3e9d104586a7adadaf1c5a80b68fb87b56325c726b82ac396285096d1f735db37374bb11ab6bed6356d774a8b51b278e98f5ed22562dc2df2eeaee896dbb6f1795fab43691a9452711aa4f6b93ead3a772573cea13632511e9db432fae6f0fbffa34b2f140db43ad3eb193139753176f774f8cc3614df589abaaa8aaaa704ff7c43ceba1529fb80b77854cb82b74faf63029b4ddf3bb594fc3dbb783716aede6b839deb6835e0e6eddf32625f5a0a2ee09c3e5ee696dba1d8805f22ed874cfdbd4f4f4ede052d7da41a60b05052241bdf51454bab99cd7b77f597ddeab7bf569dd2bae5ad5ddf36ed9afa96b0df51da4d66c934ab34ddabfa55a74bbd6b9700f77e1afef88774fabd36d7d3bbec259b97b5a2c2c1d16de7d3bc675ad1d4f61a73e2d570f592e0cc525f5edb8a96d6fdbef579fad74f4ad84919eee50f561eadb6f945a1341a579cda4b4c1a5b13a03040ada7e75f7342a6265890f696e8041090bed2258b85a64ff3e59bf369e758c5ea4ebd4d55f5de3b5dbad76dbeb5a3b318262830a3294b1a1650509da204411a32309899c2c3a7dd4d4deb87b1a25c90a93c52488aa205dd01ea2db757b67754d875a1b5169e988ac2faa7f9ec86900d5a7066d9fbe61d40fae55c2a0052338c6e8b0ded850a31f4e696e2ce1210c9816a0ade4db6323aa76708aea61863061d03ee346c90b31d459e10a6d87d135fbc688098e1e12362ff4d89102da3ec23d0380834d96aba83961dcd821befd03e077ce39e7dce339f7e0f81ec75df3f99e59ea230226a347f421c2002ba7a457971f417e1cab0f62a09ac00879b3040a1d2b168f21533ee8d82049838e537e741f7b729719a87cceb3b4675642ce9ebd07262367988c31494ec9dc5b2777f7c45575728aabde3afeb25d9678ade0f1aaead3daae8070392599de3a10940cc38b2fba7845cf5714dd47179d26e6518dd28fe3089331c26032c419723af6de7a2943f692d311eaadf3ecc08628976a518c49cc5b2f9bbaf6e2ad974e57e09b5d723ae2deba29c35de41199819c9ce2aeb74e7a752da91659a51c6fbd5ceab3ba41ad974e31c079eb25549f5508d47a89c35d475dab4f2c07958ae492d351f7d681c2e474b4bd752030391d93de7a8b313915796f9b7c18bae839e64234d1eb8e17c5593ace4a109d84c91091722a46bdf59e1c3915736fbd6729a7e2d15bef6121a7625297230f3a1673cc853810c32e5d727c18ce44988c500c613240ad9c86586fbd45999c8654390d71545a8f316e1b8fdd1d3bad0bd515150fce44ac9c864b6f7d458f9c82596f7d450a3905b7defa0a1e3905bdde3a90564ec1a7b70e6426a720eeadef8cc9e9c7f5d677b272fa79bdf51d3139056f6fb5b479e12fef037f7113767aba8ea330529fddd4a4f4372a0a1ff1b4ee56d7aedfde0eafb6d9a8faeca44eaa82ba51574aeaaf5f9c0ff4facd59de45ead3f67a57a9d795e35740afdf5b6bf56973b9e6faeb7dd5a7ddedae376eaa6b3d7ebd7354527fbd757d56debd624bfdb551edf4d7db76d4b7aed96ae5c28fbf7eeb696d5fa74db249baaaaec1fcbaddd92bde5fb75847bca93e49e051fd3d410af677c93285f9ebb6a94fbf6ecf1816e945e81765f8eb1f50426fbdfa4bd4c1bd41a4f0f7de7b75331db601c3630d1e27d960c1e70d9d5c920c6d927c3dd9c087362d28c36b42c4079a1a3bb3469d274d8cb1919339286cf9c03185871a28162207891c1c0d34d274c1676a08313e9ec303921b5e98a6dc00048ab3d020d2454bd68eae2928d67a3c4b498cbbb83ff2a37803a33933bfb34ae10d0e545c3938a8077cf4f0c58a571b313450b386904f45a5aa8f294e0fe5e8238c911a6e08628a4af5f214478a8e15e480c1c265cc917422c1f058de0e4ae3862b2bdb9227fd87b4a271e3c91c1059a70a2b8e9b1b28ee9293a5cb10431e2fa1788819aa6e88211e7b023ef8b27aec218880e4b14b00cf91f3d82db0858e97c7ce813a491ebb09297a244f1caee7e9e731a2618b9017e44c49c3c31b94c7f33d39e0f246074e88181d1c94a787e799a5240a980c1ce7f6a3e3d14521927e7433073afa4f2cc88f38fce82e84991f5d880607f7a36b303a118f1f7d83d13b8821e4c7d1cb871f3d84ae9138b13385407ad3344d8f99b374a4f9d3f8e3c7932c3d5ffe10f3a59f28dd95847ce942254d8539404643bc14b9a2dae2b5b094802a4b7e50a2ca91738379630e972a8041e2e38d0154806af1789696d8cb711cc7f12edda5adafcf8ef32c1d93b6b8321ddd8d1dc4bce9aae265841a7828b2058d94aa1b992ddd88b7728f31c618cbebbe71c3d4d3f1a0ff80bd003cd83bf3a06b003ad191077d03d007340f7a07a027e083141ef410bad6c1835b7ec0e1411eb072ac69a2a24e0c64b4805961852334178499020364c79b281b1ec3b3233f3644320a3a5af0030e6ed0a86961850d4e952043aac454e121efcc8f4b2a6886529b304e64d8614ea513a54b8d2f3043c81026abc1cab3d96c3546f0cd0eb41b640842e4668686148c76d4e8398d91e3858408dea16d17ab87dab1b87aa89d4bebdb3fa44f890a573ddef246e93196c72e72613d7693063466b601f2d885709b209e841ba4c7585bdc68110101955c397c59ba58864007163248a6e460c3052da37ce95eba50e9b4d2894a8751ce522013e5c846ce8f52d0711c473fe151663f3a6d871f5d83aea92801938189401074a9075d88063a919520704dd79b8e4dd334fd84e9be26cc9b2ed435146fce523046cbbbcfd9c57b8ac042234daea703091068f67ccfbad3a2420e8a90ac372da059cc67123019e09aa3271d2b414937d58c791209254977356b9e742110082603d39e678b1a2fcfc3c3c3c3e39d15c487ae410a510284d535cc91c7963432501e62e333502ebd2cade4ca1162f90393319a56426c6fba78739696226032c6110441101c65802359e449120c32e4b1638c73746e890a59d7c88023488d5e101c3828b9c18724457614893303d6a171e3a52c3d4c74749c9a3029f96233ba61864b9d33729c84f480d56dabbf24a6ceb1284681109102a62d2ac4b0a5079a32758ec535d7062c4b364bc0d14c39fa08822008822008826386c90097a23cbe8f315e9a7aec42b4a15cae7bc4928e1fe1b86bfe2366296845908539301672200241ccc20d8f31c616ea71dbdaf65306f73f3fb3142c794546582460cf66b3d1c0e1961e96408892bac2e6853258366a0f5862d88225062a5e3ac2d0b825ef872f8fa065e979ca97fed3b5b3f4720b4f2a1c91943e92b902830d63d8f440f118398f5d080ac5ae0199238f7d83ae6df0186f19f3022601112739636ab8e540064db1b54404aac60e61c0f07822bc0e791122662968b5906e499606761aa318018c208831c65897ab389ebc8f639fa48bc3c88fd18d3244b0e4f8d264e349018ca0c9e1898f2bac1e5f409b64b3d96c8c3b1c3721367e78acc363ab232d8f5160f282c29b223752e07283cc101ead6af49ac05066e782130d3d762808634d95385c2f34a9d143c1ab07ddd13ce84234d089408701dad87ad013f001e822803e42d75a348cf7601aacef71dc93e304ab3a074a3d9835f56770e0a9f56ae4a8d2d4d9327222c8cd0913182a46e0602f76f40ae23340ece02ea4c51261f4f455650a105266f872a6034aa6747541e3864a112ea567d3d364e1f1baa7d11034513d1b96bc70f382b683b67bcab0ac81d2e56a0b1c2d683b78eb1aded594bab6746b804eb5eb791cf3f0f0380f0f8f7bef31761a7622ec30f02ce581f19839deb47a7396f298a259a2a1f1a5f8a591903972b8349949410e11b4acc0932a46b680094288155a62ab2f67a9593a794687274b3c394b4bb23cc364c89607b76c39c3344bcb718bd6951f7f1cc725e237cc6d3b4d5e7e27f73b23111c62de9ab3030a9d352950750b651130228c9e6e4a55bc90b0e0c3133a001974361b4d3964edc05b6a0ee3261b7aea170b45d25c11a28a0eab9a9adb51d39221727639fc2547aba6203f8ea367353ffa4fd7887e9c8db1d1aa8812187a3caef298c8eef1288e60f8200882b374f4b205ad2f2ff87296822480b016961ea67bd82c05ad788374a61de100aa7cd14991a2c235e683242656647256ced0a9caa34d02b3347a5d5eb6efc8aa85db77fe9387284abe60d8e1f8811a39ed7e1cf15284081037b4fdc3750d6b79aa4f775a94c82499704fee9e9ca5e6ac04927492bc7a103c43c58716d00173a3a201ed9123a9080c3a8011d206057178902c9954f832e8cb594ace4a0041710b1a36dfe3a6355c48a6a896a67c41b1e77b6a60e7030d4a78442155e12c8f31380e49f3a3d08fb314dc8a81f4e43fc79f8b3c6cfce76616f4f31f1e55fff190020cffb9d0d7e3e8bfefebe1e3bfaf879aff3c019f7f90fb2f067484353ffee72474ad5a2501f19f569215d2d3ce0c5f729ed0504225854ea5ea275b0d94047788897aec26f67c9bf3d87f98501c8496a3cd63d7200514468e211e7b07563abc3cf60460ab1d491e7b085d7b818bc0becfea06f59f0bd1eee744f773185dbbbafffcd3520515ddec8cf4a29817ad5640f362d58bed49d80a084ec4d093dd59290df106681858d5431d76f13e0c45f4c8754b99a74fb1adeadb3f9bcd856fc747f876cf14345962fad1eb823404352ac2828f23393460c8d880b6e3a5ae61dd3dadede99e4451527d5eb41defbe60ac76cceb9ba577bdee6951af1c805fd7120cfe9b7d40cc71da0284d463ffe95acd826337c43d0864ed51d62726976d84dc30fd96eaf1d4d2973617c52fab00328bdc8b5fe6dede68a0b215244e0a50d05a654c8f16f07002c40525b462f9ea31a7e52a9d10447af000c5075a1dc63d45c08312d79b271b36e4a0f886affec13d8d7c6891193206880eaa20d0fad50b5305a706254cc2a0d547e81abef2d549f8c00926a84646ac828801a2ca119129b4b6e0abdba43ac5c8d60507c48e2b5fc41841abec0a970b4b7a7cdd38422bd557313c28b63354765cb941eb1b2e6ab6ce004187eb09ad56bebaedd9aeaeb557a0af1e8426b7a7f6ebab935b640f0430be046c6e8978923f27c92e189f7ebed535aeaedd19f945f6ba8667a457d3b88049faeb58f4ebb44b83fc4a7124572e609c1ea600d2abb40120072dc9667bacaef5ffc064dcee81c5d4b7b388526b640f2c70b5a8c5b388fa76164ff7246105ef9ea497d78a2daf15bd6f67c1c44289c551aff8ea155d2c9c5824752d7b3b0ba4aed928593ad41a19a5d278f70c93e4d026cc103269b4a0ed425bf7ac657445a060ed8046061eda2ed4eb9af5fa76212fdbed9e25b01245c986060b0e68d0f61549f704c251e11813448b0d40d0f6154b5db359dfbea2a96bf529ea9e462fb09133840989461071d0f615b87bfe38f13ad2f5c5658506b47d45ae6b9605dd6e0556d7da570861d5a22121a19cd0d3b70b35dd93cc09d9ee49eeee4ee8f6ed42534252425442514250424b9d7485904820b3af6f9fc5a93512c805b67b1af968410d4e5d3956f80185b65f70bbe700eab871e1ab0b535210b4fd82a4aed926df7ec152d76ad3d33dab98a91b5d6a6092e1080fb4fd82a87b065501e3447745ca182668fb05b8aed934df7e41ae6b55b76bbf00abfd025ed79ac756ef02afaeb55ff0350b461f3ae8050a0176813d5008f086508b1aec815ea0d7172735c18a8012e1f40d8220f80305de9f182e088a68baa0882624b82ae9a44ea1913a05f02675520b30601011d168eeb1d80cf0c17beffd7617fc6e00ef05651fd59703eff8e5be9d9a4f67348c16ad54c5d5e25c2879be3e6da44f4da85f1f3321f6b5691dcaea8ba6d6e79f5718185eb38c7df15d99c9b32fda2c635fb4e5e9be995aa65677db27229c3e35a1c50eafacfdca7e9eec0b114ddf4c4677cb7ea09ad6f7c3f776f7cc31139ea5263c1ebd6cb17a752bcecc2a8e3f5fab87e05743f0ab1a6031f6e38845510cab835f0d9f402ce22b49211111d1875d0cddc21a107612e860d8a1961def6871f8beef0bdd826e711886e137b318742b7edf177e6ec1eb16bce215b19005b0acd23e5f81c5cf65ff61a0b693f0d7ed9de1f0168221961ea2783f2222a20f5fb087080ec1fdf861c3355282e13852f18131fe1c3b08630006421808fe4444a9d861393ee0f6e703637c198081c725e05916d994b62fbe24cee572317430c41fff0007b664db1ee3c66239318df1a1dfcffdb628ba188220ab2e6621e818bce04197d517421690ada8c0ad165faf2e40973d5841bf3d1e496238e38423bd1c27f42e5889ae882f18e6f07b5654ac3d0bd2296ddf0a7a6cabba08b5de9a238221fe08115db3863213cc685afbd8a3eb45b85deb8e0422222222dc62ce4e825b1ba8c54df8cf4159faf360e8a20dbd04ebf86e4095414f7f4cf8f92fcd5b2396088dc3d8287a2a862e96d0b151b44e1ec93fd74d0c82576682321163a17be2fe5cf38ab25483b757341b0cc130bc6ec28f0910f0f7b57f671a8c361c8722f8853fec106f765b838d5ef1d58a863152960451dec6ddd6fcf29a5d7e89cd4b7ea0b55d5dd4d114bf2f49732c4dd2835bc24c13e6c1f55aee98309807f7f3b7bd95565d88188b58c8bfd99585a0a7611886a278efbdf7d62f435dc41cf32857de255c1f0146f518f9663ac9d85b8c11b5c77cc87619bf2fbc0ff0e1caa9ce0d1e388441dbc5db911c56c6cc4007ed62c60662317303bc248986478c597331f28e1463deb497d62cf971e606560be2a046a8401cc07b6f8b20b0941163b68be26c0cc14f8a0e3d44e6dbc4572b29353c88d3519660e2e9fcd3341b45070b559a307962b5848518959469a2028e0bc815b4a1ac1425df2e44bbd74c8ef99214a74f69bffbb29466eeab6e627c6f548c04885d4ac019c00e711038c41bc4f44811e6306408ae0515680c9146024e438080a245cd9023b4a6fde4590242b8ed84eb1b85141e8c6481ea7292850a4029ce8fa7ab1b4e7868777d3bf961005c3dc4b851414e140fb49de89e4360ccd0c10a5303ea0a05a2c9af564eca3cd0572b27555e61ed16fa12f17b75f195bf5ad42e9aed800b86e137cb26a6320e9131c63735c1c4e19e48d527b81b62d7d25aab5b3cca70d3522c8626985a5a657865b4b2144f599dacb5d65ae92976b2d6712613658eb1e8f745af4e925f18861f294b8d4832c463e83514ab8bfec9aa8bb23a1be1865e65dfe7a163b7306cb108c24f16860ec23e0f419902eae3ca430c8d920a3946b04816c9eab0b711ac0e8b74a3cb0473041d484847624238c572fd95d4a33ec1e19ecaacc0233666c7bdf7627c2fbef8eec016c6001187f80138c421d4085a5a5a65782394d1d20259a0e3a9093f2394d1d24a121343c496c871effdbeaf6f5ff97ddfd726f603901b494845dada6baf2d6f89a3faa3e1d4e659ebb55ea518b7bd7e5dbfd6af5fcf4410e2eeab827d615b769364d85a55b02faacbac09949a662482f0652eabdf8df773624e08a90942277e785785ab7495442639f5582fa75ec998a698999c46694bd4c8297e13df1234f289ae45f55e6bfb5a7befc5517a8c5b96b5da19965112fde7311a4cedb532d0310bf0f7592b4b2d0ee3db83609fd81758cabeb031da5aa9e17a0bb36e2d4e46dbd0cd8f671044765a3a037fb8c75f611fec2907d5c869ec224014c142ae56baa46f6bafad4c8d82ea9cc0d76334a20de8e4f4c403c48f05760b550202f2af1b3dee2ff6187dadf0a433401c7a8581fded3e2dadf54ff651d917d8fbcbd9ef869959adacbbd6fa15662f9cb2963cd70cfacad86fadf55618a3388ee33892e3588ea3398e30d807f54771566562757187a829516f00a31685dee35711cbf0c31c501f04b12c7c12cbc02fb1ec7b13d6bf13e2dba0addf38eea456eab187538ffd5e3765a56c0626dd1465316e280bc7ce89d741c7204cc69dd9282cc5bec0333c33c55b965776659d6bda758cc16b53a2dcd825989e2b2b292a0c5ae01652435668b89c32137ba09ceca9b0d65a6b53f43401e116bd112d74e06111c34e4f1317cd1fb1bbfbfbead5044a53e69d354071ac28d495ad77f3c0e8942baa8beab3af367cd952473fa36d53fd8c7e155417d5d57c8971ae2eaaf750434ecb293b831183071abc080ef0a24cf6a40fb97a09ce20f533fa65954b69c2c01d6b2bb9538aa6959dcf2249da6f5d6c5a359b566b952fcdac9fd19fab0b2b33315617d5edcbde9af7de7baf6d5b6fbde08eb8635a9950103915776066498e3c79a767e9069e05d6a81b0c1236c9a4993ab96c939489d0287b9ab899cbb665b9ba2802678e675845370f0a36d97ad7ea4379af9a1e35f55e5dbd5557fdd67b53f0b838050fdc5265080027d9fc6a15b5f4e4572b7ebdd67148a70487f0b10688afb5561af8d5bf9e364542b2cf97af4848b64e963c45429890179323594991242dd8e4c7b393aae0dbab944156198366722c4ebe42b88193433abd6cbda74d1b300d10d9e74b9a9cc3990ccbe1998f56beb64df03f72caebb7855cad8cd8de7edd32c6e96bd3eeccfc0226a7560a2b632e39ad5f61ba642f39b5b7a0ab9c7abb2ee790cb69f5faeab05c55c64c9a50653c4bed1493249f9a66f6376557694bdbebb36e49b2d96c361c5b680dd5456312f06973446d70bd83045cffe0ba08b7bf3e7f99d89e03d7c10ffb9abf5e5dd4a1eb04100df0b75e8169400024b9d3157ced79e13dfeb2e4af247db4de3e0172d6517708fb38eba6d9ac9f6e0174b9bd00ba6c9b1ad7511dd539eb9484b35dba4343781c474732ce6cd31dc2d87f2c07f6b1886d526bd996545d354de3ab9796aa6bd8b183609fd50c76bb6499f00814bb7dc27587ad96d81e8f78ec76aaf7d8ad2e04f1d6e38e0a83b2e4eae2ba5daa45f6b102aef3422deb01fe6af5cff107d5b4fae08e2c6b7a2885681ac840c71813ddee065d0217054d30a3fcbe4fc439b279429cfdb8df3aab1834c94e7445aa6b6725b6b71e8204faf6bdf7869e9c11a8b532a2f436673d06d35b0b8574c5346f31b043c996f5daae78c76237250b32b91ce70cdd902d0d75a8fa95580e5fbf7cf59466a7624dd9e2a49a56a7b213c9408267b9af7522221831ac7f60bd8746b647b63a7988865c5d8626a7f696b15b2782613d86f50f64f5c692b2fd9d1f9908468c0f4cd0b4fe6a95a40619999cdaa9af9f0e618c0f3a6c6283101b1953813eb2a8fbcae1ee3392cd30a20b9934234a5103528150209b6c2e31924129e02dfbe4aeb24f172150c03d0157f87e844c6014908b10385b4420b9e747184436973001b94233209a9cf9d5aa490c1f98dee31d114d84f158c42e7a88134590f73d3d5f3d6c7282faf2d7c3a83ef3d55d0f8ffac4b610e9af835b5c60af6b5d65fe3ae8753db465f579713850ebaf8355d753f0eaaf835152b8ae7d7f1d9c4a93eb9348779f402590e9af7f5e5dfbb25440ae3eefd25deafaeb5fd6c5d275adfceb5f15121e589f549fed75bda6fefae7d4e7bddddb07f5d7bfdb97f4290db1f2d7bfa520e8d95959df11579fbdb5d5f5d7f10e2beb06902daa3e3bd7b7abaaa602a18fa8f40b777641cb32a48804000000002316002028140c884442a1304aa2380e750f1480116b864e664e389689834910c3308a410021638c018010800c81991a9a5500d100d227196e364b770999f9e39e64d2757e34e599a5f4ff624cf85dd6610179966fd9ce8e58ebe1bcceb32c78ec986a72ac54e2d2bb8eca7b94e42188941f1295bc93c8c5bd0362f24400d8cd80d406beb05609bd2cfe25feef3bdafe0fe628b9716f54223f14d4c984dde9a8db87280711f63128496b663f511ae8c4929a0920f7cc3a12b21eb5e8814d7dbc1211c9d649cef751ae5110c742870eb62a3a96f84a0e3795fbfecf1bddc777b4fd1fefe47083d2a41f478702796edf9d952d57348649700ac56136376e0730cf0bd652620865b40327ae705103f082327ace14ddd040126cb8998cc95f60cfacb2a26b16ab5a92cf27ad9b89580624df4b991b470e0eed6644d6b1eb35351e0772482867526fec610447bcfe1c101d2d3b9a97e71268f3d454d9f51b00f0525544f692768bc39e33c15a22f1b18112d2fe405f293abb7f761a9b6c504f87c5030ec4cee1b230dfc297d687a59d593d499da3ef9370a1a0911c6d6e54c719735e1e124078497bf7c14020948beec07a82fbd0e3f6a11491726366af6b9fecb72a796b2fc48683a11b22135de6cad379d333ee4e44c8fca32ebc4ecd86ce3e0e764da3a912517cc4cb6a0bb1a491b6f343d2758eb6d4734e5bc175b5717eb6b1547b176c1d04fdafa6d5035cf8359ea220828e3ffeec310fc325045f0160de3c10f2cfb9d664533b13c47b1290044fb6d964704e6770b251503fe995006e561b44a4cd925b5d21d4e077f45c38ffbc17965c04b505c8fb838abd429865b711c14b7691e9af1f59bc05c80558c4ba5668fe077f9349a34710626e75dbb2315891fbef3384615256b07ae62933d3627a26dda303ad0640d9b7fab4897f1344e56af5b6d299f6a4766d4d32ec1ccf3d3937e6e729275f546fcaa7750bddcbab55ee0c8943ae2e222c4ca41ab23793f931aef96b5127c067ef9644769d7d2f0b06db4aa2a71dad85ea03b555ea059e682663b6702ca1e50ba6dc0eeae4e844853d0d4b70edf57e85e72e33b27a3ab39cbfa6ca7289b7727a6a868ddb6ba7d3bec96bbf9bc6f97ece4de5a1881dbd917a7d49f6edf60bd5a96d22b8a5920d74801616040a3c4107059aee2607dc7ee597ed7ed4fdcc2d8a3442c2045450b70c45b263de02718ce645b5410ea306d29fa16e86f2bc0183a697c027f43341671c533bf0924810182e6e800ff523e1e71f3ca5c759e4c374c40afa049e1faebe55e3427300cfb68e957ef1aa975feda41c42388c3ab3f0475ac17e43efdab2b6f07c92bb954e14f1f1db3b0df963894877b3ce076757c45e5a5588b89ac1c86cabede3bbf68e4f12aa47bfdad9ccb4a185a1818ed86a6dd9007883bf5bbf8fc1e1e5563b6a99ad14f3ab59c2c80b23850b254e5bfd974ba03688598ba60b9202347e8a892c749da2e5dd52a255f7d51251a34d51720c00ef7674085e817919a938c563343dfe8bbf5418022b1f07d3e6a39e092c4c937add0c9847db031c9b7ad3d07dc2a43b533983dcffbc685b4db0bf1268a4db4cbf7927214b7aec2f7bb87ca97c8004e372ea13e21903920ba3c64f22cb5ccbff04136d132d3392a249e474ea7c9e7503228a44c657ed664f734856e4c33335973516bdff8b359e4aa60f4b2a855d6c71304a364d80878053f921e9167a95a5cdff2834de0c37c17327b7bb673dd1dfe0ef92636768022b84ba0c060e71f15f3c9fdaa1da2a94d565a8eb8453dacc9262ea048e3ed9fd081b113e9c30b063626078874a1c422e64ca1dd55c220324c38e1d3488939a0ff3b1abd5526e836da67ca9c14027ecc192f7a8a10a977020114fb5a2822c9a8747ea48c3bf5aabeb2fb0ea22e081dcca2f01b17c5299ec593e39654acd76f8819db7f0654df088a5fb3da951bbf01836601c63ba777be9e733553080c33479bae3d6c6536b4b6c077697648f2d3e7658b0c1ec7667d9a181092a55434d7c51ad4931d8dd5480a44a3d2cb21481fc138a6916dee62131a5f7488d7aa4da05ff10b944514aa97d65ee1e66a83bdb5bcf8df1cc1e1c1c80b4067b081e68eb394eee885ccf27692f51502133c16934b5fab2312aa7740de4218b46a14fb916d8b15548870e17dd1f898f737541d934a4fa58ae89337c2b1c70c60079d26376c78140d17ed5833befe1a88f5eb0ef83ddce36eb94c7523965582219bfe259e8e4053ebc1206849b009ee9fc817bc5ecbdc5d082ea557af30c1246571f1c967cdf2a1e5c400468545bdb8015585257158dc6ed494732a72292b6a00e325a512a40646c879c7fe9de56e309ef7910af93d6d8c6624e6c81d29d4427127f87d3293764dcdf98ed4040db5b2561dde99103a042768063d55e9a923fd15c22f6e84d4be0ef52be59eb69ae5f682329a40907cf0cb8908bd17f99195f9ed8deee44cf414c4af63d030988c81662090bc43c428aa05df3d230f3cfb497bfc5d12ed042b6b4d8e7d339da68f955777732e0ea67cdf6a6a5b6dc2af20231af375dd2b9270c42edd5dbdf7df598199dc9888237250a1253c5faceaba3f3c95957f04d6871a2228f207391b27fbc32412de6dff0378e1253e69f7784dd92c95044167f3e7b35220ba72e91543e9d074c4692df9d49ac7a1471ed5cbdc18ac6cfaf072158b3c1818fedeaeb6e78686e0c79fa787660fe45308b0027fea0157c54bc01544ce83f5093b4d8f2b528b50bf197b68747b70734cdc8f654f262c3cf0b89b4781387fe85a4670a1acfdb403ecc1e1fb05976414955b16dfd163f2459a8e54b87d0c64add9d514fc180f83836e1febb2464591db2d40d5213a0435bbc99a96f1b6f232ecc5ea8183bc7ebaec05db80dee7956ab749965a4cc31c2d28bcf966f55a72635c92d10bca1edc8424ba538ebe7fe1ec1fed02ac30d86699292af3e56f62c09e80f7eb56ae6b9690f7aacbc1b9b2a1e1864c55cb8151dfa745f972a37f0846eb71cbea23b45af8df3c90aee7c24780ff28f94ab4a415e26ebca692ff8fd17ad0d2347fdd50be05899ba212e58e05891c8b2821fc50ab2621d55d77ce3dcc510621c709bc4ccc864d7a70977244799ed7932f81444aacd29d2e0b2b6fefb0f6b12b16c9bb001c864a3709ea74c37b0121a41f15235ebbf1be49896919886269062e0a55118711b8ccd5063725e4f07d89c2095e6f4b60daff13a3d48ec3f72e0c613fd5acd31f2b31aceb2ccc83bc2be0cd61e2cc15ef51ac6f30413076856b77050e412d18edf0a6fd8d5d01c006b29b7b196873a0607fecb98e7c07fdd9600e22feaa3b92b03a108aa2ee1cd93bb5dc5834c9927503628a8836c87ac4179828ca2fbbb51498edb9cc82811732d35a4f8b7ea1719bb995ffc87abdc7ff46f9d32d506bc98cc8083341d7d4fb55b1f6737fdf2f42c7ba410e06c82c3e8e33f77331c24a19e83e75fa85949854b97631f5f2f5cda6e47461240f88c506bb6727820c8ae1f573ee9fb0eeb220087d7d63ec144788ab33bfed59f44b90e89493fe66736b0d043607119a5d772d1816e18e4b9bd95bd5898c204e051578362bbad2b1101ece43c827dbf01d30030b5ceaa25e3666f645ea1fdce9df6567329067105330bdd39608f6397cd2f668e954120656b21ba8a42ce090d2de0eb35b1c265eceec11edca8b71983620bfa4fc77694ed3ef56ebfb3f34d0ea6a1adfb8b98f531f93fc50dfb4182e0165e07807febf5502f93a25afdcf91d686bdf3e8cd2805f52f5e1082ea65b3a9b9a8d98329c9026cb06b7ea112d152e66c13ddbc8e6d54bbc13272538b3f08e73a11ff49796834fdb35be465a56a656090e63a79b10700397ba8879985350df2950889f09dd992c7c092d74d52c91c9c129b2fd77334601da6ac0349a01c8d6b2d5c6aa126bcb72f93e53f417297a74944f9974012587027b4251fba8220722a16354e4885ca2ca59e03398af3497e1dcf086aaee5c4ff82f80284be1330de991ca17f7c16a700e001530f5e4910ad253dd50fce2e40680510d5eececd9d07ff5f7f705c2bb032945daed6b0463a8927c226b9f8b70d52c67f1a3031085bf4567edfa57cb69f6f633f2ef51cf25ff1cb3c045d5909bb7892fabb636a487387774c0a46f489244b4988b4b2e24d852069bd92571be1b4527b57f0c24a661fe95592798b27017295e18dde4a50b4af8eed138cdf303bd7728582ff4f462601c0c7f3a80f6b2ffcd8a0759805949145e79814b0033c01792e2c012d1926405994e4857dad73ce92c9995b99b27be2d41e36cd6b12bf88e8586f44b39fd4481b27d611a77bd8846e93b6a14b289bc8c9433556ec917ee54f63656d7b45c2bb83a67d3ed756097ebe09e9e36fbfbbc44cb4cb402a37d3ea2d22e6e01980ceb8e518a73a7951f144063ec3a90f2addfa5a5eb9e00c5767b701f3f4c064518f557ce5a2635da9859d53052f1142ca439522929fb61bfa4c4dd3ab900877992a2437b1086efa37748e87f2e1ee12ddda22cd8dfa266d89da9be4d925a20935b2533985f8ff39b26f7915f7cbaa4856605d9f2a5a52514ca2a9830cee2c11dff2a71ece024a5ad3e661ba8b6ddc107df792a25ed3d88c8c120aa44de24e699cb12130a45133531f3b9e1061abfd3dd8f50703d071c5330b10016c5411038c47069d23efe208d84dfb9d564e8181937e34c1f2b5b64945915142f4d53c5df55d5005f338172d57d1620d21e305d6c14e20e51e815975d22682fd8bdc57bf434ca9cd30f94062cf92ab23e24cfd6050bf43191d489c04442badcc95d6f4818a50ee403151e9815c6990e262cdc2332ce5b83574cde6f366073b105cf18042cd65385df86040133ecd68f1f02da9f6201d962d0ed888e0b58083324960f11372dd6d238a43bff41a17f7f3d33f192c466749247cfbf4ecb2c9b0b61064b0f27d29f78cad49dc0428e21134080cae827d931ca1a4508802385f27dab196e2001a0d8089d476ca27f2ecfaea63010fa693b403b0675bc974f0aa8cd8c52153b7f51cc0f22b31ec934ee7f8625c1e00f4c1fc61e73ad83ad8c545ac2d1c9b2dd9303dd895ed01f45ab9fd060d351469654e99f61116356e1f67c11a8dc2918e6e4be3d0870ab64d76843063ff68caf8516c70a5a90e28d311d0e1da9b1b79b4915261bbd3e729b0abdfa08220892145d8cefbae2ea84d2b7f37b0c68a2b00a478f1f9ffb5a8be61e9167763e46e3293e6439a8c7debc6c0ec707338340996c4312ac2415645c71e1fcbdc14779a4c7064a226b7f6be288fc9a2d581c2015093dc003d44e535654ce4bbb632510a4c926baa854e0dc02f0c53c22942275ea393d46b54fad2ae4f8412d349445ddd92b259b034d2f5d6e9915e55a3b78c1b83d3160d939a0bde3e93d0211c5e611613421bdfcde5743bafdf6691e0bd55c920bfb2329e14d3734fc7e4ae052a0d67f39c4ed42cf059a18153c02aa52f67513746186602bee16c80fc10c0432a1a9046b227c7897702533ce0e164488405f28ecc8f6ad701190209f51ed00178e99b2059321555d6f63173c35ed64dbb24e6417fadc3caf5178217e31f1fad4113704baa18f5e1ab120c1fc24a2b0d2faddc82c00281178c0d5e6d0c825f9ef97c356480398b09e0214a62e00223e4ea0f88f05d456f7513f766646ffa9b63adf7622b494898456c84d7af57de2faee8f550a8fc876fdba2fca9bead7944fe2095cd3258e538bed9c150f94f452bd58d4213e89399ba4ba5ba20a9b4a507053a71a991e06e606132563a3690f880351e9e9e82c7258d8d7915afeae1b4a3edee8b30cce1c421e403b550b34bd1e9da924ae44709ca1e3460186281c780fbe57a7525b589bf1ebd8db2744a7220bd323bd7385fd97a21255dfb96408b7c716cc1ae6e63f7305eb2648f7b35ed1a09b9e91ef849e79219d637bbb1f3fabf9e6188b4bfa118ad3d1a515e96cc1e37de6bbb59d98a6a11db500dae823211bfcd3083d065f4761db814d70ac0dde80e2a9d2acaeaddff92c88a7eee3ea9610bad038da04d1b1d03535922d0201f98c2a1a9b8cf485545465f9fd5a6ae6704de4b4448f8a093d18819b01af83ab21244634418c25c48dafc2ae3d5a246626b12c62898baefc370dadca7e34abc6c1f9fdcdb1ae1c6331951b6c8b11e42061f3653d28517d72c03d1c43e8f85db43a63e2a0839f0b8e272011203b3f829047bb9d779dd62a7bae22e77641fe988cc89b61b52df660c059887fefa45b8d49445c7032d82f3449d2c01bae6815b9395cd6dcb8cd253284258a353fc2ee7290b656070c508bca7734e600f89365f63cafcf777bfdfab5cce36aa02c99eefb486b70fa32f5e00d1538535f8649ed5678b41c26014eb6b4d1bcf928e20ce6e943ced971bc6d405263451b433f8b39552921cd1f82cb0c8c0db052ab6d459251888a0d95b31e91020680862c0bfbb3da6be10464c5591a04a91dd471ff224dc0de9010c27bcf0d515b1940652e2121dd41d1a92a4856b90c41489d24ae294824aa5bb592812a01b6d957a49d8599d9b4a7b65dd4dfab07246a26ab8e605db1aa868e3aaba185f18d5cbf7b3818633c4e71a228729449e84c4096d28108c9bef49d43b993ca3ff18460e7927e68973324d34918b4ad2d2efae07c78d23181f769d858b9681b863f4b58acde2ce184020c5b9e9a65875dacf9ddc43374659748c1d9a0c1823980e2978df3920012e66bac86e4224b194ec0c0c7e2f3779769f27fa7809552140da00d0405c32f67ab01f013d9545917500cecffb48e719630e81828f71f60195cf938964fb6be613a05673f9bc8d6cef2dbdcb5859f461d29f974af4a9613b5a11d0b8264a6a56b2ab53babf718255b427be384ab9ce01d4381070a661fd75c791daaf420e7512ccb6895ce8611cbbf2435706e1cd9a57a4531b01a16e6976f1bee36bd1144f0e340df7a39f5a8b447a0b9076642a137580322c6675c8831ef2ba862314bc86d107ada32fbd0279be0408e858bf9a96755dac1c75c118edc4f292bc5ac819971e4fec787b924e0219dac24e9ca822eded0a523549a6db34609b63bb1ac127cdd1d4c0cb0510dc748fb75b936e4114e5d58e9fffd7339cda68c5862fcf44814b0b73dbb4cc6835205541c6560bbd8ea4d6874cba5e9a045057c3ede13c4d7d94439b2df15d784ba868ef5ee843ebde7d56ae267eb0b6d43c6458d0e0bc206181a2d3b4a8016d8b61a51cd9beb1c2d5ae617f2d0c7c6698914017e1287304c1d8aae62c929234025634fc7d1707f88f875cd664377bd8482efe80436a3f478c6a2e884c5872c2f9d7d96231a636410eff8edcf4d838629be6ae6ed9e06bb8cb5b22528332e5af85b6f9f290cb36e0be6a05d71f14ac5b4f664c35fad31014b938f3d641610263c736390306bfc3326eee69fe7872321c3631d9874865769d13f93cf990a9e8c5b14a005e38b5a7aba2484d968a6eb78fbf857e97d491e616bbb73d27fa78198a4cb0e0a22f54fb698289b8021a70262b1e833911c9548c8b10fe6103fa58863272706fc9d75b401109511e5124216fb72a169917125b77ad34644e45b872290924b487af7c98425baba15f4119b0eca93b20d9d48f656802315b148685441a16886d4c82e5992fc54ccd0b3a0d4a0e942964a1104df3ff67c23ffb888450fdf7b3fdd83f263685b1feffed7052226b994ee05fb0a7ac09bb91d200b31666c82ef630ef2dc699dceafe422f3145d77c7d2ee70187af46ec7794735084c9a4b1f499f9fddf6db554b1735273b720c742cfc6dae5fb26dbaab8d2f66e1f9232cccaee9c8660be04aef2526873f7b5cace2b08928e4586fd651dd69657943fcc9a685b515d948335a55a5d58a90a1b26f3984242a0e325a340879062a03b37e82474afb223cfed917c67867d3968388dfe1ac88ad50606eb41e85401ffcb4127fa76c705cef02f6c8f5bc1d0ea93130abff212fd486fdf58beab0ff3eeb0bc625465dd15ec75d93318836c233d4b060d5b211768f9bcb45ecb5f041cc00888ab1f95d2b3e7054f92d43dfe36b2fdd0ca5feb74e72359c1b93430777a1bb6f43ad2ab7881f43e1d848d11fa0760ca3aad3e2fa830807548782009838656580daebcb1f1389f5ad5f50a7efd0d595fe3f6e0306051c9917f018bf30dedafc891001bc601ac10032c9dfe47da02307200bb5d3c0db1b019a43a204a99b8ba0f8f8496d935ca616f15614299b633ba5a92239f367cf7b51047591809c04d04d82929906ce75eb5d6e4f520f47d752d6998cedcec459651301fe0df3c921ce7a597501e1486bd84737da59e095bea773fb32f9ec4e2403038c968f0eda2c8689fd0ed24df3c381277a6033eb602b976a88744b70fcf4b43965cb14b6e225a3f06a1043ee4ef12741ff2b1e074c130bd754efe0a3d6e13c338dbb33a28127ce49eb16f3385814f3cc4d9051c90c8fb8924646a97839f561e21e1e737899e23c48f8ee8c99f8c2cba994cf1e313da77d17e8c2e454cd76e96910d742e046a427bbe413a3d678e0b2c4fdb5c8f460ca882b149067a2c3d9720ff89234232173167552bb1ff4ec238409f83be88ecf1e31af1c617c2457c1b1148b990099c931a2316b0e9602c376751a6e9fa0b7566e07cc8aec1a0764c13f8dbad5197208c10205c5246e2330fa1967fed71122c5894b13d1e378e5e950cacccd1344520d036cb7ff7043d697aaa4125ed03f75c07fd538541aa0ec6f1c4d7cf41c0296baf993c6c25dc540514d9dbfb7000f2c42db13c21dbec94f89a548bb17f507cb0b0485eccc8a70a5bbb85958a4c714d8a473a8ae3d3300b29b8ea37cac4dbb83784afc2fa69805f473482d130cc388a8ec663423a8c6aedb919c018b81235b9d6ee687b5d97eb907a42e3cf582b2f4b9b728981cf543018b8557a41287985dc467db27e0726a12a3314f83b14c9a0d5bb4a971491a852c9769455bcf40af8571392452d996b02a0dee583d7693ff3b814eb70ce3f63b42a575db5988452d0aced42cf7b9c41a752fdebadcd8f1299ad6449c73c543042af8ca900dfa7c18eb17e159836b8c40cd18dbea72c7ed01837717a6d06a2286872bd63b8a36cdeee3ad1c9bccff002ac60e58e4004d4f9051c5a62376bec21885b95bdddf7f0257747050e789ec5bfbe5e94774d068265659294393ddb36625d29af89b0d1a3f5b58821c8120a4b9d997459d06d5f458bcd44f210a436778d2a288f3c4257ee82ffa1de523c78b8508b6194f9098d08191ad24e429d8c95b2fc59ef05099ac50c373a6e01afb0d0b8ad93c065271be735472e086f699071ef03cfe4c42d8260678673cdc6ef4afa784b985360a66935a3f6fd678ebc6afcc0034dfa55060030f7009606ddbdc74e8971cb568143aa298af35fe740a8fc93d87ada1a84afdd85eec4221649f6cc7a80a429c7e8fc17ec231ae71ff50f6b33476ec083444c5b8ced70c31c222e52082c155e06e48707c1a636e80f715d9f71a2d28aae069e0ce719c1b3886d43707bdaaf895bdf155693a7fe40dcf9185f549a80c805ab7c0fec7571bc4a71960415e4de0206213f581b2bf37861100e3b9ab268c68256cd68b1747f26d6698e54152f00820c0c838c511c4bebef67aa8a4d1c6e5c151bb9cfd8ec09b9e20b97bb6d95236ffb5f72d0f6dc8384787393ab7dc45d64d6984c9b9b7ce78beccb696d5d39c90f9a91844968d028fac8e0fcb6c5cbc42f1e7252f8f9887f608e7f6b6a404b3883b6063753be3239815657598a0e609f04becbaed2f256fcd598d88977ad924ff90792cb2d05d24dfde1661da4b1524010433cdf8ac7221ea8bc3f1955d478370f3d6f8ebe6f6dec7d28f87401a82e791bba5a17247a8f67552fd0e0919a742ab4613c6144cb0129be51d7be16e5f426148ef2b971fb3d770c1c3a0a7f0d09f5e242eede4ab7dd3836ebc5417c30db84d01cb04edeaef75a42b0f6582300cb9b9ff1a963e1f5131b470ba78d50e95f64ecf689168c23bb4a18a4ccd1044228e95511c1b3217a656b1bfa8939feef9938f6714ca8445ff2084128962906cd478e54037a4162744c34d94e0384159265e1f96c8642f2c45ccb68a49c61f5d6e713af6b84e3ee14081704c6da095c72dfe8e510ac85b9eb0ad1958f81c36b04787c0530f8fac18cbdf675a02bcd7cfd71d9f899499fd46ac2496975b830854128a059f7c8b4003ada3a574f941d5a0158ab019be61f00987778c5941e81d416ebc2f3b7cdc7ae38235de84c285c050526255293a290c569531e2aa10e0564ede2c9ecc740057c4b256db2b27cb92242d2814f28dc8bcc817cc60063abe699355117210637f95abd0ebc39378965f98a0735b074895cf00cf3f904063cd59b5cd651499b7a0904ca4b1a3371262f855c0702d3c5705c2d1f424f2269bc1d65c182d5003ce88c2a884587ffa8adae73f4b34d8b0dd00ba6f70ea52cd225b83c1f0a7828ab9574f718a97ca6314b6db564902c5278e66a9f1b09fdf0a31949c9dc7487802e10e92032b0ec4d8012be79d9aa2d56cec4a1da2ad95e1e1f8a30bd37b6d52d713c6dbac579885f40089d136972bd284f672b32c2d5c0dd6b9215931ce642e4c7b2b66de559c3e227370592338f272491ec98023d991e5bcbdda0fa80cd19b3a18b635765498ca8609930777282b8466fe5be6c39a02ffaecb0476dd1ab8e67835b65c780535ff12434396fc1791d0faab5cd5ca1e686bfa3c54414cd334775caf3aa0d68b59b8d0c144d919836679acae43be05b74e4e44b0a3d469919d6f66d2d4673b041cefb1b7093f36956ee59b661b32f64c1e68a9631cbae7a79547d469a8f44299976c1e45aeab1bacaeeacc64563cfe1031a8912287fbf1c32bed8f1e4b1c239181e1bf11837f56dc8362558be67a55651108b73a937cad5ed9bbf8801a9000421f3e05d487df19160425c7af2a1a779c341cbb5cd5c8fe05829426d8d7fbf423ebff849f10e14b2ef6fb01edb741c7714727e2dbd6218e283e45d797cdfa60749a4b5daedf464bbcba94cd850b116c0ab07adb02cee522916ba39905ccff7262b17c370dffcc81caf9d6b54324ab979d656c502f2f395a1e4439a60535a184338dc36e0d23dd68628a84179954a179780cf27288b2d54842064dae6ec65e997cb1b67d78890a9e07d5eb4febed37072e6cefccbcd2708ad21ebb0b4c9ed58c00de6774d89f19ccedec790d53ae6da6740047d6789b8e68a6dd25cfbf777cb67e289b2d09e13e2d78c44093762a57b332f3b97513740cc202a29286fb1c6721405232ceb01d059f600344ff8ce6f370d7be18ffd57cf2df60dc96efa0ccf72cd6676ee4534d139d2aa4afcb6e86674930dc826a5d96137e05ca57c389e2b326af4b7479ff7a3f37cfc6d66276c43555a28ddc4d7ff12d60c82186b41d102ec29c3677e178ba79b57b825342d2ddb338fd1802086ac477fade629a9c6a449f5267ea46067f4475d7875d38f338ed2f6081f28ce6b1554d2f6257888ecc6a501cd200103101e628bf8df8adac31442da78393cb063551bb092bb34e1a125ed28390e3e60e7c242bf31d53ebe5fb01dfe4ac80383158c3aa4eae763de51a2de30aefa88554ff258dabefe6ac6227a6b2ff001e1e2d3c144564da66cb5e21339d26a984d243001c06c403e099a6bef5f47fe55cb7ecdb482605d30a2b4bd95cb9c43b5f1af65be20537f0c80ff52c2dc616e317a1141da42bad0cbd4a25cb234e9dfbbded5d7f18b4c9f10709363f7095a6b820166be18fef01089885c2995e157ee141f51c4c13c60b96d49d43b29b4db9380acb5f00abd4822bb898a4d63c5c59057fc1259a0ffa6f268e941622eaf0c906bac944a25d65fbb3cb3265e0406b121be0127619565a79c2b251b16c4d8ead0a631dba15f5b8e09686fa39fafca95a4a6f45bef3b76be78ef73d5be349203a06919e50d45cffb40609498175c0135f8eaa9bf2926c02f51ae80521c4dc3dbca109a4850cdb814a66f9cd4820dd76e751466bbab81870f578ce744d7500a3d4eb45ce37b088842fb1de44480bb8b420f8115e4241e62a6c40c68654eb3c2ecac14f09cf5d0eb38d16afc0b827eb168ff398c734a0d8664710fc96d738d683f7e1f7f36045ab2189fcd16d0d6edf001853331ed0d45bcae4f222b064d8699291e178c4e79706f29baf9ce1fa4ae7db5bc00c106b21ce46b198d0cef093c096c62999af395527a1dfd68c582c273bfb481af806ebe69ef17daaa03f8c995bc42acdc4227c309e04f55a98f6118ec8b1deab4c7f48008485c5d9182f946734cef1903125360849708f719d3bc38c22df1e3614abd496f8bffb42e22d992c3bb710ef9873e9754a89cb3767bd2f3b523bef57aac48f3d8c9574feb5d780ae4691fc5409e72b8415336d09e64398855135f2cb421d2f9aad39feb6d8291234ebeb99539f97469bb24bf656874c011bfeb4c448f319a3594c62756b86e43579d8580866a9adfcf89059e6cc8c9efdf42be2996915ce752a3b01ef62e770f7aac925b966cc23af93e624280a799033061bd931e06be01a78f7eb4ca67a617d7302350526eec683ddf368de0286e1342a48945dbf1478be087c65670f20a923a94315e54920beb82192657290ad7fbb222cf62665101ffad648acaaef6673df7946237c475f81177d7d93d869bc21e8ff928dc566266896ad9d1017c05488f3a69bc024d82051a63403adc9e1b0e096135dbbc5cbc6f6d51fff66b41f3d75508040156707d0262699a7b83a61fd91dae4613c55846b7bd8da43ae121d16f422559ba2e865d87108ce48e0b442c6e097932451323059351375f2dc36b761493f41c0ed92ba090a948991a90dd4df3a84df6bbf559a2afb9dcdd802e5e2e47554cf9211960e5e748242f0b2da33201b4e380a267525425bcfc2e83c095a5dba905ca2d3e2bc5d5f7da9054a1697c9dac91c3cd208f079931915e0d653f6e52152f17966928f6e877a5474fa772ab857d188de81e8aa3c83a0c2a204a0e7fb144ee36b3865c5b47613cc7c245879c0e00204e18621fd4607ddcba41a17a00a3aa355ac34367ebe68cefc9180b38bf18c7f40985a93c35b003c4cf16fda9c1e8280d19af761ab5f336f6e6c48cd1620a917f52c830e5e52f53694185bca1d424c29132a6c50370c26f8c4bb094a0f852f89d41e2e4bedeb58cfe18848e67b931dd6d308003faf1761b845039cc04678bb28a56f6e984cbede5aa31670cb098c8495a12d3fc8eee454dc15c98fd19c23526bbe01c70181e003799bbbeadb478a27b7effc2f1acbd20783e1d4dbe397b9a77d83a8ceee91847380b4688fe46e5fc5d509a1765ceb3f343cff504e6d9d04d717f52cb800511871ed7ea38fec81246d5175673c252e1a34131cb436ab53dfef94dcf86d589f1e81fd08070f530dec25ec38859ff137f85fa8683284b572c6f4d07e287be6e0dc572dc8d3700bbe29506713d1e17938f5b02498415f8bb8a451a6dee00f6d82703c70ca0140a7545f00d831ef07bc2f7e122d54ecbac53d274d095a2a4707a48fcd9ae08181ab256de350a2b8de71f1f803ad6923fcce089a97de852a54b39104325acae685a184c5a4b597ed2a995757d3279aa314948c401d71a36fd9cc46f789f5a9a8abf7316a2027c8a95861dfe04d0d343b70180e1208d746a7439a21f74c623707c40e71748a26d8b105f66192d46e231c64d71ec984e89c95d18df1a69458ecd962aa2f03e083e722e8fcca73943c177cad4492a2f96424bc5fed93d918929b55c10ff748485c68429bdd061653206cfac271ec5042b7b33fc93e00818fb8a16b750d1918ae86d2633608f0744b425050308f25168fa6c813e5b832fc9ea0788c9266e43f6558f089869827ff9fd287df01a66245ef72830bb01ca1fe65a28145f5fa994e07652287c22c6ff3301e4dc4f03311e37cc635ba863331f537795a68ffb29d3df0db15f2fdf71a20c7982dd080e3bd44ac458ff058a5fa58003df10e2df00a215bab4fa72c4bf2b5447407c575acce00ef6f2e4c7ba566fe99327510625cb41411473c0c5fda69f9e7749b9c80fd245b4ecd8c6c1769166d963e2e89e336d70c5522cf42c712c6de6dc03bfbe5585c64453c111ebc8c9d69780fee9e7e170a4a172ed0067051836b8828dca7f28035302f8995d59fa2a1984125e47c9349cbb0317d88bf02f59baa65b714d90aeb91f00d630c5d4ffd9abc11ae653e985ac2233808a1d1e38501ad20bb3ec674f5934d9de45ab9413ef6030b2b22ad30fc71677707610b5c1d192f6843fa4e92ec47e07c37b5a7c5f214c0eb73fdd23cc782693c8ddba05ed6298e92bf0f5e57a12bd34a999a322a0d2fb0ab4db5c0c1cc9d1827c707c82281f14d4925561ba7afcb67396f3999a38372a05cb9972ddb3e9bd377b30ea73f77fccd9a59543e90883081e175b65428d0009a2b71f722ff41711981cb7e2533b697bca676b111cc5f4e5690ccbfbc6bce4b459150b4648d474bf7d95fdad44e1274ff683c3f86d997d05d9f7faf1c6b29522f4e4eae8b8fbc6ec453277a9899ef82d7eae642a77e99d22be2ad7d2f1800f6706b17297b0224e33987440952dd58d05a06233db3e3a867bd3713691b241fa780379af6968b2e83963fb160a4bab9e27227f8e8d593294ac6a5a994f59eb668141710b493209304828fb248233f5a777a3996766b32aa88ccb5f7279e99134cb48637bd35565cae0253fb8760b1a3c361b7292008499792755d184ac942d9be614a32e831d374a139f55f0ed353727ea7b8feda94eb341ce5693ab170cd3790f014511b26de14d113e66a87b330a2f15e1a1f6b59db700ae633e6f0db9a07bc3c9ba31fffcdf6ca5fcec7dca04bd587dab71ceb3c4b6c1d777a724b39b799d2af37d02520af46ec70f5ee8a095f528df696b8df3759f50d6d4c2fc2d32487691766a097d7b8b6e00fa183542ff08119e091e9ec127b4759a85e7f86538501cae00e5e057f5428f0e15fe353986a95015fcfaa72d2b18bce75e0af6e85f0978df740d1a87948e9beeba2afad1a94aa62a62e125dcfffc93daaf8f2cdb07f08e9edc3e6c7b873d9cd74cc27cf2e5e4035e38995a17884d1a88db848aee00969ac68ff6f2166831774cae09826d8827aa4cfa76e35e35a67b0d80ef664605556a193489d87142994a5c4a7f701264f2846eae47e9e1912ea97cc8b2b732950cf5cefe4b0a623250bc69c5fc066628d1796e0e95a404db64c06157d7f43a23065210171c731319f5d524748eaf31bc54c261449802f53cb8218c072925d0d2930a997c4476f7a024fd4a47dd94df6ad99c393b166d4a68fcad7318ee47ebf23bad92ab045ba57add5e0bbd5c98fdc560eb409a35f339fbadeba4ab77a61abf8471aff78893f4e462d5013b79f5cc4bf35ef1d29006c698f869af854c202060d9616f538108e5495e651f395f1b84a04bb064112289d66b0be925c20e42c8160165b6112ac930621ad98562cc0e8a70d163e90f6a5b3b0f9bd06c4132a28f70d0e21fe1a0eee3bf64b18ffa918f7c7026b338fffb57aafb547390272cec43066bd6b0b10f1323af3cbf431980ab506c50ae923e92465d6758813db13c5d2c91b46719579875811619de481658a6472b9a138d9ab8022d275fe55d44f972254ac2862d919c5eebc7d0f6c9b64ed8e973ec98d05963f05f42779e7f88d6356501db3a6b7046cc6ef986eb483e5d5214c583de338ea82ff3d452375ab88c3dde5685b107c0d80d158882b8dff3e58fa8ad35c41375cd0ec12e3b120f7a86405667d2db5c46677560f414b5393c8bf57e368ea5a2cd452530ffa5aead54d12836b8fc7ca91fed1b95211a8c64423d2f82e5e3c41bbb0c451e1570df4f53316baa8c7dd19f3927abdbac2a0aab8a31d85a0319efb6df2a8dc2ee72a0dcedebb6940036bbce5a43ca8bbca3c09979ea66ff5578afdde6d5ed4ea5ba8c52362b70bec067ffe7d72fe8b4f771a0205990ad76bfad789169395b10db1c98960f7320e1e8ae6c9add7959a8ed785b0cd376e44f3560ee7b36168b0fee7c834043213cdef0629c9609af3e9e05e176fa012c8a5e491e026f0447bb3fea0c375036b4fc9dc27dcc39753d0a114dfddd12b4cad7993c51aa9a6b525f28a7c2cdd388e5326fca15ea5da8e6749422a38fc822700a3be8daee2e643c5be7fd179f127da80c505fc73ee4834f02c48d7f85f123e10c45002bf3b172d55504c4504257dec3819a610e2ada57fe0dc2942b5b4fa14cca2eb4bbc3452fc9ad41ac60d915c93b50907e29e2f150de91280941068959f57a5693d1611e14a6597c5a83eaeceb761e0e5dbf4a38eb0c411f65b1e93e593604034bab6511c722270b32fb45131e84e9376a44320b607b00d12c7ec423f26cfaaedf55d1a4b551a20944442584fd38e3786b5bc89b4f43bd456aefe985acd9750f363e1000ba2648a43845bcc39d2346daa20d053c64e5698c1f3ee9e225aa7b2aa0ea687c5acf348ddbb893c26881a07c207cc3b49affebaf8c3890ec7e49868a97e5a84335a51137705966b570f88ec2af16fd6ec7db78342ddcf2f87f48c9b9ea0a84d82ede93f92d59d704f173dbc20b8eb0fc703996b5f0b5eaca0820f35482b1f145b8dc4edc1c59af592b8429ce7ede5c3bc9e8f991a79c0f6d011693995e1ce44adae318d08ae877f1b35f9a8a792cf363e662bdcc753256d06aef3302060f1a261f37faebce254b80a1008aa5a17a5991ea9b0014ad999efa547e2ac1eb601accf41073f3bdff27bec7c69eff71372c046b66ace486f8556adbee2ff6afbc14f7edd613cae92b8ab909beaeb8045fdcb9ebeb7f49cf05dd4d053df243a39573fe575b9c8306ba0dbe808d16d35cdc8fdd8080e28a9d6fd8bb1722d1526d7642bc7c8cd4bdc512348439b4f687a40bfe196b3f307f7defd5b71a57c71e8187630f42b021708f1fc65adaae6b64a5ed0cde086568d0aacd50d117510329fa5640dd80d2e477ef3fa82fefd0049226575d562c7a10bce9c43773edb8fe2ef99fc78e5caea9384ce35af13c9dfe7c47680abf1736c8a704e654f42a7f7c34fd4450e1bb5d945596941af138eef2d5a771080499e2e92b4e4760936139c058552e11f4515db9e4184c7297da07f2fe38d9a3c8359f07a03ce677fa8b725fccbb7e5051dba3d5b1252d323113b38f54a6ca22245aaf032777b361660a2dbfe8fc21791e0080549e2e04a29583493c4f7254dee590ae3c8a9d50c12af1e6bf6de01ad1b4d9d60b459988a666615639e9ecd7d566a1344c12ad59472bbfafbc6db0dd57adbedfa33b50eb390b89e413eab09949dd5c80ff4218c5c7a0d3155c6714995ad62f181ec5b996cc88d01bbc9d93ea614e5312d5a5010ddc7223c5a9f8d4d3bc4f6aa3dbc812526e28642e58d66127b757eeb7ddeca91574925524a8446abb8e26e4a3b2825191e5f1a675c905c441edf8190dfaa82eb1c32691c3381ee5e15cbb7298d4a538a8183dcda28f08ac68df6c0505f8979b16b76b42023a13915bfac742f3b6d140b2880d4a84c27bd671e270403687c02618cd5d94e010de420ece550d4ef14a33629832fab15cf042dab128e520c573bd670cffef54f56da6c90011dc76b42258b5775d3169783b41b37504547aec1ec40c132fea736d549e3b4043e3da9ac273474225a8406329d8fe093c2565b6ffeb13c47f4a2fa5caef4b8e87850f46a49729ee674efbd34adc754e617cce52db96e674ce3282d48fa221b92da59866e6636be8ec97b3c5376a8b5605c33b528164112aab35e271bb9b7ed89067bb1ce5c0c6ab282efa2e10f122782ba5e72a1143d4bc00fc11b185bc883a6d677bb45968bfba8dc087939b374174b47fe31c0c154272fa06e4f74f44b30a69fa5f8005b642a35a6f8974fed66048c309444b23cb4dceccdacd6850300c535885f48b21e3e9e5a4be30eb470cb36ece1aac163e3c51d0395d5d4332c6a2ba871c8ea8eeea6230729edab4a12cb45e8f0de4151335de60c32b5c4ea3b4a855638c92885f0eecd7fffebdbc0ea629469b2ee5f512a60ac5ca011e3bdc99940f6ec975799614f972b48a84355557bf60c6a33e18b6e85b77f3a541c8b58d9b71d961d88089b2bf1b789702160977245d814633798f6fa31c2100cc1b830ff31d31344ba5ee6eeb181fe04764d6ed4655877d9b5c4f1576841872ffa3eb25685c0509a8da99b8cd25876a2d213c5ec2041756e36acb278cbba5d7255f0e39c391d77f9d7e74b6bfd4123f9b6bfd9780bd3467bba94690388a363cbc1e089ffa0370a7bd9afa028f0a76825899f2a1025a51082d721dc04f9978bf24457112f50be7818d98966b5112b6525a6790088c2db6ed6255331c94b6cce86a0699eeb006947f153c53755612fc491b3717dbc833703f0294f7f5161b2c544fc59b5b360abd44200248f99707cc02fd3cd90df76a71b06a83511ecb43f405b6653a4b37a6e1575de81b469fde506fa0bdf4da00d7f43180e4903d4d31bc2e4a9a3608379b3058272816527d1f712c5e8dc1af8ea88a1346cce3d3731abfb9026c721dd7193e0d9826a91b850c0cce828438cece19ff4fcfe17573794ff28e68ebba053e5c1b560bcfeb7fbaba1ce0de5ae7231f7045792ee73e3d0a6a613d438a612510dbaa02ea44a0ceddf4ebadadf8fd32bec68a1f09ec6386008ed5d8618ec5671d4e801bb5ca5e68989a353d733cedf959d48da8b38121df07440d256d76d7407a711f70b7286d02d630118fe77fdb37f831048d1bcd5a957151e5c198c5b32aff2ada96c75627adda0d9ca1071ec46464c313498767cded72c9090a8b3348c1ca979ce1985f1e21c39ef5d4c1a3828179849cece7e9d5880934e10a852a8d2b1408c8ff458be4c35a28a13e24dd0deb33cdd7af0a8d7621751440d77e02c5d4b59baabae121dfa2c99f4ce2d42eeead8533e2c85d99307c2244d002b9113551274a4c817d2926be3af05223c51943775c4fd43e4f0fd4674aa151a7a2f1af08da9c67ae8d8a4c6d68dbc9b34b6dd8eb70eabda49bbf82bf8baa573afa925b641abebd91a5d87353c0b7e027fbfb5cfb42e191cc04a37b2803c925aa88c7992421a20faebbeccb961e8ad3440d7b01500839c01cad4284dc4889b5f221408e338926aad91f83c6469e13902bd78695483a961825b53c77136d2082c03a8788120b3ae7a0e9c001729cc3ca020826a9a01cd0084d1641d790bf7dcb188761d811df1bcf2e9e7c56b90b27828a206fdc756fc23d1b9a5d756d19fa549c624bbdea611c066300dc1f4cc31eb3ac2ec7baba74ac64154b55551db15f8d9a2ca2b80bc92232b26db289d7680b0d49635427d761e140b47762cb5c0fef51fce7a5bc8f6dd4a79dc6cb84a5dc3e6dc876b9d914cbdb7b6f7f9a1744d1f5bbcfa57006ade5e857b55ccb471f1418b93432c726a4b9206e04b843e5c382914ce2ed9f82272b5b7ac027b910af841f38406f4112abaceef213cf00150047264bff85d3b6330ed46c1d0181df1de565646b2b0601df1c5a300483ed44e82a42eb0bf4a878824840d7ad1fccb4a0cba85d90f23ba82ae5b62364bf6a6d4c234c283eb98fec208abb02478e679b7b779bcb0e6950858da16801d066068aee3b3774830f13e8b8ef85496656471efe0717404f337cd4f28591505c6380ef47ad7272b3e945377f664b2bb52e6ffad56fb44c59500ecbf3748ede83e4f7fba73f9d3549d5d3998265678bd000ffac0cd1afb777cf87ca8248cbeba0421de96c20b7a7bec4012b6cd27849b7a4b72295b2575982c8be63938452a722b81fc879c7e355fd013e3c7b4225ec774f3f9c1aeff358288356c3a37b9192efd009d29f343c8bb8a26288c200f7c131723dfeeb0d261fa3db2e3d26889755634bd91a2c337d566623d00c6053e41a5c51fa7539cdd0599ca879fb76859033a638d33a134f648df3e707aa953c65824b7d824689ec93054f0121315e2e172c85b75c9e56b2b32fbc0a3173a1ff43727783972a0486bf5ad0959ebf41a71d1015256029c46e210ba9235b1a6963f4ed8dcd219c2210bc03839b4863292627a73bb4ce5aa3d3084a561393a6c1d4fe69407822bb6872ebc71772e63f0bc14770f6f9bb2d70e9b237b27089fa708fcc2bc590050a2eac264a2d1f676d1d2319c3009ee83ae384f28ffc2cacc405a7e5b144fa90da9324a02cde7d47b4f073afe5fae72c9295006c3087b313db6ca1cdc4099f33fc9a4fb1eff7d0ccde8a036b349ed05cf7b8f9ed46dd3de16a4f053e0ac3041bfaf12261dad005dffb0a61e3be4510840479ebdc67a95b8ecb3168eba582a42ecab3794b9c32e87f3815a9ac0377b09ffa148ae83cdb30ddcb58c1b44ff4a9279993da0c67c42dc8ecfe0f04bf5dfde6956f477edcc2893c9a5cbc7a28aed646beec8205b5652bbd37ad2e32564a605810d1ca19c5cec7d528be4c32eb11f9b0e8ab2fba2e8fdc0fa4b26550bb982744907763834e458614dc2cb4d85243acf9d3318d8116ba015b9619b2b1d52c1aaf31f15e1a6458ec42717400573fb91c73c8e099ad9ec9d9261240fda239c2b09c9bb22c26436aa33843a4fab5f48fce256cc57efc55efe7ed10bccc71cc163abc025c461d4349858af82c6650a4faefa74b6069b4a42328a589a5444c63c90f80d1910919fdc1e3b4607dfeb5edc52db869068073b7062f1e2cd76c004c1218aacda704be28786b0320f7c76235359b5f0f01a063ff794c4ee03f9a442fcda1b2668080712e8d70359ee45f7dc2a27ce1f330956d5e37a53bee3a5e5eb469d886793454bcbb291a10e2178b80e39500089185e1df18cc0035b7876962a8cc215ae034c6422025d6f40240c738129ce610899aba5f95b3cf5d33b4f9b9c8863a625daccdc1c01355fd1cf43c6031a069379105f42ebb84afbff741718e6e73014bc6885ad4aa5c1a07d7be6129e05405699f1400c85af77aae8e3e1a05d4fe7db9e44d963d88a456619fb34bfd73e21871f8b728618fb550b3b7595ef432f0a5c2753274420c63c2d74055f4ef0929648eebd6ee77f7e417962bdf1de971f4d27dd81847c3f4164ead06b4ff46f362d2c4b2c4db1d06e94809045890e2d05f27122b742104b77f062b5733951957827a77cd02b8bf26a1507c9a770e11bfae4fc48e6b5ef536cab47322b5b856b94c9e46866394296b831166ae30b713a1220a5339e74c5271575c30e5618cb50a18ebfa30d8181d88174f7b03e31a844a363adf16247cdbfceb3841da5f1bfd4a136e07557e5dad05eeefc5d02969c6207c598035971cc1e383613b768205f4eb9aa8546919e784c5e5492e797d0c82b219128ff547d9f62d39f731484c90613b1e021727795bbc50c4e730de1b015325ee0d9d108356babcf480a11d42b63c5ad209ee5458577d21e1846bc5ed5e7448c03eb0852378fd165a11a706494da1dbfe34946a59225a023eb4b49b3fe1f9f6f0a3e589fedf5a399ff7da34457b693a06b287c4a67af85303c50ea48af94f4b8676ef559d51db329d3f68922f701b06a98ded6fcdedc692360342067b0699649634d0c800167824828b51f5298ef14831c6a862e87fbff50a62ad570105012ae9282522b22a54a79d85a7f345795575a9f769423e05f2bf9fc44ff77ca0e7c4227b28c35e876ab21f8a2b10bb99146a7eabf6a3af60c5acad20ae94cc01c6ca16307f8ffb4df1143e72e2c37df537a9bd62d7724242d38d8b594cca1014ceef288638d82589775eb5fc0cf213bc76833057eac880e54259e0ea6f9acb3502b0a1f679068d15fb1c6cc9de571aa6d75bfbccacd88b0f7b847320f61c41aefa3a727dc1ed664604672b0ab2cc820c76cf1c6c4de07bb1e2cba6d40787f65272bd138d89aa6dc1a37999a66dd10249655d66f2ad3fce9acb917cb1575bd0fe1c4061b12dcc53cd5efe3c383c39a5b2f5b92ef0d20f4e8f1c8696dfe50eccb30fd1f174f85d577d710ade6dd327adedb48e1fee1166ec3736acfa90adea2182a444ed44ee24c6fc5936d2fcd1092d07196a31e5a37a7d80c3d1a8e7098b122915112e50e82bbdc116dbe6323106ff1e2a390889933a5c7de5d88532cc553dbf6e7c8b58a749f312b34ab07349e73296af604dd7a9d2e77dceb8d67030c178bf5e6396368625110ac2126642fead3f31f61e02860b9273cda2450c6c0eaf449a19c658d1a94f2f0e877fc3b0a948c0fb22d9944e746275b038c3230233c9787194da0969af24c4fe56523ca431966783dea1f4de63e80df7cab2c758f57a450ca7702b1601e7b304319643f39843887e69a8536582e05fff26fb89f36c0b1912c2e9a885fbe7ca1a84650ef5aaa73442899f650a4a62643f630d6af94dd50af8d18e8daf98a862634accedfb13be5cdb0867024a0cb9646e3b2b4670b2bdf1f4c6094c17bfaadf375506f5b66d14f8d6f4bd58cba8d61f8795bf29b9a015851606b938eb567ff9f7acfc22f15ecf76cf0d7448b3f93b293e4db8cb6953298f265a58ae36656ec9765220d951b53dd168bcdf7260c835a827d93ec3d04e6fc6ead938e9041f9596d6cf4421561c165d7fd9afe25f16a926af42a27826f18d152c3ce3c91c4142061f9d6165365f902f299dec8149d83326cb9e49b19dab32a21d654907f4495f74b149e56357a44b19dc6e7bb1547a31ab9c9bb2fb530b4cbc57a5f9ee4d5da025fd5bc5ba17fad0887daa75acf6f6ad4ad93f8fceaeff39f0e5ae8d1f702fb0f20426dd86a600063deaf60598f69bad0b49058eff45ca1ac1437481989663fe9430d617125e2ec769ad0b2bb0ed7ca632c510c3fae407e6dc47b8c3bad0b8016439e2f27b80a9d820fb2f85d67cd6e77bce363bda9647756f5b27ef71110ccb1dcc85df25b05e1bade1d81a55b25e311812f8be7d3d7811f1589ac0d56f05e1cabd3a7b7455722793fd9cf797df3a0aff2d8e8aca7c4a0d822703be7abc0bc65943281c3b1944cb7121a9866c70f9d684f92618df855c78df7763592d9ded4fdb6e97dc2a8dfd4865fbddda2c5cd349e7f755789d7b9fdd369c4b71e8149db6002abbd096749fdfaaed40b1ca54a2ed22382ce075af14aab50cd0a39d3c85c7acfe0f32e9e4c93a7942ae1fd169112db57b1598ac68854f740657824a989621ee08d37900c7854513f49acddaf7a716f3c7d8196bbebc0abccbc4c75454e94bd59c94783f4cda1fcc63a1930663bc19c3d8fb0e7c0f40c7ccbf0377c4037af1bf55dd7b489a339ef2836c7f0ae7ef839d9755fa5f5f8a06436430a4def502d433573cb35c745435940e7f0d598a27f1cb88092b5366d8da9011fe7733131f0649d05206a5d7772d1372430a567d7d8bd90eb18b997def7d97d32647c619739854e5108610a75ac793813295a0ff1591b4271fb3df8d170d11c32a9da3a3fd024460f6f3603f43b3330f683ca8bd28f43ffdaee2f2cf237240a68751ab103ccf843a6b655847788704a0b43226bc8eca0e67b5539454027d8b77dd5ab53d93f15ea66c45aeeb35d1775005d0ebdd9b79694584a3bb0f6cb77d6ad2f5cd8299a24cba728846de45d1e81d3ce119e1ac371b1c5d18b129e495eaa37c44941631db910954a35ded23e1a0f91998bebf92c8460508a7ef9d6fdab465e791693ce360bb5920c6ddf0bf38e19c1cdb15f6813043fe9e5f1ba55143973e390f02047467d72db25dd424f8120b224764b5f98598d3e7f490fda1fe9bdf5ab8346678d7da13b7616d26af3a0bc5b90c47e7637fe60ff91082c7280c6dc4f96f1c99a08fc1add4a8c51ca126e85863d5e5d491d15828f40d80dc6328632cc574af1463e1a707727eb142ee8bb47eccc5be85e4aeacd1a2abfac69570d06dbf671f4a5145bf69bf2f4ff62a26846061302c0234915166b36a566fc97115f9c097e8abdf9de877dfe68ee8f18bc8724d66c272ac401d5f60ee4e0e8927ca400e219d3950e6e9b1cb34b63526711f40abe6f885f35507f40fe016a39685e5e69efc9ab4a85da909d9d5787eb97700e7733cb7199350d4a64d3947e3feeb1867cac509f893ae80b5107af442afc6099cbb1a9ef1a4fbdced2241457d8e4a17771d0781dda5f95d88b6edb03e124f5f93339f0113fc1a3ba742463ef98703633529bf91f882526b3debce8d063a21d8c53428cb885b4d049fa3b355ec4e1899d64c5ec0991ec20a11e2cc8ccd5f9a4f2f03bc9751c50e38568a95ae7d991a045032d144b3b00a6c6eed4de80c9c12dcaa8e4272f2d46d4b9b87bc09a361f96aa7ec1284a47ee0712e593d276b697f8843b38bd6bebf8d07afcdba6364d8d478a2f5639b93f2fad97b743f54b779b87e22a0375c4a2bcdedc5ad64a6d7a2bdda01c7d2996b8fc1585f9bfdb4eb5b52faca2018fbcd8ebca6257a4d31bf9db6fb085eb9f0f5486b77c57e42facabdb75869f81448cf46d607804fc2b62b1d689fdc0281bb4bf917b7d81edc5f6785f6f92f70e9a5e12acc414414bdcc77c34a9a541edf6518d865a5b5a9c7131780a6dd102d22591c9a8afd0cc759362d2b82cfbfab533648cb205e9c65f13d29fff77bfec155b08e6dc290e4249ae067bce5ed94603874fecda4dee56f57e30b4eac8910ddaed56823887f20c55336c4fe6511537c99da87394b84b5c87a98db17c5885b6c59c415515a136f4a46358d52db3720e56b95a92c63fffbfb948cc47752fba4fcc637943c4432e05bd15bd87a68fd71897aa069a04182a24b2acb008ddd215eac25f86ea43c09a9b6e4af1125b2def8b4b8ee1ba7be93b28f3278894e3383ab3224803a296c08cb95f6564807cc963240d2e3b2076af50b0a2202c6286b8e8164acac21822ac0df9b2f6e34dd893c66da2a3c2847269b0298ab1eca279d3ca8b37047968fc96c745bbb4d9f0ac8581420e98f3018d524cd5640049f4163f0bb9786fcdcf8a891426f32e818369fb2349340e64e2afcdbcd609304022dc27cf59798a7c8ebbd888f88261f514f04ee10a1a5d4887d4063d6f81cb925db6d111af09b4ddc5dde9203f7d01eda580c4c87a60cb5d10884965b6bc1b46447ec41816bd9c32623caee594d31bf8655b81280bbf3587fa0802c79e417987bcee453be0bd8a759b21db631e0dc09165f9c206aec06849e3965eb3c4a06a47ca3db7520c69ab638ad8117d11f6295dc41a99efe3d5f7e8d92f11aa05dca79953d3e221c6a85e6f926759f9b2027904d1d1cb62e701840622a2836aaa17d9cb4768ddac25a0509e5242fb1c0b119f89ad274a65e03d62d74c19fd8518ba7f044a4cd96fa4fac5c7a20edb1eb4bbf827b8fc58a2f5b88dd5526f351ab9154f364126066939e7a5195ec325b8ce0941fcbcc56fd39a53ca67acf584c73112849974cc6c1bd6cc1ffbd0174ba7acb96d9358c8f8563fbf86a5c1d2983334ee57e8ec1352411581656f12c4a6a72f88c0b5399608fcaed1f566550a835e610135f7e6baedf5093c16bdd011f09e3af521ca447a7ab7f6aa32844b8a38b98979f2fbc8e28bcf1ef565c3e829ba6b38c8ae2f1a0b2189d35171395b2cd81abf17de88e3a6ba369117a1a38855be293d1a53f0ebd32a70c3c9b5234a5168b94e402b79543dfe5e7f2d4cd613991a125cbcf31c491c7d0896075c166dfcce71f470da1d07c491df025145aef3a6e1737419075a053eff66e598e028590e5c548ac10000173dbb87a5c62981ee57dd1b6a50f4f364c9ceb7f9e762460c1d58c8a6f20f1582c66345e5a779bb65475dfb9d1276493d1d62ad4b2118024b538d075d60e20355de244c0b3e144d3810a9544e0507ea6271e2bd248f59512263a0f7fde1faa0f0a03d145ee1a1cd362bf6989147b118a9b7be576d8546d3ab55a5a605aa2e7cee5215ac770511257b84a872236802240217398569c030455c9c6889ff808beaa15d157c417f7accd81e16eedf1a72094bb39198bae514642025823ed23b6d6240a06334153707e0217fe5a3211c56761ef538cdabba996e67b605b585f018f0bdd801b0d456a040a773602cac67f8e2c785716ba80423bfd1398123468272fff391054c4e7681ecc9e80854fceb9881df894d08a1dcdb429a77ed35e5f7cc6e5e8fa4d2000e87212d44e6e1e65082c475db33617a1b5ca00e28606c7e8eb4b8167e54b4fa7d761c5011c30014f00d6010311a6e73a945fe1238c5067cb1dc8721f474067386d5e8396a4b0775f7302e55f82662c74842721d626f01513a5670a8d105a288ce8c1555a438b07848cdbfec199b5bbd3035a59f43bf554580131ef2a0442666820be29c5c6839a2bcca534ba62d8072c9cfbdd3b452c70b4827b162ec1617809883be5e729f182deead399f2185e8d2ca927bd831fbd2c3db7577dbba2abe34e4c83bf795043a1f7693939992b38958b65f4cb4258f00f626649dfcda03d24793a17430155ab93e37df286954fdf68084dc6bac6a44c272c3afbbee9905c5e359668131b9fcd5aa583a4d828cba4369e2571c3c814727c1d0944c00c82aadf1cdf854004504ff0a563240e883feda04f4898f7c8dc23f613365ad6578a5b440aeb714341dfe54d3302c1673fb5850a5484856948fd322604969dd6706c7d4eaf0b78512163e1be285428950dc12d786bd72b0cec993e1796c2877fb1dd161a974c04847851510e5665c234e5a8408bba32288c201e83705146a62ff1ac75aa0e0a4f867851c960cd5771cbfbcd55a8d77aa3681929bff2ecbe2754512149655405a2cb6adaa88e04abbe4f9dcb8810a9c0a12b89f70d5c56e6d8062bc22abca83423f3fb3bb1c41ef4cfca7d34076d162f2a5a03ed47fa3e3c301dd6e082baa4acab7ce9ca9888b1e57da9527eb45a7fa1056ef92f0b3d20f3a951c9ce0850463d8d0afb44c9b0de258e63aec0ea1d8cc680d0f1d0020854e9e067753d1ae852e57dc1fd1f2d992b32c90e66147d38740be1688626d95e5744b354c8ca3e7994b83cbfa22e3ec5f98c064e9e37b66485cb5d4420d8d4c8dbf209c74c5bfbcead2483566b5750c7425015296d2f54b2f421f30d0e3e1348ac16f3f04293a0f20b963f7f637ffacb6389b7f66b7c5ea20f6bfa44d03269bcb6032a234d334b84d0347c42d7fe7e2b773a50e963cc16868111ec1b7968a220213d65ed8701a01cd27d7bd77fe6408340e6686d2a72b1092272e938a3aa2789f37bd92812d263fca26a027e2e9765f1ce2168311253fd0fe49fc21cb7195702b839635ea4f6c68ae40576df57e65f92fef910e2a87b52c1f518d5aa0fb64aa816fa856ed3e9c480dede08ac641608d3a9888a34ef2d921923ba8266caca9805a5675eddb6903248b3228dac31c21965484fb9e692d958b3018aee7fb68e075afc7a1ac0831f8f60bb23fd7454e2efc8a57e11f9059a5dacb47a8fe395a70f6534ccb56838febb616656df9222d58aa5ba5440e29a218cfacff38806040433307c0de92c4031e3b0df0d8e6d143b7bad6abd92505380cf929be15ed5b883d056cc8a64cdcfb94cbe32b0b3e5cfb343ab3c2c85947a7600dac10ee9640490c6b4328a99aded9843e1c56f75af92b04f3d6b702ad658424604a8a1caf499d114baafea2b679c35eeefb943c2a64a443820b423497bd68e9b26545d69a8e3934314964e81bf968d2a45f4160157ea7312acc3dbbc0bc0952b73f29530d13f4473492a7976b10fcfaa1374b225ec7d37afcd68161493e194fcf2f497d43648509fa06c09ff9deb2675a553a57e2687a463930a85e6f1e7e8af612f9c943d3ad6e3a5894084740e47a0b2be7bec2f660823d1dd0f04dc2bdacdcd00785fe766121cfa1c359e500e1ced5bc451b05d828e50899951dc6433eaf2ad4327e99a8fee36e9d1ed88bc9aa905d36a3f6fe62289909191d8df97890689063c35363a21054a4ece6c262d36b57fe4359aeec20ef0c635ec2f348d38788741ec97aa530b0de8086b990214458c2207150acd09b32d64eb3433058a85620f21e6f7a49e91123d5b4a2e4951c60e73df6ad540efd36e17a538984d779a2a84b2ab0c041a416994ac53ed9698b056fa42b97eef816355d15485ab59d17e852931a9c6682a7f42b96e178e223ee49304a25d5744f6ddc1e26c8c0d405a05d87228d540f2c52a59e4b72d10b680d221d1875982d512a5bc13701d306df6a584904f6776245d12131fb60113e6dba9c35d987011e161aa6bc84a53638f15a0680f4e6776b1c5ecdc8793e450ae1dc303d25ff261fb6d40a153ffa439c1fa6e20c5ff53af745e3240518886408ad831e59545d8d21d60dd343c6cb92d6f1ccfb4433380b65327c3cc1a8b067b3727d041845d23a490863716cef14629b702186fd42b72b76c824fb3fb4184858215985022d6fc569990e59f1ad0a0480d229aba51da87d85e33fe794a2f0f06e991e53c755b6106d25d7aa4b0740dad3ced98c6182cfd043d134f965622f39228e89f441f9c748da91f6f4159f9fd54e047258459d9779ff10f9f1c9307bcf3ac7ea6aa954afd94fa6d25391d83ca9764b521717502a0621973525503bb22037a5b11f096388139996419a69e5712051d93f483952e34ddc34db8d819ae4a20a60ff34ed5b00bfcdee614d8bd1aa9040c95033a904e815930d8554d076176035c464c37c0659a77e24c47d2f32ae5f618ef8b9d88d03669bdfcbffcdf0dcf4430c263fd8132aeefb81507faf80569f60acf39e0a2dfd22abd59c65fc87808eea59ca8df89aaf6b7bdf7de524a29534a320008e907ee078fb1029062c3b749ef136da74bff3fd146739254f8d98828e179224a781aecedbbb7ad79ae866d22972ea4a0271a02e6f8883ef8475832958fe8cb3fc292a568f8e994f400c1d6e524bbb22bbb72fd30ba76d520bd71d349c165e6662da60dc5c26cb6b728274dcd49b3e423fa9ae87f7a257b9d5be36769354b0b5861991fa7bc902b0dbf79231b5ed84fc3d7eec768f8ea190e66666cc2cc927f22cf3e91bfd41ad933ce529e499fc1ea0f8e6575be605995d2c75accabe1a5581b1b0f03c881009f03a67292cad327400e0370671ebcd8a31fe9d3231a52d7cb84a14f5dab30b3a141b5a596ea4b8da932f4e98b0a3d2e30754965ccd26c26ab98e5c74ebd02e3b96236b379e915d10fd8fd8ff1f172e4548315b35f4a666d7c22963e97fef689b8e5632d1574d83f224a72fc892861775692a3445583f70dd2a7c1abe1859bc80bb71b4e137585dcc5a53fc30b258a1776cca53f831766ae4b1f009e0c2e24e41d792e5284f4e75295160e95003c172942ece5521729c2cce6521d3c17296478618d185ed8c170a04b53376414ab6ec8a81ffd81304ebae1e9bb8c937078fa12867b48b5301d9b26c41ea88b71b430caa5dbf57252c7425fb6b40aa8a9fdd09fb0ba21a3726ec8a816f785cd5a5dfabe8a3c3257f14fe4112fcdde4d7ef29a5e79695496629e4b29fbb0cc0d1995bab46d2e7d2de38270739b4b936d761b85b1552e01f1769f602aac85b54eb016f6b3c25a2727d84aba4e0890d98943406f32602a8c47ba30950bd6c27e30d78cf4c15e4e56bc58b1e4863804489317ebb22f1b84b5743ebd12aab465591fdb826185cb7ce9959e303366cac458c9e0525ab18b0c321c61b55aadfcb394635f68eb1776d1c53d1420e2a04f7ba05cb8f433f672782a0dd2fac97e0df4e2e8135980af10f106fdfeb6265cea324dd264322d80b248938fe8a3d87438fc0d0f36483fa541faae0629755dfa292aa026ba1a9c08a96b856d1aa4dfdd1fd734c8a806e9d38f414517778e90c3fdc852b7049d10147d8a59d7a5ef9fa82d9075518c368776d51e9110d83889592867a91ed62c65a90c27d3c954d92aebc97c5a992be3c958d98f6d5104f4a46096baa926814fdfae7a25b42ea05e0967e9d29ca933ca7824fd6c95c3f7ccd2ea52fa3930ff88f933569366eb877ee6ca5e4d6216faa0177b4447f4adcb02d917f6f4b156af841d6613d2ac259bc9e995504ad7a54fc39873e9534c75e9d369baf429d6621b9c1a150ecfa5cfad5e893b29d6a53f4d7366ce89a2e116441021eee1cb196992274943fbb3995e09553297ac252b652f194caff00ff4e9ab4992853e75d15cfab505bbc16cb2a78fe1c41ad83b8665f61375fd44ede37b641c909919a1e4a2d3cddc445c747478e8bf5314fa387837c8a78fe2a4f9f44d4247bef925095a4c81f145c75d87123eb3bc9378b5923fbf9ecaab39ebd35a84105ea4577c7c5a30ae1350509ffae44310caaf76d1321e2d9bee52e2172da33e57bee55eae64e48fbb42ef2f4542faf906f5cbf721f238c937691df4dba549fef2fba55760e477cc12ceabde90207a24650cbaf2a53c5df952a6de48af84ac62f58aa4e2e6ca2f7273a51170aedc5ee66408e85b9f6f7a257c1a3ec9e79a5ec95e3edbc8baa3537365dd5c7a45cbe6671ed8e09c1f119714adb2ca2be98e153ef7bb7147075eb8ccd5ef1ba41f1197d4a4b55297542a27de786bbbcee54bf9a3db34cc74fea8d014628ce64442b08f7748b7b064fd2de31a51b22cd85bcf45c90e16ecab5fb22cd967a9b55fda21a7fdb01819c651ad52cca36fbd6a019979a5bf814a9b3edf6e4a4156aa225d32d50115d1c24c91ca6c66741dd430cc08f2a12203e9294e553023684bd97823fa4fdfa494ccd1efe43969f82054b9f277c41bd208fdd1b4e8329c545eb97964f7fe6844a1e3975b0e3ace5124aaae8ae45074009ed7370964bb2e6740a9adb46220a02aec06041855613752cb640e0c8b1c20d0e48dac552a412a412ac1a517c1dd4d303f2e48db84c8822cb2c862e2ccd9c4fb6829679c4db0fb9c9f894e772e8030b10f4cb1610429b4822929608a0c52281451c5acea567917614690941f664152f6eda0393e17ad36c7297df40f9adc019276e4c0a69043d3306b826e7659e344723f703492309f0382be6d2fb453b95129a39452cee9d2b54b3d19b35ba79472526a431453da486242174fba2d3ae6264a0b528838c0801b071874cc4113dd84f30d7450e2520725b29eb40ba4f4e0f71baed88397c6c23fa475f9856852e783225c7e227a6586cb5f84eaf21731d228afcbafb27971d9071f3e7c08e2a3878f26a1f8889fe345d16284a07357c9d120efd020fb8f1328e6470f09f9f568ef717bf4f0c1478f1e743e703712f3f6570488d560fc96aa02254108818fdaddd3dded087240821bd81e747de3ce8d0d62aae776c3ee66464b41c737eedc94ae76e34e0f5e373257d0527e3001f0848c7164eaf83bc61863ad52dad4ea3870414e938d8eec929dbf8ee38dd9cf0253a5b4dae0296cf51a6ecb4a7debe20d193fd934d11c2a5894d2d39c3f27cf295deaa06bb8926513544e97d2254bca299fd0ac9d980dff81ad590dd7a3cb7849f9c3acf765176ff48322a0737b6f9e72c25041db5253c6133a7e09f4173298feb9cdc8bcc596b0abe17e119063e81f6ae81f2199b33d6ff60ca68af9917641c3075baadddd5d0615664af61c893e884722141106294388b399a5e618c8464e64ed37ba8e4e4c129020c50e78a5c59428c334b827379ee8c21aa1481479c4b00357b2df2c62b4347606a3c1a2c04ed68445e1d49a301a8c060abee11a144f75aa79d0368ce2815346a58a44d5a51e40e2ad5f7daffe21e69027d93e5b6baf8abf68dd3dbda4675838353b6edc1982cb65ee47b3e28d1804f6f64f1ab46fed4e15a51b778400744393cb1f8370e30e0ece8ddc0f21f186cd5c62ae61d67ee464f5ec671e76621c6e3f6b6ad0fd33afba7bee1e46d3a0bfb598754fd6c858ea151110f3fa3bf8d22ff146fc19032da65c13138f6fa863c991f999fb0bb70fbdb67960eb6d7bee7b867e6ecf859e0b7528f4a2fe6de342fd01312f73f543a150487ee8e567ef1cb7997c9b3c6762f2451a2e140a3d1093372264dfe4eb1fb99d796164dd2cb471de91bb7945b6ab7d58148cc3ce700daa41feee0a13ff1841d9a02b405e142729a13d8a8f3cdb3afc9ba3b9b9cc75d6c6da425c2df64afdec757ca0ab3fdf3f24e262cff567c57e0a71b18f5f38e462d88bfceb87f907c4bcb1c1d8a00d8f60af619f0848bc5877b38b7d77b1cf3eee5421738f5cf7c26dcecc9318f523b77a45b64bbf932818878c99db3fdf87cb237cd36941e76af1882e2a21a8e76a263a92f0cda5d1ea62bbe28df83b9ca4c4fc1dcca934a804b3803e8adf60b4ada3230b9b78c6cbe9ecad113f0953376b8184858485e407c90f92179217121e243cbe726e56a350a89a1b1433bb18885f5209a6b3592e9214c28fcb00bd6c30699dde740bc1c43737373836f4b97cb074750b69df90edb5df3ebb7994456b8f5d2f1a57e8c2cec961b17c6474542d67499b677272745ca4e054cbadefaacc31fbc3e5ccad4f4f2c9e6106428ac562b59a516ce3a3fa34acf092a69c199d93aa8635adb4acd3af979338c5522593833aa96a58d465553cab2532a69953caa657d2e7c7fe585bfaf9f94102d46d214f888fea6b9e103eaabf79a21fc0cbae06eb37cb64a1e1d385bc72c93a6e5f6cbf4a1e9323e34beafb49755d5657b54b5a6d1ab5e4cac8194969639fa81bc67e4490bc284db9faf57a2dd1a2d1d86854a10b3b2787a5a362f9b436fe2abfd648f9893c1826890ea5beb552883cb8146f541b27b18c46c356835d9589c8612f394cec440dd03ef4a1af03f64361a9cfaefada57ad36cb0e1050b7bebfd4379244af606f33ccda20ebd3227888f84110c6c3c3d3a3b137fb173ae0d260752a3eaa6f6d573d099d7cffb0510d40f1d16c40e7a33984fbd0a744e8b9cf0ed95efb94d8be28841027695f3f8893fca402e3a31afa5cc6b5af5f2d23f3b5cc1299ef7bf58b57dc13c42cc9346503afe6f3eb25835a2204995b7b9865927d93a2afa09c970d36fce4f4134192d34872fa238244156fc44b430aff4eea9c2fa7c1fade169d8c96b26de1497dad004fa82527352bb26ef561568ccd9dd32527314bb34e8eaa25d3c9f2355b647bc94b4dda58aa5b61b418eeb525215348e52a1d9310a7f9a9491ad7d8f40ad7df5a55817a2574295476ddfad5d5a38176d4f7a1e76236d5c827b113049e5b9f6d7dccfe9848502c69eb744e7de620cc2041cd666e242824282436b726d1607dadb91f461aac60e89a33f245d7150aeddb43421ee124edf3528f6afd586ab0fe0eba50e5d6fa2a39b8593e4a6e1b740b7ecaf5b72fbb693fc177be45f1e942abeaaec4713d5a9fbbbef53194dbe1763b254ee4a59f1d71a9ad317ba01407a508e08012a25082e9ce2f03f24a1513d6a5af45951b6ebc0187947fbdb69feda767c5a3d2c9c97270b2540c0ccce54a9c4bc8b95cfa3382ba4cd52065a21b06a7bdbdbf2d75d320152dd1c1d8787c69c6f1db6a365483ed890ed02df7cb501f3dc6ace555d9fb4fd34f4ba5e259615a866919a665128389d1bc14df6ceb949d4ed9cc880790b115a6ea51b6a2a207d3b8621a574c6bc6a2862ba605d9cd623c58c4b80465ecce445c828292b868ce5fa89d46573b3548ff07bf661a321f7cf053629eb228bafe90ba9cbee807ec66df5fd86d2c27c54cb565b3a4655936513e4d594be925464655318d4a57c5b499cd544c9315d32aa65117753529873a03d220f0e95797512dddf0a31b463c8015a649605d524df59443f6eec917e8499766336f7036d6a557005dfa338585cba53f756cc56898a92e7db715f3765b31799257a06cc56a542f056c5073b94b02b95cf60a1b9796bd7b96b947c4c5f5425d8ac486d320fdad0137744063f988fe0d1f59a6276a000e1dd05a3ea28fc347162d004aba509aae93a64f1bfaa606e98764405d020842c7379ca668051dac6a50050bae88824a888bfce88bba42339dcc55f94894a473dd9051fdfff441ad5739fc11163a84071ebe56fd111652ccc1eb978fe8f4dae5a3ee35de329c06617c214bb2d4e2a46ea9c1932dd225147ae67a25dea00669a8e1e9fbab573a7f355883e7400d52938f4e82e9954ea17417e56396ea119df1b1677c7b324765a35ae5f0397c4ac8f9f54a9a1a646f451eec241d9e3e01721840c643e6d9170399ccccaa958ad518339683658e653b7477376b05d42b3d4d34a759c37337b7d5add0f1cdd6cd56f761b962d92357bd32814c2b68d8c587888b4f33b78b8fcb8f8dcbd4b79d9cd0f0347ce47ed4f03e7a869a8edf87b7570166fd60e3fd7db40dbfd96ba017593e8ffe58e94516e9722ac34b974f97a5220fbf5f471edb53004400542c92b2161fd10780cb47f467784d860c19325a68bcb55d47e34394fb63b2319780fff85f745583f47de5394f83f47f7e7e7cfb503791c78d7f2fa3c966b66ce6d2ffb2933c80f4adb7defaa57b66068b696ffb6ffbacb479ffbde781d2fb309bc9810798c8c3c6490278fa3c747f0edddbe66128ecd423fad9a9576466b01b199a0dd349dd007c9f02d42b36bcbecf4abd1266a84b514e1a55e174bfa701789af2d486a7015b74920bc6a2e459324e877f96c3a6d30af084964b790019bbd5af6e75108e9451f90455baea61ae611abe5922639a39f96338324b62543eaf9b544ec75cdf49edd8d0dc9d1dd56dff01a6fbb6cf8f0ba85dddbab9b1552bf9b6d299837dce5ac4b4a8540dc6dba26a59b5382925c70e5df2d1a1187442226b88c8a365106ff8fb1371e4ef8329b670bd065bdc285177c6ccf6844e88bf102bf6c69ee166e0a2f38f2a0df68ea6e9996ff399925b733a3373ab66fad4a8aeb9e9948cb78d7521a06d956eeb4b77cf34497b7f56f9ac9aa6516dc3c3322a6ecbbc1d5a07297bffd6e91595b3879d4fc841d743a651e9565ff7eb610dd03f07cc7595a9c52ea07043d1700ddbf08d135184162fd7837ac5c56ba4b4e0503eb9ce28f40a3f2d38b299bb05a745a76ba94d4308342d986e0d2d88a0b5a0648615c839c30aa6670148866a7243a0211d541ad82c388165010559165eb42c28d95e71a78b2ebc9d2e9ab0d305117800a30b9a185d2c899c92131994c82063a70b99ebdf49172f328801005d166608b150369e19d98d3b3f47a02112896ad4a0f113849d1f1afca0e0c7a506132fd8f8e73826dee398f06cb09ecbc233c1f9b01ed820c3133b5858c10e1690ec70b145e4a227ee70c1330ab16a76b8b0e2ee7031b3c38511b8c0b91588ecfa8c201f1da38c9b0cd06b843ff56f4650671ff352aac55f220f86a1695ed3f40cd6337dea996e4c62a95e09d91ba757e4f38a7b224e8ed430f035191b46d8a846756ae5d336273727dfdf38fd1ce35bfe0c5e8ed6211f009e4aeb907fe2edd03a24e9e47bfa9bd5ad968ff59f78acd3023333e3f30de32419ed92841a56d3b409b38b814c42dc12308e893056f5bb2341075b0286c812309a94522e01b3848c85195d8619430723c449a06b594730c7bbe61f822d32f80486db795fdc189e8b1421a76ebb48d1b1fc7cc7bd8b3c6c44c2133d376c2984ba7bd150be92866488bed32fcc7ea3195f9bbdf6546e2fb3d75eb31bf56dfbd860f66d743a9078b74fc4bd111cf5c2cdc8cdde7aa1e6719edcb4ec7df4919b61f3e97c3b3935597ab182e112bf7ef887f838874b3e928f82d27539d6826e42d9c1025b2aaed2ebca97f182c87365fc214260cf4718916182edca97d1049028a4574434885ef197da7b4d835207928e6bfd9c86ca53833dac86b1d1c18a2edc48f125f288978bd07275dcb843849ccb28aec9716bbb4e7e124e8acdf263cbbaba57a9a55442c1d8481e315d74d5a7f16e7292b46e6a947c1b4ee8fc436ef54b2fb12f45d666ce0f48bcf3e5cf8f97717aa65724e602ea961bfb712a9ac298324998d0133a4a44405d1d4c7429f153b6eea457ea9d8f32ffe5124020735bca1c4430ded0571440045404e3f5db30b369604d31c62844839896fda67d270d66bf7d21df2dda17fb76cefab4a55b69dbd6caa5583ddb6f7fbea6d929dbb37f6773767bed7d74d865d9b735886dd3b30d6213b33337c6d84ebb198b31722c230751d239e7ac93468fb9c438e233f53a4e1ec830e9b0848e8b30abce39e7ec9ef3e424c3741245cf139a19c010c1d43c4ce30b3a0d328c2ec100caba855f3af474a1d75ca64f92f1fc9e729c9c269d78ced3237ee7e9be3f06ea9c06b9bff088e986f3a190f121035d7615bff36cdd6fcf711c0c18301e48bc303e510cf931e4c3f8e46b7fe4760c0f46e84d3aefc89d5ebc26a1e6ae0ccf450aed953c8b14f4a7a569a706f96978a1eb1ff3dbc33e7240cc3b3f36017561f35cfee6f101ea55cffc991fcb34c81cb3848b89d941c533a098ed56700a59833f6546cf3946676d4cb80e42e8e8cffe766feda44dbee5679e65477e6cdf759f0848bcdd2782e10fc3bff3b77fe4ca3781d171f243d2c43b72435c966d1ed7b4e685271966ddddfba70a1b4e079d2edeb0616e7c22b4dcb853c5a98a9cabc92f3c5229a5d5a9d3eab4d659338fd6a774d64a6b7d6b6df5bcd6787f3a5cba78a58e09bf0e41e8ecd7a694526a3d1aad2e763c5d4eacc089d49d8fc48fadc158e36a75337955332f5e0ddb667e0cd1a0066ed81f141ea8c12245c89dc744f7305e7b4d83e1297184a5fbb42f2c52e372a0fb78b9245ae416f075df9ef6710c882c4c1c694999604a2e4b20696149c23df70dd1e02c4244837cbb57fcf10c0d2dba9393daa547f3e7dc1ee56ada177a887239ae39eeb70fe37e702e4deab48debe79516b5a87d50741fa2cc971f077110f703bf1a9c7f72e157cd89a6495de4e1753d9aafb1e9d42bcdfdd8116fcc6f0f09bef36dc874f243aeb9737b17f5c7cbfdb449314e8e8ec7996c16e55f93f144e75dbeacf58cdc8c1cca95ddfb68ce83a27badf39aa647f3238fbe7db261eac276b9d367d84098dff3e7ef883ce2ed3c172978c474cdbda6b56c907bee6fc7bd0917b1acd6cd0bb32cd33493dea8e47e70b141ee0b358d6a3b38ed378dfb8d6bca712f4db81fdc171bccfe647b8ee31e48bcdc270abd11dcd3e79e7e48fb2c0b719a26bf93b69fd9f7e1187f7c333f9a1ae4d781eafac32d657e46744a6b1496d6a69ee9991b7f0710b4a997f4921bbb93064fae67fd5d83de3ff9db9cb93dfec859c69c350d7be9f963b2ad09f3acf4e2652bdf7dbaf4d87a5cc3368cfa5c8755f1753842c7228fcf3a0d46ff79fbe7d71fe7e4dc7824630a051d49bafa54879e4edec9ac434e17f2cd090a8c976f84fded3718bf7d28148a1123468c4f24e38d88f1f365c4f8995996f6b2c9470e4864ddd07e1759178677e47626dbf316f2b8c60bbb1b6fc679e1c9167f678b1ecb8c9d9c78a5935b2812341a757a34293edf787378a10b51f829df1a5b5bbbd55aeb071e912426d3296c97065b6c6f40b249b19b11d4d548e9e96156f7c4ee3085557c48d9a16bf900c5ac5adae6ba2ba81463abb48db255d695ad921639c24877b75a363d4b502ea020ae85e3b629c1c4c89854583e9d8a4f7cf5883905096288103b7c1002018c7578f839e51ca2c8c42c31cd48257a859360ec08239c02760af30d7773abe52415a9f2bafe2dd97a75ade8bf7535489da868a093988779bc573c11049b3bacd1600f564a0d8b5fde02b253da3ed929abca4e498798455240aee18939b57e805e36a79a6e29bdc0c8a43408ae7ac01d72bcec98f1a15742b6b911a2ea9185cbf50f3204e86238538786ddfcbea6c6ec5c2277b0f829a2c8bca9f46f6a6071a3e446c98d921b25384d3ad96e6467528e1e7193b0e824eb8213647dac06fd4f4eba148c1298780fd6d1b1dcb15b885e097b70100884274bd8870ffc63abad721a494289a9b989e5f3c32e9a36f589db327e352983e991a3137fae0f59320411398ca3e2110201ff22b8a66f52d3db9e7aa54a97d215a8eb17b3af04c574fe6055502b4175772b41ddd1675e0d0f25065dbfd6d2a7878828b18937e29d1c10f2d6e891a3ec70a20bb203065dc82dbc5ab5f06ac58aae3f0457d71fe493363981465a427c192370811502f153ba7e42e8ef70152049cf9ed8d6357fbf430b5d185d3b7cba30baae1f61240925b8c5854bf445f5e36df05a9741d3b1c905527a1aa3601d6631b6cf8f6518e6d887fd9d34d8d6dd63d8abb53f3d7e3be5646f4ea7ce53faf4e973729c64ef95a401842e94d7ced72677f497de7735ee46d08cf29d7477b529bf8f5cd2926e02577e2a2ab5cf4eb8eec6f885f225f7c5aebb59f6854666a6651d3f9334d36ce8311f1ff31c8671506a3f7a944af95f98c4a5d663a8a54e65a5924a2982a2f42ca10fe58522f4792085458af959ad6b90cb9ff36f8ca10b371a2ae8669169bad2dde534c514678109724c804dd1851c530e96ecd8a0b6bbc76f0fcc8845b0bef4b878a3ceb8b586228e6abfabad93ca39e7153ead9d734e183be7e44137278c9d33654e1827b43965adf204554a294f5093787457f982367fb6946669beb4d3f6267ed01aae7b1e6bd4e28df8281edf248ee26f1147b411ba31dae892d36769beccd27cf9a10690459bc54efb9d4ea08a81bbfb9c504c1ccc40bef3a05c500315292df309083ac68ef12d08ac046312129892125f76118511666820a77439a7e00ceb192da04dcddddd31ebd3fddba6cbb9f21e6873fa947f27bb8d3bdba39c1e9d90048df6a5ce057517f530c827e27c6626f0168d85ae4217dfad7751e8e2cb1768f10155d699a1baee64c2c51eb213e368499f9f630f19cddfe86dfd83ae52a6366ef4a4c7f8fdb47a9203a2beacdf34516f2e8937faa33765bc999db887d9828c867b98258838fa9d385d13c41b19cdb5715d4613baf8cd405051d0e63cc20d4e944f9abb9456481b134829dd3f10af656618c46ec1e62a88d21f06222f445e88bc107921f242e485080ca297e80bd117a22f445f88be981124fa42f485e845230c338276bc60127921f242e4c5ec4df40129e56489aac8c35f3eca163d851b9b70e3f71571ced9aa1bb66a0193a55555742a20dabd87095404ddc884297408702313a6e8b99dea3a1494ee6ecab1558416d14d296d15a77ebc7695ad188499996d18d5e2fe23ba657e6b0da3654970ea27a2946bda6b702453ca4992e024d1d9b1d3b14c7fbc3bb0e8f886b1552ae20712bda4417e1a4f7421ab5aad1f9e95ab56d9fef4e52548af340fcde51b8490228a1c6124890625cc4baf30f3b424b1614a39898dcdd5eab663a78818e38cb38823949816c5361ddb244929606a22269835af2aa944832d0d76571dda60176990a61aa87543cc4209104822169cf68971695e945b4e6a55186e1309418caabf88202903dc7e1aa0e8b29fcdad1ef5dbb06bb5c9475744522389a38e3cf8fb495d8a23ee431f76aa8544ed6f6eb9b825dee80f790de3754a061d5f6ed70e5517768a5d97bf5391078d3ceaca3d248c7457fbad6ed67edf356d136fec20e2e8d7ba07b73fd2e0852efb3ef4f30bb9e50a71097ddc974516596491451659d47012df549a927c533920b34ad9305dff6b704e0a4747c55af5f8f8b47278583f5a3629115a36e7105a36a596cdfa9997025a6bf2fd35fa3b87d3e178422b181f79d48011f272b48efa9da7d23aea73de0ead83fba63f24a69e0ad8a36e99c3a5f5127b6e8791d58a3ea51853d3bc9a67cbe843208820428608d1b43b0b9bbb23470f1f3e34b51414d11dc0b659c4d0fa114942436ba5496892d024a9b1287e8e6d7cc4cf7d7c7218ad6f6cb14318baf83382624a949a11244a89525db8cd081211614690680734982923f4cedadddd7376cfd4eca9fa2e306a46506d9bd99d7a2fdc7628252db4d0428bffef118d1d5c74d93b9b7c3485187948eefde423772ae2a80027e8b2e73e6c5547ef328f4f5444f7a273411290c96de34226cd3b3c97cb340e0e86938371079018f32bd5fab9017aa5563eae205b6360649698680fb378d5c249e5e8a8b2c6b9ee72a57054393a71a6f57303b47aa5563eaea0550fcba775d3a81a9b18fbb54dbec4b4d392e956e6026ab9b2eca7d56ab94a32302fe86eab88c8a3afa0402435165bb4a8f08513b660b74ea55259d54a15d43030303141a955b7522dedb2f271d95ab255a26a6cfca7e62ea9558f4fab5b5241ae5790b778a9d430ad95cb94ae7f5f77195fe2269fe9c1d8e7fa27c1a81a9b9e1e2d707a7a7a7c509f0ab4c8cdc9218ff384f848ca2736a711d489986096cf990cd22b456c9e100d7a10bd12ef16eff6f213d2a037a441ff82c83c080cc1899074fef67db8f5ea278d5019a4419fc1d5f907b1b6eb5050fe413054b930ae674d5f6ca38ba8146d1846b564684600000002f315000020100a0583a2d15814259220b80f14000d80a4605a429789825110a3280aa228640c328618020840c6c8100dd10600a8a34bf24f9efd4fe325a820e550cd8219ec0366a0a2e3e95bc79aa2582ea61b312b184b3f28aa88e92866e88efbb5c9a6527ab4456025bfc05090bd7f6e6683db1ee7e75a7faa712b492b07c2910338040242f126fe1d03abf373f1710ec465942d332e099498716196e2ccbfb15eb679a16fad9a7549c4a8fd546c40f6802c510d3356419080a02140df6c9ff0590afbf9981c7b0ace4e06bad2f23f2bc885ab394244a3c20d5d42d3f5849142fb5b499f1fccaeff96bf396740aa4bc8535424a34c2388e2a477d267d1a08a8c03633dcd20b6cf457c40d768f30f6e76db8d17b3757b00154bcc964acfd7531e0e05690aecba14bb58c86e35c63619806ec11cba10885bf0cf06593c214b964eb06fde989f58dccad1b6f2f11d16074726d08136c08294dbfe6118fef5e232b15384ce6c982d3860aa53f1e4cf31fe1fa770ef613629666241f84a8b33db2726a70fc53f75730a29f3f55ecac315eaae8a80b656d39109d4c4b2b522a8ea1f9efe97e87a356b2d3f9c69d960e5f7de5962275bd30e0ae0a31c273b404b7ca8aa5d12cba57c0ec214b69a21869c28803ed2a7c9ddd51dd1557daa48b84cf6ec79d0de0258e32580f24f6901c716f894d2f74cd90384294249264cb38554c917ea37d294e9523dc238503bc86f49fe9d009550ece01f81599c8479e1e83be2e8a590e74856c7c148cc83bf620db21d89721c682f226c4c3f78535f417ec7a6989c12634d1e651846931e6e9901e2522166df04196e097e280d9a3737f589a6775fe3723b37786a9dbdbb038d33fd0d64cd8defaa0a20c063551df26168b7816089eb1d341610144038869aa72ccc301410b0c29ce7bf1cbcfb91d79b0c29ed33ce45e24a3fdcfed923e74dfd6a13c478cdf7429bf88306c3766b2be096302c04d25d7ceaabf3c72b93e83fc204009941c598e86d82454430d2ceef37ce734376571c23c40e80962a2d57e73af068f2672a9c8074a057948c992fdce79f9f9904737f30130b80fc607372236fc239e5b473ce466615d4c2a840b0b187c033c29cb8181971dd1b8473fd45264cd3e772388548db672a8af604261d009e1fb4be9a386c8e90f0deb363fbd0ba6c0a3899968151ecdaac09613efabac465a4cd88aee8e93c177459aeee629ce17680fcddd8455451b5e2c1970957b5ae61d2dc458503ff54179c5a75f5bde8e07bb317382f76ee69cb0ff49947bc10ae54e896f9be202c70ce799fa423a091396c95363ffc0222ab470e5d42c8e2617a79528dd3066d223dc9681b0e13bd4c962ec3287999907e9099c681228486fe9fe13902ed8ed5d30820b022020c8855f495b40e21b24d78ffbbc1ef42f2bf6283ff8695d65bc50945dde0e64bc4ecdaef0309ab9141162b4f3a426354eaa104ed30ad21709728bc87c6bdb3b603f9fd59e375bb96e52901a2eabfe786719adf4f55efb978a53cc13c7cbf901c66d0f2f249f07ef9ac28920e29738c654f502c68491adef2513ac3468e815818c353a4406d45da6e77393d02661031d46f2d255f2bc800868097db725d78ee5f449517b71cf0be0946c718a85fe05ea69238eeeb74ffa1cd7c28f590f4cdd68bfc895e39ca93048cef1279c1ab58fc1368569b11f9c8b72f96bf68e8402e13c92a04b079e505b83af2e4a13a11ccea82ff63d2aa553a99db4d1a4908ef6c109e6cee50e1b6a28359b1c1985919befd4cfd1189059c9e27aa1af09dad7606bb0a77b947cea61fb8f206c466ba28533a0326fa92d804262367d8fb56ce4dc62512d47838af20ceafb92fbb3ebb23905931a25cf40a51679fee2c5441892747313e810c8405200ad68a45e0b277821802dc638d3b814f3038c1d26445a8dd012fb1ff2f2675ebad9b468b0f35bf8aa6760d03b789c4f2873c2bd1864efd68b992cc0223908286265d7bd80ae59b96010e44ac5d23af6ff721a818bad4df882a8fad60818cfcd8a78ec37c76565dcee5c3b9a93279a58d6bea66734d649334484cd378f8ac56730916ac38e9a98ffd1a70491d61ce241c3e011cea9f20e73d580e80e0f13761f22ccf86161723fda4a709b0edf970620a15291e916ccc9f3172db760cee9b4ff28da4f9e3b1808695c25dd3570dd8572d5ccb2471ed74d314a190b0d0992162aa276b0b2e465149e38ff220c0d03848901f59a712422ebc610dfcaa4d9cfbbc3da9bb557960e6b1454bdaeae470b8d6e60151340c8737ab251a138e472ad21fd0710a4d2cbd1e95c2c484989a9c97f4b3cadbe2cdbb7af2f67900f33ef6417ab580d3dfd9fb950921adf5c96f9a992ec0312358191c744f54a10cb8d48011cdd53c08be03746cff9dea77e7f7a8ef19fd7f7c268ec1448f49112e9a8d1bcc8c06178d181312f57b61b507ceb66f979f971e138883c508f33b8c10fa97f78a8f2f95f220f48f0990446c99f50b71d1e72ada663f2153737c5494b514cf6db0003279db228589a1bce21aa0adb9af33e6d0855b5a41898daea6ac0685414f2ea1ebccda54c7420d6ab90c7567cf73d1d9f0f3a610eaa1abd448b3c49c3e8b041405c55b3222aa52a2dcc21164eca5bf2b83c089d7528820e03ec0c0afc4a53dc871da88498a17e3378859534e80eec7e0b5a7086089e0b88720db5e2219915a3400d6687cd6e155bd5324b5a12dc413c694fb846f323a7de9a23694d6a6cfc750adccbc7519a9891ed818c35b647f615b200d3a834b78fef193f487f23f6778044df8b72a060f956bc9865e58bcdf03412422908f097de24642b2c8480964d3b3bfe0f5baa0fdf9aa8620434bc65b186925c763ec429782861eb65c362dcd568edb04abc8241014dc871ca7d670a74e35341e102a42cfb3fb2b8866c881fbe779003c5bb55cbf05917a8f05e101826610d66b7469f41a5f215a06515488df7d4d39e68d448f7913b28341b46225bfcd627c06086279b85dc31d5b1304a1e0b7a116722366dfb1e14d23c26a915329440033be06884fcb2393680f929e16cf9cb9a9933534f83573c59ba6a4adb535d7ce0f4359384616bec65f55f8e880e78614546ec899b7980f709a961f485af2f11a0ee3c514ee30e8b3afe9b5e6fc1047629d679f00ee0a33bbd7c43cfbf130e06c072a9dae579b0c592f02055d0b99ed3fa31dcdb046ac2b12d0d9ecd62fcdf7ce7c44580a3f82d70544b1d882fd0aa1cff5db0b193cf6359267c514858ca958c8996a94b3119e6b6d3dd6dbd7b11675acabb1a2233a5d4e37d0ca683026c4025ae1eee682a4d6d6472442c5b9ae26db8f5edd07b058912ebad06fc7950fa5e58f0ebdb45bf38aff52ab0cebbdb0c8773331d49a566d57577d82a1cda4cd059f1b7422566b60e1429490df8e349d3f1b5e0634c7d703fb44a1ca48e9676eb475529ef2d2da14f0b50d323ce7ae92a46800c985ac3a7edd0be7e6670570d6ee47bd93919dff63c2f44623cd43a47fd18711dd235ee33395b4285c86e50e89ece30a8760c194c71b4c0d45ee520609de40373ae11ddc5ccf11ec431806ec5bf481e302c174979644680cea3f1d83c0efd3281effde4f3df263d1cf5d3a2dd1a73672355d6504c98afc7d4dffba6b83285d735ba16019ce74e265ff5f5b2767873552f62c70d7ee90b7dc69bca14ec03acc975f800d704a1419adc2922a4cd14606af7ab822e262ab5572df2b8ca8fc7cf81951512b38bb768b8c1b26b0aec015228c514df5e35934eb7045c7043442d1871c1b2fdc7aa159998833ea706ceb10d854332c6f22aa54aac7f1c40ac98ea6229d5cb12303c4d30b07e57f631bb914b065470828d4f8945ac943579a2a14ad54e5c5129e78bb8b2af37c61d716af3840736404a86d5a719d69cc896662f52e6b9ef03e5afce07776bbb14ff7e762368455bbe709c9f1eb1f4a1c371b7fa0a7e1562fda44f3f6f1509e762dfff591a6671f17f6a50b31d03fa18b7db8fd17e3f960f4ac62e0d7ae83bb75f121adf78f54f307eae9aabd8170d54d82476ce6d4423e1d6581ffe556b9264bac2e8221883d50f5cd0056e8b6fab29f95a21c392a5f61f8176fb5b7d111056ab6751d7d2ad08e228358afa82e5a47d6f54265cd57c0b98d2bbf4abfe8c5a725fea1bcd375159d3101e7803f9da04b7b8da473ab9f1c883f2db1945879388f5bd470e9f817c76d865a9e714bbdfb08095b70b9edf6d5d7228a369c7f5984735e4ebc915bb1c55be7dd3e6c2b95e3eca1306887fe9e528a72ac1aeaebc6b5397c94624d9950fec0507185f337bfcef9afbc169c96a2bf7a0a4f00612b71aa61f57d1badb8387fe7592b2df542d9eb97b364c572a090c99ffb44bfb1d0cdde882e2a5f8b53357d8966734a503096b4ee5e324553fdc3dcf16a4cf3c7945f2d6276d4375f6db270164fcde0e39516ac6434d4dcc5f1cb791e00ac2988ac2061b7f9f2390bf8470e2e09ad7378974e148e444ff5246870c03a9529ebf48de1430b8b5af21c07c108f163381cce3378cf792c43381f1abfb848b44e20af5318395f39740ca7f22484d3c8bfbc8826eec774fece21dc2adf0a1ed37729ec868b8327b2fca8354ba0da068b5ac916a895df97b4beab895a9debcadc0411fc9572f2e71faa1c8a04f100532a0e0aa3622cf968d24807ce62c967ac8bcdb7d8f881e153efc5233203fb91ed707432025627f99caba579221b145ffe2f0edbe47696f7d57642aa57a6e207edac1d1253a0b46acc7970562946f7842ce69e4fc99ec8d3c822e1ab26830be0db7ab5be78d3d19e48df3e37f17ba51bd6cd455191df13e14f08b85c4aba0f2bfe955e2bddc6c68afc7f74c314f2c48423eb490c51fecc05cfd85d5baa1603f6b219a48cb3da7cfd4389e366e38b0ec3a8fdc617637030893b0fe26d71e7eec5651145112861cbacfe60e5e1750b61bf0f6caa98f1f454e7a87517524ba4a7b15a1727c0aabf7ffcfba7b71b23d0ffcf175818ad444f099c48623c91a91891fee42e86155e3a1e852b663aecf2addff081b4469d8d78d879bb66a428d02a5f77c87cff5f25ab2cf8a1e9600540ef97f5cea331d6fa7ea5425806a953ab7a9fa341f9fd4dbf24601232c711ebbe8feb2b482aa39f48c7fba1740152329788775fc456be4769f4f76e51e9103a474d4a4607b1ee3b71bf02a432f513e9782f1a5f9d8de74dfbd776fe0e2992df026230f7fd7cc5465059c756eee93181288951a6060c24a8c81425703599474c872482c3e792c11b47a9d746e3232be6e2f7ec9c043ecf4dd9ec2ae9842cc8146837d85a65b94372fa62c2395f2c0978106225a943e6140c9071474b6ac58be7ba3285eb881181b298d5317a4113fd666fbe3abd061d21c7924efa687da29eead5f254e61a241709767599d826bbba82d628b06d5069e5861b7557be45484b0021deba75c9c1d0f7ddfd6d1b5c8889a1de0dda6fd228f26193dd89c9f80eeb3dc7ebd31f02132d0180d037cb373dc4402c941404e9a2e05b3e46e48763634827d2134af54c7b91d885f8e99e3aca4ec8de0aab6327a88d0b350ed8c1e046814f710376d48b6d4068d73894544d42b08155a8b361ab063c1b8250a71584379dd191c4ca22f2adec810102b7822b0d024e0789b2d95188e8effd571790435551876521ee7f4b1288f4086f7027afc99467c0b54c1456d07f8d576fae08b2ce2773733f7dd31848f9d6cf86e7f23a9b22135b6e092b95964a8a296db6585a8ec8981d613aeb9c0739d674956f75175446d3f535028950652f2a4f772ab4afcc221e2544791268e9fe87f8314da2b94c872f6bd5d9fea0de906f73ed7900b0909ffbe9a7aff59317a705fb76199bbfdad781106ba77090758469373f08af446568427e5698875a18a591ca2419e50abfdde3dbf4c7c5c229d80bed16e2b5f1824b08417458bd01d10ffe65fd1ad56263b1b64438acef3932e520b50c5d1569f90958215a0351db2ea2b303b16233e059c61b40c407f18d23c101d5ed3c0e1393fa21c12f242726a3b3373099b10b23d94be2c0ab2497a203d9b8385010c4ef091ad328609572ce526c88915fca0506a02d0b8dd6c03cd60e24df9182139606f3ee75e86a7ac65a4ebac32212bea5bd3cdaa7a6e8f358a53af3cd64ff5c00eaad5b1a913a3e153630a8308fbb3a1cce03af59c41d926beffe12ad44546442450ef9332d65ea8a65a185b0c3d09122f7b42efe9d5be269b120909e023472c639336190878fb50d12c9af477dcd625e764310896e2f1442ffb27735866aeb5212f21a9897dbbcd35631b2061e73fcfec2b6d9f9fef0f69fa8e31c192395bde32080fc7e2150d50dac188956fbd71099c6d702f18b7fef06ac7cacfc33796d298c50b9e0dbc93f2bcaf4750efbf0b653502c209be949148b7ee381c9c4e518fce7a043b4be81fee1b973be63a1d473474631060c1984ae7fec44f4c2e8607f41924fa292401534a15f474f86df3418cb4512331e0596ba523236bca55e56e71ce83ea1fb5afcd54d69ea550c0d513120ced2f5d0d2900e7e039a24ef3eb1e7c05780e4d99e71b3ba25723489cf3c37aa28dab1be7a02804cd32365a12f401ee478e388f001db4159d7b095f7f09411e0c446a699715dfc9d6ba914adae2d7da2e0b5be59c64e80844b5eca4dec796f3c57e1e75e382b9897eaae3e7b090841ec5482e20d3f8582dbf206bea5825d5d2aa11b3b90dabdd302ac7ed50be8561c4daa92bbf449590e9a9efcac9829525f2a40e1a24b91b8ed0a180afa2adef8129e87892c6b2ce0479c00b87b1f4d7d1714475c3a05916620a4fb2f089a8629bb0857780b4aa01da9b1f0308eab9cf6eee6310fbf11d75b0dc6679edd83924ef40eb6aa5784a7eeb869dd2de008ff38494cebdf8ac8f0f17c8fea2c37658152f621ba120b4db805043129428c5b4681017fd2f68c25b4acfeb2755b8873c06be514eb493e7c95f6288ce53e000f68c58a95f8c2940e05759cde113b40cfd95abc5ceef2892352ec3772fbf181dc7d8347bb1fe3ed7a8cfcc89fb8ba7becaf1e283e2888ab07fc6e81721e8bc08e2118d10afacac1b009b954fb5efe451ac2b09a0e4e6b1bcca160bb8431dc0c42e602eaea1c006fbf73b2fc810359b64a810b3fa029df7f7aebd92c07d654b8668ecae9856f9c913980863f4936c797c0a87f1eb580f24f84f9bf9602fa03671667aa59d1de23ddedbcd84b179605c1e65c994bf9fe000917cc8a0033b51877a6172a65c10e08a8a8bc3bc1030ac1e756dec6dfe617ad62ccacd0f885882a6f29340869132f0221654bc8a7c2549beb4bfa729af090495bb5c200b4af90854ce92d080590d8fff812b485cf9a19b96f63b62cd7459e629a10feca79a1baef8dd49db876fddc30d4add4289ab6ee4147f7e392a1ccd247a88cea84e1e123b4bb582ce3c50b68455c357e58a2fd296ea9941120271c4d58783587802493abd8340cf5eb0f512304bc8afba63a4c68c40b6dbfeeba577d51d20d43d5ffbd7ba710c437703227f07963a97964fc77463cd3de03389b04e043a1dae0ef99383520302defa15086e80f7db5d121d400530c1e1451e818f97d4e384e26194440ec4326c359b05f040ee493f33531612beafeff680849e0cd91c361f636ff34f88a31cd1c397d16e2d60b932998730beb703bbea5a89c6f193553ddd16281da6577c765c77912cae6388581499a14c8b7d3c629191da0856f5c0347708a3e4fa1426918ca2ab969d84eebf6a3bdddab71a0ab1a289e27ed1e6279aee7ab2b593ea0b87c40b6ffbf7bf2d52297b39371eccfe9b988a52837ff86e8df2a86e57fb35a949e6941769b5d43c92da3e019219d49b4acb0fb1dde66229b07f088a182dd8337b99fa8da475a16e9c8316ec0c736b6ad33fb8a525025aaabbb2d9a28da89324fc2b3722c16f3be6bab10e55bde196e2f6dd8417c1bc0c8b08a7b6ef1fd6079e81f78473aa0fa594408d80e6b1affb246f3578eaea497158c6f34d49fcd637b5142fc1a1bdae8f2647f54392691609ada11813d6ce6e2cfcfd85908663173d582a398249ee1c04e2ea15aa9f4c108bb0127b2bb0f1169bff178ab300d90cb87d7f80ac2f47381a86da48259094b8ccff6c9ab933db2c9be5f234344c77d240446442e095b6e37904afd9676dee34075fc7b8dfff72190686c2b85c00bbeb0ea7142487d19ba8b5fb28b7ceec729a08f7c9f7d8d5f60844d09dcc1f407afe1623b80a827d814e36bbff6d76dd9417acb7b0d74d8d2a9ee84d3c8b40886e90189b3d9ef16a2b6648f8a7187eea5154808a1b3ff8ad7f84d38f1e837d63afb865652eaac9e51bd98dab23bfc6613f5ca202c7f1abaff8b724aa3baeaa5ac76ba94356a87658013b345d83f56b98442cf58484a1169875a0fb7081713c1fd46cf40a93d629c13df2b2236ae2fcf27bae4249439dbf11ddd060e00cac61c9c202492501c987144759e818834450d64e91983da5b29eb53682c3f6337788645aa3c52b31977fe266f59b71bb345a45364c2fb54a302c26e4b95de3299f4e6321c4cd69e612b548af15ad1cdc4bdeb31f96754cf289b1208e175124e00c0d4fd295ec93cca7dadc15acc1a7320df0efa092270b92bb940842d00e2d8f82e62f8be09d1745756115c3d23065643a02b390a4b5d821c7edfc9621f988047ee680e3a15a643e1cc7ecb7d30a02020e4c0cf89bc0949be93d21fdce0dd2356497874844af082761e624fe0df70d3ccf40c4d8f102eafc28cd9375c8f7272d6e87fb47cacd109ef1186557cd8a0bd16856ce973951ba1e0c73f836ed714999ae454fad37c5b578f6c36f50c8834b96e5c66564316a6f0f94f79195452630f40577df7d1be891b3bc54c3ef49a3ad4007cbc26632f37d0bab2b23fb526a225d0b9c60a28d09d3b7150f2ed44deb38f84adbe3d8820a97e759b2edb00367ec832f9d8b59d7222a2c784fc2fc2e2bcf2fa8ddd05adcaa2bca380ab711b3d9a3b05ef5feeaa14866903326aeed52d475a64cb1200a4afba53f22d491886b691c6b4d831506f9a2fe8982c5ca2b5618c27cba8d58f717cd719f0d0f84bb317cf1e898273cf97bf185e93c580101d3e8256c28f7c264b3a87998dfd762e20b18b1d40804dc5468b83f715dd042b648a322dc8a71038bd0d667313f79738f84abe7f7e3167574b96def20102d0745b2302cefbf301d71861e206c7aa038f803ab5a4717b77909eb0d11b02decdb7cd8f60581754f4c41a96fc8092f64b6e2d340f04f7503960f40c0d8a9d0e1efb4c1858455cf5e734d03e76fa7cced71ab0c13790617c724e50c8a7296aa586ee5ccdeecc99c03ca892650b40d43a731c337d7b1a820008cba43b97e8d18644634b7e4a780406824f9558f2ca757645b7c940ef66b5d8671772a68004589488726ef0f3f1fef37c58e33d976ab3786635583d70cb815d87278a3acb9b9821f3e3ac82e89a71a416fb6635c1c6f769651085557eead13023c5023d6650ce772482466cce2e6934b2dd3f576e309a0a18e321f11929f0e61fe511a24eb13807bdbe1714f742a2d3d91a0ec772c27c3734e80cc1f92afbc4c11719a5a6aa2ab2c6732677b28070ca1941b98d80b2a3b0f5193d169468418a6d3e8fae6fc5a353c3978247f1681149f6945f3df8563934b65e683d9eb8e1ccea4d6e9498416c64ae65683fab0053aa2aeee715803cefff105b0e50ffc8278d7dbff7ed51e27858cb1da85072ecbe254778ace058fc6e21c4370cca32e229dad08d7f1bb9610d8966d4f0b9e1c563b1951156dc2fca96963f68f4e4f53e8d9d5404c8d37f76f49b97498370f1471b3af2fdd383de0a2337b2e798415e077f12ea7a038ee5acad4107b9d7de7f1b2a4461cd01eb1c12e952d71b4960c8611ddf7ab630a3a38be5540fc67f61d67f30aaee44c5da6c70667b928e504de5c6b26151c1d71805d98e910534da64a81d365dc8090546886f423dd60da4b9c0df406fef9175861606f1175feeb07b587ea5455187d190b0c5866e3554c57564690e45f4340c63fa7d68281a00ad4d9740390d1bc04bbe7ab56d1cdc1c61cc583f7a95092693fec3db82a6bc3248eafe74805377252eb9e46b21e207e46e4c08f049b978d0118538d12034ee4dea7c6cce1a9959eb91e08f0ed02ef2fbb43c5e1356f4bef77a32f98a8996a4e87a57f1c033d4bcc2b871633fc69b4843ee4de32a614d92097ada44990bd02bfcca0629f03c941b9a51380346d8a60f06142ecea418e8eeea1de28d4f7ca8e6a35da573dd1caab6e4d166a547e04066a4af937c508e7a35b7ff71f122174cacdddc38fe827af0d3e7193877f70a15fe0f96971cc4615911dc3b932272926cf5a972866c4f3af27edc2d21e9dc1eeeb6f9118a4658ae907ce9655341bcb7a47cbe853d38859ad8246d3d0576439042f070ec2e15e39f96d55fe5e1d74b05aa36dce1cbdee64699e553a0177f177813c3378858774e720d453308bb3b3625b55eb3735a06f8a48ba6736a97dde589bd581c6bf1a03f623fcad793cad8565df3fed6c0d9e497b28271942a7c6571ff361ae91fbe591aaae4e5240b469f95b4c1258228f55578a7f5773b4dbc98fddac74223c7b51367f2c4e87227ac1deaababd960801d3fb6c312569e931d808c59397a7e1d1d40adc22ee1a9b37f69293401477e317afa0941109cc853d9a656b993e62523af47498c8a40156d3538d994ca0354e5671fc48d7038d89515fda099f2da1dcf5251e706709aee5b31cba91c1babbd379ad5a90c07a36d2136c965827bee61a7b26cf0472b22a2593bfd11c7ce5e614e07c3b6a836c1709e277b87a1e2df812f4fa529986e23c04d08cc3dd1057e36c6029a6a7e09d39775366c6f7af6b2dd6b8416a86643b9d20d313a40aad4e3c3bbc9a01b425dda51367c8f963281b94d67c8b84bd10d31530c6adf2b273c25f6717c80e53bf75f79ae0e22d6db49a11ed4e081749c981cca05c544e86a2837f8d8687cd6b292ec0fa4da0b04f43a7e44e41f0f3a40caafd9a4dc872ea4b9f63ec9416dd44830cca52ad4011f906018607a826984480fb82f30b699e15df0cc0ac8f5de7e8a9a6e5a7808d3468b1c10a17651c24330562070f57f8d395ee3c6391d05400b9877e4be6d1b4051efdcee21f3eac72d000c6c1e0aa4ec4f4277ca0fefd50c2985b27055263c5feaeccc4a41e8d1a6db4232ec1f513092a976bb84173884301e5348ed65dc134d1c865b4a4d7141dc055e3923308cca9db39c6a413f0e28b3be6175b7678a1515bf9e36b36cb3ae587d11a4f6bb5a113ab6a54406ad34d818a655a01f807e77c1384a703dd1be8fa28b941f39ed64a40d6def8b66497a7e217ebf5d8062326ea2cd50d40a5213cdefd9c05fce29497c74fa7fa482528a44b831af34ccfff171b2a22f8477160c028befc7779c735c4bc84a8da68840c860e095676e4fb653c94d069774177bc8270ea4aa32630892064885cbc9f685b68501285f15c35061a4b399f2e3e4630fafa7d32e23e8c48ca68d5f9905600112555c781a4919d30286590aff176aad0398a3e72f450ac6ab10a031ff65c5c51a649b9fb6400c459fcb427121b9f861fa3da226ceb288847fb69bcab596b7fae31ec31b207aa13cc50dd6626d39b5e34aea40e50f22ea3ea7b7ff187f60a5dcb01c74ea2459b9d248c54df233fbd8b6ca951b27ed11fea64c10ae1556038afd3c56d686744b0fa84720f436ca6d0ac232a3d47676fae55887000fedaa49fcf08a79cd58cb69abe879bf6460cbbff0e12258390b83eeeaeb04b513e3ae29dd522b3becfee3cb1127a043dd30d00f1697d58e3c027d1f2c5844fe5199a5c25921ff19c8611b2febc9a3b06cbba8bdd65c750df323c90be66d77cce3260c75f86abf43cf12ab7004bf1cdf8ae34e0842fc1db868809fcf84db62130644ed13e4dcbf3a91741d0345fd5f29a16c6ed49b40e848a3f018a4bf324d85825ad476210430a4a149c53aa7d395848b28c2debe011bdd3e3e2b1118279d7774e897a4a4017bbcb2668fedf1fcbaab166e6f829f67324b936846df3988e1fadd519ea75ceaabb487ebbcd1af09c7230de5abd647c9cb92e114404b2a8d3432270802bd35ae25c3a7e72eafc0b6ea06d4a06e132b0d681a74c84f2df1069c409d22d77086d378d55426b5e237b82f2aa5f42b7c6456af114b1474303ffdcb6f8b12da6ec7bd897776e9b53cf2e824f3b197ae4f66a2fe31be5327c105200ccf1e0c2d34b1ac53700ea5943901fea92261cd8ee99a0d9d659d2455c9699659781ad3dcd4bebd3de55d336c36e44d21ce7aeba1baf96542580436f8c00a86d8b1cb7759016f975f42e92b5f0ec0c5a3b693f97f91c16beae56f7e4e34bf95f07b24db6318ec3d85639fb219775f5cdbb09e137b8aab0b42a1b623e711f6a3d106e1e4ca22b1ab21eb37491f10f4f01e11d1075f2b8372d691e2d02dce9d9a04b49f68539390468f09b0799aa7320454f3ff3b758d276f1c8d08bc0470c3294adb00ed938fe529c22ccd24f8ba83768da9fa09da7d2eba1552ef5090e8b96113d05689527e9a369a3f402a91cfb42f19bdb62983b14cb6d77348dc13a8b5b361dc21f87fadc355a7bc4a1893b9dc204402f6d81f63842b4256b82254190023d0bc48ae4884e1f474da73e8edc76c674e4b50a1f37053bd3e689cc35ed13ef740a23204a727787054c16be0002cdbc8932244e5c5c440ae401c1fd562d963e427e214beb325d3a769d5761c5e031fd2275c085dbe65261e4539505584e66803a603b7ae40231c828d706bb6703eb5281cc5e3fcbca4b257eb5983b9a07f4cecb1ec180cc5fb7105d460a22f1c25edc95d52b5960f0572b9f5bbdc1cd46ceb66a5bc2984baa7dcbb127166c8ac382186d1337402b8e619848fb65a661762901c9e626c22edc952401c56cd19184ee73739b4bffa4266fba52026bb009baf494d10564c216c0e3b05c67c0c1c07f49e4026013f5ab74fe7c3a52fd16f737b33eb04fb4ea11dd502901f28e1ae98d19da4246a36f56d63aef274b96161346eeb7f0b6ed89ffcaf392d70843ed663a075c87e70d5960107e104af9895628533ea46b433a79a8d3057866767568e291a8314fe4d93d4a25505d5ab7709563c8a91554f05bd1573de0ebc0e0fd102783a1ed3e48530fdc9b668f8f60cbfa6d907703c29c1fe1faac0e3d12a049c90061d3dcd8cc3e4df4295cc7f4a45991903588f97688891a02332551d503d7248ba8d391639b851751ebfce16c421ffc588fcdfd2289c4724b44b894231f20c11ec540bcf82aa7aa4348bfd68490bc429b465d60f10731508a7691b415eae62ae26567e4d968df719e966321689c72af0c55150bd70543693a59cbc7faa8702b0f6a5395c4a42d193fe44645378892f77255bd7b204743dda5956941573241016564fc8c2099385bfa47712550f54bb7bf46bc288ef08dca1e3d41430e34e6a8889b3cac190146986787d71f296abd3a8af9afbe87643ca666090e68cc4289e863d6ff48f46d066bbf4f5de8f94ab7ad1acb1fa671a18886ff3d9823d9a9f7f36a1ee672e922bf96a1b17d1550cdeeb4aa1a360193c5fc26e1745c44e3fa71a65ceaf41f2d0f1eb07855b40fbd7931c71fe562ca96cc34190c0942d960be0ac7a078827e1d44537d37e4399b9ad5b1d776b5390b8a5f8ab9b915d06c288f433a7db86453530d1d6cc72c1ff475738c061d9cd47b735b3a65d27b51a975dc17ec469678a6136a28e003aa46b62235a40ecbcbe02c432aa40a50b8d899a9bcc0171c5b864430858a2002f73e07a7f01ef4a4357c92d438f49bcecef662f8558922e3aff2780d83faf7933d2316b5146d17c26fb23d00159f843ccf985c8babf019911107ed65d5d5d1a3634aa5cfe6d461a89ee15208a6644830ecd9523bb9a3087c9dddd6cdd47c02d132cddb33f9a1fc710c523cb490132eb7c50d836efdd2c1fcfa61a888d569e51acc435cc4817f56689208b60d982e7303a647221289b70e4339d86b7f492a46a32928dd262513954f8c069c51999abaadf76200e33457f0c4c0c07cd27884fd26d98ae8aa11eb8fb669e67e8caff9c11b41fe6faaf763da64fde20dfa12090c8d34b234cd32280de50787331ed305256282c39f5194ab7dbd7bccf5cb0787080cc7a09d7f0621c2575fd3ed3c23d976eed83bd154c794c0a95f5994bf8a6542a5c6118d1f4dd67ec1c43d3e91293c997cc2ca0f5d434a07e189f8ff21c135050cdc38d72e3200ffd198c12934f9ff57e1ee0d699e4d17e10d0c654bc2e940567c5432334f76243ec1cd82495f759ac9726f4a7bd8c43997835064ecab0a5d4f1dd0b8c4a22b457cc08f021253d9bbabf0cfb505c3e688d8ae828ddbe81da79039bcdf917860ce00b0cca2a43b1a9954515b4aed087ed4b97456f2908067a402c692392ce761d239bb2ea8296b6530b82cdc361186cafe2fbd13e96ee8c46461b475139d50dcc1ca0ed1522cbbd493f5da13a41ad6b9910b1b00b295712da4f566b692dd30c71aed2951b0240912cd1f36f3cce35530551d0b85dfbaccc01ae88b9bdb659bc4c6d5b237d6f314c40e5a7a8b0f8345eb3380663b0e581530d5511e4ccb0b052353bebaaf7b41134aa5db3f88fdb373b3719a6d5e1eb72ad6cb4f50864f476aa176b2eec50eea5439ab5714c6b426c32655f95282f9169a4d7d9b26aa7be60acd9dd0340d9b64dd1717fdad6f22617dec6fdc63d0d59aade60c954a86417e1e6f6243055ada701b1a36317c6644a6e6811412d744e5ab4a01e6ffc6c00fb258bb0ca47ec5a3e8515d6371cc6342eef7a2722826d6375bb2936cab5f853e6437581082371c3ae11bf6544bdf8ec43566e75ba063e2abcc0f387938cfaa33091e4305fd262ddab8e9e2441f44fc15f5a47b2f5cd4191d4a08cfbd94479eab50bb4d821e55e4048377434e255c5fe7538b63cb4ec0c36976e44d2ae6170788c8bb2625effb912037b1dfe6a7be1215bd56dd16bee25e8d7c841e005b05ee2123721f558453348628c3b9dacf112b2f3c209e770e8fef10d205e3ddf93b64d0a8b91a51fc8de3ad250e334b7d191260303da12e8536eccf144f42e5208578714e0575a26595dd6034260f9cfa117f29716fbc5c6fa2ca4bd37157980f70e29a4d16b59db3fe32b9c9cab7505882e8f98390ab33e6dbe7711085defce1167164bf2d4b985564516250cbdcda6711d53569c1b6d27673c65975c69bf7a832d11c5ca5298147183d4d1e4d23e3fb1b97d0e7179182c427b6fd05ce8770a5a29ff3c70690f575ead5a96c9baff0913ad9bcb2113b493bde1804372a1205d2a2ef8a2cb7d83fa839d14f0687b3158a3a0eab73ddbd1fa0a85fd1164fee0f69e12ca51509e1a449c01271332a4c2d3d1bebd409782008d06972e32bce811f884717f7f0a6aadea6cdbb32b089a7d9d2d8f4b643378fbb4c4fb6909ff069236cd2ec4a277794c8ca5795b4ab251caa04c4ca6fb95d56f52624f380931c109cf12a2dc038042910c543b728ce7b84d1442ab6e5ed2179ab830269de3168710d190bc94044838ee2fd41237cb2512f4218c10a60f42f984ff26fcd223a8cbf400d2d19baeebd7e34c451e8436fa4777877f1b8a87e62ff999aca32162639eb6d390b3e998a39034471336ef707d46ead2b91eab740eb6b85a2621fd53a673a2e8cd642d5c9228af0841c9ea0206c2cf0ce30bc372d9a148b1220341d220deaed774bf63b2969803b1dceec6a2b1e723760b6375ef745f7585625107cd383c4f9a3c05040cad6d103170e8ff8bb27e7c9c2a412611e2aadc1f5088bdf01fa3c4692a4bb484a3c64411540a1befad95f6b2773f4219b5e75c6091082e886fc71a3b9da294e87c304c582712eee6bf148ea49def7f0e5244c0e88d38474b09cac5d5db2a8a3d9e7835bb025e4041ec4bfc3f7fa935d9c2c158221b6a0aebb9e05d849a9e60156ea93840777c5ae5abdcd48ff96f65e229be8c66bcfc0c163ba7226bd9a6b00d0ad4cae9f7f95fcff86325ab4893edb888986803791872e980e366db4795fca5c25e46905cde60d713bc907695fd87d09da413da644fb5d99f17d8135e55d82827f304d256b2c194802fa93aaa5ebc3c6793fd6d61c9c69e8b5b48bcbfbfe355e56e0c66c39264ca000ea21879890a6c10fbe5ee01bed060ab5dc45be493aebe954bfa0d39d2fa68fc53cf10c521da4f955dbbfcda0397d04e88e21bf46c82f80e3e740bb7a7cff84ce6b04012abbd3f1bfb31114a09953bddde48831f1efacb7011c66661c0b281ee981efc8b06b951014e01210d4c5af4c9e81d3af71c697c82933e162a11d8c031b5810a83c9ef122c00a1cb6a444c4601556ec1c374a080d0cda9ad9469f8f6fe9332a87f520af564e4fe49c9aeb84cef9609424089550ddedbbc5675fa8effe5df0aec49690e92049490ed9f146e6e3782553391fd49efc158b869dadde0b3924af8f340da8e58cf215fb1c33b7cd5095cdb08f6ddfd168b33f775922a858247883f3b95c33508f5523f4b822cf48256e1f4f6247a1f5e5f3f3239810ab3feb69b6156721b88e81a6d1d182027ce90fc0ff93057f27a49f473a8655366c56f243b537c41fcc0ff0a263e5c0756229f72ca48e71cc63732b12fc6f9523112ee05bbdb276c73e254c4da1e228b8852ae1866ab38b2976fbf7633a5bc778c858dd8439dbfa103f52a5ec79cd990fe2757a5c127c76fc500006c256b6e0dab6339a6c72dfa8e05d7308543961d5a04a845443bd31562e93e591bcb70951814810883a884a14b33a388ea70fb8e723e247940f676c37fc02bbe4c839b8958e8b3464210063948ca1cd37be2aa79b3733308e245133fe6fc365f0209424163f96a8739f5cd70eaf9aeb03078acf9531e1dfa97142f8a75d54813dc728920d57de20e870bf0d422fd83659921b62ca290f21ee92546d8fd044231b0b3cd8adc4c201dcbbfa71a16002c40cdd0d66462bdc45dddcfdc7c03022341ce6c2b59b9f96d01e9152de511db959ccc7128564e3eb06dcb10906dde1ae31b242ea957c780a2bb81f3b7c8a5cc634ec418d63dfa5f9307f79b5e7eaed036d9dba334408b1e6098e5216e715e10f4ccd2196ca8389c89b0f6b82d0df9f95b968e1239410f080da96c377f4223fbee40b3e0d115941eb10e96b8f17c6f4c106dc8b5d00c19a9afb6ae7881572159fe135c5cb01b437f5ed6db97fdbaa0975ef4ef42efbfdcbfcbd37f91629dc2e8b1e64d5a91af787f7dd32b2645d2b88d63f18f18c84ec607d69f128a120d0fefbc80aaefa91b99011ccac5f708dfaa0dad80ec32fbab0ecfc94d95b9560671f4d3de224beb13ad5a3a18328765d9ed0170020aa5aadede0881d62bdec16b916688c3cc2c17d80dc0f1ade98af050b81470aeec1f1888a8aaf5ae963d2150551587d4fcac4628643ea7fc3fb9a51115ac8950ad57cfbb13df1188cc79a184aec87eb4c3a9d7548ba3f7decf6e1856021d5c1c828215b3a99b1284e3a08ad6a20ff13a3813ceef8b3d17562ff82bca3538a1507f168e14ef529235d72b70289e60a32747526b9f63617c601c0a84cb2ab023704dfd584b5e72fe07376384ea37aa2dff790a8d021f123e247f8895e5b0b6938ba9e8715591c57ab395422801157564a0232d020a01d567456431673dad5c9863b76f6268ffc0511edb48977270d3a89d4b2af80c8f7002475467ca832bad09ef5d686004fbc6e48311c3a23f88651eed2f856e0d16f788a2656b347b4ab8d57a67986f6f0d8f5d310242177537810f11628b1d2051722e1f0b293303a0048394de4e7d1e1b9fc045a598af14928ec551fcc78d8f27061045ebd2803800635d3016ff83a73d24d91e0e1b9060032694333d82c9da620f83119f247d2f5139af03492c42d78a0eda02924c114e4782875118163aff3812c7033960ef9c25411f77461af2229911ca0ced29347231debeedb7018f8a4ac16562211192501ad1ef304a116868b60982e1b9360546e81475f28090f9e488747bbc9b8d2c8f125dd012d3394f7f4072a472ec2b3859437fce3624cc9e64bdbe66b48f87436f215e55684ef3c8ebe635b5e828083125a103bdc2300f812b55bd4e83b44816061a035b8a5cdc99d5614083e5104fedfe46b25fe3122c63eecd6655c1384c399581accbf4bcc854808fa81d90f3a88ea7975ce9bc24d34bb1ce5cb88361312ec5daaf51dd02b7010acfe3bc49a09a224b76d6bc74e6dd74e3c0568a701bace266d6a1baa0d57fa65bd9f6b0817e7273b0d6920749271cca513eaeb1d6fd0eea98519c3c77b461121d3ea827e95cca0b2e01475f4bc1874b5b4c2a09386ec9d7ce83a1c880c3c6f05c83e904c81b78f36b82a4437da463b7d42b0c403d7b59e6f127829e5727cbabf913e6111e99950b48ceeef83f5469d6c706afc902c1a51b6bb1c6070604cecf4346fb113bd5d82c8d1281ee852dcd1d010f0483af57d0455ca302bd4541995f87f62e3f972f006cac87d4d4c42d3609ab3805e3c207f96ae18ec7d540bb0a8244094084213ed1d28e030e9d7f45bc6190f09d909787f7ab34f68514ac9d493a5d403e15a60e54eec37a62b8d56b539dfab92dbec2ef0de2931ca0b639cd2ebc30feb776f09a819377e0ab6ac27434f305f490388429fd2a596ec6e3dc50f12a85517e2048fd59dfe51d91aa536229a8801c4ae548c7fff362adc5985e5e61a2986da942a467e95b27244d816dc1e440dad5c6d4b2c878df243ad0afa668820035ed019a68e713ff3b66c759ca5c1d90776fb74aabf3f6c1ce93a13732f7a7307b6f9b32f95694d51d3ec83ea2d5be6a4154b258772c9ae3d596bd717d6e8ef20ccb736c810c35abae0d29a80dc400d81a610c40d59e718d2d48379a5e57432fd48c37cfcde69388a44fa39639889527b3d97924f193aa2d58704df666b681d48d84be5fe73259fff1d0b1f2187563aa8e90e3d84a5f649610af14211335c268077b974d575327a2c27f0444b26d08965d6a965fabc7012cef6ffe7c3e233b5ff07e4f26b6b2197354bc9a7c38025b7b4ccf90f1560ec22ce1d6cd5fc7cea5759405fbfa5b58b2b12ebd0f1ca64f91a04f334e2b9e56015ac8071b11a64555cf3350a708c851408763805b276ddaccb404f24bc4f73d5896e3691a23081a9925778a3db09f100aaa6d2bcde75ab55e6d0df6ca0fc740ef473f72a028bdcd8060779ca7bb4117c5383eb953bd949e8f8f6040b61f787341eed42bc8a7071ce147e82068213e330f2066ba865635c9633cf6cd7665bdaf787a69faf77dbad7c8fde1c5cb08102aa871bf2e9404532bfd7be951c6e0c7e74def52ab43ae63b138a28c9e89064e84e064012f76970bc7b4a2e8e1d5da6d56db64fcdc91e73e6cee69d00a266f4cbf9f092ec5a2f4dbcbcc388d49e0982cfe1c6b81db911b4c09cd79a86d9f0c2d7d48182a402b0022a7b1ed7a3ea7810bcbbed8c2bad34f6a57f1b7563b224bfc7a735dab575b3424dba21845029a63b1911f40e86dc53bead7df8be851965bc9e23ff5eb8a073dc52a98da02c65a69f465b7cbb5cc59e4c218c51905e74132f2efc873c137dd57bf96792767c0e9cf8528c11bad5266251962c8b8ee8a2d04e1c05eb7826908a70de08d8afa31c9cdc3bed9b0760761eb6900ad09ed42bee4927cc27c091edcd967db8352a7bcadf0384f055f9bb9ab46c7b148a4eebd94a337ebe4371edae0737641e58eb402808e00db1a3b7b3aa7f9d4a2a38f5c1f070ea5e89b50ee1d1dea5e6614a893829b25b8133ca06c8d7a69e0e5c728e0674bf59ca2e680b63c9c68fbcb4c454ebd892db63b89405b0e7ece63bf77ee64c435a02151cdaf50330f8274e8bdece900c06291ec690b47dfe42b210b937a0dc32949e7107e0ef53802328e774d777422a655742d7e0855776ade5aad64ab128aceb58bd2e8c095b651e271d4d374248046d69790e939f01c56e96f5492078fc9018d4942f1d18d448efb31a736bf2fddfde4c72e76e10c90e88c477fc2acf42f2cdb024f28b91e1714d765e225ae90f610bee02ea03018c0046ccf203621055b97c2dcfc6fe4d668e196c9f627a70b17192fd376576fea257f95c0e5e4a561f291eb826e8331c626a13e2231b0de00bffab88a9bd53ac28ba4f2a10d964300ef59d31a14c33c8bc1ffce1551b9fa51923f5389212c15c479c91f94008aa258d72901a2e54149a4f74d0c85bdd290d110846e3a520f24b86543dedcf741b08e6fca5adac28253f387822d9a7aab87f5a894e57c26d3ead872806b336d306009896c319bba0a6015e9889d3fe6e4099b5d2447f9a9a6c7b3dc2c2f48014881534841379f8f2eda7dd6a31680178807d508253cf78cff8741dcb8205e087c401e000342f6324150348b3936342912410497a812e4ec6bb345c312808309eb7740f753e317ba931acf66cebc5d2bb2b02687a60158116ff82d8394d815d8a21be1a4bd80220b106902a9596401e45d2a032aaebbc7d602f11ac28f52616e8ebca664719850170283a768748f4a661c0c8417c56b38312cb1325ad9c23e4f73a87c91819a82844b7efe701076b76db9697313ecf682e618dce56ec04ceeef920fc7ee3f7fc0403a4d0cdceb074089bbf394e3bf84937e5dd8cf568b0166359c1f8474b7826483f2a5eb77b3d32e0cbe9ae65c67d49fe641447e70d41f5cb5f256ce59d7667559bd8e92092ddf26bb95067abcbf1371562bd6fc85bf582850cbfccf5ef2f3b8d6b452f2bb3ed3e2ad1c5a8564f70336d19249283eaa4716b847bfb2849896834321a1b0c21a98e66285ea1aca8713bccf23eca1f73b5a3648fa0350ed8709209349261abbaddbd434b4458c16f559e418137ef6b9604431d4ebb8b49fe92c6dd5424921aff262077657d3bec2d26754c3e0081f293c200e3458ca1d7c490a11aeaa0d74bb1dc36cc263d734c3a88074f8e64e0bbf896d1639e086c23553b166a71a95b3949fe63315ed7dcd9afb07765ecd0ba5eaecd0122d9e1a8c1d884bcace0b369d5320a14a747abe3212a2e3fb280f2680e7829bf4fdee34602d450c593f5d193aed87f166aa911aa32f5a91cb73f8d0315950b7ad6aa19283f15cd03f69d82ceb08da4550f8d3b9a4aa99a36df12d5f6f9c778c889163d5b3b9ae14d4eb2af0a2db6c89c0c4a2cc404c7e49374a12d94eb707e31513adc91e521dc7e17ba1942999e09d4a7c9dc82c7efbf7d13134642d3f5653ae29cf7be383f51f4acce51c87c6177e7c888681c4fc25d766fa36518938070b4b2f405e8b1ded3dbd608921ee617c3b65bbb81097475d45218a368980d630a72190b3a6da5a36fd5aa08409c1d96568ea0e12e4d132052e42e33ae380ae51f3f1e3d7c54473393d401bf656e5974b516048459417586b7b8189999a1992fd0c157e5f19838532d6f019ad79582eb34c823c08133560722bf2f06e2fbd571443a1baa0c17330bf427d96f179c1443d558c2d74ccb6610204e3597a54093bb3dd6356d4a1f39cb22d5050f954e934316037c8a0d99f16c5ee2502192506e67fd0452fcbca117a48959d2c80722c31c7d43871933a4c7045680edc1564cd65a4a0327f0d82e5568921b43898441d56821b0882efaf1281e23adc93e3f136e8e83813557c56a8021981463d45dc09b9ac43156f03177f85b01a58bcd8c83d1bd98c45d3114101e66003ba6a1b5abbd6d64fcc213d32ebcd8edb99c7e4cc9ded06a710deff4ce60c67cb3c1c35549e2d55e29015f1cbd08b694f30c8f279ae94614b60c4002352ba55868d6488ba2516195e7661e5ece590c128759d4a45627866c0dc08dda03878f0ef585e89f318c87489bf940c7a25fea70d94be9c368b2f517eb6bd8419359b44cca2bfcc342f96b319f2db4bab47c2f92baca00239f785dabdb69bed8b0e1c2ac814121ff3887a657037d3414365ca56d962623e1ff1a6b3f558df5845423249ace115c6cfa23abe3287123968ab4c121bd2b5b9ac0ae555982cadbc26c65e2c9b04fb78bd722fd0b1d88660473e1a67484f169955fcf67f85948fb4c66503627153115a979972bb9b92cf289be4d7868304aed82ccbcb49e274f1fab0accfcf3f68796dd12b91f8eedb18d00b335b5135be0a98f5201cac0521d94d9fd59f73cc0b74888c44313c24d6381699d0c1f0bf639a683abb1479088273f665acc4f2f5d54163ca34a5714a511d74656346eda61ae0f2fabd6cc60d189bd535a95d1a7d389bdd673101027d386eb32ffe84ac874fd72bb9fef3628ff8f6356a333b738eadadb96fc0212014fea2a6b24da4459776d99a83b476643d3279f617ad1565db9054b6c7fa32720c0a4c6773530d8549fb9a358085778f869ba98b77dae3cdf404bc23ef4a62597944a3bb43c11514aac4bc6b4876c266eabd86b3c91bb1eb8600f54bb7e8aa699a766e0816e4a716fcea850ebc434b6353cb19115cc79975ca3ea5625c634ca54619a9441c3dad8422e60da5c7cb7cff80ede0e931ad7fdd7e34defc617f389e2e83a04f5898907e5a94c7e986559917d48537f82d01c72b154ddf36964ac4c047bd738695c6fba8a048e1e5751392e153e70877ccbb05ccc35e3cc8c2b00931a25ec07190361c0fe81f0056e17d3ec24439f341b7632c893258acd1ed3bea3695baa78eef2d2f27106e52c041e82c93fc030373eff719e05c050c3a765a761a49499abca8fa852791f856fc7a76526c3180587de549dd0dc060cf949b600cde1f9fcd233c0e39475d2715e6b3801910b6c7c15a6a440b45204372c38e68b31605ede8229165ea5f986295fe72fc11849cfd7f168ae3a27f160986d669b32bc570bacf302c0059b6b32172f7ff84785ec22031673410901131c43fad3ee6d1fe4fb2b47b1adc480e68910c55df5f99585d28df94daf6ff8484af8494f26cdcf52614a431a92421baf171c569f9e4af2b97e51d4fd7860237d58dd134f6693b15e01e43354c69ad4f5a3b698a8fa1ed5d654b8d82cb9597275540abd45966db7b4bec6f40c86c6dbd99aa945515ec84d5a9ada1c5a4bdccf49215d88cb123761eba910fbdce69ef20316700c4e9620e14ec6660bd019aa411ccc2571565b01dc9a09b25d593567c9814d6636f8a9a1023dabd2c59ddee170d62fe788e7e3b869e16c2e8bc6e46097cda88fa08ae2b4c0ec43dd0e9c53514aca539a7a02b71c8b8d517a8944b3a876d5dd03d7addee532b0a60d13b78228f115809f9c571f1adbef6eb4a1720c5ab3984d2f5ffa07bab855039db86dee590a41b833caa6ed6d89b7ae6e3d6bc6c6156ad516971697a6daebf6daad06ae2648539c977854014d14e616e850b5a85fe1ed0b0c35ae85add75e426dc99f18196ab11d13d1d57a83473c65dcc8aef9469e11872377ef322fb4b2d651ec85c082d59e603d6bbd113b140766b3fb717594232e4f3210c44a87b73bb7dc1be63212e1a3f85e434cb1e53d02f21d85f46972f340e3228cf82559021bfea0bb0a1bceac13fc33811ba77af0e1809cff8b2431d1e107e9b713d9c66020af52abcde09706a3007e4f30fabd4a5713af06cc0dcaba8d57e4ca34c0906549ad2809ac479310e028208927b5d2a504d6b75f0f380f38549e083d004b5f19e9d0146f08785ad63f544899c8e4335c0cb0fed8e0c893351632c7084351388cdee990e4ea2954787069441440b5696a4c886a812ce31db6fb46fe080ba1ac859a471f130515efbd123ce74b491a13069a143fd06d3c270280f665a64dde4a8fdc69097828e218bb051ccc61b67011eae21c2c2804843698ff8b9cdd904cd33a7bed1439d080e611e74c6bfb1fd9d0dcec0db4266ea75e0e81d3e65fb5babbc1ab2b550d81bf7c2087de1a120aaf64d0ebbda8d49a77403829e94b7b1af830e1b6f82cd17a9a528b5af5014a53517a253ef0a3ae34b4d7f96cd5aa255b33ed4824816b129c2f1b57eaceb17996a66d6f4961c7372261b03ce6277191bc5486ad1d9e56eaddf7d10c91b258c4c6fe56bd292492caefd444c4080dbd2638df7dfd96976fcf36cfbb3b47e8afacf0348a34b8aad204a1da9d55e1da082327e2b44b3c56f0ab154bef561dfea25cca2b03cf0872fc30ac645b8845e9e43040b5899413b999d61e0dd2244288a4b7ec26134ddabf67e4a859b2a58d08450595cb13a19f51749f8676cd02f73afca6375cb9d750351bc800909c7702e5a8ac5056f226b30ad6ef7273e58fe7f2b5172cdcea5f8d0b02ef2ed019c313a8d880ff4fe53e8b085473bd6d1495e968fb065c802c7c82fa455e2e4f13a0f2ae74f2ddb83f4b3b490654c348ad90aca3b344e131e0fb06712bd84d97e0d56cae4fa8fea6fb1504359bb9f3ba438869b8d42d578967443433281a0a3863f0865b70cf1f01c3b249b9c4ad247d0789bb8d26b4e934b6806897fe1ea17ecdb15205e530c68d381b534083f72fb65c0155e9360a68ccd16713386bc0d25c431596321ed792fc9a3d4af632db9bc1ede0ebcad3354f34dcf54cf9496a552896126d95cd2aa3550ac5bcf9feb055ce95e7e358e4d7ad0b86e2e83ef2a077a5cf7806829e154041b158567b80b4c5cdce35497002ed8cc946ba613c86cdde8e06bca653ccd360e6cb54ccd3c2c18949619b92a443c303fb69d357d9eed19866a665c37c014bc4fb9bc001a9094d10f696e243bf1b3925e390c02d0f47d7f972bd931d3c5752fa1d4fe145ac55d1352e68ba7766ae023d530faf4370f4dc359fe1e880a9804d062877704de71f44727fd7664abbb814295c2725562b3467931991cc073ce188c82bbf77ed4a10c2e1913425a0e1bf4855335e17d7daf642343682de4851abead9f43e5fe6e87661946728b541cdb0fccf9a6bf5d7cd4bc1e6521df753e16b6ceda8b5e1c331d6f07ef00d0fdb549d1366c1dc282f8a11a0328a9086f14b038aa36f2abc63713cd7a13731a7687adda731a5b7cd72d04b7006d8f6caa174c111468cdf3020dded7d56695c6256e8897571351bc5cc0978ea4a9e8de2e7fe45cb5a34b8000da11990c8e36a5e0d430cfec7fde600abe122037e80892e3971bda2a5abd4ea2e0dff9afbbd9a1c1e010ead79ff78cf7dcd7537ae4769bd940fdcfedd1031d4bea00b2470c31ff113e62bf4f24422a303379f31b8936acb857a891299a55026f25339210d92b39a6a4171d62a4b73c79a104691e3fba1e3e2d9d24e3009ecf02f742e3117b3bb35e3241d58dee2c3c83bffde14f7ac99d51359fed17e99c45191cf531f7700b7b41f13dd34e572f716f14f1d13fcf17d21ff994b7c899f680a3ecf6863f03edd8533241a63bc5914800888d2e255f50ce9cbc3306c5184f4a79328f763dda61853164588706ec301db7f35b883216b0651e68c5dca6e4e0adcb2103e8e2b5aba7535477b134a2d0b505ee69456f5a09366d55101305c8bd42af6323f5d0907bf473a5eea6a3e9ebf4175e65a9bbdb064819889424d1a1b9c7796bb25dafc7b6ac941a9f1440972d00637cb5eb3aa5d592bd4c571fb623e61af1b0fb0abe1581f9bf067b06500972a1d30d7890b976bea98da88241f5a0cea0b5fb56a78136f47f67af420d25607a6e1b871a9b3f5a69b56453c0fbf757fa581d83c6bef87006aaf960625695aec9021dc7f2c90aa0736ec146cd5be65d138aee10fc9fa196e4b5181a07d002ad2326564d655a5876741bf0123c8bff000d4e112081499d99baa57a38a0c1a748b8ddb29f25b1dcd3480df6446a7643b33afc0e619bab13bbfdc47402dcfa91cf60b308ea950c087138a16af09ecc9e56cafdf4e643dd62d3cb329747f7b48267d9c373ca7380078413a9ce48c2def8ff192db7f7246da38de676a55661491f82a6dd7b79112d3bf97f23651f1bbe9bc1dd06d4b20b384db16dc288ae46191c99413c41a7c2602d4c5410887f33093076cd2b057b585eb1b48330756b3a423889a5120e8e4d4f4d5eb4e1aeb106ea60f7f5abb988d69075c42da161eab98e42e8b262107d27b5874befe0ad244cd310911d471319a30444f6286e43e9a27f3aa9846621b5b48b4feeae22dab5f52d9a10116c326fc668603f870adad6de82d72636027a890ba2f5a4639a1f8819a0b327a1b644f79b3f51b1602659f99142eb51422c10a3f8d8354f30658cd6ddc37e493e519d94f1194b3e56af491a92a32ca20528a225f8850f316c6022a32d48d6228c32f06e6ad3293c401818b8fd73a3deb0078a2acaf06dd411886e77ebaa3a97f3bc2d5efa60f50581891b93b7362f024e080d52d39d93f319658e19b2cf86fe7d8ab049254db0bb9a837727be40b9a80066af210a4a7215125d8bd312f6b0551027921524a3397b6e4b226ac9082780fbd65e494e5d94a9d3b821d3a0faabe8c593ddf60674696bf8727ad354767a8c2387fcbc927c20a26692b77e95e00a91e8bfa9c4d4009b1f3f9859a722035d0d820d4844967c8b6e343e3aa52b178a03b0c2cf7a6ca226c3259760664b885095de3d886af6238956d6de44c421dc13dd049ee9540a40f7ea486591ec93cf1d1977b00bfc8b850a55a62f7c90d83055b422e9e1f5d1f1ce95f0cff58393e36cebd303fd76cf4565133ba7e22f2a10aa4c869c30dbfb69dc3840f9dc5c1bea709005946801c52a2f6190829a27026bb909ab173c828bdd8259c98ab8d8535d84c1064a28cff85a254964d00f4ba2d0cdec1ca3810b51275f71455b6d6eb275f01f4e101e597a0a74c67a708c22b9af751a79a96d9f6c39c8379f7b17c016d0c257d4a60c97d764abe024459c5bd624c9356e3bf9a065e06e84917d3c8998eaa6064cbaab30db66079af90180e2ca5415b587dbfd963093e78c811732b7e9c4581d548672b73579e47c409b9a82ee8db3f381f217cffa20223c4673c6ddc28895bbb8c7b97ae89ebb494dd8eb4c00942fd19724f1fe524507e802e0073c5fbc9aec0a3e761414810fd45a650e9a39facb460e90e36242de56fcc80ba4cb8fe641ccc723b4c7f9443cf2560c7015a3115f60bcaf0fc946eef781ba4071065a38439cfcebf7895465258a4c86fa80071811c858ddad1056b352193beb087c75829865777f2540309ac4d187412ce0a3f99300840a2205f943e8d9e1667ff98224b121c6c83f01ae3cd9a705efbc1e57a1b0650cd11374de0d20088fbb241c4f15eb4ae816678dc1c7fa076093fb80fca627d7676672070b15d0d40e00f9560ea1a9ab5dadb6f59bb74808ba41cd5b1db3780ace74994af9a7b9894d538b990a7f4078a9b404dceaae5bb3381fa361dc7643a6fe58171295aeea5b90bc55600089912580a595885c74befed9c640f0c3c55e67733b23aac38ba1138cb11dbe5d19c5db632c83e29cd624b8acb4a1f870a906ecac7628253f9876a5b71f00237cd0c978a2e0f31ae6d39277776d409e7ffe1d8df865172b5ade4c29271e1b0f9ec6af40e9fa6a8cd6d333b36457b693323b6e0172a07f278ec35807fe3a40224256fbd6399a9a79a3efda3cef02e9611d306472db6f6ff2854ce4f23d3005b21fc102c999db5c4d5bb5bda970e63caf770309c579799ae2db23c486f76d9fc173522cdd16d05de5236315b8e4396462f0dbaa7abce1586a5a68e78adf6f3d509a79bb80e36015d9303e766612df9878a9524a651b7b9988834aafb79a4b1f5a6aa6a67dd8f963177fa05b1f29b7184ead912b97cd30a5ca90b975bd250fd528498c146a027dc120a32e8e1aa1b919e7a981e787a0365d1632a874700f50bc6a0abacd11f770607cf6557a8c76afb132f87c9b20604dae4f693906851fb09176baebdd951fd67b4c43be767c47112dbd17eb985edc96fb4aa297806104507f95d486c8ca582ebb8c0458121919601e325016a0372346ef711612a664c71025d62d263f1ead7ef0ef42a639382e44b32ae2bffad69dc921131e50a45d6ac3e394152e569a89cad7a06eb4ea8a757231a23519e058d2fcb13b4ab252a56c16eccf585bc1cc9afd53707e490b11856bbab8da13f0b7ed9f93fa6ca9ebe1aabd4e41685cac7f1d0731ba85feac965e992b045357fb99b9f44f83d63ba6bb2ed2f7423489c7e8a08405b9b226d7635c82c9995c14119929ab20f0f4106e5ecaa91c55e60b5e236a94a8bde8e84f4222aef2a92971b263d659a5d40e09801638697a57c2d1b74c5d1fafa11c7c6907c9b50dac1d1fee3b91925fc4009d50fb18e3c2a4051ef5a482f6fa03d96c3d66984d65ae382d79c039fd9d7948a10d68409d475ccc91669e35d4d236934a92a2a1960e0fa838f968cc8510622193c76a51c7cb324e80c05c670e26bcb02f11bf8e0b6bcfb951fcb84af5711052a99102de0992b2d3588c7b8901cccc37a34295d777b3f3faaf91ed920ead226aafc0fb148f8c9f41c40d74834553331956c4a2cd25c79a027e82e79b719c24d4ae35c24e90d2838808d77f703d6fb1970debc67c391c8b015bd218260d69fff127c58518391aefad1bec78a338869471b70c1e7030027ecb6858203f796d051729e4cb2543a8da0a293cfb9906879a212ca2a1f95dca71741108f5ce49bed7fd5c693a26fec5c3628e6bfc014c8c8066208adefd309471fbaf5b3f0ff1a15de5adc5e2ddb1652acc6e2da9465cc7b5599b2d471cfdc0fbbcde791d7ac139aac9b67018179aaca3a43be4d1e33c3bc0cf1240d1ef262a15e857af7d38a992ff208cf2768f4eba2862ca921c7727fba20f36bc5b184ae3e283a7889b2f50c2cb7b6bd286dc460286b94830dea90ce19ecad6903bb883350e1324b8069b3747f964560e904580c893d61326f86a04bc03ece06f1f65c42bb6d255fe918344a03db6cd1fbd19ea539b12c057a4ec526556f3ee5857995b5433ce0a02512f87c88ad35573f9bf724f95c63d9658e5801df8fa3d50e17ec0453c44eb73d48eaa4c455d99bd270ac8e9c0d932ed7bf307f27619590dfa467d24f0fe1d6cd35a429a60867fc03ba7f45301db6371a6d04ef8027eba50ecec54716d4234b98e3ec848b9923d2908223caa5f7ffc2b5315b08b229b6b24bf702f1622bcf5ccc5268b5b9b61dba40dbb171667f7446650b0070f5d33ccbcc7f3557648088e28b3ffd7593c759272cc128423e9ba435ed21e485eb3b0ce33feaade15c32322c6ec451226e50b2a8b12968592380f3ab7af11da5cdfeeb398147b11720501e17150e23e13c85439438e4b0d70ccdd6135ced0c1e831bd7413251ab650b2c8754038626b735f3ec45328613e1e8c10777838ee88708dca26fc9124be60bfc1a41b00ad331c16f4117476bee20263436ebaf48258f0bbad0bea5874714c059ebd0df578e87edef9468c45463037bbd1253677a64747543cf691862b140df1b92ad7525178df0df5dc86526c1a47d6887ebf94ab4d79cf362c1e8d89f5a41ad5c5ce8d753a96c44d6f98356eacd5d1110648c85da49f6b95afedccbd8844b79923e2e5de81030cc729dac3e48aa14db7f245bd1c709489b65ea231d2d001a20dfb28fff5d7d581f097ccd5e33814f2e5beecfbee019ca273338a17724346abbf8211b2b54388632a8e483f879210d311db3bbe3892a0c6be64a6eba5a87603f8516a269cfa1e61195232aca28ebfd43d04476945b93ce2a59381c3ca337c364316fd78080416043af08e9757305c515107c9057dfd4e18bd5e679ce573e4f339a7dce39839772e77ae8d37de7030093ec9660ccdaa6783bc2f046a0f7e77b8e76573caefc3e928b9e2912469ae1b3b8abcfb3938a2959ebc10b2b7dc7b6f29654a52065b09510933092f8f06a093e9643a997bf2c974b24ed6c93ad9153a59ec6412f9d08ff386e4c709cad40a14d8d4053cced7c709d264bb8d47b2d08f178ee275656ff90b5ce5ac2ef4944cf1dffe8a9880c70f087e5877f3b8eb71e08cfbad8375f7d3953f17843f204c3b18ed62b02e551feabc6101e9a16f04901e0aa4878646a05a648acc2dd3a556cf74322d4e7186c3fc25ba645cc7bcd162bfab3ca5e2294f01e0158bc160af580002b004999b487e867ece57d8362dce96b5386b38b62ccf956cc572934808911ff991708979e3a4f922e164918c28cd69ed04cc11d2064c32434ff98a444483390ee3cf4a720108c0489eb01eadc216cb4b029e1f7a92174169b146382400cf093c7f8603f83c171170ccaa5975009f980180393eab4fcc87e52225608c29a535b582053c7e56032800e98a734a8e009f984394046cbb071e3d903229f708711cc62525a208e6a0a278ad7f2227f0e8cd72e8b30a8da6cc00a09c16fd0d00e600b5c885c7f9ba302087b9ab9859f6ea7d197991afff6e22f9fa539a2e0b24c9bfa6e43dadc6abca7e4fd95f8a7280c7cf4ca5c51a54c5a3752987ecefe9b429f45e4548c0230d8d8c5c64e42a27f9938cfc339339c9b7d068c29a54d3a2bf8c1b3c7a351e8e77d3a5f188924c6b3c59976a4873a8a74495dc24129803cb0073e00f01ce21fff510f2e07fbe7bfbf95af2dc83fe868c46a494b2096912092949f8114288f22021fbdf948fce648ae8089735bb6c80ec2f32029e3f3a4cf60767b78e565ab4d1a24b966a7f5c9129f6b22eebb22eebb2ae01be173d74864b41300f62290af9ea02c8e03a32b500a1a3c5d83683c72bcbeea92ed570478b36bcb21960ce0c3007380367803d90f21656ff1a4acbfea2221c005421006c812db005aa4015a8025b51e0161803aa6e78c9ca0110f039a1a64d2d4bc4baa484e4a1f1c92ee191cd37019fecd249aeff59cdea4d3f9ff90dfee0e5b10479864fc0a3a746d0267f564e7215f0a605b4e9d23c8df3743f2b8a475ca6331ada90c6478644429210e3966d67b205cd72901d9d9c840e4e901325592638739283347c4b3c515451992996f918a7b0ea0b7d28a4337f0fe70b3645319f599ba64ab2d4b7ae194b2353bcaeb293bcff8724fccc9c44735328fcd8705419f9118f251ffa51fcac46c2198e58242c21093f147273a7496ef29a1a988d91ce6e38e270c45e389694fc4bcce36736c359d3011e71ca4da1f7f7969b403327b934d92092f40269b23127b964a1efefa51a932c13447312c908ac81681f949b3e2727f9835348521069026992e41f0279b283339932572dc6b4f8f9a4e6eaa39229a69629d309084d568b3e5925f200f3254eb9e9460ca7b23f0882200882608d045c93880878c25a146332c5bf44a64c6cea743a9d4ea7a7e874bc9497caeea59ce45eeac64bb9509a93dcdf7f6545454514ff4b4a58be173d780818fc7c40b0e336d0ace336fb9c58fd3b70e626afa5495e737383e95fcfc6ba44f1f56a4b7614eac56ba93731d48b7d23502f16f562432350303245e68ea7d3c92c334f4173ff1fe9acd2195df94440c01c87b10e1fe666262ec6c54440c0f5e5acc52d70b3ec3da2161e678f4df6170901d7709c5c2cbb0a4a935ab2d89029fdaf19f826e0ab61bb9aa64da19f3434a2a56f1b8d5fae090073d8b0d6caf229a0cb356c22140a4b9ad4d3c6f7a2075b8edbe1b32159645ec017c5156414f2fc1da60d067c3debdfe1b3235c7a028f1f8ee8dfa345ff70da84847f3992c5bebf280878a4c5592b9129f341e00c9c7d2c3761ae047fc9c71a3f56f6bf3974f1b90073b8c82fc0eded683ca224cfdf62b016fd09b0063cce171e49d088fb3ea311936ff4383e1c600efa38c01c2dc4f9e5f872edcb8308082b59c0239de5b4498edf77737c9c9b48b2ec12cef25140cf85eb8f9f556a00f5c312c037e2c3d7a34ba43c757c221ff8874fd404a60ea80ff83e2b00f17d32087cdf131c6d7115c4f77501e7f4385f11007378aa4597f2ab817d3bbe173d7807d84397bd1fe0f9224ff2dbcb1cfa397a2a8f3e36565e22231527f5938c4427716168f412c0277c7293a79ce4a7eccf002ddc70558bbe004ff99dc04a10bcf2041ee98c07b07e8ead01b42f053e910c1ee74f1b6a1f00fa40ca74f6598d3e311f960d1ee76b863d0504e80329db70be76806bf8613900eca1cb78f559c17821322971d18264e4e447a10801420508898167a4e4003280ca07fc1250baa6151d58146063870530a0520fbdcd4d84c2254c800334fbcc3e33afa1a856af1634abd306048ac54095b31bb596dbe80865245293c8fb83665d1a3f331bcb1e0bd5846c486e48de1f946363a0598bfa24f547ea874c219d1a8f481dcd5693fc3f39a3a7c0191d3f7666e6437395c7c864ffcfea13f3617d643ead1c4a9341b41093fd2998d3a5599768a00e58bb5ef76346ed0fa751f4fc98556beb8fd98fd90fda2a4b0198c09e00d4d30a2a687777f718191a7172adaa74e9528ecc11a741c554252673e655c36d356ea30ec40e21362a33e37a4d58cfe74818941b951557c5b0dc656a933f5b92404289254e92c710393c00b14308e992d235428b49d79c524e97ebe5034aca5386ce4967a6820a2aa8a06224d315ad3173452955a9415d34b0184f89c97cd5745cade3aa4f216895c9f4edc7b3a22ed8ece1c994d6dc7ca39126d111ffcb9bda6ca1aa189658439672e1e687043df5a422e7e903b14308afe34e329b9519b1960ad849a6e7ec93cc49e634334f4e34ab49f5e5a499d2348d2049f567381e61f2042c8344a1937dba64adf5433cc032481438799c2c98490bb8b6d862adedf4cf10a5c509ce09725f576a98c749071f7dbbbeb7bb2fb3d7031c65a0c53a61392b395cfd39456470fd7b41910f421574f7ed6e706613068eb62b73e5fc450f9ea21ee00a964001f78f72c6a3477d8c4b4afe4551658e2b79c70b375450ac4606e26eb8d927dca6cedc01431f64be5f4fddd72f14ddef4638f569c31d59497a7590e2dd45cea6d27db2a6caa70c0aed69e2b45edbddd6b6ad6ad37dba8a694d5aa6d4f49ab01993511f89df24fa938e23e38c193015b993291d4d6adca09f84124bcc164a048f216a990720760841dd1d459bfe8e32618ea2f5749f46a068281aaa364ddeb4aa264d0a05a63f849bbca7edb249b57e597ecdf6d7f3e5e9d387abe6943d89991ba7c5f9a40c23cbc795c51259323534c2c78a556bad15cfb86a7878464a68621d17d371d43b223acece64377def8f5f35fe23926562d007bc36f3ab57ac99b9a462a6b774ec78dfb978df71a8fa059dec8fc41044781d577dac6a7d932fbcaa8f55fdee5a9b066dbf72e24ca9e4fa2a3776a80c41844a8d151bf579d001c4146209918ea888a880ebf76c7132a74cff86c0e60dcce79e0bc7cf8398e34468f0dc00f79f9fa351d6f21c6f7cbd00d4e308bd7c19c285ffa20783fe9ab20ce28591294fd00753ae4d84423bca00124ea25dc8e306c6b8655f386fe8d1ff198edc83328370a623e61e0cb90fc66e6a1ddf42d1aca1765ac71d73dc7769ec8963f2ac7858b372ddc671b5ab5df7b84d224fbf57746c9e109390a78f1212493ef4f43b86a75724a191109536853cfd151b5364c48d7a867ed7e48c071d5bd635993e35e991c44da6dfb2ed0667b651ea0559a634af86758c72ef8d50388e931171ad9d96a1d40b2a0eb53327c74dd40e6a07d57355c40fa6cd4a312c837c619547fa756925731cc7bdc828340ae138efb9164346d249b345fa3337cd150b8723068563c9271c1f0c4771fe178e2a371c575a06230bdc4f79f470127d3ce2927fb1a373659ca9176ec078847b71864a8d151b5da5b3134deef3b8eebb205e4065eebbbf5dc76df8015b16275b12366fe168430e85825d3286d76b66e68a80b0582f7ab0d3a634144d3a67cf192c197dda29ca5919d7f55cae57fd52dbd1e73e4f2975d1501a8241a005ff339aa31170f4a9461b26329ad873aaf1d22998d5cf58e942cfa905e5b2c4113d9048826e94766127d3edbb4f5f071018ec43ed820b080c10182030319408212e2d3333405a5a5c80b4006901d2e2924a4d29663f78aa0f550a9a1f3c3f787ef00039ade0de173d3ce0be99caf251b51a0a85f342a15029203d407a6464647078646464660a90e577bb6a68a800e302cde55ca071b95cafd9ba12a5fd6b28aa3028558e5a2276a96486b4c192d1bc68343a5d5e47e78bd751f780f03a2bf3b53e17888662d0e783b5e9ab91d9e08023a34f6582227a76ff19adec3f4f2d4b5824927021866813c55165b77fafd75998f51c560a5ab5b6a260b01a5afb662420c109709c04da1ff481a34e9b4e4a299500f88c22c850681b5cc9cd72fd4b5f06e00373bfb4ea936ff5ba7decdfe81128d7bcb451c9e23df4f4ab767121d7d9c242fd6b821205960d99d2a99756b5b56e2db5b65a6badddace5aced7ae5744eeb2da769b92b047f3619ce2907fe40396b5de62fdaaf538b4baa63fcc56eee6dee6d1ec3dadebf61ba5467cc6cf564cd9930d070dfdd1ce6317f85e1bb2628229883bed4da85a1e58552fae2e3c5074ccaa71aa4e913ba2ad3b0d6bfdeb44e859eae4e90a6597352952c738747b2dcaf2fe4fd401de037f1476be8b3df27f2bde8c1fda2205826d7af3e08fc4017b47d3c06ca3ef29a91cbbcceeb3e33ec55b364ca7c3af29d26d5a72eb9514e5b729f72f59e5c2fe8271d1c88bb12ee3f4f94053cfa4be62f8ec3b8a4e45f07103b8620a24d73d5a4fab3582da92f7b6e388ab9ce950b2dd71fc9dbc8651e1bf9ab459a6de8b016ebfb09881675481d50e051c65e9b6471ce391d4eebf6d920ece6268ff1985cadb33ca65ab70d63bd635e35e744a36ee333d7b9de66bd75bded7a1bbddeb68dc457aecf81be7a8c2bd7d8e7f3f5dd26a47eaf248bab6172ad1f0ac11f9fb5e943d3a9ef35af375aaca4fa1ec372191d40ac841882c7ac5f47d4afdef2567d22a6c8c9f57bd44f6227d7f793b738ca5d3c55fb9533a3e9d42a0f3bf59b3d3366d69f53e0e49669f54cbb361467ab8d3ac5cbfa406dd6dd1ae103e503e523d5a5aaf2420ce9b2bf942c33b2ff94260fc723e414ad3c723e94d4ba8324cd8fc25f4146319e60f539c7cd0c50454869124dea6fa754899a44fb3cd53a535da2f345c638ba55ebb56ed6377be9f72d77e6cc44b9cc97a90251c902fa800930dd6f99f9ddd1d7a44e62543181a1883f4326f713c1c3447104e1424cee17c2ebb8efbfd1718e92d16e7a43330225734a6ba52899ec4676b100899cc09b64e9da0ee124d168235b1d1c877149c97fb53778b041690defa52985d21fe111e7a45791a6eeed165acc853a5ab40f844db6dfa12807780bdbbe44b1b40d5da277d2f9334fd721dd3f1dca1713201cc79900e138ce0408c771263e405d452082d31d65f93cdc24c4b4f121a8107352a74e9d879b260e3779ee43b1b4b609ca486cf179b4c964bef4f08ef892009598cf499639a7bb9b502ea9890337694a1b2186e8d27c1eda4471cc2eb4f2fc1b4074e989e86aac4c4a9b62111dc1c1f3bbb980d34ea9e3e0e4ccd9eaba6301ea05f5f2c4133bb27c41a22b6006c0e14a14910a7ca4a973343f9d3ab786f20438261772325c79c24db06ac1fd574e39e79c3de7ecd93d674f4be79cb3fe8d9e2350befed19ae4bf7db48f2602c247034fe0093c81a72a9cf2c79ad57e3bdb47cbb311d5a1b4af869fe3302e291982889c949c8f8b30c02ecdf1597d62b68de3b6ce9fef03e69096d66a692af4899c587d5623a127791212929738422e441508bdc88b842510c9b009910f7d8b0fbdc4e1a2c588d6288dce3a01fe578afcfc0f9c8d44f6e74964c31f260a720d415a8b4e002ce0b19e6ab55a8cc2c0dca8fa26355f1466f582a1b4f67abd625be0b8929217451515d114300ba758f805abb88d721bfd583885536eb2298b63593338322dd08e95d9dc80e0ec265b4b635f16d6339f4dd997199bfabe2dccccccccd060ae049c40e378c1053c82337f8ec3d85374e6a41761c0a3a77676765c7c2229b444018f3616ab918140201068c6c66c6c706a0684532e9a2dc46c0106040281402c9b1b96cd0e8b5559f9d24f04048f9e7a7701ce4838501e3f2b17303cdad86c420bcd699decb16e6f7d6692e5f499428e5d3d35c91fb44fc12d1c297591c7cfaa8668c0b30932c57f049924c851b68642224d482982027e028e3547713e9fcfe7636d8cc69ae4ff29d5c8ea672627538b632f4da7566da5b1ec95d60049d198b55aa00192aa6f0490544dd5d008202a9922f30ce4672543f2e8291aba48653ac548672e681924e9c3ca3e2b8019bc2524d29c80473ae35a3eae099265dec894911676c6038f603bb3333bb3333b6bb1a156ab6db5a136d486da565958656a73f382cad285ab64936db24de672b93619149b0ce62aa13925600e3aa33994066a8162a01828066a815aa016288605502c3b9d815423a8056ae59729fd234dea07712055f6bf2fbe8d763a9d609c4ea78db6d14e5c386d3b1b2dff88c955b55aadd96ab5542a15d7fa82b46631aaec3f6d44930f064806578155b041f4c29efaac401c8f8c6cea56ab996c47a09c2e99b4e892c5763f96745d16e100d75f65ff9528f0f899a9701c0fc7713c252579e4789e47e45204cc6953c8140a3f227827d4c9fea226e071064daa2ab97edb8c5fa37b6e5498151eeaef20a2be125d02b7530b6a33e915cc27b395801fcc4a85ca15bce077b722b2e8e1b62e146d224a0d32cba267db386e2b228b9e2f64d1d32253ba34db9f9e48585c961f65b0040a78e44602c82f7a3e2c533c66ce3973f0c3e5878b0f9a0f1afd397970e7775b05732e31b74d096b9190f2881e368407987bd9a50064f95ccdb973cef9a2ae99f6d936e5b6e94006ec394ef3b8eaa552f75e30c70d7bb8a45e54de84cdd7a499ae39335b3a48813d5fb9c9673eb399a91d9e961e785c2d3864fafea2a6c641bfc750936967ba9a5c12737e727cc21e4880db77e99cdf9c4dcf51cd727c39373f543f54f387ea4736f5cb49b36c6d17aad458912cdddb7ffbd2da70fcc20d58fb76baba465917742fbe37e4ded0bd22f78edc4b726f8b7b3ddb5917a574257a022bb1fa1cf1e36ce598618f165d6088448bf4ad9dd36e76b3db94727b39b949f322bef2950e4bc0a3a44d1e74d039c3c66991f64d8bb4725ccbbaa6ae5c01b7ca66fadd9a92a5823a26d71ce71c4739ae729ce5b88de36a889bdbb67d9d5fc11c5b385b73ce3ac11cdb774dcbda260aecb59d1d8e7ee5f9e1d2e2ce9c62d871f9e1f2c3e5c74b0ffa34e62690cc4d3d0469f29a93424f6f327d49411ffa91aee4844d244c24cc2dc45704d431f2cd169fbbf868b5db8d16e91cf120b2f95a33ddddc6d58eab393939392fff61afcd96d9f2d5e8e459757fbfebe14969b305e39c160c6e3e683e689396419482469445f2754df725c04e282404539102f9d8f1b133061c1f3b3e767cecf8e809cdda277eb24b22a097e30702855deb1cb7b191dbcdc96da4b5f33327385b75b3c9c971998daf767a4e358e7217d94d971c677a4b8aab1bc8d56df6b0e339a7958cb7b80ae6b0274bdf0b45969633735ee68fd38fd38fd30f944c9199ae302e29f9174515959595a64fbf4cdfa4053c7a6dab358f93a80b2489aa6c5b0db56d5b38de70031b65398952778134391b64687429cb4d2a4e628334954852a7803a7268a7d54e2c53e8df1c401d7353f97adb0ef0f9b621e0a3db56b7adc667b76ddbb69090907f6668848f904805736ef767ed2a5d6dd4f3b690b25aa4322d7a218de1649eb435a233d40552110af0f6231601bbf0860e9942bf8e7898c994f974e5a6aed5de9993e368abd24a776cdce33ab1bdaed6328aea1a8e1b658088b179e8077cfa7dc0effac0694fe2f0c021a25b0c3938b5561f3838392228dc047ab1a4a9d920493890a6ae39894a16efbb1bc9c2b929f4f429fdd008b341d29fd63ea8836e5f5569d13e576df55517e32bdad96a2d5d4d165dd1182a435b32eaa2341436a3323a435fb4869b6d395656e9f73d5db509db501095013d7d3a435d223346b24c91500888beda048ad5dc604eae6258d86b46af79d77ce6331c9b4c7fd2e8776d87a77b4ed4d2f71daf398ff79ca8cb7272bcae3375f1e80b55d191125c93e9bfd3780ef318cabd1ef885222b6b917a6268f9e0acadd51ae143e643e6e3a6beb5e128021735bc3d5d75c98e4442f9f6674721f9fa476328cb296ebd0afdefc32f8ee208946ffdece893affdec081c7df966babadd67475ebede67ef47f4c3cddb6f790b716d8926aeac1fc203ac8314dc84915d289a52d6982c9a159e1a36e6e5bc8ee3aee7a2170283536b816640188be01068c6da047ab7b909b131aad1a4d70d1e7480d8a19a62953f28f0ab9d2afb2f41c4e7c1ef3f20f71fc74d8efb1a3eabfd88e97ec4fc88f92153520049a2f3ff297e0a7a1a8ede1c61d0a8a400d224e58324d779977e1494335419d56871db5ea5c68a64f11237491c1ba5371aa41fc7615c52228a1d869c4ca1cf852b7452fa946e2edd5f938041640691195641cc00d3579881d2125765f684438e7b91ee2b6c2ae07ef701edb0c30e3becb0438886dcb0d607ffd69112b7eb6ad78549888c96f05008c53a5f8b12566daa2cfbd757856d6d51191c71f409fc5519ad5258110ff0a45c7ff4a27e274d54de8ec5fb1a8e35ac529806b0bdf58f62de426a77654a4769dcec550a550af5c6432688c52bdff961f962830c1b60b24a9650ac4107e75ac650ac01277f9650ac812647208fdb8f3c37aab4fb7e90b5e198c4f7de739225f41eeec271dafb1fa980aedbe4658bce3dc9a8bfff4442d9e257ff8687dcafb057becf8139b877d75480ccdcbdf7fb8623c7933fa3ee0a18ec7b65fe8186e3c4f786a3e5fe7b4eb26ce36c3122198111b8f9869d8469004fa6f473a33993274d9e49980698f54713e44ec25480ec58bf0fae9c2b8c4b4afe452b5f120172db788043428d7253286c1e27d90fe13879bbbff2de7b63625a333b645c3778d001c4dfb0d6fecefc1e9c1f37db32a18ab17336bbaafbddf7b6114ca8542b1e24a0c033f7777faeaca8a888e27fc97d69bf5bf7c6b2080afcf646234192702025cbf7b67b96fa36e4ed4bfba398ef5f1d48e06edcb7f70ba54cb96173df0483f8803a64beb7deef6ed83d6c0ff07287a308be16edb6f1e05a113a57b42fdd7aebad5bdd2f3a6eec9871b5aadbbc5f28624df9dfdf44110c3bd9bea8fac475d5e3aa57dbfe0d45cdc449ac60803171eadeb666e2c4c48909d4b5f765f708fce4fbd9ef7aeac553df77bbd69d734607cf0c8f9f80b8c19271cdb4ab8e50c0ee9bc74d1d13c3d37abd7449a627db6f97b53f6566325781bed2e72de80376608e0fbcf66b28ba2c265c3a0604c1d0c384cbedbacb840b132e4cbcac260b94ef68cab4d81a3b956da37c82db8b82c0b4a86ad1decd84dffe0ef99a7834ef1676f3f4405a9e9364b96f6bd85610215f8341843e078310f92818c4c857c120483e0b06d1e2dbc020fcdab86fbddf7e5c19d980757f7fac91ed6fe086365ab45fa3c59870b29ac0320818665692c5cb2b2dda983cd6a8f121f0c09645163c3909cfdd732714e4cdfef63556ee6f41c0f092ef06012f0a1f6421dff7c2b1f30d3969fa46946cbb700441962dd26c615b4ebb66cd946d77db623776070f1d7c748bdb3a6edbba952ae66a2507c7ec5bfbf68b61d96fbabc0f96922e2283ed7f231da25df58c99a22730e6464457c09bbfbc3e4011baee76a3996516a500b6c34d78083795601996611956c1a9148d9135e828185a32a52b699a3333acfa534696bae9c4da85b8c519cea933bd39bd21766c232166ea73dcece1ea8d176ef83658d76da2ee3fefdb99d7e34ede1b442a90d2a50c71f7bcb1c3865bbf376ab4f855697ad1f30b2dc94993ca8832aa88d3458824c419ce13122d2d76f7982e2e3032a7b65b375aa2f4d7fd86eb321832ca80c7924ae5346ddf6ff2ce838e1e91b7f1bc31e384e7889301868c29b083fee5f74d805efefd4613a549f46b30c7a3d4a6a9bd6d0f86dbc7da918e5cb69e17761266367adbc9706fb77b4be9d37dbe0ce54c8f08081edd173d58bedc2e8c37e02c576ef7888f2b514619b51e95da08e305e335c278e51943e626193656868d8c1b1b4396a77b0c58c790c5c88901ebd208e305e3050306a306866c06e306060e8d162316a306860d8c59c7cd3aaed28eab5cdd60bc60cc9741b3d9e9d2286316abb18171335f868e8c990c1ae8035e18b336dd9f0f83064307468da7bf911cc5a889016bd27c1936325997c6183c362e38313317ad4ba30c9a183a5d1a65c8b24c468d8c1b1938316e62e4cc8f519341f3ea1285c5a80c970c968c1899d68ccb48c97891e1d293e7cb80e9524f8cf9324e325a64a0389a6d8b01cbf36d8c184d0c988b86c6dd696860305a2dce7fa13fe2539ede2bcff025a3b684004816a733a41f279f527184231ce10847a871caf303744eaf86460e8d1ce93472444e834669e448a735293ff1623c9996e7f268ba34221bb1716fc67b75d5d2a875f5d6aede4e9c2b1a3c5d9a238d5a9eac10999990e79a4fa387468d064f9ed3ddbd9857e3c9bc1b919190d1484d93e6d3c8e9d278924a75691c99bd74697cc103d3a591f45a75691cb9617569cc417622d3a5710427cf9f3f8293c3ac4b9de7d3a0d1d0997fa23a8941424d9e7fd29a9f832c079b1c6e72c0a923372418e9458a916a48b2173d304e2f7866f27c18a82ee58ccc4668233a23b54a8bc08267d6c8466aba34f33c424f1158f05ca7d48bc08287670d276fe5c5842c2fd85be59a1abd150d5a93e6c8ecfd3e1d75a0aef206fc6f387a30def0019aebc88c460ea5f7d2a0e5a05464082234f7766003f5bd997c5f823d544addfb0be30dde4c9e5e4bb2acdc14fa19e20d21cfbfb77ed3fbbe93954ca1a1d3a5116508f9debf8f258bffa54f8336d2c8c934725a9c5da6210d1db0492f9932fff3deea877c81ec2ec8fd23ca107290c994f9a1d149c8e844e524d0e33f49b92944028d23e455797cc193e7878cfc035c1e4f5227ab3cbf7390e509925e79fe371a4f62f21c591a396d6a1a3a5d9273ce93944c89e1ee476f75c576821af2033c2e9147b2155d31f37ae8febee75103f9926084650af5d11175e5853e74216d110335654755456b9c3e0da30a575e9044194d669fdcd462a7c54eb7e029020b9b163bb5de53ad31f7e4237ee11786e11a19bec1aaec2c196c83679b35496d96fa66e966f10bbf4c765238866bb00dbe3181314999a8f00cd3b00eae619e16322d629ae4df62a74be33d9dba34b668b574697471ba2e5d1a5bc0f24d75696c7193afaa4b630b9c0cd3a5b145add6259d163c2d7a2eeabeb4e074899b75a9e6d0ba645bdc7469acaf1631588dccc6458b0b948b531260b2bf8b548b9916ad16ae16342d5edc66a78df55ac464ffae05cb099c22b0b0e96e1b9b7cef5767b52659eacb59aeaf162737dd13ca49a8542afb6da1ca63b5a2eeeccc4fd79a4cf13be30a5ea9f54f1158583002351bb1821a1f46b9862e4e32c5df0485d729fbbff28c1a3cde99ec75f45cc35ac3db9229ef813a6a92e524fbd71ec952673badde673730081ad668d1df864cf1efd14a8b2a2a313749afaf3a7bd580f1063cd6c8de1f4eb28c7ed87ef4cc85f565a6e105320d470b641aaac8140ffbdd64d502c7fffa8fa2fd1c24dc6bb6a9cc41a2a5a7e7a5512efde23d8e68e954c374b65f9dad9dadb6f6cc9e367db15abfb237aa535dd3af8e354cb3647ae6880cd490486289a9d34ab4cc946729cceb5aac98ec9eb58d45cc463d260348d0c12286524ab18889919972ebcf18e283ff9618cb9679e167d9ed87ffe4e5a6873dccf6c3b27fec61f6e495fd64a64f5e7e328ef08cf08cf490b490a064242992979b9b13d7090d890b89aae3641d4769c7516e1be119e17918894c97c697919c485a485c48528f2359647ff3012f898a64451243c222697d273427334df27fd8eb458375693ce9a97991b16eba34becc094e97c67fbdba44f3b1af39899dd8d464ff93194ef67f992e79ad19ee595d1a39d5bf3cccaf3ee64fdf72e2844b97744e6827b5939d131eaf6b5a4f66b29fb84e66ba34f3e6c48b0badb5168185cb17b07029028b17ea923ec2937d2c41f65e272c5bec907a5edff0671f26ae7c1307f006fce5e84f5f8e42401f00ca52f483b7854cff032a99861e006579c33b95869c9c854d9656ac215b01cba398a51556e4c8300e57e43071854d1e310aaed8b95288410c2eb055c129f52a66aaa891b20a98cd9d9f45ee17e3d0b599dcb9bf1f0952458f09190850cb41073290810ca520a24244c567050ee912566a70a92195a51a5af903291a64102b8690030f825c71831904b9020641ae6841902b7c4c31c575e2b3e2b3620838640c216330c3135720408d00b51bf9329114222982580104111844600862c50ee69cdd120485d9ddeef30a23b88bbce054e405da41ae00c28684eb8199a794b42056acb2152d79c45906b1e2e5a3d96b53ffb0701ad678aae83701404d96478ed6bc5693fd3d7b388a20cb5702cac5b4128a4365c54d0c40510165c2040ef9659a6f7f23252602902c2128c9e0cb471125cb64919f979f1fc31a4d8e3a6027e4515221cb1fa24db20f20bb0e24f1cbd2bd1783b825f2f4fe7b945c42e95e96bcefba6f94f91c97b9c94d0e148ea07003dd7f420f2c91c17074ffbab13de50942c0fbef9433d02237da31caf101225ae47e8816b997600e4ee60f0df011618f021801cf70ec1cd971deec5ab05aad56abd5ebb55aad56ab154ba552a9542f34342f2faa9797171827e8f77499391cdba8cb3eaae1c2977e9f9058c8e8f3895420e56caeb99ef5e76866b7b0cd7efce5a4fad2e5339f6f1ba9d45819d9b8c143fdcf48e2701b9faf93e6247753c8d797b45c671592547ff458ae9f0f51e16636151c219f9b2ae6fc3a7a91f1d7a3ebdf67d418d411f24d300891119216dbe702d421f39c61cff93d0a4b42fcc55f42dc55a79710f0079a437abaa5b9cd3fdce620b7f9c76d7eb9cdab0e52e0b73d2a8749a1663a16aba9b1b9e199f5382cc84b8653bf7b9c4280f2a868393ab51d0fecc16535368dd3811088cdd0c06ac734cc4e9e2faacd7b248239a61127d4d7239aa7136af684c01f684856839addf3843aa14e29979b6ac062369a54ebe70658e61e4eaacf63aa78a66acec0a9907daaa6ea95902c3e049952bffe08a4c9892049f5abb7785e640f477f428827417e526093162b0f37d5efe1e20c62deecd7dc0c6164817dc6e534fe7298c75a6ca1c0bb6e9bbbea16aab8a96b6aeadb50b4c9ba66db366ee35c34f57da6deb8602e739cef5a3b5ddfb53cbe6be977ed772fe72d6fb509d428170d2ce66a5408fec86e706634eeb7d10c94a833a8c48c7727b584880600000014a315000028100a868382d1689886aaa0d20314000e84ac605a4696c9c228c84118c51042c81843000000040400488328009325685ba70f8432486cba9dc99831652561317e0d8a2d62330b35eb30b3a251530667cda563f648f2b8886a04859783f89669992e7a7fb9a6023e13957d6d19330a15b8eed227ecb35a92022570266c32219a7354b4d640a0566f13d66b9fe6133c44ef80c9ccabb41369472fb3c85a58421bec998dcee94d889eb6152828a6a0a3e0dd1bfedc654d918a77b8ef87c8be025da04443981dec90ed30ffd3c1e2c2acf542f5cd91f738f73e1a71e2b18c29425a54428b8a8f0b1a1fe48146656b6ab0488eff69c8e49c0ec185a84e79e8fc4aeee4209c10d5f33d7ae96466fb0c927f0ec23d84ca82c4db1c8492f94eb07cf0a6811bd82c14c3601e799f30e1f8221ed5657ebd06221e3385681b3ae3d0099e3a32b2e0cbe255a1285b39809eaa06eabce76f2e234a49514c58aaf55a2d03b7008faa57096f75771a730e9ca747264f71935b4694ac91433672f1c4efd060c53ffb973469c5475713a9b4e7cde704280154b3d832a2c8b864372b34a2395c665f68432bdb0a8d4586e74833b4a3f64cdc588ccca565fcd56a359e88edbd363006661033f36df3a86c28bcf01d6a0d6097d8210c9c5d7c6d599fb2b63ae4caa0044b29d9c9718976daeb565b6d51b3c9767e1b6ffd6b70b72dac27f08cd6a87fdf1f9b5609ee1fe718acc33298395482e99a81d894fcda4c2975bf7defd716f81690069cff2242cbe98f079a715b6a57ec89861972dd4b9d29c2c9c334423a9bfe03e7afd8967daafb32ec765549c38666e4e8deec61e2bdf5fce6e0dfaf2d959fa6846b94a62ddac4b287c89ce41f61a7595896147542a0636e182850c4c4385a1197c2bfe25ec8baf7532f1a365cf167bac922009111d6da72a20e5bc9da12e06544e76408d88eb445b8c551ae34381adab624e673c4bb87053dc8f35e22595b84436264c22b73c4bcb09b0df7dab6d3f58350b7c5d2d0f4e995095f09ad12adeff9465c57794366c68089a2c7e0ded0564267963bd3ed0de6964e5025a01aa67e6fcec651e269b1e8ce1e0dc683414342c6b2eac85c94e81b4f4b259b0c5778d6b379f6c6401c6ce1fc163f518172b2c6d557aa766e3715e3876839b6eabb9398f8c12b02fe473e2fc43985de6492ec2d47cdfd0cb129e896e7cf9a1ab42b21947ec652a7550d30484337f8c3da75f0efc80f901d6ecaeca024f2aef984d6a0e605f86594813a66a07c4beb50ab9dc9ba1625f1662c52037f7ab89c2f867b1cf32d80a90be7ec3bc595a0deea8b1f590cbd40a660d4fdd1be8212445c105b3fc16829392d9aa71dfbfe078f28c042e2e36340aa9ad550cd5fb30cad98fcb431b25715d5e939f0fe9368b85f02a9e2965f61170bf71cfbaf726d79d0b20b77746252a60816056c15c4fc57c9a2c0c8d3e30f962bc5d53df1defd0c58dea3ee3ea689ac12455f41336197d5dd30e41abfad4f367e463b83860c5c937a5d9595e522d89fb1b46f2bba1a5728a6da37f1f09b6a950fe76a16123dee52ff42f90bdfb11784fa06ec5a6d8d0aa1bac91a0ad2ab4067c19203c4500f558595d9f4cb81921685447335a3bfa51a6c1a59be1a9589f9e704df7aef5352bb42a7fb4a2bfc3396cc54ec2d4eee080aec26ff142f2b206640c21643158f728354406fab3cf18f505c381efb8ef418b3952b8b9f6586d6cd409bfc2b8cc7aff6403609664de2bf569296b54619f6bc278d4dde910fb682cb2a00df71ac9f04db13ee2b34de585504fb1a6bd369b2291f255eb1e3421115edbd22bea5b82bf038448b26ed489e5b27d4d02085bc89681a59e82d637a622046a0d62abab24d7daa315f5b8226901e0c7954de1ff2ee5049913e1f6c9d28c4539dc9bf4f0a536f5b0e050af07633d450d3c020f85d6ff168bf0de82b179d37d9da3cf21a4da8f3697ee8bbe9e691d65feabd1b371901ac5e6f490e82f93b4115faef8db6e63bef99417c044fecff93a26e41039a5470c989e72db51d269adbef4a79a306574163d35d6ad6cc37e8c5103c1c08b78b46feb41f8d55e6913c3d65e16ecea7446936b57b20e0c170fb24f1a07c4a87d124ce760b48e381837b5291b091218419d50bdd946d07d801ade4497ad39f51a3411863fdc43a98d70ed3d46a51a39d1c9954fabc09f7c974000e26feb6b58c17cab3bb9cb793197e4ce9777079f4482ecd01560cfb0fe7092a54982e4c1a93285bd7402f671bb7236c7ad08730c3ff957d2faecef24fa83cbfcc3b636705129bf2992e76b84066cf56c8a12c9919e30159fd008291d24977ec320c098cbe4318a0be6ef2060830a5f50e8763a3c7ffdfa7e67edd4c633f734ae563350414c68e34247e2c1dc2d15f7965a8e2f6c0a2a4787e2c9c40b28fc348e1b81eb28375f66b876118386393f3c9dfbc2884ec8eba6abe3b4a65cffb29648d82bcca256d149597be76b0c06f8b0fe377b3de743016befb3ed5ac9e1e84365520d9e564a36cf51715378a7aba6c21bb10bceff2da890df1b78974afa2f15d3b82f2fe2fd62d6c57614849c6b5eab2e94a50e1a40a403647d4f3cd28820216c2e742d537a264c18753ae0d9b938a4ee894468c52d14f432ad64593c0bfcdb2bd81eb8de35071d0a8400d57962aef921f2a75fdb0b2b01b5cbc43f646e489f45f73b8490c4d39558cf098d30d67e06e2de22c4b631590d61b4d14091a71ec229409e45806bd50b89135a7045ba62d00c5927593b6cf2eb53dd56448d6e1b8b2cddacf324a0ab78be641cc7e889e65442082401a9817426b29736f563b5d725f7f5e351e4e2320be1df5b4f0145f9d3351b09154e4ae14c759fe1a0ba1fe6b14e3f86b048b54d0d12b44f0ad8f0db02c1ce9e98e3907feb086947a87cd2d22687f950f10982189e1e1a4bda4a0f88cdccc15f91cbd82614c17499e1b6c63c2987f6b2f0871fd6ca8499d5383a1638e88813e8328103a715d5eb1ad8f255edad6785c3f6b8b069ef60694e1636013d0a6f639c22645dca6c7f62fa02dc8ad366f8e1b7d88be5af5d759f8a1994b5eebae56ff278e0147c7c5096be8541d75388b5e67cdebc0d2bc534a60e81e5c2783153b871c0cdc7fcbe4add6dc24a2d73061a0b6fc84fdac92990830ca3454ea79a37ac760405cdee94593a1305e5ecfc9f235b9e0016db4568439f4d7e7b4028a83d36fbfbe1e81e3d000f364e6a8aa7b37e961296228988c56608ca030efe455c148cdd1271089d8fe1c56000d617a85d6cdab3a435545c7c08730145527aedd6e591cb1f01fcbb5c19a1359ca8fc21a239e94d8a140918b23ecf20509a3429d9f6dbe149788b307b15dffe8e9c622c7f002c8e9c39f16e111b65b7a5cf67a1e31841e61746731b33156803acde07df2f2627302cf9ebab1b682291369184a6e762f81627561d7a455d2029bef997b1d6a14bbe6a48eee1b2820ed2f512764e935f8e3c4d649517e470650bb1ee44b8cced108d7881e45241aa19df9c6031c2b98903a2d666118f182d2bbd4bb92c9f0c3d49e97e3c51d390a2c4779c1351d70c8251ee95def6d1ddc3f0dcd1a546624008ff89ab3220a6cd62df88051bbd3e1f82d8dd537826b875f15abfb1b0a00d393700ccb85409d515be39414959dbd9817bf468177d1748edea592a6301606274db4e2224083f86bc26101ea4fb2ce649d6431bd941b14eda58897316818cd2dffc5f61febec8da37ef927219566310faf0f6f8818b77e207f377eed155330cdd96c1bfdc88b10c7124bec77e087e690c5c606bb1508e5a55c40248b9d72c861ef481e69a4c0df68912eb970c8865e8a013f94d7f9f40d3981026e8695b047a0c6dd4f90856ee536eccc026043f20c1b502b78e28a6f02c6275a8a76fb20e3740da2ffc7f8c5acaa6cfcba2a86c5c2649a3a7c3c35b2d3e39119bf19b126ee81883681ab27839f12954bc24e4458434a798bd93aaae40ee608baca22f2b46ac0e038265fe1ae8533f0341772490e129a18c40d5e42d49f4e22a0490f4cc8614d4a94ede8942f7f30d70eab5cc12d1143e0ad9b4a8f8cacab4640f4bee83ce5d14b36cdd63f0bc36102a3555ff8667909f6f5dab557328db34d07eb9e7e2c131afefa89d7043dd8c4dea75656e6fb0dbd05e0ce0bd6bdf8da3a724935f8f922c98bd04f8a10340b5f4fb22a6a978bb3d36d2993ee67f830be1b344b8e57e63fec3d08c60ced905c9ed8c45891df880c1dc152228ecab87214b989d400ae2ec946e418bad83697c595bc11b3ac5967917d8e62e8521d25fd287ae17ab975d3db85ae8b296245316e1bd067526fe758afedad5d9907c5044d71630956769493d73abc4139b9da1a8d35b4df52754672aba9723e0550354543d30e71f3339b31e199412b8d3197adc3ca2e9b0334b31c92374ed3ba37bd17f5ab58097555951188d89d35e96074a722f2ae4add2e96c5d925db637297d48cb2dce7d281e6b42c664e43ee17e6eda83cae58ad3854aa086063a2bb14b715ffc7bacba45b88a715df7f3a0fa94399e1e962bc3f257caa3161d58bbb60e8257c83a6de852eb332058f42c08638e472556c83c683b122aae8004d00f581a3c5231702b8da450dfb4ef6e9874484aa93b6bce955a09ef98e176032b8de95756174a90bdba5669092348f4454b47baa9f4f218c3d31404f147a55517a63062d50f4a228f422007ec632c6070f9dcc1b202a12507730e955d16e57d82e2b8e928d975850ddd8579fbab03729af5e3568d487a8e897a27c168dc90bb996aa45efdb1cbbde14d8f207ca069d9837e6422f5a19e61b69195d701ccc2e7c574c220871ea6fe0df2050e1bb61e379cf6da1949ca06f21bde32e4a4ebc57a79e952c595801bbeb1ba15e3c6a865520bdf7e04ceec743b42388238e365d96e1e07dfb8a9942ab1be5c57744f80d96e941d05631c8850ac0e21f2ecfdd6ad303a16462a79e7789df8ed21ff2a98beba463aaf22b220c71dd5e5c678499cff2a60c04d6f59006243109b2b97a97dcd95e790d467d0b3d81c8d6a7722b3a5f2f81207c4e371d1394442dab364b06ff334261518816fe408d76ee23f5b120f590a70cb9418cb376daec70984ed74acd47519a25adb7e02c5cced7cc10106b9e20e6cda5c379a5c79b2b11b4aeacc89bd409ba1f180cc75cefed1834684e77f98db491a23e31832460f3572c1527f054769308ec5d8cdcb4142031cfb5b0e55fc80aa5852d1c708f58bdf9f4284818e76ee14611195f0a331d52cab4b1e8a0dcee1bfa25e752b879a87b717cd2c3abfb1e48cb6d42b81beeaef767502e0102edfa6182dfd7e6711120a8076a681bd76e7eefec63665180e5ca34384403b3c1a1682a91675d8a0a0fb454706abaa75171ff792c9b1ab77c875a0e309b6d9ff8ac58439f4437694f1db139d40d45deb26fbed352b652a1c6e4bfb25503f9c1f69de26c59a8b36f9197a140ec3b7f4473038f499774411765446bbfb2974583b39ba6c3d92d68a64b7035103617767a556611184da7ebd0a9eae8289dbfc948e39c7a8aa801d01656f5186e9dd5d8f4c0f627c1798c1d2222974e8c312a611c406a50af547a5d22bd65a5ba12f0441c117b4b8fdb7b1887904e60c00da97b5502fa7b45b172f1413c1a1b337b241e4fbf8d9ca9cc7111f5802e5288036c517eafa59c9de19b6b2829d7e2a384d5fb5ca97f0798d30b58c1ac09483797bb2b24fb0147e3faeee7a1ca0d5f869fd4115ebd9405c84c600c097831b9005695a825349d0fe10b6a8d4bdf6c4a75df80a07040de5a0abe00dd3b8b1fbd2317a5f1e6c3b096734323d5e6fd6bcf0fdd3e658cc85905f247e6e130fe10cc0c363e23b578958838f241091e7b95f2e8ee53b4114d88fd02e84a0c26982942e18ca3a01f9d87b1fbaeefe20202ae9e52397c373585eb630b09b3105d211459780aa6e71c0c14815289a61cd8165f45df8a1e2b42bdef45aa9ef41094ac3f60058a145c208425387088b94fd3e82ded8042f05929a07d9e6c523353dac1c77b96bc5e336806a9f33147af8ba4c50a7643d1648fb31cc2315d8d0ec368c774466af9013292c36cd0679a24df6086699b700c9819eaba07099613f4800be1dcc89d462b430c6707b7f7034157158b5003c13ac3decc305e9b5012025c5b53b15db285adf6875e8257582ee5ea225eead645dcd4dd05f2496a16ae8b138b32c525ad95768a3af08ff2a2a823f441c4e2e9d719071c6e954884c5d4a6bfd7cab3523c03d5848cd31262802fb09ceb14b3d6b1e88558b3f4d24458f08d513021d25c78f2517fdebd643b5b8843a579218eb7d2be95ea940c29adfd7906d610ec2ba5df4d76339b3ce899c12cb12a268ba2051ca86fdbe00f620f286a8e7af67522277ba7b3d254e6b5810740f857c0d099f93469a9935b787486979cb8f787168d04fd18f2817b8637c06923eb99e3f8e6b2c79136880c99dde394f1a46cb30dce111719116d9a58f9ac780c65856d8880902b3fa0c03cb8e32d7ddee6ee0ae8878f16b525ddcf161822091fd82e752a82df5b9ceaa59d9ff6def3917621309eb608acadbadc5484a7c38b0e07eacf291e487fed854907b700153fdde9a500f7c3c09123f7db3c83de8fad3d4a998fe9a527fe9bbd3e77976616f2a3869c3a81a4741b8af1e09ab472d999a94797301b31c02a77ffae2bfcb4b432b8a82e1f38d4ee516107834c12acb6114d2d14d3e1975e9182b3939b434079b59ca66da81a4d905abd8ec340170f6c4d295144998241580be1650c26136545434061c6fa663b9a550dd56af9ee5574bd1020d275efbc3e197f3e4f37ba16b6db9c71cd37ac6c80d7f1cb02036ae727b8731cbfc3a8c590df5ef06e046c6a56f159c2de4ce10a1ac23ddf68cb39f06c62fd8ba8d5e4cc5230270eea32cd8d686b8b562c3795ba603c5293c1330d7982fc3cd450bb6bd2258d1ad71cc7919c8d2db9d5a3028afd253959de93a46c16c93bdb399d13d207f0e3d7a38c6892eb8980ec2fe054b2520429ee949845c9c3b536df7fa620b394dba472ba9a757260fe03a36b1fe5e355e0c4340f2d040972dde7fa8e7818e5a39fe0449f0b1f249dedb54eb38854a7411371027c178f3dfb022657c61338c4e8bbec95340b13e20a96d22bfed0ab5413a7391c4d273da6daa5a2d78f3076f9e908265627aed78846578d5d2b45c6de37b216047ba2afa6fa2b83e8ea04c4bf091f19b2727f57d98ab0656bf6902228414357c30dff0ea242c08e3eb2083e2e50acd35bb8e397d50ac5e68a8f4859a76b118ab9f9c4a029b51f331260298c69e2407c50b472b93a121cd7f5ed29a29d31cfeba65915a604919702b26f9511a8734f1fe5badf4be69993710901b05dd151c1bf4d8ffb881719923fffdbf282ab98ba82aee33d70fbd90040b08a69be0a12a30c119fc347c63c1903596442df86b78adc4f2219813077a3cbaa3e69339cefd8bb3a3788187bbb143dd3d72986de2fa5778d82d706b1cf738b12b82d41b63c2f3809e1af51635dd82a01719348a9ad34bc6d64d6b7667dd7ff1553a83f524bc40017ecb7813211429d5542b33df492dffca8bc9b076888a2c5928f23181616307b94c1717c03f5c175ff6fed14623439ae3a11fe5e20701996484943fa52b38c3a7b6273279a3605092b6fc5df0af78d18961ce70d18777d884c4c1c14ea0c27ef38f6f3522332f37e11a1db18802c189702fbdfc609b215e3366e8356f7df32c1283f8e60607cabe475738860c4a9dca61b44b7f8cf065bf3f3519de63e6dfccaa44fcc13ad3ffff370fa63c64175c3cebd26c531af130bab09d818f3bcdaec7869a19eb1afe936c7544c70cc4ae0ac9199840e883c414c62676aff75fedc7b9f69672063255a336bc70fc252935683c81d8154cca1e5da9f8c013d3bce8cf0d09a2b8b8a698d10874d38abf8892cba812ec654b8d9a9764faba4dc40967888fd382f340a5ae7f315552b8c6152e1a088f8c7ebf7ee39c8f9ebfa54f8fca9314a5cff599276792daff5a042a2a098ee85b5a56ef26a316a724a5fc2c8b834eb3a71ed73c28da7a864064eb22f342feff3e3eb987b3b28d51335d27554408885123887cc51cd1555ce5a5b1d05bc23cc9cab8b6dc843870aa189ab43bbc7f20391e7a8e36b122e9ed5dcbf61b3d9c86be88312f0f56ba28e7261c49eedd16cd898fc1b876dfc10807d8666536447ed084e8ed05a3b5b643714c824293a5cf8ba1262b17431a267dd8499023f7b171769425898afd7d7651c53246209cee76a1845c9c6ce876c699e9a6d5d9df955d1f8fd9da9ae2786ad7f3a7fc4f0a5dce414e4ee9f0a450892875732da4fb37feffa1fd037e500cbffdcfdf119d8d2dd30d528c105c7d6b8e44df23d9676ef914e9218a0574c199d28e55cf8d002ebfd2d08913526a7be3474bd753e692eb9231a32e9cd97299484e7d33deb8dcc358713bf415da3785ba566d83930453a67bca0f71558cddbd4481b03f388f2737c4b8c50225266a18e66a94572bb456119619a41ec1cc946bbee788ecd8cd19e1129711bbf873b46218709bd34a0e3a35c0e76d5fcd4dadc92b832eb0b113197eb88a6a82c5a5cdc8da2ebf78d50c6aad583bb98f31f2ce5490cb9c5adbc22d586226d5906f20b3429670f988576cd134c5a479e825e0b64acd485caec9ccca96efc94b5c0fff94fa81797581883894ab34598ae95c9207d66300e8a74f9085404d207bdd24c316fcf32cd43347bc1464453dfab3f5bd02c4dfd3c5913d0e2b65da04346f51c893af5725617448f939b0317eb58db63469f258c1e8c532955a61a04914d1cd82fa35a6a5e9b9ad3cf865a64a74a19f82a26228ca87ca26f39debfa3814b8abbbcc5eeb22a277e47703408543af9f8f8bfda7f12d2e572c4014bd57dbab848f639670a360da964545b11c788359ee1e7f73f32902803dea72fe0c8eb422e0e76c14a7744b7a0be914ca39095d27fd6d4c4c12600fc8fad86348681d7314d05b1fcf5ff861cbf221146ca924d7ae0fa02e2d4f39ea0e1bb7eb2cce117975e2c7851e89eaab248b2e6651877c83857ae19b9aef13a6d233fe549395c85184f82c8fc51bf99abb491b2ea72019a976f354869d681524f1ac15a3192908e5192047910939824dc5fc591df2aaa6ab61022050068b442f0fb9d4e573679ce46794936c9b96c9b7952500d796734d30003083ce403434061e2264c0a4ab4d7f1578136fa72aef3064b25b9f5f78e3a232e93c07900767814562ac5b03a3d8cb49e8cac1b962c56b7cc79345118bf46d3fa79d4fa56ec7675368a9131131a5cfec654d4b19d482837c27f3912cb4dc51e36d8c672dba76227f775166296e8615f47bd0832740a5bcc9ea8611fa67e4fcfb43f86b1bb28614aa20792f60e7a3151f6e43d05943165e39ec3c510c8d03fdb249c138347ef13cb56179ea431564aeee1ff358be7ffa0fffb2e7a5b11d7066d74a4751d6ea61f16c3a27bc32132bc020002a5aa36188e3683b13fef8e26a029192361d19e3237317f30589fc772823f31e01d780d0f54e40d3d82c721cb3e0800cb0a14a77aab318929945a03371ea9ec0f03531d7c238e8f9bd380d8081758a34c00fe68c86d0d1bac37d8c00ae5bac40f9e5481298935aa7953439207d43b981a7b63c2aa1761889ae463087d084d5ee714ba03c9cf241c9e1bd02e9c705dec18d3f640a8172ff6b1680e8b7675f5b814f0998b59b3cbbf5efd18166461af68556c980c9b67fe732463bcbef1f3ede46176c04c593ee8150d523d96951fe1e5b5de8ba8d8454220887696922f2395f885064be533840eb4ecd32f7324805cadb057227b3bdbd0db5f01c4b5f168ea314f1783ca0560272f72dbc1472ffd80d0543f1ba18d34141845c3c7f0ffd7425d76be7217e34294c3ddfe53861c89b4c2d92b09963fbd1ec8ed367f2c618bd1d4844108875328c3dc6e2f676b6304b43bdf6a1b0429428046e2d4c4899c82917a0381e0fa2f950228ae45c027b3b1fdbdbeee1bc8f5e9276e42670a197b664bf23b98f8e71012f712a723d9d87a329d2188c88e3f2ec89c161e42a33ed63e6aa6998d06c77a374eedc966a2fc5895cc4b240b26bac1416face21619d67bd4ce47db92b9e649d6d5b536c94640391e556100f65ba4253337796b41511e40ee28d44e0f232fb93bf0f3b6f00b0c765661981d3a65cd022f11d988a04341b3faa6f5020e1154f6529cda37b5932109acfe7bf409ee3d2d7f61cd9094d9c4de969514253cf708fd080722ace1b339cbcb559b6a7ad92c812a7075663d3fc0bde65254e34332bc14cce4a8c992a2ad44b816dade08917d1a05b2a4951f6988a752840fae4dbdc5a6d0efc841058e9a31a945998761e46ccefedf07ebc218b8a896d6dac98e6b2ddbb0acd894430ccbe13ea9da92f9db620f351c6c3bc416478a1ed49b48821d331677355caeb9277718d2249c1db8b692e71c0c9e16e68ee0e02203201da5e90a8656726ee90c6664592e92d06c559cd053394cc967c4a0b7e021dc1eb133888719e44116ed589e89ce09910cc483e909834897ebc9a44a73b0a00187546197ca0f2374d5dc95dca692caaa998ede36aeb20511eda01b26ad41a17300e30ddfd425b8f1a8144c8303b934fa974696244edcc07a0a91724678dd358686a62d6b394d0e358ae03834a18949d54a4330090fa6748b7b35c384bc7ab5a64ace30f64a8242cf14874087f7810912fe8a4504799fd1b32aaedadba4733498f8b10aeb1c5f61eb5060c71c3b155f935cfd1ff1f066fdaf45355a8fc225ec47051431d7ce81829fc41d31f266329f230ed160c7f2548e6d7bc116f2bec36bbaf80d6d3026d56bc613ecd813d5123051d130177ad3a1da1543e2f3b30f66b277a78a5d9efcc383450b386c6072dce3dad5b2c6f541684d4ca5ea07d3d46a4274ccbac3bffcb59bb6d33d7490b5aaeb21681688fe6b1e7176f0502c1c7262c56b77d8841fe3c98105b17e0d1068358545d1adb6a2cce9523f6eb2a2ec7dfee2fcff901be8fb3d258a742594cc314a4c94925730d62f604111e523d0a5106cfc5d3dc6142abd135f7e8c6ddfa8eede06beec77d8155f5f1123e433949ad99879789a05cbf24c3f5bda3f2a33e38c8eea564766f4a01e84971a3955c714432f85eadfce8f61f25310c69d3d9b15b989fd12493627191844d030541d9b132210f25fccb06c1d7420a6e3c75e70db2b982df9367de82ecc329ce80aa7ca4848c192d4704506105eadd1485e016a4936b4f0452337860f7d3ebfef1644ab0b3b7ea9df91f33fb23348a86ee53aef0a57f2337c24e0f0dbecdcfe002446624ba5f4eee72615031b53114af273f6ce86a736351969cb0aa062238001c6b1141deb78e5805e55cc54f708de50beaeee49f0b5de563a0cb935a95851dc88eff888177526ce22fb4eb64b8b5fb3a04a1f17b03b7b633a08955b4b16bc6c32aff21362c90510b2167f729b1a0fac63c21044aa599a14e5631f197f918e414b965b83d3e484ac2a1ea958e8c3a7505df2bd6d22a609c691f2baae640c1e7e45a07c65230864f71c95c3f6bd9ec88eee1e7fca47056bca8a39b3dccbf103cd2239fec1b9588268eeaa8d164d1a9253066873861b2a44dc75c6715fe49d62de09027fb744b34b91aedd83d2ef7fada34a6fc19e5ab22d1fa70d9a4dabacc8d82cb89afa440dd02bcb131668a7ce2d52c552798802e105b3235410e24b35bd87a5a4341c84969ed5e6ff7eec4932ccee947f245d98b9f88162133e7d5e00435c99186b887cdf33285b57f2df8fccc3d1f17f86a188401dd70db9a4f6aee4d50a8159df3d3fc1dc76d4e8d56ec2b89d5eabaf3430c74c0cbde6f559408eb19d889715ddf5f40f4a516a80fc613d32debabff8460e5e440cbcb31e37ab8762542b31de52bf0df31f2dd40d7a7a288264170b8fcec4847f47cc3f3309633c775914ee18235cce0e076c00ea1f8a7b8baa990cc9313315e5d81243921d81a688d748df04bd4d1e8477a894b78d92b307028c8c11bad744e86c847aa39062ffbe6241e225ccc6a4d53feeb8e1b71d62a427d6e9075078789e582e039dd9d38ad069ab8866b740deffd809c6b2dd3c39eeb4581e3fb4cf27409faa5fc217c57adb5ff45535f7fd8ee662a8b85835dba8743c8123a5ab1a20a9bfe4aa549d6a2b1336fc423167c37cf85539c4af45b4ef234dd1670eb9c783617cade52bfc2dc557500c155f4101275f81412ec0c557b8abaca8b3f1153eaf4c03114484c4afbfdad65cff658bee11ab9cbeeb33daab52e975e7ec8f431b84ae3836c1df18a7bb97b349065fe1d328285127f56e7088047e545e4fe0f5567f4e84c6c605ba719ae5a3dc73a84388dbc0e32db9c47bf77c217c08a43d56508e24f9738a5f659337a7f0b9cc409bebd6228c27247260af50c473b016daf20bb6940b02a643bd8da1b7971acf60e07032248368705bf625c9c7ddb60102f1c00d9b565845312e4e1e0d30bf5a40d859e85793e0387243cff96d291daabaceacadafa356328a1e737fd623cb330665885eaa52815aa4a9e38985fc2456b753838bf1d34fa37c1aac7a29a9274a86d94c7683abd5f38da8c034d90763c9b7e795ee61a5c785e33c598f175cca3ee2dc067e7e0966a6024544536cf189b8ff84f9531195e38439e3f96fe992db3e353b79f2c34d3e8d8c22605ae73ba557c257e13a247fddf5a34018240ea48fdee255eeb46ba5c9474203485de4bac202f96c4cebb50f48023396278f63f182b29d217ec77b61b7ed390433665f7389c33ea947544b398ed2647f9d787adf3312bc826afeff325fcfd8e4a5bc5e561bf604d4740d3737c8baa037a00d9bf7804dd73c82b30a248111436b104ac639744610949bd6b3531cce5d12a4db3314a44442d1c6b8373d6979b57f2ad61cedf445d01141f4b7156c9473c53cb5d131a12975dea8881c581b13d8995327063663798657e5f435aec86f4025db58dbb231ecef0bccf1c1072ed2d4669ca7acebf3b976d9d2e90174a5201bce51bcd4f58bade002cb2f4ed5e4b674aa43385c84b7ab966fe5a692db2b464b4908c1f54eae687b4122b8c51a87fba6a24236fc98f6a96c519e0021de35527f3f182bc8861d3f6e429c9258f4ca393c1f861bf7b1b5174301e6f18d9067cfadf81d9c574295657ec1d8605d1c6115a013195f230bc0f7d0e0a8e32103190aaa144568db3eed11c1e74a0642a28646fcd2db1f4bc460e22af9ce2dafeed3758ec44b33992472cb21b53e45a194fa6d8f2d99a639ebef2863e2aeb8822e656a1586ec044ae29f7b05dc2b779c84684da9b9f9278b983c5f4d33d545e7dc45f92793d3089b89af144628763cd63f7332ff0d61f917ba4b41db95a74aac1095d5e900a8f172d3a0ec246436f01c49136814b108e8fd2f05d863942147fb58c2f1e918f5e4c963a1e723cce66268c783a6f70851bc7f534508138dd2efdcf0aae54bae3b910d558c39f69753259eb5e8a1bf55d263c68a117fc691742d13cb284c7ad6b1a1328bc770743146056b2083de00b7d7dd7efd27bdd6d7c6c69292209e9ff8f2847dd2d81e5e70f6961a97e43c21e0f1fe418118bd5d51e789f2d06d3dede8fe7ea6637171d9a764a0900049713e6201937c87d05b107db05dcc92845312ac78278f230670045d36e102ed9ea388203345f39c0d3e9a83e21d080cdb73522eaeddedf8b5698a87770b1220e716028f6cccb28d0416bdb1894cac6a390662801eee8cfe4eccc6895be05b1c7716eabc700132c51e31ed7b8eb5f4513e777b7a64ee455346c1f00ec551a36a702fb06dd260d4d69c06eaa6cff3eec22fc17cb5077390f36a9c3e7c711dacb1bf6ee55aef0b97f4d920da70ca688418cd74feadeda5ea8581a2bd06bc9b3ca58581ba22d0230f9baae86fc405f734a5e638a65ff51aa75c1d9841d1d2bbab23ccd2f2a9f9ee3c90bdf707e4e9a06aea733f86f93c0c19e8047e1e89c17cae3b8ab38769f0f562ca2bc5dc0912006d5b97c339bab6accd908d77265842a2eb963494c80141fd4726a3e1da3bf497b3a37e78f04593581669f2f44e12da48eacb98f59754110271babcfb9ed59af5278cada08e1726c4269860f75eb75c23a9a1e52fe1f374b20ac8695ce8ccbba670645b7a4da5c1cefffd811c458ef933db3a40466599b4147ba6cb7670c6988197d1e3d41c00d5c4dc00b9322c97e35fb0a598c40f3705a22021a91d20b8a4d9359c85eaf9ed7791a357b8b21837fa77193d241de6ade66ae6964d4c5146cb6afa8568fbc24022b8bae662233e06130a27bb557baaaf9d6ef660079d1f87f776106476e80683a398e4d37cba1a8e39d9030c0c9e2908a75f4e3c19d69d7c92a07bf4e714afb9310f5a907797a17938260cc63638e4a4de3021d2d2531233276abb0c81dc39788b0c9f932327c6ba2ccf4c0edddba814db5c91395574d250a41d7ce971fc9b4e5f8dc254fbf7c95c271486b25d43ebe1e8b23dca573af02645012b04ca91e0f69fe1f75ac30dc5033350c70422f887c5ad312d555912a41e6b844200ad1e11e5a161138c32b8f62ce38abe01960e616f663569382614a9700d3cc9714be9f20661feba82dc1429e3794c1dce567563311124e3860b35ea92cab9e171f0b5d1bd88ac62569645ff90db88da72acca81934f93d7f94cb62bc9e4ec4cd2e45bac44b2609e8e52306e74e2e2aedd59d206fdbdee5f550091aba6024f87dbeb94b5e99200158129d27eef2946d33a70e4dfc26da8a0776a0194cb3f88d2a427d5501b2e93049b26d613cc0c0f8c0b33957d82465bc613294ed1c92ac0df3c60f13d7948b4b8a70bd187f7c15c99640df54f24a0e4bbdd1984fed09d1fe41d674b839db4f83d6b88a10ecafb77334024070ffb1d7b30fe575302daa9d251bd3fcfac3daa714fbed1b4c870339d89b0316a15c9eea44093c5b9224d1dd9924079b773c8d028922b89155cdc68ef73e8907f6b6eebe04ae4f73a52f09a511dcac61af4bc3faa2002347b6f9c3f25be045084fd4477710a718e5a8513c3ac661ce40dd5e961736059ae203851144849b9399284f5146cf46df54b4a7285382af0e47cd2dbbb0dd3d65fdca35447738b74053cb9286c058807fb9128cb4cc4b28bde8d2149a243949dc88e70d7e9e0e8f04e2759e9782e2b0e057d2e19b0112cc97b528ac0932ca2ab966b867d42d16d619264a6fb80e5ae479a03e5a83b5c8f34c6bffcdc96b3ecc66a1a90906c9dca56c4aca7538036d1d6fffd5c80fe0c48139bf6c689404a610037849e53a7813ef15c5a88f2f64e24dd5ca7687ba062a022a5cff96e6755b49d8049672f728df660f109b15a39a74218f5878a8f9fca720f92143286e465f9dbe85623495b0cddd2481ee6ed154beb28c6115212557b6b9f6f560f5bd009b7a08b7d7fac4a0ab67f2cc0554ac39bfed96f586d88bb141169c9a2a7686b93f10d9bba64518dd0f40de67fb450b5170642bcfe868931c8330a7a1458441168c9df5878f999edb74e3b3172661d23038f8c437b76a130b3c82b9537e48e233b72b04e650f1dad2d5ad5fc4f86fdc76db4fe86719a54079dd998c171b1a7837f5502f802bc0c131a40a68a83f719d3c195654ef79161c13cf9c7aba0abb585650a43ac8d56e94752a9b590d4746d35f756261ac70a4bdaef67a1f297947e6951b3659cbfb018480963d2e38c782c057ee6ad4c6607948271757d9d8fc9029bde4b16297d167db083ba30ee004c4affdf1cc024fde9ac3d625402dacc023ad036a049ae7e8652235054fcea949e0420ef98738b61a7b1066b6f6e8cda1c98f11b78e555779daa83570343717730d64fcbd7ee2b9367dc01bb6e90ead265b171c9e379b253f8177025160f04a45662edb169c30fa2dd7309c244545d50a6afb79502c3e9dd76f593435fa7c6415bfc33d8a543130a4358ef212c1f0983b468575ed4b385afbdbb27498f3670b81600d11ca0fe8f57b8fcf3df59d165d269e7e16ba6e4897a8c28a9cb47f18b3003f898f843f89df5cc363c12b7551cf4b5b8eef0320d7dbd6c9cf103f0752839d7b71efc907255d48cff835631ee53bc201f3230fd41614d1ff5b85bbef24fdb1da5fc605d62edfbb1354804fda88b4a46019929c6280b95232ac966f42ffebcad3c2bb838303f4a69d546d8ac15a869420c7a97974667edf7337d473920b4f7b0200c88fbfbeb47120b93bd216355d6002dec1af086b7e735ed7b05db5b213cdb38dfe5789a15049e44806594a9c6197360c520ef9d49d5a21cd0b96cbf54ce3268b966818965f9481bdafcce1802fa3a6833daa304f15127acae18b55840665a4274d825b68f8281bfb83983df6c16aeb814724e35c32f7172b194ea58549479640b2c959b6901a46f87c9ba192033d441e76611511b07bee9e68e98c748e77573670980f3d8cd45c4a798692d298730257c378ed587c99837df32eee08c6fb3306ab36885001261284fc4e818efb0f2e037db02dc9e4d687d33cb934f23f6a3ac55951a017e7bc26265f29b5738daa027787dfbf8f6ed9a07cef9219fb8711e9c8d9839502281576d57f360061d98838859492e9b02e237120c166e40bb288489b4693bf2a2cb2c644f35395571ee0163c05acf094d02eb60b25c4f7502912605f6ca8b295b18078f9ec637005a1d0cc162247e41e3e1a24f1bf5eae98d295d0196a9bff057a751ecd7b0b26b0fdd8b7356427f50716d00baebfd40171ad615b2b60d4aab2550548b4df46263ffa62d0f2531bcb5a4a8ba3bfaa2f5d1ba20a65e373aebfb8870a2d965c1aa9ca085899c552db11759ca073482d5eedc6f12e17e44bba81a08f4172bcbf54d8d32811b42407f2895860380cc362e0458e0edb82c2a0ea36fc63c00fd670693cbef9a90be1b8af0beb007022fc5eac1d1e2619a1526810e2637fcd90e101f2e107bed72253e72a502549a7f671ead7285225202864d9c66e8938383045a83b4d4e612023c7f7228c734fc3bbc834499b2b68eb511dc3f5677d2bcbffc70ead9c99ad18f38a0f13bfafdbf8db9fbea58a9b3b464a638d4ccbdba20579f58b5e554d0e8bdd70f45cde7ce9a3dd114f428f1a9681e11af4f10c2210084c8f35b1f18c2c49db1ff36e78d5ccd26736a99fa566baf85d62b2566856dedc1cbcc744e8a60adbc29cee139879dd6eb64805326d5e81388deda93d4c851a805a923aa45b5a08b76df0b25a3d5d0d2c05a5e91f44c05b320856cff635f0f68b2e31f9159cf4c28c4d305b2738107a315406fac82688b8b42eb30b37a30633485ac25d280d525265dd9a09a95796ddb1cb76d0d72bf7152c9f17cf1febb537717e32cffe97a22304f4fe9d5f6946280daac2be474ce288c23e5aa50ce393cf4a3adbe5aa25b0aab530d86152167a65404e56b89efdc8649b4e2ed0cb846bbfae9208e4e01fec70e8635d6c246618f5fb505b3b8327a489727a3c578caadbf4d0e5c02c3d6ab604f430190abd85401e71784e9db157144e25682f16bbc1cf09d4b4d40bcc31225c3085ff9bdbf6a0897a7bade3336805b92ef5ff2d1ee07eddfb0a4e86a101d606a65f999b98a50f45345ed5d1e0c31c7238a6f98e7b31222dc5d1dbdbc463d0192a1aa2f1c23b50b306a25d517ab177d77b4d1357e80bb10c0786c9622a56f9fa5269b1f24228492b84099f6ce506d12e4a60e932d0f8d511f9c0a008283d0b1050bb5de514a8f29114f96bbaf795a570cc45b572ded526cb16042eb0b33f08250fa9000772b32bc6cdd5a9cd7a68dc78b72787e8e8af392e842225a0eb433eaf3027fad90344b2b2d0309b936a45a4956ca3bc160dbf6059198c038251d634df8a359cd3f8d2f921cf86986ae76dcf5a98a4c5b97c122c843724fd56df25fd9523224a42cffdc8ec803638c134c32f6c458bddfab63865e4cd2bb0fac4fa36d70a933f4609cde49d23755966947eede1ded9a8282c0c3dcac55811891c6b45497c2c3cc389268a90c29de3ebd87b102fb5b1d98c3c8a35f4612dd750ef380e58f72041aa0971992c94447de49eff024522e8791c3b05f008ca73ddc9638cc59db7d5a822362f51c74038769415127adf693ac686ae9c4ae7d79634eb6050f2a9ea925c3ee9d0f9db44031a283d9bce6a51caf6db5ed13a0793ddaf55f0fe5bfd5ad59394c5809c85648b6768667095800b69df2583f7993d521f2c46174e59307c8db393248abe8da22be7c6d910e65ed176b756c1fc9f23793759b12a9bd962b67173a16d4b834c396274ed058dac5bfc3bc9c591da09c52f231c0cc4f6e54a896c3bc4a634b3cb095f6b53485b5ac672bbfbb3ade4edcca44ba1b10b9f124b70c5e03af4efcfe11ff1aabf44ae745ed4c3cff490d30d51035c38d65ba115abdc4c4464277aee6e29f409fb1a2cd24fbb2fb66ecc554bd27dd1a5a4852f694567d6ebe1516255b55d2e329017abdad93337b818915cf075a9ae1e19a04f68416c548652df4547272d2e2fe1aaf6b048189020fbe0d00b8ea11e02fe036e2742ad2daac8eba46408900b8d144750f216cc5164aad2a130276ec7b45b592e50f7124f62cf5601bfd508c7a7c51bd1bc2b518ab8ebbaaa09f00e87580f9aa959d9b22a2b130d973d5d801545e9f5d87bcb3a019912956a2e61e83565002890b4254f0f521767990e0d97a3a0c5d9baae16f8dbd6ec5d811dd01e0bf6d955d569192595604122b468f7068e7389048958e9756db8358b41da41d015de69ce7f2a5777bfa00fa956916f6ababb25a9c1b2dc8348cecd2ebdb5ae144f9953c857d45cd852b32b5b0b093a8c8241be65ad4b76142398c666f27338749068cb6baddfb1ecef73ca1975825624fff8dc3a3a2f406ccfe87d6a3423f1a22bc41580221fe41dafc444489407083e941e58876a6847418530a2292b86b09bda159300b942003b2687a881493f01366ce6b59ceacc927a9837f4d9ed5df12198189cda79c6bed6ccab4c7989675de267bc147f05006a375d16580cc81e58a3ba0825e3c352755d69e04f54cd2c445775f29ccf9ca0c14ef4f582b5bcad0497d63b6f5acb7a30b01e2f50ad02aed19a4bd6f4b6cc529fd966319a1871ba143cf3c70f11e0faa0f7aaee205d13dd8b8528fb37effab71f6a4410d2e3da8cb1140e8c16d52874bad5559c0cb87fed26b4a7f3f6a8651e947eebfc66fdcafdd1413b22d1569d397d90fa5f839504a5967a05e4a59eaa0716443ea7730f62b3505f03f3b7d2206802ec31439f92385d728adaed3859c2721ba74f124eddc235a33e6f8ae735b382215c4e8971f39fa9147dc22e02b164be9a513fa3b3ed2119cc7aafc2adede02c3e227643a4fb7ad33fad1ba4c7b8ee9d48855c641195082283f7f2a007711f09c26f816629ce09a44189d67f92b6a4c077269e6ef623c9c868372e1723985b80e852306ec19728e4802bc2221fc9a6640f3be047c980b05aaf3ea6b1ef8e9397de92899af47f889e7c9231f379dd5b92985d9a90ef28e98b177a1572a4a929296cb2b5926791fbf917473cbaf2a45239fab29552626a762cda7c60eb608bbf1e12efc270a6d7c956f9490e08c9d96dc4ab6b6ebabf641d653ba71c56303f19c8f28f97b258c656db6f4af825ea77a8f869427f0ef218ab79b0897da8462eefe709b2c7f1e32d0006b9adbe6be0c475b7c02b152f2364dc3df095d53f9fdc2f2869e1360950037dbae849a68664d5afda84fa7eeb17e35d21b7943ff1c07678a49bc789aad28d06f84c456f667e0240ba4549621d5a579910b4d487743a1cd4db7d4c59deea07eeb59748c6e8f373a7650e4b33d6fa164f1c6cac12e5a6db5789d6c69e7ad28b99f7a3898b9c23c307d9ac3aa7222e3fb5ec04e856212820a5b0f4d0009a8d953149ec7bbb2a76b63a7cb740c37cd365824edf84695cac00c325724ad6fcf669b0e9ab4e60aaf0cd60dc84ec598e86b40eb09a1e4898e4626125fd4130c2140a770da1337bf18e1b4015ce76e9ca4998d83a0b5808f6be06aac02ca998d92c879d266c320fae653ae50db58355af2a5da7d4fc0ba90c1ad88ee1b6ae6e89a4f27464696df067bdb73aa1be764e72967f02733a0fec0c796daef7acfc0a6b79a40413082c3e214ed4ed581360dc790439e09b35bf27182c2da0ce23bdd8b1907e9cbc92820f28e2539994b420d4944551d7dffdf3586ef2133411f2138cde4b18765527a8c70c4e490ccd6ef24460b3a37cc7fdd49515f28906aaf8482d9dc72eb26f6ac289ec6c347e998d081ecc8b436523955e97327713b87a52a00e52a6b9ffa3279c9cb29643b2fbbe50e5d511529d6e88eb894b597ca0a25a402f2b4a12bb373a54f879e1515e4bcdfd5a95737ff5f49a0acdf03a95dc4f0026a8872f7949a49d95e6d6f873abc0e326bcacaafae14f3b268e3dfae8d3db870b970bd8bec0d127b38589eb272cb86f87bafeb5569cbdd7f4261d40afecfe2212c54e6ce09ffe2f1c33c739f33cf0abe4b8d30dc20a469640c03ee17e8c66ca95edc2e33d86d03ffe5a27989209465f49489c298e002f756f4559b08e28335b43c7fb083745b531eada50643d5d74c355570041fb18d36e25b0d525e6737932f18b8d0b2af834178e9d9899c4e67177ba5f98526c310f2c916bef37e1fd616d2ecefe320d654810adfde5b219551adacf406e2090883ad0a7e9959491eb3ad1074e2b2cec12ac29927b6055fd8a2d38f069a5189dbeb51bf590f86d1d78d6dee205f177e8e5e37da4fef5e855634d9e4a05e7fd66826801055e5e50afbd3598e5d4a531ed96aa73e7a4abb5b87161e806da1ab6a1214aaf96cd10388917aa4768364218f0ec898e3154047607d4790210fefeb957f60c7a66dea29bf1ae56caf725da40174363e1a40a697caaaaec6e6c1cd890463e2a4784e1385ff230ca410f92ae4766a57dd3f4688fa707125bd8d4a7ae158d2ef41a0aedb0e60d66de013113ff835c7a186154ba98ea66b5d75d1f27d7fd5ff0526abd66a4f5ebd5ad248ffeeb987923aabb78b53bfbcd3b173d05c599c7ae3707bd4092aceff340654ef010550c866639a2f874e85c4a01d31c93b0a47cf8554c88d7722b2ea3a0882f2a1a9adc666bc8efb77a0c8535f28fbbd0afa3fc70357f1b247e1614e94cc357ef5aad83626894b1c85837677d5c0305de49031c615945e7681c32aa445e94e8301b18791706de1d526963e105a4980c7167cd96eb981d2c0033ad4b9667ab2b8674ed3d833477e1a94778db9b3af39b4a2f5bf761c6ef2f83a189aa418d1ce88a67c0842fddbd3b7be7248ef03f1de4c800080df9b1b2da39d9da2c38d6749123071adb433e9bbe1ac0e475b8ea9f01cd4623514f97b88626e4d44aa7259051b24ef332eb324dd1d2bed2853025864082dede8e7862c42541204f775fdaf3b5479d1bc3ed074e29d25e1ddda3c1eb46a0b995d75f0c62f8636d9e45dd05b3951c7bafd44287cdfea16e123496a2c227638eb878ae077bb004f3161c5c791155a6eb7d3ec1e5b0af541cfad850483b9492c2780806b66036a954ad7d69df8cbb6f73359827dc3cbdff9253181e3567741e37a866682799bf91c3ef0694cc0dfe4ad8a42e6cdc24e85a3c7f6e564aafdc24de2d767bdb3443b6f73f4391324343a186005383e7632c4014bd9c2031eeedd51201e1ef50e67cb427d51db669c672b03b962d59c0a49d6be6f8510386e01783392db6db10c8f059571d51ea284860cd9b705fbb4306182c277c97e238a098ba94713434a1c02d00d14f35f70914b2ff0934a46bb5332556f21d42b28e9a9b2b7fa2c69b938ae70fa85561c69379f456825fa4134072125014b70d261ddc71bdaea96a2dd2445417da4dd40f2b41eb6b08021f1017f4ed505e09366865209d09d2827442c86a41ac3bb5f2bdbc0ced0f4422441a5dfcfcc240d801a8ccf81a114956f571674ab8c3c7bd0256e8aa89fe6ab5bac71202738073c97e4a3bf948160d6b1d268dcd8b064fa522097994fce45a46e14a03c2b43f1d09a14cce2f8be897fa52770ad3b4e724774999f208f7d296b5918c6838a87d7652d011c16c5d145f768025f7bc9e815f52a35f71040a30941a250eae37698e7b3f09c9e2278b6440592d298fbd104bbcfb1fc082a36119cc5e6bd5480e5ec8a56f906c3a40081b1ba60f3ad87cb51bf752c673532ae1644717888bca890edfb2d0133b074e69e265c82d02fc8c0ad9d70d1775bccc6876e0f52625ef753102c834591e2e4ac5fa5d92037d3d7aca123b8fcbc436cc5ca32242e7014d0d8d4cd6bdcf79327c9c95b3adf7cc5e51a5bfea8b886e496f333ca0027767858a45d6c9c483f5c56632aff0ff0d30e0a519f5224db95f2cf33b91da9ef2792424308d52569d1855dfc05ac8609539ec845344bed5b909a37ef6827e26000d826fc368e15a87c90974c3b1a1e839a17137ef4087c424129185bd593dc343d276edf6425e26f4434ad180d457844d7f389224cffea8dc277065910f6a0e2d7b8db341b6fbe36b274103bfbce6ca1ef3c82d093fbafd5f11ddaba5c079525f09d708af7eb019420833c18b0f1dd8d2cf6301a91aeec448084f29bf6cacfa8a2fb9a6548bf818d9ec8a931aaaa621e2095784102f54b32c7f0a8459170837fbadaf81eaa0b55910bce493ef48b230cf3f6412ee684af66d6dc18b6c424eb523d04ce001234dd76c4e9089809df1167d57b5f01fe360179840b7306850760f29a19d70f4c3fc6998a497ca9495be9c6feb0026214f0b4220939c29ac4d36768f485217bd6398b7f05d38f167e332f61c0d96d53563d5f05491e48d4d9b87ee1598725ca80fbafcfa9d61f6e0bf456cf7b0e9b312a71e7c626d4aecc0af2180891f34056e86d94543dad23dc820c66ca83e28cd329d47b025f7f6209729d81c888e6ee67fa0233a9f84a041af38ca62bcbb05aace392eccf96c55139b896bc621fab2ebb02d637ce74ae8587015069c4f2d4d7aeddffec1b099462845ca74b5e5b054b060a4029badd1fc9ea43ec4756b104c92af6fd9859fed6d3f0fab4c6d2ba2a1ebe78a957e314f6e8d7614fb7f3e85f9ad0d4736dfe34b65fa5c30675dab36a4d0c5511eca9d43412b84ae05b4d22b3103a9b993f68df77e97f11ea148843aee0c4e58143e9097846480e717b209e6a3ec0205102036c108ad484b94639184948c2683c4a2f00b7921de2a5c3b81362a9d19f80465f043082c77e6a20a37f2ddcd883500c14adcc2da9d18cceb154d36a88a431a45075e8c148ff3b28c5dd88d21f3225f72fb41bdf2616d63499900311906eac4a1fdbf1c1a416e2e42c78e200fdbe1d3d62c558492126495a670ab5f46db34ae46ad37ad99d111e30178e8f237888894b5291917317edcd16cc0b6bfdaea2615d6c1821952dea01a372307bda5ed965f01010299a0631664bf57d9c1813667ab7a05cc1b5f10684297d0bffd6ee5d285b2ce8465391e10d723d5ee99a67fb79709912f6311f057bd93b361be493ae1432630d24b5242ebf5c048310238e31bfec35a3f8aa8c9fe2c6c08932f9cf5ca32866c1339bac0dba1ef82c2011866a0c6df2e98f96f9ec11dbd7ef881da836ed2fb5bc52b53373f5ca85a97f2b10ffff80dfac04342d548f1def4f2bd5c9f88789ee0805a38dc711003d6afa32def44619e72da9f674cb81fe0ef7f7c6230c5a74d3e6717b898d26d3421722816d223ae55c710d599c20844ad64a7ebc37d826cfc2993d646c92ed88fdfc235a5c0e004b59a6faf6841ddab733713d0c31194d2144499280431ed551010e9b789629b0f58f2658789ba11a8dd20158a0580aa78e6a8c43cd47de193a5212ac33503814631dc7f064dfae19566f39ac3b792a4547a139ee2cd04575b22b93d64a2d04490cbee28166f898d6c93983ad2c6e645beee2c29a1f6cc45fa0c7e94b59d624f4a050c9b138cbf38e33e0de9460a32a835029fedd1183ccf41d8f2e63d51a862948e8895d53efc674b04a11c6766deef5a5519de87b94e242c19c0b2a4c37ac3db94a6daeba5af9f9ff034e6308f7da3463a2b9c8ceb9d177b1e80391ad79df424ceab0f47c2597ab685b050e516ef3df5e52cffa1cc2b9f02c0102b147b84698d48e2ee82d0b02711cd8a7280d1dbf1930fb3f6cf61f0b53d8f15f3294406d4ae11a7c7bedfd414902a03007ca484131569fa16221c271678aabbf51f4a174a3114531c82d5174b121057fab7db3c6bea1c78d038deea462512c91c3ac280386be832c25a56e534522c4a4e9e40dae3fd323912b30b48a963e71c12968ab744d21aa204a378d69f2783145147d052b358d3184ddc84e9c536a504e45a770aa5f96616126347486a28ed523dcd860c5ff3d63e44414d860526ff8ecee1b892776dfb78fa9d6413f6ad997a6a3f6a7a3442c4d3fc131b50ce1c25f7f06566a3b6021b765ba01356d438d2ba03cae062ec91ea2160fb2a2cc68ce5814a0d43d64d08fc8d4e50455a76ed2f7a0bf5f9c2efd940bc87cc440eb3b5db00f60ca1f14f554fec210856d7fba1c38e0780c05ef155eb57487c767fe6d3600945c536150d1d918affb74917768c32c6e0b1da51fc1ad55a70b1ff4f8a0106de5ab229771a5dfc390351fa4517cfd77a31a0bbb8b6cfa65a8d17dc7024e6be6cd55ab7db9832b780bc94881d3cb67580c5f0c4edfa17d01dbd75d52475eb2d1027a8b6118ed82ea28fd3f840b9eee02a4b7d936d7ba56cdf4ce509b872d3e66ad35eeb01f33f50ba77e39ec20c36642ccec098965ed9302c590a45bd733d56204fc29ccf54956000cc984bec54585b59315e3c54f116fd7fb246f138ced822336acb807fcf3574901c9eb83bda4741bc7a456cee250ff6b2e48090d36cd402c490e921690b71c1838da62c3f8cd0952179ca81f21b5469c0b3b0c5d3f8a5854372f30fd3da7c39e5be07c665804ec771ab953ece70c437a991cea41915e95e917246495dd45b17e5aa8d15b089686bbbcf38131e05fd51dbbd5e917be14b86a62a66ea32dc992902a24890a17f829c28f6e4389ef05a740caaa072aa64bcead3245ab2cbd301a59e7c2185203113c5f9c0196faadf06fc7795c72dc398d4c309ffcb2c382563904e1445f2c723cb350c05c91744816d7770c45bcca5ccfc934521302ae58ea6a1101976a366e7d0f90db604463d3b6cc03a466ca73a35ef410691c219a6201faf8479150cf77625648e891d501cda38bb7557a33aea3b73541866bfa1962ace1045014292a732d03866b9eb972f06c3bc02d86880f5ce29e51c6c1aeded1599f07817076970648943e227b2f5574a40422772410a691adea6d1d03c6f21aa7acc1c567e046d7578a3bf6a8e33f511e434f1003fe21ffc0e28655c3db4e312211ebcfef2090a99a4dd95c341d1c9bf1e191d867ecec33e7daf0147547636c4c6adfb732b4d3e242b5e2a4efe78d3f0e67b01e4411d9f6f78d6df87f5e755304e39e4a570c5741ea1cc2517a8d64732b52b10e2cae411c29261ac68703525c3c50e4e643f6793363a2befc072c838d2b6788eb07d02bd738979b68320b084964e0207097698b2e11c9386b505806bdad5e5c1f8eec57da02ab9e79c3f5041f1c040704830a87b301957fd07dec1079d8cd2a8774f7dea5c0e8c961fc7944295482eb58384a6e50989cfb34232414ab61ff6ec1a536197bbfe786dfa80b30f8a9c4204cc2c6257feb3d4a0784e6651548bfdb00823c071ec54f81874a598a57d94bf203fbd3a4aec3065bd8183e209d595a12f03ed665c561ca43036642ce2750ae32bf9a8e67290d364a1a1cd991f28b45e01d189b77cebc71d34991e4525283087128fc06b833dd2b30ff7e6cd29b2f4d71d984586ae69968235af8e09b663a3a19096425c4517f8ba94292cfb34ec7731ebb46b8e00f11e1938e2d5394e86f315197ca31eae53f071902de874e26142f95667b519874292bb47c5fc4461aab709c8eb6e77885e21910c91ab0a231cdb6f9d3512424b69efaa799eb970790a098acfc5ae7420cee7873b09f061f5289f9645e8621590d912e49b5a53b24cac4e2fff46765a8f551f7fba27ff1bc57d735bbbc357858d8231aa7794252691a25a22d90a2fa9100cda98b7790e60e64b89d1d71b01ca632655f2a8500d91556d59a3eacac48e16c16b5e25cb714a5ce12f2b36cef51dfda5d7f75b030800b950061ff16820e3f2fd01739759c07ef4c420d1beaff3bf67d0563b17f9650a90241fddd1ebe9f536aab1b81320b8f9c0d1941a256b76301895a036fd2877a32e0a41de5f31e1917f9254fb91e1cb8e212d88e98c3c049339434a5c926d2dcf6e8ef65176cb60157c4c45391a51a733fc7eb8c5c7f7d1acc0c6bda301b66a7e2badde7bfd8d329ac9b0ce72bb3c609379da7fd7db867e625f94f97b3924ed8554b2896ed18cee76f4e5c1b472f9c336d85291bcc9841224b9e74f73ab74f7e01a54b2ccecf8475a383c21eb2c2dc305698a73a514ff25929e4d83258426bc3a2110e97eef4fb585408e948810d8a58d569bf76bb9905bd7bac7c7f170b5da674de49114b4a527df77f8faec2ae6da8e48d08de8e8e12bc3af64438e0e64233cf1207c4e06553d21c9b1b8f5397a7996fe95b5fc002ed1740a9c228a58c764957889f0a694e3739c69e58a20597c1cb47453beb2db3590f0761d96202e302f994c0fd58f9104d26b9e02b34b259f094389e58673c78913fdbf9122e07f82670a5c673c81932dba642793a0e8549cac56bfaae0809d610bd7a282e486005696ff5539dfe3ef265493a0b6ced6ddd56e50fbc6c2a1fe1d7f41ef1eddb3fb4c6c42b54e4b4807a57828e40518a187a2cbbfc131d179ccdbef596c4e1d3e13bf8d67eb0f7f4512f4badabe22c280a1ad40b5e4bb11379b131f61f2772f8587c746267bdbf3e43f3a10c8a76d5536db82993b49716258fde9ee229845854ddf0a3a5bd28998ec8f3430923d6403f29755b8ca1375718f5f71380c98ad7d8eccba23d0e047c6a1ee132808b01b5e20f2bfcea051adf1ac259ca3fcfe89f62dde3f6d68f47587559bc9dc09a6188ab41e55e82ed1c31ab68a307f13bf2fff275418911ab1b062a139fb0cc65efefd4eacf414775ca1bbfe308a84af68e23e885978d715abb1e0df42ecd305dbe7190d551878056f8ac4413fbd09418f1c488818416c5276851bbc965be8992c751bce10e5859eac94a650e15520d83aa2bf479f8b998699da1b38a3c4782aebfe66da86182b327b74bcd2880788811c7cbd736f5179b77289b91a6dd23dea8fdf0f078a41864173b85ce4bfbf842ff6717b0e4f97e6130ba144a87a2047cb003f405264f86036ee253d5cdcfbd6a7332b24c5321e594aea83887bdb3b0af674419585765870caae075c32a171b10d39b6a29c9708e045ab082a18f2c2828674030583b28dd0055e761929963c0b9e8f541b7e43ddd1be990987a74e1b2555b76463dbd7d5702fa600cb8276f810673d61e685e22bba31d1f0899211d59a4eadd896146b89838e69b81a3f1a724a86169e44b38d4e4792def555a07ed1fe0492df9f2988dcfd5086ae8ccfe74ad08008a3ad13ac3ebfd22e0d2877b4ff0e3c8ce742d51947d1faac6f3aea22d083d52175480aaa24194eb6c0a2ff93307e92a798fc2dfa19095afc3dc1b04d734145341e3415ce503bfce5610af7662b15d45b19f70d1c685c1b16f7d8774a1b308093fbdf15f4674f26a1b1eea9ef8e3ce0a407b44d8ec398f151cf49530340fd99c13e196406c989e588986781681a902a531bb95041eed1badbf92c676629b6f023a76f9e09f3f618cbe156b94de6690c08981aec92050af482de039a490cf7098257957e92724f86d79096508cb0cdf02d58ff7374a190594782ae2c9e509b87fdaa8d9945ddfb4b336997f95013e9a9aa3ac6b78d6125cecb798f00a5af8e11b2605ea8a9a85264c668c3e8c6cbd7092c4c48c74cd230cba2092eaeebeaa3ec96b43c68cc8702df07080214306ed211d6d1944ef5a7e5be30019405430b2d3af4e61f556dda21e347fbdadddf8b78c08a553691e4205d5141335efcbd7f9123731ef0bdab0c40cdc674ad1447ae8dbd3ff988c4b53f4ab523773045e6404d366bd4c93044b113deff58581472547f7f586c544261bda3ccbe1e65d1814f75ff9d6e930011223f943856d6f0c9be3cb031e179af892f8e27d0e101655fb0d32f4283a0dc92696ed822be1091f78556d2b45476074cd3b8cc1fb2291a4c9460fe84127a4915e292667b426a5c99a93488158ce20afb168cda8e93bb2f58380b792d576620ec371aa53670bccb57278e2d77dd3cb66f312df9f5a572b54e7445a56bcee838e8c937f8c865515dd9fb35f6dddeef4bfd877f98b36a5c9e791f7fa0acc075a90e505e9d2722cbf30f8b03fa951bfdef8fc60b374bbcbc4c1d2c90492f0c070ba716c1745826d1e4629a1b7d11e91cd5eceb498628a79a8f721ecb20a327ea231045982596c22e09c3448ed444f3144f6bcfbd39ffd1043d9d1df2af1394e937da2f598f8bc1c468fe95033d23104e4bb3427410e76dc51393cc4e94109a2ca56dd325bcb1c38a0204383600b0ec0a812381844589522ac895566086aa8fd6aeb0ca40a60f1d3292fa8cf6dfefaf62c6de7dc079466d7acb2bcd7888fc435b011aab9dd5d04b7c079dd14427e53d737331cfe181b694f16d0f2ac975ef87a0aca61ce767020b208029461724b7bd2df524360170d700a60df02e08e02254bed0720d00114a981ae939017b76ce66d92f998af5328f2a7d8cc6406c950519300ce0e6c5f6cfd92af13b64814ed267109e90c9cf415387b12c7e26e079e07b9839f874c84768eec968d42e6ef0a8c82c6a4f5b00d3fcc32128f99892c8299a5b0becbdeab7b2886fb18a28244ead5c05c6cfe98aab67794240d233835d42eab1f283f438de8fd407fb750ab816356f73c0123e02a83dcfb2ac3e2a18b9fec007516af56a29811ad4c4c80e8d49cbd801b872126b7914497269d543c6de84cb49716006d2850d0197f705c954aa2346ed6b81111dba418dedf069d8c5933a1fe85c0f313609320953ecf94880829db4ee41d3d3ad6e5c2dfe25c5e99bf4002092f91ae85967b348fdb4d91050bbf096c0fd9c11dc1865628f671727cf5a86b19f0f4b150c6ce319dcf1f883ecbc0f4acb8cba6b433fb34c633e38ba5fa882b95eae0168a828a7d01ba3d6fc5bba0126fe94d59fd823d6f189fd12ef891cbdf2c9de7ebfdf6778badcc99a688d985681cbdb94afd09a4bfef2eaa235623bae06d61784053989ff48c2d138b720223c2b4303799ad66dfa071a9cb82339cf83adbc9b996433329f9b16dab2de4512106d71888a7d2fd9baa82c3b9404c5160ac4085109fc8115ae2c7ee6d19f5db1b2493c60759e2ed68dae393d2687fa802c490934dabdbedfe6795f5dcd743ad2684e9063dd4679536a5f7b4e893c78e5d67f9f8184724873d4eaadd2b29959a5f4ad84803c66bb3fe84179e35c4f08f16e403863ded84974411a530c385d2dd0e825935c2e1b3ac3e18b9a81d0012e6b3ca288f5a44480d5c223842d43c62df40e106afc5931c384bb3fcdce6b6e344527c0064c3d34a62d50dfe941eeb6a35a0fa2d44a855cc8a820df85a886818dd913f0bc2183f49fd11dc0d2455da8847f89baefa053e736999dc0454e0bbbd14f70394aacb87e387bfdc2c34a3b48f180bd47cae33fe99740431617487c718707728e3b63c33aa2552cb2d79cbfee32898fc79683b43f2f16aaa36d189611263cc849da3a3d50b635128afeb026176065ba0f32fce862a04dc70c64915dc48b93d9088e52f14968b738b31ec56020c334547d64736fcd45ef601a3fae99d2517b001b893bcc73928f9a74cf2ed264e087e72398f2045d68a4160d121abed81c901fa02986e341e3794699d3bd2b8c06883eef0bb9552497a23c87ae1c48456d710f79792efab6da59b503c240fef6115d853163002c4ddcdcf6cff7618841a7cf66767eb0f14bbfe2e064c36a2793219e4031a5d4fae71846abacb421bf52ddfcba7a86bae148a443455407d46c54ce53a44a42709f497ba969eb651c883c7ae527036a7438ac7504fb109413cb383a7b490a093c217b38d09b9d02f23da994881c242b2dbbef8090c491113ae048bafd63d543b419bdb14a68da9589b3bf174f7930b0404e50b0c3832dcc5d99179f25afd78810581bc33209a54f8862e9c82cd177778c75f31db48e836b9c50fcc73c365825bdee6513dc1a41e26d2a8dea55ffe5b62b64d04e19e44e1340c656c2371dd2b2651ad20a6044da5d7b2ebf24160653dd46ca90d02e072a0b16be38095f0d1bd1d32cb114eaf8d8087bd85c929750eada97ff594f88275ead9c51877e51b9d7cb5c56c1a57ed76b90ca4360d4ff8768f1975fb22f7e84894fbd2d9b4234ebd9e9731d9203233ba5133714c6bf2f1890880bcf654eca3be65c7aa7c517d9613af65a4cb00a2f861800e26f8525e658072180ca355293d37e258cbf874e47d69fb2c4ecbbd5568121c8ead2700f9059fc52d98a7c10ff4594b7940201294394d75d210f4210cf5588673ba54134f3537042aa26483635d84c2c271219382250f212f176f8690d0d99a40192223da219c92aa01548de3e9845cbcf5835ff2138a745d9e473745d8d87b86d36161281de52b699f8668ed8b083107cf031bb2d02d679cfd8fb7579071c690491f2eb1132bea149a19f049e7e08062d960d814b91ea523315b08f471f4d83ecf223210226f474000012f055c544dd758638fa99d1ed022edd75738b8945619fab45ff4f5441dba5be5c7575a048f9c0cf1bc7b1aeb656f40d149e373f8c526c85dda9581d4a39686d1be4e8f46366334e72bf49f47479b5f85560aa7bfb8d3be2ccf229f59b44c2e1279feab5119755d40163ec7ab03cfa79492a99543d2247d65866c260749a09b2c83ef34eaebd0ad820513cb7c24302705c5fe6a3f632cac25fadf9c46453115dde92328fdb6cd4c2ba6e48a0b7624e837907d6d1cb5ccf28c3f93f255ef3369171f5584eaa7f29c374537741e1b4b76e4e5715c6491ef917f286336482888de4ae68fd03ed7c4b208de61335cf2bcc954f372d66b2d1b0227ee3f3c447be8197d8605b656af157805321d1bfd603cc494b6604f7d9de43a6315d32abdbf8cf575ed421bf6a49989bd5f57238406956cd50e10fc89c8b6d98b848144112afbbac34f44ce16408edf75d20c489ffcc7089bddd5efc339fa89b9f7760e5d359e0c8204bc6d2a10876c11b23efdc46ab13b3dc31cbe497fa25189671372007857f9e475da4c8415df52869ece4a12a36848c130741af3e885fbe020b5e0eca2f98db92d1cb90b8837f20aeaeab3530780ea2ee6ce114a280ba7970376cdbc14b98e4f2439b66779cc942ae5ac5fbacf0de5aa08f647e1edf5b6e8fa148ef93ec69428a83e3331a304d3b4b1d23f434db69c0bb2b45eaa9afdd30ff41c2a14b92fa87ae696488dc30cc302b30fb7aa434fafeacd6067f7286445767e1904d5c772f5802ee88ad6f3075dfa2586ecde7f32882925826a551402d514534598e66ebf9f661432835f7f53e98e396d6105edf130859736f2710a5583478b28c12c95285e0ae60a2944d3220291b3adb2040e1f90d1b3f30799185b012b549b2f4e77e62f3e30cbe2a95a43a2da8d34b49d866b49497712dcbd2377d9e5ad769ef07d6558d01d97e2b2519a833bbb5dd063f02726f0faab16f77c8f2112efc28b85609bc36212cf7a68443225624bc4265f31df97b75b70194cc9771477891b757aad4de2ff2cfa68388b7669611ab02276c2ee034fab3f9fc20b12397a09d01a78ca50ec62fea47e1d1f5151ac78c39afaebd35ecc04f6cf7332b749897471c5a8ca6e81d28433a36402f67b4621291ac85abcad27ffc405bcac6d8686ef738dc4cc74fd8f60d2099c5471fe4b3014083eb154db097c1b7b530b91a0290921982c1121dbde112cf17413cc5389e62ab103b84429bd047f89096e2513af4080cb5277e663a8a1836203a1068e6bfee865e72bfc002abd8b3a6aad905bb259d9c65754183b116d37201b5beb7df6dc4caca67ab17304c00f798d36302b7874682e49c9822806fb45bacb41d77731b4a5d84dfe523780e89914a6e4b09e53f03a746129c215ed02ed814f17bb7a0140d58602c5f7d3b344588eb91f547ef6983af99a951be1e7f33633eeb062779cb8ae05e957f06cd9c86f0f5d619a5fa78aa2ae846bb66c501fa4a6aad5bbd2cdc3eab257f1852139c42e83bd941386ff2d571a404611ddaa6eb4348a207420771c5580af1a9a5e3340777e138f88b889b13cb7f2571af8eaadd48cd1d8e9f38b5d260bc02b5bacb9e9a4797f010b2eb7fc14dc46476851a0a579599ccc73bca63a3a7c524924d0c8ea27384550fcf5ec92896c2cf9f4f605deb7340c86dedbdb0c3d4cd30294c8f20098281c56a3057f20c9e7100cfc3587f7f80fc017edb982f4b7c2a56c867e7e9d6f12b9e8774e9bb6db7c53e2a5d467c5c44d79ad8b531c6914de19b62f381febaa6f014f779a5d31cec4a97f2ea012a9549db375d55afd7f225b36d74d8c69b411f4711696ec4422bfe65be7d6e38b25dcc03101890e8e851112f656c5e9eba120a566d99861cd88c526546635d31c057555510185081a72894ec17248807d1b5c9b930b977c27909ed058c7d85ee0ee1513e710570f9d098c2eb40594c5fb66aee57d7661ce195490bdbf475300fb8ba6aa92fd924dc708c086b164bd5a53da99e18b267223a6ef56d374f83eeb57e34b90814032e3620c0f37b263186e97d861441f7c7ccfa82db0af6006d1d1163d865a4a47bce3ec166422b465dd9cf2146bd1e4a3911f6d989b4ff8662d20c219528ebf4e454b686f3ab4925cd2444bd731115140209e9084bdc5d522466a11f80852303d20c4bed1ff74a15e42e616d9e4c28999a243e4d568d81988d8331b3823fea32f9a3df5b45d1136a5630b7f5babf2e1c2028510fd1a5a7dfdc4f13ad79b929cb86a13beed31f62f60a8d0fff33695b2cb4930eed1f40e0a471f363ee8c43e5dda32f3e071caf0d324f92a01c06cc6a5f0c86a913f2e205c82684c588b762e6c7fb39ad7b4995b706c36ca6675575bce5fc18f9042162cac0773bb8f33b9d2fde9951d6192933c3a23bea7987f799ffce09097fffc951c743ca19b2d5b1b1a435c31b9af5fbbf84ee90fcff164e4ea80cac3a67dcad3b9fa0193431dfeae5dafede46f00c1d8a0d10aba32a35774cd54e90b8bbc805ecf8fe252ac58d87689e63b657de9f78a9215d9304dc15abb4a9cd7a53a1d9c952b0eb9eaadbb4133c6284e87bf76716d5abbbc1e83f23853a836ab0f2b58da7e39e6cf8bf0992c3b81a912d8de13d4b1b654b02ea1a706e1d9d0a3732b0c62f5a22d448e030a588279592018564d0709726618c9f7a24ff6290ffec2d31475c5cc173bcea9cccd61b6f373733632c9089627a0a41a0ea04583e557cfe39f78217e5bc1cfe6d9006c3f61e165a09f1b9e88f7c1f654cfbd8a2276ef6e5bee2da54c29057a0783079d0752c6cbf1474e8e7294a38c9c5a2dcbc4e708704cff49a6f846e330c0ed1767a4e4acafd0c0de4eca396b245123896dab3309aa6dd5abf1025b23095be305b64612357ee86ffc1c60e16ca86ca03a29dd25a36c13d608fb7605092bc3134b0d25ac9c31a36e1a9d6155c422d7c5c70a0ef72a57ec8b840b89f4803375b07c3bfa5a8ee1ca954a5cd779def77d3a3c952a414ebaa64f070f3bfc0ee118fe1f3e7aa858099eee8a04b9e8caf874f890d14346658367cc606171c10509cadc964f876a875f1b1cd3b1783468b8e09d4e2fbc40c383018693e7e2f282f7f202804f870780ea02cb8c1a356ac858b126951a5f0daf2bd5a8c1d51a356ad4f07e158ee34a9ef77ddf0d0e151a6693c9d64862bcddb803a07abf4f47d5e179dfa7a2226445cf93318515bdbbb222c3caf874783366b0b0b074e9b371f93beb28bbc3afe7d548c28a562c72822b7f5e91c89561895351a92a9b46a78a0a139bcc8bd7ebf57abd5e492f5058c935dbf7cfdbdf516b5ff6655ff6659f46aefc25675ae6287fd37f410c9b692630aa7b81c27628e3a856a958bccde31af7258e038ef11715701d641c0bbaf890615f4633819951da7b0fd36ba0086e419f7c82577d05a7fc4fa92bfaeb95ba6227c9c1f596421de318771cbbf232dec186818db302baf8b0bff22b21910e92297f1b12a13df04116707a982d9c27b82f82d3b5675faf17d718e0fabbabbcbf54c235a65b05af7848a04dea889ee48e54afb0d2dde42e3af4fd5440177b590b1b1c55cf51affa0a82c5fc5fe0c2bee085159dc759d0ab20ec3c6de3ac2e144f4ec0805d70fde5af9d26d75de8fa8e951ff385156a9bbece5ad8808990a3981400891539e6d60796b2d1fd74cce721570e45a7fca5b8ee032e12826c03fd5a14d1b611056d4bb6cd8a2df317d74879fd7d09af3e4ef5bbb003005471fd8a1b93c5f547627a7fd56aedcb7b99fec64d214b7db130b26be37695afd726fb9cc60c1ad654a8689a695eb425900799f2e7c0664969c3569a188e6025a803c77057488c15d69f97806434e33f2c1dc58d826bfafa8f4bae38e91ac84cd3836bfcb9d6ae61f7c8cbadbc00a698ab73dfcdd97ab27f721a1a58181dc388759bd2b55a7b3afdcba45a9fbe68bdd0893ce5ef463beec453febe23578eb35377c47a7780d0050ca7070f8911ce13081802a74318231fb906e6d6d4eb5d0e2ce9aa2e83aecb24d73fa5052bbeb4eee988b7a5ad020061c72e0a69384bdf33991aa9a7fc4d57850bcb329543b76e28572eeb46f1515c188ebee335143afde04336aec843fd1e23fbfb4ae94782e01bb20639658a07c134c819e89ca1efe8e0cbc35dbaf38415fbe5df4b78d54470caff745a59e1a80dde776f012fb4804ca67c74940c76c69d968fbfbb727094f3dd624882d52e95e0ccb9fd2d431794bfcb9debe3e8323f922bd7a253fe49f001e3babb18d75dac97d6301292a3fc8bae7b161ce3b7c3d781155dc9cbcb3e23396e65e505f08a3e8e9a8f2392eee5aa0babb5be237da7898f3e56168d18743590534ac9eca96ccc7919c57fe3cd6dc3ddf98315d90b76948b0ca63b39c6bd44c58d94b17172de568068a1c7517c4f5bb8329456b0332e5bd183275786d4ede0acab434fa128e0bcbe165a1cef3af052180cafb8dab85486fe8531b21710411b7805728a7e4fbf77e4ca7bfadd2afd4fe1d2efc1357f29433985017e71e9ab78c59226e4d80e0e0b8084adcffdf64f24f62d99a21ef881cd72e157f9223844c6efbdf7f1bdf7fc9ef72a2111213245df0b73648a7e21c5f140c669f9c23ec7f4ebd0778713c7f8831cd35ffaee7fc814fd1ed30796fc62b525ff7ae86c9f02c7d19e03edd743670b59a6522071b490658acedab7298484925a49ad241d20493a14d6847d69c2f6bf4aae3c4781bc5ae114d7b85c299f45324aac57a23c4c11c13ea5cc1a385a7fb6c2dd29f5e7d7a2f5e4f2c3b08281a53aa612f6e4a8a6398002450a11102944302f4e34614596cb528ab0e0048814994bf9b1421652642ee794201029b2254891019172c403205186e66d205186f81bb002b3c28b91bad00116663b463021074b08e108200fdc228b237ea6209962265fc61fbce8f10549eee9f26824e94e28dd4b0c7aa7add066a9cbc351e3a62169330dca6b4ab45a2ce061414b0a19199904a8122023339fe03badb97d3309c521927dc75beca4baea4bcc8165f5559da840aeea447dd5978fef04c1ceef3cf9399c72e0a4eb1ba59452774a654e3d234d0b3ff22377821bb913fcc88fb8931184ed0e74cd679d74ca6f264242422e54b2e2a5c70766676e9de6b9b385eedc3e09b41032be048ade2dfd0479a76db6a743bc72cf71aff22d44db6c1c27c4c6d197154a292d95ace55bfab4df64a9794a2d74bdfa4284ed42b148a985f04a397842944ada73a0974a1c0f165b086e21786c5722b608a389166cd1e2c2882dc4d8428b6f1d30c14410410c310413d2dd4fd24351b611646577508cde82c5097064c5bf52521947ecfc4ed3dcbddbbcaa836760a7cf8828f09e443b46500587306c3173981f2ec1fabf3c1c587f9956793be9e40d0c535898addeeeecef5526ba203020c1facfce3f1d334cd90dd4d5ea85ad2a5f0a2ba882c779a2eb2b9b4752fa1e7ded8bdc5a3b50ecdbd55b5b88be21bf8237f2c6b976f4c431f227f8cd075facb08e9a33269bf44e111a4fd8fe1b293b959792c613968ae074391328613235e372b779fcede89aa3dab7631cb76f87108282825c06f97229642d9d964bdf7ba018e47b0a7eaf02e6008a32cce174e90fe961988ea694c3573d57aebaf22da3fce56884d0159ba7797634edbd30acad52f1be2a803be7cba90adb5235839ed306bd26708edd27c3106c2c3616bd30f35ce0a49bcd5cd09acd66506410c2eb150483c1a8d402289c91510b941819193df170c286666c364962457b5b8767b2bc25532e8e248da491918b3c724fd2686bb435da4633b97224a409932c9f11e5931dd9e3333cbaa089cf94de275191931a341e21bbfe12f62381aa4b89741d0a10458ed4e3113f454014015104848c5973c79e1ea562bd1ce53a8edafec63f19e4ddbad5a3bd114aae9cd2f4484c610f2cc379a2435638c4511c9b1c9b205f1e9f3f600af731ae9b522ef3179cd8a962f1be93ab7b454b142b9e60a260fbc1ed3be77612dc2d8401c3f69ddbe58f2b0ca681f29e9ab3602ef80b8fe505c60695375e6bd0310186b0dc440b3b2a9fe1265a605d7f191cb32336dd09d4e73e47ae54a2b07f45d54a11f6875cd590c55dc870fabf93723c92e48aaa3b793ce2bafe3218e0be7e7f3db8d0a5e258998aa24ac009454ba822490f153128c2832d1ce122421441a84207c79f4e010a2ed8419212470031cb11c47803d715c268021470fc6f785502289c58f2e36282091ee0f8f3e01537e1e533bb411754440102c7bdd6ca0981c7b85e5baebf2880cb0fb20d4bdff0e7e7c621c263510f66383df0166257c8024e25f2a2049c1e5896e0d4e71c52e670140f4fb5cd1d6dcb4d90dd8eeef67d250e4731acfecda99ee489add0752f4e3c8c088258e0c08103874f3ae7a474f63b3167f7f477ab09dbc9fbd284ed1cc85d0ee4491ce5a3ed9742f645c88adb684b43de88e3f648926483b54cba2ce9f592ab0602f2b93c74bb2464457f2d71285670454fbee0ee20af002e6d99420b1538c6bf54042bf68f0379ccd5c4515236515d11c70cf276e7bd3061614331d0c7e7c705fa945c5c13d59fcda73d9febcf814444a00ff803badc3593212589dedaf119114cc2d3d3f3f2a1e1a201f44343098d97cf88eed2695dc1e8272849ecfad360928522da53fe38cafbe994b3061f9fa1620b3505998041fe6251e90dc55b367b016134af3bca1091e7250112656868a8c9931bf3996ea3be51849e692734cadb86fb86582a5db16337a87f823aa83b0b474140a20405ddee94808e9530b726e96c2c105525ada4fb8912254a6ea76d5b952a1d028902a3a1bb6fc7caa8655508f900f683a19605818957593ae9d45af0659e4eb78bc1638012ec8c81490cdf0cf3c64083d5329334747ca67f353d224fe63ae06b836d433e13f3adc936fa0c250098e4fa6f30875d7f3089cf88fef24667d2e28c4514231a2c5089cff4f5075f41fedee81115f97bb2ba6904a0fe73ce302f01a2000189e26a293b8a2b8aeb76da46b59e1cb40e7a076cd3b2bee15c23bfc1e0c175205192c0f0dbe814e0b194929999a594cc3c72dce0c0f1a706fba509272c77cb51385aa0384a7e327077862d4832f90ec675d414289719c73828e3286ec6896d69416a49e29896990cbbd532f399f695e78d5ecc8a2db3f1fab7cce4eae4a9fe6f814263e77acb6c6c99b5ccc0b18605efb7abe9e187a9dcb22f7f0c24a989a3b86f531d7aca9d2f9d7dd084aa4700c72040a552a9545aac6318e6be01f38c89511db8812e3a269e691e46f9770a38e5bf7dfddd7b9f010d74e00743c1037b47a6f876e872bd7de894bf10d7bf8b48e23acdd6a0df066aa0de69239cd42c226da459cd6a56b3ba66753fe4aa2b2a2a2a62b1fac559a18d1a16573ed767f61753971906f2ea72ca1d0a9876cd8057416c5c4fc235f33bff207295e2943f0d162e02ea0b4cb02e4e22d236dca62bc31bd325c016566c575797759d5c2e6da446e866de29c7fd7170541077efeefe9c203ed3300dd3309c921f0407597f4e90196fef9c206d5ffa59728c3d7cc6c70fb1df3b8c008fd98595e5f84c10d1c9500e7b7944620657b41a5047c7b81ea2fcb2110e5c43dfff328c610c9b3086dd708d29078f9b1a85155522c354b272a10451b5d65a27c36e66448c585cff8e067f12271149297b05ccd33fcdc303ebfdf7dfae25b85ed23bf0c00e7c20049cd3363862aed72a5c97ab9641a7fc6900058f2dc5eda11eea24bd44bb6a2fd1ae76b5ab5ddeb7ebdff3ba12f7600f47f5e3f877c0f576b5abf4436559f57051fbd67ebed8efa35bfb10347d7fd1ddbf87a3a4871f8acd230d01b8ee63fcc1e7ba833dd83d47852ffd2c1f81eeef6e86dd8c2c11186219472474ae68a5e605576b9563921ce56afa1cc011abd26163875fae695eb97f5c639272e49af048aedcd529ff24d75f124a10eb0622477505a0c2d297dfb2482693b5d43dcbcff4044ef9af3c90a421985cc929e40f3c269b5c7fd1e41d4aa1011cb17e756684b248a6fc53407164847294297fc24a28ce24d7e7129cf250ca429550a499adeb3428d4360b25ebfaabbc2c0ddd8917bd30b1fece04cf2061af814cdff077771c742e451a1997bf1afafa0fc708dd1dfaeed05764d9bc74053e73d414d6a13892bcc2de4023573209128c9814836b5c4a295b476ead23a59401ae9e6b7a17ebc72ab93285cca92e852ad526f69221f4caef47c590044bafe85daf3124c17adf09d2d0532ea500c7f8db6003c7d06003d320ef646fd98363fcb95d9d4485c47b2fecc1aa1e40185d2537113573d7570552d204a7fcbb026c61fbf6eff0db61c338c6637815fde01a7619d0000a297a09d7122e97cbe572b95c2e190786cc8bebdf7971bda887ec2157bda477709dc795165851d552541f1c0981d544bda495f44b492fe9d7b66dbf7577cf39655a1830d80dd10decb463b717a70e9eb3e505bfd3e9743ac16ea2e821643939324726645996c3a158bb90039df22f8971bd532253e1fa4947878f7c034e726ed8804c2693e5c86432190d0d0d8da491e5b4a490ff2847bd504d56147d96777e3875f85a06a5d3bc78bd5e49de4baeacadde008e58ed8a76dbb6011cb12ca67ef58b6bc2cb350c059e9963ac506d732359525e6c31ae7791d8b2031cb122c7525146a9b15c39e3300ee3e088ee84ebef4af0ea6b1b29bcfa42944c79db70e14ddf7023f8089ea158a802cfcc5779d19330715df4229853db8bbe23fa0fd73bc80b5b0946d88267e80d8f505cc0910c45f6c1f517c32bf6ebf5ca2155b8b08ce34856286164e1881c1bc011ebc2156d0e5e1511820a3660e2091a18111de1ac26a0d3c4942900a10824787056fce4c80f47f0c8889c30c25915e14172e20952d022073c4082e3fdc9ef7c88fb74cce7be1d1a51d08b6bb2e01990510d23c2bc5e2fe7116b1ee754976eb764dc6e81806342245f10b9fa6ab5f6743a9a71d40d0ac53e78bd64f60651d83b3329eb8811ac5a8db0582c168bc562b17e14151515959c9b8213acd82c0d083e3244ebf4cff523ee8c0a38d9eb06cd226231b162b3c4c93212041148cce953360de7a51774ec33b2f39966d8f762857d8ed96637d1318cf87d63e4e0a1a11cdd49bafb1b88ba9a76dd5b6f5bf7d6db8fc644c2c6ee1e5b491220ff2f76a5cb8ffc872c8a2949e2283aefaa8d8c7860cdc4253d32eababfe68a3c548760c52e7a4d8f87c26e32c37b51623f59fde924193d5bf9b1d2c7f4d53055923e23af49c7e27d32eeeb7fb27ab7d70e931f21178c492ca84913a2b1c84866f48435f31951f6542835c987d3e176ea501d9df41c015dff8ad433b2985c7f8e476edb15dbe83a9dadd5a05df95289a49d54f4e468d644b3654d9a0805c11c2693bce4ecb93dfd74b04817595958583a1288142121a1218ee16b742486910b2f175c406a41a2af96574b8b91d7ebf5ba1d0c1e6520e68dd2d1884f69e3ea06448188808048010252224320528224fd7680620075d14b70f2854c0a265cff6e76c3fcb338eae5346b54971cdbc685b4e819ef41c9bfa3e1d160d1a0f1b3359d1b3dd19fd2c6d512577d4ed4e77432e2f2f1f1b95d0dc943f525579225595287c55d47595f72c867a44b970492fdc5be26dff8117d45549b5fec7eff179347aefaaa41f55599c07c86392a5f4ed4236b88a7bba5f0f0dc4eab1b2755804871713ab450060ff2a0f007120684b62181bdd2833c6808527a6c304ac65128292573cb3862b5efdaaba3a6d4340ef0a881c69ac6acb196e34f294feb2b658e1ae4a8cac4835a0a19aa54df8b631c07a5a9414c68aa507d3513092443e9f2afaf1a5461d7fdb9a8beeaeb9b4140081b6ca3a2d5f296b7a4b75add6cb5b826bc352e34f7385250ace82d18f7a5af672e3674cfbd0fce47296499dafe747b0b6d238bd037b8460bdee21849041d9e1d6f79119df24fe265400367e24cdcc789f09613e12d6f79cb5b1ce72d6f71ad16ac6444836954cc84240991b5ca9d56cf219ef2d749a250582a2134fd3c13c23500b8fe8d04af68986bb6eb6f025e693e4158e2fadbf0ea863672bd8320829df010d88acbbdc84ee409260a76bb930b61c0b03a08e1c1ab500b86943005085adc00c76bc0028a1f462c927480051cff09eae023573bbcae0f9a0f47d17c843cb11dd63913a2c14a42ed4a6a972b861d58962999822232c148b8bb06a753bbda35e7849152453b01cff00fcc43dbf8e81bfe3ce38a0c8508ca8fa2a29faefb317dbb5eb41e0f2aa158abb5a71f22c4517d3a92a149d1d0107944928b7ee0b8de320b909191919127979d3650324442ffc6ab5cd1596564767e1cd53edf0ebf3c0c11e2a387a33a021c93a4c2fd8dbbc735fee4498f2c7fe31de31a9658cc67ac5a3a26572da1e72e8431af0b6b7a99f21cb00d0e19ef2befd614f4718df776748f45e144b0cd0d7dc37d7a5aee4a9c1861777c081d05b621a2bd374ba69ad02bd8a67f62496358232743bd04c7f8b384485c78975cb9e03e230c025b086c587f927ef9f44fdb740bfa88dbdfc331fd377245c453fd3ab79b071cc2c30d6da343159c08e198fe1cb9fae1a97e593daadd4fa46d6ae01bfdce58dc4ee29866c99f58ccc403ba512544d79dd2139ddf4f4308e4d71009f73ac21e9ed8b6f7d08506fffafe351cd25be8e232433572e7f79db7de27740841912bce97807fbfbb608235fcb7b757acf6b2700e2cbb73d311f6c032faf3d2d08506ed7b48df79c3367f3b8adc197257a1eb5e9a680d719d652d81a98e080f8ef29519f8770b19c283530267dc4e96c0b9c3d3ea993e32e52f55581e8e9a2c9720cb12274be5facb570e0bf521904f7920d2218fcf39e513dacdd343bd56f354e1f64f9ea93ca3cd4c9f021fe0b6742279aeff64ed98de05c88a2c3372234a29a594524a29a501923b9d4e27d8cdac44854e9e8ab0a28c2c085756634364222556329df29aee28f050135aa68bebaff284f5ef23ff9ef93714ff15dbf003547d839b502a3fbff21b89257ca8a42e552401b6b062577b7aaa3a9d541b141e396e70e0f85313f9f3a93cc995dfe4e071d25c944aff47a9fc697c65c50019cac60a1c95b0c1ea592c561470fc732081e3cf93ebdfe387d3c94db832e4aa69210b4b65f95aadfd7f3ad2a48e3b130c322e73738d942be7930cdb347d35db25cfa6bed54bb7ab69777390deaa715e72bf9d6bb4729c8abf7bac7951627153aecb7172d74473def814fbf691cf70b173b39843fcc02b79343b02c588ebdf9dace96d484422e10931c099d5bea97b060ef893413ef70d8aa05f3704f2b9ef26179bbcf1ae52eeb750ecd79de3c83505e09a9515171fa651a6fc4d5fc4cea22238d3072bca21f2dae0382ba18cc91413ac3859b1a9c453feb55a3b95b06ef7ad648261b98a9e714d15b90ab15f26facd38fdedb0836fa96796be697e0e748e731ce7b832c5abb07c841adcf92a2a9fb5a7d3773f91389c48b3c8640a7be6cd2cb2e0554f81e356565e00e7e83da67076e3b87d3ab631ac46c712eb64d4993818af5545856a75ab5be54cac1b58b28eee4a05072e070727373c0a879c2292aec84e6ec081e3b89c1b4c3f37e4e0c071453cb91cc7a160feb9ef3850b4de65b11ce779575471a6ba6954e5fdc66c38ca22c10b66a2a425a8e6dc343ae53665393ec0a8a8d5dad3e91f8552a954aa4ad382b95a8dd9b1a8c71750abb5ff3f7a1c7501b66922f886bfcb088e717f6fe958f934de9ddcd7b70017d656bbbae5d59e8a4862268359cf67c2c48708986ec110d16ab5bad59addda343a5badcea893a6979dbb9bc09e49a3274d70968cafc850ec8bdd6c24080b9ac0b682676a107866830d0106abdaa4342e7730c4a04247b9fe45eeee3a475fc8be90c96432994c2693c9649f7f2ce8a6a4a0604596ff45a0870f8dbbf1ed0770c4ce2b4ed337b883f72a261e394e2aa00e3dc5c381e34f5ee9fb4e7a9eb7bdb77ddddefbcedbb4de76f8fe0375e881454302aefc0face9b1f24bdfdfb2e7f7bdffed07af4865c1ed1f0fe67bc2f102c7f87f2112fb363c79aa1fe534a59b1c3c1cd53edd200df20923b29872f9c3400d594fc87fa29f3f1a6ace9d2e2a47dcc83984d68b001b2a5555a954aaaad12955322b98593c2516e3216bacc66247b0dcad72c5c35e1e5458f1afcfa0bcc8582801d7f4f527398c33f09881631ce318c778c815178bc5622f9f47160fb8fe2ccceccf1cbe70e1494a9997197a1c006e7320fd962e3f48a9c9d0d3dd5e5ca6f4e2363a3cb93461aba3b4eed3a6e354c4b0b82c1d0573038bc909cc7c7cda867b6e1a9dd37b7a2e0c06abdb6c369b390cc9c6ae8ea893bcce0ba78738b02c533507ca4966ce39271050b3b8a6f453aac852add6d6ea4fa7700f135c80359ec28c01c3fef83d6ce055f7cc85168afcc5f530bab054559c9aa12ad4e4441a52447b8ce36803b561c386711cbfca630f8de502bf5bbb3a7657e92998ba2e32a4ae7c79f9cee5873939709ade5fe33cf7c0be4d54e4e4e3ce03a76c718c8f9de329ffe6e19ad2534a2bc7d097fc240721437820e22bd307a11f248706c1e167474e89522768f71d0e3932974ca56e17760bec1e9f1f94a354aae6b92ea95319c2587b3afda3502a55ab596ed3ef6853ea4487fce2f352842d3555f17135502791a996a39a58f1e58aaaeb3f9fb71c255f2557cd0d0b91a8f0106df5548f3dba3c971184adb50d0103c30ee322c37635d795114242e24682d2a32131b7106c68d3e6361215216d2cb9d28434a119120d8e1c9a27dd60b185a15ba246474f28d0f51742b55123f29922dab3095d7f0d16a547680b443d3d517aa2fcec682e055c11468bed683b3b3cda0e33a5428688343734387834198db699243ea3695373c99516f394bfbfebfa6b4e7c46d476341e9f11d9a7245d7f1c846832cd486b3929dde4e0c1d59dd6b498d624ca8e16eb9ea284ee504ae90eefdc6ef360b49d2158912619a1499a0f1a4b4b01db6cacbea1c335f4371f34205add9de70571140e1b6bf3816554b669411c25a77d18ae719da31caea1dfdcca0bb23d8763fc9f01ddd3d43ab7d60bda4c1ba3566bf961b0d3c9daae61ed36a8e8d531034c61e5778ccb96bdc4bf19e89cb0d858d44bba6577e3a0977487bd44764b097326b0d858d4958b0e96050cd76ca730ec17d79b8b4b638aad0deb18cd0883a5c076088b2109966b58c35adde21a211c4304af74e0de31d24bf8772fb9a261b74ab75b40a815d6b0580c06d3a49b9090c97292acfb9c6158913dd05ae0135b210a72c50131a82069f7a594729559d949d646341a4ff9d76a6964340ca0a1d9408e5c6961add6ca72381651d2ccca973ea70eb9697406b12a49aa7604614f73863030a57b85add55a95fb5462abd587d021f46e353c60ca94295bf711ac5d2e97cb3d97e7f23cbe5ebb22936528f6735fb5d23758aa630d6057ab1ce8c3515eb512bda5f0874ad57d2f7be7fb7094dfe98371ec3c8e03bc2dae7f05bcf029f5b8c6e7cb6f0617eefc9c0ee5333314fb9e8484e210da6d200c122c8f3f3fcf85e2a91476a1585d2eae81a9e1ae6bedea9efe699f0ea1a8a814aed625b974680602000005e314000028100c060322c160402c4a9aa41e14800b79864e6a543a12c5623910c3380ca320a4143386180260c0ccc84c6d158558f907494f56ad58e16aea9ba42e939679340e08dd1d80d29bc1bf0ee507f50d7b9bd0919adf157f02ebbba0ccd7fd11cd8fb700b126a72a681a430af23ccd8f877a744db6b8450a760c1efea64bd095d34705d9ab45844b19e69162b8d28709b7e03e7e8028fbdcd5ecbc29c4ed57278172772c0edbba63710acf1d8bdb3aee58dc45ca47c0e3e7336701ad2ed637b5f8d69ca9aedac588e5582077b61782782edaed8f43065219bac5fdc1c501d72416a39b132b900f03cc8baa4bc940a59fca0443bb13be851bbc3b47ce742a313937e83412745c1704ef1491929bb98f79d64029ad881256b1a3b973087e37d1af7a1c07abef94a7fc85a6ccc4abb8a3fc48947c5eb9dec7b59761965adf21d0ef414e272648d21e36575ef0c966468f833065ddf2d5d7d7ef35c90dbce9ded1a7e4909b9ef4d9cfe3a42edf1b2e903b3407ae9aae74494f9a5ab70afd99b62dc82e044fd429dbc8598984aef0f647388f536c34e5ae5f5ab594303c1633f5b2979cdb8da077837832a3521a3076b535430285695ba25c00dda82567a012a111b9b0da0732ea91cba48aa01d39aec6beb44e45a4ca3ffde784ae0f5d2f8ae402c9b2fe80702ff037369f5e62637d20c5edb54227fad4496a580ac73dcd04c62429790af9f7ef63e03607dfd4d6ff4034e0131e0abf44566b73e9ebbaa5be2766cad810ce2613b7d95e81e45e765f5101cd876d92044f0bcc3fa776b808fbc95fa5470a59e720ca94191822a9db1e73eca65a531c87c1298d31c702e539c3c24b5411e946496cd4e1d00a5f772dd8b89ec2d03ab4f83679d3906852c92477d92898025f9ec5300799a3dca774b0cca701fd87ce3920c9fe0d3d127ef9f199061bcc660f33a08dde695f742c7c8d8b4dc7801dad67106f4db2ba157c341dc929d22cdb99a4d2b823172b11e1a73fad470d035356b59dbe4fbb030abf24e8f86d3d509655f670c92ddc92547eb3cd6d824410b361bc2984f68e363526c8c861df8a53b1c8984603ed6e9c55eb9af72dce8783693b21999dd24d185e97902fa7b734bf481ab98180eb7dc7f29a808c652b6c0e7cbf27149b79df135c452765e83301678544189e6bd9a1a63cebf4d0aeaebbe4989403cdcb6ce0db18f7dca271789bfc5ec7e5df4d65c53290ce56f16a20df7303f1a1efd8817142e0b1e22e4f5fa177b531d22cffa76c69b851e09ef94ce0f4920594cccd9d4f0942fcf4beb32a3d44ab576b8bfc4268250a9629d27d3608ffe41b1a323c52526b1ad800acc8fb4f28dc00fef0f0ba5bcd01c69b00a9da822d5a7dd040a6dde361be52f47ffca6ab720c9da25df5e2f3575b8b872d2121c5323b214de4a9719117065daea28a8681fb8e4743814b97c8526e343e431a2d85f4378d8d566bfdb23efc41d9225ebd9814405e3559c76c9d8423d248e53bd06ef1c31ea087bd335cfffe9b6940d06506189fafe6a481915bafe6de7f6177dd17f734667420407558011620051c243ca6cfebad062acc4cc88a43624fe87b19130c9c5953881118a02b9b8b190b8ceb3e8da8c4d1faa8676cdf84d7e088f080ac95a371a760f7bdabddcb6ced60406f051194bc59e0761dde8b87103700b9a63396da0009161c03316ebf9a459b90fa6e6e1b068b62005d0a5ac92216129cc169d9c392e47469e8e7c706ee66354c3f4beacdb3e4d60c38d281917e5f73e002086e510aa214f132c5f37de1639c1ba10f00f19a29c2f70a91d46e790cd5af8ff0b0ece01fada21ec0798649c46340ac10f7207d374f8b767901bf7d901d1cfdde55b64b4536eeaa8d5ae8be9f1ddc0661b577879b6f5814f0aafaeb74c499cd3b8c696b0c1fe0b4b028894d09e7991288a60b7603ac1d7e0004f4807a5f6821c8bb6791140790bb7f6156213e2817f23a7a80a0694616f5f9f4c37ce0254cc7c985348e8a3c043b7557ed65beda885f33d885012c214fb2139ab9c84a1b55de2d5ce07e6faab7dba81e5436b0258ef805431b61d50148674632e6b01a7ca2b1248d77305064196baff514236db4758efa0cde9515abc400204c17d9f7f9fca9ee392d174697f6671bb1bba9643d4dc746f2353f0f43757b0ab65ca336def76be65d49ce63d78871559ff68795f5dd7185ab11906e85492cb2d15d6db4bee80d474d29654c5df8a3e2c304a1f07ee036f097c1f0cf8156e26218abc25e639d6a548749a8a8c01afd1f4b6f2cf571fe02de0a945e8a4a39f26db997056614a40d1ec907702cc27ee4ebd4f22eb145bebdd07dc777734de2bedea8def02cea4e1fae0c8dec03dedcbddbae990ff7e97967b2534e6961ee4c4fd448b515cec800d6f867562aa2367bc6935f24e4a91ed7583ef164e3e3896a0a6dd9b5c7a4cd2e6c0727eef1ffa7398bdbe7d2b5c93129e84f5b40f3876faeb30b5971832063676798e5ac6ab2181105178e4ea8edf0af2ea8cc385944b99a55bef371aa53fb1d458e88299d16a382d1545c9e367af40118b5a615d4aaf06a14e30dda57cb53dab403fff34ca003a242d416dab2cec4611537d1eed19aa4352126e2afe5b47dedfc767ceaac456d8df169245d69236969cd20ca395bf82fc475241df744be568535715ad674334cba1d66d20d7cbddbe9f36e6b4a2e2ddf2716edf53f9dfeb3d65993434d6a36b47ce5c85a36a78b292adc4f075706af7406a97468330ab55c82f345b4ae4204bf82774977ff27668d192b88cb5205e857fda50261ca651afd79b6ffb0b102d3c18d1d71e413c310380a348f8b47cfa3ec93e4ce20c64b26159502ddc63e66bae01750e12f88ea84677278dc58e52e1294544fecbb7cd669d8503e4c521d7c2ab3e05873e75c2826b83d9ff8974b296bb6a74a70982730acc429f7bb9d6ffae734d9c457942cd75f84d549e7601f6aeb4a1f3c9f3f4be304d953a6281a08baaf28c4833ef0ac4c053704404050f40e8ef81c9cf75125b73150dfee2cf0a52f102d023ee34e103e89151658ccf3a0cc947027fa9070b45734aa07e9b75412aaae3372aa1b06605f922b13337749f90b58c19731dc97e9efd551a3da7e2b7b76bba3517b905ef1be9d1727c36b5a4b8d04da7f9436b5c3297482c11fb5ee1af62b0b2890d806dd49e65d062300bb695317e8884f05e4aa21a06f865de291f37a71e4d4c80c2aa029f13b6344386b7572051f0adf9c5954e7a7921ca97cab835ecacc77f08c0bb3d6a5d0e2a267822470a06d510ddd0da383dc72fa183f59ce8a8806dc0ba4613fefe300819b7bce591f13c306f722ea2f87da0d6b160268c54423b1f310e3dd5d0d11e085dd46b955dc8731851d70d9dfb37a921d55576f1175a17ffc2191a63f038da53bca892fcbe2e351875e177ca32f68d288bc8423ae3e313825941d77323d3b8ab3beb7632cf26356b6394bdde221033a334b89141ee70cda085e84cedb365c57b59eef26bde8371285cc43fc3e6efadb1ffca7fe22c3170cb26871717d2e57af99096f511269038afbaf192ce19a0a36a3853a72c15abc95d897fda137ecd316419228ca9ecd9174b963c490c15199afd0b36fa187b6befd4649c4314c180b143ec13c6b06a6acc95f3d5dcfa6f6ee56f844f2994c2e96f02c24e906d124d7d163175b3c0825ad493dbaee92e80e267794c90faac9b1f3d9cdff160a041d1c64c505fdc18ff2883d240717f977af2822d4f2ebe78d3d7f80a9294943a7cff2263c42dad33f7fbddd44a179351dd47aed767e563ff947ea3bac50dd602a5d3f79541ef28826f1873e01c926ef581e6feb6cb9ebd27658fa14971b731b176681e3e4b968fbee9f7e2606905d5a78399ce451faf081708279f87136f04c6f8317a1c9fd5d79fa81305185f0752453dec10ec0655499b5f95b8b422ea542e82b054738e4e9f017eb540895aeb64baa10e95ccdaa46c337fb930ad26296e3375dd51a489a6e5c466cfad19a68059dadf875eaf9cfd5ccf54db575a52d0058ab8c9dbfbbe1e53cef5ea147ff1ab244e3cc5fbfab3fc4025c953c1ab2c2d6c5117408f8b4c66393273a400b5fb01e82b4bcbf2e9d364a2619667e3564f5a425aae647f13402d1bf5b1599276ed23402e631dbeeb0ef90f1c2da3738a2028b7f5b36763f44ba2adf238aa33511823078bece4f017e64a477c7cf2ce640a75daa6355e9fb1d70ebd8838ec8985efa5d3184fa56bb74c0f6f5dd17441c10f5e461805aa52e7b414fe1d5c57ce77258a1911a4fd0268c90907ccffa0a4d1002ded92060b38ae31f3c6ad4a9e9898ab0698c263d3bde7f6a635c4bdcc4e8329337a3c71456126e6c5f4443a15c2ba35f74fcb5b30e869ee3e62cd1da69f6cbe0c84741daa0463ea887ba09cc5a870f430367533d761882e656a9b61f6e21623506c35957be2105f3765f3e208118d3b054e84690e140c66d18e415b98aa10662da3e670f881b37e93774f073426be2ca2c4bd6be75411382b93bfd343c6d9b6bdf0459299b17040186a3328381302954f20d08167eca3f041b5abe6f8e762f4c7b8c586d4f91de4e1dff5c07339af7d41f66d84f2a0cd5900b461100b0103692a50d6742d50090febb463555902c8eb047530289673518a854db640d035a518f528ec021902b9fb69c1acdb8acda1e4547e8e3105eb4398bf6a2f8b7a512e6054da42bf19fff8600a362ea9caf1f5f7b202a6806a5072e7ac35134f66ec1bc19ad241a93b598888dca2f388cb74fba34508fb090d03e1f4c850be2974b85b6587293bf9128311a81f5465014e1eb8d66657deacb7ea621e261c7b5b6aac4283ec130518c374ebf59fad8a87b7d8300fa63e113442202c72139eb16141c9269f23952c78e08504bc16b94a053b1513e54482e5321ab68c62b170ee98925b8d13ae824635668961cca97be600050d03df36c2fb307e34321aa10f6a055f3137bbd2d2bc57bde7160a513499e62624d084f36829650d7f9b15a0315b67a4fbf97760af70509408f7aeab9b2197697d4dfd712cd059417cb8288fb64eeab96e5c23a5d8452b1253a0c6c3664b743db45ca6129658a3e082133da9796fb9dfa7cdf65eb8ef3a3df6133d0c8baa85e35220a54f5f23bc449faf2857629be0ef3637885e63d3c79c7f85327ee14132ec8e9c12507b27542eeb2a94c305cb7b15a5c3d944b104243b63eaf82438ae00944752b08b4592029cdd0077e005318fd0a6d28811c1948c99f0a4aa37b0b87d791881709e33120cae33ffcf3d0f816d0943bc5f5c082c32429343197bdb80323bcae17e2c6df9b2e9e802c59acb68351786d95329b43441dd22b414f0e551d2045afbe43d073766eff933e7a0f0cf4d3d1b37b54b352d144f8881ab5a7856e7a50b91c0bf60fea30d01ef45a2776b830e78f457d5c47c3f2dc86902b323931bae99588d4907f76fcb5c7f0fe6e1289ac279b121fdb0d23fc804798ccb4d9e760a502eb444ca517202740d54744a47d12ceabbd57dcdf20da0ad01bd3b5820bbeb63822baf1052b3bdb01bad55e946101d5c467591f27698afc339f8eaac95d76dc6256eaca4db61b7e2a92566a7ed0bf2cae2f397e9d1a37a018cea18a95d83e034ead89f829e8ee35ebd190ff19335b16665f95c6c0750742d50dd7f6816de26a7a625c804f7bfbaecf99ebd1e3d4ec22a7a0d23824eea83aaed9ccda6b2413d543991b5964c863bf5fddc779f1bb5173ed901c3ae88b185fb54892517d7a3d3c25bc228c16bae732ba05274c3d8bfd8d334254ca76579e04dfe93b04bafd8386c6841b2113c8354ac41a6bbb722ad4e455f2cfa6112ca3f02ce9e34b73dc2dfc8690a0e2c73d2455b2a99ed9507b975e911f2b21b5eeb51d7225c8f8d889e702c06e0461709d1143c7a68b4a36f863a10f29da34abffc6c1b91f6ff352fa0777370e2c2732880a11f25c792de4b1b44f9eb525669cb81918696548e20f6122f2cf8774d5d5b545d5a37add67bb238e8615ec324b40dcf735ad108c4bcbe67b8bb6ac5599266b254f8f48c79790f1693f111005af44d3f61a259191aa5e5ee230a3f67fd8068159fa92ce0e38338da7aa13c94283746d124c3dafcb384eb5de84121aa63748e78be9892f638c103c0e913a04a328c744bb551375b042f5e0727464679c49fe484b0ed16cb6824e0c4166822359e101a04903d26703286c892f9db6d5ae9d507412ee2f9500a4eccb3b7bef601ab15da3812016350682c4a03fd1944b7179ba8ea17874f5c749eda06589025a36536eba3c8d331839c14fb9cbe064be53bb95a225846fc32851c3fc77d64625e01eed2192c4dacb2db3126b53148d7eaebdcd6c0a8c5e511476aa4d974bb4556409d5adb3e41f4748152b14c6a5b0e8c17874993a47c2e450bef9bd6d6acbe8c4c42b43452f244fb94d2442de72cb0bbcd2e5294f136a4c614a49b42ed419ce9d1ab881b5c160fb53733dc68c7432dcc16247f5670dea20a2c78f0fce82611faccad9d636b8d0f9157aa40d8fc6b07a7995b3adbda2140487872c4bcc7aea81db14cded78b0b39ed2a99c4e2eee173c8fe11fca5a878ae28e239a9268dcc29056c9c3fbaf7996243af716900f5f7cb053e9a1d9f3f6f46f6b1b438796186c8fe176ee262913d2467ddf1e9193a9fa689e93d8192090a3457b840122b9479570b7c7b1937036d52bd5ec35d53786eaa70f0c520dae5ca9873d44981d0ecdf9d546a762fe12864ea2fae455959f9a7cdb49e8b76ae3155e9c95f3b7b37dc4b9b924726f6355f3e304694e8bda6b6a621525a010186b65b030c9eb840bf72d31ee24b5fc66f6a4be9652e1ffc4d83782991ea68a8edee1c28796deb7db1069e209d439910ce28fa9e114452c15997c063a8cbeac434535f624f6fdc4fe285a0fd5913944a7375c32ceb5237885d905d46e11a8105be39f242e63a755b92e923cb78e90bae8ac51f6b74a61866a0e66bc5e746c5dc7483a098a150e192430a11cc8a99f0ef41897809da4ddb791c415891e82c8859407895d395a0c715128502fdf1d97d7c18f604ed0d1877aab530cc603994c5c4c600f37ad4d7fcc6aadfcad668d9daf05fc1c330d191b4c4a43820888e7cf4b89e126c01d069bedf9236d1be43c551e8909086f3294423511190803541bd053466bdb3fec4063f5adb5e7f341d1e3c91033561be11d8180d8361d72da1c64aa5526331c605bc3ae1e71e260dadf71a038484855d1ef3e64a26f3869a353030533ce4b8c30c8409d38523c01b37b603d1c469b8e31a408a044b229cbf0218171d9d6576bac6989e3b2d613c29606fa85150e4e5d19a9f71179b690ff0d8e81cdf56b1fc37f11387474b035e5535a8d54f2b028b040e3619d29ce8811070a27a9a4a32b717630204255906918cc03f7a3bfe138d936acfd439e3318ebc5b03387d1fb848525059735f46a441ca716f22c09d324f80ac56b24d310adb159b748e6bd0932e5e3241e4137b80a2dc4ed1d25a8f8e57e41c2c8611d4fa38d1b0c75ac083147de2fb90b2247e4fc9e2cb1d62b19bfe05d6bd405779ad39991218cebf4bf03247c0825591eb661cf6bf63809124f00aabaab6f2a69e54827964895708e8815a3cefd4c02e885c1a52431de60912755a9531876b3bbeebd709a9986f58ffac6d17a6e0d4d2cf6a5a27bed6a42184df2e8b28762b796905da7ce44e0d0a48a15a02673f08c7f009ccbe85c8e91f8a94ba9bccb5de4ca7ad6571cda564baaabaf7efdf0ebe7f6f4b8f336cba8f960444441ab0703245627daabb99ae57bd4a6d9de68ab262cf9ce1dba0729c54ecc26ce7ffba3f8ccfc40380f4aa0601d48b0320bfaa08a58f4894a4b54319a6064a07021b60fa84b48fdd3ac9698663a60e01b64d02c5d9bd617684625bb0441751fc77bc389191dc789625db2668ab556cce7082c5415045818c95e1085c8b35d5eba605d625a1fd7bb08ce2b92ca0a01ca3c84223967c54bc66e7458a6f954993bc06fb66b17e76f0896743d06b33fa7f182eb1b39b8b7df2f641cb84f7fd8466a365e6b4882e7340870f0058a3bdd593dddc59b5cb168ee3e57089a389a399147f719d1d5bd908168cd91841422fd763246e800264b5caa617e88899d202102c4dd213e72975e4fd6493b1d38a174f50b67488143dc289d00b038961fec8d0cdc84b7d3dd939f068384164d69a7a94a000b4df2c0290ca5f561af0c084a56f5e42dcdebe1868c6f14daaa5d9fc3eae961744ac4695024f2b3af7ce25b261dd4da360ddcb3eaf9ea9678d457a0ef86cd96171b4656dcacaea0424d88d29bc1724baf81eff796e55eeb15a267a9a6e56f7bbfa160a37d5d077f43f7f287a608f7b5e0b7249ec2bd247d5a9ffc2f7454f5a8460824003c54f8d7c4864a0927e0945038c0891a38007c1093b046121d58f02dfbb24b923e746e396b61c2466198b319dd5b1c5e0b954997f52338781a454ba6066d2385e3d14156b012ded5849d877b0d027407c737faa86b74020e1ef4b24366243836f1114846c4c0685413ccfa10b3524fb0a5a1c46cd8851b5cb54fd88486da1dbd47d56e60ca1732eb38bc2ae1422abb33c58e846fef8fda3888808dfe68db3f1441a22ac274532f9236b83460994d7b922f55a820eda23ad8b5a3608f2a0431a0a5a13aa8159a320b125a0c9e20513c41ca373b3b096778ac6d965f076e978c09c15fa15b430ad075c9c36ae7066d8fcc09b5d737b97a151380971bf6b62b4e90797274c8e8617b7a4ed1c8f5587803326f9f4a7254649c009677982c3b463ae58277df3e6968dd8011640f2959e17940c527e26db35817db434d914f3fd0b53fa70f7d19251e7d38b48d77e9ef0d5e758ad66e4519e5fb3b203b7081a0ed022058aa003e215fec0e48bec98245f4649bfc5e51ad01ef08e2c1db71922b525ae3c0b197f3fe7388e065e3cc2a95d4b275a85f1e4a6a6a7103af8b9835872048fe51f565fabed5940432650a5178efe11e22b435087ef42525e83324a1cd66a188d277edb00245faed6ddf7f9f77e27ca59b42bba76e136ed58fb63875edcbe0c79cda7f7e8d7e29f072f2137ec33537ae4465b5f6589b144c379e6c8ac49290cb004ee589385682ab988f96a84bbbc68b8999992f7b4a1fcc7379f0e48c1ac85f903ad811a9a4d9b86b82048abc3726ed8b8c16524ae9b9468cec60351b458616e904a5a50e719b754d380f6f0759c1d90709a51f43bd6f8f1ff93f485da564b202463be73a39ea944e7c674143f976991183876a699e19e77467b11642eb2a978000822236b967e68d42f1fd26df0d026487311dce76b2238a09eefb36fe6d5fcb2a88890fda31097c81bbf2264300b7b6c29920d80130622b7240e6d071628c1ced6c4ca0ba7619fa9bab6073be0343ac3c198f389ba26a81ef7fce04102865718a704a685decffd45332e46804a1a1e97b61a1ef3d597b1930c39b65c1df034b5e88a771355dab113dc3e20eb70aa987d5c5f2ecf28d2c692f82d0ef0620c7f50df38b3237da3598480fffb49901f8f9379ab630c09658cc1c6bbdca9c69c75618f616bbecee7c969d333a1c62d70cda6d0c9c83bbc03e4304c6b9fdd29b8d95091058f4daaaec4f550b3ed37ec87782ea0068c7d1db0fe9b1ea8a796b2eddba703a9dff1f7c430af8565671d03500203f9fb7b8f5a10b58370814cb41d9dc9c69a61441263aa41ab1318d509fd288eff11e447611ab0da3b95b4b00b5f2c39ef54ead4b72e0bd24d779fe5045754b84cd808305ed578264e96dc6abce792a45c6d2370ee19de064d5a74588025ce6aa501e829637f9fbc66d828d892aed0d4dbc2f51743c96e02bb1baa491fa074f5f28f322a8ae7926e353f085f2cd9f10f8a907611bf0cf1facdc1a600dfebc8419027b7f0dfd24ae9d6114e398ceb06f6338fb9405dd79b2aff5d4609faa5318507ed3593874f3304105294e0adc0860b73c7f13ad500143ddf8b89cec6eaea170d7b93151350d5044249dda9d6bc9baa6fa1de7bc6a34a54dd456bd19435194e7336310437ceca14928b1f00eba7210861c2c2c5d79bf8a66b2f3831ce0898d810b3d270ff65c6a710cccb532e737c64b59195df0c3e9a1aece3450f6288d4258a952a8e7d961a933e687bc1cc976650ce62d25c3ecaccd3178c9896290a8cb25a51a703f1bb9b50ae6ad12fd8e9b1ee115ad8f79690c41c6ca48d05882528e5bfea93db7d76226f53ffc4c5df22d760c017fbaa6a39529ec298e5963d8b8486b9b5d342ed107844e84eaa9ed0ca66bcfe336f9770c0cfc25335dc2b6f206b593990e63cceb7e6fafae05946d81a413fe423a4fa39e0fc08865e8d43b67c777a55dfe2934d8a77bdde2c207eb1f938981225296b2bd4a859ac4cc3a9169c7bbaa3a9edfe6a7b690245046c12c0b08251a61af9a845092eb0aa72190d2c0d7bad09565e4040fa20cbf7d1a2c961a45c07a9ce3130ae26ba9f9c9ca9ac7aadd4dc43f21c1c8e6b76659afcd561ad5a3eee209ee6fcb8f4481c9e0f1163bfaba58c62c36ff36f9111d75017e8e1b1358e39d9d017deadbabc768121c6018420fadb3fa7fb3eb0ed1c35850f7f6b2af8bda35e209459af1c337173c1efc4c6d7ea2ccfbf13099ced7f4b096e347e544c975a23471297f8d672206d4c939f249b92dbce2193857f1b8d07fffeba4b9bf0ef4b72f916e1a413a8ee0c02388e2ebc093502225f308a7a4ab50ba22429d8a78b2030db1c689ca40ed768cc2af588845880e360196d05d8d54a85a7f25581a894ece8ead385ccac4ee49501c9d9c947364109daa82097b817523aa656c20c3db365833b67506c7fc4e941c206fcc7d164b99dc98a18ed783cc61e5008663ec733efbe8f0718cf6262d6fd8608bf0ad00d12870d88b7c625da1983c5b7843c41d2271094e54f998ddabef014f0672bf9e664f1106c7acd4e6980ae625b07e7446f0c41cf2c5c533d6729dde470d25c6e3035bcc0e1dc3d4629e38d9e0252837094cbeda50a9b32e4c54350f8ee14c9f12740cd8d07eba45f0a4e329180d8112ff3f4586bd4e1aea1ec65ec6f3e15c34e353358fe804d9c93a5e93ada95ab122bdc570ab8383a8f18efba271984213fc6e28099948fd1d107a2a7c93cd4ff401b172665ca9320e01d8f48ddbea0bc0387de0c2f8d78d2f665267b60ea49d6a11fee801007f56e571de052c0c8901c320454b79b5f40c9d3c1ae79b4be4524ecee610302160dd4635b9eff3a7d34b2a07b55a3122771124c2211bdc40186a8379e8d81193fbfe65e3aea2f11d6909fe9b4902ea3da17bbc67905591543128427eeef5d82d7978634ee09fda17acadb8833b9482e04d1d9ab1aa118b559528352dd469f01d0c84f295ac878c19bb25a1ab0b8c5af59641292a01631b60b2ecac41d2dc022862f0e4d5ae5222f196ec8b5d7b97a875056edd4309f11b5f8d2e8c5eb00208443034db3bded01d7755bf27649b2db1cedbabc6dd7305855adf2c518d00bcfe67da229318131a5b847d0cc2ca4c2d59dcc234c2ad9385670d80fafbbd8c9841a2cc0bc6bd8afc0cedca2bb1083c89c29b35b8a2bc13d77f582d5c984be1f56bf0760daf959a21aeff683790216156fe7d50b4583a44e377f9972353fa4afadced97a30eaee2eec26b48d0496ccd18da56c8232ca03cf36ed3f35e3990fab6eb9ae295a63e2f255a1560952ce2038125f336a80c2f22836d81b2c81bb75f5e5e27bb86e01862d04055777b804d5702a26503803edae7c5cfb0e515cd1e05edaabc1c4faa63f58bb17e6d5a373c03405ba40a9981747df2bd94e1521584694db3889143670e8bf5dd0f4ff3605afb3cef710926be92ad47cd406b360cd436b6a18130add0fd1bbb36f733efa56747a746f61c1d716b3fe77814fd65bf0536a96fe35c4e9816f5ea6ad6b9a711a869b4e86b845f39bb37a871ad15d6e827d907363434013a914a1a13386f3a81764a148ea661552a9bd69950435cf9cad4920bae94edf80b7549e500d292f01c625acb9b9ef8df4902eb530c74213e0ae0502aeb56ede6d28d3e2f71128f4e218b42a50422101952dc4e482e05628a1c0cdfa2f0cfb1d91f6bbe57140037de1e87a844ae4bdbcc340dfc46ab23e5dd156eff94f766ced6d976f5329655e44f2f7c1d8a2325515a195e8511ae3467ce289c5d38e95068ba308c9bc97d14b565ec20dca101fdd70f6c9623cb892172bbeb8f6097641425785676b8162aa5a1064010296d5faf094b1df11f14128c0b4e8d2018cab42be511325ff4f87379f1af2067e6f59aecd3e6864d44d2a04d2601c6e8e5992be26d2bca08052336ffbc5ac13a261dccebba47b35cc90a0175632ad350099979e89271c9c2ba23c7d1bb4239c68c6732fefe85793a928ab0d45231cdfbdba3416653de4f583d47f7e68486f4930a6d085331cdc2913ad1a0f85d81a726371c89a489414f736b9ee5550838964d3516ce35c9b2d636cbc2852e4268a14f1c6c0467c7f06aa329a42d6dc31da7753a84d30b46470560746f08a975a94d415ca4c2dbeda65b5d1d3b3b0da78c72fabe1680b1848f3298927a0b54a42938055c507a70ec1e352cee9ac1ab5579acb7142d1f5c04c5223bc092c5ef97212352ac88842b7b498db1fb9214f23210c50274a1fa9dc8244e09da0002eac760970b60927384b6130f32e638915f33d8fd1906f4382fa89359dd38b7d1cc142f12c8f9bc6b91b2c62aa3674ddf815894c4df565f7b399b836a53bd851c799b74a69698c3dfffb01768eb211c144940dd89488d5c94e8c5ac6bf6f84b7273e8883ee7b45e99ff3aaae4cb417703253d090899db30a99568ef59c6a410e2ea1085b07ccbdb5dbe30ae848718a6c4312a01d4d0855f7a62f2879467129cec27767b8212eca45fc11125870c0030f46c53981f3919f59ef62244c04be65003d0d044bafa9102a1dade715a2d68cfd0df66741a5ffaa14aac59a23b2c8c708862462837d29d433da82bcbb0f8fadaaaefe7b39a4013e5bf9a4ee7742601e5a07fde4658109edf7e22d403d347cf6a15f109039fb12455556b43a6b467f575630c75e35878b59fd5048bb1dee37d83cbdf1570a6cb10d51601250add1e56f394a3bf624c48e5fa84ce94a81e75db718229903baa9c8b60ba796cdd79952239e1da5023dcbc7d5dd8947ead00f34ddc366557a4a236932bd8f7a66b99880512c6f64e2539ef7c2712013a9b168dd39a33997cc71dc4477aa134d2daa3fabaf430b0c3623fe1848d15057cd649cd7dd61e9adf9cb8e32ee3c72d96d429e7e4ce53ed2e11b05878ced43d90e207f8da01bbeafb5a2a6119ee8299249a6b35a4428746025620734cc85f0f57f154eda33d3b3ddcb5d2aac60b1413bbf4d070ea7dc2056cb4e84c3d95f477145be9505939685fe70805a7356b357e6f7a18b14ab6db45f61766ccde9648293b76753befd9e3f6f75d3a8b6cb6f9e929115ac9d37ab3e89b74f35975fc32b3d8c625d8ca98a40b1d2499b111a9d748c56544064cfa19025782db6d8f1948d83a359028904fcd5f4209d450735d859a2954d188c71f20f29d3d0fd43e31e4a26816c897e7842a87a43ce23cdf1f112bd89fcfd815daf396d2bd1a00d7a09fc609438b7302283c2d38f629e901322cd79c1a45795bdb892eb7be57684274d765ed8cfc03e64a30d9625ad532079e0fc03125725be725777212602d367401d3499f1b6cf74d8a2c60be6fbf6b75e2b594316b6a4233004159c341f91376729fe953eb756633a9b5dd0d2c05b6abb8bae81f89beb57f0cac6575509eafdc14bbf3a4706b9936afe592e1b6202e983681a7dffd5e0b1f212306c614b5453748f2e92ac716ca9361e87c725d254270bca91827b4bf2b5d4e3bceaf37a898164530dd8fd5e2c458be21f7c2ad82b537eaed25cd50393452c3cf0c80ec1442cc7b11c75be0f8ee12d023fd9224c8ccbb9ad67d7d1cff99da8c74a5ceeec404a15d1be35f7543faaca9a336f4ef3b1ce5d034b3cebc2ec8bcc0b16648343f27974e4a45fd7c7053355ba1bec90074c6160bc4f1924923677c41edb7d16586f31b50142371129ece7c60798ce5a173d171ac461f7e40fa76eead7b426ef5d47a2ec0fcb17c679298c654931bc11ae01d13949bd0353bb8aa4bea8e28fe561b4c55172230ebd14c8a48edf525ef39089b981926437186e5c5cbbc161acee24c1a56821a0141b19536a8d7119e513ec38c4ab90b0ae10b4cb152cc3f1e8ba99cd94b58c055a25e5ee7a2d0e9d033d2a6bde94906d2639475c5f63ca511d6c0d6843dbb8f5d863f10f0fef0ee262c643a2fc1d3e4fae9c3837a287b0db2e15979490d1dbf99c4af3ce338ffcff1b7f281d5b3946fbf093091c1e126085b14d276eb774d95c190fa9786660838b7dbeb00da79c27d2877ef660d6c7ba44a0a7a5f44116afd5ddb81eff7b036f14374b8bc8c8f5b8772ec2c668f912c249c157e10c4757a9ad2121c559a69e87e1ea1ef577d9c7000de9d825be97167112d3c67c15806985403c354076c618fce8690dba2b4365c36769b7a24329be1a6bd83ae752bacaf7c1fe256cd7f6508ae1141f731006ec44f53e4f90016ba1972ffe6b20e5356ed29ebbcb22abc8b1da096e08c558df042b2dd4657a3a84ce2ce7236790838473e376c1779ffd9b1efa21a235689d35a457c1304254e1861bf9ab1fb3278fef09a0e4073de8cc921cdd95a64249f597e74089c84fb7ec6e384c48515c68cc00c3219cc0c5df22810649484818853c377d2c56966f0d26cfbf3b7d355e9f31c90c86620382f0e69b7f53c1cd2eebbe93d39feed75522464ae04a9c412b4cdd45630a7d288ffe271e88cea14f8fd0de7837048351f543389e06188f182cd5fec200704d495bb851bfdfd2aba6db89c13b63bbb17a7a6466c240709b29c70b5e1187dab5813a0cd05245c63d7ff5ce5afb17040baaa825dbe1397423a71630c273304b1f2f47a3a4da550c962f2e9b79b39650ca83ee1f253efc5691b80503150fdfd1d24afff4129e64b6d51ddb1073d71a0b3e089796f3fc21ea84fe1277f64fddaebcf5282c2f8c7316b6d4eb8a89017506feb13e8bdb06cc0fa94d3a8ca682385d722166f4695af73af554ee532ca2bbe90187b9751806ea609c40a4d6bd015c1724206508e69d18ff795d3926f3db815463e892b54fff74065c7a804db8655811be2d1aff050562c46b46671ed7ddf2e9c32decc7045913ae6d0d6222e11e31f5dbf99d002af761add18b6269f6a5d4a1bc4285fb42af54749999906dd53f20c73e87c3c20e2cd9ea38641f180bf5eb0286818a440fd0c7391ab13bfb5c618533cc29ac9a229c666a4ed58473466931e22cac981ad4484c7fa947b8bc70db7883cf4331911a1ba24189429a22692478c4d0d0eb3d8c874d40f1d986eefa8662ac64bfd91fabc2bb0a4d3c8dbfba3c2a5b619f3ae2e55358b0aa2950e037c27331780c4ed94df9936f90a604ac4f87473904ef9c9e57cc29784a4358581596f48cc79e3e0e10bc51648f61f24055f3238cfee874707811334ab916546ea4f8b33cd41c5112c7135b1a89d190d11680392c8c078dece1219ce12ad8d180b4f9dba3d5f0bcf3325c3efb465365386f65c66a605170f96d6e272b769594f3c97749d5974edee4a4a18b45d740ffcb8d7f776e8007ec4768a5f27a1acaad61fd364c346ef1c5285068032c88d86816cec12a31ca727249ffe094607ccf328fb3a05f02ef4c338ca16cb7f088708a85cc18b33e86973bced59e905af809bfd6b2fd593598db62bcfb7cd8a5774f02ef5d69c31bc17d08344d022aac17e6b5f9320df491e55157355942d193984022f784ed6580ea4047da8a1bd29b34d07ac9d4061feafa03aab7ef6bf86051e89449e7c9d70d88654a91d836ead1cfec9ddb3bea432e64408098dae88de21654dfcea20c6dcc387d7c5b597d290aa733d0dfa94289aca73beffadce10c2d11da2cde22d2f40d29a4bba365f3aac6883e829a925c201c38bf390c848bf01d57444bfbd7206857ed5bced5bf929cd3a1ac3589761be2bc6208709778d775b82326976c8aef73aab1ca9b15ea3781fc940d61c0df399aa1d46eb10884a1b15923b3a8dd9876c4ff49de72e10f8f525ae5247f803c494452eceba43d78ca59d36a2a38c5586ae6e26d7b72eb37c4538677ba1f07cb35e303d4e74bd9c6e91a325155990908237bd4eaafd94a6606e01c0bcaaff3644a4d9b574d00a251e9a513a50385f30cc1cd22ef35e34ab095122dd4c7326686eb07dd2ce9b49e392429fafbf6e0137b5c3f9812b30ae58c5f4700df79832ad1fee10194c2758fb4446d0a196fb78b073729b0a11db2e8c65558a8f8ec681c2f05a50f9c8c54ac817bf1ab38ae9d2e5616527a66bb07fb0fa9311bf10b345c94668cbb555513d7267751553c9f5a8f8665c0d9c1813ac9f55cd087a7026c1e7a9dec0320c92010363953013d99caf8148902858baf4049b2a7994016d37aab6860ed8f56447dfdb7196da8659a5761bcc837a4189563da30f4432bca0279885fd835008177bac268ef251b4e92d9126e0438dd3228ab289fc88d497c666152a8515890dd56031c97370a324eb2490c7e26f91bba1f973b34b52286bd38a0c19815d51573df4c5e4b8482a3772c8efce46b4aed6370ee9c9c99b7f2486c6bdd2a5fee83dc4648057a906fc2ccee50f8324235c6a1f2220403ba4933bf5fe31308dbd4957f9d2bfc504012c530fe89fc11881ca6d398c0f4fc900a0924ff51e9e3a4946deedf43aec4e8c2922a18079181aab3112fc943100e0be38c84ffa56dc7dc67858d086fa98c61682a94c483bb763352d933b1959174c6272a754f2454f3d01abf253edb9119d9d85eafc0d04ad76a92921c68c63ada57149e764fd7051b7ef7f1acef37dc74cee5c7c615e9a0eba2cb06e5629690bdc121425420545e6bbb8ce1448c1c4503613dcf014797081a1169f4446ef4c003675b89aadc64fe0838eaf5a3aa399c025b1a12485847663e6ea2538062ce3cb89728c4cedf6b0e195dc22a959b35e58f0b88128a04b35db9a2c7f32c4fad39f3ea5a77349362e6868838a442f83a9b9aafea1974d188c28e8cbfba08ebd740ac75f617da529cbf7646fe7a3842fc74a223b22f8f02bd229f07220dafbe3a61b3894b012cad8058f3b9fd8d90a32dfbf69807c76942a29e07304f3c36a1e3a8c1a88c38bdc18b5a0be1540770f3b0ce3761d9a24cba77e244ffc18487c9abe273abf68f755147a323908d40b9a4bd46a7d083eb7c5780112e9361774dcd1010197110f821c6626e2fab6724670cd74f6c420a6a47e2312be650e5ef1230a633674941f16729c43904166ee3f4562350493cb8da98f84415dc42ce2466718a38236dcc960a9a13394f8c3d8abf69c1864c74f0beb3c5bcfb279481ba40adae663818d011b754baf46987e3d824f8cfdf7e9c90c810b0768ff615ac03f244a94b07afbc3fac17e09e39423ad2b5efb5d9d3acbd9838150e67a24b06354347b79400feea81d65cfa7c7fd0279610131170dcf7e6c980941e28aeb437fb4976043e3c6b2d70427474f78323cb2673aa6e23d9f492b339861995a9b1779b29134e7a6909bd7d938e8afdd2f5e06a082796bdd18cb32524d0bf04c683cee3a35a3430880dd5e1ac36707899d8ee7a33463674cdba534c55912e7025ed10963d4eea6864d43eb6171272d3a1561e3bd661beb139486d3f131aea2b1431fc0c0d7ba54e8706d3d532e9ea87c4421ea91e2da09d8dab866dadc2eef55682f5adcce2c339f25fb54203abf4e50fb58e3e15b1a49c6f40685327ac3654526dbb2570f7543732f44a7c8919ee599b8c1def940e6bd6f29af720ba26e3820d74dd90979b09f37d7f5d36523a3c15dc7b11805cdbc589bd6d661e20b99cc5140b2ad60062b3495ee30b77f620978aca03cdafd5bd9a6cd68c863745a29893566ecba89da08347739e24cab874ef4c82b9bbfda8aa264f8c94de74e1a8dbb8434ce089701f596c1c141ed97a340381dd2964ab6e27e32c3c4d5910c0d3a8f2bd00514f910e356094a8c30557c3b612320ab69840f5d53f7289be00b016565d028d61abd81c2e273739f57445df22b9411fcc2fa7973042312fe4790e04b1e4641a273e86307c1c403704e14e9fcecc533b69f163e87eaa9577aff4e5b2952c786831e2c0cd25bef033af67a05f31a4f255d9998d04768f27858933ff7b4b9147afe7ae4445bd688cd0acd406ae3f6c34b80ccda69371b473852f46ef683d10053241d2969e3075e627596cc78cd40a9c8549923b0e5b107531c4df1f855873e1eff36af47eb928575a1662ac100578e03da6384ba1f85db1bd3941ba2799044f54c2a0387aa75fd5924ab9bd4bf2d01e2a05678ef4000b1c909b53ffa01c6cc30165f82c7bcf8afb724c620b2905e581c7b7324f4f03e15f754685dd2bc074f05ff2bc57db3ab0fff89033eebd8b20b73dff118d6feb4d1e6abd9f5e0f74827dc21f418315379532700ea72997adecb048bdc2fb73a90e9356b55e3b25b77dba7857f78f7d6a45a2983f81bc954e5f87c979cffbe4206da96a2e331a44a2c715e98dd3660ed511a27dab8ff9d8a6d0a435b96caf16eede0261b5813c278322aa7fa81830793b3a672fce26d68eb7d6dc7834ceb6dc06acb41694552395b2645e14c23984197cc1274e0663ee60b2de9a93fbd75b69bfc84bc63443efae23b6dafc16f598380628bd64c050b01501212422322b1286939862fc400b8d0129b19a1aded0921232f4569756242ec51ba5379d35db5261a6221cb6b8773f1c8e21dee602cff2c622c5c1c2c66fce4a90c6c3e6817a6c16d095bb058e50667abba0bde1e4ff3851e7c1ca1d76d2583bd98723c557bfc1b546453484b01522b188bea2da16cb4e930474afd9d3e20b92169ea3aaca68009cc376ce5bca1ac8fc68796ef691ee8e10e85ba5ae002729ecd5f641382cbeadb6a6341f5a0d908fb8fd528f72c4de7a3b50663290fb93f8817163b6cb286ba0dfa370560e6df4c5704c484f02d9613599b860ed0214676a83ae35dcca35607edb4e3c8c44f8286cf1bb131cdd50b7f88b1f07317ae479cd8942ec3003699f627d295591276cb20602b075a8ded1eeb4996df122397ab1015b66f2d3d985fd948962f70c3ee8116c3171c6a6c557f925ec68dbd82258b473948b40fbf6a160b53c65373a8caa76be44d4193c6be8ca0f0273f3b96383a1e945d3157ddd9830391064b4d99d3741d36f4069e639b66086886b3563642cd371820a0a304c44be61c071929bda69c4458a17294e4c952f34f06cf2d5960ae6aecd97cd1f25c79ea71d599087dce5d31a930bd47da58d1fb39cf1e3e6ad9038ca5f5c1cc7ab9186632a1d1326acceeefcc92eece8e82b8e4fe0c476c8687f2bca2fc9a7080a7d8542908390e01786498c828189e7b72f061cfa4d94974ba9a615ab26f233d0fa6ad6e1c529764c707b831932193151ace9a96ccf96d852e0a8268abf5978ca63e8415cc035d0878b7a0748edbe82fbfb4a027d5ff24ae9ae7c878c2feba7b4b60b775655ffb7bd796eda04e71e7cdec6c814e1347072b64e013d8d168f0a2e9ff80c8a8345cc45d0b62ddb1fdd26f93de1e6ff2beb595d69cd48ef20a38d824d4a71e0facc24598fe276711874065132c9207632d7e5df73aa49e1144a4d3cbbad791380fc075305fdeb82488e3b02847673ce7637ccb4bd906e2ba2d55db49cd14ec48d99c85cbb42eec202adf06ac04fa8f43a2878bec1378ae6d4402ec2de09772e9f1f4400bf418834d9fea35ada9a9fba1c1bfa1aefb6f290694c53cf43d2caceba05e4daca6de41a54a3420c1004f04fcb1f0c7073b3e389ea0be37562236689637af757ab69ae29eaa79008633aee038881d1da2fa0daa57ac2a15bf605dab596f4f2a45304030a2fbacd09f74e62b577dffcb283114f4d034c42cad8744ec8dbeab0ee62285a947a3037a9228029e9c6f96cc039f86186dc2609389d0d54c58b5bc9f3a81d2f6af7669b42a87de0e531560cadd4f93b09a031cc6253418a35ee17d06402271da1be4082596e3e3427eebcdd007766680e9c4ccd26fbb7cceac16802a30f72df83970b11f503e7c58163b05c3767878319dcd44d52db75908212602518ee18a091884c57fcf16574fd732e0b8260376d098e7cc5ca00ec37174bff0743f1b0b68535f9c0912a791e787c444b56481e2358a81b4055ade1393312e90f5c7be341959d39ea0b518236eaee7b551a0dfd97cf1d753f2600a062888fce3b18a17d4086f99d3a1985daff009065f718ef96ca9bb42321f246ebbf1cd19887c0606a1818a3de39546a8edd66c6e41e01d5bd019bf2344597255c94281b65fc258e14f05886bb32eb1eb7ad40631d294383cb069c8d5dbdfe38ccd2b8df1314917cb3c58485344d9470e807efc2d3a19987482956abd9bd5bc39c973765b4a2a45fac49c9800694e502c1c98a3bfb805b1015afc09306a5d3152fdcadd833cac3888543a9b9756ea2e36cb6a9a7d7d66fb6a4324558043da21646968df643ac550a6a9e2f59e1c3e4409b77ea645f52d9451b04e97195ded1455ec4bde2b2516620a2298f947974e3234776fb4d25a8a34fe151007b07fed2c2f1c844e1584403fe7d343922695ec3ebc917a067427667c17c30f66dd27dd3317c9c8fa528b4e26fbb0683be62d8997ba7940fdbbff611333a31205074a1682ff848a68b0b0c8a479b88814ae7893efb96a38dccafa09ee08bcc880336f99e181263f3d0c8bd8af0084a8336a7e7a5799756e6ae4dca38293d8dc663a265731941eb49e63f0aaebcad25c74ca7c7adc808be4ee6df9fbe3205c106bcfb24f1e9bb0d0e735388640e9abb058a534b3e553985b69fd0195f64b8b727a2a2d2130c3de032ab4c56e4940f91a3252dac2ec69f618934dbab403b721fe94c04185a934abf58937b732741d1525abc9518d8f35faf44a434f893ed3172cb9b3325dda28b305547f3c5f141471503ca574ad19e9b134619dd1e82e477fa4e7fa7ecb0e2af004306719617fb10a4b455c41f02dd66a772f707f97c9187019f414371517861ca92a6285415888f95ba2d7b78d551cd8441d64b85a49805c06cda835280a76c5c88da14a88bc049bc6977fef1ee94c23dc16892dd2160cee98adcaa6d7711e2397664f973d6491f6b8b65fc4706ddae75ac37788821611203622afc1cfb1168f7bc736b7ffbcb203a4e0eec78f8bfde6830b24f52922b294adfba64023a30b8a63d4a1f8a77938982176a507ec3060dd9c16558879735d8dc5ea2a708b0a9d762f732221c07a86267af3cf9ce67ae56c6aaa22e0d49bd935864356076ecd8142e718101b05355c94a8828d1d53c5ef4cd6be09fa224a221ed0e85b1685d9471469544cacd94e9ea4f9450363f4f11e88436d14b3a5d03d8413f88dda93f8904496ef5026e902d7b2fcb851e8568f351884ad4cc842e31e02785b53069999966b8a18d4e1463382fb30b2de48968fd408d5cd7004eb2551129d72378fdcf0986972e54cb9b03eb12ab51c97df82b84137d099de30ad179bbc933bae90481a4e0c2f94e272bcd021fcc8b0da6a1bd6696b4f9c82fa18eee03f2be3166d9845543d90c3182f605ec468119c6321bf8666b876cbca09d16ef9e05f5364c639fce5143cc1c822c4232edc5c8008cae7d8b1c2dd39f703579be7c47587a7e9e1492788e6f380ee2813f7badb584ad98c31fc65390c3cc5f02f8d8a55d3ed7e857a330fbfb84272b8496880a4c48a81c6cc6573cae02626b7b3b7a0cfa110bb1e0f357dab16935a2bd1582e104b1d51abe465841669d2413270060ad766c2722c046ad94cf08a20a9b137a89c66137b7c7c7eef07c0fb083835d9a8be146a2b29a8e79e27743bce909b5ea0d28629f4f2facfb179bf90c615e2c555c4857cac196d997c91fc5ad68e934ea21b2af197882c5fb4bcdcd6daa75f368abe876a34ade71625f106d61634282fcd9aff2f9d55cd925cd7e042e1bcbcb289f050cfb144e4b991c23c763a37842ecef2c44a76f0875f7cf15b53796e310557119c93ffaf470a1c47d800a40f412903a45c0eaf0ccb03da21bb7f01e5463360158a28484aac222384598084c0457fb67fa0445bf41438c62ce7412dba7a1a0b404459ea0d01a3f090a74708473c143a3896c39db40fc8850d9c0960229ec5a7d85ae144cfd7550b1dd49d39f717d4628d08a9ea31b9e5fbb4110a59a8596d93348754174c29db59a79c4fb8f1ea176f9ee35d01091f853e1c089c840c603a859d90eb7d846aa245a717b12d95cc5118d4410704eb60e01e8be6561265e4ff387d834f91d440f5a5168ed383a0d44c721ff860ef758047dbbc476a4791b242132912fa38b7b8a9800afc0238019182e6ee9b7448ec48f48e52c91da8fb9deacc1824e7a0609b33b2cdc35e0ca862eb134dff6d45b6fad574810e0f0daf2b7805e3f8c0f015777f3113722f8c2e1b34b19dd68b00563c96351a089ec3630955064867962da8d9b062c6e6259bb2bea7d4d4a45bb311cdddea27cf0ef366d4919489156d6a12482ddf76e963aa8d8ee6b0eb75a0dba57bec0382e9d7566d47ed30ee43287ffa4b706183157460aef915b6616435f6713c57717ec8845eb6c203223545b2349dd33cf42f758aadd73f2668ac426280db7495bc579264fd0382f929e3a62e8508dc9425b593d68c30f39e1609693618560814351e78432cd7caacbdba1ab1a876a9525427781b2dec1a7effe68911d852c42955ff059a8a1d890c2815ed042633ff730520a92f2bc312b7d2d3f1ad00846858f16c2edae3509c4d8471c21fd02f567caf472b6f52b074259d00675f5e060a1903c7c466ebc6d7ab6d2bb5c93fd636b9a380768920e262c30c82968078d8938be6f810140dd3fca13b115f68ecf74017c2e0f3e7ac3b3d4b592f14a53120fb7d439470b39736d379f05a8bf27cfae42c3fa473d8e68bc039859ad4723f0f8cc8796424f7d0034d3b254ba42eba2c965f56f7144b82cbe56671065987626cdef2e257ad4903cbbf734205bd85f06b3d4acf297645b2492ce72cd02701f98ab74c5314e9da5021758da57cd06269bec07b82bf61740573153f54ac38523103fba80c524d5643fb32274cc00f2e336a2e21e2284288fca57c9bb0a5a1e25a0bf283cad3b6105b72457fe42779699328a20c758120fed6923c6d6c4e7257fe23e68769af4180c4e8a8f9c0064a7776b2c9eb66a056a50cd706423f575cfaceeb37dd8f4bb6f334119823e8c29aa3e73a706a725bb652aadca22d3701028f080725f63175dab593429ec7273dc64ecc0dad2083629e3e47ab2fd42936b832b2d9cd279ddd6613357e898b46d169a1fc85c31d0858c902da52e365b944b4e7e4bd00696a53af7235f3a688c0e079548765db1b7f56aaf4da95babe8ea956843f0381ae39d06e2eddd6954400ae46eab470767af1556dc6055ba9496148ea896b478d818dde6f683b7e3721c736b63f031c41f0d582381a39c53d8828d9634eb1cf8f23acfe9f9d8866e10fb897e5199960ea839436e42822b58b6efaec2fd2acb42ffa2b3846dc695e6834937fd7d976854cfbc37d78c21286fd94a9408dfd9da6e823b5315f877005629b7a72d5a33fa05d8b2a35f38f0709f81d02184f9edecd239a5fc587c5b30cd412d07ea42811f6a54f28839513e5a4aa953aaaa6a7911266acce03bde89f3a4289721eeda16a9e6bcb0b8d215c406eda74eb1926341ab8f3cc08bd341cadac3e2962a83861b70130bc0b15edc395c5e710d0c21ed655cf7bca5c184f60177a92d307140db34781f0d12c1f90708e25920882a3b3ad91e637138cec60171b5eb8fdd9e0e26a14d2c6cc90093a1681dc171d20ace6bc3e2b122fe59354dcabc37f06c576d35c96cf63a91e1f21910b855bb4f49f46b56fcc8a1ca1942409e01cfd13a06fa5585ae08c60e08b8dde0dc0ce8060a51aae37cbc58a857a2407271cd520e0b81b90813c7afe790870af9f0140d61074f758fad4e66b1b6a3a3af4719199810ae5f6e1bc3f5815cffe732ad9202690479755f2e44c239ad4b39c1c5dec3f37c15044d319fac57897c012cc34cb0a1fdf8b423c410378901a2c47175886718ccc6414cbf7d7bfc0172833f11234aedb72e0f9e69da2a979c53eea010e592361edd3906061974d9b9d6274e6bdc7fc7000db92fab4e0a22e7d21a5e057158a76696b9b04ddbc4ffac60e5ef6e05aecf52f565d26672c9b9ea8c17be37073dc5cdd9dd04017a0b3ab0ceea9316be7b0232a0b572839daaece098566e0e09771982507019400715331cf69de55b50dd41d721a00ecdde8264351477cfb252fd87c718983798fb237be296d5f757ca2282fbc8cd4a928d3b2a10b42fd8de8df02d42f99aad31a3fe50519e52197dbb07afd8d3a692abf44726606b04a237318a128e1fbe8445b07edaad0f09fabc2f6da0eb4f8c4df2c101afc88a9c194a995342b2b906dc58da95a4bcdc95941187de30227e0dd8689f2658e42ff643d1ee26de2ae5c209d817c948e38d4817cb179cf2c2130fd0c01c1286b1fbadb5ca560d3ea09890feb6cf4958a03d872091bedb08804625193ca4a16e1c6fcf7336724d3a3e9e611a85b4915d7a8dbe1036ee2a3fde819bea4ca3af5816b27850474b410c11c55e0ff8660819a1cf10a74b1ed7a293a73d495206260ad7ae8b1a193fb7976fb6a0c8213637e77e49dd03f5f230bbe1201d2f5f1f1215850f6a87b74b797de617d521132787798c8e9bab4200911a1996c553f05b2081dec7f098c4e1f056a8c408ee41cc0f95c0ea03b932ecfdcdb33f7faccbd3f7357a077e4de78fc41b7814a4f08a1f17e41d1053f58298411528c8098119d50e038eab6c1a26280858c2f1fd2d7f81e72944c213a63f54a3026611d00e98df15a92f9b5b9b32659bc85e6ff48f3937f11b78ba47c0c28c1f9c558d39f63a90667eef2d07bc1732d84981b9330030db49aa0b1fc6609e7cb68a38c4522349cb48e2f25939b2af666d45a1d2d327625f39cfeda385aab176a0f3093e48911b87905630cc6757158a1826a35d5da6c2d88a95978505d0ae743776ab8b056af729327d772a57fb988e575748742084e7d8e9dbf656383098560c30c79f2be15f50cbf59d52caa3073d48ecec9a64247cc503ae9d439945c988bfbc62313d89c119e2a8ce172d47f91b5b57d7e199abaa5cd6e3246866b2ff26e2b4f638f30dd5abf5be487065b5ce0bee5ec69a041ef50d910e47cb2f0dc769ffb6f41b7ac436bffb1ad537d099a3b89591523facc989d07598c3b106fcae98e99457d570862de5ed9eadc7376f20b865b9655aafa19ccc6eb09ca2d5daefd13f1ed465351fc6faef40f1b74d774f22bc96d0ce89229a08e921916ebd543212cbb660acc1099c53705ffdb0a64a92de540f1f9ab9da687a0bd7fa9b32e7ccc486b6de8c961caa7bf48c8d677d9359a87b3cae8a20de61b4b8b876f289e973379d1af739cfe7bd286a1e9fcca01eecf014cb1aacbf2177ffe8f39aa61d63bb34683ac36eccf810821846944c2d176b4af62b05d1ca3d04f43015b9daf2b8d061e9d9a99c3f21862ea1b4d743faadc9dd5feeae82871208f7147a6f26fd98b6a26b3dd876560ac0a80a358cd6faffdd0cc4dea80d557198a704dda2ff8dfac31e507c957d4d02eef45a4549786c26626f1580857bdb92c56ec58f034a8aa11d8b511834a7ae1b9f5ca14bb33714fa06640e02f5bbdcb91e7b47ffc79739e07ea1bfae58ef5664fcc4ecb6086b91cd1769aaad3f0c4d951da4fccbf579d10529f0841401bf40867ec45ef2216a49c618c23b833b10588a084e8b0ab2dbffa8f38d538b1eeee11e55da6e61fc4e02f64b4bac1681842bf1e0427c7bce0ab26affdc1ef4b029e5d6cb0b490fbde8ffcddbf4d4d9c1c0572f76ec668c5a61269b0fc405cca579796e8e16b10a2ae363559932d3fa8e03f40a908dbb9499c9aac6e2e4d92893bcb30edf1f17508ad87b1fe3983b25d9bb9b0e36a49cd5c08c68b6be7b89efe7354dc1852379ee49e9025e7e27af76e3a2782ebaefd5630158d123926fecd5bf7b86ca851415a16654c187b5e8ee27eb34a8220cc500ce25041f95c72a466964d78dc89dd7706182289104ac09e14a9133191ba6441b5896b3d2e6f1f27071853ef2b25d6948fe47a7b8a43ee6bb56264e7ce6a0e1eb7dbb4b6c852503a8782889078bd02a2d869865b7cbeef794e8147a220a24744c88d2872e407a86b0d98e9a2cc994fda0ad02bfb27885a051d3c1e99bb5f019526cdf6ab8edb51e4b80b37b05edc34770a91787bbf5e2b3fb32d21ce2fafdd9d46cd397e664ebbbec330f4b1cd7f809df1de10094ad92e381d423ab4efc4e03c1639eb0bb7cb548aaed9f0af1c4936c62c068bb963c850bf2337a99575de4da59023e1003aa8ac305e7dcdb08b4868073c7f1dc62e5b3ebf2cea9877dd625ec8c04928d2bb2ead6b326d99d984cbc06dd8504e56f12edb108c84094016d08e461e5081a7e2b48b75392cc4f9de123ac5c1b43488590b4ead39cb4487d945684ab88bb552107bd0cdf926d8f2060a71276da44b4b1df4f70769860e55eb3b3a8fc7f85e81b6219b115e16d23b89bf8052574dd4410a6a4372b31b7f4f737e6e50b9d02d6233130174bb518a16f76ea141969555a5df11efc3d8519b4cf9485926cb0d84a26de63ec55b09b571a6254e1ae332c4e3766e3dec28544c681ea9ee163d1b683fd8e1b9ed2420b066ec32adc7cbf082d206ef762885c4a7b37ffe7031b23114442f72206790ead0c353314d1ea1b94d9a1b8938716c85c85bfc5c6d2f9a6274d6f9684611294cb63be4f75106f4521eb2e06dd6a32f5da3e41294e46cacd77c51553e9eb4e6c8d3cc5d5e468ca9c988ac8da5fabf8415a454250c780a03678cc6326e9673d023c51e729e7afd7136fb872b244dbc9624bc235ff783b5000704f00b550bd56cc7203835e1301f0014fe4842f266db639bb9e6268b58443bbe0b9cf79dd50a949770c074e12844b7c1eec96e9bd77103ecacc18949ba0d633eda4dcd61d7ef41fc9b639ba964b20c4e36d5a70f7987bab864c93f62e97af723136d785ee04e57ef7ddf5457091ae24ebf40ff00595e31b762fabe154f71a11261d3682fb6fabd85281a0481ac51328f86ce23f42791598fbd55276d54b3440cc819da8bd18b7a2213187bbbacd75e7caf764c7f01748eb96d9dd8df219f4817343be39d8d25129b1e2efc9e310024622eb9b73b5bd664aabb0764955c24c96110159510c9b3b5e7fe64a1aab67e260b84cd7116f3310ac480312789c47d94d2b6607675d0cf3993bc06e38f5433d4c47fb544a781dbdcb637e92e3f09a66b1a541c148cf2a397606154fb200a508f40c243bc34c35f033b1bed4d3481007abf91032391b18e4669d79d28fe286d5fc02e507e4bcb80721dea62e6d21f3f95710f4cd43b2d1963ec1e3239ed85a58364fa694de505a79728156664c39fa7b86c5fe10301a809bcf136a0904034734ef5ece31d58acb771431daadf32b33e7b639f113e02f90001f3eafd361a0448e75a4dcca227a765991694d8516e32812e3e7298da8a5956f742bbb5d2b0f16691b8c0f4335106eebf86b1eedd292f2d65e0768760398034b8be671a77fe7d07687ea780fd0aaa0752ff33afe365411d15115c6fe70ca4634470feb5c177a1f3d6fc4a1e247bdc0810c4ec0f034417bd946e42226cf0639ff4a1df0040ec48bd002d11a93296a3a8a4070c4bd892fab22e8692cb75a0d2a025b23f8fd058246505c9141d921e7b90886e4647ba0a087207faad838799ff249397c7a8977f3212806c2106714e1c60ccf035e0aeeb175c8d670f6ee518586696e179afaf474e79a0648a8ac9476dba8ffed56dff66f7d7c2595cf6b3cb543185d9110845d48884bb95c7b9b7aacb92beebd6458b5849e57d55d7d510f92e633e1a526f6df09953f3e1cad6a988067922e6135bc2a0047aebafe8adf4dffaa16592c8b732601575640df5c0c02a9343fcce64fd9981cba2fdf75edd6472f69141b58576a9396655fea390445ec6bfeb3f3693e10ef9785214f801be7c051db43c1a6d8492659f4e1c40b2c4e0552e0cd53b1225940aa948cfd043fb1d21fc4e0a591946d81103a542b12859ad3e633d87a96c645cfac7f129e39ed24816618a647cca2023cb9e923d93c4a4fc214713bf7ce4223562dbda87890ffcae3b68388bc98021b5cbc8830a62c0984b5f41948ceaf947f8e90e2eb41105b22e5e8d43df54eebcb302d4101f034750ab4c1884cd16c2d0f2346b6db66f0a6a0409c4865caa75c33d872c11a664642da365fbab93d60dcc564bfaa0abe0f0cd80b873bfea63c77c8264010c81042aa17c0be3b2b63c633ee1b9dd371dcdec625b309071688e104e7f5474467c5b7160f991fb94266ec8c083468842cc2707f881d003493e261efb2dba422da917e3bf8a9790b29fe454f8b57b90bb297ed4a3e6a69040c7203e837fdd3759e900548708ed5e38eb5ff04f173b3d18138bfd2962ab3307fc749915b7ef2d82cfa7cb6c7828d5d1de43b1dd9ac7037e93c0a6ac88a209bd06150d8a2cd23d781e06d8fe4b60a078360ae1371a38ba38acf94ef6bb9e91c35e98ce5c7e6884eed532f7020c1f2bf341ca1915e523be6bd445549771d800cb60fad528f54da422a2325f02a7d7b00e00e19c20477ffc8cd41a270c4d888c7f53e162e884c7def8c85a8d8a9b4882807f0fc8e5fb600f1150d333de468c20de0ca7bcedd7c72a1ba2b797f07d6ee48784c45c9662896618f5d116a12e5f1cb2d90ff5eb69bdb0a7963297b3c3f9e46e5f9cf71a6de4b70a4a4fb493a4fa929fd98bd50c3c59beefaea2aea6477854086c02e4247214214faca69a6daccb7923b98dc4f1784dd8135f1770a7d1a3f4e08b8b3c9b3ab91567666267272fa67b51b493a157578ca7dde2598f4ab5c578d26d2db1ed7253433aa6b9967eae62346ab95d2e32622c6beb71e0b2bd1cbc1be5d6cd67b2874f62f0f904582797331fe78baeccdb7180272be1733225a669c720984660bc05089fb3fecc81eb5d8c1a4c63fe83fad196345af9a8ada8cd7e879bf33fc6f6567b7be5f2e3da802b957ac64a31fcc0aca91f565b832f834de14aa752ab33b21e769912c605f898a887f4ac37d31dd4b3f9e620ba8de8a9e89d63c75b94cd4389ee6446e9abb0ac05a80726aed03e918fde592a681dc7c44c7252b79f312e6efb6307d9c1d3654e29bc725215929b3f405f47342ad400ba30163fae9f34dc9a68aa20c5322bae1f1a53515e7df3bcb6bcfebb8b91cb46b23014e26dfb524a5be17ca2caafdb97ba312e3f44da429e2c1916fb60a4c5c6455464a10f3ee48049469d95d97730868cda5d3badf3c4b5c672cd16501a46163b32639a18db32242a17f33f52ddc5e6264277a41cc44a8f2b64a10c256d2e5e7a3339ffeaa9005478345c1af85025f7be89b51ff8134886da133795a082447cb7060c7ed65c4b2ad5b7fd44e9c1b08ca596a9cd30e82941267cefced6701d93ad94c47764023435e1ba6fd4e55d3f218a9bd032478900cd41ce6afa56a2883bc2ab260da7f5bf32d9ff6d79461252255afc12346d5920baa6a17018a93f82abb70dd2e1f8f3f39539a521c2739d698703e104012eecf730c638a03c9cab211b0cac82804c2d4af75498d6769e36fa0566eddebed595b9124cc8e377840685d5f0c684ed3c4384d91e962bb42be779d8681070f2bdc5e4b346f568be1ac1103b12086d72c4b6ca0f293292f42e077123b8cc6d8ef7beb4130baf2edba9b1caa9ae8b4d1b22705b9d7bd19d51308a47cd0347f684ca8f25feb0bb701f8559f1c0b48eb851d667347f2f410c2830b7defddc450444555f0fe262f6cb57304fd6602e96ad5ef808257d6fb8c4c59c0d1c9f0c030af17199b9984251b89f277c62b00d779b289a40ff4da424919befd75e5ba00d237cb6031a6e067f5b3016526d0e9103b1656b41d812810610a82f1b742f2c80aea16b38c60290986491fd0fa3e05dab4eff8c662fc063620a3736fe60d4ced9e531e6600a66408d1be7d44fe87936a9c43ca101329916d2199530dbb52b576e99929401dd07d207b707353cb94722a5f76e4c250f899f0aaa386d87566b88703f1cc77148fc20f18304904cafcc4cfd39ee28731cd791644eacc958acc95893b126634d7a245ad42ba32119d1ac576d14eb6231598f331fb359934d8aa5565971e205d65a45c5c4b3d7da406f0d36dc308515585ccda7e0a55fd1dd47628b35ee64c9f04c9df22ce9a0473e702a8ade0387b98ff7880edb868c600915e0e0d0142116d1628b2db678c5165bd4715b6cb184824d32f14f8cf1bda97f15ecad76f9e0542605a1311002109c7011619da0828be443ae701161838b044a5196b3a58696bb27fda5c1630f4a694a14cb0e54d19f2e1a7316899638f52b981eb4c4b8858ab4887912398ec270a2498ac3252e836232189ab57b4ff67e1ee83aa32aa09e34ad1d575ce21b1493d12d682c4c8fa2a2202c6e947e038bb22c3f5a92486559d2127b8b8431a6a528a3070778ce148de5c3bad9bf5f5d5c3e55296d0b741deb0b1b90dce0a53c30f52b95793d37192f510c55745d1743155dd7c55045d7753150e15d20408c404141a15047398d12bd050411dd814d2a723889366f0788d9528212512821c0266bb6bcf06393fb4f55cc16859d8890fb5959c0a1379ecc7c860f6fae337cd7595c121c9e00e1a31f48cf295070708812c913ec84050e3d32c75bfd285bf05eb9295892e13bead5124a15d87b94a73797fe6a5b2efd666d2ebdddb45c7aedd65cfaca95de499d4bdf1dcda5a739c43878efdf954a9c09e55ffa4ba1fcec55c3f073a68428f9e4c30a437de8b3d4874ed2f8b0cb173e6c51f5217db9f0a1879b684b0bd832e9bbcdab25f56badb5d6ed7a1afed0354dd36a9cde5a6b01f01dc9db64d4df36f0bbce9bf12185ddaea4e3fbcef34c1fce19ca18d8e4c3d7f1df954a9ca9fb1ddd87618ee1c75c6d003e1cb64cfa1a1f0e36931e001f0e5a263df8e15033e9bf0f07cfa4ff4f862f864f44f9b699ef852fbcb3dc4fe30b39586ed2983b96fb4fbeb07be57e17be702b431cd2978c2f6c91cce126863ecbe1268633963d70a301422355373b0886a16ac726ce943e99cd93a193a1eb834b3c48912201becee27e7220d569cd4331826732a293a193a122a34ae4b29399b76890889a418d2125f21a520c2294caa8d5ea107deb3648c8da2bc23802020212032885125128140aa511f5ecf0f4ea871a81084788727f37444f864e867a253c393991119d58d72a3d99e59393a1f00443a150274646a79e93cfe9e754fa9c0c9dc87c4e86c488f9f8f89435be86275d0f08146a0614fda14658a156283754502815146a06f0d47382a144586e2a8aa2c8713894868a40a05028d409864215315ba7294e30d409863ac15027186a864789de9a013cc15028146a86d3d009e6ad194014ea04439d60a8130c7582e1a0445114c5556641a1505e2a5528afc8aee9a994ba5dbf5261f1b2d842112830407982658c12596a41b77a68a1af8799d23636e4700aa120c1e1267a3f3d003181d9f2468f89c9ea8702872567f5df14ec4ba3b7bc13784e8cb94bbca05e89fd748b060501e59f92ec9d60b63cb259fd5e8e1359c73bc284b7337acb93624e8f647de1911b91d94281664aebca50f1d50104d2d84cf968100e4a0ed681793a3d3e56ab9ed56a8539ec4727f4c2d2b811d9c65ee9adc6478f9b1519ddadda5a2b8e91184662181d893365e6d86c5949020e37717b79ebe5faf0941e6e62c97e474b2855605af66ac70f9a44eb01c2e2e7082d4998384a23b5d15f5a220ba1110683f578306ff4461d9d578dcd8e75ad524fc79379326f79e3d8efe9f44ae8c1665e4faf849bb8d16c4737b97f9bd95ede8ee7a379a35743e48d473b621051774a2406911845d4e7dd687ab5cd94c6d212bf89e24ce91aec6aa3d966561b914d6c90166da28f39e7fc6d0477894d05b94b35d3c8470fdbb6f936dbc4d9e29eb722ea266ee2266ea2111209a4b3199e3d89046ea2389b6da25b01872a3ebc359bcd66e0266e22098024b497e1a1d6da95524ae9fd7890296378a895524bb5ae303c7acaeea6f5c272fd7b6bad651364fecc955750922449923cdab8bf1f25bd954a91293245a6c81499221bd0ae7b314ea5fe572b151527325b4565b5fa4fa57057a1a7c107d8fe1654ab267a7dcd961af36a5953361acd9555d2e8e9e3682c903053fa431c24526d9eb04b1b6f4d970e2614b9ebab246b6025559a4a03553a746ffa1dba379148287025123a0f919edc326a9490fbab4dafa072cf52043bb9dfbd67963447dcc7351704d1e850512251aadcf4a7dfc184c121f097fc091c420a19fc253fc409564dbe4dbe195fcccc09f41cd04967f59b82b00954f99bdcf43b94de047a3f44477aef4bdffd0e25b0839cd5a40f81077619a47ff0841242ae0e9c539480744dd7a405d0ac0d97db264c75cf16eea8e914b3b5e88675486125acfc8c8caac016a44740caa305bc93efc5b8923a5a0b7550af280d467058c97bb794fdd4a436b47fe9186fd528bcd6205677c07d618a4b796bba7a7a6acead45baac6451910a45a541d5419d82f495f416a992a4d25b24d0332951ca1a65e9f7060b49726527e436cacf4fd6ecd20c03cfd64060e3d25e888b961ad02e0b5eaf5f6a0a5cc30a766f1dd2b4230f2643ee8f992d2e909efb7e1f4278cbc3a97f8189e1617ed75802a6b94bbf83f7257087ee639cf543c8098ec827687ee0840a6e1e70c41349bab0020e0f5ce0eaef4a3f3bef49df81434821e33de987e89efbe952d1ef5e88cbfb541454e9c0bdf7329c070691828232a4277d90eeb917e29aa53953ee7fdd37639cd5ff83e69754fff7affa55fa679ce36e947abb56dd377bb55bafaba8a8a0be30831a99acd3acd11e0db3654657531447a536fa8dd4fe583e7503cb516a802f4c49ff0d93d544c8ed2a534642784f23f7fb15ac5ce5409224c9222e7e37ab5552127ccee9eeee734e77cff1e2e2f229fa031cde158f5ea59ed29058f0bc008800aba8cadffbe95279388336d1fb0240045370c8089650c186834353845884288aa2288aa2288aafa104609557f1a65e2bf5ea1e7a4c601507556ac0b98d15f7f59099296d63aef43057de7ac0a4a59822773aab0194d5bf456e274caac34f4ce5a1435996658cb738b02c4bae86d56ab58a298201901c6de10892a33166488e901c21399a1943866436c60d9219921992d9109018f500cf99725d386eb35af53189aefed4487f3bcae12f4686871e7af8d0ab6665942e79a6d29b409a3367a47cdd28478e17ed3570d52b971c74b67c4c563f0766cbf4fdcdc9e27e86538cdcf4fa6412cde99aae21754ddb90483487e6d4bb5952d7355d4e4ed7dcdcd8993e3e42b92837bdb9c94e6abf24cd391fad1da626b7ff7d9276495ab7e97460058e20cae9ba9a92c8297522a2221d2d2d7078c3c459d9bfac9a43997be7b23f0d19d93516105052298ed34cb40ff74a88ce4b3a662a19afe433714e2fbd94e3483f3a8bebb88e0383903e2148251f5900b1a95e398862f32cede0320ef1bd974618337c931addec137dd5d367c901d32d95ab3f46a6871e3ef8d02a45420848fc82dcaf827ba573a9444d9e33960a09d8ba3bf6168bb2b058c167b3d96c369bcdbc752fc6ff3e9b618b3e5399854d63e4d796b0b75432252544340a92546153f9eaf7b3260268aeebf42ea76f9f79130e40b3729d3e4c71a161719d4097d9c8d7a39b1639b7d4310187552ccbb2eed8b62e4b727e7ae55651cc1173c41c91132f483fedb75975d8e7342eae30b9e9a32f1c9d27c81944de2d15940a3202091288a2e8a4ae33152153458e4a2653c9eb48dd0e92749b2908970e9810983114078a04666b7681d2dddd5be7d54ddd36e7d461f6e4e8de5bddf633864d0965597aa55796def2bcce9b2d2532727fd378cb07ca6a6fbda448c7364363de7e4e18658581af2a07b004b3c5041447fdfe0d0cbb0c000930edbc84ca42a53101b5d14f4b95c829e7200751ce94066b097a7e9acef46040031bf061684e30b2375bbabb9b6e1bed3a1277b777f94740090b1eccfb818b0b0c4be0d01eb1475c6280431b138764d635a323ab01f9f800d9a1d1661ca366236d9015b232eeda238d52a0a3f1683c1a6d7c1ea12471992d25db66332d1694982d4b34598d92fbad15668bd2d0118cdc4fc31138a4a43dd2ab2fec111972a5b3c5612e1d51a2c0a125caa44873ac6bd55a971b9680c34da435b4c612e50e371bcbfd34b668dc6a369bed6623359b9a9e7a34733473344364a6cc4cc73b5e181d7db6928e9b3b058d9074c490de061171c83197db2cdd8104c5b8ececd828418e4acc162d428ee4488ee43892e4488ee4488eb4871c4772dcc60a046f635996dedac66df460a99dcaa357548bd9a23635d037d2041e664a47a00936b39285eae8d01bcc95eda90e64108429acf66346dda4fd2cef2d7db35a2a7587d0376eb8e498ad17030c2420f1022e4622b8fa79ccd63c820b9c60c5125af0cc20e19a295ca472edb083f507a5f7da5083df7b635b9457902449922425a9114890406461a9018bbbf7f4e414218b902449762492232fb9915d47e2ee469225c906a886ad38cd510f2dd58f9581f2cd284fe0ed9b9cb31b7cd0e29a86f204be1e2ec154207e1053a2159d7a2553093ec9e861a6dceb83eeb4ccc505a4e28cea05781367ab8d4c56bf365b7cda57e956aaef4a03b1a6699aa6699aa6699aa669f40526476b468afbfd3eb4bb7b75d7dcadbba7a60dfe7472198b62bfb011dc5954b8ce2311001320d3dccdcea98bf41d715d333347a8b8b82f3dc5621a202809b99fcb22532d644dc8253742c0901e88ae6ed482479bc13438f3a1331f2b68705164b6e83859fd170a4c83dc3af029724847fa38ecd3c71367b2665e800e6e266b664a006a63d5ab2b5056ff10fc4d17d7b96ba811fd62d64b501c74a436bae5a43b2ccfd6ea8c8e14472ff1454b2bf1160c5b04290d0cbb088c64032f4ebdd5aaaf66b32d6e79af30e19c1950faa96a091020bdfaa8cbf4b575d243158cdfa2d400fbe8d566a4a4c4ed678252033c41cff45157c9375d3e4cf767a95620660963dbd525fbda67c4f4f8a3b92e93932ec5139e98ad7ec264f56ca161b6b8d033d0087721d447473c473c473cda519333a53b01a5d20b71993ca7c2f0f0b883407ae55ffa9cfc3c6708d6a15d947456bb3a1a5d340d2d70d8224ff3344ff3388f16c48e997778fe419338016ba08f5e794f4e6eea5e0447d44027673605b1a377b8fb788ff7782d81dded45aa1799ad2e627a7bbb934e96be043a49763b293a2952181f1f1f1f279dbc65d7284ecc990f1702e35fb194ccbf47db07440867f513b8d23aab4fa7d4dd35d7ba8e15acae92e1fefe058370e07d212e21c0fbf9b002bf4a8f14f5416d7339c0ac5c8dc061496e1a724d4287740930e9ebad1acdeabfa1d202dbff206c9fbe67d7ea7f4fc1c524b8deab919e675ba76f0c8f9f4a7393248f9f1949d223b4a7442646e687c74a26a60696c3f9c34386e3b81db12119510dbd9a414d72df24501090931cd72f27777a50c93dbce34894e33a12ed48b5c926bb75fa7e1e803a07ebe0efef194f33cf8cefef61b6f49bcc90811bd62dfce5c77d40f8d0ac7e1a44795a88d2044479c5f42b259d5719da91839181a03083b2a03d1407106a0389b94222c15ce9929869268e1002c89c24ee6b533184238cee5ee9101da23e748a23a5a7b0d29129603018ec8461253013ac043bfd09c460786f88712af53642f48a06f9316d10c1020b8b0c0f40280e565051499710d16ee9e777943499404ae6600c5221ae6a92c2bdeadce3c0f0257357255372327d2a1993e985b86eafd0a7e1847da4a7265ae77ffa562acef24a35bcaf04e2ce5ed3375d25406cbd25df749934076b9d5e6b564c775606d23cfcd3c3e08bb3fa6a34880a0dcdc82f1e5258fbf8e823ad4ee33ed3dedeee3e3844395d923af5883650bb7684fa4cbfbcd53e3e4d24d210e16eeef614076a33d6e47e27b936ea235bd261697c282d533044e3ee240d499343cb208c53a9ff52a5cca1af6e51a16635051aa225e9433a967e3aab54967c2ba6046c4cc5b2a5849096353674ba46a9e94322b209d400fd1f3ef22c791f0f981c2fddb46953167fc9282d695bd06d18f0bca2ac56c9c92cb9619d0c25291b74e010520c61faae041ca2f49e3b15816060ae04991d1000100ee7acf443746ffa21bc2f7dd397317dd725150575307df73b803e98b0f2401555c5741ed88103b0b1a2386a1460ae34a735b4c6e8878fd96c36fbf1c3e3c76c369b7524ee6eb7c69dc1924c5c71efbdf7deebad1767f5aba8ac56ffa954d7d73f0811368a1bb8a4a85fa716b6f084912bc42a2a301f7285ab82240d664b08df5256e0297a58e0953510950487b405b905b385660e504bbb99d2cf4d1b5a0edcccc16d8982dc4c2931406b8dde792b99f3e279a1428c61eac55bd3457b729c16f1b006eab4868d24491ddb4692a52874b3465863d9fe55ddf717e2da2e18448afb41fc1bbca08ce9db04e28bafe94ed3d7332d0411fbd5eb961054cc566504a6f4866a54b36ec75e794db5202572edbfb436ce59ab93d447c7c109d2a15bbd5aaddbd5b6ab6db7ac42650da294d2aa83d3ac192da2af9d234744429ad779123f25af2b799d16542fa8aa3943706c123735a8d65a838262160c7b26db0fb1b5403854c9f6c55b0daaee97bce92da8ba25603581f405d61c90f238cbb6d86cbf07c5ceb27f830fbece72b2e65492ac2f8a63b4efb68e36ce6259777f236e9fe2a0628b4d632f2ddaecb6f568ef7dfbd5a7927e23e4a4e7d0b80e8f1ff1bacdd6d2eb363af3baad7add6637ee7dec96e9ed539ca06c6dfc0627a7df06519c6cede32ef157b778fc08cca74d9ff6adbe59b66bb62855ec9926d22bb6061b9a9bc6a9658d50b6dfa4fdd639caf6e98be7084c234233d6501bedc6848664441a50b65f7f4a6f6d17b4bdf7d5a0251ddacfd53edbbfa5097286fc689a3664c890f6b75f63a0d88d49783ffcd05d6cc47b8d39c1d7b41f1c888326bda25863b902b78034ab5b4034abffe8072338e554f6c3906e206f9d7eaeb24a9e2710df5b82b1091c5d4585861c4cc739dd5958b6a736ecf788a9a89878dc77b390483db84069d081e338d2b1abf7068bcb4baf686f42b8ee74b4929f38664ebbf5b031ee430e1a181e358886488d0dd9379dd33b1d89db8c3a12678b3a12a77524ae72df8a7adf3441475d9e4eddb385769049cf389d9c478e23b1c8284694b1e9e1d5a3e7072080501e7ca8efa37e909e6c7a1991e3e03f3e255050cfce8be708ccd65a1e71a49a68888c1da939b0024376680f4caef48899213b9cdd365b81213b3b4756ae024a6189c8f88464ed5b0520db4f95034dc2ca449079fbd327e3f147b38dede02fe3696987fe92af2599d3cb0083b48db3ea9fbe9664f0e8acfaf8bdb48395b5fa307881fdfb290a8a0bcfbcd9a73258b9c4f68a467d9cfef854b7d6b60d6d2abe441e7aeda6597b37ed6e1a0d7df91ce9b16bfaa649b1ca38758e6d9e86a54a3efce3f9947555ff4651ae4f3592d3ca10106932223aeb481c1d9253eb0ead9621f81992a3516be9909c9c21af188a1777bc49b8bf0f33a5ab0f5d13c03b5bd3ab0e6d4d0d39ac613353fa1d96712ef1bc8424864849dd76d38921d20e0ca22a8ae24cf78df57108e4fa41d4bcbd0630807cb1855958cc921696fb5f3edd37992c25f6ea052e70e94d3fc8662802ae596db3cda8db7eb69f6efbd94a0a8451b4fd749db51abdc1c9d1f1ed670bf2962db2413e379b4fee06aac1c9dcdd60d6e855399c1c1dee6e9ee7edd4308ac2282aca1db6a42531c637afd70e77b793f5b88ee475245bd2c1c94e77b32005c2909d4e60d45899b5960261c864b9d3acddc238dab67bf126c381956d8db5b9e995ce54c8eeb305b7c90b2e7f1abb4f982d1eb844f5bdc4e54fa53071d891da80c27d7f2a9b2ddc3b186e251dee83f16c3149117adedefeaa938d14c716446d6c41760c63e65d134ad32b3ab30559fbe1b6456ea7a2152f89d2d0194a845ad087d826a4da445125ce08892a15156bbdc9eebfc936a2cd88c4e1b155a35643d95e9a252b49b79d8dc7397b3777d78450508c6442424243730bea557f6b28c839afd639e79c73ce6d93d5df64deda6eb61bbbdd6ca4dd64b51a6db2eda857fc55f3b309c5bcd658b5353bbd525f3cbda21da1db76b3bdb6d78d688bc2ed67db82b6a00d87665ea185a21919d1ac57b422a398b51a95598d7a18e5e65788520175bb420b4095026194b5d64a8130ca32779e17832ed54ac11e35664bd7156f6d449bac57fd17a7de6ad5ef988df8b1b68feec5de5754a246df268a40519242025390862eb0ac82408a6440c459248aa228be7dd92468111caae49acb213539a6229415bfe48081bdc0c0e480bdc0a0a0a0a0c0e480bdc0e47881b92629150b300e5d522e2ed95d46149452b3d148e0c940a867469ee50a503046370980bd547d6badb596d21ab406ad416b50cbc327c6c2c4d03749f5e44859dfde525b356b69ae5a9e65134bc8e18d0c832cb440ff2d14ba1b303c627c60626278f8c0c498989898c4f0f08189e10113c3e20213849850388390fd71a038fafd6fdcf07161e9959ac319649267c984ccc44403c3bdaa668a3f8d69c373a031575e6b0569cc14afa999e2b43f45310c3fc05e6e2cdc63b1d851778cb26498beb380dae867c26cf13b5bba67fc6395ae60a6f493398e83d293e3d3c0ff58ccca404a43c38c90d2a4689ec65b9f0a132c96588f582c16eb81db582c8bc652592e122b26b95fbb6a0ce1508565b668b95fe586d9d28e4059fd5b4ce18469853685eefb4d9756a4156941ad61515f2b6b0d1a165aa9955aa9955ae9adab699a6f56ab2a38dd7fa38b8a8a895792c4245e966559963227197f0a6bec5554c22aab415de35c422251d7a26e5d25a94aa74fe5fd8c17e2ea6ac937f187379baa68fa39ef26e34d64bcf7c99c7ec6e9395087767118f43c3a9b2ddc4bcbf8a6ab44fb53105afe82a09f8fe7b08a2110f4654f27eec49d4ef7743a9daa5696259dba02ec074cccd5189363a65026e60a8fb9d231c30e30fd268a40c181b95241307d501c28b4448d40b9d4052a51fcddd9b151e22a318ee3388ee338bec06030580ce30823b26fbf02e88cc0c7355b6ad8ef87992fa4a2c0a149eeffb1e34d4c5cb01f75d1afb3b59f07da4b3bac869a29fd2e4c1b5d17e0c2cca16aa0c94ce9d751c1da6f92ca2cfea57030fd9bffad10ba59235471eb79d4edf5b46aadb5169b805eb7b2f5d68f95558a0cb95c94653981f8c18799d2df136bee32b28cb27cbce5234d55d1b151e91ea3aecac15f48f620d6b66d012001f6978f324aa4574d85b96285d958982d1f4d715c600c9951cba2d0b2cd871f7a7582c9c47462b67834abb548cdd0c72afc65a6740e985e75e93e7acb776043850f21f797cee3347022fe2242037ff9eb1504cd610a0bed5b2693c95a365ba4d0cfc95232992c03390d8c68fff29606a652297fa55eaffe6923501cb50ad44617c15f74f457ad5ecc947ed9ac897a4584cea294bffc7563de329c787f93985ef94f50a6573cb83b18d29f6f3f9c73f604bb67cf06c3cde7c7f4ca7c99e973b32910a5bd1b86474f49299d2b323cb8a7b2778d9e799ee7ddd9425b9408e3a04d98369a7631031598fbd0bbdfe938d203c899d4d3fdd3a4c93a4aede8e0dc19186c80b51f9cd5dfc3593f0315d83e97bbdc63b6c4664aab6f32305b540a93d54d88cd584f4c85c58a9d66a002df1d4055602a14147bc1805e9af6d25eda2b469de2a0434d637fb53c4b0b985de4ed399b03cdbf8a714f635c13e817144911b1582cd6c304a5c67b0917394206c8b3ccc1b1b9c57f9266b9736a0890676924968b8e72bf93ac504b320ef72fdd44687ad52548e01e81ca207a5aec553b3d9a1135e0efb05eb583468850714971559f11aa7f20d9874ad680073c1bf980eae77f4184b854dff9a7bdea0b41374b3a80aaf74f03554388b9aa54a0c3fcc77b4effd2a918e09064d35946a5025532ffaa5781411e0c82f231bcea85b8be17e22d95cc3ff82018e441950cf8ff0f0601c12030bc0cff2fc425c4d5ff25c154a7572ebc8c7fd51670488394a83817e319ce6c95534e94a0b49c5e99f1fd9a4eaf98947cfd302e29f93a43bd0bdfef9235d58736fc87acefc32f831fd2c84ee3c39afd7adbdb0f4d726ae585473dc9c75b2048faee7d8c4112c9c72557928db7e69cf3531fa672fd173e1aa5ef7ad87e26251cb43ff917bf9f0b5f3f19afd1c8326a4509e5939a69e9047572944f54465420112e2e295c788da65bb5ecb6d2bf90059cd2859019a016a4e00923ecc006467831c54f1052301a0167889445afb8f055234de7d372be7afaea91266a33bdd23432f7acceb2c061c5c9fdb3e589d9d27d7f85016d91a80c300e523e08425e6523d8a2af6661a6542d5096c602580a784cf0cada1139790bb9df03ebaca1c021c96703830072f34a2daa59a8607811d9c13ad3c19f278c0ba39c5201f64f2581494dcc9411ccb3cc219a916c66ca16466046784a180885f5057506ab3332d799b74836f6bb2904cf128a599ea59152863c4b28ca4c8dbc55675e4671a48c6287f34a3a2ca929cd9183744624b1b86481fecc47afe8a4d968b6340c5a9e58982028db8f7443f2b26906d89674d43a9b2d3130a08a20d0245185105e30120006308041143b48420b479470e81df64936b3c57e48ca21edcc149b1e924d7f7dc16c7190d4c44ce92fc9242d524570486a62ae684b14813c42ee27d9c880051c569b4e86184e8eb006c35751be9ab205cec9619db991127048b219cade8775a604be5f3f24d9e4b6e995d92b53eb9257ebaccaf4aa497f6fd7d5aa81b5571d107306f64023090eeb6cec5ad42b73e588a65690d6b4fba5ddfb6782ef77df0f22b27ffd41338f2ce090d2fcc013e6858f11cc0b58ee0574eff5ea07cd57a7e66624626262429ae4264313dba189cad799266a3453abd16aaa918346542a7076773b18ce9f59fdc26f6ebe98ad054c16fd2454244c2822f7134490bdc8f4434d09d51b794b05f268167da02b84878832a544eaacce4857088dbe81893189923b2d3059fd5238a500cfccc82cb06ddb66b5ea3dc62347dc69f2b0186d30ba8898558c5360f1831f5c7af5d22c8fe2b8018789c50bec8f4d5232a109a337dc606161f1d6656161d9ac569be886c160479dd7ee5aa38043ea79f48ad9e2c1591d85ba12a459a864add815ad6468060000400063150000200c08058321815034221957bd3b14800b7986546e4e9c4ae3b124c9711cc61052c628233200202222321a3400005de7c77ea354e3a0394eb5e3d5e4513bef1241183f3397497537d4845169269bdcecae46b66b484c61dee525b6b29e833f0a2f1f8b1409c80e1c8c730600ce451cb575e6c58bcba54cc0effae5b00bfb317d649a0a7e6a3bacb05a91d12cfacad826049a78564973b855ea30f3ef20bf5efd27bce4e4ce97c7b83da247169f88089e71995a3fbcb0e7fab640ae9f6c6d4791f260a83e3b3caa1db4120521c98e5ea2f1515bb8ccf610a6a3da37fbc16ec7fbc2cda47f2bf05a268ac17ff7029dea9ffa08fe1e23bb5c3fb7acaa201e47db16b73e3b700aa7ddaa82bfb69979edc709d41c41662027e2d168bac2393bb2658d25e433b17bd7a3803f2d2f1b8405e863268deaaae62b55f4449bc867f456f1d2168b904be9f01480fabd9191e72ef8503a064bbbb72fa3f48e9a19b58ae1fe4d187dfdfec87bcac8ab46953a34d7628726b75c5bb75687c85dbb3069e5cad6f0e1febe19f4da741fa46870c372bd6520c24e812a36bf66650e0434c6d30550595f26d0f0bf30904d5a36d64dd068a05b99047660659552cabceaca54b05754ec2cf3ebc692ca62245a373d1ca9a35fa5185a99a67c786862efc6ba68b302abcdeaf98a3452b9f0ae97ee98ef3cf7d46675b0edaafcc2aafa7dc14a2c4e81e336eb374dcae4097ad7030948d67aa65e0b763164703d4c070d967cf4f73074a30d6049d5dd0108581500b713fd410a5fddef61aee2352170b7a4b76061f12489d610839a77811ae6be660a728bb998bc01d68896d1ddf461adce543fb87d03d9401d1c362badc284b62c6ae1680c6caed36b4160d47a2328d3b776c56c46bd0f96c96a17a41d81f6b0829387dad4e4133cec000bbad0cb32a2a2a36f1c1c2556886d9b7270af0f4b33a36fe207b73c805092336cf41a6fe1411c540f8e5ae03e15af7082a518b97ffd60a8c950a0010e7508ebcb90a126c4aa9b3876ae03f1cca89d0956691c8be6e4d1942142237e5c74d3dd990f9e1bceb879b480807f51275e139e1e09a06b9c706d7f1ad95adaa690d0e0b6f9f3289b41e2fb79d290e3a3b2388474408b1e5421d96f196d6f1ba66ce2b07e9e4739bda125f80d3df4c1f70d4513b1577592bee267103251e886c6b0c5ecd22c6d354481a752970363e06004e38d99b101f29a92b7d526de68768669f64104261f2c4f9048e834eb605b51f63ed2b2c6e928cd6661d7c44e4273d4d284289bcd772086fc20a548add0eb109d5130709df4de69b31531105fb73d23429064a6c593bafc06d7e06259a24756057d5a4d1caba06639ae0c1e7800feba5f65b44aef7cce0859756aa4398eda20d473802c53d15ced12675fb29f8da2edff774c812780d79c1b0a76d4d6857a69576f5e3c1132724ef213d17de5118680cac14cf95c13c5191f31993fa23717458423dc6f2e622d37e93e64507180acc9a5d2134d895de3c45edd21cf6250078897252d0e14808023ef31d40a1f001bc1242349caadeb8e5ed657b0de8af07daf5d8d98384d6a51afa34ff68644286da9c184efd04df18139c0ba9a856a42c0872b3d17e953b505b91273ec4e2e36ccc94afc8777fa8f81758e7ec1e37ba9558e5567430c9b54afee72eec31904ee33907aa125a7020f842c51c0bf5dd606e5591a6b7f87e5e97fe5be89368f0c40216cf6cb290a39716a1dd45c57cbe41c9b6a63f2f878893c046b9371c1784b151a22331583b7238563ff018c26943dcf157ca1ad9c2764aafd7ba8f3ab625ed28b39841b5c261631e61adbe64b827ee0f7722ba3562fe6ad2a8dea905bb46cf81f8c0dda45ffb8478caede578d3b8c40e588af02a9968b98f35387860f54510e64232e88ae3cce1e8a480e47acef35502add60ae39097a79206c1c2d0edc2fc75620bb77954457b33e835837fadc24eca6cfa0526e345ffe0a4251fb9c302ebe17cb83f9dcf5e5865114979e6378dd66be17a8353bc8209d3e3171339fef71339967970f753d20ab4dceddfe2fbd6c549e997bd0b50f9cd97e1956356ab04a3fbd1f0490c22b1f34f46607d589658a19a9403c640b7eb43d8818422e81084d1bf6b72dd6400803f7280cf3dcbfbf513d59b25340bbba9544eb887c119ec6af0e3bf1228d74db4490e47fa781a219ffd19a2f479cf587dc2a1985ed6412215534479f2e9d842871c9827e5c992692c506c6b214db1dc96b8e39e852a9ba849fdf477aecc1bb4f1059e074d8a8b3248170a123bbadc7e7a5b564da6aecb1b0d91cd8fbe7ce9e9645671480bbb2e2ea5fa6eb18feea16f401b102b2d95830f08ae356cde67a548e695addd374a52bf9d60f2c62b75d4a2f0dbfa689ab229e639134dcc45d8aa0cbd94956be1563e3a3a5e6947ec9468561a899ac6ea34d666fe34d8103ce29038806fe43a105a5fbbf199b862108ffbda06d7d5f544e6f4870df9c0aac905e04f1fa9c3490ccc0dcf213c96b3afc9147bb35ecc36c9ee7653983aceb217a5b129790057dd02e131e0071095d1fbb2e36e4c95d1f7be6daf44f1ccd86dc2197f82196503f6c7c10e0ab084a7860644c10dc2102a1569c88fc29182404eb3e62aff716e148d5d281f6d49732e744ae4b82fa6fbb205a6a35b0ec537c1f9048fdf3150f22c04d75ed3d01152d50325bd1ff0d399a5fc88b457c04b0806e3ca73378e797639edd1278d018749a9f56f5c4cfaf8a2158cfdbad97c0ca60c5d463b66b67d5f2e2be8d8790790c35d2c1463fd20b13cbd6ea7ed932fee23328f0f9c4402248174ff27a2f9203d9b7fbf8bb24009cd83ce67885a7c57cb2ca69113e6f4e2c93838a6d0caa3c177ff4a0e2a6d324e1658a0d4918b2b964e359a3ea1037e624aa4277bcc8928c0a337499259262412c018d70d1d72f3e8fe8c657b11020879c967028910a4fa09070e3a261ee5708e07f590b4e3b07b6c3b01ac3134a1fb574185f134ffbb9214644b93de35c670a99bfbb998069153f1b50b6306ae85904645f6c812e767360ad26f32915c6a2f09a65ce8c821c61b264924edd21bc143dfb53b5656592097441b7af10b494a67e96a0a3bdd776d214d40ba655db9d2da40af8f4464b9b96892c9885156c159b043af644b2b434af5e705caead0186189f09abc097524b2496591ce006c97a1607d88f00cce200788fe40540fa182134118cc37632381853f42dc78a20fd0e10d20588aa4a8fa2f06fe6c9352c54b66aa18fb1a2114a729050b4628be5c2c9e88dd36447cbe9dc7d9f0988aec4c68726e44a95261e629d65d13cd96baead650a39188454015bd7945b283595294ad89cd7ab0c8b93b19e1fdbaab31c1661ac83d200f4faadd524717398212487ca67485c6f4973db5c3625ae2acc25885cd013e41fa10130883e6707414f8be241388485f07e1c8a297606113204d87703879b712ddb1775936688a99fbbe5124133e52d40ce00b001a8d4455f61a97e086c6add1ef916145fd0680d527be84be68b71fcf1916d90ffdd705516f7884dff58d18c2ebf78135200e250da44d493d44d1fb306f91179095e10e4608800899b36fd0a997b6d7d75c24a54b9fdf8b0cbd8e5434296596973d5afbfb2f34c9bfc249fd57798559f05d66f34d89db8f5fb8523d74164ff35c5b10cf1b7ff34352a53e2ace4496a4511fe1473c355daec3c2c90a73445287b07063bdc31af262eb9bc05e1aaedf89f5b0a0039de152b6de623179be0bf638f7c6f8eaf5d8464c9fac28f69758cf629770fa847a20945e849507cb582a4e605ef6d61069f3a798fc8dc860aaa52f2bcc8a7cb485188557badbdad349381a9f6149b684d0fa32985c9d915ce9de35edb200286bd1cd9910987dff3b01c58dab617ac8c5a762c999b26e98231642534c91b98c395a0b5a759dbd7b198457ce7a31a726948e171d4340309d8761258627795f1de77ce40fe488af13696ff44b670a8115997fcb6e98708d2c9e2005839e044d660409652eef67410c1d74f4102e87fb285a8971dde62bd154c3143d55b5f03b24598ace5c162560323d957b8f23b35d7b127009ba81cf2510ba6c6a8b2580c5e831c1d23633824918a2d872718a35164bbb2ac802e0d316e6e65000cd561274b29016cb50735d4d2f6435a4adc627d2c7946c2876483cb08187a12189c45a1c3db11393c9d9461d51f2afe535658d2a0eea9b3a5fb967753be279ddaea8e3631c4b3c1abf2cc214efd1a9ffb0719fd80c68107c1f3f823ae09b401ff3be0a7f1ef0fd02ac89de28f1237189c99a2284e067de957256eb964dfa3bc8a1c8b54c76fabfad886deb654853e28ebf52a72b4a9c5957c2fa8c8513d7c4fb38bad657ee58dadb508e603204db3b528f7e25e3f7b83e858f725b97ddcc2452331582f418163e5ed083391fea8692b4708918c207bf884195701d8e2850bd38783eefb441653d3d7fac1c71dcc83e5a2ac2246bc850b1ac595830276d5e24e665a702aa48d3916e988d08a2aafdd96b1cfd7d5c121e755f2d8122b0f96bda89677037ae405e3b64a3dc88586df7c0b6411233a436198d70104cbb2405e3d6b7bb8b79553d5df0bb0a47f043b9be0d174b5b76d7313a360f51fe87f685d208e510e16469992c1f5147b9500405ca72aaf627e8e2eba20e9f1dc50fc1659e08c7fc7dc029cfebe60e0d0c2e3560248dbf0e725633357e1d697f659ebdaff5100103b5b72fa76f42102d28f72f33489845cd3716d364764b7ece0a8fbe6aa2abd455d14353389348cc2f0a8dc8ba80e79220a87b8b86bfa2455707eef4690b7dab5c4f627f6617d395f5256ab255aec4bcc3ac76d282e069c86a5d25121584f24b41bb4d026ba372a30e514e6e0aaa31b7e08bb2b457f97bf716bc44f8d5e7af6339d914cdeffe6b2d7b7892051b0433977846819104f7f86d6d2947218802d2984ff3d2d399d4767b2f0e6da452a1a42644fce160fdb6cd8146dae4a6374ae76d26847c054812c73f86086c5c3f1e73ebc5665e1cd0c0dd2b9f146a3e3383c23cff32473a218c058dee713daa5dbc95a48fc5fb08de0d58c2d3a5874b1463c485aa014b01af2cbebf8c5fa30cd59ded4b24f6a832f423a63b4662e2f7e664803826ec49631d0448cb4a59ac00dcd3fc2fff269928266d37e3a06bf0a71154c02f101d34a8a3fd2f53e7af01adf33453ccb20982458fbb315d52e2477304f681353dab422545e9a42e16ae9b07ca2b8c6ede070419257cbc4ec617e94eef7442a16252c1ead632fd6b03edc69a6dffd2f215b66a773dcd8bc2477aaea20b8089bec59aa4d1ab600672b9f496b206c554ce17bdce02df394168efaa8da43c2b30d9aaf5e5add94ac5514b30e4cd69b384883f1dc061e67e0cf8630c2225e27870b2092799eef3959232e0149cfaa048e5db4d21a12f823f2fccd2045f84645db907e87c8bf1296c60c133c4f9f2bdc76b227cc103ee82da9e4e4ce0e155942ac7e0c67dcbc42be5572ec1263e6e318eaaf7687cba0db46ffec800c1db384e732e249fff1a8aa7ee30598355e8ab948523aa0f1e980c44299d7fd1da176023daf03cca43823c859522dca8c727668e9fadf3d9778bd4553249ea16b13ec080a245cac684a6ccdae5a8f42c1259746da9aa1d227285be282c1f840c43e88efd4416275caea59346817d204523e66a56aa370889456a05d2ef32bb49d47e5ebc7c82a17ddd39e6ca9dcb2fb9a2a8c51ebc42eaab66ff752fbea8445e4ed4148a66235ef5cbd247d7ac986eaab556f56cfba28dadfb96173fb8de0afb544d5733643e741431fab2277a6a3da39cb869d436af12118d91520d87bc1522641bf298298112d56f93f02914660d818aa56cd36eae337bb6286a548797f0b582e720c44849301362213f83b1c8040d89c068d60777141ed4d66002bbf653d03233fb3e4edd093696536163383bfc79eb2fa29d2227242d82a65509964496a8e9894a582403744d18124cd4373850f583a30200c7e56e74b844c00f1f9601ca334443ee4ddcb907ce6b06858f28b8d495986e02a27709679206ca4217355a752b4196fba8d6d6d38f9d360ef4e68039722cf64148810bc766b634b47fa6d5129e0e85359773e24345c91ba500d65868077f459bdb5739d0584da5f7cc01ce7217c43751a2be710d50f0673273b9239913e016ffcb021ba7f25f8e3e9d0764678159d8f2ae78ebe0d730402620036ab35d355d0804b34d5ebc2894d9a0e8ad5eaff1f62f396df87107c54d19d178b39dac184df855962930512eca0158dc77328e742ce3f2d79350bbcde56379a871af69bffa22a51ea77009b3c6a1a009b7f4799f547c72ec6486b51f1e67f7d56b2577c9ee10ae14521c64c5ec4ce52e768f7209ac83851d8bcee3644585fa731afd02a801eff32bfaa7c4254f880127e0579cd3a291f847947133216358623ca4cd3b422dfc4d05b5261e80d1d1e2cb9b57d5ce4bebc3022841132a5c7fc351fa3238e9ef17e3df33474bc74b48a1a6fe24004c87f17b2b19381aab2103970dfa1780b6245a944981304ee09c22450466fd7948ca3535fab12e86b10605c09245c8f9f37fc717a5b14e6ec8b89896f67fe034eef06c78cd43578d44d42ec4e08da5e33091dacbc2e732539729eb572de0317f4259b23978b381d23af70bded34f91593eaf787cbd08b063b462e88f49921cfa0645b51611621bb08605dcd86801fc3d60c90186bfedb8a674c355011b5d90bd70cf910692bcb524464b3981c18bddfdf9a81fea1cfb780016c5a7668828f142f9bf9b46b4eeaddfe1f3d59b11b24c03a52e52662fd2c2ee6834e2f8babaa6e4055f65e4faf14ac8578ebad4081af7d8f0fd10a0294aafbc8cb04060ac49d89ea3bc5a17a7108c6c5c991b7cc24133ef7b283eed518ba973d215e8490d166dbee763701730be098156e7d6a647552492b1bafd2d16fcf36ec0250adbb1492859720c47e1753a1a187abd2b8244bf388b2ad1e2b0a040a324ea6aea67aac04f4de274cf18856abd168b1f9fdb71d1928594316fc9f410c0e3d911232446ef45baedb15ce6eb369c03541d64aab93d9c0c47f082221504a6d4d20ee64a18ce22cc62bc0daaf003ab3f5b4a56ed40d425853f517d5f59a49840e3c551d1e54bfab7cc6133e2f1a08e44f97d613a70b196d63eed544ae2e3dc67b5f37eb8c9978df9a42a892bb35a852f383c0d39b31dbaf3d28080db2133a28650ccce4003c3710c27c4d2875ef051f906bf19bc909314b79f71d2858164b46843dcf818296ccf9601feac136e4820300b706be3f79f411fe112a45f048b108b5eede177d5ea00ce832440cf0b43007821e40901ddbe2f4cc70cd61f93bce14417beb51762e81180b1e80cc080b1e8a3d4c9606db3b62b48d0337a740cf3c6a7e4c5b1b39050c344419f488d93b6cc152022637d24aa9f9a37a42c4ca8393e824401be6cca9d7efab7dc950bb9ca1735fbc543b79f4a40060d4e64bb530a202d07b3dc1b5a5825da98cd3235ac36766cbfe1c623c6cd3c6e92a9e1c99edbe9e58ce38e8d85af4632b64528382539ebd5feeefd23f28aa50378cc1182bcf6cf3bf7cb0d31d2beab6ef26bc798372deba12fc7a72219ba58b9642339c8d9a055973b9eafe43aca0d397dd6fca7544b6d125eadc5a44da27f7b48efebb59a39ac9c80e58ce980a8a1c39746966df2d5b63d4b59eacd734b69bbfe9fbbe1d020fde43d68266c89445399792015884362dacbf387feef8d451fb01cfa340534544160142927fa5fdc047901778d140fef28e5001c4c02e3295c3ff6f37bb2fca30374c15f4fabd90919258b27281e739cda32312a2585eb72b5fbf158947e6a4e6f9301951379b4de576b77651741c5704591e530c74a82673d557b8cd6d7be00bb0694adebe7aee331068859ff2eb4bfe8e72ab8e0045058605f026e71495edb4491b1f3334f6cee934585750061aa4ca919bd86ceb3a9c237107ef651cf66162195a7b430a9efc8ff10d5ac3c4c44836f405a2e770e7f8fe241e0258de7c7cfa21aabad7340b12b1ff8ea1c2d0e7e3ee5eea3fe2acdbc52625040071314f573c19f8f77472e54b5eb829a2861394d0a28783b2536e7124d38aba5a9cd70ea011132361b5c40e89e7433b383462b21f67a40f8c1fd2d182e91fdf70a5de7fd4fe5aa91193900bc969fe9eb98e607f21b650880ec542c22a0c7f7b5985069848b92509777407ab31d85096e7459d728ecf91adf1e1dcafa4f30ee0500eec58a8977567c5d1252fd11de621e06c15acba998832a52c3712533fd8d2f9c1e2158e0dc4b2e541a83be8fe45481a74d31761a125a22a632f16befe8a141c89783b460473917f512c93be4061b4def263f590d87e639e3b9e064010e431892d7c0df8d6c44bf802d0f377e31b9d7074218058159e2d68abe02d0add52858193a435445c7e0b213f4ceb7fe104a6ebe74afe90a7051546b1aa2afa1efef5a0fe912d56f3176093b9b42a28f2c22fd487433112ce04a2ed3ec22130f91b193f65564e97c1d6bb305c4aaf320802fe597340d16bde0b9c23ec79da43c112a49f12ba18f13534f329053746aa033c5c4d0bd97b6ec6c2a4536845a65c54d9b810ab29e31b3a1d036b8aa5f9e9df08fe912c6067fc98d3f5a71dfa1afc2208479317ba3d6f5d3a625d06cdba503e9c2e16bb320fa44f0e11b4acf36e361f1bcc24d23818560adcc247b5546a51cc4fdc6910786ac98a5e6f7a2ab112d60b91eaefc844837c3b4bbbbe8c7835236219f90fd7d4b9b20fa7175523c021978dd22d67fc388457ca96d91e5a980340eaa4b53ac1c1dc4a473ed3491dc6c7af74b95a14bc2960fa4c317d8f2b6fe863c2ae94e6068ccf9d9f018a3762f2573040aa7f7a74077a2807c2947946d45c212e984022324f4c3095535558dafbf2829555b47f7bae7a68336edc38f96f0a061864f714d9c210510edd771a911c3bb979aa628d798813590b29bebf21c2a06212cde509dc27d238325a65c382ee11b0f23676aadc95105ebe0649bf8d44994d547982d53253ccf0639622ed51221bf1949ae2bec5bcd14fa4897548777a0da36ae982af3a6089921fd894636b33a982cd14de10952cecaafcf17fcd78d6bd0903e13d611823d56d55082471028428fc1e3228ac1125eee3f40bfbb9cefb01ae34cc85788a1fea8f14a329e1e27a3b722a540f07930ac4b7e3145219c1ab965a7f59c76771402bc1473fe389bc32bd84e5396832ffbfb9244bb67f542d2c9cb61c324142edc66b7eea9770cac072c3fc4bba0a4fe35d852bce099b697769bb317789a847da0cc152f78977fc3e8ba155092152cdcbacb7aa645453aa84b1d055806abe8dccaa9eea5580a6bacb726add9a175d05c429166d7be23a40688f8010597c3d87c9c107b36feea870ce8bffb180cdab3e2606e4a287e87d618ffe8a43be1f6aba459472239ecfc9540def1f57ff878dd6fae38d9b7899e34bd678284123a49005c647153aeeeeea195d995979be236dd2113eb1ef3e14a149c94520082160edab2e1ea21336501a3e07028421d0abeaaa7346caa289256c6c95e620ddff2e90bfbb7290db1db2c3f09d6604508d605064f567c99a0b3e260d2709c9b8490940a9cb565c6a9adb7b4a25870755e0d53601026c53f539045e2ada568514731800b2249d560e606abc8d0400d13825a8df739da55dae65f0981d1a7d0b4781cda13ed21b45e4ec66133d7363630762a18e8d42584356f9d33585a1b87ed8da0f911472a6a0abad3f533e56e85c2d76c454586aa481958c3ab4621e3fd4a6cbfc10f78fdf1acce40807560503aaf2b9a6f8ed81223e800ddaa37dac0ede1491f59a5481700c5fe33fa9bde7e87bd6b68420c587bf4fb6d5892d0ad0604fbc71b54d64e90899c88693d9e2bf7a8b8aa7dae4ce2e3fef9690ed142b1acc7b40c489bdb140909f71ba449fa739b10475e0e142ad90509bac1943ac5e52c58fc2f510e43a1e6d66bfab4ec7978f2cd64adcc9015af18560f9acb8bfafee5ea1556aa00bd865dd9519709561bbdcbe657f7aa7960052bd4523d0bfe49333330651508fd3d2cd0000e5c65110e7e7c01acf974f15b8ec48bcd41c0430a75eb57b8b5f0df3dc10e5368238f8ff2dadef75c9f5f9fc2af2bbabe145ff49ac8df9867d6c863ec65d56e59761eaa48c6880f76514b2a89675eb67f2c5657b6660f59a8681c43e1e19fdd20ff7b53cd5fc2de2749a0058120681ef1c94d7096766c71aaa8c045bd24c0014171e15521c5d29d3404329a233d1ba4e4f06b404006a662b2f68f2f32a6c169ca479810067e061d0bc87554e93fec5fd2c63d597a90e3d5fb35b3d1fa0dd5360437df117dfe2ac9d7df1d74315f04101fe63221f87c9001d9ab6420b91c2764f0136cfa5bdeb54d76fb3dc48468993da3467110aa86561ac8b38e76c9f58fe0c434f9a03a512f3714a4b4b4b96551cc43b6db1895a4107e5eaa14a62a55d1b7e4150b6849a933c3c11fe17266c311a4aab4a20a6a44d0512602da5638b939dd803d041daabdf83850831fb39889a42fe62caadac838404e1e6fb4d383add9b4a441b2c8d64a72b9c27f59d352da5f37c2e61f1f0b0e7329087776d20f61f847c920b3c922209f8179cc09c9a3b609a0eb28099ea5aaef3868bee7770323b3610520578928d9b6929917adfa1df62e424b4d743ed86e59e4ae348f1591b4676fdc87255ba777713eeeeeda055af34f6cba6f697a9aa2a48935cd3023a4ff126ee74666d75d55d15337812f8316c3615ca98c92ece9260890431acdf17a1cb6e96437b6af2e66b806eee6825fd9be866f8480f698496bd6d742d0570d883879a1504e4f2e412dad4e3368a09965718881c93be0802d612f9a3fd5fb6c86289f1a29c7e12b8be705c51078b528f6cb6617c24016dd4e064d0498caa86a8e3ec28b342eb8c5e7faca28a939f486b3a43e2ae58b9364a30cfccd60fee04aa176050b823f3ae9fd7f0a34cffba8fa93c86fc07f661a0ff3a491e6d5199dc5afb076ce96f8f7d0e94fda82fdf9df287d46d02cf7a85bc46b6aeba94cb296a3e3b04f2f27df134ccb9ce0db191df184eb4e08dd8e25083d5ec30c46d0e267159bbe473876b6e9f6c8b19d57de89d75fbe022f96c54f074116d9e6fa984495174be918a2e6aa973c956a867d18607067be98c49bf95f628daf8a578a3d0c48154901869ee3ac6f7917c35142593e651fc9035ff312430bfc9b7c94e90b416d9906076f46ad609eb9ea90b9c39cde893d28684604649326fe54cdf9857663285e3a348d8904594a670103bbb3a83fd298a35f40b2cd0e62c3d954949f0fe6d8598ada174e53b55b5d9f280e9da67ea1f6bc2cf1dee33db4923316c74bf681cf6baf38d47451ff0d1e10d2b10fc66ee2a118990e0b43a9b7c383dc6a37f8b678e794bfd9f84376bba70e2df5bd99a23d34f432009c11cd7150ed23c77736cdd5c5a048e51f0147cb7342fa2304c8bac19bcdf3edd64a1bcc122fca8f92e3d96f19774d3a943fad74c76d13c04ba9868dd0561632ef2cd47a3a0cec643717e965b8b74130b8f048f7115a72b5abc1953ad0bc9471cd45804c0830c0e1cee9d972ff1e6d464cef1b1f53bee32fd5f1786d33272bca61dc58ee43ecf8c4e06847128855eea6bbcf95d2ffe6e3feb870ddb534802a87dfa4986f5d5584978ea4cc93f118cece5100ca4ef7d1477540b476222df4800db5d733b09f7f50dc12641f0d6196606e8ac5a2b0f21a59d449fcd7e5954f504bfb89f29353976a921946ac20b544994b026293c0b42ebbf46bc408a0d5829486dfbc88a18b5954455b05046a86b50b12cc471cb632d12a7aea228960a949149445cb750900e6f610087409de95d450b1c226ce9365fc07776efa293550ef00da066c2bfe6bbc200e6fdedb042ddfb4cdfba59b93782a077b8f261a5173a03a86884deea1091eac751fdc23103f6bfa7230fddbee1f698af6354e7c8b45aedd1e5f1085d223c6cd3a5e5ba092afda09e8c279a77e099bd7dd5468f48dbfb43c44abb86d223655f69b52b7c3fe0e489a91a1f3f5739387fdf9c8ddf93243cb4155de885edc0df67df7646dfe1d59eb84a4d55f51267ec01289c9a8a073d006b2443e48e2016cbeab220ca8718ec7304443d33b932d60d97581da0738fb14aa12cf706f3ff1e106e634a9f654a6d84cd1e1283ebf7907a4f9662e4269acc1807581308c419ea8a1c6d11d517e4d603b828e9d3221632d7472232bef3c956987a62b451c6393078d766fad9a7d2079d7b4cf4bd4946e5bf74e014c5fee71b88507b8de384cd498d6f05f2e3f704f4c6d39c8aac9388186a9bf7bcd713beac9415f169f736b0e060906ee4429c06894104b46eb260095726f4a3a9d45836ffed2da0b23b5c848948f380ccd4ea2ec8cb58b4aa68a6dc75602ce73e0b0375125888ad9b51b45964250239b0c3f6574896b13ba21febd9ab31503cdb39cd296f677c8e05edcc6daf72624451b3c177bdbdb51e8c89b3ca794c35881299335143153f78a0f7c3bdb92e809c0fe654f179bbdd0871a87add3ac4248120800c2b27897b6c2b954e6396fa727e4a79d1c492b83a85d3deb80f7a02badf7e8f68f2e664d1295e038a694c7c2cedc01cd88d9962cf69149301d8458e4accba3f262ca750d38a4c86e8ad733f30d0f36afc29ccbccd268af959e99cecf1ecd1a40639e5aa1c6743fb1841d13e5719ba9e9b30e8718346050166e35ec46996db4142afb7eed20ca50568121a676633943a2e24790947b1e02ddc9a3eb537a2da6d61ad8f0e0efbc896d01a7bd29b8b8cca6fe0a962e6e28d34a96d814b1d14fcb11b218cf052070f314c6af62bf2f7d83a5d2c8bf79c32963630127a58c15747acf3aa50a9565792d8121850fa261e6f9fd39bc12afe6a77b4317b23439c856ae2804850f03777c1227914b6113ca2a5b3f96c3ca25610bc55e21e74895a57162c02e5b434d0cf0272ce42658a7e7468b7a36be4ddc945c262d75b146b1de8f41219df023bbd4ec21d3a43c7cb1d1268be26e17f4a83f2467e961ad2db9518fe3d40cd9d5fd5c7db864879025d282d68b0d09cce1b6c2edc289e50f68535181a8334a7c6d62420d27b9e7902f6031b25f061d0ef08dd68fc0a649fc49cefb3339bc24722895fa9aea39fb3eeea3881226240194b92e1346444a9fd438d2e22851114cd76f17d2aeca6c5e138cef9bcddfa1e4c579ac6d37b33bac05d6a7bf730d4e66859cc462b80b9b898a1a78ef612a714edc487580ff1c5e60428323da96c2721affb31476882da2af4eb2a41adfefe865e50efcb359970cde216af8975b1a4b0ff7b73d7c481187ce864987154bc8c29cc704ee70f909efabcfe77d78df9a121439f502aa435304c7bb2d06ecb644ed15361aa5b2338c5755322bf2c58c18e861816776dcc1f510689959878b8c406d4866f476e00825316c56d24e12126db23338846ba6c62a60262493b08f64af4c075cb8a14cef394ddc6c905f8fe1fa7720096ec54cc1f4934b8dd08478a1850920ce2990b54a5f1cd2096b04aa91a4e15d24104b0bc61e3b72d2f3825d5853ffbec374020c119388f9016e89c159554307e14e01b75dab417e021031146d100d21200d447827d6622dd1ce4dd5fc3450f86da1085b2aa6132051537fc5ea04ca6580b9e164f0027c5313bc51a348e53eb010c44f4a6d4641f2ee6c5d0015bed14a5fe93f7c0ee088b47464b149231eb07a0f813fe63b910119c8f0a3d21e5fdd91b1ad468ae58b0e5bbc3bb8a3b174f9ae1f90552a4032096df97994488ee66a3ebc9665dd9fc5291c693b120a3c2ffba15620c7e7c4898e783a21613454b8639ad0cd6b3132bb32f9177e67783c25ef83ca660654062ba0e401bb6bc11e4c493497b98864f6696ca3aea58c75468e5f30c2b22a7d5a735171d57456a9127a4d0b431663352861953a84027b0801c753c3220a022dabc77020205b6ab71eea199ac1ac454d9d4a92253d0e10059e141a8c2a2cdf708e47018118fd4325083f9ceb4bded6dfed1326a2f7274b76c3860b00482f7f52d0c892276c48cbf1890c245489b0544fb3251cc880c2c9aeb85b50fd37f8b0f6703815cb8d1cd8f523e99f2ac8acf2976528269b272b4d853c39f3187bd1f46ebed1a50fd99f366b4572193aa892ef4379bdc0bd49549cf45f8ebeca25929901ef372136a8cf39ea37a746592a21fad72d87b18022a35a7031ba04994b00398e8949914b5191948ed6f468f62d62cc827ab72621bb4a65cb35ac462a60744ba4d4d46b0696d70d195e396f99deb64f21a58a8883351d13227bef0648e34c09cd7c89ff6ffe1b453f3bdf9da243149d740354d9d7c2da193743c4adb7430e8276d798ca30e40ca5e3d04cb83a25003b09bf64a2b6c182e35514014c2df1c6214a0fc3920fcade788915df68965a53249e5a52df5858c89ccc647413294d743768ffa5203660fec13c54d402587675e0a387b2ddedb32c11c6628ccb419d0322eb6de05988d3a5d72ec7099e6248f9c1373a7b907f1125d7abc5a9762408d8f37a0bb9235fdf1fd8f171d43c71ab8bcab77d86c8c3cd2217ccf2a575d8dbcabdb0d309982680e026a88198d29e99b8b21b9da53f6543d4f6c8b46db65bb94d69419a6ec2e575babf3ecec18ccac9c610097e06327bce89eeeaf899dce51d22679ecb62e1c7bbe63d5bfbd57dcbaa0294ee65d2c5a3cd3401972d29c1b5cf1265c27ee35e8cf13c982de239d598bd2fe9c5553ac34546c4c458efd8f946e1e810bff9393e278ac33e699eb4d430b9217211ef37821451b4d068c9fc5ea55463fafadc25ddad21d88009fc63e8ae35995b99c79c5d214d8e68a13d2d1d0a5a9a6d9f9626b220fc863c14fe4ae7c0b0377999c086a1198278381e81f43fb4afbeb81cea55704d79ab0eecec2bca13da979b8a9fda8ed19d0a8f2d2fe4f2bd20ed5445d5304b7431d71175959b7fce74a4ff817a2e8ae6be59725a9bbd80d33fd5b351884dde327a8bd474b1a89c34021a27073797ac5e584285cb883f0848f407afb3c1560ed70d8799495c04ca3b0166ba2704517b776400bcd2417a29b8606172886bf4332d4c50d33447af20a72db39a54457e7b5ea9ad7c54d7783491571008608112f7c84288eec7fd56294bb009fe51e4018f4db7014742b4e2927f0023444397dd01da9f91e74c9132dd82bc28df835211b1c441a0dc8cd5a6419395ba08280a07283bae989a570576d560c5ab58a80bb5e798554223d991eaba697610a6c28e9e78a39f0dfef8d8b6970c83168b058ead683095c38d4fe83b3eb8aeae9aec876274cbef2e15efb2151eca75f2a57fa9910d90d1790130fc4f0a2713980319a5162950c67d5f248591f394f59c1d3bf35f07868557a0859b6d0fad847811733685f037ef400b59b556cbd4e853b28358cd40469d11bcdea2fc694d3465cd1358c56d289c9cf9a78b0fa82aac74170d9e616e687cf146c6f27e9d85002dbca5de3f104965f9a44ca6cfb3a48718fb239c295f46038d9c7e434e6a4e073c09ff1380ed1e153f60152d2c4ca800c508bb698010302a0ad8330a7d3a2d0e67d1ba64bab545d0b44a9c7dbaffa3951122d594db2256a1f8b6bfe9296c37df89b05d299891fad14a7921f8306a22bc1a89fa21dca00142c033ed7b9f994fd57a37433c2549637ba8e2c5a07013051e2270039a2d70480a5cc4014bb6856cf654bed154adf1d940601c8863f3319d0e3583319ead576591cca26d32c653f4aca43c8bbb9b3c2455fdd9251618b2c4458ef74f145d6f1ce191f512f6cd5a05dfe4afc32c59d945843bb6db52ac03c0adbc01a8f5d606035a4b43facf1baa005aad849acaa9136c4e2a2dca32ec6f053b6c981f26544bac0c1ff961974df4816f2a60769be7efd024fff9692503f3f0062a3747d55acb6eae82672f0e7648e5a307f0c78ae2c7782ad884b89ae005485dfaef402c9d1b0c5e7d299b397b26313e2ff4556469dc474dc337ca85a29fff87874b142e189266fc00907552a836cfd06cd4252784e26b7bb8e0b3e91a127cabe369856dbf5dfe6db44980fc7df6f0a7534f721ec86ef626911dfd082b3d628c1f19191a64516a042ade6bd1840bbf44b2610c55b004067e5ef9d9628f35bb8fd6b3903c8da67124f6060a89c3d509bf757d4a49c1c87860911c7fc5bd933d24fd7fb22db32502ae724342cc4df7fa76ba4bcf99ff22e3660d5ca35db12a5f16c04eb2b2d449d91bb7e32f31ac500dacb1f69247ac73b59ef9218aa46829070355fbca249c04bb15681843baadb58fa87c0ef00026fc83553f8b07f3df24a7700ef56ca2d61c213f06feb0a011b26d293a05e99a4173472038b7dc7471b416cd3437eb409cf374304a4a55d8e2c9cb672930175bd91778db964c70ebfb229e7bbc2a54b3bf90f3bdd767dc9768ce8d84f25b2a68908c2b724eefcbac223193f201902ce3c323f32379961e220f18ac7f6cf0cc7eb9159853166a8ffe1359e0d9e5ca2bbe1d27546619bd68c7cdb91a66144ca99cf54a5813684fdcdf4112417befe451be26f5035903d6abe1f7d204894aa8d69b7487f1bc8177816f73ae0f3b08d223b307fcf93b6ce4e43ff3c1e40b467eb9aba586df2e728db5505344a4ff88a140374233f56f443ec1620ecff511c568370250226361ee61a850c2a286d7a9eac8976ab01bb8a4e038f35b370b54176c192b8c371b4f553af1b340298171d662b6bd3f872270c22982af64d3680358fcae6a129f48f4144900e7432d6993b535005e17c1fab27c5a923e2545738bbab52ad2a243248a7c85f243d61a663bcfdf3552d039c844759e1eea3c37f1d7c650846043c53686334c511f0e05f2c9d9c264ae4a66c5b4dc583641e77012e9c759f2b78c0cb957b5859db9e4c3dde8ea8f916a477b36203fdb693bc059b4b1dc4ff682da03401d35adafac2294d2ef4d9e94fd46b53ef0addec9173ca707f0fa7ab105ea31b88d7cf7874b1cf0e2ee3265ae6aa80f01b78dafcd955ba342d80bb260883398c8290a8f5c34efc149b582775f3317113d177ce57ace677f47f48e09ccc4e010529f742faa69641d91d2fa275e03d01e9a6c6a55ed352ee3d00fc54b711d898840568a64f0c37b34337c03a4ab00219b5a1d0cc08a188566db002b792e1166040fd2c1f5e84faefb5fa867401564c323060283cb6dfee3b2f4bbbda2fb96196b7758fcb834137957893ca516b279dacbd5f628553f8543a59d331a3ce08dcbb21b6ef870fda07ca777e1aa678d2085c4a47a06d96c134c2d300f5a2fff7c1dd487047cf3460c1d4d98236f4485f60e9c10d525a8cb6a207bc27ff413391c03e721557019015d5f8e4420a3759fa13a23d60d7d5e41049a04243e1451899275a2dde57cdef755a2d711451cd1a23def94e2dae75249640c9e36a2c058c4c62fe6c06d40eda3df45e39e562372424f59c4ff2cd0d0c3f46605a46fc86b9033dcd08d9d3c1fdd8040f39981dac8e4193dd2b040617f1bbba8b9da0d4bbdfc3904f5a5302294ab16fb1f2b7ec55c5a3b59b464e0bbe2f5aed9aa5ed316c36172926554361511767c983325067be846dcacd407ee8ed31ac6fb979a80674b97d5633a9de1d2d46d425910938aa4afef82bcf1e243df1eab9ac7a88718368c307a46c4eae46e6160bc8f643705f24a184d824bef36a3240992917a532efd335ed3a109133d73e103bcd711c13f242932083496a8abaf9023af55253149a9a92cda9a9184f4d017d607a4735c50bd241239d6a6aefbea0107e21728a69d93a85b11f8309bbb040550613327e9d8fba8e31cad6469c0f752627c8ea9319535c9e09d18bb4f4b8905af25fe5d0a7cf62224118ab80a04fdc8ed297c30db043913b037f5aeae7d0765b222365d2749d6d9365c71c2467b0a550ad974e4f33cb261c7bfcb29f1e374173d6b3558d3a2fc885b6add2526f0807c7c36596eab223c3bb1b6d3b408d40ac50811a78ea6a36248342c748a4f76982980ee4a166740a3ed0ddcac000fd3fd102d2c6afb3ce7021c6eead88a385630e5ffdd61a244f9f095ed6677965b9a7a59926f12f93f2266536dd96dfe8667a14301957dd9687f9cca736d44c403e456ceac7b81c0f1f06bc56d2e32696cc918e58d38a3844d5c4b366c9f0a1afb4f855349f33c11275a611deb2453ceffa6e810690e40f0d7796f406085bf6cf37156fbe94356470cf38220c083cf2ca9027e4a4331285eb003dbe13e813fdcd7deb91b2182d5687fc2daeed7d408b933c120f62c218a4656e4de616d07257d7afe0e55ed46c354d0968af3fdf40634b3736f2eb1aa5d955335be6712ace7fe67fa189663b327c7d924049c75804bf99207fe68c85efada1b41112412bc046b4681ebdf97a240c8566164f0217cd0aeaa7affd3d39e7acaba9a0236634a1e6f6880656aed6fdfb657a01e023c45ae2e9c38369f964771cd9b82d916e15a30d32fcc27519344e2f03b21422456402dc296fcea79020f9097ea1cdda8a79bfb79927bcbeef5690f31cb65350d66cc87dc53570b73539879b2c899728a0f196fedcbbd0288781227077119c0eadc3fcea22ab3431d1e1f72320488bb4073b96eb00a4974b47e2da8e7b4f07230863c10c891829b822d7d7203a33a0b674321775d3500d2fe3475af1f9a6f8ba24f8259e7685ce8256596578ab8b11b7c754b1f2b33226da450c4d2a08372f38bb4097e016c58ddd1328dfa855df41dc05e1116d68a804ed6a4ae66eb81e57c397fa8bdda1603bfa93713a436522cc01af1d430c0eefd78ed5b64e8bed5225e49c403e9aa61314dbc19e9948ca5e646b8391297ade42e4376573a7f7bdddf13d205530caeba87c4e8ed1854c06d27930873cd51713208e3815363d63118866333454ce0946cc5f097506708495cd3aee2930d67b47619ac3f64e93eda545589042b6f67a75df9f8ab516af3dc941a40be1cf58cf309e0eab427039b92cd9257834a8ca36fe354d45e1d97e5319ae558b266169aa09c2915b6d9b2007c12761ad06fccea13cecad6822a2909616f609a6b33458098434b007f8a0bd6a9977858b09045410e5c57c88f0c5ab86be6462dbf97176eb5e3e7ee1d79b59a732a86d65ad526d56863f5b68e7bc6d6ae85ad6996e698521bb83a43d83b17bbaab3e31c6c6a65e4e43b1f0e35869adbf7ee0b7d8e4095f35ec433544411ae847742e105b86ee5cb73e42e3e2906b99747121d775383f4e3ad46826ffc9d1351e9e08dd87b5ccf32e7abfac25c5e9d7ac251bd6a9b396f4b115682d0414d22bcb14f8b304f6023a27631feb504e8f4e550670f392775665e2c074d04309f32ced924d251872da4d8f0498be8a30e456931ec530049259b353e072b83ca264877ca961c16b7489393b28cc8d48b9d0a58b6e31bcdba435b112f3360a412975896526ca1aeb9ff0420e0334a610d3260df74a1d26b52d2c1b44bf011e31b7418211c69c64c3a6e50b413151a22c283d5c597501c401e37c20099ce3793d94258729f2af55b453230e78d406bc4672b2a686c6711cd5132494d42e14c3fd18bd8b97236c2128e691cb419c80cd70a250f7839290a5e782fd177c4096c6d0fdf7edaa211acca8de6c9c7a0850596623c6ca58f870a675a48ee9de74c7446bc22bdd07ca44667dce64e4eab5491fd21191d971020e198b72e536e00b7ccaa54e1726a3915f673917a72f182296ddb0fdcb9b8fa41a99b7eb478f9e63aa1004e34318e38a52c8f8ffc6443f1b1779bcb8f088b9935fc8565a27b25d0cd46d12f9aef840da939684c61f191b29aef7a1209768f928233a388c7427ca00365a568b6c617d5b713872939acb27cda55868d2c37124299cfbe1a168a7925f1779c5cf1f1c20094a0c43531544217fa4d3554466330fe60fb0ec205de96abe6b4816b7df4ff3555ac9179dd28d4449569e16f0a9a8fbe6a59541bafdbc41ef0df98951e09df9e29aa60ac6451cfcbf1e7c01e5455bac71b30f7d29c983f5ef13048da664cc9b045ee32b3cb23137b336be6c67ebc98e01681c742e63f568f4b4662fd256e7c55fdce43fadcc2a670b79cb6f255e4d2b539599c966c588e2b098c581b91d7dff2845c9f105572aaafeda4e8fab0022fadde36ad70e329fdbd957a0e8a3256296665c9890d6ae37692cf462bdefc2ff7c6d5b50e2ade00e6280d2b9462dd5e5116c15c84bbea24ed4a48eeae789200048e098a885370416674d3e31f566b9b17647f1480f92c9d51f89112460f391c797c1c3496b82824457310d51c85d056ea159d219069dbad31c6dad730694fc33e835a3a6b9a57dd14a056c0b42af92a59166d2c876d06b953108d21d6ab25fcde605ca2500a03e61142b828265aaeff516be26e43b74092f42f35bc5004d718d4c3de2f6d6724cfbba14eeaaedad15901d905affcfd4d679a5beb020ffda7af3744c6e5a405165db8c4d8d628a1e4a67dc1f85ae956eaa2570950316225205f552b9c1a352d7219368f4ae05fe976a82264c094d1e2cfe7e4170808c102b4b31544864921fb4f24cced0810382a689291ba521d69605c8ff883a57d20004c8beb8c1cd1a9bbfd611b340cea939fb695c9ed8d91633f1863ce4c6415b2b38fe3ac6b89173fa1ffc1bb421361fec00d665f11cfcbb34990c1c1130c04feb55ef05edc782c2e9c4cd1a4e452c14e0ad21d81fde7f054aba035b77cb2928a35dbabe800477da4bd607b705519777565fb044bbdf0a31af8d81ecf2b434c3bf31863ea743fb7bd2a1d8c6fbfdfe036fb15adc333a2740d1e0b7e82f09f6b5c8d93bd3ed0a5e0514b09afdc57a3bb5fa737dae5ff50800e534824c421d81d02962c7d15b643f6b1544cca897ad6103c89037b153812ac9ee477b1966e915ea8e7ee48510ad682353a5feb001f2a6164dfacd0159530c26ad48a723326d261ba1035c630dc668ae3e3c3622368a2e3b67c4b704dd08ed60975173649d4fcf527e11d8353b92e20ae3fb0c01501cee39c5db5800eb871889fe72113821ee46820d88dc53ae2745be4102aa03a6a1f951521eed001d41c817f09f4ddfb7bd1b5e612d42a967bd2d5f212176a71769c4edaeaffb8acc2c5c1079488eff14d0bd348a243834bd09264c62aa4d822d55c3ae08ed49f3d5df6da8b52023ea973c442d63bedac55b84ee298de50a23b63954731f294a50e209c41e50a3c528321c0c5140b7ee9a4a65a8faebb2e5ef2cba98a29e4cf06977956458e49202604b20d8cbf74917e6199fb3c87faa7025a43c1964d78c409f01229e0fc3dc692f892e18a8c7e5ac4667a4595dda8ad13fde81113e26b830eb29f0e3ca1b3d37ff1e8933d8be88408540fc3d2fa7a0eb5711c9a95cd505e28687ca735b00709d5f52fd6be4609cea72c84ebfecc52954d76f16b10f89b7f30657a5dd79c2350af8cc536921c0da4ebdebdff87fc13d5c54e66583ed1d81cd4f4382365eff009530f91981c40d5c392b91128ccb01eb474d4d6c59c0febe9c6a85c6e3411b7442e98d7598739778dfb127cad02da3ddbd59b79c10aef44b7bbd9be51b51147c00f1fb8f99f8b093b484a544849f0e3665413d84e902a3e0c3414f4920ba7c10f7db7e802fd43b44f2aefa2b6e748a0cbd7388e75d1742eff1b6746a707fee168a5cdd917029de855aff2164e8b2859c98524c6fa10824419835dbb174c6cf0dd99f0681c56d84e1140e5f377e90b68917f78e96134d671e62c117a0ff61ababb43230af7adef73a29d61326226c221ab29817c4962e98772c9280208cc860cb8d86e7872fddd1e41673d8cf5de8ca985989ebaab1c77da9eb3f66b0a0ad019c210a67fefcd11a28b08cdd1ed9e443efea460570acd846af3b0a576921ed97dfeb12bcefdf3d0ee0c8df58fc1bfbe1d1888839746f7b0a186835c005df86e802bed2ffb98e2cd796ed82be27a4f2364687e2516f73f2bb67bdbe54944d503b8021c127ac92179e2eddc143d31852088616e10a23ba357f5f24cd313b6a087c4ee5bb4501b6f227e4ce24f829b13451d94add0564f8b3ad35be7e1baa864b2af6fce4e54edd29e4e7bc86d0dc8d74d0ec2ca8d485a513570d710fbeb7d7f2e3e8596afc85c2e9b4f62ce696c1fc007af002dcfd87c8b9ca044180d938e7882e110c5036f59381966c065db3d3713dff513b087470402b39bb791f52458e485f71923291b595d6683aecbd580c2b27338eacd859664263b784327a3a2dea49d47bc3b7e71f454ca253a68d5f6cbfbf5f4bdc596da13b58a50f1418e2a3bcf36a363e40e43eeee8c5b869f69620b6bf073bc8d246bd5afe1732ea3561f65ffec7e8252ab8fa873fdb548fc5769ae5061bfdde7604ae91ff24b60c1a0b329914e543419c26d0f66677cf91094a37c0ae56ca54e1b92433d457cdb67def08982ad33a2f5ea113507fbb2d1be68c779f2b3bcf82b2b93557caf585c0d6dc72fb55aa6651b6f9be53c0dcd8886d8ec2d7c2ec7242be9e135d5580930cc69ee246ca21b130e54c698c4334f18d58e62284a6259df657e583e323dfe2a107912741c8ea5f0bbd15518f7232d4c0078fa5e2bfcf1a5133a1ff34cf898f818192535f1aa413c0db6aecf5afd59d9106a8781487ead2d7115258a9fb45d8e98dfec0da147ab95e1b836687587d29130626b9e86d1258633ca86fdc1c30dbe992bea9e833adfcad11e20efa6f8e3de3a9b2505ae783115569ad7093a08938e0581709c3b644ecb41494f432966299125d2a6961126e11a20687fa09423310782064c4b28ae7dc6bacd4efb9b58b7d917c4569c25deceb91d2da471ccdb8678f2eed3540afdb0869af19fbdaecc6774b3ed05ea809e567e9b5c77400a1943a5eca4690b027daf7236824f2ee68c0a7608cc31c18592e26db8b46bf3b0b0ad61cb2ea75093cefe27ec21084b742291385c3b06ed9429064219d75916ea9759a785228c908bb67d0f01911968785e164c4622030a14a447648d52e1dd208b2f98faaaa3d6d7bc0fd6581768ac311e85a4344baa8232475967b2050a435c9aa42ac5851323094a59843546e118154c93013f954cf32ac8f5f95e8fd007586b71887e8b18cafd35425b63662b170664aadc398317296ea388d9692ddb7c1eb99c11b36c755102223b483cf84c39678bca6cc5bc8a5e321eb296b1ad34c69b3b12813f49c17ffb41f78469ac43a2395bbee91e36f1343e91e2fc8bea8644719fa4f3a44efc6664c078b5ad6b694c54464f5b50875f4bfe4bd2771583e7ade79c90df661f3f0c30d3c132a0b728df1fa842bfd7eea4f3ef9620a7f555f5a05f16a5fb0696eb0f4af802788ee822ad4983eb386245e95c9f9d0c83821e4ac78dd1657c3a05f6d203052b0944b53c72f611f7322f09785a5be92f7141850e160d0a3578822f52ce683646e3ea14472cefcff43ba78003720a884cdccadbde2cf3c01b0a84355f552256d617aec348c7d7609f42facce2cabc5ff313d0d3494b81391a40cef58338d794c8bc615a10e14cf94e6374cf6086001d9cd3f051d5b31a827b2e3d8c3a51ba85eb81983bb8b130fcec860109f0ea2e9fc3508103f167a9c1e341e64fe9d2b1c2b3c4af6451e080f713eff96903e02bd98488f3fdc4809290d1e776e59e0401923fb88e01b9a993b3ad7286ff3b4539eacf8e35feb52140b379af90311e10ad328dd390141ed109a585f22bb8dc6f1f3c610fc377aab2b83ce8be902473226fb561b0cce29a1b1246eafd9d23365612b13661c4e6be421ea306af853c2f0cd222c03d0448ea933c8ea6cf31c75d62f3df15c9961182fd32c1548eee5688a8d8fe60d4d80897505c302b38330dbbe50019c82c8e87346c3b7cee4d5867ab3415b2858b29a85dfa886f6d23ff7735857c1a585f3ebb5db1281735c904d32bad487bf10e23e2a134deae6d63482351c45b949ddd689c57dd0a649468a42716a2635251b2dd04dd42d2575f9a918a537ec713522843dfbea6609ceac2719744f799bd4c53f1931b2809bbe0ed22d919200fe2e6b5086ae8d4b22b52f78b00f29496f3f42d555fd7ce0b58b35aa4a0ca656b8ec754a1e804da7fd5ff31c4ea7dac77ed18a2a450cdf23736f34ee78047c01b0efba594694ae1fefb9990714cc9c10e13ba4229ec0056618eaa0b1c13aa390b78bc290666d8e938d340867600848b9a69f44e0d8abd9583c0190bf10daf493fc3c638eb58af9b051fa48623e8a7b3cc997cbb3aeab5333c6874897ac26f76e38a7fec3c2b1a5905723e1ffdc34f1fb11c66b915efed8846b71954d049ccfc7327072b41c9bbe7a02e036c9df67c7a2d233d0eeff011d9b8fa7d67cb5759235967c3fa3d222809d400132f7a009167f744472b3e15d15b75f19f008d4a4154bf826c7987ece2531fb0e1d40989720315d1e04e851b7bb141e80f13521bff4795205ed338ce990850a722067ab9d57276d69c6438cc76c6a0583ec63c02fc6be9e9364a99c951b46a70df730c1605f57a633c6698ba28acddacd3798e6d709f08770da45ce4c1cc3de7d93b20dba307136f28369b1f1717f10b5a55c944bbda585f6894b26bc17012071478a3bfacf6640477bba1f415c1ddb6e15c8c8f48bfcd93b5c0456f343636d10f2375a2f159e994303dfd5c62f0f1f743c9fa29c4416e0e6b773fc5c274a44b1ad34d671a0d33f22637bfd202cfee6b472ec1e0819fbecab2468ec173cbde443c6023b831c7ebb7d684ebaad590d2c3ae76c40a1abfcd793fc22c526564f0bf302c821fc5e27addfd593940410066ad3bbf7da0428b74434390f843a8c61a85312ade842346c62cfdf1bda76cc2a4387bf4bda0df0a8dfc33204ec1ca1d497ab15023f8403511bb156bf9abf033ded58b7ddab4a8f12026ea495795a370f896de4d5e00871df91c0ba1191f8631520fd89fcc123fd73b72b3c5297a9b9ce38b3af7beccfe6b8ab42fa67c6ceba49ff672d0424d9016819efb719edce3b55bc3a92569ed14aeac87a91561e0957621121aa93f752b21afec1a813b8ffa5c10f593898331a5718b9d80df3f6a1d787cb180f658255f13ce1f42c245316f9fd0309792a853ef50de6e0557249a2915300368ef0a5e4b11975b89d2123b174b436a9d18cff8b959aa693339d95bd2528633b49a4a5d6348d8c568625542489a8597839e453c3f234f9e228154630846e94bd42b031b9dc771545eceefb409e9b583107a96b7608bb673ef04bf1d15128392036d1a73353f050b7ce4ec6dbcb8e115a93153649187059257828d626f047285c1c3a3a38d1bf0ed845b6c59545a4a162485d358d5fef7947c1c22b005ca2a390a25cff3326b87ba612b548362a8a1f6fe6ebf5c3cfea5d8afcfe5edfd1d50414dfc911f80b20a6378d69d6cfbeb06b15b5df12f0f602b3448fde6033637185ef2595b9ead24e0b7d07b1cd88e33da8f037ada8d05f3e8ffa8e760421142df112ef4fb20fab8898132939c46361141882619af51660935f0502c0a8948360a6fc4cb3ca0215565c0eb563dadf985a3a44448a592398fe803c501e8833dd9a75cb9ef75c672efc083efd6068fb4d0989ed23aacde39526905be9703cd119cdb20f9ce341de3ac4f0225a0641cdf23f51cb9ff1f7967f89cb1f490aaa1227ce8c719b23c1958970ca3f86b1316e78dec1c26f51da57f3bc50f58b2d42c249ccc40893499d6881a8dabc70ccde94b0ec16f883cff268b7865f5d3d63d1a5d019b5dbafd70a6df9dd1e902880b7982e78cbdf31e1dbc20c8b4f4b21379d0ebd684078d2cc31895d861ca9faefb19748757e761b1a653034cb36a3a8e4fae87932987f0b7ff6151c601cd2af09d29c0228c91bf55f2f5bb0bb60cd5ffc2c3a9d7140b7236903b24f543e61a3c3ee8f230974acb325862e59ce311581200e9a680f5d9e203bc9f526e1bee95467b17c678592a23df50a51a607d44db5905f0a0edb18baac3ac56957a3ba68e08bd4fa3b2ee0f4d5dcb6674007d087df8d4f9f12246fc25c2012f0dfc527603f39ad4437e66fcd406b1a8e0e1158a038b493a8ba3f24c5597000c1b91bdc4dcc72a025fd0bc8b22139bcd05bf42e4cbb3784a17bba73999ff3e8740bc3b3cbda824e0c27fe313fb47490bca737e1a79a06b254b96ed313abfe6f852e70f932d3e2910a55907058657a2963cc85fe66f170c43bfc980d881d0fa7478b2f13f88d8ae2ecad7c7a6cab7438fb592e2b4e940eff09f1d8539f6e26a5d0ba85f587a54dc3b9399886ca46e5055ddf5a427f978a82dc23b9b3d8c2120c8f394769e8dcc823e8e248b2b8d34446ee343ea684d0f05fa43b33c9482bebddf7a18659a2c88c86ce67a754b0a92fc2373683342e519122cc62f5788165d29dc5d919a53db10157b1e723f5d876bdf0374310e3c796d0561be8e213747639f3aeed0d0abde89eb2bbf7cb5e06dcf46ab02e8850fe4be81384c57da63217472f245e800a454440c99eae9698a42c8fe382b63d0222b112e446ecb4b810a7dd8236dc27b983de61222e11c69b89602b481f7c0ff139b34fde8649cb0cbd3da1bf5779efa598c06311f5b3ce494acc74307af9607028416b116f09caf52b7e0c57c08c27fb0f08d6b35002bd0b4a541c445acd3747c336b8e1dd42a0ee24d16ecb39440a2feb70ab941ba437432a6ff4621b9e4ae8103c7f41d60f5f4044633500de6b925580ae509b4051dbed5ab102039d48f192b86326ab0466ace8d2b34d929e5ef12a531a224e7994e0c420bba3744094c657f778e64e7e6929eabd134e703f60328121a5d0374727ca216f4c94465f4b479d2c4b48f7d7eeca1a6cb9e28246902d2896136ae82c83faeee6e705db06110b2ccdd22594367d901917376872d0a4be8d036af9f96d23b76d1da4bbc8ad6dd07e75ecd0979b1b5ff6a2da6d44916ea0d2909bbb146c3c919f6a03943d86869fb1e2e6c7ea5ab1951dcd63c91c513f98ef9708fd40529359160d907d92200a422f5e23a2c71f0ffca02eeaaf86b8a17d9342248860cf32659940f0053c968dcf7393e620224d370378d4f33aff557c66273e2d59df851efe7f8cd83523f172333f62255f9013c5f071bb4c471c5b4e0fd36800d65ebbba905e1cbd70c22f4d6197b2b943e8740106717fd296aef602ee4beb87a0bb0242ee37255a47e0c603e1c803e28f8c25694faf0003b04dc70a602d4de0a716c13293b9a2ebee601eb0cb0e34ed70a00964f738c72ba11d2bbb0752cb5ca1b6386b91d533fb1a7600ec638b2670d9823b1355ab174335b21785962bcbf7ac64c2a02b47667e25510660a0ee397e63bcf09d0f305db6ee0d73f511560c5509e6e5e910dfaabb773d81e0331e072206bb014926eca98bba4ac936ab1120f8d85f65e9e985d7ad321e7c7df766de9904a08007e8e9e08bf8921c17bd24d46701a1d57859f8be79b1c044443e9efc9c23275b8ac1672cb9aefbc7364ade7fa06264d3610a539b6f912fb79b2211b6110c9384c1a7ff7608c4dc2b707c8801934dd19227a4f63c6b65e30ab8b789d3f3b990fa4b2672333243b0b6800ae536ee477a6fa631567fc1296f171c930e2831f8f642f9046fae3768f269d4aa0ddc177cde0b74e0f036fa40ad5fddb7aa2f521ba5a5823ae004566ec82ad74241133a550bc89d77cb0dc7fe97dd882f9190f78d6e9bccff4e31d8adcadb4c0714aff03ce44d1076d146adf029a63c79de64275601af75d240cb78a4615ffaf27232ca8d8604ce6b0c23cdde9bacf6d0565d16cc09d87dd04f3fa0d2e37345bfd221237dad21e17cc11c2dd9f70e0e742d110688e42b82a1062ae7924807f28f8eda9848cdbaa5add21afdde91be3a098037d6a949c1afc9936593bbd32631b78ae9d3472ce26b82b14277a6e08e6361b7c41c306f86e63b7ea61615da7b4278cc8a1dbdb945634a172946464e97c038352fc7c6c39f6df57d10888236cf1070c8d2f710df59a0ecdb31e5e8f29f07ff9ad42362fcbc3e7e890b5f0e7fc19413cc59e9bcf01e6c99529f7a6eaafb9ccb9e7ecabb2d368d85cc137629b4bf6dbc507e700068156d3170e3f860a978770e466aa79ca0fc91340e2ad9fceba5b2ed8a8f7d75e8aef92a1baa61a4245b157a045c3309f428594d1e4ff21eceb0ab0efbd2ee2755295a39b9227e0420390d1d3a64089824ecd59c25b3b131a98434d20d714334875fb05361f1e0379f9c7ed524ba7d4fcde8d85beee1d917ca09041c61b94b7990b31d17413e0a17ef785670da6a368e470c4d8e9c76f33d3f613570e891e34a13a05da740f402b2b4786fee7fea5f0bc166ad7c12e52ebf9c3cae9cce209b57820dc5a0fbc37d8efe8ab5321acbac46f7a0ecae91bcd841678ceb7f2b971f8d37e5e5106f338c17644e0ccdeb7e0f128ab7142326bafd6c19d2ec42d9b04eb6109c311b5afa66010b486b8717c3d43686f14764b8bd978646feefc0407582f7a983d5166884937652f7dd0e19d946e8d7cc5685b8dae188d3fd0059072d6ae2e0cd4b43986942a08418bee5a7e216261ed75eef44a505daff1bef2b41b4a8339dc970c03192abef1665068c7c677aef8bd2b37a5ad9fdd4e9d30038f5fe97027f0aa9e0b30218d465f7df955200f1fc81fb36e2274a1f584a842485e0d5fde4214058a7e500e44440a738c05a8ecdbf5ac99a2db7415b633e90125870769254ac9a46c20a4309c6f0527a6b7e741e4c7de4d52f86a118405b2adc5560f7898133dcf34b5b2c41e3170ff6b93ee664c80c372dd2ee0b55b1f1e73467142b70643800d12f22bf742ec2e172cdc098ed75061591ac522d72bc242b99219ce1e8a9bb91234d9cd4d01a69595f1312c5825d59fb976b95dfc94d39c3c9f5793dd70a235037b699edf36c7c78f82a4526e8b1ec440412858cee7238caaaf381a0a5fa620c874916fe3faf4c0f542424841117ca4e1353b8e491c0ea8ccd2f5ffef78133571d7820982cda290446d075ef82a9cac1309687f050fa7d409682ed8708a2fdc04580060af4fec754395148630700835853c3de358050356dc8df82fbf07ce4840105724c8856f087c70c048057344dcf3cec2db62eb0ff9eb9fb15927c3238fe47ac039cb495237ea461c66aa36c1457c88d54032b1ed820cb301b5d4020f311f2cf6a010d2c6ae8c0802aee2928a20d9163f542fcfaf643ac84d06c2869fe763329f6a08490b9b74fc1e71c31e6618848541f14691c35d733a1f7213e1581d247f0bd46463e312880846de8cbec664935964615554e46aa7d46bce286bf89ee8d26bdc2a19a9f706f39c2564c53863595499661615db6425b555894fc6b3ccef0d4215ebcc12ae80d89cf50826bc5ddc77459f8ec53ba0a3045fd5888d8da3c73f61229fb648efd6df9cbefba50ce63a1fff3817a2b21bf7a9b03aed9b350ee6e18f87c36d8ec8f85aa4dbe37866635d6faf21f17a93d374a85487a25c70e648a6b337c5a7bc44387b7eab68f85bd57591af0e176844c3abd25cfe02f721016e66a8bd61116d298ece71f7ea102a142e6a9724bccaf76589000a61c0205ffbca0290727329e99de833285fb39a297705b76632122e2c872d2e81640b105c1a8775ccad8da3d1d170fb276631e7a359e9d7f1395e8c63b890ff92d28794269a5ca4b12a6634d58813a4a4c9ae885888bd121446809f3c4f1a609897293dee3b1644488fb2e117041c2d9a16074b3313343494440debf21703b6efa7d461b9404aacfd8c8082069a78737253f9ee8424372601059532a9fc12d2ba096ba9008163021baae87c29f189023a0354596c3c22384639ce67313057557eccd0230e866e8120b7c2c88d8f0cf8c5781e3172e2ded6cee6bed43a4d719820a815478d40e9e18219282bf7aca3b257df7d1ed0e8ae4033563188928dc34817b5d27b190f937100f30305c8579a8bf5c1306d9f141a6720dd7f534af08243a76af0e483372f47a212bcea73810ca0e007cdaa7c76f78838ac705d37da8d13300b751f8886844ad854ddaea04c57547037e6f6d6ca299bce2e3109e158c30754f3d33cd8dd070b50c41ca5035ecf1122b2a8786c18a6025e928a5b0f4b4ba45a2089b6af8c6596ef843f292c3701295b832c19004618978dc04fdf7bc5442814626f3a7b67b25ff1fe819a5c5b23f2a8ce5e9f931f41b73027fb4e3930702da16210824f3340db9fbafbcf812979860bb538afb575ec34048e0e0cbdd2e8d9816bcceb3509be021c7beceada289fce0511c6291e94eeaafc8360d8a1626812c72b114c2918ac0582a18bc05f1ed61dcaf945ee615e1ee8f1bbddf86b3137d8f08fc239563bd2055951716d7e432d855b34a137a86bee09202d40570dd563c54cac3639ccd9e923f84595b2b7bf84530222a6acda052404031ef87cec3bbf919a8cc00e1a4e6f1848025b489e9c51cb4e83615733fb3ca5f4a2d8b4af4ece4859618343ca1f9e2d951efe4356a116bb051cd6dc53d25b81c8268ab4a1878ffa2818408b330ff646ccbbd39bf79b5a5f680f5d19c7b2c846871e34946247c8557f9b9315260e73e8206ba3ce2af620c82034d23f631ea3aabff55624680d7866e37cf16524092527c734ba6be11b12c777785c146c02056bf20c81c452ef1ce2d32f9ee967ec6a4262618dfd20d887be1007badf4e7c524880dc452c83320408156591931a5b81f3dca909ef76754b31fa499147395668ec9ebceaefc1a950e1c93f0b00e585f70c7de34d87b0be785a95dc3a3b42ff424401d77d23b8b47266038a435016caa93e64b78d703819894824ec88953381fbe9c1478498e682c286ff8e3d94de416040d368a6fc160e864749fe2b84f4df21b73bb4fda8f3247faae4718c830e5a4705093f2e0f8ed47279833bf6a90d220e8320593e23291631b5399dd3e43233b2f3bee9363fca32db6c1e107c08ca1a28b6210a688d87d9a21e756d65f98d0ebb5fa905b538dbfc0cc653564b91e99e94eac3c3e247756fb60530eaa6c68dfd3241d0906118f0cd46ef277f9dfb1744107da01513479bfa6aa3ba101e8612055489035a9a308ac6b43d8171e7da2f262301aeccc80ee5197e4e4f7b775051ccc319f145dad2d55f5bcea49f9a6ac2c0e8888e53092229794a879647b4b206b9ca30daa894bb075ffd27a84bb029c4aa9ada350298a02428ce60a8a065744d491c205b58c9c2c676e6f86237966ad53e2e513369ec2fad42d9d8efafe34714c61d285e99b97ee4f66e4aee13f4759098ef419e9665f96c9470e2aa9fbced4c9f72d14c9f492ec14c7ec47bb62ee75a9d55585e094a5e90533c893349567a29318595150b18e5fbb394f09ad50287d3f4ed5a38a50a2a1513cee25472ace7645822e63bc9471fc67043adeabc458205c19271d3a69a4763c580e0797e191aa4c9191467381bc1ed9ccf9f08513a67a10479a224315b676ba4e2e010005a4caf42445cea9d53874c778c179db6995339bd4a3d89b567ceb8841e737b54608216413b2f7967b07f50bd90c100c2cd34b3ebe97ee0d2b7a0988ac12a63f5365f34908cc9385f47729d054d96ef54c957d918cd5add6c7e22c67814f9428dbb3fc9f657159aeeb448558cee23f58cee2f42c58fcc3431a68aaec59e01e62cfd26ad09ec5a2f1630cfa1b63d08f4e7acb8b35e1d38f211f8e950aa9b2b7d65691ad152a5d7944b477e904491ca06cdf4ffafda4416b7b8a18c3f65bb16666fbbe336b4190356890ecc1bea788f6b66f79b2bdf718ed3b9d6ccfe164fbad5b318695353a08b2072bf6d6c36103e11d0e5b072f6d836f760cb2b51ab6f6a43bbad67e9f8d321607a1aeed066b163f9810e6ea558c5284240f61cf6e4f0476edd9cd8fedf6f4160f6142f18fbe86870cb949c28711ddcb66aa8086867cb7a7f887363ad1df13c527046cb727a2fbb8cf44881145d6f799a99addfc663713477f9edbd78f2c8b4f94087b4d3b131f13a370a601f43734926eaff4a40f0b0e0b3c44b6767c5a382c72a724351cefa1dc31b55adce537ac9650fa942ebf0f61f2c35efb10263fe4ede78fd1d087870c9140d36581ac2647f3a48b0ddd784ff5f2d8b77baaf884807e7622e4b1b74d0f5161491534b4707058de4b67f283f4eddb76ef3fb67b780893fa21f35bc53fb697f090de70b7b6878db3f54e6be20cbd70865e2e176b7131216cc80ef54b7b64690f270e8bb76baaa6b7b17cd3098255628187b0b8e7e1212c709358f00724eb7b647d1fd5dfb03022a0d1236b844f15fbc8c1845c3df3626dff4e3a132627048cfefdc7e81f1ec284e21fa393f090b983a7cf54cd7b2ded62ae8b094d957d38772c6682c90f2d9c2d26346cf18988eedcc9877d02228b08ccca09c0b0821504e1e0b026d054cd0fd169967622f61c3ed11a157c91359d4481032528610a0e0e2bb234cc0411efc5040a3be0c1ce26c4e9e463689e4e3e707e7c4a364c71a66af610860f881ca01c919043cc652f59f6af39d4e1d30ffbedf61bc686a66aced7f07c91752242b2b44b9676d53c874f3fb40d9f28c65c2c4c68aae643ba93e74746c830579ecf329eac359ff5cc6b0fb19f7ca298fe3438e76f90329fb5a66abe072a5f646d2c9943daca7c586e66bbf0549504f34bac39097193b1e790b7f8326998d8be9f87c3bbdbbbcb11e11131cfbdbd1fde373ce465aaea8fce8641b3d76e7893ed86bdf66c8d2027d347f02fdd9662ec21cdb20c9c2a69eda74ad65a5fa60ac3b08f9b734a8d6a5493327f35894fae9fe9c7cfd07263a92371767676deaf4963c41035a24e4a715e33a7c7cc8e191f92a358462987651c9671d8d04c8f991834e2913badaa9700dda13af488cdb64e12c9a1cc6e9da594723b4776ea8e9157262995af9715cc04931f7def4c903e2f250ebd7749f8443d264867e2bb9daa79a9ce953e1467aa2a3efde88fde2f1a411f099f7e4c4f87e2d01d5943f6abbead54f96a2b53552b8954495742c21367aaaaac21739592a88ebcbef6bee48ad5578d6a5aa5d9ab57b55f30ef5757e9229c38348dcc234826cf6cf9cc9cb93391d821d91298902a93bdfad52f3389909559df4533a77560628d7c218de67c45d2ea698f4e19a5863314874ad0cb4aad928344e7c8907a5905a7be798ce47ae9437f9c0055fa257ad54ab2a4d20b91801147209144dde1e34711395487eee4e47aba53bb73d83b0ea31e98b2d1299ba7a36e51a6509a6514021e9832850ab593c6c7766ac8364d4e4ba7d5caa46a945aab555badd56ab5f6b5d65a6bcb8d2cae7b146a95d4b5dcc8d26a4fad3e6aed51ef8e5a4bb5846ff4546b821c70577a3862ccd033523a636e7c817884edddd72bfbb8cd6870a3dd3d279edbb7fb6870db6c1aecd2c67d46afb6283e3838381da069616d87e1c9dbdf5358db411833326c70af38a4c12d06dff698718c649aa32b043b796bc9dbe54ed1d663c85b4fa691acedd205829dbc5d6e54a6275d78619efa37b9b18b2ec8cb97c4c9913a2ed6f075d780b257ae765c7b38b8c798e1d3ce49d99dd5e6a4a325628cedbd8158d3793b2737ebe4678bb26d400d6e52a8bb720867277331892fba9eb4b2d7454f87954293464ed9a6e4edd4ab91e2fb4eba86a5141ddfe55083dba9b763091c1c1c0fe4c652a8c1edb5bbb7862f943cbddab6cb2aa56f97454ef2f6c6e91cecdbdb8850dede3bdbb793f6e83272246f18900e6ceb32cbb74bf9a457a66f97507ac5e2db6514ecc6368861139e9e6df026b3c0a1cd2c2c1803b2164ba293f5d111b3dd9ed2f9ec76f9b271c62c7d3cd9ea554797119cbc5df66cdfb6cd666e8bdc16bfbb630331c6769bbe61d3e026a350de4e878434873447f96a704b9160fbb6d1b47cbb44226bc4bc7ddb2e797ad5727398d41cf9b87befde711dd771b769ef526e6e3848bf4c34e0a28c0b2a5f68cad4446f6b9d75d6392b8501e782ca371fbf2ed0b6b42f5db9bb7b0a9c8b2e7c0de68929145250831c3d2148d909396930aebd06d8677848d00f4b81a6aade257cdd1273c94b9f344883a86baa6a630a1493868f7e66f7862c703bd4f465b8430d76a49077628c3a83cf08508c517f834fade1d4a9569a46eac8186348293b96462107f2e9870c963d9695583c84084bb2a24c9d69f8ac8ddc93366d4afb01378c8412a895b363b3993590cd2646c566b3da6c36a545b93b67d369af470d25d6c8a6946e1712826c1bad6a2b3416f5f8114a27124082ca038e7092fb4264966366f90428088a4b3ef712cdfec826d266d20340d2860d908d1c2b12687a000828c8dec68481667b93fb9114c4c55833af953de98c31c63873a4a4194be2f0a53b361d61d86f3237bb9672ead04ae95918ae1e0f8f0704727ddff0b906913473dd1e8ea69948dfd0ee2a0cc920e96345eaf4e4f89ee9c1c8a66453d24919563d963dc3ea54b14ef0c9966360916517499166466af225117433e1bb99770e4eeec33cb4180999dc973133d345f65f37860fcbd1d5041a66264df75286dc8791402a53f752da916163668617729fb65cd29960b4a11cca00e1b48c429326e0a4133e5a686141501c9136abb4b5d02e39ba9a086ae2278760c6845e7504e9ec5112830a26116bb0ecd15584cda4f171cae26e006af27c11f7317bb29ac5ddd8549b91d53764895135bf18a39429ede83bd30b8c0c382363868d1bb4bb4e018368435bdaece8baaedbd1363b6ed8eca0b6df30baa3817669316b339b6152cae0051d03aec2c0e0cb757e7567d2589e49a3b5264d8623a835587bbcba9de0ab0f6b8caab6b57ba7d6968b275f685bf5dd09ab3f61586d35cdf7eaa94b58b0aa107e9cd42735a8572c727d85525d55a8313969129f10dfdc7ce80e92e4f89960624dac39f2498e4a2ae58ed8a772da98413f634571376dda14c3ae8d0d1bd80c9b6e1959868c365518c034018a010211b45731f86cccd8c107120d9f7ccc004c1320a039674a0c5f03e1938f56d4ec5236f6f899e118638c31c6186326234e3c0cdee10430d3a6e32784d04a2a474c55fbd0b011536545df107b9f7b99127f3b67a8a72319c47aac414a69a5954e294f29a594524a29a5947e07a594ce534a29a531d6c4555fd20c045c94e9ec6380a44400478f0931bfe34683d1c645cd1129e7835049eb25a5f5ee90421891e58d9e1c69ddd19786cfb35733a40d0943ca9648b82803d3a0d73fcd398f0882cbc6a5021364fa1d4d7383143d341ffd03687449c193e99398b2e967a4d8a18f4d5364f866bcbc348669907200f8a20b0a11fdf4786056b4c1e391d106278f86697046cf98d1207d151f864d0d52fa2843ab409ab5663273e28b9a96ddfe4776fb796bafd90ce3499a36c36e684d1149d9b3d718a01d59049651a44bba7a35e7ecaa77eff4494c9aee67d2d0af0391069cdc679e9831024a295d42a65c772bcbbb915544119346bae8e7e3a39af2d9d1b9fbbd88584372a1d2c2676f352c259571d69192eed21563d0e710c5e79243e922bd749ba6492c3155f4232a3e49054ba218227c96f4d11b401ae15396e11302b68d092238264658670f2fd1619c2b7da68afee5a3b2033d4b9822280523a04f644ae30b6b4d073b9962df727c4b9a25b02c6a909e7e87137ca1b482bde664219d9558bac4a49156e667c58a11f73169b2d317418fe58d3534b249881bc7050c183264d8c8e1e72367c39247c332c6a09ff4d20a3dc52e32bd0e36f8ec7d64b7d7fec35efbbc86873099f887a6611f53453f244e7cb33c6f67e93540c30d90ada9c27091cafaa66ae4f349dc358669f2f57766675330e9e095a433fb30cbb22cd3b22cd3b42ccb322d4b810e7208e30838cd495192fbd367e6fdd984e699f7795c2e49abfabf5ceb67d2704b5ad5b246a9257be8734d7e72898a390519e7364f09994b1cd7c97c639e5ee7793804701087cfe03919a5cee6362f7938f2b9aefb519757b96a2085e3bad22bd670deeaa903f145169ec9c55c1a3fdd984baf584386b852bd1fbef078f8f5786873cd6b3e83587e66b0fcd838679a12f300a06262624e01f8e9a7938d1bb3eabaecfc00e0fd97ef03c07f4ea716453650b78515d5e9c6c4a0562f377c3b2e3b2d8aac0bceb14b4ecb4f4b93fb701f06f070071f2e6b071f769ce5c377f061003ef830809f7cb03180017c87db60e1e118c00e383cf9d0e2d5a28a0f0f6db06c7cc759367cf0e13ef8701b3f8b87c3071b2dad9656cce98472d9390a25ffe3130a75fae8ffffd4c396562a954ab918394aa542a18e5d744c547a756a69c53c00e702704d44a62905f8a985caa900d734e5747acc2900aa96d669dc1a2a952a46a552e13026ec728dbbe8340d6d558d1a346e0d971c1c6f69f58ac6fb2d497ae5c35136503131317fcc65ccff63626cfc31a8181bbf8da362aecc281b9766148dc78ccae1038d5be336aecc20f8cf50c5a8aed2f118fcf2cd984123260819c48d1340ea70f1d18172f1a1a1b974f1918fc1a1ea318f39c7c2e2e1304de1c1179aa6e4beea723197364883c66bdcb0cb342ebd1c314ee39cec6a5c1a975788c75c190fc0a5d934a5692290898a0c212e8d1b73cfc321e3dca83be988f1989fce33690c701e070287f63fe0f0e301872fd900374615f81e3746158f0bde6682d7e6a7bb43470e1c2d0070d991392cbd6a0e4b3437081004ebb3b9f470fcf9969ebc624ddc21330c9c4af28533a8d40a2ab5825a3b3c2cb56cae94bf31733166f8e43929a594a7cf7c7202922a4e4042050a48ace47006452820c9992e480293a3cb053ab928d3164f067374b1602873519ae18bae1651ce5dab57d1d51acafd2e49b784a2500e703de03594c1cb0b3dc1955597e7c06e0a793876e88078eaa40f7ca973ede9985050b7b9a79f1e3d1c356ed32528bd3a0e65fefb8787167c8c342517f8abcea96e29880642392c3dc9fddb74c975fa0fd8c5030ebf139e42d895fb35ee8cd2e0f394d235527c2e59be7a42b8e4e96a104a831245daf9523657e6df985557e6179ec49f91cf254717132939751bbd4aa11ecec8a919d543b0c6c3d3e0e1e157e3870381432239957aecd5e9a9a770f8030e22df9a34d3c5030ebb9e171a38fc5e03872fa00a87077108ce98c961d79a504e98a4842fb43d9cab57d1fed8e86212944b5056305e4ad2340678bfc4e361a9498f87a525b9cf2234690c805d76660f1ca70b8b100ffcb9ecac3cd57960f969b0a53c9d87470f07a8e384c3cea77f28cb4b9992520922390525f3f0e8e538292173ead1c3917ab5f0a86ecca5d7cea4295569559fc5480f4b4e2b978ab8d40d89e4d4b9ee4cae06410ebc26280d3687ba130af79f43955e92c6c35229d294a4c9e50d21b1290a3609e97c4158089199458dce17445e88cca887a69ad704f1d0c655e76aae0f57d938a96aee49a53a986b6e43551344cda3aa5f13c44f3507e2b15741e0f02607711b07e29a5e3882b081c3530de60166d5353d310535a8baea31d6d43c04e2f29ceafa7009c435d140c37792aa7b9207c07d78f4729ce4c1ac3a10e149621e6056e19aab847c65d5dbc3d182a45757d5fca47a0d0e6f72cd8138ea9a5e386a706c10081c9e549807985b78724f962a2c55b21cfe35ce615deac69cba4ddfca677db8d20bf57e97a45732d680e095b98b81e719401e85c227103ca13a14ea28140ab72081e2f490a5ca0c8a35a7d6a9756a9d7e2b9f6928e45a3eb146f53ea7ba325b1bc883203ea94ee04d2f4f0879153e81980798c183b8c55405cc80cc206e41619394063b1b5e8e188f49bd72c852e52c4e9ef8a2ab065072c8f21364004fdda6513a5f687a5549bd3f80cbf213ca9cfa2f12f29553af7143223b9987cb3b8d1063a0ee84128472e2439de6dac5dc1a18132bec4e2bd469d344160a87a7f025c7dc24a569be56c53cc66b6ed35c474f759b3609adce52a55735de67b1d22b1b504cae5e01f1be290a774fc78ffa2f6f337f63465d24c08ce2a2771c2e917f79c3067dc49a561010475d25b22cffabc41259e2f02683b7697981788c3550281c441e088cc24880193cf72b3378bfcc7507c4a519bc31c63a3ad12c71c844aef11b337865a6b98d4b33977531b7e6aa2bf31f82310f7f7af882021fda8c42a170a8c241a40c9a3169220bc4a13d0ec1187cc259ae816b40f0bdd5d32bf01d80a31eda1c803fc9322e80198f4d539a01e252eb871f8e2ab5729f8725df7110d57f8943d5e56b6ed8e59873aa9b43e61863a88e6d833131b7995787a76ecc3c5c9a69dcf0cb336e4869eeea8636872c55b2fce1865486006e680ac00da90f37a43934ddf0a5871b7243b90f801b823934bd723fc68beb7018978bd1f170e98bdb740bcf0f0b50af7c264d9127ce2ac2e33d5e84484329d2828bc50337c1e344b656921715ac1e58e72c1eef733fbd3ae5e82b44c193fb5c6bd2f85002d0540d4d8ec8871282a62ae6d0e6906be5de01871c50eee9c0a7030128a6f40078e0224f9c4544f270e1080d583c4e84076652e404042e3c6141008a29fd43cc3177955e6129fd16821205282895ba6197651e4a2099470f07be4d73f8cacc5de11b92b98ccc6daf529779d72b7c997fbd3a5de6a65ec55ce62fbdfa65a8e070654649fcd363fe56a97010f032e0c14b0f075894617238e3c5953a5c99c3954d1aa4c24a8e2e2aa2e4904528f759e4e8a2624ae6ba7b717f1d6ecc73b8a7cbdcd471b83e6e8f1d376c1a9c414139ec94d89e56f56b2936f8e1b0cb1088a2d539660844c11369ba5654f52304a2e88935270844d1939ffc3138bcc9c9319f41336806619b4a9d3b5deb737a687b4ed8fa340876adaea74bd2a00b177ca9875d2be622118bf2e9a97b4a3d9c01363ea5f0658eb94d5b9f5e9dde4fa5528f32e1e93f677b7a95fa6f97f4ea2fe0c9a99fce9d9e3a9daef5b14b6c4feedb9ea6f97c52297cca81c25148cd31f846833a399c41312862ad9ed4145fd8b532902a3fbdaa48c831c35c20557eaa3839dd2a4e9cf4aa1e21c7ece202b9e20408e849afaa1172cc375c20579e5c09ba1274a5a8573528c7fc72815c29c2c1b9c248af6a1172cc2e17c81546aed8b962674aaf2a1172cc2d2e902b538888ae50e9551d428eb9e502b942e5caebcaeb0a24bdaa4f72cca60be40a2457b4ae685d91d2ab2a841c338b0be48a942b4357868ef4aa0621c7cc72815c718487e78a9c5e5520e4984b17c8153957e85ca173a54aaf2a508ef9bb40ae54b962e58a9528bdaa3fc831932e90a228454245424545bdaa3ec8318f2e90a2221c9c2b477a557b9063f62e902b47aef05ce1a1d2abea24c7dc5d2045545e2f27bdaa3cc831731748911320a02228bdaa3bc8316f17481194225791eb4a4eafaa0e72ccda057225e78ace159d27bdaa3f39667b81143d090a92d2ab6a458e39bb408aa40c0d154de955cd418e19bb408aa6141115115d31d2ab8a831c73bd40ae18b9b27365074851955ed52639667a81140129b2922790222b3146cc32d1866db90009d1b2054a98a137518cc103529001054bb8c10a66208404063de8019417931b18a10312f8c0062c5883115a10c3066c50f2030536d0e0095550a15ef9c023336c6083cb054ff08190135e60619f89579230d2a181a7043420d149f2040a56c0c2b6c003115851841c299e48830d7460a2f2c89c67888119e80d51a8220a4eec400c1d30814e9127a0fc0c210a2c48e113a7a086222194e1033d6708bab1020d488a7083125841869e1aa4a0a5c500c3177e3b8ec864210a27c0d1c10b0423a040156d8041197acad08336d0404ed9f98e9c81266615abb5d65a6bf5c2089a58820972aaf05461d52b4108a2820a3e00c5189cc0aa4c72fd0d0c2bfac2eecb954e22529c368074d0040e82787800851b0f14e10b50441184a1236461891a86b0861d7cc10b3e4f2ca1002a6842083b683042118ecc20053959b6e96fce4683b556ac58e97c443fc062a74d822353e4600c45500208a2907f500529464460023290a0ca207221a80c53aa50f941138a2400066de849810bbe10832935062e1410995c3c55aa7ca1c904eae435b8b23d676f1f6d11461c91443fb288342616168f3fc5018c1e1fa38d548ead540e231678627c4dc956e2449a23a2ca3e7e03711581085a097cd1c502d75532ba3a2facd14d37e703206b749d1716e9df3df9f87ec3320909e97c72c79e33dd53bfa5f10901df4def9b4cfd4f951dd2f2164f4064bdb4fc86f599c616f8d1e22eb777b16f117e2c0f672a2bb258dc744ff43e2c9080c8da3155f6263cc4e62657b62df8f4a3e5df5b30930ac8d3969bde828730f161c243248bf41150b6df3dfdf84ae7beefa67f2d97ac967f5fac8932c77ec1e7533a719b7de5708ece5cdbefd8253fc8f6c4b2ef1ffb7662df4f2c4bb652b27d0b354db3ecb9ad5ab16f1c1a94ad3dfdae64d1a05e45170b7cb24d657b6f58d3c38173fa51bae9a59bf08908c9325d0677ca6a33e50c180dd6aeb541270dd698b91f512fbf6fabf5d2092d5ddae0f71c6e8eed1f48b7f5dde8d5f3b8110e6ff26872e764e75d4e892c73a3cb8fe45d7ee4791ec7798769b0de9b5f83557a38a435c9d8a379598574d2617ab98d28d7bb00c367bb2cc5828f1e93406f1828381769f8e823cb0998a055e450147cf394ce335125d3b22ccbb4eba20c5fdf6644ca20d37126eda5414dd3ecb7875dd6ce5d17af4df3c018aa2c814403a35574ca59bb6d378c17cc6676aa280c1930220c18218cce3d5c88e19b30e60a4e50ebec4929a5b3d65a6bed5aeb945a6badb5d65a6badafb5d65a6badb53e8502eaf5a85d41c0c51414525138726487cbf7d2a5ec1566a3b08c9e5c21538e63a9392225c7490f47683ae99c696aefac15919b85e91ac9d4a49b5890348c54b9d94d0f078bbd3b7ad0d408be79fbea616f2f245d3b476a92e94d7acb7f70e223bdc5fb37b453d25b905ab4b48974da204923dde2533f08ce3e9fdd6371ce5e4c76d7b4f684c87278939bd36e109b65fb2cf7c4bacb69da35f5dc50b268916e33499d9783d3b16db2f479bf93aef7e8b1b898a5f4f1f54683f4df141ffd673d79f97db769d959e22232177bd5b7ffc189af4fba3c8c79da27cd93ec94da9c3fc9870d7a38a6a45dd3e4b860269f775ac2b4c1d1e9bf6b1b1cc92572c7063b12e9f386a625594e4d7bf448dd2844a2f36e88841cca3794f2ef292566d19a2619c8172f07f73ea51e8e4d898ba9695c308c56d15318993e94c9f41c0c0a23cb6e09249d342847f0513ac4a2599a100294271449e181085f7c763963d20cb19f412dbd2e883efaec66599665b562f7eb1f38d1a4873c231ec518f3a928be7e7c38ca5347cc7266039c44e26506e6a56f3029abb488a06232e624a45ce5c4b4414c4a9c32f2d137585d78e1a3ffda09a1d9aa29b353a96139e5a5311139d434dfabfa7891d3c7b4f6fb5253f8fa210c7aca7eeccb3cf844c60c2c7d7634c93eb17422333fd3f998d1d52f8882eb117b6a3836e8a3411ac11769315cc1a9a2ef61832339ba7ca2e4308e21d3cfe4e8f2999239d98193e6e5e5fb7e34487d34484fb1015e3eb07b82e5aaf0519b3b4bdc23c6a04f3941bd1e0dd24728affa449524586d721d6af8c53ec694e1cb327dd8f10084e9246b9a769b6e69daa669daed1a29bed99f4f3d2115e5a3f6d49da13b83cbc7356d065c4bd4d085e1061729647b2e5274742d995286586badb5d65aeb745163828f4ad913877dadb3d3e8f589c7bc766d0293ce2bd91e3d4c84893c1325327c335d50546486a12133b4ab5dd64a89956871488e81d22232505a8b2a154ab3a28c44c564a2142c02594c303250fa52f4f27dd2e7257d308c0a86a5288dafa2f8fabeda7ad516a55dd47366e6fbb6a1d736c4628279e1fb665e3399b5d89c921665d67e9f108a85d0d88636b4a10d320c947645dd0c2b33c8105fe81362e0cadf137aa264faae5751462c621e8e4c6632d6c07088f10822e7e5044a40ae44f9125ec596d22099dd0a44cdcbb2c862071588daad40b42293cd041ac41869106b30e5b6c91b54408ec20d87582885387b5c73e493249c03ceb7bd8e42f9658ec3a10ccaf3db8d790235152eca44fb58832c669cc665c77068ed15b2b5975e0e19f33914f9388c3dacf35a86c9860187554c65b671f51886438a71dab1fb658ddb6a3d86dda58a0fc36e2bb00de520d8ed370d23b10d658ab1a8e20b4d35a4d8fd565d839f4dc8be3dfecb9cec5c64b749e49064edfd72f478c42be4905896dda5c967ad0c62afdd360e0ece0e4bfe16879b0c13be300ec9a16ce776b357000939248b38ee55441f114a8f18d43b6e5a62a0dbd2291700f3826ed9524627376c62ec683fb13686351c2780219c048c98c9f1e1b38e0c8c4dcb9df8398405e84ba2c1d83d6914d260fc0d95330cb3fb5cccdeed75d6598623acb788d6b677b7d54d6b0cfba93ea415f3a856f6154e92e0eb1c5d328092e5e368c7c5a407597ae08b2e26382e263e2e26ad2fccdcae254439ba96800106060027e81af4007002da73f28093af28a9502a0d464934255183a1cd8d0f8460597e468e1b2b3212110899c917dae4204a644059c81c32e3c6277586dcb0b09f065f78c3934324a48e06803e18938f3855487882d017d160a44d60cfb0c77a0cc34d60a7b7e2d04e0c2b024be00154b488a6e4e8480546ce173692e6e923688081217f64931ae79c5342c9354f2c835c547902d4609cd24925824f2bcbe4e8aa4151ae01953ecd524a83567ca1cda71688872abe207d21d2cbd1526a72be179b270f3af8ba6f100d7b86d96dc3ea6dddb48c56ad69722893febc05b31cc2520a762132d3ec363bdd3e9f03c75d254839bbe19579f386a0d7e8b573cdd10db3dacd80cc18965178f0f942f924cbdf20f542648e2f5810ed3d9fc3a49c37449ff6e9699f7e26adeb896534d2695bd6117dbd7d1222d328332d112895af22f91272824ec63e69174f63cdb2389f4553c52f95d640617b1584d23a04867d5aec99de05038605e6638c111fb19f22864f11f300c188d140c36982b91e9b9807982b0633cd11468c21a7c8d89dd591167c72cc31cf50ca9d527a8aa2ff6c176bc0c81efa584a9922b97b303c8fe7f9737886ac11eba79dd88c59e4224882a134e78a63ca290dfa007d609e724a3f9c796e0f69a715c91efaa19c6f6f882c7e45b286b4828b6604b977378b5c04b9cb218ebb75c91cf7b02305f3ac5327cfd3a689acd975f45d137ef2463799b7edd4cbf1cc611dd7380de60c61e71e360e8fe70d0767e3a48d728e62fdfc869090223d1ea44cf1bc73e290891c1b6ce588c38d274738e06273b15d543c71c24d1932c267f30cd762f941dd05287f0752c5095010ce0e11cc6376f1986f78cc2f8fd9e531b7786b88c78a100e4fcb63363d66168f99e53197aa64d2631efd05e4d2091a22b292bbc7cc41c9da939c4dc98f194851953cc591fce54849924316a1298a72744d4145871c5d5334c99d6449598212721228fd04c72fa5a49eaa4ac172aaab0ad52818128c07dbc18cd4a02746be1825a1204a514aaed24f36d460674ba43c8536c7644d626e66a54a46254b92a3e54306806c87472f95ca7650517cdd43ad6aa2069ba6a9b4aa7d64f4aa851a6c9a86d2aa29a554a5c1f678480e94a9fff4fe39e19f1e7613d4839cde4d2e125d96e02ff3c7c8dc0e64140e4fe06da07ed2e0c9c714b1697cb4acb42ae613f7c3922f26810452729306bb3d1eb185e498a7ce955e93c6f4b23ff56aa4f84e3f3655a9f2d359784eb764c564a5f432bd4c55648d539420eae069463da419fce97649640f49704caf24e43ed7c3c20325f759785852106ba40b5eb9730e2afed2142fd049422573ddb59cf0852e3ba5d614b1e6ef97a88835f2ad1823c69077d9914cfcca1843768f8e7ba757f2843b156259a685e5d41324baac7ae9556ac59ae88285ef054239468eae17f4642ed69c87cb5c1e2eaf8c005c7864b81c71d9718901846e15361150e7e3d3fd74422c422d85858705c974d9e1c117762d971d179297d7b23d342cad150b12161e169e28be1843f8c29215aa20c9a5d64e51c94aaf4e210b4f890a23b96b1d9135801e7fe85a3d3e3f40415de7b93ca1d1cf2cea154eacc96923a49d58e34de9514faf96c49a28d1f07df3a773491ac421cb568c211f237fba61bb42267c72ead34b809437e636f374432251720cee8e20d1aedcf174adee140e6f4ea7d309c71843a63a282c39f8a22b0756e4e5a034d8575df55f857af892c32fd740bd06786bc32fd3085f328db308f5aad5ab1410323894595ac921cd320fbf148e0dcadc54a5573ce030166599f777b800c082221037a499c6bda18db06b794f28cd95015e9d1bc2c8e1a7f3e9e4bea9a85735f8325fc9bc6fb2d22b1c7aa541691a12122d28009884240aa927fbfc00cd20d714ea9515fa01d28935469a26021de9154fac199a1a95f669126b224dd76a0c4ad39470a6aac1ec48c6d3ab189a1b1c962acbc98d15c1c0316153ba56155fd84181d2a00dbeb00bea82eef3855d8d1add93ae753b17cea441619c791c7e39ec5a3839e631b82474fa0997a234987a0a975c0dd2d774f5ea3463de5d93ce49eea772f0d59d4983d99ea96a1fa0497383838383c3e32f3db9837872d5c9271c561c140ea995aed556a664f520d24c9da9fae9d5f469b09b66fe4c555f899497277c49c83a43984da893dc3247570e1439c482601cc64f18c653d8f6c0f89bf8c22e751d70d839f5181c291d1e739520925fa45ebcad4c9aae95ba954ecda0ae871e2e3137049b041dee093a3940403e7aecd8b01b3b47803422bb116d4456e6cb774b64f1063e9e036f0e13b99debe1f5691ade2ee52637698f6d2e3b3d1cd88b8f539c58d3d96a2fed0a4942d328369310423b10693a883e4147902b4d41aeb793668956d5631cb62bd7ee20b9938490207c1892572a0d822fb66554e15723471a3fa448e891b63d6f917c49728d740986c4b38010376f9739e6e178f1ed82f26a39e4b57ff6c416cb3488cf719d6c6d8e628c81294e83394fbe9763c72f3237660c4983f5c56d5a0978997df4aa2711111111d18b8f042840b3d65eb3d6daf8596b4fadb5f6d6d61cd134ed9ca609090955224dd3c2edf4da57d2e1390c4007bbc3c6172f348d6ad66af846839574871aac558aac422d54bbadf21292524fef0e7b4dc82b0999c32bf8133d42792812daa24972a03814a7af66ed9520658b6d88ecb51d16dfc89204bd5e5c773b7634584b97e600519c49335f5ca9a33814e726f8b2c33ca612557be9e2f5b528d6e06039984e63467a05f37aec46a0d78e1b42e6ebc522fbfa3469f0a7555788bd4b0c79bd920829ce2b6b423f0aa5e14a24245489ecef2b91f47cd86ba3c18b673458690ed5b11a116a23b29688e2c03cac44310f290e19a810bd88a8bcacc5e1e8dbedebf5222222228a2e22228a43717ccceae1d076d886d6edd36c860f8443abbe40842a5949f6cfd29c71a6c189954c2f01676558e72c0c83ad9ab3f58536f27c189570805813c790e767cf90d1e0fc0f3e5f3f9c794d245c94b92181066bf5d18125a80b25debb654b6f89062b0322cbbb92255ab561213939f2c8915408e49229a9080d499f09652eb951caac3bebed084fae5527d773dbc5de1527a75e1aa9973bdbad1025d71f814417c17d12e855687fd48e6edcec55cc9b3c6d8fdb63b6c1ec763f692493a8aac741aed77a90eb2d86e59218a382e0eb252f1e2cab3c59966118568f558c27d30c87b227cbb20ccb97a472ca6a8655d91355f23ef607880c29282257cf812f3131a66f787d0d9ae0777b030d367c5108ca4f8e424800ca422e58c2cd66ca1e5e5f385f37ae56d5d7b778cc4ba887df948e2fc0872ff8281c7e3297f4f5b30a8da20f55e9e5459d5e1df2a71cf2a8a37028abd7e326df64f9db4c9b1bd266d2c8a842a18e42a1a4b499343bfc2eff1e27e93b5c19555205de163786097115f3faf984b82abd7e4a21ae645e3fab30b130b710572faf9f5e883420ce61f2d87da61798cb8059f6759fe905e632e0574b5f833a7cde156bda769fe905e6329ac662bbcff40273199617e7bae38f7a952f3ef342e6c58b17c797f102674066191ca2721c4b00f598cb1913a8fee53f3727a5bf0c031ca37e3cc40bea31f24e20140e8f7f343867912f0469118a671a9c21f302bf1c757f44b087d7d7793ae44d8be4684ef3f4ea2df08c986b2382f2a56b134179997b2382f22fee8e08cae3db2382f22fd74704e5c1fb23aae45177a641d4290a7f5e8f9b8c4261190d525af3812fa4d5b505293c3cae2dd4cfe8da42944ea270a024fea2ac7476fc693e0e89e4d8e28632b7f88b0ec8d2630c6d2e955e72e9bf9fc9b79d2de1f0e8da02952f49586da6aadee525528b571caea9411d8eaf12f0a51b7385c8fc1263b691af2ef8c307310ac7068fc23ac8d2d760a5f25602fe4c6bbfefe5a5fee8706134e8049eeca227bbb8fcc92e2eefef2f6bd0d7e358235f8f435ce1579b59be9a3f7cc92c8f91268b2ad4598eef8c20aa07d47f51575dd44152465d7646dd76b10ffe43a15047ddf6ea47e12028d451a87bf99f7bcf0d371c9f8725dfe5a9b723e6cccbf18731a7e746a4e98408d6dbcc28cc3144a1d98579853c9b305d3ffd8b3f735126f9a20b0b4db2fc3367aa39e490430e580ef22a01afc36dfac50b8a4359cfb5882f5efc7488bfc0a13cea4150c7a696ead360ad4b64ed6939057ad202a8f680a7e99d066feb641d0a85facb955af8c9a8ff9ccb744d1a6bbfcfa5e3f9c5f6e2f439dca6b997e99aae19650a1dc70651380334a3ae0429a3f0a53704eac71940611356a5573a3c6c9efad3ab1f254d465e5e5c3e9023486cf0c585c83ca3e09a26be70baa6eb050e6d76a97185fa0e8faa87b7f220823be0fa832810a99630942b588b205453771063d4c71af547f6f083bab5b2487754ce6b9af882bc34686ab00a91f94683957bf940eed7d717a7f9050e99c8f43adc1c6ee73458936497faa3ee8e09f4f2fa72191cda4c710d083e79d45f7b30f69d740f734399611ebd1c593eae3f0dd69e89030e6d2e1dd71ef9fbaefed49ffbfafaa457b2c563b7b8420dd65e49982ce50fcc97c0c1c1c9c93888bc8743fe4c9a4f55bdfd8e51387c99ae06ebc373150872081777f19f5e9d5e5f9d54a0581379b8b80c478fb9cd84717169485f6ef8b9b4b8e117c2986ed8b1b8e10bcbb54096c3d31cd61f530eeb4f68c26e48ebbf11f6ae8c19f9fa69b8f62a6630dbc1a18370016744a650b26b084eb2e41edec8f4b1270e7764fad8e112992691a94da6c782cc50423b5622b6212b213da4c7bc639e9702c227e5c98e6e91be188b30428a95d01e36d6dd27ceeaeedd22de4b3eb4dfd086d4e61855616325b26b5886ed6e91eedf4ba37bde2318c1fe7747efae1747a3131961262198e70c856096de0db787c3c70724cbbb87c3c7083731fa901bd6e841846099c34a8caebd7d8c9a1842a40d3fb8c218d2c0862b6d608d5ee48635c245ba7bf836b4c9b6bb4424ab89d8061609ebdcc01a9d5e2532ac64848be89c556474ef458858264646e00416919ee2ca1374581ee944ba7b1e6e824837a4fbe836aafa24ac7396878b787f89aa7e89a55462c13a67957091117ee2edfd8b324270f4ef444a27bd0891d1e824dc049112d6396b848b3c31c31afdc33a67917091ee3b1a94de85001444531573772100c56baa62067b750336283fd323676080323b6c1aa432e2650a8a992bf61169228db4871021594e4eea0919e509945eb95a4e2492481bd4b46759cce9d58d905edd64faec26216489214099ea883247a7579a1129995eeeb88a9083656ca7df0eeca341c9f586436b1bd44ef53163323a1f7dcd3258a5512527cc9025e2688c70c3196890e0a208337a6808c145d00d53d03c49e204063ee8410f13d230450b127c42100514544072a5a6a167a413b8183b5f7cccba678c31bb4a296a5542e68ff2a0afdd2da512b879570f9064ecf4b44e8f4715624e1c64e2cf1ba29fd547ec149f8478864f3c68903cbf2844cb1cbd212c8f8abb9b2a5b28c37ed86b7d8b5d84f5f22d3d21302c443f48c5d44a28b839dbf55306d9dd73ca2ef49c93d2b65730c1175d561c71fd3cc9618eae9f2859fea5d68a61b4c5928a61589655971c5d3f26c0b22cb316c3a10c99b556d3b28dc86a9ab66d16cb82b66d1bc7692cae8de3b8aedb4641e0baaef33c8efaa0f33c6f34ea4a4cbc6e74831046a41b8440f25c5624e146ddbc56e88c2c699452434ba6d639290e8a1ac3d4ae055f6823d325d8bcbcb87a60c56504a24ccad115b49387f043c5e2408a9d9e0eb9a3860cd36aadb5e925f268763779d48d6ed7bdf3b4ccc3e161eb69739ebbda3939849d38469dfcc13fe47c31633163fd7a5b95096a90b901121c40c9d17583251d821c5d377092b9e8e1706186ef0646727455d12487fd832c1f8790a3ab8a27797a385c7ce1eba348c09343d9ea9e06e55d58f9642bcbe76e1c1b68caec2929a594524a8dc0b93003195c84e18b0d361115540ebeb80422fce4b0a7641db56fa49443e062aa0a56a0424aca4739254a942041126538242817fbd4868e237a3eda1d6d9a1c26393cb27889050b16b7e9b0bb3cd7cdce1b75e73ea53c3792d393f22796d3065926cb598a48a1ec915a535ecd9179ce9bdef4bc897fcfe1ed9d371c12c91bbe4564d9e5f1b72b8feff1ef96dd2c4322097a040b3eefdafd76eeca8b2fef71f80f4e7cf7323f627bbd97b9db6570d824deee4f9b9477c33cea8ecd7eb3f75097dee5cb49d7e5df6d7198dbf2d335bdbb92763037fb0806469ba3731c3747dc68ce476f04a3719f1cc78d2e37f272dca0c3c56b479237cc2eb7ed1ef5be1bb3473dd239f9913c7aaac97fa7df777ae5bf4929fd47f270b8207938624ebd238ee895770f47a2dcdd98bf7b7a7661de9e8ed3bfb7a703e614e619953067b977595cbba599dd66a2ae769b19739590f9a4dbddef9a2e8c0c7861dc70673458ff726d1aac77b9371aac6f715b6e8f1f0d2ac9e12c39dc88a6c9e13597a2f67d965e068421a79453ca39a70ca4c1a894cb166c6339ea941a9111040000b314003028140a078442b158341c888aae7714000d93a84e62481608b320074214a49042861843800008080000901044000feaffd9f5f9084bfb2461ce2fe1f7fe262cf35218cac9bdc98d89de13ae70b3f0399d0c766df4b340d27591256eb99cd806058c35c702ffcad26475c482dde5971203f24c84e7135820a71edd4df573a23cd51e4524ad263ce723145a624f7e81aab992c8b8a6d49ec2b9d37c772226858ed61e0378b90d6832064d2225d7985769f202223f09ce080d194e006a5141f7cae08120fc8e276a335fda01f6acc9a1c627fa1fc0e3c530a07e60c605114e50191838513b01860e2633364400dca66ba4f0b4d7daa0799a988d4aecc6b60949a648e4e7b2dcec83d880b62035438c0f6737b8261acd91ac24072a407a93c1f6dd4ae29620d014220b6cde2a2aedc080f74ed3035c86588f8a4767f7709a4e2c27fce0da22b0a07a0380981002c013e4ffebdac58243ce280675ad7169aecc6a75cfc68473e9401493c4ff4a390f42eaf384ba2eeffa48b059a2120e9a98d4e110b38c98ab3f1ef37cabbc81cdf57c73f364eb4ab4d541a6338f7e5c4b8961cdd2921d36b60d910ad93eeaddaa7e2a1de999264ed9568b48ad621a0fce95e65511cca66e3c929ab73fe1b91d6ddd491e57423e4446c5314b44a95eafc9b73b6183ff8f70bb7f032c009628d24aa49a980b370da9e40875dd2cafcbc1c77c64b3a5fe2a25ad1c9dc54b218dd4df1414d514adb1cc95c86a203592872b2aa820c1175543751902972607926c0a46d41560be044d474565b3fc9b2facad6c879e41dca5dcd0d698cd549f2e73865627e78c0a1218b7f44a085760c444eee0ca43f6fbadf9af991e298e26340313868f5f4df6faa5e287eec7e5a510ecf85d99f0f555b07a3afc529bf7ac96f47db68a5477e21527e0af298bddf93dd26e49555daaa323d8cd7e499c1e25c19b56f2f4838836c9dc82be6999e1b3e6a5884d9a4e8d04b976ee0d7e1fae8a28443dc585eaa4c763dea084efa4c2e6288773054a2fc319f328030c723d2dc3f88b8e250560babd030466591c60a49a600e64e84d85c38f8dc0c25ce766b01cb08c8cff9b7a2c16dbf42e1774e7d4b9f4b1ba2383842bc7d02e5d239731ed2ce03dc0030c452d6b01a43b159be5fe4870ce07f50bf35349855c77ac47327b94636cefde32058b8e1a139696dd2daa7f4b8e98105960968117063d385ee1a21aeaa27d81f3ca84e39dcdf766d134171ed68ca2b250258b967137ea0479f4efd99df1cd063d67564656cbcc65e6915c7d735a189963322145ddca7c7ae8a3f0701456d6fc2dd06265621f647f81324903d2e001436c8093ebefa082f52472570d2abda95e04880bb0cc5274a01a94a9e356ad2c7c96092bfa87930541717d0595bdc926763752b662bed2b145ea89b8315526384e622683a57de85e76642bff10112160f1623298bd4792ab9c1665f52d739d0f2ce081ca66c4c660450698ef932789cca80847295ce9a601e910958b34524ac101b2c3ec612770bed8d101ddc48b69fe30b510e6293a83efd473421fcbf50d2121c9015245468dc7ed35561ffd92a006c47102cbf14878d78ae304040e1ac7ec30800fd6daa1e070ecf7fb7f31879c673aec7b0a198054367ee647690acdc90d0d83ff6d8bcc95f3299218398bc56ad8cd51384fdf6a6a0b4735fa8c9e09d2c187e702898906c4b089c4b3ba9e2ba98ff8b83ced3250e4019633de12626dbc3c7d68c0c5fe83c67024cdf5a549cd9c6a7bceaffc443ebf6ee85c6a47a76a8add8c774dd80a9d0959b32060868df32f613f40570b14e34f8ffd371094c10e5fea87ff16285e7d5870231cff143883def1bcc9db393c7a0513bfe2a0851e4d9866c95765241055ba94583b6fcece7e5a1a1c196e6e24dcb904a9a47338ae57d864ea125eed9d6d91577983b8d40df645a6da5a6bf84f06a1e199bacf7b1c0129c33c778f49aadb5c347b63c086132b2ac7b53f97215c5112ad1247de8e645c27a5f08c2b5d23d366549d8c3e46bf9e77ef197da41f32df54d1a0ba32a16c28b6471f5c4bc2a4ec5f6fe4c8161fe8a9078514129ed515edada469e707c6613420eb7760fc08d103eeea6fcb954f66afa93b96ee9e4e46f857a069c487b4f35b167eba596f8ff6a56fac174d3d9cb9f1d102dda330dfa20d436aa4f73ad3681bcab2484dfdf7344ce66d65d2ce84796fc86e3a4e15d2edccaae9e56d12e3aa9e4e5555840258a45006e063e8841a8390ca116858af6bcd80061b9dc491f27011d780192c61e3aeccd795e32e75da60dd6a0e787bf4080ee17912534ebe51562c2427cd1355ca8a0cd30f317425dabbbfe09778407f6ce35ecb5412b3881c39b7a87190e34554239b9c58d650c23dfed899984f30707150d5dfa9afc05575fe53e184229c48d52cdc40623e6c3520152082fecae07d549dd751296bf93bbb3075eb4fdd65a382142e6413282a6ed6e8ad199591bb70a20b197c9fd3f9b510d5ac40e8075dd8b94347980ac1ed77a0d82c2dffa228f4d4f913449cf7b28b9416de218e462457c493b8ca15a71695dcdaa18f5578c427980647b20c53ea507f8dc1e5da7236d9d21d516543da98e713c7eac59380d85a2cb9899dd43d69c7dcbbd221ce5a1d5e3751cdbe41ece4811d5726c2319b8cc0574d7d6d49e46916d3692c0139a8237acb88710a9673dbb8263bf9806613370562c840e849322613d1cc905b4bf3e5f6105a91f6765661798647f41d66ff4b876a09f73ed5384d4d0ae2eddc9822cff2cee389bcade0565c41bfc66f9f3bbd00874ca93174075e939fcec10515652961946e9afa9ee49088d19d8195e29a105d1c2c0303a13dbfe2e86f4cda8863b463b9b5d047557352697eff34501a1a193b1247c5abd4e8aa2dc5ee8af3818de2ef1897b6cdb95bf93f01ad00ecba8d14d09d1fe738a9da2ad71ae61205acc0531bbc31a130623f02d5841c1ca926db610261a09472589610f9c0900ccc86a82fa34fb160028034dc3dcaa563601c22b3d2492070f721c4457ee35026ac519ec91a120f94c9a4945a84674ff7671d7fc095ac2f43b42f3d14e55f7d070ad4ca8b60d7850462e2c0d161cee76eda6c7b066cc4aaa1fc443a96da4a3a3cdda8e611a3255c61275e531eb21e493c6e87a9a97aa2ca6aa2ef4d876d0cb723e542448a4ef5b1e2ec26018aab57b46aa826735cf03d16cdabdff274b95766c76bf534141d2f0c5c659a9d96d223c96e17131cf684ed5f15e4a33c60087410cbd66ee6e3190a3b31042e0f8ac22397122fcf7cbbb8ef58e10d35f95fa6c93bcc37a159cf5527733a646cb2033f4f86663c99520ae9015af73143f0e843bdafe1c493f480e95c269cd3e49f2e3b2fef5ed65512d9b1a0162b71b6b3c76649cb3de02e4c4852bd8d464b17ddff9b12449ee088877c2f2a551e0dc8555b16ca8bc283888ba57aadbb63d513fd86784ccc4ac06eb1addbadd74a65725f3b22de6e8df65e37062731d6deb6cd352399b27197318f64b01fb8d6b585a1622f93b7ad8da5a798175d372088cf4fc1f7ab239be972ead7aa8a7dbe5572008f4da1c40c5c37df89da58b5ae1f9ecdc05c4dad16778515480ba21f450a0fd8f7757592557f425cbbe5a2b33739df41478de9b0ad548d3746077c5f91699b38e9bea660c763bc006b32b0a63365e41cf324c1b4d4e45ac2a129f1bff4668195d01e00061904e32a872090b1a9c7df0a708888cd3e7d33008da5f14e7f69f58773fd4a9c0235eeab696273f66ed91bee4f656008217c997e8f90227472443e94421f4587625e80ad795b987ed4f2017ccf7908f3c5522d04fd25659fcb221c0ba276e11b2850764040c947709c905b927ec6dfc4b2c28e3675e54616a4a4a4e45de6b44e5105046a2b159c6d3b0ee6006877df6f1435735d86f5e21d12d59bb049de3d0b8be03bf9d870112875520fbb18c7fa814ee61fb3eed00b5f4251451255b536476c76404c6fa2af6b9621361f152d310d82ba78a87f68d943c49e4923dc1cb3a00375f144db2de9588e0d209eca7f0651e7f533c3fa8048509c019022c6c457911432b9173409b54649f6e221c7629b872f2b899f49640a996806f2817346dc09538ac8294d06daa4c7163fc236b1a504dc9c0558e88da1bb1f43efbc9638dadae58ad635a7c5a2472021e310aebc6d2a28043e99ceff0704d171134588fda3803b1f872cf54fc7161daa38e3d78d56f27c24a481b35034d98e3ac068eb865d147cea3a7df0b4a9e84b4ed29ea738b66594e0fc52dc8558f08362aeed1c0113929103c66ce1980eb0a66d95c917558580cfe76e4d04925905444f7ff0349a0d5fe0bbe0442345bcc16312d9f1649dcc1afdd66026b103f7769db661e11dbcfae66d313566cf569702133c94121a586fafcf60b81e14d792e551e9a7cdc2fd5b0f0b7b9fd8d0032e38514f0ce743b8cd030c2f249bc024588b7156ba95811a60bbe59583d4c3db05ebbab4cb8c7c966a8c9a9720ffda8b3d630a0f13538ed65de883b94c14d9be7161c9f31b59485a14ce894e4125419cd5d78ed0484a6c7f9a0ef752968d738da1ab67485c568914caf8327fe48eb05057492ae77c415d1295bf2d80c5d877ae7b1f68a796b777c21062a5c2f2d66879500192e3f69081e807b454b74bb3afc509e99ff49210e3593f575ae340967ada2196102c0af3d093f355987f3d0f6cc1d5ae0faa2c8f6ab7988764dde169438a6b290d97efe6a8a873e01b25350e7691272ff30d7efb1e04bbe3739a0653dbce8d681c2e61b8a46a8c4298786857a642875b35e81cbab45eafededd28cc88d43a46bb38cb98c379858802446ba90a8211a82a0f6c45699b19fa8198be4449578a9cd6f65188e414aba5145801650b642132622bf24c9e9aa43ca1ae57e0ab93cb2993e749fbf4832c5440e218388af322905fc29f83a267a96d404dd9840514a66a71dc8b997af1addabe8a50ae44e487dbb3bebe47c0afc482d37df939a3e8b91ea80e987f7b246e8ca7a81c33054138fbc013891ec51c9bacb86dcf5a1e7aab2e3938e214ea4ee8a945ef756822e273ccd0cf9d3b25efddc2e0137e3a5eda70597d3f978e22c76299e3cc8fca707d490fd5694735398ba29d69fdfe7c97f561db379c7f0c8947ce9f48e5fad51ceee04fd01cc0f036114252506e3b77f9f013f48392d21a10e9cb98fd23c5e67cf0409500a56428e63609bb54d73789a220e7e12ee92bd2ad5b068fd6e9a143f093bc111c412045ff35282fa8a3a5351aa0d6d96a44841ba863d5882d058944b72816898089d0354ac05f4ee094cae1d077cf804c90e68fa4df06d1771a66fea3131d72a0f57b0c77105e6a613307b5c77be73ad43dfaaf037178e40c25b67d6876488ec83e5dbd07c75fa3ac763d6c9182dd830dc8d257d5d4166242c59fe72a28e2926a0f7519b25a96ed8b6c889a5f42278611bfc9583bb497e136e28445d1d81be8c43f9f556c3daea5f5abd3a519d928d01616108e4b4bd942ba057ecd022ba3d46afa8b4139da5bfea64e85bbb5e9c3e81213fe17156feac0d2b6ffe617c159a611e7fe7b122fead5928cdf07f26b86e006f91d17505cd937d0c21603a3cca8d1a0b39581835b03e7a3c52203d3d78325a3fe4c36f4d7ef788e03d767e6784e0dd7ffa8dcaf384910890b2e9440bb9a5e7a2ca5b7bc18ff9e325c1ccd92709a7b7c819bd85867954620590628e1eb78353c19d9fb545a09db2549b57025f12b6a33edbb33210d65c52b3001a878f175811288f9c4efaadd829381af5a7f1568d84cb5af893cb4ef866d5c8ea68f6b9a9811003bd3a9c3d8ef6bb26345ff49b71dd9bfe585370cb59c6a6cb9f80cad0291c9f833a1f616dc2255d4f920f0e2968006fae28e054967418df8b957862b51662251ae66492062e8b9da2122a174c5476adc4435edc80711a5ff3bdb4d76478af0563d21c76dd8de66d52a5c66d92dce74438a950f51e1e812d82243f35df212aef45a98a533278be7e98fa51b4d887cda465d25d52230de989938a3c31242ae5245d9ad07b7d14a4c2e02efc327bcff5b4c78cad93b6cef3cb2730d208eb038adee599b368a0f3cabc8081ff7b703ed5ce1601e78a04571534b72658ec53e0c70ddbbe1966ec8f05a8fe62e8c87b7ed0a66c475f4d250d0c9ea2ebe962c57b00a2d17ef68f8c6e030fdc5d9e5418a231af9ec1f1a1a34c5c32669c80f6346b0c0f4db71205762101d95a991545f859f8414f8dd0e04e50b289c84fd69e8a976015acc3025ce11eeb6ed62921b3f097fa3c3247698aa40c65b8fe503f86857d9a0fa822d213567a16065bd2d1c44e6c9b125f696dceaffcb35d39a51b8da777bf908b37669148de77516fba02843cbb19bf460f2403448bbe7b645f314ce9526b45bd90273fcfd698c2661b2e49b5ca178b69556be9752a7a40cff4fa064a65b407c4450ef688928278c656c770c00c7b425c09e2897ca41e3a1aefe9e52f88ef7d19c430c5ae66224c2473283d77bfddec572556a9f83b9b21d402ad9da0a5aec7e053a06d86d370af904c8640f659e7c6f82ed027cc5d65269cd3832190ba34dea7402f21ee22b396d8a86949b171f1fb0088d3e0616ed7201cba8c2e2ffa775dfa1aeda340df50779199864db88286c0056f21d13599570bf76904df023d84dcb54c3a6dc11d34022d74978cae64a6610beea02750c15b48744166ad3670073a8115b8214d17326db0813bd00bace01d19ba9099c666b881ce4005ee91d06599766cc00568045a708b045dcd4813b68d811b6525c6251717d85750402be54d0ccd5e71c028e60e36b06f98dcd5f3e4f0c73dfadefdd5061e279c6bbf2026469f1e2e0ea5ed251462aa5e69726e8cc285d2519f016eb36f8befa6d865df91feb55d4158bfd24ed1a62093aa6a6d6234bb4dd97f4dff6e794ce1e412eabe84c6c0f13ffa0ae83dbe26b7715c622f4841986511f683b3a21c380640c22458aa8fde2bd608f241754a772871d16c0f0357552108aef56b5df34ad432286abcdb3dd5ed44bb4b033c323e2198a20042d407371c8805840061a3b26f7d7d6a77fdef4d7c65ea1a4cb733510b366fa98a8680ae56eac47bdabd93a09d898c1c93014620ec21c856af4eca04f629446db2fd5305fab9b45dc5bc34e7cbc6f98edaa53c519048a10d03ec35d28039b4f3ca82e767bae000ec28c0728014790ff67d78001def07f627e663f686fd4faa9936ee56b5d6c5b62c1ffbe09ccfbfdf2e8490e0d3a62d72ce99dbb14f174d1601288b779d0da14ebb7f8281e9366a0c4aa7e0db9d8e0bbf0d6f070fac15d455270646c9ff4012e321d92480163a9b6d26333d0126525d83211b1464e013e1b5ad2bb1178a773d51a1a69a53e68012084c5d66a97065cf8c058a0faf8253cfbcdc07ecf97a6490b7ddd4db260af9225b03de538a42a74e15662c051a3949dd2b551f1ea66ade9006ec71683cefd0a0f669f357bcf610c3a5e45cd3b06125681d3edf621feec2690aa2bb0f30e84d1b7d2163e4db83b7a7fe25a7d3df3b1e9afc54a8f33381f52eb8d34293ef0c1718400b1c52d07616492c0159bde291097fbe5c3d9b7e42d5f68893fe140f29c2eaf38013100135fc366801ec53983fdc1a07577b3b319be1aad23db37b8766c080c9a181d4112cda0b645f6ac53dd73270be70efdb6c828afdc10905bd9f6214b03d8dcca6a434b005caeabd0e0432cbc11077c915d8e0282ed4b7e5978a6185eaa3cd041e83dfeb100959bf1032793c2c70956dbc2f0486acef308d68c2b1dbf932514bbe3662e053e17c907e62c4dcd0560a4f998510405940cf6b93be1024a239d0bac76cab8d3433b3816f1f353717043cacba85107e1bc3fda46bcfc25250f82f6f49e7a2e5819189ee903be3b668e2ecb2571ba63621080c4d48a7217d252a21c052081c61994a88071546b0ab909c41cd9210e0530aebdd3e7b513ecffd818470c4bcf697a1f67ddae80a9a8bf076b63f81e55c64bc46471209f91bb286c770c869e5a77a6371999199c2ca70696acefd80abcee5809652843da8e60ac09bf919b59f0e9ceeee254a34d9da43f7983476b185248d04face6581c8ec72296a51a90bcc0dd7102270367aa667b235f10e557fbe7715efcf5bb033a7e58f41f6bc9baf9ae1e61bbf4a5c4cae45da3017e24ed9dcf8b765b7e5e59e76fdec2a9ed93504c553d138eb7e5f6f26b2cef3f3e07b50de589f6ca98d0dfbaf533955c94772a8af550845761656c52e1a1e636755dc5a3758955711c02c09c94f954a91cae973789fc4943e9df8b08be892dce4beb57977241edaecbdfa76476707b99b3a98a3b0114dbebb97ac780d8532f30851418bc9a4de7ede8732ce1947d0dc7b3a4437a6660bd77e3818a5a3dcad6108d54a9e3a8cea3e8e6ffa08046efa5625730b5847c7c9bd2cda1f40c3507816d7280ae818467a98c38e257bd2bac0403167ff992678b9d09c492384c45c278f9f35b063429b6f72cc64e84d619023e3d103fb45be0cdd28d9e5aa1109512967763d9cee158d557c9c89581860b9a5b9249ae05c99296039a7f4d531b62dc2998ceb02c2fa5553d4de5f3aa8d8e7e0ac5f48ad383fd24eac06b14da72a032e76b193669a116231556e00b525444f19fc7ebc2e6bf898574681866f1aa590646d9e13cbcedb7374c88a59defaeb40502bfe04b6fb09e1dccf9ea7c393c93ae696ee8d3af4d7a5a5f8c6029ab5e3fd4cfde862b834b745d14d6aa0c5c0308fc8eee93b1f9b04007577ab2d6385dbfe5b801a2b8f5acc0f32003f8b2c44370b10b022af5eb2030a503b17b39d9b8028ad122e01049051c6398abb99c0960a27b781c759aefe0747417fcad214c23f79d868465a65357605d2afeaa60e1191d6c495091a6968383505d6368c9591912a4c5fab6d1adf1d3d0f3370080cb9bf9f2e904a0811afd54f743014043ef53318c40d7d12f25e6140fc4ce5b0f3a9e0ca3fa3a083d1b72c5e286c147094d1371c277c5772a37214887d064afc43eb4804f76d63ba8c16ea9152bb9ada460255e773b9f7f2175ccf67978858db9a52cc7e32ad90954da436496a4095d24f9c04f910335962556239f9aac529c738b5667c15490e69f495a45d05660059af949f89838a278115c75a5d7472ab0804178c91ee43deef5dd987a0454157b4c3973d26874d384611709899cf95789ed228c38919334bc9f7ef51f21a55894a66b4ad0e78cda9e953457f19737e08298e27c87c8215d8e3cf12401db2a14d44bba4605c1a933a4858ca33460c7a6c96c4045038c4d94afa084a99a42d52fc648c61d27e3211b5d6d66c26bbc3451d14b8501c52a1b7cda6e636140282b0408b20e05782fab70b411334a59f2c508d20d5e5bbb3be1ec709b3bb860e744683e5f6368023991a326b355f89675d4d50549e68966600ae96e6b3e0f3cfa5528a13d53892b95cd15d3ab75f78df9fed0d0e962037f95226fd958ae555ee414c92d41d84f7ccbfaa54c7476686ecd664883f28f9fba58fe88dff6a586a6f318b20a0dc1472d0a1864b921eb1bbb61035607ad2c0993f42b00ce526064a0f03a19e590fbe5abf3258c7965e813fa24fd189a4397c3fe40f2718b259e72a9d8c8d2225d7c95fe1ef7bfe2559322f66286eb315231e9228784cad07b77788db79b68a40ed26ca2a0d96d5696c0e49ca9799b62889068fa92066bb20123ccc3342a73b0dc946e1c0fb862868c492dd0dd3247fb8a28410a37019c929c33667f7dc3c7f840dff7b43d21a85986e3a9f0b93e70ff4791415a6a183c6aba2ad17f134460f14d90b85e475f4793f31a6cb53f178a9862f2c81654ffe91ee11c5869fb0c12d25e2d02a399029347f452d6cac10572d175e83238d999738342491ac37e0f780f6131ce01279201f515bcf25e7893edce056baca80786a0bc328dd76f9f782fe7200295cd88e5775009ef8ae469110b9253ab35d6dc757896fb9e514714162e0338928604a4a72cc14662f51642ee210defd032774ffd8fc42124427269808c953521da27cab4598c4352afe78a67c94fb242871ab4e8cbc04c2179ed3e0ffb1238c38d1f74deb1294ec1f902a6f4b585678b568ca7fee652ce2b752c838dd636c5ced794529d8af4adaff4614e931289e104af5621981be002250a12335ec87a41736a52f7e7a30bf1b67445948b3d7c4670e5fea2b317e71804f0179c538acb98b4362124e57f10d19a8240e59c8da12b0e49c45cd2e4a26f6d617f104254b208a40e874a41cc1f2303f6d224599855aef64f925653e87adc7550711e252427c96fe5731c0c91e47b97445412626e17483980180980c3056e1d923436c6363839fafca4ba5a5291b798c2813237d83de2ffe15069688e0d6761b2d455844f5f3254fad6241b8e4bbbf7d1a6230162fa475c3312469bc866542d424c688a85e19d573cb381cddb7c775b2fee83f92a5779371e72da3406e54f8edc38ee01db0af975f50381b0b004c8b8af41aaff9c81a7f433b8b4d3dd523d6af3fcd83dd581f2295b293ec7fe7232304b2db0497db0c81de730df4a00f17643e7ac8733227ee35f9043b601d71714e39cd4b2e8f79660440dcdbcd7527200d8852d050444ef362befea0cabcaf688d4eef852be0946c45adb2fac7e3fbf962d0b7a4311707874c1262dfc68368d38d7d2400f0ee091808e0c86a25396da25155418c0e7cf12cda651961460b32336d9b40c31a74337130bea1459ba3d5859353fa351aa2e85d0b6c35b01cfe21c597c92236d8988a61a52092e1e496deac9cb86b680509b4b43a707e8179ec261da3b355e756994035cdae332fc2d821d00751bef2acb83907a8a96a5d76e705b093e1985ecac14041e1da6dce44bfdc1e52de61ce8de0b0af97493f1c02e891a317820dce06c6cef9246356d994061f9ca7aab35ade8d553dfde5753688a00c5d553100698dff1901975c3fe005b33cca6d626156c7aeb8679e12c498d566eb796aa563a18a6dc8174ce619ae70096d4c80d5bb14e38725467198604960b7bb32a1fd88885c57c6da41e1e6cdde3a4ced1bc49ccfbad624e64c2763e44e350788e1305452a25752f1ae47a90cbd1075da69193f60804e644a03dbe33749ecd3816abe852ea92ac8ec4addec4f6393fb0e1abf9703c25b9a4f4a8690a1d18a49f4b4526a1823236fb9f1800bef2bb292f823e4db4ff3a276bdc5403ed91b584921a0ee9365dc1628d98dd2257d4df24a366fba417ab0089e52e4206445e350c91d0d96d1d7673fffd18e4788e95205eb53e037c9696201a5b114f0d77efd7b41e3ce4546c58066591ad99ed99221cdc9c0e636c9d24fc6d5ca0658f47d191a0444471193553a6a3d877f13cfcaecb4370137b2d464c44f536a420e1e8c64aa6aca7e638d96980841d3723c9e6281d5bb2697561e2df94f906e2c2d0f7bbc325d1cfcc24fe370b7206801481433716c91754acafdfc0a815e71d4894338e6c990016b02bba3dbbad8d39c5ccb11666d75069569e0818ee5639db3aaa4e0a7aa64669d42a2c40a58d9469623db994cf75a7f0143e5c2cf014e2dff3046124b17ca5d34c06f53a8f6ec1878226f0ea47d0d0f2b84f0b0404040ded16a5c8849cb142cff91b9516e81f7dd3e200d3d918818bc9b49d0a52114cbdc008aae65313bf2dc801fb80e4c1e36443930c67266a681e856a06c08da20fc40b8893d072e8bf7ca6970fdc543ffb8fbb5ca89ccd9225c6bcc73518eae1cfbe546cd63aa4cd287b52e5642d15d622fde21491049dfb861106a021daff043e774a7e22375c4d6ad075638dcd5e43175865937345682d0db27180be2b5a34e21cbb121e94e49f01fcde1dc5cab4f35f37d8c5935fe95af0b957a649d45ab9e58ad70b8abf19812925979d533c4ba7883e443231de02ea0592b3c35d05df7543c6a9dd05a0fbf02a21ab5803ed076b1720ffebebc15871c3db1199284ec48d43674f83b3d0d889d905bac5bd48a7c8774320878d57cda9901d93d9c91ec5ef9dfc900ba5e7c978ba69a617739636d67036e79abb6e34a108c021dc5fda7a0154fc2f05601005c6d4ae49dda607d98467f90321ca97c5568f3ca3ca494925ea5353d43e63ceface41bd53ec28ea841564b849abbf34b357d42a606ce456a8889e581fc08e58ec3cde66e61e8a940c2d6e1267497df0ecbc117ffdae3f3f9ed5b23f7d369f661071249e09f54d8db2ad07b9da5e83d2b67226d78346296ef5f61092309889c0ea26dcc1b08165e93dba088c94acf9325e66a07eec78fea2232fd6fcd588fd39a4c6a9fcc906593d3580045f8af2ea10299273bb190d44701cd2206e0be07a92f19e6d1573f7e1a40637e262efed0dad0e2bd34e4038b2265a4b6b177d510717d5dc945fea7d580f9c5960f9baa7fa6fa73d96187834aaabf49a4969821b3d959f146888d0265e2ef75657cde0baca441949b448544721eddea78ac1d95efd2925c08dca097af906a26615287c97cde18ad6ce44cca68602c04e58d80c710ceba9b0cfd3160ebecf4c4d427ac909d6e189ef10cafc604446424fedd782790e708802dd633624ea4fa2cd383ddad40c184db0c6ed20d61dfff2a694a50efcb193facc00f9df2ea41a61ef06d8e31377c5e67f7986b36a91e02474418f8acf9e7bd7e4982b4d9adef79626c7dc28ce1f758483664b7f6fa84fc8d3f9bdacb7dfb0648e3ed004fb5a976cf7695c082868603873c5b8a4cdbb5186d7cbfe22afea89ae0cd23d3216d9288a93dbdb4f134f6d574f1db2d519431d5ea8cfa002ff5f9b83d12a5cd2a18a128803d569d6587432b752c3b72f026524b89277026182e69047322907066e187b45bd0657cf3f7dad359a49e56aae142eb5a8cd258e9467d5f81bf72a0a94c06c01fecc22f22a915759e00a298fce488b211a8dba98564b0327028ad373fe7b6b931bd6caac99522b099be28eeb7ca94f40b4782d0e8db3843774f659fe016a77110be65d30bb99f5fd13c3f6ea0539582bfb6af0b6e4491058232ac09638b4436b25c8b60cddf8e3c0eb5ced398a9cba4b3fde915a47458478f163b629832e541c3028128407dab892c351e00c010a8e25bce8402404946c6b120485aca21fe483e08c4833da8f8ff761ac2c0d4a8bcde529aacd72e7d5d0f0983884c9acc51e23076a1707709be5d729de81f64ba848592a3ba8cc280df3cba5449a63321db27e5e894e8557394bf6f00b5ed5427b926e4b8430d49cc6a4ef0c21d31388d71afff481bd6e8fdab60fe5bf9a7554a5d90c8e35d5fc4a19f711cc5d2517a72669ec8bef45fc2a24dc297e9db532e102841e0855abff6e874003d9d8ea1ce947f6453b5a218ae0a6108825f03624b5419711572c7a19b41f8aa4fd54f49a21b8ece6248c174c2a61b547aea8f1c474e61437db202fa262910022f24619ebab54e5c2728069f0dd5f4661c2990aaadc89ca09fd19da7be0e63cf74e7c922811869ceb96e0c5f384b5129ae16da093366d248c9fe949e0e2928b923ea1d7590a593e77d2685c78ae5bbe17efc69cfe970d34df00fbd6a8276a39403502706c9dc775605df39cd141b782019725aeea33c15d32d72be28e178dcc06b85e4dfc17a5a78b5c3268172409de78335f1fed00c2aebe34c056933d677c50ba13e52f8ceb85ff9050c9b3ec9355fbba954ccb7a01e23d9b498a983f26032fc44b26d68b06d73a4667ce45be03b52fd0d8b642a317003aeae83ee995255010e441d849af4861c2b70aa19af5db93194eb3e1ca81872428bc8930454051340249280d54ac2b8dea4110c4aa4ac8be9082728717484e8b8a915b1d48b19c8da199af83fbe2d00a200ca8b590d8edd3edb7ba2608bbe988d3b42bd16c2ec534b0f809619b564c67f3143991fd5d60374a10742ee89a528dbcaa28226b71a04c2b9927e21f22103940956648d0feef593f85d268f8d310e05cbc1bd53f7e5094bc0d2bc53e3cc247ac61fbf0b28449271ce78761178b49907fa401501173f666981c19f99fcc5aeeb76e008491bf5a54d92291864f60737f408fecc2bdb4d3f5dd02652aa3088fe08fcb98094c5580dff6af188721b12305f83a7c3c5121b7e8b40a62fa42b229a87e666daacb0d23e2b0334a04ddaa7e8ff05bbf4f0765247ac4c8c42c1cfd49e8d19487ac225811492859dfea9bcd62e094cffa0dc89b9d526c4b04285f03f0e6856e61a924d0fa2e0028a479be8cb5bf1670a2d7b3115e73390a7328c5248dc382c3b525435a1a83801358b37d93542f992cebd64269435d2f9f2ff8c8abb7213a9eb04ee137c4d1bb349d04af5b2402ad434712c028081410495b8c800072c7c3ca9381e2074b92e398cac096bd015037423bafd048707b69da765f68742cc3c0c9486f537db954e3ea86c3b666ed16a29492ab76bff89b35b32a29f8a2ed898ccdf1541c444c09b5c4d155d222f9c29bd9da2ae5f74f16de3ef73c4dacc86131fdf3afee4f3e770e9ac6c43b4110ccc500f7b49988aff05460ac6f6f81205307328b33d736de74f1da49e9c6bc2429b84759880e594f6b03084f4ea3d9f15b964768a3eb2b333c7e6540fe9f4bd5eaa83ce07d33bc1c533ce6a8cafbbea79c43a052b5d79ce9ec06d1606dd43f24eb26588367d0f651fa3011d7f00472793db659d1c5c9739a19104c166a8cc4a633bc374479a6415bf293c3b95fd98b629bb38e7aff56c5c88dabd372caf5d0103dc0a9994f72cdbb8aa89d670806f867fbac2f1de6cae8b820f18af19f54d1fa9fceb798c720715969ccbeb8720f08bd7a1ea9c0804d9dcb796c4ed696fefc7fc360d268d3a84687966e59ec68c6c1cd056d8a838e6f297f6244378718061593590f32a2097a94fd407e2ac675a61a2a58afd6632754210107ff333401eedaef7185411eeac1b33d1552088cd96f40ae84c47c68469991f94d162172a5376296443e420b1e822db1eb6c78f4df5eddceb5b0d214f56081f4ccba0c7b11fe22c3bff40e9ad0d9e1a9d2147f62e39dbad63779403920607a214dc08d2c80cca38555c1a6bb59ef35b3cd81345a10d5f01f6722f91c7e83d9cf87536e6b1c89eb4369f45656db37aa7b2240d50190e530d7c713cba2cb8265ec1d4fc229169bc9d274c00477ac5a94d5191aba5e95121f9489199466f73efe1bbc41673512a34017903385b92bcceb91b51a6ba88da3f953a9871c48955ae714d662c26a1ec2541eacf3a6fa46adb9ac64ebb2de4629a0ab5e92c5f1112b8e7dcf0aec36ebc2a6b496ab76f8a15052642d7f7c4c7511636059310084bc517b0c26eb2693bee28e750f6375510df180b0b456b8bd8dfacaa0ba5165c8da552744a261694a5bf810e137ef50875000eed3ab476bea099d731cb1545b4f37c19571794791b535f2e04881ba072105e8c61dba4962c110b123a59c2eb70c330c4dd6b5d6fc588b6bb87ad8b003648113407dd730989c815da7d02453ada40066bab04fe29044486ee0f8b0f36ee0c111f15dba220fded64c93e0bb392eae21a6c21a95a402053a6944a4a2fab36f7a5e0780454ea172674356b157042f2419cd928a8e9aa23c50d2ce02e6e6ad4baba1f1dcd365b7ddc03fa728350c611b054a5680b76a382f4573c358416eb0c6512a11c6b23eef582d5d58735e50f953afb22385c3b11f27e8ee3f3cd0240cab645cc6b352ffb6e7d2efa40d9be8cb54d8ccc874349c735a165d6b1fc2d49fdc740bbb23d50d7f84b8d2814f3db320a01c7a578e4e93cdb9f9d83336058ada3e8b2f0db5e0d10b1d186e271bef7665da07ee01eca077d499c0d4be681c25b243c63205e66056e391c95de783f901e9bc1d58afbfc275393282050a4186ba66c7ba8a0125529712b7f39fbe1125d055b4cd5cf73241a404f4b6ef014cd662ab7a4ab58b4adecf91544aee104ab403e8be25fcbfdda9251683a1bda110f3a3d514def4dc6f1e873558c0cd462c72dab5747a501d2ec12b3e890904efd826ca9fd88d3e28671ef824053c9c8cbc64c74e00cb0d515b4bc83cf171ec755d80b9bcf188816ae0410b5ffda511081b345209a097de6b22029210208e7ca214d76dc055d722a13c22d9c930ba6c038b6fd8f313313948ec6993c8d426656ed75bf68e84ee1993a894a517e9a1cfcf6e50629a1034f1ac5e0940807b00af093ad888114860b2243d987965fb3f1519d0349b325ff527870cf75673a4bad65aecdb351346eccffbc13e2b4e825562f6dd6b3d31bce0ff36bf8d5c30b8d8118bf75756bf7de345f095fb1cad34b12eb20c8adbb68d2209600a6aa6a6ea5507ffdd81dd876a77411767cbd0091d14bb4957c568e9bcb381565cd74c5eb377b3cfd04532f40290ec01836ea997a908434d45732fec96e693e222821cb13744f8a3d8764f96b4f106e73fa69f1b5e85979fe51e805862e9db8d8e9dfb81862c9d6221773cb290fc7ef427d51e028f31da39e6af772014ebccc38c85c9a3c954ae353e0a5f7d53c2b291d1a76511c109fe6bb9fb0f59a95dd72b9235d5d538c75a0db87af739ea44efc83597a48ca9cfab44ab9f9c1331ef80ffec02202418b07ef3c22d501e87d787f694f2675c3da77a9d75d45fb3680e150d9a8d779794890e222b76bd0712984bc652005c481f2cc91e3b3bd2b3d1ffb5d0a758ab062cea38138c8b8e6c2decdcc316adda11878e8a5f154a50d15f2f86debe283d3b40744c1cd78e6b11d88c1796691a51778bcbf7c0ffe89ac502e2ee30fc5d02b358c03cb14e03e881d1f81208dbd8ce3b7645f79181f425bd594b63444bc2f82eee913e64fb5f18dbe04b53e6a82dae42220c97bece77db0fb7a549688bb8fab869f9f040ddf6c37a4e67ecca9bc8de5990bc4c60220290e6460ebbfbabbbdd7517d88880c9ae2507b3a131a6b61f8928165885290bfd9ccab29cfd4787d0d1dcb35ebd017e92b3a0ea0be53dea06d6ad9141270c51df9497df82673028216f2bd2edc58da145d73d6e612c4aa4dcabcc01ea36d9699ed1591cbf6aaf60701b919fe4236d929110540876c51c1d3bdd9df47c72daa6cfa9c5d06d948997bfd936390b00faad7f2141049fa94c2369ae6378d6f90d8869f07f1023a0372c0d131986533910c584c308585c030599430d06116a518bf9e45fab02de7942b38066be0528029a84cefd68ee87665dc69db200cdc05996508655670bf649a5b08255216f21fcb319e4268cb4329e6c1de707aafae16b637302a1590690021517cef945e63e913596b8ff5d1def9fd66a0799728a272b1f84dd88c6a1b92d5106e01c731148ebfcffb3f8a9ffef4ae439c688fb75f80d20c9a980e2f4c0d298af50c83276dae7a604ef82dcb8e9dea093aed64e410b4481e17d8de69797f7ec20b6f17b1df743334d9a51ddfc01fb1b76945a83b1231db9a6c920b4ab4e5608102b7313fac22fd6e546aa8aac43281f0aae810caf8712263185e9fab9437083922990eabd187f86bde023d4b5aaca8a095376f8507c57caad66c7bce739932293414028179a7afa48245b1e720716c119021d51af02138f82eb97d54db1e4ec5ac696edfa31403aa4ee44c504b747f8ecd7e45758f1342b687da0cd201923e45b4e4122be4a85732271eea6637fb371cdfbc5a82f01c9fce64f5431037d6aa1fff0b320a9a37e890cde5b934452709a72df8066be88a142748a46633e895f324b4c65cf1bd2d1b748ac0de4fd7d2b06d2589c8d5392af9a5bbcf7a007c212992bf8f2edfebd7c5d6c7ce6724f6730d5a5aae28a82ce94cb09aa64dd5eea7ef9908be013e82e5e454794f0d94870f667e3a2dcdea3b769115e5db40fce512959182b8b5f702694d461f402808b81317fa79ee45c1e7931ab24963d94b89f682a6548ef453d2992adf11b1182085a064ad5c2070605662aca9d41e9093824af7b10c25168dbc2bb269241bb0987657d1670c15178804c106846823c4f6a69bb4c72dcf71448653133ca14afe2dd2084aedeebbce7d4fac107d1cb4e71c0d724b1243415e8e134295c3f0310bdcd0732c99652d4b5b4222f8e727fa72b065a09023e903b4706ab8dca28bb185b93080829baccca9703d4ef9781c8bcd1a9bff1f2b43bdb375849fe5506c2d367cc929a065836cf40434de08878d0582157de4070f4e5ebf824014b825dee5bfb40a46103fbac841ed4c0e20d4a573a845dd8048f8b66af98de2bb3790f335a6bb3094d2d1008c7297c72c9e7be30c48306dbc678508d6adfa99585caca069230d01ef5433e149582a275ff9b002ed147347cbb35de60976b190185dc0bfbe456303e6dd59640dee3f08b2e13253efd89a5e79fa302f052217d0b39ed482b2af321933fd6a760e8d9e8c39c2a9c12673b4558abefff8d41dfdce1e05809e5c9981a55a8098ab44e6ba5a4c93f9c4242340228d760c833a990c5fbe333d998c58b74d827eaf0d29aa836799fc1cb90e8a3e37e07fdb1954be807e2d593f97037014d6ec98f8f320d034611e460765a0f87c8ef9b697bf636788838877a9eafca47a87fc889c446542474f2b78b0009983d40085eda8a7ce91e12472c35095467201a8d21958eec454659283c6585034a29ecccaf3108ce34a0d363193c250a20b06ca1abb0c1de65b22a305a2e5946edb309cc30e3361ae4f2729794be5c5334838b148933f3a5a4a0c289e704d990ae9988b8fcf320af3ea2f0f3c4c0977bf25b269d5b3918d4e960ac534822a1633d5eacc004ada0eb1c085331046e8951044745076a1078d9286db524ccb4549fde24f20e69fc04bd1f5c1ad62d6112cee87d54822ad314070114178e6a0842a474428a664c09098d9a1bb9e2abc5231432b7fbe10ee5c9f40add018f4e0d9a1a452eb4a2fbe94d7a58b78b8f3cb4458751c50f3770bfa661a69c9618fb932ead46d815c0aecca79cc8b616b2ad035f702f1bd5966ea8027a6335941ca3c908ea885296509750c4162c3beeb0d7cb950e9a33954400302f583a6e4720177ecb1ea9d1fe9cbe89efee5c24616637c2745496853d2249ee5b00a8d9f00a237c23b725ff09a10f3f4e6a073e846923d8a92eb83e600c53c6d44a3233224e096783d1be325b577b6087bdbe643ec7bc12562bdd22b0ed45ee9162c2f098e117c9ee25f026d0d548774891d38ce411254aedb71b88d82e0aa9e890b6a4e3139b060d7c0c26303f107adf44c324ba2ffebd709a547103a56020c21e2fa850bf143037c553a176dbdaa650f8ba98ddfa2a963e86c803cdff7ba5a99672b01245c8b031b99ba384506435a546c9da2ab6e94dcc5222694621cc4496362d8c8976af70c7fb25b629525a886e4fb36caea322b6242e42bc000c7fb2618b9195219cb21270c0169371aef6176921440f10234461be1c6afd966ea5569d9e2b35200900eba862bba32aea4d3957b7cc21f07121c35ae7476e2b8754ddcb8951b9146ca6ff5a1ef067b2a0715746449736cdd9d72d127e0a187567df3eb3ee9b5f0c2aff16c9a7c9efc83e1a0a904b440802d181ad6ea69ced53b004a3000495646c44ab213996938daa5e7ae4444ce9546c94d1591bb1482669c26a373c3e30f4fc75410210de7bc82d05a993493517696942c2e486a639e4a8e9eee7503376118a464d19defdfe19823830518d7a24731ec5fb8b59395390aa62312217f927dffccf34aff3756f1c4c9da228474e0de7e878608bbf604388651bf89938d1bc37616c40ebefece733a5ab63327046134142ba248e4827d550120dc75e822b992afc16328f49fe14add731e8f69d2ea5bd181e9db6fd97256f29ca55e999169d2eaa6d8483240b98a32fc3cb1cd30ffc6975a175df1488a41238c1525cffd50fd343d8812dafc1b386797028c19daa218030f4c0ea449d7004f4c7a2b30ba815e3bb2a0ebb7143f6a27de487a796c4ebff1387c55780783d669a22d9fe6c4666f602d6143bb4254f75084400104019094bd01d7e62946d4fdf8de64eeac391909ecc6e455a730dca1938e96dc9628c97517ca83041aec1a0ed6714029767381001b10f7e9d08469fccc89f30a53ea241e7a166041ec81f583170bb040ce3809ae8deb466160a3398d04f90e295874a9d33baeedae40b021e6763d83cafb3a265bce02ec719db8b74a600ed882a4a9ad28a9e3376eb3b8782ee7f1999175c493b1d94c614f3b68a66c97eae74807277b07a44d460c93166264ce944accc3ff150d9fdbe7453dc14a75a4be7f6f91815b4eb0dfe2ac3627c1d7eddadf9740f1168bbf39e0dbaf67df0e1525f51cb6107869356d2b326f027c0c6c0289396b0297babb5f23b03ec07cd0493a13cb182d524fec2a408bf4c960949785dd1ebc2ed6f8b9e28b21f869e2462f8de2b631b76987142a9e044ba667a7f0670b19ca59e867ff3cea3acb58e78248aa14d852b2eac0ad87e756f66ce44411cbc0464795490a9c27c0a05d789d18b41be04d915d8d5dc20f347e5b16f9a1076a44506fc3c94e1a2e3044be27c1d1d55fa331212787629512b2de968397891c66067b5d434d7f85ff300fc15a1ebf295810ec026af4c86b983847abbdc83750db4aeb6f3d1ad811cddb70e7c5613ef0edd72926948248e5d2fdb19c1aee307223f0ab8b220fe451bf567aa1eb6b9c53eed280a9eec351022a6d754aa28b5c9e291d2044b90fa3ca333406c9f447e25bcec9752987076b33a1337e93a0dab9087966d79191fee187d753c9ffbaa90f6eafb3722178fd3b87f09ddc4761142d37ed7f5049b7880f152002a8d228591cbe0ee37355310186add39967117988ed86c2c51d110ba384cc9065323da4cb5cfe5036226784bfd3d1e2195216036e8dd6b74792ed3e010fb2d2d62f9c535cedf87c63682c8799cd0d38d7326fd933a7493e284dfce4f85e3d0ad8406a32f6db2d36e94988398df71153695862d004471ab9d1bc97b53f02eaf8f636038c9747bafe1f0c8ba2480e1e6ad109197cbecf2f7fdcb8d32ed32a743fc7de467ea63e808f46a13093b723290da1878779c3b2c765c68d527e20cd5a2992ed5fbe6f5a72bbcf4442c8c27eb4cfaba22c2c76bba21493692dd871f3d313230ff9b25dec97d3486530a99d73fd7be273e5517b75627f9b2990c63e7b3545ec1674d1aee573f96d2211209c3a6e99d7f45331dfeb51a2f47f2864c4c8b28e5bc2150a36afb9d24a4ac4a28881b07e3706b31a40699ee9203b4bf124b3c97e40e1385221bdc7101d340852a0b20b8dff74a3547f06747357b9e61c42f559b8ae3cfe26e922a6c2586d7dbfdda57eedb1839b1d9872f734d19bd264a99bc00ba85ea12802c8867f2662ab5b550a1375aaeb4781e35efa2fa96c0a8030eced70ed9f9957b9f1752c002f068c2a4c5ac103ba287858064bc11bf8a56d739d3a283f15df790eb5a1b13891f9708cb77b9d73da8a7985d594d9c4220c78d23320c7b7062bc88fab5c8a6ded8617e4d094d98f259280a208ce1051f1a6d8ff927c708a0b961f7b99b317408f07266dce90b94ea4f159d98186d5c37d7abe5fbc37de8871391578158e8b327ee688debb3e978dfacb89a3a2fae80352197329a4df0353f030d281efcbe62518bd0903d60630179ef8e102510654cbca8aeb499898ef40f9803d439d013d51e9017a4c26e49d942ea2276b30a207043a860cabd7aaa5da87f5207cf9bb5542b8006506f44ca547e86198d07b6a0cba608508eb494dbbc127850ae9492635dd5f91d90fd0a591034a2db2be7b99e339c748eba1a52789e9908d2d4f5225f7bfe7a8f905b729f6b4953ea2693d32b41725a65552a1d6a4f4a7e3c31d6cec48182d2a58ab5ecf5101f8bae386002adf2a802bee18968239b94f77c1b8baa281cf0bdef5b5c0ae87a043e45020504e073e0c7dcd333bc4eca397dc6a67a062a4270fbbdf6383720144241fea5b34a8c521485e199238787e23298271074d0ef25e93f80e0494b879a257c9090191979ea2a092f225b82bb456f1338d09f97a2b7100f1f151f2389ad1a811664a87dd3b6359b288a6dbc8cdd82ac6a844563faf020dc612754849ebd720b6afb25569018c23e5d4b60958faa49cae6cb43163127ce3a2ad641d16ee8ef24b77a7c0bb3a0846c2278b90ba2e23dec02653483702c9aca530dc018dd9008357efc323d22d1d2da6ea3b2cab43aee84148af9dc3a63eb0dd2a1e4f5f154541b2fb9f66c9163488365d2ae1c01afbd22a990754702aef996c28e49b4a6c740fb918f7f553a8120f86589e00fdf5921e0ee6caf1f83e398c1374923b93b926c1c6b1e1d7575c73fb5d81ffe033662be4ec93fd379969bc9aadbf29b9e289d34a24ba79ee842e5a332d6e2c4acb89eb284d9853b39683b9a2772d2a69d18cc58963b409ad10d9d12be2c431e161a604ccd777a91b80ca66c38b5adc18374064170020f30f439b984c7fa6fca99bddabfc586718bcac15fdf51ad12b69d8f4a7ec4ef50c1b10bd61f498884d08190e9f4886ce2a673496c5f2eea8b0a1b3dc6aa60c1f5ee7f6da02172490caa7b2941a589caf4eee0905bc020211e7e06fae0b88126476d91f95531c485e004366b3210abe86eb4e84a847553859538b098f7b024d01a2f629e97dd259d37a3e225cbb2a69cddac51d6a973588ba479db7be743581619e1c2dac85bab558ebc8d525bd945fd52a85d1c9d34740dfb027644b4eec01e2333ac4a2567d985794801a098be349eee0b315348e19d38da5f0c7a8c34cce2b985113f44924b90740dd9e27b7a80b3036ed6d4f3d2d5b191fc2d63d11ef2de19488f26197b3f7f3cc3945dc8a51f66ec54d2bdc30284980da2fadac85a27614e37c09cac3bf6fdaeaf6d6f3264bd9f8cd4a256670981595c73ec9c14a0b485f56553856564b58278f8d07ebfa00a674cf58edc4af800c282d5257d09f4e40e074512b305adda86675f593d585b967071f1c5b9ec08dadb5baec7cb75f76ce06c2412855b45437099b1cee8239dc4882ff8e191ef16e9fedb85e41c94743b0277d007bd67067378f360618a5abec68d4ff809ad4b928c8bfd90e2fc434db8c759a7271cd527c811568202601dde5f0683370e04831a307f3d8077cdc06209b008944e818f53deafdb7581c4e3ace3570fd2744791aa271ad1784f6abac5a935f38e37c475fe20dcb12787f05b1b168047ad76e0f7e149e8aa893e8abc2a97ce456bfb8fec11f15931cbeaa3e4018c313ec2435c26d0f4fb639ac1d23a4f16873f4e2ba8ec8469acb7f4655e0d37cd90eb8e7a7ca5aa92cda9758b70b099f701f34e9b9e4086e6ba5ebf0a19254771f258f5f5bff194425ab19b6328d1f751500d1530fd84f357a758619f34c10b88609ecc058fb1da3d42da17488dafeba2518ba6578c28c6ada57ee1a3bbd471255bb46a098bd9a05c1b378fed20a907abd63ab2b216ad4ebf154596a57681e218a35d7a34fd76a750dcbc7831316beba76b098abb68473b676d81bedce9920e4b164b549c34d8664ab4b1cd68740141a272f5379b281af915553e45977831b684ccc188805115cb154dddb8c352cc7cfdc9b0e1cec309dcc269de1f3164725687acd68bd8780d333b15724b21daf8c91e5fcea6c0750fa71e5da6168a94368057f8f3a0c8c396a9d63f591f6afdd380a878bbc38a4efb7201bd0a72a7bd00877e3c6c519f831c43a71a04d8609c116406642b4630f950db1f44a54b4539e7598b980fe427d486aafad4002de035b91962ac2ec82f603a57b2f45d429370c423a3c4a71f2dd021f6d018efced82abfa206ed6d3853923899d15e30a1533ae96d92de9fd39b1653c76da789f1b2697876c8bef49d1dbe6cd6563b039cc71f921dbc078b62e1582464e933b1ee8998ea1bfea74e51cfcc141a94dd6daeaca86b222af8f770524626cd64eccf82521091e8b6c8ad66699cf806ba7ded02f3eb226f3ffe1807da57a3d21d2487f553bb44f0af21d989dc6a9a4c0901ba6c43ec2395ceae8aa1c98ac9a3336ce7b8953239f73a41968775dfc95dc611621cb18318aab83edf164bd031869de6e4885ba573d432cb580d9d713c5d5be49ce26348a1161dbae79fe5a9616d58fa92f59846d676e6a165f72c097b807b7aa7bb69f97951c511bcad4562083a21a01c74c9d630fff34f102798dd2cba40edaa06025018f081f7e358af044dad4cbc73e766f86c3ed1ec89daa093c5e75e926b9c9c501093db9797da7d9c5cb30a4c8ee7b29191c35bee43a59d4c481c45dcfe5977f36653a215d867ebd33bab2ec4a49283cfc97495cf5c727a5ffe79b95f58cd0ca88e2c3f5223540c8d8c5c36ce772022dee022406e7915b47f446b43f252bed7a2e53657d24cc03b59b19d154011f18990454b0a14497aa63e4417091fe49c2d2b509595190ee8fca6b035fbf59bd0a5bf5fa30c06365dcc22a4967d55d0f6448e246fb77e7a7aaf15b739a74153acfcfad95bf5309c973ce3313d66c143f83fa1bd6c433af8f61e91ce853452630c638b1c2f8da97720c9d9bb8282ae15855497f350e287df61dd1e18869c9f0fa8c6143b550bccc6a079889bfeb14427b62171ded94ef517b4a9b47be64f9e04a5efb5b3278bf4a4f4bbe62a587240299b769e852e8386f874c43a574a47a0a8197a1fb429a4c004bc3125abc10431645c09635645ccf8456e21bd241da421632ea41eaa8bcd3ca648c5468762ff088130faa76b99fa119d4a019e1d224518561f80edf243b00f654e0ffea9ce585a6b4f8ce81be8e5a3cea612bd629a3a4e1bcc01e8dda00251cfa70a83d54d55df4109b07d8c3168cd6b35430372eb8ae2d53c7c1fd0d25333e12f0b0aa1ca2153b5d2273fe3eb7388864e4ea50543fe922fd2f20b829404a6baae641f9d602b7dcdd967488b455c97646022401e82a8ebc522b76876076a482f1cfa45b5bc7fc0416624fbb0c76ca45772f7b8e11c532f764f485953eccf561877920d20082b22b7cc7884c931f0aed2d0417b08511be3795f8e06c28512725cc2a28713c29cb45f490bd2bfd158ce3810425200fcae67187dc5f3185f270b478e4298887d6ba5595fe7e9875faaa680bf36666b86db514d733568a17b0696f220e27809d8f80aed96db6c7c971224a4745c11599959a55932c4d6be0d1877e8c04bef4e693f4c40de6207bf946091e311668fa0fbb9d65118262b0bc53f8070a84af84436392f3b8cc2045346e68f4825c5c913d950529e746cb87199650f6ec123e52254f0bfd17c765794c9514f8f2468717a23eeb8ecb2069c5de87c5864393052d9f3e45b87fdd14cc3e0c624c66de517fcbc78f56016b88329bb35071699a0112ae1077591e8aaf265822cbed3ebc2cef74a8d78f5cdb179b6bda9c67c340ead235ec94eeffa75bd78f7424970ec3b08d28dfdfd2b6e306eab3077d65661be1c3cf00ad08e1cdbc707d3d1463fd0848f11e29604b446052a6608f584d79af135592d18921612c9ff34d2926209fe939083cf180860d597d2ca8679d475d52f620de286a5e44ecc4466726fc223a92f3ac778e075323280636deef532887d00aa657cfcf78c44fc70ccd77a7f6c99eca2ddeddc240ec855fa9395ca0936fbdc2ad82ffdc4a093b4965d1a0539c91cfe24172b685d99596441eddd64bc4b8e752f90eba884302384ccec7e0de2c4cd0178f19003fdf7a4d1887b71061aa7803775435c9ff26552708ff0925d31cddab3ac01e4b7551ae1e1f612754731d15e3db99e7d2452280f7120c0e54731139064e4dfb56f576260335d84399ac0988cd1e01c86202d3c318f07c4c64363a39cab441cbd57f548e3e55c3777c22fbb6fa371ea8b5dc7705f6e0eddcf64821fe0e78750f0a2b98b369738137dbdc469035eda0102d485d79352e080a74e1b6c270f94af99b9a2ca9e6c4b447cd3aee1d10a867ab474859d67c040591917f70f8462cc6c6a12b76252348c8005a7b7a4a37f4504523396ad58bc9f98d0c3ba1409a68cdf1301ff2afd123859dabfc1c3dc126ed4ad547a5c1af86ea9a25105c63bd40d69d6196e3eb6612ac6e3dfcfe60fbce485c1591c4a4520b898bc3c819a63583b5d1dc5ba2fbbaf51438036cc88c4438ec5733c3d9435f11c0b69e759e9b31cac170b4afb0fd61510bf3f9048b67eceb899bca370e7679deeccf1fea45eba140003774e2e571ce050c19f99d7ecb876558c17f80132f858334f47b48070cf5f2a12e9a1b1244dcc6081948a2a1a4a2f457216775925670b394af1549ded0a53ea421ac7d6d0c1e986fbbbeeda697203b57f07f89167a1780218d064cb2fac4a676d74060431e7ca005c37f26ce69dfc0f217fb1303e64a5d6affe5f4a4fa44f4b02a5ae98ef55ee917a4a60b99c544d1bb875ecd6380977d6c571003d27d3a7b02024dc10413fd90480b87b164e9c8dd5aa21c8c4c797cc84fe6247a59aea8eb3d0b518412af013f383f129a571adf3305d564196dc78eb3afc98969992a334eab8754054b24d34e786bb606797322f2edf9ae9bfc8c62b1d67817bd07a5236ba3b1a30604c6a93eb31eddb5c662e24b1a38969012b08068cee50e7594d1cc6e99c713d6137dc594bb7a11f00b07e4dc230b5d913c9c5b3d2a431edc901b68fc5871cb4eb55bedef8c32c0785ee51fbfa2084444a80cc01b94268d553020ea39456459b052b16b9edec65fbda74866c54761446a6e45ea85fd82eaa50afc8616c4934b09928e27e738310fa1c465753a717c520b5067af066d1db561eaa506a321971c4c58594051f89370363e1f8483cd7b3e73e4cc3ac5bba7cdad0e825999110353247fb4707d5c2cebb4241b1ee97b1cc43629b047a59cb678b93b5d8781a9a576b21e62eff3044f44b9c1ce5b01bb48415aa11544763327ea12728217747640f4ac0b531770a2b1b55eebb886b0fdd56e36d25716bc9de04114cd1f1bd70d664486c7f02be7fc21650c0e55915f3d4fbb62b6d31c372929e1bc678968df33b69fa8cb168fe6104e1adb3e1ff5da8ebd9abc94d9f0da48259e810a91e0188acc4bea7d8d7d660b503302aa68d8eec78ae83065471631c0e06b0cdb66966e4e97d5d45889e27fa935f91f45c615aa39a27d4895d68dd208454d6388f1eff5c67451ca85b45ca8c64f11c71f56d7f6d512393c4b0ff606146ba5ef7a5c09e8633e642d8318ac35d2cd09b6a06974111a3077ee206e102d503da85eb08930b3a33737692ba157446715ec0721c7d029c99f36b90ad03d28c4a21519dca6071bfc8fdcbb321854270c375d18fc5f0a609767470cc23b9d0ff51541863a84a4ba3af7ba0d224d4ba7dce804f013c86fa36ebe8e17f1a9ba5d2248a7e4748ed5cb36939b52f78326aac83a6f25fb68cf6797355a6d68689a6f93830caf9d4d4f772364133d2290ee6631c7397030f9fd99e7b052a9cab92f4c0f927465d9ee1b4adce203cab76120d4a5fe678d60a8b083ada6f1ec64f249659f27583426b1444a644c3b123ef1f0bdf1d35194fea14083010cee74a1ce53d306d3c3cbd8b9fdb8eee01fc5fa1ad82ea1d14fc14daa96a66000d21238213ccbc06352effcfe7bff58de48a382999f9325a801c21717bd64d70dcca0b1d50d789cb0c34a0b397c17ac4e4c2aed11e420171e4bf8dd6319dc8811457405277470d41e0568855b150a26824ca14224c9bb515e15fb36e336b42445950aac06c62d794101589a62cd889d8e3549d66849db911b0ed4dfb85c0d093f45d0d544deefe418551a646c36a99565d1431f7641af4528d137ce69f29daa6684011c78210bdc83bfa2ccf3c3c784042a07f72c89fde9df5d6e090149fd28856a3385d1b43e0cc2da79ed0c7a06b9481a7fc2bed29dbc23fc3d6d548997834d9f9916cc9a9647287e4da504e896b1be66c6f15f2d27f211b24a6820a9191bf9b31c2589db6fee09c2fa8654186ff6e25a06ae242a65ec41b792a09cb9b228924a6ed4d0281099a029d9141992ef248feb38210030556fc2b09039faca802c97536616253fc4e897c26c8be378e5676159540ae938f6bcda8c174eaebac52c911c973e52b0381e21e271043072eb7a491cbb01c2245244892a80b48723d4763aad72ca668ad553553cd316a31b3800c2da97953f96f31b978bf69318be28f5ab8b2abb5418464353a6b22923dac6a3957fa83dd217ce4ae42c6c43bc635cf35bd1410ff06b44267013a5e408ba9ce2fbc63cc615cb47d236503641cce2503fcc025bb30e82183297efb2b6dc8073d2b6a49da2cfeb8dd8a94132278352c8f083ca1cece88bb1fd1be5e0b244df06c06a62c01ca0c47cead38be0f82a34919261c173f62646bf05e05c483e1b1cc1f9bb98ec81f26ebb01fe0e5686a5bf79255f819bd1732fd76b4b283093c29ced0237b3bf007fc38726f0c67f0eb76da937e6b98b2672d161c145bc9068f54a2ddc32f6df0edb8a7c27dc298ad62bdca9e753fc3fb243c6217bec692c0ce2e03cf3ffcbc8d029d9516dfe3ae9fe6edf5f5678b1735d50c7e5ed630c9f076a47417fab195bce3e9fbb9cddaba410b666d1430600679c037046455e8b21f92c57373527b96140817a6f6e8b0faecff704de18c5d19a74186d4078033a59d1523372161431a951b798935e83a8c0b82f8f60e9d3d28d27258e0c28d62fe390dc661cb059477c4f638de557ea04856a48161a52e86c0553ce80de122321ed4676fd8a87a5c7322715c19d209cf901567fe7e609bc92837725289fdb75213819e78866e1448b7bd859e1807a2b5764205b73a04a8297212b184bb89b8041f7685a75645502e8b25b50ca1662d03a8ad02d984a4989c64fb76b1814a8c2ae3a6a5426da2f9275cb20b24016e969e7a005c15ae97be17a3b9f9ab7d79f13165ec5b56006aa6466e6294f6e6c9df06aa3a64002c63901f3ac890962683ac7dce00023bb8f0fff1468c91fdd11325f4fc1b9837abcac8d018d4991594d5936c2db7de663e3e9750ce2d32326fffd8894bea41e93138a50d1392f1a5d98e9737db3d986d881b212835082639e517657b36099b7f04b9da1e200a6084ce46568e555f1cb7a5ecb8b027b2bd37bb447625b6c0236a2574013f52cc941187c00ab7df4a5c0340b02afc679f23b40d868a17e33d158b834cb2356846f7778a7a6954699b2f819cd20e6758be821c0ac1ce2be17a22b4e025b56424db45cc2e6c5d8a178334cd4a80daff5dedad4dae8b8998e30519f1b8cd927b2bc247309d3e84142e0948ce02cc889c01c9a886d841793ce80be9b4bd122df8ff441ab1488f1d190c59a9d810aef359841c0dc4a88c838ee2c9f7417c864dd89aa7b22ed442ffb9895f4c2a5f13a47443cdfd98934ea06e57d911f53c04d7522fd201a30b507a35fe318b284d2faccd88a79764ac0e94a9796694f42939ddffd7ef65819b1d4eddb87f82a2301eccf3712d80d92ac1af10f8ca4b8bbfd90c0e4248a82ed0b5342617ac0d38f40232adc899bb54dd369617abb706535d194b57440d4339b3eb706efaf5c40a05024ae0a232aa736605448029c9fc489406f0c507060d2757f8be5f189ac49f599ea2227a39ee524b04935e52e83b2e03c2a17d0094356c0f82489523578a095dd2fca318352dd0b9018e6b8425150dfabb32978a7da8725276275bd3964095b7572da24b8f3d2dbe987dbce6c5af0ec9d6c91169ae650b91f2f16a17eb83df6080386dcf823ab71ec3e46755ef95d33b3b92a3a05b40551dd00c29fc03cb2428f11d340e8089486167aae14e96882c422375c24c218d99a11573582d44614c3116a2202cac336ac4bd1b6e4a04cbcd0abb5b31decba46f9c8ba5100c93750f15ffdbd49411da615a710b245510d03e830fcbdd5af00eff4c5eb867b230ada3f48afe4373cceaf0879036934f7ef53982ffaaf5543af5bce13960edc389c16cd46c75f78b332b7f741a2e575eacf72a1570402e27c1c215379dc4c2f84dcfdda67b8754d8a3a52fd7f27713deff5e41cc3fb7cb2334c0714339aae7921e52ec188861ab20f710a72714924a9e1ba29f81b20bb540f27627f9c4a4a078f9bc40e3449877b5fba1eb0dcbcb65116e24a5831f81816187e3e8a7a83ad377eaee179b5401199d76789ba09aff0c44a85ce81d2f1f046912c58b1873807e3842f79d8502959bebb677b14649e070ac71d03eddaf42bff67cbab26a2632bb6553e8f57908477bc81e53c9e40dd3cdec99794241b38bf498c891060e451d8bd307f8db363098504d896a6964f837f4bba43f1f95e66c7e550db2d0e0069e9cd7a67e3de262d0d49f71b536e39dc600622804dedc504a85db451e3abf823465d6308c0fc28fd00687c7534658a64a02219b6f456849ce4c2e4cc27292a87e8e5994f8e8667f8793878b4c0df383fc026e2165800e2b3509ef961b37a271fdb85198d3f58da4a84e64bf7315ffb9cfc8c305706349f33ec4fbeb6b4be7df32bd3c726e0f6a2921d1125db53234ae4ee7b0870376f9fd499fa754c1c836d4974c32c4371d6fdce36137bd125d7b87a01b45123402cfa27fb13d21e8d551527ec810b042702645a0d7ec11c2540bff249e3db5879f3c1360afaff976b7f42eb884a4ac7cd288b1e50fe170c38bb62a2bbd778be52d38b66fb484f1f2b8246049dc595e79c37e3aa548b44a7eaf3c93ce0337d8121c8783eb936c66adfa1c0e31760a2099d41aa5b5695bd8b98bb17a03676ebfe683b5cb15d9404afefce1f824feb67d02f17a5f44c9923cd08a6fefe40f920de452dd92a04b7420826ed17f92336e2b742c33e6617b55f28ebaeec30f8c32d4c1129bd618d824add08d02cfca5397018a3b716339668d9b9d1ef1d2abbaf7981371c796acd819d754c4ea8bf616b93b40561fd911c01e34e3adb1ecb4553d2d90113e5601c3f18675dcbfd49a68b709552e5a19f0193ffe25e857f3f79e938b31cefe36377f3cbb820168fd6e71c0d6e873ce9ea0f65112fb3608d8393a9de4e1c76c62d3ee4b09e3b2d0296c58f7877c1b6f7ce9a99c074724c245b401def81425d700c40ce15a8b0cfc40d0ec4eaa09d04d7651bee4b65284510041105193635c04002d1f5b709c04e8805f3e8bfa04839d802ded3875ab2444977925c10c7f909368237f7663d6ba2dec6646d2f875a1b8bd5e7150866be35f6bd57d424c17605b18e6a32ac10723f27d6fc4aae188b033a8da6d20839651b9af61ea4410534f0ba52cffa70995c8278009fa26c26cf000574b7de66f8304da39b2b42f96af44ec7d0dbd2b6416de88347834c88254422bb392695c542b443105128f4e3f19d831271f0d3f64658f27eb3c2f74496aead8532c296e4f0b19c83298d60d75bc9346790974d04ed49f1c7942e88063905fbccfef40d1f65945b186f1dca69825eb04ce1038e069047b2666581242e579a0dd0da4b35b28eb732e578145b6b09bc78affe6c75d8eb5e898813977533f2652904c99642c28842234a2114fd5eeae820ce7101bfcf78321a1c2783b69729af2a76f53b50af587200a1f4257d020ac4e668cfec0c85e66fbe21e76fe0498a28947fdafd79781d35f6e731a030eb2aa50c15cb4653a84d8faca49d8b2c7c518cf2afd5184d1a573c0007296fb5f68c104c0109d8d9f31025a99116df54e2f6c859d0a7d69460b07e1ed9323449f0e5d9b384c5912f0bf4db344a70a3a2d905e20a4f21cd529c4c7abf1462accef63d5a87122fdb08b2dc7719d37605dc19fb087cd728737af467ef428e5598b04f01cd88e3740322a69c84688f82969d3a0b7bc59f518a6ed6716da216eedfd4ba99c7347c5ce01fd59541027c0c422d0f2897b4161c9d54872972094532d75ca43e6578b2090491ed245d16c64c10cea004bb0240533d95e77bbe836b47e8d244325d8035846924428ef6f23a69762111cd5518cb85f0b8ce64511d4412a008289c0a197f231cbeb91d93b2f3ad1b9cb3d6118934bd9e3977c3aa649e030058bf400b03a03ddba99f56a30a6a40a508a0120fb8d615e0a7461931fe7e3ee727805ec3356fb9b17fa275762a92191bb8683fe1400014ea0cd0638b9c66436a9b1d45c3f9518a267ca149098ef245d890dc8a4f89e7a75326e16e811fa7ba09a04a7d5154f0953e97c0370f69384fe3330fdebf0b4601999103cbb2be28743ddea72bb46ddf00594adcb8cdccefa2a78f29a2cf0cd0e825cc91c677e40b60ef7f8b12cc7043c7d6c972fb53a132a9ca1815fb17a37131b691928535984247686336b93eb8238f41337b7ff62e4dbfd60a25373076566b21c204f0daca9514bf5980606e4f3a82594bca310b037ee67993164e310241d8c7cfd257c8a122df529c3f60ecea9dc77da42081229c41701b81e1a8f7ea4cc8766930769a6d6d703c49c09ce5db0c19f42e6abd28611263ca4b9f9ecf0636000e5c8c24fb9f2bc63469e0ac6b2388bfb66f5b62dd22079d32140915c689cac98fcf763db9cad0b8bdb804d166827c40b5574445b6af61c3de459c2275deb46c4e0d28181f484e42f3478ef486ca5b85b6f16b7df8b19a44efd137fd907dc1ff51c083c11339e0c02a4bf0e1fe3dc993c03bec086870421180d4c6087a2450e1b5a01440e4a6c0d0a71f473b00338222a4b33d435fb0f25313deb7432977440a3908dae70b1b563467b900e6d7b79edb48ee223d7bf7a1886b5f11b82107c96b33293f52cb88192667f9396dbef8b377dada50ca6b076ac9c4b95d08f285cc6a0f87d15ea92032a904c0dc6c89983d2956ce419ab7736de6f930d89ff6041fbfa89afd886726af53a1a0ccce552975fa6ad09049b74cd57277db969970c1cec39110955b8a250860bf83bd3057bfbd75e1afba01556af0b41f1cde3f9a7ea7050a948c910067c03a3217455164ef0d2a7ea3b7e6fa74b003324bf2a3009fa18986a28123516d3436c558f8660b0d4dd3b61172dba063167f8e3f34d56a5454cd157bb5762089f34f4463301484a18e35886b2529326a25fcb6af61ea87e6165618c92ce89b5d998c6b70ade78d481480aa0830a968432ba3b5a9c229f194432eadff68a9d6bcab4b8b007cc8243a54beb03292f699546f8ae50f5ef7a1f5648e547260aa5cf9832fceaa0ce9dc66483e5c88dce74c330e80fefee2a7f4cc9853ba58070fb3f189beb5f22467037a95568259305a594d07b581b3d9cba0ae455b1144acba5a923066f786dc64db0cb3434b1244c7ce3b99b821fabe5512157d973f2719310030e4b1ed8e2a13f15f8a5982614e38ce9cfc2c97afd0411ddf4d4848db5bee2db79452a62403f807f507fc076f69f742839bfd97caf25d66c7dacbd2697476493b6b494f2ae120a5d25bd9fe98d7ff68e961d6be4ba5dfc92151db71dbd3eea6c8f6156f124299837b90068691d56517eccb1199655986bf1d397b98e76fee411ef42710ab3cbf63723bc7af35ab19aeddd5eecbbebe8c9835c637182e3206bb23044e08277c1c3ae7431c8a8ffc10bf087cf838f22984df8ffc0dc01feec86f07ee402800df91af03a1003e205a88ea8250008ee5f8dd8e7cd823377c283bec71ea534a1fa7cadf990f61ab390568f8bb29ddf4140fdcf93f220002203f2230c4516cc1fc3f640d538e3fc491f8f0a785104208e5b7cc719ce9f306f6e7c7f9749352bc7e6630a667dd2a95352290e7532996644a391a9d07bdd0e062ffa5e47b4ed30376d5bd9cef4786ee9f61df7ee370108e7b2b1b42982bc77178c7fee699f6dedd14d19e62f93283dbaad8f26f8979b4018d94131eb91f4c86f15cf84c43f7da72d8436882001998605d4d0aaefc1cbec6875249e5cb1cc1be14b9f234c4b270e4acdba2c441e4ffc871c98f363299c33c6eb4ff32f92fa5c43bfe317b0bbb0f47b618cacfba9b22524629e37c1cff1871101cffe12f1ff3bc2be29df82ad8eac72a8655ccf32e0cef482ce43bfe85ad7e0d4b299f3e0ef6f37770a4fc391f0793f229e679d7c43bfed9f56de2602e81609b3b00cc3ee3dfeded9e8357fb36c341b2ff91e3cade4eff1b20622ea281ec61c6b2ec77725c19ded1de3e56359e952bfbd8dd14c9b2ee6506d7f1a68a2d23fcafac62218c95de36c2402e019d5df8e7109f73fc1274fde3370ca2900ec47e818c2f258452408110431843ed3667378cad6ab76ddb381d681c71e18544dcad6aaf9b72cfff66dc8ca636e2e7646e87f9d167620f1f4140a2af7532fc1fee3bd74555a7920be39ebfe43411dc0f4694fcb5123a84c4880bc3636c19be825044febcecc54f3ef532ce46b4f143969287c4370bc2cf4f0b4523292e5c5429060b61be963462f0e09e94395e42203fe8a47de82be931725531520a8f7c87141d3b7cb0e901a475340c3f8b31361af271442dc33586bb70ecc2ff73e1a2469a76af57f58d75ddc20d1a9e834e8f076c8c22f061878e1e82b0812f43dcd82ea5665f5670b5b7dc46fafe9210b79320717fdbeeeedac7ac791bf900a614c71d250cf70eb9fe9de41dcf005cf822024225ed7a28c94492a30d1d614ad65c8be1330d23b78cf7dc93f087931b49bfc41fd74b1a49a469236fcdbf1bfe7a48f51e3691ecd051dc93a2c4fd5a278a4ef3f434909091f936fe6d41fc68203d66b73b46a98df7d03d683772e098efd548d353c842f54225438d0263e647012a09b10ac1144ef8a181f15613ee580515421534ce01c70d1a3d4de45b4a29a502204086dfbd803010ced077fcb1c46b32e19f2cff9369f9f0a107692ef69ed89236a027dfbee4f6f25a4289554f4fa451004c350e34fa06f952e809405942f173001823ff63c9f239fb7476e9353c3bd267a4f9310aac992fdde7a5c9e5de0732b99b7bf4b58f31620f319927f69e24dcece7731aaeeed148bbed6b87812e75949a31ef21759ff36c5cd7459c11f7f31efa9b4acafdbc67a37ec4d6f593ae512bb8f0c5c49084f5aa5abe0f363d7cc4c8b24d006954b1257d9838a1814be0ab0953569065c720cb2319f527a9ca3164e4a032614a6b2753a4020a16c27c11880efdd093125bf3a7e4d947a67e325f4ff2dc7c381d7ea6941f1fe23d3f3f3f11fb1130c67986744b89340e05b6e64b9932e528fb519eff52c48519fbaf7f8e98df2f9f54caaed83d7a1f96e7cfd844ef1e844a85593b789612fb1130a6f3fcf95ecd6acd30cfbbeacf9731df079b1e44a092bfcf3ac85a1fa74e0cd6c808c43ee1c4494f69234844172c84f97cfef4e1de9c73f608f29c3d5c87891f51a934f5c5c49950c79c2619a2414279d6d087d892f9b362414690d024335509123fb5e361db716d7a78c9e188aef180514c8386877991a69b3891e76b5e13f2fccc9b429e5f3d0c371318333d3713efc9a4a03768d09a838e8c3116814539746ed038dd1c744cf05f6d243d8e1a084f4f0f9d8e1d3ed8f44f1369a00ef236d2451d452f81071e7244b150068cd1533ce4b801ad6c8f818de133ed03d66c0f3f03b006ca64082134ca6139ce721c97a94b0eeec5e7e66fdd0aa058afea53bde7c9c43e9a22f6b817a303a1527add521357e59e4fcabbdf66c04c7d20507c174212df930cc5a692e337151ddb13df81444aa9d59a4aa499d10c23f7e2bff0dcd846b59fc48e12e3c306126bbd37c616fa1a8d328451327c92a1930cff86d3c8f0f1c263d0f81a2113393e1669c432604cfc18e3456221cc27817c269e5e4a70a18e4e6efc3595dc5f827b74fa4ffb4d9b553bbd7d19e29edef6e9743add340f8c91bf437b3e0981350d8da444812275a8b827351ca79872eae410973d1ab69dea76eaa8c61369a48f8ffd4ffad4a4e06239a4c73df97362c9b30327867bc29fe4c9f28b486640d7711ed3cbf71effc15ebe0309c1d7118cc4292794042275eae94451a829d8a94f0ff317a1cc80f98423141e19a1dcc8737a79fae844470fd3076fc98753ea1112957c198e43088c91af753872f0e09e3cbda4f1a5b27c957bf2743a9dbe9a55ee49171d3db827710ef7e443ce75b294df3a24b85fe4c9522712894046b948ea3df5cde980fae681354260cd108d037df93974986ee9e5ab5c68dcc0713a498bbaa7ee732734eee3ad7e22413246b2277120ae43eae73aef71259d2fe9feacf397538131648031fdb4f332f40d3c8d830349bdfc4a03470f0de4680a9492650abb8eb7e40b01fd7cb1870a952309d439d75152b4a003fe11f3d049f1d81e278955e3a6ab2cd1c187ee41d52c1fc21a5823abe4afa50f04f84bacf29c07ab868c0fe31efc77cf730fbeec5af45cf8324a923f970c5d3c19ce850b911a2d18f7fae347293ec3a25f64fb66516cc3cbf4292e623f15a7340e31fa861c3868b6bed75b12bb50a4e91e6ff5d77a6f4f7f9fa4a3922548c4c8c4675e453e1375b80777f4d043a783253a4e325c12e4674910a16c4b14c6861b8ca13cb8e7fdab54976ece837bf4bb071843bf09f7dbea17799c800f4e03638704200e39fa06fad8d3bf3022cd8b1c14be9a52f844a65fd4844886454ca0641b322c623225bfcc364aaf15c31f562bbef96c9eaf00ac4a952a5ec83366fa1086fad47aaf4a7e303c182e647ce68629d7e1932c3fca76d20e3137860163e40ef7e4435c806f00b93f06d2d8c096fc7e17b0a6732b21a889ec038c912f85fbc1c8324a8f0b78158038787d431da2328a1ebf5f788d430c93dcaa1837e4fe0f0059c6058c9174a7bbbb1bc330acbba53494d892acd7124a14359448f3a2ea1be4477374c394162da5a5bbf4b3db1e9630c992ba68927047b151e0538e3ed750483fff83d1504a4dea2d4912adbf0ab5d051bb08721b710fc94f43e9aff55e954a6e9f2a068c1d3e448082e0121ae81a229f029006f5f2a117b28464c8d88b4fe6f9b47321e35e0f4b0b2ccb1f762cebf0bf9a6b46318f1b98f5635f659438cbb29a65557b1cec2bf603fbeceb4eddb86de330cfbb36bc936121dff52f9659f6f671b6d77e0727cb5ed31e67cbb2b7780753b9172f86e54c974e58f16196ffc5a798051fe6ef4686b9b9ec330c07c1b0968f6118dea99fcdef208661dd0bd1f56f28dd91a06ea0526f7b5b795ff1155ff1155ff195ff646a8af4d9dcb8912b4aa55241f7eedb6791e1b7fb6ee0c88e5ae93e9b17a714fe502c55a552a954aa1726d32763f3e22463f302c5d20561f9956ac5a252a1709197225c294f98e56126fd7d15bfb1a8542a158b4945c7f2c2e4a41348d87d59176738c63e723be4cca81df4ce91e17f383284d183f8cb916fe4c69fcd8bc6bede400b2db45f3506c0ad730ec7f6b0b4e120dbf636dec8f0e9872343fcd9bcc89b0cdfb60ddf600fbf7645360edb1723dcce9de77c29c2f5a7af82d00746b243083f9bfb1bcb6f6fae865f8c0b3847b6a2bacf06e728eb708eb22d3dcc15e788f4d1eb6336cd63d33ca88719e7c86484853058ce4ffe728072e350c98d61f8cb01923b8748eeff727e72e31ce5c63cfa61de68b4bfddc0af7f7b21c2eddc5a6f5ae31bfb9fb6d9d77efb7eed65c4be1abea96ff18621945ab3bc5cf6d95bfc713a94bef41707b977c33c6eb0fffafadffb3b39ae8b77485fc21fce51ce30c9847956aefbdddd545ce4e25bbab7647a1cd297483f487fbf9a4aaf822d7f540a854a619e77a1f0cec542de754b7fe5edee9f1e07f5a6dfc1b9f77150f7aa2e86a44c09f99202c94b0b487ce94ddd27239bdebde45ebd7af5ead5ab57ff53e96f956cdf5a685de62c6619ddb36fddd7f265f6261919e57faa7283fd1744f6bf1888558e0f63e40df63ff0c8bef43cb2d3274f12df60fe327bffd3e39ba852a99eb5fa1d1c95ea572b15def9a14a3d6bf52ad84afd0a162b56b058915afd85add463cf4252915e7ea52afde9531d0f1f34977e05488630c6e2af84fd4f27964e888ceb05c34f463efded5a6a5670eb9fde7fe8c0325471ad3e48bb7830d74e8e6b85616cf99f3eeb6e62959bfe66c09cc1cdc6faa4dfba6abf67b6ef9c7c929994d9679f4c9619ea493fe464f9dccd5602629553ffc9e75ed505517dcb5bd971dbeab91f392ed5f6d973f2b39711e52ac337295c648767d5b25aaddee5715a9ef53b38abd5b3588fd38279deb5c23b3f56dff215b6e4bb609e77b1f00eeb55b0259fc5af789c9777f91d1c162c1ee705f3bc8b05de69c142ded5f22c7c610bf5f7b71697673dce8a6ff91d1c17976f69799c1598e75d2e784785e9592d7867656ae9587e85ea546fbd93afea762ce416b07aef245e7555f5f4bd23bda9ab2a3a21322e160c3f1999f4a5eeab99e3f0663b245cf95f67ed2b0280e8ac61568d9ab1b7c172868188b96294e24dcb31f9290b3eb80ee8ee1f5c07d8971fbcf8e0fadb1b6958fe39aefad2310e1dfad8e7b8b2972fe5cb60193470d0bfb115ffc8911cf5694dc43f6e804208555c157f6cc5c7c19a30b61c935e7063c0702f7e8bc9edff5ee8e8c0055d4764701fccd09536108a0c9f71993d47c7f2071d3bb6b778e76e22dd1f2c224a41a97a44c1121af8e42af0e37f34103e4bbe0e8f74511ee99a0f3b1cf36397e3bae8639d10315c93fe07abe40f56c9b36b226e7fe79b234e01891e676021ccd6417a9c58e2da3ec78565154ec1b20cb32f192150c92ad623d2e81c89b2837953c5567f8ecb762c0640d76d17211512814808890bbab8a738328639d9715dd5b49a81342c4a81d3785186d0dc2154c9cdca0d5f4430cafdaed3a56fd2b74e0b01918a7af407116950df774ad38834276cbaf7aa5416cb0dcfe7748e1c651251ee2824639d8d4c961886cc0d500c0188cb76d0752a814c6e2e66c8cde8c1a49df4f793fe8ed26f65224d0f9781d1dffdfd04d2ac1cb1840d7c6ae08315f8d0c0294861075670020855e84012ae7e53864b1429417b8fe61689dd20062e7c094148d2e0f329f6f13d9f8931bea43188fc612e73abcbec456f978cbd7b2af7631d56310ca35fcd3d5f3e5b4a29a574d93312c14a1ff3835f55b1e50db8b1e51a0727e6d1cfca1ab03d29e6d09e847fc028c36b78e2e20f7e63203a7730735b673b55a69dc4f5b5a40773177a09bd601084327c887ac18c18dc07584d0b59cd66afac4889258ca1429b86499b650ec0266d912d5643b695860c93eda635b93d43b61667bb75d9729f2de925db128b6cef8a6c4d2ed99e58d9a25ab24dadb25d5165cba2225b15aa4d762b79d3505c0b256ecdab54b62da86c59a76c5d4cd9aeb8d9b22865fb42caf6b96cbb2d5b6cb39d41a3a1665b03966d0b6f66db0240ccd6061732c62369d3a551efcb304dbab41a9db3b1814c1f4b22d330ab75d06563dc34b969d3661a5542c336ad6e5ab6699addb46dd3b84d236d5a69d3eea69936edb469a84d4b65b0c5fdb06257368d65d3546c9a6ad3569bd6b269ac4d73d9b4159bc662d35e36ed37addb34bc69336c1acca6d1b069356c5a8b4d6bb588ded0f348134b1833233da263bfd6ea335e866f658b6c670dd9521ab2c5b6d9c1e4adbb5c4d82ad33649be16cb52e5bfbd96e2fd9722cb225adc8b6e492ed65656b6ac9f6b4ca16a5ca36a522db15966c59b6d9ade41a5bd5a5a1381661b8d5aa4865ab4265bb3a65db62ca9675b3752965bb82942d0b2edb972ddbb7d97638cb76869a2d0c962d0d34db1a66b62d64b65eccb6e5d90260cb3ae89a3678a489a72b9b13ab3fef9c146feec9fcd894529c9847fc55f873cef8f31da3944e0ce339bf219cf1ffe4533cad84327a27036b69051b86660e2cf9fd3764b581c92f5ce60953f29d78078cec5507b955cf524a1b6e70ffab2f84fb491b7cc0923ac8f7bf2f320c97fea7dd3d25ab06c5794d24d6c22d765f076bc59f8ecc43ce2a6b365f6e5fedcc37f4bf38bfb76dc337daec3e1d59627884dbb933ac9bdd368ba3bdb5f671b41fda6f9cc53bb6744b252ce45d1b09f3fc852dd2e394b6adb46d0fe18ef657ab4e838093c004eb0f7d071adddddd9d65dfddde0af86ad63eeb1eb210667bdf3cbe7d91c22571d6621846e238cb71d65a6b6510a30c9704f989b5ca5a65ad31b5dd296fddba4f7e7d2bab021a08902cb7295cf912e5ca2c462c460cc3302c6e1dcc2f52b811db7adb306cc3b06ddbb60ddb5ea470edcbed47aeff1285fbc99c57134e327c29a128db90e16b092a59e6697ad30907399dde52c9cda8dae94fa713deb96fea5b2abd86e50b1454d53f9b184631fc518a51f93256b92b476c8431b3c330edb58a83d4ea23886dd68799d6fa3b39ae8a77b2d79e669ad59fdd4d915a7162ce744741511111910bab65e5c26a59a1504c6035cb322650299942b5d1aa65b56a59a1509a662d6a45054b6a65e555b0a450a90db5929a3aa8142a855a61799695148a530256b32ce3388e53c2851983182ab5d25356309692584b41a1522422562dab55cb6aa5b4e2f238ac140a654afde97432a5520fb953ea644a9d5028542a854a9d4ea78b3daa3b99eec9745d582512b7d9ef562dab55cb6aa57a1c15ca67803c8f8325fe0b0dee437f79df2de99b9ba43ffdfdcf47a641648a7a7bea7a649a00982f96e1f6d4adfccaa77090d4ffc871a5decafb3637a6ff4e9f7a9851a9d4efe4b8527867f52bf8510fbb202afe478e4bc5cf6ea5fa53775344f52655f732837b710953127d6e47a6bfd98ebe46553c7d15299c7aaca3f8ab307e384059aa508159964ee7c897e58f7ee441593ae852358c9226f5a9d44a2ab58279de95fa14de493d4e0a1ff19357242686310cc35ea2b85f436979f848224d0b9eab5a5518c6960a0c63cb9110f119327982dc9b40eecdaf54d63ab12422816490340d4947026330e81e3614699c09d89a1fc512281059e195e7bf20e1c2a2c9337ba68fcf987e889ce4299a9c4e9e9e4245f16791093345214b3b1deecd1d3fb7212255c65e078b2417be9210ca1f7c927b8834adc4951039126fcdcf4c8ffaf89feabb270c7f288cfa15fca932fdd4c9843f1c398464288a3b002497fed74af28c447228d2cca2d89a3f84c2320a4d1d2a584ee1de9ce2defc59efc5b6249c0e739e9ec7f4a94fe169c4bdf9a86e22712f897b730e9df090090f458c75b308c64c2313099c3c5febbd30ce7f69e2c2a122ec9353e491e9e7e9e74f2053670a9f41fd8c4fe3c44e267c630a0d28458c7ce6934a962041e43371be240b9b2f9ffcc4287fa2fc8931e2590463be28247f28fea09348148b221454671a89384a512d8fb39a1f8bc01af92713367d7c6bb11276c24a187e39f9f4a78f0fb9d33565a6c7baf8a62e13ea1bb03f9d3e5620f730cc644f31c24be90d96ef35752efda9c3ded455d9d2adf0916f16117d3d8bf27cadfbb0fc355194dfc3fc1d2a152a152a542a7efe570c53c1f2382cd8e43328f1c3034d2a2a43562418a2d2c2902b0c59420923bb91b82cb3b566b56699f695c46d9ab59a7da2691410ca32c318639465c88824424227105ac2148c90904b72bf0b917b7b877bd0b18e940ac63bf9e0da1aed4f60110a3080ecef22a6e3e18bdc39148762ac98073c747d086fd5e4823d8a43712f0e65033061c45bd0004c24a95d0e8937f8452339c41ddbb083db53e350e6c9fd2d839a079546241258937dbfbc01acd1b4aceb4ce36bb1e727f6d828251a79ab7fc8e34b1625422990cf485813add0ffbf5a994c598cf24f544e3a2291bdf3dcdc8c98e393080513591294db48eea2dcb10793415fc4ed87390e71cfeb4f26c90d6b6096498694b8d8b9f04505a04c04096cc628302e296c8b4a6ab4728ce25e63407634fa60b2fb10f73a4a8131fd36f4e0f290fd3d3ef3f198ff43a43faea015e03e5d06d785a4040191c4672866c51ff25811dbf0960c9112697aaba9ab82791a89bf18e561542e5f1caa9b3fd1c1e9cb4c7b897b4a1aba6a864cc1922c896d7859bebb0b1995cf7c3f96050f2e7c1905e5abeae1c297918f0eef6fa1a3ecf083eee71f559e9d874bc6301ee96be5b00ed80a46b460090bbe061716b14139c6ff0cc527630f254996ffd997a0db14285fa47a5da2267a1895cb4d6d344de442e685033990072949828491ec8f1165990761425bc5701321116b864c3a03247af48cd80626cf9fe1b623efe88fbe4bb1a399e1cb3eb254ae0fd9703369a026920393e169882b1bc63490a4e233f523903b713369a26feea677708a9de8bee006b1e47322ea334d443e86b10d4c8ebfc4a6366c53a395db27c36f1b19231846ed23bb0672cf618834916e0136210ebd027883bf1381316db3693757d90963a78c9d31eca461670e3b75d86963671076ead8d96327113b85ec4c42677896f9c62ebac41c3be9c91cbbf962e6d8511934c70ebb81e5d8551e6297edc872ecb41e5a8e9dcd36c76ee3d972ec381f2ec78e0444cab12b19290d3512f99da8984024be1839782b860b9754bbcff82c6bec9effe1cc9e3d576a86dcefb68491032b2d58c127c32164f892f2caf665882b9fc87d15dc2f12b5136e07acbb1a22a24ca286f26dd9e3906f134722f77c28d24426def2f748b44462e95e9113454e6cdfdb371417bad794dbb44959241609dbf0f2dbff48394a374a354a335bb397f41f863a02fa37568d7e1b5eb66fadc55a87034bf71a10dcf912c354e6c07eb41f1f7b0bc56dcf94e1aa86e7d2ef7f277772d88697e3f76310624c95a3ec5c30ecb1f7608d7dac65c3cbd84f0e01f12d4baba169af691a7681a3cb510382fb7089ecb1302867ff0d946b377449e5ec697cc8b297f121562805ebb0acb3ce9edaf4f011c40fa781115bf597e8100df1c93a764cdcc334d59ff561445c355c5539ebb8199fb3778e06dca0141feadbf4e822dbd7fadd7927e333d8d74ff9fb4cfc5aebd748b3e18a1b0813428f853ea31951926bb256dfda87b0e6871cee63e7b97e3899fb0127dbefac0c4074ae3f37ad3ef7cd29a0266bd87efcaf81e459976092e5dbb7d6b7ae1f59d9124fb2fcca715d8d9a6cbf6ad802355ffdf892dba16af8730e7f9d35fb167ff67d544deb78d8d4648b2d509331a0bd8faad94ed31e7215c6645ffb6bcf2c5828dd8329eb441029aff33a5ef042058295dd92197c21bbe86869212e6c520226f9db7ccc5c33283b094d4c31432087a03a4665300a838a14483792221a45316a829113188627b4b39ee0b00836099b442ca208cc074520c2cb092160495897216e3f74afc4640953e8253ce12b42220b0be4a494e38250176cd2252481c91f273e434d44c9d0c91127419245051615b490022df07816a8c42c4c91c42b0a2f44e1150513668c220919c50ee62b0a21fa8a8205d82b0a12d4571442b25751152d0c160bdbab080af72a62424265f82aea41a9e8c82d6a81a94804271427042a2544ea540402d45625b585950d42010516289a5001c51154500061d5d2d2c262ada048d202050b585008c92e2730ac90c2e2e5e5e59f45133962099f30427671af9fe0c11335783d51c41344ac327c3931c5cb89272f279670e208f964040b6164c419e3c3a731e59c52154305df85d3a8bcf5fe0dbd7ac43bf271a26f79e21d89e3e3447ce453e5c68939eed109b6e5ddddbda38e0c618cabe0a5844ff697124119fb7e7b79ccef8ed13590fbb119258c91f8ebc8a35d50a26fafcfb06acc9ff8ba4037d5ac6b96d5acabadf5b3b735e351e7dffa716af335fcd5cff01673adf8c21a58238dfd0821c536e810902c71cd70bea66437e582613435505ec48f113f87f834e2e3889f233e0ff177c4c7a82afec78713ceeaffd56f03714e29337d2574329d325c09d6aa7c8655c3e93b66d58833c7cfc939197eca6752af2653647f992f0ffa8eaf0ddf9ab3e1fdb2a137f1275ff290d8dd8d60218c9be29471ce18d3f3624225f5fac10ea4bc8e284394295f474cf16af2846b1c9252f9377cc6696aa0c07825c8fe2e5efc647f184d60d081539317d029ab139d23b0890ba8e48eab41873a9067fe3690e5470ca1d72fe30e324b1e314a04b8a84a90547a18ef7615b6eadf2e7510b62ad7f98cccd033a96be8d99fd9b6c748e2308431d6e6ad23414ffec902d9bfb5861e4919e6481afe304061f48cfb21fb434ffee683761242e8c928a33b969c4b1e504a29ac2e58e51e9c3255a9a4df32d23965c37813688d916252709863bd44901382a2c0d54a67d4327c35c1015df2414644ffea518248c01d410b51882d19e8a00b4fb082114fb8c095c30305152940e044168068e0f231041db94140e882662644cc825a30838464d7e57ec780bb21091e80a20b409460820570092abc600746802007418ab0441322da18b2392716a5b005275059a288179eb882cb6f968861073ac0c210363082189a48265ab8fc5d388d74d9c0c82ee3222189a68c32ae112beb1149b67e902101063c90b5629de7de944d7a6eab894f4d65f8624225cb0c5f4c8e6c4f6c35cb0665d5195a37a771014aa95c603c7f9953133590921ba390c7c48f61dc6b18772517a8320407445368704409330c474888d01183078c6640821314244c3cc1a7880f289123832b48e144084d10310629c422bca84598a04980c12b0941b9210d19be905006244c4132fbbf39e7ec1683bbf6199432661d8b888ea394fefe9bcb29270664f631b33f84899e0408e37cfadf46638c31c24e4a185d00ebcff9f2c656bf9d0080c26d9f11c330fd0fab1252c95166dac16cef5eed3e968dce9565a3b37c161967c8ed107bc59550a8b2eeacaa3a769c3176e7332a78a3c713784fd57599f35372cb1e55139b9362ffc59f9776db46af7b72669b2f2440c97452f9a9b2146ad135380d45b4221526cf3031edb0af2f190b6d8575d9585c0b6955525d1526964f3e8fd9d5958c4aa5502b2716938aab2aad482d1c6b73b12b3416d94b7daca378ce2061220d5e43b76851834792170585c90934ccb6d590a071b269d8b21ab6acc596b55a78f3a7ab367d29259644d48c4aed67ceb22cd36a9644966559966559966559169eb3a8c46c17b5510b59d124004102d314000028100c07c341814830225576bd7614000e8ba6507a4897475190c2280a4208196300000400000020303433520d005e7a0535bdf2f50e1e9f7f01f1e89dfe54ce2a78850547c6bfe99ae41c567ad12ea84e2a5dc2720e0f41a75d29e2065c9caf79633e34847573937ace526d10c65133048fc89478fcf2235f0f0591d70ade7c2c5238ee3e07de587e82098905b64651003b9cd52b92b333eb5aad70fee3d09fa42b10c6dfa9539790dc55fcda3d8ebf98d9e438b29060cc77a49f760c305e3a9f0924d9abe5c0aaf3291c051af04328861246a5cca0d5732a214e64e2d0e7a725753e4a25c40c78f4175afa74be11b3d54a0bd4aa9821b1c4248d9145c482ffdd616579bd72952f8daa54a5b25c3c732d017f382d1e5a98d3ede71f24f3fe0b14d9f3a5172026d4c8e3d334d30008230350a69d6cc73b407d1c0b79ca07b537632fc07c578fc0f5b2915c601f5f85abc4aded99ee2ff156679d59434e6bd3b3010cfe7489190b7f49b573f1215ba11b6db7e132734ea5bbd4bdc1548bb5af514ddc126608e9dc21b3bb38b6f990f13c3618c131d8a87136e8da2c0adb4c8b002a5c573f427ba96d7b0f03c2ff859b60413058f769397a85b99a2ba51b175087939f82840a48d979087f257baa59bc1835410394852a47fc8c565bb1c31ce823d0950cfde6b798a63ced82b7dcf91790f0dbfee8e6cbd011aa231c5461b1d6b752496f029297c0750ced2e3ca76675b6420987032095cbec81f805ce31343c27c91353b80233026f518d3d4faba6a0e982a88650e4d1d74b62750cb6b6261d4adef9d50b7f1d097af0c457d2fb0356eb8b532e190a78772a90e76096305acea9064f3e5f09019db3abd0c90f5b5eaf57ebb0491c66a00589557d13466b2fc4a3c57d51253241bcb15945e44312f1343882a984646080da6a5a3955233239c789e0f472afdf1c9b1747805bcb7fb21732b3a4355be0c41a191b07da80808a45283564506713e13e99d217c93597163b549feb80db0b02493ab46530fb0a316043225d195de069245216df2b83c82708b617b8d704f467782ccc8942c1e7349bd18d35f85057273ced73615c90f5e6d8f8563588f012e38a6c38080331a8f61daaa4c8e786084ba6e16c022808baeba4bf41c46311f91456df5d9c96c0e56a39b072ff4e338cfba7d78768729ec65ff094c59101d38553d2df46d85fad92018ba4b2e7646058290b4daae03d1f3c72770d3d4bf7fd2bcba85728a7c1ef9cd97bceb9640cd2464ea795d58d57c68113d1fa978251a4d03c9fc38b157167ec73a85019bece4c25a0aa5e06944537ea48a8c0bb8468876979d5cce4eeb2a3d4e9eb0f2799b0d345344cb0710cbc7f31d87a497b806c21e64f60d9c53bb1f846b87352f7cb959be781938b140463ca9aefdb2fe9d94901bc4c80091f97b76381490b20a78cf132b3148bf0cff508376bf42345003f84d207258e54609dcd11e45ed39723f30a0778a2dca72f9e7b048745653b901c51ae41e301211499f51c6b46fe2a5f90583c9a7052b65755d11afc0ae427de89a8c98e293059ae18fa87843015fe84a447a670727e24c6de738ba27b70e26872206ed305c9d990d9fbc9f897f89cbd0a357080057e0ea9c73d0138edb863064f00a762c251453159901d7b877cd930967b70f5c59bd4965855790e93b6c702f904672d164eafab95f38c71d170cb3fd63ef6a029de4c292b45c65d9f9a9b02d21fbd0af6c4612ded0fff5e2b6d9729aa3e6b27dd274096c6b006ce88a0cfc57e40294caec763381b6888405eb107a804658d2b2ecd0fba47bac56f9ebf6dd67a067802d86d4022e9415aa51f28b44f856236d88e6fd2d1bc40d4d12b69e5981a1603dbd6cb3a097b62edb8a55aa3e95ec9369b76b82dd4c175641da48b2dea674a54dd8a67b6bfac39f5cc09ac695c046297ec03384e481484c0c379262fd17722e80243310bd1a709afb38b40d3ea87f4f6745758a1c7f82c3f92d44f370db6862d8942ca86699b071ac649a8221928cb1cd0bf9b052dbcc5139f82318b99048b51a5c6f6f11819a84fedff0e52f1f4a55f60f2137669b229f9ae5efa4d065382d48253d66d4a9c8c9b4b126321068777caf4cadf48d862777507be0e6ff36500001d09caaff532382a36f2608f4f139c360a7895e0bbb722f5c687028ca0f1a49e4603ee4165ce3bab115cd1f0231a797937dc65488d06a1a239992f5e3e063b796e09106a3ebc27497b474763504b40ee9e6ec719c140a1b3c71f612c7c471ed0ce59b1b01ee1ba7148cda65b583e0bf61a54e48090c4e0d84bf7c6dc906b332e9f68a8ef21e50bbe0a984c0f048175cd0a0125468cbd5f318e74a4ec961087dc9e4135096b40c1b18f51d6d09241891a2bac3eb1fa9f69ade384d1ec5374774201958cde0a485fc0289913d22d204fcafc4ff82f6c0a1296dbfea500aee2d363f2040ecad58a8993aae1e3455c8dce8bfe9f5b129313e98d8d13b5d0c6c4a18b297ad830c1ad768514e2d3c612a66935bc14583cd4435e3087bfd19e3120fb8d0618c14d80805f708849a4ffa7b564f4441376a078ac9a411415754f87f704d76b45a0b3473ef926032e293972cd310849da531609653b14107cc9165fa50c262be62362d969017a3ee1f16e8912078b1d1649130263c3ca9848c93afa083059f84b0d337eaee60c16e161bc71a28d4efa77cbbe931b5ac2668739928096c65f08da079964a552e4bfbc757bdb7e80e0c61b1da758106e8a5f401cd6e67ce2b0b4143e240260c91fd504fd243683912984fe0f82257ade342568932221c34817bfce82b38deec30407879374c85e339eea7f28abd868a51bc2981cb68a21dfcc4dc7d469cedf4153b68604ccccd65d9a8b4ca681024e0884472a506d85baf2c5c9e3f2672429ae3c09fa9b52a277701877f15792c0409068676f4b42e58faf20b01e4318d6d00287afce32c247307645a7c4cbbf77b9780ae01ae67263e1f803e358313e67d09b2e9e3e3e94cbb6e9be9d71826a1042ef1d33a88a5b6f8cae8f827b61005f3e9dc7101cc1530cfb315c240dbdf41ad52d2d442e6a2e5840e80fa2e050a6120392d43cb949eddc26c350c29972c42e8e20b146651528ffd43560e16d36f90d499aa88bf2ee73774a011e4a75011ab8b237599081f02b7c418933dcb700a942a5f0ab75d0b006ea1f1037b7ede39019ab17707abff20073ba157e11293c32f2d7a9e01db5b4c822733afe2afcbfaf40d35a76f2a98d6693ef95e4ec609e5659aef4c68ddf916d32a2e77980b360700a10bba0c203e63f74e04c66a36b6793795edc672f0653d99adf44523876b8fa0f6a8cdc0205deaac3e0b4a610f9384a63f824f32ec1333634ec4060294a0535b55a90a1624b7477c924bca10ac5a7e51f9c0562a90e5479392850290ff5f7fa1b840b2311d92004638b513618956946c2da1f380bc49a7c5ad35f41534081e5c36f6668021adcb2407d47384c9e5a8b457a1c99537905d779f626031f56a09d4de66c6f2543ea68544d6e675350e5110dfea944b3292f970e1f45063777e5d184ace5764f00fafc1e3a760d43949724447f80ac7811d18147d1367d8b06414be6169a8ffb483a31c77c52a82a67b90d2ace606487202c204396c18fe06386c80bd47589c5896b43e918d4911033d212d4d8705634782a601f096f0024bcc16de2e5b6575b0f3f4dffd0545e7f9817441635e62441ad7bd24cf774b769915ae0404d31709ca3a1f88fcdf20f8f65ab2f40f1417f64f7e0a34d894a89e728c16613498c9f3a460f0da8589052ac91d29c4370bc56a471411fa0797fadc6fcf9408cad7071019ef120cdb5d39e3f36a5ebeee253cc1bc7e7b46691350086c983b3db4a49b92329e1fb40952ef4c4096e27181c8fb18d786ee338a1646f055e850a0b14f500f5d1eb389ea6c317276f45f20d849cc445c9f947cc4f29730f499d696fa98dde28c8dca7c098496c8830e2afacaef278a730e11f67700d7f6426f78de086ebd067681601fff63694960f6d8163321004e15db2e7927d5723973436fa86cd559cb45079abb9dfa19adf074dce0c380d1d96ec45126de1acea6c4ac91645af6a2ec9e8a59611a83f6bb123d40994ca9473999644282bb8dd6d4c149f30f616affa5bd1fe38085a482d1b0610a15dd31ba3531694e1cf62e0dc7313127f33a0d42fb11c414fe7c9f44a74ced1c9754916631c1e13a61fb7a96431b8ffa3e9e1133423826a50dd24166774894d43e7c6d5d023273aa4e4cf3a705ed924cf2e441a758290c671036d4d080fa86d0481f215c92871822c88a7c2434fda9ea4d35c53b90f3b3b26fcbf96c82dc775757e903f0685283251daa389c64e2a18faec09f0c255f4194f80b56dc5aaac5620b2cbc5825e9dd99eca1da184cee82f2ea0fdba3ff4a53c579177507c71b64405dd51e0c2ad38fa4827bda5dbafc9440a622915c25f7ce914e8bfe2fd78a9bcf6025fee80be385bf8173a5a268d28586d1e7abd090051e79f0994d9cce5011bba2f457e2c738449be56e40d00c5012e82e095a0bb04897a526cafae456bffa6a0be3a7a353c12d9538ae731392112bc5220d049298a94c4a1c7273b03a4eba4a9066896c5754f5a2b3d9c9214e80a8daaa02dfe8da7d4f2448b231f8d65ca3b02c62717013b4d28446a4e8f0af238bff65cf65cefb1ce692cdb0bcd3da0d293e91bd5700f821ec0179f6cc4c1b09d7bcbe1421fd39c8ffaf759cb4ed28fff2e4086aee5973fb731a4723ed21a9c6fbb4993c43d818aa7cbd7ca3abda37c68ecc68026d3b0f0c99d9c20cbb21993affd8972b232722851f56489e7f59bdce26f8dd820db28b8f5b0e96f54c900a59863b61dce52116af9fa4d73152098081c27b39b01c8fbb64e33625e0641af22ef77bd4f298d6100aeeca96457a2b4b339e79bf7c599b433004493c8152ffb19396ec308af3e2c96570102e5cb518ca2344840d9b760e1e67ca34f454d6a0ff5d88b30e362fb754e867295099dd0447c9cff84125741f111c1c80d22606d5062e385e23cd031f1c522ee6f7edc0678b90b27c86781f43b266bb782aa063927df6a0855b5ed0b5d0de4d18d74f2bdff5a0d1632ae8784ee1fff6a846a986f05bfc525680135df1d437f9cb8725806c2bf28ebdf925ede6b0db92f0e032f0a23b2f9da46316b59cc6d2163df56d7cc90709066098a56a19d7f695b7de9afc6ac07d846af4b62ac4ec708dcb5bbd866123446c5400134b04b98d5b6bf488e012dbc767a0b90bfbc24ea8885de5826a7e7396856d4e669e931f43316f8fe6804d3a02502861710626be9be5edd891f7bd5105054662582e556e139d62f1730f27e2e54af1a9ab2b25d9c521b7e73584fce3bd8c1802fb0be9132b88be69a3320b82e507a0e7ae5a3d6802b91617136a479101538929ada0476902221c2091eb4f99f1fc1882273df074f864f9141115056d590a24a7572f593144ba1c79801f49c83efac59a335eb40bc27233ec06ed07901e7214b895f82ada483cfa3c260390478a9adec9310d5342f25186ad06f1a5589f88363f863457ee1de79a4f2c266424a7570ef3efc0a559951d3b5fec03b1ab55116c6684796c7567390f32d22df6eecfa064812842b01fb5cf5066e01bc16af87f7cfd0e96274df039148fc8f53f1bf903cca0363ba94c62969f273e72799ec04f406e17f03a06764bd9840f6811cdf6f5aec016c62b5e318dd45ed2ae0811b4340d4eed691154c266751eb7773a4958aec041ed6c93c9759ae185fadf2fcbc36a6b122467ccd7447183f7b324f3af36727d364c8179b65c9acb4d00aa9880f330f9d14fe266a4323fa3d1b9eb6637aba544117f08721cdc0a2397d47925cc3a2e6894d77cf1d1f2db1a930768758a72691ffacfa05fbb0da6d114a9a0384117bac29cddda5d4d5c60bc4ff6aa65682f8cc1362009ef38650c47b7557daccca61962350027f14c61867931718b11e11c40409afeb2df88c94fccf318a9a19dc8134153da0e2bacd2048d5fd6b41f97903f2bda9549b862ca7d5b2ea78a228f0a6199a9766e7058eca88c3fcf283b634142e851f7eae0577bdcc15329d8dc858aaea2b8edd9bd2166043c42e5242a5f3d5f463428c261ac2a4b700be205e6a066a46f7994495be9191f0a0ad7e93bc8dc9353fc20278342bfc6e4eb06936d80edc4b9be87315569bb1a8432731949893eebe9e04bd9dc702d8b4cd15682c5c7726a4873e447ec05750b76cff0a4f82f22d189bd87dd78df5ad49fd8641808b29884394640537688539555e0d83400ddadf93a9efa3bb8b4dbe8aeb34e785fe05c97cf230524ef6b19e4ad470f80f126dea37f2d99ddd0439efc7377e760b8ad7024905c9a6dd298294c27d18630639e35b04de514a1c7a53a51cc2a8488b890ccb26aa2ac7aa515a28dde52218283c2a6060e7a9476dbe96cbcb7d02ea5401bd0198d7d9beb1b99debea6abf5575fa4e26d7c5722746f97dfc856b026afe5be456656312baa8cbc0eadc819cac585d1efb8e174c269fc9c5d05fab7c8bc901f468c2e06e438319bf02f6881ca4ec05cc384467b8cef0e9f69120908363918bc0c3b12763e272789dcb9bc8a28a4b8c778e48e406687a0244846bc036bd82e3ec563a10cbf8dce4367bf4c03c5a579fee53f543a4d493c79a85be8e58078576903d76e30d1d8d74e9c0b0a2f0955cd65325bbc76533573f6050d6243ae261ab5aadf7a330fd2351180040c2b98499acd58feca75efa4dcc2497cb14715a5517cadb127059d906efe6e9497d09f2c1b9978e3f1a4d0c7e8643443a3d13426e5a2aba0292a081709b0f55f99816c9a94d98281f798abfd1794851546370a7fb091cc2ce420f7aebe3afa70682d974966ebb5b191e7d5763f5046c747ec1cdaf3cbcef8f7a63bb42000cd1fec136df133483a5031d8a40526ad1b943536db785abf35083169486368183f591e4dab57378581a4a269db68286b55149ea6f7718581d912cadb5d398cdbe3580056ca680c0789f74bcd3c721fcdfc1ddf48752a08c77723b6ce1dae749221f8b496846d6a064696813344c9b4aa6765b87c1d481a4d2b43934181d48f2e6364184950949eab73358d89a4be64d1b858125c390bc1e22f14d3c605545d7b7127783d3059fdab0cf78fdfcfa553f303b9211462d504f652a39efde2267ac45ba930f657f53d5f7954ed9a00ba397deccfa50134312b3dc27fc6d2acbe7631bfec13ddfe30d4e00779bcb7793e41a33688107a6126867b935cd54f5ca958a7193889e9ad3e92d94464c010016a26e6683f1b20a89123752283c4f94cfb8c6a60b97cb96ce62557809645e7071735996521a66d68492922abef4be1441e7959701ecd8ec12dfcf7ca61bbe47e4be4f03be42177c3de8e20b2d565ad5b3cf3ce23b180b5f332df842ddf055a1c7d7bc135f3d55f8427de26ba2852fa43bbeaa74f89a3ae0aba3025fb82fbee6345cebd8826204695e27f8ce82412acf8ea19b0732f817e99fcd24cbfa0c0af807b139e546d4cada39c0ce401bf8f2826f0f504d0d325c599b3936216385a14e7fa3bb817d515956b4ef5e7ceed7ed77822ebf9f9edffb9817c58992f5d32b7b2ca33541b43bdc895f9522ee96cc6c3296f15e03313ee1a604774e415211be5bb7ff6823cd8e7471dd381b26c9f741e79244bb00190539f30336258b99f5741cf7a1083997e3a88e7599193981acb33c6dfb61a048df383aa0ca374481aa0619fd29afee86b6e982b3ace0cc37f0b9a50c1033c38ab6ef6c28805fda362872acd84d38320056b7c5d4a5549cc8e16192bb41999932211fe22b8e9bcc4ab23d78d292943ecc7f4807aa06a38732455021f42d4c4d0461fa634d45dd2529f331586b3fd9b224422d6d4f7b99e72e34ef0624d88ce83b6875bc44fda9ed28fa67bf4a2393fec344b5b12cba0ccdbf09e95de0bdbf5815fb389bd6068b298a51a817e227253988d98addf5cd6696bc841a557946c617a55830e3f4c43e12528e18fdc9129be3ed0b752d77774466649418c0ef4cb8c23b47b551d441d3e0772437525056ddf2e78722ccdd066f258b1bbfa709d0229173d48e054bbea710aac60d679052922f5ea1af80f22f06ba13e5e57247855d9c1f2776d4e8d2b06671cd29a1623852213ff396bf6b9e93957159a6063acb20246365c41641cc2f5897ea7663848a31991dc2fad0948c1ec8d0de5cbdb44911f1a836c7a4714247a1b2e35097e1d12a8e8ece45cfe8f75067ef400fa019d8cc57bb0ca390a6812180bb18111caf25fdc54bd26f7f2bdc4dc632b035d36cc3b3eb2c203c1b97f1baa2c617bd13165d8b11b1ed1713df28e578f1fde8ace9f3fd774d89a9e05e645dc427238dbb7aa0c7af734e9fe4a617779a47a789e48ca1a969c504133606fed292ca104f9fcbf9c821a70cac1ed62a4656ced7eb7e8b021eb85510d1517156790d262ac49cc93b719ac8368eb2055da904f9550e5c2488255f1fde8038c1fb46723260d7402f0c369b1b672c160d0368cfd7c51a8ded3917bcc40514f00cfc850b8813d0eb5d6b2355868f24538c98d7a1c7e3e536f7f47d6dd71a806415d01a5f15366598f7dfb57129ce6f4641679d788f80bcc31f1263348a01b5ae60bdede0ccf92b5399516a999a6072b6cf991beedef0fe2e53915bcaa20006fe5f06b0329800a1ab595aebba9ecede843f6b8c9a4903f970170c7494b01835fe4a65a363956449edac3cf495133f78438f4064ce5ce381109801b041610fa14a4d2430598893714c0a896c57386fbf0c2ebe80d75c4f4022d207bb5ea7836aa41a67788ba37955620097ad9385e8a4d5c2b09c91a48fa2d11ace31208ad3f103bec6070d74bd254835bd46a6c0acebb1a60ddac30ea3d453374473c879ef41bf646dcdad63d360076dfa8fb15868e090133068e5bf194e28e59ca57bbcd933c5723d2aba55bc8deda01710653d86838814066d5631de3c8104fd2db8524aa5374965311d6f40432d4c0b2eb30eb4af5c36648a5854a6b3b25b28bacb3800e195cbbf888dfa89ee6aaf69c1aa3978b7577cbc8d9e6e4b5f22845b1a321699cbe5f4ccb42e3c4462f481d8583aff35cf09901a1434b1cc4539c90b6ccbc6d1ab313771dc0a2d21c592d8dc590e5c7fd3fe8b605519b93415f042ce751e2323fa000d5820e8c122de76a0cf5b411a47317fe1ab6b7566c115b8fa195dab43464023cd06ad7e15247673e00ea46b3d4d76e967620f15da4b0c1a9830d0ddc3822b6206dbd68cb35861e701a8fc89f1493f3a2d924a93a59db24d3c1f7789aa6896e83773c6433c4cd26bc3e0cd86769b674603bca54330b808e13ea8de4d126495e1de73996cdf1780e6adfb90f0bc92c0d769f1a74f81df4ff0480cf2b8bed0674fd9cbf40f510634cfb42abbd1e97a83e7473c83c6dafa761d54bfa5037c9f7b5c857394683c2236920c82246d5cd7d9f97ccf6e9928c7111bf3096328becfc374379d005bcf64181f96d596bedc8635fb167ae98beb6278f51b84b00e802320bef22159af84f881bffe0dd85ef152b370b9671248d34fd6b216fab426d568efcf1b0a2044c84b31f4b68b42758053bf0b694d84de6c3b760c630d3df2f10db4834525fd8afdbc11c1dc3597141c13bda0f5b813ba14327bf3f3987113dee0072db12ff57e4067a1bea798b93940114ce8815acef02a12b2876789d5f7eece4d8df47681dc296c13742bbf15b9f73e9ea94886f338b87ed24ea3ce12e647892d2bb44499b1cd9905fe0a4677af0b3d9eca3d23b459c19addb4ac2820b2fe42b89a0acb157612657cdc223cfcc79e347b29149c6e659ef5a5c840a47ed37c97a40db608800cb2b7bd2417259688f1a6db14834a9256ca421e2545cd515ca9ac967999938ecc75e24d51f92ca5bfd32c21235b6df980065550f9db22337b48416f8d053e77a69decf0c1d7f75b6d37da03ff115b301b53a97d090d4ccc0a478bd23252c23dff2836e8c978176f4291135bb4896dc0f843671196bbb429c9bbfa95fefa7fdb042179dea7ad601590c1e2c839654402191ed97f00abf40144162cb28b1ae52f47ef1153d693de9699984c1fc39a6fc61f06e5bb2c0689ca96554b4c482ba15feb111cb3a6798d6271c2ebbe0e04a4620b38c556efa9a0d2c5d23541661e142b852a766ef9dab0528e97218b5c38820a634b9c5897d2af8897a3adde6acf60ba2e2cb0d3188519d3cef6572180cf56189651d1649ef189ad1375007dcd52bceb2361fbc341a28f8552c6e5466c576d270642e9818158fb9a6d3b448d78e9c741057afe99b86a9aa319b607176633c8898db01a1a57d524dc3f227edae4ed24c83d92df03638979c9d0511367e9c4d802e50a144824b19b6b6f6a34491ef888dc96e2797cc9c62412b9d767e22c932ab5f9ca4f8fdc5ef4468d91fbbeac5372519f73a519c6c03b8326d7558cda36b348e07b419212e418c8cbcdc6684b3aac62adb68386390d6a70f8a631c8d71afb73748e267f24e5092cfade8809cebc05dad9e88fbef7850206975b6ea2d32be134f14ef95d39c5b85ccda70b7b20657f6b011c02f8eb77b72c9f463ee9555203c0c5c114f9a7534db4a2b0a8e59e4923f33471cbb716d897e78f9d6217e62323436b1568a645af9a69e4826e1922dd7025d776df48068641e76d8c09dbe42004c600125abcb3186e870ad5a343ee1cd50685efc6965a5e046cef6bb78836478b14376d822635a6c10a4bc76449bf5305b11ec7cacd997b0631965d5f4af2f0bbbdf7b920f07f1c0cb674e5b09286b3f352030364ae95d07aba6f1baaadf3fa6396781a35122811dc1f9f0ffe560ed2b1c85efb4ce5fbe00ebe9dbe5571bbfff09d699510eda2c1e7f4b049d1ee04df0b96713e57e5356de03007e98cf5e5821dd34a8119888fa6a0593150d67eb3d6d3485e4cd4b4ee0e526e51a01758b844eaf4909963bfb1ac5303c0bd5bb785db3068130c29c2f0d946c44206c0e22c84b585f8056c0ff4c28e3f833e51cc8c186b1ed3941b9dca3f4287df80b83f12e41122cd4162b6560efa9de1c5686cbabf18db20348b65a575adbe66df3e44fa675f9c90f83d71a85a0a79274a245b590121ba3087f15ae4117915a79fdc682ce4bb046d8a8c5f48128e04822f14ad4c52b6401cfd0f1672b8013bd7f8994785a641adda03e8c04a7424b88c9290401a34d66899bdc97081677574900937f8d3282b66e08a1a0c043fc47ca77e6f089f602bcead30bd7a532c9d305952a3870d933c7ee4d9c929e09f4deed6e4a38856734c6d3206664b1297a193e48bbada2e15c6af4643e12606261796ef308a83671601d6b9890ce5507e6c155948b16eea2271a3d6ce4e5432506ac8300c82e42b4e9612dab4ea2f8a9c442d7558b4f19e8ac573e0f53258c12ee1f123fb5d8d2a4afc40e948e18cc13d5f58a4d1a140d40331d1778ff0eeb6f1eac0ea28f6c2c8d27ae399fc37787e1a8d312a328ff15f229b9dd17b07e70f0ef1ae8952af26aae6c5c0065182b17708ee3106ca030efdda36ca1ccb9c1eac7f0b518c1226083abca88bd1cb3e7f8dccab66d3ee34be80264cac6474c672e35690b970ea0ffbd0d6516f8744b592286e44720e146c0c71e826d0a0d6ab6628cc0b95d51894b11caa2abe351b22478f2b16f5a0e713e8aad553dbde4cedbd68ee1789fe24708c7516a42f522f9d20ce93b9c89616288f13990f6d03bce919ce6bbd205b4b2f678d28d09a552576365d3aa820bd6b2e84f330700903b04b90267b2593c615897717bb73f45974931c7c05e06df01cdd998727d932ffb74ee522ecf57087e151b2040b1bc80cdb10df9c41127ed8538eac6d63205c4f5cb6a47379950c84840f359c6ec319d730cd116f44e4634226fd6ca5f20f2cbc3ff47fcc64058968f1374c42dc5b8c8ac889dfddb79fb421c4e10ae364e949f67b75804fa8ab8ce8657f7eabdd5ac0e9d8b0e5f466f7e75c451fd992d3cf2e82363d7c69786c6f3d7c836a15ac4ccdb739976fca208220cd97931be6dc142ee79c87524d491c3076a8b234b2d6d4d33b97e8aacf57e6d07b2efa58277a0b32bb2ba5dc2bb80b92bf1bc45bb5300e4808ca63b9bba8a69bbd7e42deaa90cd052f7106598788fa0937af1715b25daddd3cae188f5168f5ad6e7c6374f631100d516df42834e1dc7f908390222b2145d3adc094775178844988ac3f58bce4e9721fd6dac5d317ca196621fb5f2bce704e8b471ce99d8408b48e2ebfeb2bf407b08e87fdacf3e19ab31fcddd2baa02d979951f62082494641f1167a52dbbeaf6273269d1ca7290408fea4ca380b64181094e78b806f6358abfe2db3b6814455bc1e12d14cfa2bc32fabb4b973b1939c239ef4aacf5892a217d73b2ddb76c801b308ab70579fec1adb1986fcbed856126f44f10e60db76479fe9e9b129252f4bdaf6789f4721c5827ba44ee61e906ae2b7b25b0955507d3352ee410387a4bc11b004a126a72c109bd1d5667161d07f3712041e50d2a1adb28a237f83983f88eb18d7148c813ece31fd0865c6e8c79e3c563f153a3a04463c365c1a36a2c8f2e634be30a632ce119731aebe1438279411d187ddc063111c4d138b1ef023ca7ba55eb88ef66c6f9f25017203ced7d54af5e3711e8cfd15b20f44d63f97557fa5aae0dd00123315cfcf9b8ad45bdfd9058ec045e5a2868ec214651e91c2b46d1864398e6446b212f34c0ad52a550def51ce3e386694ea6550feedf8dae43233b3fcc2739b463470646da34920dc2dd2622f126c705ff22ea816bfed7db4e92792fc9f1884909255129b3b553af9c617d51fa37bdfda282389d8d00ebfa5f52e29c56b66c0af5029896e733bc639582bd064da58b76d95611d058d43ff020a36f7aea9bd8cccca4d4a3f93be93ec13a14b92a38bed2ef2211f72e824b6eb78f24536b35010e3a6c5570754c7c685cae535d8edd72519fd8984eba1fd72b0a90924ef3264c01969849edb369de90acd50b38e944ea48d6433e3f2968da4ad9261ce2dd356f32f99293fdaee952559399760d2db3e55fa2803aa87c6b2f5ef792a27bf36221572c68f2fd6d1cdd1f360db263a5d5bcab8c6d2bd70d162ea3b09e4d58b485f79791e32b68dfe747c42114bc4bf693bf0d350734706b320e89cd6044d936b8202150f6ea00b0efc4021b8109121f505541a0935125d1bd37b7ed58d7eccc8a6b62ada52c4f60a3217646ab590bdc024139c8b73b5d4917c5e3d3ca8c5dadbe1fc1e7a2c10d38111793a1cf8bc4af601234dd31b2af18ca8d0f76cfe3edd2ac7d52091e6a8f5896b2a4b77a4fe659dd48c504fddcb6110ccb9924735b354eb30feac89ca334913ceb201efdd225291ad5d0bbd759a54f793e6268b2221a2b5a0e628c4490c59975ecd2b6a98d7ff013b15ea00d4c8a28e334727f8aaa435c3f741252471e4a4c85daa0dedb8ea0b3cc3c903754d1bc28dd68530e6d67764d0d5b1e2d7a451b8848d889c2ee6fd1aa0de9f8c1d5843a20c0e53aa131553182506b901b3bf7085a164557135c285c6e61ccae3c28e6a457b5fbed311fa72b2009e8fa232198b9d22a4cec90d44291cd72fb3dfda41cce546a14d060e4bca1884f6a5d556865485ba4a9d99a19b3ecb3b55eb5034ced90bfcc4e32679d80aa1fbda6da33530aa7438e219c2f3535dd14e72943ca111e39c4c7f590843db1e114fba37dd0a996bd24254d3580190ab2315470ca7f77902e2dd95204e56ae1d34154ac7e306e34c98d51ada136ed61b9eb4435d54e86368da1c8985b42bd69161aba076958ebe1acc4773d4ee8906497d49791ec38fc3d811e1a2ee3b2dc6e8fd2fa0cfac2543eb9cbca9b0753b28cd24ef6ae073d844454d312251e3d80ee973f11724878be446218c0deaff2249bc444b0077a0d9c349f7c02678af86ced64e86717a37cc048bedc1a424ad47de586deda3a0d53064b0b048406e53d28cccc078ab0c8547b2b3b2fd7f5ea386a74934be4859c4522cd0771bdf427ee14207fbe0eddc6269d5fca250d6158003fa186ac06c63ffc9dbfbabdd8c46af3b053347b0396a406d8644fdbf6b3b845738ab8ab47218098cc7c8399c508e12457914d2c5425db57fdf89529c83a77c1fb343262125ea603d1c1a2f014e14f33c183ce5151d08ab6c31f0e5ab811fd5c6e9657a0e5c108e392d27814df39f069995f9b49622cc2522bc04eb278192bbcd1881197cb1d17f6ceaa4d81d20ffa01ee402a693a9b22b8d17967888690f3d44caccae449dcea907c4a3b44d8a5e56d9e244a6064398a096c332562c074e214d0de928413e3a246b803702329c81749d2a6d0206654832043b2cd39e8ce15d2a330a78865a87caaf5c83796d0741585531d74a48cfda1de3f673c9b03340c77011c05e9f8aaac91332170b639271ce871a052bfcad1e5f3dd6824affdf8986bca36bb36a2f7b2b21b8120b82ed06c07dca32a2a684e64e648737b570c20ec63bbdf86dfe41fbadb051d946803645778c62e40c70ec39d336fb3de69e03f9f17b73f40f057f1781e45ce4b631387377e1996e4d42c9c8e20a66db31784efaa3c4e4a12ab1d795151ef29589e6f878d289c7dd60a157aa56ad68f770d957f8a6739da813a1867b31d08ca3ba0cef8dcdc2eb2431f2e913e6bc6f5767eac038d18687369a33b8acb3afb42c0a9392423618490df21483eb19cdb45188d01eefe13b6f81506ff1211e5a5c3acc06fd48f412a91fb326283a022da6164f75f9096f9af6e6b0ad94056204706c7a37f07b8b66334bfa6615823311ff7f0718d0d6100fb2fd783f8cb353e9d235b32851a40f89aad7418473941caf2c391249f5cc7db682c1d01d7b96201ee44f1dade7e70d0577cd92e38f1afb938ee0d786bcb381465bffdaa9bec4aab264b04a77d0c1446912f799a8416d8975a99a19485eef64f7de7a27bb15de31e9a5218e642879b1d3e3434137771a2ea85237da36557ddbcc15e6a0b4916a06c78acc69e1d8c168f3e5ad41298e4ef8e1c8d5faea4a8e70cf1fd40cb9356b4d9fd15593c67d744ce935596d713e9481e78c94d330fc005ea14940f3c095d27439c513de43b3fa23563bb01c658e39cc94e736157cc9b8b94f01eb4915e132902ffb537bd9a1b7e251ea5e37fae3e0d89219e50b3f3d28d560f4d27dd08d58c3e1331eb06043b6e13ddc0d8cdb3a4dc95f19938d485fcf1034aa4b3bd1005d7449350e8aa3a9694334c7946c5d1cd4dd2206ef6d8bc2ac2a2a23dace218567485d53014ad5171c856635ca3984a68d205356b72bbb80b895871e8a824e397203bb660ccf1d29fc5516ea031abb62d8e41423f3c7dd1b3cbd52483002d0e85027663acb8419ee0eef3f3872f6abd8edb13748b311afab0c5b12917c4b74adb9e186b71447368846eab563c616f098d26e73b7132b70c74c0f0b883588be30a4eaefc949fb34423890e3122b892fb0cc58cf621c3157df650301bc6424a2f205ff8e145dae9499a2b28f771712c9ee0ce01626c9a3818728635d6b1555e69c97f311932f25ce757a7da8dc7896dd347e82a1ae17783ce413c2e66ccb47324bdc54c31c1737cd0d226e212e8398e1e2f55f5e0cea383cd87efe6c599be1b021c97fe161595d791356418f51559c181b54dd96b158cc1ee1f8234e94f3384ca76e7f1907511614fc64994c4212278111a23c0ddad312fe5dc40bc6e5e7b118a1f01d483c92f710eaab91f0d24db492114dda6d356d109acf1bcbb955430b1bf1458dc2c92b5a442e2947db13611261ff37b8d7a94b81465a8e154c53270d9c4f0b1875af91e3eb7e58603e309afd83644acd3e0509ec8f5e6cb443998e0d43b53c9309a17893232d6d011783b39a1b43d891bcb56743a8da617d2e71c8bbda03356444afbf2bcb89241140e336efea04ad6fc16e72e21622f52e144c053dc237106544c3c61cf62019a02e890101496797280e180ed948ba2c43da9eeff02a737ed70c314e74e56d9b40eecd7599129addcb43a2e0bfd86582e2b317948692c36c7073243220f4bf75d701e634881bca09e683992880d51c8f87703b2df63a3cbaaa16f0a237a8b520b48da160f872515a6af3e5e84abb615a3807cafc41abb2f1777726ed8c9317d32098b69852baa6cbde12bd5b0e614ad362a7a3decb8b4cf340660eba8a63ae266ca864f90bba145b2a56a1fb1e7eca5d5d18b2659bff355a34960ec5926745e8f05b5a52a9ce4f2bdfe0e3d771206a4c445ea53d1da77273ac662a1016cff7e54c1e7f051273fbb28bdbd8618facb06fc34908bab13938f1a9f8d16a3e7fe6316dd53e0cc059c3e974870a64d48e4614010b4895218083aff9aaddbc221c21a7d733f7760ce2f2f95522ea0e128b55b9ea8183656cacedd0877d8dc64c6f7a175608d8524f707aa7930e9d8d4fa51b77a771cf33bd257d45e6c36444bfef8b474efb37e47b058a530d87e78e181e996d4028bd1f28720706da28ecb948798d98f51e4f9e7f8524d25d3050ebbeacc10ddcbc4a79f4d41ccf6ca00805eef3f84c716669d2535a40b960ebd595243e321ec06114079f9b6450e9c083c41b327e9f67e9326c8dd33f80a3293500a3eaf6f6f6c0bbf722befabceff38f3a405c45a93086cdf5dda2bda618ac286b05e8b827ceab502f116f98e6c5eae9e4b7945aff25f331e91309426695d06bc0d207f87fc572f1ed952b824696bc090eb4525ebeb016f44c845d9f4a9ee4cb7c3091a02a5693ab568365c76440e59c68418d91526c58b6386888bc2e04349de45b1cee80971213ded507c13dad92681af2115282c6ac7dd15a00b14aeb50c557af707dd369b0ce9b881ad5c64452b79925c7ad1618f4ada2d5089a5791dcd709e441de593945400a64929327788f83648c162a314a713e40304310339bf1526483cb5d4cfc1ec98b37b3cdc5f197844c1e68556b7b68ba9dae40ce39b92080975a8dc5ee8a1917c4c73a41eb2c81937c03a72cefecee61efc2d2495c1202ed871f5c3e8766cf88af65aa8088d96a43c37d6da474e7aadf0df04cc908e6e821b9d42f06acc133cdd7415242c31010d885ce0dfc6b8c9bf3970e67e712776dbc748df7ad6afe2a37a93d3f9362b40137e27a6f5213b9261af6df5f84af8218945fc5773964043cbad0f24d05e6fa3af321e0c4de35989051c2abb3d62290818e355b6eba96802d02f71c09517bb7d2c39f0a5123f7fe47122a1b6ed57923b411f8d83342f52f798f0059e147b2e9272b0d3143c3aea6526ba342d2d53ddd216fa7ed8e9bc125654a0ae6b6036b43efb38ed5313048f0a08a4b8057bace1bd831bc9da68e606e3ec90b8ec9c32f765c198f92e071d7ee8aa778ee238f2039a685b11422bde330ada203cf9581c49fc20ae4138e248932af6f7f6bb5b47fa98b46e269a671510ec37fe91013a18cb44b35300f604b2e1c82fbcfa430b0169d9fa20142b3e8384e2ab0141ff0f08ebf8970931354513970ebea0181f43166b31c0c54871c1b0ef17d016e3b680e8f663cf29ead46e4aa292789e313afea78d21ae107ff12cb5c40e57c76a592f65969bbb7d396465133f2f082b854e610437cb0b0669a9b62c8a6cf618dff22b864b9a4f090684916c65410acf9c8019a3b308d5334743577ce6f43f978c6a43a0305fa8cc8cf2695ead2d678ff72e288a6199db7c77ef76cbb88cb7a1a80d4da28b0f721969cb74730e4f47b7f70cc54525224d6e31628c6a736cb741b3a3747e59ff65975186341a21e2fa07e683457bedac5a7a6e6336398504e5463161f062f8dcf68595012ffde6c7db3edb61e3494c578a745a14b43eb48d2bca07e3e4792cfdda3eb16a5e758ca30ce84324966f4dfa5991ea7a8ce8091b3d4e96a5e7da312cba230d62d1211ae13fb3c3d415271209ec501ffab024019b26f42d6507612a8df27b331ad4361551839e916fb0d4d1e88eef097ebd96f60f83388e83beb51a1ee668c4e18f54129ec1267b7c95866396d2406aa923987beebb02cee5d0ee7d038deb5f1e5cefcf79c1827b7dbce84093e07b48c811ba1ed65a070b904d049ee634c2492e99dc56c793c2588b6a6d34554d744aa4e4f11326914857cbc3370c21846f6a53529860e6e410606103d6fe2129aa764988174e6ccc9d2439fc03c1af0824363668b70eacabc15a903e0f866469702a433318bdc1b8f81ac96831115a990a34e047e56a996d8a35f1846634f8c2b7c97f82c395cece156038eab2188b0a338bdc0b0605ad6cc8e35d76802472e5e0e78e5e8a6c92953b002442c04b254788ad8df072dfdccc59204836f0f0690679dda56375414a643a367a7e26e2fbd4f5ce341c4cde4c0c9e0b120ea005d4ccc55c4dd9b063e41b860a33a41bb866a1c60f6c3f82dc0404333661142faca881a082c8af6cee3280b059657ec719d10980f8cddee4b4393bb83369d895e42434cdbbd3f091f64641aaf72195f7b1ca0459c8f3600fa8d8d6498e3d316a0f1e226dc57bf53959a61a1eaf7ce973c48dffd50c9ae1ee3ddbf7e4acc9bc9f6dd8a09b1df801c8a64076871ca2968666d4a959998dd20b02e33234e0727b2e7440c9a57b90b0048068814eac53aaa0c487379166a1a0015771506294b705622fe4edeeeb696b80074b8b0ce46efe6b8f8506b9de47d886b0d7af7305276160af87014c54b5b6198153d6d0b32b6f645c7a63497b1aa5894ef4578d5be9a751772dff7840535644ad040923225e4f2e283feda336ec78f2a0a316f4efdd3701d0dd3d4b72671e7322791c1a877db4249f0872984e4937f991b33267a7800fce59aaf534f63079292f39a8c071c4e50c3c802c0b892e44cf343fc538d88030a154db17fc51ef8587e772f26382e8753d34001a5f20a70803418bdfe61803a43e6008ee1a02830ef166f013aa76207e5fce1f7d0fb3ba9ac6b358a49e8291dabe1aa4b93227c07ed84cff514307ee9c933e091601a20cd00625293654d7b62257cfd45720c37f8118fced40396776272a0d0d92a70135cc8c01a6b2a4a47029913d1dd6f485b934767c0afcd4d618a48a3b884c3c8691c2072c1fcecd3ff37e68ecb433698d77a53e794ccc9db1cb002dc22ea3e52b7871e343e33c0b99793be1ee7dd1e97c3964972cb66e7549dfe3c581c15a1f2fad38dd9fa21d34fcbe9ec4ed22cf8f3e95ddba6d811c3f6af79e160962071dd819421f1c9aa3890a09c9adb6ebb484c52eee17979ab7ccda0c324a91ca8a86f734679c494669020fa4284e3dfc81663e63f302335981c77707670a917951ec33ad57ff86be1ad2be59321291a313d3f009b56f4acae4fff1c270c9f13121bc0133145f83117c355bb4d513a255b4917a26c0b89f106d312acff8df7dde72fd2b5355e6d814040d1ac47b2be91e4f5c36881129e3ff13a9ad619813fe133a6c9fb2944e2c9f43968ce6e7f33c3f4b8b0e6e9e6e039a66708db0d634132af35cd4e630816d7c8c9d31cdec073242dc2ddc8014f1d8f0139260b0f4800f8df8dbeaef5827db7f7b52aad26ad01dc13b6c83d6c524c5dea8137b3f8ab3b39ea743e27d8fea227e1b30d3db921ca1e4602c63e6283f661f3f1be1129212e2f19890fda2c24a60b7070f6778bd160ea2139640cd9558b8b8eb58152e921469b064c210d60544b0c032a4751e2450a7ced870addc6e6e58fc27c0ac993d5003844c7ba275992a8a834705e84e8167293f07dc47472c25cc5fa009c4ca2ce3f124ec99c290debd1ecf61aafd34a903ecd1146d842911e5ec2796260ba7622a75969c1e24faee7afae5e192a00711420cad2e659dc544e58594b6a78db3ad24969cbe6cc35115503c227a210d954ff5be545c420ce8f53153d120dcb3d071b373f5db3f567d7338f20c8491c9f934f3085c286c14b67eff750d2a82e425d2d94b3f0b7c4b9f55cacc8c3e9bd2aa19e1e67904f5c0f1215235b062eff97f2811ba655ad48093967964b9c69f8c07f59011abbe194da23a404b481bb096e84754992dff4b09d687246730b95357925c33ab5086237616bb0436be7479ee768e76bfdd2066ca021e65b1cd944d29a49139052f371e52259b11b723f8e90805a2712536f464af02d6545dcd8cdf5d50797edbcdffbce852a911f25aebd9bd1bc329a04b25e42c947435a2080500af8f469e90f0eea6fe8a4b2e0819108640967eeab0c40c5f3ed34947fcf7814513ae3360d36534d06065310b25d38313314a93f0ca6c5040546ae1c0f4ff9c7400930c1001e13478c6c8347d07f0bd64ad41622e9e97338b75d4e69fd41b613123d625af00218981da218642a0e0d23b0827c50fc1790d644df2b926366060ba00ba4581048f455610563a804500c41ce0d9fe2288aec351833de66c7e24b0e5f1e536f9962c8a2919d658d6f2ce768f85831bea08011e17b073280df6783159d18b39b1e74a27c8dfdb0b1053c52dfb3e4db918a55ae9fada74b3658cf9f3314d7222715671d6e9a2d1a5854f43218af36cd8c8083683fc180008f7181a936bce2f4b7974ef1650bc777a609ac93f09d86386002b0d91f28fb417a0818609a04bfc28a8534156b9068c5a0ac9b1ba260a79a1e1f61439ce74ac7d3370f498324ba6db552a7cd1b56094595598273d442fa271f261c9c8888a8b404643d327cd00857e729eadabbbd0ac14af1c1ca6748b18e014d892742e5afd144e69df97024e527e38508684e9e60eaa34e356b38555aa097f138fd50553a06611b00197144ce2be08e18c0016055fb160c5a3c08ad3db5f201eababca3c5c392ed9610421c73d9785c1cac5e943f20b5b642251b3b0c8532d66f5f0e97af23260309a24850c0de2434ea6ef28d1ffc8a86a3213c8236ad7d900eb67f454c221dbf06def9c32a3b1c69d90b7580c47967cb0f985f37974dea4e0cc0d15d76f5aee10965dccd7db18886bd1a503886b8f0206f9633970164a86fab73265c9e2b58797dabc1b119fba0cfddaf1a06fed3e9d857e5fac605c305e19eb463d564a08a94d51123d24271b6bb871c9b210f2e28b51c58dfcf06974e0f08a8facc008b6c9418f83c0309ddb4cbd0f6a5b057fe6909792cd5f7bbf84f9271a0f21313696c2bd2c2579918b72d09f730ea9dfd0ca304806c6434b17045611ee3024308ccd4b812d06743823887e583c4574f079c43d4480bc91bc23e8f679b397a72db7151dece31f982c861dc2412822cd42a4bb97111984d32ef56871577ba9ae97ca197095c0101a6309238639f5bf06513d2e2307552e40a6512b2d1931e0e28adce2de7d23064cddecb64d53ffe4967b1643973dc7e3f229b4f4b6499ed12d2d803be4d98d082f8a0326ed59156c3bd2170df94e056d69c91707b7f74815ccc9f7d2e301ac8c6434dfe8486eeb144eb292f9756d37ed51fc731bd6ae96c7bb7829391316fb5a46dc7bb159bfc10f1f1d2cb702e9829f09f59cb48e39581424e13bdc4f214849aee3b005cded65f132a63d42ece2cf21241d7d57836dbb1ce20080bc7208d12afa6a2043c8ba5b1c7e199ee6f5c8466ff4307c31541179aee920c95f1e286e011cccd1b6f12781fd9be42163a88d0ef2f51420cff08d35bf7ae7026922bf49332f340d87167c42dcec8a1768036555f8c100c143637d345892252f67ee8ad8ed6c1a6812c41482721f3c12c07c0acc1fba7ac068c97c367603117b6af455ced54bafb1534008d23a0e47ee9a65d85b18351f3357d795efb52452a9c17c39aa959f6a16648bdeccbb16e5ce576028fc2bb6630cf0b81caa550abe3fc5d5ebb5b1e83431f98d2a90b1f317ab34115b6ff6ec7ae334b218b330d5e2a65145b44266ce62f7a6fe70413f7294a17e6a2550f03de93d17f07e0d188f0bd8414fd881584bcd800d2efd1ef66e8251d54b861df109fb52b482825cefde57c008a2a305c36d9d981a74563625f5063b1a8da3436b2b3cb6d38942e3cb9838f4ac9eccc4363c10dd056f6de9c526636d7345922f5aa233271fe5ff005d71a304cd3482e0294f5047b2ee49d4f382acb74462f02e66cce125f7c52b3c67c7d67b1ecddc4ebb6c9b45e2a2b705e8fb63e7297e8482911e50c33ecebdc019f8584422a2481b4b03dc4345dab6d8d1ef961e4ac11326687a901d08cde9302995b317cf7690b65adcd1e469f95f1fad35eba9618eb4614139b0220d80f3324047c8e38a435abc09f11d72028d1fe5388c425340e0a2c3b89769b10417a1baf09a7d1951bf5872d1ae0964b6525ad009c8bf2e4663945fd489e7b76e0b4822bdcbac9aabc7a669a4c4acd3fc6bfe5afd7c87fdb95159026b51ea36d772c5bc23c18582e5e0b78d3c9a0a583f37056929d66c6d0800b5347e647a0dcfbcdb52d8c6bd5afc8a27ca6a1ba07514941a4f605f860fd3bac069c6c5b22d2f6b6b02bb671a7eb3d7d55695b9a4414bdda0315b3dff3a0dff47d35c23172c2a327ccd5fdafbbdd03ed9d568f66009f010ec8344b11ce56a974fe881a58673284c88eeaea014be90ac5e129ee9da707db4a36b4ebb957680fd2fe93b7f56d5877ea61da45e3369dbcbd9ca394135f6e9fb4145410ce03e5687733380ea6bc09ada40f9c991131eb8e877e51cedfffd58e3c0ef6126eb8624fd2938893f7c1a76475e6020c437a5486c7813c529155f002e464da48036d58b50788570dcf92d60b2caa0e44bc54c79e5a3b2c03c16b9a57185dad1a7a67b6942881e42c0722e6b388a35cd1ca35de69c0891549853eca04097e01709bb5bd56f7a88da4b941563b0fe50a8cce10776f2f83465bf69293599595469e5414a47cedbf23cbd32a0adcf33a08d6e09a7c079b6aed5f8b3470af0808d468da220bf88394bfba58b3a9601662198b618d3193aae1f577e0b56fa2e0f89bb28b764890cc4dbd4ffcde54490a579449ea4df21845f3c420ef2ef370f50d0dbe2e5683c4360a4bc75b5b8b15aacf3d2e7c554019661b730721d48f95d0876b6c07dff1e03cde1957f6e0951dafa8bb426256227af81d1af088727ef7a6adb953751379eb38baeb5874620d7f080f8139eca4db6c2bcb3625179d68df238aa5be60a9527de8179a4416a0fec66e2e0465408bba192c1e79019abd09d54204bf86804587efa4dc9c02ba3348528adb1b6d285dcbde43860aa359b616c03d8b5941f0d2654ece68dd32450d8e3c7d6f7d8edac6d350bf075b0df08972e973160a9a5e40d1da550e12f9901bac4aeb45e09417b17248e97e41812dabdf7c3f528442a875fc573b621b8ab1c0826480cd81a9dfb430c902030339d053f64280621d27ea9dd24eb9434674b36c150bb0e6c4b5223f3fca1d6dab447970256ec9b1d2e25c076e8f711f7b50219486df9ce5c77fb79bac36aac207cd25bebe8fbd3f5d14f63601eb2b9e17589dad07afc4323a6e50d632b6ed0ab1b32bb719e15d3dee80eb0dde8e8e58d5e6f6fe4e877379b7ce33a59a5445ea7eb6d6313a9da21e1f90090f2108a4be84f0b295b83b828fcb20519e3bb5340f017f3c08efdffc5003915450efac37921520c304e857bbf49844df99bbc2d1721e180bbc368aeafb3a9e6eb0f6533ebc9629b886c68c124b86aaac80b4f1d6b27af9ed9122792e9a9ec9d8ce11699e8183ac62396e2d8613ff607f009ec3ad1bf332f0892d0ce96ec2274e163d00d240a9278565435d036e811e87efde7aa323b81de3fb4bc901a8e778217c006c1166f723dba3a64c1f215064498b8785915468fea859307567a67ad00169e1c86461f9fbef39307f04aa1117e2d8d38512c57cb0ad56fdeb90637e070d22f63616ac84a0aeda40d68e4fe2a930f3c7f20ed069fca0284786bc94a9cf2609a16249538ebe6352fdb8fec1fc9eebe5cbf08dbfa6ffc960ac649c0187f50435a5c4687a28d4ea075d5214604316034c6bb808d45c111e492ad8510a18c4c51851d3d2a980b011a98d4bccf0f66e50fa4d47d81ccd859579e5d3472f52805042c6f18a8536fbb885cf31597b1438bccbb2733e649bf54c2541ff73849688601f7e040dcd5e9132ad8eb77ade3e61e261c70b4a129034873ed0d366ee75dd86ebee810e5c8bbb82e2a7595bdcb888859186e20f7a254a0042f2d1dd7d0521f4543d5fc37679940d7034a7b1ed79fc6dac69070b222641fca0d4e6eff2d457c2f6ad9ab97bf794cbd5c03c50bbea2719999345adb49032ecd18218c40cac2e38609613623e5489837241152b1de230ebab61020f932cd456f0ac9d98cde7df08e75782db3ff82a7d217b65c1960d27fb8a950b6d1d5c1f8517213aed87244fcea33a7bd923d9557a28cd8bb07585443971ae75445b6b9c8b7e26010849432907c1a511008204a0ec3c641cac6784f188cc4e00f608441c638952c018c448b62e4e4b05b305d9181fd502b571b2020ef173f880da8303e5a0286072ade23490152d7646683c751ed2715ecfcc4bb4392bd8f628d57cf2031257212019220eaf62c1085e16d14ec3801debd5d636e414993be35677d81e5ded6a1e9b0632ab0c4cd6706be387c7f5482dbff11ef6e93cf528db705e40c1265b53a1c486e289cb305035d3a068fa3405820f523c50d198b47c2e32007a58ba413487d445f847e1de46260145bee8dcd13667db912dbc299c88c78ef9ecdcd9e6055a30c5ca54fb0f3b56df1ad20d828057c1c54b194b13b7faf2d51943086551e772d36ab601fdfda99be1fb473207c948b3939388f3bf2096f1e5b5bae51dd0dfd24854386fc7b131ea1b06c34f3e6f7f6f6d2b5ac12535bfa0a647ecae77e3307fa0722a44b10506010103c0f9d5e4afab7a17e020157750c728eabb6912f841655c6eaaa215d0afac39117de8bd5f9e827525f3deae57d533dfc972521e27a356e4e5684e0abe48c0f12a081e0db5e45b1d7017cceca7b0facb32738d2aee9528f0ab4ef2779b66727fa8d4b7a253d637bc92e2043ecbff8c3ee0424cf2fb4674df9873be0ac165273c46890844b0f81d2b08e5a555b31abc1d312f2da4ccb9284f7214b7a957eb4d46b7087573f0bc3d9e945ca2214ce66bc0168b2ab5c818a0a33d10f48302bfbfdca5a0481779daf4e0450d5c9d26b7fdcc17f114e2fca76f09ec4cda35fc7d5584e1c078375a1308029581fb1488479f6c0189f1ad0d2454613b6323952331ce3bb3936e53b9bda393df4163570478db7883faa15d08848df6fe1512de291ae415fe75963246915c914e1469f8e11493d6195c9d522ca76086cc06c941d0fe9cec80e163c445c5794a7aa20f05ce04f5bc045e2af54706612b9527578247524a6e6f72cb3c1716b079e6dd00c2646f318809a2298230dced7d54fde37684f960e8cc9cbe8d1222ef3b815ca42348ecd27b2488390f51edada3810e3cc9964828b67be7586d6bf33f4fd3c4389fe0c21fdbc288c40ecd333606592cf5c252603713d68d19b6495be41d1adf0a6148426b1513bbd39344eccdb1d1989c6d55b34ee7d46e394278d0c43be1031688576d08f3b9a45b5df56366f63cd39061d88c68d2bdf2c80d23da23e24cd551f2e9a9befacf068ba429aee4993adc4493ed6ce5577a0f694c6b996c6598f8045ac69dc864d34870fd8fc832942206a511346729f25e74bca016dbd87e552f4cf920445c7d3a6f06052f8a1a685d4491be7114c9fe80a0cb392c93fd06241ba47a1c557647a15fb4f9f16f7f07240cb2c941a81e300402f3cebd14fa92949fe98740bc2bc0382cb27ea5673a0ad6674d4a3de3305ce53674d583ae865a3db2c03bd60090be98cab4f6a3661b452a91049bd76b73c4175a8fbc5748c38a6735798dccf6e8290c36d6a2b5c0eee9a49186fc7e290aadef2e1a85c11fcdcc583e40b226640be3ea438b7c4b70b0a5864c46fe53cbb6226977afa5db83b784f409f68630d8acbd716f4703d90d9fe3eac3d7d958c9ce2a30d7afc375ea1e2233b8de7f78909958a60c2efc73172f23ea164a38e2091191745e0427e4cebec30fdb99dec2afd9bb494c31037e999e4345538b8ea9c598d38985e3f39eb1f61002bf8d3f82a26c22ba8cf902f454dd50ee33cbb5a0f22274542e40aa57615f39da228552f475eca17e860c8449517be5521a5bb48524901ad5d4e36bcb01f729be11ce8a8f168b9017b22219341a326b7331a95c699c96e4bc721d302e6b1ed0cedc8a6799356432a77287952c15a1c66c30fc009e36058f246076c4ffabb258d9ce3e22099bc9af16d4f52117514c609d43b3a42917466112a573ca21a61582e12ae977c60074040461b126f9365163999f44c4cb061ce7d643cfc8cc205495175f00ac8443e1968dfca92ecffcdecd3f79abe58860c24ad9ac73ead1b7fed8282371395c1dc05ed063494a77182dc08eef06c58894fecbed6f6940f8e7fba3199d54f0f8f7b8a84cafcde9c37ea67ac8cd96f0d36cfebdeb3ecd27fa315c61b1b40f345aeed6156e9040ff13df20bd55a744935358c91498a75713149695dba973e0720d97deabb66e0ddeb85358be0b5f7a1e8dacfbb3fabae5ad1090396a70e3a6d45ed2a61a776577866900644bf95d30008de2bbc078e07c2a16341949971af681685d5bb6a38a48bd7a6198316fc8e2b783edb7e3e5f0cee42e8cfbf4ba4268be5a8ef7aecba7b09b79b24dc953010b5eb6f100aaf3ae86067c5fb4efd24df31e8272b226390d18839d1a62f8b6eb5b39f9fe63d69395a2316ff02b161514ad1dda59847d545ded010b7527b03e054918d789529fbd56dbea33ed966593c1634f1ed5c3a201356fea10e66b9baf6d2157dccc55d430b1d6a31a06bc9ab5d1dfc4bfadc6a5ce6e4864a1dae21d73a6347b63c7c50bf9bbe133ec2c44d539fb544872a1b4e65ffaf4d6d61ab2fe27be411c48098d1b91c6a8f3167a816aada670044af5e5893186f936595c5660ee93db02a80a94c1c255bafab472c90da52987d8a7553565fd68a3c23306ac3470358a65f6eed1427d8d5fed834eac9fad22dd4b4ae1917c65a0eab02b5aba2b07e5ba00db3ba671725eb44ecd45e26f4de8a0117640d0ad339d0491353dd505a264cd6437946b8398781dcccef3bdd08b059309463e92bf99d3cc58b3c57c3a52fee559a0603630643d04a36bc10e51ebdf42acca0b15499888a19cfcd88d18645ea202d6483c8ce076c5855cf83ea999a24c39bbc9494520ac879c86aa6418b010862816b26716164a9af29099e1523a27f0ed1fe1a1ec275926ca151071cdc2d39b0ba37e69c03d30782568386a468a9a41573b665b6fab677c6c7778dd094125e048931d4b458a72856aabc8675214ad36469384c1643b1457589728712c86a5bdb9050f6449253b922c556ba2a7b7e63206b6c852444c8be563a9e5dd3e8eb11e4596dc27370d7ba583ce1cb48f7dd86175c0ea5f53a9105cb3ae7ff04a3e9d62e185a07b20c5752a5614e654070dae354b11f4c15f853d9c94770c66d1f1a8215bbd22a031544a303b1664970aa7b00479b7a714539838d65b81bf40ad70ba621fc33033abd368958405c8d4d0715771531316a194d7f858b593880397083458c838b29e28865931568a21403b14de6f6debee7a82132017fb2952b036f353e4e3e27e49bb3f85a1f2bceca6cc75682219f064144bbaded2df796724b999294019c08c3085c08a55abffa4ebfc8ce57b037e1e07d9031700832fcad3599aa7c45d0bbb8e28f61af0d9b1bf62613e632f5506b10be82754aa66e043de5a8cd31c762d835767efcc5b60f3c710cf9904fb2443a4cba4c2226978cdd399bfbfaf2c3fe522a3fdee503e4e3e3e3bd77c1d120fdc7774366902facfe44d42fcd1772865467ad3554b27c170a909fc98d99e5db2865f979ff82a341aa5f722c67b0afc02704e69cfc3e095de9e57bfcc45021112666cc7e364b8f7d0ff54be8d23eada37bfa85f4a61d5d105010be827d094f127e11493bc4157fa0950fa6c3c5add51b6767a755d76e5e47903df68e2dd743f58f6f15e65d1763f7e192b187d19ce41c47eb797c6c75a1278772278c41910853618f7526893d0c07c14c847c874bf8089949df041ac47211fe581cc251211f048288ad262a35cacdfd1bbfeb4c3602d12ff765dc0f42080740a051a68f6dcaf7defbb1efb5787232b8a023c7a11c5b5b70e52bb73a2d0ea77daf3874d183fd4b5d368d14b3f7a3f5b08fad2de8c8e10ef9eed02fd7848097f13d266bba6dcaf73bc6b6526af7b397711f887ef1bf1f44bfccbfa77ea92fd6febd1f556e4bcc0c570baf5c92634b0b3a728cf1b3ec4c295ee864f72a065128cfec324fa752c8ff055d387158aea6525697b9e3a8c8c38633711a6c1db4591327e5474a317b043d26c616c736f0a7fc29250ff20b699c8d9a3574e64c9ca9c2c93dbfe5fcac633168e1e4d882c2500e5f640fa2c9d877067bc5a52461c18bbf2173e82edcd459769d2511f2e92b4066cca50ddd499a4c587f137b23222bdfe86c431ec90863c41158676c7ed13d6c804c3f1bb18a2ab217dda812e5c796319d31091cd9c896e823272e42caf1b1963115891c26c1044fb6e1919b71012932169940e4830e5ae06c744f0f362212524ae423fab3f0caf6d1b08419a4885fe0c9d8eff881166410c51a32f65f28420ccab94214f16708f10950883e50883f3b515091314e0122b9bf30092244a183095a7eb2ac92c21f66a04314d1e787850aa0197cf8b890b12f1181f7f36d2163ce290024f7176200c8b3d556eb420a8b3882e562dca18cfd8d9a460a35d0ca3470948012abd341cb13328671316c1532f695fba17378a30819fbda858c71200d194b80a542c6a80b32f696f3c17732a6659a96659a9669fd0552981380c924400b41c65ee37e88c9d88331b6c8a7d8630b3d65e79a88af850264b62e6de8e467c4e7fa3102906dc42ada90b10fbf5c9f1a614356918db88165fb47d86cc300d97e15f7cc1a30e5234cd8473f17d9a241ff5a34088620bbf0a841179ef20e9e8aada01b4c929a20bd40aa8d0db8e4a0eb6f3574a1d5d98a36a26d6813da5e2e39e8aeab2b7df48f8f200fa3b797bf007f7b6d2f556665fabd064e95e9b7518704d5500e5b66db892cf4afcb51db10e20afd6b1457e85f21e4f3f8c2eeba5ebc7001ed17825fbfe8dfd71f3ce8c296692798ae10b64cdc7142f74498fed38baef4859dc97f7ca149e4c3074f9f89c954d27524d69a40cde5f242e4b340bd42afb6e3d6769d9beebbe4a05303155dee2fc436e437159d0f31bbe074b265dca8d6c019fbfab45a1dbb6379fa85d52f204fdfeae8970f47d1ee0bbbee288a7264961ca338038e7c7d6b148e91ffad8b3f82230f977449599665da5fada5fb935c7e5cc5e8f4273d0c973638ee61b4b45133d71f1661224c848930717b120e258984f1108423c71614ae921c5b5008e51d56a6b40727d387a227631c8222ae9d36a8eb922bf4ed4c5793e58a0b53e1c9c3c5b6f91837c3b37c113c79905c0f56a74157a66488a85be3570b11a5ed3814f1c5ffa621d3bf60c83b11a47f6b1c657da2b6e328cb13575c32c60621b6d0a7b6081cfa1d997e0dd8c9afc6ea683b995e2c4416fa3a34a133e98ff34d3e137f93277dd45c3a34be2c3feb7239ca5a97c9a4a53a19639b902d54c817bbb3a140a2ac4fafb441a2ec8e1b04c5407ee12f91e947898abd8dc0eac816fa439dfcceb6c6218643dfd234ea1ae5c8dc64baa56c321dca188edd6161abc3f6e8e0e8fe1ab9c747f73efac7c4c8771fb905cc94e90b01d1c8c3e86be4a8c883c7175aef0b3b1eba6b94e99746b0e5e915bb83f130394f045d88840ed12ac7d8d2220fa31b3321f21293b06d61eb6381ec8ee569905a116c777a85bec596d5a00edbd3207d01a4ac0ee9e5b5ca176eff2d75abc4003db29462d80681d0c2c2ce0e62a002252e164640851ec84e067d699c04405450203160399ca05a2e8713580c283a8104d9127f46c16a5af61387df6d6595d847b3b44598feb2a345e24aa1270a2012113f6e3cec209421a86fffa670a1c33e72342691314cbfd6af7ec43526a1aab507d940520e2101228ea0597e03720d9c3b10637469e1e2e2c51052ba74f122f2a08b2c6010ee22c616a28e6248e4b886fb338910d8cf68c5b0af85f040123cd810086aadb5d6032f6bbf854aedaee20203c8596272987ffc201cb57525923ff77dbfc36174c55714d2708d0adc130895f15100c9148806ddda1b7973f3600e46e8421393ec9b018239943799beab7c83bd9dfa2564913d3c0943b2dbf7e7224aa6debfd034842eb6a4b8c9210848835487a32e8c2d2182b0efb8dfe218feedb341072289ec8ee77c293513e99e7996bd7f83544683f4551aa4ddf2eba7badc38b4b9cae9b9fedc21370e5d64172e1b8bd8b76590ee6452f9f91fc8a9fe95b5d69abdf61027484ba8e629aed160ac408371939ccc8d2afd4232512805069dec620360c879d1c245e69e9f678725597a64a939404618e99f8c2cf21d405d997a5128d3c8c5c842ff5bd0d18ff4a78b8a8b7e015b44982853feba5736056e9460bbb4f861250bd142142755c16493a40fee02020dc62799fce00157431154d9ff4bb34b935249dda7edba929f54b26374ce39a7359d407ec6981dfd6e4e195c934a8335c7c82520893ca51231e860683ae9caa174c5ec67f633fb49b7cea3c4e93ee362d42c5d0d665f5dc7fa8ad60475db8fdad01a3a937d5e3fcfaaadf1b7edeed4733a8308634312658e46f6d3a65fe6c7ece7c71b32478c4807f7555d1606259f652525255f92957cf621004609ab6f4a70df4490360ea591313d03169dd9a1322b9aea1ad0253293af55d9462323319190984ca62731611293c9f42612d3937c40c830f574ca843be57254e3289231920d6d43d434429de355c514250fa3494a3e794412431bd1b4919191d746b0363232f223dac86b9f10418cb48246b00c8aa07c01c9187905a316518f100b8a2a981e466ba64fbab44ba38a848888848484bc480816090909f910919017f920e08010d74e08963b11943c3a3246060168e583a343258426461e468b8c7c52472406bd20f7828080fc05c1170404e4412ec8df6f024380481a49134159135768648c54416ca1bf9ac159c15ce2867c72e66a34e887c7c7878787c77f78e00f0f0f8ff7f8f0f88faf46053c848a282282f488221963811c44d971081d654a8629b2ff07c857e323c6e66d9be779bf6d9ee7bdb779bf7d4714e10101440469104032e607a1d6cbe555d83c3e199b678cd4752412e9bbee4924d293ba0de0a0820e04bdc6512d74640c8bd842df7564ea2e543834e17d2a5db675b8f3e54a1c572a715fe2b812572a919e7b12572a9522486d741a1923630b7d9351765f223b479a5ce78b3b6bb873d6b9e2ce13db1a752d884b858a6a5dba17ac1a95e6d7f6cb532abb9bbe8c5dc8f2934d3f1069ba5064ff7f42d76f35236c5d9a918ca1b145be0a5176a1ecaf50a322fbed3613d8bd6b464e45b52f3a96a9e75ba04723d9e21f51d7d52b1e130d1041f99a91a30e10578c64cc8bd8225b22c8fe442a3b4c961f4a2a5e3428dfe364b40e5574e17499fcb0a94849f3e384137c7c7c7c7c7c7c7c7c7c7c9c70c209279e78e289279e78e289279e78e289279c70c209279c7062e60ba9dcc158db75ff91c56383efd29dc719a5dcef523612e644f19f8d551a9451b40c6b964f638c0c922d52ca971d48bf1061f2837df9319bfac55d39b43248c6e0d8327f4564991f9427fdfe97d0f9d38f724639a39c1ec17a9231a6116c626feabae9f7df6eda74ca972dc9f649b16a33ed6e1ca9d4791e1f2021222326921293d389f6ff5beaa6847040a35c3cbc8f2a53585157e525edeec816fadde5f1c057c8a7474764a1dfad25c4169efb5a65d76d42e6d9fe32b1627b177c77dc5e4931e1f2f2658bd0cd0dded4018097c37b2c3c4f7bbd5e1e7e4f3b3af256bca7b1582ccffbded382823c4f53a9542aefe43d8d87c74b794f4b799e87f29e66e379d9ebf57a7924ef6547479ec97b198bc5627925ef6541419e97a9542a9517f25ec6c3e38dbc97a53ccff344decb6c3ccfb3afd7ebe5d9f7ecd191f7f19e65b1582ccfe33d1b245b6890d7bdf7b2a65156a5f2542aefa567793ccb7344a36caa3dcfda78d6c6e3defb22faa5f4ded78830a4d7ebe5d597578fbc7ac462b1bc6fd1a8caf23cedbd1ae4a93c95a7f22a8f17634c8b0f91c8deb38831354825c2f87b6f1b55555ee5f1bc2f6c515d5e723d783900e0ab2be05771b8e1ab2cbe9eae845f47f8f57a1d65fabf82f4b182308bc50acaf4539e3bd1541acf89a6d2549a4ae3c9f4515236142da5d99c683699fec9e992bc8e485eafd751a67f32d14a5841242c162b28d337316521992ae309c954992a53653c997ec98815c952994d4896f2b25496ca6c327d12906a5f47af7f1d65faa60fccc3b26c90b52ccfb22ccb0665fa235d4f47395c5faa78542a951132fd919e4c7b38dcf99270fd924d591b9bb2299bb231c8f4456aad24ecb3d7d1ebf56a43a61f82614fbf15e6d85fabac1a5459955559358a4c1f84cb690f5f217c77f45c1d971559aecf0dba405f832eb42d4fffeab835357352538727d7efeb4f18c4986a536da60c72fd69136154befe4c350a6bb5a64c6bceb466cd51bfac50438cc18888d690ebbb5184c15fb1d56ac76a68559451a81063301f1f2be4fa0e1461fe51d8cc0c6ba627c5073106cbc90142aeefab0873f2951211b90d91df10794eaeef33fd52f2f5fd043106cb912305b99e50b4659492c9d5448a184387eab7508421f94a572ba0555015f9fabd8418437d7cba09b97eeb8830a6afdf388da233abdea9235fbf671063684efd3a89883a0751d310d9e4ca86184373d01c551c45189057a366ab25d4226ad58f2bc49839340445ae259e46cdd54ac7ca072857eeebcb20c498e9235ba88f10228cc7d79919a99a3338356705b9be54418c993947101dd5b7408c9939e44c84915fbf881a11c685ba972bd70fa251def2153af444aeff438cf121d9423fea58ede022d76fd1285f01d12fa4af2f23c2605f1fec17ef71c8b5c69ea91f3d275716cf22c6b88f4a849932c6784efd42161df62cb91eea647d35556d6aaaa6e8ab34a12bad68117dad568b28d3ffc024146ce58382adb015b6f2c9f43d9e4bc166b01c146c069bc166b09c4cdf3bd94a88b01c25444444588e4cbf3b5d93d65049abd51acaf44b249a085df988d0155dad7c327d92291ba13339227486ced0199a93e973217623da883a2222fa1b48fd680d6dadaed51acaf46f09e3563eabd5ca27d3d73c680eb1a2394b5f785f265337673a674de8660eb1a2cf88888888260a32fd4c723c99f23886fd49ada156ab35864cdf3ab76a904e3cdf5bf9ac56ab9f4c7f7e9772372c3616dc0f2b9924a907aedf18cb1ae6549c4d8abbe915cab520b6d0d7e97254dc0b220bed3eae26b230a19b8ee3b2585c0d67e3284ed52bf4b91dc7e1328d6279eddd5f9b555579aaaaaaaaaa1a21d337b9979c5c8593b372c1d2d52b8dfb31ccdd5c1d338eba3ded3932e622e195e937cc55020f7ce8dcdf6531a19b1f92882c898844147235d851bf64cc8804d42f9b7cd570368d6279fadc0d87c3e5f4cbd6985e96afd0b736e597d561994bd8638da0fcab72d4bd3bf2ee40de9d053c0f01e89f3997c852e96fe90bdbbbd4da0362155554d18616cb478e019107162658de05733cbd429f84b99d062957d32bf4592c1d8abad03ef6d8732cdbd2a3a524931f32f7851fc8fe58f6c8162c35cc44003e99e781e5e58d65c11dde4ca75ab1d95c8daf50c7e16a408c33f55783c319a366a73027b82c1d8daa2956bfd4cb0a37544d61b47e5c4d83f4538ee26c64b89a4c7ff64b29057605a030798a70d4c86f7704cbb8e22f822bf57e7eabb09e1a326b251c332904e75b695f1e843d85a3575ca947793f713ca7579ad5ef787bceb5d9f6ed49bccc7650fbe4297b87f7f5e4d9cad395dae487be030647177a5194473eade37b48e50452b769c494390daa649f06274e649944f4cf771cfd42844cc53cb79fef2788301ce939ee290e49dce745b98b7993ef450dce77a36f75611be5397f9af4b43d0d4e9f7ed97e52dbcdd6d143af623a4dbb358dcd94f24b5c0fd2feccb68d2c96ac1ddc425347eff89eb3e7d4700f35381fc604dd24a21d27c2e020c264d97234fca5ff67fef2dbc46fcb8eb2a99c892cf3b5af85e3f4ca7c6bbbce646a96f64e67e638a09d1568d03638a7cd524ad92e9dbe4a83a094df897ea04c71fd2fb8f196644b0ef4b8602020917aef228403fa65c66f107b2c7b8ae7673806fd497ffefce8cbe9028851871891903113f613cf16a28ece39e78cf127978024220e67a45c0ff329c6f5103f170d4efb33df8c4ecf3a8b5cfc26484b0a9d0cd2c2c5a9e31aa62cfb6b339b59ad020dc6576d430c5e70e5f651f8211c654d22201ea497310bd93f6c21f99045c987272139be8b0b96181381c845d48b488558718806fd7ec4f42f8e119f522ebee41e860fd12fdccf0629270386a63bfdc9c9c9737f4ff0e9b993d3c9c99e5eb8c98b922fece217c6df9ee48b619729f6cdb78877c814872ef2f673fb4bbd258d3462981274a17d91c17cdda5c7762cfeccf10b91c8dc377329aab87041b9e75cb88f1f31877598a20bad49fcd082f1b3b7918bdf0c10cc47cc4c3fdeb0b9fbe67a70d12ff16bd1a0bfe90bedc8175a912fec42beb003f942d3c7e7f1859fbd2ffc97ec7e7ceee9534afac0199d8b21ef9bd0c7bef41d36a15f7c233ac7cf88ce369048e5ee8d90d986b72105811c46ce878e98f4852a61fced9b38ec14f6374422958fb019fb886ba864ec2f369911edcf07ade789c31639862ef3ced932ce29674e9293010ba6bb9873ce39e79cd3a9bbcf4985e6f737b9afe9e69c73cee951fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf8df78e566023b9cecd338bee274b68f6c710c2b7d4470c447c66c2a414859917eb6c624866118863d8661980a864d0cc3b01518964229a51f86554a29c594a2504ae909a596524a4d283dcd396709a5d99c739ae6249973ce9139b539e70c9953c4dd1d644e7777f7ebf1e1eeeeeeeeee6d24ef6e67e15d979c63819d70e74b823b5f11934ad7b48bbc63997adabb48b6f8c748f12d45477d74918cb19f059376693d85ad1cfd179aabdbfba72abed06fad482bcade2cdadfca787bbf1fc597ff0602cadea5ef9a6e8f2f29df3a3ad95be53b33326219f518e9c497fa4da3d164ef15dfef348dca5c2eb771ddb872a29f20c664455951f6febe77ba77b27f0fc517fb0d0494bdf1774d774df6f872fad6d1c9de27dfd6a86fe24bf64d93d1646f936febeab6aeecf185e4db16d9a2ec5df2bdb323b443b493fd65507cd1be8180b2b7e9bba6fb45e45bc77be4bb1a19e118659734f1e57ed3646f1ad9e2a8eaeaaeaeec45d9df0231a616857c7f11f1e5e31be4bbbb7780b237906cf18f3aba1d72bba83540c497edfb6544188fef07e34bf73a38e4fecea869626e681d9508e3a130a3a6912dfea41bb83ec19d6f09ee7c4770e70bf205a3fbea97d61788ee8ebe2eff1bc4711cc7719fc491a2a9aa699aa6692cbe69d35c8cd2974affff373cbea1542a7de986ff1b3e9943e6655ed3344dd34a377466a192a2a2929292f22a2958252525e55354525ee59334332933299aa6699ad644f657f9cf8154b81575c58a5aebaf58516bfdbaa2fe8a4fdad4d41ad7d1344dd3965891f2f96a05f7a17c1f0a0aca7f28f8434141f950fefbe48d0a4585827d668a2a738eef628bb1b5f6f1636bed5b6c1f7f3207c7e258dc433d462c315401466394af8570dd58e0ce2ab8f3774f4e2727a7d3e94f4ef8e4743afde9e4f4279fd4599d56a72ccbb22c6b22fb89fd5ac749669299986459f62626599699646ff2499e9d4ceef44d966559b6c4e961b4c9e96b5564a19d4b59094949090909c99790e012121292272921f9924fea6091b04870a75e554c51927df2a8a49a349349d3b43799344d7bcda4bde9933e3d9aecd1ac518ba84788054515481e469b483ee932d5119191111111911f11c1232222222f3222f2239f046a89c89688b5d65adb44f611ed933a2334e48684dc7b3f24e4de1b723fe49341ae2b5db75a6bad5d42e4617488c8276742e646413e40403e3e3e1ee403837c7c7cfc07c8c7837c72c7ebe3f5516badb54e911de47e354062786c1e1edbb6bdc77b6cdbf69bc7f61e9f1c12daa4d0566badb50a1f0fa33d3e3e191e5ee7795dd7bdd761afebbaefbceebd4f1649a24e1275b5d65a6b13d9bdad73c9378ffb4bc248240cc3301286754ffa8e84611886550cab95d4913a7be0ce21b8b3097736c19d31eebc02772e714f318c52ecb1c7becd523b55144f95cb51f3a648c64c18c416fa3c443a4239af2c8329b2ff63dfb4892ccdc5284d95395554549e850a6631e7fcc942e5597c209d4a77a482fd08db71d44c01c91857436ca1352d9761e5355421fb4f169f1b4516fa344a292b525256ac58f1292b70ca8a152b7e45ca8a4ff94ea61526d70aec2eacc6511ea423639c0a45ab219c1d2a2b34a1f2303a45e573a09418f5abf5fbbeaf1faedff7d5efeba7f2dfeb7cd87522e83b188d8c711fc416faad1e4cc65958ca81802db1e261745df1f9aa722818050563fc2818a3608c1fa3e047f95a8018f4198c7d26824e532463fc04394437426ef3f2144cf13d8c46f93ecf8112c39e587b7272f2f604db9393137bf2f673e172e23274827b68c7514d0424635a0a976979aac78825862ae087d1167f2d64b9ed71e714dc190577a6714f26a7938989c99f4cf0c9c4c4e44d4e267ffa767861f2a2c704774f0469fbe8c8985ec28e55100e90aa094d9c4ebed671cab2922c2b290952cb48f7b68cb998638ebd86b9bb76afa6796cd743c65c1c5c4e99857befd5b42933673c8c4e4cd2693da9699aa669f4e7d3a981045dd2bdf76a9bf621f7daa6715fe841925ac66d21411a89cb329276354dbb9aa63d49bbdabdf7de6dd3b88dcb360e84f381db1a6b5a16ae763592c81642bada73da36e352d1b24baf80eba54c62e296ee5f10b265fea43fa550855c5554f673fe9555c6fc218298138808433fab8008934516fff9ef16ec5cf27c91272bcfc7b0389df6dfee287b92e8d7a915dca8123a51ae7f4fefa777938f7f4deeeeeeeeeeeeeeeeeeeeeeeeee3e676f13a82f87aa5ce52abb84e44d23222120fff1d2eb4a24eee5c3905a104238a051ffd99c273fff641a31ffe42d7e0d637fb1f6dbf68d519e84b92f61d277b8f41eeede037b20f8e34330c88be0901fc1226fc2234f824d5f8249dec40612a99dce54515ee6c738fe33cc04fe5b928317baf6418c71956ca95fe7571a00c16f76e413eafbfa31e87e5806f54afd1396aeaf831a8704caa18a6e8857c9da356c9e9bec834083f2bd0428b9e32b95c76522cc2c4184317957ad40bd52dfda4e02a57c0806957c288152be10cc18cb3c0f6f826d1451f294a3719a717a3fcd9389c9a39c60a7a9d971d404e24a84b1b1778eaa1132979860db6034c13df897d427c16dc2edd360fd11dc22b881427083e00e6ab0fe07ee57ef68a10ef75009371109771187dba88f1a4ce17019cf31533fc36ed33ccdba42951dee906bb54334d82febdb5640bfb539fbc22cb3f63bd96ffb6d5b88ba99c41645174a2099056badfdb62d81a4ab5f826c3be892493aa40c2f1a95c9f4a872cd7072cd562ae129dfe872b4d84cc3903e3e2663b88fdac7cf628c4b29e9f7f6dc6bdf7f2dc5732676325bdb753fb1f797747e21e83c5ee3451407f3815b8e06fdc6e9081367d0bf715fa887f495843bbb1421a8a219dd49030382ee7e686bace5b8ef6ddbfe7605b235c7d61c5b736ccdb135c7364e8b6c5b09db4ad856c2b612b9d2886a25a28b7e21bdb59bddacf6db6b9bb5b6714494cd916bad5f37ade6e4fa1588e3666caf7d37642e7d1847637bee7ec6713793f1d9aed03b1a5553dd41fdd235e535e538fa28d545b956fbd6f6cad62daac8a8d1add2d142395636dbdc2a4ebf6cdf97145a1cced2560a834c06408e2d2982f2ed36efb81f56b2f36c3866d25fd25fd2dfbf215be39a1f8a8e7bedafb7e0bee46890fecacd679cf4cd1b32933e4b71105bea7398ea20b254ec259e7f63e91b93b0744264a9cf61e9846ca99f61e9235b12480e79581249284496faf209b1a552e9f297acb1cdf0af88231aacf7fdbedff7bfb494c9382adb01663b3edbd1d98e1d2f3336481af7bda85f485ffde38cfbfea17d7f8a4371288ecd76e4fa5a8e7e8933ee73ef4ff2cfb0b7f77b7b8cf693b86f992c354df6f84c84695781d3788debf80eb76d38668b437a1ba54c7a4cf3b257e6ca5a594fb693ed7476e3e5fe3e77a30d9939fffb61b693eb67afbf1a37c33ffb6ec8cc7d21f7f72f47c39ff4575e4cdfa338376c9e39aa1a9d38e45fbc31f3f6364a9aafdaae7ad5ab5ea90f3e36917486a23871a5964253767f92eb20a236e02bf55340e88a908d9490eb13b94ad514727deca38a8c1a333a2e79a4d2d142395640365fe817dbb8dc66e51f150d05055dcc5afb17870d07ee87953c691aacf275d0cd0cc751d15050d0c56cdbeded6fd6b10db341b97e86e3cec0ec56b91feef706dcdaae33993e1ae57a9ff4a15de53ae30b51b2c757eab73617c82bd74ae402a34488bc9136883056dec81b79236facb5fdb27da17dfb44740dd618471451c3c6a11a263d6984a2ed4c0f96700b21212121a10c3bd1949939e64c83d5c520456cf1221cb5febd260cbb386cf21a31b3acb1c61ae3e74291e575e3b2c9f569727d513ffbdb08437aff2cc2c44c370cf3fbd85f6c7bff70e490666c1ff6dd905764dbf017a10b298e9067178a2cf5294e84c93e1ce4aca84f0e9b8b7eb195002c7224402400015004882bf5e3c3c871ce08d51885ea57774c71b06022d9be3e0989e735cb8d99fb6d942c47e3fab07dddfd362137cad585845c3cb6a6383936640664fd1c66322ee3d6e5277de87743e6f9c99647467172e8aac1aa4381707c543a6a7866727d87f17777ea20083afb41f97e88dde4fa21b367f64c9fae43a61d5d50ae1328d79f458da238761e75384c3972a534b9daf4df0f497f3fa499fb42dacaf52f963ddc8c7ed27743e6fbf763b3980661eaa2400dd69798b6e84a87ee3458df8190eb531fc496fa247cc3e67e0edfe8727f26e328fa6a6cc65194a757ea6332b97e98adb0d41b9988321921aa23d7af2f824373aee04211a6e6fab326d7b0abdf42b2c5e4c6ccdadb2865ededdf0cc77ca5942957356a997a3a97465597bf72fd50259fe40ec98d845c3fe4508e84b852bfbf4563f94a99fdfdec3b5d15d07544ebd301e5bad5ad72df7dd8df7d585db9be4df54b9cc1dd8f7b4b7184fa2bdda9958818efa38a8c1a333a2e79a4d2d1423956406ed4d97ea1a7d9ef3ed9d3607dfbdde07c207db2d560fdd27784ccdc277d46faa33991a5fec514070b1b4eaef66d833188b89f6cf5277d6042d0f5f830e1f1f565ab0bf0f1f52fb6784696fef84017150b67d51ad944381ffa2322fb3e69f4242c8b6042d085b2289c2f26f6b9cf88e934f69b0166fbf6731e9f913dbe5990ae6bd7ead22bfdd5b2ba1e53eb2398596cdb7c0dd323649ef13a1475612693eb672b6e86fcb6af6bb07eaddacced9086092040010a3550f0efdbddfd375dd62b45788f83ae557165be4a4349225f995f5b284fa227da3ab713fa3351803f46e9867d26943eeda6f4db8210e2d2d86969dbaf935fdbdc187a8ee3e41084ae370ee5e56019e110dad12f768828c290ca10614add974a6f71d8953e7791709e00a804ab19cb9b5a2a9a190100005316000030100c850402812ccad25c17db0314000c84a44a5e481e4963710c6419c68c314a01620000000080000000330200bd457cc87448dda9b9a104f64bc209bfed5e49c31f5282cb7f55175889e1891710cdb1746d9c0341e7173989eb29c4daba80e34311e67cf1ed89ad5e70c5d0f8d6c70dadb66255fc429015ee5e301c54c7b47a0ae1bc41ca71a75a183c5e7d074bbfdfb9a03e5a97c824f4209ce58be2c1c139efec06ed1793123b9f0c4e3aaf427729f932566bb518bd6726e1d8cc1ebe8e18ce2e8da14ad82bde202618aa535cd0edaa4043592b4177257ac4f67e62509a4c6f37ecf0cf466372b1770eb81c154cde85736030a6d78d4cfa25bde9098d8b4b49e4ebff73fdacad90f89765a28b78ff7a1143030f4e979583f5c87e0a731c848d8f680f11076f8c2427ae0bafc183f9c0025c5aafc55f5b84fcc0543f86a3df0d19c21a053d2a4961a8d46c51c989b74d2a34a5325a261cdf1f988fc04e2aac2f6af1c2fa7f34917b0649222751a071e9cef1c4bc4285b676642fc46091454ca66bc6c2fb7497a11b7c01cbf752a37fe7b88d9301f80d3f6a246406cfba7c2009c67c70ede3badfa03630b76a693701df3bff3329ad29877c1e14e2a6579e46a2604c85851bb3d216d25c696a731a3ad7e2896b5bf2a9f644912938bbd66394065e03883517e9dce89f58af04fc4441750de22a32404e65dea7fad9168e520c659eff7a4f2cb6b4cbc3303d6333cc039f6360cd4ba8839742d24171027a264b3a2841fdc7d80b6836685520807716d2b921d3ca3bedeeb508e5a04ba15bb04f98ad6186b46f4edcfe4724560a0a4bb4d487fd67bd7090847b1dca240c9f21eda412cc4fea9e0de875d5924313c74f5bb86129726369a98c5dd6b42c994c1325054fecba0e9c3e82769edaab21f725ff495e56ddb7aa56ad757013000b1ae4a9229a9c34e65de773587e423827cdb0291cfd1c00d33fb5c8e78e70b6b01c3fa2ad443813ac688a4959ed4a68a9077b45e06f1713641bc66d49e81b1dcbd5630cceddeebfc2ac7d53f38acd66dec2d20b057a3afeca5775ee124cd09b085dcce83c8b3de60495047fad426c5b1c35457d15661f52905247da3d20adce04b476ec25dbcfe67adbe96bc7107a0c6c01623c7c90bdfd3820a1e34fc6f46ac0f58851b1d6728336712c1d4691d758eb095925bfef68de8379d44d624498c12c30ab9279d55e5a1d53221c2ef20423d895c340c2a2a8968344b7d277f7a479505ed90c548ca078b2a44ef1eb8606c0a292ede96c9d65eef77bd6689254892c3ee00689bc13f52e66faf4b503a082c3ce47261cd89d31f31b00216acd144773436fb717022b1ee48130484273e95e28d75bac4e319858d7d29523e60e0d83dfd0acdfaa5a73b7d843fde4ece112a7433e970baab49288c17afca93be17778a80c47e31042f9e366554651359afd633d4fc9d1af3b6a028273ca2f21d9ee63d643da9c9d88b64a03ce99ec81c3bcd34b40acd0586e9e1c38f2d500444cb749832b2e926a276bc39db0f34ba7573c40648b85d8ae278dfa52bd80e0e5b4e254fcb2a8b09618b61f57f120624995c7774f0b17477e293418a46093e0f9799d47c2d17f2df604fd94e3b54a2ea245e2074d101aa01dd1124924306822d6db2ef6776ff98344de4e2ce9ae5adc42af89b31e67bbd98a6f3d52b23a9ebeaed45df00cad8be7d60d647641983680f44df9ddeb3ea3a5f1ed3ffd2ceb14c24fe7872e790bf14c9df3396e321de851a1a925085c6ce1dba984df550c0f06097f60d58381f3d2a91555c13a880e21c3643a8a30fe70a4c5d2241ca2606deb8300e075113a6dbbf44c44f0a2ec852375e365f1d341e2d192f8996e09f93122ef965a3838ba952debb8efe1259fcbd80b2442ce0e080545a987b4bdc0c5997cd472ad497b4b1760f11047e1593485e574dbd241e68eda249f1512558e467369b6e48746d9847596b1bdf481246495bb027778b796855f28649f474bbe3de8fad94c1c73568a494f877d31b766432541ed1a292b664e171a7f5e6e6a59345f6c11c8b20e605b25aa3131da4da7afbeba2b2754efd3190b5dae4318e4d80bf852ec11d6010f137d83617a73296ecb9b3bf772a0982ea29766ef665c8e2f9bfdc79cf4d48d7d44ecca625b47740db24953b69d5967e3e2c5f670589855847e83c17c07369f14567f8042e34a06db58e68f5d81fc19c94a61ad18489cf4d0a63fd59bc5be93ee3d5699125fa381ce7e62ba28fb7786a101a379970ce00319afc14746d34b4e635a054c8604dad96a4df586cd1843ad5b65d282918d7f580a2fdde814744ea943f72834fbc2d4c2d3c6648bc0114a16b803d616c75cff95295f6630f0be4917b8f9423d587ffcbec0abe757e7f36a4ed717ac24f4c6d1be89fb7d637197611bd2d8b3aef6859307fe7df3a053275682007a1f2f2e2320ee50620a63086e9dc4cc5b4d95d324e6554f4fec281b6b5eeb8fc9c93053a589854ab628893833b1ba3b94932e84ae0b0274ec712a81045b09d12cca50e7ef89403f555c0842841ead2663c98666d39b08bf47c2c2d9fbba8ec362b0d38a9fe58addfde94bea6a3abdab67dc598875ba9c177dc3c802415990e03bdf70c22ff4c92eee2ae5038cbfd18cb0f0b913a80a7e62ac144a34595166ca2799847813dc52abf8948f7cb4c3f668cbc7546300a9d6f4a2e0b1dc8fc2855db3b75fc36419ccf7e504552e662dec1dd50eb79815534b50617b8a9022d6a41d1b7a000278b5f1462a02c32d0f7702a69f19290a51c01d1bdfd0b35e440adfbc9bc01d3c531bc652dac6ede2e26aeebee3a3b35b300d004531fba8d833975608e86ccd2fba3184d5bb34b693f2531b5b39d4d806522a5716fd3bf879b101fa7ef71620b3fe7f140605d2342ac336e8056953a3eec3259cbd28623f471f70e11d904cb511334dbb7c4ac50ddf979fe79c7ed4f599f3a36d3df11159ea762dc2598d08af7ab9836d6b7105faac1ad9e9273536ed48465c3f70a3e21a36e18f4c50d670e53f62526258b3d7b3f4958cfd0ae0bde36089ef56f3c3e040ae3df34280f33dbdec59a6d0250f41bd431c645767553afbf9c002d1ed3dcf90bb7ce9a3b676b7867e50ee4b17ac62b77d87fa4eb6986535efa5b5250c5b627b494aba76a638eb760f7ffa14b36810b5700c036439113055f25962729626eb3ea518c2820ff74375fb2e5bad63f1eb210d71f869806e52cb718db62e51e5f7079638db7a4f0ac6bc9fd8d84e9d8f7a8c03f0500009bf2560c4954df867e38b39786bac0d249b21b5e2333aa22189c326440a5e45c07d8957604c949fd75fc9c632a2b12c5065f88fc29c4e4dd1a36c633229f3eca3d0cbf312534d61dd1be47c1db988355aa80d13b84f0e8436d3d534bc70ec4bd007f10612fbe1ef6f7788066a6939e6e55cb744c78939174bf54ddf2ad7813f29e9b23e5d5287eb155967240e789e985744b372ca694da4eac01aa3f423f140602a7041f9d84fbd936a3daba49d5efd5dd51803751b0bf4316eeb9813c51228c4c64ada84552b14f4370aea6c50e708410fea8a97b961f62ac9d1cbf3aa85517315e4ebf5c21cb0ad0fdbf1aedbb09a1027defe7e05fef3d08ecc03de043433fd1889c7f2e50458ea71878d9a7bb7f62d3b8484043225c2b1f02801311f680cbee6a5bb49bffed8d4c1180d6e659ff34b2ce01eacfddcf6e37f1f0117569f25822d2ceeb065815ee1b279535f0ec6ace4ecfa99c8f515b1ccd71859783532ff1a209827952c08a9a97d5b2d103a8bbf8cd5022634242ed810b5a2438d3d6eb0f6731d664d7066191f3170b16767f1d778531b33d32c420b101f6024a86cf9395338ff2c337f5460a01d74a6c40dac7806c917a08401a5489c01c0e47abbfe692953ab9b51c2e4745f1a973e3a61e17da978976f2ca5e0cac07d664c850ebb29e38a8f3a40c09bed07c9d1f5190a189622733e185779589efa4a70c30b620a151016942b136b99d77374778ab15649ae1e934aad791a40c1ab91d578aa6a4f658d76cefc02e595a99f83a4ae1d2e6ae620a83b1a9b7b9ab15c38493097928f1a071d4c63c657124792ec80551ef4b1ff80fae526e1150748c42695851f7e815fa9361cbfada35203326753afcea78d59fda199c2b7b15cc5c376cea84a453a5cd320e8bf4a118664b4ef65b31023aa1440a4a48f5cb9e40d7c7af4976c330e88f0c633a11d31d570a09069c6f93c8a14e5a1043a3422dbbc0a27a94de1127798bc6488406d022bf312603a9bffa4105f9a645972a712a32e8336ff62c5c1a4d810f788991a4e83b810095f8afc75eed5f0bf890696264effbcb01a87e73969abdc158c5ed26ddfd8d102ec8af27164a896ca5d2b0070aa7a43bbcc8961c6086b41a4ffe2af5f32e386a34a0dac4244bd9917007808ac2b5f2aa4957e8893df046b4018994da7a9b2b0a7dace6984d48899fbd27621cb36825f61005a7f763e6e8fc69f556cec3d473ee18173969e5c9566cc036bd8c43bec9dbcda94626a61858e51426a628bc49c55614f3d4dfc9778858ebeaf900c96258d3cf90aa1fff4c7b65752be119c6d268ac2571b9750ac1ff0e452db105bc6f9abd4865201a8c049478d6630789bc8400acf55b82bd0fb0a842584a94290ba9d188317e24449038841aec3e4490cfb72a542faf535d3283eb6bc25a04ce6ce3d9da4a3f9922b50660409e57617c69a5621e7b04ac0bf5bca899074568b1fb4b478618fc336c709fd76aa736dfd79bc58554aa6bcbb81318655b046ad84d06fb01626c61f3f034f7e819d11f2ce4e01b8140a33aba03693cde973d49ac5ae1b064379b7be2bc5311850bd9ee1a82c074958495f93ec4def08d67d1c13c02e39c6b90bdfe6ff200433db42c477840c7c117f7a9a4f2466db00f8a27ad88dbcf185b32572e12664ca95bb4d0ede45bbfc2758f330b594f729129eed175bf617544113e925c212ea9912d307b686135498e5adbf7af49d3bebf7fe3ea416951e73b61f94c19829549d0dbb306a36a494b0e64eec2aa239b3933efcc45279a7d18ad85a2c457f306b6ad65d3e23b608c660008b0b1196c8fa160db029ea6da181fd7fcc8a98730bbb8f08ee6e34760bc658d8417cb9c5aac1f0a5905e783c7e77df630d3b36a52dc06641daa1a2e181c181958e02252509f51ab9e5e56c55a34f0dbc00d6a45b57a4cd947613bbdb3e3453d9b70cdc45f3d57efd920a86cfd658c3236904b4c85915f483f7321d027e9d2d7d66fed1e99619e544a64ad2c198de818fa3f086d59b5bf6a80597b637977d017cb20eca2c88880d42645c48a66112c001c8b0feb4805d6befa41a23fb07b450e9865cf583e07f8aae5a0ada036a478a2ed0842a2842d54505e0b141290ba8372ee855aa60a0684ded24898450b254db61f34d8b696d0c5da3871d784ac2e4dec6194971988bcbc2e402d392acc86a3d844412ba6b69ef7e59ce20bac29fd6ce45a0988a57e8e9bc6017c1da3378293b5e4ac7b52085001440524ad3c53b40e5ab37bc5c0b41c59c81ffee474a93c5f70bf0909bd1743b24c695b16da7a4a4392c3aec25c405688b58e6213d1f0e4335378fceb658117ad010e1c2c84e1899fd99344ef606ae57aa16da5d37fc36c5556dde806487b9011f9ac45a856c46004979a855f90fae6a530896323d397b8b6d6c52d579d27d153870624f79cb10cf5dbfb10d6bca2973ab2de5f0b628354514ae6e9292928926c554b69c038fdcdf7488b85a79a59aaf98f591f380baa15b60f5775a0288cd78a4251b56b57a48151d5315792817013250353c111d388309f8157879a960a08f559097831b67056a05fe6f84ab92b977baba93ae0b57935abc570bda95ed29ba217b694ef15191584ba2422b4da8b75a9120301a0715f5d105b7c6496a0c2bd1e1a8426a8e258a268647831ed79593c44add55f268be88c064baf4e56502897a7e7efe86e86de024f43e728ea4e8410e9fbdc1ebf71ddde0c5477fe328f07ea34040705bf46fcac2733506163e1215662d58302c714f61d1ee88f2b4b0ecab6703d65543e257854458d1876aadca07bb517ee8dffd1f4f382fc32712452407f3c388a291042e4888ed0c1dffc43194ea4adffdcf15c9e510a1dda892a8694937394b1a5797770c566e542e54f6113afe598b4a175634b200cf770c8d1fa77fe97f96475dbb19569ac4a9d9de556ea0ab9da11cdb2aca937f4e6abd64127fdf8450ff2708e978620e0babb36950ec44388daa08cfd0668ca8df5f01369123bdba35bdcbe15c87e33eea9a24268adcda9a83c762c65557a2d323d806087b88e6e6db763cac701571b7b031b03e795c754d422d584f57f477601fd1f36352fae5f369726616db9cd3d06471a9ea9c3674c07ce64148179ff0d91a94b0daff09353deb0a437c05d885023657bff87f44f339d8069111a21a8cb01d324d10f21eaf1c32d8883393c2c365ca13a3fae2ab99a679eafb317b074327dd84c1a5b086815e2cd8200bb7bc607a7f865649436f90bd62f71739b0eecd3d9a2624aee61484a1f1832806c2a375d79d1cf092f18c7a3570f66204ae8c055b44e9b04e8a2695a3914da357760590418043fd0b0244a0be03f55bf542e5692cb1335a0f91fc49ba63e855bc69775221d3acee51b980f8ce1151a4906509207bc00a8b5eb18f369e298ecdc44f0fcf5bf7f16383c33e2a799bf70091992f2465d93f1adce351a761084d7950588a5e510c46f759cc8f90172260a34c5dff8daa7ed3aa5f8a5e994d83bb9cf2856c40ce498da2574ffe6272c0bc6ffb79ac86694adbb544386e30a4846f9742abf97c500a21dd76192812958ca5578f1633ca9d1275b94a17f11028c0c860d651885c1902d1cd2add2b80044553e78a74533df52764e99548d75014c115c587a46d734a52b20cd10b136aacced8655efda557c3cadac741b3ecaf54ad2d3a8ce3e78ac7cb5ac658dbdb9761dc91a237f7ca9bd26a51ae48921ee43d03d1d57e1500c96545e193b60df7b89a6884f7b3ca228829e9c163a98b1ff5a6777784c1f64d3535d152b89c9a8871db7667257e30c788025d10b259e1b8bd89b87fae2d6bc774f0d631604370dc1b122db83c31e6558a68630ee038e485a46bfca48eaceaadd24819af0c20ea770a110ef938a06fd5370389803ae89ec1297706ce8cb0d85c2da09e3413f30a31ee35c164794992a40fa96e6e5061280ea625a108a90d807281933a322c7c13e678334a20d2a35697a285c0fbdaff9acf6c50de12bb8891a6091698ce3fa459ca002642d789841b1f15719c14469c8422e615203be5d14ef1fbfc1fc46ad0c075ab3d692fa1581ea3acba7d6921ddde6f73c8364f06a24a089d6a18ee19b9d4ad98aa1a645a33c2b338e9a1a658923959d5f5f17a8d2b955f7b21f7e617e7d9c0d154d82a5e2830203d59e778647a20b325ed2c80b71259921d1eedfc5814b6b0b1e9d987b4511e68e38b8f590fdc75b79a0704516a2da10d53e548bfaab14b17e11a44db7bd53befcc10f26cd254a380cded5255c05d645d804111352d8cdd2b601aef9eb0f0d5e8c8fa13aad3778960007c559c2f2a2e0c7597dda278ce33575ad4d0a580af4e17271c4908080a16fb7884fd578146e9a7d5c328265b643466b88d7ee1f650e5057297819830ba3f15eb46c3b306c7b89cedb363e9833aa014982586f02af48245dc72036aace6df990cb0efec0ab849bd883eabaccc669d41298e07a464b346f136c0afc3332efad0f746055276861d29dddf807b3cc6b2492eb0549ceedaf7230f5541ad7aba8b9c5560dae6b39766fdb53f91717e13e795a6520252c380a940c2c050005231b6424a02234430ee7746bd7186e2e25cc15ab69d98b5aadcfc5de2c2fc2a6c0def3cfe08b951fc43a97d5e684071e99de1c6e553f5df099a8cb8ee7b3b577ff2fa328ee21526d1e79605517021e2e9fb864cb8567ae81c28db0b60aef638a0d02b5e53f18e61ff559b0a35fa5a82d00e510b9673a1892c625fc72a8df8ca469bd044583275ed6912f9696452a00f41bfbf99ec3540faefe49df7018eddc941dcb1c1484393e6490b8e92cdce2a093a9b14a3efe72dd8e7875165c42976033d93afb3098a7a16e54d7fc447d378e304dfb97636a12db719f82eeede6883ffc261912eeca978196fc12223975e762bd118bb9c02d07f563576e23f3dee7cb3290a01c7b1e2ddc107b1ef5902a98fbaa8e84ea2c25a8381db743826bcadbbcee7a0dfba72fb17bc3864ad85aee57dfe831bbaf6db11359328a9b592ae5517bb53f0a48adf4a0b71981928e6569119f96033e38fa00f3fb176701a0e82e1080b959c56fc6df94bbad3f0e2d8b4181a86dd92dfdd513578a33400e6b9e87a7f5231b9457b15c5ba78e97fc77fc0013416068389f0e69bba60c823442eda72d66e763cb30b8587c383b88cf19f612d692b9f30593b88b41aca1c048176a4c4b955ba9cf104410259530490c50baa1ed13e57bb3ebf7f5d38b35b0e477d1483125900dad33b851e6fb8476bed32bfb9dcaade09c451a773d01a91c7fea6dda889ce486ffa13d9730d4d48b4216c9c1709cdccbdeb818f47fc51aa57763d46d7c1ef818344b0216b0faa1d345ebe21212f3b04b48e48b9e304187390a8d89c3340245dae4797ac375d0818939e356997d7c5c03e91d5922aff7347c7bc8ccf6f993f11b7fa517ff567eede7b5bc0b49478730808d29e7135b8149b4d2c6c3ed73a856f1cee6a2f8e7b369b255db81ab37fbda2c45a13b77531a083c0b764d5b3ea3419ad6329f1b670b8611c4fda5778f5e8e6b3900d03c6b755d482e263de3701791f888bfda820eae57dd894420c70c2f5682c062a347300d1bd7d9388a09d95f5e008dd8d073f824f585dff25611886476a915141534e02b3764b230dc2487f15c064c28c3896c640f76376a82775b81719cf27ca62f52c4865d633f628b596f2232a4e3e80cb9e4269c0b81e18d5690ff28b4133fd05bbd5b38eb5ca7298d0e177681d486a810ee517b22d85b97cc9ea99c686ad0f9774eb996779c26533c747985250f603dd1ad2ab582f473792f75ad2a3e896e3bd8ef448ba25798f25bd916e54de8b4b4faa1b7ef70cd27be8f6e23d8ff44eba8d780f23bd8c6e43de03490fa55b8ff74cd28beb06b4c6fb71a8947a3fb29b9fa991f1ea701ea05d27d0ac6b4be21478fa17edc65b5e3e867f6f1eb6123a1cfb630ce5bc3ca34df5c913ca70585bfcb449b8e399b0d480b9e41ec5c7a216d7a5a664bc53129768213beb87be1092dc261bf383a63892d05e06c31ba5142dd52273c683762990b84d16fb0fa57820d5be0cc6374a2958aa45c68c077d4924b9950ce60f5a7140aabd6cac37aa425c5a8bcc2c0ffa8248720b19cc5f2af089a54ccb60432784baa5f1cc0f6611e762ad1b6960110494775ca179c4ea6ab4373024aaac5178ad30a3bcdcdc1db6090f330a8f075f1cd8fb308146b3b562e52721e7d01fc9cf1ccf28d45b68f367face1758942fb9b61dcccf7b9b1b725e5e23b9057fe21e76c10dd2b28ee2e182ccaf321864554f327f5490b47123a4e10c77ec546f9acf0bbc4ce098d727308381aed1f6ee0394e3c8a71f32b3f4cf7644ff05c7a02c1e5f5b6ec8cc8f1f665b0c9911672ef30223f120b7c8b8c1575249fcd6b993d85da1760ce466cf1278c7d07a2790dafb0b96ad125bd7aeae9e5f41de317cec7692fa760c5b5bce00f73fb7d2a23339073b8644290cbd86ccb8598f18e3fe87e309472859c6f4de045fe07cdaef183e7fe267fb3c119f983b8666be630ff53b06df58b181ef187eff809317f211acf535b4ba2e803b864b6864296ec7d0f2372f43be41900857a83b069b37825d842bf155067259ec18f0b47740123223e6fe8fa508001a8f3e68339a7d322133d7910cab6ec7d0f4550da8e2bfe43a56223b06bf7dae06bb63f8f93996df7244304a76a215e7f3bcdc7a760cc5fcf8ef8d79004c770c5cf5307bfae1dbecdcf85edf567c7d5095acc763c7c0a3078b8ac2e323655f884f0887ccd8f500441690c4270cbe96d0c2a20bc8d83283d6ad12ee3b069405efdb90df31fc9526404c0b9cc77ae9027a6eeaebca8dd6e311a73f8d0ec9853a29c739e011c633154f3e1569acb9152c7294eb1e846ff03f0608f17808103fe4b81a634f9bc58f612e325dae530ddf88ca08e185cc200478edcc79280e88040774925eaf4d7da808553dc61c76207c7e7ada0900b5f74925656534cb81bb7f9d74b9e2819263af15e329a2cb648b0e22f6ce06b113cae7d48ecb4e7465dc937c4d70295122c81d7e2f6c4e4fbf90f4c0f4dc0c50ce07c0e037f70cfd53a39b8e9eb6a134730b8a9bd4d48be5967678dc966bc8d7dcf28f3044f7d9ecd5cc1382f37bf5148467a44d1739d85a711e1ab296859351a55a8a7c64ce5b0d93381b19afec226440da4b3621923e44ad957f5368d953d13497a3a88126e87cb4dcd0588c4461f1028a566a39b30bbb95f1c1ecd5cccf8261559c900baa0bc2cd1c72df11097fab256d3419a365b903328bd7aacb0d8dda8267a67270b7111ee66caf9461701c8d8dfd695d5b32b773c8fa9804f80d8192624969e9249fca1e4f65a5a9059d621ff905b8ebfc60a66ae449c1bd3d780ac233d2a68b1c6cad380f0d7d6581dd0d2a2e352243fb666589b887dd938d3284c046e600b64d55a7f94f063ea913eeca4e4954640651c4cdad87edcabac7d4ec9ed41e58098c066e35c42b478f011db9b422e6c010c50882c526102b85acef048edf6e933ad0b6720ef6463527f39fe9a6d2de982c4ee35cc4ca97c27cceb0a8c997c250652ae44c0543af199295cf2ffddcc0435fc8f15e0287f73d63fd7efecc6c22e9efdf39d8e3ffcbaedfe15932dd83cec4b1339b156651b3ab346c955271334726685fd303fff3217b99e77801522712eae1c5baa116320d37c3c49007db4accb559951cb933b2db66940893662366f20bf1f2971cf6f5ffb2d44fcc76e621e6d345f85504bca412a6329001c9bd388898c35ece993f13fae041a8e64ee7022f8cb923003a3ce471465b3221d04e558197a88ccacc735d44c999cb7acfad5119efaed45f59032eacc1007846901ec6b7bd0054c2814f5ab05ed58190aafa9e12e146b6ad03ee82b6d646f309b262b0e104e7de8198bd910a20b797bda383024be6398da26c91fb8414438f67147689f894bcc9439fd404c90fb82f2eb2bed431f037dae47fc87779153f47bf632e070234d65ca34466ad2be80b25a821f97c0c5a4897f99469491bcdfda2f0f024c83095cdf60d840ce1ea2e7b4a8798891bc326ce0c0e6ffcf5fdffb2d44fccf85b4ca8682a19c657f180ea4b86d5c96bb0ba438308dc279b6b5a0a9fbfa538dee9599b2c94a21ffd85d0e58d30cfcf48665cac8f03408e16c07009015bbab223ea6a74f0e22893469f24098608473d29ff90f0a18ca8cd0740839a80a8e36a08f6d24c594a0642e1c7bd20493f39fe9f70c8ca12df62c0e4831f216e25ff2f4a556ace668e32fc0006beb913534b85a45f6e69f071f1742479f8d8f2bb1cef272d9ab60c2643a5933a3b630a78270066d7042e6f04080be99726b2651f7722bfbb0eedb0b12bd04d4de53e10f45bbfe4b6c3bf9f597b6bf6f7568e263c62ff71357e3bb5ae2c4cecfce9b7373f22ba559c3f6605e1e137fdca9ced42165ac00b5515fe6b099e3562ddfc4723953b36c53cf128c2fc9be65c5dae53a75fc0e9c934e4311b4076fe0caae6c941795b7c5c3562edef651eb054b56fd9995abfca993fbfc9a595733819b8b13a1ea0384200e132003459a4442f87a1839b93f8e8ce9d79d486a366e28836ab547879e4bbafff97a57e62c6dfe2665f9a974e1189199fe868fc8d78c750a2a6212e67c84e625c10aeadc1007c4286c3aa8403a898cae79b4bbd037d87985a8cdba61a573d8606279b3c57ce2275ab8aaee47ba1e8d91815f4f00a184643eccdcaf1f5e58bd17356e16f08bbb3b3a9915f06efede371aa8d55f82c91e1cd6dfa3c83e1372d471b86893d7b5711ca5e84d063064e6cb0b8238c1a55bd7e44336af979873f033e3c888f66ec70fc81a69538ab0d9c5ed7f45f7aa32636ab9696be7a160480aa2b698209283c5008c7f6669507c9aec8bbde7036acf40c235c2e0939973e509e809d354b064f78a4787cafa835ed0d430680bf7fa7a88dde626bddafec6805c178d8e14fe1c40ce89a3a5cca7a28138821a1c0fdddade284c4ba61f8ba3da844f9f673931ea0ba088983388632dca349165991051f0558ea21841ee6394f46966923851584aa93fb7b26f813523fee32f50993736a1c5b3709df0eb0e46c5237fe1a8539f69912bda3c2eac58fd81ec671a11ec66f00c5732e6880584fdc02f9ef14ae8306e1fda7f60b52d3a0d8f50437553495ad90c9f5fa2fdab2ff5fc3d01697082787dcc8363c5b40271a4525cab11f83f1b361d21b424039397242d7aaaac775000b850e018f42f31c1c9621a577fe0323f437fa84b876abca3831999071116c1aeb4562f0e05ae8e0fad1654bb7f61f602ff06987c30cb0fa30d54a8a89b6419d324e5c328816e6367d2a1b5aba01ba6c30929c8decd739649804da3f5580fc7a8d6c90d6574350738189b244239450c96b72c3ed81dda4b3f72656a0406c2ecc332d51f81826a1ff57869301f024bd56a1b7b7e76f4abb86b4ca20a81b1f3b20bd153972941f565cfef22387f81811e2e5a4f3608ec06443159afa35743e53782f9e2a7594858152189247ef79b191fc68619e50782b04dc464162897c85db82f223344f3600776f72498b5ef3e5f27715b6edf133db41b8ad76d35da9e278c7249b678c597117fa1b5a4f5b65404f6775ee7ef6eaebf7a4af9d6fc5e558dfca8bd8fe2b2f627d2b5e8ef5adb8886d72ec0c37197a70ac7768b4bf88fdbff222d6b7e2e558dfca8bd8ff2b2e627d2b5d8e35113bc38d897be5e861748372f4925ab8eeb6c8bd18d1e6d8c93e5f9b8bc078c8c8affca74a58f614d89f0d563fa9c65b70d1a4d07f052e6f11efedcdcde7400acfd693e2096c616e0c5e7d3a38965acd98158bbdf4b15562c61ef110b69a099c99bea148a147a813ae968fd94e461e638e8743a98ccddcab41530b490264f7f4dc59993909a742a486d4102430d8af344761e29a978ca230bf154ceb1c3882f4333f03e977cb82afc901f774bd57f93ce07bbba15456a56f18f7eb04cc2af7c77a9a432b803523d4310871ed1e49936380b511627465d4e5f0e6254e9866ac6a8b38d7d46cf75aa9e6adaa52c7943d0fb41ce29a66715cac23dcee3cee5094439cf477d3cd622409f97c2a94e6cc23492b861885e3fa801ca5b6e15d045f5f18f1dd006d16d2c4c1f95aab7894e6bf43147a21995fb55f5deff7a084865c0dafea97d6e2cb4f0cd2d449645e105d2d88ad4f989927486889f58284b0e2d440e59cfb32b316247f777e8ad13338334ed01c51f2d965e61b30b64acd310497b50b8691f067b1f9baffe50823a4c7cfbaefecaf2fdcd22b11e0251032937e54180ca99c2414e79025813f2e62b8efef6f70daf10a20544559088dc9c663346c90c8c44e9ed88447588a7b458c12cfca414a1d6029f8dbdf3c06040d6a28a14009051428a0870a3d9450a185123a94d04285124aa8d0a1099da198414dae05cdc08d6188c09699c4fdead4ac4c52182dc08a7c6299c8d54ed446f0194cb24faf8965fc3f62187930da5f9a17d51e0581103a6a274ece6186bf6650d02e49299156efea7d9418da337876e772356b5776d91fcc082f0ccb49a76ba929a4d3699be9af46e33edaa12b7186c41ec5961e7aa41df1c868390ef94176e28843d6858e3a7e365443abdab1626c9bd4569c328aad83b02d91b42d18cff7d44421d5050d938fa261e1c4d0f10cea6d177ae88046d3244c41f84b398687abe0f447e652b3579884ca02bb7aafe544b443d49417f7f3a8893508fa3f8d35854e4973e548866feeb9192d624d39fc949d885853683f73cb7f53b16609d4f4db4d8cc41a7bf1cf1b4db006a9fc6720fd5580fc5582fa5883747f28508535c8a57d0cb316e0f6a3a1ed909d8306db883571cfbb340c5ca556e0b1a60c3fb9517f781e7f70900eac71abbfdea40c6bdceb6f9ce04f1ef44f95928535aefb83c324608d9bfcf590fef1c8fcd13c1558e30e7ffb137b21908cc3bbeb430b31b7b8102946f36a0f288af5160fd614cdcfdac19f3ae89f2a240d6b5cf707c493c31a77f0d7a3fcf713fc9ba2098535ce37276e57ac89c1862e7a8603acc9850b30c30f5b1f634d847b7f9d0358638d60d782aa15e35fc08a10634de684c00a06b0a21e33cc5d36514326eee13458f3f5da12a0db1a20d92ab98187e59eb63fa789539cf964cd107aac717eca4070d438292843b0c6756ba4c29aaf24c4565bed32830b6506b1268c31fc7fb0ffd9f5394c0334ba6236a65453ea582ffa96bc41abb24f50836a38d0b83609a6cfe74d6f4b58031990241206c19a15e9cbe4170c90049d93a9453d41a34e38792ccf8a65477d77b3be284d93e4e14b11dc1f08ef7b6534e2edfc58e3143bbfb4b0acce4fa00904a13b4611e17b75ec7216e784dd4beecd4e706ad9c5d5b8336fb78193d14795f433c4c9a0a36f85f837a4efca1327d842c0a8fe88881a5643187c8caad4a7dc9f5fb39ecf094a93de6582ad4e349710e48f5c79da8722f171e21319eeb683582198104e807ee16afee5bef3d193a787cbcb3fd42af95d0bf860e2497ef367c488b3155dfe186bd968b5eb2816447ee5eaffe33ef54f38e234462d94f9026f201aa8c27f89892e65bd693151ac163650329c768a2da83b0cf83309b530f635d1d624fe62ace244f9e15c1c5ba7ac4ef3a18423b6b3392452c0a42d593d3f2d6d678b03272f22706928e2317774819e91983725106a20ab62d2b7131c9d4d91bdb8c2965f7565b517b1a52c400155fe90615b6a800287e2d6dfc66d412324f134cf2cd2db4378216dd24c09680840c02eabb8ed6f45c2e2bf3d29877482344cdd1e7ee730165e35d522f4d4b32838beae1a0a816884acf943bc40c5c03c44f0d50fd0fd0c98d04e9289b1bb788396171779fc8a2381c46b986c838679dbcf5186c30a7bc309c1627dee105421185a3264630a2579603251b6e410dc38b34568dd5683ea3d6b287ea284d05f1dba4352b1cbd96c0be100ec0c881ac6ea57834808d93a55b004fd106129d9a71b8fa0080a74fb5b52e2d8b070732362c633712cf0d107beeae605a20f967e36e0c671b6a187429169208247c28971cfe109556d4f7248425764c2c41b9d8fd3ada5df0eb130a3a55a6abd8101e9115b925524efb9b3d6dd544c1cdab283a2229665493a8e7f65418005b523d43431c64a5380391fdb6a00ace8e628434f04d9eb471400668667c2794ac8c0cb3c9f418b25259ffb5c92f3ec88704a2c8bd713910cd2525b8fd31a9b8d8a22448a32a24d0321cb30acf13025dad3a6d796b032b79556c15caea2b88931b9a79857da696cc9abe8284992ab73c66f67412057e725f93912444c7659b3dbe8ff4ef6afdd2560a56f55f3a0c8de3827132a3c0f7bbcb762f1d4e4f829f476c8796c3f24a508b177b5d63a91df9bec4fdb3f80156db8fd1a1ff2b2d2b3dd23858052e823319c927c01814c55e739d42712019ea9086068fd40a4903d7a964216ba2e7a75059aa690964e0627088cd14c15fc8ef06c6dcfbc32a0e417c7d4dd50fb17a0cdf2a55142b104caf19cee5cf14f4a98d5abc6b60471e323a3b04c84f8a3be7f4c3c82c54bbb0a04bda66564d733c23d85de3166d30f208e04f77f4668b80bffa15cb57dbc087463c17c076a2c82f3057f401c403814fe147d3349cf41adf256b2e449c8ddd8bb5d0a7622095454acf16abb0314f9e8fac2bf098754f43d9caf0bf5db07e2c04849925c8f442630cc9b30790039f4ee47307348428d0f01e2762f271b52274c10d371b29349b45af33db6fd4adcb25325336b93436326a371e3cb6530c9c157c81c341ca2bcd66b22bbd27702dba3a3736092ed6ce40221e729bed00ad2d748e6910455ed2d29b1484def6ecf99c13ec64a74332c0c33ffcf7e7ad391a78940cfcd36330252d563fd10fc9cbb48ea21a52d992548839b1800e77cd7d3b7c5df340c9ecca59a960d6d082865a5e5d8d795b33a176503e79cc83d4a9b7e65aba4186a386c081618c45ee321005b849ffec99142215b472b1614b0b64366343577402c5292e5816c76da23bfea4efb60250c70f52953880cfdaad2202f05c93ef71b3883c3b698ec63a32c9f5cc12d146edf4ac18b8ee8d5a416effacfb0246cb76b4e1c3c547492a52b11089aa757b9a9126861b877f21bc01fabca122a17e203ef31a4d5534bdb6cfee7c7e95030370ddcc032a8d92ce7782a582f4dec453a2b30f0d8269434938661aca951d827608dd185f4070fe912b8ec768c75c3f4fa899be8c7ae7b52f0293e98dcbd7934192e5cc0321a5a48220f64158ce34c379af84987eb4799765b3b387b347042f32e09a06b64b7f399d20f49e4b3ffa925423507329d4c2a45c83ea94b694a122fba038fdb88504c2034e45f2644ba95c1ffd98d11dd179806196701104e5f703f68733a7fedc5d553b285b5b7aaf3d6b474840cf638ccc547e19c95b4f8831908b3f27b84946c41564b162064acd9212c1ce6cbd4111a94ac5c88c1b682961dab9085569f3bb08e05e95d0ce5b48982dee927eabb7ab81db8c1b2af02c8b41350796c92b1bfe05ff04dbf5c6a94b7781127cc5ae431f48d9c7500721bc2b4ca5f8bc398820fe297ca7c7726961a7c1bb69c8b3f2c5b08f079d089aa4edf984142237e6835fbb1e7c787802c87a5c022c725b17287dab848460a2812c461aa6b7267271d2c34ae9b7f541cd807a286c46c97ea3a25fab040d5bb3f776f4c9d40af37951d117ea8f500282cb7418a3f73be123e26625102c8e11eb332aa0cf3f651333cf134e9de8e2636340f80bbc0479a290803ab2fd1ac21260def895129acda984151bc0c6b45c0b8d85120650c751754ca887013b53df1612dd3336aa56192f15c265800542c74d461840fa95109c60e53dcba92446472fb1eb029d53917236237814bcf8767328a093d66c67259ba28298948a330e7666928991e06908010035e88b4f71116cdc22a5818e3055ef452079d54ad6471004f896685646a27e239a93d1878f0928cb43cd1c0d8635dcc3489e8abdd1787c7893dd91dbf770bf781373dc720d5252f69814ad3efb71eeeb0209084be7f317361d2a80ed996fb49fcaaecfe7659a9626050cda3d50164853a358bb484a976a3f9239e820ca5262bae69bfdb4f76cfbc29c267804d2185e68d2815f31c58c4d3f5950a9a5e0a8af51be847d9a667838b35e79e57efa84bc4504ea1e5bbc393a69dfea65c8dd2697fac092f4d151170f505384c35a362c16257f7ade927d66b9dfffbf3141a048306b788eafc172493d8911c911721cf3f313d2a250883a77e8bfee5f8e433c580420c1bcab327ceff1dc252cf5d8f921f18912063aa9ce85c85be4785d9035811828588e02ec971e6c279f60c950d69b6b081215e82d8ae19d90854812a6eac2766aa52335b4f1c79bd03a5d7d1966e63567221f6b1643cca985f85a99d701c03711476327a136ca3ccca1d65ee53cd88d4fda98f633d5765a4e0114fccb02c048f46dc0841f8c20ba490e0d16e8264891387ec2c174801e0e347791c3f42cb5b6702498b05845c239046a97aa4699ab34ef088a9f14e72e5f2d063bfc48b13e6d18632f323b9d29bc896a4c6b27b06a75029b4986045448764d5cb16327ac3903689b360693bcfe3994b7026bb8cf8fe201f8a25d323296e04f9191c12e22ab703b5271656a0430cbdfcd07dbe868e091e027183a189e4107b2f7dd8f64743c2e5bcc93f8696d1c6c16555851f1b206625064d57d06a1f434c4f92cc75dd510cf7ac9f6938adf3b963e9681190e87c83531449aaa1800f73dd38eb8c385660774e355d06a8ac28bcfb4544ebe5a7309370bb5efecafac88b4d15269ff5a984d8837ae4af260ade4e710cb92fc634bfed22cc68a1417da3b8ecbc4b7d4445a92a6de4483b63feac6f2394671a91ab504a537dfd35c2fb2d1bed6f4f0d78f788ddf751e7d832be76f4b85445f6e049c923a3253b20e233f6846985623a87833321b441791052590b58c0cbbea170163f84bc08c78019f3f0ac33ea839ac547725a1af36bee890f41c9abd4c962368b3406a446709ecb8b28e86746cdce1f43af8618a029b2f4f23ec190e3081abe4934c01167ee537a0e364fc044b98f9afe25c5c96905dc3ca390a3b386f5b622ec94c476bd10417d00c555a0e99b6dd049417d81d85e12c0f63c3c51974674217d682c48fe9935d1386816f0db456304886da6511adc979270ee90ec41ba77a720ad16cc3b6a96bf3586a465e477f6d3e6b81db0dbffdb800c5e34bcb2bd10fd8c48ebc8dc9412a918c4123c5b68c26e292c00d0efad2bd74b3112aeabddaf8eddaca5ebd993c65fa53f34f28037612bcf49c2c198842aa89afc3c8b44e901034b3d5971b90038e0f09570fe3a27a8f651cb3877c1f98624fa205a4b711f1a8a87676bcfe823d67286a99f7a9b1eae23d4576ad6ed146c4a7bd7640e49b949d7eab37e1e3273d9a80f1687589e4dd3fdeba5449d566fda5cc7426d294d6f9a3491bc05b63d8a71d0b0f1d885d46ea74ab51aef2e216491b3ad35081d314bb0c09c561654f5727a3f10e4997cf35520097e10108c45fd9b7b3da7d6be7442cbc2d7b9c17443f4cccfaa167ce14b957ea84b04b104bf29804664f1c919aab40dc72edc17a367f2644e33322ea297e8abfd96f9b96bdb2a29969089de8ce5e2afc7bab6ae293c8279212f497b6eec5273ee48839194b0e383b51c246e16f42988f8f3394f0e2660a7611182c1fafb1182847c50f9a69ada016fac4f4a49a91906466ec0fc19f4f7be538ee0e6612e9a4cddb0d89c58e2caf97356cb6b088bac8d671a9928029ed4cecdf301118d5231605ce7490ca2bc32a18bd76c33ba5c98b92fc3d0eaec0ec904098ca21ae4fd7c45191afa845746df0de0fb3adf68722210bd163f29e383b38043f7359158a152c8279ec317e0f785776e4b7c0ac5f7ada9563186aae15c563a5f2c80bc1745eff826c76128d9488993107f2f5bc558f41c294e2963f81f2e3f7e2b4189e1a14299fefc66edc1f48ee5fc7f81b7fc108ea9368b8af5f2a539cc938635f4e126c003d1c9fe5f7858cb9f8387364fafe1bb14c8df22835c2e79967b399c4e85c10243d3e7c9bb20e47a7cb3dbd73efa79eb7cc4db6947ad9383571757c1f3631107c8fcfab7d20d453a5b9cde7955279be946f2e12288b4b71edc4c9f0173dcef37afad1a991816ffc2409565629297c1a8a9f4e2bf0d775bbb7b143c50dc0d8f0373b4ded6ee42710d9f9b5b4666fe5d1a34d7b7b4eb2aa38bb9995e5bab22a128374cfcc2030899a2c72561cf66c3b647f4b71a7fcbe3184b69faa1631a98d1fb3edc4d32d543fc4b54a7c47a649085568eb93bd069eb934367ddecfc6f3e42744ceb02c2a1e52d99448b66e51f324224fadab3c34591c36fa62d516bd39fdc9a107517a54fc6c2ea3f3bae39cb10c5ed18b6d0e33b1cb906206202ec1df43bc66ddee8d8d947683ac73c3f13dbb09de7688ea3b57c9876654f7003df7fbe3f3e0843d6e10c1e68b3191ebaceb078680670b06c0acf201d074434f8359cdb789d43de90b857d0014b2e4f3db9a2832fe0cabc96548975f12aeab6b186f347213f25271459461d8a77ae484c2b19637968b6f3b6c9953f993e1d8de12672136215f2f5b19d18e528fbf615b3852cfdedd8926a174d7296448b5463a9dfcab9a3de1c3728471b9db4893095ff74ed641f5907bb95c07500664c91136b8fdac2adade7dd13e538d11c99f80a950c976984a29b792da4d3905ae607288863c3981efd90881edd3dbe7fdc544004d2bbefe0e22667bda4094cd443532a065a7ff4d15c40e8db9f2654612f27239332ae1eb25c4748dc1ef2fa329be791bc88de14abdc3acc4999d913137e01168dd95a32b2a150c773e2fc1bf64051baca1e65630a2bcf09bc064a0b99282812dea3407935b1cafc7696851d54b37f255d326a6cd758a7f7c4405f799d688a520a8856a004e2e7b932c3a48e2b32ac20bce0ed4ac7a011d9b58b09363f16385e4fedafbdc91a5538bc1ff80dfa817230c378c600e09848f676d25c4768cf85f1de680d33900aaf3ff85f9d8ed95bd0a3e0f1a5a56c3a2ec6ad2ed69304fa60b8846cddda9e18af76de923b80131a5ff95f3579591e8c690ead6dc8f20eae07b6eea0f1f446a851391c0a87037104ed06deb3706cff4bcd21d773f018231e19c45d447f5385ac58d31b7feccb7f0928fb2095d8c69bc5d36289ba86babf1fe1a90278ac81b7a8bdbf0b2ca7be20fed88609520f902f36a0672f054bed0b8fa8f8fd6c13f9d4ecd833dec113f02708eb9a41fd77039a966a0146a2bdce667d058cd8b670aa7d1a0fbd3c15406bf04d1e3c4ace3af9d59444748590f7ce795dddfa204cedecf3051a6bf8c1b5e81503d946064736c147136038f7a080dda19e7a795b10f9dfc5fe6b6e29e25442c0355dd763f363f1ff3ad0775c17f4b4e8cb50ab0e1a202bcbb9e2b13e740966ba5a1dd17d5e7ad2e09c6d9b809d584afa96a64bfe953f6b7bbb139ce68e74eb5f79ed17214f7326d414e4bd1446b50aba43fc2e3290f76fdad9fc764cdd39d557966f606b85390f59346fc9aa75f0b0a18dd82fd59de04f48360c0b5054d44eb303e5ae600c7c5e5b8cae625cae111ee54740258de66dd01b0d9740aef40f008b9cddacdbc886283f4b47d8b4ac533a53d390ec6fdeb903aef5a2f5885d34f0e7e85425cf25a89cb7df199f3715f0e66adadedd399b879dcbdd70789c098cb67cbf1daf07e486e6922faf17a5c6d02f9d98e0877a38e1ae500d982e6da31ea9109d4e3060052d4b12e301437f04e051600992a461a36c59bf6866bad996a8036c475d2fe56c31ee9a2ed897ca6a2371fc7c44aa0953b02916a7cb0c3a09716c01d065bca657dc7fc43ef8c3f088356681734f82e4fb6b48afe8cbd8a7af8db232bd5f8e0bebe27faee9fb4526b128d85a7d9b4f489d991bd2bbd8c2a848c8220dfcdd413fa522335e8ddd70864193cde8a8dcd46d253c800b56b4ed107a031033e4bc9492de2400b69fa385a5021147225928b7b1f0a13b4ff6e56ef1a233162cb23adcaa1c5b91339e82a1dada3896960d462c31edfeb8d7d02d5690233333112c8316adb850c5754d09ce7c7509ee45b998905d84d2e33bc23b753b31e7955db84c8969f16b503741752772ebabaa219f9a3a0c958d34ff4c7e28749dbb60fc4ceec87a5477349a545d19bf436335667c05955e5660ffa9ff3c2cc524c09e04447bc1210f500da046f2a698c00427a898d78b9f902e4e621821cd519b3fc34acf1e04baf5f9ca852458cc4db1da613001e623e69be28c7765ecf1bcfed09e6a13c365a84564bfc377f7b00489b9760aee16ede975b720ae36e58b46f7b56c8a4fa169c3f255004e273ef1300b2f3511ac43266e2890d9351c01e86fdb7e72fa49c8feac634257bfb467d0644e5f883f02175bf1f04698a9a154ac7662471a21fd533a8d925e3e03abb7923657ad66a9c43abaec7e9886b04dff17d1ef1c7b1d56530e68108fcbfba98f1b23e65b44c52422516e7aad6773043358bb08ceb6bfc4aedc11668024357af0082fb6917d2f976619c1e892f155ba08e04fe22e61b7eda44e6eac263087f6e2f5a4bcee505513148c12e2341d3d757a597e6d9030be8d94037dc515494c5918b7b0c10f798e2d36fc4f6afb9edb0e99db6336d4d907c407c053d2aa38dbb437036e66eaee096735580032f4d0f06a751966a39454b9c8c8ca3196691ead875601113bd532e96619949346743ea3f0e51c75103724806ddcc5dcf367a24d82a8e8f45220171378f07be0a2135374e6a43d9bc36cc65c7fa39dc6abce1eb9411494da922eccc697bee8b714fc3092ca051fb67b2c832be62071e4d9fb567dddef6b60b667d1c0179f8e079d537c1b4926bcfbb9c559bccd45f99d2f7c38af424f20dabba216af5deed7d3f8b9c3418e23d3f1d6c13b318a83f8f94c09f2e62a88e59513ca7930053762f1b349d269deaa0abca9f08bf01166ebcba439e5fa621dbefdb4f00322b269b12023d4bf47b85543ad99ddcbf6984655f9ce3c8708e0a7685233f6c97fbaca17a1f8ddb820b0f362821c142feb1a1b10ded844bcccdcf52942fcd0be1b3fa3dba4b0e3bb5d7fd114e11ba6eea80bb563566828a3a47510287f74898d385d6c534bff1134c16a4ade16ca1706947d54924388e9a31be1ca7ffde263da224c7b875758ae1e02ba21647f1d84e33e63f791cf0df30675646ab33a1c6a602056fd33603e36fed3a93d0f10f9fe29e89ca702d72958704feb5648c3cc9e0a4933cec7129c5c1ca9334363875f7e625e6eee830b0d4309de820a8fad70a455983538dbeeaffc790a4b40e869b6c8823d4c2b617b07fb3a267f05e45652ea96a7fd0bbad1f1f8150f62b1b263fe98f70bfe9d04d242cb084b21910216c9197758b903506461025e9ffb5a10fd2493b1f0731179f67d9c2d3c56ac60b7546688a06f37c43afe1d68fa21e4066d34232e2a8509542313e2825fc899c253818c63763168c546182af8be63b2ec60544413f2dcfde50c41ee8c3515f685fc3e9ea459544919638e12982f3231bda6a93f5560f15bf291202fd604f99946ff5309168929ce70a44244b03d3b793a1dc200d214b0194fa3f9b32264f65ebdc4fb7919d0c405f04174940d229755292bc9d0b0416b533f99fc67abe4810a9acf0c96797488500f8bdfd61dc2b398ce8e7d29966ac18c95da83c8307f0488006a89a1be2f7c0b6c783754250edb2d392486b800ac3aee8587a16260de8949b0a85cff483615724e516e528cea80566f2b1226d60163a06616ad9485e8df14476c1f36f73d9db01eb2710a592f26488765aaed6f3fcd80fe00ad68b56620380db1ce4a146e730e04b49a1a5a9e02cb8ed8e038bab6a20030af5722a8b3defb1606e12b2cbf787eb1666d8f41a2b37ddc2c4d90bfe145f67aaa1cff7a585726c5036e7dc44d9103901cf1e17a7771911ef921369558783a1fb04fc5067c9df8eea1f018da618ef7f9d86ac6853ffa0c7f8870f8830634bbd35125eacf0df691e6ed549f2559fc92a363eaa6fc5c2dc23cf816e0ec8f7f691ee9a98bcc2808a2888102f73873bf7bb639f5627174bbd6a0db19885fbf9383d428cc15136db0126ba764c7854d5058db7b4dcb07f3f5e38bb03dd1e06c380b6244da54425428e75cb6adf7a2502c6ff0700e96d9f11b3d615b01e38c9efbe3b3e14be08f9a5630ca9e8990584a6b9fe26a523bedcb9bde180da6ec04d7f76ee4bf6c3dcb5fc21a25c6fab7ca4a559b51efb3f3b9c69b6ca0f391e4d5f83d8e123dd5b375fa60a7e48f23b1c1e4076e24e05396a2a6c698ef3a7d77be260c7a02037f40e77d5a7e7d9bfacab724ce33c1c5fbf9d930bf5cf18cd540972895372a5bc7baa60ff60d2a3db09887b50c3671c745ab7327573b0e35cdae239ea058e5894e7f3207910cd61d7bf5967041a650341f8ff38cbf78268c0a19229a961eac831384022f8ef1294fe42f2d9cf6855084429a5646743086543126c0a10377ca001206dfa1b988b5c08f850336d677dd86800625362dec083f53bdc4ff00c9becb2347462088aa0735b196ba828882b94e9e8def768d092643a0a96def0b2d86667ac8c799175350c0de88de99f94d53bf2492a50b977f9473c99372f00d6ef8f935dfd85f7b0dc1083e21fd57b7931f3172a2f50c89215a112051182331700f3c189e8f12f0fb9ad29192b652a840f9dfd218512427c1aeedd1ec39d2218013c125b8335cc96ce90477b9d70fbd57befd47b77560a5c488e0dd3ab2775847a7a4ea90108b88c10b15e535cbb4adedd7dc2a4c069f8688c0bb0a26c0fd7baecdca70c95e24c2de3077172300bf358fa86a4f9e6917caab6a358b74bb2b983445b2ba2f817847019b26b4b25ece5c70125fb95681882456cbae357114ad9c5f759f44b12e85293a039af9da378a67386f5f4e721afe7f0af11ab169b8c25af0debd6fa863c854a7743cc37f3959a9c10d42e8f76c9f8c70de7c20b37923e84e62c0a70f5a446180c9d5390c221e15adb4334239ba786840bea64b9b342ecc53e383336ce11ad5bce58c21ff2859b409acf85a564a3672cf4dfda834f2295d73eb34838d898146d8c145976a88a95686b04e537f273be6ab6e6297eddde09bbe6c071c6cbd426a9428d82199f2046f3a07d7d1361bcc72b3853c0fcb4ff5ad8450a1e49ae97ba06dfb3abc2790e298e58ebbf58417132fb01caf737ad9dd057cd0028a5dca7a5a20d0b29a0e15196dd197ceecb7c8f4d759e8216cc5b1fb3575bb0fe750ad7851eaeab9c02658d7c01b5c0080551841d0f70aa0a0000be27bde7ac3fe52d067aa1e10fca0d66a33b3151568449781c690d6f6de7b4bb9a59449a668077b078e07b19a84a563b54b161dab4a591a56f3f4b7a186b19efe467f136a188ee7f2455217b94b0a94b6c8f4b72b3a56bd441c4a828ed51074ac7e893854ba61fff4372b0dc34f7fabd2b09ba7bf05358ce6bd9c60c904996e23d8aa6858ece96f2098d2b1b91471a894867d31bb25e2d00d4ac7e852c4a10dfb40c786441cfa534491b728997e7783c1a7c137ff611a0e9f3e86b99ff88387e199234708210000002288d06ab95c238c4002092594f07a9960020e4e4ece0927a090820e1574504841870a3a3b3b5680ed80ff183f0efc6f83713c0bdb7c0d66fd0cae79193cf3282cf3268c7acf7b0d77bf61edadfd1806e161f8bee5a9df93a94fa66f673972d859951042a862050000b0628508225821d46a095d71b9ae0c8d30c250161248c842544209445b5eaf2d462698607484837384949383c4e58413b864fa350985472129d3af5d5250d2e14585259d9d4fa18b0e2515bce87ce83b6f7f76ac008b3dfd213b7e85b904fbd82f8110c321cdf56138dc72fd1570f8e5fa3b700893ebefe07026d7d7c12ae0f026d7d78153c06108b93e0a3874e5fa27e0f095ebe7e0f0845c1f07872ae4fa26e0172e01879d45ae4f020e1b4bae3f020e9b8b5cdf55bf85c32ecaf545c0618791eb0300873d46ae1f020e9b8c5c3f070edb8c5c6b7d1070cf7ed53f61ebf5ab3e0dbefdaa7f8365fa555ff531b6e9577dd5c78173f4abbe0d6ef5ab3e0b97d0affa3538a75ff567b08e7ed597c128cc028f167cf4abbe8663e857fd0dcfd0affa16d3d0affa172fa05ff5277640bfea7f806de857bd3d6b9d355842c38a8c939ba80643b99b5e973083d6e315cd8589947ef11675a3f5784573ed9676d1cb82def12dda451f0410582c142a87764b974317caa19d74298749591504d2fa799806ae353a3d7dbbc5758eb62caed3ed48d3f7ab2bd78a2ab3c7dedbd325091a47b96bef8ed3141ee141c7a450c4d1e20dbb656627c8d3dfa404c1db8ce6e39a900d5228c69a2e6dd1b064fada150d0b5df2b1ada55550a859c99a50a501c3562642ba492b2744da753f6cdd0f9f5e7a7372d84a3ddd86f5e152a122fda27f719cf560a05df4b35c792b56d42d7d273338e233b08a4a2e0fe80487746fc66d00501634a4e41cb989d058924f3f4f3f4f3f2b500dace4eacd7c3fe617fae32d3a97e6f7f5b0de36ab5ac3b6a7bf3dd130d4d38f3a68a518b33f11873ed00632fdee1e0f82fecc3965b03fedbd6078ef9cf7b2e65f80857aed290f6a2e2d0501b79974d1b7a194490d0d0543fa73f3e1cc6bdf69332c4d7b19ed5b19f5331aea46b361d5d0a0502f2351da5caa5fdff4019973be9c424c5f246616909667ddfec458acd22753c9dddbdd27a23029ee5b8f69ec16eec8bd6d9b91d54ea7d3e9743a9d4ea7d3e9743aad3ceebb47bafd320d9b4f33fd99faf459f01d0bb48328530a7424b4c54aa61f94e9535a3f7c656a9af5271773d84af487348c68c80e2a96f7e5b622644bb7efcf91dbfd8ae75f1cd6e7b8e409f29038e4c8f5bb7acad149bfb83f650d9b964c59c3df962f6bd80bf2b2863bc9844be2b286b72b5bd6b0f599cd1aae5f6ad6b066a4650dd32a346b78ceace1a069fde29a803197f5f5e8f9823bc475564fbfc80e0d53c1609efe4ca277a49034a275ee53498da6c8541245c95488caa35cfffecd07e47ebdf5e7d7396b9d1a6b3ef7f355388559f3eb6ff3635e72c1ac094e264938945ce89274d199447ee9c021d16749ee6c3377d1b77735fbd6fcedb70fb7d9091319b2c97c32cc3fa1be1ff34f206bdb7e634527d1496fcf9a3d3630fa78cb0e592107376ca52cb9f80e029ec63c991ce0c399c4001fca2f337c28bd04f95076c90800b759eb00a001c09633804140fa331f9e7e9b6d3fdea24f82d00db7599420fdad9cc3e9890cc9db4f9cc30c020e71177d6b51a0530fdc66f3b9ef40dbd518895464e6d34ba4ad955a346cb9c0dabe95bb3f6d60f4c94efa45df6e359dc36db6cdb69f0dc875badbf073affa82a4e227839da00e0eb0f2c37efd990f88fd2a83fdba1139e5cf61ca26b267fb22b147fd13660169492b7ce65b4d481ed195cd952fc8b4e52e7f4a44bfab5a09d801614e96487267cb52162599e4b9e0600ef53ce6aa811c0f0c1e8bf0a2050bed5694d288e4f3bbf7428b4ba65f4dfae41a00e5f8f58838668a6312fa3449c7a20f8dd3b088a45ff3234f786d90328c0ee3f3238ffb8c4996786bd695cd6c2a2905433965bc4583b7e20cde8a13ec09b3f2160e37782bfed673745486a9fbbcc86dd17b075899a6c86dd414b9edf38eb8ae33795ef7755df775dfe779ffbdfd8074bf9db62f48f71ef726cfab9d2972dbe71d99baae7e5f67e2a8f79176d2a749f741e63b9d21d77551e2eef7dcf7dc8cd7a6f738ee7beee3b88ffbb8cf33a1bc894fa669faefe39ce3dcea1039eb3d67dffb3efbb2a33f3f4f765ed7c558d7b9b41cf76ddbe9ebdef4993e8e935f10f95c3cb9054397ff7d5d67a594524a7bdaa494524a29a5cc3247873d492b4f6fff64a5949bb51c26f2f5902080607ad3f5346cfabcc86da7386717c1225fbc74393ad2acb55fbc74393ad2acb5dfd9aefb8068b6b3df0ffbd2ffb3cf7d289f9360e899649c918cceda3759d0f3bfef1d28e4b3ceb92929292909fc5fbf4a5953c3c520a969272dc9a4ed10121a1a222232e2e22d2a13e39290c9dd574bfc7bbce5e34834400aa2bd44729d2a9f3610eda586b9b7de9ad6debb5afdc7cc78afcd2fb434ce8663967e11b90e0ecfab7c3f5c393e94db9d4afaaccb509074b5fe57ab7b8784ac5cba3cab25dfd3a986683c8dd22dee8a5d22977814e4adc845e3d06fad56b18b2e877794250b423a648e3dbe7d2fc8ec7da7d139e592cfdaa821f7f2ad66c1a7a1d13e84d13edce4b7a63d9153d6c0ee4d1af89dfd5cb02f85c8216fd12b302497b2e45f9025412041dea2924a2aa9a4d2835872e2de9164f5c54b3f0c6e670f923b0d9399febbe06629b9b036727268fb80d86a63136fe960f3f6d789fdb952aa482b32954ce4922e6e438cb9198e8484e4316818d82c4147ea57e7302e49a186d54c5f2ab98eddf1209ae5caac6c724c7c8198b5a0ee030fea9557c143ee38d16a753d4a37c92bfda23fb1148ac18d3f25aa61f551545239248734ccd26166f9444ed9bef605a92f411d82a467854a6a149b781df6a02adeb2a2e52b690e1b99a3cfe14132dc9b9e7e2e08b15f048421b974485eb1af7d149406fa91b7e8e7e0554c98cae7b094015b281914d4627912d3dc5d915dbce582eb248841eccb20d7b94fad683fb9f718c4b4a7ef499d233917d7a977752fee89c379dcd5bd37df4c855ce01e86e4d20fe39010fb4534ed4f2f71cce23a30202be6613e0aea690c08a4956140d905cc61e6505eb1601499a77fc214681cfa261c7b98e07043bfe86b188d2c03e6b84bbe15ba432b21218dce8ed4f4811e28817ed18f827a0e0bb9d2b00d74c18245a24481736672591a4899debcbc79596b7d993bc712db7cb79a955543b352a56664503130f764fabc8edbace6ee7456560dcd4a959a9141c5c0dc93e9f33a6eb39abbfc1b99c3fc9bef6c3a775eb51fe42e29a73ab7cd81ea07bf6d15e3a87f838900597b813c16c6f181e64a3a267b220e6dd8e440109936019fbe57f1a01bec52b83813078a577adc7be215d924f42232fd38e43bb6a7614544244ae4d6debb5a01b13e6c7161ddd8602243defb82dcbcfcee037273736363e34e66b2761939c41c3a109ef273294df36fb0cd36386619b3d0e0b8251ac5a38814b9c4a4d8252ad1f8c5793c892f61e23ddec462f7c1eec4fdc75b60bce2ad212e57528d497c2a73e802aa36784b025fa817eaae4cbf7e32b4e3e94099be53a9db17a4be03b94ebf4b6920159c158c4ba8bba6d5aa492496b3c6804119302863c6d873b59269adbce5e508029efc73c36db6cdfa45ad1a431a47a34b5a44524aad56cd2853a408744c4b8a38b4be0d0fe898d6a54b19b9be031a06fbfa0ce8987683fa0b68d8fdfa09e898a6861a2cc8f5696898fdfa06e898c6061b2bc8f56768d8f6f565e898b6543f868669afb9d1389a1bf57b744ceb41fd1672c7aa0ff57904a06335499201e4fa2c340cf5f557e8580d228ce5fa3b54e8581d22dcc9f5759cd0b19a8130855c3fa761353d38b9feab63b5272421d77775ac1ad138b422818412f571c7aa128d43593638befe37ec9de0c8f56f3a569d3c89d5278d439b50e5fa331dab4d40a90fd3b10ac56625731bf6019d72fdaf6315288afa5bc76a1461cdf569c7aa148d43bf52a9ef35ecf435f60578596505e1e583206bad43944000e1bb57abef56a9be1b260582dfcd020bdf1d80007cb70004f0dd0318c077f3e0f1dd397fb74cf6dd0420c077b7d0428fefeee1c277bbf0c277bff0dd3e7cfc8001480c327cf78fef86e1bb817c770cdf2dc377b0b7f8fe86ed6b78fb0e6b26ec3d0a9b6a6ade06b31e07b6f9c7381ee3ff1b8c0b80632f030e2b954c3f062030fcf0f1820b3d5a20802cf318800002c002988251ad40d086b4246d481b1a4aca8e74a3d290221e9b644a6392fe32a37408cb6379209056f6de03c1d0de55d74ded343d6fced3d4e69cdb0c0a9a926a4fe8d2125d6a17a56ef40e056a6920c854eb40a69a11996a44b48664c88edc443a3aacd3e7d0e201d2caa73f81f447eec8da5a1aa6b24ec42f8614e1e1848b0c6925fb3355303bd4484ba2b9d146c7a89788431bf681efb8922b75a95ffd8a1ac91dcb636733eaa55ad02f68edbd130c37a24c7fa900d866197058a5c8f463c0618d22d30782c30a94e9c380c30a25d3ff81c3da44a6ef0387f549a6ff0276018755894cbf070e2b12997e0b38ac4664fa04a02fc361cd40a69f715887c8f479e0b00691e90f00873549a62f001c561f32fd00e050eb41a6cf020e3537426d29d4d808353542ed065a97504b7ac166103e07ce218680c30d4aa60f001c6e4f64fa22e0709b92e9b770b851c9f45d38dc4290e98f80c38d04993e0938dcaec8f44bc0e19645b861c9f44dc0e1c645a68f83c34d4ba69f83c3ad28d33f01875b18993e0a38dcc6c8f453c0e14646a6af03879b1999be0a38dccec8f47570b8d120d3dfc1e19646a6bf03871b0e32fd1570b8b1116e6d64ca834c57f8995788d52ab38d8e552b56dc586a188c8d8e552bacd08197865d1c74ac0a09ada1d4309b46c7ea952b37e8d2b08d061dab43436824354c3ba363354b96197069586746c72a11510c901ae691d1b1ba654b19470d338dd1b16a64e402a386a1c2e8583d3a6241a6bf6d6998ccd3df8a3a5691220e7da41564fa1b51c366b474ac72e1a2032b80824816979cd1861559c7e120053cb2aedb82468facf3c2f8624690acfbbc00024a19321e8ca4d630b26a81ecba0af1c530a20642321e5a8ca3100cc98c682590d9b80af1bbab8551113cb20ee60b1534e99175316acc90641daa0d3096c8ba88c74992ac9bf1246e22375a6024eb524a324084a4fa610d35662b4f6257a284142499e31c215947e3491c83780115255957e3491c91ac41868fac637912f7171ec0e223eb6c3c8967068628c2882599e338035a43d6dd781257324a4002241f99e3f8c4045bc8ba0f3c895b8b1dd80048d6e1f0246e2d4769f4c8bac7f1c18d0dab8666a54acd3c36854738d0640a2599631b17c88c789c5e48b962d5d07c1d0d8d8c2a35f375deccccd77d9de79d4cdfd779dfb7cd39e79c739b73ce39e736e79c367783e2061c6c260e71b0b1d956362b1b2870b8c1c606068a8eeb3a6bb2d69bb65f5bd7af6ddbfab5fd6cd8d77973f66b7b6d5abf36daafedbb61df7be77d9bb76d3f71ecd78683773b53d7fd9c57de3b7367eef3f0797ad4d7e72179780c0e8b647f181cee901d0c71f0ee6f38c4c1bb12f4bfa87befbd3333d79b999999b9deedbe976ebf769cd74909f3df8736068591a03e359342cdccc48051709871db5b5e16020386f751dff9fbd3cb7c879a9999b138b4f9a25eca609467f2af069fbddf669be79cefe150b30ef2881bc697f589ec90ab53f95dfc7ed437de78a38d1f1a1877c80e46313285fe14d68f1fd9e699c39875984078245ba0e622d23f20f18d37de7823fbbfb482647b4edbb66ddb7ae0d936ea2ea5eb84d4ef0a121122a31899329170df59cbc31119f71d68b96ffb1cc7715fb1e5348de37068b3c6828eeb1c77eda6ef22ca4ddf75d1c381a36138707cf041c33ef8a05ff36f1ab6dddcf46bbe4dc3361b9b7ecd67356c63b16a6a1a56534343d3301a9ad5aa61ab954ad530952a956a582a3533d3b09919199986c9c8a0500d43a162621a16130303d33018987ecdbf0ddbeeedd7fc53c3b6d3c9646a98c9f47d0dfbbc866d9ed7750deb3a8e6b18c7f56b6e5bbfa6b5b536ac564dd31ab6d17ef9cf970d83797f6fd88579b261de2ff77ecd8f0debd7fcf99b7bef382c42bf7b7f7b6f6bef512fc453d5df3ee6dd7dc3debb2ac60389dc542af534aa576224957a952a052ae121d53d8dea57edea9e65c362d9b03ad5df76755f5f2675f3aad4c46111da6121456846fd0905fac7f84dcc7f2a95a752a9545e67ffeb38af8381995bb82a42bdcee4adbc4eb55275bfbda752a9542ad5d7bc91d54a052ae141f5ab9ad54afee9bbf76a9ee68db07ef54a8c1899f96ed77d1a70c9cb56a012d577f7d7e3cabc4ae23046a552a9626262be192c448e4c066c93f7791d77f29450779ab361e8dce30ad494d992153329c44b59636506a9596a4685ca8c0a2a806642282d29a57e523fa99fd40f6a0a6a0a6a8a520a8a07c5a5d3a6549b2398b56a547a5e1994a3d429d5621e91f9cf3963f3350a86534a49a7954510e1ee2927524e00cd7c648c1e97700f81944f705f8385491f91b1024e38e14416f5abb3e0c9932793668a95a0243016a8295053a0a6404d4144ea49ea49ea49ea49ea27f593fae1800666fc1889524ca498483131f3292ebd29d2a5a766a9596a5604152a549ceb9c527a8552eae31990d1a30f124ba49432c863d34061253ec1812c9a28b65113c5ee63716046e95a94d4483191620225054a0a94142829a2525cca51c98a0df8d768c111a109d9f90101af040225054a0a21aa08427941589acc66b3199594132927524ea49c70df82487c237f44a294524a29a534ea807fb40d931fa5e744e41b6fe4c6d97283168bdb2feb6fbf5d20f525783d373a82f62821e43bda6b60537004d3e31531c891827ad04889561c29ae20a69ea49e08d17564197163fe12f418df23123557a63b0fe762142926524ca498483121a170619c9dc43847da83e5b6c460ee666c97d3d4fdd29e877f96b3b3a03d1ceda13d5fb305f5a13d5c0c830a2aa8a0c285dca7529c51712ad37dc85de8065da370e32cdfdc9de6778eae7f0a99de14b7a70ba8dcfd9ae2f64707b2e0f4383b8134e18a1bead0717d2c2027fb97ec1f83efc434ba64ff1672a2ce8d2ddf361853f653bbdcd4afbfe2faf8d0c4c35bde82b7fc6f931b9f8a0e867e1c3f17a7353c24cb98351eb2047fa321cbafb582e102620e79d821cb22590e9921cbadd37eebe46ff64a296f77c68d39bc99c61c6fc94d7a1b4844fbfa9b7cef7948e9fdf67ddfd78242eaf69f0712e9c028f735309c21ee902eea43ba28e5215df4c63f9972e4cebd1d8763f6cfc773dcdd365c2de8439bfda14186527fa3a0fc4a26cf3bed6f31e5ca6f757bfb121c51dceec31cdbe768c9cfd9e178153fd4bc699c5b043d8c038adb2005af746d8fe3891b7a59ae364f869b73cecd6e4e93d8de46b93aa17dcdfeb67d674ddbb44de3bcba46878012a7a4534984b99af4b673ce39ad6744095ef8ee2cdddddddbbd09139c66fda63166234ead4feb734feb5b6baddd6e1162cc9c9c7094e0fa37fd695ffbfa3cbc8a316392ab95767a2b6e413a030909e90c24a43364208317d08e4cbc45ff867e51cebdf8b920b3f7ded14d610ff9dbe13bf71279b7eeebd0e56a83e63e5f18d2720fb94e4dbaab6f656f657a25e6205cb7610fea57952d463577d5b341316b9aa669dacbdac9c4a060641d0abb60f830454822421211923898e3f201f531a0ad4126e665c096c9f0d003eaa7900c0f3dc4fcfce1ced77e85c44d81ac1a68524f03b26a88e9812ed1a05abdaa653220ab061455a2a186f5357f44d6b2145e41b9e1140aa952ae3f449528910e367b1483270ca5276efdcee1140232ca1547900e72bdc9b568cb50ae14892219e5fa315f9f26c99d245362c02f59ba680543d95fa034c4bccc13d1c45b32e01c92ae3a85a4abfefce152560da91e643ef52daba9af30fe1c27e43a5d7f12d59f46f5e751fdc9a5fe4caa3fbbd49f4bf5b9cd81eac7208a94ebd79714c975ba080ca15cb51ce0882c057e3d50985503ca0864f9fb926f590c66d510f3a94f813d442496830670d9cca340eff191b5ac1db49972c31ef23fe31a19193991cc63c01825e63f662579e40e2b39412da09fad7c7295f56d30923b37486781f76bc096aef947641bcdd3803cacc014c8e2c028a957816097c2bec45538e59ac233af611f72c76740ce33038e7197481e59ffbfbeddc1235df52bd10d72c7ca8ea01ca0d6ec7d6acfc55caeb41f72b963cce21cb4f7ef5e04353c12b314b959eb57d5b083f1f59821090a9cb218d095a4abbe09415c2021e791f57dc9bdffd2f47dcfc1787771f03a740d6b533b3d173f531eb9e33c28b913f33bace404b5807eb6a23e441ef6100c9e4b52497a915f268fb7ea0ccaf53d306c01fd6ce5936b4fae53a8fedfd62ae785b29174559412298b01a35ff59d28e2d4c7665ccd89349ece6dbce8ba13d10cfdb2dfdc2b71d926a54ad0acebafd2ddbdbe7407b2df245bd9a4a328c99d0e6cd0955c29c6563cb9dfc62cfa65ed06f290ae29073822dbb6b7d3ca9010d150e84a562a49977db9e43379663e40b3a04e7a4eb27de9c45bf63b0c831b3acf52bfac8f35fa653fb4df31e64a11c7be55a35f7647caecfbf80894ed2b913239932efb260c71b50f3da9636020e0c54a52c3baf49052bfec9bb0e4c60f5d295b7bef6ab53489b81ef8fd40e71ccd2f28c8126c695942898a2daa7023ca0a3b40f203079cf8690118b278822e4654a1e2881f9688715d70f4822650b060a30959fc170deee7f0e6f8abef9d2354b414153149411425da90c56ff5ce0e492871c6121b88820433590070a094e3cf92bb3ac72050564adc6baf5cddd0e649b1345104b4058a2386c0229b322e16dcce5874da7bd775d1738f46992ff195ae38413b350d4791ef12b4d215b189f328de72edbaaad1293befba6b9928283b228d488f6ec8e7bc7bce76606867f096fc20cb5474552dba640c34748c3e75da3b24b44b7e0a597ef8c5b2dc22cb2c3f0ce1e648e36eb904121a465f7e090d93a15ff2e5bf7aa700ed924f431313934312b2e472d85c0e4948e3da0cc66012c17d29a594f2bd475ba2cbe18bd86cdf621d6c6eb05ff13be244cf74fa94b15babb84727adf65bdbc632d8e6735c4cc6edef8f39f38acee4fe757b1dd7bd59f7eaaed1b0bbbb75a6fbfb5f6e89aee7cf9d41b48bd6a11dbfa0493b686c97905cc7bad1adf9f30bca25cf9f411ac8dc508cc59fcfa9a061fdf387b05ca25f33e2cca733b9c3fd8e1d3939520acd3850ce7c4667b393b376d7f63c7ae7fbae44bdf3811b0fd8eac0962e5b8338b0a5eb4d23702f777ece94db4239dc72137d9192c348d4526b22e748b99fdd2787394fdcf9dbc7564b0a863b72b8f1e4f95270b989be24c9f3e7942b939bc80da53c9f235243e66dffed5ff5bfebd8cc03a6e7f60a9610d9ee1c3109fb5ac2883c51b290479ee9c594ec3fadff7510b4fc73fc77b88e9b2017795125fbb7e043ee1ce101c3ca1a446009a3054dc8fc67f02bb9088b1e647f09b80ecdfe37f80ff12d7890b8addc455e28c931b98bb4ac41b5a04dec0fb58d9ac3cbe3dac8dc958c0d0bdebaaee33abc7584103c15cb85b941977bcb6072ab91a6c53d71910416454baa2c9132b4e4039ad0922655e89a72172d01a2066e5011841a5f8238a3fe042146105ba072d433aecc144c5c0f041f08c207892092606983e87a693cb91d0c88b8db182928026204454054a1b5e072b98b80788207104f38550b760a209a10dd53ee2220943c4f9192a54f263b18ca542d892e59cab055dc9bbb48c917d4c955e52e526245335212851685121fcac6f57217296142b5dc2e7791121fcef0529484064549585094e44a5192287c8a9280408aa2241bb05a8a92fcb001362a164548caa052142151c1184548ae28422245119227b9cb5d84840a1812f85b1fb2ffaa7920c6b4aeec60387362910e887213e900297717b98974a0945fbe8debf8cbd98693a22529d9c1229e593f5899951d0c1590b57ec9ef6f1c31e2eed6c7ef85995f86130cbf0676c4755088fffceb2de91114e23fb31097595e0fdc50ab0df337e2a3ab0ca48885d0a73bb068e0c1b5f48047e67f44c6433a6e59c444a407e92d446a9e6018b305bc1cc1b048c6c1cbb16538524471c39c34901803898412b8dee06162660252501721301a4a624a921751b86048471a445708c98e906452092d465d96254b270401045254aa5285cf1225f024b516437cd163f384179f1190b012b3e0f2926274d4c5103e503c8102ba275494eb5d54e133cba952820d7c8e5421822059cbfc041ab08195c8e4278c9e9c2a3207655c85f81706482cc9584ad188368464f2088d26465a055830912473233642c81cb4ae424c01051d267737e2cec5a09b426410160fd9456f6621d2b3100ab6d742e4c707593fa2833a7816d223e8a40b21348b1a784248d6791040f81024eb64185d7a64dd7ca30c20d91627e85992759a2771bcf2d3c44cd6d52e8ce022c8069907a8544c98c99ada3155220040000000e315000030140a860362b1609085892abc0714800e7ca446584c9947a4499003298a82208408308400008021c61883d00c550900e383edbd0e8f9e82a2de68d88e0edaaa7ab6e8e54334af7beecd3377a26d25f91ab349312b1cc15db55c8b0cff60f34b7abbb765ee47020fb85d5f418dfec8c8ace4e9574467a39552b23dfaf08b0b68a7deff3a367bc6167653624020714c7eb86b73a5c42b2bece9f9d62fc7a414c0b770369dc82c8f20a7be2f9b2b6dea4f74dcf28b6b785e580cbb608a994c73c15affe2fb7004e67ae1e8da808309d17cb496287a5a154474c72465d7f08f06bc646d480b42a658155028386eb8cc4b6488035ea7358444c7d052256a7013e4834500f2478a7c96d3bfa4f05f6a484b70fe4890fbba01364df41ba496a444bc860ce228cb435bb2e5e18b9309f7659d949ee91143f9dc8d98f2d63b53feb31c2f19727db612de7afe246fabf01607743118bb76e3e04abc23d7a5e3209f27b452e3471f3a887c04388e1f423cb8f9df3c9e36dbf1215f998d5e10616522b600e960e191b874120db75d29754d4fa7c3fab1353f07a04addd90deef50416faeabc90f087b16b47bc5502bc12adfaf6095d632575652c2d67659bef1204e3e666349ef089353f0137e09335d808fdd29e6892ee1028060b467276461bdb88dfc9080db1f3dd265ff0721f9da423916b598009910b4b800fb3a35743fc6187b021fe8b4d171a1db7a7177f0a73b020b4b05fc4d7014eec809025fa89342be80b3de1bc0a3763dddabb90000faaabbf4656f1dce52a6cb2eb5bc5af0df3d4aadfb6f652c1120ec3d70eaf6dd1a8d26a76e4509b6a3c3461e20942384298eef524aa0c25609c71a47f9ef2c7c51548f469fdb0c293be632400c5465c4066a1f4072810f1a7bf5ec012b04b3250c7259f177d2ebe180cbed22c2dbe17c1f1d4d3b0d438b719ff8856e7e087cadc20139bd751a2aed8a22090e46b9cd188d7b5910aa08fbcc525a006d04a5575d45f190254a6132e0a28b98d9c378ac9df43ff9645fcf973922e9724f28bb9c9408afe497835b0dd2d440a78591095416256632b3cd2a545c1baa8e48289a914498a9c1a2d3b7264d00e25239ac520736f6daa41531c398a6d328c433e92c2575ab2c47fc94a0c0fd70d2c6aa384a4fc66cb22a8145d6dc402e74053885f462d60185c52e9d95c3c16e045a78e51037b1ab400fdbb68aabebe488ba31fac3e38ca563b8d7094655468c2d6a19d4e4607e6c88e60fee2cdace3d8435a0cbd6a986a419ce33138b4c262744f3bab53443864f32fb02a0d64ed12e55a9dc1d20c3e946f1facd5cd5594b50a149bde4f0ca607aa22052237f6825349a1767630b7e0051fe7cd9ca6becba742ac72200626c462b248af2eef0adf11d105116b03e16a9b3388e887e79188bdb35c60f50a05dad40844c79d9c2b3a777d34b87d8015cd06ab367c4a43509a7e9def9fdc8138bf0e1834fecacc3fedf2dcf32d381c88d3f9506b8afaf85ab775576afb19d23b0aa4875f2c4d1b5799d20811667754febff70134d666080d93833629947cdf906679563f9ca66e9c7fdb9878c6d01dae5e3c0f800b24ccf9addb808ee3f099086eec3ebf6aed7c40135707e35fbc973210ff25d662f0067c0bfa4c2871ec5b14d4ee20930f84ed9b0e220cc6deecc4a533b3d0f0389a241d188665b27effaac57dc5820a3500c7436f38098cec3d01ed01300f9a938e78a742700c7655fb608f416406b50499c5324e565ced27f2ae588dc47e4b33bd9cc864148a1e68a34bd08a26d7fb40724828d949a2ff40a09a33951a3ae6a055ac9efc3ba98d102b40c8aad19fc1b85444a8c515554a4ff82a98c81800d7bf35ed0cebf75c14fa70f6bab172a8976a54ad9c80bd47f1031b1d076e811be9f6a905916a805a69f3cb37860f3eacbd6f55b1ec0a142459dde1a1efa6925a1f65ed3ffcdf76d50136a1579f03684a0079a563e4e2895efbf2aeaf94f1fe73364de3c821a9c2f30477a7815dc9dba0795f8d56367244ab11763ba8547909eb9b52897bd616e85e8dd994adf2e39bab04aecbd95605eefb9316f44142e30e3a83dc992581e23e0b6b3a0ae51bfae8ed7ea06c656dd5e8715b5a05d1cfb488b6c13049804fcd0d46ee3abb1198cb6ca179f9b46246bd05f809d65b2a680fbcbd89a600e025d633c7cdcd7b3550c55bc420e82a5d66ce32f408295edc08ad1e106e4e4127164dd7da382c2aeb1312ffcd57224f8456cc021fa147f3701317159ee71820cb1ca2f650e5b4ada152db766a9ac39e910ac1566ce7608d451ffdc906d89957bff5b0c7f598026d35c5b2d458a459dc54bc43054c78589ba3d67e0555a07843e2151667651b7cc27bfe22522f14f1e7268170fd803a93daf7c27c2e9353105b33e1ef2888c4cb33588e79f152d1208a2af9fbcfea3391341ab37394af3df0b32cf24a3060fc142a5a1ec6236c8b18f12c452dd06d01057d0993465acb25795c77a10ad0a228261f2bdd67aa424181fc234c9f4f29d8286807a8c8521fc09ad280f05c6a2bafdb3c353dbf0dce60731e0f85cf403d879b2a5f69b90eb5e801ed4a6208e757406642f009f4c35f797625318a55ce233ba48259a214852b132f9ca03d3a43eefdaeec36276c0d3813fd6de88d142d9a2fd83a773039d1cbd46bc754cd5cd98035c76a0338a24e0e8a0fc7b6a29687e91439b4e9aaa9409b1cd2f4e4d448898d07c06e5714d037caa835588fe79dc78ad88bdba9b5210317e9783af219bc0a6c333da0d2219258cc6e5949b056ce01837c415231c6e6ce216ff6085107c4053bcb70dd5e8aa45d7cd4817a75bc9f3b7797a5bd07d17704f315d9476699162a18dc43048965c2676ab05e154b9ef2b55eae6a993763fd43a0e92033cb0597f985d5e5acef658572344ea385a835ee1f3c34e2e0acf9643e69eada7d1580287ec697a95b45b6392b7b2182d5d018155b535a3b36704329fd7f76c2faabce1fe59b2690df1e4bc05d26741ab3ed889b65560681f22331814e0c65f5b5cb8602a5949e9760746c76d442dccfd8257fdb09a120c952a70c915f415e032598f818dd686a68aae5ef8707d9df0e8f0cec824239849290ebfbd8601cc407e1b4f2a519e34691e5e085e633f219174ad5cd133bd9878314f7df011ab1fde5a0c8c8ba54be01e4e07fc7014ae325d243c92b28eb1229714ba4f3cfa3134f8a9adf832b2b2ce7a7d7fb61ae332b71716f708cd181849abbfc0ef315a399eac17f1430db425fa55b8f8b6c3bd5496b7284369089e19216661d471dd33a88ff4d7547f09736c8c42e62b73e9e4aa038d88c8adbabb7a5fc5e6d0b2f8240065c75357dc07d508a8235cdd8596b469e21aa111d4ae07ae2f1369a180dcdb3184dae244d744c1625d49420160b6729788468fa14db5cb8459bb157a79cd977d534e3f214cad97f77570db70746f89d53c05022dffe5294a67ad70109bb38c31c56c28de6786e850c032739b498792398eb485ec0055980ce044f998566ccafbc00a2bb1027284c09eb8e6d2a41de216cae15ac5d10f14d98272bb3739285b053fc10b52fc91fb918b45ab07b85471e099be229f143d1237c1918e93101929cbe43251a3098063a7f300dfdb3326a4190af6365803279b5a8a9150e25d8076fa51be256bc2e0de7d691344094c346643bb734e854ddd2404330f0b5fe0667a045503e476bdebbfd94238b6916fc6d227bedb9faf6d8f447afa9be502f3148803fc358f9d3949c4f4fa690889e21395074493e34ebf9bddba286fe6a732af96134476e801dbf811066fbe050abbfe14f13ebf6a0fe64c7d99c1f367f8eb16a92d42904ab3b22d4fb17d22ddfc50434e14209167a0f3e7238bdc33171c3cb8f306e1f1299bc4952f746e669a33ae3f91bc4b634840bd1a808849c144f62e472436a00879a1c9979197a8f08b511e5ed6d364d912d44d2cc13f06d792a8daea46d4c925dee5e5ac20d373cd2cc9b1673c6e17e90c3e96054c939b2a3756093a63db0de05b35aae04c53b8eb5afd1e2bb0d4e712ee16b064e034bdca0822b3ebb77f61bab319d7e82e35211a41be8c6f2f8a72b59799b44092ed9e668908fd3f8547f4aa895dbe3eb2c711c6df68cf4bb7f44a824762e15680be696759b221868448b5228831703ad9d4ffe145fff4e673290f3ff34c5d8e67a883a8ada2502a48ce674086f6d2ec1a12bdc0a3ba931fb74b08bb22de5589bda0ba4c536b85122e7da4fdeca6b5ab785bd116dd855783843cf2b2609ca4de5fe97a3c754180ba9eef59b7ebcb819262417d5d23d7c6dc20434aeee3bb3c7541bf1ed79102ae8c1a4b1511c6a29a0968622a3369ca301a0d36aab9b3082166877f5bb6eaddf937c420224223899f75de68b98b0eeae3f8bb6002e880404ef801849999b196df6f60f76c5b4865c3a644b8616c341e16a598379acdfd0fc0d05fb530576f40bc5627505bcaf0b620048b34e94a0d70205bf564d33159e85a972f8d5ce5fc2de2a40732f3de87b2fe615b23eb62068c45a2bc469962192f7ee0fed63ccf432952133445c4f8a6bcaaadb4256512888b87a76cf844577c963f0b852e9e940ac611fd057f70affa9e7fe2ad121f59a6df5c737d0dcd2d4bd9975cb86b91b376cc91cc940c954a11a00dde2630b263cc351813e12d8aa67ee077eaa8fed8e6c3d5c5cdd04feb1ed32d0b796932d4619bcea183789ff85c98be05130299f34bd8173d683aefc0bf540fb303a7969bdddf8504f4aa365be83f896b73e2792fdf79749fe3a1a61e78ee03b05001338d57a75497b41376c20bddf70b0599d8aa8886aa986386e440a25c71d9aab9b0647f7a4c82f7ce63a87882340281fd669b41d5259dd1df0a36eae2814a699808b4a8dfcd12a0f746248148b551b867b704c46d9abfa75e64f50b60eb67e1a7b1d26dbb65f55b9c1acf29cdb4ce9eca4d313bedf4bf1da3d3bb191b3cfb03986dc5eb37d7f92c9ce413efdb805613b9e3861751d6170477a288701e025dad914b90739a51e2987e0239cd1f3f8cbda1b6d5e59d0bfbaec203081518287fa08df48dbc082d48ceb207b5e4212cf43759a082e7406b13ede88db6b41d9711d94c99350f9dbfda5201085df556d96bc11dcc882000fef20a68cffab3b767435e02fced831294ceaed037bee6e2818dd29e3cc581c5dd45a0d1cbf96f997f290833ee172577b83b5307af3e19f02aa7a56b8a398cb883c1fc718f05c233dc1c1fb467937cf8620520a57ce61ba7d760fe50f6de0d807f205a55de4b1c3e65c9aa6c26a849ac4a132292da81848756fac35a3514aa1c1e5f192dab088d6d28ed2c134745077a45ae35803e3e39e42551a0bd3a16a17d1e37b948dd1c07ec643d23da512a54c9ecbf278b359f18522df2784e4347d740218a8e214e2506931c8403065a140bddf4e8fa75812a0d81a8e303d799d32687bc8639fb06f5ed6c75b9d1bd7401d543c8f2e6a4055ce284fbddad9e674c52dee3ec6437f7afc416a9240a7281503beade7d1c1fe4baf06126d7a909d34a0882fe2c58265ae5129276e8ca89dbb10c08d9f9735aa80ba6672ee97c9313f446392ba12fef2191a90818244be920d6d93c9f8caa46983b865d6fb3acec72de7dcbba20d8f13d832908f4cee96953f2dea26eca0310f7c51d7743bc6c89787fdd56214a4228497eb62ee4fd3ed21d9cd768f53964f304084b035ff51289c0240a58902fd820c9322e5bcef0d66897be4aadca0e8c0ba8709ba6c4c256ca5c87a66b68f72032e42d9bb950c22522e3c83e23c9d6a40db0263648186d368452eb7dcbc434564d858c1c50d874523b8edf2de317472acb80d30fe19e0ffa842b49d5ce2d4d959bc694513556c611c31591e2126476bf60ed507993596092d28f776ec155482cbde05d8c538e58674adb4f9ca5e499ec085579fc052f8fb2991f4672704a12f9f0121c6fdef309a655aa302735a640027dd1b46cab0e751534c573aa7336a26d5e2b1bd3f1b2aa3111a8666c60a6042ff7576cd3f894904b6d905c4f5dba1d2e5cbd6444a7d489b7b5c5c72be98459ab1095288316a4c15872c1741074802be2bb2ee7ab8a80f208f828c536c02550826b4200664abebcc0ef6d34ebac11672db4e7765a93fc16b773b367b43d3ef39a9cf1998da163ee7c97c8ea52833325a716f497ef055b0055c93fefb801e72c656d852e418f948e02314b38cfa0feecebe20208f74e49fceb2db26b2ae59995d110d08d7891c16de0b38224e6c22bb5204d7541af716feda882119a64d497a84cb95d76b575e982006d0906c03ea63eb899e3e9e315aa7057ec041004f654c62094b6e1ea74e79661835135b722cebcfe679a44ebd6897cd53a6014398e321215c0d48f71e3b452f704e5731c98b6f14f4b83edb15d181c063c67e41e0cbb6fd5e170f8187c1dee53736a083367843440e0c71d4977afbca99340fd7605e364f0bc8021f99b92b01564e585cf1d331de425a6340a9c60c7a4d09fd5e696d77095381a5a0349c93364f56cf7e9570d39c5730f2336c9ce782aee1eff52d759e40d36e4430e6defd5fd035b6de95013f4105f64e1af86d743d62221747a7ce3307f68e35751e0597811e7bbdf358ae83037a0252560ebb26d7d605247260f9a2c14eda79864a7587932fee3c73fb1b07c16d29a988c6125d5873d1d26502fba8a85f62cd132cd6eca2c23e4208ad220537b8ed31f3782ad3401b2b751e8480d92030b0560e150b003edd03c89cb1f4d078a6299ff3e13aab010a98cd02c6e8850b94659b58d36d5ab2cf55ae5705cd6ad05c6f0ff47c4755d18c5a03ba7f2ce2fa0145feed8a4b7c61b517fb6d9e2943837cc8d81d927d9ed49dcfa11814ef0ed0dd66005c23afb3b4d7a3008efe36f5b880e6191bc5ec11b02ee7f09773f9ba09226c74b5a602a0a8c83ef42f5da587fbeae0860eeed39e03371f55150471749bc589dc83a827e92870e59081c85ac9a85249a9ca4a600e038903efd0473ab583527acec70400f549a1a72e898f48d7589425638debb8af5518f80d35c28ad3ecb5433106ddadaeb794b0ec572901db4e9a334e92ab8b54b138466d3ac813a6b6e7b033a843896a27c6249127dcbe8466e2afb0726b344c4b332ff0e60803cbe8b3c0ac9c37bc7d947dbaa3b5c5636292a4cfa769ec852533bf93edac95a9a98bfeae5724cf7f5ed684513c802dfe00359bda9a82e4788ad2efcfdec850ebf20623fb52bea61de21be9faf5b31ccfb9783324b016cdf3c009249fd0fbe63b7e3a0d3197d54b95be4b93b10ad9137f26169421890c0340190c89317662eb6a228880296caf0cbbe495cd5fadae1166c0e943c362acf6f39189a89b370273147bdd00388d2bba43766a947a72b2d501462549cd6e4ca06807e03bd1d1a26176c6aa67b0381d098402092299743e19b1ab3d1b0967fc2c48f7856374c9e790eb6acde788e501aaa68f1e3a511fe2c7734da28abeddf6972bddf9a309fad73f05a3c5ab48472a64219d8104abbfefaded5c1b88e15353871a6d9ae0a2045b6937287bdeaaac11add889bb7dfadd5032decaae4fb0a1875eb58dd2cde4002407c0ffa52dbd4cbd439ce574a12f4f7acb014402400fa4550262457de8590c90ef1ff3059b28f8bdfed194bad2f5db374a51f853d28d3e39f5f9c59ca420bf352a0b3d5f286d1ec616fc32ac952af8b53dff88137b3d4c62a9807984595b4c7b32f060f8014d0d88732ea79a64c028ba2ae1a32500787ba99a7d650e4ee222fae6d389fd816a720576d80e00d1a0a66d3196f1471240e4730f894f507f8699123da31303e373be5d08fdac94517cb2de47db5977a01bae881836f441698419c0f2699c21045c9192d0d3fca7b6c69a965420673243bcf5d2b8a93342c7446df2c881d49c49db500259a8132d4aabc09b02c180fb910be1fc272be83be88272ff5659c5a6dbeb049f1690cc1a70d1c454d11341c0ff90c6de76df3cceb85f035f2efaac27c72f6bd2f28318796f098cf63d1fef211449d3f50530d0e85e27dafc379941394aba05e2f6339b2ec620781445aa2fa9981d7f5ac59116c8c55116921074e303b280ea6c0ac1c6c94ae13bd25fa0fcf3f9f4ec14d825020ea8476cf6916cb5a617ec1bb378b99b8a513d9512d594c274e31a1aceda9a4c801504d28f2bb6dc0bf7b9334cc52c90c74e4b5e34b8abcea017a26bca6971265672bc5a2d0bacc7baf7bfda0b28c91398cac781ea1b3f5f02a60f88428db719ffe1f18ca688796b3b5bbccb84dd6c7c5ea2e77be3c04ee75d1a8d24dca9e85659aac386b12e19b7fc97f5a1a2801b6825f0af7da6167657875d432d5276a657fec3a5c3d912a56b335f486d206e625174dac7103d70b74f4db25b0ad76a044a8ae8c765002201a0075215f9b582eff91f45bf4d0849ec27687185166d0c841510335863154cd6ee67db160f2467ab55ee557d97369cbe52dc8016245a5bd8c8ea3c6826fbe2812a91e8ab7e398cd4f6addf4836eb71cec1b5329031ae85257bab5e58cbfb8aa148de9df615efab7ae8260fbcd5a3dbf1d1b2bb499775781658ab495d954eb7a2399552c8d4d9b16e7431409cbde20579e406c9fb8edd4934fba9b3ae42d72777f7c3e19842fb5b19912f302d97e137cefa534609bfa77f64e1c45c345d9e870016698d035b4e602e7000f89340eb1180d2b68f8a3a73a2847b0b4e8a1839d16a147979e71541b698dc19a0ebb890c45911b33870e05d26f62ac0d428eb76e865a01c5f7053f2dcf31d8583164aa9b864f5c2c6eec19652936f8c52f1062140c607e6983c325cf57fb2c7af88ef2928263ef025a5382e64174a3f109aafd7ef5ef423287f17bee06c94bcf11852e89128be7edcae456c75e13068f00e698a84004333b29abd6110d00aaa064673705e99548a873619f722837de098fda56cc2075fd3c071539b68eec3e4b0adcf3ff421653804495711a0341e38901d32d2457aff014e355d39a3f8f8c64e34085f500e990d9d8ff4880dfeb47100e41abfc5fd35722ed4306b006d9d517bbc365f930c793beaace882e5e6e43909af1d05ab7f63e7492ca442f3fe335ce9161c65dda3497704b44a0aa971191070c96fe2b67635759a01b2cb07a8af4ca217fb3e27220164284598d0b506d9cb942589b7bafe1e69af892301cd77448154922aa8b961051710258fc6b870bfa1e01b03252b66d3e369e76ec60233efa82203f635682dcdee71a6cbac9203d18afad616e04d616d97e46d2619357926628fd129af0737129735356c859db7a0cb1e5406f7c01cc6f2e459beb00fe7751cb87301a5b801ee52b5f515cca59065a8ca7327e093c81a53a77677bf944fd820ab8a5d92281a3665ed9d96deab20d206d12a1a82616bb2a009f2592184d9a85524a6752bf6af99b29f104f3b937f4962a6994c702c3327dea0ddd4c37d5e95ec5ed18484f0c5e0cbbc8db365f387b5e5a5789bfdbd980a1f7a029c34087c17d4ac5a7ad353144e3e30f34f6a843f06dbe0303f3e41c7381fd9821aaeb33fa024d1fa0646f293563aa2234ea57b3d879f93fdf94ed26b4e2e4be47340951f41e5a5986d841077c39b6b7561f8029cc1b6384cce628b08493df8b92d472d50ce2897ab7abfe7d5113fc49fcea624636dab5458dd1b49b5ee4df003849e0cd04252208d572e9fc1a5db5d72c6d8b965a69f270382ce902738e53966f1485207c0975b03116863be0216f36fe10a0104208b6fa14b2f065c70e39411cba724b17936b7c4413925dfe52f6cc1adb6fd2fd10ac0d894148f5b5aa0c1cef028926c53d2bdc8fcf30125d45e15479104ffef12e7e0212685616894c48dc5d6df4549e67de5199872797bf98c92e89436ae90444964a10f0f66966ead86adabb51f8b205dfe24c18f0db73c6904dbaab4712809eecb8b769404848371ce63015079b857424fffd6f6b3dc2caf55d1ba5827f1da85849795734da08590824c13dc8094ae35d1c74cea2e15cd5ced02f3e1c2b1b2518d2b3b24abfb36c4bb3adeeade3dfdcb9e19eb3ac3576a7b7621fdd15735a05d245b3ab470db801478b38bebf14aba24348bda3752ffdd305d67c18624499c659cebaeb50ee3acef568718f64a4991a29fe2b669d8f3dfe6c8f3b33e9a3428713cec6d52e42c4ee293a2cd3b5a2974a5b5b0fa5f97aae466fc572c1ac7cf9b2e95a473f96fd277c9b6419d73d40fc1059dd7fd5ccee708f94632472d684ccf5fd8a6b3c4648dd4aa90b1d8ad2e1dab104bf976ab30997709c661b3486304dae4d8adc2d95f2e03580d51f2b6b2d0c22680d3ad4276da59d5fc9a6b3a97bbdfe6fdd60d20cbe82cd1f7924b20c2fa9480b955a6b0620d3814b0af6e6cf6d73ea7796251fa86864e724ac68220d49c33cb18be99dee28badeebd2437cf428389a9a4a4cdee0886bd8f182c8f8d0c323601c510722dbb8c11e1d5cf35e6ef834a242fcd622c82d5b48e6978de1b90dfe8a9c0e9ea09c2b3942f9654a8d7d0a14d4a3f6025ac4e8c8ac1c9f0587c88e4b78447a8e2d59ef02860ea94b879d9bcec5c8316d94843d66ba2370ed70bb52e50556242a0bb9fb2600ca26bfca1642a0d1b19bb3a76027510d15e2a1b051073cc6e5fd5ec929f388bf47f6654473eecc7d767311b44d75315d1972dab07ebbbf829ac4a8d62dc12fb1c594095ba3a388391e80feb6ace8bb26186d49d78e75f28d5549115d261065d82bd58754a1a7af1ebb9550556ece53483801f312bc24d6ef670ac90109425d65c2a5abf54c17a599b851b3a39c7c80717b782efbcd9c8fd6d73f588a88044dbf6bed9ac4312b8fdf7a74ca9aa4708220c325844b8f767d846c7588c8e0a2968950e84ed59f637bb729ed8e70c5e05d7412f91a145fffaea37b9574ee8e70ff9c14e7f99e92761fda5f5aa1dbebf65af727e2f874d4f3b863a66ab0a5ace4f664d75164fe61188fcc743b3b576dc5229ab5511ff9d59c2b573428b5e0e2ea16ee8b9eba87975cd4d1181029546884a2613304f0fadfeb0139b8d3fbdc105a41fa299432723772486288ac826703e775f8db3d9ebb76b0a824b1351511dd922b2be19af718f5f234d5893ea6e5cc1b11118823d47ebef4a7b7476c71ca106825d3abb409a948f0c06d0b3546f1f942eb0bbe01e5dcc32c92d8d6c8126b88028bb5879c4d1e8a7c7f7deab75641b6010ed86a260796a8eed2941e17b0352f7103186a92443a4e6990e657d33eb78759a774f6b889a1002c4d56bb33c44c814e87cbbc66a96f5a0c02f7d6429d7b6b75ef9f36470e4da2701147a654699fd54e7867ff897751110b6c8ea80d380a883a01197b574c4ef28ca55ed4ee74db00404b7ceebdc5fdcd69dc0e93b92831a5a0f33b679107198571edb5bd0ea4d405b996b235f5489937dd9d82b7e477867fd27b0af144c117532832f8e7130aecaff6130a8fedf3d2144fd619001b2f76784b8005ba143dfb9c9f06ae073adfbeeba49dc4eb115803aeb339704face6ddaa1af861f25cb01a4f818bd3df9098e9fbd7e641909b44410e50bda4b0d0fe3b49407acd1a557468757bc1b70127a123f883b6787be447303bff20683542357eb607019408cf72d1e2841e4541df0343d95acefbc8a0040c00543baf9508af676fdf57052c5c6f94a8b12b4d56b806ebe4e441e2762f637bf205f94ce3c9ada6472e92ff895385b342374589e355b748dd37861d5ae84b777054129cda9de51d72fe935fd67524ed6661877441b55212007556f4672c6f01624c09df71f72213e096cbc5871d1abf56c19b846ba91050547039261e0a59e99bc282492d2e9fd2ac0632684583596060f10480ab4ed563d63728f8013f99b7945b4eef38f11b620992200558e313daa2c6fe425473a52e2e0fb291ae0bbb06ca92835a552160ca845a19193baceb0a45c1ad21c422ed26608592f845cbf1fc25a53816013851b09a31c476ff06c7c2a9ae74258d3c63508a9e96225cfbe82e60ebb98904d3d28c6b9f571a67a448bce9ece2d6fb78544cb8a2dfdec1c3434b66f181c3f51e32fc5065fea685a54d81a1624b83c75da70280a8ad060301ba63a1bb6450e595de25e06236575f54f2a363b7e73339162cd5cb7009f3635cd234a15cf4cbf95916dfb3407599d90d51d8752f9aa2464b625e3894912bf00ecac7ea9bb71a194908c480709139008377dc5974e837815e59750ed04f8700341f73505edd43323d2a4d53df4aaf31502170439d9eacb667f312b91bb92dab221effae634c68b9abe7d5a033b31ec50981453ceb1e855c41302e8aa09613207ad4d48f886bbe137f05d419444ced60e750ae2b76dbda178e1edd2bef8b782370b0bbdf01be6577990d2dbbe96d64cd72ae9778e68568af11294214ac883f4e0a343091f06fe66aa084efab14451dd48850dfb7ba490eb670b990c48dca6d9143945c0da4a9a1248d29f20834e0d6120871a1fef8c6101baf5d31c86c5094504b91f5c615a24954fc4dd4c5b8380e1128839669ee1c9aa89cb95ec14819684f0d8130b199741ec18f1b5178dbcb12def5553a58e717fff03a1932677228cd143a6188401207423341ad57f12441168e7c80874d691d4bbba8a6ab788ab10ae13c21a01c0673d22203b95123cde9c250060aa5ecdb9641518bc58a89148321bf85143e413406ec04d9802a7ca7290ab6adac184ef956e5aa20fa662b6143490130203af991ab2bc9bd685e5ff540823c59f27b9581e79ab1f2543ce17d538043e47a03fa794541e169812060f21d50a7231160a631868d44bb9607cfa3fabf6ced413d6370bb06f1e38ee5e03644d897ce558e6fdf63ac5acbe23ab400b2a366bd67e54eef8459c43fe49da9def074de54b012193c0055bbadc88b1506973447c34c3d3acc781e8ba845a9b23a13b4de13201e8b0ac918d073e3adbc033cd6b0501b6f5c4cf546eccf2162c6e04b01a1d9268e3d7c74ee2ea14c408460871e7aa456280d07e1e645e935dd87837fa527e81655ca2bd3a25920f1bb98e2de066d38c40154785af72c9695888c4d188c10f4fbd3facae88f3353cba63b5928fac834dca3a513d9a94242cba4ad1d45dffe2236256f274a1db33a7896e197e79a983647d7250248bed95a34c1d5c36739fc06c01e3a5e97a796e24c38179a9f0f092032641715527fb6cd7f68f913f2a3a7e66f53bcd21b91cf7a65b1c7b045c40099a70921c886e56080f04c2628c32c0ee296d261207ac83ad82dddd41da84608e774b9bea177672116f8c55e6b98c063d2c5661d1d90969cbb4e5f51302be96a58ac0af3f3946f5957a6c27f4b8b89c7a5a8861285b82258816d30acbd1784f908b1ec4cf79b88c8012764ad1453067e92c8ae96d39902a50a0c9ca6954f04ed8756b1bb94dd0a5874a7d959fb6b6eae3ac3e9e84cb1b903e586980f98c2a6f8cb9c706ec0f581ada9febec04e4b735289d3e577c865e36cb18d900a31e41001faadc28b00538761f82059743681fd40da3186b9938fbd09ae7ddd58c92cc9ab0986763c96aa3d661001c30ef377536c2ce744325bf4bdaf031776753af409579e80c7098700a3c4d1d2b71f459f7eb29cfd6df2d61ef639d90f9689e584cf24c788d4f6b040ab18e2c13088d8b0caa09e52cbf1c75fa77520077cd177d9490e90e6ded4c8ea9ba70a3ddaad70ff6e1f81255e7e0b7ad70839aeb651259a43f3fd0992280ba763bab3d126966d7b2d7ebf741781d762ad88da0a3d6e9b069c1fe071254bf55e42967fd64dbb55c0002cd589b2fe199dc7bb01bd45b42ccad63f4963527927b7239d4e8c789be0eb0a839cc8333177d490bd9ada45bec79f6f5243d33ef04727a594ee8f059f160525f011466af32268ca3c648a99c23dcb52b69f9395ada299b5bda5893c0e9e79157d2d3f203bf4f2692df40be7d1cc49235bd1b11d275788632c76d5e8e677d25fc763cde6a1f9bf29f65de407d5e5e15307653bb505ca324a0b220ca9b3ccb6fad596e6fdee1f7383beb4beec64d3984aee4ce9057bdd9df29e3c636f8830de700d1b978577a241b234e2a0c0fc6e54624de3e02b214356acc4b1a2ea4800df699cbc797749a0e4f6fc840e36c0c0d4b149f18c402ed0884f605e57bb3d97d1aa053bb458ddfb4c44fda04f3a536384b4f304a757bbbd139c7930a48b627a1c74e2a6888362559b549f59c5408d47cd3e4b1acc8e1021cbf45bf85ac603f3e5390eac249ad4dce5d4d30905831d02ad138090a2117582eb8ac852cb5084fa6def46b0fea684a75a9373762213bf6fa404ab4dcb22dfde9eef189f177155771d964498c36a9c6f8dd136bb71b328373fe1208453e4ff26c09d65c5796f4c733bb4ac28381cb5b8ad6fadba00e0ede12bf4ff8a0fe8db886954a36e8c729cb4e696c309c3106b49f6c508b43b2b72faf6b7f623c930915f8ff46581f5df9914cf3e134b0421899bec6658bbdfe4255424c546d7985fc825a2bf790218a8c1d8f7f270a51f078fee01a2711cf080045cd964f0af4907bc679977e1fd25f63d2f0f326d8176ff9db20f22fce670281362d3feedc5e4aad774923666883bf93dfcbcabbf74bd50002d238f638cc93414338277adebb43fab99b137a29b02c212679d8dce7a40de617e1c27e2c6f7e83f53dd8e46b9e23f9d2844d76652969f33c55458aca574fc2a9b7914f0ea45be3a5b3e5d4e1fda0f6a4af0020854caa9ecf772a1639ad34b1d620348ff15840ffcc5620429cb52cd500f5603e29403d1f80502d15f4a3867b3bd1bb09fac1855bfd50da08ca70c2dd5f68fa031507e12e8301a1744bd04d2bde8c9280d78791d208a659d1190f405942eb0ab4066243c5656df46c3096901a1fc49cf7ab11239559429a555a04ebffe58bab4a384ac57409b3df6b47c9082d83c3e2b8dbd39c50a502420065292f1bb1caacd3cb3156538154f9994195263f524b4c75af779583f775db7ac829317ebf00c20f9606436c41b9153a85ee468b3d3d1496f279247b863831b268c2f5a6f5a9bfa7b23aa2d07d833ff122091f0bbf340e1fe4f3054cba1ae73b03ecef5fa81467823b3df1e7bc95e51754cf1700a1aff7565c2d94ae1a362d40db1cf4c5bbb8c9bbc3d7bcd71b5dfec4d31b29341461de930544172b77ff9af072bfd47d0e81a2b6da831e7c67ef58e1e48294f5a27ba5fd0660b3966ddda16c520d2b7597ba5de6b4edd2da2a56fe713c1cfc172a1c2e8a62aea391bd791bb42a7cb4555b70701ffd9534ace6011115bc28bbc223c634a54fe4fe350d2b32fbb26b3d73618e694ba428bdea137a41de1311668cd7c68eea5e13e4f4bfe7ac527c69392a650c110429c4a9512024f033c28d1e3bb99ddaae8eb30ebec69b604610054c4da5052a36c318bc6050cd2dc33f2bf65951962b4c7c4d22def60b02f516156d46152862577a66a5fef6d0468a9de70ad057f4445ad1bc4e60855ea512aeaea1160d0d2a7646642b666863810e12a75f4d0752e601c9c9fd1556a997c4f4263c0d41e92a18ebe78c0d96fdcce4033b50101ec98223393b043a96e856cf3bd482946869ac107c0d0ff98d9dee004507350f740ae4a949b247aead757e539de8c2f922458dd36bbfde5dc0beb0755a73ca2bfa0920bd0af8b65e294262d283f89d1af88e07fccc583fe2cee02b9510be3a9c6f501bda127832339952631d3d720e65a54edf5f19f9f02f0a3b0b3bd061f51d5904c206e0948002928fe413ae582c593fdda0affea62e71f3610827c1f59bd7d3b08439387498c4527a89e544aa522bfb2e07e3b6c6a86eee8e49a094c6803828bd337a3a821c5680af7283d326b0c148eb377bd5b32e9af96b655ad1860c094d28047b0d8995472a12f15f56e3e63842b41da34ab8e55fec0381d5f21702ffb5f484f99f3b03ddc73fc4b50d15e05b1aac434d0da7b4401766cc01865e7b96e2602c8b1c26f80cc3fa26560e1d945eeee615481d090370eeb73c4daf070462f63c43441842d8fd440c601137c82237fcf96adc75e8b5f89390e01b05cefc451c3f7107459065ab821f5d0690fee615eca60a9b28a6ed271a3053af267b121f6d0c190f3a2d935c9a4d7b91aed8d5d36b54a1e9325fcaa8d74364e2f685b888664044af473b59a9f821928fd6539208ceb0932242634e54b86b9908e9ff2910ae11463418b2d368a3fab057d94c38387d16457f0bfc73a382d24053c8ffe2a5a7c84e19c6c8be6ef23146f244fb1bab6d954af47218c53c1f3a23d5e1a44b4e1c4c46f5a160de70875ac9878ceb5f14588bbe7179e78d1db90f48673d6e956213bec7a8d9db5ce7820a5e0b7723fd16c06bfcf70a584d0daa45090b5bbe218b76f1ea5f285001e5f09c33529e3217bb05e3a53f16e1b3b348948355f6d4a63145cb85c64de9510a67b2ae9465c603322ee9a629cb018ad6b5e248240eb3ab7471bc3f4e8183c861c27c89b8a4ceb742914a1ce657e9e2791f9c000f91c784f912033a6065239f02a7e855916d018aa8e3e1f62078ae4bc2df34d6cbea6f5dff7b83e15d1577bcc6cba51201ea7063f06310ac939c6d229280ab3abe14cc16822e0261e9a6e9f2931995a7a04a49757d515fd5abe2847afe1381ba852090aa7487090ca9d72f7b3d14f4b190a31e76ec2f9816371ea88568c346ff0068e7e03545682d7c943f406dee1fe6ac1f06a9a4924a3a08b94c7e3a2653e447045fa1496810161ae6e0c80dcd8efdb12621f4467691feabf2ea46b9c97c43c8955c9c7435d6b69c3952d5c6ed2577b5c939f9f76e01f0627976466d06081bc1087c9505802d758d9eb60a644fc863f9e6870aede01ead9e48a4c17116a3c888065bed6fed551dad17598e27d8abc87efbc16b80d0100d922c1ea7c0de34989f614faf2fcf5ed809a0fad607fa401a5e4ccde6ab5708a7adf0c31c09e9305ce694bbc396182cafa6a202aa00d15e5ed6d85d3324d20cecadd9a03d27feacb42534ffb7dfd2949856ac4fe8fb22364207a157116bf9d23ecc1441455376d0544e272d5b82724541dc75800b48e56d9b0ec3eb265567cd034be41f1123e1122c55c5b4b5de4fa977ed4e54dcf4933b8e6b55df024af83b788215caaced8df3b471e63303c556c5c68f1317d46da65b1035447d3810c50ef9eb329d3c5385b28f705fd56e4593b3de37975063913d795b006577b9bb51454e93eb66cfbab61914c3762e4ca5b52c0bb3349ccd6a4d2ba26ee92d880b358b85c37c54b9e526b6cb4d2a8315e196414414275b5a4c4987d8d0215ce99de3da5ba2722797db6c99f3459802c407216f3f2e3c4564fff9bda9a0103ea8673f5bfccb410900b282b5baca83b04001aef4331350c2f414c22025da34a2f37fecc93fa00ffa0057b1e5f2da8ab8f24868ea6affc37b713109f75d7df89ac42624ddd9e2c16730bc40042feb0b5aba810f9a44f47315b3cb1d550fa478aade1142d8548a2d77d037233b07d9a401b157958fc4e933e41917e7bb378058fd8ec4a34d37b461399a8ea1b603b61a403baa4c23dd6c5c53a42d4f2ce5cace9ea65e857003e54e2f258088e287419459cba15f85b6d7220f8b6016bcb863af9cf5f0413ec1ddbcab2a94aa8f5fb731ff0d33fe5e85f1d5e20f99ce944c9a0c156c8f40a6f6e46690cbad245edc592e0018b5fa3a1560406db3ded7504865366e7b1b3683273854d0bef1813c320283c827e8b7e231b7538c1d7d4220ee24e4a21148d7138dad79a5e014b94ff2d63256bfc47cba313afc96e976767ef606b74916f08079ec6727c9b3d0b8e790ef5cbaed040a8ce408b8a2a80fb965a0afef0883751afc21ee23a79d99670d4386dcbcbb6907464492b46d8f3b6a1f3a4c248faadd353d76fe97ed949bec1927655c60eb1631183eda683ea8addd73743b178b2409d4b26a7eb791950e21ee3cedd99aa7703cb950a4dc19c99c347707eb41c2dc75d65420b1ec7e36b469c1ed292fbdf524cdcea2676e77a27b5033cd62186a1c3dc1944ce7eac3cd8a2fcf0cf6178cd779b7ca8cf0ad0f3196f9a734cfdf86b6e55a4b44335afec96c437a1bf0905aab8bae1b47e4a49db4525397e2fd92d08ec8d5e7700e7003c3e85b5ba4ea3e95bc1e75214c0bc345f2f79b8afe414b6b40e169c0b8854515edc0b5ebc17bd4a35db9109459b22da65b75287586fe3d0edc81cedc14d83a5968f912dd0354746531a609b78066521a65ec3de05c5245f19f778ce47f90f1edd564e1c301e20b0126d87e603dfdbf06638a25d1008e2ee05e0e55d1823b40a01925a5e1eb672d102dae1019e63bff631885c128651a130f08c11dc5865ae4dc73136b4d90758d89b44505b0854368120ff64a47d97ecc55d4a0d16b35031005e69d161e53835e64067e8487aa797219ac9ac6a5b881d82c5efcc3dff2646d9c03991ee9372dfe79b20b1b17fe50357ec797407c1680df02f215103e0204c257bf076a1290ab8a89d9b060396943ead5330ebff54c5b21522c3b1eb01b7229b90d5d475e900f29067a557adbea1167e2e29a7428f131353fafe43fa242157c65c350a680c708a5cb906cc930032cec294e4fa709c73c4a5e8d45808c9a1d33751edb9637a1289d0768630d7f1f371140eb50ee4939844a03be674894b7625e01d27778651674d57a849853f15a4c82c89af1ba1d80b89dc76b2051a0cd69abfd1a0c7c17be02c0c65d913216aa03dd926b0e76ac454adfb4004df0418a2e1e1acd28f7149e96e6d7d54d5f71c7c114ae521fe60b56bfbd53f97a76f95976bc7864201456bb8715a438fd4db7eb89977cb42a7500e46940ec98bee5d661c7a1a3138cbed40e95406a4b7fe86d80d2e6607cdb978293a80b41c3903748bcf74561bed4e55e8238020a60c05002acf4187b2b33f4a77d78c5fcdf8f6f186fcb485dbd4639f6de1ae89d39cb4108e90b030ae822ff96c52b172392c3b39c4a85ed303b0eb8dd1615c3d5009791c0ed0c77587323736b1b5f482ab4b9c5c65249117c9e43cb154b4e95548b0f8501ab2fe428d231373d2210d001c450781ff22a5e2b889caa812aa7a8f0740a47e4c7b61df1e0e97c235e46426911a8a32f7473118312b11904a5bd069f17563a0872be2399ef34f698d0563bd15e48c75735bab3b889820952a65482b07120e9d2e923ddd1e574997725154c2ab181d5466703ac5a352bdc88840a378cba6780fca18e9c48bb7ea6823642f2f721b3665397611054c6d08e91d0101f07af711b4ae00ba5f24ce8d1cb7812a8947dd1f07752813050600d9495d829cef91c36bff6b19f0dbf6a73c80e8a3dead10f49b4b579fa892ab731622e463cad7395077d3e21d3bb9370be40fc9d00b0a36f8a476a4a2808de5f0c065dfca2e2104dde8bc936765907f08b7b3890fbc6c835bdacbe16c05660889b3d29dff690512b888137296aaf82c0a1fcbd934d7a11cb7440506ed2f2e0a968d2da71e3d60b51ba0927a90c86551b66bb8582261f63d45ba5836c3b6e76cf4af541e31914061f1e5003ea779c15074e1aeabc7db4ed77e86d9f9cb95a7ce43361a1f6c520156c5258f8b2f20aeae74b131e015dd2b5140a290322847f30e960e481c1e07d1301ce404928a0994119284d4b070696097aaf1bddd454fc469bcb48129981fd7692502689249f7753f35722884ddf649afc2d4c94f3a6409cfc2b521b03324ae1f407bb198c0e8417596221bf381a261ca0963a418666052bf73e2dcae245882223b7b921b6080ba1d42f4f0db99c5904ecd4149cb5a1bb292e8f88221905b90bb2a630cd8d7b3f3445ce37565e880214b5cb50431b72a1fe0abb1e10ac581991d0cfeec209a08f30bdb5e4d3c0461eef234056032d3b17691807c1cc5f26ff7046bd9f862eca056655423a5ba61230b6b99a398acc7259bf884f9d9197f856b8c5450a090fdb3e4892c4cec7f12b4a9dbd5c62bd0aa844b5f880b26e6cadadbb6247b72c07155146d2fc47b57b6d6ac29644616407dc8698a8ed47cb1b1c82e407c52f41b410a1a86a1cc5092990da0e359303a8a42e8b34b8c502e3be0665cfac88454a39c004a0912c93b44363ba41b2704eae2b43053e8c727ae1743a28e56aa94d3ff5baffc4f7e5adc22596ee32480afb245579f78693a3ca0adad232b9d16fddd1d97f0824cf66b2e2fb003edb0cff0f1dcd0c75aa4076e812b0c8dae38830bc88246fa9ceed619fb8177c751bf61053546acfa0dc9b75db9534869a30b1caa402abdc35e5b72415be315b427f56d1c253ae8ee3c6a4956ab44089e3d08146bc4c187cb9e139510439f10272499703ec1d803e50dd7408f2a43b9156dd014de61b4c570c077e19355fff9ceead7e3566d03e3b306c6ca8988516370f715e0265f1b940fcc33061a8a03e7d8b3546d1e5584ef504fa0329a50f1a1376302789560e973fb8bd68ed652ebd33c3b42a3b249409ac08af1277ada387b7c16880dc19e8cbe7c337f989e66d18138cd8bcf23600dff2fd1f5c99f0d429c45a51964227cb3281a13f454e57222149dcfb78e879bd5cba8c781aabe915ff5ff1183ef6e34022bb9ab71a798e32012604f61db2fdd72e5c6a42fc16f4c33e4687551941a19848006fedf0b563642096ae7e213a1fb01513706cedefbae82e00696f2ae726c4c25e1236d86a53b8b932e2ff4336cfd41e7f35f1ce40f8a14b23a9e7e8c315770a8caa7f93ab5c8ebc8615be6ba79efb7078118f41043ba6d055d8d6e598249c33c1908ed124966423c3026eb6b0cfb280b83a41650ef7e8967ad55e12242c52b30d23aac24f46e10aac0e0819eb25053deb7e4c47ff17074aac2be3ed0fc2bfc10c671c7211f615e36f7823351296b1b3227b76e22291dca89b5855b2b67fc34bf38487deed5c0e87e5c181904c894d83c36efd2271c3793032cd5dd841b98352f357050e558dd5421f637eecbb48c4a19624f5df1d07a58c2ecdc1edd4b836fa71a81183aeea125cc237895e5e5c76f3b543745ff5e2b0e3ca070844a18d451d87e82b02efe2a901443764e68d1b6fb0e1c9fe3368e2d6251e988384b82efdc19ffc64c84cb0ce69c5af8c397cf99c48caee60cc091be5bfa02218f904145a425df97aeda4003f64cff1c73a9a5200e6f07401d60c32499569616146bec81b38c0bffa3ad4b72461c73f79604ba5a6319fb27f7f4032c83a8dc29997ba5f66e44e905db760346b74db73fa5fefbef2ded01988e33addba4817fe418bcb2a554629c816da1eaa852807ba128c3668b7e931a07688c56cc2d802a2fd161e6c8b0d0f57fb33dc33f6d84a5b414a8928356164a74cd018c26fa18207d1dc84c96c99410eb1986a35a4064ac0f4f20d4066337b333f2e0caa282143e13062c50e22d3224cf430155cd8019a1c113b5e50cc514e07d93a718832e37083f6ce61b1b526d10ca740e1fec89e3e8ea0874b57f9d86117ce2446bc03e9ed0dc34b4be8591d041147bfeb280cc8476883edb21db6021e743639374462166defeb89da4609fe0450dbddb6dc52a624930c91038f0391034f23cfa4944239e367c4e5ff8ab8fcdf99cbffade0f27f2ab8fc5f0a2efff7d423fa6c2013e1f01a678b7112cd3c0bca6e217d28f0b1f23d00979ffbe93e2258f804f2588bee3bc1e5ffcc5cfe6f88cbff99e0f27f25b8e28bf90208a8fbc4f1439f7112a980bc3a2985c4513e27be106d287d01a56268d3489d2a1938b97ac1228c4a2117b09f20976bc5f28234f0f70c602e987caeb68095600163b962054c3eb7fda07cb81ed9b560728abdde374de91765c1e4d30f46b7f8592ece8607763b005cefbec77a0c60f2b9125d8e6a75e37a967743987c0ea70361f2b99cee5aefbef759f026549c48e15d0093cfa1e86cab60f2399d6e67c77560f239150a987cee022fc509d8bc49e1ca2c10f031d6b8e3f454538509987cee3b6eea9705b029f67a2c97138c7e59c97d1d3fcb15e439204e78b352d92f8181fc1fef7daee6bd30f91c00bab7392aaf49c0e4733c9de47e1b987c8ed5c914acebe160f2399f4e4e2047c1e4733f9d6cbbc1e4732b3a29253f2f712cba95a79a5a0b4f76d5d532e8bd6ef17710cdc035e05c7413f62a565872442e39225590ccccdecf3993c54e6911299070379a99c208aaa33c3e0b0a38b8d9336639e189f9bdfe1eef043b9e732e71b5a9c791fb0e488c72010c3061e41f4009a3fcfaf178806f47013cd250ba7386098587e9d2d7e6dcfec6fc0d9cb16ed5183b05e8dffe83f9a8a7231b912b28e7a030be4bd7cbe10e5c7eb95300eebbf780fb0ebce142fd1bfd1ce801f737e67320c7ba45d906de3e285c45aeb02257501b1a2e3b55b0a32f57d4a747513364fc51ce8e781a3912fc5c8cdff25f7e8f61c8a6910312ad31b7c68c8dfcb1a721fc3c8946e6c03f3297c769f330269fa9608d199368f2e81709d0869f569f8dca5a13537366545346cd6cae99b2a669cd993566648a0314d842736bf0f30f2a2ec3b32dec3481be8c60024d9ef21c4d75e0629cda6bdaf4abcd99eac0457fb54735333550467ebfb33994e5ce5c1aa4d04aaee8e7e715fa95fa5767edbccf4c29a5b55e1b12a00dd8a9193852a02bc5d9d6076e8f16acc14bf5fb6a483023138d366a37b9c989809ba36774b9f7f75cb8320502fd607bad5f3b1f94b0bd833b1f8025a07ec703ed467d6da71fb6f30157c207b60456b7e6dbdf76fa258cfef728d478fb79ddaaf4f3ba75bb35dfe686f9f35946dcf0a50c1394a30af880cd0f6a9a73d6c0838307070f0e1e1c3c387870f0ece0c9c1a38347078f0e1e1d3c3a3e313c3a7874f0e4c000854f4c1519b76912793a59c0f09840fdaf3987683c26d11c32818a48216f6f20706e9ab8b696bb654be64a4c6bbb0071d9dab7df0402332e97d843aef913885f5ad5eab412020d77f54b864b4616332e849d93b9bfa5ab54566575b2a852f0acf6b1fe59dd5251b746b80d262790d6eeccedeeccedceedce5c69a595da4aa975c9a23d41d9a2ba6b6f43aea8dfa9180d98a3a6801e35100866427d00cf5a64896398afedfda5f6f279d65bc32c919484b54f18e4ece86b7bf9daf6a93c2bdeed668ee59cce1b67e7755d6b71a75a6daa55cd53e5e47c4e8e6bcb6cd5e4b25cd4f382866048211be472ad9ea050445c3de6aa8055b8fc2092cbb4bb1ecb15044347044734176844b39f0146ff4617ea91e31a4ce1f28315b8fc9202459448dcdb01e0060330e9f28344729ae7080b4c74527a2c5060e2c4a3581871c2538122c50520d28eec9725021ea550e1a9f8ae726b48216ac820c6292441a3cb2f41d9e507878042c0098012006397c120adeea0f480407e5648f007e8e3f24bb0071801b0480317ee420482c1ae54f9780104ab3827b802b08d1a8c4aa603469fae2d9c5cd59066b8d5d2d5442ba25231fa66c795421934b52ad6547d20cc9607b209c610089042720c813de072ebd7b18272b3f3873504a35f20e858b93c9fa392a74d8f5aedaf5f8e53ef4114c9b49adce9e36e63953c99b3f4b458b1daced34921fa9e6cf23c4d326510ba35ffde9f5da259cc9570fedeec3d16fd72666bca34372690901c13c06ded7d699710b515eeb94941947bdacbff8fb13a02dbd771fffd4aa53e167fce1883f55fedcfa7d572cf6d287ebbcdce4114c524629730624c8269224242ae5cbce3dca4fc4ebeb67f29a78cd99a3f5fe78aab5f3346e0662ac6967467746b041b37a4507de9ed248aa2288a4992886297309f98249f18511495889f9876c0e7a9183f9335a5f4543f6bacc6991a8774aedc991fd97e027167ef557972357778776d8e0c2bc5795d44dc6eb25c31d74c1560c25cdd9acf620717982d4944f113232ae912464c22760923ae9a88a248c6b562e29a2c9e3d039dede296b9fce08ecb0feaa89a0b4b0ba77ed990e922b18c5dca06641eaf14d1ec9fc572b9828296264b6707ad0373587103716c2891636dae209f513ea3902ba627574c2c97bfeb40085c103c0124bafcdf9a1252088351fe289908a76b72c3e1e4849f9acbff1d61423c7142f47a669e88820519143a3ae28e0ac8ce97e60231c5277129ba0f8d0af9dc7f263e0b94dc1a3c1b7950133e50f9f103885a917e70cfc13d873264483066043e8809e3ce04c65d480f3c88e08b170d5cdc7b7f5c17e2bdf7c7156badf7de1ff7058e0fb4dbdddb16991cd32c57534dab8f30e7b401e6690c32ce116ed878aab1cd4e02cc9708bf45847e8dc044659887191b4f5aedead5a9c75c20d3e4c7a7c7dad65a2d2891b264ab8e2222d6599292927478b20c1363d264077a252929c9a5787b0c3837ce2ebd5bfa15ea842a09814695d2f30a13ad2e5b762e7baa84e0b6582c46a9754b44acefbdd787bdde1c26f682ddb40dbc5a0d13634226298949122db383d30e5d70fc3f161070d9a2839626596648333240806049ba52a488952a5472f8c0141c98a5782076830d1de0400d4080bc807098289de235685958b14269dd2c471d890840dc06c313b5e1d01689cdc86f6a029d9a9cb8c94c10557a4fa51f9f9e98a6b953672f2b6049ef5916891316b6ccf74a35dba8a2a23245658a8a82a0b82ea5d9509b9492d27b392aa9554db39a56c6da6dba92929292ce5ce2a6b9e4657694eaee5cece64a9b92556af77635383756ca966dddbdde39254fad5f3b33508f026f30ec39cb81065e668d79c5ea17c729be56fd2edf7ed5e15ebd6e76b38e24041ad4dda97b9b5963a574e9ec54878b138e6e302f2a028279ac43f68ba7b0b79761310b1034cdeef65bbdb9572151695aeda2b25e040af5268cedd63b279a6635ad6ab9ab1c54d1dd66a3e15593ebed544adb41d4514a73b2604029f509b5ffdf88ef0d48a9daff7fd00c1d2f34d8edff67f80dc5713319341005cae5079f94b8f967f237383918804e40261327fe9f35fb13deff3febe93d14ffeff42874febfc7ebecfc7f8fdf89e182144a200c2afe4343c207fa945b43a6b9818604106c02320197c017c00c802e8018e8f191f23f086cc1e7a7f376727f5860d1c28bc025e00aa01230097801f1c5fff7f81740ffdfe381febf07750a5ef79c2ab54abb37948dca21ea6fc2cd8ecb5f9b87a410955bf7d1982d0e4481dad0d06c8990060c8d034cd6d5e25304306002e0238b2e17c6d006ce75d22b5f06306929f7312c45e47a7da7730e0493ab69e7ac815dbe338e1f9f9ed806325acdf4a9331876d9cd0a950148216f8ed33e6da423e7f6a3a9201e6d6b2dd9a2f5e5363a604c09601bddca16f59993528db3d47b5a6b358d2567a381b2d21638e9966e5c67dd767ed383db1db46bef3e6fb6509ba594bed6c37c029a5476eb72101d183266c880e193d5348312d03ef00b0db9dce4b15350bf26d16ccdffe7de9a66354d4bd199252f958b92929223295167686227e15d668db9766be92ee29266766f8ecaabd5e667f486666bfecc16ab0a01a80c00c6d006eed4bdb9d028d5a96439531f9a73686828884d2b2a2aea762f53e472b95c60c824119168119388ec5db5149d7152528241a91a11e2107ac04b78c30c5fc11a2c3a0b6d083b107220ac216c62126e2094327b72ead123a441299c010992508650036194104af824741232753b0963280a61089b844cc2a5f0851e3d2ed042a9501ac57d0791867485b813cbd00644d4866d537db7d366ef8c38a3ee4d0636e1c7a787a338b517ab2145a9b56a46b5d65a9d567fa6fddc9ae634c96d962b26739bdf18b7f771ebc059b2e8d891306ecf1bc78ffabac9da40b74e856a54bad6ca5a9a6a646444a3d01b2a3f87303232d2a155836946d508e6eec443152323a3f61e837353854cb76c597fa892a51b89c6f42a64baa7b74bae9264646414a5bf9538194b16ad5c999b2b33b55ca9edf64a6bbb5bb7eeb5d2daee6edd2badededd656ca9484b19f5bd3b416ce3d47ca2ee3aa59a6a27d0cdb8c2ccb15f461f30812ff6085a3f00f58361457add645d94639818c5046316c460da688d08510034e610b210b9aad55fbb89f997dc90a4a925c60c9022ab47c00f1432c8644d38c8e305361a66224850a50a048a8142685449a9ba38448cc3ec2a3d0289485434221b198a66931bf49c3c213b964c9964036b1f4d00672c9133e3a3ac2aec28f4fcf97354fbeac597aa244261b231b23931d1d1d3d1923b3c0d1d1918e2cc7d1d117279a1d1d1d79fb0e9c9b59d19c2e9bf1580a81c6935991e49994a3a3a32734c86432994c36467674247d2cb1cc4f78b2da2eb092dd1c76430dc178c21d1d311dad2026944018fb120609813073f823f411f608231016bd7044c823dc01430e5a820409751c8539586021c411422044213c21245aa3e688276964688c28e2cc0a82040922847be76093c4a8bb6bb47acb6cf070fdc9a7191b5a9e7a680319d38c588bda38d72aa5ded4a9376f7c816075361277f365233f3e3dd39d29049d46c6b48210215c847011226443715dc721a1903624ad52cd7211d24790909074ec8684346908fa088e9975a81a928654912893e3c0b999cc73ba265d63e6e7661d680ef7e95ad5ea9485404307aaa3654b9e9399e5ec66d24186af48b49934c06d428408794751eb5cacfd18b67957c22a4f1d72fab6c96cd59c25afa4eabe4a65d5f0acb5325939591a6bb256de8bb5b23bac50422e0a6d3754c784b42139b148b487143c85000544c8139819c20425c8401821826005119440a8146dddb890cd000008009317000018080a05c37124cae4300bb97d14001252782e6a5a36960603a1401c0c066118075110c3300c033000c54000420e690771053e96f44b91de600b64a89dc400abfda4e6a4097d8476c3dd96fbbd5320a7081da4b57ec112c970298f2e67360a4fb0a3a65e378060674dad0777da5a2d46d3a944c91b91ffee0bf583b924ff007ac0c37f22246e2aa04176b55392c05a5af187638ee19b8470c26178e421c7dbd9cd38ec77a9c567b885315f6900e5a6c74561fe92e463e9f6fa5e9e1db8a7613417f7d274f566fbf4e59d791a94ee3575784183888c251751bb9ee5584772a11eab906c04edf0dcd741f934fabeab2c32071f17b8b7d9c878ced08159e736e0db6147026089c262650449c883f8eb0024d04c0a4b73f57bfbe76826391e7d32a4a1c6bba396821c7d3d997de1c1b1c6772f421fbc8a8fe96621bf33ef2edf2e01fe12717f385a9932c646f3351915c556f29f45943c10458cc489ea5f2a9125642af648abe8809d14e6c531c913af7e16e25bb3b92930189ea99bf61371c35f90d604b216a4281baabc1c2afa0642a70cd79c3097a655117703bff00eeca8206c9adad3cf4548490db31b08d31f2e218ab04e7ed377f4e9359c3534c01eb8a0bbeccf1b17efec2535b5b2bd08370252199783f903819ba1ee0b0d988c2f3a05e8632575cd190539f760d3f40bb3c4398f913a5db85dfc8ad1608d3b1aad306e9cdf3d0a7f9ee9a6f802bf035dd03218e9b03445f385e5f2f0e61b231997522827f6f4f24e9b327ee07387c9e6fb7c34ff775fa6aa8cbe5e3498b2a83984e30dace3432b0af743fa829b59a05ab5dada19dbb7d9a21191969d48fb490b5374b0ba5b58461f2eae36fd2d4ac23a4fa151f5c502e7248171caaf41927770a81edad452d76ff72fb8c2419b7ac4e63d0ea4c5d82d67dfc907cd02ba686baed2b76cc447f3182293cc3840db461885eefcde85b09ea18f7f8ca2d0f267bfc9b66e6c82a72b798d62e163d9a92f76219c4dfbba679734d4ee5b2e5e5750b709833c0828a813fbb9dd8a6c32db7553d3a21aed4c3a810c8662ff39374a6641a261411c5b6e14de7a47f6ea77d7637e32d36f2b0f4e7f7dc35178bd8c5e0c491e0c09df9429a208317182961d1b04fff1e82de63df9d991d505a836a01af1a252a1882319b1a3e4d5921d59ad31dfeac2159e577062cc57d6f9c942c8d105b595289be4289023ecc82e2292fc5d660b4c5d067b2db2771c49569b0f43d2afcddc1f92ece98be72862a0d31c9983c23a1eca978dfd53793a9d900e41167922b2a3d8279df14f00cbe610b5b2b30c2f8df001fb521c03125ce1c05dd6e6a644f3b8f0644469e4f1cf6fcb5bfca9a05a51ed6ddeb4339d3b0cc0a9eed685843991cdf369af68a2c508a823880c657a525cf3fea9c3611fc56aac050c21c36ce3bc1658c0a5c8060d3b7ff6f8e5e597b0021452e05d9f896db9fe756347aac22f7edee1591f521a59106867e40f671ca083cef9da74a53b135e3e9bb1584df5f0c508728a31f722450ad727e2247e632f9d58a59439a2f8a7191906855cf7297e6d468ad46f8a32ed69bebaef2bb92c95ed96ea4af634ea4f6f490a8fe9233f87131533564a39798d0a3b0f40bbc97f8b7589f9023bdebda34265a0babd141fee7c1ec875f1192bbc96f12a3cac04024b20c378900fefd51de1ee0b358299b4fe9f208c4b743ad20098e1f826ca78385ca5b322da21309ea8498153c54958b24d8af79c94594ed57e24ee746e83f1832d298dd9bb2395b769ea20a7c3a6a434f439ca3e5a40627458775c0d73c6b7608d45d32b19621c5852446506c6b91c875356da7e98025aa3338c6e71efa497e852347c7d9c9d189b9a4af649f9b014b552aa12a61856d0a854b630474efc641c4a41c0a1549801bb4fa555a66b5c8331943da414cbd15aeedcb83ab97f3a049926eb55c1cfa1b40de793c0ecd4bfa53486376e2cb104cb69facbe13bc76decd833826b7e0f452ebd95c1b38fcdb5b0bc3fc25282855505898ca74a69012b63e4b7b1284ece1eb12c3007074d298b8b44be65e09027a4b43aca178bd19a5e2c85c983fd38414c530c610ace8b5fd6044e05e694c469ddd817dcb102f579963987c44c66a51da47fb9bf60f0b3b4fe3c87551ab845e6c231fe42940ecdf9b2e03f63d3dd58fffc780bbb82b7a3abd4b75bf69b2f43997cf28494088bb8a12aaea16bbcd9170ad29a8245496ef6d5e916e8d536b3a3e28115587c0db3822a71f76b1385ab8432cf66282a147608c2e696091021a2a0bcd64c0ca102f7ba4635ebf23463d38cf239cd45ed6fff98fe338626a0c84573cc05b767f631e84961ae15426b823813d36b6b844a5db4d485d2aeabe5139a21be9981f78390b240584c3062f0f08399456e139c60f707fda54ae8c86695f9375cfa04e3b3ab8935f0a53e56e6a9c741325b8dd1008dccfc3c6609052c706775e48a9d577530aa4feb90e424e6aac19e4b3a153358c02a92cc0992ec8e4e38d1d84ec4b36e0d76f7f09661a6a7263d73b0845ad34ab16c41dff1881fcc1dc9876d763814177e8c6d3d4cfcb24f01f31c72474c012c828ca478f2bdb5bca0ecbacc2a3970b1f3f532edcb96a262a897790e90732e8db0a6e8b744384e8d8fee32c7897a739c188d7e9b632767b09b04a5d06505bd10f1f1e3f2dfd021b6f40bdd12052adab4dfd4a334644c046f2cbfae932cef16dfcfe28321fe2e0adc722375cc7d4ec9702b67474b3405baa0c727fe325acb16b7035fd1b21632e87e691d75c124898b3a681256b242e5f572543a47e7265fc64ee96be2b2c3f69bcfbe644befc4ff671ae169c6ae66c0a9601fb02c3b65669215a4c41582df4b15c4f20f28e27a64c840781060df9e9d1bd33e7a525230ff8930304acd437ea10a4168fb1fabf2bcc3d4529cb134798e007ee427c1ea92b7ff7fe377ad533e18d3c204d7ef7ef7a03db9e9d812e8f336c6d06709cae204d76fadf7f909be9095e2c27109f402611b371db6d413ed71bbf240854444db2182eb5b62f8ffce445ad15ae660003d131f56a9c85305eebf7d58785026f3d94cf68834d34706dfce6f963399ec9d3deb2316372400f6be3968a02386ca1ab64280a07cf3dd68757e7c6921ac27e7475f8c7e10cb1b60c36e03236a1f3a48f5c8cb1a03b481e0e77096659826ab33c1a45f2ce0b3d43f5bbba08889e23afa47ad746ab593bca3315b3564acf766424fccbda4e66a56603323536117fcfc6146ebc77f8fb9748e6cc5fe998f7175be417599de9fc52537cf1115343d1b1288916dc6839c2ec04e6feeb83dc080e7c4aa5a3d32f72d59be0a7c66d60d97cc3c1f7e901b92383fcdf54b750a816e2d5b3c7ce9d048662cf6cdaeee9ac091483ca41b2a87dbfcadbcc4b93d3623fece42d8ce17ecdca38b056e5317b9b1f36aaa44a3d9686e267c67f75854c68bd26d9b8dbb5d289a87b4dd484772fd922448b5fdb80387f29248a5952c7081d4a69fbcbdea62b2cf5bdd69660081656f84a4e99167f6f60d0b649caddf4a91fd88874f656fdbce2065c8ccaa6fae99f54c502f95db80a9e68cebb463a3ec98fef743016b7cf158fb7dff3f9cba7cb7e40ae2f0931fd359fd65170dd87a586fed3ed63c9b36470dd1f13899f2fa058dd79c000f09cf5523ad19d0f2393937048223f927db1ed29920f41efb4af6dfb2c705a5b0c5ccacca0d64378084ff553c066f0cb858cf4097770f8ffbe2b2afa2453ca45ce49890bcd4cd43776b00832ab29b3cf48e8fdc206515454f057e2b5f850326dd092563ea071e0d5e64bdd67a4f1e033c8362258c85ec752c8b6afe3706e769a9a8fea50281486d03bf32e02c2c9c0de88623b927916c7db3aa034991ec351df59a3c7f17fc69f44569e9f6c69bdccd96c32cff9abedde91b6b3569bb00dfe2a7289b56fb6a96e757e5bce7c81853fa56aa1a4485aad3b792cd6ef71875db66d4ea7b82fc41dab1e63d5f5a1575b881a72c65d26e83b58cb6770e0e58236d5bdb26acd040fde3c890864f360b6a3325855c946c7b33f3a56a305c54be2a9e525c8b2dd78eab1ecf8b2e1882f85977429cbfb4ab2820b124d3c63c5cb1c9de04cc6a4123c341fb39c635b732977cbe8ab3e9ee3cdca1c8aca6940b1c47b98f9f853341b72aba12dbe42258086449f786794b0f9c24a21afb4271694a249b79395bf07fe0d2f6073b468072163da541ed8eedc4fe9fcda518a4f41f9a6cabc0c740f82bc79dcffc8b2b779fc52364eb76449f4ccf0c35f36c875c775bd810e8dd130b670358102d847f3a60b3a3dfe5f58ff0f088947b88126b9c0facb7fa5c906b2f5c85c6c697d13c3ff05555a8d5ced41b8ebc66c6960b33594a83175b0ed19e8600a1900039fc4e0dc1bcb6b7f7c013f34b68c006fbde0455fe94d75ad1ba291fae7370b64b0f83948501b0680471f9341d63aa04827257d44b1d6f3723ba7115365cdd82befdf140929bd75054cc90c188fc8378a7aa076bfcec399ba847aa47baaeffad70b5c77c3788ef8ccc29f69202f68286917e319e50cbcb81a8d3e5ffc83fda587e26254ccab62fad357126a7c6f663b1947c6d508dc0347f34d67e4c51a1b539c3b7b6a12017cf035e3a9a7835f6554227834e484f53f5102a332efa8c1502d4d15ff209cd843b9a6cd5d481205f936db0696e4ca8d601884e41fd59c805e7ba676de6a074af2ef4f9fcd12bd73c38304e3b0734806f3d6e5326f04e78571005fbc6e29943ddfeb4a22040c66d12b9d721d269550343927bdac28cc3b2e170e19324278f481d8b99a4de0f38288d50b51c3487e8a8ac78427373dc4d17b7e2d1288d417d99e914b7dc9f1acb65cd952d8f401638801a34e8f5b12f70f62ec69a85da7314e38732b2e6e242c3bc6230abf2abbc4cf59c2dcc1aa7677077aeb82dede4d4d709fbffbc48fb69e4f744732a2e80772411aea6b72e389fd1b3534a2feac1e9152fcae1e78616eea6eee27e52350b0ed5abebf3fff0c71344a664d7d8661994d8ebf25649ab0ad7c18fe4074d4acd602d0e5e826d11b9a2baf25111fc45d2b831cc60cc6ec54b2ffd596c96fb064eb64cab0cda9b93c4344588259c0bafac09940acca15538a08c1df0b0735b67a6699ab63f14a83b2503792823c868c6e9321aae927e6dfb3eef1938bc2432de1cca7909740dabb4fde4c46283575b2dc366f397a660327d5d9ff23743cbc974c4a2ee09405f75d362b176e168ff07075f361a24c7e9d79e20b2e7118a616dcf20f447ffccb923fd6ee1288820902eb3f5a9547401bcb7fe62c1ed8ea9c5b98dd37a2114bdd448270d862f1fa68423bc199a5839a4275b27a4f42302999ccf55985de91ab605e4597ba933066403f24e428ab08795f7f34fe50722d0960a918acf4356e86243a37dce4e9b1bd40bf3ec320648378058fb2944277ac38d7d41532ef1b0172dc63f4ebc17efae87567cf3771f996d355ae63a7aa983f5d281cf6e1d35f35b60e28d8cbe350baf8cac714bf5f82233cd20741dc1fe2e3392d4bfa3a93f29b623dbae411dba0bd9eeef2e88fc9e99f0c59d9af0776f03590866dee377310e3a414e96861ff6bbe484c1d5cb169e657e2fd71f1c8ca92e6f2b085928cf83caa5268150e98b4a5f9874f17bb98236dc374dc39c39a5c0827483a27dc1a373444d3ecd118255df715dcdbab6ff406e28b8b3000a4203759ae4c03d8cb0552f5f4eb0554581ee49ea19df80bb56f9e3a85a8e67d35b2526d1e8d796f6d50b57fd04bf247568178fb92e47eb3e8d6c22e33d7f34d38c12acfb2c35a8448a9c53970dd2bfd5b04a362ee0df2ebd73b32740b06457cd3c3825773b52ec83a039c8ec0041dd7c46ff0106d7d9ddc668793d681cc053c042c6952171432fc6226fee10cc90c4210c9abcfcf5a0eea66b4eb618d1521ec60303d0885769ff088c3b7cc1cd7b7505d446b1905547925ba86b482b74f315b9c28b92dccb871d6bfa78902d0c372b6c47fb562836158ad96e48389f5b45f7ce25c6c00dbff1f6ffe74311b6c22904ac82bba1d2ddc8129c504c080686b68f0b4fa712e559de4ad4afa27edacd89c3e47da3110094b3e727665673cdac27995bafb42544238d040853902aa3f28923fc1a7bec72ed9f758717d9922d54c636a707016797ba423295e41d493fa245effecbfd17ef850c0bbc7557577d20d8ff5c548e4fbca3497d55b5fc6b0f588eca83e8f698bf246f5c9873bab461cbbb5bf405160c02d84d728d4e19d27e465bcfeabcd581297296a990c29e139a3dbcaa8b0e0a9211b49baf0ccedfe7d4f078181181e71f3973759e8c0bc517263c66223c3b27990852203d01a1168c4506f10e1d6d1320a256d6e010710cbe0f00333827d4ebbf89fe18dfad5b082bf8c6fdade58c88194a30fe9bb107d9b326e926f26715cd4a8af18ff55f63a2f01bbd484e197289c0715bbcaeb6f809972295700d36dc27d700609f86125eefa12d31afa34ae569ecda3bd1afd3cd3ba7f0e1396fd6927bd66d7ba623db49664fd79982c6f3b0802925fe12c10dc42c2f44beaf8688703860dada5e02605a3b92073dbc7a311cc9e5b9b5d57b0863b26bedeedd3917b2260c4061fc1f5fa34e4f4e11096f75f1b0d68dd24e01768cc01834ed90c9c3a7b44061b01aa7837e88821d3cd9b0261f8e52f7fb4ba76480d0a9a6c9fed10360f91a198318be5f522ec3535cf32f293567db08e7903a7fb58bdf588a6c4c18a404f73069b8311a8dcfa2d18e3eb57765197690e7dd13173fe303c6c88c9c0067b0048ac3cae9f0f1c3cb0f9df6f96ca96610f3db43b70185c7fbbb1dd836fffffb1169f9643a53d5f8bae6ea9df1bc341080501ea9c3a77efe38e7699e9dc5a94b0ec327adecddb69e315b5a1a9077ca87f8ef0f1449871d6a3c4f53a10399b1e40e0c164781d3ec19ff45bf2f1176bcee7f4546d1f87827fadf87b4e5f0bfb7a6444e6aabea0fae6f34221dc28e988c865ed4151ae265d1b74771587abc8f5901fe3bb9e9528a3953f1442f3ad3b3bce20bd696cef95f71e58983e9c7dfcdb2901bdbbeacb105c0b5fd98b939a5297539f8fbd87ffd311719defdd4e5bda17f7cf9abf328001702f112ee2452385e8da47c7f1597fcf34c6be2eccf87d899d0bfaf0ffb8afa367a47fd4582c57d442b53cd8e746dcdb1368d42309c41ee8cdf0ada5d98a50cb943c424df47f01da5438628f79f4f42465d1d80f75f6f1b90cad6661ce5927a7a37a70fd48145344d2db38d93097f0cf130eae035a75aed838d7450858a6ae11446355c25a0c729c7efccbe5b3ae65d46a9d76d85241ad23b4adf9c53880f5dd596bb2f9c22304b06c7fc728728c9e59e88383bdc06d320f27edc00db14c998b42e72f9cf176385c2149e7552463f8f0c05bc955ba6a414a2518d5bf61147c89cd008c303b491604fffb20bca2394c104ba7908202237ae39740af3136cd78daaf265e5ccd0243483cd52732311b8a88e6878c5863c0f54ff0c05b71cf553e77d0592f9b517a4978cbe0ba846980d73e073b5d7cbf432bdf2aff408efb50a7f68b780dc7d259b67823df30530df759aac19f03a2543dd239b012be04dcf1bd2035a4e462ef85b2ff468f17cbb41cc1789ef5136238d2a99baf86a1ea93d8d1918b1d193a59a69017068fe9633715114d06490e376d3559ce33f546187389256a15e8c7ec4910b8e908f4ae3685125edab3e6093a02308afe7d5a0e400252b2d6b4e8073f9a9bcb02fafc477c1f1c0f905e80f2b5439f43c86673eab4ea61a3c4cb4d54eac37b46e733360a0ebc7b1fc2ddcd4668a6c3c55bcbab4760789edb2af347a88c2514404fe3a0fd7ae973026d70b7520bb03eed40bc7fa637d3f45d884f2cfeb02cb0a02a572ca8e5568c258483addd7f93a588723f53fa4fe5f9db8a724b049864ade33b0cbc9a8d22316d0e94f31213e14fd3c84b8d049ad8f44b1a52fcc9428d2e62e6a638aa3ba4e623c6e298e9ee03570fe83f70a19b5ab653c93ad175043b9c2e5732b929e66d3e7cc511f28d8b4b0099d05746223e50e10b9392d37b75a5760116299cef85f48a63fd39fc28fccbf3914fe3157b24ab2d976e4721811a1d2235bd6eb0949e862af23c9264fc0397be4d4309ae36904f2d2baf33e5f55e000cf28494dc31217de9deb490a8e482bd1bf6a5648c3abfb4ecd4c71807c4e28712d675093638106c52fcbfb5d949f41426fd3608f572ab1d4aa5ebfb6c376e65238b7269abc29f2428dd7c15d7458ad306ac871777755aa7c81a3f4182f537266455be06743386c688d5975654814130b5a72824e39a5d3df3dc192d15de07ec0d90a1b151592e7296c4f074a0be269130afac36125084e944cd1485e9f436587ff15f0a76071719e283f1718fdabd14139b348101e2949da4ef71eacc153ae60506328a526de02634dc8c939cd6c6b1ea2153b580979be856289853107ab1d8746640e0ff461755e37748dc7401e3297d28e49053581cf9cfe4dc332bca1e7ade3ee6503505f85aa80023803e18498bfa3904eb18656eede83913414d5b9fa223071001fd873aad40e2592a56225b18f71e8b1d3fd31996f839ab42019e1ca85a2ba25de716668079d8dc456b0ce997a1a58d3be3b66122810129c76d212d4d678d9e1b8422ae2043fa31ea4705f69a3850963148cf7a7b5cbe40bd4cc0f6948cb8dae07a8a68c72df72d45d2270590d35eea7298636fe69d66e0ec0a41bd95d1c7468929c66616dbf2d723a0f76c2e2a5657b260e26c56e46eb2bc8bb664d06a0c6ccdedb2264b53e20e6a9fcbc015acc4da35405cb86abb42274732a440122039524e61e4493dfde54083818cdaf8440b148f9644fca4ab1daa13f09b8efb98dfaafb90b4c8505908ae21c98c5667ac884efcd0a5cf41a883ce811321c5c1772e67f9b28706c7b019412b2d0c96ad2977e3566021aec991dd76b77a8cb8390de399ddb93178a8b0cd4021302ce82c3b60473d50ac2d61fcfe5f402f8ecb9686fe5ea3f419637c2d64d825d7254e51dc12a1f864187d6d937dd51c343929c24517e1eb490673508826aa3ab4f3797cdbea11fcd045d007aabdd7933a70374131217f3af701832345c24372581309427f5151502e401fd9fb21a51030883e4f2f09c1b7c6bf6a776e6cd8ae056be0303857e9844a9c0d0fa7aeae1ff6f4168a9db41c5b794916e8f9ab49647e4ba7fe19e987538324121d2ad11e3e8a272fa41cc1e765e2fca9f15fc79665de9fbdfb12247ac74324a71d7265fb4eb321b36d67a5595ff6b16b721c38db0be54328bc3c9fbf8ed65607639ce579de5f46dcecd2271691aa3e378c5eb729490f0d59e36ca5d893568f61137eafd21dd509f0767ece0a046b615182c87f8d73f6d513801cd2092026fa73794eb579ac565c6c545f35a56949a8e67bb58b4044823859ee2d19d0158cbf13a52178c394b87dfe16d97a36073104e14445a33be5ce347869121afcce25accfc556311f94ad554762b590637af2b356b3e966e84c62feeef3df4a328a2d1fbdefecaed768b537f0c7698df23e89ee474a163f8fbad13c3401aa3e16807fdd5e25afa5ab4f7245518a27a465db97137df92c581fddaf8bf7f077ece9aaa67ddd32eb613cfbf85921e62881a4068d821d514b06e681c983e974ce944f3bbfa3b07162437bb82597852b2c50ba16157f3c0569368d841d952aaac204b0d9f928623fd0c3d3c7e538b12f091a3f1828de04a776c3a1de73824dda88f9de2c6458c347f56b49414b6fc0860d6500d6eb991304ea020b528107297247b3d789edf754485a30f0b70c7a7945f71979b5b88692a5dbf28d6dca8cf2d747cbb0dc1465fbaadd51314035917aadac766fbd5dcf4208bc316cffa434c8d40fce650003301dedd164b4a5f899cc5d47f5ea9c3a33ab9abc166a8b4733e35f5801b64af2727430140681ac9fb0a8e528f194016e8bca3750586e1c2f82486d286fc6ac08157ba6c27db90710702414e22bc2613fda2dafa6c3163941892980ed81f279303efcd60b3ac732e0840932c0a9f83dd18b28b42aad8b0da0bfc4ca8ddb9572a6601a68efa162c78094f86ddc9072a46f74ac25261fcf20b1fafab3003acde219a56d4c809e3dd02f16130b61e8358dac4624c4dc06af09757dd88c1146174493be52d2b1fd2b49ef16dc318dab7991d694feb941883744d35eeab76780e9b42bdee7321294b3d9b4aa2e2a094c7e430ac9ddd140e3947121296071b79e7960a2057de30f1e931761d4eb5ae6b3a647ff7277e85e4ecf08cd0c83e171bb996a37bd8554f99f2ef0e754cfb96c1c56c46f10611f33b43b7f4cccb7ed69c80027745b86d6fe9ac660dbe5c103da0f03d8457e14193c2fed30502968da2c065d1989a4d37e5b9d706e557d9183c89b9454673ecf8635adbff4610c08478ffbd494541c5ba83387684d71c588a32f41ba6ecd0a294644af248da2f34123b1ccd31ad46e91b35ce7128c90c558db3d177cf00941208cbd42636c8d5962c9c7c851c0b80283095b7f72419c508d9d025f4e220d255dbb811777507a0f12553825594351c5926c65aa6bcfcb1423ec9242759275e929480d94e765400d504144bbd2526751329432ea327e659403b89b67998c503287626249e8eb43380860758e71daf20d486deaa736e3476475f44ce2379b897de86ba4255f867d11b439f696ac010008591807291651666862d8d6cfeced073a6fd729cc569d7ab6eee1da296bbb8c8a473933edfc47c2e356dd230000e6e2b6789144f8842308de672d549b5c1ed2a87f0fdcdefd5c15b24d3406e6cd7a9b7d6a9ab40022d5a306443f943040aa7034e199669ef23d2998463ba19e1e4dcd42b343a4c0d7d2e6cf3fea95751a793a8ba591dede9ed1ce7345bb8996c62878b1b7a530c14cc848125ce2d1557bf0b797ec824318257ac0d84277f3dd5fcf7e7e71f714a0d86ba8f6a3db297881be9e79338f67b89bd94d8936e5258f8b94d8fe08280db951b1ff68323b2868bc1dcbf02a19992a5f2529e287bc8403c720de34e56c5c0cbf978624b72620001868197854254c2f89835b914e1b1930473e85373a3b564a85804197387492f987cc9bac7fe49a0f529ae4425d6e41a1012f5a959ecca7ff4776bacd44d6c0a548047a6e5ae0a9072028d1028e30ae681a66d1e1821a405a5a1642b9bf9aaf6d421060267c142d61602879b50c57578075a4bd494bdf0ee881daf95754661ee2094ed0e111c269a2f9a52ebc785a6dc4902f6ed44c9ca5e81f8e02245ea3fc414f0f282706a5542619084d7b885bb0953951299596a566f345a166a4677c94cc0a11d01597d00a3a0f0c45cb3e50b57bd5ecd817cb161a60d2b361856ec25d22b3b4c2af0fb678c666da9fcaf93afc7f24faa8468b1c50c804525397d9f783009276313adcc5c0301f6764c0d74ecd69465d27fd9450195a01654f5e01a93b86b3099c0eb9df8a61d981a1267e87172214dc3c8d2561e89cf038458f05e9a2bd07cfb9ee317428fc4fc4883daa4d3c403afd2eef46ca3b0d0bbfcad47b2fddd8c50cd8628b530066fc37732a8c77e3ed2eb5790c6dbf1da29e5985b39e4a8ef11746f77aaf8c9a10db03182d4722ff339be1f68bc73d80798320b24d9145a6510f99e42b2b3b88647ad89b10f6b0e941abdb9910e354b2923d8ca0922a01be9d045d92df2533d8c9a38d0443876cef9cc7479c4382c6563086f1674d1840613b4bff5ce670810b0da7af39e73f4d03595497999548f596b7230175f0d40603a1532c6d5dd8188603aca192f914d07bcca476acecefd283b8cf35a7c6f049ec2119572358b9c99bdc367f6df876c13748aebd455b794eb42ded7592a1c936938b0ac305da9e03987f5250ac831295237560364cbfd222556a9348aca4ec4eb63c674ff34bd0ef60e7b93d549d0f3b44d778400bfd5e6eacd758e99a43e8315dde3051c70611f3469845a402de80fc2506b534845c543c78f34c018ac09dc693111352de129c9f150e395a20c8854dcb47a2c76cf93f93d84c4f40e44f14532bc9d4ca683fc028340d970ca166a1bfaaf0a18690a26b8e01e108c3c8725c4a015121a06d71f200eb89c2d56c1f18038c2b64da02a8c9755ea185301bdec702581ba25a0356ea9931d7f6b528c8ea0d54c3b7691bac24f9f857d41cbb3c0bc949fc8b9c95bb060439eb45c195190e7908af2288abc7b786e4418f4aeaa8284bd52de1b444a9baf09d57460b01c313ea930924bdc883adc7f00c90b63f714cb5efebbc3860b9956e93c049576e579491f2217c35647acba06d44afcb3d903e4c6e3d7ad12049ffd4e43f0e51355431724177966318ead08402fc23a6c7ff0614640fcea0993df39b45f4715b4929e16fe97d4648ba4385bd3bb624d635eded77a6ee0315db58a7db36a78cb7aeff128f707a9d07b0c409566badc62cda61d6f77de6f7cb2cdcde295a1b427d138e048765c3450a4df6439f4467979c7c60ee25aef12e81a7033a63a3b0396d7f9096797961d87e7859db6dd9da33716166a59427f9d1180ceb066f8bc52ee88b6e43cbbdbd2ca89c5f342586241ee6d94f4f83a7e0946873cb5c2b74787ba78f79fa9955cc9d2fb6101ac4265b9a7048a4fd37f14c60ce491776419133d9a4a23a51a587d47980616e98a8b853f23fbb40a3a08090314810675e1061070437d7fd088f3a5925b9f72fea12f57538d07ac4024f8c8b89bd925b7049ea617342a502de0d6a47dc6abb7b5f5be5cfaa7280cc0acba4d8b8908da7a30569dc0585f2b0d8d897eb5b871284fbdb796814ca1554b7fbb24f19e498f0c8fc770f2fcc8b15b866095f2fcc2b8764904cb0c3b345ac506a51f1204cc1dccceafd71fc153ebfa00fb650c822ba08ae44284b463a104acb1ff86dded608fc6e1fa829c505418deacaa450c10678ea042953337d3027b75cefa36d404d2f472c734b519eff05b41112453245022e3f867ddd673a319c068b505c6922e98bbff6084560ad356050032d8b2f6df90e6bcf54a9b13812c878feb4498b221384d560cbe0be915af5a9352b4b040895eb273d2fb39cb17ea063acad2d3121a6e1ffec10758715d186d27489a8c41c3cae5284c8f8820ebce448d284afa8c587c902c9bcb1d58804a21a23698fd0c6cdccb4bdc4da6fd0acee0c3ef98017d36f44a4e61eca685094a1886dfad31f815864db91a8e0d32c4dfb847183856f4f4423946dff23d80ca1aa3e018b6c5f14346fccc1161ade1771cb1ad6f5682001a447b910f436525a52ef7b3c9e73734b780ee037782daf1f212fd19e8e722e6284008746c74bd8026b3b0dec2daed370e01f9a022fe76f4cd060e02d3074666260762e5686c3621f8bbc3207224a53b272c36d39eed5eaf5c26440022a8c7a5c0667739aaa9640728df8f58a1fcc131d660c5eda89c557fc4526b079ad74e3b46ef3af11754793eb3331b9917e48028865c49d6db64109e2e93134277c0118bb7e3e99ab93842bcc1354583273c313d1bc055ea7e72b8f83c8669cca16208229a507a82f13ec3dccc06b7948910130b8a59abfbc16c660ade846734c0306afbeadd23cc1f42e9d4377e6962d7fe3d7e22bec29eb904e00405f4ee76dfc99a80b6fc27d1ffbed1401371035f98a72a8e1af6b482c1f81acd95722a6ec7ac3349e14468d83a48c70526e0b81c972f879d320fa38789f89402835c8ca669978c6958877d1803998f53d5559008c646d836aa3de9fdd492bd030e2e3afe4f12f645136e685c51394128ed52e3d238b0dc1ee875725a28caab09c4c44f80862bc7365c80ef1986a6e176f513b61e6f5fb6597675ae6c6a2db1d312e0fa3e33fbafc805131d134d1ae63ef4f009513e207ea4295b9371ca0561af33dd64d1bbe2a2a135c5078c864ccdc691e753949a945288613c9189de9dbec8617a1ce81772d79312762c667e9257440d2ab8a3fa24de11b1514e398f27384ba2f86c981072482edde0f7454876ef07801ce5e07136b0d1e0f61c9293fdc685191bda839481e20a342e9816158bc2e1321fc735d4d35ea427309ffb0abc76628d3dc238bb1181fb5f8d6c15cd1512c3e8a011745dab01a2357fe1cef04ae7e053ab176d2bdb535a1a296fc1564ede6d41f05ac671fb84fc0f0ed7e9c6fc7e80894aa4f559602ee60ba6c86282ec0374236c12815a48838e7ae9fafba57e9200620530671d6fcb0af488f1b057a87b1ef00383cf306903fd8b80e179889738fffa2da91f3cb59f238744b0a3a36de4f2650d599e212c9cf26a40bc6c943c7af1fbcc6dc2d0946433e28834e9984298f83b455bba7a58c22499dfb971624f4023b406db669272782195749efd3e1b62505775006e0ea59fea3cd24d0a3febbe027ecc477819143c1954b3c8eb6c453740f2b43de9194a3c494946f2f1b70e87cea132014bc1b852fd875b31f52e8b4f2cc16b8f00d8bb013a4eecf7333b5345751abd21974346dec9e64df3c10df1e68a034c52c5777fea2d63b8ec730be5ad726bbeee904c28d321f0e1a4c8b23b2c2cb7995368734e4abc46a25e16c7ab63ed8df0dad5d39aa90600360ee76d9a4d1c3059e99f59e315e906f6dea3ea18f4b62469c1cf0a546faf949ec1eff48918502c23981fcd4e71587a2cdcc7ce06d123e8b0e718f82779024a258f1e7926f39d2fa17c7b4f08789d0cb72e20661116777aed829c0638259a9923c1b92f7d1c4ae1f5a35d18deefd54478e16395b0c31e35b386a1dce33a9a6b21e601d9335601470f205d3435d61949237d7c0001170abf7f9ba154fb8ad76f41c883870448f2719e876eb5c3ffab756f1cb5d7333a37780d6abf6beb26bd345b2fea7663d0fa9754dce6f669c415f60e1cb73160c02e9adbf7b891eb0223c789b09e68520a93ed74a453960a449db28af176cab2d49db2d23f9cf7936e02dd12310b87e24a12b861a751a96411b3a9c0716f11754f4b707c04036bd6994765c5e6a96f6860880cae7b00ee01e09a488df3b388f153c270c7aa40fb94e5dde5c3f8cb6b18ee99587f4f62bbfc2e6257f69e0b64779f13eaafbe2f43d3cff6c81da90649c0974b1b6c0af91989ecda2a2357ea0b8cdd7649a4ba1adfadb254080aff5e80763f2478ed0fb454e6a3d91ca5c8bc75c8790df2b0d2e2d66841b8a87d1ef85f883d1a8c48314fc42bc8cf33ed0e1a5cd55b986b5778752e82b6620e5093f40b6d74ef52ad44ceb4da996c5af74b0df76abcc9e15e7b8fe4ea8a8f07a69990de3dc7a4958289f73422e7d1fb039e14c04b3fa1a143a255e45cd424d75effffaac42960e6f79722a6fc222ce1b14fa05c82bd1b9d8de03aa0bc7643125bab1a095692212d5b4d2f2c2fe922d0655eb134b0f6648b52ca2b813f20a3043f4da794bea7f161b9857f4680444d1db9b7af2a4e2f8ea24eca7906eb15559e3ba4be3e82d91197cd65465da9dd8bf4068bedc4bb1272658bdb830e76557cd2b4e25b3d41b1be79db0ee9338fc8e96c521e024b0ad41d44767b0c1d27b42afd0116dba7cb60eccbfbbb513a43f5658ca31d216060a74c6040e0f75327bf9c72d11a37de5ebbdea032f7f196af47dd79a4dc8b66d30068fb31817a6c3494f510891f8261e620fef7a983fa1727c6fdc14805becfe64e178b3303a5c7fe1f74ca657e482ab28e409065d14fdf3192504ca7efb304691956803c1891ce087d13675c0043534e5afa2f82801a442bceabaea124532a4acd06903f728b7a8a08bebc3481e0bbf61d6f7b9cb0f2ee2425700e0fdb04cdf062e82a5044f2ba03c4e1eeb2c615c964654a0c11060e345e557510f144d91833e41e48a403a95ebac6090e3a92d0adf0d2314690af8354275e18f7b3b9aa837ada9fe1d81f912052488ca76cd6d5091f7727359eb859578738b5bf730a877ff0f9d5107c7102badd8d625f40d05d6d0e56e45e603931ae6daebae112155b786c43fa59ab674d67e41144416b2b4025b4814868970463ec097b0678cf93fc50dc5c1676cfc3f641f841555f174000255e1c317517e6b92201591e6f36edff366d626bbb7665f7964926191c063706c0054f513bf47676a57d77f797ad5340d27c822b556a2010ac4fdd7dac250d9f463b3d0d7c9a7d300cbbb70fa244f15162493b876467f00bc3ffc2d7093c816567d09ddefbf696b4ea80654a2bc7a56200c1fdf42d75aff529a5d42dc8a142a0ceaa18d51d16d3078b026eced5056c21f10256bd5813dc370c81b024188628b1a6c210088b6f15874c546198037e0957ac6a7224ade338ae1c3bb3071af796e3b818da65ce710c2a045b3d8c01649c6985af1fae704585263c11dd9a275b84b1260d4435c31612660fe306260726ee206c21811b66e258180231b69070119a3d78108640bc08fbc65a6b2d0cfa4e29a594e6a0db4c695df7b6b39d399266adb5168c113a49290c5402ba56cbf46f681963037504b87fac30fafa200c81c00d4208a30beea782dbe401f78908270032c2d70fdc1f561895c1e2ca958e5302f75358f7d46e71ff8eda1003244059805eb8e5d0fdb9107465d47245709d474350e7dd3c2093c5807d7fad1446a6340adc2fbbf1db66e775fdcef33a4e4957fdc8adfbc512e4d29beb1e15defdaa04b95f67fdc7cab81823c69893753058d8081c5ed9f564f726d3c7a87eaefb628cf15865789059328c2dcbe25378ab0c17f9561932affb2ebd75351024b170421cc783b536ce72429c135442963db24e748c0f3c7dff838b18cc6d12d7c332d88ff3ec3d3df87d5674dc57a623478e8c5ce7b940ca9123477808e22ec503ee52666042ca0984ac140f34a594b6142a3838d5daee6eafbdb60de3daf3dad53daf5adb5d57abb5b6a218d071b6d61670d7305c63706b6de896c50411cd031352baeb7d27f0c8e94893ef8815cfebbe220437781ecabbdf090c512178faae9754e479dd357caa996e6b32316d306b3041601219994b4c259ee779debddefdbeeb35e179dd4c785ef78fe775ff98341c3167e816ea16323f60ca607ac01c3263303b6072c0bbd7bbdfe9f45dcfbd793061e81e62be60ba602631854c249ed7fde379dd3fdd7d57dd5c753961b40355621454a93856020992195cc4605766706506463b2c090ad212a42528e8765aae7300091224e3fd90d42bf6c711122448ac571bacad56d51d95c0daae1a0dc00047445c4a9d7ad05116383838467e54821d8eb67c5e5050d073f674a910ebeed8fa18844590f5bafb9dc013870489132430749db558cc20d348d7859d77bf131882a7ef7add1513a8ebacfd5433d676b7d982c982f96316318984a006e60ae6901c8aa852a488a902125388919119c4f4313760023153306d260a35d8c13c21c8fc61d6ba64518322458a5ce9a658fb84e3821c85a37577ce3accc770f4984c8a02a28880932393c946990c57b76eabc0c1c1f92e5e827382c77d7d22499224637797dc913c4992ae070f1e6a89a8dc9140e04e9d52da049214f76abbae4eb1484a60ddde4eab3792952fd5b97b7775efaeee5dddbb6be56a4531c0666b1d03355bebd55a6badb5d69a045bff3a1cdc5a1bba658551acb59edbae0924efbb273054c1bdee55cc008b7bc5fb9dc01025a242f0f45d165c71affbd0a79a71e762451532a0a2e87edffd4e2078fa6e912d53dc7beffdbefb9d4edfdd72af3b16f7ba0fb9d77d8814499adca7b84f89028a279c8841134cdcefbbdf09044fdf2de2fe84c9bd05182ca16529cbbdee43ee751f8293f35d51777749513fb0414e3ed095b3d67ace75d6f3826e94b063c51eed58e19c7327554e60f821d8e7e9627fc1450cf653b904392102023a02e80820207bbf13d8814700b9202424347a98267d16607b9d6dafb36d44e70979429d10478954d57625a8d5ce000707470c82bd685add89114d4040401e101010674f301bceebf50a2fd0b5a29b651d7771b7ddfd4e3fca8ed4071b841dfd0225cb619bf03baf4707e0e91f0693c97272865ab80037fd1ddefd3ed58c072d60c115255690c2f86693eb0eac7a69d142052d92606cb0abc676c0c4d8bc4da6e10e6ceec578ec912546a66687cc38cecc24e1c279092141538363636d900dcedba03fa28515dc6f4415a4232a309c58779be518b9039befde8bb157528ff9c45c84d7c975918217374053a4e07e1aa508148000020e0e0e8e6bc78fad2f23ea072e43114a5dc771dde7de39c875eeee311a574a50c20106a841e3e6a78fc6ed46e35fa6529424ec2206b34a6c9141871a4e9cf598825823383863073995bf5287ded88f25e1fa4bb87ea346a067cd832d17365c1fe5e24a1d9898a7516b489bedf5adb7b97ee64116193e0db9fa17f9f22e52f52d12ff0c99fa91145f66047ada6c2f8fdfa672e9883f023dc527a1a3f060e544d1f345d2d345d2b345d27386a4e748d25386a4a7ebd86c2984bf7a9bede56df8c5b7a9de967a140b45e2f098fd948aec9ac7ecaf2cb6ff42da7f21e9a922e989497aa6487a8a243d513a15665fc0b20e9cb07a6e4dc500d2dca2ad0a2b6c0aa5fc7a81f473a0e246c39d0872fd0e0724215672451232c48e9ffe9d97b811489fa35d9eb267a77429c3906f3610651e9db9b2027429d392465f470f0e4dd9cb0a7c0a7e322d691260152195ed3b89019b6de94fe9ac4ba651daa810ec09534c8154c509a8d9f1dcefbe67877b8ffb9e93fecb2d680564c80543583cb401229913b240b99f12d190982546b01c7905f8a192c5ab852c98942411bad2145c5a53b4b0449653aba905275e58e0d202254f80a8da0d299045424f28e1f275372231d8acd024063fbcaf89895513152ef0b1b22329681023258a2d58a4486184942627867861539120c80da4e00920959dd132c3c96b2a42c38bc80f3058724368f353c5151829babc6004dd65214b8b1f2aa2b875700b8191f2062550547999314242464a0d4d596e528c9e2c5d6f284a9519368882d4a4294a0b484461a1c989dab4c2919a214c9a587205eaa58a4f0f6315149296ba54012204e4a3a94d71a2a583294da6d852c59425435216c6c14d07d651144a676f19ca1d937b8b50eecfb1c37a855121ea406e126fc15ca6dddc0fbe803f834018d68f77ba17c01411dcceee7bce9ad302a839c7636df304832f46b2131059e7b8d2c85dd65f479561ed100d03d4a8b399b35fa729f7efd4d9f797506550242292f24cee8f409541914c0085cbfd3bacd78b6b3ed97b5b11451aa2297b650872ff77dd0db9a92c01ca9d411934dd4ece02eeb51497e0cfa1b1feae4fc33930995681e24aae250d675a4ecee95a8c15406a9258704f16d22453a4204d1900992209a965f73008ecf600ab462dc07bce7ea69169f575b07095c1d119ae0474c95ed99632a0ba442857d97b194560ff4af61024bdf1972105f7cd6b284277c9b44b6ffc5d22749446bd72025d79e94d3f572eb9ef651d02a24168ee71486700a071cecd096132731c1f26cb19c7181c8ceec6bbdf38d31eb838c54058d801941b0c0a8d1aa3d1214c76cd8bc7f11fd642c5aab0d78fb0c730fa2c9b9a181a99d7f5d9f5d6f519f519971d69626a6a62783da5507ec477a44ee37346198cc25e4a550b9c71f8f4a6bf61e148ebd7588755e4e0b2c2d7f830ebc2569877e3307f7209d3700898deb43a89a4f5ed69c52117838656267318c53935563fe0b8a31180d4045925b6d65aa423264d4d7b42d31bd4a3bc5014bdb71e0a857a8f0bad8842bd777aeff41a59e38b8593607562df1a820409c21484294890a0a0202d415a82828080808e003a0208e8c321210886210886f67b8dacf1859770bb77bb77b773dcc700f3206cdbf2765de75dea751557e19cd7de3fdcb22a415f2044834f13543a00850f45263441c30c52b0a5080b163d4f9a101a8242044cb8a0d03171a2879817243f240165394191269e29120a30c840035d82c6e14b9217b0018c23f5e073718a812f49705ffc2f16be7694bdb8f65accc27608dc7fad0cf652aa5a84ffaab0d4061f862e3e0f6c3f6992f49264646116ce81fdb5d75eeb2e0ef1a085f95e7a534b1a4704eb087b057809fdfae1cd5a6bedd31bf7274178fb9eda22b8bbbb8902dcefeeeeeeeeee5e3a8c2c30cddddd699020bce1cea137fef4a9bfad3077774ec9140284dc37db07b96faf1360d4000059965b05273172030123ab84c037f9bb02f77fa6f58bebc1e7e2140361b981b0f8d641eedbcd060e72930db24a086ce2162a1bee93eda4c496b983b09139a6c3671859d8e4182ad4c4d0e47e50267c659510d8955747f8b6f269c98c6bcc2a21b00c4d4cee076b42f30693554260568e392181b9caad2482185f4a550b9cb922b8332d0c6ba9dc37138b19953b881be6f066c1ac12029f5c7cf9e6f02ab15e3ed9620c8915e12ef7edc5e506c2e67e5016c650e1e887250e80fa41e7574d2504a639650404414b5d47d8472b2a9de76fbbbab8effebe47bab8f2009d4b9f9c2a7398fdb3bbef3ee3d979b7eb3cd2e79e1d6d80ed76ba563bbba5cb2b5d5c6903e6f1efc47cea631e94013b1f497a8e649f32644f6decb955658591adb8b6e8313636965553e31269469816ea2533c3711c474f9baff996cda3c89a9a17dfa6c6b3a971d516f1e59ae3b8bed6abc1f6032d089e6a3e163cd90fdbeffe775d26b8bc52c7a6e669de26f3af8fe5b8e8983f96f1014c096c9f06abd9022e1b36ef7a126abef5deb33c52c7f51a756a481fad473d0dc953b4d3b2217d14ddf7e17ab1f1d7fc0efe9a92a7c87b9a92c7f5f8bd7227f5af92a7257e0d897a1a12ff8b4cbd75bdf83b2ef16fb9e3e5aee33a564ab512f14bf8d59716406a8a62ab7fd01bff7a42c7dcef986359add6f74b241adf61de697e64de676a3e6dabb0ae5da9495d975461fef5baacc65c665ddf7a1ad7a3c856ebc577b53a57eb45f3a2a6e58203afbd6e70e462e2e589ed1d3d926ef8cc00d793e810dcab6bbded9acf901f211866206262f4c46fd44e645bf9ca126aad2692bd8564ef5aede5bdd7953a2e57eb2fd093edf8f86d329f7a504667a4c46f91a83795c09e69321b34fffa1b34debf4a57f7afa7e70dea31af7475af2741fc57e9a368a7f5a8f7e1129f04d4bbde55fa6895f6e949a3863f43ae7e245f5e86543d484fce86256966c590f484797915fe94f82896f790c7fc55641b61d2c31a8e126a494a5f55fde05e1dc70782cf99afa40d1c6ec3eb3399999971749bf7cfd183e63da61471ade6dddddddddd567ade991fbf4c91332f92632a357eea67526349f6894957fdf2e9a9225db574d9707dea49687d59fa20bff5a9d247d10ef9adf751beebe909ba2e8d6a5347ff19f7efb6ed5e7777777777ff6bdddddddd3f3a3e777a1a3d0a5d6179809a439d1b25e0c8a183470f9e9a4f087ae08721a9437aee279f71afd4397da76fd4f7a7ee234df0de7eff951670dd52676666fc0bf47834ff7a4bba6c94ef7a12cad2f5249065eba9cf4a9ea21df2cb92e79f4485e5b7f89df25b943c45dff3d87c5952ffca1df279fec9f25ad286cc600c89fa1a92d5ad5ef51c29d690f4e4489a61c84ea1871543aee82992387674ad7f54fe2b217aba7597e93955d50dafb1452333e3a2a78b8646e6f5b2d95a3fbe6de6655ce4ea5be4cbcf90aa1f49fc3264eaa5e7d6d40f6b9469a094bde451fd840485491ddb3ee8b6c435aceea819b5deba09bd71a2430ba07fe818ed438de1406ffc410fbd95e9e7d4b8e133d6cb3ce62fed8aa14f7c36f3fe0da5937cb67aff66f299eaf5fe7d6bbd7c85f9909ba561ab2cac339a77a7b1b23f48337e48ba1e93387678ccff45f649e9b92253df22c5a7218b46a0a76d7cd7bf487ad26f3d4595353ce6ae52c763fe2bd27f86a4a7911af3affe425ac8fe62054c6b2318b20fbd719ff064e483cce9df50fcdb8aabb27f5ff16fa53aa3b766aaa7cfba11596d2fe09ea187eefb7b8f20fbd3b28de88d7f2c09dfd2bbdf28efafb7b2efd219c799a7285757eaa050210d8ff98f640d8ff5ad8f8c6c36ea361c1ef3d7517d4a54c287e811519511def059eafd757c26be7f0e9fa9de1f87cff0fbd7f019eac159f8ee4a602f9b60338d468d1d3d7c76944499b283ffa27a9c7a11f5e17bdfc83e225bc963ee317f14e99f22a9c75424757f909e601bd530401be5dbaae756cc04a4a6bfffcd717ff77abd841b15e63a7274b024c528db07bfb701b9270adde52cea0782cf98a73eb233e681e013e6a90d1c2374cc3e521418326541a64845f8908bba877998f1e93f365fd402d033e6e9d3f0994c1698468f6ef8ace6ede7f099f8f67bf8acf5f6f596f5f6757c66f3f671ccbc75bda579bb536196090268ee4a4f87f998b7114998479131df738a3f42cf29963c3d274fd14ecc8b0ff33b1a68420493532c7934d084081bce181b1bf4b4b57e0626e6e95963c8da31fbe229db07634bb83a75ef5a9551b37d9d3adbe0c83e0efb39ecebb0cfe325dbe7b1df3e4da3867521d97eb32aebb25299459bc0fe2e0efc74eaac5318ba51020d32a7fd1c5032b6cfc3882a231551034f5f08164000cda707499dfeead360d9da80fc491b041a6d41b64f3b0034ba826db38839abd6208e601d3b7850eb2ec8901d46f69266db4509b002ba052a3332558a4981215324224a99b68a22f7bfc8148948d3aa29f7535b1ea0c7d391e949be2c1feaa34367f5098dbd98551f19553da006b6acaa5598caa754d92aacbf7e2d5d22388efc24f7af7c2a93dcded30eaf98245a118f4e80ffa8a98fcf543f68ac3fc80f0b42b95549723fad0efd08d5217ad35f44811b44b094430c535210e2fde08ac8aeae5419b4ba22aab36e5a19ad9af4af9ed45978f6af6eab2156525638aa3252b97f65a5caa048439272ff2aa9cac0b97fa55467a9b3df7a4db2e2442989c9af34bda072c192fbbf9a67f1f1a5dc7f7f6c0cb9ff13eaa80c5d1ae476a26f072310064f4423b9ff3e11a9e4fe0f77d921f7e32ee3081b612f505e925435a39a5493aa5265aa4d22959c1a39140a16c243229168a4ca1085c42151481412854421714824128d4421f106c220e90653eecfe131ca1426854c20d3d0b703e5d2c327c77c4e4427a3ef89d0a5419541fb7ebedae7f3d5be9acf8f50ee8fa8a3222444442444d431755cbaa31f1b035d5af2518fe59d5a3bbfb29f78ac7f8610a6b1a5939eb76fe9aa4fcffbd43ea9b0fe9ed3de3cd6fd9754f9f85295c1e433958fc7fab1378df85546b99dc967f46c722e359fdcf647251ee57ef1484c129544a62c495792b0d019f52b506f7e73b5d292d20be88c0ae8a04bd936b99ac9890aeb5fca95a44b99e94a13154ded6a2e4d837eb7526bb9da54b5dcafaaa97c543ffd2aa15e3565da82831cb0f0c18249911a436b38c830441af3a799268a293a4386e90c0031c418620cd1da32468cecaf7303478e2d943eac3ea53f6a5862035952b0e20709ce17a22e41949e20723482933ed8b2c682524a29a5d44df03244d19b2686e41e3245b2c2a8898a4cbfab01c90a17aa8d29678ab4c45246aa2229d3ff3245b28205a42ab8e45749a3c09163478f9b2564f57be0e0a83268e9ea4cebdc74d414b3604e30b546287de1a749ae7dd6b74d653ae4faa0cc67397246fca3d2ffd0332757283864397509079d4193abad7bdb7dfbf527e0a28576d4130b12a00280d11c7486f744e092ef29f9668dd107c9173546df924b7ceef9fd2551e0a9d5cecf7eadb39ae49643070c72fd1d75169ef57bcce851a5482b24e554ae48447e72fd16f23a3bbe644e72fd1cb349ae8f23c78e1ed90c4f96ecbf23d4f35aa05dde8974750f7ecf095a724491f4a63db286c7eccef760c9a3e331fb5ffdc9b59fe44aa34a4a383c56ff2373f0f06ca39e57640282d62d675e8b0ac1de10731dcc438560c25ec8aedde0044c63d1f0e617285408309c2cda908353610390551826b19822c0346c65260c0615821903c35ac5c4745c4c4c4ccc4b1c2b8cc242a0a98c2968ddda6a9b7a228dc795007ccab5a4412037a8051c3297c0f4290c909a34d028fb83e612b86ac1b4af2525635b308d7b4e895b1a3f80691c770399647f908957e6f086ebcfddb82138289c949a7d8611fce0251b498b8f57eb7bb57970b93b12b38ec0af9153e298b8268e0b68c42581dd185f7a550fa0410f0dd318fd7bf108665ac507277297344cd4014a6912962b8c8862451546424e4a8f60b0814b1528e070c30e27a52fa39f439f06fd1af4a9496b254f19a46175d5afb9739bd03d0268aee50c17302a532a1fe8c0087d84c28ed492d477d3a75141b0b6c78529d25664bf2313400029a4c8e083a198818c7aefc4b0a4f164d43b2a7725ad438dd0f382d18f2d4788283ac20527a53114ad3b4037ea0859554e341e206929ece4a7ce4b1c5eaf5b09e6ca57873e54d845a2fd6b44e04911203284e00a2b41487090a1480a981002c50fa7cbea8f23c5b5d64a499c0af3f73109ee0fa1c07ffd6bb82c9794ca51d1161b880029e2841e264154e10104554c9064c4e9b410498519b24d149826cb8ea4c290ec8f23bb59027fcea141673155928c4801e9091bba9cfe35e8ac95830e2ef40083901e804e3fe25670c2388559363635df4843f3fa1630326419e3eefe243d49929e2d48f14b12f53024fe1832f5d1d87c49d2f4f93e5e9f7a18d247d1ceeb53efa3e6f1e35477a2793fa54e9d09f7399abf404ff6e74817f724c03c7e12623ef5200de9f26c489747f33be2d37c9157eea0fe4b9ed7a3dee67b4e1ddbdff56094a768c786f8ff3be27fc95374dfa6e4a9295ddec33c463d4dc9f30a9807a8d4cb9c0952c9d00c00000000003317000020140c86c381288ba2240c04db011480105e8c4060582a95062381381c46511406511804410cc420c620a408324c49556732d974ea6cb511d53daa32a46314d4a4d64b360d22fd8c628f46b20b76ae82ee9da08d361b7d36f5f74def78b86bab3cc0cada7961ed2980150d65086dcf8bc520ca83a1ae8245da875e37eea40effb95076942b48f8f88b410ddd770b0ec0906453760f142d99a86108049435b8b8f48198df42b46b438784cf89da07a96d85e056e4c89087e665c28dc3848f502e4e86afbb06f56b889388d9d87339e05e30409b4e24b4f58de9914f00c499388873f2badc312ae040efe7ec03c31d18e3143f7a5ad835df48f6d1a12de8dd0aff5ad01142078a009d01156b03c69e35ef372f9467cd37ae4458a3d38e7646a8ada9aff9937504e99f033c22e0a1920ec6efab14c19191f2c4cf5f0e22e60a74b89c921f79aeeac0ea41134c48d3a4efdd827e436b4585757fb2dac6daf29481a188eb668069416416f0b7568502da1b2cf096b40362d13c4fd9669e329172967957dc6ed2caf64430177a6f97a50b8eabfdaa08d9674a66c65a091dea968bcfb9877751514878c720b5127295b56b5d8cfff52a8aefa2f7cd67926ffc02e0239341ebc814efbc6206d70aac4d8a84226f1e2c144abc0c1f2c938efa5457427ea30caa6f211f0fba9efa120d5f274a1e6a5b321809199dbdfb6a00e8ad0683ae9b337095b2728a1095ae33ecacc712cc00d0c9ea1f20127b1d45be4864bcc259b9513c28f7251fcf5d45af1b2c8340b1e1f670d678a4f897cc6fae08baf0823df2372a9ca3671e73fb4785ebc83e04156c436c9dbd8094e3d0ad6ff2b0aada63ebd147fa3bc1de43c65051e06d0bd2fb0d38ca49f17a39b209d40cd63ee9d205bfd893b0180b3c61f1e364c08dd59637100cdab6b3e665f90caa3ca1af0ad3199405801e25968298466448b7ee3bafc8ea6d04afa30b1c60f5be8c32c16cf95c0be691b4e3204486d9e3604d67f637ce79bc71a092b78f1e6a5b3450dadbe1e033b1599a0efd0016ef8d2aac7de20010f8b5858489973d458d4f6da8cff6a919d5aec0e32688f92857d02fc59c4143f0aefd2f14f932185f91e1abed2c7b0e70b982f176bcb07139cdc666b26a43020b3e9d05f35b38e521222562c512f0183ec804555d12fe609428c4a73cd4768283f6daa78d8c891febc0e90a9968c439031938f404923a27752edf965503c67885b280567200d53104a1396855ba9e403143697fd086f24115b32ef8710bc680c2605f88defd3f367a145bb095cb78ec23d63e041c41a556f0c4b3c6e93bd5d977b63c230f0a854336c1256868dd634660cb81c6473eafe4eeae7773d2e52da9c7048106009d8006605a1ca940c5bec78131d590f85dbc441a20f3d31afebd91afe41e94d0981ec323d5bbf44a6e660d6aa1ce6f1c90c4731942cb2b195ae4b14860a00710b923102230319c2f0540397c3c0376048862b1ecc989ca32298d69367e342c547b98674f198e8e1183fda0a723e0309b3a029368eb08a8634740da53dc44d83640390240346034f61078e9710482faf47c302f842a5da53cbd1c01a6992340d0def4538140afd1bec7dc218af020eaf5c631f7296b3015640a1f879139027716238bcc2241c46e6e8c73b7b405d8fcb7b3084454dd8510e531c85ec837e22ab4e06b02f6fe533c0342b620a4cc2bdfb0bbe84a2df7f3e1f2583a51e585a1525e83ae4b48d78eb9337ffe4aac08d8025a63eee0660072d44068ff90dc004bf7155fefc47ed3978ee8846b24848cbbb94a76d69108095897cf5c005f84f13e64a8275b4b9f38d6d43085f2f13ab5e70c8f43fa2d51cf745985a637343ac021af0314a4bcecb7c18e7d5d65e0fe86a2506c50397b12343feb7b0234c489103ff806e6d1487c0e20849380a6e92b091734ba99e5e61eeacc72d101832c486421408bfe3872395a207691ca84a16d91bac86944882b321811001eb960b8501697c3b9ab770c92f2b93130918633287cdf9aaf524cbf74a2a8a0da63c86a666af68e2c15f23fc4664620d979749c92f4aaf36654f584564c5361372bbc53db0a7c51a81d08e20a1644d3e277f63f9e0347107ffcc0ef1391bf64d90df37a7c195fb0eff34afa937a151ef4122b2fe46addb28cfc73034ff4be47f1cff612466dc60d884564923a0ddadb3b701783d2dfa53794239f62170321591669f156168ba86bb00a87d93d7e7528f9d3b27d31e5a8141ae7ac59dcb1866a3738d0a46f66cd4a9b02fe29adbf2f8612bce005c88a9311b62059e64e9118cc5e510674b2e64163953bda004ff49c2a347b27f0e368ad52be1dbdd69d5a0c5683551f20f6961ce8c4f81640f7984379f0aa7958e5753dc2cfeb9609ca5edd2b4d657d6053227b9a4cb916afc109d9b8cf467c6a5a3564603ef61323306eca7591d85d741c2dbc6e8743a4c7a3324285e984fe3b920613c0ad497975bff133149fda52484ee89b5e5a9e3ac6a0664c7f1de695604b19bb89bd7e1639475aaad2cede7462ee2386c61256591cee15c27a93900c57bf09e88464dee3769773c75f6cc93e9333b60df36f21a9b711cb5d66f3785d9e8bbbc26155cf20cce8f9f965bb3e95638529acff2a028fde1e19f872605d48b57c8c25fd72a4b0b4a9ec2cad8956678d3414522324d7ed25b729eddf6c6a0e0cf78f90a9a407ea8367ad46643bac4ba893fbc22e283df07072bc9ef74c4fa80d82eccb08f1dd8ebbbc31542dff3c3f2f1d863c28d5d7ae922737819f2526a7d7b9290d46baa1806e6f7faa0443603ace2063b64d6ff1bce53c8f65ec7153c1eecb2c8633b07279b38800106fcce48fdc1752439fc6736847821bbe0ad7e5bcc6818322cb1b81c2e8e424cd19bd3191c3c5788ba93ecc60ab5c1a214d82f48b3aa6ea5620dbfafaa00eae654320a55496c6c3c21992ba09f898bac23629ed940f9d03e96ade5e05fc53f8d45baa5f2bc4dd0f35721ec312fb64684607ac9be422601b93b894a69fba3b8b1532aec7e8f69d9241b41f829d5d8c820fab0bf1980a41b19d4127ccb0d80da1b48aef1d62cc22ed6b891b45a4847b97f13c4c3dcbe9c24bbaf6ab3aed21ac5f380f03bfbc64d546f4fc8d2651c92cd1edfdc5310a8a7df8d215ae74208212070df844c8a55e3709d5b028c9775f337ff610eba6af16547881f374d8c3bc668ea457e822512c92217271fa1f769f91d6c1465df8dc51a5dc79db652e984327d7d71412609dca2db102446abf614780a5d3788526e50dd8ce4d7198559a34bd8dda1df97a69fc967774237c1b5159780168553dcb5ed3cf31c4fbbd7f9f6dc34c92f02dccda7db0fd99086c13181e45bacadf6d9087a54dea46d962e745326e927415de1b8c3fa371066a62a2c789309dc7535074bd63d7e2dc93a110ec20c4008461472622fe81eef7c4fe2a45a6a4ba0d55c9ab37340df1b60acb3a60477dde318a0aee511c8d8d037097d7cdce7f4028070e2b7a673a567ed1ca30df15fccaf9e83e9eee2615960d5c01c04be2c0a75d4aad622546698c21cd1a8ddeadb523a85c3d1ba3d99a09bb69430108c6886f10b746d6937a9998c875d520d04989c2a4dcf1b85fdada959509b4f77c91da9a41324a7cd7d336e1d50875b96f2f81e6040a21c5823bd95ef556d524f0d4b49482601d1d73fe2b2f90da24017cc61bbdf4b8e8936b30271ab273d80f5a831343c467303e5a74ed037109bbd0ee0275723ad1cd5f227d1a5d4e24bdb00cbb1b25490fb94bb0a011cee4e0386a0c891f63fd62029534d67add95979f5c7eee69e75d592633ac6967ea2f4a43ff49cddbf93cafafd36a0e65c95c12df0bd7716b6b79d8bd9aaf6a7981e3f19e8f4299c1beeb37561e96d156dc870d69ae13717fc09e4e36f07e99a37b2a98e50da31e23919790f1c1ae1d15e07136b2c9288cfdaf110e2574aa8d4fdc20c41955904ce71dc0fed0d1b3f51dcae715d21a2eeb0112e4f4aaf6f75cd14270c9cdb857a4ff062fbcb2f6251008bafd99c5fb195a2fb8e7d9a4c82fdde663d96328ec49e0ad11424560bdf4ba6920f5302f42271626caaa52693265d820cac2e463a4d331e72a7c41b3606920959c54f8b46e15734b94d940d084f23b6a1e56aaae85fa62b2e373b5ec80c3d6393c82b890f714a413139d093e66d99eeb2c79f378c41d562359d88a50dd6055ccab3323d351e74549a1b55398784874a136eca23d5d8a05bf497e11044af8d91e66107fba307da18bbccb3cdd0e422748de91860cde1c15991defa828c0886e916bebc29564186b601afe968b20f6715882a8a93e0bd7ee377d6bf47c8fc51eda7372d115d0937c86557a810c436414fa1f900d8dcf72c714a6e491516a8941dc5a410aa94041c41567f3790183fe23b1d800b398d5880670469f815bf3b13cb7b5af157a52d42a1852120eacd88ec5780892634ef4672941422d2ed4c52b4b701c340fbe46361004924ef7b0801bb2c7632da74213269bbf4373ac39a53ce02888810588d4552d09f455a2a13847880c1e83e2ffec13ab607e22f3f2c9350c167fc11c3b94c790cb35b54fe1f5ce5c98b72bbe6098d9a4a4aa97005e10d1fc9a8c11a985a9dc871021cdd63a2839f061f5dedb5522b3210f23ea689d752ccd73d1130bc1a9692d9bcc2c50a540b562b1f44ba7264f6c4824299276cd1e037a064b4d1af2c5a96a381d92a8c01bca5600d9d161150b06c00f5890f7833046062144b978b65b682af363eea3c3d7e0622f2f09b2c43eee94271e99894e4418afcb5455de15a59ba2affaa1acc71cf370467c4dd738ab1fb3715e919c04f4829369050984a7123d0c3f3dbc05a9fc63360c827fc8c675d474435c4c270c9015eb994488997136a150676d0f41baff667843bc2170a6db050e652d7ab2671b2a67c6b244d1be9edbf727e59edde6c38b40b8666760e25c5c8b83d60fc86a28c95ef978d50fd61ea4dc3d868cd3a4d58f9b6bd279659e49967a78540c8b625a02c31d4d7ee50cead538e60d4bf66267400ac1634a8f9f526559361a77b80acb5b6a216d50950fe1b1c7cd1bc6fb2f7e0de55fb92a6e36a196e002fcca89b45cf9ad9308bbdb6efe0f59428c521a5665945b8e1600ff892afbccefe01e96974d2bf8b6e32b544832025f4b50856604e9f78f9760baca98e7eadbebdcc45b38a01accec26c3d349333ccf948ccdac5fac510d0af9022403be02dc7793cc4749861abca632e8f3339f4d39672188dbc04353644705813b3dbef97784d1c05f6e0217946dc45ecff77967bdfdbf7b0b7cfd4c7b14d351120517703e48dcf439c70c74466812f753e4e44fb9fa3ed77d87033277481b6c89fbb677c81ab6fbd1926aec820723f3aaad92c4b585cebc554ca7666ed29729c4d1a66465fc37070952a24cd08cef9fe5e6de247363cefbc32b211798f0035660b6e6de8162b4ad7029fd32920e682bef2a8703e436a92d115c8c7df7feb5862bcf972a3902d711e66354c10b140accd0f6e136632d969ed65106667854f7211394318848377e032e18916531480e46b2fd2911663f5beb3c1a0496038b39d8390720d161583ab4a30e78acc360767849186e872f197d18db5e6dfe1635073ae470efe243c7f7a6dfbb2c4bf8c7f6a1ed811dc5e950a23fc9e93f96f7805f574340e535c31d9b44d605df81d115f8c10daaea70fb03cea37569d91e963a5d0cfd0b9ba200614115f7b8cf198bd5d3e9eb0fc121cc0ffa7fab86e430afb54ced9d921e9d428f4acb8fa7555b57eb0b6438a7759dc00c2a906a5e78832fcc47a795ad421b7e1a431c3ed36f4bf22e58a70370ad8759e86d2be478b3c8bb26762084a8930cd638f5b1d54c02824b4184aaca6955e0f06e455e19b79bc269fd32f986848f0ec403dd704e15440b163bb62c2af000bf88c4c436b902b4be059bd031ad4203bcfb675b434bcb89c9e90cb2d33f2fa3625737ffff96c78473918ed7cbbbd48f7effd3b164de5a14da7c50c35c831983383f77c69a704e6df697f9a63d952155607ca8465844cbdedd3deaba46843c34b61926ffcd45c6a78be7f282813f2467267787fc80d01304e83e6bc244e2c4fc449e4b4630591316f186c2b3c0ac3aa6090f072bafc50b8105376ec97c27cf2790b79d18026ce7694bd633825805dba4214e0dfa4979ff2675d8d4b40d1b570dd2b6e67b43057265a0dd2c5b150bfc90145d43869306fa85d849e9c4fdc4111f78dd0c2d8bc5a2740cc1ce1c2412dfd40e3fa1bf4d4154c2bd79c1ffbd027b18e7b5cfbffbb5e8a361aace7a2336c3dfab319c42e507b850ad0e6ff3b30d2f6c96b7f68434ef40b1ca36c70eed3359f9c85f1dcd3a0ec321cb11013406b1bb372a662271e43604b91ead2d27ce2482ee2cb9239ec730433c61f6752135bbba09fbae779e18a64193748b66fe49caa82552af40ac82835384030bea7049bfaf2ceb5a4b8b87695c6f32d7dd0bee6c67f1658ce30efa10c3c6f0208282d09bedf1ccac68e29c07dbcf65f329a4b895d37c33e4bd01877235be4a525191a0e23c44e037c835442f1dc7b0682b507446920fe59fb4f9ae25e2a44f971d0953d5f874ff9ec2b87dc24e3ff2a47957d9bf5b842c45459e08ae95bbf9a43d4aab6b366b3f3cff8c6e27f4c2098943187cf893a420c824f4caefecb86fba9b4d6ae67d7f1cb852b4f013656aaca0a6f2361ca2db9d380ce04c943002f7c2f8d6081022b9807239ab51a9d2673f01c450752bf6d6006b48ede848306b016793c8e05a01865104ff5a6bb03d4b58bea00d8734b9d3d2765c2722692e825d6451944721956099ef5097a7443288914c46b1e2b190c1a798c5495c7aa0f7a5b1f9ec2d6510cb45f0cb5e37ba63527e3ea1b41c560647da0beb62754f1361b5d212282d4147a2ae476d66f5e0bd74ea2f920c06bc0b49db70f54d9027ac5c8ea9bfffa89691158b708d74b9896ff02448dde342b5664d32e245ac4397653b0cd17d5d91ffa8ab329d2efc78e088fd31752f1b72665304f2031ff6ec0a1be156689f9be0e9c7fbe02c6f8e84317fdac0db89e9d071c32b8b48eb625181c29ba22eacc7e45cdc75cfa5431a281282a3eac0bcfd17097412c10f38afd59ba8419e65617d4ef1221292ff77d8dec315cc1cf0733ba84a179c5854923aa146ea9a45c22bddca84694edc2bbcf86505d8a5da47fe31676afc1d3ea427d90e68a889043dd17aeb6a39f67d77f0e06b49afba12382e9988c8a4a9f4f92726e58eb44aae2f3128a4b9cd3e471d10d50cd2eb0caeefa63eefd656bd46876b5f30966521fc81d8c2210b9dbf6ae243ef129eb878a33d29b72d269271e56a7897e06830916e070ffb079ec2f8dc40960501fadb12e31694dc0632d99fc8f6e1bd80ef8deb7d836d798dd76c748ae924ad74db67a602be43ffad84a095715ef1b3b0406e3861140b1af9d8682195c36734925911532cab8c6eca8b761b7fce0dc4ecc6331dc25082c5c743acf1bf5625336803f618e2f3c22f6ed0f34695014b66325a32ab18d89024837fabe0c0b4f887c0c7cd5bbeb39f0055e7b6ee5aa57a664959f57d49cd59f1a94888cde886d093c8646537f650cfbc20601cb6dd5b4384e380d76c513bb95b243cf505dff1d35711b1eddfa8702a312d8b29485b7e2dcbd06e6a8e12c81b04c7dc2986474c660acaea740b8b42a8fbaa8cc997d9c69a73d946ff47f2101f900c292332ef4d04bd68370ca8a580869abf6f5c54f8cf68d8e35a1c9c445e958ad597e441ef696207bdd26750f60ab70f9ad0223fbd97d13f295b367d93ef5f8d4e1a1eb508a7e81398fe79f050c06ad8d1083106358d610d8e8c8fffe8ea9e429073a3ef3776d722c1e2dce56507155ea505e9ba6eafd64c642e97ba1010375946dd0b024bac55a5e688776f0a253889efee986ff09e0d5e685b1afd659fdc7b52281cb93ecf3d8f15a092e0998f5dd162bf9ea34d9ffdb6d80ef424bcfff55514603110168e55c45f6abec5eb12ad33b58653e046e73eec29c4f797a40ffa6be02226076048e95f8748be5420ecb90d69e3b7ca66044a2e70d0755236dcf8ecbcaef7d18e3decdee6a4c69712eca90025ba9868107eaf06c27ca757ffd8c973af4bcefe5bc3d4a55558ac1cfea9eb502d3f404e59da5fe78a04fa08ed14becbed9c0b83fa135dfca1dd20799c0912d87739d7f747cbdd2dc91be10e775b6850d363ee091150a6ec29fcea3e859fae66aa1da6af970cbe3e1f235f8f224ef6fdaa30bffe50a012ba460af7e6ea30f3ac0a24485a93b3fbda66b2b516b2f626c6532f94edbeccb4763cd8cb723eb37b59e825c4122c1f0aa8ca982056d37a12f6cef6c404b39ad64be63db9dde4b10562395d67d97984f68f8fb898518be97a563627b43fd51823b788d4b3687c7c7b39c4158875a41e4acfa39d78492ca4ea4e240c02318f09da2ab9bae1b8363aa1c56c0e05942395ad33d49e69da82ee2269b8b49de031e2ea6371492ca2eb541a9fd02e790c21b186d685b23c88ddc6a2c664a444840ab1f9dc8480492aab6fbce133ca812e466f12e05a45fa72023889d81b0bcb5842ac2684c18499912664597b15fdfc1ccdd78610af6c0f0c1892e4ff5d6887113f322b55cceb297b3cba358f7cf149c4d5ad6cebabc45173f3d63d574bd035e86da2d90978c1fb7991dcb501fc5a9107c3411546466ea45ba056a32b8adba72f8fcacec48f6b7932be0ea51b24d8a916986b713f8ffebff821833405b89fe49228b8aeaf7d1e53c904d486a549680d0aa1e5ea16b44e6cc4ab5d644592245d84e043d1500e6cb597f086055b4bc59017f60dc88e8213825e1bb5e231097a69a89caaaf05bd8ef749ee658bdfe372957c81e9937ca30d79fe4fe6c70b4d9802af00783e4e7a23774a9176850ccb83bb7187def290784542e2e0485962d04e15c44ccade1a17d29d122abbe9cd7f7fb2d0225e845d89905e5145d972058c42d5534c485d1a8c41bb84a2974962e3a0f3386029721bc48158ca87835ba5d7cd0895b74ece60d06c010684087fedb6acaaa01bbce2e1d15d55d0ada1ab698d279fc6866cd275dbe9df129ed8a58de595871d16f49cd92b39f2e7f4e4af502c3458b09a29ea58f9e4693819241c4e8ce8b6cff15335b373395703ceb2dc1229241dce56e125523bf5106c8434f271f2e1e51d3f313b11004ce3cce35e42a99fdc8b28580678b7142c7b51daca19711b745364784ad87f3879692cc6853e74213c481563f92c6cd0c0878da51fa186ac12f21b08b03ede6c665a8b6efb7130da77d1c15f5412946f964ed34d5f4b599325de2f5338b8ce272f2302c83d6239b07818885932b82e98c54af0b1732d2746d60e003bfdce7f7e26a79f508e40ec87c292c1b55ae529bcd806d14ea0f189c020b3a01302dbf8b24ca10a3651bea1ff346b88128405fca56692f11cebf751e5ae23dba71a342c7cc22b5692b7b720dc30738165f393fa5ac5cc6d4003ff3477a2b12b1535b8ccf281fac203d65c447a9ccfc7f3264f626c7b0da0651d4a79222665fb8ca185810cc7acdc8321090b51a151f86087c7790263ce3e6213ea454afe0c75dd097d9113966a490dce8b24756cc1ef2e000107331470eb43a0302d729f82fe5ce642ba84136090708ec25ce373d631d317d22d5b216eccc0f729a0d5d379c241181882427cf8d1e1b780432a74a2df88dfacef09ce1b905d30149ebb8ce652325a4d7d2a5fb6d098e63e1de27d840a0fbb52963642bc7f60353d5f6a6b4753a6cf80d4128902c29a31b0ecd6bf832481ff496e0a9f65e57b53299cb3e2b5a282181e56f43b24cfc5f4746a994972f8619acadf5fb7fc61d2bdb3a9a35d36d7110b6b007c5f1ddfa7d6bc5335c754c92027f5621e35e7707b718aeff36b76985643f3ff8c3955d4862358a6d31f4433dc1d5d082557a99933d2d36b6c19e8a528e1158c24182b0dbe3a29e8fbe40b51d123e7f88f79c185b3da766c005a51a1244cccf7119648c158b2ad410557b52130daa2131a76597e69aa11807daed14284f687a95821f97eb5e334db2e83e3983ddbba8d6b817f3cbec59e6adc3e1dc9b640e3c8e56b5fb1f39c2fc6e9803616e1c5218621ce6010614fa558a0e62af8a4c5281da3399dd7e6b39d317e04c3f0348da4a4a5210f5e6a431a55f693ff0b24abc0563a40b5925bbebc80ea65515f607226ec4e7cc2e1d4726406bd8e5fd70d9171ffa945736d0646e203b2ec70f329c7920b88a2666371728c75e251f3d4825933b7fb3481340999a5f7741ed82875954c0d2f61cc3ee664dce3d42bf42707898f6cb6130140d5011bd16620132e55e4e4303da1c499ec9bcc3bc2cd16b3dc3dd2e2f96575a62522c85ea4464e92eeb7f032c1c03ef9147ac32752df93179cd2fdeacc60bb58dd0738960b9e60ee1da0ebeaaaf6d453df98c33c59c749655f39b3d6d856ec5389930fb1afc7bef65adce639baa8cde268a65df2bb402f75e626508960f80b75737e288e9a7d394a21a39c5889fca60af2e4074329f14bbd822dbdc9dc29bfa8ae7c76458e333ddfbf8d2f0682984243cfefe41dd0161a519ffc65ef19a47536b5af833d37af98137202d44e48bbfa2bad789eaeeb325951967e7ee109b912e5bd4b0e0e98c46062496e5f5efdef072e6d8161ea24b7a3dfc829137c12f2062f011627f9249203d3bbd1b8a32437a3dfe4c42cfe13726fe72100c8408e12e04c20bd86650900031b47f2e3113fa128ddd7e935ebe03165efdd5c994808394b82fd6b4874440982a1e45648ef22d584b1fd7d4859ab8ea0c33c5a9db9d2e1885ff3c857e6844990b66f6416694462f1352f2185480daa090ff042db0b2c3a51ec27cfb83ac80aa9e1cd177da8d7db9b1d90aeb61c84621a7776925fd4de2776e5b729ef21d19352ef80cd0469de7229a63f17b29e3f82c1ef0f27fc6ea60fe916ea20953a18581516b656f9662652d9f7bb92d183c751a456f0d02f5c7132c3258890d9b30fd5fc4690d232ff5eff415f475a55ea795928d5c4aa1ad9202fe04ce0b02c3a208a2c905cd531855458188e3cb208bd477680ec95ecfccea4028c53c6f9144a4e5ae5b700798ad5b7876009e6702a33a88b394bd6ec376133e70ae2580ff02e10cd01c79f7dd1a3bdae0547eaa7cd5ebbfcf21b8e6e72669f8fa4db6e5adc6a233114f9999c0834d82e4b52385ed8831bb9a90435933a0945bb13ae4da57c553e66613c502f2c196f31a567886e6ca8f3e63090681ef605c98d521ddf5426b12aa2c39ca00e048984f83776d49b3f59148b1315a9c738e0acd381dca87a16afc8102ca616afb68bd13618e51878ddee608c1b61d88cb7955e3ad258666793b43f149302d66491b2d1214968d248931b858af9c65efbe750c42f2cefa50f754146dc28016d2a8c1e3a110402974682570d49479e249ab7a4309c49b8f884633dc771d2894b68008fd341a4f0a769107dd27d7e92b093b70361199393d7c026f38d325c0ff0f328e9c8d3319229ad9c01b41b5d0af74aa5876a0a9b1637344c93da24dc1e9bbf46e9798c67356bd947e7ade56d4a9665795fdb7c143b8a675a89cb0d4a25ab2e64838bfea7a4226a8d3b4d3027ed31927c9b6682b942c8379ca85f035afdbcb02996c1c55a35f28a755c48f991457dc956ca3fc4386de340cacbb332f3754dc969eb74fe5cc222a1c6aa7a9bf3895aa0464098e73c009896504b7a2b9b97c4210626318e17f3138d9c623b57ec2e6d17a8002f7ec5c9d726ef17cbce8f70806a6f2df33d41bf827c460019a9b1650e50b52f14e33a61292e9c8ca5a65979a6c062030335e22c02bcd4bebb0ceec1ba5e79efbca291fe15c9e106bd2aa62c12a9f6bc3f2ee56377d187404f0e1fab0c0752e11c138abfb644b4c2c6257537b3601d4ea68bf73146ae8cac22b0f04ac9ed68f98a7320bd9444c0630d2efc69db7cb943671c672925f230be75e36d3248324c9601e58738903d39d10d32d8ef339735b290d0e1b8500cde60e3aaae958e134f6166d14442e229dac7540759ae4b3168d715844169f320552df6f3ff718ac97490e95124f8872081dd2e5f67e78dd7221ceff96575d8abdb3b7fe966eb4b2fb650f241fd9be918c19741377b466318755039aedd41442d3bad1d2ab8777a3bfa5cd9a2d9baac1dd51de0d31ea0a4485afc4a274e5801ac228b60db2d66aa980d4a1c001619e23277e9362bf904f8560595c2731458675fe412c849856e049550b849a922a7ee74fe718d01536f11d2d8e07626062dc9fcd10c911d468ba532026215042f00961c19e82e87c05f85d7a24cac5c027340cd49b2d9f609b47486332a6640a209a60f09454b7850995bed857eddbd3a06f504039cd81c600050496c2fdc5494ccd1de43310ef03388e2467b892a259c18c4c9c2629352b9275724a2367a9a536f101c472d6fe89c1459d3ea3718d584c9f7fa8d675f82d58cef5afebd536ef2ccf2e28186353f640021ba84564ce52692d1bd6f871faeab792b05ab2b92fea72aa03669b9beff5401e65c2d50a648f2f143b392690474f4a29c080b5dba5b8227f9cb788d58e27b4a7d3ff9a5f333336707913b66ae031fa48fa5a0dec80b29247fa0fde0d2a57e614ebd632b688b6cd53acb0476c03c088b277dc3b88112540352db95376df6e56e3fa3c0403ff2a83018c0e373880ec3905a044df8de151d0b99c3cdcbf15486e4028b166d0be8be447297612d3a73c24f63903fab47d72ec6a2db954e6a3e935070f62f33ab39452d5a69053bd4e2b4fdf1bab1738a687416be35ef2fd044ce64762a0440a76fa68973e1014eb5f7fe15ab06808286f1c9480d641a351674cf1f63852d5990c4b3ae1b4b2838fe2a50df157fe8372cd508576e0af6ac105a18bfea3a2f6da3075011d7ea2ddaa522bc073d4d273cb37506339727129693c179dff521645b7366008483180550a9fcd571d30443084416d8d4f807e0d4a0cd5521588c51b605f21cd0f16dfc342ab40dacc83679b0954cd39acd60bd9feb41bf841e0818cbea214470e046f45cc269e5dc7970562a6a72155f03dbf66653c1d7672b93654517651e1058e0b1f2570487dfd97c0b5403ae1d53ab30d21283f0baa60cc71dece6d7d879327e1a72aeae3842115d2d9e67e9c37ac0a7cd4841878b22b6389df3837d38d42d4fe15ccd29de2ff752886c6b9390960f4141ae22cb9df077aea86d69d91ed35c8f2b29a33376c4e87325b435c0603e4963af19c459b3cf8b42149c1cacbc560554d60e2e5485f319c6ca11c20106d3d1b629d53234cfe5a67e8a98e8ee5d5857e7aba9f89b17f80fc692477eec7ec5821ea1c75017c6d1de0f70bbaf492be8aa5b49fff8b9c600c6fbc300349f4cb43800fd33b0314093ac95e5730ff6bf0ac8d39ffbb76d597898da8ec3dbb9adb2fbff5105a3850adde261646706a16c076ab48095d8e53ac2255a9446f10aa495a1a2a0652bbe7a1542805c9c67c7d1daee7e37664c45970963ea447890ca2da910dcf7396a927db98bd4e6cf6e7155a6021e16ede4addfcbb5a54517f360a76d55eacd648a3a7d9ee4dbd1ee743bf76fa6b986f65ddd6a5fdf283ca2ddb8c8da5e16096d1682ea0b4e33428251b1e1023c0f8cad812ef446fa7ef55235a68de4cddc4adcfd22a38629223e14d63d5a3bfadd3e7a096e277fab8945ae949efe4fe64ffb7e62345bca15d0bf6a3b89ea021ffecc66f38044fcf26f8b180758066dbc60aa88e15f84064a075a54398e922652b811c22b3934c192ce59d635a2eef55918c4e9f4cdf0000f67411115b3187073d184b7bf9cc81c45fc5eecd6d7334583455f8771ff744b0a57195bab99b15c4bc92a259b6009bde851c65f39049b0f39ba76a44eb47976adb8541d9409ac0525874beb25f0db0eff2326a96c3de17d7d56bb231c1074e1910bfd5d5f1ebd5da2a768ce841634e119a52a6dddcf6a6c64e8ee57f42d472fc55b5aaf854306496a0c5ccbaf8ed30ca3e52ca6aa0e71b3eef1b8ecb8ed96d282b5e25de50804cae9640aa75dd47df1639a6060c7e51b15996c67fd201dbb07ac0492473dcf97472aa752c7a0a7c7fcab10d6dc2765de4f7b68d379d450bd875900f34f2485b746a06870be791f556718cce32f13bed0fb1cc96ce3ad571f7fc7e4ef2d48d5d91371c9f9ace6850452e4dccf4141f68c89f8e337fcec3edb32c22d08d37941032881f775e45601d52a9fc9386b610153c073d2ad66352d27415790e5093a3bbf6073d804782023a76fea29e986a544d31ba23f11b6e1320c65187327d187f17710f613fc258441466b96ce02a55ddedd068a02cdd58e8ed5fcf18ee28040b4fa6108fe0b11decabbfeac64e4c9523f7c60fafed03cebd03c39c448b66d2f32fea9a52f7e845d06ddef03d54f54ab2fe78b4fdcbb4e1899bf2cbcbfb51d94f80702cdf395ebe1754806c6ec04f4fb709cf779cd0ccb09af46dfed80ab992061ce7f7cb51aae126874ae72b7de1e0490d3d5197235a99c092b38f90c88b97c4eb21b06e9d622d52b65c209b7d51c2a5c6ea29732b3609015babdffcf54ebadeebd5fb9f744799b5f0e281f17ff356fdcb4e6089f7b740dfd808d8bc819915c3229bf2e84d30595c2adfa1c5f6514d83c428403e8227634b0b9790e3f77eb40116cdcbcd1ee4bd52f6df4c1a6f344b6b877174e4fece50cfa86a9f10a1baa83f2b77b060b860dfa09699d4808d76ef941b7e6618737102760c2c4790fb5073cf1f54a61c5f742b01b6b03b8fcfb1f7c8927d6d71b8bb9ccb608f3d0b39e50977a4f00a5c139b617233a66024d3b880dd034a5064f96271f048c2340985580056c7440d17fe5102d181f685bac1c0a81bf45e7cd0dd1fc6ba35e1c4e25ef0c3ac4dd7847cf7b0b9193c6307cb10963b7544e5763751a7cd3e2aec10895ea33cd71e7de739c3111f542f48f5e0cbf63539af97020baa34b32821d260f3ce7c8a86125e2c8f64677691cb37f968359a8fe0844cc84a39c484788eeb9c18439ad726c7d8faf57b2f91627fadacc7353ec8cd73efc2fa3f3d20c17b6e67c8fa1233c24880bfe2b8846ca178e2757ce148030ed03ed1ed220b748754a2141cfa22e177ae42c4c47a3f7a68a492799c11be7310faed379845e27436f3c19e29beee307a577f3e29bd435299d53d9ac21912871fa89ca103faf74f23f324e394930a8156b3a7d835d7c0e9b9290b2a04af02d1482599deab90c7c8563f2d286e9d729ded815efbb685c5f443efb5c2d2ed2024f2eeb7fcfc59330dc2668d058f6da41e336ecef0a8bf0ba9360360a2509fab7750237f7aec5b047b6b221d0b8e610305960695ce791ac1c517b2d126973f2ba367fccef294de748bfc627245db38fd52a736701d0705b74d570143dba6c6c98eea18910c9f555b558303233a638db24f5e6cf9eb59118dca5081ab8dbe0422d046f627d78cae7d6a6b974a66716a0cc6205da88d9562e1d793536530301f8f4fbbf5b0ddc0c236b1f48989e89653c309d19b8a71108bda2583b538590eea5ab109da626b286cb96beffa11b18bec7d2a189d5fe378121a50d39191de67295eed21092c6bb09248a8f9bd0939ed58265461726ddc076f9f5f35f7a3e8068b9a59ebb1bd26d25cd68b60342d29c7b25f1748c044e94a463644bf05772bc80de81f404dc60777de52dfd2d8f46dc5a5700f3b4839b289f8871789a17fbfabdc51f8f9db1cc0bcca2d71c74239db85660a0703b8f693469a1214ce4070114181ca5609b8cb9e604ba2683e5bbf64657f5180048d0f920d784465f31b621203179de43552b144e35646364ddcb0a3428984bc444a84d736f7d606cffffa7bfdfac4508896a325f8c5a2f917ac8ac4ff68506d0e6b90837bde66edfc5d45d639bf69ea5593ccdd898b70f9f7a56f4326312d2dd0a469fda7681e72f504069e2791a143dc386735909b0dbf5e95ba23f150c400c561f045684380e676e87c9ee0d374102ab030db201f63f59b68c6207866728f0cd87be82a3927c0d1044b704de00a5b901c9e6cde118828243b7d539778fdd24392096e93d44587c49e2fa6309fdc6934457036990d5e77c1b9eca8e957d59b8b77430fa82b826bc1a09276f6c072674103d587f3ce67426713b69c3f4eb146fec8af75d34ae2f229fe7b56ec55006c058cd1e9ef2e762a88f51ca6abc09bdb72258da27e36735f3c6d9d7a5d4ea51c76703e933b40d1d23612072dd8b655c9dd5ee5b3fe56b49652e2560873054536233e9286ecc14e58a9dc5700df379669711a8e56ed0795d04e79b0a5624530afadbd231be186747ab1d6187e080d05dd23046f5bc76ac279fa14ff8d3ce8aa0b8b310c1df638449078bd5b7ed441e7e80fee3b1f09965bbe9895c127614770845eeb960c4ececa9d793f7a96758c343bf0f15b9381205a8aada748ba4f79674dcc13563ac3984d067d416fdaac7dd43615decd6e66e1a3c8876258c5e1b349ce17b41086540b6a6fd58975dba2be27078e4feaa1412cd34eab0962cdf0e96fc8afa4e4e14e55fe0e6a7c3fe36af47d9c18d4b134fbed59d1d23a6e5c9fdc782eace51e9c9f5bad1ee94b25f9a759fbcf76cb6b877074e09eee50dfa9a43f20a3b98bb7cef671d4350fed66dcc5971f1ea404482bfa3d91035942a4510ad7f82c8b37a9bbb29d10203c30ec82190ed8ff8d2a244e322f5d3037c543a8fa17c8f87dfaf3cac066506df02311ea5c859e9c133db953f6eb3f16c08be82f2448f3270a533de60832c35a62c70a112e7cdad36d9daa184be92aedff31094e26202dd7790108a5a50ef46b719ff666e3925c8d7602d7c21cd22389fc5e5d1f7db18a6e1c3e368e774944f678dae0f98702498c5bfd0a37acfdc43877308fda6d14ee9acc5a2425c380ab34646d1e05688fee5b351f40d8dbf550a9a5ec9fd88537bed2fef81686bc9541f9b09a5ced07f3c21b909a662c50af4cecfc9df01a6247886fbdac2754356936dcb0c42e0d4a8ea52eed1381ad7571f7ca09b171a585fd8142c677b57e19b6e1b141615c4cc3bcaea6abef4a9255f13e864b70bd73334de6bcd096962311876a1dd4912982e5bf3e83f49f394be1298f477a1c36a71cddfecac85e48a74fb04683dd723bf2fc2959f14453ab0f8109befed263ad65640926fcca60f8448feb71deac9c6f55534cea9660658d14d10f5829a70924f55952e3f42b352556f7e5097af13a98f36e5462ee6dd23d0f164a65cb61ca98b62b3b97cd4446fc9f70e360b8cc67d1f919d13f5d722212d4e5e69f347fc3eaded8ef52b815664357b64abb49175007b49558c3d60a6763c7bf18289e4f8b256f9806ff853a74e2b20e7e8f4d098368237db2e3c93e7ac356a29492391a4e0565a205e019de0660afc2df06625465b9df5e605957806bcc80d45cd114ad9996ce1b393eb8909aa12109647c4e410b8ce10ed92e49e35dc1172970af01d3e536374baf3fc5f285eed7ae198adeba2414c0bbe3b30d01cd7a395ef7e652d0e57513526e65ccc8060bde1c5842949549b13c41c1c88b9386ff04641c85f8c92985f9869f24db1bd3806b27aaf95afbe6e461a09c718a3d7b645b551bb50220c404029c5052f89ea1fe6f0da1ad42d42c37cd248d36dc34b7383737ba3db534c5d9757c071f1cd44f0eda3b327bdd0fd0b8bff238ad64c016fab38c173f453680a67a2241d231bc12fc8ede57887719b8bd63a64e47e1602068edcc71b7c947aae842542d10234c7bc901149ce45a8abb1cdb67976333229ee8a091bd4aeb956d338ad70bf9653f75ae5b4d40948560130b32420b12af5e3775ec92688302488f5f3a719530471536af6c26f9c8f56dbab7da97b5e07f70a261f2cf466899e845073417d74f224bf259a8f4c78b1ef74d7ba71ddd352019a29e93ec01508c4414def4ab6e85e170d3abb83b91ec98340b17a9a660f297dfe74b71166de38bcbaab5d19fc41795db1f7c7670b131d5c8c0a366a2696836378d3efbd4e6be16fba972f8121500af2515fc3433d6ff9d882ebdbbd41a624e94b0473f5085097e533180b48964d22b3be772600b636da4517316923a43850803b0d026b4288f368bedf13d4efe9bc210c49f43bbfb528f9f9a6b9349018fc94cc7a3da451aa3314e099eff79268770dd973cc3408430e5a1f03b293472336cc3fdaf668019d231b114f545441a42f532f72273c89633e6e76fd81d0fb6776b4be22bee41edfded4088b1a9cad32bf244ac7631d26fdcdc062210acaae5c33b237f9af45b31d2a8975d56d0796caabda7bad1b355b18426af73fde37faf8ea235847d85e1159309828e71acf1972395dbe5d79db01243dc7ee0785df2de964ec2fccac11ce7541d34f5e7a916f32809320f04e1f1157678edb14ff9ccbdabd6a9e299fa9b68ac98ac525dca5d319abbd805f79a0e9b1cd25442fdd53399cf6055fba31c97c837fe9e3f274edb867bb6b57a96d175c8073f34a8a721e1cb316e7010334e1716c96f4783d1be853cedb603a3270c3784f4446f5cc5baef7bcd3e48dd91701082da73930ebac1335737b0196e8bc73f8d12506f2411eedfbc669fae3030c0a033198988f8e1201582a72bf774f7e00a2d1c5e5373887a38631e747e4597dbe43522d71e76cb5d5e80312eab95d0946eec16589100a78e42e931d8463842ce59e07953529987989e41ade35eb474d1f032aaedfc22b8d195fad7dfde18f7b8322541ad2c44e84f7c4c8fbbbd7d287265779d2394da224c66794ade41914aa72553fc5fe55f9490b36537182114fe3eec410608c60efbaf5be9cedbb67c0e69c53bdcdf7b63f07885366e0522c892704cf12411d30d96e6bec8d9db245347d88a073e68a862b732186e8dc9f78a8b5e54a7de280225ee6bb6f5e95db7fe164433c22d8d320f9dd587f4c410eb263bd0a8dceeed312ba55696ebb2c8d4caa9dae87a91c26a2ffb4427dad48fe722ecc54f8e1afc971684500ec24012c06ea26e163024e3b9699711aaaa2ac5e55d42a380cd42350ad3216ab4a52d5f0721e461d6ad3f059afda0cdbb4971cc609e7aa22ffaf6a330deae132a7b1a7d6a4a2fcf4d2abbc99d18bfebae8d4928b4095eaa8e2c8ac0ad95b57d9bef4318effc779fe6381879c000b80e867a1b72b05a48e81ff94c42ce9aed4cbe85fad74d0b49bfa27ad0a761d8965a4f10a7e9021f5dfd19e125abf40f90def6acf8d95ed4af34abaa97ff56aa77db0c9022764333730e8564adea931636facb3025a02ae6a5a200e3b4e073f893c4303bfa24e6dd5851413326052a706646b85bb36c8fa6a16e9559bbc875023959c9958b8df32790029e510c5e55998476dadab5c25d975fad3aed6484c1bb1efb74d732577f493166a64efbde5de5ba62465ca068a067f06e314e9773fff6721e9d953022890e97b27d0136a8a304c3f6484a9a150a9707a1513b9f6457febdf4e5e3b7552370ced18b5ab0ac3306aaa551892515bd5842119b51a56781a4f09f880b5ac30ac36366208da8ca7f166f13a265c4ec819dc0b9d174ef08fcc33b369a6b13c38d80bb0fa517ca4d28e95608277e48cf702184eb939a108265d1c71fc0297137206f7c278fa0297137206f7c2c95af28888eae248058ab8cc9242bec0e5849cc1bd904a8921984addb878522b174fb87892c413289e70f1848b275c3c3982b6986913f7418f87ad1bb5d6392b06339db2f9473ccb03fbeaec2367597f7a44c821427470e5673d256ecebf053bf0cac569b5c0b0b2ee0d47fbcd3ed2422164863065dff7cf4f977d1243f034a29a503fd86ffae7590fe37e9e494649320df6b57055630c71ad0ab25859f260b8619e4956a848b2d28438ad900541db58ac689162a5c8ca5038ed4d93692def0cdb4a59b1c80f0d61359675c5cf8e2cd0da259044212777b7301442a1fa9630814737de929bad327649d27cb027a93a5a7b83b4f46b7af6d25a921a67ead7ecac85c19c0b00f468ed4d5294e4288996db82f50c50e0c8fd3f7fd00cc27a5ca8b900c5af77d20c5d52afd4af995d0953bf66a6d9ec6e6f9375b739fda277b4f6b6ba3c937cc865dadf565f94b9ad3c736374e1e970bf89a2ab22e28be2aa768872832dba639eb93148e0215d31cfdc184abe1dae0d30be31d7e6996b3293e9e3705179e69aace8cc5c2fcf5c538ede7cf8fa3f12c41e6e75f4793e80f524f930edad99d6a26588b4f9347fa6cda7d1af98bebf66576ff96b26a1119455e85ce7ced7a6d75ff3047f317b954660de664edaeece7df83ae79cb43b27cfeff1dc99df79b5d25a1fd97973ce39e7c4797e7fabd5eeedeeb59bfcd7a01b8fb9f47dce397768b8f4fba3a79caef6cccfb01d03730bcf1fb392de827b291a9dcbf64341a65f2dfd4bbf45ffe997302f993e4f0ffd20af232ac8f44b30817e0af457e8d80e204fa89625d32fd31470089aa285099cdc10c34cbc12c6901857bc7062c38c7a5f32fd6e62648a449fe62835ca319a93d034f41ba83a319426d34cbf8b5c868487324fa421061421c0a099d1394615683041c4162c949032a35e12997edf1a07f63002a51ec86490e805b98ba6f020775f4bd425db00644bd2dc3a0f61e4efeb573d1e94c89ee73b7424cdad979c83d2cf65908227983c73277b5e1dbdaee2e894ded8a5c76acfebfe040f07edfbbcff3eaf76f96d5f74fb7563fec81bfb9116853157f23392ecfd21d99be9e84cd9e632951d4c982ceb5bbf68f737d3192cb973bf437199cf9226494a4d619ef030eb390610d208c638c368cb15b35e22f77b17bf75b3feee6f5ae93a309e226872ff4fc7c48c048a52ce08a9cc0d5c10cdfa8fb86c0062d8a894a00a1b70b861e6ddf2b80293597f41436172a3723f2d727a147b654b73616853951cb3b97f726892cb014d113220316b24548c4a706ba28ba51b80983512b96ff6fef6f7d07795be4511fb3ad74a1dab60a67819734b118282688b1ecef0e0821910287a28e2052cc03082c94beece3dc61ac8498730d9bffa8f178dec5264af02263b98ec3b40c1399599168d1f9e7cc69cf3241d8cb0e78c71e71455d2645a4ba452268b96c7155f8066de7bdf9d7cbc0b4e4923832049f33c1b7ba06cabf73d91bfaf1ddb51eb9495404040496e4040b3fab573b96e0a0cb9fbda319e1b47d0bfb174692da67c6ad2636f4faeb98e33cf9fdf37c4ffb66f911d0929d9bdc6133810e1300552941a90a2905992c245bce91942001444c9c2962488202c5698d85043175daef8a189238ec842d582f9a36fc87580e3e4d3b6d585154f1ccdd0e506664bb5e2e50a334b8021e6045d92a00285e642b1ddb05fa4b4be6957dd042cc87e45f6b74f64b771bf5c61436b40c95285cdbc7101924268491659ae2c590aa3c48b15195cd0828b9731ab9d326af0228665020a61766f7f5159eb7a121c805082a94a135bbcccfcbf633bb27fe9322443287581430a5c10820910337f98cb2a9005062a4c426081c614333722bbfb47c5114ddf1097b5421e2ead9529ad7975f2f1fa35d4dbf6426e2772bfb55191fbc71d66b617e419c609143929f7974fa2e47e9d2db37e9e9e276272ff071d9b56e4fe2056725791540234e64d958b41588368ecd6a1a554abcbf7496122f7d7a2d94c922246ee26727f2b4beec7c19294830a724391db04583201503dad564f2abc0ce1f1dc6c48c107272f363c81332ae1c5ab41342656b74128fb97104cd7cee49e02dc3145d380456e1db9499a5bd68dcbad348dec398fd5b221fda27da6f6822e639a90187303d8058d14524e20836d076fcb1730c459ad0070c1a5b55ab4556658a6341441762a4c89e1288b29330441c1dd6ad703609e36d881fcc5a4cb9abfa078942e5b245d687c9a77bfe441d28e7387d62e471c2448ceb3da4badc484b4b500f3670f1f5a63a842b21edced569554a0980ccbd1919791c647accad090b3a0e946a6cfa39a361336776cca157e9bf2a230753292b42624486dc8dca1df4ce35fdcade4b23ad6c0aae9833e0af7983ce88ff8ce1d1b5c62d8dca11f629e1e7f09e9d2831a3c670f9a8d4cbff320d3171330cef92387882ba07da8f09c55f2be66a20845ec6d8d6019507ba9955aa96f535aa9818450a8a2037a0cf8caf473a0309eae59d21f454cb4fa10d6039260e4a78892119bc2ad071819215023507b9c1938594124a746401551c465787025b1224a61e5015d98499366d9e2ab6033ea593fdfce9f1ddb800a36a7fe0476443a56573f5fa42dde601badcfba928445ae2463adc895e4f6b098a8f52a3020a5966c75492bb6fe02b378c70b9b9d30c55151758375b01c1d71d1c2454bcd69bcc11c54191a1ae26888239b1bbcc349ad66a5a8eb6c34dde0d70cc444abb798e866754383ba54b5c0a3d9a357dfe0fc71fa6eef74986577431d7e8b7376a386038717b1cad9888956dfe19a28a8e66ffec3abd5532f7662a1cb5ee1edd3661ab1067f336fd6cdc43ad6dce0a90ae70cc4338bdf783192121875696287285f6a3acc403c6f38b840258718044b49ba50ca2becdd9ce822cad299a01690442913851867344d41029a8976bc780167b8a82246115b8471660662efd6022939e410b3204650183ee4159e5f608063d261e88a1818cd541884d9cc5901d4c50c4d66f8023413bfb106fb4c0cc71a4c672a1ca4fa25b0598dc7f1a27863f34b6033d6df7851c70dde60a5c27ec65ffd2dec4dfe6a37a302e11ad4affe8a2b9395127387c7ad993b3db60dc6d80d76a9acbfa80a2994e5c9e77b32c7256dd095ef92130513beb27dbcf0eca47ad162da0332751c92e7c268713b26b44ea8733275fe06bf7871d09525f8c60021982979a4f6a03fa9b8738335e860bcc119f0e0d1c1788371cc4e98042339601c04a08353083c289b19ae4b247f750b7fef4b4c2766cc8bba0433636e6596ed49ccd8e9fb6225348dd9fdd1956e306b6631d1ea5bd88ffad5efad6a5e85dda87dd490cee4afa232d3a56e354864c7902efb7ff62861507a86563d0210c08f1f350ee4410e24248800465ce6c778f2019233c3c404e406af661f26fbe6af6e9c931a1353a3f9a0274cae4769ee50fae5ec1fa32be84e20279fef41d00a10d50cc444ad77232277d2af3e722deda3694dccfdacbfe3fa46f32227fd261be32c9c2e818c2e25179719c088cb84e932d7b93bb3b8cf60d1d265b75e85857ed64c4a52e826d918afd5e8251dd72fbfbdf3fc07e307230acf9c4acd2e765c83c975d9a7fc917e1ba3d3811d7d0040c61b8c9ad953ebbfd68738e771ba6ca9441050a7590a7bc0e2b42a0182cc20279fef73e84a72d174d9293c33eb9b859848f5a2ea519848a89ca94837eaa02b617b11d3eda6a6a02b275b3b516f334c5d9e993b467ed4e4b2d6373553ce279f8f48e87f6e90764c74df9b9df0b874dd49cd5e1c009275c7d988cbdc028cae162e7d21208c1e06f344e28a208c37b89b7dd8c160cfb912f6a59548125d926845facd5ffdac6b494742e21ab52ce8ca38e2ea9133c8dca13dfe120b1064bcc155481e6fb0fb8cb3f106f7ec8489ee5b4ce446fdea4f610fd8ec5e94e6aae065d1003c4210878cb363b2b1e3a2453665b29e2e5ab474431cc5662c26332a2aeaac14f9983e7cc4a24081c233763af04c1e9e503cf95861caa4cbfe7c32009841920af57b10247103188f0e767438d8f1f2a0dc40447d5f83db8b5cd68303bfa60ffa3730387dd0ff30885b382a5cce1ef45b18e62ffa164f1b3b997e0d3c670f1b3ca707b4d39c3dc405e810a1e5837e4e111dae530865ce16bfb2c880068cf68a3fe3141de072e5e418f978518e1a958e21a1307f18712b4539668e46d158c836c7e90035db3f613abbf97387be9833defb2026ba24a53f3945723db8060bc144baa4bfc24522304a609c248cb363e204467a53fd19ebb7dc3792466f4dbb54852f165b0b50802c1543f9388d3d603cc410ecc07e5e57bd6906937e77cb3387084624a8768014220dbd7aadb5babb7b05fdabb45a6bbd9e57bda7d55aebec4e3efedd241dab8ab8f41d85569e3fbd7e6edbed37fda708fe27ccb1cbe9eeee5644d19064550dee64c2ec793410cc1d752753c9b857e12ec69d8c3b99aebabb3b99f10a6d5a3dcfab9d6759eede791dbbda79fdac8764c1ee0a30acac50645997cdfa81ec59acdfb3522128d6afa20ed4bb500cc30fc2f4d47abc101c03522e7d57941a568a070663d9a0744a170e97beeb864bdf65c3a5ef82726374d570e9bb4a70e9bb9e5c0a002fe71f00197438ad593bc64483f93e5a97934bdf6523319e3926f6cba559dae31d3f549d3b3d9f92384efee78c51f2361ee7f4151997f6afcaa0fdab2f68ff0a0cda5d0ba28b2b29772685d125d33c73662c916797d7d100ca5fee7cd10626aea501f6e5b24ee31497c64a42e285222ecd22a124d3c6dcb481cac8b47ac6f6d46ac416997eb5779ec14586cfbd1c65fa259840a97cfd7941a3a32d749d975bee3c6a3b2e4eac48e2e245172f49ccbaa461c5116292bcf090bbeb9ece8df022bb93b4ce882e1b648f7a43d47be951b6d6663123d3aff6b6be63d5653058c75ae6443c111b337d23474c48418515282d62884c6be811d572ebd8c52185d17243cd05e97795be3169a4ceb5529be958f8ded36f345edbe245a6ef4e1c0a7d1fa26764fa7e444f4fe98cce242382c8f4dd8c9ff1a657a65f853cf5f4ab13a01ad431d4df140c72ea6bc77ae8c92785fa396301c8a8479d7c50a79f5ba8e4d3d713494391279c4ea73965a3a7e54af6bca42d49b2e791b451bc6150965918be3df984b70826c2f8781634638b9619085e8f082b72fd5a938a20cab5d62b6b2f4daa4033b36f67bd443001a13bf9d4eeed94cd5977b16491bb3bcb0fb9bbe539481fe54b513d50243bdd1d470291d6c0ecaf82ad75ec7e281a0384122740d48005104d591c3d6144104148494180894da48a842b53c35b4964fa42a4b1620829f20f2c4254740b0066f42000ba23e9d22aede6e808e1c4a66f05baa16f5b372378dffd8ffdaf23c1f03f3204df87dff7e187e086921aa07903fe44e2cf59371f4585891063570cb7cbb49a6bee6a3f4f05c615c3ad75a9cbfa947c395199685720ca30caa18caa4cfa357559ede6f77dfd1ffb34d7a5b7c38aeb79ef38041e822bf443503f7c1afe4ffd90f49e923ffe20297a4743928fcc1d6fb6fce5bd0bddccfbbcfadd1d12affe8f3f0dd2340ad1a36674e9799ef7348a267b0dd499e0baecfef7b44f76a45fdf7fdfcfdcaa8ffabef7a82cc8f7bd9882973077beb7d8022ebb00a5403040797c6fb3088e9fc533d323772a7464fe20f3f729a850bf85746f5aa07c3f1dc7984b9bb99f8f06f9fefb5edc71c5d5e9f2fbb2cb8f03f643e86c4911be5308a97c64ee7cffc2e2d2662e4683fd74ecd3214104fba91e97dd58f26604d48fff83faf1ad257f4ea7ff5e4ce18bfbe47d232876d5694f50b4a8cf05c3051f45defc89bc11c99b11ba1fffa7fb919cfe0a49da4f1dc914fcf5b9985c900c61665594b9f36da0e6efa794cfc84f975fd97d7dfadf0766915acfa2377659fc3cdb55ff3cd4fc443f596c7197c56e04b1cda2375a5cb3f855ef8e4eefb3a8235d7eff65170c777e6fbfae4319be0fc3a0b899e4cd08df240b5726f9e3df912cb080848aeef7efdc695f5154ee67fa281e2e75b2c949ab10670eadd662140233367f9c1ebc30d588b2f1f37b077221b176ae24ae24f6062a8da24d189b9ccd693c8141125162172d5a62108a41e89e8c8a8aaa920ab44a458102a58c34decdb9d3ef2316d7327f5467c1f4a6164371f535fa6663c9c6c9a7953a4c64e32b26f2a07eddb7f1348642611a348128d0bdf7dac07376e76c25a6561809979b511940371c5ca032b349adb00298a210c3c3ad05527298d98818041bf7623a13f106c4efc6cbfa25b059cdd77831c708c57da8cb2a4547281bd8b5f8ad4bdcca5d981ef42f81cd7c04b3878f7e3ac68959f68f50335b910e347bd06ea639634e65610597ebe4037ed09571d42975fcc5e2c5575cc85578c9cf3ca87db8d2520523e39879892b1c7405859509e3ec5177ece080031d9d8bbba9d19480bb31e5d8e18087d86385dd06bbd0f8fec28ccd588f9965cf1f600b3386724135e23257857dc85f6d26cafdd4430977883d371fb1984c466408924e2dd64ab29e5a952e87867a9c6c5cbf6e43433664d0954a9dd4a0cc1e75ccd17105dd9e93cff856c01e9b5fe13ed33ebc95dc866c1cbd8df4c711e88e20ede9212c47474e6a44aab7c15da55f4cb797da47ff0a07f599f6d143eda39fb6d2ed76bb47585aa6223d0828367e0c2c9a3fea075d764f99d3a353eb14ee9bbf3cc885ba64d220e9404157409e0e60add50a3790bffa3ba86354a7cb32e757d84604d27df05d7e3980930f586b574138f9b43884e58800e3c5b4c983847e66f336b897c8560272591f1dc95664d09511a755a5cbb268f6586aa6a31e72194ece1008271f304883305e4c99ccb070b7146ea4d9a37f8503d07f5b48b8cc75b570c7077173eed0c2b7f6bb5302c017bf9e7c44f2648090bc240cc65473081ff44a33f8f6ce4492d2046420830f9e00de5b83ed5ee820810e197430d111c3a5af03864b5fc70b60586b4d87908e11e858a2c3051d41a95b6b4d8712d5aad69a8e243a5a608d3a806c6ad45aab61a3d65a1a689c614619ae185cfa2e1864a041ad350dbed6dae35a6b78925e2347579a4bdff5821c9c93438bce8ae18334e73f88d720037ac9d9be45377577d702c7d78d6feddbafee64acb5b68e9e1776622786d556cffbbeaf3689345c41cb4677ffd670afc6b5d17d94bae7853ad4b8368690c09a60584bcd5af26ba3d61842024b89b5d47936acea79abb10626e4f27825536bf53ed54581290f4ca1c878e314abb596e80babfd4071ce9df0bb934fd7bd1876605b7ac657bb6f7e64bad65a7fe8baefc246afba9319bfd5aadd4581293085aa60f53c6bad4dd1d40ff7f45977777732ee5ee7d5fa7ddf67ebc0ab02533a3c3a96eac2c014aaa533e28c3a2d9db1fc51278502c9e88ce58f3a9ee74d56654dd6b52c186cb2c06b4156085a6b2daa4533e127e51bfac40c4031b4d65a31b416b4dff77d523aef3e1df227e280200e0e08e2fce380204e085a6bad0b40fa51fa949cf4bda36268df8eee89b8d4c9219363dfb6aebb57e9f77d5f112d40c30232c668726fb20231c200e30bf7265eb83751c1992edc9bb83749011766b628830226f726ee4ddc9bb83721a345fd68c0d97cc0d970369ccd2644b5194dc1e16c389c0d679b82b34dc1e17038db14528c4d8ccde66788b189b1d99ce070381bce86b3e16c537038db149c6d0ace3605679b82b34dc1d95680b305b134260b2c94aea8d566859830555051ab2da9565b6e0a296ab5d56a8b020c144f3881d444adb65a6db5da6ab531b18487af74383bc4d2cefa795debca6b90c19d7564a5953acd42bb0281c34b1c0e8c8e4eceb1b46cd0ea9dc6d48bee8d355474a83653a04c288f1ec5d4dfb624b40c0c14288f7ed4291429a594e695cddb902cd049aae850af54b7ab89630a944953538aa435d4a9080ad4482469b48a871d8d426980c11a841285d2408d68151d5a53b548d4dd0822014f7f0ac5b09b52b1ab920fbd769f0e58d26fa45ee78ed3f21a3a15d210caa33f6b95a69939c190112102e6a788912114880244402202e6a78811059c6112810898ae897bba63397607db22d2e9d3fb0e91ba7b303c888037a7ef678f9c29d27930223018058d7cf8878411268f7e8fa44d30727f473660eef47b11ef6808cd00cdb0b84e83a97ad8037bda66d8cfd10942613958d022997da0f5700f4f8f56f6a083dcef3018939341bf7f8e7736924866214eeec407cb2ad210c43cb02e7b9a02d9f9481e73a79f56e62e575267eef46fa0c4a5ef613b1625be247143c24bad4f8ee8c2c5882db53ed152eb932288c852eb935a9f60194288208e80f8a1d627b53ea9f549ad4fae18e123f1b362f8a053cff9ff8e5e830c5add3dc1c4e9ee6e251c4de18d50c4994bcc01bc0fd9dbf76c28a6001e3798b2397d7e98c2e47ec2bce7bdf7de57775bc3cfe2d8d1e2581cdbba16470c2d8e6d5d8b03daaeebba508c968db9525d9b17dd497e1ad4b2a517e4f91d984048b0f1f36ffc7c5ab4020b356cbe0a2042288f7e123a56f3f38da8502996386965d9c0334f1649437203a7d0a114afc6101618d652ad51ef1012584a39d692dbb06a5df98ffe35fe22ecf2d8b857c79a6e05bbdf7327cefb54d7c1146ab22a6bb2ae65952062138e304d16782dc80a416badadd13572107f7ecf1ff4c3d9791d47f1bb938ff8b3635dbbaeeb6e0a6a1de70ff770a87bed4e69e74e69476957aba0502924155c14c0b0c8f34798325891f96384553f41a4dda36ccae6748091292ba1c98c970073efc56e744fe1d8a450a3b5d6a2684a887bcae11baaafb3993ab95df3d5321eb2f2b4ba437d9dbbbb2743cea7f3e9c15c10a5337f6702d1a13ce68fd3b593c5c241a4d407eba3ea8bad1167d4a93eea547794d772d9d519ebd3ca1f7572577fd1439dc6c9aaacc9ba96c5d303834dd6b52c6bad15b7086be8bc069bfd862e7bf7850f8aa294eec3196d72ca7f1c1cebeefed510f6edafc3a13cfa27cc5f52ba137140100707047172bafcc701419c10b4d6da167c3dd3c9dc4f9359d6531eeddf1faeb3f45ec4768eb3f4ee2c59a3cd09b9da1c00675cead49cf6beff2990fe4cfbdc14e844cf9b7eb34381b6fbdc3bafab5ebbcfbdebbcaeba77de85fd119173f970e9bb7a70155dfa2e22170f97fe0e9fbd2132c455e5d2d7e1d2a7e29ae21a42d90809e232c1adf9a0c795832b9a42a8e4ebdb687294a121100000001000c3160000180c0a064482b12c4cf2302aba0314800e6596365e5a32158863a128866114454118608c3184184390314429666cac1a70b6280673f2a0b87ee6b00919484a1e2e4b268c31a181ca1c649666b689d31fea039fe411060ee01d1599078a76324c3f3d03b5acebd94c6634aeef8e3c95d180cc92ff8e5956955133b3d5e335433acd8e0e6d51a57ca2790723c23ca52a04dd61794e172803f1f45e014ee4337258326a6b276704f93c6026f2c559f3e2540c4f9fd4af232dc50893cdc824c74821afec36ad050484f2442156adc0817041ee55067e31d9d8502a48a0b4f11b68b73ea04cd3d0a4e250670c21ee750da0bfe01961b3128f2dc87c12a06c21d58097faf4171468e43d51a42a32947c25d2c168f00b3225bf9f41ce0a076bf2ea5d6d201c5aed60dc950536425d3be1b9da898c60edb1c2963ffe350a355b33340b4ed25933f3098fbf370ac5d0ae7df24796f838a9ebec160b82467fcdffe68838f4c2c3580fca211e4d50297a2e5e738e3406efe6080ac0d636185ec09c6796e6353af12fc385aff25a4b3dbe97d7a7be66ac5c9724c47fc9657de57d1a969e1b80636b81b03bdfb5c513a387a96a99bf4958023aeef400ccbbe6ffd7f6004ddf25bfd9e89833808b24ff25dc78ff58aae9a5fa7ad7de7bb1a940188dffe296c68c09ea1bd01f9987efafcf1dbeec0cf064fc5b3241d674e7647d3f9e6fa98d71c55ada20098827c3071e55d0b3e673ac7b0bbddefed699df862728fb88c499fce1f18fae81aa0531b94ab969b2cd66ed517f2d948090e8383cc69ec2b5f73bc9564b5cbb30fbdafcad99ce3ed4aa89f599c62b48bdc41a7c10ab157301a3b51a8fe27afd589725b0ae8c69f7535a8f96355ee3ca649cea1acef54239fc586a476554cb061dab4e220b870aea746586b3833aea816b0fee2666a33a01602415cb091e2757cb1429136b49e322aec9ba6914d81e0d16422c6225907214e8874e23ee9ccbb4258770268cd11753b522a3d54fcb0dccb1d5e7c1e45d70e9e094975b8c444ef3845c7b3343bd64b05860f1b3ee1eb1997919248872a3596404bbb54c8ddbb40c4b0c37dc905ad91e08fd8023aae61c5b1b938c087f1a1e6bad4bc8081c0a289bcd8cd3c5c7d3d24672cca0d2f66b75d45f23f240ca337c78489ed6fe97975246ba44a16e4947f080961763d9008de828729ccb49e0ffb40694d7c8209fc5adaec09c12b410cab8766c055a8ba0fbf74ce4a68c0fcc40c2fb82972f54076066f7cc37d01ce43a4cbe65846c8db050334dca30cd220a375ead99d0b37c23fe5ee061d46bca4d341c1d5d51f022899fd1cf9ad735b021e49461cc88b71fa0d037a7ca40cde2c29aa758d5f8f9161ae11ace54f7e2b21e0b328b8d99b501db3c312db493caa2179e859f660a11daa55799c51c3fba82927b4f8fa4cd49b66dde989b2b92cc2f6f95a847fe120962a2ed043885a6545a809c5db92276e21f3934f939379b54e1357ecfa9ae5ce0d1f4247dcd5a1ae150afea42818e23c5a94939d674882ec2dadb9dfad4ed23b068ee55b21660510ed81120031ed0a5f7d2b550c6580369b2e62002154d8f60e64bc72361863597b6d89129cf6dfb16821f8444b81314c11b7cb2abba9a13bde9a9113536ec970f6555fa67a4c4b66c0358eb69e52c741161c9bef47bf5827a3ece3ffd3646038b0a825bd2eb1364a978824dea0bd6b124224c1445502e4b3a88eaaeb7e0f0fdece07f3539bc59be49a040aa2e89bc70dc85d25ed11657a8b136f8b74ad73e31e1f9b47a6eb5f5d2699c5fb9c6a1273dd3ad3144ddaa3e97a0da81353ff7cb5204ff3b64705d30631555c6f53f02ae037022b237574add4a5524677c21553b3def29e603f4cb349ec1202f4a464a09d79919d607fed357be23896577e7a79987351dd03a08830833b7ac04fc23445c155d5fd016c63122fdc5dd6f6d2867ea18d90202480f54c99673525ea9c0c566ecc3630c44d841bd76a14ea925bd3a4c3d3a4a7cf514db85dd742a79464ccb3e5884a76bb3fa4b50277fac68adb406feebe487ebe1ea07ea3321b8b179839e1b1bf475c3443b459f798158770ad5c7573f56b31671fba773378a45a5f2bb873b558c938fd878918d75b8a9ba0dc153e861e3e9d76394bbfe61c5eed21c476677f3b41d37383ab7f4b4f188cb338aabb968f1b5ece9f825781cf1f244eb5a4e83b2ba358a45a5faf988a5d78d58bc3762ebdda13b433c2ad51fb518873b6a6ae99d0fd4d4e8473f5053a3773ea84e04bc59efa9a588ce4236eacba76270eeabae3ec57c22e4891d2b6dd3bddaa529706a33ba8578429594353633a9320369cea295d486cc6577ecc96be4cb63d4a3d708182fe3c5b2b559ca7c6df45410b1c74fadfcd68802f60fefa17742b9fdcc3030df8afcc564045c93e45438034fab20fe0b9c76d16eefe0c2ff33d24c643b962703c6342512e76adb8dffa43e9cfbee4425695de0fcbe8684ad377b63e85f7ce8fdaccb9b1ebdeecfd3966c0caf49b739b35c58be90348476f4115a794b48640daa504b761de2cfb2ddafc1d096907ab59d1632a17d737e4306bf4cc64e5aa0106cb8cd72caaa5a89509e605f14d6fcecc0c97de7c6159898e02712658b655a38e2f61a863018c00cb037cb12f5dec28c5d6b9db052f4178c89e9c55ab65031dfdbdeba61a272c445ee5a0c2c23eab05353d9c0f3523e0eca5af0fa9e36fa376c8c062f7ae3cebbd2cf54ceb2fe54afd6df98ac1fcebc1c5cfa84035caa84f337863c9ff3a405081f1d79bf6bfa8ecb230f7bf7f741e0b823f7c26650fdaea733140eb87d17f6f9ab60193e109470213075e533a25686e3ce25b1721ec37c0b7d49fc9464d0b56a104453d2d3e0b756ae3f986dffae4a24456569296167bed96aa63a301a9d770f15ed87cc20409cf80f6b9f44eedd1ff0a9672ed2fdd4e72bf0c1a38f8abc442af9b3dbe9d3b50f48f5248a0087eb147511575fab211c4bfbc60b62d74afca6680784f86e89ede06ca6568f49484387e5bf6ee9960ab820ad0a53f84c47e03a6d0f40561a761fef0744d9ec994be3d0cfad37aaff1f66508ca008ddf6d0d700971c6eaee20181955de979f221858344504c660681f0f66bb41f393714e9338401dd57d0ec3dd03605f9f04b7e6897c4e0cf3ecc25b6a27b6e97e573ba948c4edd1941302f781ed21554bf821abf6c89e3c4c7c1edd8889d534fff10dd89508369bee8ee800ff05009322430eb93e7492dcf7179ba81e528ca3deb530a19dfdf17c497df202fff2c83b852516d06c8d6390a447d412647632c9805841d79e98fee11ba6379493da239f5262b9185053e4983d6222dfc9639d5809e000d6f37d6b0f5c43bbb70124f21fbba73995d85b7a1e80ff858b232d020c4a2c7fc7abe762127cdf7d0824f4d641b08002f3a2519581d09a8962e2efad8047ae30feecf7ec642c62298c872b6b7013797c7a7a389ff608d03fe210c9f954da69c89e8e762d1a47ef04c10bba2b513881369a7395e28ecb970f1001211b7a37f6e33757c8145f95020f13d9a79631835649450c7fd35db76ff32ae485bdcd3e3b25340c8665ee5dc2abae9542434c32c864628a08c51d60b5a568e23a81c06e820d0fee6c7bcf824510180e9fb64b134de070134d0a82575bf2ab76a0c4d2b177a92f2749df803d1c78d2387b3a35454a046dce9979a165623b588bf18a986e8e1bfbe9d4d816c0d5d9509e73a3627870cc961ff28f2b4590084c0f679c844cb4887be6abda319c1c8720ffeb6db9cbc3447d2f447f97692ab944960760e259ad7cbc6a544b497d601c0e143fbc2f99c5e9e4b5a7bf25c02b91cee100c3cc561131e2b58e9cd7e72c8ff63279260b11a81e39ef4aad57c3de080af350c3d3bce78b985a761049b331470142999126aa0152623e364aac0569acc5c1341422bf457da330e5ce7c3ab435d254d17e8f69d2a230d9b6545700907cbf2508e845c2e337c52e29ba083c02f83f2f403503ed7a6d30f8ed9230e9385689a8a084dfc420cf71ac6d3dc795a49928069d21cf316a643c4687159220f7e6a1bce38756e5acea0235dc8ade41aa0712ca525524f019fe77187e6edacb04cf2ffab136ee11d431bb83b52fff3a60079b3143a6e2164ff04e753f9db8a20c36a86a6267ae424ae5e11abfdd6b59004dbae52b9bbe88a48856b9ed3c4822b960013c70dd922b90326deb5d530bcb82b8c09e4fc7e76903b1e0f7c5f903562be006141bce67024bb754e1582c59b3aa10be3443ff745219378384cf3f587040231977a74e0c521dbd890eda13ab46df9b226c7ec27cc9aeb0a86d0e48522da2ea669101e34e97e16c6052ac05b4e627f7a3606dbf81196221e2bec8acd105cda95d305e2f5b4fd2e0477a9f53dc53d21bd503322e2b34ef44810d63a77dfd12d1eb0169daee8bb7c23da90224e10794a11616d440875942ac93633c9698a3aec8cbd7a0c10243bc8ed0ec489caa457a7d457a7a4d78e56933ab42a5f2cff23de819e7b3060df130160999785afdf0f4e117222ae85a49a46519ea98b159e02cbf86d205f4aa6f6ea75bb7597a84c22f1d755a6c15e39fee948e44124bbaec14d7be48f6cf958ace7ee2b355629e45848f4a893584f94731d4850297a560696cb606ef36ff873c0e13e272f983ed75043fbaf32ba85117cc5777910b831fb1f9217941563d57487b815a8e03d8e52285be07563fa9b12332deea76cfee55b3af57f7322dc5cea51722075128a85de8a024d99b39c218279b099bf798999f6f155f741af00ba20c5f7a9e2bde16f5f13fb2fa67d3e94e1c8bdcdaf138cb956253979cce2896d1f07e58ae88cdca36ae905602f73562c9858fb2fc83a5d8224ac63e3ba785887b20c83f110c773a5ae23cbe60db8f2cba06ecf8aea819dbf48b9b1ab478eb7885f206ef815c3e2162245af42187bd61b34ea7dc9f151ab0b97513d9b949e85316c1839d571047a6b75bb42a850b1cf5f96041d9e1030ade40438eb865c08ff1645e15524ee541390a7a58a7b535e5a6af9bf921f2d32c8f77fc6c02b7c806622de1d80ba35d911e7ad569dcf7676b387927b8514c3ac6e2c4002203f92101e52b6c69100d649209c8c859194fc907877f97cc81ad6849f63f14feffed9e1040bbd0a847d442443bb67aa82e62c2d5b21c1e3b4521522b3980b999743511b73f3c685f4e019dc9a5fb60ae7fe31c5e4754bf8df7c720bb1876623079764455acd8d30508aaf81460b2f9ed0f9e9efc2631dcf810d09451af42de253f60a428a82956a3f796fce06aa38f4ee39d229a7345a92aa555cc4184ee1c45a6dba7f782a6b1dbb9254f501220cb51facbb223e55f89c2c496fdafed685342965777805012bb6da5e56d9bd8682ccf6498fa79e22e4c554cfabd70817da38049dd63d721625a3516d56a42fef6428ab88eeff8a761ad6ef2287e60ecda28a3fe3c077570f9faa76ba09e7e0e9144fac81e5d16e4e448a2b4aac32e0266b35909e69a8d851acb972018fb36d15a9e55b6cf6389e1b4e397ecb01730d22ec596f50d077dc62881a12fd2565cd5e7e0d38ad6003cac8e61048fcdb88aefe059e86ea77c745eafbbb1ec7c421c54bf0473f2419bd33ca53c732eb4f32da4aa9df1a26c69717e890d642c923bdb4dc001cef3d6248267637243aa06a4afa1c7ccdeddd010816e950b13c54a4eb429471e04fbb498fabb191d408e49d783ea122de7e55c66efcdabe43db3091fc901a6d2e2450ac6ca4f25b83aa429ecbb6846509014c531c5f9b608e7bbe624a94ed4ab2424f08ead8753f822bab47ae8c115011dc58ab440ee98a5cf12789e7fd411b0387a6e1c267eb00c9c3ab433ee88b0c1d1bf27009288ea9039447cc95c2ed8e5c3df18b7334e2ba8c9c5068b579b348aa7665cd6a7d567b1e3b666707abf2fc164d4b24a8725b026aefe71745e140b464a6c3570f0ee935df9696ba19492c1810519660e12c10b8279f352ae1825bb021e1bee78c366f13391400bf501b13e46b24c411dbe3ffbfbe713cd62db0b38b8b3d1f9ad707a8a4e2265c136bb1be0f9fe8c7b9137f73b3fe56194f6732418d9060990cc97721e8ad4ea235c28884c9b312138913bceff155d00336dd269337d0e05dc50d3c870f9b057a2fe129156c5e25ee313e92ba3aee438e9886d61ce4a185cff8eaf001320d07e2a936d5d01af648b7fc754bd343ac9a08c1e38f6d3a6f3da510a3007410e1c36b3242ab95931d328ca58f9c5eedc0f28b1c815e55f186000c5f5746d31b79be356f3abf2de7397f22d0b877602aaa9de6127d2752ce59d242535a0d926b34204700a209d23592fe95c219e0fbd1c290a516ebe74fee8814c6d355501ff4b493348672fa0e61af286b62c590773a112165d80260e96b7319c2083184344098c5e2bb6a201a8f5fdd7a3d19db500b74097dd7411730b327dee3fea85b2079876f202279b270201359855d773229b2ee883dfb2e8cd2795d05db079a7ac10d487970286964ea2525d6a010a87728d458b3f438a24e72b563259de31ec224a9e60daa3d8fbf2b61d29b9a5723354d1462f330dd75e6fc2f9da017cebbb88f2d16a0d7c9218d77adc695779d418ffdacef54fabc98269ad1c919a86cf3fc8d5114fe92072f4f99ca205180bb36f499139e18afd7c5ceb42625b18b9c91467ad979dd508b329d449609b7a03ed70ac5f67a574b36e1316a915f6fac56d8b19716339ca8f26223db1b302c4dff3b60d1b0c5ac6902da320d5bdc96e74f30e34d57f53640182fc693445925d7df161757f0dc7649123463e3e0304b741d40f1c3d43e1cd139cd8f6c0f0065eebc09e107d7ac820803b4a02fea88700bad2bec066530633e9fc3c47ec7e082220bf1fa42cb86378890e125db3a410c0929a24d94255741107b6a0d0af6d6789b08b4db44c1b44b43f9cd8adc3e551d0086f87f7b3d730328d7c0ad1420757e0c17dd3931b92a66f2cc152d4cc624334d5c2f9895d8a06e965c4131e8c3993a8dd20e1631f86ed7a3b0d9aa7c4645274b82b625aa996c12905ed2889a3c6cda6ae6dc113ac56a9b44057e5f2f81a61e2763202d07385c8367201899d04d37766cb560a6c222d4da434e8d6b571108e3be4e1821f80d8ad2a28e3c0d0038f088c3f0bd19438c89fec67567063ecfc02c3cd0068d9bc94c4f21c3ce17829975d6e13c2f054e08d2542eb78dc002865ca4e5996273346024ac8804046c1edd2370ae52c9a56643cfb300639a6ee902fa05efe0d3e6fbccb6c29e7338fdaf0a2aec04581b21134838a86545529a984b1c241bb1f85f96e3cf8514723a8665b926adb8f8277ca19a68763f68890282f09931b3321fddcd22b3afb31816ae2300bfcc4786e0504bfff9269e504f593765fa933e005d7dbaebc43d20fedc6c4de133334d1842616352bb15246b93af35e9a167ae7096c73f21ffc6728dd9c14b8cf241b0606a8899d256555051adff39f7e19a95fe797722dcc8683f6f243b559f0672421af2b7136a5a41a89e986ad4349e498ee0e891c63e192285e52ab46c2ef24ff166ca58f4be49ccf258b7b5a2af353ac91b60e910b3e8162f8520cd323c0d4a944fc2dc9418a4921281b411cfe956c66ea4b78a4808aafc470bf5897c054b0017e284fb57b46d8f10afeb03e02d79405ddc85e59f4db94acc9500f9471117928f0602a4b0bc57fe10be8ed39c00dcef0d1c525dd22020225b778495ab6c219ad58d892cc892795d8a7683db9413640cc897709a229e666ce7281d1cb6f3c80e4788b078db0e37d3be3db3d8acbc9c37f11983fda5259661099086e5a641843fd45fdeda485609c810897098b49e7d6cab342f09dd71a541f6a03843efb6426b39c72343724640e70658b0ce446deed9970e302c71113380f4527df991b320cd11cfe896b4e16dfd2e78fa6345a999547cdef03e6081f81e62c3f3d53ca4f81a1e61e521cd9720651a1e5b2c9971527ac40ec359df1311be6bbc8e358e1b9415a39a6405f01153095f4b4c27b9ac3c463500b4b5cb0d4fb919d1e6a9006c9105beebdfb53d3eb807b41d179bd3b73b215f6a7cf12e8324474595bd37cdc42c6674c06641ab0cc82f235030589c8b0efd0ffc716f4d4d5aafa008a3c15d4c0dc11523f599bf364ea67ca2910db5b0b46db59761345a752c1df39887d00f207d9ac5dea1fb58e3928bb65aa2410ce2eab0475ecd9041af5bf0b0ca35727981e5108e5ef5dfac3928c704c4632c2da62d2a1fac559460e6d9b90d0a287f9f917079b114c08cc839197675d7115bc2f5fcac7f5daa077ba2c16c29051356f4fcfb42da388d1f938d9a66da7408d32642e636753c9f91d0e37cd81a8b6dbc9936b1111ca173586c0df0e39af349678e4ef8484c65dbde28029369c28c6bd54399151f716dd69e8e61e0552ba064badce3d4059e3918855d821dcc78600f118eb67865293e1b9e1bc2de8ed2c70267824edb8223a88b82bbe59afdfe3c6823421d25544e71fbe2dedf50600993f9721b3994e37e925baebd34691a82dc0cc2b09fb72c18087659b0ac87a074a82a4f6f1160ce744d1dcf10c39bc60bd182d3e7e8fa97979e2368b53a95e1f3b1b7ced217b86bf271ac87516da998083dc83f7d58ff00396dd00942c10face1c4ba9cd489fd3900005f91cae0339b2fa59f2c9b44f7ca42983270e574dadd1e20d2db24d6954f1f48ca5ee7e129ea7fa2e560c03b3480ac4729ec1f95ccd6424ac2df3b31961c0bb8a9483d0b8852e02fe848fe7e5f42d2da8452226bef1a6d012d838e194dc5bba6b26e352e901b1f8bc7d2f3e482fc5c76f1fca223f6a8265088e316ba18bf752985e50ff94e306e0470f4cbdb73ae1d611ef047c6c0d8dfc29b848cf9b255ecf8cd0e9f86d3d8969284510aaea3c99ad657d4d0216c367ed969145782cc749d0ff84a23d2ad15f2f93f331a148fa73539bd2c11599232c954e3a71752d9213d59b49b6e8be40e8877c9f25ca3624216578c3478e58b155a2e3b2554829a812a8004a6b9e6403edf647a19424b89f7a108e0cf9a6e5a8db3898f1c8906e0b514528e7afcc2855e23558b69c8d51b04285d79f0a762059aa2dd3d84155e1e7c81b4e9ca62f1059b96b77dcc7b1065b4d4389e17b6674178c0a3c3d8c7c5ea6d106b3248e56ca881a26e0d8f2e1dd2255ae8dcc7cffe643d2321316a402a36c024e9bfc5cd12f58b560bcd30edbf4143d12b6a31d0c1ed406d293a12de018426ea67903a97ce7282ba5f303904970b0d6aa1ae962634bc4c0ef5ad64a837061992e263a0e1f32023d68221a3ce9245e63618b3ded92e9a2a1da3359086b0ae6b46a1b8e6952ac66a8690405902515690cfb722a7053c357babaa40b44496f82ab553d5cc572e22c29d7233e46d52946b56a0a049a30dffc506104ab0b033bf1ab4aa7921b523b3b6d05b9e96961fc25a6a2f86b3316c0a1f26ab2a3b6b93e0ad7beed5cee0e1009ca907f3a0eb6ecb847353713a78573adfe4e8d1a4ca5a3098fe7876e98b67d88fd1e351bae42d4dfb82e321a2c673b1aca224857f892eb21c5d2c102d6a96b710c4de3086c2f997e652b249dc98a4327b1dc21251d3928f1607a13d35841214a57e8292140f04a1f4112861789a82c54bbbedc3cc19dcf0b57a3d0d15480d3b2141b150d788303b69ea4864edadce32b2230711f23f4db99702e7b7a7cf835da12afcda0c984da68a9d9155b23553e301aa03cd681f7f83b5b0e5232c944669bab06998c5b26e0a03413c21deccd5bba849a66bc99aa15ba269caed1adf871ce5252e498a217b54c63cfd4d61522be1130a077550fa684119c00e572481aa79061c281eae44844423cfe2e8ae5628acbcb8745d1bb612dcaf2aea5c87ac63f27cd74eab3fd2d50624d31758a8a06159bb7dac199f0f02585ebab259cbbf77efe6f51ffc8e995a0527a3b88a8922fdb4e2d580d72391b34f6db37b6d0a5ce1f39821c7050679c1e422cbc65e7181369135b9cc9711846d584ab1b012d0bbbab945e07b1500d4a9881a4e5199acafb10dba318d9066099b0b271a9488f70aa7bf2be7ec1139588fe8ddbce1f4e7da001494a9e588f3e41fec4a1cc77e09a7262d511947dc2b5a7b5d16d2591229c419a4ec9d3378dd980ccfd4026ef1c2b83627c5904ded1794b8643053c7841a3fe14abd88ca941f1ba9b5b2a44454728e3028c4c64e42056f095a62d1d9725c9ab0bc041ade7e955930fe5a8f3cf4e0b8f42fe434f2c8bbccb2563653494eed61665d06c0e3b802820529cc24c570ade0dc45f7280187eb00fb5ddf8594de915cde00439df5fd2925854539a70c4942a7e349b19fddd317f5bda2e24360275f82320275353d7698dedebc99804d25a460ebe6d34026893cbcbfee188f6991d19e7c118ae4554abe6139ae5c5575fed303b1ae353c498db6d0643590c71dfef1c13edab704da3dc74b3d014380ded3afe7116b947c54bc9867af3e9ecdaa61e17e02f39ce7c965879605218693096ff5d473b006764e98eb462959b37584002f3bf1b0b7f76fcd2f3a66daa4a834c38ada0fe26abbb4088a314143c9fd48aafc69e57c1fc0b35382d4aab45b2d9c6ef555f9b35a0ef079546bc38f52b822a8a260e01269b54e8216e3710d50f58e6aeb8cea53e61134fecba841247d7bd65a5082965ceedb0d1a7ed5d513034f5c6492f8f38c4107299388a873ad70239465a40c04be30bd7c2d9527e40f8eee868b0c90ced78562b4f890e5a973b095d3bdb9553585c662397e0371e02df41c9f57ad68694fd30a5ce98d95492883c9a37614f209bc2058c75cb8c6925df53961ed4d0af0eed6d6709d6beba2f1d18852c12affa01777a447c4b843d478f22117b140976432387d738ab6024192405894e87dad995aed8f81f3491804054de1f28942090aa5ea3e2cca059930d83b1f7ba5159c6b3c71c86c22879e81c700482ac175e7d87dacd7258dd5f5a68130e62f9dd82072769a6866d4b53d8aea7ceb9416a713d8cb5fddd1ca18b3fa9199c25e01454c15382a48dab427dae61a4bc9e631fe4192944f68c082d58c5c699d70a36d03f5aadb36248c0e68cb79d3c38704d9a7fa7d6087646c0092d124177c73cb416f4aa6bf3ee021a2eba3c8ef8ab54d9c8fc454f9d570989e31724d9b9e664d59e0a6e11ae1f64821193bc4c20eef5f0ae8eec4f1731cae3fe58c0aa4114e5cb53b8d4f7a9a4809233a82d86f2ee521a40fe934b542941ed29a87ab03e70c43fe7be087e35ce4c17de6a38001b10603f66a2b0a153a53d097548a7f6de67afcc04e5681304b2b9d34fd0c261c8bfa3c33229f0e5cc31901c2b4bf068ca5976f49a372dd3972642714082cd68a091012ac9111d8b30d18d819e9b344db94416f3288b63e5ccfc920d6ed5499d058006b71e718bef93def9deaf180a5da3f759fb250e474d9796380531ad3fd8901102934180acb20883c2de403c1bb170e56f92d21180cb13617086471cd082abee2e5c7560b87085bf22def4a21e213a76e97eecbe8c7d5ba06482a583f9e04ce5046247298034b0083bd6281a3cc479673011580167b0d2138957742d5f612c797e0cf2b25c347a487876b8d61f5a24c5dab43009801ed5d43088d89098ae8841f501e25f8b8f39d59d36175ce3743745c0b5f4cb6c3af054cda73856117d8066750c404005f0f170f8a4c75b031ec057468cdd5cfdfb684fbce065e3ec7fe25099d91cc617fa425b5acb24a7c864beca3d0a30ca77471519095016c0fa5768c9f29f10f3a0544179fbdfda5a373dea38fcd6f18a4d1faba08eaca609ab46c6fa3e818f9e28ca57a5ac0c9d102eecddc875b53e4811b238b018df02d79d232971bdcebc9729205733ae2aa7a842515ca9a85d266193e1189105b005462d864bec63fcba0a9e1a5a4a8612a81b30a60a2e1408b03de017bb72773825d68e4aff06897d5d00c7cbaaf0b044ef53987197c86d4160fef740e12e4d90c8fb52a7dcde144826bfdbf8092184a5068f17cf16c896547ab542a3d1dc14bc2fc22d17c3fb6e1675e34206d561c158635b2e2ca9594ca2deb8b845a60f04df36d583c6bb61b47c489b991d17819366c6819e75e403c53d5a1b2f1b9753bf79f014dec0f1ce9544fd4614fca2f64cd539244bfd880aaaa3b209fc6e428899ad6c6e47be8bc2c28f10d631ac642936ddc5ab4e2b268cc8e74ca4c6983833ea3304ac24170c2056838a797133a14001602a8e0b4d6b3108da6e1548d83560262cb27b57ca305d476178a882a68208e76e4261fe0681347a45b1122466133d192780991d8de1d0df5cdbeb158030ef7eac8b956a750831d4d30d21a4d53ef2d984a47231f362bd5094cc7aaab47539c6509b7d93be5d4d618a36b3a5269321c08f9c93f3b6d29696acad6fe24e33aedc8b4cb85b197d454ee5df43fb5791a44f91b8d1916d66985e9b8709459ee4ef3456faa5bdde508cc5e8fa362518346f49db069b04044b2bfa3106c6721f28729962dd87c21d17749ac43ce1216e6c839c4a66be09ba19f8c4f0e259ccf63acdb5036093608295e941482fc704de37cfd4091d35dc262b600ffb339d7f790857f1f98105cc5691ac71426f4428388d9d4f301a3a202aa4d82d69a1e8616b3457ae7a191ba3f6830c09c2ed75a54b3c5b70c16ffdae10ee658943b382d324477e69c4c9d05316f28a3abb4cf8c4586c4d1387aa65636a6b92dcd35b552430ebd92039523ce2f7ac2cd92d857b9a80d900eae8e4b246c9540c2cfc1b74415143d3d2dd43e2147597eb3690a963c792cfa7143dfa53760a0a7dfd057fb39c3108ae4a9e010a85bf4b99cfd877025e825163377dcbe96953205e41e4cb9ebc6beb922dbe396de271fb6f46f75752c2e2658adcc06e54798890cb713932917f9b17049539ec23e888ee88034938f3d66b94c038c9a292084912c8a87140bf560615b12958a7ce6ca0e7c123ab5dfc6a0611fcc849119139af31fd3395705d7104f3232e999f526b43afd0e6d150b77b4c0d5d87d00ee322df758bc6df39ef03a81ab901ebb2c6f5df17839f6d1651aac0eefe789be74c1992cb1db82e5ed794c146da6e1d9035f2bb8d3e7a8698f81994807fadc030f089ee7ab2931f5789648cd7ee6c3906657ad94459b4e47158fed26831d80eb2c85a20780d9dd17ffea0d7c352becf7f11ed4175c251d0195ab7d2f15077cb577576e08c77a1f8be988cae09c7c5ed9d9ee889e503c8fc2aeb2fdfddfdfed764cc899a46907b6c1cd7c360e05f05d91da4f709541f00d1dd717afd8512d705a2c461050c60a55e19ebf446bf3dd47a901ce5d21bccc50c50b1ee031c0db7acb060fcd5873b4f5297daef884f6638a6be4004098382aae177da2f67e414b8c14e61d83c2dbdc9e037be6c0d1fc3057c277d3476229b661325144e24bfbf38875ec16e63b0fbb718ec924322e0c0c6ba9526fb264e9cb5e7cb67922595dba119765b13e630e3167ab44a093761d5126385ac21fcb8876e786c7fd457acdd884dd81b68be3b498ce9ce6f9d8e0c982a78c2cfddf0de8169e36f3e3c5b2f742c96ec7838b549f65e17ab5cd638e32c01fdb0fb5f657a7cb4e4a55913fa3179bb7f85dec4ba53402705b841c3307444e10c0c0ed1c9541ff9909fee7c9bbc4f864091d57798935dfd15f9bfc610a0ddf7fcc1d5140256ea197314f9cc0804bdf849574eee5829e1dbb68d44b5802cc14bdd2a85c2abd5539eb66872899af56c66258048f569e1da025a101ea02ac700ec5fe50a0559f4236c7acd39c3b2822ca6ac97cf64593095b29bc54b6e8939e7e1749e1eefaa00a403953ff4495f887e02471abf6d80f2f5f5c2376943500a7cf8dc8fe8396f54b1b11f25f39901292902a0268b48b53055f8a340a2124c1928869524048a18da54736a0ed34801720ec10601bd4c89acbf8a247609512bb8fc0a6c635a42823521a4099c53fb8c9ae60edc37786db4fc19afb3189f2542be7fc4ea94fb40001f1346635408267dd75e08ef60aa0d523b8bbea80a6892332a14cc69c0ad08687bc8f70d3d82630a44364fe39dca6142e3d32f1b59e1a3295adc41339f21e3de4dbfedd4e57c0502797f5eac575c655f19922d103878821c34104d50988a09ec0eab55212957d225dd8652f73c1e874234042c8f69fa9e76e523d50f621903938ddba7fe6a4ee2ac46e4285cca89e9d3152b3d33961f6d6ef33336398dbd85ffe32af70cd26adaf61a2354e7bdcff049ec493426ae6a3c85758e663708a8841a67b05d24edccf0bfe4a8e24745c39852276737c77e50483e796ab180fe7de43b312a2c24c7dcf44593c8259184227c677e11a492c427b1063794d111972f9e4396af553e761cbb460500df2cdb11720084c961efd80a360e9e679f591b3588e0fab280960f3d8f95ce26282a579b189a9b6c221c85333262c5a4fbdc893ea86c2a8a27365bddd6d93bf3c5efd95f43780410c713615f48a5999c275e923e191087f9801118ed5f4ed2cdee4214753a24df86138047d4e3442dc8e3fdbe288344ee808a23b91aa0fb914cb7239a129788a22186fe6b7a22a9ead7181abef204d0f6ce6b089504f0f93c9024d96bf0d06e3ec23852cb9a7a3b4eb4ec49e8c772a6e766ca24940b75a23332edc1488cb11456900c5cd50e2d16ca213d9c3d2d75d6a1190b360bc60a19f595f7d4766511c4bacdd7126068f18564b88399734c441879a816a22a3e14cca10ae9e388d2f16414dc8c0a02933a2eb7003847bc8c1e952ad57dc6a1e9d31f26cae421d96d0cd4af8a3276dd8a8bfd305789575d4690b93a521ca7d864a036a242ab16c7f922e6b6ba8e0450f8a1c4cc2b8a47530216dff3752aa70edc410ec83e40a12f3fbc2c7816a398b15d445697e26c5ee2c5f6c28dcc164772de9fef1e00e675186f330955f562a9119bf96e413b3e87c745351a4a1be3ad1efe2e04fc50a4f1e065b10dfb30399c0723a81c4049c15758fb2f2b7888e2dc7e3cfbbcfd0a4d34f857e96dde3f6dca24ed33f2f343a5d7044402b50814f5c8161735ef4913445716dc44441db6b2d1248eae03506aa1208ab44eeb8d38c0fa47a5c845220fe6cad0b67e90da4cab8e8ca0d04eb1c1ad2e340a79f8d778808a8e3ca6e9fc01f0878501a725f01561c5cf8b1d020df71d0722b2f1b50f6a5001f10f46645ad26c0c5759548216a8bb6a075b9891d4eea2a79443a3e679a68b8f368d04b103ad7e329145b66b104d5c646219c34819c798a0ef65d7b084a401879ca606bf5942ef1e5b1b417ce7345063c613cf066e125601f17b683ac0f74d66e81a4afd8385b7180e7ca30a443fedf1b3ac367a2ff20631d8405b434a40a0a11ca9d2f54cf56a168b6b0b142ef668ff7cf6e3165e1d29e7d314ca09b8c80b32f886f4750dbb784f92dcf603fc80425101c468a0977f35f03a27637c0026ba54b1cf512cad1c1d7cc7bfd6897452e53c4e6f9243adc35d606a12c1903f787ee97968beff164cb336f66425e191311d3628b558ba3594479a12da6a44807e2132309002b0d2cb240b669a09ec5e24f494a231ed39961fe9de8b3c20a1f5dfadb9c535a9988af48e963c178547fcb16a672950e18472c7ea2d225b6d3cb0fb4a341bc1c367e6fb70b652564878b91b9c19339e3a0dca0e81b00d0ad580535db0bead5ca8f846d6876bb983e25906b3a8a705e18d825568beb7a568460f2d85dac72fb62063ffaeb4c1012299d5ba34f478e131ebef503bf4922144c40fbf6254bec980259565f30174244c76f134899a54967f5c12b85af112cea794c7c044374b704735562b076e9895f82d5a2cb2e7c71f6a7cf2822f2bd6856c0e41f4423f651fc106008f529b04bafd80bf48253297ad83979b8dc30349904e6e154f277c735dff1962e356dded3c34ce2137bf6e3ddab93cbc42e5b18d9039796ca25708e90d206eac0435a4bbbefc582030911518b4b445f0e0c7e2bfd1f544407c5cb05d714d9a5cf52ef94727001f59440183ea374cd3971a15c0dfbc897018509f5d1dacbdba674d6ac85d4573342588563f664c10492fc6d1601023a6dcb367da5c119b05cd9117db41e0a38c836f995e32c9542696e6d4e8b6b6039e0962f1261dadd47384f4c596de24110895cd680787aaf831c48b620e4c4e36f51716f65cdb238b25e868e49298b3355cac2a1b5d724dc43e849780801158542fb8b45b7463a7d58723bbf43d04171c110881a3696f06216c53a27999c92e09348b8d376706b0c621ad5cd14db64d542e2d7823e4987cfaeaae1a1042d6d3c0609231048dd19de4a9eb57ea01f28b5ee9131d4387534f732a9b944df1070f5f217884d96790a8008d01190f238507a99b8e7ef4b6dcbca02521adc7c78d2e68495ba7b672aea0628233f8fc7359efa48a09a434fa6d473ea94c2a6fdb3712902ff1d203634cb84342330b4ee72895f692e03d04d3eee0916221113b41e8151ad7c9f56700a657ca41777ae8be2d1821e5e37ab9a9b5b78ff27c19d640781f287056faeb86c047999a9eea23701cff625018c6f7f15b35c16c7883d3c0a13fb2c4e650d0a81613a1d399b1e959ae50153d507b58c09c7d40a49378352ed1be312124328ed419670ef7ef8dd2bf3a1b58f39a74f0576de69ba2b8d403e6b4c705d0710d8fe707cb60e9fc12463e6d047444521b723c9de65e79779b0708fe6642f08db0c4ca2296a7a33ea3e23239ffe09f94bf03830484d6e8a0181e43dc5d3b6418c61cbce1445804993b2b54d1063b08d106781749966e64cb096edcf4005eed2413e89640c9aca72f00ee25cab40977955c07ea0081e4f848f7b36149bc3e2f145b29c1e5f8db47f118dcd02ce16a74692124a70249d8ba13afd201a0837f2d83d44c4bbcf869eee5d5033732028eb4d4e1662b67123e838dc0814702376c2e2aa5808acfd62c92a3ec28d3b0ae1c6e22c69bee3f92d4249690196660be8d282cf719556644c56d36daa49427f7e13df9ca74acb86bfee549588275cf5977c29ffcf72f960575ca20c70ec81d111d053a1a481cb16943e1016e42a23566453e749f02ba1749d757c607a51b226d40cad6698ed3994f854b1a6a630db49d1f622db288cf88b1cc6730339e4e2c096ea55935f31d58b615bd5168e6d5458c2d0efefe9016caac319bbbd611b656bb0e6e17ded9193cad9c5c82c68e99fca96708dfe4314112b0949e89b8df41786e74cfc3cd78d660f3d263278568bd7ea270b8edb7c3edab932373412f6d2cd6473f6bc3f0baf74556473e862f1493dc02a55b8336f172c791e36f5811e953fb5a1243013e0c45776da18fc6e2f0c4cc76b83e0048a67eb0d54d178835582ccef57e44018285da33f315f1c87cb2e4c5fd647c72ba387f1fa981ca8bab923b4a701a7341548de60c8d73cbcd36c3a4584844c0ddaaa0df9abaea62880ecb65267010e976b636a47e8e5692960e3b7b763e3383296cb3b06d762f2dffee1c16d63ba09ddc1d36198fcbcf3531d2efd47bb0d5934cc5394debf1e5676141f785d2c578b38036c82e220ceb0b041fc1a171c9b92a9d258bed5f81bd003c090263e0f6d490b8adf0ebeacd4ae475b074257c079cded63cec430d8bd327d8cc2c20c563c0f71a62ab1996301acca7a60d1ab23e95b1cfe8d052ebbc653591020374327d9e20bae1d68e13faaff4da3531e92ed326567d7d3592f4f76c01463eaa425fc50881d1b4cccc0ecf3239c9b952596647e847442c0df16fd40459a3a4b45703797fbf2c81423e140e5c737bb74af82da29ded509e25914c4da3affdfef581567aadbd8156069d4617aac7465c0cbb873c0c41e678c0acfd8ebbd8ec226229cb60e966078251ddf686b012c51990d27a7fd192e1c28799f7ceb30ce3c9caca14089aa308d3cb4fb4acc3db6d083f9f3f548a67e626e488e13862bc52ac0318097651dcc56ab99d6eed3aacb91fc8f834495f06df4a3977b2c926c3db89f08847c3e4b3902807edfbe4ea99ac49a59aa3300e9bd65cfe0503b6fc2bc6c0aef76f864aa616e5a2ef93fab43bdffd4255eccc7023fbb6a0a273999e3f7b74678b15652d262191727850b3685916099dbf67b14fb1d582f06f7e9ab09c687520bcd646f4bdff5523d46e66177bbfdddfa40a602b99dfe8741c0d63e5330b6c0e521cd1c0e4dc0ef81d07d6273f74c9b002c7d00249055b1e96b9c0500f23ca997d9f002018717e5e460b1176c00d43d4122aee4164f9c20804c5290681fbb40a024241363d495cfea229c02c76876d48a5adeab52951d4acfae0e130e8b82bfca34758fc5c8affbee1748c3ded37685f6407c58c3f8b16c96fd805759b2dd64dc3f843d450455ecc3c96c7d55e20ef3790066d3146347232a7045c3f6f32d9d1cdaa057a22a22dbdb1dba087136a99e0039be0d85988dcce36b990d94f5c6fe82feb0ba1042cbf195105c50cb41a22d924d4890030c974656d008172b30e6849fda6b39a1c236055aacf1153bd57bf93ba71789c9a5af8b89fe1a42093ac3d07e80a1e2a6c49d9d5f98f97042253d9bfd5b2e28c462a2b715d878cea2cb622b03e8371e423cccc0b3946e98c296bed5f38103e78d38093f928750ff56f7626e9a096ab4a06b8cf309b3c9fc9ffc42b0041875c255116609ef18d9e3d7d78dd514743d7e6726e09e9ac4d807d2f8db67f30a035bf4663f4fb05a5b9453f1c88986453d0d25f842425b205728bf08bd464bde4408efc34b3e1cc9251e6362e1dfbcbb1d4c0aacda259037b39c955e47611cd1f14589c3c14789e003f174d135fdecdf50b435658ab5357d54837955933e6bce24c716d50b0d5c8728f0e1a9a943a6f15f3834ee598ff78eeedce4fa8f9ab1775383514a74fdd5445dff10b7919e514bb4a843d43f0b4a0b07d113d8aa49dc94c5c97d6a509beb55c747952c3d781e0fb800790d69a331401bf3f145ebd71cb1f1b1aae1e4fc73d16913db4586b1daf4bf9b3039579cfdd63012978e6987c7cd46190309aa762343f7922cf1c481ff3fafe723e0b8a888c86c7b76ec17c96bd11fcb1925782555df95cb95f77ce8d657ffa9c3ce35f02f4bd34f83f9e648a686883f19f7aabf0eaf6de02b1147248690fabf64933861107f1e3d8f4e9efc2b09502780bf0a30054435feba4efa45e1cfa929180d4bd8e5145f6716d2a6449e282ecf4c87dad4e3e4b899c19a4901517571e0e73d3464184012eec5387741d57260b7691c35fe376b60ed7a08a38ef02094b0f21e06ccf098dbb01d95c416139bf17dab3d3e6db5270a16c38c9505cc740280066a51dd2f19a377159b92700ca52e5caffa5e1915555d19e5dc0edf85cc1301f94d98b459214e49403689c52ab617790c0a97fcb63c55fe8f3c565e13912e60848e1a82d3fae1468a90b4de1a19b3bd2fb14154f31702fc01c2255ca7937694005e1cf7f54174a1a3d9f0ea0368ff81d060b32333c4a34929037c3bbc968566c953fbea46b016040680f207aba6a4d1def3a3f4204460327a624f5ca1b4bbc674f66e004d0a9bbe965db023f6a34577573a5d94921cc3ac22f05344ff0add287d6bf579621ca11bc2250bfb2ee938740a477f05d4c051e88a43501d3318635d0f80d565d658d0c8153ddc79e43a054a360877de8b3da54ff91d14f9d92b772114c28f0581108acf740877b0ab99b128b7c4fd56b5256108edf83a7390cd5e67b0c3c432465317f4eb5a078aac8e2fc4b006ad030699c543091981a42d96a0b24a3b5caaa716f9a27220511c96cdf41d874990e0525493002064958af3fd8a8aa65fc557f86317cbc0a3237edf66543fcae199120bb89005e193b26c9fb38b4465016bf96000367f9700773c94244444c5c3628cb3d9fb7b931bfe1cb045f8d785f347a0143943ab9b776a98b476cace4dcf8365cd8430e464b89c64292ba3f42a4871e5410f8cb378b77668499bcd803639e80a099587f0aa8dd3c30a25e7ffa5870e72a5ae5908df57c4b3fb323daad126e604b2f981e739e187589a309329f114974b14a49c6c56b4fe67ed449feac41ed80592a8b02e3c97d2f830a296479c2f8deb008ef286d37fd6c6d6a84f0567ba8ddbe94f3fba4d8d34a8d395a8bf01f84d37c87a203deec2507c2a9bfa3f49f1c0efa9d88b6fa2cf69e441c042130f61f13afc0bca5ea5246c1e177702200a1e03e011e63c2e2c8516d8d76e164b26bc613dc7b0a118f947647d19779c4c6d434d56e3f16bd531405dff7905673e48fafd62a2b4789257eedddd9a0326a8810f06c656a6938327f07b96f76d3a22dd656dbad8c3214765a845609f2912ba91529e9795e3668d470041500170dad64f1d394bb7cc738c37bcc96d55ac9efbab4f1d1901e1cc92a1f046f9a9706b959f9cac6c91457906933cbd8bd490b2e7900f3ba3bbad3263b26e9658117d0a835b14e62cb18fc12e355c1a3aad204a55e501292b029cb95dd5469287f9fd769c5ac450e4233183862f944a8c69b6771f59e25d22e3871f3680f9935898b1a0d9390b502d00f4bc12d9a641b89597af76968e462d494cc0afff2c6e0f2ee0952ec1e6d545787330ddac13def012d09721ca14c7090b6b5efeb4bd4d7cd16341a36c59e2cc218c698e966b3e123cda6181463c682bc17422b2b8803edaeb54fe6cc60c187ab12c1251155447dd8dd920eeafadb40f848082a6bd79993e8c8d14473a0d8ff784824501bee19d056e3d346211aac0e331f17038a7a8a600d05125d09d208346a876ebd2a800be3fb8ce0245ae8faa45dc7c36bbe922999fe6917ca1f801927d6937d50993ddb692616b145ccad2d8b2a1219b3dcdecd0a66a6e3b9317036c851aad4cf2b5296fdf0a852c51bb0b130384d68adc8e36eef8bb9135886e697cd16ca7c674cbeac87e730ace404f67a84d83d8361f15b532503da325d5ac19f40c132b56923139463ac53581cbf2c59abe7ce16651de5dbd291c341e155101c24b4bb0d969c68fa0eb92250400550aa16d204a528924aa9c08e36f3bd1c3b382ee2b45bdde44807df46a9e8b79bfdb5c3d86eab78728df1147fa9faf2bb0036443e3349c6aa2d5354fa914b0ff051058ea08ec52782e58aa3a989b822214dcca76840e355e44d3817895f10526cce76d820f6552934e313f42e5464d3eae1bacf97d2b87b0999914a29a6a023627a486f449894a6a8b69b917ba1007e260ffd0d7ec2f052fa8645965ad2c7641f56dbcd98f158312ec7b49e7d176a1283ea41e90b43398f5d3d76ea29b08c31a9da9d6e318c01dba5d26d10a70ed9b99956173efbd25ba331595ffbabe033672b85752ebd12a598025c37adbf2aaa6ffdfae53f33092dccdd7b6700c872ac68b1360648ef9f6b30cce28128774219087c30f58d6c295d0571ad23821445d60147814be0a235f3477331d557bc883ae7d6d341ca0be7b26d3ae21027073ccfd6b597ac1e96630d825431b4a3402a2428c85256fe681604501f5234695390c2006c5b27e617cb0a549eec0093a47e127bf36249fe845703362049405035a4d36795c304ec29a0eba1681f27f871798fe754591fbd72d38db925191bee30cb370f52b72e6edf865326497fafd684d3abe30b6a15de7f1ba85cec7ebbed556c0967111871e78ec520614bb2a6c6d722c5577d386b4b6775b935b4a29534a0170072507ad0796f318b57369868e6f2f2d75fdc52f7e27397eec277136fb6cf1073acee97c2eefd0ee973c8f67fd24e8c627366461d8fe6e201fbafc5c655b6c7f27e7ea86f6727f0db0acefd52320e8c61662c152f018fd08bb39a1ef0afc0bc463b4c863f4852e7d1994ed6f2358c7e5ac469fc559d7e450fdce6ff30f5368d346b0ac3e17c13ab5d69e8a3d1f8bb2d5d7ef1bff80518ef482529f412fe9d6e718237f1fb8ae831d4566850dfb16e5d6ef5bfdeaddfab5867c8baa5f432955bf76113de5b5ab9c36746b1731828fd833bfbe08b1477ea5b93437e45b47b14e7dff7c0849b0a1e66c827dc3092b6fdd893d4d4eb8e93e02f35b1f01f9df7fc0d7fb3a5341fef7f513107b5468c27a15e6b7be7e2cf6d8afffb1c7f52e2c1eab575c567fd5dd74da2ca7bd59fdfcd6bbc01b0ef480bd1e7882fcfe6605de74a003e6b7fec7fcd6b3c01ff2bf97fe8a3d2db07ef5fbe6b18ac389f540bd279cd0ac0303ebd4efaa083f3c56abbcb57afd954e4d5f99a09bddfe734ef0c601f2e3ff901f7f4ef047fc0e0cd27dfc20ac971f0463c1e237dfbd9dbbdd7c09ded0076f2878b3fa1ff2bbff119ff5f16f56a003e4771f01f9158c407c1668a38ce33228fa2f2694ed863b4b76450497a5ba43124caa2441435d2289219c181b030c1296860a3ac4da2682907284115284a0443849e96142b1abcb4e5246208494228e075bd3c5119b16d507db55c1e100c5f4a20923a515ac603d29484c409758a238d8eeb2934d49184b2f3bd9766081cdc856ab46d5d6570d2072f86678d1d20b8822193140d100620596cd0b4b332a552bc60076767c60a892e1a54606291b2c2e9a169662ecdc3cebd56a879a6aea7b932a2bd70076767c68a8d16044638f681931b24d86587d3224b976923ecfabd5da5cc6adda04a97630347d4d6c60154d794e4d5ee8562fdcba9d5815a3ba10e53296aa20b8306559af2e2dae85a855148b0ed55b172798538a535a0195200c4d512528b808020db6b953c573af565babb98cab6da523563b3e2018697219d7567ac2b22014a972195724a464448e6e3966ec4c419d623d243830b67b328db02e2595064b7790c2cecb373322a0c20c11c7c4caa0a2515817165f581b451d32254b1927dc0fb6e6f2ad8c0e4b658c7054658880e145125bf384655dbe516571820a8a254fd01d2cbd7ca35ac28722a6b0312edfa89228192aa4188e98b0f2f28dca689aa1728133820c177389b5976f64b46062bfcb373258660e646e95468609b63912542edb645cbe99c1b22aea08703b57062e19b7737119a6b0ef773b5706b7733116b7737114b77331d3edf8fbbc8ed55a55ae4567ab2565ab1563f4afbfa0eeae22e594355a4a29a59cf2e534224b29e50c2963c6c8d1864a29a59492a3e69c73ce185cada973cef9524e49b38a91f523a594d3d5c996c7dfc75e4b762e1925cbca150dd71a2e468c51466a13638d31ca38bbfb6384cd39ab9c31a59491469472829346b6cd39fd55b918638c95fbee5aed4bc61e83f9a18c524a1bad9f28baae3db68c6b736b6860d129c77155874d5db1ba466a1a9009f8f0beeff3cb6050cbe572055df0adfb854dc0074d4d8c18316c6c6c64ccf01165fcee3eaea3e3c7186197c6ab860d66e61b1c1c9c1b376e5c70017b33c3e2f7cd03d83603817c10cca7b952d2681efc681a6d367d24b8136537fd41f7068408ebf7187603027f3f833720f4fb770e9371c3c971b62aec76dddddda08469504327bf31f00be20de6292dce9c377386cccc5ca3be74d060cde8268b09e53e47d32a9c73ceb9aab050c7e55bc85497916c3e671dfef9338657c3ecc51863c49973ce29c339e79cd655d38af1d978399aba090beb0c499f55431d7ca3b17ad51a9c8d909999272cdc9938f246bc2c2691757ae7727fe51ed637682d090ceef0e7688a73ce39250cbce126a59c5dacd6ba5ab16a5d552eeaf02a914c7a0c2e60226a39ed8be883e8d9cd49e7a45312b9932326262226262226a22326a2dbed8889898989a8d56a712b2fca5959dfb1582cd6eaf3a0c5627dacaeeb5cef628f75d6795adffd07935f081eb4bcceebfeeb3aafeba4ecb6382fa2cf2717df379b7fba157bf50bc1fbefb9cf83afebbc2e2645244544246f606262226222622262223a6262223a62223a62223a62223a6222624549b9cffbbca39dbaaab5f39c276c160b26bf1058df3df779b0fa60c5aa2bd063229aea6a4e94b1ec0d6331566c27a78164b10d72624cb11f680f4b9424e181044448907618810e4447443988000722221c46386ec061038e1a701cc141038e198888888870c880a3960393b12eadbe2e40228073d86a2c780c6cb50b6cb5ca7130495f7e2170e0cea7b05a6f61e553cacd973204f9744e59a34289cd56b3d96ab69a125bed666b689a7674141535c29920bdc3dfd603cb3f8f093c8f55576b2debe478a2c6913a4fe9a8811a098d87a3d6d74a411aa8914489eaa2ce5cffc89ab44723e1010b920d29a9957834502389f24f9e071e482e6735f14de65ace7acf8349ef5ddfcfcf83afdbbeb5cef33d8bf5ad6e01dd7f4f3f0f3e30f4158fe96eb9a4c2f3629c5ceb5b1ce5e45e4708acf7c09035a636c6e2bc6a71099bcd56b3d56c355b4d89cd565362ab29b1d594d86a4a6cb5ae8b92729ff7794a6a12c763b4f9c13acd51dcfe1c4d36b411ba9389db0c59972f9cb6e92b99e4c71967bc0161867e59ab0701eb69aea437d46727ca66cc63928b1ee56e38d0070b5c817fb9f8ba1306c27c0e0c6f40f0fb8375fa3989cb52ee04e784c9b8e19c3b30195b125cadeeb76c2c168b353ba9d44d56162d4da57d27f6b41696f96b21e6360db91141c9e0387030c50b2945b26497c58b69634d70caf011d564d775b6e33c19a9f5309eb04911a5a02219db15a838359f6dd616840d63553c23af34902cb28571fdbd978d0cf3e070cc6bc42a974d6aa772c77a29522e0b091058ca6571ed6deb40f6f1d9d989c5fe5fafc8f5b8dcb33e722bee596765e33118cbbc816878876ca1c82a619dd6f1f019006ce7caab832b11ca032d1596752895f1fb40b2736fbb319e60801b41eedab2e602e36dff479c5930889099fdced2f04fd3f9b3e2b8431497c35c0f3bb83c5445c3e59e1815812255eff0aa28731e597b4093f83584b0a1349246f2a8e64dd5405229525dff9d1d7a2ab65454ac8a34304f7f692d38e67249a3a821a755b63f472c4bb96147496929367e6ab02ce572fbc71e1a3008db66160cf2d9897df6022e2cdb622e30ac2d30b41f18be3c30fc0e0c631d75a53747f0822eac7f95dae23117c3326f2d4e933d5c6f2eae904a49cc1a3f0434ed9ed061c85985799190c7225503f910dee1b1a78998b94ebb5ee5009fd180ad53850d3f8ae6b35dd8f03f60db775c902b7b5c0bf31918f70403dcfef9b16bf9b3a505ab043d3722976c91294c7c69ea0328a04702b474505291124db28062840d4a34f044654316294bd49a98f9941b979daeb4e0da5c7692a2f645ed8b2699951a952d5e8cca951f3a9a31257a13ddbdbf6c924d0dd4c17ab04e5b8075e68fd03be6dbd7c7e4933b83e4139834baf3b9c63a734624d6993e8bb52916e2ac91605a2c5ffffe1a597cee7c9fbe823bdd8a3bbdcb9dab67b13e7adef770f67ab87757aebbbb7eecb8fb1e3e8026ac6c8ab219c5d37d719e29a7f2aad8f33df7af8ae33dbec565f367d5919373c37a6b7d140742545d944d79ec8bc77c4b53ec7130ac97caa66b79840692a0df2cc03f0dfa13ebcc9f1e45c59cb706f221e0f5c13adff7ede103830899c9a9d60d5bec9cf973e55babc0d658148b9a3960c1c6f79ff3a724edca9f294cf515966fdf926a64b161df6e0d9400d94fddb3d3b2fe58aca5f45981cd8a2b5bd65dae7c0fd47b02170618b4dbef200c8b0d19ea03f0faa0dfb7070a061132e3a5163ace39e33259e34ed691628f8c8a3d76e9e6dfcb96ed2575630ec5f3f76a32042fe87a4f8565a589e84403ad5e7aed0616ebdf75b09b10baeef9da905d61fd655bacd090cf2cc617a933d717a9b318efad67c1672e989050919d997d9aeffccc191f3dbcbb32032603e646114b042354bc1263cddb449b472a1e9b60d189dee1b782d18a931a07f35a37c13af2cf9c7124d6916f03f39b236199fc1a18143301426772e55b7772e5bbbcc97c49c56cecf1a8d8e34d574ab7816ef481ae801f1e933246adbc82993e34e3af3ee7f499e44373ceb8f35d2e4da3f9f48614d6978e784fdfb89fdf55f37dc86d773a943a67d837a53be79c455bc7c1e48cc2fa161fe7c6d95077fe8cbf1f11d8be6dfbe6cf8fd309db4d4c3abf8b3d7fce6feec8fc1e4e9bca6373aa39244e08fa97d68fb746fb523a44694717c03af46dec6140cbe853ae82a5a8a00258478b0d6397d23056449d870af9994b692767473d364f4a5bdce574ecf8c41ef9947e8d3d92d2a411b55b9f234f359209fc03defa2dd4b5f8f53bcaea475802a2ac7ee75efdd09b4098732b1097394f909a1b4a0da6b03c3c56dfa75f02ac537f02ac535f16654da8a14f0ace13f208c2029a371b49807ffc72acb428ab2678ac3e0e27967bfab26964ed267081117c6eaddf512fc27826a50f0f57629df626ac53edcbc663b556288ee3b8ce77d020635dc8eef0719eb0f2e8c13d57e43cf1b92f5bb00e37d5554db5b3837ffcbe620ff5da17f13bced9b2c33fe08ddf837f5837fe0178701ca6c114f6b5230b63c3ff9c98f358be71de5ce07aca65f439ba51eca1ed34fea1b9f4dde648947a4d3452faa143a13d457faaa7688cb1dc11cec879fc0bc50244efa04f05ffc4290ed653ac43b909ebd0e7b8239033f218a594be27392419a3ecbae8c9c0d8b06fef42ce13ba1acb4d8a4e2ad653da4ffd7bcb754b732d0a0deb5b3c128fc068245bc2c6235f0802e89ec562b13818ebb22e7f07773e3757f3fbd6eae29f199166173c3fda5794793794b0febe82fc8e57d69d5826bd75e38a0dedd5600a59950dfdc6021c25b07c433b9f461c4358cf63aecb3ea24cc6cb7e8b326ab21577a281640c4d74cd6fac23df410903ebc83762277255944f274ccee4bf84e8b32067f3df6f92820e1565d26f352307fb88dfe47b8d9b4b977e97c10bb6b2cdcda1b1f8035e4a3f8756d6c7c10bd63ff46455b66d0d25f6cca7f2e977135d7b662623a44b5fb1e77bfa26f8a0600f35ad4a8aa1280bac3e97f60b56c6951ea3d4d27fd17ffa311a96fb10c081d5c6799e3e07a32f8f491ce791b355ada009336ecfb8d573ba02e9da388fd3155577278e79b99aef122a3229c944a2d1682fc858d254939ccc1a8d463322b35972e3928e98341a8d16438c2553245991483a6a965cc14a8a9ae146a3d16cd18d99a2d1682ecc9c76c4ae92cee0e01ac231a921d26834da0dad21a93445a3d15ef88a38264478148d468b41e6d140c384c96f341a0d87195d1216932adc46a3d16490b180f09884e9291a8d766485024a248a46a3c1b041b5d56c341a2d07cb3dd5fcb044a3d14420a35b2a93110de6972bd7dfd3c1a3d1e4e783981d1a8d16432cb2f2218c98dbf09f1f7b03af4bc27c7f128cb88cecc05768b409b657c2cba3d2377e28af27e9f51f80b8fe9e8df3c8d87bd8960118274e9292a86441250b2d6e58b37872c3bac5cbe20a51c7bf01ad7d039ab39450b7ccb8978ba3058abe9a66bf4aceebcf8318c1669dc8cd49412e29b832707503192ae522e546b07e4db37ed9e6c3971b561c5dea0a479715c7254af5988b127341c2a5d679de87638cf7e118f3754e5c5ce032248b322d97ebfb88b82c11db9a9211b43d74510a53e586358b24616c310c146627919dd8e6a6b1f920e6cae713e4b5691a0a4aafe25dcec9cb082e3b79f1018b1460dcb05e2a5a80d9a2c38b3aa9cb5fbb0ce274808511164f6e581f864512141d0e2cfa3927dcb11968bafeafa3caf5f76c4ba2ae5fb0bb59e83161ddc9e1f17af17b4f1d9215b5f21d61cd2a1d95e253ede378af180deb99a1c5be2ca0679f0080f73619bc87c3abb2caa9b64171f0f276783eb19f9145001d48c99fc3a9c38185ed67d715aacf891650b14a909cb4c8218b93163e54ebbdce5cc7f98f7d914a72fde30abafe325065a488682dcb3c294385e6b2d350182f9374cb18956981eacb0d6367a2d31094a4aae25ad712b33b820e3de1b4a072c31e52aade53876445ad7c4758b3ca50918e4af142529dc0523df994d8f6e504972ac90d2d18231f162deb92c2e5750b53ac131a2a1aa88670b428ca8253f3c5706b4194163532553664a46e583b2e6414d962861534562a2852a50699a76a89b051a5103764ac586172713cd63bdc2872e402a7222c60e0f557f54b37ac97c9d82e99a31b3e19a52fb02632316401ed1300682167ccd40d9b0c6dcc17a90c648e65c108c76b0cd498a61bd6d818281f55775a68b05a529dd44cb1c16a490c2a3a3c11d8cb4e635c90fa3246a8c60f3a62a66e28c7d0acdcf075590c962b66e9866dab3c7020e6e8c6cb4e6294aeb4c1c6c88e2f46625eb8367a055813b1a1bc5a3ce12e3b8911baa1645d76fa62650acb0d63535f6e286f941bda2f546e5de10460461601c860a203af61cd826d21cb4e53562eb71311232e4e8c4a87430b7b2ca9746de26ede14ccbaa2bb2d667343580e3557e43434b092b007445314d8b8e6a9eb962fdfe5277ae08257457cfabb2e3f9164e42fdf6719ff04c3d7e5ff1839743d8395976d40c030839d976d400cddcea073ba4579f244b3d25624e118534a32aaf852a68c33b97b8dcaa3ecff296fd8d674f94b98517aa433527af9c6ed6f507184cee852e2b27f74ea4f65cbf7c9d1c971f382298b854a0d16258e4eebc48229c68274f93f7af2c8e53f0065bafc03e8a2db3d58bfdcc7fe30d29fd3b939e7d3fb3ad8126cee04c320f75e30d89007cf0198587eb649ee8dcbffc2f92d3d72c64e2bc072f97b28e05b0025c28bcb812f980d8f2ece9613cb8107f018dfe0f82efe619d4913ff8652cac37b706a341a6dc88cff000988cdf87f5cb9fc22f08fa0822a97ff02ce13bb0c15e5f2e507e2747ad72995db241cc06dd2b7c657055e6845b1af00fe1fcce3d69ef11486501846174c9124f604b981805441c88e1dc278328b2f41211c4584cb096611acb320423815cca413c03f88901a2eb326fd42381c6498b113c05f88b70f30a28011053a4119c2cacb4e4824b9fefcf32302dbcd3fdf03980c0a7270420a2f6050420b7f0e602d28305252e2052726b69831cbdaa564d9b41586e0f693f89d8d1d9fd80ebd452458163fe4a686126591de28cc1b899a236159cbfabb5e7a8b3d5cabb5af178842bdb02d96d2f8ab8102bbe328e01f698543692019a50485eebad740f45946351005a5545bc13f0dca2e5d7f0ff0190752a4288bcf41c51efa03cba80fac139f26f58ef8912b33e5458bb8f16b94535fdc58bbf1c355931ba554037130f08e2efcc319619df8b18875e2875cd18d4f91620fd3246b916237a448377e28a76e7ccf817b78b0acd640f19d06e6b98179e42ff1a23283ec01e5b3b3137b7abbf145a36edc6227277143bee2c40eebc4c8712c9a74d6146ee691ee8d60f37ad5dafdd286c688c2bc40e6bc367413c602db557ecc3a6d835461c99b2009fe124715db9e97e0b72b436b65f5fc06458cb61863941fa794524ae979acff15fb86a70d7b076de29c1f639cf3fa7bb66317e3f4a91ef3203acef106ad10a430678aed123aaa04ce89b4fa744618e5e724ad219078f929532a59c78b127058b199dd9c73966073bb860f3694d23be708f95e9552ae58a79ffb8ea527af7c0a0bfbfae860e30dce0de78d9510f3ef03d99d28c80b84de9ce8b49983c09ddd7562238a0da567b3ef4990bf65d82f81d0db254cdb45c12fe84bbe9b993facd1c8c6c6c326615ac7994f3cb93dbbe7fc1a50ac7fd8208ef3b04eff8ba54889526e64db252146eff6f1d9d989c5fe5f2f6be37c790c27061202ee4496704a55a4a2c42a5aceacead35095bf5582ddeff293144ece54fe420916644169dc9016bcc905228fc9272218ae7df9130976b8fe39b12f0070f909c9995b2f3f21a1faa29ba1062eb70018d141072361e43cd159b628c1171cb582172d204269c65ff96d2f0d9184cb2c269199f15b25179a6c0735226c339e2e59d43013f2d9f0a4889510332131ba98396857718ce7d38387cf7ccdd77ccdd7ecf6e9c1c3a787b5f17a1c004bd3d311506e685f2eb87fcf69a79d76dad92d67f7130f4777f69c7fd9f6fd7444d1b545deeb87ae7a010c6dd69f42bf098de5de9c70231099c3043d65420a4deb211fb1c7de6e3b58bf433d9b2f54c400b339d4338ebf1b1f738a19056f183ca16f0fdcf38c9ad0b428eb9f30cec18ae0b1ce31840d7776628f09369a10a4b6d06d1e7a850c556c71f925f73016434001c194835315b759acd5da28e9b488aeb2beeb9ef5fcccc29152adab5aa392ee060241bacbd28cf5abbfe9f70ba4af08abefbeef7bac45847daef6257b128a7263979f882c3db15074f949c8caf5d7b9fc2484e536f33c804852c7f8fa730cc45153d71f4044a977f00d2777b7dc10c8d75aff03bef5832ec3c21aa6709b8385fd2302fbd4f13958d06d18907829d856f48ef81316f2952b3dd64c2e95dfa1902bb786171bd2b8f169f04fbcf16d7c1b1b5061a3d4e13ca1f49e1d28464054c96188272a1b4436d471e3ebe0d1394a60fb432150141072bb1eaab0744bf01b4799834052f0983750dfc811898e73bc3b477e8361097ebb51c25a884ae686fcc5f50f1b4923f10f002e28c2b253d5d1bd5e0f8f11856d27416da707ff702dc43f7d3bba7bb7d1ede16d455743912a6ab326fd1a8499bde20948d083171b9819bf3500114ca0ccf86becb2256926a4fbc18b5421cd84f0280ac20441388999105662e6609397cd8148d44cc80e334a2bf40c3654cd84ec0c795a81b50510b2cdf8eb1627d0426ad6c48cdf06e12937c83013128f669e13a0ff867f9985744b33bd8473830d6507fada21d65ea933c43a4fbff8ba2d73e38fd040dc050c3782a1044988507a0833353346dcb0b299a56806e9ca16182d30986899f168267693b7c8444946ba12ad2ee4ec62462aadaa565512dc0a83726170d3465b5e70d58b4a8fb891b9da12d312b3e2a6a2489e825257319a6c52eb3035838cd105e6a915ce50518ed2305d6ef80a534518a88be35c70f1047342ed2d7096330c93cba07787290aa3e4862f30676e68c31c8111236304b3c50d5f4e60b83881a1c2098c13e5cc7073cae5c8510a26c90d2b189bf784ab1c57c3dab2c1074c98fa45180a4cf5da62cb0be70618a18bb362b1264b76923faee4165035569cb6b8e2b48515f945adaf2f4935d65a7f59c1392f6225233ba999c58b14d72bb3e29c2ecb6f856f0526bc28c16a512f9c388931896334a208189cbc4071f2e1e6e425081a2c68b0f022e45e72b861bd545e70f072a48b952e5d6e58b98b15144b17af055e0bea65d6b9c17283257e43be21cc019228679c910324ce3d74e1a18ea1b71b7f7a10dfeef08f0f8ffa31fe84c599e5c6f8977b28520018883e8112659187de3c16792814d4c98d919aa0831b9ba048ef7fc49907061132f3be836db10e6832dfa3a20c0989752285729ed0a32e96ce83c9190b168fa29184c51aebc8c03bbc8a069fb20dd9fedcfb4903d12fbd23fe931b5f226589b4e855ac43a1a0c49e3814a1601e3fc3b1e83cce05c7e24717854232ba9142b9f1d975a2ba97d2751dd78e143db0ebba288fa2f9198f4529af722a8fc53884655f1ac8c5f08ef89172218a1fdf7d8a75e2e7a862438f9abaf1fdfba069b1996b8f8a1efa951bbbbddfbbbddf7b7abff79cde748a66862e475d880c6982dad1808b760db8706e21d1ee1f8d168f345a62774fbc32517a65a4f3d044941c90404e0e4830a36b86799365d29b2c544a150d79513a761ebe9ef384415e906c0c7440fcc6e7e70ac4efecf727c1171041122609fdfe0b20a17784b17d64cb1007b1f263f53867fad87041a3e305b34247ffd04d45f5805f7056d4f5af19b21ec3ea0133b1fda1bc5dc4c3b65818b7836d2274cc626fc98fae836db1cc0f2483f8bc860ec4cbcf3f28ec5cbff1398c5f42d0d195e0067ccbe5b6a1eb56dc6c2b53a066f35bacfa12bcf921e9cbafb564fb428932ff204d20d0608660c2beeb83b4deba4021bd644c0fb4990a42405ac4e2e5086dd6fa16e835b0d80ff65136c5c61613fb5746c576aca755a58182a352afffe25f90bb74ea38c726068debeb563f41eee7cff8a0d9eb8366363e6886f341b30b3e68f61f34033f6896f341331c1f348b7dd04c830f9ae9f8a0994e8d6d79aca7e0cd0f4a3f6826e38366343e6856e38366371f34bbf141330c3e6806fba019003e6896c107cd727cd04cf641b30d5e0716cbe1a463831c5168208b01452c47670447063431e400800506089b11c463203bc10537ec199c1b9a156cd438e24523c60c19b228367d3d26424c8616a7214236af1835322468ec8c12b85a2da3cfeb6a1d4b066555734861393a43081bc6eec71ac8bfdf84d813630e6d04431bbbadded11f9b8aed0cc0c77b6c66fd3d7a766e649066dcbe7d81e5f68b60c2a7d0fadbb1d5407cfbbbfee477eef2dddea8e3cc971b5afb920549a7c1a293cf9fbc1c02d8e98aaa1e91835158783910c7633f561f65321665f2591f34e316cd0d0422ebe3f3ec0602aec2acdf461b0b73229ba1a824cc98eb72daa1a111000000000316002028100a07442291588ea459b4a70f14800d73923e64502a1586427124474114c7300cc5400cc310638801c638a41443c70305b7e6f71f938116bb0238b9294e01519c3a38fe97b479dccb6c118600f717bf2637cc85191dc0ef7f70b4ed87af833b733cb8bb0fff83e06bf1e6a3dc134c8b7200bb84face7ffc838d72f41dac49b5d2ad44c3ca5d0bc75f71bd8d0e3cd0739c2eac9e23961cfe8a358d6b4af0e516a55052b22449d21602c9840bb15ebfbc4a4bf59af8403ea21cf5f51c7f0f303738e6656dea668978e602fd180d5e7b7c8b3b0c85de0edb9ef41479ed1511a19a8d09bebebd8a41d6e66f50cae817c33d58529410692937921a0427ac6e805caaf4095648091ba6236125038cfba9a70ce8e11fe2a7266620c8c08a82cc6f1ce4242c4d19b53dea3aa6bb905a1c1e9c638d5d21027dbee316dfddc47d81d20a6376a4486e2e9a161f8b29a7dce2638218a6a721d2e51e0d201858de3b0700b15f24e2530c6bffa9fa24f6a37065ab4bfef9874fb23cedf512ee06fc02ad10834766a48f3dc595b0d6524c262d8c1e64e9836e95beaa0621142045bf969efb6294ced4cdf4dbb16abb33315e307a3502e2ad95c3f13f8a219503c2993e800e6800210741969613d7deb9b73b4ca822ceb90bb2960bdfc0e850e8a6180e10259959268024cc8d9103808abc8ada32bacc347cdde432ba14064c1f5a6e444c850591e860d8523d9fc444decfd05ef2b63998f05861ab0774ade6bcdc6e0d6bd1b2832c150a8b0a791a508057d0c116e70233495155d6cae6c6cec15b8af2fdb6aa2c7ab34fa5b5282e0906235245f49b31a6619e8d14d907eeb0094161e0c778a77607d72253f12db12819421be308e617a8421c1b98e3892ebbb8fa12db6dcb812169c81728364c4b064df12aec12305c4044cb5f55a8a20002eb7860ae330d10f8257370ba1f9896642908df0ef44b01589be9da2b04269336e3ae2e8acb02c4e3cab8af8108a25acc36b25e4aa72bc802f4e1da1ef7be416ff73b7aec337926bdf546264944bd2e5819d3def138ed91c99bda6d68f2b881c9ad1387c9fe68497af0fd1e3600a91c94e76c51e689a778cafd72fae6f1c5f3bb43a605b729a7f3c7080847f3387777ae4d5ebaf3a9b573e5dbda7edcc3ba1c86e4d0d4dd8d933c3e9f8707eff998b7f9c3afb41285d42da0e20d77f5c0d8a38466a9fa76dc3cba04e67aed7d74e07827bba73d6e1997c1f5a435cde48393ecab057ed76144897837b6ae4906ea82850194acdeeb7b62b8c20a982f4ffaddaa47a2adf42e719bc4699434ef9ee8658348d1c4d1eab964ae0e3d5da2362bebfc82eeaa27d613c94bb81cc645528cae852885d42c8849ac4458b73ee33705f4557faf902082671a447f2073dd22abaa851a8826533e82c5a5a27bd5e76d67d3775965f37741c660c496807d69d5743c148cd005ef796c0481778ddc801493f68855c25a182b097f53ce9c351d786f8122a8d04a54d2df7e4af87272fc3b008aee6235a5c8db85dcc43c3daa3523aec7b7f1483862fa3b6c95250d9dcc5c8744f4689c750f8c84aed99fd228f2960db25a75bc6f367f9ca8fbb1ee10fcba2cea6590a41dc638e0c67fab0f080f4ee748b9f2b2b893bd3b63abb5cedc0de389a146ed143a7f394e05b861e88c56e52eedf55d1a7f5ed146b8e0029f8df9c4fa7ff5087cb507f758fbfcb793cae42c12fbd6432ccbe2dca10da7ea4de26d2337a5bd331e849c0037a4b85af8dfd828ff06cdf2aff05b14167cf2d9bd512d03a91281409a85185ae7ea454f9d45392ec08348bc3034299dfcbb27279f273472203c2f2bee099a65af21dd181b49b914f8c405657ed488294fd1a3735cb7475ae34e54fe0a8da681a8ebaba5d97d5bce422cc4bb6599902339151b1a78c3a8af624cf601c2956e0e8eae4a1364a08e7303041e9bc1eb5df32d269eb61d226e4382e805d7ab9919d0b9c21dbbd0228238248239a5ddfbff41bc5a58b82f2916375807273c943d5a87787286d0cc5a030f3ec66ae23217653a475d0cd1ae09fdb0a941397ca4fe79feb85cad1666572cb1342912cbc6125432fddea8b30425dd813382b0048a09c9dcad677bfc92b2b1092acd6e2fea59d29ac664fbf6dbeda1fd1868970dc2a4c9068f8d04e9a26601edb2bbbe349cecba55c1f733cdefdb12639a27deadfa4a38ce2e37a76320544d8aa9267a2b5770911e890714f38569d2e2989c3b96a6c42ea48e854b06c6fdc359b88067b447ec8e7992086fa9ff68f7c8f012e029502929abd6567933e7d2fa9d02ac4c6b4599cc8491fc4c0a2c80edf7b193a5f81f598cf863e87fe90f2e18f4f14732877eefdf634c7df59db33bf137b21a08baef012ffd98d34b4d374ea4084fb3b711cfd9122ab03edec437de02b01c014f075db08b74f965c0ec97bdf0dcbe81f81be3a6c4d31b9193622f00402a6b6ec3cecc18bb247c1b36809e059dbae0c7c04524427bf4dd58e717bc3f59beb5a9ee86c78a62b467b03d3cda59d188ed0481c07f6f117d8b0c474e08efa95d75b317b82c7f59a457c2d6ad841a1805af339d86449a704d67fae812c005d8429a108289ea6b8b86ab733f9e7d99ce080544a1621ddf64569b80c39ed9f75f444aa84c1bacd2601a4070b4f1aefd2d5dd46aa8b3f21e80b90132a35aa89820b6182ceacc84c7860d2d4d51249cc6fa98b5496ff82c1b7b4149d403fd41ddcb83b8c19007f9fee007de338810d180d77b805294e9fdae439a3906a9bffee00385a3f33c0356274ab8013258f9836c1afc6925f8a32c4ac8450f6f2978c423685c060f52423c062eccec636db034f4d5188b19484135d45805da39691502b21d1c66ec26905920971262c344d12d1ca4cb129748e490e907d8a21b3aaf974b9bb298147a32539b42b71286be2def3eee1a7bcaeaafa17f0c5a0da66937492c2df9626803f0a2fa80f3b3d71bf41a65bd00ff1289d5fea8c0a1c420161dd614756c863203295872f7919b38cba92ae03f9f14095299ae418831f1d06168def1e10c4b9435f14cbf544c42898e9691c4283d3a5057036f35680027433750a7c9e940d3ec857ab4805f8486b207851686ee1ef9d2ce1bfdae8b6da042aad381bb210e85d60adda6f245ba132becb8225bd439afb9c3d5df99ad348dec128f2fbc664ee32dda4546f68a61be27d6592604dd3bf9a94428ebe1b820ecde697a9c55862e2e1e6e13695233092cd8b16a59c9824262ba09d06edb06403efe872633bbe58e23b0ea7c5efe212a1d7bd94750c1c10d4516dc91ec6b2f095407e5e998a7659b3e2bc4ef5cd5992f8d9c463b4a49dfecbb7836255c8a8f761bfafe28d3da9ca4c51c27b29b21e942eb35ecff940e3d0beed120f4d7cc39077935e72dfe88a87abce7cb0e5569b66afd41b8bd397fa5342cb7563b486183c039c79a678807649c7059aada109f2312914aef8200c159aebabc90f20315aa59ed54628bb5f05a841fa45a46c6cd0209f1e5e56b12bcfdafefe97543ac2fd7502977f52bab402cfcee4c9f187acc047fbb35731225012955ccc0a185937a0c15fa5b5619bb4b0ec3d352846f3db92c8359b09411353b5b3b84376275aa338badf17de94b1f2dadad9fe9aacc27bd99dc5bc6cd56deea311993a3696dfb587d658666016e6559549f452978934b1b65b4c5f296d60ab5b0bb3fb4e6ba1e472862542de645f1a17dd626b291b39d1ed0a869678dcc9c05cc669313964b42985ca5a25e2c73f61f670f3612567959cd66c953e7c0137e5cee628222cd1ab0fccf63552e48d6fad7446acb0b120f269b7ed892edf8d27f7ab9e25c4c434b82ef07108a87bb1ad0e5d98eeafef3ba010c7380a168ec7f40c999944f8ea896d1a795b142d1c3173d98d75eb4cfbbbba3211bd391007fa8a993e92ee0e3ddd88ef870f4dcffd10078ee63e734cd165973fa41906a5107f5573888108070210089b5996bd375c00e565064679051da97fa578b065463d2251053014478ad6bfd3bdcc142a5f6b0049505cc75a4c5e1390ce68a1bc1e2af0c72415157c0d1b75bfaef528c28f66624fb33d6c982c53a048f46ade7cf98e8abbafd69be1854571f8d8ee2c5168370d0e88efc94e753c7e6c2606b89b28b1c9a14b19508af6c728dfb34452ac90441de1dd618ebc1dbe4355ce998a2bd2502f62f19255718149819025a0657303f9edae84f8bad35b1b97fb74afda8a85c3693ceac1c2456a5c79b147d8336fc0eb668d279ddfe7e3832359afd6a0caea70f61b0e5f2d3ced8656eaee4a70a04830f24655820585d6e0c2e11f891e21ccbcc0d7931e77cf2d0fd09d0eb4c6d5c1bf28360452b881ef2b67a1387cdee9def90a2588d9b719b7e247479c68db8e9c30bf2656b22bc4fa6e8dc3962c6685ccd079ef2b574c62511329823409e000e815ef2c92d604a4360b623c1848573bad5ebdf6340a1595deb7b3a4443a95288abcdfd5d73c4d6ad27ca55d7fc6e9596a6eca9842eba3930bdfa45b7b600e4738f899c2f9c8e7a81f45470e39695d0733079c35ba16762be1aaa0d7879fe29de5b88b9a8fb5a2d2a11746950bb32dbba934d02baf4fbd4c816f0d5a0d672fa253c05153aadb3d749575aaaa03c9371e6f64ee15d512c68471d079c479a3c86da01503eac635a45f7b092034646f2ccd03065feec9aca8870c0a508d532ba59f37fb946c521bfe031b83e5fdcae3750b6a87ea903af9d751a9245d5d4012d62be4ef68cf14f44bfc1d5432771dc132081493ab60f05a8ec03a0bebaada4e1657650a91da8d2222f3fe6ca8a2d670001e5b4b2e6a56ee977267661e33a3df8fe177b7c668c3708f662cf984094fa7a3f8bdccc5dfa4236d265b3c26e1cc503c3230cea93f908075761fb92336eca426d89c5d5c31ba3969501191837ba446392bfefe7ea76c25b28b188735971e4bbb79c52d671dc3fe2d8e560a4481eb9c57ea50e13f9e718d01d68a63f7f63dd5b4119eb68dcef43eee842c7f258c1cb0bdffbd16d00d77b13d905d6964797e7c311b1c6b4f3b7619ec4d9e85ca8d1a03d98895b1730d736b8d26f78e1bd3d080918e91bc7e0b27bef06da314ba9c60d67ac0f01224a0583be84e1757500361e30a2d306b2bdd77f75e620c622f0fd7ff178876175c046fa5e1069f71cc889849d204bee106ea34de2ecc512808bafc1b2c17fa62bd64f5b4f3c24767737cc1f1dffd3ae7cdf733445665f3770349ce1123c58912948eadf230c6463f79599835f59e2786c453ded153495419be5d7d2ce4b8a5165c066b6f00951da8e06f22d603daf306df5db3c98893820913ae3605650068842f81d171d83ce040555d4d5db80da69e415e0eeb1864aafe52063c1878859ef523e33a47c55de188fdd5ac6cd8f33cafcf1c45bc3567f5a90b0ab1fc6427374190377188856ebcce7fb230efc118878ea6f40eac4e72d10ff63710c11c8d3e21f4417edeb4b0d74a883e1e6677ddbfd9138c256f3f256c2393825d9750a71d9beaee3a9776932feb8c58f5452ac353329b139499dc41db494cff8a389f205af012b389f1f7ccd7345099d9384747ac7d0347f88c92a028e0d4e3c6e1705d98718e5ac7c652ad7000af6bbcdb27e3632bb2af616c2a0089fd91d65efbda44f4604204cf61d7099e7ca662c6b67784cb32a40746de1a6f584dab6f5400ca6b67cc0e8d02f20985f165258f11898d34874e411fc33d47eec4831e882cf871dc5224dd3d0083ac1d13b7e91b38f40689bf27420eee357b51aa550b513aed8a9c20dbb002c84e44c0f80be37dddedf8f503e8ce2964674de830e90661e799416879ee81c2ab48dd8ece34ee31d31d3fa387123485c9be361b489d787907de0989defdd827d6e140e28dbac38d73c008f4e34978606fbf7f1d60e4db78947ff40692397fbf8548ec9070f2983e261fd90622155055d7a84a0b5e150e4b407a8f158c29967b3b80faf9ad7358702ffec78432e05bfb03dd33729b8064c3f3321899955cd2980f8904d065f05d7a6052b69d7f8b76d951e04d38f54ffb03cce4e603d3f4915556c68ed79dc15778d3fc864b37f7f726ed2c711e8a3fe94a2c19514c9d44b63e0456b9b150c19a7c75fc51f4cf8cc21e850cde08f88b56ded9332a7bb524616c216aa7fc961fc8c9a20848198c6fa778cf7dedf44a57533378ddb8a11072a633be34057b77e21c523a4bd5d0e077964ba15d93c53ea951dc1befdad519282b6854d34fe106445e0e695ffe60a0232bd50430d59a9b1078f49b33a7c3837960d1c0ae33b72ac4ee8b871c5ca1486363f3d4519d5b4d484773c4b181c53fd75a1b2c4172e54765525cd1c6469a044f5570221c0c3abce796ec621d018e18551aadcf675372dd17a05a0a674014895551a233ed05828a094eb9c2d2dd9f849dbe8fe3e221a87001a1866437eebeb82803680b956091c122b3e981e7ca8774bf04c761067446d40e3a64b705ca141785a4cbbf59ce2a77194608a0b3d2dc51114bb66d94ca6b8009aa13976f7056af9e75b7c620bb410a842be4178f2aea8147edc6672625ed22b5d6fd65d56633eaf44d8c52dd07d973dc8e0f340d60afec6a890af094fb02aed3fc08284eeaa1065d49bc381753ff2c53dd459e2bab400051f4814aa278db02718b427391e288b0ae3b5ee4378b0f9fa0db0bca5cfbf9c81a1fbed4c8be02d737f3908ae541858043f63f697632820c2844114dc253bf7c2fbf0e2a1586b37cd0162b1762ba35cc61ecc8767c41406609da9d091860c7cd5aab0c3dc7576c565b3458d4c8c7d3ee5a4c40a872cd7f804985d3badbda29075db6b55053169d97a508b053981ac534c65228addd81c6bac3e7dce46b4077b79390af6bc82b3b8c4de15d79f618a8b479a67b7bfb9c3af66248860569b72a49f5963cc161df6b346b5f274353dd2d640311ca40169e45aeb472bbc060347ec21f6fc1a9a25bf7842c236e5240a8462ab0c20db7faf6c6e7a5a36e323304052707d060052123e5b98f1c1080c571246db7c07201b1868138634a21ad1f8b4b1c6b4bc361480b5cd1d4c3af8bcf94e9368749b6b8a46c0ad04c5d8c3efe7b83151999bf5af74cb8160b76f5095ef66076c0c75159237f86e1a25d19d2169b3de4400f06d1e0a925745c37f37eedb7a2c9e11fec69f10d70613703627bf5364df80f984d9560c5cb978a49940f99f506c3293f7be26380e947042699add691fa2a01b2aab8be160c1552d403e9ca9c3cc0f2f8b2f437247899ba61c2a5a1b3d2d3a5971cbb7304e40d22ac98d4304d5ee211e27101300a2127b434e4c3c1b3097e4260b54d9f993abfe26f78158726629dbd4a6947fed853b443932a7644577d1c40d49f7cab9a668d1e5d61783f3dcc50f2fcd69833d22aed29b9b26e427dbe11f66a63f367a574bcbaa5f9fc0fb194057b57caea38c5a9ac16a05b068756160529e41f993ab5a637f81c0a5a403fa8603fb58e91dfa685533698d13a8039bae3ca8c07fd6f4b6f1b834e7ac83c07a9d99ec60de70970a20614892574b4b1f8e5e5409664fa036c702ee961931be219ee42ffd76611350d836c5a185f20785099098580b7e74944a0aa06680557a6a48fc4f9a7ef22e0240dcccc460f2d2589afc7b02cb6953e2322094d226f935e4b00535a978ebafd1c50c773da9788acfa398e8cd466ec3dba4d39cec43b14549de24149be3cfeaddc0906b6a807b6a24275b721d52db0543c691f54932fd107920535ef15bb485d6c215e8e886c006afd96991c4959109083e60cf26611f32842f1135ddfb53eb42401126aae7640041fad5c18b989eb8c58b04163a58831b0d507780d344101921f8e888628bd05786e5d79677fe239c2a5313ad42b6cec82c69a23cf98b07bd12c2b1e7142741ef6bc70fcef3250bb8ea27bf2d04d1579ad11196823f41ff21954bb525a2ff24352e484887742569eacd55bf8481ba2a5ecd6e7e7282f0f8c37bf9ddaba30cc4c5480427f7c38f145d5c0201ac10238f3fd5db8007109be065d55a9ae69d870839684b68b6cd15f31913fae611df947112eae4bc489b60cef5a21674fdb81304151081bf3023484dbc47638f18b5c71ae059e371b9e2b38abc658c9971c42c6c0267becab1f0a84e5f095e3930daa435d9cbc280cf8a8074c01379ac364e80dd4b8bef943be3f5d2ff4dd11b71d2369613f0dfe76333548b9c9b6b0f4c85239912bf344298f2e6bb7bad1c6f8e890dbb5c1f8c7159e58c259b960b5b95ec5153f50f1050b0b36cb50a50720b1371e43d4f4ab8007b6e58cab3393ae5fe90c346f884b5f762c2f7787d207b213aad54e738cdd059b43f8d8b2464529fe7f5dd33facd31f325a14aa6d6461c0955235adcd2366059a7adf5d4ec72dac2b8145cd6fc03aa305ff1d6dc3adfba72a34bc04e6821dba79e5329fb1f72d17f8b2ce8db752d77bca0bbd5d315c617cf5b7ab007c4d57d7f89883e6da2547f3d1c407e846402180536123615d746ca821398c57b558baa7897adeabc456f3fcc54360baf6d9b2adff61b8b63bb0dd56f4b6460b4b9fa6dd9547cb634d3bdca4a555e755f35b1566282bceab22acf0bc3b739ea59fa1d20eb4484472e36d33c8cd9e908e7d26e43121d21486a0734067f83c4c59f1e1d1026ac751ac9125b2a704505034647dfe6c622be077794c3b5b3f2118e894bcdf11f57f64d2d6cdeca80da98b939a003f623936903a3aa20b67a3d58f07a01a6ab28300cd0f0cca70eb2d0e52b9a81a58e85f767be128d08bac62326e17d19140ffca81951a3c7ae9ed8d2cf4a59727523fa959529a0200bbf627944f720d651ad614e9871b7ad2faec3e7e296c063bed8d144e5596bec2f0879cb46d35692d471d15c1400ed24383c090835c1f1268838e1614af8627ceeaaa9e2e88030763e92ffe7dcf2b0bafa782ba0cde1ced9c1337049df9d6390147244daab34e10df4bf60bf95335b12bd0ffa95186add07354bd56e9f2572388d15270989f45064cb5c9c386d123322e8b3968ae6eff80c168e0b66d30eb9ec10b8af59596ef3c786bae4033cebada404d9eb576741f719282e8f78b6b27f02878c027ab5452f0b51ec50ceb46f4a60249577811109201a5faa863f106291ee9b5129c4a4d43050c3933e951177cd2870664b6bf8b284fa71f9f71a29fa66d4685b0478e0a805ddf7381ab8a171c7683e10fc25c60c24cf9c217bebe06f22c4c6e2bec0c1f5b8ba32c1c01cf1d016107161bc884cb5c0a3e2508aa4fd0e28a94fa69d40cf819515966c73be603bb43f9cb57aaa27fa03c6e0b33fec5f4e0cc8b911e15a6e9d886756621e7254890c4265e587a747707bfc6ea9d24997d604169687d38c46ed74a500d9560172b3336b0070591de22de56bd6c3886fb05883427b8403090e431ccd0f49daaddc7ab3c743d788727a25b8b754fb16f99e077969a71fff2db8ff3d22ed066b857718db9684c6c559b726152f281c99e6c22cde08effd9f8565a57eec812545f072005aa977d3b94479f45c11694ed4bbd75a7311a2a6dbb4b01aa5eabcc75540ec68afbd11dcbaec4afe820c3b53e469f0c7ac8d0bae57d8a39944ac202a28d1a5683364bcf6e159934e3c054fa0d6e011b800f60aad183ee21192e2fa484575c326a269b9ffcf12fa8f9e7737fdfba4c639114e30239e1ebb53f5cb375a880b07802c945b167cb422c4148015dc435135c7bba389888cae00a2e3aba03b470431e91045911f8cc6fb5f3af29b4122393e472b338f8cba5c559ed603b3a614ad952a2cbce57b240c8364a0dbaf976c0f976826f25cdf0c8dcac94c13be67c2162d89ea6220ea0b675ee427d0c2bfe896d1a7f0a76d4adfa20a1fe990ec1384e5b87ee7f079353948cf6791ead868eb0f9e0af8144c23d22defefc64b4c2d382efd3f5cf2abaa1a3002dc16670903f4670d6d1176797af540ab66e78acb1d563c6e207a2dc70b66313b9d67bf3e37ac193c5e5b5d7e439b8df7de38b3b27aaed77231e9ea652f8866c0cab83fbdab84744787ba85aaf0723ac25099995b83dbdfe4152ed6885552cdec0c146eda556abfd38dff7cae54fe69ae35a845d0f7a00afbedda7725f76f01acb436da4ff85677e3b18219360fd2e9f9065483f40039084d1bc387882dbf4317224d87967f67bdab503cc2d244d694e92359f4849fbf597b468862ce348b241fc77f465de9fb6d82a22606b262f853e6c5fead603c3cc1a2437601afbfcc1d249c4f9ece10275bc289506327ea0cc2d89516f87905ebc27a0f76192a1aabb4e6d3a81075ee688ce8e52dd4d771dbcf1b2425e712c72a62ac440e56083cd705894ac3c9c152bcfcf76271e578578bbd0b044234722baa11c9895ce1ae5aac2ca760c68264825f1f6e9bd163d5440be9265c1a87a42ba12bdd6e8aa085935c74a7fb2a2f588936fd8d2a97583f860ae6704a89c0359fa32943440aaa88bc246e4fc035b76f3971ac44948dd3ade9d54679163112bb2b66d25f505165ce37aead2afa51e3e8354e72e7fc283a7d2c5e7855cb46238ab42ac18e0e132782f0e38cdeabe9e54041bff6c508bcfabd7ac4e67c9f3c4309352d890f6e359e74bf2e01733ae7ff5b2dd3abc121beff708a9d649716ed5fac621f522feb66bdd910c2edccd177cd94ad69f3fac20aeac910d6e829399b9bd61641b0eeeb42b10e356909930e064529e721877a81f2da1aea66a8208341f41d0fe90ffbe90869d0cd68b2f701fa4a9aeb442fa55639178f1eca15ecdcc36fd29bfa93065d1246815a363357c9e77384b603ee494ea5735161537d75d682863f16c285114fc49373448072f284ec1923648ec07ef2decf889176093d9de79322f6b9aed9a442d5435de51301b0d94fb5f9710f6c472879274b712f944c7aebe0065257d77db33037f06019414d22982138747f8cd2466fd8d6887874311267cfedb4a49f5ca78ddb82e00771d5aef922a9052dbe7bd490ab02fef0fbb5eb6104db7524919c8ddffb0ecae68f7bd6beae7373bc0d16dcfae9becf0573c17bd0a8eb7b4e3237fdc154cfb50fe377c350109354053d0d528bf494fb2e03aa943264e2df680a3a4bc69d51b10aefd0663042e02573248850f6571edc59033c006e12e98233bbc27b29f745b564e90d7db6eaa487a37e93dcd3abecaa9c645629250054d143318d3bc8bee8338ac8859b24d58f975e2d2a6dbec9deb15b45356d1398b42e8053673b1ef4d96498d9d2e03138dc38e721f3373052ad2a365739f8a37b9139ce5523a4c3bcd41fa65a8abe2cf92f609551b119cc325d11c4c4e813d27a51a195286382dcfc76b09794513d7b9bb6030f486598c15d31a9b9b07d2f724b1f07274b7f97f518a45d159fc0bfc09bcfd2be10d2f9fb3761decb5d5da422529e0b86d7be06c914ac28effb3e7355b71ad90135996b5f991bb59cc859111ae9e3b60dfe568956b64de309048f44c031834c6049fe2ee6018ef9ea27104b6120e4b91303de130ffe351d863c2e34c83a6fef31dc5b7224171c9ccd1a9e3cfe1348ac14ebff6d54137d930f25c52e40beaa3f63223981aa8fa4008c6f476458b80b730d9ed3f12fc1f12e65f3bf7eda410a5f9130b1ba92ca98e46ab04248a6462bf3aadd461a2bc32e62272f6fd1c5f506969cda9e4fd8b565f71129852c51fcbb5e695dc7ebd211baa4bf695effcaf74612007ab79c883f52c7a5d6ee5da93c3cb493d8c86bea57c788fbc1af230f2d58b4c35868d61bd9002ab6eee7d8594c42d9b753baf95902ebaaa8021b30abc5a16656445229a3307d24b4630a6ccb29ee4c2c01a69689382f8284e891a783ab12b98203e68ef4c1f924f4669f8627b1e33adb810f66bb6a373cb91cac9a3925f9d8d73f7092f46cf27e1d5c94cd4e7f5c23664b66fdab99bdb8452fe9c61ebaa27dfee8222ac78bcec13a60702b478d93b60d764d2234b50c09afd5270d30aa5a2834e7a4bcce36b90d48500a4fddb49224a6a7810287902a99eebaff139e4be5b28ddb85e074c272a4eba2798e3fd022f51103366d1580b22cb33854f20d124cc9510696e7cf760b358c59566fd06073cba3858322e8e46182f24d53b6ec19aa7ca04e36f38aea228cdc2a1cef9e9f5b55487b58a38ede689e0516572fdcebcda1c34e39ac9c89f86f38c5d547617a46205d4ab5fa7901aed1505691a01226df1f0afb70ccffa4d09d6762324928e81f713db498fd56028e9ca56233f72e5e9095785e02ce40262fc7506fea95b54d0498c17aa5c35ea458c76771c4ebf15d6c619b7d4f5ab6cf159e666bf7cce9a25763ffa458f6811a005927ff1631c2a809535d1924e3b595d65993a9e6ddc63e4333b830da4acb7e9cff83d935467110a521d1a35f24d207dedabff61d4f994180777781cde003bc361efa6e4732b264dbf1373fba453411ba72e6ecd61f4a6e7f0e869e2a99fe227e1895c305b0deeeb0833ad72a00581d8f291723fe6f0d805e6cf3f8be218963c730e1c19ed75706dee67ec95534bd19dded5807f6761d91a9ba25b73091912b9e5d9e6b72672b8646db148a0b5fa2e60957dc8a53b86bfeb0bb1be869f968de2259c2b001ec5490040c3acf0433fec0df629a81170d0be7e49700aa0181ae2ed9f4e802e99621bd11879092d379672d92c7402032105dc62f1982c8875d1fc31eda6902ab0844314a164d010972c2b243489cac9a6538e6b188f4d83921b9af57ebe098a1ab3139e7fc9214b3e50d58dd8dc4d1b0386c4ca1c8a9c774980a498acffbdceaa011f3e4e4f3e25d830747b43ba04bc1e8c5ae04b22ddb6bcceb520468db88d0835ee0c0e564018dc9cbd53f0beb68dc23a9be4ece9c5223647c41fb0ebba858f42e5b59e8fd655fc4b1964636a1fff8b6e32b680e371bdc68f29eca01254eb972cc4d2e49574e3ebd60a24948fc1214e99383123658bcf1b6c24fa0438df878fe27a76756173a81979d0fedd7128eea033beb9770d2983d4a7aacbda8d1657a0917f07e5aa6d90942716a314ecf043524eb273255c634bea6858f7e9f960d16f3b512256718b0edee88b4b2ab057b9afaf27a249c2ab0674b20a432224c539149bb28841d4e589644c5e54e484bbf991f1ad6a0852109b964390b78c6a1374050c002f5c8e14c1fbdd92a1bbc36aa8f92e9d10c0a7b00e2593609cd007f2f9e6c77c1643617a666b002cbc7503f9f285efa3a681b72c840b0480af6d3ed5cc2b3eb7e0778080dcf5060fc32e06c0c0a99771f36b447a483d639b1f9ad0296dc55b003be91e8e4fabf74351035c355b47b82a2f847755b43c6e753f21706a216ff890069aaf057e8e1f9c8c48cd0fb4c4578b08653ffcf79b511079a1a80487f521a78801a87b36d1bba17927b4158d4f4ab1acce2c3219aa641a015317195898d7fc67bf1b49540ab8837c039edf696e5d0fc89b0ba74f0c55db2cbe0671775e9a5d993342e4abd606af36daae9857ea08de60bcdf1a8e8e9d1b197d154350341507ac81de38a8575f23ddc31cf20fda9d736e4a05c70b1ee8df8a423c4355ef9bc13659aa68743733746ce4023e3d0eb9e0c776b91039c24f1b5543d02090aa66553d762ad5ed4295ebe7685a4ebe81501ecdcf643369242de7aeba01c3006e54c1a6b2eafd3451f340a8d8f073475d150494c6e922e5a413d27ea72998a54b24cbd2f3667d14ba8351b58f2e88df18ceb5a50de0d3ffa288db5228b3bccda87603a21e84c39945ac14ab2658f7ec35c804bd2ded72fbfb50c9b55c54e161515f59cd30a657bfb0afd1d5854ecd502b8a97fa65e2bd9f52fdb4718298f52d74f63bb69683a73d786e7652a78e926386863ffd528f7b6192f0aef0d8191f6154accfcbe0640ad9c553963029c759444ac3714734e213b5b36107b4a9e6266f5028a447429e7cd0083a48c7a35a2838dfd67748cd98a2b67528193c8ae29569f32816b2e872a2b704b8b51258858b7f4a463b5464edbb1bdfc11f29b51e3c8d90151a907bcc49ddf92f2517abf04e68065502519d34b9ffc8c43d3092eee1ef21ec8a12233a617d12896717c6b2fc85b3de0c8fd0fa296e9fc70b2c2234185dfaadb122f625300b89417489802a0de3754007ced95624c0714a9c87940f55471c78aadc6328e341a32658149413e55afb8f4ff9af47f3b5137c9d446f2051b3253e1eadec6c88db0c5746d63236e0d1f09d45513fc3793701fb3b191408ba3fb479c7c043389c2893daffe9adba6ea09e12c07726eb8100c1484749f853e306f10e5452e55b3f85379f8ad03b0d22120d6aa79ed5590b600f5cefe894d0ff57d4f88af8335ca929e1983552ca4d19b177cfaa150a33b527a176f6f7f7719d74c8b2c8c5da37671fa865920d0a00d045cf40c41e012cda9b69ef78e9c726f7432ce276f26e50b5ccecf4023115045dbc3fee482cd1dd3ad1ca79a72743a3ab210641840e66091306c41d5c21ad1938710e8ab47fc484ef8d023caa15e06adc2c4cd0183e42592bc0cf20b7d5f46e61a6cab0ad7aeb04345ef5841cbb266abcd6f5221043ab7777845855c9bbff11794eb4d29821e85548878cf768c10f96a6d2d1891bd7188c6d65999ddd33badb86a887bcade832dbb7fa1dfd220ad530de7762abadbad8db1cecc68fa4f8137feb4abe823d31cd0e1f741a06cbac89e4e6052dd9c63884301a5069a015ebf0f10e86105155c130fd5b00d6a7cc7130dd69531f9e302ee915f0c0c778538543a0ae5e189be4a8fe8e9b593627bb0801b911ba2ba87b9d606ec0550ea5e35b94192fad1ce0678560ba8375426da4ee7352efa23a317cac0bc4567f5273255f2caabab594ab9ceda154d009da16df6f49263613473e9d909abd7cd5f6bfd17b562f1e055c285cca6359a94d63de63d16c9e9029e1d2ad11c85432dc492bb09d90b81350a3151bb122c06c3c1a4cccf00cd4f143e20cb0b2f3b041ff81fb1bd56e2153dbb2558da4351fde446ccf2a1fcd1fcce643e021a502b142cfb47e4a16102c781a065a41102742b324b4cc414ea634c8a10880b86acb8c1426a345f3ce0f592dc6235dedc5443623194bd739dcd4d0b387762f08e65429b200032b525ec05e40069064d5e0635ff9efda574c909fc3133f89268f96bd71c6d60641988b92abc269eabb1b23d2cdc519901c4c4c981779c3917385cc4958dd6a548b32edcc36c0eff5389752a250f0f05eb8ab74d00f052bc9d9aa5d0bf9a3164245de7d7801f03555e146e598fcdd8d6302ceb1a6f82c9de635baab50f941c2a50c19a791982f4ef11fe00caeff9ad66f3e5831ef232761e5d0742990609f742250dad143bccb57013ca68dee5b5aeca11fda842b1148a7a41c0a6c99b036ef939878cacbd4c0680047f3a89fdd9ef15e6215c4efa00b25ed69945125289e4d9a177c8dc77683791e18338e47effd7490c3ae28dd06f98c69ffaa828bc59b7d844c4c0dad53bfab9897f2de425f7bba26a7bd6cbf00f58d0460d254ffe2aacde30a2c7cd22bea264c62e5b15b543cae99932f5d4829b15bd732d0d6cdfde745257b92cd6e438388d6862284e74d4547fb37059c0895c3d31579ca8cc71f0ec803afc641e23116dfba1a96e1db1139f1798dce95d61756bd3c0a971509711baf6e653c840b3b28420609ed9319ef61450cc84001f9a94121b514cf838522874051ad8a639856adada638feb1faa49ba89519ced1a68a84cc4afedb198e2bd5827b912c1686c64bc7b6381f1d7848a3f1181cc2bc2d5ffd42f4bd9f538c1a0b9d2be7bb3112b542e0926948ee04dc318a034c0cf488571d5f0c0b1d39d7dde1ed08bbd235cc67e7ac812f8c330f800027061c904760cb8d9c059cfcd4f3d9459cc4a96ee2fc0226bd46a9f2f629eefae61156d7e75ba125de3c4d3b6da06f74ab0d398f8fe9583e37270a6acec606471b4e5ead514f3775a5005b5a5ae76b473c44694b85a9b9e7d140e699cb8ef4977b3da11bec3a289640285db512f66fa875f381d22c6b4182ad0b800f710420b067e518671275363ef25a4676f8acb638b0fcdebbcdf9e6d19109f82c59deeaef52095652d1f9ff0cf2d4fab4efb8d4de72ab79a88858a5640bc2aee1722ad3f067b9a144e75dd7e4d4ebf298f4ba460f4010c051fe2048a1c6d226c443c31ee09e86e563082ac0da5e67464c1ac1bccfb18807de9ddecdb0d40e815ab710559e0278554d4fdc5138c9593923e4c36c3434bd6fd22e1d056e60056d76cd3fdfad9ee30a5229bed7839447b2a426c8061025766f99ee6c459c9014d6184cbbbd9bc09f8d452ea4149ef555ec6a84a4b4d7b33dc4901fbcf3acc659ecbb7919998246c299cf06534cdfd479306209769c946eb078d23e04c380292b6c280232048c17880d4bf57773d71b0af00662583186032d80c857a3885aa2113c2350f0ca3b6ff0ddb06ca5dcac4bde3eaba1926eec15a19105b287f6d75546777e96d125a7726ac884057e39cf70b2528b28851e1cc59f88abee6f62a245fc6ed829f2c181f3f57bebc9ab6c376b39d67cb17fe57a61e6c77b326573fad4c225bdd89dd275eb00913b24f71faa54de925fd7279e6378ac7fefaac5fdf7c6239f96111e1402b554a463bcf8b6720ef2ad446870e92b1423c438380e1359aa80ca3a8009589a513d5f395fc8f08b571f2f4be2456d07f5b2982afd82fb3ec3953086f2d49da4e9eedc83c9d84c765fd24cad1fdf2a1fd7d2d060a27301a77a060e784169395a14456bc31306b5b3f3636e2a735369b0515bf7f6002a931e113ae44d777248a721bb41c0cde63adc07b59b5f769fec3fd60f7ffd1143d031343bf6d1b837e5f2789308c0f37211386ad0524af046e17d2f53b90f2530121789d4646db20ed90c1e2b4a803ea92166cdfe421a0d052768dfead6ebc5f667c0ed7a43a3de6c4c13ccd94e9903abad307445aecc12c5019bfdc779e8f5c1225622a35f7b16654687c0e1b1330213757090f7ff794311b50d3977843bbee8c00700f6e718b6aa0a4d42dcf0c2323a98366ea3efe0d6a72926d31f1153860f33cf506107d99ddb93e5ad30bc6c0d4c3d3c1650ae5671fed65602c571124483ae7cc33b9d41aa23e95dc4197f2d72749d6e24c346fe97b72ef137be6169f961698149d7eaf245d414820cad90b4b4711be37b23b2c957ce51328eb358d6df56eea4717f29b597785f85d1b661084774ba2964f8ba2a26c3fc9df883d92dccd595ddbb4dd573e757019a042f5e221d95cbfc91706b571c89da6ddb3f4d0b91a00fa0f11c27188dd6d81d6b6a0844fa15ff6290d5bf92c2e263892398a28fc1c15223eae332a51668d73bc55c174c4570148d1c731979ed25bce0008a29c1a5cfbe48ce1c252dd5f80762550129853b294d10f5edbb6b7f5299602cd9b11b4dcfe23036e0976e498cf2b2a4cffa7363027ba88f215347fa10f9ada12c6bb976caa1faf1ba5bff354c98537ecd63495fc2ff6e3ebf27ea9cbe677b63396d657d9ecffd131a3c741e20ef99a3703a6fe8ba91499d5edf71b3fbea92d4a26f5e5762b005ba78ebf3e1846bec9df669438e254fbdc9f466e7a70a19e4cae8064d986ee0ef00cfdaa2045a73ef19c088f81e103f21cc98bc4408a194bc3b5e90aef199bfd6aa227827ff4da07346a01bff7ba3627b939b8a7e440909d8f47931f720ccbd47b9daa432968c2fbe4c5d2a44d35e091b04c8f12153055569dc5bce0a0fa1c165628bc6aee29c55fccb4fa2429be7771698f13aff43a659aecd222e7c625fdec8e2465a25bdc2a0fdb62925d3614bec7ba9a62343455a5fd442a2396fb5e1937f5341cebc138da676a818ef7fe8b1013815ce8fe897051b728d160c4830617ab53493e9b6ee21efbc7ad0028b981d62fd907acae1973e893636927a487b254ab38c271829376c7c2875664e7a8c91703a449dd3ab567564176a2ce6855913f2cc17a9e84b4f5fd59e204fa5a4f42e96fa84a56abf39a5260b06e2be3a3293d4284726e8a07db01b4a7967a0c516b50b5d4c4342059737865f023ac1fca00dbc2a98fcfb4085c507686f202ac8df14e79f4ed29bf7c7f832145e554c9df0104c5334f3e7728cffdbfff0a170db9b3da11ce23fb61c72126c1521d09d3bf841710fc6273a3c95f1abd49167b57d02cfd59bce4ab811c26a62ab55a7edfe1408feba0b63f588c80113f69e465512a4054a4d7e3649ac4d1f980eea5dbfea4a30a3878d6d2ae8d5dffe6ee77b1c8c269ea5c0586e45f449d3e3041a1c6dc0c9ff26800792ff6d5643dd60e52d8add79f370f1431b0c283434b057ff922d8a4ce15680255b941bb1e59a9109af577a7a2650b2d5991b65e3e35b5d8e67ffe386f764a4a0f0c4ed0dc61002c86b39ae30f09f8cd4cdeee625cbfea10e6c3479bfdb10369bc764ac2e1e71a24448c968c9454e70e9dcbcdfd0c1f1a44e33f927e290e1439b6df82c82a2d8ff516799b1f2c78b11929e60e252c64dfd815b0ec13e610a3ec3b75818f18469a8d5fa70e56723c4efae2a739b9322ca210a4e0071e92a436a90ca3592fef9af71b940b6bd90946b6eb282e6c4bcb44f1a56fc80489fab8115a3916ce6436da4b2ad5443c5c226812b922e7c9e714e5e9c693f13e5c042c77ebbdb145afc8dc0d18b47c60877dbb9789598611d2b5af31b1ac4b1c5da3b00f0bb8294b5cfa9611631c3be2a1d98843635da0fd5d5308574791797694442c77e07efe0ae47b0655bc3820291819501626a4c57f6176899110285117b9302af6c9be0bfb6e7651ee49e2b307e74f2de817f0cf9a98c762586b87b31ec6eafe38f151afefbe43b9ecd7efdde1fb80f5d2359fb5af9e2b8baa167187a229413ff9ecce3755f13297dc69f1013e3a08eb01b66c13dfaf02d723e3468de43bbd374d4d7ca70874aea09b6501aecba7c36c721699225bffd0550b4e41aa22461d8860c1fcaab3c1c352ebc5c0b5feae685d005d1216bab677ab73826356df0b884e7e545cf3e0894e7efaabb6fa5944c8165addbb696f2994dffce8bd587fcd4e1e8d909e53a031f5da8b5245466ea845ed4c9aab876dc6dfb8c2dd99507f5ae1d45421beff3b1a8e72b9a390851a5b542ec6339a0351442a6e60c514f21fbf3c47925bcc2bf6228a817a61d3b088ebaedb72ad867e455ec57854dad28a2464ef5a0628208476a2e60a23ae3b035738424ce30f64fccea6d8e17b3a15a88af27a9ffe6947449eb15d8c60c80cd7ae77028b2cb2a688b46d4953427f17f8f5819e46e7d0730304fd6fb7cf7bee409e44c74486d424296bf429d3d968c45d36d9814a8d1ba0923d582663b149d92c6280f2b54f5533d1a8bb6e32252a153788247bb34cf6e293d8be75c753f0e1e6242c38f6651c694a2595c7a993ead48bd42bd2c829a65dd1505d50b2a1231df01fc235c5938f2d73589b5a4182b2fe5f9106a7cb0e19e55d220f2afdc45c0327f6a6bc2bcf970db94314b675ac1cdfc670ee273de46ae6200d38a5e656341fd415e444ed97d067874cffd4d2596844ba2673568e8489869f06b1860735be96d410d2cdd321b5ed784d8b22beae6cca06c3ca371c25f5636206917e4eb644c3f7b29194a435f72b8d1eba6152a77d47d9e2181b9af3f989990dff905f2a17fd2daf8eecbaa87d2ed4728a4a1b897659b2b1fcc222a3aa5fc28f1b73dd56c2dc0157b25908525c2d82717f3eb292e2b3dd043c5fb803b1a9e002a99cbffe7347bbc29a50b12268be45bbc0ee039a6842585c4bf29ab6cd7bbf7bf46c172bc596e435d8c71438db7a856b2a7cac4993d629aeb1b1351a7186e2ddd8c6db5653704b80948f35ae4ea8c79a8ab191c91dbbd1c938b6cf4f89e5327650203331f17972d22958a35a0a90a2616457d565622570cff0ed18d11e35c7610729a01e15340e5c0ed6f79d963523e516cc75142723db7bb457bd6a7207a5e8271d02e612f7d4a32b4ec4ad45b852032fe751e51e10e748f5cab4c34f5134992fa05f6c3229b8c87d762ee2b2b0aa4663f186f055232b172404e228e249fe1de4b2cd2d43aad57219b9d40f63a4ca8785e827b6117d2b3346bd39a856518863d3ef9f4c44a9c7c516be02b340ab1412d16001b51eaba042ef31d6176055f563a6ad25722018ea4990f05d1f3806fa7dfda6e6d8ccf71e6c23c2c345a73fa70d3b13cdbd61cb6c14627fe583cb5945698fa8c0c5ad5135fed52fc1815ba2744fd1664867333de050c2fdf217693ae2d8ed3dbe5c7e048b905fd34929ded32ee9c2e858441fa9356dcf6e04706cbee840cf2d016efd8725ed801227f0f05afe7fe23b06ffd10a41dbeac4d1808538baa03dce9f47cccce2868958ca95b654ae70b620082f24ba1669a98f586b00ae77cddf7a03da36386477e541f2c53fca3800c64f3d91045fc536f4e114177e2fccdc6a4b8e7108a40294f22af018aeebd1ad6dff5d69674b3356ec5914a934d50b3eb5471d777fcd3326baa324a98228d2fabfbe8e50985ada7dd3b7016d04afe4b9ee4aac983a356d99d3fa813c4c0e3aad91ffc10e2b795015610898c4461170e1533e644fb09b8f31494b2c7626e9f2a6bafcba9760679fe60d4395f10ee806df2406ffea79fbc797a7963cea93851904b215211c30b19d7840a80761fc4b54665d4d90e161a858d8ffffbce5027e1ed63f707d712276c7f507da179aa504b0f632ca0ec07d9f9daa1be34f755c9def9529cf03083d6ab82f4bc7d6fb7d994c3cecd6e07470e97b2f8ffac2068ad3a864b8fa11225194803f5c179ddb68a5cee2a02133a95d8b191f3750755a2f241615a8e6af743dcad95b8e6c8e236b906c875e9533c10aa087c57122cc102765bea246379519c6b518d3a0806495f5ea8fdf446e458f8efb8037ced2d64d684bc0b38a865c34e764b3f9a128c81f32c3dc8362830b3a67a47a42578299faf32fa68503d8933d840c629ff032c0f4bad582aaf9bd89bf1ecb123eb1972c8742cba5ea3cc3db73e9b61434d8a29229869303372519f82d15b7657035a203901495cd1f581f58d3f0e8d02a6b047b11dc5e0816eaa88a65f634f796b4cb70fbeabbb5d6f865e63e87dbfe13bc1e95350edba6ca76e6fddb4c14b989a811e5322f17f7c2cf43298a39c1613b692620ecb0fa2d156d019b1efc0eb86f1e93d558744dcfda7fa4f24ff8ab3a8d7d18646995ce1c9d06b0a8f5b75180fe28926583740c879f1286075e1c90e2caae612519b420ae00b7f3363fb9cf179058585dcb0dfa90d09e21c60c91fcbf7a89fc6d11628427d0506d04b0955268769e05a9878fd0e133f88f12cbf77b50fefc2951280ffb388165b2aa19e36336f2cd4d5188ff1b90f949a04d76ae2f10006509cec67aea8b9cb5d0b876ef6a6468cb2afc2ff803b331fb94126ced30313c523c7dad0f4b5cdade9a487a8b118a0397b6c9be05f2c3385da8e54e1061bd6a4585aa834e1a87917243f1204015023725460e4caf24f94be47fa58738f90efce8216ea4199f9f4f6c9a16632d0f4fdbc629e2f3f50059b80c56372d0ecb22fb1ce36d9ec06e3ec33de0babb080808e86a29feec25fe147b152446e28d1ebd814a271512de9beb8606182d0ef42d49884666cbdacb4121b305c3bd864041454a78d87dcff48573ee9b0ca5ddf33f73636e7c120edbbc2a05a821bc454c9d674757ad10667d1add24d57ac6c0d00d61b410715514e14a17c2c6b8aa5fbd0e11de322a84c88b8eea9397a8edd25d534eafe96c3bf62c0a79ddbb569b003bc550ca2bd0a1ec5a954da40a3d94213193c62ccb2f414d156b47f6844152b06890e25fad7aa2d7adfbda0b981ad9aa6bbd383d20d9b6dfcdca6b209d6f1710da286524b495e2d92388eb717e9eeb9d61f5a2d6e3c50847fcb4a3e0bd171d5d88de1fa3e6dd3b0d25c37f4e632e1ba89c78e8e7664386cb009c6fb5f6ce2a176e952138cdf0cb2c898ded9bc5dcf1c4c61724bb7d22d85d06a4590fecb04aea477f41b1e7ab0d0828b12d48fd395d593b5f3cc53310e3d600a465836799663235cd8974c3dc175f37934e1313d39e15d10fc6a7bbf5302584b036d537bbc6b9f5e8726f35e0de3dec988d117b8d461bd1b01fdf742ac27f5e6cf5c41b97437b0cff9d513b824738f67249d1ab255ec9a09c41d42e469be849daf32017ae5245b03a6eef91a81c2d25342f862d4a5f11f590968014c72b7010954edf94195909381ef4d01faa7edc2241b6ea7e5c05e6f89b22f0e489baafc3b940cf147532a211ed380c430d0f0409061f6bcc1e9f95a7c26aaf0eba0a1da150db2b206839c5c02bdc953c9d401ea8cd04b130feb28b858e15a1f8ea48b274311b0abdd6c0a0354ab1b0f49a0241e8e09d667cc064ad36fcc9169080fbb130f3de041a1480ff74c63b8a07da7a08bcf1367a106c04ff41669d24c384b20f4c7e5812c0fc110f27fc6b3028db7665dbadfb1c8c8ceb510d3894e832b7b4ab1d3f6ce63f5dfb4eac60b53d70fe71a58b359766542655106e5422563c43827d34f0bed9769f72c3378b4c910f22fac7f258d7373e1137837d8a3563c34de2a695991cde6f64445604ab2eeefe4855edeee27645fd3de24655ddadcbed8afac067970d1deb1f61ead8d1ed885848380bac41ef0b48c8ccfac1fbaec09cdf56b4f93cc5a35e88b71acd7ebe3ebc08977e061fc66adf8340a3270d939ee8dcbee5a52eafccfb28d53c5bfcdd330b6fb688b036f6f8085b3a3e80c3a0c8efc1e03e0da0480b807a7c78ce3122e6b4272fb33a5a7db705fbdd2e7b1ae4d192ec5688ad21de604d1eb0f825a05b0d8a233d502ef9b640a73e533b269ab515ffd3401c5ef328cd9907e8fa5b3e96d539adde515bb3f6e2850710b095f6af806c047ca96af510532fd38c1438bc53c1949879e26ec9244c83a599802e18f0eb1b6256a6e27661381a179b3e2d480d7d741dc0b29d56cf8245e958992a79e174b313e75c9219ff11e1d65236f0dd713fcfd285c8443bd90d36245ea258a088b19528044bf7508ea58903ed241bcbed5c9b2c3ec7c0dbf628a8272b2637f5202ab139a44bde6e269d27c60ca613b734b66653f640208afa6ab759a7ec4ea9e9589b5e22e43657dae01cfec5c9aabae4016a9555a8c444400429b4f59bf491b4b7cfedb0277cad79907e886947f64277b7e1c598750b32215e258e0938191492a961aba8775a6551d684f8b530910133e54ed5cedc0b485cbff69f6bfbf4b410dbbc40340868dfb54d9e74f4cd8cc88ac1f5a097f251f5f34649b255c7072adc1e57f668a65ac8538594c99d0c6c63c8c870ffa5c1ed59f66b0b0ab4593ac05642f110a476823c6b3540a8a1766d2b64bada6bcbf6539f4aa682ec16a01d2388b9547cec734e500db5a579355bd6d14ffa9dd8178ec08e9b0a75523c9be71ee2fe3e41b8c871830a16e2b0c2038c3ff32a8e9b85f95aa12a7d3d0f2819fb913729386e1021395872844a2aede951639bfceb13c70d224a616310252a5718e947ba2c8d9be2308d0670e7af93f6d55978ed778d5b988d56d21b57866b0633dc2884d8492b63abe71f877422c189dbb101550ece8fc627e8c9cd69b76d73f5893f21dfe6ce4c2d326d163c431c4b4a166e3745e9b88ed88c7b3f0eab16f8d7411f2d22fa4ec571614b90794963e3cce6c4938879fd6d5d570cb27794879a99051c8e09b0d76ca954e396bd7b0ce72c786c870118ae716fe6696d19426767554d51e469546140da3ff50bf34334217be61fb535bdecd70bfaafe6dace192e117c343f1dbad65b227ac14b371ab51e7c4bea7c74640a4493a2d19aed4eadf2256dae6bda1990b8cbb26753648041fc88b5bee1137313fc9398999bdd256cac8ce9e11e73466465707562ee4757d4ee0e7755d4ef716e55d56e5ddcb30a8e368381d1fb0c19af6cdd7cd9c658ac9ebd6eccd9f2a33ecbb9ace2747b38c4d2013a23653d6160ce1da9030a28229f53bdfee944bbd619d6d2164cbc90c31db6820d9898a17d10674fb9a61a0f5a00e7707d6b65aa0392d487bf44146cbc83b79fe41c1f496a99aeba47071987599a63158e8df1452203ff8403fe013144f6965b4a99a4944906dc03a003a10372e401f2b799b1c9930de3954e7833da33514fcf781aa423cf2c573d91cc94b461024c6932533254e990d2991bb0bb44df508e3c3c4295f77225115a17b49650e5792605b8be1b93f63c130d4c584339ba7e84aa1b23ec4939476084d23a691d4ba012d6ea2b6d63a4e5ee7002a84e4aa6e6e6000b401e09e7962ea60b0b7a872a694b0003201001169e9abb031c838670e2d24c4917d305ad924ab6042185baeb49ce6f7e7ba7a48e4bca712f2f28545f386d42df2a1b79543473a30911f701cb3644644195222b1ece49439380db01684e4c693d91e30e2921aed5072c1e2802440a0f232266f8f6a48e54c2a8ca0d3c1889ad741c211269df32c68ad04317a2e58b0d98b59ae8a1e58845c9580506193a7c80860602548786e676a3b9d1d098a081a192379a9bafc50b0f3e1875f084be0fb0000898226022741ba16f939b28e2a856b70733f44de33bff0e08614769fd4aaa519f3aadf4e425d0d4a6d6f83de54c4ab9631cc1c884e17e254828fddf935a2a3053734b134ee4d1cf0aa45041df6c2008257124862c22688149d18cb9310f41b20b2e7594225a1ca4a060a58473ce319c7bb38cc2b96f90287223870d2947ac2b332410c4424d045b7408e1810a4911ca918524ace1a24208bd17927821e9dd2f3c64cd8302d03b859c4528c71990d02594230b8811f2a5348512269c80acf29dfeffcbdfff52ca7aaa75dbb744feffffffb958076add2fb1c9546badee4ae4f87f1cc4bac9e45e2beb7d7ffe95dab05493890226ba77dd4c5cb6fe12af2613054c4eabb5a79b4d6fc09b9efaf5dafa6167dfc9fd6a4db646ebff5b1d1000db24c34ddbc4ed9848b0f7c3aa7ad921587bfbb6b3b6d66abb595aab8d093f73ee26e0c0bdee6e77b5a9a41a75ffcea41a0f50d9d85d4906b0bb6e8e44c3627b644ddc931030015368ea76e648351eb0374d8c4c491d8c4f375bb65c24eeb2b5f9b02b759fb97bc20028a539c450a59f07d60b1bd13494238be7a63f94236bc703195924e8202c1be1dc371fe836664239e2b8855e28471c3d845640d8410223b244095ae18a0e337492609d10822d22f08c600612cbc2ad16bc0f414074c8c6209e3148c71864e309111f6404a2825318819ccc30028dd73502d9f0b011c88511c8873d6104da0174c39a40cbf8438482cbc2f8a3c33d1a7f687871fc2932fea430febcc61fd76afc616db9408c30226e0e23ac688435f920b4a7648b9123ad4339c2865814f489508e30d80fb01c3689161b34beae30195f518c185f3d8caf1cc6d70be3ebc71fd1284239be72582c1a87727cddf8a14d422c21a504264ab44c28471f235a744c28471f15ee0f9a14cad1c704571d7b9084a5508e3e37c22e94a34f09ba68ded801ffd8e6fd5bf39bdb4511adfa9d3ccbb3d6dbd3b75a3afc71fcceb7a8ceefecb47690d8117f7caba587d097d2f901fbbdfd7f7f0a4e90f434aa53da5286affd1012faa2ca7757b7fcaa26ec4ebf1ac2a58b9c35c0edbc6d6a42ee74f70bbeefa42fd9fcea757ccbc5e629690039213d7d2ae871d0d42aaf5e4603bf0d68a71bd4c060a1e0e5ae7f3bdf0ded5b7e217c36be95762f0309c526e399e0915c303042a365416dd1be97d0e08b5611ceadc298866f432901aed8dce96d18b502bf2d157e93f9ed6002a666d66aadd8e0098cc91413833a01cecca0909032c60915322ae80e5ad5addef6361ad4112814aa05285411282232f08cd06859320035e856fcaa5b8503a809df265d0ca1016a051f98c21e461db1f0504268df282cda372a08ed5ba2aee4cc1c1004bb15d5c1a7b7a9e86c2780d0be55cf8127650c906622ba853317516512dd4745e691743157d0f3ca9c34adfa1e7a983054d3a88983e026020e56b44821e1fabe980ab98a508e3d453d4d42d51782cfe95e6949c69021ce09b48ae69b74522a7d4aaf4474744ab9678e0ded9bce39a59cdfd3a950bca06fe627ddbdf9499fdb8319a3fa50cfafab6fa3a27b4e8d81bab9063460667e12c50b7a4e3a6796ae8637f393148564ceb88702064d77786b2f26d1b01b13c1d70e5dec3e8439188c2382b94bc4d62c04adfefd8c4934eec6d3eeb73b5bdb62d6cf178ab5b6dabff762fc8f1fcba864eaa6955228ff6fdfe9c596eb3cefa703817ac5352ccd565b23bb5cf9b776cf20f844adb5271506b05fab5120204b8350fbf8ca5ae19c19d34c7c25cd99c6dd79624a4f2a0c404fd5687e442d9220e286b281cbbec56f7e93a929209e371c09cfe25630ce5e17a4ddc8c6bd032b8946add5a3adee28734f7767f1b41e489f1a78f9fdb6369c24c9ef77f74d182ff28b69314f7367e2a873f5519d1799fadf2a50d6fe9dde50ca0bc2187c71adb86299f055320e3885548e3057327543ea7c601b9a393e18c218e3df4eb77b0ebbeb519c7db2e5a87431ff9f0681e383e383e383e383e383e383f383f3c281e1c0706038301c582a090e0c0786f34ad1904a62c3383e383e383edf1239733731542f65bcf09cc980172e83c33846777a816bf86c512f78ea709b3bbdc040054c87713e69eec58b70be78611d0545d77d3d4d532facf1db0cd17fa7d532e7949286a7c58441675c52e9d4868e2a51bd5a4f33e8b1678527f4f6187b5e9900557060ecd34302961e1c0ae85949ac9d84aa9922305ec9a3d866749bded491351e2417e36b9f7e1829d4daf3a1f079e0878f1336c8b1b62807b4b608b4b688033066490ea595f66091fa6a953e388589f485689fa40e04a4b30b41e9c22bc12705028220d86a0dd11aa2d5a235638fd4d91792f7b0d6dcb2d5824d97cfd3c22d1474f266cf39f7d7f055f875ef0004043453399c339e0ee343070291d66ab98c8df204e226109e402e2ba52f7a4ee9613d61747522e01d5f9b87f2504662ad3d55693b520231a5b5bb5c07849b7ead910b534aeb753a8d88d4d47ce532ce401c059aab207cd2faf6622e771ec9a5a45f4cc09862644ecca048a1a2a666c5aeb5d65a6badb5d62ad688178834a20a318588429c11b78d38239e1065c418d124c288362711463421be885a2c89270cc492e82292444fc4e046f4c44ecce24d0662163931030d444ed40025a23eceeb6478c056ab05b65aad0d82ff37596b3dd2c239bd496beeb08de91c88563d8f2a0fc94362f0e9c517a2d3ff791e3675c456a6ad3a79035e4a2bcd7bdfcdd9bfd9269d9b8d9bec1777dcdc7178cb2ecb1490f64d532c7851fb6f306bb56082780bde99fd697d3990c3f49b69df9f4cfbfe4cd0bebf98f6fd05915c449792fe80b4efefc704cc0783315d31c50c1123532b91cc895a894e7c2f1429803e1fed9be6825a815c50532b909aafe7e3f95cdab7fc4af8787c2dedfbdba101ca3342a37500f5753b56ab8f84efd3c102c4f9727c1cf8581f0eedfb1b01e4a056220e3aa895a8835a6bad44da4100903a20d1b8313d3307df6b694dd8797639631eb1487d286a811a1d26d5603e0ca1a4d1170a391cf94db99f8784f1cd6f665a44abb20c39861c034803399b0080d65acbe17d012eacb4524a27a594d2daef802008da582e670ecbd50ac7eface611524e187504c19f9f9f99ee6da53579eb566ea5247eab8a42b495fc15103daecd3d4aa293172d2538c1cad1c8178a31ce4ae6376546e2f6948786f2900fcd6fee3c14ce9da9946ce074c159c9f5f1438a252525251386aa9424495612ce2b966c24c8352711a0865485838472ff0fa197f908e5fe1e52c6c73c678a2f8af75a9ed0025ea87a51e847cc657c0f9933f7f4f1327a7a11060831d7886a6a561646752ed5f92bedcb9ae70f9fb4bebd98cb9d477229e9171330a6189913332852a8a8f17d0bdddddd7dfb3ed1a8488162e6844ccd8a0bc4b71dc9c498604cbcacd83436918a2fbae442da362aec918de475f6289c3bdb9c52b46e2d73f884010a796be11606f22613721e47abc9e004472be11b47c3377c93a9e13897981c38f0deb8759bf760fd9d566d248293d6bb650c1ba0a6f593bc4ff5a1744e9f622f0aad6ff9cca77dad7f982c7825ed42ea723efdca06c76df79a50fb947c5c4832cf27cfff49f158b1d6da7ff70b7aca952a21c523d54aede891ea408a847bef4de9b8185fcc71f83261c1bdee46f7ba1ba572f8a438e0ee7277a558291ca9115222a43690da49dd488590b2915ab9ebd8b28412492071afbbd1bdee46ee7eafbb9109ca57dfb621438cd82068ff3157670b2db460577b8b7a5eaff9e3c78f226e0e83e1c022f541a9728352c5c7cde57231713171b9603058ab05934c5c2a30713171990083c1665c37180cca0688603058112f9a88c845d4f26189886e442b180c769b61369bcd66b3d96c369bcd66b3d96c369bcd66b3d96c369bcd66b3d96c369bcd8a5c2e97cbe562e282c17cf8b8b96b894f7cfb38175cb71b0c168339c972e4eefe171c6205474260994509e28a15282b98324505b02a3e7c180141a588688a94283728ae1f7c78e224051be4583b2507b4760a68ed140e6eb094d6998545ea8ba1394ae79b16c57c8b1243abfdd8c083c5326219b158d9c662ee7e0f2c83b4d63da8116b26e9e4cdb693b22a35511a76b4521a14143463b14711a154a3df8229ca446cd007d5a01d9948a936e7fcf1a2bb5a2dbeb9ebbaeded4aa2e1e5dc65214aaf505af43c4a37107479f2c489935ad1cdc774e4ce956e2ff4b6661972ad74cbb55ccb48f25096c165e423b906e962ee7a52e51972ada8663a9a36882daa03a32f9e7ebfacb4d5aa19b2b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582cf67154582c168bc5b25fab112b28889e507a1edf32d3ecfcd1aa52adb664898c21c54c13854ab552ad3444290f70d6d75affa03a267d457b98f5b49d5b50d04f906d72056ca1696a6ead67f611273001931e4a10bb61e4c1c6c38d0a9525413bfcfce8a0240909724082c30d360cb16aa0e148cd08152a544099209abebda9a9822245be11e4585fcd19d96bc27c3ad9f80ceebe8d45ea9b424fae08116af5f414f514f5f4f8c49f3bae7be517f76ab560453d2c6c592425f6229fe2ebf59a99d762ec2febaf299fe01027bdd856c1f275e5cbca9796173d33e7d8bd08f72aee93b39c100b84bb4fc7556a37e8c516bfaef517153a2293c96432994c2693c96432994c2693c96432994c2693c96432994c2693c9645c8c11075e6a2fc6453dd75fd65f72a2207d62ee39212f64bd881e9f58a8889e299d4b89e4e595af84e49ca1bde665bf9c32e033f4a9f47279913c13bad74789410817157c77f716eeb556111481e10517645f083e10586bedd782bdd75e8caf55a2c5da5a8bacadb5e8fbc0eb2352ab905a857cb46fc827e463e10bf2adf0a9f001f984be9401a8344c1fc94e110000081213180000180808c56118c7d23049e39e1e1400104564345c6c2c2c93474291301c0a06c46110054118c3300c83600cce28e59c842c0b2af8902126c73f006d9b376da98fa4cb3827c4e3d5357d34eca635641f3ce73c19f62e23b110de73e20d22fb82ec0344e7502788f8693d27051df7f12004740a7af105d684e7719a927020e15df71f56368acddbb5375e518c2a18d1f88d7c8d4c0c195d50126d8168ea923f6259c3012d748a17b6d2f820b04e3a0957bd7a4e69df498e007ae1ff599e8a513239a1c3f2fa122e0f966cb6812189e4a637c966eecca25bf48d4ed644bcc45e2a5137e36c570111c6de03214979f253159de695411d843c209b48e5dc9e3674d9864add0e2c5437692ea570ca27fe22b4f2536ca1ae8e0db7ca264ec2bfb61a10c3808235e14c86a3005cba28eef6f731193cac737ae6ea6160a4488d68ccf850318384880c2f295e790e26455a60c01df812408563325b44b51a1cca71b4121cf3298be3e98dc9857195aa3088ded5a15724117784198aa50414665f9c3de8ffcad564733d2e43dd993ba8411d8f1f3f64d41b82cd15fcb413339d999bd200b7fd8dcbe820d96b6099702de0228c0bd163281a8450e4cf0e19e586877dfa6f80f6e5b70c25fa4939e2dd58f2ff562e0965fa4a11ba93e826758359eaa2105d911f3b788437b03294f9db7e62ec3c44a45749a9db79445b658b45c54cef7c894b549e159e538473e63a6be582fbca43918898d4f385517cfc5d38a9f13798be8c529f74a47cbca9c48971970a66daf3205e8e87a7c44eecb453524f1153e2eb5385cf75677ec8f7f3b969a86bc3228cf70977ed8cd53e2892ba1f5515fbdc459613a24348f7c9c0354253f3f3bb7b878a3efe1c44a286af5e054daf7fd375b2df6df91eed0a011dbe46faeab73c7efa0cc1caaf548b51818eb6102f945a813b7bf91582de750f838ddd18b8635ddb68d017f4126476e5b216841dd7fc6dd86f74868681d56d01aad0714af33606ac6e73b2d46f0858d59662add718a06a805392b701c74aea611d6dd710b3b58d915548d4c1ddeb48d8c2d13fb6818f3f16f08fd0d74b7a300a48660c2fce53e8093237e640349a12d25a7fa1df52b1b46f6f844b44d544f7fcb5fbc0996e1df72b1e4864e3592982ca30f44f432f74c757ebd0cbccc2612c9b500fb319757db4203a6d8c26264940a222791c839804ff9fa1dd6b53c20d49f9201948af50ce5b3be58febb328d4414a522c501ab0880225eae87cfe3429a05231d14b9946682add541d6e478acc8b1bb1667f19aeb357c781431f03673a2b90c214fd10cc2748c18f1d5e3fa19b4c5248b5f499ebdc61f943d9f17cca3e70c5280a615a031aa5ae5261cb24323604ac1ef8017adac630396824c71f1dd2da09125156d6555448751013238d3fc1f4654a7fd090f2f0a6c2b937bb8f61ce3109f428b0c2eddbfd3614a412b27327c06a329d0885626b8f7bc382ea80f821a6fb3c7ecb08caef40ef76a961ed6107cf3f880176c0fee9afb57caeddac0bbce75c292ce80a80a9d9405ebc17f3c26b59ddef14ef85093339a306038d74fcd0fd60d24e2b86e1f1bea889b521360a54124879505f7cdd0c0bd347af6413a1072865e4a3434db08d4d7584e62bf9f8fdf7880997ce0219993db6c03e7081f85c1f59192fd9d3fe3453ca5f52fdc7c1eb0c2fb514919f6d074105961f297bcdbb1716bf76d190a93edbde618b1442c3182b6202d5ec316e9446350c8d45aea8762c7f2674cabe7c517b4b075431a1f65b8bba9ef7a34d7a25d31db95064d2d3d6b2f46401f6daaf0751c959d3f23301e8fb113d0aaca0ab3c2f000621188169a932424fddcdb5607d3e433242856664f21d486dd33aa2d998b56ba78d3f50c0b34bcd1b9b1389c472b01c03b1b255d8316b1e91c97f9a365501d003c886bd7a8fa6911ef9b5d55dc3d531904f9a1423129c9d21f3a6a61dd3955782b0d319a3ec7d20800bd08243fa51a37a998d1ec90b7937285043e204032f1c2e6f1b365a058f5ef6d2800033e68fb6ad16915a4e56e9041c90700b4c019e45363ae226d2421a5fe3039f18d1ff06c4ed5fc3504344be9960cc682fa215252951a406af1b0aedf6ccef112bc8f0b5c9fb6d4bc646639f69b8df585d1b5fd3b2c9279cd3dc43efebe624cbddfd2b25786d775082162daa7a0b50dd1660551db7346f63c0aab6276bbdc680556d2896fa8d01aa04b8a5791b70aca41ed6d1668100cd6f47d7c2f2298b093eb59f32ced027eeba43634123630f077fd8ad489a045cad857f5b5bf8e25feb90d94e8aaf59f44bb5204a020020c4e889f22e7c47f7c3179c06e8d35e613ae7494ef45415091f6e133471e8208c69abc2dbcff579472525e865c53440dca63809cc3fe87864670536e10ce3031d7f2f7a83acc745d2533d849656d1863afce311aa19c83f45c14701335467ab034e8bcc425ae63860a489f985f271da1be673423a9afda5dc36523346fa9bd8a593415e4a3d867824bb294a448d68302c6b1c890628a570577a5255ea40de23503505d817e4bd2f36d741df44a4c4cc3cef3980fc879c6631ac05810b32068e07d182d463ab14caaf9410ce1857f8e6b95dc367fda020958a4ed88c28df02161340a574019034de2682e136f9710728d67bfe56cf0a301357f41550f199c2d8253757ad6050f951a4b8c7f3f5edf86743aa8ccca7860179e8bdc550045c0303d9f1670770c4374c5280bd5f798a295878975ca2a5825c7c20b130aa52a45ae31af26960b244c5afcbcac063f90aec8f5b0ad42c99ba22525621902eec06104705a6c5c6389eba8aea12b0c9810984a5c2ef0cbc8332e7c6190bba9956e2aab9d46c2919af5774f406853f5e9609c5aeb4f472128294c136f2f95d9bf13798be4ce90f1a123ede541887b2382787f167270f7cc60606c7b9109a29db8cc3789361ddf7f52c40a6360dbdb1654b2c8bdf8d3a0ab584c93e9ec46c7a5953a01ebc3edf48c5f90753cf677a14909d46cce0272e000d3cb6bf2b135935674029a6c95367867c1b85d284afad703271d810e82f83c45496d4a9441936cd77be3c79a4dad6ed6cec9babef19886c63ffd81b5cca3256d32896449487fef2f1d94ce940311afda69c9dea1a657f7ba3311a00a20b85bed2f50d73be7beea8827bb617f30de9edf8fc24b0eefe5f5011f02820f4fb3e4b0273197f9650105a3814125e820686e651d1f7ad862db4c263e7c46a47b92583c611a418fdde81455948878748175ca158d97b4b006774955f9aa9e70b28c8c48e271915509c6a61d37d992ea4da5c8ff9008ef2bdf364aff92046ce728f985ad44d462718df09f49b3c5e24d21df0693b157289f58380937efa466d7c0c58d516a0aa8e5392b72140759b93a57e6380eab6146bbd8600550538a5791b74eca41ed7d17681283a2f77e7c117408ac1e941d63fe0539c04488c18f37a6940eb7f0aadcae6d41929ed2f001641a0029053188dc3b86eed3e82281fc2431ad36be367faeca6d8f9c1e5456ced45b2a460f2257b4aad1d05a8db9a3c3a71ab65c41edbea2e373da7c8b6f1ed295c88f4a631a4f167210742793dfb864a36cd5d09b1bde23622a76d8134c7022c6f8ac504bf025ea8798be211e1ebe65e8c3a281ef065cc4718c349186314309d6b954b38b54e2e3d1e5c0f576a1dc86e04fa4eeb910aa62cc9046022e80c20d24330acdb8e6f77100c90141fcc31a54b074ca2827eb4cd14d040f2a09c77894024fea2d071da7f60806f5c1d6377650323c91f5b0c980140c1923026c311002e5c1673bbf733393cecf33aeeee8160a4568de8dcf85030c384b094bf2017194e25a55aa0e04e7c495cbeee96022948a0dd5e9204952eaa0eb72345e6c58c5a737f626891a0c828fa30c15c87a8d9a346558a76bfc189e59a6d797f69c1e449d1892e4ff697fc75868e23ab681135be39243d94dd166e2cec4ddbe1b95d331be818f0659ed21e78acb7c7d8b416a03c90da08b6b1fff24ed96ad301e6b772922943eb28870a965bdd101cc3f81959ba1421f3079b83943e01c972d12a7b7ad47a81ca1bc95fb8b5c4366d7bd228930050e8c5f2012e408aaf75e74f5ac630b9a5e34e7e636cfc2f4853878082efe8b32106f33947742fc258a1460046a9e89d67ee5994e7a159264e1e8dc37ce987d1891ef284bcd933b0ff98f1d18d0fc88fd16584780e344487de2179703158869f361cc04bb8eff2a8052dbee6530291bab8241388fbae8faabd1cac2148b7f459495f9107ab5c57c6f84ff7d73c9af09154c9edbefdd18a4b9a06da68619767e4ff6d010659621a8a538bde1a2839c6fd78915da33a81eff3f7d9406e9a32e2628ba9e4d754fa7dda552e8d113a55423954881be31d7f28c3250decbc244abc9da7eebb91fc6a00a81ce620693b788369b786b24a5dcd083c299b47315c0d2e55a6b7e8570e323dcf7eda637b293db515e31ec9d5d4046f0bf47ee833309a4138a3e2e8711ccd154a3905031be22b1d0256dae3ec857984e68ec785c89113489bdd0733a2db012d86779d7cd26eb13fa40357569af8916a7e7ff814fd3adc6d7d8f6e8d3f7637596e34c9cb1a3312dee81f718ec848b781eb6ac7b8d4570943f31ba2bde50f1c655bfb77f4ada029a2127aa7eafb1db333a2be887662e23a7c4fb092678ee4d5d72e4fd51a1d37314ba45c6528e4d0ad2b40416fd049cd190fe77a246d676f5e0f028e15f8cc3747058cb872bf95313e20ed27c0a000748219db6d85bc8b2a19d477038076000ac214f8c9c0cac0d7558b3655f611287820fe922399332bd7ff51c960cf835d38d09b7c16962afd59b5b952de11b8965c8f561fb0de28f8ab3f09d962843c1491ae954e25946bc6f3463a9510235f0f7d87982ce8270d319184530e4d00586e666cd9422e1e0e9b2c21371fa72537de25e2022e3e4e4bb6809b87c396192f093101370f475bb6909b8f33b61f344c9d8fc39225e481316652c8cdc361c98c57dab3c912f2d0d8bcc115686f1e08772cd4eeda49a850273ef243a75c00032e1e79f7abfef9c8ee65bec2e424a2590bfed203e033b17da0b326d3879f1043eb3144dd5d3d0d1bd2ab99b0bc35b743ce320201d1a6f3ede71265b60661de2d404ab70e6381eb67a740aaae72a43c9c034105a1b116f0b5834435af22539acd55d95494d668f070136ad218c87361ab43086a9f605a73a2a2a60e1f319d6afd3cd2573b644f36ccf9b69327769ffa2015856bafa9f0c471b02e64bafd46e5d90665ec805f5fdbd4e22ae14f135b810b272193ca1d81d23f5842ef9816e680ce2e9d5805182e74fd1a5180ae2dfd7e9c501876462ad6d7311ae08c98990e9139d9f8fe37cb66bcae7850328229a6f97c6a1b2f5e778dc482123af8a6a23cd950fc4021e6c4e2a6d717ad8460fc726e265a8d56e93902a080131e129ef6f6b7114f322a39074aac3e71a83ee18e067bb9d5427bae7e1037aab1a41a9e14c3fc4520778a82643de7882af53bebf610d39927f2ad1af6e55eadc621da990925428e756bd55f54d87cb0cc1416fcbe814b85f7bb04b6799ec733c8f0e9453f3a0f3d9472fab28c808eaf958d0cfadffb45c248347c422064a281493282ba6f4cd2a4871169023935439ac723f8130612a2c68d1aa7866eeadbd5e1577e8ce37ad2a7a0c3e539d83e2ed21c3545abfe1c006865faa8c1a0755816d7c394606a45705c9735489e0cabc83e39addb14c0b55bc41ae1aefda583ae9771ef0b1666bcee3324eb303490ef43305857ece847682c4ecd073982a3647d106b5d9e863fc8d017beddab50b69475718ce7baceb0cf5b82954d57c6b7ec7867da56b1b470a2a7bf6a397936b509f17a271ebc6e881b2fcc04a1e122bcde82746de75b28ece5945b75ffc06b94be285894e46fed152e2a013c15eb10d8a33181b310adebdc65d77249e5ac6a739ad260d9430abfc0adcb5bd4582057ed7916faa6f384e58e18ce6f995f3a862a2ae20ef097828b0ec8cc033390dae4688ad536da4a1649fd902d36e7e289a9e7d5705d3b668d59f431fc94e1df18c873e34b622b4f961f64b0d2871b3723cd1a7aa15e7535b1234609aecb3bfcb2a39b9497186dfd9d7b96e881e2247a6f215ed90065d8a747e2ca152e0d74704054f1d0ec28c80ec44a8b497645dea2ec557990c3d0c151de1068004baff06e42f72fdf8aea5d94c969b80b8907a39f3d448f0265b96601dedd57cf08d03be5c7c4905afda9c7ede9066f0361f7371a4a40201c8ab9213f0e934904e123eee379fb6de6445edcf8c9f0e9d46c118f9b7b000473faeffa9086caaf15c88aa625ebef9bd86f78dbdda11b89910a0f336e732dd5792a42699d53c8555d1d789d25bcf22abe91a9a3706dd33329cd9d6226b38912594e704cc3683569a9313da761de5e5f6fec84c79d5b7b3726b04d39e7a3e22230875217b06a0c98ec1270dc59bcbb909d8fb81b4b687d1e3988f2e22dc9999ebd4e36e6db04b5c24b8afc828644ab50de802022c507d68e76271a871a4df5f0802f991d7d2417056db29d92ab200c07ab7fb26bf136dfef471ddbaf9774f430ad9476eac7bd937161c01fdabe57500a43f596bbc219acdd8e7021f470fd2869be02eb2986fdb2a0e14eda904fd1b218bfe2ffc233b814eba2aa3c6bd510e187a137736ec0ccdb8ebc09113287f48df14893bae322e94a68561e1db09ab74dc7af31f3c5cff58adcc17a0c25473e4e87cc5669a0805cba135e0fc3aff2a94ec5e5554ee04cfa0b3678b98ec9217c8252d3d44fc770a00c33e9644deade07b18fa2a0cf81eaf9de865acda9d29146b0a05c6c8fa6e90427b563753141048759ba2d288cfb32c14cb811e066f8b87560bdb7bcdefea7e4475ecceaab5b2fb028c0ee7bcaac74dd486b3eac7d01f292f1289ba5221c76baaf7c0854416de04feec55971e6907339d55ebc08801a9aa0a33198b7fa21eec73ae8f5fd16e1b47da319a4aaf9d49b0334a4db6c48f2faa250631714018af788e9d2c61c64906904f199c6f3463a9510ae19c719e9949472ddbe2f8dda8a00a5567ea5bf46ad1a1ba05cb95e9e4328365a9c2c3f9442b23af2df09b7987ac3de9b823425ec5695633d03cff2cd346961afc33d7820f76f36defdd80bd30a4e7ee5203db7ffdc11b570e7d8a4e0911453c279462d3b4c2fc644484cee715875d82b19fa215aa0070a0619de668051f577e2d222ff7010f4829f63360be980d57ee29dc7c74651606149669f58fc5209678c69a1e9a7f62c16e876fcf52ac01b820c3e4d6a093019497221639b1e43b235aa30758b104e1d6917202eb27afd6c67cc453dc68c83c35604791937a3e87810206eff6a59f3903f1942d0dfb824ed8d0b2040f1388c9f1218cd670ad766847d980edb855837f0d9ea7f8cecd62675281fac028e2af4e883cd5b864245b27b6b8787994884872db14d4b1680b925f0e340a44bed7217651213bd609ef592d882462a66f7162f9880020eb2db8c007211a9e6d9ada5c1d17061f4c080d96de61a828053db60bcd123091103798b2e63694c7340145b20f7cc84728b02d4027858a5b31917076bba945794742d8fe89707250a9f1e58378e87ce545ac6e20abdd71f3a947553e8bf75bcb7444d43ad5401f0d521e5d425bc90f9729d158f0e3090d7c74cc3a51cddda76927b970325a3121b3ad9c23514b627c7b977771dec471dc78b0f52da7a9c13d8ab76bb29d37e7fb65143bd8a1f4e109daba49ad7796b920eaa487a9f691f968725f3cbf01fc99af62d9cb39417225df364f87a5e91f853672db4097b7e34334679278ef7c869a97ac81021021291cc77b62f37b66cea7034d38dd98aa7d2719a5c840300d4c0806239fd715631a122c04dc2a9ac0c4ed88085bb9d5c83115ef48001556f55b633b735bc3484ce44fc466a40fb96fc6fb2275dc89c0d63422b3c864c3ae69e6434e57d140ff22fde1dfe59bfc65cdabfa89a61b5f3331587e2e1ceaaec49a8640991577cc7226bb1fe2f8db4b8e6a18d6f35e5883ef6c246367d94df270ff91b03838924e0287497a7a3f346cce6953af87874bf72cc00b6b232a9e822026cd7f02fbe867bba0b5c6edb8edf42f432396de7982aec085c2b7edb72d37889feb77c5b2409ad63cf0bd0154f98d47894ec743c4fed2d398e9daa4d6ea708e5b936dbfb84b800b20770453372e2fdd4acfb17e4aaeae61ddd1bf43db90fb931d909812122090fb5ddd92e127b92ceb4a4f272b47cd36af5741f4d62c6e1bad320232522275c087cb413d9bb40c5b7d0b3b034fca5eb196a42beb4898266cf8601e4dc4047926d3d9824b74428ef3bec164a77034de24027e9a0c17e3a879480f9571fb4752a81deb6760b6d466f1470e6a16c0fbf80d8d7953ca925239e8242358d6b161bd7032f4be0bd8fdf401b0a22a86984e9824d48825153f7779950b170e6788e5ae1cdc7f7362fa5c2c21bc24508b04f3a6bc142c8d1f2c3541d574827f7a556ebfb52d187f31909850cb40153a1f7067baa5cb0b586ee3d65f699577dc264e7ad08bc7b954672ebbc051202bf68248eee560122b0c542b84416d818dab559f8e4e04fff8ec99a05d7085b4d84139b5091fafd03d38b6265d487b3d7129d51a63c61387da9811a5a9a3e2f0231d50a3d0211805497149424e1fcaa9579cde465732d41a4cf0b3699adfedaaa5f66c6e4f46cd625a1bc0e391434aa30429f8d17ae76f03e18fbc0800f8fa9124f020403a6b6e2c0c480887832ba8cb198bc351b26b40fdd98ae4f226e36e61c501b81b1a50f6a9e9c453818b7efb09d20b49d32ca3a42e259ab9862a410edda807884daae114c57db540446ae599d628494f511a8c803a9c3de05182f56d965a4aa0af5ef2f43d5a4bdeb7cd6d74060a1cbf41b3d1b031668ec6d8b39f647acb784478f7b0658528848eac1a3d625f976e5491be2830400c9075b8a715d18f23ee59b0003ba004e92d2d30c60e59ff1c14b6dd0cf427f41720870877591a4e22307d16ff9180cda39a904e27ecd84a679e229050c1f7c8dcd4836669c9c5be8a114e40490399a7b7af26191ed5667f5a6f4045a015813a0de062a8e902fbbab116ef0911cacda3a7af11c7d1c0105aebceec401d75d645311c73ec23a961962917b4bc406735fed83d948a1ec62f5a3447c30557fcf94e7a5168938f0dabf107b02c596bc85b7d558e1df56ab4049b81368847766a03db38e01eaba672cd7c47d3327e18c3587315f81e819657e488476eb05c3957de863d17f641d38911588bd6f293e9a3000a37818fc7741d032f2c0255e940ee385705111afc62d40832f19a23bc72ed430ca26289a3f950e4287735891dc69bce2f6dacbedfc818ad343d019e2fd82f172f740c29c2ac52f08a7183e0b7c0679638d8ca9571a5631677649930e15065e50a0578d24a0a9381974369e12b89dbd5165e8fa4f5ac587d28fae8bf6a0cefb33d205eac324a09f820405970b86f44355eb869d62285e822167995dd989c7ecea7b8d4b414141137d0c654ddd4edab8860a3248a34d9c9d724e963ab539f1120054cd057319b271134be4af11bdc936814ff6c37594c176985ca63c9c47e9c8eccbb84213d4bc3bc64a788dc1e3418f50b898011a5780869d749032024739e6c914b3cc0fb4c28ad1ed3f0b055da156985fd524aa1b7a62aa154c6108b9cdec85829dad25cd2df9f71a745395ea4ac2478d000666217f30974b3e33d5e4f72e4984c1476c554257f69fc89d3f93914e8b7f0733084f6bc5b0e99dcea2c584c921cbcaeeaef072a98b68cbe88a0d300a6e1d7df4400b1ccab12cc5bfd8cd0bf128cd5182a0bd06d8d05c412a10c982e180e8629b4c050ffd50b8dea462fb5d8eac5439b8f5c1d7c6fc19dc7d3a0130af2bdb60c07f5612df7f94ff048a59e26e2525806bb33feb621729818d8672c21d5786b1cba5f7cdaeb75594180d61d2abf8c63f323eeab9a4ae5a0a496086917c5364e1470a062aa6df5aa65d608a099a811bcd1ab9ee5614d99c2b178dabd5940a730241fbd7d727928a72e7f18388a0be164c1c2d4b5ccabc40cd29e7fe62222973f6ec42f7a15995e4580a9af086f05ae22a069780a9241c0a1732fb1ef170a67ed7accbea4b88cef021c46914438a230896db60a9deb79cea4a6c32c0ec8cac3f97768f2c0d9605ddd70c85fd3192488ec398a991385d4e018f633334e942925d02a84c87b15b379105327821275fe357475b1a30120b4f024e1beb0ce4d91130ce78ac0090132c880e948127c800ffd604314fa150d58661306b0632230c842d1878e22fc0555e00d22ed01744bb82ef051a63bf0143598f7c01e8d64f96cc312e3030cb37e0d207ac11d21c5c88e92f146b67d4dc3a19686b1fefe157ba4747f60f030a8c6121945bffc4585551856424a7a2c7531327955d0cc15714c1983d68cbdb4b84f9339d0c1b79e37f9e478536448c9fec7c8f13b762e44480159b3889db3f00c454c96d25c2c8c35620a95114a4206a05f22eee56b320383f383905841b60c4ee6043726623b72f6b41c80733c6d90cb062bccc4d146df48041cba91e66159848845ffd9a48ce33cb2849fcaba0bad4d782d03c2db188e6e99e385ad66bb241f611838ce48d7edc70c49286b9c44356ad47657752645de998a177c26898d6d57f9327eea1bbaf79d2c951aa3de4c1d46c68cb5d886855545d0c7ea7e51dfbd1082bbd98f41488fb84fc3190cdb068611f58462a3d624fdab56d8d8ab67a37cc1ae03be7ce9925979d48435a66e9332bd37827c1b1d26907ccbc205b7b0bfa688ee4848cfb23d004eff5d48311af7c918b5de4e7579eb64a93b979d5985c6b6846a418b0afbc99c20b961769e849cc22b64f0e17c4185a515f3927ebe90ba4cf11b52ec2161c827121da5e320340ea8c9f2dd4e85c6ef843bcc5de2dce19278aa99ed6a42485dfd85d5f9b9af6eece5922ea0ab3bf5ab362879818248cd58087341829331b2b1c1f05c456cce9b9f1a1f73c7bb5609ab91306390709d63dc121223e82957e7fdfcfcda23ce58b077202c02296fa939175c0cb0bdf87c1fa86efe1adf1bc8d817955c0845da2c9fcecb0fd2a0ac65cddf8724c0065503472b0de6bcc118e079fa95da51cc3be32aa0527be21d2b5522d3aae87192648d736b6745d41d33441b296765d0e4e575132e6f88b238c8a280f5b529752277450413e78495d379ee8a28e3996dab570fc11e4eb91a9dae98cb787a105a1bb7e18906fcd35197b103563caaae4a07db3e4494f792923cbcee68dd5a2b06fe6b5c7f7b95f80c3145ddc7f516b6b26aeda0bbd5bfe9bcf584f7f17088e209f33366d0b33fea07ad14e12de4a48c19343b4433e03c3558d9bfc02bffc091a1836203380cc4e0f5552dcecaea341d7f9b39cf0c55b3d070c9c4da6cad5ab73c5f0c9670f824c0a491eb3144a78338ef559a92242311c2b60d82e98aabb602f8f3ed0a0a2c18f415942a6c92a142831fe9647898c3e11022d05f5a050d627a3d93649709ca0e3ced2949d1e1218da643c5bc7d49edffe0c7dc821b3f68778d00e414e247f3a8996220ca267810c6921301cb70edadc0257523a226b2333a978f6bf030accd963bbdd9f3366b1c7bd3249fa402170b853c7baf1d9cb6b8eef8c09f57c7a03686d0c15e19d8ee6f127c5d419af387f067611815697970ae14f473c127d20f0c14d0b6f958784fa39d57e3538be0743cc036505d48e56bfcb84b1136c9557c23b0f2f8efed584138525e34a26a2fc393a770a0cb96cbec0dd491dee2fa52345752bb82aa24ef9e64485be661d8a7cd67845d84b91c1c62b9206399a21556952925efc9965de33d01a4e36c6bcf2ef8f9ac5396f0d10ecaec2716af19996098f031395ce13431a58ab301e072c4b527b4c0f2f07c3058b63c254e57ef5c3d576c4b490a676bf533343b1e1e5a025828e78d2e5e08e270f936a3941b5279ed4938194fab560384f9fbd6a39e605d0c995fbe612198ff5e7ab55e63bb8bc27e17c6f4050870168f9427ed8cd4042ed6a75358d4bc5a614fa74bb2e3060298ddb075d6d6bb15e44c301ed6fd19e1e6efb97400148e001512803061a5c510040e02874828bc6276c41c6b4a17853f28d09d4c99e651a60042a33d932422d808203f41ccbc8799a07a9409775f4bfbb10170d0a5713914384f564926ee4e569cd1fa8f238a75d619b8d8318b708ff32f2c9b989b389cf98200467811948476ef2dfe17bdebcdd6209815c87159eba4ad825e0a67aa302585e7182280f077008895eadd0f8f848bda3dfe03496b341addd3dd1b1d63e17ce94822fbfa1610bdfa7d56aadfb344f80a94c0cde40f120637cd1287cd5130978d4cbd4786e28c6a7b0b8d1a5ddc555757a9f12d88f77bfbe982036afb2f8005647635d8943ba9ed649ae69103c9c61dce6e1297c41a9f7c8354c5f07ff94e2341b3657c05d3ff479df7e9836a535d61076b7cce218414707ceb4bd7078babb24cef61c58b1e30eec935544387a25bdf18db2af6d98483dfc65964f59a66d55141dafc3328b220e24488082a704bc0cb0baf164118d99bd9ac7370550ae452cfe5467b7649dd9cfe90cc0872560df49b3ce4a22afc77a4ec76fa9b95ecad4bd89eaac750197eb6ba254faa7844d582a7a0c97547e0859a72421cfe7c3e00a8b886a572bf031378577ff0b5df392a41a5f59b49298d87a669605c1efd57018ad7538f53172aaf10fd1c8066b5ab368e88a4b9a502645589eb877c571aa17673ce32a1c5aac98a0fec6d165ad8828170837baffe038aa821ceb635e10f49f12cd2399caf7b8eab8dae305bf3c1b855e9d8f91031ed777c800b1d8f1f7e38571841aad5564d2f5a70beb59b41b016a4eb7898774146b34d75361f542331945280cb9268466ef082b181ab917e9a0cfe722041c0cdef624b051b332048b8e9f87a60c342f3493c97e5cb989176ecdef6e185b39c49fd04c72e49a4ed51d81b7298e485e54573ca861acbaff334b519f254b066b4ce635d8b30b0ccd4655949e08a90ea36b060e426e085b48140c9f394abcf538a4003fe5722df708699800629b8d642366f7bdd37189f4be87c13b3b2f8b1e7c9d4ac33017a53f8398c259e897768e3bd568c5d3ab50ac4ebc4e610fd5298714081adf4757a4e2ff9953f9f9787af558703cba85b1ac82a3de61874a739c721f3d1236f5d04a24fec723ed4c1163e9ac18166b79471a88e4c46f30797a6d5f6e4513f89e01b1f411d9eec06993a97901c6118bd9ec600f507d76862179c9e62221cbe745dc4b4c0e0bd351002f7f9485e31f004b929e26f79e1de358fd784007c7da5ef1505673e72598c8425b4dccf71b2360bf3769c4b3ff0dce81547ca16e978228edac1792249404a8f3b49249f4535b893c6292553b10a72723233314af480e561240982e265826292f9424983eafbd7821e1ce468eff3649fff6f85d466fd5107250f45fbe0370a852d6a023d5d91f0dfe8197440cc2c7724004470bacffc60498fe9bebd3aea978d373e0ea9a65ea10a7eb665ee4909c8159fe66899e1d9062a2d7d747063f9970381e4f4232b5ca752ca04ec5068f4921eaf078fef4789d4ae27320df02c320cfe6316a67e93287c23430b80253322739f78c0b067971e117cd8e8dd4e3ca85fdf5e1993b485dc721c9196bcf13daf2088d6dd58ca644596a263a528d8222be09a490f89413070a4dfd9cedb84cc17fdca3d64d66e270076dc98e54c5168074e8dce4e423e4148fd2a36c402121d0648f1809c13de613209bcba222eb68980407c38f62c31170c01fa4444d5d1eb198e83d7afa6e31a82e53ad3f19cf81442f8d260a75de5681f174a201211662520e39901da048213983768f2fc098f70b0840f270b42122a92d9526cc9e4e646f3b5344334609f50b1763e9dad89778e23f62eb4922093a64396414e48321a8cd62bd56a115a0467699083af6950f0fe0c7351e84a79d10bb25e0f0ad5a84b78dc0c91751d4903460570e6cdcf899d1e0359d586e0c3ed003cdace891786e4089ecaa8f0574ee1dd4116c2403075cfeb2c5709a9051179b1db4111a161c5e0ab83a467a72430cbf167f7764c2d6523252c8ae494d0a76bd555335a8f6762d1571bc40e5a52e55f93dbdc184f165b6dcba5e93652905429b897f1a8e324f9b771394f7f2705150c1c18190995c8dfa40f215e231636db4016d6c07db17708e9cd4f688b5797ca3772e7d245d610a380a217b9094cb840ac7a11f1373d023a7fb078ecd22a91550337cb8bf735759df740791f10ee2e675e43704942617f6a85067c368179d94ff33c18e272d3b2057b0670bd0d441f48271696dfc2677dd489560544df22af6b0f138ed558fdaebc77caa17e129cdf7b8b42f70c1c61c747a09341cbfabbaf7e6807d5ed9ad0b3721f30bbc2bfbc97ad70ac4a299cd1194114482e6dc5fac095dd4b79effb9b77a1d424fd3e8e10868385cbe5300e412f14d72fdd3dd98fb1952e82c5a6ba6191b840c2cffc2f7d5a4741b15df096014836c3e35a35133fa05d6a7d69d92e563a8b5f2671ca96767273fe20ac6f23e4b7fff9813306b5610d3baf0737ca68ef4b44bd82ff8cc683347fa9b6b85443e8f8084fbf0f961edc97cc74c82d1df611c5c37d86a03ea97a45fa0a31e0312cd40e4603389fddacfce63d0c8f0e63e82cbc1118c0d8992beb7cd146ad5acd38325d901211c4c551abae6c048a3845455f826d832c7e605dec3c2c720acf7713e9a60c76643044d40b5bb0bb7355b27a96ab559db09305878a7f52bd9dc8355b885679fef148b4947f3f013f50c9d8d038061e8eaf49527c05e1a40c8f516e91d3c921a626ca4f72795bf2e9ed27b674bd429c111157ebc3cbcd34aef4232cf2a970a2d47073227de1140ae9576dead551796d4b81d3cffc599fc014fc1c2130a97f4f2c37f1bd36a0aa174e4991c4273e05f1b358f7f5b08fd04653f9f7408f1abf304f3a1b9f7a33e5ae780e38803e0824883ac459dc3039c0fec4cfca6bb34df1fd59df3e73c67d2fb75717521a3e0d34d6a8e66dbaabedf2faf00b89378cee23537ebf77494a601528b2e07a00422025f29548e0e26ccd11a0196cab877ae0ba1bc1f2329ce100df809426981d941a8f89e006bf827fc35bc2ff5b1aa41d30d1a81af77fdccd5534b086c68046bba51aba1110a23817a48074f5dd33602ea85d7c91d76ac192f2f5de7ce59c63c90a80982fb396d23b8f3abeb1837bee8e5cb1b240323ad1a74cc823c41b65f77d06003807751829aece940833d565c2db48dc0257dda0b91429c101010fd0b2bc1cb3c238ef7bc1ae04308ef5c56b08a21c86a1bc155baf76f7a2eb8af74e1c086efc00221ad8ddc42c8fd5bfeeb887708a69a50d7f67165d413890ee558b5430609a4bbed7bdcf043be152d032aded520ae7913041b03ea33a2745b20d0b29a0ee5d79f568ac39c34b5fc1c3c8637706a39cb37a38483a461bd1a0fc60eadc8604ca10b422ac68452019d3b6a201673a2526230f91f3e887b0a65e9c051ac9eeb00eb11a3ba97e77e4fde534dba91ddd6f6de52a6245366076307c9063734b0a727168bf14080260212e8e98951a0464f4f2cb6da116473af414a41493c15088212f48487793c9ed509f47a5f45916f3010efcca71141f08250a074fb757c18897872db673a480cc31282976bc3d4b210be20e2ba30632b136e6e37be7c62b0e5cb66e433212c472ed1d6105d1750010319205f464646414458880070238888b11005118d4ae32dc7860d1be31834ae7604d9563ce61d9578a77f46c5f2134a34b9e5cb86c576fb5fb79695a3d26d5bd24be9b5d4b2f285eece5169d60704b950a871c24c46c2082208a027f6795de5a14ef6e4d6900f7a163dcdb8d9c0c16dc69017e068388202099425216a484153183a18e288173a94a0616a106558c28b1c6a35c0e090c3810b0e4b2e37dde034bbdc740316f75b46d29ff70af94b77da0033c5fe9def333b3be79cefdf05311677d6d12ae083eb3555bf7ef7def742bdee3cc29d215bd2f1857add453ba3d0055ecd162e084568628625c058f245104686fcf0b404e5a6032992c8410f4b7a389282baf343664a296dd1eee8ee1d95713c40f1f0f4340af720a949beaccb4ed80077e958c62e8f65ece2669449c617ca925b76b83914ca30a11c99fc495c2b38478ac9a16a54614bfe72efab0a5b1f6411586ee2e1e83a549277e919d37ad8429b7a70cac9fcd860bda7dfe517de4fb417a42b1e26ac78309395aabaf0ce150fd50846586f2cc7fa6c3ba7266751cb7aec9e9a9c5f47999c1b581c39581a49b3c8a88bb234343db6306f876b723e94c326140d202c0e1cec7c1a5dd87e1c36d81e7dbab0208e1b2caf5a983cb82c27fbb80e0a9c43313fd87276c76ef7d30e34ee6e20c53473a4927a3edf9b624a6549e1524ea9a7dc2d534a4aa95b129126294f77fa4d25cd1c1d15e6993f89182708ceb04da0e324b2b75bc2b1c4f6975db774e7a78ef8a77129a6dbe17ac64f744f5b5ac64d5086eefcaee3d2326e7ab274e7775d3a2f5fee9c11c5cb9defd53ca29e4ddafccf4b511efcddb7c063be09366eceedb1d67867f20527f893c76984a973e1bbb5a17094523a54092eaf1650817ad65a56362e48cbfafd69085e60a1492e82f259a78561f3a3e062850deefcd2a31cca674ce3723b1cefcc6974a4c3dda9834389e51494aa656c7003d18cde50bbb369c996db4b2d2bdd76e7ac0dddd9346e5a92e5ce6fa5254557bcdca4a4cb55b2458992dfeeacc1a6586fc22547dd140c05789054be506fbff791ab8049d4e45c52ea23773e084c2c115bae20735db8f9489e6e806a011723b918cc282a731ae19df936d8b293e64f23fc63c448cd67d6088b87a43bbf937aa9aff02c6c62075c17a4212354d0e677969cdf66804343174e48e0c1c8d08114462879a9c1d2cd900a5480831f7cb0321475c3c50a8a2f3020aa010c7850031a00b0140589208048828b2d6cd88181ef073a0887490df2ebbd0b1eedbace6bb7da51bf73183e904b7ee7d9c429a5947215308609b0c53ddd0aba153c516db0813a0c34094de29ed4d14fc9576bcfee8c3aa3262aa556882173ea282a2a02a3088ca2222448906481240b2448669861062e33709961067f4a69b87eede6771ae44fc7725ae6669e2c05e5a820a04052430f9a705124063e02ca141d8e7091c2e88a2151a658e2899227557a9801ad61e83285c6901dca08224a09a71e7049d294a436860e3a7c8d0cc0d487ddddcdb85cdfbcc8a1a8cd69edbccffbbc0ee747b9ce6366b650d3d6359c1fd1dad56edaba86a395d669eb1a13666666a8690b99b4652826764ecb34277c3d96f79b1f14edb46785b580524a6953fa93524aa9534a29adb5524a77f0cb584ae9981ae2a9d9c9f3b316056087d975d89d43a8383a9847d22bf86555a9f00b8f94eeee5e8b2e874c6ee430db50edb043ce875e553b8c94d5b157d15d3564e7db503504f3385e58777727afc5e1a995ccccec31336c6462563bf8b9468686d98993eaeeee54e564e6a3ae1acc20e4304383260710dc6960ac58be3157c44c6167e9eeeeb5eb66e0dcb8bb5398c7b14fed28babb3b658dd53d868bfae448e5a42bcd016f300320f5fac81d6a75779f4fd3a949b6b5e3103c70e40fd3410575f971b8a8bb7b3de29d1a420843fa22dee1674aa94ec853b3f329ecc8892dbf6ab30f0660a7790210e359ede08fe558f2c28b4abfe0f1aee3a2d239a9a83a74d1850c48bae4008917509d4516b6afc8581ecba3436bd7e174513bcfb362f6cf58c762360a1e1d8f39ac842cae2bd6471f2e5df5b0f3bed817fb3acfc33981aa35159b319f01c58072603fafaad89990b13c16e4093f6f1524024aff73797f495ea7272fc5b1819de4f5babad2c16a01b9a80e20fadfc782b5785a9f0795d2a1fa78d8d3c767ae6e97173b9d4547da55faeddc90bd09eb3cd77a3a973f1e97cbe57a2d2e1cb78687afe898d5b8a88bc2783a275abb2e8b1d7680193951839111233d79024bf2a5545ed74defe6f4cfb9c00123dba9609aa92f3577f892d45aeb47532048d1ff42a8de7119b158acf3521f27a9d588b0e480e9f4224992242e5a3b5a37eba45131b570da79550b2f4997a4267902c66a6104155a58f175deb783a785115a549124490e4848484848484848484848484848484848484848484848484848484848484848484848481f5c89c902ee2ab8eeaf12a7184cfaa7c4190693fe9fbf274e2dcce3df89b309868249ff1de426cf91cfe6140cf3f718ae7b138171fd1db7ba02e7e4d53ee81951adbba22bfb94f5b43ea5aba7940eb9b405c35ad919dfe0b3cf523514e711d60c18ba1ac1b17cd558dad4e8fab1e4284a6d748c5b5d524a4a4a5a529a39246ce94955a983c9b245d72df18e8c523a7adb28edba07ea2a4e2abcc3cdada3273c73772ff2ff78e6755df75d634aeb487fec3acaccec5fc71fbf4f0bdcf521eebce07cf22b7ef325296ce94b4b2d9b435c67f7216e385d4a6e3ef18efbd257da27fe692dd92451fad2f59f5e7ce65a16353a8b8aa5e3842161e797d4b3005900ad3ba38cf3c96c92c4defe9065ded78abb5dab8c7efd23f312f94c465be67d37adbf87eaadcb76d1ac75b78ed5e53357ce4b5b2faf5a983e86af184c5b13114c6e99b324866704c7402c253708d55a5dd5555dd555857ef810fa51692893953e574a9ff9fdb5eb82a2487c6318fa7ca3000fb278ccdd3d776f1a82875bda7e2f200bc0b670a18fbbbbbb779d4f7d1fa012dca9d70aa4a36ea95dadb53a1d479aa0a621a096d4b0c345d31048dc64ba4929ede8bcb911305de6fc64ba2f6b9591a9f1feff41cf25e39e4c4d6869702042056430501311518ec0ef7984a6217870cb1c196a0432835ab6e8120318628061a3f1b30140e6fff85dfc1fbfe577f13310c8fc1fbfe577f1730140106645cbad3930acf96b159e552387f58e1dec886a12f78ff35c73a34addf867053ecfa0a6e5f20b0dd93c0a4730ac3f088a0e086f837ef942e1e6403096053d8161b96ae4905f9fff06e7a0b3410ad6cefb46305c85302b56605e1514a462120287739289f99b1996115c7670f1190d8dc8b56e51dca2a8019323891c49ccc4c8a6c8a6d0c0e08843522a8e14d68f4f244613dfa627ca28dacc80a12ea30f471c97a608fd33e23804f7f4d788e36da965e558c42d7ba2dc56897c6f6ede26bcb9b1d1d1d2b30286f51439acc709933d4d2a4b474bd8b3821e273d453d4dead31b71e866e6691e9c61501196314f9c4e7ce54c8832a1e6b3d7170cbb996105d1a0d538b1a5bde2df889f75b1c0bf990169ad7972bcc1a9a9aa9f1187a4d4b719893cad6646155270868c29dd7ed6278636c69a07838c829410355984c996324b0bcc88414a6e66a6f8b2a942965211a22d286c4101aa4100d4e0e0c0712384b97383ecb1e2075cb77e4bfc80ebb67816840286f5071185ab94a8b3c448d4297218512d84a8107220c430cba0d1bc08236e6c628ce29503c38c1cf682c2e4935795f0e503bf94387cbada199b18716314a28d4b15b25e39942fdb0bcacbe8f524877c5794cf623e49449140020932d94c66f36433858d15a393f168b48d3fd84c61f36463c5e864fc613c1a6d32d90ce61966c596364c414b828c8c663830313fc3c5c5d585eb0b9b206c6c0eb3b9356953040eaad10734be8d8c5c5db8b8b8beb0318a343ea0323641d8146163b3b9cd2a3aa9b179fd20be7ca8096146225e4ff6da30f92ca7da30d5f8d96a47f8b3150f7ae7fbac76b06aa595c8d3a484ffd162f0ca28a30c9a14175eb057e6636c986cb01869d848c4a814a424c8a849d5af66fc241ab2ac24a69bc36cb0d830c9c4cca8c23c494da6542311414aa60c2c5a616045d89fd50ed69cb5838c341944f4e3b2f14462b4f1c51b396f234324534426052e285c38d7152ea81b393621fdd44f6b8394829258affa922922432493021ba348431714ae2b5c381714bb62a2c298289fe5589d98a82b42e8128766c42712a3d9bceb71c4219c9c2712a3d9f8b1d56ac5c4c4c4e41a07b77c599163630c6bc49792c36e2fa626b3e078a7aa70663250db52d23242126d5c2955c88ad922268c18a8981cd9d3226a11f9cc45678be87e32f696a3d2cf005ed4519ab171fddbb89ef5b2cd24c1e5b645814b12b9db0fe6f8b11199c6fa2712a3ddfcccdfccb06639d8ef6523c06a072b362a8d4aac076a97c88a72587f0d91e86937af3252295121b1bef4ece6595b308c05e53056184cb2724d46ddd426ec4ba54465a4aaac2d5850ac3058399ef920a20284302be3d2a804e464e681563b58b1f9a04b1caac1792231daffcdefd8818e0faf2f70c4570c5884fe175f41708f0f4c8211ccd30f8aaf2a5f0df1a5f4ba5d61c21d51c445e1082ef795e5beac60d8eb865633be80da66f3d9a8e4b01e95b0d882921a06b362e70160556cfd1d314fbcb96c23c6c0c2ccef886a59556a72c70e5856a7d42a33a8bd6c0e5b7add78a71f852378a6928151b8f94c5573181496a96a60b255454de6d0af2a0c0b9ff534f53c5735be94bed85a23eae0883a3687f5bfa8f344d439e29dfe3a45a7890e52f9b2a2ca2b08f11503e6e90fc5d70fbcd3cf125f3e304f7f27bea05eb85712eff4b7c4178df8ba892fa6dbaf92e1e9d67cf6d2c2b01a58f65a625255d4b29710d3a33a804c38408fd084158f205b93b2158fd4ade3cd9d11adeb1db6838004f8f8b08fcf0066331fd9cc064b25a13e8bae6ec4af7995e8a4669c28a085443434124100cd027f84d509a95b8ee08234a4117b9884f9a06879c7f50ebb1163dc335f25fa94406744e69e7276e7830dc8f1e18014c2f9e5cbc69d22f3bc007a563c52019c9b4775763ab0982c4c0905783bffac9e2c4df5a17a700c22a57e10f055631d7d84affa70ec9c3711fd8ae3dce6ff893b3ccb0eefbb7955dde851fc89dbbc77b8e0464dfa8ccb4b78e706fec161e6f0de27d45d62daae238b8aa5d3e9c3512fb5f6e44e8e731ceec99da612bc7323bb0b08f6695a334a2f6ab56cf78cb9e4fcc9b7ec70fd1deabd89d375ebef5e8e5c7f8ff22f2de3262743d79f12756b86f5229fbdcf70de9f6d9eb0fee45c7c26becde87a1a355e267c7ae6f0bf568d7de699db68cd13969b5ab074678c9fdb7cd63463e9aa698de5e738b7a33b35e9b6d271b75bdb66d9364b2757564bfcd13b6a867dd00bbbd50e9fdd82775ba3139b07675191d0908dcf792f4dbadb10fd89b6461ad564d9d48bd78ce5476383194b57cd678e6b98abbae6b5ef5a699f1c06e240f8328a5414d961acef27ffc6adde67c6f2bb9357ef1a4bd7ea6b8c34c60fc6d22533c68c387ff299cf18473b96aed648712cb1a44425b5e1685119de67c21187a470d30e512ba1a11bf296a0d26c46cf39cc892de796afc92f3656d8aeebe66791a03510da6a01d4a43fc87f3dc6fc020b01a98005540875fe04fe9923e4903df887af5f7175ecfa9339352e2b0ab510eff8b3a2f81e7c21a957bd90efc1f601fef742549f7a21e07f1f6bb253affa1452af1a8348f1a17a30856f882f4228d1542377f9b9e72534991249efc15ac2d6f165725fadbbc5bef5ad6fcd7dbb81d7bf9db67c0fe5846bd215c04da61efc166982fac30f4770a4017fc8f52387e5be8f4b7f52da7b9be1c13235e95dd430ffefeb225c47a93186f566dcd98d9542755726494318efd47edb754d4b4cdd48734237d29c50d25b6572a892984e93394d02f51875c0bad87715fa87cf5c0d135a00ffd4f76700ff74ef3a3aa527fa34d98d3000fe89e9f42c7477b7ae950955642de10414153e73b42e3fe8eeedededdef4bcd652f37a76386f49acbd40a8ccab2ab46cbe370a2e7f8bdfbcbd72617ea7a251a9524a40b9bbbbbbffecc22517a54a79de03f595fb8de5ab206a80ac34089e4fd369e2e6d3749a352e87d7b3f04fdb28617bc43dd970a1d4dd6bc04097be0fd6934dbdea9b7e43e1ab3e250e819fa23a62ac49da435f2512f968aa0745221f9a6a846116813e91180d877be8cf3009b475e92fe144859ac2dddddddda9bb3b6531f94cc79326f2d9ea4bce3197c6d9729fcba9a043c86739319f51dec24e39cea21acb127c049d1b9263ace6b6bb7b383da423ef8877c43be22df18c9eb0e859d7dc4bcf2f50f3c99dc8ebf5d47b17195dffd437969ff599634161e7053f48f8abb13e7844eca1eea226fd437146edf03e25ee68234d7a4a9ce1bc200fd612d65b0263c276639973db791e7d260897bef156af80759c4fe69c5c00a2a7a99e797e5c001503f53c32e7fc7ece39e79c737a349e379b55f440c07ca19e85b4f93f665685f91a58c1c89dcf4208bc8ec53a8f88d3c861f3a7eb27a94a899636bfdbb47931fc64ba22cedbed32cd0782e3facc4c13c4b7d27cf29c158aa227b3f29c48cc1b13ff50d78ce2f6d452bfe9442d0b93db3f71f389c89d596e3a3a72bb759b9b90badcfe99ebd4e751a6db8de55766d1c55262e918faf87107e52925b9cd6653724ff276efe617dea07b8ebb07dbc609eb7dfdafa6c9eebefb7985279dec95e50139ac1ba70d165bbaedb335537ff046114bb7f00f0d78e63ea46c6ee31d779bd090eac1f72b2acfd2a47f6a74a6269bfc469926fd6554ef031c7d800fd434dfab9e69a907f21938822ad50bf91e1c5350adec083486de87aa5f7d0ae087a390f0c15f8d42a4f80841d5c8b46ff4ba9c5b4458cf00de04ea4bb7984e15c954fdeffb540dc20ef3865486f5afa23eb0a15e0cb5fa8d22d66f91cf683aefc04f41f5e028448a8fd47fa390ef55e3348271af1e0c298eb97365c2bc27a0515e664e8a99a33fa328dd429fb7504abf9b65cb964bef6c5ac7f073a25e9111af76dd765fbaa8ce4be7e5765eba2f5d14ccd3c03f30fcf3bddbf7f713cc1cadf7ef5c47f9ccf5fe5ef39975d8149e0139ccdfd5a47fe944dfd3752fe236734860f2f803719807993c3fb08c1504cb5621f8be050697c9dc0187c1323158a6cacd1c73c9e49982a716cee1bd77ef444bc09857dc98afe28c4f891fbc4a94f950a4f1a058e3e7923b162d0b01c3fa39c03ced1fa4f956ab63c94e508cc46d1891796767467489ecb308e6fde7920a73eb58deb86ded388f264ff7d2d252af582b882cb4ee5ce21d7f81851578a7693c8d1a3d78a7114043141242400f9997f920e7039194117574c89c25fe99d71f8c61913639278c3f0823c2dc69e9a58177fcbd25fa09268fff8cd8b9a84bf4de5318e6ff50ec5f0453ffc01d44af80497f50ec1a98f497c0ccd1362541668e2e9a3cfe30b8bee509931bf4ebc3982ccd27d3a4e3b8c18233e4d2efe499a3573ce6adb9aee6df11f9d35557afb94a749de6441a1fdf24a2658c27b46ffc9408f280f68d640088d8ff7e7e9f9aa981f5c6d26f64f04fb58177a2668e6a9483eb0278cb9fd506fec1c13b46330739799ab0e55745eebbb5acfcaac8798d9a39ba195c1754d705d5ed4472f2f837be90d8b273b7ccb58c8e35003842066a2503c8777a50ef68f164cf98d6a931f5a9217d34ce5f896d34b32504c7b03956d80982330c5ff543683b3668a506739a50cd7e1779f0fdb1c1ae2e7d6682090e04f82277fb4a2f35399bece75c6179ae506b1dcb15646e378215969d6002aa1b5d9472f84f459eb3ebed66963b5790b9eda92a20e7b8a0d89fbe0010c3d2a4d0429c26854f08f591c6877f7d9fcfab1f74a4f1d13dd2f8e8ef6fec2387cdff9c56afd29cc642c2da9a6976e74017ba76c3076fc8604b7bbd17a2fad6836f7d2624f5de830fce300043903e1322c587ea592f844688ea5933d548c3f47d744febb31e04270d7c9f0759a210cf87f7a917d2a25940eb559f82f7a9577deb4b907a0f6c894c03bd1cd041f09f7fbc0b7ecc67de83efe3b31633810cbed7122d0b073b2fcd8a66e549f1e19f7a2154088d8760defe50cccff856eb41eb30f063c47718f833c498c3c087112df82c25360441faaaffe12d1a0ba843b12fe780e306aacddb05c59664108781095a9011c8f44093421354fffbfa7c47100305adf541780b1938c1d146c049146d7185d61aa5d41274b4d0f539fd573f5fa8d77ba0526885d8d57165963069fc37e08d34ced2b19755a58490a6857955cf37f560f96e296bfe2a7cca7257ddaa5bfd7c9dcbab1e7c571ffe4a7ca15e323605483f90fe25b664a67285d8a5f19e3ed378a3bd25dcae29bafd3e5ff8cd5815fbb5c278a7ddff85af05af0c175eb03704e6e907eaba52401d619492560543812f5e6ebd3d847e00e9f941665f8e12f2d1ffa31f48bf0a5ed0fa57106f3701e154a33e4b204bf04ec0d443e8079056128e8c2627b7262760dc70d5e404ead678de7f0f7ad4f39e76b57af573e6f16dcf4f887778d65f476b5b400e73d8903a82ee4e0690fdf26a8e745299b696a9945ab6c43fe0cf9f54f827f573cec9fa09f3f3e793f1e7889d0fc4bfe72766f221411c48ac104c562ab71671fd63c06415e288ebd30726690cb0501f988011e711c3aa0dd7126711cbe808eafad718566bd10872b523af0201f96e88aa3b253e1f2a109503529e5042c4961de460850907146471850a9312577834149952a40a0ee6c2872694b8528311464c1093c4141e54304554194fb4f68c7445c028d245cdab94e690311fa0256ebf8e1e423f80a8a001166694d08a9176fba3aa2d6b59ea19047f7edd85d3d2c04e16ac1050b57a3e01185ac002245870a382020a4c91410d5268d084071c78458ad4ba22444020cb4c4f520ec60b40374115df1150c2f02d56b4c80d20ebf3e2b9a7c04b1531aa2932ba94fb143545365929943f10ebf6f710e2015408c40c2852b57afe579e48cd408a2dd4bba77c47d0a0a9816c11dd8abf4ac611b91a4562e5ee4961f997f2baca6ac2c38aa4c20a173658b2d4040ca641153cd0a056e4063794a092d124caec68bebbc3686a92822630b41c68ecb1041331aee7856a5e1d2133c9e29b601cf12d879c51983ce18de149617535efe3ee66c2c4b2ae6f6292c4244a0fa09e74b1e56e2cc9316c5875ddd0c996b464c1e5fa1c32364209403a7a08d18fa15c0713b01638d45044ee7602a8150ca1f2c40d94746104142d4f3847b7f28f7f5565bba5ea9653dd544fd85a612d84803aed19d4c239c26286213fc06086209000428924327056d02046097470258b97fa602d8259c1625da05e8b6a513dd233efe9d8a461f5c86ee135f83b99e8fe9d1dd1647ff96b9e673fa2780288da185eac6ca171174d5b38b1440a32628881b314f1050bbec0c193184b6873f66c16b0123e40ce993cf876cfb5b20bfcb5328b7c2b955cafa081180bf9f82181f679263a82047e34e972d77b4fc6646c2ccc0de13e9bcc263d8f80789d518afa495c94db31578d882c5d3721c6cdeac4cfe9349de6cf2d4ab0a8d81e432709fc68b27172b67cefbfefef818098ea7608f8441da25febba9f5f4fe44b6f37be0fb68e301c655741f7cdb54be5c262c5a26271fb6b975a00af00f32b1719ff9cd3e39a1269e60fb993ab38ef0936d799a3e0b181fa7cf93d7116a53edad7dddd3420eab79aeb84b8d1a5a9349392965a66e71387f5cf398fe67c72bb7f16d1e7146bfce1e1c8ff747cb247219f318d69509f9394cf8e1cd6d6675cbb93c13210961f031327872bfa9a867561e27b299c92f8a68b6152c800b5182261d9db8a2d6560586c29e37fe76861566a1358155bda1090d8d2d2194ab6767f0ed8ca79f6bce9a5705d5f932e0526869daa246ff2c1ccccb4499a25361cbf872961590b9715068aa53b585a9f6f79815b835c2a731d4608cbb50ea1e596b6eb61ce5e6a92bfca3e6fd87c674a9929654a293333fdd21484cfba807cc6b457a1ce5a9fbf96d5ef6301e48ff2a7811566d191ce059c2ca8540df76541ea14cd080040004315000020100a074482c160284aa2585d7b14000c789a426c52174aa3a124874114c451904186184208010019058654d14c0d009593579e0f567d0b5507829347b3318cecda5aea3d4251c365ee59584ee0a5262d25374e4f81d50c676f555e1b28337af8808e2515f43b981750af778caf0decea074eaba118a691105c1e170928c522c98142283ba7b15cea68e739d2f2b3fcf9098d676a49fab374f4664efc3029af16a601092354e304c9e79a37746859813a736f2be5b6236a5a31ab617786c1ad6838e052291edaa0e365061eb83539ca657ac1d1143e8798322e3728eeada81344195c5cd23c61c3712387884bd774e95ed5874f044b30b747fb92e23ad1009478389cd1e3674680d7510f2ea22bb3ed10a9a596a04d4c192eac7d3d66e0615c0989405f9a8176260e9549d3d2265109928a021ffd38fec6d3ed145afd03c8c37f00b668c813bcc053e92d294cfc45daa9ca43851cba043149c7dc75e0460fd0849cbf2b44c8a31769f72f145468ab0c880f81925282175dae5bde06df3f3a0ff61b33ed51326ebfa14a1751582f8a5415a40b1283eb9c78744105c0e882a56c9c1c9c56d3bf331fe70f1f748588e909816c5838d7a26ea248204b8cd033b1c860073fba61b45a8d5849e4a1324720799adc87099640c4818da6681f880f41456af1c7110b36f960ae276f547453604e3c74b78c252ef342cbcd5ea5c2babbf7f86cecb177dbc745cc8384f58911f01efa5bcb57f8f03edca22e9c47053c67f7d646d3be2a47bfb37089748e7068136ac6cfcd6ab06da4190dda8ac375a2186d88c1e9f67425e39614d5673896f76fb7624f6bc71001501204d618ea7399677dd9dbe162620e37ebc84a5f835714ba3a32e4193cbea899f38c509d16d1274776adc0e67fababed3d384f41570559e6cd0c8ed3d7cef6950db5b43cabe326ca6ed1c02104ee503ac6a527565b74a252a7a3ccbb19e7cbfdd8395d74d96088d10dc04925cbd8be839f4648138d01f36a6df0d0d6efccba091d9e5e2794b17c2824a58ad6975026dbcf0cf69ac1bac7e8065f9c009aa15dd72767b3442b0709e9ec30b1c27bf510168a1cfc3af8a59a15d52b3287171610645ec0c258e6e752e79dac147ca0cc39daf19d10b8fe6f428809dfca76deeac38a1dded80cf5eae216ecbe41be0e0ce52749a0660193a22280ddc36cfe22b9b3a1461e80be7a0d758fe20b30badfae1f5d8116f0f2ec93fccc094d7e068b29258d2693a396c99457bdcecf490a7c163339c1d78cc2108fa773cb21ff10a091782fb2cece1329942dfe38de9616fa606682bac040c9c60b5fd24d51511a8d34721a1e0ac2054c5de7d7d1abaf31c2d5459f1cd767cf144b800f0d7f5fe707fe7b849dadb67b3b9c31da60e11b507b588d6633f7363e626c7258e88761cf9a949697bb2ff69ec5990453eab09f2ebada559040cd5e9bb9abc0904a876e6cbcf8a11cdfd825fb4b8c4c848183ac653fba3e26432b98fd7af74234d80e16f3305181d21e0e889f44995ec462de1c8e3736467a438bcbfb27da1f7056085c93889bacac17c55e4968214c1abf27a03a2c44f435f904f1c827067452065a472d5f3223b184b4bc5bcbf30efc608112989c898703944178c930059c29c82c9b72302bbe28d481561d59e4ff6c0540b29cc2eff6c69ff30ea254d9032e76af34ab0f903dfe4f682b246c6e811089ba2779f4f8b6f5ea43616475c6de7fa0ecae77bfff9f41ff00b2172ed6373016b0886f633bb78d9274db6ffedb7566002d43428d9df87beded60e2e072b2ab8ac5cd21e12bd2974cbf7774bc6c57171245c84064d1f997ced6f3424cb59de96c3286849d91870d6340ac98a1c0a07708fc391cd359f142ec91f4f02d9159473aed1d7353a2e0d95a9a3e9f2216840e1e3b6cf1e122009aaf46b1acb13a12baeaa0e16f877415a207ab5e717a93ba6ab37191658dc9ce8008f6e7a2215bc42bcc6a05463f518b2007f6507c7e16321a0f670e50e518cd3a5a0fca8b5e1049a0242d186c1fb063f203d2f6ea6b1b8e346f5f836ae0f601cb552e2c049874ed650212eff2542883cd5ee1801a71473145d89e322c6c2f39ddcda8da2b258f374245473f23937a68cdf352e27937edcaf328fd94f0bb6f494d7b7d6f014fe5572bb23319d0b528fd5fa73ec1564710d30db344e466e309220d40cd6974b6e1a587747e28443da8f2db8c5620f79ce0f9dc1e3d8e9d20a8ed45235a9acab3b0a27417febd1fbbec61449cfa5cd9cd8fd6702306b1e82eb6837559c918a66f4d61d25a0461c0f836540646efd3efc43f4944391b3818d722387e7531498d935801df23bdf05801cd039fc42a026f31a3be73521feaed0a3901ecc04a1dd3e800e12eed0ab827c1e9f85da9f635b6bcbbc1fe681dd9efa2027890a7ddea554282945eb8a128d44a1bd4bf11a781a201b9f47892bd3ed63976a4da6adca116f248304ee406a3dc357607cad7a03c7c8ea5a057d881d69259fd444ddb6c174a237fce8c6254e779d4268d23bc54288a2016418607e2c3b4ffa8b9afc67f06318938aa44521dbba28f59bd9fa600af78c8cd56489fe01a2d2dcc1a2b9de8ae4be541a31af49623db514e8211c11ad4e12ad44a38472c48cad76f90347781f4e81a9fe23e0757499097306a75ddcffd4f425f24cf8651701a2ef9a7d8baebbb0c75fe31a1a61eb98d742c2f37e2e2977baa20241767b67b206daa5daa97b061b28c4dd9638be83be9043250ff6ee102e60d83b7f24b7a13f186b0184760b8b020d3722a13e43a500b6866016379055de104a5cd9189a59fb069c0044afbe0946d996df64c41d18b0d44aa7ea719938420122cfde10477a99bab8ac087bc981cfbe029bec02aa4bb02993f9b91b9d0d5fbca24117aef3bff4143010c93c1a7b02cd9d1b872200cff0092b879eb45fe4a751fa704600bdc6c7b9f9053671755ab474b60015a960392221b8f3cdc899a749794864fc761fb2ac22343b2bdbffa560769f63bdba5e00ca1f7957af6906c62b4175c940eb801dcb098e9b7f2fcb5cd8c23ddc1156cb606a8ee9fa44874a267f2a3ee8476c56f5de12fee61e9484fb8a23c381d81b72b9918af3a4266917e0fd8658acf246412e592c122000af3900eed0f4328c871db696d5b4edb092ea5a5fff70027a75e93bf82103e34f88a40f916b6d36b7229a2d159019a668215be9d12addcdb135c432908465aeb43a4d47c6e212ad261514ce0d7f1cf2e9c7367b9a49df28e10e644f4240c520502c2f77d640adff39ac837fc60b2cccec7b94200bdfad88195ba1454d3182136ec98626a5cb84e9ddee4b9cd01b23474b784d90f87081000b5c0981934ebe9c581584a67f4e12efc3120a854fc248da3ecdf19e91dc200956c41df65b024246bafe8004b2efaa80088c9d74ea64fd971cc98d78d76203a0e51bd0895b59baa74d49d05c361f269801d2a3a10dfc69ef68471bdc1a14c82010f934d3040d1c3014363e78eed4f39443f4a60f4ffef8d8df2af9264f5588e354070fc6ee354273363f65f6032b68ca667dd64a60436ab45307ba0d9b333a1a7f3895d39bb480003557d33cc1b20f0150ef19b38a0d0687e6f44e4f4b24e909d5e0004f1380910f3864109984a39b5b8814c3bb0549e5d236c99b001ddab0f0cc4e9069629762831418bb389872ffcd6353839fdddb41cae2b6ec0f28ba5722c99022ad86b226bccbc03e6b3b7858bc3cd7a82a12b1235071adb673cb806abd47ee0c899be396bbef628c7c6a41e740b20ad531cfa13fc8a207176cdaa340e5d0cdfbe72441fb22ee73bb04b38dd0672e87f01b8847617df446f88d03d080a3770e7a3011deaa1f0e31f5f84718a268a237d45e419fefc87ad7f9af70922e258290f54ef14df6fa5705e2fcdc98faed2b02b7637bc7ed7326a9460202ac9a8961c29e7e2f0abce66b50e8af6110ac642c53359c3b3600038624844e8dda224f4bc0649f74731766b6a4cc565ff511ba5090845c6167fcdb6656a7d8eb3a5d784a53927bdc30d44bf0a7948844c82dfe9bfd2fa835b9a29d755f9da7ac681d67789cd6b33e1f9f5a383c0a6a372c0eb593a4fac9e35458134191e9b7fff9c529ae065f3a0bb98a3f328d397b76174b7b24c3900744026d495385bf040c0cdc02de01f8dd95c39e39b90b3eea721871ca71168806f7f3f9292d4eadb4495584a39ef4d18c8341698cd46532141459cd24a81efb0345e828a301212060582a02c6544a1dbb4f16f6eaab3aded7f4a2f400cd07e9257eba61e4f0f07862385978bd06b04d091fda337b0e255a8313a3e42ac99826b211a2a72208c31ea496a129ed6fccb2f9d5a3648c576eeff55f2a7dd5ba9b24a8b3234df296e66570da36e0da0e2cd557476825b2b49c80a9527d83b140a2b40e9740bc63910344752a77d307dcaad190f8b813ada1236e506e0f46fd59685c1bab80c9a6d4a21340dc79f1e5c13d346233c376901ac4dc283321378a3c7043fa6d9546f4a53051dafc796e65a68290fedb498cc292d7ee8cf9535fa663c7efab114b7b3d6c0a17a2483b321cc5266b81bd7497accf63f969506e0506ad2f36e3c5beb86056ffebf8edeb41a7abe260bf52606cba8ffb53b9e730230205826dd419c0ae6e76353278a89ba0b4cc5502e46fd38d804d304034ab873fa9b067adfd6de63c84675f36c8d728a85aa00f75b67f1520acfeaec34167d5561b641b1760549eff10cc7199a790e37485c9482a82c5cef3793650fde7bb56160a24f585b98ea4c22da623dd410d6073377bcbb25ee70aa8a57329b6ee3e24ca25bf407ccf885b8146a2097842c10db1dd52dd79a2d44455d8cbccf8e1c9b207b0935c7fc88ae8334b02ffc6bd4ba3ce1e57136ac92ee2a3411ff2c7d5da7e120934ae3167ae1735514a3fb126eba6eb7355e4c5c9e38f2bfe7e902dbf66bcf0f927fcdd083280f24a4c1b349b5140514b2a5c5975247e55a43765534dac8048e48a3e50fab8d56c218cc07605713a7e93ecc8b519409c5e51da9520075cafa4c6b030cf9e0c54225cdefb0c8fe94bedb3ef272e3e61ef44ef998de0ba0552e63609181bc08ca3a28f1b79228e672500c6c0ad99f1df7034e3990b8a81a941c5ecb47d01e72621393cdf89af184ccb9426f8a67e860e12b9715349a69aff987136c114c842094e06628c14b160ee62f6b3df583867174cb5c438cd862c602652e4b8a01ba0918744075a669a0aaf3d7a6574dbc00c3ddb653e80b5aa624e4a1ed863b27a38a9e20c19223468038e3efcaa028f495dbd33064c89550af80fba92151f7adff47769105237e5eeb099dfa8e83fc567b2e73d6230529edc4ab70d2b63671080fd5f4017e81309c69080fde90fff46de422bd85db3694c5083be09e42a4c03c6932f35bc5dec19a69b78f072074eda38ad377635397204f9a8c6ae671f6c41b5383453cdc4c7c19310ffd8a311a92bb16f63b42938ee19893276bd9450c0122a93270eff45c01b5feb95f4883be22663a2b866652e89d3ffcd841c1418f4a327ff9534acc576683c1458ecda7b8df4e6e2fa1e82982406b2d289850e0cfbe8938d5b43e76fb956a7b24fcff25cb65cff5db5c4ddf635488a9b07f82371659bfdceffeeee5bffcf88461d343fe53d6d1c1baf5059072d0b831a6b714d43b4f07c1399460e189b579ab763b62143b75723a6e2996cd1b509a4d51796d9240227eda71e24720001452695a4e736d45a51081edb7f3cc897f16081f67696add4265e5084ba044ff4727afdee2441a316612966509e27ca851c191b40a702f74e96487ca417adb3e95cfbd924c9584b69e2b70ac523d8638ee215b76fe0a010089d05152127798e0930027636b3e3e18fc032074cd3d5dbc492e95ae0458c3281686f9d3dec9aca8b9e35bb12507b095436a2ff0faf52fd42c21affb4dd17b19513f75292d1fad632c07884ed06c23bde8dd574424e1e615d50a22455c1aa89f76b1f00ab015f3bcdc8c3394832a48992bc9f98de8aeabef1b51fd634afa200bfa91c5c3548a5aaaed1399af585c1826317d4c543dc69f71311970549bf3d44c55b539af070db16a835573c5f7f8ee9ba6f0b9f20bca08e1c3d9339f272b029912fc00cafcb3421d4b806f0bd365b8b9f5135a7ff71f332b5f48779085775b50d01a2cd29e33919cfef985f42f7cd360d9b6dccdfea311888191b5c4747faca606a1dedaf5b8fc7fb0ab23bc8b1ab227c13a51b53d0402a62850cfbc10668eb550e08767ac0fc405e8e2355680f82d0e83b1d975ea88706bb26e634eed961e2b6389eae2c5891819b97656c4e75a219f0e3f6dd7b2b488720f832d446ed6ca780816075b8ce52d6dc2b852d3aca53bafe66fb0d922806b083bcb92194a8167f1b32b0f39fbf158652b57191150ff9a6ee0a9990decd4576e6a1b4abfd2c2788ecd0e7801494047debb4769d2585e313d69e21a38a4e06a17eb9320fedb8907d94def845acbff5100ec3535f2b1d27269811bdca4a1023c6eae8c8fe574dca44e3a0eb4091ccb79958003c129d184c9ba5f6160afb5cb1f545a078e8b01dd7c30b08678d41a72075243e6262d716e9af2a755c7f35c5e486abdea63536bf7e51712568ac6aad1948016598afc86f95412fe85e824179951f7bac1eadfd0bd17e5d03e90cb20bd2005a484a67d171814ed05a100e81d13199bfb7b2a74c046950a335ae998d13a870fed662cf77fc9802adf388dcee905057a753f679000cd94985d7e52737c91c323573b4348ac971c46e37c68e0c701be6cbfdcc6ca2d7ab94db492bc78f8e29b5fe4e573b17792e91822452ff8b334cb0679518086a1e26c0b1bcc29d5944ce24669f223089b8382b376ecee9091c908d7ba8cf31a250bb77e46991fa83e4363d6dc1bda124473d007956d627f65d6d0712429ffdafe7641c15051b7a65268b13ca2d3dfaa18725f9c112e3568ccd7b9a7a97d01ef021fee0382a0379b1336e98c223b71124dde3ac63ad598b89de924b8441e437261ec1e7cd981e0921438618990864c96789fe92be13428daabc33da8ce53f83b35411b119f089be96393f3bdf8938f6963ac38927fa4b01eec37c61445fb92b552e437cd76df4b7d6b698efacf9a4f256efa5e48ed69321ea9e4e17a898135d8a4b809f665e5abf6a7c72a4e278344a02456ba927c7daebb519a63eeb0951b3caf02a0c465393000f5a4db7bd998a569059c3c335285316b1da155bb753764ad248c7f718552e8d3012e4ee75438d658bc158123b8621c83f0690e42c28fc090e1ce90719e52dd74e1c0446adc20c3dc26758a6a59f8562b3553b5d25b6abfe943de94dd7d27cb950b2e2a7b9405c0b93628aa77852cca80f717c34dfd550c2b47e867110f4f7c315c8c9f282758cf3d9a74b05979d54d11733f1565e9083617547b08ad6caaff36ec698011878ca2a9305969a5fd0c8730b3329fe96138207a037b664805ca07d9d634e42717d03b8d818f5c3f5007c94905e266208f2e936c8edb278d4cbe61788302eb0cc8dbc91ea680935db83658b2b76e05d86ab9f0d95d7c7bf16705e47d4d6591f75b7ba18dd861caeb5be0535d64d5af165b00e52af1235c0c101ccce4831c6cbf492e3f3a9aa9dc5374263c9bb14e398de93d403985433c5681daf5f758c9565c01ddc4db3a1376fb99e0287b31c2b8124e5cc113df15e825c5ca4ab36766fe851e1fe43e2a8dbcd95a35fc9fad111df626f638c552c324d67ae3755d6f30f2b2d9b585cf8fe3dd1bb4f33601d21a2bbf44f046dc832f6f8ad906c9a42b90a2e9dcec930114b002e282dbb13b171747eccd635971269e6cb4d49c50e308ea8ad80a522000848d67563dbe5e93035f2d355b981207d0ad15259f724b8cd8614dee2e819e9292fef960312d9c7bdadb5849798a7028857078a05f0638a9df65a1b10992e641d5d81981213a9724aa22a03c88a8deb19442d2024f0f600086eec91f46b5bddc9e4efdcbaf43af7f02d02131b38a1ad7aad705d385bbb2dea61f90078ff3ce0556632da4e054e6236ed8b12830599b2dbce51378664c84b103cc2c30ab2059b21de651032bf620c26591b26e4266548458e1712d86ed8d3a78083c97afb2e2e711e797afaea7cb6509e2898f893cb659c236b37a06c3c90f50fc509fee771b6f5bc09edc981050d85a5d8c2b0ffff743714fc125e4ab8d2af496f34ead2310ca9544b00b9ed6305df316ffe77533b4b5642e255399fd9a39cf82cdc48d1859dbb71b4c84050ec02db694b5ae84ded6af23b97c8ac213c3c7fc0bda6355f906604db10b1e7541384a031626f1631dcc7903e952012379b9101ad91cff766361371fecb13c3eaa737be8e71efa41aba02ab26900f152076350c2b4e9b8c0a68a6797e1d9da9bbbbfdb78cc858d372ce210312eb619efc19ff9d50ba603a9fcee62cea6fc0ebddd25c72825777fbb2dadbda25b4e251194e4b6204464dee0f5640efa7e1b469f4cdfb48efec7e1facc13db91f80ad1b0ece3b0daf6d0ed83c7f1b6e2ee1f5a1992742aeb6ae7971d1ec872c8db19dabbfc52248555048df79f3f6f0f5ae5c723c0fd7cdc29007e900649dd8301b804e680a5b5a573c5d9fb37e2ba3956bbfe841ae0cf8d05b713c3ab22038bf962d11f809e94259af9ee8fec1edb6c3ab833e44ba90500932713eb0ec8999246cf901fee8f38233785434d667d7f7b6abd5bc7c4031727e88bf1fb2a11c66e494aaf25b5f83c5338f1793b2541d52f78d3ae461a8f0f8abe6bc072a197c55d12afde5f37e14af0ec01f88552b1b0c6d65e067fa9da4609718c286e820e219e3c9068e015a20876cc72e49139794c3225be4538f3852a18ed7727643994201ad28d5f403b9735b8a7e6f256a110909a6d4755559423fb09004e3dd456531d483920ddc8aa634be3f06c5b67bcf38aa1be0b82c0c9b9d534a2dbf4b8613a5a0fdf2e682241f0f077e8c9f930a805ccb892e244db632369026e151cab7b0104c45c8400c59dc3e6e1d251803b4d6e5c70bedc0336679771deb9d75438421530bfc64bceb7691f9ce06176bc292653971a605222a159ac582279d1ce523f5c60d6f85e1dd7d45c05d9ad47a21f77d7ece86eb8f87ee308214438fba568356131a068938eb034d7ec15a270d89ed6392f339380987800ffb00ea67c60cdb9e321c1c94c0349a6f49ee55c63f95ea668d94ac6b8b17bc8da7a9a004dc53896f22a2533ce082aaf011e82534138df06c50d6a46d5effa54ac0516c09c0831c084a4dcc681c5a82dcad3278a4c0c46502fd9bf9e23d9f5f0db9c3e29e13b78d89cd7e59c7f1d7151d9b134d490e6442e195d0d0eac099499c77c9e41ab58ce01ad600373dd4287d9548f2f34995f0792116d8d11b5ee4527b0cd437a6772f7525085edf8c0cbc0c51ac8ea748cb346f095edaade8367c5491774df2ebbef503d8b5ab0994a70510b45cccd4d339135db76794031fdc0736a00f7a2cb68bb32541d228020f5736ba500368e71fb2702afaa7e103f7b204c8b386b4e1087572570a69f165ad47a53e8042a39560f672d0bb26c0d3c1b8a6462cfb915a148645a2066fd0f8bce30d6dfe2034856dbe0b857d3ec833a6919ab2194eba4b52679ad5cd43a0279abb932381322fa0bf4c8dd014d074cbc788611e3dd26ad39f745c50f81c19d9a564404028add805827a2fe773bffea1ba006caee04d5730643f9ec44afe32a145c1a655b61198e27e8d0a2acd10561daf1659018b9701da13b60eab4b858f1dc332a341afa5c73a6d207a0e10fd6a6a855294dd823c468e7bfc35531073036c66fbaf61580c73f5140534782259aca837eb807b2c375670257a900d8dc5b7d21c8d590dee7ea936a120722aaf4bc974a5e28c7c5b8133026076cf256dc4f1d46db0fb9d6e176e0c3af4d6c128dcfc85de55219bbf945cae6a23f8df0cb2ffb2380d3315a9b03d5dea8e0bc770978ce44680b20fd9d11508932441a67804a4ea1534404b36d16f5c4dbee1e2f17c32c084dbe8ec3c06c1ef5f359aaa97d967ef711982d5faf832c3df85f70d436a6a98f28d8bd5411daefeaa7bd53a93ff285e64661dda18a8840ec40a02ab4b5680a806b8ee69441a971b5b3599c393585b4221aca573071bef12b4c1216d190bbd345dda316f3ca5608de28e441a92f201a29bf874a3ec8685c12296b44a78e1ee71371dcc3fd39a60c67fd27843cc3f649e86434b71e1c940693916015b3e4b5b9c088ea0760663e10e90e242495709052dbd8dcf2658509b12c2c57882032a6d9e3c609bb12bc5bf87622cab95d7693949806e12306628d15d1ea166b1b4007ee99986cc071459a82254b03c8b1582f74d7b15afde9bc581dad471616bfeb4dc90e5e9da5f2b62a1f13833d030f028e71eb8fc461a5c9092b6673fcd1e16090c53554f173b5070b93b3c8fa7684185d2d7a112e2c4d971bc6eec5d3f3ffdffb284074575b4dc4e44ad6043aff98f8782193bc13d0b5a86529b516e80fb6dec9e4b2c23a64946662796e41136d7ab21ab045ce4f3a9f3e84d776e491422e28999e97139f701290cd4a60662c58faed903b223d5b230230a1b4366ee3d62b7614f24c89aef6b5d269b9b6d4ccdd1268120c5b23e44e7143c4d51d642a803f4fc325f8e5eab58234b60ab76eb9f2206a053bdd57e62a923eb6401b7522176604a5bdbd0955f903019f5047ae3a70a926ed20e0332d8b107b2394b8a1251684a9cf3ab4633b2770e33b5f266cfae0f5aef36d5b1da8e6363d2622bdbd3cb33e7121b0301cac54190ed013e34eaa624c2c37a57a4f783cd014d1399877dda5c3deb7dd052d12b693992ac3e828ecf96413c81a3aae384c835c9926318838038ac5fc55897d93d83c72271bccab0ea7a2d1345c09b5d184a721bc39e9e8c5fed56af0483cba1abdda925aa0ca499eda355540fdcbe2fab75158cadac00f24be07fb94d7bebcf694d16f782626a9fbca5e67f65507841f2295bc01b93ecc77a1d6a570e868fa46ace5624a1d5d16f94343f26280164ec1c683c464b3ba9b2addeda723da09ec29cd6a8584ae6e2fb01d258a0b27ccee162f255486bb7d8534fd0b1e80e351a295c14316156bbda4844aaa0f411031b550e410cbfa496d9599561998d25d6205ec0e4b7b542d31d720fdbb00ea2a0668fc4fdad050c19bdebfe06d41e16a6c7b00dda098636dfc96ffd5d26ff507fe6a6dd947d9092ce966cd7443196227a44af3f5910e1c0c2c45f690476c32cd56f6394d135fd27167c4e66e2f8ebdf574b066d265baac285563e0d3538e51103751d7579322b697341ab23db8f9b36e534d561e46ee8db2663143d664415816a3b68487666a0a5e93452a5c375c02cb8a000cf524c8e009a91990da95e3e3451fca8970099a6dc2c8405a81598df2f0fc257a2640e3e68b46aea9a21529eee5569e457103e1e4744ec8d8b9717cd437285d6b59a0b511a8a534a0b5840f543731774f7691f1ff17b613670e8ad420b11498443bbd47b64b78597626ad3f60cbe213a1ddeba660f3b7a166c413fa01a429d43be901bc914ca859db8681ed5089afa9150843bbb7e5b827a84321d260739c9a233a2621d6e8e92200a9290c84b8991401e834d7e3c7c637e3451c192f302e742728add2a9203fd95aa33b69fc3a71922c49016c12663b96fc1f6ad34115ffa6b49f1f9bb0d245f1387307aeaad9a87e5eb720437e840777d4811815390c80a21055a4d3952a1a88b5aa6e181afc2467ce7e9af7e1af102a9f0701437642a5b24bf94cdea79e79b24c61fa0f210281299d1222601d212da9fd8973df204cb8cb8bea85a9be19b7059254377de95dc07d343368e42eb3b37be1a35a018a83c4140698360afca2a1c1a3ecdfe37d2fcd3df74ffc1d027cceedfc0864b8eb67c293520819222448766b8d5435c190141192eade5b949b085dea1d4056fab7815c1e1d4d442c562accd7e58b8838ac1a2238c62170ed915b8716d84c729464d75413a54aeee46b9dbabb2bc34ce01144ffdf768cf4bf98a1df3bbe8a9e59e8ff3618ed0a948bdf2f7c6fc8cb6016a7fa210a91d98b47f8dbb7b53b8fd5c68677a084496146564199beeda118ad042f2d88d28ebb3a7ce3739edcb880e8c04142498a523ecf43f6745d571d817fda36f43849c7be1d3f9f3345e23c336394ed6c01dec3fd5ebc69c4774b0d665a964f8cd1e2b0cb56a244483ee962d89dfd96e2d17b5b4c7785b026b5c7203bb8366dd74990b722c4a2181e5c79c547e165930e7aa7a2e7810321129073950eabab5b8465b3d02264037795278b83f19bee4142322938d281124b680023c8701dc8a8a5bc11f2d4fdc2c8ceaa0824253b38e74a5296876691e74519b9468ebd0a50de5a2a71e922b0b3a1f862d0d68752d736f2ae149934a3403054d4df280cab7275f70ddc71f79d01be2881db54d37a1670cfb952129fc8e893210ec39b0f3576a6b1fb0617a4f3ec940ffa11be27b007058b0e2fbca8ad0d81fe2eb6fa32bb4c1eef71485272bfef07a96b86cee436b2461d10d933c32b9836d57adc5ad7e53883ee2febdb6e11951d476d66f692d81a559e3e45818cec1bc856c3b1df9e89e2aac09bf81de060f20dc47a2128a1ffdadc9c8732df950725dcfde103509b69fbb8dedd61b14c02c50573180d824e3c0f04067e43f1eda9c13cd86cbd8f5cfb25441ab662487a1db9933b778efbc2d271f97eda2bd84ed7f597a37ed43efe4d59a5f76190ad8e78099ed88e6b52c1483453d5d65bb7bf8eaf818d6dff904a607e3ae4e5f60ba7ee293e091a4953f3239d12a4b9a7fa20bfeef0b3605cf8852c73db68e74032aa773dcff772a78eedd1c052f67a1892bdc8a79fa9a95b13bb96a87be137451a49648574e1f0383064c3bbbf48475110884054f86018c7848ff3ecb712d12ea875d6a5cbf115496d3ca2336a7a45b773a4dc958d58dbb9ae38518e7b0b090d4c4494b692f361c7a67b726143aac084f62a6dc4379641b2bac9f5dbc2da0a43b832a3ae83231028b9b1c6d968029b0a141a82bf6b05b4817acb19194379a44d67c41d9091a1a3fca368667b2181e86c196215841823cd0b210b2132873f577d590cf2734bc3659a8cca8dfac52be29026ff84d70675bbcc37801e8770c47bcdcd1bc79f1c7be440f041c71af047d166f70dab03d77e540b8a73609387f089d43769988cd54c8e93c60747f2b0e01d06bb0162a2db3dc007ec1cc3856032d0c05a2ea71008f641b430f6fd827ab2aa572197f291be2216008ad82f330e34e386ee7c1b4836d8a3809b7cd0767dbf680fe81f0be2739dc3e51fb50e33dec2be6ba0988f0c9ad02c3884fda27db055f96fb8f237badd93295e464a8b7e863676c1ae4b278719ee4d070425225878d12f0dd2b9181aa2db4970a46226f00cd8a982c4dc58b758b7fcf22187d6df80b4c8c957d396b4097e6a472f017795ec640595df7dd936c013accb58b6306ff4bec0d833e16b4748ef5190edaa2f52a8a1d01049101d68427b6adadd0b4d4db1aadc97e0340ba9f77c023e067605011c1a504b1a7996aa5d50ed71afe3c4b54c77e5f35fc3e38473da62d7163e8f9402eb5c8b10972dc7b9fb891f996d0c40b21cd23863dfdaf36783192063dbd5670d4ba42190306091f21787a8045a0dd1f6e9cdcbede6601e36306f297628d796c086edc25f306543217da8e86393301cf0ecdbbdc11c1199684c36a68aa719deb42c33d2d6315fc5b222f66481c4248bf3b4836eb3a67f337fce548af5bc64e7e054474972ed5e52449284f39a5d2f4b99d4507e4f913bf6286951a1aae90eebca2d1c97ae4a9b392872618f3f300e1a402091040f802f0a8db742fd68550a995fbec2f806cf3dbb66140f4708e78d5eead0baaf07b0c2ca819fa5f1a3eb02a576cf66aeff20bb119e12af891f045f6e0f9cca435b43c7f8a26a55ceb84a2375089fbba83be646251d464c5b95042eb59cea1876bdaf470329086d93a948abedc8e908e22102b3017ec2e0740eebaf57a3064180f98db03780ceabbb8808af01195b2accd6aae3ba3ca3b7de81e976401691d0a21b37ea285b637702b855cbb364072f96a27af210a00e038e59aa1c13b31c26d6c3318a08cf4649080e604408b647f8a37c141730926a26d4d8b5ed67a6c43fd215862e4697e009bb8739cc1a7ba5e850002a79e8caaaadf7a006522ad6bb2188697d97427e8dbce837cc1fbba256a110431b198eafcca8b3c478505c13be2313c5b22f620f04917bfa5c5ec335b049276c51082aed98c36b045ab84fcb273ffec5cd330ff35a7b22a7f64f6c60bab8e413c107f7d28ba6b941863c29825e7e8161fbfa1a299509b09064cf00344a337679a88777ebd45ff930ba0a7f1007a15e916028a7468bc45e63270be96ed1097da30800514312c648577a93da5159b754e9e843222075b3360e5495cb0835235730948378f8bf3cca65e0384183f225be5e21686f0996132622d0dc99fa7cdd0fbbcba7c41c2ace62416838a4a8c9b4652184ec90bc4ed10a41e31a60aee54c484ee487cda14f482e2077fc81d89632e5523e259ab5915a5faadd65353e83e193e273ed8ea3adaa24b7329d86effb539dc4c50d1f2866b787be6614e58ce9e3bd7ae0e4943f3321287f91537978a36dd6a462476190dee0bb12f402eea7926604010cabe4ec0c7d1738762e2081eb8f4d725a401d7e296e23468977ff7db9f8f83631489a42296850dbdf45f89f529a59e9cca0ef0c30786fa8c8dedc9bbcf979ad281ce048965a123a1e4e6352b33b7e0dc46b1e03e5b949cd9bb43723f58a8be13829da9c1b52de455b5b0706b61dd27520ed4ddf06561f4e9e03bbaaef9ac3a561fcfc9d6f38bfbb6d16044e875793776f94eb901925ac3de33542b63e8edfee66561ed1efe29c75b8f6837e9c20de13f3f860423860ac0fa18a2ccfec252b797b712aa02b55562a4f99487d9a246d1a9a1b8b36ad7b44f714842904ecbd44db6323199b888980c2ff4122a75ddcdea226e6d81f658e86fc9aa309d2cdd11ed9178f68322bbd3826706778685b2e91222d6b1d621683fd5cf224f75c223f9c9abbb410fd1aafed862d59d36f3b1bea6077ee089f52a354dd0d2d166f0de46801c3cc1c37f74b79301fa1081b8726064dc15bed52617b78855261c1840ad01e99569f05ffe7e77c99aee1d11ef6f02e4f22492b5956c0e06f156e2c55ceeece99df2115d62b7a1ce3ed4a0fd8c50cfa5c4e771bb0e3c0459b0bb1eb59b78e7b8d37a9170dab7c920e18f533982de2e8a01024c2f5e2b02351ed0053769dc8bd39587b1052084de75b04e253c8a9d4602069b7fe64e1722393262ba219ea010573ab48f019cdd9de27602e48328d1eaf84a4f93ff79a06ba9cc105ec55bace0652d89a4a7fd52151e8892c6030a6afc0217fd3aea7b738fff04c29a2d7b17c4399529c7a8f8170061a162ed4948f231fa0da198005ada325b68b5f88d783cfcd62071afd96460e1c9590465a1c8bf1a0efae9985c32cd469aa41776226155e870c273a87698ba33b5f21e4b0b09ab4dcfd325fabc172bc41e2625848cc246021124d2f3a699b29edf4349d42b6555cace69ca02856734da640a866149d5225a5e30d87812dc24cba60b730b3de541c1000ee7e44fe6eee12a4042a7b3d0f287b6487418f0a7a906f5d25102df332c16b3c46550362aa1db126eaf4707678516a320026480b79fd413828a7020ecb09b874507e7ca4ee0ef76bbfada0b4bd3b1143ace3c9244388a5d02a16117078c57b95b96098d70a448380ca0ee370f4f363496d2bb8da9b8689b74a0bd7a101f560d64b9c74ab01fada58221cd8805b7180a3027664ca5d50e9f968464faeab54d9f9c9a9fd4f98b9a3de9506a97c7c544260992d701056c08c6e60a1889a1ae0b5f8bdf9ae100b42f3e513ee06118be2223888eb3ccc586ee422a5fb6ea88189410bcc801eebd6030403c67b41ff189ef98bd903491f716529a0707f727959d5197fbe65fe4a3027b92498b936cd66291720a2fcc3e33b1cbd94eb41a857eff8fd4758c2c0f1f9f01b86d33221806ddce84b7d093c3e52701cd7742b6ba5b905c8fa39af5a4e0f8cf032582a72f6d3729409c64cc41604d40e2a1159af6346c383610258ad12c911d16abf4d01410cd0f8e1f44debebc6fffd33f7ae9f65c8baa083c3ddc3ec5f68b513d582fbfd2c4b53d42ba71ea04a62dd8b3020ad8f5085f3fb05a9b583065d478c590567885d41d979198c57d77f3cc78171ad71582b20d722c387d0f0500a70b31004ddf968cf1daa235352877d18f09a7d7247e9cd2e96a393b5501af7356a601bcce9d76df2f2f7f737c77aa245bd1835a9c1156a9f81f91805d71b8fed4401782cda44937fa1b0ad6ae70d40270d1d12c4599b14cd38d7201c47459a55fc4c54971fcf000445f837bc83ae1008949dbb696e74b1da5daf41774bce74a188075a8fc4765b2d09923a139b46551823f2fff5e52827cb4b34fde671e1624a11c952a1846b315c5cb854c04d1010f3cb01d8ae08b898daa2f1349d4dcc3da22c1bc732f5547bf0680230944b7252fc3cf1c071940241b641144f13b5d14977a436c9c32863aae34199102066bdb8c91c86418a598c0854d23e5144634718eacf8ca1ae1bca20a274e95abcddc3befb682e9407724f3de598d7c01f70077904d79c4fb287abce3097fd74f0e404a85d6b49d89b04e620e37960ae8c7a0a369a2d18835c98843cfd7904ede5a33a1c4c2d9d595dc33cc6843e83e9d4a0b92915c08b4023554524c5a4afd6934904a48ef70ebc3c20233d8753ef2086b8fc35086a1fbcb8fbd6392931c9d8f5f87a365683afbb9e610a98f9f1fc4cc0ec54548ed43320cdedb92dce06b431ccd842db86dfed92fcd9cc07262fce2343fc82ef3b3db0cddb4f0a3f4bc627529563285ba7c3348a59d188ebef287d4097ff513256b5338f92bf7a9522404f6e7f32427ec6f443d60604c0e192c556b5c900c68a4b5b5ed8693086d413f566f7d5f142315d5149cde2dbe3c2c369b6becd601338858142d3ae3cc6363a872b1f07428287718e8e59e0ec905aeb62d2f93c27757aaa12bda15c2fb64742611d9cecbea266d81a22848e8cc261136c7b2be9fa10408be051b86f0149e0c8becc5f217168f8c7728b6a3c639a76809e49bcf0ad640c86b11f861a47600b1463a37567365315f0e3e68b730c14c8d30b09c14c4e3ebe4cf8631829df718b35a207dc0b248f0546d2a258a31b8e50734a2144a505684d284626a1be88af755f813493500006601d25f6939510dca3677491ede9dd4b3ad71b197978cb9bf4a7bb488d99254c90946e771619cb7342c957f31161293329ff60e7d105f2b87b79c0c16116d2c8dad956412581b30b4438d0ab93c03b8997891a0f9e122a2c2e2dff8dff9fa6d0b501a4257ebc225560228e1a0179bf29d0ff751dd759558dee2ef51fb274fef99b0671328072ff6f3b52da2347ff712f6d55883b8aa85500b665df5e5e1bac89708d0abb1d2929cedfc041b55ca044fa333e0155d3b60aab436ffa9b441350b96ddca3947dc88aea5d0343964496a1080125820e73dd17d0cfb661bcd8966cc6e8d12dc569aadeedee5e250fe95bcae86fbec0b6c8778e17851d620a3fccc7d7b622c3236f381570365cd60d9c4c023623943a805026e42c9ccc393bbca9f31ec374f5fb8709871e08bad45b0d8774fbabefbef795c3b4347f08294edd3b6736972422502fea349047b32a08193200da59ef2b0c4f05ff6253795c99ca09d2d5b87180e1db7bc3a6cfe6cc7200ead4a783e361e4d26ae58ae5d734731d285edb48e37a94ee943b4d8f20affac68a24218e4c59a0838c20be9e659328d22daeba86f8a0bf82642203008a66c29b33143af833d78e1818b098a64473734cc5d5ef38b649ed3f8de4b3734b6048145539aa49221f4d4c742102148b986737ca82431ec5b2056aeaf246090de9c25925449a06ee339ce6116ec0b923466620e6216dcc12a956101d702fe47393488a385aa20448858a787ed1906c765b27af8106d4a165387731e06d9bae5dc17ee4a50441325df1fbe7ff326545c56eb98b9aab6144c26e64a48a6ce14c83f4800070f98b10c31339e0afe078b87cd9de5092dfbe7643c6550c56e24f95fe76f56d0f86c39361546b05ce7cff354210eed64075224ec31cadb26a1e02dea5ba7e7973192b1bf7c45d8e3ec2c61cf6401fc46a3c4874b5672e51cdf32239df240471423cf6136e6525af5083358aaa314a71557f4d6dbfd3831f89bbbe7f1add914a917f126b47c6fcfc41facc694ef585ded7d49d3b37e0416c200d4505e1798748748c798e83a98fe62fd0d01d489687f3abcc0afa999eb51be02770239f817fd7864928ee0129b3ec7cf1767899497db33d6bf0870a0f4d39d7180904c57aad810255baede44f661cf9a160546bbe66470186e7c30454135b09b40b48b10b0d103c00fa1bd89e4fffd4d02fa1a0611bf7ace30f8cbf386a56154c11add11daa3d898244b243797067e1f371f564c4531ed03ed580f06b1a3321d8e3a99dc35899d94f9d8ce80d5a69129ef5817ebf59c93cbfef88b75f38ff23027052dfe384eca43b9cf8d2f6d874957ffc0d0c3c122da7b2bc043ee65f69d2232870b11f8b0182793363bdc2c4bff5a7b000953c11b976f62a7cdd53c00d04fc46a67c603980c645b0395d092cce6a791009203d2b4997fefe55571fc4e00f23e8689f23db56ac9bd533b7979846049d3462c42cf68040dc946644507a4dcb8ebfb06f897a7998f553d7444b92822ebe4ed0bb9be6a8f51888a7a5272b554eca1a4655a595d898dca362686f557f1e4313b01920f5f288014d0e5191e64a84b8d7e22e85dc1f3991083d1819cec935b48537b4331668ce8141351db64d2c79688582e64967b096148a45823998e86e5ab1b18407ba6f139b60ebb55b0ff6f567dad24780a38c7ca0db8ebe54517750e0b6ad59dc06ca8305cce33d73ffaac5c90ad228ceefe2bae87e971c78c3e63332d0d550bc355f64838b92b5f7627a5f832013985834eddd127c080de9562ab5efd870b0a2f6cd568ef46786dcbdad0cbc3d4acdbd4cbbba34ca1d5a7b260a06706a0cc341e0c4961e43f37296eb43c373920366e8ea31cf6ca5bc3bfdf56cb2f96a66f85069c1ca6391b72908ccfad1401ead2165230429832cf5e1441cd6e80b2ebddad0a7c19795be36b7a8a08a5e8c08777a55a31a10b9ac661c48e22d220a34b8d61b10f02cb2d445d10c7a59788b60f214dbd67d51f27444814e4a29e76d13044c0b6f19660195e628cbcbf9f806e77bffa5f45bc6c04eb7336d0ad6f994669a6fe3eb4f438c28186202de445c47b62b8b8bb7c06cb39987b357aa498a436a4b1ddc3888c20d00de22e449d82542299ee5e70b3956da0537ba1e90ab1069e38a23a48c0d0919bf4881f96209621694f373b4060e0b5331fd7aabf972bf52cb7a69b7b2d96b14ea1adcbb1ffd24269321a8d425bb08b403988ad46c0998c795adab25ca0275324521be846b010d35acdd9dd5b1da5a4746fb2d8f068ea2ee9b31ff5417a0a1aa0e3f82a00e01f60034659b531bb35f2187975da48b9b4e1e79c0f46147c726af672fa89568947f9910db3b98fd073fda9479d3a7fe9e35f59cce98aeac20d4768c3ffc7c532d97732a4e6cfd8869149f1daa35a3b1d0f9ccf86266d66a48ed4ee84f79c491184c578a48561ce72035b901ab0226be170c0bfdbcacd9e09191fa59118681c3085a3a99a81240c250dec6ea37129d84c0ecb2c47911b28977519aab2d5f332ccfb4cfe47ee912c4f48327114dc29b458c54a0c887e6164b80275b8de0f6b877f7b9eb9105da8db9a22d321ddf1f0f0acfd88019756e66c2d986233a1682d52bcbd95457fdd969b067944fad5311acfb948b51ea5d3fd559772a27d0c6fe03278847b78563bca0d0d1c60efd65b87c11e7022e72d9343fb74d37e54eb33cb034780f56ff4fc814ba88c88770e5ab3384140d293e1220b15f77bd6cd2509dc0d5f1bf3b6bd27fe76213e2cddd08226bcc6d8d62da6e38914895c5feb924373da924ab3b2e47e1db661f31e1b2db955134447235a463f2e9a9bca22a1b889d59603d1112c5a1d386b9eebed50e0264ab35b9e12779c887fa573b884102887d2732c5ec5e9be085bcc7d21d0408d4dbd161b5bbd1c3a690c563954178d592bcca6621f5ef5ebde967e2aab9a293ba1e66a9eba8899a8e463c87d9b4ef11944ec49b6a96fc5b5e7c5ee44cea8fd71e6057260c1f5cf43d05509b14a6ee745909d25bc817fb22c89f16d257ddcdb5d52f01dbec2597baddb5708e330025091ad02591f4b165a927c4a3f09649aa3a44cc56a6bfede30782a5f0d076a1892aa7a2d1b91ff030185e7b953c5a9722fc20872afb34ff46552cce38ba734bca9b94105d1b71583bc3a0b8de597b6b4138d496bb8cbd17eceb0cc8e8a3d364aa60e26fce5e922472a6897e15b8ae5b0bb38214d1d8b436cf8fa9e957a4f446822b421e7f00975e3b5677e72ad0a96c46f6a4c59faa94164f2a1d62d82d3d940658a9349e8ee738b0a9cf7787e8ba15af737d12587ecfd0b00470901ba7ead62c1e3996160f25aac5036d66b7168da371a64197eac04445534dbf0eb782def06271991e09b37344b4b2669b4509971ab049603155f181ffce36df3fe8207bb04a620a9fb99d84e8887e7a2cc62e668f3ac76d2c72878499d96ba6e3cbfa426fb69cbad70a40d96a332c5ab24fbf7af234e6aef650e65ea310abaca3c9d019c357a0d48033e08d0646c484e4ed2882d01c4ddc11c2d249911100f1137d7a61e22fc23907eb0bf3a9a9511bb1bd89406acaac7eae5b30a67c264347e7cc1ad7bf35cad28fbb1b5e4212ca50cd8323d2f6cfdea135e44033e8b10983d726ad202da03f9771e144be84e06da31f2de80a75e51657e57406e30d8ce57f974224cef7c6e0c174c9ee5873be2a9d048691e7cad47a5336be93b345f08afd3159839ef17e0d34f3ae779f69aecd2e6dfbe64a867bc00a5638451e48d3a9d80f8ed23fc812dfe2920ed5056c70d92315ca1573a0d2e7c509935f2dbd86b1e717b73467a30da1d5822baafa2f1bb222ed5b6c48a551143b28d2d4d41a7de033a741d0af8d2659f3be2f8a6691f9ef5b473f024025f5c9f27bbd19b68deefbdbe72109d00bd0d5a4447a738a34e17aa91f013a23ed4d4c43ca00073102fcff62b894e4db248cbf75480156a634f8674c6bf20d13ce873aa104ab52e2feb71e5b4c4110eaec373c04aadd4f8ee541bff95e14b25a4af04f18d3f4c7cf40994f46bba2a363d1961d17dd3d1a53dadb58a0afd4272226295905ad6d4033db0a04ae9940a2c944b52d765991a4f0491c39481ed61489dd09b0a1a3ad1f68a4c74344cc390060991ab42432b2722e3e004cfdcd7306d1ee18a604b4e2b2312665fc40af2b40b031db97b3897dbca0164cd274e77a6a416216e0575bbd985021c03cab2353c9e94968ec0ef1345f571e23c66f20e0519c819ab5df9a5646b8ce308338e7573dc2134adaffe097a395c97171a84412adfae6d2649853a30dda27b09012751ad1fb00d40e54b872048d5f7cd17786631326fd0465d81428dc943d487fb403a139083800669e681f6e0d4c136aa68893996f59f01c6995fac99d0ef45450354a24e824c008480f92aab3162747578caebc6e583c9d9afd68e52748a5d37d4fb9f2faf18b67aafec7674d448633196497e0520209700cee2173ec5bf2229f9748b5cd8516746f1771e929a3a6355e2825e9b128b04a3e7c3941ae7b66357dd81f40d42dab20806cc1cbee961a9f9660877dd1d0dd22cf1c1245a58b584ed99a09a7e21e69197a936e1801076d14f86f07b7c8f3e2917889166dbf53518200628f4ec7ac0b6f7b803b4ab9825e75ac8280fb8c42bc70e0c3fd4d51c82e0936e520151d3baeba5927faaf0338cc0fc6b9582d1ba01f50fe44a9b1c7d9f43d369342494e83e081722297e593925fdfb6bf4879cafa753f400e2a66b1ae00beefbb2802b350bcfa12758f3836c3848b36b813b8273704538f5137f8b43a87831c9da053fc93ef07e29dd99ad462b45dffd8aaccf0de01b765afc3c048cabbf84aa4f1b74437f2ba84647e315c2f1a24de83c10bd81f2b63852c71b3c564e5a17482e8ba1957e44adea38030462f33ad89506dd0a51039e4924e6a03bbb32fa2e1ec8c88490dafbdc5ebf3c97bd01ddf46c019cfdbe0cf805f4151dc5c9d72a8162ee09e0b94b174a64f928fdd6641b51f8391620151cb13c3470becfa1f33dec9641d03c3c9f4ddc5454d6b64bb3a9c31aae2c0786fd2f2e2a5fce21931b5f1451986a584d3d427b337fa092178f6a4cc7958b6a1bac64d8ec09a306a4daa21b7eb5cfbe094ee439adf7c19f42bab2007eeb11722ff004349f8021e00f81601519d3129c227a06bcdf73d7dc89e7d2575590fdbde262affb12666b707370450b5dc416c31209e7d380c19faa248e90c6fb14b137b0902aa553e2723ae17f03191d004d9509dfbef42b57a20389ebadb1c6e17e6be0387f9e69e32ae1fd3c614c06bf11312441ebccaca39b9b71c11b4452f6462c2e1a332a807f58299bb67551c6477e947868ecb16d520108dffb21fe1ccec7ebbd07d2ea2835b46c66f091aa4c7b997a6668e253408c0084170b5d032c5dc3fb4af3285ace6abd1fd4c94bc5b3f26d9986d4d826820e0cddd32863aa2f1ae355c21cbff44ac008ed5b3b6c7c37980003ebe1576f29e8be2e107fadc7b9f0214750833c7e14fc26640f08fc3211d7c638ba05a30ac3386e7cfc6c55f2bd515abcf38c199e9116a04fc1f7f7ce089f028cbbd4857a479abbe341490e70aaf4afe34f6104471323ca4c08b0dc809c38f95a0966cb6037960dafa8db6971cda6a5e599b5efd15784eeed560e1010c2a1c433b938f3ea302d9b2fab43998132e6fcfd71d878d4b8a5b15abb4d9239f9900558f1a2f059c2a1fc05d927c67002fa89c07ee73b2462cdcc334dd973549f48f779774de12d219236c24dcdf46cb69c4d08bf94b53803d10adacc2209a4ea8d6ac63b58f284626095430b9824a37490e7a49e59c21a59f27fdbbc5e450ee486bbf6f980c6b7d4fb624adb94e00368602d33db95316168d73328f33e60ea27526fe0e31fd02660288aab6bdcc76f781b31f8306a29b862582261f719ef512498573c0576efe1b47b01c09fca2ffd3b2c0516dc9c536a763e2c7b512abd51d44de29bae0aaa64ff8c7c6f5c5bf454bc47b03f51dfd4077c0cc432b48fe7c011c52a62b17e76ea93b2d7cae50198e940d62d8d232c4bc7ab3ff0f91f59bf041be7825ad735876298bbfd6e7bc5e4e22e580f0d5ca09593e71ca5955a921edbe3f022d0d8570677f62c631d02060f5bb5f963353a1ebf46a5ae71eabe3c6d5bc69e986d8ba77b1c94dc5c7222d54bf33605257a422cc16a7a4653a3a2ac1e339b3cc02ec83b792838efaf8275b7545d1183d866c0d624165806a3d2cb10743142565829d4afd1e3858a2d3d4443ed8599e1bd322b173e83fb4dd052476152d0718e9f489cef4278ccdadd91c6041e756ea69177884a808d907bd6ec76ccde72c47b020876a5722015da8df9cf73b6626116bc63eee84071ff8f73e018736a177880db77ce2b9055d874c5581fa84c704f8cdae804eadb1401865c360c07ae6e8f6ff247dee26a07de19028558a19814dae13cc6899f0c1b9b56e0a2212da420450cddb851099cb92bd9e183e3dd01bbbe98cd8ba79e383407c974b70c2dd60dc7f74768a3539b588ec2c2eccc0e29ca212104731f8529060cfcacfca3d861ccc92fb21285b38041bbf29eca1f5dc05bff16fa4a91bb1c2b8ce67431287db3877e8970b1a605c59b241b8972983ede582fb856c0c180d67378192e71285c6d2e38a779b6ca24e5528c3515409f43124ecef0969c06c620d6c7a51a86a1ac5617b0b36ddff2394bf5b07d74b4cbee5c8c674ea0f37a1e467ecd0264a0dcf7fa70ab512bc7b0385a00606a945cd319159eee1354dd9a5034462000ff8f29a6021fcf3031102f36d985d47a781875d7bd3877f179ab12168c57b9ec52ed30b1eaaf3c5f48c4802a9afbc6def180c8edd1cb203d69e62cd2d26accee545fb3c10f0274810ca62f61b5f3021b8885e373151527179f2a36acc1c255330cbac4cec884126922583c24f298495e123a655aacd18d5ea8a84fa54f51bb75c2c483cef12a88ac3dd1d7dcfe29d750b4e25625be44bdcf56ff2099777ae2850ec12f04fb7a1110f136fa572e7133641d3c5ed20e5e13aed424c3dcfcc194fc0b4b74ad58b0370c29be595e8acac7deb8c7ca51b82e0eb87829aa7fd2261cc5a2bf4d3cc07ea486e5100a3be5014c447cea885a507b630743d5ce5aa262939f9e11c0077ca903e866ee279cf72e8a504884c2ec8ee3e460c1d83de8e2811f82de8d742fd843585fa327a01581a0445003d68e983a0c2d797d8feac981db55ea96c33f9fcf71938c2510818a44737dd5a01951b2427807e1a2be074f2189ff6b6024b21e38e701bad6ef0eb125959fb0b4e907084e535c82f3d73b2bf995af1d758ac11c6969a3d03704995563d973ea0f0a4b002acb15f6b13d1d0c22cea99813f68a999c6d7600fb198631e36235187ba9cc317a5cf2cadd2da8ce7e51646e11c4e3ce1d86ffb0dd0625e58fdc4f82c483ac2546a46d2148e2d159aae78954f394881854ca3c41ec7167338cd1bd1b5753edf5fef6acb30e46c88d371438b98e513b5a943e8f059b0e868c9eae98714c4e264609ea0273d8e930454fa9b4b7bbe0d399517bf7dfcfd8871f22e01c9f39a97c9c6de44e237d9d714e50c29ebf53672578ca1b9400aed32270126f5be3712213c64e65db0e3fb6086588183026edac1e5896637065c3f7562e16a8b037027d6d0a6f2d094f5792dfd7e8862e2b5cf384c88531203e10aa4590308c1f9b365efe635dbbf217a13fe1cda4065f58f2738b45eef22e6f1eb3f39d9db513bea2d8d5729955338da5f6366904c974f5ae0caea6a46a02a96e3c36539cdebc949528dfbab665edb90ccf55a74a7dd24f35df46fc9cb69f21cb73798bdf89a9e111c91087abe0ebab35a2422e27b3dcb4cc664965199645f46079d59ca3a96b30cebac4eba55f775a9737deb53dcbc2ef5af6b9d809bd749fd7539579371998bb865ae13cb5c90f5cb7a5bc416f835fb4fcc0db97410da002086bf2ab90ccb02faf185675a408a69950e800570c87bab8f35542866906163090216788b0dbff3cdcd4f8746a33f2fcb7f9a880ce46e04652374bd7f038ad23ce295f3d611b9c17f800414ed7e9b1a15b745625bb6551a651c11a24464ef4db694524a29650a1a0665066006df7f5242682aadb6dadcbd3e1006f4691dfb902eec45a3ad63ef7a9625125803c1ff2fe631b0a96615325fd2ef402f1a691a10cdbef4bcb79fbd8a8379bee157f481b399a7c5d987bff642b2a05fefcb7a4cb75aedbb074371f6758fc3c7c1c219b80f84f1fb0b7dd63caffbfcd67bafcb9ef7bd5e9d4ceb1c244fb0d1f85bd025d803214916f47dd7db01d12e78416d42554dd87638a06a6bf905f41607f43370b8ee0cc2ce9f6de772c272e840a1fd8ef6a2294f70ebc4c16608dbc2985bf6c9c0265c7dbf88a25b4c250c7b98ac4b9e51ba9dcad39e7372728aba73c05ba5a30c4f6072ca26ade455dd32e3d92cb0d6be7fc1a65bef933066c618a476fd52bfd62b2448c180c208839d3dff4b01e7533ea8a6aeb657edf944ea6f9452d9b55d4c17334bacc3b3efbbbe77e0f23f277af6b59b4ce289f63f28b167683f86dc33b4c0fd0a9cbe7cfcf66ff881dcd3f79c51a5d4e1b991f8e576a6de9fed9e6469beb56be049f97dbfaf00df1f496bda32d7b4e5379e946b1b4f9161ef9d60a341950a31506d0e6a093084c16d7cc905d6e33bec8ce7e02bbef44f9c8aa37132fec5abb91775295a85ada6527e9c1f8b71161fe44da7ecfc94be886fd8f951b8a033ad8f85ec2cb5f38bb725cc63863804a10906f8ef3bbd389422d03f7f704de68bf9dbe26fafaf2fc8ace5bf1f2e0188e06e48441fc4dfa90f34220c3e10d1c70f22bc4ba82d8bf2461327343607168a843eb826b19f81f36a05a189e85b740813b539a06178ecee43e8c8e09ac408400427932c994a1fc57cee30992f62285ec5b5e49c479cd1412faa9cd77d27d8e80e6ca2539e3469764bb0c94a0bbd48835059188a1928acb9f0d21c47412544417f3fe74c822fdd3cd496ff68e7c752580bf63295becf9f75f80afa198f50e4470ace35975ce0aab9f44f3b633ef8cece586b679cb533beda19b7b0337eb2f3bb632a3bbf4769778a27e54bc56df9b3971176beb2f3cd13142e60e26e7883505b06da21d068f15ae50fc1468b5f959df37f55248bcf0699b9e8313bbfcba50f0718969e5bd4967fe6e60834df77828d06c10cf0e3206003eee3286acbef864ed1a9f974ea041b2de2280500bd587f06e1280d3c8956d40105f9610085f551b4a0e5d7904acd5a7e5a64b6bf30fb98352fac51346fbf76ceefb9e6605974dd2ac2a3451cb5b38bfc4134cfbd9e4e515bfe0c148af90ba7c4d9de748a2e755362db661ce549f96334eb346bb9e6b2ce1f828a0efde9128e725b7e2fa98daeb91976feaa3595c0cf409fbf724916b372cd5a7e9056b7662d3f8c56b5662d8361cda150a2733b3f8ea2da675bc4515edde27fe2c370ada6ee3bc146db97f6b7f831bedc883e9e2fd52a2d68c195342758db4118f7ab63d1b20987a206f2f176300172e770c5108d80197bc5906cffd27c674b2911efbabb7d072d28b12d605bccdafdec4bf96f58df55cc9ad74aab74b16265a9ed8a1a1b5ebe96ca69ebb68f4e9c74c05a4ca1c63f300cb962020b713090e5ca9c394f36e24cd9d11901c0ece6972342baaec34e585a3dd52f394081c8ea8115d5240954191c8cacb4f9c00a5eaee8e093ab9313bc8927787141064e5450fab613a89db78f4e9c3a1de6fc3adfe7df498b517fd67a636860dbbf34f188d3ae734acf258b20273fc146df376145cffc988a2e3dcde153ed5a31d6c656bbe22d6aabb88bdaea7dfc22dedaf53d4c0be146df50bc51168cafc0583cc98b6481a93c2cbe02c5632ac9a286ffecfa62d7ac1ebc6aad4fc3990d8b4c74f9af4d25aafa30275fbf56ff569f293bf97077f729bacf9c69d6681bacf041e96f306bd9e57b88010e664d3e073e9d6ee056326df91b4c25295d8b0253c9fd6acb0d30306b528a40a2fd45df12bf2d5ffc82a4681f99546ddcc533d241bb53ed9b53b9b8404b4d95c18b0b32c8ddf0dce8fbafdd98682893796ad9d76e4c72c4a16bc461ab03b9e77f96afe5cf96f804e1ce2519d8972111061204fad27dd29aa5dd5cbabbbbbffffbfbff9eca7ae6ffd34a4eda26b7e99f60a345a9427aa315a5f931a0b86cffd02e8a2d96b55acf66ff467274cd59ebd9ac7a35ca93e8e7aaa944c5972c966d8b36880d32c557600ca4240b6bb5dd86c4978e464fb2416e3314812a0d688b8f2524b4451b24c8a676b4b241d7176b97d3ee72d2368f0ddb5a5bcbe4ecf70238bab05142c38d3a647097ca0b576fdc34998a92c211dc4d01eac78d255969a070102b26c492fccc1ea41c1e5cc62f3144694106dc0d53f5d4858f9b272d2d7c82151c3976653acdf92767a9a40f187482e5a3a5d674060b673860850c0f3f41ca48f0c307933944ead87043bbb8624b55d31b7eefadf767f7867d1d4c0b5dc6dcf8d1e70817ee0a8192616a852f564ab400c97d25badeed8f9c3f20858e0e274f1c9821ca021c6774b419b3860a1cfcc3063240495c5a94653c07a0b2064b87983d3858c1dd1d4f25a03076e1e107777dec7bef97bc425a2b30396bad9d11f50449943257e6ccc00567a9f8a0a281e60f9f1ef6f490c1defb613655d67a2f0a9b0d2dbc94eacd93730188c0647e5cdaba2c6b7a886075a38e0c1508c3a3062d18d4f859c1841ed9c6c52459f8a65ff323b20b5ffb6f5f24594264c8921d7b80e0acd4d3431f281c2f5cd1c0591edbead8d6e24c01d7b25a14984af6029fe184a394d22abdeb8a84c0b4d65a3982dedbd6b792d6a9558b822a2f3c61018a8c961f432fb8c101c818ad2e7870940d4e98cfa4ba23f30673c9efbdf7857ffef4fd99d403c78e087c72fce0720637a3860868f48420ce07b01c993a94eebe6eeb0c41fd89028816ebceb42a3406cf8d6e8869b2a9e4219dcdb40e457f1b3af5ffa86e316b4c9bce6eda671ee2cfbe74a3af71fefa5ec57f5bd8d08511a5e3b9d1c538bbbbbbbd59945657d26a048c3196566a6496752b112e68aa2a5034ac31a2a192d1f9b30b394b2a6948b229fd4ce96b4a29fd5bdef48db6b644a2736cf93249c5035b7e91ecc0d496583440eda2d00252cadb9c3fa91525a1ee6ca3e3b367879b4e559ba8a433e8903203965d5f56a79cb02b99a92491b2869860e485377356905a56c8d04ca16aa652b4766d57e964559022e5843b3ab67d9462e30d9eac234a1c1ea2a8f9e19475d637155a4619038293842ea0285680be282758142642de0e28308a11d86bea8bd2c3eba2acbc9f5172e49c84c94b471121e3295d97d0ada004aaace683ed31856f5f826a053eb6ee145a010f28ab24362b3021578300c9a50a76504d9b67394281d27a2e55d0036bda3c33008a53ce7a36b4e4454c51d15f0f467334d0d60835b060a86195bd68d9f6b14695a1253f3c491fdf9fe175ab5a6bbd516b3de4aa194d3929a574566daf4873cef933e7d96cce293f77774a29a539cf664edb5e7dce3a656a3ccf84f4a06e97607b28bfd65a6b52ca971edc6d62cfd003a20ee49632ec66a2e2cfd89eb4d24a6ba9adb65a0c9c0a6743a7b64983319feabb3d906137d1cf9abfdcdd96344904637ea10775cbb03bef19ca4ac3fd1248554a2956d9f67aef4f162a648a9712259549458b17f3cb296a68f9b8683659f894483285cb8fd6dff7de4bcb32ecae6eef6e316b3396a4565ae9c517ac8a05599c6bad55e28cabfd3c2d04665a6df7f2be3118a4183ffd3ccffb5e5d0ea2325aede78da121cd8897f3d3fcf969eef2674ab1bdb5cadaa71506ddf53dd957afb553538e718e512fadfa60ade612d5ddeee5c162425f17e2da12ff6013a5551006a4a98581b4d7e3401a53d875ff600c09843ab44e63a8118928a2d1426cb78af2ec29f31c893cbaeedced2a0e0c458478651146ff203e0cbd3b08636ae1227f005f36f4cd1f4004c5644245b319104c879d1108eb2ab55e86816274aea90b694f5a669943a22590cb09c3f8bbbb15036c7a852078001cea59bbdf8596ca5288f72d387160186303208cb92d605429beb9084c98b0d6bebd5a5bb91872511164ec4d102ccc9c3769b5d5e6eef581302020b089ea4aada601c168f7fe0d6b0dbaf2b4069b688c56af7bdd9c73ae6550bd6633b0f17b05610af65e40419ebd53b47ee0abd353533874efb7f71e4893bbcbafd7cb03edd7651c13bab4be3215b54d11fa8251d0f2bd97f59ab5586a60631876e3f7b2cb097b85720a14eb292add80272424bb96baa0e5632ca14c99bad2b5ce1c501c1a55558048b75aedf360dd67f4efc99c0ba69bcc75d9f35e5dd1acc74c760981d13a5e724beb5699eea165b45e0bc2629c6bce4dee8395a4b18ffe54fa64462f659ee9844371425d202420b056830909814d54462dbe5576156d9732cf749a507bfeadb8af5e0c33fa076733ad3fb02edd6e2a1ef785e0e7aedb85e2acebc35e11389bbd640e5617d436a90569d36986d14d38a44569f92ee8ecbaaeb4bd99ca72974c313148428f9e5b945d5e29965d33b0a97e7671ed5b6b6d4804c3dec9336bb32b4a7f430113e32374688060e8ec1881c5e0484106344df6a880078767c81817b4f490c58e1849a99efd191c679cae64fcb2b6625b474f0870e87079c0a10657c111663b955638ac6c4aff3da7f131d314996992cc344c661a28d3e6f46758934e5571b8f081aab8dd98aeaea6cdb3b2d6b4f9aee08a6bda28fd2a1c41e2e0a071e3c60e99d2fcc2d77653eede4949adadb5da5a6bcd3fdd1d4b7a2ba534636badb5d6669c71bd94523cadcdd2da57a7633bb47bf8d65a89299dd75a29a5bbbbb5d68a94524a27ae94524a29a594d2a794522aced89e147bad8e79bdef75375c275f5e10c61f846f8ee91b94616010063fa1db7d9eec0388a18e5e40eba1ae7edeacd6da75b5c690437cde27c65a6beb4bfab2565af1ddf5d6fa92beacb4562aa5d452e67539cf8d44b7dade317dbee1f2d36e9aea9b2fc6d2fecbdce5a9f5ed769b4acea2dee85e4b68cdf84ac700d5d54d8f24de0d77ab4dea4a6baef85ead1d035477affa4637a34cd555098002689816db1788d58ceddd96e6b6ce3c7601ed3426bd6635605f9fcd3297c9bcee76e15ce9d1b28bb65fe959b23df99d58a3c55cc30fa4bcbb03f987d2dc369764d396bfa01d74cc091d9d42d01c799b74c6355d23549998132b3a850e6851366ef1b1c5efdb439960a7f876d3052d62fb88c38f2ddeac1a1c9e2e0c5adfb14fb42c6769d0b011dbd11a4b10334e9e9821a2c40c8e19ae429043ce940addfce52b3a5a4f304e4169349017a9d8151719accb127d2545835ef2005da110e20b0305bb8a02bd2d51a09d11af305d1f1651f7658957060b88ccc5ea55e685211c664a772b0274bf9c7517ab5ce686900533854710c8aa162f779cf3512e52f68646cf2f670d062b678d65688b979cb31cc72731fde50ab6e4c139e36be94bcf7a46bbf224fecc6675de3165f6dcee011e60e881c7102c3708c161070e203984e08d95913df5ad61cfc720030d6c155bfa24eb6e54765191799ca0a692adbe9ebe2fe0b4b24dadb945972a6ea9e2a61f8f2e91c281746a2afd9ef96120191c3628c12630d34c737eff72d196397fcdef814df973572a8adadebfc026af7a1f9920fbfb42d1cb2fd97efd059b5e603e1fd9945ad9d9f46578775fc1a6ae663b066bdb1870d6de80630f60db50cc76a655ed3806880168ad600d6fd239e7a473ce49e7a4f4cbd9ff266701a6052c3cc9bf009ec25f5a40ff14c06bfe138c51e70c993cc9df9944ed2db6ffccfffd6bfe37afa367b5967bc4e6ccb206d45114b6e9675d75e5440c0d2b3cbb73d6a042ac3ed17b29fdb2c5c897377b0db5b34fcf7e4e1ba6c42ad672635cafbc5532d06ecdd6562b6726b4f6e020b3838f2758384f860ff09181ca480e765048425fc7a8a693573054bbd6304376f5810be3644d558e5a4d4a067469b285c80e61fedc80775cc9810e02305baae47883c5034e6c1033eefab54a27908a57ebac9ebbf3f0e4d7392db652da499398c26628c11815a4806e1a3c6feefa499f95c224dd9eb5f2de5aa59466fcb50c13c588192374daa4392147933c49b274aca0431f5c844a0a74fd7d32b9050b0b972168b8d85992d96a472035a43ce1c1d2421bdaa5063d52b8543db1f1746584a7180e2d1a1921757161852e37ecfab2eae5855dbfa87ea1b16b969a0c0bdf8ed2796554dd272b22b17d240188510a59b43f36a2eff6714b097db6d8c831e8ba7ddc42c36709f84a2d783efda590f327c339e36ba98a163726d702824f5654b47ddcb18291cde3e5a9e44e69a639b5d5125bb44f6b68adb5f65e7c2fbe4fdd784e76751234b22c49b3a70447f441a25a6864d9538e915ce6082d7f9db0646591cadf75b4a73615b4fe4670d1f2fdb35db235243f4b46e3151d7b7e0b1e70f32798ff02015c7bfe0519546aa9a6ccae3ced1c7ad37622fb1ac644d78c4668e9ba76687dda4cdf48f0e67b932641142b7cb6151d400abc2d5fc9f3441cbdd1e237abe7c9afe2293b9a58c5ee6bf72f4c9bb165cc6d4301c814f55dd05bab2863eed7dfb734e9bde7854431e67b4fc17cef67ec178de6b386f33bd875341973e7500032c5ad6f4118786be7599334bcf620c9ddb93253a7071130523078478840c1d162668f540df37501ace46062fb68a58b95295392090e306d721843234bcf140df4c0a30335844172b535e409b6e2674692ad3073fa2031634488037aa4d933d6a9d203122cc40a133ba9a89ceafeed5ed1616d08170682c4ae26440976ad758291ddb5d65a6badb516c5b6b6dbb6ebf2dfb7b8eb6c58a3b210eeb630118448227436935bcadfd705c534b9adefa974e7e79bf76dd1225b5acdef624a9af71ae3bf627e857ad656d03d39d061dce5fbf7cef6bd17ffbdefe1edba0ee32e5bec542f2a21484ef001047c0a8048ee6cfade8f757cecdff8290db327bfbfa168e481fcee334d86dc3953fc5401f82d40556ceb5c1c4c255001b48ddf05cd59eb989dedd88b25b638e44af8a9d3c7316b7f5b3bc103d04dc3cf93ec7f10ad027cf1db2a5cf80afaf637a880af984f24f4408f9f48288c51db422f1422cd1aec83de7e0bd8db0f82c130c6f8c512bb76f769a57920b7a6792037104dac1b167e60bd9fef8b056dbf6deda4795f6915cf6b5f5f25d03ed679da367b9fafa07b7200dbb74235b48f5bb9a03efa932ce49ca0b35b56395f1cd6fd81dcb30bf4a155ebd75abd03ed239d245bac1447473a4536fddce201111822324464dcca332444c8b8d555dd4894df12f82eaf3e9002bd65287a14fcee7ebe58bf0bbf9bf30772de5abcc040030e32f0145564c9549abb6a2acd4d9f9abc7efe6ba4a365bf2e8efaba9fa1187e34df138c217b4950d7b927d8e485ee2944fb32c60690a6272d98db7636d72deb9cb4521be36d8cdaac152181331f5a3492607da4b0168a1fc86dff8a3a04b48f74a0ece9742b9dd8e98230f49e8f3b90317088d45149a75b189ee1e4e43402ce2585891bd838bc7912fd007812a51fc4478b37d9f59add1f0fe8e90970afac52ca5bb5ec76a3fb2e0432b695e59f2fe6d7b326cb2f7e3994cd9abc52ca2be5cb3a9a68b43ddf2c12d98d24a36e1c72f0cdd833360d9f4cadf66bfec4bae7b51e8a3b3ab6f3a4616cfb954d027d6a22ea3d6d7d0fe7fc3aa7949356f00122f607a1fa009752647c23658bf98d8e2ddede309152cee955733a955a4637505a18dd180132ba2901ca0d8d367b40d0268757d7b579d3e64cd188366476d1cbd3e37d7abe97979787db6419b3a238c962218b880963d68d318b869fbb470d95ab9972064cfeecb8278d6968a85133a2e96144d3b5c20a239a31434246345eb438004d112cae2dce9c78d98ea6842d7f46ffd0faa74e2c3e2a8427021004650b43c30936944e99e4c153e1f231a03819829408f0bc136cb87c70493161b263c78e1d5a5a5bfc71ce923967e67029b3c5678ed416b3751ae70899a3a38e1d3b631b2a45c63651c6363a988c6d9cc61c9fac318767cc718db93154f8de5c92173e2838633ca299da6216f398f3d1b5c59c33618b3336b931e734b231234385dff13bf2ac0d0119028264547384c4764f72c105a9062a5ba9bcc7ac2c1b6523c626c6464e6e5330d25d0e962dce363dd231a90e2a8b88f8a04151d50645d96a6b9562afb5770abc73f1bdf605581c9c31be2b786a7297f32807053941868cddabebe030c9ca618bb30db5451b95cb016e79791e7894c3fb727c2f2029de37e4038f6a80b01ab00f8481e018a7078fabc85a01c160208d385979b4068f70e8188e18904c4bc762e0d18d58d08d20eda189051d4105094109c53e31411f3d7a12923dc982846432f0e849f6e1e983504745f60529f900e2c387310e177d0288a1a311866623cc40213d8666434371a884dcd845b34683fc0921e2c88608221b4421441011814736888a6c148920fa40aca211454549c63850e244c5911a4162c408aa2a71685821518204895a44c350e24b94d8f3b47f385a5b9470eee4e0c0c9a285345aad45420084219caa2d5aa92200181dd5308aa046040000db184510017844230213344c1845f0795f4c9c3061e2cb48826638513b71628433442849cd56ab8d704af093662a4f881c3614369b1cab5def6885d9e26c4f6d910ac5110a145a525bd43bcb1667bb16917de008e9e828ab4a8bc71667bbcaa895c30d521212d21dad27ad354e6faab668a7de646d71b6d52cc9ca5334c28c04124890224512082b12a44891e27693c04bf1d1dbd1939887f62c62ba813c3c0500dca1aaf1fc33d496ffc24a4a765145b570919b0001754a621b5bbe0b154c2d26e89241f49d4f5b3e93a8659e2b7aa39a13d24d051795a2274ca7ed34ac2a90374ed3c9fef02369d287f6d10dd61edd70f1d9d36f487cb4a8919c8dbe61a0b5049cf2e9f0e8662bbbb9daf4f3a6dd0cde118d3a49ea64e930476b4c83664c63664c6335a6b14335a6991ad1e4c6282e2e2bae5c90314d1f298768f93111b428a7b66f1fe7acd913006d80364634542e26266754d355e5c8a1d247357342256315ac2edaca88c79bdb8df182e4746d0942638d981b46c0c3838e9c32449e58c14db783c67a00ccd9df1cb95d9a94b9d965d13c03e6ce3742336412bc3c95dcbf7631ae556ba01935843927902e6b191d2842b90bce3933c94e185f4bcfbc80ad28bd18cc9c3f14e39b61a8c46c9ac95ac8d0d008000083160000200c0a0644029124c9f240ccc51e14800c629c3c58582c178883a1400ca3280c62200ac218438c310419041c538aa64a00fd62080d7d7021e773686b46c7c520d3944c5c30f0a8ea03646b5c6780ad71a71418280d029543a38fc0e14da96bdadb72332e4077f67d9f78d3e514800220cbbf34d626faaa5eebf1fb089617a3f372063e2c96bd91ef46541b7fe9f56522877208252a30a2b6d1870e0b5086891e727566d5abb1e87beff509f3746870f4c9241c968b1ad4b5629e836ab1242ef9d3c627f8ea852e35ec3e1c0d3a8df0a90cb39b771373f30573ffd8a8ad3dc19789bd8cd37dd80a64ad059e50a159939dd1b394ce314f173d487800283ade9e39a3dd0f02b29df282c16aea3b4543a507d1e9e58ef568ee19914f906fdf7956d397c74dcd944ce77b7f679acb6eccd3bd375ba68811e49148147f7c4a664ad81f09e49fe95ef094164ad01f09e187ea2eac6f9a51ce1a2a979c853ace299129eba1027613a5c01e25efa7af6c1ea988c88635fc575f61d2c345402101fe763120fe6eda0ba0ec5451a71fa603b7fa69f57b6d79c8a20635f90f932bf75442505efe1121d2319935694a185016e9ba5259030d5072cbffdfc53ee176dbc5bc6ebfc7df0eb9722026e764c2adcfb06774f4c8888e8a55a133e5c5a7d1ce11b5eacbe3cae8a01a7971052800cf73a0b42ea60b8c5e2e6fb82afddc335e28d6179794fd1412b6db1ccf1f741bbc42b00ce8347b4f3f88e3080879d1cc1140afa8a40ed1d7e19522aa0296b75af60cba6a9ecc6631f1b05716a07e12c0c4a5a401ca2065805058bfda194f0597423526c315e85ad8de4ec9e8f4db4051e1a42a6e98e444c41c02faa03c1fcfac4a4c1d702c78266af8865ccb52f42920c3d8b5a377e9ab7012385e6b65aec2f67648b445d71422f504d66f65c5773b28d928d180931304f243b2b6e1284734abfcc0241e40cac64b3d949e188c51e3bb2feb079042ed4fe98f9ed21c5eeb0b0072423302de6539fca80f6d9f79d5880f1b84057cab9026b1d50f569c9b41b31ad00c02e6f10cc9559da9cb68c38cb821f190fb295a01e4021a58f619cc28f839a60662159a9c59d08b32000611df8d43ddda6c958e086caae0ffad42e006580603ec2a294be5be88026409f069f0aebb106488f9cfa32e1b3ea8a39a0da8c5e0915b1dfe2d56a19ec96ce0d87dc305f14c3bb0a59ea251ecc7a1e411569b3c13644a62d6df551a641d81cfe0beb253b6af700381091ed86cbfc02af4ee38ffecab58583ae5184786adcb3f35ca9c14ec10888cb9019b1b687db360790029f2b86b98398e1c2097f171b2e25acb55e97fcb38e9dad08172b1ac4b5b00d968d9651795f83c02c6b3d94c8ae4649af862f83c5fff3056e830cd774cc77fb316b4f8d5608d2c1d8844110a1ade20317204c2b552f9b450d61a10df8a7741a029545a56643513ac140bbfab2b0a8657287c420be95acae13a917a52b975612e31ba20900969f97f262b56c127ee3d35637ab439b4a8b957ce8517da4f548179ffbc820b901773d690d0080e286338b6160ef6ca9dc4cd90578cf0d7e497a685c8093e7c327c90580cebc9ed43a5b33ce9770b8fc33210354208cfcf6c3f61008cc6c8dfb4f5fbb0f71bef882b7f478d9e34b82feab6087bad3688086aec33869f19c5b8a8e02f8473c9a9001112c6abc551e40adbdfb560313976731c0a983f19fcba73c44c00f96806bfb44277b1768dbfebd02ae33d82a0a0a6866905dad8eb48481c2a3aa228fe3ec0399cb46dedac5932b5d09b5e8e759cb8c726d8a2653ea96adcf1d3bae096d9e6214088600b0ee2525545cc87a33dfef1fcd594b3342970c4f4c027f2324a1f03061a6660869b7df2a4190ed55f457b1b476a28af5b6df1b4802e46a2b569d94090002ae489d3f82ea321465f53e389b2c9c7cbb1bcc1deea40b7e18729f413eadc188a114166353241a704f0818b0e372ae1b68dc49a035ea66592bd20eb2a1dac00c37aee3133635d2172aa2193e01838136ca538c4bf9f3a1acdb71bedb0aab094564cecd72a6f88206912055a747e8a8522a148612b312445a987cf9c24acf3403ccac5dd9db9364a040487043f00133bb346583595ba2fe22ad0bd7258c18d0432e02768740a962930d41e902ebb7c8c537c7d869f5bcaba475678b00914a144ea1c258be4020580092d43f3183a195ecdb3a03b6df594ab4f38c9222174c8a1b83a66a7819064c4e395ba06eb3eeec08be87e159cb785b536fc8529a0e280b1ec0d81cf6dfa834e74be15288512d88a275f8e66ca3082ee2db408c7bc37155efda7c5bf304e07a3ad74470dba6f1f8dff34e892ebd33e7f1afe2d3e7f5a9bb778c6e9c6d417afc4796e98307f5a8123f6a7a1610a9b10391b0457173fb2170aab2edfc206cb361b5377b92604bae65b262e621e5748f77fc4d4ef98ca6ee24f0876b663bade79b29369908b4f3be0259a57a10aa5b25beb115f5830989ec62809dd44b8ea0bfc8172282364f413f6e0f34b95395ea23e1004f7fa1563ef6356864476a57228b29ab12b5b3dad8ce4e732f2f3f19884f8170cc47c853dbc2db9342695111fddc8cf0b6f17da14dca7e2b0b10f85807b372989811eaac04c99f7962d58d307c00a3cf4ca6e8c23f0572396c1cad8b0c857da57b4b79383aca05a93ed1180823d1305aacb5039554dd71367e224eed7b00f405afa44bb10b26eae99415a178bf865c5134ab99ae7875f6dc83c9503cb6b07b03afaf04775bd46a7f82c26c0a5dce1d7a22604f4861c6b007077cb1e3e63668c067a44d1936566c4c8420b6a4dd9df5c1f613dd0e957ae4f5e95233bb4dc8d4f0e258b28fd69bc6b9659bda71d7a14515659861c14bc77b312995706cd3e7a7c5eba01a135ffe587e24421579aedf0fff5f564fea1103141023308ca40650000d1800f028371ffaa68b715253930d7f09d0e6b6c2022237403a5702851b7c0f9bcd7cb7c8c519a03bde8d31741d1f4d0175db94e893b0433a01a43450a22684429ba9eae6323da463932311584308d97c2ea535a6c8747ee0d3f4d51cbd48f04e732c159045146eb707bcaf38756f9e7a15ed7cd0b2bb85997f0322223f7b4814d31364af562d5d5bd4d311562376327bc53fc476dfaebef1bee869f171ecac9acbb9e44da6bec9c125c6507e534cf09a371895f35865d65227067d0cf4e567df58ce32c85628bb24c2a95abcbd3fab84d43146c336a5856005d227b01a2bad87af0a94d1c2a243dcd745723b15f05dfec2dc236ece6b9d44d9cd7d9a62a0118f3a94dc2127359fbf4fe26a20572976cf43c3783715f440fd7179fda046e7cc83df907897c5dbabfd23a180adf9cbbd67ab505a35ecf3c4acc6c61967976be7979891387144adfdd6b3e2637ab06c82d5a3b6b7b27853564e2fa98061523613c66dbe9e9fd57a91c3990582b6887f3da5524f23265df9bfd1a363ae0a81133680986dc01e95883c91b49b70afdb2d20dcdc91c99851e58dfbd8f42c9ab7717c9434475560bfcaad5e541a53cd40137682da91f070177a6eaab69e9ceaa6994aa38a93b98a104c3469e32bebbfb83aeb98764cd922aee68954a7cae7b31cdbde57b4081e205c3774f6809519600b8c02818904f69c20289645418c8a469c18647c278c09d6019315e2a05d00b41bd59a733f28b46460b4a7d6d80296e07ac49ed8e85d8a900e91e2512d927a967e55b3d2ba47547f045be518846f51ed26eeefe92128690fb32891cc5297c33b1552cf5fc05e4b52d215e4b65eb37c35a2c344bfcc69bd99dc05021712fca1c38a0d2010b77e6d2b48d41d164a812a2dd5313d2ff392cf891fe60da42b075b940092b95150204a2af094650cfe2a78ebfca78cb343677a7799ab7c489950f3397347ab75b814b72b633f5336e30be785f252aa1ea763550ed5476abbc68972ee3cde1540d079bbb5fa4159ff4e5cad6b5378c76ebfe954a69551821f6b52077e6ac49171bc4daaa5f5814a0b2c287baacbf4838ad06fd4ba422f8da141ff692bb1d69ac9bb3ddb30d3fe562a8651b0a7cebebe0e693c02ae05f5ffda888382e9fc7a1585156426c9fc86f1cee12a0c7ad44b725fd7284b16ae6ddfb4d7b7733fb48b90e7009d5abca161bbc72c2c3b1406a4413ca7a0bae1b8e8148228f8a3da6ab44519600ca05433c614780e3ac7124d5a1e50de6d84aac3581cdf3756357e3f715f0de48dd6989987d91db9e2aaed395207b90ad74a1d6da94263afd1b69aa17fe842a418a25040bdadfc225c668be13be535753c9e5c1826f24087fddc4a60683b3388268479619a15205b7d197b487dbf7f0702ba96d48228c7803755fb7028cdf4bf746927a792aaa7550e1e982e0690ce4c0868facbeb365549a500e81c1f5d3ceea6efab30ad6fb67bf6d6fb8f0f1e9d1655282b4e06c4250590b65ba7797b5b042ddb02b35614603cec302e191676edac630605d175602a7ec1a0cc1039cd94dd908cbe030715310b0bd51dded39675c1e82f2e5230671791dc0b72bcb25446fb179b19b73aef91a8166d3e839500651e0dbd5c0ea85ba3b7a60cfdc583027771406ffd535bb7bab5bc755763ca05d9962b13a81a55157cd02d660acfdcecd70fa00fcd1f59686d7dd2cab923c28cb9beebc55c0fc2d8cb7944a5274423f57106bab2e827da8c99115fb635885b6dd49f5b1701183b223537f7502c2d30f535eccf0fcebe65dbf7d6576af4a17e08aebaf0f52fde8fe2a785b73aae0f31448ba6e09a40ca00d8bb641a137c3289179c17cfb1f1496e7aec528170fb15bf6f597bbdd15b2fb5568027436d48e42ad56ed9bc5cd47f9c8cbcf0bdf4c6547364edfde04abbb8b7fe99f1be4289da1c2d7e3f5da023ce2791a73809b9989b5de9db0a2bed99ac13a5338c6569b3d20dcaf9a9cbfac2092ea0611f2fe75fbad0168867f6fb35bff100c71d9e3eebd5f52aeb8c84e7aca7e94e47e30dc3a30ae42bfc17483ada792aa2f6cbf0da4935802a7ea87f46fa8034390531db18ddf156d217486d481c03b20217ac308017a8d24a659f49e52e00ed486fa6ee1953224af6de1f7c72c7033dc818ee11ca5305c3357eebae8a26ddc6ab593de6f6586f7ae7ac3ab4fbcaf59a8d54e56250f04c52f5cbc235b1aa707640f819b99d533b62d880abb442f0b4c76e181400129a0ce472085ac8a590abcf607358dd544538d05a95e0882536e62a1d09f1b12d18acf2796495370aa3d626749f824e5490cb65b134e76e50c7f666b99e16b98b3230490627f69d9c2d1c6be7709911e985c6868694c8b8754db84f219d284f56068601dbf6af53fff66f3d7a4d1e1dcf2db5a655a2318a6908a11cfa96940a997172aaea3ef8a8122c8ccfdb2bd593b03db682268a4e2ae606055cf7e4cc225d80bea73a3e47a2cf54fc38d9e49c3a60e834efb4eb3dbaf6d769469c3e9619fa4145749382f268f4e7d3f63889e1e4da3be01d389500d916575deb0498eaa531b62cd33a20ac41969a745552a172958f50825b24b09eae8e084e9ed2ac1546f8ba69da9e5163b7130030445057b98ff11d502c667955efdcb58c091caea4618bf490fc38fe176aa453a4b4b82d05acb6c7ac8359c569c4aaf48129f593c5d7fca9f20ae8f701bc1a4ba0ae4ea579b46675035efa8b058a664d696ab9905944ee0cc074bd00d3b7cefe6784429dc0d5739fe1ec30d42c790ced9592fa4b6391ef4520b7f61d861bc6cfe871952c217de6ddecbaf2c8126a77a0bb569810fcae93070c927d2a2ccbca0b7a4bfad2acf488561dc4a746fa9cf568333a6781c13c7fa881e96cc3056501020d1d47e36809fcc6edffab280b44eb28c65bc1990863c94a53030141ab4060f8ed634f20c3d54c9f88224fa7a3b25adc9f4743fe742e7d3af1bf7fb797070ea4860f201edd292a97547a2f75f1cc7c4a1f56b35dbf2f3ac77c752e54bafca1efa1c9af90d77f8cc2f9ea4a14136a04463e799fbbd9bd055a80b63d6031ee66a4af4538d090cdefe0a86057fb80829e7f37b5d281176d6c51cde6e8d18b0776c99b91db09b11c13c20bb1af0b7ebb537830efdac224b983c23dfaf03b7022f9485a811298a591f12f9a045896494bbb0b39862db92924a80c160b982b2e329e53f5f2a4e52c39ef1bfa71d619c89f541d531a8318803903e22c9109df6f3827dcebbc4e19240c4b972f5b69bbc789f32cf4d298d1e41a957fddb302c10d33f94a977e4c67c9a234ba0284ba31f766d49f60c4d3c45b72455c874d86c70f3810efdd3c7c86a291ab106e13e8c6378c15149da02531e8e0d076224e62148a5a79a088b040f3876d03af43d326d286fd6f3c4eaf91ae90c2ec13caa3caa3e9b9dafa845ab8e6a99da81133c016d742961b3a6b91044cf66150ec6b7e02e21217596bb52a4fd0244855e9f804ea7606e99e18cd13405b31131c5aef7de1f03e61875494a9de54920023e1d33b884b3b5f8384ee8ccfd479de3ffc14fea630dfeb3ef4101bb96f9e747eb8812b291ca8e09488c349d4c4f275624881f890fa213781379e7cf4e436a674e31171f5a0ac6691c54fe89ca59967b65ad3a5286d245cd7b1a2deafa9ac9dc303331ae1c4b251f2ff3f7f49c5fddfd4e6331516b477d5013bc5f17a1109b2c98a88290ff08a0fc7b687f5e51d882c6aeb7ae300117b4826f8ef05ed01f5db2595def835496629c674577b2fa00f9575c5d6731786c10e2b5ef8cf530582fa804919a7432ca0d210366a43c871487b8c2c89309603df7f6a9bc4e0d2998290a8aac63eb0df1ace1dc1d54dda221bc3fdadfe7e428b32a6d797f305f8126f8283d1f49ce39c2a8f647032b41eefe0c26cef3b1d23f409fdfb6d575b605c7f279f24002b345e1c269907652d7a328642d277b71015a4604e1ab25bd1ed5ccf9c8ff7221c54c3dc977f6a0921014a93c69d3835824f1ac73df5d022d123fc82eba38fa9dbb641820faa11a327af70d8f697eaace1aa22061a9b96106bf29006db247dd739e9538ccfbc2ac004fdd4e98f93c3dd36315f54d02929e30352a0f967a60cb903cc03cb3b250a7c21a260546060b369abd432f494ec26c88586010be233b039e850580777e2b40841e4ebe763fce514b566d270346ce9257212d7c4c41c2624d009655ca27c056bd1ccb331189fa9216cae3135a8c8fe14a6b2f4699662e7c3438438c1772146c7684be9fcf8317c74a6db6a88558c73c1e8ca5107aa4eafffaa2bdb195167523f541582d574292def15692bbf0f09c9666b654f0797c8b8f596195024b3faedb6ab55059e4c99bad64bf16024a3e926d04f9af3cf0d30b41556c32e13b1be371f194f8a5d824a0cd2e7e2ab07022c5dcc2a0bebca97f6bf4862e747b4e304fc823a65dc0548d90236f4209d158039cf269079db81e5be0b31dbe2027c6e745b7a507e01426983d1025b7283f7d010d28224bad4e1bd1c45336043084594cc0a4767500479c1abbfc157a6f4ae4aca85c04588e82025bdee65861abf1b48ff2b451e51c997e821c6f33cd3a56b2a9418072010ef4ef9c0f9cc15f997a90e6d5051b5ad814c3b0e6d3431b08196b70b2e8376bf51bce8a66073799f2d4a6d19f47331bef40b7ae93f82d06a6d76d6aed50ec13bfa16159e74e7b3598b55eb92dd9584aeda4bf05dad7721cb6f9adb93705cda446c834f85b8811727e99b933b207eb368fd50b469841c36989806eb5d507239cc4b7c30ce5515bdc930435831d2b13ca8c83147550bd5f0b1bf7d2b0b3a0bf1726eb850ffb093e7800139cafa3d7dc72178a208941ba4f1499fcb819e116ba609fd07a38af957d8daa88728e7e507e0cc0f1c6281e0b708e8aa54f42d221347b0c95b2b5eb302f3691be46c4fbe83329116c0e37ebfddaf65b9e1050ebe0d8c9b741ae7f3f684509cd2b8e25f70dcc2a73c743db16f0045fa11b98824cd05802f008a21ffe94a68e10f3d84d8780f39d00e106e8cf949e4257740025076f3adbed4ff0f1274a4b4419a3e425c929830b5acc977413c8e2be60a5bb3df90376f1ad791cac93fab6c6c0c143f80f01933f207c507d8019f370f4d40606b3d4fe5c7ded09b6d1bc0067e8c4bf00048d284f431eb7c07becf15d75bcb8c6a8ade2b085e68591fb31706a274d6aa2f464d3f3a6eac54b17ba474dab35093e7e149564a29c9fb25c41856a03eb217c5837d49a469e3f346d31f9a6e88f87cfcca229853f5ec15236c650ab552c869696e0d180da89241e925357ec17fabefd25917fadf7ec2b51ec177db7bd93427caef7ed2195e423bdc37ea5c96ffd8ebd4a215ffbbdf69605f549de67af2ca59fe99db63f50a871c32b69030e41e4cef97fce35988421ef3878328e7d68652787bc66d0641cf6d9ce1d8670cb20f38f913287861b38689bf089aa38c4bc70c65f2e94ba9d355fbd10c42ded81fff7388db01a00b75e34d544fe4292260f2d7311b56befe0d822faa23833ab554d0010563f78a4cf47e0aa4c51b18b79874a938e2d2a68116a3a8acac169dbd9d6571356f2fb7a4a70def58dd2d87ac0a13b8e9d55d25021dc8886f65e800090eca494002ea94467521549f3722b55d1ea2d3e854314622a4029d8731461219d8e595229c7ba34c855f0f4323f9399499ab0f0856c603d9cc8405d95088eafec51bb3438fc2aa8540f998ae677c4c16708b04a009e229a1be6cec7bb34085922e6f07a06415bef9ddb6075c446555293199a559c0121208d5952d06574bb58d4c50b8dfc492c108605feed10101ed59aa1f55f8482d2cc878e1a23cc5486d2c92b683602790eefdcde6ba06c12c1a37eb9e6b3b2fa2e39c72e7cec6622ea778bc8ff33bf0cfce5232f666bcda1fefcb58205c19650613e7517340e44292e01a3b9a6019601f132b36332cecd2e2fc1dd9206016971f709573645c52630f36d706f6d97570185d146427a4aba3a290dbe9146dc91c097697899327130bdb169192dd896bb5a617c4c526e8a886b0d31ec787ee3c4c7e07c2fcabf8046a96213b7a7f5070e3ea9d88bea1e9d0e43a59539ad2a3369e4a67b2a1c00ca634dfb924102fd3f41c1d6129b40adecdb1f43ac10124287aa3841bdd91485a1466679c554e2602758f28cf0e4aaa302d09b18f4ec97c1fa3b743dc8d009cfce14f4b4bd4c27d9217e3e318a907b7fbd8d760d95a097463b61a3278ba5413728e92d529e58c7c1b3919d41c8d8ddc89debfb59a0b793bea45efb07f61e8f00a27eb19816c9945823d873384d2e0d72e1c9bc330c0c389980e6ba53193f4ba2197ea9b949835e55d392cbeceaa14042e1281fb4306152071127f8581ee2c9f505ea273a2688ea4ade0325d532709330472983207561b20b46cf81a8f1a73c206722dd4411dfb2926f0ea045dd901ee158a9e9688af99092962a7fdd9fe7a4b2442a36ab86bc3e770f10851aab28009e02ef79ffe2187121cc857e118749a64304b3da615e99905a6ca6b774365b0af28fe22a285f3d770939c3f528f1223b8b900d4cd61e00a2843a3583e9c444bf91864b160e8bafdcb95f5a38ffcd9513c2cdaee196156ea4249012ff65336910790ccb93cdb9f04565492f0a4aac7a9b8e42f8c11fb21e8b5e9244b2dbbf43a8688a5589146ae73a2a08a2e14699268ca159bd2670a4b47d29b30129e9d30e8d724cdc2d16914fb0d8969bcabd99430332d5f0918f62a8bdd6c1d84637bb930de54b10844f0499c49a1b76497e6a6f2b2d8ee70b4cc276eb824b0718d8d4364070a2b18894b1832bfeb2269ac53025e7af074e6456c487b7768f6c374df4893437321d7127cc573df2f342bd62397409b1cb5245f9de03e833a3d9859a1f0bd4965423ed487a37ce8ed6e24d90683b181f1890a251de0991a79277c05eaaa69b09c9ab15811e2e470e36d61c237672b00c96ac2c8f8ca443d83b12ed471cc8c430546a7482c17c7b022cfb585ebde892848b18ec58fb785c07b31cf48defdf77a779f41e600fe8175651eee38d48b2c4c9a0f497786daec4c45adf8b1927b61c291db2ccd7b3c6d01f1035bdd59b534d23f0d7f1b417487ee9e649f83b95a264d7a0b2fb6fc0b522271a20204d266874094f04a4a46bb2a9c12d633df074344872780368a688a0ee780d510397229ba80e60fcdcdd7f1060315aaccabdf3898c669d2a77935efe25758500c8c5c23b197d6e8a9160a18d0bf81c4697a8cf785c5e0410f2bc45202d26fd3afda6f241726f42422793fd9312798a3cfe2bbbf693bb73d3b61ece9c7a06cbb61eda3d29096da280225f12ed41c2eb14855c69de5f3e0c93424ffb0b2a413560f0a0b68f7e16726bf2cf9d06f9e27e12c46ad9dec004fd4ea210a500ca3e72e647335d20ee61cafe610c01f4cf6454cf7ff40b8a48368c7150c088a642de0f085ffc3000065a2a9e7b60caf2c176f60347d3d5ae322e2211b7c23fc471b551d8fd3670f13ab6b8f4178228addb96d1329c0b84cd5e2c9f866842197ec0658a8132357b882b824bcbe8b062a429b2896745dc7c2f253f17bc335f8a11aedd52f1b1bc2b3a2611a5567a76b4843924544abb4fcb89dd8f41250a0469f132aecba125e87c65d06508db22323810f17e7abbae57e41f9d59934f0fc5dae7557269e90f14726e92d6e436f6a50e9d06e80f89dc9e7b65fb62f0dbbc46a40aeab515aaab0c05881bf7bd7a9e0f3bdddc4200b83b0db468b9501d8ea3e2271ff1fb1fea6a543486874f3823f22135d8588abf456da4cf4742522367186e92df055bcc350e6caeb54abcc0a666f244eb192e0a00f76f4fd65d1da388d402ab3f17a929017b5a8d63da851f52b6b21f72de225b72dea77128bf4ab2692f74699c1599c1ced7233a5e6c718360ea1690cf1277c456f900ea45cae8da0f1cd6ac5b6a947a0afc5f12f69a977a3f40f4cc66dbe66ed2016926e4b1e713ee4797a61273c3a00a88e0152e41f93f122504d33c1b8420771d36fc5c98cf74dee715972fa1786d07e532a4aa2627e2f7e18d6f6b407c5e29950b83a731ae0bd3439613368829b9a2d9c87ec36bce20680e70f74f494d6ceaf67599e820af4a0f4e8ae0819637806155ca78160a54faf0de6479fc94df310636c3d4e350b27caaa6cd6e8a37f2138a2a72005f05b967359cf97b9280cabc178a8d7246f0f17ffa5dc9d4150b90ae59f667f41ef11e0df003478fb1f013f07acfcb49c94f1e46dc4d0f796f80e952a4d207e673d1bce734373d21a37fc5a5c8dcd25da61a6aaa142bf049b3fd40425c2fcdbf6c6cd7972846bc63cb0c03b12f7168448dcc0aecd41b66830b490faecc61fbb643abc4bb66154dd5f814f813325ef6067995614a08273f2d2f92d609480ee383eeb153597627d39838b4852e8e898ba71f1b1477c3040a58065a0aac0f21a6bece5472b795a5a81251c15da13e91e8d2b744e8d3042ca1cf9a6db676a29dae9db09dab0dcbf3081bea0ab78177a6fa2708d540954d26ff2f8e36bdcef5affe99e1cc8909e2d94221d1f40580f11dd1845ad167d48936f7695fc91f2a6c86efce9656d3ead43cd9dbad7a285f0ad9ca100fe1671118f4cf8b75a2d36ae2a7df4fcd6c89a7769b6d980fcaef0c96799826b4f74bcd387283aca0ac31740d2601efaaa671c05680978540914358a3edbf0218b95b59973d92060c52505854bf985d084808edc0cd0b4436836cf321d63ea5e3dfdb81d60d2aaf8031ec1b6d6b4b3711a6ee94c2e7d02371dbdb8703be2274b411c11ed6c6c038a43f0a89e99168c7d16230830de4aebb9a1330405ec4604999536acf656983cac83b89191714abff9a2350bd00297ae6df1f3df4d2c0cb22aaad6c710b2d642346e009ea1ffcb2e49b81169cabbaea718a6a5bb2129a2b44109ec078c854fe230170806ee89ecd1569a691e6b1a8f146afa915ef7f8b53716926287b88eee3f3cc310f6fa18bf6e2bf3502415ca24c38eece2a90eaf1c34fe17a4f3e319f3df4d240a57a1b5009c88910633f4fca3e08c2385e230e933284e1c060264b2cefbf052f06c11960aa7ffd91fad193d9b638e31d6fd65d413489a4c5588b4f143a8a93dfe71b1082e9d8600ed4af4da3919a490e992e6bb98a0097d01718fc2b73efa62dd89ca5a996659cb8e5259c4450ec8978db4840952789d78ae1d49520af72d3caa8938780f18cf0ac4e75a2db197f3da00193752f23763d91a0205b7e88a35697ca80868a6b9803d60b3c4b8825da86f7147ba44940b3e46032ce2d7bb907871c83dcd33e5b37af7533720f156123256e2aecb23c809c600ef62443f2c69dba431bac94043b98c16d08fe7e2a315a400530bf0677a87cbd143f3c8c408dff7e2c226950f810d1c2bb0bb8da187c444205070b34fe05c7df9cee7f665640ac8ae2082edf2eee49b21d9022a47dc6f49443467000259bb4b53b209ad17d40a5035aafa19a7b92380a20d4eeec443f32e913d4bdd9d7dd2b624c3c57736518909e10d6d245f56d07e4b3d31d924309cdeb9f6e282dab2e557a00f4085bf71a09923a0af1da1c679e686eb9fd46dcd83f0fe10d7e2a0fb21a36f4321e9c408b945c8a5b51c4150eafc180dca8a5296f826eb8d3a8a17e8dbb3aec5bfe51e1cca5e2f4dfe5b5674c44a79ec8603fe38011f78f207f96115ebc1463df0362ea1224b6560b015d4174015dc884d08404148d7ed50fcb5d075b1110980f5d41652e72cb3f6a3d62f2069ab43f6ddee67a42306ac3103ca93dcf0a06f6cf0e269a9ed940739b5eb00dfd8490123c5f6fa2de1e0d4cc544a978da6fda0f07607770379436e2110d69caca620372a897883cf00355fa53967ef379e052d3dee9d77e753a0c2ad38065cb0d29bd9b1138744199d383eb6571886e16ba2f9a8b45ca3a761fad78de38e447649b3bb80ad534a9a0e919aaf09a271a3fcc06bff4ecd0a92fe91bf15e3adb148122b9e5a82aa4ae1804eda6ad683078efe0adfda767949d4983a688159859051383709fd68b180a33757f96ea934765d7a2e54f1a75827f3f7911bcbc82af088cabe484b3462365e7a31843c3a4b88be0ed0c912a744566beec8f427cee21e686c4ce89c011b11dfe469b25f790be57ccb02def3f032bfcfedbc37e73dab08d80f1c28aa9b20856dfcea287a53fb23424c1e3ad92046b3901287413412700370c87098e46758eeb2bb816b932fdc650c43e81cec9fef9c845b716299d73d29d5801900f6738070c07a866b461b79c4fae8f2141484399b5f2408a5ebea72a5afa10aca85d41a4fce165d4d06549ae5d60be65ec2e440a33c02b15913abff9884addbe4853ec15b664caea4977d23f3675eaa7b75ba53dbb12352dcb7f02bc390e8e7151e6202ace8cb05e044290a44671da85e4571c59176da0e0d59fcb36ea7c202b7367baf1766f13bfbf3c48c057cb7c4e17216fbbbac9eed21cf11155057f8d77b467738ae68b582ab42e589dec9ed9113538cfb6409e81909df5ab5d2a3ec11cd959fd9c823894617fc28048701c11a1cbc3fbc0435ecb5adb0c8c28d02c7e0c39dedb6093343c87154e037ef89318d7bae60b36829a9c325f63e33ca3de0b92cb3ab93200336942db3b3f316a983616e415f9271b5921ee323949943a354b01885a35e911713bbc67ad94c2034b3a515cd8bac30b5724571b497868ad62f7036b76fb839e99a2fc1d2cf48993c5dfdb8e50c65eee3b829c5a089a882e492db523e11171cacf89e04ea93df403ff880e8335f776cd9adf685e2996af4a89855fcdba1a146a4727ebcd83c7720483aa1822f2076657d0ebc1ee98df9afa012f179a87f55011c50bc1e4eef5831b78a16f0ce70f0a9607ba9cf9cda5a6db1a23593f2f26beb2f747756f1f94050790a037a049a3f243b584cd953d24817ce477da4f56c477f28efd64917ff70efb2402fd48dfb73328801cf8844b62c63284a6b6435ea9979462bdf11e5846f6b0b20ff9b14fad730e73ff9080c560bd3c3460d82b6f05a1f183769658204e10e6623700328dee6b0e63ff10603140d799a3ac35b5dde70f67bbd2be186365c6f9f743511a7e56a129a8ddc3b0ae506c1a7d38e65a056ce0365f00cee3e398d9b2431483ce08d8153775ad2aa9135c6f23b43b7f6c60326071898585a21de8c012e91587674264daaa788e97f22e83ce31aa3cb00e49e35c66901948376b9db726fa02df33333cd653b0423d0f161116cdc680a7cf8375ae8932f9bd4cfd2b7d66a25605f00595e9f4179c349c94735cdf40acf4ee406c07ee4fccd6525e01e5373044ca30e2d3f30a0fa2c911599e04e2fddead905f27d229565173a454d404155b24ec852bacec2f7063d24db768e73d080fa95af8c4ee1e4125c04955483ec58de843128a043d613abd4d75dc0686690a80fe9583955018d2eff34116a76728928d5676fbcf46405281780aa02c221bcf1f275238c63d01a06d5c4d17e4df83508f590ca51e05f1ccd4d63b95c87d170fc6309d6c0f7d6123854757c91b0caf34119e4ff10995eda993c00ae133c4bfb8a21eac5596f95f2c7dc2d353bbd03a0d4f10a8a428e8ddf9f3aa7fb37698d17faf40ffe0f9db19c273e335c72cc9377c924a529c485642a2d20c393825f44b6258b8bb4815247551f5a1e72d87be1ab8292be049c0120820e2b1a93248712716c510d54d9c5e36d3c15761ed208f5c690eacf0042fe2b21056b839d20b01f2e3842d5afa170c11988e965ceb69029dbda4a4b8bfe25ac2c8c0927fd0bcf51615f29b216fe0ac04f50b23ef89fee59224da07d937c30600a70e5e6648dba5f2955cf445521bbe78520cb38afa1fd5f8bd666870ca6e20bdde79e2d2b53a02a459779fc910c04d8a2fc07e99a9a3c3df4cd033f5928049a1fadb2022c8c824095ad28a621c9a76b7944c6e01faa0196204a4711c5587a6c291202473d055af0a4ccfa9c36faed287a3490149b5dc247945b0b70813bd8d0f4084bdbef40b8f4c730284b0cb764bebbab2dea8ac5821fa75e31f3159fe5157f77686e453659f42273ce4d5169684302990603e3bd3ce813c2effeaa8f74fe02f02a84e3f7219d766c7d41a9084fc7a70aaf4fa3c46c8902d06250bdddcfc95b224917d24125345ba88ae2509f03584c4fd5b9c08f484befdb2290f7de123d33e862d3c522080e6f0f285c4c338958d639c42a47024e1a3d32428c288b10db0c4ecf46956a00fbb4bb207618735a44b5386113bddb769562fb89722495065f406aba531515c721531e6e59ae6fdc3b11a0dbfa4a2a87f4f823465fbcf323225468b8013e524cd015ff759b61df18cc5c748ae407e799a27d143bb655747cb9cd3693ce377c45617dee2623aac1a8f1155ebd03a047966c14abb327dd3708380677c9e6e0e135399ba6ea911cde19b71a95ee51f0f8dcedea617e0182c48451507fe5595b6fb9f71ec26fa2e6c3c244dea38f7e0f11de0b00b6cdc10690cae5486ebc28add7cac2bb3c3c43866957b7923219765fe3dbc57af28928fc023ba763ed758c2f060925f3cccae1fbdc38745d9291d5253338321825378199134e16baee4d1243aca0d50ae5975112f33461f03eb99b51c26a93f44b01dad957871eb844942d0267138073a05b540f67aac0a7044b1000195125d03dd591582d4469142ccc8e96cec282efb82640027ad4ce336914398ce8a6786feda56f3e4b2cd50cfe4092df0738395f28b3831a58a102c9e9a65c3564025a789076b7cc0632cbbf03dc373820dd2f94df10b318e14c42a35200638be0e660aba72365280c76f4b623ab11c0ca695924ad2816e0378d3ebd9eefe5a5ded2fb71649964062fa0038cef32cbac09df43a48f7b198a4bc447f0f8f3fb9a65680446dc1d6850790b3c38f59c630257c7bc282de3c7049831ffc94a876bea2dd90f68e477fec4ac7445c80718c9576eee35cad0ae9f24520dbcb249ef681c55351ac41b833a83d37ff9d50f7ffdbaa5752a5e0b7b8ceacb175c5190a799789def9d3f5cd728837c559f313e032b9eab14865da915f4f0f1397a5359b07117b645a6348fa09322f5a95d09de214fb926948716ba17dd420f6c6458d7677abdbf966441ef7e2edd91449edb276d469f13e0425a226ff9ec75b0ce3528f003a7fb6764ab57eaa037fe02809544531ae2256eb26a3ccbc4ba352e065876dfbf6845e19821bfa59edd54944625d82c58369d746e4d0f47b147e8653731365d7c3da767d6fa8f8b6154fbd30dc62829b5f2d44d6403f25a0df658e5c80e813d1ad35b061ab1a0a154b60a8eb761f85af3f33a312c3c43f33b4f4ab141862ed42bb194203a1396b6b4d4ad98fac35aa6448022497aafb473df769efd765a9d18136e1b925009580370ed2444b8b0d21301df9bb1b5fd50be6c8283b6c78a1dee618aad69a5fb40d4bd80e46db9e49fec0924b391e1b64ce562d9f80b81ca975af8d4201b0175cc5565184e373278264b9d1c21521150b7b1f3178e7cc65b94653eb7e0d76c6923037cb3331a9324b020ed62a20c656d936bf91f01ffd5c2374cce99c87cab4fdb353b2dc924149413cbac61732eb82d491f696d0ce2d7b7812e55d6da9b215005b3c9caa04d6c2428017bd5fe7abfa98ec376685a45fcc70b59fca3e45e41b1d035a3a99613ff76233f1ef1821b68f1acb69119dcbf6a0d941243ea43d28cfc89446fafa31f8a0d2f5958a519c7fa4ec11976702c0232455fd5badb138bc6049a8ce7fb5a63b672cf1568d4d98fbebb414fb890d38c43ce14d4c4bfdc825ce15f40ff6967a293621dc5e976e7c13f1d04be8bc33d5e6cca44b5eee19452fffd2300d4664c9fac144c5a9fbb60393e0f22f89f274c3cc10833ae1c1be6a4def9db769af77feec6cde7908675fe24a3198da6430c88d034d30a637abb120e88126f598040261b0c28395a93489941d8c76db12a9e3c51f93555e703ca74cab01d54c2b31d35272b4623087cae9f58475d8cc5e858d662ab78585ee4e73825dd4b97dd9449e9d46714d1f12a2fd685b6c8b6dc35bc759e54c1982a4fddf0c5e6638b432bf4a8e021380176bbcb44a4ec2998813d09821a11290d5a4bd0d9196b9123ea18200b0106949c9e0411897c4f3ce315d33493dfb1e9e0a9252aa01d0247e76f611ccb1623acbc2f4398d5a8c7e4de36b622cccb17cce07e44067e39ae94142c2c8b4783b882aecc43f0b17175e8ba289a4898e54f1fa26a05a83fad39cbcf8a9ac33c341f2887fcbf363d73a0b1a7528c93dcfb989468aa051607d115fe1aabca4b82a9d392ea969c319a80026107cbbcfc1431e8092d0e708ac364c71a330949ce4b8c512203591763f183b92ea865afb80a2c8ee606e674b52377f7ce97dbbbae7187b968ff10290ed7928bf227a8f0f9e1679270945785519c0ec2301483a39f030abc4d6eb21bf9695d2300cf6b58b2cf70350e02b203b2830384514f8ba705aad50fc6daad5d3cc325b4114d8e7ce97b0134579ba63fd72585835fd1b9c0aa460527c8572c643b1d84a30aac6c76b6909456ace86a0db613e3f2ca9814db8c105434d2d3e57f875e7f694d3495cff9a3a43f5690fc13c85fcb6abea2525c9c2f71350a71fb861979ce568dd6fdc36d48b985780e62d1e1ea6d855a5b604a7e9fe48c07e2bb688ee4a1267560277b6eb4996642fb313963ff5d0eb8524bc49e6c96f674e765557cc91fe4ac5568bcf16da0ccfae84454440c26611fb1fb64949f7140295a9299756d877f5dfb0047497239d82e8cd1b287e192719fe477b956aa68886450744c8b927e22d9134f5e8d7e6e8366c0d3a3fa60a2d76c02205405887148ad89316181541b34b05651820d60f8e18abdc6f2b2445242639bc7a74a278d233e7bd7fff6cfd19f18db7ce3cfa8a0d1671e33054a33c14328adff3c231743085aba9643b44ee2621a1696be4d83b1a434e3ec8cc960ba1ad227e5aedc10e98370d48a17cc164622ac18ab576da56de32e0fcbbb51c5ab079dd2648a978eaea97991223436393b7ba74ccf0a74034f9fe8094a0da8a43d91904db277c970eb83d62ae47d97c97f187747470657626e464627826c54b7451a7e2cd58a558fa7325353b99030b45a7433521509d634b0fa9eb67c1b15ab5091d141f650b09fea93d8d807627554464ed46d4b65e54fafb21902d036caa741ee4050389da13c7b01f21a3f5c829f0777f50d30cc42e8be0c905b5dcd0814e55f52f0110022f61da8b29cf9a3d32125c4ff21fc16839f90a747e444d9d1b657432341d2a874d010225e5c533816c8b5f90a637ddb62f75ea1c0e582761c9094417cd931227bae0919feebaa56299debcde847d0342e30763a2fc1bee5858088312ab622389f6109b4320ba837e40ddd9dff75ecb7c33802e74f5cbd8f7e5c744522ae3ab33bd6f212c5e90b3ee00189736a1dcdf58bc2e2d5e6adc0743ea7cca99f736de7875e25043f8b417ad2c303686520e2ef92d8c7cc3b34860f4ddf0fab5a97ab9fa10bb40d1b1d208ffdab70ee49428097d426545e55ab30074593dfc156868c1e83c25fc7dcef6efab75e02df70ff2a6e246d177c1606b81f04b6b9e93209af62e505dfec6bc4f9e5b1e379e1af1d673f54fad24df3a546909896dcb568f960cdd4f7e408ba4f318b89c9abac56b5cbda0e355c56fe1fc1f7bdf665c0db0b1ac168447b2343cf076408022bd58b766843c91885a3f95558b8d0f6ba196f9343a0233d5919b3adcda5d499a33d907b585c19873023d67a7309f8801dd0d412ade1134450ba0efec70c6689d14ea2a1cb720f870e8513aaf643a907ca85a6bda75f7245dea347ce088eb8b00b934c60e650961ca1d70a650e3256cccfa3c78f361af8eb5b667f9303818d6486e4dbf69bebbb35e90daf6016c036aea3ffdf500f603856ba557b59e18673080f409066d33460f88dbca028ce9d5020a1f254bde794318c3240ac95d68994aa55b27009ea1e5c6651e0723872cac7dbcf9847715552c9c477a950b10056808c0e0cd0835acca01ca84ca306e8d1041dce1a8a063f02efd3ff32099839c36142464927196387ee91a0edd7a1aae1db2635018648c9008ebd0ec4bfa9b3e18a00600b476e15455c25d1ddb42e7c5b810148805de55e8f1ceb36c2223021eb5c3ceb5da061fb064efc6047c02ffadaa5b26f1ec62531c78821659494acab30f3734b9bdbbb97a8a39393bbfed8db24d5958872163cc8b65ead1f32afd218807fe0af110fe2716e89495cfa48b4692d8acf16ff1a0ab88213dcce79817a75a0cc8db617c42ddc8ccd37ae329dc6179553ff1ea533d5275652dabde86381331f2e40a925cffc1ad8a88cfc7e13e56c5b54adaae178e0d8b1ceecd6adbb5c3986bdee562ada52ba4d873364ee5b1883ce003ff0d5014c0f5a99bacf4904c6f10b37cf4ff009f7fe430370fc971d5863a94247298e3517d3bd25200b07577931d1d40013cecac99cc663f8497ec5f8bda659bc3b97c9e2bdc56a34d7fae83cd00017cff2f29554ef73a77d0b5f506478e6b4fd042ad89aae861441db652dec18307d5eef2063f04d530aa89c2e84e04f8b26073ed2519f77430820c5c2e1c73b618d2f33bc3a8ab67555beb8484aab49e36d0dee68af4039a6d291166baacac89d1284d88698f4635f6d62841bc216573c2ad2d22155b1d4c6406d429ef50a80cd40b73d262e69087be5b8594bb538ce95f54dd6d3f0afa033ed327059cbc686224b5d164e7df4a06616889d9b6f2dedde380db222d01b11221cae557913383f958d90be458c34f243b830786682731b54f9ffb8bc7cf91cd56bf5ab92f7d58f5a68adba48297d3f6cc71e571ddaf692b309c2b66682c2dba117bbba1fea709491ea2a326580edbfbb5a3c3b044f918fb670c119fd93b52337337a6d6376fb1c56b573500aeda03ac7b0a5f9eeef2093275ed0468669effed1dd6e3054ef3e94e1cc145b23b1833053505d036f280b4e0168806e6e5d12b409f23b405f20043b5f00223a4bb303e6bb17057e27a31728cc0f5ded74e2bff068c1bb07f979ca0423f41f5dd5260e33cc7e945a8b6339512ca15b2c05fab9fe9f7b4c2d2f8f151aa539c73e262dd2d6b69fb7a9adf6bae647f7c9aca0226560c4be9a0c4bebe2aa882b2315351db9bdea8149b1cacb50ef65a07fa40f0d7030f0694c449a7aab0470c2cfcb454d7f8725a85868fac7454125d82859bc99d2f1d0639219fcc88e4609b2745984f00bc4ceb718750cb44f5508d110787798f0ad26755de406b41d69985565e939f9a2a1676b05d66c1540d8c6ad39c0e1fca85abf59c4ac4b9b5a9482083edd96eb058af2ef92517b6925489177f93d4cb6b22d6c55ab82fc48558bd09508b28936d66390817fc623846be1f2c8e1a07f5df45451495e042963d8e9ef50ddb4e5eb3790ce17b09f7a0895d9550249fabbad5948a6248dcbca0d5734a4914eb2a116d4a62d72facf02605c0179368a46c76eec584141eaa6270be14178860f258668914c0aa6454d3defa9e02d92eaac324ff9ed921f09ce4630659dd1d22720b860864d2f34cc2e66b6d43625bce38f9dd8f4140f5e179861f9efcf320612b83954bbc5bd4380490395b0ee34f29dd1a78bc4045302807237290fa1805fbb8dff03f2adba8dcd00a6759bcb2905934c709fa09d6c8e29cf3274ee259b16b763cee68420b90eaefe73a92ead33e62fbadde643bc413ab557ccfa1e86a650f90e61b02fc2407d1f7e8c6b2966a2f735a29d3ea306b6c74b30bbac372197dcde1dfbd01cfb5c494c4b7e208227b469dcf191c19a4351a82e2d36655076aab1dc7a3969340d3a858dc98e8d94a47df5bd82d83fd0bf299a24106c5907b1dda0fb3bad0b3f2f6aa3bd0f07510f1f550f175d0c8d70ae6cf7b5a90d20124466ea0e0ae6278913c00e71235b816178b9d1d507502815bf0bef632ec00d4dd348c8a7117e48e7a25399f013a3ba0274cbb99dd8791a36183ed6608e2ba9f0fe4a3dae0ce81cf82b01deaa5ff8ca2b4e766c3fa3d98756daee11c184fcfb88089aeaf9504d6cbcf35cf1e9c3718258eb828f2711494df4737dfb112689e680fa7bb46cabd464ad2615dba638087c8af315951ee4b970199bdc7c02e89bd1b5d3d3a3cf81d6b6e47cd8311464820c5cd5492d488c4406174259a72c018e3023277e1225af9873aae772efcfd08c73fa338d12098e464c486ec922948c570cab686181d6d4cceb04ebcb0a3d5af70e0957b334e5dc2344abe4c794dc81fde919c22385a201023e04119df7deabb5c890b18bd33da6fde48c51545af3d7c2dd8860bf652cef90e0aa6bd3ccf1272f2fc700a1f1f736b7c77782d4dbfecfe4cce8c276a85c9330508f31e268681a53a80d2268769992c8d27a377e65fea1312303448ea480add589cb794de99db13c8543501c8402636fca7eeff26cac79e0899da3a1c32f29824c4817ba2f8710f7112c454160e2fb50ea46f5cced274314d5de81ef675fa7f0132855dcab224b503084ed30002620c20a41e4635b300450743c51a288810bce8dd07f1c76f3e57e59c29fa43c900e51cb5d0861e73b571a529fbeeb46379c0a97b5601320f7da85e3f3d03c42c61016b631effaaf0c916b08e030c339e039ce815a59612bf3dc9b526bac9f561360def32ec92606aab780e59705a28616781fc9969a40af2347c35d6774c064cadda4495655181de929a217ae0e946331afec3ed783b652655ea183f2339217169537eb647f2e0a5b82f08ba37cceab0ff8c4ae084c7122e8ef3fbdc32ba1f9854186b37b87151d119d3d7389f2c580f2bdb5ae56e216685beccfd9eb409f82689e9eb859ed607b52c93cfc386467d77c756c3b7c51d59c2bd8b368410bbb866d67b0c13eab678fea12fde7a0a01a7dc21eeba50f80571bebdda019bb0a98be0ecb1855a7ac300a9d3b8eff9024d130cab61512f4d4bd25191332d66a0dee10a4c741e1cd845a00aae527f897e3b1ecea2a7786ffb404a06f1d9ca4f075894e25ab40464e8abca9978c5a7060fe06a47959a244a926ef10a2828c6ca5dcd131bc850e5aad4d4f13741bcdd9fa0980bf3fe37012de1b6f603ac8f36586c3f6fd903d49fcfc65226ae54181b895ccaca46b81fbdc4fd047ba3fcb0be05be160a636b23e4a70aea7e86efdfaf1b322ebd83c163608b98ade13c1808bb75eae1f8b19c1750c278dd4cd58f1fe395219013e77bc4207073fd56ba90f3b2db703baee221aae1bc7c94163ecffa54f76cf66ff57eff4814906ab429e4c79a9020e799fef1c4480e1739d7d7fdcb4f9b97495a31ea13a578db7f8d1b5035d4f409433cca1b3b113f957ad2fd3b8dda1a9f3f8a466991ae44f4485eb97c9fd9a0562ea07328a1b6a01b2c9726537ba676e0f9fe9b30cf99c4e5ee4fb397f2a7f3a0ee38b649b24142e300f70b4a8c28cae169d56721d9d8744b3f581e7839feeb54fa59a99b560b55fb6ddbbaca3b63ff0f5e95567a0352a19e86a317e3430c5c910f12934c37263c5d0b83d4514521ffc880e03f0bfe68f10ab66a36b79b4f4c30e61b5902a6008715d8af212719db881a5648c0b58331671ce0c3a226ab861e2f3e4305316f93feb8e17229202450a484298fd9acbf6516fc2ef4007b28ec87caf7590505066733b08cc66db5b6bbe09a4be4cb26b036dca9aa181ab9d3879d77ec851764282dcc92e2c3da1a716e41d8ad964b67312d4657b72664eb3ee6a78a47042feb4c718a5d5c6ba3249af5d4f814057edd48046fd6c8e4db68e763fba3ce9a359aa1e52c1671e1ad734d4d74a597e9324edf87b0a7f213021302816b323d33554826f66beb378a1954eaa795c4f13e57de901c822c2aa9866bbcb4551ae1242df095ce0155a82d3e86607b1a57d0a880f2b4395e67befd55a08a9055108c5c04ca33279d5740581da50dedf6f5fededd6ae3ef914b5c9476534c279fc08c0a41206fb77bbfbb9a2528aea28097a1fc3cd0e8a1bbe3de89d813dbd5b4926e4d6e2a8d993ed2a1674e7402f786e44f4a8f5a6b8d508b5c5ad9ddbd33c9a9099d095f095df0f164c50aaccbfd0d43b0e29f20962c3ff47d9bc74f4c2861468e605dde84bee54f88aca7a292a80131c6d8daa87ad28df1e654ccad5abacc4fa47781eff09593495f7a67699030f35309bb40d7c1afbb5b6ba3aaab517b4db6919a1f55b0b41a7a676189c6527bea6e8c15cb65571d0572c32eee4917c77394ee494f1a914898e1e4d1e85d688cb08bc30db79116a396e22db9b4ef27e11d97865d27bbfcf03a4876ef3a345cc8605d38f972692f3f7af5f6bd4a467a4aab653db4342cd2bd18964cfad2bdda746b58ad197e7d6c5d6a4a6f03bfbf045ff4a3d2cfb412255d9647f7c69445b802f50bfa33cdbace4f3cb793f88989db4a6e33f113f5366203eb7246a4ab61d9bdcb2eee254ecb950135fcc4bee42776c3b5db3987d4a32c5ca812c371614af6af0de6d4f0058bfd4c6b26710dcbd2453e9326979119638f01111e9394f34a69bf775f1fbe9e73b96d840fad731403dafad0f3e5bba58ae83c0dfd778b50dca3d220f16fd48daed580d6f053df6038f49b4a2b6274c8cc5ffc0bd64d12a678f205eb624f9ca5b1e2088b7ea357027e721dafba8fb7744311accb7269f1bab4f62fc77f115b383c28e0377ebae14f22e03239b9b9f94efec42eee9f733710c1ba3a63c07dce04ae9cf6125f25cbbde532ac96621428a5ec7a634c0296860e3f3120f08dabd1430e1c2d066646075f613ab560de9646e7c6413c9d214d86ccbe9fdd222c034e60f67719fe8d8b0c3f3ae7eedfbf477ffedce122f3992da2f33413f7704183a4fd8cb7f7f7437bcfae6e9f931976f9e19d9800030f1892c83054a0c080c5a05849220c52f2013283128621194a187c649add5b81a2c4935da6557be2f3697b12110b76656dd0cc70e948886546f1b80c6b50641a0c337ad90feea97f3dcfc97bc24f7dc916e53629fed24e3aeae1b3ebf0e586c84cba27fe8413f610f764872ff9ed3375af20f28e96054b669706328339de1d2db397d9ff947abe5d3757a927b7bf4a4e728b98f4e3a4208f617dbb3490d9c38cf16be2a7fe1b9e605dcd49ee97ddbd84c8ceb2f6e472cd7904216556922ff6d3fad032759186948cf48cf63149be5abe3a533620befe2af1e40b873e7b5a7dc4f1124f665f7dc4adc236eea9877fddd4aed4bb6f17baaf58a3707b6b6bdcc3d08d72bd26d773e2484378e82973323c9da3d8e63df5ee87f7142e1de917d3cd975bd0cf10eddd97493f54132af227e8670821f28375c815aa49152a42b83a6f6b51729337a49fdce4576ba366177d44c9fdd62549b9a4287e72f8d240ee9f0cffbae99b9a21b6797f532503dc5f37359388b8e6a14b03f93dd2101a8e6667ba617f918864f7feeafc6cd0fc70e9086948e948cf60aec4d3b0c5de93ca57e0e08788c688c1624c1041923c27b63cc0bf70fc545d41e429dfa592d5137d8ca6a968aa55abd542740111c3d45ee25f397215815c59cf2c0df6d653e6ccaf95a95f3d72bda61683f4cf5ce629f5957afb177d569fb588fa1cd68e46b8190eccc4aaaf2e63df1df76599d6dbb9fa4bf42347837d7c59ddd18f443f7a3a1a894497653aaa7ec693208227339f0ee86498cc7c3a2024d357454f5f1d5d2b47ae9eddbe9daffad65fa2a7a22bfd14eb8b3e56d15b1fadb7574684454cf4a4cbfc45c4328bd68635aa55f553f494aad3aa9e1a3d257aea583f37c28ce150452057b6decef4b26ca2a50a5f40e4eae9357a6bf4a2bf68f5d41a3dfd3aa2f826572f815c393f59b6a6337d3aaaa38b01cff669a992ac0df791a91fd9c791997ac1be647d70b9646db8663fb46cbfc5faf0327deaac9b5b1c815cbda5f8d291abe7da88b637d17b1659f8c2217a97f9a3a72c0deb9915fd85d3b2f5f247d755955da55c55ffd59fbec6afacafbec2d78d8b3cfaeaa9e8d2afaebb3704c1922ed5cfea5f663fc215b67e85c7d0c15fe20e2e73897e073f89befaabfee869bd3bf829fee8cef8297e8c15d1d7bf74c8229b8a8b945ee42e063c57d60767e166a7d15bf68796abb72c0ef6c445d6e89bbd18bdc8e2604daac791d9fa91a561e166388c7e641dd034a50a3386c3e84b57e769481f22fde81621893e3ee95afe129f5675743beb105916c51ee2cf780cd2477fb1f00f2f575f4d7a45d5bbccbfac138b5124ba2c7735f10f2fd77a438f7599729c4fe7c985c96556b84cfdf8ef32f6e3b77019eb632ccdf922ccfc241ac97bd50b2757f245f792f9869ed9eaded41cc225792fd2c999ad378720f2e994f3dd6c11abbb7ca1729f73800ebcb7efee555be85de8c767dfdeb7f75e88e21f5ea6cfbe56f6d863cf48668c3eabf55d9eb5df2c8d8a5ddefb672d7d66ed3fead59f8fb2b6c418fd77d9d3e76cd0afefcdf7ec6499fa3ad99411b61e0a1f0a177832c39219942d48e1f5001db0ecbd40679732585729bfbf705c423fbf645ae1328c5d2b847f7839f4f1edad69d946f6a1a7a1c822bb2cbfb738b27d17f632fbeaa59f2a6c1d89488e3ef89378ecb397b1c6abc4936b558522fd6736f4d93ea5ecedc7cbdede92917e113f74afce214c1ae2a7c86c948ef48bf8f6598e375638de12cfadf08e98afbdac7ee8c6b79752f7aa0cd7864194e950c232e084b1f667190313f0cfc9ccf29073324183ce5ce67d381024331f1f52f20d99f9f89892db95fc99f970404aa6ad464e963904b168abee5d7571c7a03f94df76013959fe830d609987cbac0f2f2ef04f3ff8125487c57c38a0248b32f3e100914cbbfaf75f70febbecded0c4622ed7e5bde3c1e5fd29c78771a6b9e581be1b9f5edddf2ef0d973994d7cb9ece2a7f6de0d3db0aeceef61171f3cbfc7c0047232b3216d207681ffdef989fd70caef4fcd09652d068f76020f88ec8086478f486587c67d8f46421334ad0024a0e1d1e300340e23f1ef21009a8691f423804aeb890fb440099a1e8e480d68a41fa05ffaf3604698c2097c40d3c3bdc0063432fc007d82d80502f06508902cd101323c9d11b840603e0d8f1e530934f17b34231c41035f621e343c7a4c23d0c4efe180d480064a2ca594d56a8d0627acb7c2558879301f88e00b3aa0e9e17668d84b8791e107907148f80296dcced1e084d57ec66900ba2414228464cb63309a0ef0e4fe1883042c01044698904495160a00c1089cd0502968d85bcee4a7b6aa27387185c64941f33e87e6b21cd83d391a802cccdc5b138a28c2bdd322b2b96f57c2d25f9c1b91c17225533ff81e7bbf44754fc6f81688389dfd720f2184f03d162401686ddcec6ae8695749facb866b860c1b93712ffacb67e8d02f580c537bf92aaf25b3fc191dda44c297898974c84f02ef1fa6809fde67876ffcf41e88675615624133f0df03d133ea3f586f5fc74eb065e7a6bb2cb7f6adc54b9a72ab155ff0ad6ac937532184ef496b87192070aaec00044e15208aa8b2031038557a273485f6183246dc4f9fb6f7ae0570fc46e82f5ffa4b1de0dbb8d9038ec7217135683fd08a3f8e9ed144fa45ff6451722791e29eecc8db7e301cfca926d233da08fc6713c99d2437b402adbc27ac0ab4021db422af1bf6045a71185ae917ee55acb8c32bbeb3c20af1df4b97816efaf0ded96877c9c8f09dad89dfb08d7b2757f3de263e872586f12064b29b0a5850cccf6bc66487c1b27318319005c564972593b4b6755c6984b0d20aeb33cb00f6f129aed4c919ddc7181a13c60823c5a33c81614fc408e7abe1fe49c48e9d644eba5b835c8fdc9bf38830913511c118e7c34c193b5ab661226b437e0c0cfa97fd504c7614e378b6616f318e676b035237c280a1128683c1a8a73f9fd2bb2253f7653761ac300df199ba564418935e53a6aecbf24e1830e6d30a46cfb86cdcc79f2ccf87512386d12ffc2df60ea361c08821b5009a5a9cd88aef24ae84a2bc8933a1e2fceaee386e5298f72514fb127ce134139dc497f81207067ae1386732278454e8d3d64cb492d6495cc97426934ab45a3fb6a467d467d65a3b996d717211e32f9ec499b8921f87428a2b891ec5a3b8ccf3284c8a7b52a5a7c0e24b6a0059578b162717d5b738b9a0aec49d509dc4957813ca9950cd24b3778e6a267c892be917adbb3ec1a2b4b730add43e9d5fa94a9fd2d9e8c57e1a4b95291ebc317d09ace23a58dc47d4314588f64b1c7bd2559a89a09ee22fed274c7be664892f09555ff25733e14baaa5f17c49bf688fe39a8966e24bda97f81267f203002466898210feeb49cdde89331a11a711463866c48c631fc38f1f523ad94cfa477e4f21ec1f9793fecdd6b0c6fc0766c2aec95ffa259b704629a5943246695fbc2d4e2efce4a07b18e5b3eb58eb24719ed69144e024e2de89cc7fdf21e3ffb14ab9bbbeac3d9bf380f0722edd59ebf40cff78e1401bf6d251efa87f643fb27b76dd845e3e73862f979d4bf7ad636bd8c7bffe9499bc6aa6d48c3ffafe4fbd0b9fc8f4beec2eeb9143b419cf1e9a77a68d605232654faa10b749a6d765eabaacef3ab6710fddc7e8124291a501a1ff73dc46f40bc78ce819ccfb476b99f239fa87d2aba774108df35903c989e1571c6a355003312872345003bd93410765973d487531283263cd066d39fac783381e5e7429396503b539298aa2288aa2284a4a2af4e4857932fcd43a68ce1cfda3e3455c98797f8efe998da5dffac6f21a4b6e3f3f86e85b0b21224fed420a96b36c199dcd79e4e89fae425139faa7a738656d4caa813a28b367a2972f25f5b24dd15b2f1be76953ecfba75f3469efe52226076314dac4a79ec5a760b51ffa26bacc5fe8cf1bba30d9de2692eb7d395e96841039448bf7e51602746231aabf9a486e3904b1706044b793f016e2a7f6d63d0d212349ae171a21029385c8f1ab102e744fd9de1692eb7599deab7772ffc8eda9066a20469ffd75536de2bf974ce21c0dd433260d26afd50de3b406a2113750bf80304703c1da41ccba890c13c239e7e4a1d7e4c9ed5b944672b4f3487573ca39279dd13de5649c33f6cf19aff7f8c9893fe127af6e77eb7f9387c667b7f1c5663f79224e27b95fc69f71f6e4c6d77bb32fcc72f6b8ccfb9e3db9fd359de4d67e9a44297b1e6932c51222b787be9db8cc13edef29c9179b73266133e276cde99794f89a3c99bdc4d70d6bfdf3e3779cdfdd1d279e93da9afef833edaa39e44eb2b71c22d9144a51f519a6e6acd8063efdf957cd93524432f594baaf55eab679643e83ae89a40227beda4fd00f9c471e7c43aeb82655a808715b9479a4fde4d97c58574af197287e9af8d2409eec274f36e78390c81097a1f14ad3c46ed8cf3cd2e61139641ef1c953fdc98a21ada792f6e99c4170aef6d0daa0b97143e2b918045fb1c77d883e2be2e13845fa7ef235247a46e95bc55f2d2f492f5f8e5e361518c7f308dbb07f4ffdd582474fbb4a297f60fffe228d8af0faac899ed27eff5a1036f1e5f210b9ff31a6c49948d22f1b4f66f87add30cf6e1e9799df7892c438b5911053c282e7571e967e2c446637c7152c6fce23889d77757c8fdd1f97e99fed671392af7e364c5e2d48be7062f557e85ffd87af1624f7b70ab3a7fefd15c238cc3ab1c8306dc65e7f7b3fd39ac497c4218c29fb16a421d1649b36d09a4ca793a57fe1fc85f3727d4bb10d844fe18644bfb0d43eb577520a520ad66a6f3b854ca616df0ae1cbd404de971dcb95214a921819e25e4264087f9a0f2c4da43c712284abf6b63fb58604cecbece77c797d0a1b35331feca5bd90cbb4931b25253bbe349019b40c783fef85e31e941b84724e1b6669b0fa2ce69a0721e11037245c43a205c9392d1d00237672cd107ed54da5a9741597697cf910ff49439ee7d7259e1af8146ed646cdf1e1bd3a47f771730812af9b7a9188d4c0b799366a86df551c5f17c8c9ef291c27960e9f34a474e43941db5fa9924f9941b9e2440c51c4c093bf5044a62133285e989269ab4f8a8bd29ef8134e9230d1dde3a727ffea1e97713c438c79e8d2cbccf015128d9e3d89952ef317e69ef97cfb56655dee19aee6c71c8258218ce372a51f2ffa1653efb6c606becb15db5097e1b7bf705c96f0a9bfe453f86a254df48c29b10dfc975fecb1f132c4dd44bf68d8497eb89bb0dc5971c69a4bf9c2869c4e2f54a0002062a2d9df59ce01a52d254affd54c3413ed9891d669b9db070f0645041cc70d18e632ad5c64f68e2fb7b274adddbd3b2b3b0695406bf882d5efad981a7ec888614c781d60601c060646460ccc1317bc188195b3c3c3aa64d7c30e26b07a8ec17a1d64a4c06af65409abdf7b003465c703d20b3b417662c098131625b3afe1ac869fc2304d108223a68f1098c07e11cb4c2722d429285011520f218c10c649c150c80bd5b77399d03b3f85303b82119092c211949210bb1ea0496228ffc167d8c108a700c58392824fc52863844e52939a92a21e8cd49456a8524ac12a5926b891830632583e7960ad30dd90e28204d6c3809a013dc90867fc39279c93862cd6d71a379ed1b795ca90311d7c32cecaa2b6be8c93fc938c93df1afe52593ea10f85be65b4183d8c94406f8d1b386af85103f7c0841a517a70718216ec245fb6183d48d9831327145f2db28cc0cb77e3f5b084b216386ec22f597047e74743967c03470e1dee13fe8e0fac162343871a2e533ff4f0a967ec475a960926b39d18ed23c6b77bc35ffcbbe21ad55a5cdff9a9eec829ac4a5d1c37470d226ef8a9868c62959eb05a8cdef1177f772701c3c1df4509ac26413f0920fc48e17529a2f334a12f12c23d9a090d920a50fd23336b833295c074c34f381ccbe9f46faae12797c11379088d42590b9eac836b909fdc5f517225480ed264920e922f0fcafeed1bbefc47be6e1896245612f797e7bed9709dfad32f5a05ea173c7e0ab22cc903880f3c4d056a03501ed97dbbb80239f77ad0a83748615d2dbb6becfac7065e90927b0999410955f50c2686058560c03c18315557b061c4788415cbd43fbd610b965718f195139d0dd5541c3fe4960719cad48da19ff1e894baa1b63cb4ad3fd36ca5d494141194b5e87e3dae4963e24a24137e7232893f7799e4c77d839839477d7bf3dd8b2f9598d8c6dfb1cdfb975dc3ee61a98464223b269568d6edde9a73ef412893c5b280cbf2a3adc10c4b1972979d0e3f491213cbbd7be830c4377e92ffadb5d69c4cf26cfc24c9d64fb63275f5274b2588b4123289cb406c135f7b728854224a25728824d29e1c229590491eb671728a54a23539a44925fa857b202a102cf9388720964c22957852edd087c55d695378153f39877dcab4e0e82fa9e22fd3931e7ea9f4f365e2969fafe242f82db77449977aeb4718568cf3b2a36f7d74d886e2ab33f5727f8c82c236f2dd5bd2c2cea3702ad94d8f82b16645e8fa72df3ea5098932709e47d1ed3f1ef43c0a9ff2fa278a9ec1a24ff97119175dfb8f47e153da352111fa8fe551b46f95b2e66c3f590e1d1badf6db7a8dfaf85054cd28c216be4c55085ff29279ce67415c69124e892d8643ab97e8ea7cb5902ca56535ec533c8a975339e906945925cb014d33c3cf38dca142fa4bfc562a954aa5878ef424d2c353946437c55d30d6252337116324c529a5d74454c2447425d25f3dba09129c129d0f4d886eade08def09e7a4f57813dc4cfc14bb067feaa17d1863b43cc4d7e843cf5ca6f457fd2843c5f7b75c980cb18a6fa4ef775fbaaee2327f293d739912e94b3904b146f8baa930997af9b8d4ef7208db8c706864318e5f15972209db8c3ee4c308dbf4bf1cc2dd44bfa030d54c3265410cad83f65f859d2b0bfd8cd3d23b3cfa19a7388ed117ad78498f74a59f46d54f23aa7431e0b20df5f2e55b94f43cf48f9ef565b2decbca4554fcbb4566c03a4fa3e2695337927ec6dfe852afe24a7fa1a82a742f35bafda41b8a970abdadd5b5987359a9c9033ec44f4913fdc25d3939be7fcf2c7ccfdd91ab0801856f884ba2e5873dbfd65aa3beffb11f3c7476b3fafa5e643ff4567fb4bedd0ba7c1af378720568571a8507f7539629b191f325cff725c6186d8667efc896d1a5b0dee64cbbec72ccbb22c9d1f8dab87105f0c8a36e2c1cfd13a2e876332d39ca5d1fd9ce6709986af6e9fa3c1663668b6586e558807faf6e19d58749dbfc0a72351155dcb94671ec1a7d7d644f8a24bc2b63329fefc4ce7bd6a9e2ff3ed75cb43aca32bfa5a2f73d25ffa291979b8cf71cf6c8f9613f21010acbfe7cfa934f69ebf77479b7b19295a9bf308a2fe5817ad2ccb9d7ee8eb0f7d1ccf21bca365eb67bc0a7dfdb6dcf1b775cdaadede8abeb7ca5aa1afccab6f5f2f35618e4fa6c804c80c0a199c645a3197894f39e794734fd5771ccf0e3a4751dd3ec259adadd6566babb594b52ed75008cfb44a3d8ee71dcda26ffd2523dbbf62b20db585713c57d87ec8ca87c1f09573aa8644745faec118f1e59af388ed5da7b906bf4547636c2ebac6628cefa6e4abb96b4ef86dce99030baad0c3bf5ac4175545518c31da11e9ad92c88a5faa9e54e12b846f4c234bf10dc3024b55fe008b10e8fcc1c6a233869f313cc9303283328624acdc783018dfc1a31df3d61afd1967acc9d8d1dec438fef2e5d720f14ffc60942a3c82397b9773ef980e8ded684fc56487763e7c09a59f98b4691852786217e1bfd7a8763618c30f310479777b1ccf9d4436406650c23025332975980eb956f1a1e52087713cd7a06769c867d6fe94f49b945795cfaad6195d4b746f4c3984e555b35b7cc3b0e4487dc597ffb83904b128be31e5483dacb9726ca8d9fabdc436fdf1fb23b651f3c357bfc37548e5700994b510f21ee2b69efe9c4dab389529734218e1533a2bcbfe45318e0789defac657ae3fe315a80235e741e9d71f3ad3e6bd6a1539a274565f7faa4947b44ec9a39ff8aa417944437ff98f6cffbae9bee95835c3127afb576c4f127dace897f06c247c497cdd9846f8b2e6b5ee151271a1470b964de85f6e11ae4051beac4aecc3d0ad5e74436fad85af0a57a096e2328deb143fc9af4ff41397b1dfa0988deb4f5b2c1fde5aa996aec39cfce720171cac40fd02e23a45caea05ebea1f49b560f5a42696b2a1c854faa70249f794eb7805ea19104b96f0e784f8bdab4056bb31f9cfa82d21b86769ec6859a8abcc3240f415c68a1b7bc78b7ec4f10c2d18e1d7987c913e520bdbc017fd8cc7fc1563337ad1b7fd1987d133ae9c4c3da5a5a7b5d6da52fb5e97cbd47a989ed16f55bca3659b967bf5c836f54bcf2c03fa4b3fe37fc9c8d6537cc5640b5f385e83b81cfa8b84fb73bc2e9093eb97ac2761183d437445f7aa1ee20bd61baad0586fd8826553fdcbd78adcbe471846bf885ffdc96522f5ed57b4d65d5deb47b7fad0ed8f3724c2978561f48bfe0a37caeed0c38d08e8c0412186e917a19ff11d2d4b161a14a6beaffd9966298a0c4a7203c90c0a16235956f903f5cfc11baa3808a35f402cc3ddd005eb9291dbf70d5bb03a5f32329d10ef6859b2c0e81714e764eaaf14912f19b951d9c1a180014b6e302c8561fa859b193e8c9e71c1f8f23297a14542d53c8606c3a17fc69d0d0cd32fdc75378c3680f3c0cf61746b2db7ef915d7b8b8a551dcbc19da049b7f420be33a3340131dd981c889bfcc664d271200e0486875ebe937d67474ae79af8a54f9d6107d2a4ef34796f9f7a6737027eeabee1a77e06a46788de8d469474ef0226a667c83977ff1cc6a8e33f9848c293ddbb8eff886ee43d09a191fe619f87e7e8e41bd395dec137b2605d2e5cc0c4b88089b1de054c0c8dcd79bce74948771dff013d88efcc77d4a3bc94df6337a6f91c88ff78970c290cdb16c344e54f2a299db2793fbed895ec246ccdde09e2c9683178fcc8fed35fc29dd841882421840ccb64ca3a64b418dd1208909e71994ca60cdf61741d9701d233220df840fa85b730592607d20ec4751c88ef9856f4c857406142811304a37203849c734e20d8644cdeb01f20e6944cce39db06a616d2054c7dca7fdace9c42e47cd323f1e235a9dbe4fc3625be709eff34241a12cf04534e27ddb148973f6f0e41a0bc8156601568055a81128dc02b2d1af5d419630ead545be3601538c57b341aa1c1a863a70eadc02bd9bac536eee37b0fbf18dff54bd96d25ae6933e127260eaf3c3845122e24089c22eebc9df81e77bc45c1bf41c17290ef8e47951c77b2e3ee2451584da48d344f731e708a5844bed87c0eabc0297a86432c0edab87ff5b9bc91012c7e0d5c9f4f6ce3f9bddab9c71e4ed12ffca9ad71561e01ac82a36738c92845b19f13538cbad0bdec6e6788e67a068e7ed1cc31290eff40118529ec0c015d92505a074b8258ac0a4c241327214042822c1851050a0c64135140d005204eb230066702b2c0ea27d1084e82265682d0e3051c10210b1122ae700521a8c009242e048ac1bd351dbc223b803e413b803b084208427ac4300429435e601dc10b4a5061020fa420a40b50942cc901a284224484010b0a9e50059a3e220565d0811498e00416271a108438614e6064c8344fcb2c46fba8d14efc043c547024454a30458818b4b00305e4a0891e1624b9c2152db412201b2f88010fa2e084149cd8c00c8250e409274db670029a7e269d0afddf0d58021523e8804915a4d0024dc720041dd802076a100614146933e82230d5652a6063eaff7ed62fad866dfa1d37eba1c59034ec59d04cbfcbc55f6b0d0896cbcc47c70b31312c7f696fda426eed14af0b7f698d0d41091c5c2107521081085ba0711f274ef8d9020fa4608587c67f901d66e6a38305277987f6fa77e8a186555a61991cf0822628c10a4e00e1004914823f0c1328fc008a13ca00e4083578713e3a53b273ceb9152d60845832331f9d9f21edcd3d18e5a468b5a1672c8e68d4ea1560700d8b94a3f88ad05ea7f49725facbf4d55fa7902d61d6228c85bfc2302e5a98483106a5b962072d8eb200a2c2b268c10cad9bc5d285868a0bd62543a67d587f927192e104e6f4d8c5e94da21550a0c19154e0640dad45083a62549737c38a26645c4733551826a3bdb4182f63c514169393efececbc6551030b1800e0ad58b1c48dfbe74e37b3a781c590c114c062d818edb8776290fd2f0364560036a3d903c0f250e5de49c2ea1d187fe9afdf2813d50fe5ab73915a8024f49c3f5aa78de81ffde30858c0e2d3c92b2643ccae1c2977c42cd9332bd97fbc30fdc2bdbc36e24b776362fce426de11f3734f833512c0e05da0a0b5d61a0840a082141cd1de9aabae21d1723be7dc0ffe863058ee6f6a2e41f8a4b5818e752920fb371f5a72fb6e8b34c4623e3a4ff2f5ef61e8aee10bd655ca5e22b9d8b1ae2f91b23307bf086caefd8cb71fa49f9c8c945018d931d2013034295a501b8014304a119f6d428bf28623242c728428672ce2a4f91451d27c8a20693e459268ac314b8b9c20b3d69a4f110eb4cab2423e4a60c9ac5952603ada6308e0498c0c1d76e8e1060e9f0f40f1dae4cd88eccf2c0d6731f6e313831ff8d4e087cf1264f059a28a2b81cf123d3e4bd8c0678923af2d2184e48567a3802129110912c90f90e800490d7c90cca02259810f929d50098b0f0f16a2204ac2a807f603a516fb8116920fcf0e786af0021f9e237c7888a001187c6820858b8bcb8a1535cc201599f9d000093af0a141111a08f9b79688bf96886b030d88782b3e47aee05364043e47a0f81c1182cf11243e474ce07344c7e7888f97d04fadb5560958ccc787934c2bf7b6800bab8a0ce18fe372111fedad1b0dbb63d95e580ff74e0275aefd7bf23d7ca799f1198fd17adf9eb1025c2efa7bc683c35612a86b1a8b23bec43d5c206043169af84da35369e2eb389a2288e82a34ed99c5e16822fe0011158dc448de3b4d6b2dc2e6cd9dbdf71a84afbdd6fce4d8114199cbb8b43fb9a072c50aacabd6ccd837732a5998d01670ed665192e58974d2598c302b2bde8a67b419ded1595ceed579c5d377dde5e3d30ec0371b80a7ee4a2e7fff591c2da0bbff80163939d2e928a796060bd23712c381e4a07bf141eba5f5e16197b71e8abe46f4d3945d5c6dd6338ba7211eaa171afde8dde86b58d89aea87ea1f76b161ba7cddecf2d47b4e66f1d806cc180eefc6672a407679537d1e68f1ff1e10c0df97d6c5012dfe1fc73f0e01dca771869fd687199ecafa28a46aacd1d6b4b472fa9c93de6ff1d54240daf094d6695d3e0481fb2dfe01f75b60d65e72f2b4e169ad548886ecf2f4296bc353ea94b2f881c5db600365c3abb6466686c365ca2e341ed0e2f15b8b83b235ae561a72f9fa6d1f76c1d1e2f13fa0057679fc3999da5a2d8d876b587e5f89b2cbcfaf96c553ebd6367b21f7352cde7d4eeecc02003532efe82c35b2e6fde8adf5e1b9fce869352d2982a34772a5d6e22a78e86c030d1b4c2cde8667f1353600c0ca2ecf02e764da964a59233bc66cdf6d4d7408b3fd666b607bb6e639e7b2fd676bdc6b2ddb87b6a641f76c3fda1acf2cac08ec4b5bd399c5d33967a8e4f22cbef4352c30f393cb97547ccd93d905abf89c4c430d3fe32baecbcfb41a68c05209d30c2adab7dc22f74b97744d0c87f6a35b3205e0e26b6a2ff7af7d1aa20f54eefcf09581ec7ac09c154efa411965be2325f56efda9ecd0bd4c993e5569e8d6b02c6f7d661b107af7217cd1ef7f147c0a7e08cb8ff4e7dba64c59b6f393b44ab4dd873297798fb276f31f55433ff46e7da0f80899a2b7ad956fa5addca57ea6bd5cab1d9d253380e1d0986b9b1dcd9ec8d43397fa36f4e357faf12976b15f9ffaf82e16534f3da4d8a586658a29dc7ee6e4796fd8932c31b4d26a301c5ab4cfa9fd845046ba2d4fba2dafe2569148241255eeab060a0a62b1209c065455397e423980824295a8ca015405e5f811553980822a082412e510018dbadf153745abe2547ea6f8c97d0e97713f41d5652b0cb184f8a25fe1876ee8555c064588247afb96852f9c46b24696e8ad6ad9af8e715aa6f6a3a8d6f8befaf80d24c236d5bbb795c56e4a76210cad8d945e9e1d8ff82c4b962c6578d74d8eb9c21528e5886ddeb32a15d601a46f792ce97d37be55f1b4df8d558b8a5bfde5e517fa965b7a5bbd6fb11fefb32a6e11482afdd26df9d0ed9f69a615efa7eea00682b17c4403ea9e1147a40df1249a103fb520a2d0f7257a18bfd1609a617eb49e6ab1cf18c4eca5622f96bdb4e0cbf474b4182ae8b7bc8a5b6a612436b2d5f77b7c79f63beb0a59ea5d9ed8c6e219dfbebb4418c7b30daae6779eb8a509c92d12c2575b5a5a5afca7052991463d417a661a1435245a909e968644db696948b4203d0d89969616f72a54601d2a6678d870095f7206ccda8b35faea8adeba2c53ec31c668456f9fb5c543c5e4a4be623a9abca4d5f8b2e0cfd522db6f1ff69bb5d62bd69a0febba930b98183fb56c6ee5e632b7200d099297ae407bd8614687ceef8aef62e065237e933abe2c9ef872af621bfbf49da5b8c1ced65a6b9fc1c4c0e6603018f731d0366430165f3062e083615bb310337821fd994671759406fd7ae9d7dba0ac56095e96439b9281eed82791482452771d59ddee86d5ef3952b793ba9d4422dd18618865b4183aaeaabaa11705217f3ed5d162c808bfed8b6ee7973a5a8c2020fe691cf1cfb55fddce41b41892a2d587441f448bf1f3af885e645db7c29b6c2a73a9b2b97790e869a2a7899e267a9aa87a3a49cf143dd9e59ee2062758ce43b09374f73c4b23beaa9334f17a92549da47bdc14b0d2218190efaf6aa6facb4c55554f3d0542f4ef1dc3a13d49c6b232a51503a2b5b7fff055e58b55b9ef43cd5ee2b388af9b52fd1997891fbaced2689df9f659ab6fc64fadca57eb50f732bd962fe624379c4310aba7a76748cde286242124ba8feefbc7fcf8308ee7f72c7bea99df6aafbba914bea999fd64d88652eedb08cce683ee617c358765732f7675df774767c992a50c19e244f8ae023537b679d8f47e6a73ce395b742e477b5bf84bfb36e2f58fc9da88387f3826d08839e70f2cd91e6b529da0aaaaa897a8944d9675410a15d1000000006314000030100c0704a3d17040a207a2d87a14000e90ae3e68481748c32c08520a29648c31c61000000100000192b44100196e4a7fd48989a72eda229cde585ea857ea073df5f00edb5bb73f36bbeb4dab44df987800555f8a1ebc06c93fae3f00e20d75af3742ad20ec580b2a0721c01edd54577bc5b0a31ee57f7f74a83cbe5f2202fdb1748d9e2910746e611ab19cb69e5875432f291febde35c99692a2cd134bddf59054159b1461e047377abdd7f11cd515a51c0db890bfdae451aac04f071dbb641da8ff561211be0737f3c6a6f6106ba982a28e189871d7903d8e1b51892268888ea3e4bbe785f78319c23b5c85769318f56f60b895771dc06f75cd8f391fda932b12cae674c8b8c1391c7b2e1c97350a1dd6df106efe8ffe5cbcd4dabb3beee33f36b79a76133794ee2b4210bd84fae8ff64abe06c149096f64cc3cdc26d5871083dbe59dfd3f1fbe606148b17845e0b18a03fa410e2590848babf97e4bd290d2ec0e7a72bfeb3b0aa38d747002fc3d2221386101406d3980de95f1ac9cae0a15db25e48b12c4f15936631c31fc420bb20fbd4eb256093e4cf4a644ed90435879ba3997de1933a2fb40253ca14d0fea63139a6f5992e52c044ece8a333b2fa521230950bc8c8ac264a491e0632f75f784d7f5d524e5b8a12ba1df98e93e99ad643aebda20e4e864e4719eec55d30750836905143beec743e61ad393ad57b89755e1a810894742240d79d9f8f4f418d2aaf079dcc1f1ad0f9bc9195e2f59054de29118f46b8e39ffa15071f8f30f85f5a65ec4be551e3eb4710d33c7ed2a2ae5e431c27352eeceb333ef7311ff8840f7cee139ff799cf8ccf96d2189e2dd7f646c07ee24e984d4bb8722bdbe6a9eefca88a0ed32fe1d8685794a0298005b637e263a723ec8d1438438b3f4fa778f55f07aa80d604f7208edce968c571d39f75208b772d69678271cf03c00b2c5e7171a5809193944e014303aea47ae083c8d8d813f323a095539382ad2fa0a92591c14297bea19fb299b1eb46316817501734d14fc6571b31a318512275e2dbd866d1dd58cded145d0380fa00ba61ec6334c114d515125b944e787ab6add44f724f6a3517ac021f7e2788b1809324cd165e030cfd5c69ac08957bc9611ca9d7c0393d544fa7d66cf73925e00e992ec0bf84a09bdf18f67f2532d6e8213981d0c6a25ce9754402516f56b8228d8b41bb6d1c029b26214310488b15f06889a2b6731f0d313544923728c0a4099db3061167e5221c36131f9545c123649755af288dcf5ad13a7e0100a746e7b28f1aa0ba92ee8c061ce8459f5863e3767ab39ad662dfc593b99644a5e928228470cd6b035b31f6508f28686b488685a5b193eff3cf8ca1c2ad1dc82c11c549d1cf9a7d84d12c5c68ab7d9f1179e3b8bb38f344a31f21a189b7238b315289c9dc8f30cdf1facdccf9200189cfadd94489cd5c0bf2113ad3b107f2d00b8927e918109f398525e8bc20980f63bb461e940e51ffb3091e4d285bf681d92e7b613bd5f0bfd0681dad82ec1cd71f9158a5306f8c4fdd7b4579b1fbaa2a150ee6357658e6a2b3fe859890c2de36b57528999ad8b83963b2295086ec68160e5f56ebaf724fe396e9e619951af1b2770b0cf531bbe7ecdd09a5df67b82eea9e9c19b3a8edcb0cd8217baa0eadbbf2be1d71c7927ada6682de03cfd27435cfe1e0b4bc4611e1ae9d75a8a54c22096e2f7edc7133dcc31e6296cb59a33d334563cab9b39003aafdc5e9d17a4ee3e15f07cc38385dd97b261122e630211285229603c473fc77918b19fbe6170ab1dfe0e183c458e3681c8e0c3ecbfbe8776256009760fd745afe69c2decb4dc867790b03652b68794bc9c1ab7b6b3ff8a56bda5a59419d4cb76d4b5a9a5f28831cdec7fc56cb6b366796bfa9769aa84f06012f52e4fe9cb49b9abe55892ac4119979744d8a4744912d6731b35e55e040c0dd8bad5111c344576c88d285c74b73100f6980fde1fdcec3e66687a7ccfe675e05034d4121e57974293376a386016ec8dc57e6c1a62970c241c498a6545142c538095e27cf43733d2735d62ce69d5d44bd2ce2252533affdfed10d922037a5e74c78dc5426fcdf8dba3ed6c59152a685287f0a3a64c6ac826835cf5783f3627290544830b10aa783785783b2dca0b1fa66dccfe256c92d31ebb740736495a2d4a921548f13bc86fb870517c42c7c7b224cc6a4c29d5ff352ab0687b585b9a5b06be0aae2317e9510df51dfd2d55bcdc6b21d6accdbd90a1c61cee9e7a320b94cd944115afb5237d01f2ed2dfbcf4ebd1c2b18a4eb135b3178b6ea7faeeaecf5dae2f7eaf7447d717a1b99c15a885c4346ce4a9b15a111e084e3cd52edb643fc515b7007c8df10f94e1b2016db82c1fd7fedc8dd887370e05a26c227d34070298a990deda0a34148ada8b2a78551889ab29f35bded883b72254cd91f320ce80da52625ae1be0fde85274277078be5f46451c5f739ae8dd5399cc1ea28ba6731f0f4a49530417849ae2e14cfb576df4fdacdcc80ad6d691d9ce47f28e533d28c3b6b6a2ea86d1851e32815d339ea1052e7c606436a91bebeeccdc3a433eea0eef014aed33870a0b42811e9f870d2c1a27fbd871520d5011414b1fc7767e2dde42a70231076d2940e7b2661b44f85cfb5ac54c3c68185e9ded26dbe90c531f3676099ed9dc2019c815326c0c5ce5c84b1932768445da01ff18082a94fbe471e4b99ea39d9d02b0f43517c48d8b1ecb8a054670e07a3e93aa3e101405631ad4f319156798250c9bdaa34160d24f16c5847e443e96f3380640d54c280c633f110d0efa85ae6adafb4a07e9d16545ca72cdc9749758710044b15d453b7cd427107d6cef8c4f7bd0f5a25377dc867590104a163a0cbcd753fe6e4fdadb1235d1cdd5101dd133738dca206084241d8e8b6bd9108f05cecbc9a179f97c27b0ae49f1a69b6c834348020585a00bd94dc69e42ec77d19c5b9d2189034cb3f98a01828be733f3367dcf227cd3cc1ee70cc75bd2e612a091de0863b762113c195fd925b84a59a2364b45f42ec1c62a1450c19df5a9d67320ef86e4184167231a1d84ed61ddc8fb7101280e31df9df5eac46b0bc99aaf9ba779ff9fcbb74fda30cd10a12507d0d7f7d31e0f066b5c43623ebb6d99946473c13acecd104f9a071df2d0844078de1d71768b8d1dc01a00fc53f40ccc33edc99bcd235a55a5ef541dd8539037ee87cd5d285c38e7276df51ca8283fca29cbd6e632ee31c51f17c425bc85529281c108f58afaf122f0fe1c472306711b4360cb6f230c32c0caac021525ce1792c88d6f93481a4f0e2e7e00bf6901d9a209622a047a96d0be2199477fba1fd65d623d0474f87f46fcfef88f7ae45258b83e4355f3f205647c65de9f124da100a27589dd8423dd46002ee891236140b4822affa94299fe59d991bc22393131ef235093e8d6283912c6c35404cb017c54b16c241c8017f962826f81cd5e3ea77341a1c592a6af2a1de70cab42798d8e17dbc78d6a44aee0baa9b35f1aa8fa5027bc1e4ed121ba3598478ae6fe346c4762236364cb84e785dca3446ebc97e609036f62d891b47f7f2f2131b39636c8a6506a2786cfa93d241d69a835c84c35bc9788d41ccbaefb79c4e1812935ab0c3595ec9e1f11ce417bc539c599e35c81e155d82cc280757ae2c5093289e3fc3934e9129ce0749823869897e16eb1c316f3c2479a2ae70b5d42bb01619de37804a1ab1873c98c18a5b73624df482060b98fca304601c860aabcd1f5253b9a34be5d4152132217da84c1437fa623baed8ff39faeb5bd69d356d4ecc426f7ebe12bb687079232434f3148460362f46eeefc3b86f96ddeeeacd52efb16101ef51608dbdb301f7f6b9e07d2704b9393e156af5aae162ceb7ce6333fac1fa5a6b215a8fdf532dec6eab05f1a04f994c728e211568108324426979e9a8c8239b1064fdb40f6b8e442344faebc2bac9929d6314d51a73c23bdc882345988feb7de6043c543f95f7b92fc3c0e6ea89bc2f1d6b29d6ad970dee4852bafe124460fe06534d52d27d065f91153539bb1e2db349a0e5dc19ba159269ca4641cb7d1e15a0f2401f96c082984c987de6488bf63b63d56604c47fc28b64301e0ec620d916cdfaed078ddf8bca8730b6c63c97a035fdd0d8cea6007df01de1f747669199eddc7b7ace3d6593c281ac37c7708df0508d912f6b9e78aca5b61b70956e90c859d192f8a5eb03ad7518e5b57a4309632b100fb49af9420325283477067bd985e5325285063b23a6077bfd5978f3161851def3d4e0e8ee7a0f06480db416052520a5462567aef65700defef450873e2b5d3832b01984a34050b9385d59d6baaf8edd4ec86ac59f33df107e4a5d36a10b7869a78584f53be0b710b00e733caea03b964abfea60546ce42a7245cd86b241eefa3636a45b7582330b12967d2ae5e59a8bc55a08fbaeec9a61c81478905fd6c3265340b973b8edb8e05a876805cf47a5e5fb5ef2744eccefee16ea60549eac9d53f0aa0526ee4fafa6d26153187255df8c6c6e2f42608f8536a425303a9ae73d83f29d9377744d84e9e63a67057f5a1bec7085a8c292d12f582cc56291d43c27ce12c001902a8e8765d207c1a080378173a23db1fa1efe5a890fa4dacca2654b874f961e67dad9b80e07042f60e3f9eb285051eb04abcb7424dcde3f5a8997a3683f3d086b722821fed347a5c0d12b7038bb35c8034407eb643b7a96da39f0d120a0c24585c921439f0676220c0c5def1b670302fbd974fe098578cd549856a75cd372624324951b8e4ec79de5e8f156a80f435e1a50f800e61b63c1c7e0c3860245d4970f1bfd29d97e60b4e2da7a1352e7f8be9d5281de90998fa4884ecf3787a17d4ddef88dd61bfdb78e4db08a9cbf03eb3f2eeabc25d4984bf0eddeb49bde28a69ccdd59401f53320d6a4326e5a0de02963c07650b622a83a7a1c334a035a754835c11f5120a33335ce986df5a23267425cd33fa8458fb6ef907ad00f7c402864a691ea2493d22f4f4dead5eb5b9851e62f1741da38ad41f3547a17e39e1e3454fcb95302da448edb6e5d92fb2eb79399257f68a34755e40fcd0b44f12bad5745cb56873a330680850e7843436cd045616e89eb138c1f1729a18541503288863ccfa608b13946059231ac0df3b5aa31265a734108c070e59aeb8f81e381b91a1abf3f31754b1d5a96cec738be7f99bd5b2ce6debdd2069c1d113852ccc8823292a1bdece1bad3639a49fffaace0066944017a9362ec4f2615a70dc0f379626e441fcc16145f9aadacaf16a54e3766f0250ebb586993702d3b0d8f3b3aa60ea12d513a0d774aab952e65be74092b01469498fcaffbb2c42472076b2c4d589758c1d0a890e9225669ef43114d1af0705e7b2ceca1a444064b4c72e0c7dcbb06b399bd8ae7bf77eeaac4ee83bf72903091d42812282ddf098235145e62c254028771fe48238157a993264cc16bd37646812f98c1ab91960ee27fc89dc981196811d1947c7199843bbfc55e4d868593cb5c876d024522909d09abae3087b18da48d90340158b868341d51602e078ff00dea4ad808ff31f152853d2378e20feabaf1f292824cebcc673bed6f5bab7fbb7cc499f268c5c438b525d8d47339c8f396831137bc5f3a038d8a09e3c7633115b38c626d21372f70dddb508af097079845aa2359727d20f23d8edd5c2cd5a1332b658c8582310c14fd417797bfc1b81cac13a29476046882919925982061f9989f4a44a84e8c035a5121b6a027fe16d50284b28838a245bc6c0868a86d99b95037ab2f453f2d4f05b74fe690e204f1ab17632eb450910018daa5dc5e8a22bc5d36f4daa5167bf34f146e34bbb2866505d97681229c2ec02c78e1568042fae5a43bbe173776b95ccb97c68e35cfbbef02a413e1e8624a259c663a6317184a6012993b1d78b4b5ab088a5d8817869a0bb3b874e4b13ea2e9794c9dec142f24b8252cac8aa333800891a0c1bca0163c0084dbbd90750645797d2165b82dfd9b9a481a20619719b3b2596c14c335f5256c1ad47c0e870c24308a5e3750dffe081b062bf9709da9bbb3785fb9ee69382a814c6cd7f6e4785319737cefe33a11255c7b0b1c9a9b6dd773b5318606aff5a53d0e80bd35abdd12589c0ff78eb190ce15fdb8b50465e0042b7a8031fe7858aeb0505aa632849774be5ca7c01462ae7ff0ca197d4846a79ecee86371396d332c7655e1488df7800d8a4d556979e27693aaa0a6784e7676d228ee80330612dafd33d86150bc6d7baeaea19d38dfff5dc27213927b8857a54b31ab6f3c4a4b9fcae617e0f0500cba349a2959bd990c7b6b41c43526c048d49899c5a980065b370e7090f00897a7d4f7c7a209093f363897881bd9b037b710f7909d5a35183d0787d3a306917bb2baabc71e0c7a39d51415a8411604165abbcd78320204c4e33c609ee6cf6717d4d090dbf4d9995abd48f766f903c68c390be6a850c37e78fc1f6abfd6d4c58eab5df764de23abfa71db4160bbd2ce1aa6961e1aabd3ae9075b85ba0ec0674bd60ae18f267d2cf434841781ddf9cf06188daac6c80749730037c41380b39eb7a11f682766755583c56397ea905c17e8dc45971cccd54c3de8741d932938a04497ddeaa62c4322c70d26cbf52f7022ba537082974710d923487afdeb51acd77233618cb6b6ace5584ffa73283303a425e8fc672060f4f689c985d5f9b0383482d6939c1aa0bf295768f99504dff697e1deaa795cfca6a5c163a6f9f562c6de281eebf01d2d4d8bde381edfb5f5070b52c2b7726a5cad2a939f4ef8cd1a13f9aaf005b9880e5ba62a39833c58cfe5f40d1b4bfaa322a7aade20e59cfb827eb3aeee9ba90bba5342c566de27a7e1250a958b983ee82c8b5dcdf8261c003587fb987cc29d95c3b85c22564ba0fc5707942ac7e6d5f288d30327ee29e900ab4f200cbd6cb7fa3d0171d1058def25a64599fb23d027256aee3faf522e778a5b701e7a2787eab7dce8d5433283e04bcf211f13b248ad5ac0a06f59a31ac1f05f93fd2840e50818f7481af67e042411a12e44c3c901f1108f00a93c4c14841da600fefeb4a3ebcb79001e65ca645dc205eca08eb8fc015e2163a48895788571d0641ab768549e4439c3225e2ebf1219a02f98bfeb5c132db7c30e21ff27964647bca119dfcb32684d950d81c115438b1fe212c58a8ea7e10aa18a68a12c4ae78b13d6270a960f08b03b3983f9bf24bd3b96f7bbb7b8f80fc285d632d76fd524cff84a9da34ce9ee0976d3c34c8bfbac3a08d1908c4e8903157f217fcf21571a9be984f9c8a8b8fb9cdb6693b9927f38b60946df0382348d0f9092a7af36170ca16e9d326f8231135feb9c7deef3ce3a79469c83e1b62eb9d2418ecdd03ccd03def4a2564d43b615660044b85d6ec4efd8c436e65aa8ec8fd114de74cd37667aa294731e03a684f9d2e4c0a248cc430f36140c096a845603be0f0253f42750b0d4a1722f59ff15d1c05e1d3df3d157e6f7ae9fd94e15920ba1824aac5c05e190e93ebde2a9ea06d10ce801ebaf7d1cd31a3e69ff4ef3b5cb7a37023870f7215a72257c0f9598f9e2cbd013f1822f65adbf695a641585607ca0dca44711e40431bcaa9c4bae8c08401d0117de2a7021060a2ef37d7ba458cc25c86d9adb2a4ddd384aac53669923e2d5fd541bfcaa92777982ef621109c9cd52645d80f95ac4a21ffca93f70608fc2762c5fbaf529b7a40692ea296d1e56c951a3890a9050c294ce7018b655c6056c4a71376df29ae5af6ab58f15bfd9fc41b1c4615eb822ac562e232e2b5289c28aa49054d2a0c6a38c2a91fa846c56d8be4cce0331acabf01ccc535151e850f54cb1d68816addd7aa96bd2fb759a68288d50e078a6f1bf62f958cd41645eb7c9f4003faec405328da5cf6758353ac7442575a982afbf90a4a5145a73eb2d9b788b94cbd1116ae78f4d8e35f85dd83063afd104540499f28798b17a465a99ed600c430fc3d9381fe41d173b9adc246b16c6e3219697f2f1771dff3fafaf3b206bef671f69e0718ec7c2d98607eca35fe603288c25d266441004ebdfbad0ed2763fb5a81726c955a36a9270af6652fc7c625ca13d4cc4c8750ad6dfba987c85d214e331594a5797f9e0cf137dd73ebc60a71f761a3628b03eefee2133546b07053362fc28b2133a644e1e6e60bf04e858536d0aeb16206c3b22ed539cb9aa9091111d4810de9ef8814779635a722471c42f7c0b1b52203ed8cb989df3b80c26d0543b2afc36d14115873ca7a3bff09898958ebccc733cf69474935afd9916870efa690046cee70f786a435b86b9853e4f892264e79140fb8f07caaae7dc7c9b38dfd574fdebf01f8aa67a83d4d1c6a95ba2fb795fb7d1548befb392bf4485995557650f439cdbcb2085f48f0f80127cd03d2ad655918c680e3e8534a975dfbdb656411097ec2ca27b0156014a8514da4677f5a9277a240aabd6319ac91191288b39c4a8be022054f07b8c4d872c341c345c982f03c0980070728143d4d5451a3b9b26c329ddfa324d6801dcb4457e9445396a482cefaca1e8d8bf7c26bb3d9569787ba6ab7fe00350c483865cebba1014ee09855ee21a075a6304e1b04dc73d08fe622385b66eba8ec6802d753e17b5c33d8152d8face8dab74adcf9528f819c4e18c323494e53d6e72073fcbb5a50f4403241ba008a5f73580b8f2cedcacd82dddc827e3faa0b1fe6b088d8d84abdf656f0fda268e1ae01202e861304b946f85572be202a358ced84181a27f1b58c4b4ebca1b4e502e2eac4cb0b1dbb41cc25ba55e0d9cd0ecb037893d9e10c5cd59c6ac3f578b73fd75c3301cda5e06f740c632b221eb5ab8104ced9e82631d10a41a22b7f01b95f03b07f9ae623d4837dcb83ea9ca49e9bf31d0ce4b5b4e9dcb75090211635d8ba9dd7c496ee1d23d1fc34677d28cf005664d1a1d2797bc8014db63b912dfa3dde332765f4efba891dda8fc34171f8ddc5e1ee83df0c017099dff167a0ad13314f9b127912387298fca8f7f5d04e86796daa6a4b40b130b1204a6b52e2be5a570b10e2f9a97f40241fd1a246d321de11e47427ff6edee83a7fe71c55414528975b4f536d8960178597d24815a5203c38a8a4625e1db78a81c890a51ffd74958c61d11dd0fbcdce2ab707c72f187da91f12d751431ee7688842020bcaf9342ef2a8d9fa9e0dfd2a0bc57fde977d76ce433440ee4c730b55c0def8b8b047547bd860f60c1d57e0ae612e31cd69ec47f3de35e8729a1f84f23c5cf084521dc09c5685341f4251945ddcf3e1699904e04ee1e1d25451b09211bff8f9c2ceb59b9658387995af9c1d953ed2235dcbaf35354f994c98814738da77c8b1c8ccbf7a3126a4ceeae61d14786552a8b8ea15f9d5c08803059e5d3d8cd320792d44813a3ec7ffb508acb02893263d18a6806d69b4c88cb5b545e90f03eb79e19c46d206201011304ec09e4e478d82981cfec78f3d96e33ee62f083317d19fce66abbdaf6afa35c26878ed5a9378c3490e75eea188c568c4bcd9e51a43b911ffc87c616bc1a439054c37892e318f5e2b91f077439567d327620712c976949546953a3028811b7b9a24dfcec94cdc5d60ff3d1ad0338da7f26eed13ba363e35fc5da7664477bb854690b50a97f36308731353858d71d60acc035ff1865b04d1c2ddf3c43ad0bcf65bdd09d3d177006f1b680dea7b140ba4a2d2f494cc64d38fc44834a4ba9b4a646f37efebfdb2dd89f46b9e5917c0982b2ab9d58b00903511e260744aa625b9b9911594752cec50329ae8ef724da7f1a0c396b36b897850504b8a054bda12cfee0ee62439e9380114a2f6ffb0cfaeb583447924a19be54c2fc87b614cf5e055500ec0ab75366e7638aaf3c903c006953a02d327d4ee796fbbfcdaadaadd2018b4d7fb0783243a98089c4186b49c0d79c45fecddb1546bd4f6e3fdee577b3b5b03a443fa18bef9bb27ae9adf6396a29f7a820c73af586490c51f160e1e6b2184a3a35c1501d89aa1000cb0949c561582d6e9a41470d01c8c6e2480d50d806407026ea3e79140b718b7e19b63dd06b358c3dde817048d82953f8f00337d1bf2e76dd376f14860779e1b106288026cdd528037db123a3f2cd325dc0c0a087ec724683c7c8397299cf34d0433e5856f59cba1d0547ce4509179711f5bc806f7a5e43830c850aac698aa37ca476d2801f7c4bc988c24f40bb2af4298052e328aaacfdf91e4d4535e598835f1f565cb6696c5f7bd9b348f631c77e8a2c11ca05cfde3f2f7283d4bb5414a36fbc4de46a15f49a82bb3a6a3c5213fd3826b61d96fbc34a3c8a2a2a0c58a357859aa93b3955019553dfa00fab7b2af1c801619d793d9063f3c9c05bf6622ac5a889c80c431afb3584ec08395d5a060703c38695b09e78337fe2519e2cf031e2a343ea6865c8729cd980b3bca8f7a24a3e60e104e7caa212f9f6066c1b932f827b1b8b3dc751d5aac8421c85ae5ec15e512370a8796c6ed0ad5d1e8259004b9bd14340d2f75a4a80d0438a05ea3beb439c4890c384e0d1062161372e586be43d3ab6317bebd6a50c086d6cae7038223892f5555fe16ca281fcc74edf4176b88d036ae57d780fa381c264896c01199665d68ae96138daf7ca8b6c03c0306b0147b6aed475a4ca86fbb99d7d9703beb20a87dd45da6bfb22c71be5078e88eac726160f6c93989e34110513f91c1207b982445770efd1e7398dd59fa6ab6b9265542ddd8d5e97738ca8fa2bf46150b6d5272a8ae405b9584236894d36c64b465dc728251c423f4a71f84687a678e4f6cc40c982834e203db75b4d8aae2305cfcc11e43ed8b078f17d64b706b4e89b0ccfb7428a609e72ae84b9361be3386bbec3546e212376564951d0d9ff8fe40958e3ff83350493af70424c3385cb961e270303b8d3f39d0def120ebe0b178ba2731ca64a094f7c02334392a2fd969edf51dbb2f0610c41f74ca874ce02c4d78b3f01dc0bce1e0ab31e11c804dbb85fbae5a9a02f375a8da3f31a1c8ec70fcd56c9852d8f743d36fbc8e93cb7777f5834c1348600f99fa2c6f2c05b0c1ca2633e8789519d60346c59bef12bc96625d3258658bc4028c02cec6eb96caa946d30cc71d5efb90c0bbe6586150ab0b2daa1f0d5fb122de333538124f0533c470148f957211483fc4c467ce2b80c122885fa1db7000c3dc28440ed85da40ac7d0913ed2f536c61bec3fc0ea760d759b02f2f1a15b7a2917069f18bdf66ba02a5de7cfc49473a2d823360c1f65ae6cdc8e99bd43e4722c8cad77e6db99867a5b265a3fa74ee0f5c898351a509b1dfa0bdc4413ed821d697a99c76f510313d25ca7e355843945af1d99605db815c060eba41c01fff7412dc3fcc115cf1ce30d3fbab59210677f450c5688845373e42b8a6657dfdfeefe9243c3a5076587c5d52aa2339b70bf8f8951bb709500e135f5719d05b48cda794641c450ed90ae5ff8b4fc55162069f454c1bb533a5d59ba036de654628a9062544b798cb82557480f2909ae50adfbdb672d091a78991db9e6f3f5899b945ed75c7cc5b76d4d3e8755dd2b353054011c88d3dcd0925751553ab8863d12ee314de1c216025a434222a1c8538c80da0aa532d2b3af53022b6a64df536cdcd61dc20606b01c7fe9633d5edf25dccd951bf76c755f05d2182002eff07b326e6c6b15c6c02f40575fb7c3f6e8c8c32ee8f6de2c42acdc43b955280438244948b410c6df726ca366cc997b06ac001b7a0a0e23e8cd1fea71f81badf5aa1da2e42f5562af0da72ff196f1b305d885c1fa3193bac0888dbc107375df63a3bac852f4a88200baa07ee9fd578f6bebe6e8c9ccb134fef7ca998135b6e5cd0055747fa5cee816153af16de62c101c4f991aa360f6ba924015a8d34ab1e7fe803391016182fe441715c79eddb2a95f200d73d04b6760e9acc0e6832dae6844ae36f902d5ded4154d4be5632fe4a48d013e1476847a86d3f3a130407eab5abe572e7a16c95deaea7ae055133d018e3a15841ee123f0bc457e094a13aa27384dacaabfc41c768715a22a9c82e5b252daf9904208ae407a13314c3a267a55ac15063a1896b3f91b4a53773011a036bc1cfb2981e522e3fc60f8e5474fc50a29c6647f96a37d8cad1dae6eb15c14d5d64395b2798583da719d6e71a43b1c2d598ae8f3a53d1af3f0c0fc9399b25958acff274141cc4c3ab3cd5e422b9910dd7ac71f0e380ce1cd5991505eaa65110268e1e16280a1561dbe00c3105584159a640dd5acab6f43c51eb869b30a1517850dfe1d1eed444c46c4de0a1d5b199e1f6f1f6202ab938651806b850d5569a0927200e5e8285e55b86dd60807c5b9d9e39cc18115614b17c326cb034e9add242209061a0c8b5839b7748927f0f4107d3c8ff8e0b992ebad5fbe211bf4f92d2963b7743bd888b2fb6ef6a501d9fb2906c5f9761c51a841d351b00813c40b0d96a61ac6a5bfd7d52c54e47494478959ab867725e007b651093867cf6bffcd46dea79068c66a364f7f6dadd3105d3cb5e1563a53ecc54fa9c66d33edd3e1a45982ba3482af126d8791a13675b701f36e26ca99feb21d80f5798f781fe4829f602792944c560f96efe5237595142806225ffab6da2f29cd01d0e942dd3915ba8e08538da965c03860d52f305a4ca90c1c00e0704f0459c145f0dc20084ffaede8d3afea1947021131676d9b4652d8468e078c7d8d83458092c0589819fc088118c47fa23e9bde30917d297a54f1f4d4608d8db92e5e11baa7b21ab61d19b6ec388c8ea58ad7bb74d0cdc3fc1189b2652fad5c89a26043a2ae45d8cf97796f894add0e6c0b43d355c9678853b5b7d5e7c6c85de3f2375e1e1030b0c0bc8266c73b230c49c9e1e2dea82cb2fd1f1f985a68dc03900b6d4d9c0b901db1124be31af7c2562fc2abc82ea0d33973f17cbc62487336c3cc4da47511f9692812c82745de17532b1c1895b9cbf7b9f06f73fc88834e86b4c941fb3260d2c1e14f46e88abe978914b0e056ed21412e97194e7b8b61734ef2d5fc2c50ca420545529f89d991dd1285e2558ae27c8d921533f0fca66c82628bd81fe4738da56d157aa949968051f82de0b11263d6579540049a904f7409ca610b105d9d04589d05907669be21cbc7d7b7e33823e61ae36665319030d1eac131b52a862301b0d2381ede400df8d7bf6cd72204679ac87f11b145f1d6d920056c12ea8883f89ec0341dc4041f70ace430b166d3399e1a5736832bacfbe12695b5adb24c93f6747bb58dc94a0be3928e86a4e5cad0219a8168ab1b4db509d2c815bc79e45743b03d46b11faf760e0a548117a3963a71829674277e6383cef6a3736b02de60b147e1af1242333dc311dd36352c6e7de6f6ec76d810f1289f0e7f069e99e1fe9a735527fd5ac1e2500498aed2d2dd71568af30ce1b244143cf4c8ce202d137a5ee6fbccffabdd38e0b73c8433439268493fc3ba44bf0d5c323f0febf586807a80756bb7bd3630bb663b05e199e6e1be8743be110b3b92ee786fdb4d72d0bf28a22e73665d96bd7f224491a5939de5460e2f29ec1f835591027303d00b60585d9677b93cafaef983eab7dbb083990eb904ca8da3412fcf80819bb2f93d26fd658ac7d4dd49f9d60a4b04f302f636d009b5ff30df58b0f8c3071cf60e7f47cbf5f2c91758d92a981104e18f814001e6b77e0b42c0e884d07c4ab8f4b62014402679a9dc2f89a4ad1182cdbb673388535a5d2f64a7bde8d5b154e568895d950929baaf0e7eb59388202ec0ca07c7ded5ee36bef34678fd848681b3e6b3fd111685bc29b1cc6afdc8b3f5eb87043fe0b4b45eb761f429cb60602a0cb083c37de5f128dcb36ee135bc2c02b7c8bc84dcce00a9b5480c0c9165d2eacce1f163b5c9a3ac94d283c0a12f23ae0fe5c31df5aec89d73be3f6bf76c63c30e4c4b76e8bcc67ac38f997fe7b098a5e6fa40be2ed362ad1c1974e9c0aa2482a7e97320573d2a49a6a8302aa3e26b4087de4b5880e87d1626eb0ab648fa8fd800efa287607ee80fc1c463f7c9d4fa78fd68392ae162dfdacaa7229c714f1d335a4ae9063358b8158b15fb96110abf9200980fcb05170a6a0b85247b31b9a5772737ca74fe9196f228df0b3047f111539c1b719e68365eb17ff9e02ecd5aa2621a0c60ec73c06da51e87f109c8306623fc852d7dbaf1e134e07faf0aba4cc7091cb6aca06c3a2bc6968671146e9e392dacd0a43653fb90ddb33582f03ff50b447c1021d57e220f45d81dc59cd21430503964bd20fc79b3532440e86900422da02b8051833f123b161c28be06038eb09c52b640ba6911310505fc5411de00690dddbdc2d7d5417991069ba13fd7f8e0824caa288c3546231f952e0726c03de6b674f7f7df8d19913096c04d5e7c113341cabcdff50a726e2dc4629752ce388cfb13f731ef3c83cf834f5cf8251dd38e18efa57af7b17c53329ce3d0fc96ac8ad21df7fcd169d52015fee7029033f3030f7e63d380e63b3fcd8c04bdd68fb86831db78ac6a1d0c93d663b7e24b4e3677f7f68043caaccd1ee88f88d08e3dab2b682567c262a9e1cff00c4734767aab1b52aa5225ac7970f2c81450ab1fc853c7a384301b912d6b9c00e1c713b0358cda65ce20fb0f62f2635e3e9a35f46ed22b7b2e6820585c81ed88dfc1f7d37ddbb5e475f14691b6d7131a8cbfddca4e08b5591d66cc791347f041ab0a183b37d6429107373839231e507c3a872db369c6bbede0dcca96ebbfae1eca5908d667c009c5c0d6126f57282d75be394616e3693c5a365289f7cf640ad8c184a1a913b4cb78859b1ed77c3b6962bcefb2b0e7ef0b4fa7bf3b976ec547ce386197e1d115e633867dd7c61e36f1b1cb0b39bf43d1343595445899685d4204a3e676e706874ad319e81f6cde0eedb819688d1df0301cc21c2c8bcd3a0e143a91f85361c3a27d0f77c0048637c92df59485eed90c04e3af683a0fe3e143e9ec52d4b037d0a7d9d975f30ba9a42dbee1b0ac1005ee1dd576c96908733afb8f148212f8a4ef1099873dfacd53058794dd689b8baa676ae2049e7a2719c990d359393382746fbeb4d9ff98125bfedc45bb387174bbae341f70daccd5fd160918ab4594f1b61a9b4d5f36300e681b5ccafe524d2e1cc51dd0a2e836eeef594030945e4110aa0777dbfc3fa7fcfadf446bddbe76e84e8aa24156f445b2b6f980673404d9cfe027d294bb2a635c310b3faee859bff394688ceadb01202bd6a1c7abfda535f97361e6c1dc8d5a0a05c164e7f6e424b3c394ec8bf5730b24755ec2783cd0b3c5e8d2707a4864e516b1e91ab5bee9b3dba1958689cf83c5a2261440e3f909d0806b085de9d542384fb7977fbad15f3e66a14d42cf126b8c352a0a6dfd6ed6bd872dd8ca27001990db43f98cefa055787b30dcf299c2a41d67a0b4bed47af44464b21cd547cd73a819d3cc713e9eef2b8d8e211823f4bba1a9d39444349979c9e6c99fa80922532f11659ed112d44749d43907e807db452bb8c64dc8743ae6169ca4a3f056c7c0058f190c70a8dff6cf37599d6b9f92dc128ea71efd2a3790c52ddd8eddc4158db6eb95f60e86eb2257097fef6647dc6d91984db5539fb5c1ac4369a4f8316c79d97876f9148301bada82a4123d85ca49d5230c964bc673f7539fc3879d3095d6cf1d6de22560f106d4df62fae238a0bac152c7a59e0a17d45c8e428b39ed51f5fe5063af912da6ef5ebd3e1528c00bd6a92d82b6f9cafdf0ee2acee451247c226450dea587aebeb2f5163e3282e3b6117e291a1cd76b636a58b80525cf58463505c52515a47a76f6364200ec91acc0cd800fab8529469e8b8d3c031466b341e00879edc2b6a1c8062053ccb026c4088ed2893204f90673cc74dd48c6a63b2a56f4ce47baa0096a11403e6e10c7911cad14b3796bddaeab0de8ef204935d30d962ea078b6cbf9bfb2f8b91634536574bedf068d5f0727d625366287feef1137e7d59daa097009b37e4c1a4bcc8112fc029cd94860a6dc912d3ad87f697a020fea7b1c6a127bfb53c6355a037557e0682dfddb4698967734408f85639f8ea4c46b9331a04c2472b5f9e5ee6e53ce73493b63ad125dd96c97362ee80f948153ff674e8489bd78a61c0318967255e31cecd7e414025836efcd1e0c54a0bb286d714995584438701af4a0dec556064e73e8c2925dc7ec7301fc578979db9601a8c01eb23fced4fc44e20503e862cd655b59f7042b25e7126fcb291b5603f0c2ce65cfea0ef87fcc2fc53f8cd63365cceb15f6aaac04edeced168b9df1674b68fdd54ecebaa9a3e9fc7acdb3cf0f0801304604c77f6a47849e3ea9a0748a22ed80455df3f925e9e69c63341c22617c904e3ce4151bb251b579fdcbd8f3b77ef37203b5089b638ee0172fdba1b4a2fcf2c1cf590e48282e32536aa26e712d808a9af4152779a036685583c2b6c095e1233870d5892a0ff001359a2b1804144477dff7415287c52db88d4a1a70f759a506033cdd11894d05a450498310c695bcbc196616942e7480024ed801c6078b033ff28e2411b505173d2018a2f639037853160451467f24b83104502e422ba1b48e82f2c671715b8b89f9d8e07dde2afe7a3c6175d7b84132db7cd08b949528a34e54fe4151ed30e472b7c02053ed0b6895b96cac2b6d068cd6aa3a191b79176b587802f95fa7595d44b6de42ca4361a34f5e4f180397f4dc6d230c80c01e6cd79349d743658c8acee611ac10af52ca35eb1b6795f792928bf1c3ab2cba6e0b2b55e6318ac1158c537ff92516627d31692627ef9113c996a0d4a826f2389ad45042ae520c6031e5d395ba3b31dbb129455038b4a74515e2c4b9f632f28c1690eb75e7b82f9b29583ea684cb16ddf14132a4c44c210847d5f8fa744693d28c0d9b0a9704ba6242b1a88f82832768af548962d5a93cf4ad8e2747c5e30c5fa7f1395e3160ce58aa2a0e3b4b0a847d30be4b5f678dbe83e7525b2ecde832298e7e43bd26b19fb2e3066bfa71d95825b379675dd991c9ae6c2f3c77ddf2bc11022c9299a4fc79ea8206ad1d16dde46754e7b49cefaaaaaa12dac435bc8ee9ab3d7a1f875a83f8e902fe8fef57d8836314c2c3096d638a2f5235bd497d7054a615e3ccab17b1b1528f9c08d25d1caf10433d9fb116e97470bc8168982fe95bc4415319908a72c0c18d9f8bdfa99ebbc1560f4cab336639f8f3255ab807e6089edd8f45326c6ff338e6dc4709787261e56711a8ca1864f3509edc72b38f64fc77ecabc9d907dea92c64695bb3a063bf678c09268b0a67a7c054f01cd0dad291eaaaacb6b3996d93c8c9f2fd650ce38df94d41cceb79cb05d41e8fa24b487ebe95c6f09ee75f3d02a18764fb18b549465700e29a9f770004dc92fa5e28fc6d92c7cbd4df770f82787015edadbc2bf040d9d3ff4412424e1e0c9b3be7cb348555bc40d5cdf683e41432944899ec13ebc176d37659cc639d7f9fcc12c822a68e791030f7cdd497685a7bbab9573601d52cc850e6c74bdaa300afc90910cea77a40a27ed96bc009d6534050b0273d34eed9bbfa94963dfe5358242904dfbe9aede250d26a421920c74a639b1501e3f9821f85a83905db7dc9282aada3d095e06c92263728a1e0cb685e1d8e57757e61f941f50415ea00cc47ed54b1298c43947e56aab814781036c59c1a209439602373671262df47263ea15b5b8ef4801e2bf5b92a0786861b02a38c329c848b41db7b81972eec3b4b1e24d71f193ddbef9892df7e87c51bc39c15c5df8868fd862610525541fcc89baaeb0710bca42bab94b9376a1ceea637c91097ef6e0b25d79c4c113e659ff9544ad0fff4a5e824fe5182ed0c4fc5a8183e457bff2c3edaab315acd810e4a4829de708b1eac509cb16233f5e534ced79e2527992e95b8e07ef9a9816772071f8852bb1aa4555951d453888365275f8d16ce69d0b7bd326c1620f9e3a65ef1c45c8f175b5ae2c966ee26911eced3d78eaf33fac8bb7b852b685074f0757a6437dbe6470825d82087c9b67be01d58724bc52e0da3715e6e3ae258206e8758d862fe2e0110a89d43594884c27db21b86cf54739cb34c26a0684a30d364650fc8bc73ea67d8b4cc38a5db85f96bf87d9747e4050a8d5a16a261e18684b8d87802f7b9b72b298acea35b857374b08cc0831077d0d2e54d8c98e6abb5544a59da1ea41e40396baaf472bad8e406a2b2910a83312b78b437f6753cc6dbc4c9093c7ec40222d5c3e9bea72319094d3cd08094f102aa7813061f56e9d638ca90ea913dcbb00cb5cdd2d0fa99c29367f6757ce582ad320de2c989b0ec4581c63fd4ea08e1b509e66ca2a5edf13bff5c84bcddb60e8c001582c469326d58e58f78ce14b69c09e6c3314360896c7ca54c94c7ca31a3623b612c4c0454dc2067fa8ba9ef2738a304d63dc9a764b8244044ee23d981349f87a725ff3dad3422a6b721436f211ba5e50d892895fd7bf5d17d04948615a526da264592c9f8c087021ffca78da941fb48549fbf4c168fce843c0ac0eb09d52bf34143050852e75c554b746cf568ada2b737eb3c0d6dfbf21eff5db72324e29a9e4d38604037be101cf25c4c854b017e37274bf5bf891cd057d44715e875f74c888b87ea63e7c211047c39283817c97a4cc61f5eb34180a1af7ce1196c2c832d7031df6b5e9a586669fb3316a5cad014c38c42d6719823cd9eb09d353970c0cd29cf92cfa83ad9623614fbd0e6b46b013b0707c0c42935fd774e501b666b99c285becbe2795462a3c1bd0c8b2919090fd77d9f45209d6b708fac96e5f3929f00ad2b759056c4478901259e7757af8d18831854588a6d03435102b9d512d360fd77a800eacba26b0d96a73582ddf014ef88e029a65206eb75e1f903d1c5b86948b2b0ad7e735c743fa84e0d4370c97135cfa3a9328c3f634d9dbd22f4d510c54d7eba1b0ac6c7ccb8e008980de2cdb07f2889662a0aff1925b653609cddd6d61d7e01a4d040fea4e48b6f9408908ded8f81b06d92f64934ce25e9a805ddd7599b8132e412a5c710e7cd6e56dc757303cbaed80adbd60346cd9661a0e2dae0b7c810d799b9336459fe4d27d0778772bf42d5c0bf8893de75fbbf6667c5f9bc33c45ac765176c7fc27c40775597521fee8c9a52a3b4dc8a236b7b2c9bb8707f363f92f7227a2691ea1de3285ef003580aebdf09883a4db774770fba77b4d41dd21c5db3dd92986f0ed49c84c413ae81578109392644e832305ee061ab8d70cf60cdbcaa4529c14afd757b711beee07892ccf6ab849cfc49a7ef1bbd2950c4382765dc14893b07849b25b51bf2c78f031e4c6fc9c37b2566a6b914be3c935ca5a1e652e6319bdde267cbbc0651885b70facb5662464755cdc5598ddb5cc53ae75c96a4c3ee6c6b3647b40f790b358d467f4fd9a326841f2e393ddff9a3623e6fc07110774742e5957f36dac350fcde6be2fa5c851888d6dceca236e8e83b60cec6f0da4f4fe1da4959041ce1af79a2800ab16195786ee26d4d76609eccc5b48c88b56eea2a4ec720ca20f0fe3710b81a2d0e0f25efce36a8191123b8f181632ec84d7cf6ce2c385a013d76fc980d018b561321de98930db0d40554a7ec8513d792b52cabc5edafa4ec2ae35b00629bf088440842bbc09a8d04ade15498b8c49183015f057c893cc7c1605aeb4dbcbf036593072eec0f1586babddfba812f1803ad0597f4635e1021d5b0a4dd729a452e569e6280a6ea854a9fe45a94a12f0404c35b36abf1cdaeaa9068253ccbfbfc425717883c54e29ab1cc790b2739c85e89d457cd9e6a0e4dada547d3bdee83e36c727adac8fe1952dbfabd54a8843374842cc951f9709ed64ea8ba65a01a061eb07fde31252609e9f842156486e0b1a7cd696896d5f91a6012bf362e25e5f2af7d44a31c972a7c1ff687d75d953306b981dbb6c530fd4417d8c162004bff6c7654fb1144a94a981b24d260b10511b7e63ef112923e78c95613885868ad1522bc60c60b47bf760a3d216319474962ebbdf788b7fdd0a35f0f3b53b1d2f996a99b54426c1b93dcac8faf0efeadd078f649d62bfce6c5343d476b5fa3340e945f64d1cd631e94df98b72b181c69ad345919cff5b8f73ea5280535320f50289794faab4269814cabab101a57099da0b6db850092c7fa63546228684af60c6bf1cb85929d2233b3dc080dc37ed8094b81450af7403d3ffac5278eafa390e692aec2c4a866d33323ab60e526d2f038278bfdef96a16e63f8ff2805032d8d8309d16d0d6d82e2ab6af63c0a51de96e08438d81cc448de2bc2e4299a8a68ced221c89a249260f901d6a3f46b1e9c5b88a50ab5aa96156cf2e43a0ec90e291df4a8065058b2f2438d9833f6efda89b83fe1b00f0d33ba3617ffe6832798ff57485ea991c1806ea04dabaf368329a65020349185b5ca9b3e8551337e2edc92921dec637fe544969d10aa7f0f2ea14a3713192b495b6f74f2c4ed64eca6e5361a79da2c851dd19df6d0863ef83570f9cde139c07e68636a8a1444f5f1c37cd7a5d58103a72a55cb5d8e7bd6bea52842f83574d2f61e0311803d30707295dd8255b5512c606b9223e3fcfc40ade5e54cba6d53091371e0c51a76811818f4b2438cdedd9425df74bcdd76951c1206067b6bc3be1200bd80674f7b3772ce67835d1ec6c4bae678f59cccfcf29f15445af3d2330013505d11cd744d47ef9aa4da2a3f14ae7b9bbf8c84897c84a23c35e81577009b07e492a9848bea168141dbc717e4184cf8e4058e1013ef8858d6b456926b3a3a5ec9fe02abd2b7840d5dcaec3176732e1cb6a110132a5f6da6b9e4e79c4659ec676f395b5d3ba7a104b841e2a7d3e2cb06a9505b7a5b12a1bbeba6df6ea70476651d36395f517dedaa8247a721b9c4504dac9b09ab753373cca3f8c0606d710e5b9e76e0a86274b5bca1d33bd99c0336479af3594cf72e0011c1e2c2e6f0558d4a6a1e22bde906580f63bc643337d994b780202690a3ac879f6bb56d75a680e7f15a33869ce9f116d7e63f60b04f4276f672802699090ea6dc71598e53e0f8f896ee0f1ef99bed6b1c5fce28d9bbec05202c1ec5a0182792da19aed3dda8b63afd788fd4857cfb1e60649c5990f592b4b5ab78835542a3433afc5a865102e2787650631789dbc7a859dbc83e4181eef0601e9996f4031b7cf09346625c9c6d5bc4bed036424d6fb286e8e5eeefa4fa11e872a4172452f1d099942c024936cccee4ac9501d4928b7853f9bcda7c3202ccd597722f305928464411b28803a2838c401b0d9af3b33c5f430aadcbe7b09cac2fa40024568356d938de9b60082fc4c30161e0c5f19b6cca32e73fd13b876f5dfa6f85a82817ef57d7f906dda49a3bf8473161230e45a8e17d2c14cfa5b8e8905c1dcc599d61e99169ee84148fb40df30d20d94f0c8a91984f5b3a2acf2c20d3b7d49f11009130ef8c8ef80f4d83c6c6b62a4f5583bca1ad743f7d66bc022aa4b3d444a8a535aa8fc2f28bccace557332a1c49c1d5258babd32ef638347b0ebd517448e63d9199232ce841e58cb8cf54108585d9966f4043bcb45570eab4d16550c0f69d78aa09f1d9663e003e0b3c707f8d47959bef22d23632791b0f6460564ab82dd053922d4ae5e63694a4d7902d33335632e9d65d28f0680b0e9fb5c55ebd2e91e9681a571cdc916ebec26fb3893ca2117340d05c5f3a37a410064565a217c6c595f3377e455b48c26f4523cc3e1ae419059f04217609460f6264234ebff95fb6ae623b4f4131d4fd878909c9a12b1bc6364ec32ff2ed17366c318208adc46a88680819929e532f80023875ac2319e3d0c83f0b6b28ac05ace2b1614f24b1182980e5340fb8fce91b391a615ffae281525cab1ce55be2c34972dfc54f6d2dc3ea0bea655d703ab9a1bfa685c345e066797a4c748029f5864fc3c75c13c20227e0889ae4eb4d4a36d9fa5927e6d11788a8c6d6695429d58afb33e76a03d7d8973f11583148e72c19045ea8fe00622cdc809dccd71581b2400259c72e7049e488ec60e037aa4f870b2e849e530f5e6d465a920d45ef906557ffdd09847ce48af6a1dda00c8cd42e17d190e2dafcdbba0a4b38176b5a4962e1938bb145a95e6a294018d36e6e777695bf6010b7b377259c42e923f30727815223027006b86a396606aa887167a956e79f8fa5e4ea08892c1a6a5902b18d61ee60c293ea740c81015ba883bd34b1e585e0d5cb6c492505a1eeac44caf0079f423b348c65440d7f09a12a98ba920eda9b6117227dead031e68c1f54485d2fa85c5ad2e2094d5b2ac4c2d582fec428c03c5055bcc12b42f9858663e1ff2091d4f6842f819b22da804ede085e4d9436d0c52c8617aae2b257aa3b20fd914cdda36879a28001ac64cd145063541fc3210798771e5223fcc1d98a22111fe3b7a4650871641c7a74ecf60d1dc8c52cc1a41a284f7dff5a34c194405066d2be410ac0b540f73806abe3ce35eb3e8d121d45b3cb8094e9f07694c01ad7285548e0e8b69c7492908952eb093f662dc327b17eafdf24a37fe0c2042ceeda9268e50f31890df66317cb5081acf136c8c90703c83dd0abe59e310b0655e7c18fb809ca4c32bc97d81e0b24ad28c64f13846f862eda1421ef2e4b1c31a0156f569e85ba9734783cbf630f354dcc6183f6c5c0717586421989de5a15b022b0099800dec9d689463466847cf63193494f9802a2e7da3922efb69d38651b4b088772c33122e18c11e31e92951f0c1bf195f24066d26b9b96c53214d8de12b8dc07bd7067a2eec3b0b043180f847c2d22f73b20f50e15cfc575e8ec9025f944e03aa7c3df6b5b31b7f872a125ebe568ff38937efa307dc43d82d53f220c78223207efbf33de8d4324223cb27e821c413a28a6f4c97da0687fc82e9754b66d33652f5ff8aebfb4c2e815a4b25439d5bb287b411c7db5a0354926922315203d77ff828fb9a96ebad052671bd9c5c54c313a5ae73875e334af47d23928c919c66a1ce33830adb7c8c15673562f434b2ae1de9c30fc7ce9cd03c25681d40d767f768f600dcd99999398a75fdb24b540a0b186e12c5f2e9f05f69448804e2cc20f024bcb2487542ef016cbefe2bc4ddba1e74232081820f0f542b8f0fc1c8ae6d05b4a9c55565eca8863738480f08fd05d175acf80c2c9eef21488f2a82b281098b25706791173fe66e981fd218e4cd0422f054d4ba6e613472f8fc5de1b85135d59b763cbf75bdb967f766a9d3af9d754b60b9758daf4a80b8acebe25d20279610150f012afb985264e9130757ab082aaa135bd7bbe0442b616f64d5134a69a172219173d7fa52a8598b1eaeac6bad08f93ce253b2c05d48864d286d5daf499e3306f68ad67587dd18d27a2e208804fe789348ef6a7e1eeae15c2d3d4f9791e9586fd9b52d31538c9fc55998f333252e2c3224e6d93cd9ba1ea45e9fe33a0af1f317801687ef509a17a380070dc3826ae95a94fb60f7a530d8ced4c5207b1a5f7af84222a2750d52ca76dd21bcf0111daf2410fc9962d611d4249cf5d6b59fbe2c7d92e3d629684960967f8d58d7ff0dc62305619ffb57340b77d362fac34824082fb22b04dbffc543c4632357932d0e7b4e1ea0ed74f2357fa3194c805c2eabc19c50aecd174401b2f6b0e3093033b7fd53d456d1b82f5e91910fc6ccb9bf7202089abe6d6de2a34270423e5dca56d6ed6c9747263865c49880ad9a83764c5f7302e6098bc9ec4cb2a924e650b0eedc5e274925ab97ec7426bba10c862cd0f060a0cadd7e5a56e92f1cb87b1f3e4f413c310487c643052a21c58686cf23bc95db0cb1784f72ed55180e9525d7ddcdbd5dc9ab3d0048eac9b57509fd90a7c5830003c08c137ec252c89bfd2d69bcb3d80ddb37a51ed05e69e16943e46f2dd4ee051bcfd6370b52718959b00311b5fc326c01f1d0f2e85538713a4e0b93ef6b599053d4c418f31892aef02addb7b1486875021be849bfcdf33f2045fdb052dff1a72c43b15b3452638897f71bfba5523954e6d32f5cb28789e3eb6d4ae79bd3edfc3849da2aee2b26450b4ef43f6ec2c1aebaa72b1956de7f640aca087efd469555ed4b28c4403f25f8d5de39f6ef079a251bc5ed93107b0bc521a005d428e79ffd7f4b158689871e00887db79f16dfc12f7e8d7b014507e81d6f0db869f4faef4c461bb6dc7ff41d8410662a3c774ce0d3e4e8ec9c652a3c569bf3c358658ee51728190362272bac4da7fc173b63d0a9bf4310ec9423b5d0f6cc45516c5c1deeefd137ca5a53a6b81c204a8543fdc017c9b4f9b9c22134347524a2482458c865cd8b81760bbf843c37a274a592ae9c3eba9290cf4b0057dba8bb4123941eee1a3e2a6afc8c79de3e8458444a7ed94fe30359d570092c763c1be06bc7184ab681bec9fce2bb910c756a65847952c4c202bac23c0998e853439de0162e6a4363d083ff07aa063c48b7fb9d9e33fb9ddae052ebb2d594e2ac9c4243d8d5560cd4230294ded25f59afae40ef2d7c483cbb236038d374914991f789fe18837f73621c4b45147b911376a04947f89a5f41a7c9ec2f22312b98f5253f7a99ee76c20d45033785ba31756381ad53b0c50a330de99bd9037070e7ef0a9bb4752fb014d7a049f5d6d981c06ddb810cf360beadf3c1858f68f389800e1792a14471dddd904af4d6798a164f32dba1089d79a2a9d932fd3ddb44455606fe24f60ab7135a51d2ee5f9a78017dd197a3e8d9d9976ff1105839ae4ece0827a03009949b1189d51142d7c46789c6ffe5a7d9886d43363aef8470fa6505aa9e20cd527db7a96eb35dc8f6bd01d97ac4e86285845ab1467ad896481370cb6eb670616d6dd25d8a3242b6eff1cbee3f5281831da34ce2414672a2164aa4d34159a8a249f38357287c65b7c6db9ffadd5057a2e46c5b3d0f16f8541b9d135bf01f3000a84769e9fd063fe1c6ee0e85535277ac974e9c72c48533a6fdc9bde53133539564ea641cccbb1834b5cca65d844c14cff1574b713d859ebf0fb0f77184aaa6d85d53c17cf584c2834243bed358c56fe8dd709e70cfeee6909cd04b946dee9c9a94022bc495e1766ee48b7bb4051e2364e57e32062d13e1b2f393dcd899ec335ec8a786432906b34a254d83f14ee32a96fc17c6d202da55b0f8cb1900081c85910910b8df1e098cebb83395531b1b39f7666b074cd2b47a20c2052e9003623eb46a2c7ba4ea841d897e688635465f5043a8a32ac86c2437cf610317de27a05e59d487b18b7326bb978e704ddf4afc67e5525d99cc095a8b373fe679a23c74d4df4bef542996af6fcf0e262b9d347b4764fc191c161031d8bbcb058bd803d63c5b67362008097033c748d96f3eb07ea27e8bbeb56c261b0a1372d08e9ba13515424b6051fb06d0e3a93a493b15be19b5f2c9a6db6a8e189acc44ac294f87488f1a600b91f332e4666f53e5e721f6fcef2ab9c613ffab714855ece1946cef673fbe2e864f1df3f305dae3b251f5bb84295756d49a0434259ac5c26ca4a025ebeffaea13a5736a07c8f498cad7b274f64c95eed1195ca08e3c1ccc7d4c0de9911499bb3f54d226a1710aa362bfa92bcf9218a71196ce2eedd1ca2d9a394517439d56a2d6efe184a7857ba1f2cf5d4c25d79c949434e426a318e725c8d22c3d6ffd851731c28be9af60a0cb7eb1238cdf9aa842abd001d9978a88bb982e18dcd0824aefe80f15afea77e6eebbb046b880fe590d5c3184ec56ad1cd77c853bdad5be6cfc80620f4a658b11446fdb2a3cfb6855763198ca89403fb72b7e157a60ce1cdf2b041568240463259f13984137f5c934390800785c496ce271547b929adf7a81cb70db16fc8f0142f62df105e4bd58282c0fb90b43220b6e3abe69913b85c5af8c6028be07d565b6ad38bab16c9e3e44369c849acf29bb01456c7e66c92ca7c84825557709f45bcb006ec4af3ce0dc3e0834524a0e0337958237169e65497333f43ff73269cecfc2a38ae52d058f7d943bbce49641c5e8db1f88f206a536d89daf505488d12a818dd37c7e4e73b1ac77e893a92523896d87e124a6389b17a328cc9e9be0873f940c31283ff2b28fc4f88bd290ab2657ecf0d92a71b89f4f34703f8205670116c70a98fc567df5677097a0ff9d381f7c2dc4d902d3d7db3e969d21196aaae923bd787858af48610597c677d0f8b190afe9ff830e36b732bb58118af7483c731822739f127b798068de5292a6b494a96878b787a54946725ffa270f0ceaa739b211018df0e4556cd7580ef4da2a9c9bdf854241125306e80881c7bd168101f6521e8f8c0652c4d9ad076c99023fc87a115c278903bf728f300411a0881b0d082f763d71b45805e4b6e260bb39733f0ba7a3ad3e88dd8872d6a2407c43ccc84b3f684f57877fe4c1393eb993f044a671882762756c14766804e4169fcacd62399f53ad18c7baea2ca32bef52f3e526e9ab9e71b45a92dcdfbfd63dd16acf002a12193dc664d5bbb8197ea17491a6c5649ff75a5a40951526c27a789786460e23b05333a0ad31c367fde654431307ebadb1a89b2d9b2a53c4ebf40f686158ba9f8cbb2ecdab08556756832ccc429c66f3bc972cd3cd2a9b127306576ef5ac34faec1bf9594edeb8a29cee341d32d0b29cac32d2051d8e57503996a8878a748b8a773e330e8adc1320d409fc92ce3b4bdc6b9906978d0a0954b79766c2ff539355cee2cf9656d7b61a5e34f07aa636fdf88aa1437e1bbffbb7c5fa410f07f400cba08f2fa95a3f531b067b8a565f42915ceb148c7066e2a5cebbcc22565ba354e44033c041e44af9032666b43abeda03efda363a8e8e52b0bd35cdb2da41ac4f1b85fc30fef47f8b8dbdc4d6b3e45240224a53d922c24665a0e4e68d1613aaabbd2e6ef387aea589d88ae4ebc154c38786b9688c5ea245f8208516b6322ae251abf3906d448d429db21c9cfbae70a9fb629f219f92af2242f4096681ed944321c1d4ac9425a8b1eb2ee15fdb75107b63cc084cc9d4c7219720f9276cb91a6071f659813c5a0899e8fb06c9fb3a33e9e692b9b6227250850c0159e86c44e4f0f2e82f4aafa6f878ad0584eb4da4275876c83c5ca2c45a307a459457abd5523cd55d33f10d0a70fcf550dcf6805c08332a21ed75d2bc3b03f8123429089c999734c2abee054940f1f7f72e50e3e0804beea6554ba7ed394af2b5dd95b3290f9a4593db74d89156e5e820782399694882dbb118bfe39d7188bea3150025d94ef22f9528d27574c9713778902dd2e0d550dd4c8f7d4c44c7004fd733262b36bc3eb03dfc843ec823a4ad7ff835c2578389b7070d8f8b81b23b9baa2a345191caa643bbceef0dcb9ab0fe655affc0653a47c0358222dc1216dca3d69229212c52672ebccaa0e9af5f4dc150738e9814e532f42b3d3112c103241f758521d9c7964a4da46b3571fd78164aff28db7625967293a9d9bc2b49c2087925f08763925c6ad33aab658722393b09ffd6b6be31b28248b3ca5f458473f951ba7e2ff9081ba113ca03d3b168841bcd77fc22dc460314de212d9bb4a24c4d1fa4290b264effedeb336475252c072c96606f4a03a73470c0b7de42ffabbf833745077a2c7ff7de687aab76e78eb17a0479142654a5555e0a1a0596c954a0755d31412c25c3b854096f6381bbe0c84dcc807611b3c5135da7e2a2fb8da1aa9c647d78c81761a99474f8dd07765c97f951b4b256e2210ecfcd5d507a10d2146b375628bbe2100ba8ba83d04ee82d222dd5c44fdfce1087ab5531abea2ecedcf6109bf3b10a71789da8a101e9e87a1dd1bad0a2634a2ca3fb945ad72a16401a0e1376e7c3e8bb1a27346a1146ad02c479b1fa0afad71f7d8cf2015637efa62b202745f93095550bd76bcdf7ea90cdea818e3e3efc61845e282e4ad14592d9807545138550b89802bd87cfe9907aecaa1738a7118590808ce05407b732515c37893356a5c3dfa4dfb18a6b2e83c4cc56e6b12ad1014ff1e6080283fd4050bf737b10f95cfc1774e8f4919443e07c1912be980a31922941c9d4c06086c6b083ad164ab0787ffafcd5082b3e0de407de791174961bfbb650be04b0837e3968cbed81446833c3f4f57ffd76acd41cb23ca6439bca92ae416bad04eae58b4889baeb4e6248a8210b803426031d1acba0be240cca9cb7c38cf1782c91f112a6e36c062223a93f365c899702a5fc6b1b3480a5b6962a8858ca4272085ca6f8b506449571284640c7c10bd6dd040064f2fabdbd04474552ee5be697677adba0a1eb9c58d0ecf8083ac58a6c644e239c75deb2203f08d56d003b6c545270101c5022acf1b6ac40b82896810d19366504051bd211f22864ae935375bf28050e4bbb31cf2cec7fcf8960b44cd0d9671b57689daf009e4e082c8f5c3c84835dc70b491b9d088a90509c221d5cce9be4e3de49f604c0aff0d870789efece52a9294ed1e75824a656589f49fcb1373e7493bdcdcf50306c601349dc709fae024543d7aa02cb60440c7a113a8f1cac230a7fd0abc3b27f7061485b50fa92b81f0f204f5427f3880ebbe4f891a15994d4a49ae05ce4afd306be91b0a2df9a683f71b05073e1d227138211a2e5c71f7f9dc08845425601eb6794e97c27189b12258a47e2d590fb16095eee3a53826e16e6573f734d4a2ca140d20fdc9a049df96104003d6221ab5416998e030ad9b980d4d91b2e8a85d469e4a56f89ac9d44785f25a01d627296e9fe020b12f081f837cc6bd694474cb30798fad07ca3916669c69d09bce8dfdeb8d9ffa8cb3158c8b2ebb996e4c4b74a20e5176aaad2ef2903fbb7460fe5028682277bcb324edc1b1e0f6ad94a17ae4a5fee3554da2ad00e259b6d56f7944365f1dbb2738a9da54473860b08e6895adf3d975132acfdf1083071e0be0db6bde97cbfbc048de43e3373fcda0c90a991b816f9f87c31a97d686cc53a3cf73acc96061af879dd67efb7ef53d2ffefeec71bbb1000ce7dbc40a042adaf852761d73c24f249b0d96c197d534ea328881652e22444adbfcc9f77ce95009e52208096ee2a8e6044f336b92da86677a30e8d98851d74ac003c744470f64cb72be47fa57adb99ce92b38093d02adfd0f301d45299075a4e45569eb1d76323d8c7317a2573462b17875dc32ff4bb2c2ffbc44af35b14057557e435097dfc8c7a21d6a16aee959c04032ef33c70b67f8b8d6895ef11cadce98f2ee0ae9597be9f8f3410da9e30503f1186c793c1104ffb45554ec154f60d3723db906d11af0776647515d29a148d8b23bfdaa3243b577d0501b4999d840de17e673af6fc4dd194b98805a2cb3267484ca6dd76e2d6364f18be7d46f06abc33e33006a8b7c01b026c1a2265102b971218d4cd8485a8b4860bc53754568b006794cd4c23d14444b214dd619a413f1cdd0862681f9f501fa1c4f8bb4328ae8a2acde7d64c5e729c858371c24ceb759d7910a8ddbe13560ff7180853e07af90b8e67cb1c589df7251c262d1c76148064821e61d225de02042570886a88e51ba67ffa94483a89b00cbbc170328de826234cb48f02d8b558e30e051858667da87fb2cbd9f69a2bf8216bc09e4cd3868ef8306e64d3ca33468faf071e6f402001262c8258e4b5129d64173d5171ff47e30d40e5e840b0158ba8c4588a6835a923133c3c30bb5b365799aa7673a2c6a885e8d909404841dfe967534bc01d8f4151d43b20e51242875049b94944a608833874ffc009c9559d901eae355a8a2f4f66ca210ad235386a7a6d46e598dc716dbf746e01ab165b9046572dd0c94967c7fed4075142ae7344db8f3b0b1624cc041875a8fdf10f47241d876ac3c1f613c870357c22068b50d306cc3a36ead465bc5c99422177f3f06911e670ff87aba26b6f3aca9295387adc6d97e7c6e734f36ecd8017e20916021bfb1b9de43ddddda75259320288e01d3f5d6fcb3e62148720b97e922e8def4d26483c1a11dd16dc5c1a10e878ff00b95d573c684f75c5d4245ed108ca8f4df16664e1231bbabb37cfbf155abb56cd31b41d83f3506e6293f4558bd5130e986dc37057baa51b893301c2f13e5711ab2b331bc8f81a6f22f7eeb1d9d5bdacaa76b791cdc4f82cf2218b4cb3ac869c7c8801ad569e881d5ee13194a35a8d0546a6d7528eecfa6f985fca3f5e1784096a13258c574b50905ab1e320e8114d1801e9f625eea7ddf633c8048c21514030c959a27772bc9d3acab6158b10062c328fc59bcc4474225f5c13e92e0eab945ab0b24b989bf12e38df041ed1d770b5598d54846bc7b4c2928a7f0562bdde1188f7eb60c88e41d5d1df56c0cabf8a3309467d8369768e293fa9d03dd38913170b237ea44d9e4dfba2f44c57526f1808d63ba9bf1b995788d38f08a6b991bea48257b3e0bba270212f6ea18a918bd955cf481ddb19d80360c97979f0c1786919ae5eeba26e3477722da7260e91e701ea86f7d2949503561e9c24dc631c2d49c719bec5d5381299bcfa18125b1d54b4bc0a70660548b2c7c6679454ed8eb405658d5ea2ce0ca98e1089776159f501997052d7f0c18231f9b2a7784938ee927f760bc1b3e07205602e41d5cf7ff05ee329f1e745acf6a991fc888cadb90ecf7450e6ceb314a50a0131c4331a631fa1a4587b7b044fc5f9be2fe9e7682d445ca3ff7b19407041fb1799077189e66f640820547b366357d61078df717c8b687ca787da7056ae20d258ade87fa6b460afe9df8cd97cd7ca5cbaf1af2e23a3cf6a8b41db6a3a38de689bf341231aec2986230893ddc9ace0cc081656c2f24e766d10724c522dec669aac1981520f45a1811ad8ade0b72d0f62803da9b222f268603e90a958ca19203dd02d3200130cc0e597297e5c2015ccdcbc091f825506eac44b2590a47593b2c619f3f4340ce0c5c4565f0f36c20ba6ea5b947c54084801cac0a7371a798922f402382de703867b86ab50cd4d9d66454e158cc5bfa23c3fdf7ac8b512040b33486d74e080686e2fb1ebc5ee3ce47dcd7990f37d618f75930c5581c82a13537256744090c1f81610ea3b23d953e3b9863d5aa5f9f8dd482fb3e378b1d2c62201a4256a5877255c6aecff926574b84d4a5c98908ca8bc7a91ff0dcb669109be103efde0e885ca614a6cc1e0e6b6b7249c8affb07af94e3373de6a6c77e1510916d3e426b152bd111e4af98875f256131bb160dd487012bc4126fb1fef8b9017260716623b0f69b411203dafa8c75cc31c0fe3cf672e5626284050bf616e126d5914bf97b6982b535eb00ac9a32f690eedb54a2734025dec2ca4d098144acff906480cea0bdcd013f56594a9c68c7152b2caa8c78c1ee1cc31c487ccb014b9262da937faaeec7c8f23bee3e559abd5922d2bfb9ea51a46e3f1b2277d430cbca6e703842ac1bbbe52d72fb0932539542e05a0473cb1d054735912889100c584bc988a4992e1abe10a744473964351c83ee396551f8274b0d4b27a4a60ebb69ec7694d5cdb1a88bb8097fb4339760e33b2b81f2feecaa7dbcbdcd0e57b7ba45852742eed2706bb43daef8820e351e4e2244183ad0ceec17ae2ddc6bcda597eb4a84eb5c45f1363da2dcf0e23ed358143da64b8f96f4bf2cf88e21049131e8d94f58ca87c49053510c82347f3c621ac5a122822c0437186f10e5087bafa3bc7f58cea1f4a6951f5b5ee591c301af9bd8291192fcb840ec183abcb052966645170bf1f391819787dadf5b198a45a870ca35c7c295e63a0e03338bd34080512cbd77e0a64f8b93f36a298e7b8a555ec974ea30440968de472b68f198c0eae1769ef17dd1938e29f2a51ba972eacb5cc991d5afd7b8de7d60d2a783321ee519545cbb86fece399e2ed3b9413d389851d5ff1baf4dde8b620474b6252e7531b6c12ce9c20b0dcc8b0035d5da8cc6c411f3f670a4230c2481e4a3d7375c7f636b8a6ab4ee8957bff145f15585356d6895f433d66e26c6e691a4971350741245ffc5fdc3183ccce728f29bff9c4af9c037a0db815b7a61de47072c4a55ea3f55658f695884be633745ec3f1f3b37ebf08b1f7a82398703aed1a91eac7d356812dc8e12e645fd73da26c690063d3fef7b1d0fac522ad840509fddd369a91c5ca972f2eaf1e8c7e589961dd95e561316c683d61bcb7226415d57b01b9f6fbd1f68e8a3746ea2f16c6d0a5c9c612fe9469725a95bc9fc19a008356a489e367cdfde0426cad4a1057045cd6b9212757d31697f69d0b04dae708a06147904b6eca7bc02cc4cdf68c43e3913e2acd1736a4e18e842b2ecd00ca258988d26f91405a410ff010853a232c5d662e0500bee3fe7a4a42fc254c977a835767137ad366a7647d7be4a51a13fd2f52fdbb6d8065bc1f5a1d48706d220da09a403a897bfa8cdeece838bcbce4be4cacefe7184de4efd087740ea28f02427e9183264a7c6a6cb0656c980a748381301936db5652ac00bc4c790173a4011e75d2acf74e56962115d520196880e650976e85d9cde872255471224065cea63bd4dfd30ea258206f8b5d2e4ae475d3f96153d32b4134a7f98e319229050df0adb800bb474bb8e1a6719a09180c7773a3b291692a3da359d7aca49f812c5781e7ca9b7ee944b21814652e8b8231259b76eb319b9ba201946947c35fec5547c2a8629996caa3976db5a691be3aa7cba7221de2a73a169b8453ab0fe9b1ac7e9a32dcb2df9e3a698488e91e81a91b81790ff6a4d308a0d1ed56d6f392482f2f35c626b414396af572a1439fd793e631f1d0e12656d04e9a3c4a5c0f442dfd08c7f0963a5080fdd389b3e114434efc4840bdf72a4a048b1560797a405e0079a6be85632ed889fea113e8e82e84e96a51b6ed3847f6dae79d9817e9aaf076f6088e7a97e4e8df918e3e3ca9bb2d7dccf21ee9d8602d0f009ec01349ef95309f0dc07b42936613d692e123ac44a6b3b6cbc8d3dd890b756765f7a44dc67722a6752c056eb97910280fe0254d329534b8d02815ccd3f1882236748d375bae93d1fb5aeda86e3b07cd8c69b57c5905c709c41f504b2519179cd8c26cf999f6b740002350c4a06896efb992e4db741327d778a4706e2712a15c3a6a374bc9a4b5469d8ea2b2a6611112ea191421c2185e0c9df45f8af849e5f364ed8a0868a44b2df83d0fb9c8df45a83967b3c878f3a13cf4875d7bbbd112077ceb7db5282c4e14d2e55022b7855a61b8ee70e2166dbeb1d01257fa8f819c611d6304de6b36aa06f73cf48166ac2079990d3f0a5155f4a9c4b0ec94998ac6b8f69881c7f3c51a45d32c438acbeb1b6d5ce1feaa4194cbca12bfd1a70e727fbddf139b418939e5649bd309886c73f55911745ae9df757fa52b04b5ab5e5eedf9441fd4cedd4a9e5d94d2f2b85bea23c7d3bec425069c9d727192fff0f482ff9490c3126baa9492080337996b840c1b900e928597165b97333f73b3f4c27928f309d9522c289f5ed0744899e09d9624fa1c6b0951f582f6b944a8b1c16a2fe8423be40b7a6f979e65cfc4543f47d9529120ca6a73da7b5022f1a6df7d832fc5063af24af057e8d452a1fbb61c9d010d22e8b37706fd2112aaeaae3b2b587b1f432a03097e31f84a73110d54cf475bd660b403b103c7ddaf55215f65b1ce1096c35019eda76bee1078b782498e491c680d96e018dd3a1977e19d317ddaf8925d7791ac35cffe7b9607eaef9fbe4da6a3408333addcae9ea0ce96eebe2a020ea9c093db561ae86b047cf7ecb38421c57cf69d501814ffabca0d9c5b20c655d2f673292945c331240a7123ac6d0793df9b4599b4d44948d8099c946c088dd29fd5f0e107f5e91adb7e8290a20e0f88b9a4dd01fbb45c0411c6be40315838e3855fe05daea6796d8ca83079dbff7543e0881ff924aec3bb769421540e7fbed5b578992bd8af7200304ee6b8a419cb66261512fbc2366757c47e9db4d2d6480601feb019cfb20adf218283237ead23851af4a0b1e019d701b223e1d8cc4b1189309b58c9a8d694d82ce4410d41c4d680d1616b9497b5363798ba87f868d5b16059e29d44249c9b6237c9ef8093160a4d84e0e87a591a7bc93239e024def0b1974e122ecbffb9267848e928ca54bdfbccb187994f685b7429bafedf98826e1d1cb1636113cd954604719253bc509201db8eb1866582c31262cf058e238a2a3d1d6525d39b389b81aaf1aa36e8cd7cfcf22ca860a976637d08c910f31c1b4e6c814af11ea3a6524077dcadbfa292fcd965226401efdf4c660c61ffef428c9ae6454ff89e1616ac12370d9d6e157abe77cdf666a8c8c9c8f1340db47920c69f4fcf830922fcaa68bcc5e3c31b8211a4dd9d6433aafc930f84e2f15f28958e4e04563f891133547223a6dd3bb5e089b06f742a2b403124b5b4d26a0ab990314ac3a131734d5d9fa326a27184f9f3eb5e945be9673d037f4f2350eb00ad414dad532598c283b6f509bcf0f9ceb70fd4ff0441ebdef1e56a176b76135262eed14c4e94c5288eeb8f828f848bf4ed6b01c01cb4b48dcf1c21d5cd9d2de93e78ca739406fea38a7d1fd0f401d5c63a6a1b351ac4777a2c5d77c4d726b7fd275fc61a34cb8d048a41989614012e4f7a12cce33a909849a4864764e5ab74050f29764a5c40564baeb4806b0c350ca0889cb307243cf1f566e1b38e4b9538c803a4d2fd4ecf8b3539b220b8189c03457973e2fd6cdc56ddd6721151ed90ec66cf7c9ce6ee53815b817d691c3248532fee1c606eecf50f4b989671313182cf1c3b0517f1de0d31eaea4cedfe748d91706ca8e37b49782591e1fa7502a82edce7bfc1edd6d9caf75a106e7177b30e70a24ef2df970f81daa0e1f375e4a5df0dc3ebc69f45d9d6f3ede02735dcbe24597e1604554a11e1389afcf84cb2be73e3af8e7096dccb5f3b0407b49d2454c40fe7552018d39abf026f53fd97f41b9b3a4243ada59d616e9a6afd6f6c4b8dec00f3062898905c6c48f142e507ff579b77787f2b30939233869cf4195c0c920da02bea88f7e83cf4aea09353219954fc3efa3ba8bdae3808fe2a1faebea0d969d6503e199d95e4895840d3ce7dc479b750b283717085750b3cb17506152b9b73c92c0d7a9f6abd0f48214a9bd3b3ae2576e6c307ca696aaa82afe034052fe31e745e8cf43a3977ecc465a38ee7d0110fac29be2e04894ccb2cecf63b20abc5ed08e060a2ff786bf7d2fa3b66d0a2b082a486ec55cea34d5d6f6c622ff18cca950c54ec9e5719f34c7bafa015fbedc091fefb670e8b94c3c49c96b6a144e57835cd911d91d6cd3e5dd437583d98d1e89d4ff8a3ca7aa284f4624bc7400b31e4181399a5d33cb602b10118b86914446601e3b1197d4573048a81b036274d6627459198a1068b45d22a38081ac3360c89d91c71e70774b4ac75364a1d5bdec5b8fc72d1eee06f1f4f5a605568ef5896bbc3cf51ee4729de979eeedc7d2c661ceab3b92d11ea444255e129956af7714ad4742e0ad967503c1ba70136c27a54e353369a037f30ccccc1e7d3da7bca839e6cce9ca8a28f70385c08ac2d2464e68998000f9cea795e9cdbbc9350a5aef81041662e746c6be6420d23728fb63bbb103f91186c0c533a3770ee61592c397e8cb41b2fdc9cc9801e03f62639b8df3f9b571ba119abbd47efae1f4bf89e75a27e91b165fa19aeb8bb8482b832a252fb6a1372ebe54c7a8031b35586e3def45164af7f9696f83a26c76295aafbd5fb7a8f511fc9703ea1323d25847e52ad466548547bb3540d2efa38aaf0f165947b3bf3678a3118e86e37b28ca87c1911ebb5be274f65ff5ad0ad9fb18150dc3da5c87e6205f2fd6495d6466a89bb3c2f3c571f23439d9fd4a860f4b210f9ced9ef4d273c6895d845f6d74633b0f40afda7a868b6ccc16ef279c6b68bdcb1101295845ab3b12b443f44eeba283be4792a3519ba4ec4c79a6090f16e4347a75f3712470df52b6593ecae1b78ae6b0714a6f248841cd81f85fdcb125afdec0d97bd5b7e1ef2d5de4b8bb431fadd7e7ae05465861c2faadae8f865c9f1af80c6a2d580a5bfb8722899e1676e08d73254588b2a8f9b54c4febec5f4e17dc5d1994bb46ec2bdae4c99e297cfae92446a719964a447c6f1f8a0ea780aef4d3a825e02cca932c113f86e9bac82cb31f609a2658cd18e389239b5912eeadca63560f000a0242b2af8ca84f028895c63cb23cfd10d547f93c7ab42b22b1ed65c8c3030841d2dee5b26ab5215e870f6108cc4014a2d71415c408a51461d53530cc790ea70107ff6748daa29e11c7b5a1cfbc67d630f16512ff76cefc467dd1246aec6e433e2ae80c53c35fd84fb133ec3ce1dc0462986d4a5b2342eadfa2c4785f2ba02f4ad6074b98e317bd686c8de5bca94a40c7604f003c5033a275f28794ed0c130ceb6677b1f9cb4b021a7655a83a676a28e1cb15ffbb5b426acfe10c7b240f34105725d2b9a14dd11a8265cb3f09bd7c2e4b412ddb7df749fb5eef37d999cda9f13fbc572b15856bfdfadc190532bd44caee442218f2fe79e36d97525835a5a2c58542dada39f2cf9af725ab59e8556b901114f932b2298fe4b32d16d4fabd68fd6e9747e503c3ed6a47d5b03a2281a73289ffb7c95e82b4f11fee6fb9ce59944ff376b3c3572ea3ef79565cea6e9fb3981af0eecddd6921c718c437ab46d5840979373599668118a435194c7464eedcf16b536cd9ccb7203a460d3b61e0cb66811acb1c9a9f3785a9b66ce0ef5b91fbf594d6555b5af842e0e452f6a7f56eb9ef6f737d7daac51e5b4065b9465cea66935872131cb6129bfcb1e6062d72c1b58fb81afebd9c4594a543bb66bd68ca15295044a2aa89fb54b4d22589e79b50bac19d0e283bfa53588f56db3864a941a5050f86da0017586263d783d7c5a9e840ce193e86f457f6ba3c4c2ef8510ab2fab21ab719fabc08b141a3334e01086312ae2859542160c342e0c591a1de801c501a92f56482af0d7e409a814638a045c98720606353ba42419b231905948ac4d1322a30815afa920332c20051c446a604266886588c4b2ad6ef1b9232225ac9912844817323186ec161a66d0411505a7ca1af2cab634944cb92a0188952e4356cb13145a68dad165e6ca90d516c983482bdb7e6862c30e364e61704819b231ccc00212a5274f4d43f66adb0b04973851e281e649d490ad36240d69ac2132948365c856c1801fbd8f43722b3745030b182d5b3bde6021d9d0e68a19333c9e3bfd948c5f39ea88aa0b0a172e19488c1019e063034e487a9800e48a496a2c818cb2e25103852f24396e7053b154b99a71644c9730256cb9c1eb459c282b30f9a5c1401319266dc0c4884263c11821a5e439bf310c067c36c02025cc930f1e3a1bf8a1a66948d49a2471a4301717a814b7c431b2662a4d88223374916902234acf5629a5d43371bca6ceec70c1e9c68f145ec0a0c4468515c2d4af23e40b54705b348c54218169ca8a922a6dacd8f025f5c6ca751819925013bc3132c58b1271aacc509105383f7850d650f11b47509cba64200d9a3965e21c49b9b13aa201394560e8d2e5b743ab377b807224e16e6a21ddef9a3583b7d36a55ce40f2dab41f5ca9ed1c6ba56814ce4e7fb0df23a5160ba4897ab31524480a6886bc051842a48c70808d172b031332035db8aa3075e0870e39403e5cc111a5664d9860959fd0649483810b5f52d0e4984166cc1192171f3792688172e4c78b120b13f2e73a57e07ba0841b3d4ee8f2e14b8a40928c2d679ce040d5b031a654e82246c9494c9c173e7ed44029faa68091c3e54893b2c708203a5e98f942dcf1a312e7945161cb0b1838821069429ac9c239494bbc6a30c1ca888c103752c42f49493d9894be23263708b1b2438b8d9ca423256ca480108d6401f2548444ba014d921e36a26478d150b340e1116449d214539493502e99e243ea46942f6faab08e94587001c9861e92174c76ca09be52624cd614311867489aa314dc44b9818585aa478d294d743b2bbef63dd35befbdf796f5de5b56d76f499224c9316530879a195c96ba66202db9d1814369c76aac02b966dd28ee58870a9b91ef8a5a661fc582aace9d155f1b9f292e8fd03a53f1e7998eb0fb42b232bcfbe279506af1b9fbe2ed24bbce56e89d1771efbe7a415579dc7d21395af7ee4bc9d1ba6b0572cdcaf1b4632fdb7d21f9176fefbc8a1e64b7efbc881e74b46b560eab5d672aaa879d579a775e4547ebbe5f3b2fe298345a0b045709d45c79ba93df5efbf954dbecd7312bb3daad3eb3f6a051e3f7a60af45a96946bafadf06f6f9e487bf60bdda9a9c9d1f7a085a356f8160ae975f0ffe7830c39f526a237b925daf2c923b15bb5ff78c9d6ac4055a336ffffaff8fddad6df92016a29a8d5a79ca0074b309ea4add430123a11c47864b5d90e87111d4464d343885ad35a6bad1f30fea7d1407c80e081101ecc2ca2c3080e3bb39a8c2716810e09982e6de4394a807bee04ef23abb5d64a41ada8acd60c2a081fb1ea414885404baed63e055b88ba3d103870649fa551f9237b7e20dadc6ef11f49c423a7962ab855b2d8c09503882c519b9ced56169657a6d52247d80bd1c13c4c31f285af409627838199c5787440758d4c9e43adeb70f52aad57da96fd36cb5b39b554de1b85c4609795d16435d79188ca062d15d1e76c95fe6b26a7f58aea732dfc66b5255ef1ca921c2bcc7f22867878e0030d0404214c1123766a3c11e0dae30a0b47c2f224e9c7b261a5f392352b440c43213bee896d996056c5a743929c5aa290020f3c39d00fb5186e2388da945f5ae29d5095a819607d6d5e81ac9685e037ab99864a5cd68b1584786281885a074c38a9224b984e6c8ce9c04ad27f767860003d0f0f8fca126d364922919801d638d4c41b788e26644b90e02162998afc66b51695095b169c045c174c500300280862704372c202a190ababc82a79eec746b97d72ebb44f58a6ef7a6200806a5c824c0cc95dc043a5c3604a0001d0ca80a7080a59992dd17d6e5aa2136b4fb210555995531455a1ac2a06084088869c5ae2b6c4d744246f1a004621c6c41596899ac1adaa4096009658ed57ae40b3d33f5c505178a8260650b5e414b79db8753fbf590dd457dbba75dc079fb348b6afd2f1b4cb7d6e7827eacdea143c2b1e16efda257bc3f22cef88e59956f805d72b0eb62a571dba69515c6d5562e5db95074fa228fa634c2dcfc4b85b44f4b7722c5904b7d5d8c5e561a215b442ac4d536b14c59516850d47629bce51a2147eb31c5813a4e55db9204f22de55cd48e6e2b89c4dd3274cad2ff74e083f479ef59e594a503bb5501e94bad3f628cfd52c1a5a3b4406fc5db40982d0628547ca690db6c0d76b631ebb681304a185df5cd7164e728a167d6e861ec2ba2a5d6cc478464e6b301db745f1dad4282ef75e0f15a8964a20d06649c610126a78d5a002474ae90970cb2b89046219b78cffafcba7d2057fb1a31330647e9c93b1aedea86003cc921b208061e252031523c60d978ad07dc9c74e511e55840c507327ec25b1b8dfb1be2ec728befb141bcf09e8f6bf544c284bf9b1d463790afd6dd4b80bc6a43cd309e8f6388eafcd13f6eb9ae6b1fff58fe7eed03ffabf84032fedd8beddc728b25db39648b021e785985e92adc6504f8e562dc231c618631ce4babc6ff1cfd18aa31cad1a5bffc572e4cd2dcd02c9e349a37d9058edc1edbcdd866204924b2654013fd7235296279bcfc5344c7bd5e774f46bbffa5cc9a2ec40e78c9d59e7ac420eb3997ffb9bcd7fb3fbda2c0ad9ce06391d9fee41712752081d80b75f175debc1177eae4744cb7e77a051129302aac6e4a92b907d2edbb5fcdc5971b5eb7b9aa64671288fc77bd1c5e30dbd57f178dee5265601196f575d7bd2076edf2653fa58fbb5de8fe541aebf2c73364dd7da29ba6321964c18562bc2c9ce5808fdcd76a0b31b3763e1a859feed3bf0abbfbdd6421eb3b30ed0bfd90ef4dfacadfcdbcbee239d1af8be3910bf250f7afd4d9ef3197afd3596f6eb7ff2e150cd32a1b7bfc3fe9a6583eaabfcda3a5b7163eff69fc3e5801c4b4dda7291197428ff59240bd4c2ed703082087f2b6d44ac1e4fcbfbdb1f0d9d3a93671d6de6d190882f39c57d4e87c3e1eabffe477aa45f7afd4deffb07be7348c218236113703dd7da52c360248c8491a82c5bd3243169ed5f52db7367859ce270c53ae8714f6ed6d3d6eed977eb0ed7d435aba2bc3a976589f5d5e5be6579fe4c45d9b3adb56ec3784c0a6ad3bce635a52c9a04e744e7b533ef2ce4d4022d501804222de9743a9d4e57f392536ff2a6a0d63281d95a115a186ae479c1b3e473f86ad33479503cf3b559ebcaa96ebb4e0723c2b24257816a33e4d4f2a0785637f97630049c5a6fc096676a7c19826a8f6b5d7469ee94224abf915259ebf468c3a4b0be3b57e6624d93fa4b6b83e4d484bd215bdabe23d6d776b46b4571ef49da2c6081df57035c92d3b4056f724aebd1da836a288d74f7aa6534bd725ab5ecd723d9a5016e63ed24499230ed367b4bad53b5491e14d1d7d5240c06ab84575d449c76d24992d4ae6303a1005f5fc51184df238c8469abeb26cf10f01e4f0ae036b0b42312a26fd7771c7fd0a0c12616b3004e7611820823789097402c8a3ad69915f25994dd587f30a7d6c6637df1b9e4518a576025180d7c5982539ac99163c90c15b66027945eb072946866c0d6c068d0f135d411030a3aaa96ace8e001d35a8249e58b31c618638cefbd37935fca313372ad5d99d456df33660918237a46cc54e89d123072cddc3f59728917d9ea18091989990af3274bb699f69325db661ac076095eb63a769e1248d0d373ef043315f79e658f04a74dfbf8f8908880a7b6e3e333428419c2070210341f1f9f0f3e0f78f0f1f1f1f121470c48d26a34060575af2db51b274067e3f38d7a3fa3decfa84765d433ea39f919f58c7a50463d28a31e94518fcad19ac4a84765d47362d4a3fa79ae1af5a28c7a51463d28a31e9451efc9d16ad433ea05696eba9ee471c44f323e5d7f575055d7950e45685f6b4d8f6217b4f054ef372656ef8a511e1445b577c5248ed65dc3147fbbce10b02bfece5df166f9b49e165567bbe2aef8547c2a3e1593147f17b4504c52a42a269115a33c778b5076577ca2e188f2998a5df1a97ad8157d8ed6bd2b428d507c72b46e6bfead389c6af5a7599ea35626bb5e447675cebc3eb2daf7f5d2cffbf7ef75776bdd5dd7d9bdefd6965ff6c230678e19335d2eac13fd3fec89fef6b0fa5a7fedf765437de022040f3c882cf56b114acf6ee6bfd51c8781be40bfe6404eeb070980a487600428cb3d5e5b69676602bc4e172eec4c45d72f3b3939b17059055ef77777d9a3169837d3cd0af4a058875c4517b540df4c6c9a4de38d9153b3c72ac5899ffd2f93954597c7484e2b5008983b61e539165c482952f8eb22ebe4402090cbbf48ab28e8e1ea07cb0f96a2a932656aa88148140a477cefc5f78897d799335d5d32c8b0741fdfffbfaf64384c93468c983871467cefc5f7881c395c5c9feaad5f93b84ddaea90896db40af43e746d7abfffd02ad0a71880a826dea1e45413f9fbbbf9da9aa8c6f72f10e6a446cd88efbdf81e61c366c4f75e7c8fc081f303fc018a80efffdf9f5ab3064806908c1f7cfffffe141a3423bef7e27b24181c33e6b764debd7fefdd926d9087efffdf5712bb4a307e99cb4c59d557eb7b71bdf5bdd65a6bfdea77c8d757b1587736f0a04b74b5a97bae46afc65d7de2ea14570b5d7d80ab8bae26475c5e9dc5b4d957d75103a590afae61865b3ba6472d8bcdb6cc06d3d8566a996d9cd9481db3c9b60ecca61d2dcf5a54d6e379f15964a66237140e8557494ecd7d6b8967e5115ab73d472083761dcfddb06b28dc0d851e8487c2dd9038bc4a76c3dd703724fab0cb73a6dfee900bef865c43e15038dc72b46e9fed865c43a1a37597641edffbf75ea01d195f8cc77b7529f3203cde7beffd57922fbeff7f5fcc9b375b5b595460dab10eb5e706d60dae1dbbb28bf1698f7edc64d7d5d1088ae49a75e30bd6159338bf9d99b13363aceb8c24cf8a6d34a7e54aabaf876a2f3ef2a3bdf669359ccd8b1d57c066086333c771f96343cd6bee9ab54464e31762f7069070a8e42c5a6a4ac8cc1801000401d3150000200c0a85856291489204aa28b90f14800f637a2e5e56381748a2913818496118053108c3000c030010803008c318c92807d93d40d2b13c186f868158c316b51cf26d94b965d7f091398e2440cea91a5807421b191df232f4e1a9a95f4c4096577e0b70cea85372e18e638e35f269227a8ae550d7d699a9948e76884bf8a8b6c3ba72f3a6bc7ae34aaca3321efb302922c57145e984af13804424c94bd7988262b2400248f5e487d215dd53f0bd6fd998fdb83a353100b58a8b4f7b3b541153f8df608a3ddf6d7fb886216135c0a17f32c5d2d73dfedf8010476e0352d4d89a7df72cd59369712a26e590fed6a60f225f8c98c0f3b92548886d07e07f56b0c5f803f7b30ee900bf602543b9b2f45d829f9eeb3e8bcc4ff1e489ffe6e9586d1601737befb1ec2bf3d1a57d7a59343149a5280a38adb19ac19ac16814386cb308521e20d2ae303f365c36c84265395eff24782abb346046e5b8c6c6783a8f13633718796bb1c290c8e5c5bfdd3e7b73a0ffccd40cc28bcafb01a7d83e69c8e9bd20bc267723953bd7535d8dfcf0e0569a1a5431485a460b3b5a2e1025a0df2e803e932f9e8e06d1d171d71d9f125619e9011f315f80273a528bb096c8dbe9f7ac459a8a5b7636176463ff24419be8596d55a78430b711fb1f003a339a943b2bf0e15384d338c293c3190e73a04ff6e8d0be2a098ca55c075910a5624cd9e6493c36ee59fce0fd3eb75a7de646920a65ac4a0828f5f0183421924c7dc6560dd359606543bd71ffb23886266103dc1e14c5693a6e187be824a0b8f422a83607436fd45890a4c94d9ba1102a722b9af73363bcc5923fcd5452b70f05e727264f50a02e73149a9ddf8fd5623bda97168cfc81e1554f218a8c7296fe5b1ed752d16178cbacf76adccf2d1dc5c9af0999e3c8ae643b9e81891b9123db03bbe845b664449562214a0b4396a6d0692ed33f49e2f328c844eed4129c6388d7bc60e8ea20d61ba1312e4a6229a6191134c27415778459a98d204b7faad34dc8ceb62fd31b131e8ae4255362b7965ba0497e07cc0aeb44c7eaaf37ce6d5d4f54c67d456ea18a94e16361da237fd1006f573c81f036e1046637c2c5711baa143c20b47b8bced93f1aeeb0261ab45da58e5c106af9e0745a19d9446dd2a29468e65357ac81e917b82efbbb3b357544c26a954748cb5d4161433a40ebada0ea0ba8ec48d51e0046105190a18f59c410566fb2d03826e000df20846f8bc7649f6ab1ad27935a5bf4427048a9410431b599a3dc10d9c75166b0ea7fb851f992e7a47c8e68811062e594c23ae4924dc52b0c7049d2b5081e468d340d49a3e84d9e4be61143afd5111d58bc9b01d5b5def7ed9d568931c9d494181a6eea92e2f901f69abcda66cd7c586a1b297718d27a8655deab03a20719df92d6143443b13396e95b484c2d3751c206b627e22df653ae32a3c02828c2e9040948ecc35bdb8ec21a1c0b6815ca526275bbbeeaf351cf46bd055204e554fd8710101ad63e872e061c209451eb68074cde7ec581723b9e7ed470855271e4c748a02723038123dca2e8d0a00b7300cef925c8a8749a28cad28aa2c203d8b030c3bae7c28fe3504eabd485bd1b749f3766d0d1785a1819240b3408cc7264f3628780bafa4a340b6d594b2359cfc51cf3b44dc478593a5549f6441c4504c22115f595f3ccb2432a624be0cbc679ceaad2e6e70ae658efddac40ea795c6de44720f5897c42b1db91a26810f5ee1d9298d87d4e76d0068e3991a8d438d7cc1c623733fc648c8ad24a7c72ee8fc9d863cc380162e9cfc51ebeb559aba1ff31b4cab4e14207ac4147f7a6854f0365260936fb9ec9d4c5603c1469bfed4668b1d97619650c2155f7bd8a52ed8771fb43428a1b4df7f58226cfb6117c11c577ad40b2870da98c52df6bd800d79e5c50ac3996f36e24a5d41f62485cc4077f914653984d63d8431c1493cb10eca9f9398d1aa7bf952bd59286f659865f7b7c3a3493c740860fc72e8d11969976fea6b01154a6dd5c0a7e04e8647a034298d9d5657e1b3d1af0fd0a37e0fb0a37c0db156f60bc8b3b2dc8724671f0b0a50d72ea1d787a453dd074053de0e40a7a804d9af52708c55e71c8849e38051199a613920c70e2a04d5b74fa2b7072457ac07485fa004f15dc422f1a00efc5f5524c9e015c1cb4d38e4e7f0d9cae480fc86909f5b3680e5a768196ad3333e147c0933674f935ecc3cc804c5a7a67c89bc307fe97cb3e7db434645000e0031c29e273bc39c90a669ade58ae0edca0067e57abda54c587e3b5a9169de270da42b9531e54f7f85c2b7c1c7c994926cb7c698fcd8aac044ea0f8b3a173902a69c7f33bfc42c431421ad529c19ea1173174ade3aab224c3181207b1a2bd1c506b4d04caf1a9ffbda7d322dc32a967485ce4e871c565293d1112d96ab05e521b07b926077f2d4d1e2fb164a0bd8bbb152d670816075ab6a2a75f0261425c6345e430c2c58116edf8d4efc0c954a40930cf18e2ead6f62540d608c201b176550b6ca58a9d8060c958cbdfebb5cc7619c2c4410bade8f497c09a1097f111728ce371504b1b7cea3bf064454da0a906a9fb8df3326fa64b0b3bd9241eff0a427e8c7e6b7031de46da601ddda6cfff008f035bdb01cbb79fea4ae62773dadc4cc8c69f80f70c7438138b2b92e7e00cc02f94b0ab73166698ef214a5d156d0fba9d6c65f6c217a89eeb7cce0a90f789288ec92cd851a656328d341fec490e961f930ad8b84119dfe693ae8054e14faa61b2e4de27a11e2f06eb2f20bf4fde83bde7c94f8512f164b521830e4295f8183156320c10816f2b9ec0ef0af621079bc3322c4239a9c7b16379ff393129065ac21ec0aea5b661f223725d7fd3e5a878284d4fb17d097ad80efa6f0a7d60e96a7415d176b2bead72ef50f0cbf845c230b033c25123ec03894d745ed122e8dd87f29aee06d82fa9528a2ab7940ec74068012db6f849d43c604f2ffa924219722b92d3936991070838a3a8dc84a9030de70017e8ba9249a88771c25878e188b3679067b0aee352c400b2bb699944a2b90ada308c1009faed2672d5d6d74002a9f5b16adc9186fd58a44780d52f659b3083ca5dc497541910bdabf6b8621eb1977768182023b7f9bd922372526ea6c24c612e0072740a0cb8b7f754db114e8ccbaec36e740286aa02f4eb0c09907702916197bbd9d390a3b3313f42c0ac02417ede5d5d2cb43b1237fc83f3235022e33d14d43b6627c235e3f9db604f65158b45cf42014d4b63c48adbb3633787ac074caaf236c7e8bde450033acfb2379012d6ae1e5c47c336ee8559ab2110770cfdac845b7f94d0181f8017f491b4e340e8c3ffa48b8508048be1be1761c506098287cf8a60aa11140c4d3bc94eb6af5edc84d1398abe9ecae6916dd8f2424ea9f1010c39ec0214b24e4aaed42b4d90f45bc80007075ab6a04ebb024cafa805c644c1ad14c7eccdb055c36c4a2c3d3db80844b98d6e9389e944c7c769cabdcea26a9bcd6b1ba15940331d6379b87f5299b16f345d00b39cd963b1984c5ce38eb2ec4f624dbd33c418d1bf8d314934042a0f0f93fa17ce3ef743b527c80fbdda0bf48e7dcaaed2ae30dd5acb056f6efa230a62153f841dc2c556523738bb6f4afc16ed81a24d83375293c920469cfb575a05615d1fef83245009e5b0d5518293eb52f31aa3d5453a7425d5fe8cb8f96534500dc4662bb93825e6faa78694ef2579cd701d4b2fce5d828efda876f56738dd8fd35578dcc0e3aa466d1762fe940c892aaf9508a422ca88acd8377be440b1fc6a8d7cc27757a3a98c6ace3e9b21f0c3ca20160b05750088bdd0f9f3801b22443ff05c8005ef8146f54a2b95ab3769ed0543961122c17b2384c4e7ac4c0cca81a1dcaa2905cbc90f4db5b6c8c5c90bcab1d03aeedbf998d11d0967b964acb32922767546288136646dbf81852614fe6a1c52e203499472adfdf0702171227e782e8675ffb0d9ba1af4a237cf88e25805a1cd83ab6d30b057e4d70dce35921b3a98917239302473d2ffc22ae27a67a587676d1aab89a02f3abe39ebeae3e7c856b9d4139f44357db8f35d0bd1def8623007fa2a987f0a55019bc75f1a65065b4ca1442cafc6725468ee15e0f1b67dd35b7567c437da8c3c9e31668c99d2e969cd9ce99b00521656ee4015ea0e1dc00e2453f21257263fe29f5fc5a9daa782de16db40c1de5e56780f5bd204f1c1a8d59e2bfe0062a49e3ec615499b810a7ec467f5a16c408c63016655a021e6fc419b8399fa22553d2dd0a5f21fb84b87ac7e4d9118d7b4626d7478e634e21c46fc8c34d2d4a8c1dbeeb2a77e2ab2b1a2c4438bd6aa18f2f0c32c1d2f16ae3815398153afad9c7a059896bee214a8c21272591ad203f7c9e1ca60ffbeeb4d903e5e9c133f3903cc656bd30a9218ce6adc7f836bcdff7099ec3366151629d65070304e38ea3c45fca948be31fb27a403babd28b38c8467bf1238e36cadef43a0a2fb76c22036582763f4569aca5ed08ad0122a8aa9070bc20316306d4fb5aed821fa6659642b006b0be5a6c72313cea3dcdf413580125479e05147c2f100bf705661ce7686dc776f6451d2737419c547205a324911a19440c72510f4b44c7fd93dbb84120a82cbab74c46be415b494775dd8fe3017e81504719316a5e8b106eaf6b9f39bdaed04d30f3a14d779e3d02ec54cc4aa08de4f6dd587cdee02e068c415dbd0c33ca3099d968ad40e1a0ee4ad156795020a0037855401123ba94b19ba5809899252469665270da0d4e19440a292e24a14b074e30aa421d39cded961048fce9d9224617631d934b37b0352a180e245644ca849257726d43018f3a5acda37d7505ec751681f0e642e63727df27943c9056948661671a78478a33bba96bd981e6969e192d68d3eadb21e0daa6a7647575b26111a99ccacb070b085d35d98c8a743ebdffc7ba8fdbe220c18f0bcc480ce2925f743e908109e2d2b1629dbf633007948c99cae15468951b3d0b999239c55711d7937edf2e51ac6b3cb92373b0124d43fccc68e9904117c8809cdfa282810334bd1ef0401522bb81621b8d86e2956956898f37d3b1baabdd2af2e3ea2ef060f19a550e4118b93aeb9629f81427a77d24a05df5ad35849332c87cab7abdb7ee17bc4b484e8dcb55ff0e9cfbae5d03c60b0702e904af8170f284a661fa6aeb9d86271f1287d91ea896031f7ee4277646312dfabe81f77a0e13dd74fc56958839fb8c3500f80ee52d395721c3100269ea7eb9d19af5ad78e25e6b091331386a408226162d553e7b6be8c4e5d88eb0bdc45ccfd1fb5d45ced28a3fe6c0c8071ab8a0a56dfab170650ee8ea44b5279dc07477749ceb00a692b8ee057d3c6b19fca4f57658761e80d802c6772bcebf6ff8ede36bd42c282d6f5e213226f00663a744de155bd59f9bd0a4b7fe71b9b79aeb51fad42e46eb562eba36fe2da4dfb57c63fe1c24fbbf0cadc8f88f2820377499bd2124ca3386f5968032bd4c2128dc19570f59b5798fc93f5eae32665d5c5b920b22cc1ca4ad05fd9a3e3d6156ee84382313318d4d1623b548e1c8080e23e7be2b71f22dddc19e95c42f43b640a4d9a8cc9e67a0cb9a56506eed97b4eb3f6d90eae1576e213bc0cf1d03fefec1116dbe491c36acbe2f9ae5cf0c27215f08f452221c091ee26e8f50258798e51929c4d1f05d79e0b4b6f899f8d53960e85e9f51590daa60c6ddcc1b2cec3701960737b430f916f6622e665fa73aa6d178ef92c30579c5459ed304f9b76c4fc281672d69546d931e935560b0d72f5dc74075bf8dd22ccd6b45479f97bcef7c8ee57a82db41e6f42ac9c4f32810ef27233e2fb0f65432ecf8ae9cbe02142feaf6000e5d24d0683219d4da61dd11b13602ff5c8549c0dd2247038c0f5990ced4ca7fe0e5d99daf1637d67a2aac4a11f6cdf6ef8da44e84b12cf39798711bd81627583a71b2270028c2e8992058f5b28df904b66ee393a6fc3f92548d2a9025220ef0aab639508b2bc11e069241e957c62a62811126b34db71843366822de0c03f42c246121ce0b28701354ed9c26c08b81ff09bc023c3868692d3e23c256426e5b4fcac529506acb322f15ee7269ac0adad28d2cb9c954f1d4aad30850e61b16a7e155f5c8dca3bd248899014fd9e8833325bf1b2a9166437420c6fb689143156ce2cb2ddb18e103dbb290534ee7511a9bae08197045a0ed5e37ad04650edbd0ae8b792218e27d34b05c751132bb2dfd77a2d4b6c0fc147c66547dd124b34338f780c380a8040d88fb194eadd532b2f94eba3baeb254679009119b5f1db7c17ecf8cb2c7daaf02e549453a0b8239c1ed82c04975e25d82ecb38b690768821788784e8cc7040582f650a771c60febcb401dd53c566b41e4be42fcecd9b1c3782ba87e5e226109ada888e3c8ad2d6a49ac8ff468c56de0b66b84e7cee0ae2829debee3af544840b1526f0f564d8b2a609570514e29f043d4855b33185c668d84cddb77c57032be671ad50d8a3adee6753ce759e058647ae9f294dfa8024f9020945f4a0f169d68948bb576c4d5e8b2d1c83c67f7a761af177ff68c20f8895313d029aab417f28ce0abc3f8c560c59d95cf843e023b20b5deb38d572798c41f0e1c2dba5ddf4efbf67c7400bcf33cc7306e10053c45e2f5b6cd0d4956609ca302df957a0d2de5432b8d9d5983d89e732e71edb47ee538d263c7566ed92b3d69570a5120666fa8cb17e2f6649bf0cec227000dd374e8642e4cfe4094f0986946ab9dc2341df98dba80d187bd5ae2ea79d06f524749373b92a80948cd60d33b99dc4841df9aa05fa7413c53059e58be6cb466f5153323c1d5ba267acd6db425cfec2e71e75783c472a02326a3979d86523ed7fa3728a33d27cfee4ea0cc6b30a8b3ce3742495d2ee36120be6c22a09795276eec8817dd26bfbaab56bf3c0e23fc196eea970f8af5c198bb009b390fc0c7a698a7f9ede6e90133111e9339da47e44e754e121198810a0f2facf92ca178a9fcf0c09f2dddc7540415e56459d075d96e2e3f2a6ecb5f70d86a42b4c620d54a906e22e7cfe73e5d1dc85994f6ff10bdae7fa5369b4712d60e288cff51bb204d1c50d28339a5eb626678eebbf495bc0cdaecd2293c04d279881e0ee48d3f3bf700d873a0e0d942ac45809a34bc0f7bbd004faf8a8ffda18c8cdec1d1606963c2120581a8201c214ba26b2c804f1311da4593882c4a167c6aa52054bc089a2744f03c72b90eaaa8ab010caccf023d957a430b94033c6075deb5c7189ff3d925f25e62239305f68aa3a92bce781c1d929ab08de8dd5ed92dedcff01956538c4e4b7933ac1901088317accfe2960072735656d3a035558ff3996bc81829fcfac30fb2b2c9eb7d3f9b20a5fa555aa5a151aa85a617887c0cad00d84bf71208983b1154692ab9c6610db81268659c0cd329af0e8e090bbb82666069ed0889c401c719050272dd2229367531b9485fc301d7f3c3d1302988b31816540cafac1823148b9747d038b7d3cdf5812b8e91f5d54d735d56e83c8ea52b60a87661c83267fb0e2aa5bab4bf071b17f722d8250022844723eaf62a629054361596bfdb84d608c333180b88c4661a1eb310a1583803671b45c1de4243caedd8c6826b1e99b26760eb9a8d184c5ccf4ce7632ad5e100d98bf86a56af7c3f2ecb842387cfac87420bc7ddc7624538f1108fc593a3375070156e279d35d5f677a9f4627713fd8b71165724ba2435864ee194499b833dd4cf633a34cacd84987c502c4505233a54544635d969fa374fb050bcbcfde213fc1f0b32330eefe719b323ebcd2303f7ac1e0bae865b1cc74c59994c6321a72c3a4fd7ce92748a23a0683f71804699fb139a16876616b4583be045ca1518e1cf13f9631bb63be02737d646c6b3d96057de50c55f9b26499a0b1d8e3fd88e83155154c998e4cc593d4ff584920221dac401c8fa4f6f319788d2d5a2999a631da4ce8b2a099ded9dd99f659e34cd6ccd44c1c0b91fbdba6874d1892a5ee600a0281f90c5cec68883ad4afe24eed047b9f379f90713242a59574fab8f963a2070da87c0f2a6b830ecf481b334c29dabea9c6a5221c9d35c9173b8b9b65012fca01b0575124c8a7b29cee1c604cec9b073cb5f0aab24e24f350e9080b296918807acef4da09385f2f6d5b2f6b87636a2ee740bf47ed020d6a863042851328a88482accd17cb2a14c8c7a3c0da0396d112eb9a495e35c2e3bea5b7315a7b0b4313537bba79f1bef07f6d52ee2f25b7034ad5687386facb117cceb747b847b9341a2d5631fc44ee287d1cc3457fb6cbf517b87c55e37c5f187415d4d85446a38d4d35d3d935a106f5b391db9239535fd0004244b15be564748289468e8194f415f784a69e983891de6a60815ec34a7753636c7745cf4bdf13c7ae7dcfde75b1a493dd3bd79362721a2ab22472ce8c33c41ceb9288f6d08de7fc9f9c42909c6e50580013b74ef19cba785913e2fdd6b9149d0039ff24d5446331267883f3d1ea1985452f639f56441e6c125e148c1a22a743b7889d90f5585118ceba37a18bc7e81f50e4a7367b6214e198db5dbc1634db2ca663cd3f4100471a8989df89dadb561dfb8ac0bd636e3c08ed3ee345544daf88e7d206bcdea7873bedd827bc25eced00b75aadf4d0c5f44e3bb46d3c94d7648040ff16179152fe76808ea47125200febdc547c3dd2822645aeb4fd2855b95518cfc6d900f659f3b0d1aafd215dd31a1546e0528ee59082a8fd010aed940550e4f9492f44011ad96e0fa028a0f1d8578e347dd5c0117392b23a4b8c8d0883c53343c34193cdf63ac9a6206e791bddd8369889d03fca0d2b107b227fff4ca8a15831d5edf597c54d4084c6351e2892cc693a4078bfaa4a853fb9a7b4757aeabe4c810dae913d0ba9b0219819e6353405eb70db402ed530e7ca523167443d60f5de43d70f308dc8a1187658d92ae38a32aa4f340f9c59239919601a33043bf3a20d08333f8a03b325e586c81b1475509f6d4c2bab676c1075a06a7308af2f70b7c84530cca97ae8cc8d532e4c3587e1f1016c13b149c335e58ab6171cb44993469f1f6db8f773885f6efce4ceb79c266bcfbc8d8501bd4e02a86c881b5da216eb7afbca40b68fc59c7e4e4ab0a94aa6518ca407f29aa6c9be420fb4f77601e590c29a0a06e93ea49c01fb518b76f3b29a72caeddfce8b721a465d865a8e103430e6dbcd12ff7c0f05243d0c613ad0a4bda9ba787c7be6f15b03d150c0e2341037f9dc67041db7982ba173208b955ddb8481cb4748798f0efc7667dc06c0db026a52dc0e661c782bb2e08de7c02f4c5ef51381ae79d48f4fc03bd16c29045d5028c8ea9aaf27972573a8acf779bdf225e5a5c8513eb48da83769d441a4aedf7187ca9fdcc5091459cc279e14d03304a8c69116c437326c64c27f41d432ec83f520645b38b72df6ea7582db13b124d998fa2b3bebb2534b7d18a0f96f1d83025f19e9939d1ff2a7883cbd692e00c573537704da773da158c12fa738b3caefef79dcfdc3a5a18200ea9a3b8f80bd89f1e48a68b5a0d50c20c883d8293aa8534cb72f8f0866022abec8ae1c9dd697fdbf2d3bc33d54d71a79ea0c45a3a88dd0d36ff8c89d85e49f566ba3d3b344a726975803b484065b7e80f87a3e56a8823ba64de5c7babc7ddb4b9d26d774ca355d4fd9c835d7044188acf55c1710743d87203e1f24d5dd92fd9545b49141a7ad379a95fdad24c9bfc2921e6f002989068971726fe79e806dff7b791a45587c17514aec24cf65b8d1bd33284cc5ac4baaa25e1cb7bd751d8a1372a38be2f1d041f9dfd1fa7b4b69c22eda56c6fbb84495331c202add1e0d2b921805116a884c1c460d93540cf23eb21b219796cedeaf9c9a85b5a8551a3cf0f7b7d76904ab64dae5fa15ea18dee6b3b358004262eaa2bbf09eaac22e9709a8cb43150a51059dfd80ad5940aa45f889d1a93c17d813144d3f296e56c1cd2ad61c059b5344f30a9b2f85de1fd02b518508a02f0277c8b6bc18048112541462162c43a0137a60dd320bcac442c7890e5124512ac787f58a8aee83161c5f51ae20413efaa30e626ab190c29da01ba74a055e9da151e08d1dc7008cf6cdcdbb633a81e029052aa81c56fd55530bf8ba1de4071d2d5dbec9942b5e5e50409a4bbe2c611533fa8609c3da81470c11f478ac6d151d51fae07815092b07cb9e388ea8c9b8f1bc9535099fe7e9a86290bb4359d42b0b2b46a60341290b8490dde19c5df286e64605b01daabea39609706b18d2e6e3ee65c08c336a28bcdc0abfbf4d466e75b74a00cfd630fb4efbfe336fab6e29a269dab64cc9c0de421a0c1170c73877455de498802d5ec43273a068df419ee07c8f631f647c0f3f3d067b68637f91714b76a4fd94ade1e1b9983387fa9c9c00844700b1b44519d7ce14b8745d634e9290ccf6604ff82c52da25124d86568799865a5454ed9e0e9a34ad75b14829efcb385a233e06a9de2987a6d4963e5cca3e37b46ddc9d9d0d6d0a144158430b91bb8c7afc2a65e11e6c546943d64f36c3bcda6dd14ed3947869d12cc424e4567066d7115b2fabc63c5a1d55005c2656ef6ea820e809c3e90cabcc476d4e92580e14bb3c0a7928ad2463e6fc181228d41e32c2ba067fb8a93cd9065df9ab5af35789574c11e2153492e5230f75635807a8bb7e3afcb25b455e1f6a2b8ef080236e14b1fb79fca387be18e776a86b59d5d958836327f808681183ee141192d174ed5075e0c5d5608effce4dc7e2a76206b94ffd34296752055d560f265d2d937e1f271b0a742e45f7cd53186190916d02d34b0607cfa0ffdc11655923ca4ea839a4e25d3017c241b2a7fab00480835e1f3df54bf263518ed0db6c3435736894d9228c1cbd35017a929c031b59924dcdc59869bfdff063c976840c7442a08175d865e4c5e738fea007fa9e3372ec41b7cc7d7f145e84186965107084262a8f8af7e5abf80b362f7b504b0a19d6d8e2d09ce62f04df3b818d108dc6f48ab4e83d16c82ae6ebe8b2f7106b301cea11d5779ef0763b7f0128d8db10cf62c84cabfbe72ae01d72b4fb9d426a01d627aad4f095fb1cf2054c0ca297c6565a90b90450c30b95955ac2852abd94ea8e95f6496ca12ac54a9146b1f0a33a0421204a5156b245ec85a56bec2298d6426e3210b65f20d8613b0ba8db858855438ada08b636bfc7ac08dadc1ae215120565a0503d159276892daa31078dc709df8b46d87c2395a46842f4c7f9701538c7dec33fb23ccbe2b717bf4b7781771746abd36440a483d9a607b30ed6b80d632c2e0b09ad2e828c88bc15b746301c3395f41c7a9aa9bde44b1e29780c03f06fcf2143e18205bed8fe8e323bb7f8f71ce5f9783f6826bd88df4a6f22e01fb9ac574b0f4b6a694cb269b699f62afba5579a3441caea569a0b481b9e9110a31f5f90e6f1f4c1b321c42f4aa9cf5987702a60263a8474b146f6a6ddec611584298451b4d04426e0a3fda14777a8903d65f08f811800e9b38d401aa203dd1882ca38a2a95857f07638d39d473f71ea43ed24bca71c007f1e19ffa43f80663e4fb3fd02ce8afee617184eadcc569ca0afeef26c7a12f31ba55d9164730614167e8955217c04546ed4df21c1adb0342e9873551b8720025a78928e42ea5921a346b8a576d0d788c61b028662859945807fc3d24926112faefe0666dc59b75cdc6b2f8ab8d53e80a61c5ac6a3048874203bd0c603199e2591634955148b46862b6055f50339017af885632d23548b5ea30016232bf0105fc5a1812a416b3ec069c9600ba56209388b2de1af12087347a67c85c221c475f415dc86b328333a0430c0ea8cca4ad67ddec17c5720e3cdc0d74453821e30d92c1428f2f4ad8c8fc83fb836a038b8f152690468c92db8bd074078c203f8dc4379feac667f4ca467e7888f3fddc23719a0f2bb1770ddfb4980547de36715f93a5c36d324e137fb312853e6f1c9484c92a00b89f2de05252070be5868e183b60cb1e68ecc25eb7f048471f5283f70e4ea33faf1c02db5fef11f3f9447d2d7f1ac360f36859d99023d5f35a4ad1e158be792b71bfa9c54ce97bed44f7116c99208435ef4d9a8963539a2a7b8ca5e40d4ac491b60e1407ab8f17f53068265154bad48f188dae885058562d7775812020a8085449f95755bc63694d8ea440961171fe32fccce675549d66d6554503b945cb63a46074e5dbc2d0b0f3a14fbfed32738e951e6b64c6e664615d9d3db6601aecb02d3ee04608c817bad81186640e5121402830d45c4fa3a9529f6f62b62f12be99448e809271d127d3a85a0c7a31882d001455e9d3efdd7798e5e05e030e29320bd9233c61e16e76471b4dae7e6fdea377433790709ddf336a70516ae79ccdb277be460c06695587200ed304c301db0fd4bf43bfb5a997c4e0a169a86215b219d2689996daab18ab30ed4eda45ee09d0e1efd559ff4cda17cde93aa99cb69232579b79064b7d860c51a35635e03d8d65e147464baca52172664148da1a0a656ccd62a9d3b3a2d49db246d5a8d3af86ff3ab37eb3bc74ceb8ce85d8a74811e204e704a141735810199e6520caa9c7905fb86935549289503e2fd332e89ba5926c41c852c1f14e1e09fbd57b0d30533b546f1a4a7da384cf857356a28451df7d1109352edfcb2d4d441b717265d4eeb5394548788ba9aaaa0829e89ddfbd6f353484cfacb1f0f81e2cb1ccc581af5b5cd746840b9bdde9d2c6a39a8893f54bb179c6b9e17cc89d3f0daa7181843ac285fe0d920cb31dd27fb6e2d20bf534eba70f4ebf1bea806f50416103c192ce0d42e8f76670b63a6c3c7683d38fd7c01ba1a196717ca4728a12dee6b7726178fc2ec12a2308670db8bcd0a2f64e9f771da2421153c494a012c28a75ed1025814cf5902d6c910e02e9fdcc20e2cd1b6b6acd19688002cfbf81f1e52e0758289f6c0776af0a1ca605f966c1cf7411793d88aa211bdb03d747c5e292aac012fb0877fa9d10e28ba474e8111f4c70dd4bfec91517d382b4f0bfb3396e7c150f5be75e762d9544eb961498b10c0fa2f175cbc8cd71f30701f15949861770d295aaf2ad8a98ba8fdab701dd7677ee4afbb0ec113f8e8c7a453f7fbe8c648b0730587f6a6e87713a645a32f364593249ad6ad2379ad766db299aa37b57c110b74d0a68e6bb703f4af9a9723d864fa3164bc148624ec70c26861a4315a346317756124ca1cd281d34b67745b1a0bd02c7ab5e2831a4c39d5d6584e383f49f2175d489fdb8a7c890fd99de14145e33345fe7d3a02138583514fdbc0f485f8b4146875965c5f7c066db6300e3c33cc1601b5134973cb3e766557cb0a71ec59f72ecdd2d853e095f6777bc166445208ba5ba290158bc2347b20a85b80f37159c844d0f500db0d91619c222c9c2b3f2cb8835dc10666ad60430edd2ee36717f7852a5e6e3f806b22bc40750a9c5f87208b1a58eafe0e2b58b85e8390b16171232acba323589f22122cbc00bd9324eb42c8b205197997f833ae4ca7a01d2ca2739418cec7d95813790fb9b0848cfea82d79594597616c95b591f87bb3dcdd7aa6726791a129b62effd21c92a2f2d9ebe27a8093febff828880f9d9f9064e40bb06ca87f75aea9b23bc7efd79938aefde89e1042956e57447ace3181c7826aee872ba6d215d509f8bbcc6ef40275c860a71e2cdc5f92680dd63974cfe0cf214e8100b84a5e2ad15667dfb92e3fee83a25df58c513eae8a5108370aad94432adcba7ea35f15dccc9cf4ea3fdd74675c2a5c96587888ffc349feb155f85780f4e69dc7bf410fc9a83bcb95c2b05a83c5f7639989007383c60a87fca128db753f051219834e1a6ea0eef9e457d84cff8c83541f069218fb7bdc82ff5beca2d25c2e6df8a3a32f64adbc98b4d590b3197dfb34e9ac91dd05410c3873e559c778869a2d47a74b71bcac18857a362ad5811665d0804ad246ef67ba2dbbcbf08811e8a1ff87584387a7ec7bafb00a190c7bd6742b794d349b812e144cb6462db093de1c218db46c34161556fb41f45255e3534d4244c5a909d4df58f547e380e6e5d0010c36fe15a131eb17a651636dc703ac39b40715d4484aad5aa1b8d179962aa99cea5d2e757043a69be42632e95e5f663143cd47a5e255ed50d0d606096b4dde336be2f44a4317081078e6f99b6d4dfcf6050d43df44cf56b6beb34ec06639fef6d338272f3f78955585932384774e13c40a2214452e016911f22673ceede882f1051839993900787eb3f4d6ef061892ca07e81f1a15254c2f5a576d5195ccacabe8f6dde82201a1f2717427540fb106e4ca533e981073d3e32f7c34dde04973e56d54325f6db1072806290895637b930e0a2552cd1598ce07e7e6a7d1651ea7eaeaddde7dcf7db70052c7e8f948807d31baef3875f5aad40f4844572596f81982207576e7ddab8461e8a482bed55daa88caee8eab0bb3e70c5d7e0f05745503ca668e7b582052c24a07b549974fdd4ab45db9755a31f5dc38485c40b81a4979ff7c68875fdf57d9a7a6ffb7266c3061ee5b61681084a31355611064d37ea7e82554afae546e16e5177ae4f67a8a3a31f1e8f213b2f7de724b29539232b607a007ae076328a59452ee8a2b9d6b6297f41f584616e7e05a553c58b7ab87b4044b97995aea5dcb1b82ea1cad12b0d74cbbd26b6e8307961264b958d3a892cb67691ea927842afd042d9ace8429fc79fc5d6995aa14fa846fb0087d1d4fbff845d8b0e577825e8bbd6baf659ef3e6a87ed9f5f17df453b7dcd55efb13b442d01863ec6e4da3d475f0a4934eb0794aab9ad4e8996ec608baec4ba8e5f5bb2cce4129a5e0fd58d3ceb833c5e8e46b3bac4feee67ca9c55e559f56ca1865af2a6de756ebbb3daada9375d167ba94528642da8934976056f92cce11c170bae6adb9167adf1ac8f974eddbeca6599f9be5a6735ebfe9dc27912450f58dfbaccfaf7a54b560a77fe1a45669354d476b6fedf6cd1ef1e7c762d704bd3aabfc0a52f09d09f93294ec751ecece677721077a160c5b3f630565e4893ee5bc4c540001e523152a20f3ec3b1fa9f88104321ca07c57137798230ff7f08f4cfc045118c00a6ec83fcdc4219763c81c5cc3b3cb1fc421a9f4b107ccd293409216310bec2a2ac14d815dec45688efb4c3d05162a8d22e5279ded4468bce5980e55b373dba4cc12686e35cd56cd32ac4a18add1beca00d1e406ced1deee72163809ae74bdd89ba78789c4e2a57510e74a23b85202d6376b37676261320ea0baf64998b49b332c166d608c03a8ae835f63a69cf9d84390d7119fcd1e929e8154a715cc7140845dd104103790d90115180573528015f5100f37c27ea660114635c0c5173ee8a00599219870600a2e657ca1120427bc80b1b75070431f9a945879a10706165450c378e60394676741aa18c02fbd873af320e55f88320ace827806250affa02e50af6051f3b0a7b092dd20ec2fb0c3c07e84bde5c3548cf2e1e9835c200eb5607f822ff4472403d187bd88fdd8c5b36b40464179e9fc64e8843acfac9f6c4770b2a04e1f71ab79157acd0c6ee8b5c2bbf32d5bc2ef655dd769b146d0d2bd63887c1188f0873a3a51dcdbb29e8cb5c07f201dc70d5dafc8c514ef929f01df8024924432c8f3cec3158d8fa108ef81aee6616730acf1526a9a9452d35cce8a70f29cf3f7d0b6f81eecc0032f5ee660cb4be9168b325e7a0e6010c754a10116114c9697d23729a7768026406038b942f402c6870a170f78805abc741b4b6cc08037f8a96200eb3530f400d40a369bddec66b7d72a846189973d3a32524a4dba956ea56f2a1eedf4d2fb3baeeb388eeb38aeeb388eebbaaee33ab902974405a2970e847e32026d6ebf8e409bbb36679ddf3c54c0f3b681e1e646d4ad732005d8a5b90ee6c020af205c0a12f1df9cca4d728e969ce440197d34dfe80a472a44d94b30461fcd5ba502bf058350000805d8c53c22975892cfc04d1037ce9a9e84e4e859d3d36be39a2f5de44f87f47ac72681aa87233cd3a83188d939e6d09cc1964e152c960ebb1a0111a85dfb14105dedded49e107dda7daab81ebb1020bf30367102961b7a27dc38c4de59ba67ab76b0fcb2ab672980fad07bcf46f40921fab4b76a9eb8e1644deea19b55d641d52b58656cab171c37ac4f6195aa5e9ea578f63a8683248c6728a8f23c7da6b8d443f8e2825526ebd2e5e9299c516224960f6714ff04eb13159a1bd6f954a1a2ad5326e8624860109281202d76c528ec8ace52a452520aec8a528228b02b76162840fa38d301ea813ece74e0e265140e5cbc8cf94c716b945c9762573b8f28e6825d5cb0abd9d5214cdd5092f976329c23f69452b9a515a45f80b523e1a08b8583e2534c82d24a1d348f700e149a63ad9ab25285161824b97a6a266db145175df8c47c623ff841993295ce39e92c420c31aeb8020b2cb4d0a2d239279d45f480e90153c424c60486d8ec87a68f331f641f72d3ec871c9e9bd85a6b55e0f91aef6ebe9a1b6c3aa3766ef3195f92194e63068d193366cc983183f3191c6703871bda6f79df6de9b06ba7e66361f5fd507d40bc4f3e41c931ec7a027215374727874b017655a70e845dd53908bbaaf33871432be3b573ce6badbcf65a2bc3611b1f700e9d94a6d0f21dd70bc7093a50289acdccb3db05d7368fa5734ea7b3bbe7a474ceee669ecccd1da5f5e0c3e5081f2eac23c284b93a669a68e335620604d3c7d90f322a3ece7e78fa2e1eddf8250ca88f5f7420f5e5e3171d9cf9201b7777efdc6d07b1ac8d20ae26850b16a63053c0ccc08a232b5c70b0f2449329292380c9d7c151661184922d514da0b1010a3268820827b458b2830e3066d50e95e7b5eb70699feeaddc687a645791a9f2aeabd7ddb7abd3207cfb1c22bf6bf815187a395de78c46104b59a890b12206668b2b90ca4c4106096a0bd8ea8a3d020424644a64f1c58b2a2a10c59424ce44a9222a0c187bd76067572b701aa0ca8d5f4e30a687f4116d5fafdfcd69d7f99c0679b07e25c50b56480922ca9629a440b970468a89173276e02409c66de3b5d64fb65a724504ab6b22051961b298e1c2091c2962f0e5082490a2b21c21d1240865b860aa882c4d62d4114a5001c61226b224016329a55c01e1245d2ea57479d7d5372faba5e33b93a3d74170799cd163ecaec143cca9b4d6d9dddddddd95ceeea6dd1171b952b7363ea5d3b6a6343315e79cddb47bf68c51b5074d5b7623bbec1151cc39274ffa43e7862782e73579dfab73832582e7cdbceec94243c5a995161b3e5a6ecc428994cf69c11d7a72d9c9902f39a7ab27c99d53c563fb16bbaa667bbedc13543b843acf53edf0a46ac7aca9b93636382c1619577a37e3f53f36dc1a355a2dd58e303f9d1565528a2efaf79ac10d274339736c1c377a387bb22bfa8e943f586e8b857882013a8fe8f9f25365859f2b3f577eaefc5cf9b9f273e5c7053f44fc34fd34fd34fd34fd34f57cf17e9a2e8b63f4e91f222e8b5dd17bbcdc70ce60a0f473e5e7cacf153fd241d6fb002a0f07e0715dd3b752672d77efab795ac6963c2638e38fc8d3bed98471d6629bf0758483e2154ab158ac06ce11bd7c07ad603d6b12f5edb1584c0b58bb8cb265b68394ef2ed2fe8a66a0945861f2edab2bf7888c213de008bbda63201276753b4f1537bc676277ec2bd356a04aa24a528218658c318647864746bb7c90f345ce173e2042c92ea139d9261f4cc9a2a7c98d3d4daef48e914e4ac139b574947a71c3d67b71a587f35f69e28e579a2bbb781de6286d26cf761abdfef0f3c3cf0f3f3cfcf02093b843cceef9050135e6a50d37ce8848fab0f5918826e209f08b12c428410c26a72e61aa2593149aa484304a08c34c0e991c32aa25aa252d3908114ce38de18d5144942fdd13dd131cc5400ae395a6a7c90e358092718941c9bef447282e49505c4a1025871dc088912856ae2d8188d8434a29a5dea0048abd459fd8f3884abe41d7ee1f7af17b3c8f9dc5aec3bec3feea820a29a036a5a700bb36cf409022203f8e482209cad0369061d7e666368f92da58769962a4d3ca9922538c4c4252d13b66ed6d754fd28833dc24860b0cdfa265833b8bbe80b8791863f0d17548229e9240521dc449c427319be3c0758553d1fa62a5d889dfa4927edba6d26fcee07cd2c187ad4391121cb0919a67d3c1cc833874029e92449d240219738b6aca6697b965729136493e79975b2d9756c92675d09c4f1d249f9e7ef3d5d74decdadcca3a48936a1e2b8583fac96db5acec7b76da26fde61d7bf209bb368fb27987c4ae6d5acaccd329b3dce47c924412944f738a38c4a09c22fa6cbe5927ecec845d9b36f59b54f4d95c07cb29e250db107d2451c724d0e63da84fcde98c0eebdd5617857b670b3976b1fce6bc65738d9dba68521dd462c29ebba3a339fde6366068a57e9b6af599cd6df493239b774ddc5c07e7d4e0dacde9b601f19b6f627ed329c2395460549475d0b5de55b598bb2ebe21f26c5e636bdc1b9b96f49b6b38c41c1c4b125d618dfacd6b540749f9543da3c534a458e4d97cf35683a1ed1b6210656a9ecdb70e0c03f0a0871d0b6fd4e89b0f09cb67b0e1c659ce026760398e471812950b117603da9c219b4798c706d83ab679236dde499b3794da749b9c645d9ec4d418778d55a49a54a154a5ca449f9ae9131543a3a4a6ce6cf3cc6fdbe61c63244e6228acc44c7188a9379f67621d7404dbfce63b8251a40db64dd8e654290ec9df98637394e9d542acd8c79d1d66ae861bcae8c3bc81469bd2c6257cb1b29f6a40c37ea9d0687bedb5e77aeff5cde99961bf5d4023f63ab55c79f6692f7b8bdd5d5c039d62bf504c24d82f7b8bdd5d26340e54d8af17ae9e4b2af49e7fd3bd097640e829180a19793e2b18c57ed95beceee20125e71ee8b93cef7a5e075aa1b72f3fd2f0bc811a18b62a48c10986af190e6984fede2c757127e8c692d8c114ac715096055dab20180a05f140be5c249a1e6171a8c109c62893441f76f9b22bbb201d2495441e762752519e9d3b28c2cec824b28a644af2ec3c56dcf8a194d23479d0c59d904ebde65d2473e3a102703c7a0a319e10d6bc11027c74a298801b8f431b91f51f5a8eea0588412c8faea3836c12a0babefa1a86f345187f4b365de7482d988d77ecf57cb93a540e8830e9d163fcb854e3371f520b76e3ac4f091317ecc6915ab01aef6e0769da7d30c4d1d5eff549d80e175f14876ebce632d6412f183aa8c6353fd241379ae641e2907d4dd35e50827c453ddcaff1ebe12bc26ebe08abf1eb301cfcd2c0309e70f3e9e000abf9a2971b3439c1706e8a942c61d80df80a72bf4e0cc32ae83382fbd5efbc4fc2b66fa9b3b0ce551f520bd6f1c3b62f9a60c3d53c4a1f22bfe8a512bb345ff9700360c42d40ec11835ad1c5ae79500cea5c7305c420ce357f965f2bee68dd51b34dd34539040d8ee8029343cc9c8a664fc0844e008b1e05d011e13c87073f0716b1dc67c4be071229729f8b3eed5602b5cf082e75aeafd5595d352738d9058660c8efb98a738ee338cfba8ae3be21f29d5ddda3b3c32e764fce297b2fecc4ae19e317638c314696b18bb7b06bfaad411c627036893e531235389124d0f416d3623aaaa57aaacfcc189f61a6e6996eedbdad963bbbbe3bc8fab4e044ea76c241330a7b68413b7b7676c28934a1f838b913e90c339de1182371124361a52e5d9ec444494d4928128a92646a729245a9176038d21249260909e948a10848101c5f6e68a73753533bb5acbbf493854d6f4d77d87c595744d7f57ce97abe4cf9a92289a640200649ab358f94616488f24973d9ca8d325a623c1a5ce98d826ee92ddda8d95994c5a235504abbddd6f6a4159f0d640d8f3b6d8ea414e4b7df714fc9cc2ca564e6c8cc36ab0972966e8a25826dac40da509a2f7b4cead13973220f8d1f94db4f904e3047053a4121deef1c7d4be1a8a0942ea1946a6f638f239fe4a72f99746a52939b945686d0b2d1a864a7130929e764fe9793ce9ec1e0c917e1a7128212b5412127bc1572c2b322143bc409a61073a09043878d4f57684cd5cab5561efc3a2fbfc11c157286c89f0de62ce5a8107adfe09206d2e0c15a6c803f7a662fb8d63a2173ba5b73a01b3033d01828ba6086628b6766cb20abd5130a2da01843c5d65a0356ad55ab5cbee27cadb56ab5daf0eab82d87e20828a47ce87a4a622683314038d8813d14128a7a59133da02fee0f209ca34e6f59a196dfc27742d8ead6c767a793521d2030aef4a8264284843a20d401217f6b65cc08a59ccdc1dd893e7fb20aaef5ea46e4cb0eeccc0eecfcfca19b690d35aff5256bedf2b5e2881eab89afaee376a7d909233edc9131e9649e7cd5f05a13e806de8e77d9a5f99d3971e535cd5d8bb2ca335ba0d0cb63e93811e5c31d594c3ba20b2b5896aad0e10b075c59620c2e622021c412197039c27251c2d3342e55382e1b171d2e9725ab26c8f0703ece9cc0613bd3d1ed8b99c92e93224b7aa02d34eb9aa671a08c1a96e882c68a1d96c0b42cbe9002086472e8b2044c7362c6eae2b51b982644e8354d8b5d60d0ea9a40414e134d9d1860981da71a41cc4021ca74dc18908006cbda5ac68d66add5bc55e6358d092b5ed334abb9d52a9dac03a4c58d3326b05ca9e3b67cc6058a0fe1e38ccbd4872e2c1db51edaa74e258c526fe9b8f5395b62ea416b2fe730c145fd1565b19fdc247ea9801258e6122368fe385b0207a755193c4ba24a12503eaa7ad8c965a684999f734ef0ce9240fa2ab33c1f674a44f1f6e34c89263edcd1327bbe9cfd9ae286debb0ebbba88f7528b1a12593f21de4b202ae69cb3e7ceb712525e4ee9392a80392ac8a33ffaa3a7dfc32e2ac62ce698b399882311f9b2085bd90c4e950a3332784307c34faecc40b3cbeecdc85216992f7b6a06031bb4f860a6258c5916a69916a899162e665ab6ccb40831d362c32ccb9959161eccb244cdb24c31cbc2c42c8bd32c4b942c4ed038919162668c9317a6275b9caa30314571728286cc182f5baa4441c20995283464c678d95225ca114ed0184126082e546463bc18b185ca941155ae883122ca1524239ca02183654c10505eb6548982c5091a322f183345cacb962a515ee0040d9922c65079f212a94dcfac882d1fe38c8e86109e6c4e3a1b6a4ecacccc9a6431628e18bf743861eaaa26f2b85652521374965d95ced928e83c99649623e0d8b157f6e9d127d2e9c3cc9c824ece186354d9d051a61f8d459fe8547471f6114b0b344b3046894567c38af639bb638c9141e9c54ec9493ca72a85430d5d7b203b055b473fed2bb53c544aab66b76d7e9123dcb801a68b139053c6ca3f441727608fbe76dee66d9d1745e781b67968cc39678cda54f9d076d8a9593bc5c655aed65a370e4cadb5d65a6badb5d65a3f1a3fe3378e52efe96d6badb5d65a6badb5d64fabcfd55a6bad54065aa9779dde93521a064fc9cec1eb72e83cafda399f3c5b6badd50807fee0850edd4fb6528eb3db0c28a594524a29a59452fad1f8196f6be499ab9f2e897cbbd428a594524a29a594d24fab0f008f524a2918a74b19be5dba784c3061d22fbc2c4ad059e9d58127230f524a59bdedc791470bb9afde46b89f9ba6550f2f0563109b1dc26e1b9db2233fa55ca0a83c269820068d73baf411630f8249529c9de404c6165eabe5ee72755e0e9de72de9f8068dc5a17639421cba4163b3cec226d85d0463287a520baba0ede903043f9dbe514f977c85f6c01d9baff4414fead1db3b42ab73d23971e896a2a568297a4efee2b5f5e1cea0fba23d06946de49f73d639e9e50e625894ecd26bba06249ed42ea6e360f3a3972ca01ec779dc17ab0a00986b39009b4fafdf54f9d0dc4e1867e9acae551e134ca854a3018ba5e4f8b65be79987ea6d78e12e52733e91c363fbf78e50ede8b6c263dbf5645c3c3cd473c0c996ed195102259c6bddfc5c012881046ec3f1b2f300f8c0ef346f7edf77d69b9fdff88ef3e637c2779d373f11bef3bcf9e97ca7f2e697f3ddcaabf1e617c277d7b3f1e657e3bb1b8f864a05fb727eacef6678f3c3f98e8637bf9bef6a742d2f04cf8637bfd5abbed3f144f0e6d77d3782373feebb1bdefcb6efdc9b9ffdeef34000ec78f3fbfabb123c1e6f465827800098c0b39a609d9327d63494ca8046c1f5c671553ed5696d405dd9733a169e6d39e770b16bcea97d4254f50a5fb67b9a00816fe69e1ae1b6c843ed17823641197da85b6e4f36f3aa4b114c4c38134a30c18464c1a4512674800174778321fb987eb4c453a3a44e9ee0d2e8ececeeee397d4eefa1664d3233332a2d9851f1614625694625c98c698c195317b6b6c24419302511255094c2a3b2972430d13c12985cbee1b2b3334ce6449fc10a75d00c56223883e6d5399fa1bae6523aab8a942cd1bcfa12ceadbfc7a11b2ffd1587b4975ed44151470a32467dac5f5439bb649460cb7b4ec011e38ee87d9112cd39efb82f27baf52398f6e54430c705cdabffa820122b11fcc1b90591bc1c49eda4f40e8a741629b1ceaaaaf58abd2381890b11669dbfa51d9653ed2081c96d9f2af6f92d55e7be5794aa22252e6f9ed710f94b1a28fd155d3291302b0c16595089946e357009c32a95d917742d5302e5b93976642997e8a4ec96ad83cf58038bc562b5f83e6165d1e9e848221d1d2681f379f6f0c600cf1eda188a4122441ed6f1a9024dcf783d7baf0df7b65a3becd2e1760d1debd21d9d1715b77d7a65f116c9bc0e963df8187d9e6bb84cdf9c7e393ee6e6aca358e6ad870d8692d543662ca6c317d95cbe54f9a8f11b1882e02df81a18b60e9646d3e3df2e628a13fb0f96eb9e15dfbe339bf2e43b4a1aba2a7eba90b354cf39e7f4129b5b6b5d76b1451dc49ae19673fadb1786e037ad05f4831b7ade6569358c84e33833764af75c464922eb1e18d9154a3243fa8d36550b35a07529b5e26ea4bec6b90b726078b3719b4fe7241639c3398fab2fdc5c5a6ecacd3ae7bd7d51eaed77d55a8ff390b31ce7712eb590443861112ec2a1c4f10b1a75beb95c81a1eca4ec7c03a51638d76dfcc6ad7bcefa62f36c3ee38bcdb3aaf10ee7f3bc537df16fbe18e5e5ef47bfeb22e6e9ad0c5cf7d12fea2076eb403aa8dd4eb7d50e3db99ed7589ff101691eebacafa879ac0cecdd7c71ea6d3ef9f4377a918a0ac1779cdf7cf1e96d3ed9e5ef37bfe60b2597b7beb2be7d567ade69ceb9eda066c0e652f5cdcea5e7b2c9f3c07053ed901db7590d348ab21a4dbabc074585e95d1fa1a8c41e07f7f0ceeb448f2eb471929b66b63945371a85fc594868f3aeafd7340a7242653870967951a79badb34cd532f5f3a1a8387df7d2a7de3f422dc59e29ea5f1fa1989a947e3ed494a98a33c948a2cdede6e19c9adddddd60a86d53d5636eaa38cbcc29cea152fa29d4412f58d6b5e1d1d5ed27c5b0abfa56a186487a037c84a222e6a3aaa58a652451082e733cb4d1ead9d161d5c8a96103ace19df45c15c217ca568d6f06bdf924944f466157f517aac76669a55b4de59bf727c170ca70dfca279ce4e4a5c7f68d22bdd4eaabba9bba86f49a87d4093f711776d23a57c176e39ace6bddf2895dd581cedc107cd7af34dc6a5e3bef7e33126b2d9a0fa5c6def924238934efa6199efa50b28d87d73befc0704ebdf49e1d1d96d0b6b96603b6ab7cf350f39577d28b1a2306eac94b172e7513da5ebfb54b95b76b610d5884bf7d257b934e4602694de30be5d3579ff18552ccd7b62c30b4d76bc0d05760e8fa50e8abf7e1b854f5e8705c2ef7560b67e5e10b4705d78873954b57e1481cef70e2df9a958ae36468eea36f3be885e6a96eedd797cbe5de6adddb5a8136a0944e0b8be714f59a5f31af79cd4a257bcd3919c2103c573b8aeb48adc8f49376d24ad09809c1f4703ecdbd6ff317dae5516abe86c3fa64718c5d9a5f550bde4b56c23c9a5779cd6dc0d025c5a3b45873f25a95b38c247abd6c10c76f9c771e0ac1f1ea36b0b32ec1c981965dd237ce398f91a8f338cb48a2b8434e3dbb661909a481958634c1a9a32e7985b805872d8d84b453c9526e2ee3d0cf109593085b0fe51bb9f1b557d87e85ce0b69f81c1fcf6f8ddaf963248a639ade86ed432ab8ed15a46e3dfa455df1eaaf0fa787b401ed3db82175ae7a8344387cfd521c8a3870f934059b6f0f6b0e043618d75b00d1baa0118c096a2501104010a064093bb5a8b27d540101b28209eea30a488f014387eea30a08094a443ce1b199266c1046f5510544041208f10488a802c2412811038a256a3eaa80d0c0c20549a480c82d88f8620a0f69d2d87c5401b1b9011653829004491209b3429d6bd7bca31f111f33a73af51c1ef487c834394549248c73faf387b8d039e74462387aeb4b9ed156e3ab9aee53adb8d5926a65b4d4a93ace6bbece552aafdf901d75080fa3a51a8f2fc4c82f75e075abf28e83d53807c6b84884ba0bd739efe8e7631af9250880ab180753814056608c835defc01807ebf8e9e763001f2ea95cc851945fe254aef2ee5bf9fd6abc21706bbc0363910bd8caa577d8bf84a40018e7310efd10e28be8133f64a21f424845a0f8cd711f12ce971cc1acd019acac7e6081755d91a76a01480178f002e3401a58c8c10b78f0928317f0f005c6f9d147550fa325cee30b11c12fc5288c6b81c66bbefa82ac7840243a40cbc5f874af4798cac35be340f8d008ce0b89504c09f39a1bb56b8ec4ca8f1abf0e2281018ccde311a692faea619cea664f515fc1223efadb8ddcbc9029c544ac0e29f29cfaea9bc1f395ef284ab2e408c6c44af52318e753d58202beae3e39f575be5a8148e4531725e39ea2a452928752094995188e9efad00eb7c118a2ec87c4341f46346f6404e785dc3082062e4062e587ca6b1c4492e411b6eaf2a01286711e61460d1699af81463d8ebedd08eb853c80054bbe3dceca907dc8492bb483c0cb872088e25bc23ae73e260cebc09cf6ce9558fa115181bfdd0152b5a361dd909a34dfdef94420c2b825241c30cebb2f8996264d1a30896879c65227891c3dbf741a7a8befa8f2f9f900b28289342f9d3e4be9211230492fc1258d062321918b97611a09896092229414a52f22bf5210860826e967834b48a2d350f3c4a4440ca68131202b6210831d79e74f7a5449e0ca0c74d18f3e278c56c824933e7579c232bb3c89b14f526661a6fcfc380b239375d26517c130bce165f62087b1a7c0824e18a7e728ed13df49558791f22dcbe8c22e328fa31634fbc932376455b00833a0d3a4499306e84a8f7ff45382d145ceb1833db2cfe7382351ad733668670fdddddde00c56d823ace32f3ef51a03bb5ce1e86390ceb7795e5397bb7b7a0cb3b98c304fbe75c128fd7456f57622431c10614a2ae8ed800853c20d2e398255a11efd35059b1166c5887a0c14fcc08dafa2e3efaf05f6e6e92d741b4dbfd35bd5ce5f4e83577e46ed767a54b53368c49a926dd0c54967a471ce5929472b5729bdad79d8cedaa6797bd7753387d2032d186a1a92b09d1980e48d34af3ea479b0d8d5499a44037171e3cc0b177e755cdf3da380fa9db9a8b42d769541ca10d10804000000e314000028100c874322a150241226c2bef714800a7ca23e6a589989434110a3280ae320c6186380318018800c01636888e8068dc1d020eb1e0ed08a8ff02943f2c384d83155b1c911ab64dd8dbfb11c3112954b49f6c93a56a712f5684c781e3ac897c59003c1bb1979e6a07fb2f06d3de2bb819e3525500a953bc9017e1c9826281c1663e790c3a84697577b1307d738bcb65ab0e944ee358a03bca745f47307b3780723d5910d64e0254c77da81b56fb194b5243541f5205c818f89c7a32b46b474c701b3d02f71a8e2b0d3ceb8099f72895e5d46aefe45dc9559b30924e0a76808993e29a3360947ae69e842e1a2bb34281835415f47952b89f0bdae88a43774e21cfbdb2f834d61f07103195f85481443bbf14b6a30114ec4ac62636a73a774b749d0829a04a4e682ecb533b18b235bc1142df1ee50e4873282b2b247b558950cf179bec9d4a893d77fa6fe1c604e32b34210b351ec05833924cf4b349c8b70e54223bc025fbe857905f5681b31065cd65a4a46b5b5cfeefdb207c9f0836739d118641865c34dcdb9c2e90b76e0f0dbe343b0cc53152ac2c79ba0106ba01b4e0141ee29165c4f2aeda9826aed403d220c5faf69da53b67a38721b8a1de8e16b4ef83187d8a8d3613cdc00025b8f92ff3a320423606af5e24d6ead172fe64df1dda275530136d5b02cbd7e8a856372b14fc004701d5c08a077f670df6987b0b44f39747fa4e46eef9417600bb40bb5ee141abaf2239ad83725d471b8386a08cf80c6f04c7dea9211c46485c1cad1b52d78f88b7447978598bb0612cd8b2914e9f4116d996d4ab87d6804bc3fc63ab911e6242e1dc9da1041a78cf83c30e0c483b7536cc725935d6976592ca7930522dcd841da491006b90e387a070a825548f7d2ad87ac887a595c26058d815577ecff3309d743a425f6cbf3670c8bb08e79b297411dcc53b6d93aa738812ec68753f83c8667f02253f226c490627a3585ce3602d5abd64133c421dd1d4c252380aad81a12287d5d19c8d05d6d349bf27ed39ff617a52dd6791bce36bb04474f85b840bf4562286b6994b11d880e9116a479caf018e5e397a971cf5376e887fdefcfbce13bba616fb0b6e7f227ea089a5b5e39650f5adb387041ea7868e25128bb49d57208090bd921dae2b7569939f954955e2cb57709371253a9c3a3bc11bf7ed8e29f5430c981df0b8e1393aaab8e37dfc28902567559a7130217c051652cb34846f6e8a31b36a521b4802431f4c756b4ab15424193418ae5358feee4748396e629fcba1530699bd0a27e1b2744c2d1ebad7dba12496d706d340bc77d1d8ddce3e4c7868f8afdc6cbcdea455e113e67a6990ec0ea3abe65bb96f1e084ad741a01f8ced285c2fbd2d9290b33a2f8c3dbf1c3cca4c9f6ab0c13310744f1b5d8cb71d3099ae04b090834c7089cce4ea055ffb35c37bc63c3994d5e34e7e0b34122f7455d3756917e39cbd993db7870335c8f298a2d3cbb14c6493246fcadf865b6ddfb077813be3cccdbdcdae2f3099422b33d7e37c94560375ed176e941d265974b0729259ebbe311ad3477e7b8b65acde112112a1e0b86628900a794a69af542ec0f6cf99be474c7e3cb99cbf7381b9133df865211dea87f1f46e6304d220efe41d862956c19ab6b561c1244cf7a77b0708df1322e8105756f4b54a0865b8a398e9daf65eba775aa78985b670e4caf0bd69cd7542ba41bdc7c7c36af1146ebd050332a80c668dc1eea69b59b93d3b502a536477759252a3170c9c3645d5413bfc76cedc66a9ffae2fae014294cddd8c70b4b54ba35bd58fab44154a074afaa36d054e7c6313eceb9988b94691333d784a6a1e6cc931a20ea19a2677797df91b9c7072ecdbc7396368b38b4fc1a89118c3b93d48d28a4f813915cd729a51824480f6faffc21fb5c1f0091b9834d7c001b6768160347d61bbd02e2d3fa6ee3b55ca414f9d00f30d40659b0b82d1effcd7adf61949e46dfdcf6b8bc07c81aaaa52a9467ca0788c2e44b8ff10fda72fe3db5cd562ae0665a914c44e21965bd0f8cb671198ad0475446d5ac2c021edc1ef9ee82733f215c32d01c42ed428232ef2dd1904a1bccfa10719e970fb692255823b6595963e017603dcedc739fcc619472198928e47ccf86ff8bd19161df04b6d524a1617ba02ced5a6268ccb061d9f4e762112459fe1c0ace4d860110fa62119428cb9e0b4baa45ef97c0fb00bb7d17a4e8cf6f3b134f7bc41a5828f56c837bb97fe0a6786f2caf0c73ad10e4b0842fa102741556369b5b0eb47a84f0da5d2b1593b26a6d2f6a25cc4d974d1918649c51140c43b5c343953cb5b1d570576c3716683cb51fefb7ec7dc034cc0530efc66b39090a5508020f5928b1f6166e173ba82fb5947a4f6675f63e87c60728bc5515466851154666d2342770d305469948600436f10e4c1edd7d67096a161299337984af64a1ace5b6cf1d86bbb51fc6f047a8144f0859fdfdf9a12ad4d3671875b5a1cfcd1bbde9732d56fb4a60622b70a2e3e7e4b84c514ab8c83dd4366c1c66522c287fecc7a461e268c4002c1ba1a8a7d18e6a24e10cb90819f1681a6dc04a70941a22abb7e644308804b1801851248aa4f39711012def1f8a8ca4597898020eb35cf7fa58e6cdc0316fb9cd1f89c321dc530583ca408b9d5708dbf19b4d64bb408b8c7a69a3c882a1de0aaa48f4b9fd804d2af562001aec21b02c2ea0e3e94d89ab7a9dd9a7b169cbc41643575bf30b5cefa8c047fdde37b47a7296d745ed61be7c3171a3c5fa9c4a349a766de67554e98d5df23a5aaf573fd5808ee0f8312bd7a95be7c35532b6e6963946a51595aae4a0d01778a580f177a0334b1d5756888685384a1a8c6791e8ff3c2786e025ee0cd4bc547a1d2faf1022368a68b4b420668337c8c2dd6a512128cc18a7b5c00b9cbdf05b8543839c8a1068d0b6a4896f0084a77787dd37af5ea1dfa960d31c5309a879093dc3ac920604fb3b2f6e3cf485941e7185e48ba523f3caf46b17786c46a4e7bd839e4f2f4fe7ec671a56c94a6c626e86d3066e3f8b28ea8f96e0b5ab7f5ec554113bd57233fb9e52c201aaf6b3581af6e76ab1700aaac9b952f52670732db2fde96dca9412edd77b03e0ffbb0f758c4485e25b3c4d0fb09c0bf2d5be127029e187b0943472aa85d02e8908e8e5c43af24fb7c556682b8a2d103adcc1b2950965789373e9d313092d9bc596f052f6cf54f598d2ba2b67181f79e0b0d31b426662806845b69929c4146b8ff217ae5f36fe0b0f9b7118ff0da06db533a119d139743382e680ee13e6f873bffbee74ebdaeba7a807b432a633b3a8071e7e70b181df0d98858061a025b7adbc535ec9e4a7f860c40ed8e7dd0551658a2d761f9ed76dd0b6cbddb6701a8de3eb588290af6d85c4fdd0e484409ee9099581d2d1e3cd71e957031c10758495e02950d09a2a8f491bd6750c7b3e94e2712e725049c5faaa1fede174100f1056f3c501db1913321783b2ec971103aa7469e8e85bec4593af6976da295f03ffa48566b80110723a1043f01c490c45c618a42e5ff3aedb4812aaf401b195ce0f685fd04f5f280b111fc1bac1c7cc0cfc001195da8e163c331acd4684ccdaaf9b75cdcc1ba38797d83a3f6b3bdbc4a50e528cc4ec9422a82223909a708dce226ed810c912fbbe3f609d0af8835ca1d7b5c42a72084b0bbfaf44ebdca809451f003be585bf71f7a11ddfeb8f3636b8a5cceeb4d06c0b9d26f6d3681372896bdc04287f39025552c7f30b4433dc122a773611fad5e4849c2f4ae0e740d1053e8c41b10491b0286b75cf588246079457805fae5abbb8729961e75d5c000571dd884a507c4b95a9e0dccc478cdd5e22da793834b6fd1149ef10a474732910bb4b09842a615dfaf76918e58cd89fbe396842244a45b97000f5fd200dd3156de3cbb0ec30b01c9d5caf15c943507e17963bac58e1460a9575bffe3d045bf6c7211f245c3c63bc18c791b4859ee77200b551ece0c59d7b3d95064f3d3aa2c0abfce6b88d2b2e60416e15c214ba84dc822a0590966fac2c07306e87fa02e21581461d1304c080b6fbd63d21061700ccb8a9c17ff2bedce7f016d2d151ca80b0e189472a7a4f28dce67f2c15e4263c087b557c4a31748bf7ed68bc03ad239e28b4bc9e1a30ebe33ab258d23c00757fc699de0ac2704ab6db3edd01ed05fa50ab856e5ff16d98eaaac9a14838777f5dde4e1c830ed6430b182c535b57b03b8f3b6822942117094e849f63d994f5c81cad089d7d19bded87becf053655e95c7f114e685014e2d097b82ea2fbf237895465ff1251d2af1a0b75951613c1cdc97da2beaac028772c95151a95b6834361abe86ef8a68e996f74d2db2004eca1b5e3a387eadd205d03740481905d202e32e639f3e2edd725d8ee45163def99ae090180d9c089a7594ef9e30ded7d781e50f7636ee5b8119e0626b43e9dd9adbb7cbbddcebb82ec1246600da5c88d6d83a54b3a2095dd5d8c63d4688c2231d5a6c51283b8479a4cb600afcf9ce018b49f9029eb4f88a5abc1d83b5cefb49eac98fdad36a4a027fbe447a64397fc5d859332fdeb303e636f4af8c7d8e096a46238ee6e02bd58b06f1e31c21d088ebba4594e2890ba568150b8abad880704480999e9bac7fce26d7a85a6d5887a0967ac2368dfb695f3b340bb35ac0df9786e5758ac347b9c657217d5e0553830cd648e2fb58428a2d3f7121da2c54287f780d5ceb3f81c19c0795b9ef6823c1a0760a0eec1a6270f36146c06317a5506bec8188119f9db6a80bc55182673992cafcef9a6b7aefcc028f8a5876f167fa78961e5b6f4eac857fcfdee07f645563fcb0ba3e6f9ddbfa397fd4522267b325af4892ae3b5451d88cebbdbf5ccc227fab3d6d956e78fb3076d01f4738bbd01e2e924b35c524c64ea09a2647dac299e360e0c8e385d63a4ad251556e14f211705f77cb4edd3ca9ef61b7ff073547892f2f0d823a5551d3fb663a979faaba3416a7ffb520706f3a5a5ee00bdf6c1f39f35ea7548ea753e12f5a3de4f3bd28bd65a25d6f5986690bebc24b000102cc8fe934f37ca99fbfef12143052b14b18907fca75b27eafa21e286e4f2bb6102521535403b0b41855a45a6c8096bf0139913fbed7d155de8193c2d80fda1ead68c84be4a9237f4bde669fdbeefcccca42457d0ef863d889a7f762d1ca721f0a2fd2cfddebaea63f671ed665e649ad6b278cb07d34f47dd67958da699697f48920b6c88a2042861681491fafb924c15b63f4d2ab4bb43c6d6fd664e952fd286e48cb9ddde8433760d75e11db3335ddd3d8fba475a4c7f681a7de867f32ebef05be5decbda5273fdaca85552b2c7ebfbf8ec63920cafdaa68d235bec91764ed5edaf19c388d6c9fd7190c4bd9eab4295f10d08aea5e513ec86a2d500a70dc9bb351ac8375c08789a0b6a8ba0cadec17e366f7fe1bf0c19b0f6ec17431039240333d4794ea5e1509a9847eac677a26b0f8778635c85c32b8026a447d15fc6989592a69c6b2250dde0b9e3eb89283e084a5b46ec2bdd884d2d164253ea4193637508c29241693e859197ee32469c1c12fe01e9c96e20509336de1c909db87c45c95416a39cdbe91e486e587edc927c22256b76676132ca702d746b971d30da63bd3ec2f08e87e463f491bd59437d0e8b4fcd29311f001fc3d28d1f12643681b9e77dbd3f08322cc3f1d9d1cefe93314f14d86f39918e58eab7a13ab4c4034d4791a97c6819291d5b0fd8c5721ff7cd1ab331f53400e1916cd388de172ae8a9b09568de3e46c7b46a7c39c229bfb9c37e449eabed22f84354aac45d84614c4e20fed75b42f47c9de3b7249bc21466ab124be599b9b07cc8f3447e015d170da4fa9025fe68a62c282be9d3907155e572ac3f0d8ec972b2cf6588206cef2ce365e86178ea45db1cbdf282240818f761d37f6de854c01391e9008ce814c00e185118816b6fa58382cd4f53398e4da34cbbe0818482c475ae73fcb787532a14bf75b2e3df3ce4c63bc5fe3b34d635502a9556e11d1d00a61fa2aadd2eb610fecb829f6079e8a7db10cd241e20040d7366e3532dc72e69dd7c7a8e83b3d2d03f990686a7844df6b3441aca3b02e5fe64a82319ba62534af766eb477ed67c8f7fee2fb267c7fd3038fcd640f4dc3ed2d137818aee75d11547b0861f4555ec1a3c693f48bf75a11be4fee8da44ce220347af72aec219ee282b4baa9dfc6c93c181660e7986ed003990a9bcc88bec17cc03f70985c871d4a6b0bcaf07911608a9e8527f4486a9783f4882547fd34431b801b6cc974591705d422e0bea10f59696808f31b010228cb050f0e5cda2fa5e538ab5eff23c59dbd326a1aeeed619f0a2fbec0c872239ff9b27ac46a8fa821045ce14528f6385053b1d3dd28bbee33c015e5554542088d1c0194c72ddf33e6c6bab657fb5fc8a93a1640e6c92c1190aa9977912c74b906fa0430eb34762e31a5d7992605b32ce3a1a5251cf4c226a40f2c41f71cff84476d0e18b062dd53cbaab794e12247d0d8d53c9a51103b561fed581f0f053d487feea229c182fc84b9e5abe758d2ed9ee52f8357d0c0e3e9f31e3a1a6e3bfe976a386620589eb09c7972883ba7dd98f134dbaf5ca2d307d8d58cfd2ed5d4f77b18f2b0e71367cc367d40fee0df379140775fee64ff04e4f25d773b828a4d643e85823b67fccfbcd36dfd9c2b48171801066b9ddca068a9a3c65ed2da020cdbb4577bf03e8d26dfc526250571530b8c616e266eb45dfd5dc5e4014fe1221dbb209e3d93d341a1559d101cc83add6b24cb3a961378a0bb33dd8e684a30a1ab2d4093bc2e987014bb6c9e5b66c971836490b1c7424b5674807bde048acc893ad4aed309211a79dced3b05f69f4e66918f0b4fe8111ea133c0b25923c807c2792d32d1808cdbddbac1b8ea97f32425d2e8884428a389d6cfca09d50eefa1cb5a3353c92422cfc8d3b2b0468de912c8b91a2431f80345d875ba1b0185d48bb8ee5196863c353955b88f9181509ea82e3a2c20d2470adcc4c663a738f91983fc1311b3214a2f43296902597e3a4741c63a40fdf3bc34c3914d92fb49848aa122d39a050892cf2c4c05d426ca45450627d50d100d2e197043698142516666cb4d2ed6e456a30a6f77d21c72b187c9225bc0ba9547b02f92af8f2aebbe0fad8762420230feaed6540d27f778c4ceb9ad3d8ab444f4f1f55b67121a383513af969a60351be557534df5f24c734cd402da4cbb11809e68a383385b400076d61f50d2e91e45b36ccb7074104710830272a31a8c4a713e06484c73c7adc9a0e296df5adfcd9f4a5dd468ad90449cf534c9f383e2db3a760f34e330de81925001920105f52e955f70fcfb348d6c2917c65dbaa3c0764ab9140e5837c73454de960da0e320c2dd4daa0170868cbe8232c0abd14db915a86a09afc512fa1ac5728e9290abd87b21ea1a09751d05b517a875092194abd1e855ea3f9a9fd7bd2e8844332b89986e02066146a83cd44c80cc47655e9de6f85ad821f221195927b7713dbd5a48e71e81804a61a7923560e36e31951820f1e6618bd19bb0e22e3105549ee2d09a894da0c6a7463ec2a493b032154f681277845b24dd3c5c01ef8fcdea1a11e3a010b407fc13066e881c30bbfe36a1895461bec7eb876f2b8829f45fbbb1995b4343b6f982e2bdcbe372439d71f9480ea110d25691b018cac59a71d3a81acc7da1d88dca1663d40fafd82cb0018d291eee255dbae7473957332eef2660c0a2cac86597017bdf06f094047fb3af342d6657c5e4d74c7ee7bca85103278a026b37d6904ae5a31991ee6f7378cc4e323f073568ce2c15330e2fb939fab89e2176bad62fad5828f4095501b507f2640f2a1396c8a1526250252c784fa03a85404f24c3ec8ebf5e2cabed4719813eb2afd2c1ab9d84b48742cdbd50ad2d0051e489ede880e0d6479bb4a485449882f44efe657117ac0b539c1278d7a80cecca8a20582c6d575c9ef59aa712de172f9838149784dd1988f22e5f09dc01c525fe01e3a577632436bc06bb5051c42781a5c16ecd350e6a2dd69024c10584c55fcc55da86fe382c6dd0e7c141bec35c81e105c780af52508dcaed2e800a3c43b2a0e0329d2274fc2d3efcf160d054d647ed7e1778c4993c0bfaa1d7d391bba77b7ca8c27d5c72592efb909dcad75d708fabd9c448d91ab7009007184dd0538c264ef7e4481798b0178bf7362c46ad25348e4d2b37e3765ac3eef66fb47a106ac9446ea2646969818cdbcea8e315749e7b0996c8bc150ee46d893cb297bc0bb9a006dfe8c9c5ed215d85ba0b2a5b57009d56ff7de82887fa51d0ac10b53240a8f85bcf282002ee581832768e2197b66d57274d7146e2a92c42be9958d39297e1414dba0ca92c7856329dab8ef8a831c906a2ac87f5f4f931f59cb5420cbca48b91be99ee8e1bbc98a60a2a81da92b94b0e12b53f3305612c3189d9a98a0ee9f137cb75d94415fd471c59722608086b98c4903e991661bee227546a24b428d421f3d52aa76b23d01615f4d76d1955904de84861ecf24650e0f853609b492db7ea4fe67d365e459053a14bdb8db8c45df6b07a18a16ce5a341fc45a4a85b48a94111b17499aac18989c83fe8a495292e2ef24e9f09c994aa1f766b492549fbf5475b53ad150280a6c69c158176835672caab0806568a11a884e4e30c67bfe65d5b0ea67a068d317f370fb997af132402c63245b72dfe6a94e866082dc9c26e1fab1fd7cdc1dd7e24a75338ac160fa03c8ed82d493ad8742f9104666e3bdcfc1780a531f2fcc2307ae617525aa2fc86969528ae645388b5d697498f7930551560219747fec5f694a9b4f2b5e10713e1ba5b7c0410997bab88ca7f7f3811ed3ea8f689b52ff190d3e8181abb7dcde283d60e89cbd0968abc7da7a91e00918d1bec56326f98ce0e2e20dc82c52553063dd8425db9f1df3a3d9f7c8fce8804809ff3d16c2a90cf131250f4d321f553dd107aa5108aa291b20ef592e42925fa7fb158d4be1307ce0fdabf480522b3fdb8b351000723f9e853fcb487820112f604d939425da96a06912c577dc344855aee2713b0a9dfeebf78aadb4d9c7775633eb77a0abe0ff658a665478d3e1f280e598a6cc01a1373aad371841f08beec8d93d084280ff45b5194415d2101aea55e0c151e44c365fb655442747abf3bf9dc0b336bbd1542854fd9a6bdd59a4bc20bca58be3e44c1daf9d13c5225e4c0b79012b6f4812515dccddf7de9d342946a196e586996b4dbf567f02f8785993661303f36a86fe1c4f68802f306aac064ac0d98c3e7f33852dc36efa6c488efbeee49511b667dc5f212b39c77eaa939813c374566f0701d3684578dbdcf526f008f30b59d048429da572c170292d39b64474ee1216b46db2d5b9687a7de3d2e349e0c32bf3d46339ed0c1d4f5a920ca9dcee12459121cd96844880749387524ac9c6c6c2f1800dafc451cf126ecfb3033c6ad0b5e994003fca91ac14add3f32bd2373980bdc7ab696c5167419f05113541d1589a4c5186515ea868ae9f9c6c75a28fdd69431ae924e3b0a84f0d802220ff952fd91b7f5efc71f3f8d3346c2c42e8d78d16f72aa423407554c0b54f1a3c8986d7162843872cc8902b5f521a8f6d11bd0a938ab270a0323f963aa87c09b6a228dd6f6cac3efb2b5c88cf4417743ec734a3765a9fb071de032ea1ef9f14cd907db314489ba54c26d5cda088fea2eac7e4c5b1fa0baf8950dd6216c0799484e4a2172a52f98b46c11330709df1e5ba6c7b0d0cc8408a21ae64839da78b6ab5da8095cd43a44a4c192f3acb9e7bdcec869ccec23650a3dfa5728e0b3adad402a9e158212e5d9d276695219a9a390fba7ae4d207cc23e7e3d29ec91711c490a9d36bdb589aa2b86e0ae33f6002821ea0b75add83d150264b009d686799b2c26dca72f94e5120ef0d1e6082961a8e741710df88f61051d31130ed13fb07419c15b1b9ae58e9c67fbdd37430ce0787bf1ea443b599d09818012f1932d42b25fd6fc133062919573ad34cad62c269de56390d907b10d6003dfdafc6ec8d3a7e1b60091cd425c22cead6b426e822f09e58c268c7771cdb8437c61d2d8b3cc0d1697aae164e8ea6cd2322cc8c813b6fa30979fb1d17e58ffd52d6e09978d2ef89e18ea5619122f4a0c632a7c597589ded0945820002fa5373013a8428ba1699f936118f56a6819f599053cbbd4f11c0b28eab74b0a72bacd2b9d6a13f86a64dac359170196d1ce3721f9413b134a3764be24575fdf06cc6e5803d685505b680a79906b6995ebe6f42be068109697ecaba1424bcd11ae2bf67e45b11e4a981a69824e4f0a15e6451dd510bb0518dbf0e1117ee328bd182c6627a629ea634c9579aab30502e6cf5acaf8b76699b3bc4e1aaddb74849d01ad2781f30aeb9ef2806fa5468d7f1d0a829399e731b080a1285a482d84327926ad3dcca54e91e43d7af29bb3d41fe96ce4d1fe23e099c43a3fdd456027c2f6ebf69abd65bd31ab0441028c4c1d689b0422cd11f6de5d48900c64f44e9ab268f9eaa35063243e05c2ea31836e2ada191a0bbd56447c6cf5f87cf25828b1c30b5bea6394c8197855df69bca6630af65a888e094c8c05709e6fe487124058cb99236da43e8928630f1251fa360e60ff58d1541cd17414a952d5d5f7ae4f119a6032594c03137c8011ed59c0a785c3c6069dd5763a7b648da5b96800e96f5133691af5b5431a09198872f100a062d15161c14ce25244e0ae6aa99a204a2ae384060b7bfbd0735f6af005c0caaaef5cccdabd730c0ec4de83ef2992176d033dad32402de825fe4df1b0c12d204a7d84ed0d1d01a9286dc5cf8421905bd66c357d6fde2f3a84bcfeddd7bff67b7122ee47225dc2e08c4a8a0ea530982e35353a5302cbcd4adb6588692138e5d61974f1b7aa2d668a723ed2240b4015b8628b393608b633177ec9055ba71389eec28dc9ab13147c50aee3822de4a13b26077b529e762b9ebab30894d59ee14d6a3de7c210169c59ea6deac60a42a5078513469f96113c0e501613f91b3330d48157afe10b41bf0c044a23404257c1b1d27dce0d4c020744f6ee22c5b101776c1c11daac01249b88c74eb52d877cf42945a236d46994c23645f0bee05dcecbb34ea2c129210be22166090fc1ba95871ea52744f2962ddd6ae6ec3acf2443138bdff4207220355a4b20684f3212f34d1e3e0c7c6e0d2911584705c66d37afc1e3e777f4822dcd9a57f8814b8e3358efb4b39fae1d189d3b327e863c48675bcb89124fe17516292ccf8874fe028a5633ffa5d5c56fc380ea1c48f8ba98432221c27a623fdeded2388079d0a858497a0f62206335768d5117dffa132c39a05e041bd79c3585a51a72e8a9c6b362cfb09b4e6350fc8b2e7c0d796c381a3147ad6e9f1acd8a99b7fee792f623fa17b2bf786eef55c53da1e4e234989dded9f5235f8b2dab1aae1c47acfb323ad1f4cad48e420a65cefe5a8ca52756826945aa9c4653025b1763004af1982d0d71a19eb1730125cdf4738b63d63a3d1c255873195303f8b3aa51c08643614cfc242d44809b507b43679fd1c905eeef2f50f8ed5c197ffff18af0b150819da867a826cce51a8194115a097c2475ee4d1d6207c9e4f946ef38316f161ff23b9135b2cfb256b938a5aff41930986b70f39d6e8d73b27e36388b71d515ecab57820abd59c2e182013af37a49e7d7e89374e4033a602de24f4d12cfcd863a875a022d19793dc030ed7f4c712e37ec6301686669e4286e1aec349cbfa9576688d9334c70f7f56c0aca3619694cc422b571b28d9c1159d0c3f3f49e0de1330431607ce7d6332ed5db174ec9dcbdc3d351842f2c5984ae3a217539cd76f82cced9cd578136c93342b0847f0e576473eb4bece26cc44afc3d85056859465667bb0557b572c7297658dc25f3d0c6d28a7dead024cf233ec927cab8883626c282ed07314f32982c8df8c336fa82563b5bdfee52c23983d5faa6d1e59e99c48077503cd4b0ebe9f2b30b2e28936509b3509ba53e4959fcd94698558da07da42d5bdf473851587b8ea3efcd6b5a29a37968bac515a91f2b4ba2647e6c8232441aa8ec7e85bae06499f0dd47a68a7a5c3e00f145e485b0ea7e67d03eb50de5f40016b76d84eff598d713bbfc3087fb713931f260fe6520c82da59a3867cb6819cad209ddf9afe23e260713aaf34018434f6e8fe2d9eaaf08cbd7b669abe90e53bc8c0d1c2b8c2bd93699921975dbc129317cdbde75c82276ccb8c85c2fd07c6488f5df06501b5dd3c7a8d79984655eb86201ab3d5567617ff6739e99c2247c9799513be83b75eaa74dd42068d91d1f149e55f6ffe5ff51cdd4c56d4b6931345172d52efea6dad5db01062628d05fcc250a065d22083004657238c0a8df9d23ad193512c8e67023a9bb5f27347752987c9e4bd421d2e6025cd0cc9a2c6efd689734b19105b1573f23f8dd179b6a5533ae2c24822e90eb4ed5256fda1319cba43bfa43845623cafd91d590ee5bcad99be2c0081a64815aac0b5f14a224136635e0b146fcf4b147df42e4ba23143df97f6a4745536c1ee101643c438de8991e779d519b3497b65e0fe6fd26446e87fc725f7e9b9cc19025884dac23b89c82ec68a23baf81b61992ec3d5ca914f8257ec2e12b7d5354cb7e42e43e7dca901782b7fe96835e3dfd555f649992639f5c6a86e50e80a3567071cb05d21130405ab3629f5fb3f96ffa336b82766f33dc2fb1132071f70bc9068ada4501c25cd79dc98c028619998b0b40448ea0684cdc84271941d9e038f40610bb1be47bd34c1bf205131a846022de4e82a60945948da9f22f0765d79f071d8d45232ce86728cf06510b99bc891a2fba3f2f009dd0f123c0a3ebce92761079e81c1c9f3e5b5761b9dde6775afba29fb8d7e68e9f02b4f38530059e8105aa3f5f842b17ee9ed67fa1dc63bdb9fe6d16b177a1ec5139b1c76bd9f551b9c3ea98e00041ef768aaf81ef7d18a8ef75c083b3f83bfffc4083c1900210bc019a47ad203e0f3b010aad4ee0eb3067cb2e36118c98d4cdd7c133d03f0849baa6989f13ffb49e67d490a92299e76ca2c67981bda58756085f93582e1be5a6769df4ade1c085f001510dd31f2b672b3775a357a2ae08d1101f87ec6cca6a147c4b7b1efeb9e954c57ff0a20d340e0f39594e7c48962cc8fe0e1070d3c0faff334102586595c352e169e186e1f9bdbc16a21a3050122098a89a53d2857880d69ce9f81462e3afaca9cb1f2c0d840ac5d950a7268028ab0f45d96bf330a6c796297521795fcb19adba66cc2d1f81ddc62f1fe34a4119eb9050ff4bdb9d1f95c605a5361383ceb7eb9292d27ab72cd148f0bfe25a0e491edd985f159dd9bc272cd0c6c7b0dfa0b0bfe691ea4401135884c760a793ac9a4106c96ee51e444ae246c0165246df538f2f6722586d334e1c61aee73533a88a52412443bda71b0e10b856c5aeabcc7755f5355d21bb8b66e01aed36d37404cec0f5da94111d3f9ba4c690b57a99c32dc09e6748e4d11540d78a22166e13bf5d6d1d746cd62e6c30a94066b8395ac4f89640043e5ed4a2f159ee35cfdb45ef2cc64370c95a9121c0f560f00e14dffcc267c1197b4379da0c803967e2a2bb449394edb96c901961b6a64f061021ae41ccd3fcc6f437623798085c7e446eb990ad6b91b9e80980113236f5f6e3b4075a733c5e113ddffaef30d55a710512784b8035a40b8fc0ef4cf89e207650f94bc62024ee2a4bfe51a9e226c594ea8d62ac81888664f00b1537bd2eef425405922f933ec18b674f0b7f470db37536e4284fc9bdbb939218828d15786805eadb81172d4cb08bb6dec323903e621977504ff91cffd55d0a970eb320927f5256b9c7d1f0bd6cd7d42418f14235369927a5f09f44a76ee65244c34eb758e3f6dfc22395e759dcef8687d5f24e3abdee3def5578c67eeb90f14629a87084af1180f4b6698f874db5fad0f42c26e95f0b8def11cc922e51ceef870b3d5261e40e5ff2b2ea43a30ec55d60f56dd97e0b9228a084a71b5642cbbbc5dd238da6e5b1d6c0c593a3954d514b209e7466b26dd5957c4f83041a0f5488c6333ac3020038316689015aca79883c5653b5fda065ad5338090eade83443adf28af70a398f5de42d505c13e44ede2e4a6101660ec6824eb1d36f3416829f8c7a3f8909ec374a6a51cba453b45432db1435e153b10642385af63e1e841edee4454a2616ba4257c10ac18852357c5ea94c1818f3877d98361a2ecd25a6cdb8d4b5838105b92d6ae9f09cf05b5971776fadcf6d1b03fc212357588fb38dda04b13e91eb4231a801acc997663fa1c9e009ec00de62fd1b33b7e984b5a594a1f28a06823bf25f7be3cb3b19a23aad19dea6aa724f6c043f319f4815eb93065619bec5c44af6fecab161cb1428f1fbbf6342dbf183d6f6298e777a3b70744e0c92add6bd2db12180aba189ae78a8818eae43f8ab981504091eea5bdda6bfed449c7f215bbd738eac772bd574f779b66ed543c400316ae6a700e1ed4f8c0279fa6e50a703cfc6e9f29550051cfad05eb03d851582a1c8a19bfe5c0f7b59a1dfd0ebf8f3b0cbd4f26b9d4e29a2c0533e5ce2c496d728518f10f64c9ad6c974dbe9acabc9f488666b46c20404520b94108911bd2b9bc30b272f5a321e8712dfff321c71769d11fe904a595d15d7414d3302071b789b6e8692cf0d3002a6ea572dc446f994b98343e1b491353d51b801da361892accc1a5fff56a55185482750b8f86a3a40cb87fc3d4f275141d301913f42309892c7f145130e838c22e764820ca0599edbf8ecb7ba4e534c94040fc196a80e8e115b1666f0effcf8d802e38ebb8dd6352ec5a76db93d1495f21642ac1c11e22a09b9d890d6e800efa9c706a4bfd410f614817deef4bb3246874b5bb968c047de535fe04d3695f4b39cc20b8bf114aff3a9b02a0f926cef3b0607718067da8f66c931a25a804128bd54f18ff71b7da893492d5f7dbf1f5e83a0c12aa43bc630f722d60a8e8d6c2e6893395bffd8bb6a69fcafe20067dfcc0cc7a8798e63023f3140f61c7c6664441a8d4462c53359d2494d7aa04a240bf9a40445a2abb63a03d5f1a25cf9e8dbef97c98a1325f9b0771fe26771b5f8137f986d231e120a5532fe649e79244be407f9d2bc2cc74f6fc6ddd99d824c5ae24f4d920b10c2b7dff382c80be8cee882bce1c56b13c02fddf2ae2bf70efb5c76c8e24ac348f6469d9e816499a660e880683464eef3317a15c068e2ff41680301746f3f6681ebad9b944f97e94c36680f9cbeaf8f52b20688026847ffaa6073cb421f2d4e216952b56753bbeea8fa16362e1a00fc9739e77207409b4c0e1e3514f5f03875ff3ee6bcdddd3cf0513a69c8d237df987dbf69faa8ee28c98ca42ef20b8ee2a5078a2c6cabffb77cd129b3ff2be4fb8f481d3c933fe33e24108c93df6f15bc79c734141032d73928211d5588aa089af8b98b8883f63e754de4a909871b15f0bf896ac0ae0920245665e1298a06e3b008e079aeb11a0da764903427b51a68de967cf06b8110edb566c38faa72eed9688fd03fec1d94f0cd52617158a366ebaea42a2f24710edebf40d4cf75efad8411d489393c86651f29e47701d01d1726f6e418211b97a81e8cc78b73e0b114b39206931612a1d25855518f7899df772cfca2747fef6b86cf96e2fc6290bd1b66c1bdf2098e2514b9aa50593132151702654d95e91fcc619869a3a0b3a692e8a3c723e7a5bf47ea2cdcef9bd20b75bb74c5a4b486fc5880d41d8b72719a39af42894e2557e1814baaabd51b58e500bb53ed3d0d79bc56ac5fda351cd4c2a3aafe0a7a5960530ad3012ca07deeca12eb04d0793aa29322d0554514ddf96f159aa2f9a79e97228e943968c32ec87e06b8c1b39168316da2e5a45ccdb640787988dbf39e5a260e136e0bb92851ce65807e9fd022df43a598915634a21a134cf73512dcc18b21c99baa4ccf0b04d573e5c0b4cfd08471928d2118d27f905a73ce1c2fa19a810a29772ea77bb85798209e043ec1b3734f082dceb26ceb584c111316aa1352eef9e66d60561504d3e7b855e19914a457fbf5f71c25a2a912a30dfdb166dfad8cc92a06be40fcaa05459d88c1f06c67748d043a777dc97b1b4c154fbcb96e5954ea1ff4d30a9b2f0ee111d2a2a2b5cda3844bd5646a50195ade30bfd001c6735c52a3952e4a69309af00e3d75d1ec4fe2da6debb5f83d9f607ee19c6dad518d12edd316cec47fc58d2b04c37ec11a08b5dd747015517c18ee5b51a0c55f7b44eb7fdeb3e8d3b7ba4bab53b0fba7991b4bd50c5db2fb577550e096911ee3b4071c0bab8163dd4dc66c685a3c254b6d2033482054a3b02a87161f6c62a619566eb39349b00369e71162e6fa624a2cccba701ad5256122f8a326cce3b4f2c63cd0ab7502e4972b1a86e842b916d5a9ccda39422203f4847d9576a2f3f5826a53ca92916caf3d099e93e2578067d951af6ff875187995a256c3a2a63b1eaf5e8c33ec1f0ebb31763e91acf1de357622a6cf3cae9f98cc0762199f2606d43a10928fe4d08521520a372094f68e8d79df8316251f617b8940eadf7d9f8ababb075049d05c51635cc9e1250a1b685b8bd29268c936483b8542276cb167d09b448de5faf0cf595e502be52abacdfa610043ba23f3018050c2fca50a377263a3d55388465ca0bb33275a1f82baab568553ad05956cd3bd7d288f319d0ce67f21a0dcb4079ceb1d53aa1a65c4acb91f2887f34a1a7b48630493042d6e0c5a0a8390432a66190baeeba65c4e26064071335ed1f95e5e3589dc2b501dd3ccf64d314971ab9e5d2a9a4f2ae7b8d5e7546c3a4589acb23677a6a25224d83bb4ad3cc344df33bcfd88a5156e860172e1c03385380f5706b9ef9f026f2a85014e5bc3f815d1b5c93c84195f20b4e58d499e21391848dfd6ea5fa084dcc29ce29b8e5e6506d0b818a942110f1eb91eadb36fdb953802293723ebb5b4bcdea447697f07eb2c51391f0ce167abc69ee267c31c7e48537f48ad078cb9c6661e6a7b79a2368524a97c8690f0ff20fc2c83f87268d05f2308e5315a60aebed7f71925acb12a2ef46a0f9b98e2127c0d2fc4c5fcdcf4599df8b0b66293787513636c41fb902bced3a7ffa54151372080918c81fe4854c347f2e20838f454fcceae8e29ecd02c0f83cbbde7eacad7a003beab99fd5fbd0e500d0dbbfd57ea8876dc80298c8c059e22424d60cc6b114304f80a1fb8ffa76dbe03fe5d58481defb8951ee9ca7c17dcd03f83d4f1773d785c32b90e146ce145dba738ed6fd26bd294197b195f10dabe561ede6585229b4dd35918c5d19a15ecdedb42b74522b517aa9e236f459b0d01120df00552a045d6e46a66650a91896ab07fe3b1dc6235e0719d9170f965fa1f562184fcfa5b0bc74fd63d24e8f6c2a2020256188e8aa5bfe65561abf81e1508ae4d12fd886127a8d471dfd0db40843b9690b589b6aa7ec48b3c4fa8ae7420b4cd1aeb1d43656536bbb27e9a82be92e26a6896a1f4069b64284a475de43c7a52c7ac1bd40825f99d4a0eda0775f647e080f0a1a0b29d46624dbb6f0c80b436dc45c66de20a38d8886c6d19c11c5479a68d5b49557e764b87744584b1bbcb021ba66ecc734e8be9b3d4700824d8cbab650b4dd26f4b0f55fef014c4e6f4fa3dd7ac6726d79d4aafa4bea1015700a799ee680a43ca622be7a8d1f43525a1914e9206488bac880bfa3a07f6a29daedfb3e3d2093b3377a6940edcd210ec0eee5de97044c4e93322f9e8e885aab3a8f8d11912050eae07cc7cd9601190964f1b6eb1e8262321b393694818989c4f552c12f621c45fbc4ee4279c766bcea25cd7f0078ff93d3ad53d56b64b0a5565c94d71e63579273e8dcb5fcc482bc0a02341f6ac6033a96c9514511a8e013c8373a54bb444d0cc8245981c7564d7404192f91467a683ea391e7a3f1bc3fdd7c76be1920d7d4fc3f1b89a8492e3cfd0ff482fb6ed3f6756979efe1dee8ce4a0ebbd59386cd8dde81e86fe4d9833aa1e56d158da0776baa194cd1d018ff67dd528ce29d6d174403250e3d66d2deb9a8f3633d60160f43fed4871b93f6f06f0f670ecd1e360a1fb132ef1e10de29217fac3c99edcc622fe5433577752cec5bdfb7095806f6c9d1d03b735a564100f02528c3fea8a0ac815c5cec9fecc5cbed04a72894d4c5a9f96291102f5ef363bfa1a12e79740d05ac626d896e7ec622e4b4f7ed1912df23e7c5b09d9ab4680df1670511543a591f97baf0197d6ad33bd9b6f602ee16ee126880f61936626fad6e0c10315f49e2fd0c2ce51b5af92526685da26e7971d5b3ee0690f98f528be2abe8c251a6af51a1d337ec30c7c78731095e6278ae5ae7ab23f762cd890b66803062083edcdc3335c7688714ad7669edfbfc986745d12379a97338d00bea92fbeb1f4800dc9386fffd0328a6f58651b36e675f5cf28505b7365d479650b0b40863c4f21b2cfc960a073cde97bcd4cf507d690920853a6dfff8e499ba07c8425889488f3fcf3c91c080ed8e2c0fe568617089ffc601b022e626454bfaea2593ccb58bdd02ffe80c4103cc500fe3484bd1c2751e2e135da63326f2008779a04999b16e38a2dcbd74338032bba5bd94271b0cade010352db4263076e00bfe4205117dab9e71dcb71756a841f8090186d6728eaf8a8024f588e09d50efad6489b321a5dd30946689de7ed79682f60ee54d874389dcd9562d29ca740bd5c9a1c25086f2188709e57b81efad786268fe4d00c4de311378bae6fd0d928298e7d90afc4fa8b6f9384fa8edfc6d4162388500ca57ca00c93641db9a0ca366679f43c88c627a94584800d13e15e16582b8c2f38200184e2d2954d54c5d372f90d5ad1d55279aaa1ed3c3fb396b176766881708d602501d831a6079b43535562df95edd858dd126087b17f97a6d3263db008e8f41c6f1fec13f72b9e8a935ea3dc028e31319ab20985999f465a80c148761e945bef58ecb6946a28c7ef12a27838c10b631d05bfbb36d395f0b4a37d5d08f2065caebc34aea91db1fd2bd30b8ff377bb2c5cabb53699570cf2bad8037a5fff5f7a4516f10e2e9a11b2f1bd049c6c7a8d55ea1fd12b47340d7462a8ee83f609e968d56d135eba78e8e076aa8780b376ac168586b2f7a01f21f6e096c94725370332ed5436afd1385a330ef6e1bf58c51077373413d1ea706791a59a5864dee6d170860125386a194078aa7b0457fd9c8fdab03d9fa65987a494a9d6591e0833d3333b7418cf5d437eb2866256c6df6f3da06175df2ddfc96346c1e1731d95fef9d92100c52bae4cdeb9daf3f653e28e90938e5e666f72056b11e8390dbaddc9499e2dea208e7dc35e5b7f56ef15724033ba15739cc7518a658574eafd8528c31bfeadb951a13402252a256b05c0e3e43b962a5c228a8332a0414c314c25952c1ce80ddb3b411d0e6e500bd93aa142adc53c4f25dc73b3bc57f0edf5aaf5a993a6fb82d80bc10a252640880f79ab607d30f20b3dd7e362f8746bc2a5b7b3ecbbb7f38e6e7e23f195e8bdda2bec947049746991f93cd6b5082d068b974037c5a4b926e8607063e3dce2075ee90c0d52a51fa967c63426c1efc689bae07ab2de776a172a66d6d57afc1357068dba685dbc3e67e69958e5c86e30d00addc6cfdad44fd0a7cc53d941a425b3ecdc1eb58f0d575c73bd19480dd64d0ce80659ad390d4a3b46aad3e894a69f359e0934868df3dadbc59ced4291302c58c88eb7c07ab5fb21ff3b55b3a89c3dfd5cc03cffe247d57320981b405b05f491cab1f8d971f980fc18a8b78a35aaedae3511ff268d5e00bbb7888366268a63b486fcbf193365207ff1ede3f8b03510d05907b0d858a44d383351055cefabfc42bda676c02390a7b712144cdd013871e024e54f1c4599ff2f8032573e7117b435950e1b07d95f0e6dfbd4151d47a9b4e3187193100a03d53c1ea11496d5174930e495378f8d27c65d3f08923bbac8ba7b1ddc27c12697f79fb6c4a8e65b1ba09cbbc50e48459c7a4ce142ced215c2ee0fd249f504fe11d66c367e88b8c368325c6e118eb648d8e98675051882f6498fa36e3216e4ce8346cb823b3a2ccf79271fd6659896f290fbf066298c49556839046d64a2d1216ad1a1ba55e7331bba5060b85c888b344178c1452d4f412bb89f7085b8ebf3092db26dbfc3d5c17bfc91c9fae1192060b725b8626d8c0046d1fe97c07024199004376bfc158fbab0e9c324cabce1ee613d29f378099fd188cf6f79324a0e41726e2d24d2a2d0101f9a635424e2710b2b3af1c21391a6d96a06e508c6b1a7360927f86340601f198046f7ae9d132ab6fa304c373a2b9269dc52618b8026469d5598c9783c0de26ed45fddac743bc952b6e3db8812baf20baf5cab6d409d18378804bbca6c1b07293d9f74ff7a68fed7709ded7c8532fd3da5a6b2475a284d722680a78cc2fcfc575997bf6b1b645be2a87b65b0105acc828171576429759f0de326c517fac4e78bdd0b8c732d7f43ad1a56cb0fa185447176648452cda90338809c47152ea8e21e004c80d55174ef64c072d11d6e6f42bcdf0af777a50a8c4c47cc35ee4545bbbe9b25b1f6d1b558ac34a08e8771d601a70c85d981c3248f2f00ae2d338c64241d45e6410d5ee0b7738d0589f7567ac6323dcf0f48e2ed5a46adba23e8c8e54833366d9e2fb6e322c39d82216e645cf1e6f43fb37da8f599c5eae6e90967071f4fc3be4dbcb1c160b7d5e33bc580f0f5044538df4b89234542b7f7d7416ac1d51cc0d67b6bca6a439bef5031060c337f4a9f105924a562af36acee3e927c9e47423266f1f1c0dcee1b57abb16671428695968959d0cfd209fdd36246a7fbf9c6dd523470179de6e113b7935f8f5f6cfb9e3edcce7b737e569745405e5f3173f5ec961507b604e29c176e0e360c85d2273b0ee63471fc92bab111e374677213ade104296e247398bc19b3157d67f41c0f7408c7707a996d1003f61a57d009d0c5d2154527fcdd8c60eb8cc77bbfa4136dcc9c05112df236aba1146b11b281cecc4ce52943cb367c7fa101dbfbbb59424ef76ac4812d02ae0a5eba2ba58e7d5cae3b3dab8383171480a783843159354e39d4bb9c61027eef7433f8c2d4fbec4ccd84879cfd93163d3d5fa94e8a1928e690bd669afdf39f770a3c45e70f33060581a9ffdbcf32bd8b8a44c107d529cb29dfd85ab234146b5592445af7c41032b94b120c1ccbac5baeb6604b626414ea9937ab52d986cb20e1d71a6856997763302a5b6bb87d2b67366f757af0502d246a3bac9203fec9aab7ede55e477c8c5e83fd833ecbadb20adaa83e4a34b0f3e5b4d9caa7c882b959af4847b32eafc208943d4c033a03948c1c52acbf6d2ac21444d688da4fb1a832344f141c49b50e466fada4477508d9fb2c967d0d7523f90d2b216f027f4b585c83b00c8b1d203acfdd0ff17e1f65c72c1686feb701fd705480a7f130ad04a761a7f47ffaf8c095490d27848d1590844f20d5c4bc3b14d5f1d8fec0dad2cd030a54787c5ac9f13370eb42650f7f198d4ad850bfaad1dd271bd2c13c3deb07abba1ae1cf57a46cf55ae3ecd374bc641847ce27ae394289772f50e342e2454cad5846f8b857c2c38b21dd60e23674ab9c277c6eb109d586833a548266cfe7ec7f30a6b683ce42be56a230e1d6c6302f4e9266919f653609d96a3428375017985a08f57472928da529d5ff46fd3c7d5e0e55b1bc64f72295c965c9a7b4087bc31b175c61946e60ae1496c82d5a3341c00e8864308e6a1e6600fcf1d9d1140cd390f62c4bcd41273ad12314accc540f5f0270931e1a1f6de881d29ed1ba118a57f80ea44e51c0897bcc8fe05a1e6ccc2d5b8d42c92b18cc7d4b1c820d10752d7f773409121b8fcf0a4987face488bf491e11948df106b6fe26980bce869b98ce12c1e3b7e3c498a04d66dbe89b1af639917d1fd90e143ac6e69ff22b5c284ec82a5109c722cbddefa344cc26525a7d17e79c091a2612fa9a2c348be4f46f65fd7a2bf93c2499ab678e79a9ff0c33a8871a33d5e204d1390867c55b0e906c7337701ad53809b7fcd05897e9ae2940c6359ac9831a0b4c5267f9bb7bd3f6aaad484875cd926bfdfebfa2c3e7f954f1a0197421efe8bcb66b7d007a061241ddebb8214758610c0f5e0bc0599fbf0e6f056439a652d2244a5f557a51ec06e4a0e9861515449c530b67b7a621f27e10e3529b4f37ae5cd9265ca42729a5729f55b1757f8542718e0ca83701a05609f4c9bb78dc93d7c59a6b2508d066e81a91f6641910963a8236430290f177f5ba123ff894383b1ac9fe3c7df04618db51725f69ceb5147987bf60a68c335b300b299bfc014b89f337db2771e3c54c89f46b80f648631f95cf087689b6449263759706c140713a2e8d8569ee7cbf03b0b22e06b8a27c1a3b2736b3835807f86c59ac1e41c3e31da976469ebf9111b08f761ec16a65099639d7acbced5b75700299f5ab406193df0de3a8c0cf93818a0b4a91041f5d090997191edf5ee08ad175226755ba3080e0508caf6f99dfdc30cdd0f7b4e68570c333b20f1de12cbc56dd7f7fd9aefebee7209429c4f8378b53c8a86787f3080d01cea4b2366430fc8bce411c9c95f9f14cb49fb18ab977379886241cd203ac577489fcc31775eb25b7972436e7f8ae599706a0b755c278d35a9728451b7916a8f61c41cce2bae655e8c830e697b9cdc76dd5010856e50eebc448a9a7aa853b40cdfeb29d316bd80b2dfe632d94e6b496181cbdec6518edd4f9a7d6cbc3e2b34437d00cea1d32415ae30334f6c1b9c132f3427cfeb1a407a6dfaa70b9152cff3ba0b99b982b5c768e88ce9ced8c1e54950132311acf03f8043a28cce4e27e305243376e544ca01a7a27b35d5dd0b3a6358ee055672f11370a9fdaace0ec980336b16f72c39f034c9f038985725154cb2b708a407e86ac6a844a695e16d05ad7a7557d9c80c288dbb547f6c42eb207359878b2a8bed982fc7a2121deb979f1dce4e3a315f7ab882dc14dc81a37887b11f6e943e72ebbeb537cd58b404b80a5612ef1707a96061f850a6ddaea3996dc0d0c093ccb4ea49982136e62a5479337aa6668c11e2984ea83e8123337bf97b95146287b04ef71651693dffbce905ec4e8dd2ee292f20513b5ccda700762ad26c8066beea2cd6dae81887e6bd9dfbdb515bb2c5efec042f063fd49e5efd6c848e1e9a8233c033887f421f0c7b834d090807648829065c4e958f7e71b5cc4701951ba5b235f3715678d2784f6c11191ac347159a4dd0de799224d41c27c6a224d20649c29a8dd3b1af35e845140e39e1619dff7637ca6a480c6532a98ba977086e66d4b84c728a4cd451ad034936f532b5d98abc2587ab12b4a8acdb9cb5466d3c38cec2fb7e48a1d2e937b631c9ad607db2449bfa6861580bc924e8fdf89a45581ce669e93b7685cd896ff7a86dc90760aeb98558755ee7fee2ebf20aca5302f3390f9e1776383b0127d890a7be1f499178572a6643c960baf657a284785e9c45a18e9b1071576293cce470031da5cfa441dce6871b2316c0e1c1774b7f24185f16f5756eaf612517161f585830a43839ccb68b34ee0fc5f51ab11d5a947eb7bb3824aa91187e17003c961b207675e1e4fb181797bb9e0843a4351296a3d1ea828811e77785061e43885b640890aebe97d02fd57282a2cf8a8327be2981fdf9a0f39187ffb9863c6c7bf5ac4049adda88f9e35b800fef33e3f1821aa7ee59f58642214154639a095034f8abca9a3314d9d6553f56e5c6c60625c0b7f93ebca66d09d0f7ed6c2df3544135177bfc91a6f1e46440e456897404854d8edb30068b834834c1a54ed9a4c54988e0ea64480b964056f5e49280aed2b414aa0c2e8f9a7aa468001e085702dd83e61c035569b09954206e9079108c883350bae50f5a394600e91d4acb31b56272e099685ceee09bf66fdcdefa1bbc5185d23a91a1e9284696209a66fd6b9a53f3a1705268fd3a19beb8fdfb98a95fb553359e61319833a3b9891be0a0f663e55920861fb3e643a6c6976563e23aa0b00b9b363e441c893c903ecf54b9b0969f215894cb91009da526bd55405b0ff5e9454f485f304fad4de1773503bd701ea97c251fcee74a886941f494f55f76982d84f978745e9efd85cf78ed9ff39cc77ff08b1b941bb45f0ce631f31d570575ccece2bdf467f51581705d819c82679749f9d3cd8036cea46b15f8e2bdb398bc2d08efbfb8c96d3c5132643650a4c16796f2717a1c66957c335e0890eda1cfb8ba3f86ed95a437eee867d52705430f887a02da69a784dd501c0127cb72628aa804d8bb75b9180840958f6acb784377b969c826189e250d0526715abc3b058c3e8895235b4bccf91a654a79cccde212c56f05eb068c75c9c4349641bc460aab627681e979c794844b8fd2170b79c2cd9bb3c63f587cfefb56c971df578dc7084435be62e66be13cca4662ee5f3489054e73572080fd2390122270458bca7789d31236c55a31164a4ea2956084891534d718e19470833118f8a5496555e5ff9506d59ef9b4094110c2c3d0d0c17c990ba67ba17375c93c3d1c2dc10b3afb722cafe4ef907c9213805b7b9ec41d2c526f2f81c3a9534c617a82f37b020cd90e248cc2e39bd66a0131eeb0b30d9e2ecdb35565d930c9eab66f799c0b3333ee4728a28bf11a5ff00ba76891f81ba56f56df73beee8716cd6f76ac4254a60194072ff9a8b0e061a047b5bc44c462c299b44fa7c472f51910b13e39ab2f39a5d02c13826a6c00c475430dc0cf4c3d7a4e609dfa1b9268f0a4a6534b58f3f48af1e1dc42a255b90dc256eb2998950fb6bee9b372f949ee035052659b7490bf76ce9a4707942595da49b070f6c63887766b00cb5a35d40d345e7c9acf0a46e47e3831b26bbd3a86ee04a56b817c08da9603f4037ae782fa09b57dc17986ee2a6750bf173b1e718e0f226d6df0db0b215ec05ba71c57b01ddbce25e60ba15c7c0de41f849f4390cb0ec296b7475c02e19b8024e577ad2d0b8ffe68cb1b675b13d9d7ed35b7f9c3fe0ff73a5b60b20ef27e7842d10c0aa5a04f8a7068ef5b4b736d5804000ed9244003965d73a6078fe6d3db5f664f06c0fa3e16fecd3e0036e9304a7821535ee21a52f576bc2a1a711878ce774f9e8874d24cdb12bc4d5a179d2d72d15c0b444d5f4e5ac7f5f1e03d08d51274c095137c08992850819ac6a72a4b255919e6e49132544bdf3481404145675e95e19c50f2ae876fc99de4fed5349af271235191cde325c76bed66fd3966df341976bb1182afb1138f027d3e0811f6f456bafedda66768c814b40b76712b53948f994229305493b500a407fdbc11b1f713f8628d06cb55a075669f1c94a970c7169c4fe148a32f23c0ccedb2c64c9b112ee0f0c394aa50cabb9e2516fd03f55624560b4ecbf832ed7a9ee6105cefba7928d048eaa05b0ae2180fb36031b814af20e38f89e74126689c3f0d77f963ad9f9f5feab219092e8facf3d20b164efbf88067627633f577731608fa1fff9ac6b4f220eb9184bada24125772a089a218b0ade720350edd028826714f898b9cd05905c4e9961cf856ecc0816743b5863f4f39e08ff95395ca829f4fd9ba917ae5dd45680e04615da2edb60df4907098a5a3cf27324d71bb74e63c6589b74b3e96245d0606039e91b463c0cfdeddb1cab36996abc5421d1b6b50e73de224e266a41bdd1a5e1708428baf6704c9f1b79bc36cc78671cca88b9525c551ffb4c8a371fd5c31707284a7fc839dce5947031a402fd490677a5ce5437402036fd6f946c9586ecd6a89b3ca322ab5b55b291001f568f391d0c39261552bf4bc971ce633256cea2195aa18c66005f2cb1b0e6f6187eedc767031aa45b4d426c222f55874abb5b3b40ad20d9aa949a6cf0c9fb7f16a20d01f893d10f35fa9c9815a0584e8e05770b198bc0650cee7018ee68691620c2de6e5fa230b5f860b22a0917de3ef33009ba93803373c73f20c6706e04f1b23db754f3181e096245855f6909fa76e73ed0f4bdd2e4131f9471a4a8301c1a512d992ab64f42443691f62806638c1b3026c5659ec65ec9ba21b50f82f7d61f6507a58ecdd119c37b05142f130206adbf2cd46e7e4e2e8c3f27fbd49882e42ed5c48bf267738620624f891b5ad941876aad50d5233fb9af7eea406ecd6087682ffde9aa5ab76f2bdd2b4f2a343f8584d985a2ab4217825abca4e81746c192024505c9e1b14a538eb41bc378ea4c858b5f4759237be55d096eb237b00de4385c5cc593d77ac36b4d9788775d752272aa39dab36fe130e4fab8cf7f54040a44b2b51045dd935820a88f4356f1809aaacd96508a19354ad40a2bf97b193ad3d10d9311138c03d05708101a029b80a9a3c5cfa6ade5fe5effb605bbdc44b83265311e1d8202b89103f48af1cad1fe851dcf5082b06bebe329bd03a337e975ff02a7564f8a4d8059018c09f8cfb95ca5a6f40bcc4e2e56cad3e6af80b1b2529b9855b7f6642edd8e91f725f96c1d27b42065e8c3c2c94fd1323e2bc92ad559e9e269500b7a4735809022368e5a94f4b24842421f86cba26c6fd680c7309caca7993600e2e6243f8cc5ad7bf3558ce784c0c370540ac6fe86abff208053b63125a5970681a100814cea6a2fc06f379ac2321daa741ea510b72631a083b8abaac66b1bdc37531f06a5ce3f5d520ebdefdd71a29f4cd60a9cb005a24e03c93cb80b4ab7f20f771ba6ade1f545e97a8fe36b2ce0a27097684c6f3c4ab3310fb789aa0fab276048f37a15c277033e9d87f2fe216a1ad6c87f4b516c0b9fb4e81d2a777099a21c16680cc0378a5d6a444c29ac7dac7f09d49013b7cc8c5b4e88014be2403c16ec0c8e4b92c2137220c78ea92d19d617891eb13ac2415a5696754b88c4ac3068799e2860e0091665153521a22cae98ac94797067cfd19f96221bfcc6fe1fd556d9e6338f3d859a6e1cdd044dda16f0477ab5b690d29bafd95068122bd0fe0ed1ce0fd1061199e22b0a48df21579a18a4ac48d37d58735b835d22ab9f957d513491683879eb80efabdbe04ca37c0eb54c441b10ddaa7044f725d0a9c0fbae6f2d82f8655dd0c5d23ee275fdf2ffd34c216734622d693516005d6c70fd95352b50e3da4fb5d48d25bd3630285b211133d4fd794b7ab96dd67b1cc836c95b7a8596298b252a39a8f42d171447bcfaf44529006cbba4fa132f9eaa92c44340b679c1dec2001e99729c93ca2f8b0f4825abc9e200c445f51da2e28ba69c9ca1180c4c1763d7fb0123a933088e4ce944ec20023ac6615a5c4054da241d254bcc73cecefe001ede2b37e6ffbd387a3a0de5b3712ee847c330f96c0837bc70ebab3e1c71883b83c292e7846eefc06ae5a8c507827291e885b76f18c6107fedef2d6e72d347dc66bfbf6dbb354208217b93bdf7de3b50058a058505920bc9635993dad4fe436a30b4659ca6651d7b99336b6163b05e6cb96411057894f198b26115207c688e063a44d4f07306750c78e73bb8650e5accb2a869d869120c5734b88261c730ae469ee87524017b35287a2d7b985e7aad5ecb02b001be1db7b425555001e8dd5461663858f69e59b7db966942a769c0bce82fcc8b724f87324d03e4457f416a1cc6793234f6ebddd634cc7ac643fb8ad29645cfb84e3b134979b2a8166078495aeff4b2ac83fdca710382659e4a4b2829259bc782fac14e8288425120c03fe4495e5a27fbb5d691d4b1a68a294716b57b653443e6e95798a71eddd1916231ec68ecdee27eccebe65213795282e13d58850869232dca07ec452736fe207168ac2271947882882825a39687b6157fe4a935c9e3486a84e529026182efc4626da01ca59452485120c0f0485b8b5a69450ebe522faa657501ab65adadf416175f29ad4d621408614f162197492dc20ca9dc02840f2d8472514b14f82ab9b8459e22859797d69f4ce6386d277982176b17769d72b0b129ad9c3146540e79a2267803ffaaa5a2dabab55e7a33f44e2d6aa7f5294fa5fc8492cb7cd6ee5d215ee2d01444eb108b0bb3f49893331f512cc017765de2040789d304e290c275d5a8b5952a6087bf5ea94b1325023ce1c4a81560b81ae20c53d75b9645351d4bc07045c46aa6640492383432b1a858c9c0094a65d56a63c8b1f9c9bdd68f8052ddbeb40b854670826aaa830c7c238c30c208238cd00b5a29a54c6a6a2667fada3eca6717b6cddf8d4bece5499ee61179d2da3b9d4cd4b2642515b19678272bd226446433cf7b312e95fed3e988c43fe2a1da8b614706e549621c6cc9552c62f4db168f9d72586d17244e8c3350a28f502ef244b91cdbb18d3de032f44c178a4420e2586bbd52c95a6a51fb249491e474506aa619429bd2d0f7bc54024cef993e80e3a35c487866bad20c4cf3e9f6852bc08e4b76c891a71981e4c9244f534acbf1d0b9439e666c8b23c9ecdd2d945a89f300eba12c19da66bf96e3a16d7f694d4987199866eff2c046ce33995a6b8bd4568dc8caa47cad878e9f69dc361a617ced19e6ac6b9a85431cb6b64d47108e8f0f725fe9efb5d5aaf6c90ff9e4252331755068bea74cee7dd3aa752575ade95ab3377a7671d8cb4bd6b93eba7e65e9d1af6723aefebaeaa86af28449f254aa996736f6a0a0a0b805b1a7f39683edd92c44174d2bb5384a719c586436ab2f8f5ec92375d49e1de685438900df592add1cb387ea1f53d39ee59dafb5551052fabec64dbb1c4c400d41414157dae2a96d659d6a9a2139958002220999bf72a671d7e3115d7f65e9799a21d7ed4311c07005e5899e7f7936e966dd72de759dedf6e510de8c46dc0be75d44e6bdeb363b8437decb8d7711997fc99e25529f896c8dc481d6e8db471c4d8bfe435e228e6648a6b14e3344fb76eddbe56691248ecdd1059fd801412800efba3ccca74d8d0e96f195bdabc949455644e2c0222e5c9ce9d14f9a7f1c409e7eb020e4469ea4c48994c21eb0e7b31a4260684a7390a8e30c0cdbaa2d4d97cbe10c40250e843d60d401c3559425bd137b869e0d013d54e2b6029069391a213495ea7bdab3e12604a7fade0a89a9ba5d233b904b2ad53c2f8d7df2688d1191a1ef777cb48437f63c565f46aef3588d1d6e4460c0b81d1b7d7fc11b9ba3fe680873781abc89875b08dec499a1a583b52ceb54cb0fd945dc32eda316d5e61e38609e5bd732ee4e1b9b3d1e8a71346a11b59859c8267d61364d7bbcf97e6e2b5ca7f15a42f75eecf75ed924c62cc3b81a6b4fe24ed3c63e86434d1b7b1197234f966a71bbb9244ff6594645d885514a29a59462a774488846eef6baae637403a289aeec510e74c4ae6b8904a2f227d22b7b1826b25aab016360ef0620be6f920cd2118630080a6d939d8c544e7e869eae8f35080a6d59b5523aa79411dec49913b0c28e114a8d58d799411e414a1621dafae940aa7fcc6c2660662ba2f0a94375e2b42da7641407523ad47065058acee4e561beb90aa9a5e56b4a3f50120056f1cb862b1c04753de91e699ee961afd432ff40f14854b4942b1c5c6949ad85832e5d734d14d99cdb120dde78700a257e5a6e0b80415d52291f181494cae263888a5c599141d7586101b592c3ca4a09ac30595901baa1322ecd0b2c0921acaa5881254b943ca8dcae144a846e01e6e5ef298a247e08007c26ba50e079461240232de2fbc4aa4a173d7a097db1274a1b44e6e178b8aa12c4880281e18aca0e2b24208d8e32a8651938eecccb3230fd0ebd2c030789b1c5c0f7ca3230027ada06cc116f828c0e4185c0f410c628e59c94d66a59d6de7b5d1896659ab66da1904884f168f4f202034322c5c4c8c8cccc944a3468d4a84143535363820927c01e46766cf409f0069ea7da803d68981db38d2464364e30a186a6068dd28c4c0c09e6658445a14dcbb0eb5aabd2293b6a9141d3bd18974a109a81a5ec82e361124eba682771da803d766050c721e0cd7c64d2f0b7d65a6bad3dfcc9b22ccbb22cebf0a87befbdf73e494e770f9f03795cd7755dd7f524391d103d7662977e827d3e0eb1e3a39ff8c4a0aefee7e707cb40391d86611886614f92d361b5d65a6b7d929cae3ecbb22ccbb227c9e9b2cbec5dedd469a54e03ba9da669da93e4745a8e4e26ee1fa60d9379e54e9bac5a476dc19109e461411ef55c1a366a0b8e9dcd00b9f4bb460f13e0196050bfbbd66aedcb487536ffc854777312ece7e70728a7bb073aa1b3ff010a75f63ea22eb2b3ff1175492529753ef68c54aab3fe93e4d4f9cc25a43a2bff58bf3909d6d99c24a7b332100e10208f086d608ff79ca996994b472d53324915410208764c70936903dbc9b481cde4072951aa741124a44c1bd85ebc22c391094d80a19686f14a473a63672ffec7843ca887a243e08b81a7cc1e965f600f371878080cabaca680d15e6402bb8b4b3fa1da935c84c05f502818375c4dc9624e2ea2226470d65a63bc32191f63fc0e92ab5a955eca4cb386c5f9c3cd5f6cbd706116e42e87a78d1544caf882cb2acd7bdac6c10965264f574ec5e4b4815e57d3b4a965d7bb4db328a7c8a06972f7969419254740514f30064cad537f1dae103a96b19669966d176d1697ce9e652c747680ce32ce834268d135ac5d64358bfd624142f7f6176617a765cfd4daadf92dc79663cbd173438d00e7e83ab76cdbee5dbb85d55fceba168a95caca0827ab2957aca6e86035454a12bc232def61c9692ec0b76fdf52ea8890865dab5e20ab3a56537e9897899e7335a549cf93220a072c1f2b7dcd548b46d852aab1d65a6b49f2646d28596badb5d064c3581d7145c39511440ca0e1ca0825faa65aa3a7e144140e18cad37966d76f31d7c853f5c170650493f6de15860a5820a610bb5e069e234644697a19842ca640553a9480e12a063b40af6b7046dbd31d20f7a19d09602ef43ce56cae5988a352a37b7868fa50109845c37b39da45dbd30ca1b797b9cdd2b6064ff4a5d5a841b51a2cfca81b117bba13fbee58191a869eb7600e0a6feca68079bb11b140287da6b7b69dd82178239f41215ccc29071373ca913eb96cde5c9bb390665d0ee6234ee7fae822cebb2efac6d1c41cc67c3b9c5bcc5f267de8a2631b11fb1999cf703443aecbfcba4ca68939cd90edf8db4bf4f73e860bd2d3db499c87fd1e86f32e9dd1617b5a89bb3af73863efe66c5a291b409eec6fde6171a82758365c49d9a106249402117222357b1f4d10787a1d78e4a70336a41ac2138c979197111934edc86a2864923ce0e7d42c5a2365be8d38e0cd3c3dd52c274522cdd2724c295bf238499b797a6a691095c270758394d5740461b8b201507ba7a62678336f2dc6f866ccc52d88bc167a1f38795f5b126b086fb604c4c942ecf921f29356c9ee2f7db5eed568c578e13c699bf2304a488ab4668d886579b2af3cd9f3dc1863be467ef48e8da6c132d243a230c8e65738fec22ddac82994274ded926a8dd6c6b911a9bff7aeebde5bf7cad65e1496e82dda662b6b44484588524acd08cf1d027dbe467e340d56efc42a3b914ac7c7ac915056b046425981e92bfde124ac5dd3dde66a0925c16a2d223d51556089ea994d8037f235282a703c8426396d987387b4f916102f65c4a5188148ba15b15e5f80dda571ae563e7c50a215eb4664d4f3a5a38c365a79650876748b975cac018a3c12acab97dc80c4570e7640665880f59a6ba8b7ce00d8d50c453e466c7bc1033e3aeb34875c2db3e742e7011f5d7dfdac4246928b979b90517b0cb8f1c69c651aa51b1099c990cc06c8a829b077b343e2e0b63db8319be4690362aaa12f4f4ae0789415acdd1dd7ae05ad6cb5c48263d3b602d3ccbcb5b48ec282a177d356ae74870cc278941558854c1e9a56ab1d7a4ac9a3a29ac0f2b100b4071767d412e55308a16be4c907718a55cb791afad93493a3a1d905329a666606f474d6e12a0c301aaec2e0d23ac6c0de89f34e30880c2b4fa9f9ce0040d40c4ef204218c35e4d5d05fec9953ea2083e75057b0777b1e8545cf9f660fbab99a82494f7a8313579a1eb6885e5eed3a8d757b391f3b6eb4460f1cb09cf2899ea7597afeeaa267bc4e487102a8e1762fa7907becb6da6aad7dadb6dee26aad552c69ed59cd3a99975dce6b3593db0af3599665d7b05fd9c3f293edd692db0ab09f00bddb3212ac83725dc680f5753bc4858bc8d5d72deec2fa0a40437883456c863c06348437549cd1977c26a395a12beb709ec5ece5f5a8d10c6655abb0ce3a2b97d9ed8517a183103b08c2941c38e9aef775797d5e1c7da4f3756b81d2ab6fbe14350547d4140cfbf634ee90a78b3b80c5b1d0823c953a4a9c1a08e8a182a46bcdded6420f95cad15cffba8646d2702382537df5f4755dd979acbecfae761eab77ecd7f722ad86be3b365ae8a1d259d640a9794a8d5d04f4e4f07aac8d85cc6af947c904787302bc894ff0d570856549cf7c433b5835a1e54a100d573908a379345ce9e00708ea8ad5865a025ba04805608f095739c8d2f2d2085cba3c982b2c4e504be0a8c51364528451d37025c515522c214511a6862b294a9063083b1aaea298c12a0a1e5400420d1dc010117201144da058b28410971fc034a12141a305351aae9e00014dc395135c564e5c5103a5454d6946268604f34223548f40454101782d7b11be209a93144336e775a6900cf6a52860b86aa24b434fe35043c0b163fcacd2345871d3d23468b23d6dd342b0879198ea1d1f4d83d5462297a6e1a5e3e53dad652a15e31597ae9ae022fa258ee891892aa2cf8bf28cd2f5181358ba1e33a1a5e745981e739ee8a153d1efe7164474ec99a8ef4b2f22eefa8be8d74599c6bab689ac8b74f0752e11e7f5bc709ee85274b901c15e4f7bf7a2634e4774d823ce133dc342b45fd77edd72f722ee86b2772f4f22e1631ccd90faebf5d7cd3aa54dd225d476b574ea01d0710b02000058003baa3dc8c57b6a7d45f2dd5f2c5ff927c94d771d08a6bbef21b507b7747b306dfdfa7db5a058d693583d68464fc9c55759ad1573eaf29e48e62fbe24c60e45f05044142dcf52140811b0a0033d4ce97e92dc74f24030dde57e92c8ee1e48052015bafb412922ff3d60dadcfcb120f377ba22efc12be0181e60e28911b0800110a8e860177b4cf0c41415a820892b64004607bb782fa79f4a75914995d70ae6bcd0a375d2ff903a944e3a29a5733e72f6347e4e6ad5af69f62689d428175099c978ef5252479d7852675e64404f77ff4366b108d65928d1d2286bb0aeb2b2077c74f737720dd0c1832482baaf6955a204f5490d4860144c3a9b53300a269d75ebded7dea59a85008c8209e52a47573978a229d51103e86afc53c5dc4715f3d26b68ff5e8ee3c68d1bff60fed5a0a1a1d1f27713861321108389207ec428954aff542ff751bd3ce6a5fc65c7f14f74130d1a34fee57fa51a35aec447570347fe4c497eb0810ea6c840ca16313131ff54a2fba8447f794cfef04dffb4df909191f9c7fd8b2995aec4475732e54fa4650852b66499011034787979f9a7d2eea3d22efa4bfe46bff10fc769ccccccfcfbbf9798982bf1d1c5dcc85f06b2200197205839c289208844a27f2a1cf751e1b87691e9322412e99f8d7fa297972bf1d1bd54000a2ca49c808c254c4085a65dc9003aed9fca741f95e938aee52f74997f373e933f1590d5c15ca56476305772d3c1fc3be19f761590ed445729c9e94457e2a3136559d6509c21c41366f800050e3870e0f8a7ba711fd58d9b8e63e61f8d9348241289442291f29199fcf5e8e0850d2b2408b1830f3430994cff5434eea3a2f11b37e50fcb1c4686d168d493fa22082a41b8020b2831b871e3c63f95cc7d5432a7f11bf91b9df46fe6d902d0264224649183105294c08b1bbea0418386cc69e46fe36060606060606060320c5624e141ca942196c0851632323232f90bfd01a6264028420864dcb0c592cc860b2f49ec400b0e4024910512f80416a04d1c8d460ff02142151f68b2e4c7cac8841fd0266edb06840872c0e20755d4a0034db699d7e4e067d943a150a8e7061eb4ac9ae8b2050f3accdc473513229d06353abe8f6a74fc2ccb32d8832e4a20a143941c9c9c80741f15e93387c95f761aff605e43464646464646e649723a997c823671fbe83eaaeda3638cafc4d4e1fcd1c85f018088e2041514f4400429333333ff5430f751c19cf499fc6197f9579a99999999999999c9c7a16ff75185be7d341a5d89a91be54f267f17c0628c30ae58f2a488234824d23f15be8f0a1fe6a4fc5d27fd8b198d46a3d16834ca252b7be83eaaeca16fdbb6e58f94bf1e1a684122094bd082883186808181f9a7b2f061f2773ffaf7b26ddbb66ddb9671cdb28742a12b3175a1fc8df2078fa0c31437dcc0c31427a0e830be920174f89faade4765bd1ee7cf7efb27caa15028140a859e24a70be50b6da20ff6eb3e2aecd7b367d99598ba2c7f5bfea09525400046086cd043961eba4fcb9f8adec7baaa9efe532999e9acab94a0d059573280cefafca75242a3c3ae527242875d89a9c3aef2b97eef835d75fdf2d88bbbb6722754ceb4814772233a4004655cd9620bdaa5accfb0faa6d07307e40179601f3d2fe9a4d306d8fb5152ec6801f688076081aeba386929a59c4be0d833537813e4460dda4408a920c3c91838341c89d185186790220f18aeb8a8d2f334a60049d3088c284c78136f044614786e6b00370f6e235e68699ed83012410bbcb1644c41bba4497b4e2a91e0220a8532ea8847f9004312c6b5a6344f679c57f6d464bc38b8e3619609eb2111b0c079afa73dab724660681ab49e8f5de7e76314124dff8c24e199a95d5a6b4ad6ab95e344a13c4152cb9ccb3abca4b70eb3374fe3a4a954d76c849e07c392eaf95a25d5945af6f7d61bc21b8b12a9771332bba41a5e49f59492ea9dd925d533e3ec883ae4513ec0f0de0e264060d79a922ca52a7401d6a1b74cba9e72694bbbf57007eaa24cbfc8002ec03156fabbe2c24966af2a778b72614e308d49768990d27470d9b49b450b17588e372035a37a805fb49ae3544f305ef042082db42084154e48a12c12f224d010dec8ae44acdf5f8973efbd52e7d25b2a71a49c282bb03c8ef7f0e60c296a0738f69c1818d96196dc74de056459cd2c4ec75eca1823a7234f2fb768f136d09e3c0db39f70c0e70766112207102ca1c511a464e9aeff7c13f8820c3394b084202a5abaeb1f92202a597c4186194a08ea549904404af4400220257a9057a27880e19c9c8e95778eb40ecd5d85bc6ba5345ee639e99c731b12f3ced7b66a710429595690240052a287930d02b3e41beb96b7b55075ea673ccc122477cd979f995e2beb111995383af53362d952a5e5e73f8f4ee905f9bad6ead58d88bc4e94f6f19ef5786fbe96f38edcec597163e1b695ed7fccaba7cece8318b1d7990162f9018791f9a814cd35d4a198740a11cd00802008003314000020140c07442291604824ce056dfb14800e9dac486c44192d59105304216208314400000000000000c00070d1942ee33080323f81adeabca77f4daa1841fb62d24ab0579df1dbaf891f23b05f4cba0d72d5395ffd55796204f68b499d80bdea10538710c6bba09211341b263d35eb0ec583e078b5938a16ab65e0d08008dd2eb30d4657bf0b9c14d553accddd8306d67d8621b37ab1bd6d2d9dde3b9a7c2276c86c2f2cd4e2ff9381ed1cc4c4adcb17c599eb7e7838ce6b358335a701b322ea3dbb96fab47290bd18bd6cb3adbea11e747b1431d8cbb66845a306cc7baccf7e0704dacb96542525842cffea81da8621cc16996598acb46851cada2bb41dac2698635fe350353dc82c82d80e168aff1ccda28c2e767de8ef11b2985767be716d3f8179e4ae665db1aede420518a44fbe506abd2d58a2aa5f310daedc5cb7649fbea46138e075340d55f1f24132171323643ad4dd19276e5e8bec28d68531d646cf2ce61cf501293e72f60fe7c92d80015dd94fd38068d5663b0a1c5f7e9e4668c59caf6986b2bb15f9984d378bee4bf787de396cbf1346edc192a78d4d252659b707cbbc0dccc344b2d41eb9b18180920375c5045c40917e759b425f72ff4ccf93b22b2a56c991af8e91dc09306487830156b56ee60f0103bd46c0641dfabd0290996148aa71f8a89d0e336afd8538d3ed881e802e4bcdc03e300c050a7229425cedf60d77dd219ca7ea9278b629606aab5ffc3905e89ff56582582c70b1e2277b654a17fd69281d31879a2bc4c768abdadf17e35cdd1053d52bff06d5413d4ac2db8c1cf5390ebab65f3082ba576ea045d8e00ecf67eb65519757ff1db214635a5edd24ab8122b134fe357acceee1c67d2ed931d83f412df1b31bdd9255a3fb3d11c4dcebc0dd00184af4d9dc4b89a73431ad646a6e59d497c1bd7344c04759fb72ef1d78c219de0a65ea2ca6fc116ab9de8d1446961f037639b1de3dd7f738439a6d4ff71acb6ca16003aa34245905e7b8caad032f7ea47354dd2bcba9b3424fc2cb75d9519cd651ae1123b0f8ccdd49045aabb9ef0fddc26385b383a137aa5e4335e8bf227b4fdb149c3f5ba9a46f6385123de50d352040a89cdf4ffa15700daa7a3010e75b216627755c2b6181be07989c861cf801da50baf0d85f193eb1c73480b7274284446d1d04e9bd911fd310a48a272f53e191fb236c50a8ea4275a0d3d3a5f821d11d20671b71801efad1050893f088b93519ce7c091834685a5319d780856033d7d96e666b149a528dc6305254f822d8f298b39e9efa84a011d245a1e86ea18146f2605e38e19fa1b92964a4bde03f56f0343c008df5d5ccd2ecb773ef34421a1d789a0cac3baf9a4e24089ca02db958959876ba3df65a93d62370513403c3f05d538cf4680e6256d4f4234e439029c4fc4641e67ae5f29876bbc2b0e6ed985902c469c968bac8ccfd0b0bd76a01ff66207e1188089eee93256cc6a77e28be80d54f03947264eaa76620fb11fea3cbce1ae92f5fbf43ba824f92c9b5c022f6073ae1d94301513830b1bcfe839728ec0ef599c1218b5c791a95623542a83ed7f8db4158b6532ae4df17504e8b7121d7a79210fe7846249fbf283f65487cb0456696d478d468f513486ac7f5bd5b65bddd5dd0c5fd4ca747bb1d77e8c18a8c852bd5829ae7dee1c7ee82a62d529e9cbe387c33ad392f612336081b7ca8f2be9fced8183d5a04880a218c63623d96ac157624c7d58f3c5d32b15c1ab41a049b34a63a0fef827b60e6c99068da5970ff69e78d897ee4ae8bcbf4054e1fb85ca8cd021ba74c4036198dcd74588e2ecd440d48af8660919eed635027e4a765d61112ea99e71f7ce103d92f96e1bd761b4282b08c125cd78d30195ebe8681ce4ae28e5308845a1581742cfc0cf3c96a09fd2a22fd5dc3268e1fa673e43ed3cc5d49aa895ba847bf533adc937f11670c5b24d71eed02a47218cd5504f95a129bf8a1175545ba91a95212bd489a84b98f3915941dcc981f4022f1ff6139af5432042a958951b66eafd4da51e246e3821f63a01dd83a25e44681079cdc28a664f4d553afb522fd8a3c022f859b3e5c585daa165055c899a8cf5d4f95fb13df6a3a5f598814914d9f16274fd0eb90fa1f3bc68e3cf2f2bdadda3a97fbd7e7d2176f6f020a147fee4be995bbef6d1fa8a3f2e20ebcd8309241fde65401495ac5332e7c860b16402720ee0da575f6a5f5397a8f7038057d31564c19b3c36a88677ff5541bd5b8ce413a0ab4cde7a3b246b9d07f2ca19b53e4bf8c652d4194615046d6931b209900dd512984a78c112e00250107d3f6faf329d0b52517d987f1be00fb01a466893421971046874cbec160e56c0531a0bfc55ea76928835b97cd6dfb8462ceb878b23e704dfa22ab7617236e63624402d4e8bde848aec96db2106b4003ef242681626716712363010b8a9df20632821963cbdacd1b3a6e9f34c48f336f33b1cb4ab9e74fef0e936f6e17a7619d4c437ea1d8dd9f27d4ad33935c63fa2e228870021955a0258cb0885b906ef96726cd92c749df253565a7f648385715e7b703b737fad11b8b25b03895106eb0fada1938cb521203ab360c88fb1581e5fce7f429c7b3024ca826a91f363e57e525a20ef5b3a7b13b90919050095149af0669e3c3d69df4ec581804027d98b91864ec786e293fa04a9aea9e3fd47e986af28ed3705722e4e7c49c0d43c78d1947389c014e684364cfd3adf76564e9a576ff7edc4bf3b1666e215fb0287936d1453fa5018eecd4fd8b75b5fd991e88aa0504cb3249cc75d77c10fe767c327d4755ca979e403c8024890c55c4405e415a5d7ba6ebac6873cc7511892b2b4de863ee21f230100f8d03e7196ae6ef8ae25ebf06bf453b3954237df3bfd3f0d6fa4b3a0712118dc45be93cfd39fa6549c4d993c19a55ec283c36580ad02556fe6a3dc6757ecb60c639ec4cb9e274bbc88151691c191fea632f87f168042961333e20f0d44a28f47128c48c9170456648f88184582754f2c1990b0f0009072f8834dc9f8a87a1f60e16ded5a5344cd7f578ff081e2f7dcf71ad2ee9ed6c0929f91676f33d9d6258fd0f6b7ca4f0a65208bf8ab8058e0c3a9c3eb320e7a648fcd7144f34f1a4448e45b5de0fd9317eacd778199d3366fd14cebcdee5428092e010a9d2f4abef6c3195a32937c4ec49763a7254c70af593a9873235c3776ff0de18e8285c4fff190e07de89335d98f931cfaf69b9cda7dc3dc093ff33032b8ec25ddaa7a6a31530d3cc3917f3dc5ae4ccc041ce0d9ee43f3110d9ceb895a6110486fa3c3976da20385d907ada482f4bbd6fd9e5e0f6d7e4b3c0ac82f9dceae5c59d5e09e67972914257fef22970cca14c0aa1527e76703bf0fd9efbe8a258271757dc3f8e350803fe396fdca28d492dc373ac9d3f1838af246e01048e5fad05df009191d8580694d1da5e6d4e64857d85b011a73bf4925b8e9128c8d3d05a4014d1e14e0f9480907a34e959471bc916ae9ee444019dd533cfd7a508e16587f757432e87c02db075d8ebdc888daab7a16f5b6a78e0302c0086488a6933b716a9f08c052a7ec1e000d4ac321d115823a79fc29bb2be5ce5baf1f70a6134f454661eb6d198fcc2661751917c891ef5b288c05c67e2ce43cb47c68ad5cdb5d2c963c49d282727fa8a392f57859c501f51c7bc2b1ff998b588bd5c49473da1beaa46183b56a5de98320196c5e918a54eefcd03c9fa72fe1dd4ecc31a4a38abc19e83fcf5f2b84cd272dc065ce79b429f0c730dc209871d9cb452bd949e46a5818d186041b5f33ee54194d9888907614958ec8ecde820e06ad24ce7c349bef10b7c5e2c41ab3f55bab379475e502cc57763a90e9725bc571f794fd2634b60a5ed53ff6cea803f851da597237c7302527763de4d4dc2c63dcb46abce0ef77b0b3a7d30346d8364c4742685407483ce6a2a66481d053f99ace029dc7c99fb3386a735916b1596b1c71e147bfa5e53698e8df722e087dda3d948c4391663573e3b127db708f2296145a063ebed2685221a9746e26d068c5f0460c722f39f1cf0bee0fc2b47c5485b73ba3d95a0101d97b5773ed12d63347925904c90a18e9503ab28a95cca8a220b847e598f2fe952010397e3a0750a6684f9d18e41498800a50812fad059a169ccfab4d8b0c7e7520c0268fee8205fe11e027e5dbd771a36d9a245ff12d45d8c79806de8a1ee8720c5be3cf0458e7ab3a63f6b6961523bd956bb10294b3db9e61fc5f010f07dfa2279aa07d4546775551e14a152752863564cd1ccb96d61aea3bee7e96330e303b548cd5745491028cb1208b95851bc83849aca768905662d7f9cc52eb6b509f1f6f071ad758efb85cff3bb20aae1f08f8e5f2a42d27304423c5cc24778c8983e4ae1f0d3e3449d9ac3d2338d8690358709afae73d4308eda9dbbd443148f35821c157d83e8b603d268d1cae334747ec2ebf20c978862397496b1d1dfc7c3a8aa5a36b8f8510fd4c207733d599f619632a57456c14661651210608437c4841aeb78cb720d2e29d88b6698086621b011db8e1536711984e6169f74e11900d32ed7109c662d193cc925c9fa0aeb843447502b694b9a3ba9523a29577500b16ddf0de85e400403edd7ff2b3abbd0946616253684a445544d813e832b763e53bb08d36c943b4ba65eb21c205538be7a3ae7317a1a9a6651cb3c75a502b7cbd9e4d65991869085f30b197c2a252dc0c4e923dc3d58e6726f8a818f429ccc39f98719c701867ed98e192c71600d9866c6fc151fec3d2211c0d1097a04b2bf1155f0b5afb69c652891bcd12b2eeaf1bef5acdbffc3b55486e18672836fe47cbf245f92eef4d4c6b596467e6e2d27c6cf01e1a1732d24063a53850ca0323aad3d3abcea855504849bbfd5d3700403715a60fd36d4a3a51c76556677e9a08d2d609c0191b6974ecada0c3380f07ba116baab8f310fd06d3babc376b8f06bbcdd0c71e0478db1fe8a06c08787e11175df9f12c23d96686b23ab174a23a572369ea32d9c74bbc23ceb1ee8b99fdff06c1a17a3712b581e0fa405f228f645c26013a1934e34064f5351f1d0eeea787af4fcb709650e28f3a134164b0334bc7bb463fc3332cc08b78f253224a3073e7050e1d53ad075a947e85713170a5b29d8f36606b19296ac905a91cb93ee519cab35a789d1d3390065f2bce13c51ad2b09e0cac49ad513dd67e0d9cab38c00d4c46c1c4ea0aa3191bcfe5243d1366bd34d3a4ff7d5067c4e9b1d177c8f640970391f7ff63e01860f90fe00ffd53f206d9d74229d52ae750b1c3380b9d449672dbdcc01db2acefcc408e038850a9178d87913deaaddc5a924ccfe11c3eabaf10a7fdccc40f3186ae436b606f856ba8265085300cd58e9410da3ca493856375ce28fa1fbeccf3c90945049184c4275c397405384a72918be72873e595af260cbf66608657f2c57b75d9d73eaeefa62303983226f6ecbd07c003c939c8f4f33af45df343cc86d623f5d2775988268c4461637b0f8cb5bc03199f09a8cae88dfb1078b747365ef7d0b87f13aec0a26f126575596f94afba4a781761af09afbcdb52b6938125e4b4d786c0af4423cd2573a744fbf9e10f1ec3101afbacef1210a335f8d98eada5be861dd958dbc24f6673c9b2c5d57af1f4a090da7bb3f7c852e1256d6c00bb871587502b639d1003c1645a744c4af12ebb5943972d601ba7f97782d6cb64bef683ce4da041cb007c0a1a3e8ccbc084dd36b2523da54bb01406dc115e1fb4a313c2cb55bb147d2de1ad27be5daa5c9a0f1961f00a25bd132213e1a9b49b344f5fb3f82f3cb583045f89ed97efe823f0e7fc9ba618aef489222fb166d524cbc90691047dcc160721c595ad8c8441a37906f3cb0c44fac0cd4076bd250e2ff7a9ac2a569e23bf9495c8dfc7a917c843af9cb784b7d5207f21309fb3935c5554aed2c9bb97f598790bcb03a87589cce93e37b1115a9e89b5bf1f9b9d8e68eada25fdd7b5cf556eb94dc71a5b4e7f0e36ea2a8e78785949471d353e3c40d488fd38126c215fc94d5f4c08bb6474d565a6e40280d93e2df06fd6ba0f861177f9340207bac2f0890fc1bd905a7e168befe3d4a1a9fe2d6b91b200b6afe4c8eec91c643635c096803efb3b52c6376146a1d073406e196d6cc602ff3eb6c977f655536018e5083dcd2ba6692322a6689157e75e549b7ca98927c1e615a8a2f72f5cb360b8c56a6a6bae64aa9181a722dcd0a158442e36e13d97634aa8d2cff98b6bda3bbf7e5e6106130184462a3197052630da64471e8d6ba38a86bbfebb66f67022712505708eae77bea9365fc86b9e1199481d2156862b065a542ee6f07d6d019e3600c7c922ec575e952b148507de48719ca4f3b2ae04866b7d774d15a25710ad0183d77aa43edc5dd76a49a8268923b269240215c15e9b05e6ad1c13c6c33ee6a9635fb682559455be10952475696cd2d90fc115be62659f6f2e616df4ef927686529dd7292f91f7feab183d737fb19f23d44f635f20f5671cb127ca9dd3cd9268cdb7d12dbac3c470c619af5d461acc8a53fba919527aa877223fc887ab87912313e9b62ea18469f7712a716b389af07b41e98932a16f73d7cc9d24aa94e8d50bb3ae99e50c380b65ec3c16f4174e9a6c7f2d45581aeda037c8725f9de810d9402ef0f58403cdca7798b600b93966727afeed28e2185886e7f8ac0360c275603537c8c8982449411fb5faad370f4ebfb601ece20a9b9dd5a3ec12e3f25785dc176f1e0d290be9cb2819f67365ce523efe0df606c19afd6ef7c6fde2dcc4ea95be06a688af368c9176c7b02864915775c033ed10392d3ffbdfa00d093ad4d7708ba1eb6c9d872534f8806ab5e32bec1b3b2bb47493f3e7d3335ab4b024d22b5d97e928121988acca4c7a6659724a85ee654b6d6971a9f01411a8e4b524c4fb0eac2fb578c1b61cd202265486d2d69c41117ba41f83c61aa0d112dc056a7b7ccb2e93fe58120f20b4f4934a43ebce8b576d76d9a46bf58030a911e349b9f40fd8e5e0da44a74b7e6c348ed22925154db18965d4a3f9e9b4c86bc26fc7d0368ddeacc950a1ab408954435fbe2b249125a7661a9561df806a078ffb0bd66d42b151d08f9602a0d2bab5a26901237eae5390a225a259b1aff0e2a9cf9595f2ea89def1e8b98d617592e7327a059f2809e4b588b0df9f233c02c8f34f5844cba19c788fe43fed6cc03898af96a5f725ecf86f9d55d2cb375a2b806c80cd1f8b2eadd26cfe97236d772556c46c28665fcf17880c4d1e182f6715b20070df3189d0e42b9ef83dcf207c16459c49634da31bf3dc715d9ac5037096b2cc30e009f3f83b0039461f60857bbf05a8fb02750fb5d9b5b3d5ca55450d93ec55dde954cc400905ba1881e74e04c0509e361205950387205fcb3c673ad136c23bf431a191033ee87cc3a9160ab49a1dd0f88e92738b926111ccbb5811a2a63c55a9acee05e418b1a64242e60379108d483b3c38f262bf918866b1b4e89686ed10e173f6066be73e49fb8922fd919af9cd90fecd43b6eee634eea237fe29d95f49499fcc0987dcdc83e62653e72275e72b35fb0694fbcd9f70c9ec1a626cec47df9c7400bf04eb01ac3a29a17ba8f55f681f842d7390e4a94feec2a2ac15472a4f29f0b6b048cfe1f932b08793f8d1c3e7ce29a4ccb3362dae2c6cec9698bf2edeb9c28303a49d6ca8faf0d3b62813b259f6daba4df8abae5b42a584d1e4f11066d3ce686ac9191419d55c23ea1cc28a12238057180c8d5e118aa98948ee89172068aa527453bda4c2259b6a8bd11f2b1fbe9379fac2c81982d8c61dbe311a3f06dad8d7e0881941812a09b5686cbff5c046e573f4399cc4d16ff56b81be7cc123136b23215922c6482697c7a87e3783b2744a044e47b33ed2fe5b02b5882644306025a328d63ef022a3c81364b9331101b2860e4efc92780dbedaa865134a9abab80cae39afa4209627e512ad99813a5dda0ea7372feb594f6b4743d1113ba263d24e600a86610896eddc9c3dbf540264ca308c7d2ab9566a410ed300c8b8b825dbeb974b180760e98e238eab5b246870d098b2aafdc16de52d94aee68fe7df31da10476fd454b5ff6943b0fe24277fd4c850dcfb52f9a069f8061abb862428978329c21bc514b612d845ab175c24cf78d7b2c63a0baf57ab827b48c9135322c4f04d004ca18581e8cf3a0299f98f6631318472e5a9ba41cf0c378e4bd6935d4923d0b68ac1540040ed01098df45811ce02da264f90493eff36b53b846d79f46ff53dd6e1390e599abdf5a105d152c4c50832c121de802c85e714e12405e875eef06de780fcaab6d1388151c4ba3d6398743706f3f03788caddb57f32fc8701df1f442c752b807d9612932207804cb87282835d2dac486825b44e285aa3c8cfc0435f50921e3edef4e3469be067ea12c50357deb3a515cd14a2a97f40de40dcc13dd405671de63eae28b7c5aa60c4c7732975d25ab240f799a98a85068d43954cc5c9b73d4130d352055a441f4162aa4fc246cb29aa5c03067f2b7241c3cf7b80644369b2c98f54b468c79c579039175b998bb2eef1f2b9ee3a523a3c6f53281eef85bf19b0a012273455a58d71cb6866e815f23be0c009e9c378989e1636f8aba4eb86f8abc04f2fe0ab2646313adf60908bcfbfba9613a0131b7a7e623e20784f317c78f6a938b595fbe1dad05ea5f74abe2b01e51f430b01692022ce84413ef4865a8d3f039a5155ae79abd2c4006fa5440bad09bddd422a2ea1a6271d499c7c20c121c782684a59e2422fa626628c2d403d51bd6f4b5c9dd6d5cb09a4d71ad99df8f53e25b50e665c0521e694878c8defe4db926dcb4c4d65db4a0971d971db410a44c1f390f0f3ab17c410d85c8cefc44c0e13dd806dc4563e8ce1336b954a55f69c83f8a43ec8275e24a3fa2f62a937e4b51cc109f715402879cde33ad0b6b1b81c083c7b811de654d21a42ac5325665ea8390f8fee8296ecfa5e38f35fcf037f75ab4f44e45c129ba2a66c32bfeee0a096c406fe936291650e14c4c861cf5ff05110a14b607dfad3ea9eea204b02da66a37108d9e0039598332d6a2d270ca50f16e320ab88f42853cb6b57194f1503ce4dc5961f73416a98ad8a79663d0366330e3d260218a5c37c25fea39ef660a68fa4a40106ce4d635a4a2ee039479f568a96277857851c62befe77026d26def4a095886fe2c4a7e7d65ecd2dcb4b760ed69690ba20956a88a467b3d634ccc79e6c4eb9a66f431540020ede69ad9cba6d80b30aa8c75a604639f7298b1c042c4f39a2a256c20996b06b8b366c6507496f663ba8f9b861471ed7316a3b2fc903b66764bd40218d23e684d1a11b86508db37d630d432ff4950305ef44a395ef918645c4e068242969d7741c30d70cad8533aba22bb3a9c8cb5937b67f71edc1dbb358e268b22db0df2cb1507a979028a540cb06058257d6d160b0fdb5bbad7bbea97c4aa153acaa2da141034e00de464b7ed2d640fa86a3204b139e4d446ed3a33929d7abdea2fc2ebb81c47e715b54fe182321cdec913780162c9bb9b7e2f9d906d5fd2388abcaa9a928ce5847310f463e94895842e7ba6718940fc7237b3633ca8cad23c74f5413b5db2da4e9deb24e524b3388b9bf1ccda552f3fdcd33fae5227a89d1a00dcc228e182c5681c876b3b1d344a586e0f64b583572575d9a8491113b78f0130b654c8b8b3d8c276420badeec0f2de47282fd2c1341e5a6e2a4cea1d3103e1f9ea64d57af2a5380c16d292c0de1452f154b67ca8747848893569b0770b684c7d9ae10e7f8a47ad5f9cf1a579818a2222831fe0a9e6f68ba66f9b41c01dfa148e8a09c96236679580fe0f90004c80ecaa5bf386d52838d86a1264d1712b0926fd5b5fb8b0d12454b415852b400e82d0be45106fe96bba242dea3d596b339eec8d905e473bb4e190a3249fb92eda6b24bf01695b48825389fa6ad09c93be005982ff6fab57106b39398199f31e9429f82279e2e68e739ceed81dcd6090a2ac86ec61156314faa0a9c317b64c7b213270775213608e3db1ccdce802300b75e8daae2bf7e8b97b44a4cf1821630d6f40023403f0d674c1a37183615fd490ec7cfe4566875c78800a0d0e63a7dc64309106380250954cc44db2074f922657398129a555c582da89c49eca836be65c823e9556566d8045cf42a1f55d3dc04e3c819d91d0f4ec1a68e2dc2f7a934032405a080ede14ee2be630fb4102f00e85a83442d7e130f0aec54addb118a35309eb58aa0431551729644a09f896837ea46b7495106ea2c4b9fd00bc84d3a1d07e5acdbc36f0b38d5772a12f156722fcee39c2dfc7af254c44a13778c76a51780f2522895a310b56079c56315b1d344b1248d048774cf9e763e997120637766ae3aa0b27dafd62efcc56b34268f8b64e59f1f0586c4091f4659a0aead56ce669284c2abc051d4aa2c8af2a42ba5f3ab41034ed7adbcfed1f47a4c38a48962edd3016e5a86f00ac4a30ecd04d852612aac710a41083babb03524fecfe125666d08f154b91793581c07134b6b6abbd21a4c98fa61547d97c20cb02d012fac57988d0c0ae59faff702859e3b1fc38170dd6bc602b4d27e7d9b739c3571888924cc3a3fbcbfa8b197cda986d0045a8106173cd43919dd61bc7d9673a3d35ca6916af22b9ef848dea03a3427ea580fd908b40e66412d20b4c55266b8af98655a15e59b4e32da240fc5ce3dd38a000125cf8729d491be298d00c6107c498244e8f5609a4434068dacd7df20731d13099477d548473b32410ec17481d37ce13ccf04e7a1a01d26661573667036f13e025262756ae777b3df063cf44014893de593900e11ab022248d9a2017a9fb642331af706f5772a560b7e970b9ccf8d6649538afce379a9149bb33a6e48ffbcdd689609acf2e81ffd074b6f4f9ab7607a41dfa4fc3b8356cf6d49b28841928fd164925975834403cc22318811174de848c7741a8c59157eb64e713d2432348f325671e84371a92c6fc2b57940a4e5ee896405bf5791480a373840f9f2387ea2092705624130c0cd62cce1f8895e2a5aa8d0c65f34dfa820317cb30ba4936d026ab04ea5461bf7828c9150943aa1458c58625cf1238ffb957940ceec90a0f937b7f9643c217bc985721f890676136967045276e9c2f26ec54f817b8789d92c1326ef6d12c3985c41b21e26a8138455d8220a9695ac4270d590e95a5c78007ac0b052db38bfd7a59dbc7aba4b9ef14854fd9b51facaa9e4004536f0040a3c6271b11af324f5a210adceee18ab8de9f7c5ff49961bd7d12a28a15473afd1079d4e3e45380324ee58d4e6c8f2b175dbdc948fa76c2d240fea01b72ef9d021df231093e24e4dc263e967fa1bec7924e9da48d326ac347b838eff164689409a48f1e01b904c5897933bae9100688b09a8cc2828de69c33312d673467e0b6fd9c4f525d7cea3178f944382e1aa0bf22fbb652f8641b6a223d8539e597570bcde0cb3f1d5035404f87d3fff0daeb441164782db14bf1c1f9bec88555428657d18b9015de8c7d7b385000cc7ccb3bfe066776d6a08c71e84a5553f58d2eb4f2eb4935dcc7ad76f42681837ea53b4d69d8c7245a456d628690d8a8f5f9a453c72537f5a196a86b857f6c0422cd2a470a61986ba4f12f1c38af8ae59bca2f8cbaa7e57a40b4076c812d84e147e95b993c7117c41020b8b26de9d9b5bf7c0abab2164ed798c5a53fe68c2816b4cedfd16af636d1682016642d8ab932555144da5d687cdabab38964e6e8a5eaa2183c4959c63252b9e4f487a20247c0c587f677869bcaaf1d6794b9f3d263c31d32367835db092c29c4c3104158c80b3d6dc29e053f0a3a68233d80399b480a1ff0043f86b8692ce11324c61edc46903a33fc2d379e12629520b2e745be4e6416ebed0667b0a13503ee8390538b8e026852607b1b11fd98c176c65a918fe790bd8ddb50aacf883c40858a44a0d7c291e258a400e1d242071ab9ce36094ac74b88c25977240d270e978044c4dafe8aec5669f170b77b20e1f34b0ca18970c71bd105200508fa90175be54e04b79e208868f495e2d11d2bfa139fc4ab9036158dd8c0bef1ff9c163cea9cf54f94c12001d8ac3782c0f5485e82e274d4e56bde9b481d5a36d70b5540988bcc1c4a15764a76c8bb61453d1515ba2258b2a2cf7fbdaeeb6dacacd5ae46385e9ebf096bb7ba19147f85f44d3bcd20c18508f799a9df636a391e10ebb04ec17e0dc142ea26118ba7027a1d9c3e81bfd900ef8a40ba1ce71c594df2e060f10491a8a2a704692c1154971430a87b3566daadecef9fced688e0286962520640c86c22b49c64076f112f3b4d1c4de868493c3e8ede0b43cc07398a8ee2ea6e516174347eb7b4b880849773af970ffc9727fb4149bc5c96a9a17c59ebc5174cd9c34545cb4f128a72ff89e881997c7a32f0de43ee5f22be383cf47450147e3e9715cec3a7f16a66340ab41d49fde7e02aa836f218f22b6a170aaffd707cb8198930b71686a95c8d84a96990dad1a3d2b260abccb96bb752bc61a997e187daf82b31ed3320d4acdd20a8b03d5bcab6042494276fccde8edb7f24b2ea157f75ae85bfe959a6cdcad955e43787d8308e52b8a9bfc83e6cef2a0af59eaf80229e4411a3052dd6a8e8484899bdd3e2c4e5fdbb078bab0fc5df217c8243aae110ed7eb886940860676d39ef81d12a7fe8b4e29957dbc431b3117308502e054d745df626ffeb9adbc194289e8b4463c936513316a6e23a521493146b126d235f5c8c21f2d2af3c5308425e61c6e76dfe41926c5033c8d240971a259201640443621195464bfcaa3849a89bd3673c892f3992836149fb3ff0fc0cb7ae4969f3332ef29d7f9bbbcc339d17a09985b5885c5531232718f77a821e18037df530ab733bf07f9da606916580c0afcae6871aecb5bb48d1fef1920d2ed8bcd9b77f50c78446aed7bc324c1847560d11b8860aa243a0739d0e1e7004809b78ceb18c6fe7c8d3739b3d4b341b90af12dfecc36f6b1a71b1e5f74d1eac47a07c00ba1a3f3125e42a72a5cfca5d6272b06c0201b07582079fbb82d8e08a83ff8a7f506cb0f637d0219d6e5ae5cff6a4ff8c4242d1d5239ef2f75a3f962a322ae1ea8533f83d5051882bb8d8f7dee2c5ff0185e2bd23f69e1b433ca45841ea1ca3148eb3b1899c4637fe79ea66e69378786a4c68f3e3919ea8d043662293dddc7459edded3eebd2b58945d9236329fa3c4c64152ec0f89855037a68d678b00bd0181155ba3b28c23ba4c87cc0fc685bcb99da9281ef149f410bef0e9d5226f431387122ce06644987b943540a55e899a22a9ae76d2ebde117fa85789f8c64555f0707ac6afb1a0cd28f5d951e14ac7044e1b402c30b9d9a7c9000a85f30daf020275aaf2b7dce212d6d03f903ee044819200e6a65b3532ccfa516dc397bcc2a3d93e5eb4b365308152e141ca889f41d29c9dfae8247add42167268d04a9f6cef09116441c3cdcde3c8adfc2c00006c47801d4ddd41a65cfb96cd542912002c125762b50acd3b903daf82ecd28d01d028e09ef7f22ba85cece0007bef8a7dab837a241889690e26323a8fa36d8f97cd3bf1fdfc81a8037987fbc73117e6239d1e5799da29857b027a43bf6a316914c1055bd5800fe0bad480acee65b4f8317a5786448e326153ba5d8d151aa79c3ce45661456a2e4d68836b1f3ecab54c7547903c23803e885af162e83430cb961cf8b240cd893a4183b756081dadb0d10c00c1233d37166c3f73809d3680843996fb45b205c79b7a4e968780cee56c1fd156c1182fd3e04a1e85ae2db63823b577074d85c92f053a59bf76f8367e8dab7f2dc22f2a7e370c3be505bad83c6d22dddd3ac73dae4536e2b38bfe7555a42b00ae752874c2d64e25a5f5b012b4bf329259afea19f309c68f46cb80aeaf0412227342a50a474ae5fabc779a900f36700938f531ab1a2cf35e1f0ad176f9d7337086d5a666abf8968c89f1cac20891700db8b03a3ee9284f6500256d8c6dc64cac6ab5e1ac80c8878c552030bdf46f18d149bae2bc17b6396b297e9552e1fdfce6d3013d01da7c1644a36ddc24002f8e6ca27f9b0ca7e89017198aab1415120c6073164ed529c4a0a9aac590ece5f60aeb2de4b0331b7e5f647270257ab6a5c608784bfc0751a7b4e0403ef3960277c67116a0415de17d01dab4f3a0b6d05595bcab65d5d0ff998432a6bfd4b32048ed1cd53256ec0c8ec1f1a1b819beb102ae0bf10649424c58a92c9cff2ce1f4659cdfb28bcd39ea4e80e62d4dc6e773a292233249012aa3cb94f0480960ff3bc71da8c01bcf11a960ae5ac06037afb433812d8c485131ad2b4d40bb099de4a960f3bd6fca25b5e1d95d81bdfae861033af214bce5fac42750d3eb07ab8cafdf6c2116eb6a84d305273a224d08d2d413c4780a14fd89af086851d518c4da746c71345c88881ed0523408d8fcc6468cf7bca0a298cb8826f5908002102d52c3b53b62654c9445880d7e559fba78c84aaf147912d1f34055a1531eeecb180fe3cb66026d458ae0d895f64f446311f96c6e66646e40a1430955e12fb867de5961d50e3ce05a91206954b85e703a0c204709f515be0417055e906b8fa6213ac5266b13ee87ab06c826759c0d490c9fa77849798601ea9877c22686f0afbb8082529e2fe8f8e6dffed92afbc2e141e0c5da4934d966bf74f93a2fe6c4ceb90a3f2a5e5ebd4cdd662c5a894c84bb1f1fe8af1f50c073eb381aa505cc25d9ff06c4bde32b65c53bfe602770b948849200987a39e32e8cd49fda288597da0d7b83f9546988acdd73c6f9b29460d92fbed1a897259c902085ed08af1393c88c8e9642d855b3b0a0dc64d037393a02c1c07a4bd38c8543af09c04fbee09c8625b971457cc18b85d9a8b12edc1c262a0a4d8eca59912441084aaf72a8035de5773d0cf31f18ba67c9001c02e82f08aeda53aa4b23c7d4522f47a34e5908da7e41660a722de56f3ac7cca4c84032d52992a85820dbbc9a108fa71db2a928d161c37682491382f8b40ee962916a0866d8921981de9a9c55bfef567093a83d8555a22e97a37fc08f0fa977ef9840f0789bd6be149db4f8bd06e417e7c07296d15bf0e681c647142d76e614e174901d293d88216b4ad617c860427301e78655d0fb92903c001da709a99927f5413d9dc3fc5626e997c3ae4ce50168ff85145ab32b2200b2fe145b258d711d0b887d8dc1f0af19d0aed2c04471136874d81b715a2520db014e279c483d4b56470254c6ac108aae6bef872378fb7f4b0cb10782c760b48c101449f0605844d7f6115d1ac427a0d4b1ceb1b6cbad4056da0248d58e317d50b51e873794b2aa6b9e80f55b1edfeecf655dc85502e34820ae13894f7ec6e2ddd0fdfe0029718cbd5f259f5700b061bfaa4d03bb24084ceb970214fc428d93ae688d0635d0674a51ff07a9e0a636ac3422169877f014f01984c9273ea1372a3f681bbc473fd25734fbab2526e69697b6e84b80a6fcc9459af974bd1972f4056afa89c58d937505afb06dc6f553f9c1fcc466180ab6ca40395015e4936342028aec9511a6d302245121ae632441011f4eca16698dc2564c3eed44e085c4daac3c8943909badf476d05470e9885cbc3e0b9c43ade268e4065ecafedf6d742bacfca8db977baea14bacc70d068659896a8bf432620d594ef002123d800da09353b623dec57e26b4562018fc8229cb39bbe9dc90e23a362a30474aca1e4de378d8a72662c7b27afca15eb6d3129e392ee005344e23d79d5f25680338e0140f27e696a22a82ebb54c1918e4a3a476876c479e79e4a146ce1ab54cb9d979fab6243e32d12e08546997f49f4f44165a86ffdaad00ad6dd508ac17193d7cf451fe6b86305d45903e437bce65b219da1a09c0216713c28f2c1cd3aa90d7c225ba803e5925a77625ee91f21129eb45ee04c4929012d4f3a3270b0b7f1c36146f8f9ed549c896136cd07906dd1e1599e75a33f75f0887d85f779ede63735e6663a73e7f508dbc55ef33fa8cf3b4e81507f580ef5505dfd27e665be99a6a8445ac176151be2c6bf63f3cea7a2dfee366a1532a61c1422dcfe2a0c6b554cd7d74bde7027d1c0f1d121ba5ec8622ee3b867a86f1feb9f77d5f8b9d8a2624954a492ffe7a0d4fcc8460806fe510e4977b0bbac10b1369a8817539403ea6866492234229a3eb3224fcfeab1f978fef0661e4045b55b0be80f5f180a1ab8b7bb9630226105b577a741cfa34c5fbd82e7196634df43d01296bd4aa25fc28f8c7bb8fefd54f526c3115cb02f391cc2373c7f38a41038e43642571bdcc2af3fee6677049756f4938eb5ee0e67a435ac9423cc51a537278c9669fb29c87bab4bdc07e6dd9b0b4f3026a6c8a7e5c308e3a6ec6a231e0dd666d64d3346da8f5280ce5a9e3fc4f5ead4ca52d8a02d4dbe83b605ca634f2d92d858b5c05183e477a080014a08150475daf12fd0b843c1efd5f190fc90dd078cb92aa63a117bfad2d491b59d9dddd5b4a2965af08cf078c07b3a12001ec391b1ada34694e2e2dd8f5b19d2c76bd6bb642985dbb6ee6b0f7d1ededdbfcaed58e1d0b79ce5468b2b51fa19bb45b38d8782c4f8f1dcbe99d1c15563f5341464320745f1d2b23db6fd65a9e0da786efad5e118e745bbb7ddd9bb576bb5eb6a596be4e6a8b3cd0644f245a6475ac174e933b31d8aff58aac0e4da249e44e2c06d334093b8b65bd582fdb22e9f9a1a7b2cbea581e516d899a589ba4246e574db6ab8cea9454d6c363846bd5d34dff7450eb8f70bb6a12090abb479e3db347d356d66367189b7e8ab1eb8fba03022b1c3161735b6e0704565062c2e6262712dbfe8e3c9ce419c69e9b9c4cc020288c24ca3801e3052e3d4882f82106495d72d06189207a6c088490010f639e10b3438fc5810a195470581aa305173db60914869810638b27424df458282748e142115184d1a5861e1b447c01c41052281123063d7605627ef8800b50968a08a3c79ee77ae1c250edded3d3dad46debee76c119539c3a3c3850323991783a4df79880b7ddd3d9dad4917cc0ec616db4d3346ddb280d8388b8decd526b4d2404f6cba3db7ddbae2685cc1eac854150fb6e23f549d512f6a5f4db48cf29400321c03d674c9c5c5bb50f49214c0a5dba3c63f282d55d0a5c3679ab0d6acf1913d9be7bce5220b3c9eb021860a020c4174b66424633a12131b82f2824719a09058591e74c8996591232f6b6e72c09182fcc9274e1828b7b5f645e177f9e84efa7e39184a3219f9e9684917ebf1ff2fdd67ff7f410f05697d45435fde978569a8b2f8f86e4d3e497474366283dfe107a8c4fefe9212c9616a2cba321e2a92ec5d36851973c34a9d4e5ad0df7197dc19bc6f26808f55ee6df7b7a883da84bdac4da7054974743beaa4b2ad34dcaa321f4559732aacbf05513b136dc4bd3a7b5e98e7a2c95e465f5d94339d5670f9d3d763596474254179f1a49c0ff8e1a49381a8279cc20eaace9156bc371e741843509e5d103668ff6edb3e7d324689f3d24bdb2b9fbd3ec09c1fa1394369e75561315ad2564fb0366cff608d01eedd456cee8f5daf74ea4d72b36262987b133f6542ac384cdeda954469521ac5446940e7e80e83bda9167e50e2cf2ed4e83406feff97c207c7b8ede187444e6a0744fa5329e6ced3f4076fb0cc9aced745e8f18194bbb5e8706e15e7124db350cbc75d965635a70dc246373331998fbc969955299293b6f588e6b5f3c4a6454b0bd3d95c808da242c09064c59d34687a7bbf172b1ae54868b52192c3119b05c2faa344675b13c96d5f134cfdec8e0589c921863388ed32ea532432c968e6a33b22aec15db22cf99accb2627d20f9ed913eea924860bf6694f2531ba6c324606e676ac0e9595e5bd786e2cb99bae8de558769ff93696aa97dbf1bdb1f49efa3786b941490f5b9c90724586f0c65faf97ea652af5145e3da997df67669eb2228b1578f103142bf0228c288ae1455d8a075fce380e1c385233333333338a218ef881092c9c90d1210cc35097e1572f67fe7abd5ea954ca643225718517328489220ca12ca6af5ede380e97cb853136010b512c19e105e94912f8345ecef8abd56ad1d0650f267820c2062b39902144a6f192555353238a624e163a6c8145491423601057a7d369c562b1c23084694145194e10b930465088024170b55a994ca69696225ad00411172c4031a150288cb158430b644880f1058a15fc1a2f6f9c4ea79cf3d783155aa488e1861e72c8aff172060d1a3440101445715b9ac10b2a4da8b0620433333333ba145fe3e58c0d1b3670e0c05143971a28c1135b94d14510372c851f5fd6388dffafd7cb6432915ad43082305b24818206d3c797346ee3c68d1b18630798c00ad10c58481284c2cccccc8c2ef1c79736fe1933668cba5c000c4c44218326663041141f5aaaa0c10a142372d881060d0d0d9212900153c61831cc30032736542a1592294650a490600c93315e5023954a35b16288323740514108231a2e974b052c908830e189265d84b1d16ab582bed070c2112d1401c50c6ad4d4d4cc2527ba683186688a2abccc3129f04245165b94200b32138c0c50ca2001104770f181b982257c30028c205a4041177389303a1861e589122748d80041d0002c248941082b3860c1a2060e1c387474e121862a54d0c205a3d7eb158029525ea00499205430c38d1b376a40598109424c9440f1c40c27aedc100314206103970c84110b499c6cf1012d465058e1ca2c882d483a44200922b69c6087189c68e27280112348222504249842d472b95c0ac83284e58a0f4e90b922d6b45aad1e1cae90c10a285cc1830b21aba6a6c6643219ad308311415cb1c48b09a6158bc5c21823b9c10a3186865cb045c9178c5aad563967242f88c0034d9a98b2040641e4130a8512451189092cf001872f4364a1a20522783a9dc230fc02881354f0031655646114e200c1a7b0410f683299b2108a02032e5490200555985c2f5f3870e0984f4449728308c240e1022b70ebe58dd7eb35958801ca102780a2c94c8b5cf372c68d1b4f61839e1ba2280e60052e54845800e5851c44d6cb9919339ec2063d33c2300cc00a8a4852cac2c50a32e1ea25cdcccc8c6ae8882a629244308598bfac7195cbe57a897aa9a2a1a1c1186f5910c18006190b415be0ff258da75aadd6cbd3cb944af51436e851e59c21f0c417a3308874580287bfb471574d4dcd4bf0a54ea552d7a50f312794f1831637d450848d2711b2e17a59e32d168bf512c7cb516bedd2259221aa58b13406184248f952e349846adcc669b45ed278cd6ab57af97af9711c5bba4472c50423c2482105618a18c2860d1b2f85683c89108dd7b88d9a97aeb35028d4cb1b2f6dfcafd1251223222e9470428ba42f4d6ad4a8f152c8f52442aed3780dd6cbd657a7d3e9e58c97356cd8b0c1d22512a21a8674b0d205942176a04183c64ba1d69308b5ee3a8dd5cb9aa340107c39f392468d1a3556ba9c5f90b9028a11d109a8b85cae9742354f2254f3d65da897ac9f70e0c0f192e6a58b060d1a285dce29bae81004123040010ca556abf55288f52442acd7bca5cbf0a797ab83afd7eba5ea65cbe57a0a1bf4b84eba9c478cc00627397801c5882435354f21744432c2b2af766d3a46ddc17dd25db9d1e76e7a4ed8bdb5e7eeb78d1b35a0daa3bf1f9072df067020b7d1c9532d162e4a29a5994bae6701c6b1926b723df641f78c6c571b77b75feed63ab2727dd011580b607fc70b8485423393838eae76ddaab7de53b97a95edc6dbc439caaacc3de8488b400a87878cca34b00fbac5d6c769d738cce51c74a41de3eddaa7699f6e795ac73d814f1c778de3b47323a969df7cb45b0520d92895024f0a681a4e159c284cb09b564f98e9c085cea668d964b7e70f2536cd9e3fd2aedaf6cc0f54d9f320cf117b9e831d2e7bbe8736659e9a34040e7308b4cc9e9f353098e7c5389f85a76ed15399bb45f5102a557f2f81521dece579f176718e7297b5071dd9fbd7c6008cc343e6707ac85b4e611f746bf9e679f1ccc9dde9eec02bd9eb6c0e3ab2f71e7444b7a44eb7381d02d5b211b86613c693e6a023aa6f8575b500f54147f39f1bcc8c944ef69aa49f3f736680b680d86a03928d27bda19e28a594666a3705e20349f5715f6b032a900ae8fd735fabbd1ddcac59c0c902c4622d60ee7b23e07ed5ec0804ee8b23053522a29402815bdbf3e259473c6b8c27464568d7ebb01add53be74b5ee34c93b30d6a645a0aebae36a2a34017648d20c3968c1b2228359c54222828cc5b6ec30b165dbecfa17cb35592e1c2332c962b9fe8225d52560483c4a56cc72584167d7eb80e5d8b66d7e93dfa64ddde64d85e5c0d1926139623a766cd00c872ffb63ec0d764dc1aed73166c60c07a55d738575e0c53922db8ca7d8da2802dd9a0a455241ccdee89db3295f361120f883bb6b23f85c7780a7f8a4f60f3ca8498cffa3fdfebbc1688707b3645245b7ddfee37d23bd63ddf2a9a7db93c936375ed3487bb671fad4ff1c04b8b25c489e902146134558b020060d3d14c842c40d4b40e1c513262e13369cb0d9b0047471d738cda38181b5b9658b2ef6fdeb6af76a1795599b18926acf990d553619bb646ec4904181c50b18c6c8a1e78ab1ef5928d8b7e8081c21125c6ee00105229858d1738b6c18aa477494d581d17d21640614fc60258a097e18ea2112c3ec042c9841882e5d181ecc8aaacc8a88b4cbc10f06502a4ab85006144fd880458f5ddad65a6b2ae2028822b64829a2a2c7ce8aee962a3500210517444855f4d416a6c0e085a110248102141d18bb169d60d7bf60b12f589f1509a175331f005bbb5d92b5ab9d4901b3e966373d9342665fed4ac1928d4f53877a01636d28a54bd6865699b5a17589b5a1b412591b4a9b9837d4094b91ac0d0d424dd856d3a479436594624a2b5102b2bdec941fa424f78857d2f5984e4f93268f26260fcd89c9637b62f2a07ba21eea993aa8b12629d1a69faa7f7a754f93d468d3cf9977f493e6dc3dcd4889c6d5a81a53236aa445d6c60771cce369c4345f58ecee581e04e4b9e7a63ef4cc9e7bea8390942e5e58d213a4e43dd4a816803e4809ab87f23071e88392d0323d479aa655e60dbd92dc43ad4c1c2a448bac8d10bd42094085a80c667584e89298d511a24dac0dbd1025ba264d8f264e2dfa6a978472388ba7776107a6ca657b1ff7aa13a4fa09bf3d3cc3ede1b8fd1bbb7bbbdc2ff411de0b7ff06c3a737c36ecc0d3ea0eaf6ef527dcb6af86e1c177bac3a121cf99142ddbdbee8d3c8652a9baa55229d33188c37087a77fa6300cc3934993944482ba16a2c2eed804d2b003eda68b1a9c4ea793a8c95a42942b5b0b37ba4f431f1aec396fbe59050f7b4e0dbebac34b99b2b5cf6dfae91805d211fc1786fa676c9d4ef7e9736b2752fbe91877dfb4300c436d34696f3be98d841dfe8e64f8ef34e4f124dbfd7dcea460d9aaf108d3113c0d436d2f06c26192ab8144320429a43be9fdc7d36eb58dac7b3b100b6898820cd8eaa6cd8b556c01942b385270a4dc6bc9588a848ed3eafb8dc7dab194ed6d24f79c3de961cb369d3dc102d61de4bc75051d9120177b863e5d927df54d529aaf6933e76bd373be2abdc0bca9c7b1a12ea9313c993c6875a201395085550b5461b54885d50966ea22b03ac1ecabd539b5a95d1e9e0419cd3066f6448ab54f86348d04351c0fd4e33bc397ad5d19cc88c2689adcae599c25f9fe67bbd6e1ed719adc7573ef706aa0dbe7f6976602be5f6ced98861ca88d37a4b3a1319b042df73aa9b8692a5a6c4ddfb1cb94099c1a26119b037bef15a3058bdb7346c44406325686df2825d8f4843c674e5498391181b5332755b2d0bcd377934a776f0c3ada629862cf99932d9b746dcd89d27ed5093ae2b4bb6055a7bba675e3ab8d76eedd78543f4357856995d334ed3832e47b4bb71817384238424b664e82664349306c519ac1f06506c3982f139c34ecc04a39b5b1efc0efe4cb3b99a3a336dc0f30afce0cc0d421a2c1b6bf31776cffb4398c72df5326cc5e1362c2a8d1b4a1f6d6567b52532f45312b99ea902d9169630f66aa5c7bbe726c5207d9e30b498b6ccc28531d9a69a3c34d1b7a3b61963c6d2b46269399d03391beeb2bd226840e8b756d25ad4eddb46bda73d624cb2627d2952b57aeec396b72b4c9c969b26bc2b21fb0d7ca0c5a9d9bee6fcf599316f6ac8531363991924220c5125aacb81034460766a8051c122a2b5c5114c5144ab89083b7e7ac851974328499b930730167c8054355742e4cc17192e7ec852eb316b0d878cf590b5d9c7c1e06b5fa69df75b9c6c8c8b48ee0e9b88d1ad802975d41709cbb8e3d47da7138061dd1d7ae76b5ebb64a4fff8dadfa396321682b2145d99ed7aa9f27d8d7ba5e61f63845a0c665b682d2eef69c0d21ed19ad9735fa08ff88c43f42b7e9587cce932cea96cfb7f86ff1f946e86ef988ef2ebebb08741ba11bb5ca2399c9225b9c99d1a99a8be2f36bc6596df279ac3892e4e946ee46dd3b5e8d47e846d18d3a4fa56107aad7d0a73bea18358ac7b88641ea6aa41b35d68dd2e2572399f7ea36f499794acf79b3faccc863c9d3bfdfd047dde2512aed93d279de64d4286e51d43ff8f477e306e0d3709c9bc772e48bec96cf44dadc27d2e6f4cf9123749347b8d31be1f411ba7f302002ddf43e3761d3cb6a5e6e50a38f287d4d52d56f08c3b0075527fc05aacde8411d5219506de87fd0bf7838f8c1c15f3c1689576b12f803abf38107d5fbbc907167271683c158ac9cbbce88f501eff0581d70c70f70e4a13aec11ed7e9aa4b26b27bf3f8dd3ee95d94634d8eb9506acd3551b1d2743d32c568c26b1852a51aaa54ad579d55a4f8dc2d02e93c7f77922754777da6586d975026d914017aa34d224aa0d7d38d22dd5a6aaea375052591957360914db14cb952a982ee9627584504ab404fcc0ef83221546813a1c319668d0064a5ac4339370873b9e1f1546dfc3d33b3863623dc46c1a65d343744bb5a99d924d22c749e6f24de1e58b56c08e25d62b8cba32960e0cda45a35fb42ac31583c1f36591c8648ea29b63ffb05aac0e120c67c95583365d65944c0e0d79a71aed4abdeccb15e528c9df773c4d6ebfefce69a0a5ab04feb2d92155e7831f55c7034e233279580a83ed6a2bd94d1e0e8c8c3f138909a6d4fbba39bbf1c342b7ad8bf2e3025527472d3279709fb01c7587f72ef386daac1a2244c8077803c508d19ac805c8ececca0135fa4669118ce7bb67e7526cd39d0aa3393274af07ea9255a3042acc831ae278d185e3862c6dba24281ca90ab27103a56c0c1fc26c00ec39ebe1cb26536134ffa45fd72a6bad0db5abc2c2d3710759d7a02ab3327f549c30f93b99ef01d04ebd0484d41ddbeb77ede92138b67c4e0f7f0a7508b48cf710df1dde74706c01014ff9d356b77cc0db83b76f0101ed779498f54993e1bdf3d810cafddd7b88c710ecfeaca7290543efc50b4e182cba64351d536162b812e01c22b0009b4e0d42d894dcc0a6e5c9223945b10ab3d71bbb91871b39b0afbd93f382edacb5e0f141103c0882a06adeb05c0f435d822a8728d3e7bcf0550d0478d61d5bd7d5d7af1b2d88af60e9eabce9aab5e0ddbefdee19563c35c8f6f7562684165a654e8dac739c734e25ed8aa658eed5343ac56887a8c2eed53431734ea22837682eedf939e75da2a9ac7a948b22b6e7d5b4ed1af63ccff34e957c629b14b2751a84d8f6f48f766d8b6dcee3388ed35856e7a4bb8ea5bd03a957ad0cae2425c592a6972539e98a1556c716ffc176fe4cbacbfa7a565877ab833558af1747b4ee88b637cee3ead52110d18076f63d8e98ac452655dbb25c7507a761e0e8b66db1bd75dab97bdbbb0eac308b23830c561855f242a9e775602ce16c41e9922e4926a98cca96cae07091e9862326538fdcd9de7f541bfbaecb99c5fa615f0e0a793be875dff66ddff67ddb7732b6b7dfbae3f3c88ed3b4ad012f61bcb44497a4b06449f6c20ec62088758076bab1eb3a1066d2f759777c87d51df8df6f75c27f797fdff71c551cf3382d3886231e6115d65d4e43f2d5bb0318f01dd869d203814c176c0d6882d91b778cbbb1e3a95de78130973c4d7ecf09cae0bbb9b43b305bd34073695f2d83980dc214b37fb47b18e311842966a3b21c26b93b88af5dc3dfbce049c484880911132226f9725b467d43fd1ea59910512ea9cd911485321199b8a0320a45945144282e33abb82a46538a965c4d897e2f913679a84ea29e7fefe933e3150f1e5f35ce7983573885f1bb4ddfa14e9a0ed26794fe3189476d9b0a9b1351a71b4575186587a77bb51b42de2f02c4daf491bb4ffa477b9742a15633d4b703673e8d54562771cca8bb1abb9c513404f1f328de349e42107f1a11132226444c88981031415514510acc86ed393b42da568a8e96b66ccfd873b6830b36b6a0d6e52ad9a49a04162e3c49b7685b529f5567e6dfb97bdb57dbe9db3fb03aabeee2515f8db3dad4a3c8d337ad7ddac8dd1e3e493d2ea4cf27c3e77b3bad859ca6b9cb9db6d9d195fd3d67474d36c614fcc498e8133b4a6f5ac8c652a936f7ca719c10abb3514d9c9d376f84d8539da4dae13f086fc3790306cc9d3730d7c7928955bc02574ae906561db0867139e7d45c3b3b41978e1bad36602a44854d2de4f7058a6dfb4abd08d99701fbda12b6a6b4aba6699a62b90286485152cc68ca44da19ba370a9dc739326492b5e95cdaf761c0cc29eebd4b2a6cce734e66d2e9f63c3f481dac6ebbfdacf8cd5e1c73541beee1f863e4b1361ca7637307f58637cb99ba5a99c01cd9c1744cdac9dca3da68b7b732e469022a449bf4a012a93bb6bb3e78559876edb3c3f922cf590f5bbcf0da39f85177b82a6c7ba85915b6a92a6cbb69cc516d5e6db66bdbb1d65445c2b6f629a68671ed48eee4dbf0f61c6bf3381eeb69f0fec4280cf07c91d50b3993b62d2273afcfb9219354e685049a492cc00100409e9f1bc6f1ba71d3751a012cd698bb4e1f01366ad0987547a5b602b1403ab0af461550a3e0393bb102657ca9b0b9c1d90e5ef6dc385450ea4dd994ce76e8b2690878d61db4d2d90e5c36a594527ad291e927052b8ca6c04e2324f276f5308e6503c9284ab7c22a9e3cb45beae5b3df77d2ce2ed46803f448a22677b2f642b4e94f7a9cf346b3f7dc2fb785a66f636b6c01d9ae76d2b4d59b28e6d3e51e86a6739d166a3a05ed42bf5030344c0daa3831c83be6beb561b41a547768df6ad0a68166d2a669ba3446356b13d30cb44c91534308ba6cee777f507780b00363599c3099fb0b9663d37409ed92b403cb93cae8e9062a0c990ba72f69a472e4e9ad9d056fd7bde3ba6ed4bed928536669df87c06d8dd346eaa5d7a6489122658a31b2b546f0d95a23f86c3e575b5aeb694e946c4f6a1a88aa405eab8fd86d6d50932f074adeaec2dfe9f8a1706a75ca206872a5c80c86a4eaddf3b79a3f7d3f1848b5313892f584f1f701a9f2bc97d2a44a03a9f0778a9178e069664cf7461226818d3d6f04eb616cfa40d5f7a9e8bd91546d2f65baa74955f8cfc3f9cba0268136684a3d359e0e8e28fde59cb97cd220a8f6cf24b39713056826511554006a8277c0f385739ee4eda8af8e67162e9b3efc88af91a98347ad4e20081eb53a28bebb8a7e3592a9cfe39ff0f433159e46fa6f0c31ae27fc103c85b120f8e15baa16d641e6bcf1c0d3f1f1e91b519a1469162dfbb32c57367757107cfa21f134cd8cea44f6671a6186174f66ef1ecdc377578d2194403392a8873ef0e98a76de3f4d16d91f4a151e7f5aa5c9799fd43d8d475275bc63329954b1cdb3bf57954a650a357921acd0f450b754264dc47493265ba1f6a9a91610d4c3879a2461a33cd478fa378a7a1e8741b42377ff4c6e041fd3bd876f8da07d404fffcb91823fff8d9e3e62377d8e07f276ba6de742de6e1f64dc34665ac20a7514051bc4ec1ba93b360f34718416dbbe53b2ed734ec8e45cdab62e01abac034a86e3b85a5f6bad5c95555810982f53d0316270cae425b6526b2245b0b2214caf603ce7ed80bec2406bafa669b7bedafb9162b9545fb0a3613d1dbb4bf5a4f732a736efa4f552fa7beba4737e8ef45be8129a448e0a93e3346dd3b4aed325a87a8ea8122c20649b9e0584ac4c12ce0c767af070a0cab2654b0e0b997c4e0c99fceb0e723261c20864dbd2cb719b0772bdcf2462d357d9ac07a5bdd550d3eebe2668bfd774cba74611456070bac8242b474c8791bbeda44c725ac8a4ebbe0e65d2b52fb941a51694e539fb81ccaecf0288261b9fae16af9b1ef771c603964db3500db68d6ab0699a856a506fd5afa757e8964bb75458e5c0db41dd8c6ebbeeb5aba3f7f03588f8d3e72ed232756491dc32691fb1c3e0697a21695f3559641bb960978bec13cdcce03b22dd4816d91d789e5a64db4e3c1e4fa799da7377adc8ea3c75a5c9eeaa4e1bb95cdeaab1eb70ea5cd7d5bd9d1e1c8d6cd7ba9db34226bb9c15b2a5b7b10ebfbbf893b55dd885a1b53e6136727787ffdd82a06ee1ae0b8ddc70dec8cdfb7444cb15c780e7c976b3d33eb67ee2e3700c5fc75610d3c5cf0dd4ca9f1b68e3cf91549140dbdace76ba95b58f498b7ace1b90cc737e9eae0f3f49a00d8e64f85093405b855201ed93ea649e39e96d6bbb87e14802ed3083efac0dc3513c389eced26634d9a9ec3d93a642739e1ad2e8d5f7bc5d1cb326ad6aaf46d26a20d50e83a0742bc4e79eb246ea568d6400b6961a7f3820d57e186a20d5e6c8dc23b421863da65be0c59f4eee6cd7b6aa7c6bed77f0e1eb51e39c37a26e796f7d0ff3d8fac0b73c2f4877dcf2acb5073bad9a37f656d5638b47ce24aad52d90dc51b540ed63750b7ccb7b787bfc2f7c0bbc7df8753d366ccf87b505e2639fcfd3aa79039b37f33de6cd3c6cf7d893dbf408ddf44050152423cfd955229bbe7bf58aec3a6ee73a23d7c8ed024f7cc2da39dc79bb5a9b57ea33e70d29815d81761d55189fcc589340bbbe6eefae376f3e9a7d3590aa5ac178521a32a6a18f20f81e9937d9da78b0f758d5697d424e2488f70e7fee229bcb9fa52fd2c2dac7d373de70a7bab5699fab67373539c580999f5eae6e4ded033efc4cd22def3a1c5bdd5bdebdfb4d93adee316dbb265b9df62152c4fe6e9a67decc6b5a08a75bdbb9e37b2d4efb7c076bd5ad0e6c6d6f75e73eddeab4b736ed7335d9da1edb97d3646bd33e9f37f3b17933ff1ddbf39acfd5b3e3028a288ae2ccc171e662e69e3a279e1b55f95a4c9d034752b541103c71170faa9e3a37924041503f5d7c8ae6a9d5ea64b7d22d1aed833a69a09ddae25927327595e6319453ba953a785193402a4eb752a7af7e12a19c4e27815450c49f2c9ec4999919233992a2065241a1d124924df3999154ed99bd12f398772a95ba28aa529a3c7da5c96e8b9a3ccd8cf3ab910452d1a868542a20150c8805dbc4a6e311bc3cc29319e711044237eae0887a56fde48bcfdcf338e346e8569d758e139ff3675a27ed93d22b3dcfe571c68ccf309fa7ceb8f83c924576be0d7d800f92faeadcc5998b9f5587ec76d6ad19ed935a899ad364111e9b479acf30c8eaa9f3547124c5cfd03c86b2a88ddc9ddf120f9ed3f659b744edb37aeaaba732f7546a757084046c2374634004ba57ab83e08f0a73cf2a4da6f44a1fa13beb5961e4f5094f5616f646e6cfd38c64f6a87040e8473f4768090198fea8b46c3685418d32c66866000008006314000020140a874462a148342094f7d43d14000fa2ac4058a3cca320075210830c53c418440818322240003303610314cee09c4d311ccea17aa6003f206da38a81a48ed9e8118013d466573b52566fe326f62483b62e9ac9cb37fcc0dd42b3bc355a6a11343584967a802fc20417c927e1c80648fdc9154f090bb163f3409b883059ad39f78ca21dbc9b7059951aad41786cffab1a098b6bbd54f7370d689d55925b4e5af0a5de9245e6c9c8c2bb1b04a8671e319830d9e453df221d89f0190be488e64faf61d01c597da386ec02265ba864a020e42ed431f57921ef21314c16f31bd3beea0c33590b9c203ec364192366c333d9407998ac462ecc62eaf36a0256c4db5eb020ef8d174e7670b278aec6d1c78f59c67fe9ef45b89aecfa2e208a13f6f57e9a3c223af8f218767a228c352a37cdd5318e46f8e88566edf5833037b38c5b5d00b78ab3b3779708525da0cd25575472ef2360b3d62497540f951de3f4125a580b76f86302432194a9d7911313c1617acf76d41cdfa764109fb864379ba78f24e55f48e20182f214ff8c604d36200590098f6feb3ab5ab5000b964c18c10a6e19194b1b5f1a2fbd4cb1680f3baa45a4db5efc643469c5b1bcd5d76b4f0d103c2a438604ae3e07e6ea32d3d48c9b3bd37e6915de855b5a6b88d1b8477c2cd5835111a4bb83818981396b99b147ae916fc22dd61573c961f787e0bca7a00d33809a9c1a91c8f49318aa4ccd22bc018f1b4acd760d22f452a59c179e0458efc76c8c35eaac239dd5c91444327d5e2b7b6fa8b2e477cd512fb181003c9e35e5506854b57ab917a3674eccbee74213e458209585fe7e456808aebe0b7e379aebd3e2a99d3c066496774fa343d96afde9dbaeaa9b7926f280dda4ab8ecc1f1cf266215363f7efd8c59da21729ad9fcd33afcef92332aea180a2c45dd020d2a06d12156f49cc2fe3d3a7d66c0dd37d18dfbdc050e566e0c295a7276faf7bfc41c9cf956f197984518ac063eb072d8dfeb05bbd8899a7ead47dd698c0111d9b0b284c8688cf058d308130d260709b371a1a7b589996f543a3ca311dae1f3246cbc6c2e550f42fdc729dcda8e4df32354a70753efcd28597556f69287a28b193c75105cd2865af33b36bf4b0d7690d4a5faf1138b0e675883343360dda474741591b09eba07a3813cd0a322b69a1efd826eceb9d0c970f6dea27a3699cf130824eed0ab5ae1de39147dd7379da354e9d1d17313a4dab4594073d3340153eb72533ec975f391f844f1208c6f829010b0189ad64612485440b0e79f52257f3e57b273bddd53359f8e8b22a7fe34c28d7b3156233b65813f7c1e4f67c62a19d9f61701c8f4477ffa30c1bda91741fbc471b87d5dc2bb3123880587eff00dbd3a5243440e2ca28226f2f408c26987a64e3417a14d33397cd0d7230a6cc3f51e818cb70943c547f21db25122a3799c247594068adc548d2a209b86a4ebd4f0ab095c652d95f847797c6fa96fd46c55ffc2d5c7dce9d352a2ff4f62bff6b34447bddbf4eab0b782c12e6ffef7b78ac5cc42d91869d906e25de28ab0e4d4d3e93c7d0eb1bd055eb283d063cefab871ac3eb4e8c41e60df4b7ed42c88ca3d308ac8412019f13da9337c8d846c1029e882d499e15c827f1ba031b5d4815ae53e7f8068bd3e0fb0949ad506918bd2ae692c56c442cee62c2b108f5701ec0e8257a8fb5b18641d78348c63c563f2c34c41b05b4f18836645d2ab1f9042cb5f6d044db96df117464dc4bc81df7fd2e28ab65d048d5dac215d491c0f3a36ae943637c7e1c534d829dee352fc6b5f8cc52bbd69179fe21abdd6084b6efac36ee8df942b2fa278890ddba0c3555df3d8858b11e11685589185ba8035d24cc5025450a70ae4545057fdefaf083c56010a2300c1707e7e339c47389a4c4706b56dbac3a197bc52e93247dd695d7a6ce0592d68883b46f3ef98823347cc265e1a858cdea8c8b8d5a48bffe37f66e40f17976d87f1ef1d2e362ac6ff10c0058636a8f7fb38fe83d7a47e6ee43b84e58aa284ae64a39bd8cd1ac97b9de7a702d2e0a11a8781f4b465665493697852d07953160d892f3bc5e5a0f0d3db4bd7b199b6396111777e26d308de6d570454e80ba33b5d45005088665117d5ffb2e4f728d71de5c2250b7e7722896736a0edd7d00af92267d808e35385d0ae9477350fe623a781eb4d6205cdacbb92278e93106ba55d310c555b8a8721b57f83a8e851f1841c76e01cb7c8b359ab76d82d2c6589ec2d8736ced442f3574e570d2da2955ec81e5352a86b5b3049560b303825099f4e9772d6b3ec5b7f2d94c7b19e54dbbcaaf08feea996d1f8374abf8e17a6b98187efc6f1bb7fd288db46462b8e1b05e57cbfe4d8c27210086457e015aa9c35936371e7bccd849235724d405fc7faf14596f061b94c406cce0d9d78ee9d755df803fd8fa2a4c579e2e23d3ba1cd2a3f2f1897f52b8b8e982ee1d333c17e23904dc2742cda9f350801195e27f6c1a2158f602689b8fc0d04468b17608fe4b7a4b069544177f2a1a5bd26555219c02a54573ae2f43a03cbafb7e664e92d80f169755ec910c7013b33a907c54e95ec55d9cade806bb889589450a245f970d9744857505c3e8794a63961dada749fb3a39f0a920a8ae130741e686181fd078acde055e6a57ce2e860191b642835e90a7903e0c8660b3d63c285da5c30bd497f83000961489c1dc822d555f5d59b31414c6b8e806ecd72a09aa0ea65075a01f8164a4f15ef8c4fe3505609b307a0a8bc9969d07ce90feb5ea8e681c1e5c40103485589d3853e3a9e30b9d6bf48ce7312024b649b2f8c1645f0de9cf475ff180a1d44c850f2c4d56799a47ee69c249c80f5ade60dfda127a82219b4e89046ef40ebc012e596be93bbae9f58e1f7b21b675cafb1f06d0a84898e316ea130a1050e9feff3d3c0f3136f82243e00891daff2e96f092c9dda3f12a2c051a9221991cccfd901643fb811105b91053ea2959ce1390dff6a8f7d84a03cfb98cc1559855c59422dde6c89e3b84774d327b3179c1a35c1779857652406891906e9c1df365da7ebf5aa515d31a4afe339fda5e0edd4b00fe3e24c80aa49db9f112e4c516587ebdaccf2759a726e17aa6f486f81d41dfb80d7f5df9be75b9b92cc38797ef4a1bc158c2bec65972978dd693998882970e44a43c3e819a4c8a1f262933d5ebf3ff2d8100b68d78998aa54ea41a90e75230f305d54032f3e51781a5370e32416be2e5febdb0a0aad1de9cccaa549276e4af394d7bb5d538629009a0e0476c36a21989119026e324b0d67efc2e6c80f0a6ffa4f1357e3f233634dd6b5aafca35061b27aa69e8b0ba34c75d8f967b27e49fb9fe6421e13d61b41d5e2d976369bc63864412724f1b1e616fe5db45dc82674d3b4dad4ce5d27a923d64ee393ca6e60afbc4cc41212cbc48fa9f88ddc19ec9a85d2ff2af00c6942725ea762f523a1824f44fb60dbbc41d983edb9f530d3161323120275fbd9bb9d61cd548ae70cef4714bd8004dfc371e897f6942eedaef53f7c06f72bce4f8077361dbeada3f9a833bfeac87eccd06ff36174dbc27112ce18091fdb02df1f4a6ba1149184ab05e239369e5dec98bcb1eb06a7563624178bb0e69152fd4d3200e3a7d10933dcfb9be7642d49f18f97ca442bf1b46d4ff5972d8594976940faa6fae9ed280ebb9a9c3d43d8b33ea7910c80efb545772aa31adc4a25f2a1f50d0f75368c5fbc262043b5560494803ae68270475dfd0453e4a3ce7e7f8e8ab7687b4859cd43ad77564a5689e2d52f5f278690fc2a3ec027265c81275e1c8f0f08ff957cdd9c0eeba34df25f52f27ae40769a1dff112f52ac25904d0b6588d958afce169726ba4cc5cacaa1f562059f7335c557608f54f65e408a8b87c11848cc142f1094c3130348e3852cd94d99804f320a143a35a78c2de42135daaf3c08b49d62a2e4d99cb0dd8c3de91650642232022d111a5ffadfaa9bc4d8aeeee28b2a7092b59a25cf9ff0355f35826d1e78e383a2a52a116d6cbc7e9ca78b208f69bafdf578189ebc0a738bbd276bd47570dc05a92b2b9f3594a15c810ae734593b738389cc6bfea45c04067416b3f619a509ead1f7107e320ce09a1e08bc06c93c1ee8de4abec150d69c5c2eb5d1cd9f06f94ad080a9f8735fa972da642f78c36501663ce20b8f17adcb138a4cc34a408014c6f95e50df1c154a7c7dbbd4ceab8a1ff68027d606ea247346215a378af1f2a30e4c920dc4870dea51efc09c691ed9e91998d7256ece741b10b7a1b0968e198c3a5c31ce5c1ba91fa9b2dd8e37496a8b03d03b1e7695e0bc7d3eff35f1e564f1425de9f0e8fafa61d3acd349660815b850c1c155a0d6970185e26122885f9a045fe35e1d18c12341f0e3038a1afb5692fa29bd62ce69cc8485e8a1f6110594faf1416d75aa59c77065cb082b5669fa134f70379c1a8a2572c7c3869d31b6eb2aec2f9c34fd141262308b3a9694e4aa4331b863e433e5399ca21f044f3888ed15c26824e419cdcb4367da552002b1bdba1521242ad50ccbb261522d53b6a5ab16aa565bb34c608dd761a3a4e93bf690bb589e37686cae53db23ac502289d1e6588243eed17ed0ed0f2e7b1c9fcfe11b79c6b5f33f7298943e2368d58c433e1d4f3cfea6326be6b0bf1f57af47eeec85b64869cd0ed0a9cd7028a84f40caa0608a52e8ea00c67f86525c7e799a52a5f67a9d7e3b9c105672729477b47db9e2333b2c2bb6f4a963e0a5012585e1528b910e677136dde99569c08f5ed443d17729906e37b46bd2b356a1f7ca6c691819b8d135d4f415587d29d6c8938df4385c416331fa0d65de3eef057d20ed91461019f4133bf43219b7352f71254be3afd4f3558ec379bd888324314119a0506791ea2a486f66f2389e33dece15702040cea2248dc0b95e7c2404c9d0492059ce76ac1023c17a53123eec72b10a0698efe774169ba7f2616de84c08531f5bae32999c94bb42071498d8310a65106dca5a848b01ad09e1e28b90453fac7926cb44d946165504978bfd5a871634af21e57712d98da0d65f6b3b2a73b7277f9cbc076eb102101cd6691aa75de3c20f8ade02fe3de0b68334b0ad0235705fa7473817295ceaa5e1b797d0b19821d5af42acae91393cbbfefe1b3af95638d32ce6c5afd6e0a3bdb0646ba89dbaebb8251255162215542fe521f6daa1e292adfc0230b8561de26ed600ddf530a3ddccf28d450dc0cfe821e1bee469db7dd939c75ccb14b2e8cdaf4288a6a196b562225b42ec9d04a07d2ae016a9288d0761137c8dcdde40fdb27d83758292aec8719f5c57331aaac6b1e057a66b7efddd1b2cf25b0332958362805f18ad97086a338c82ca20d27ac8a350f021a0a17c371c4cc0613efaca0049a6f5406a0b3e264251a512c054fd2b042d140ca0b7abed5f3ece41211e65902cfe10e58547ded5770c349da48f22dbdabe096aa8a9c6dbe5ef611aea0eea059ca01690abaa8a585945f81cd5aa150e783fb4f1baad28a02026b7ad23f73713d0f1ce5a5ec66bb845e79e4b447bfd06e8a735aba9cab7b4858d8bf81bc8eb268091ebdc6d54f6b3bea179509d0a40b22900b57249ff4d26af9a181cefaf8991018ff57da803d1825bc52477a83c0907bae191905a4c5d1d6b170b0a50e750a07ff5c5170d68cadc181978d013539f48c976278489c3ceb256750473ba5bc74fb62acbd67f16a4ef4d6d64b2ff9280a1c56e1cdf740ba8e0c098d961d36de5af4f8ff1faafe23b3831de9181516fe9eb3199142a06cd7558a9269748bead22d43e44865400ddaf3ab5b7fd600e114819a21d52e7b416e83c6bc0497d9c626998e0ddc3243441269357b42bf473ab447f0708c58ddd1df3abe3b0a9e6b58b04b1b2469e9a24d64593c5f04cb74793e58e8da6ac07153eda1e508ab9839abb75d70be57ca8fa391f27bd8096608fc0e5d0430cb171b469e81537e0c91ff0b5223cb36133893764ad5156c951258d317c294ce044330787818d931a5b56dbddcdd4985b73c30f35293822970cfb02828e306ae923e6452278e73f6e8c4871cad6c75e11d0a2b65fe3cc17213a65c64a43eb2d5b9282bcb7756ac380577cd365bc34a95c56890dd5eabf3d8b1b91e22c806d3bd5743f5552c9d8a7e793488cabf0173d72e928e2a8dcc60885d8108208454d89f0aefd954d163c695955e87edabdde2c1e99d848209a78ad53b0f50383a4198eedac1d90bb452c6eb221368659425628fc7ea8a504a5d623ddc1c980f2fa58d5e7df5317e39dbb380d6c574e79b51093644299927462f777368635671a836e4148113ac19bbf0c295826645629d233deb5601fd696d91b430c383f5720da6225acc2c86306a59fd101adc11af49a42ced4308f1486b2f5eba24799c4d88b053289210b25853a6a0a36c6f989f38b9ed2bdfd8a1b1012120edd1a51b9ba222ab50b97f8f34281de2f22098d82444ba74fd439eec4f4020cc094319512f072a25e69f1c66d01bc7c0edcf96c7dc8f760d5443e1a69c144e8e0c782275242dd7168e95b44ca979a81a4d1cd03056489edd9ab85ba100bb55586efee8949c3825c66b1601409425a900a2308c25b448494f8188e18c95d0198ca81ec6aa0213a0ca01308226b7a077aeb03cbbf3cf89f16738480c0218fc6deeb8da6df8af0c784386bc82e5bfa6be19621e2d243515a198d99f61374b2a8a4b1bca59d2eaa00ca384a41864485990558f5620e499a4b159942b8cc57fc9c0c2c0d11b370ee6133f1a69c0594da5e52d0cebaf58cf829cab9b9016d07da16684ab6c29cab59f69690bb429a44b577ee542c323deb6f03da8abd109fa07a2bb1ebca8357a235444c81de125e7f9cc419f616314b3079471ab21255d0073a43573b63c30d77dde7851dc99755f203ed185f67c2fcbf1f9c00b9c6e2f013ce59389309b03e1f97abb45c5ef794f4fbce17572d89751f49c211af81f528978fa190c6b57c6ec7318b0b5aa3ba0be7a675c5e445c804ca2d91247fd56b02a7769a8b24e91da24c883488b918284b2fe30ccd1b8bf89beca5162f848194e9e849e17b66f7aff6226dc250806f38b8c7a3c50813550417b8ef6acc17a97ab527db5d9e64b9d55819c6e601b02722aca29caba45171d4ffdea55d026d523cbfa712aba46881fdcde3ae04c1bb91dc99925215940956bbf6b8713a6f699a6a5f40ea864cb0476f8d580c89565beefb91c9c6f63bbdfcb865973f0de669e45daeda942e9e8a6df34484d88713ef3a7e50e939e7380a40da16ac228d29ddf35dd5917bfa9c3b933412ef41468a4b39f688d012821e368a45f2f73082cf4d274ee0f5bc4392af05bc70e5cd7eae21c81a6560b80785c664d73114b4bc1c0ff54de5a86aea9421188402d1793e549923a4f8791534c3ae97a456353658f15104028d383f1bd09faeeb787243e15da2196797d4beed6fb1e4aa86b9c62ea1b8bd86013a1139396f944f8f0183fa83f556a204b2abb5858d7549200ee4facb7ba963d65b11b951b94aef283f94ec9330804025cb322fdd0c707a8d3c9b028ea9085de70443ccc73f1918a80fd1342ff6bbecf1c23f59df32d3f36fe77022fa1331e07276c56d8337e3b32383da06c438949b59292d9c7de6d05ac5217620b6cc6e4d1a375bfbea13fe2d8f98805add109ba950ecdc9cac4b7a221ccfe9d24e7d937d663c482eb942c8f74d9db98f82159e1ce4928f83534186a6db8045ad81c53cf09634dd87f14c9303e84fd64869c38380c47f8fff1a47b5e7b0cc2af46264d9964ea5461cf1c6911dd4bbe6c000253a3d317063f5d9416692818459a357606c1b521250824abb43b008aa4ecc34cae0c97290a67c1bfc5a366344668bd1484d9cb6ace1b404bae6c2a39a3a27f063ebba59e969cf2a090697532aab823392fefdc98877402b1b5da2596a6a3e3313eadec29393b5c4a80f4995ce3612cda12a43ecc98c4f03f941a6f6ee16f5be3125a443886a6fde30ba66a6e43bebaa35a9c11c2abaaf1dde9eb8a939b0bc1818f719e25ac3898dec17e08e5c400fb3413bdb0f8e29d14547ada521e1b0db886d431498ee804296eab50c8d5294e62cf1fe84f01eac01d5adda0162ab8615ccd9948851a242920bb0188f4f0582eaa4487e24791b0c5c7d37979934f6ac6e521b6f4478a7ecd940368e1ec15590520705dc108daf9a85dd1f79c8c4ce6a10d541a4467bbd0004a3f0edc67bdcf8d51c86d6517c3e435a3293333601a97fb27a41b1f691dc1390d168bd80f296ae3340509c80c2a80a9a6674c23c2750ba2456b2e0e710b8bbb3e315abc84f8b93c5dca224d917410c06f0e2a75a7cb5fdc991a41607c215cbb0886187353157502962299b32c7fcaa31e32ae928b50f6353416c00603256ce8d4e74278d1f598be2541782edb03539c0d8d4d21f32679eb8df1e51b20e17987119e506de6105b2bfc942fe3de2e8912eb2a0d794f8ef3b6da9a407a325b43b909e58012ff96481de864ded443f29805900dd048ffa89dc78942841150c02056ec709e0b6144c81fb8dda5fbe70e0932d8a11d58091843d4307687aaf558e5755addfb1735ee3d815e201c4821f6e4a9fc09309067cb33c4da3ee8211d4183295bdb8cc4bea0c1d4655776d2d431a49bdda7d00fc88771683035255bf290f50e157c574f943540358d6c3cc969cb9eef22ab374d86030089c3fe0fe6266b68bec7c70fc86aa1b5b19422e47d308681451b64a192b6037c2559e6683b3009a7d62d3d86f3ddec49c72e1d11e48908c3782e8089e82c169bd59178b615592c69b1b69deeb7f44ed6205b94678b38df21c104e59f4a5a6f39194208d8b6c0dcfe84245b11285365284c2af13e9df60d568707b261e64b05228d393c1e1a956d59924ab10a37d33e3c4c0ea3dc12099ce8f6b32c98877f02f75560ed1e3fcf35e051de5ad440efbaf45851240f5359cf421e27973cc0a0dbee5409cd83f39f6cf56fddeb30cb9296bb768819e34cdd9b3961e489317853aa833ac6a1532a9a9919237c18885429b994f0a07eab8cb848db0ee050039cb37eb747630893da1d81d9c81c0a1f3dd19bc317841a0d60f8899a86c387a03239721fd90ac38f173fc0d0566928333836ef4529c5d80c8b123d0d3ef6590ed750ee6b186e1fcace91904f581e314b13702739e7107dbc109a238a799c083d2082efc6641e943a13af5640993d5d09db89636bc692deffffd0892b9dbf6df4ae8291b96a8098e1389ce2f325f3b1f01f8aa0838635d698538c303a261b88eaadbca81fa1677307281bae1249fd2185201a63fffc70c02a5841474b565deeddb1da442e9000d0e602254c050fd2379ed0c86bff259524ddd0470a88d0009588a3b5d2d6bede8ed25bcbf4eb515265659f8150b3a269c69e21202480472589594ef6c0c5c0dd49cede944b887e85ec3687aae7ebcfa0ec506856f8d95328d9475bad3447b521031003284a413e80e569d67a9d4e5a415c11ccf234631309380046c96fabaa628e5d6ec9578d3e68d45f3c04ecd185c77d9c2a1d65a6bedd5af013b2adea151e3b4dd6dacf3d4394af6952fd705d26829d11283909845a442062b5375bd7a767d70a713fbd9d4ef7e92e2aff027ff3aa79955f0711440b97fd9d16ce412dc235309d1722f91d7173e58e1864e75d913e0f4e754a703e45dbab452fabbff149aa61a86b2ae98d45925c27ce793190ece9e94e34c267d581ca01524388d6d4a501c57246761701c17cd1ebbde8f8c8d5cee6b18823a61b3823e6229618d78892da60d7e7bf0c66cd60f2a7e5864ae3fc10773a6a60c00b8a9c407437c38b4690e106b9d662c498cca29a2d54cd6d1e9d017518aa5dcd3e7cecb8177bb6e439637956c1b3816793c917ba9bd11475a2c8fb89289d64648c5cb6357423358b9c6f49be5ae808388359cae17a3996ecafcc14b0571091006b76339f801aa5842a36982c81c31c0d90eee2f86204716dd630e7bb6a46dd81b8983d29665da460d68b635699b8763004f79bc67e6a535993424ca8e7b5844e8acc36256e7d285888917776bec6fc77afe74474469d6bbcf3229caeaf76b563d7e691d0411e41e2055bf262ef75b40352636b27e28cf2c5e35e268a51d6db0559a9341c58a0fdf93867ecb7c57db572c3b1eb97fd8e82f5523e679bcabfc2c1c36879d4c30dbae72caf4425ec51fe91d360dcec0f53723df181b887a7f63c2f2f5e4557f8c33dd2b4cff41c215073e23cc69826a75e36033f2423d2aa7ed6c795eadde040c3c6da7a7fc9b2a7d108742ca27cf4f7b4536aa5a88c63c15bdb809935b30fce5324a15e5c82cc13a04b97e52a6b736ab42263392c428820059b5319725cb0bcbf4d8d920b15ecdbfb12db35da690687693ce023cb0686b779dcd6a4c55a56dbad7e03902f40fee500c95ebcf4220760c2af3bf530087e6b6988d071d453149089497b8d09cc3eedd2c216c4b49ba2fbb9f4a847433683f42249980eaa39e394c1ab973fa9be5200feb2ee46665fccbc53b8345f038fe41d7fd530a938cd3c7e8d00bfe2fe126bc2783e05a55b261137fa69449d720d430278bc4681422e76cdfa2b176a7e8e311bd1b007819deb36a26d1eb8ef2f8861b0a1581dbdc3bbfe5f0da0b3eb8eeb00dc5fe07a8a04f0ef2952e002c0a1472f9b8c76e146dcd20bbe25e6997b8a64bb188421a29564afce87fc92e3b64c442aa0ba9ed786d81319b1bef782ac8bb876d3b83efd434f3cd5230fc0101ae47ab48f23244b34bd101d7ff71a30475701e193f4e113717bf1f732a6bcec004cface71cceb3e208b9b8e0304d038ebae4a5ca038bcad029d1855e003fc3a18f14320707ee17828a73cfc2353c35f8eb1820bcc31cda96c857f7e1ad6beda453c00c5bc56fdd517afb4fabbe339881933d21c4176869632069c63885db339d26d52f7c4518f88b472429750a30a44d38f8dc431c285d1af390c1a47068f6de50430249814eeb01f7565cba7c4c6cb6781c9f85cf28e01d122698c11a62cf8a370d58f673d64fac606693f402c4dada46ec2b0fca8fdf1c792721abd6ffc5867ad86c826e25de28347b6f65c89371181674d63d72d035c06e5055bd3477ea8d4a1457829048d71e249876c0cbfcf9b0fac0eac83af384a1c068408d3fdc8cdc95d6d8d313aa6c6d49fc2466689252f0225ba1fe3674b2eb8d35fb2e494bde18c7ab211b60152ed2721c5c3acbd641f197bc45f1b9983a9768ae749094f92c8235d076c4271b35ed6a67904c7c58b1820ea2caa4867c693ab6a4a0f42596531c0216ab97f43403a8db4cdd684ee9fec42344022358dcbbd834818b306386a9576f701c54f31900911eac77e36408b87c70dbc500c1c65ac0c5e310db244fece01862d7cfd2600bd634f28e029850b352a3b35a490cd97cb251c0f305f4fd9eee2f3dde092ad0fb013a2d37e5b58234cc44b00e6f3f66c29ec437b1620982ac8e0a0a83c38381149b5ffda24851417ab0cd0036b0a1d28847274643471f2286b490121c1545e25c4c9692d1f951ef3faf64dfb8dc63e3c1ab46e9a517033266b500328949408227d932f738ac77c891e7dc446d7d1c931c8f2dae795fd611a331f1878e7875ea46befe48d3539ddc234a3dc998a890401c328b3304e892517045207351596bf91489fd7d80b0712ca4d689260576ab291b656f456509755a1a84391d60aca54ae4fdb8d6c0018e8f11dd2d27dc188340698f6cb58b698367407210fad4817bda9f1be10df044ead3eb60da8009b631b13c3abf9af3d82b10f37349ce67d641cb6aceb56380b2fd53edb3a640ce3795988dc10a55d3b57ef0d6a2bc8773424923372bb61166e80aab75ed563aced12aa6e4f706b2cdb0e1357422f7790646f2b8ad71ffbe834bdd0bef09113daf4b35767af19a640aada429d561ef4eecc346cab7963b85a6b08adddf59a27e00815c7ad71780a938ebd3ad175bfc4ebd298902d27504b56f887848858a32e2a1c142f26003862d180057c351b463e145a4425fe99f9fd6ce8475ce512320fb1e6c543ff312dd9f031438277abaefceede5ff2507b740418a348a0d2b8b760b1fdb27e8ecf746b47ec907eb09862aa95f25a0b0522ff1fc3228add3ca732af7b18f6c35bda30e7a37550a35453ef1255d0b44f459bf2e2d296436551940be96cb003eb6e5bb3d71450b7785beee910bc7fa3c68a93760ec2fcbccd5867b5567b00e5ed4f9586c9411faf08ca4a7a76056ed1a3bfcf639aceb7f0087f1803e62fe23e2b239832c30b30ab533f0c5ccfd53d24356e10ac45f72180a14e88492d1387da0f269fc935803b1e2c406978e5dd586fe03d6cd9e4432c0ad7aea81d8c1b3df290eb0f1cf1af75b8ed5aa0fad1f2b667ad86764bd2d1eab7b499408f977cc3123253fab70e1d0141ff9a853ef1c9a848c53d6ebb83321ab92b53a711c65a76589f9909b5ef7a948092e77b21346d75e8b2c8ca47bf0b62c4c46a2860a102cd371f19cd21381d47ec978e0cc695846f9c01866b7b51f94c31163291c0112717e50bac27b7c949265714fa96223384e2b8409a41dfcb459cdf0b0524f41ff85567f8ca0abed00307b31f93c1b32dad971d08305174497a105011d92eac79ce29916191864ff2bb053302950b5c610e664b11e473f2e282d7ee2eb1e5f31d744d0fad59bcc45dc6843bc85d7eaa62f99b4bcd767b10cdd56605400052cfbb6f692ca26ed20ee199d3548c2b58c3318676d1d2da0ba25d7ba40f7034d5efebcac382e5eacb215ea21605e26cfffa8096aa9b6a474bc3e634c4adfbd82ae8d56b3af4bb4a0b8bd57a249a591e315059255dae0abe3039dee569fce4b2366377bd84931b04bbd151d56f57df35ef1ff54d343f5f9f160ad2ddc5202afa1ae22d64fad72c6faa8e7c0e6e81fed08228d06321a1b4e4ac0fd9865b85b17a35ef125ddca8bde8673a4d71308193fc7b93c249b0a781e9fb98b45a7509c7dce7df6148196fff64771aad9a23175d5c60c1f643dac0f0c9adb6f5cb173b75446b5708dc573839ad1cd595beecfaee309a5dca56c8ec042c2327e52d6c9b97f2e56debec4489634b56f786e53151501454f289a95004944bce1869caad07235e8584ab1391b892b1ccfa4e7d1426d5995aa6b26f3201d2b9d836554b01cf0ad390cda75638b65aa2dda19d6f536c09e0f383c457a3cf2a31b0d74c8cb3364d6e5ca11bcb03078006381ba2db3371b874ebdb798b34943eee285223e3e0ee0139d45e1cc2655afa854b0303e7f86401a055f71ae41cdd0a42500de66c19caf2afba17c6af26d9e37af5f5a718c583cf6d251da06b83aab905da1c02622556cc4352950f14b37d80c0f9958aa9eaa112308e06cc13f6571c1e80605821a1eae9350d1b5c499ce91d073c84e091a6d4cf1f6ff18137c7451ea86fa0724870bcc05fc3a11ecc0df92da7d85f72dc4db0fb32af32fe893df204928bbfd07ae6e049b3ce1a531d376eb0219620ea869788bce2c5509953b6d0cb65c841d98c5e671ed9324a0b0db7e9f5a2dcff4f580b3f7a1c6cad17265849e1a64b03d4347497be2eea813ddd39a870e5a2bea87fd1f4ef48720bb03d83385ab09b42390197795f010f53af6aa4d3e10a5d327acdb17ab457bacc15d1c5484c32ffb6914c06935e487a581f6391bcc47dd4e6b9ea7f46fd65add387c593c2bdf7d2adfd2cb31344441ebff085cf14733616912cbe38368eca49344c6761bed262117eea803c4f7f4c37a19d61171f25155517e41e72c33632c09c69a6d93980b78dc5f3eb686c92e56a39dd32a1e0adc8101c3af892bee6e382082a46e76f5475160e68f802158259bf6da4e19158df4178d9c0d4887d004c9ac19ffc589f86fd311b0d484d27a8eed36e94091ceedd4b3e845e41c30bde8c2829fa7c013ba880ab20b8c8dd08f096572b5115bd0560e8faf903e8b69458e29a8df37095da64146cb7578afbba1339d0088df64d78952e33909641f2be1e73558ed3688e0ab9cf47e36655934aa33b34a5278d6ead46422296caba7bcd0d273cc01f9c6a9c48a4174f1d73d3a1c1c0ac9e9ca32d81b49d162434a551e0969ca16aaa63e9e84db24d0460cb9cb48ddf3522c74f44b47a60f936ab5069cc34702c5a0c217e79d7a8eadac272b46c59e0ed5a344678736e8080523aed0af2d1722dd6d0b771a95293266faa154056ed3ded3f9c348371ca5fcc963a778823933e4bed48a558ac2f84537c2a96ab278ae5b2c03c8bfb342ab516351f82f1d16403749aa662084ab8f4e36b29e16d7b91b56ce239aa8927d169c79debce00f5479f62a342ee54a55bde681ec793f0ec2d16e82e7f9284d36c2a2a90a4a4af0ef94ad3b4ef8d77f39d06486a872fe28202c76a0bcd91136478615871242e22305a180507f4f0eba359001200dc404e01cb16aa301a1e08102c2a2c5c0e11e903d5eaecf4f865e9e871eeb4128d0f6999158589b16a9450efbef7d125c2af5e72adc38197cc2496c278b78e108a5c1d5240f08e3c8691ba18d2147820ea50c0b02af292d77d2f35b38c14cfc3a9684d3cf4eec58b6ea2be2fd267893bdbef62374ef87fdc09a1f075fe7adbe8bd9311d20714d26cd1aa1c7ab78e86d46c79fafc8a5b3ec575046e98bf7466f4161a2ba672fe869e80596ce8e069a883b8aac998b5405f275f4611ab863064e2083e23fad83f522cd24561bbf4f0689cd8d4fc3d950ff69082f74a04e02b65c88a1d7ccdf6b60829c6a050f4c2d2f2d1d7bd382df98b8131683de40607fb71968b43aedf40fed3bb203babb54fe0f3e4da815be45394e86d9b9caa60407b59ce395e150fc29297ed920e259ec7c216611f8faa5c500226601164fb96cfa3f2e8e269026697ec794aa485ab8c27012b40432e2809d23fd2943784bac97c950d2ea2aea41a2051c57cac050d840e891605d05a9cc34cd2b4bf58ca057043976d8d2f44987335826e59749df8bc928de9c4675703960b9e92f721b35afec8359a35fab4e7f6d8999f584099173994d722870f000fd793ff168c8ff72076e55ad03241f438421924392639d833547c23504c916607f92487097293521ae881db4678f5102f4d9955de8650264237eca5c21b7ac0f26e22ff34f99abd07ce48a05cf85e1510fd9ac3a088c1c699dcfd4e352666e8561a855a3f6b996c628350a3495f8704af56b9302e77243dd73ac4c78b244847e54c85fedc0d4b35dfbe883246e5dd35a41b0cb4a54d1a67866e30c2e85b0221fa6ebfea4b71f035d150a7483862e6837c9ab57705d6de7ee5263fae828f4660fb15fbaf927d46429e187b52a1ef2b7d70b1c0e00c3e828f497f06346c018fb8d9f33ac95f3d2682dae0e85c1da0e7028a57fe4b4b0252d678cc64aa2cadb62f6b853ddd830cfd99e985d9472dda461562a707f3509dcc9fb10cc01189cda6512e118feafef22cdd100b7a3822d57f8a0be4d6b8ca83928e20799f97b8b96d58d780e67c4d5d585cc2f849082115d4c8d7d53c521e7f129d83e27921530ecd1bf1bb6e3262549657a906e6fe097568d6c8be3cb0ae41d72aca5921400174cf9a8b65ec95a801b77ac7d6cfe48218c714043d08ee171788250062777f987e98a3b791d00718f1e11fc3938da4b61cba662344b6be23b94ba079cc04e0641799d552024d4ec34fdd727625b73e0b5cb2da530e95c45dcbb413fc03cf99728ce4d9ee40e25dd3dcc3c46148e66e8fbac33ebad32d9f89c91ca19c5052cacbafb0ae0b760f503956fabf8818502b82320656fea76b1edc9873bca5eef651d7d91aa6cd4c2880d9df852d5558cd401be3543bdf6c05702ad54b810f511ff7fe12b524b7f04b43fe22c182c496c9d1fe82971d21423b931a727315b066023a9aa4da7ede0ab3776f3e55b0e83e4c8af43f9a6dcb85b22712e572e2c30f347bcfd2eb363ab86d8b36a9970d66b389ae7c2dc80be74533b02a33a0684604bda8213a4fdc91cfd7d01121fb76a038b360982c308b474a0cea66562c01e4638483206bc2b0416d0179d12bc869916df57f79d3bb36ea6fdc48e93740980360ef0b0814230035eef5c7c99ac249109e608039b78c6bf5bf0bfe67c5636ca4a02ea1098e03b892abcbecb1899cfb30156d72bcb88d1145a5a33f784e1742b8a54e9b64c8d229370f804553988506fd5889c106512183c1182cf8b593025bed26298f758aea5da789592bbe4e7b4464b205301e40b5420c51f73e86b2572e8a4092d707315b2eb0e340f3bc39c27e1e3cb72785d31d45cc34a5e97d78ee4d53e65046d25a6b5589ec1c4d3921b77914eac64ad11663869193e5efc219e1ef2f07ff0d19716f7ae8c4dadc80b2446dfc4c4619aa8a426baa605499d23ae3e8d03cf24e7f0fe9d5fe25406f1bb90b3a0ede3732ba452c357580e18ec47b65b7d057a1409db259af9ae18609f66ad11a956eb2d21185496b919e8debc89be6f15e833763f74dd2b3c0a41578afa0718a266188a6b36644077ef01e9047d02bfa22e3878aee5d88fe2b44bd0dacfa0b2a19a4f43ab12ae79511dd3d86bd76011527945f60ba033f4fb90be438b37c844c2b166f13d721e3a6fe2020a2fc05c3189f4ced2c7582c79f0f49123955631fc60c0b58700df493f77e92bfd0d34aa758089d2007cd1b81b402356230a0bcc76f713568a5e91df1a4b2ca6a538c880233bfac701f8bd5d9fb24600a9c69ac4c82be006e2350928ff019d87ee30f70f4bf0d04bdccebbdb25d6f28ac1991f4c0a9f581c516092a261c5cc2163c12165ad106a9bab31bb389be7db00ee17dbac89339cacedec1c77bdb3122e045d18327d441b907048aa28e6cece504d536cce7612b64c0f898f22f02a7975c5134d5d97497fc2ae8b16e6995c1ad40c83157430fd595ccd2fb92a968691f36282be46728fda521407749ded556aab48c80c8b2f66432d47ee838df31bc05a7d00a050c66ad7a5a43f08aa27b358143df404e52a67b333bdbb76038ab9e3f63e1d00c51b7dedcb52e3b94e33a451101db1d9863ff413c56d15d9214af63cca62fd587f0833da7ac263e47e1b171cd1c8040e92126f51214aec2317458d48835fd22f017e05f940a24318554d324d455c38a95c27e486000056f751ff4d54beb3cf0f36a18f4bc66961bdafbe7bb0e9a4a026e09a0e60fbbc0e67b963e0ac4a205b0a18fb7e53d36e0c96d21ee6a2a99f8a8b51c66fc07ac0b0dc93fd6afc9ca6f322e1f457d59250dd3222d8a97ad4c6b85b10a268ca435ddf34f4692a4eda6b51eee23e9a722c0977acf59f7d91ef63c6e7d9ef29c6f8f4ea8976742497d7e34610e27413c0346d195b83e85064d516049ecfbd8f638e1647fe1bfd4ae0cc43ee1dafc9056008e2ef21573392923a8c73a410a580028d2bb413d273e3cec20816f59b527ef0caf559ef8bcf27ac3ec9b46ab6f4cf340f32be0948af51679d774ab59a2ce613bc4cce3775fb7c1d6ab32c2c9adf1c8b6c84cc64f3d709330bd49223ea85dcf2a8521af00229373afcaf6008eeb01a79b511464d6bcf55d0b9e1a373c72e902d9eb0507a5d74dd2e3fa92bd7187cef84b4ed6f340cd4d9d533940a52c383f051b9bc6371bfbdd07a09e7102300bd8f6f1cd86717284f8df7525604827471f39d16222657c2395608af9a7ad0349d33f74a3a137a09fdf808edaec9e543cd496497ad3238c637fa23a9101ca51c14795665e0559a7ca1e7240c904053789a735f8ce906e97d965e7dd7f84510cdd2b9384ee4a1161f45bc2c88488d0d04aa7c5e456a358092756af37db6276403644858b3b2e189daaf4e141da39472d95d9f07737aed137da893562b260119df2faf5632bf4da728b54527132552550525f520e0a2775d11fca11adc58548cdcb27aee8eff2fcfd1b9efac9f7b60228f50c5a5f1284e0d7760659acc0b33051949df2a56bbc166ab02996f21be8e9017919cae72300187a3d5eedb41700e8ab75e7d991dccdbe40484bb90eda636f15c3094400b620f6db32703ddbb0e42bfa3784dc1573a5d022787bf03165d2f8e98a560c799fb2e3acede54a8d69f04c518f0b738fdfbf47ff7951bc06a8b426470d23dff9d27beacd7d85a7eb48228b7514439d0f2c96a7091aa2a3550da0e4e4ed7fcf91ff428610b838c1bbd54cde66754b6458a9550a4c69b88c9cd975ae9aef6fbb1b869059a841ada54b6d2c5c55483ceeba696a6718c94e63ae33520ff79df653704d2b9cca9fba11e7905fa8e1c344c845a22b2065d357f5b4a6e1c2465e52e7702ac4ce0b68ef65365994ca85d9fe6fc6eeb2e9f469519865bbc9937f0101234b204a7386cc5a75d86f65ecea61383ea478706c4261a63c549b376b149fe0df05c9c87379bef3dbc14461ef7aba20fb086565931234c17e26a5f1a8410dfb2353496af8cb1cb4155f833ec7b1deadc37bc6a25e47892476456c966273ec1e415ad536ac4964df094d69a6bc774fa485c5170ea52b219e7fbffba73f4948027cb932d6590799454c9c0e0f0db12e397c6ae00ea71f47c1c511bdbaba4abf7c62fa5258572a4a77bd813586f8bfc4ecab8dd56544f78610948b54515463bbbe2192facc0ab6ad82f3c3cf57e4ce83ed4f7da8f0949243d50c52094a398ddee4d0f5cb85c27c588318facfd7d3f0971194f2a601f47e49615c541537eee48ff40a56075a40b4593f556fe89b526251c7e8f2af15fa09f66c42ce3dee7f01d88947635e2631726e53f9af19d2767f8be96cd1836bee9561742d7427b193ed43551818b6bfeb58aee1089c70f0ef7c47e633a966b9a4d5336fb2cff950320b3ec5d5a91ca61352eb8bdee32ad104f03290828a947da6127c483ddfc5705ad5dd7f1452ef084399b54c1a11ece4e3f32c1fe50032b5f0c8a330b5755e70e5916c0565d0bcad3fde77731a34408d6c42133e663e2fc886b070654a7704b4cb8ea975ad6305054f8e9393ff3b09a6523fbad6450a3c770ffee1c19c8d21ac79b21362ae25b012c19caf8ef866fa418c3810db96c07ab99cf428b7f38fd21ede14f5fe355fd6a8e8af4c9d5f1abf901aae85a8180e837fcbfb5086187fc227e8ab8860014c66b8266c1b704cecb23d2d5777cc19d91479b74f8e2e18c89ad7b9eb0eedb4e90ea4496519c77ea9fe0cb6cc7238cd670b0535a25242817549cab94996f6a003aa0ca75168ee8cc40bd218e721415b48bbd490e5dcda79ba95b74165625019633d5a224185f2ac8acb02ca1eb6995d248e8b39aa567cc94c1e55553ed7689e82684a8ddd3134da601bda6abfe20828f049477f5e48728c17d5df7dc7d184a06f27ab20d7b7c9c1277c91ad43cf5b4c72e09c5730084387fb823be387aa29badd3f244bc4e9e7aa9f996b81702a66e0c5f7b8aef6658e3c738aed7deaead5fc0516a192a439f8de1c7b3b76ffa331aa7c5da2599883705aeafce858bb2fdc998e8af520660d43f8c789628be969e3ac973a9d21eb566e2badf33e3bcd5e3414d431b98bac90970bd1fdd462e3cf5eebabf765e8004186ba2ee18c48da9a1f33d6a8a2c6a23c2f0cce7ded4330c2d0b46676e58b30464ac58852dca95c3046ec51ac763bbc343eecdfd03caab4f4fe7bc4da97d3fa8a89f0e9a97b28435cb06e1533a3f9ac38508224a1550381be442d83e22a13ce98f1bce7978e52aa0184355253e1a23ca51ab341b7cf6c743e4af00fb49d3012a0a3222da475a993c083046fd62517e04a867a31f9f809bc3ca2d6c38fcc3cea242a27df4e8f4b896ff4c686fb7905999911eba8de62a7a3e14aa573d60d8d07908fe53f5ceb8913b07cf3d191c4d0addb189545ea07e937c9cb2e3177d32657ac8b70584c19886e3c4c52709a93389200d84c7000b08ca0aeefa9756a4437cff7dc73be0bde9442785f1d033fedb15152fb965b4561cfaa1d66f9f2b98cd93341e7baf19e736e3670fe4c2fd7f752d540a150594b4e65d63437a76897ebcf305b62076da1d7711d9cf2cb34aef0551dd2c02dc73e404589121242e53a57e46078f8e69dd72f7314d6e21b455647a93af6f2bcd25f98aaaaf8654848934f986e385bd31a3e5aecb378eb6e260f64bcbeac90778c7b1dbb8cde1c0a4dabb86489d78fc3ebd0211d5cf5f4d39aee4f4c5fa78225833af681bd0044c7e46cf996df32129d732b1a7728e8b387c5e9f4dc246d2cb0ada62b235d024a65ed3a141e21b7ccf61175376f0537396dc163288dd23416a8ac271669ed8dc1ee3d9df4acc86020dbf2f08603dd940e4084ea04899b43fa02a7a708d0f45c29c1ea554421deb470a494e025f906cbbf3f009ad7eef54804c4772aa9934b663ffdca2acbd11ca83c8e3bc11672168e91556c21ac94c067eafff8ffecc54beedff1ae13278a83a13c817b152d912a7fbe5d7738ac321e88d90bce8fedc8e4175ce5b30a79cf47dc8bdeef9535d54025b6b7603beb26694444ad2aec8c7461f51454d06385a8e6098d583cb14cf9b09b2238575b7205834008d2e30791f9d810c15ce3d39bb1e68840ecdfa355412dd006bce95b02ae9c48718bae3a4c275c1eaf6a2436844fca91d14fe43e28c962b0e58f18776407013d9c7a189f4127044ea812a03ad742fc7e71bb959692ebecf45c7a587cba24f18b6244bdeb12f76ee7348d9f3a99b81b45d86b28a4f4e3a86ce810791edf4bb8af20b2333d725096cc9d47450ae1a361bc79ca5dd1452425b75191a463e95d0429cfe51e01ebb601be8412169f20af6616e878c6e18c891991aa93bc00e703bd4265c371b41977a92516217c6efd960b0b02961b2818771f61639009aefd624428675bf4d250de5aa0d7b3d73b76a7604029e0f8472eed407a970715b8b1a3d6a6e7da05896e8e8cde974ebc1312b0f008c9e05685546e0ee3fa9e9c80a173a2442e8f7247e38ed6ade16a3c7950f46ff8d5f06da0294110f4b1b19cbd23e0a1e80bc69b07faa89367dc34a2163580a9d1498dffe7d44c308bc357f60c101da8dafe3fe6a6a14b8e94f2636ea6014a7e9fbbdbaa18a79bc98f1b551483bf2cc395b4ecf9286bb85d9bc77181b5683f040cd1cad36b4d5a395e6f7214c9a0fcce5a70d20a3a92d2135ae184fb31ddc31f326fd24a5a7ac017c9444e1cd790627fc040791e5bd2c2aba533c4f858f63019d06f0246ec59d861dc327a7624f2cf932ba26ff6bd97dd24d25b910717c325b087db1d96de2f39096d4fa987d8cc0a6e7e19cb4e26a0b863569d2a9097c2caf622c37763220e4c9ca40dab870157525d390509e1126929309066464a864ca1821b776ac2e398731b2add4b1c319b98c3cb5a4cae1c0789d7723f9466daac51c6b942a425844fd3fe3aad308a9e2474cf9b5c5180c95637abc80abc081f7cd0774ad40d57fc8a1bf6f01822a2787124253f132681eab835d04c1d40d86e4797b8e5b767a9e81d8bbeb73b909dd5718dc53a1010a1e63125c42b65f7178ca58015b45a6f33a733e12e5ea95e86ddb7b8ea99a7c1803a6709daf85880c015b01c9409cc4f179d875a3fc6d928c02afe93498ae6d9c3bbc296867fd971f70349cf91fab98bd47f750cc79b3d93f41d5e1463c44e12f0e1f5c704c2a3df85cc1fd57c0fa207de1633964d92fa283e04014e753ffb58260cd0538450c5806b58fe4c23f7e7ad9e963f14399b74e6192bac7e4f89fbd52cc3277c7e9ac00bd075dcf9a50d2160fcb4a942753f4c01959c3044be5bb4408f5bac7978200baf007a65cbb0b9c6ce14787e524be6baa94680ae03feb1cf53a39f2d8f0cd12d3e202a117f0eb48c32de5d1ea91881f1b231d73518d04c01d0fb27764b1df236f1c92b08b6a3ae47dd622b9502ab7fa4069421dbbcedc46db4cbbef3edff40810c4bc7e0d61499403ff3789bc5cb6ef760ff95309ba73a36b553c705467ca9a406377da4fa6b7b79edceece884ada60fe670ebdec33e62fdb3dd50d88041835b7b0baf11f4c72a46c072046adcaef7908fdc9f980c0803c50fe296dec011597f7d63070c1f3f909b7907d1c8fcd18965b06ffc2437790bf911f82f375bc0b606e5be4c2466809573c30f87b8cb9cc430b63e6ef031006ee02df423e2bfaeacc082f269dce43de444e64f6616c2bef281ab66a23f8f5846b5a437ab8a6bffa0cfbf2166ef33c72a7eb4e04a26108369156ef873885b32839817d67387f570a3ac65dcf7871e0e55377c63958e202ac07fe462a3ca25682b30074f61fff2830cd541ee14e9948627834b81fec70b8b4a808a34d84041450ca282fe6312332aff982920e5419b0c3a05fb471b862a838a21ace22068068502fd0b0fca2a04bd2852ee1acc56d83f3caec185be091e329a35836c41165c9dcbff3e9102930e50ee2902a302ecdfede7f11cfb83d51180a800fa37b32df8db2a9dc17c804652e96cfd33bb0152b2f6727224fba04e009782eb7f5e279e493a9d0027d8c628806cc6b9d87baf824821e0165660e2eb63af9200bc769f71228634026e41b0c08e0110eb08665b0b043db9101cd960dd1782195f2a189426bd41f4334dce7e13e88f4c3b13c9400fa99a2297ce92df0e7a212239f4f04a5384d043f25b41372692817e5a694a6a3d27bf0de4bc1223d6d7af4f11821c0cdd02ba31912c78fb4826060218b32bb71646b498ae2cd501fa4cb9485c404a69a60d80424c8b6b530310609900dec5dab98fbdf777533b354a022326194438008f4ad158389827f619ae6ddfcac605b6afa87dc23dc2735fd35693329444d58194a4f5921591f1792f8486459591a66c22b9b2772699524a29b804ca043004a227357225e19e79984121d9dd0c0aa9eb0db3d90c6a47cfb30c25a36f98811e0e4a455f337e7736f3b4313fcde93d02d07d39e30e3533ea6f714cc278d01213b394b03b0143264a3e109d318adfe298249d6046f05b1c131f3f1d511b4c78c0183713a0b0cbc02e7918719a0cdaabe918f7b7b8a732e3fdf2911ee859f5d14a378adfe29cc68837a2e09e98f49c4e6eb849fa29ce92092cec9d7564ca009b8f4db4e0bdbd8c9f7a20b15bc35590d290524f6d05cef9791bbb6f714fb69f8eb52036d0b0917f8b7b8af16b2d8c1657c4f614f454a284dbe4a7a9a9c70f73138c1fea8e4b8b6bfaf93226333fdc157c9d8f4b0dd9bc3826a16f714c4c3fe45f4d78bc9e71fcec71898b8afaf9a3f2bb931f863d9737457ed87b2e49db0f456c6a30851fc63ab636d626267e5c5a1c92159f04be99a76665fdf8d9ac1711343d4a4490d42061608f206d85b1c065b5060a065f900f84aa1a2aabd7ba652d4301553dd54b63abb90241825439c992528502902260423032559c5488622ad2e46397a4d6f589c7da418541c78a65a5a94d12a816679ddc14ebd36abdac3667451415c158ab9eb4283a32c242c59017ae184e615fbef8b4581da05ea0daa81b4f28b0ad3664405975541818a086ad77099a5b43bd26be94ea8db25e24b6864f6c072b86951a45e80532df0f243e9f04886abc18a26524680a459715c86a9bac99a8131cfb98eab5e1028a182c675068f93092e38604a2204a5c2eb28049e17387dc21275bc65a31597d80590fa05689a28a5122b346408de14e0585594555c88f150008505d30c0168eda5daeacd556d9ad8bf400252baa368162a93440155abfd6996aa33a592b5093d82b57ca255201aa4c2bd87acd0840b554fb1aa08c9a9f2d5e479e74e901e4a6c7940e148eb4b832c3868f9d3aeae13fde755de995ddb33df1ad8d9232749d3923772e8f264bb0565e6889715180b26a588c015bd7ac457808624851938075f158fa8ac2c009825425716144851c178a1d6a01d4cbe523e147518f9094355846dfed08991b12bafca421a2d283c2098513cfb2eea85abdb9a495ebae90c404051839e11e5951a40bf6b95213a85deb04549efba585d572b9542856ab25bf10b6e6582130aa1b540954ad5dfd592d18ab75bb582c4f4915253d54500a4371c5c3488f8d7d82f262264c0e2e57b252d4d431ab2a6601ea2db22f5c95c002a9deac2637aafd2293e696c8a05ea31856bb26cd9695002a8e2c17cd99d52eb9ad399e0a7597ac94db63af6658ad582aacdd67fb5d57e4e9775de7f3a91c5425ab4c85715d54b12e78d15aafac1a54a0350016a84fec94336b9095c800d4145626ebb5fae029667c58689d0923c50c06dd8e234cbf1b31e848b4e0e1ba5194e3cb57518aae150b6ef50950c358c111b9ea9ae0887cad5dfebe2e77dfd705c288900602f740f8a083fdb5e50158ee10bb17cd0bfad794f3ede83eb7d34d126f80b3819b23a66da081de054208228ce8e0d090afa4adedf50f6db0f700073ab097ea52610e19e09c1346cfdf9c9f31a7c468a9927e6cb2f636e68710b08efd599b170da6e11d326fbfeeb90fdf5cdf3c07a86f90338b65f036ef8c369ef60e389303217b9d8c79700fa6018960e8bbc7de03b6038c9bbb5d373edf254cc3b7a9bc4e69cf011a3758e6008ddca7b96efbd85f27d0075ac5daa135960cad350d2b0510bcb5a6a1113b3304ced75a7b2c09c22b1f0825fb3ccc3092eecd669de951315c86cc4c5b86fd2243a73517155f6bef3bde755cd4afb5ee78d771e9d9386b9de66bfeb59e6d31636eb04b5ba66c5922da08378c9ee9995e0711d0f6066c3d0ef7d9e3e06413c763da867faff66988fe3b3fb31afbd77f361b0126d1e1bce2b604d5ac705b8872521d6cc0ee6440c1c7b9ca4a75a0830b2cb0521c0881d301d6c9a9cdbec55985fdfc2dceaacc4f67ffc617f268cb29a5ca393575066152eb49c242128e1f463a4e2c5634d01c56422893d55af36155c2cacc89a3ebe48185625d417b70a854143ac54484c8a90588922d4c961ae70b595cd0c872420c597a4eac3368911834cb0b55ce450c3627e71025e78d225b904e32b7da8f9c0d94456ea8484ec5959c0968d29c3bbe4ad042ad582d99523b412ac5929a09479656409d8cbeb0dc389b6089817ac1b2a2e6028b0fbaa66682cc99868bc9554d46d5d9030aee69c5d219d5c2191fe84f0ea02b3354b8c222cb15f5e84a0960c05a8031c1658b1514a8a64045b970021952e6083dda814ab19202dac54a0bf487959fb3ca8a89d34bd82915a666a34b6dc5821245a9a5d0e43cd374e294808228e1a156214295aabc28a10ad0e9a3ca899a0dcde9e4554b9185deb29c48a47c81c1e885f388911a0a429a8a7454a980f2a882b15605a155aa50a044d49c2d8c414fd8fad252bb41a5c6f3a4f6c2a908090f0b68500fd40bc7c9848a0c740d15144e2b545270a1c2839e2833e50bba63cb79a54aadc4d40985c98926093a26096de107baa503cd4da171724d113a735356a329254e2d33555d28b0bcaea8c1a142514d98c4108101480b1b0a26a546978b1227f490d2f3347e67ce355ee7122d1486969a50558dc614540fa6d38812ea04097da108e9c60925e3a4c2e22a86b506230613a8903328102f1fad5388161c55b51a534350a715534d85126a43d22aaaa97003e592f184c5d925ca7a26896202257326c9eb2ca2851ed152cb51552b9a424d803acb300529a158906a444567d88d730519432c6a28702b14cec4f9e50cfae455e3a1555ba1e584a10a4532852a81aa9d60aafd286521a12a8a5cb8519b21e3ccc1220ad5ca85ca049433545e6818ad345a7454a1294c4581fac17482299d49483e45e80a375c9071b2c0028d616aadc59832717566c92b8bd65945cb69a62ac954ed068552613ac728d5808c1e123a64f48a4e261ca7131a315cd476a840b540f17901a50435613fb552680daf7f6e3dd9faa9e7714fae3cff97aecf31c0888f64d809334e6954c8e85ac280231591fabc08958d88156b5aac5012237403032e758586eec88ecc1da9f5bd36ec66f6b6e7bcebe4c7db677e71e6a2061d628cfc6e6f318d77de76e5f8c31cee9bce367c2cc5e463d102d9d2aebf96d665ef7fd8b67befd5f7767dafd7ad6cf4f7febddbf3b2bfddbdddd8755f775973a8b930a6dedf3bbc7bade3fab4ebbacedb1bfbb4738b93bafa16d36e9773cedf5f11eaae031a4d105d8d69ec6cfeb6f4b0f6bb24bb8cafed621b3c9eca3d442dc9585be2446bf2e3acb5b49383da1d9c0eda462087c3c5c9fe629c14100178b976368d9dd11329db4f73501fe3f72d4eaac64791a45afc3467c902ac63735c8c1abec5c1100643d74f67196b9e2559d40b314a1501f02d0eeacbc4ec9b792ece39cf05e3fefc06bb4118c8032f63e7adf6acf67079e3adf6c62fe311f807cfb0e91bf4f807c442dd04716d440e3e1c84813cf3faee79c73bcefd0dd137feb9156c7d53a63667bb609fd1b4c13a3be6aff8a1f3b19c583763ddc440b78258097adddf5d8f88dcfd0e03e5e41d09ccd14b607a4122f0115e8f887484efed1bf45da11178e7bbee6f3fc1577ab041def94034d371fb6e76777bd087bc63a0710cd310b3747b9ef781a0c740f78be1208f6f38f185fbaae287eb41cf13ad58c40b4d72863974fef65d8223bf1e088220087a60b8cb0c9d57e294340a30adf378f3fbb3bd915b9f236c04faeb93f9e8a977efd1ef1bbf3dd6987abfeb3a9b301cfd2dd3f1673c62738e3dc8b9b783301fcdf4fe881ea721a41ef6344610d783fb068c6d6cd3f90cddc57bec57f469ffe2e7c1ee3de01ef3de620ea21fcbb0dba81f2bbbff357922b2878df7be2933c01cb61f4b0f98b63d28c24af9b1728b656aa5fa08badba51f2bf5174b70f3729b9fe7de06559ee1fe6c11934d66fcfeb7183462a8fed125ba4257e80ef5dc0e7b172ff4840c0d819e198660f6772877abcec721bc3d60ab232b4938304eb830365c179828840393e475f51ff02dcecbe8e3bc7efad5d75a0cfb15c7d84c43ccbcb05b81e207ecb317c33eddaa5f611d2ff6891a7051e86be05920e4a5b51e301fbd96d2b8d452306ddff8d4cb4998b631c6dec359c4bf1efbe01e50e4f918f41dec683ece7783a1c13a565de4f91cf4a44fef08ee45c03aa0e760574761daf6b52d633ac2c7b7cce07111acb3d404f68c47f4dc97793641e04fe400ec57dd86f7ab7fbde73dd3f386b0cfdee35e8653d2f31aefdc216f3de618fbcb73ee56c0fd277ec0648953f2a64cf54f7352aaa3fef663996aaabfb1cf5029fa0bfaa030e6459c7dfe3545109f8ff99818fa5eda2f7ef92bbb1fbbf79a9fc8bf826266bac144182142e4fedb5ed7b5f1af2b34c28c3447fded73d2f63b27fdedbb55bac13eef2034869881fdb443f3b94f71110f308d7b6ccb3b1fe0de43ee63663a722fdafeee56d987e087e6e3df677adf0786a10dfbd5e775ab5b01d739dfc405c67545e2041a28616a90a656747d4b5f6e1c014896e87852338369888b4af62deecb8b6ff32dee8bcfd6552d57cb91246761c9c3065c0b8b16550caffbc29fceb49e429c999691deb57cd8845a364450eb4782cff3b2c604208b8b4d9694585654cf4a1266ad906583ccbaf1329b799a172c2f57663669c274f4328c4912df5b065c3f413aa6332f433fedff827bc137c48b53b738b829bcdfea243876e90ee1bcf8e00d854752eb23287c47647cadb5e6bad346c67c46d49016a0f81ab9c871cc3b146c4dc912cac1c3a7479804c99a21435650c2f4093102c5334245d61969c10892af651868dd69efe93d7e8beb72e2a734fea5cb58693c9cb7d75b6381755861788795fb698e4e43e6aea900596b8d764da9b1c082428137fb168745e47b85b82d49b6d380b50ed963ecad192b43dcefcf3fb9f7ee3fd8df4d0da207d17de745b3f33b840ff610fd7f9e87ac75d45194124c7e941244514abc10a5c45217660f6bfed3e533427e941241ff0257c565e773de78773a6f6cbb7c7f72ce61353318e7eb4312f7e09fac31c5b91e13dd11e75fa2cce17632a34ede309126921191375c923b364ec61c66337ce4a2ab8b2f7b898d30ed6a4c735227ef6f92b559eb6bc581f5d7293b61ec93b5a881c538d7e6e59bcd74b4deb780bfb92e5178d09809230a1bc23addfefbc53eb3ff96b7f77ebdd8414f62f3af317b1a05b9ec33b2e635a638bf835e7b1a051eb2b8c13543f5491c98d3d77edc703d2d62c07e0dd967af2fd6ddd539c67d68f7b539066a4cf372b68ed0629d9c4968d0755dd779de7112ff9669ff21fcfdd1b40cc74f3b7f4d2ca1ce8ed7363687d7d4f0c1fe6b6af8fc677688316ab8c0f5db5f123fff4e5f129f97dacc655ed2afb66e97268d34f69dbe9a07650ef9f37c2723ba26eec13f38a733a2df99353023f6691fc9db45afcf23ccbbbb5d8219350f15a29ffdddfaba5b3b34f7d1f7852169347a0f58f469b8f7de7b93497b6f19d1be29d3117c10a1273de93d60f2c6343d3183e736b19d9439647fb3bbec0827c96e92c8dbad71e119b52dcc43def00fd6e1c13a9ecf610f12c24358e76e7f4d7c8475bc19441807b609f148dbad40ecb14bde6444b8324d3832426a5c7a9337f2a8f6654c7192ae6d8d37897b4fe7f319c4523831413fc5493f7bbc8475523d0337e1c4f8fcec7111f246da64447aefee99e44d7634e63ed3442b70603cb83254b9aec31dee3cc6479934226fa48db49147a49138faf4e6c4b283d018f3a1c7d7c6e676d991c532a37e236fe48dbc71243238b60f017f324263b67e15dc181bc61893362c23c26412266d4958c811fe309611914736363bdc76e6ed10dd06f479f458fc00429b690fc3eec31b1f13bdacbc296d62620f4df376c91bd93d9f31435f5d3fb4e1a4510ef79584fbb2e1bcbeb4269348a32e9fb9f73cff799e99c6f84d86d1df8c3e0c65467f34632637b768ee6e86db7f397fe48dbc496d19329224730b9cc8f3b80f3fd9677ea411d6f9c82a5fc84bfe91377c3917e243259f8169fbc687658703d3b697959d0d73e0a4d1f7d99c48db4736dd38d9e4f47968ca72b22b12645be48d07698da9fe5b7b3dc377efbd3222d2f691b730bc3ef4a1c93f7e4368bc23f39fcdfdc81b69eb70f0203e2423d25760989b34790bef3545d0c7bc1733c99b4f6538b644135cda02cdd4cb5de56ee4ad6b6b84afc3d1f437bffc72f07638fef632ee437eb9f7c8dbf542740e822169047ee48d134d50a68be125b083d883dbdf6b66918310772ce220acc3772ff92cefe48c369e7ffe962130adf36009820f30cd034ceb7cef5fc7403702328f493203d76aef2b37c83b9d08821b0781dd7f1ff6c13fdf77fdd741d06f8f81eede363b924aa8b44b9a14a6a3110100002317000028100c87c342510ee4209a13bd0314800a64b83250382c104f45913888a2180842188461000041180641000460180c4222d33cd26274c688e7050516a2e50f0b8320e0d9e79c3a0b685dd47440929cc0f01b1cd41f89265cfd84ff3eb36ddfec2852edcc7e46784aca2387211f87df89e247f2a94423c9c9102ca36d96a6e432d42940d686f4ae2ca1962cb22b6513bd06e879c3625dfa29111512bedfd00f5ed5aea0158ee17df036134d6ab660d8918b68d745f25bd5ee26d16864deb738225007db03df9826af2595920c59406c8a1032c1f9e99dc6a9982e8e42da3b4f4a5786c3b445d66f7d4ccb938772bcf64e890fadb9c12c647f13bfe7d8100eb2bed6ac81a60f3833a3069585c1308718d298df23edf4325b3dabd60f3162f69e83a43cba6916b6344bfc53dbe9bd8c39ae784f5d1096c24eff767cd6c62372f7291c10c19e180e91fae987b85bfecb8d7cd0fbc21287b1839bda0f318bf875c56bd85d7e3b1c42a8719aa8002c8446b5c8c5210ed196a34c2103fefdcfe58914596ed11192d4bd6383e79a0d9efb27b2ccd9eb87f5bade546e8548c508a82616de1a18da6cf7a7e8fd560222ec275877931178f7331ca3fcd326a084fda31e2c3787fdceace0df4188385088e69a73d04b38b74040f8ff812216a772ff87d7e01510ef90481579b37d56a8ca80992574b03c4cc0b99d8cc85c82e4652298c3bad9ea4d43d3532e15bda29f13477c72e1e395f3b0804913ccbc642f3998c53002f23eebbfeef1e931ff1a08e54364032aab6e0e8ec68b32a54f37423d7d623dcd04de08a7692eac0becc37c315c1226e9fa8cca2accec95e7a0e82328da1bff101b257c000ae96162ca5c36987a340fa23220be2320867b34c34c4356c5ef3c4399ee0156bb47cbdd1c1d0e332a833d37919928d58f4d12b631be67b4d042711b4ad2da79fe484a2845e2fb446e0ba159da0acbe2f87198118156dc4199e8770631a6650e0f307f5d07b7bc552672539376fa4d72b78605a9db0fff2be4531136425837799bf3b2aed465efeea0a14de06b1b07f66333b8800e963df62e3b0330ed53a4c3a1b5183b451c9ad2a73c438308d62c0123881ed73b54fb7b90c55440ec4bfd6e9a8a74e2604d1bd0b4057c5d8df540046b481a1110defc31944b218b612a37a8cc12eb85d7b330e48bf88d5e329d8b95c7cf22728794759a9df116da949129121d50798464c4cd46c70b5174496b914662962bbc10fa729fa650b6d8457b05f35cd59f1cd7f347bc546a9009c1994c1b3908d260e6f5e97feb7e96248a2bdb4edb536187088b432f4b6ca39802a8572b8a8a3e3b7f10c7967d6fe32b99db554f7c54cef01aedb2615ac5d26e08c43750726140948300e9f3d2003b4f71006fe4f94004f56a70041f004e60aa492caa8924ffcc0cdfcc566e3fa2eb6e46b17be020401bd152861758d03bb6ea402abcadefbcbc40713148e597936f11f193cd434de10c88d4efe58726db325d8619da7559f697b1f265d4cb702d96da202fc2c739a264399c8597269442705226d2ada64b2176695a1469a63179201847d4814c0f3b6ab2c66841e6b903adfb206581fd9be755e0ac3b751d1c9d27d3ab3e08566bc94298d277d27a8fb1a310acdb1f0665290de7b82fc30abce23a028b01a93a2e58f3dd10dcfdd30e706db8a18c7f46f4365a654654f4778213513cfacdcf510031c33022605e8aa56303e5ef2a1d0d9877c83db1f798709ad9ec837a0a43aaaed046053e4e09a7fa46ce9d48971b374081c68d45f03710e09745e319ec5411351bba42309b517010d7aed07e4840b6b7be73ed6884d5c5544843567ad487be71a8579d10b43e21a1927199b5e7f03e52b83ce112a436dcd32bb3d8cc6b640bf570d7500c760611e348cc0a0062d39a453a13f0ec1a9cc836883b9042ecf284a1710e709852ef4bcea487315051321f0a8e97f4d9c3bcab8af0cbe50c3c5b8fb2608249565e13ad8edfb7fea0409e34ebaa2239f8019c072f805f05e49609e9908c81461b39bab4cf256e5231bb7dd165b547fc52dae5b936e94e3f16cc09293aae45f94432c6760367b1c1f2db932a39f5a409e8e3e3717b54fa244e2319830e5daef9f2f5ce4acc735ed3c39488125fead32c829d64d97b05f08851fa6e51f1d7c4c7fad0ebea5d48c69819c7fc0fbebd5ea81c07c22a4cceadbbb0b44db90f9f5ac20ab46ccf7cad8f3c560c9d31fde18a80c53c9807c8cf42bdaf2a0d0077104c3baa76d3a3f6d4cabaac80220701b68c31f69b14b02a1c476647def656e6cd20353353af4a5ec0dfdc9b668cac934fc8c5c86989e2742818a8f6a3cb8fe3f836bde38a6482346344155de9a8ea10b35591ff103ad03d82796495587b13e749e0caf43b5e1d50857686589a31f84b907815b819880fd16f33b880294f3ef936a3bcfa9c137ca20538224605b848509e668c0561c74c20fbff8bd6cf20d981eb69c68020006171134791dd5ac1488fbe03c0111fe4a3a2cfeec237ca89d5a855b50332cd18ed2f9ec28bfd2e713fc7b7cd896c8ca986720869c64077abe048c0fa5200f48b0deeddf92eddd14cddcebc460e6fc640e470d1b3482f7a193daead89969e31d0c6ee33860bfe0074c4b220a07daa800884b83fd7dbc12486512a8ee63c504846a94c2cfd1c185ed757f169f8c403bcdf806aca4400764f03a121e188a02b3651489c1c289e163a3cf9cf7daa2849900991b35c08cf9dd6556fbe878da92ee0a2e863cf644e2ddfab4042c41c8b7dbbde82f9924d0a4930968711a82bf2a890aaa0b992c87a6f38469e92d75f7dba13b3d56de356515315aeab7ab775050cddd96f00385f3cbbf439bcf5a13a5af4985b4033d5eacb186db04c017abe200f34c949655e582d7865ce49a8b0fbdd396504def7cf56ac7ec3910ed9fdcfb9f9514ebc8fcf30a36fa27937fc7c45d1ac25a5d9d2ca44ed70430f4f164740d3076080e65d3e5b11eb4a851aa2bab6d0e783fd8456440d6514a8ac191c8bb290152f4ef04422fe2388c2d4c04076369b39454eb98440002d28498d332dfdf64831160ae3a584d919e587e8592af86e344e8b850391cb7fe8031b17cb9061d9376e52e7b3b63c815e180af39aba8f40113a52c53a64c769ece3478d4a9ec365a8ad7785fd3391896d78b187430048361f454546757041f637195036f51263ff9805c79978c419e40d971af061d6250184e2a2a7fdb1dc33d0428c278dfb98851faa61c1afd68cf61dea8a5cacdea84456dd30c0859d725ae17f225f3e4b491e3d00bcbfd390514a3c2ea1a145bbe73152805c4d84e4341878eb38f097c810a2342749661a3dd02e91057d0bd57144497d01798427bdd4ae75510bd36e6f0d2be6bad064c27760c4ac594c9e4e00041b4d5487955782630004438ed39168e8f3c52fcd3e80617ed62ca44085e5a2adfede906a6f3263875090462b64743f04d40ed5d858340d4c0abe32360de76244520b0c249ca59c0a7b0a4a1a49067bdea2bbbbec8965dc35ce344e18981b8217c4d925afeef980b2ee3bea8e3c02d9f924bb926c24534efef8d96d1cceb6672d23cb60bbe4d20620bc7177bf63e463c722249c63f6c30dee14df7f5811c36cf8b82788361ed98d2b370f51ab7227f765a19923f0602640babb9df53a6fa7417bab38ae1670d87cd9e7383b24dea5e1b2968967163fc5e98e43fff1fab2c698e2b93862192b737a0c2349a4e7e027235c46f0924596f29bb0a5d78865c24822b743cff207c9afd3f44300bfba330bf9964202f1c17614e6a9502c74f557a0d6911dd58656abe0adcfce16e70c8b5fe0cfda92be73bbeabf0d445731eaa4dd172a396a7e43fd0455cae404ab110780cdfd8ca7d704edde16cb70ab6ce9fea563e990476065fcd27e7a8b656836bbd5b4848d475da421c2ed59573562fe6a4269a4b26bccd0d8ca89b2a025c1cea706591a0776880caf8d16489622450703f78076bc79593b4d147798bf97b593f860fe39154b19bbe8c86fa9478a6e601e512903b73d717aeb6a731e697ae162dd19ddd8dacd415231981085758fa6976bbb6d304847a2460c31e8b843e205eec8f09e5f6914c2329b4733cab48266452a22bd9d849fe3664d51090df898959d0adb4470b4c0ff7d076bea04072e5854ff57a67bd493b0006056a7540cb2fb936b735b204e1e8483a6153e8f92c6a9fdcae8a99a8307196b65f56579151ec1f5238a593cf56b9a509bd7371923deaceb4485e51da3f036c89fdf00922a29374480986751539a093fee2282c6f5cad48d092fd6f96b13fea42b0f5684fc0cf879060ebcfdfb9a168e89938b4a0c8b3cbea790de9afe293501829a166da2bebb6c1fd0d79a598ccb8b9432edf4a82ada62d4873f56f91057000aa818474aa6c754106ee776ef9f6b36848ba4b371a5461ff44fe1bcc4e8e3f351f8521d256ea72cd149195481d1036bcfdfe1b9187937c92c32c3f3a7a65b985dcf5f86adf3cf94e9e5a0e6c8702b88fa9a3aaf8cbf970c0fc499bc359986d2bbd9b6832c9146b261d76efc657be7bef0c8833ad49e81649fc037968163b13208cde17e064cd60ee14a6f75f03b3f659dd2e0acaa098af8098c5d5a9826e7477030cfd24e694fb3b33336db197283d97f833fbbf820ffcc231286514f65f125d48a9355a9299547fcfbb6f57cdbd90bb9a32b2dfa095e8b12bf635c51f115f6f3dc86d076a5c512657b0beda02c631b62adb430cf9516cb832d6f59ce69ebedf3305f3b72d99da6fa5ded93b55920fe87f36c91b6810526b6050d43d136e98a4171d994d5933f066b82fbf0bec68be31744bbf64819bc97e193f4fc752487a970f74eb4c98c44873c2c40f8b36666d5656fe64269abf3c60b0cf0806b45fbeaac515f734ea17c7a7c6d46728831c980b2ab9aa5269b8894ef9c988353d69b803d2d0de844f7676d7c1b41ce9b294a0e82f88b3180926d2af050a838e090049bbc864a7c73e8cc15e189d31171e39b7a303fcd4411c9b983736af200910d1ce20047b64654092429cbd8d6e0d1f51b552c3b02d349f941ac0d12346cce8c9d2c5848f80759d6d74fe7d68d51209f4b36c0a202de5b3ea9bc01b3e07a4969785eb958bf99e91a6e86952aedbc61b411bd723a0804e509c214eae01b975a707a55139275941b7f702aa08a4f85bd1212b9fc40b8516fd534b528388af0dc8d42dd563f3ea1096a78c18a64832bcab6cea58850c279e4db1889e82a113e4409395ca5d95b9abe6b83c0b2a921d222486526423f2c769f1563e422511390430833a8da2c6e739558f380d048d4f0db73c99b966ce3eef7da14d498462248532f85d338d18447bfae0e1929d8772554f4898c1c405ff1be39f83e95bffc3ab0f093184dd9ecbe886a1e904ec774fbdc291e118a30c3a421229b197f859f431ebec3ecafc89a9af3ea4b98ffb36cdffdedb795935ff545772ea41b4e85c31d05d43ce6953e56142fcc95872262188896ad07a243c5524ecdff223f0159122328514a7f4d1a639def991c417ebd621cbbb458b5aa2c0e5c90f676af5fcde51e2590c71b3a5555f304c2364cecc28c431e42e457db7d87dc3b381c6c89c6284cf2675a03a3aa470fff2ff708e01f4871352bf0d24612a3692dccd6005912780fcd7384f094b00cd752a3b3d40965b02324de5b658130c04dac09071bf4fa8f0d2e14525fc9a73edc946dab29694b6bb747b032d48bf81d519e485c3660c59b402bd9a7e11c252f58485b9d826f2d88c28a5bc33926d2ef7988b60d77b0916f754f9cd1240fb234ab54319a60e71a91e8cfd779cfd148ee27e208d013a344c173f6c8b6a047eb41242b9122ed65d60fa3b16454255716ff730dc785122210f35880c006600212424291010038441f1e32868a931efcf588502937bd8a2aa672cc5456070992004547bf8298f4dc80120281d5bb0c22e7fe15d39a96993e67cb7c734070b7bb4d8fe9282e21348430b162abd7431bbe896ce32a4210564dd5da9a1e8d6a4706d9ac8e8673cc196d6b6838474163635a44cdf7b72b2ebb9644583e1d026eaee0252c7d8c6719a1c611fec12104e984f355fcb46cf1defc9c770d23039b6d6be18135e01cd6138ff3b53a14a1925185a3e2f729fd124a59ba6e68114de535e8b419f261bb7e09c3b5668898a659381412f9e6f0d454364005796e3913311c11abec83c3dac2ef6737b26f4d83e9ce7c734c89c08800dd014e4e3d79ec14c71b143a73ae0a142a2afa520523431cc0afd4b351a92470f7048846cf6626d82fbb93d9406728a81954e212f422dd6d5813064988c9d0a81ce26e53540496fb4685d532d1ffbded43b4c661628f7487c93a8131f1887518385b9ddc7753af08ef4ffa98b70423041ccdf5ccf6bc1ba0ea2d8e50368dc2bb82d23b8786f09e7307f48103d3bba1889829382244253d7ecbb94598b01e34651e1d5649c4fc2e7271642c84e462d6af1cacc2bc1e8ff2c6dc6f4d866f6e279850f3b41a03b66bb32d390b265a23bcd14c2f03c0de0169957902978e7966dd3194627edcec1e143843b5b66a041b61f31db8dc346a97166b03ad47e958ba9327c42278744a6b96e7cac32c6df1af1a3e09e5725eb610026c405108b24d34389ad45855ebd088695d977e11cafd4973fc54ae20e5601df0772a2a2d874e7c9359b2eca5f5421060500e30d743186657d00b1a1fbe43183d0183ad542a37144d8e545750dfe3160276b050f69fb1960f55c9f1b6b74a6cf0a02fb2ce2e04956f036d007547dea110b5896318235c74f79a17760270af4f96c4f5f06aaf7a2136cc1b6000c42c04fc0881e0874e20b6f19ceb1e96d380dac0ecbcffcaf4d038d14589a019fea573a1b163a29fcdbdb1a5438f40881310a597ce0a68df5c078d5285fddd51fdd299396a149963e0a661c03d9fb4099f80ca252f520de8fc5c0a41cf586c3102fb8567e5fbdda30865d8a54b918a8c26b20bec195be9d3543a0c21a2e60c6a1e3d0708215cc59f56c16ed274aa1806cf3f316479114fb0f2dcd3e8a88c787afa74edb3831ef2172914e2749dd85cf48846d8987b5a18d48ff0844cd71c3950e64291c074ad606b6b0dfa4bd7772338a0535a631eb15843f904b7c19971d4a989c098fec63e68a5e2b571a815a4982b88113b32e29e2d669a225c257416eb1e2ee4108b6c0d165f5d113a2a44f70e0b2fa1cbb2d609ac936f9a6b505b521d0cc23dcc0d77d0b4a54c824bd1bf3453ebc015bb8ae5e1198752eefe125b4a824f9cdf7c880b8f7393d15ad973eb8ce4a80577188ef07c211431907a162556b75d4690323c5677d7293dc33228c8da01d29ad2553d5527da058003132af53a910d7c8902aaac2906f00479f6aea27a3f3e4140a509b43ecccf9b86c3f943609711fcbba0e1631f6c95a8b63f558c404b22302fe08a0d5fcaa0a98db8ca27b4179c126c5983f479d2dda6ff1a7754f25c7713ecaf1b4ee6a34216ec8ee1addcc5b5f19fb8f4c21e03b19a41756a5eb3297d7f2af23cd8e5ebcdadb726b184888647abf069cf32f05a3660b4db0ea10a8ac6a07a7eb0f37c32f7c612a93c9690cba519d23190a873c2c3de286af54b0a480f61a5b1916f664e150486b5c6ee4d8e7a3145cdbbbf28822b45c3b351f3da61a467fb1b9bddd44a1285689ad9d38e075e863abeab06be7c25a0d7e065a97c3db6a75e416c906020deef550774d347cc2a1a73ef478cad1428fd442fe83a24580ffff2666eab1ab9f61669feb04e08594ab5a24a816c5e984382f71629a95ac37b9195d08aa543cecbbdf20396800dd004d9b7fbd095ea3c90bdbf49060efe769676bf609c1d3f7f1977df8614a4baced2d824fb6fcc582504a82ea11254af5203e59d7c77a9b601954e3f7248793bb1af0268107a444d652f26c2de1ad983862072cfbc2936dd6167ae291a42aa79ef362ff04bf272575ab55ce7bb77d3dd8af40334899bec3cfef3d84ed8aa41425171fb54f6612d00cba708c266488f2643cea3bf6228a11101ce9d418e9d30496d0ef8a344117ab0860d61c8e6b5822ba68fe224a66f75dfec3391465e92761026e84b0bd047a177cf482b568986c94f607a971d8399ac40c3d491d82b47d94b6fa457333b385e7638195ef36f94c5314a6bb9eb8f298b131a76c6a206d0bb46631449898df46bdbaec9b043ab219376ff56a9bbb32fec23897780edd22be1586b095dd0ae29d6163fadfc0a51ca116ec864736a99301defe1ff0721931c3191ff221e0c81a8860ba819ecd9093349769d5075d98e79c8e93c37a2fcca86b9f6c08d23f00be10fc4af4c98ce1033fce291597070e5c47579206d4e67d092703c9cc8b6e5c81343b4f167c086030055e390e93c89fdbb60287a0134a601f3ef95a45a65c84022518d031b35359e68977b917c82c5334e1cdd2b4e57447f33aef59cba8c588e1736791144be5e832f2f1238f5bce941539b3957cba0a173897d5d0d7e87313fbce492621b1a6f6dc8de50d6955023b9f87e0b5b800972cbf316e6f956b4ec68edce5463672442a367b22edbfaf9b9aeddc349254e27331d7bdcf183f47740f9dd091f360bb825cb5f9779f6d53e5a480757a150ff61683a7672b82307ad1126c9db33e142f0f3b66a75913beaedcaadb6036f53e2496f435294c7d7fe27102fc24982c9c1541cfbf0064504577cee224bd9d450046847224bd1d04f4a56f8fc9ca7a6511273c41241c1ac0ca383290d25e3b4e935ac714823299c89c31b3f5f83245d06a143418c8756cb4c3aaa08562c0490b7c38cfdd99abd979ca7be06ff54784ed2b887a3d89bacaf134b472cb636c168c6341b1c8f7ac7a5d6809d38bb2dcf72cc421bf242c156143c56bd66444ea1be89b709e1e190830263875b8c58724412de01cac1381a16ba49883913405c0a5dcf4d41033e290289a96434b7772ab69424f3018722b5be325e1ad77d1c0d8722766bcb04d718aae8decc3d54d57125235d694a76c0ea44bd08acd8647190c01f28f7a00d062b3de1e33c7580cf7c759d1ec030b564dd8a7464501a0032e2f64767caf81ba03a4d84790e24090160e8851798968ba9af5a9b74e80dd350be15063a5c92f344c67cc42eeb31b48611df1083a0585f72c3db869abad76ffb759188d88b95471d80fcf9ae5f894bbe5683fca33f5556c00d196b4e9110e7c11f6c47f2a31e9b91e4c67fad7c3062b5cd1e1529895ac6485e443d109e10fb6abfd17491d0de2c5ddf16390dc83e67015a5e395794d384c03a5b33f1f6a4c7bf514143614ffd9a51e0a909d77281e885a65cd049ecde9564d638376934a1400949eeed7269266b8395e7984706a99b8f91e8873e843bce150699c17c996e603e06c56bb7e823be0b19b65623d89555a57335fba5cf2bf2079299521dbc87d03b0398cb9f942640f38ba5f2b583af18301f82c2e729f92238230763ac8bff28925daad6446ab872faa0141bf430b7508f7c1d0a9bf88fc6b21678798070fc9acd901c598f202e8211f3c3b3d2cc8d4ed0505870df4beee5a8a3d26ae1181d710ee3a17b36b538b51ee55f34b621b872dd2a5b9d286ea72a0348cfcacd4691947c671722a1c76682ea4c6e27a6a25b0e918788a37a6ccb616514a91f2c902018f5ddf2dde502b971a55bcc207011880ed38a8a84d2a5bbba4b340aaf6ef05837d770c9798a7b6a8c84f47b2cf5a332d04fede006bd27ad1476a3691275a0b07b1304b8727af96061254a8d4124d585dd5db44638c8f585a66b18ebc7943a0389bac1204975eb6f2549c14131da2dfa883f8193fb416f43f03c1a78104f7d102b3008eeb524ff3c7d297ddc41a0d54d363f71393801e51dd633540b4350573824ffa2ba356e05331f55aa45e196086c6cbf05b4244cb4319f38b4d321f1ee1f061e00f5990cb94cdec2f7c6d390d7682ff85010546186e64bd776762afae690897b9b40f4cdca509fbd555777ba392060cd2700fa26c1c989eec572c7cd714c930b123c29ffbf70bb43a575fc6d590587e8a92be0002ba56d22021b82b6955d82fc5a410860fe55b24560ea0700665e1ac7e71f3db846d83c3b0c81c3e3bcdda40fdcc74f5da503b98d16e5a9797b4123109c0ca03bf27f1fc92b31ab3465158e6edf860143643848415d267de4eaaf8fd4e0fc8277874b642e00e27c53e31a8a7dbdae2f10d206ae25c62f904b13d190197e0139a2bf48e89a8d9aa377e6d780e10ba261f01cad85160279f1eb0e42166da5ae0957f90d1c5dcbdf7ec21321481ee27d20d90c4f2ccf6906f67caf0df2373a43d9a8f10fae0d4db024f6fe3b18295a87df80ed710dfd6baf5be92b441bb0b725ee14fb51e6244e548c8f35d8381e331877e9c69d4890c681c18af62919d91f76a0571792a5850094a71f2e14615b8b9f2037f4fc3ed1275af0941d26cd4f9dd18f8436bba3d4d27b86892fd24ff1d32486e03a96d877b099b92090315ed306d8d351d0a22e945475c4f62978e97e344c3ab59c394fe3445a3a4889a3f35ff8d5798090e871bf4495b74e7c18029a58a89e5c7fd37c2d655e07eab5d64e0325c296510e2719b77da82b8c5f6df99abfd9885757a44faa1abfe51fb32fa79187bf1fce41050c594c31754f6c3c32dbe30c89311dda8e4c8f773227b6b65d515fc3c56878e3561bc35b89735aea5ceb590bbe5617e23c4d5a49d0dd1f60ff2e0c3c4247e7bdc9509e61142e79f4d923aff00fffbd31cfaeaed9311257e483294c5bba147e7454ae79f21a95ee1d00f5fa7c66903d54d151f288a146b3d6064fca687fb4300b990b68563e452baeaa1e4fee52485aaf24088515b3004664511fb3e06b8a3d08bad799b0db34e384751cf25cba155c95869ac4703b59528283b7d0b563ab6be9a7503e4d75837f53ebfa2d89cdadc5c595d06611333e9cdcab7fa583ea3432442a55fec624103355094655e23766d51bd50ef1e684792fd40259b6952b2dbd45864a5c7bcd4b125b5894d829db0bf95376d4545d9071e601e3920268477d7f4437b5be092850151489aa482675239e60b048528b7842b7666c3e0b582722e13c5b860c578a4b26b9bd04d61365888b7e489f732769595dbf7e483499a985a5b0253d53b2e50b1abf0119d8bd17e369aa3fa8b1edd8f5b7fbb49c518cee16c40b7453cf0034d5ebbf7e0a62404c41a7d64fb300f534c75f354c706d6bcd987aa43a17b16244f470e85ea1ef89f96e0662580c703a1d3d5721ac595cf9e9a7aded3ebc36c696c4ad80131a5aaecfd79c1a4f841df8c1233cbaea63de686a9b202d4d844971f6487d2eadfae1d1b0cf0b1d92b31891cdb5fca68f0846249c0255b5d8557e1ed28e39f4bb9c4ebe9f65167c27a2119c6bf93f01b6c74f13371338ab1f93b36f490c6bebb6f65b00f63137f49572937e2864165693a79787e01dcac203f0240d809365d518764a4d0295d94494528c1b9b77a1ac8a6f954d733f0eb17690b1ed00c27e28a57cdbd5088a953cb43ed5a747e3f21883796a8027e0897bfa8ad93143eba20964791a64704e3dd12372e8b23923438514b1a24da74464b6ea2bfe3ab5da0612542d06e1cc481e4de9d5a2e3315018bf0dc3220c00c159a97d58526cb138eb7df9f73ae5e0bed62e8ededf5e149eb642cbd8dfdc861cca98a403fb0af05a9628d5dc1f90d86291525b1aebc23e14eb1ad5da922effcb96e5d7597885d53a93f7ac6d350c9134948ba04b3d50025b7965c78b8bfa629fc4ac2da5cdd2679df4e07ac2056352f1ef0102a4a2143a13bc610325ee74b9d7f109d0f02b029381e775124410ad2d13544f323c146877563870b378e4c9272053c2ad9c529e16a17fea1e1f5d92facd8e837e549176f9c0c9d6d208273068f706eb5a055d84d83cebc1846a0397a28b704af9bfc999884ff2904762d635b7b3997b6042f6c6fd26a68987dfe0ffbbbb4334de4943bf76c1b6bafdcb7e205c6ee6192ecfa5cbefad3e432ff2d26b6e907f6fd7af0d869977c745ad41acbe4e79721311ad67479501dd37ac3f5ee20f60758686821a214189712bc56cfe25eaad156728cbae615476000dbecf90e742e9ef74debb6e7b108c6427c83bad1e68be9ed69c0488b7d7decdc92ca053662d501b19382fa45d205c3a4d439306acad4d9157f4ea27c5178992235c31dd382ca5aee39040e715ac51f1a5892ef42cb5d54988f7840ead17d9729e9092c84bf2eb41f12ab19625705dfc429ed5b0f842523dbc5c3d14165a597610e8e2f262574411ac239c18dd4156656d34ecbe10d65fa27fb449f0eb44601a7a6ad102e15a890a5f7b0e2a56d9d69cd74ad483e5eba1e2e0e5a5b152097ab098f9103a6a02d7be57c25a25149d606b26af73d643c72b697f414899fecaaf41647f6da974821e0c76f913468be04ff01b012e5b5e655573eaae048baca871612311aa25d33279cdb222955e26011716f591b1ad87d3508fb30e475fe099d694af122503a19020932046e8d12d801b61335002a4ae190a5fce3a1d79765b40a24ffd31df49105d350aa83c0a320291042808ff086e056c2574e07e51ecc40982a27f697f3d54bcca364f8022301bea231d2d83faf5027bf958fb04f0250ce57ec17d3d10bc9ea60b02deb00eef0cc404c8b27a9d733d745f49fb57300886ad2b5c5fdbfa148487fd2b66ff08a013f04760d3f7eb3e520dcc3bd0a2a63e0182e3555da3116820cc106c24e1c9e8d7d0d603fa356810b06bc381e0258494f32f001bc4eb2bb60d65ea05827a08e1955571987b81623610f90a5e3d2c5e25368780388c5f2d44e026e012c106dc2b400ca2eb2b5b4b7950d41ecb24d8e562041beb5e7c4b79115d98372e2b9d11615af8909caf0ac43e4805b74609f409360343a44afe8124e7d15340977c214d3494555a0a9deefd64709e36413464099e37dec2b185e149669adecd7094246ae0cedd7b928fffe5f26cdfe5eabe6f4538bb59b63948ac459347cccba8804b82c455daf92191b045b98fbdbf67e3bac2b6098a8ace182a0b657c35f3c868519a05c037d4d862b802fa2b97a04c809f9082609a6015a198204fe8a3040828afd7da92e897a041106eac1e3ea1c3bef743f07b85b2b34b272818deab0b1653055e258dbe7ad60201ba7391f36439d52b04506ad64560ae047369bfa0a41ee45ee3a894dc2fa402cb840ee897c7d810fa28b8125a091c088a047cc25408a604eb042c4637586df4d887c97a40b1b488c0c1fa254f3654f72511f560f50ad96b08f64be8e07ed9abe208704d18aad88ba794117213b04898cbfc574206d4d797b63e1de161f78a78a1fc7fa954e31338ec921a516196c46bebd1d7f09b4ac58b6cc944488c201b6104013a2328bf1b81cd6fc8d56272a1bcbe32dc84727d85c650a2be8476108494e25faa951f41919097000df35ad92370f07b25a92b0cc4f0158183ff85b42e30307b4de017012f041bb65f64eb6713208a5fbd6b91009d041b965e295e0f7eaf95e1265c4420bc0488f4eb637d7b420dbe5762650bc203eaf565ec10fe44708dc0068193f0cb0495b9af90b56b02d6ff2f445ac9b684a3629dcc0b7b06c8eeac1043545d0f5caf278a83cbcb203614d75768ea21fd1ab40808c4095020fc13e09500d1f2dab271907fc9a35076be006142595ea1d55c111e7cafa45d40b054024413af3c2de5ce0bc17841e070e8b54aa692980935f2e2374584e8aee912a84ac64b840d872e235bc7ce76f3ae40a328a6bae19474ff20027c5f575b07ee2bb2e59a5003d4eb53dc06e1e1f74ad8bf804110b25f30ae7cece50b461a54983852c245532f98720fe5c6fe238e7cc10cdfd97819389cd573d1aad8e5def5879a1827c527d9767fa53c1bf033bfb8225ae63e07e4f83863200a744c566b535888e3f453c57d4d18e258b0bf3c2415bc5ca895f30221ee3fbcf0fad744304c0534d518fbd85da66627abb995b827036fbb483714e286e3fa63dc3b0eae04217471117667260a4fbee842f7276415dbf5c033499f6b6e5d4c13d182144fbbafc076e4fd9f70b6abe5b1e1a41b9cd8aa3d1342470878e149a22a23ceaa2cda775b33ceaca8092d64b0b7f0880deec772c6b13da79c93da4caba46bef2a6683135d2ef1068a8b7345904f18d1467bf5f36dccb11e76441f431c5ddaef573ac1d8f5710599da5579dbee522e841d15b23a99ccf544af03c20ae63e19ff8a8d20b5a54d15e707bbdbcf43fda27fece7464579731746d863f2c58b4b5d984d1816feeeb078d7752afdf94f507d5c1b2aaf6310d1f26ce90c38df11e920b2fccd99713829562c7af7ca2d6d2e36869b16e531646d1cc6cf0e62960254c848de60f684b1484cb05876d08bd12dbf98ae8fe23e052411f949169dacf403eaf06ac26a9c1de6fe7b0d95360fb3d5c25903136b36b3be30f26103206d8b180ad52eb8427a2c8f770c0dbd78dc126023cb2900cd5bd843b67a988b720e1ce3500723a56a8579017ef0b7f5edf1a2a01d6da3cfc5e5c11a6ab3197ccf2c77128595b6183e8b2aa4508d87f0e67202eb26d9eaac8db896dcac02ca13ea715830cc389b0e4c2a9eb5b6bb6951d25271221e2e10d294a5496eb2f28ba20962e89ab33d1ef520084fb84be1e422fb89ebfa0865081ee42a8e6301c9aab0f799d20b36cd4da6c3de441fdb8a6e424bdadeddb6dc524a29a50c8806c30701076d825e9861af4013d070a0095abaee156842580c8c33b6a835b372d29c73069af0d573cf5dbb306d4f2f5ca81d78c76121feed8bd36d6ef2f6f045730d66bcf9e63b0cc3f0c330840ac3300c7918865814d1aba75bdd7879882f79c94b8aa228fef89d7c4ca3d1c82f87489224f18e7c51149f34cf4e862031f9a9f823149186a48b21c4a789f7daaf222992229ade2f7fbca779c7c7a27845114d695fa2e439d24eddf8d5691d24a087a0fd88d232742b3ed14defdfa01969fe34dd7f5110b98b4f5e2153c7eb863c7583fd5bc348dd30de5d9afa445ab0dbbb998b3b0b620f9362d60cf66fdcc26916e049b75dc6c0ce9e5628bdc30cf3eca905b3236a86fb477ca95f2b6377ffa86eb8af478a8acce8075868013583fd2bdc4bb75fc974fb6ac4202ad3e25babc557d778dd10146f389d31bed65a61b46052e5a20915d37df33ea90a720a520236354982c46600360d990aa2b39aacb4ad5760130da716a5f8a118029b90422013e7bbddf7cc5e814c6e7a0a1476f5bc0003ba7802ba480a8a01c69588884a4cf00d926156a0120f0b7a053285f55aaf40a6244248f01384650e0d0dd9ca75133450ba3cbd15f7ef7f7d9a7b438d5558777b798af661d64b2a6826ec30449b9c61e0120971ff4675266a6a1d14b014095e6901c1643cd113a58e921177826380a4b89c339122b5c2ca9b2873908a7412303a5c4a7bb6b4f828d26063bb0e77d2f5efc2ba062ab9e17f4327354161812dca4426c0166618bf7d7c4ea1e0faee777861865fc11eb03bfe9a81ae4de67d3f14c5cb2fc753341a4ac2ae086b7fd88fbfe6af282f7fed27f8407ea38e826c03c8e245afc015c0151a340059800159005968d0a0e17eed56d76fe92167bdc700558001aa900354c106a8420a50c557500966f8b5a73f3d0d7bef4d5ec83cf36cf98f1c85d3c839c74763e6d797fec86b1f6c3fd6ce6bedebaf6788da871a9ad61ebfd6684a7eed5e8cf19717bf7e14e37b535bd1143fc623743b420f31de129882aadbd29636f483fe31c4f660d1d408eb0fe3eb10fa43d84fefe7f243ed39f9690d4dd13184fef143887bfc54f730d70e39e78c6b078c6fed70efbd3b7cabcf908f9f668cefb5f5eda82d4643c0fd9e1ce8d4cec527ba36c4995e4e7b510430c9a9ebeccbf8626cb13dc9306bdbab2d2dc935de77df9f5c1e3131d69f2012667e6c02db39ec29c3b03433f58f3573d2ac91e36bda78961e469bcd664379e687b07df8a6edc3b7a1e68b6fd445f4f26ba769dbb593fc5a9646bd2469bf69a3797d35930191a28026c07e401a8254983ae8c8ac1fdc12c41d7fc4e8d0ed81a08ba0636bbe8939d06b9fe2def6d9241f57bbf6766ab0bbbdccc543f923266db74cda6eb65b08b6f6da0dc56669da4ef4b8ecc00edd3b74b3c6d8e25483ec01e8f6eea9e1f66e1e6c1fbef9e998cf4ac7ccbd2cd15444c761a6fd6871dfe28fb754c025c9df91642dd57dee6ba407e706b81137e246302ee58f99ccd53499ab69325743896eae7deeac1d57ab3d8f243ffc1af924d1ed5d0e18703fef0c42cf43f86e349540df79e8d30f7aeef7f83ad403077aae66d407c59d20f4dc9367063ad0a1a9047a4ef7bcdce3afba1c1a967ffef46e2fff8dc24266542de7c76f7ebd3e9c3ffcb201b6a3d503873d663a348435dc50113c643415d1535e7efe1e7026c9afd56ab7bfd9db976fd445d89d6d5f4b8c6de46732aa93e53955e16d0514e80a55f8fb1a2a9cd71cc2c34953b7bbf03f3d9f6b212cdc1504ddfe2e41adcfb3bf51707b3b0c515ead249ada338885b979bcf0352f443b30ebd5feae6f4f149c1cce4ccd0bef45c1ae21da81ee24c9a18ea97fbcf033747b1c6e4fff6bdaa724917e0e70ccb4d7f5d7ee42ef66d03d1a5a39d05eef716f73a3ba9e06fd405a0f981eee2daa29b38d35d70da2db8d825ecdeb2b9f7c93a780fde36fdbeb1fc75bbbbd66a2abd7af5e8125ccfa78490f25ef53d047e8246c4cead368df7d6ddffb79b747abb74742e759b4037d3bffe0a2e2993b8f841e9a7de4e7edc01260bde6e91548a24abdbdda07e651c9813d9ea908fafe1484be3f9440bfcfa3a1f7bf777d9f45a0610c5a61d6e7711e7fdd81ee9b77d10e340f791d77a3d172173729e75c7346afbe2df4de2b6ed26d7195ae929825fdec550b9ca8be478e985ab35c14aae331a21725cbd50df8c97a7a8ff2dc9e59d04c731d3fcebd8751eb7ba664bf22c833cd9dd752e4f96fce95090e620d6566aa4105bbba7a4ddbadee26596baf92ad42e1df7d4f103270f759ef07b7f7c6b45cd2d815fceba93b63a63f4418e876fe993f2e3d70b4005e66ee7645bff703d862fd88dcea8862d3a11283a60e18272c1978b24ce074708a38c1d3434a4b92246c418e1d564a52b2bac2dcc1a54d3c6440799ac3e4a57973860819a226c95899272c2e352f226661be8009f37a61e47466c30e133c38b6d82945b064898f2b2728719183e4a3f1cf8cedd65a266b080fa99de34c1415236598a8a234e51fa8b23867389046fcccaea03895a5a43064a8e8513307b789422506cd883135dad4e95105b723cb4619183ee6448982c2729be7d4000387e94a0f3d79e8608001181bae35368aec50b24d909ae818515a127224cee971853381828c952e5b9cfcc0227aa0ea4a9928332d42f2d83151e8b754474f095b7bc8845634ba6ed1646d5a6b9bd63ad4b90253b800a900b953028d28670c9766819d91d14495a4024359fe258e9010c96d005c516a727079753115e925484f869cd1e05175c7b6b4151edbd25678ec07b6c2150586d30583e1dc88079a2625a43c645c540ff01a2283eb0497353be074c15660ec9b14791f59249da4af014c6441d948b232c2043188a5a473e1a2461a273a9e6a7c49ba6eb2e81658bbc9d2222afb542151f1e2e48b89b136583f3030408dac203bc808b1310669f7f4660babcb142f735a0009b34408183b56e69c50166e3d85d95cc50851d48df1d896b6c2563fbac61a4a134951b6440f959da423714d8f3838de0a29614ce84102868aa49a649fccead0d08222013462a5b2968c46486c488439a3b264460a85951326489d605253992d355667f2b9c54a8ca7b3a92241117e4d3db8929ce0989106170247112b66c674e9d85293749e252fb4d41163c3440db18cc5984b0245a78a8453138a249bde81ea5102942b4c69d05ced2847584305a50693df8927487ccb925f8e326425a2c68af416363dcc749490a1e4ca993b567bcc58c9d12bb49ac8047982b2b344857425eb44141619891b576badf511d7e5b33ce647624cca230f2e195260607d31b14f7e7268291892464a8f304a5062f50bf7a0c455101c346448b9435604041694ab2e42b0b0588264afdc2b572c232444726300183051485c5776d618cd28fbe26486d69b373ac6ac700e3a3d9896a8bc948db05571461f6b80d081f3a40793ac5abdb0f042c1c3c956d913558fa75d010812263e989e9c30b379e649d682a0c91415162fc13c59c8e0108356989470d19365098efd5c1cb3c2d256564dc4d098937586f5a668abc89a51e5452b4b913d455becca4927b38de97b7f8546545a46e4946d39b264a6028f3838c2748131a40555b65bbf2964c6b2060e9c60b04a85981e635ad8088111c68c5493a41dccc1ac66935d6db1acc831abc122cc0e1261aef6d4885ce5a81ab206a887c6056395235ca22dd1b8b622d1b5b66ad1b5fe6275e556ddf1622524b44272ab66889ca05435e20d9a323e61b89cd028c103c518fe21a9058f214af28405c52e5955380c4cf00a02fcc244ca0b03b1a46a27c42b3c57ca7881f1e392b83a2116c58133c34d0f2c545534e7b99a995ba8beaf5cf0fa250f15275b964ab0a2e401334dc0362de2089961864819481505b422bb543f2feda5b772c5cf7fa6aea69e9ee81d523b943410138dc3edd907e2d2f11452c7c02917183d6a81470c901f4a5a5945388c87092f5fda701d9515e11d4724d9fb01ee80d377afc01d6ca48ce9b5a5f72fbef8626c7b8cb1fe99729c07b8238b0ff711ecfaa625ab7072ae70ee0eef9610d5f164a474e58d52112227ba4c156d39614ba620c1e8f2a5288b5b7ade3dee15a84386148e6f98434e0eb15e6fce3a50d4803a625c7483dbb3539c4eaeb2f1e1c3cb8d5892131774c6d81b326755726c1565e09aec261cc3391672038eeeb4fe23b7307c61a79fa338c86d276a791281523a6e526deee0094393e64496172a7c309568c184a308304758089462922a316271204b86325cec9cd93a43e4c9ca46dd2355e5e5f4258cd4199694fc1c148457be512fd1d4d630047bc643f3b481b87db48d9a344f9e02cc2fdf44cbdf5f96e58fe6999ebcf186401c62dd3c5310b58710017e9104f8f7e6b50c7137cfda475d7a08b348d66e173f90e149fe78e25e3b45b07543f82272b771d46db71d2ad86b1f9fe88e1fbe0d31a21ec6af232ec9daa176cb6f1febf5dddb479c4b9276d6330923baf8f6a88ba2fef21479edc023fff6da3b9992d0c71fcf2a9e99ac1bac15cbbac11ad5ecb61376034cd056c615c3e0b2674797352cb6ca1465f14acf51547a0646dd8c9a66b451b262c91e18c1a24ca15760140f60541226234eb5ae21f4ada0df17e17bf8090839574005fd7e053a2848f661d64f35f4dc0bf2322bd046544fc99e791d20a0df17a17ef5fdf5ac67bdab1d7488fdf7432081d4bd85da21fcfc3fe159eb068b807e1f01fd7e084049401a3f208da78b6daf168b562e90c68a1d900618cf6fe6b09e2f90c6574f7f3a1333eb8cff46f1a99aa1f6d4d6f5d72a3401194e35c3996556e821e89903673c65b242cf522e504652af35a887b5b7f26e9f778bf23ab88fd6fe80af028c5122e82ae88a2443134049dd11632469ca980aca9ca07890f8b2a54a5606620bc354898f167b8cb08951a74c59c24305c709290f1526189be9291756a61434a61757679a444635aad28c4509b25143e7026072988085c9d855962975f8d988c7c2325b92a4aa201338365e149d614b554b2bc2a6f21485528cd4a4f8702e46e94b3c7cf4300c7901de3ca95ab1424f10a6a2d0015b5934ac52843983a42814c55e813052f4b437b23037ff0ac3b00946091c96ccda1c1302f853b356311963fd4945b19e2d1413db6cf617961f729df7cd3392be3f7ff15af8265826566e7ca3efc75166a43df5b5d2f7df303ee63ba2efbf475c68d8fae0a2bdd0b37d2efbb6379adeb8959e2fd86ecddf686a7594681af58da6b6cfb777ebb533c56265fae9fd1acfd4067bfaa98d12f999f24e6a29ed93b23de8ba013f698a62b82f63fd49695ca9e7f74131d3dcc39e1af57c7b593c7918ee3233311ca56f58be4738f8bb64cf18634eded3f6abcb4c5ad03c1a6b9873c8a3acdd58a9cc4c0c2b8561f7eafb9573f8151e619c6d30e7302cb87f39631b6516b4515a4c63361dbfbed852e19cf357c78fd9f8cef2efcc4587612937eb19cd5f69582b37abd75773bdda2f7f6691b18e3628665a3b540da5d7f74131b1e89b62d24a503bd83387d9ecfc0a8d8fdf07c54cb94592cfeb9362668c6bd7f7860856dbd20121c94bcec59a45b1008194f99a98dddcc16d011b5f13d3d45f41fd15a74d1b36ef5363ee3fc1e6bbc85e6efad660f282c123a3c7f749e61d92a0d7436cf179daeb25f9d3f9851b2e77ce1f88f638ce6f86d434af90911f7b648fcac7e511e72264fc223f7579f50bdf19df1173ffed531df00759b76fdacc1bf93e2549e672b95c2e97cbdd1e67d62f4d7377b33ced8fa7794bd33441884ffe38ded054878ad826f047969e56b01ebe071c5c5f05fe90d2c367c007342331f715be961e28e4d0f4f6dce38e8c8e3a6dc80c28d82b7b315334df144d60c1d9d99eb47e716e9abbdd7faf0704940ee56acf1f77cbe96e214611bb8fb71b2ef723e7a6b9dbfdf77a34daf8bc1cfa417c134d89ba89435311bbdf6eb64d7e799e60872199f652a01e929f0e8d2ffe6802dad717d10ff64c088b39fac838fe12ba43e43b8303c356ecf8720d442888618c31c625d7a714c66efeba712cdae2d4b4d44e945c199fe1cf90eff88e75fca90f129164d2a3129a1c9a0e1148610907c9319164d2a3129a1c9a0e11a8f3be20c4e70b49f3ae304c13ced8517c90e0285444d2bc2b4c13ced851b6d63a2f33583bdc3c37428db5b398ec42f7e686e93ca1c6ca62b28b7067b2cb8cfadaf7cdc5a1bb8151fcb5ef9b8b8387d8c765e2fbd862e918e3121dbf08b6e37e392bd7fe2c165bc29e62e7d7a2e5eff67050c7f65e1c6445db47df999996bf8e39ee265637509929ee271686bffc5ddf1dc59ac5dca25e63fd492bfc3aeffbe4408482d8123793d8e2d8a46a5a6a276814c6fafd9a69e8121733938858c91647df2f5b6883352dfd7e8daa9de8f76b58c9d5efd7b0ef53c31033c5fd2828d50eb64c2465e8110a0d0f8d0785a57edfe26059bf6f4514f72365f4fb7684d2ef5b1a9e7edfd278f4fb560cd3efdbddf7f923c4e74b6ca1f991300c8637b80f927effe2282eb6d028eec78ff4fb370cf6fb37bcd1efdf7da5dfbff882d72eb84b08b55636f3a6dfc7619fee12fa7d1ca2b89fd6eaf77136d3efe30ca3dfc7b9ef53d765a6b89f2eaa76b07fb1137ccdb4eec63dba8969eca4dfcfd7acdfcfb7aadfcf1bf7ede33253dc2fac76b05e46f4fbb9a3da21e37eb5c3fefb392bfdbeb6e84dcc4bbfaf316a55f4fb7adf5ec7fafe0cbc06b8ebd35b15dba808b6a7b8dfc62229d6b7593be4df68aa6b59add245b03dbd897da0d0338afb4d99b85fbf18adf0ab6084eb24ed94bff25798bb3258fee5af60709799890571148ed2d8095361251c1516962f1897fb1576d4cd6bd62d9ae212f4d456933ad10d1e2d59aa2c545f425d3eac223d357d3b86f8687805a1e1b2b3450248191f3ea08f2c1f57a62824c4acc02a32a08f251f495296962205865027bac8635bda0a8f6d692b3cf6035b617c9655674cc21c0cc762bf15665f8edcb0727f4e2404f04c4145cd19cb3305896773a429615032a58a90395dc2d050e08084d921e6cd93171c374917c796d6139996a62a255a926e078a264134766804dda0c0c24c3f28409002b2a28a8b93903048b824b12f3dc4c07831e48be5368cf2a1e7069132485b27b262e01040048a12264c24c84441d2bf3db42451d47a4c78c15c39a1e164470f921a9a091e275c80013216522a482c7903645b14fad7856492c2cb8599274f716e0a0aa8300b9ae8b1d50387c670c2c6192053c896805833bf1fa9e62a059c28a51d25cc92f68c3b447054916521412b51854565040ca913dc20d93175c2d250399b11430bad84b2622972e24ccd518c2937286e2c5d653931c91235864642c4000a29376ec2a8b880a3f559a8af9954af809449d6bc02521942c624e64522c41b326c6e78ad7052863622eb4856157367600613245a5167b84c146d364aaaf02073070e0cdad1590f489613c6cc5841a1310a02e7298a298f141b183bf28c203fc22451d973c34a9c9f14697522ccd6121844b8b6682a475c5690659549add8134703799a98c8710505899ca4bcf5c838b3952606940c51cf0f0c6698d941e58413488c4125555b42969b147cc9a2605b5e26341942652c0f6e04454af891817316a6467b770084b2323872288da141c2c21724556a8c9c51b1b84a780363cd52d26a32a34562459234596048a938f202ec893da1039b7ff8f87cdbe3e730543bd47499dad362f569b1dbd355575feef19b5888c2fb3c7e2d767dbaecea32d5a7d7f89cb58802855f53be7e5d468ed06fb7d79d67ede9cf9d182a51dda01f0867c019c61bfa36b488297eca7558dda03da81bb4fdeae1d37027d13443d73f9e341eeaa079f11a915613c5948398134d51b45dfc547771d777b9eae3e572cf79d5378e2ffac0983d5d2b49f173e7398a3f729126eaf2e23663fde18f691fc21f9f9f34a04eab40de1eed6b9f5a5ff9afbbbea15ba1fa32a8b9dbd0f5913783eab3d5f1de6aefbd37ac91ff41ec263a748376a6fcf1f7f050a7d5ce5a7be55931ed6d95ec34b1d34634ad5fbfdf3e114e81bac67386984cce6b18dabdafd638e78cb1beb7fc30c464da9e9aa929d6ea9fb61b597b9172af3734742df84b769c25407edc0dc0572c147ead4204f8caef05c09ba7cfff79c19fe7cf5b70f21e3d313c6933d080835ea640cd7daa41d77ddaebba3f40f5d5dac3bdee81b010faba1faa1dc4d7fdeb746fabee4d2c74beee7758e85f47e1b30fccac4021641450ee5363a6bbcf6f12e0f3f770c6f0f96dd9388e254c5cf0ff267efefcf26d1d6698662fdff611b0376a86fc1aa81940d81bb5975f03b5977fd4bb66e12b780b5f6baf00dddda7c63c4f9eee31bc51d19f3c1dca83c0fff912f83f5ff7273a02960e95c0f918d0117efefc112ef87fa322130b61103f6b40e23ee33ebd3d25bb2f8d49e177affb0a00f810ec1988edd32da021d8b3730ac35738a7d0a780e175e754d217a13f7fc1e72f01163a3f7f26c35e9601406b35dbd70b681a76dbf34e0d6e4ff71ad80c0e5009a0fb9c41d7fd4df7f6319c403883ee01700ed50dba277a0ed0b4f7739a3883ee2f3875ef01ae80a6960214d0fc3e67ad1b74a8c61d87a607e8f76f677a7baac17ddb2982ed6915b337ec9715133b7a02e10ce659f1db6d74e18e5dbb0b79f20e43af136c3e1468a29758e9b5a5a740bfb15a2873b4d52f5b82101f8031c618e3bfcf41d8b35e8e4f23e27fcffb45d431c618635c2bd1b1d65a6bad9c86a63e2fbe88ddeded379adafa45d449d356b3b0ab303ea7d1743f8ee5d34e3267eedec2ae420e67da6a340ab83c7568eaf322b6cfcde714b1eb17c63d9dbecf2fe7a6b9dbf57a4040434344777c8eb559eb75ad4353a0ae731a63b14762914613b1fb7e5b3e200c0104d4ebfd73bedbf57a4343380512b188452c62118b60e4f3a78958c42216b188c5f1cbaf61118b58c42216b14884f246d4c418638c4594b785b098e4d34a9447a2fc797b1cc5a78d1c738c85b098f8d134fc6aaddd7109ebf66bdfb747dc2639d9a89ea5b23f94f7a9ed1a32030a9671b94f84f268e4dfaf18638cf1901016b34479e3f3f67312e56dfee2f346f4437dbc3b087bd669a878a63cf1ed57b7473c113deafc14c262d6fb7501cb58475bfdeae16892df6f6fa8f6d5e8a876a644bd56bf3837cdddeeff5a3425eaf76bcebb30e7104428628bd85063fdb19e3c6cdf47e623f391e12fee7493dc696aa2234716354b4bf6c8d289162a86c8190146c9919e2853527e61459705d4cfc898254a9c08511ac1581215483cd43855b9a869eed490622224c8a467c5d512291a438a6495d860849425afa4235d592d94ee941927479ad8b183258585511117384c20a94225d8c408c811149d386dda34d5f0b9d3a5869e266762aa682b9632c81c84aad006957390802ee4b5e4deaba355c9b95f81543cdc1cd2abd5e55e2f402d2fad2ca531ad62cfd7eeeed7ba682d60f7454d9ca1967dbcf5f66aba5b331674bbe371cd41939b00bc80e430d81179f1083110716065e27a057acde8e96e878588de0b297741979d1adae586767695f92e2fa2055d61b40abaa0ec007411a95de8f231f2ba6ae800d0952267816b0fb90bd62a6c50bf8876974bcca470c187c40566b70b237549723f4c9c54ede6449a5c2d68362e1362cd0d85d28b0f09861bbd6c34291f31488c920749b2851b707e266e353e5a0c999958c058bbbba3f1a812b8e5c445db2b508b4dafd02b706b84569e9e0261f8622445648791225456eadcf089f26ba122c597273dbace97cbbd5cb1cbd55c6eb8e56ee0cd0d35d96c73434d4718dba0275a58555a572ab4aa7c4b5a5355b474a4d0cad145eb46d01e2d1b5a34b44600318300e7d65e8cad09c66a3988ac6bf86704cbccc4825889eae88661369894b5be3f7e0002c2f6efcedb0681a1a18cb5ae8fbaf4e0c362de0f99d70df5b9ed83ad1bec5b0f4a983061cfbac1fe5937f8ae98a95882a095206eb567ff567bf5af7951d306811dad8c808933d4b789b904c1eb065e2dede2ac77c86935fd1bada891b6fa68e4b54308bbede36cc5bc6f7d61669839a824cd1636350915b268008022015316000020100e884422b128099330d8e40314800a719e3852442c11c7a3c1400e8320866220884118000100048120066094964ac21b078edcfc5385613a835054a749709afabbcd9459622bdbcf023ae400976b68435dd3c955cc520f7d163c83f39939c1733dee804d3b261a96345c5d1436d4137c5a382a7bc79a9039d990f5e845e35a547182f5ffd93214d76fbcb7bb304e63668da3d7e886ed258a0700b45ed384e83c35696723d8d08f6dd28cd3639c79a0ba6aaa750f0759488adc2579c0de8e3347ed8ec18f4b0b17156490f8b209da75b79d3796e6c83aaeabb68f41c80905edc0d44acd9bc5a570666f5b6a39dacb3edd4eb25fe13377938ef96fab23f615fef33e1de8cb57c0fbeab361c4423f183810758f152cd245fa4b7ab09d1f60643a722b5313705dc8e8f3328f04878c5a754c7ca4ab0edd08762a7afff14b387325ec342d21d5afe3cb123a0ca122c4ba6745635c69c17f5d57b581512612e1d9133af2370ecea2064afd86c78bcf048f00275f62c86f5b2acc4ea0c3cdb4a883413e8bd84a7390a9ef3d03c1d5a005d1fd8d59c592fc5ba677696d06d6dd99689e94714d32c7e208ef86b119693429041a8fe85a2272964464d512ae8be06b30b72838d073311f12a8abf35df5334657a60d5b96d5a96e59a591eaf5db637de392c89f7d461da80bd1a6879d5eae85cfd315ecb76cc2746ebf747e0c19ccc63d1e0c17f3dcd43350af44641b0e42b0019c813d916350cce175763d3eab1690a4bcd6d87596d17e4eda8f0b6eda4591c86b6412a033238cf4a6d30e6d2ac3a977bbbd8036d28e76accb5a992bf7bf6f7d5977795c6d9327905f6590edc55ca44baa714bd0ed6853036ef440296437f4daed88c61400e29c230e09d72309c425055fadf5b0d5b343fa8d6d703f2aec3ccc569df9d49050e0dd243ab3cc147a3eb28def588d3d1329d3cec45692577d97ee6e1936e669a0628976a55741aea1fe21fb0af1c483f461c65b9af72e521f8b0ecfd328907c46f1323bb708f5f218ac73c92b4d2ab5ad324b5b5955a1f87eb30d3e63e3bbb6a7946b62ee1dcba9aabe113bc2a025ad30bffc69823dc052c0a1ce0fba077d510f472d699ea41ef611c8cfa4a1ed5e3ee13ca0c48da3bbb5d78280e5d535e481846553d06017340b6f2b9b09cbc1c5e770a67da5be2af6077b2cfcaed4ec9b23a795cacf8634b6482c60a80c74e7539e9c1d7edf1db1cd0cdddca2e3537ae63b4a8ed4ecd90c158f4384082b66a1c7577abc56bf9c57ab775d250fb552f9daf9cdf9fc99f8ce18168115995bd06517479f2508b0b4a138e3b6cc91c81a1832bb075ed2a6446a0b13c47ca0c22d409e9e239fd7bc5f1f7a855ce379c2ff6582781883b888e0d82b0f62e37b267ae66bb3874b77aa79df51e44b4c2623d62e2b3aaed56ea630a9a2752c6571b3a495a58ed1ccd552ea01ec96079608554709e05aff8214984a02eb54fd3b29e41a462643a904a67381e582bc277fdfca306a41c7c3c9505f4e9380e66408dafcb5289a71ece45a10f6764272b6f42c580f99155a6a9f2b41cb081294887c0e8804748c1874f490e09c7e971d12bc6e66038d200394c21cb041c94f95780e9a522da816da26d84ed4e94a8e171188bf2e3348e551d18b525c02e13ac147d8d495b270d1b0b06afbbaf69bcff979d843228b68db6018de14453e7696bececa0c2b25a6a908eed234e8c01025cd3abf2c82f424eb9e4785a03664d5d1f72e3f7d860688e082a0f2db5b56404a55b4331668f011b31d0e88a5c02573acd7aff6a4ffa1dea7e77976aefa763830f533c804afbd1667d0262809a357593f39be34bc4526fa46f982f00027457fbbe786c31ded861d2736c5104541218305ddc2f01545e1a7780c1e2c1f80b83666e1c3b7503ba34cd86c06a91807fe4f3087aabf1f2231d362af6212799df2d0a485c2dc2b5fc56de8ec01aeb6cce47b996746dc14afca63f06b03ea0b5e17c34a24daa522110a20401b1db2273f05bc1eb03f746eb33a48e61010c06cb4c70e6500e1101651fc2fd19f3ade827874589b542454d331f01a8b6ad83118b90091ac92cad2a7df201d24c5831b288c7b5536953c3d4a678f13ec28d934c1d586fafda69cb2e4912c6ceea165823ce3df16704584438a9a9a1489db510a48195160ddf546a4e3e986f02b502f023ca1a11cbd885f65fe45fad2a10f18323569cfeb259e08a1518e80a683d4a0802332723078b83584763e3ab524ce31e3f73a0b1684f23f4eab014dd3e2b0b2eaea2aefe7c084fd6d3b3d0b7fff025fcffa79e5acb21a03fb1f908267c0c138d4123f9bc4e97af2a500ea138c3fad58f87f15d3820229fd354da72dee6418c01b28c2592457ef0ea2241d281ac619565515ee337436e0d9d998d5b7c1f64a9dfae2fafb6559aa43de6fa21ce3bbcb4cf4c64eb81fc16b6d2f065fcdf5e30b9bac80c3ffac6f7e2cf755878c6d3d84b505b901300ac620260024720017faab6f6899cf797f9387508c78590a3a4131812e81548583f576e87005981da0f284315b664de8d0aa090758c867c8160806aa26d05a2708257e8625fb3626cf20d35c718fd6249040706e30da2d61278455db627a072d9588096cadd1b8ee67414f7062272785463fe3105006e90d3fbc06030dd5c1d48fc7e70f756eb0f5aad30f50fa107fb0b7399335a04dbce7362409519d03425eb7edc84f4c9eae17a1cc43e8ec71b5383fbcf625db93d47b61bc41c0588d02e489b360e693766a54e6d409f25449123555c6f6c4b61fcbb99bbaf766dc6d99b466b641113682a822e5d22b84ceefa0a781e0cf7a06412bb75c4cd7ba2c0e0707217576d5dc7c319d9333d4cb29c44d9eab90f2208f12b4e778359090afee1a52ac194569baa5391ae21c02a17b7daced9e385d8775254cacb61c4a3405052668dd2d113285a6895a82f944f2c424ebd4c06459b2b298850fe9ef1495e4aa0055873bc278cb6d4b1b4ed262f61b11342bb1a8cfba39ef9acdcf40a06353e94977c6bac5518f15e22f5fb18224493115fd9f52b546a67ab869a0f92e35c29d642f5994a69d5f0b4711d26fca834f13af3f956620e09fa27ece2368f73d75e2bfb0b902b54151c1db6ae6853cb94e853407e9c06c10f9cfe8199923819f55f9206848e63d8269de5bcd75e2a2a87d39310f1bc377e7b4e05a264575368d523abbeec44f60598df6bef89a6e9f974a2294c36707973f4c775ac8c6d7b48a1a5a77523d67af16ef7cf3313c2eb9a0a7fc46a1892425f139d36b17b4832a3608a44e1b848587fb9acbd4235af43ffbecbb1b8cf7e03fc1a3ea5c91773acf83d9ed0dbf4f08fe55a39995f179580967f348dfc877ddbf711718b566c0de8036c19a380599cc589c8077702bae122d9f01246457f09107c0da2e10b830022016a704fd610a98c193602d7319be55e7dfc27eda98f934a94e57292c15c5517e9c58054e51261f9e59b6f76496ddd0ce8ec311f6bcee2a9c2d3bc86a34d03bc7d01e4c003ff22a8cdb65e0b5f1202e4e41bd30869f798379b956d0928cbdae512b6cf62b0ee0a1f16fcae636b560d8710458e0f7b3d215bece801c3b7458adb6071360851fcfa2abf83a0275e0ef024ee64724e186a168442a33078df57b48678a5da0de56fc69709f1fbfff8a6e3ffcb536ee06e3ef3b01e2c49946137d74078e5105b5e904235273a24edf0ef46eec630a451ac6a384ac13019af60214fbc143a2abc1df6fbc43b4641f99c04b036a4672d78c3740db0113d25d11be9de00fd04f99c2942fc550ce1da2a6026ad72b286f4fc832872b937ffc81ec6e50b3507c142c3a0d01e2ca0e57623906c55011e9ee90ee8af0258c3f442b400141b9a7a6cbfb910c79ff78c297a869d24d3f1bdcbdfc745c53073c3a6ada1d81deb2873043de13b00f3c7b11d07e5be3d360b1a40b0ca6bac1399fc9340ecca10070ed1db2310e60eea08f1a31f7e988607feb4c7ec8ed300cc284e83e8bd822034081fe26f9a952065860eda035cd44343685ef2a189592c42324165d108cf23fec10c25431d2475f922044242949697ecb6e051ed5ee09c0760ae730935b0af8976b3d76f7e571d1bc44093cc85d7c5935ab0d928e27f4583407f63e902fe2cbf072a05723e9eada99b2dc980bb4ab05f5f51dbeec7b4d2446b803a4b5292eab161fa37d17b41f20a76b8af832994cf91be4d1b65600109c8c48ab68a67e83afd2d0b92cc76de7cbd78de6d811eda0f2821af9eccbbb6e478c542f357faf73f86023cda3ede5e5fa9992dce3cb9db4b421ccc1b857716c7c902498af16acb2dee0fbeb8721e5557e674d50b8868b7127fcedbe7f42febff6aa990cf1c23c6fca1e88364a785c0f4467be49e8b11a92b6118179d2b27878498347b0c82e0ae9298455cbb9f49114aaafd3b8de8bd39d32e6a8189a835a7326b28a6255a75d96ca272a87c1ae45c62219a898efa81ca86c37b571444e3d970a885bc0dfb6382798272fd79f99dee964f21cd5016f6dc34c049239be0d929c72fc7f1139fd010dd0f38cfa7ee0680766123dd0924de37f2b13a4eaa39e1e1effa2b88202e2cb394aacd45639d6286582ac8a268e584be7f9a5d39426d46784df86c893eb1b23c9d996fbc62c436826c5dc0022e13c82e3e7438fb40abfb1798b447cb590b8eafe4df96b12abf0997fb7b5e320771c17ec609cb789fc356f469a223595f321d40806f8b9e1dd17026d359a2a4d22490d9fc09bf5c10556fcbe3a69957eb6f65ca0b01f0c46a290714786c4a5a86dc123435f05a1e037228af260fa7a5eb27650e956a0b20c7083a347c09a295081c9c31a8d148c6976acf752ea69f536b596b4479c05dfda8a10caeb11ddeb69cbc855aca1161d08927623dd19c4daa39355b53cdf247acc92fcbc28f2d9fd6ff2ef8bcb1adf437005ee319b67702ada7d1553129640bf8d92af8ac19ce71acc850e3ec4de072116e8e2f4dfa4511e4806c3e272f6c3aafb671a5bbe450020b0b83de983c0f393e460a95a9973510b1135420a931fc7a13c72b51eb494a7bc3de7f0d402ba096017c7b2dbf02f7a16fb8f993fdc1739e9d2670879eba3e1bdbca78854c78dc4476ed5da1675980eba4597cc86c1ab49692b38906c008179d7fd2182d1a9ff578d051d0425b020d530cfce0254841da1cc551ae033fa4808d1b311e6503f9b947708f3c9a909fc6230fd435589850ab16a68e19f20644d0b722c71114c94c49399df084ca67330f1495a74a4f352cd0adbb5e4e7027a2de803dd52b24943238758966830541d362300253ef8fa0f9ccb1d892d944613e6ec26c8000db0da8c6e63668c6448d32a9340978238f03587cd611eeb4e48bae1cb0198b90bf240577bffbecd9983dc2d4362dfdb1d3737565264b9656a6e997daa449fd93063375aa2909d7fbef7d5a588a310618e64a5f85b59b0983398d46082c3d483beda8d9c1a5ed8bf8d1aa62409c10bcddf96216d4b94cc9482e0abff9f5379d33a33200aaaebe509d20e2ae3020bcd280d60500fdc7811e7e8c47c8614d914810345410598da6579fef3a4b1f16109c411b15c33e6ee2b01285902bf9f6e79ba6c061119126cc16b267e825db36ef60e8fe386337119c432c568766dcc7cc087144e635d02c60794431fb0090ff99da59adabbbd69a1852f159f794b027c3320b485c40ab4d9b00cb0f50ce8a9bd85a988a8e4bc66d9d1e18bbafc2b4ac04069307ab504446f2d2a67e02973139e3d04f0a2cdce9d0f6772d4332b7b8d1ae4e0b5ed33d92ae0e58a73c499e33fcdd126ae4ee5b53c983a456f76dc211fdb26eaadf6827b014e2e73fcbd205da039b97cd11201b355f1f2d4aa38e3d0d56c384953d1d2b80ea2fad5ea6d879bfc7e35c5484ec0cba1439679aae33585c990414cdcaeef855d1cbe5c13f2ac3a01e757cb453c98e634c48f72c54f7124e1e4e5273da461d63b5e3d365e5dd19a9aef7af7b8a4a47fe93f4c5d9dfc3647f98af6a322a692134e19ae7480bcfa3a4389fd5cd9d4e07696b9d3ad270aabbf6ef0257e9ba2e1a8ec285134262b1f04e878bb27caf5c8a027b1fab2e50068cd94aba4385cd22e165a513c4743136a999a500e2b01729feb8412a35e49d3b616baf811969e88371621d8e1f53da513ee08f1fbbd718879bb59feca5656121e1d6f5bbe9f5efed9fabd3c843e55a09c082a33914fde35492fa78b6900f8def119b08df974b0eddb3084dbb4a61520abaead7bef177d064115df1c5d54210d5319a2ea7884067e7740e56fe3d01606124670e92e7037357b30a186beee3d20c28213ca435aa287972e77a742d27be2142fc5954448a59d85bb6b54f72ad759399e575fe7bd7cf32e3938f588ce6b6d6f4791d5430627b881bd5da5bdbd64dc11a927055a0ea097c6d55ef8269d1a1ef52289ed0f9009a4d01e71c6cf77eceec21782211537d350dbd8d7ce1eb01e1d98009d8769e30e27afc6ae67bb51d1769d632084c579d047b8a0d74cb0c29e243dd76fca47cd3cedff0c52c87db11cf357b5bf247d115a7820744f8a5a56afc3550998a95a2a0b2d47ae60cd64c5957c82867866641022b948be38af9495aefa589b81cff189f6da344a2ae90f2eb34d90e8197aa90b8384a15fd9c9184e5b4d2b75631705ccb554d3a1def408074c098ce7dda6b9874b75b76108387a846c38b507f809404ebacb7fe880a1200db79fa2ab1952de6c84f62db69477d232f7b876a8b3bab0ae2720120b4f62152efcb7b0c29fc0bb671cc4cbb7b8e8484d396ea2722f6caca655ed7e8be0ad7a0737c3e4472523375d4da60c4bd3449e77274f12d8359a73f92bf18419f5d4bb16cc39e64ab7632e6e8837f5ae862fc40bdfca8828804e740f7a687d406ff1a863315c2865b9eb8006574a1831bd84dce2920806c276a21aae4dc832dc94ee8fb217e0bdf0ca269df31023546df11d6d668f6f83ac19261d9d6f825aaa89ce4ec177b9eeee2ac6a8e677a3405cbc3b5d0aeea92cd841fb76619347ebaef52509f9176df10def443eec01ff696e94870ef4ff772c990973618a4b7923d98adb7cd1ae4756e30307be9b1348dcf0bbd0971defddfdc0eb68fde3ab56d83b92b9ada27f41195f85b28ab310f41dab5df265ab3f9baccb9fdb6b4bc5ee0ac958f1240b9e0cd1d3fa62fda2508f8ad3976095b9e739d4ddb14777af270feb13adeebd99f8583db0dfefcf286c0cd7811c04c129562be5bd372b0e117c0bb639ee5c2960c35755111c6e3603e19a2f252bfa2b06aa733bdfaf444e169ca0cc31a9ca08b92be30a108857be7a3bb88b082a71c182cba8beff75249f1a5f461c89daae2b7a5f9c1312181261e9f2d0b07702598905ce24e4cf9a09fc000d98c0731e3ac07280ee96bbe246956c2dece1e7732841daa0b4f4d7e70c4f1e3b53aa3425f0f454ab150588c897e355e22dafdc225ce1a00e244b8420a69efbcb3a1443ea27186c39f017cd14a4402f40dde6ec22ba94ebd1616030b6067240f1555152a1ef4bbf9d7aeb5c362026f0297d218ea9b455ad65648336c57260da9c0e76c104cf24e552eb83d0b595f00662dd74879788674d33f9e35e5d50b7f0c4dc4a8101e9d3d326be939b42aca8147887654b0d5b4200869899523112433c59982eb0ab48c3f2e5b42e2017d042a5ac74ccc06c4e94e5a811a8ff212f7a7fc3ff94435118cf61313f09db312f9b6a74b654576a44aa4a9721b13ad5e18e62fb1b1e9b1c475eaa5ea6d3d6c9ff9736f20a3dd85fe823940f31fb705de13a0fc92b1f03a17259dd72ea7461d19cf581c62baa6956eaa769161f2a76af3cbc4aacfe3a5bcc7816ac5806937352ab98556f0495f0feb04ae420944aae4d24bf1c6745249276863c5d04df3242ef503ce814cb90d2b45fb75b5f90ce28dadd9e8797851697dbc458de5c0048873adf703d128923b3d9440e511c536232fe7710836629c0fda9880a970055aa94de3f88727e4db4ff71fd525717476e1199a78f7ee21d52328476e750d50bd1156030ec512db3bf770af39ef7a9df08a04b1063c38ce16f8ef96147bf816ced30f0900365452ccf68f34482191d928549e4d66120b350d6778a74b12e337689e5f4b4cd512a0620ecc78407a342c4aa2dbb5ba2e0d4d0e3091d6df5ebc9dcabe6121bbbca6369b6903d018744fdcde013c6e00ae2148182d4eb628551baec6e82da81420124364bcd2423c1926c84c3146c164f7c1110ee949eef8c1d1edbfc35a07ade7bf382aa1a9144855a7b1da73f297ffb07ec090847bd9dd90e07d081d1a75b8858f4a66f76b23c88f6f6c8508b7adf33743ce55a3617ab6e8116e19b7d0e61b12ad33622982ed60e09d82e47ae0c39a81a1885f2baf179232718503c49f6e45e8abfa22b8c8ca27fa0ca55ee080dae831251f3ff98cff110e67d4932287ea37989c7ac965b8fda9477c93f5b8b939d3e947f2569ad7bb06c63ee8d49e1d493433f72d8ee68d472c42508837dd5cfe377b4230cb0c6d4906b6daa159566ee58f56cc6ee11f65b26f21dfe79f6882414b7f0ed0bf0b0cf9826e358203deacdbbcac873e95c9cbabc729249ca3100630a145c62d228f222a34b635a688e7b6168a1541c28398d898f5fd484ae94dd39d9a65087994c10908a0ef9f159caf7ec1ba447db4df1e10f6e43234117566f43e3c57a44b8a1f654073724a57f72c315b2a6134adbf8c839e8ab296cb07d0eba1ea8e017b706b0c606568982f41997df449c6c0b99232feef16b3ba318036dfb0b36cd8b12b3abf62da0bfe05c9f30ec8f8b155e062a195b62b5d2056c96256a099f20cb07ca2d34be39c839193c66def60fc9ec5099d00536c8056d6625daee27fc36b3ba438c643c8185047eba45418866c7b638ba5f83c8bc09f4b4ccbcfe60d7fe643a62b12a340132c6d94a106c500a3599f7ffd10deba30f8f3ac47940e70fb2ecd0d112be2e8494792bd71804c94f0a8f8cb20126ee63ae211f36202e0b858185b54a08743c9de4fec6a7605a558db46af1c38fb2790df72b6c00419f010dfd3932c291551b229c61248ea207945e2887228947182cae92dd064b6e203fd94020421ffe828adc9a5da6931375e848aaf98274abc1f97f627195dd6135b72450c71bc1a821b9dab49787869924df2c9c97691843f8e34c5215c5a12697d9d23069c5139125e8ac4a838e61cae27497b4750c651998b1b7589ee7d5d94a5e65a25653e951ebbe452404b66a5fe3ff169fce7ae46ff38e238d3c551539e228e464408ca1dd9562acdb6b0a1589b85a28b9402b922b3d6eec28d1b5d24cc2afe32b0f6bf96fe96c643966f46dae8683b51612282787a2222defe5f62b0e48201d505ffdc9fec2091556daad19e207e92bfa5813b4b3e43802649daa107a72f0ec54453dc9a5b14174ab68708054888e3565d4a8a7efe1a8cc3d47c5983d356c7aad374e06c15b98376ddd64f5f120b8f192910eb701287068566978a214c54322c8eb3e28020c97a02a2cbb650cc72336a93304efec47372efd8ec3c428de13aa6ea65cf069782781f6c42bdb3708b1649325de10663ad6a5b42b572525cdb52c77bbf9c7725aeb3dcb851eae9191dc614773aab91c6518a0669d5bff82b82b486affb4c9ca925bec1cec3ebe0cb5a8f5d4a1ece90f6672a0878ad6ffd7b37a557afe9d8719e9a87f4c606816022cf4758aa5f998733ddca7357ba0eb8c750a57620fbc0b8dda8b04ba917dd4d414a54d0f5ae099ec3fd21fcfebac5253e2476c98fc82af5f4a0b2e023b782d741221aca074c5635447ce57270b5c270ded580e9a68060831552b6e2558d76079608022433e825b80cde180aa6a23a318ae4542bbe5a37af9a14f97b9af59b44b2730ac57cada709833994664711b000b18231109541ae36f926a34aa58c6634d6479f6e82d0b54701cc8cf89d451c09d7dc622b97e1a6cf7fbd5b8fa2e59e41b099eca522c8ce274576d6c8aa1847af85923e99047eba1dc98a94ab5647f8e0a086fc66b6232d5b5ba12d9c284ba4094cd1174c1dd87539e73f6e6aa9570cb010814f71ca425f755d231fc69d8d5ee8a53c78f72fd47a5782ceb04bc060d21f7b40b238e8d9a2241258f6048ba07341129cc806b8e7a27d2e61043b096a48744f447520578a2a62282251ed2a19ebb29266118ef07590ca758a0470b3a9823cc76900a1b446e775211c3f3c2a39fae522043f3b11b0ee96f4475a51e8fcb636508d9ef4c941331db578205b81c055d426386a5540864d652681285c64079cbdda9a8fcc8ab7a102f9829ce64a092e5ca57fb4ab054c978d70232c5b8534c46ef1b264daf9af2226c46f8aaf8b18c5b84b06c7f4d1a4c0d871c558f142f6bca858a4495e2885df2f33fcbeb3b00a53b08b5642c2fb1a0a3485397f20b3ae4298af6f138d3e1b80a2122fde7f5d43fa7ede13a02fcf1aad46259aa171fb0ca6df17335efbb9c4d442d23a35d6727cbb46de0f0e0af1f47931219402e2bf1e4327a6a49cbca0c6a16ca72ca28e9a26563912de15fa7404851cfa29330e9eccd7830484635d330cb53d4fb570fee5853f73daebf29c0e30b96d5b1c401636895c2d2bb19d375feaf2e5c842665752c0f992624a86e70ed6246ae8165bdd3f0ec399046d52a71029ca5bcea7e118a6053c8e7e68ccc4b6361c6441e91589c09ed2e2e3d832cc6dccd4f50435fd7aee99ebced418fbfafb33ad3139f1a24cc405847382022911d8c4105af5e25a4a1e7abdd75c9aa06d2e4643be33b2fd2e744d07689365de4a42c85241b51c81e51b6d45fc32b65d14c0c6d0ea51d82dc6320772d226609811030b511a3ec303e50393e38af8db7d62ba464db8d422a7e3b6122ba1dc531c4940aabdd84cd4f0b8e965e7059577292623d2bbe65ff787f92ed3a0624c811954f416c32b2ce254562d6fed9a3cf2a235a8eac4b9e281f50eb6b8b99bedef1977bea93515538365cd154374ca78703a85322b60c950214afe2170a9144c3da6a9ce23aa1356865c413dc70b780f3fc8542a27a6e3af7e6672872b8d783f5e1a456c7fd1ba037478f11ecc5be2014cd0abf279b90d1ae2236aa6f707123baca62c7c7edcc8718a673c4135526a60993df5c911a63ea10ddac0a9c4726036dd45e7a46f8678c77bb59edf90585bb3073b637b4dd7ac196a88d00ddf4d8749be87dd0b208cd0c4f2e4bd0ed35b39524d858fd49095a7164aa508265cb87a64315582ef48d0d4120216d8a3a502795f3a5af281265228ff50466c697718a62ae3d8951d91d7b3c37342b474f36c4dcae817e0ea84a8fa59dfd19aad9b7a70624492a8cbbab284314c86ebc7216a499174da2040c8d21de52a55a0c04caedd945090b5c7a18f2559fae260f8c4cc9b207d10971b79de2468cb1e1da588e455e836108f0a7cd91539c729fc4b71c905838334ca1623b0a0a7d44d55f1bef7369a1a840c876a57c0347826311b45666566019b08acf9c57d5a28b4fcb27c41c46f7725a0fbd3e7bf7bfa65626cc12c564b1535ff384a3b4c622e3e1941323dda4ccb30839251d4ca91c09346d640b47007406e0418c024252854b46209bb6b8985614127eddcafe37250e197f5f540c89fb08184a83adda963e82d82141cb8c7de15ae9907ee8d6ce5bdbc6c57ac0fae6bd890e3add77be8218b68665b4d2ce503538e9e886db0810fac470fc9427ef59e43431ed6b3cde74a58362fad138104fcefcccd128249be1780c1c03cd6c80e7b04419462e552140ee62860f961205d37ca8bd56d5c58272f851aa0918e33cd4c5ea54cfa47ac70fc8372e39c1635c006a4bf351bb581ecd3efb9a6dfd868b69240467cfd418e602f353c1da868b28c38ad30b588ce8223b63062b447ef1b282724504003a15a92f240126bb00e93ba764999cd2100d8729e497a14d1b850a697dc839d51d8c426b089d7101763284cb08ce789698fb09381f046adc964089ee6cc8e79256322619cc017c96ce5b7da2cd497333a6186c4c323e34ed1bae2b5cda4dfd985e68cb602a3043207c471ac1c60abb2cf62f28a3e9d3ae381cb4a0a035409da0a56578e7d8081706eff15e8e055d68d4e86cea947446d303d194a0941a14e347edcf81fcbc19e2a9c93c060a7bf3adc63d03238c193c626196b0e969fb0c328d6ed2b5ace65324500e4feed669bbd92010bda10b5bd249592808800b338ddb69ea417283a64261c0ef0982bf7ec5052e310379ac4b4224cdd0a8b62d24fd908971e973de4faad3cf86ca4aac55e0c6a0a9298524fe99f08dc47d08f0452d09955055a34708bf504c6e1463184e568318ba6db7839ee75848eb1c1c2b44079a06a6f07ba49a6f63e6afba62de5e9443091990a2dc4fe169bb1650250eb2a8d082f029f6d8ecf244201bc860138d9a418373789c2116bd34da3d5afa9f405f4ed513507d746e17ae19a4f71c0c94f7449006a97084745291429e580dd25cb20f0d141d2856e14f7a5c94aedb544bcc8a868fa9f93a864fdced5604ce44264a9947c3fc0c4e7ff475bcc3251da2239158c66876ab4aa8216880d1acf1a317d13c0fb46b00e4237935f401011ec2a894b05eab657e088f8bb304bf8dadffe7ba04aba3875f516630b2923fdc9bd5ed744b8a7e4b53cf67ea3dde537111883a02e099ba33e300f67522421a9354af44c43cd772fa75a53a5a88ea01abee43e83797652cfd0206385e20365f8309e6bcf3b1c848726ac3d341d765d3adf2bedcf19481c424c2be95fc9fe91c48b9945a3388df36e734c1912b405a1f3a95a3cfc68612a14478e3c3d3de7b4be3fca89bf475b880f3c439d5056d38d70a1c57c9d25665700405187c06933fbdf01df3290d73133c361021941a72b8d62e86975cb4be6911deafa2962b450ef234c98329c90f3e849c0bcb6d6af7df28c0f4428057141c933a24eaac771d99458e5a02e8313a749652e839d230be94b4c82829d554790b74cd433bbd23372b1ef0ac77fbdcc13fddcd2045cc1acb21dafe0a9bb63a038fda913fa69ec207157901bcebc81633c26cffc1ffea9192546b22018470a8f826c1ed3adb3d04c91fe386c81b527e6eff01ef63b6c952bea07f0070e55b823ed64eb15d866a5762137401a0dcc9f11f95087da3af27b3de47f90f090ecab7995e6221988e441348a1137d44d7dc76ae4b3f150a91be7944e46886ad690710dea9dcaa7edef68ec3df22d35790a2d413e43bc2b8d7571b95c47fbb3c16485f176c3ee10640816ecf83fc9c11e89b4f28033d3c13defb5aef3ac357bf54ebcd5a1aa2149e615f3e018912f69c45d2cffbed8113c0302cd303268f4526b5e178767c221a42822273c558239da135b5d43e065522b286548a8bce4a4a3863498ac6ab6512de9f070e76093fa659f6dc95de39a5194e400203df03bb0f4c1f80eeb8e3640a54ca496240b59968634711c910a8ec981bdee266604a333be6ba92c98851154b133aa322a72818f706aeabce3a3fec51573c30bfcbb1b4fc88a38e4b73d8d4df0af19907e5112cee8fea221a84d00b7907283bd28c321f81ebdf1d82cebcd83f780e63a28990db643cff372473b2674cadaa60bb34f505b251028d64b2ae4444759e5e82f110274e363310823b34cde56a2bdff13cca20edf3fa9da36f215a30c05c6c5d9889caf45aa31b2701aa3232c3d605f2d14023df10e53028269c636c0f61ae60562bdfeb07a95e240b310d724c18e1173065f333f81b321e7abc7ee5d8cc46109d418f2436a6079bcd7387436e37818b09e77571e8fb77aad788c3fa7a712673b531cf478bbb50be6f5c037ad4742cce46ea01610c073021b3c4e72bc2055ada441bc357bf139a817dc9b83ae2bdfe474ce5eff6f3938f4cb90ac1a51ee446127625298de04ec6aceec0c650b86c5d1fad6120dfedab79cf04ba7124cb93e8729b8fbcf89e120eacb9390f1ad2dbc851657cbe31cb870e7f78981dbe2734ad6cb9ac3b049cac50bcf7a70bf1c84661d6579ededdb46aef6969a13b70fe862958a29c40f65b32b58519bc46049b28b4bc0821b2ecec95cc034af6f77adec9f8902c16662baf16ca80a8f9286357726c808c9c5630187ee723e71a90a150f124f9c425ea88d1b8f58545c267e2d80b652a8d1c48a3707d5e63faadbd584ea69d7a5f87b93fac04e11c870cf3641f5842391335c744d47ce26a2c725e41a2ef9646fba33ed8ca24bf49240cea4fe061c20f9cfd89bcfee8ce422d6c300dc92082863490c7e39a9e8a041e7ff4105d2b1695b1c00d9c1bb960750601810ca79a675405a8e6697f62e460dfa23dab00874da214af14e8cbfb32c0bd5e0181c5a0759a0b65eb02f131425f0910f2f33e60162e302e59ab274b201d4d64dae7147ff81a738212e7bb18522b4cf2e7bd22f5f17a402977ec2e182514112b80c0c70075ca07f9493de145b9f7db54f4ea94189cd58a87ddba563403b3133697430f33e427dc118b0f0fa6275450a5cf0a8e65a774a60be0470f43cc16a0c00d4c31beb4ef293c3d66fb6ebaba91a0a4f510e7e0545d35c59c8cdecf29f02ef692f49d88d555f77f05c4194a8c3226a274d841f90a7c7a49d4a2d02115b1804c5b75965ed3be243fc876c91497e956cd6a03ac513ca9d31a2883d5cad83b5e69461c9196538f98cb46a75628144fc600109db24be9dd2f603d50a7f16862acdf18edaebb32d3c9342c31a7daad782736fe1894f779e8c138107204dc3636e794a12998fe88b31d0534240782dbb3e28feb66854ebb3ea05a79385b5df34524fe3441aa545110e91378d1f01309f8eaa79fa1a902a278425a71aa8082685ded42550025685d130ea5d28e3b0161205c5a94295bf50895ec17455a7990c80e6a25959d8683f3412a7436940b342d8d9f995d0ca87edcd5a8bd14ae07b36a5998634b5b076e1ec553dbea073e9d45c3885f5772e5f1e0f404ed40f0f03a9413d3c5e726f60c4dded51b657cbb279a72575729b270d18579cc7630cbf51504f82e9f03bc9369dc717b0e28c08fe24e41b37e7ae73463c9cd4055659e6fb7f016b921c8379b63079d40748e1187118fd56ce1610e9c55a7fa890c5858b12b8e68c5f7aac17d39b711adf55651861a43c20e5aebfb4dd591efab75967281f8375ac7e2e737335cb10e70649b1967741d18e2fe7423a3952ead610e07266596f9736c0957a61bb515629f63477da2d7f5c4fc1b5640fc14e1f5cacff0855d10999bf098f5352401b11a0f249b645f1744ca3709c671bcc4d8148e1b5a3a050a1beda987410481221760a23c816266ad59295093e3a773e9c3fbbbe459567e621b43ad608143aa53177d0f7b500d1c9f63219274a2e8d3bbb9f37011f85c709d307f895f7dabaa7c7fb70a5620aa96290034c6c8c48b2a3523df7f26ce2268d283bed9464690d150c3fb6e9bb078680aac189d50e40c1d484cbcd422176b09e4901ae6c1eb1a998f1e703d23086ee7acc872011fd60ad071e5d027245a6c09d2001ff8256f73668b2a444d980db10e39195347786b656032aa3c0e1834426a4b99d2189a6b40e561a7fc8f388938b5d9bf901dac303a92404348fb9ef0d29fa036a5d2958c3aa4897cf0497dc10ac202ea1f698e556b7a4449def632ebdd797d69803f4972b10ee3b6d6ce71a8a76e7a7074bcb92a07342b7c0eabc8137e53f1a8f9612d6fd70cccc8ff702a5702608a064b6b2992c8efec21f454937d10d941b7df385a841573ffbc9c85765c150608e69cc6d6dee7840ab1c48c8666e89206ff173c4d48402394269b6d90caef08a489128fbad8bbcba566124a99b0404ff0356b635f6747da35c7b52e1ccffaefa3a74a9ef0c405c85fa2bcb866c74eafcfb79b30b0c4d6348b722528ac9468b6a3876e07b6e651f8c822c1a1c91b0d68a2cb4f111370f2534aa13630c6f4a7bc0238b811e9cf053da81243e5c3f402bb051b9c13dad553658a4d0d13926b8224b6602a9090399002bac74e84b54f2c652a588294a1c464f97242b9e55207bac77520af00b01a16b0016d9a9eb34fc7f53360c01c8af567d69618836f86c397e3fdb3c5585570d9e94efe1c2751f27fac945b30ac308bc3303eab43ac11d9e15a8ebfcad2a8f06ea3a01d654515c290190084a5442c0ac30008642f3d1eb915a7652ac88fe91549f30acbc4689fdc2c2982d9f19710f61728b64ff12ec2ba7df183baf60fb9ba002f200ba64b5093fe51f775c2222b126e9062f797af90cfa934a561ed926114106215d97ed4af9c596f08ef52af57d5c8434a86f98a26df5a8049028540a561d62793c2b378767b12e4581dedb221193795ef3ff524d8ab7eeb722ac9841c43471e52f9d2f1242e221e797b3fe5771d60ef757972f1b530f111423dd28f6a047be5daee206add56ed07c627c31752ad24f8979195527f9cfc0ceb55f8c1ece911ced11f3740ec5dd0b84f7434dcd894dddcc377db711f9230592eac086fadc112b67ec3a2f87d9ba672bc2bbe329946fd0a685fc5a49d451d1fba134a313885eb04e6b6670f17a8aa2b6a75e49ea4d3ecaf047e1477521d24239083bcc77f368e307687edcc2ed9af98a7e29db4feec15415b25ccc9c393944cee8071d14654f20db31cff909e3368ef79bdd1fbf3da326b8e412d89e24aff1669fa8323f79f3902f8f3c69ebb0086fa45a24a704262a757bec5ffbcc922525050ba6ff7bee41b57c8052742fedcde2ba6fd7d62fdea1d26c77f8a7a4fc60fc2aad3daeb3ec471b55bf1a05dfec6df19f4a78ff1a4356ecc5d1d7a21893ed3b799e50ec29c3a3414573f99ae15d4be3467006d377312c61d409d8ef6a51a99f607004a8565599a881b40c6419635722d4aaa68dbf936ef19752aba00f465aa295ed18e4a9e8b6152d43cb442558489f46dc5874c37cb294ba98770cf32be2ea642e34cc8f9d7d93c97ea8ff472c303be4390d99392c4d4b5dbfc384ca8b191e31c55fb2943499f366c3efcc94f51a2d25a3a07c8960b76c4693e251bd0c988170fc5b8b6d642d23f1403f3679e6ac36b1405b704c9a1784e717a70291d75bff8fcbe849093b403c229f85dc5204c48bb2a9dd73864444320afb20a67c8e0b2ad6a35d66e61dae919ba6f795068b524ed7dac6f03fa4239e9a66c1626abab715e76c0aa2c1d8f39e4a3e8cc3832d508c936675abfdbee58846f3d7f1c188cf8dc3a5467ec0726edbf613ff9305b0d231b91962e105781f3c2a11ae12f30b75a046610fc54daffe2e27f3dd58224f241f38058017c0a79445c438df99e5185c9ccac9f6d5f227782363628da8b7b59255d68e9da03145b76822071d89a5a9b3a8cee23e07342873fc1af628970b0f814ef76bf10176b7fb039c92887ba09747006eb50ebfbe35f1b15267a51ee4f5074efe07fb44e06133b095601006a2b0cb011b57ca12d06062e117facc63d8163ada0a01b111f4893884ff9c021a3dd2e6d4b3315a0ca659d2acdb9c2cfc2c0fc06a464db07557b5e6d82f77a73020672c893d3eb9b17d4a769e92a20564228df6dd681670603ce8ffaa838f5a4e35d85f5ad170c205aa0b045f72961c1e6ddcfa944ddce8c0440690012a18a1eac15f34d1147bb36efce57dc9aa20a8aa7c0e4cc09e85dccffc1ecf5e0de20f4cb0a62e16a83896ccc4426b67054a8ec9bd05ed91898e9ca3bb773b68bfb8ec286627013c7ad6fe99bf809b6d59213d0c111b48f1f31767c31a725a368788a4502669b6056860622ae16ac6f8fb99d1035c6d1da3aa03efd90450632464207a5acb4aba7ba30249021722a00955494caf4218e9bf73b87f14b489feeb52d80dbf6173b761953ab715b464c6932c5b45159e2d76552aebca2ae598bc63242008a3c19ca9e7b12219b5dc1dd73baa380099fd0a24417533b8826a5b445786b75aaf10d4f2caa75b60f4e15826f10be727f4577454b59f14ac9fc146bffbfffaf361bbd36b6678b4f421753081ffc42b40d6aabade98efc5a0a914a2736e886c980a0186707e8cb487b06814bec739c37ceba67ffd739e06a7088a32489984fdf8d52a18109ff26bcd7c87f105de10fb12ffc9755461df9a78c31e90300bf7edd03e13160d62ad50ab91f0d74be77ff41c7cbffe87303932686f1fc3d939fe7515814ea192522a036b457a675ee41287822c247044d9460910e975df6bd501a09b798b44d9bc13788c2c852eac3cc5a48fa0e9bfa18217b6fe8e9a29c108005cd4ffe220190051bf786b397b1a213e068182452901264b73c3f77ef30f3879d485d3b8045a41ce23f4247e8afdafe7b2049c3c938a9e417566cac660a7715344d261dc5f92345eb5c09222f729a25af100e9a263b71b69b20b65ac5c01926b56243d2e5671015f244e598e59f5cce181dc471008d40c57e26ceca3c0f20f56014f6d8708800fb689cc065b9879306e58657f47123346d35ab35d3b2b8bf0fdb361edfad78d199147797a95cf0ea36959911c06c38af37655cf7c6267768672f3e72d2ec8db5075ef3a2b7375f01faa23eea1407730b062e318956221ba2667d7655457dc00432af8e98888a425689b0b1e9f0a144f288473003fbc37af5859de912fd4b48b5baa09da330a7f7a9d5f1c1df8578cfa542dca4a99eec22c3e8ad588f017d1f8760401c6c3e2c6a3d0fd4656fb26cbb08b796345d666f281dd1050fb8dc60efd4b3386a3cdfd2906b7bf6f1ed9cb0e40194185a7fb06d9ec52e9d3f8d46bca30517237e721289489c9a09e78856a6737489c26bbc49c488087f9b6f173b86928e5ab0b0e1235b81361ee6421c743c3c5f899c271d01047e6aab25569ae77f6ed1514b4a854da40dcb23b8265880f2faa579108aba81434a3ff2bdf26b2f705214f73137529d1f78b94fed375d7bb1018d52b0a5c226b3ce6e067c5cf975b1541876f55f7a86946552a1eb23141631721f56392e0ef71945498c56e5be578cce59ffb0991163a5aaf53e19a37819e4c61a78e54fd856c73f979a15ecdadfc62c157d9a7688d74ae2b745aa0642266bcd4a1129f7c90fbbfa14186b77d59ec7aa9e8c3b903b2d9af3f2ae83237b5ecb69193b2178e404ca6c9be24056e8ddda7f840e724d380ee3c5f1b11ca51f2afe62a4671bdcc8ec0fb3392e2721f85df0471f4aa1827e3042f2b4b19558ddadaee58405e20875f00d023d3117d9be1b5b61f769e602d448f40b858ce7c2611e37b6c258d3cc708176a2a104a0b1048e607f9bc64a08810249ccb354deae8587a39365e2a7b321b328f6169bb6f5c7683fab43d6bf2473abd84562783518aae4b23eba1205dd1cdaa4b3616c30bad1c81a4f368c9814d517264a7a3b40b3f623f14bb2451676a7f2f3890853cef3803646a499158ffcea8c0bf1eedf22f40dd4bc036398f7d1d734146a6064c8a8a918cb7529546fa9f2eb68b8fae71f83a81228d16628b81f5684f5e02de5b689e7cebeedd1174090e6b4f5059d9f668513b77f3e932544a6ce1f7be0786919486ca2f786ce8c282900ed5da4890fa79b413be530696fbd4a21b03c4d9b58f6767de692470902f739f5d82169752ee39624be2e0b00bdd345e8cecbb3208ce105934fa277c8e243b881658b4e4cc89ed2ec3fb8a44aba4a3d315def1643d3121485347c0a37ebd287e22611054636d6c153a9c2588cb2352facb87b6983ab47daf751ae66ad5fdaa2006dd3f4d51525e689552dba8c63a9ac8e5d545570c708df620e2d9f6400ce268e67263a0320a21b1713655314d5b78a8b7a5deef47af16034720a69cfeede0e50abfce9754f604756dc530f951c5e42b9ce7065f408b2ff36dc3adb5cca26152520639f01441cbb5ec672186943790e8b88ac910073e2b1eb4eeed47e9d1668aa32f488e0efbc44cf6eb7237be3efe377742476dd0a7806baa91bcbe221ee6e4e3f5f1851223a2fb2b44ffb37b7f0f12f46f514471ea8398ca04a78184883c6bb082b148a337c84b1f4d554bcae0443302da6280e7218b5e51f9475a26513610f378ce88f2f1c82212f96298345de58e7bc38a6e8896bf29344b0aa7b4ef1d1bcf6ef4fa21d9412381b74be82bafefe1182513cbd4dca50f325a8bad4392f096aaf5e0f0e82c66bcb496c42ef4e71c51e421e7c35405bdb3d9b5d80f3193289ae12a28987da09eee562cde333a621114ca3415e8f1ca9369e06a44723c3dbd7ca8b81939e07c6b4b4516a37d0e2592810571d5234556f352a54d35badc12b6a2d86521cd1df9d25ebe96971fbc53d5c3cf81b795ce67b3fd0ec6db014bebef9cb58f38cb3f699e4983de58adb2b07e7e3915ed76805e8e5dcc75a1ae01238ea25883279e8015f2fa99780603f5af2085af689ec72ed9eb248e7a8e87fd135e0920f871ec2ee1fe33419825a8b833f31ee97ca1c134a742537e5cf5cbb1aba829241334a44d7a1b304dc4f58d8750e9c8319859811e3f61672920ac728859a034b7c6609f399f97c8dce07d77be710976f7b7776c661ab678486ad88e09427bff125515ae6a0129404daf9f7b0b5e5dc00b55f27f3c54c2f6415052a8a67837db7b3c9984e21cd8bd1675c56d8520a518646d1ec39046dd8bb9c35147c0003ca42fa765e400e3aa236a90381eae6f4f11ae301fcf16c7bf8c13ef7e93b5b6508ffa803a45a9d1611456fccc8e9f6bd9402248754c1cafede843d92e64491e4486e188fc9ba1a193a3df5bffe1e2316d99984a884ff5ebc6213d2242591c8eeeeee1d2e0763075b07122661a2aee3224257eb8642e8864c2dbaa1924c37448ae98646bc1bf2baa1ae03d2bd3a5807eb601dac8375b00ed6c176940db4699bb6699bb6699bb6699ba6bfe8a1eddaaeeddaaeeddaaeedda2e4d44c3348fe6d13c9a47f3681ecda379309e993c74c57159b85a8a73713db8d7ebf57abd5eaf8d67fbd98032975ccb4343439de4226b7268480ec921392487e4d096e92cb4da4b90ab755c6d7335cdd52a57e36a5c6de37a789c8b7b89b857c7bd36f7d2dcab722feec5bdb69f8d6703da8036a00d6803da8036a00d2873c9b53c9487f2501eca4379280fe55c3f11ba8bae72069261b057b8c240380aa65114fd9cef973b8457a9d4e9f4efd2f3e7e94f9e9f40a409349a40de04ea26909e401388db3290527e65984c869128cf302f19d66d982bc3320c47c140988669988669988669988669f7cb1dc22eecc22eecc22eecc22eecda36f0ee0ba328fa97483699fe6b5968b5552a753afdd7b61e94d2574966aa5f08bdcb9fe88bbee80be74be4e95fd8e579095e9ecb73792ecfe589305934adc6d5b65aade15aae493b3fd39c20cc8f79b23d22cabaa87d51147dbae2092bcf2bd32c91d23ee41f9a4e74fb30456b3518db63045a977d71100c4b4f745aeaf21a0c4b5e3addc0b0c50b2d5cab1eda977d75fa79eb9877fd5ac0fce8b4454eaca15f89bc3a8cae5af8a83c7455921251f4b5f4b0f23c21eb422b7909a22fd43a7571295989280b96643df0b0858eac854ea70ff363aae6d32ff5162669822174b5d2a3a581951e722194a052454912534861220a0e9ebc60a4891124ea56839bde480d468618d141d79d209a3363425247161f47974293ea50599d3836e2e83337e46a0897e096df6a8804676e5c1584a6ed2f0adc5b50cbfbd1cc558edff4eb4dbfb600f834fd0cd0b76fd30bf22e056e03f1977bfe62747d77be17638c61e09b2dfee2a9d7ae85eaf5f117ebfd780f1b98ad209940fe324fe056a1da561c9e1705fd3526df17ace91183a7799a5983e0539401facfd3dcf59e609062cd7c95113cce9250e921098f313d75f99146ec24f4ed8bf5b73d51260274eecb31a405ddef63bceaa191be046978c0c3a71f9210721827f479424a06ab058ae9deec4f0aa03afe41c7cfdf9c94624fd278a3849e75b8318b18e305905821c78d0a11545835560a7684e88095821d2138a0a624348dc914a7c480ca961d2c457668810d7e01e1810f3908520114365808912a4488cf1953e918630cd2984c7f9a19d981912b41351d61c8af6f22cdd3ca0a1ed2f039658d928a2a9016f28991175432f878c935b8e9f9133d3cc9e8938d057cf738f3614286129ceb71e69384aa053e507c9a501f233f3acac018632e074082bce4d820091c6c300b3afea10a8e1b80cc600b0f14d8e043c809327c82f002d351d9e0f3c23dce7c7cc462a415ba874bdea94da2f181a18730624fe4206e450f636c46133d5cb2ee71d6b345c6a5870914f4cca09039e96132630bb73dce7a8ee8f1d9b61adcf45d8fb39e1a7a789242cfdc984fbf15a7a473823337289d7dcedc90b2dedc48a7bc5644c129a70f5d63a5395770cedc985fbf35e99c2b68d539673d410b73ae02ad95bece22faf35bf2270e3aa51151461ad77eb4cf9d1dba8adc0ec53b97dbe178ea8cb252c91599a8f9932bc2ed704462cdfc9023d2674e0df635553f76a7200dba25a90c3cac9582331653f06edb7c6da7b5d65a19b3c852fbad09e6587363fe04492178d11a7579336b94965329a9ed5a7785ed33be1bc8414e51b76bd988a99479b399aa80efa6a9dda8941c05573ca68e5f3ad7b5649fb9213f7e4b82b5bbd9ba0bf24bcc1d27b2f9a5b527efdf60dab55ee0f367faf69801b1db2ead2f9c4e90ace66c383496778482708e2c963f4c05f5395f4a29a59c5b8eaccf9f73ce39b7d7746f5f8e519c203a37a1b953abc53ad65e598ec67bfb563b7878715adcc65d0370df5eeba8f1e78eedcc0deeb76f719c50a7160cad509fa958534112c47a0b36d6f326b9183c233cce9ee8e0f51982e076e9451a3589a8e27ae289e3f9f8a91a790f6db36dcff5f04819b72ee349fefd6c3cc9b7dbc72b687b480ed6276c878bcd216d5f7b2bd74a0532064ee97f5fac89ad9b1fff0af971c6b46b59296bd7aa17d315f2e3572183186451140e33cd5477ad49bf153b0553b97361e5dae4171c3ddf8d3efd96055d000105c1092a0e3b2d175d5f7b335576f93c3320f6f8add8a3ad747a525f119d6955903e8eaebd999914f6eb5f616fbf410d56f0066cddde92fd0605d59c9a436334262434a78c2f254e972f1f80fbfdaa4ed59973ced9c2fd7e3219a5b4525a6b6d593b77e64e8f6fad6dd52be3df8b7f05038f8f2bb882818731e6c92fadd84be81cb789f2d76f657026f70b8661c7b9d70fb7ae8233ad0bda1dbb136be2fd0aced4c7d133f8810adeb8e8184c81372eba0553b146f6f8a5ef9c554c1dc04e5a4dd8ac2a8cb89830c2a78707226c2e92255e688801e1e587a38189be5fb0cdbd58e2a43689a627479fe971d613c407d643183aba2600d30e54c901cb81396de640ed00ee80c409485e0024836a580718d314ec606b93d06fc231831d2009d28333c491176c70008901418a28624876b0c2a6d65a6badb5d69a8a1dd18323b6f43095838839198831023fc8e124c91037f021641373b8a096850a170c4bac143199fe34854a072a66008146e7151dcaaeea1f78d14530b52825404ad607ea2ea905a81160010400a3c7ce0200a86067d2b5c7754b2d20515d5b4ae994524a19adfe42faab1fb87c4d6984c0c43d34419f208f35347ebd56d9639d89200a168c14d54b5746468614131313130353929f4cd72318ceb927128944a26eb445b4cb7b6fcd711cc76ddd16cd97dfd775de3ad612040f798d8f707ec043fe038f1db19c9b5e06331dca1923a552d62da54e8d05c46a90378c61a2cce51c0b826b986238e4cce51c5b818631854e4cc7567fb0a0392bf163450f4d2a18fc08994c3f52fc3421e380f24f0d9cc3f88787de82a03316477e20742f14961ed101ae77331d61e2d27ba44a9ef7ce6812c5b4c411253d34994c7ffa29f2f3e427095785de229eafb7e1ce5e6fc322deedeb3dd79c73ce39e7b6f7e5d8916df47b9fa76ac3df9762c92d9a5b44b7a86e91dd228c45187b1f67a363b6f76d369ab4bd2fdb6899ed7dd84697b6f7511bdd627b9fb4a1d4fba20da5339a668fa05de817bfe927fba70120c2bf703102cd372342e65e00b6d70d00e7eb6ddd1e40b751f9932e68664408c134428b12bedea9c4bd4d94b58de89b36ddc7298a660288baad396fcb9ba83efd74bfb64604dbe48474d49e5c95246a7efc1adec767d195e8e3833273308fef8f64ce22990ef3e580f13acc9743ff8e94cdfeee613e4fac5b44152a9e24095d7e284287f986d08f91a75c92ab2841a9e9eedc57b96d8ae8eb213972ec789b1d291bedf12fdac0f4fb7db186fbea97477cd463b64f729d8ce67686296d798be8c37cda267f21d8e573dd8d0dcc9f89fe27fa58fb8bb184d0ebf20061d765a9c6f4f9b1f0dbdc7e6ec8a7b352f916577971ab463aa5b5a2fab5dad08f3793096719a7bda15b3a042f7a7d59a3dc6cc6f26e2b789693adaa3516d18d77e65c9b4c9ceb4dcbaeeb70af8f373c698d49ebacb5d6ca71dfea9967ae25455d15b99071901c2d6dc85a276555bc63b742b75b18e36ddbb6ede2c878a3dcdedb9478c3ad7a638e747d30c69a2cbff5e1d6ed7ebf0eef45ddef5fa103f70a9e68eb5ab655bf55f5c6388b36a7f56b3d45ba6bd1bdb7dcadc0696f6f938973dd6ddbeef4eb6e765dd775f5ab063df925b766b775674385eef76fdd0abb6b61be459b046756e87ebf0a1db8c1ae6bc95e47dbeb6c48b015bb1475f5b5373dcff33c19b328bfccdfaa9f2bc8b997a2adeb8ebb9bdcf56b4e46ce71a2fa3337f4d76fe90dacb24b300441cff6e94cb5df4c056fd097dfa227a838f21c05a15d905dca18617cc829e50c09cea4735ed18366b1a15a63429d46d35d298d25b912e32c46e5e72c76a4d3ccd305829db4da2c8c68818c2c46acc0081d1bbe770614ce5d21c465c6115a869054792141c20a243e39e05b8f332442d039338207243ff4f04423820a0b631ae05c538d8bb90ce9928778c1399b8618d244c64786b836e071a4871cae7b9c1df90174c4861e70afc7d9911d5d8ee018c1a2726efadce3cc0815429d7e8c7302d1e3d71dda25ae2ae0a5be5079541f15871aa4c284220dae25aee40b48adc7a74134485c49188cfa4081a044c02812ba844aa1b41e9fea441aa28f4f7dc495ac492e1145e3d39c48a39312577268c88a9627ba78a12fc49fb248637ffc8924ae26cffc99b1f9425c4da0c963fa009a38cc2040d3870944fc891369705de28aba7a44547c292481882b9a89e0484c4b5ecac98a962e83c415a5d12c111569e457cac789c7cb174c5eba6820ae289188a229c45585511485f9f82800a522921302be0413ea0b43a85f228a8ee2aaf2f0558d15a0ab120e45d137fda914ae4ab112123239cb08c958410a0a0a0a0a0a0a0a92d191e9819443929194888991704829883042346687a2e8c7d8200a09090909090965181dfa25ae609c884374051304a303a353928d7809a7142b21b12a9570789c7a58c22195704c5d4a38122ce17822991d1921192b48323b31323b23991d2eb3e3c9ec8864766476ba4d0a92d191e981440a8a21058d48419c14e4918244a4205290e64839241949098f942322e574a49c4dcad1a41c8e9443cad9704c8c84434a81171313c5c4ba98d88e89e9981817138b896518a1989d181b08c1080909090909dd128c0e5d95b4c004c1381157255a44d17fad5af848f138b578e14b5e4ca52e303ab25a3bc20888a2e88fa28c68301a8c06a3c168303ec4bf8c72e6dc64fae7304e84f3f0f0f078342f8b57abd56ab55aade6b9bc1edecb7b897e443c22a05105222dd2222dd2228d8fa244fa23a0112d66441b8d687c44f346b43aa28d68235ac7bf90f8d0c81533728d462e3e727923571db946ae918b13e130cec379380fe7e13c9c87f3701e2f8b47f36a5ecdab7935afe6d5bc9a57f37a782eefe5bdbc97f7f25edecb7b792fd18f88470424021201898044402220119008e85edad5288a7ec7a51ba228fa32ddab03d2e5bc8176944da3d168341a8da687f497edd244344cf378128884bd49c24a124692b09184790140580121c68ea0d2efdb8965405d3e960141e1d3032adb56555070ee0bc1edf893618c85e109997393e9ff747a094a1c28f8f6157fc56f7fe3327a1865f571ae43345a8610f1839e5a0f72e29623827882c6022676a23c49f204074fa86c5148a9b273f6c824a4db23ad7432638a93279c307122c54913950c9a3461d244f360c8861a6a00831d17e0a080980f5fa4c8c0032d31306932049326563469c2a489ab4913264d9a3469d2a40913264c728e21f8e5a7698e21b67e2d68cae9e4dde6604a7bac7c615f823562923eff173055a10c07c8085ffc8b38abb456b4f528ab614ff971d2cd66e27afe38ae26d39433d28deeda43e23a8989e661e84a73e87962c5c38a87d45ee553c5972bc029da70dc17e0742db7715be51335372b486a26a1c34a87189811f744ddd6dc96f1b5b6c8164d697ce162049a19114230b528c990626046dc13755b735bc6d7563af76c4acd5bf641684708263d6860a2069b5b2416c50e7684c8c0870f5e9749931ce28441b585f15dad2de8ee63eb24594bcadbda9e10dc2ea7fc58a86fab576b0b367679e860f264074c7e78154c6c906b70d3c7f43863a2430f4f328a03150e4c74aa307931996146144c5eb0e28a299670a14b9af03181c613da8f0d5e72a0e0c0b580066e86122658f0e40531f844b94153c89897568bb30c6efa2554aa5852c49220529b44b3e48826542e5852c49220f2921e9e2cd15982c312162c9961890be8cb56839b1e08cb13f6571cf7711d7fbbdb7aadba570b722cbcce93e4b126c71a39ed0683520ae3c5112fe8bfa0750a3e7bfcd58c8755524a817a8dc9add0f1a36a073c8c51f7ca0baf6fabbecf9201978f9f0584ffc68a010ff3dbff265cfe8c77dea0238c18253f17a370f5c65465bae99673be4e7a943c347df8ac90d567fed5144e51c8a14307a728f9374614eac6780ae5e9ee9fc9a0e7954004669083536fdadde48e45039752ce2d739e744f8c69ddf4de6aadadf55e4ab18dd97377d3fd7e8db74da45fc63c494e73cf816176417ee92cfbb7ce3d330f5a7b2b1f7e2b062ffe8c277e9db39618cf7ba9b5b66bd95aaba5f4ce899fe583cbce619cc1fbf38485a8c0f85b191cba60686d8d0e827a85de2c562a25a79c5f018a9a28d07c295541c1bf300a85e0f6b046af0fe4236b3cac323b55d3c4b9c9f47f3aa55236354ff6553b909daebcf05012b1560209e9f579979df540ee1504c1edf4e54e0c5bf25a49a9a9da742ad2a0aa3c4ff36e59735fb4d1fa75be196b4e7335ca60cd2556735b7e4e735bb639f790b7b2c4b887bc85e7bdd4da1ef25a7bc8aba53de4bc45ef9c93350397bd5b19ad0ba652f55b16645590f5f395c46d2471028b0f84f8e14b0d463034cbe12488102a80e1860bf4c4922b3d84f1821d665cd9e1f16c9155d02ca5f5b99254039f36d289a7acf5072a20b219463d784230af8b2658988c415f461af385ddb13b364e2a3b36884e73ae1c8dca3cd92449ba9baddb2296c712d1d3a99ca720d4ab752e8934a18b31a4924e694c9e2cd6504e96c3e56def58983481db9131e87345640cfa3bb04eeb6bd9b57890f0c46ec061e1681c951d6902c7448c51449ac065d9e934895843b9229d72322fc80ba22b4ec679419d4bc23d8926745c92b9ba4f9f7312694c2e4aa73f512b1ffe9d9bb9bbb17d565abbee5af4c64577c105073c21ed44f543450391d10d9a95839cb4a2ecbd139033245a2dc6539585cb0f6dff79a2a44d4f9bb64edd0395669e2205676edc4e7f4e1c54522111f34d29c95a7bafbcf89bdd4d2af5f3c9542a55532e8853d39529c6a72588852906163c95533d464fe5ee26c60b4cf4e9964e777793eaf227c2c0c4c4f890482419192933816849f324e75cf5541a191a934c6783542ac99215cdcc1ec190029dcf13a5758a4213dc582a2f158526b8a97d772d1a85f811325827ccd05203162468e8a10c0e0412394a84946441020708ee696082152263d08f5f87d8dff1f3f5a4ab9e6fe5c3c3dae567ed4faca16f8dc418f5235d6e436e7d620ddef34471cedc4e77e3824a2941bb836d91cc014d147d9b844b4269fd45bf5f8e2134f7af111eda1d13b7134ba07fbb1b17724e9dabe4a848906305e176c716d936f6567eb6c83cd1b742a409168818833e1522d6d00f2d0d6e5cf44965b2a99af3cbe932d67c25a5f8cea9815e3ff670035c50a64106eb841e4a923891507b9c2989d2c3d3dc61a2a9b5d67a69adb5d65aabb5b6d69a951ca95950cc492a1e5cb433430aae7780814a88921e5d85a384478aae76ad4a74f45a6b3c220b6a037ce95780ce7d19355fd3d4bd79c6af291345f5a09ffb4e9b7e1266570370653ab75f6351d77977dfd6db36b76ddbb6b89d44f5533646e7be9b734692738ddef44375dbb54ef7fa3c4d6d71c4a9cf16f7b69097761d01b6196e90a497704a35e6de36d679afd5ca24e79c73ce3958b9accbaf609ea751c738e44016ea63b0e4d23e3a55f580e7adbefdd8dd68dbca7dfb9f8e3fd43e3addc0510e0a786865399dbe95855696ad2c5b597e59b6b2d0ca3a05c1fa3247da926c08168bc5522d810123460ce02002c6434f0fd70c5568900113399498810f2886cc20c4124c04f991e2874e151c00f17162c56543f9e74f9e2d3308cbe49126c8df93f69e4c9e342c3d3f0a15c8dc4ba1a9f23ebfa462ae4a73169177de42f0b076fc35efb96d73fbc9b339d979f2cc245b3863fc25c781e18c75f9a3ccc2fc9d7f24437a6ece55e9b929b9f92399b92d670e4fbdbf9e4588b868f42229f7cbe7728b9e8b469f5f849897f93e2dfab6984f6261797e2fff9e4588a4d05cc57969fd2d37894591be7de993544c547eef9342f3945fe64381a2f293be48693d3f4782986fbafac4c1a2e7df7b16b189623e29d46be7df969e7fcf227e7b8db7e8cb3f8b9026e41636c77dfcf004b30830dca30994c1d84d93145847bada5e9838612508465091031b990d3d828038821303129bf8f1bb9feff36b67602d912c3cb5493458aac018dfc0b9aa062c51a87260d141e6dcf458b068d1a1ec7ce6069d09659f61040ff30c253dd55a2bfd64af357e217d4e29a5b3fac0394b67dea2bc9fa7f8b820bb9c3c669ccdbcf4084e296758aa7022459ec52aa5339f3efbd1c3afc7590d289dcd8474592dcb65afebd6d90c97b5c3de8a77e06aeb177c6f10c5620be18cb18f5d22ccb32a4eaabc7a98fbac4a117da684905915216655602c1db32a2b10e22601842a5d6ec862288a2172f0e2250b233324a0e420b549344ae428e1faa1e957d92145431377a1f989aa7160ab5c2a4e284b074b0715247aa41b4b868d63c9c0652a312a3edc153a6a0f080f6b9f3640d23c4d95134e5f3ee544a108c010c7ce8c7c4aadb5d65a6badb5d65a6ba5108d225f19a5705a6baed954bb1b9a79caf34449b2bb19c513fd2f9e24e6e0c71a69c3d22fe1eac0db763732d6c8ce06a7f5b67129b018c0c92e854d37fda728b97178034db14652d9752a648aa26fa22889f1dee8f6dc0c7e16e8d74df2582331788382b1ca0ac60d053ac208270bc88c8a901e67547ecc92c811c62e31d9b570f49d3e633a7e6e4b52554cb87c9c248332364faa2715e37ba5947bef9d7f730f33a8f5d4f1d1910584ab2c551de1f4a3b078b0780849916f4035310417030f95ce7c2eb5b87cb0759991040c2d2ab517cf397398222463ce2952f439e7dcbec69428e6f319c3941df030d16069323a618c852706c6143a130b10580045b000c122430c8c2b5fba2b5dae3871e5ca95295780ae1871a5c8151faed8700586257eb0446d09da12542210d026151133030ef343345a2267f32576705e169bc88952374566c76074ce5680f0382b3f64b69cadf4e8ace078342bb69c693990a1cd36cd4808b41d4cb45747cbc94a6c51c28b12540880a6e54e71c2b97ba720d1dbbd794a0d74be3518304587e3a6bc4ca63f4dc192734e5872887285114ba84091c050932b3bc898f03224ad08614116f2822d95122203de325333293a486981ee2ede3962a975d7755df7459b8bf137bb7d3f127ad7753977a2a9bbcf7badb5e7799ee7799e47a947b3bb8f5f5b6df4dd1cf3a9c2fbcebe35f78285cca26fcdf9544d208a95788a7d7e4c544d200a96788a9cdbdcda1dd9c6da138a00ba0024d4c49ea38d8ee1e3e2be113451430face8db17b7e8efc69638f1034b2dc70b363ab5f347b7dca0df2f01bde33eab6367074fdf3ea965eb1236fd6497c16550a55958b3b6a6b1e9d7b920c00b175be4d10c73c28c0821985a9464482e6260b6888239dbf06fda982eb65f089a30e29e686b0e0666cb5bd4bb2fd3e714455109b09572ae44575aad0aad6c6f36ee5a5674bb968df114e3291c75cb752dce76366ed7fa50c8a1434777b3eddbd9e0f4de1ca753e8b66dcb2e85d9d9e838d75a6f4eeb9d3b1bbbb3297436449d0a92d238ad68772dee266fd9dde41e6f2c977f76adce6d19941d8754c6be15a956639b73ae36e75c6dce590422b0611665876543b5d5e69cabcd39579b7316810878d02b27564d004151f3877641f6f8539c682453d780564a613dd380874e33555374fa9457a7b93bc6dbb5a407e84c26c36cca0afa4c8a1474360586186752b0a071d504aff64ed16b6763d5c43693a2835e419a79ca178bd80f35f42fab186dccd48f395cd57eae0f05fbf45b81dbdcc7df8e136c2cfdd003a94e4117bcdec3fdf0e7f7307ee9f16bd0183f3903972f7ba4280a845ed5f86e0112525cb22fb21fc8a49005c9a6a876644a66f040c6c344f643862385891423b4c7eac1e5eb1869b8e8382b20fcde7befbdf7de7befbdd782d9e244f981c29842274a0cb6c9e52834f028325c531418645382707c858c2936edc40b8674d864fa139419115080667c8162044a0da0f430e33708941c2a141bb8c4004a0a7a8002c3932bf0131e08d970ac91b46d35a618b287f9fad6ae65006e22d178837837ce7636f8bd575ebaf7e54273543fa4df1f298685111f7da5986ff11bdc303fc21c73cc31c71c73ccf1fed1ef2f7da9f43035f86f70f430dec3cc7832e0e8611e06e60b6b74982d03f32590460d1c6606e6f96f1006bc317a991fbdcc8df9c3553f23ce5988d931602833da24520bd3fd2fc10bd50f090c7174d2f32f8cb11a7d44a3a8fb2e46a011c1d462ca28eafee8278daebebf2f9ed547efa5fae84b1f47dfe2fbe84da63e7a11685c8c30020d3803865c04300430347de76078eafca63aff18304c75306475fe32e08b2fd24b8a995d8b44a21de9654831e00dbf35fec379f182e68430453bac029d7aa834ac7728b564884820000000d316000020140c880342418e44999a46f514800d68a23a604e3494c682a128477214c73110314819408c21061083109a193b014a358cfda42779fd308f8775c0e5bfc27e5d6a3f70bb0f3aaf80347fd9035e8a08c398cb0a69b14ad09c63ea63dd23d5651d0d8049d26ae4fffbd1ff5312b860074165e97b8f98acaee2fec6ffc9f7fbe826a9921837e12b0977d23a65abaaa179d619ff674c6a5bf3c25180c365526def5a6dfe95055a42c7561a8e3e8fc8b9660579818cff49c53189098f86a2fd2f9d60248640d32f10c425e866fc3f1c9f60e5ad090380fa6fa4bbb1dd372d3896f69900e7df53a60913945a9568e4cfea2af5b228e4e5c1275dbffd682c05f952cb6cd236787b9f17f16a20735e8ad03921c8121fcebe696f0d5190105229c6b634d9839b563a8675996ffbb27c3d4bc8b0af4903ddda0f09883ff1f0f829056094b308d4dcebc64abc3f89a437f3ff9ae49d3dbc7a5a85d0bfc6ffe5a0f85c2f8feaa341af1f6db562fc98ff37086a6c5534241486baf83febe702be13bbb85ebdff07eafe27a34fd1c543fcdf9a5a1b679cdcdcef46b01c89d7fbbf27483fe6b420cf211e092e76aefa9fca8911bd576a3a577f0040a70190675c3f74fb930f441107a33251e45ea1fecf9a57e9d3d7abfe2710a3b1f03d1755ff671da8ff75aeea2f80b6e0fd30cbc0b7e952e06337c30496f51523030ed70997a9088ae22593b0e151936d5d0fcebf7611cdfd020f952a440057feef295e10f8c83bdb254b288528d5fe13b09d13edffa1d018c2309e5707a027b5c1b2ffdd6f4a40fe017ff64b366a3e960ab07ac93552928765ff378845474d61ab67ffc7f67f98acd54d5e28d44b83678a1fdff8639d9c22b0e5f5ee22f97c20373272af603af7c83bd1cc8b292c27380658daec0c8f9bef34e71b54e1517c727c43b88dc731f864f958728c0ac62da66a92fcbac509496693950f71e1930a8afda91bf0ad9a6de899e1479f519c903661f821b9bd207cb287ffc2bcab51e534dd4208b71998de76dbf7b519dc735050084620937bb73cca73a4f0b1fd6dfa95b8ca824366b40bf9a6324b87f974c070418d44fc7a17342077058121a97f0e8b42555a0e91aaf90ea967346096d96211ec975a2e61ac27936b1a7569660bf7f39d377e3d73eb3d6b6874ef8c7cc0c3cb54be0d350cae9e580604457ae395b0438df58a03e2352039bd012ea4c88943807eb8921cfa39f9a8778e769fa475e71cc8eae11bb49bb2ad7d441e4d81b87f669c4ef7e92d002ab455650925460e66500f33dce18e0bbec677a1ce4564e237fbdc60c287a55e9b286c0f2dee0033c1f83fcc84e931e36e20b86783700132d189e140c8598e8250fb4a1bd3699af8341a1642f867d37697fb21ad4d623f65ec90358cbc1c08f537a900a34deaae3910ea2f521d966af0ac2d7c1f3e9cfcfe31480f483a63c72f583f6e10a9917529932862ed50f4b3958c20832adf09ad9bf11a4474b5544c03cebb09ce08ce3539e97a0f29a90d1613c64f899eee9aae85021adc1757d97fd28d99bde24f2ed889b3c37f5b6970b96f433cd833e521fe9f86bdb45fd961c80546dc068aa81f2d03ba60cec51ebf9941b01ea438678dddc59db02bf80a9db05ca84e4b7d52c1c486c8cbd47b935d10b32f901ad3c53883fc26390c1d89eb8478aa7996875e776aae1957cf61c16ea4e1e272997781c23d6a7c868afefa821ff04374d59bb33843fb45db6c63e03b9808c84cbbf4e94dc4bb623dd11ee19e68a7b04fd02b6075151364e7052de98c9225baa8c3bc2f417aa1bbb81d36ea20dd3bbe2642cd733ba222f3321002d5f7271ebf0c3b46222d64928e5ab4d7603e1b7ed83f67e8cd6edc2222d2b8b76d5ba9989b5e02dad22bebdf474746f0f168a4b40ccfd880a22df76a098404859e2a77dbcb1eeab86fd614549c77f7c4b3f34cdf1aef78c195cfade97f0c521a39634cef8820903d60bf2ed577da61b9d794db7c2d08e59c33c692bda75bae1e1b1cdea01f4688e2ff42c43c8b050c7eeb114b37bdf29c293325e1f1e127d9613a90d7df62bd120f1ae141f521bf0f86df96f4b7ef3598f52be8b48c7da4780e97661cca5ecd28152742a801683e5a4fa24ce3d6316416fca0630a74cce692e9fa57e1afcd4358a3ba624069845fbcc9d25be00e5952ca27ec336d6c6ae23c8d2dc5ef1b4f74a066dfbd33c9e04a2b36a7eb81cae17c8b54b8f3a5c06f3e97e20bb8b2ca43b8125ea031fda2e1aad9ac6dd14f9ab3f281fc460bfb55c69b17c84999a1c632348966aa0ee84ea6d7cfbd83125831c5cfe187b4d03c239c16108ec260f0856ac2a98a1fed9b3d366718079c50c1fa3a3902163bd0d61e98af3bf0d36e163203ddec873f769b89d08a16636f9a041fb4722cf09661ab2bba4e3c0540df515969cbb03521091bfe99105c868a5d334cd328bde73837d1bf6578f38902ef45d36ba5b96ea8e9a8e2a149ba424894b5451cadae62c97e12a89018cf615306f2960930030dae77885c3dd28de42ec5c5f32962c70601e8030a3aa4dd500f8e132e59790784e2b6916404c900c3a53d1e6cc156e713c23e7b7da3caf5f6020cb4fd2ff2ad14c13fb7aad1c0bf47dee8468623df0f3e3a79b8f348bd5de37377d093d1e875a3da8a665e6b7bdf06742f37646ccf564e1c369272b7de76642f19d9fb458c449b51e409161c47412c4668f0d1e1439abce77f2ad8ddc966ec0b30bfcc9d1862eb4a820a10f19cd35669a8a19a9c3a4f4e50f9264ffe35be48b4232ad2de7cbd87623a78810c8a4f88a392bf07573bf9b55c821a4028936a4102d676cd4ce2caf69db863fd421e3b9e33b6e2e1bdf012958b78f0244f4cc9e854240ff5e0f20887d4e2e25002fe93462e904bb9773ec062384a803f3862c0a5393fc1e238a5419f5c31132bdda1e3b1e127d0b4a2ad7f018063046806c646c305dd0d432c222cb0d1b04317c3c2c6c2c6867bd85e5322c0819bcf2bb0ff402163ec359a84d80a96712e087daa7710a729e4318c7e64b41162f970e2877f54af49b556f0c2d883d2d38e6785e17fb36e047c8811fc379e7161e6207f88e819aa1604a8c4be29f86b58db534435d773c1e0fb133d9afb9706122f98e9c10684377620f11f48fa4d97265815f0c4e7dbea3105fd8b4e5d3d3ff8ac31d3483c1bf99dc227460c81ebc6a1f50bf1ead654a28cc4de8f6ba6a061dd8f8d10554a0c57c0d5c1e90e35b9578a02d2f5c2d77ad13495b8359c1f0af5198ae594366e08631d6f2a25a37f0212ef4a315f36ddf165f53f013c12c8ff9a5efa31de446537a990b0e0ba1bb6c9f312c3b60bf0e59aa56ed29487dd2acc9364fca5598993f51f0df23a16fe00543825904973b2e0730578e3ac2fd29fa9763a2714e8a06bc467d4635d762db8d59b86f8e29c9edb0d52a7d78478ba83ccba7f6ac32b017a098bbef4e8ebad5ae3b706d0f812f79a122607e0039a026cc2c5943e06f1dcaef9185ee27449b8786c0145bfeef4744f766ed179c1ceba34c39deae063f5dc8de0bc8e3813d743c44786a687ad1194d46b4dd701d173fdd234e3e3b71d7dccedb25118c9b6981bbdeee398db6b433c65c4f627e6a600caf25c8c753f96b3e39d16952e169d8dac23b46f58aef551ffe6973194f67d4fde7951a7f4659f8c7d83caef7f025f1ecdedbd37cabcef66dc319c2b5f9e57dc4a0776c23779c491bb0e532ce91f7d041dd918a6a36179b2e794aaf2d11eec787549b5122224b129baa8b0424efab1f8f3043f9902d29301aad0b0ee72c3123d7a768c66a0dc4f045e266f4025bc881e104b58467873240aea17f6f022c9821328155c8f8145e9ca72372b2c239962595089c10cb24adb444de552acf6d52ffee0e3938ef1784f44c7692fff75e272785befd463acd4c76a2963e097554f7d023ebdec657726ebd9fdaa6f41812a72794ed62af057667a196480c246a9a02797a3bb33904ef2feb7b3ef3e0d2cceb1d294650bf96a0db044940593ca85eaf96fee151868014e85d97d34b5876f8c4c176e357811597078564be355f01ba718e9c0fb6d3ff144051c152e74aee2d7e60054508b64787ea3f1cb1e715fd23d3f7ff3472ddb8632934f1fff75cb18981106078e6bafd9e6420af876307c6e72d55b5e79892480b10138f68c442f8304fb68ed3c6dad9fb40f8b58667fedef481163574d0622de2245ffdc0e214c690718458118e407f812e0cc0bba0b50281b52726717e034d7783542f49742faecc1088b48d7ac54e345c8d91663d839c196ee8b743f431961dff9ada43bd2fd1972045b2770a94133928e24d6d2f6d3ad000501fce127aa879adba7a6cc44ecffb953e3b0f1e848874b62607e173e93ec1b18ccf5140094ec0b72130609730fdb1d61eb540e6ac030d7514090e42e7bb140e7618e2f9092d2a12a850be4be84d5ae21ead31f4a20d7da9f00a3a9d83378e1d1b945d1322fab8975dcad40551bc96665067f8c949d5a1e18023c15d2b914c2e56610485d8452383eb2fee0aa34969717ef0031b1b26af4545d5a5fc9ee80391c9a515e525ccaf3599bf4b413d51fe1d09fff27dae29acf8e93497b08965148795d1dcdaa1c52e54323534382347eea28c6bcf60514b870c3a0281c0ba277b66b3c1ec8a2e48a6587e0299f017aa8205d78df86678cb75d29c58d62761f16887259038d0e2cd54367d6cfc3e82f3b193d87f84b3a6abbd5d0a39610106ced72b6caeaf74fcbc75d57dd1e3e4b6611e5724fcc9059b21c0aba41b49d5a239c0ac059305faf47954526d44bcbac7416ef50aa055539bfcf843e3c4dd87441aaebaf255c9d1c6c12d1888901a88ac45a4a53555187cb37a98f81a9abbd44439a068beb944d6a1a50cfc305061c147a6e13c80a3fcca092a548a9ca6924d412d412aae5e5f4ef060054defe2c060aa5b28725df42adef0b409536d23ebce44b5f44f81f18bcd090a4e68fb4195017e6e48b58de10b642309edf2481a177a062b9feeee5052eb218ad4290be90977c7c8db88527df6cf4b8248e1f65ff1aacf9f598bd24e6f07ca31909776acb8e98c10db489db5bf6e048d7b1b7a3ab1eb44ece772f9dda3eaac6698baadeb78b66e16e217c271f649e78d42386498be15256834c3f8292d0042fc177d720d2e8145c9889688e067ea51e3c8377aa55dcee7e25a39b4b6cbf6a34143ad9d63625ada9366928fe8f418a4ab782a15058fbb96616594297eb40d75f119bd385f551bf0f0cb6b1873c51f862a1624864e4f544523d10ab9ab088db42a4744fddeebb010bccf3c49da5a4a15b406932f45ea3a159e474aa4ca36aa24c159ccfd3ba847e0fa590c5d352683b9a4691c1839e4e07cf9623378bdb36000a1b315d69839060d7c7ca0fa1d21e8d004d914782a63717b47959e9ea31dd187abdfb4477974312641fab3b2cec11b9d376d6658a7d97c5ebfd6c37985e632ac805c993c18df6d405fc46b9bb8099a3b941a74c2fe8fa1de3aff5943b5873b3cf5441f60957dc80a32bd9833b463e1d33fb8c28e58710344f9fafe2d4a4751b18407d1e534923293bbf12e0099b9496ba133c236f628fbf2a67fc5c70a4c737b8c92a95b42857cbd1bc8b389df14a692e93bfe6279c78693d38067c3b1be143a20fff75c601fac4d63e858d851bc3f8d570a47be3cf38b7915c9be2d733e8edcafc686f9197bf363f9a66b44419d01f685ac40b9bff30ab169de0ded67964bcfae38f1f3be75322058697cf6301ad4d9b07ef0870b5ed77805cf09e3c783572d4474ba95f00561bad2ec5f7d07ae9b48a377e44526db4fde13967f904101fee64a31514b9bd362501eaaf63a31941c18304e6b2cedbe8343060f7f6ed2b7caf387a743b0ac7668ee5d6d17d42501101672e24c82f8a2f6004fa1f6778f0406b9c7e7c01f3af0e6c6b36b6f2eeb3fff4872c80274a02f61414882e6d695fd0202792b27ab70e0dbdba9d73fe509fc267747a815ec4e472a808742414f45b07053e0e507477a2a646dda85fedd8457428ba4c437ddfc9ab728eb126c2f9b82a0a0e0b62168bfa145f1898935d4cc016d7901b9139c6c61166eb4008cf5de8c55334ad293d9e68561760565cddb0d2045be66ae4ebef3642a521c517a7871841aa75f64ca7bf03c295ab6cf474c4d166371204622c2498dbada32e309c11120b5b2e9041216e41f3b409715331555cbf48739ee42d1c7a92f0ac9ce1a8ac6310080c8eb1fccf6c0ddd9ce91b416772e3f339df2675c55ad939c9e5e7a4bf8a067d821792359295f97a9fb55df9764b5bb60a463a3e2e3efe66e5c1cc3f9238464144d2c023a1e61f48d8ec60ecf65faf5096ad9af3c365572c83115f1f5451a08ca269cb0715eb482605832286a53a292ca43eff39e68faca521fb5081b6941149691cc4fe20171cdf01ddbf6db0ab5ef02546493ed3fe392eef46b728c2ebba838da1887a94102c4afcc30e3626444e2d889cbd299a6738ba95fdeada76e8f72359e7b07107baf705ac51163c93525813525268fdde41654ee117339832d08dc40ae7798b5c06330e8bf0e3b6f20d5f99408e2d0627fde696e9f99c7fd2568162b328f4dd92cb31b91ecfc6b9e8a823817a2f655cea6808e86f24477f5e8a3beb5d2d27f114d5e8a3bf6c7de82056c7f88a20b2caab47abcdfee84ea3e85c97c8792f11912449e69c309d8549544fa70d2d3a12f21e720b2a33dea76fb188c88adf4a863f3268893dc51381bb6ec3c20f76791ad00a3c1596332081cf76c201d46d8ce84eb3d3ada585d31331eaca4ac494c781bacd0348c13ec0be18571c0162b40f6815b8fb828ddd847bf101c1e75c7545eb3656125f95c0e7192d90fd12faec7a850b5837f7e18388f019c80e7052d154024b94e2519e4207e272c580074b94146c83e64a1a1e0acb0161b8688fd1dca79cff1f757f927cf46cd56d89eff083f5eef23df880a0f6365e4c8fed7e1bd1b851aec4d9806f11458b29b64891c51659a458b1c5acc8528142c87c6f96b442e93dfc5470d0d8a4490f448ffc1be14d1c6cc0e3e0bd1ba8ba4391deec1bf32bae58d1c5145fac68118b1655a4f8228a2e56bc88458b29526c11c58b2b5ac4e2a110c06a00d6503512231ab382804606bb4ef0e540acbdada0b20b82e30b8a040cdc0614ec6d3c1977ff97f8f44abcd0fdce5dbc7df0f926a03d5a86ef884397e0c6145d72a461f169100ae7f50e679ec73cc35468adf1a97752f5bb29c8af1106adc7471784f2afe53ff06c298cd14ee91907c50d25aa6a99de718c3a422dd27b8ba7037f989b7bcf9bbe3db2365896998e50f141c14a43c3ee54282a8f30ced4519e688a9285e856d3fb3e3e903cf9b0c2ef62da7c83b1bbd90add23db98340c96bca1fa0681fb8121d13447e8eb873cc2fdee9bd047d7a9a6d44bf2b1b49b27718378715632faf9413f11d923c34b260f3b7d72029165c631d90dc08dba56e8aeb8ce22c9c624c6768efea2bb117f601092e12fa4bf3534815411e8aa7b422a93d532fff791e2ef363503a39fa410a5d2678ce3906cea41e10a6724fe1b304455e708d5d7c65b6a9ac5f572f356d5fd767de833d6f4fea8f24f07e90f47e59eee35beb326cd439734f04496b5dce11d3ed2e406563ebbc18deb3a4cc056c2d16c2b17e6ae28b00c875caaa91e118b6b2f39ceccdde93d7b2e922c7fa1c96cd20c7c3f87fd506d70a8cb68b40ae8ae3a92090a3134b3d43573b1c89ab3beb577b622381c8ab416f4af820074bb8e573bd5324f5dfa4cc872f836cfc1a0eb2aee34b002eceedf7239338aeee3c5a8008da733898e7cf7b98fae68946a21d367e4ab14e1edd9f5f6378330c590cce4355b7e59460c7e29b2282970973b8eba90b7a820d4317f9bb031d225def6ed5d1c8e7bb72e1279c01b293175202bbe89df0a01399001a01235e940f927489a3aa641e2390e9971890f024fb5691e39eeed757b03d1e3edf91141dc6912aa4e55063b5b933c333be7b7ad59b6271fa4bb6ac0e21fc1ab2cd62b8c43dc81a6901341f2d049514088558c1a358f7cac6a8397e755c95b41d31b365c40f66af8e27b1d69bcba4357fbd6f66eba7e90843d1ea80c3e224ac3813b1d342a0e0ed0907e973ba692456c89037a18271a9f83da311f099f28857862b48d66d0be695725618e09c0ece405f210e6c8c79c78941bee66cc1c1600b3f79643bed8389d33232eac0fb18273c7850cbbf6ee696c360c8204b1e8a35c394e480d71155b4e1d3cc551f06467813ef8fce4f3ac5a5ef0a5b3040d519b251904c4b69c2320efa5e511c087f6570256640cacaa6b2bedbdb040725d7560dc80ef3f3a08ee12c31e09736d6138742f188261409a4b86bc3a64d1634880317249634878d71a75b018a286370b9dd213fcd5d040defc13de5baf6532adc2d6e08ba96e7fba0e7ba3e712af07e36ac84c3236723f77be68694f16f5109bfc4876947f827e12eec76b8ec1dbc74bc07120984f4054c8b73da993f1f3d030c409fae6c2b89f5b4d9243dbe05a4c11736c32d2aa4c806065b3e21e5015a79fee1d0a3b797001d363a0a069b43bf16056b7b6051cc56dfa4d00c42a58fc9612294f67a7cc9ea2f5e5df8cfe0ba947741a53eddf5e4cf5d8c2221b35045210628882720ce5df037f3c3971695e8dab26b9523594ff630efb75d32b92ac34e018ca1f2de57fef81f1906e1deca2b25eae49b72b47a8b751f8c1950c68b5b18cf6318b97dc8b8aa9d0be7bdae498c160d37bd66c514de16b6b88a8919324557a6844eff3305b8155d147df9eccac6857ce1ec9828b0a62f0a12527f00692c659b1a0dbaccb6b15257936375a1d9a1309c4a873992eaa849ff4fb425ac9abf341fbfebb1562b0ac13fe801e030a644ac5eec7115ca5d79778720aa1a4bf4301d805925b7aed6f68d74dbfc0dd4096525b1d86d8694fd0ee82feb72983af3da43332619e4a6353b73cd534203c8f29d66855eed3e552a72d0ebf3e86559a82b9653e590c4bf4413b1bb154e87d28b03c3eb795e856997987826889268a19d88011ca7f8b192209200b90053e9a220cd267745a55bf21b2baeb030581573072297ab7be46a8ac9625adced0f198d056120f0a5f90c66278094e7c34e50122e80e84c6bf3fa9c3fe171b82ef4012798482ea68b2de1a6aa80b35497f7b7e83eaff4269a05e6aec73f1635132c6ee6f12b38849a295610961c28a638924f28a6c10c73ba594c58fe25253024f9f89fbbf45bbb55e0b7e237d3ccce225a4c52f06905c878b0842ff6d12f1fa554d3e0a285e0f992d853e2495929d2e9ef2bb78d3fcf9e55033c3e08be11a5e3c3f52690bf0e69a8c27cae8879e9e3d37e29c6108dd63cc0ff3b4ada07d79a31b193df87ddd21bde7df5ee719b9dbbf9db29ea5467a0f26e6da1e3db0045ab92b3765bb9dc10f9e064ef3277913601d02c0c1f3f004b4078635f1ee33327b0f76b75b7d2a8efbc973709e1e412050bff819943efdaa4b6c58b07f45ffb0938421bbfeabe68ecf967a77a5568b7d40e47c64dec451b1080179489bd73af3b7ec3dea0fad760f6d6ca23ed87bb801aee13740b1a3dc5794da59b141acb5cfb15bfb54029cd0fdcfe395959061b9f6df0621ce229d163fa89c9e4846d0fef20eeea77dc9f21dc6ab6af1074edd8b18e29a57a41b11ce47ab815e7b0fac3aa5abb566a2d46f6b19449874a81a1ea542e531fd5aacb3ec20c1b6636dd5fc0462bcf4289f31cd9c3ccea2133f9f0f273d280701d97370f1705ce95add55813f339131ab59db83eea2415e0332f83ca1ccd2fb4dfa1a7d984ac3b9ee49c490c71911841211723fd5efac8e2ea3d7eb6ee36a5cb24d56dbdc9e456e1737fe2b0ce94c6488ba462d61044253eb0c48e7a99c0a72e5434a5a9e75c3b02665b8b99ea40229cd24813760f4a01e4440f76234b78c972c694e33b56a0c4d50d4418907e2880dd1df2bc462a24bdf30d5483f3b9d7fce83c313530721c0ae033b21f4e9e322e7a0678bf0022db9f3154f671d678c97fc4460db1bfd933c79850857cf40d048013f010fb7e807a42a23e8fab69357e86a6f68fdc0f43d43e17df303b8f807377274897b567c5128d15ebcd9bc832535bed369a1bc04dbda919e1c88b7eb7fa41754ae4ac369dd85b8f9f3b8a325d39a71a44bd0c38918d27635a4bf6ad3c9048075c27ace8a18fb2fd25980fce852238ec9708ff22e09fd231e27f6d02ffaf8221a0b4baa515a20f526aaa1c7ebd0bb13b0bc482e149ad2c82fc6c9aedf55aed01b80f63d92172a005ea2ce2379345237b6458615170641ad963283af47b3396b56d2b429aa880c95c61262817690d9d2839b62b23c39006d43cc7e714c8dd1beb2fa1f68928ab9a831064f321b0bc715d083e6dddcd1c5cdf77aa1133412b70cfd5ee9d3e70da2b8dc866fd3b31e1cc8e36de2d52857ee7299edd09521249f2b098e8e40254542e4225dbd91ba826dfdef169340ad97281b715a229ee293a048e26c64824ebd2cd86a3e088956117eb73ac0bbcc9aa55c56783aa0cd01832136eb82071f78a5257ce05915aa7c00a8d89a7894ff5850ac83473329b1e6d70a59c261711d9bd14390031a6cf4801623dffdeab276044eca704a20d9ba189fc6c910e2e93cde57b7e24e4ca5cab2587c6943e71c816f2cbae75d4dfbd9dbf634a91eeaefc9eabb26f7c4c610b6cafb30a3dd14353425ac3ba41e3946842c3c70c28556939fb298e5561d2e1a914d2e9b33034eea4dd36f2f13b61f48b1b29ca507e97a39428f4e9c395fb362dd818ef841ecd507958391a0f8c5906d5459532d41d2a51daa83a6de601de78fccb2523a60511032a3c8622bd9482a75bafe2c5f567cdca0d0123577d8289e3168c5ca398e7ae05f8c32563210f251bde0428ea98676dd99f3dd3fc24aa9b5832480cdda516162e85c7877fce357b872c640e49abde2fd2f99a2d186d9c6c52d126591ae193a81988938684c350d8ae5db1faa92890661b3509be170bdb91665a7df6e3ecba322c2230a4a1e7f477d8fa6141822cd45d72a99fd88c6aa8ff8c32da2086b60ef089057249a2447dae9fe35e24c22c3235d77fce8eb705b123c17627b9c5acb92444ea5c9c0d986f0b2c61b0b113b11a91d957365387ba44fe7d8698ba5fe5adc5f55a0c6036dd1f7113d46ac4ea644a74d4dd3fe4a6c0a57f9165ad521588ca9a9a6b6145eba6ed4c0fc8e8437485cb4ae486ce9a91f3c6e66e42ea384731de7a99bb11d4bb675f1bc3234f7fef652a6b5ae78f58e09dd6970a5d3b9accc063fba73566e4c9747690e11c271fedec286adaa8fdd12e59e6e71074c17712201bac023a01cedced0130bdd4628576a5d073047678bc30dc9936edd5fe0f9fe8b3ce7fe6f43a3d6cf404e2865c445a6a5ff0864d7119d1d4e771d7d9000a5144d2451e4ce41baefa5e045501422757ad1fe2be23a7c30a724e1320c4fc8db0073ff54868af85c2f5321db382ae3281b119eec593f8c98fb5f03bd949ef654a562991fb013f990a1cfc3f86ff94e58ee40713c37ec51b97a2ef976402d99b989615d970023457401bb728a8b0c1b6fce2744ef1ecbcb2fd903c1f76d50d46a4b25648f2776db0a1871e2a1fc065317b7ae76586302622528819de12f0e6721aac1d4026cc772598f9ef3ba6f83561be01909fdae16b09cda631a36d25ec433cb525ee509be9835e89f57f949eda787a7fe8743ae846222995da3498682ada1a504433558276542b6dccb18aa209a7611dde6b8a9c36d5092157d9489044c7f6898323588d28eb33c115cc57ff42b803f1788787f44155d3eaadb9f41816883abd77b7e555977f2a460430c2fdb6e8caaec3b82c26682373ab0ecb7f402fdb265976d242567f07482c93ee7da69147801871aa32eae14cad1f02fc791d23edf8de39db5266842f237c1cb9b81650ff954db6d887ec20b6c36acea18c6bc678351e659203945ded1707175ef2009f8d51bd76bcbb45edcfc0e0ceb4e763637f1930b46675471b957e890d01c476719480914cf000ad068f4e8ac6500c467fd87cb2634dca514c24c4d6579743a2b346be4a842e2dc1f335ff2aec56f8c3085a2045f187ccfcb5dec8f2d43369d5cf1596ed07f4c2d5b604e85b4d927a0300a7898f4abac3aaf0f552d06192da0b9cc7bca9c65ce89ae1bb01ffee5747fc52f6232588534b1d5b4bb47be7f7d5b59bf2c85529737005165b962164244bf9bc31ff904f63403f64c41a8bdebd1113d14500ab8a387ecb3a60441d644cc8fee20df534e9a4244d7887a7344ad42244c6e0f6975e607a5c56b6dc4adf1235af1a4ad8033d6e7c58247efad6d4e277d7e6755e3d40dbe54cd10f1c580075d184c5b96034f0c1428b118d3f2cb90146fbee211cb3c0fce5afe36784bf1a03056ac8500a5f4e6e0ae04babcb6aba0fa087115d530ce40b386539e68679b6cd49764eea8a2e67aa01d6599ea2368b894a075597b56b9383b3cec79c075e6e4da82e7382bf7c0ac6611a7b2d4f5a98a7b7922d4dadb7e3ea9226cdab727d31b69d3ff823ef21fb965163d48d1232a7cc0c6f31f7d7caa7ac542997d50bd717dbdb872b0d893f3dbb2756e09e014448625e71a9242a81dffe55263b8aa4c26195772b72d3b8fbac14dbe8450c8eb1a56e7617b4b77549e5d506322034e973ec6263b015797eefbedd84e0177f7204b2cc48d90f50d10083db5f83febaace99c1f5fcabaecf5a3b7e49eb2d17ca2e3c5c47c2fae4e7e4055166468c9f910d5f2063cf531b8af9ec3732a74a93bdc34fe4aa4ecee8d39b105ec6c37741373e58ff0972f611368588b8e167aff077a539ce48386c44f99565e36371b9f0cd513ecb0ac8bbc723cc713eaacca4c9ca225f095416f1708b45dd12a7c0729a5e57f928f618ad83c3c8ef641679c7a8894655037b77198007cc5076ef5ec5a1ce58c622970ac838cd60267e5559575980f6c8ce7adbfab3f04d9dd6762365c9870fa17c4594ef5c88074c2f9dceb5260850dde218ec05f47640b0caaee33a2dba54e92f4d177cd4060cc2b22291be5e0e41417d611814a6120c40295592e8ca82474d9463c962b09821caebecf5c0667698628b15970b20e1f00a364d7bdfd9c0f291e732e9b288b1c6c6347c4d147512e41d020dd1278deda55868509148a1f2bcfd63959f68cc586def6894d0069042b87c1516b9ef4f8fa2788927032f3a412845bb4f96c6d9e9b3ffac07e1ee936c39177c4c8b96b18cbbbcb51a1b4958082150d31d9f8df0eebb1c623d73f1bd1171fda59e402c7abfea23921d6325c77f71ae6843b0d109631d957ede6a495ae56b5384487817bf286547ab80428e519152f84ed939633cf0d0547e221e9cd43a5b7545b4e349d772804801a2bcf55d91404f33a488f0edcc6a4dd6705e13b9ce4d7eb9bbbc833faf66256bb29f0b92a3003227c12d2081b44a167d39e8511b1299c88849f2ed0dc74a10570dddeda746f01e631098d0f0d917d10bd2320e4c062e5d9fcecf6cb1ec69f7ac603271645a9a34a387f7486e39726ca487f98b5404c623d6d728e96234ca4d0ac46f64dfaf0f8a8276d70b1d2ffbfe0e10c12d3842c191d705fa36188cf97ff0c58a55d305447c6d652e4bb53e73e5386211f5ff98d62b0a9112537ce203afd69a250d2c14e39559b9d7fee0ba0c9e5e02aaeaeb45ba022ad96de79840f5e36b6b5e742386e3353d0756fbf39c5b9cb3b840dbf8b27b72c9076b66ab7d7274bd59684932fb1745d3fc732ba67a58804a7df11dd2ddace9416ff93b9a4e5e0bd1494f7b3dc24b6eb33fc39dafad6b5631c88026ea4856b08a2a49307b65b90ef9cfbf8878b293ab97c96c12db37b0a0e5579caae87a5aed8bec8f26135f206656ef84d1c0f9c252cd2413094ef4392b835cd09c3ecb1cb1395283586b51a9cb70531b16cd9dfe702e869d91cebcd86ea5a486e5a2959be13a8ae2a86b4d941f593493f04f44e0c033e5a67edd120334c3e6d8918705a85cc4b322023e9f3da28a6eb454c1763f57eca12769eb9281059600b09754f8001461d2d094ca4556e72f667b297cf06dac4cdf3e4132f1c835bb294081eeabd620c12b9f5d30f2b418618761700f17a2e97f6e1d38a30a3eaa4dbeee484e1363d167f6355ee412d15530c4283639111d927cb8656513204119a24b7ed6026a12a9f8a19d95f31d26aa20578d8544952ebc1f6eb6516e96297b3e86ec52ed9487e410e54505ba5773485a4ca6e1a3ae4a50d53a7b9a19a308ad4359f37ec68bb0d1363cb09817b52ea82814311ccc7a49251b2630b14b2a86141413eb35b27f9b3f99e16fbc2b729ba1d6166fc38283e6763c7c20b65584035aacc2d57040a3fa4d366df4a3ceec17a7a77df0e29dc3b8186bef7cd5775828886bfd4b4bc980f71d2d9d21fa70df2873b0455026a9b841144cbf3e39d9d526b6ea9d6d88c068ad3adf8a98ea16a054038c468c7cdad77012ac9ea03e298aad1ea847a482b4ba4c500ba7a8a7ba54451a3fc539cfbf5300370af7ebfb4af88f6435d76f0bebf43c0ef006a6bba06b9eba2db781a01658cd1e5ae1ad1c436285d18813c660d2ee7f53e241b480b51c9c118aee18627b2bac0975090a21136b801f2656ac3b8af0443feda985908b71bf47b142fa8a232ba33fbe863b4b090ac2f17d318ab7481824e11e96f68b230c5f866ee24400a4a3e3831e392845754c433c1ba246cc28dee72217a40821e801f342bcae3bf702893e66a0ffaf8c5c3a298a9a65e58862e9c5a35da0734d4074fa07ceaf6558e45c14799a6991d2790c20e1143994432bb087445d6088d3e75bf17ae45353ba0f5932b672a036bc893ffd99751c58e7b824547f26acce6074362e0cf9c99d9d243a7473974cce8d449876fb8d49d5a913171c62fab5c3b51a08a6e981a6cdb3685db2e1b305f75fb2a2a2c30b3b0431bb8eb6327a2087a4b83ca867f29cd7e1898bda5fe298f2a320443405ae92b34d780b31879e9abe458798a7cbb529270fa8a11423f148ddde0f22578618c0c564ee183fa04c9dcac9de5d5b390a3c9b61d1381c02669b6095b9458c9b9cb1525c65dc4ed814dc56f5395c970987534d4b9044fc227dcd6c781c6c919b995533cef96117353da0cddf6a14c89f4fb867ad0d66512b18897cd51238a552d60e1723cec02a8113534fbc94a5570c6379542e5f636c67c43b663b07cd9b068a7d88c85e1d3af83a17b40e2f0a44c4432464db186106571bcc157e3460d9eb5f3eb08cd5e8f23f45215df3aa635cabd49028c8531a23d05b6536b497e878378528d65ade505745e343915f710bb56c2bc7aebe28d19275d064d5ce20df20d668094c60def557537f4eae4bd2e0a8f9215beabe8a245ddd22d822a52e4b4878c4ddd287221e7cc0d4b50531f399289a4958c929349479d245787f92b4d70e9626c0238d1ddf6b05a728925e8e8f1634f4f59c64288695230518e6bee0aef1f20c5fb6ec66368934ae1f1188b8c9cac6aa44994ac35acf40b30b6cf33f17029b5017da5d5eb052a8787ccee6ed5778f95acc0944ace5e5b7028fc519e2c41a2e99439fab73f36d4e973d38fdb15503b41b6d3f15c5284100dc02a6a1f6517d1f8bbee2359d084e373e1b611a092e46b86617ba48840cc8720a85f531ba7d5e5a0efaf0c0fd99dba4218c555b3d7974e39aea649a5ed6c49e44616b93b6427e28df066a9d8d3b0a78e72f542f94970333d485f4a6cf552e843403e1cd019e326b4cc3f8848dd0291c4eaa7f20997ca4121c5e63361fc89239b1cfe5cd82abd627b4c4b730552b872e8b4408fdfabad4c888110bc9eca6e1e1b27b80dd14ce35b88757a72027a3284c1bd29ebb4e66cab163f6c12b6962f1507224cc243ec86102c98b6003369e5b9b8dbcce639cc8ac11ccbea4668d78e6481a309c8a0bbf99ade2f26adb984dd4e63ca315cc69fa59356256338458e16f4a8fcb460ed38573cee1a70a67a144664b35fb99dce0c6f093df04f232552f304907b69502c14c2cfdb4120983159cd44a5ee2153361181a162b01889ace4b08ff634c753ef80424de6de0d56d0ff303ddd216094c15d808ce14e7eada9ae8c83c748630a2a304217867d0649b9c04be2139c23c3596238689a75323b54a77088136a617672b551d51583af1ac8db0b8ba8135b7ce181f79a6c1924464ad186cf293599a88c0270b2cfb291dd12c3c98d349302c776bf51958dcb2774db7cf5a906048d46b5ea1e264e78a9bc4e045efef7d173fdedffd771e3fc09b5b959c8b9f66af5dc4736c5b02a7b3007a18095c142fdbaf970b73a620cb9f470419719a1fa51f6cd35ce58efe24cda8bb45e192df40e9e5ff28f6cfb40825bc2e8ba0c07d766a788498b8ac504291e02de2dfd97be53c17aa9b946a1e7e983291f4c7fe3577ff329f6c8dcf5b07390cb2a59c40f76ad156a41fad38c6530c8254a835a028fbca3b4425391280709e8991e56597d1bf24c348ecd653f919113b92e26d680bfc792cb2c2d9dfea82440e8f9c73198373ddfd99a64376fd7526ea24f2b447f13c1160acc374c7cb470c33a95b32951cb3aef0a808b88bb02ab5bf43a59290045b0807634ad3ee3a0d4945b200d7bc9e733c41c554f36710ed31160d932e0160cf02a989e8ab50e89ea3903ce49077007edf7e9616ebbcfad0bc54efc76f350b9f2f6bef6625e2b6156df6aea92899bef57c4619e179519de7d0ec27471e9e679a7d46adfa544980ac772fc72a58f55492659d762c32e96e774433ebf5d3b0111d4bd4db9fbe99124db967e38fbecde014d6498781de392ce59bdb88679cd3377bf444d516a4e2f28ccfed19abd9e9f0b3cd4cce027dc8205acd9bea809e14a7ed77981591f77c52ec65350367ae43e3468ab20348f4fb3aa2cf9e31ded0f36a0a6d4df46a156ae514ff356959ba6579cb3155eacd642aafb1bee1c027aad6d6e5feb294c7c1b6597ceb60dbd1d814c794602d18b7c111e743028b4502c56b87e1b784b2087391e512267ec86ad8f2dafba4bc120e3851639e710ef5e4a1bc3dd51486a9427a53ee986f38a913d5c36621950b78f812e691e32fdc4ff02ecc521f0e7b44e8a89009e8e9d5a5b49a6a89c22c3ad390398c4b085586c7525645d74118e86de95e69437790bff4ec4dda667f32f79acc5f19e67f1de884651c5b02dce12e1bb0904963667584d458e70e7aa6384c68b584e5490aa982772a85e081d0db60ce67a4e23f23ba08e3aca178142b218564cc95a27f9a0a2536a64811e799b340ddc5b75e5ac83842e482d87e5a356d1eeb697b7acfd2cfd516610ec6b00c31d565d9e767d7ef95a37da7898885710bbd29f4258b5b46f05de72fef6d999e775d3c23b18d6bb8456e323f2f97ddbf7b565f1d9a138a8feeb6f09ced94080cf75d8db767bc4498492ddbf39fd1cf13cd3ee3567b2af2e4b352f433d89aa7b60264bcf4a254c1aa0a252c1cb4bb8a4d00ed1fc8cffdac7ce6bd09d5522c2b1727834a76a4d2cec112ddddd867eefc388d2e6824f6492d83fc0842d32c475b2181959c4387638db35774e772ce5fc31ba6860d3051c898425270800fa53d0ff667888b9cddf38fdd266a905c7f5042f613c14772bc12bf9442bf5f609a0905670dfa983a832a02cb4b11000a166cc08a6cb0793e2c475392c2750ab119999c9775f6cf2dfdb3e28048031def40975af709e61489f3b1b420fb088df883b287e8c2009f061def9022f5508a07641383c873e2e8047600fa9fc6ea6b962898735940fae6b0f9568128cd8f94fee4581381eb5fb45906c49b85c31afa8a13493807d53e62c5100391f259c7ae61eb1ee60f11fb7b90d88747d7ea74242cc5b167611b77cc7723219f94e7a180e7bb754f94ac7c0ed4f2ecdaf869cad9cf9874b8a2dbcfc60590a6f7855bfa5e37e9b9b28f6eaac0685b6144ef9c29e7191e9da373d1cc1c9f4bf364a2d80e546477d01cb7e753a99984840058d517f9586cd46ef1169f0f3e77a5d10fe02339219901d72d568385780c845c7bf7322de107c4851cb741bbd8be0d08161ca932a7b0033d6359a82d48e6736967ee4cd11f29165834f57a676ad4bd3b38274a90e38205da8348241f0cab082a162869d67727ead405e503aaa13233bfd50716b211f12a7d77303929ca04c6adc0425664c6004a58745554e92aa07f2c7816e86fa0207e3d0471029d8820eb695d3a9bc1d7efe2b6099512b504c7b98e0414673942a3571161d5fc735508737d9ae91e958ce2234a481e1ac2ee201edcce6a307bcc054d274f60994a575ec973f0ce41fa37e9cf25a2c38916928e56b07302eb9f4eb9b8080bb3c0dcd60f1839232b9d7239dbc60f94b60c0212171e48cb4bc234af6819d0d58663d7413f56822e618e8498fd613bf1fcc7582440c29943700a6a403e26d7358ff5caea770a106db44d1f22191d8cae28d69608e733ea11ccb26181d1addbfbd3a04451b9a1121d9f615245b245073957f41f064902005b58f5fc467e9392ce601d426a2856500ce2423fd6e3fef6fa4a06f241be875964dba84b7e4960d8cfb7d124f9577b73c31de14d23115f720f335b54ded724f5b1eeca32ea4465a577320c7df398f59f296da54c8963698c00e560398c65b3ddd19cfecf0d6e5daff2bb12b917f676a8985a8ed5b315639d49b585a8887cb2a9bb514b76123aab960db74f19e2361476e51db1f484fd1297e4e4d0c7b2322c3b4d51c120a9249d393e9718a4fcd500c7b7cf67574ed86c56c25675cd2bcf3df40548a14be0044efd2cf755855ffc1e2cf0830281805e5dee49e729bc68f6d41dc141efd83b0df964867114e2da33aead0cca3253f0c3fa29773a5c26ac75ab7deac32d778d32abdc8d6489067b3f3cf31423c63198faff095ec8cafd40dedf1039768871335c2a0ee5133e19ecbcdb8f8bccd83d5ad081d722ed6d2b7c793214e1ea715cd0f34eeefad1f622827f509ab99b2a188f64aec668feacbb18bf359f8f93cc758b00bbca562777af4629e96ec212039ce17f6eb335cfe79990cf29fd1f61139dd21e73dc753c81dd81da0aa95f454d52308c54e0b03eb1a6580c173b86da2378e0ca38dc7c590520966c07547ab4996d8c4ab0058eaf22e13dadc19a859921ae9f2ca7e5b6a6fa9e8d6b627d5ea543b7767debd071cd4729c4cf9c3de5ec0d7d154d83de8dfe5b8346fa7c5e511c95ea0c6f82c7235ff8882ec2673286ad1b26c133c68fdb31ef392992ca44337821a5b5acd666102281c8d787207340207b58f026d6bd98bfc0bac7fa0e80c03a212bc88b3edebe763b6b9de1733bd7ff0a230218592ba19ad791f9762289e62951546f7a469ff867ce39ceb04607a63bef36d1a26ab90a3f674490144125f2b893e3710f8bdd914c6a4c50db604dfe3eee97f80413c6908668dfb356eff18b1865a36730ff9f38118e83e7e0e0c9a678e5716c260a289dfaf85bee7a71eabd3a65cdd246e872aff5770b07bf75b153daf5bd31b38e6a961c062344aa490e249b02910c9468d29c0ec8ba2c85dc02717ee02153853136208cd4f5ed251f1cb73ab3924ffbce7da837a0545a58e0dfa3817bcdf21c1686248ab3fabd44d1dc0960198ba2faffa7a0f2667c19155c48a12584982431169e1b19eff5e05b3981aa56ca463b3c046f2cd9af6f2dd7ff5e25d014252e503edf3c3f1c8e3124c633163ccb3ed1e5fdeefa9cfdc93f1b1012c4a79389fd57dac6de5a648ec4867c419921f075709386e674dcf599d8bac3183bd44d3335c096fa70ced264b875c14e406e34c6423c7655ebf0d5a8ab558de0d8eaf0cb349e20356e8702afe01f228b29220264073ad309d5185a3cc3607cab4ddc0a09ff50e7c45f192be965aa06f82580f5387b402b5d915d7d6089c2e2d2a0505f528d289515f70de7eb5bff61cde709cac78212fa42cbcbbfe123ed0443dac08cc70b958af2c9165907359fc39d68234262d502b3cb8502b76d2bd23d670faea6731d6bbd20d0339a92a7d2158b71d410b31ee1c59c0011c7234ad26be96b80afb52b3594a360f6c111a78b31bf0cebf87d8d30100fe07936ca400729ea3bf41feecb63a7f91d50c8245ceb56e0955e776f3921d1223786034f8e2e5420904ebf10adf60dece59d401b5eaf581eb9e8a32d57f5212472a0e343bbbc716885c3e5b9981e0f07a45a987f52db7327b5e601e44991c132e2a1069bd727d4ea728733f5994ae594712697446f66d93927ad7112cfea0b4c87281d790ecb51b531bf35a9925cfa776e261ce0b088edf3f06757483acb9309d4a334c72b612b89c9e1441197d9a14b00e1835a32cbfbfb89761191d0754f6d096d0b0c624aa29790ea22ae083edec0c7131648e3351cdf39f711dee91c1698394e25eb2ba1efdf1a9f70db755ad9601f777c24c5d70212e0f5ee6dee3c6e0a799ecedb072408795ca0620023aabd49cfa46a36b92811568096067072663066bdb9da8c0a55e67ba20885f98bc587afdbd789ffd06eea419fa2f2fd61be111b89ab4666315b054224583d2cf3e14cb861879f1e2af32297c932f338509232277adf585288ca8ee1a22f32e3e6dc754f4a3ee085eb8534c0653bd2f4bf209f1538b8741e1aa63e2de5d5760e83640ecaffe87abd0ce72e80f3c374b4df2dddf9416b381c2a275d3e26b48e41d68fde471cd0cbed3c9e51171793ee4a12d830c1121ca21c06b1b4c3709f70a8f85331ef541643bb9358130b3006f5fa97de41d9000153d390de2def03990aee464dc0d1af3d898ceaf1e4fbc6875c72c940284ec18d90ec6be90a60d5c415cc04e0bc4a98ccc548b8cfff391b47ae131c497e2513616644e8a3c6aedc6b0ff95864e8c3360c246a1dcdfa9dc1c0cc08eee21ea07d14286d8f8198a7b4f0a85866d4609ad8dedd9385469cd3db35fe124ad3f5ca4c60d6bc5324f6932e10271460dc58de04d3c1cae500e94ef2c848b58f921f4efa395791974f4f206df90b6086b686cdcc07370dd2ca789cb51492c8e5246f027230f28a41bc00f569f68454a414b06c802f8777ec6eeeac3c48c7b48fed1471f32806cad7e4fb45c5eceb2146d515eb94fa6c511550174920f1aaef74e67ba61c9bccb7de0f349925ec55eae1d004ca758791bb8e0c8e113740f8b5c84ad2bb29fb160d5978a37eead08ffbd59ac4e8641fa6c2016bad19c5e6f0f89f673acf75934647da4d1d236c86efae3eccd9211ae09b314a1c8a2e0bf31661e707f6dffa8f8f6916c89d93aef494a440e9454e25260b175e11a2182d3d2ae2bc0b9366e3caf5d8aa38e3df2fbcaa5c2c0371b4cd272fc72b2a97c142573751d2dd0cdeab5c368237efe1ea76d306355364b2c343bcd5637d566ab5335039971767cf4c0e1359a6390135ef693a715a816bd53aa82eb0814b9c03c665317713544b1a24a87be2d904cd59078b2a982aa84f1ef898336c66256f49823f7650b77e7e806c01b85122e82785b13f9cb964ff1e38f9b8fd0858ac3fed5e7da5c886aab552ed8219a061d4ec3a19be56f32094b16c8f1e17971d7626b85aee95fe1704c08968b48010fa166d08c1e3faa018d686acb98a765e464295303e6be436dc5351d3f98b92bd78e134632a20828db0af78d3c6c6b80bfb68d9ae2d37ebd0cfc05bb7dc07602e410f2fed8b3c174a7b8a0e4ee86aaf36ec57dcccd0087600b883dd2dcf73d3dda365bea80ececd9ef5187e224d32caf338415cf62884d739d7cf92c5ef3867bac772670a84686f182d011e36d153b46af074468f9efc88a17ffd211f05a9a88bb155d5912e6ff34b43ab690a319ebcc01f76438e79a860f1d66e2f66ff63acefc93f1f3b428eeaca9e6c2167b032a16585bea77206e09c290b4886e83341ee1a3804de1c71bbf55de6b001c276a107aab0fc8c6d9dc1c7ff4987c32804b0533dfcb7737109fef969189bda2044ae9fe6f0c8a474962f21761aa5424d0d1121cd0b22681b7a48b35371fc848bd1f78153ef4a2e3de56006efd93ef8ac8b33840f95df9b514ac8b835775a743bbf000f83774455546949ce9f300ca5cff3697decc024773aeb011d804763d3cd6fd4c4bc0b88fad39640b03d7851b20e4fdfd8b5d89ad3c1f5afa81f1eda8560d2625fc562d3dbefab70d602465de71c1da3e5a38b949e4cfa362e392448f58b32e1e73d731d52eb441d4fb171777a6c1cf11f46e883c1b73a01d0f99081869925ed734cc51541375b6cddfc5f525118e88b3e777640fd02b7742c2c6028de8462607d8d00722f8108386dc8f6f5438f23d77a21147a978f5c646a5955dfcea64da75b1d7d77545eb06523112dc7d7adebf5684926301d034683dce3eac31e0a5620dd835e089b3120e5099534f844c4adee6d927dad1165d4aac25a89a8bf05245c2dfd710c6be79338f114e910d223063ea1e37619d670db01e3d848ccc222b5a944a3774115da3c3083b51f3d59d225c55000ca31e817a2c19a14a4fbaf0617104f86b6b01fd64a405ea165a21941cbda2feec889d0f64a0cc2041338f1c82436cc8ea2872face657726e226d826e7f33a547150dfdf972677cd6d9b7901077267ca2df7024c72e09cbde4f45540b55652896e3d12c197add3e741c2f0bbd7d40708d592dd6b861d0a61b726ae2c2ca19ad752064a7268b3e5d3172d1d82a2edfc218c28f8cdc677f5e5086f5ffaf899f0d67ef6bd23699b0ee9e4eb878230d36bcdcd07b39ed0d5dd5a8d860316157c868f755781d10d940f6517454d9ad5893a5d737e438c342cd4638a539cf877c6eb5575236bf609c24a3959d949e8cef67c876d1aea7f4de4636f39dc9e857450181553b780fe708b289ffb1f71daf4a3ce5e44789450df958d9f8e3c4c1394316704df690a0d53d343edf02cd706bf08523945e22fad0ea49c83e788e0edc768ff2af253498f8d19501797a6b61d6bdc63cc5536f7331436594be42d493d3682e4b3a7b4117dc2ef4c7c594998e275cc8f9b93b3a83fb102385d6cf44aa6718c15cd99995ea8a6e7cbb487c670f91cc3a6d20d176bbc9a170b0b5e5fbd3e3f5ac5e4d081e5a03dd28c59b2d058257478dce7880e088217ee84125a98b0b666c4e158a00774c712f6e1423006e2a9f1bca6e165a071afeb4c8f737c4f7941807a8f9440b237a05aac605deac6ce003058a0f1351b11644dc193d92fcb29fa67e2d11edd00087931162d053e9d5ea29b6c6fd15f5ca0ce4340fed67344538f08dc802fbf8aef3c15f55e81408a108f625d99b8b389f60068818f2a0273f6dea010df575003cf990abc353348ac901fa6c07d3e2c458462feaf2fe2cb122e67a5665dd44b399d66b582d3d6d31a351dba9bed8e180a16da140735ea1be5d73c5ae1094990a91880224ae4c2904a082498b7c908e620afdff2a016a177f4c5f984980a84cdafe23394941a81dd4d9d689be20e1d167dd93290ba43d76407cd8b6eed1c0704c32fa445155c990373cd57239091847d66d53d7e741763c19f9dd1d82636deeb3d1a430c3cc6dc277ba2537ce9b0592e983591b3e705de559af95c7f006c411d9723b6127ac7c2b107ae36b286127290269bd5c443c7c20a49e2cd47e73b81aae5db090dcbf9f50aa9b953722345502322e35d0c32910de9e38c1d26c9f775f37b14f13a81bbe2bd7446105b2dbda9c35223ed037f6eb45c3900367dbf463a6d7c6ab22dc2468288a37857f0f473f9edb5515f3d1f4c398a9f99f275a51800686b2fcf8a390b9ecdada4ed700c8a57f0859e9b810731dd524edc4514db983b4b6500ac10e819964aca708cdb75c41ff06b3f64eb3c638d39bc805fb71ca4637f91af7e989d525f2c9a5f2a171c111142fd8d23aa6d72deb6b5a7ab0c4dd19a99e7c817ab7ab0f74fc02bafdc1625c509851491b25dafac08d8855812dab76528a6f2e2cb17d61a18776dc651ac4a5112d2d1d4f25f5f058a1eed4ec8554c238002088e1004043095e1e00356171ad65a0def79006b405022971c70fb1ad91d64d362229894476f7e69601e405e9050f0622d767df83a75c7a87174f01e92e86074f09bda866dbe845b6ec451bfc6b13917437825fa10d4f817afef0d2e7e3c344a08688883c7144faf335043f9f1d1a28b1e57580cfd35923e66ade9e55cf1fd8866d7207673ad0d7a71c14196e4f817ffde763fe884d4fc1aa06e59d2684d81dc4e1291d04b255de0e133766ce474f1c08c3bcb059bb6b7ef7505a8c1ca7d5bc4d604803f79dc418638c31c6f85e8a312729327d80655996654178e13bb109a1bcf0c5ea9c9655dddaac0d86a3c4bfb6958812ffbae93ad920c7bff35fa5553fb7d799ec8a82375d6deb4d9e723fda6cbdde77f29bbef574c2adfa77d960593bba903bbe3569daffd3b9aa10638c515208a7f41a4745b7f11ab77194ad1da4711bfb84751b6badb5d6ba8db55c15b97b3fb67dae8adc99b69551feb5361c1d0a917014fb78833a228aad344ce25e0d656c4414fbb9cbd63e9745b6bf126bb685326ec37367e6a493ea39e79c747610d87ac54b2d312729b2fc9558ebd7e0a5f955e3f096524bad95396bdabf47158cdd3a5fbb4a989b5ba594524b29b5945a7bdd30e384caf3750c3772a48e4d70e1fd7b71a6ac39c8194c304a2efe4433a939224ace9b133563ad35def9a6bc73a266ced49977a22efdcb419169cc9f31b8b147f6db7901f694cc53ead43646d65f71a9253783dce52d848d28f431e0311ed793b99edc3d9d4d2d4dad5b6b618e0ee6384991618e1c51c579f297600eeb79a2cab3b9d2dd9778783c879728e4894a44fa396bda7fa96432f13ce7854c1d8906c899132fcc53c02636b1f91886dd7b2f361fbb8e721bb7c9d96bb2fbc819eaf01ac7c9395f179d1f2104c10b69200d44419a1bb7711bf8fbe3158a1a5cb105b0df4e0d7adcc730783584175e0cc3b0fb13e7ce1fd8d4993958966519100cbbe063f34796e1ecba288490db307b2851e8ddb461e8cc993933c70ee128af711f0f4aedc37be038aad60a7554c7b9d751f75e29ef5f4bdeefae2afaaabb7ad911767dfd5c33e833dd419aea4594ea3619ce5eb540031c9a06a7ced3c0c60c78f6ce0c1e84f0c1094483ef218caf69403cf543676bba835f49bfe2dad6c9adfd44d57ffa79499b3fe07bedb5a7e96eea4c9daa691a0c1579fab192aaa87eeaad55bd2aa8d62c6b8f35cdc242da8f344dfb914d44c3d04db2ee5aa441faa32fab563327c3158e7a63bdf1d1e835e07d181fd65f89117ebdb07e3775ba1a6f8c3196a2cac84711d1bfa8f27992bf1ef4a37f51457b93ed4514926d647bd49274a643bafbed3ac74b77ace2cf9c99337344bcc2600644e898623beac78e8e25767414b12383205ee33e1ce5a867adfd907d9f8f487790e60a6da0edc5aa616024a481916ee3366ee336f9e37488597d0b0eb37a3a9fcef9235674d68ae34ca65269a3aa593d8d49ab6fa974e780987f283d513367e6387de28aa64eadb552190b5b4fa91e7d7777777777773d73ea5fb778a266ced4f114ac69506ae35a3bca40f9f30f0b7ddd9c08b7e1a5f976d25085353473a00ca477119119b6b52eb63d0165db62d2d641b7315132f73993e9defbb55238756c0dbd6f5687b66e02dbed4f1c7b85f70809fdc48132f88766906d7507e1c64e77750f629f0611b2e98f4ddf7d6cfa8e434341a06a75ce893cffbe8510fec48140423f5113a7ce1f1586348d7aa7ce7dbf280abfa54366e88111c405cf496acff97a585b7de3a7b562ff890361a0756b80dc1d44d5895a19e9ce66bacb20dd6998ee4c97eeb84aadd05f116732954aff9a9673adb5d65aab4874451b7cabe34ca56a6e3a2710dffc5c6badb5567d6990967154751cc762d3cff43f2e64d3c77c8a4dff72209b7ee53fdcc704688c558c31c618a304e85b9b454594f9f33beebbd26b53466e4a77a50f3fb4b94c7521fc86a3319568111aa53f73a00c557714d89f63adb5d6d24da3a21db51335736aaab23307c2405d045f846066e34d779ad869a2c7a65ffa087150d6dfaadcc66db2cd101b5983bc776420b3c4ce12373b4c14b1b384909e9d77965802b30f21c9d2385b6b2d4dc30ec14eda3247a93b32d89181c55e39c618638cb1f518637c808c3918dc368397ea8fb68f2835642b94c513d8015948cc2f2f296eb7b3536c300869ab39c758fffef5e751f25838f35e6c300727243ff95844918f3d9411c255485ec697232f351508e81f228afceb17105520705ffecbff2037c906c351fc47364d9b36fdf9d1d6412540d8966d1d48b485b60e575c8f7b7d138f1e5d6b9047de5b1d733db27c381351e45b28036d78494221772620584cb547c61788e29739c88ba1fa3cf4016190570ef08797e4431d2fc9cf8f1fa46190f72297a08f0b75e7fbfec7c7969586a9f7427e032e0c75a2cc32ff1b5546fe61873db9335dcae1872adacb5229576d8353388a94d2a36c0016e2f13c219b6ad4325e0d2d38ccf09412975fb92aee3539214b216b3ff21dd4d9f2a1fcce04eac8af3fb2691d4c75afc7969c13b2ac3df71d4e11e40a38e4d5cc22c07ee75954d17ee4df67922d3bcac8661d056a264fa9a6bcaaf5dc16b269e7ac69ffa592e9491e4e08b983577c0b47872eb16af79558d52537c45d3fda80b389ccfce404f7ddcfcdd3146dd6a2e9a14a74107de85d44faf32e39a2cc7f11e513ff071de4f8550f8bfcd2beddef2cef7b9fb46d9b682b5d2dd0a3bcf0a41f5caf04bcfdf9e7294f6a13f75ecc87f331ecafad5e2c2010e87deb360e27fbe3875b07d3e5fd79097dc3ec771957ddd452a65ac17df7139febb13900ee151d647ffb56e35c5f0c16bc1210f19cb856b7c250c0a51590234ab522e670b27d98fdacf7361ff00ff04d16703d31de2d8b51e78abdcd5591bb7af5e793c705c998eef0865c14aeaa428cb7ec048e1d3af67d77e277595d7de47543dd797bfbda8d86fdeb75fe2adaebafea73fd7fb6fa78f39aeb73dd90dfba58408f71b422666158dd58b4b0ffb8ddc798863a1edbdebd1f638c954a6c8b8f2d2062eac6f99081b57d2faeafdabe17b77ef6313170d5253a883e7b17d167ba0613f56b54ed5243a4636260ff2e16ce07f9faf7e2fe8aafc4abda3a18293fb5d2f6ebf6c9d5e3d7f9eb966dfd7ce8933f7f7ddd3e95e553df6ef52f58aba3ba988dabaf80a8205d52ff6e1da4d99d0f785f77c322b031a63f7f376b67bcd1c01e63ba83f783d5fd01a26ed4fa77e15f71ba597fddc79ffb9fedddbf582e7594976efc77e178b1c8493719411ec221e5498a2cebcf9fbfd5d0fb8bdeff5db77af924a71b39f4a27f4fa9767effd1c7c428c1ba4487ec47ef92fd48d76022d3d625fbd18f740dd1673a260684a0ff3c949f378e8adcfdc610bbfeb7eb411b763d76b1e0bf4fe3e40ed26c0cffca0ffa158fd9707b1bb4f98077bef09544f658f6efbade53f067efff74260a6dd054b7a53b026cd7c18ff67cc954e24adac985c9fa9818b3b2ea57da7a4bd7b05fe99818b3b3303ce5416de2bc04dfd677e2d1e696dce0ff5e86ffa9a62642af89d06b22f49a08bd2642af89f05463435555d87bc7c0e9e674c3f5888f93c20c1d17337466bca3c4cf73cbdb8b206829712cc8fe91849b426e19127be4eea1f2e5973be206bcb1827c63afacf820bb7e5a8e5cc914a711f061ff7fd7f58731bbb411dffbf3e29bffa257890ef9af77c9fa5d3efaaf9d95dc73c37f2f9edbdbf2623c373cff6a1978723819d2ff0a935b07daf12b20632a8f599c9a80b6d65d299dbbcb534a79c99031ba9f9aa8d051f79d942af8f65f47a11cf551c5fafab0ce19d6e6365087d7b8cd4a4b0da68812df6e5fba81dbdce04921674dfb2f954c25f83f75a64ef6f13faa883e86aa4b29e873d5f83367a2268e7e59c0f64304e2c7acbff4dce650daccc93854b63867b73c46d3074e7594d7b80faf711c47d5a76feb477b1148f3026920ea05d23c1eb701edc834309c274a6e030375f143b7d9c153ec5b7cafe761013ebcf4e0365e0375703bde966fb98de3703c72f770b82732dcddc381d5a6541fdf65071eb4b5f16131a38616b7f11aa8c36d48d201315ba31f3f439a907fa670e57d4fb3291383a4077dce200802e53caa15541f04fa2b8f348dfa2451bd3e5e3268883c290b7d5a7c068140a0fc2b317f3410286f9ddcf9f3a391066920e2a601bf4557814d03f42dbe0500469ff5e8935138134d4a4846b417f90b00a06f91210e133d533243a2bb1fd133a63dd21db7495b9789fca598aba9988322d3c87ec2bf494e24c85066dac041e5a99856b0f82be2140f37b8efdce00d2fe17014879ba322c37f179ce172e40cd1c589b451254694f793b8a8c8fed79fbc18727b31484e23c87267aa82fd84f54f1c659efcb4d63adebafab48ab1a2958ee2a648821c37335c76e0e1a552192188b891e3041f4e8adcd90deb4a0d2d3894d47f971d7878e9c153a096f116e0c30f3031bc9276b31efeb3e28d9abdedb7d3c48d9d7202b5bf0475d8caeaf73e00ef45fc9552fc587139c85d0002f062f84c7b5e922cd3b2fc7a8cd9d6071c250c78381bacd4d0023339249c7030811b92df8e0dcadd5dfb818d31c648670e8d1167a2689ca8a923059d7d3fcffdb5f7f9514aa9a3a80db789947acd9c34c60aea70146582c3c2e8f136fa883ea4ace69a6baeb9e69a6bae229128cb327d0a814826ca1ef41987852ce3b0f0c94623920887051112765dd8858960a46b09dc12b8255c43bc87b34204fa4a12659deb6f8c31aef92be8057fd61dcccc0fda401faaa11afa4e0b9d4490f3836adeba975d433f2295801ee3d08f3ef423ce8ab9439c15a1d0cca1ac894c92af31c259f12f1b24227d40b6c59635932d7f465fb2e59d4766f623dd3d4fcedffd9e2f322323de23f2db82af3c87f75ec9d595b5acb72fdb7e85bf9abf5f768c11bbec5bd7df8299f95f36fe9b5fb6fd589bb3a6bd609908b342f43f1fdd81de1f6fbfef06334119b4c1ccd7aaad7bd9d5c797aaba3036a3b5396bda9cd95a4dcbf9a58a551ca2a5b24e0f2e9bec8dffd6e6ac695c126e8c5c1272fceee74b10efde102d95757ac49512ebf15b9bb3a6714998f3f1ec87b2e1a1f6e3f9980c41565896652dbbb2bbfbd5db8d46a52d2bc61863b4fed6fb5bd6fa64cb5a6b59dbf5f69335914fb696b5d97ab72ccbb2b2687eb265adcd5ccabef5577730d4b22ccda5b89485592ec5a5f2d55c2a5bdd3dc8a5b854094ad69b351b56e0d6bd6cf8d6bee4ac695c1272f73227102e95fac0bde17efcb3b4f10101d8dae5230af469f37bf15ef896c5de64f80dd6d648a9cbb9c929a79c722ee11483530ce67b53eed4a060c71eecd41071479e444e5a6d55b175b53ccce185106690e3d0d512b1e86ac9ae96d1d54231e96a11b95a9e9732fde20673887406abece966df8bec3d7b92500c4b9541180a85e4c512ba3cdb6e6678b64dcf5e625fd188d6cf72965d928836425262d262a47df4d4491f0a69df48a47f5748035137e92b5268347adfe88ffc49dbbc58a89ea811697bdb43948646d59336ffd1167ad1c522fa955885646c25aef1967fb34b73b0df652964921ff9eee9e8e35f91ab65043b098e25589ae0d9025300e07a25808eb69b5d75e7032619a924d28f7c5455d58f6236a5ffae6a7443ef5bfd90d411f2a74fdc6c780101b72802db69e5ee55f5f062a95ec4526da24dc6db94eb71fa7675faf6e3aa9033c6991572f62b7e00fb5df6123e89d1975f55232f06d7115548fe7d2efcef554a291d8da8f6a3d1bf4b86b6d1381ac599ce6a13c9b61251e28f6c221b1d7992efe0cc8ca754dbe4636278c99b8c7c8989ae41f225a477d226f24e3f8b45784af5d0e86dfa95b4757634fa502854eb8f3212256523911f411c236d4be86f234ff22e256ff2234f52fdc5b0e58832d2467f2b896449a48a44b248a44b226112e922913012c9bad625036e38d3fdb3807ec5ffc5404d5ab4d85e1cd96ebe5a6008bb08c7119e244c455e55554f37eebda8de61ec2acb5eb45d178b8844223da54fa21f1a6d5dde235b6df634fbd1d6fdb0b3fba2cdfad0d699586ef5a0bce59fe960a88d16ef1b1f8c516254d3af1dded64487e403e0c1f38d139223c7c9bf1203d7634130e11f04fecfd7eb31dc652aef5f890ef83fef82ffe3dae57a4ccfe9f2dddde79cd78c52c80e1458ecb7f3848f02ecb7f30490dd1273d6b4ff52c9648ad6b9216408b1b0cfee7792e2f3f5f3f6ed7f5abcc988f623efa2fd488bd7b41ff9115dc3e4351191208e226708d1e24dfe7254783b685ff23b8c3cc907c1848bc9937c102d7449fc92d7be2408135da243c96bef52a2bdcb8f3c89be39bf43cce1e4fa1d9481d93e63ccf69969ba1f40d94654d13e469511d1ce44ff5ef6d731c9e946d67e04f2784ab57b4a3e2686937cc9bb907c89f624fa4514d7da85e44bbe44d7187912ad3b98cb51112acf513a6dcbebc5fb2b51457bcf1fecc2b7bef5da26b23d47216d8e220ac11a3c05a4bb07571ce6edb375da066dbae100da307b0584eb00b8fdafb50fd60a9d528f734629a59c314eea4e6f6c80ffa0751ca8182177787321bf941453ec92f86f5b2fcd20332fc1a89f8e7a86a7bccd03976079408c09af2e883605f28a606e609becb0807c49883c2a62e59326a724a4a4a7239e94a72332b57452b16513aacc124bd420e1844411a91a1c2e458efc9ed4c1c333c383e2e9c9a1e34054a082231e044d1730c1a3f452bc22b429c18e6f46de2091839b9b1b9aa7af1ad4ee64cd4e8d8edd99744e469c90382191ba19018f213720086223c503488a472ac5a326c56308291e3d5e7052e2a4448a070ab048f1c091e24144ca460b9d4dd90449d51461d3a46c8290b2c1392561dd5312b7923630d84fbfcad69a940d06523baea822b5e3476a8790d48e29840421b5a3476a470e5251d0bc2015450a5236291278c0462a0a99544d8ed48d1652373f52375348dd4c7132c288d48d0f4e398c806e843f9e223c1611613d420aa24c8174221ce152ce2332fcf853d254143fd8730559eeeee27c574065aa068b1db54c458143310902008016262524239a0869948942a0fcc12e7cadca563aa59dd191a8d413539c4ec035816b02c7048e095066478a1e2f8b092df051c1cc86ff51c10c154e2038812003a70e9c3a20c4e903a70f5ce0e48193075250c89c3870e2c0174e1b386d008bd3cc69a60b27224e44a49e18927ae28a4af483d963c7879226774f070573d6b4f87020acded32f7e09be128cd1b7951abcf41e4e15c4b7614c83dc61f8793ef8fef4234afca79feaf96edcf730f23482ec419c6a10a313f7e404cd098af7622cc13d3d914330d082853a1e4fca099e97ffbe53064e439c86380d2173d2c04903270dd4285e7a9030f409b023e73d75367784dcbd2c4c90bb974517f24bd12891424209b8235503500a899a7cf24c39973eaa7cb531acc7a8dd57503af685dcfd3be1c79b4a317ee59c9067d4b7b66e52e086987a4a419e474be9945a545622cae54ca652e95f66395e0e8b1cffc22b4655bd081bf0a463173ef4ecd14ad93d94dbb7be7a0ce0bf3faf121dacafdec5d2da05eb175b5fced0f9bd70ee0b7985ce87ef8a7de5665d67cbcdbfe5b9bbbb2751fd13b2c7a8deb26075ab03eea89efc66d810c6ee5c6c78b22184505f7f2f8c2ddd594bd35d89bb9934e74ad36782bae328a5ddd3b9f1144c77277b06d4b9ae78b9d8975ff8a2d775b95fd3e36726275fea5ca673192268cf0e72075132a899279d74ae44ea2ef3049791b934a8d57e7207f3425b0d7beaae96c08fe9e456724307e1f6e2a56883107ba5072f412cbc848a2a10a266e2632b7bf2a5560f8ee836accd59d3fe4bee361cc7516e0f2b9e72a976943f2cb6c9519d13d1a3aa1e86ab5c5ffd0c55a555a5aad2f5eb6791456567578397e0d7e0a513544489de23fa7c9f5bc8afc74b1a2abe8bd2c99b68f0a1b0e8b9a2e4e24df243a1cc3ff1123cd9b042bd18e88ecf559161b5e35bfeb9c17d30647f28c35591b18967384e9796ae5a0644f1201701b7cde1a558c4fb618a26ef4c29d8b58d1d5560642633384afc5945869607b97b2bf1c54bf0bbc7e329b10827272714a0946085b5396bda1c5d1873a692b5396bda7cf12be7977ddfe734955c70d6e6ac69735a9ca964006b73d6b4f9bbb236674d9b2f6f6dce9a365fe6e4ae98396bdac9c649039563c20ba7047c050e0887859d287a38006ed1e75c3d7edf89a266270a1ddc15b82b9c3220e3948153064e43704de08014315130b4c2a963054785c4afd24ae7ac998efa2d589b3da582eaf699acfc3fa49128e5c5107a4be74a53ba69957b966d26ffb21dadc522fdbc8441f9fe94f03ff7edc5f2167bcdb58132a0aeee2cb6616b857c39cadebfd47a5c3dd6f55eabb235e0577ab3a1dbfc85c195d91762ec296f0920f6ca216b6b5f3451d887061a68a081061a421274f5bcfe4e19ee44cd9cab695493a5ba2a0d23da6ad8cabaf8c2ae961048e6cf6671baf9c346f7ea4ff5b55521633d75bc04ffbee44a0478146dcb237b564f453e94eae7d45dbc72a0ff5eb5ae16c7b0fce0993105e17a25a0ba5ac2b75b57802bc3a4178bfb5f598037340e81c01fd007c4796b73d6b4ff52e9e9a9c362fda5d5beb42bcb80f7c27f882a9046c8e6a6d8a64a758fc31bcde12077af0a06bc18de7e38f80fe959dc1839aa5cff745e224a7471fb84bc18269ba525abf78bc5aa2e18de0b5354719126cbc48377261b06933f29c94c1d5c189dbca844ae9695b1543412040093150000301008068342a148300ef448d63e14800d829a46684e9c07a35112a52888829441c6100400010004006868464401164c86cfd3cab029680ba37df7e609f7ccd31c5cc27d49fb34cdcad634d1d934e0a362fd78af4e63a5838a638d8be8eb09ee58c7afa01a455f4733f0bea13ffc328e396e4aea80d005b9e2e1dd1d54ec698e22463391a3f197ea9569be8936005a91109f44813fc50f801bc2d7b30168bfaf0439fc3531301f8051dee73893868cd087890395765f3f7d029babe2ea172efb22ca177afce28bb5de8ba35a0bb31aeb53ddfa4bdfda433f4a0aae740df0f34bd3769e14c9a5d0cf06a5b84c1bd8fb0e74e6660319d1935784fb022ac47f5294e83d7c8882e163ca00cd97151d88c58f2838399481da66b7e9b1bab73bf208ad0bdc207b4f659cf7ac8745b62a8442aadedcb4f3b89304fae0a6890447e0fce920edef3fd87d41d017f9d1f3fd612a4a5aa63b10db8732c598b465d2706bb48b15bb611bed3e46bd477cd0520ebedcdd3aa733e2e022a018f95b45886b5881a7179c9fefd70403064c5affb68c80cf035a49002d40af3693fb1c8403c657ffa6f8ba81021cfaeab4ad5d08418e88b6fdcce0517fc1eb3d82f917b544c7e3820096bdc35f0cdf0504d3aca5c9ead5a915f607fe3e175f9b38e5cd76fc477e25f5ee054e64522e7c83827e47ceca209f7e3ebe33704a445e98f51e22d04b1b63ebbca49ba737e233faafa993984b02f432aa564e73e303a22118a61c2162da15678467246b5c6b2cfc7944ae6b08bc5b37406972e60561909571ec973365aaa20f47745452d7f14e057e052c880c8884bfffc181e0f55a79ebbcbd96c2ee41f599752abad9bcb33981b13784b1df34b9e3a6fa52637bddcfc7d796bddcc8d2668417dfeb9e08b64a02993681717d165020f9d9d290da673645733078e5985a1a424f51dc607b75edf779454c95f7f52683b168b83027bd46df2fb17b6f4a50077967ffe389abaeb53f564608d2ddf773021078ddcb1079c996ff928c05d88b5a5710dc2712434c37339fa095d3eb86dc97e5681804c2ff3d831378e2e833433fb5e68bc3cae7dcd6914249a7fdf66cc06437b1c77023f3e9eacacd6b7ff2d38d92fead74886cd5dfb266f233be52363d2f053a406c45645961f2f37e43c3f834701035f969a9a0bec9ea35f63729ed6c29d0b84da6b2831c7b84f42ca1aeeac3017b427ba6c84b02f977fc14bf047d731d29e5d177ae5229bfd1437a6edf18c3a1b55d0b6cce75da406c55e0d887a715e5fdf40787a58948d88d05f0c92a9c3e8450303cd236e21faca3b1c2032d250ea914c41af4fa60acee8faade1e1b86f5dcbfbd0f6a3f7e56b425e5f32daed34eb5adfe95fc26f5bcefb8fb6f593bf3df1dc4253cff55a078a7bc6b6a2eeabb6505a35d9e75f0c0ac9829c32747f026f8bb45ae7cffea6b47f39cc0942e396ac1b7073e6c21942b8e87f170f24988b9898d46169b637f2482f9a30abfe51ecbe6acdc129b8cf4e47369ade214ad1cca22d927966f65c733ffb2136338e9b7d5f33cb5a5e979650a2f6fec77f2b0717af6dbfacec0fbc669b35febbb03ef364ecd7eafef1a78bb8df7a906e29c8e1ea11bd9e89e91c72e565d5a49f17ed47b699a2a38b1eba9b337dcebbe1fd7ebef1df7baefc7f5fa7bc7bdeefb71bdfede71affb7e5cafbf777cf954dc3d00fd664a521b9da502b971d62815ffd87ff271c3f4ecf7fadd01f78dd3b3bfd77607de379e9ef9be7560970177e76a79c3e3508ad83ff107050ee76f3cf218bffbe7ab23aded2d287cb801dc441f0ccd8be054d417d89a69c25ae0d217d85f9c3b8c7a28876310882d464c372c4462227a173bcc1b54e23110b18b25c6cdce0f59a561d48b3d10b340965863b881211a13f1bbd861dea212c540ac5d2c316e787e5836be6b60c5035acbe06c5396ded7e7ba07066884a678fc9d06bc266603503204699b9fd3b9ab694c90585533298decd34324de203f3cfa363d46edb59bac20ec5a6e20d21fa235c8574371023b600452c7b44666fce9904f7939e776f4e0272fdf4fec35fa5ac19417702213a23e3c60b52e7da00861611f095f16680e2621f4089a3318e8d0a6911d785e3cb0a5e11d8c32e800820c37e24ae1841b8689634484e489d82fa216134af791437a67b132a9dbba8efe565aed0056ab5cbafb056ec7d7855cb2694038f434347b8f9eca44331a5e6edce4fd29f8490186056e2a9f2c18a7fd81512aa5e4aea717cd9401d5954bb04942fd26b49b52b0ac1f93a1da9a0120dcbfb5c2adbbb03c5359b70e77190bc56f769d08c3423e77d59104dcd6f1cbbbfea65359eca7869319d4fc546bf6802669f5aac428531f0619f252afd2e50eed0677fe1a8b3dfc3c64222d3378c25facec0d655df1fb751862fa9b60a665bc176735202ded158bccd9b0fd86c96761d48e9df903fb5b23b60b89602ac471de099dee3d20136e7aba0664d7d9de716a16a5091841e66755d12bbd14fd4edc307bceea5fbdd84d577510c9602a6a66af2ff4493bfeb5677dacab6bdf1b2e161538308bc2bc61e13331cc9ac6b0e52e51cfd090b0d8ad9d30fce6131f4e461378bf43b28a802c01b6e4d968a9d2d58266e1cfb5c57db331df4c97ee57ca4f676a42de4f51515e04454b8d15c612e1cdd4bda8ddbde50a2b5d6e697ea36692d226c05e9010dfbe5e12d222c7925dd1546da694f14e938d01880de9ac7960b797eb49da143806ed3f11ac6f5eb54b85ede80752590a59308dbdc40cdf5ab72e8ff06b53b3cf693759788cd4f168783fea66ca11ceec91417801e7780c00a57b0a2a0c187df285e76d015b2796a3d5dfda7c6ee3fd01dc1846b41a4be27591b37a2245dc6c183c8e7691cc85b8b0977d87457ca7e510e808d5115417b19ab65c3e0c790678d5deb4947ddbae15e0fa9f63f9c21302fd4873a7d415b727514c44196dbac4babe0f353655582b8aca02a7c66129787d8ba9a1fd98309697ce829bec2c3bcacff22b9084817adbefc6b1cd1a4e01e60ba74a7cbd348f1744340b8d999076cbb02ac8e195277d0b143361aed52f1834cf0afa7c1c8f4d93fec809cc2ef4406485da57c6ae51c13e2fe85c8ce2296a7e11f863580619917ed1c4ebb1f9d04f2e5fa2a5b1db5034c667ce5aa8d90ee538f9fffd814be805828b877a9942c7206574a022ca6caa66c99a23ae56c6ee3d7344c6e6f5ed4e780814772d210b817329c662d39c45919408e6683df85417413e3ebc9cd601a181edf11cb36b87dec0ecaa1c3836ba202a1ea7749b61c0ff4a8c033e792e5f5c630f4642a3a4d0c38916e7b005e90d7e0cdad23b2af24663f237d4ffd957de96cb35e0675bb5be3ca8f551c48fe9eb4602c6cfdcac399a99ddeffdddb68c187a2c560b75c1d9ea54f91e8e1a6b48fa439b14307f111535c07ee5382104d52906d9a626816b075e76f02472905399a1406a7cf784e0207b10518c0d6e2a58bad70e23e7b165567a9585d709d681854227caf3f3358dc56c4308b0c8cd3a99c01ec5925f06977e2af897a3d7420533aa65896d93ea4bcc760990832a84f113711f9118c0e677dadd4c27d76f601ee607611be9d1160a46063d2de050f069e520514623f769725b21027fd69ea71c7f846566e4a9075876f211a6324f76e1db63a7710e786eb9e5104175ce8ac1cf9287326cb8ba6b061ee783f7f91cf14c0586e301d405a9ec1abed6b116625a0e686ab26ea2ecb5f52791a2f401852bd1ccf70098871760191d5c133129168b9360fd2dd3e435912f0a557c6755300680f9cdd3c43c35943db8f4bfd0aa58618574c921cc46f38abe2c4eb8c20e61a7f1bf74f8a2812c1e2119ff718c09a95d9ee31b7a4fd6a59d035b9c14efb64944cf70d68df9291a49c7119d0eb24128f19cbf773d9b6d45db610c5f397467f05793d888795c6eb540930cd63a4f644862179998f99cc9cecb900ab29c6072a54662ff2e634d1be639343dfea542b78e65e2f69baeaab5fbb9a008aa3f80ecb86d49ff688b91a672403bd6066209505752dd7aecf4cebb3c29cf84c101f9d057cfc58db6c27f211880fd1ee0008f612ea154e41463b6de2743a11f8fbaf00e0f07e860e04ce9e8158828d9d471aa1f4f29dbf388b7dc7d1431bdb4c5ca5d6efd12863d5c040243b9c845b91a130c8bbe597f8abc00fab4a83797244a79caaeb3a3c58b778f5b8be8bb921b916b8d5b91a6f8b1790b9228b0e4f867c68c4545b4ad65efdb7927dacf04f404245210ccbacce419ea845bf7b702d39f18fa579ad571ed95600ad76c933bfac3ef3c5a7c0a0ca13722603379121f71d94020e171922cce5ce68ae7f5343fc055f14302fd8df895fa937a11edc3e2884356064fba3ce4bf6e0862a9917d19f20f61d994a151f553072809a22a5a40f9b98698ab4767a003065b3621fd14083cd61e043b8812aed0a0739817b59c085d4f20da76905681ff7d304743bc8b0f1dccb145e935e1c00c46a5f2f9d483ed89f3a45bd54c8ef961d970c21f216c999370011d942113ca820206030ae9da889bf1994045f9ec2ee04dad4a19b139edb3a5601cb9e65ec36b8ab17e3c2c86c1bd8bdcb328c2a518859ae2e05bfc8d5159956d18f4dc9d5549543447efb068900e3dc05c767e4135c5f350761012e7e69513650d90c3a6fca1d417b146612e441f27b24e536643c709c58658306bb5bf179b320b1ac49ab489203102ca0b7998446439622537bf15cf0a04c6c57ee56519d95a7a8dd305984fdd3ec5f39ae2581e207ea8e620ac904911b2c47b2dca1a6db4a3fd4d14edf16b82c53d55a44bd0861930836a66cf0571bedf3556f8df873cc2325b2dadc8c435b66f703bff9214a3d16e1656083a6acfb16aa62d03770acb32029d33691df30c11495e5bf22f326ab9a47867a872d59e5a71a7fce40ba1ed355f09803ac89c3e35102fc489e45d5a9fe144ed100b9cc775e9bc285d5059008f6a6747774d95d74d71f5ad99f94b6a9d440818b366072624eecceb5c41f121f13f4994c7cce272deb324529c689809e8134208744a230ae17bed5c4d07edc031201ef06c39b4beed36da6f775c8c5f33bd3d0ff6ffe50b65831400e01e425c7f7e78a6a5576f40b87a9e60e78a4b28861a7c47bdbaa781a9488011f90a0f665456deb96647d343241acd29a0e832a8ae83403c0d56881e845e3cd92ce07ab9ffd163ff35b1bb49c919c7c690c146a4dddb69783e2fa6611986d0e82327be3f10ebea661f066284f5099a2e9f888d7927800d06ae2203625f051b0bb90c2266b33f7f87f15505aba3dbc711ce3ecf550c987114ba4c406d561f3fb96bed696ccc8847ad30cbfd08bdd70eddc0dd94122bbff2655812ba1ff3a276505913ecdcff0ff926578e3b8f559f7b83be7fd137d61a6393220913d937ef927d1387b2ef780291722ffbb604959c1b798b41d1cd61f8ade62005a047e9b4aa86f71745c4a238feb603d0e1ca3bfa01b778e95d07ecc7df694183d2ef7668ef179f7fffe13766b75ad98902f88c550017ae0570bcc199904df102f86cc075beedbf38167db080efe0f678e1d8f6a9fe99c037e166c6d404ce566c96a7f39de39d503fb914d798fb584d6de0716a76d1abd475a442eea14829b46569043f8ec48c53aad4d1e45a11ee0ce723b14e124112fee9ed02d57d0f9f077dfb3d5cfac2dce6f4ed49d8130da77db6faf6dd87eedbd0d228a69a87fc365fc77e9b90f4b74bba62b611af0ff2df8ec0baf0efefbf18818071a90db62802df2bedce2bf3fb671e7f36f77f261e66fc78dc433b28d273c1cf6492517ea9fc70500d1cdfb3bc47fc762b3140acd4072e724f6439220ad50e9056ecb7034e4ca98cb0a90e38c10701646fda82bb72f8d11b2534637cad6443eef458968d110d00889763d213e2120a8a0d1cc2344d8889e927d12e3f207f0dec976379892346ba6f075605ab23c7f272d34e494997d0250b8483349e8764fd76201e6c31b0df161382f303362db6a8d3ec3abe4ff7aa556f43bf3ba9e243616fe45f1c03a74eada350d5966e991e4b6f1ad13db08d439bb29080e15895b5e68991481b6d675151d6752a0850daaa1d0472b8ba7ee5c410004c1e2e3a2f0a2ee836f131db6ac15e2c02e578ee55be5befd6bff5ddad8cefcab249057b9c19dc9de1099f40e663edd5461f53dae059071ec8742faac1864a3d7377535d4e54afee3c1950c2b9e8afd6671236eaa1d3979ab401ef95aee6f50147f399d8e7bfe81137061b9a484f101f88b6c49b28515eaf74a05460b821472357c0d5860025d80cbf5b6a062d1f3548e5fe0394ab5de7c96b89f6f0be0f30e98d295d60725443dc72fa982ea693173dc32b4bcce52bf0bc7e97e51852e67ef7a867a8f1e6faa5ff7b06bcc02c297143a0e5769300e5205ee67352f7bddcfa3c2d2d05ab137fd08cb7728015f7ce612f52eea19b37d34b072808cfadf4a7acb4b08dd47aa01138a14580f486e6ddb50e8c212d4799d80a4e1911ab028a138060fc9a38269327133982d098d604c5b04623866e15818cb3d8b1bc067b24b0f3c4f440f18b8fec88326406e3e511ecf241832b406628606df9a198c1fc92592134a3f29e6ec611b403c6770fb1409674718b932270f460a8c2295577a3e33e4b8c73664f381255940b106abc793fd324f7160dcb0714d259cef9889a71960f6504aa8373ae4312ef3780f4fc10ad42a116e5fb7d8d05a5a837847fba5b94a2b2aa9587ddb21fff50d44897191c439e7aec61fa93f92d8a0dc62b2710166f40988f860287a473a3784f877c32cc7c0c6a743fbb9126330f495e9a7eabb3a6516377626488bacd63630f2e617c6c45dbe98aca67826f665753daa5ebb85c14745148260a20f101c16bb323921c1520a21fa4a2a10526de4c020b6c34f126f820107e877f9a63a45bd6bb2a2237529d85ef7f6537126b6f0f68e1de5d80f8eeff92746d61b4af43fa3a692e332d1ce5bd88101c0de5a01a033cbde211471426a2ab7695c3be72e9d38efec591af08aaf88739ccc211d257768513757f270c9a7e6cf944884a67e4b59232598bcf441e576a3c7f110c5bbb05062964e7c508672610b2ad029a0457ed1f5a92a8b8655152e46b8b496171f7708f604392e17e36a4e617749400144bcebc7a6695526a314ef3e9b93c954df8533038b4abe0f3ed533a051720f357b5b35386888e077593983ec5bfe10f58a337d2d1cebcc6abb7864cfa0b0a1fc9cd794c4bda4f89a5dc6c07b0ac2b05b4c4771cb2bd6d812596c31791fcedb8f074c12235fe29b8b5d53e19b59923e24777318a51151db9df50e1c1b95c94bccb037288c0e37068ded72d24b399fe89647c16209644d6758866ed5da61fb715ca7f1ad64d55241132e375aa722b019aeb06913c3f733134de5403fc66ee759424440d5008e1bbc3898c7815852a26058a2d979bde7785e5cbee7386d1f01d9ed4f03525dd67e303b250c5a118a3a4bc7178886f65862d5ac89585d33a9d93ba528b5f316e2482372e530a1ce19c671da8af4f41ccb10e2292aab6093fcefd45347dec68e4d57acd875b2208fa37dc62a091faca7140bdd46e9dfb0aea4f630be7fb13160e6027242fdb3f17731a7129129e8eaa73ea6d791017cb75c69d6b06f210ae55d4349754a9774b1351c51803b8f4fea5f666ca3154724e685f1eaea88d5ef83f417bf41c89f665f4570ad6bba5a99114930569784f1c964fceff737d776f015c03460117ad2ef11eb5063842765937131842e560c0142097fd9dd14c044220ec60513a376a18a2757179e103c540ff5137cd760924e4a5e087f65ca0fdf6d0b355f0ae1b8c75f5d224f901acaee8688db234e93d0200417d2d2baf6ea42ac231b7cbf5778a1b51a8589c921487e859888a9ffd6d281865f8f82ebae6eea6c92ae575e93e7bffdb409f2318a2c20877463b7dfef8700ed4ee980721e9555fcf04b0d3bc74360adbdc18d194536edb7bbf4884f988dea1c4d005ea00bbc79d5e9ee3f7c6b674e1d1a12e19b69b19d30605bc3f0924eb5db5e24be98daa055584aeec5c7985b2012211eb6d9d2bf6a78ca3d1386cf0551c5eaa4eea67c34c5fab261eb3c41d032a3f2bc9f1de8b46d6dbdff89c3332e2b0ea423da948abd9ddc20c432b108dff352f93b8e956eb2cf256264364e82027716353eab8368bf289297c9c47d458ceb4b4576172e3ee3839c35f1981bb174abcb2419685b66a1e6481ee1919e981aca72b49174dc55f7698c278698eb7c33408cbb8ca915441ee93edd1d1925c111e87915a957b5db96ef24d452a268cc6763df883055475337dbf5911889d1aa4ff56813fc5473692626d4a322d5b7d671cd98496cc1e67c29a86aaef4cb3345031d2f19d52e1eeb8683d5a060ad129163cf98cda6166f672437f8c93b3718c686de606e4205076bd025804de92fcec1ddc70e6405d167d737a1055b7dc2b98bda24b46fb1bd393b65f405aebb30f2f2008f022c82d09a922c528ce90047945931973afb598a3bb017246c500082f82e659332d7d4d3f7f2d33400c4edb6e737b21071073d4bb5362af25da298bf6b291247d785a0e2a1c2ffeb614e1293137a17ee7b88f40e1b41a5d8de9e27d79530dd8b2bbec0a49a7d0edb4d9ab9f806ace29fd14ecc29c5f3ce469320382fe8447f1ea571733ea592a73f3abef9d592382ef9df41cfcd5f3c074452cab7453a642fffe26679f3d612164f2e84af1785808b5430342ad9faee65652c6c39a93a9e7502423b6c9d8033a0ea385e73b4e4c80931db03b35106355b832749eef6c6d26785ec761b86938b900ab45dce73b7d075755f00107e37dd4224e41532fb3dc589dcd65a357f9c9ccc98d32dc391040d7122bf21dd24173a845dcfff54ea7efbccef9a8c6fbbc58154cdf19e358c5ac0f967eea6b1a08235ff2e540b8539398f2b5c3c1756238bacf8d77358f054e51148390ae4d4472c4c8198456ee19ee9088d3f73b94b7c078bba83768f1efc98bb0a496e883dbcd6edef9e39f1e4c7f0f9771c00861de36035221d4bbec5bcffc640847beb23a8478a39f0140e300069cd17bae48f57be391efff46f68942215396b1150a79782bb99e84b68e1307e261589df3aae76bf9a231b08893e0e3c353ac97048b0998b2527e3f29be0288d829ab7add165b74b6efc407599fe1d808628e221c65d3317793141f33e2e499f0416e90d0faa158eea752d9b4b7b95da4149f2e4ef161bb5e28b19787e545b07727c9e433aefba0aab5dab19b0d8e50352eb16b57be21f3a871d2da2fd0d407889591d09cfa221b998de9531ff563eb01f568742cc88729dca9182a110a8dea0b5fdc38efd465b9bb00b02670270c1bcc5195b18434122a649e29b62216b3bcdab296e0dd57a53406fcbc53ddad2d7847de55561405eff21c38d6f88c8bdb703995994fb0024682d7e21f98e3bd0d64a4377c271d2adc4fee4208cdc38adf28abf1727ec964f8ce6c0edf7d119029b980a5d8b3fbeee3f744cc2979dae36d7ff3de7758c0d3e0d778562dfdef16c06163b3e1a3219fc13ab96824e3e3bfc5aa21893c3111426a41786a0ec29bc60ccc230d8b64d88e9b08938cbbc58517d3401f876ed603cb84ae26ef4dfdd105ddaca1207b0ae5c3db9f56684ed8655a1ea23707cc7b18cd38b438f4c513faee8d273ce02ce2659c0efad71f6fc9a13ce403b7001126309257bb885c411417214adaf201f1ea504b583e1c71dec2504fc97bc8cef2ce1f204d1f9fe52c6cc093b0c1b22099e09691739877ce43d88b8a9a2513d2c33cc9ad6ce8a3e77159ea4b1778cb58f3f069111548dbc3081f26cd607bba7f607d3e162e19ab7c33a03845c8cf97c981cf9b0467faae1a3118158e5ae07a886d0238e5b040e8316ab4cb055a3f8880e9ee108247f5860b2b7181b433849e87d70473990ef147530394e55dcccb7a12c8a7e6720bbbcb917a8dad110f57deb52c75b91601faf6edfbe7fe5864ae4d299d475384e75dcef7097addae837d664bfff74f422f67d1169d4db6235881051e5be2f0a6307cb99272d4ee4916d036dd1a151208ac0d9a9369d4fb721b3f03975f0eb185272820fda62b027c60cf2bffe5c4728d93f559a700e60f0b15eb7e12e895ee39653ac542189873a306344c0873ea67a5aa98b811099e40b98bfa9f30f762e096d05c3187bdc9b04766956e755b01983117f79fadb06e8438ef8eb3e31e731f9b55d744929a61b2203a23ee15621996b965b46b1330735beca03eab3b5e9d09cb65670b5b46dbbcb77681b555e57ea5ca5378b117096b55a4c2aa9cf13d686181618878ac5e1e1fd082acf6a418838531ecc5fade5a217852b8f0a8b6aedb95c2ef72bbd57f728d56397c1e011ee77ab1208f3bb1e825dbe579dc94dd62094985e8bff80a0eb07d24750f898f64d9c5cd0c45a9b5670dc10a4b723669dc35585ac79d6b934251ec3fa0a5e547a08e41b4588345f2691a7406a0ac434419330d37266c4d72d48ca06f93b5be6e514fe183cecfb88abf4024be5926bd34c5932283e81600baff722b42c191c8430a4aec87fdc0f028ceef6be222ec378a0e356a6fb6601409132e5834e87345d1ce4e934a7f9f0364d19a22e7db920692b690aa412dc3711ce809c5259d4ca2e8d18d315c36ef0c546d2d5731537199eb05424bcf9270a487134877dae18284cc9ae5c8613b5a1285ac5d817c6cf3b0e30617bb5de9a8ba371ef4bb8fc70bf23d6aac39eaf2c839dcfb105098bfe8df1681a1c99466d9a7ada09811299e98cd6766294e41a30374ac9cd9610fac1074a7fc05f9cf9a2d099641ca9acb5cff027c2150b81e826153070119e05ab8944ab029602da26faf8f647a52aae8aadb09de18b888560f40d17b8ad6f864553f0c9e2b2056ad633aeff8c7b57a91b4b14ccab2f66cd8c01c584b86aa334588ca2870657a50e61c088a7d12b3a06401122d287591e733021cf724ff0ee8b52ebacf4b445bfb811282742b8f3cb7b2afcbc388d457748e0e2181d0231de97845430eb08dea3a23d605469005a1faafaf812d659be96f5102b42e8e03d52e3b4ecb54229abdfaba5e29f26900166645039fb5c0de210f01f29a4fa7dd89d4a57a28686471125209e617962cc7551bf9198d519e02853faf4392090d98eddd544827453b0dd014a8dfeb2db04464042e412e8715ba376c29db2d64fee4e71c0efe11531e47d0f4b5735b5d40a928a4923a690451c61e39652978aa7c2b28c1c24c0f3bbf75f4d01c5fc0dd6d400dc5485e8acb8f18898603b0aa047d8513583d548085f1ff4fdf942121c656706f07ef881db5431787c3cb25000cb0007316199d0c23d014c13be5f93f27fa4bd58ae1bd9500c61c72082a8a6832c40a3b844041e9125d4316b60e5aba7010135c1e7429cceeb4dcc90aceb1b1c54ab764dda4f8b393a31cd8a9745349d54b171c27c4b1095ceec1102eab1a5c0ac5667a6e0150dadd73f0fbf24561272155f8bcc39885abfb18ff24dc1e65d776c156628b042ad4866bb4fd20a2147455fc83c53a8c192695395a6b7d6c8e2480957f02b5316cd08e1a0cec716fb3da5150e2cfbabc4289e7e889583ca89331630e5174a1b65a3e472e96789f1c1b9bc1baffaa15ede9613334c08a6ce6c0c3bd5080dc5860b60340b63f75bd68d22c2ea7a8ba7936b05c68115c26d285fedba225617178fc0835753780044466fd5d83835828d02850d9cd703b5117b42e9e05bb7aa5d324190134b0890307a80c601910176626698fc10efc144639570190d932cefca0906c069fb71f4fd8d57d5ae83abeb38ec9230f2300adcd030b5449d65f195a1e8d007e5fc3e0feb5399618024a46b21b401b1dc58022b97753839d0d23f11a75c2ef61e3dced8b3c5a3551563fe710f6c91a53f4db3af2db1757f8950d00d8e6d14403c1f6732f50dd55a904a72e62157f5d64e2fc82401125b0ecaaf3f5ada6f98f04087c2d3d764b0c496af8c05934260052560b673b451b43e8a250f7e6d7b0e7ec80f65e051ac26e615c7df90c4c6d3de16dc2ac3a657d8544bcf2ac05be4727777000d0b7f3be2f075d116ec44491259bd89f17cef74dcdf0050d53b89acc9050200e86513c1aa2f178e39bc7d5fc082c8b7f28660f18e8f119930284199faea2d075dbb23efaa4fe8af564883ab29a3085eb5d20fa25fa32cd26a9b95417c2026a07c05bd85bc9611b5a013626ac42e961ec75a0727e384a3953f045f50245a474a4c8112ceb3c306e2061495a981777966dbeeeedf50979d434c5e94dbdd8566877f3c27ad0f78914cbb049869780747d644bbeabd04cdddbf403e761ed0a02a137a710a4ad0a4392dc9aae4f6432c425f882dc1865b523eb1c995544e0e15fb2f64d5ce16d0673f5bc01a28f5e43120413cc4911c1c808f50460f2ff14e8cebbd95c00207301c6f94afedc8e8b4b0b2a9a08eb2b05e55d2980e1141796ddc08a6ff390d13af8d8571d6c9fe545d71fc6e63f1e13e70ca46af9b33dbbc207b339bd896bad2a47a139ce31c89a0ce12e01b27380549043436595872dd83091041e6d368e2038b3e358054d6c9409cb913f55a8f0edea37313e67a5f25040e383c871719e8d1a421e31046a38382c3cca4423da40d5ebae36d4c3d3b79a04724de7ac011688e74e55b0e2be4a0392c624e1b9f76aa7dad6a5d166396c73aa23dac62762a07d260949c35fae295d90835d4eb8cf5fec09e217e217e217c2dc415bbc16c7c55a0a4fac04c376d16ddf1fd01aa47183e0155b800f3d5c99b146b605693f10ce89984ed2f48923bce1cdc581e9024ae8090beb03465584a07b60c366f209f73925c3331ecae3c64257721d16540f1c1ab09fa07aa5cabaa92dc7595e6c0ec0a1856981c32e64febcfd625868b368bd7263293a3ce019e3afc22594c4418d6384bf070411120d3bcdea6b12d77f2e9ea665982cba2b42973342134c748cb862cfde3817d4116c1d60475019d94616f5fa930992c11a2a3c15bf31ae556be0285e4eca53821b0620963f88e5a36abee690bafa6f4511f4c522aac0f8c5773fb6c201d1aa703003fb9138ee4513e95038d7c4729995999e71f66ec027a1e96d8342e48806278ac45f18db28df93f46ef7777e58a17e62ca4b37739b41a6be33c546dc4c2fb30031b41a97334b094f1474820aba1457a60194c2aec949d7db9aec650f99f2939355197b5d8f5672f3374750b800a86a415cd50b0d9c9125b8060eb3567db7fbfd719c63fbf8eebe27a2746a4af98f930299d0c21695e7cf0a481cc9d6e31a8b06282291209a1c9fe211cc36325e115094816c928c6dd0661faba5a7852d871fb4a0bd633c6848eb9a6342085ddcbc8f504d887026ef28f493da729583ee049f20829b5abe4d710cb1fe00030601a134403c77040131432628c590b802ec79f41054eda20abab7e772d455c3de847e0c17a77da3166390018429be83a3d9deb515e40591b35f9850245cc3a3f636e9da58537c8852e2748935e69af5520624ed6ad2b502c42a030679787494641510286494e1e6a53b92fea550c8be00f1a39a0aade0ce757b89ce6949a88eb1036ee2dc332200cee247308bab9d2f74858a21161ebf62987b67b56c75cb11b90c6e0949ab54381165f1ce7cd8b3c23d95376e5c2e8c392a04e8ce267d02b0963e08d9ab1f214d7738219f91a31e1c6b110220631442ecaa9db18754e85a8277224f52cfa1c6b95c8e91ee5fb133703e9a27e1fe4541760993febcc025cae50a005640e1c3c2e65f2014c7104e89557292415070f94e018025d8832aa0561382a60d342d51e337dfe59bb1263e7a1c7e783a6fbef3530d1619fd6932f40cb9c1d46f05739227324a690f85a36fcc3c52ec61a21aadec71d9fa2c9812c0a6b34ac0d61fc8fe453c1857e6841026d8656cd88d05c37e025906da86c5c924c59f2435f61e56374791924e074ab0b0dee21b946bb285c5c7f870289f0053bf98300abe9176206e32a305045b979fda13971e6f04a2fb93dc81fc435d216112431d212b0011b934503753f600119a03e0b9633ed55687172f7152c99f12db2bb5888650b4c57f1f63e7f661639e52f7523e931312c04894ea2bf5527c0f43d0a0c95b4ab3f8c5e040daf9c2f47479252e54d0adc35506d359ebfcd1dea9bf1a5681b9b030164fa3a0c69264b81edb7e0338ad1739e7d7d17ca0e959108c10106c2f26f66b823c20e985bad72d756868c6508c2295b750722d4aa94ef66aa589b635643d066f88398c12df816e513ec10ffc891cf9c9bec592247096c49aff5b0e0a20bcb38caabc87eaa5dcadb75e2c8dd55dfcaa211d7b8a6e1577f22aee5bd46bd13a18ff5b0821f8107fd0dc531da02a0a0da7aa084fd802fe3f0aec4f455fb6cff658097fa18d44fc2f41b2f97a75a4da05ef752721e8d34e6c0a86c9c0b20e1e0b75a4dea5c02d023eeeb2b72fbd94dcc1bf8b6719163ff24528de5b719a1d80b4309451c4a387a687260f4f0f5dba911e525f34a7873a1e5cecde0e25ca815911dac0af8c15c4323d8e50f71c766e0b4ea6b8d1ec8de9fd57781b69a35187da7afa699325cf96b18d44276b434a20f481a6aba9949224923fbb9109864212851bafec5906da7f109916d604bd713ce169a9d59948aee1fc96cf795fdbf920a55bd56906c772dec7e6a129a09ac7db2c20a845f41e967b7ca363975447f61139a32f70263a2014b02db8e05f6d88c403173dbd9db9ef529ad9fe4f764f4f1745d406334781f72406cec0f7e6bcb1aa02cac706a7b2139c2dfdda065d7063ae4e56ed966aa82806957aa4fc4b425a12fe3259f90009008738028bc21e92ba5c07da0a8598fd97ec5fefaaf2851e96f6e5a29a10953d3ae68c80c62d021187347468250e9562c6971c036abc0df36fa2b3eb646c5efe3fd56ace01c5f3c414ab84c4b68d8eb4931110690ffd19af38e6563dd693e7aa25588eff0549d445991f73f2a030d351e03a4a141c73ee01c8c20765e1ddf1b03a5348d3e044c2eb258b77d51e48dd64dd68ea1f0dafc701863d5cf4e03730ddc88c493eb09977a0adf8eb3b462fd43216ec26484978c321510ce11c4c0e84a4259fa0dacd66ea42be2580b5f35ff43806ca91cddc8608ead2bf944edc97dd45a9b8e8d18a8f7528787dd6cd45c0e918ea9572c939556ba56212acb4ccbc930ba34227905b68541c00a9382266f240bc4f4a410e837913cae806cce133097ca24c7d4c6fa567a70ecbe1b786315d3f1b519afaf5a30fe46898e5912f005785deccaa01c0e0f058a534f3ffa9ba89ff5cd7993b3c0786b6cd047cd3787dfd3c816ba0125f517f2e416f2213a10e1e5edb500588b17a95c0f6cfd0a5c2dfd143e363d17d0aa8157419ab085c92c7cec9e80a21fc839f847bbcb92d22db651569cb89d46427218cb7f02f1d3f5808bde5251370400fdda66df2bcae8bf69a6321fd0335eeeac5360791317d9c1a29574b3868a742c90975cf892b148221711e7ee61cf118e01103e83e625848a11c47695729cec2c8e302264604515ae46538b4519e91ade358851363e3ce2fcb916414b9c4b7f3cb46c65f039d955ca3d05f13f955d69726240d58c8a10659fe96ef369342d4f8da094eb6e2bee78c7d520c188356e21d12743624b8ecc906308e4abd5f2861c8e70d8478ff25adc2fe66d022403e5b669e804ae27dd8aa5c98a01fd17d141b88ab78a0d2ac012e4129a4b8afd64a7354bc7d98bb815be1409dea6f30961629e118b8922b098718bb122ce184f062b772eeb1c2343604e6a0fb891332c90c0b1025b0f164bf92f34d69c6d6d0be1ff9adfa036429950b512d291a5ae9a8a3f0dad2ad425a2e6905bb62c77e07132d15be6d66f1fb0c81ef7f3df53a14de89770efc76d9e93248527cac4f2105c20652adb9a4c17e2f4f181e08d6bd880d8b43c8df7b9aeb8e01200540967087fa16d1ae030d42564ad60b155818acb6fc8d236640e502f1aaf151b55e41c2ff2b5ccbae3722723533a51f5317543f1a47b5144dd0d1202c0ad34ac7e9444d5bc854ced883500d87a8348dbfd811e639b7c78efeb7390472b97f1c48971ad81858cc90d798adf38674e3af48463c083b6710887c9caf79c9f3e9a5df485d5817ac980ac265c5dcd147ef950e81b27b4057f6e1e071705dd03ee310a3458ba7b7b828ae00eae7cbd4cc437b90caa2ecf5adbcd80e70332e5c1652c8827f8e409b085788f5d1257254a54a17f75bb196815bb87b204c508e05843366a3b1b3ac061e40f63671cd75d5d4aa67667a8c833a8d333174507182ae1cc18bd9e5befa6517f9d81503353429514362da872a068a1dc537374597d06114afe44bfa8f92aca620a2dfbc90486b1b6fb7c65dc33bdc237ce015399814ca5f80da6e7d44e36056cb554e0979139b6e2d789aa51a4528436e0e34c341253b962978f7400a973dca8dde7fd7b1176e210d21e0edf754c506d13434effb77daa3452fdafcb45d0809ef3f1c4c1e9b348483a95aab6451134023678d5e27d183e777e30b35bb1ad87c49790efb9f522197b2780e1e38676b8655629cbbaf3c133fa964661d141ccd56be151fcb72a4d6e9b90cce66dd430ebbc9924b739521db0285c0d92568432023e2d486e9dcb33e8ca88d5611bae6def4ae3b3056e9d5d068576bbf58739f81973267b6455d15e4d0daaab447236ae47fb50fddb1aacd20d4ee44201f22feb434945ca819740cf67c786356014b6ca0e7aab7bb78adbf75ab77f15a7feb56efe255f95c7f02f239dc40cee41507bf64fbbc49f762463b5115ce47830cf38e75cbbfc9bf65df0aeb6f1ca0495a40aae09f4d67c9aa239a4c87f73883c41ffb4f5df186430adac58f97e884f99996d35eb4924d75abcb7baba3aabacba935a8bd47b2860cd5cbd0edafbb7a243af532f4f551d8f04325fafb5ab4c5cdbd659efd7561ea9dc8ca86dc280dc97bec91f29e7b0f410087c73507830c8128ad05a05499fa4aa818d51691209825fa784dd7fb778c055a347fa7e1dd3e54eb947a354eed5001f281d708dda46a9b473ffd266a42146e1e847a6bd8e0c3b772de8b7fe7e82ce6aeb1d10f85cbae588b4af1a89aba88f450dd411c453650984e91c306f08c03d06aa1574687875432960e9751acfde244fb083b185ca2558a88a46b3eb922f0c07f3bc562848d91ef00974ddfe0a149c4779bb47c0ea89bad31749bdc846747a5b9c1e4ce939bb60a5bec788be859596804c6a7d2b847a8d2d6822ac006b4e7156cac44e1e442dcdb1470358803e729fcd2c59362c07b4f50b659030ec11bfbb2d1952968506af927034a1470b7f813d08a0921084af8308d5af2c56dc20442e532e1b40054b32e5ef1293023144c90c09d22a93523add06516143188410ea2deacb687f2dd78ad041ee91975b1f6518715cc9392b135e08f9a28308989aa5ac51b783ec6a199030698b9ae9a536f35c08ca03f2410acbf9fc486c4a00de75cabe35b4ac43d060d770603773ed7baa181caf7e691f2b18a0bf54df9fe045a6b8983ceb8a0378ced37c786a65f5f944a11a507bb8fa55d0d4264f84d572fbb152a136e597eca07a483eb56b3bab29316240c0bd72396774ec46518aab7c880582797eecd3f6fe7174c77897e64817d300009a44f2fa8559d04b190d154aa9dc8acf422fd954c0e3312e15326d26531ddb94fd4195125531045c26185c4bda9423e55a695d4962740c879d0953078a6854d8919a953a357c12e46daeb7a808bfc9fd939796080f9fd1e3175a1e1e2c1be20df7f0ee2a3af62f7ee9c385b89e57308e978cc0653c68f7b10b74300226524aa0d15a198213afd083d9baa0780e7bd6fdfc1b23862a6307c459723d0ab8d34be4010dfbaa1051cadadb19442b781a345621b92f780d883c13a968f9d5b8b0dd7c0be5ae89c145fbb3d60cdf71c95594d5dbfc99bd00a61b6f7efa2d4a86d9168fb8fc634fe1c9202b2a51a62178fde209c07cb5326e85c8f20a8cb1fb05e474049ad36a35c15597cec20b8baff37fbcfd6683b4a1fe5a1beb95450beb9aeefee3622bfe06f47ad02f56512ebdce2998740d66a8890ed0fe1ed3ddaf607b2eb6a3ddfa151c7160941968059b7b4284817088509fc00f4377cef796889130e727ce925caf723a44b38fc8610d7015252204d7c29bf0097454dd98ada49472e181a0028ea08a4b0f1ac2004c3e90a5ab4b1499d4383b7c0ded866f97d15e7d06c08f12cbadbfb81aaebd00c9335ef47cb30b06ce8cd7d9ce4d196be07161f7c28fca48aa12a970c6dc06923cb769b195a2fe87dc4591807b4a8f8c9aacd7ef1f663922c737cef9a12464cc5867fc753256649ad074a16233d129cdb63db6541602ed7a2ce3cf74b7a641953d738b2624800477737e6ed47fc13be1b3f471a91a99190a073043b1610c64318fe58ba51b6e4a4d548e17e84a8ebd289fb11de8b5aa19c1ff76311f16d9d32eec7ded28b2b13e94afbf1bb67723f18401c41e662604339d36c2ca6f9a9efaa5101972792bedb8a0e18dde7ba1fecd015a65542b54a9b1c416b848dd52288006ad18d54f931821d1e79a35292107f78cba5bbbd1f75205a2bcda2d791f821a14d26edfd40482480deef0757579152127dde139e20986420fb11fc71eb2e0181b9f0076b9a022f351a27c54efb811db24083c41fac19175b2b13142bf185a80d06aa6c1b82bfc852fc517a976c36e230d05069f1471a4aa7548e7c5eb8642247e1c55e05d72d260b8771c61fe55c55f36484ad60048613f2f0c90f05e5553dec5a70118dba73709a5c676381e79e651f12ec8cb77c096e9e00e45385b218c176d63bed7d65fd6be0bdae485495f01f04e7c0e18a9989b1eae5f2f9f5c451d68e754ddac3a9165ddfd96d7e7b105e10a8df4e77c704c60f24673ac5782f1deb7906602366c2f0958c24a0cfb8eb50b074b2d67035b293b523598d4e65fc5b80293eae2c96099a93e55b63a722c35b6c9fde5db360a75aa8e61084a5b16544278453f94d5243b987efe4bb9bb78713dafbecc89fce10b0989c745bd381d4d454f95b7a8ee7c95134d022d9387e71fcd5a523527316983dd9b2b8a872e6655f1f898ebc48d036c3ff6d683627ea03dd07f59eb98c752e740ba3ac43b8ffd15ef253eed0c7a8060dc3b7d5fc90bb1c48aeb3cba6d86994e6474ecd31723221d64956889811f3e6f424d29a8e6881a305bbf114e88c66e05e35397ae940fcd1701102a6ee45c5c91d50e1c25b4501751215efb7664e097206c936ef8a1197582742f62d0cd058e5693a8182eb4c8357760c9c1a1fd270d0c6511953b73b0a72bd3cb5bac10edd462f3a1da3fb66400eacfdb6c52f2524f2208321882a57bf4ca0d4c4dcca134fbb49fcf4357aa28548670affc2a690305b84530a3003ba4900ce5c7f103cb7bc1ecb2eec19675d898d75a1b1295f1f6f09da32fd193222f7a880e36da3315ebac976a36ab410acc3fc91aa5f0ff1e90118da8074f7ab30190fe3e6da75c3a0dd9b78a046962d7676eded5cb1c20eefe5699f13f8d6c14479286ccb38ce7f4ec1a19a10b7a2c28d187648b98a4c30c5a6261e0284b996874e4a3c125ab3aa6e7e58fbb33432ae01881cb51378ee539f2f70893d056d71c51a1219e73174120b75023988d873c2807cc6491b826d6420a4649e8fe2fc551f5c037a5e5568aba3814ef317bcad2a321a067017b7cd90c94e1976711ba957e730adda51df6e1254982216ea622183160437055d7178e93be7d2829f96de170966655c35392c6c6e28e22a27d5f1fbffde559aac05c8efea121b2cb00744030c86f0d0c9b216797a66ae19d251d7089d9e74b1dd64ad70d9eadded42e6b9c3344c3f7d04f8ecb0837fc505cf9464f95fcd698288d9d55900753b266079354d0016f7402550a8be5f8cbfc934a739fec75badcab6234f83c908058733f0f1d9ecad86d8d57f1afa950867d4753e9b245d94404e048d5e68c111d9616fa1165a25b42cd22a946a0850223f983a61c206b4e307356273d4a1b1ca138fae2e5a8f2815e188752fe2db74607fa1fb6b1671724d2515f630495a0d90aaae32515a5786d47215bc955271f31ec6d9319bb66b21701c65b0b89da54041f5572b29ac4bf2f5690376b19fd5fb31ebf92c05b5127af19b7c908b3f334ec2693f918a6c65b0f3495f865641a40e8f05169d12c17a14ec7cf22f1d1810244c9405f03756cc8c73121943ec7c6644304ecf0089fed2fd8d26483dd355da7aceb82011d1861b27f77e90d37e4727bb752eebcd009e293cf2f1b5bc03b18a48ab31bc33b11cac35c190f10a479b2f93ab2d01e072d975833e25b7f88510e7e9b26ea012a60f614d38191332c641b56ea8cebbe9938a255ceba415112ac365c78597c0c5e9f749d835bbe61d7a270faa1eff732f7a2fd106c654814d7195d73701506bc4a08e7028cf28248cb22336d583d5b3d0827a4879328a186ca78dd5c31416f2a5e32c31d1c7210ae146884659ae5978debcbfaacfa117dac0ccbc20bf741a8f9c59e0d58175f05003592c91263b68e64430e2abec3cd8943eb54720a9d8ffd7ff25559d8e70b1b70444961e72f878468270e7a996883515c941b534ebd27e9ecdf2df2a4f9ea7220cb58914935e6600cecba08679f45c949e973e75a1ada0a4c030c53964639bb1cb50bd10b9358d8bce88f8f78dda8afc965869e8b1011115bd578f864586c69d8806e973647c065d781a04914c8a3b2d1c7dd2b4261d7a54793ed08d33aa439cdf3f46af31607a2985e8b71d59586fb9d04027e2fd872485cd2998cd5aac5fbffaba592f01db1e6f8d08018bc0ffbabb0abc4cd81e8f59a75dddbaee1c164ed2f4995fdd2a5ac6bdb167263a9851b3ea5e8ca38547f5d540592467eb0f93c09d841365334529e807a815161ca1665dd06e910c4e044880a4df8896edcc200f4c545fffff737afb43acf684c637e5302f84fae3e326beaa3e1cf240e0ca8112e48d32f06fbc80aa455eba3d1d48220abfc9526c780985b199136091f6c40eb996ef32a1bf0c1f9b34e9a6133851b5aadfaa5780fb4b6923ac5de58578817d983b500d858609253bb055688e23dbf166b3953d8cdd066aff754191b1aca520f698371fdb5497ec60a805d20c3104ec5d0ef05b82d011606c15519c36cb2b50c4074b6c6cf37cbfaeae4665b00821e20001733ebd552711abab510623510118dcbd00b7f1fe458d1877aa2ef4156d622bbb8bc9bfa5973aaa292b7e60916c4cf0eaf086c55246b5634d53626b87908163d22d09af5cf31456a773657119f4d97bba4d17db9b80e3ad29043515d302ac9c92e27abfe4c006745cd0727ea1a29565aeaa36cd82f32746d63e82661e1b3263d028e2c50cb0d95701ea5800a59184590afc94943c98df7499b96292e01d04864d970ff136b80b5a096e743b04a8fa549d4e968a2e23e140bf3c44cc7b57a12f100b49080d7570b4b292d64bce3437566546c01bc7705bfc7ee6e64a7b63782760c38a46a58472dc9c38606c67b3fc5ee726fe86090cac595484fd42decad6cfdcec2b6c7100167ca1bbd8e0434719312880e2c2b80c61214011604117fc6ac01d9010cf40f9e49db2749b0707c6cce73f117a2b5baccfabc5e4af09e21510e89c4c8e04d07b3ba4f4c4801e8984059d21be766b5f9363fa221913e4bfb1218bea7d48be5c825998cb3018af231d1ebea0a3aef33f92790db620e6f79d05851ef33fedea3f75e4b26164a7e204c6000c6ab6df9883e20d7505e4aefbd14b2292fa189d2329a0b1b05f58a1b802e87b18bb215664ec3a5615c6a1b7234b45bfe15c4d0c73b3ceca019dd5755774e06ea5e4adba58ff6332c02940d2021c9d9326622a5f42909fedb7a080c032073c402b26b52ef26bba4d7c3b216d399cca0175ebdd1594a8722178be8f31d41524789b6cc312b2e352e19ec4c26a1f01a6573ed004b6d1e005cf6391812362ac67596946c0bbfdd1a880b4d99ca2d61508ac45e3fc4b860364d648ab23e415ffc6518c85310caf4c31c622bbd4a818cbd7097905715ce235e083375f7d2b1e8185116d8c947dffc1075176b559c3fbe1f9853f687a7739d239f1ccd512677f32e0d1877f2e09daad2f7f4a47829652b5ad34dff1e8e0ccdcd48c0819e11e4261d97017cb1befecf86bdf8a247daddd1efd67860a7f4ee07e2b02ba4d0fb39050a96953c4677f2bdcd2a4a1e5be12915fc298aba5e63e422e402934a28a7e9512ccc4b9cac3a0139855272a168324dad7e607f4bbc50b6641cde413584d770e9dc552ec059448cf3f8bf5654635ef1980c4051cde738aabd5ec3f1b270e1d8db42090826ad1386c2441515e5102eec2ecbe1afbc9074f8012bacbc794c3c47cfcb8d795f947a98af397d2e2c34318f3fb3f6c741b4230586234ec28e0b016947c60277b02545514a577587424f3d6600797195c1ca0635480929fb333424a4e53f0a47fb27ccf42f4733aa33436f1147eb55cc38db46b3005a6b8db080e9d48b30075c47bb402658ad00cf2fa1cf7c7e97df93ebe93af7942303349c356dec5c7e8ddc7448fd11d372fac2971f0618aa23e37b3f9e16682825aff94a82e17f23639904852ae12403c19f15cae0d2987eec1cbcd24493440ca88d2982cc272ef9493a25af4078f5be6eaf31ad8ef88461720b90f9b3add48d8a27a303f5c10601b86b90e90ea5e04fc7fafd8359a5c5cda1769e17e6aff03342b30f7f75f65266ea481428095e7ed2b79a21fbbd7888b0e49460a5ce5a40819523616c0743d7b5a748625e681ae2031f230e1fea138700bb139ac44c1eb278f1a42608c2aa68c750e11d07bb93a2edc7ff2584e4bc91fe5ade7490ef36047ac82e3088deefa092dc0850fd4575b14a096b2e2b4a518e9f48198bcb677699cce906fc91b110b02e9fddca59cbc61436711f98fa09ca6d4a6853be0f788505c0d101a88229e30cc110466f3a8a293aef5100a812b548a5f6c86ec63a57430b57a953cb73fe428767333be89f1564d25663d855af421f8dccf4ae1403e10c30fb6864b6dfa308f9d484e9b1ce848201a0b2065b44bcc498b931c281d148a5e08e61ff1670fccb113da00c37e7cab8f761ff2a490ae825ccd4e48d35b8a6086d5e1658fba135324df8f3a096744c41d9cff19dc0bb4816ab0ce849d20f53e93628084d88f4059f096cd45b04eb07065a192212581d2993c9b76823879914ebd57edc48507823d58cb88fafaf51d004ee42f71ed4438a03d7922afb0927195e17392ee2b46eae1a50e64198a6788d0fe66323458928804321b05dedb4e84ac874b1e8dc6314a02b2cf59061606ed603c7513537c9681e2a27af813032e45eb1bbd7949f9c2d46468b1945af2affbef15362cbd5914e71fed2fb239a9dc8019e26d2c36226429fc22316d80863ea9ae5122d6aeeadb6509e0160d0a5ce7ec75d477300493b928b3524490472200c475c8fc10378e3a4935c419e2d68dcb15826e742c3ecfe34df4a2648b251d607fad8c1e8be10c35ba9e6668fad0bfd118e732f364adfd59e0bcce6c45cc4b745cae4a77403f51fa85a602d20d1903afa2367e3771f5996e0007e200e53319ca6a38f55e574a171139272b611198089f054fe9e269a2481361a45f4d7f73295da8203c80c019d513607ea50a0ea072587cceba8162ef56ef02bd4ef2a5a1b137bbdaec791ab7a821c46b29ce0d4664866171f870e6660498e9787387a431eb6af2952e237899695c240ef4fe691b7cee7ba288feecffc12bcff441986b041a87664cb022f2160c07b9788408ec9ffc8112ae454cf012901ba25a5c16e5e12513714e6edbe7ab28721da36f91724ddc0496761d241e7ae0568f1a589513388116315e2ebc6a12d8472ecfdc0100ce2b9062cbd0d5a1ac952a614f120594671407afa206a742be647a2c0e708b78291d95396c944b1e9c066f7c581cd7a3d2bbcd27364711eafdc18df9510dedcbb3aa257b4dc791c84f65879e54a4c2ea99a09d8c6a64394a072676f723cfa9094a662c85ca7028506f07e350b11f66a5938b058abc96c6185dc405ff120cbe93fb7f8720a4b09806af45998c058805609da22973bcada7c16d7208b35726dca868b1c27bd762d5af2aedbb19ca28ad83732fbf037f12faac4e2646cb5e80e796442620702d365f784a52c9409c29ba1f4c397ddb445fdd3b51a38e5f0c5c0bf167bcb04e608504016319fc003c0a8438a4791194ebafa47829358ea64dd5923c9499b7255355739ca54848f23d5f0b4a062fb7c0d26a72ea990a84153f4e896530299602db2802d6c58269caef0f6e501b449e29a2b1c82208cdddd9b3e3b576d1b855981f2b4a054042c7aed635a0acc46242480b892558ef225f777b45329fcbd03c596d9291d01dc0a3f95e95b8bd1d481864556ecf6807c66499dd50371ca9b6359b6282b89dbdd61a6f2d74b2e74e26dba9d901a34432e1ff466f28fbdf33b947de7928d6f2d7f4da93cde38b8d3d3ef6f8705b4ae2c5cd1f973c6a24b31d8f7006e9005557b9412ec0768492e6bf6dd34bba67c940f2479f55409777a237dc2e318b3703c00cc5e59d35afc0b9ddff7b38fc4e2610dfebf3d85cf1afb91ad9e2aae727b2704c1017479c9cc78dd9cb05c9fa07380f9ebd56ef1161558ce952a55a1998aa2db0e09261f3c02ac8ea66bef615180a66e55d1558441e664cf6fef3b9f45172bf789c0ed7e4139c6fa97caa7c546ee50890da0eea391d112dbc838aa1e8e6a35e9e62ca29a6bce92e9474c99f2a3d4eebb3b20dea4cc444c37c4ea56891f5673fbf0e2460278c12fa29bdd5f3925a60b30efb50931e6aac14b3ad0284b47247f550c56201998ba5075a2162001d4c45d5ed6b0998607a60aea8f06b09107c50105d57b0aa184251ff5a82f6fcfc47a3ccd712786932867de833d3f47bc29e3b389661c06daca4acf2b22bcf4d780d2fdfffb1691ed01157d3341c21298ae1c3ab86dbda84212a5bf4da06ae1e15c88e3f01d6d789ee462464b3d9b2a22d83f64e0c8e2743f1543c94c53290de513620f6602ec8007a1a58a0c93a2bafc6b963822d1d967399c22adec6531bfaf0ab41fdf4fa2b24e02de198318e8430e40bf3083a956e30f2118441f120670eb0e652a5de2e6b3a4d9dc6a3550a242f9bb88b8b918ad682abe273ef6480e1524eeb2c82964bc494c9ac9e3437b9c49922a82af0a661520dcf1a48372999dbd5a21cd3fd2fce99b37dbab9808f4cf71e8ec915fe8f1fc30032f70a9c3e2d7194a9343c1801b6b98dac9e8d83d578b467ff6342729ccbaa04550276ecee22a42ac02b10edec7f71a92bd2dd75f9ee1dbea799ce277c34ee23ad580f2d5b154a5323f5b2f176d7ff91e7a1316044c1e6049b589531a026a0111b0df5de9983cd6863b2f649fee8c4104f02b27dd04d3cc3ed3434a6f07acce85f78195fc3a892c2415c3ebe9b70762f45a4721367fb0fc3f11d833b04153235026d1ada201c8e008a82801a53b0168d3306b40bcc764a64f5c7873e1409917d714a89a71b7991ac3ff7613e37eea435162601d135e5158fcfb93ff8cc5af0f87726b13eef007f1c6b07fadfcb9a8e900796169b121f63edb7fb576e29a594329d0186018f015c19db1a7c3bb33094dbf48cda999d553b4bcd17fc3a8f18b9b22c5b16556347cb8673e373338ba2223e0763515374b95e2f18ece52516db78878c936d4c6e5bf3b39e271b94ec394dd5c48797cb8ddfe59b7fbb5a325193081980c8010a244c08420951b399d4e06db8837c8c351eb19db5bc912736ecf6f698c1aed7949e4a8bba400f3258ccc486103bdb60bc984ffd71126c39ad52565b96a6b4a87c61ae89ca28edc2eaac7e4eb1aba669dbb6e915162b6eda5962889b76a9cf996ddb72ce7a253fa3593871d3ad6dcf9212b36e2911356dcb7952f5754dd38c6d4a8e3654c87d82f1f0690dd8cc86b3060cc686735b17ac6fe45d6fa718b382fd6091654b6be5aab183f5a21f6c1e3831c1a3e49e1866abe6040c7ab5c8720421cbf1928222e76c0282b7d95346030f0778301532c8688061f332a927bc296321893d4e980332bccf4b7bca7438b1bb3d6534947b04b515b6890e6fde4487379eeae70a131d9ebd678215479d60ced0de332b9dd76a1ac7736f9ae83d02acf8088ebf1f8fc7e3f1780ec0e7b98ada79ce402dc99e53cf760ec45b265f86f53e6d6029128944229148d40ac3300cc330748d46a3d168341abd4824128944229160a552a9542a95ce92124bc7cfbc984c2693c9643a4b4a346562f3845bcd9309fbc1841143647ec0e74a12fddaf8237a737165bd652e7d99f4e5d1976136c40fbffcb221bee8cb2e1be2835f0e7db9e45a2c475a94e8783551a2e36b5813153ab6f7d61b0a43a110088260e82c314450bbdc8b4210044522915e113dd42c9c0866982dd22d256248e7990d35b79a267c728fb91c73cc68434565e574a6729120f469c3d6a6e22d4330b8a7e47d8d62dfb2966c5a6c9edcc7ec6bd7dac378f7da552e28220f5d3fa4552e57dfc8db5ee434668f76765b37c6a25e1cbb383e865994c8f1f18b45e9e36a61f0b98dd67b4c5a148de1d7c618b7363e2e37c6ac8da90cb76cfcebb2a8baaaacfbda18df978df1956d4c497ccf96b2d409fc27168bd50e3f831ff2e2bb2ebeb2f3562af47802b1abafd0a38d6d4c408bd5c617f9b8990df1f55759166561ec4c66515c8b2b6d888f07d0630aa4c753881e41167ab5f2760a448f27100c9f8a784fbf1b1482eea364f78d56a92cb0a17da73bb0a1bd0633a678810ded6dcc9822e733a6b8e93e52b2fb1439d6d64d69495725abac9c775fa7017d83eefbcc67a3eefbce47611b0d503ae768958a738ea62e1b5acae99cf3572a728033e84e91c31a7435049792b15cb717847062846dda5388265634e5c6dff027730fc8e2148e304cb6f79cebb5ace16b6bcd536c07e6d6dcace16b2b9d27b3e677e4ce64be910e000af964f1f9f914e073c58a55b65c2fd8cbc7b58e3b8d2b3b23dfe6b2618be4237da32ffc441ff885be6943907c82f1003e3d8aaec717a0c70f017af45ae871db5ce9a4d14351a8a4b519496fb30cb3b93264a6c5a2f447203d7a5ea83f1f913ea8a70d3f5a9b85b4367371cd3863b9cc2def73f014db625b6c8b6d74f3bccfc1aa27bdf4b537d8c63b6c7c189f888888c84f9fd65a8b5c3337b7c7ecc183c70eed5a9d266db6f1274cc6d666254c0cbef6a392b9455be16796c6e748121212294227d12d25e2c8c191911116500cc146418a21bd724911d42c9c38b20a8542a1502814628120088220182f681ad630d6b0a6610d630d34af1d34350553d452f01473a84045bc4fc1c781b5080a88f757d75a59b89eae8220d3f402b6c7cd00d7e996fba7d51e3b9d79d2838c4159d98b0f4c698f19b5368554bd9b08ee879e5e990f19f63d482a0130c563df6d5f6ec7be35ef29f301c3b69fd67e6e22f0e6898b4b5d98e0e04d198fd936a92f557c6f4f43d3d5554b5b5fb6b64c5ebc8dae4c5ebc69c35a5fd5555d154673d01874a3427088f59435755889539c439031a85044756dd00a2481fd8c295a3d6d48c3be05abe9ae07a13128ddf314e34d1164c1851fa538c5182890e0038e127290e214a738d2d5cc8e10eb7c8a9a8ff3cd6974efe894cebb6f748a0b8af729a668de9d06774fa770525c5038e79ed25d03a2df5c45d47c207afa4ee79d06d1775711559b7334886ad0049a738ea239e7946a14ee9d5671ce5dd55db309609a542e289e73b4ca656c81731a7489196ef02045c6bd7bf4c9869d0f44ffcd07a25a0314ce3ddb67c6143bf768956a72f4b4a18a784e476f9ef62a02db39ef7c3c4960c3139637451b04122590e2e6dd55c42e8493a87305b631460e8dc84892643873156870301c120b43a1811487c4492a1f13c0428fcae1a9a6e62032841842082122221248202291042222b2d2011c7d804697d24133cd010fd3fee09125c7c66f32c189f0602a96295731237ea2fd68063e5d7e553913c195328d84267c7c99f57c50e4fbb23406ef36051ca7bac1c64f77ee02363eb1625a8b6e7cfb819f7299c4d684c0afa4ff30c34167309b2e53f205d90946d851a8c4217cd6db7265aa1c193a94dcb8ea5477a080b7b487a97e15ec2e11e5a143a12ee46127b4027734e84a0bb61d43adec6aadc3e420e8d1583f528f811fc99061635d42e3bae136e824e65d93bbf6a8fa5fa6d9f644516e6c12357126fc463bde54bf0f9b6030e721040f77198acfd7ca427769bf1d45320ad77207051e143c2be7d1f02e8d30d76e52174388860015ea34e6ab563fba12580031a88b13c072814f5f76f13a94734f0b5a1962d857f440b879b44f188b7a89e889b141adb25dc48b70d95b676cc9d3f5a045df3097df511c1f41ec71ced8221e837a47295af19e7954cdd5812a1f7a9d242e7fa1d6c57dab89b47196bcf2b2107c1b8a92e443389f0503e0258ce37b21a4731950ccdfdfdce160294ed502f7fffd30f8904789089c70255e65c4da713edf694d4a3d317ac097d73ccbdcfe642ad922b73c2c19194965bf76e722559682a3d3eee48f5680e6b123a6877d3e59a2248ac0401d1617edfe24e7451c86cbfae0eb39b9bab8ee481766412d5bab085f697b97dd33a6588431540cb80ba169ad726c420924f585ca8d96c8f3931d6533f8638326e7ed51c0ba921559658d4b4ab8c8adad185d7624517090dbea6f4e94fd95ee570f037863d124da9c4903a8d6e3009e911a0b768d47ca0bb36e6865d77c5f18d165087dfdda598304a4e8e1d08a1aceec52f8c14022bdc35d26fa04e8d3e213d750dfe4165fd12e5a59b862683930cea44b3b5f289ab449aaa3802486560c8aae5d563a041c8f5a9cba44869163ecb797332105567edb690db42fefb79c86a9b7a91ec7c8dfc07b8e65a49ebcc56cf52017747e067b017dc4050c51609a6eb7276838571ffcb1e1bc3a5c2d2f0cf20b5895f81b035838df74bb8f7b15185aecfb73e28bad89bfbdf3b285c749fd27326a4a598c5f0fcd3e8012ee3e0cf06309c709d2c0bff8f2b816a03c0578b60b2afcb3d175334eb354f2e7f588fb6793fc1f4fd354b85acd483100705bf0e7ac24d226ff4b7c15de31c54a71666ef67af90af6a208c66abce518cc1659ff0937bb682f71fce0d4be608d0d286445b067f3e9ff58bcc047391833d690669b273f586e34bb084c056ad4cd169feec457d286cc8534947f6664b1b73abfe24a134337269debd2803e41233a7c7511dc56c02805e557bb65550515146c173d0edfd9dd272753219c250e2fbeaba7a7b30af3a1c63be9b1661c9c4031bcba55d25a4c4d19a885a1197a9eb70b568e9372c76f08f02b129b29e577ca27ef1970c919840b937a34a57380b278add86200ef77818d920314d60d7e41ca19f090e05f050d188381f9f277f3b130ed4ae3cde029a2354e93780f11ca4d7b72534f63809dd5453a1e0f0dc7297e0a7153f6e469e2b455f6fe4b1b99d63ed45fb92644e7a7f7f6ad7edb5df366b92709eed62b237423dc880f537f1f2d87d0d62843e9c6b9729240cf21dc37dcff9f16ad79f2aded9e576380dd75b4322d2afe4d9dd476d53885179f49f9d88a7074a5709b17fa86f34ca805ea2da0fb0cfb580430f87668ccaa373f0882951e40602ad304d251d97ee024323f820cd52fe42fd1765ec2ae99382dc50d740feca849812ed4419b34237789789b47b3ef17fe38391f93df92ac339d45685f6576560011bf278b8b80eda5a703821d924ae34bce08ef695f4f75016e7a95ad14d9c5d72304832a987a857dbe6799b3305622ca40346350b880cc9922c42cc2cc52200c095fc6b9c7050d1e7ea5fc053bca08a6c98a3b27bf69d4a4f535ffa04e48b01c61f960d3905508cea2987a4aa40ee09d49b1f74a499e003bb362eb91969e00f706c5de23253903f78caaa5475a7202ec9b2a6baf84e40cd833d4762f49291c8e0b91f1c2c482896165e92a5dda39efafc25b9b2e00d339e01874492c834474ab10955f0a734d4e472a5e85cbcc4f4e5a26ef8c0c8d7d334dde1815dee4441d92ea796813c6a885ff4849a805a77e20e97947527824018b46d9bd1eda193d27359f83ef1bbdb62d0f79aaed9d92d91b0658e0405ad75fdfbe8129c8c9247f927090cf9c08ed32c5a43b6b840f2c6449974dde7e9f9424cfb904424435c942b3bf48e6e2678698cff4b29e12fd21aadbe86246c60595d8b44610216efd2f1302575d90b9dc805f296f844030c185d4ed26cdf034d2b781964795a46df75723283bde97cf734661340ec12fd2ad0d4e76a39e6ecd2d19ac9500a0c2d75f12d6654b7f27166664afb9bed8c056c93a4c0d38a1e52bb07511f344e6005af270e53ca67176bbf02bd6516416ba89b97c4d04c5d14652f3774107b0af4facec2a274098eaa69b6580ad34af510403b82b6d2ef4cf5fe4ee3576dcfd9462fe2f520371e16d56c7f9e1dc673adb97cb71ec6f987da2eeebb33ab792575fd1418e6383220d2d9d3ca5ce4d13cfb878b0e23819602c0406868b01c410982fd793114f8d12a3ea7331595bbfe2f282daa623164874760f4e879885950580ac2d02c60142eec49d78c84949f3a514344928c6daf12fad476bd4afe686c0c5efae581dda71f58f6443b07b01ee062e9d3c11f1ae17aebc3cd20524d5d3bbfb1bb31357b26d1317e5703033b1444456231dd41001ce26a283c5175b21e9e44c216dc2989fc952e67449586d88a661c2b75a9555b06cb28afea4e6dbb39f499d40e1aa0d39ab9af8430f4df3209138256fd8f38e38985d92270c0eb4a4bdf48c5a44299461367c19e12ba70d130fa66649a79f01f9d456e71488a8a5904debe1e318bfd1ce386801b99f038a4c90ad2aff9b16fe764cb4a9b8c3a0db94c0646eae860e1c90b341bd273baab98e929f62a0128c9f3c218b6b6a5558ca032497046aa7b1c93742f2c9e8b4f23134f29bf1131f6b53d59e0d8079e070cd7b7d917f85a94689af04799e84a13476e072e73d395e4663be105481700e43f69a67cb27465ffea3c7106ae045e374b838c7703d59ef33e0ca353f989b5fe751552cb9a8b52729a7f56d4d900ae023fe275d80222414866a54f61273bd881eb19aa566d261dcb78b67e859c68ea932f64ab1abc6ba9aa37afc18721d90e89699c7092b26717b4dfd03e0134a445c4e11b3840f398f23f6dce0f5a9048e880b6cfd3a065d002f1ad030007fa771945d518693318361e102c3c524dc904859a47e6156305759936ddfab382fb299218e47383309d7c4119628e15c7ced3fa862602a4b0c599c8f7ed4301fc4615af91cce08c08b97c4de7d05fc390878da435c1077288648e48c7200b5c53be6f2e8b63384531374051944b4ca1c0f5116fbcac2e972ae28fa68edd845fdc35b52302832399e395908684ba2949b76c2eb9b3505fcd50859feeeb570420ee6af0dccefe0cfde43836dbe2459e925324d3f797f714f95386aea5f9e92f615ceefcb218addb784fac562b41a1587858cc3fd77e875f9c49204cb6da4a3e8131c853598830d8b9166412efe7f446b2407ac00f9bf6ee21bf25d9112d4152ce88601ac080b44aedfd49ca0766fd67ba5b47aa026fc3b3ff69eb2f0cc4283cb411f9f127c4dd0c56189c01862812c977b09e9ff7c44156a6adaf6e0e4d088eb16f62739ec9e0ddaa8ae18d6c1daecc8bd41357a12a2fde41462930ef1109ffdd503bc68fe4e3bf1c7411fd3efbc721f5f10bdc738bb888acfcc624931c821909e3767f8ce35f9fda6941269b72511e0ebd0ab666d5fac1414d83d0a861ae18cad6116828615216789df924fa5bc6e73ea4d0ea2e754f4c1cb7e49359c4feb940f851b834c1608d43201ea4159455820caca9a0e1ba5f3560159326d4f5767388b19f79d2cd9f6e35933147634041fe5b07462cfddcf10b34cdfe8b74bc14642a33b8fd34075d127df86caa303b874ef0d3d627317897fca23d976d82bff36da64ef2db79452a6e503dd030504bdcae665b5cc296932fc588675d16ccfeccc3dd884d5768cb5aceaa2197e5ad5a8ddf54591f4fb39f417252b9a6df1359a75afeef05a4d8b1aeb9db25f73d521b8cee3572d73c2bb7e2f67576d6341c277ed54b7fdfae248fef82279ca464d243efe10449dcb69dd5163ad6d4831e758ec87ac57f7283eec6531f25f31f245ed54af2ecaef346d97d0f2b2cb1f424daebd2f237b39dbf5c37a15c8a89d5cd7ab7fb88cfc5146eaa2d91ef5ccce6a768b81335036c63628773ffcfce1d9cbd959a3755f1b04ff7d2f36fe6bd1fbf8af7da71a15d6da4370e7c757e4179798b24334fc9cf844e6fed93fcfbb4534fc14d72f750e7ffeaa73a5dd7ea2e5873122fce5db2feb6662cccef19c5d3e0e62bf7c8f0d9d4ed5a98eafd16a632194fe4ebd9c7df5bf1ec782e42ff58d05095da3f5cc9111897f5fd4399cf18f5eedd56d73285d05fc62972d7e7efc6390892bd8dd8b669bb6471a4254ccdefd7cce368d7cf3e7a0125a76cd55ccb120f8c70f6344f9451ad76aa7ba43bc6942554c8f0de55a752ee322fce3e71851fed1a96e51e7d3a9ee3017a67563fd935d08320185b6b176aafbda6a84d594d676ab2657369a63d5a4cbc6d2b23d7845c546736e187ea973610f2db70d227675758560dbdfaa3162d0300dbff8e189473cbe781f5f4ddbd87736fe7ca227ec5cefa758ebe8c244b1f310edecfc341b34db21ececaad1eaebe56c27bc43edce93e21d6a346aa315ad7ff73d73f97d631772c25b260b693a3ae8053adc98a84cfcf0b54cd445b38b67b4d04c9915054b4d306b2a88c515c48aa26756b762db87591cb516bc1af3034c10cb89201655108b09ac2b276882595db607b3ae04afd804cb4c0966a909665d05b384d0d1858e10ccb68fb1b674b1acdb71998364ac60d01cc398d9997badb50baa0bc131698263b4ae6318f95d8a8dab1613dcd6633fc40fafb6fd183ab6896d45c730b236a3a856ca3b4455cd73e936a857429414324fe26cc1e2822a86dafd1292b06040104e387101091e6a368883d2b7e372742159adfa82d27574c0f4a01830bb3e8a471be441315f767d588c2b644fa75ef562a72c486d8f155ded1886897b587cc686f0dfd3be91142a1b24c3fac77dfffbf51a49a1b233df1ebb4fba90ec7edd5793ae53ebe72c1299db3f675114f3db1dc306f9f0ce5feb967cfac61de21d863a868709b37d34b32bb6b37b55f6ea8e398ffd1416c280d9d918c4c0151b1db77db7b3aaef39bafd1805c2afe1c710678c2f7e28840c5fc7e2987af2e1f71072714c55d92076f8281471a19ac302f993e70d0be43f9e3f16c881fcf349b3e3e70871d45ab575abb418460c3b437b4a361a6514c58c51142da328413bf31d1ce366dbd38364acb69194a85a9f6a016f4f9806c2be848a4155890f659fc84bc7748fbb130a6131310c764abd1e3624e4a585dc9dd08a299ef585bb23ea9cf8c05aab5b2c50f84256cc51e7f23b151b6ff99d8b15f914453c8088b6fe93fdacf1fd27fcb5ea05db118972bc386cad9e504e28e71414acab7a3c9e54f578ecdc7ddfb59e50fa8b380c432cf6ae6e9c626105b407dc56e7aabd38cc5bdcf98a5787d26badb5d65a6b1dff1c358ae617df9e65e94b5f4eafb33763e7ecfbaeba07eccdd856a7778bef4478875e634162bd5bb3ee01f7a873f8ed875714c59cc31063f4ee7bf3388ea708c4bfe7dbb70d6f3063e2f0313e7d8ce015fac0788b18146200600197d8cfb8d586879f29f7519d1dda7baf947d2fbeb78dd4bee5bef7debcc5050776b87d8b8b2d22ac46ec61164b196c2033068b015272a8dd1f2f0e11825748f1802c2a208044edbeb4c0ca67ca0a7c19b7b8000303dfabb37d8b8b17766cfb16174d36aa83c76cb149b3c5c68cd59847fc636779ecbaf1f363f7ecbadd626315c266bcb1d66eb1f1b2b3c5660418e7ed5b6cdc845655f69ddaf70937db1f7f8182cbf647a3767d224dce75171a925d7dba7f3df3fb59e4fe0ea47ed66894eceaa27baf6bcf1f76e14229def8c51810fcfeb49bcb1890faf75f312068d4ce75875a46c3b2faf887ace6ea4edbf58beadb0fb3947feae8c20c67e463d9f54b43c71c90209b6d8354d46d6735bf2c7c14ef7cd250ed5163b559f8cb6a15c6e2283f6b335a393f398e2f8ee357b1e2f187ad5a56d7ab6ac68c01ab5657c1346c2a17942a5ba884086306cd1536c88df8e3d5be2f92e4d7ed632c8ed26ae3aff5c96b49f26b26eb93a26bbbad76f928dee3f8e254152abe25c71fc717c9d77fb5bbc785cdd0f9d951002246744aa65ed0d2c56e3060c8908aca5e356a50f22df9f97da3e3dbdcf844aec2fdac01f2f3cfb844a336c72b23c23b3fde59a3503bd4572a66c538ce6c48968f6343a585bd1e2d7fb45646da4a9241f0db51a3331c5ebb61c47f9a0dbae2cbb22cdb17bf14ad78ca44f1452bde9cf84251cc5cc62e343efed085c8fa7a323ff9f5445f9ab4358b39ac8f99b0daf9432fdb8366ae6c016c0f96f1626b716da1ed412dab5de6b84e5af77d520ccf146f3c66d8a3e2932fe6d79362769e5a5e27bcf1c780849fc33c54d1fbf965e1fb1385f9148772b6513b6ba72351db378e11d5cfb9fab2f16769dd55cb465d34dbf9b39ee9d749963417f2e547c39f8561fe5396bfe630a7bd9c5d9d8766673ebe5096341b84daa76d7961fbf6ed84d4c6e3a3372cf15f1c1b7a7d19133fc59bbcf87e79f1254fd8e3d850acb2d93059d16c8fafb3f7b50808a99daa6c1c1f253ffc4ad6f797d59fd59bb5db28580d9728dd85023cbf5bfae4307fb93be93c37431d9ff4d7e43bc2e9d25f93cfe708a7f369da1de151d2b4c3e978764978bbdcae89e7469051500e253c3f9fdf0e674382a4e3f1521fa6a6f4d7e47bf74ae5a57bb572f714dcc45d927848b7241b3d403d3f3c39807e9604af5664551ddcddc84d3cfacfd77384d3b95b71f724376f959fafe7a63bb2a53e1e13017a7e7a6cf0242de17e46471ddc72369d3b06ee7e73f3d6f8f97a82803ab021f9fdf410c046cf0fcfef86e4674362b4c3f19052dc918f120e20a023a0a320a41c4a483a6ee8b0c1c3c3f5fc6ea9cd87d4f3e44b7fb823379f0fef88cf86d4e3733be2e3dd8ef8dc9678487ca494fc58359ee2744cbf3792da8c54e0a64d72f709dcb456ee3a9b136fe9e633ed022c15778fe1a65de2fe81925bd20ee7bbfd76b89dffe166bfbbe97ec7df8e3e49d7c443f2fb1d77efc0bdee4c9bc3774f3f0f5d70b7c0dd2350b96e4838ddcf867bdd31eb1924dfad4967737a233edf9091dfd97ec77b233b33269b2fc9ae494828d535fd6e0630f249379d4e94c0dd4671f7196ed69dfbcfd7932e29a5bcdd27e1927ec976f3a5bf3fb2c33de97cb7a45dd3df90a4bfbb2149f23e9ecf77fb9ded936e3b5f537af3a5bbdbd24dc7b484fb1467f3a57f64874b53db928fa7f4b6eaee32dc6b16ee2e73d3d1f8cfd7736487f3a5bf2f5e8170771a6e3a93bbc7dcf41adc9d02373d4ad24d87b329fdef963e1dfd2bf17ec7c3a5b67ff2f1966e4b3f5f8fdb99bb5fe0a6fbf8f97a906e4e46496c3e1f24dfcf0789a7d3d97c9e7c36df114ee7ee30dcf499bb27e1e9947c3727de3fa538241b930dc9ddc3ebeed8dd61ee6ed326de936d041fcfe71b12801b2da55b49496dbf35a46895e558b3e793fa044f41a9ff44488b69bf2cbdd65a6bad97acf5dede256dce3ec618638c31be18e3a820a446c34b92797c9124f9fa1aeadcebed9318638c31c638bcb7de7bbe5e1fbe488dbef0ebef935f9640a730cd6fc7cfe3fd507c0c046eb43e89af46f35f7ce6acee0137a973e1978f350a44a136265120d1dd63d4beff3ac3300ab8712ed4bd6bdfeb3bb985990b1f0f6ded45e5787100814cecdf67521f3fb08a88f8af074e41f91a13f2c7770d7cf2b550039990e167cd24ffa8a17cedbea899641dfa33c97557ba0efa33d8af3ac21f2dec553ed40b18558341950fac2272bf6a60fdfb405b96afafc02a22b12f353066de9d107ff84258ccbf3b216ad684ac98e2ad53e4d7138a09ec9cba5a0a7fd5534decc3fec9d7ac96c23f05d34fbe06c5e43ea9a5b06e622d1493fb302d75ffc260679588bfe2dafdfa50f8eda770bf3eb04a084c036bede2f79a65e1bed4859d6509f87e05523514eceb3f590d554504a68d4051b143f22c35b07c5257a9bb133e90fcbb13be10044cb106d352af57540d583e0c13893d7ea8d7630dbc5f1f88030af0d14585766d28e24cd3e35249c1a373a548f92852c0027028e3e482cb4435fb278e3c70b313e39ae00133cb9b0868813d00763dc86272b1020b186cec547cdf4c8d35e60d274cd1b86e96b24303d600d1430b0d37568b0b388d30020e5c7c986aac993759804f70c1c1c78e3416882e4f2c31a408077cb082c666a962cb0f6866a8f123a46557b852410a2058720e99e2ca2a5d7d5696334594d810c68e00850b0432dae85d05186b230834450c21820511595f6c055d2441836f02576a284255b96cc872c48d28744cc9804bddc0d68f1a86c0b2c588035aaa181938f8526404336cf1a14aa51a03340489315612f0c1941ac313159ec4a04216248e98aa49be104913812729662401d6226d48254bbe40e59ca4b52681a50960a1614d121174750328ea07926830b99045528dc5000447bb41e601148a789b300908c017b55e006820e2c12662c606d0d8e11685fb105eb66e39a68ca9eae2c325b00592046c688579b3c10e875243900d349041831ebae14b4d309183cb0e584821a1f9102a4c3ac85a92451126f71c5633642d212352e083bb0056e0a143891755c829f75ba5440b24a88e1cd675c5155a36988ebbb2b4f4e0eaf261892064a0508505379a9b2e2c53c05c913c2150aed474310163c59814030c1a5aa4e94282d3c20f6d9a78062440d345a4838e0e16dc2f86335a5d3d698a986138188007f9aa2b06161e5524616649145598385f6079c9c0849b0d1b408089334594918d1745e45090fb12274c057c3039804a972c65a8e2e4e0450e4665a0a45055b8c4a172c31443d42084154250d112279de28b243a4c3b4c86a81227052b2438990283053430614a1c1e64c07419b961c4cf90a93819b4706414ea80224801c679fdf04355171dbaa48448e1ac0141155e38600b035c68a083d3c404765042216604451749702c1005954e07eac886a92270b638205743d60532206385081c274848e163031a67b02c30029cdcd418ad2998488287073ee008e921c791371c00f5d0801d7080d6dc785d91c101951537e0c8b63c298335431133b8a1c1710da44e94c8800521313a5c1d78c14a16bc1c05b812e4022e258e30ab04017973001c31b8786061c7044f090022eb041897150a5c11c1d043c990a52eccb5240b2d3a09061f90a2041797ed013d2a2a553790f9c10dd78f33251499d9308186266ab8682e98a951f54214d78e345c308838000c6b76ce09189a375d7425e1818b0830688268bd41b303531c196268482203eeee71aede18d1011a65ee073486a690a0e668f73a42559a3ac1bd26d171afbe18ac964fb3a424db027666b725decfe887ebd9991d35fd8c926e39a41b12a49e7467abf6cd114b8610210a81c887510844438c50d840fe03107e67b6bbe97a949a8e94e89892f8af69877372771f37472afce741f874675bea49faf97a76bc23365f92cfd3915b6af3a53f1fa45b5207a94e291c220223346bb2dcecb6402385468c084c00336b73fb628d8c2b137e56485d4424d8513b9342002808d2a94a42c98b063df4764dc810cc2923c28e29b72524890928f06921f8440d3e22ceb4a0c2951e6075b724605143837b0301a22c0083e5058a3018cd78a64c08d46090a6f1c9a120079c3b0516b2470610aacf0872b1e0f1851b287098618b5d8e2d928a406b5477fc019ea5ad8213aa352bb83b064fdaf08c206104773fdd1cab8da753327ac225f92c35ed6e3e1ed2cf7f00c2db52dd2de9f6423f9befdc1d016e8a4f9efa7847b6ecc65de66e813b917b6880d0878c0a280080bb4fe0a6bbe7b8bb046e7bdc5d0537c33066ae9131f017fa25ed9a7847afc4fbb489f7bcd4e8831dfff3f5fcd8e8b1118836a884acf1649a24c59052ea0cc8000000003314000030180c098643e1501c4b8255501f14000baba84a68489b49398ec58c32040c000040000010400400db00de2a147f5d6c17349daa17f845907265e773cee6ea9fc1e7c9c9c5cd99c38c65a8cb936a791f31869476bd252b6cfdf59d18f0a38c5cdc7939dcb3f838e67879b272fb67e072cde3ece7e0e5cacee79495cb27995c69b95052f4e1c71fa6a3dba606562634eace3769eddc1bf3bb0ed323710717d5a8b439bd9d70a1b610edc44b89cbee67dd6fb33ba56f98c9487a0be6846e2523bf487be1bfe364b63bb55933110b15ee7f96ae9bc2f7d7854e16f34ab43937f59079bf9c88bb3e4d9dff10c7a2504b6f842d6eb6e8edb642c605c4a88b054708a881283fddf566d23ccaff15adc855681dabdee0facdb35ef28e80da59d725b6e754dd7d87adcaaf98ddd92d2bbee633328d7cfae9f0aba775ac0f2b8e8a96acfcf5024c2a33d110687d78fe5886cb7fa4763de9ff9d723df4beb38b18c4dbcaf0835b1d16d20b08e176c3faba8af1af61090127e8702ef50fefd9870dddee69f91d73cb13aaa417265ea06f83c4d7548323c25f90777b098dbb64efe7ebedaa2a8c36bfa3619bf1ed97f67d7b067d4cf78de453edd50bda18d479226ec98840f7a78af03e21311d2c1b92dfb474a4980d0948518949df85b1ec0bbd385eb0dbcf9fd8d89f97962425c5faa9a3d49d0813ecda72392cb6469e150b1ab7467f7f93346a363987544abeadd91b7869b70f558bd06cc340deb450f3ad39a3b7535770c7770155d2eddd2f51c8d30f685e0723079b74c3188e3c7efe792e01794abaf8e7690baf1f13ef17ad4c1a35219e189a957c8ea43f8f5efdebfcad0585020c7e0c8ccece4ea08dfbfe790cf8c2b4d10925628973ca30b346dc5d4b6e36a7e749c9dc104af05ba33b89594db0272e4c580397130383352c0849f86af0abee16925bd0639c841276f882dc5b05a1bbd888b36592d61c6151830bc49db637023417180539e01a1cb81e4647d85d926d0a34573bf47e5075ac03eba8c327dad16c4823e563b16e0d0f1405a7e22eaf8d712dc855f613f997f994362b2c9603fea09001a7379fec90f0a9c21cd994f3ccc75887d5f787923041540e397b3f3fd3eca073f0bf984b039d90e95cd66e29268906569c68e50889fb043c34bd936bac943256a5c665b28fe4f444fc846d85259f1b183691d6807d895eb483ff58a7ee32f224e31ec6a0f1666b5c3937574d0467560abe0285dc1b0a007ce4dcdeb1d7a9f59169034dad75f70056945488bd61b5706c8d09c973cc032a7c7e90d408a639cfada8d9db84ceb8cae2222a84012111927444a41f150648e19083d4162c36608159579dd0ec5bcc1dcfafdc67b19f5426813f375ff8d8c549b21490ab46f004d4ece5843565618323938f3d231ce193431d2b8fc36804e4d40a8b6a11a81dc724b211b4ebf423f83718e650fcaec116306095b489d6fe19b1a62d00b81bb55f904ab7e4eae4f83e51045d8f5a31dfdf42400da22816da45bb34d850fe954fa94b47c29ea8583828754951a6030dd30add52ebc4e2b8c91d19de660d9b98c90d51f58265401ab0ffd3098724acb5a76b54d9ff8d1f79c3e2265ae92c5817363ce2985cd960ead8295ab1bd86b4936729802cd51b66d8154ab44b1d39e9c7b38bb49fd1b0c076ca22b0c02a782f1d0efac3ce6b2b3a44901b60054e6f88b5d62031ff0b953fc24c816f0abe509e4106b17f11a2c0250ebc4cfc6861736723f2da7618fdd498bba491670a68cc5ffe0ab22be8a2e725917082733d3d61f73251cd687baf19543d81f93e5ecabb2a4a009a47a06a326f77a2067a4a2af22a2c48070bb3876bfd019b265366c334dd14396d655a65ecac0419f98684f528b39a917e779cf5945869ccc9ee1d00e01467f81afe51a74435b0cf52c00691f4a93c5d53bf445f61d421b1db3fa6bcc4b43dc174b47d587bac004cf43c2d287f75a3c02fcf84985e7b17c99016d7ec3123be42ea68e7b1e65f0baa026afe80a047edd695028acf732b18e5363a9d014f8dfe31e3b0437c6edbcd3c7d4889bc0e83e21c2e3786fb8141d3342a6bce27a32ed52e934d98101f7919f9fb6ac116685ce0b05d91abfadc19a8e3a3cb0aa5ee524ac5f2c635915843065081d8e146f98a148f09c183a328650f85699b3064bd1659ba52d3509e6cb5f38514696dce7e1c195728b24e98b63da09ef81982adcd16dacee8c3806962b0f301d568921e7d8fd95a4404b4f59822b68e1df730cc4d84fe8110b06e80335668cee5c5ac0e342308749f0b1aba6840ffdda0969d78b55ed888dd108f94c73a544ff3080a4d5bd38596aa0954971ea8eee01e9a853b6fa045a3a992717544bcc556d1d2df0fad245c067a7fe5e8933edb6a76a1f9bd09d802810a9c5dd2671737babafe86bc03450739a1c5b396087f4272b3d01fb7ebe4e51398a1795cdf1d98d8c8eadaba3b67033bdba5d721069ce0044dcb3afb2c588cbc6f8f63e5be8464e376a4098481992fe95ca9bcd1dd3833ba50d0219b359451680e43967d2be85e0b3eec0e20198c87b1b855f58e7202fdef9adc18973b5d521858a8ec2949b855bf8d94405c80a43fdb953ae35720fd434a3849e2a43382074e947c9a564d884d561dc074aedbfb6ddd4f8621ad9ba90f3c0af668e5134283eba9d0fd790b1bedd1f86ec86a6bd722e770bead203b8784e0088dea44070f55e47d0a58649c02021d63aadd2f72069e63a2bdbcc2191adace1630f07f4a40dce77a394fda9a34ddd3176b4c680c0cff2b4e8d27b0aaa22ebf9fa7fe62fa3fa2f98533cf425e00139d32bbbb6eff043ff2bd4bde199bb198bdeef224735bfb849d49bf05f5872ce05d95d2c42ec2026c666091cee0eeee10f89c918b20891f6a30110d834d59997912771bf76503de0faa1bb8b30e57245623878dbae081bac7085c8c02abe73df3b3317f0ef3f473737f09ff388ab6fda9522c6e36cae8a50dad1c42046d5495c09f19204c14d409868997d35b1367812e1cc7aaea57f9a6abd0ac86f518c8ced31ef76b2cb0fc9455bc3148f138b9ff749231de7727c462573e7c2c791f2e1b5d8b186ef600f2a8248d11202441953dcbb450bb3c2ff1f90ab31a50fa9e28a2e5559c00c92b8ad216532756c8a451a9d261f4a60900675f4d781c1aff8d6c8bbfe1c3d36f867846eff9f69545ae211e195ec5e42a9d1353cbbd57610458aa0df98088bc312c968adc1658c3ca8504923bf68206fd33543c685c4995f1f0d370cc1f7da68298e0792df2d035073f86e262eb286cd5d28da0aa4bb7380c73f6e60c533d86a04b979b7a069b2e3c03ed2a7476be0739c00f61fc18ae7d6cdf99c0d3a1ebcdf6457bdcd3e7a6d2f930539520e136cbd9739891fc9a885e363f152ffe333e047fc2f0869bde8ff3e4d87696b836806254f1b4047c1a94841ed9bf1ab26111b0da8e2fc5eb59f8fc453a841cd018e730cdc0fcb2e65d59c6c9db576cbf90a6eec732c459d35dda020bfa45d21f5259d685ae21b764b5ef93c38b4cc1f43992621f76c92901312f4522d345a97e686cf9fa86d9e1f693a73100643e6850dd65a3a0b988e61fedd7d94ac614d2235f68f915b5ff5f48806db30c4af8c28671a4f1508230c290a6344c14a2839c0b25c1f120d44d4aa05d34ec0ee53327f4638c265ed8db93c6690446b705ee626d9d98be774183ed776353269b93cf6fe2096aacee2fbe56786e70ba028cdbd0290222094050d004c997787624480401a67fc4505034ec604ac10a9429436fcb3a30bf70fc31ae61886f28fe4ede38c005cb933ac1b020d074ab7884181b471a42625665d2212a7ff47685779f8d9eaf523e293abcda53fb7240a2c7137155ccdbb57edadb8180eff7d61d510b55d4b1846d8de335f8ee989e2330976ff9e0202ce6a486ceb9d9e999934259933a342a146c1a3a86f946bafb640f255d25fe1ce284d92c4d2d58634535d1aeaadbde73f02f20809c86525e944ba4d7e1832947760cecf4dfa09b3a171447b9463408a990d92d61c01c14a7d8a925207308ca0b4bf7ee894ca1ff03a182dd8c1b2a5add19ca942e7d382316ac6cc7d58f1590c00bf029e722d42d734e6fbf4305fc9ec29bf8dd8c6c5d32e37af5b882da3e9121133071604706bd9c21fb6204acbf598403f73b11a6b60ea7e75d263752c5bf2613a7da0f9b0c3a7dec79b294c7ca345ab2dd5d082c0d287d858affa4ec945f034c5da43694d791553e60cbcf22eb6e20632ae769e3ef6c13b30ff5a41137ea4a0f735bf2ee5b478eaafe91103878e24b359e8c31b11dc340c9832733a2a8a843b285fd34381d469998ceb08661e945d4037ee5b6a466909a6c0369a3167c0bfd52e10525b2fafea64fadd1910d33cb4866195815a863257660dca1a063da3b9ea977be6118a5b1ebf90e1594ffe2f61e8f32e382fb44ca866264221c83456ecc285cdd9ed0c0f703a1154a2f871d7039818f1bb6fd8e075696b4612a574648764b1b75459ae882a32fec7a028302f8b08b4214b528a8221f785ca9005ba52e73bb9b1188957518075d7dc14f4696af9a0e0a33913acbe137046d214848306c487d6344505dade2d1d7d378c7f26f840f252f2be91be43c904fff3c99e040fb155eb81c3b13f152c006e20732a052af7d27539acc6a36fb19a041e8685c800b742a97ba6850696bfbe6fce20c245f9a35b68dd77f4a800db9df36debcb5cdb84e7bca760be05ab711e16fd6655a490dc14b89b18d5960042caea7b760cd00eda8246110d175c70e18ec8d156b1dff57836c2d1d0cc9b71d4ae2cb0097e244bf577754f663fdac97e61853c51ba1b6a8eb295ea2382376170c82b392f874ce7798d0005e2d80f4633e5063f31416b3a625cf9e8461b9c7a5dee492433461372993645db948f3ef7384dc0c6c850385a31607661dc32bfe6b763621c63b1ad9fea1602c635737bee94fe388c440626be819a9d8e0a0cdd8d591162b8a542a980d52df0e5168c2def0c1e08b3eb02657f8b7537543e3668dc662cc2cc377c25aba1626ad16202f49e09301d1d152069bd8d9ec55e32f482b3a880ae4492b32ddd4655ba761814a8574cd604cf2811f4e94421e0dac4c8f327c0ab39a7ae2e216bf92076cd9035256c6c286550230fa438d9d0d2b21eafa0e869fee779bdca942b5bbb612d480cd46b2a4456fb330607182686110acd9f11e080f348221aaa2638857f38031f9b2ef2cdf010ccc5aa8ad5c5a66bf2636fba6f3440ae024b5830ccba9b802fb33e029bebb623c911e03e33bc1c315c3675bca02f4061d9bb686b20d9cd754e4c365108982f16c9593197ede07437e2f4cda97791fb41cc6d7722d413e00e40d12b5b39305f1b432e0768bfcbd2691694d016e5706492214e32058371a0a51d7b3a364d183736932365a825c5e818069b3a86d90d189039a68aa019ee86778e6803accc0852aead049adba72ecc607edc1a4060fdc478c497bc3a86f3250daf5040a3f88652cad8ebd234adf79c16758a7607044266432acb5e382ee008a54d0bb89491a75e83bc93e4c7d5aacd20545c4c162d3b304f16a78245822bb768c62e729d278aeeab1229bd02ba4e8c0a6d2e51be5d8db278781d92b5fa7232f3031d76ebedc7a5e13a004f34062a6f1c5713e7c8b1dd27ad34a75819fab23cfe6f71cd971819f678323fa22997b13f9300a4c78cd92488bc60b5e82b179cf63881a76091004d31028592219a5f5aee34958462186ad7284c726ed64f8ddc0ea444f4e8321f8d58e2e4502cf22478e5930a22983552a82c066334fb81c27ba9c8261bd4da35906149c0b12b3ab60e62e5175c2487f51bf388f74fe97000692b75bf8fcfc1fdfbab6fbf2c00f23938e62b5ab0e3a111fa5427c27f4676e304aabbd12e263b405daae8dcaed165558697ae87d66e02ac2e9c17d8004a3e4c00882333c55589e0ac79fdbc97f0d0ae48a9ac8c6c26a21d5bfac1977901a7e7ab127d3e5eb5ef2785d1e4c3f991a37a36caaadeee511f080546918f9a431d7432a3ad517d33d7d045d0af80758baeb6f32a1e9816bf18d3e9339a1c85956ff7d0839170165f1137712fc81e3acdfa3982c7ef4f388889de74ecb1f84261d4222d3dbac4272634ca0dc82c4949034e001471d78209112c783e03c71e0ee2496d6e7740b3900961b55078fc8feb0c124a04ae47d0d518de835b4eebf0d70bc619360f6e2127923bba7f84696824308aba261a4dc175b54f1dbffcfbdfb080e003f4b20dbffbfe882947b9e591f9c9c7ef3aa96aa210c3d403f96dec2da0c4a0cce5574f43a07f443463437949ac371b807353e5a413d5856502d72e4d8bcdbe391866416a6c61d3366a52c6a6acb4d0aea7d99904b655a4a304ce87ae906b33401f8c632ff7ff61f0ad9609c4d29a2101e2db99e0e7baec9dd8d0a04a7c67416ed41908f34b9057f1a8a6f05dc6c4792226dfa3b3471947a358e24797a887e20aefd97655c5b22528ef9f11825f02a70e3245d294b4abdd78884716127f9fff6439a07f7f81d3f2ac9cd182b5682aa3fc50aeb11bf382d83bb19c2ff321e8ae0d2de3e659e86bfb2c033090ee1a4b77cf24206b1057ddbff8cd8cb571684a195ca80a5d49992216423d1a30a8f30ff966e5d0c0068b5a9769e6e10dcdd5d9bfdad41176d38bfebe0f2f9a76dae22638d57c8cd927598cbef168b9f6814544102c495fa9e3fc916b7636710e2c6334ae376079495624ab52a6a9f46360b232123a1c32946e9cd5e27599d01e139fa070af1b093deafce945a18008f34c57a6ed505abc87fcb3f7c97c5804618b3f3b0481f1ca21b17d4c1f08c2ebe5e0c7062bbc97e4269d462f6c9c13b0ebf9fe1aff144cee899f89e412c0ace8e4a030b4f7b975a44e3c5ef3fd280b85013fab7625801ad5f72e45c36cb8532e66b3fa0ceb98d9fc9ef5eba049f204de5a0a633f43c83b220763d569a64f7c8447ad09b71a759d97a59fa19c514c15e67f541171547f9e1ba4fc5fc91a18c15cf14b134981d8841e884c306ac43301e005f8c66061718f8215ca3b99784929215b81678c4aee9084463ac52c4705d4d949ff12e7486dd8ad0f5acd4458dcb66223ef2dd84c030e8abadfe0db40e9c2c47526067a1197182501743fc886a04625c03035c295e072aa3f5f29b3a10a8dd264c58a2a598a743e6a79390738c28bfd1588c0354734c49c4d544467113bd6d360901a02eb46d1e9631ab570629ed3ac84706d15ea05f63a1a4e12d6ee862feae842c4f5dc42f5fb551feca29c327a202b8cf2e7e5e9ec56650f599a8553955b3fa59a0b78a2ace80c09c130dc5a4897319dfdf05e3a7756fe5358a469323712ba02c69bd7016b3aa16373ffa4da0e3fad7a73822123cc1653d5f24e121e592ef9ee50d7c6a77e3a38abcf6b3173b275b0d90a206a6d88036570d0eb4035d89209875e4ea3f7e8e50f058090a9a6d490b0b83f11d3573d4512cb3ac1ab22935b9ceabd733ad9fffa8f8ccfcdc0a38124ccbed2b0cfb1792617b65d00ad4ed06de8a8c9b2d2c10c8950effffffffffff395002b5bd6f43f66664362144ee4d29315769ddb2efbb829e136afbf61342a44c294a2e7a2f992e4efcd33ae1336702792541981c1726188e880dd46b4010e720f2246152c74418ce8d93cb10d393d15cca806b49baf4801ac8119e8144002bc0802988cbc91dce6683de170f1c8e459694dff045865f7903f450b6b6fcdc150a3918c8c6ed0e81c1c23db63c0c5a142c3741d71b0a4000b34dfaf2744461785b0b34fdf013c67bb43838833b31994a1a15b740b72b8b9ab50137827500172b34c03014d9124219f0e9335189804b0dfa95f1c899350c25464b96426b85f74d92f042554bbe519c9a7725a24086955a7255a1d63e0ef1d5cf9550e4a006d8fdb05a7f3cc5a4d3fddcddc17274291c0b1e566fea579e37158647f6f307d8af9073c36d72e4f8368021afb2046048a794e4233f66bc184181c143cae12fb1600a2d6909846d04ca13f420a3ee2d94517d5611ff4400fcbccd1c042eead72e6f53f0c3ed54d8c8882ed17dae4169dc801919ef7a42613d0bdeb8dcdb98a71084e06d6529e6be889572d48f15df3488932be9d586e7c8c5795703a0e04b64337ccc944cc276488cbc02525a56a334f667b000e11faa0bf302a096858cf97945430bf9969c3e3f65d3fa755d5647b266c04f70cd39952597b06623e4db2005b9dd81180e8840258cc8cc0ec7c3a5cc042409fb1afa110680e3c7b365d8850fd149f1845e80c16948f47d7115908745b9f5897a380a4e09b3f1ac41bd3091030fac62ed8eb0c0833518d41a0ac22d6a10df5296713ac9b44f622010c615088c8b69b209f760a5c65f5839e6580d4eb84ba9139692aac44b807528bbe843e5216088e1eba3047e42069f1f5f3d7818b8d4fec2af5e3ed747e5dfbc8ae42966f87a2d5c18e039053c28f7f7299f0814282cb6c9ca2301afe05442de4f52a216e6b16a806b16368443eeec7a234ba0780a4a121e581b2c5762abbc144051cf030c8e67800341fe5282753f4ce7ebe190e757f511fd52a1f39df850e2a70e75f9547329b0d9fbf698cd9bbf672a79965a2d7ccf4ca03f84e087b00fa85d38d698e250902a41eea0912a612523179e0d8400425972c917d3805070089c120712a252eef0e3c69fdae1e55b426a3e8ed30fff636b7d18507b3ceb32ae43c2c6c2ace0f8317d7664497394bc0f5671399512d42124a084cf38d8e239802c7a2d013e799a2f5d7c8d9846d924921a33e3aacdc7d111c2a2507cc1c5bf38c33dd6ea230401101c8188cc37b90124d8a24be053f8c1e5d73f15bec69e1857d9107f40169067554af27a9660f85673ba930294f00193843b3122c3db4a64dea702162ed60093378901230fa375ca75813a4e21cec24b3a2d641b2ddcfc9dbc0cc33713159c485d96a030156f7ed4a01b4330c266b89d404b9c0c9ca19ce4d501434171c917317a84e1dc9af55848d47935157a3c8a2166ded11ce4c7f2c53a123f406e4b97ce5da0f87a370e5a9cc0cff003359acfd492b9040821301210451fce409587653efe139504788e9a01ec22025a3082a68cf594d81016d3e003630992091faa12c4795190158c922b8e8b190123b305499d8c4980472334e5bbe4c1c8b2649cfa4038a0b8dda7359755ecd01f89a0e13fc84266e1a04bdf69949a5fd1f6c447e948859d8469f440e41c722b3a647d23456570813929de8eba0993d588e57a857ebcae0e3ebe48c040700b092a5fa94794a18bb7106ea2e543be356a134e312789555160f46f08b1fa58b634bdda06340f72c8c15720e087a3785aba2546507c5112608ee74580ecaac9ea67313f0ca7088a37b143489edb12ec699d95fa3b9d38bd1b94cf489240f8606fb69e4884471815b119413327bf7e57004f3954b12e5ff11b24a493e7e4432ca1344cb34ffd072316825516f4f8b6384119aec8817f04a15e4962cf033a900a13c3c1f60478f939053b26dec68880fb5210e8647900b0180e0e3cc621575f8798a6ef9583585ec0d7ea6b1031733b497f3e0c2b4a3f83cf03fc928ae446559ce412599478afce277f4468cba338e3ca7f7d622444f5208557194bcb2060247a4684c07c98b4032e4865f363500ebd2a23135c0ade8c87f3b597d1f885ef2124477e3d6cefcb0f9dc3d823e9252448e0a7fa807a3c77ad9c0e8f2e0e2477f9409f10fd204cb7dece401b9ef28b573625cc7bb6489910adc98e3703aa4216d26280af69ab1304962958866229533e21c0959fc838d9c550e419d4109613cc0af0374cc5c1ba2274f11f8d26fc69b6c9e38201fb4372763c8e49aa0c88278efbf2e229b78c06f80f1e8572023d52ff27d29f4c4487762abb96643c529664a11c1a1f4789e23a34facdea9c72546d7ce53c2a5e650a444809b16c11ef9cb0f0938959cf6648581e2be68f27eb90432886e7017d1df8ba2a729ed626ff48a5503e090e0f03ba02e2e5a8d9e14213527ceed6acc7c268816fe01201f3a1fbe2c33628370209e4bafcb0e500679fb008360f329216a49cca0b0f38c78ab2df35a92d18884aac3762a134a6b661d42348e6200853543c8a11b98f448c8c67dab205f391a1793d522afe922e06fea64b94df0994f473f25ee5187740bcdf92079eb384cfdfa500e18b489478b6ca5adea50293239951e35b57addc488409d81484344765670b8b88da735b63720433bde88173681d6ca083d363a07226c88315199eb06bd3b70160c805a9a8940f7041e1426a5470be0163beca51be021fc91f7e02f14b2024dccdc5067ce86cc9870270c7956922385f133d7faad2951786c50176047a3c14a8351e63accc5b34183280530970a2475af224d40ee631ac93100329bc2cc2cca120310d89d782acd90585e6253492e442268c27a665bc14a1a08761200f9b5050c37b803acb598ca4f1320f367d29c05a7febd28b27b1117230367ce058ae12f98f3e7c79d314bb07956be15d2526fd6761f45f32e0f0542bd0b20f4d059e871d35411a5812b99142bd5c16a8551903285ec1bb27fae5e2b8ca423abde112597ea8ac30c3c5b03af3296838f9904b507e83da9b1f16e8529e619e7d9cb54639071e3c6774a10b5602a6cd9b792881393d387b58ef9cf38122f248467fd80f8d5dae440d014f1048cb5b89d2e02f0413604e2f3404532c0090536c411bf22ac18601805290e5fcfc5bdae44538e34dbf84e182cc2729f0737dc0f3124dcc385faf11efc2061d777096209720c1f7444e51720bd3cdd7f06280857c40fede14e05d09793f06a14b9f805480cf7e1df0823b69fc421c311955a91edf08cc13dc97e1ffaecd13262749c1606c29c802c210b103361c19c2f009be44a34970cf924e4e006448466445cbef22960b13238ef9093fb88fb4a6ced79d0bb2812e647ee39389df4363e0675906ef146192f779f23a2033ef87a8c1ca4838babc0a0f3cf88d5d130754a6ea2d252bf92c372826ca78df2d968accc584832510e88551cdc9f5ba6669c8a7f4985f47892a4804908097b3c02448c715f106e4c6fcd530d88f0852cb17e818e3c677828d1b4af98ea21cae30c7cd1bca0b8299203a73498238bd015fc11ed46be78d50b1723aa858bc1b527d5f845008cc86aff8182ed49bac115c6b1821ab29e2273770d001f700c1058b41906938076bc4e32d7031a236aabec08a40b8930c00ef6724ef7d9132e2589098c027522c3fcdc7763f3f4ddc572d58580b242b6e82889a4c07869f47599504330206c85f2d85e4021410b8813a5af01754cc4372120bfbf232c2c1e4bdc09c88b1c0af4615710b2690b01355be70a03a3e8eacd3811d8d3883f35a91f90e6e10e125aaa66c29277a3cb219798d3bc8e38c04f914b4383da819585cca0f7a2281c2ecc54c3ca70d6cfe510b29fec2d20ee784a2e8a2e0b4c16a7078f80a15aae42a6dfc0f6c40e2a8e400f02968aa6032be226521a32c3f9743cadb907224e3e191e807e50a3254c5a2ee6fadd9f0193288c06d7a19b13aec8b4761e51e670125773122896b22d3c51d104bf2702326f99eb2354f306495a32af286dbb28c721e2c78e4134e9e3c9981073ea5918acf21e40de60563d4c7e0610ab75a76bd9e90576e854a4ceea220c9904de4036bf0041854b20281b3b9456c78a50fae2ca098670b756e18139c62b84c08256ff5284bd674c0df14c5ca8352bcf8dddd13ace042814ff12953aef04596fb19affc9e3dc3dcc8a2520e0b01a90ff221530e44a3e43854f5c017321c1fc2b04aeee60dd2ad449a80954a80e107893060242e1664116c0686464cd53d9c03c3844644a039b13612dfa74d11ccc6834f3651c48fbf2af384dde42cf050707afda816849e0e31ce0332c4e7e32a01703fb4023c95dcc2cb9c8ae21e06e0f982156dbfa7c8e2d9b029735a1ec4f816b7f07e676af8b24f8a7f5a1a1f53c6d1fba1c9655e8c78f92dbf1cf81b9cf95c9f8a0cc9021cf95c066a8da5bdc1c823eeeae0bf3640de844585f97e20790c2347ee9417c4e39018935f5998e3647438e05d41d45cd61b267c02069b9b4935c1cd41863e8310b7272b735fe5738793e6e6b760fa9c3c34c45104bcbc09303e3898212d190f9e491f0116aca018175f9ecf82272180330f3ec48a5030882be95b1c0c5c8e2e539f4b07599e518998a7a416bd05b41caf2a4de90e94999e921b5eb88300509e2429e601f1c8f0c0291a322099494f66402a2fc3858d531a40c4f70207fd8d1e3e32145917fecca63738809c3dfc8a881e6103335f5fa9895eb02524e0df0684f94287c6601f51f2b20d18b172b20da9bc64d126f7139e9813804caf2054275f2948f84b828860334e8ede60cfdad73852f698aef8a7211bf6667038709d003ad71158ecddb422f300aa68fa641a12df0710c8ab6aa0c21fa06bf01900293807132238d48d3338c51c5e4234af82fc234d7d82090c41c0248225106a69d1036349d116dc62a0c827f89528c39051c2038c59e00b1c85f213b830e4be5fd837fde97b34c2260e4013a8d72ae6be411d27b96c55ad77350003e6f2e6ca078411e4188075f9287c77594983b787e1772abb783205d380e226279862c59dd4b125f4250a4636d3a706ff15098583a4ca64367752c704c808ab5db0f04aac78ca246c45f10922b2603f882c781186a32761c6d297725b3d1bb13ca784a605b34043baa21cb7b01f10a55e915d10ec0670e4243e39c0ca50113c970010f80f31341fe65291fc229011eeb3c0e48b9d60bc92720c3665cac907f64a245c3d3cc12546d4fd0c458f300b4a6dfe65c5b82464f1257c01f22e4005f85353aa389a247932273cc9af4289cd9f6a30e0fdb496aff3d0c6a5b46a81c78cacbe8989bc0c2bc51f7fe0e34276028b89af7a2cf21a2305dea28230cf9103cf8b4a3aee00a1015eb1a72b686a0889ec66d826fc85098c1fd62213faf0805f49ec56b0c0b295afc205cb9954e07315909a1fc391c02da871e3c545169e08c0947b29385e061422cf63623c093278301f49a39c9030b92fd6268fb37aa07aa7bb315ea401816c8005026f6486f2520a14e0c021918474aa6ce0000c52e02c2310e0011742e52a687ab0d08f4c30d04030a335d2f05c2afd2f8fc8c231a094705c0a3e652844415e8917d24b90f8f3c0867a1e782ac5a790d3271b6a34c2b18ce9e3b0a0c4722286dcb1e039e2a86afde5328646f87945d4ffead2e1f910a47045439e60412c82e5168be23c20386efe2f8a00fc801503bce08d0fcf556781b0038a21d8c81d41deca16dd278f007114b6dc3ee8478615754ae30edad2ded028544f679559d6339cf54a30a9c231089c7a15298c18059dd06d013233b159161c451e239f4b50d0d750208649f54af3912e0d7250c42a6135be9441568ad07ca319c82081b7057818ac35a1041258705a11e130471806f9c5f2cbf0cd82b86713034d0ef5a9ef5f566e0e2110962fd2eb971f92157c2680c53cc0838467f4c0479ea18688e370bbe437262c0762868e2fd9c2e369e4509407148bf55e3ef03d8260af1cc4114db81225176e6780266c03911d1702c215b6d805e43f8d95c1a43489713f0365c1568de9690e180a0296b07b4b1f34e04d5504388312c1b70362d26f42a1f402769af81d3248b8c7a10e4e64c12d0ca948c85bbc32e56373666f27ede43b3e607843acdc0f9b13e3392ca0e36c1e72b99ebdc2f1b440f46aa9f4290c8dbc304b9a0c41938d4fd3a99817b85df803b4d4fc87ad4faee0c884b0d572c3af3d0e385b92fc7fc8fcfa344400b8a1384a3941180a3ee41085bff5478347d2d3d9c522198e3640cf5b8274fc45702f5c961bea63a9cc38a403b67e6f289209a870fb51c55c60354946b2a4b55338408903034a8ffc05001e72245d3a1e47931583e094e385a09a94cb509d7a58b21a389262102f83ca751c994cfd14b63397c3ebd23f8291e763f8ec7facc570b837822738f93c0e0267b0a8426c9e12161cbf82cf8b0f09e02003c9ef2f494501133112f80b4a26e01d953461064cc004333071310716eedf08c9f037cc5858831c8337762011743521cee3483386c5dc68f0183ad1ca6ab844fa4eadeae41ab9a43c003815f292272e3e0dd99e3fab3be14a00b8c0b1b0d4f25e81817c889b5ebf545df802532fdc960327bf57e5f9aebd327fe584854f8482e87ac200fb09c910c163761c232506c9c2f0e132c259f94a972ebfe9ac184c92490ea7a28c630af6f4f83359e6c31493f5090270c806927470381caa388b42acfc022a247b81e0e61a1e6470253ffc1c8f02596e066c9707c1f3e5ed040e73197c8cb8892bb617b36841b641c786d7e9a4e42be06dc0422e9c708a5a8fb0950e6a30df960898cc065d41266840e114c709cfca0e053ce3089f5cf663cd070bb8eee11523af759ce06f5258f9317632301b13197eea537c1604710e662c9567a1337ab148ae3ed6a6501f248a162775c0c46b05349e8191c0f7d243fc1a19347d8541641ece16064c46041dac09d62bfce1ed5770099f3c99cf8d14e18e0007b228145f840384adf848a58c58d5abc365bc71f24c2dc8bc150121701b59010f74e406767f61724d50d27cab26c15c8f9002b6c5c994bb10f6c01a9604dc0f8a2c1e89ce233fd50412761c799e8a0c47de4406906f5962c04438f5f95d1118e00ec19ce0a18108631e04dc7a2107377769e00a4772702a08ca55114c2686a920845781071363c871217bb89423729cd3adb3df44c6ee27d1f1f39848c1f216433e4f1a6564414f9e7c9da8344e4058a82754abc9e79dc178107c77fe52e8733373defce9e6814788f1c04b9c20843738f80b2a19bdf9448176084f260c7e053056422c13dc7745430d7f1990086742b0e7c62b617e484b42ee73e192e31591e5388654f1e127ba3c17e2d59fa26020cb1d41e0c94d149c812f5b5f61f8262bb08be1777c29b00035136ec412266f820bd0a74de9c3b5243d791b1ab03c3108263e384ad51b89c579097a5e8259c4087c26a145500e19ddab21c3281f4241c8f5b451062bb8c8731120826e0b02f60d1de23ca8a39717eb33e6e014143fa557859c85422c1f748403664347f89892a1329760043c00b011988eadd86758a49f12abb2efb182c944e8dcf9dd2d0b58582abd1f04cc4590b84cbd575a93a00b5375ef200a22a15a9816cf00c90ee10421aa70a93238c21502165fd1c9170616a4f27c36e9c8ae8459f22bb896f85f9008be49cd9f0c606c8aa788b4718850704e2c50436e5500c98f0124c51399d8fb536394f09d39c64d1501965b40c2f0c19020c2636468c1dec385b0cc904dd9cb131fc1b40b812e07c98a9c06958c9762c72ee7e034e117387a903df8b8e46529da7c6413f72b26c1fa3e517a8e060c0c5f808dfc204e0fbcd6215d4fca0ef049ec80e245806dc189ee54f9b70ce9fbd260f6b640d0c1921ce4f8217dd8e0e0aa5ecec6080cbf34e7d3d7e13442d8968dfd952c8c8266c312194d105f16940206763e66988d9c23b6c02a0a56d8565cd4a831fe328af1a698b8d807094d4fe8c816c754838a1fd14f7881aa2ede2196165c87d4282f7474f0ab7ae1f0b5f6105eb343c697b88af2772ecdfd12192fd653cc95933a65218fda820827b0452b9817c729af9d64e13847237ef022307fd9e1f7908414b0b0d3ee1145c23404226b8dcb306bb11b118b5c6f89afffb523c4eb0210fefc15c42fb818e166adc0fca525607e492f4d4ea9c7ea6b6425f24014b8605e6385de08a6501817dd0e9f6382944399c0e85f6168e587c8e0f00c5a5d32dcb20ee7e9fd0321ce6506b470fc1d2b26fe86173c415f6e840ce30c10acc3c3a0cfb1e71486c3a17a9e160419022f564e00b9eb07e94abfd144c2551aa1725f2bde1c8731e85dbcb09810a7f50f4930e4ab2a0ace9667c5bfbc778f9cd49735b5c0e2b7ca4a3da13d5258003115ef8211e8a36849c168a6079f364bd4bbd9c5e11b5cc29ee2949687e286987134c2e52518f07802aecef74340e52bc9807b3d1117f2ac173a3ca8a52fcf5273f26942473f54d5c813f5d8836d8568f33e6c67f0005d731eef92227ca60b01f7e503ce51f488e39e36117838317c7c1f3d5d41304eeb5b6dd89143edc984cd20378428f03ee13c7a520c27acf9f41f4a78c91ec43c7030246e3d22598a1e939c14979d35713e1bdc30aa298b5e918fedc084f972227eeca3b9c2c0618dc0820b104df9dc5692cd70fae0761482611cbb40f958003839821d8def246448c602f70957b831060f1b50f235bc2c0829bd79f04f892608f1483acb850c94c0c2287199538e233eea6ec8c32a22eb1999f9e50660cdc0c4511dfc6f4e2e2c2900119fd3b0cbb3f860f350acbf9f3c68fc0df43ea6556d2eacc0a00781e1912fe850f7780297f8975197dceda5f7912ec0c16e12eebc82f50dc692c4117e41294ea88144014c632d85f092214dbf49ccac2003bd22ee025721e8224d21c74ba5e6dfd8e2e4763f86e018169438884326f0af4481ce204080ccc7b6e7cfbe18c2b0580071549fda9c81aa048fd645fb5a6bc5f366fcf91e2b14977077c55b6978f39f43261391a2e6516c9935f6a343a24f6007c030145c8a73b4891ba6626c788a61dedf1a23f120008dca0780b4bd0038bf30973c813c938d249f67c9941fd446cdc5cc11fd6e092d2ca24b17e7258cef372059e23534fcca7777f638a121470c4885879f669a641a3ec3a1e4a07bb95ab89ccfce2b47c109105e93c06dcc801a018f128246b88b49075c4896091c4762028650d7ebcdd0c0f33a691f5c1388f8c45cb7cc2b6ec62fea0bf4b48638710e26b43c20c055ce01142b5f6381e7c4800171bf62654ea6c5306f64428767c141c481b04ae26660b4fe0898858792672cd7702bf447f08e3c5241a137535722e8060187abfa95373c4166d89b61d93fa64b834f53cb55b08d50806b524d2cacaccc23cd80c1b73884712fa0d69c45c3c871856af14518521eed149ddc026fcbaba994e82d797ae27054d9f0b7c6a06f01e382ff9a82f62c380df25a7a2fbed65a80fc028e2447014c830bc3b4df558eb9ffe3464086e06582d0cdbff83fb605cb7ea07d13136e0fa486aa4f371008d2eac2f686fa38e502b060bcfae3b3253ce187f8d1e6a184751c962c4e5f8bcc88c3e9f0eac304d97b3a9c6c60a3182c0e4750819cb6c7d3ab1fe0603b3a412fb6c227736986a338d0b09e4d6efe6453908135c1f48b22d1c87a6eb69ed318c64418f8791e4b46301f3c25325db10ad90e48a71794370b3fb1c5c8f70028f18456d1fa1239a47898a39987b06d78964d4b377144e72070905f4017a1d750e588b7d0e5c7113180f32a50cab22e56437c0d8a30736ad1b800126f1e71e50e47b873739a102cbe851a5342352dda70083c44f9ae051ffc4114df27b2c02b57b825482805041b5c7ba1cb5b76ad3d59fd77ee208be088b81238823782702e2ce9549b6ddb1a9c5adf4ef5a946d71617e7b6fdd8d71c50ac58b108c3b68a60d9761c30a44c0a03dde634bd5fb35c184c4250a007c101ad4621821e620d59c0763a6240c4871b07a6180901c140830400f6c6107034bd07b906e53d6815c7c5b328c0e46057a6594ee70c8b07853df8531bc5812dc87cb04e6d7cd0199fc7a146bc8a8231cfe411262cc08c9d1934cced5757b7776e73db38f7a9be2b9e9e12d9eabb5305bb378c73fbadac5249c2ee44f7d8bd957bec6adeb9aa3ed56db6fbbcbbb333b70de3bab23066d4d56d9475f794ad76f5796c93aede73d5dda6d83bf5767b7bfd56e51ea04eded1b033b70df755baef8bba3a64ab53b8ebcaeeb526daaa28eb026e136ebb8fe8b942d88a1b2aaa91a876b509a4aac27ba9c8e22adc4da82a5ca498f3ababd3ae36716eb7455b76c340b63a05b2aece44d9adee635ddd4ea2aefab27bca96dda7de2950183a55b8eba9fbd255b993eb8cadae2e68a078ed6a13a7de294ebd912efacc35c5eb637592ddaefe737b7bd5bff5dc3b77db6e73659577fb5c4bd8b0535774ef6fabca249b22d5aeba0641d91579576327f74e56ff29dfd5a8aa48d3b5c4a962b33bc5665773afdd7ea88b2651766f571f377b3c92987bedcc6da3aecedc7e7575dad5e7a9224f810957a7726def9edbb2a8315dd7a2dba2807baf4db57a445b57dda8123537bb936fbb59e5ca9e6e6fef99aec876b34877af2d3103d5ee36a174df17e73ed5ad6cdf197d2fb4ab4d1c51a3ba9638aa685a4467d4d5254d40153da2ec0bec01cfd3f8103f12a9efed7355d7d8e08038da0857ee8e078691bb271d6d048b965d3bd5dd67eae2de4659570e6e8d4d6d27d5d494edaa3ee1054a841d116c79cb9d193fe12d42b8ba4bdd5ddd29f18e78a2c93e137d817870b41096eedc3d84bb1777b78be02ec2dd81853060a7ba0d16b6d6ceedba6832b99a1f6badcfd4c59525eea2ab912e51b7aa665da2ba952b7175e18f69b728d19c82c1d14004baebca12f751b3abdb3e01614249740202cddd5d0ceaa9b786e1ee6a531cad4ee9616fbbfa4453edb7e6ee167551c04dcc7377b938b837a47ba27fa7aaf1ceddd6b83bb75289b26e5b976cf59f9d2dbe53dd4aa5e64353566fe2b989eade45628bc1c1b83b12479bf3a4eee471b77be73edfd45451f575d5dd6e56d9be492251996491c473b33a35f7e9a249343d8311ccf9bed370eee389b2451219eccc6da335f7da76b34715dddbef7e81ec9dc856a7a8ab3bf546ee9940927b4092e70e82b6ecdd76f5a9ac916e55d5c812ca249b82d8e154a1590dc34ea9f5f66669e01d55743dbaefbaa74cb2c83d65724f997cf7dcdedebd639b74f700ada3c5f97277198e26d7e7ee125a184475ef3f771789bbd59b355594b84c536da2eaeaaeea9a647731f9aac43e734d8b44e2b0536871431ccf568f68db6aa4ab617c0538572dbb76a6e85b945b6b6b5b73535b8d2a3a96070d0e07bbbabaf5c06e17cde0ae1ded4d95ff6936ae6d8d4d4dfd5bd922b2d548b4374329b025dfe0686f43dc8975891ccdcd8e2f554d5435d275d5cd6ea371fb6924717589edb9b74a449a28f28fd881b8ba2a7aea353db76bbeacdbaaab495ca6ea4a6cd1354d34aec8f6252e8bc473137791e8ae2a51d5a6b319f0a2a3b96570df69b188aaeecb73032182705d4dd4ae3e89ed52ffa59a78ee1645bac453d54464ab9144cdb7df54dba8ab3bb7faf7629f4715459ada246e5613f70df7b533f7e1686d19fced5bd7f46d8d4dad78aa6d9475d9d8b8cfd8ae76671c55f4a8db76ebd5d5ededed9538aaa88cfdee3706d274b5b2454d2c75ba65cc5a5340d42611685ead7ae4e693dd8e034323647bccd2f654ba420c1404abb9f8385892ca8f85014b5a7c91602580db96317af4a8e152c04501a54d6f4c14c144034a085243ffff001ff4e5a1cd7d45b64aadb67bdbd56ebbb7d4e966dbdcd6d8d492db6d97ad9a66b552cddd69aa956aed9bbec9d70c9e09aaee7e74b43537deb26b716b1fd6ded4cc7daea6da4eb5d9aa2d5d94d5cab50c143c83a7b91b1d4dcdcaeedb4bb5b93e70f7386cdc9dcfd1d4d0e0d6dad6dad4527565513f75b3b9631ceeaec4d13a0c69d9b5edea23eaa755e1fab755a12022661d3a84b80b41d40078a2195ce36e5127837de11a770b229148341342043cd1bd7d3cf75e9fa95957c786a18621835821ee8c3b15c20a614774d57735891c88ea4ef7f6ce74cdb682c38283c642b8ed490c11c264db620477215d0847d300e7eefb5c5522b16e9fab49dc6951234dbd59f5259e9bddaeba8975a956d9edaa689e3a6d443563ba5b6288104417794437726d1fcf8dbbe4a0a1a2040918244a10ed888027ea7fc6dd97385a06074bd655b78713ee638cdcdd88a36190e22dbba6d4c9edee818e764198ea616fd62d7a68779aae261bf18ea8eef431ceb602f97c2c39e69858d08321dec7ccfc294cfb311ff042042fe0c9dc821f3c6b094218c36464c32cf40478cdb163001f2328e27d0c84d0733ef301c3f74f908542380c00fbff679ce27fecf17f1e06c18f7f0c2390f13ffc31c71f602de3e1308319f1831807ad7c3068f6bbf097b9f0f70ffc8fc96ae006f8f130883f167e1ce313fc674c56030bf8cfc1fc8fff87f84b08f398800364f9c73cfe6110e7bdc741b2ff32387cf677642fac9043fc18c6c1b66c86f16b1820f742826d004e045f601792083a5ef3c19c2128c49f5db8e551bd63474343f3f70f3e7e5a4f8637fc6321c6f9ffed3d3cd99f618cf1b0c457788c71103f5beef00f6001d9850f408001eef242bce0839fdf310c4c34fba06374e844be9f925d42a2f7118c70fee107c73ec0672f1893cd097f6e8883447c56762107cdd8826d11d81e9b0dc9f0d87fdd631c2a0fbf0c07b3df4fc0ef7f56fb3200f8c9c61e8fc010f083ec20e8d97fc00f31fe0041b41cc40b30c63ffca0f1cb2a3c00217ee10bf8d000ab18035086bf487636863fc693fd67fcc14ff10f301d7690ff31feba7f8001e0b1e06761fefff0f9337cd99ffd3f888780cdf2d893051fffd7fd0f1160031fc42f0c3e1d06f01943f89c310ee2e0d361fc0cb0d9973d5910ff7fdd3fc06663f98364c1ffff407c051bca40640ec2cf5ff641055f565607604703084f21f8180ff1d87eb4036c0052fce3c7ffafe663aef41e46de160f5a4ee4a15d59da714a952c1d1250d1c171c694df9000ca6d9cb9b46de84a5e430b1a43e3d4fa8286fe616bc6290d41c619b8112e4e41c8b5e2940336ba530a3cd06901713e9c0a50e18304b3973bf5c3e4f88a91912312733553c1207430e50677e063b37230c3b68103b143ad087cc4b308c40404dc4c811ece27bce2c46012f7ec68132e4c70775751b7dd275143866db2efda12ebf6922b6bdc5b2a5753022a0992fc54b7ab89ad0439a7bad1240491802422dda3ba53a271256e7635b2da6d89fba86ad6dde91c4d420577e34a64d75613912efa4764f7a9a23ab9d9edeaf435536d4ac0beb23b08715924ee13f5434fe2ea125d6572bbae6623de11d98d745738a21db175d1237aaeea43703462e0112d7a48beaae7d04323c6b976f5b91760406e90090506a704065b0c37107f6cd71134368142e1d9d80550478267da8209ced4c41942090cb6284360e6404192c0b21c411d19020077784676826c6e6896411c181548e627d0008f23651f32195c65a70285684718700a3c7327100a2c5320008f81107a106a717200000230488252020748182021aba579205390560c899003d99cf02e0fc87664ba02db3c0ccd867202338021836007006df98367c10e6627841cc6720c190ccd863fce0c9c1928535086602c471e8664c820db4122741468e1473049dcb3f020587736609816fcac964b04619c2518e2b11b630dc65c080f08f821802c0c9e8d65b25c66e62098c76a8c111800c32c6d6c38f6792c0817f4107cb205d9c111b208c2388102e41c491b061b909940122c8564c21ed18b116bf5c9d3254b8f1cbdc71957ace4e18908f161556bd1f280016d00d9d80e1d2f5c14a3a40953254a11aab079e932c2c194ea54a951a13e75da7858bbc0e575abb4ecae5bb6446dd2b4688f91223e78e8c0f1c2058a13112024402028905e1d3a4588ec3d70b0aa11049422052419588c582f5e3c76244090d6a911a34385faf0b95385ca933d1f396ebc70a1a212254693067949110a54a5468b0a1162a326ca9224b76c75da548890203c4a02f7a9222f2d80ad55aa4a3d5a1408909e3757a6ec73cf078f1d3754e481a8d39016a012a54763c25c51b24f1f2b549cc803e1ab5455a204895120407aeebcc14245498f152a4280a8fb10f462ab549182f488d1a24080eebcc17285ca1425a8f67af010e1614d58b0162c060818e5c08a9428386eb0a19912650938a7ac582686870983616064718270f09b609b77c36d41b65f03a0963964228208d8c13718639017bc8260824750568000818c161c7026002d0083b305001c98a5958d910dc7f0702814e6f7a112608163654307637342b3fce08cc6913b1cec409661684636173c1bf0c1b3e15ef02f07c869414f49c0040e05e0b1b26087000fe6e8049ad9383b831d041cc1700d8435823fb4431418a28589b4243868166ca1a157a0a9231fe4c0297083a5232fac4b8b30e2080e32c86aca977027e4b02970388c0043c98101784b328a234d021794dd3833706620c889034ab2d68c57a09d5b86a2859e234360817c55d0c6ca7200615ff0899423644101c3073fe0ed482b34661a382921f3d5450006201c9136461764b177300aacb373a4803083d909b30b431ec10d6374481831a9fb0306051261982a6608d0d89404305b40511408e035864912c06dc0d77890418c2d903b62364637342313903fa840911f989d189a0998c027d06c4c45801964291ae49d302b4b7136e3b4fb139820d8c18181a1d9b0ae4080a11980bc093ed8049a91a580507c80c97200106634e10f630ccd8420861beef000bc6518c8520ccdc6160430515621e8a22c810107171820d840d6e1434693612910933dc8178666646b636f01de3ea8803176161c6320accb726567410cc41163656366410f4216c1b9112f6c90250811b0959199992e0f8402323304651f8e9cc1651700e0c832042b042b0ce1046e10103421e42084505621e860405b7e802470cdc36763560b66a190093eb2901ab5aa75e8583264a70e1c35508c10016cfb8cdbe4f3c143070e1b3566c068b12245dddc5b860b162810838c1615ab25ab95883b0b13182c18333349521b3631f244d43d38700660a84810a0396edaa84973c6cc981a193078580b0386c68c62c2741575d4a255686f4dc3520535de81301b7373c5ca87b24f9edeb8a9a3934b60008019d99883067df8f0e0148991a24487f854992205ca3e5fb858a1e2445e1d5c9b060269020204c95079d28480a9b84175e8c03172c3c60739050682972ce5b2711742ae6c6c788709203c68b8648922a40c1932555eb8b80381e1ec830581615f415b445ad855b0153e2534f5a07027cca96cd399267c0957c282f09d5c07f7057f7c858f40f640e820c0029c001f78030e0a0809e0b4470b0ac0008466b88c8c0c8f8d0971f0f33f0777377306680c4cb8bb8ab24a0ffb5c4d547ddd752570c420d8a2c4a1a32dd884b66012da8236680bc4381fd1b8123510331089fb445b1525b628d145892096ac6635d2246a94e82e8b0b842ce85b70445b90838f8f785451134d5b0dc41076c40cc453ddc4107644153dee628fb5b5b51d58ae0ccd0c42a5bb47703405a95476bbae567a30637fd6cd3a8113766dd354275b0fe76635b2f5e0b26beb012d011cbb4f7625a6da5d5da2262e53d7dc2cbb9a44775589ed5e4f537d8d44756d51562b93ab493cf789faadac528ddded6bf6c6cc0c0231eebe5fd6dd6daa8dee4e247336cc81ae8d784764d9d7dc40473747f7814e8e2e8e0e8eee8dce8dae8d8e8d8e6e6e6eeec39cdc5cdc1cdcdcdb9cdb5cdb1cdb1cdd87b90f1f3ec87d88fb00f7e1ed83db87b60f6c1fe8e4e6e43ec8c9c9c5c9c1c9bdc9b9c9b5c9b1c9d1c5cdc57d88938b8b8b838b7b8b738b6b8b638ba3839b83fb00270717070707f706e706d706c70647f736f7f6e14dee2dee0deeededcdedaded8ded8dce6dceed839b9c5b9c1b9cdb9b9b9b5b9b1b9b1b5ddb5cdb8736b9b6b836b8b6b736b7b6b636b6363ab639b60f6c726c716c706c6f6c6e6c6d6c6c6c453640b61407fe92afeac14d1a7b987530cb908108918859073321446207a21022914824ba6370f70bd8d10ec011eb0e90f97227d6a119e064a0109a813a4eac3323d6b9c69d1289667c2ef288b244a26bdc29df469aae4e8690102284bb5bf0a01b28a219c023b6a8fb1689c416dd48d7ac8ee86ae2b9fb4c54d54a595b5d5df011d51575952f76d415309416b5fb260ba4717762ddb98bc4e5a9379b6a3d7665d9bcbf9565573ce33ecda2a69b5b5b2bb087560087bb6bc045d49d02ea24db666333aaa80bed82839adade6fb6c6b636c8e15a97d54a4118d830148977c41e6c3b8c6f31101a011cdeb26be79a94b4c21dd7c2a9708ae5f01b0830905cb8eb94bb172e813e006f843f1333ee18d0dcb32b773f9fd48f7a511996ae32b9f75a74cdf81625c89933e20398d5d1d02647b4b323b66520da11891ce8c481f38688bbaf391a5a8ab745d9638be080585c0aa9804afd7d3291779159100a8b9e540dded865509ade128c1123c50f09b86c88ca518c872eb2df2d48ff688ba74c8a8776243026794f14443ee5ac2d07f280dd16b28eabc91002830042e463e1a5f80c4022cff303040ec2ab55b0001361af67019650c6eef30d66fd7153b74e37c487c5136760f1e49d771b0a683caf6df7233405fa563a02e0041144f9ac145e7cd1a7d7378138952d15d1f5b30a20bd8ca935ef424e247c85c39fa3e112033b2296c8f7d0a2602f4b340f82cfcad81804441e971c14413821a23c97a24dd06f53c261d0ac1953a84c38cdad0dc3187f5c5761cb86171a70e63b91d2918b04069f1631077f4908a0535a40e583a99dfa7cab45562b8c7912264438da0b18eff68e7921d4c29fa1087e0c16d59751e8e0af565c5e225704fca90e31cce14594879b34eb9b00aa8323e4ad7a5fb0780931a9a28221003290e18ee8c0a526ddc8091ca539b1312aeea7570017f0067b305e4afe8aa53bcf720bd2b359b4e71776da33d992329fb2a2739052292365fcf98f2da65c0f14148fa7e7efaf4402f2415805e63e31cc7ed30e107ef6498befa0c5e00d85c0843138421396898174618d4ee44660febc99062a30a821111c465e230c6861c2cf79433921357d6f2c43c2ab5091f510787d7226c827ae2432c95584d0f513cefcfdaa0060dec21c13bc6620c8ff5251ea29f881e08b1c94c90488b472b263afdc02717d44069049305a84cde8e4080a7095e94f276986714250782662f0500eb0020e6645c25ca254e1b7ce55fe6422ce0ffa8166b70d903ccda00daee952944fe0a5939748f95e439026783543cce3801d72571af6dc4eadb66c406df399bec0c20a9ecf6bf945f1a01735ae368c83f700c5f7917ee0f1268000fc2d36b9b25f0217036a7de03b01aae0317b71c1382e347c4eefc93003dd910f40c3899f32d1e60e505d2ee754129f4265433e4a50f46a7aa0c0883281fae11b4d7e620d27dfe5c64626a261816b980b904300eabd1c121bd84c98206f65d05b0e7e4ae46b1c0dfb0668c687a382cc7b0ab87a2c6c0c05db0ca598d458972c090ea19fb583559048a60256e225c2069366fc98b005c15d4d00fd305664f957a200bfe6930b9f0026877f2015ef439228a7c59ade3707e219b5fdf8b1549f3e98a8c03fe290e4167c89f213c2fe9eb8bc932bdca50fa50712fcc30e9efff2a5e8443e25f2b43b53ef490dc6cf90a06a2cc5559e029110c14da1166048b8fe329e282eb05917b2b1bb2e0abe179aafdc03111c1f42470b2bd1f4c151d1ba9429e9717114439377422c95d341438489a7de052553e53806eade8028362c2b8efb8140a0e05682a2fca83d240ee784d1afca94c671d011f53e74983d803c653001420f865c52a5f14da32ce417aa507d6a420eee4460d4d7211629b8c3430c0fa4c9872f0184e4015ce88443b9eb27082327dfc012c25ba53a9449e0e9bd0a553efe40de0dd705e3d6a76108fc0fbfbe7c2e37efcd283fe0533d6279518d88270020e69f18a9e40a7ed0e05026e63c2943c7ff852a55100bde143c8cfb0b9e704b801f7d003224e6c30f56802390b0d2b2859b65b1f35820307010ba57c612cade040806780cc79d0f1680ce278f72bed0003fb8cc34bfcb1b4df9d6ff7982b9579e7685952b2916e57ded31f5705b07ee1b51f601a4ccfdaf1416b05ca532d82305fb38fbc541ca4eafe4e745700bb1488f2a45508816400ee6714947104ca128df226e83afd901fc197318f0972988fc4f696239646cb9805f56be0a0ea5c322333e837690539094eacf96d0f22d5b8efcde9bfdbe3ea1c8556ea472d3169fdc1680f0e90b2019965b9b7f03852a03502af8d456de3086202a59881035598f933b598888b42f5307610269f438a8f3cc5748867959012afdac1b4dfed518576f440fc58050607942588ae5413ef45eca1b4f991683b51f9b51c5339849fa2be50b0f1af9e052eadce14e69661e8eac11184289615e2184911f1e1abe8cf3ccb0ad900bc340b023e8b6b6612cbe4c6416a272602077fc083535f9f5ae6a18f95c00967896b90a598807c9a5b0153c101a357f8bc1de2b38d4c2d52a1cdfd2eef13190087a4898f0e36824e441b9bae5cb3cd9215c2afb017bf2fc88abc3f3329224b72083e067eb00ef5154f375682a05e74a61c029e8f230a43a753e4819541911ae0039e956e1d57249c114e6b4c192be90d7ca00879ff058f3850e4dc2c002f1fc1737597fc3810947da61f05b3a61f1a19203fe6366cd37a48081b1a12f1f2040072c4544a35701e6cfd7958cff31297e1e31007cc6094198c05b9eac80063118e700c783e07005e7ca32878191e08091d470f42cde2ce465ae2dd942a32f413f284278a212bd30a655057cc0a4055890820edfc1a4c336d2d4703a29063c2152c2fe8a801b1f22108023fac02c4345e02d1a09fb3a66305c8f8c8a9f9883e45e86edf81b8e1838071a3b328295c20b7bd546e8c6935c2e6a2a410f6956e012852e0469b951c347ec8e4127ae54e1589ed80c77e419dea009dc835800cb4dbb51384ba3f38f75a6deccc1f77e671c6505167e786e5408e3604bbd1f855a794b9a508e6b85f6323d3fcf29d89b4c06552cef2057e1a9601ffe8c1ee5e43fc23c6a1985a2c03cf85561848c3df8358e03cd70f8721e39985178397908e9148e62328d3dc39e439d36a75164ccb785d1c34a540079394510ce4aedd6bfc9d1e299ec0af0bf6a2cc89f201df94c3724bd9136f65d3129f6202cd83f281d395432c03b8241c4b94861e3b9cce03260a940574af2840914efe4231a28b9caae08afc2d692dc83980d0cb8278913fab3e6937e7184bd7cecfa4638eabca67deaa7d090f19bf464381e0b6db661e685077b502797f2a3f781d4f832fa16e798509df1e0264a6e054f129f304881b7a9f4e3d73054f8198ee260018b6438191ac172af333c4fc74b186160dd101c0c0a89b10626a03c47670d129303e1cdf81092ef2ca9580c202458c226e56cd6de30945a169e18903359c0b05a0fa7e79523ebd0bc9c298e5e568b3acee7cc8fb7324487bf8af3c4c704fef8bdb7bc37a21d72b601c74f8d60fa16ae129f8fe5356452fb01646c60bf8f82c9f815c070be74ca8a98fcc9497a98cab97c05fb252e7ce0608b0ee138570a641a6c68392153d45b5882e5014de073358bbe3cda46e8afece6be8722f5c5f029e58f96b46e56e682cbb8e404e7b1f27ada45c16f6a50c653b528f33318cc7049a96c642b026cfc801d6b1ee625f6e9eb9615c1657a1c7e90af8ac32efc485929382750dc5301d6674c822018cf46b9263fa945e0df66edca79827ebcd65bccbb08f8fa60698f70ad342b3fd7e69cc596260fe16a8103fe9572b3386dae67147801bb36fc0535c69fb2e3660a90e23ca554ab7c0a955c1ee00e03f6144a503690a757700d1f077c668b9fa072910ddc280797e09d22ebb29457847ea32c60219c8404f124f939599b0adc06472eff44c415fe3362c3678915c2d10898f39088b57035cab7df7316cbd5ac209d4a92076e73cbedf7287af06c8448bfc746f4562060f99395c5aba188f4410cc53f5016e38d303a21b4f1eb0c2eb26915d620667852ba7605b510a184af98fd1202b8b07c496719825e8c773c7997221b8803e338451237b001c8efe5daf280b7f25c78659357e153f06358b9f9438e170e034993ef822ce1478289f815bd04f89f2446380e13eba73ed0c85b7c013a083a56722c495c308b53515043e019ce74266e33e83fd823544208602c3d850a35f0af47a7f7b0d46a98c281f43f84913f854ae301d8fcf81c06185e4785e39fc8799f46a113f6a0b778a4b81ab849ad3b4f62c3987cec22e718eac8fa126a5ebe1605294fe34feebbcc90e24a38793c899b0fdf1080140eb309d8d015a0995c17264b06b3a4d263b1f426a8c686df8711d32207ca83048bb893320c4e7127a660c51b1d29fddff0c86ed8de67a4a84e4664e2ef9564659c499b62fee31412aca8d5e32a0e94715975bc3ca6bd62d9940b3b0f5435c3b1f8d8f51910147b385874eea2c3842fe4c1885bc94314e44007443e73a6e485b0b983efecfc045b945ac32e4e3641482096e409977090c9a2002fe25b3d86366f3eca0de2762a18700e3a72653e93f2dccca51ece85910d6f5331f77a9a90f8ac1a3af0073d403e1388bffcf7ebee7f4dd2b889dd8fe75b2bf6b6960a3c411e38ace766185e240a195c72647361729ede05932f18401731414730ce3cbba00c5e92219635008080371d41e20824d9c1772221705cf9f19a10b55c03b2d31fea32ebdf1ca292913c72e3b5e440c168c54f6fc4cc84c710c8f48f68c8c23724e4f25997d49e8726335eeb8165606a157c98880b9815842ebf806f451089df212c61ce51ceb5b48069b56f99cf508ae988340ae6528561618f10643c9ecc5e0e1c3c7c8b0dfe1081968e8a883e2d30479e2854f1c064ade51604258f0ba186d7f888f4717b53bc84203fafb0225816f3ca8fc7e8a3c3a0c686b8a23c0ab0833c3b7ff375fc2d800ebe579435afdff0c27f4071f93dad0ebcae367082962228c245009bf2923b3fb8d49239424a646afe7352b85f9e623fcc0197e7b0f0e52e8009311c03ecf338b587d150ed7930a9a47c8a31486fe56e7f48cecbe7f113e24d9d54fc9e4ba632884214bed5931ed94317181e484ea417a342c7a7b2e3229cb320e51f596182f3cc08f28e4a5d19e622ba65e391244110717d9e162eb260873c189e40c91aaca408e433001292553139e219b290792446494f772cc06865c11f03520b9ffda1f33333ae32ab209d1e4291c33fb033e4f57c9990b9102be560d60ef88e58169ecd872edec40aa777b4a6172612430a3611294b3ec2a480a32e5e043d2d68e5922afcc9465e475f3668397412e882e357941e151d3a17e4a958c6b5963d980534ff80c2983be13be30f148179246769f016219c37428482e348e0e09775a5ded58c3fef87f605d31133c3ff2cc3382e3e62bc942503798c4d163c04cb9d608d3333301f083782743ebcbc87318a320e046458469028425a69f27c92d69020080d7cded19210d88e110fd7a48ac787e202c1d9f884acab9816a704c80a0e508198c761f459c4dd0f47722ad5df10f27a9ba116bfb70a8a27aa75c059d449e51a267cc9aa1ac5f11898765690410cde6381e2c9d8ca94f74c58cb7b28cde16231f68c91c015e8fb525459161d3618c6ca05e7d9dae178a858cc87f7c4fd54ddc97a35287c061e237e83108faf51022693c1b4c10bc161c8b0880cf9341904b00ab696ef7213e5382e617c4ad0cb138101c49d202af4b39c74793956b6d37141035f3ab11f9716176f494d964f12f3ebf9207892bd1c18956f98d2928f105094e5502433083e16de8e901e4febb3e20cec4e7c99b4609f03c996cf18c1df718227839164e0d98c6e1e8383e5146cbd72467f9b9e55933719d391f75fe929f23e4630fc9a2d1ddc0a822d1f0a0e4116a3c360226e7efd8b0b569c93a20bb84d3115776a026668d662fb1ac733410342589f431343f827608de785ba85519562e582c6d0c178a6e478a09324798e0ccf5ba56a0e6be9e74f2167f0114e925e15aa59199505193ea504fa678e5879614325effabdee6d9e7f9036f1562b1e605e181c63922469ecac8f2cec839485fc4144829773412baf29130cb731211c2ef272e39f7c2112a45425d40bc964c17d8bb2788a2f5d3c4113386f13ac8b074286f95572387c93b6d10b2d09c382a4187027260ae03cb93ebc100656dccb9bb6af51a2500634cc7b1fa51cfd99527fbe8702b17c8338077fda83f6572a65fa308eb404014b4dc1c84e56c6300890f37e665cc9bdda063d9b5d37fe0ea1505ea7b2f98e895afe60ca040ce0171d9f90e5443e53d7e1031138f0468e3479443058e5401d71eec76d450e266ac413e960f749060073416bc46451efc5dd5b6a3fc0cfeb1deee85ca7b3de9186d58565351e52050818d4951ad805dfa6615a0606f96d0db13c244b1a0fc167cf091d2af0868670c97620c9f2365b43be411a197fcb5026b308f4e46074c8f935a309f72b78cfc88d93efe1a98daf3042e219912af3394b4af9e740f2300210f25f8172614d83247c1e58a9bed51df2e3a80a3524b144cf0b183612bae2806600757ff0a2372d8fa88d4f88e1c90ffcc54328a18049bcde84f423135be2fa2d6907302307273e078e0158d582403f68943217cb32be0dcd072c6702a4cf43770b17d3c3e2e5b02e0ed537c18d7c297aa530405c43a0e5b0a07cf04937d6f8821364b2df97b2cccaed04fea1434bf0ad88e783fc71082a3191294361e0ea9794b1984fdba0a03916e8d3d200e24e884639262124b2ad62c27ec9c8cc6da9725e988e13f9cc5ac0857060b02831c4bc45813618489188c3212a785c5ed0bccb7ec9a5dc9c7235ef2c4f00a0958fc1012887208402cf897161882316887ff3ccdce141128cb6085490cda8013f42cddea34519f3431e6005e750a9f27ce288c26f5ffe3c20351a308a5697dc4b193fdec2eefd407c021e4ddbf7692a357a346b8d7cd4183758cda74fce2a6d164ed4e8d4eb723001b75a4d795c862bee034e0c3f2d617a384e253e988406590e07a57fa247d490ce89a6bc478b28614e232c83388304dd52473f87c8838c6a09a7c711a8c8230da2f2626a15f139110a38e0db9893cd9af33bd3ae7c072e8867b0cbc35bac68702c679b2cc9d1f2295981f347e0f69ccfa5260ec0c8a03fe6e1cbbdb600f11aa2d4709c285ccfc49589cc60c40f5795d50c631c583a2f956e18c217274754ecce58082b7d309bb803423ab6131ecb6f02e63184934b31139659e9f9fa2dafc6ea180f47f361c26d7471f06fe2dcd1c008f3b6f4b6e4177e0a78195e289ee3a23a22554e3ced0dc8c7f94e78c21b397f6c41e7c7384aba900b66c62ae048f46db6a0605e3d04e05a71ba84671429c295c468091257e4f23f2ff282775e3d6fe98417a7e14b8d1f77a961b74c8c9cca2c2179949b0dafa58c2e636a85fa9b231f1810c9991f3975c61525b1734e4ce2e43f2c361c452cb3eca5d69e2fca72f684d074389f3131f0529182bf0346cd35b9688159ac06ff7174fc531ef208b300f0c37f800c729aaa2098062538423afce81d986283dd5e3d9c0d2f34f8c88ace3fe1b4b3842b061eefc0cb6a942afeaf07182705cb926354aadf38d1074146d6f34da1f08918f5655308163dad16c53c07528637b04ad4cb7a91c229000bc494a6a4f838c2d86438af04ccc095a98f9287c02f1953604c2ec290ef42a32d08c368e7230870f081eebcee2709c69ab4a8fa3b973eb9dd1e24dfeacc213cc3c015470064988da46e7ea706b30424b2bc4842ef513121e2c2564b32175e05bcd27e8015b8a9fecbdb03cf1248d76b32e3642ac20d7f6792a94c686fccd311a196f98c08806791718578707cee7767d3504aabc037a98a709c0b099cd49651bec7098937e274e3192599e496d48c7db1323f1ec554319fe0e1eb9d160bccb640d3f37a220c0b0094e67c8c8ce5373decdc488fd5496cfaf4441b083e8c0e242ee06c42bd07bf7092c295dc6ad876568448612424fc8b15aa93877264fd2d3833413f12ee208854c88e76f0390d51c0fe86bee1ecb0052e874e0957134c82af7808f27873aa3eed4ca2a7a2bec8598223b78317ec796d01e12fce6cc80f2814f0ef84cb5b05db5ff304bb18b3b50f8685efb79c3b3878e7222f2276fc2d694cf685284cde66f8f3f84a7b52142a65404c4fdead0e844c2a119baf6211e737980c735c59c0bc5db130afe00e28cc5667e5f5a42c1e668a91a3488005cbe171e903485191d7dc21ff87cc5b169288e1656b149e6c509d3719c59631f56a71082d8d82b53ecce32933107c112b8c4302820c1a21d5caaa10a5096f85f2f372bb841e68c5f0b5b042e2576828f1586d48b09002181c4afae7c156797a3b659bebb1567fe48da0ef444afd2531f4b296cdc66f91f1795f77779cd15c03dc63c4d9476070021f9053e63bc49ae2a2fe50c25dd0b80c7b148b18d359211ca186a50f736556de9276f82b7652b218ba0fef23c4962c40ce0147b5b4e48fde50f2ba475b3208b43aaf84c1107ca06fca275ba56109295ebc1808313c8c1c125f2997fb2c8018723b50253e188b8ac3b2d3e561de3c723d5de4fc0c4da93e17173fb88205257e0840ddd0c6812dcfead58337a3e70bf7bd6093afe458848bdce00b165939702f3bec04c700583f84073a17c54ad0435963f56a7640789c07d7539aebf1ba4cc5c1a1e04679d925ec6a8a71f2139ada7cd2a8b62f5b500803e205baa93402deebd3904fa3c35406424ccb33f22ef9cede96df80435170c29d806724c40ec6c383879f90c1855ffc28fb2452ca82c44c74c1b2d4fc18fbb081c56b786587f5932baf2315971c04f0e5e1d060f1353382bc9ee45a5e13a7d22bf3fafca03d9b5c0e7d81831df27b11828a391200624ec78ac3ef2931bd0ddaa53ce953a177b4c1542e025b810be49891dd1ef4c905a2dc199b3375e53f0724604f7a49bf0442e996ccfcc06c998eb82eb4402e810cc46f1256ca1da0019589a9577ec75fc277c2f2fc110491f031af810b21c17052291cefa5d605af6163fb1c8314642807dc7e8f8562eeb46ad0db6165c7f59a94f2296522399f032fb6028488f081a90478d2000f632f824458cda3b84c210cad373104096640c1c2c3a98197fd5440e15b12c9fa2118ae7822596d3004058d3ec9a3ed3955a8e19b626978460bf00ba8d4c263d959fe9aa6ed9558dab8860c61f09a04248e091729c713fc7335d13203aeb873112d74f8ad59477cc4aecd70801d2099101f62c1bfa06222ae1b594d9d2f1896b10e5b8adb908d5d740d8ddc82e124d676e1232354fc0b33456ed1a3cea79807ee43a6c7cbf915e7f721622e8890dfdb3895c2db7c3881459141714c10e25c086b959b517a80cdb1774012103c9e90176ff62847466eca820f8d31c8765c60faf6fc33dc43a70a460087289b9113ec6b010294ff80faf4ba8474caa30c3df90d94343c9a8c485f0a05948c67d1e94e7ad9f25360fc5ecde8e5ed02c53d5e1c49f96d862527e166c023d2c1c53b959ae126d8641f947be0318181efa10c880ca14ddb23c9c2fc24d418dc66463208c9ecec9371497216370c0624e09727b96e1ed40236ecc00e10be042c98f96c517b239674be80a181ebe260e9654061e0ac3604c0680f62efcacc5a3e944939aa3a64f905dbde9b5a7b731168d4b8165c9430598557cec081938fc1c1ce6d4c317eac0b8c5c8928b20cc91480eff1a4949332b5001329410ba3886bf42b6488108a102387f12c78c87b930660e48712bf88802a4750cc10768392e640d87ae0b2112e3ec9dd935715acd2a7217acaacfefc78833e1af02f0baffc49db2dbc3cb3c98b5db2387a6b942ff152cbdd86dc7216bf2ee494948b4f3002122e466c41c6438741b71c2fb20f4875865488fdfa1ceda48c2b450e3f7426cd8dfae47c1b283ff2834c4b9c919bdcd3d581f90141ec9e8f5c94ffb2063a2a979143d0b5c6d1f8ad8f24c9cfe94e6070ba2be74f58d0cbf7244a8ee68c9a9f701605e32212c72950e9cb48eee8fa08c4ce72910011ecea558120af3a0ff80fa121bfc856a56fd565c8ef7a6b83abdc08101ca240c6ff0afc2020474dfcafc61547616198ef91c4c51f682cdf07041777a4c997d7099cf2423a04783d53a170a953691fc694dbd79942dc502a11dec0cdcff7fce1936dbd18fa9d882759560614de2506179ce7d49fc7eb25218ba2b2e383c0b6085d12a27cd58c9d85d421908b7e303d198e307f07aacb47b114e82f0804c04b31389e451601df8903f1e1fc62b8a12d3e7e14885338958c260f4653021ff348d68341b7e03ce513af1393c213687ae28bf6dae03557c2ff50a2c6dfa20c7013c1058f28040e8ceea085d97028832ffcd9792a40d2e402b48899072c56b8961da567c228409e0358ea774911f137ec82e4e226185e8c45042bd7f4790548118f014b085faab0f23b080cf336456df090c38b47e2a9162e04038aaf2ac4f76817560e480e8f77c2a6c9312e464eb451c53da078e2632e75f146666405113c18c373756f30590113ee232543e82675cb2df0c009af18c73c9d50b584927458721847cce45034543d181e65d9f8a0d66300e1c37175a9e590cc6879af0272be123145d90bf2fc496dc0602c2aeafc432e4278cd1bd16128fd7c840b139c159e122c09d799cbf123f70c00053997476bf2a00b45b2dd9462414881fc9e891956c2087b5e7c4715866c1c1201c70820175c0469d6b36162e2f3162547756844cee5c9d62719c1f64a597d7c0fb119feaac4924f53f19789016eb89a53b5fc928b3def4a800dcff46bff2a48a29c4e08d2c9f41cc17cc816af42c8112b5af50b93e01207c3f024c9fb9c56829ad106ac8112a0b7b504960f3dca21345382e11bbc11f62a8ea87d83106dde82b2e574aeba3c90114d9e972224b91296382e466ed68309e6e737f40aac4041906f924b10de5516bd1bdea06f746bf8468408f85b7800bd4d871bdcc1011617e4a743c683a6c29f614316ec11a786c7f8d010d23851e5f9b061cb536ab04e4c4d19615d9455ef84c9675fbba4bcac3f4cb97d32c099588ae154de42b8165bbaf01ab2234e41cbd18b7008f1798ab87800a72c399e4f8bf20b5e66ee81545e5e2f41f95d387478a9173c3e531da64c24cd7d40b950e400779c602734ce86d91322cfe3e14ed801cb5bee94d3fc66f8e58166c4096de458f36588ec0443a0249c4c18a2835995c99128c88283a8e0e3484a3cc971da16385ba2a39f41a0c56bb090fcd2145cfee8c80ddf85c7ef016d087102206c1e02d61b462284c4d3027009e71114c71b31297aa065206c96e906aea04144ee1018033b5161fd8b2dc6e18c5f8a9ecd7d0cab981af08b22a8e09602315ec0a326ff888e9e07d0c6e0091c12f0657143f29104711ec99af3939019f30fb088c89a28457017cb19ece90309370b1cca661a04bc8e1aac533a90c6e3bc8fb29be122a70338ece3de6261016e1409c74ead725855b00811398af5675eec082a7843e703a539f04e1334860be54138064499d7c14b109e0b35e2b74821e56332e5fa476d3fb28e18b79c540c4298c5def01f604090d16c31f3039cc0c8c10e8d7a43aba43cab364ecf44528c6cd7287d5e75e7efb1f1e59becfaf080ae88f927388ec7aac3be1e124a9905a74af8c82fb620031a81f07e751436b963e251725c09fe1af1c72b142091fdfc2d3f1227204e81d4fb2308f07d12601b7c8729eb67b440e17eb61cf8a44b5c9e93ab59b90b3045eec1126135a59d0f344c099ef1a8ec93cce1f91b0bb77c914ae29568b4e02838263c98228eb7a2290fa683e989f34d4a958d18403190323e642521002e406119ac754983031361265b72b3e51776e9726274503d890b25308933598e60c8ea4ddee1a73144c5c9ec397a2aa46ee44673dc3c4e1a2a39491ae5ddfc22c3b8d4983cb02118f072ab3d2c20475f53440a436042e36598daf2977478c0098ec87161aaf6865d4e08c94c9e427052103c5841ab3c1c65e7ca938a54250b33bdfab860a83c4cf181eff0220217f9a1e7b6acb4fabd3b096f414ea95c2ad09ab7d08232043a0dfe274102ac274b14379784c2746586bd8e093d32971fb0dc0c13a56c40450ccc828d88201355c2709337c8a030353e305b2f36c336174ef0102b76d842db058f010b5226a406eff3d2005f4fd426f7e1250ffba025f77d17fc85b528bd5da4509975e3f24f9643bec6a13cdfc74e020c27a7ccf30debf8190219de0f2c3c1c6cca99e742f3e06af8cc7c20ba050e6c2df663d260619bc0cfe76892658c2ec2af4f540bc5b06fd4994f7a5a306cb5fc93f3d0f010dc64c9864350f2f0414a403890fce367d90d3d8dc0b09c6b0029d79044d54fd16bdc42991637ba0ae05ade0cc1ae20787a5a0be0f281b2372f4310e4b72d578e26ce9caf8d19f36e02757a34414ebd053e0541577635fef14205b7d429e53b9a5808ba4932deeb8fd1efe072bf74c82d38264323b731a0474e7228d2db3a24239b39e8f13150d5c2915e0478068a96dfc853826fb4f11cef0d0bf70838bccba03aef23454daed000cfe380c0864bbca1e002e084e51d5b72b9823722ce9164cafbd1151f121afe4c6aee0815cce97a3869f208671419942b01601574e3b4eb97ac8a130c652b972b6812c589bc057f8012a2b7c905c85b98d2903d64077f4a472d4c49cdc20b8261c127ac62e04a5d07f26b89964fc2a5e043b92447928a8bff6a22e0cb0e1df2372503d7f2aa8e474ab3029fd2c496f924093c243e58f09e1700be51599560115951b0ab2dabc6067cd2831b581a13f6193ae14a4d48701cacf3fd0ec1c9580eccfa08870ae10c0be47ca7017e3e4359cc89b5f2e064a30878041f40b22b42715c029f2456c0e783e3f9b1cb8ed8351f85642ef35d62f33a1cd9ca99d8f06408a588092d8c1281a1e4901494b4c7070380b0e8f982e1e1e5ac40ae09d8b05745eb50aed36584e755ff104c8d70372bfa3f58bdf2154e64e12c7d8f3cc51936df870e243fe4179843f55af53f5c408ea8ad73b44c1edc69c67f2d52182f1ae1c67330c8f0a22a60fa14142ce423642fb0913fc1824e6ce84dc6ace05c91b4b825132f84b0dec461b7601b82a47c181e36c5cd1bfc0c7ca42b909e2d17822fe423d68f6295c73fb1907be54acccf644892f5a8f5785a6d26b90c264e3e465c058c451813c7b0498d0b950cfbba0478fc4e068d3f422c902719027b2dc418e1366d5cb0993782d324231e49302dae88cf855f0548d5500eaf14964370256848490e1c67188b6097bed68d08ca92ddb82dd745b9ef91e889274850965d2f81fe6bb4f94a287cfc8d6ce46df5e0f21d408471098baab89752617cd0c9eb95080991db684af35ec18ee41610e98cfa5c791167627e098a17022bc0e021bdda121404ea0b96d586cc3035d67a5b6f340db1e0d29505f4e812648584e5064068f80b31547da3088b1e91ac380ea4cbae6784abe89e38b8611c666dafe600867fd52dfa0133c43c814922de8cf7791f71de78af37529e6849223700c944ee03c88b132b4cc00a3c54c28119963915125d391f0be407590efc9321a22c40108a1c42c3980c02809baf938687d574a2f53d84a8c16acc147a58946cfc0aa685a349f8f2fbd4e006f830793f30de7c973f5c320221b25c405ba98c4c91c0ddc6b4c1805c967cdc1988d15659f905b356641b0e5817a0c50fb305d085856492f53950087132c82ccca9cdd593d170831b90a87da24277f2061f8058085f06bc09cfcd21acb0de4e132c8ec4ef16f61334f52ff418f1a13543dfe456f0d3c462e27f5872f9865c8c9e02a0646692c58caff15b92f538a89792890df70034c9dda0b8f00b706d72345b7a4f2b82222ca5888f17b482c13ff0281092f9f000d77ad5f6a0928f7cce26554259c2544ee0c31c6641278f7b0266fc519f847c1a08bcf04a22874bd06c388b707f3ac6c4bf3d2af99c3fae3e831d20bf87c28d2b4112e43d38f9f35f4a3f5f250f8487c2ebe28bcad0e50b2631677546bf2965f2fd30c2412f7c503c1e02ab84816a80c26a432d414647b3cf6368c898d914211fa84e97a092cce291bc685d9006182fa9ca9963fdc4178d6af29c24a87a2f46921993902fee8bd494376122c95f318938040c75cfc95b3920ac068e48af97db5953e77508d983ffee64f028a5fa643f4a612f8bc01f8634e48089b5c9f4424e049e87804f9fc30d8817229c127c03030bc731f2f95c87a2f8c944caf7d119e45ec91f1b5af273387d72367c5ebe0c00d9cbe93dfa5e8179cf6bc72a17b666275fc954c0036fb898572d15cee36f189672a3c72f53f9392d0da23e88879507f8f5e5f106c5c29e56fcc26814da8427becc78473fe6645da97ee05c13ee86585520e6f4a60cfea909f319222cf155aeb6f82f2966f09716b21e864a2b7790a3c2d370b1f3a124393f0a1890fc69ebff5185cf7fd241c1795cc2f5a08e60fa1079d4ef83e2ca7bfc38e108aedc3d892215e7f0960babc41e055d78e9f56f40e5c835d8ec7c1f33138441ee387230aa52211d13b8f0064269b04f0d5aae84d59c434210e746e49c7a488c74f8203c59b9d29981c7350cc52010347a147a335e83cae893bc0a86b90c037c5738ecbc0c89b84ffaab1c29962b3f22688a1322e4c0c17050f06d4098fda1160472153b652e034d0a618740a6dcd1a562f9d29b3b6c890d3088e756e6f3d4a123d4ebc4e17bf89281e108b9f22e66f2b08360b097140bd3b70558e3724899ca6ef413677529bc464dcd5fba73075ff254e14bbd52e5bf5625f9f654bd9128076f6b4e847c02c9b0b73497c8a7d021c11660f9ca521c357a5385103c72831efce5048fe05da15259c1120843217642e0059be2081bb812f035f4b0deb6a1937f78b303c348757edf0925b843a760ae468a023c844295d7412b530e72e3efcbc8c0e3894abc72bfdf80a5bc4af3930480ca6aa8067753477537eb8ba7f065437ea4ac4c208f07dd4828c278c07e0409b021944f5801317c63a679366a2a8c35f80c2f43541a2ce11df0c2f8f4b83a04d5cf7001222b2b097b365f82651c67019e531e8fef50c7e52f5c6282790921e49a0055bc201b5efe109110f9ceaa091fa2468e8cae20e227114c6ee3f5e4f3c0ac785095e0e04153766515109298ec859f0f20ec15be15481476f23b19c4865358ce7a021f58320587d103e4794852389703291cc0050c1ea54fd3dbc13423d3f2a0f7bdf6c0f91fc932dfe58726dfe293f702a814f847a6763c1f0ca0b20727bc7c428b065e25eec41f58a5e7ab2b3e9fa60c9637b4210106604046c683c60ffb927b13d45202d007889b34c6e7c80c6e412657d0c185e3ab99d084f5c095fa4f3e90980c1235c7a380e13d4038be698585818c42f0ac9ce0bc04cfc3f38a7402f70023e615ac5ab3a8399f9cd18f578f242e8f57c1442abbc52ae13a3eb9e5516949ded223c26d4a70c2ab54687ad50895cfe44b8611643dc83dd023eed4205446c1e0c8585b6a236360f268486225e46804bab8993a80de977b063fb0a3e282f6d4f88a5950dc06834b4e86c18317aa80cb5c4e84f85b363cbc83f57c01c038fc113a228f075315ec080ce0f31275e700ea543c105d0d7284208a8cc249b3599bde5b016cf4afca7e3c8f457082717c48fc2c5baa5e4d0f3f4f94c1e007a16ecee606880b0295e1ffc895c8808bdab88e0227364302c0e74d30f1805e18b90f5d8edcad85aae71b94865f35365ea41529972336f777751c3c5a0d5fefc18dfe5a9fbcbcdaad59588d1004f31080f654ea183f961257b913301098c0823398c8d3179ce5421b2ec456fa0375278232c4f8f90e31ce72d1d2d20f9951e20878c47030803ae03782327c075aac63d283bc0e110bb9058543fe47d4a7473106cc797122f0c5da20cf26c530c34255eaffd6d0701013eab8941c68f9035c193e106049d0cc81627885594058f76a94a37ad0377412773aa0403ac1bb3d2c70a09f19b8c72fd5f93808f6adea247f46ace11b2236c7fd940cf91e6eafb7800415863352cb63b025f0575d7479a7161b3e8c5e0e67a39320d34182e4b6d4187a1064147dabe35eeef1ec5f8050e1b5e3e10767b4867679b2bc105114328833270f6bc928034e99f57db9886443966e7c8b1897840406f4f2140a286515282a3da43128f0a008be9e0d90485ee0080d27d406d8e3b561ff22909d5c6b51102f44e90f2f49b1e7a53888f943437cf885446e32050ba17cadb8e11f81c03f4995306c5cc4034f78b506ef69dbf442866b3045125faf76a07d0a8106e1bf37c5dcb6a4907382a586113ddaf2a6108d0900caf2bb5a7eb0999a59de0792d01d69629fce4b25db00a07a17cde8ddbeacf03e27b9f01fbe4a0e88011a4fd564fdaf112abf49bd380937bb6ce7032ce7d2044a7ee468106eb0441dd238142a8fd5017ef0542afcfe00861ba9c4b78b340a07391b7e9f4d8d84995cdcf84b6ea1fcc65025b71b602433c141cadbe2ece0058c42bd76e2292bd130f8da1714be83038a1f23c78b4799a2e6670fd7cb2451e27930d07e890dedaf9e00fb293288bd8945db4b610a93c93c50c24b3d147e4a22bf5ca253dd6f30456698479706e3f0522bf848891af691a8449ef106fa1e004e9e0c962637a581d6b37a21c8c9d011e61140b539de1f1417c1b3f384a4e0c84813d17b164478cf983e6fc589c02b158cfa1d495cb841192f1f27439afc270d805f130518bef3c6d17f49b50b5f21cbe5be5000e660c53658d9662707ae9a8513f432916b253acb37b214081223c0c53db8cdca1b363071396ca7fe830d57ae25065a86ab23c8a5b440f46380fbf5a61cf10309203c874222721f06d921651f1e4218ec2ff9e8843f6d22f071982833602027fe45165f7651e1c687183344c846e1cb075bdb9553b51133013ac05e6f978a4721a24e0656ccd3d7ca16c684eb12e7c0a3cbe32113c96fa028f141a26c72226a0e38285c637e049629bfc62dd3ff7912cf83d519570280574683278043fa0a1e42809f0f72ebcfbbd8fbe12f38d4c1697e4cf05477523d2f3bc47e8b84540ea88ba417e12797c7904abaa0e1aa9771210fdb1191118440a7067f598eca97761d703d0578f8471f502e4bd8e3a96c7973555602ef700695a7fab0e1f704fbe569694efc85217e5c4f1721188f8d3bdeca4412ef442a3ba228a3fc4e04299ea849608e11a988df5841f71c18fdc0073660c96d7d731f084d8420a01c0af897ed371ad50bbbe9f4c285699af1a6ec7204cfea8e7c2aa408d763229c88b2d6074345bd1a52189e899f3c1f4393138c061df07c660cdf032b309ec21788dc9705bbc6f029c3b08be279b87cf8290adcfc1e09573c8a8b1d2f2a4ea40ff32084e700d12278e7081f3685453d86b6188fb72b0f673059e61fc29ae44e39366020777a049bf099e33af2f878204bda9e8e23c76783323d9843591c9129286ff6a880d78903e168dcb4c04508a55c841f600ee4546964c2b4b16269636963b6d2c64e7972bbe8dedec625ab5113356e7517dd769f7b6e711924119383733024f6a24b0baa4a13e2a1a561659a704f9ab0c5982d77ff766f6f3dddded8dcea94c9b584bbba6037cab21a2f69e238777aaa1aa9d66897aad65b571a3b2dea6dc25d5d9c5bada1ae68dba24976c3585db470b79ebbba68f73e91ea6d6275c1ae4853d55b86cbae4ac0bc337dd71baa0a1b2daab793dac56e537d224fa9591adb0f6dd5ad04cc5b571aedde278e2aea0250ebed7335b78924aad3127b65d51a2ebb2a4dec20e80c40add79e7b9b807967baa6705755d525765ad47f9a3d912e7a63a571aaef7ac25d5d9c1a6fa745d465b79faac25d5da4e97bc26557e54e378d73bbedcbba6a8d73ab355eb4ea8a060aa6610569afa6491a26f0b7d536ba375fba84d07d9095e626f8e2de4c1593554c5963553152cbddb7f7b7d5e5eedb3bd3b50dee4d13314326e0dc1cc11826088dd81d1a31ba37626ac436b4ec4ebeadba9aec56ff5676f7996beaaaef9ad4cbdde7c6f62668d81985363a3bc2f408b3fb343461704e74efed839a60527ee826e725181c303dee8e7f43b0097f5b3dd1bd25bb5f20707068c006fcd225e59728b45f54dc5d75b45fafcebaba5f8bd07e25f2134d9a807babbbb7dfdedcead8239a7c1dcdd70f5f261ccd57074f0028d097815e9cdcbd88a3f5c2e1c3dd9bb83b13775fe24bd86b582f5eee5bb9744f740f8eaeae65d7f6d86d5c6373534b9a804457dd7e9b97235e2ff4307177d4d176cdd8e5c8bd5dd91d64a7a7de29717589ad8b1a8daf1145b62deeec74c971775d6463986c6c3806c0cf9da6bac489769be63b4345b5de6ed33ca38a96c4b94f24b7ab22b95d15ad8bde2871eeedaa2a70195762f25537918f8fb89134dc774f457512170c77f73e5317d3541b891b490357075751ad77cb97fbdab9d16eada170b45b385c23899aa8a2c9eda2c49d1e55b4259240bb4574f7b5f62da2d962b5aaa7dbdb6beb8dbbd770345b347cadd5c434dd7fad267650b71f7a241e5594685c5510d79669fa1a89dbdda932b99aed36ae44a4e96abc5a9b5836afef451e8d5a12dcddcd0689361baeba934baddcdbadde292dbe39b7b677969f6d42c5665113aeba936efbfe3849b4479d9ed0ac0b9897a624cc16d5dbfb84bab67acb9065e9445f20680b1247155daeacdb6e13ea0eb2b227b61fdaa2ddcaa55b57d7babb6df59ebbdb968472b76ac9f574222b4f56073ff751d54853b912f7aba2aeba9a28eb12df35c715b4589b1c83aa8f3a3512699cbb7d89ef9ac387b0c83d1fb10cb8bbadb1adb5f9e5e1bd90416306dffbbbf9965ddbc5957d5353d194ddc9216ab0aca04abdb75ded87b2cabd3db735b83536b5e39ac2b2db46229f5f1fdfb951566db9fb964feb15a0bb041a2e6abc28b167c2458d1732f64eecb12051a2441e8bbd537d579648a24f9be6ee23fbc0c023816681ee81818e033d07fa93408f12c5ddcccbdcdd893b94402f0b0c3c12181825d03d104a20127fe0aa83b3a9b9fb38c2d15aa99220a16db79a5c4f55b34462eb6aa4deed4b6235aa2af6a9d9a3b2860cb7d52d50175555044153ada227f296a9524962b71a096335aa2a5c75fbe5b1ea45e36f2d5157d70281e968ab1c39d188125b94b891348820f8f6d8758fefdcc81655512391dd678abe782dbb06e459b72576305157bb2d06bbbfb5c44e6ad535b532b996a8ab5357b465b79fdbdbdb2e358cbd8d7bed522befd80da36d5b9d9a7bec5602ea240ba8937bbbd5c53bb7b7d70e50275795862a05a95c54b768b01bc6a9c2dd69aa61281d0d5585535adc65b868126dd1676a77c6996e3407bbfd5e9c5bad71e2d47830f452cd6ee58b5427d9d545dbeab444bbf44da6867860d7525dca88afadad617077eaae2e886b2d31d54715fd5b53635dbafd76ba57b7ba68770e34526adc5d91a38d32d58158575656565666b6766e76558fa8ba2a93aba944415c4bf5eb9adad549d46df752278930886b9b55b2dbd59b3d125b94f8e7b62b0ce3bab2ca9d44dd3de366fb823fdc9dcc4769591345cc3d2dea163521aa9128262ebb225be2baba75bb65b7df6689ec1ab2d5c8505cfcd8dd6e197bb327cc164dd6d5b5eaee5bddbabaf675b53b03afae6eaf65d74ef5f5d006a7e6b2ab52f9b66a3ba959231aa83668a0b2b813ebf8f888ae2612cfed2a5f965d4b00b2813afbe4e453eac9d326439b0035bdea31470431f7eeb8a1a9452637991460e2c3a4ea92a84b27234b762c112b9949e26895ceb6db6e758fdd2e6a6e65ebc1dc7e940027e5b9bb3b09478b84cbd122dd71b4484a358fe07e21015da43a478b14c0d120f1723448761c0dd2eb68906c381aa40e8e0669e8688f5a39da234b8ef6e88da33d523ada2318925c77629d52a989db7dcd0d98f7b7a6a96ed5176892d2dc3591c8ae46b45d95c41aecaabe2a6a5c5de2b959f405a2a244a2bbaa25d6edbe9aa8ae68ab6e248d731789ababbec456ffb9a8896e248db6ddec79ae9d2d0894b8c6ae2c9b4754f5663b2cd9d5d5a7aa93c456efa24e89adfe23915cddf63555152db17d351270ff215d162d125d75a3a6aa892af1d445a226b61a796e579f9b7dddd7881289bb484c53f44fc3df9a12d7d5256e53d5a92e124d4d5c3baeed0cc4766f237127d796b8d44ae2ea12972e9aa245adaa38b76b6e25e04e536dd278058e5479db1a9b1ab2d5c8335d8deeffa7f054701ec08abd163c4f1fc251317f4f23b02b088703c20400dfc844e7227e98f11e2360399d332c1e14f6e04f6d1407b620f3c13ab5f141677c1e871af12a0ac63c934798b00033765c042113bfe081afe7a0cacc5b72e5f66abafcc97408ccb9105f90701551afab8243c38ef08c7ea2d39087624292bb21a2eb4f9c20e68e5c68c8c502f1f9942e1fb28e7ce32bc4c1f48be0d67c4f2a2234d277081b10f522a7eac3ea67c14981db94ab5ed09e34d8978016a685ca0a7ef30a73314eae3c8146a4de2e4c22ac810a9b9f5ac4e113b93873e102339f4a0da0277046266fd954c2d576f9399b44061ec0820cb8c22b29bf978dd80f9aa01f33418edbb942e4876445c2b3eedebe001e2e78833be8edd65a65228134e13a4e113e15a229df0490986b586881e3c0e23244b3f3e713196a832b9d1d715395aaffd5678847b2539753d4117e5bbbe24b0dd3dec55490876d80f4888a58c9b32269f0380cb7de9409426f450b0e7c87c33dcf8288fc25b5e0ab2f120ec7ece2782225f85d79073e2f258455001994e1da5cc30b8222e13522142c2b4de87880157b8cc1caef1e497e078c2a8ea7d599a7be427dab3b0a8e88cecf5b1884f4234d10bc5b0941b9132234cfa3231716712794cb7add5e82075b5f87e247de01c2d4a7e955ccb50b102fc0d79db30a64e6d1e401843f0d1a8129d8f2c399a22c1dd49fe55f4076c140dab4c2d8d0f9bbaed8650a22207c86554d70872b507c43924d7f664e96bbe57dc2adfa54710487a0e432dcf6272aa07d2a352e3e94c3e2718ca572bc5326f2f1ce90cfe080fc6da3f7711bdee42a5a68b929521d722c1a9b3c05b02fc3371a83fccca5611005953a58a3aa0b3e20c0c43d29a81bcbad135c61390c63320e7b1b2f09efc5abcf0fc1920aeb8172e395f0697ab74d197c513052d6214887af0bd43831baf72d3df21cef4d30ffb1812da73818381a218e239903e25cf0a03dae33797e6157231ce4e5f7746095057d71e992df965d3e41ad0bdf609585b100191a65ba227d41612c872f35ac07be25a18d7759520cebc190e318cc0b4e09c4d2c1d889e37e20087d8222118f1f7579bdba17184a5c1d57e52796c391c2e41db92883f9dcf1710e3e1e8f8542e39946b56157713fde02813bec68d7dddfd16b85227abdb8eecf3098aa86a41745ea1636e3067be5094dc25aaf5afd964303b090d7e2455c31713abacc1eb957e6951c49791ac0a838120cc35f62b2f0580cb817aba33e2124b6fc6eca12cf750792778aa506b7f915e9039900625c6ec19cbd4004bb0c70fc113527584b8862d90f0885773005c21902f0ca653614bd141fb8dcea42e0d311b029c86712119b254213ccf223842bef023f8d09c49994eaf41a5df175c084cffe71f3c008f9785922b8fc82e28b41ecd1798828adfc8dc31a87e224863f61f3c397add6701f30736fc644a9ef24a9d73feae4c635d50d78b828caccaa85142c4082c6476273fecba031415a6fa6fc2514be322639239e0e6e2ee79170ea6324f55fd203e504c81cc879cada381a404e7e22cbafcf954a45aeb564c58f0552fa015f891e829b31d82309795616a6bc27b65eaf23ce2467a029810fc131eb7d9df9e14b4486be480482b14872837e571cbd21498d32281949ec80507e3f463f5ce4d3902d20888467d0a1614a13ce9ea84148165400d5ff119305df1233e457659ae4507299f912d0072f4467e58bc8097961797e3824526f4e33cff8a53b1e5e1d96e7e148e8c2ae812e9e49d017f75b34fc0b7f133c8285b7b7526528d431ac0bd64bc4006be91b82dfce49420f5872e129063e0c6f09d2c38be0d0bca40e2c7cc2a06456a20ad00f1a6393ff6a9df2566904977166c581a9095d1690f74d4b1bd8d1180d1ec862e8b6b0a8fd9a415530150f15fed09e34cf068c87f7baa2f41764847ca44f0230a0213c78d80a422eb21285f510a3b0bd84626230e272030c66f0062fec70c5bbcb0c72e01002c165e8e56002f682dee438a1bc2e390b8a340e49d29de75183cfbfe8d3733427189ec9925ccfea08149fb1e4050e2403d3338a32262f28fbf46698da77f1a2c3bfad8c3e9886ce8da8427c114eaff00324b38297b6cc793b6486828056097affd287d37ea0c00bcac408c3ec48998617409c05569e0f42b181393401f67d5fa2e43a5e24388f24ef37d095e73b82009c8e128e47a25121c3e5d1f3c21872de0131915b11f5e35948e1734e678b2b3141f2c30f1bb2240f69fe018e350c4c98e827d571f1562efc7846597605dfa4f9844994e919be3862003b68f4979d20488279e4799fcba0416e6c32e5edcc50fd280524b0973265fe6d000373a1317c4ea068e03108b69ec283e51fe0b3c2050d21e64562a5790dc702439094c1cd9e10c270a992aec2950f9c85c996a781b1e4436c73de4d112d615b4599efdec4c8600acc65bff40fc6a36a095637380a0a59a52ae3bd24867e70fd720a60eabe589192f76081e62e66ec01a8daf3613cd8f10970c8fc994fa9c70175261b6905f13b8896f8d021330794a9c63f99907e19620dfcc82fd7ab59c5eb8f50ee9c405aaa3ce7bedf4bce8857d1c80296106c0f8358b4f79a0a1410aaa968f5c57ccc10e689917b616a3ce13627713097defe0aae265e8b4e907c8a4ff2cf94c280651991e1b664d9c27308e17a26af2b9c0c84e292d4943cdc0535efb2ae61569d66b89c33383c82f2f8ee144b790a2f082f210b9e6b8142ebc740e46097569bbccf7a2a6ba8b100cb991204033aa5c889ddbd63ad820ed84305621f098f755b8c7c7d1ef4d693f173e7f9da94fa473382e5556b82f81d1c75ae2a8bf00b9d0afe02d7854bf2a0214f6955c2b5a8b8858f44b1f0903cc1b91b05c0afc00853e62527e9d91850fa15c252dc27ebc29ed678fd2628a632ae06c530005413c624a140f24d924c09f2524be60d5edc6033639a9cc5c4091fab34793471bf3e8822b557830009e3d921f10b2e6a602351d6b870032b2c40c60df711aa4c46c6017c116e70d88575e9a55440901f28f317c01009f34910e8538290b9071118b2de2430ff08011aa682034410462a057880b0e598812f667005a20d618734905ecfa25f41221afa6702b871230f31fe858ed96fb0f33e943c609e0895031fe80429ace651f36d8a7ee12c185c78b037519c481dc08715e205f614eff771eae13ed0d87ce0d6f0a23a98f95d81928f56fa8059a9993304d6a693576ae12048040e5586bb35254b4ad0e03b2188207450e0cfb9a4ed18d21022f7536864c87068683c212eab1e531ef56d0bfe644b62f0f80a2731f28729f5415c18f91c4c32f9e74aaf85068917912513bef0c9cc4b09a5c38d78e8f56515c0381b4e325e41263efc68d710bc2446b05f93b6c12d5d82159c31aaca8799222658ab039e4f15c0157e2af2e1e1dc9d128e0a04c645e1d293d1f05df91b8f4e39ab3b3f9ed91db91501c0979107c76f6939e070be9478603c5afd1ba50c4f0c51283f94478b9f4175e733e41d782f1454fda25b7f9e9649c293dae326df2942f5a62c0c0ab6cac4e1f3e23812ae25b8f47a5eb8042fb5e08019a17ae10723c07e8525113989c271658320bfca07a8b75216295339ab7ba760e645a8b571177e26655d233478273b8e7e952148fec2f89795085ab81a060db00f597afe1cbb7b2c423c0e60a7ee7764d11b08049513201196935cc2cb4e3a647a277c6e430cbf2639212d4c820ebaf0f990581984853459f8617c5c645079cc7e0c910fb8c05c02cf0287552e264987979dc0f54f3808f2bc0744f229269a5ed41a95dc0e227b39b9f2643068942f258f8c3f5922fc3c5e4ee53c8993077952fc2d5e2e382bbe615f4a40a05c43082ba18313cfa351852438cc9a1e0c524a30897088bdb00a20443720719f5d26e11a2c518ec084fabc6a0d7140040ce5346a2367c416331b5d673fa50a1e0e0148c7d330e10783fae1e8ef98c1e06873d935ec995e63161dcf93b320936852c0c732c47d851569bf894b176fe4f602bbba3428b3b7b6e4b160a8312d0bf0bc0585b72090f4c61b6ab421384787acdf22088890121d36de0618e67024f0fcae4c59300f3915de16a6371ecc507e4010498fc2e793db11e8938b690cb9974976aea6ac960b724086670ce07b4b4778bc10880f0fac33e13968c0f860043a3d000f815e0e031f4311b14afc881f9f3221487f1e65102be13a064dceabfc8c71d91326b7a873e9a7b0a71c80030f59061f2aff64c9a607b577f79a969fb09012bb1c0d8aab3cc0d70897920789f5aca2e129e84cc9ab92175f0739ebd50921fe00a5b3b760aa846b793126235962e78b74da9095d839b11bc08913239384d733c4f0a394cd63f2a50bbbf141c249014b909bc05a9287903efc0c34907e56051e3e36cbe8328c7dbe27efdf848264864261ce6b81d4009bad5eb9a04b3f72dac5c12b28d3c66bc5e2f42cb6e070b335cd6ba94ae3be3cb0f8b4d6924ce805e0ef4803e48980d9f5970649c9e9057f22757cdeaf0f180ec0452fb827c5c428ac90091a198ef8570e1ee526924a79245c6fb02a64104f1e197b1c9736bc0a4cb15e021f31279240857bda5edc850748f84db8cbe19c8cc24df6e8fa40787cb9968e378fcb00944cec2cc54b21c427ff71a5e829b955f295251a8795c5499041b01463105a784257eef02e1babdc83951ad80725ba60a053225e521e99618c0a90bcc69693e9dc40f3bb092f329670e66528c8c8ee0f3fcf2a8d2e4c404788dfb4a203f6b28cf48512b0bd1d3e1ede8e8126cff54bd25709b2e36f013bf0009e98c00238c87a5561dabcc5975d6e3357cc7f5946bc2929c570491151cf67d6975c0baf8861acc084355a08793d6e8e23f922f28127e2bc301a393cc91b250e8a4b86275348534ef407c9e3fa342b4b58cfb811530706534b851fb9b00baf4222e34978e0e27b2e686f7f30c92f1b060f736a117ea386c78be943396dc0f15f0d12869f3c40311950b230a51188be0b140fc12c294ae1539002b3dae6f232222cc996fad0781e5459f093073e7e28c82d438993c6b90c6284db9890f508da24f96117a28bca83f242744d794a7ac0fc080b4a1e85d10d3c5cb5e35f10eb955da5dae17aed5e3e53db2fa6f1650f944265220ad0fcc994579fa8c7186128530c30a993cc581e2a677093212a1ce06f7fa05b9e104493d45fa87977d306e99298ac7936248afc1e47e7033830f77d68d0329a0770fcfc93c4c74cbcf818454b18d52a06ffea05a5ac262de57f702e613daa090796c79507b1a5fc0830d87c82027b18ce16c06c09ed484630a1935079a7497eaba164682030fd612aa1602a4a63f8c5d1617805112d1f64c4951df5a1700348d28c658c0ebf2147c36f92b4e0b98c5afa103e125e8508302ef4a2c12b147b84573141e16034ecf9652ca2e354279c818c13ef6446b177f30bf400fe20795e9c0edf8b07b1e76379600b0e1e04f12a99703ca22b1cacc8197fc2e7cc3052ab26b850173a6359225179237922f0162a807cd08a3f5f67c5958b7131c13fa028e4fa521bbc6bd3dbdb716b94037ca5a741c00dc63227e2f79c88e51c20b4fab70a925e4add815f0220532ee21ef25796c660d794195ee1874d5041192aff9607c4492d60e3a7ce180d474c428559655035d4b4544cc8b8242887869e47c14192331236ea89ab16e057140cbd9e572f4ec1a3f8748e6bd90321be7fe388d39fb825e95d204afea85b57be18a449660408e301643fcc0b7085cfcdf1f52c523d715d3924655429723d1b1688d03bb0399d55c3b102ed9f2773eb4350162638ff4a0cbcdf9cf24b29781bb64a85cb59c9bdc03c5ae88795f3872ae3c339e9b885d15ebdffa6e687c5cc41f26e75db9dd0a8f18680ad0eeb16a67fb50b4f46408ad10bdb11ea5999af5c48d088fff0daf5ca20063c57082cff025612e728b42bef599a84f7dc2ae1487802833b668572547e269b66abf006623ff2636af4b3fae0f8587f1b7e831a1e184f9ba40f149800ff1ad3c87da0b1f0c943099cadc85ec69225cccff569c240323570020004e05971bf7e800114991115526f6850da2b19f4cb556441fb2b0e1eab818a25cc038c086e12e185d0cc07261f86bdc3a3e8081d0c205d990a290f3f85adf0672c8870226573f2fb39dfd5153ab9d569e3cd276e18cb0bf4efd43e7f32c3c983e029c805c4e479519ba864466d783cabf62e0b0184c1855988be5cb0c32f158282d52cb0e2077684cfe1c5ed2be5ca23a4f2aa0cb6ab734aa8ab0c91bc0955d1ff28aae3b49c88100ec2c02073f03761292d71bc489311ef49af7a346860fd95225e1e97a15b5e88460d6fb344cc45081af099d000c2092899f1334c936734028247000605038ae1e66ea64f2e0541a54f156890db594bf236ae34c17dbf38b9ab124670810ea8b29536838411826172406728728f62768e01ca0ba1a640c83f23a32f8b30aafe454611ec825888cff2c14f5ee483937f7901c6130c18f28bd25e473444f1b9d8f2fd4c4b4e41539e038299f22f022c6eca96994bba4bfe85631fe725e355a624a7f60a06e9bc2a4b307ca8a8271842c19c2b4a80268805c4228ca6d364599a16e01621ce3114acf8fe2e91973c2c0ef83f808adc0217329f9e59734c9be678ad36d7076158e1096ad8fd9b5caf9e1099f1db565f6e614c1bfe7385ec95c526e02f8108fc980627798f12f1adec9883f74e24ff850913ee464d8005a801c329e2aa6020b94a04f51c31812b61a93554e3a1cdefea9440d8250ec69d6291057351a9f53b30850c8114f15d14918325b19f1c091a3b0fc6afcbe73141072be8a0cbf960a873440988b8ae5aca3f4bb1f122b00265132448fcaf3d37f8d4a20f9e831124afe4c7ed7d1580e05d8e9070d0182588174c0e7321c01754e54409c6c23745d8f279f2738e740c7dd0e8e38d7e90f24a709678a65ca31c058d232f6bc81b365229d0f7c06c7cc5c57f1d54eec9ec08e37b3c68f906b01a79872c985c49114dbfa29789231de9e31a8e009caf4a041f86aa0d6640ac93835aa4fa582436f815ca6b2c439df35d136dc11308e27ca526cbaf726811264b810931dc30858d9808223c53a2e5a5f041fe9a2cb87c4a1b192e4267ca61b900925de91df8179256e54f56e6bc0a5377feed32c253298959a96392476803036b4203c5dfd8ed715747886731f601474913c1518db1f114ccb2e044970a0c67453af4e9203aa1f24eaad7c3ab6d6cc98a2cf88b2f1ccb41f67faf740859ad919cd518a55f05e5c5fbc8dbf43c16cd39ab3c40798902fcc6407e2f8b169aeb2892c8f1bed078125d16bd9432983cc3ac23d8cd00aeff130449564145c0973871c259227ebe090603dc76011156cd9808f2c98194875fe6e01e6571d9c45ed9301052946744c4d363506e78af2f0d2ed3ea67c58a561ef3a9c7873a42c9a320317b01482a653476c6bfc129d7dfc9a3c3e9d008860365087940398cbc9220b39cd89c54ff65c486bf939533825d749c85a11d9f20559f809e911cca82f1532a7670a9c0e30b91b26650c93018d19bb20c284d0d9ef5e1082eb6250f86e4e1ce85b5a5be090929f99120337f26c3a6ece84416b7930288b9e4e1f52b18a8c0c536007923aca537f183caa3d271f62b0cb1f0241f0ccfa97cb9af2d075c80f2cdf3d08058e7d9f199588b7d2c62f142cac8ca539244c085ecdc086f9d297833740d864458b05e90a7bb6ce2cec55b5c3dc95c0219f05eab192ee040f8710277b8bb29f35bb450caaf1ef0bd9633ee2edecf47d16382ddda40f99fa3aa07c325f9092859f913c9e3fb5a00790b4e36bd2b3f5a1898dda0f741c3cb1fe010e29998d0251cb3617e2e003486819c5061b6332a8446e28238874a63412d78463ca40071329f0cee47c10329c3f97be3470cf0c1e8f2831f2a93c9432d9ae270c3d63c049146fe6997ea1c646c78197ad8b02a56071e8e2df3b7d03df1267131f280b398e7ca33c04945b9fb431acc64be6241fca14f2b21800a26fcef416066b573600265c87e4976077b81f00ab7bca982cd2a6dd86f9507f78260c213304af806a902b72202cadfa0030cffe2f18feb821e3ecae9fa5abaf0b08b298c1e1552c703e5d47e07a624dfc06dcf4f5063f46c51603d8225a04352637bd77c9ed789031e5609045eb329cd19866f41175466e1e01147c2e35a86b7c02a1564f91cfa2b4fdeb2a43ba03e419c5e1e414ff95e14fcca084cf5f90360d4e431b3027ca65b43700fa218c7315cfa2a1d741ccd51dfeb1af33e2ab3c823bda879326ceb703e1afd9d4875198ed0940f046558eef1c9533e3730aca207aed7a3460521885983952b7a8df5893307d3e9ca2474b3e0089f1df8b0170b889cd7262998581a169f25548ce7c1a2c507cbd5e210a72a27d39696156c59f521f0b4c24b200c1f4dc3e3857b3c38aa25019cc7ae4d7e025087dfe875ca4ff832927bf9d2f59d645cc25d1699f849641d30a76201fe2ec1a9618153f93960b9137602b2e22b29698cb921e8932d711130f41390ebe70cd0e50e2e0d73bc56a03e8b87543e09451367a11078b511724ea6ade131e23cd6e5878317b1d4cb1589a1f37ca70e780047965c4304496e8aafd10bc2d22adf1a22eb5b14cfb01d40806eeb390415d541838d2c268d9511e258efcd0f0c28ac8237ba80052b17357a1e003ae1109f04381853038e23f0c33321018023aca9f0c10e0cf31703e7eb99834cd6fe638ab229173b25c9f9c47ae22ceefa780f3141b0ef59723d4d2039ac340d9c4b1c58d85d1bff4891dc9fa8b0056b98546c68c41ce34d8089c9340c747a5770300d3fe8f184e13495e1b34b6170852223a11675e4514e6e98ee6ccf652857e04fae00bfd61701995119aa6f6561e9956c94fa1d44086132eea46f8476cb7701b2735cb81e657fa5e4d50879875556eb8f7b14bc0119855e8d718cd77a3107076a7560b8234d12ec7647826ee8011cc145a3e0b0276ecf054f859ca04f921fe4a1060ed28acb2fd015f885a660fab3556e1e6cd8205f056acd65b0a97841513ce1417b62792d2681728c2d6dbc0e92877c5c90e1c5343980cddc2cf114697e1cd507210e980ad89b39c4c3cfc4c07330ad04f95f21063813871b58d7a2b760a15891fe831b161c22529c1c83860ec6b548f5c00419725d18d837f5410c963525c4632ae696ef8e1479565ac8bc045a7b1f006d13966187f4601523df070f985fc2309091698aaeba6892330df0e43b9253fc42a5335e6697f6a67855fa147c5e604a835c3d210e423e4d03989b9062f20066cd65ba1eebf7aa9204b765ca604799802342e462c86241069fb3c4ca759939bd2c85940c02511d870102c5839140f69a348dc8bffa407213b76a7c5a87165f4a11095724c4c5dfc842e21b8c02e60b20bcf9a85563dc151c9bcce1472c2ff6971e8804238fc8d181e7d1e72dcbed2a93c970a292c90c1af66a8ee3af09fb856f54ba8329918892c9f2dcfdd2d1a76f44c8d4630825e319ec38f5b35a14bdc9aa442e6ad21b4cd68096eff5297b3c9d76bd12442fcca2110d974343c548ba247f0593b62c81cea63f61f065125054bcd971e896b224f10c4848e11c9d043cd46526cf8de8f0bd1684c845fec4c2557aa1183ea163e7df322ab857100d1f858693eff3eb84df4a65e7d954183e0b1f9c3cc9539dc3e2c402679841c6d1a86a5e53829623ea6bc3af990e2e8982150f2686ee5324cf9c093af670683d1ecfcdd0d750eae514410f4fc08fa4600b1a71efb7c5086b55713116ba64b60380565ef07640c8c40c03262648925f3a0fbc8e90a1bc1420c33dc405be9a576c7f46f5f32a5225f254642ab0303da11c11851bd8d712c0eb3aad3283057b0f6b16882745e68423e953e3b522370f637805ab2133f74b1049f113acf6b201517d41e5bb7a232315c30548b2476267d0376a41c4209420315f88567885092fc32f782cbd9b26615cd3301fffa1539c4f8734f00b73692fc6d0eb522695651c6303becaa140cfe6d49b7f62f3e95513979c091953cf02960c17a4a648165167cadfb851b1822bb2dc502bcacf8448fb01536261b51e0df0a92c3ffe888941584d56dbb0d3000e784c4e41f02c0ba68702e7cad994f8f3681109d9959cfb28df12b3a115733c39f8dcefcea0ff422625670a72e419d1b095f780f27b05793ff2194da21c010ac677b959f3526e22e1275886fc921bb33ec4835a4e2614e0365e36cf0b49aa8cecc42aef7185097f955af1a13a31c23e8eb46fe693a220134d93bec5002478c6c0d08b597526b77203f214fcfeb201ede87b303a95692c19f0b464dcc133d4b0781c160218859ba14723824bae525c3d549d40580a0749ee83409587124a8f3b190403c3499ae47a097afc3209a7ef758796298df0810528c1149cf5841476042617eed44a510ee0c001a6b1e3c05f587106ed56558f8058081f80e3f46d28f9ca1c5e68f000a664bcae6589ef719c91db7419bf409c13d9552f4e9ee6142e47b037f75a20f9f2354fb1fc97963e18c25ac591c54bee45eeeff7b858c1c3e2015ce4ec20fc5bc3e6033d5a136a3a3ef8d55f95eca44821fff3c61a13b1e77e1ca01ea10ba1d277e8579e868680e37511e2383333fcd0a33577f963f2aae638bdcbd2f46fe054611997727c171f343e4f9a3c3ff450cc95b0a4fc172961d84cedcd17d3650b47f00b1fc04e30dc2bd5ad0c6183269c690c04ec23cc148c80091eceb3b00a13d0c28625b4a09543ad09c33478d9094d1d517dd9aa43c6a1a08ac782f322eba1654f6a7dc385e29870117c5ce10fa45a388b4e0d728174880f1322c1521a28714d8a3a65272f36fd0d0155f0da87c5bbca108749a150e0b938bd1fc191218ca6d6a5200b7d87113d32fb5cc4147c12285382b0de68bd9f393839981835ecc0d5af21934a50fe130e32be45c0afcfba6ee50f98c2fc1d89620fc624f075cc435e47579b773125256b7a52f44301d0b29eb450bfc0c5a1dce64d8d973207e3b93c11e4b3ac40c9a83c31791a485cd98d1f5aaf914f3291264970203727c6926c247882920316166cd1fb51f126a76203e08864b412724a05f7920e4cc871749c7cac5ebd1e8ed528a7b307c19164ee8c7864f938826af8ae203ebe839322dee746d9a371619f23139cabaee83e529824988dda87df51e628f7d003e770647eb927217ff0dcfa09339a03e8a31c72c764982d86102743d08e0e040c6c6c4e50871e55ee02491f76bbe4c78399cd792b19a4b8ae1d605e0f91fac53abb8ff006c02f1443f34259d67ccc1d2ccfe12cc4fb00f1e617e62117b2e28c9372bff8f084053ce20914ffd52392fb1d49fe96bc62afa0011d3ca002272c8c05c611e408194621b4e62c59f008d7de10fa10756ee54342b34ca3c25168091488e7c1c402c69442d58b70e26e76e181a37aed87cacadc10ad28d880051bff098d96cc6bd60fcf63c4089ed443e8aec875b332ba5e0dae3b3f2a92860f7586efc9feecfec2df207cc108afcfb0e5504693fff8890d769f3e84ef140251b08d9c8a15b4d909ea69e0061fe39ae45c4c46388e29c32f2097e9852049f85184fb5cb296dce804130f94b6cc27781dfa477f227c1c5640de38a956e6e161ff982f32a7a027d4c7ea60022bd884cb77c04a956d5821f2eb0a0ece8b4e89a7809727af19320a9bf023205c2167c203f86502f300e102c742cacada4f7d3b66d882ac00317a59698bfe1781197f5e22fa8400686ee54d27972147d3131920036bd061c8bd5c92f055842c781b1b8bdf8175e5e5fa34c191ec54f15f8592e004af9a67e1ebe37a3811711241396c2456e6cf86dcc9bc762f8c004e8a1b65f18255f530258494137ca9048582705204f31e2a322b03b87a294106f90540ad7cce82011889a98703c26202a3c232c37760ba837f8d92fb3568aafcee4a9befc89630180bc9d7c2ab062e822e5fd8ea84733865e58f7c098659c1097c2c40eebc2a08083c57001bc14856d8603b1a46f28ef6c5bcd6a841077342bc27b5b29c03c89a7783630b4ea8e4ca2bc5a281f1c841f1b35238c37d42e4ad385cc96aead47d235a8db0253eec4734c5ca8328ac792c02728fc0559c0bf3c0e3178929e054f480fc9ba938abda79402882bdab060332a3f4ecab182760b50c307010115c502d24092f8d73f27098238c0ad1963c070fd23701a5039bb5e1e11e4cfa8ab6422f88cf823b99ff2c2192ab8154e4d30c9fb0950478af46d20b6ce98828872b22972b5199f545fe2c7d95d5e64fd865c071624039ae428f877d88cee05519d65560c52e2c1279942c1dafb2a19013a8675e167a031b0985ea2ffdf91166427333863e1e992d30e58579207e80187a2f2acb8d8ca147ddbbf2d223c771c9f54b6474f8e4bee1c3b2607165a400ffc58f86f714ec84bf2201e2a3d01ae3aff452645d9efefe4caab21ce707cb2f1070c7a52c499397a8b8219ca343e939bd1920fc2142c47b88f3242b4ae498ca805539af90a62fd4679790859295d3e58292cf4a0d5d13dc82d79176cb53a9aabec29a325723e5059e71c6c2dd1291c84fde5d4fc6694fe64b50e237604a83d14cb0e0a73860caae963fcfe6660007a8a4c0a75462f03cd000584030e55017e2f13748c8098bb16af46a484261322f9e709b100d829002ec792c5ad03c0498939f158cedc7b009e0a0cea4e421431e39cea296f7fbf05c45e030005ae89b3e14391f0e39fe69ebc23ed618720c7c54e5274904dfabce1b2783c5e15941778ee981e96b3f4ae51b798c7c589d1dc31e6a5e610b79720e43e7578681f7268c2521f055ec15cba634d5c8727e3a08633800e3230651cac34c95f0242368782f40adff9b173e478dccb1c8b1722c397a3c191581190719a153b1a5c4ebdadcbd6a64174675cce06c2d21de3f307ca74713326ac982bb41c381951302e0b44a2d1c8a1fdd2f57d9e53305865bad211264c080416644b726b8c1cd004c288dda370a753e9d0a0c1e8f5990bf7b65e60c6a25f8d3d32ab79480c4a7027228fb86466f5cc1e677a4587349c51ee0466a04f81a3786709a14903e46a63b79c90b5baee2c89abc445018ef74a34dce2bbabc0a5aaa826c2861ca3376816c20ad09ee2208d37042b1233fe8100fbc091824cce3c59dec2679e429908732103334ce65d318b63bb29ea6c3138ff0a4ee53015af32e3f0a9ea20c1b9eb283cfbf8572f24c5020fa4171d87e7989ec6bd4f1cb494b439c8dd01267b486cfab2a352cffc280081ff813f07c489d79bcd44190cdcd8427b189e38482e0fae2a539b9c972556692c745d0c11283bbd1a0251ba825e65dc06983d91504de2e6d82db4979b993638c8ce9c59e37c0a80f535081c5199db11e0babb97f7465894beaa4e1837d6294750abb97a4a7e623b25a3ca65a07f211b635bc01000aae30a022ff414b1356a804f86ab4eca107b8589855a9bdd7416b0ea70d682194f125d68700c67e0e61ae1702989f0b9e1c2f1784c33ffa56f89ae28fdff5c09e03d907af0298f6ac38997a363cd2fc083656aff435f706de30d80711547ea2085946450182cbed8af5973629c83b529b608c1c668e8848169ca9c1136c61051d6ca98e1caf348245d0cf9d9f5f54670eaf2589e57a34d8e4220801be6907adaf7312c2796df461e8bafb132f80fd063d4c8fa405b0ac71e171643eff8e905c6fa88f93bf91d67881007ccf8b029c5f6306940f480be4c3e068c926d2acfda6333ff22a4078598e1577c8a0028a2d586191731d49906748b133bc204902debb6221b8235892e7e0e5cc4d3cc5f13e7ac08370a3e4492a34f9231382ce8b00b02c673ce5c35a777819aa8a2f21450ccb89eae318cc3e0f6bcd95774348497eb2d7c855b9470ce5400637ab23e95f183993954a0e3897040919c4ab1fc136833c65015f6e0ce5e859c179f2a03da30598f28cbf223692ead223b874e70be848efe286ad9ce5c191bf0185426ea314f2dac20bec680314afb54b4b0645e5e825ba0445628bd6f1f111d5d6f44ae0201a5722d255df647235599dbe26eab25a49d469baba8079755ea4d1f1e56b2ddaa793c4549b6bdba26972658d443e3ee2b94c37ab246aa20c3a67dcfd83a7d1f9914647cdddd7f8881dced525f2ed9775f988757c2d1f516d0d351255ad47ace3e323aaadb12b51af040ee246baae765b2231d5c5353d12d995e8ee19772da0d62376d030e7d6f6123bb01b35aa289161ceadedbd6337caee17c8de9d86b997d861eecd60b78b4b9d74f5bbee24eaa6eb5adc7ea86beabd163db7b2dd2c8d3b1c24f4881d48d8b5ec269afb5c4bb8bb06f7f793264749a334390a5ccec731e5eec4107644621d1f1fd16db5924834e3f04883232a0dce053870926fdb676e640917c55b2a57d655f34e8d77b2eb0d577dd71227bbde38355edba27dd7f788169324b008df825f601526aaaec9ad26517c03917fa5e7f49ad00068192a443d18af5cb35ead32158a5325488c0e09ea93a74e9c3667c478b932e5491223cb76ed3b22b50f1d3664e8a9c0bba38b63e38061023202b28101e40032e413eb756b56ab534752a0365992e4e8d0203e78e4b85163264c972b539a040ef96393c8628f1c34f4508ca08b3bb26998d0e0c051c091ec181cd62b17ad56a74269aa144951a13f7ceec4617326cc162a4f900c31021a5f657a2cf6c831a3c589117446b8350cc608c606070418c78c1fac17ae58ac4a7dba348911a24280f8dc89b3a64c982d55a22c291264ffb149a3ee8123060b1425b6dd0737b50c152234d80736da3edbc162bf70cd72b5ea94284e95203122d4078f9c366aca84d142050a92217f27901335eee998e1424589bb13c48737350d154e2283b38080b3ecccc47ae5a2056b55a9509c304d7ab4e8d0a03e77e8c06173664c172c549c28091ce2c79a2b7afac821a3050a1276736f6b1a2a9844b3818100e6d0745fb662a932f529132547898a8600f1a903470d193059a6340914e2ae483e1d348a2e8a2748d8153f14dd8a1c2e1425141d141314d30214cb8ac162c178dd92d5ea94a84e9620694481f6683c72d89c19e3258b9426488600b64964b1078e192d50e081906beba02f4c78b0e080463bd364fa85f1e9aae52a55a9509d2e456a948810a03d76e0ac311386cb95294f921859ba2bd2dcdb6123865e8a3c1175727c6f1d2ef049e07ba0808f001f003e219f0be3856b962b55a63eed71aa044951a13e78e8bc5963060c972b52981809e207e4c7ded351e3450a1220def6d632ec49d87bb097600fed6c8f6ccf7fe59af52ad528509b2a3d5254a88f8f3a6ed088e962254a13244684b82b52f7b831434f85893bbab8361f1b2a48f0e1004181013ece7c90f9c0c37ce5a2e54a9529509c2a3d4a44e8cf1e3b71d69c09d3250b95274a7a1811f2d7a34df6f871fac0218345dedd9cdb86093d1cf430d043408fb11e0f4c172d57aa4a7dca3489c7a24281f6d07993460c172b509410f953fe387bdce00183451e09bb0f3ce03c68b020c141021e69673cc8786462c078dd92e54ad5a84e9828415a34884f1d3767c2ecf0a2a58a1324415e65dfb9b763c70d182b4adc7d60db9161070507077608d841b6e381e5a2d5ead4274d931c2512c4a78e1b3461b64c71824488abfe28ead03143478b142646d4c9b575c85001028303037494e910eaf05fb968bd52450a54a64a9018191ae4e74e8e3839d8e420e3250b95284b8c00b2a9712f078f1a2e5698103107e721c3841c0d1210c8212047598e5cec572e5aad508df2a4891224468604f5b913874d9a3261ba5881b2a4c8924d4f1f3970c4689137a20e6e0d0786091018e0308063008e33321cc161be76dda2f52a15a9509d2c456254e80f9e386bca84f1b2c50a942481425ef587b9a783860b147821e6e0d83a60202eb881e006811b016e8cddf05fb766bd5a55ea93264a8e14150aa4878e1b3565ba5c8992c4c8f255a6c73d1d345cd8382102840d391b6e6a1788361614b08166c3cc86b098af1ab96ad87ab5aad4274c921a1912d4c78e1c3564bc6491e2244991a5ab44cd1e3966b8504122845c0db71a1d6a64a821a146831a076aa4d528ab1124068c170d5aae5089ea744912a34280f2cc81a3c64c982e59aa3c5142e3481057454f1f3764e8a92821620e8e6d83051a126838a071202d008d311a79d8af5cb562b14245ead3a64b901209f293674e1b3362b86099c2245008a09b449a7b396ac050913703ef6ec607b7196a3332cca0f060c681b419016694cdc8c47ef1c235cb952a53a0385592e4e8d0a03e7aeccc6183868c0c2e58a838415264e902f9612ceee9a80143858c3c197876726d6a323248689040069a998ca00cf7852b962a529e30456244e84f9e396dcc7cc93285492020fb63c7e87103468c167977736e1d2c4088b180400c0031c8626062bc70d18ab58a14a84d95222d22f4270f1d386dd090f9b2658a13244582f801491ef978e090a107e3049e08101fded434c0b8006382830430d26094c10816fbb5ab56ac56aa4679d244e9d122427ef4d889e3e6c59a3260b65889c20409113f36899e7b3866b850614204880f6d1c5e5880f062c18117692fcc862f30b15fba6ac14a45ea93264a9018210ab4a74e1c3667c06499e20489903f36459e5a070d172848dcd5bda969a0e0e2c102170402b830733174f1c178dd92e50a9528bd4e7a9520253214684f1d3769c478c122a5491223cb17888aee620f1c32f45294104117e781c305097a0ff418e815d043d33bd31beafdb05fb966bd5a650a14274c921a190ae4270f1d3667c274c962e5c991202dd8a4916f078e187a275a90687137e7b6a6c102b14583042dd05a9cb5181613d6eb162c55a33a5d8ab4e890a03e76de9c01a3654a13234b36792cb2f0c1c2060c1525ec587c60d1d60103b1010b042c0a086051c60203db550b962a529e30496a6408909e396dd084d172450a932341dce4914f078d153058940001a7b6c202b1c18a032bd056045831b6c285f9ba058b152a529e325582b4c8d01f3d76e2b43933e6cb162c54a02c3932e48f4d22cf1e3864e8a9282102841cdb860a2a1ea858a002810a012ac8546461bc6cb93af50913a54685fae499b3a68c972b50940406f103f2c3b89763468b1323e8dc52ac65989082410a032904a4284b8185f1c2156b55a94f9826354a34880f1e3868c26c99d2e488903f57893c7de098f142c5091221507c6043c1a1c20314085008400100451085ff3ac1eb562c55a43e619ad40811213f79e8b44943c64b162a4f921459beca1f7b4f070d172948d8c9b99de08081c209080c4e18403b717622386c17ad3c56a53c5d82a4a8901f3d73daa009d325cb9427488800b27dc6620f1c335cacc8230142ae8dc3853c62833c040404e48de56562bf76d172652a14a74b90120dea63270e9b3260b45881b22470c81f901f7bcfc40d197a2746d0bda961209a7060e280093433134161bd6ccd6a752a54a74c9520292a14680f9e386ac674b92285c911217eed8a6edd23c70c172a4ae0ddd1bd95f0500243890a25222c281060acc40ffba56b562b54a23a618ac4c8101e203c3c73dca019d3058b9426488800b6298a67e4d36103c60a132240c8b9ad6db830e1019e0203786878667899d82f5db560a522f54913a5478b0801e293470e9b325fb2547192c4489036792cf2c02183451e093b3936121c4860904082018934002484c582e99a056b95294f9a2c3d5234e88f9e3a70d288e182458a132444fcd6a3de31e2068c1526eee8dc3a681831618483110646a48d381b8ef05fb96ac15a856a94274d94202d22f4278f9c3622d48ce152e509922122dc153df774ccd03b31a22e6e0d830407221488483b133126e285f5d2550b562a529f344d82d408d1203f7becc05143a6cb15284b0283b4c91f7b0fc70cbdbb152642c4ddb56da870f7e0eec0803bb3bb600861bc42d88a1582550854a142685ad72041345bdc4190eebb2e8feabb2edf75f9b7a6e95eb27a2f4f562f8feacafe6d1765ffdc1665ff76eab69bfdeb3337fba7d4ec1fd265d7bf25cbae7f67caae7f7decfa77b2eb5fbaae7fe7bafeb1fb54d73f5527d73f63bafefd215bf46fb7e85f723d5bf46fb3e8dfdf5f9f8afe1d55f46fabe8dfdf7aaae89f8afea529fa77a6e8df36a27f48f744fff689feb15bd9a2c83f258afcdbec46fea91bf997ee8dfc7335f26fa71af9e7ee3fb7dd7f3bb99ae9fe3b5974ff9deaeedbfb6fff15f7dffe4b77abf71fabf79fba2af5fefb5beabfeda7ffb6dbea3f65abff90adfe63579465f55f521b59fde7aafacf7dd554ffa5a9feeb4bf59f8bea3f75fddb47bd5cfd926fbafaadaa36d3d5ef4457bf6da2ab5faacdd5ef44fd50bf54bb2deae7a22deaa75bd4af7d59d42fd5afcba27e2a9aaea8df3e6a5745fdb6dfdf46fd96ecea9aa85ffbaea889fab9aa668ba8df4e8b1af55335bbdb76fb2dd9eda7ae4b23ca6ebf22bbfdf6ab6ebfede7e76ebf14456e3f377db59fdb6a3fedc7ae4aed876c5155fba9da6ffba5dacfef3d6abfe4fb9adacf55b5a9fdda76a7bb7dd3d7b8dbf7dcedbbdb771fd957d545f67577ab7cd9ad54beeaaa54beef9ba2db4f7d53fdb6affaa6a8abbe7de69aaaef565f1755dffd0241d537c9ae46547dd5f74c57a3fab2a836aaef7aaaefbb53537dd557a7e9668bc977991edf549ba872e96ee5d25dff5cb745ff5c15fd73b789feb94b57dd7feef64bf79fbb53977d5d957ddde5ee635f37ddaafaba5a7dddd7ddc5d75db22ed27d59d76d5fd675b732f9b2ee327d5977bfacdb67beaccbba4ba472655d25caba499475d97d3ca2acdb67a2acbb8b28eba61a65dd53ddec52b36ebafd34eb225bcdba4acdba2a7ad4ac6ba246a366dd7d6ad65daeaefab7baecfe5bdd93d57fabebb628fbae6eaaddd56ddbd5dd2dbabaeceaaea756d9d5dda952b9ba26aa5c5de5ea22dd7575d375755777bf477575b7baba7f2bcbaec9d55ddd9da2abcb6ea4bb8fabbb5797dde979aeee529fabbb9aa62eaeaedbead5dda98bbaeeb959d455a2ee5245dd9d445d761793a8eba6a8cbee23eaee13755da45b4cbe48f76f6591eef64359a4bb378b745de4f15d916e8b22dde546ba9bdd4877c9ae1be9aa1be9eee446baae46ba7daa46ba2ee076dd76bbaaba5d57d56e9a6e37a9b78b34f5765140edaeabeb6a77bbad76fb5aedba5ba9dd3e55bb7da9765d75a7da4d51ed1eb5bbd33e53bbca975db6c9d55526976dba1693cbf664d7bf1669bae85f7b54d1bf3689feb5ae11fd6bddbdff5a56efbf36c9eabf56a9ff5a6552fffdb56feb9acbedc7be2dfbb6bb455925fbb6fbc8beed36b5917ddbcdbeed4e6e56f9b6cb54a97c5b762bdfd6ddadfab64b557d5bf56dd99d4cbead8bbeaddbeee3f16d597d7c5b761b8d6fabeef37c5ba4f9b6ed52ff15dfd64593c5b77ddb9d2eddd66d8dc6d76d5d759fafdbeef4787c59b73daa7d28ebb6eedeacdb2e8f7bfbad6e9baeabdb6e75755ba4a993abdbf699abdb1e55d46dd31475db3e1375db75b3db6d95db6d93db6dfbf476dba5765b56bbeda96ab75526b5dbb62caadd761fb5db1a8dda6d932f7a6ab74d37cba22f907607d9fb05d26e56bf40daa5b23daa28ab6c4fbd5965bbd4acb2755765bbaeca965d537455b62eaa6c771f8a2adb6da248659ba65bd99e7b2bb7b2edd35bd9aa7f5ad9a61a75b5b2ddac56b6dbd4ca16e9be6bab7cd7f654dfb54ddfb575d9b55db2ecdaaaebda1ed5b5ddeaea97ae6dbab6279aae2dbbd1335d5b56a76beb1ad7569f6bdb67ae6daa51736dd96d9a6babd46bfbb7aaadd188aaad52abedeed36adb676ab545baeb9a6c77df9a6c778a265b97d54964fba6eddf9ab6ee9ab6aa3eae699b44d3b6dd279ab6ec3ed59db6cabdd336a9d3b6a8d3364ddfbed665d1be5645fbda3445fb5ab4af6db7abfbda1d046d015f176d5975b3ed3655b46d599da2c9146d97698ab67d29dabaea4ed1563da2ed3e6eb4dd27daf69968db2e91ed4e8dc617d91e5f16d92a93288b6cb79f7245b6eeba22dbbd22db3e7345b6ecf64391ad1245b65b4591ed996e14d91a8d28bb916d9a6e647b6e64bb598d6c91ad6bd4c8f66f3d35b255b7df6e95afbbdb9dba6edbee769ba81fbbdb76a3ec6ed5ddb22baaee96d52a9adc6d9aeeb6eddbbb3df76ecdddaaabbb5973b7a7ba9abb75f56e9126ab8b2f6bb6ae1265cd56dd9b355ba566cdd67d57b3555754c9ae66dbb26bdba266bb4d75a3669bae2bd26c777223cd76abdb6ccd76b3da6c556db64bdd6e3ffdea769baf6e5164bbbaba5d1a5bd4d5eda9eab6dd49dd6ef74d75eba6ba55d764aadb53a7ba4d51dd6ea36edb76aba76edb53b7a9665f76a9ffd497555f76a72f7b7cd97dbe2cbb8bc5974df5f254df95451eb5bbb2bb5dd9e4bab21bed5b57d6b8aeec36559d5c5977f7992bebb6ef5a5c59b7d52b7bea9565b71fcaa6fa7551b6af45d99dae287b5451f6448f28eb228f28bb5323caee13659126ca6e1365d5b55844d922ca2691ee12c99eacfedbecdf46fdfcd477b3aede2cea6e96ddacdba2ed66775a4cee76b3fb35dbcdb29b75f5566e9655b772ddacab6ef66fab9b65f7a96ef654d1e46637cb2ed3cd1a379a6e76b3803addac6bee1f9b6575fa1e37eb6ef6b85975458f9bdded6bdc6c925d8ddbb8d96dbee766d973fba1dbdc2cbbd9741737abaeed66d9358866ff34ab6e3fcdb21ba9d9cd6af644959a459aaa669549cd2ed354b32aaad914d5ec8a9e9aed3335bb4dcdaaeb6a9a9a75d16251b3db5d5f2041d017888bbe40d41575dbfd0261b7cbea1748f27555fd0279819c6852b34be54e83047995eeab44b6af72b7ecabdcedaa64df57c9becaa552f92a5354f92a91a6fa2a55b44f997c95caf455a6e9ab3caae879be4a134d8baff27cdd9555b25bd9aeac726595ee9a5c59a56bee1f2bab7451e3ca2ab7f99e2bab4ceeb4b8b2ca1d046595eadaa2ac72e9a2ec8ab2ca25ab9328abdc27ca2a59e5d27537abdcac566e56c96ee36695ae899e9b55ee16d5ac729b4a769f7fab72e9b2db6f552a5757bbabd26d57e54e8b68dbaeca57b92ad375552ed55579aaab729b68ba2a77ba2a599dae4a574557a5bb576572afca7d54df54797c53659ff9a6ca7d3c77aa542e75aadcae4e95a9d2ddaa4e953a48105489345d5499ae6e8b2ab71255b27bab2baaec5351a5bba6a8324d51a5baee23aa3ca2ca6d6e54b9d9d73551a589aa26aa5c558d2a536da2ed12a9dcad6691cad55d91caadae48a5bb95eadab25be9a249762b5d731bd9ad64b752b9953b55ae5b99a2a6ba954b37d5ea56aa5ba96a134db7d25575abb792d55be9beaadeca6deaaddc7e5ab9db572bd3957551572b91ae56b65ab97459ad745796d5ca3e562b5d756b562bd9add44a76235d552bd3ad6aa53e55ad4ca65ab94d9d6a258b6ae53e6ae54ecf532b5d532bb7ba065957751f9780abfab7b27e6baafdd67da2adfbae2bbbdd7765d7f574df1569a2acdbaeaa462ad935d5aeba517655f5915d97ac56d1935dcfd5458becbaaebb5d954a54b9aa5bb92e5375dd2a9aaaabbaa2eabad5759beaeaa2c9d54495c965ba6e3f345dcf745deabe35455775bbc6759ba8d1b8b2db685c8dc6955dcf95ddc5d53557556f73655fd35cdb7745fd8aab8a6ab7b816d7cdbe665b5cf7114d8bab6bee1fc575b98b6b9f5edd57dd2dfbaae6abfead6abafd56553daa28d25dd5edaeeaaaee7655912ebbaa3b3dd735b9aabb455775a7c555dd26aaba805b6dffb6ca6ebfada69a75dfadba5b75dbad6e3f76ab7f1ba9dcaaea9a3b3d6ef5b8d5736fb5cf54d5a5db6a5555d13ea5567752abdb0fd52ad25d2697ec76db65d298ee76994cf5ebbe49b77d9326dabec9e4bab2c8f64d26dfddbec99d9aed9b5ca64ad44ddfe44edfa48a1a8d6f1269bec98dfaadc9edb72677fbaec9774d2657177d81b46bf2a8a22abb2637bb2653cdae49755d9348575dd5359964571755d7a4abeee49a4caec9a5113dd764bacf35b953b4b82637fbba8068f2dc806812104dee3eedb668b26dd1e492dd2d9a64579645933b35358b26b7fbaa68925d5534997c932a9a34d1249a5457344dd1645f8aaa279adce979a2c973d5ee46b63bb964d99d745176279726bb93afba93ea8abaea4e26dd742797e79aeea446cf9d4cf5b99326aa6aa4b993aedec99d54f54efeada7dec91d4427936f120574751210655d9d44ba3a996a94ddae4e224d5727d9edb63ad9b63ad9d7a22cab93eeee637572ab28ab932a7a6475126916599ddca9522753fdaa3aa993eb51d5c9edeaa3567552d5c95427933ab9fb74925d7fe8a48aea648aeae489eaa4bbd5a34e9ae851274f9d6c4d945da64bf6057c53a4a9be29abd5374df7511f8f6fbaec33df34d5cb35dd7e6bba8feabba6e7bba64b76bbee9a2ad7353daa6bba4cb7baa6267a5cd33e734dddb6b8a6aa5ed353afe9c9ea20689aba2e9aba2d9aa6ea8aa67d2a9a169368bafbd0d435a2e936a2e96ed56da2e9d26577114d598da6a9bab25ab9eeb455778a748f6aaaaec916dde979dca96bdce9665f3fbd5395d53b35ea9db2fbd43b5d06d129bb973a75d1b7fdd3a9faa7d33f9d6a3f9d2ed9537d758a3cbe3a555157a7ec7675ba8fac4e95ababd4e93eeaf7a8ea5499d4e9eed3e9f2d429bbcf53a7ec5ad4459dfead6a5f9fb9aa7ddb88aa7d7bab7de81fdaa76ed745fbb68bf6a91b69ba689f8bf6b52dda975ccfa38af69d2adab7dcea89f69d685f9f89f62d779ff2459aeeee53eedda7eeddb7aeac3eaabacf6ddf1f7deafb835d51f5fdb1d3a3fafe5026df1fdb44df1ffb78be3f96eb8fe556d977fdb1fbd61f2abafe28ae3fd2fdb77f2cd374ff6855bd7fb4ef9aeafd234810fd83d53f58fd1ef58f1f4b76f54393db45f7dbb6e87675bab6e8a9eab445d595455574bba89f9f8aaeaeeaaa2a9aa6da6d5574b3a8b255d17da26daba25bd5ad8a2e59f405a2a2eeab545157dde6aaaa28bbd5a48a2ed9f7878abae6fea1a22eba538d5451d74453a38abaaa36aae89275dbf75451765d4f15ddae36d1534577723555544591a68aee367d95493489ee7655265174ab6f3289ee56ddc924ba5deda249741f75126ddbada6299aeae34e53344dd19d9ee8d288ea7da2ea6aa2db444f942d2e91a7aa8bed8b74d917b964d917b9d3937d91aefa2297ec517d91e7664ff545b26bf24522559d7c91fbf8228b2f92dd7e2b927d5764badd15e9b62bb25d91bb655724bbb2ec8a54d915b9952bf25c57e472ab2b7227572472a94f345d913b5d9167ba2297bbcf5c91cb6271452ed9d56d51e46651a41245ba2a8a4c5314893ca248759f278a5cd98d543752996ea4bb93e946ae69ba91c715b98fe7462efd904837d51b79ea8d3c591d4423fbfe3472fb69a4ab916ebbfd588d44b6ac469eac46b26b91d5c8a552a991a7aa91ec76dba446b23b99d44863aa912caa912e5ad4c8e4f2a8be4756bbe87b7453f43dee137d8f6dbbdfe3c9eaf7e8aa2f7bfc5bd9a3f25dd9e392dde6ca1e5d943d1a37ca1e4f943daa7bb3c7a58bfa69f6d8b69a3d6ea5668faeaad9a38a6af6b84dcd1e8b9a3daa7feb5165b7df7a54a26dbb1ed3ad6cd7a34e53945d8fbb5dd7e3b9aec7335d8f6dbbcf733dba7a3dee373dfeade971fbade971c9aee931b9aee97117d7f4b85b65124d8ffb44d363dbeaf4b8599d1e8fa74e8fdb0f3da62c7adcc7e34e8f47f4e81ad1a3ab6af4e8b62bb2ddc7ada2afba8f3b75d57ddcacba8fed8baafb98ea1d441ff7f1d5c7e376f551d9ea63ab8faeba93ac3e9a68caeaa3bacf22ab8ffba8597d54eae34eeae392dd69aa8f4b409deaa38aeaa3bb8fa73e2ed9d7b84dadb2af71a9aaaf517d8de97e8d2efab24675075959a3fab7b246b75d59a3abaeacf1b8b2c67d5451d678aa1b658dc876b34657dd2f90cd1a53f4a85923e06a3cd57735b2db6d57638ab6ed6a3c59fdc7aec6e4cbaec6adbe2ebb1afbd8d5e8ee23bb1add76b3abd15d57e3b9aec6bf354d57e399aec6145d8dc7d5d8bee66a4cead5b84c8dc8f64d8d27faa64676af6b6aec33d7d4e8ea35352ad1d4e8228f686adc3b35b2ab9f4e8dae4e8dc856a7c69dd4a9f1a85323206a6cdbadbaa8d135a6da6c516392458d9b458dc8163daaa871aba8f1545163aa55d4c86e37458dc91435ee14356ef63da2c633dda81135b2bb881affb691dd7edb8834dd6d4cb51feab6dbb84d751b77aa93db98ee6d3cf736ee6d4c35bbcf6d5cb2fa658bdbb85d945dfdb4d14d5f6ddcef1175b591dd48571b53ed6aa3ab8dda9864b571d96a57d5c6a5a96aa3aa8dedbb26b57199a2496ddc496d4c536d44baa836ba2aaa8dfbd4c6a59bbea6366e531b4d942d6ae3dfca16f772efe5d6ac0bc82a01f76e5725e056519d2a01f73e55ad04dc26eaae80db4501b7dba2807ba728e076d1228a04dcbb454d7603eeddbe26e006dcdb454dc00db8db769b807ba7caa406dcaea901f7f64b57bfbdfb56bf9da27e7b9bea3e51bfdd9a28d2dd7b6f73a9db766fa536dbadae68bbb27b9f2bbb77abd9add9ad445f203bd52f90bdcfb545957bab7bc9a2aebad9b755d58d345156ddc8e3bbaadb6dd154ddcbf587bab7a96aa4bab78a1ed5bd8ffaa8ee6db2ab51ddcb23bbd5bd4c6e75ef965d4f75b7ed4e4f759fea764dad6e76ffadcae45eaea932b9d51575d7e4de477627f736355b4ceee5b91693bb8fd5c5e4de6dbab78ba69b5d5ded8754ee746f57d5c79d6e13655d73a79bdd67baffd6628aeee371bbec6a34eeed6af33db78b9e7b1fcfbd4caeea6a6e73af48732f5bbddd56ef658ab67a235d566f95d57b99b27aeff4a837bb8f7a9b6852abcbd3c8eabf73e9be27d274dfd36ddff7dcea7b1693efd967bee7923d932f7b2a57f654a2ecd9a7a2ec99a6287bba46943d937ab3e79f664f13755bcd9e3aa9d9d3356af6dc7eebb9d3e2bb9ebb5d4f765d4f7655d773b9fbd4f5dcae56d7f55451a4325dcf345dcfe37abaea4ebee67ab2ab6baee7324810f4dc26bbfaa1a7cb6e3ff4dce8b9d4a9b245cf163ddb164db6e8896cd1163d5bf46cd1d365d1f3645fddae2a7ab25b55d15327933b45cfa58baa47f44cb5bbd133dded46cf6da2e792d5e879aa6b52a367aad133a9d9a346cfedae7efbdc26eab74fe59a6ebf7dbae676f7799e2caa95ed3efbda7d9e2ebbdb7dee73fba1ec3e97eeabdc27d255eef33cd5addca7cb6ae53e97ea3edd1675d57da61a55f7b95b34b9cf53d5c97d2e75bacfbdd9e33e9746e33e4f76ef935dcd7d6e154d51739fe63ef7a9cd7db6285bdce77675719fa9dee7529fea9f3ed97d225b7d1e5594d5e7b94d559fcaa43ef75127f579ea73bbafa9ae28b27dcdedc7beaf69b6ef8ab2afa97c4de56b6ef675d3d7dcc5d74cb5db2e5973c99ac8f6654da4a9beacb9d362f265cddda22f6ba6fb65cd54a3e6cb9ae7dfcab2a672654d137551d654b6286bee24ca9aeeee3351d6fcdbacd9b7376bbae8b95933a9376b2e8368d64cff346bb2c856b3e656356b26356bba46cd9a3b3d356bf6999a35b7bb2e5793dd7eaba9a2edbb9abb65dfd5dca9f25dcd258b34dfd55457d75d4db75d4d955dcdcdae66aad9d55c2a5793dd4ae56aa6eb6af6adabb94d15f55357335d59f744dbadaaaba9ae669275cdf75457d365b7a9aee65235d1e46abaec6a4caea68a1693aba926df7435d9355d4d155dcd145dcdbd8dc6d5dce76abaafba9aabe9b67a3591a6fba626bbddf64d4d65f24dcde29b9aeadf9a9ae7bba626d25d5373b76b6a1ed7d4ec33d7d454a2a969a22a9a9ac5249a9a46239a9aaebad1d4ec33d1d464b7df4ecd3e76a7a6aa776a2e756afee9d45c1a5156a7a652a7668afaa1e6d2454d7507415dd4dca9c9a2a6ba26b5aaa226ab8fa8a9b22fd2ec535fa4b9d33ef3459a26aaae2cd2dcedba22cd6da22bd25c6e358922cd334591a671a34853dd7d268a34dd7623cd25cb6ea469dc4873b77b234da5469abbd548731fb7abd448b35d35d254575499d448b32fd54893453592dd66aa37bbcd25fbbaea364d73c9ee749b47154dd16d6e3f6daa2beabeda7491c7579be6925d8fdbd526d274b5795c53ed6ad3d566aadf569b3b755b6dae2ada6a13d96a73b7da74596d2e59569bee56b2da3c596daa6b91d526ab4d15d5ae529ba97651a5529beaba54b5d96a3f559b7b55b5a9aeaaaacde5a96a33dda6aacd54abda54b5a94c6a53b33ba9cd64aacd34d5e6ee33dbd735b5b9d3a23655b4a8cd7dd4c5a2368304798bec5ebe6f71d9bec5b6dd2adabec5f62dbaed917d8bea3ed9b7c8ee3ef52deef454df62b12f7d8bc5f42daea9361adfa2bb8fe75b5c9ee75bdc69b1f81691edcb16d962725dd9e20ea2ae6c51dd7d2b5b44d3d53457b6d8d7a26cb168dc285bec3351b6b883eccd164fbdd9e2f6d36cb16d355b3c55cd165554b34577f7999a2d2ed722e05a2c2657d75d8b6dbb168f2acaaec5a2dbae6bb16f5d8bedabaec5adaec562722da6e85a5c9e6bd1d56bf164f55a44b66f5a64dfb4b8dfb4b8db774d8bc9b56dd7b478ae6b5a3c55342db6ed4e8b7d7aa745b7d569d1dd7daa4e8b3ba9d3e23e755aec33758a164f162d2e8f6bbaa2c553458bbb0f2d9e6871a7e6d2448ba7ba2e7791ddaebb8b4bcdba451769aabbe8a6bbf8b7a6bbb8fd369aeee2a9a2c85ddc7e1ab98b9b5d8dbb68dcbbb893abb98bbb7db5b98b4bf7d5bba8ea5d449a7a1777eababae8eebe56174db4d5c5ddea62ba59561755541f595d5ca69bd5455617d9adaabaa855adeae2ba1693c5a5ba9aa92e1e75711f4f5d54575317d935dd48531797455d6c51407db2faafef4fa7aff14fefe4daee3fbdd47f7ab3fa4fef3efda74f74f5d3eba9cdd54fefa366b79f5693affbead57db5abbeda6ddfe3ab5df47cf5ebea7dbe2eeabafa54b7ebeabee4eaeaedee14e96a9d44baaddec9b76db5dba26dabddf4d56dab5d732b5bddd7ea3e76fd435d56bba6366e97d52eabb71fcab2da6d37cb6a56eb6592d5ec9a64f5b993ac4eb27abf47566b75b35a6f569ba86bb21a69b23a4559a5d63b552a35abb752a997c795d54abd54f5d2dd28a0aaf70b047555ad5575bbaa66f75fab6a55a7fa5555bd4df55d5555efb44fd5a94ea2aa5eb24755eff4a86a761f55cdaec865aa557deef64d6a577dd7a43eaa68109dd4ecbb5d9dd4ec7653bdb6a9d64865aab7baa6da6dd764aa973b4d759a6a75a3a976d99dea7445ae66aa936f31d54956a77aa72dcaa29a457512d5a7de48bd377bd4aeba8f7a1fb58aeaa33e51cd1af5c9ae46a366516d346a132daeecd6db44fd4ebd4d55fb9dda4ddf53bb68f2d4da35d1f3d4e7a95da53e75aa5f97754dcdaeaea95d53b7edca9adad426eab6ef6aea1335f5f6db28d234b5abee13354dad77fb16f5c9be6d51bba666ddb6a88becda16b5abeeb6a8b7df5ad43b2deaf55475513f8cb41045b6353735ba37255a545bba685ddd5eaba2da5557b365d78ea8515dcdbda409e8e6a6a6aec9e46aaad98921b633d294c41c8e0f38e470c4e180c3f186c30d471b8ecdee142aeaee347df136bb96c03bd1bde4bbd98d74f37452b72f0b18c85623fbd8f5c412cfddb5b468bbd58d6289c7ae68ebee59dab75577abae25525d5c53142eab95ec9bc270772c575214596299aa2fb4abcfe566e1ee5654a49addea46b14d55bbadaa62b9fbd8dc969b45153839c07daa544eb48f5dffdcadbabd9d2adc7d8a14772773573592c66657bd55b9b230dc56ef162e89e4aaee33b9aaec09778fd2b2bb98dc7adb44571b4bf66df56669a82b8aaa68f224b15b751bb78954a3267abe2bb61feaeab4458fbb05d2dc34b69fbb4361771faaae7a2eaad668f709a8f576abaeca76cb489a38cef4c5a99268dd7d64350d57dd2cfb9658b6ec468da8bbbad8e79eb1f751bb33f408a1cd891ab38b9b23149cd39236b73f08634b5336b8395f1fe47c981b1273f7ff70666f75d9e864c94d923b6fed0f1f4cc5f951f441531c9f2a397138e2f4dacda24ac0cdeebfadceb17d70044704ce409956a3a9de3bf7ce53cb094a7bd3e2a66be8be4179037c0392f6d6632b97eed9bac5d9714b3154d5b48939d27961b335e4737b939392c6b66443cbe1ee8f74f74e55efedb9c9057a388707e2e25c3fc3b23838e4dab0b7b7381e6a7cbbe260a89175f8d44179cbddbf032f774fa23a35dbdce24c74700ea71011075c1c5491e29089c324b80f737e04cd75d870b6a74d0e8ea8e18d8611423a707170830c64d0222c404737882c2d83043f42f5756b1386e12c984bceadcd56da053117de82b29646d45dd5bd5d4459b32dbeedde36d9d528e7d6d66a342541e24cd714aae45818e1eec1b7e0c66df739f7e6a982973974926cb171f77773833344c14d1a052b14327c1977ff53dd6d1b9c9e098147dcfde3e6dc4c6033f47f1332c47d1023412921f812d213fd10f74634a61169781ad1ce1308b242ece0ee0a3c8de86911bcb8bb3f717727c40844050ea89369110cb892079e06610f841696dcfd959afda3fbf0260830edc1ac074a02b4d94756234db8f401dc83000ed45cd9dbeeaa7e80e373d04293240721e43eb8bd09a2d1c06d40b6c8dd9f4ece2d05031e6786e0e4dcec1804d3166c5a909e015af06bc96e3f34dd679c1bdb02030adc00996b7b135441018c34056a09149da5eefe7b4913906daeed4d9082046e5a821c086c0108e4eeffc6c6f626e82c0dc119047300faa8bba5a313e4073c1d409ab53970e983db075d068619d062b625a9d9e3ca2af7e8d83eb8320057c0d15e5c9ca8023d7499b95057149d7b93b344404b1a019480b3118042e0890bb85d753577bbb771ef3c759ca2341a650ae6dcfce8425332c0dd1f6d9689b24aba36396815fc9499c1b59919704636ac8ded4d4b9a0041025ad84a13b0676ece4900596901ee0408502a2d0027f735b9d9a409b8dbe6dc869c897904a74c3bab9006e016002770ce229c2df0766fe3562edda40938d7e67602506066a6441a8032f7bdb8361cba42d0b5284b4126e7c6d636228d6c15d910320f6e1c1d5c1a99813140b2a0bb7f92d8a824065c13455994e3304a21858c4248686c46a00123130000c17c2a9167591c47257b01001480014bb8541b310862108a310819030c0000000200000000008011a21e03480f740f8f26e55539286e0434f6c165477f84c9acc4e4817a3a771f89b4c63e22711fa5d83c97a46d287a0ca31265c7844f7d5f53870fbe2b186a7fe6a8e727cb3e81d4a800f588420f9c1d4f7b4697e4484c0e5ed8057063542323d9c5b955bb1ca7e7290a393e76c95ca33218fd080db6dfbdab3f4dbdc6b83d6beb2829447c5516c163c78cb73266d554a1a582b1d788705b786421a389c9a6fc22c7363f5dedabc8ab3b20ec6b334e355b0a8ea689b8b269b15dfe1062b714b936e04d1214763dbcb95d5f507f20ae991f2619ab7844711e6b3d89a1ac4d8b64a0f43d9e641e0e53f9d2b00d071178874030b295c7b1c9d3696e72dfbf76aa5d31bdee2bd32e5f9454c74bed024fea2fb491543d4e966b71a3bb056bcb265181e6162e31d657fc6c07c776856c84e787cdb1c7a2040ccce3f8c9d78d1f3663115cb1e09077ccce7f99266970ea65a63965da1272cbd5fde97fde3fa577ae128aed671dc4f8940eba9b99b62db0e499ef453ed6bc191bd07b643836e3caf6b40abd99c56603bd4daf729f1ae486273d6a5aeb2a772cca753b72f3167b4cabd502bcc99937b4a3c6bb0bafdf0dda9c58b84a9a429bc659c5361b235d7bb81e970ddaac998717799a67cb26078fd9fa0dd30d76413b6fcf5a3c7ab177169866ed1deb65f6292bdd04aed490f74d5df6087d1e67d046576d90dfcc26ee11a3d73e5e519ac273cc3d5c7917d3b3bc7e28f7c424edf523962cb93ceaa289151df2ba490e9d43618865e7dea7596f335c65c56eb90fd9562fbbeb7eebdaaa2fd019ee24461e3213e5220cb1a5923f77c3567154061f68c965c65d62530bce17b6c922cf8003c7b4c3816dc6ce1460bed198399df978351643f44acad81ab66dd3c76935e956394a61fbbb187b9ea36c723bfb6ed03d3b3c9af9ebdae59d6e68fc44d76ca9b14b4dd0b7d8a2d0f02306bbc319b547d37bb993e0869fc6c61596340db527f18691e338b210f335d4b92b26a126500f536c8c744837b1f7798ec92bacc9c0671c0d5d96547ba6ca44717cc271daf11eed5d4b7b0fb39d011ee836be0c0c2a02ad72a297590eefdae6b0783d5f9c96c1efa2442f2b6766ff5c13d20edd1918c69825da0a6ff65f74975a1f7274a62e6b5c233b76318fb131b8d503b4dae63edca5c14b2b4e823848dcfe6a31f4b9a4d15bd3d6e83dbdd73262e493bbbf3d140ce7e7d2773aded03bb1af155b3d3a222c08b9f46050a8f7ce65c930f7bc17dbd872585f8e102cb06b1ea221835cae26ec7c23497ae51c73cbe6988f69b08541a7670d638762d7f61a5b93f63d9c8338f8d03568d778b5196bb24184db8d3aaf1d1d6e7272a9e5b358f7ea7aabbd884c0ef659a97502eca97f1ce6a8e33cde1c7d019cb1ec0159c8ce94af9aeab19da346ccca8e8f31ef51f68c73b2d877a421597a1b9e99b27a30865e6d76d3bb88dd6ccd72b0ebeafbe9b3c06ba466402bc385e959ebe8c8d7ced3741b99d2be6fbf330807c8a92a733b70ac6c0638ace681ed6993c8b98b12a3e550de69d98d5122bff6e85ae2deeb7b8bc85b2d1e396229794a9347165e6582b17518996667cbacda591bb720390c8a6775e1ac98a7f4d246d669e468ef414ed7bad8b4ed3ae55a47d735327463d28b9966bf009bfe168dfd58a36f6c276de13f4973616f8c9e6cd337e5a900988a35131a0a03e62cf26a469733f5599adce02d1e85598bbd67816349d60f924bd8b1dbf7b1f3d0222cf1f4a6fc48383ba3aa3f39df02dfd3c83ac64cf5c6508dc192fe19de627b3a52db58d5d98cd96296519ca5d12cd222d379b5f8f5dd206fcdd4700c344234ef44b3613e36b3a5ed9eccfe9c2d3873963e8eeaf0ecaf857857198829acfebbb079b2e4e5e396df8d710d4683b63ace1fdde01273ae7547eaac7d6e30bb4efc66a5cb141babd24c1bde9451713571f9ba07714ffef1d40f38d39086611427bf98b9470f5d6dcf195f5ae5295aaa9f91bf91b0266ba31773f8ab1c72160ce84c8fd68959c3528f5c377b4ba674ef09604778c5173ecd39c0160c7108b9d85c4fc2682e25dda15b7ea3159b8f61676da4210f60e409db18a85e7e369885a11bbecddf3c5ab0719a033f9b7af684be0d536ec5f11137e910eeb124dd999aaca32772b576006034ba576fd1c74664b7363a96a65c878a85ebec2dc7b9e9d160111bb2612edf47de165a5920cec9f71a77c4248ed180cb3da505af616fdd97be6ae615b3d9b7e5e85516bde64b0eef2c3a69ecc61ec7ea67d334d88b584adde9cb9f276963b1b4656b16208f5acbed6dff96961b31c81ceeb49a610d682b47b4814dc38c3c660b9861a01966980c31a646cb2fc519a396ab6d70e9710be283d9ee65e6e1ee5376695ae956b1825aef74d324065be6b8de342323d650b66319dbec63c11bd332426dd54cc8c44efbc062f04262f1900d18d36d9d7bf4817fd318619e335e67db54bf3edc0b7bcb59e50a2cdbf048c1a279908391618e38a6b2e09f78e0aed985518363f7313e8aacc2e4ecc8964d4159d1f5c655dd398c752c55c81b08a67a31e0ea9fb92f59dd36597672e4e8f5b75b4761f91d5338521880da131959151d7a164f030d62606b746dadbdff16634b839b1b981acd714dfcee31e4843bdfe3692c99c6441dd11ee4ce756aae7e98bbd31466eb0bb216da7c8ed5de5ecf3d51db567b7c38eed29028d833f7696dfecc65571862986701970b468d33bd5b66b1481b03d5b5a1e61403dd60874db09a3d37345d6b8c8c38a8494cb5a6d06cb4a3f766ccb979edbec9c8cb9b639632ef8c7d7e4eecf270c7fdcec51c404399b7a099abb40ea3b567c5376d87c00608b656d90e79db5688e64ea68c504bb96663db693866dce890e511c6befdb5cb32b747b9d4da25ee32cd36176bec953cc3206f1d992fc8149a34d12e6e18bf84b734431cf6418c458fd6b7adc9d1f0ace53f12adbc4b868c593317f4faa48ccbce3eb939b6a10783b96da76dd08edc8a9d8719d7596dc00b49b2e1ac66dd5ce7c0dd5c7bb2cb5742f0f1b73c9d8dea1d03ac3efd8ed9ef83c49c063032ce3a977d5646b4e67cc3db625966ed8c555aea5d60d4e6e64c208fd43487b5cffa50b861776434c68e18261319f379d8d8587d8f13b2346ab4e17a9a727bd4473a1a665db3b90817ad9696d145e3e56419d938522cf9781ab362b1735be7f8f497a9dc5a7112677cdbb57e27c3c250998fdbc635ab18f0cc510cd1c9fd0fc8da9d398cdb6ea34758a20b2cbc75195fe6a597467d8841f2ccb0d8b89c2b0144ba8ffb71e5e18ff2e0c1c43a96db81d74d3b0a8b7063d51174cbf6c6eeb90eb3ccb319048336ba32cca33ac9814e6536a69d9f557b9292660f07c8437473c3b0733277da796fd9251f9ea369c5a2cff9fad236c5e2f3a18e5a916fede87823d1e9f9ab16411f5d398849367b382dfbd111be278330be4d732f18e4f36c2343d0336de6f0255872e76a6fbaa81d43ad72d751364b0cbaa3b0d74af39ea0474a4baf56053c42b6ece25635cc3c4a1d4a70de17c33c73089157e631beeadd735966f388533ebc31865cf0e6e51a10bc7e9e571b240ccf174d79306898bdb3d6c374dc77d4bdfa7b589b4b7ef3efd2c8be8906b126472d906d99b40bda9cb2d6842e9e096fd26dd106f7d6c8928d55cc76aab5b0eeed58ec20eada8c95980d59031f8b5fac8b64c81cc0f318492cd1ca021eca0ce58d47ac927d0eb7dad369101c9be8997d252c187ae927b3a6aff3cc698aaee391950c7491bbf23f41dd62ef7d4058be0371ce34c3ba3ae6cf63d476d7001c671ce3db587930c36deb00363e32d2e683e1c6a2162ec6323756e49a6e45335e975a036acd19acb64edb36b84913debf30a3767cdc47922536324e1fa68d5bac33e5e1ad6dbe61f9f38b51fab03ee4eb9e6d03b56c1c4cb4966bf957fa6d3604bba38638fd3efd4859196ae6559aa7a3e5b55bdd6d196c9e9ad84b8e66d68ba17dbf7355e1d83cced9b45236646b434d70a76c2534c576be241dd9569634189a4731572de7b61a1fef2d78dcda373bd788b949a45ed4bd97eb194acb0e633437c11714206095afda99d7742c1caca19f45fbe2ad7acea2cb8a5e3cd360d287553fe1dae48423970adab781ab5b6880b5e0fadbdbb81369295578cc046efdbe3713426e8181e96a993f07aaf9f8f942450e54bf00eaa334bd39f87e8a15c45489f383bb61a131f661718f18159186befd19ce23923ea07f94a644e8daf9722d55bc440f927776440b5c434624f817b67c8c60ca26e6e46a484d0457c22bd35e9104430fdb89527cb129c623402cb3c64c8e9bde38be9486b5fe0909869a1fa175f921c4d475044892b0444f20e967ea38f58e795dfc40fb309b6812e0bd4e80da875b43c6e952668af8f069e142a2bdb1d75853ae944971c02644b4b53b1f84a5dc0739a67b61f6ea58e871976ee4c695f0aa74f1949dd2cbe567fe89586444b91f8a2f501e27b9ff159d021c1c1110a5b671f6aeb73bd2a190f20e4536f078d5d9cec2fac6d5845ef433c178d375b5280ff5ea43445e8de9191508b4545d1d631c06fca58fd361e8e7c06a905a3c7c091352fdba31355ce2c006072b8a34650463ced14061f05b5e98c58efa90a6118673e25ce00e41c3f2591f7d57d6c06851e4433001a709ea23bdca9296a85b5cc7cf261cb87c00aa383ec05c19b49e59ecf42a1a072650e37b4410ab141615308240db36263c164dbea5aabb5df29fa6762259e097c1d0b08fc34f58e65dd30f2996de937d9df8fc1e283f3a1bba6bbf82f98b8d1e5a87b632dd3faa8a8e9570c0891b62de40e48d4b168e6d5e503d139d2fd851511494e3009619eb01c5909d3c4a8e14898579c835f24f4f1ee04bf9a339761cec20ffae0940c3ed6205ce9f30040a13e9fe2c2a439d012252437f5c5fa60e0882bc6e9ab2c9054096c06949bc896c0d35c315d542296ddc4299fbd0943df121f4680411bda2b98569db2ceb913d92fce5fd6882385f76e9a5b9c4c64b654e13929f6b28554302ef71efcc6c2c195ca3ecce24f540697a1cd4d83e4d7299703a7dbaec144e545858c26e9eb53d4c3b8b0b0c579cafb5b6bb8aeca2d8b864449c3c45f72da9553760a0e6663ca0a3a6ed124ab8d8e628b6f3098792b7201c3bc990f231b45868e61c27b391012c5191b4d10cbd04b4202fa4c96922d24e20c7668ccb5312c5f1cd5aa518f5f6f810cb1fcc1fe35ae516359de492e734c2ea9089a0f04771c6780ace070b02bd0783885c6c962ed6e8281b87744d1fa06f4e70937409657142874b2bf6e8c8326be725378a07d54797f4e1726044ff5f0c96ccfff1fe7780bd66f90e2c602f2361e053e741b81554ba1d2b82adb727e5027d6c53a4ff5ce541ab85718fa3bfb2b495a089f12dfeb0242e49cb4b83a4c68f191d5ef32e683810d11ff3730bec12e35a159324281ea3e46fd3354ba8c29ccea9ac26cc6a5820d1d1586aef2b3035c481435d3bd0fb00252a579c96c7620ca690d4c371a9677e4f5126f102a61b46ba13e6740fd1fc24e29f806e3ea47ed2edb29fe812a20992355da51ffe59b37600a43978c466d2d813f783d754d0774f101982dc9e17f10117e36981e6a3c4a174a7b79a12dc582af8fdd92a32300c7cbc042a7fc2aa150b40b65bb69eaad99f0cd7494fad900ef738f5509c2b206ad037d0d0495f82bbc99e5db44ef880adfc86f41bda53b3a04a3700f3b822e438c65a3f07fd4ee0b8b8d117a8ec990e5d82fd127b42a5f08b8165df3cc2a9307e98c0903f190b8b07d1c8f4721afa4640513d6e578a16c7ed364a420b64d55b2d571d741f665a08649884163dd7e855d08ab5abff8f21babee042837f1c22dbeacd70fd15e8239aa55b70cbc3276440b9ef7d9bfa71f39bca9bfe5dc09606f5ebc0eb9a72e8587d932671c9e302a4f4d171290fedcc492cd84a9a5c9a16c55dac548e1e17d753578bf3ca715c64610db82d542b14f541651974c85c271a1d7a2dc0cd1fae49558b3e6edd23e8f6746e1700b1f356c04a2d1d7d65a325d886a5f24592dc672a69508c130748c696e1d2174ec355dc4498721c315376d891c60a3c2ac680679ed2f494d017db2b2bbda4fdc45c7cd0dc9b20a7cb3e4fa0f7503ae2db82e0309688eb35e1e6bc3792e687013c43378b038fff0ce1aca7943c0a4bb724877508d1fb3dd68a1cfdb8624cd133b5dc65e4c45d1f28853865d10303e3919ed7aa9c01e0472ee72b6fb48693902a18967119e7e0fa09eb0d13cd33a578a4128131914be30167ea4b7b1e27f5885f00e8a6cc34b43f6e88f567bfbe3da92b1b3c6cb13549433d470c9e7900207ea1006aebb4aad8daf597864d94efc76bbf7dcad2239b7b6d42a2251872738dff99da4d77d691efccfb7e3d8a70fadd84d7a79ab6c9d73f54aee01808bf90c16ef7165e2ba785d0d04da73cfe47dfc1081ac0656e7a80b6a09ce3ca375f6ff914c645b690096f19fd3ddcbf1d3b966aeaa35c6af69093ca94496b357f6bb17ec50a46e65825e8e9594e4ee0cfe23d5fed319019f7a51cb9dc228fa294732d84da9e4297f7bf126e1d4a8f5df8133dfd9d6ff9b752fe9676293301a8a71707ab1c755fee73f53d13becfea1140ecc8cf7524a7c47dcc6c5a5f9e9d4d79145ef4df026c775b03dcc248bfc9134546f948fe888debbe40e64b1dfc5536fd017c3460aef5176cfde4eac7e6b32dccb417c4f744af8a51d6e73eeead8efccce61f3977d99379fbf5271f9fb6351ee1889eb47eaf3f911d68758a8fbd6f1ffe6f293b431b007b7fa1e258c4be567b006e5c6ae074782050f6b12319d74512e4757f8350e86b5f0468279cf97d3ba7eb270845278836dcb75cefd49da404bd8c8ceab53fb823f151c17fea79eceff8593b1c481bacbf784dcec3acf094df60f1eba8571b7eaf7867f021fc50cceecc0f2594aeb94180e85f78f0c370fdf406bb0af8bbc1cdac4eb9bf6b3b9caad8bff12eb36391b8f7407255cc9d8fd5195df3b1c3e09f7fc5c2503823bc1ba50c8bed06916ffcd37f95bb614d9b7b9b03f38f9c869d2b3efe05f3087601e12bb52013e08a8b9d004ecb14cbaa8f210b21704a4fa0a846ffe1600de2bcb728414b5202066b96e1147ba962e363c1c89a70f22af40aedfc84eed48c3ecb7aae79f22e2275b8321b255a7a22593996867ef38b20e4398db376b4a598e0532ed4f5bee970acec5cd9d84a52ee37f308e93511d5254b7d41c774db260fef338bcb94a8ae10b8be01d62c0a7487a294ccf9fea61d347afac7a2cf732ef8eb3e396348f8d299c83a5aa4fefa2dc72fc373556d6a01bace872e6f491fcf62f19d8f1d28d62a0dc89e983d434bbe6f1d651fc190c738ecdd2ecaf0c51df3bc4175d45d00c7fcbdc86f41bae7426dfdd1fb6a9949376f661749fed4f200cfff8bee27691d77a5de9d8fbb1ad00eaa0b2b5d8cce686c089c899e2ea93b763bfd76ec020ffe9b83fbe8c97aa9fc0547a31b4165b573d616df28818e5e117b9a606fc4e4fa895b105d6d76ffec87d165dfa5e3ab8dffd7415b2d050746c63f4ff124471ff14dee7758de47cff2f5e44695344729adc91c658b46fd7dcb539fca7fbef6f65f52eedf998a61aa0eeb7c8f9cd375e6389ed1df137aca0dfedc6d76e0be002fd652a7eb90f9d16dafb04b40b21998e587193a639d5e877cfb3fbfb83eb107136aec9ffdfbb6edeb2c22ff2ddc6f8e35f777fded20842fb3c9837effa2a58b5f440565a3cf6cec2702fdb297af5685d1bff8d72962664f09db12878bf6f818215fd7098ccde19cd90191eba380c3e50b11bbfea1929d69a05c8a67df5fcd72673b08f0448a8549cefdb821b9b401a2372fd5ce1ab59e10dd47eddbb409b352e962e1d64cc7ff2f38783d9dc0ff41bcecba7197c733e5ef56ccfc330f25e39087222458072ee9715e1fb1ac2eed377dd217996d76b9a2156e2af0a95cce66f5fc9b637efe3e7dd9d52178ebe97343e7828268431818f702775392e197625ad685561fdf87d690e7e36c3e9acebe05caa8ac7f67c657d3e5177c61c7b411c6c3ef991db93eb9bf1fa5713331c40535db7a948ece0acb6177529209dbd60fe264b09be58c4da3d5667b75704abdb896f9bd83d395290431df4eb8e5c8117c228f01e0d7e6126208487f69b7a2567d1b6be3e829b38f702835be6a05aaab2e5939973eac4d9ba4622020c056a2ad84d7e581bddea154746b9549b0b6cc1c5692fcac980c5ab31647ccd263f9d120843ad3064c6e34dc65b20368b5a32e40e6a0e0ea3077cec340bdd0a26f163bc2c1ba261cbe35f8614d963bda626e81988937322c8734c63b3e76c8d12c07edbd56009b80d4f60b84d5720c28d1078173cc632260b7d851661b8760f34c9b044629f2767b112e6d8991a0bed57e052ea976a9d36b74d837b03ce3d2525c5811fe1b6fe272b4aa1efd68a135226638b6f089671d187a4c771f2a97b992d8b9e3b0ef1d221b6a9dd5b011b18df5990371489ff2b6cbda5fbd628c155972c86d830957c6c7ad35a17cf8d83b6512eb6e4bcc8738174fbe58359af12ec457f2d20a8bae2d1ed522815e60a94de581d4544fb65aa66503da22cbb281a48382dc909803382003ecab8e3edcfc6caf58f2d0388eda6f9db67ef5bf7cfcba56e44381d7fed3b70e232f9997dda23b7e2dbcf9e8c2f3c1c9b375efba486d76e2db7f9d956404a002e487dc3386680555c22e3d38f81266e548e5dd1e9f704beda5da78c83f92f4e73031a6ac45dcf9f1334fb965bdaba1d39b23ecf8c3a77374179e37e7168ee2290303b82cab41c49982802f4d7f4e5b59ecfd48882b028c37e5ddb1107d1061ce00c0533470355e442363bacd4e9d1c8b8a259b598f0cf792bf947e927409c41bb0cf11298389db26891e2d7acfc3b539adbd47e030b023750478a8fc6b6bf7b8c0363c158bc7e777c7a72aaefdf5e4cd0a286ea1f7270984cf98dab2fe9a4defc5551fd79e08faeb4e00f147abeab84703cdaea040d5cd0058095e843d49e8ce95678fe92291b435786a4f5ede16110c6b2d1cebe4a117659b474840d44d4c4be6226acf996b391c3fa1371d1beecfba47366b7a424ace4e8a3791502c50c8f8a56f22e561393e88bc49778f3ff52a3683072375249026a9b558af89c0b81110b7bd4aac31c6e2c9dc637704b7ff7c68e1f55bf60e9f7e05e09721a0e4cfee9df9e0e3fc3c9441d274aad3a904bc0ce6a4e54e59a699d8e2891c631d330333a59d5f62dd60674d2c57ae293f7047b1549ae1aef625fe3b1d8b0bf91e80e8692b616ce437ed2623539c6c1b5a9de5d6149004b28eac4f9dddf8d7ab0d1abd2091425aebabf2b150e04cd2c274512a042ac1796328fdefa1b160f6705205f4c448bf16f0bbc6cd36ffed8e8289b0de090e89f7141454a88c82c8af3e96300920db5309747ce03283bd1b26329b01a08cac6c8b5b0fd6a03fc35737070b1df28288d83e0d57b0164276f8d32c83ff2d63c8fb5ed8bbace627ca3414062f9e503227cf401ef70c4272a636ac79e0c7e48c1e145d852e6ff1872a370610b98fd420bedca98b75bbfacf8b554fe2b68d2572e62ac15eb6062d1a8eeeec73bee1af5b1beb7b61da12ee1752f0ad1ec5c933dab0f3ac740f97113eca137f01c455708ba2d1c1eff3081eba20ee5955105b43b36a41f5be9fc3d4fdaca126792fa73f87ec4ff808ec31f64ec823e3e082658f9af05e94f161d2048b48742034a3c92d2d660c0cc4408f702d9bc990eebceb05706f8c21c0bb930a374406c055a3a829693c29baa20bed9e459ac4a1b48fcc14194846e19fc9ae645835f399e2cb96f6024d5a054b5c18f72ee4e4ea7384d077b43f308ad3aaf319de0168985b4e0969e3494d1c0714c42d40a6db48b4845d596fe3ea6a62a4953145e06bdb202ec352b50fc3aae1ba85eba7611895f670cad7c4c51826d23f8f981390a4f79214588db8f945156e96f932c420fdd79c27afec5a26b212e796ce99c39f524597fbc4cd7e636aa74e3e9183a434028eccd27c8da80083e9681aefc5ad5be7481227d984e0ee814318a14e20b6a697d3ace5dfd1512cfc87a50c14697d7487e15fc112e9af008483c916a563b315658073f7e63126e08cf2a22af48aa490631940de1fd1c43b868fd59fa1f94f8cb27f49f128530c8145f1e65b0f680baf3552f7a4d38ba7f99b4e8427307bbcd95040e904c402754bbf4f8aa7cdc80be95af2a77f4ed90a81887e2b27f7d18ad38695ad89f3052f88c375abdb44d67ffa26afca9292dfbd2efa1dfc93b2326cf96c85146e4efb3e83464ea02e8d70c7a10fce7b9d0a48bc6f8a4c26ed365ab15e5f24647992b41e6561b31d82ac5b4cb0fb8b5ce88de26dc5cac4c0738b8ccc7148babc3d8c83bb23cdc4399eb45f2cd1130b7b473dc9bb429a1db3d09940de8d85fcad96117a3e62850ffe0f09dc574b22ec8b38329d4e1c2a48a37ab5c53a2b373ebfced92be648faa24792d54862af57887dd8337b778909aea67cce43907b14833b4445f201d0bbc4ef217d6a9b169f1d38acaef783932f97825372bb4ab4d361cc6673dc628bddb543e59209d17bce8d2178a69887803a6b0e82cd64e5e8b362aeb23f5ef4b870bd163bb3cb70f71f4275c69e057d7f276c4107a0717b05a4cd63093c7d994f3f471319857575d12a3e13ad024c24bbb4b044da57b1d724a4a7689e94b0c541d1b1e0c97445203099aef7d1d1b99eff3665a87c739cffadd069dfa70c76e6b8276f777d59c39d619b37c325d5811f014466b9385bd2da003046516250c3fd8d87af9ae5bd6d6e45744e29652cab84671c01223304a07700871e77e1f3b133d98d1a090331f82e46a5162f939576ef328bf8804ae19010bada07af6c2a4e186c102b251f6c4a6601a0e1ec8c4c462c0f60f6d245615fc227d7ce4396f6bb2a6d0255fd10bbecd18b0c8f5f9db172caf021181ac95702b20bc12c7d485625ee98377f19a289a86b4b803cef8e64546f6cec35cfc1eb31f58e9fe5a5bbe981bc46503c7b6093780d8dfa88eb10149e6e32284855e6d36a0b62b4f54ffb558ca0d2e3210bc8ad7ea8dedcee7dba128b95f7d5aaaf068da7cdbacf0959af25bc458d860bf0f3f868f46a0a578f8f78b89eea212f9e93a59f1f3a6974dfbf5adf8547667f26f020bf243a96c9f544c0180aee8e955708cb8702f5c9343b32b40cc503142aaff78d1ae83f2136c9db254e7914c15c03cb52e62d74f577c8a9e0957c38c7c653fddfd03d7d725ee330a193fa2b5f2a0c297c8a7a5850e6769de328f6824a11d7fb1e02a57f5c7323b66ccf61d936d4e5c90ffebbc71942eb88025bcca49ef4273f09f84e1daa125dbccfed9c009e22f12892825043a61604e7f47c977c09cdc51a5bfb8023e15b21dd2992979e96fa3c2ca216fe7ef5a3aaa9ff426de6c8cdd9921d3a47009ed9621bcc9ff72cffae29b4ddf5cb97214dd932d58501906f012a301df239daf7e1e1bfd4cf0c4984e89af22a351168e8492f94ce1767a6a7433987c10ff37ddc1feab4aae6afc2f9009eb56025654373e5b72836e4ea71683e90b20f5651a3a8e1e045df2542844fafc5c8cf862bbe5c2e4b590a85e103746aac4bf1896997a847ca0c7f9be5eea495bb97d1b5951667fda2b1488b7555fd48f2373f554736b67bbab7d830fc79f27a6675baff72463d1147524652714d623eb0d17cbc10498597126866b43baaf5f6c0ba4e936dff96479d357d42da95170756c6bdacf6bcc17e49d7ed6456ff68a2cc0ca8f3b27625db4ba060137184dd563c21e5c17d86d158550947f8fde72eb6d222a7f274b4c7c88d767c668a2bbd5a9f563fab1ba758aced1e7d50475822d51138164e5285c44dad7fa03ee6078aee3aee5a0f04eecfee814616b00a24c821086eee347907f82fecfed3313e7dd2851619f15136dddfa81d59acc66db665c589a85dde84be66c5c2c796946d12e2fd06b7bff7451e87b6d9359eac07a5d01fb5fb945610d7d08ea96b19d7ecd64ce6251ddcb8c87a41553948f03c6407ca313b5eb5c56a3f9b4265e948adcc615b681c7813203c9fa27e67e513d68cde9c2dae3f868720275414e1542565ca33a8436f03831d059d8a25d25c4d7678dd5120075c24bd99b4e6c7bd46b263b27a3b8484dd7b3ba1f650f7a0de637ef61dbbe7852b0a7117036438d60439c4d3d4e66710c3cd055e3a483faf6cf454cac5424e6caf145656df0474915e49f1c5dafee5403fac9363dbc308715bc05ddc1a20a5d7579e454d1f09e3fc9d998fca5b2b045adc4c8076879f1ebb45be716d605e97b7981d0ee23f085f9702eb38bc1aa02f50be34e682cf72b319d68e6d7067f3f9ed6a0d343041cf2495e76f4fd6cd5932c3ca0107bde2d1ef2377418fd63cb9078eaa63a5260b1e827a8c22b38a2e4ab6bb966cc4ea8fe78728fbf7ffefd64e70add45adfa1fae54bf15c057ed8f0c4cf93e3a267aad5cc5c1fcb4bb3383ce68be5e00f7c03d8fc22cb7fc3f7672ea153f8a1d75a926b07ab19b4663cc9c7be3f92da41407eefc19867b76ed319c24e7c67ca4ddd7157384a9851d8e125a300e7929f6bfc40f04eab5c85154263531b3647594e6fd22f05cb506f147b07d341b7e7720b95a7fbcf06d3ececae5d55155a3c1065cee05258388a5d272b264f5098c85e70bfb11c9815b7ce650920d36c378c3d8481be68f46e2f74835f2284b455b68b1e44ec81fc286b8df90ae018de57c2f0f33e8158f3950ba49a4d10bfdfd429c4b345f4f2e9f618f3cd9eb45dce970178f81493de3293da0b809422cbe81df7fa453a26740ca81b2e9b761e14d8078954095921229ff257b1a41c145e2757bf5d1007acac0aec60ec60d48d834868d190b6ca0ac3c2882ad12c4509c087b9ddf83cee3ad1afb5d3362f8e925fc4fb7e84b41b2076e3f718b560baac044906aff1b74808d3a43c921fe77ef6d38cb3857b5bfbb848e68f1cb7e59eb9d38fbd5468ff84ac55badd9b5cb2c10f071a5ef098a75bf6f1fc5518c4e4567838fd8d8089e7266694686fa47258f3bfef993993dcaf99bfa30b3316dc42fe35fe6677057c12072bd45bfc4fb7b0d34fc3fb3533fa0745345c14864fea62ad53a060df62bfa9d5e40d6efd4788f9c2b1dc4e62e8cc88db3e710d376092b705503ec3f0031c1c6282e0445c7deb7ab4e7b07cfef9dd1c0dfe151959a2afdb688eed763852d7e03f94d9bd97df140d1a62272a07add7c5e643e0d7fe0fc2ca8633a7b7f8e434e92f27657ebef79dde1e3be670e7ce273204a18ced4bd552308cf5c3d80457390adafb3c2e904e0d36bafdfe371b3d328c9a41ad4e0dda227069a0c54819470744cdf1763f6c00fa4514820851c9aa668e4a02db65bfa5cf7147fd2e25bbe7c3be6a767287a794879d100ecff54537991393e4a3d7a4d7e5f2670bfc61d387c2ff08de9bc54bff449229554cd0ef916adcdc7507b8723a9c389d4127c8622588e1268a34232c5ddc1be68203c8702ec0ab9cee05b66564f03491f82e2444188e5753fc22a76caec5f32b260ccd5375325b0a2418d63585f6a51c96b143524ec5629e5b54e1f11f69086cd4e4df484dcebf979b3cd8931829981bf3cd23642d7adbce172515194106f3899a1a2e813893e11970b2f8eec924f550c98f1ff8f028e959dc43dcab145c26d4eb93ff7e921df623871f24f2068d14fced5447a8a1241fc63e808b8e2bd7d67d95780f4cbbf81d5078d0ec7d0d9c9b268d1add304dbbbf69d668afa305d87a324b4f03c4c0a103fcf04b501086987db3cc9e4aee8f1c9264da03d9c78191446c017b7e0e2349e29603d0b41e47a0387cd885505e0e2f617be1e07ed91c74740f1c236473cd66df60d942c9ffbe34d21d169b126974fe354f94a954daef1d6533419dc846dae8fbc171c266febc856271186118c6bc8b7921513e49408ca617affacf812b98ecc3cca464639a3847376994c88f1337ca8d134dde754f579165d882afdd1f281864e21cf30bb6f68fa3123cb82dea625f88004818dc1705ca956fbc521038ce381dfd1b46197e577137a9e807966fcf888b30f2b69c9cf5321966767bbf0915ba687f4bd26f913d12d28d24d94dd636e562241bfeb836f80f8c7c31da77d640d1cd1d06b39ca4965bb19e2a504b01400b990bde0b46de823f66496fd675f23e9e15043ad2a70f9a7c4004e5c609e54577e4e60f4d4cc3da92f96df2bd1e54500b7d42997062c1e9748698530da793476edae4df4a6d93debe7e9758d1f559a5ea3e88b150cf09a700382df4c9080b8c3c616408002d00801a27004c01007902c093ee189b947b5abe3fabf5e0eb9307503aa8a3bb7bfad4c1131d14a0863e75104f1d88c0010738b81c9c50a54f1bb011436f4ee93877d231ad328cada2cc7abdd9aff16d367f609659ef68f9da9b739ee47ee26a5e4acb3ebd30e6a70d7c4e45fa2882c7a9c811457a4e45563869e081930661ba5ceb787a962665d4b77018c8fa160e4fcf06f5b0585c16cf4211d3a5306330b437c738ce7192ee5a20dba9b0ccfad372682f17bd189d4dfc5dbe32bb4e3783dc48e074a3c4e9a6881b9e3a74fa948116a70cb8530637270caee8ee247dc2800118089d307072223248fc3c4ac6d6c8a3fceaaf91b3f04f3bc4e530491571ceb23953bf59af26f3fccbcdbf3853db4fb4f7bb44cf60cc5fc9c6a4ec3cf442af03a7cce22461ecde49395fc5f84a76c8553b47dfd51fec4958a5b64a6d535e190661986218a62eec491bed7e7a720a4d6a659576b70a7d1a3284d6dd3a0da94543bc9bc50941137adfe7ef51dacdb9d4d6494899eeee5a427c68da276fad9390204b74b2b9c376d53aa62b6f9d6cc6747c9bed5695f6937614749d6c663899ee985df0737bbfcbaabe4e260d9c4c5f6cf2649aa1bbfea9e7387599ee8ed73a776dcf4f5c7aa05387b1f0abf0845ffb693b9ef0abec747f6590110c72c420ad413210040b41b88e9ed78a1e389fd6e1db879e87d206ce9cfb697bf2bb6a11e738c9ac529f38b1a4555055eb3ece9c58caff7e4682ec744799cdef7ac1172f98bdc0088c7b0cbacd66bbbf6f9339acb293de27691f481d81380027102bdd486695aeb2adb6e22c2d51e4b09d9e410b481b800001485077c7d0fb2c2fd87538fc5a0cc418f4eb8fc5952861fdbc8a889428894b54f6f7939e2701f1dbffb1a6bba3ed33f53c5a05e70f33ddf1934f739cc443dc8a3d969fc9cf65d6df85f3c752676afb3f5ee8eefe63890bd2646b8fe6d38ee3dc054bb8808718de577a0f633df1aeaaf5b7d9d74fdbd5ba377a2c69dfcf0b5fd91f6199a58fcc727e576d95f7e7bb6a8958ac170f8c07e72ae995576c2051ae34c855b9d2a05c29ede3c13cf9318665cae5c7670a11f1c0f04fdbf3b1500ef1e4a89a38b17549b66ee9c90b60c6d606cb1246bb505ce50db6246d9e9c95569995d6604a74666555c8ca2a853dae144603a6ef81d3da609fe55d9236209a3d7068c785274a3bb62e89c572a2341f03dd117b205e810eaf15c0901f57eb329a9a1e0f8bf5f2ac1f6aba7358acd4162c617682388b1f67bae3f4034ccd5a2edea2c5f97dcd0f291dfd69d96569379ed78eacc8caedeb929de279b25341142ad0121f836e27e8f23cd9a9804a1f7c740cbf76fb9ac3ddbe72299fb98f07f4f1431f50ba230c2639570ad4743797ad3d928e737d5a065b2998400a8050a2247eb57355c1187ecded04f12b595bae5fa5edbe11cfd2cfbaa589932d4b9ae0f03171500046f736db65d0cefa2efc2f7bc1852641342c69a1ad4be299551aca8f866590ad4b9a143685a0809e273b18c6b6dba3dbc383139ce99841ebf36d345feb2aef03a7cb4c5d35ab549ea087132cb11553ff0bfb9acc5c0ea7d4830f79a407187ac8f49855d256ccd42ded06624973d23879b0d1310faf55997a18abadee86d238798880079aee8e39f5da58ca33b5781881c70c186349733c6ebaa309366082a5eee81d056595b4971e77507147d21d433a7239ae9a42ae4a714a92e6e0a4cda82d0ae779b2877369871176ccd059da71236f758c71fbeab78e30ad3a66c8e16c5dd2acefe25255e27fa012d031eb97a08a126429c190ee58ed07fafcdc499b55aa2b2d1d69d0a143475aa612878ed41c6accf1c503b1871ea655d6d0dd1e34ce1c728e231d3106f16733cef2ef63914304721c408e2571a8898301714089f3e75b3b8bd9fb39a6aee49e04ab1cf2f8b48c419b63b34ff9b7524f55304e5aa9b4cd19c67c3efde93e3f8e2311cb9b1a35dd93e3d450a126c9da3b1dcb9bf429692d354bba630b8e359fbc55baaebdf785e000d3ddd9d66b654ad483034aac9686e9cdc31ccf9329af377bbfdee03881046374b7cc7a286f8ea98a0439ca2a0996bca1a63bde97c9c098cbacd73ae9b974fc49da7da358a9e7cc2acda0bd3edde6f891a6fcefd35e6f84e99659b6dea075f4a894bd916a37d660f9fdb85106f44cdd8d2ff1af1b411dfd63dfb961a4bb234ef21a419aee3882fc6fbb36fb4f2abf795f38238092a9b791e63f865f6d7cc9a05db5b124cecf7f3fce5f22e0a3e37cca712218a33b8a80d6d35528348e085c487347c7346074749c343e445cabd2e6d666c792e69e26d55debace7fe57fafcef3a10fbd35e693a046662cea4dd2b0458badbe6d55f9e29c4c3f3e405103fcfce929dc2b3b364a7f0e0cbc3e379b287c5e2712cfdb5c3c39393dab175494d9c804b764ac63fd998610d3c8c58c3863588e0a88102359450c3954620dd1d27a69fe5ff9579959deabb5ae4f16db2ea54eab9f31cd08629cf3667512112223a6a6189392997368336f49bf53c249ca97321e73869a8d0300f0ca1d10234c8a0b1050d0fce48e30c03e09cf18219729891011c337830e3891b491aa70c2cca986570d0812c703a503b2002ab71c880838c20c8a0647c308617b2318c70c08bee8ed2381cd881032d700067035e74c4f82bb5ddcf3fdd624f662cbd55ac45ce5a458e1bea4982c16cf7363bb6b793eeaa9c185329573571164ec5fbb47c4199d757fa59a39ebfcd625771395bbca8727252f33daf959a1ec5e2ac1cb220e95e2965eb9238771696ee587ae879fc3e63bf9fdf26affc60d572fed54ec7347c9af5ff3e497bda2b72dcc766957fbf30fbe328b3f32f88fd6b72287293c238eadcf5108c51e742700ae72afc599a87b74ac7d255451e6360903ba69fadbfdc392e27756433e7c9ce5a61b1fe0b5f9cafb8ebf15afc9f6947bd6fe97d03316c00258617620821c64e77d4096f9276f3d0c6f9df77fff6d586b5552d55b259e6df276fc61ac880068cd0c00cdd1d67954ece5731e77b2973fdeeaf676c6df4fd63433d494fcb2999c42e3dbf0b27032884d18130720883a70e0c0481011b0602004618386044f102c374012b702e4084f4fa35993d4faa2a08e27f5954a2244ef91957eadc7cce1f23396b7e96dd5f254adcdd7d568963011b2c20e50b3cbabb4ae37cc1c417f88b1370bcc063082f76bc4875a146175dbaa05d84c04506ba5bd5385c1cc185141c2e6eb63883b3456d0b18cea8e98873429f55a672524c9272524d92dc7572a5d8552d97e3242d973b56d99e9671124c7d56592f18732c63ab5ca9cd6d76779f9226b37546ffbe92c56eb3b3561eabf5e9b85aaab2f9bd98a4b76b6d12a7dc73388ca57f579f96f288fd5ad57d5977d7d0385a0ca2c51a2dc874f7088da3c50f5ab880a3050070b2e0220b32590ce16431a4bb69681c2c70b0b0020b2ddd9dd438580cc1b9c2cc155ef47f990ff524a9c22a5d465de5ab55fc98ed335df9d332a6b497c7ba8a9c57e932eb2d67719cafa25febaa591f6fc98931e5aecac2f9c73cf4dcf328168f3ecee232fe39ab55d630bd9ee5c770ae8ffd69994a993f2d5739ffab63ca717eadcc6df60f7415c779ee5ec939ccfdfc49b175ff078a368bbbfb4ae35480053815281333759b7d56499f966daee1164e0512508127ee793856b0d1dd468d63050f5658914277bb1a8702682820a6e34f69b3d5ebd3b2ab6a32cbacbb3f2d57fc9e632ae4f1a96390e3bc5a9b5ba2187a9ebcd6436f7ee7dc0cdb38a739a6eeb51555f3559eacd21f8702adee2e6a1c337de09891c30c988e7f29fe49877a92a687decd66c7433d491e56e9b34aaf63d0fdfeac5acf6df5a3eef6691c332474f70b8d534509aa00014e153c74c49ef167e971be8a1ffe6246d01dc540d1dd2dc61fb0c603767800ace7955d0d434a42ef3d8b9578a0ccf364b53d6085244670b341f331084b624c77732fb8d00496c44c7e4924610212652051818e387f6c7ea5f2ce565fa9ccffda218f0fe2203feb2f24bec419125c23e129e7aee5e6cf2b3b4c6718341dc64c77c7a1305fba3b8c950ed3e488e959cfb6d24ffe353ac2872a3bfcb575c40cb152393b82838e98ba111230e25bbdccb4abf2734c5f467877c4d9d622565004134580ddf12ffe9b6da575a02bbe1793a147b363fa5da88bc57afd4c7e3f931f1174783263c74e040f11ab2142304411430039c0050ea0c30142380077ccf1165245cec2b5fa53c0a59f95fa4c7e33f939acdacee59cc9cfde2fbcf2dacff6af68f3d257a5bf1f0fcf0ed1056d8c36a35f61e194f867d268d6ff2e1477a12e577d17eafae407ed347182647315721514f0934fcb587a2e219284f0ee08468d05d3433747f4dac9ef6ac09a38d493d400381a60a6b768f1a19ea40630a0015abab76871d5a49e454bf42116eb75b335881d82c0218812188086015564614006408000082f80f08080e107397e38a33b72f931ec7e170aab9673afc9cc62214deac3b9cca6bc5acac457395c7e571197726c65f757dea4ff148f3ff34c6130d8574bb4859b96de37e2b2843129692a79ff9b5fb34a95be8de659a532c8f364cfacd21f923afe60c47e3a73010b1803ce16f0c5d602a028a0a580331daff5262f05d042902ae04977ce5f6b4b7958a5023ef0018c4ca963ea039878f221a9dbbbbdcc871b4bd4c318af1ec074f7f410246ff7a7ad9e3f741596b75602d674c73c27a9af0464406649c392c6c3c3f3dab916880715f020011e8ee081e361830360713a803d40ca0081789eecbcd5d20d37785e91e7496fc13915f5c0228f1c13ce438fba54552469806a80950150d8c18d1dc4ec80801d565ff8e8ee38bf668daea57994b4f93298352ac099027c0192f441003204f8085082970d78d9c20b172f27e810870e4074bb126fc165d4bbd6bf0bc5fee06799419b33c971cdac972ae252ee6fb32e9990d36b29776dee2410c6a0f7b98ae39c651499f8ca6556463b9a3195396c200732ddcd419f724022072e3988d0a503477409a24b962e32847584658439842c2cad60694c77b47da6fed5b25cbe8a53fe7526ce2ad211f255fc5a1466ba24b32cb8273f15e75a92435d741797efe34a5518cb6f1557d522f92a7239ae5411e7ab9af2218fdf71be9a1ff3582db5adaa75d5acd2db1f37336e11b871b991a0c4811e9f55dee02df80da9a2a844411ce247affc2cede63955d2b2a79e5e0b932be99f6d423c3b6fa3affab41becffca9474408cad9741abf2f9716c6937f04c776e815f77ff83e0929833530e66359988b614535bae82d77c61f664a540d186c1f03c5026c49df09888b9c6501adf74bc6752f74b77bcdcbdb9034b1cc670e1b0d43878c77eba8a7b7d7774bb3e33dd91c34b7268be4dd6efcb942f69ca67a46d76aba6bb5bc79ee9b69e0c33b54be2ccdd53db1d69334a736bf35fa967ba23c7f3da9115551fbae3921ce2886a959e794bb6d3fd1599bd9fb634b6293abe8a8a8ebe8bb9b415f1aef0a4a7416d8ceec6f36b07a82575e4a207172bb824c1c5274e4bcb6f4bc1b3655a8cce7a1bcd31c450935bb2b86818b452156d0e1a14f582314ef55e8c566a7b1becb1273f700a8d85d91fb32c6674f6a4e3b59cca9334d7ff59b9994916868c88ee1f4f2172327b4ad271180be5cd6735cb3ed991ee8e2a8e96e54fd8cd62b9f4f360fcf724cc16cc36a605ba638ecbac675b3d7f2c29b72b2c61e27952de906a9db582f1ff95e199f46473a8bb2b95361e160bcb179880dd5fe9aa74467c567b6d36cb582d6645ae9163649174ae0c8e88c849ae09132546338a3926309a3dd006c392f3c760ce2ae72a6fb372e192bd1fe7b9fb6fe91db4e1ac5221f97556ad77a32dac76828f3f9f0fdb03f60018d000fe203300a32b1ce79e3753714fcbb24a57759776ee79b256c4f996146c01236ef189750b87258ccbe258b6b66ca0a50d2d65ba630e1358b6f608e61f93a72c756401930501a72c378b67b1b1e2744313371cdd6063c31d3650c0069a0d2924ed918445d217af75b7552a1d83be7a2c7bfc3192cf2ab3ad11abb86cede51c535f757466ad780a29c4f04a1b8d2b4bbb7954caba6c632eb3a147e3fccc552a6d9c3f2de368938e650d2c61b0fc5c69c19531a72bf98a942bde717e8fffed4915f92ae67040584e61b16654c6c92f8c39c694f64a79c4542614732af5a8549229e760f359b9ca8c3ddbeac98ef3559443317fe0cd49aabd7138e62ed814baf68564469c485620711f73ea7d364a5db7274262e1f54fcbaaa59f95ceaedf9ee865a63bced5df2b2fae3b26c9d42d7eece15779cd10fd65a4a38f905b22579aee16a14fae2bba8f5c575c7d64c611024e475622ce387238fc5a0d1aa801ac815683110a8cc218f518a18ae258a232c73427852785855f63b170f85558ac17e72d8ff8bf5066a9afc24c973c8514220dcb8c3d95e3c9948f90ed3e9697bee6ee65b2c7a9f06b8ee7636cb35706bb7d2d4a751711a1211ad3bd225a22326a22efd811759c43600c81e9db130d0575e4b821b7c93f0da5b1e279b2658576adcce0b272a4ca1d93c2aac8723c596d2b556586130d6b6898024b5a8b061e688012f330b768b8b956263446c71cfc2f93098de98e4240417cd08b25ad03b1e3c7a0ac4166ba63d0d7dda7a0a06e1fa1a023bda282a69bca984c85c3933a152034dddd5eeb7a80963a9439d357a24af70404c512fda4e94ae5e9e74cc79f251f213ffd20f141c367a9f1df5ef6d5ae64de637cabdb907c8cba3b9e7c8cf4d7a8f74ad4ebb9a3e74c0f9d7abe803f7dea7112af65b15e5388c57a4d814dd199a242ab04ad099c5adf9aa1d2a1ff6a7d7a5646fdda9ca45e5cbbf6165d3324600617a4c82105082953ca13292af0acc1a303cf4a86109c640013731ebc39e5df7fed7395578233cf49b9ec5c8525cdeb739e2761f23d6b5731c62ebfabb00adf0fab0c63a00d55b4e6324bfbf2783fa6ca817dff352ea59aded33cac523e86bd17932e83093b75ec04b1e3711ec6a294891244142e86de57171197e3f2169cc8b3ec3d160a4e2c36620c78c4f0460c41c49080189c402101941fa0c000650418fc8861c63af3ad6ce9bd7e174bcb377b678fbdf7fb4a9fa5fbfc789518e438979e417b6d769990679aa5f5629eb1388be33e83317a7396fe5e0b8601c060e4cc0b5c0e8bf54af99274210f17c4ccfaa48d271e78f2e589ec8991eea6c9849cc5d50bc6605e9d74393989213835c9a209ac4f4d545872d8f65988f338dffbf0f58185f662e94ca43831f19888b04403cdc1681d6833a7922e6f0eda90a3ee75890b271d3f749c38e9f8a0f342a4c3f364458ad7baccf644a4e8a7785a75715a51b1ba3288aacc51aca00c83b34a95ac421e39ceaf555d0bdad065d43d50e63275a482a18515b460470b60b8530b4bba9bd681364a2b56255c28f9d29db382530e1f3949e4fce47cc0f9b058b44efec45925cd3dafe591f3e15cbadfcf32e95c0cbb2a5353a41060429f52b4eebe7d4d6226c90f496e48120016d2b0b080130bb4ee8e323babb4521b1d62c183375698e22669af5bec663dafa5820a54d8800a55052929d891021729cceeee530a5b52d82005212898e99e7fafcccefa9e67c979189317d3fbb4bff384c2100a29247f2081a22b98c449e05c380e4ec2e9043f4e28e3842578fa7402d7dd9c4d7e86e5c71cf7511a8671b3ca50da54ee79a0ccd61b5791a200c89c04804500424e266c71324108138e4c1040096994f0a5236769b7d5d398cddec042149f6269b77ac1d8943ffd394bc44d99c92a875cf6583aad036d8e394bbb7147a712724870e344c298c8cd9fbd4795e8fd2ae898fa9c4690e334c21023cc308208193889701301c94984108ed871a401a72340a7231c446e7e98620cda6cf2334e42eba4632af3166e0a2d3d1197c56542d62b6561a3c879189b55f680b7af2ea5074085eef84ad493df7fcd55210411420f1f202801823d8160e58335a70fc2f8008aeec8e577d10a3e069df330e6a1679395f355c4b382b2b04a9b2be572ea7b31e54afc7338e57e3ef36f76d69fee3ea151494eb0f76f90d97b1f1f2cdfc71593b3feb7f4736405c5c20f6a853dba855e1b346a8533502b88a1f433c6eecafb4a3676d53a0667ed07c957eb3db63ecefa4a3d9fe29176418b6d187b1f6843218f2eebe3d772913697fe815effb3ac1aa6d7ebcd66e916abee2bfdcd06799c0fb3f7bbc0fe829c7fa7fa9892d0f3e45f25488a8e7e6e70a256d0cb8f7e5ead9f232afe33c55f2ea4218ff53f4b0484214c0e20728249080db4b3c2299110d1ceba547ee1d7260a09ad9de5f8caaf4894462139753796ce79c9815379c981081121280fc306d618e431f4aac5dc27875c7257725826b33883533c721c686d708ee3dc8bbbccd2c755d7553b364a737d72480677f71cdcfd3dfad96c672bc771ee311339a7c3c485189a30d1f13cf0d3898198f37f9783564962a4ffab726110e30a461409627477954691d0a5639224ce9a14a6c2b2bf8e1a6103a811ac68d4082ca04608a1fb049408537477fc980c39a99af5e23929162b4657e5e0324b1f77b7b45b2abbbce4a0a3a3a363b34281f0a18ee8d11d67b31b803a62c3373669b2421d41d24477c31a1580291adf781f836940779b5001e000dfd8438ce82163502174dd1d831326714964b2aa167381fdbc7fc1180c7b9e843579b25ad53aeb55a47fa0ef368508303ac27234eb67fc584c3c749b0e40802526039876307d3115c0544d04307951ea36e9807b2c91e781403863742bc10953040a67767718281c28dd54a08c1c699411305e8c6c5d52132753a8ce88700be5c1906edaa61c501d78d1dddf677c795c95c373fff5b1f7994fc3322894de1fb158b01d57ed487a05bb8aa789139bbff0762cd687778cb0108b054bed487a85c562b13630d2dd3d5b50457c689d26ab2e435045ac74b70bb7a4a034d80036d980d22077772741ddf4d14d56f76f5a4d3711ee00a639ba4d43749b7aba5b05ddfd4477bbb826c20dd112390e7573d3a80c923a03efbf1f2cff0c85c11dcec2008a769695510c26062a380b45840e141131dd2822468e22c2c1103460861839eb5f06b319861a6204f62f4bd2282169da59282162ba9d25440b4ac8916e67e1f06bb0cf6e38eb7eedda1b4c26b3289b30301b2dcec23625380b976994c9439996380bd53aa07ac75959c29ce8d320600631ea413ee87656137d1284d60058e2e305f305af2f1e00fa3202196698b040779b4080022a21d8e2260620dd2d244665b0299863083cbadb24060450a2b8c1081026badbf485187524dd115760bb5b880ddf91043ef0c1202ae8ee21659c90c208d5c5183074b7498a03b214815180125e74b7e9873c4ec8b9447624d0dd36567ea494e087243fb4a0bb8580d000347b1c11c60b35ba1b83248a5863628325c80cdd6d43c70a84d0219023e680a1bb893c80cb00095a195ce0e86e9befa003d789345f84a0bb4d6bd458630c122276b0116b22861606e0f0467707024820689c55ed07c260557613e8532047f26399cc92e9132034fc34db2801f24177dbce76f6ae74b04e98a9ce4fdb45d1a73f62b55ad67c49c3ac09cbd69b19fc2af529a7203571f20213284f42796fab2299c2a56a894c4ab222cf6b759b40cfeb36656ce43168ba438492d624d1fd04944dda6dc2e1335953b5d968d1ddb54f2d28d34ab02671c96a35bf05291cf359e516ee88cbe2de6daab100cab3a07b87159ce9eebb7ad38d0be58e7e268d7e66951e19793189147ab40a4d234bf4336964898eb22582fd4c7eb04fc64f3e4de767d2c8339d7f658edc7b93c2aaa55bb82539f4de147271593c3fe6308b856d34d3d97b1cac5a6ed67f4f66d7921c8af3559eec28d8790e8e5b3859517d2b5c160f639ebcd4da99b73ce6fa36ff9c55b535356b9cdda4a3a0bbf718e389f620a25aba87576b47a73d86d40b66fab799fc6c77d3fa4406014e70457787536279e3a6fc201777021d66955e0fa774f9347fdaeb0440dde1947f3d1afe0b743a0107a93ee9e1c674d6498fa4c63ab589573ab4eeb3cd763106d2329de9e8b0f09733cdb38c32fffe6c465f89ba3ce561c6f398dd6deb92dc665b9734813c3e68cc041e6ada94051e40b4cd6e82c09559fad8582c7c3281054c20d4b18badb0b864f57795ef50dd5182b3643fa5cd23bd3d919301c3041f6d0ab31daa75dffde7ea36d1667640d11c6e3f646f87517318677675f0114f7598e9eef06b5cec54475037122efc1a87391352b74972dc500f250002df5882a0fee4bdb9cd1ea03995008597498c1f4b23fc0f54918e6af0a8047ae1afc9d7e3a39fb6fba2504689c22991e6e7faae396cba3b63695485f0e3d663a42ae4ca9608d73a6be566ad64b068ba5a2e4b24a7c82961fe6c3f5e4c56a4f97fc17721c53142c342d8ac8fe1e0b0a4bd3c4ff6cc0fa7fc23a388b1e72354ebac95cfd616f1fd5a67ad2cc9a1184acf672b7299a3e2f131cdf795a68cee4924afe57ebf5297ee11cb218f433d491e2865efe3b1762590c79f25c9f13c26d4e3a5f2f31c0ebfe042130fbf8a474cc563a6b936710272eee3d1fe0d47bfd95a732b32ebb6bf399659c717b45dbdfffdb4d8559e2743aa34858c5af26d5fedfc99729c2386d9ba25eab94aa5f7fe7ac442462d8f7f9fe6de83d7d625b93e5771482c16f7126ac2c61457d27a36e8c2a64f6cf8e0aa0db4e80db038ad91a6bb0811b786182041f8c8a00543d64875779122606ad0d19d4158955d9128d418d3dd7e43c600b668c912811bd4e80e8448638cee3e9206105d240d9f6e67d990c64d6b0000346cdcf09184c50457d0bcba39100309cd9056e2c20363b41960f44d0e1ef0ba1bcbe001156e74d070a36f5e78b98efaa6a706348c9a03cfa8e88c353f389ccec826222ba73354c0ffb2d66089064f4c55ccf0a2db3b88e234c69a17da44839029a8bb87f4a90c3de2907bf51ec0a90c59e31b61393330f6403c18ec9024863292b03175f1a502696e3008c3092392fa60b9c0f89082183160b891e0661629a941b90075668a1c9c2f7898b1ed64600a257550c1a48317fc4ce005020044004115379e292a40d93c01e105aa3330f042046826102d81461a45b050c71a16dc61348510287df4c46133c2a9031fbe51c705251898cc2a9dc98caf388df19dc8e0e3c993d5ea348608bafd5a1902c4c8816f1c7273e20019187fb486737d253b418c61f7a76769309e09bac24c3d9a917a6c5dd267eb925c565685785ce5dab916c8f364cf7b31e979b287c52a0283c160f493b00fb35832ef318bc562f1187d5fcbbe6ea78263e9f282ad1d794179f2824b77e3609b3c342c83ba4813bb08d30514294f5d7477bcee5c9c915c7c5971b1a4b750f3b5b6f882edfdb6905b188915bc6e33bd61ea1eb35ecccfa0e98e33f430253a4380085e4bf3a7324b1f2dfad022025a2869f1d262481674747c9bed6c94de6fd216c7459e299fd6b254bc299f26617606e30992577e31d87c0cba783295f7e5583a167dc41ac6020358d4621853fdcb9cfb68e654dcbf0cc6b5fe65304fbef72fe332e5bf8c67e71f48e85f06ab96e28f661bbb42882b6608339eb355811054c000155059e187154c5861a555e1d73a2e86297006056e149062060566c274d4b1b1e9c3ad3e9bb18c1c9299225568514557c50654604105a5e234012f26e0c3047622a7aa34ccb4e5b03925977bb012c5ee54629975587e0c73693f7b55583a6c52253a2b8579a5989b42f9fb28ab6aabea65aba79af869af9cd4147f4c71c514384c51420ff57e2a1de268b5def948808c0422b0a63be250de6c55cde67b962d8f7fc1196d466915bc2f13f255b5f5273d45c08c08e4b6d83f963168c3321b0112a460430a1eba23e638b7999bd54ee9f16239b194cffa4a92962353518a10a4c0296381325cca58697ce9cc6795b58ed66e5fa5e709c166b531188d024d7787b13244517cdd380aa38ef32bb55ca2489da2800004cec41604c074cf6aa7406088cc1a1c7e2dc4539201a3bbc980e9e823e4643832503a7e2673d3dd0d8519f9815d676f507ce90845ca7ad871924c7d9e4883e913663ad627929e48655b9f6827d038112657aa24df8a1346d5c63cece4a4b3caee767b2227bc7aa052156a02024d2c7906ad4eeede06e2265063d618f385a39d97a9ffb5b2312430e10226ca74731f56e99fbd930919131f74e47aacca68a827092f4181258858426909159a8bb7c7587e3e3d9b27bdb7fb4a45342c694aa8892e8d868e829430a304988e331aa34acc8071a6d6a5c4cd571b18f4d0f3e467fc63a5d5e372db3907459641cee74baae4d3ffb1971e32058a0a229a8a1da8a0ed2ccfadee360d31010f746b86bef6de8722cb48367b81ba6da4e4310599ee9ec288041ad0363c363b5188f8604993577e1178113172554e52b1bc391261a4f0849450c64cae6fa3acee36b25a95598a526627d68a3cdb5a664977cdce289888220915c507dd51747743c00b8bcc11321d901102850a505050d11d3d3a6b565de5eeacfa1ecc59f58a359a9668f504204fb8e12c9bbd40f9317ee23d2744d0fd06ca8930dd59dcff6c37c807e3a2cfd625d1b00c6ae204e9bd8fde977d654cad6499bf0ac92c7df067bb41194b2bf5adb8acac0a65ebb9300ebfcabc367712e81f28bc59a229847fdabaa4bcf444482dfc74ca0fea7018c2c1e693b1b4127e15fcd3f6e4774dead313fa60f96c37e8a7ed31a59418a3c4a4418927260b2871338570ebbefa1083a6bb694802081724b1d3dd3d7ee45292e0a0dbd406161a12b3ae3ad7f2f040d969e20429e36a7b582a7c8b700e4f0c0c9a32ab147b12c401df22a3d4cfc53b367b818cbc577a2b9f7df5d032c5c2c3b383ebcdd62a3118b164c89443a38a08a4852ac2368b6503858b0d0c37109126d3f9b7a7265f5ea388b8e1c6bc7477f85566b755c568082ff8c6f06b3a48be5a25320e50d3f8c66bb37134caaed1289b8146592cba1b030f3c4061c9a2513f08d1a81f7668d40f3974b79026a201cc4aa360541a056b350a06a551309d6e9b1bd31f5e5858c146052b534ac1060530ba6d9074671bbfe9b61140771bb131a1adac5258b74d09b9cadb2bd159b70d09362274f7cd916e9b00d884600382cd07dddd6d83eab639e164fcf376db180140b7098e6e1b0fbafba66d3ae8b6e16003dc6d5344031b30b96b7dfedb55db63736393810d063ad810991ec5f299562a7b1f2bab423643a6d0045d36426c6c6c4c56ba4dd7cade26ab4db769902cb32e5a9646f3ca208c6515ba9f3b79a510c69e07122d6047015e28e5a486a0815d871c98ab708a051d5c050b633058ec400619fc82dd102b8848540f6aba9bda4a2407d543996e2230f4c0b9b04f8b664bd493b10d6a654b24b3f409a7cc37c2b34abf4f7af7958a60b33e9679ef8a3e423ef7bf2d5ccdda202e4b9ed557caf3717c7af3168ecb22a3bef270b59dddf2e353d4c38279dedf58ac2c5bb89fb66371593c8faa70b5163b6e799cf4de57b237a321a41b2c3f6e7944f28873a5f25e2bf39b1d7fff3529586ef4959db9273dde2b3bc74a124f693d257f9995ef79e4309551eab84a4fdeb73dedfb68fb4c6f4fc465c1d4a767bdb6b027739cc57795ca3bf9a6dcdd0668d452c437de972b08c66275b5655a0175fb5971434844b01f2a2d97eb6708e673d4c26284044b6a0d71a63c04e9ee96a1514a06984275ccf76ed30b8c8053fca06eb8ddd13bfcf4e6fa3eb39ec7fbf8825d6761f9311dcab56ca5db77dca36c5269f40f542d8dd8e68fcaa8f7d9e4df38eeb381b1997579b4d8a361304a4e0b1ee50efd03b9126fc1ff65309a7219fca31996df8b92f3d19cea3cd9c16470cfefe9e8f85f5b6754953178398ef3f8d11c7355ce4773caf12af4aef4a88d8277c579d27671b5b452ff6876299da398e3fc528bc247b3a3e09f41cb712d87e5faae2ee913d273ca29464b72285e2b03e5c78cafbdade695b4d0f3646eb596e450f4507e543c5eb1465ebbf6e6d9ce667bbf998d6ee1acac0a7d2cc4740ef9921c8a9ea5dcc27db62e89cbe295ba4c66573fa384b266972c59c224e596d6e331ff4ce2d0c3a0fd2ab307da288e790d63fe2ff350c664f8beea57f795ec156be42fb3f6ca8e739b5d5a2f949fac619ba9bc656b63e14a7e14e91e5d70e2820b2fd8ea377b678e6d20168f1c973fdb8338d85b96596c2387ec6656e9a76967392dd31fd3dd9e27fda37c2a56ea79d286e79a76d6cfe467868d0658dea2c86e6a998eeaf4e88e513a22a27433546714a3781e88ea4640c5d0747b14b781f89d352646c331285d916237b382fe3766bd2928794537924789c2028b5032778c425b880962e4d2341229476e2b2cff8c1bd3ddb34a575e69172be40d1477d43f939f8c5381bbe9c61e8c0f242898278488eeb635ea4a989ed129d6be5003f0a3af0f6a00660c00690043fabd18f53c29833df61e26a3b44c6f12f64a302cb7d810b1cc462c6320d6093f6f5a5bdbf413259bb568d192a5bb9f2871dc1325fb724189c562d9baa527a82c59c2b4b354ce9a3649cde20111d8a4f2ab481dfd6c473ffbcaeffa6987f03f507ed77b31f9d9125d7bc12915e95bfa5af95d37e85d18f4be0bba7e7ce47b3d5e4ffebeeb5af5bfdb137db61bf4473e9e277b9e28b158b62e09b65a7db66e0906284e9c30a138c4576c486b90ee708254d372b5542d322d312d5ab4a0a005830efa464adf58798df9280d5f4bcbaedce1c537eb845f13ddc41031ce149aa2ccd0dd42b7290775440485495cb2cad65e16eb3f164b853615a16aa0a2c3d4d6618aaa6188911b40fff24119e174600a015564268e17a08a9ee04ba53b14d115df4a436a50443dddfdf4665bfd5a190bf6f4e656ee1a6a4803284d9880260234aa0a14b04a75ba572a22a58a772b7513d1a0c30250427a90e00d37468000211dba5dcd002f36151534827605a5d0a6a123282a66baa7e903d30b407e347e1808a4060a088dee3ff2b93d1190d7dd38fc2a9628fc2ab3658964d6de9f41f2e39f24c2af12f1148adef2c84da1ffc257f855b89a744c69df51f0521907ab96c374562afb5bfebed6bd129549b063f1e953b2404d3113c6a5f74df9a6b01a5f8b6aada0e547bb9f7100137cf8962c3f7477ad51ada5bcf4a89611764f3e767904b65a3b8d9f4ea1308639666c6f2f2e8b3f066b9d8cf9b5401e3155a2d4f3a8ad8237bf1b5278403249809f6616ebf5b88d9be6000f1f31d79990bca0bca044f17081e209d35dc19b5d65028392014d77733ed97a2ece711279c116fd696bb69e2b9b3a28b9bb354862634686252fac563b66503ba936855f73ce1299e4804105de6d12012b0d8af5052b8805a59fa0503138a0bb495cb2b2754bf282525e5042415a754979e9475e505a591572c14063222f28618082c3af22a48b0737b5bb5346123a90d001074b10207e3992c688220a744183ca01362880a905af5311143a188a623b7d91020d0f4f8efec820cbd0c6913494ac6cd084843c2a9205308180294608730596854a00232092848c2e92a8d1b9c1f387e3e024cb1d0ae336868e0842e0185955b1424e1670549145a6c21071a88124258512862c6d19da024d1622052c237096106301dec98dca45943d981c81430c690619da814a066b6e48814b8743418702a0c0010aa480bb6385048860c71a3a8ee4f104152a4506220052c2924a87d4175ef25040153304c98008183210800e7c90e903e8ccadca193759811050e0da60cd111e2655f880e686cfa788ab67f545094470bcd448c10698a3312238420d0730263c70a24e35500cf1429021de0022d6441436d4e166a080c24e01d63843c70b0cc87438732689118abc30c42688324a7c31e465021224b3252808f248cc0f52f0001e3c3c6079a28c18379c0025c0873a48e0010f3232d5e212c0028c169b3d48c0075e649274aec0603883823aa63cc08804383c9019c3b1008410501932012f38bc203035bec062081b453610248f234ddc70c7942a7696e0969608a3e88887a84508c208b65820884b1f445089000b5688017322638817640f4781ac408026042183850ef710020843aa0822d7b77dcdf8336c3e0e1e6bd7de3017b719779bca98a2e86e3b41ecc5091b193b78b892c41c6758414012025406000113520cf962840f64096bbc00040e0ce1021bb66ee96572561b8359599d14a602ea090c02649e80c289269e60c28926c630b1841262c4881123a66d9c782f29a098b801010cd2b247f168b51eb381b7c3e0e7363c106d82033fb65d39ff5aa19f96688acfd3fbf259258b15b381b7c7448647a58ccba08d534af2b71e504b386835f0883a94c92048086e214b3a56c6c4363a94f74a2891c9aa7ba5b0d28c6f8ce5f9ef7ad7b5378ca591bc3423207a5ff3b325cad61e55a4f93f9e7c7534bf8d96e96dd5afd917b6444328951f28955113a816d0a05a38826a414cf707901089a3bb73a394e4224174e8494f769b807840b729896e131261baef53ef1b3ad25792e8c64ee6ac760a9e423948fa49c5199552a31b37c1e1570973c5e1d7c2af759b8eb849ddee762646144144779b80e6cfafcd4a3bfc4773c873cd2cbf3f429a8fad958cc1ac17a8045347c7550d99a21100000008100083100000281c140d478462d1703ea6f50014000065bc58a05e9fcac33cc929849031c61001000000001011686400c9956a3686230c5a3fae3081e0b027a985c541baedd4c74833efa1bd0fa4892ec67a38a2f2fc9889eaad52545197908315794cf7bd1be3d43514132892f1b17f7f97d64b53e2dbcad88f50a741ae1587eb4a85c63adff95f17cb76221d8c5423b7326086e47a54e92ab7cc82fabf090abedc639d9dcce3325808bd40724ba3ade816c984ffd556ef806c4db54c01578bcf9dff0f067fc15808f14fc1474c85b90598341620a989f4542403e900c700196cf439119d106e567c0652730b98b8eb9503bb0dfbe06d620cba87f61200ff8cecfc738f7da2fe2fc4d81f4ec3141283bab01c51ed08e7305c0f8e202ac6de2a757a39e67b5eebfed082320ba52a7ca30a6fe638c39d2048b1ca10153de543dce150ec31584e2e342782be482d55a49bb0355ea073feb36d28f79c0c6e9212cded8be2125ed6cd29d31d707e4719bd41b3e43a7d948551e4271b4ca64ad4e329e636c28046436a71e6eb9fb164f10512aab89e7dbc10127a8a2e16cc10d1af567c4deff5972af82c3ddbc451028e3d4cef92da8cc8572d71cea8e647f86e8e889718b32af1bc5189d333148f3605a87d7367f0b94a43c177d1c4d18598e2a8de7b4ff7fb8b9734cf0305574e107b012f5b155694a616669607bd888bbfffc46d21c8db13aff949f982ca380e9bbb43abc7dd66a45ce8cb8d2e4fa263e2f313caaddec2d2d894577be3991fa5f277df553068b24b3ef074869ea121709b17c2b453ccd97ccc76e7fe46bec54e16ca22f68c593115993451a81e1ce99dcce592035a210b17635c10ddf0742f065e29a3937cac3d4c4283d9ba47b0b21cdf43280c79b2fba48b56072ec887c8a6984c4c1b7efb38a3b9421dd7785a65dd1c02fd259a563d403ccb2036cc605936f506a0eada02d740f3ead3ddd00fd1d8c05257e4d050f59e909768d0fbec9248d5e054120afb5308580e65ed4c0c4ecbf8e979f7e601efd4dfe465be53f965bddf22f266ee4f41bd79cdf6e2737ae4ced09e4ac561dbe57c1a73c33935e507d9e44eaaceb6b2cc673beca4de900a92e37a5e73a9c021d7d34147e9351db06744f4775396e247ee003004320ad1cc959dd01265cd7a54da7b22658a90b76c3ec912981c88bc1c26cca9bfb1270f96cfd4e7e65c6b4d2075114e7e598b2c77729796348ea7d07716e19e92c2cc1466b659a0ae6a63f4f795c4b25b775215995f284ecf75b830295a45236ce22a073850009a6cce56f9e15dc01cde076997321f943a2b08576acc4410053c841ed458fdf559e213ddd7c3ecf5ab49155eb718f9a57a5ba959507a1fab0804bc0f5fa9a389bfcd06e448098150fabfc71e6bc32a87af315aedf3dd36f9b3635f72c3edf4fdf1f11418c8adc5545253d2310098f0f725ad8ad2ffc5c7c90833a1e491016fba0dbdb9aae50c34094533a7ce1d1dcc6ff2c56b83fb7166a7bf9dc76447cce9b8f334ed1dfedfefefec1368394dbe40b4697490d1ef1ab0a31a1773e70351cf0c6c5563054a71c8ff29e480eb1d92b66e1a69cb704fa8000e3fb5a9e597daef98726f5d898894f2c94eaea8cdc8da056be7db02e5debce0e2929cab11909f7ca0b698870298d5399d152534b6bace81bad89c908add80caf507b9832d0ef4d86db9ec99b93a454bf15c2b1706689e971786b257f2fa67192038f010dc3659869b0565fe5d288bd887bf13dedb5ff9ffe96d5acdd0a5ce4f109b10d37a51447be58bd1f0ee2ac503015af801a6c1495dd1fc2dc6de51dc7468848d43dd7c04be4b3e5a3cebd482f5af53f1fa7726eec4402f58f3bd73096c9fd77fb056fe3238dcfdfce337da10ff80938e92fa6a48c59ca8b8e660323453dcc4b89068e29c863f7de5a08ed4559098ccbf62c7303d21a0faae53a3bb607447c2f5df56f0d7aa8ad0e081be4a5d60d0781102c34f3fd259cdbf8db0b5d1fbce1c52c396118bddaf59710468c0709b6e86cb0fe299537a3bf39ebf9987e89ddc01c2db0fcc3aa36d1b52bb129303c333982c3bbbc09fed120f220ce61248f48b0b36d3c26350978999c3a564d2ba19b7b8b80a6c34f519c491db2d2568feef519ab38ee3e442fc207fdad6ac534de623d4c4735ba9a5f5d82a5004f91dd70724fe8d4b586bc51f7aed48fc877834616e4b637232c73c8231a6ee67f66c25aeddd1a49b1ee6c86779335acca0a748d6f1e3e9783e129067acfc135821e15298bbc98725a170c324e26dd49fcf7501fea12a595145e1a03073cb03a6af7e737fb5baa4cbf977a448c04b870954f1f0b84399bc231e3affe86397ca916eced529488ad2d385f14bbfe04237bf56ade066349ae77a14e5d98fa77293bef548ca22ef522b6d1c44587a8a7f9312a1ba055eee9b3bb7b0a8a500f43f83ef89ec31cf5b2c3c890d7f867b6dc42e51176c6b0d4289b77948e15376b6a80d68a964ee7df5883da6c4f341355060da5278f0e675e7de00d7f89febdaa4ad948d087699d39d032e08576ae4fe6128c633336444071dec23843a33c39a801ff0bd43cccd2486bf10a5da42f4d37f275cb167aed59bf21d71bbe6bc272c3db2be38aa698b24f0411a2a1ae5c3fe3bbff10809801b6016d3a1ed13ef4e2566dfcd046ce238139d6fb4accc33d670002f0877ab27a67693a6de5a6d5ef679beb4a0f057d54a81f490a74a3bc4ec4af8f80904ff8a834fc0ec35abf473ec6afd0464d1ecacb128dc19941f014ed635ced3aa3781c1a78370535918755fd18eeba2a14e8053db432357015c5000ab06645548878475c705dd9e3c11c5a9eb4c121a5befd93e03f4b00a99223a11c48272ba9d537f05c43d8a679bdecba7f951df81379c56bf3154b470b82cf7ac5c30285d391ff5b953918486598b7a61067b96169bffa082237db949040c0d81ab8b5a922ca0e646d94119b9312978b2ea4a2618ba6877c65389b6c356edaa2c48845231e4a99623fc459c1930df28f50eec329d2b11154cbd47cfbc0a6bba358e91cd585434b6df9c0d5ae4418eb9ab2b38aba9fee6bf042d5da9e85f95547d8734c1026d19a76f4a38655df48adbafc152be2e8eadb421addb37aad6c305c590a5f43a50057c262d5b404392c0af8b6730d9c075f156991ab77412597c0af15d669a7176a3a5a86960d1ea85a13e8332363a7cf2351d297650f090dc2ab1203b7995cf5509a4d54bcdf2304d36fcfbada6713fc564d1763e718f81a7259ab4fb6638f19d3e3af2a21acdc61ea7236a128ccaf00ba7400c3f5029d0177ee5ab34d8d62d721c8bfc0fcd574e361b1606763200274fd2ddc016b5f415012d5e6af635cd8b162e66fc9caebfe56fd36b44a417f510e24af02a7bfb59fdecd2111e9d66717980fade79336080bc5a183f1c7283290ad0f981f48cbb8747dd8128a1fa3f84261df3bea08ca31d61bd088024aa50664bcaa37744d7183a90ce343e4e53481b6eae1c27c25e17ddb1ba699227b615788155cd89582757cd3d00a0c59bb5b0ed09730910e1a6d268d502609abaa9c6131a616521c652bc4a4f2118128b63c8b97b1c09622c6852321ce5cbfd6bb0de40603a65c0edca8ad169441f65876740e655c4ad76ad8364f218810693663db9fbfede4ac8e52a2995c3b19a0cd5ecea7c4b862f7cfda565849c497a994af781670232c7c44dc790ef9886a84d8ff4dccc5103ee424464c1033acef9c5bb3fe37eb14b6bb2687af3dfa7649c02156c6a54b308f405edbc122e68c8e7f900b611274f40fa399f3446aecc113868b0b9e296495d0f22d07f115133d79da7324325d76ce55eeb4aa4a2b94b371f9087c7621c83e24d0affaaa7f7f0328623ec73d65f801d8522fbb2d7099fd9807a0866aa0be4a08718a33bcc1ec4c4367b5455dd2f668aae7cc4612453ff0e05604d8f2452e7861f7adc017f9d4fe41fb0a3124aec98687db17b9112762777f0196d1a90fc4387df03da21d58431697b6c951999e6c480b5f1ed686ec3bfbab022f43ebb5e89ff71de5c3abb27fcfa11712b0c5bffe68aab106d4640d4acd31546dc8f1ef48dab2aa430ed2f6523359bee0773d49e97ff77a8e0e0ba5026344483af894c679225a86be04cfacedd82e36d42a21219fb56b678199acc650b1e629f3b5e5e15238fa8e4426933e2731b0b44804c145737ff3dc8fc0b8a5f0e76284b7abb5f0d9428c086f325564fbe172bbfb4c212e2494a1e49a7d60e642f1709562bf64b7c6b2ceef32fa8130f692728e427a01a5d929f390483cd33fbd58b38762db55168012c30b842b68aee8213d9f0e3e34360d71c02bcf566c920ac73269dcc574ea2f6d2a2d7b293a9a8bdd622d2b2aec1d5035a5056dcd75ea3424fb73138655ad7daedf382f2ad75b1cf22339ad73ead9884221f1434e7f71662d38defc16cddee9dc0f31aed2677092ea81481408aa38e6c9e38c1b47e0f2665f0a93e4a2e1fae6fb738ca3d5095267badac84ac162d62c9c0db4165d750435891ab18532ca08cba1c49348273b49c66c6d4127b27a0fae82516e3ce636ac4888b9d225d93c44cfd29b38a1b4971d9578472d8c8b51bc4862d89946382d767b1e5583fe26cf62a04369f4000f61583709a4705ee3dc01f475cb5e79e126473c215be3e346f4e34abfcbd7ef3fd16558f41f9185376f89fa8b81baebe209d1198d983f3156d6608cbd880d7be9f4c8af515481a3d8a5ad9da9ce5c2e0e7c24e15a800930dd1be4b40170ba2d5240b93ef11a4e916510c3a5aff7316e8f440109a2d4869432f430c64b9029358a39673359406052cb547fec30c4ae7637276b764f5b503cbb7f94a90fdd1a947e964ed04695e8e25b03341290854cbd8667b3bfba8e9e5b47a0c3f1763b02762ec39041dde1a92d3209d9ce3246cce80f1042b98d07c9701a02c9a9ae494eeda4cba403341b160443a8dbeccd9d9a9937a326f841c7768524d62e38ee7e0cec4f1abaaba86989609c7a46e0fe62ac95347bcefe8842e0e7d723920b95fc78955c82841a9e73cc37345ecd56a3687c8eb826e646aa89d5b70150178be27f8fba472434d51f32931dbf3d875b32539846fc8e92b097248b67934a48437bf572dac547577d6be4581a8156e2a176dc9bf8054447dad80122c4cfe86b7dbac02d6e2dd8ef08dd669220334d9b8c4d4698e52bc436c740a9a90e5e50e41344d3d8fe0393ee526ccea805a56d7bfa41d11cbdd6e0dcb73ba98cbf5bb9450992abd20b64ced279d6e22969a1ef9345297ba153cd976e4232a24b3362440e7268732677cdcc0a2aa7ee1209495bb88d30736d52461fd500fdc99e93dce4965232377803362863b3470d347618fe8434062aab27cd4dea387db8dd7e628e7a9e013ed6b3f7533e38e4e0adc8828b2917c5c103c624185edf256a1497a078842cdcc923f1644ef8608052dc78e1182a43a344c4f252fe2bc06b6f2d04b42c85c64fe4717df8ee3921d99431884806f8c70313a3b22635f96b0ffb7b72d6f4054554f7b30c425caa0b51b73d0f6095cd33166b1983ed2c6684834ef03e3ac7bf1eab1208f5a8f7bca5a35c7fc309d146758d7d64eadc11beaa5130cf765e2d3fae5880ee9c034591b210b65f73db36061116c9989118f14936f804ae320d9614a6a5abf304806fdae9b9afa80a303a9131fe169df8392081d2c3aa27cd58e2986c46f8b30f2438014091a9371645c3261bcfbc6e0cf719eec63064c81638c609b1a721887f31034caefc278490dc222194180d32465c3070400a0cc13328d6651ab85cf525fe9c12563c5cb17724ea5cd2b221c0af24579f8a4c20277cad91f039f1e336a43bd8d85f6c4f4783584fdbe6690ee8d7326de2c0db2ae4ddbfa903b1af0b529ffb70f4c0ba226604453800ed2348a8fa930708e394ddc7533786c34824eb3c13135e028ccd38bc9972c96626cde07e19cc8e16214caf52a8c1c159d318fd167705b151878c7b7a398a430dc431e9a85b3c68449033aa8e1de09d55fc554ba8ef76a0fc4f2d56aee9f6aa7533a84434029451d3d85d8fe883895228ed83bc44a0a2f58a831140d5461ceb70b56f3d46cafbdde0f2ff39c8b53d7c6961a816cf5a2a284c758422a54feee1aeae46e767e362c8951fe9545245c719f9b0c9b2dda1e3c1c937ce9327aa16da9ccc664ca0369d31328dfe3d9b059886575599db48a8f83605a791ed6576f0ae406717b40ba0df55227c79b850880040214b624e6aaa03ca4e85fc37ae2f905aa4f4760144fe82d99fb3c6965197809c7e16f8de78acc1c9f0bb2ab10a0885e232bcab4e9ba414cf008aebbf4768288d644980e84ec04c310e88bf242219a47104abe939a7bfeb13001ed072a0c55913e1bd6e417e392a367bf4c8095639aa5ee6479e2cfcd80d1f9e2eba195baf0aa7e31a5be376771facd52f0d064c34839ddf7817bffd7926db118bde2ff92f763b1661e9d4232b2f75d436437f42d723b56bcf7ebade6664cdab268d4c08cc7ca31c69e90f4d916b005434a3d50227304c01dcf16501b15258128631a86b72cfebb13e1f117b683b95b6155a0a5308e37293f347faa062ee2bf6eac5fed16e0756ebda1a3b944c4603639e6b3825edd044d583e6670d474e9b2b6fc625cd757ec3f3408bdd64d749af90deec8c99b7656a420cfcee4be2e526545a7fb9f6119e16dbe98a369ff43e69ea9e99e51436929f05ca1d9fca7509ec235b569af40cf8e2cd763a3e09a26cf8c894c3516f56e7ec3f33ea5bc2b5bbe87f654fffa186cf052797e57f8b677d73d936056db1ccfc37df209cd7241d9e1baab1bc307b4c5dff766e22438efe53880a514f40b960180e3cee83a95a98cb7f90e1db53acb37bb522e98e4e803d27e6efdd572c0e89878b750ce449c0c7c1968ce83bc7a4f65c5f2f47c2e3852d7adf5b8b07917b19dcf9d32c51b9d976f7d0f6de4eef680f7197f2caae888c4ffd91a729ab287ae7bda465f229bee29593b7882b6a9f13980e910908cc0f1ee2011b11039a12f6e18d5a5d17437c13e888fd3de916c62c218c20f5dbde2a67c9cc1fa94aee36d29625f42ac00254bbcb87a45ed2c15008adadf017b4fc265a4ac93500bab72d85111a0ed2e39f98774325084dcd1607c724f49a5f9117a7255049d75242ba7d239ccd0ef5247c39924f1e1c30283a4068417ece82eef2ec64b65fd1f4c0174c3192682dcd87b4a3a1724c8abe384fcde60b8bf584617a58205fd0efb4544863a40c2daa19a3d8ca1def3d8cd8569f964304e0a5d23980a041936590bc4694249417cc73b44a62acf3ba4fdf305d92a11a3433207c87e5a4955834803ca485191df44aa95f38b003dc14e1466f784f3afff7e420b007eef90783d3f7da150dfb4fbe9aa6f6add1a7131cf653c01ba99b2fc8000e19e0f02e483cacaf0055832e8d2024b60ca3c76a15e383efa4985af92210b546477a001e9ce0e1d66323cb2b921b26924a70a11df4040df0d1aa58d70a74f7351d2d9c01921041f815e5839e3dc9c458f3d18f3976861637a5e3dea38c808bc50fbf4237bc441604e62dc188e2e9fef34908f934e910b9a8f195158a061e33e2313ebe8d3ebc68f8cb44b17048d4f38a7f26325d3d7ce3cc7fdf1fbf1b573c4456672cd2222169ca1ca3c4062399480ce04f4f176ff339606488f27222b0e9051fec58e28cccf7d3cb5801eacdecd78d9691e88d4b6ee02a4ce81f7c9f16a70e5744d8a1c78a721756f2b45ade8ae441c386d1a769ac07f130d52a93adc003754344503480cae4fe125ed6ea6eed31d4357b719e29b65f8d561f06ee18fed5fd4f81852bd1b1952cd1cca3d0a0d00d7ff5a05db2760bcd569740e7bfce4887550bc5d261cfe08fd79c10bf197ecef18276cbb3d6376c963c8a8cf08f8979113f39c8b462f41774cfd644a0c298746c58917a77576e66fa88e532d134531f1a79dfbb93a8a00af41a19f74ddddcc92aa7df638e13ef8a0816b5ab1c84b5770149bbf318a9153c9e850aade4455639b8897eebbe12cebfb75e0472d34276e4352c1d3bebb5bacda5daebf0cc688717d1cae871bd7c9b25e4e377f26646d8fd1437fa63dcb6e5d57fca465c928bfaac20eff7feea2764abcc29720237378a8546681a7fe1fa79627e1e9f8034d385004f2f50855b50cb823f252199bf8d8a63ed4847a2bcd9b9499a075f5c8c768821cdd53e8089372b2c07ea12cf6137842387a5fc7eb281ecabd2a64b7fa32a3ec313b31b3ba12b14da511c5f7de1c4f7203cd93c9e7b7e2a80dab35f9ff2c0e7d9f847c33ab0b76a8eae874ca74a3df8d1594b8bc9683c270d8918222939a9f3872a2dad9024370a4acbee678146a61abe423ff223ad19ec13b0c61624a61b0e4e1bbee34b946f190588072a7adcefc3af06eab8950682d8a901e67165e6b6283ade40b74771f699cdd9f6269467f0cf25b7f705d39335a55df041c594cb9887c0831d267b270a37fe1911e4b581fb1beb3bf0a2401352dd2dd174bcc0a6246aa35bf8068539647c82361f54200897a7cd9c0d6abf3219ca2cc9cc601080ed385610b741c2efc91035c983cac59c7b0fbefaa864cfa8d5d9db985ecfa2098cf442ac77447f30ca857fc2c1a0814d98b05f4c1ba1d1655b79044ff2113a5a166cd12151d5ff17445ec4fa7199e99c687c1d6f6135aea0c3bd39644e24427fbead43592e4ffbbb7e99a498e9353062d17500e3cf499cdf87b0d1ec1aab232f9f26655dfa401d7ec8121fdc8f91344c22c1c71edd46e11c016910911265e2e3462f28f1d2fd119a7f368b5f8df8439da5d1bc313b1416cc0e6697b35f7ccf453d3d65b91f4f575c9bcbccdb1d724e1a56f428f19220dc0a1d2fc6d4e49f877390a49ef51cb55e0add8ef7e451048c22cdff03c7b78aa8e269f0930abd892b2c4c69a2a761a190c5ebb694971378d70cf64aee7aec76cc62a6705198bf883af70995b739a0958cefc6e10fb503f1ce2be40d281587e93683af6a898ca555962242cfd201d47bbb5d8b492ecf23f9c757ee1b9c59c690c4357f9b6443d8676b11f6c858ae7d0d0a3f737986f24b9bcec70759666b0900b11a93af21915a00ebda5307e4f8b6a4819c6dbbef1ff04745c99eefff4f91097ca32cae2bc546bbc02d619bb9c8042c8ef52b800f7506a4bd32fa15c100b0ecb08bc21272d66b6b5ec961689fa2abcdac45c55386eb135c826ec25e21c32ce6b3e83069f93e826eff1023d2792d111407d5420ea7c4b40164999cd4883453588f94435c8b709cf70282bdd60b838eb781d75681806359f8728e51eb13240bc2e091a17c0b7dbf570cf99e015be29dbf9e2067885c2808d0e2af0fc033b81a84fa8a01bfb188b04d51b7f12dcaad3743757522ec88ae600c4d994d90d350abb43ac9784ada803b3c571733a3bb679d41ef50414da7379ef74b79c5727247573b927b4e38d0cf174817689eb742962afba352ea93c21c0ade3382d94ca28ab9b29eabc6ae55bffb6d24a76737ae72373efc2d6b3522896cb5e97264d7179e05acbf1436e893b8e0832f8526e20d03cbae61f8351ca01043fe1462013260903046a30fdf78f81c3f24b42e14f511a02b5138ebeb750ee54c8d7105a7b83e159817030cd24be3a4469c675fbafe14c9f092685fc0d7db7e2050cc2dd510794ba078fae2cfb689cdab71467bfb7c874b3db63c00509ff6619c12c7ca59ed47ebb3d60d4d6966538201e82d606e4384f02686806ad4536df0f9fa6eefc8da1e06538aa235a38d6d182f04384c9e12520760e55da4db9671fc82a5f3f89d68f6842d59d9b7efdd450731fba3829265483e8deccf6e0cbe090fbe67f07eefad4f764489a185d1ae4705c6e07adcda22a3ec7c1c395316a34bfa6d8dbcc91a8c9ad9ab08b472c0367817a234e522137edd9dd7d073c84bbe74edbf7487fb18a3b9a2ae4f45f78a814e09dc25fe5e5349f5b466bf63ee83e1582c754bf4223da7655dba097148797aceb47ea39e55adc944855d11c9743561727732d8d2bd91b9909ccb58f2cb9d5a03f2fd5d93ab9453b0968bb0b26644a5211d3bd5ad29d2cb14a35cbe71e50b8ff8843413da07d24a7db1982e99b35d938de951eb1fa69393daf8dddcd77fd571b5d97117093db21a5be5d2f3a1e5aa2748dcfb3def74db82fa35d26da3400410b7407f09befed1dc46017c66725c06ee0031e9c438780b007e92654bbe43260d3f41c1648c3547c88cd0ef36491367adddf2a4817e758e89315a0b0c03476bdbe5901eaf28ee688e9b239b6a281623dad0366e9ba0779364834f0dde40b4d911d900d774142a1f0138f7ab973009a3962b70e5a2c2861e589d04513321401504654765e99563467175f9cf9b4c95cc1ac720d81c992975a2104f84108aa4b6f8c373380450475a79169485b55441532732cc9ad2307e97b639a661bacc2f8ebdd33aa5ee91c78c00d06813a7753f44382357529fceae7a22f57a471845b0e2fd3a199e52d43186c9e114cdc8ebf7195bec1f18d6c5810be7d36981535891db43f1eb2404a9e0ad48728f44e4d1196c2f06c54a61c7de66e005c10e16ee44ca0349b1e6f6a2518a79bcf7654f0a5135744f42c2d900c2b25a3362a468a9d4e84a6012335f95966c7115feaad25e7c0869cfc6915823e6868e3308a79269efc8bbf40068832b4b1931f23fec560406953090a8a0a7f34d88cf643788955563be5eb2abf3248494f1754cb35f8ff0253e501fe3d73a250e719423008420a9bbc224528bfb859cc4e36957a77864f42e6205893e549372f77951d7a79f732134d52cf0c0b93386ff757ab6ff89e9836f608adc44bb0b19cb26ff84cdf083bef543d7ed07cf2f149f330a879a03d0d4cf4ea9d0bfde4bb914be106077a9d9919e44e113f40fb70096df7bbfa4f0f7615b49dd0251d5767960709025aa79721ebdba9c550f33c86744236aa660c06e3c7f1f79777333c8f69231640bef5206692f614827daf6840325f97471f5127a6b3c8205c22f67568d51837723fcf79718c0b4dc56325eb36212b66a415871dd14ef34a0239c72d256ff898d6b7ace75dc2225d9c5542b1801c97f261e1be2d61e64e181dcbe8c8c0b389ba96df1bbace54839b88779a84aa83f9f54b58ab3037a0608c0281624422901793b033a705f778673d74426e5f203e0b4bf59a5adfe8d2f7e7221316b16cc2a74851e9f49063939dfab4f28457412b082c47ea97db1ae2c0b14c0314ae167e3fa24d10b27515867a14e214025de47894ede19db9aaf0677febdd1da2704e504f3918d566988734f1a36df51727003c3fdec5e2f05edda198806036b16ad4821d62aac2eda265362f9d0c6a4b882f512b949243a997472482947e96ee7e2f0e9d98d3f073972ebf66800e780e09735955f9fff32489053f93a03eccb5459d49c000e669a8c6fb2f3c6c40925d37f2aa3d37b7a22a0d704eb1f24a6566a4ccf528fe616b9b4780f4c5b6402f87eb27e9e71d23252a02649623471467812e1dfa2317995be3f6f8e2a541d60f6ff29f4933c2cb303246ca0977194a5f341303dbe6a273653c543432d3017e270ef588f741889c306ba730d38090b6bfb2ba06e84e483b75120ee3c27c5106de1c6cd02ed68c5ae0f8333a2bfdb09ae7e2012e2cf1ca89f6449d8317cac83db7e604fe64f8746a4e21809289276fef94e4da9de1c8425ce0597a8218c085ce1dd28d99a0b4d951f68e52c6200613f649659d06c2444214def9d3d9a7906fe2cfc17a775bd990f298836c77ae4f3f2104e2f8de891dccfdcce4a4d32846cb08dd92977046d125c8c66324c5adce6551e05e1b302ee6527398cf5e5cab109b6b104b25651929998b81ccf5bf8b49bd7570fd734a1fc3b607d357588809786faa9c1288b043e62c38d98426113f8595ab47da8cf75d6aa115a21128b298a84426ec56ebeb7e2c52322411c6fe1c223803ecf31177797a2e56f3d72c56171f00feba85c1e3e7a3fabd71dc489978508afed0cfeedf5f3bebad3df69cd1fb036c6fdff1e828c348c0567b9d6d9e003b311fd753fe1b0ff74cd3fd3c92e3ce7ce784f47d2cc03c7001886ce9ffd8db8dd91ec396b933ef5e1f6f88995bb7b238ef3216a26ca0f80f45d930d0f9b3861b915883e57c047aba4d1dc0ca724c29dba61f44a351d3e29e84963685385cff66f608fff11e82932699466e7c954592216c21ba4b1c8fe6ec192531f0810affb7e292d034c891ad094b261227ff5399638edf5290c3b2b790e0b48c0ff83d0e54dbcc48468012674b03c2af4ee0976df09878af1f54d4c0e5eb996af09442488e32adf545c843ef06e4833deb463dc593de740f42f384aa856e9c7b05c9bb5bb95fd4fee869d43bad8b0cc2a6bc98a6bede4c74952c48f52dac8766bc1ea53c908de92ce11ecc8c8b8ea0d82c4c2a903a424f6522dcf7ae8eb6e6ccaa164e92a3eb5f922d06e38e816e0a4b329f005524fa6817ddbee1f3369812f6d3a007837fd534e6d716f48c5cf642f0e5e03575fb12809b75b6326fba975bd0b6d1063a4c2b008b13b6ab5b2fbb301f5228d074a7a2194103b2b6d0bf163cf6d3fb5c4646d5ffe6a9bee9addaa3c4790a247e288730df28f54cf0e48b2fa211a0d8d507f3ca9ce77824b1104c80cdd5386eeb0d8fda6ed86b8bdd8648f6c697b1b4d2098c52f8692f0f1a2f36f90b2d14769b94b108990174433b4579af8127d84539f61419efd2c472b1671d79296f297de2f67ac6b27a37995a15a6668aa7298147c9ab348b3c8640cb375bb8cc5d0311bc23222580fee3ffa0b03b4001561d1fc14b86d2a28cec211fcd753f752b681734bb6f5e76ddff077fb7a0a0b4d9883fde22c506fe227b5605bee8662e66e8880a8bc806f568605ffb9c408dd31ab87f6b967bd0bae5c229989bf3277e2d18f7c4794c2ce905b097a9898688a09b193f522e3240501b7bfb7e5d6ed2019c988391e6f17eed2911c6c11cea4b59e3ca733aad0df98ebec0e28177e2fea7ba2d018d17d52027c87ecf52d59055660633d90c2841479ed4e3f5d8ff700d02b418d8f8848d88b6ff8f50a313203230fd7288d983e94f7cbf3cbc78263b2590f9b3c4e9d4103d504cf9d3e861b51e980705e55922b6dffdddf4e86b882ab3dbdfffa094a70ea284b0174d7d87035fa33743923a549d2e7ccfa1991bcca98c37fdc7957fcd6c5a9671b76eca43a01245727601da7ce0d4a59bc6de7e8359c6d1b4507327cbce1b5b5d83b9ba040fbb0353150af15d3add3520cb486bab00b66e29cfd5e0be4a08c0038c48f138a0281cc661e9806f67f271e00de8b02b5365ca6f20c0deee0dc07e14ccf43a5600783dccbc2b0d3d7dcb77512239a29f7b6e300eb7269afa806638abbbdedee43c35b0e7c5f96b4406e9f42d4e404718b9da27c868471b86e34ef55c4f6a38c763f8bedff72dcc97bf71d3dfc6575350013a1e8808e003dd1d5283ae1c7fbe3faeffea3f15ac5dc75383d3dee5e52d71d16b5085ceba4666b0858ed36a47cd60ab057c868a1d5d98836504940496357cd1b97262df8cdd00de208bee6a15e3618ba77e16ac6b2dcd9c31b3b54a77e4fb0294bf2409be2bc7f3a9f1bb5229304ae8a17a25119145b9a09f788064914921464ab35c5b2fa54b7e0365a61ab2e947901de0d4eb4283863f943ae24afee6b67a4a55791c99783e5191bf28fa97b1c4ddfdd85f3041b2a18c843847dbf7b635f826e57ab1a95f264b147d19043c54d3a5a32ab6897994e1ab838c2c8df0fa46dfc79fde5cadf83a698783af7ab72a8663e4668c168d1b72660a5b06317da6130c193435b5f60539af477d2221a9f9d313fa137a2a6d62162d3e33d671cc77c456d59f18d72936104b090947d346e5fe49e238bae85eb617f373e969ad46dd53b329b4f4ee3b381cdd6837031ab7c5696c4be703e721c4a886810bd58fef832c9504533ae5e75e6688e721e6f503275a5b2c2e356ffb0ad0edbd06621e6a64adc915dada42d5ccadab14161af92117de69326ac48e2baed92d0e98f53b92acd51d1b0e907b391175fac0b8fd095cd2ce8b007bf93a50d2f6b6c1c1d2ed11eb5f3ca62da935c2c0879a4f351cc76547b430ea943f2030cb2701dbc49cd6e5f6df6f5c80395cd23d22f6801c24e3a2d43e90f4b04bb6e8e6d7f9d6922c91f5ca5ebeb0896906fc1df8b8aa3e15dce5d2a3f202b6dddbebc2c52998b1d5b9fc14b9fe089801caeaee8f6f9c928c3f57c4988107bf644bf17c0c738ed4dc6566ed1e8fced4b4093012c0d83332d94755136d710e3b8e86ea7f13fc462c6e6989dd2e594abf89bb9e81c2e02a26a0d0d253a1f6354349409daa3f6c2719e93fbf2dc215ebaec3313dc57f5ba8d8164434a8cf4acb881f427e0b5d56939a2e7ad91f6b313ef5b025b1e34c7a31d64acc0ec201f2d49d232afc7c308d39248e763345790177f7188f6ce6b1843242a96c4c7920ae5e7ed51c37d5921ecdc3f303896d5f3bd8224ff13afd405064610c795c1857c05f0fa8120cca6c94ca9a754b22b4898f5a95e978de8ea59b929d4e4943d974949ebd511afbf693c2f260c9fbcbcf5d3b3448dfff71ef1eaecad7772600777cd0a29b0f06ec6fb09649f200bc7160fed121fea6c91795e68cafe5cce2993d285770ca753732e185724a6152bfe6716d83c535e6fd62caeab97860dbfb031120f02c7b3fc1cbcbdf119c5ecc658d480643fc69a504a802d3448b906f80002743f5e98165b64429030df4bd77041f0945512281396d178e9c4d07696bd19803245de32d8d69fe70f6208d65246138b23a1faca0d704a6e54ccd611c743efc7e452d5f3967890b3dcbc216e17118327fa00e421269d884d1d0cc6ed9701c2a110037bba367f000466f1628242864cbab20c60c7cdb90caeffcbbcf9ec7f49a47f3a13ae2abb1e9350d9f57c227f53dfde81a6073b221030c4718314cd5f2a709e7eb30f50c452b6d7ea3e84d8dd09d19f36a5f1cbe90655421c3aa5595ee7270c8484c7320e5847e69cf96b14766ef50561eaa4c57f20460d8f91f7bfc9d9e8ffde82e3c48d11cf8065afb4b0056285a39f47b329a6d030de0c5aff04f1049c310b2577f7f8fedd8d70eb1efa8353e8627611cd6b64c1c933b5f91c1e131c30f6b8d1a73477c53e7503bfc912b9e70cfb5b586ad8fce8bfe237d640d930b5cc8e1c76f36aa847354ede13ece548d1c0f626814a154ea41b2abd740b6c63093f169d0861d2a0e13509cadfdc1d68518c68d0891cfc177c5f1bac49d9f8d7d6d5c80fa813e5135b161fbe1a77daefe328601834707db0880c5dea62ca3a538109b0b8e81ed9dcc4d0a9a665b2937cebde63f4419528b5dd2f6956038a5b35c829e61c95bcce3dd0c2731e13b48ae700c31af40a718c686fb86c19fdecdaeb20d6c8ea702a22948c3c6029575dcf7b9c6a91fdd4cb1ee0b22796b82d2bba21be22cb9090d0721f065828d8d7776cf04a47e49519a6c80e72eca7a71d20e3279bc10b525c5f3500bc00d355208b1b2cf082cbb73ccdbd9c7adace6904c5b26f10fbc50805a3b54bff56f2b6b488b358f4cc7acbc3cd33d4ab57298b35f50ce0fe76b20854899fc3eca1f6b653048033b3f4018ab003cfb0704b236714f78e6e3a8f089fa8e4c4c6b4111121e8584cd572d68b657a539db893fc9c2f3a16a00cde4468755adcbd8ecb4ff9b5f34c8f120faee7d1a4b348b435554ec80c09141512c18a69dad8f7ff3fd0bb089540932c69dddc4ab075cd9289338c58aa4ad02f3360549db581386b53566351ef8b534b070d1e20c44e9757701adedee2f14ea3f5b58d86913e925a385691b762233e47147d631a0b66540fa743bf8056174eaf9100cdc96715c253d81ca842748212e4fc98e42390f379a0ffb05cb09e21bd65453e2fd4582bc83598442b83a9c733519ac71c96a410a720b5bcf4b122fecb9de190ace96d5707cb89ea9a2f6ff817ee3f69deb9ccb6df17739edc0a9a23488ecb75280eb557401ef0dc69efb368b09ff85fc4e7cc1deb957d41bfdf5432e3fdb8edb0b67051751d92e640658038120509032e003e78876f042b6d9bc7cdc4887f262cd1236e8195b20b0aa9043772169097cfda469fb70113015c381c803a977193f66ca1f2b7fbdbb0b22d0cbdd3c85c52a0b505d7185219f5dc001bf1da88178a459dcd64d15e081b7fbc93259d0ecb97aa559e390d407361bddc998f40baffd08c4b180a5d66f40925748392e97c6dd64ac6a8191f6a0c4a0a8c5c6c889799820085414fb6c9567bc9a52ec18bf55058342798739f424988084e8e632641349836d4bb033d82869497a112af0536f962acd4eb8fe25e2dbe887fc91608c2cbf03be2eac477171da27ae6b68b7258fe46a5e2cd1dbd5cba0d9bb3e032da94262a63a520321659743f69ee046b51cca2fce8c967d79e6bdd55c0a54cf6ff55f1516ed7ca3cfc20a35b52372786e06dbe3578e4f242028120a984b6ed6ff2d0f6522645b4900ede6c2176271544e712aded4b637cc6be172ba5a743452a456b6ce58a02cef26926d6f141cacf8b327347b81251d00586ca0d20e08931bb0e0b452e8d56b6b3c378fa6dc7c0978c6bb0cb9e1ce3141325b9c8dc8b050b09880d1c6b2fa6557892cb63585d16f8b78c4b0905039a9bfa2fa60e2d70385b568f40fdfc1c1c7fe6ec7fa7b798ad5864cd2f1eeb1d0c7da1bd99f0e452e6f4ee70c0744b41d79b3cc2b017f1ed544b77e29c2afa94d3108c7ddd1bd9684f9e0b8c469f7c4fb5cfefc963f2c4f49f0b7696783bb90761f3ee3f096eb0eb42eecfa0afd6987cdbf4c2087617ca4b6ff3141ebcca75f162d9d391581d1a1967c28fc97f2a76f4088e345f813b02933f64af3758054c885787d961f073b1b733f775e69a0c2a83f5154fb71ef783e3e8235735b4b3eb4b2949f0e7eb208053b20d0648bfbb0f9e7022632653878af98315a71b3c43c819b64fc6506657df0e58a9ab73925fb0ae134cdc6c0f04a385970d5819dc67a0e71e15192210709210599008a0b96f746d8847fa72e0f1198eaca2a14887fc03d585b3b26b556c6bec1a744319192b52d837f84697a08f4a5864babdf577108647d158be4662cf2d7cb46be5079ad088175b1ffab9f392088f201a811b77928bc13fc2d998d36fe9614d493dd6ff9a3444b61e9fde109a877f682f49971ff7816d3ff0d5cc0b6e55a1e23024de62bb7b5cc0e2fc6e6ba4ad323421b3c6dea32b50777c3d936dffd9cd4e5e5262c39b541d7215db13bd8a91d6ccf18bbfdb6cf43a4d07e830a4435344c77e61f24024be42fbb8a2f98793a32f9bcda1626621eb2c76779e83052ca278b91bf234ea8c46782b14e9d41053476602ecc522624e2e018271726a87b3aa182fc470ccbd2d2ae8137dae2780be5739c7b809e8faed87b3cfdcdc386ca4c9e261a26a797b48a6cc62fd0890bb1109be9cc275957d5bd57aba9440500ef86bb427dee7c43618c372e239778db6445de48a55b85e60ff5befd2d301739d619cd1a0e4d33cd13636c2f4eab2f300ebde30855ae7ff9eaaef312a3ed2b3f775fc68d97692453d3086983f58576e3d062eb99fbc7c0ddd8445407aa056f0225ac5b811037089a3119bd01a960b03cd30b24a4250cfa34c487e024cac22801ea882ef209017931e9c6f55b15104e45f3919884e52d56a685f8f31a5528a467122174184b97b78725574620aae46c24941424234e399056b3ba1dbe6be29ac0d21ba2dec0ca7a9e031de036d489a100226eeb3ac84375dd46a1d6790eb1ecfd38af994fdb2ea202389cd4d3a92eb9f3bfba0637d594f53e6037e05e5a9e8053a87af2ccc59bbd627cfb0a3c147f9151ce93d47d4bcc51fe337311b72f1276ae78a91c5580089093aaf4b6238c980c313cdc8a329f6604dca230401e246aecbdcaae1eb4cad0cd9ab4ed45e8e2b0e25fd265d333407163809f1eaecc24453fb6e5135da30def470e82f86d28890e5a0e4bb0c4ac6656316ad3d1b11f132798cc97232274151f49f46a65a6c1013e21df91b2542cece3716292dd44e4ff2505f2cdc2f667280179c8aac8efb8d546a1567733be545c1631b071337e6022f255e851ecfbdf08f2461807f42e305214a3bb27d89242f4025cb094de9773e59bf7ba84ba7acdee595d0716379d3ff78650efddf382ac8aa6c797571ac88a173100f85ecf9d9b3b1291e909ff63d69ace5b8e9ac3dd8892b286cbe91a9cd4d5aef7fc2443e08f5ce61f8fdcd8c023bb0762a1e844a7039914e5f79b92394b14d3160e80e6353b74ce006ce7c6f99eb7d5c680526f0567879c7b938ff570ba157dc1ed3a6d15334785589238d6d8e3303436aa76d2bb2f188ec06eaa2ac55660fca325aa8dfb259bd39ef6c3a72895acd80bf1e4f0c9a5dc012866981bc80ccd14690084ab81e13772d61fcf8d9ec17f2a7224e9d30150ff7c01063cbd9647b2249a77fe6c494fc7982dab399e53bb657d69a6941d48cc047c9267fbb616f78f6d8a31a34add5bf562eee0d48ac5a3d5250c641957f53f54980f31bf78d16d56836412d009b46ddbfb9b21f648c2d7004717caf699d504018784289c20863f68b5c507c5e0c407cb6f417ac8eb444e979e63edc7c4058b8f83d7fe298cb596bc02369f19a1c8834f09ff595a341aec90c6d7aab20ebfd94f92e1d8aff543cfb2b8b66dbefc9fc1cbdd2dc298bde70689b26b5241f3d499f0cb431677ddbc59ad8ff7b4df708543213348f96f93b04191479d3336d35dee173d9bfee1e85d51dc00fd71fac128e0149417b1cc735611d261aefe29f2d6238c9ff61ee4df264ea589b45fdf44f3ece044a86be54ed04aab1a9866d85ccbcb466aa612ebe76c530a92926beb6fca4d960a910232eedaf104c76b01a822c2fea2a306b4b80059c83e33c4ccd6a3c60722b76e78548245ae883b969fb17de80ef25533103d0d5fa236a5d5428a9377b3a95739c8b4dfdbc035950fbec9d363f3553ec3adec20412132d6a8b5ba3d6163376d5fcd7ba28b4a7ef7950fafdd534953d2fd62cc23c5cc235e7d782c242f3afafecf3d1c93f75cf3329e6b90632a559920046f1ae585233b8096029084ae07cf6651a30eafa49c3b631953afa1d8278c19da72e59e1560c28f69bea34aa30e7bbc8c174a614743bdcb55da42b3a24bba273701b9b059287e923c1b607c77ded6b0c4008b65b3498bc9b0d4d8993029cd67e2329536922d26167603323d4199b957eabb1c0b93c941b2dcd83ec59754005dea3fc648b753a18a657e51fb8b504676cf8ae30eb17cb991a02d495760c14a3eaa809499cc12a8d38ef9f4ea77e4eb0c98afc4d2b7c31e5b78d3fa97a4c8c6718769cd3ed0f3842e814a577614d320bb42934a313a3f5a2e6f5f5fd9043cf92abc4b4fa162afb9062bec44b6e63efd76750f78f3d5265d535712812cfd29ae673dcc7208dcbc2d901dbf0ebff388f6e74c3936f07173fe87c3916271678a1e3de094905151817a9b0466228532e7dd086ecc213b38414d5e0ff8b8b5bad9ea638f56b015b964d788204bc9a28f5df7cc65e8e699808459c026c2c7fbb7ec3e91ddefba42b0689424623b15aeb321a0a0b4a0aa01c29f81d7996604c8adb8ed3d37ffa219e18205db960fae314a3afa9e32dea939f4b9ca3543363c724fe87a53a41cdf5f85deb5d4f5bdbe3788b3b2d071d7b7366a7d4ef488c2c5a44257c56481fb2499f94c09dadd86cb72d623c514a635c86d298fb77b97320502297d77626b7eb09a0c2a7ea158430ac44c44588e024404f6bd48138b94b3eaeeb3d07fa17c3e7ee00b6c7ca523654b35df40bcd5978106b261768a532e834518d0a64f5c6fa7dad79ff363a2ab228dd947256b623cdb6d0ddf8d49493b0f69854461bbe9d850e3ed1bd10a40f0412a9598f8f5a471d9bd0872a618717c7f345f626c3c6e35d383b12b26235a88281c87f9e7e3a4590d468b5884885e78b67665259e31f0c9862825068693f903dd3158c1b9d2e08b9b2d27664ea6a93f77eba28ce7b46435ba789d52a180d80ed778a7bd4fe4dbc131f6a226b263d4c3f3a3ec60831b7da5d20e16295abbcfb55688025ae261424c49b5595ed78a0149381631a483e16fe1d83fd7a6786f2a72bb408ba2383cdc9b8100eb1b3c01ea7d26df682d50a377316cb06eadc0586a55e49118c6cce2a23879d28cb7b8a3babfa60c786ef55c4c7880ac4d0dc0e9158a760b39d6d64a0da2438841cb1101caceec730d2635241d6574402932550833bfdfaa2612ddc1f57aaebb5145123fc275e1399d9c1a8ae1fdbcdb3d82c19e60cfa4596903fd2a3abb24703f6faca45fcf94ec251e2f28d7f922b6cc5cbb250b082457da0a5adaf44dc978d2b96ae8812f6f5ccb7d6990e6f9dc8616e3c782e0e28c7abfed9f8a8d9475e1990d26f7ab2139abdf1fa5877b94cef2cdc5084afd17034cf8e6a953f36cbc0c77ea0d68a05ad0340643eedc467c7b26b45becc45ec20a208679afedfd8269521f4444ccc22302bf2855a461e6be4bdaf7b4e3d317fae55d51bae0b2ca5cc5400f62227518779911e07e965c496939cd43097042a345711a18ea3488c046d26c571d86faad6bdfdff97eb8c587cb79679b76ebb837d72107e91094b669bafb3c9b42fd43a253c8c58757694bca35e87cab386728a0b17ac8f0cc79d58b54b08399b77323654a76d51524a33f864f5667e1095cb67d253763b2c37bcaea9a72732a742d3d34bda5735c5143ffc4ff84bca2d18b44ae8e2c113f98d7d28ec1a7f2408edf56ccd731eab09fcbb87d4120409c2a97df68cd64488e44acc53d10cf06aa0a8a4f1c2e069a9ceaf3b873afb1b0bf1b00dda84fa623dfbee65c6bf40ad09083ca9e66733587ad73538e05df399b7070478f38259c70e6846f84c0049a867bb4f3c52cc92a016e738d6989fc05ae2f6af025d5525b79650f515cb92b5698df46fd270d17c07b7c4a7fa88e6fab4d9663d40a088b3958068ce146b873609151b9d1049b78a1508f43f4257a4e2f24cd2449cb6fb90305f3db3594c3dee4a29651ae2a4d6405cff4fdcda0a1769f4b536df25763626a737f0e635ca003fe8e0ab7dbce35c9f2164c45bf8ddbbef26e6761f478709ebd7959673d05632d847207f4817c6412503d452045f1ec206e286dc93854782cd26cac1f04826d390c1d185572d6810756837d78ae8dd803f9b1f04ea53f95e9f9bfe16d3aed150e4951311fd12cde263f923580cefd66fb0feabd1a79416accf1e152354ad4fe743d98597bce6eeb57c62974b9773b29da757c56e06d0163734c1c0db8ec69bd08f17638d1b11c294c45cfb829524326fc9945bd2ee5a32d6e607182f7d1ee4da642c1a1e90d96f4481ee9bbc724c0ebda8e84a7153ae00d58d89a8e77f61e1a39a069ea7856038077e3cbcd3bc36a1af4928192cb667ea4af037b273320441f0fa58d950bdddc5a6964bae351e9343c4fe4044ecef31f1310b632f8db3adb967d2cfb0135b744eabd597b4ff2e66c0c49ca75a466dfa936e66eddfca7fef4f7c4232ce7a2b95520bc5b73084c2ca8e22054fd605686e3e0e3735a28fe9dcb3eeaf4204c2c3676414bb6026d50c50d190ad567ea1839df12ce137b8752fd39e3f214ddf8b9bd9ee647f43bf69b127b09bba77631564a21d934ecec42a93cd539c8e33a2629cf6a74b95af1373cde33e8dd052ca3f5ac6fcda68077fa7584c5e4f7700b6904169cfae89cf8628800a3a8ed6c1bfb555d34c748e3c829cd86d75f757b42464f8ae9e0ed9beac578ec3ea1d8afcbceef0aaf2ca9deee31fadf235c62a22c918539dd2231e65bed277cd72a2e19097ff36cdba876dec49fea71235a38ed13db39b7b704cdb93ae7f347a557f5ed9bff0112c6677bdf4c4b973f783539d55803b3726c27b5f286c4da136d31cfce54dcb338632657b95df955bd03551c8fad6d0ad662472fda0c1c91c34f721e962bcf9eae15bf94b3e9951e0b854b49b00fbfe69d6cd2107b4db4c11db259a584634203c9c73dd0807b9d415dc050e144f5bd357e18f5bb394ecbb593c4893cafcd9e0c6f300f4cee69c49c6ad2425ea1a5d4bd7d86804dec86ed61613c02d09ab8333998b957122090e7b80b0a5927ada431c1c01675c6ab61343a6cc2034636a1519bcbc219c7d5f2b6e839d2a142fb63434aa4377723d26b10917e3bce90aa5304cb4886c4848624e540dece1c78de0b0f83c459584d710adb4e95aa976f32811186ed5f917ea4695cf59b48ebf1cf3837f10c60761a32aad9cd84210d6994c3dcae7b958df0a15fa72d25dfbf5d26ccbc3f2f1d1e661bb392fab3d8f8cc3c3b10a7f15b0eef3cc1dbc0afe28f46889f28d1749641992e1c3c492004e07014805aa6bde6e8fe459ae41b2406d108196bae8dc5becd762f4da2db08b5eea40d8f23bc8cbc5ac77aa63592e30c731fe41d2a4ee6034e4710e6b90bc11ed4451ac6b919a7487a38dcf3fb38639ea8fcdd893746308852279d5ee6321202d6c6d397cfcf3756d135638a75e988c4d383ca6740d2c98a3a64d0ad6305937f789204c879902a7a1ebeb271bc091f649754b64c02cd6fca14870fdf2d31ab47da5bc171e5d220792a298c3691ff267306349e20d3f91ab979119a63b98d38678b305a7b64babb749b3300e420f95f9377d43ac224b29a63a165008cd17fce1951e2d9b84264ab806fd8a8fb4263fe9446a372b6e34ed78fc5fd3f012fb26f98dfb842bbe39d6bcde8a19b5557827c35f13d3536731cbe7dba156dfc9b6a681b6af12522d89edc0668bebfe60db2f9040d104132141f3a871cd649222e0ec08619838f2a4e112f5b76c06664d797d93b0adf896529e5d10f9024d79c0af2b4e317fc6b59a9d8107dafeefbd84d9cac4dd78648a3ca28c792fc4461af5ed0bc0e2b5c8ed7995caaaceca85ead2f05a3bfb7ea0d06c0d0a458aa624fa8d18d86edfafccd710af022b98412a3fc3f6298cdb7a7705c5ed2c392df2d71b74d949e7a80a32a9c4ccf6a3e590c5e912dac404f0677e3cbfe1e00eece5672a7224b845154706f7adff151e3c437e5bd12a40dbd6e6d7c19706749615a75bb77c0a847b20e3388be6588235296f9e091ccc775f066bb0ea7aebf30d122df65ccb8496d1484efec8b1a367e8240e72d3cdf0ae985ecd0549dd3289d0d391a56df6e5c0a075f7a5a964b34163f1c46c4accfe9ae1429ed913efbe680894c741dab0459089fa5c80b008cf150124c0a2a881fbd0bedf394460689d92951b0c3da8ba81d44c29b51fec9b3f916a34bbaedeb21ccdca6411da498963a420dcf4dbb956ec37b3bcff8bf7799c32491c57762c7b7c7eba3641f6b888e1143f9293773a339331fcad8a4431426ac1f494a089898f2882260240bf00dc158616eae7a70a631e17ad2b44c4f128bd9f27f323f773271eee7d47225f04b721cb9f85685e39f6f0f587422aa3449445602c0fe603bdd07a5cdabc7654f9800683afdb4efc3391728166e84991e4e285410f0917c2285ac39531f19c60c99ad2909997c9529dcb2765b70b95e875a252b52553243177ccad85c1c851bc7e4348c8253a8f7c5ec19012f6364d3295d211a9f8e328e607280bd5660e258aa843ff0e3af587e5c83e182fcdfebfdfd5656c700db15f9aaf0ad0194b40fe74c97a8c96e444b8bb189d02e43d03363321edf4ff4325ffc416f5ba3185c2bec42dd86000a98ba72ae806c830008bcb0e407686665e15ed3c7a66bd72885c8890ed399590d12df933b78013d1b92f30b6282747b1d9e6099fd7d1bad877f122061e04ab7ddc1ea9ee0f4b561179b2490a347fcd9350c72618010053e2e349a587a3135ef1ccd4d33fa77297905342ce26441c2dc9c0e09b8fc62ca29e54fafa04d4e38f6111f7cc1957ea637e5b6e3e1786fa2e0de5b02a003e4d5327e1f49a36814720cc91b73b68d3c5f2d827d83d95f53e93243ffbf8a41d348addf6ecf21127c1d86077868c3c23c9828ab67af73edb99b54e7b53a8f624757def1f8e59ad40fe17d44589a02d9b7199fc7b70ec65ec12f47533b81c432e5a4ba58669c37bf9028e2ea5453bf6951fd29a90bb6c428fe39561e530a60be4cf64bb8d12c2fd6e6c54a5adb2b005d3b15750e81186e31045da21d8facc3cf7600182dd2ce3f63c5b1d92c28f6a2ae0ca59c635ce1239c383e783fb26cc3a3d80b01f273a96525ebb232a355573d660e7acf8e55ea84fdbb61a5b931ebce38934ec921f4e92c35345ba98221fcf960e6f50a2ca74e1934650ed5fbc8062ec1d998e1d60ebd6ff737e9343f925fabd7bb8891999d64b2ca13f69ba85b2ab16c6aa2943a805be0852c7e4f6ca7656826465980dff1647543f645129c5114111beda716e69b8a7a3104ac8650604eb4f3096e2e53491888c858596e0ff5e3e1e6f59165f8afd7682dad0b67138d40ffb367b01416a5e4c51d92b4184a19eeeac7b5800c30227f5067f5ac3c9c3ed9e90b59b2674d3c92471ff29bcb3099269f1336a9584118a998385113e955f7408c21dc9af1aa1dd08a23843047d2e28281c2127d3e2eaa4b76fd093b734d3a92d2db38c1892c66f1a7e22f0093f8464fcaae5572c07382080b2213e98c9b1706c48ba2d9b3ef5fa963c74d715d0454be0be0a67d839e81ecb899a6515287d63ad1120dafa3098176bf9acde8a892c745887c6a65c4e7d5b0f51eee310708d47b85ae337a148df08abd133a5ba95e1e8e90aa283c7d6ea41b918a021e9b0dce78a173956ca50ec1ab104dfebf3d412c926303a56502377a73d37c45ebbc3dfc59353f9a295704a97f1be8c80dc52e904d5e755418175b276f01d91981a7c96067ca71f67632dec1c721b7c168603343ecc0bdc05922351dcad652626b9e29ff6ebc99bf87a601b57c5c47c51f946eed98aedb8294889077028766b7eec523984312d6d6337f8eb57661a30adedd72584a1d93d12703afd6a9b63a50bfca7e08ea1c99e55469e68f5cd8a0ce88a8cdcfa139d1e2a00031bbedc7cdbf58422bde76ea715ca7fc55889e40dd5dc9737f733cccd8f2d613a3a429e7c4f41abd2e90139522089bcad510d37f29af303057dcf610525bf362e1c533458c5f10bca1deaa2cb03e43b4006747dd00ab0b3c924a794a62841ef2990f07ac433ea046e51977913d63a89c10043012e37687c43c48d1ad21996a523202659cf24a444988de746ade1ac7b376acebe830bc0512091ca97da298bcb336dcb0ab23dd36267d82f38d21831b59919e4c331a6483759ad621119d391846ebc69046d23557e200c5a680d949c0a2e64a2c694fdc74b4e2bfe345fa1c720bd7ea90662c7e07509f45cb7d5e061581cf6f8367f78429d990e2d31bf328057659d51dbb0a6ef20e3ac6ed27b1d26395ce63a51a26af8e3548bd27451d63d38e112b3b67f858e96f8a36824c3e087acb128c822cdde168c8766d224a5c7d775cd04b56dc9cff4e94d51ca65bb0eec5a336f73af88f1d24415e9683ae0d8790f50b30f1a471b6d7d6bba5a01231bf241282f6e63f995bd6a158dd4cd9d7caeb351a8f846952636caf70130fec804ffe5978955f575113b05cb6f7a8f55ffdf5cbbef8bf7b771ef8b943f24c46c38bf6a0902e591e3eb17f8da088ec73d4ab2b93555f82e1bd82ebfe48a485d1a4d2d316ca054438e5d3fb127aca2d91d60e466ccac2e9cac67f6af8c155622e8edc81519c1ef807790d01a051b11e763c8a39fafaf7fe432ec138cad7a1d9b7819bf7051187bedc1d12dd46c7da6295ec845cd621696820021d04f067334ef9342a08c862345cbb468f0efaaa8896fe0126f2487b647191c0e4aa96cad9c7202c8946d688497264cbb4f7a42200f0a4260aa1a0769a823e3bca47b4970922af017b3f5347620dbf476b0610f2c32722c52095adafeea42db074d2702220ff007e8957ec802d9712c87bfea262ff5a5a13a96898e5f4cf095b31acc2925c4f0d0643b05ef6d94c6391a6cfa1d33b9c0597c2e275dd68d9623f9664fea2f3834462e6285127144813c87e3d5ab224c4070a3fdf1e774fac423a7931f95c80417e52fe3656e39bcfc9aeecb568c32dd2d32a94f80c866ba79216ce7a9a613e21ca0dbe866c01edc2c2504186b3c699b64cd19e9bed555c814638cb9e6bb79b63d39982d1a8034339a8510d53442a53756b013676c5b35ebd10c0bd7231eccd95439b5c2094a3a1f53fc344d262effd5a5e8d77cc6460cd5e5574a65ed6e9e4baf690273cf23a339a0053ccd37bf10ef623e2e9735f77dab2570e1a652d2c1e1dfce8c53717421f166703b7d6bf20d30a7e626cad80dd183ffb31af23bf58a4f8a8ca57fcef6c221e9a7ccb8034a9f561a9ef8626784b7fbc4abd1e5379089009e761e99166f24557e13f0d22ee99634110b545b56e3a3a20eed417d6750a065362d2ccff1d657125289acb518684aa746f831b7cb745289ac713ee0cf0ab490c187544471392758a4bc98508c652843d6d35e4d3832011643d0b1c0aad67cb2938b7d3a7dd77eaf503562f098ee1e19208c0047cefe65f31e3797f3f5b1f38fe545cdfbaf598186720d056a931c6305f095cb2a8a97b70323001de0a8a615527b0ce48a4598eccb862ce7930f0ed653df4ba1edba2e856500626042c736e3fbc5b9c6e1eb35c5569516e9a090fffdad520865cdede161c0e3ddf2a80facec5ae38121fa523c4e7f0ca5ed4e1eb09167ec4e74a55acff90f9a43ed79358c77fcf45a2b019e10ddf17013d48f8c8c1242b274af1b096cfb32c95a66c4f78de4278c770e851696763e401fbde62d7d4e1dce2f8ac0cfdec7405a1ee729b6984ca74ed33234c4fac2acc01f3cb545303297fce924b15ecc20afdbfda3dfa598efbc3a8206d03ce77b3de1fafc433a2b40b81f1569f01b8ac425adb3db787790cc1c782ba4684176df46b6834675e8afc79bf927fae99b0c4c736752802b998e7f9bbc20e1e59c2bd57588b942ee1a5251635860580d508fb713ad9434f0462a06378d612fcb5b82e7f58feb8dd545f506eaabe770cf9bcddd8b14ea4641abd0a9112992229e625bd34c28a36d6067d539b9c091543adb1385a5eff3a1af18ec4acbf0301e71ad95bbc3c2e1626ceefd60e733c6ef0cecaeaebf8004de89016e8a306b3a2d56ac9619ba5e4e58809f5606731e6d692bcb85c3f5be588fbff79e6cc5f14347d1c6b59cce99c40329854de12d0054e665b8d9547c8c311153c89c898c50babd956c607062e65174b9c99cecf55a998dd55cc98849391751ed32460e5ca5138de819d3e5c997b4c6b1da5e6d94c6db70547823b5e3fb7b200cec72b416b817f015e2a83310db86c68daf1f8487c3e64953c1811d1f8adb9b0281926669835339233f006cf1d585ed56cab08e4810986602ad035232e5f593ee02beba056efbc911c0103fdc4922baadbca55556d7aa75217403a2394d59c42b2d862c6036a46fb9f90d5e7bec6a2acfd7fdd071a66c0e4649730966ca2b2a249f60c9403bf867874bdd38a3dd8ae36c52a4cd99098fd81b4085f1802962a6a1fe3614acd54f9246bcde025476f23e01cd9033001d84bf21e3f88418691831e7bb9baac4c39fb71c5b726c86fd27fca7aa07f2b469cb345ee57bf801636898f61054ca8aad19a1402b363d5430aa52023a680b06f8e2a096f23cd072c7a186b3b13d405e4cf73514a53281dd26cd3e970fa176dcff31521c90f7f4d54d9a759b8a0408ca2cfe23af14f8503560326215e08d2ab2ba94096e3477c13799b0799bfa0bd5fa3dfa3b3b93b6c3a26df5dd6060876b4dfbbe139e27c06cc28bab205b2182da264069f1a52275fbfc3498c298c0904c4205776cc9ad68780f82533ce4263f112f8e4d3ec564c37e16ff0b633f2caf9d23d6d2547ab375208b1eda5d7ec16c8c5d4043d41d97f3b2261148b00f73406d588f8b410895093e76f925704fa342bd8b48c071103c72879023a79b0b0a63c2fc5c067911e041f069d8d0b16f92724d9ea29354b31451c4766d93e0d25af3e392678dad46b0ab205cd7f1c226b17a52e7d815222102b02cc777bb6f220cc9c0b5ed15fb0b00b0d5585cb50e1546cde3df2a265aa07df8c2157b0f7bd8b1947893020fe280183b2f968beef23a83b960ef438a88150df92a4817a0bda54ec2d7ea03b4543a4bf5ab144d5ba46d39b58171446c76302fa2ec7423b649004b6a5f8df4f97b020b960834920941af6014e9f35cd9144e6785de76e49b437d751ac949d77d6af4db10e313586f73948e022db6f83ac2930df608b0ac5707d3b9ea50f12f0f1d0e8803d475838d4727061f838f27b6b6d53bc23706d859c15964e867010b9e57658e6636d12c7660c0e7a6cb5b9862320f419fd4968348ad250fe4c90cdb4f91bf0b2b231871ccb51a9c1f0859590efcb455acd80a7f4934c1171ea3cfd680f0d5f7ecede29ae47bbf2e2c8583930480e5f39e4acc06aa1eda36c8aaee052bb212fbd9e739407c6ee86bfc80e437853af7b12be18abb7b9f25299621db9dcbb311e0b2808999fe749d9386986ed6a65fc0a80f92ea7b184d3303237a9c600cd9fbfdbfd5a93a934396e4678a5e98101a0e330b9b22698e8010cdbf3461a4208c279b08dfca8afb3e6a5dd020f00cd66dd66936e38f2b5463f424eb806d7fc81b7e18fc75b5dff84b21896bdac7bb7816686ff9e93cb439ce6caf826648c11a5ef218df1830372aaf65bed7dc408a14e621bf40c6433011b52d48c2abce1713849288ded93fe81a63ca4945b01c8fd85ef62cf5d468a1bf26fc753855e7e74e122b434e8b2e5ec33eea01b4ac70f6eee678625521ac8872b5a20660389dbda24d222a2419468e1a4e8f7a786e19e5dab4e77633b140b9ae7e20e30bcc27b484b55ed060d8c0f184b2174c7d7303362b5cceb858371c5679efe744ce289c4970f8f08f2b00be8faa6179cdead35eba9ba3cd61140a3259df8b00305a97e4ca499c5ec5bbca7225d282268248f6f58d01bd981be44ca9390846459f6ffde3e65308818cbabf3817d6228d596c7b98ef7f56de1223e9826f17f2d2d08f6c21ab1663e965593fd3482c70c01079633c350849e170a0d2ab139233c8eca19c69b153f9670872dbd328f996ca958bf6a67da6aa1818aa40beea19d0d2059b13819099da0c99a2177420bc7ca039c1f9982557c0f61e32ffebb4413249ab37ee6104d6be04ca887f1993c65fe7f67e9ee1d2f24f0c5b64cb328866b6294307529691727344b0c7f13f8be97b8fbb0f18cc704080c8a2b0c9c4802403aebeec66982a0b779931c49cf8db568e004d398a88fa96eccd21ff5d6d38009417fee32fddd4ca2abde12d4a5466974e2b926efd37a68f3e3a1e303ca6352331e10a5e5dce58fdfbe123d98ca7e5d6adddf0c26289f5e3d786a7f9470967c86607c4686801d36509d2273dcb3e31fcfcc4f19ca223003abe6a8f30607072ad4cfe24ce44fa6969453733235ef07bb33d1dcd9c5d872f80302f6dd7e7ba3dbe70885397ad5583e556f88d39433da286f122b62f1d80826bee180a6ff8519f4349c17df08a4df454ebb1d6e0ca18a10caf8b4001b71a923327f3bacaf458c3177210d6699a54d1128ec9448540cbfa54604484e3d858d2fbb0c92adf2497ae4fc4d86ac9249f2354ea6c425e62a0dc093c5c4de9c13c3b479380222cf6eaf5fccac95aa5a141068fd816e48186eee00b8f587171fcb4f9a50b701390ed8c6ca47858a7683c0e96e7370f72f0408ad604771c03b005d13174ed9523a1ab822ede3f83292328b83062b848966ae262222126d78feb42d30e9658d2ed9683211b00e663b359771d07a1f237a8ee63874fc9fd981190798899a5ee02c71b195e8d00a7cd820e31e9b244f8682587de93871485dea41fc895eac8f972e95413fed33ef973327fd65405007b3d9fcf00b2b95cf10f77c0014f5ed1b2256235f75aa0e33a7279fd78a5200299308cda707011039ebaf4f23a8f6e68d6afd9ad2e31c3eb6384a79c9b297321cf5f9fdf23ec1804f421e8b4fd30dc349eb70b424b58fa29c36f45878cdc66073d1cf7ffaeaa926c03bf37d0a3d0a2337fab8a0d8ae8265337f03444ba54dd4f6e8c2bd8cf38048adc67ce8ec9d6942e0091a7c4804d1c02ce109f072ab8063dfd1a8fd404534c8656e1ea55573c8d4e8fe91d6d48d5de112f225c672189618057e72d256b8d76f1e2969f458af0e7a57021c88987e3cc95db624c3d569d850be77c40b332ec392ac65a52488261c180954ee9b7ad55872fbb3ca5782d232d3aff747e7e9c940f58d71d10b728debf98b22a4d47cd76797e3533e5d54c254e742a95daa615bfc24cfa589c3cf312458935bb6378c7d19c46724c1af44232533d4022825f0110733cd286257ce37afc987423ecf79de26871b30f8771551dcb80c06e160f0dfcfa3b42fe9d56f671c176f4006a2276fa6abc5ae1c5aef33133ea8612aebeb807a06b22c966a5b06f4eb2ab9916f6568006b1fb56ced8efc64dec9d0829b5179eee00d08701d35bf90f7a1820417e6209e16dd170bc424c7e61e460846a9b80cb52209c059805e85b63005961c027ec29cae44170626710d725b6288bf09c162ae9d4eaab027dfa5f8937c44509ee038d8e00e44f2674b0a86d44521dcccc2d47d029df05a6df11f9b7f4bfebb963f183cbabbe98f1b043cc6b85a29f0f94c2271380b6a361d0341247c0c55aaf45c367228bd26d89b4ff0654a79875e0ac83cf091fec8a4d205224d65868ee33e1cb974f1a4f4c1336c47ba6ce0ccce5f971ab10cbee0b31ac1a6033bb44f63d821875f971216722f3e68baa904b96b101fd84c0365682cf461e01af7952af5071c10c2c8f20f716279c5d5520072be2c4cfe40fbff1594bb505b34864128d15d027b61b9f1021d0f77a1d3ceb69eea7c5378cfd2c0e0b5f01777dc7ea3cacc47055837023a83f5aee01f6e13a189811c82a732176b11ca27c8e85447ce012487b92d605b725322e6eef890f3ae8ef225e2a6fc3217e637c1f8cb0b37065f34a9717d9a8c469a78076ffd76c76ebeb1cc9cbae61085f08c906e5ab4021a8b534c7895389fd53108e4916ba282a47fac9081dfe356a8b111c1b3af9d5efb5b65674c5fc6b3c56bad4e78c28a2f8d18cb63cd0095f089e349416f23950d4303426e9c33e1284038ef4bb25302398b974dc2d8e1af9098d20b1730852c6b2750d5aa4c11eadff507bd4f41e46c3528a80a36b2e9c0b51427297e9609cbf7d5ac5ac86178a1ed235060465189109c80378c82ee9a326f0b5eb73e5bc19f0d0471ff9031ee1ff6a97f7c73f27ac3ed66f218f4bbd7eaa75cac8a67247a5ae4634da97542fe6e3ef2dbfe8db67ffd0315ad37222fcdfb0e72656cc4f4c3a9f7b9b267441bbade879b29f4933fd55780f4ff498d2588f9bf7cdd6083e3a6fe1945f9ad1283b518918214bf205a010c5f9233786425a38b85e2b9f2b37cf9b66413a719736b6386f3e40d7e6f12988940671be5c1fa7ad56189a54cea5972e73e766eb6ec1d875832ab4cd4a006d8e2066ca22f759a682a2036c31abe3a4c9ffc74e6c44a66289ab919a8402541330be7f5f5a675497d07351270325e80d84a6c55dd9e3eceebbd0c1757d673158fe66c12392ec7f9870f93b8d84df44f7484a772d6ab9e40d3ff3e718b7d62aa6176ffe8a023c9e64c1d76b887efba3729215e52cc651eafae976878459a65933715961637204bf1d80a77168090a1a63cc59b9d80ee9cbb7e3bdbf2c668cd41d7a4f30b0c28a294dda2ef880ae139fe51e4e3bd99a16b10635d1a94f679efb4c1fd69d7ad944e54df65c72f87fbcbc7b31a2ee8fa6f1fd6dacbf2ca1ff67159d268b3b519567e18d36e0d68ec29687a4e477a2c5fdd60787374b9419c467ea973f92a3c55cc9b1ab88c6968da83041a7e8bb14aa7a1f0e74a6bc53a3897c2c226e2faa9097eacafe234618781c097a48dab94582c47351c73c327f5288ca3e299d392e6fd36d3811653029c279961c27f746b1962b461e6c428abc0cfed3481a389a6e6f156b8fb383dd6b9603d1a628631042380ff0346a7bcd749d73877847ceb600f54f45c952cb227ee7b78922d6b48ad8250f590a933fdec282a6156e62e62211f32c58be577ff4cfdddbaa4c477dc0b88576b18f1bd6d45e35e0d78c3e2c1e7d650da5989863b7c4b03a6e9b3ea2655f503003bc5d1b572591c10165720219869c42bd8d71d166c62152c89813c58033344d52417500e840176ed58d89878ed17bdb10da3e120d70d28de2230b411ed80b81c446bf1591f3d87f087e54591708b6338611259f8d7fc7f44802cd5861f600b7955282234fa39f8a7b677e960aea04d364342cda05540a8b97e7def8a31ef92d19d8e42ecd632317a615811637f36c0ca257da33152f8844e26179e6e7c29f20c06a4ff083138a4bc38c611e19d20629ada6b0f19e7b0a234fedb68bc3b59b7ddebe5217f8e5fe219fcaac0fdfab12713f15b0f82d70ed723371cbfe874ae7091652a9bb2d702e432e6fc4ba3ca204b36f77cddb1e454d09d5aac54b5f5e81bcbbf2a158aee53529c2e7dd33143cc3ce0b7740acc0097a90421604592e61bc352a2a45ed5333b20b4e67613a7c007808b273124131e81b6acab208987361eba14c73afb43c71ba92dc6d1eca92f306a5b78d30ce3b469360d1984f2b8051b06ba76a799ac8d492913d866e385d346a320d3a76597526d404697685f6e398b52172727b88536c53c9e5c39fb61984afdb957487c95a14b6d138469f0f32c08b7e11766d1f4bd12cf33cfd2f1a859d83c197917bb4e5ff2065bb933f6bef3d6417735576f53ee29a6d9b56a50429f7fa4f56a667e51da5aadb62059e6f4a3b437e6bd86d0dd86fa99edfdc8d46ccb47c38dbd25c27452bdcf56f46e3af059b6aa2f17812e57259c43884c2df9883eb2b10ffb0995f9b3aab2a423bf1f154b4030a22f9ba82a23112d87c88c43f0fa281410623f7fa22dda9d651b7d033492f81b01f28ef8f9e8ef52ab6e44de0467d71362e6ec3ad4e22e93e08a134adecce577f6f8bb4b4d2e398db7b0c83a7263ebef51462bafa79b03aec8e8f14f231c6c7f17375579cad6b878b87dd4c0009ff01a712f73d29ffe282a7242d84e4f3f2e3255fcdb4d705bfb2f55fa8ddd35a0f71a7d081fdeab2764232f9bdc1d38fc139565e15555058cb74859c7897cc336686c9a3317ceb3ca5b98d86eefd69c562cf6962e4dd331f31cc5059a43d8ea27aaa3c95e62d0de4b5b187d5a84db7ec53a3f7228f3fc63e68d98ca406607219c0f9e89571bf01f220e425b223002a1cda7da416899817d5c90410a6ee3ed6fccd628543f63fcc8468a49433a8b24c0b3454631ba0bc1ca303724f70c5d7c86601f88e06f60a44b4f9c1108b99963a1289eb1624cf08f52d9a30568e2a4f65ad326911522ff717e2c581ed6ffa8d3261e6dc9332f5e581f1998f76f102ee4e4b144f442c0e8295766405ea92112dca0516c3b1c72d2fbf8e648b216c8c57398d7ad9c42bfbe6de5ada138008f863bd63cb6346cf293670940ac1c6a5d7163d6079a1c2a67da69168aa0194013425529ce74c64ebab07984ae8c0656b55d73be24a14d0e780cb63d546cac71eb29df45b81e6c5418eba90ca0ff86d5843074fba12566b5619114909a53244fa4c3b4d7c34a226cb8b068411e9cac8a4eb8b4b3e84935c86122cfcc255726118d97a2d31bb0304b50c59838d9615b350ccb4ca432c46d68fbf385fcf8d939dbace408cd37087aa7712e7cf51b04ca8b9b7876997eb2592305bd6b73f9ce3ef6f43df7aa79aceb23a4dd34ae8ebb014d6b635c54abcc5139d720c1a3de9cc40c141238e0af1803a3e078b5f0a63ba62718400d0204ee167be847dccc0bfe5afb144be58941c4efea0330977ab6c97abb31861b32d5e71b0982eada5aa15cd5c13ed5162c23b2df37adf5ba6496bb914cf2eb147b2521e898f5a5a87172195fee573049bf60066b1faa1e538cb06d05c46e9499fe629e70ff239de8e617e9d07b61f5f53d77c08e84034e3edcbef8c648d27fcaf0c59be30fea020d30603730940dbe0a473fa62efdee51a40c754d7c4e6b4fa022e6633e1a2563ab0ca2c4d8a4aa77872484fce683f03b52c9ca925a907f6c910e35ef18b7501bac8b9c00da09b2a124c4a04118f5a45331b23a9de40be6bc490cd4e0af4dac893c231e89f546a62204f2f9b5a98d9b254d8cd5fb92bc7e004f4b3d9bc2f6aa2ca6663218984a2116c05514aa3c109712eced7c0c6aae190a018b831794692b016e284f3078f36fd10dfdcdd47d6823f91a1fecb0b64a34f78e6434e74f86c406a1b7d0804efaea26eb1074302f05e982418640bebda8d3bf259e230c8dda20a39da11ff13ca4a2f7d18738879fc36e19951168c7273beb871cbf20213c98ea415a3d09b16c783390556a0adbade354227094368cf1530db411c523892b4922e13c89f63e87caabca42080d292414f4087ca1090e9995eba8e27436c515e23670c39ec737ae85fc1be2c9281a2d303a0e65af1b75f6fd3ccffd0503048ae216961ee2055a49311b89c3155980518f10453a9c012d21d975e88427e94fbb62873948972d9bca6403a4c7144be80be52076808aeb1383014a9c5e07044cf114412dd458b5fc24b9866fb0695e29b677aa8611527cd090bc66675eb29dbcb707439ffea65e2ef64a54814d7b3dc41e6dde0575522d85c80491b0b064d031f7b4e95ef63854c9d9e24de882a055acd354d41e9e6a8a1c24059b3a04da0f6199c09c9b2df1dd04c5909bf18b491d10bb5ba84b36d89250491f989cc8481140ce785c42d318a8c31670d6c120398b372df6690c6155981977b4e9b9f0d142e9948a424eb42d76d90c22fbe6e9b7049502db08d80cf7180dca9796e7d72e9cecd6aaa0708807483c6095bc550adcd87389e8e087ce8c758e7d253ef819dbcfc900a3acbfedd1f5aa6bf9bd8f331942198b3bb41dbbe6f5967ad7dd1b3a89f887b31c47613bec0f33837ddba6fbb980656a3d91a960cc75f01d09762e48b7d67c224fca50162113b994250423124e9c2c5482c640e4ecfc1e80c63cf83382dcf8b9480c90e71fa1b8746d62244b24525c4c2a803123aba521715bd64dde0ff09c1a851dffbe61e4552c7e7edbb24cfad3f293ec853f2d1c9e83bf213e93b963874aabdb1ff04855ac3bf372ccd2ed029c60fb733cdcdd2e2666e600e114fc987d98f2884624911fb5b32651816ca53851da6131f360c20a3882fb52ff24e1fa42a92b4be488e42e21f9c724f97d2bf7701b6df417b8ea7330b5dab3879209fb8d39e2c2b6a5b114b6d686363eb8b9a0e57ef6c5e4838d3e92d87658c1208c2f5c427a650d1358b543b5abd2ca84b3cd92c9d043ce99c3c21a868d06d7174fd221b48549afd096e4441b9819282b3fe0fd48e9d4b05b948d27a3d5f1848d85c79ed3610a9666836f969caa1a439f914365d199ccb70358676c4e31b893ddf336f12ecd47c03db78d9ab6cb4a6974c19fb3fb736c26b757e9ff8952f1aec061478260b89b85582f9c74ac4b328385fd68d244fe3e5b43071347c8aa4d4fd910e724eaef23780696be5040a3ff40e0a990c937be694924e0b23fda7d2621cc094f0fa75969c8bad3cc4fa6b4079a9d52bec726f21956bcc406624a7fc4e9509e67bd7269a5edefeadfdb134b118870687006ca987229950f9e5ef70f8b5c29a843b4dc4b91aca7736558afabf6f703a54ee2bec6a1600f3e226163940adcdeb0f797b34d031725a68f700823bbaba05b4120e3af4dc9c090ad8a47e12aede84fe76b96b83a91329c84588bfe3546ce3478c535802844c3987bf876b8bb24debca943335e2dabb89f6480779b5c9136813b6ea987b797376c2d3bc0d4030d2c1091ef7af792373e54e4fbca07022a04211c12614ae850bb2200fb36f3e949e555322c5edf8be36744447f5a8008443455b95db09a2ce10d824c31075a37f753a0538737222ca18388f812fc6b16cab69d65a735b4ddcc71901330442378537d2af6f96d58a60293f0053267d21729630f818067de4887a69211e5c60b5894845e2ae1076aa526fb6aa8d6e5b5d2ae0c1f82bb66eccac088c2d91375dc0ab3be20ba440994e99e7e08dc2efdbd49af7d2ad51ad2e333e36361977d834ec86f84e2d3164886c2f8ace0921d332e7b9823968f8e9a7ada07f303ab80482a44fbb6cd0d4e37c2a5f9d103d09810d8718f751624c962d68d6cf973099b06bb9921c254190d856b1b06cd43060b10ba40cce8b6826d0c061850a5e500c7264130c0b363d5e233c2b599797e4779a720d4c2600fc0b062043fffa0790d3269582f65edb5f4241d2ed5d262cad22cd92d15934c202390baf52de1fb28c9aea8a776d59a566592cfbab3b28263df61ae15243930a551e361e49abbfbec57e8f2f001522b3349fe9d6c6a98bfe4c240cd6c5127d1ae3db4eaad354044d9b355aaab136ab6ea2299f804e28bce9806fe4813ef5e81470ca23886e3977496e82b30fb134eedbc61c254a78d0a325182271356ee0de1524a7a7cf139283e97b2d6a6e17808cf8692b620b2a7ff11a99383df410d7bbfc5f7a437914a25d07085aa313b11ca0f7bdbe58a6901545cba546b14062a64b13211c09f5f6fe1932c6200775a50e51129a8871dfec81a84d66d4daf6fde14bfce424c059ae975267667858a709aabab604561f188c649629d09c17f16b4f3f71c8cab0d5c416088f4d10dd654fbb44669192b9407c91acba5ee6e20c727412b4561bf1771a5fd7df61c8024727bae944161612198578d7ba51b863f37d37e8fa68c71b2e14aaa9f60d593ed568889671b46473a0c818d54de50cece6f7f16c04b00122ccd16f9e20c5ff887b1181ae77bcb355438895106bea74464ac6937059f9722d217e42454bfd4ee7c6b305314623b6c43c70feecd581f08d9a869cf844cdd4e08c7843937bf8f4a734f30beeb013d153280df2dd42ee0d0a4cc13f06a7e2330e0ccf9cf94c684a4975fcd9b2dab54fdc31d9efddac4346698ff9181a1a2dac7f92220215e113604f9528f4d14df984d0019db33975a0b4890d7333c95543ad4db583a64628246fc62c10851070a7cb0e8ef87b891025a6a1f2c4dad8a7e943ead3bf38a42d3e5a3fb5a682542a67058f1568cba6dcc9009970beed20dbe2dc7292d2bc367a0268000d5426cb975ea7f7a356f63ce9c34ab058b0efb2b5727ac563ee96655d971007a4765ca524762e84b8db5529e797f89f54bb0983db5d3818795583a97cd3b18db506710f2fbeba8df9e7d2b1840df722ea0aa0c59567d461aaffcee38f4f3b19f93ca05ff6dc83c88a2a82d4df992703cd9e8b6ad359ffe7ff8e5459d33406f82b0a4cf908a62d25795a233db3d85aec78bfb1380af8cf4a7304091bfa3fa1f3aa618ee13ec3c4dd151e9bb7b0d90517ea625e18538f1b85a5e55239c9b0f1e905ae9633f27eab7024f0cede049e3e7438ac58e225fc473cd5b26703112e355326bcb5d20d442c07347aa86c484e545065be09b0020e03a1854918d6951329047d2a692d8282e0ab0376529e4a93b6464ec61c4b5b38869d8d4881d81023081b228677253700fd27716c4f24ff441ac964824f7fe11de389f1baf5ba3d97fdc7d059500a42d502f1296d6a6e2b28b5189136826fd274093b404c98e7cfa7b1d775b5d2027e2934e3cb27ee4ef4543d846ab22d9667323f4c98fab0766ff09278870f50f33041d359e9a7d138395363badde6137986c87883c4e04d44a0530af194488da933b3f1e1d1be77e6c315993464d90cf722b71fedf2d14288bf94632c0a80b55ede7262c0655ac593a41323b1db681fe809313c1fac95cfd340bdebe8899e5472e5c5d1aefe8edefe6ba7487624b5099c54e0bf874ad25abc4c8b51d3f08376b77e2094a4583054dc46e43ce0b67cbd652990ad28e5387f4f967f14260c1eac7d6a93e3e23c84fa6b782cfc643d3652a91a21f49e0225383087d1bd185a75bda3c9aa69d2a5d5459223666e2ae1406beb66f3ee8879739516692262e50b68f9a58882e7a33ab6084ddcae389161e9241df94fed654bfa012c2b4694bc9a98f05811e4e429b4f8dbf078ed965094bc4184332b7cabb3a9d4898f5f905c375dfa0d31bb1f2a1fd4d6dd66ae73abac35a1602436c50c18f8ad6215c7472c165dad561a2b92db1716bc4a03241eca02f4c15e581e6ab03a1780a46a19043e0b77ac38abc3304acc91e30e12d77166693133f4200535eb9a25d31cdd5f4a659d6c7b19bb6eee9581c74b17f55ebf1163ae83e1d5f11f5a3ff94aa2868b209887e93d900158c9e92e50fc1e294a5a6fe0bd20299fe3cd45ae07b444723c3c63f022116b55dc8f927872c574c31320db941b8e50250a34e9a5f203d55b876ed3eee2e661de014b5422e281d9a822065fa0229a5d6cb79c93f6a57d2cbc3c53b0852bd0b4e3e51395b21e372ed218292e49468af2a62a6300e2eeceba257a99af55b5352482f9d1fa1a02f7f043c0c329abf1efa68e839ca133371873f87f5ba2aa41410baff5191e6934a1ebd53fb17d9ac1ccd127017b536b4ac303740f65cbab1e9f15c0d3a08c6e84f1322d03381b19f80f7c837ab3ef936399087648115c37fa915aba5b0fca38c00b2153661155091e426cb72f624d1ff1f35301a98bac05cd16e728d9b2f38780b9893507d945a3d0216ecb5277ecd4c1c4906fb40b1bf10d71cfcaf664a9b3a4bd951152ae7122f5badc3bff638768c90cedd667626e763037ddfe4838dc15874dfed9f05c8c5e1349d120104eb52b74cef35cebab79bd206039ad772f73aca6c53f781d360172bfedb5d1c7efa389eb8aef7b242a766d577ff8af26c3ff2080f4aad8e929e79c3d2ca7295446b42055ddc93c879638595ff181e5092862c377ba95409fd7f2c3b1aeb0f13fb7c7174f94aec366bb8fcd6d056f2b7162d73f098ab3a5b79bd1ba1db44e2c05393e3d9c241a530251bdc8eb3aead1751d6dcab8564bba6b2affb1d6117f6724aa5ef8558b5c0c149426b80f93dc26138c4c2b43bd05e9fa4a121c57ebf342e80c5d7f3880be68b90ad2f2a33c896bfe4e724d9aa7f6b5a9792690adfdfa9fac88ba40e0fa3cab49091b1ba7a840a63be7821bd3528c3a18cd731832fa8eca5fb2e6a3b9f991b58fcbd2cbb2532d733f62541d88e31ef4600794ed5c0e7b7f3389453dd645c797d44a2d6823b3521ccbae58c3d683d8c09578e5fa458ac82feaa8a4602b205a6dc083e2cbf688581760b5dfab9b5c15a4872e3982460f22ecf43fa456fe820b7003975314c55dab89305fb018600d560867e5c936ae81be75ebb2473b21a0b50047cbd92c6a06cbba459952d3ce5a2344c38a4dd9408aaa0bc2cee0655473289913518e6f003195d17e9f38c08f93201eac8452b49f227a6e40adcb477c3cb387c1ec900148004f74a41407bf8fe6d8ab065179ed1cde85b0e7fc1743180ae90823a64de27b3fe91d90b0bc8ed1f272c102a38e7830fcf55f092c4c80905bed20316c604af6eb5b8e7a12c8504a99961d869e5a3941f59667d4681b308a147817c03e80666ddb1ce479f2eb34a4edd71bb4e615469a271f5331ce4bb006a8e753b96518493e982c995dae0c2c978c1707d8559561a910121440214be6d99166f03514a73e04b6c9eafb7f657129fd2b1dc24b4a2e35c062864f87cb96023330942d55b112a4e613b117ac8ba8b0922f931e1a72b0e07ed56c86c962a850756c88411f98fceb98fd27e877c537059566cca277a5bc73d1b5471b2ccbaf2d3bf88038de7f26a11a15c8300479806516ba42b5b755228c49a4b86666cbee95b244cee1de70b09ce97346207253a0229aa7bdca03fc80a8a0b7c671a45090dc51e251148c2e265c650350e0b686b56dfbbbf61be2df68dfb047ea70d7acd301bb398a6767f81913236c76d79cb7705fdd781cd0d0666b3af8c7bb0f194201af28662ce2da0106952bc54329fdca64a53f01ba4a8ca2666762f22695590845de4ea9d5236515e755f547d100f02f889e98e5574a31aecb235b15394f12f56ae7d2329d7bcf7086ba926ed51721984509f52f138b517f4346830cb3a5c4d8392fcccf821c6027df81f25d4c3de53d7660d83cd0d106787833b96ced6b8264b2f71b6fcee0d184523165a296a4bf762ea2fde1b76878207116bc958c28d208baf0471ac686dceb77816b74c4ac7c9bdb9dd6653cb36415de6f095d4276ffb92c0bec0cd262fd16b5e1fc9f53bd69e5a9b3c79cca467c640ac6cca17136d00dcff027bdf15debc8a863ff60e83e3c8529a2bebae2416297d380f8fd13fbb169a7056391a197abfe91a0c25f35546baba19972cf5d5d1fb84bbaafde5b55a02dd558ab5ab2254c87312b5cba4d5cd4244bf690a0a61a93c6c44a111d747034d57085a0ca80bb7d1d43c1667765906cc7716284591be9c05ffd615971a834fbdb76a7e4bc486e8c08f4b22dc721e0fb26f2df48f84e985f869dad3bca40bd3dfc84746ac492617f59267dc91d43fba40cfad5295c62c5f758244dc681397e81457af49bab89fa2809446d0e5c09eb7fbc074a151c950bfc89c715822fa5c381dc3fc0d541599029baad4a3029dfaed234753b3ceab64ffde494aefa920e10f9b040521b3c70e81f906482cfe5b175366a9af1ee11d9540c1b2fbe637bc561130b765d987344ba20d2d3fbe6011d534a0c24d4c7460354be1c15ddaf0a642585cb4431624e8a5971d5dab1cc486d3b5eb37386b3a9b09082d7e0cd465ec0a3595e79c4452273c919c2fe516538a9772e30b366b51753e681b31333b67240521310ed5fc4fd8c7c30d2af1ebcad283171182f453aa10a10f1e521f10910be837ffedb59dee5d646afcd660b5cd816a7d3dd446a019c41d4955a4c12ac92239ca1f514c5476479bf5aac92dc6cfef388b16b787d78cdf8f55df94974fdd69375633c4dacd9b5efa7a00a22b54c303c879f9b202cdbd4b187af128fa430d38122eb6d49fc9dfb95b09ba34798c3e5af78b0425eb92d0e065ba0fb0a0a0f1fdc6e8b099e3f3afe0d660c2ad23c461be5bd4b4159f4a095b3d20a3ce5cd42259ed7176f062dd7032510e2eb5026cc2e709260f09bb04289ca5d7ae38461d38324da4ec59f03f511876073fd4a992a78cf4195e1e37d33c51fcc0255674504267f4a4364e8ea0e434a44cc4aa2937d53fa6d71d505962f1a19145a665eae1c0eb9536acdbb37c70afc1fa0c85158b2ad04d5b4ce6133a9281700a7ab5ea8d1229d975a29952dd22a14544c7537f9d84e69857d687ee8ff79a24d4661401f1ab67f86f3bdff05025259e24f01eebb40d63d944f47faf267668ace2aed9ad5e3e4435f797e5ff060294ab15d6c707e501a5c050c20a254cb1273e9ea3e31ed811ad962f968d598b02a79de0c01344e60701ed8259edeaf5c9a8f4b8502a1b14cd0eb810811b687772619f32cbb3295bf6159b75b91930550a73b015e855eb72eda827f4fe0ac2bfac9e12637f904cc50a9568267d485a40a03d4a5fa2e159df08fcaa96389baf0d2a36264ccafe81b36099c7ba53e418d7452e4533366b269757e210e17e82565bdd2963944c4201bf1a14e93e508240271060a0f8cbd360bb42f9647804f180baad199dc0eb3eed878514c4622b51cb5da6238a22e802852910f14e8856f68cd3f327875df3cf6a34af4e180b3d390c0b8b246a4e47d26c90fe59a3ef8707eb4a7ce702ca2b227d471010851a75eb6efb9fff5597c0a8f3da866754d579356f69ff9b59268a786f26f841b69d4416df5b62650977db71844087ae00f746aa07fd1ebb41a9ef77a70a4c341288db480a5f073d073507177a2368602273864bffc255f8efabf4efa3f4ff127c1dfc3f57bec5b873b57f1f0793fe5f0247eb3bc7767263b63a94add0fe7dadd57f12329a2ff5e0099224e5bbfb2ffb0c6cbe0e72b409729523028ec7ef61a1713ca2e5aa292d84f75603cb549132159ad75d4e6be18679324eeee6d0c95769d9cdf445faff9e0499ca4392f5417ac4a317c9d1aa76d6a6d5cedafe7d8d7a59f214d613029f312879ad7444bef0e6fbbae60bc1fffe42611d40ffd274acf37b64b2853259ead0ebb62c586f72b237adf70e6f1753aec0e9bf5718f3bf112ac44f77b9821ee1739229dcfd3f4df5d03285e3bba9964cc1c3ff534a94a735f9f4a292a1413f37bf0af2841f7bdc5b19c0f178cc123cfc9aa3f2fe73e4a83149b55e92918f1c25e3a148a1b0872d5fb7b7f5c87e7dda4151e9b01ad36d129fa19aaf7d8bfe7d793e453e44ffbe43ff3e4385fe7d84fe7d83fefff73e41ffbe40ffbe0da600fdfbf036fdfbfe40e5273512f26f527ec2f1fdab2b8a54cb3f35adfce3ca29a07f2dcc0aea20b3b364583aa76cbd36a7f93f899f5ff60dea5cf9160bf0f5c93e25ff0f25fb2aec97a3c59cafcdb16b6ac8dc03b13ed9cd0c6bf31ef3b7adbb422da172a8f189effe9fa43ab5d0276059a7ffbf34c298ff491aa17db4a8aea8ad4a235082624084311f6d5b16ce1ea8311388c0f565809c36ddadbde144f7fd291327e284b410383d9455085d7e3f89e0d393e7f75409844bffff0b012501f88105ff3e2e5b1878d8a7258b0fcb3f8761ee03b2c177c567a5caa6149ba4b430a88558dba809044d799f85d56ea170f9ba7defb1e2bf8f0aec9b22250aa62626b8ff5f83698bca254effdfb5a44b7d5ed1a52edd4f90ffb703bcc4f6ff31943f7009cb004b92b62533404b4c2d84b9725db570dd2f6f9d7bb74f76ce68c452897fbec3075d8352a90d9b0fac52907fafd45d201d73ab94cfc20e3d51a394e797bd57678e029488a45980920a4a52af853dc804d8419fff201f95240a4994916f3b508b8339d237c10729aa0cc9838330ff1f85e36077422451dc61772c2a2d0aac0f076a4e0e5fe9ad3999b4e9a1424cb2f3cfd12a4cc2f2ff3fab1e904964afb22b26fd6bcd63224049769ef27c0948a27b0d55a3777c92a0ee090a0292ce9a0023c1f92654f9231e10e9c80b994432fb66934dfe3e2c8924f59f1a90820042a20342627b1fbad53c8e321103d2d40bb1a0c8475dfebf6ba8d297a16786067c6406a7291e95f0a2c4809fa30cfe756136278e9afc3f2cc7118f0fd3b1527aae4666ffbd648eb591874616180d8a6a289856b550288479018c78ac7b2b03edff5eda224cff8f6403e020c96fd19d0adf0c24570f5cc4fc7f2b605e9eef481e95ffef94a71539496bd7f5f8a90f83397f04f98cac4247cf4c4e4274d7f7b2dd51fedcf1ebea96eddf57c0fff7106dfd8b38ee16dadcf0b3c6214eff6364be2287d07c0ce02122ff24527668c33694c75015434dfe9d49b8fffffdcf3dd0d0ef3bccb6f6426785c20abd7026e9b4b0504a68131942c99d7c399a5bd9933d1b2469c7f588cb415d1e21079991d840419cfe7b50df33b66d000a6af222da3d00509086871b9e39937470fcbefb99c6d1dea284665cf3192742040b116b3858f4a0aea2f0306af3940911b04cf281657a3cb00c5cfc6e393f6b0049017ad23305c41b016f52233c3f7877f0dae09dc113f37d8d9d71170af178fc6b618b67f5af85dd7db2ab3349f747d29fbbff17a1855a1af847c9c7d0e771af3df08fd6efe0989f477edafc7fabbb1bb34afdf237e8e4c6a490b7d0bed2ed9585a12c6fa17de5cab738f674e38c9dacbbcccec2d0e1108eb750230cfffb7efcf7f8bfeff539ff7b60ffff03eec1d3038e9f3b605fdc3f50cf18a01e2d0f00f5e40b79ae70573debf131d66daedc51dd300f538d4775b7dca9f756d5176e5c6e2edcd4e3de639c0dfa8ca17b2bb9f275d5ad0c6a66bc6cc67450f739dcc95755f277db709fc334f57dbaf111edf88477e7cc2473c7aa52c9c73477d51e473666894aae5968a18b1ec736cad597bb615a85b9526bbde1e3d17d0ed9e351732d6ca1b5b4b06bb5557297b9e4cdb8640fc630676e66bcfb88111a7659183a2caa0d75516de83aa17dc7b1abbbcbeaceeae03166b597973eeae0f24dba4bde8c3bb2d9b53aab37b3b3cc5585b972b964d990f1f1d85fcd632847b25a73fea48b8d7b9553e138c976b7d8e378dca18f47e6ce8221c3458ca412c6d2addeccae99c918e64ad8659f3aebe54f2c274f6229b9eefd78d4ed661e5b376e5dadb8e9429145f7d8ba71ccdfb8096583bd6d6ef755d3aa7663285a9af146b32976365c1bd3ac56f2e29a28ee73c8c2d0a1cac250565561aed4310b0d469bee7378749fc366930d3beaa0ee71140a8f3b34ccbbca93c1143a98422daa0db5ab55bd6d68ad778712b5ca639d423ba330dbfb4eee5707e31745cc32e3e49bdc5bb91e593585568fc2630aad9e85c169561f9d4938e131c5baaa4d648aa126a1dde790ad438b6a43ad1e79dce330adc25ce93e597d3cf6b0558559b9ae6af539ecdb7d0edfd254f7c96ab5b3b19652c9f5efed8c93ffcf8aee382ce0991eff3a66e9f6abba4fd68c18b547779c5655e83ec7c26abb770fd9c6dd672f0d3e7bbdf9ec35c167af2c9fbd907cf692fbec05f7d9ebebb3d78ccf5e5a9fbd487cf69afaecf5fbdc05c2e7aebccf5d7c3e77c5f9dcb5e6739799cf5d0e7cee92f2b94bc9e72e239fbbe23e77e5f8dc85e373d7d8e7ae00fe5f84850d0fe29f80142e58b8b04142055f8c3c80a0e4dab7ab1677feec5c8d19bb6f2991216d312520159206795de67f3a0090ff4fa3747372ffd038edeb7f0afff84f9f294fdfd49936d3b8d4c77feaa6ccff74992af7ffa76d9aec1191ff71df6dcaa6c774fd4f05e8c163c7ff4bb021e7f6a90e784759338e9623854bdfa2ad1b96baf96863fbf77dfae2bf27e7425b7ef69f1affffb7f6ffbd1407476b9b9c6c8e373758b4f9a6f5f6858e716578835a1ada596af69fe169f79fecc5f6e5604e0e8fc5dd35e36c31bcfb5b8c395accd162bc9cf29be77fbf7cf9767961bba34058b3b7bf6eff59ce245c988e89f9c5cace4d42672c425eba48cd79fc6bb2e566075a88e34cf378bb90130a9b2b7233fdbeec4e1d7cdd9e8a38aeff5f42c847221f507ecfcf2ea0ec4ee022d06ef5ddcfe71c7f7550c9a34cb5259cdea1a5d777583542dbfdb6cd7133ced9962f87df385accd1de22bc5b384d991643d38c737b8c7336b4ced1feec3169ff22749020badddaeb4b0709a2b3b0baabee0d2bdb476af34932834f7649fee819a90589054900120ea0dd5f5ada8a150628bdefc158628bffb63b2cdec67613891d2eb62ba5354e71ada2c0ba24af4654dd59671b1fbf8e9d256bb21b46eee4cbbe6e1286c64d24eb0a854a56c36fba2df616e649b585f9ebea3866db9d743b8b4cb2fbe5311d7ba65538e83263981bb5dac7b4dabb5675d65178c4ea116fe366c6bb138bc462b3c96af1605c9245f648be451e4387c71d6f2716a15065fcf631162ce668c52de79ac51c6dcbb9662f0c0573896d13cadfdeb69605e3f0d6f1d6b2607308acad95a1b5bbe5616d42dada8cb9edc7c62c316bc54bd4db85e30d1f97af9b05a6d5a5bab1a0597cd964d5e3f275999d253bb26a325e188dea7679acd5e47e76ad47c878d1fb08bd99b18c17c6a58a24aa6c92333b4b1677d885eeb6c9b1ba53ab6ad7c27e421fb9f275b6ec867767934aaeb5d4311d07d3aad6eb6ab6a97cdda286a16abb61f5c85fb7bbc90d3f37d355835a558f4763dfc9380b4b6bf5e864dfa31a77dee42f8f5f9e4cbacf39ad7475f08bad0be66358c7be95bcf7bd7c77534b779e749fc3a63e7e7db175f5ae23cb86a5354b2c6e1d439f3aeb75b1b4da7b56dc513c5927967edbd27a5c9237c1dcb8093d6b3787b78e97a3edd8ed6f92b371b6deee8db69d2c5a723fcf24ca3128759689f69f96fd7fafeb6de86cc3c2d8252dccc2ca636e79ac461e6b91c7508c71c86315b258a72c26298b190294c534105ba386822c13fac97596092dc45aa1b34c681d34a1854fae83263496d6c260efb163af42378b35b19a6238c4d2b218d97f960e62b51b66c186109518d1d28a6c61686d3756b8e1d9fa9fde508b5f972cde4666ecbeedbef75894557b31c4c05ba8d146ae0185b7d05c83c2bf079906a06fdd9e261a5bdc332a1f86e5eb645f562ad32821a353fe12f4a5fc7213b25b9e8cee382d9ed4dac997bf5ac43222d9bb743bb18c48c6e3780d86f9cb4c1a9dd05ea4b42825801fdf6c766867c6732c3386a1c8f8759d7dcd338c687169b56bb3e9c6ad3194277b1ccc3af71d3a1946023986598e81e289cfc57daf6f23eba07640b54169b94fa50975f97238ee48680783ea8221ed5049848aff348584a835cae8c61d7a230a4eb3fe532c14ffe9893f935dc0615b169edb68dfc58512688f4d76b1a56e686f0fdb1bcb2dc26416835213ff6989cc822d25f19f8e70206f11797c5ec1fc7fdde6eb8af84f7588ff14c487b4c37fca21bdfa4f37fca71afed30cffa9d57f9aff53600b2051ba393968dce11f4ffe3ae37cb8cca572b74924ab2307dc9b5b1b9b710d871ada9959d90d321b6362c430b0e10a552bd849458a2c2c14274c9420314244a70e1cae3668c8d0c92a03aba83aed488be8ce32ffd3aa942a8dcb5aee775875f1ec7b2ce668cc98a573957b28e34537b260325eecce82b52cd8bb9b2b8fd72774fd4fa7dea5db643710b7a718d20b2f012e6731530bacd3c8391bbc954a2858c6ca2063c9f04aa5febf57811d3dbd3c19855a4621034baf4a88fe214d084e27eefe93719c836d20ae51ed0f9990f49f4dccc926bcbcda6ebd9f3cc91ad9925b6e8d63f75c1cbbdf4a6c6285c4cde805a0a42b11e2f96b27ad90524827a412f2084e6b6f0dc49821b1fe5ff279c4d6d37d144816f1a6859c5098f51eada6850ef622597be8b00abf30045dd47f0af59f3efda7bf344d7bbe4effbe11fe7d2210c1d48862686945e39a98db5790cf2040cc60a16e696d9827b5fe7f8afdfca1eb1fea44b6c0ec014dbbe93852edffabaa9e8559b57f9f07624f274c46b7dbe2d30993c5bc696cd9bd16dd6bffbe4c31e76b287207a97645d2d57a763b1f72695477e7cda4a68b9f9cbf753d368182cabe4add64ff7d987c6f3b7c97febf678cebb0c1524f05d8d3a039967a1b2ec3869f5164030151385edbddc205341fe2ca86ea5c40dbe26e7958a1bb5c088b909987fa85fdffc086357e347c2f7e5fbdd8ab2b809fd0373743460c182fb85cb4f8b1e815dafaadf0699153b57ec194888a1459583f1429d7091325488c10a14380f8e0a10387ab0d3f0d439c2edb0c6b8b30df300fc343f4cbf0ffbd9fd5ff2fbb6006f9f711102bb7d9bf8fabc747f389daf4bf67d0718f04fc0d42f72c90f71c391eff7b4b98e8c9fb01e5d69c67d32f5ffdabfaff51fda6fe7f18fe7f17fe7f167e523f0abf09ff3f09ffbfa8ff1fd4ffefe9fff7fbffa53fdfffaff7df6984ff5484ff94d37f1ac27f0ac27ffac17fbae93fd5f49f7af09f66fa4f31fda797fe534bff69a5b483ff9483ff74d27f2ae93f8df49f424a1dfda78dfe5346ffe9a2ff34ef3f55f49f26fa4f11fda787fe5343ff69a174d07f2ae83f0db4e3bfa7e2ffcd866c68693a8a6b6964fad2ff223c47ccdcdc653c5cff2f820d83e63f978b7fb30d721c7087c89d1aff41af760b63deecee1da86c47921d345e725a08b34acd79bc6627f8dfe135db81aa93f7ff5eeb1af46a85729c4a1d6887d5cea285baa5b2d0625b349fd058673a82329d09e8a0a1e1dc5d07ddb8ae832c6fd2a1f25a0895e900ffd9dccc350594e77441a19ed4e50c9abb6563b6af2f7fb39c2e6adbc6cca53b9413e4555767396affaf056f391fb21ca0d6eb8a9e0330400004f8d75f5a0be3bcf9cf71a854e78e8b4e1ebf2c536d5de1ddbe3bc331f218f0791326bf31e1ecec9c0bad9d64953d10dc90a5717e58deddd45e5ffac926d7b9fdeae911dbd23ce144fd2b3f5f90a8c32a0bef260c8b25798ac156bee097d9dc2ddbed9be25be6355056e4353d2a3057065f30adc63b1ac36e0b6535d7c33135776a775998a88942ee61e044c18f3e81c2cb5f1ed5efb0c3eabaae6236866b696cc67515a6b1f3ff2cf201ff99cc89cf64327c26334546d067327c3e93a1f3ff76743edb59f0d9ceeeb35d039fed10f86c27f7d96ef9d92ec767bbb3cf76609fed607cb61bf1d96eeab39d55853c15f5982e007a435e9fd11842a3db4adfa0f82041a4b772d3a617e9020b7c6dfeff017097b2f94fd798a9400d05699a740234a90411a466fe852aedfe3f2dc302ee3f25b3e14d968e49c570c170530892bbe568d15dc6ec2cd98eeeb2213166e3324c1ee0f0d611057bb9db5d39971826ad8b79d3f8df7b9f7badb3314bfc4fc18809f4bfc7b8f22deecd484cd7278d2f079bdb68c4b98dd6b6bb6d87731b2de64f953ff56e75476143c725ddb2ce9973dbb8755b8cb99ada723535c822a347dd9bcd17e65a8db2665a6d7777db68b37d63b507a331568f63ebc66e5c4db34d1e4391dd9deb7acfc17330eb6a6652f72d076fa356d91ec7750b85719c9385456337c99bdbaddd74ee181bf3660365b83400e5f75e6b9b9baca8b6452ed7879a4bfbbf59261b9711ff2ad7e6d3e96ea9f1dbcd5b7e9c39a78359586abc9742e1575107d9ba8442063830c6bbaf7bc33112e663d15d1677d6ac3f9b3d2d4392ee936739d45536adf697bf30efbb73660eadc2ecf3c9a648d19f9c33f55b8c229b50e513cae3a7938d7bbe627685c4ff93d031ab5fe7ee9d6d771c9fdb68b94aa0ff57c75ab880f77377b5858be88ecbca0a6229b90acd75d4dded4d369a4c4e7dfaa5822c05022956a4d4fd3f0c73e450ab59585278bc164639e46ba38cf10959531d283e47093e11098512f208c54cba06a5eb33149fdaa2ed26d2c96ef8f99f7ae9f2ff53a903ff0b1059404d048d363fb113f684ed3bac72b8b9c98c44054e0cdba21333ffdf9d3c874e56fc7f4e80cfffc3d0962ef64d2510fcff8e412864db309b36c0c5089e3a2a5d721dbb7b9db04e6b215be55f04949c04cd8b785917724221064cd43893744cc4ec9713fb90b75063bbe576597497b56e0b3532393251d5e88ee32db42f79e0552d7d84c1a277ada71b6740deba72e5eb26a14282054993ff9837fb1abf5b8eddcd1d77768d778fb7181ddb568b162ee6d8b5b6c80a3192ee38fe3c81a2ebffa3cd74cb849e5711405b4f36ee4e37ee8128c245c4d1bae62196cf71f2736cfc1c9f416576eb73d7f0b9477d8639c1943ec3799f61409f613b9fe13b0b1fa0f28f279f7f403fffd8f1c3c6e71f5c9f9f5a3e3feb3e3f817c7efaf8fcc4f1f949fcfc44f1f929f5997bc01b7de67d3ef3369f399acfbccb678ec0671ee4ffa7f2d5870c18f214559c089fe30e7d8edbf339eecde7383415aaa65cadcfee88cf2e85cfcc4d9f99963e33137d666ef099c9e7333383fff7f93054a8c2a064f45989f75909e7b332cd67a598cf4a073e2baf7c562af9acec9f95ec67a5da67258dcfcaadcf4afdff132e60d0506595db439fdb3b9fdb0b3eb712b4613eb70a7c6e8f7c6ee1cfedfab9bdf1b9ed82d2c04afacc1afacc66f099bdfbfcd6e1f39bd4e737df67374c9fdd227d761bf4d92dcf6737399fdd2cf8ec36c167b7309fddb67c7693f2d9ed80cf6e749fdd7c7c763bbae9f8ec66fcec66e3b3dbd76737aeffb74041ca02052085280a545240321e9fc9ca3e936d7d262bf199ccea3399efb38d459f6dd4f918b6c612c85a153540f500a01c5349de5cb90404afa28238102ba38042460e03338001210a42005a7bf4278b9d3350577b12b081c64f894678965dccc46810b23145a24a133d4f31a6107d00ecc4d88064968343283d8d1df1735563d30e29577986ae623020098aca090aab0230e001b608a0210412031a49f85ad14413f408060e4aa0598012c494f609426a383c002f79462916b061cb5a9080679413228c1aa8b0b3e68a2210192829d022b5863f10e68d07173c021304f4aad1e28d1c4c48e84c88068a5169ce9c0d524e68f46825305d0700528bc34157002030a04953837ba92a94c1d36a72ebdca89a93e7cc9318443a60ce6a74e2d040880b1a8210097910c74a041c5a812f4437beecf9b0c3cd2a96db11c40b7382ba2a59d49254e5b0bac39cf3815623f64754fbd6d83274b0a3c61b4e735176c61d3ca68fd1230f625a4c5d6213e5ad0225c333b0748b0354903adda0d2e6e5c62713569e22185199615ff0e1cb4793314a2cf5df8e277e8874e8a4e6d53dadc013b302431c788e8921aa2142d00061e0c5888e08aea025933476ac0cf168a00e9385a3903b386b43673ba4c39b8b3a2dce4ca9c9a22293524f0600d042958188009dca40d09101448f611fe48c58f1d0721758699b12d2795363cceb5382830458503811486cc52093be300b4d084ed97dc0238e992731190eb2921e933877599026093479a0806a03b70a04bd49732a385465da824951de9f34389f0b60f6c93455b6c1912a17f853a54044a4f41441c2210ba0c1a20bd628c87971e8a927448c8e5772460cad388140b4b88899a374ac9b42f429f107044a5b785804787335614b9307c0bc29503cfe8048e286cd8c342f1658016103a13b39982a7cc18253443990803a5413c24ac507952e2410411d9a254de00ff69c003a030802e3812b0daa6cf9d124671009b80d644c76108dc7b021422a402be0135441e81863c98a29836de58166c4b2a16946d5a6311ace58125c6caa98b9f4411084231ad2e07dd015347b90887cd8d24437c3c4872e4df2988de4f8b62e21e4859b8db72a09a00b6e9c0c62877065c0336c93e44503565dd58f4cc0a8a19e87227ac42cf178b07466ca05180ececd4db281b10c4337551aca8ce046cdc58021a39058dc9d475719b258b1202db63da572acfe04c04d72f520d6731ee900c118518d2033ba1f7731a8c4e83c58811b71902e2dc150c786550319ac1e7d48e04516a84566e28c166c1054a1c395647b29fd9131e02109161906a8ee500d4184d080281199e40f3e1b348dc4692b05f617428176c0dda1916920a78b98230e992e988aa266498dc40a4a2b40e00d39b5c1141f3dd6a6f4307ec04a64dce4a6c50a8308444c60bcb8c0e4750e8e3c688a71307292c2428f54113d841240e4005794db542c8490a11160f49048119d04f547a46405b2b4b945c211272ed306a60d225ed85ca5f94130e6cb091801b0244001398e1aa498a27a03494c23bc445d6f0350cd0d2a3240cee0c28b1ba23b81ea3873f8f1c387cb06571ddad48db132c441009999b23232266921906622786ba3c70ba140830400c1618c226096325c0e90912808c2cc59b327cf980b1b9070a8c056e7c09c286b9cb20c38824705e2cbb12e2b023336208061e3e29152ea0f100527b8401878a62061fcfc0f43194069a814029f5aa0cc92203e146ad4bdad89fac001901b7dd480e8e0891c3b79ce4c0ab3a46a02a917ce25601b9bbb433eceb5c44d03328d89dc0a402a528cd99056e88911f341a8c8096483e745a63710e99d3719a25411f19408b61d1155e006bf3956410391e14f8f4c0c1f157040310603bce9022e5e3c1c50c0062462cbe39929c0b4341d30b94085c722cd5876c4f28ed0a4dad396a698c14c0407b040c8c08089055119c6229110d4e19057054b260280c9e95422089017497ba89a2750ccbd618183d342972c9768522b392bceb469197933097912c9cd90cbaf838c10b2404097772382419abe9c7932418c2acd02c6e480ba3276743864a0862056c78a7864012d15d6b1e38e0b10e11a0d5f1ca278a16013900b942c899903680e338b85a92c063c09c1ace836458c00288420426265388fe6d684d831c64bca8b333d72ac89e0ca03127ec2806931c52c040c3ea03193b54ecdf8b39730876871f2218725271c5c09ca646523447ac34012ae1266f88bac2d6b573a0418e18b0436966eb4061de08b252c4398f1c002b5e3d5f04cd44806032a0a448078acc0b0d48561ce85487dccaa40fae264c39b1a70cad401b259fb32676db3d5b84058ca932990104010a0501b80023304741902dfde54095307c607dc93b3353c69271ed8a025418daa087010394873084c9144948c2066e8290d022c9292a2a5a207b9630cb34a111a0a17aea409094480a1020845cbdc68c0c245ea0918891e38404c4942c1d372e68391396969f68ce1f2a2f4ea026221498f2ab8879e3d6162b6345a1989d921eb2068b890696cac8f9425226218c2a3a1c3c9071ef6443005d0923b152e12bc3b1858bc885195da6969e4667545c4a52f87b208701396e1c895245c545ce9417a3aa1e2a2d08f053c9878c32cca1579b3a5d05850e38f854d5453aa14d1824475350405250f1c21c9808d9508431045db286ba14a93b81a002384d42188a10df000b086823f659845eae098d0854aade0e8c41f281130d2eae10851f525ca2a5a9768abc90c430ca8197a51e2a529e18067c9ca9d1dd99b015fd62eb44180848fa90068da32c1240460a09173a928030ec688bc6902258a98948eb01f50ea90e40d13c30146a2481ec2825e80d035473027f49132853cdb53e981101a350f088b5204aa44a10c04918d32565755ac348203e3450bb2956e2b4c23ac5f5b68b15acfdce8f7cf28ce8bf2f2a238a1d0879f1fa41694e8ec50d13e7d636c06b0c4c7caeb58e70f212057bc1a65aad1068a96455d7563600a8e2ec812070209703a18722615a8030b2e7dad752783bc602a4d3425759be0738e11b117618e5a68e08c555422cb418c8ad3db3cfd089e3193e92ac607af1e1e2b71be6079a3f13229a093d9314d10a425274fc93032ee8055bcf0d862c1c72afc0ab15a3102e303377d42e0b1796f7a4058c044f0c2334f6d25593448837488cea4a8c9ff6320472cb4c82bad531da0ac3a2b4c747580c205c8f0841d426ba91815005b157edcc9891ce5441abc32e484c2ae65ef60c937da87ddb97cdde41bedec3bc7db26e7c9f5e5ebd309335727f4856ee80f3ad6b95bfeeee61a96eda824b369b645ebd488000000020000231100303820168b8562d170543aac741b148001508e6ab25a401b88e340c771ca10028c018400020400046060ca3001b00be635f3780e0e15acee85119f758eaddf67be9fcccf3339c58c6ae568e017f9b625fbf0489ac9eb2c017d3f8b8e299073652ee67a0ad7d1a2cd2930e6daf162ba082cd7d759ef24c08aed553fdeababbf23d577ec4f0ad04ee93702ae1ff6bc9d6fcffa3116e2b413c512c87893acc48087e7a4f6adb70acabc2f9579358e92c059e056e90ed9b1047e73115699e7a3c108dade483c5c1be3b7051bc53cb83de92d592f55d1e7c114b90f8d10e891bf040c69bcb65b155d66150d988ce1d2d7ac04227ffe68b38f3afe0a402cac7090f4cd2ea1e80934abd444a68c53095d458dbf1c5150fa9fc2a8e43c9b173bfcdb0cfd49b182a00cf020297c074f80ba5aa097c81d611ec177b2086f74fc169c6597b471bddbb4b983a13c9422a07072bc3dcf29e117d793220d8083bff3530a1621351668da63760a093b31e36d4307d97ef086db3ecb9776fb8752795972fbec3b7eb87f14d5915ec3a583d2dd31ecce4315f2ecfb44d07a759e38bc08f6f3ed0c14ce4298c1d4dd8f9bc705e0176ff1988677bda11d14aef1012359bbb4cdf411808625509fe2fbdb6f0f97d27003500b05f193f77d6ca35e0b02f183cb7c5ce3ae725a60c421f45276d31be437f08c8d0fd6bcc01b587ecaf41a3cc8999eae5d028ced9fc209bea8ae2641f754b73fb45e16404d7be40f5c268f834925806ee04fc02a15952a1f48dc7dfa1dd425e53aa798f4e8338f4ab54d152eae46a53e800cfa0feef8c1a3fe9f82a45d50e96ef90a18dd3f950710ba6b523f9ee0f3eee0daa55a39fd9e205c83d0bcde8956b6487924cefe2f925d76d292fe3a2c813d7c83ab7be87963f73f18496ee3221dbf2a8dee13a80c352a9ee5bde1c7329f13a2a8e98ddc73d6f4fdbc9dd7033d7f79a76e8831856db555b0791c1c66f6770208387c2788eedff36a40e77e3376c2b0902444522449784f73ec5f3ee06de6536cd5cca3a57df1a64d477d3f8a13c579791cd12cd441c838dfcf4cfcba74ebe9efbce1b7273815c4fb659131aca7fec21a3f9e1e759048e4bb2dac0d4272cfb46cf256292e48e829a8408162754b865475cd552076a7e63e9f5bce6cd37f47fecbf0fcc68eaa7288b9cec4013d2e891116581d1be84cbf9f9a46489daacfe34cfa939c742a63eb4b5cac734f61fe3991ec1a84951971da9c58d14c6689d876b8d2e56a7598a15c194ce8db4022c223388d9fbfdf23f301abc60bddb3595ee303aa4ed6b5c8966efbfacf0e8868daf1182870d91ab4d37a84e7b501c947de603c4f0eefc0baca87dced15c9371dd33a75a553f1187bdf8938e7331a27a9b2b37820fe7e64d604f7b74f3ecebd7943710511206a87d47b4c48e987c48b3908d78455e3036b0e42d1def20e1a6ed26a9ca448b3ed394f41f4e582686a9af8cd1221bfd5b3fe1b8b61456e6589a12dcb85ade31c18461cbe3165f984a1cacdbdd3ee0923e2297210e46f61291f5287bdabaa88a1f434fbabf033a5f5f4a10f99da71243b9dbc6e724753bf3fdfd5fa997f75b883d3797807f9b8495701401cd8444fb4ad85e920b99bc70fde2aa7124b1f8fd74905937ac16786e4de3c7a6d72d32bc6c2d7748374e063502f7aedfa532932984ba7b95f974c72df538f8be5f99928fbe8097c89a2830114ff7c3233aec892f752c031d83cfd66a75beb473fe2048e2619a6b6216351c62ce9e9671ef1bced5984c192c464584c5b788882c66eb8a759889d7ebf22729159ada75f8d8e63706a28ae06256d297292202731b6cd588cb072fa708dde3b4786029e0ca43f379dadd3024fc165e5a2fd1a905f723ff5994d264127409bdc66259bbfede7fa9ccb8894ca144bbd7996b33cd8fd98a965771ff4e329949599ff34ad826b8f251abfb2e559a2f11a97dc4864be577ff392bff33988a0bc5737f864ebdfd252acba11b3e6242fe5cfea1c8176ca9ea4e1c6dfa264efdb1740c574336fc52eda989ab41354f459df3f60a6dd9d7d3b2fc8fc1ca401cd1b269b33a1046846d65b17a81c4c642b76548c6ca9bf7cae6c4f1d5b33311a78e89ea3510d573bdf0fec90c0fdd11e8c916752691a558a5b190c7cfc753cb07cd83bae0dfdb0abb016592a2a486fb2e077480adb8d6be16e167165f94d89c1208b1725e914872251634b3eb66467eda1e84a04ab7918ace14df72469cc64d97dd9d43f448fd5e5ae61ca39fcb257ff95f286af0239e8edcb1244cdb4054f5d6efb0686184b67dc7d169a0ca25fe8a948d0070fca53f52f34a0dca132af7042c2ca07f0c071a9900297e826e8c2b11204f7858c280c898970f37c6420bd86f8caf053753e1ab0cb875eb345ffc12d67798ed1b27bd964349fe29ba6336167de59a246c1b973b131f28c55da6e5c26cb81772a6fa1d3aab2dc56d5ec49033e1abba7fdafb17cb262c0ad520337ac3d2610147b8cc2b4ffc3755c07aebbd25a2fd78cff19cdc38585491c3af0417875b1bac56ec6ecafbbda9c36319ad6e85b2e1059a76e8ef95adaafa8b8b9317f6aa5e732c0bf080a65f82e38c12ed6e63024963afe53d2d91c775816c0edf7aa3377be24344364f5e7ed539bbcc3477a536c2c7dc105308b4f8e9bf36e53c49727473bed894bc6dca378636aef54328e8272bcd9e7341a666fa7b821dedb1954063efc599eb7d158989ae466785287bfeef2fdebe29b5c1407091ee08ee5a6a3d5a085edee6ed0a2087a0ce6cb26ec1a31f821f02892cf8339835716e5fdb97c7143c51afc51f45484ca0ffcda5055359eeef01f2b12a48ae677269829ff5a83d4663a91d0e387d6ab22c399e83f72ba94c128033292d45f453437aaf9b3e57202ffb148d4d39a9e026414992c2e9039142bbf31998878504cd21be49c9f2b4b16f802c2630307334b9a640e0ad142e49a0e8ddf05696285dd7ae699ab24065bf322cf5c2a7eb7b59cea01a747e762e32b283798fdecc38f3f3c77b8d5dcc1cac3601a398bf1edcfb927e684ca6508d1e9cd8f835698317efefa21a9fcc58f579f87d03dd5fa011a317bc22567fd9f6e03b99c7d52ab7abc31e07b9daf0dd3d23e5a3ce517675a8b9adb2e229e68d524581a224031ed07ccb3ea65cf525b63a9b3dc4b091cdec0aed1b30749e7d24ed02324e858ec73ae7a74ae917a7e09e0613e3c43f68e9167cf3867e2109c8f5cc448e7045847d83eac046e83dadd1b890c507ee2e2537bceefa53706ff0d6e16b57787af7cb1754cf07ece147d74217dad709b801a47f38cb10e360f3f53f86ffca19860dc077964c7952d5fa80b9328bd4f58dc7c75fc118ccfe8f43084d362987a9ab9a1e021136691a63884a3531ce6b42a8e06a2a3fbad8fd75d6f2cc8d02285a95bbb646bc8c0945d11f3e080515b1a552429a178a3bc89299055c165a12d77fb5d264e65f05b41a1eb6d32288a386ed5172a37a268879c7ef2dfe4f436dbef85a1fb11bda272e5b904757cbd81058fb0db3662bd421d25cb1b1f64ad842ef10087f139e9ca68b629609472e6180e9c980faf54e50823373f6f16dfdee1536220d42c3f6ad91c142b6f0db993fe6b922be07870355da82130951800afbfb3083860af587bb64736db3f703f44ef886f82fc42c11dffbd64308ece88f0df8fda494d5013a9a1fb0c8b3f2e111d5903aa0f2eebab263d041081d7b2095fd2e8b726189a7097f9bbaecf8fc69f187c7a11451b9deb67c8f31c17fc052fae62aa170be917f9d5f18bb9898701574f4361d640a95f6b2177dc903b1cd798e6a35ffec741c70d378f14ad115585a574e4b06e89febdec3aacb32181c63be0ca82e623fbaee55ebf76c6299c40f09f58883d612875f8a6368b492b410aa69bae3078224019a27a9374a67592223da978810b399ec111e6eeb2db294a2c736384bb3843c9fb9c17c3fd66eeb8728f2352fae606e89a277d351b06ae60027e6bca462c58c23db80e2b0aa77139cf3a5713496002e4967c7cb57d7a0b914de357a0db69bf8f65deaaa55f23d7ac5278282160281056ed6f28c439605a67494ea5168b6290a2e5b8120b50e6ca8aa87c7c87d0622fed496a4122e0a8ca6e5afd61f839efd4e8ebdac268ac466b148b23715c87721a7fd9c573f74b27a60aa66d0294faa680ea01e0ef541e435c915a4ba58c5e1cbfa60f14a918d0a41c70a6ee23a26e5aa4160da6d293cafff3312eff6a88592a76b9f079734912d613a54f38819463ad7ea1eb29384c328bea56fb4f1276266102abc22235d5b94afb81e44c22087250d05539f4ff614943f172e0123ab0beeedd7665d2ebfa5a5ccc369b7c028399e82491190dc6bdb8022deb289b8a6c2dd798c0039f4ef14457587806437779873392565b4d1d88716a7771e0af0d7d33b0f27e2c996891c6da5cac97952593fddde4d2a5d8dfa59c2d9fc623342a86c10b7fc93fe93c48f91d6d91969435f03ce8100e9f6fe1b1faa0bcd85c2552be9837703ac9d70b14741729e87136b92f4eaf9956afad6d8092866acb079a4ae1de1f16e411105a765f9038591543a6293da876a4e95cf8a3e77144471dc80867432813d1219a1b499b6f47196780454631335d33c2d931a06eefbfe79b9c041e82a14fb3e8dae52e257d788bf2c16c363c5f6eae4fc55cd3d41e8666fed93c1850cf83ba474677803fa86a173da0cfde9c1d5be5a951c69fa5fe51ca746750418c5d69312a43dad4dc99d3a3ef43a5d7a06386871035a0ccc806c2eee8b05c1bbceef9be5ee008f34d429bc77885f4d168fb28d6c0898a356ff6a05ef7b06b38bf1a51061943c24bf57601162a6dd6df81eb49487fcfe223295bad093f62c012691968c7ebac7cc43858d14464c0fee1b1b33c63b91b71c57f377092dffd0d508e7f87df41b97bba222918cd736c85699664b80f89153e5c0fae3f217aeacc8c417d712062ad300d8e0d8e2980f52a7a84e233863d0fedae4b352e18a15b0f87d3095e99d7eca7b8ea2dfa4c26b4e23f729d3c1d5aa0d4a0ef3836b6b6fcb52eee7f4a3a0ac215a07af301565e514b0c310e0b74c364990db412847ee0d1acd7d94597adf7e06dfe5882085347de6ae257b616e6ff85613396a162207ec2816998e91802fc14317351bd6b146d0f9e9c779fc111d998eb60fcc6ca28d83ae4d9fbe2847ca3b9ae1e061ab3ac7219c5a198e6c374642b8567648d6b48fce9604ec27aea4b53e58ec1e3199bb68a8e818a1415a8e889cd4a5f6188cb885f3cc0d88c1a2f36a3957321ac4c14708854fc00936909d15c4e4cc99f29361a67846116afaf71f24a245060c7d8eb0c3991b2ec39b9b26d3506a379b3e1d43a4e299d2d09fddd1651df01e21ee87c5d4ae1bba237d9b5f4788df05ad0b96be8316b538afc9e80b84dc56bb8383c5507bcb5e0d9070a96000e63abc80b799e87e6946881be6423a24d00e1efdcd2f12e7f80fa492099f648466e1a52a15cf301cddd6da3c14ef391ce75e7a6d408eff7e76ba8abf313a7b0acf2939abca05c0abeb6e51cfc801c82778c3217cc3f7afc9b0ce54e7a11d03a7bb9d45cf036f596eb997f242ade7a56eebf0e6d1d9160e398feb5de9f3e9a5c5bda278d2d0f7ee46318289f4341e880b698e3a4fe0b1e60f8e525e51584d7bdfe101f48e0fa64aadb5dc499ed713f037c37a616277680424a9aa9014fbfed464d2b9cd7ecb041f301e97f0d6a089884ca43396b63ee05e895407b73c052718fe6d65b45528c4bfb9f2f2804a6d17e4ae6b633a820e2da2b2104b3abe1ce908ee93ca964b010cd0099c99910e47540e355ea7094203a72b30dcfbca8d9a794ecbea4e73b04dfef39b7b02b9811a1432d2b36aab0c8fc8ba462166df1c8e347df7d58a1367fb17de82ff1dcdb7d9491cb4e69f7838310cab01713537f42cfd6c0306821e788ae1135ca8cdf523ff653243e82d5ca2fd4c8f481c0ac1a8a5a0d7300ced316cf2bf269f0d91e464edf3bc7bb7aba19cd20e74047718fb1bc0e1a8ae6b6741aacaee9106bcc22041ca0ce08265920144a61aa5f68736f059905b7564ff0f73bc9af9edcbd71c75739058c582c65cefe3ada0e45db0c3691acaab2bc410acd28b285960d54caab8bbcb4fc09b7ec524faf5bd625215b5e4b8a95d2627033b26cd5fef4d285bdf992eec5952c10e4535ee751c0325b220e640d267ccf90ae20284ff31a20c24f052208d0d13f5cd6f437a558c5a4186604fa7f001e85f397a29ef2b8fba909fcb9d4a64ebdbbf3b2c6f9c1b713ea9f187f9a849ea098abfd9b186fe48c79d8e24e09a54d2cc395cf13a5e10ffd098fb0e04408c3e0f60a997b0615b18f9187dc145ae46bc2eddcef1c96f751a50d75a71cf4f9e30cea2bd58fef28c6781eddffb522e83b00e8de78efdad3df193d32d7a2f9ec9d0b137e8f73f646443b84ec5b6a5e7a27e8feb0d3bd464fc87f81409616876084fcf7d1ff2df9f838dbe1f6e000c2ddfa9fd23283ee13f08dfbdd707df0b727d7c209ccf2aed8ef57e15707bbdc72cf1269ad97ef9b05c3cbd11df76dcec9da6bf376931974a9fcaae2dcab9f2e8e57e4e535e7b8cc5b7fc9776adf82e5d296e601badfc45706eedba911fc193d19581cafa3eb7edaa17d5fb5f305617bfb49fb5b05f2f35865c728ab7606b1aebd991552027f6aaa9589bd9bfb96092acf05f430ade8d9967a0ac6df3ee4d996b4b9e485b5b6cc206937679b6fbf6980df36245c0398f240250c25a9f9efbe01193c0ae95f0eff408d047dc509a49db49084efa46fed9829021af413e4ee6979889e2e9c8c8c797a5dd5c5e2d564ffc470202828ec97dc8de7224df64c158d0720aa3b3a82efff5bdf1d0be9b1e50915360ff9431a066e113fd26a699ba4073b86d8f7d2b937bcf310355facdf63a2dcf89605d3937a67127d3c597d4d7fadcca11e378fb3a600153fd33948bc274555f02d71fe4b16b1ea26cd6ca7177f935e6c914fdaaf133f6b0a7004f6c9af9bfdfd41dfcc28df467a7514a323ed3358b5f28cd632bb09f95e815b15931e79b259de8107ab718d2f617546078f4fcc5f01e1ad1abd7c7893ee3ea428e44a1adc168513530dad5e70d20cc5ab22903f45a3f229efb7cb74268c9cbf0acf79bc8122896a19de9455133085672872609858b44d4eb665883ceb778e3af7e16b6f7e1621881962c53a2b90f7ddbb9f1f1f4d94bfde83ff339f6735a9f752ce0cd70ac8e2a9c6a08052e6bda80e5c9fd0f0cf8a7213803a524de6b6a345c2623c51b787908976a202dd321dc4915980d0a5ba102575228200ddae709db7b0a87198083970b2f28cba73f021f3ddc2d5595d3498c259401138859c1b2dcb98cb4b1b341333dfa8b1873693d08d17d76fe805ae4c5c91252b8d0e1a9cdea371ae8b205df7e9927d9c5394c104050cb79579c663b8aa0d38c2a159701efc083486642a66216e2b2a625d571893ff9b723e5aa6af83c91533386c4f9770443c803293afaefcf0c21fa4e4d5d0b09eb4713a1a996665f526ea971a54f36172157c600435dc23defa0bdb3769e1158aac9611ca1ed34ccec122f262c9c090f865d81a013e216220ee1bdb054c39062b3f7711ad7af014f1c5893f776214eb761af16c3cdaf08ee49fd5992ab156682a8c0460be845610a4ff4931056040e0b59bd86659c38b4322b371d0f9474dfdd046337744f0578f5540e72223b9ee1f2e9a43b36a502ce6463f0b568bcbcde0c0a9722ffb03867d9350aaade4e142500475864c8da0964a98d86f097880ee9e4bd9ea6dd03d9d8afe2943bb054abf128e85bfbefa091aab8f31ee7468db1e439b48c3cce194f79cc52fcd679ec62bd4bd0baa07fa7b1419efb92203f83de5ba51c68a602af3763125eeb28087199a4b79f0c10574415913fff484950e4062f4de6dc531ac9fb320da5abc2f1c72dc2a5670137efb66715fe12cff90daff6a7709c97a4e38dc6fa5df5134b29f4f7414e2a5907743c477c998ce0979fc91d3f80de680ec9f575a0e44ba808244a3381604c51622dd63fb85f73853120864fbdcf37667c478ef93a62d27debbadcdcea28a7f8ef2b8374ecf1d8ff90a3d2164c4d03aec213e6b4e3058f14dc8756fe9fe033cffe38b0704520b9cf9c468dd02a7a19828e9e248a398d315211b90f9c5d046a994ce909bd46bf23704d66ee92a09c21c84df58c47eb9f1e84af12d1a5af7cf87b3520e27b820623d8090fc93d79a23bf2973771afbb378acbe157a72b9134837ed7e87b22c410a03ce049a0dae46c4441e083cc309a1e21fe509dabf2ea4d5ac585d48275721434026cd7ec9db73da62c3e62cc339127943b53a137e8a389101415003a2e9eb88ebae9d3518cf27e58a5a4070f5abfc229ff8d9dd51edb3a620696823cc56d09407ea838dea01ffb0ac73483a22369867272cf27020635a66e1000af08caef2f025c6c857191908c54a43098d90eff2297de3b3ad6ebbf421b9aa0f63cc785b5af4c6fa8f39609f6d613495c30b85bebfcac8ba107282f2a2ec92c66b2b2081ae3ef73e2c14b2eafaf224a7a83916f39acb5a295bf6f7d4e1201bc5b1700a2a986a46efb53c2135d190c480cb287f466155fbbc370152afa0f78516537dc9b0e681edde44e81027fba1b33725f0df209bf015e675358cd72e41f19d518a3ad2013a16d3cb498a23eadfde8c0c7df120878cccf5f92ce62fa45f5cef9585a83ed1013cd28b686ffc0b5e03659371b671421ec641ca5d6b252c306bdbce2685d0249749286e285d0c4c795a38af3c8609fdf3a81ca0fed5d3a4bed93ac6cdc4bac759157c6f7cf7dedb070634f1c07e294d35d348c7b2816d49eff08da8077bbb9acffc2e1acb2c1295e57628cad31103243bf1f28ec8c999b4c65a6b2d34cc0bccaf83645a5080b8eb44eb26c29247b0f0d438620b4e68c2b65badfc2f17d051cf9c85425f25e9fca3ac97afc013e7a678fa1b22401de91358e0b349bcaa81e0df06ef06a37b7f698d956a6de45f79677043c9b2c7bb87a7eeec68467ac23628ef60a765fc2b44892b867074ca0ae6cf90110aecec67e60a6e13f8b8028460429e8cf896bb51ccf358545fb8bd394cb430c8e437fc09626e7293970d60252eb4c631e74646369ab004666c5e32e4c9451df4fdcd723f3b5e366bcf0e0881c8af370908cb6f5c25f1f3675e2ea4e790c65c2c34fef8bd366daa789ed89d493afe56310462db8e3d8435aaceca050d7dece0080e0156bd76334c2a0b1c804cceb119fef53be1603de404779f8b43c30691684a9b0a32a4c446860c89694fcfe2f1419c40a091cb795a9b2e101bbb1b5d2f44c1d7bd1c9b00e6ffa5f72487d99cb8e5fc0bb2344a10674341214081b276120c782efb0073e03c2a2de30f20f1b500aeb4f08bc9dfb4676c9477322185506a0388db8c9cbd1da4dfb880386c18013435fcbf4bcdd13ec9624245fccb91ab883558f15c85874901f1fb70208b5c1334eb0126132fc992b8dec5d410b55a0b002e950399d2b501fada5379f696aa0195eb16eccaf893870c717367e4d44591a8f563a6487158d41dcf04bfcaa4cdb8714e17638fdb32daa760ad4379ae10ddabe2ae9e7e9560ce213c3e78c7021c2ce1beadf4e0443136635aa4fd8fdd5dc895cf444ce81e94b83be568492a510184bc545f265dc44a7bcbbfadfe8221c2d0c16e18f14a3c97481a977dc37f4990f868464b9a693ba9584b25ba2ceb884e349b66c1a20fd2512795a4fec8031df9ffa81742171e098491c16e9369258017681e689b52e0b02987a1c8f25e5cdb6905637f9a2856cf36f9f6285af48ee2f49327bab30e9118978315c913911a62cef6ec01560d39a503cb91dd944d132f64a3d9214a2aae44d66cdad6d31a2f4c086ba16d977b5c7735acf14e8e1a5c58701c4e21703b43c532033c022292c2bcaac95166522beef7bd2e6c57b32273b100aa7a69ff1006895c96ea10b8b5decdacbc89d6fe5988a5c42e7507d33017728572bd2ff01fe0883b65415ed89da96ea47c71720ec1b7ff24d34fd092eb0ad02b757b1e4b1f3b5568a18e7fd091fa2571fba9ba4bd58c652d6bb069160bb1110cbf6f4c39a3804e021ca88a12c28b33364cc3c51c25e51d26e40797e2f26e3f188ac15c4d9f02299339e04edec3925b7c75e47ae776c7443c38c1346986baa4be15890e1523d2ae2ee0faf78026fe284b6de791ec353eb0bbc8c6f217cb289553439dd976a33ae8082accd05a873fe707f5c034cbe2fef0d151314b37be9b1d18cb2372fb8dcad9469f58d7ccacf9a5395912aba091f28bbfd0c93d1861b5b162da96328d4d594ca56a490ca1fa104533706982aa8ccd27c1281564daa2db8c83d1db16ae532802065a25f145203de977c84f720a39a0cd295af1b7ad10756c98643521eb9e44a4d1c01ce86ce020028ae5bd0e4450556d5db1519144ee92ce77efb7fb2ffaa6f6faabf4894aeaba93d158cb3fffcd859a1b453e67d849f406ad61381bf1275fcd4b4852b92ecbcff8967c012f07f40cdfc57192ecab124ca2a4abcea9a30b3d3350c819d494a4fc1122163e3d534549a8ec82c0bc45fe681ff8b07ffdda35b61e67cfdb834504c17366bb019837e4295c9ae854862da107c633045a9651f5b4bad9d3c0ac25d77be0d777844399135ad6bd00fedef9b284cb9f8cd8579d0af814ac645958233842941f2771a79a5d6b6ed9e7b1e209bfc6774947ba08c9120f24fed651e2ee5ae0a8042b99d2d8d699c9a03cf1833f7b7102121594cb03b11383d23623810aa682b92269da970f030ad03c2bb4c79927fa2e5d1089a22793731fad9e43dc21a10add86a829408a7ada96b975174c67134265a92b9b8138c8fa2be21245503c00103c187870095492436bb8e659a992c36f20a6d979554df77e95818f5a0ac11187ecfc6ef284c197a7bba6ba3490f9660452b4f735afae7be345beea1870b4f2b8d3bfa0af8c80d75b75f42c2595cf5cc8a5334f69e6cb4afd484c9800c06e244f6397a58a1ae58583a879215e473965bff07842465f114ee3858901ebb7ab326026fe78e22e1d58c1967311ff75d24b6883172dd071e73197e665087f951cbe033d3a91f31306354d7b1fb8933b744db8c97ee142f5bcd6a8a8d48d1db4aa47860ddad0c074e2132411dcda4098dfd182f9d3c78c32e881ab9b5a310d6f0a6e57b2fbb9ecfdec88ab9765974972da1333730e149efcf4f3c90167182fb3dc156975b99dee4ebb0c8c3d8404871f9d6c9ececd96d7a7df678042c12578c4cd2eba538e8bb6927850de3a51ef5473e9e9e2bec60db136829295d0d0169afd1d24405335f7eed70882216e49114ec420888c9f0f10c06a406ff9001c27d3071762ebd044227d3cb7b8b5db6a9de3b3641ea8e844123db30c790ba664e96f41330774e25e3fc57c7d6db7f80fddf929b4fb56652cce8f4407cbc20b75a145147a72f6ec2b3911f30c7a4342fa37e8ced5e2f33b5e8338f4fa3f76abe1686e9383f73b15bcb22d8e7a2f9eb55e9400ea7f6e703c46d65e4b59127b4f21ed3e8c20bdec6fa90e80a2cee41e8a92fafc5ff17e919cfeb187ef8a3cddc32cf0c9d1dbeabc518d329789a202c6ab03ad0996839ed00411d341d00ba396397898207d029b38521c168724749392d7d73be2c2fe776613ba5993e64274b828e5c665ed66dca7ca0fa84535c35e6c06b681b45fd188018dae42b79f1458af48143624209892c0bc8f6a0e1e43d06761f76d72b8466866c0fa4af8377027b202b3160b1b646e6b9862c64214585948bc5ff47348128518ef98cabe291c4f91e0e4fd7e09daf6ddd40231d0f21c3a426cebf04a69022faa15f40286268363eb1bfd6c10163d63d1170a610c0824f71bc10d24c005930b3b04d8f82f07f0bfe02b52c7f74b4eff3a96261cdac24f1f9226657081ad8b32e1f0f08d591b4077a3da0027a56e5e361f6cf5fc75c6bcc9d8a2202d2b1639e0c75640272e1c8115959f317faad85e7c008c95dff7b1ff5b9cc8e70633460e15e85f0656beca408768a54be8269f1c9a36200c2bf06850b5c53bf8c981427f13bfaf1adb3e20302cff3b8918a136d3bcd33df019285bc9a3429dca3dbed68961f15f9d3a7709d5982f1cf095726d7add387422c1bdc21413c70539417704f985a7523c85eb5eff6adbc7965e976a166c0b3145a52401c4edae31ef65ff8e3c369216df147111b87f7dc31f15b87311db23b5f5f1d7eb570224bf08ecee5db6afc074f9b6661cb08341f2fd44fa884c03703ddf2f5ef4db95f94796697b302f844b6c110077c6636e88300201b0bfe1b1dda426d317f88d55f51392c33be37073515e4d1bfbdb307bc5faa4f689a6f8ebe5bfebd7b7bb5cbbf98f507ffcefe4d79adc9bacee7c36bf05f8c4d7914aef9539fa83b2d992666ca45ee9936827cbdd80a7f4451274365032e3809e373f6e7a3ddce5428c1f5c511e2bd4f0d857ef2b9eb9b36ca0d8005c3d36b825e298324edfb56954f7716a726f9f2e42faffeece1382d1b930bf71ff817cd4b50a01b291f2d5d8177dd989b53062df03c7fc206238be58c83e0fa1851333ff70307ec8ce401da64d636cb5ed6fd6c49cb213b4bd4b502abde4322899a1267995cc1ac597f16945be9ed6b54bbdf8f92a32cc1520991abe84a5815fb6c79cb27c1fdb07c5ef6902fd9427d2f571a3632468b4d9de052b8778bf1fe6f6137a1dd152f30cea5bec26772fca7c297c51e97862e829035b257c3e1fce2e4f5c4d7e1037754b8745ff7359841360165e75b8bc8e9af4633afeef6c1c4b988fff8c84998982b5f49435fb362f2da818365e34bcc2fb06f77f79e439cff78160dbfee68c67d2c8dc8fe724c451223193957541c19854df60cdba33d24eb5cd2afff4a2bd44359caac5792203e5838343d3bc155aefed19b3e9e797086ad1592a05065a05b26acb56ddaf197b8763eef3886bb26ffe8b671d6a9ca4e59b8ec0e083f02d97e81d65498fcf149b4c0c41c3dd672c715efce066704de8207f1989d187fdadd72e10bfd9b2a9afbe5c1c9b7f66e6ce40176c01c553846f3d4df17c9a4e9e946fcd3c7d1e1a4ece7859a8a389573fccf0827d481fb2caa3f549bf2d896d14ce9da55b0c9baa537331351e98ef6fb0be5a5598fcc07e813aa58c0649bce299687cb940c99d2ce00b170d8f37852564f9b1c14a4499dc6edcda8c1a1e6c6be63611b2e8a09427d98836e8bbe5daf148a391dfcff6477dffa03b7ca70318193287fcb6b99ead36be82317a3ee177ff2cb37e632e5ae0289b6c3cbbd711c38dcc7be83acf3d1132c7869fbf01f95751ae7eb4daa3085ff20b515f98696cfdfa5277a87e6939d0632cb10a38a16794e678808b7542e5bafb534e0d7bb39d363764cc48c02396b6d7577f7520cec43f35c9d35b1ba44fd992668e0ef620dc993ee7e3fa24301f1e6935cc44904cd12e7c1d278adef5f94b6eaa060bb2aa3b0445f2f3014ea5d6885eb46bef199255119eaa3f1a87d36de4d6c68b84efc1c7ced8ef81044df47313d2ba4bb3a04e7a2ffad35abc853f397d549a3440296c225c9c180298deed3e2af4e5848a6a3d7442e36c6d12aff6e75d45ec3b19a9a45c8afdec8bf8205fce23616150cfbaa565bac608541bd6512a9101aa4caff7ec3999e22c9fed2e84bc704861b7ee09d572d207371255cb58d6f878583e0fdcb1f66670e71fdf4143316117472d593db55f442334d3cfa5c52ba9c3b119b9efbb25b8de7b94f37aacf0014e3c19f0b23e9278eb9b649e796da4c776beeac17dc5bf7b33ac9867be2865c78b89f44505ba8f7a72f0e18f36c2f94065151237602bf69b3a30707ba83156fd5e8b13168bf974dc2e96007e8c2ec39519fe7c9b47dadd239a1eef3fea5e81dfe24d424f852d92f14e2f78592dba9357f960603fa0a4c1fea30ca162567d2b273c4a7632e71e3cd75325f7411736f37ce8fadfb33d634f2a2e4d47d71d4abbc39783524ba3f5c6487c6ae62a9acd855103751f543a89973ca3a10a8e9a9973a0ff2d65979eea9f88edff59c67a0ecdbb9d255d8cc5eea3d42a13476eb97c9263bdeb2c409325453a40d1088c8208361af267ae3a27caa16b27c23d2ca9e3ccef0ddcb9161a3a1f7944ca02a7df2072f020b034dc196cd578a1c682f36756b7ed6f2af6c68f01070d1b2b822ed7e07ebade392e166dda1c3c4de0ccfe79ba7e9830cc90e0274e6aed709d6877997b68237f433e5fe34b316117b66e8dae3fdff5ad4bbb4886f6798f7a1bdc7f74fb3bef425acd02618e5faf67f8c258210a440d007ea2675b61b2459ac7d640bab10a2b3ac003ea5684080be855059a0e878e7eddcbdb5ffd96aa1aae1acc6f4fb26c9206fc0458c9e55a1af38551ac1716e4d150ab51df3515791520c836ed9b3afc822a0f17455231b6609f7650faf355d37e83db62230c20301f7d893143f7c9d53c103182cf3a2b5d08456f9f8f9da153d5495b5bca8da085931999a9cf1b987cb266be31862d2c4b8eedb01a8638fc6a50ebbe3be4dd58bb487c6403351f2ca17bb673d9ceadda39f32771ccb0eb3a0a28359912a6d2049c90364e11bf6348bc6d4077638d78ec383c27947b8403f487a5322a749dbb9004454641c3e214290afb5bd95fffe4375a3eac011a2b69209f7b17746bf7e5227de1b2fb7cbcc2f0c65e4c0de649449d8fb5c27fed037253f972a9e50482fdc5fa35ea83ba88a82c9feb0778b0cfc9032ad6c71467229bcadc10bd34570ae98da53f77ff260be7df7cc720744feba898a75356cc49f6c69a65d9e86c733c3f9263bbb3a094dec013bec86434c54034d7d14e62520fffba577378754f737899cbf47da80134e958e7d31f5b8187cfc9bd3608406be908107d87b73372ead0e0c5756e23386b7e6dd09605f1afc847fa2e03e0c24498fe3017c7f4c586f8526c743e9e7b4a612bef312101c721782f2b5bae479ca5f248866e90bc6a9efeff35f266ba6bafd19e2b991b5cff10dec9003c79aeb857892f9639484e43e366ed8ab33402c43f5f431f3c976ff2030b123391bd9df04600f180898615f22e92eced229e7f0a495f8026bdc66cb3ff10b47e20693e78e2a56ebf976afff15bfc8d8880803935f11022948590e679801785259f3a5c9cef4b0afe021f105a4fa2b69a61a3706002f8e73a45f30399fed9d79f566ed54a3dd446c810e515adbad64dfae49f354e5972c7866b9bc1260b98b6d7047ef3a4f2cd79925f89b7a36cbc4afc08acada7fb0edcee96e95700708e5b6a1a97db1737662849bad747d0a71b8725d3d4a2f308cdddbe220edcf399642a817a35b55ff2ef87c15e228415013df61d900cbe88ac7dbac95cf2fb7f6806ae1efbb08bb2ab01cb036a813bbbdbcec0cd590f05ae50bf4205521a97f21e03477e64fb3d4bbcaeb2f4fa5ac205e2d03d7b42021a3363633025d9e20735ae9a958189de8f355671e59835fe147e4be0ff07bd46a6069b47fbc6d9dc3bc03a36555c42b06883acdad9c179b6566704c128b76911e86a03a3825f6e9a9858b2c12324fd41984bf91c15ab01594298e6caa68e1c349eb54f77cf970c3c05110444dc1f4faa252c16bf1e77ddc1b6db97941033f668fd80ed3602f66bd81078a5b759694510178f301ba67ce72a927196fa1a50d58f6ee77eafd9ab437224b8a31a4039925effa8f33dce60d98620645c41dad7318276903e9af20a58b2c048b3029809fb22c549974f64b66820bf28ec547dfd008f2d2eeb1d681fe7e687cba5db4357840343bc831f629c443d10efaf68a05035b78ba6df3b7effae6028cbb4c981cbd595111c94dd789b91efa6479dda10020d663ffad1b0df27335b53d18f87553265aa7f786d4c7f785b71db336536a6fc7e7f6ef00d743e5edf52b06c7e774e21cfcf3dce20d457de66f7d64cbc985d2355550329e4e53a5401a66fc06c3970d2c5c7a9ff796ca4a072dfd4cb06dadc0882d45b933f2040e4fbc920cf126d0faa9e08e04ca23ff6d37ef8f95ca60d1434fe0a445300c3b5a822d0e3fe4bdc984f9a95af2fb426f200d0798ef02198c02c835460f1a754caf472e834b7446793ab2ba635628f905ceb4023c7b566d9c40e6daf77e340cb43a8bea2e6a1d5f333c46f835f79f3a98fdef2c371705cde271445aa40e0d24cbc3b12f5e08efb090917e08c66b8a2e46f9074a476bad500d942b401303e03ee03d6b37ac842c98d609726b55abb955beaf2e6656df59e098fa33d5b7297b64ab05d145add4b9b392c8a45d278ec15b1cc0df7d3b8b792b3f78eeea0192a2010b4da19e659e5dec55629d2e033763d2f495c0ba4be0338395078d5c26d2c4a244b8431cc21b70804fa544fe0b8d654226381ff7a2f20a6a7affcc5b2c356f39dd021b4ce85a6e9a66d4a52b6cf17d0bf74d413e333f1b2786757e43ddd9e53e20017e43eca734ecd07492d16cf1e4cb05532bfce59e00661c341a55fc9c0c3c7a53fd492ff419efaa3423914b060fc84f755b044a5ae41c7394a792d4d0e43c38d98155a9df61b452a18b0ef52f67f1f76aa501b09fdb59951e7e875e26ae5bfec909354513c18540a7fd59018645aa80b4370ce7b7b32e938ca21fadb3e5c6581927076b352c860cef9e1a8493604cf0dbe2fe6f8268463e4fdbe270cb3410a7c6a1031ae559a7162c2d411eadc273f581b13f803831835e2f11a831688aab0ad4832b6abf2dd5f256303a057056c92a7f13dac9b9fa50c3a47449f01d56c31bf2747dcf17f9c615d4df678b2eac3cb909597fa7e475d1ea7022af3b9be5242a0c6e8f390d5dab4462ffe2631ef0f33f55f3e0892544e23727cf869000edb183822fc538437485bdf43b6c59c17104b1d37b65cfaa4be417427c145d07bb658dcdf703e93ced665c7377ac3c183734e16b3d4c3bbdece900a8e4c96d98eab1e9f8e1e6f377dd765f1d94ff21c212085cf3607acf61e373b26e165d2e60198c6447f20f31303d9c1ef08d01a503fe7ad0efd0889031157d4587daeff75cdcd247df7445659e67a01443d4e70ff4d2fbb1698fc534d4a7d5a0b74f38111911b88c9d0b4bfdca05c32fee5d5c3e5ef38a88af622d2375256d0205c3ec5af619e330265d2cac4874267420a608fc8dfb037daca9c125c6dc807de5be4efc7a751ce7dd96a391c7badbe1be2aa10920ec47c125cabdb5457c04d158d2559dcc8f6ec756062de6307ffe6fdb7f759a82f9b0dc28920cac3039469eee7f3c94ba861d261fe72d12f7b29b9c2cec46f6ba13389f1da2d47f80f2cfb54725ad2c9d6757fdfe0fce015275c1a8fca942ad5fe04802bfe39edf0c0d83e0eb646d6947e06c978886a52fa535cb0a621d10f4de2ad28450ba0f78846971c3666e3cd15a1965f53fba31274fbd6bbdb3dd0f5e441aeb11ae2eec523135deb9138182206a751946a62385af73e10fda1bbb67b563c87143407c52f5368dfb8eacf4fd4507f0fca16838565f0ca827362955da6edcdd8dc45427f961b7dac7b84e2eae2272dfa625d00d1ae9a14dd314a1671e894d669d67ea4ca243e91c32e6afcf97641c63036f791c3e9d73017b05bd91be844e93274738b23c2bc66ffe62e57716ff3b0f90925eca103617b7824dd9f2f3271e4eac001e24f1a4f012eb6533e769ea331f6c32e0661c2740df6974acb254c2fd55f486d68f4c8be74731d26a965532840ba762b86e84227f1e91cb59cca3cb2d24f16132968a146087dfef678c3ca205cea537e683313b50e694032da52bc484640314cca2bed5326067421115d213ff1442c137e6e7ae6619df2c649ad8656565ec3ee58d0ba78b153576833b4c0ce3bdaf0bb831331ab227285a8e5ea8c7eda80cf2390b60b0405608849eff0ce276a8fb09fc11d5a7c14866dd7d6c2aead328ee807f20ae36cc5ab6ee81279c274907eb23829a35b2e034ec7e94cdcf7e4810d5652798875951d0af08c50f81feb51ab991c15f59097bf5bc1916dc1650402d6178b9bd00acca64c2bfa2c6b33adf9686331073330a85ff657e8080543914cb2b08ab9f02e2be880b21609a73cc37993b06bd63bd4c35ba3c4d63ed44fed0dff4618bcac72dd59961df9f2e947ffa9ceaa2d754d9b80f131a5cf4c95f25e8e31f7c1a0936de7b8bc8ac4782fa53ff50bccce209973ddaf4fa6ab1d8b0bc7e43af9688a5585f57a0f656e56212282633dfa16808d55f0b648e65c2e3df086eaf75c1d6e52d7a882022faa5ccd653a1580d833c739f21118a43fccb9f2c4cf9ac825e9dde8a7a51f195e9de4b575dbad6264d0a0be516514921efdb4f8f703fac2c7a437faaf14edec6678f75edd49d9db0499dd885be5e24fa401d8f567d2b2a49f311188c737f2e7bdfd44e844fbd98bb9a261be8b1c6c3b24f136ccb1441f2bfd1e0b064753f0913feda8c2f5040471e80104e47692cc132d0c140a9fb020137709507a5fb240a1b1dedb838727d28abd61b5c7945a69e442fb18799bff22774a02cecb6271849c1c30e5b26da33cd425ec4bee151e927b30bd580425be4c8e0da2916f3604764727e50f3cdea66b3f718a4880db94b03697a149fb42fa83f7ab2d89e5a0df46c6554799498c0b0f49c6bba30a67cd61422a4d3312bb26d33fa52167d238afc4cea0bfc6ccc03a0ef5f5f9e311fd6524880757b242f6a42174f5b71d0d32e6e857eda0f0b6c075e52078972227372d40a55dd6eb935322565d293490866a333e1bbef33f13de595fd7748d62eb037ab2e160a30cb74d9ed52cffc4d4058ac943c9b138555380249ab067f34fc2e69effbbafe1f5b310a53ca8e272eec8955e689b483c3d623ebad1c3490498e046d319f1be08a102111945085d2c20660558047275d6eeae785954ffb13fc73b378530ba71da98505d57f0b8f02785f0892b7b1f07da0a8fe912f5e4e51e4974eb9d93e61275bd89daefe78abbd7b2df67346717839ad7b6650781ea7b4e86f2505e3352be03c4f0f200f99f01e07dfe7b8261d90f9e79dc06c8c23000df499256d35fdf62802efe5bc5947f35dd6a9e125567609f8c56cd53dba63172bb7dbc2382cf60525fb350b4151c5f5230b3540a66dce55578c82603aca64e1ecc2f17fc2eae9cecd4c9300e22929f0312284ad8126e82c3f140326e9bc1f979719b6a42e94415a15687ba97be08002789344a04410991e0d889f7d11d23a713d54b2a5c9baf46d26aae661f7078cf50dac2813e4bd378036ea70a02281e1847804746fb32aaff9dcd14d2990a6ba33b0d2e9722479595390308e07ad8f4c3c03c233a36905f0f7a3e34ac86852dad0f78262a4559e58d681461a634beb6d08d9aec0cc8ef7e42e3ad8e6b9e915ecdc7d997db3296d9ad1676140b58800e0cb58bfeecee3f460ffdf167948cf4d5a52e9d8e118c2e1fd72917caa61827c8f157f53e21331476ea560835b8c0384e19cb8ac548dc23511212eba0bb8e3e7307a4d07d1a263aef53b5a8ee432a597ba273c0fc343896c3f823c79423aea1968d2c2b2f2eb1868b84c57dce640b78ce62667c71fc4372701c2b3ba7c45cdaf6b6ca68f82c007882e81803389099f58e9a02353305d199e3444c6b32d16d24ed013b9252be0cba64600988a4a0714f5c5131a0c747f2b3c150c126390db47976919d6639c858174e6df996ec5bdd011d432d5c824dbfba0a3f80c82bcb856b9f527fb070ddb028d979e56150ced538dd0c7f425f4d90b4c2e875bdf481d484657b3297a0f1bbb17c7b69aed93cc55c2aa1989c49d0267dc7ee338d14c38b84631709ed3bf34af68bfbea9b78f74e616cfcd11676e5d6ccc35198e2c51a4c1c36633235b9b0b63c241684e48eb18eb21d493d123a02f176c407aa4e0a5ade2bec3c2b7cec488da3b835c3337e85c16022aa489899317496be0d3baa7f95ba8d9dae16926baa47f000e99bc730445565446f168b08c3c930afe267fff561a7721a0c7b1af10c8ff3d234dccfe568812247c11a304db0e6eb143ac553ee085465081f08fd13cc22a2381102ec877196740829d80ffd50d1aeeb328e5a9db1f6642d8e78044a1a3e6c1fbb41c617b2927abf3f028eeab4d338396bea0b0451274b1dce9c6c92cf1779863c4356df823b40c7ecddc09c42dede66a18793b78422608c9c00ebecce27fa283b831e36d62f9610a4e0de02657c37036ef994ad1734bda057c3edd170157a4488c785aefa7f4a144f01f62a8986ee418f608a402bd1e7801af89ddde6100b4a9bc9f13be6da99a01b3bc547a75d46415d06dfb26d3421e9bf8a96482432c027a1d2c6d5d0f3740c9e36cbfdffd6d0ebcfc785b3dc3bdf800b76be037907e25e335de780523c074f92a8789abe930a8fd74f0a9f596d9d7bc48090d1b10150a31046294f5057d75a4966f00f2a0090f89eb661affd8cd8b8a09e1fd46b7e15460f52682d379305be67fd4890d92f4d5668f88ce405eb3d19c9bf2d7c94ddb19c3a3f490c15f9a4968eb16f1fd77e7e0f4b544ddc94cff67d0ea76b8d9c8d8136a4b83df4630b110a185cfcc5cc81fd88c4107d7261b0d65addd4a64db3b0aeb7ff37e556e8995206713a50faccd0e576cf0101fcea67b2d8aab96d95710ef9ad150a6d4bc220a5438bde17ef3de7c1a076c9c5401ce82bb4a38bd1dafb25010d051cc7994e213a288eb6b40c49907e5e04761bc2ba45799cc1084990d8c7fdc0d8716c0a40ee3830ea74c0ae65a365117ea5ca4c6d2ddb67e5a7a9420ad233d35cddc2d71390506dfd3adae41087c38bd7c3a68995eb2c092d21a5ee361ec1c6e8a198e3a7d5af6c3fbe21120b947f58426af92bb731bd2d19b1a0f7736cebe916938ca9092b51d95d34d0146bb39be2af9a37b918673366c10a92c0147787406af257290185c8b79abc7b5d4dc591412c412d2b090281392ab071d7e6d0b395ef602f71894bdd82c76cb8ea35af103810df01406c74fc14e51da03505144f8abbede7c4b2d0c613e0ff3be4d8c4418b7088f6e1359638c5458283b63c8eb63c9b40f1968bf072d38a49ef5200a522739c2371019826bb6fcb85a5401d2d511bf64482b5e71351a08f506c7b011873df36f4f1453e0f0a353704431d696541417787b63be781e08299080a380dc0c288cb8126817933387631d8267fa0a2a5db3c1b65eb08c2cb9c781f0e80369e5c0b378bacad9ad6ed67e68591d35fcddc6e9c649a3dd61e1a1281742f357d3f78cabd5033cdd231df14227ff2a577b10e677ca64f7fd766cf15d173d5331f8111cc7fed7e73be7c2cd78e769230c689197c4df89a159796fd1082a5bc42387100d7282d0e882a6e15e61f2798824e6428859226739a139cbea0c22f3ee7b16b9016cdc5d97dd4b6167efb90c88a2761921373eeb7ad05cce998af05476df386f19f36776d8295b17d32b77d8b8828baa56042bd03dea68f36906162ed98a1c0d9058a5764fd5fd847882508f80308fcd4672c2657db4f7869ce98800407bafb485ad4caa32f10ee10738672898df07403efe6cbbeb41cb34a6f937aae4d364a5c79bea8a499668ddf678f2e6a868656c8000c0e4e5975c513c2e99fed0291a2c541e45e637cbd702c6ec8d08d7e35ea17dbee42c9d1e1116cd6523a8b5ec01c8b759fcca51cb5b80fb40219636e56b47f6d18c609a1c2581b9c615c70598235716619da3cc4d0802be9001beb149ab4a587138301cf5598772ed9a62226d20b30a8a9b7fdd84382de5d8bb8e3003861acbb24f67f58f0a876344e13a894922551068077d04bc6fe863554e80d2be5ce9c9ab0df3c20c51b1478d9b2f3c1b7de26d44fb82aed01a82faa7867e2c6ce85b0fe6c5ffd83d9a20ffb61fb65027ad3993b40a8a4badb6c599decd0c254c50ca8749571628969c879a8afe0fe48899e76201b902d2f5634e5f547f93262ee870dd9199b0b5687ee3ed62b55e64fce7d62aaecc3b67c3c83f3ec75e09c563006e2774d94413f7092139bbec387aa24a663a182c7d25b533ee7ba7d7371114d956fd2ddf62cac8058fa36c39b1f041ec21bf38ff1d24be9f64b0c9d0e3c248f89eb55126b466f81bb3f3639b340c774ccf8eecfd4f30b1930ea7c8b408db9102a8f58293a4660de4a032d74a9e5b5b1db9f1bb7db017328b043c91f61fa9b5c1a492b0854275cefd5b33764609e70afa9721dc90bd1c140fe3004f18b7716341cf42af288487d627294040432026c10038f36711a7a13bba7811cb3baa56bf3d8d85e27152fa995ec9ae3286251898fade04bec101775efe0f7380e9de80e4caf9aac131b792a591a932dd8b05372d625e256a9152e5547480fbe798ddcc1deb7814554117cbb0bda7e968f15949c978ccf08ba1b972fd614ff11a67776b0dfd6726d2e16798cde43ffa751f991f3b278f5bdbe118eadfdd2fe3f1cc21cecb75a2263641cd88a64423233b00117f05f15b5b5b61646a2839b8ec25901ac59e6dd90c42b12a303395f1704f6ceacc2a3fc1ad4121d839c2d4cac695e72bd9b1cca484342179ce38ad6895418f5fde2160807699b12c605abbd0f548dee2f6bf10cd874c51d056b22fe7276d7be8c22c170462ad11704bc4ecb28c512ffd64e678d6bbb0d13a0f97d78743b51cb247ed87b125f7c1e4d61fef929c90d09b731adfc417f63180a81cb9421d4d7a0c52724ca34cc821377ce7854cfb9bf676f0c6d4321ad371ff9712ddda594cc1f59708acf4d57f918c7f4bd7d51ddd67f7af3a13f3eacfa130bee2fc9e82ebeffc3b89c32fd79f71fd624f3a020bf316636fa16c2fdc79219781d5c1a1acc27b85efbab01cb6c751460e47c7bae09539318c9bc67a2f05d1099a094c5b042eb1ef474943f6ae72f1ae1e67604270289e55c2add32881ff314e7eb2b9d85cea0b7b0eeb028a07fc210d8dfdf616f4a0159b44a4e7433ccd01aad4ce6e725d5cde029a23e908fd67315f1d651865177714deeb4cbd972782911e857e9d6e8bee87bb054ac8f848d751b201321df5332bafc59dd890c6aa4f7158042e7184328c863ae4a6e70eee99211666ad827380d0d0617114a1a17431e1ceb21adec2ca43d6b12746e7b129c7e16564e57bdf01cfe88db5c58fc41e3fe11234a2562b49496415f618d603605cb1ce9d41de829aaab677fe73d4df8d0081787dd1720bb2156b932b964d7f9736d12a5958c662b6923c2eac13af2c2ec7b1d1dded61e89ba82cebb34625b025796171818df4b076235a5fcf6b4e201acde1259f36479d89c883b94f187373613311ee1f583c7464a6dfcdc5a06c6914227181a2b03069f6e573017af9ed1a79b521390ded13ccb7d251a2518311ca692ea1e40e5a7303cfe1d48b7795ae384a8bb18005186c0c9314bd3c5c7ae829d53c913cdb4a3cd42e9115209a617d1c885a81fa4901c3e0221db7407b8df403a9e5319500d4acb01b415f705601967fbe44214a70a08099b29def837b37a52fc833510d7dd0ca89142308e59b82ab79339ef19134b0a200e028d3ee1f9eef84261bf140f3c08803e9b3d65e7c758fa9b1a9910e42c0d0064f8c86ea50c8e90f9908e1aea23a499e9f9d38bb7a3714061da3e15bb1c50e1ba94a93cf982f4991a15ff102b61b39bc4ba75c78ed120c35dbb311b891a29166a95c4d20b0ee768b162c115a17bba118877d0db6f3e1f87278267119b925d1c40bf802ce663983e3fd0d81b4975e44933cc33bd51b64665ff0c4716d45d506e8fd68fcaa75e0551cc70d21153c9b3e34b571944d9fd6e4eade7831ca93af68209794703e19725a58aeccf16bafbc468d4606ccf807984ea6ef03f122af9070e87347ae59af5d3104b1a331d2294390b6c902e51e22a43da08155c17b5a9c7d5bca68bda8155cfe1d310b012870fd9222e71df909c55e5025381e61d6c0c144f8b5a4cda16de1dcfa89aeb178aa3a9a5a27ba3ae787eb1a520e22213a905a9a26a5fd27d2797b5a29a369e1e54d12082887fdb971facf74e15927e1877a780ce06667c794c23c6d8dd749813f10b01e40a702d8fad6ba32796545a1f5ad60050a259240cbeefb51f7810151915459ad981141d70fef2f7b2f9d91014776a7b149b4317c0fe5bc6282e7b0d10f24392edc405f2ccca2c0a0e7d2baf19c29c0ebed0375b0a6fbda171ca228c14cee33ecb73f948088c97b427d51b7010b09f6478ec5b0edaac25540c55f94c1ac07f5060f0af3e7bbdb7a9d610610a1533664080f3bfcb95972ceede731ad5105270cd665266acef5847b064b990ee1adb59a4b80e852326476cf3b6faa68b1549aeb693d8d0821e6c23295f95853c1175b08a1ff41a9efdac38a8feee08941bf759d5b229afb197bd938698250710162c7b77f5ba258eac97dc9e131e6ca61113c558222b097d7abf2dfeb8c9793d1c766aad4eefa0fd61cc57cb60a1949716c5eebd0b591afee7091309e74ddd12123ab1fc455b5d63a6dc840ed8affbea1cc88d306baf4a1c85b0d03e13f3622217d4d726bcf26ee3d026dacb75c2e88112868ca4c6ea179fb4d72946899da79c1d6b705005efdf182a46ee04a11786b01789f3d99d25b3e0546b8b9d4d799ef3127452f6626febcd8778452f7c2897521e5da85e82bf220bd3c66abfc986124218e4b94b68cc1b3c0f9f88ff3ad20e68136d2979407a2c601898da989183e40c1f24219433c856b34613e2130e361dd718b64d4329a0788f38dcb4dca4914adf138aaf6ba866277f5a602161a182aacb1fa2bfefb9eb8532154db44db49bbb6f194e998c6189d18eaa3d90a4f6e26259140ce1d61aa1a7d8eecad9b62b4f824710459b245e9b72277e11f68adfb1030c1a04491d1849f585fe0df83b195b69d614d0a04a13d45d9ecba4f92f147c87ab104d01115253c963df3a5ce6b9f90bac1a7167da740fa11c192fb01efbfa6f5615c152482ad980b0ad25c04b2f2ff3111134510daa8e34e71509cd12b27eeb4f1bc40d71ee3e5d1fab6d0a0f283289d9159da48d8b651719bc57080c2028d47a11943a7c123cf2f42c590de0ccd9b9f71b439596dbfcf4c3f0e03db370e1c75f1603111216975d365a1acbf5268139e61104e81cf024fc569090de220b358fa31cd0ece38c1d30dfd9a64b82a25d3fe916da23833db1597fe1eba2ce4eb13254125c39382fb5c2cb6879d17de44e84531de32d60bf5d35d65394a76450720376171c8be665b12a78a976ecb6a68ecfc412fa44d76fb5aa260ff1138bd77db2071e626adfbf2a22523f27436fac642806184e887f99884edb651f9cf289502038134a0dcc28744ac56f6593ea0fb433c01e3ba40987f6a16a59840f2273f6c2991896b6076cf8e7eead36d9b4f59135ae1356570ce0f33f7e4924f5ba2283227d1f45acd64cf6ff64d4e99095e868e83019d189783df8ff8343ee7344ed5320271474a19397c6cc9ccff18f03f10f4d1f105202b925a447617f1cb305e87faecb190f35c7b7e9d24dcc165cd1ecfff1a214d990d25f210f0b3d12b0da23335b8210c1e75099684bab6150b32a06852b6a1a67b94014baa2224e405c556b6abc2115539400dd94e84e0bcd4944bceec9e71051ed00c887da171248a9d3c64a760c1bdabd00a06c4846db6c87dc6bd591a315af64cd4cbd0605498a9fe3efdda74f11b13ae27ac80a08a843ff38e62fa6b21bf42ee8fb39a2395369ff931ef38428165df2ec2ffbb4c77587ff0fb2f503ba112eea47e69121d9223fff7fb622d35c1cf254068541817ab565ffff91e8a8b016f5433837010162c4b73233db86ed2612ee9ff3f10168363a5984eb91a4150b1d8b19f6279bb95efbe069bc7450113c17d67a5e86e2fa7e2fe787635d407496125691fdd6d0f797e571d93862cd86bd1dabdaca780d937984c17a2de83dd2ca1756156f2d714261d09ac88a8631a80813222218af4e6a684d91daaa3d4f40741ee8b479f23e8853a4daae88643f005d18875d6128ff6cdce9ae586d50cc997d13a495680d65ae60a9e48d481a7a5c2f1f8344ed3db7beb3ba8371a0ae61b0f218369d8a312c32f62e36c1e6bee759f513f0617782131dbde4899bd7973ff6ee1f5a4e2c35a97dca83a1afdfdf32f88b1915a556f720fea19ce7f2b24cc2f96f14aa1d12f9b3311b4ab9288f709b945910dd95b6c1ecb55e43f50de580c5ed281a4ade5e01575ee535c4a41d67048bed14d5b11801ac7eb7c4691d7e52d008be1022b65a9b799725a10f2f30b7b3a7c91a815e154961acb74dd958f3f8c21f6e159b4b44078123c6d7ade0f59335e624112bacd33e9b053d5949345686223d6e1bbc89dccb159efde06dc3110582caf11563a1e36f1118feb3246941379b3b8e11d19bd27fb559638607753525c5c5161c0ee30e339114e9d1d290f750379e78160b1c3f8fda76ba74750dc6402c18fa1178c631e59024f7edbb48a367e059c31c2d055bb7401d2c8bc9d3b51f4dae021724047c5fcd7d566fd40f2be6708b6812066dc69848c9f07eedb2113d4e12741d9fbd9ee006a1c09857c2a7fda40e9017e6ca4b4dd2800047799becca50a5d912a24479481dce00d88ec5ad448108291e82d02d6d17d833133fd1579d9ad32018cea624247946f6a865a7ac4a15764d137da43aa08e3dbd746fa57a778856e21e645095e63e31645d8cb7fbc50612b518b7a6aaebcb8db64a702c96d16b0ec41357a4aa12131624111a47f0e81217a01fdfe9ee0edc4483da146cf35342df4c198021bfd87c9d02e243232943687f3d143381327afd7d684e361c54cfb9323110b8ce509095c9404abdc6b94b2951e819c60ba7a677d4330831d2c76f87dab9146b09ec1ec67629a08d0ed3bfd2ae9410dfdbac64a35742004917b8ff1d7e871a19e323eab5df01cda0126099b1313915aeb51c88914cce704d75e6ad278efa10e25594a6b5ade31aafbb70490c7d2a1be8774385c457e97bf2628d073d97bb1587f935046a7987c98eb50a0664df621171c2bc06108fa575e48877d66c65d11b2735ca6ba6a5b7f7e9d392abf01d41161fc4a1bc1e1ec65fee0f0f568db1cd1165d302616463a3ff16b3b189484f7c1c51dc9b4d501ce932df288ed406d9c9160e7d497173e3208fb220d87605143b127c2e0f8285059b7eeacd59f13b532b1dcabea5019e37afcbeed747f42fdc5517a19884344bf95809bfac6cc38c16ab1200000000001000401f886a8084d01284d71765cd1d205fa012e87648a2941a40e59c30901ec4bc163426f56b1c80e03779c311a0d8855734c84e676dc11b3d9160e458408cb5781daf1550efe2d6e41a92d54d06cff01080f64ae1c7022d20b49dd97943781a949002282c2a8bb9340332b7f4ad1440e70184fee471d919883081121f2fe727aa7c21d7e6fae03180d4dbe98ca039593ea0c95224b00888ef8d1f04beb3166e05b5b5b81385ad609cc94622e3a61840e6d878037cd8ea9bd01ee88f872b824dc7726142e27369b6e22079cff91280dad003641b695743b817908862821eb1a1162ad3ce12b42afb22661d4a9cf487821761f5b9abbfa45cc3f129631d000000a05c3954cbf7e6191a37fa5dc8b34729beb560a0e0c478f516000000baa099b32de378c818f6d6b21c00004074044090fc8d4b7dcf59c6ef11000050910550b47b719e5c43f0b76b160000a4f50664a1da0dc63354eca5061c0080865984dea4a8c85ba0b4b32784110020e86f2516ced2ba72c8a1a031e5150028e2cbae9b8187698f3aca087e5e1b00596d3f4d01b1f4a199647ec50e1b1140af488fa041dd710ac0fddd76d2611510db1ab30892540e0d307d951447ba1aeac8f06f45dbf428083e6edd6c6cb41024fbeccb161232338acdc9148887e114ed39e87e9c96febfec40fc196ae9191a342451cf211efff793a83d50e2315010416d2543aae5fef5b8124de45a3e641492c8eed3149f7e336757609df14d7d19b67aea08da465e00416db8046ea1dc1fb28c924548ec3aa04844f3c2e4e4e913de2ff7565aa749c85a15b0f31d5ee418d6fbb4ec30115c7ab11a9c70a5751d1f651df193be8a79ecae90616687697213efbd28c7c9e87d511172f88fe3c4621eb576791c7eb1eed24a47fb390ebbfd1262d497a3dd5daa871d197ac8d129bd177bc97d0c55f594e9649f983a4674ac1ded9dce275519fd119f639fe4abc88b126845c271aa5f7cd6863cc7ddd6ba2e17c2d6320e95771b8ca80b39958c69fa1c39c6df28bd2a915749a743ddf7811c12c8b717736c7575ad1b9194d475a2a316baa5dd8fc7d2d29862b5b949138b4c1c9487eab9bcc3839f5d11140eecd6af11792965e8abb46407b5159911a7cc1b16d7737ee2d6e13d49225bffd5d0bfa21b66088f4d26adc66df598bf85e2b7451180caf2e06f5838c9327f2f27db259715207d2fd98b6e867bff5efbf051effc1a34aebd67170534ad5f1b9d369315de10c119ad415d06819837624404f89a151532601892f447a17ec57a5505b6015b1a1f3c4fdbf8cc246fbb6c55c311e17810270b23123700ee4aeac72a3456199714f0cdabd64480a9dde47935c1abdfbc19b6602b062bf0890a2f6cc158cb0b1610e438b6c7356c2ccd3ac7f12ebe8e1b141dc7a339438777800939aeba6d722219e4b80c08146995e04bc75929090f6b1f8ef30785ac615d6c8f1cd8b965e9a21372f049a617ba7447b3234e28bfa38b188f6cdc8f9de85119a0ac61f2ae8cae1ed9c3e9796231d30fe40b7d57ed172d13cf346418bbfdc713dd4e5cade85df81703427dde29fdb9589462b3d86275f61d42490e2b3a3e74b79c1d70c75d09ba1292dbd1b5c84d51e503254c39b58b6817775246e33aa1a5de442e9f87a2ae421d8af30bcec484270beb7cc39425ad49126df08e01f665f1cd255cf4f96e18dc1688acf28173bf6d412f7371b88a1e931cd5ab3731a897e488fde746b316f3db11ca96853d92bd1debfca11860dcef52167dfce6ccf62ce5257cca1e78d3abe71bce5d10401a3caf978d3e132b64cb7011427514d0200b9bfd300ed8353dfecc1592921904e9cd013dbd114e83cc3d401b9bfb8fa2b120214616cb10d29f26081182fa330bde68a9d7dbfd94c647304a1523f9008e15c393cd523d3ab859bc9c1ab69bc078ed597cc053662413b8f5a110a3c2f0d668709bb0e87fed172673ca144cf3ac0c834cc2dce2dfe89def0ffd190f18ece7d16ff9c9ed8bb1c2f5293e10131ee761c6cb773ce9ee5d3373b44d1498e560fab7be958ba36a350090216119fe1ef9f8652e7b6e4cc54200f469b91f5fb39bbbfffc0cc54fbb298038e2d31337a082aa3f3c50b6232a34a0c6dac818444823954f4be4a3ac3441487811fb1e2b0d36bd11af6ee6ebc0282debea5c137590832cd65a0ae026f172f8a52534189374a4b78bf10c9870ad8f760f2f411edcc8c652f716085f66cc19aa69bde812137b7827b51ccaf67f3fa014c4eca217d7995671e2a37cf45f4fc819f5a78b1d2620d6866de6cdf89b311d30f948771230a88be8086001f7027e247c371b15173c92ae220bb8c1b4839d2d5b0562da1c651badf50613f9507282fc58437d08123f6218b3c85737e50ea33b2f949c8a16cf7adedfba2d859ed28b0a3bb9432d1cc10cebcb943c13a36397e6c4534a9c11f1cfe5feb90bd88b3c3d20b6e85c0316ee439f7ea80eceae8b4ca8e32234841b758a234f29c9404dd72f49ce95a03211126deca273fb9020cd7bdb41bb487f155688a78b503ab568c05a5212ea1adf1a36b5485772447141b878734bd270cb1083e21aed8e95cd51e65650de064dfe14249b61a8f2fa40e69f6ce49548e03d1af7003da9d79ce8efe3c3ae5d2dac661034418c930dc4e2ebdc741ab53857801481516ff81075db26141261e2066da019f192459b2a2949984cab7c4d24440410adf7164275735bbe1fd6db602d55051498b59c925250f2ada7cb12b978aa0619ffe2433767e46e99917e57e71655481fdf6d8a82c04ee5ff1aaf96502e358d1357092da370a2debfe15abce479827018ad4bf8cb0c4bd62f9a71eb5d18a38c1e4c2f7bffe7eee55d0027b33aefe517131ffb59ffa16a5f75c0f05f096bdfdd17e779307f4a45b792f0ecb7cb4557d51d304c7e8f4e8bb25b16f4529f8b56a5123cdf5d33222e9ff21bb127872eac4e170b5735c0aaf946ef629df1283a57221d675621b80a5c8cd55d0297598476351201ac29660d73ef4af5c2fc6f25d4c2160117b4bfd04fab9db2f3fbcb2e89731c608ed077e2118ba24f787d3fbd35c811f9b1c4155bd62d8b63d65c8f2c433a1677de35dbf14bf96dfc0b34b3f7d3c81b0aab012977cfbbc47d8700d07a845d11cd1542f354c3ea355da9008499e5b415409b12302a746583b4d300e5ff1e221b08a10b5e9a681fd2508420ef5f53f5104a898ef5c042a70665a5e8ea37a832159d2bf23271135148becea2e545527f1a425bd7bf26ac32ed36c185af6b938f101232cd6f30577fa88431679b4678b314977ec08bfc2c9fd2e5fd40425856e0191e4f58d71d7ca3a3af9e6829f7352c10e6622e4d255b8c8c5bc6c2f3744337149ffb79a0ee71af6ff277b33052144519877a98486a4e9b0bef55e0bc6659961f944c5f6d02114167b5350c36e0f7bd13ba1fb708435511c122438f43d875ad18a8e7e4ca93aa5571eb1373544ed3d81ec910cf5e9c8ad52673ecc7f410844713fbd4827643ed8af08fe7f931156519183a8a235494a8adec7361787e5abe1f1e643696b45c89ec73e83c0b8ff8d6d312fdc3bbe1b3abe790220cceb2b6cc8817fdb42adaa09621352b8f815fe4ff6a1d1eb15a8824fe34017bf9b0bbeedf6212655d71aaad3d82c1d9379d6aea97fb16bfb40d1519cde231d0854405e57dba1cf79028ad2fc02d1fa2d34a23af8ef41135b572983b30f9a68a881dec5ab2711682628f7e4a7cb750adea24a7f11e0e1c919d198faead7252ac12770857d38811f604e0321a590f6757d794ca2c08eb15330698bf602fd3402d0d3afd37ca651be003bf779cfd83483c4844fe629e1f11d8c4ae9503fda45a4b5ad5bdfb8567150e761a7b443c4e31deb04aad7a67c11ac989f0ccaae5d0de8aae4eacace0b8103bac2c80151f85962d5a62d7d718e7144ad737e0da6626fcb8f03acd0ddf201a8ee622cc4800989d73d644a0688b541032a02bff5a00fe84100c56c842ae69143e88f6be71803da6148f6b7ad31984194e2ab42e8ee0cccfd97206594820e51f709a30dd580ce021c807a4372d34ef130dc17c146f0f582aba098d853801eb1850f19bd94a13eeb4284cf0a686c1251fd27601c80ecc1471992f5628f498771386d4017a12ff59cd7fbb6b32317f5518a8498218d77eb0c05faa067ffdde6a1e096e516f464f6ed87b2a646f5ecb02138bc9250b18e389ce1a353d0b367ec317ee3bef0dde5b2c8261820c8ec35db41d7585b5c86ab95bf17cd1c7389aba9012d2e6e27ac5a7b22ddcc5f9c640e9341786a09bd9b6511f395337b8f89023021d544401481293b3039422739b3a562112699501dad677a00439eb4f42c9aba916c3fa8190cc95c84507e6e392bb16541cba3c51da9f5d9d8bc46fce3b358eb411e88be5d007b584aeb50bc28ac2b12116e3ee1ec549e2251aa38e722d331eaa1b4d55331b6ead57f0259967fcdf524a11a12a00a2c9986d6c6f7f81fb97e79c154935800afcfe88474bdf61fa7d21041b4e2190865d9fb50c8f2b7dbcee94e210a12934e83407e3cf72769c6b2a3a1b150a34412202c9db830f948306b508621a86c06855a15d69b2893c122471457d10a7f0c2aa09b5031faccb166dcd969c14d1ac73154ca2c426977e5cc880bcc319034c688d6fe53a781ecf397dd0551a10035fc270cb9e4916e642889c44eb2014c4f6f24c7e06dc9b9f53aac31526291976b42fe01d08d38287e894349b6f731fc9d01dac12e5c3b15411dd00c125a813fc44255757de34dea9551441312f92183b96ee2ced15c255146b5991fdbab61ee51d153cb44d99b5ece2d77ade3432135e651a4b21a1ffe2a7db8d1916c2fe17b6fee09d6989bfdb9152f19f9b72fe1d319fac02e2b557299bd3f643a107bf12fec657835aa3adf38188f49489c96e17bdb82d24310c9970a2aa31faeb7b4a1d76939cb69ea75f86a50a5f7c738d4e1254b843648691f7e74ecd765bd030e21669a654fde775f5a1a280547204bd9a1c01e854feb06939a565d074c722b6e0110222ea3d1dc4870e7f045279abe3581682aa648d24b529d29e85a657961cef1b91ea5ed836115a438313c8f6dd71751136a5768e8495301464187a7455ced215834e14b2e5ba3c197d9e98d1ea81471b12b14c8fcff4c52f0e63ffc232b10c1156dd1f730372b7bbd13bbf737fdd4f15acd4e74f844ea52ac60aaf50dfd4a31aebe4f0b11251a7dabb666d920b65a610261e6d5e572551d16ac008774efecf14b0650836ad6ea58585f0ca14e2fd031a8e3fc5412c65877353d6fe4cad7e4210718f3652773e6950e88b3ea0581e53144e33c426158e8364e22e4ec8eee56719224075709a71a4fd9aba617a6adfc11f1548498600c786dea0147d8ca22bd9131a9adba7c0782816c9599c2f8b76cf18a180d2d1f096b25b3b7083fb2d54031f64902383569e4f19252632bd9c1462137e74ec23ec85a35faeaf7eecc3993a189d91e72c67678cf7995b9ee73440491e02bb107ca0c0b73a40f9c21021c8ed12c3e9149bc8b0654990b7f354293aa9173324dac1fa1cbf5b74a530aab388931da05628b91c7257b968675e4a70357c12486c72e7a34eade74201f65ccc421b175a074fe14ca298a1938133747f13e21c9864d10c7065ff44fc30a0a82f4c0d12bebd0510cc3e3f563b3dc8923b9f90162e2d07147f0ecf2b8a4c7a770ac7341c3d7c846c0f69615bd66fac8a66fca0114c9ba54753c339f2cb8b572d803b09161f028f192834c8eebe6ead38608a8b1b5361f90f99203d5537656c237c363711a8b9f753bf688c2a857e472c1b04851512a8f528ef822f75265e59f72145e61a0b899979d5b13d09d8da973a35ebcf104eebffd74a1e8d0b8ed13d8902e6031522e6ff8ddd65708ef1458d2b83df441ad5efbf78aa3f06f9b64b38fbb10b6b10caebef1695cf47b7a45e067a9ece8514bde6ab5c7ac319e54df687184642a7193670eb792c1a30aff0f954cf6b890810434c6698b720fcda6c382ac3c6ab0a1454df7f7ee528bb1188c6f473b8560d192ad71fde1ef329162af8f19066ac501f7ae6d34af337da4d1a3b971ac06b921319e0881df0c550e1e0093d21b00677181f18eb246cf7a419594c8c295cc8941e13ef1297a31a07b0b7aff79939fd1c13d8aad77c4ce1089ca59b7500883ce4178e950d9c9f190b038f029300aa4bdd1d797d88c103f0e66199e15b404a4faa12d79ceab104ac60baffd972d01ce354170d4465de05d7f8a87f908f04e41b2a1d884affaa63869bc94fbad9826e513a122a1dbf95fc6702bce3289023cae5c81674e42ebbfb0103ab1c3374ac3c1f7b1cc94efd543de1e1eaf19fc8eb85f3cc117ba23caa8c599a65eec7ba66673040161acbcbd4efef00ffe9796940813cd01bf05effe4f595603f32ec41c8d0256211ac363f5e73bb38cf3e6752fa44afba155704cf3550ea06830e01e738165b291bb662a1217252e411a96090e3edd8f91064bb09aa0e675d56d378745c294f38153d2a8c54d2c0f42b089791b3f362861a669ad77483f8781b65fe3a50d8fd931000810d52a4365762febd49644efdb81440e190664d04edfa7d2d5cfda13ce719c88c1a60b022d4bc6e9c593ee5853010fa2f21785c2b096c8a03f08d5ea73c14f87b299633760b076d046c3136d14b19f6dab37bc053ce488805c7bd83c59e1fda68504d58f4802d75639c56723bc3131083a4606e31e178527c43ec4e0ab418302e30eb12157273a01315201515b41515481615ec16157c17151c1815ac1815301915d419641a15b3d81a8c1b722374792f1e1c153f981c154b101d4a0400003a3a4b0420706174682052696574792f706174682e7273f61d155a72781e15900045534b6579736b6e6f0008c9bcf367e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa5d182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b017562746c652d322e36411f15bd02ac1f5404000055040000560400006165616e61617272617960600000005f2015682015696e74656765727c6f696e74206098201563206000b820152000d42015756e696e65776d6170656e755b2115005d000000eb08d821152c000000002e30753875333200db225c045d0400005e0400005f04600400bb23153c2438062cf024150000656c662e69735f63686172617279286e29c005b9454f467061726c6973746e206f626a6563603a602c5d7d226072616e6720285c75303030302d5c7530303146296b65796b6562656f746573202028676f74204e614e206f72202b2f2d696e66296c6f6e726f67686578746173726f6e696e6520200c28152815282c2c3a202900000038283e4628155028747970000000742815822800a0281560000000c028d0286e756c6ce82815f7fb02020b0f029c29ea01f03f0024400059408f88c36af880842e41d0126384d79765cdcd205fa00242000000e8764837a2941a6d42a242d6420c4341437643ab43e143444b448044b544ea44912045355445028945c045f445ea29465f46179346c846fe463347e368479e47d2470748a53d48e7724861a64879dc484c4946497c495cb14973e5494a9a647ec50e1b514a854aba4af04ace244b415a4ba9904b13c44bf94b2f4c634c984c1b9c70a5751dcf4c916166876972034df5f93fe9034f384d6e4da24dd74d0d4e64424e3d774e0cac4ee24e4f4c4f814f16b64feb4f99215055505f8a50c050f5507b2a516d6051c894517ac9510052345269529f521dd352240853ad61f2ae8cae3e530c73534fa75363b3d86275f6dd531e70c75d09ba1254254c39b58b6847547d547dc39425ad49b2545cf4f96e18dce65455e846b316f3db5155a21860dcef528655bb553f132b64cb70f1550ed8353dfecc2556125b569156fe94c647304ac556fa563057806457e099578cd057ef04586b39586f58a358d858350e59c143597859ae59e2593fa014c4eca2175a4d5a32825a7e247c371b15b75a9e2d5b0562daec5a225b565b8c0a3bb9432d8c5b97e6c4534a9cc15b3d20b6e85c03f65b4d2b5c3049ce95a032615c7cdb41bb487f955c5b5212ea1adfca5c79734bd270cb005d57345d6de49548e03d6a5dc4ae5d2dac66a05d751ab5385780d45d1261e2066da0095e405ed6db602d5505745ecc12b978aa06a95e7f57e7165548df5e5f5bbce4798270485f72eb5d18a38c7e5f27b33aefe517b35ff15f096bdfdde75fedb7cb4557d51d60f4529f8b56a55260b127872eac4e8760bd60029759847635f260c3fc6f25d4c22661f45c61787d3fbd35c89161d65c8f2c433ac6610c34b3f7d3c8fb613162a9008499e5b46562d400e5ff1e229b62d062a5e8ea37a8320563cfa2e545527f3a63c185af6b938f706332679b4678b3a463fe40425856e0d9639f6829f7352c1064446478b330521445796456e0bc665996af64360c36e0f7bde364438f43d875ad18651473544ed3d84e65ecc7f41084478365e8f931156519b86561787e5abe1fee653d0b8ff8d6d322660cceb2b6cc8857668f815fe4ff6a8d66f9b0bbeedf62c266389d6aea97fbf666864405e57dba2c67d44a23af8ef46167891dec5ab2719667eb24a7f11e0ecc6713770857d3880168d794ca2c08eb35686b684844fe629e1fa1685ad5bdfb8567d568b14aad7a67c10a69af4eacace0b840695a62d7d718e77469f13acd0ddf20aa69d644a0688b54e0690c56c842ae69146a496a7306594820e57f6a08a4372d34efb36a0a8d853801ebe86a6b305628f49877536bbb6b32317f55886bbe6b2a646f5ecb02f36b353d0b367ec3276c820c8ec35db45d6cd1c7389aba90926cc6c76c37b8f8902302fd6c23739b3a5621326deb4f42c9aba9666de6e392bb16549c6d70d16d0cc28ac2b121066e8f722d331eaa3b6e9967fcdf524a716e7f81fb97e79ca56edf61fa7d2104db6e2c7dbcee94e2106f769c6b2a3a1b456f948306b508627a6f3d122471457db06fcc166dcd969ce46f7f5cc880bcc31970507043889c44eb20847054aac3152629b970e994349b6f73ef7011dd00c125a82371561441312f9258716b5991fdbab68e71e3d77ade3432c371dc8d1916c2fef77153f19f9b72fe2d72d4f643a107bf627289f49489c96e9772ab31faeb7b4acd720b5f7c738d4e0273cd765bd030e2367381547204bd9a6c73d074c722b6e0a173045279abe358d67386a657961cef0b7414c8f6dd71754174187a7455ced275749e98d1ea8147ab7463ffc232b10ce1743cbf737fdd4f15750baf50dfd4a34a75676d920b65a68075c008774efecfb475f1ca14e2fd03ea75d6fe4cad7e4220768c3ea0581e5354762f4ec8eee5678976bb617a6adfc1bf76157d8ca22bd9f3765a9c2f8b76cf28777083fb2d54035f772632bd9c14629377b07eecc3993ac8775c9ee7344049fe77f9c21021c8ed3278b8f354293aa96778a530aab388939d78675e4a70357cd27801f65ccc421b07798233747f13e23c7931a0a82f4c0d72793dc8923b9f90a6794d7a770ac734dc7970ac8a66fca0117a8c572d803b09467a6fad38608a8b7b7a656c237c3637b17a7f472c1b0485e57a5e59f72145e61a7bdb973a35ebcf507bd23d8902e603857b468d2b83df44ba7b4c38fbb10b6bf07b5f067a9ece85247cf687184642a7597cfa54cf6b8908907c382ac3c6ab0ac47cc7f473b8560df97cf8f19066ac502f7d3b971ac06b92637d0a3d21b00677987d4c8c295cc894ce7db0f79939fd1c037e9c7500883ce4377e039300aa4bdd6d7ee25b404a4faaa27eda72d01ce354d77e908f04e41b2a0d7fbad9826e513a427f299023cae5c8767f3374ac3c1f7bac7fa0c8eb85f3cce17f726561642e7273e03315a60100ab0100b30002050209020f025c6e0272037303747576777879d40300000100020003000400050006000700080009000a000b000c000d000e000f0000001000200030004000500060007000800090a000b000c000d000e000f0006162636465667562746e756672755c696e662d696e664e614e00007a3a6162040000633c3b12b03b0000303ceb656d6974746564ae02d43c73705ffc3d15666f72203a3a000000933d15c8557065725f25008d3e1560506572626900333f15d83f1575313238006f40735f3132386269742e7273e840154f644173723a3a6170705f2442b8424843db436844536c6f74736c6f7473753634214500a04515145353353850524500660200282e2e2e29e44615e64615206472697665206f626579206c616b7461696e20206261736b657420726f6e656c7920666c6b0000494764333268617264444800d8486849156904346a046b6c6d046e046f04ff4a156c4b4f114c157c4c7273042e2e2e3c4d00c04d5f7572404e8d2f2fb1af000017000000740400005472796c696373702d2d682d314f1523a84f646174613c2c206f6b5f7373705f7373c0502727202870617327272927276d617263616c6c274646490000003851154b515951645115706173735f62792e7273cc51164c6f674c6576657c047d0400007e047852158a5215c13a3a3a3a3a3c33335d696f3a3a456364736156657269663e3e4b696c6c3a3a420000ae53616c69676e706f7765722d6f662d74776f0000002854157074722f6d75745f7074722e72735c547706e054585556305715c457445820563134702d2d69722d302e317631342e72730a599900007c590c5a0000245ba0000000585be85b35352e7273925c67045da85d456e67696e6549646c6f674974656d3e75546f6b656974795461673e764c6465636473614d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d547269206c4e734675757364696275616673416e6f63637572416e63637572616c206c61796572737061776e6564526553692e4120747269627974652d65642e4165656b65797365206e6f6465206d736f6f636f6d70752e2065636f6465642e45534d6f64654f6e6c79153720272bec5f15000160150022601500596015007260150092601500ac601500d3601500096115003461150018556115006d6115008461152a242225002e182c0000003d621500636215008d621500c3621500e76215001263150034631500586315007d631500ab631500d9631500fe63150016641500496415fc6634746715375053656105060008006d68155900496d4d31323334353637383931303131313131313131313232323232323232323233333333333333333333343434343434343434343535353535353535353536363636363636363636373737373737373737373838383838383838383839393939393939393939313030303030303030303031313131313131313232323232323232323233333333333333333333343434343434343434343535353535353535353536363636363636363636373737373737373737373838383838383838383839393939393939393939323032303230323032303230323032303230323031313131313131313131323232323232323232323333333333333333333334343434343434343434353535353535354572616592712072b5b6040000b7040000b80469747943616c6c467574757265537461416e6369656e744269727468737342616442616472496e617465496d4e6f556e7369747953494c6f63616c0000001574babb040000bc01be040000bf486173686e6754776f323536f17574764f6653657665726974796b696e673a3a6f3177e877c87815616e780000107c15507c15008200e47c15797d73746174c47d7c007b81806c7e00ec7e847f150008808c80c1c20400cb81150a0f147072657660536f6d65285f296063616d6572656e747ddf0200b08328840000a884388515510004c400fa85150887ac8733326d61785f36345d7236355d776849647536343e64656372795f6b65444b65793e433e6e756d5f7375385b544f504943535d74653a3a6d656e746f66ca896d656e742d588a00026563703235366b314f6e138b948b000000148cbe8c6a2c8d7365742c742ec98d15725f2e7273000c8e154200888e3f4800000c8f154100004f5159b08f150c020d73000069902e727300ec90150073000000f605709173706e616d6e6761706973417069735665637538436f770000009d923a203a20293493154593539373705f3a5f76326272656164be9364943e626572753634345d75333249643e69646b657932305d753875313238426f6479496470617274426f6479506172743831365d6466755665633c3e736e616d653c75384e616d654c656e3e6f724c656e73757065723a3a666f495665633e4172633c5b3b20315d3e323334353637385d3e7573656465763376343533763435333a3a763474696f6e7635737373343a3a4399bf98749935005b9a9a15339d5e749d7f9d3a3a7633416c6c78636d00859e909e333a3a7634a49faf9f1405000015056e6465783634343fa115d4a11564a23548696e005fa36aa3c7a34a63353a3a3424a6b4a6bfa6334b696e64040000001b05001c051d080000001e0500001f0520050000b5a915122105220523052405343a3a25053a3a763578636d00d5abe0ab358500000026050000270500000085aea4ae153a343278636d6973703eaf44af1550af5a886ea8a4cf4c677a9473ca203300000318000010002314003048241008c582a150649a8bc30f148002458a6ee036990843914908c2188841180461108a6288210618222086210dd5006a58f63e97b9a63033dd21334f1b87825e27f16d1cba765a65ce288c296c8ef423471311c04661c1350dcca8cb0a64a29068312272a13b8eca4c3710c72531e2fb7c373094e71101320dfdaf3fd5a656e7c623ea93bd54de101fbc93defadb0b3eeeea4802e26afe598485aa629986dca43493796e7f85074e855e8043b127976033fa064dbedaf5d1bcdf1f9ea234928d7a4ac9b7d357e97db25d2f65f3a626a155af8d4f30ca94078764bc5c21e66efd8d3643d4bb4f62f44b212368c0c2ec6413210d483903210dc6effc8668019610ddda33f63ee81148f56fe312ea27774a655b8c6f6eec31b069048c7f7add2204645ac18b9cccf74cd224742490cfaba351c3d1449a54e4cf597b4d3a9faf2896ab560d6b71e0fdac7010ade9617496829147aae93560631a586d062b2806fbfd0b1e42d4f8ef59d3fba9bc3aeee384536fd78d45132d3bbb8c4b2c0b6e8e83fbb2e1d0b2c597948dd70c20b4ad565d7a7105fd5cde56bbdb2bba3fcd96b7fd4ef89e571ada15462ed449f2782666e0ba81f48042ffcab4293a99504a2799b1c2d708d3ee5fcfac44b0678838cf673c886784f0800957820595e129264195d0caf00b4d81d6a4702119581ade669e63ddc2e1810a1a50c61cddebffb88ca51f9a60da96e1f45354e0d6c95c4f17a4eb2c8d48660a29421ae0630c71bf7043984e31c67e7d990a816e1f35425d452872697147ee2a9f5dcaf82804f1439dfa0ac7bf3081d1b3eb0cea91ad22a2a9c84aaa822fa96677922a8710eab8034e8198a91f303d1c214a08f232a8f4feff2b516147f90747a15852c602a11de22fe0cd4668c051d3fedcf27313228d14627b588bfe27c75b45998b088f3457fc5ed4da5453bf2d703ed2a2785d6db04f368b209b025a62e070b70cff2f0cca6d3c6efa307fb3402e1d619dbe72511906d363509c13e1e7b9dacb6a437063852ec44636ec0f2f02d2d64ac3acd766ce023b82febf09172b08e44a8dc886758b43d79ffe65fd65fd64878fbe5943e8f03c48e3bd6f3782ac863041611cabdad9533a914f09c06b82c0f36f0b404fb722f4cab3009d2734051c25a1291047545b0ae369b53dd9ec8bab5bd796aa8faeaf2708518330c813e4cec6b8bdd567b4e705d84d110134ff474eb09e0af5e8478b7ceeba413269a787fcda36c5312dc2f5686a6f0866fb447ee455613800b458ba23acf168a95d582651104edb5b3854a7332659fc5cb09c8121ac815dcdc401cf55b47299f36ca6a8b4920741a9ca742ac8f6e63a8b1be6974c6feb04f383817df93a57056ae14ec093013b27c6c27d9a486ae1d88eb6a445b8c942381518cf64ac23391f29d092449e6a60b4aa055a796884e11ffab9ccd312d3a52d5dd6df5cae2d646d2b6c5f3d603598b06b023d9650d1a4f67156e3a31c94c5013b187b3b38672d22e36ff985dbbc98f25b903eb103bd66c5e56b752f2bae242e8d06b2621a6484ce24d0664289253b4b1e668ff87b9b0d3f7656d45a4529990656039cbdc22140569af11c15b209eda61cff1a08d70ed0a13eebecee439343e9f9250e3cecb9eaf65f40fa50698a9ca65e0bbf8243397c32c920f8c94b10bbfdf0cfb5741235fbfd33b5d4603506546bf0fd85af5633297c029cd79c758e99ad284548b42894a8a0ae0a8ae7fc43eca3a283d1c27fc676aebeb78e3c56baa578acbc658e2599e4b1980bd3f8ea89dabfb9258b3f0ee392235c3a667f71e2dfbb3e8412ff6f5d22e8c0fc135c0619f236ef2917f6dc4a2aa098c95807f6c8eddc8bc9c832ad2b3390647c1d719b120ff3b51c872458f682d002f5b13d5ac4ae9150a3252d9c4b7b1f319224b87cb3f3d105bd73e52db8ae243569e012b2ab780b42cd1974cc511079c93e3443112d808fe411126dc7ba808a08fd49ba59cb2658cfe9d6abfa7d9b9526288200588143caab0d5caf2e2b1178d2a19c30db05582ea2686a39cad696b74884c6d4364f65b11e2dcce7e279de6908b0eaf1193c5de61227210d579245f95fbacea51dd7c804892a85fe3302d0d8074ae3da5dc2c642440a9bbf1bdc588c73687bc05870f1e576e1c5ec058dcf18789340a5dd13e3abf62297f79ae89fbc7f0df4b51eeec9ac8dd98f654c309188bf7d17fb9c15c9e42d7bfea353bc34d7678deeea7292d881d4dce9e1d8248a75bd5f96fac4677f80262b815d247e83e4002e1e32b541e6e70bb1d940ebbb942cdc0a44ab44a75c9634d73f571f76d30bf507cde8c5bf06dfd19cd808dbb00d2589868c17ef3ba3d18ce40ac512f1caef94f71dc17e6a3219bf6ac4c07c964cf661e4a46fef72be1c3035cedfa5e4df2a19e17cfbf98ff78c35f55a66d71533560e90246ec73ea90f72dedcb2a5f4bcda4ac555d7c07e6d8f1a39b826f8ba679cf826f44f50a438213e18ae76abb85f0334efaf564230d6bf4014efae6aa54ebfdc193b0ab69238e3da2e473b479911b610ca36732347999160c1b2155c0c94dd5568e3358186b78a12cf974f5d97b79d07995131ecf38d2e574be40f288ffea17498da901b0760b0b33f7d0a704bb3a950289d063a9688ba32977e430a7e8e1f758765d0a6bef7cf4c8847f84e7c96c5deb47fa888448454c028ef2f945c4baac311accb2a15e2206591b18e86ff9f95bb2a2157f67d96f06be3368f5043d69e041c80862eb3c44882d87c34d174cb2689fe4f2647a45f3e19d3e5c12b054644ec39455332f0b81e4a38584b77a5a0ee16c70af7e46de97d137380a1a9d5a1119d9722c7253935e11a5eec4dc0c170f371ed1af3548f84c7c458ef0d4516761a7a16d1e9ada034fe64e58e296eda67619d7ac27e0341c70819cc3fa9b8cd473d6e5540cb7a36eac38126aafb80b647c71564d6871b45a8ae096d89ef1bc0acda5cd600dfc201d3a58f8c73dbbfa2d923698fbbe05484cf2efcb5eb7356dd76c1378c3f53fd0fb4bf3abe28b37fdc3846f55d684f7dff1066efbc71ece27321befaf8a3adce79e1dac5ff40f8caf547d86e97a7cba3b68ce6467adbd9da42b21182eda86b11d6c8543b8b5aa87ec6d03ca29d0c855264613d37d8111e6d04d67b818dfdd460457ab613b05f0a2cac539b05f9dd46c07c2bb2b19c1b2c484f1b19e3bdccc2726cb1223fda09186f050bfba1cd8ef46825159bd62b6525420cfad8e71fe7b7e6b3cc4796ff0c6b48061e18802f4e41e33d16e3fd00b3f45b7a44b138a2eee7f9bd38b2a4cd2db1ab34b144376da5ee33abe7a02883eaf7d8fd182b41a9078881906fa64c74eefcc8535b5237f3e9c1675044d79802ad3916b85abe4b73da11c2e4870487bdf00883fcc229ec41935e0f26987b44a867b84dbd5078176d8a3ec766cc8f42534de99e2dd010a164de1d10715b790fa58b25ab74c5effbf14d464132b3dc5fade000d5580ecd5f66a9904540efe5bda9282c2ab91807790f2f1428851d7e6199014707eae25f32ec71b24817979448c0950b3203786d57ce700e757a44606c3a99f09bb39a087d4e3a8b5184e0c2fe8be7dc4e978c79e9a8f5dccee09da9b9ba86752231925a2c8c806c9df5268868bb80bba39df8d9a7f5e28200b2d65f8242fcebde492603d83a814c7a3b1d4338f33d642a046685171a39affc40a64b6744d7cc04e4d0d9cb8aa7a9f192953694ad249757701562940d3984219e011e5d953ea98970071dc67052ff0fc190bd801c5d453be9d42598146854dea286bad3d1c59bba8a2b334f8ad502d7a65e954f0084629154aaa75ec37c402d80758609d0da1d830dd64caf07171d9100bc51474baaa85dcd4377acc401513dcc8c12e6175c252b154c354585a6c3517baddcbce95170b5ec1c29dceeee634223fba9093f85d34d48112e53bd84096dc3e5e1427207a604b53f34c952d70c3d71098d8c75e222f0110794f36b3c7cee8fd3fed4f9cfea838ceae2f721b642649def314ebb2923adb2bb4f1f16faa733c266f3c72836b2ebe21042ca65a874742f8e8612a961a798405b7ef777da5a6dd0af37026376e45eb780c4717dab0742f70bf209ca2bb2b2b8f8d5a741f611eb66b2ad24770a44891b2f2189610d693dd675e33e118e0fd6e097e4c68ffbf683f24ef4d7f131c89802fffc59b1d3fd76dc7e98fa838dba14f657c7a6ea9c91ef59e641d0c59998da0bad670564f8acd542af5f5c0b5c5fcdcc2abf772cc0c3f74eb7901bc41f6c915631b53009a47db0c977821efd323d2de3c2c3df00d9d82d628253e88436727680392181ccb1ae5a6a02ea963d9654021444308bf08b19fac5254ecb591c65903dca755a7019b03df24e84806fcc26269e1095ec5d448e6b759b143624049890af360f89457ff092be73c1f70b021cba8b419b5305fd2908bdede6ebb20f74f3f878cfbc856b901fd98a6bac197259b3f0b8f343b3dee78cabd9a862e2af18a037df48e3850725dd65e077328eebca2842b0134f863d0613e297d256e0f0943b8191443a9811a2ff6206196adbdf7d6620d706eb0b79c15f942b11c417f622eab0915c37d67b489b6f528c233c2cc80f15ed86357f5fea2bd7a6921ec86669a741720e60670202d4ff80617f1d29e42455f8f74c1edd6fea645061e205c52afa1795503dc008b1b7a924af3a68e1d78747d62dc7ce33f9e9da40cf8648e394f1113fc737de1931c60070d8c5d740ce48b8d5053614ee101dc6a643bd551790a5932db6868c7eed913987fec65c59717acc3d7bb61b209d894abe3712be806bc37d456ccb7b4c374ed333d23bba47177e0219e67458deddd602d9697aed7c22296315e2e99ed7a4f46611fa41d238453e7a6b7e7856675477308da91dc3eb44593f06a30012454a9203cc46dd5eaa1e639f3c9dd3650f7ffc1a9917e927d7f8faa0707b20930ac1ce8f3ffdd55456c440c152c125cffaf9214b2439de252b1c486b243a74067f673a73d08cab5293ffdb188e8dafd9edb1ac39d834418c7021646d3dcbf308cc166c90613449b221a2067392fce4a24f26cf496ef185e49d830276dfadb74ee5e5377f020ae5dc99f4cb040a48efa0c07156405e8cc6be55178fc0ff99652e2c1457155e619f580dec7a618da97e11804709a3049aafc6e18efab512a0db01f6e663e914f7f709396e846b2d75d672b8cd6c1d0c96a89d44052f9f015abcf27be3de261e2c6606812a218391f478f6617f047aeb2563419c6f00ceeb6c3a15fdc650cbd5f04cbf63cbe8b833d6133a1156e83f87f87176865edee127a5001ef497c7a32341b95c4dbffffe7e138a16e6912b427e92955eb7fdac83172e22dbeebb9735c81ca682798ad8b3b6e1ce252107313d5470f22090386ff4a79f25c95daac6e264986e17a0aaa335f359a7be75d1b6157a58c644d48efaee3bddc04041298391fdf505bf6c28de83e6169cccaf634d94bb13c1ab0bd10671a221c8c78a226eb6f1d37a3da0c205ee5b2a5b37cbf36016995a1fe62c8005de52feec1e4807eb0a79463bd903efdd1593679e40577305f27a14ccfecde0b1f9de15aaab21bb7b32c81c303c8bb83fa88fdbe004a99ae0f835378ab07d03fb971c60f4148671d8ff0f8756b39d2e74d68d2d4576299380c28364806fce0accee395d874101445780dbf4cdde92fc75a06bda575b6e3808e0dd3ba0e680c7260480d55d8bfa573bb5feb09503971864d6b10fa74395b7706a42da6f23bcd7c16fceda2e4d01702b8774fbf9bda69487c7c0d1079363dc9721165a8ef494afa994a2fe14cb14ff648b8dbf7699f8952f26bd8284e1eb6bb44c82bee81bce9ecc09d1ab74ccde6a677023058f6baff099f54afc98f04f0131f8cba094a410dfa685a224874c851e1a4b11f923898668229b8a229eaa287f59c4922e0a4e18b95046a34a23f3b5d19ae2c8bcea889e3cca00f4112785141a2e911c7a55d28c9f5032e9d54a5beb25d3946022563265aa999889a630549301d934b06e325838eda99cec2b9df869a7548b2732ea2952f964513fcd25a05c5750cb2494d53514b1884a494591965111d751ae08a90195945f526a959632424c3158d554b68a8ab7a48a5453392baa265355aecbaa0175955d85154565958cb462beda2a9aeaca2e7935517d6527b0661496012516231a2b2d228ba6ca0a9bccb2a1b386165ade28ad3552cb36adc5466ce5a5b688935b51ea2d2705d7808acb92e41a5f73d927ba98565d296417ddba2b10e1e5a8bc26925e46b5d74cf16527f5454c7e25a2bfa808b088abc0dc7709f0287d8b748068eff436f82bcdf1bac1fafb8e012c9d2e89ec0a0af250f6885dd3eddead873295a6dc491ed6ece3d3d7547c1564fdbad0ea892fb8e8ab168ddcf16a6672627f68067d41dd5f81e908e99f9577b8a4ef9aebbfc719c9aad5ed1f75bd3fcdddc7c017f87c33eeda2b4a02bdcb4871a9b8edf722fe3082e4c493a322d8d058c28dd5cc2acb2012e049bb1004326a14dd9b315e6e702fab481214f2a99da0ea7b40435606e42acc441809496933a7c6cfae45c8f3ec4071d712686f40dec2db59f03d8f3e9f0673bffa3791ae34aa4c7d55aa729012c763230e94ac64d69655b1b23a78fbe1f124b71df3d1e9e0a39263c5556aff4036b7805cfc7f0ece14f828c418139e6e15a8eecbcffa248230b6edc3f84f32b047f42dadcd23b60dcba708910000202c44f682f7789e588536d7837ca93f8e477e05e7920d8ee1303bc0c1f841ea2567118d9c17bcdfe1dc649731dc7b2b5fff41ad2b3fde743a653af3338b9779cce03d57459acc043b2d24958402edb788a666598fc9b633fa9fd3872bbd8ec7fc4cafac001d143b95ae85d28adf14007900b3c8e4b343390bd00609db41efb79ed5364f02f39eb0a5f290afdc89134f94948f60ce08d0af953f262ea847a30f2201174cfea92ad6f43ce0d3aea9e6bce3498ae5ad2106e7c8da6ee62c1ccc270c97d24b4df7ae1e46a57f220d7f4a1d7b348a5b8fce9fe20e5f989b004ef2a5f9c0bf475e79fd6f5617d3097140207b73e43ee87f7f83b2b8745b0f0b430daed0c1e396494bd4bc5bb92cde830351d4380e7b3ca60e78997bf4cfb17183e10563226a35c2373c1ea0bc730bff77bbc3af0eb6fb003ebced9e05d40e0bbd5d6cf73c74f6ff620f3f1b7bfc0767db67dde09e52fdeb27425d2f863539906c0a7385d0cfa5c054fc6a12770e6a985fa4ee8feb67df5e018620d2ae15cc1b95101f486bf7fde9a9d9ccbe4ba2de7fb7ec445f24e33ca26cbd38ab189f05146bc4397168ec918603d73f75fd593e9ad189c4647b79fbe40bc8313d3ff242718400d30288870163f9c4d7eb54feca0d39bbc731cfaa119d7f0721e4d2f11ac50e3637d1e05658ec1911f1a75f963ec8d0c0c21e63794a5a15ae1570d2b6388ddbf9acce09d0c248a8100064b1c7b9cab2b7dea1a0b8c7cfd583df85968fbbf901e801888d58426f9f5f4a57eee7959218cc086885b6991b0a7cab053b2010b24a498dff978c5ef5d93581dcaa57d5f3e362d2baa9dc0a53c081c56194c3561624c2960d9ebfd530b8815a5b0c309893db568cf103c4a3001a77701b4130a052076bdda37096c038acac2b1ba6ddd226f97bec6047a5cc731e021ce10e48819ff1fe9a3e272f6ba59c0e6f6e89dd7bbf76c698a06ad779f2b5514aec4e01b901b901a701d12a87c01fbccd41c2a17bdfb8bd61fa2f6bb3830f2b66ce52377d6eb2dcac1b3a26ddd5466d6bce126ab5916253c5cd1eb289c2a6ad96e72be9a05a4dd37a547b750ffa5df3e45d9336b5c66ccd546fc7c3736ceb9dd0d3825af50ce8255dc3ee2954cd9757cd5a949a3435d7eca02ce0341a7dcef6d5ac4aad56b3cc37ebf46fdee23f8d59ca43ccc3f3e689e5e0537982d6fb0e83e7d84e43a7511a838c8343a39866caffbb6ed329dbd66a95229a3634721c0fd2bd78f78b278787258663ed993216f493cfcc151235de364b76dad19579ba69bf58b317bb75057bf562a9eee09c75514cdb6d90cc738d0c551ced0482e3df31d3234f3a46b383fba6fdd601aadbbbd6cdbd754bea0ad46119832126c66bb039cb5e5e61d8f2386579ebacefcd1c6379d145656958aec1787d69d654575fd8a63c9bcbbeff3527292f51ef638eed88e6b6ccc1ffee5c15ba6977a1f176e15aec42bf5d0ec839795aae8dcd96bbca753d556c8695f596ca2daf51b1195b2e72b87cfdbfeb329d7ab6bc0962c24c39db39b433aba516d3a469bb2c68ae07789eb7e0fda1e5372c4b72721db35df1e074ad4c79ad00f9370ec83fd50db1227dadc46f1c5d3583e87c409f775c83888e63ce2c416f827a08723a6e1054045a855a296e5144a228f540f10934aeefe040d9407181acce50e3d829056810501c202b39407c57b2e80c68f30e2a713071aae34db4638d4267fa0e29510a514dc69b98fcffe7dd6ba97213f130edd0e93eec71cf31e09fec1f2c157fe47e869b7d868b865712af219fa7112d8352af50fab96788b4edb33533623074b781b687526a8cb0bb0abdefb0da89ddc274aeb339e7e7eae7a7642613aeb0adb005e1d6d80b8714e6289421bde999d946b8f6129ad043f883f07a1d8b3146764fa1b7350a06bd5aabd419d61832c8a26050b541b5c1a5abfd7f17aed304ed049d08c279825e04e304a9b8b0c69092dd56e6599fbd3e5b50fa9089e5b2c06da05c2056a09dc0388167a65130284c4b011101cffeff5dc0c2e7b30bd0e9afedfd7fd7e9d4faabff06f079fb43efdfd41f03e9d8cde7f70c5eede1db63e6ddc3557857a365f52cdb506490c83c2260df1e760eae4ded42da1db63b01fe4168d7fe9fea5fedf45f2dd73f8d39d34af9d1f1ebfaff77ef1c713a23fc732a2d012d9356e947c82fd1aff0bf69db91636769c7edad83f6d66a559fdddbe7e0ff2f10a123e4864e0319fa527bc0ef2ea3c165e08f5f710bbc02a7c0adf804fbc96beee44d26a7fff94c20edfb802d97e33ea01630e5ca694b66839e8a2ab35406a938a8e5c31ba37bd7aa57deb4eea438d69b149bf6be37cdfd13d6ada9ad37d5e8011657c4af19137ea61cc3ff5cc2fff340ea4d4b7ad391a620f3d3ee01a69d096fad33a13119e94cd67fce4f204b4996dc2716ad03a803a07516835a0d8346afcdf8795d54d253f2528ae84a84561ad5eb5d855a63672da68494749884f6ff48570aa54ae51aebd5939e90dcd0e866730b69c2115ed2b69b584765fd8803df0167b3363a337a3dddc81aad61668ca5ea456fbd4847d1125f2f6a223f69ecb2135121aa399d6dd74da7ae04ec4a2dca2bae45194789e6b1443d09d89375492dbe845eec49641eefe26a9df3f97f322a0d192da050dbae526b99de22dd12d0f1ac67db7ccab19c7ed4715c3254bdc39c72d668d78d528c3412a79d1ef70b4477dd48c9a2311c6f7197faab617557293fdffa631dda73e51a8ed90e99291e82113be17888a13743b0a127337347a1b39749c3f19d59a1a745b7a3198ea758efa211a1b5bec5ab45bbaebf086511aa0aefbefbc7ff2fe2509ffc3ffed133bdf1b9fb457f21f9c7577effe373a62ffae3bfeb1a3dd4273df28f9f4cbef1a84484f4c6778fc82ffaa337721fc01b971e801112ea987ca747faa62790e0ff19a0e88d6f7ce473ce3cbefb9c23f913198daefbc6778fffc857bef25de43f3dd3738852f0c6b7bf1f9fe8bff983afe103fc9bf4ee6f78a34f433ef5ff916e12a3d4bb58ef83c30d1c695468441b3a844507c629e3eb2aba81206c59ab55b794cae49fcd47168faceb577f0c0486ff09f272c192ec9ec24b0a089664f794d91de0510084f855acc44a860831b165a14fb17d9f9a4afe69c0f66fd5a5f6fef90b3ec6c5b80ba521ffa331492fff4ff67d015e5f000756bdd0175071e93f07fbe72df817f49fb3f8e72bfeb9d73f57f1cf53fc7314ffbceb9f9f30715cd01568bb02beff77e97a02ae9ec04bd5d7976d237021a3c5321a4560fd5a8e59a7d3e83c57c5553058b47ae5129000ea9fc2f29f97e023fef9d63f17f1cf43fc7310ff5ceb9f7ff0c03b647158e21b3460f18593a863a6d35546339224a5650c43144030381c10168843c2348dc35cef1300c1074c07c528c85128c530c41882082184102220840808218410c20cd9031b584c38f3ffc846be5e58495f7415f5d36da6cb139da7b8247cfe3af1d18f51ef7f98f5b38e3e60fc4e9c33a0fe5abce6edc1b22a4a1742feaac45efc66edaf1c0739843fb329a0ff825b7422e0b0e8e34ee4b7a1e420b4bf2892ea74be3bd41012eeeecb21b17702906a76355e1d25f5200d1333c98dffe01ce53fabdd53c49ecf6e4c20db87d14925e6be7da72dab0288c8f4fbf11d3e5494a3eaf1b28594bb8357beb1ea7f26495a3ed76b577e4fcce7841c39047c91191c9c1eadc21dbf0f3e7cb889153186642005b172c15bac60783f8eacc9010dfd0ad85c37d0223688c7cf2c890ccf3937ee20fc9c76d3fc56146f2186877b9855610737e5392ff9681f76800cc7aaa7f6840a518c7a00a4fac53fe6f6196fc7c98d3c7139af6bf1b113d5d9717f68be7ac4bd40d7c40a1e9cdfad4ac63dea903ab573f6661f28178887f91e53932267288c856df4145d7c1a303b5fc9ca26944436fd5bb7ea3fccad9986b8824abea18dda7734b61d00ec25e78a2a5ae69d6374366dd6a17c31488076852503b7421448375ca9524c0abf1ea753abe0ee1b93463879e5f34737ff9c5dfac2b7bc277b9fe2fcde20b1f93f04a7fcf01072d64bfb06f57e23057d89830f1930a7c9ca24bb0e09045f822676a69a07fa19f6e66cef4617762c11ead095b8b9cc1fd693ad7ee7bff13229d992d9ebbcf147aee8232a8dbd6cc222b4edfe5a6c5822e6780e5d40a03f002a294f708b6c4ffb5cc79fe1454e5cca36275cac863271fa266cc8544eb735757c05bd161ea2e4e547cb26e8b69383b6839565d2e98c6b8ec4e3b5f30bb54cfc4921f3165e7a768bfba61136b3c91e0e6046d0c455b9262c8a15917fb147d41cfcec8ea79a282953bce90b19449063dfcb35fd7e00b63a148d715d5b420b0d9518df711577efd0da287b4c439706133ef76c50a619a165172fb78ffd51f90dccecd95bbb5d55c47a7f315f10597bb2e7ce2ad817ddd930dae33cf82e80ede846c4fc48b5e73326861b38c7c4d0109b93e6f1fb1dfeca67c809b1332b568420b61deaa163012479a7803c66a8e64fbabf50eca213463cfdb7d69772379c325f904ec78f8b599cbeea954191b3ea4f22b324e5235c82f237b407f53d68bba0ff9bff1147cf9e232ddaebfdd190aee461576d417cca2372e52728bdf9b851c8159e8220fd48767f4dc5722c8c7c0f9735a57919bd96e3ed46bcf02eb320658dbbae214e66d73387ef305ec080a70d7540fd92c8c8d8ae9e4a2efc33b989381b9e71c71a0f76dfd036e0706b4eb19db506c2a7275d1c045ed3472ebf2b473265f0672e4feaa94403f293bb3e76561dca8df9e1f0c13567bc7c446974241410e7ea3fa9413b72e9e3049759d3e75b91f21e91b35a723729db9f7b37aad3298fe9ba9a97b7435313d962f1be8d273003f7b22fc7cea67927bc1ad8ef01e3d1a71358f8aa965b0fd5f6a90638d7e9197df1052dce29923e84732cabadd92c055eceb4d99eb27258d13835f88900cb2bdc17c1b3941028da648fab2b5acf23e83578e23b78a239ff30889d1c3e675ca2eb41b9ac0ad65bcf8fa113cb020cfddc4841424333b2638e30378f7fcadebcc7dc7f92fa2aa7fdc5b58cc763a6c15a025b1b7a8e21003b4f544fbb6fae4764f9c4987d905b84abb53895e83dc41d40f777103adaafc155223a8e66cbe0d88504888af4cbc66516cae2843f6846fa9fd5b21422c84414b511019657bd28dd7dbf39b860667771b788b5bbabe385fc30549c6691de840065d2f5dc7c0410e07affef63a328d60643c5d727587a75eeb17f97c63d1c1896c400c16907ab8d9b8e71601da98d477d641aa2cc6375f4cab673033606c7a04d9dd88388d1691e99793a30d3ff852164437edfe57c087cdb30367b140c36625d8a678d69d771e8fb6dd8e6bcf0fe3867bb21a273fcab1965c434ec1dceea0b7de9d56d1b07a788837b7506adf69adb9cd7ac1a12adef20eaa401588a505137d61c5df39cd7dbc1919b587015b07412db79c7515e62b31d2061e0eb63f1ad8c70f4fdf70c874aaddff3e78e5f38a2a6e45c02b8239173a266b2e7da7dece613dd7dd182b3d74122e023f69e324cebf98978f63bdee42eaf70514209269fe81923e978ba2d27b73a28be5e8bedac3712b5efc0bc1d1133b8579d21907bb8187b967fde072522fbaed4cfb07d9ac022c195608b6f3406fcc3fdbeef8eadaf550fc1829e6d420f1fcad8133a77cccf61ddadef767f9ffbccf5c7269b69ced4a9943f5449f886f147165227e6e0dedf3251babc3c45e4f0edfd4fb9e29a9ce07c0fea5f311c1f085fe5167b1c1f43e276f572c3358712ae188648bf475e9fb4bb567c19d26c61e6c7d8b68bf2a844070c00ce747ee3e1910431fff4fbc221851b24d7c10be3a64933688457d6d5c7b6c9a3d1b81b3c6e0e86d5232ade1eda09cac107a61f01a7f11331043429745760ffe7cd0e270316fc5d7db4e9ed7cddce075345440898e7eb6c5b3c0d0cf75ea39819b6fd516f48d98ab844572dae5b75ced98a4926549d0a3b2855d2583955f4a09b4b4bc042bbfa16c9343c3c8847ecc278370f5626d02160be8c10c909157ee69c838e3f64880294e45c98ea871200507d105cb49575ca1a98198f44a4f98f730f152076df6e3169955e5d5599c9a679b0ee78b277d6433bd38052de6084178a218237861f1b46b6a080419511cf7baec5317e413fda3d37fefc7072dcd5772a1d6b4d5771b5f51ff0ba5008d045cd649a340c846362501b26b0bc32bbd04bbb7418bd7600c263afae0fba86bd5068ca829156cdda6eadfa69be5b948bd90788d5d0155204262030ab07c9d1b31c6fb3ef97bf4e3d224a4dafec7c6a876f377830b3fbdda3e4363fbe925c605ca67263fc2722818716c058efabe1675df6e67accdb2a211e70cd62a875ad7ac0ab610bd2ade017c6f5c048ff8fda7873f33c9d162a992327a4741692d1e226e3bab17a385530bdf75816d9ca20668c1908b61191e2f2a55a3baa812dd2eb33f0775fcf6b117ba8d10ca93d3b8764f30b6de39f6c1bff17f779b54dbbd6123277f1e2f20a7544f67eb04d35672d0c9e664e9be26523b37c7049d71790a7fc161c9c16d31abf16d360b438bbadc7b9417dbf83152147a0ad5b19a014b1a2155ed599c80cfa4065f11a4f264cfacce5f31506656af201fdf9e132fc1b1cccc684354ccfede3fc1f48abfd01e45c41a30c72e4b474f01eb61e8ee87b11ba9ecf0643eaed79da2dbff9c2f9c4ebf1d82de28786a140bb507589d76f87bcd0a1c05917da4d83127331b22b1de493fc8d298089f47b1013946ce81dbf788ba1503b65548dccc181f66359d7d1d6f7f8bc0e8f47e1dfcb4a87e7637a63f3881ae216233dd1a94f2b54d574785bf62f0e85842044a974b6b376c401e9adf1ab54e37aabfc61336eba03ab77e95588f6e1fc119276c72c6ad7aae9a6a4b0e11fed726e38316278e799dd1e53d967c3522f27742f186934700a0d6c481a0caeb904017bd91f768cdfb47fd49c1b652a25660066a3206a1c961443d13efb82d87158d2c602a265dbc508629b404a735d90039b5300bdef941066031c38dafd11ce96cb7efde5aa237754fcc4069a9a777868d41ff1e0938d6084c08b3f6381e2b72203befb369fa5e4cd6d943d32c54e6c5dba858fff50fcb06bd1318facc8ceaada5d6f0dd8b5fb294005f47f3c6fe6bb39df47f9a68ae350b1f1a5f1d4cf76e397f34d9cdb35685fd9c6b7f0e69bc0d5a7e5742cf03298f011a42702cf5ee10b54dc5eef6ff43677a04f466e12460b63c46d33e976fbc75acfb636788f9fac54fefe73cf597d14d208e405106172386d78dfceb79f3cfafd04ac91f56d718a7b41fbcd2542a1ad76e65f9b0181f7ce26f0524da6719acbb1d766deeefb1c7663fd3d2b1ef23a38e36db771d83d541af1278c20663147b4c4470a3b9cb25e2197a0a930fd45966abc228831da5d2f2242652b197869f3d9f5ee0e57184676ed6ddd17f6dc446a56153fd65d3a03b0419d000875028204233b441862aed5ec9ca6a4f54e69f75b45b986eed7aff2603be6c4ceef536e53a267f1917cf2b8a1584b8dff06134fc71adcf7aa204fc6b9c170cbf71ed34f61b92ff403b60fed49fd4cded643bbe525163bd7f7033fa84fefb401cecd3c73ef2e40c11f0ce5d1db68b7a6a55cc6f7342dd3dc804c592e6a4f5ce14757397d8e0e412bff3567113c1834d0acce4435bd62f75c0ec9e1f63260195f3267a3438eb31b815e88ed57c17310ebff8d4016d18e6e11c10c5284ed245a8e25bff1af58fee05291fe7e80bc62113fcfa4a5481743b6f49678d3afec0f0fcf87bc0a7f3ce67e42bbdc9872456f306cdabe57d06ebf9828aa46ac0362f84344ed3fe0042f93f210b44c70a267bc63db80089562c11af1037351eece4187d664d47f7d90d7c9f04e379e8ca1199ffad128052593a72c1369de0e0814d52dabe282325d31b40bca6a3517439421d14f475f135d9d07e21f414ade37fda1bd317ac4e6c410a30f4dcdc8ddf1c6160ef815d8019820dadee6d508f9b7c8fb845a532f0d0f7e6e9b0969c8f6f11d9cc6ab4f6ffb2178bbbcf55b30c03f72ebb10b3b5d92b9a4fcfe7a86ae61210d49bfd0e32ce7b5d8013bbdf7d305be8acdfe2a059295bc8af62277dec561bd8b07672d67e5a6b014d943f38640aa2fcb30148dd9a0b588aedef88e312dadc4d262918c74ec428b3487061770999eaf18598c05b9dc3974d799e6477c5f393f15af75c8f1c93bdf41d5bd86b7b38c3d4f1c0546e2a5da6f65642806ae0a4e19273f1080480ce9c02bcede0b77dfaecc1eb94bffbbaa1a1160fdffdfebff76c761fc2e7c487f74d37978001eaa5a155b68f4452055e861ed7fa1dffeb7ff932d5358278727c8252fb4bab2243ff5c08de50b93eeace90cf67c51fd1124276ccc3791e2cc353e96e6848df04c682e4dcf29ec72c6295fdbe1c6985e48c1a51d9dc145ee0c8b33f8e7cac4fc5409e7cb8d3fdae3d2303885065c1a9b53d87487904e2123672ff83a9d3029df04cca525720ac338538bd8c2f23bdf1d9a720aad6e8c80177639e7e10bc08d2df142346e4c831796706c8df14744c7c6f9ea71634ebc708d3b44740afbb832077e4ace91b5fb9d06c7161e7fa4e4843d3d932377c880533875beb8f8a34167cf485613bf1362960b8e3ffa736514fc940927ac85677a7336ea33804b9b9dc13d2e8dc9194ce4ca6e3fa5c059c88d19f0423067bcf33ba24b0b9ec236ee5096732a36cb25fc231b2e0c9017f6ca8af829384ed804df0486234bd0ef9c38ce94dc411d9c071bcbe385c14b13e214ca39d938cbe43b67d6ab803f12e2845df14c5f9c323e9e6acb91d5fbdd9b1316c333c5b9e31c86cee49cc1046ecc8117aeb9b32f6710800b33e485b00b0be485796510fc949e4bbb9dc13f8e33a33bc8cda59d710a75385383679539d7e19be4ce4238830f9c7188df259d2c477e17c68dfdf0422ecec7284d8d53d8c399523c4b78caf678aa07ee6c913348c63924d94af2bb362e6dd02944e2d2c2388534dc599f3318e61805fd6ee9cea43883269c99c4b30a9db003bec9971b93bdb080a34b863f7a73461a7ea7e48cc0df71b9312b5e48c7c9eaf33b164e58ee938438d38467ed71463d7ec7c0d929198ff89d933b13e20cca3959687e97e78c4ebf4be02c96ca8cf8a938aeaccc4ff9b9b23a3f25c41961f85d00c797037f84c4d982e17785cefb4899194fd574ec065fdf95d9f05360dc21004e21219756c829f4e2c6fcbcd0886373f82a7263c39f6a72be96f8a336ce14e465185c5aee0c0672ac239f06dc191067f08359ae3dfec885e34ce90e12e3d2f20cda7196914f2837a6e48559ee6cd01944e24ca88ff9716c0dfd4e8d2b5be2a706dd199733a8bbb2f85353ee6ccd195c3a5b3efc4e7874a5f9a309ee2c903398c59dcd71068bb831a71736728ee507e46455f0bb10cef47d2c8e5386c853457096e8dbc18dc5f0c2404797923fa272e6ed23974bcbe114b2395f3dfc91195726e5a72e38592efc4e864b5be314fa70ac07df3cae0cf7530bcc7abdf9a3282e0d855328e6ca30f8a917ce18e56b2acc7abdfe4887d3a5c11f5570631dbcf0cf8d71f1c2a79385c3ef6eb831a5176eb9343b4e611297467406fb38b65ebf43e3c6602f7c72c6347e47e54c3ccfb2e3ca643f55e5ca4cf8a9276eec8b17e671c6427ed7e5d290ce20233756c40bc538614fbec9036742f0ac5e99123f55c759596950a7508ab3543242f13b28e7a0632bcaefecb8b436a79077c25e782638a76c90a782e0e872f2475766b908fd110d37165fd8e4c2a45e38746318bc90cf8df17921107786c01994ddd8072f7ce1d2049dc218ee1004e7540097c6c429d47369889c42304e9819cf54c79d593983ae4bcbe3143e7165473f15e6c20e7961ecd2766750eafc4fb268f85d0d3736c20b7d38654f4fa5c0b9149d357106f7dcd92167f08b4b4b72068137d6e785808ef1cdef625746f453594e18ec8f86e752a5c9398509dc192467708d93a5f43b357756c2198ce0c67c2f7ce48481f14c6a5c59143f85c71d4ae09c9add999b3348e54c487ef6c6a509720ab538abe57bc4b1b5e777899cbbc9c4e3635037e6c20b99b83314cea0984b9be2149e7069774ea103b35eb53fe2e118e3f81d964b8b9dc13c6e6c909f625d5a05a70c5fdcc99af2bb0e8e2d38fe28771682af1568dc991b6710d09105fc1d1797063b83789c2c2fbf9b7363605ef8c1a51170062139633ead8d4b8372068377067506a5b8434a4ee12137b6c60b0739b644f81d2217f6c70b3f9be41be76405fadd11270ccc3761e1ca3af8291c6eec80178639b2f277155cd8f0854bcec8c8efc05c9a016770eaca58f8a92b6e4ceaa786ce54f32c0bae4c879f22e3c6e678a1227746e70c2e706364bcb08f4b23740acd38ba70f82338276b88dff5706cc97e97c6a9c7a5d139850b5cd9939f227367759cc1238eae397f84e6aceefbc1d9383e89cebd282d8d53c8c39115c8efb6b8b336ce201057c6c14fd570bac4fc1198f330f1f5f44780dcd89a17a270c2d87826a71326e899ceb8b13b5e58e8d8aaced638833edc18eb854e8e3300eea036e7c0cede9cc12a97c63b857969089c42d99d197106ed9caf26fec88d3ba3e10c6a70e6eea30ce7ab903f3ae484a9f04c1cdcd8ed854c272bcfef54b843bc732a2f6d8033f8c89d2970066937f6c20b9bb832283f55e6d2c6388536dc199633083b4b438c3bfccee8c2207961d1954df0537dee6c8f3318c599c70983e3997e4757963f6ae08435f04df4dc99963388bb3324ce60086724e06b7aee8ccc196c72c2aa7c933a5786e7a78c382310bf3b3a0be58be74c2d1fef385920fcce841b13f3423a677aa94c8a9fcae38cbedf29706305bc1082338af9250fdc18162f1c74e61c1fdbe0cadafcd40d57c6c34f99717419f047085cd9083fb5c4ac57087f44c595f1f9a9268eae40fe08860ba33d52efac8133583bba6af8230f4ed8d237e1e0d2c69cc2a413b6c13701e4c2227961921376c333897046077e89ecbc8dc6cabc10cfa551710a51b8b1312fbc736366bc30eaceb838832e5c9a9d53d8c00963fdd1d4d9313e5fe73e7c0338c6dc0ff1716465f13b264e191a4fc53b77ea90ed1446dda108cea925a72b853f62731ec457c91935f85debd2c29c422567ba49d81dcfc4c79ded70063bb832117eea880bbb7ae16ed68bce1f4d7174b1f0471d9c35932c3cbff373693e9c420f2e0d8a53d8e7c60af9a9d79df17106a738b2cef81d1497863b8380dca1a55378756618efbae38c6dfcceca1d929d423dce160dbf73e4ca08f8a9313746c84fb94e16ee77686eecf542026e6c8a17c6717c95f147bf3bcbe20cae7069729c4222cec4e25d4a4716ec77642ead8c5388c38d05f253796ca5f0bb458eaf17fea88b73463ac4744e7d6c09df3fee10ee14027263857e2ac999451f5bb8333dce2014479621bfebe26c1f9f00dcd8092f1ce2c6a05e4875677d9c412ace6c4a589a6f12753a9d2c137ed7c2f1d53fc2e1d2b238852bdca1a25338c89d99710673b8435cce29dd0923e2994e3867205d62fc519f13b6e493e8385d64fc5109e7347c73672ed1a12ee754d11dba724ebd6e0c8c17ea71d396b008be490b6784fa5d03a72c926b8be20e5539a75ac796ed776b5cda9593eaa790cee4e15988dc180d2f8ce2d2a89c42d695d97e2a812bfbe1a7d2b8b10bfef74c911c5961fc2ed091c5c5ef9ab8341a4ea106674ce2774a67f3bbc18d75f142df1dca9dc240aecc829f62e1d24c388512dc191967f086634b83df017263b5174e393692cf036e4c8c17429d89c047388e2f24fe888db3613406c40bbbb8b2a69fd2e0ced49cc1295716e8a79eae4cc94f7539f38d8f657065493f25c12c57d51fdd709ec477778c38fc8ec959413a63e40c96716754ce20eb1c4db68e84e5f14cc1730cfe47aecc839fdae194a9f154bd3392f03bdc8d0dbd30ca5905b256e477bef1d85afadd1d6734f3bb5e5ad52994e326d147076e6cca0b27b8312e2fece0d88ae48f9e9c09c5b38267e47d2d8913b6c333ed395fe35be5fc8c2fd399657cace90e7d39a700b8b32ecee00b97d6e71486b932323f95c2f94ae48f123961167c932acea47566e60c2a5d19083ff5c369c759dab7cdf9c2e18fc038b6e8fcce90d375c51fe539b29c7e67c58d057f8ac9d91afe510127ebceef52b8b334ce200f77c6e70c82395b3cfc2e786459f99d0777a6c3196c73690a9c42da19a37ef7c0a5e9710aa1b834174e219a1b23e1853f9c31cfef6cb35e4bfee88759ae47fea8861b4b7aa1033716c60bf7b831145e48c49d117206bbb8332fce200c37e6c84f0570655b7eeace1d9ae09c323a5d78fe28cd957df9a93cb35eb33fdae1ca9afcd4046732f2330d2ecdcf29ace0cc2fde75c6d195e78f32b83318cee005673a7d0c8e2b6bfd14d39d997006253833f83338ce970c7fe4c59dfd7106afb83311cee096b35f7cb68ead2fbfdbe3d8eaefcc38e312bf1be0ce583883666e8c8a17ca71677fce20993b5be20ce6b9320d7e2a86b3a5c3ef22b931a2174a395928fcce85e3ab913f2a74654dfcd41d3706c10be15cda02a770e80eb54ee1d399323c4b902babfd14027788ca39c5bab33bcea0127736c11934bab30ccee00137b6c70ba74e969fdfbd70c252782635272c8b670ae36cf9fe48804bab9d413f6e6ce98562ce3c20d64e6183bc907564e9f13b2c6e8cca0bcbdc591967108793c5c8efbeb8b0a9170a70462c5f1374695b4e61eec6e6bc70863bb4e59ccadd990c6710834b3be214deb9b4374e6110670df88a70634d2face06c29f9dd1b77d6c81944e3caaefc549b33b17c7ce3caaafc140767c6f1310d8eafaa3f8ae4d29a4e61af4cce4f017169564ea1eb5c825f913b13e30cd67063795eb8c3a5fd700ae1cc7a7df92325ae8c849f62e24c1a9e35c8d1b5e58fb69c3038df449133f6f13b072eed75067f7766c3195473b63cf81df0c6722fe45d5ad429b4e294fd9e8a810b4be485b3a3cc8ba79272d6ca97cf9535f053201ce39fdf2539ba3cf823339776c52954e1d28ccea0229756e71432706cadf95d20b35c74fcd10ac716167f24bb342e4ea10b37a6c84fd1ce59ec16817126d2471a8eaed71f49b934474e611a9736e7142a704632bffb1821f99d0447d7117f44e7ce363883522e6d8453f8e56c31f91d1ce7eb8e3ffae3c63878610a7748770a0539239adfe5b178be7ddc181f2f1c5e59013f65e66431f95d0627cc8867e2e1ceea9c4106ce08c2ef6697c6c129643ababcfc119773401226c2339139b6d0fc2eead8faf33b466e6ccb0bdb5c5a08a7f08173367407a939bebcf8233bceb8e777b74beb191c74be4af8a32bcec8c1ef5e7796e50cc6cee45298202f8c671ce3774d37a6c20b8fb8b1275ed8c69d399dc125aeeccd4fe970f690c8b2e2774bdc57a13f5ae47c49fd912297d63b85f1d86ae177846e6c9147e1595067acf3bba19bb58f0f9cb246ae2d8873587449f9a3044e99224f25c1956df053325c99eea71ab8b315ce60994b8be2149670654efc94d3a59939854a672ec5d604bfe3e3d25e3885169cae2afe4884a9036e2c8217827063685ea8e70e39704ed9ce0cf4ac47cef17c595726c44fb571b2e6fcee843bdb7306bd5c190d3f25e8c6d4bcf0845336c55319ddd90f6710cec9f2e1773a9c2f34fe088f2b1bf353285c9aed0c469d3191df7d3961683cd3a0731c3acbe30c3e71d68ecfdb1d42e09c925dd9929ff272b22ef89d9ef3422a0be1a78ab8b316cee0995326c7536139613f3c139f2b53f353339c23903d1683efd3b165c2efa4ce9cf5a2e08f98b831447e4a76633ebc708b53e6c6535539594a7e87c191c5c7efb238b723be16f8a323ce97147f14c78d5d79219a3342f9da9e1376f44d625716e6a746b8343f4e6115c716a13f1a60d6abe98f8838eb2bad915388c67954ba71c25c7f44756769ce600197d6c3297c73b604f923a4d345c01f6139b2a87e47c6f99ee852e18fdadca1024ea1f0ca0cf8a9339736750adfb8b32e67b0e86c59f147b12b73fd54d32903e3a9a6dcd91867d0862bcb9f927269569c423f3796c84fcd8eb185df0170638dfc14005776c44fc9716c49fd91d299007c74e1e8eafdd1029796c1293ce0ac2d5f2dfc1117c717187f74c7c9aaf33b14ce249333a43b088c3b3be30cea70ca08792a301746f54225e72c5e5d186744fa9a06274c8c6762e36441f13b242e0dcb29849db02bdfc4ce8d99f042216e4c8417ea70871e38a76e274b86dfd17087c09c53029cbf9132439e2acc954df9a934b35eb93feae1ce28388347270c804f92e3d2de9cc22ae7544496d5efcab8331cce20076784e097247069029c4143ce34f32c012eadcc2974724c023ee270a69f67f171e69c6411f0bb3567baf02c406ecce8850adc199a3348c08d09f0422c3736c30ba1385912fccece19cff85def9cbab1302f8c7369ac33e874eea5b1412f64e48c65fc8e7774c5f9a3337716e70c66b9323d3f95c4191df95d0497c6c629fce1ca947e8a8263743d0d8e59af08fe6889b373b05e65fea8892b13e0a7b81c5f78fc512077d63b83f12c14c932e0776cee1003e714d17919dfa53bebe10cbeb9331fcea0077726e80cc670cad8782a2a17b6c80b896e0c8417c67061c1170270c6207e87746c12a539710a4738614c3c131597b67406af6e2c87175a71c24a78260c4e191d4f95e58cb11f0a736c81f1474327ccce3389b9b4364e211047d6ef77575cd9eea7c05c9a14673c8577dc599933e8e4cea4cee0187748805368c8791dd115c41fc939611d7c13442e4d8b53c8c2a5599dc2392e4d855338e6ec9f2ff01c8459af0e8c3b3b73060738e3ee6b169cc523595a7e07c219e7fc8e7616816f09e7627236bb02603913cdb3b2dc58921756b9b2187e8a8b13b6e59bf0b9b4164ee199b335f547504e58ef9bd03923d3d788387388672d32cb75c71fb17069684e2101673af2331ece179f3fb2e2149eb0159ea9cd95edf053659c735cd99a9fa2e1d28038851f5c59d14f397069299c420a6e0c8f174672695b9cc216aeec859fd2e27475f147239c5de351e82c7806dbb8330ece20d39d417106fb5c999f9f9ae20e3939858ddc18d20b1bb834df296ce2ce3e3883588ead42fea8c99539f929317756c319dce06445f95d9be34bcd1f3d716376bc90d0b135c71fe9ce18c6ef986eaccd0b5538b380c6a0bcf0cb8de979210fe7477c8d2eed835388e58c787e57bbb21c7e6a8c4be3e114ba3959497e77c1f9b2e28fe6b8b2a59fc2e08c7d7e973bcbc29790f325c71ff57169009c4142aecc859fcae28439f9264a67037d879776c129847269489cc2104e189f67bae0ca24f8293e276c8f67129e79c8cf20b8330fcea095f338be59ee504fe1a03372f9254467fc696c9cdb906df2b5736343bc108c2b0be2a7d8b832333fa5c299207496c219a4e00e6939a7706725c86af1993726c84fc5b30544670c9c41a23b14c0292ce48c0afc12d79559f92936b35c7efcd10ba7cbf6474c7756e80c9e71b2f6fceecf95d5f0535f1c5b5bfcd1ecc2647f547567619c411a6e0cf853ad3b94a7d08e59af2a7f54c4b1539f51ee4c853338e6c86ae377529cad2061147c93184e580ecf94e7e852e38ffc9cb1f6437a9cad26bf9be30e35398585eeec8933c8e7d22039856b9c51cb2fa1ddd91467f084538d5346e8a9c4dc58032f5473ac0ddf448eede08bc78d35f14235ceecf32c3d4e181fcf34758c6d7e07bbb13b2fbce1d26c38856ace03f8e538d38e8fadb9b4074ee1edce863883738eafe01f3972be807f64c8a579700aad5c599e9f42e2c6702f6c3a5f63fc91ef6cb5f99d2037c6c84fe1ee50ef9c8a276c806f42c099799e75c79531fd54065786c24f4571be04f9a3422eed8b5328c399677c8cca99f9b9746c95f99d1fc7d79f3fd2e2c600bdd08b1b33e285635c5ad2192474697b9cc2288eae11fe6883636b8f3f5a726952a7708c1306e899fa5cdad32964e2d2009dc238e75f7ca3dcd80e2fc4e284d1792609cec8e46b644ed89a6f12c8b909dfd89525f153745cda9e53e8e5c6a478211c6794fa1d04674be977749c2f2cfe888e33db3c6b833b13730677673ce4775e2e6dca19b43a5936fcce867347be68ce971f7f04bcb1382f84e1d29a38857b2e0dcf29d47265737e0ad0ac57963f32e284e3d2483885109ce555e6c34fa171bef6f82341eed0ec14ee717c9df047581c5b81fec875631ebcb0851bdbe08526dca1db29fce364c1f0bb19cef5a82c809fda726533fc941727ebcfef60b8b341cee016774882738ac99d197206059dc5e2b3676b8d3fba5d58232fc41dcb04eb15e78fa4b831437e0a7663bd1792394bc037841bebe1855adc19a13368c6a50d720ab7b834d919d4e3fcf8cae08f029d32aa7b5b3a2320bfd37267be33d8c4a5c13985576e2c8e17227269624ee1eeca70f829316e4c86173e71d681c2883ec980a3ab8d3f52e1ce82388320dcd9f00cc671630cbc70837328be4d2e0d8b53f8e7849df04c1adcd9176750861bc3f2420b4e191c4f65e5c6bebcd0833b23e10c4270a61e1fe3e3cadcfc540e7796c0199c9d3bf01372661f2feb5d58d50b995c9af014ba71677ece6005c7d69ddf1d72c6227ed7e4ca1ef8a9395716c14f917063b3171a70640dfa5d153756c60bfdb8b400ce60219746c72934e26cb9f9dd20e7eb903f42e47449f047109c31d0ef9e9c6bf0437265717eca870bb37aa1d19de57006d95cda975308c0092bf34da6381383678d39b3896739726372bc30911bfb85477746c51944e1c6a2bc30823bb3e30c2671637abc507869ad33f874b2a47e27e8ce5e3883165c58212f7cdd189b17fab9322d3f45e7d286a7308e1396e59bdc39abf4bd73870638858fdc581d2f5ce4a6001f5f38cab678aa28e7567c07385b36fcee91f3a5c51fd571e61191c5e6777cce5999403c4b911bbbe285755c5a1da7f0889355c4ef7cb8b038efa480b315c0efdcb8b4044ee1ec0e49398555c75698df415d19113ff5c6b1c5c0eff0b8b12c5e68c795f17e6a831bd3e18557dc199e33a8e58c82fc6ecb59d657cd95b17e6ae9e832faa32a47d61cbfa3e2ce8e3883778e918edf65b9b1dd0b17b83432a7b0c999697cec82b30164867956bc32383fc5c371a6bb83d8dc21d629743a0bccee62b21a23f3c210ae0c819f7a73875ca7d0776763ce60d2a501720ab1385940fc6e8759aedf1fb570637d21d2b916df02ceca902c297e97c40933fa26ac3332f04b605746e5a7d65cda9f5348e6c61478610627cbccef44b834434ea1a01316c53369716537fc54187716c91964e3f8fae18fceb834374e21a059af2d7f94c499363c0b786351bcf08d638b80dfd5718c29fcaee88c4a5f13e1d286ce201f37667be1d295a5f929172e4d8753d8e69405f2545fceb8c6efaa9c7575e8c9298ce4c6a67e6a7765bd9f527365b99f62e04ca58f375c5a943338bcb30ece60ef74a9f9a331471619bf7be2c6cebc30cfa579710a61b83308ce60005786f453119c63f18572675667708e2b2be1a7021d5d44fcd19c23cbcdeffa9c2e287f94e5ca12f8290fce7af95671b6d067016751c864e1597e1c5fac3fcae1caa2fc94053706e7852e9ccff9f6ce403883089c2c487e27c68d7979e19b33daf13b046ecc8d17167261c017b6ce9bf8221d5db23f9a72c29e78262cee0cd0198c736610cf92ca8f25abe56ab9fa2b6d672bb258ae4697ecd56ab4b58658ad77c562b36ec1622d56ce5ac97275a257ba6274b95a968b252b11cc658bc17a6c0270e63761b2f395acc26ac758ae0863d26cfdaf9eb3339bc7a6651fe6fae68a2f9a2b078bc160ad781380dac7a1d935d9d95dee4a25568cb10630cb24b5da3f99f5b45943bb86620e7d2ba2cdba9da72dba8c2ed138a224275da4595d772febd6b32dbf6e2d393e000cf66c972d23d1b45933dd034812e518d1b069df0278f64ef2018c862ddd9ab5ea6506eec9747373ec00c43c84c1b72636006ed2b875b74e720b81ff85a2c3f89b3cf907b0d341b84c8edf8ef21c0afc97fff3870d67d7dfff7fa85b7c5be750fc9fb421b396dde516ceff8e4ef0506738843f8eb42b5b09767dfa194a0bf96c8085c1ff44342a6a4898d72e33c095f4015efb033c26476c5815b0834e801a8910e04ab880fa4505aa5105009b0b01788b0a410a881470a444a0860d023c3a81ba892280d7aa40fd6a00b8d11b508d4a023c96811a0a2f808d72017f2902ec201880c726a899a4f4d1da1fe02f2e50071a0438145800377202b6560154e558011ec810e0b000802f2914fbd508f05611c05b80808d5202fe0a033c76009c6aa7642942e04a02805a8917501be1019c080239334d899ac995574160a4c719f040840077f9801b1d02bce504d481a2808d92018f04401d4100de4a03b8ad06a85d3fe0446df4394e003513606f3d01dc080e6007c900f5ab10d4b14a6ff1003cb631a47104e0468e000fb408b083fc405509a0d8b03f80c3f400ae2405a85d18007f228bd72e3f80bf6e4a138191d3a82460edd802dc4a093812b08d2a024ef4469f97cc815a091cc001288abd844becb804352c0a70233aa01af900b79a02dca5032ea510e02d3302e8adc0614240bda491d8ae40a08e37e0af2b503319a41544914276e9011c0600702237fafc8200ea1807786c0cf0f806381320d84683006f55011c3608aa835a006e54c71b436106f0da0ac05b4b403592001c96043cda804dd2c56b5813e03100a89106012bc002b19914d2460100dce811e01101a8630bb88b4c93690abc7e75015ebb02351341ba4bccee161350cbe488352a0060ede0026c0008bc1a7503702573006fc204e0114b371a041cc607b0b614628d7d8095530578140335cc09d8a81cb04456503351046a2340805b2101670a02b60008009b9b20362c0ee04be8008f7680c38450072a04382c08a88dee006ed504b82b03e0710ad4af2aa889229053dc21b15f89008f18406d8406b0b508a08e4dde78e88dd84ab6806a2183a03a480ae04cf6001e3530a4b516a0caa481d8b040a05a54c66b232860c328a2b780001e1d00def202d73f7ac0614c80b358006ed406b04564c41ad502fe62006aa34080c70c800581508f66a06a87166001590458411229642445a08e32e0b500a02a870a70581ec09f9002b5ab10e04bee0087220be04c7c50b702018f2c60a36cc0631aa80ab208b039055e1b21023c36416c2238fa348a08b8944780c3ac803371ea4cf080aaed8bd7ac1680bfb4401db90037f2018f1f001be504d82816f05807585c95d8b62baf95a001352c083cb23964256a003bc8033c7695015696a5b7c800602990007725010e4517c063512147265005241160a39e006ffd00fcc508f0d722c02311b0853c41f596c08d08016f4dd1c74651c05d82003b680ae0815cb15b5ddc8641018731b264d80f38d301821c878023e9d1990cd0e3408a008f064055d640ec264800ae4410d44ac480daa501d4487f00779d81da488e4376e580c38a001ec700870902dc08085c891cc05d00007f11020e001fc05f6080374108589c95d7f10bd43029c09110e9b101e04656c0fec1034ee4c59ea544029c294a212b3103b81232a08e1c1cb2923880430149ac83eee05143bc000f1408f08804b5511ac0617b008f1040dd8411c00e8a01b8911ac0611840bd2404e0302280136181b3d10f584014010e0302382c11e0ae0a90860d81230dd246d180c38c00563608f01614501b0505590916c097d8019e5303acac061c060770244680ad4900dc050870a335802bd9033cd280379107788401873d016ff500bc7504f008e58d6365802b7903aa835480ba95c5d0483ee05282c09bd803bc15441fb7c2289a891ec0a5a4109b76c6ccae3d803f5126d6282360a360c0614b801d52026ef5046aab03a08e4a501b2d026c540c380c11e02d2480c71ed44d9400fc8932624738c0a55401870d017c36416c234280d704806a005962950d41d51030c0957010eb2038eda014a036ba823ae680adad00356c079c491e50cd25f01a4600f0170fd84126402d53e0d556410d4b021c5607d42d31926ce406f0991cb1a1d002ea9815b04303008f1e0077dd71724c00ea1801702556000b82233daa39642683803321a42b5903d89c07c06186406d2484da280f60e5f080c30801aec404e04d8c001c0609d4910cb083eae0b1922ea0369ac3d7a821e07107f50b01608fb4c4965208f84b0a781c785c63c8b51780adb100bc093ec0a51c027c0995d72e3c80ad85016e6407b0835e002e05081c6911a86b59f0a8000cc47e39005c0a20c09744113bd6801d64078fa55c011bf700b772023c82813a0e00355118398d3a02ee420458a22880cdc101ae0400e0510b70571170a333a08e0b007b1b38ec0a78137680bb02d81dcf4055802daf5d51c00e72015843b8008f05ce0490ee5282340c10d42f2f50bfb60067f20435cc08581916e02f2bc06169a07e7d011e53e035ac90d1b100a86172002ba7075c8a1570581fc046e980bbd640fd62021e63c01249013c1e00b5cb02e052fe000e7b03b8944580b774001ea5404d9323d6a127c089b2c059c908c0731b007bebc5963208b0b939c003784290a30ed81c1ee0521c011e8da0366204d8a8081cc98e1e97e071a4d2614f808d2af0961050233901aff9f973b4d2deca88f526c2eb270e805a0a22c095b401bc2505b0b93cc05f0a40b51027a8618e008f748033e903ea5a097f961208b05138e03434196ca408b07f5401366a071cc9106007bdc163233e80bf10010e9b821a5600f08803fe6a827a09f035ec0ea86d5962c723a86b27fc3956001c090ad8210280d57979f54625b6121280ad7d81baa506d42d2b648d1af8123cc0611940b5103ba056a20570255f40d548cbebd610c05d38e02d367005a1508749412d2511e0ad2f7207620478ab09a863d21bbb08016ec406705a18afad9680c70d0ef9b500b03a35c0a54801abd312db65035eebf3e7dc1ae0303ba066c207d44cfc801a490a6a9801c0da21e4da880a581910ea1611c0670abc5ac81d502b01033800bad83045a01a55033e9440ec1805ea4087005b03033cca22c00ec283c781a2c45aa300aa515080b77c801ab608d42d25a06612489ba48158731f001bb50438d352d44d30023c46607567c46a4817e0430ac406c08ed8ae098c96a208702329e0110dd42e45a04a7405f5122862074a2356232eb15b39406d640670960bc01afd105bca10b85124826c5408b05137e02d2e6c350402e04879f4b805d8280280c3f000bea40e70581470980f38132170971ae0510e7022417baae44b6c171470a33880ad7981ba8913801b35021ce604f81351a06abb139b0914d452a280bfb2402da51160013820d6413340dd12941b0a32802b4903ea98c06174402d8510e0ae3f80bb2e00ee9280c9303f80fdc30af0da1a508d4ae04ad800dedaa25640a800ee4a04d84151000f94087023480a393e00ec1f5480c380502f9103accd4bac3508801b95013c3e79e39a0bc00e2a016a256700afe1f9d35c1ce05606408d74477f61813a2a29642954c0ad9280b7b0a00da3021e481060732000af99f0675918afa31002be4404e0ad2880bbd200172001a8a510021ebb30728c0cd446820077a1813a0a00756482da3526e9f802cec40ee0ad2b66c739c0592b008f00401ddd00afb1109b4910b8550150bf7ac0da61c45501a262470b800b90a58f5b4600fb0713b0824841751014c09be8035c4918c0da04c556e206f0a10962c31e01eea2e068a41fb083fe401d93406df407f02814898d5408d4467e001bc50438ec08582554621d84025489aaa07e5501564e1370a43d80c30e01ce240ab85514a8165207540bf1411dbd003be8835e0b41852303c0910ee94aca802ace90577322008f57ba1446804709801d14a71d4407905b5a106db4077000a8c4861d006c4e0e70233d801b19023c16c6ab2034d2ca61020e130038d213f0a800d481a48033a903d8dc1de04aae00ce7a0178bca0905f09406d4320d63f9a8095210035931fd4511801f6f6c6ab470fc4962208f0e8020e2b04380c093814630077dd80c30600b63601d45058011c098f6e0505aa5133e08100010e8b0438ac11e04ab2002ec510e03133c08910886d9408b049b888edca03b82b82258d320038d117b195e801d6902fc0ad06006e5405752042c0462101871162b26b03e04af800ab43e3b54b80a3030181d7f2b0b0921280c3e6006ef404bc0586ee407f0037ea03b85121e05652a03a28043c7e3d009c3641ecc8833a1022c0d6c440dd841ee0ae43a06e9d21408dbac4b62200782b09a89938026c4641ddda0138521dc06513c4361a1a72cc02b5d1941e4b99021ec300f315f3784c18eb6c662b46579b2c56ccd8ead0edac3cba2afbd572b162ebd6b1db82b98ebdb1d25c99ae66d2eed7155fae5ddb5cb05d2ed68535afcdb2014fbec9d2b5a1f05780dc1bed3a81396741fc908613e6c2f786381231f92a2a2ece777d075c9d0cf717c8bd893792e0a4d1f055df1616cff3e0e2f2dc27372eee90eb6be0ac3979ab1892d89cb034be77c549b3e087849cb2447e98c0cd0d717d8d9cb2397e18e5eadab851636e8e8efb23e0d6e4bc951ce78c851faa70732a5c1f1e37e7c3f52972c6ae7c4f909b03e4feb2548d7b1e6f54c54964f5567b7c435ca231de8acacd01ba3e46ee3fbcd10237d7eb43739ea7b917aeaf8f9b24cb2d54e5daeab84e439765e69bc05009720ee6338fe34b88ef7539c68abee7bb2d2e9e07c2b166c45b098f4372be2a847b83e03ab9708b6457ea808b63e03eed707131dca73e6eadeaafce5c1dd2fd8d706d32fc95d48d4caf74c72d5aba52742e2b846ff2e0da56f82be08d06bc921cd735f43c292e0bce3769706f8bdc2706ee729a43ba3e3d37a7c3f519726fc3fb54c12572e3ad1a38b2ae785e3c69473f8ce3b2d47c53994bc4c65b2d708b9e5c293637bef14b211cd7804504c357056fae757d18dcd6d5f38a380fa0ebf046578e45365c42b8636b83e75939c666dfb3e316884f52bab7e07d92e084417d4f8cfb206f04c6ad5579ab1f2e8b836f3a737501dc9f1daa3917b7c7f5314511e7e2065d1f0137e65e898b8b33739f9eb8f5e09180a0d2e14874c0576571cc085e29cfbdd5ae930454205c2240deca826bcbbfc2e0e6925c9f9c93b6c457d12e0e85fb74c72da272a5f0dc9a0e6fe5c88dbd57f2dda23757aa8aeb92f33ce0492be3ab94dc18c92f15715d163ccf8ecb0ae29b74b8b819ee53d46d059ff7c349eb0fc5380e01f05567ae4e8b1bb5c0c5dd709f04b945bb2b45c1bd85b94e30dc9c02d797c3b5f9719d985c2245deaacd3923e38743dcda1f7f95e59c5dfd300c5e09b7547c529793d6c657ed4ed9193f24e0da68b8af3ff756c77ddadd1c1bf7b7bb51ea977a38bec07c8fe9e6f05c9f1bf7d6e43a71706b54deca875336c60f956e91229710033707c0f5cdb9fdf24824dce3f416af9303d766c775aa1d936cb9851eb8b5a9bf2273ec1a9f84e64874e5abbab835a9bff24205e8da16f8ab1e6e94f34bb86b0be1afe6b838a3fb84e79c25f96105e7ec821fcab93a336e54989bbbba3f34270c84efe1706d795ca724c7cce2957cb8b6d85fb1b9392eee6fe8e89ae079729cb40c7e68c8bdb1aed3033789d12d24c0b505f057778e79c62b097159fda540b35c337caf5737c68dfa72733c5c1f221717e53ea970a4ddf961231777bb4f1edca8c12fc5638b84e735b0cb25f53d012ac5e41219f2566a2e511d6f05c165d5f04d7feead87ebd4c7491b7e1596ab2be0fefc1c65193c1524678df5567c2e4e8beb8b5dddd5955a72c68c78aad6ad7df157b87b23e23a01af0ecbfddd70736eae0f8c230ce97b778e43377cd5093727e7faceb82d41cfa37312ddf156618e2d149ef7c0c531719fa6ae8e767f1ddc1bec3a75b915e0915c3737c1f525718b10b98414b83a3cf7e7460f813b97ea6ef7f7c13953f3c33a547e4eda003fa4e3dea0b84e8ddcf578232b2e8bcb37653969525fd5746f6eaed31397f5e69b30b8ac26bfe406d59a5b1bf356591c65709e6aeade945ca70b6e51952b95e758f4c425b4e4a6d127a130ebb5c2f718b8fbf0460adc1cebfad21cebc62759706c29f0bc032e8b846fa273231cbf84e74874e6abccb8d389ac359e27bb118c5f6a73caa4f8e1929396c00ff5386781fc908a6b3bf35753dcdc0cd707c875cd791e21c7d8ee7b795c5c9cfb34c6bd81709dacb8ba1ceeef907b931211f2561a5c9c9dfb94c66d4d3d0fd0b54df0574c5c5b0b7f65c8bdc5709dec386754fcd087ab6be44ad5ee2d83eb04e8dac8b8af2e2eae80fb84c2259ae2ad6cd756e83a2ddddb0ad7298e33d6c0f70a39d600bd5524c721de57a9b9380cee53153787c0f5dd709fd39bef3e295d1b23d749cacd25707d381c8986beea895b8bfa2b2c1717c27d5ae3e6e05cdf18377af04b43b745e87938f44e38ceb8f821a05bf3e0addab8f1cc4739e138c66d05f2bc3fd736759dae5c9d02f7b7c399447609cdb9362feeab8a1bb37aaa1eae4d89fb0ae23824e8ab663869565f95e5eab2b8510adc58f0a96eb8b8e0f54d7073bffb9b721c2af45547f0aeb831c92b09ba3600fecace6529f04d4dc7d9033fece0a4e1f15504dc5a167f35a30ae1da32f8ab2c6e51972bf5026f8dcbcafdd217f73309b3e37b5edc58c42f7539892079ab3be70cf64330278dcd0f13b92e0c9ef774715f5c5fed2651ba8590ae2b3e2f898b23e4fa14b83735d769881b99bc12194e38726d67dcd71737aef925d7496bfae1d3ed0b9f84bbddf248792e8e759fd2dc5c13d757756f60aed30b270d861f5add5b15d72978dbe69178b831805702e39cb9f143246ee4e39758385b473c0f83b3966f45c2cd55717fae4b04c65b35dd56a1e7e57071645c9fee48e4e6abd638b622781ed38d47fcd2975366c30f69475814df83e2b22ef8a609aece83fb13e3ea10b8bf1c8e332b7ef8c3c501719f14b93a366e5405b7133c120af706e53a7970ced0fc1084eb12e17952972890b7bae046317ec9cd2913e487572e2edea70baeae8e1b95e6f812e07b4e66250aafb4c2b50df057275c1b93bfca737561ee0f899b0be3fe72e74cf6c33037eaf14b2a5c9c96fbf4c39d8837da726d715ca7d87581f0bc416e3ce197946e11992bd5c3d50ddd9f9bde9f9396c65731b9d94fba73ca96f82100672c80effd4e9a0f5fd5bab90eaeef8b33bfbc129e7b63ba4e754ed9103fcc5d5709cf83e4d65e782b436e2eafcf82ab6be2feae8e2d2bcf2be0d87af23ca5abc3e346b1b9cff1464b5cdd06f7a7c5b5e9fe6ace2d119fc474737dae6fd0c5dd717d506ed1942b35e7de2ab84e36dcda056ff5c5dd8e370a747383dc9f02f776c47532e4f68a4f82e0d6cc23b5706f67aed30eb38858f8aa4876415c9b99bf92e2eae2b85167ced8d2f7a22ece88fbe408550aa70be9795edcda9eb7c2e3164570a56c38697e7e38352b6b9f34c2b5dd719d6c47d9024f95c86509f14d3bdc5b13d76991cb92fdd21557a7bb3f39b756c55fbd8e43427c950a57b7e5fe8298f5b2f2bd28672ef04a746eae8efb7b4245c5ad979eef2580c571a8ce57e1b944516f75e6ea70f717e79cb1f1c323aead91ebc4747138dca7415a7db568b036becaaa2bcf74c55b5d96df58b795afd61961c777c5978c35abd55856adad3bab55568cb2f86a61f1c658436d355931580c46d48a8dcfa2cbd557d2582e960071d7b324acda66b359eb22cb759cb95cad99ec6de7cb646f8b291bbab9ce984c625ba25636eb1599c46465c964add88aacdadf6f9359ca68afb2ae2e66c46a0110bb7106ab6b0022ab2643babd8864b3d635fb35ef3c5faceccd05d3054044a474ebb5448916f3ce6ab2ad392b968badf892ccbd64c76e5d91757315ddd21d8bb06ba5edd2c174b36c792c77915aacd7d90238cfc56ecf62c164010830cd36d14d863dd1af33b6e459f600ae05509b45d8eb4c98954b232093141d5d38025ab4915eadd7945bcf36fa3594f36f2e261dba2c284da2ccba80db5c1473d1b01cd53e12601a9724d75c4d97cef5d136746dad932cb9601d1667f24b37b331b9722c46fb7c8159a59db22513d034c071819dbcbb86b493037145da7b30802ecaaf056600fc62f347e9888766bd348f82f33626fc1ab664d9684eba760d3df4b98e31053c1b079600b77e0530a01be81896e01d0eb55baff95f513661a25bf13dcae5d6b0363ac6ddf5ba8c97f42b68bb20d835004b50de661660d7d0d1c7ca330e9dfd6dd8c6c7c338aaf3c1da9116fe87642d3251e75c2b49da18e26ce23722813722c91b517b235a5f84d51721fc09d07c11609c49e47026417422d17a0982e711733c11705e02455e82397e88aa1fc2811482e92398e301593da0331e90130fa8808fa0f7400072f6c0c50351c003314b1e7cf830589c3cc8fe87a80fb3e7c3d439755072e6d0e57f70f21b60f13ea0f16080670d237c0f5d3c981ebe8719ce19a69e87a2df41f83a98f03ae0f13afc5e072c9fc392f385299fc3ed7120f438f070b6a0c8d9821d36389db03ebe0646be8630be06383285a5af6184af61c9d360c6d310c56942a0a7e1cccf20c311ef858df732c6c9c78393042a9e0a180fc3d47ba9f230f4f130fcce3d701e860e1e060ebe8bf061e8bff0c777f9fd0b2efc0b72fe05282e00f22f10bd0b30bc0b4fbc0b71de0538157c1739e71d3b4e3b577c1736df6583d34e946fc1cd29c21bdf429267a1916781d07739e09cf374d29173ceb1f22b40fd0a71fc0a6ffc0a655620e45710e35770f22b4cf12b74f02b18a51c05fe0ff0ff88f17fb2f83f573c992cfe0f11ff6786ff93c37391f33714f17f58bd21cede0e279c2d4e384e3c065bbc0a0c3c97d9ab10df0f16bfe5e9ecad793f77ce3781de0f07e71b27a71b3da63e851ece0e18f814fa9c6df2f82d69ce365fce36507e0b9547a1cba3907f021bbfa57f4207e71a17fe84df8440de84425ecb116f821da7067e5ecb932fc18d2f618d3383285e4b7e1f290c9c38d398f07d28f83e611e587a3e88241a354e34413c1f34271a02de81409e84384810739a317a077c7807bcfc08338c10e6e847d89d637ae71801ce0a0a9d1534e200ec1b189e15703929f0e2a40089df633b938c480974783d0c9c1258793d4adfc092cff3c6e769218f069fe70b035ebc084c3c0352bc0833bc087d4e0874e7972a8fa787c7e3e7f4027b3c15e081726e89e24318e2d4d2c187d0e56c0df077a6f83b23fc9d13fe4e985fc087bfb3e44e96b7b3c6d9800d67036ade4e9da7233c1918f475d858a0f775ea7c9da5a743e55c60f7745a783a243c9d384fe7013a0c3c9d243f07cecf91e3e790712a10c6cf11732230751acd4e046a78396018f172f0bc02625e8e99138b132f27e91508e041d8e3b4a2c48310e8e31cf27194f8385a8ea3fb0f8efe031b4e2a743e20f3705a7838539f0098b387c6c329f370d43c9ca42d79bc9f29de83211ed3c38fd1e11110e413802520c07b00e63d08fe9b404e26d9bf9983c09c7733c2bb21e2dda0f06ee23c0253be8327be0335de4d93f30042df8120dfc10adfc107df66f81d2c701e40fb0e2af8364edfe68a6fb3c1b759f26d6ccf06923e9e4d15cf66896783459f6723011b099e0d04cf011b27014e59987c16049e03157e8df0d7fc7e8d1cbf2688c712c8af91f36bda9c6cf438795e3c1636d634f93f4d274dafc6ea544207355cbc9a2c5e8d158fc584336985c7d2e6d5c479350bbc1a28bf41d56359fa0d00f90dfef80d4cf80de4fc06754e23e06fb0e53412e435a8e135288383bfa2c26bd0e4d794790d5c9fc1d5b92480cfa0910cf0f80cd03805688381cf00f656866f45ea31f0e0d3e0f1183c790c967c9a44ce24879c49027d9a369fa6c9a751f2695c7f41247f41a15327c85f20c55fd0f417f0de8219fe82a1b7c091b7608ebf400a4d9e4733e62d00c082247fe68c3f93c59f89e2cf0062e1cf74f067cafc19db9b81e4cd24f1663e783310bc192c6fa68837e3fa3284be0c22e7ac832fe3c79779e3efdc39655152f832277c1911be0c0665c094717d99d69399aa52f464467832789e8c972793c053f1e3c9c41ff3c899831f63a4783171fc98257ecc0f672b821f53c38f81f354048d19e1c7b8f931667ecc04a70b81a752c45740470580be823e5f413e056050c08198075e0c9617b3c01d64c74e9d3a82be107407e109e18e9d3a17dc416fee200bae004c57802a826e5115b7c88bab13c30add175727e8e62cc83170735f78f7f6e4de9a9810e2dabeb83640df22830c32047debe910430a21042848207f44f501b5871e79e0e17b72bac38e41df0ac38b6fd5514718619c61c6b70cf95617df2af42d2dbe95c71b61c31bb1e544e18e53833a4e3260de812cef40009f001167efe984c2e5841246081c10b31ff6f81fd0f860c2ebb0e77300f438e0f91bb0cc20830c8abc0c5632c02103192e7c0c0ffc0b7c7e85457e05320c9c90c19b50c2154f421c3f82033f4298dfe3c8efd963cfd1ef317a3d09bc1ed7e709014f158fa7ca8fe0c49d1d1c5f678fa7f3801c3e0f07cdc359f270007883e6dd9079374cbe8334be0d150e60cf46cc7380c7af99e2d7c4793579bc1a3b3e03288f419b4f63e6d370f90bb200e4cf00fa3367c84c3d19367e8c9f1fd3e529f0f3633ef8315bbc1802fe4f00a716a9e740cf0391c0ff70f53e047203175f03ec69b8e367c8f233f463f0e163b03d0b16fce1f32a28f27e5a9f029e47e1814721564219df4785efe3c0f3b1e1f9d4f07c36783e689e4f05cf0782e703e6f930f024e4f0799a3c9e033e843a6fa7c9d751f27446f80f5a780f72f83780fc1b0a9e4da16763c3b3f9e039e0e135a8f31ab8f90b02fd050e3c9a0f1e8debcf10f165c63c19419e8c1b3f6682af8090a7808af7a18bc7a18f27428b0704e581183e108b3c0e558f03969721f82ee03e0531de8431fe0734cfe786e7f3e6f9a8793e0afc9e375e04037e4c1fef419ebf00833f53c68f71e0d5dcf131ccf03e4cf03048f03724f01e68f174769f410b6f82efdbdcf16a9a7832af2783c0af60e5c594f1335cf077003d9e32de041dbe04a4ef03c7ab50c8d381e3e1fcf04518f14358f03e28f12d4c7d1e203e843ade8cd1d7f9e2cb34f03e00f239c4f130fcf130d0f129f0793d807c1ed7cf19e43f08f470c4bc07b9d7e0cd9ba93d9902de07173e00e0d970f93533fc0d063c9d437e0301be8203de0712becd941f43e78150f327d89e0439af27cde7897d9d219ece030fa7918753c29389e17d98f21ec0f046d4f03898f02c0c7f8f960f618e37805e83063e03a9af408f17e3c273f0c7fbe0c5e7a0c5f3a1e22998e18108e07f80e07d80e475a0f27ebc7c0a417c9e382f0216cf0193dfe00b34c21723c88ba0e74d60e0e550f11d94f06b1e79356ec070c6df69e3cd88f16494783200fc0e611e0727cf82d4df40c0fbb1f32738f27cdef83c317c0860de8e937713c46c70783579fe86362f6784f7608d2723c41731c717f1c30701c2f730c5f331e0ed58fd1b355e4d229f468437a3e5c93cf239d0f132d8f17fecbc0984fc072afc18377e4c9c1743c5eb79f31d1cf17f06f936563f0786bfc18a97f3c5cb00c5b300e647e85fa0e6cba0f12734f93724fc9c385eccd0af79e22920e349a0fa3200bc9e3b2fc20bcf01ee3320e4c5647919acdad0f133f8791ff4fc0a84fe8431be0f931f13c78f817a3f333c193bde87081e852b7fc2d2dba93d1d3d1e84dc6bd0e62fc0e37d88e46938e34978e3f1b4793f28bc091cfc1ad65fe0c7cbe0fb2252f81d58bf821b7fc211cf27852781862762ea85b0f33ff0be8645de050dde05d7fbe9ef21e4f1d81e843bde4d1a4fa68f1fd3c553e0c2e330c7e3193e1d101e0e00afe68d87e1e855c0e3dbb8f131b8f916e4783b88fc06157c11bb7741cae359f272585f46cf8bf9f380087d0e203c0b0bbc087dfc9d3c9ece9207211f871b1e86e0bff0c5bbd0c0a7d0c2ef89f36c20f93410fc99173e87419f668c11437c99415e0cefeb0c7a1ada781bde780f1c791a20a82a448891459ad8038fa7670ac28e670a828e36d648c30c32c4004350175b6471451553444184971248d0f34c41e079a620ec7ce0811b366b36c8208d0567ca8ca160826702f44c1118c0c733c59e09b685165960a1430e279810c513819278c18515fe94d067843d22e079d3c40d032b304113362f0041972d0a0ce064066b12ed70aa83071d3e62f9241c8e00293e52fe5a3cf1c4134618e146972e731008092698608289a8861966a8a1861a6a585959010204080663b98ec83822e3888c1feea18b2ea2a0ce7269e915573cf1c4136eb8e1c60f3ffcd045175d74d1e9ba7471c30d35d420838cbf573cf1c4136eb8e1c6472d5da7458b1a6aa8a1861a6a186184114618610419649041061964000204081020408204091224488b961f7ef8e1871fb468e9a28b2eeea1872db6d822871c72d069f9986b4e77059f347cd2f049c3278d9e337acee839a3e78c9e337acee839e384020a28884b964c811d0aec506087023b14c4ec5010074c1c30f1cd9b186331274e5c2e97cbe572b95caee8e48198311fc88cc5fe07d83cd0143eca644d4d4d4e9c64be60aff83a3a71f27ac162e30816ec41b3070d2b463d67f49c51facfe43193c74c1e3379cc8850468458274e5eafa62616cb8993d7ab023b14c4568a94a6a63a62ea88a133019d09a633c14729529a9a582c274e9a9a9c382913d3942930981327af178be58197f88489490a6b29527e2e6eb8b8e1e2868b1b2e4f9a7e2d6dd6d2e6e32b3ea0a501061440e036348bbd7e49955fd27adb94b70d8043144d2031840e2164f1353f5fc3e26b79f07c2d84af6df135073240334682af75f1352d3fe4071d6ffc501e3f64c1971f62e087bc3cede90cdf1a4f7b7a1a194f43f3342f3ffbb1f1b3317eb6c6cf7e3fd3a1c9cf14f859d2cf2c606086e6675f0e600240122c2f53e065bc2a92f858181f43e263bf313ec6c6d2014d92980090a4a8c7f431053e06c50e339ec2bceb0c04ef32e32af3ae27111cf0e5096b0bcbc916275b9c4c20c5904218d8610980858515c01500ac24c9038f8f2e16938dc96625891e569e2d1f6f84c546588c2e578c8db0d808b3c30e37d420430d416a08ea628b2b980024e809268c00f4c3c776117348e05350cc45d6ebf57a450a604f9ebc5e341a01041040c0ed56abdd6eb5daed56abdd6eb5daed56abdd6eb55a100fe01a5156470c9c2f83903ab40b2814c88900ce17e01a6c1e78e03367ce44188d46a3d1684b962c59427bbd3048c327cd0816e839a3e78c9e337acee839a3e74c1e3379cc8850468432229411a1cc471aedc993c6c6d9cce562b168b4274f7a2c8df6e44963e393f824e631e30b0a14970b4cfc0002385fe07c81f305ce97375dde74797397377779d3c54da4d15eafcc160a14978bc5e2a3c74e9d386f3af82883c5ecc74658f6088bd9633cc2b21f61d9e393a30c16b3b1312f5ef8bb30425ee83aba5ef8233727ecf649411c5bacdf9d7169879cc22fee2c8a3358c20913e093e6b8b4474ea11a3776f44206ce28c5ef0a3863005fdb726425fd6e834b13e314d670eec297e84c1f4a63e414967165b39fb272695a4e21ee7c51f14772dc589a1792700e95fbf9ce2e6ce8930838f3ceb3069d7f90b002be09971356c53379712607959df05350dc991a67b087b3657cc26e8cce0b69b843b553e8c7a529710a45b8b12d5ee874636e5eb8c2319af03bddd1d5c11f9539e6ebb3e9c6782f1c73cea53317ce209a9325e67777ce426592f0acdf1931f81debca8c7e0a82f345c71ff971c292be09edcc3a3ea6e6d2f83885539c31cc2f59e0cea6cee01bc75602bffbdd18122f2ce3843df04d48385b1ffc8e9063abcaef9eae0ccd4fad70695c4ea1ee743df14777eed0eb14fece16f08f926e6c81176a707459f92306eeec9133a8c679185f297786c11934e0c852f33b12cef8c1ef644717d31f2970c6a11f92e06461f0bb3de7437c97dcd9d31964e22c5263565e78e60eed4ea1d49db139834d6713c979b1e5c81f11708c57bfa3e0bc4dcaae782a03eed0a7b08eb368be771c5b697ef7c78d29f1c2332ead8353d8bb31332f14e1ca3ef8a91ece49f8be6eac8d1712726517fc540b57d6e7a79c38d3818f735c5a9c5398e58c857e17e66c948465f04dfeb831da0b0fb8b4394e6111672af0318e33a97857935396c7533970632dbc708933ff3cab8f23abf5bb319736c4299c73568a2c0c5f434ed87f14bc3327cee00867b9c888c5efa2dc181d2f94bab1487e6ac995c17eaa77bea0f82338aeec899ff29dac207ec7c395a5f053521c5d1cfc11993b04e51406ef6cce1954e0c6de78a121276c8667ba73691a9cc2285736c04f5570ce9adc4161dca128a7707867499c413cc738fc9d9813f6e59ba870b26cbf3b7369459cc23a37a67b61efd2d49cc22927cc8d67f29d30249ea9884b6b72060b9d09c8cbd29c2e34fee884638bcbeff4388720d38b779571657f7eaa8a3b633a839fd7f9e6991f3c6b84b3e5f447015c5a03a7b076c6377e77e574e4d86ae38f7067ee7996efca14f829389726c229dc72b20afd0e8c632b8a3f7a9d29a5322c3fd5c19d5970069fdc191a677087733cbe5bee50ec14e671655e7e4a8433997c8ce17c05faa3372ecd8c5398c339175f03ce7d5f062e0d8d53b8c3b9205f09eeecea0cd27169319c319cc13477c8cb3995e4d8cafd8e8dd3c5c01f3d70694fce602497b6c2292c7365433f85e5d8eae38f98cc7219f247321c5f4dfe08d01da29d42a84b03e314ce70b292f81d1097a6e40c1e72879acea9de592167d08b73f6ba455f1c5f43fc511a3726e585129cb005be499ef3e117832b43e2a7e6b8b1477e4a800b7be485ba1babf3c21a2e0d785af9ff38ba587f14e5d236388552ce28c3ef04b834dd1914e4ce103983601c674feea031aeec809f42735f3cfcd118a7aceae622b831045e98e6ce029d4112eed0d1295ce4cae8fc5410e766f240dfa44b937206abce2ce2598c5c1a1ca75088f324c9d2fdce82e3eb8f3f22e4c86ae07771ce16d11893bfe10caeb9b32b67f075bef8f8a3414e1697dfc939cd98f562f347505c190c3fb5c59d6d3983b93bcb7306b9dc581a2f0ce4c6d87821f0c62878619d4b23e314de707455f04761ee6c8433f8e5cca99fc571634f2f74e48c54bee6c4f9129d297206c5385f41fc111a674b86df3572a6d5d3cab8340a4ee1d10993f30640ddcce5cb863ffae2940d7a2a04aeccce4f0d71b6908475f14c65dcd8ef8590dc98eb85035cda0ea7b083b3b02f07b35e7afea88a636bd01f15dd98102ffce26451f13b252eed770a9db834224e219dd3b5c51fedb9b2d74ff18ead21fe28cfbce059155c590b3f85c51d5ae09c1aba3010de890197c6c029243a5910fc8ece8dbd79210b4757993f8ae0cede3883419c59c8cbd4dc18002fb47226f065195c1a9f5308e6c63278619ff34352f6c8b50d716370bcf0903b6474fa7106abb8b22c3fe5e60e0d9d423eee2ccc195472caae6e4e823bbbe20caa7069779c4225ce160ebf83e44c094a2be00c0a2f2dcf29e472564969309cc20bced6ee77711c5dc03f8ae1cca89759b94349a790d029bbe3a912b832197eaa8ba34b893faa73b2887e67e6c6febc1089f3c5c81f499d30259e498a3b837306af5c9a05a7f0c99d2d7006872ecc9117e6ce68e56b52dcd8042f9c73ce5a5737c6c90ae07769eeac8a3398c21d523a858e5c9a03a7d076968ac60ef9a9d88d49f042399746c829ece27ce9f047619cae1dfee8831b0be185389c30279ec98a4b93e0143239b6bcf823dab1c5e7778adc58152f9ce38c497ea88f630b913f72726368fc9e977df2ce3d66bda4fcd1109736c12934ba43b05388c785117aa1edf83afa23206e4c8d170a72b278f85d0e679d3e716794e0973870675ece60922b03f3537b6e4cce0b65b8b1045e88c10923e399dc38616a3cd31d675df81672c24278a60a6e6c85172671633cbc308b13d6f44ddacc7229f24733dcd8182fe4e32c208d7579a19b4b2b740acfb831e14f19ddd8002fe4726515fcd40967c57ce9b8430a9c53b413a6e799ccdcd893177a3907e22bc08d41f14237cead4a733a854b9ce7f9b68e2c387e37c58d1df14232ce86f9ca71a607cfda7363815ec8c629fbe3a9bcdc580a2f2ce22c97d2f03885812e4d865388c19de1710603dd99f00cba71698b9c4232cec9fc844e3ace84e159819cf5f30de47cf9f9a32c6e2c88170a3a592cfc2e863b039e412ece171c7fc4c79d457006975c5a97535874be06fd51d429cbe2a90e38b2987ee7e60e2d398588dc581f2fac3aa3975f823b59507ec7c1a51d7006a96e0c8717567161c2170630eb05c01ff9700e2546e1ef26b8b47806ef38cbc357ead26a38851b1c5d0efc919633b29ef6c6b105c2ef0a399683efefc61e7821077728cc39a5e4d2923885788eacd9efca9c2e33fec884a30bcc1f75b9330dce6094f3c5c61fe97167159c41a44b5b730a974e17ee8f9aee8c8733e8e60e253985c0234b8ddf457196e9bbe7d2143985629cd523b3d0cf363865c27b9b72b2c2fcaece9956bccbc9e93ae18f38b8434c4e6122278b84dfad70675167d08a3b83e30c0a71e6181f2be0c65878a11297e6e61452b9b1262f7ce0e842f347129cd92bade80c0e726337bc908a33faf0bbdda5b1700acd5cda13a790cfd1d53f3ae0acd4e7933b8be30c0e71c2d87c9343ae6c859fb2e2c68a5e48e5ca683f75e56469f0bb116ecc86174e71ba7af8a338276c8a67e2e284f9f14c5697c6740abfb12a2f3473b28ef8dd0f77e6c8194ce36ca5f147b6f339be089c17f16572cafc782a2ec7eaf9fa31eb65c11f39716c25f147ac4b4b730a0bb8342fa730c95932c95ae27780ce13e9ac883358e7c62c78e19e3bb373061b38e3ed87a04e57167fa4e764e9f03b1cce64e0a31c7776e70c3a70650bfcd4079776e6140e70429df522616fbe49223756c20b833861723c531e475696dfc139bafafcd19aa30b803fea5d9a11a7d0ce959df9a93f9786c329e4e0cee43883445c19a09f5ae3c20abdf07653f711853b53e20c8a70635a5ec8e6dc83bfead29c9cc1468e2ea43fb272670e9c41db99c3a7417069279cc2098e25e11b7574fdf04720dc9893176ab93326cea09e9395c8efbc38a315bf3be07c41f2478d1c5b05fc6ed019d5fcce7574d9f9230bce94fa9904678ff80a2f0c9117ca8eace0efc6b8b12c2fbce09c85efd09501f1536a9ca9e4230c97e63a83be3be39dc13c57e017e4d2203885019cb02edfc4cf9575f9293ca74bd01f91707688ef23274c886732e1c6ae7eca801b23e285615cda1fa7f08a3b03e30cce70694bce2022e74b8d3fcae3ce2e3883506eac86174a719cddee200e6e0ccf0b73384fe34be584e51f096fcceaa708385f34fc91a03b93e00c3239e3ec8722b832263ff5e57445f147219cb004be4908c796197f543ba316bf93724ec0ff7487ac9c53ae1356fba4036e8cd04f155d990a3f45c51d22e0144272637ffcd4a74b813f72e0fc82df91f3a96f9a3bab72065b6754f2b5096eccce0b6db831185ee8c48d31f1c234cebef13974675b9cc116ce68c3ef969cb01e9e6984b3697ccace97117fb4c679a1ef993356f04bb69cf5e1bbc8a555710a53b8b440a79084732a7fd4199b7c2dceb165f547065c59eca7a8dc58002fbc727435f147762e2d8e5338c4a5dd700ad75c597f2aca19f1f8dd026719f89e7087b09c53b0a34bf747bc13b6c5338d71669d67d57166938f36dc999e33d8e5ceb438832c5c19143ff53bb68cf8a378b6a8f823d8199bf81d013716f5c2ab1b5bf24204ce14f32cdaa581700a11b8b4cf601d672b883fead942fa9d1c67eaf0ac43ee8c883348e7c6aa7e6a80232bea775a5c1aed0c429d32319e6ae9d87ae077791c5d437fb474655c7e2a841bd3e285775c1a985328c0a505720ab3b8b23b3f45c4995cbc8b802b03e0a7b4dc192067108b638bf73ba7d335c51fe1b9b42e4ee10bc75605bfebe3c62a78a19d1b6bbd50e99cd5eea03557d6c34f9d71675467108e230bceef4ab8b4ab5348c7799f8c54fcce802b63f35336dc98a017e271c2ce7c132a2e2dcb298c9dd180af9170c2063d13d4996d7c0c833b7be00cde2ead845318c129abe2a98eeeacea0cca71870e3885549716c42904e1ce12398361b471697d9c422aee5003e754edced838833f5cd9103fe5c69531f153769cc57ddf1c5b7ffc91d19989fc2c824b5be214e6b9b1d80ba19cf182dfc51b83e4a7949c1181b71170650cfc549c1356c33385709c19700791716519fc140cb35e03fc51107746c71934e2c2187961ed98554a533a838e9cb2459e6a820b53e485b4234b81df7d7069919c4236ce02d1d90c6730833371781621c7cee9accd19e4dd991567d0cf09a3e399f438462e7e37e584157d1215e7b8cec09c41018e3329775019e7223706c84ff59491f1544cc716137fd4bab3df1974e2ce4e3883135c1ad52984e3c6ce78e11f9716c1295c72b2c8fc0ecfa5cd700a33385d60fc119f332b28adca296c5dd8acb1245e68c6d9363a13e40c6a71657b7e4a891bf32359b3bd550a37d2f04bbd6b13745f56dc5b92eb54e6c63abf54745b823c6f855b283e698159af2edf5b3aca46f8619e30a7ef09bab622eeab87dbd2e2791f5cdb11f7f5c37d8a3732737512dc9f124722325f55c6ad129f74e5d83b9fd48b2be4fa1638368e4fbae0e61ab83e1eae0cca53419d45c24b28ccfd8f37ea6256057d12999b4be1fa7c4719084f45756b74de8a8e5b6b7aab1d6ece80eb4be1d6d2bc1518b7a857cae8c6407e49865b9be2af5ac7f6f1496a2e2be997dab83518deea90cb22faa52dcee4e1956298e512e37b44b745c5f3dadcda1e7fd5bb118b5f4a736c8d791eefbaf03c4f911b15f9251e8e71e895b4b8b603fe6a855b443ec9cd49ebfdd077abc227d12e8bf54b515cdd16378a81ebba3dcf8a9306c457b94e1a205f75c0096bf33d1aae6bcdf3f438fff289c775f9791ed5d51172a5f21201df2a837396e7877cbe38e622af04c5b549f0574b5c1bd575c2726c75f03c2c37779f94c2bddd719f922ecb896f32e238b4c85719716f7fae131ce76ccf0ffb5c9c21d7c7c0c5fd709f12a16ad25be112c5f1565aced612cfd3e0e288b84f852e0ecd7d8ae2d6daf82ba473a6c10fe950399dbdfd9115551337a7e6fab6b8b90fae8f8c4b54c85b6d7063397c146baecd90eb440015995baf2dbe27c1ae17d3f70ea0a2737364aeef895b83e4afc41c61b0ef7d7075be1bb5e616864fca5105725964bee90b151eb726e6adac38ceb8fcd0cdc571709fb6b8b6e175ca7271b1fba4e6b6b6785e9c5babf35675dc5b9bebc4c4d5bdee4fcddd824f41ce2444b7d0471799e7d171f6b9b18f5f6ae19cddf1c3264e980edf43e2e6a05cdf09b7a6e6adca3893d86ea1de0ef1494b377679a542ee703efa8eb020beb7c48d857e09d0cdc1717f4d2e2ed07daa3a61247caf876b43e0af74b8373aee139353b6c60fa1cc6ab99eb7e46cc5f1bc116eae88eb7be41225f2566c8e32049e0a9173d6c80fb9a8e2b2f27c539c5bb4e64a05bac7f14649cc2aa14f8273754adcdff0e6a85c5f0c672c81ef016fee88eb8be41249bd5507a7cb81e7b571cee4dbc0ad91f15700dcdb98eb74c3ae9714df0b73ca82f821eea415faaade6531f04d3daadfc565709facb845075ca90f6e0d8fbf623aa61aaf34c4b5f9ae536ed78b82eff16e8cf24a74dc9a1b7f95c413e1daf8fc951e5e5c1d1437aa777164ee9313c7a1a5afdae0dec6b84fb07b5be23a297271555c1febb294fc92193797747d7b4ed8d5f7e238be8af89e971bb9f8a50d6e11ec4a15707369dcdf92e38e24d9dd424a6e910457ea86dbaa7ade103776f14b6a2e6e85fb84c7cd59717faf6bfbaf2e3859589ec988cb8ae09b1c3869597e98c7bd19729fae1c595d3caf756b77deca8e8b73e4fac0dc5b09d7098d6b3be1affeb8b9ddf589706f56ae539e3b216f24c609137ecf8ddba27a5e10b7c6e6add0a04a736697570ae12689720b41b9370aae530d54489c457b5c4252a8ea28e170630dbf44e59c05fae10ed7b6c57d4971735eae4f88ebf2e0797f5c1d9ffbb3e3eadcdc1f18270deaaba05c579be7f171a3053fc5886372f14a3f5c5c98fb64c44d72e516eadd38e79772673ef04a76eecd81eb84c2cd7d7d678e71cc1bb0e746197ea989eac9290bf443012e6bf74b6a5c5d21572adedad35f49b971875f42e02c32e1126adddb21f709cbad99f157021c59819206c95755b93a0bee8f8acbf2f24d09dc9cd1f5e1b9454bae54047726de28826b43f35754dc22db956abaac35df64e63814c35795705961bea9817bab729d44b849b0dc42544e19203fb47267a03631ee6b8bab9b737f68cc7a81f03d2cb7c8c9954a736c89795ed3b17c3ec975cfe18dacdcdcd1f5e5b936307f85c4adb1f056402a27d746c775a2dd5a046f35456f8c7b63e43e3970946d792a291709b736fc2b33b788ce95eae2a405fa2aa28b03e03ecdb92c22bea9875b44e812d272a4d1f961a17b8b739daab8ac29bff47471b6fbf4e6f4e2ea4ab83f272a1a6611e5f9aa46ae2e8c1bd5e5e23eb84f62dc5a9eb7f2dd9dde088a63d1f8a433c7a21c2ea1dccdb9ae2f83d315c0f3b438b3ca2bc53963fd9e1cd7d5e7798fdc1c24f737c1ad85f157ba6b23fa2b0f2e511b6fc5c04d2aaff4c1492be087836e6ce197a29c457f2e21d8cd355d9f0bd7d6c05ffd70b6e6781e09c7a139be8a87a3cc81a752e4a425f2554cb795c5f3e0dca2db95e25d1b097ff5bb3803ee530ae74b90efa5b9b732d729876bdbf3574f37e7c0f5f5706b66de8a0bdf0eb726c75f0d706d477f35c28dbf5f42810a8a9bbb5d9f07d775c1f3eeb837a2eb14c1ad65f056625ca237deca813352f006e8b985f34880ee4dea3e2d706bf448b28b63729f42b8b71fae53d4b50dba4e44b77f3e69e85874c72554c0bd5d709d7c38671efc10cfad1712dffb726308bf14c0b54df92b17ae0ecafda5308bd5c7f36e3787e5fa6ab8b947ee4f822439b312845742e1e6e2b83f27b768822b85c39d8c37f2e0d6b8bc5513377af14b6baecd89fb2ae2bec61b0dd143e1e2aaae8fcc11d6fa1e9c5bae41be07c02d8273a5aeb83529fe8a75caecf8e194ab63e1fef8b8b6da5fc1b93635ae539eb438be0ae96cb5f13c3d9795c4370571ce48f86109c79e3500de6a85594477beaad091a8e9abb6b8373dd7498c6b93f2572df434b83a1bee8f9063167aa5286e0b91e7c970937070a91a390e2df1552c1c65123c15a1636c84ef51dd5b1bf74977e7e38db2b84934b885c65c1d10f747e8bee6631d4798d1f7ec1c8774f82a14ee4d89eb94c8253ae3adb0dc1a187f95bbac0dbe89cc75ed791ea17b7b5d272ee70c861fae70754bf7e7c2093be37b56dc2201aed497cb7ae19b4cb8b827ee93d5d96ae2791bdc9b18f7e975eb15c3f71cb8b5e09160b8b714ae531b57a7e6feb6b8392bd737c3adbdf1574dee56bc910517a7e73ebd71e306bfc43acad83c55f0168b4f02734c3e5e6989ab135ea9a28b23e03e957064c5f13cdabddd709df03863b6ef391d3390576ae248e4e5abc2b83921aeafd06d9747da73751adc5f16ad178e49bcdc425aaead8cfbf2e298625e49cfbde1719f0838a699571ae1e28aee13083712fa2520ee506f84c5bdd1709d9e6e911f9710d39924c92d94bbba38f757c6c5e1717d52ae2dcb5fe570736fdc5fd22c961ecfb3dd7978a32c5727c88da2737114dca7256eed8abf8a1d8726f82a38f726c375bae39c41f1431e6e92036ea127b7123cd2093756f14b685e3b50a9b93a32f7f7c48d84fc920d543edca6f04932aaa77bebe03a3571c2fe7c2f885bb3f356836eedca5b01ba3930ee0f77591e7c530637a7747d7c4e191e3f6c3a65c31f6eb92de1f380b836e175b2726d69feea8afb116fe4e5da9cfc550937c900b750d2bdcd709d9cee8dca75c2735db2e73d716c65799e015441dc98e697eee9390e3df25548dc220fae9415e72c891fe270c65edfabe3e6a2eeefcaf92af43d0e6e547a2536ce19ed87111c5b5d9e37854a832834b83a46ae14ed16cdb9525cdc2405dc4203dc2206ae949fe3909faf22e116a5b95248dcdcd2f5b1c063e3a40df155b0634ccef722b9b2264fe53b67c21f0a3af3ca2b8170dfe28d34b8ad449e37c3b55d715f81ee6d8aeb040915f0c6347e49ceadf9fe6acad559b9bf1a4ea2a7b78ae01259f156b973f6f44327ce19073fb473c69478aadcb5a1719dbe4994dc42496e6e767d1cdcdbd175dae0e64ab83e3baeee902be5bab53f6f2508d51097e88fb74273e318bff4e62c42e112729d321d7e4844f5c23933e187275cd603df64e5e2a8dca718aead8afb6ae2b29cfcd21b3702fa25076ebd6edf4bba4932b8852a98c582e479009cb433be6ac98d41fcd20317e7c27ddae32659ba850eb851cf2f313912a9f9aa346e4dca5bdd70ce9af8a10ebc3127cd8baf4a72a39557cae3eabcb8510f9cb3477ed8c5ac1793ef295d5b94bf6241e9069e1a3712f04a6edc58c82fdd708b0a5d425b6e14fed2115747e7fed2b8b8d77dd2e09cc9f043166e75362aee8b89cb9ae09bb49cb1279e2ac98d6a7ea9b5ab55f4bcdd8d787e49805b53e1ad02b937a4eba46656d679a5146e83f8a4285767c78dcae0c6a557b2e39ccdf9a19e33d6fb1e2054786e3f78a420aeed86fb6ae1d668782ba96372f04a255c9b22d7c980cbc2e19b5ab8f1cd2fd12eae8ceb2bba65f3483bdc5c14f79737c7bbbe172e8ecf7d9ae376854f223aa7a04548578acc31c3782540b35856cf13e0b68347eae14844e5abb8184684c45751dddc95eba3e1e244b84f6ddc9617cf9b73b6c678de9d73c8f5550bdca2462e212eb7bb47ba5d5d03f7e7c3cde1ae0fce4933e187c19b63e4febe1cd3825722e116295da90c8eb13cdf9b3a65be1f32ddbd78a3351757c47d6ae4e2acdca7198e436fbeca4ecf854b84c65b65b93505deaa885bb3e2af60b728ea126abab1449e6a85238c86ef1971758f5ca9db4913e0876e5c9c04f7098923adcb0ffdb8498a6e21dc8d76fc129f6b1be3beb8b8b3f146445c1d9cfb1bc389e0adb9f05685dc9a066f35c62d9747d2736b7efcd5955b23f45760aead8debd4ba49a0dc424a57f7c78d02e184b1f03d21ae8df6576e6e8bf8a4a69368f856798e43647c550db70f3cd29dcb1ae19be65c5b99bf8ae2d6f4f82bde6529fd121c37e6f45472eecd8cfb34747359aecf861ba3f825323726bd521a17b7c8f571b9b52dfe6ae8e2b2dc271beecd88eb54c8d545b9bf152e6ecf7d82e3ead2dc9f1517f7e43e9970a3d12b95d163e148c4e6abd4b8b1895f9ae03c824f3d9cec5c5c9afb44c52dca72a5f8dcdad55f59706d62feaa8963d23e69cfb529fd9509b728832ba5841385ae8e777f31f432b83726d709838bebe03e79717567dca8082eceeafaca9c44bfb792e0d698de4a879be3727d80ee0d92fb14e6a435f155435717c4fd35726bb8b7f2739be691643869497cd5ecc6607827eedc220aae940e47189eefed7073b2eb5b73c7e28dd2dc9b13d78991cb22e097e4b8b7bc4e0d5c560fdf24c371688aaf7ae1d83d3e69837b4be03af1390e9df05523dcdcd4fd8d3933f749241c8790f8aa152eaeca7d92e18cc5be37e82ec51b95b9454caed4043757c8fd3570bc80ef1a9765c1374970592e7c530967ec87a7caa38c82a72a74596cbe09cdac571bdf1b73714bf789856bdbf25742dc5615cfebe012f9f15666cea23d97501e655e9e6a913b106fc4c06dfdf13c3f77109ab3e0faa8b8d1895f12737514dc5f131767c27d1a746f215ca72e6e12de2d34e546075e29903336c0f7a06eaeccf54171714aee939dbb9fafd16e510257aa84e3acca0fd79c3446be8a776f80dc27a6dbb27a1e11f7e6e53ab1706b08bcd5109725c1373d708f7a232eee4dca7592736b65de6a8b9b8be1faa2ae6e767f6dce1aecad4ab8370dae5310c7212e5fe5e6e264f769cd293be2874537f6f9a5a463cbccf37a97e891b792737150eed30997488cb7eadddc92ebbb73ce987eb8c1d5cd707f82dc3ff8c8c82dea5da9108eb2107ef88d5ffc129b7328bf2a814bd4c75b91b9498e6ea12567519f4b887557e38d8498f59ae37b656e9226b7d0eede04b94fbc639119979093e31096afe2e0c6187e89e9c6035e698e630cd053c59b84ca2dc4747123dca7386ebcf34b00dc1621cf73e1aee5538b9ba4cda57ae4ba58cf53e2463fbff4e4c61e7e4981e34bf8bd0ece199e1f92705b533c8fcd1d8a371a7397e38d94b8b61aee6b859b6b727d23dc5c08d7d7c6f1a5c6f72aa0cae1d61c78ab244e59113fd41d675f7ef8e6d65278ab3f6e0d8dbf5a7287e38d90b8ac25be69883386c453b96e3578a41a6ececef5ad714c285e69879336f44334ae6d84bff2dd5b04d72986e3d0efab7eb82e34cf1b746f82ee531e613f7c4f8973f6e7877eeead8bfbf4c5a5709f9c2e2bc92f89716c647df92605aece80fb53e1b206f8a5386e91d19512737352f7d7e5ec239ff4c1d5b5ee4f831b33e3a92e38652cfcf04565c3255ae4addc5c9d09f7f774ba923c2f8b8b13e23e317226a15d42385c1dd59502e035c4bda1709dd8a0aae0d60af92b074e989aefc9708b0cb85270ee6d8efbb4e4a469f155bae32c8c1f0a71d6646f65c22c2213beea91cbf2e19b66380e197d950517e7e63e09bab826ee13d5911867a53c92955b14e54ac5b9b6e075aa72ce08fd708b8b1be4fa1038d68678abe0314af006e469628893d6c10f15b9313e9e2acf2da04f8272736adc1f939b7b737d619cb23e7e48e5de08b84e6eae2dfe5506f7c6c375e2e3e29eaecf808ba3babe0a2e4ecc7d52e21291f156556e4d82b7a2e246055ec98fababdd9f07f7df1b4d716b74fcd5937b166f8441129e6b1bf3574f5c17ec794edc9a95b702e2a42dfdd049c986e310ecab2a38c6ca7c6f91ab33e2fe82278cea7b6f1c89585fd5c4d5f971a33e38c626f89e223757c0f5a17071b8fb04e7defc5c27378e453f5c4245b768802bb5c1b5c1fe8a839356f443366e4e86ebfbe3debeb84ff1d6d4f82ba36bebe0afc0b8b543fe4acb4dc2740b45b9baa81b15e7e6d25c9f1517f7c07df2e1da1cf82b208e49f54a545c160cdf74c26d15f2bc17ced610cfbbe096894fca728c3df03d436e91982b9503959eabebdd9f0cb705c3f3badc1a0e6f55e8fec41b55707548dcdfd45963e2ada86e8d8fbfaa7273baeb8b736d4b7ff5c28d00bcd217270bb708924be8cbadad792b33ee0fa48bf73c332e0bf64b55dcb8e59580f7d6c77d8a726f68ae130f17b7c47d129eaf38be47e646297ea9cc5944c22514a93eb8b63eaed3922836b8b1e895bcb873f1461b9cb2247e98e4d6847f35e60853f2bd3ae3886ef8aaa99b8bd777c1ad6df05664dcf8c42f55707354f74786aa849ba4834b05c96d49f13c0e66c1b67c2f859b73e1faf8b82c25be49886bc3e33a155d1b20d7e9e85804c6259474f6e89100388b5cb884649705c437d570737caeaf8e9b6b737d824ed9d0532d716b64de4a8b9bb3e3fe0ab8b547fe6a82e310175f25c3d52972a56297a5c1378db9b23e15103717e7faca980563e47b6b9c32477ed8c08d18fc528f44b9af8ae2ea6cf707e7eaaadc1f0d3766f14b189cf9fa2411ee8dea3e51706f6cdca7dc392be28736dc1b1af7a9761c0ae4ab84b8455cae940bd716e8be8cb8456cae5414270d87afcae350025fc5e6c6467e2988ab7be34695b9ba15ee0fea5894c625a4744c2b5ea9875be3f3567b9c4555979004a7ac901f66b971915ff2a10922ae8ecafdcd70737cdc1f957be3e23a5d5d1dd48d7a338b057c5eeedec31b21706cf59e07e5b262bf64c539dbfdd0ccbdddb94e5c5c1d97fb13e2e67cf727e5d8c2f3bc052eebce37bdb93542feaa815b7474a5c650455d560adf94e7eafab851708eb20b9eea915bf4c195c2e2c6e12f29716b28bc55d48d22fc92925bd4c1959ae2e2fcdca7a75be4e64a51715d679e57c71176fb9e9cbb071f9f6ec13c521f9e05d7f6c6757a1d879cbeca8723d194afd2625684e00da0dd560ccff37289d6782b056e32bd929be310d2575d70d25a3f24e3e27cb84f881c67827e184494966bdbe0afb638c6a27ccf8f633abd1212f721de48cb518c9b5b737d5c5c1d16372a81dbab4faa332bf1bc929f7bdbe23a595111708b00b852095c1613df44c465c5f926357731dec8cd55085cdd93fb43e1c62aaf84c7b5c9719d64371af14b5eced9941f6a707461f1bdd9b1488e4be8c931c978a520aeede93ae12e8ed0f579b9ae119e57e89c29fdd082b315c6f3ecdc1c05d7b7c42d008fc43a66009f54c231a6c1f70add5a1a7fc5e4da96fc9508f7d6e53aad70756bdc280a6ed103576a859b1be1fae6b8b642aed30057e7c3fd2d726c59f03c2a3709935b28806b53f257782e0ed07d92bab617fe0a917346aaebe0febeb8b748ee5304f7c6c27592e3c63f7e09861b3ff8a5daadd9f0568c5c1d1a374a829368eaadf05c9709cf8be4eae4b85168ae4eccfd31717bc42751b945ae2ba5746f005c273317d7c27dd2e3e212b84f389cb03edff3e1e2e0dca7306ec4f24a7bdc38e595065d969d6f72736d17fc9515b3b2cf2bfd3961beef7d716f225c274157c7babf0cb61ae1d6e0f82b2767ad3cd297cb02e097c6b8ba3c6e549b5b14e74a6571a319bff4c1d509717f8edc1b10d7e98f8ba3dd273627ad88af8add2229570a848b7be3fa8e6e6d84b7cae3e6b65c1f1077416fc4c165a9f04d7b2e6e8deb5b722bc227e5c50ddda736c734e49502ddc8c82ffd708b36b8524ddc5b10d729901b91f825086e0e87eb23e4d64c78ab3eeecdce75dae23814f55541dc5ca1fb0373a393575ae3664135bc49d45c2a42c7b47aa52aae8bcef30ab9b63f7f35c8650df14d3cdc1c9bebf382eacf49ebf3c3486e6dce5bcd716f6bdc27dcb1b57b5ed2bd39729fb85c979ae7e5717581dca83997c5e497d0b8b80aee1313e70c841fe6b9f1865fb272c2fc7c0fd0b571715f53dc1b9deb94c531a35e8989636bc9f390a836b8ba31f717e8e64cb8be3b6e0dcc5b4571be2bae8eeb1be094e9f1431ed51f97488bb702e0dae8fcd51bd7d6c37dd1706f545ca7486e2d91bfe2728cd5f95ef0de06b94fbd1b9fbcd21ba78bcaf3ce98c53ae479ba13f6c6f7b4a092e28ec71b517126985712e1e832e27bae5ba3faab32e76c891fe6706f81ae13a1b3888f4b68ca8d80fc520c541edc46f1490c1c9350700b75b93d5e18b725f5bc1aced61bcfdb7359197c5305d726e7afd6b8ba17ee2feab264f8a6146e6c90a732e19c45f2432feebe3792e2a4cd7e78c6c5a1717d019c333a7eb8c4cda1717f4a6e9cfa25242eabf64b5cdc7ab5f99e957b2b749fb4dcdb10d769907366fbe104f766c375fadd9d78a3096eb96ef85edeb8c42f4570934cb9850cb83a276e14d3cdfd717f58ce190f3f8ce116ac8bef51717149dca7488eb130df4b848acdad41f1577973e9953ab8ba24ee8feaf83ae37b145c9d03f7f7c3bd91719f6297f5c1376d70cc295e8987e310015f85c15d9037fa82a877717e5c1f95e3d0085fa5e746327ec9831b1df925219014b8b510deea8e6b33e3be04dd5c1ff757e566d32bbd99c5927a5ed1b1c5c1f3aedcdb1ef7a9807306e587696e84e297c65c1b18f795c5ad0df2570bdc72f0483adc5a7d129d6b9be2be96388bfc5c422f2a43a2b2dc5c95eb93e1ea72f707c2297be387069cb42fbe0a808b5b739fb4b8390dae2f8b3356e57b819c17faa3326edf3cd20f5727bb3f36672c8aa702e0ea54b83f3d2eee91eb0b739e48165d5d42135cd6996f0a73c238f8de0cd795c1f37cf7e6c275a2e3b61c79de0e3717c8fd2170bfe38d9ee8b57059b75ff2e25834c32574bbac3ddf2467966b8befd1ced9223fd4e248d4e4abacb8bff0b6e16dd223295d96d12fa5716f7adc2728f776bb4e62ae0d8afb42e2daaafc550d530d727560eeef88cbdae19b603869557ef8bbba21eeef919b53727d76ae6e80fb33e1e290b84f90dca23f2e21de259ae3adb85c9d93fbeb736d84aed3946b13e0af42b89bf1461f9c2d3b9ed7e7e2eedc2735ae2e8d1b35c1c529709f72b8b82dae4f765960be898123ec86ef1d716d437ff5e6eaf4dcdf1c5747c68d82e00873f2bd10ae6e777f7aae0e82fb33e23844f455642e4e90ebcb726f70dca7006e5ce397e85cdcd5f599b9b738ee9300377e79a543a808b93713ae931abb5e797c0f8dd39dabd3e34675706d5adc571454551717c47d5a846a87f3b6557c92979bcb5ddf07e7ecce0f47b849acdc42bc9348d05b31dd5c19f707c0c525dda73df7c6e53afdb9b846ae0f829b5be0fa74b845055c2937670df9a40eee2dca7502e11c627d9502544edc9b16d7a9ea583c3e4983b3e67aab3e479a083f74e4d67278ab464eda9a1f2272738bdc9f97ab5be44acd6e74faa5122e4ece7d2ae3de6ab84ebe8b4be3fa04b8b7f14645dc4af1490d5cd69c6f62731cd2e3ab80b8455aae140bb706e7addcb83615fe4a908b8be3fa928ed77e16dcdb03d729859b24e91632bab70fae1315494daead80bf52e1e2f0dc27366e0eeafe7a17c7c6f531b9ba24f747e7d604fdd5ed9451f1432627adf6c3344e180cdf23e2187bf3bd478eb2334fe5c8cdcd717f03dc9c1ef7d774a39d5f4a726d59dc1714276c8def617159277c139eab43e1fe7ef726c075b2e0bec71b5d4175c4c5495ddf969b84cda572e4ba48785e23e78c861fb6706603af54e7b65e781e971b3bf825d9bd15729fac5c1b10f775c3dd8637ea9d63f9123a0e39f9aa3437b6f14b762e91236f05c2d5c5707f80dc98c02bf5716db2bf6a03c5c59db94f50dc9bd57d2a7371625c1fee98c4815bc8816b23f357501c5f6bbe57e5ded4b84fb7ab83e3469939beea7c2fcbb1688c4ba8c931f695acb839e1fd5570bbe69172b838de7d7ae1c626afa4c6adf5f157568e33de0fd55cdc0bf709eab28e7e698d7b93e23a3d727c0dbfe7e69ce17e28e6ea7a7f17dcda1c7f45c0c561717daf6b9be33acd6eed80b7aae1d8323ec9cc6d19f23c186eee82ebabe2e212b9be074e980cdf2be2e644b8be376e4d84b77aba36a8eb24c05df66f71638e3cd50c9705c237adb9b83faecfcabd4db94e73ae8dcd5f093a673afc1086db92e1795f6e4178a421ae4dcf5f395d1612df04e8e2a0aeafe912a5f156081c5d437caf756d3adc570c5777c0fdfd39b6929ed7e466d127f1b94972b790ed8445f2bd368e09c72b1571baa63c8f8c7b93e33e293961877c0f8dab4be44ac16e11982b45c3b5bdf92b31ae0e86fbfbe3a4f9be6a80232c89ef3971594dcf84e5162572092d70732c5cdf1e276d8eaf4abaae37cf8bba3830aecf766f5edca7f685c3cd99717f019cb0a8ef9171bcaab93bd7c7c6af16d1f38c6eed81b752e2de48b84e655c9d9ffbcbe3baf43c8f91d3a5f4bc2f6e6dcb5b317175865ca9d659cbbd950a379ef14b712e8bce37b5b9ac1bbe89857b33e03a7d705d44cf9be2daaeae9302b7c8822b15c419ebe2a928b8ba2a6e14965b071e69cdad099ff4ba36a7eb74bbb735d7a988bb126f04e6e696b83eaaab2be2fe2239be24f85ed3c539709f7ab8b737d7098a282e3747e7fad2b8361feeab866b6bf3575fdc9c98eb53e2ac39f156c333d6fa1e1dd7157b5ea0de9a8bebe3fa7ad7f6bb4eba232cbfe7c18d68fc1208f7d6c87dda726f64ae130e54385c9b15f7e5c4d54d707f4b5c9c9afb94c58d8ffcd210d736c37da970d25cf861d5c575b94f415c1d1737aa817bcbe23a0d8f7dfaa40c6ece8dfb43ba392aeeaf751ff4464e9c32e00fb1dc2210ae9416b7621e29858b03e13e91718bcc5ca91f1e9eb93908ae8f881b47f8a5ddcdf5707d89dc5a9fb7823aa6a05702e2e6a45cdf9fab73ba511b5cdd9efba3e3d6bcbc55a093f6e68752a70bcbf3d2b8b828aeef4b54c65b59b93901aeafce51a6e6a9223965523f54e0e69cb83eabfb0c6fc474cabcf861d2f922e07b4f92921c8734f8aa39375efd5213b7b6c65fed4e591c3f3ce0ea2eb8bf2ace24ae4b0884cbd2f34d205c5d9efb83e31251f156b79b23e3fe921c8bd8b88406e82b87ab0b74a39a2e4e87fb44c8f972e47b6c6e6d91bffa7273075c9f9f73e6e78729dc9a207fa500d50047222ede4a807346c80fadb8454d57cacebdbd719f0038be9c7c8f80db0c1e8986e3d0edabcadc1cf0fe16b8ba29f7d7c2c535dd27176e2ef92413ae8e8f1be5c12d22e412c27273b0ebdbe03854c1577d70754af757c2d93ae37978eead779d423866f095a63869515f65c02552e3ad12385d4a9eb7c5f9fa7defcc6d129f64e5b2fc7c931eaa3e3797c7fd31cd6ae5f394dc2a79a4d7cdfdb9be3cae2b9f87c419ebe1a97a4c02e616da7289cc78ab2bb7143c929f1bfbe3a948385b5f3cafce7186e5871cdcda1d7f75c0ad05ffaa02a737a7acf6544cdc1b1ff7e98073a6fb2105c7a2262e2125370af24b33348972595abee9cab1a5f43c27b71b3c920dd7f5c1f302b9b90dae4f8b1b23f45430dc220cae5412c7a1305fe5c16599f04d219cb22f7ed8e416155da92b57f7c0fd017136f849205c1d1d37ea828b83e03e1141a5c7d5d5b93f352ed1166f15c0bd2d709d4a88da721c8af2551adcda096fe5c7b5cdfeaa836bfbe1be6c381265f05568f4fa5cdb0ef725c35d8b37cae038d4c657e970714cf7a98563ec83ef41727132dc273f2e111c6ff5c0adadf056835c1707cfdbe3ba5278ded46501fa261b8e4ffdd11c54425c9b9abfe2e258e027b5b9b180578a63d7ab81ef4da132e22649e016ba726b1dbc951af7e6ba4e5b6e9ce19778f7a6c2757ae3c63dbf6474754cf7f7c2ad96ef79265cdcee3e8970caac7ec8e5a405bfcaca0973f3bd1aae8ed0951abab634ae53a9926ea4faa5244e5ad20fe538122df055824e1a155f75e3e539695b7ed8c7d5ed707f895c5611dfe4c3b5ddfe2ace490be2ab5e47221abe4a388b35f5bc004e1793e771717577ee8f8d9babe1fa04990563e27b814e9a931fce716d51d7c9e862717551dc282a376af14b19dcdb96eba4c2cd4d717fac53b6e4a9acb827f146101c89e07c151b5422dc9b0fd7c98f1bf3f8253f276deaabae1ce3eb95b0b83738d7498a8b83dda70d6eadcb5b3971e31ebff4e78c65f9de201797bb4f1f5cd706cfc3e3d602f9ab04eec0370ae3c6e02f1971717a5cdfd2c5b9ee53061777c5f5b98eb110be27bc11925f22e29ca1f04314ce19223fc4e2eaeeb8511adc7178a32ab7427c92945ba4e64a3971cad2f8e1931b85f8252d37e2f14b299c33397ea8c429337aaa2bced6702cdca73cee6c6a63e0af7cb8b516de8a9033e6c453155d9c19d797e4e694b8bea9d315c1f3e2b8d1cd2fcdae0dcf5fd171734cae2f846bd3f25741dc5a1c7fa5746f7daed3191737c47d2244c4c7d1a5e5796edc9c17f757bbac16bea9cfb5d9feea839b7bbabf283737c0f5f5b936a4bf22e1da16b94e51ae8e89fbb3ba71905fa2e1e23cb84f609c340a7e18c8c571b94f80ce19d10f255082e1ea18b8bf1ecec734a7c5fdcd4e181edf03e3b2fe2527a83098e512f4bda15b9bf256381c939cb985be200d70715e5cdfd04d62c02d44c0d59d707fbe7b1be13a9171732d5c1fd46d0b9f643b1239f0555fdcdc94eb5ba1c7c42d62e4127ae0de30b84e405c1b94bff2737368ae6f8a6bb3e1be58e8edb92ca45f62e3bccf136571d250f8a11009022a408e303ddfe3e1de0eb84e711ea2b9b5286f6503afcccd41717f3d67837ec8c4bde1b94e5e5c9d00f777e726934f3ae1167db952311c93f41212738bc123cd70d296fcf08d5b2be1adf83867757eb8e7462eaf44c83dd01b51707c5d7defcdd982e2796b2e8e84fb24c72dca5da92ab35c877c2f80eb82f33c408eb135df6be4ac9c470a7459ae5f9ae2d620782b286ead8ebf8272e39557d2e36c0e9f84748c7df91e2217c7c7f5f17a185c1b047f75c4b1e8884b28805be4c825d46516cbf7bcdac5cdb94f665c5befaf66381281f0558c5c9608dff481d20c47170fdf8b5787e6fea6b82e36cf83ba4916b885b25c16ed97b2b8b92cee4f769c31f0c3366706b18c35bc68926da4f1118d32c6886178c185164d5e31d047273e36f19189a80412467c2ce223111f87f828c4c72080f0e1630f1f79d021af7c9bb650a0c5832f0f68f16377fd907dcff89af1407c26f189c4e70d1f25844f183e9df828e09c813efd7ca2f079c2f503f6d92747f8dc533f5c9f365c3f5a9f75de091bae1fac338a4f283e59c82152884f0e3edb7cbaf97ce2538d510e89e673894f263e0a0f3e954840396800387e80233e6987a41c06c8477ae267e26f42893f09a6201a611a1212c8333dc1041254cfd4025cf8025af851f82f81033519dc800253a214e0e4242e61c040f0c54b172e5bb43c8040162c57ac54a1d2e335312d4d9112e500030a80f2e4ccbb9eb892de4586cc48238d3452041138a081027fc04e921098b2c14cb567227aa6a167a231cd9e49f64cb767b23d53d133e92e61cd23e51e49f74f6102e0999224c094cfd43f4a1c5f468a32d248557a5fb240b0f4ae2e509e7079a2854b182f0f44d1d2254c983060c080e902c64b97295dc244e1c245cb0361ba800973e50a982e52ba4401d3258a015d0c88e05d4fae7c696a6a6aa242850a152b56aa549932254a142952a850e9f51040204b962b575c0eb81c707de9c2850a955eef802e5dcc7cb9f3654a942f5fbe749922254a98305ebc78f1e2c54b17305db880f1d285d7e4a50bafc94b175e93175ed3980a281033816bccbb24f891c034bdebcebb98de1526cc943061be7cf9f2c58b172f5ebc780113064c972952a28401d385cbbbb66cd9b2658b162d5ab4bc2b0c982e531e78000104b264c172c5cabbba5479579729bd77759112a54b172961c07439e05d61c0749922258a2b4c9729ef820205cabbc280e922254a1c60ea68630d3620787a02a60e37d480a38d35d898c28e319ec0f8e28a2caa7822072060b081861a5e706105169a58824f0a7dfca050822b846f417d4021dfe2638f3b5a807c8b0e0adf92f3a6b5e75b793cc81a3e0a32515c79279e7ccb7c09f0e2849d6749f0ac30707a59b05cb152250b962b56aa50e9bd19240b962b56aa50e9f16e6a5284c6823293a9e04e0576e6d099ce1c3b75ce3341047120e0e3c60e9c26456e3ad04287cd13bf9c09e44c278651e7ce0468d0a04123420c8387e7cb0472784d8a7abd1e1d1e8f4e07d3a133674e0cc3cc9709e4402007ce5ebcccf932410472a613c3a8f31d0a94fc9ada1c30de03a2344f3c90a24684ff4c8f87064f9b07dc7c40a5c76bca82e58a952a547a7704dd117447d01d417704dd117447d01d417704fd4c8d440d11410410227ffc7148237e10d2082274f4b184227d0c1bd9a38d211e69e00187187854618813682801c8902cda4822114069d031c71b6d00ea42501b5d0cb7a8628b2c101174c5b08a25105904913fa63044912122530cf24c53c03145148d003a240a34a258220a8a4686434055047ac28c251a59629844234c483cd3531243263accd0f0620421b4c83329f24c893c1322cf74c83319f24c853c13f099047926409ee98f678a7a263f9ea98f67dae399f078a6273a9e698e6792e399e27826389ee98d676a230d329e490c415b5c310514cf14e8999a78a6259e29899f0b1a386f20800383038303830383038303830383038303cb82e58a952a5466ca82e58a95344c6860634f2019fcf06512f8328dfc0640391dfc184040b47e4e215fe6ce8f31e07188a3e7caf3c1e3c9684103126686e0c4de0c92c3a03954e0c0c46c20268ae1a1ceec16e7d645ac9555a8f4784d59b05cb152854a8f57c20d6a4cf8331434a2c22114dcf8d0296386063628e89e4032f0c08c09620221a3059f0d6840020f1f33437c188013fbc0803783587094c3203850e650b923070eaccc0362361823474c1c43470c0f68f688d120665c14b4190d77b3d58868b3d8cbd58a39ee66ab11d166b197ab35945bde2c60fa3405bc98be1801f4f05eccecc5487931b247b3c78b89bd181a6e48fcad88bff1f0371dfe96c3df60f85b0b7f63e16f69fe76c1b7427f23f43709fef6e59b95bff1feb6f4b7297f93f2ed80bf15f0b7277f73f2b7267f43fadbee6f467ff3e36f7cfc8dc9dff2f8dbef6f77fc6d8ebfc5f1b736fec6c6df8afea6fb1b077fd3f3b73c7f13e16f78fe16c2dfeefccdcedfeafc8dcedfe6fc4dcedf40f85b9cbf7df037387ff3e06f6ffee6e66f1dfcadcddfd87cbbfdcdf6b7dadf88fe36f437dadf667f93fd2df6b7a4bfc1fef6fa9beb6f4afeb6c5dfb4f85b167fc3e26f57fccd8abfb5fec6fa5bfcdb147f93e26ff93728fed699da90e1996078a620980095e9f265b830e18c38e28d18c208326f4418a43722f746107d1155450cfa22e4f822d0b808268ad0f3430cf24260f04228f042f05e88a51762800fc28f0f028f0f22d00392e201017a403e3c107e3c107b3c10811e88fe0f8dfc0f8afc0f70fc0f71fe8736ff839aff61ccfb50c8fb20e87de0e27d60f23df8f91e46f81c06e5b0c6e700e671c8e16fd8e206216c88e26bc8e26bb8f335b8791a88781a48a0c1cbd37025063b6240e161e8000607de0539efc204ff8784ff83e7ffd4f93f47ff67c9ffa1bd0ac357a19157e190572190f713c3fb49e1fdf4de0feefdd0de4f5390e15318f329587913826f8208df47f87de0f83e799ecf18cfc78be783c08fd0c88f00c88fb0c7ef91fa3d64fc1e2a7ecf09bf67cfebd1e1f5ccf07a985e0f94d773f47a02f83cc0cf03f522c4f022b0f078a4783c193c9e348fe7cbe369e0f124f078ac3c1e03fe8e9c9f43e5e7e87e4eede5ecf1729c5e0e1c2f270b396d5e0ed2c381f27060ef0123ff66907f13f56f04fd9b25fecd0fffe6857f43e5df2c7d9b08be8d956f03fb3568fc1a117e0d9b5f53c1afc9fd9ad96a1c793529bc9a3eaf06cf6f60f51b10fa0d06f90df6780d42780deabc065834a87d06c1cfc0cf6750419a279fa6e8d3c83e4dfe0588bc05478fe6f76502f9326d7c192ebecc9f2f13e7cb68f0651ef83258be8c922f53f464844f4688477e4cd48f89e2c7f8f063fefc18393fe6cd8f69e0c57cf1628e783134bc98165e4c9a17d3c08bb1f262a01861c4cb91e3a5b0010181994608613b70deb4c1e00bd094e1f2401f3e248cb0474f1e11f08470c74e1d3a73e48010e703381ebc71d3411b2859b05cb152854a8f3765ca9429539e32654a162c57ac343565c172c54a951eaf002859b05cb152654a930398dccc2181843d71f6c4e12201980bc08041d374a50a96262b4d547a4d3c242e4d59ae34b97d3ce2e30e65fc401c3bea98a0cb160c2690c0cc65c88c1133074c9ffc1f4000c70a3d763ab0e2df329b9744c873673a99663b6cea2cf04d7059be42a581a41b18a90a12ef478a3d249b0ea6d3d247ca317e36a9c3670e9f38240d464c32865c2149f8d4f399e753840c61a3163ee97c12f14625649ccf0f3edf7cb2f95cf37b30239f67fe0e580b98b11e36b4f89885d100ff1e23a3f31801f046493ecdfc76e80ce75383cf0c3ed3ecc6283fc77c56f0b339530105134400416d782eaf61830a61f64448007aa2289e088b2792e389784f34011befca93a7f5e75b6f3e2a014434e3e317718d8f3026bcf888c5c7c62ed9c34fc29c388b507e242424a447c8123ef90cc207f7e1526731200c820473c1e0eb7c8631e7ef0284c34c05898b9de39318c6489135ee88fbf4c8b535fd550cf796e63afd70631cbf2402551f678b87e799396786fcf08a8b6bdd270c4e581ddfebe2e688aeaf8313f6c1f76eb83726ae93d48d01f2547c4e5793e709ba2d459e47c33196e67b844e59133f0ce01231f2566f2eaed0f57db957f14668ce99eb8710dc18f0a94eb8fbf1465bdc5c10d747e846ab5f62e29cd9f043172e6b856f22e1e604b9bf046e91f8a42ad7c6fa2b0d2e4b876f7ae1461c7ee9ca4993e2ab6c27ac8def6571c23cf89e0db35a7b3cef84e391dc14b84e7d2ed11e6f45c1cde1717f4bb7817c1207c724646e212f3757757f66eeadce75d2e2e2e0b83ea433b7bcd29d5b3bf3565dbcb038c2ac7c8fcfd55db93f1b6e0bf8bc162ececb7d12e2ead4b851628e43407c959fdb248f146f7ce09504d9050be37b555cd7ec79505c170acf135e1d0ff7a7c84dd2bb85966ed1209790957bd3e13aed7173045c5f09c72138be6a875b14e64ad57089a0deaa826b83e33ac18e2e29be17bbb8a8ebab727125dca73a8e453c5c42ba59e9c22bb570595bbe09cb9d86376aba4461bc15efde5ad749cb095be07b265c5c18d777bb45bc2b75e7e218b9be2e47180fdf4be2e610b93f2d5727e5fe58b851f74a5ddc5c94eb53e13cca978d5b5b7aab1c6e51bc524717b7c37d2ae4a48df155029c333e7e18c5cd3d707d3e1cd38957d2e1ea20b952b86b4be2be009db027bef7c4ad35f05648dc5a247f45c1bd15709de0dc1b03d7c984cbc2e09b28b8353bfeca805b63e0ad8eb845c04be8ca318904b710978b03739f8ab84557aed49e8b3bba4f79aeab83e7f5716d5efeaa881b1b7825406ed105574a887b83ba4f06dc9a167f453b634ebeb7c7b57df057681c8910f82a2f4e5802df2be1941df243046e923597aad04d82740b31b93945ee8fcbad89f1574557b7e6feb8b8b826f76904df1137f2f925a47bd35da73197d5c4371571ebc227dd4e190c3f8cdd9cf24a6dae2de9aff8dc1a096fa5c7b519fd959e7366c00f3138657f7ee87a25716318bfd401150f1767c17d92e2e66cb8be41ce160ecf2373936c70a918a1aae1185be17b575797c1fd6171ca5cf821ecb6ba789e9c632ef14a39dcd8f44a4ec759991fc639166d71091ddd98c12f259512d7457b5e14376ef14b1adcdb15d769ea46377ee9cec571717db3639117971092a0ab1be1feeab83709ae930cb728c995ca727102dca73a272df7c3358e44b6af82e2de70b84e791c87acf82a186e92a65b48ca75a5799ed3f97ae17b0d5c5df04ae9aeeecbfd15717139dc27e0d94ae279191c8b82b8849250215d1b97bf1ae2c61f7e898159ac42cf4b724ce02b39717cd9f0bd078e44fd2a26ce599f1f9a706d7dfe6a8f23d1ebab9c98e59afade926b5be2be84b89ff146712e51a1b7fae00ec81b797107f4460d9c34127e08c96d35f23c1d6e2d8abf8a676d80b792e1b2d27c93981b4df8252727ad8eaf6a72cef2f8e113f7d6ebc4c0bd8f37d2e2eadedc5f183767c8fd39706b4ffc558f43baaf32735907fc921db35e637c4fcc4df2e4167272cacaf8e100b7a8812ba5c28d157aaa186e51249710041797c7f54db92c1bbe698563920b6e2108eeed84ebb4c649c3e2ab7254766ed12297900337eaf04b598ef9c82b497171885c9f03d7b6c6758ae71d471a043f8cba39dbf5bd999532bc920bb7e8904b28811306e57b225c5c9dfb84c68d50bfb4c2d165f53d26b7387c92d18d707e89e84894e4aba4b8381aeed31f1777c6f50130ab0a3c9205b7c8ca95d27363d42fbd7063a05fa2e0d6786fc5c375a9f0bce19155c6f360b7a8822bb5c38dcdf1546f6e4c91a762e1b4a5f057815c56073903e287335cd6ec97b0b83914aeefe9d8d81f29a224c329abe387526eedcd5bb17189aa782bdc9984750951705945bf14c68d4b5e698c970e67519e4ba8f7d6c2759ae3ea10b952af630cf7bda78b6be3fa8caecd8debe4ba518d5f9a736b78decae9b28ef826206eb97ef81eebe214b93e2d375279a5df2d0d9f24c02d5272a5c01c65797ed88bfb729f86b811cd4bb1739c85f9a107c759163f04e29cf9f143296e6e8cfb2bba8de1938a8e43897c5511d7e6e6afc2b8b733ee13d18d47af74c699595e49ceb521715f40dc78c82fe5705d1a3cef771ccae2ab6298e572e37bb75b24e74a6d716d1efcd518b7a8cc95f2e1d8d2f23c29b7537c92031707c37de2e316cdae5494b3897cd29bfb0d6f44e5de08b94f556e0e89eb0b9e34197e78757383ee0fcabd61719da86ead86b75ae418ebf3bde1bde5b94e60dc6a79a4106ed1d0959a72636e3c150717b7c17dc2e2d6864f5a72cee0f86112b776c65f29390e85f055225c9c12f729787518dcdf15a72bcaf3c6b8918e5fda73d236f8e121b746c15b5d718b20b852331c8904f8aa29aeadce5fc1716f2f5ca73a8e51f64a59dc9b98eb44c365c9f9260e7a23dc3279a4d859288fd43b67553f04e3e222b93e096ecdcd5bad71733f5c9fd4cded707d87dc037923415737c58db27259147c139763d11b971001bb5e69be47e5d662782b442ece8eeb7b727158ee530dc7d2f149694e5a215f35e5da1ef82b40f726e73a5d718ca1f91e2357b7e4fef0dca2d6956a72d604782b166e6c8ca73a737529dc1f1e37667925a8db483e29cebd85719f5ae78cf5c32fb7c6c85f41f0b0cbd515ba5244475715df935d5d1737ca81592c3b9e4774cbc227d56e2d81b722e22c62e1128a1d9bc52755706b63fc5592e350115ff5e7c88ae279bd3737ee5392cb82f24b745c9611dff40355991326f53d352ecb805f1a748bb65ca9166e9ce297ccdc5a197f15c0cdf5ae0f867be3e03a1971d216f8e11e375af14b16dc169555e79b3ab891895f92e0186dafb4c59d8a373a73cbe5421c5ae1abf8dcd621cf8be1da2af8ab4017c7e63e71715902fc5219d796c37dc170ca64f8a1ec9441f243076e2e87eb2be4ac19bd950bd776e7afe438c7f3ae3d27ecccf75eb836de5fc970ca78f8616dd6ebccf77ab705c9f37ab845c14b08cc1176c5f7a4b8ac31dfe4e51641b9526da8323869697e58c8cd05707d74ee2de93aada17a62d6ab89ef41707556574ac971a8ca57adb9ba25eeafea384be0876c6e922ab750d3c529dd273e3779afe4c1b5e1fe0a849306fc2a29b788e94ad5b911855f1ae0bec41b85b92edbf3aaa052baf1855f9a72b67c78de991b07fd1209471999a76ae426c1dd427959ad5f92e29c61f0c339e7accd0fefdca23a57ca8b1b1778a5a81b77af64c6d579b93f22ae8de9af60b8ba1beeaf90db273e498163accdf71cb9ac25bf74c67108f855435c9d9cfb3be3b216f826decd99b9be284ea2416f05e6de12b94f095ca23cde6a827b53ba4e6d6e9237972a786d845c27a563cef14a461c87d67c159ddb338fe4c28d89fcd20e97e890b75a73e3053fa5919366c75739b9b6aaeb84c039dbe38750dc3e79a4a51bd9f8a53a27edc90feb3861287c0f88cb82e09b16b83aa92b25bb3613fe2aeaa4b1f0c361146a6e94f24a75dc8b78232ec721aaaf52e2d6b0f82bd9bd21709d48b8382aae2f9e33027e78c16d59f13c371707c8f55db94474bcd597ab03e446c9b945085ca93ea78b85e75d1d8ba4b884985cdd99fb93e238f4e5abde1c87f8f82a404a351c5f70be77850a855be3e2af886ed19d2bf5c58d505e098e5b2f8f34c271c890af22e29461f1c3dd7d8c377a737382eecf76d20ef9aaa55bcbf256425c1c14f7e9eac62b7ee982db1b3e89c9195be07b849c23c52a3d12013722bd121a5727c68df2729348b9850ab8b5306f25c5b5e1705f2fdc1ba1fbf4c02c57a0efc12eab816fa2727356f777e69441f14325a7cc871fdaae4d8feb04c0cd75717f443737747d6d6e6e8bfba3cd7ac1be77746bbdb7eae1e234b84f575c560cdf84c2cd61707d57dc1a066f15c6fde98da2f8e9cc75d979de21f7e6e43ab139d69278ab29aa11ce24b04b48ce4da2bb856ef72e9f5d1c615a7c6f8aab53727f211c871ef8aa0eaeabcf3be216017209f5aeedc95fa5706d7b5ca700ee35bc11ef4874c1579d710e6b120f2e95f0e2a6dca7152e0b856f12e1daaefcd50db7103c129fd3f5fb9eeeda12f8ab1d8e2d29cf23e0e27ed717e5da60f8ab446e6e85ebd3e34874f45555dcc8c32f25709328700b613916617109ed6e0378a4d6b1e5c1f3b2dc2401dc42ba8babe13e01d203736fb3eb04c1b134564bf63c26e74cc90fc9dc9bed3a4d705d759e67c82df272a560b8b93ad7a7c6592b7aab3f3702f14b0d9cb2a91f6ab923f1465faece757f1bdca279a4176e8ee9fa5a38b6e63c2f81a3cccd53092fab805faae3ac1dbdd50b272d8caf0ae09431f2c305ae2d90eb84746b88fcd596ab0be1feda386b496f05c3d52d707f3c1c8906f8aa2b8ea9f44da4dc9b10d749102a3337b7c7fdf14e5a043ffce3f832e07b051c6715fcf083fbc78d2bfc9201e70b90ef5d706d22fc951d57d7e6fe049db038beb7c5cd19717d90dc1c09d747c7b5f5afd2dca2a42b65e6e29caeaf806b6bf2577d7868ae6eea4a25b9bbf146465cddd1fdedb935e05f31302b3d78a5134e99163f3c3a696b7c95d18d43fcd2967bb3e23a09ef0d91fb94e51c816fa1ab83dddf9a6b73fd959a9e0a5777c58d42e04636bf04bbb643aed393cb9ae19bfcdc0d7923322e111f6f35e6deae5c273dd726759d0eb8b924ae4f78e31dbfd4e78409f23d33ee0dcb75da736f5fae530b370ef04a6d1c138357e273c208f81e9e1b61f8a5252a19ae8e83fbebe2b80a5f1be18cc5efcd717345d707c22c971adfb3dd5bec3a793969527e78c749bbf2433c6eacfaa5258e2c379e373b0e9df15536185d708910792b0e2e6e8aebcbf305e57b508e437dbe6acfd5e1707f869c99c02bcd39b6f43c8f8193c6c357b16e2d8fbf6aba450b5c29146e1237972a921b81bf54c3b549715f4acc2222e1ab1c396344dfbbe34ec71b31a144c395fd543fdc6578a329e78cea875f5c5dde5f9a63fe5e29892babf25485dca8c22f41b9b936eeefe8de92b84e88dcd623cfe3e16cd5f13c3ea72cf8c3078e2f2cbe17c139cb1f7ab9ba26f7c7e7d8263e29817b5b729dd25c9b23d7a9e9e69eb8bfaf0dcb5fe1706d49feaa0e55119785e79be0dc5c23f717e6de70d78982b346f456289c303dbe17c6b105c1f3964eda981f0a7271799f2cb8370fae531437f7e4fa4c38126df92a302e8ece7d3ae33814c657d1706f015c27341787c07dbae1a435f043a86b035e2727d716e7afd2b8b7a9fb24e6168570a5c0b8363eae93925bfbf2564fdcdbee3a6970ce70f8e10bb35e7dbea7c02d32e4124280aa839385c0335d9d322b7e68746f5aae939f639112979000575775a504b8b62f7f65c411d6fb1e095707c0fdd5b9350bde4ad03963f2c332d7e5e6797e9c34a7af523a5b7e3c0f8553c6c50f916eeeccf54971bbc42761399ff26de3e6b45cdf0f97c5c237f1b9ba2ef737c475adf03cab9b84805ba8c98d49fc12983ad1b92cde3365395f897c6f838bbb729f68b8ba326e1498db62e479375c1b11f7c5c38d0cbcd21f17c7c37d32e4e6a4b8bf786b15bc151654169cb039bec7c5ad0dfaab02aeee77a33838ddb8b7afd302b736c15b55713be691fe1cebeaedea3e993969677e083c697b7ef8c8197bf23d3e8e32304fc5c8bded709da0a8acae0d92ebd4bb360bfeaa8a3b071f075ddd1e37cacd292bf44306ce99193f24e23884e6ab4098e532e37bb59b3be3fe04b8b1459eca857b2be33ec92ece89fb343c8ba82ea1088ed9c62b11716fb2ebf4e5d8627ade93e3901a5f75c3ed9247825ddc09f7c98e9366c357f5e668d7c766160cf8bd336eae82eb6362d6eb8bef4d708bda5c29296e11962b35c231c6e57b875c5c00f789cecd61717fb16bb3ba4e095c9b95bfb2e1da14f82b1e8e43c1af4ae2de7ef769807bcb729d46b8b5427f15e6ec1f9fb4e6eacadc1f141727c5f5f5e2a4dca73f3752f14b676e0eccf5157159f197a0b88de0914cb8b7a7fbe4e4d6dabc551a37639f94e7da5e7fb5e63834e8ab7ab83a26f727c2bd0dba4f47d7d6e5af88b8b92feeef7671595c1fec38f4c157ddb9391aae2f905b83fa2b2ac7d9043f847359347c930af726bc4f131c8928f82a322eab826fea725d213c2f91ab63737f5edc6178a328c722182e21dbcd49707d48dcf8e7970a386743fcb086ab8be44ae5ae2d91eb54c049b3e2ab70c7dce095fa1c5b769ea7c0c56db94f402031706f6cae5312272df643338e43347c9509678df656275cdcd4f551302b6d78a517ee6d82eb34c371c889af6ae158f3e1ad20b9361eee6b864b44e8ad3c98957f5e8985234cf7bd3937caf14b79ce56a0e7a9d9e51af4bddcd5f5b9bf3b6e24e1978e6ed1992b05c43973e1877fcedd7c74bab18c5f82738b34b8524c5c9b20d729e958313ea9cc3943e38745dc1b18f78975712adc27dfd53ddd28357734de0884e3509eafca738b38b8524f9c2c2acf24c48d747e49776309bfd4e4c8fae279aecbca5f7ae2ea12b83f1deecd8ffb24e5ea7ab83fa96364bdd21527cde887709c4ff0b9c7bde5ae53059725e69bb65cd709cf0bde9bd37d6a72cac2f8a1937bfbe33e2ddd1a086f15c749d3e1abe2b5b5fe6a83bb106ff4c0cd39dddf01c722222e21008eaf1cbea7e5b21cf8a62af718de48ca75e579de22b7a6c85f75b9447abc959859b9e79554b8b82eae8f768906792b0c6ebd10f89e949376fba11af796c77d7a4295c4e932e07962dceb78a3264e9695671ae2b616799e0db7e8914bc8cb4983e2ab6a1707bcbe04a8eeb891885fe272ca80f8e1ed16e571091db0cbe5c7f7925c5b047fa5c465e97e098c1b0578a5308e2d0c9e57e51235f25671aeabf63c2aae0d84bf52e3d6fcbc15203797e7fae0b83547fe4a829e9fe3500f5f9542929e63edf8240c2eebc92fcd71ca0a782a3e2eab846fba7371b5fbe4e6be25b65878de16aa3d6ead91bf8ae0de8cae5306e7cccd0f43b82c1ebe29868bd3dda738542adc68c32f55b9d18f5f72e1a4c51f8e71757fee6f8f9b8be4fec45c1d11f707c9cd5d717fb09b3be1fa9c2e91206f95e61605720951b9390eaeaf8b93c6c557151d59623cef757bc123c5706d61dc971637d6f14b235c1b95bfa2e1d6f4bcd5efe6c4b83fddad9b47f2e13804c557b970ce14f9611617e7c6f5ed4e1a003f6ce3e2d4b83e25f736e73a61715b803c4f851b0df9251c2e6e82fb94c41166c1f760b8b728ae9323378d6b0bf357491c875cf8aa3eb388fc7c1524546dee61bc51075747c58dba72cc31afb4e7a41df155b28b1b739f9ab82c34df14c1b5cdf92b366e91d425d4c03d8d3722e1e682f747c12d22e04aad396b4fde6a86db1a3e49c9ad971ddf33737552dca82ab7a6e5ad96b8a3f90ce4dec51ba9b9393feecf0a55152751f0ad42b8b701ae53075767e6fea2b835e2937a1777c17d9ae2d60cf9ab07ee51bc119953e6f4c3a55b93e1ad1239cec2d7f8dc56f0482a5c1b1bd78975230bbf74c03de21635b952161c63277caf8a6accd555707f4e1c5f52be67c07128cd57c9291c2e3db3624abe87c72ca227be6a788b02b8525a6e6e8dfb333acaae3cd5215457c7eef9a4d67148c957a1b9d1855f92726d79feea8e6bebe2bea838e6d127c570d20ef8a11d9725e5979c66bd78f8de161e18d7c5e7798eec7239f23d25c7a102be2a835b44bb52526e910257ca84eb7a3daf897b03de272ad746c05fa1708401f03d3a97c5e79beadc240cdc42085c5c9bfbd4c56d45f23c1fae8e80fb3be1dad6fc5517547edca8e495c4a04273cc41af74c48d827e89837b196f04e78c257d4f8f7bdb739dc638690ffc908f9bab5d9f9b6ba3e0af9cb8b2244f15c5d501babf42f72fde88cd51d6e787f12cc273097df6844f8a9d3441be2acad519dd5f9e23cc88ef35716fe0f38a8b83e4fa2238b2e878ded0d535dd1f0c3777c8fd3d706b80fc1502372af14b616ecce197b05cdc92fb74e7ca0278aa292e4ed0f511dd9a177f653b634c3c95eee69c5c1f09d775e77988dc22dd95b2726d885c2728f716759fa69c343dbeeac92d22ba524b1767c5f5b56e44e095f8380eb5f9aa3a274dce0f095d1cd27dd273932cb9850038696f7cd5d1b1c8770919701be6914ab8b805ee930ed786c15f617159bd6742800acac5c9717d4dae4ecbfd013ab60c78de00d756c25f4151053ab64a789e037de3de72b84e7adc223b574ad0c5d1717d4af7f6c87df2726f55f789cc75c5799e2048602eeb876fa2e10ec61bb5b9b7a1eb14e6b6cc23b1707384ee0f82ab23babf37676c87a7fa0873e47b6c5c5cef139a73a6c60f8db845825c42556e4ecff5c5718b70578acacd79707d621c89c07c9518f7c6e73a99716d915c272a471815df8be2e69f64e746447e49875316f5c32ac7971fdfb3e0b606791e0b546e76b9f2f85ed1b53d729d781727bc3e311797e43ec939333f29845b5be0ad8cb8bff146471c8beab884a09cb43ebeaa80a30b82e7c1716f8adc2705aeee88fb139e331f7e28c3094be47b695c5decfe38b82cdb2f75712492e0abc6b84568ae14a0dbaa4f9a73ce8ef8e10da74bf73c2c4e9795e7a171735dae2f082a226e6bf83c216eed86b722746db9bf92737165ee53a06bfbe33aed8e303bdfd361964b8eefe16e6d86b752a4a7e6b2fe7cd308b78875a5928e59c03761bab93beecf80238b8ae7e59185c6f362c74ce4959e38c62af89ed4c5f5ee130cb7488f4b28ca3993e2873d1c8baab8848ca8f6dcdcebfa3498f5627d6f77dfe18db05c9b11f7e5c375fd3c236e0e88eb5be4ac15f056341c5b0d3c2fcab5c1f9ab332e6be897b4381241f92a2c6e515ea9ddd5b5707f7d1c8718f8aa369715e597eeb8b722ae1321272dce0f19b9d1cb2b197259b85f12748b6257ca807b0be43e355d1b0b7f5548cfe8e2e6b83e275707bc52a52ae0ea9eb851bc23cc80efe5b9b734ee93ed669457e2e0decc5c271daeed89fb3ae284557d0f8e8b0be4fab05c56976f42e0181be2a958d736c8756a72596ebe29cd7168f655634eda9f1f525d1d08f767c6cdc1707d7e1c5b333caf826b33e0affedcf8f44b269c321c7e38749338b9858e2e8ee83e75707524dcdfa04b24c75b6db9b50fdeea8d9b4be4feb65ca22bde4a7773205c9f19c7960acfd37263753c159c5ba3e2af5c3747c8fd31705901fc12193737bcbf32c717d2f706b84904b8858a2e6e787d638eb2137ec83a6534fc70766d1cfc9517a78be97965cc6201f23cdcadb1f157473782f04bb7cbeaf34d76aeaee8fee6dca231578a87636d87b77ae46ec41b75395b453c2fcdad75f157b58bfb739f7e3717e8faae2e6e80fbd4e7d68a4ffa727373ae0f8d7b99cfa873f6fb61a0e32bc9f79a1c61b3efc539960e51166f95e4c636bf14bbb5386f05c7b561715f4fdc5c06d787c5652d3dd35717c1fd25716bbfbf5aba45855c42596eee86eb039eb2367e58c099493ea9cf499be087805cdbeeaff6dc5b03d7e9848b7b739fbe38c60af85e1f27edf5c332ce58d3f7fe38b7126bc0235139c6fc7ccfeac6147e89805be3e0adce38be20f95e9b9b1b737d81ae4d83bfd2e2ea06b9525fddf04a057073445c9f2397c5f44c56aeade8afe85c5d0df707bccde906dd280c8e5d7aa42b370902b790956b73e1af0eb951cb2b0d728b6a578ae9e266f789835b3f9f343bbe80f81e975be4c095fa73eb45fb1ed231f57825258e30a2ef8170cafcfcb075713ddca7436eccf34b4b8e95fa240f6e4e8efb53bad1875f5ae0b2ca7c1304c7eef04949b766f557682ecec97d22e136ce230971d21cf92a2ab7e875a59edc83782307ae6e8e1b65c1d92ae379215c5c03f789879b0b737d4650ddb9b7a2eb44e6a6945762736f305ca741f766c77d42a26ae1e222b84f47dcc87ba5a71b39f8a5d7d5b9707f7eec7225f1bdd7b5d9f9ab386e6ecff5c9717559ee0f878beb739fe8385dbbe77571cefef8e114374903b75002c772f14963ee6d83eb24c4c51d709ffc3821bcba787f189cb4323f1ce4e26cb84f81dc18e7976c9795c337b970753fdc1f23377baf04e79c45f9610647d89cefe57024927d55a0abfbe0fec8b8393fd7f7bbbaa4fb23812a8f5b358f84c3bd90371ae3d6b0bc5510d7e57a1e1337c7c4f50da9e29cae0a9e37c7bd01ba4e809c3013bef7c391a5c5f35897088bb72a3a6701fc704c1b3961807caf8ccb6af34d161c5b719e87c071c8eaab96b8d1f74b275c9d2357ca76756edc2832d7d6c47d1171cc0e5ec9849b73e4fe22b8ae3fcfabba35346fe5c54983f3c3456ebd50f8de02a70cea87bd5b328fb4c2d93c9f14afcecefdad7173b1eb53736f4f5ca742676dc95bb5707534dcdf204e34726f485ca743eecd82ebd4c339fbe087225cdc18d7973b12d1f92a42b7e6f457512eebf54b54dc68e6a39870e31cbfa4e7ba5acf5be23854e6abe29cb3417e58c52c1806df8be1b6ae78de9bab13e1fedeb8b618fe4a9173139e08eae8eaf2bc37ae4e87fb43e492f0a8644b9b8601124308188a111803000206198418a713f31480903820128d08456a180379af0714000e4ea4f0b22814aa004812804c00001140044040400010000400ef25d205b87b469fd768edee3fc6c484dffcc63bf763d1debc5f9825e659ed7fc640be151ff9666ab53ffec01cb8551a5ed39bcadb504fb37d91eaea3f386d18e6f10eeb2cef78d4d0e7d7bc7cb18069cba1cbac34c1b1bd6778c2c042941f03ecdbcd1b18b764e792a3d7d65ef65883e88ffa56868d1a1c1efeaf93fdbbb6d7a3771dfb1ac8affc0759dedf43ae3c65ddcfe0600b85356496fcc2fbfd816766af1eef7e4f609ad98b0cdb9d9d7740c9b300c75790b4caebf3b171e9fd3640eaf7d4818f22858dfe1e3e26e1a9c1fe3b734d38cf85165ad678adb236b79edab16171fe2b2cee7e0cececafb6e16fb941f6e3f74035f3eb78d7b2e40d9484b3571b433b3ee735715e7e0fd2efa3d4b81658af0bf9fa620affac3ad6e2a7bdb0dfcdd1bcc43ac575c5494746b9ac655be2eef360a85cfb5ab1c4c6b8d38cc91592eec4d41fc8e88fe48ddf9fbdc3559f5b9c2d63a8af01d7026873249ed50124b1bdb36ef5da5aebd7d6adbcb66efd8a75eb4fedf00d351a54e881d058ed644852cfd5cccd755cf1f5ac919ff827b63de2f73e32cfde86e6247c254b78d29a29fd7349939f84912371fd389c9197be08fa82e467067d874eb6af95c17437c33326cabcf21e7b591d51a61de0978864f6f55cc97f56c23b5b41622881b0ff19f25f6aea68cff5e0e8762289d44f166be3558af6d8ea7ad74b9ba7323e1293c1857b261c4c2edb35e551fa2ee2917f1eaf17f4843fac7a6d9f9db43f985deafd232c6df979ff3b9c1fdcf013bc47e4974fe911d94e8d30a25ed9dc968263eb5a58ca13783378b8d8037db941efa23d7c57d78a7fa4ddfb5dffc4e16be137cd1ed639e539d6ae4dc2ee21ffa53dd71d49e6363a17b39c257bcceb40d1c9b1e779aff69fc187a53ceef3ee3d9bd61d5bccf9e75bf663a78e96072fed4971fc77f8ac1f367155a12db2f1b07e77077a2ace83b4bfa117892cf3e8b01574770dcc03e4f895f81c0832e2d115064ba0f99ea32bf8cbd6bef9a37d5945ffc779ad566f5c7a56a9a1eeb2dafd4aec38f72edab69d0ac5aa384758af82bda990b96d7d8a89736224e2a3b728bef5fc3f472ab5233c984ce82e23d5fd67de5cbfe4516736f03ea0cb938c6da8b686ef43d76704acc86dfdd1375f635b47653e3cf6f84ee03d5653e8bf11aeee02b22b488c11633f788c4bf704d6bf50ae8b173240af3e54b60547ab4d68288360f3bf6820d335bd3e3698ff6b7b02543d8a5b7c2e3431082738061cfd0d5c8c33a2df73630edee8f9eeb8fdfec3e87bc4c00866cd4b8c3e4fb1f97e418fbaf7704dc2d733129f6bd62e43f2f036ed1e9adf3f4fb25d2b98bd60f48187b1b6a7f1b77779c331c923d8a98c1bdc8fbb732c0d6bbc8f3960eea37b60455cb47aad3d0f8995314538dcd11deed63b1fba569eba4e419c00e7dfdcff8669a3d9bfd5fa03ec16570062bc4e6d3f453875b0dea41e69d24296bbd8fec91cff6b47ef109eec3131e403d609ba53d0a9e0572b93df5da17871f50cd3a73a9aefb4658643543eddcad5b0aeccbf12f5049514c06ade79b4b9070089cf8cffc39974d1669e97ca36e1dfbc2af75eab0dfd82c57b1f3737026b083ba59cbff4713ff7bf9ffb77bb330ca3b56ed1d89aed4b87756ddeeceefaf0b9414fa9e550a30f6837a761b76e5ddaea334db722c58a142b2aa248719162c56a35ab9933e5f1627f62ec5e19a7aa37a0eeb033698ee37930232f85be4b6754af7bc33ecc21a6cfd888a369b09edd4846d9f8b6ef6e9dc59563c12c5cd3edea6abfd4232accd402b7a7fe3399f17fa367c97d901c8687cc8a7b577b2913883ec435665aa396cb860fa29cbe67f10ea833fa7b67348603f6e5741e4c7d1dec88fe5ce2ca41eaa5dccc8f6b9c44fd9a4c1c9f6a97d78543df35d7954e649790dbdec93c866f1ed7ae3d78e11edac672a4b107748f42c85a77d2dded442ac290e69d8d235f38f58be732efc62ff5ec1712f5dccdfed8ffb8c667b95b7cb3f37587b9c87f63e69dba9c94370c9f833acbe2256f7322ccb26124c759b68e8597ce77e59fe6bebdeca33b9f0ebd4fee501ac771e8810f97a514018f02ce3c2aefdc71d9e0fd9d7ac26e750b81770a479fc7f14687db8e03cd787c987516800a6715025baa37ea036bf4257a1badd42f662d078db58c08a4faaac7693fde9cf81e8ffb3bfafc98bf25396be53b9e83b01b0e52d7350f5f557dc39ba9dad16e93b1919cc9df250af5cab34b1e9e33a37a63de86dfadd21bf3b10c6d707bdd5782f3e2d4c0335ecd5e9e979fc67c960fcf06db8ec89a1c3d7e7be69beb62e26ea86da3b03fbc1d129e6d061f0d0d18b93a4a79296ffe759ec8715d394e1cf2c15918f53d134fbc3277185dc553a449e2ff591d5f16f2ab9c2b664f752e303e48e6a1e5bafc5afe4364cd481d4fadd729000d4c0f184badc3acd7ecb3fbdfb0d47aacb11f9ddddb2342c67d9afe0e75ad8dcf1346a3f72739423eeddcb90e9253c5c121c933cf4f4f86ece8640a1ea8cecd0c8f47b795216ac045fc487f6777766fed3168cc9b3ed0270f1c62650e2de89ef588bb39fa138eec5ad6a0f3db0d6a0e8ef1ef5bccf228a6d4b1580a161a4c054b29752b18dbb1e0ed2de8dc058d4fc23c0cae4c1f8351b997c8b4740c117ac6f4bccdb7f410bee7efee2c50996248754c1f1f83139a72dc16cbbed0dff91d71823cbc20b505234a2dc3fbe8355fe8f1862bfcf366e09fa5071e04daf703fc17bcbc89ee3ff7b047941ccfd2bde467fb98e7b97b3721cc06778bf647eef371197368f86f0a2cf4e68b9fe2a3b39e92571f7e953e3bf99675f7ffafd8e189c7fccbbf9fa5e160a31e3672b2e16cf30706ee72bafc8d4afbd66ee378590f65aa76e75f8fd3fca9ddef49404f2d84ba128a0aa4daa910553ca90e85bc5209753c54154abc5321aa78521d0a79a512ea78a82a9478e7f633f1c3c6bd694fd327761a719734b8a4cbb7afdfbf7efcfcf6e3e7c7aff335f78b7d9d16ca020b28bc50e707b24b985b18f8deecd533a7dbbc1bb9332fba20fe201329e988d79d7f0b02bbf027ed21bbfdaf2e977d4179f2c53b2e21e3e85c280f42a86b4412cf341d945b2726ba3f4ca3a59fda349fc1599ca75aee67e096fed64ce024c0aa5367655f525e651e976dc88c65adbedad07b4fcdae15d532959199a06cba1b2c8a8d3fdbcc7dd703145c3660c27789af7f0f68a3135ac6e80afa0bc2ab1b310a4f137dc2ed13f67787fc04d1e70527c5901b613e23a66c49acf84528cbf51e52ebbe70d71acf0fcc7c6889bf746c2b3437021dd71d738575165bcca720a14d7089434bde3c9738bdb75d50d38b8ef5ac076bf02b433b9e1f9ad9b7788912c9366a5de2c075dc536515e13cb264bbc0aaed61fbcc9d7ff49c5a527510410a36f25afeb2406d4c146f9c4cabf77de1f9164f7e4cedaa71b5acc744e7a2cf7a43defd2feac754f591ee19ee99f5dde4ece4475835c46ef504ac7f5c3a502fa87e7b56c66f648fe2aa909b0f873ebc431bf2e8655ea710f8c5b7dfb6053f4d3d54fecbbd1bc8cf74b3ab475bf9ed0defc5a4b831255d7503e51d6008a7bffef99f11f29e0c1a2dcb035bbbaf15a7b32fb79def74dcbdd770cf4242f319ac3b98a55db4a140b36d617b1c332fc59f42101b6d2f275efd4b5639f0fde65136349cde53ff217bf24bf836075ccfb9679de770f4f01b9e3351d1ccd3b046f1ea09a8d361e2c0be556771a8d891c4c640b9914c7f1f8aeffb36832f668a766c60fb6692bf46c1730779d957efd7060d475ec8ff2efeda6e6f4e9cc0e27dc199afbb142b7657cb4e8b95d002e0a567c7f192dfedb30b7f87ecd67f0f353ff2f67974c0bafedfe3de84cff0e9447f61c175e361fe8b68f047eff22dac62d9f15df02ce7ee5cffccd6cb30c677c9b56ce2ccf3dde3c125967168078dee1dabd83cf6f3f29215ca6c00f37401dc7859ec107cda52ce06d5d358826361d5d2e083d5c769b764d36fe16149e6dd089fc5dac72ed74c7562bb3a12bfb9f0d531accd6122f2c7efe6991dc80d06c1c103d296e49257ba7c43927cfd257526789cd9f5dacf6e92dcbe71fae8303bc1ffcccacf6cf92c43ad37bc2c16907d74fbf1db7de7b5fbd1074eef1a23affa3bd5f2eebb7beebe5055688557ec9670975811d5ae2ab2f3af44f1d859515e3ee45c754cd7de9a8ef275ddc2d27c7653656ebb4f648f2a6603b90d989bd240fade3886ef8cc50bdb44e9c7a49e2323c321ad8c4d8bd4cf27971927632aadb633720e3377e489a34e241d88db8962b4e491351628b6a17fba621169d287de2ed8d3de7e0877db141693dce92ae64073109789cc5c3ac613e7eb9630bb39dc8dd3d92f51065777dbc92b16ac00aacd99ef2c41d7cfbf6ab4de88a50bbd79d50dba279f4edb7a206bee7454aea0467d7cb675d132a3db7a6958648a9eceb832236f2bb3c64a2c8778f206d06595a5f2a849e6ebf4ab36079f675f79d16cd1746107a2f94a235b77bfa3c65fb33c1fac75a8072ac33deff5a56ca3b18f9e43145791534f7b288132684e43329b0aac6e599bb9ba3931f885c1eaade29ad4da657b3b5b328cecd89b4f0027750dc1ec9caecf10a9ccbe780b57b488c3541ffb3d53dd8559b89a17f94ec6a7fd5736f7dac44a1ac5ae7bb83b01b554ca47599981e909edc3d2a6cce85afb7939dac1f5dd25e9b0c911e63ce5ae0e422eb148dd220c350fe5b6c986b5af0a735c23b32ed685d652dc976d3bea518e660796536336156633213fe59fdb3a5bc3ac0bd4de1c48b8b446ececb7e817328d35cdfae6c3892cbab96354849d2456dcd1c97ff880c7d6905c697a5dba45e9d3f565e33564d9fcf18fb069066ab17b2715b732540a661183b2758973a43230f1207d89695ab5566b35c52471e2ca2c72da225224e89bde69dcc9d66fee28cd663a4e5e54b83e5cfc8102932e47cfa19fa9421738fd5e1ae9de8e7ba83cbd3f9692f4de36308c9cb18c8bf63267489a56ad6a8bfb1677a2fb9f8ed5ec8026b7767ea3a69f3f684e4d33b202bf6a8ff3c7108fb52ec5962d2d36c409c5b55ad005639e84ca8b982cd3a61f401fb71f121a79ea4f57fb388476a7fcbbc83d57b7e6b2ced937da1e7dedcada6f1ac1dec9a3bb707189ba853bf1b569d4b7c2d2a20fd1aaae641fe25d948fda269c349e87eeb587ff4bdf78fdb6b9b2c3ee33c2333fc6684b756151d00b55cf48ec01dfa821e6a6190a3bd2c830deb52d4fa6e5c6e61f281a248a048b6875104bc5cc20ed26c82627f75e0e60e1bc6b8ab8fa030298b261934b25a3b7488f4638b26833a94cb9f7978455ce308293171b60f6fae778a03ebe5f9f0b8c0f4b5d7014143749c1a78d529a9637d6125723104bd98150d7244fd242ac7d53e1b8073873fb9cdf82296f65b2b8b3f701dc9b782bbf4ebaa508131a87a835440fd4d9c2b4f6fa006c1a936b3f739e533cc6389630a2b121d5b8c78aeaeac1c4c152799be3512aa1fcdf7376ae4543c278fa4cd8f7ea20eebae2914460ce4cde5ae1e414f707918878dcf72d7f496c80de11885856cf33ceb931bf016769a37f991cddbf2fcc542cacbdd79192f1a5037ab0593854d771c3c11d9a151d1ec513ce3d64b754d24c51447ce3e9f9fc96c9cd4aba2309a09ec0b44e464f8b9d22a558bfb17bc7906d22b2a1c34b4e13225e7db7727d427e21b7511a56b51c59ec4c363b4122363be16c5fa124be298c4c9be34b1740fa5190fd207574e41de6959cafd3b32f14d0f83f90c2fef3152fa3acc5f84cdb137cb8eab6486a40e4377a5a599643226ae3d3568784c64791e65412f2cb711406900bc23b34b03bc3911dc68df12c573edd8cea2456c598dfc7ddcee45e6bf31553f3f7da45b65b018ef7336bc1f83cd04eeb5901894fb71f5323060c00535f82bf51d9ceea3de14e30f9575c05521edd61cfad8560f86ad4d2e55de6d289e1d4b9946b442549528dbd731989cce6b42c43de89bf68c7744aa501b9f78cff58bbd0ea8006ad73fa31da6a9429733c2372a971554be34a1f21f3e644e07c45d325070eb4cd95754c49f243bf90f9ef899e2c8cb89868661156e7443555fc6039940cd4f3b3f8ad73ae1ee2b6ba29ec51cbe6b9ac5b6ce5c6f1bebfc1aa294ec2e38e2b1fe4a965518c28bfc3fca536fbe0eb2169d1c2c37caa2d155a37b7454c78775bf354b4391cbe2dee0549adb054f2fabed9b64be0866b1f19ef42ae12da17af5b0da84d263ecc6ff8a3c8e5ff8845a97e01d6f324f3c346fbcc3007f81563fdffe34f93f320ff08718ff4cb0240dca0fbf97cb504431cd750b394323679a5e79e2ffad5b679b27653bb11d701ce1c495bf7db088962e48e3cf8b016fca78e53436e97548d1b6f0fe891d3cea56c4c05d3a9d4dd65cfc41d9cec7a324b2b0017aa313de179168d4abf8ae34da696be06dd55e6818feaebf4ab1eff77074d782b96aedf85d89990fead3b18953b6a37bf78dfe4a4ff35743613f125dd2c84de2a9d85ad3a1811a5760c77dafb6b7879175ed63c388b779a8a1966e3019d173fc7d5aa5d2d2e8a6c876c5765d677583502b43500048fcc1a9e875a8d04479fc3da8ea4e824d9838761eec2d90a91f03af12a0c85b031c2bbafecb99052acd831d8d2e0335c69bba1a966b2a2bfbb6c6eb75d9be4e95c83f2d1d4ce8af68f39a7a60418d505f03319ff741c28299f310409262e6c42c6db832661279ba9ddc2b6543ef243c7660c8763a156e9cf0e771c763af60e151b917a5843dceabbc238fdfae951a8f9667017905c461f26e2d40038fdc18a137b87785bef898592fc54687a70d0565362c30b09870bd2ebd36cd322105ba36e41f3ded1722ab4a016cb347f9565befa3ccd814ff757afeb7bd26616e6016db12c7c0e4f75f2fa5b7fc3324585cb7e0fb9ccd04df521b7d4ec9edebbb890eb16c4961e145bc8af0ba922b1f31879b406472957946b7fdba208c74fca882648b62455a7faaba7e5d2834025757d93d090e45f70587a7c23cc0db1d4dc64019bf9e3c5f512486b0aac516213546f27e890c8ee02c98a8ce50ae2f1bafbb84d2a446bfc30d46e501e68a487cd3c2dd6711f15b52b3d354d4ef56d0396620253b326c7b5a15d686d09dd0efe95c1fafae0f98e73cd89cf42910f83ed0ca1bded3fa03322d72bc26928f59989e2501c3a1039d6f312db649b0693869807381ba54368eb6d3dd5b02df7c458ed3b440b0f45ef4a673ac4a70603a05ef80651d8aa7083f2dbc5daf00059d1cfc8bc9114a5df5289ceb485c932e995b6325d8a9110c34219fe09a4dfce73d68d1990411f214aeeda2ebefa6ed775c9f78c253c4c8007fdeb28d66b450d64b1fdd703dde38690c292f92d426162b717cf974b6cb1f9e9643d06b87d91be23427a4cce2783f90669c2100f9264732339960dffc4371128c90c70b44d8f906657b1eaf23b722d287d42c70b60c924e8ece18ae327dfa63e298d16f8589ab18485788b4f39a3f36ba6b92324c1d1d577788d989c7a57692c96fbcd7f2322fc835846a1bad1509a982f6458311f7e7f518fb1759f94320b3b7ca9065f07e8df1c29c424c49b2e30020df86f37096aee9dbd2ef121a84aeae783a76f2d9c54b4fa1f85cdd3d1868fe73f545203ab713366472d9f775b1abc9cc246ac62a9cc8c5243c911ad1017dcb52fa63c0ab38ca981f56c24b15f68184c4478063c7602e62a8c9907f4e70c24eb01b78f675369fb8a15888ae181050b44b2fc4a6a48047bb00304d4568fd07d318b2ca4dc42835d1872651d92979dc739e7c3b83c597c2370344e58d5bf623920f4335f6555913d40a4b98964ed47afc90e61e8bd62695b368b24f84788bdb89110c2ac7d1b6cdfc267122586db8fba7f8e5d22e0f05a0e190b65ac5c35e59f3bd4cc4b60643d2a9a8ec241adaf4b3e08a9f49fc784af5afc50c2de71feee7e68bc19129cf89bbdda9d6a59f49839e0f5e43e13846ac2ed5e01db0cb43e31d69939ee07e50703c44f89c7be840ea57de56797b7d8ac007a2610936f350833b53914f3a19f3c0c1af29e00002577ad506c27314c24b6e3adaa41db3c7cce0aa6dcf9c3fde96f6e259ea77c8f950eb038d663e8d5454fa93ce5242e7d9fae809f90f7fda9694df6c7ccd730ca1f8b87108dbdf2cfc8e09eb47c53263f3d6f74dd87bc6e1bbf05ddfc43d496fbe638f9b1e2a8f4f9a14317fe0b4d2eb0a5eeda60fcbd29ea89a0613c515f82260ac8527afca1e1d511709dd0eef8e646ea02d305f3ec3ed14648ffc78cf074d9dc9d09c9b1a500a2b5bb9f4b0576a37f97fec5784032d57027f3e71d0ef4e325146c69f2a7d4ee136125797eb3f05f0d113d7c0bbdd1c1716e21f8571b847057b520a00f0fa4a625b3a3e56a0c67bba7433f8b2f19e9aa6679d399ff7ba8c7276bbf627d901645f470d6758f3925d8c41ff16cfad4f35da20e72d4663b0f772b70b3d60ac0434b732c0a2e07eb3145c4c8c61041c8e0c9438c7dcb53981d6f5d1c51daf5f3a15a5f96d0cb921c050f0ac42574a7b5742fab871ebf4d34fc84af419a8f28782a9781db6202185c670eb9fb3e1a0a27209007fadca14a9f12c060ff620de9835d1461bfedd27f34d386b71db44a2d6cbcde0ff06658ae967359e6a0abc914e8d885be368b8a8e75e5d9feda995bd20836977992fac8d9b8abd7e910be40689b8ddee3d43357e7e7305d2fc43d716c8331431cb3431bb5abdefda960637a209183d0205890a0b29ea6ca13fc0fb6dce39cfcf4a5bcb1d18c5e86d2fa8b20bb230fb9ba2f1e1688f11e0689d7323330dc9f414c85617c6d90ee7d7f5d4cc763ff60a7ac6f7a3bade82b87179b401f674015e6ed069d922ad254246a22e897e010a21767213cf733c309831ca2c24ba223262f85dbc63aa00ece722523163ff9b283ad750dee859b08dbca509b3d9bc7fd30c7126dc46a69162a32b05fdf2d70edd9076e4dbcfd1e1284683d65fbd7ad56d4fce679e03133d1dc1c8deb4dbcdf3f17ec7c3cf24d2ff1db6af56c3078a63fe215f05880977e7ef11abfd7eb14bf246439fb3353abc61e5c07ead654947e1ea4e80b1028e67d642e87f97b7e8ce8a360b09286cfdfe7855f5bdcf559f06cffb3d3ec679ec9c132af04ba734ad7d27dfa52e69802da2e574cfe5461198e7931737f753fa519fc02dc4e9f4d33e034fc2034ca934c51348d758631f84d8c70d978ade4078eaefd4d85315ffc0267bffea36b85fda077cd8d7bf19e1d6036feeb4c77a6bcb4c60e5aa6adeafa3eebd04eb67bfb6dac16cc42e31ecba02efcad8cdd3d862e6bcc1963efc85f90ec2ac3be32e3af12fc3654fc03ff2ef54e473de931b233d3b62706b523d6f8a0a9b201739a7f115156ffea5e5375753d719cc76c9d2f89f34b6ea9920d3de89546526f1c8c70bfecf6bc36b1ef1442370478782fd7a23019fe5e3f28ab852ba14dd0cedbbd042dc2d006a11cdea51b147682cf970775f37075c043950e9c872ebe2ea89b956de2c4fdb17092c41b22e1810b879aa9f5122ddb174036fdba0018a9d33d50f5ebb4f2b90f3def509609fd76ce9b11afc7a7a4ae0fcaebe1497b356bb9b3727d4bbd9afa722bbd63f833a72517403fc5059b74907d0338965ab6d9b1cb8c693b72ebc2acab94963b2570d0511cb09feb907b1fb97d4630f7886d53cc74a86ceac1769d47ff72a6dd36fb567b4d1b8db6952da26ed2c0d8acd1bc919911cfe4d2d6f6d696fdb6bdad8d2d7916473dd9d0f8cc88d9889991cfec626fdb66dbd6b5f6aa794eb39cb212803db87889c9938d494386b70b3d945621b1f2c2b77a841d8356f57c352163bb20ae6c40d2c50867905f1367466473a8f7646523a5b9d8fb4aaa171f8ecf6d9cc32339c44718633bf8f31d2e073969c2aec2dc8d3be00b9b31965cf0c4952f0323fcd8d24e6c2e6d17abb16743ddb53cdd370c92bd233ed738d99eabf60fa45353762077419dd3d11dde139e8d59733db46dfd84e83bcdd6cb774d8cfb16c71dfc083ea0eb51f411971097fec4cd2b1b252fbd5f45972dd4eb6e60e6432bba67933d439669839bd07c97c6fd9401d98f183a4efd1ee5e44e673b9507dd164f5df096bdaea35d0a5964d39366c71acd6ed5a456ddfb5f6972f7bdd9ace6a56341f083be5d9c2f62c3ac8da90f7618ae70c525bb96b7abd28ed74786a123390d2a842752397d763d2af335c23d48ef882d4f3b544c3abfd367eba2d3446e235a176f37efed7eae4275aa192764331726d2dc48ae76eb7a5fb75136feba870abd77fb4141919fcccfa7a9652ef74668bfe194704e6cf40b7a7f0dcfbed5b5f245494b7cb98fbda77ac55aaefd5f403314927043384ba35d5abc957fd69432f5301279ce06756756177fc91bc9fd86786c0db8bcd01b746e5ee48f46b69709ba74e7c821b19e5fc05ee6187a1d66b10b1b3a8d37ce06a7585c7ce41955b006fa2cdf2dc767ab263d1e1f707a8577b588daa99b5e0b7ccd61b67bbc22173974bb1ab95c77407edaf07a335e17cd3ef0050f9da1e263dd2eb2f371df35960be579852e0f4a0fcd6a3c145afc5678f059c9e03a87ddedc4b6eaf6f00dc07deeffcdbd1bfce9411d64204df919ff64b5dd396d9cd58fdfe63152f38e539c1453e797ca839be285d7dbe2031e43e7000fe5d162bfbbb57741cab2f5396bcbdbeec49856c56bdf030f8781f58e87d7a57b034f86d94bd9ef76e690892d23137623c79c643a286fbe3b615e7623cdc1c17e34841c5f869ea0759fe167b4ea0d725efac8d1c4271fb4f215cce72618da4b30ce1cdd03cf9d982f85f9fb330c0d2f8679fc7e1982be2af39967d1b309bb9427423f510afac0dfdfa3b02d840e3b58328fe7e7527e76574d6aa2606f2dfe2f3e346b795f372721ad101b8b9cae7eb220b4b960e67e3bf6e22223bace35f5f3ed4eb83799840f39596237e973250b99dcbd868c071e970bb62fa21c95d8ee85900fdc4ce66dfe2bf5b63a83baaeb6a7c99eb477a5988defc057f0cdb54745b9c1e76944d23af8b8271946c3d080ec84588ef5ee74f088ebfe800dd1f9f7013073cb553430644a7f9a4b5dbcd6404df6ae2070b3ba63c3198fe337b23fe40a7246435a0eb7859d6971bb61c699875b429865f0aaa96cc8c5ee569b8befb9465d8959d5024ee63eae5840e69f891c077318525ef8900f302edb247c5977b85f196dbdc713d9af76f8e59357298cb4e77aae2d75b46cc9763fc28b8e7b4866af8a284733b694dc8f33aeeedbdf127aff4bc03e0b846f0ad867817aa5b264877205ff6387c20a765366a3ed012415272a6791f166d50bf3d1adf66e450f0aed4b6651fce2e307a077af6e3970d24da41cb97333a4f2cfa9be10db3e4d435368f00ae5b9da8f9c5aa11678c2fea5891a36b012b645f017eb2860a67a3f7588fc91c909e2d4171f5be49cc9dcc6713d1069f787582273439416bb4f749c976756e0f638f2666bbd57ebcff73ba375ee8bbd79c815b7a5e273896b7b3f68c3763aa085253e81271e99bf0d8cbe8217291eb4eec816cafab61b0c2d57fa623c30ef614bda5de3e3677c3108fad69eb644d746cd753d8fadf9fb7756b3c578571ffd87378ee8f960d362d663b993f9eea30c356f0ffbd183d98c2a1a76f1a7b61f62bfb6d77b3768397a9db462722af55bfaccfce2f008c4523aef46db67f3c3e9f995259def8c166293fe2d164c6397637be5fd5e81876a95aae9fbb303e6bfc78782d4b0dfb12671978f45b4be1b99deb73a60b522639a32b95b6567fec19f91260e861bc957b3ecb8463fc5d0e847b494cb29b547fb07de01bd8bc991d4e2a052847bcb7fa33473b928ce6ac67791c8decb2131640f5252adade0cf8bfd644d8d62e73289bfebbb6931db4cf21a891bfd4e8785c58473d76bf1a4ed4771bbbba1598f5fce2a804caeee88ace4d8d796d6c7487c9ae1ff381fc752a205e6c4845336cb4cd0ecf49a47dc6d5fa0a3ee3ff5f2558fc1e3d3f6f3f9a37cf5062562d7b6d9ddac9cfe4d2cd5569ceebe951f6e722bcf5fc896b859ea5698ee5e424f23fcbc7ff832b6b47f971fe178bfc7b56fbee7f1e3ad8fa75f2e95731133cdea63351a34ab79e9707198fe8933b4fe6f6119af56f6c9c377b7248519bf4c09c2b9290be666c14b1d6c990cb7521aa1767f59c4f1ac21eb49378f5d56f42fbf2c43f6f5480b7fa6e5e7d3e1f9712758045bd6b98f55989fe6628aadfb0c21aab74f75e2f172dad3eecbaa2fcd1ced385962a7d6101f7ee62ef1448e115f5cd26d23b052b2d6523bbe78e24696e311d78f7bfb91a5717abbc6ff8dc3219f3006e4f368908628f08623017b7795d96df9ff5adc9605293b87d597797cf932fdf731e0b208aaf72b04482edf25eecfd69073eda2d82ddfe87a9f975b3d3c586eab40adb3bd5f91ffcf179deb083b621daaa0934fb4df383affa6eecbdef2d133b599368d89286701070633d066e44ef8f6225348f7d7f8ca4b770f883d9c02ff007541cdb0beb43a15d0ccb0dd00cf77b56f62680cdf52104f7dbc77d0caef7e1c6e358f7581fb15603f8fd99140ef89b45a4a75c841fcc053cc39ff12d0609e395a7c0bc446cd76b1006a595b27d6ed656b5eb3693006301a24642b4abddc594af37083583e1556c5267e1f30664f3a134cb01f3bdf8787b853b5fbe65458555ac4bbf854de72e5604f00eb7ae1b83db6b4a01bc21f04b29a4d5f66e7a0695d6df598acef642acdbeb8e73a5debe1bcea5ed1d794df352868cc0b2f8fe2e535f5377790f195fca9358bbd0fb89a63de153a5db399c9d97edd6dbe549a06edc3f5a175cb6ebca6f9f63c0a26653b0c8d23aff4a820ebd6fc2ef6e1b38031cd05f42726ea44b2d6e7f7d91a37ea94913d052b02f90297f97132e0a9bfee9bea3c6beffe66c9af9b4d8def1cea94ef0bfcdbcd54bf0f4fbe60fd8337b72ff1e1976b9ca97a43bdfcfa5d186c5f015458d6dfebe1eb74e7d5999b3014d24d057fda67ef017add8c1f3016b6ea61c720adb700259970efe618470a9e2d24c3395fa6e341866e94a74bd7988d4fa9abca34f6c5ec9dd35e6323239c1ac2aa185d755c63baf6d7df5b5d57f6f8d34fbf7f21dc90a69ad892c5f5fe56d6c7d2ef371be66a6617698b09f6d86427d9787af8f47fa9af2531f73d836790af55c539b1bd8034a7cc78be1b36f66751e7cf4a906a20cbc396e544e0b53731556babcacd8bbf3a1ed77c02267384546f44efd9fdb74c6b33eb167eefa6ccc066ceba4488538203747ba93e0703a68e6275015d95e782ae2e27e00836ad9299f5b0aef8f0036f5bc14b02bde6235e365891315f97ec0f1e35f684857255dd6bd9295a19301d5887f598b0d5682a0d5844b755b6a5ddfc5f2eb463f0a7b26abc7f934b75c1f2bcdee4bf4e7375a3a57770a81f8388870c45e47e8c1a8d36b70ab4dfe247e9fb65bb071d2e2f82a3d586098d486b2d815cd6c85b9f4a282fa41aaead57a3f574dc56b91477d1a9179b76775f100f6ad03ed9e493aa6564b5367431b8c474794d530e1f5d143139fbfb58c2dfd1957c32e02946d400638b61349abcb0f682a8c1a85ab48e8dcc3d1d58b5c15753385771129dae2f2a2928cf8c4b4b058ebf5283ca4aa65fd1eaa6e1ecc1880a337dd47d7e1ca7c0618b5431dd0d519aff7f9d35b26f1f827af603129a8421efbe1a5321ddbc32587725e99b24a67b92428e76a7b54d62b742970a855874faa3edeface08254da64f5d32517fc58a07e40828ba67f03ab66727fc62ebd3c685f1e82ed18077509821e1a1c59b0aea43ead7f162fff56f24d7e46accc84465c723e812d24ea0949de36ea5b1067ef5935d0620e1214fd168d036f485c3e740691c796c7fad8e42b65ee21eac06749c52e2c2eadc2ffeb5c93236dee48a54be7613e82beba6a01f3eabbb5215cddc83f6374ca025f35248ec66fae70d722792a9ebaadc80bd05bf5b7666a514d4c9fffbfbeddcff14a85c057579df1953203f41141b0031825380d406abbbee7c3dd1b2c6de5163b65c058b294bf33baa2ebd5773157943a565c7b1b8b677c21a321f60f3443949b94de38a92fc6ad093cfb21014ca513a567db5b378b8805e8746b7f24f5f1346bfe25c23d99924bca9e38add4b737b8c5e3d434af37617872f5ab4a5456375b365fc27b610bdd1c682fbdecc6d57fe569e2989bfe98b266f15fec81ab2dd4d987c8db6c2f3fb7aed643f6eef24ff59e5107fc3bd48f3038d854d40f339f44bb6bed2629b790b33d329e4aa4ebccd6828603aca0f4f8f32b02b9935aabae1a997bf782b985e8b34bc794151cd3ddb007d27348aa78b05c26758cc82afb4da440f080b2f30f8d7e077f19a24f22412f04f596e587e9f3a192d21fea3cda42b632fc9beb5f16f7fa127ba3213ed5eeff845bd8b79ee330b4813f81552dedd50ce754598fe92669f3618c4fb27aa2207dbf21565c84adb1fafeb2b3d28d68c4b73a5ae5131e70b151c46ac09dba27123946a3f50e7ed8ba0345544fee02ca35eb7808445000ca6194163e30e66d0e74580dbefe9ce7143714af45ace95a952e6c27eb7094d346d03e83b30d93356b2f0cd19c0f0b501980d2d2d292b56c184e151b0e128bb6197e0a4d018d01510188d24f51c517f57c22e58939c5b10aa3a5d725edbbd7f5ba64b04d2c041858af4b3693c10c61c15e976c3a7bb32936e6b487fd58776592f630d6b4efbb4c43fbde49e6b3d333181831ce4e3a992230587df1ebb0d6e87f36d2d9d4f6b4b8535c638641a1e34ea582fb0a12e2bf8417b93819ffc4a7ffbaba7fba19ffc5352381e1052068ff43286389ff22917f9bea9f28ffb701fedf5981d1e15f6debbfebcd77ff6a21fe3b927f1610fe8fc1ffa1141d81fe4f64fd0fefd6fafe51b0fd174170515dfc3f9a1ad9d8dada1999189b9aca40a57ab7ae36361325886b6a2446881886480381f6e1cccc4319d9580739865fb76557aeaa189e8871c95e3233fb7fc093b858b5d07610632f9c7da15afea990f847af9408822686cef947b3a06dffa8092a3afed1210ae21f3dfb47cdfe510fff68193a868aa11bd03014ec1f8dd1f71f75ffd1165dff51fe8fca01555709eca6f80421903aa0658083541d6557000f8aefc92f90c00f90127085d601f400f845aa720a123701d104261360a6304cf5a5364b2f2ab909fca3246812264998247d45224272f2e8ef11eaa8058c1bbd60c4b7484f9194447e1001229a3a841a0a2ba48210523888ea0f8f2888ea0f8f1888ea0f8f0888eacf1f983fd4ce531d323a2afcb0cc0994f3d557054ed71b306ef400b651d930d7e8a9014ca3448345d1992f3ea51e335a65dec8e4e919a325e62d4c1e183d5f00fd7409ee21b9e8056ee1a0c5ceefff3731d0bb129045654a14284f9c3461b2244f491224478c14218237444810203f7cf4b8e3b143875d0e1c376cd4a081ce4065c4782ff92cce83c904bea9fb6ca5b07f7beb137f53f5fc30a4c267df85e0976a21f57af67511b99e14fa267cda2641cf50040e106404d5fc3990da22d3aa1be0b9c9d2c2faba425ad9a8d20b64d045455c60a7608f2f01d514198267df0129034f526f51670554ec413d3d85118807dc09f0034075aaf7d04daa2619995e60eac37429edff374d5972feffa6a9403f5301f5dade4ee6d1eb85d95875df5675df7575d5d865572e5cb6502a85651ce6722daf475a5d5597a66b24cc9dcbe3dc9dc97b4eeecee4cde63a9747b6dfb6b11dbacd68159a72f73c67752db978bf8ff36d2b692d0ac10973dabe5b129ef69cd34184d75d8310560e17977cf660904778101f9d725b0e7847ceb3b1995c6a6dadb704ad794283b5379b73bf67ba591bfbcc57bceeca34f6269c45774cdebdc5dc67dbc9a4bb8d12b0ea7ef7fab6e7b9276fe7153b2b932b542baeaa2e065d545f0bb814782550a766a7528e3ef6ba0282f9492f1f1ce0b3ad84b3955806b8a49a5851ab6ddf59055618e9a25269df5e5074bfb39e1c10707638ac01bce96c269f5d4b004f2e977617ba3e93c77e332304b8e9ae34360050c7752693d672e2f3fcecec83359191e070126635f8bea4e35019499eb7a8efb3c38fd87f55eafcaa94af0deb0acf91b6ab2b3c47daacaef01c690b746f7c5ce93a3ec6c6b7cb1de62f12e6b7b339c7eed06d9e73cb5898afb04cb7dd58bf312db74898cf2b7f9dcb23fbb64bdb9e95f53dcf506c192dcbf51af3d65de1b675698e8479cce1b56ca5f9ca763aeeeffbbaea5a44c2bc8ea367bbe66b6f71f766bf61625a7af7b8b80feaeac6cb78875b0ec3c71a6e8d31975924cce7ec1b6ee6ab5ac6e598351ab91c1f5f63b1a56924cc57164359ebb2b2daaac57a55e1d86d8f4898f7387b9eb36fb838259aa562e9584a4c8969a9b19b98a3d5e43121ed1a69deeb630b175797755d24cc6798c3eed06d56bb10b3320dabc7a2ccc2ad5cb345a1d02967d3d14af91dbacd2fbe5ee35ad79d8d8bf271ad79cd59b962276bd2a9bacaa542a17379140afb6d1b53625a3ab3eed06d565aa85d3aaeb97b94394c7397af4898a744b354284c8969e9ccb4ef825fa8a23195668666641494a430c970620c88318e318408610a8df10112c080585014229bca10191911191191515446524907e3d10126552f7b98691dc3d98122e1a89953d2e44e981106bb9f450edb2edb333e71c2c1c267b9dd352a8977e72cc83613fb67eeab8bf5abe808b8fb651ae84ca948872362ba7e16b81f22542fac4e58a1d661bb86c5b03081bda2c2741c4a6c88eb2af6cbfe096d5a1e7359d2fbc923c57e857bf2f6e184d5c4e0e61df74fe19ee33cc9ea914e576a8fa0623a1ec4d1b2c187a62a4c8ec45af832c01a3af321e2fca2ad18343a916d7ab059150683bccfebc28789082cc49e132bd3e3967df75b4b4f4eef004f9007143e4c50421098c4f9ed1b941edff4bb01222a8c1d4d608b2c5de6475d79d72086dcc1e414d0c62072850310a30f1927aacd3ef69fe9513c4774971a6c0dada6e246585ecf0d76300117678582e6b79159337640aae94f0c89a6c71e93859966b991f9c0bbd92ac555c3a3c9b1e3766b334f6e9443d40eece1685a770c9d07c67d01803588094f8b52c66c3415b8f1b182444d5895c3c280142964358f57c70d458256a0de971d1164b08b440fb6bbf0101bffa5e77fda473cd886dda10981a3a6a17391a1edd73802ff2ffaf35d63894d135ef4c3aa47df0103e8c9546a26342c7f7b9b172ba5560281fe01e4fb57ecfb42bdf76d609d8a6a3db7e319d2cf7785d19ed34e0dafacbc5cb1fdfb4a73566132cfbdae077a4c6fabec8bd861aff0fcc85b6ad7b5d5f08bb7a33efddd4bdf3bd7b9bf7ed6eac2ec0cde44c9deaaebf04f6ab357d745bfd4d6aaaf8b3db9adad92996bacff4a47df440979b677625aae80aee4b357d9987565fe2d6822a20baef86feb7defface21f6bfa04c7ac3f4a30b1bd3d97ef52bef5e50a74fc238ce6df182453f5db877c616efdb4ac459cc3df53ca3be2223785acffa17d1d48f3ce5abaa3f04ec800a2a5e5b11edd18f11efe917d8a32bf0180999f75a6f106da90eb135071fe5a58a3b5ee5dd23ca78fa20873241ec25639f29b529945a81680d51af5f08db279f33d419d040751a7d326ba3c8313ce293f88d1233e30c2af878c80ba64939c8071462fb84eb821f6477268776466838e7596084a47ee956c5c95333cd00febd3f78e9468da8fb2d6dde370bbeecbd7e042088f8082233905cdf2940328f02719727e3b27d35218073625772b68b5b6e7bfbf1ec7dd24ec0b87d9beb246d4091333d4e3f562043263f297dd222a1e7e882626d4457e7231f4371b10fdf18e16b81d84da57a5569f0b346c72e49b2f7d5825a35e6e7bd42f6cd948afa9efacbba9f55bf3084622cfa197872fd6c61623d435900ae05fe5d0de72ce0129ac0fc41f6d8d1a5cdfbb3d81e8f3ddf7efc0f8b1369f10f4932b31f5e120eb21aee9701f2ae26b0c745c17bbe703b6f11abcbc6102a334c8aefe43fe72961be593dc5fffa11184c071c4705a3db94a0e7c6b26807e13ce2cf4b779307a2477ea841ee26f8e2f284d5d5d3446aae5f07daa2466a8eda6e7e2618e634b552bc35619bb33e9160b6136ffd31123c2cd4d82cf43a034e8d8617113c50b224c301c33f3f3f3f3f3f3f3f8bd658db08a98d904368c44a2913b98217d956de1641a794524a292515056016350a00000000000000386dadad0416127f1128107779aec76e379dc2448649d99535bab4c614b61ec324dda65a6390a1367cd6628618ec982ab3ac6de3848119619854562d273c05ed143fce01b51f3905cc0003e71ef6992322e61dd68c2f4ccab0162f49fdfad8830a33bc30b972f75bc7d01109414347848bec195d98b4ffea77257e9112b53208cce0c2a4f598e33cdfaf6f661e1e1d868787d9877518e75b9824d764e653a23d951a0e33b43041b54c858b29614ac6158800084901e1800d2d6c68a1858d0ea8ae61461626c6a45cc5ef4aeba80a1626e79bcc716e3769169bb9f8e22364c615f68adbd7f9bc582b5317f79eb9d2183ce8a83979831956985c3af458122ad8ba45ab30f9ef5f2c4537dcdb4f85499d5d97f3fa6dfa5381b03dd2d1010f0fc62fcc98c264cb1f7c65c5e25b4e29cb608614268858561bbf54a0b9f8e2238c1951989416bb378b986e0f2f081b62c10d9211848e4888f90c284c529aaa46bf3f05391984cd673c61b2e928fa342e67cd17933b66386152fc243e6fed7af28c5992194d4076672fe7ed4af3e7345dada9e65cca08d8d0c206046c74b1858d05c20c264c8a21e3f9e518348a72888ca4b4e105052a90444446baf0f03834e6e28b8f194c98b1842eb3ffa81adbf17c0421902f5a78788090940a68616392a623253ab0461c662861924ae1d5e29a4fc7d33392c0b658c6cde6eddaaac8a5789fcc5429d1c12a4160780774f4e92839c0988184c9fb69f99bf4c63a0f3102e8c688171e1e1e39444e48e1808716362680011b5ad8a8800d2fb6b01101098c3122920365c0c3c39c0fb748cc38c2249369c476e78a7bd1638489bd35a74e5db589ab436444021e1e3a44468e7b1192953d7bf330edd4163bb714ecfd773f8bd0c7a36988080e2d3c3c9c8b2f3e646461061126e8cfded5d238b9ce81b08d88948d31521232b9d35172a009660c6152caf06135f45aef8840d84650c90d1b5d70a08b2d6cd8f0628b910978782c7a61861026052dfa5943be9a862f242760438b6481154c9430230813466cf76be7cf65c1cf32121c3a72dcd082c20c204ccad6496bdcac3a33a5901b1f1fbb050422a0812d28b069c60f26dce7a0f194ae269919be60860f26ab595255a11a9a15edc1a4bbd1561ec4be92d6f060d25577eaa4c4e6d84f773039286dd9efb25ed9fb460a1c673043079334666428bd9c83688f05337230f1dfdac38acc9bfe84487030f1c2dbda73e74d19e61b4ccc8efdd19754ba3c321b4ccea9729095e462df36c68c1a4c12e7b966f6af4ec830081bb660060d265bf87e19752653ab0dc256b882193398a823da2fa893f1527b10363b91193298eca66b3d4206391a9320b198fca9c3c63095333a353d1219b09818faf376e496cb258988bc62b2598df2dd9513391b840d4f05325c3149dba9942bcac572a741d81a878c564c12517f97f29ac83c72103667c524e1dda143d7466e7760ac62b2ca9866f9dfa4d41244b22890a18a49f271d2bb3ec9e8ca8e908880b0a562f2fac8fe922925e57c8488dcb8b41c91818a89a62aed6f0aa727fa728a89c964f49c94b02e99d514938398798ffe2ea27c2cc5e4cd0fef3f23667a76103625c5e40a1fd6a361d34775206c21374a8e8f92111192927463e4a43540c628b0f9b2aaf0386db718b52ea1e36adda12c67e40343ca8d8372989588847143878a62624a2ae68b8df93aa36113848c504cdcb10af5a7b49e0a1d0f0ffb30840c504c0ac23afe3a5d5049393a3ce0e1e1e151e603199f981ccd726f5eb81473c68c94981d247d64786282768fd1f6dffc364d90081c44e201b48fb64e4c926e7f52b7b6cbb45d62019192100b7c889484dcf0f0781406f240062726a8349fdec963c85918848fc8230978783c3a5e6c61430b0f8f922f3a7288bc8747190e646c62828cbfd71de3f531b79a603e43c7b4bd5655bcd3f29a87d6d61b7502e1d5ab8087870d2fb6f0f0301e29d19189c9792f2975971ff5591c22e9638c91120b7878784cc08616362c5032e0e1a1a3e4f0f020f1f018412537ae8c8b2f3e64ec400626268dac89cac99ff1b70b081a4943384cf1428cc2013b31ca08fa2526f9ecaac5382a79d215844d0b1996989c9e76414f7805abb273c8a8c4a47429a5787b0a1e4d9402199498fcaa5f296f415edc1b4709e3e3a01031443e4e11c1b13689c931e9e61c93d68c681d8dec2011c1f11f7d384ac80802f9f23a767ca4404404079f0d2f2860630336b4b0b1850d2fb6b0e1b6e6b024265e92399e1e1113f169242607cda9ec43c7d9183410361b8777d8c8710384c4230c1b8677d8401f22f2810347f94af4211a0899c0426252eaee7a4e9ac45438ca67c8042e44e446c987ec484da243c4643c62520a4237b343e8f93f3bd0f708198e98209add7d735693930d089b8e314a3c3c3c3c748ce18587c747da877142462326fe2699cb182e97ca87e10d64306292880e76398e0ef159026143a78c80a16347d340c622265ac70a226d47ce3d06c2862f90a188c95a692a69567573d540d83efc64d440462226ffe69c67e273b1d3a70e44062226a5a82dbad33a053795434c1093bddda57bb17f2eab33e4e28b8f2f64186292dc526ac7738eef4a17628267f8857665fd1d25085b08c2f1015272438c8f4761b83d3a22af1f1f6d8498f41ff7b771c7837c063139a9ad56b5389d7783043149666588f708dbca9c404c345d51a47fd6ecea013139958baaeb60492efdc384f5cbd01625753f59fc30e94edbc283149932df87c92ea6c485870e3ac67c9898ae4a56948a9d25f43d4c8ab65a4156c8df95f4302945af8f3742a3a84e1e26698ae6214eb626d5e26182da4a4fb22d9b68f40e9392ca952c27a95973d77698944aef9d564a117aaec3c44dba4e7c6d6acc31a6c32475e6e93fa56c95dbce61b2b8a89c3b3258758e1c2688cacaae564e2967178789b96e2c3f8cfac9b0c1618285ea1cafaaf64990921b62e41808036c8ef686c9f5951dd34dd906a90161fb082305bd8d90e186496eb96dbfc265ea3083b08591828f54108e8fd4fb838c364cd82c9dd46e5754ab0bc20642b24387dbf08202231a3828440c0d34dbca40850c364c0ad9a15949e805214d206c1f22a7d7306147356fabc6909f4e10b64d32d430a92c68b6ee96abd825081b8e824a483e5280638751b3e10505bcd8c286166084dcf0344c141dbbd41ecb535df2060e1d241fc0c01141061a269fe9f0e0ba7be52504610323e4c310186762c30b0ad848056da1858d0fd8d0c206066c6861a36447063c3c46500a464a8e8438808e08171e1ee888847878203452623c3c2a5076e88884a49acd70828c334c1a21c333292132f54f6698a4dfbd5143feee52a7808c324c568b4d1fa64fac477e830ce66eb6a5a8ba765a2c818c314c1893e1c25fcee51115314cbe7c39cf7214bd22deda191961982cdada7a71ba5350315664806162189d720cbf0b2ff5b93152426e44a04820e30b13830925947c3e8f2d9a3b810c2f4c788bfefb3aca5bb6949b4c20a30b9374ca31e69277f9db4d39d008172668e7512a89ebf7105d53c61626e614a3d5d3e59076ed87db480909aa0c2d4cea3aed97314396a7a0101c41203f525007464a3a601632824a4a8a0e1e292141195998142ffbdcef3365d021085ba7921d4e52d22325248832b03049e8ed0efa53fe54f20b43c6152687a6c9d2c13a75d6f22304e160531b4777d8f0c286d11d36fc900c2b4c2ce9f3a26465b414d7db808c2a4cecffec7ad22c874b3af700195498a422ccf3e78b912d2f654c61c2be95874e51a3bc6e206cfc2172da0332a4303977eb7b741e53f2c395808c284cfcecfcd1afa378aa1a840b0e911b617c9c11918f10112f191121c92e644061c2ec7d123a4c684aff3e61a2e9460d533af2fe3b61f2858c8ef19418793a66ed643461829b4a0b172b6592fb19292161c2e468eae5c2764ef71d1511314b98a0c7e3e9948356f7ca489430a96454e8c631919ad29a8409c2c7cc34cd6ade339130e93508b7d1b7fb36173cc2a4f80c427d4cc906fdf9b80f8443c78e1235c2242dabc1ed64e53e7aec641461d25eca153797dc541a81b09da2033d64106182ca5c253baea8ce610461bb1bc22471199312997be3a30f91935612b243e475a48464650861723cf5c1ed64160f1a2b175f7c7c404610faacf82b5ffab367930c20f4636db1f2c8ec240761ebb31d1f253952cbf8c1e4f324446c089936b8da67f821c307c8af17a9213e7363cfddf18148468a8eb41c3b423003327a30492cedc24ce8ca452f4444c70ad0a20c1e4cee3cfabd3fb586de0e2b20630713448f59a7c61df5790361fb38a8c41d20430793e5ef941853963754f80347c971c3afa488e0483a919183499e3ec64f19335e8b10846d8c919210a425a85b060e2607f756d18af9377daa1b4c92e963d2e51a32fe8908878e1d5e940c1b4cac7bcbb70db3eb9c83b02d0364d460c2758d8ad8cf2563e541d8b4e4778c9474c0ac4b72249441838941eff48dca1ab4f77443c60c26cdc8303ab8c620afc31038a50b0f0f9211d4cbc5171f60c890c1c4503bff2f6bb67e42319818e3a71e3b15c4aeddcac5171f218041166e67cd62b89c4c77c9c5171f2778c1248f9741e9529dd631e60a70c1e4145b74856af79d32b5059364d26a96b54926e1f11372438c901d22212c98786183149d51137d4b478e1b68c638e3b368bc9e89cd7b6163021cb0916605932b9d90e11da383f658c9231d2b40624c9223f6f7338bc978a58e322246c80eb4bd302679863c299649771a1d087f90dc3843384cf11d934555ec83caf3deaa70907c989d1054b202f4817220101d65040cb533eea264e2fd57d8ccdfb1620581b095ac007d80b1c3a0f3b12305e44878a4807480648254df5cbea75de7472104462695c920f4fa72c9fd54a96082bc91f994daf9aa3eee70e0409f3a26a594f9e3faedf92966b9f8e283042213cecce6b4aa6f6c1d3d3c70e0405fcbc5171f220899bca72bcdb3ad9e8da38c7c9ca2e36c04954cc03b47a536683221ea9310a1b4d391e306e6d8118225c03129a576931bea27fad90a8e05c008291cf0f040608494110f0f121d22c65c7cf1715230b1d4c636252553a90640413193858eaf61632ad5861714f0f01019412c081109f1f0c8b12384b9f8e22306374e11f9dc53db555d0d377d316c2a792b7dda3bac1d20933b564ee495f948ab1e9d0f91920f3605803131cea5c819a15afb4a206c1f63a408d2041d5b5c4fe90ef7f1174df838f11c546853a73410b631cc471837ce075e094988c87fd899f06d1b35cc438aa891fe046d42a716cb2d22d421f2e1b683e4c60818ba8599a4b4628d87f7ce9016085bc99715a009944942c71d4b1dc74c5a09c2a60838c1e4e041d80791f6f62e092a1911012151b3c0c7e48aa7ccbd3d9bc7700261bb76134cf4b022a247ec3bff02612329b901c68df38163478eb2ca151c82712302bd397684e0024a3079337596ab89ebea1984ed83a40d8c901b29f81b21458727800493df3da9fa117796ad02610b41384e08fac853f4377090e8082607a153f7272564a81805612b134344c7078e1d393c44048c3272b61f9d2bc19138c78e90087c31416acaf9d11e3288a8206c252322a6144004ef670d374a8ea7e0aed90542607d8af7129994deb71a00011f67b48679a89d5b7ca054d264ac1c4ffb7e40d8b6f040d2722e66c578225af76252de274bead552fc283b30515bfcb754a695abe7cd814971327c529a6c3e556503932ebfb39a27ed4cdd81b01d91047431b92f2b873175b6a6a27344343031b58c084d4bf7d7ab9c8b09fb1a94ce7c29a87467c98e1c9c8149e99ab93a5fecf099b798786abc77439f891f31081b0e1d396e7c3c0ae3a0910242d28c81895995c36a102ee7d974a7800b4cf4d1efdca835bb97c26b81c9b147e6b5dae8395e1e82c2401f39444674d825a0026db9079573ebe9a723c72e408194654f794daed6dfa1821b213b3e486eac062630c192b0242b9a6d32a439261353188f257433e3df0ac2f6288c0f911234099853477c898ed2f0e3f88fbf51524a48ce30a0c5446b9fd94f8d91e19340d83a02113010c8abc65b454c3bcf2c57c66f3fc6cbf9beb1100b6e90ec4836ea76e0d091e3c6698e1d21589223ade001133c63b655f8659d5740d8444a426e7c986d2b89492ebef828074ceaa439a6dc63d09541206c8b4a4a4907f41a3039c8d2a44a4e5492f980b0e91011c1f191964652b2038c3c396e907c98332ebef8b8000326c8ac397a2b85f73a1510b64623225a8c940f9808a42d175f7cf00226f7e9f00ef23dc6671c84ad64878e901b6ac30b0a4cacb9f8e243870226c5cec13c8fd026b3c640d8d0470e91916466c30b0a8090940a7878ac5e0121f1f048410226075d8d5f2ac86cad3b2511dfc2275aa6fc9f6229e90d7b4fb0eeac134a26d1e41f08db07daae3d0a032dc069b568a912eb1fba03c2365240becc4669337d99f692e9872f34dae60bd79ddd523022224609e222c3f0f04837d4e8c344d399f4f4cccffaf629d4e00316e379f4caf3b0a1968c942e9c0d35f6e0986fda1c7978787860181e1efe6128680ce3cc6ae861826e282135cc9f07b4b4737d0e42ab47b150030fa6bb0f326353caa0f47738c36bb42bdbe66a5ff7537fc6a6dab85cc21a7698a06d52a4c8187d74b80e134574bcdf063ff921a2c3c45b3da5a995e97412cf61f2e51837c78d960a9a93c3a4ddefcaabb1f754877c50230ebd7c92797396cf25d480c3a4f896d32ff672f6efdf30f97e53684fa1a7e1dfc48616387690e0d8418246dc30693d7fbe4d493b67511b26e50aa36c439b69390b1b26dc988ef1e4f5ae2c5dc3e43251f24ef652a5f71049417b35d430e9aa836fe99e5179f20a50c98e1c5dc7c5171f1aa8918649a116b43b78e72c7ea26162ba5e8a1dfb39cbe9ca841a679894b9ec36af26d5318b740835cc30a993af86b7063da6d610119282387046cb303987eff03b9a4cbd2c2b841a6498a04adae992312a486d3d3c3c3c94a4049190940f1cc3c49c67e39f28cf631d2741212537c41803a5008de48111c28113c304131befed62dd6bba11182108078e02f26a6198a0aef295cad382b0a54da0061826756e9a0c764abad5c68bb2121d3746be2c0135be9079cdaae8c669dca78d5acd261d1739ad978f901b6020d37dd601474664a48464978b2f3e3650c30b93ccf49ff418fa54cea91a5d98a063694f9fcaaec185c96ba543a64c52d4eb0986088e462ebef8c01a5b50f53ae7a8b67a59b40347d253430b9b560f3fa1ed26111c686a6481bdabadfd3831951bf9107253cea6f4b98e1e848d45b600030c912d748870e1e10186088e54030ba6e9dbb9ee7cadc9b5c5a9fede8df08d41d8747c740aca3f4ac172f1c587036a5cc1f5ceea1cf9b6d353516db1a97d5107611ba3e03838441e078e1ba96c44440b304238e0e17142ca0807fe4648e9c2c3a3861526f76cd60693e9cab2ab518549fde1674b6e780f36330f6a506182ac0de295aadcd62c88a48074c11f3685091b376d2ce7b55fbdfbc3a430392815540e91b998fb3e428d284cf4a0b12be8adebe57d831a5098a0c7ea3c35b5e530322fba06359e30f97272cb32f54976c768106a386172c812a7ac6bb7b7e44ea8d184c977d97fb49cec189aee8f23420d264cde8c7729fe2dbd5626851a4b9864ffaae152281de6c10f70f1c507480d254c2ae15135c924f2f0f0f0e80f1940a89184095b79630e7f916a3b8244c02950030913bd83cf7ba6a89d4705616b923392921b396ee0d81ca884640c92ab718449c2b34f9abe1ced4f63840932d46e0a15334598189e2dea85ca7c4e560d224c3619a6f75ae4c69c77089332a7297b55b5cce1d510c24471df131f54acda963582c0b9ce5696d5cad7ac7e8ea6d9780bdb193fd500c224d5efa63188f0d874f9c164ffbe1c745b67c56323a80a357c30e1f4a7ccfd39a3e7de021f863d98a0a6b56b37e4f71bc37ca800698fa0921b59830713e384bc38a7d358680508e4dca3c60e26c8207e3409536a2ebd5140b4f0f008b951407e6be86092fa5319b42791535f330c6ae460a25a90a6aeed976b391e1e24a8bd50030793ee335fc5ee9c3691490a0e2d1c09356e30f1f46f0e8fd12b4b8a63942e3c3c3c3c3e7e50c30693e2a6ad1559ff539a3d2365070546d018650b1c4506356a303153fdc76999bf711308dbc7e328dfb6d61ea8418334efbb545d4fad72c345c9fbfeecf1d9f1e4e1e1e131468d194cd4ecb70f2a842ef7ad860c266add6cde8b97f54dba830434623151474fa54f15b386a568c062e26cc92c6e49c8e4f9d378c5a494c37fd0e1cc8332cf9a2bd27195fdd00c1dd537d1ea4d292b7dd70815d40a1aac98603d33d2f28e5d490b8d554c4e968232d1b05c375d021e1e50a0a18ac9d962be2c27775f5982b07d1cc4821b2568440f2f1593abf263bad35be7a621d951524a3c3c3c8ce4468e240941291029d945c5844fe5d71d6fff284160a49d901d4d011aa7b0c3ff088d56ad51a6618a09aa2b6d96a699ccc8c510d1c2c363b9f8e2e3834629d458d9b830ab5abb0afb4e413327a577fd53684931318f10a6738cbc119d1cc5e4cea021a352d3ab634431a9d4c75e2b74c9585f712826d76a5cdbcfec5e666980a2f8b8e3eaf1e36cc49fa837e7a4f14e678c6641d8d00e1ce5031e1e1e1ebd23253a3006343c31c9363e2f5db67842c87462a28f99f294d2c209cbbeda6c3c5b6df3d5cbf37ad4c788b08b84c626266a9725ed1eb463efa6a18949a5d573fcc89399196964626250cd731a434f25bf6960626286f1695c62724e1537df9c5c4dea43c31213b72ee5a8b2f9d818a751890932c57b64e878612da44189c941e72e0f9abfbf667ee82839d8ba02342631f152cae0a2fb7535c8486282b47c75d94ab8cfe891985ccab443645b4a6f2b24269ac9dc3f9eb5c26327021a8f98bc72c9c4b9091fb78b23267632a5c6a327697b328d464ccab1fa538a59295897341831713bdde2b4e7a35bbd88495756794b26a99746731a8a98d816e6e6e44fe7786a2226ffc66a299d291a8898b8b5d9954c588b750fc21f47e3105d7b28cbd7e2eb318473ab9fdb29a3f1ad6abb165ad9e3720e1e94340ad157edc9788e9e7ab96bb050a6477ca9bf90480ab14088c80d09e4402516403bd020c4841372fe46cb76bed5dd414cfadd4bb93f7daea0df15c4c48b3dddb0b86f5132bb1b8809ca5cd3942e61fa1aef2e202608cfedfe29d68928d9fe61e25f127331fb2c7e0a130734fc3029ef7d16db8ce9d443bb7d98d49956fcc6cbc26b1069f06152d84f52ec6a463ac6f0c20c34f630e9ff73bed429dfd5c3246d51d7944e937bd4ece66192baaf684a64a8f6a4d9c5c3c4f496f6b192aaf5aac440373eb075f6614b061a7798185443c78d3e42ec8921b0c384d9984d05256674f4abaa75989c957207919ddaeb6ca5c3042b6131caa8875e5a3fa03187c966e9dc4a450d373b8980981868c861727f324bdba764aacbc5171f87461c266875dfb537b9304fd3808359a7b7a3f996694a8e06fd8ac61b26e8cc988b8b51b54e7d430704f4940b34dc30796f36674daa46c8a0576dc304db68a6a48cb65a2ee406c80762c10d12ff3023d060c324cf18ad3cdb662fe8206ceb001a6b9854a244a8a093b64f9f6a27d050c3c4f0103fe3a273d67d3dca3ec628b9344ceeeb0b7db31d921da3e4a840030d935288c6d9a04afd29511763947cd81825d7041a679868673ffafd7e63ec7c40c30c932f536cdc24ffb375908e31bc282dd028c38431d35ba9a299a6cdd5be40830c93c23378f4b7922634070b34c63041a9ecf28c295849fd6b0a34c43049a99bcc1b3c58af6a3aa01186c91fbe37e9a7ecabe5d33ed05ad000c3c4fa9091d9630ebf69f9c2a4d8161ba2369730e17961529da58b229b93d21e7761b2ffe6bca5d79c552b0d2e4cf2fc65a5e3ade3e437031a5b98f0f9a2c60661bd69ed1823252193d4c264cf91bfec119a848c4b09498888161f9616068281461626ca89488b77398fbc8d8509767dda73a5e78fa2d1b8c224b3a42d76b3367bff56983c7fa3ec3b986b45a0518509ea2c29fd10f7509aa1c2244f9e94a6f03cb90b4f61f2bde61c4aafb4545c3d3c380834a430f9bb54680aaab329142909b18087c7080e1ca50b0f8fb4309c0634a230d12ca71cf2353d433b0775e161695ba0018549e2837da8f368723b4f989ccb9389b354a74745bf010d274cf00a5fb959952a86df84c93baa6472cfcd4c1a264ccc1f57fa2943b9266f0913f6829063fd1bc57f254c76113a58f6f98d8e5bc00b349230593be59c73dea81b34c2812e3c3c4644747878b88e94e8a0818409ca2ab5b85dabdf7a4a681c6182cb7b8859efbf944e4698d4bb17aa4c5bbc6ba708138336d733297269544f8489799e53ceb1ab4a7b08934d6485ec1e51a6312384891a43e73f7739fd5c076152b8d553713b866e5c813031b7651e59f1b7f6f30713836fece71c3ad52ce78389663bca47a71cedcd1207347a30a9f4d5e913b235fb5768f06052e9b0c136749cb9f2444268ec605278d092feae39bca283496b9f3d66cbe37236a182460e26ee0813f30a9d298f8e8747a181838927a29d65b3699a52bac10419543c29afcf237e638349569942edd9d7ed7f346a30c94a4479cef872153422383ed48c060d2695cc213a8d8b86f8a9e446c80d3f08758002653398b8e99dfbc3e57cff09c21f75388a11c101c64680860c267530ab8caf5269f603c296bba3d14801e940d94188249b8b2f3e1230231693e53ba3a75a8aa54638cc0e91b3288c1b258f502032d285c262925fefe6dc9ed34a2e10b610306e9090948f6fb3e10505c6c01122a28587471566bc62626c7970cb175d73ac80b0ad0d2f28502786c809b921c66660862b2696bcfc67216b335a2a6dc45b314158d2d99fefad5a73206c2b10311f29f882c3f872f1c5c70166b062c2695316e329bfe3dc206c5f78781cdd61830b1b0677d8f8621593aa9354d3d72129e603c78e1c6dc30b0a20921201554cd2e699b3e2a267294fc1894749c80d912e4870a01b5ca0901b2941c0c3e31c08b091e0404724c7c7d92a66a462828cfc94f7e02f425b40d8c4b88f15dc3865e483a498a162b1ceb3ceb4aa151ba1954a062534206c23fb8119a798707e27ef6dcb83a68f488ee5c00c534c101bb45c347df19ed337c4f8d0524cb098cd99dd73c7a8a3b210cc20c504fd10af9ce327223f1f638ca01c2260948488e44823c18c514c4caaf23c292144e55475173344313907ed942c8a18fdc12f3afc3ae0e1c123054779920dc584b951f9a386160f828142c0405c80626230cfabcbf90761333b48cc8e0e7c62b2e9c70d29faeb34a780b0a5e0c410d1a19e98d47bc1f7c4e51c8defc881387664c0c303a4e4c648f1eac18c4e94d7e1b57576d5a1f6aa99af4694ecb06941462365870a48ce383169f3b43cdb482fd50f84edc687c88d9232f25132a20292f3f0f0f038dce1e1d1328430631393cf73bde5feb067fa82b07d9094d6dbc3313938d08d09ece10ec4516e8c2092e58f352ebef828c10c4d4ceed1b8394d67ba98e463afad844404e47230231393e26ec7f691c932deee8087878747d9873d0ac3cccd30031393d7dacbe3ce89970d5f62628ab81e8fa57941464b4cdebc9463ff2ba6747d2526265993d1b3596ffa9d129334ef6811d7e83dd6a961c624266d7a858e7dfbc598b1808787d987b11b6648c22bd96d8dd9b153775bcb314817397dda6205610323e406c90eb42d33223131734a1dea5e1e3e479098ec712fdee54b56f2e1474ceeca6ed617534e5a1e474c4ca7bf2de8d2cf29fb8d98a4412813727b6d2172464c8aaee6e626f7528d7a11933fa368fc942e2763ab8889e11d7283282153f69c88ff635df5454d358688099b33ea79989e9551e1e2c030e310132e7487f8d73713173744cad582e6d055b2256a41cc28c479cf74d7935d770684a454c08616364690c9b1830b1b5e6ce1e1e1e151f66120fb37180f3308a19d85e69556c9de7c886aeec87d5ae7c7ec6c78b1850d3fcc18c4c4ccb2f92d4e7dea2c053149565edf520adebef587874cd207330231415a09f9d89bc4e61cf2f0f0d0303c3c1210134fb687b797f9ca54f1f0e83f60255f732f973a9e3baa797a56c4c6f99cfb6cd987e5d961861ff01c57511a947b6ed31633fa3041bf96e9172d6ab62f1fbc3ad9d6abd93917dbca0e23cfb298be959395ccd8c324d7ec4b175bd6542d3d4c36afdcb16effd394c9c32479d3e1acbcde7b543c4c7011195d74555f5dbbc3241132e37e66e8d4cdbc9330c30e134c6de6aa18c3e4298f87877f189e1466d461d28598cda9b6e839ce8f14cca0c344d1a3ca53fe0a960983bdd8c206494948b931523ec02681197398245623d22f9dbc926f292912f027cc90c38491d1a7a94a26b94d89c3c41ccd1a9dd25cce652abbc20c384c2a5feddfcc1dcbf5e4e1e11fa643af0933de30d942878de3d795a5630f8ffeb0cdf12be823cc70c3849f4daa2bb986752b3d3a225aa023c285972d60461b26667fb1b476313336056103f99232f2243870e02839480c67b06172cf9f9e66a978305349ba0142f2a133d63031cec28748d1319b1041d83eba644484e46c0233d43079478fa9ca525a60461a26b965bb7c56d42026344cd0f65af2a2fe52be98334cd2398db80bf2bdbb5f334cb631193abbc78e952a5fcc28c324a958063129fc68864eb1086292be503263ecd6f3af0462c27cbef82163ca7b5d01c4c4513a2bb332e5cf5bf9c3a4b99c7fed0b273256fc30792de8fc1edfd39b2a7d9820575a2c6c169d39391f26a9a670aab63d2539f91e266cca419bac689f7de47a98181ffae24b597e883c0f13f3471fd7cc9956438e87c9fab9b1b3e729351dbfc3c41fb91583f4b4cf8edb6172de6429e4b4e9c5bcd76182a65431b757070dbfd361520e9d65a48b0593dfe73029bf9c8e2793083fdfe530795e3c8fdcfa95683c0e93af46aa95ce381c260771c293f08cd93aed6f98bc6aa9cfdc92c5cfba1b266fdfa9be54b93d9dde86493a2d8cd2263a532a9d0d13f3e8367567497f0cfa1a26756593fdb54e0da3ab61e28534f9a3c3a7133a4fc32415a3572e53babd3f47c3c453296932f556269f9f61b27f6df8e9b71474cccd3041cb08134f59ce32a80c139310e97eaf31b282c83051544563e8261963348609b2e674ee0be2721f314c1c4b9326afae543e61986ce154f95614299607c344b1b6a0eae25ff97f6192bcba51a369caf3c60b939277dd8d78dad04d1726a6b83ba6291be2192e4c366fedd8f756495eb63041b796700df1e1b3450b1384ade764b1f9cb2c599824ff34a3c89ed9c6b13039e5ff1062b75a6fbfc2a4b5313f7ddd0a13f54ad5a9a6e03fea2a4ccc4a15fa7366ff4e53616275554e42e8388bf314269c58f17c965fe666294c386dddea1b47498da33051deaeca36c64e68a130496a988cada571a97dc2e4bce3a7c22c8de5d50993db53b58786e7a8da8449320521b37ffcbc6b326162bcd40b271b1bd35cc2c45851537dee10abb29530f92d5ddccca37b3cd849981cb486fd3da55d3a6c244c30bfed2c25ec234cf03a11e26d32da1961528a592bc5b9d231968a30d93a9376d5dc274344985cf1cb4ca58730c9e264d03f23214cf06c0ffa734e10266fbc96d0999aa3e5006152b00cfbe9368b14fd0f268e92ed1f2a44a9f53e98f41945771eb5d6393d9898a3f1233baccac383899a61ac77a3affe660713646a70594b9de762743031684a42c6a0928389f18356db971195731c4cfc1f615acc1b4c4e6a46c9d31d4de9d80693fcbe2b3dcef5f33598d4d671f4b4f24434982c52c4d4f99ea5339868a1426543c8772e00194c0c1aaffeea64c56a6331c154ca60f274c868151613664c73d2e16ec3295f31b17ae62f077f390fba626216d731d5b941865a31f1c3d87ada9c4967c524ab7e9161fbe3f9b78a894144570cea3de71853c544ebcdd8992d79875231e9359bb69429ff1e544cd0951f36a7aa8d5c7c8a0997193d5df204c014a594de7b454ea5985caf175cd5d4066922c5e4f916cdb9e25d36d32826979fafbb89aea44ba298a06b211abcb48e96423151c36cb4203af5ca038a892137590535caadfb4f4cd232bb5af2fd53f69e985c418797ced2a339a613938216997245654f99c289896972cf3c53cf95bd89891d947a6e5696355913e753a36c3dcec404abcb9e2af6c7c7c4c46c5fdfa37574ecf6121394f812959d74185962e2e7f86ae55019d54a4c5ceb31db2b8b77292526e8caf2d7e54e62d286f1fb4de34a626228af18e7d4f606dd4662f2c5ec3515f114df5b484cf0a4a3c53495df3ddb474c1eb92244f698e9bed61113535dea5c52594c9d1a3139271f5db651d36c1023268a58d116ab3ba7418b98a09468ce56414edf481193d38c7eb6d5f8f4a2444cf8de7c23bc7efd4488986ce395b366cd6953e710934aaac7c9f6b5e8bc212696c9a4e9e62ee3640a31f192d29b31ef953686109373433564c5efd1cd2026c520eeef3c298b4f11c4c44c7517f17a20268ad0e14b7d69d0a30362b2a5fc194dd675f4fc0f1375ab7e83be6632b51f266d7fa970bdcc11761f265f526a1663ec3f3d2b1f26bf27d9615390633aeb1e26779a349d2f9a4995550f13c4df8ef038a62a67350f93d7a29ba95ef9ed56f13041b4e6f0eef50e9335874b9f5b763225ed30499629dbf19295d4d43a4cbe2afb3ed30d9d45a5c3a4394b3aa6f0bc7fa1ce61c28fd65cc5fc60a252394c3cd7fc1fbbcb2c2f8dc3a44a3921e4c86ec84ae130293f63b0ce2bb9527ac3c46c1ee457c6cf493b6e98a4fc2ed9894b957b69c3a4527d1f2d5233650b1b26597ccc954ee7ed2d6b98682ffa37295d0d934b8d4c55496d7df4344c101e3297e4cab8e868989c3a9fd0f93fc7def41926079911bd9452954a9b6192988bb6414f297d771926c66ad75bb7930c1375f425bbcdb6f3738e61629f0efa72684dad708a61f2c8584aa8f21c4fcb19860977f92537df793e39c130f9e285083515747837bf30e152fff3e7d60b93a457f892135939ae5d981c17b35fef6cdfcd85c9e963ddb5ebabe32d4cfea071e47b529d5a2d4ccca5bde35a524aa7320b133c875c4b1f5e4405b13059838b8a95e3ff9cae3061e47fe5c9d6682a5698a43d6ecef8e117db556162d2948d21b62fc68c0a93626b6c3f6dbae6328549f5a3aef7fae575294c0aeb143205d11fcdca284c921aaee3f374ce0485495ef264ceb3bad97cc204a1dd7c843e2f8d3961a2de49ad4a3a9babd484c9193c5a107626c48509933ee611fd2ef595464b9834e3f1c368f420839430b133e6fbaabc67dd49c2a4a01ef67bcf376591303936ef68f69496be3fc24433b179b6f5b3494698a4947d69370b11a529c2a458f217737af86d0b1126aca69c2a1aa487670893645b73685d76ce0961925fb814f15da106619268cea5e2a6cda20161720a55735ff58b29ffc1a45c315edb87b2b2da07937e930c26bbc43dcc3d98f8319a8e8ce61b771e4ccaf6cb9494ca91ebee6062f4fd9069af938d3a9868bac445c75fb54c7330d135c66871e35928e160d2d77fce9ad269adbcc1c43c97253a4f648c6c3069b42eeb6daa976a3041ab5fbcb8f0a12b488349a7fe2ba986f9df339874b1f575e661006430f92ac56a9e3db3d4612c2606fdd4d976a1c263088bc99aa1c4c8f6259d337cc524cb6a497d387d4a3374c5644b65a594cc1bae4fad9818fc3b667033fd1fb162e29907d131e353bd681593f35b3ea166e51722554cd2a52ce51f1d164b2715934b9bb4ff701f43fba898149b47b69bb8eef74f313184cd756f0e726e31c504f99e92dc1ba553b2946282aa0f735b4abc63851493f3c6a9bcba3d0ff92826e5072dfe26bdece3a298e099e2680c9e4a831e8a49d996f96b25cb7706c5a4fce57d3a7586bcf81313e367cfd9fb29aab29e987ce26425e1b17f2bbd4e4c4e5fdb156b756acce3c4e48e7fa3ed3b6a49789b989439780ce2a2e5d8e26962e2ca9e96a80f3a8d7899987c221684060f2a363c4c4c9253a6336a683099bb4b4c4c5b4da137d5657e678949a632e45fe76ad47795987c2134e48fc598537794981c4ccb47a658393f769398649542983c3d61793b494c90633143c714aab55d24265ff2ced99d6ef4b283c484fddce5579a1944758f98e0e5377aa14d65a6ce1193f3cc491139da64283562f2b58f4c554a8c98f0b99f7352ed1f725ac4a453274c69dcae8d4811134e2d45cdcbb01f3e899818437b126fe143eb8f8809bb1963a8291bd59b434c3edbd1b0207eb7540c31b1dbd275bef86e31a51093c2574aa5bda2938c136262c75cbba763dc4df1414c3c7522672e7bce1517c4e4cd1bdd5aeaa2b7076252b01ca219df5ce406c42453d94d99434b85fd87497fa146a5ad6831d6e687899754989ba88bb961ebc34451b6955398f930b1df92d8d051e38dbb8749c24578cd690b72ad1e26a69ced6a4ea2a3947998e0a93a2cadffe99cc4c324cd0fc25ffe9386f00e13ad337e7e0e1d5483769814f2a38c6e105615acc3c4fcb315d2949e9f910e935f4d6ec5709d45459bc30451153aaf58e830d1e4307945a695d058fb225a1c26dcf77e3871ab497e0687493a099115e6f4b47ef68649cac3eddec54ef93e73c3a41d13f2a9fe9365cfda3029c6b254097f4ded8c0d134dfb8a6898cbb9315bc3e49991bdd9b62e2b666a987caf9d52e558df6d96860916f48fd029e5d364191a266f7be66e4e9657496798302a58f04f99ff39648652e3279daf426598244ca835fb0a17f3870c93cc83fa2a1d4c56e7c73029b929a92a6a2916238609236aa1bb6f556a1386494af32c6672319d356098f4a683b6dee564aaf9c2e4cc21bf152fa3058d1726fa5c5e77fa14834ee9c2e4d0115247a8b4be142e4c7ecbce1ab390e92c5b98a043d54f25ef942cae8549626aa6f4d5599824ddbad3be57e3c95898b8e1e1cc35a61836bec2041d665ffaa794f4d70a13f4f2fb4c9deaceb60a134f5e8c2384a830513ee86aed537e519dc2a48df3709f4a2b4d52986449c97c17a73cd48cc2e41894986ab3d2304161628e75a6bb467846f109932cbcdf76922933e38489417ee532de25b3ae099364a75cfeebf16a62c2c4dd9454f9a535b12c61823ea5b337890c622a61e27c0a5b428a5039654998bc49dd9ee7b85d0f12268bbc2a19af0da1234c2ca53c2c4645f5da0813b386f8979f5c4aab005084c95b49a69e6a7559d000408449aba3f2e57cf8a0b6933700c01026562af518366459a5ca075f88054846766841824ac6888003400813f45f9be9a578a33d2ed9a1a364870676380082e09ba877502e0080d0ebc68988ce67c8989c76ce8bb66b8d7702c00fce0400f0c104edf0fbd4ece976a30d00400f269532937db283fa93720400c08389df1e4a7d8768d01539007630419d6d7b0cfd11d9a00800a083899bea2b88cdf4a5cfd300c8c1c40cc2929239adc6bd0e001c4cee50e2974d6392df3f006e90b75cdca8ec9b8e9dedc9f3ad784a8bce395f00c0069337e8649a6a333598dc9e9b394ed79c2925006830412ff564f65e6d4dff2a175f7c780000339830a74ab3d5e950553210b60f91927d0000643079d3854ffbe9abcf33222246c562a2e68ca72fe7a2c98f901b6e7f234424070ac9403beab861ce6031d9e4eada6a5255b7c62b26b7a5104245892aed8a2b2699f6145bf37b0ab2c4ad98984947f388f559aafe35583139c346b1d499b269558d5598470d55d448c504194b26cfe997e24e9923a8810aefc5ccdcf4dccd4476c53d5ae94c713c584ea9718a89a59ba28f0a9d92d01e534c4eea826e6b90163afca598941e3b448e0ecbb33f29267a6886fcdfa47b761ac5c49cc4ed2715bbcac24714933f975fcaa1c9ca62502826984c2aa74f5a7cb4684031a96636bc4fb9abc53f3131558d0c9aae6d9fb6272665d19f67455ff6ac7527265666d0a2bd2e2ff4cc89c9a2964a56a532d5d26e6292860b6ef2f26a62529af4586ab47b954e66e2bc94426ff9fd9898d87b71f319748cdef31213536dba7d0faf5a42b4c4e4b0aa5576efa6525f2a314154292da9ddf1c4769498f89943ef878ea7312c081cc48222d498c4c4ccadf5693306d96f6296c4c46a2f9929464f4a5d0c4629e9801ba1462426c98fb5a6949f664390987417aa7f63c7f3f0be0d2f285042824aca165ce311e6e108f3b8408d46a4e647458832adde768b1a8c989c33e6d7ec797775318b9858e5396633917155eb1a8ae03b54e774b3ca4e37dece4c948a2777bf3f6b246262ae93aef16bf63aa988986839d8ceb5cdcfcc5de310932dc8bc183ed5a9fa1c224242b2397e05869820e3c774661f641c3181b0797878787821267cf807a1f16230217335083129a6acccb6a8d41cfa1a83989873e876f4d71433a6a645f747056a08e2ace4d1e4e359ec30b6066262f458ef73a5829079560504da7ee5e374d4ed54ff3039798e992225246b9a812c063129a60ef22d962a69ad5310133b28555bd1a2685196404cb8ca2986b54b96f7541036943e4ec88d9408832c0031b9c2329975d820323d59fc61628be61496ae5f237e10b6f5c3c4749645c5c5a44d6b3bb20f133d4467926bf2dd4a0ac23646ba51221252428276a8008ddcf16152e60919aa499743e44b766840c33059ec618272efb018cb648587bd430b1b5d6cf121d0c2c6b1808d2eb6b0a1858d2eb6b0c148430959e861d27b78b8595ac5cf1684fd6491874f93dd6d88d345b2c0c32419e3e74b3fb2cfe20e134f7a58d49c2fa6a26b8709226349d92e5da3b905612b1d59d46152fdc805c2864792051d267b990a9f514979c813846d04250f0f671564318789213abe94db6d671192c3a4145af6b487276d650161eb902ce230b1363b4dad4ddbb738b280c3248bf3e4d1cd736f4a83b0998191c51b266c4e335db76715ca4dc1888818252844f30a59b801db8e157dbe42ee2b10b60f1422f28146769084a043dd2343166d9824c53dde56d3ccc503c2a660c8820d93fde38866874f391a2e21c911fc42166b9874b2b61ff347ddce8d82e3cfc3c30b59a861e2c92ba153d40b441669986867eb41d42681a16305a8c790051a26279d3645cda5b46e3aee48898e2cce30318b57d6d59873b2cecc30b18394afe4490bc286a368a122c8a20c93ae6cd46baedaf22ccb820c9354338aca3999daf626474a746016639820a7f457ec77ffaca5184a527c2f8b2a734bb20803afa297a31fbb5e6fbb5af9fe4ba5ad50419eb4b300c3441fb92a72b146988f40d854805430c1516e94e8c881822cbe30416ce5aef4ec27cf1b844952908517268bcb7752253de6211af0f018f90811e9c264af784a87df697bbb40d8ccba2031e342165c989835a256da638979587f90c516266ed2d172503aecc8aeb530314d5b6d5cd135a95a162669765397bd4363ac397d90051626caaac58958fed9f8152666dd6f539b4a5698bca52567f5a32a4c8ee993100dd7a1b44354981cbf666efc2b46e6ce14267fbea0ca92ea486162e9c98e75a78bf1781426f689d218fdbe0c7da130e92fdbe74f98aa94be274cb89c4529193b979ed87290851326f9abfa6778a909132c996656fb993041fcf575f35bd988b984891add52779a926231254c4e6a2f9e06513566591226c56061b3742d244c506b519d4b87c89bd01126fc070b9ac945469898c2574c19655dd59f224cf8d89e765f3bea870c112699ea8b22ad32db9b650813fbb4b44fe51c93aeb0102676d0c9725f4e7597d9204c94cf7542686c91fd0261a20699314ef3cedcf883091e3cc654194c1f4cd0151e45071b7b30c93fed450679954b85079366438507f70d169a65b183c9593734b727b9aeb20e26e618efae723e91d1dc1c4c1c9de3c8fd2a919d3c1c4c74d351316b8a3632a8bc58e6e28b8f912c6e30413c77fcd3a07e73b824c8c20693f3f8dbbfa8acfdb77d64518349a7475ad0b5ec1f77e3802c6830b94647a92473d4247a9ac1c4ac4ef13d2a740c77b390c1c4d2d1643a9d76774a8dc5243b25bad79fc1625212ca72259d2c0a10e015132eb43d08d17db3e1ba6262cc575153379e744d5b31714dadc552212b268dbc70b5b8e52a26af9f1c1f95938ebb4f15932c54657ff5d6b4522a26568e1f344f8619eda06272ae66fa8ff1b74ba798244fa79b19d9a434a69868a55206ad7529d5a5987c99f5e2969075eb49313147bb701917a5b519c5644bc9e3a7ca9c7a544431a95e5e54759a6ada4331e9abab2a4d29a12c0a8ac9f7f9dd7ae677c1fcc4c4b6fd0f3a490d9b394f4c14139b3ca5d231a34a9d9874e9c33c2d6bca367162a2895d3ddb2cfaff4d4c4cbbb9ca7bd18ed1c4440fba84cb5b4c6fa34c4cdcf4a4374b9a4ac1c4e4ac968290fba652bfc4c4fbafa0dc2ca954194b4c8e66f3a262f57ab81293c54b6c0e1d2526fae69852b989263161acea2c9b88243131b8591425b45fd58622312959d2727a429d901a82c4643f2d0bf156de967fc4a4d494cd3ae4540edf1193b3c7d990a17cb7fa464c8c1dda43fcf5559261c424b9a0c25fdd34467316315973be8ccdecb1a1721431c1eecc4d589ed16a398998384affc374c6be243f8898a05137ab89e719e99e434c94bdd1b439a2b5d36388891627a326959a37074f2126a8ec7bf9549f5b5c8710932dec599dde7f1093e2e55e3db96dc9fa053149c556f514bbd9247f2026e54a7f4a28994b0625404c90d192689ad03275fac3a4f815d32b29f2d6e487c95d49cc3bc51c26467d9864bf9b466e4bbe7af830397decf68af73029060bbbb1bf2e63460f93831eb7d96a1bbdf330b1931a15436a7e5c0b1e26d7ee995ff8fbacfa1d267978324d9f53926adb61a287d095fc66538749c24ddc8b8e1a3a4c32d94a5339cf0da299c304cbcd9d3b596dd867e430793c6959577b77f44c1c26ca6779f24b3d539d81c3641bbde13a73fc7fcdbc61b29c6c15b58dda272a6e9874498e5cafdd5e6e4a1b268676ff65fb4b71e7c2864973a1a4e88ed730a943dd95676f92be16354cce29f37d3a513258b2a461b2c54fe54989ceed59d030397b54d31b35a8db57ce30d93d699a97857aee8a192699d9a6077d3aac289561e2c898a39fc3581226324c4ed23409d5b76c22348689dd390855a14ec61c896152acabd89b4dec46270c9383d4a493501e07c3c41ca54a5db0992fbd7f6172ca6dcc6933986adcbd30b13dbc7c98ced9f2f52e4ccebf3d9a2a538aabce8589af5f6a4d09f91626e9b51c3e2bae37222d4c5453eb9bf4ad939e85891b64c58fabe6e61a2c4c3af7bfce29bf3af52b4cb6f44ab353fb9f5f2b4cdc74b5d1f44e7d945598a4ab3c366d0a2194a83071a4852ab5b879efa63029bdefd569bee4b5b51426a8b66d38713a673b0a93da53b4c8d362251786c2e4788de5492e259979c2c491e97e66be95f2e484093b163ac5ecbae59b264c52ed25ed3adcbd55983049a89c9228b9af94b3848925ef44c4ec6ee79530495f925341c4fe6b923049d9599cb3785266244cb29169a4a6bd4798b4299ee7caf01a61b26730cb9f4fd5f7b845987472c23f6d75778b449820f3d298cadf391fdb214c505a2fba29b3af982384099727effd5c77df0fc2242133c66c9e23eb2d0b84c9e666df39dd959dca0f269fc734c244c507934abcc7bdf687cc971e4cb68ab76bd949c7c87930c9656b3d5cc9bbd3750793d33f950ca3ab0e267cd0512ea7b425276b0e265d14b5e323744c952f04c0c1c431cbfc9f92eda6ab04b8c1a4a0d28c364dc1db73086083495a31d52c9887b50e016a30b965a3c67461674c85003498e89954dc523105e51702cc60a2b9ea6ebdc7a7b524016430497ea93c9d46a4c868c66262b898bcdfd7907d262c264751effd49644c37f31513573be5111d93a8244c574cd08e0bca347c54d2b215137436e6a4b5542caf64c5c451dae5a22572fc84ab987c6b79befe2c858a543141e8ecac9a51547ca5a4625249bdd099762be60c2a265bf66c6d296d75664e31d95487531b6c2e698a29265fdeca614173f9864b31f9bc2fdbed94878b49a498603e7a544a3955a5134731c1f3c57c2ae549da89a298dca931a9cd19e357c4504c9c2f0df7d61bdc3d04c5c4b3e8fd77ea947a0d3f313134b352da18ac730a3d31c1ddf43b87994e3f7562c2ebbba9691027268a988edcdb87d13731692fc633d12db1418635313956e838391bcd7293894929d8674c41578a690e139335e6530ed3c13208954b4c4a77fa92fe9cd3a6f72c31f936ae2a27532526460ffb35b1dc9916a3c42451715264072922e3368949f71a2b42a9253131e6b3f11dcd17c68ec404db78d93b8608eb18129363bca0762b5efe987dc4e49853baf556d435a923268cb8bc3d3d428458ad119345bbea5ec83121a23162b266d371f4dd7252cb1631c14353debe52ea2fa714312959ffc8b52acff01351d0a39a42c4a4ecead92cf39ebc1c3ec4a44cea4cf729cfcdba212685cf3d9d216436a83580424cd6df0c937e97de72358101106272ce564eea3caea6a43488c9aafba6721766cf940431415f0e56993bc7f5a01488099a2bef891e01625250a756eaf5c25dd01f26a698974b3ee7784ae387097246936bba1d75963e4c129b19cced75ccefc487c97f3163ea989476b8d31e265a7f9fd0996f6d76d2c324d59c2eeeab8a5d9bf230f9845049d4f9595c34e161929c4d0d4279acdc99ee3029588c59d7e48f6533d961d256d229afabc91733d561c28daad8894aa53498e8304174ce9f73794c6a629ac3e4a4743c0f227d547c490e133c6fdebca25a32ac1487496d674a9db59bf820048749a229cac67015157ff4864997e257355465b70b72c3c4cf9ab2b6da65cc1ab561e25f4ed663331b2609cf1554dc6c425bba868951ec72ce9bf98d0ea96172272da16956fe4287d230a944c72cbd9c6a5387d030b96be4aae3c2f6a5d019268a976f30655aee1632c3241b51a739ddafa90a9561527a5d1ed14f2a8912192609ef9cbfd53a640c1ac324214fa7b4aaf9a982c430c1ba829d69ba9c634e182606ada6f4cd0f86493516749ea58c37fe1726e771b1cf657f2ac67861f2cf0957fd50d529a60b93928553974229255dc385c95a22b37878dac8942d4cca5ac282ec8b1626c58d61444eefa858c9c2044dedcecee4f164b030f9d7a4a73ccbdf715f6192958cbaae39db08db0a134cab766d48b991566192de1c4a2dba870a1344daaeb759e96d7ba630e14b96cca6a35298982135632de37e97519824c48490cb41df77a030d9739450ae59ba334f98f01a7249e74a194c274cae1661b67ffa47784d9820d4dd77784a7e3a13267fb0dcba62db95b4b384c9fd26a6bce2e6fd931226bd65518f1eb34d499858d53b572b12260615745f4a9e234cd693a1465a6f84c922c77544854f3a5484891bd3f77e8f2ed517224ccc31faaa8b96d0b10c61f2856e52f75d0893bd42de6a54116d7a10267a9c767a1b08132e08bbd59c2e4fe807935436ad9a565a36651f4ceecca4e469bf4d9d1e4c9055498ebcb9907d7930e9528cbd9b7193bc3b982ceadda364f4b8547530d1cc4f6c43f93998386a3ba97d703039289db2abf6cfcb79834919f54ba994b37e0eda60a2584c72b374c5a0b3afc184f3d80d9f45541cd1609218ab6bcbca71f30c26b8799be6f0c13b8606208309fa62fe68981fcb7c2c26f9f8fa75deeed30c2c26af65da0951fdf6bf62f25fda6c1e4b9377c515c59257eec1d48a0997bed583ee4600ac7034b45576ca57315973dca4359d50bb5c1593d4f6deb6862edd742a26bdfcc620e3673d975131313eedaf74cba87e4f312934c66e7bcf68264d3169eb3b672a996ce3598a4971e23b3be22c3468483149c75237b79c62b76846315943e37276bd1aef8c2826f67b6d8ccd4d959d09c5e40f531f63fe6d5333a098d8226e517bc3ff5ce61393acc2835c5b4bfb254f4c3c1d845ed4be1cb4d4894941fde9f4171f34077162e28f76cc79c19452419b981cea6cdc4cc928ffd1c4e494fbc6f636654b39999858b1f4860bab96f3606282502a5c4f880b1af397986026727b835ba5ec2d31e94d45968791a956538949b1bf63d82b4d7e1a4a4c90e967f915355b5299c4c4bc2763bab5f8f1e392981c54c87f51a63cc7782426a614463e058fcd1a87c4a44d2333d647599ffb11933e8678bb7e8ffcda11132f6fce9daf944c0b376292ffe8e5681633fb65c404dd9b54eaf3544ab38b98a05f75643bac85cb2a62f27a4e0bb39b37a99b8889a783b8945f0b2226f9c5cffef1627b5ccb21266918d5d39b73ca312d86982036fe6dccc7125996424c90dffaf1327e831a0b21268ed48f3d1a744e8d82a8342be60382a1481c0e8742613018187ed42d6d02f31400300010241047c3014593d4103a1480034546343e30241c201810141618108842c14020140a85c2603010100804c2606038d491556cb1f321895694e208cdfd7c212c9b0f501e024f8901c1a253ab0e368c7054472484dd4ee0db992c0d00b10ceddec9a724dcac2173cf31dcde871eaed1a8298779b67fa1c1b35edccda777c95f14406065efffa1ecd8f7508f2cb690c56ee063fde806c70507ef26004dbddf08107fbfdc1b77dcc7962b5d210a3b65801d92d5264e9fac8f8a81b1591dce1f521b820ea773a20f58cc946c088c27066961d3e558f6bcb23f6f7dcd99a229a062cfebcece40dcd65532b4136d188addbb9642fedfaa921ca123260a298a31718b4e5fdd30428a89f270a97511e6bc3b3de645da5f8106a3b3041b97cc26fba63175380e67309ce04cf9313b3a3e596f9835f71fd1bad51500e5c8f2604d3b392d909247962e9ae87197700ded070f19740b13ca6bf89a0a3f5ce2136c44575559fefa530c577fd729263b16d4a6e0d51d76a2b52339f34cb386090e3ec7f2d426d4373d44178b924856701bbdb7b490cf1a574062341e1ae448495c4a8c77cab0c7ac54b7641bbb701a6a01c03f2832d21cecf835521d22cf2dca3bc2b9bd6b1b79c9d88324a1bd0a4d1db858db3ae77d3dd41b02fd1cae9ad2cc4a17457c465432e4294bc2cc23e91d3ee5c3c3a44928b9d6d3a50d2530037a796cb9c1699c7775eda9092cb1c513fa1c414c523df6428d93eafd0976f965f2c9e9e0a19593b6ae4ad7b3558dd61b84dd419d6459a39d11cd7e9a72e0da16cc2b1be97cbc2cb61fb1f424ddaa739a936b5bcd62b1a8f08a9506a030c923045bb2dd8e80ac67cdfa95cc6692edb433d525c25ea8e4c2d3e2072c292709e108a376c2710e06dd25c23768b9d44ec802cdad27dd3bca06669dda37be79c755b61f51f3a92ff03bf5258323debf6b9648797295fe59665e35745e0cd2b4507f46e19fbef4aa63340a5afc0e8b93bea14efe508520d8937db9c2a95dd7d2ac4789ff1a8497c2c117fb07d01c3d7cb3a599139a396e8229841424c9719a64418b7306ede810a7b610e4934d9bd7597145ed7ea1eb60e6b70a4e58b7a4a9b677eed86c581133fbc2fbbe24086215c7e6c85616eb809240cdeeba5a06b237dc28850deff6060239cf5f57085268433faaa21514ec72b97178bca83c12b44200cf13ec02cd2dea14f8926e98438583ea436d82ba954adc9a4b3bd99b6dd4b65c4878eb4584f5dc59661547b61132a3b87c970bd001c005c0d703a73de7c9afa624eb2d93fac0af6cf522d315174cd99c874de6a5d7d83b6b2a3da23b313087cfa905894f68101dd0c111d3551eab4dc1bfcc32746dfac3260cdb9d1c68a314f5321904307aa9b3cce992a16d3593964b92cfe23cb999c642f49e6d4ef478816def7da9dbdebd4219d72fcb9dcefd3bd3711d9266fc7bb498cb1c3e162580a9c4bc39ed201e749d874df6b4050da8460d1c508026dcd0c1c125d275b7f1a1063da9de70a5ebde926dee4febf958add6676f37db8528333e07e7f9382905326401034388c414dee8621c1fa8223409f6d9402cb54327320ce334ad2dedd25a1b140b27006f9b89377e5183f46cdec67560a9654a4b7dad6b5db651a7567446177bf16ad53ad9464dece087fd6f660cc3aaa0cb25b2134a99091d695559d6eb506796af27ffff38caf02aacd2c2a697488040e0e8c6c615264319ac504eedf5684007a650870296a9517b9e2bb39a4d548f1a5cd0813258a12c9d5905509c0504ab890599540c5e90067a03de345c3bb510c8b3db32d671f1666d682f6ba91e6bb4a35e16ad176e7d0605791823a021852a63b91257420a59f5124ebba7c7b27c2c27fd142739d49234278632742087a2682794f2b420815a34478402545d5d15de9d5f670b32108f22f422ad32b73ae18a93b52ea2be49f29483dfe6fc0bdad72a3da7c67eb8cde6fa425b3618919a9e0d48325232322d46a6f7373412509cbb69d15671cc79aa4ce62f6cf254a82b1319edf7d1ea12989ec973bda561118d6b96da0e83a38fd908fe325a1a6d9a9dfdb29da6982ec5222194e897e4859627f3a0f62119f3b925e1726d9cfaa7a06447d648800a08a37ce33b50ac248f2f719adb0ffb06675b8d1622a94e1b0454f7ce475ef66ec7bce8fd4ebbdced4ebbbc1b3de32ab73ae22ab77fc895df5a17891edfd1894822914cc59a02928858ab119120aae94a38256883248ad14122c569410c2ad18c285a39f370ed5c4f02c4a47922a8402fc2a8a12d592b75a7b35ce75e475ccbed4fb9fe7dcebff43d9cea180b136f60faea13def4be3b5ee29da73cc925e7313b55c81daf8facbda746e424dda6908aa32bdee24a05682e3a0ac476d4677faad919c77c0783b19ed723ac45c21fe0d7755e6bad71d1917a4bbaa1ce3abb52c9c23779eac5ecf664b77c73c362198754291e1df34851ec391873cccb1c72304f73d1294e73fb79cef9b5b67228add04dbaf5edaf99acfe9457b399274ca40ba6aa9fd5084522b5e857cea5eee198abdfe7fc6bdfe2cc97b8c9b464fe517ff3cd0e3ce619ad421e5250420e419ee5ca1bea3ad82874451a357426a182b73ce6556e89aef5426f8773d5932f78b3477ad6aaeb64321e04118556a45140e886c0bad3550fdf148ce325f50bdb02d959b8b1e958c519d19881e7c4ad9a67c3336bdb295a346f275a14774cae96737eea956d98ac65e7d1d0acd971896edac60f156ff171c38d86208ad1b3a86bb8cde9d7b9ff3997bfe723ae7c8fb3af7fdb335b864ee4a94d6fe2a98156a451435f72294f0fc451a5f6c3e6c879f3429f7dca935eee9427bcf29467b9e7649ee6a2e9c93522f3e3a99bc4a31efbe2f73df992b73dcdb2684216d568219a0ab44100b5e84664a56ec2ae7af71faef6595ce5f2539fe3ea339cf2ed273dd7ceac1f8ab7de3d8e39d039f158780df05d25ce84991a2f7766cb9cddd0c3d67c183336e92a5420cf4488232830b6ab0e83a8c15a97bc1ea3f90e22edb3ce16c8aabd68aa81c3bc904b60be869593f984e6a09692e909a693df35e9c60907b9308104b6f41f84a10fdb270b468cb745292f6639cd037e778721436b4c34886255ce74336c74f6eab9bc09e12ae6adb4b69fbddae10bd643e0960354c0671447d843afccef3d96c7e2051a94b6187a05f7df671991ac988f467d2916a181a3cdea04cdf797be02e142035716a536544413b4c192823db0513363cec9ab3f0a9efbede9a4b560843c0094cd3cbf19f433f39fa4a33346b3943a82246e7a49285d903eb32b9f6fecfc70d10ba9963450f8b6ced6295dac18a0a5c9532cb46c5a9c9e9aba03cdb2fc967b0e1a5d61a0e1c93767ffce59926f77f316589fd9b7df0c14acaaaed01a5d3ee2dd15ff9cb8e1f5d7e38334ada8930e5839724a2c26a103930607d1394ab72c5408ebb72667e26d2c0da9a32455d3a3ea9571aa1eb568697b8141e1ccad987545f4bb7d97aaa5bfded6a6b4722c0d8f74823a1f9a441b31775b27772c5fc6c12c01e6256603cca3b4409e03f4756412d3906c92711ba74c1b7863504d08aed0e323c512f4eaf8de031ee9537c17e4b68eb8e610e1d90056d0a31f96777213eaed87aae4b23750e1183390597dd106c17f64a22bc9313019496bf6ab4a8a77b403442afa21535bc50588a4d1e3d0d2df9bdb66eedd1cd42f8ecdb78eee694f8782afe326f6730cd75a4c8ad9a110920c33f865e5a03903472f5dcb01b872d7d329ba54d6d0a68bd1d739a5297811df297fbe090a6276a725f18d2db4854bef4a98b1c545f1116783b5711a63ffe36d2a91b7d213f58cd21aa07b7db804a09002c3fec561328d41dbe09d5e487987d50d19d43840a541688380809089e9ca88907c3b9a7ab49c096c00761221488f1e1325a08a0ebaeb6061911a7e537b0f522710a4f45b83a8aa8bd86c7992900d27636da93f4db3c5c40c2c4896d6adec078e053ef8ff8a13a567f11a3e24192858ac4540775044b44a69abe35ceb24ced75977fee411b776e107e41da09940b249f14077a7b176bc4f767f1194c6053241e215d9faab5d98ed10184c973480b1b1ccdcdb07cbf9fc950c18c7d0c1e9b8ab27f2e0d348b72f9ee079a6414bbc135b4075645753ef868aca75535815526a129510e116c3eacbd217d009c4a08fb7eda6cf41dcb41fa6448bfe6d6d61307a2ffba9eec6152d2af7078e1b8735b42fb6878c8d8ad4e5cc43a50c20fe204d41f8ae737ef8f4d0d75536908a894eb55b5a5cc437eb4a0954b6e6254961e5eb2a0277644439bd57e180739a83ca829dd09a424f091b531b0f168f28dbaacfd6d44c81c0a1be6cb4eb1e3f2b33b38d2684be6c190b49ad84a2dde0f8c2db8bc52c190b351e168cf103601ee5de19ed9adc9ce1a58b381314a390a71a940dd4c8a551f84688e5bbb94e625a28c7e99e5c5c25f54fc2d391c8c2acca805d447244fc86da44f88e299b1676f6472ca134ad886e5a8875066e87d57e3bd91c0c97ec7db0cf72ccbc48b517bf1e7ffc71969ae3d94088d6706d35b05b0891c9cd97479f36749ddf7f0a8fe2a6bc8172a4f68d9c8c086a28cb04b25048a4eb0a0426f52fb62ce445966c0d874281ff77dc90f8c807bfff44ba00b7dce5261cf76fa256e20accbbf49f518ece21c17a3699f474394529fa3d720f2af8c3ee40a03ce96daa50c7b10616da88ce727ee9f3f2ccd9c5c7bc044ffea03f2520bdd2dbcc8fa46738d573c01a1634037ced267935c01fdd21c25271229d79707388c359803b8b7c7291ec98bbcc02fd90922476321a157719eee8dd091c5711fdeddfd2d674bc8aad616d3bb6b65e946f67e873c6cf646dcdc977d9d3ea843a048b508d8e4daf2d92270e326bbdc9a12d5748fb281c9adcdcfc4b6a52f2984c33c33b0194b2e008ff242abcb0871b6fa75b431573896738cbe747509357887a9c6642b59e908e21ad10aa25d066ab1a4780c212805ec130a65fc9fd19a2b187e6c9d77d70bad43f5c8cec2d66e7ec5bdb0c8a3427504c0cce70776384261b77704fa97c5f1a7bd242497509f85c3ff668b035afe86dd63e9b9abfcc025d8c36f3386a80a826c1535fb1506b95e9f174d8889e5badc49710d7e2e4414c30f24f1ac314ab75ac82ab90b0bca66c90854629e89f5eaad423b310acea5c026e036cdd4801b42c32e6f3d5b1381417615a900e6393c5a619020059b0832042530741e1fa8d21f78d47c63a7893cd54f8658ae02ed23392410e283e481a9ff4711940ed13805db685ec2d3ff5cbbcaad9052ffd34070a688bac4ce30e07de1a035a46e707e1be9c531e4e46ace183135d9ed730b3fa95af71e78d7f6d98c5f52a80a02368812c54024c06c660a39008891b4bb034e22f3303b74aeaa1fb880538d960615140fb7e98339fd87d3607594e5e835b4bcf3ed4decc525c401aaf13f0bec3230e3f004c7488c89f6223d8771dac6ac331323f3229d1c2baa55bd1e742a39293eb815d105a7c77a7c7cc32ad880a9436b7797294a2bfe626a79f2b59ab218c100f9bf1479a9eb40e12693d82f225d58045566606712c5a7e02d1028053698b895630fcb9c19c103061900d9e0e3f50a36a944e0cd6845fd4f3572774ba34fae11a0268a1ec71d44540a84ee39dce87e852f938b46f1f7f832847c5d31c6a3a4921e6055663dfefcd4b69ec4dcaff64e74f02cf33d9d70b1d59aaee7da4819237f930fe9249c88a3052f4c112d95b38d021028815830df3b17796cd7dcb3241a5e0984822930ac082c5c595824de3872e099b4f636041d8638607f6e83a92f775f0690f3a37974aec9de8a0367a549f1b5473b75e6a9f5848884e797f0e118d230e092c030e756171f0850331580e6b80897fbd6820a8c143ac731dc6d3947dd803f59b3be0781d52ca6b0f6a04967c30e0fc20a124cd1d2ef559b6b982899b85adc3cd3b467c3b05edb86c917342617fd41543f26934f0915a2f6191c6479240cb9a9686c55bec1710217abf6750622c249505072496e14a039392a2d51e3f705cfa70a795c119da6ccb27e7dab0c94dbe74037febcd02555eb75a27ae71e207ce5a9b1b0f5116a1cad41551319ec2c692626c13de434382af0f13f8d9d46d80d1511eb19bb918e17c59eaaea1467feec7b8eee38da994a4375bc63c0a8cb8dc0c207d9e2072d5978198d3770faba1031673d18f66f7c16f603f2f20f7d2e176ab2bfa02b798372d595536f6bc3fd4aff4329284b82657491627522c2e1fbc7246a0dbde9a46b25fd24b5653a102ff7b1f17ce02cccaafa5307b93f8ce4a464999537e433c47b553e929388239a9a0ce3a5e320be47705f7736ea6e63b9807500846530a25b65653f3fe35956db65b0e391768875c8933870dbb35b90c89471cce9a5be8eba1a40f528e00f1cf453260c63064786b4c959110ac166ad17b30145b2ff2f57ef85ca249c0be87eb8d860173d96cc62cca02b8fe96806682440293458a098800c567ae426cfa16369819670710493d71ad1d4f59257ead29583bb78ce8e622d1a39a19fd488b42f17c1901f15475eceb966db5998d7e35820ce97181469fcf50345e5fc429e10b08ac25565d21778a36978c31d11aefac788bc431d2cca24c07b2e540e2060aec54c876cc3e53bd092c48da86a6b050706e284f3e51245ccad8a470b38fc308d5b5be612368f51cfa29e79c94990e1fd14aea05615c434a8a8a5457ad908743bbcf4f33ac8203a26c7a61b0d5866362dac717462a036c399e9e8d1bf4975cae667a0dfad18d1871a0e3c6efe6cc5837257fa09dc152c0c844b7b02b598480583cb396264656210b4912499c531edb0c6daee8f6fdc11fb910d5b46a1343de2bd49efc5e25741152141c86fe8bb10a5bb7aa94d550af38b1fcaa4e575ba88a53dd456d70d653e4dd2d9407573036d16d32cc06faac8317e233308699b6c4dcffdb1c0be32868323c728777d47718556b83faa21cc4a175c9a456436596b51a7a360f376a44e89ab7f2875a5b161f15133321047cdfb25821268ea09d5ed0e910f2c50e41925f456863389a00d05929683452a25262e43829262bcdaeb27bec864e7a6e107daf7403680b438ebaf6b5ed06de2f48e4fc59346734720c06ecdf5e86f40a7c21ba11b17cc7e58070d79c9a4846541ebc7b1318eb173861f00b1c0c41caea9583e4fd85cd5c0a7d083c7f09d580db548721ad3ec299258ec6d3dba7339adf8c6ac470a835da6b6b772867c5d079078046f9026968665c454c7cf6fec0c53bedaafb4fcaa91a7910a04b6e565d49405a30cfcde051164509ab9b2f782557dd0ef0899cf89f096318a86eacb1177e981f0d477cb85aed4c2658a4aa8d2a5414ccf7d39061edd0d00449328dfb953a5e69260fe76644dc63116117c28f9a24675c542d1cabc5578d4336c934b2240f904b534fe0c8f8139a036ea5a25e5056d1e5420cfe0505fecbc14780da3e3626c18962beb37ee1d97ba31384b4fdd598e7c9a89ac6cf5556897aa6bcc432f4a08ce59755b487513b182bd25d1a5c5773d174b2e81c8b156a6c9b21d19b6732854a7f8455f46a3e24b872cdf958d9c20c383ae78ccf3bfc36a144ffd1e647f3bbd306dd5e416dc298c5b1c9c08533494cbaa32d3c0a82de35cc469d1e9d428ff1c1c8835df4d34db28a27a0cb2d01545c30ea414537525aa4093796894d3077301a6d67629abeb4b8511682fc384136d3bf1eb2290a00503b42c16104de1eee383d91b377e00e63613b3914db84e05e88af802f2334bbe0f0bd3a6d2cf23dfa5ea87b67d62979557e0cdb0087b63de330eddea3fbb0c2db56de42711e3abc714946782b6abf7350412ab59a11e281749770bc2dc0d067ac8af35fdc394235a01570c5b363e82d21b3b2216b1614b181e06d6ce9a1c7367019bdb6b1a15bc8f300a7b821ee91a9d310f2dce6019a44889111220d18ad39ac47deb144f31f8c8be5342e5a76666a7b5bab81a0135f731bff7e2f41746b423c776a731290c69578e994cdb686b43f74d893726d3849a88294ab56cf3216b6288a2c0b530c94c6fa50a47718037954ddf0defa4886ef286a7824c7a0fa2242080708f603a85014839b628b87469ec0de76203442cbe5fbe8d38918b9e1e6ffde7a8beef2c491692bf6e3a2132633d6aafea57d6c6b89c303cbdd7d0d4bd8159bb3a21a9dddc7b6879695a7cd17671bb87bb3d63b80bd47082de2a9b3a81b3757b4ef9ce0e072f0d011685d754c94d3509321a207b68a9da2020c22bd61b38a3c1f78583069087018845581d681e35db5f7e52206c6760347269500288f6908a5d8315e3421d89da0934320e2b3b1896f6e84b0d55b9847c6e43babb0ebb5446dfeca8fd691267e876bb17bbed261010ad15b42ae36eb347fba1428c17a02dd1dd9dd9dea853ad14321d1020bee5210af32f654f3c87397d0e8e8271428666c7078ee2b6b3a4cd4a352d6eb6c4e9a0ab2963ba7c66945f5a2c66d6db9ff3cdc373c01f403118316e56110b761295cc57043ed0f80b9b520ccea224cfb55cdfab5c1a14eb38a311e8cb47448625ca517b34745f12c0f25fc21c2211691247dd15508d647763cd2266e7aec5f7e191021785d8ac8c676c82dfcfaa0c2be0b5f81437a90eaa89c09959594e5c439f7ad992cb107e59dcaf43a8184c421a0ee4798f69f4334567af9b0df723c91991b1790e2488301a0c2974e3a90970abbd6a025066b65f8d799723a5c2ee53ef4363b95bdd9ec0e9df001ce7b75b918ca7677e71dc5605ff3ac8dc4b6d79276c6da6461f84d31214380d5466920214c5b332dfd5e1bbb492ce12a3d95233e8a5272bdbdd7e6fddd06e650f8dcd40101d61cda9e9330034105d30348866273581a33804a150e9c922ebb645618afa38597ec8a0c826cd0a1a610717cd00b5e8ce5f98d75c477df878148ebbf017701f391a5a3a49b399462e0722b9cc382ae4255f25e6ce04e970bc8ab7282e96bab680a7816cdea36eea6824d55f8c9455122caedbbc3944167b0892a38a80100327a7c2b2f3a57eeb03f3be2b8cd47fe703cfe71713d12c7c009f163e2a55024d0ee9ed7444955440bf557430e88df50f4c9bdb08ab82a9db41dd55011f064ccb8e3055e6b3dd14da2d91390dca0a2d86409946a9c2457093b5b0f915bf896e3786582f7fa15635bde24eb04da02e45a8cb8d76772fc0e42366dc24981ee6909efb870394ce16c65791d3c595f2b96de2ea74f9cdc093a0b71bfc11db6bd3b396dc2ad7c72e28943c9fedc7abdd042e5a40bec15a3b8f610bd65594a6c050ef1792338d21cf2afbf9010fdc3a072c28f1a5883c8dbb764adab5d6110ee2b7e2631e6056b22de01283a859891b12df54a8b76747e30a27eaa0143048e88cb4ab1cf82dd8369e7429aef47342dd5a9736abbba58b81c5a61ca91942339723856904ff7a0ff4ec15ed189445d1ab660849170d4405c31696cc31babf91dcab19ae6adc500ba1dfb7c36eb54b8745612a3970409b00b6e9e1bf89ca54b87983d5804214870aa40a07e5b34fd366c0355faae538b1767923705c5a955daf83fc020c38c0b5bc25b41372f90c6504921fb7af0db7f9ad068d8ec4df8c7eee878403078d1c4f83d480834ae0cf4a5fdefcf029e521531793ae949f5129a476484843a5140cf0a310be5c776aa57cc103b3a7b762ac5431f9f24e635725988b80442862444664eb1f89346fb380d1a68d4be7438a920a5635654e0e21ca243540a2c9b8aef786ec4485326bcc68f2721211e9f886886accac9c9b7cdb5cc952e2ffda5e4303b10ee264ce0aad52e80a8c924d62d8c2f39b40c19c527c4560502f5774bce552447af03c049339bfc9828273e4c93e5a6b286ce4780028e5947cb0dee47403694a0b21d08d60b0497e18af88d10866d1d0882f930980b0c4115e6902d76416d0d8be2827a5c5bf1e951435957b67394012ff6d021d17c86514ffb0e21302cb793825590440460165a70300ed4754269757bc45685d1d3f50e7aca4b5f42cff1d5a79de255445757891148da77b94d3601990b28441ea60a373cfd7b89d327d901a2268c19881f8d1b21daadb53882ae37f5f41bf6a62b1ab25fe1543e199a29f553d82204388cfcc8ff7d1520c9c1ae4a39dfbebf86c1b734b6475692f4bf3bec7d3125ffde2a5cabebdbaa9c606ba3ebe9fa39d6a6b5f6234e907a92844e3402f1e0b1e14e8346433170a0648c391ac759efb5abe976eaf3405c9b7f9e4e97ad511c0c81a73cf2e824ce8f6a267443673b4c5dc257601b04945ae68d6d90e7e454bfe41b8191dbb308f2d945bf5d0625269ae4052fd5dc20a76a0d4402d0b34172934c1d80f54cb174ac15e0e2da5310bbb25dd4a99e2b15704624a84740f951f3f141d0c4c3d60a1a963825f0dcc18606868a2319b61944f13da07bd613472e6d9d62f0f0fb0a280a458ababf2cf50e254f463db14b24f54d6f3d045f3c7ea6f446fd998ad71ad860c6b8f243d5b8fbeb8720c943cc61ffec8c88253d958788290816e55e60ec9091eecb5ecb1e22fde2a7f669a5f482653d7ddb2bbdfeb6e77afcc0b7ffe0c4eefbc2e80efccbececa8e8499511051cf77f71b76b39997c423e999398ef91022a76f5117915759048ac3b01ea28bd90517dbc375dc56846dcbd7eac447afb0c8f8dc4f88a4c0f3e5136caac50b06081cae50ddc9cdfd0db901a4a8c9121482051e3841cee5c549c398630a1184e4b2d61afbf5f138a02657ec7d3f4c7b20dab30048e45779010e87fb36d6e282cdb89a863daa0da247bcc8e4441f866d34a571ec0917476275c5b78f300c3a4fd65e7d90b6d04dae2b8990c38a12f4a9b0e231754b4c9c00d81ef1828c10832d3dd4625aa2392c62701edfc1f3368d54214761d5484707add034ecf188df537d6a5a1c7bd48e1e4c5d64ce21e963afbfe9047faa2fe0e363be3bba488ffe24f5ae0ca0614a724b0cb423bc21d557b5475e35fe19f0955b52ff80749bdeb37d25377c0442e513d8fbc3b58358f11bfda16dea24c0556f31a148933f936828afdd098ac012128131dc82035ff2800e50bdca720c876f7850e7cb0c89574d3e1060ef4b072d54aa9a7e4d007315c221e724e59d2a2dc8dd3c8d0d8a45bbdcedb88b4f74c52f403ce98974e1154014f2c057b64b912a25d8b786e9389f46450936c227b7555af62a549d4c96be396d79ba1d9d437b2b5d220c0c97b028504e81259aa0f59bc3f2c06e1cba16b0f018ea5e5e38bf10db8d124fd1b8b3e932d604e416772b80d34e147073315f17e71cdcf2a08f9cdf0320907a83a9fdae95e2c592181e13d3ef40862ca1f9ad440513d7ab1906e744f91ec098bf4c3328c4f0a7307a248f545b5a15b880148bb9497944caacbadcb59a4b099588e519ae20d74a8e627274eff8ac62267219aad511f7468230c80d80d014b9ea55db416854045c438d8a821e73dc4fd2f4d11008141cc4500486207bcbd42c0a460680634cf71856fea8e2099be601cdaddc5a3e18c3e3864b500b2966be6aa207518fb9c5b80ac324a920d958944a74f2122ddc741d68c37eca81b7b8100f46aa332b7639ab10fa633c77aefe10b00f08843b4a6e41b115d9164f945e697d05dcc8849a11a83fcef70a4f3c6f7c7131b3e31d7cd2c86bf9a997a08481258d49d2f6013d2b843f1c6e0f1fc8e92fe64db09c263b0cba9ca06918986ccf8e223c6ce1c127cff45c4d03f05cc7c2f758985ef856d164eb23c3e088186807d0ab24d8de6d1e90f4ecceb8cf8e85ed539a27721f5a546a54b99ef6f61afe2a97ede6a8c390a3fb9c7fce91e52a9815c9e67a1f30af371ae09487e2378c8825fac9d257d1a0bafede63f6309386f9c1314d19105095483f9931c7834326e215fecfcd2f6914278a2a0f80246fca2f534e0711c8065365e6891a01e7128647566a26e0d24a632f712a912358ecfb514ffc200fb2a31d91134d3042b3e9ddd11060c6b248d9728fe2445517602efff15a11e1044af884cdce3abf92c2ab33a2cb7f28537751c94b9dd1f44f3053e1ee0284758938632f1afe9807e71f6b0425fa5470be27f04ddd104f4ad02389127c7b4e60d756f657128c26199a09bad051ef9da96d37cc4eaddbc13cdcad506b7788066a29acde00c63310500ae8c7c7c2c4e4603f4f708c85182a275cc7bd87d5549b28af11290700eb2c29e828178581a875ce0e46edf60ce552eb2fa9b10cc23640359c3757283cbdb8ebbcb2143d7fa1f1d1f273948f28efea14f16b2e2b7c94f8854c4d7fe08b2d38d178f4faf8be9839fd3a05e08df8c678cde2ca6449b6a895b286fe84357d31b37895ad220fb855f2819274c065a990701776b454162b8f6bcdcbc3caf6114d9010481c7e8ee7b8156b8135dba2041b532b5455b91f5d392d8d72273323733ef4b9612a63fdd3c2975263a05346eee30e81ab8eeabf9192c11544e80563b9b42fef08290863c925a2ba039161993f23229fe82b86437bfbf6778ef4602ff5bf94eb8caf3b02eb2a975aed53178b5e0ad4d67dc4203b35365e8caf6612e24c8e249165c87022eacc4130c3540b0a6d0013c0c3c0c3c0c3c0c5c7526dffabab599b720539209404518fabf93524a52ee1499fe5c7d2af4a5b5b7f62ddf38a30b178e0cf60bbb0ba5160021d018c526c6baa4329b3725412b260b1aa2583726a522e2c2e4f23f83c97845058d506c265f1c9d8b66957913a4982d688062dbd4d924a91c83a732312438264941e313fb29bf8ab11c3795630c0ee4182304393241c313fba6d0f57899e4a4b3e4c840079253f5031a9dd8e4245bb2f9316e8a9d438313fbc9c9c40b61aa0eacabc7014a204163139b9605b19cffba3b276962394bd263ca4ccac45e825e9c1b930f27e531b1ca28dd6b920ccda7f74bec6b952b9d8a0afd975b624f16a3ea093faac4269ea41ce24adcae8c28b17a92e919439f1873099ac4764a6e1a5b31a54ba825b1a9f827057de6496ceb486c498e55191e5a31d40c89f5e438e13c7afc884d5a56c598825225d474c47a3289a5d2a41845ffd888d54ba86c1223231625570eed4f7e61c26411fb095d29ac9e45071619fc65f08f0d888890c13414b19f0a1e444cba149490276293a6a9514d88ac947488d8fabf5458d39dad3439c4a23a3afcc48c57c25e746025b546c310755e134df3723e8ba98f325042a3102542060d422c9ff139cd894189a86810cb77695e93f3c50328f06186bf064444fc7d98e1ef68a0218835f54eda6ad6dc96508f1f69440710337c9402a21ca011884d1ed3985add0162fd24a3f39d95a644ad0c34feb09d5c3925ff7d7258921fd6fcb0d5d14fa1313a7dd8ffc3f4c69264a6ecc28745d8063be1e9a25a3ad9c3de414972626d2a4ba2a1a18735e813352671551d26e761b3ad74822e2905a5c7c31e2b791ecb258a7e0eefb088ee9846796fecb04962be2a998ca9e376540c34eab049cba354c9e86b57f274d8c4240861fa7aff343573582e47cb61eff26dd25d0e7bccca89a231a968c18ec326d6639ab3fc9295737058fcf6f72eeee69c37ac9783495f2f1373c7728e1bf6ccbd3e41c92d9532a70d9b7c52bff4950eeb41366c76b2c773d6b0aa497212654dae862d6c9ccc5972340d5b6cd4b44eaa79254c34ec3925a9e24c1a6127c773ceb0fd48ed1ddbf264f2c698611345538833a1e4321d644c19d6b4f1398eca4af9ac184386459712738c1ed29468aa30d018836ba132c6cd4f327aa021862dfed22629295146f6290ccbe79c44caf86749521218b6924ea7506726fac4ef0bcb96ce41eda8104af58917d6d27127e23ed685fd6485fc65094b0d8b0b6bcc8e33e13336e8fc6f61cba44256ac985430cbb5b087cfee9ff024547c9a85e5a28adc644ad0f3ec60619372527e85c7ae0ced0a9b944aba939f2b49e7f1020d2b9869269f2e3f49ba4a6954618b1d64a6f058c740830a5b7c924acaddf55bfa9ec222ae7b937e58a5b05acedacdb039575d2c0a6bdd09a7aaa379232c09186840e1cea1399655ca5872cca0f1843d336efacdf13676e8ef47101f349cb076c6242549669ce4256f028d266c3aa6524a2ea8bef3649204a0163498b0ce7fef9ef48a3b628e313890c32a0339ca93e1c38c3172942004398ec6126ad050420e1a4900f265308f91200fe47ff830000d241080c6110a40c3082311a05184911d3e2e30460368108101348690001a42f84f0ea011841109d0004209f9852f7a0181105e38206417230b08d1c5231e3d788cecf07181473c1010920b0584e002c8196f83110684dce2c7dbe0478f1c3020c4161f81905a00a1c58f2c206416060891c5c801426201a40021b03840c82b6e84b8620021adb001ea4146e30861058d90558c38204415411e484a3d4682f0f81fec63e40121a900f23b8208200415233b7c5c807f98718101849c6239a5993fc949ee518f1909f234c00af21c304a0831c59eb4c3ab82babc8e792916194cd74ccf3ac79149b1c88c86acb48ab63d8e62cbb974777dfe44b156da9f3e9dbf78d2168a4d2761a1c362fe89b4828480623bbd499d1423c357e511119133f8c70fb6904f6c62a26c069994a0e3093a4fac693389394696a09427e18e904eaca67332e4664ec26487136b6fbeea246549a2236413219ad83b9caa98a4f1d0ca2c241387894d36a598157662885e422eb189a3aeb37432c8e00c1490104bac299850426f4afe08a9c42a5fa1ff2354cc153b2a08a184959049948889418824d660e25c09faf22fca29125b9f78c209a7f49058e389396639a91fb1efa778d5c13fa6c9b323364f72d59dd99d88091bb1296131e8a03b32628dcbe3a5a37dbab6b388b5bebae6243b69a3af883d4dfefb93474e123e89d8563d67e5c50e7a330922d628a3b9f22bd7e7ed105b3ebdb0e6277c9394126288fdb7620c37635a1191f790429434e52d254d63be6384470f4c700e2184d8c7bad73368d217e6e9c0ea9178800709ec1032886d542ec87c318f26884dee5092dc061da6821978338590406cf25cea854635ddf7a31d64f82863c78a8cd82f4200b1592c1d23738c41e7cc1fd6fc8c967c2e75c77c4e1842fcb028bf74231a9fc383140c217d5894a09d9a17e344accc87355d2a3d51f3fcff547b58d5e48f4998eefc8aa9874d4c6955e4f505595ee7610b4a92cff3a7d0134f070fcbed5fffc56049ae687287bd3b9d77a7ab5d8fcd0e7b9d564932ea3a6cd2c3f3cf52650d217458f663d62ea608158f9941c81cb6bf0a6a74a80d3a3fb8821039ecf773bd9affbf93f73d1ccd96101287730e555552d7765580681742e0b0e8d0607255065d49eefc18e9e1298490376ca2799a3b13471d233eca30a3b18210e2864d742e5de11d93184aae071967b08fc400708490366c52bc74d7d7e9d27a580756d28310362c278de8f54b0fb23f6904c8eb4041b847823c0dcc82f0d8f1c347901e3d36f066bc1926385384ac61f16092853a4f1676e26ad8e4b498ce2ffdf2eedb44481ad6de0f97f3ac67f8546d3042031e3b7edc0f42d0b0d8dea9862a8fcb4f7a1e2b2202c402a08990336c41cf4bc8b0a4928a49f61062864de714913109fa548aa532ec49648e93aea4190d3919d6550b939a241343683a86ede4144d926427e989f1181e42c4b0d5490dd352eaecd41912863d8e8e3ebba4c92cad10302cf2c1467f93645a96ab21e40b6bed5dae884a2952cb338478611d3139a7b4171aa4c82d10d285654c3e13cf6c54c46c2e6cab9b7763eca4119bb3852d3d76b4e45747660487102d2c7abca43ba549f87c290e8464613321c4528ffa5591a5e1085c30f22158584608a9754acc69711e0f24c7181cc8e13cc820a3c78f203c7a2011117444c815b6cc4fb3bbbc1fffaf37845861b35cfb1234f753d8931842aab0089953f494f652d05956081596dfdb8f8bb9f13be4296ce27ab28e95cff19923853d2e57b0ee9c8489c11aa97ae48173280889c29efcaa53e89f54527c0881c21ed627938c75be11729b43c813d68ba13b9c7f5fd2f071c2a61a457ff5c4fd244d4dd8ef4e9acbbc1893771213b655d3f031c95f554aba84355ab8bdef78a284e5e369c51d1d44282549586e3f3ba76745b7108284ade6ee648cf1d40b2147d854fe51399aa493959d8ca089e998ce4bf845d8835c5ed4d8a8312741222c3e1a37c95e9938ea1bc296ab9f32892595944242d8c4d32d3167d89c346a0c0e8000e163aa1012844d674f8a339e39653ee3479002e2ff231011e120ec2222958510209cf3593a51132f56e547e08211002c018c5f6c4a2cc1f32bee291921830c1e693532c8b8c0ffe8911e032222406cd0a3878e3480e18b45c8a877129ba7fb6244700c01462ff6b47b15b7ea752525d900bd8e0c8888888888888cd800bd0e940584478f1d408a23c0e0c5a2b62493b5fcd2a05d6ce2b3443d46876d8c2eb6a0314c84aeacf558cac59ab637ad2e7e122d55010c5cbc16ca2a58d22be1dd2215fd4bd0d14933460872d8001d5b6c2afc73cab1991dc0a8855932ca49f13e790283169b145a35724796e0410ec26ecad059ec9749ef4916d7321ffc6305b2d874548926e95ab4b44d2cb69c52ecb94c969bab440b60c0629343c84a4a4d10b3905fb1a7bef5e46152f54c5216c070c5e2f1d45e49920ef2a96fc5de21bf4427c966c51634c7b88f293be455ecb14cf36b74c692ec54c5b6b725472df3249af8c1546ca363760e2136c9e9c430cf0003159b209366be9ca4e952d52956f58be1f40865351aa4831e181011f1d78131c51e6c2b980a166c7426c152ac3178ce55d1d44bfa4e8a4d1eed944266fc94a0d381850211911f0f4444c458018c51ec21cf44f7534c5292bb28568fc94cda8d6bd7790ec5a6d26c294155b49c2982629355613fed79129392d12780f18965cb2c54a6eff829eae3c013db459b0be7c983dca7139bb4df15d58c3989b82001062736599f24399ca4349498741a01c626b64d716a7ff3e6ea97230339728c11821c990c020c4d6c69d1a4f00e5626f69cae2b2b6a5e9371b4063030b1aff5d925693e97d8a4b455bfe9d74ec9211ac0b0c4269e49100dd55fab982306302ab1c6b8cff102189458d6d3b74a299d31c8da9218803189ed6227714b66897f5a0109c2834d0560486293b61be35e384b15a33a30974eb1ecc698a39a3c0b27099962b192745f67920ba6d2a558835c98fe58cadf64926291b54d1522f4e249d528365142344bd27b5a673951a02ba93a2597ccd4313b6a8462ad93ba92969c92a0c3048a4d84926454bc8a23ae9153861a9f58460525489165d1aba4a98627d6a093fcd024b5cc828098e123d9353ab15aeeca9b824ceb9874466a70624d331d94243e0b6a6c628b8b173a568a27ada789bda4184fa8184c5c8abd0e2c2cd4c8c4a233789698829e8cad746099a15aa8810963abd6d7d3fe4333f06434e3e0c703b132d4b8c49eda51f356c506f9274bec19c44f54a82ec9a2a9129bc7926154e3e79a315162dfa0354265f4f418a6496cb13fa528af5f125b1c9551d2e7986cf31e894d4ebda684ba68a67a87c43e1b3fdcc6faca13e38f58642593aa41a54fa1478ed8c4639ee01b83f8df512316d949d00b4ace9917478c5855449a577fb00a22b48835a7ca5f3a4b50115b0ad6ddf972c7dfb513b18d0ed697af3b7e888c884d90adf8ca57e289860fb19c7a2e9365a6aa2936c4ead1ee3489b110ab66e8c65362a344a784d87208a5a4a42a9a8add20b60f4a3a15b3245f0a623dc17475e84e20f6ca7f1a63da12107b8c8ccac1ce4c1225f987d54789a7b952f4c39a33ca5a6a49b29412fbb05f525fa9f923ae73900f6bbef2b15c197fdbdf1e36ef98614ba7b91142a787ad475f1a9dba9992d8e5610da7339674561a2a7ff0b05d9870e252499ff2e8dc61d373499d49928aadf0d861113b3a7792662fefc9a9c3266c38b1742af94ed00e1df6a06a5f6934874558f491dadd296796c396abf6f4e72899718bc3a6d35230e199b56a1938ecbfdb352a999c27a9bd610bb67e923c9641c7c90d5b9d878f5a66d28cb761b9cc3fbf50aae388d8b0e79861941cc304d5dd1ab6d5bc214f97a7de460d8b5c331d1f3d9ab89592861a6858fb667345134aca9ce46a9c61f35099d3ad6528a861864da892e973081d93da980e2c2cc3d62949f22771b234c9660001b2e3788e51830ceba59c9a43c585f0dc05e1b1a38c316c677bead2ed8971d612c372494c63e143d481c5e38719ad61584bfedf2d39b739233c185981420d306c263a5d92467ca84a1b1d58f94138881922b81a5f30dcfde6539a4ba7bd60f00a9313269e20fb2471438d2eec513de797a74946ef0882de07101e1e10111111492a0055a8c1854554d23fdbacb4a6770ad4d8c25f692f3f9fcc79bf721e2928f583c9308306ff0353263da8a1851a59d8abe39ca0e43c96765239d4c0c29a8398a8b9494d5c9b756079e9156a58618df5bba7f9bddd411af0186807196d46095020229281114b728c11821c3d82f838e347064444444492421f40b0461536f5ab7e714996aad59451444444447e0401922370c1881935a8b0851e2f696121cee71c6370c0c9d861468d29ac1ff73be97a92e2941010296ce14ec6f849437a575407960f2e63c4793c6e8d282c1a2d653ecbfca8f193811a50587b7d469ce8b30e2c1e3d6ad03d9e90c53f8b57428c450b8f1d2336f8f78135a8e1844d893b278911d361733e83071f096a34610f9ad359e8dcedb83d51410d26ac2785e549151762f377465063099bda5e13d36523cfcb1f3d78d0608712960ff92d2549cb4e9743031e3dc84813d448c21a43e81d95463456d74858bba4ea2a132ac63fb314d438c226e92e4d7229a5ac3f698435554e594eb11591a21173c988a04611f6d2214c2839974c843dac5ea72a53629950a203ebc71b086a0c6133b98dfe258d3ab0528f1ff9d14308ebc9dcf02f71376d9a74602521a81184cdffe753844e272f3c467830025255f6811a40d8a3ed5e79290bc80e1c1c203fb8043681307ee1ef26cd27454f21647810862ff6954f7f72785e07d6889fe035604619393670821c4918bdd8a40e3567aa92901b6f1d58ef56c2e0c51a36dac5f34bd1e46852218c5d6c1e9449c964a386963a73c02738d305aa62192b55334c929264c9f324c9d6331e0418d0c017c2c8c59e6230e99365752715c7c57ac9c77fbe94a9cad02d96d1bf2594edc6b31c5bec276e964ea5835e89a9c5a6a4563c492c896131a6c5be1764aa8791d9497566b128f193e84dcb91c5fa319f8a51d47e4aaa884810204f831d3e02178cf4208c586ca647433d94922061c062b92c39689055214be308248c576cc193781fa704ff744aae583ba96787ed3ed1636ac5de3dfbd143decdc6122bd6249dd87ff6319cb4d22ab6fe4d3aa5bd24556c2779952ef1a48f717f2a16919be43c9dd01f938f8a3d6e92d64a7edcdae74fb1c550b51ae4587526dd14fb79f890319a5029b6103126c8aa33151a448af5678476907237328f62eb248ee6541b19e4d9a2d86f4ba97ed0e9506c166cee4be59049731a147b96a83b3ac912ca47fec4eaf1e45d09b27a625349c6b351ff9333d44eacb92ca8c586f4317d72628bf721b6a76754a67313dbeaa6d8a5c9878ca226164b31ee2a8f8a5f4a30139be97ccef93a98492588892d8519254bdebc8afa5d6239490a6a3f84d9c9f52cb1efe5df24c60f9f3ee52ab1a74c51f389bbcd1b1d4aec19a69d692cfda4f04c62cd8a5bfffd239e6447128bbe1c634ac9c44462514af9c7d3a939c96620b1c8a8d7412efc29299a3c62eb584fef19f11165e288458ed8c50c59d28855be945acc29f9c749c28845d4e245b9b4ded2db22f6a4a44aa784341326c814b1f6294b3ac9352929a144ec9da3c9523a9c9cf746c45aea821246c4fe825c8738af651c391d34c47a175449629c245c5955884557a633d39d828c71426c7e62e9aff5dd54560963109ba429c9692d6bbf72480716196cc60dfee418830317d01186204ae4c308c4e29f64c83aed14e3d7805884d0bedccbfc29f719c61ff6a0cc9410f91347c61e23470672a420470672a8e0f861dd3c7f827ee88ab2fbb07fbaf88fcffdded3f9b099ff8f124265dc29e13d6c7dd15298eaa0f4d7c37e665277a3ac795857548ad0a7291e36dffe2826a6162e887758ab4f544c2bc2520cd9619384d310e2938adec9a40edbe86a8a4950c193a68c0edbe63da583e9749fd39ac3626a5dea27ae65149516842187bd53de4fa3a4b3d3cec761dd94a7475ef28b13e37038e88f307992cd6f58aca4d9c9bc1b4506a91b1659559f3b7c8ad13fd9863da6ba13d5e493309e64c35ac982a75632dd9a710dc79e3931e899a01ad6d2b972cafe2d4ba7346cc2c927a9c8c786f22468583f2e89ce491e3a7fec0c5bfc4ef3a744e79e6d864dda984a06d951b9c642411865586e74b21fb5b11eceb2a355046190613d6562905152be98927e0c9bdc0bd949ffc8de786258b4425cee8c953fe609c3f623459e491ec73c6c605866b577663c99a6b2f20b9b924125b539de85b5b4175695cf98c46482c979c72eec49ed82bcdff819b56236100617d678a377d7be94e9f06f61b594e6338a926b618f7eb3499a4b3b4ae759d8e368504256aab1b066a5f0545b9b9d54bdc2a6c4f815db3cadb028b129c653c9a59478aab065b23155f1e44c163754d8b2c3788eeea6b04972fcfadb247a4395dc29230c291c73cc9454351d583eca4055278c2824fa67103344c06303270c28244f2891309c606134a144921a84c184cdc3ada61cb635dbffc01f2478b4830c145cc08cc00523260863099beced9461a34709cb9dc8b08d8d5e5a41c6036124610b8d3fe26952be460909eb9612f3f7da674e427f84f54f4797a9c9d524e58db005fd203b33370621f622ac194db8cbca41466d4484ed2ee84d523813553e14c610f6dd4d9e2f7dce12b20e43087b082dbd2567d3e59fc308c2e2d1639ca84c3126e53080b0499692f4a5264953557fb1474f277a49dfc9f48ebed83f49b9c41b99712373bdd84fe475d4b492fe4a8e17abec8dec7ef88a5133bbd8f72b88a5dd94c2e9135d6ce9fb49099f5337f424176bc8984ab85ef58c76493470b1260f1ae354b4db93d62d36916561362511579bb4c51e224ace2c9d22a46a6ab168fa7c529997fc34162d56b1a0842b71be04952c3466b19ed041078f23e3d85868c86213f3049994bc62625a0a8d586c7aa9828c5f3164c852079efad123043460b1a613eff4a5927a23270668bc628fc943f3a4206f377568b8624b65b91be6bd3194b0157bde5042dac929c8981b2bb6242ce94a693dd4e765159b144bdf894f9aa7aea38a4dcde249aa7392542c4a8dca2f1d1d2a7507157b3eedd968929c026015344eb12715f52b957f9d7c494cb185085352a50a96c25499ba2e6ece9062f9989d9264d7d124a68e1793d86db19af829931232fff6e9b5584365521fe69f219ed362cbedca9d397e77a26816abf829a14bff878953cb623d8b2999e7649a2453c76213353dc995ca820aea86c5eaf167ec36c85cc78dfe950f3266b976c5b2d7694c93f0ebf0712b16a963b3a762cae01d66c59e3609a39b73a78e125ec5ba29634e8f6951c5a62e67fce827fdeb6b2a9693ba2a281d46378514156b9f90ba974fb8be4d4fb1061d7b42a628f5b19f29b6f2cd49b8a44bca11af14db7d899bdfa9535dee48b12839796a89277c9292cc28b654eacae40ff717b611c5e6b99258a61c8a4564aabc95b7e74e40b1f75a7928e174e6659f58375c973c4ad0992a25f1c4a24b254175e3ec28bb137baae5109ae5255ac289ad5273d2392edbc4268ceedf9ca489ed4e679f8de558975499583e597fe8bd3a51ffc2c4da1b3b3e97f23a49b82eb1c724e6b3d2dd127bc7dc7efd48132b5d893d7cef2975721a0b2b25b6ffada4ce7293d8a40997739229501043128b6cfde72ba1c48f712416d3cc613f9fd46c0889c7ac4ae64e27e911db77ca4967e9ee883d66eeae934a388bdd3762b12ea1939e2084c8d8336259fbd3d1a744958d7d11abaa2949fc512a62bf4a1161d2e5fc9ff344acf52593d28d5b1de308119ba88e61253bafce73887def6468fe67cd5dda10eb9c38294ee5facfb410db9709737d49ce1b4d426c25fa8767af6a9f3788e534a82dcd0d0b620f5b32aca5200dc41ad3e550ab21639da980d84f451f933426a9f6c43fac625ea9d5c974697c7ed8748cbe7c564a50915e1f964b396d4c49eefe4a393e6c39550c33d3ff1df6d9c31a2c4e2939461db997a3877d2f79a7da6cf2b0a77092144e92838e17c2c37ec2285937f79752f00e6b124cf7aed959a7546287fd932074bd92cad55e872d8ffad469c5934a65d1618d69e33129d5d1ff9fc39e2fc35f4c5af1b3ca613dc93b83e9300eeb7dcea5e2975809ba02872de64a073351c44a4e79c316c449f208597944a7ea864d4c7be9a34a468c362c1e465e897a505f91186c583f9495a03ec5a9dcd9657c19e80431d6b0a7bd2437fee4ecec921af693c44f0c153fc51cf7342cbf415e881a5982d020342cba422bc82f294326f5195653ebd528a716640e9a611da539c971359fefe8f010a30cfb0819c49424890cfc6d785a5e3a86f52aa80dd355276a27c5b08925e9e81d838a5566c2200618f6badcc1444bc2ce8f922face1c4509ad32f3ff6450c2f6c1f6c2d75a7bc0bcb8585dfd7f6e60aba2288c1852ddd9d8966225f82566388b1853507cb1dff51b1f04b44e4c4d0c26227a9cf8a399f854d2929834c32975431552cec9f4173953ca1613257d8c44d951bb474b0a89d153649c952d91d436654614bb9f269beac8b13b20e2c1af0d8210615f29c7288ba0c26418c29ec41ec292bcf5355fa4b611db9bcbe17a4c7e81e85ed829272d21c84505874ac9cc4cf522f8ff78435edc5f49ff918371f272c27aae72f076527c7264613b858c1f37757cd9c84a0a62006135693fc94a0492739563e2d614b0b9eae4ae4a5ce2525ec67a2aa95f8d8ab9f94847536092293ce1212169379ca378f0725a2236cdf7f713e99f886f58db0fd8aa7e952bf597f11f692539abf4155927322aca7aa4b7c3c458468086bc8bb5c92e87131a75d08cb8a95797f3a086b496952afa2480c206c5fa95229b12a3165e8178b4cd1aea4caf482a87db1968edd85350de224bb17ebf95f9992bfe6c53ea276fab4d73a4e78176b66d67e96184ac70aeb620ff2d4a6749274bd7d2ed65ca94f4c52575cacb29a73932af91875bdc596d3b644d349c30619b5c5965365a91c255c8c8ad662ebd490313f9db4d8736698337517b4a4398bb54454aedb0a634a4eca628d1f3f2fea9d7cd184b1d853523a6cb41c84c51eca4fa99825e583127cc522ff7532a91f7db39f2b1699bb309b44c762bf566c223c2bf6dca6d0d0b162afce19f5447aabd8c2bc4ef4d94aaad253c5ba6592c84d512373e5a462519d94094d9672e11b54ecdf57b6b6654184da9c620f3f192ac70df249d89862f1d449f293c49852ac49927208db8b0f3288148b32fb4c9e944c6726c928b670c94ac930b1646c8928164fb93e9b1f329d782816b513327cde068afd6279650e7a5412a77d620ba6ea2753c73cb1c59c3e6790cbba30eac4b6399e12cb5309793527f6f8ddd5795de75b6e62f91c3f85add3273b2c4d6c67a975417ed68a2713aba7888e8e317449931c98f2e1837fac404404f1384331b149d23b5da94e521c35b9c466327f2649ce4953c98b25f093532a88c9e94e52fed819362ab1f8e807253cd5aa788af1800d4a6c9b639ed679344636f80732c2e37504193118d898c45576972ee383ec18c901ff28c386241aab2b911683dc98e4de462436133d26c14aeeda6c9683e7610589b5443ea7e574d281233f7a8ce4807f9cba0fd878847bb9eccc327c3255db70c4badfd595c289d1a0f9466c92fcbc347aa4ec489d116b9a071946af45518f2e624bc2cc06a1c49d92aa57c46ad5292a2831d3428589d846772ed79e9c43fc06119bffd757e79cd8b82787d83ff52851d14b1afb550756d5a3a08c1e4178b08e121862d398467ca87cde24efd1a30f09360ab1876e9d38779a93b41f1d589698718e6083109ba92427268f3ccdb1e9c01cd818c47e5962f218b7a29f10ebc03ae36d6067bc0d121f2c02416c56694bd3ea6e73336e2310eb6d1cfdb17b3402178cbcc0062056dfd039792b8dcf9efc61fd395146ac8cc7f0931fd6df14a3ec92d987adc2e79c20fabb2b99f8b09574622e994f32f97fdec3a2ea36c493ee7ad8c4bc25252f255387abf2b079c71525fd9c4ab1433cac9be7a17ebca45c297a873d36d63ff65e25933676d8d6e6739269b5c9cf63a30ea5d9850e91490ce9ebc01a01c23a4e44e41d0063b04187ade41f9983de3c0b994407d65b0101f2085de0068f027db7f71f0fe48cc0052369630edbe89ccf4baec6c927d781728843da80c332e22ca68c49c8b514d681233f82f828f54138488f1f776cbc610ba354d2953188bd4e72c39ae9636d4e13e379fcdbb0560c7192f274274a7e366c354a060bb292d874fe1a1631375e327649dcf76ad8332ca89abb52f5ebd3b089612ae42979825cebd150eaf0a3332c22d3888ff02e519366d832072fc1643449fba032ac276b7c2b09b1b40b9161ff9c49581ca1634915348655346cce18f45a927b8b61b93c1645e512fb62dc6158ff3c6f3ef1c23784c0b0c5f2ea2032f485c594ca70d295262985bdb0676507ffbdb38fbbb08613eaf1640c17b60af3a49b33ddc22aa34a500b5b34f9c3bf4a97853d6ecc7426b7f7f43c58582b735e2619638e2e3957584e0c9729091f36d772acb026b95e3243af5d8d4c1596df1a4f4b820c15d6a0319a12b7d396f26c0a6b0afae4b2d54b55bfa4b008a13a2729078da3738a8d28183bc89262b31da210d880c27ea13cf4a3a589b14acee015f4c8c118c6c6131243648ec167a4a84e587dd5cca47ad0a9bc7442b0d1842dfd8e3a61e3aa6b3c3ab082fcd120d860c2a2254fc797b05a17363ab044448e8d256c41ccee24b0a184cd4fc5ef9d856752271b4948507725ccc40f21bc44c2a29795bb335b29a6a01f17b8423cce00622a60e3086550716bc3695a49d281a582aa1f417cc4c18611d60d21446b2b89596631b051844d8941ff3694a93d75eac0d20d9c208788c8106c10a14412336c0ca1447060430827b011847dadf77fe3956c00614d493c5113943a9944ff17abcf8f0e4a8f505d26ee8be5d6f6c433b526f48d7ab1e5b2f14b72adbcd8947072259933bbd84e743c296dfb4b2bd5c576173dcad7af9a90672e168dda9bcea4bfeb28e262cd249a939ced5352fa6eb1c88d133d49e8d86215eff4c9cf33b5d8a2cedf668c675623a3c5224d4ae275129ac526cfaa5c0eb54af929592ca625e6931caf118b4dea92bb96044dbfd480c59e79795b39a987ada48f11e7c1233ef8758cf40832c26307ff70331d40ccf061728cc1811c173883c78e31aef0157bf20a6b29fca895478f1d41766820b107d2c34719652370c1c80b6ab862f9107f49f57767d2ab159bee3349eecbbbcbf62dd460c57e6a63e2d424cba404b55063156bcc13d49c7ce24f4b8369a8a18ab54c1c4b4249a6546c62ed49625e92fa534168a8818a657db73a2829bbfa4958f386121a6dab93782361931b6336a344891b3cc23e6341c9cfd9fcf8293ab0b2080230c2ea234e2eb1c34425792fc29e4e499252f649e658951f410044d84eaa6876142535f63c84644e727cc87e29844556ed73cae674820683b0ad48b99cd13a01006113166c4c454b76f24e7eb1e9dfce3c23b325c8cc17ab26318565928bd9d49f81a31796246cba8c213b1ce0e0c51e937833b726878f3ced62f57c224efa28caf4f6ba584dacc7a5531754ca3e179bac7f4a62ca71a6e4205c6ca56b256cd8afdf4edf622f156a2d4ef239e9d2b6d84e5f55da26d312a3aec5f25929550ef3cd94645a2c32065d4d0b7d29553c8b3dfecfe2974e65b17fe618bc94124efe9cb1d8ebe42dcb7431748c4158ac29069592e6349363fe8a45c9f4512a9fa44f87cf155b9e06b5a6930c6bcad38a359860597355414433ac584654594c4a2859c51e2766ca098f2ad6a4828933b13fe7dc582ab68c9f329b46c556715be9bf49a7684b778a53964fa6584c984d62da68a74fa9148b8ebba441dde98a967250e08345e0031ca458746dbba4da20a2d449442419c5266a2c512fcbcaa3e8207a15243fc0218acd73b0558f66c94ca9154728364993f21f4fe28710db8e206498518688480204072896bb28a3a41c7408a1e49fd8b304a9f1f29eead5b827d61466a133c998ab9a4e6c52681095261f4c29419c5853ac93c7fa106316dac4362a2de9b1e441a6dd9a5856ed4bcaa1d29958f7a29e6856506975c5c4561b4a321fff127b5a0ccb0df979178496582f6c289554daa94eaf129be7887c5c8d4e167328b18f9e28a13f62d6729358f404e5277a6524b187add9d52623b15dff8e10fa34dd6920b1fc656fe513b583c99247ec2784f24acf6183a51db18511a684758ef9dc582356534973ec3225868a18b10793573e99387669d622f6ff98252d5a34b14c8ad83ea475a5af3061a28223117b779e1813a95fa9151c88d84e8aa97a74de51f9520c8e4394880d7018c20ab19895687ee276369d4588f543ff5cce11d5579206b1e909a9b39d548acf48108b4af395aa23c4a7a00ec4626a96323ca4e7b118107b4cf7d1635328f1f37fd83695c85372a57ed8c7733c9961ca3e6c829071f52b7adfefc9876d9414f65fb1dbc36a72e820642d0859d9d1c35e929ccfa4d93031a74d1ef6b219d5a7214cac74e161ed2e31fdc6b393e4d21d3625367892939420c4c27648924c2795ba744fe94c1dd6a4b93df72793305642031c74d82a7e5a88ee93c7543987bb6cd4e6be93cac221872dc798f0bc1354ae78e2b068caa8202d5c09426d7058378da998deda0895f4864d50d1c3070be36194b81b364b627cac2f416d58b5f74c63c74637de6cd8cb92497145dfedefbc8645462b5926790ca7a754c39acf921c3368758df2a4614f56825a2955f74954470638d0b0998949edcbf29ce6e80c8bfcdecffd0ad312a438cc50228ca30c2512031c6458c47f53d837c67b1e205d708c61394907b18d172c5cf962d82b6a97b4a563c2b08f8ee7276808cbb01b1856d17b9a7446acde5f38be502238bcb08931f2d3fa28d9b7f3f8203a78dc008e2e987c45c6b534d2e37d37c0c185455373540c8dbbed7e0b9b549747ac8927e51369290be0d0c226be79d57bb2f1b58fa80b706461118f79ba4b122dcf9a58d872fa77ad8568549159018e2bec392de5aa959215b6109617940e3ac58355d8f2ed49593a7ae84982a8b085d25dc962c5fe2ff51436d99e4d621233342e2c8535a92929a8df241c51d854ae2babeaf09f6f28ac96d23635093a8e272c3bba4a529b52b374c4e184ada44b93931254caf1431c4dd8323de90a3b199f2ec6844dd099f7e419eb13a308c7128c7ec16ad5e284d8158712f23431eb57bb933a7f8023098afe3c9a63349d9c8ee4e04082a242cfd8fc69b8f3e0e08eb0d5a89347fb648eff9c441f388c502266e028c21a44dde9d91c2f7aece8c083830825628650223bc02184edc2ed9f5e27399adcc80347104a247100e1dcf845899c13dcf0c5d69d9427e9aa2b49739a5eeca5922083971ab19f3cc90d5e6ceb61fcc3848c1b6bdbc5a29b948a124cdc8e96d4c56262bff7e73e74fe3c172562851bb858635e915f829e5b93211d68ca2d96fb2f953e4ca69d91db62fbf153d2c9dc9bbed4b5d83bd49599a027d7eaa6c59ab3e48caa3a619a4467b19a586b7a3e4c7e6d2a8b65335eea492cf6b84969d4b10c173ac2625131e57a9f9d52173daf58c6527d7346c8d19c2bf6f049cd36a7ad8916d38a2d2b0969f2f64a0a5263c5264d7d568e25be8af554374c09264faaff55b17acd9f9c63fc7b4ca95867fc442dcdd5bf2154ec49fcf4294e123fc5fab5e579a19729b65cba73faca7429f6d03fa93e36e520c487149bc7fe7c9b1d6229338a4d283198a44bd051333f51ec9d6bc76be53fc84b86628bbfb934d593da13e4a0d8445e9ef3abf85992e713db5c77c677b4d39a3db1ec0925a97797c8a83bb17c7990318765fa103627b6b5dc49abae43b43c09d2af4ce42ca689d59309baff61e7d39eecf81184c76310203b42a014b8918975d4a8d8144d7503135be9abb9306a93207eddb8c426945e8b29edf2a93fddb0c42678977ca9fb5091a71b95b01b9458fcbec3c2a4e8da93440f3726b16f471321a45ecac54db9c30d492cbafa2bf7943c53e379c18d482c7be2793c954c14919f0eac91337e042995980c6e40620fa7d4e6c5493e62cbcf982cde89bdda1db1688a68589c38162eda88ede2a3792849c988e544e9d5b1a445ac9aa424ed52eee07f728a5894ca19eca22669319f884dfdaa44c5206d6d7410b1fec5a0259f4a926ffc105bf4fd1d19e7a7926c0cb149323ae74cf725c6cf0a7194357df329598458731226a992c2472fbb0c629394c694534edd1918b82188cdd32af67c92a3c6fd03b177951c976964947402c49a62e838bae949b2afffb0c68c09e9493eb113f5c3eaa10499f433d73a59fab0892922c4a692253225dde08357323b4ad2740f9b9236cc2633ad93a4a7877545fc876fa5f2b0a6f0d50ef3214f94f0b0eea84b2bbf4177d8938ebb25c4f8577dc90eab9f7f8c9393cc9f835f872d3b9d50b16ffc4c83e8b08cdfca89132957929239acf9a3ed7f2cd38fb12a27c891811cc504394a10821c78b5851b72d87a3cdeaf7a8f7d4cc761ed78c27799104a3e85e0b0fff89c8a903fb93de61b36a184129da4248990c9240140176eb861cb0f7ad144452edc68c396a43d1d4edc7ff4685ac30d3614ede44b90a62968d6b02995b483eac99cccbc083090a30421c85189b8a1866df6629071a79e67aa1b6958c489de39998e9fccc10d346ce94bc8abda68f6d7e18d33dc30c33a2af82961d19202337a9c2047067200791af88e1f1858dfc13e78a440041037cab06e1ea13635e555aabc176e9061d5fededad3e118fe143d555f5015adc20d31ecff2164d6f6a612930a37c2b0a8c74a66f79be32ac8cc186e80619d514294dc9f92c28862b8f1854568da4e1b939017f64de5a574d8fc977feec27226be9254259956d27161d1fd5041c74b3f779d2deca12ce558cc2b3a58460bebca5d0839a7c47ce146161625f585a80db6e7496cf80616d68f1fa4eff5c9dc1b9be0c615d674aa47dce78e7b32d2c3931bdcb0c2a2640ee3c1fc1e5e3d6e54614d39adec2a4e545873fef27f559dc2ea71a399c7f9cead6f48611197a2accaf5ca8c1a85d5cf632cb92778030afbce89d9e7a13c8f756e3c61d5db946b61c416871b4e58ee9318636ba296b8e38d266cd29d92f3326ee84de30a6e3061d95e4b614c57dc4c263796b0261dd385b82d2d7043098b501142888a2928b1049d11dc48023244a86ec7e8c01a29a5945239c608418e0ce410112958a6b88184bdf33289907f4a9c58b971842d5eac18b6949c41864f07168f1dce63c7064444acea0d378cb0e59f9324f1254dfe9d980e5e4711f6d45116bca4249d9c3e11d6dd1c7387ec86ac8cdd18c272524ef26aca68223da56e08618fe261a7732cf12c6627c88d20645b72e7132dab74af036be4c7f3e0b1c3548e313870967003087b503a7fb66af62bab5fac493e772c535daa739f82204cc6064444787c90204c4612c317c6aa2a4b9e15639949494c2f56d13179ff2853924931fcc38c440d62f062d3794f1a111355479776b1091737cfbf3ed52c49175b494afe2a699d79fbe762dfafec90f164e9947e5c2c9ee4cee6d2fd166bbaf41f078b81a8c40da642a26020108983c150280c081471a604831400001010160fc702a16038ce245a1f1400034f342a40262c1e2a1c140c0e160e8c83814020140885018140200c0a8402c130415c0c078a3d17cb0ac6560662b2956cf366594cd890a7a5785f91aa2db8432be5b259c70f72aa37ac99243b40d2d77619ec6088e05d0b6b5ce5d622ba0f5513e00358d239534dff7358534d24a1e4145047a70df6232ca48035d44f21f55859b9a48333b6eb1d937a4e9476569ed62168a6ebb5db01738ccf2d80dd29e18f921d9550d74cc480b1b6aa79fe0ec3e0f066b17dcc8965c660980b46c19663a013532cd23ec68791603564b2861d7b63709411488808d28bc50a64a065b648fbf819a14d82ab5afa8dd0c7cda149ace0646d7f4865c16a8449a2b74dc6c737f275987b917b3f9ad3aaaad42db8179613fcfcdd6384d1a899b036437593cb172a737f9073eb94869d25b3e8d20ed03904b50997585b21f24d9e31a49d5b666917ea3500bd867268b2102b0b2ca0c3c69fc24b25258cf219616d08938321735c86ec5b30295693318e3f02612a468d1ccfc373932def4d1b85d95fb08617cfe46627f1d866eb726532b53c32397dd61964346df675feb230cebab30888e7efae31022fe68fb8061833d6a7d6e4ac918ffa7ed3d01c7c081eb35d53b372f00abcb73f086056a1f0e2b24516d3e5933609e45691950902726825e57ed48787aa19d295a8f60eb661228834052761e7022b829794075195ef822eec2750e8075cf6539e3c584b6c6fa03745a3363b120e6da056420db94d9ca012aa3031ccac8adf23166a2112dd87ee61a7e34a45f8755c4abfe33ac3406360ea1af13ba3a402b40901dc81d87629932c59de234d980c7f8fa7c2561a93beb8ba8804bceab1003af0ffe57b4ae40d72260692c488c571735d5479d55cd2f79e5b99bccb1fe1c72dcf676301325d765a0479006e452d58c1662c2c4c2b943667b79919354d6d46e27fef9d2feab088aeee53120eb831ee842c71ad732ad7b3a050f8c4253724bbe1fd00722a447b87d87ae239fe6cdc639f5bf51232a6bc22aa1ba515609124ed01615f16a51dccadafd76b0ba85dbad79f72013be3152acef3781a0bd36affb57fe517661bf9a539f77450ac8283e6db2c5abcb42090089e29587f4312245a120a4acb2851da9682b3a3e14cfb7c6a92e7ca2b58f2346e9f7bf075078ab3e42eb291be8244ef259cbb454f7704dd69127d4aae5465fab32ed6c44a3abb75a5187d25e52d09e5bb8ee8ced94d20e76940c3899e833111b86cd65a270705d8abdb5a4c6af9f21955566be9a16941a8417962546d8c0153c5f10f5dc288a84b02801ed782f3c2fd37865a27edae5c70a421cff37c8125ac3d6231106b2ececd8ed2e6717e963f2760a197f0478fc6436400513bbb080ee504eb58c86624faf06a3d621c0bd6bcb2868e7a142b96ecfb85b429baceb4e7ed2e9d6d39e263777d64e18850c0bd05f2e32d6f9f4a1b7efbae89026e6877020313e84c2163d983571a511f699990350fd79b19098992d1f9170ce8828f65e85529e1a683d881505a5dfcaae85f1c0a329439019bfa77ff1b187325c7ea505f08617ba3606374a4eea1981bbf911d0a279f546577c181a0fcadd060401a754b4bfa4235b9747b3ca95c50c0603368a129b0309037f0861f197297f939c0552a12c71697515e55bf3b6a4072e48e762abd5bd88c335a484ba6aea048d63d5280f4dcd164a40346e631da2d5791708f8c7694b351413305dc8f607ec53d4c2258f402215085f888e1775bf566a15609778968636ec2e5ce1fd5816a6312951863669ba99b9797ce1e306a021cbfa1a703ccf336360bc5c214dc1447a610ad703d2e8c361d6eff075163563f65fa1c16c3aead8da368cd3040aefee20b4e5d129572b5e2602a1a158a4ae0b33683a39e6d362fe375f623f448a0922859af374c44d0c6041b8d3dc0225fffe0edf6afff506d9e1a1ee26df38cdc0dafe5d2d3b5339298468a13e48de15e4ffdd393e92623390eea0ba284974438ba06f5bf1f374528ba3f4109a182bf3305c019ba98fe3f5c8e5588454e176df7f3881d119d2bc0d3a6feef6e9cedd6ab007d41ddac145d97755ce571a59bcf287ca8345285e6803905b13ae2c984a704c50eff8e1e56c65a2ac8ec94be091b8700324ac0bac1859ed640ec279891189ecf428dbb0d7c1440cbaec1f3d94734c4c2388b0aecc9dd8676ce3c958e6ea8db87d322a1c2767b5727ee321c3e1319f56feba4334d9763275ad0d56ecc53313a14459aaba12ca66a05c3076d92820279f74e3246ea0080ec3d62fe8fbfc4e486100447697d6b3275a276ef87e3c82132c715874dce615a00d5afd7cf3bba368b399314d8dd1640beaefaa1713cdab4ee3d7903bc4c59b8e6572bc9a657200cbb37aaa82e2677078534a7f9b67f612cae3f52c22af47e4769d6b08f96441c8a8d8eec01ef59bb8d8ce3a3a764afcfa1f5ec7b5a54377c95cd06a7d04ce9f320316e3db4b9a4a185842077bbd59b4537e80b03351e7884ab77c7632b6d62356b4704363ad552a119244425ef0e91e6af54c45dbeb7fa62c698a121c4369578add421929ebd34809b76c7e252a72ae4df30df97f6e2a06ba79534101305fcf9f75594442118ee347bfacad783fb9513dfca241b6792896a68a0bf362c340d7cd6fa8628fc87c5415f4c81786da6751553a2cbe38b9e22a91c8b725a98dbb03ba026e389a61c2c5d689caecd1dffcd5f99f4dcbf626c8c55d0c58bad077441f242701d059d5718eda530cc2bbd5eedf922530e478a206575751bca27b2b2141bc0e15fef4a820291d5ed127af33e17733a8d6b49dc95398e5fc10c2baa50bf8f86cebcef4ba588d596ca1e532a2189b86ad805412aa297310610fe3b7bb685ae00903e32171b8ec007535c68d2f741bf0fa1256a63f27ffb311f40e1dfe47896baa5dfee67f9d0be874fe3937d5afffce0e8cd16b6aff807fe36c7bf893308c5f417fa7a9fd1dff693feb77fe95b997faf74f7e69307a0af81c80004fdd208e0ed012e07188d0dfffd53d619965706a8f06dfe96fb7fd33cfe52a680bd061c3dc065c32b24d81f804b7330a4f98c9c8ef02b004e2a2a193ef64cbc83d2e20284938707a0da441157be09ef0b5ac5781aefe00dfbdf0834d790c604117b387f4fb0a96f82f08bd03a848715c3e1392bde080edea569bc2a5ed403e0c93cf09ee6017a792328a0c761fe1fec2131a8ef870a7afee00e1f7a7810f991de26c003aede20a687e48dffaf4eccac712b47f27cccf39add4a5b45701e9a7bc37ac28f91388541f8ace78d246d206f8ccd00c68361c31030c372878e6913ee7023ffa2e55346f81eb49c335d24d64b14702277b4c47b81967c280c3132e6530e754035f3eca989af541830e442dcf67a7905ba2f92d6035a633c2c8eca10b7e9b1cfb71f213ed295a616cc215af309e59663fad1db666c63731c7191b7a8bf25b2d92d9925898af8392d6c7a6431cc551a55cd918d23253b5d2548760166c4ad4b9f2592719338a9574d6988542b2314d9e96749b5c58f6ac01e60d3b20ead3c4455781d4528f3036978db5a8f5b17f9f6b97052f2ae76578a651d32ea828c233996a45df21f5da45d429b6495ca4e62ce0d13e6920a7a1de37b662aeeaeef3b66dc924672184f7e80694b418b4c4cee5db6c5fc90fe93bc9aa42d9922f1b1f28396bfb229c83ae94f0e52a529c053becd2533932fb22b09c8b2a5a04d4881923e643b494e4a911c469a2af5090b122f212679524709123342fe730c91256d4bd952c9ddee3d2d679e769fa7a6c6656e9f0abfeb0d7c0c7899405adb0709950f696ab10de780f60f8093db9aa843a254f14ad02c64a02cfe167fcca8922cee78ac074ac6e225d2b26b1f13918ef39c227f3d8c86cdc6331334683886f18503b7069c05b80e7aa59177e8d9402301b5d3eaf2c2e44e85d9cac3f19ea8b02144877609a5a6dabe9f1f8ff98c4b1614629528bf805513115ad0c694970383778019215334ad6403b15316da435e9f124530c049065ba040514a54a5579a160750ff621144a6d84240b18435a82a279270f09ce38d005236b9dfc22865d05121c09d7a1b1cea927a85f3f36e18dcb414ab6e5ee36404cbfef2eaa2dee1adee8d611e8db895fe63016417c741a871e8bf7e50026eab1f34099badf0448f385720ccfaa9e8725b0627f3c230d7443603ef42ae0ca8061151e3910582b132533fce9cb263e7c19b46cb22b9b0cf4ada9c8a8e01f389c39410c334620cd60293ed3a9f15049113aeb6f8c1eded616dab993ee1c3af6f2d671ccbc9a7f483dca7b67f65ac569ff3a9cae1e0b28f414d332cbad22f390bab6b35bb4138c08741700a9fc050610558dc0d07c0c80d7f309453a81e4861720832e69491e283acc4547373720120c45cfa13de1ce44997d9b22190809718766920d5ba82eb80b63932c80b65e02a544290024345c91dd480f202f2049eda2edd39446f67b3331a717a2d24ec9aaccf0393cc35c921d609541848a397678e681c32a2817cc36d33de40a29c41e89b4ba18d8cb28f49f9906443240670b2416c89d5112b6a3a1f9377ef347de0c44b37659dc3d8d048bf177e784a77110449f360f22c68d151c9758bb2062214844f2538f8a761e971a864cf332bdf612f724e775079afbdca35d9c3aad79233b5ac40019e37c8b991c6b5cbaf4d2e60c34f1912d9877866813201dc8337f14fa576e755c61b5a70baa8474150ffbfaecbe1e441c9cdae224e6b61ca4730a9f3d354b8853f4cebfe5815ca48207fed0777de504a0bc9e41bf6888ac60af984694a51dbee2f06ffb9fcfc1a221607dea207244c112203de731f4ec4df03c7bcf6ef6d4e6a0256660aa7d04632b208bb14ad0b00e23525d65fcb952a8534db885e01aaddb697b849fdb2a48f6b2f194d10c38a7f721bd69ce18adde2d4d6eb70d2564900e52f4d624ecf2fff188e78da7b54892ae6a049864139c313819b4a916f4cec176c96428d9c43445e652c0b6a753e5af8db82f217dd0de492c59f85636184d20049a8bbd258f2b910fdbe7d9d769b3d3318497dae7792ea7825602ae4085d2f8f3d34c173f7996cf1ea2632a87ff8cc83ccee96510e5046a25c47e9118525d0f6aae2814307682a71c048b131439c5fa5b0a40f46fcb108c8802c53068f8883e1f0b0545252d28209427e29ac86388a1b6cc476d7bfea8411641d26c9276e8fd7d923df933281937c7d54cd3f59e05fef340d751efa22536b128bf6e37d1c2ca307a31e7bbadbf0978dc70a0225c902fd181607cae3d9cf96133207ab823a8837f51f5d94d8ed23a302002e681ba3ddfa10e67715b8aeaf67c982b863bb6fa4e03aa32fbe1e80aff01f82a4d3d8961336199a89706cf3ed1275489e5f683631de20256df4fd271bb2a27dcee683205077a0cb955f40ca586c4a5de050cb511e0e0c44897a34bc26467b5dc7550f97a15d49c9d37d90c2bbbe618c3f5b41fcb47c1dd46a8fb38bb89869abfe6884142b7e61177491ebcd476fd2afe4c875148e8b8d2289a499a3b4deff2d981d310690ab34dfca05ef4fb7811d17290c5803cb968b568679f2a1223139f8487103e88b76366206947600361e9b02c293bbfbc558313f68b4d545a3ddfd0e056ab28e783bb7f8b862cf5892db875812af467d329824a01a64f20640fa82fa5532deb129fda49fecc08721923145ca6ec30cb98311b256453cbc1b851b00fffe0fa9393849d7c9cd513a8df41044baea2821840338bdb9f8c303998414af69afd02b9fe67edacc030e50131bead7e975f0fea1de13511c0aad4980b9cff1a2389f67e7177eb0e44c4cfdb7f2d07bc8f03328a664be411b72f8237410620f17d1fcee9ffb594ddb618ee8bfa890c0720971533241a15e40a5cfb1092c090c5d711a8295c696d2698b179a7424da34da8ba4f6233646ff0243a1e1a7da8eb88b1bf1f2df468bb7f94b4aa8ba2e5d0717181d53bedc885340a7c1cbc08dba4d2dba35ac732cc5405396d1cd669423a592950c9d8db11e24e69c24c26d57e7920498c834fbf43c50849ec3e333382cad89dc4751a0a08dd561add23c7663ed4ccb552216f50c7438413db2aa46f70089b104ad25ba2b4bca4beb5d2d2d7ec9a520828529d7452b52c890f957601102c202348a3bae01ab98687e10dcfcefcb7e8db056f7715250bdc5f053607ce2c684d2c8ef4f71894e4198abe9f6f3d299a46f2849edea4b20c86d5c0adb989b08c6396556233505468add95d24cfa6a4a1aa9220bbabbd26d7b7a845ab35732b4c52d379fbf7f26a48a524342844e226584bf162d9de6df21331b5010bcb2ff799788c317e3a376ac88815b80255ef055cbcd651fcb592bfb883780bacd0984b74ebb903025620a101704194d64cce7c39d63a3dca5916969b3c961b146938a33aced9eaa68f411d0696eabd3c9c60f87eecb6e5d2be1e7029c23081336dfa404618437ef6285c7815743d6f6e6a3f12abddf313f22d124e7bbd33b712ce6f09ec3e32b9d4758cbda46da41de17a35f4050866f502d2ad0ded2361dba9396022fed3206b6dd2a0ed60047d8a96dd7c0afadeaba4b6b982f737ae4b91a59280c023326a367def8e0568477846b1a11d28d1467340a8841a6b35c8256b4a8188007b08167366092ccf7e001b003d5c0245030836bd0b13d2800c6822d611300b15cd562b5001f803401d047a479647ce01a9006808169200e5c03eb8035900638033600d005d7422056b900f3403080490536054a958700df401b205d20fd4020801d884181f71d03814401ee026ef1fa0f1210ef9c8d80180790fca3d9a560e0d407986632290058e9143c5dde65300c44362129918ba7c09d6eb55ac89b95e276f6f3295ca28a3116fbfe430606eeac87033acecfb0574d42ae6ec5a0517ccc72837dd583689ca08e6bdc172d452773b42e133114b1cd871a5548415a605a3c149530626125cf8e27868e64ad18dcd16a93acb5ad5fd4462ba510bc1a3969cca13e2e9cfef0c538fc898b311392f9509b7026c85063ff618bfef069816d31ece9e13bce9d33dda0da0f7cc7c950f086a4fd73dca96cff5465b293dbcba99d2d24434d6ec573f65142afaefad58b7c3a26f2af04fb8cd497b1e2d8b14b1de1d6f4c262d9768e26bbcc82c93a64b124ac18d78e8c6d94836ccb297a57a19ba2ad9d2ac868a83769999b821628b261829b9b3c61493a395fc4a3c432aaceb656680bf3a26114955326b4531335fc7a6102574e290335aa05340dfa642f06e3fd000d2b1a55e1fbfc14f19984d796c3913fdff00704d3fc1440f9a86ac5afd24a3d4f27e41c9ce7fab10e5d577a6bb952ad972b2521190099423888ab5b3720749937c8eb88a91e5aa25caf4d494e9e0094b053f28c2a233941fa1c1133fcc9ebb03c8257bdbe114aa6cb30d07eb66134d56af530652f58f1ede243f27882c125fd5ef1840da9717cf95094cc0cc06ed46143ba125147872828efae5e79c1606bb9129a79c7130a6ad8ea89c41364892311a58b27ec87af986eb7793ca7215f54ee3e28f5f57b63d507ceca00ff9bf46c28b3e653643453c402a45d0a634af495b5e1f5f2fa82072025cbfc3c02a29c3a76e62ee662fbde5a53e4ca7380745c4c925f0a5a9f00085c36bf8fc7c29022bd4a822381533151f3618366670b2e67d6e0ed144012d0296153560e70eeeccd0d7a59bda7490a979bb79248f70a5e7321693f9674e6d3ec4d7f899779453468ff903cd0cbefd9a589f4d415b2443061f3434197d0edacce049e77527f0e053d0a15ec55c0fcf6aaf8178708094f4f2a4de94f70dd1063e152e7d77057d6fa5529f72d5ee71054f50fe660392aa8b253a5a9264ca9fa9079aeae132a7eaa77aa31a9b2a9005155400427b7ca4b353cd57aa80afc6d046cfaa9c617951056b49b21fdd657cc24b3f33abf7f6a7322c7d05e885103d3ff9b67eed2867e44dd9340b6c2ceca2656c4ba9e5d7ee0219409b97764c033799410aa71a266182c23a3725049749d67166ee6a43aedc685cb4f63c02b084a679cd805b41ced89fb7179513dde1e60fdbcd5e2684111d0d9ab7f4308eeb7ddaf364d474e5e3866be62e0239a6879bb0532a2368caa32a2e4cd82c28a75093bc5b20e0e9bfc9c487244401ab811809bc9c7145d16916692414752eaddf16f954752c3e29e391f449ffb83a758a80eb46c6c004103f1bda1903e10944a1facdb309106476b1aa135809346bad6f0df54e73ff44e05072782d769ca6ef24e447e1c749fa8c42544a7a6b397f98d5481705f7b193c28e8782c555a10f3e551c11ea77d83a352227d9d37a53b21a29be237bd6b90e6a1812ff7347f26e5e941195c8d6701aeb4c1070a7e246273f7dc8f8e72be341e346e34f6ca47c9e1c611ea8c3aff3472ae892e57aebdc6b6c65a8d0f1a4d61a32402f409a6bf7e0bd19290d8a7c921a3d199b56b220f6847074d94ee77404f0831792cb9281befef01c21ea7724ff09aaf123d4ff8ea886a8d9915a5ebcdde410dbc681b28eb1747b9a23444a21b59e20d9777948d4a7a6c547bde7b771033bb560131e05d3f0d5d066907654cff6c011bb63759bc6588bad4123a6013f4612894011b128d2e577085474a0767ca65bedf14aa805bae9604977f92f6fbac1ad73198079067255df2ffeb5060d21d50b041522629ab29a0fa444cac7028928514904d655ec30d32ca4a63c1b1f637483cdc5a34838cc86644f033b8e0a87134f705cd52e23e4e26de418d9551ddb151c6598760a1b72f148309b01664d3a36ecae75f38065fca7f7b33194c39a0ec19b16d56cc60ba451acc64c5c7889c7b8c6cdc9e399450580505fad90a4981b21f4e36ee7813d6a753ee1f58627062a929cf075fb7e59515da27a486ec446fbb052ff21a6c6f70d33e8d0a3c44c2d4848099d406dffcea78a7f88b2b30b1ad016625d3fe2c53d86651033999a884ff2972bc50e515c480915f1c22e2dcda9f36436dac040412f6a52657cf0374a7950b971802f963216c07a87badc8e3318c4f70d76de535a86fd2b64e006848c659aa2b208b0ad1c4f55aeb10edcf318612c51ae8b0b684d00830827d45fc9ab78f83084d093d2d48f09b7116e265d034d10ee5948bf1109be64065e1d2dcff14d4e277aa0ce2329bff38a9f12bdcd0862fcb317349c3cbd77084aed3620040324092a9901b72b18bd62733337e29ccba30354dd4c3302bfae0268621da25475389cbfbd95a2a0bb8fdda9e131051bd95bd67d7b467472bc9bead9210e5343d01ac45a11e9a590b1ec0a89a30454950155759b184d9f40ace1e31c83497a172491937cdfc7cb61b024b61d205ac42eba0da1f819a513090eb471ca572a4ae305560482e9bc0f814d26013ae8dfdb357467bc3d054ca58eab4a6b3ec6fc48fa2eb3ae67d48f7c8c8583071a3d4246fb1cab9e5b5b059503c283d459e861f2070df04aceca383f9bcd5e782ee515d2d88910b3f7fb271dc1e61680584b2a3b4f3688df5563603983dc9db209b7e7f2f7cc28db76261f20ee87679a20fd03af9d07ec3291541c1f240be422c4b320f533dfaaeb1db083640a74866304ddfd9d4b425ad2683c24e120df8ad7cef76df10a65d0143e312e8e5d886fc3c8330bd04a41c9f573650e2ce2775aca73e3cdbe5dcca7a1c6c2235aadc4e5eeca14afe5296cdd682b079c073256ad63b8572c7178c09ba9857d28b8d2783b7842356b33db531de5e3bc7c622afbe6253628e3ea16623b0c706b27d39a6771205ba040cd4ea8d9c9c19645cbae17b62674360629effd932a19323430921a11a486ce3700f16d99a63fb933c7616a412280619066dfbfd3ed8ed8d57a733a36986d0f0d0cc5d3532407aa4e2a58decd01e3913015bbe4bf514437fc6e307c03b3ae608bbf09761eef53cf83472ea74dbec6e8da8538916e97e863c35f8460018ae8c0cde8546d92aee91987bfe1ae3cbf14be0b30c7ef1430007b59f10ea64c2e7a8ce4c4b6db69271893018d8152f306c43936227051db8bb989890584150d9dd36528e7073b1ee758dde0a20cfb69919cee69e7aa0299d33613c89d24991c163e15b841e5c25313c6800c679b24433ce8f264336ad5180af0a6d6d47a0201598623a9b51f5beacb60711099f0e9214bd7024929c21fd8f3476c4c6b3218f2752ba6ce16553da18e507172acca163071843f0e32a0d7f7219b423927c1463681565a5811184025db2930327403afda86e914b5fce0988f277d12fd03794b18acfa9db7cb60c0f1185c3265ce3ea58b33ea93450652567356a64051e60c3714d26a7c63ac2164ca5c76b431f0d68ca6781d7658e2502f7df1a54a296c6971d583305c8f4bef1c0e3a793f9966e1ebb8109cf8d7357b3082faf086c8eda351d99543cf5e31217d987357535055c6c7646382bbf8a0456a09b5d760bc139d183310fff555d8477fc662baacbe940de0cd5a40a7235872b457499279746637cd25b5d048701b27b7a1b618c4556d10854576457b432ebb279ed34f9374b17b3453d418201762ba652384af592b01230a4169700b7462250e5ad02809ed6061a119e707a4023936712bf88a4704f71d8298248940a857915e57a21da5e21065615045d227420c65216e093008f5a9f642984fa344315b618fc2e10cbe1ea843329f4def38fa03042a7129052e0acc028b82d0f147a776091898968ec49b332355a34606cfd2b075a87b229c8341449bab250f313f20d54ef94b31b32ce3f7bc775d621c49f4ae8c290ff8b430423bc98816e373d0023734d9ec944c4b6e199a09c221f6578535aa24d023c50105571e933cf9c45d27befb580aebc1a0fce693dbb521e6881e635c190797e07432a29dacceacecd16dc126d697501084824683e97659850b0c2bbe765e37c4347fa9a62c93e89bc195de4687d847e144b900cc436502bc0dc040e705bf650168bcf362b2a96eef40472bf07ea96bcda49bc1d415a805cbb8915c52e446ad44c70e580a31890999e698ae68d42259d82422b47a2f5da4bf50bde5e69a87c752e0331a87d52aeb0144e247345b29d40d893f49d6ced06dc1417ebe2782fe627cc780ce921f7868d425dbdca681bb533abe8cfa7c15f1a4e492451e1a2554b528a6ed01181bb870f650c36611bc1ddf648f061fc54ea4cf5a3961e02d30ab0534f89e500c59ffe4621597e9bbec741ba2015c74385b61e47e0c485e85774dd9a824234870a2b74c0ab20d835f4a70bd80b867e16e434b950782efe01e380493f77a0738438e81c305899cb7c074a7700b9d29e56a85b505ad08953fc981e45acf77c8d60c57c454a1c7e465b60e98ee1426785ddffe95d3a1899fe5756f3cfa78af95fd06cca1d8f01df7c3bcf376f39f66ce421715aa6461aa3151fd303052d2b084149fd222b1e3aad66d7ff3c9627f8c2281d404565b3894dd429a1ebb28342d2110158261dc5901bd5530ffeec6af50d4c8646e8aa0ad929489642c52e7a6acdc94c9fcb4c51cd2561f98d53396428dde8c2da41fccf625e4e2424adff9058f3ec10a5e0f84034fa5d5aace40fb6e078037ea49e1a47114a1d8b4e74c9bac2d5bf3fdc3c755bd0b1280cb8955252dd3f685e4adf16d0848bad1dd1c15fb5c409da5de00bf78c387319554802a2295cf5fa6df180e356fdd30fccea6fd40993878ea4cc517348580202ccf301aaad0b953560b25472ff0000000000000000802a3b96551642d07427c9891d27e51dce50b2654544241b7cba4e7c3a8b6b76614fa7834ff70c022109d2089709e8a747974526c167c9ce12953a5ae750124c6b0e1133e4ce891045820b124352ff3864cf16124c6a5d73bfa4e6221e8f602d4af09c9d2e5def76049f4d536efa1cf5a369041f6aa48a542223386f6d5111bfcf517b2c82bf7449824e8e5104571d8d45520f3baa282682f7eb70c7fa332fcf46041323b3dec7e341fb3b04d741849cd0cd5173b386e0c72d079ac314a363970ac1c7cc2de1211525494f082e441aaf105115c77383602544ca91ae5d82602db79eb9840761e912083e6448bfff506f3a8801820b95bb3b7c8d9bfabe3ff03756592f258de658f3031b4228f158e3b4c751da07de7360a326b1c307266b8897734a991daa650f6c34e9305bb3470f7cbc357fb3f2e481296b9b7abd1a0fbc777a14212f7307f67c427d7275edc0c7dc61a6d784dab34e1db8d4b5397333aadab97460df2772b4ccabc15e9c037f3152d6f3583970912bef2f490c41631607c6227f8a58522f15170e7c94f2ca2252ec72e56f606fbcfb27e8869ee471039fe30fabc3eb1c7e1c66dbc08567c47fcb61be3b910d8c47a2e1de7a9eafee35b029d57e8cd29aea1454031f42de1831674d3eb9a681d1cc61921c7969f0c042031f1e7fd7b3e3f4b4db19d81ac9bce81ac3621acdc0c5ca8e7294dd6a2ae494814db1beb57257dd8f830cdce96ec8fffc8f81c9516727fbb688814bf793d031479b42260c7c0c0f49334a02065e47a33ae43c7d9e3abec07afceb29b4b874985e2fb0ba592f543fe75b9d74811d4f15326bcf42f49c0b5c720d99c3dbb30f2ddf0227121aade3766cad490b9c77ec29bfd09cb22e0b8ce987e556fdaf513616988e943cfef05472e015f88f8376eaf45192949c15d8dcd44989aca71fa855e02bd734b867f78ebd4305deb2dfe78e1dc6b49b4c814b11d3c7d71ea9103f29f0d73f1ee5d039a2c04a45eb90736da7770f28f0deb95ed2a7dccb2e7902af93a9639afc3a8151c9d0aa94675de73781dfd2bd0ccd081929cb043e9f85bd7e4a97327a96c0879f392294640f7d2f4ae0dbb28574ce9d1c9969632ecbf60090c04ede949d23e5b82ca403380253379e39dd475959522b0cc0088cf6884b90a83c127245e05e33ff32e67da6d744e0722a92d5fe7e14fb0c81d1fe5cc13e56654d172130e93bca12fd3d7bc73982c0471263e420dd40e0cfb2a743a8f4e07fddd07ac2007ec0e58599e588b0bcacfb80dd3ce982495d8c18bf1ef0f19786e40ef3468f933ce0c52692bae4b903feeefb3f25110915d5012bfedd1e66a6964b2607dc64cd641d2f25edac70c06fe838f7ffe4d7d5fa065cd28ac93e8aba31a4d5067c84caadcdeb2872ea065003fed27987d6293266ad0c8006dcb4788c673bd13635b3e0fb37be6655fca4b19205d729a275e7141ea3a762c167ff67f6e41b167ce6dcce6fedd9724baf60526ecf1d223a5cc1c6acf5146a1e44428c5670fee19bdef9e6282f432bc46005bb655d2a1d93a71bcf2a981863bcec5d21aae0e37a1c51394a517354a682c9973a8b966d7ada202ab8e0abfb1eada7e38e9f826f17538b712f7ddb471b629882096e9226771843ec3cd9287c428c5230a29f6d62ff4addffa4e03fa48f2ab3e58e9d3c46c1a9d7fa4f8d04cd712d0adef3e61cefde698a8c8482af50c1a7d4838ed30b0a2ed2c5ec218534ebec6ad4b84fb011926489107d1f7d8d218627f850593cf4ebf34af977824917a11ddbe3274b0d2758fd58b5d9ab3b9ab99b603fc7eafc2a9a6052458e23d7a2c48e954c70c973c7af14d37bd70b861898603cdaec4d3987cc9d175e82d534b9e71542e45fdb851896e06ffccbd3b6a3cf985309b66e3fe6dd70170f714ab0baee1662ce60d1517412ece650994e429af67a92e0d2648c99efa7d37d22c19494c7a14ae79394d04182cd2aaedbe1d1428c47f0f9a72a86ba6ceeb97704134c73a41d69a59cdb3682adb7dc1b927b2bb02bc4600467653a163aaace4a1aaec0055f686011ac6d04d3f841a5c68e92218622b8b4b593d91b9ebc0fa3ff0bcf3fb658418c44c440041bb3767e8c7c1e04bd5c10c61627d8220c15c43804df639272d441b4eacf18218621f8d014e541c79fad5153000d4ca000be85175d68e05590822db8d8c08d30b6e8408d1a24e0628b3054d0c517458851085e328ae45062840e7a2704af1e6f2cdde8a1f404991063106c0cbd7993599f2945104c567e878ad1f7593c02c17864f7e5f1abe77800c168e675684a65bd70ffc07af7aa474d96e27fd40f6c560f3aace83dd5ec2d551262f481fbf083448e236288767d410788c1873ffc68356aab95fe0dadd52f1e8ccb187b6092e464c9217543abbfa1f5451860d838de8b76304a7df1601c0262e881fd2067c8952ae1391206148001c50531f2c0871d7f5b74a8dba1f278e03e7d1c3fd4a4dfc19ee89577ba21f26587eea3f823b1af3c7fa2885107c283b694fa62564fe20a2c061dd8bc1e8ea7a4f961ec498c3930f13e247bf8e9d28224073624bbc8627173b8138f43c2c1f20d8674e3d7fda21f4d19c47003177286ae67f1d1f439122b00021b1188d186aa4162b081e9e83befd3d33d2ab306de2f8e6707995603abfd99e9f3a55284641a98a4d19ad24369da58a2018c186760f44345f97bc51c343303aa113162a534eb36a95c618c32548d8b4106264fde8968dbdf3f568c31b0e961a1957f17035b394a2a2163b4d86a89110636957ea48d7f408d1ec400c3ead99f3778d817b89c3ff9e64fa7d86999218617d8782163d29cebcf45936e88d105f67232e98696a9210617982439ffde75460df17343ab468d44817ba00befc2bbc0c09fc08b2efe0217630b9cdb540e5d357e88a7c5d002e31b95f38804cf4a6ff14518b41500810d03c4c802d7a127cfb5fac1029b42a9aac5ef0fe6fe15f8b1ac69ab592572fc6105aec3a09d6dd34715f80bc97aa387c1acd6830a7c07696aafcefc253da6c05e529b9c72a555f67029f04194d8a4c9489f634d145811fdf216adf66431506073a81e76609979021b566a399e901d6bb49dc0a4e7683cccfebd18d24de0428ea3a4271de42887cd04fe937a9c14a242367797c0a5fcd158d04d51029fb1b2e648a13bbd4793c0554a9bc3f51c6c3f5291c06585f2ac25ea11b8a88e752a27888b4d8cc0f48759f55fa133464911989a7ef5643a9d2b2689c0761c3da7c761c51c650e81891c5f74fdc9b6d49f1018d7e46128ed54cff5058151f74a918e9f235d0f087c6a8afb1f7bea0f3df50326f65fce10a23e60fca39063b0dcf96c2c1404794a2956b79ec47c1c58bb8c5a15d2e5874781037ffad172c7fcb52df10d7c489546be50ff1ecd0dbc4669e9b0424a461bf88e2d3b52d1cbab95c86003938287349d3ef6a8264120630dac7f4ce91f4404a91caf064e2bb476542178ef7969e0c3baff287b1c1968e02647e2f9e1c715836d72907106a657fa53b49872983e3703d7a1adedb986875091b1414619f8585b63724b1e478f9381737b0f2c42c59b38fd18b8568fd38458fa4862450c6ca4941f9532cb633a0c7c79bb79e44cc1c0d8dabea428b9a3ff1704195f60ebad52ff47c9e1a49d0832bcc0575ace69e344d1cebc0bfc996d6eb00e5d1762b1513c90c1053ec82e2904cfe9a262640baca62039ba93fd6d274290a105c6fc2f6f0e2b3d8e5dcf828c2c70d9f9f384f75bc7560a32b0c0da84fef89f52a7e0ef1558e9cc8b9c63f58a96b102d339537fc8ac6a1b9355e02e6a856efea09d23091538df4af13665fb6ad6a75035508614f808d17307e639e86cb1fc404614f83f77b1e8ff2e2d0d0a6c79af6e08299eb77b02bfd15549fb033bf7cb095c696bbcdbccd1046efb435fc3423a7fcf047c2704b194f62e814b41238a9574281d8d12d8184f7ab43f8e73e62509bc07d1e31cf13e90c06bde1c79e5d09d6bda2330a93c6b4e39d24ca34660d2c68c9e239a45e0ffd577638efb33ae84085c96e8d553390cd2dd310436bbb23cd6cd698f6f2130b9c243ce3c21256d09026bb5996df1cef4620604b63dd5cf5a443bb9c70fd81c73585d1e65d777cf075c85ae2b11cf1233b21eb075d1ba2d777948ec78c0f9b777dac7a556de0e9832ed1ccfa1ea80adee0fd4e27a87db1364649e279af3634538e0b2a74fa5da7f0326876b62964279f57b3660d394843831fa76f4750d981062c7b79d3f49ba9241033efacfd9eaec7396ce66c1c490a3d61c5bdc989d93059fb2751ca3e5650f3a8d059739de35a2c1820f3d2cc33589af603db767daed670e25eb0a463254c64835594384ade0be628af5b71a2b9814afab937b14f7b267159cd7ffc4a49ae388c554c154c5e012273ba9e0d3558692d01ba96b4505972986d0c94eb573589d828fac35071a3106b3ec99829d74ded19f47c7eb6a29b88f1bb562b8470a267f5ebe9c3775969851f096c3b61463ea64231e51b06557fe9d273cca6b28ced42c8de8558282b774639b1a9d4ff0a75932a7b6908eac7882c91d62c8d019d2892e46d5554d6771828b21a9079da425bdba9b60f55cb2c524ae0936877d3609d5b1a709668217af94d20fd1ded28509eea4e28646a9a6fa5c824b9a29c5f29394aa4c4bf0413ff0ec2b7657c1a312ec74b6aae817d11f5628c1576bce31639d9360cc26bbf2bfbac69095049b35b53979dc51888e916062660fc2add6a3542190e0a3b54da292deb3da7c0467d15532e5f4e983073a824991e3fb3dad119c6edc77e92899c7f461041fdadb59049f42ebe84432bd90570497a38bb9af2a4ada89603dc6ecadfa1ca2c7152258ad8c6bffa3757def21b8d6a917378f26c7b60cc1e4c0629ad098c6538e52083e70c99242a4e6d041072178dd2f8fbd391d049f53dc7ceb71b7c4e905c1875c5b952e9d665b02c154e79caebd63ced22220f80a0b71354808ad31fb036fd9fa993ef69873c8f981cb29a7e092322da96f7de0e3bb9c5a22e7684c970ffc5b8839ce39d6f7c0ef79c64adbf14f4be981154ba3fb714579e0f6a3fb10424885481a1ef8b8929b7d8714b34878076e5dbf53f9e7f191b81d78973439f048c243efa03af01fe9c5f83951a1239b0e6c146dcf18724efc889903df9e637b5795d3535e0efc5e6be78eef42a7c8c481d3982f9983496aef4e003830e296a33b660da1df13e00d5c27d3ed3cffe8a45f02b881b5b7342a9e6c831a43553547fcb0818bea182c4ab68f375c03671e6de2f57d67d4c07fe868bab3fee770a334f051764d49d55168e07542a26f6e54bb0739031b1d052b89a925dd7e33f02b294f752524c76619d85052397fa03919f8b8f5aa43d1e81878cbf5d8f14b0e26ba8a8189d316d1f39f58ad1706ce563b75775dc0c089a5eeadc76ce99de30b7c3eff381e35f194bef202977250b1b276ddb3f75de0ae2205af5e0917f84b8dddafa94335736c81b53c937cbdcd91348716f8a421bafc7ef387c1ce02df51775829054f1dab85052ef2e7d03baac815188b8e52c33b8e53996a05f6df3d5dcd73aac0bdaa8dc59c2ca4c8142ab01931575e7ac915636e0a6cd62039e6f8e3a8247348810b2bcf71c672fba0ad28305631cab287d925ac8602b73ffa1e7ee5ac0fda27b093e3d4e4db1f47ddd0097c10bd423de71c5f93d704a63efe09a9f511c22d2670b96296d09c36e9e6ec12d8d5ddfc21bf0721b4af042eba6608a91631bd9904eefcb2df33c590c0a6fa5cdd8b24018ec0c6d0c1ef36a5ae781d56208011d8971839c837e93e883145a87372941dad751081f5287f8f73860c81b37a95fc2eae1018d5cc2189683c08dca7a5b41f940d04d62e7aea4b675d9f2710802421760e2f775cf980a92c2a92db3e6a4e393de03fb0bc183e6a933a9e078ce4b220e679dd43d0106007ec45a87abdac9de34d08a003fe6344ce9fd6592146801cf09546ec63cf1373539c003860d72be485f499a7aa25c00df810db6aac6dba346f04b001a39a17e2697ddb5a0e02d4801b1bc996af93d84449001a7079a354e455f094919a05137b93757ce9a378b99605173bf4505b937287d5b160ca6e5206bf50f3b6c082d5fdf7b70a12619a7d051f5a5fa8f5d8235f62aee0a653ea8d6e4b55516b053f2159829ff8e4ad8c156c88f4ddd0815887b90a26234efb6e97a49e5c156c48ed5757faca51eea482d78d34d92fc7b2cba182df7fef3883e7403ffe14fc5f95a5717b4dc17bf74ee410eb204b5d0a2e4dbf654fd731d26848c174768d8ad5e51ee6340a5ecbc3daf4f39093eba2606c3fde8fc33dd66a4f28f8ada8ba35514bfa7e50f071c89cfcfaac82e7f709f672a4affe95d291c77982d7a01d07c927f76d723bc165071111ff438eebe304271d44270bf12375d736c1e58aa50c31778a879226b8c9f4cb9caf8394ddcc046bf9d1414a29c504d377f1a783d03922a94b30b9bf231662d0127c4c92d6ad24c4cc5e5682db68cf0eefa2c30e2b4a702f39f608a610cd0826cb1fec34755604c6dd52844c572102f729f8a62021c54a5b0d8111537f0f3fb0c9e711026b1da467c9daa9d10781ef8bad214fced962472af002087c9cf374ca6131c32eff037e3adb4adda68ba0850ff80aed9d64ef21573b3d60f54553d87d9cf67f1e3096d33d0ef79472ce1c3be026c79f691f7574e5d00197aeb3bcc3e41e72d473c0d74ac839d16d5f92c10117929aa33eb487ecc80df82097488f764ce919da80df0f7d3f328fae27bd1ab01ab74353fdb1095ad080c96e1fd68fc65f0da909336671ee7ccf718fe8447464c14a0efdd2e94e9edd528519b13057083958a877f21e165cccd86381c28c5770abe216928de55fc80c57b037398b76cef90dad0f638bfa1398828519add08360fbdf29158bc30c56ac82bf9829c4dfcde199a4dc5025cc500527b1a7baab56322226e83052c1865fa5d2102d6b4e8f0560201266a0824991bb29da394e48a25a61c62978896f772995e386163da098423d8bb1e314f1bc6c2f1a0536b838f3a22950812a2f1a055c2009764629f8d574af1cd2ed47c84f0c3348c1bb4795aee191c7b1d8e21c668c824db9372616cae3380ab9a18519a8318619a260d3877851993f6f4c56170f70c14be04f601e03356ab8e04d60763342c1a425550fa32edb227a43abe80c507ce288f65691ae2801000e6678828fc31689e0bb0b614627b8cb3972fb65cc510e1d9c60526f8e5d6e121db337c18a78a8457d57138c4d4c21126f8268b06482092934fb4906f35c13138c95ad65cbd666296d33987109fed552eaa53696e0b3a2f6d5ef5eee512bc16bcc6abbe7eb5d1e4ab06731eda6ee0ebd76326312fcf669b0be8a16bcf24512dc76658e48b86d6a61d1a919906037b77a6066d7236c8623aa06048acf6804d321ae4d78c5ed7a0f2338fbed709269cc77ea2f824bd96e11fba38793a2616c81822d26703314c1867c295687f7a163538d1a970856cc2a2c698820969b8108de730e721c8f7f149e39045f9334c7d1c6d41d871e4330f61e870e557e21b85133edd4ece361fca8c10c42f016f7827aea8e4170c1d4f2abdb2808f62ca995767ea812318160427fa5e45922c44f03084ef3a5cdf8717fe033e9f8c4fd0e1e58eb072e6ece7afb1fa65c6729e5031f6d7b5f27a4fc21b8072e55b6de7d942039113df01a630e4bfa71e0bbe5818b516a63b21892772af1c0649bdeab895d8e12bc03972a7f25fd8fa7216e073e473722a945164daf0efcf42509f1a63d4c13a303ff618c7fd3319f031b72464b0e9c66caaea8496b3de2c07b320f3c59e6d0c381ffb87e4228ff1843f6063e8e47b15c536e50f3e4d89a3dac0a568271022f50b0457ef1605ce660461bde55f58c500754d0851728e8820133d8c09b48eb5e4609e21379d1143005cc58031b2c5355aab4748ef21d98a1065ea2c782bbc71be3a569461a4aa3e592199259bd9868b05b42bc4f15a5299e612b8da2fd25394cd925cc30039bbab92e2ef1c39d1c586694810fda63c7525d0a6690c1d071a4a57de1184e0633c48033c2c0e708fd8d9c1c459c1c37b4f28b30bc9801063ead5db97f48e717f80a1dadfec7816e6acc0d2d0282195ee027d6a50d0fc72f4ff60333ba602a98c1059bb10583c10c2dd88c2c540df3c00c2cb036e67bbfb13ea666665c81f5ec51f0e8c394520333ac609f4f3af549a14a3a25985105b65a2de295c7e6a1e5b8a185811a35928030830a37630a37430a4ccab7212cd4b9b6eb0881195160f425448afc1fad330714f8dc5cedd9ce7c937d3c81adefd8c35b978a2f1a27309d73aa4d8dfd7df96e02e331e414d24a96096c3abb09a6fe9144c712b89e8810737a8f796b51023f5e1e7f3d0e39efd224f0a91bf43c733839ca2381d10e73af7e13b5891c81cb5f1f66cd8b98a52c46e0dba3cdc9714e9bdccd22b0963ba5b1ec302298e903f7c9e91802e7616697cee7615fe57f8610f8ab8a7f3621bba56cd5a871a5670481cde0f1525e529f9c0e99010426467d5ba9aef4e631337e80337cc0e79ce3bfd694355b1e67f4809796bab674fbe89e3383079c07119da039e50cfb71c60ef81a53d19c2a5bafc5463043077c942b3af67aa82b69cb0163d1a356e2a5a8de170e98a8368db9a19b424b336ec006cde12b3aea93dab401137bf3eb238ae6d892336a108319da871dc7f15bd4467641c62cd80f192a678a744135e786960d1b5bdc6d41862cb84a7d5739f450d3f90ce3b48d58f0817ed89b16791761d8d82bc88005bf1d520a6935af4ec56e68191464bc82a9fcb34a6f756a1372434b05c7df7030ca5cc1e520077eb9432b6ac7370f325ac167aacb518ae4f0208315dc867a66f0560d6931ab604234275f4eb8454f7590a10ace3782895d448769d254f0e6afe331f9b4471e092ab874bbe6de294fb6d89d828f1db7699c9c096498828f531d23a3146ceedd686be1e144f26c420629d88ca8b12acbc6aa939890310a3ea6b48d1fbf781cdaab2364888211d5f84154d7dcd0da2a80061e100a3e769493a3789995e9db3fc800051f27ebf2cc2998b655ca1e647c82fbb85dfe9295bc2fba08c3fbd8f83f5b5fbc09bcbfd0c0bf03a8c0d8800c4ff01d68cc8fd8de9b725ad820a313ec9b4daaa776907b570d401c6470824d9217a1bdbf72fae60d3236c1454b1d7accc3fbf837aa35c8d004934762b5072145cca5ca0463972724f7473932307198fd5c437f7922907109b6eba3f668cddc1e076f68a925f478f278764e1e0bfa8bf7ac041fb656d86ad6d116cd0d2d2a1dc8a004d7f5719c1c8788d2c9f5828c491c56902831df5512fc7a102fbf236fcc928f04aba6162132eb90e02aa945bb5f45f24a3f828fbfd35edd629a9aacd220c311ac4b47d0f8167454e38d602c528e91530ef453b4c02083117c8e3dcc715c095fc622988aacbbfd501af9df10c850041722573df690bfb27f37b4bcb001c6167b3c182ae80b942a6424828ffea2e538d090e1b12e6420820f3769b07d8ffd63bd8c43f019737a94df9326855c90600b302a07320cc1878ef9a9af4db4cabaa175bc0a5e0529b0c14517356a1c4f022efa0603b8b0408d1aa5905188aa2183109c57ea1c49b33206c14a6966e967597dc86f68910ae31f50a386fd41862098fc0899ccdeedf28a25061981e0344db6cbf493ef6e6f0134f08030b600630b0e1c27f82d1c60c3468d1a356ad4a861c30b1b150b198060fcc4732ca2963ff0d716e3476b4924872c0132fcc09a4b7e98dccbe3fda04ac8e8037b41333ccd5f3ee877123c629be9f81f90b107ae52f48e030f9ac36a92a1073eb24af69d5de287b4cbc8031f44d7378fc14627672a030fbce4d4f1bd66bb0932eec07d1cb39ec7f417193b32ecc0a424e91c54c7ecd1254890510736f752f4ac4a272d261d789514e39d5ae42856d20a32e6c087951deb8268c6cd8e1cb83e5b78d1890298048d50b0d9dff43e64678a0d52a6aaa418e08003012fb63041066ad4b061c38b2d4cf0fece45175c90a0051a08e38b3fb878306c74f1c5bfc006175d70c18002f0066ad4604001ec546002efe2048670e08b2e8e8d13f81f36bc00430088a0010ad6a3d0cfa79e72bafdb8a115c6095400c67f61c346182af0c2c619a916708d1a4da0f10936879c22c45c67abfd7b8209769245d7a38240a3137c0acd8158b094e9a6c20976822691cea1cda2ff4d70917b63c1e3b4a8933a81172880c01636bc00637340a3513f8f689bd45f028d4cb43175ced2e15d47b7b051a521a081095ecdcf2547693a1a0fbca1050618ed850b8c0db3e3b9d8408d1a0715685c82ff30d9c6bf9c4733f696f0934bc8693d53760709048d4a9cb6fd828e87f11b5a6ec3055f849145041a94e043cad196a33e9d851c3426a15b06cd9cb2450aed4043125c07f91f627e75a4cfb9a145f5031a91e0f65fb290e0f672889483743c8289f183c67839abc7a81b818623f8b073183cbd46e8ec6137f404a61ba0a511dc54da4f48c97a257218c147fdf83fd23fc7bbfe22d88b9cd79b620e453021697b144f35ed4536114c94a7b228ed3c8f2388e0634a9a7b3f22b67f1e828b14a1a31c4555d01c6608b644e3567f988336b10040031a8560f368ce7110c972ab446810c2fc49d38de77b43ab2930083e48593de84ae4c72188a31188a30188a3f10710d0f00369bf5d2ffde3d8ecc38541830f573abfc841e68e1c7a43ab468d139ca06d1c1bc7d1356a6cd15f6840691434f6e05774c4ddf417ea3df4f0a50ccde1444d0ea19187277fad69d4a978120d3c705aad9a9bb7bd03f79d2199494ab1031bb556a3aced5cfda45107562c074da94e346374e9c0d4a754d2d123f3385069cc813d0fc3527b8ebb42e4356ad09003dbf79d3343d7751c6f09a0110726e630d7445d646f7fe040a86fce2a16ffbb540fd07803ef765f93afe3142f5b37701b6274b4fdfb81a6101a6de02b77c54fe1418edc5936f0b1246df1384ac9a91529d058037b1f7b75d0dcab81efcbfb21660e4f031fc5ca21fad74793268b06466d534263a49c26e6cec07452892576571f678819f82edd0ea6d29681a9fef188a7a9953322039f244caf427263e03472729ffc1e58baac014c430c6c4a74d4ad28c3c045ad8e223f54adfa060cba94b8777577bb459947e30bfc479b2c24b3e40934bcc04f76bb46ce7257cdd1052e722e49130f92c799e6029f4422a65db4071ef51678cb8cbcbd1d5e4c91d5025312e367be6c6fc9db2c70c16f3f8e6f1d1698e451a436faa66d2eafc07b1ceb86876ed04eb113f40aba40c163800b0b14800149a06105c64bb352857bf852396854a1685081d3abf58c16ea3abe6ac0052f011a53603564a8f4d8362ba021053ea84af00f118b39df51e0f2071e8751ae37b15a287036313ba531bdcf41ae460d1b356aec17349e60349c70349aa09847b6800613f8ec091253fa98ea863496c0021a4aa091041a48e06393bcd212b2e44ffb11f83865ad59f08dc0856d5bed5936b15e8bc06a4fbcd70f3b88c07b983fbadf6c3c431a029b39bc9ccbc30debda85c0a7e821c3c7ef2d492e08bc07c97c35ffa3f314070297713256fa94f5edde1f30d69f2b3bdee49fda3ee072ec7fdd51fe4e7faa075cc717aa2f698b6ebe3c6042fa49ff2cb53997ba036e524891bd420eb3cbd501933a2a89a39ac9011763cea4db3938e0af82c4eab43127477703b63e0c1a3c328d1bc16203dea22de759744be6168d1af01e6f6b93f64a83064cb847b109b6ae52b159f0418779da3b27ff90ab2cf8f64e7e17b1e207d9c682db2cd70f458505136fc53ad445ccb8e62bd8cc2fb9ef3dd61cd3c4154cc8f611af2cde0ace52f6ef4febfb38cb0a364d4244460f3aa6e856c1e44e1742aa9a64bfa8828fa348c82e39b6168ba782edfd98a2e6ceb823410527397ccf9fa9973ece2918bf09399f877c164a53709ff43b85d06949ea29059f73ee493f8f2b8f4848c1877e4f9fa22b5bc7d1a3e05a7bea7e4b43922b0afeb7442f72f813d9bd50f01bcaceb3d47ee02928b8bfaf98def43d7dfb09467f734c673a1e924a4ff0eb99c7c762f0d03b4c27f86efdc9103cc809c65c3744e97e9a1a75135c96c894dee46982f3b60d192279a126ca0477398666dffb47ab31c1f7c7f9d92477c4298f4bf0af1fdd58e5f4516b6509266f1ad5c9b492bacf4ab09d72e81ee7a9a7102b4a70ade59a259a3bfaec98045f133a79c12a4970b1d2be785cef29428c04fbe11f87a3a671220309f65642ec3372a5ccd623180fea22398456a9b4231891ecb1434d9242c8da6ad108a63de6d83cdf84e7475a30c2cfcfcc519ace2258910a29a2ff2a3df216a085220e4b2ad4b442b2798e4424d14a73c7633b22308d31a7e8fa21ecb8b97a925277f76a882282643ff1ba2e092904393ac7ed8c1f3f7a8410d6964e0e520ea2a8baac9f35728228b4e6283bf23b3d598128779443f74dce1c041079befb31dba8b4f10fa759e4e09599f2a5480b3fdce15e698e73737c2e0ab4e8c3d1820fa6c51e4c0b3d6891073e6e7be4396d8c3182ae051ef86cb5369a2be518a5ce2fb6e80b3c18606400055d7ce180301e0c30b8e8020528e8c26da42bb4b8031f6decc9926308a1f2d4c20e7c96542af99167b7fe75e03ffa74c74def3135068c1634050ac00017bc04b8d8841674e03c4891e3d28c23559f3930556ff1c37225d47439b0a731a76ddb230eec8e6abedc1d677a0dc281e9d0fb43ed8c9883d0bd810fbdb5ca9b925bade606b63eea38bcade88616960bc2f00205cc85050ac080021c5c6c21810230a0000c28c0e922b46803939ffeda836de8d5bb802dbef8a24d1db460033be6ae6e9b2f6b60f4428408413591d0420dec9dc6fb29cba17575a481edad1ce420a97dc731050dfc87dd713c4c9d2d113d036315a24d7ceba3e589194c8b32b09d3beccf29fda33164602c65764ffde4eef718f89070e9b8d287ba098a815f8b2f7127f8857584810ba9a3855a4d39720b06cea375fde8eb2ca97c81df4add79a193d0903adcebbac047df8b7f21fba58e1b1798e4759e23f28ac7b6b6c0c7d3c9e251871658cfb1c7b9239e4465b3c0679e47b9c39c235f28c002fbb597df3c6685d0b902637e1fdb04cff1fdf956e072ac473ce798a3dff00612b4a8027bf5e26f314ef9a5900a9c7532df38de1952440fc614b8cbcfffd9c9b365c84b810bfa9f5a7bb346b64714f8fd4bbf12348de6d8010536de7938a667e21d763c818f6ca37d10cffacfba13f8f598f1eee2de043625f5a8249e87d46e98c05da4e91c987e0eb9f51238e99a6c693cca9c254509eca4a8f857ae26818da79f3fab06cba31124b0c92de65e5df60845a9f33f88d4a8c4ad2483b2501c100843016130100812732600d31408002024288c85229120caa2b1fb14800443261e2c242016221e181214100e16120c0a0a8541e14020180c83c2c06018241094062151d8f80b3d80c71f5ac5d4704702debbdb0c4dcae21913044f9f894bf723c4603bdba20efbd498cdd746a431f4421e695f0bd0c3bfc9d73938fd9fa38dc08812ae0e17e86c4a77176850c0d47aaf3cc9658c6e086edf93c2106664786048b82ac5888f1cb463f5ae79b3074cedb01fd2fcdd47c444ab3f66139bad58f492248f1c642202ab26dc13e3be48d4745e7857aa50dbf0443fefeef47dbca708841bc2afd7a67ac5f1ba99cabdcf62ec8e74f78299beb1841263c3c214e0409669d33923d5001e2cf4027e55da31a71094d46c10ec7299c0f636c51d953bcae09c46e406af5a1534b27df855e5cb470416f8092d10f80e27f5fc6f472f3c9d641a473a652f13642e2be6c0c6b7166c01bb61c490748492a50840cf7ed2ea11fa22cba75e60a6a338b38a761043ae600c9e6b7219332e260366e57240bec7fbd25c3ccb35667e89591a09ed92b7bb3959fbb4a79fcfc914f2086edcb970de102d0e28989702860a3a1158240aa85673939a66d923f0f51a1086102452b4523a33348938f643d5ed522116667af1ddc6a6d49543b2c5d9912858c69d1fc3618c93b95be4b4a792e0f98de56255156209575b72056a8d270dafe8565bafe08d6af43510072d8698cdbd2a2581d94634ec7c76713a4335bfa6a9d9fe4bb9943b2a3ba9ef33e88c7851055ee61e9d1a53f4a61f07a7bb07be6ee0910f095fdcc9a426c0c9bf9a84674490aea49906d1d424272926d13551affaecbeeab2924201d7d031b1a15e69b92e80ef2c01bfdd5e74f221c672f3f98e6ffa0a664de30482072321aecc09313a60b50f2616ebd155601f93e79f1049a86a3521665b25e2f63c53b5868777d449d7987708269093f6388573649c2bbbd6cdf0a942a5fcfaeb3e46ae3c6b01eb0b4a312f475078fe047d75a6c8ca8e0814b512cb29271c2141fe8228d07eac505ad10890ff0aa92b6d919351082c4d8a56659d285fefb304131ed9ff2e259e39f9006fdcdbe2297a8c7907db74cba77bb2e4d9ff8c6fe7991b3e31c18b49b8275bfe4d5de2ff5ea771d475f9673e2013b6ae45ef757f14805b8b68e079cdc13fca57e37190f87833728ccbdb600001ccaffb87c8cfc0fde37cc20c7d6631eac3b5c6c83a7320fe6ee4ec67b2bd6231e410cca71e502add474c25833ae96b5a549e2c71810528135dccfe2e0d13029bd19e7f5ea67ca8fc15547c341ef29dddbe44787eea2f65399816558560ce5d6e8bf52cd0dea80a62cd2aac3dd98ad15e7c72e505ad71468198d154b6f3c2f0126d307ec8039fd30662531fb0ab91990262f2ff52b85ca13210955324a066e3169a86c1cb5b16433d498dadd6cc45ac34606252ad3af2de61a2cbd75e544e051c0adc1df0321f1d746d7e22235c0a0e61d0122839201b8639182e2b88085618413125eb72bc655deda07ed396516aea87025f75899654f9868c1422d3a8905102d63eeab7a5955b461b4f8acb444d102c6050884a4571217160634f60d78daf5ee5a084b7dbb1874df26827830b58fd0a0be180a011fc08ec34a1268c1d7911fe47e09832a612d4af2e1363bb794cb89700a3887e421c6a4056a1eff1b3482a4a581984455d2a8c7a42c7b4a66d521df84e920c5ece25bce85ef88f178a5f92db54cf2454e5d03c41bccbec7e73eeb8ecb698b7f8fa4d61769e63d737feaef9ea81d4db996b7714b035003ffc0788f295165f22e6fbcdf14157c84f1ac559454bacf303402d6a89a34b4616bb4461a6a1f73432294e5d841545541bbae94bf5012e92836189a22162cedb7bbd491d94afc33d44d7b09afee3b4feb99260a886e05e60273d74d60cec00d545c073d48048369e9e61249a87c52605c5668757e282b4c26316ebf6a2271fb6118ceffb320f6a4e2c221b1e663100af1e1f00ff3fe3fb00275c4e5737746a25228bde607a30455495512657451c96b8ec7cecf44a47a9a500a6d06f8a33b6e60005ac306207f09519b97918cb7a2fa1c82ca843537f4583d783475c1e5c483d237e2084ded05ffb92517d1201aa206c895adad493b786012ca11b522de0a480f441781ca28785a86bae51cd88bd6a5946bd79d44ded1ef294eee7a0f49b16a09cf440fa4e939de13a12a73440127b18488a9ce16ad52c230d2fa87c344c70960ec2dc58c14dde1ca82ae2b4bee1652a9219d334ea98d57d758d8254df86e0e6ddcff9d98cd6bd590042a6c85549d294723c4d51e5c5ecd4803384c0976cf750a4b305d9cbb25bc915ccfd824125b6c5804690e2255e0ba32432a7f39d92b249fcf8730002304aa898c237425c166b178b3285fe734d58ee62ba41a073301861759b5c3a84b25f89a3b30864d2bfae5aba3ce3854f910b71156e7961b418e3dbdbcd33b58c01463f239218bd0ca40745dc98d4ca3033279f30b84fa2b08aed3880d688fa2fe6f48e647de539aa41ac8b2d6822b56887413132338dee2b0b87cf3001d3c02862b5df6f327a97fd54529c990719236cde68503d0aa6630691a9bb065fc0c001521eaf5d62925db55ad0f80ab6689261a28f324831600d503b0060e00eae759b0409e1d941810442097d12367baa754bf6cb80bec1724a699a2b1a3806053a98f1ac490711092b6caa58f4721e2ef5047e5a26ad6d0832079b3fb7e42128970273115dd27cb401f00548008c00d00970e598960e4401420003004c025abca68aa70314b2000c62daee05c0c46833671934b053680bc0c7bc370b0812d6029603e20f38024fb08f9629000cdeb1ba539676cf0a5dfb884a22a80844e240584350102884f9468098702a0502c8bfa7f5418e662b2a7ef70092444d592d23a78046fb86e0688a75e6e279af4a25fe5c25b5022ab41c177deb8956d1219c92e7a4a08424967d0829709a64fb4217a227052e29068c6038c8e8ba59f58eae35aa7848b5d692d9fd6cfcde3a52b17573ec515a9f2d8e1a520c30f638f5f48254a74aa42193fd283ff46788441fa0b77b61cb5bf5de48b5853a0f11c0758b538155127f355af96849730ebffeb3432f025bee621d316fcacc812e06be11f1a828c256a4a5cb01268bd87a5f451d413fc6b1097d65e8b237456fac62f13c87a8a0ca87e9257d4fc2d196040840065609118bda6cc9bcfe2cf3c5c28ab4182d5739139295747a3e23839578f08353d1eb9e28168f03e51e0b9800945323df47f57977075f86c85e86b4a252e6e0597cedc1a307dd1011ae62aedb44e48f8f0d851915477fd14aa3d87d2bc7b8d732536ee97bf6eb2c7b8f1515b87544c891ffd3d7ee3adb3e22569604cdc2ffc5d15c7522035782ca0b80052a886fdd824b74658b59e0397c00391ea063ae5c4102b2ea774694e48e5f5f2dd8f795be9285e509e7ef3c6632612f6cb992e191baa02337a461d685839a2d73f42eecb881c5362e66e8ab4cea7f31ca30e81861e1849b5f2df917f67e449d2e9c1116646744ee8745abd5e2bd1f85ab7240485d24cbd0853f201373c134445643b594c37f8a5faf53434de73e569d2044d50cd84aaae55f48132bb1f723d5427c60ebfaf0d389cdf1128a76c6db7ec52b0bcfc3120111731a8e1ad63020946ee1872132d441c69cb89453baee896331628b796d545a2efda5bce4473a5151140a861e72d2d4e124a4a8d73bb02908bfdceff9af42c06f2e6de328571c3ea260ed038346b561af9e5d2e418fae5d2eade58216874cd9ce83e8e0a56f82dba6c9de6166301afdac5e591a6ab51df0496fa9e0765c5d1dbc69191ebf50513348baacf9c6abf1c15255203c0d9eef8a763796e74ce01b8e96519cb3ef1676464454d109df8d277ff2bfd40a5813200174efc9b95a55c9011ebb852c06fd6cc7a4dbd37d45889904860bc93df452365de53eef89920ac9abbd6354c9c8d7229d71c5b78a4aa04f2481658b639dedc809bde059f1f7e89329d03fb9c6a4fa6821cfbea603704a0f13f3a060917a5925a7133677c318a5caf3f8a696820c5c3c75210ff78354539de957d8201c79557b557f3c6bbb61726edf418607bae9cad6ebe66eab49d1030c14984f9cda7fca156831e8c7616a9f90cd38984be41893dec8b0b4cf3af914ca01cebae7e10e230b52c6c1392069c7f32208fe5e0a15e524019f860df385b10318986e280343e33a49044db9854b41f344c243afa20bdb739bc1504cfae4304b4490dcc3cf566033371fb59a4c31e3464668e06ae974fb2052d79fd49514704351080735fd4193143c7762c71b76c5495c41ed9294723528413d74b941a8e522a784d0c46a4c6427b8a0983ae905760482763adb5b6a12addc401ee4a38a0b1335a0781527d73a466a5415f4da6a9c6275c6ee1d6e04a3b25e37a82a6eddc69643a154e66922c3ecb4cdf84f45a3baf4ee4ba4ceb18a579548ce581453610cb03b8b914a3d5a7805dc0609151625f6391b9760a0271b22a7cfe9b5c6900108dc349ab841ab06399b465d264ae05f4b9deec95630ec566540ba220aa834d7d7e0905a3ed0042fd94ad3fcf8385b30ec6322bc2dd6126fe0672edb829661e5bba02c401bf027a2a6a70e5bc5c754467180491bfbf8fcfb65e30c5570947cf14f87ae6cb32aa27535b72e9a58850466f404f8ea0b09459e06e79c74fb5cfc2b443086e943efc2ec7b488f42cca9604180475864913e0625c8902a67a78a3ce1b218cd1247b1280f92c901ba38a3b67403bdde6f64bb5c3de090c2cc177fa26a58370f63717f7227e582c55892be0248b40f3712c8720e509682b43a6f0119b91515eb3f71c11de70886344b2e5273c8ee8ff6409ef900498360234627d4780412bf68114c2abca89faf28c5813871f0b07b5c5a0bb882430b51f8ea2582b9e586bd40722836fbdf9d9d103499eec58017668ce92c725b525f5ccc32f5a96c76887ee2f52d564d5134eb319b0ccfcccca63e2caccbe35e6c5579304c64b495677def8b3b5dd004255c999855a22208300dc29032a3833603a84a7cfdfc3a16282e54dc98589414148d85ae5354369fe15a488d7e4010eb8541ae484e063616e5a0b7b2408035ef93a515501d0b9d137182c2f6e01b2f95a88cd856c4f434aa45648161ca30f01e9a52292179053e1cba787c8d374c106dac590916140d7c8cf53d6c04273bf5916e92407ad34d9a5b4af738cca95a12e89b8fca45470b4c32219a2d252845c2c5530129aeaa908bedf1ccba8800027783d4aeca03d2458c844185d8e578309771c11f28a72e05d0feee2e763d4df9e0c8c931d28e5021aaf5c09f541b63b26a9c1adbcc1658eb45e42124a9033190e5c54db14f50e82a6ef49d34b1141a0076923111f9c5457e11d51c08d5a6a9f80cc9288be8d0986cf33e44afb2ae8540a45725e3d53f5d6c38b1c63e742800329a0050dc0a2148ed38a9ee9b9a6de3912221f1d05edd149d16f0e23f6e69b843e8c63afa657ff4e1f8795efa0ce18e8da2e1a7027b24bec87e963ac3ab251e78c4aedf6b9fd53626b90e13674d2ac56c27df7715e91fbaf70a0c791dba0932e967474ec0e3809adb705dea62e58f9c0e1e5377c2a97c1a97ae3b40753a7a2012eb6729521f6bbeb9721d4cdb29d12c5e519c11cb3a29d8140d7c4ffed801e9e910b6c9aa793c27870efd2f173e5ad36430c4ba680147b23f5d7d4597baebf1893958d4b1e1296a9af637118027d9ef65b09a2e98320803055df790d10581d12ea4b5a7b691b0c00e0c1342c904b5992f87814f88a0fcf16386aaa7690719d7a12242b4fcfc5cb19cf6331ccaf3cc937c4057713c6e2c413879a91590135e8c31588a3d7ad0537130e86ba3a52bbeaee2b007c57c57e95647ae68046d2c04587773aa46e513ab82773c0383d577ae39bf125454c50b2aa061991015e593019c0da24d049edded10793bf33c10d6a989ba53221cb32716266f6b20dab0a92bfb15f047890bc0801466de0c47d21ca64ed022fad7365427cf6e79dd0ca478a410b287659aea8e72822614017f068f3f053c38460f601f6d948af5dc4acae627986865352623265c2d7d27860a294df9de40d85f3d4b65178e8d43e6e8e670a4c3c4b3856bdfc1d9d08f9c4c1c4d203bb407e6d18dc903ec62b65f62720f66b73e53514609a667e2a3446485967b2231f027179ab7f3041de2f4062a4f94c79e07669b770f7a34188500d8784d9e0b8f45104eec207cbc75747d01ee457e2dee94d2e5dba0034e71b9ef77934fe07ab35c8613e889e254bd98cd5cea2dea1371097143db10405ae3ee3ed83199df98c7e487f97807cb4d6091080280432c6f390646031c381514720c519afd446e07580e8eadafb23a444df97c65c6630abf9bf17de5e5eda4bdd2dc34567a355a6210f4f9d5df2af6cee40fca07abe45abb65558900467bfb888b519c52768bea730e89de0065da281d4bb7607d8212427542940e37f79aae50eca37e3c25826db50194006a43a540a1500dca1b0a80e2a180502ba2aa380544bd97d5de01f5953b3af281522e960c04c701ea9e2308bdad5077a80e2579c2424150ce4701d9755867f4533aa4e1d461404550121da5433788c590421550c903752f85d00135a066a804141f14d07da12c0f31603c84519b549128e65c7446fe646ff125aa8fd9f2e087500a2c0a880214201baa8f2bc6ca5ca0661ee55271de1228140315274a933a43e550920f1507e3ee00114a032584d2a16ca8d38aea4b51b9486d2962a39a6b5748fc17a82fc9156524950ca333f05076a80ce58362e3a8f512bd3059047555142445a08ea15228110a862820c9e3fb3786029a71d4d1ba34e22c0af54395507a280a0a00e541bd50b5527486f8a978baf774cc236b3133ea9e18c075ef1765c9546995b4a87bd1c04d53851a40f588623205b4050a53d9144ac7ba923df4a06ca81d0c4a872c95588252a0aa4301d921ca7292240251a813aa81b293625bfe26541fa41df659508084e2cc31a26bd042e940ad501e6a186a8282a0e4503414184a813a1555cf2920864233289d287f96005170178cbcfbb9e6900c1410bbb5e3956b1430335b23a6350ae8e6600cad504074581aee4228e0cbb3b0cc36a86c9bc327ac80870aed4cb2118a0e750605843c014ec028e0697c123f514f84270fea85ea4299a104d4c95066c741bd8fb252a350d9a32c4e81668b6d29054614192a0e65846aa048a83d54052580f2a05e449d5250280b8afda3fae27953ab0d6576a10ab161d32b0c556d3089702843289c5190140f3528aac65d6c8beea8262da8428b5a0f63cc1e5d5019a8855144ca1f0a8062a00c4714ed6b0f6815ea8722429150ad50c06d8eda859ea55f3ba85161b02da5076b0b6226325b5429e367d840014b074ed80b2860fc149d732f51eced8b32db189408b5869ad114db42c590c390c250e1503cd4821280a2a058282ed40c5540794331a817eafb4601a13c5e38d4a06c68b8e0fad8464124846dc9f25a4fb8881e8a8532a080507c2807b503c5b6800065517d287d28188a82b2e3503aeee88a650345422144146d6f79a5a4a0c2504328170a411490909383304201cdfe130be8292a00c1de96eae2830aa002503ed426a1808660dc0119a7b2a129e45005a8641ae5d2a0b06e768b1a49f15002d410aa80723ef14f13d4018a1fa2faec8af0da068a131430c895aa9014e53f59743f36dc9c6827492958b3369011fd49a8bb528cb72e643d13eea2eea1db4e7441455071a843286089b0759b9722f6e2a21080e15cac8e7e6f009032cafb2940985250028747e551f3b0ecc1f7b125a48dfaf4901f5b2d5a6eca8650820183d0ca465b84057c7ad140a2356c8436927033463680daa238f6b899255d220249d7aa7d9034d6bef84340040d83f9d7cf1e17e4992c2b2f692b15f9b208958b0aa132b4f2164b0bc85265eb10865da6b88a3844ecb4c5623c0ba5e3f6b02006d8d1b50d49c225517155475f114024d4966c0efad400dddfe41f4439d2229f1dd6ff75cac984d1096dc233b86c440fe6d1313bf3c9b022a07f86151ec18b3b1e9d2c4ed65e44daa629dbfcdcc78d630e1faf05f5c154a2283537e0713299b8852b801e1e2e2da97b04213b5dc044f841340fa604003c8fafab9522be3c9bf87dbaee8f0ac831b09e0082a97ffed65df256e2955ea077c01ee6fda8319341c718e380527b8f9c048447b24b45c038bfc4b221d07ece641ea084320ccf630bbd47ba763c397c9c908219bcbe2880bfd3414147c2a69040908dc041d13365777c5397663289ab7df174b794b244d85187709fd13828982d557363870b3c3bb6475808f236926800d633f7cd054beca88bc6e4301a531216d31379bf0f7506ab154c353d6328fc486cb250010cf6ede803d19d01495ec33d07f858667868760b7afc24cebb41966df85902ea60fe684a75d8e48f1b2cf9fb1e90785e936e159e51df77c5504fc0f780f666bf69e82337b13a468b8be9ac8f74021dfa58f02065848cc21bc146ace761b885e15678a98aa4170741608461ae82cc8016e4393ec427a6f48ca534bfc527f9c276fa62dc46df37ae7a02b949c3a62c7505562a0e8d196cc76a2bee398359e7c8954c5488418e6456aed43213ef80f4c226b5ee2abbf98b243fe093b8a9def84450eb50f6b7e49e72920958e6f6f52040b0496d9c29fa2136ba95b50719993375d4c50ffca45c7a5b8bc391bf3b669d3e5f393ac53205bd30f3144dcf4a4e850ec0e75500d225173d7e8180b461cfcb9308ae318772f42ba3bb524ef8aea207723c6e087616a8f0c57c74c9daeeb9f9895a9dfac296b3d96ea5ac317a2bed5a49f8fe46b8e1fb794b93910f9260a1d9de30005140524761623781c3d91ebd1cea8fcd27090f0d1f5825db22138dd6f81c3d6939ba882e402d06cd29c68ac0d9d0872829ea81de42ab20149640d96ffed00c547e3411b517a9a75b4283ba85ba462b4d4a4d5b4c2bb6a2d9283a0a045d45dd50d228066afcd11357ac88564605a341f58abc7e026e48c4fa0a3760b26639ff000000000000000000c04c10b62dd244c824a5a4a35a4d06f698a54c29a594f298f874ac034b9b8c22efe01dbc8377780502ee0ab60a200b84104c4934a363585ddd93b5ce45a25ffd18d47cc5353e0689e6b357f449d1472f7e8f685454638ee8cd843009a6831ad14819f908fab3a6880d07db31a20f22488b2f0f71b079818a188b68734ae91e2b1e3b8639ae153114d17eaadcb1e927934ed0c5173b4ec0830b3eb42f6224a2ad3ca7928ab33eb3eb485c3c1a0f139c0db0a56d8a8188269795d023622e71dd3944abfd61c52b46470c4374263b523fadb248c8910ac428443fb953a754422c410c42742237888e9f67912ab65cc41844636dad2fa94d25a16d0c41980d26c40844f329ece410c32d347d4074bd51a30539f94286f00f5d6c970e1735c5c1564610c30f5d2a8f13316423e714c7c1c6a30fad66fdd3173258ca58c1c1c687c6fa3397f20caf61341c6c7b6825c98831fdfb37e7b01eda905faaa6353347bf3c980d20c4c043db21670c0b712d6c38dda1bd1c39ba3ae13a5568877e43d47475d15ea12275e834a6fca24b4c87e24cf6f9984a3207b311430e9df894bfdb2212873e2551bdf0a8b192b870684b2dbf7a56f3863ea5381b4a071f1dbab9a1f32cfb293142dad04a54d78b593731d8803662aca117d9a027498d4720861ada4e11ffc2b5878d134b431743768899d7e363c214888186de2c9c8628a226da82f531ced04bbc18ba63da5bf1690c33b411c4ab4de6d316e5952106191add418f0a0b095729328646f3e711215672735fc4d0e8939422cae4bed4650c6284c16ca8096280c19d1321678494a12e7430c08b06f0d84531bed025d393437bcb16c4f0422b32fa5ff98bfe943738d8721410c4e842b32754fe90377bcd3c251531b8d0e55c4a63a78ca61ab33a626ca18f39be95a2684b392638d83e10430b9d4eca448c52c2bb4a07071b7b2046169a90e4478c4efc606542410c2cb432c2afadd54c4feec4b8429bf3a7242285d2271a5ba119ed5192c5cee5ccc50a76f4b80cc4a8425b15368cc8a24992bc72e8e8418536ff9c0c2a5f65d58deed081e378e1bfa3b68831853e78581cf35431e51024854e266172a297fc10671a204614fa37e9951529e985d243a1bd3859c9b364ce49d1137a0b42352d7e921c36bc80184e68c32fb59ee874b3cc37a10b4a34a824b2cf842e57f2cf99358ccae42fa193a183ac2017c4fbf74ae8bb45ebc73841a69cfb24f4ffffa69496d24106212434b973fed899f194b4a023b41651ae5346e8d3416484de730ca3b2cac7a27f8ad0c788990bdb326f4287089d909649b3a5b048213e84fefd5d348b7818317121f42a61b542ce1e4ea725089d78cee0b1925ace31064213ffe2c382ea47caee0f9a1d3da27a99faa00b22f4c9f30862253de824e5695fee2aad9ae341a3d75f437c34c563b683fe54a9aa79ced42a560c1d688c1cf431e70bfd983fc54c120562e0a0cb0d2a577bd0fe0c0b0eb634bd0dc4b881c6b0416b2e92f72fff94c7b0066dca2262a6b8acbec8cd20060dea0ba937284962d3920148428c19f441a90a552d2394bed22462c8a0d3eb213247d1193cc87031022f72d4b851e3468f1a5b40e0bb70058c5874713975fc4b2c550dc3804597a9a73df76b90a647305ed126d51147ad7c25953e950d1b3bb8f84faf801a376af040410ed7800974ecf811b8171e817f0598e06cc0062160b86261b4a2df9249a89c41f95fe4990b18ac684da8292d7222c5ada455f4975549470bee13342f60a8a2ef9dd9d84a4b8fe7918a262629395907611e2d45455f714bf8ebe912cba65334e629b87f6e33f75131457f1e82bcae14ed958528b13f5aba80418a5eb3749292681a459792cd2c84d0bdb0968b1dfe5d88a26d133244194d134147a1e855378bf8d01883560b079312c000c5ef1183f4137d7e89a2954c5ae69e07930086271a1d44c4918b6d299e6ec7f7c8b1396074a2fdd0f990b4e37b78f19c682b6452369973a4a78b830d138c4da424c44be1a3a44c058fbcc8c185c2d0446faa3cd782658d23451c6ccfc318c063027a6c6b99e8b2c8a9decd0d261ad79457fc933e49b1bc441fe3687d19d51cd9cd12fd8811ab9c5408a3127d8527b79e5c1ee671bd51e38609ce06cc103028d166b88a47340ddab366126508abb1e762984d92c429eb867f0ffb1646bfe30bd6810a189168a225ed3e4158125f0b24faefab0eb2549cff961ed18410b4376bde950f1a47746d2a5a63c7a2c73e896d4ae6cb88763ea4f8a684c82127e922daaf6cb23745452415c423c05044a3ab82d89dd1f1982d89e8326551d3e56ed51a44f41eb3c5f799cd7eaa7488de84d44b22ffe6913444a7fd4aff2aae5e995f08d3b45906255487109d99c78f7db94cfe20ba2e09a2c369beac412e88b6e2ca57ea8cd72163205af3ec9a92b647ce1c02a26d331799544e4a4cd8ac00e30f6dd8ce52124b52782bc1f0c3c1e8432765f7732a9d982fe960f0a11373a911bd64ce0c173cc80dbb09c0d84327d283d618af7b1abf1eba904a47c8e1748600230f5dfb658da192d097848e8776640e5511e674873662e428faac5392296f874655a4481d5a5349a9e3a6e60f114387be754e7ed22db2f258e6d0ea24091f3d9bbc08b11fc09043d7279e97f272f2e6270efdcf4cb2cac944e6b470e877455cc9aba4a230ded0e6f039478b0c23a29f1bba2c8f8f211e835833b5a1113e592ebfaa5e149128c06043217a7552624629fd1a1a516e15af49885cf2a8a19dcdd21d47c40930d2d0e86bddf2bfa0a1dd184d450e316a4c497386ce4d9910f1826685bc9ba1d1eda2f4e44f5159dc3234a6e37b53a89c4d13191a65f9645c28254265c6d07ff2cc21e6612c5b4e0c6d58be9067c28994290b4393b2261dfed1b28e566b60e8c4c4a59c22c514622e3d4e10811ddfa3010604185f687374ca9b4459a448dd1a6078a1af98d8797ecb4369a90ba48e247e2ef431ec691d215a2b88b6d064d57f89e7a51a92470b090dc2644c923a59687327e9cbac1f264409161a71da838e23bb2b74fa72f289b82d9b9489061856e8cf645cd11a223e64865185762c4e3ee43fa410e72d8c0a9dbc1896b122850e30a6d008796639c6e7cdbaa13a36c090421b2f6989a6b37d7dfe28b4265d7426ed7e3d1f84429fb265132b19fe72cec27842134448fed21eaa72ea842e8a4636f5d35143c50ab0400d13c06842bbfd63f2845099d95328c060429f42ce3719c2b24cc8c058425b5a44e4a66a36708008d4b851a3c797e0e4d8c246136028a1cd31e79f75d5f34e4c12da1df94fddd89509321c6c3a6ed450c0ef38010f2fba140106123a59d3aba31bff64fe23f49f9e3a8e96e89d316784be4394143f4790a3730b028c22f459fd77777d37c447842e83fc6751c93326511a42a3de73c9d784a96432217432e8c6d98d56a2942c089dd27e9e7db2c610cf03a1519243c63cd6fc533fe8df3dff76d291e2f93ee8b27e9bc9e839ebc7bd074dde6a3f7dbf0a398978d0a686ad943dd941134e8abcb4d4e0713f1db4a5344b54d11434ff27076d7e78e68ba9907e591c347f7a4be27954bfdc6fd0c9ec9e2175cc1247c56cd0eb9914959378667535e82705919449cbdaa752183468ff43e7a6a90ec60c9a14f2fbf685d58b29862183b6428fa598a12280587439c26f0a3f0f9f3beb0501c0a20f595443a8f01a9234f9150270459b2d9a96ac264d9b9878ace01f405ad1a7e879d8c99f8352b1dd810058f16a6799b8ff9bdfa2abd04b2dc97c69c7985b8a2543872ef36cd8b0f10401a8a2893f2a544e87c831b3a9e84b7f5e0fdaa54c558a8ae6479392cb933945d7a3f2e6c93315df6d8982004cd1a5e06d5af4576f5c4700a5e83a67f69291511172ce2404408af62fa8f6590d2967058da2adf0b06f79aa28fa94444a92424ea9727b51082014ad78f8fc9bd955646a82a3021effc9860dce840040d165f0a03a98bca03b5b70b0d96d116b3d54f0d8812c48d1e6b3fc3de26604b218451b3d4f083a77eff5c41e9085281aff78b2bd21850bc82214cda70a51f35a6bb4ce02146d88d934354ad6e0d5e360eb91c30439bac0432c3ab2f8449f848a0e9382a7f02073e689feb49f5627edee4ac79045271a5329a6123ab182d40c27ba0e29fd446c284915563064b189de62faa594839c697962c84213ede8119b31a58c71429789c64fe9ae9865b1b87e0adc0267852c30d175cebd112ee9f1247b15b2b8842d3acd5de487885ba20f4925291fc1a49ae92b51704f2a774c894eb623e50a12447f3d93f87452d22aa8af6f92e8aa2c6543f8ba88b8898429c5cbe393d7e5c32db280446722e8181535b7bc850b00d090c5233a91d794c8e73ba23791f47766ca6192cc34a20db9e1e2933426c699115dc48e5d2d32bc267317d19bc6befc95ea268392223af5b0d22d2146348612c17cd29e2983dc20a291211b834aa916f3f4437426cfe265e5c510ad99dc183d455baca8109d450cd9e5294c8866646cd9ce2fdb9ed941341653ea5049cfdcfdc7421682e82708ed21573aaca44e205ab7d2cfc1bad2f52b6401882ea6e89f16f5ddb55c2543167fe8f484cf1955f48cc48c1f1af925f3f74dde874e9b7bf7baeb5557900f7d88173685c749994bfb42167b28ef75c42ea584aa2ee9e110a7c2cf24173f0f4632cd9b545763951c0f9fa7dc1d8c1354f6f829733b6c3aa9a0635914152a7528c99f5e25990e24954f4fec8e09ed1cca0d2153d09b1c324d26c32fe50fea2959c4a1d11ce34afcf98cb1fa320864018726a94e924a7f4323b25abce79adcd0aa779a8e4bdbd05cf0901672ebac8f6ce8e2b4ac6204f50a31ada16d4f3f7dd1c24aa9921aba929324c9dff9a493d2d0e73419ab2572afeb68e83bc730a11ef267683f586e3e91ff23e237431346e26a8a9fa69318e160bb07d4b851c31e50630b08d4d04216656835477ca6105363883d191a0b35f3926a7e51fb31b416fe52a72045a288c4d0867668900fe1c479c2b0f9a898612a0743af9a92d09f7f42d67ca13793c93f89e5309778a1958913236ab4589dbbd0c93822a5242407df2c17daa45a9547e90455750b6d4cc23f57995ae8ab4fcdfa54b6630b2f26801a50e3460d1e18e02cb2d0995507dda86f326f080b6d049d41fb67bfbca72bf49632c694f2e797d0130eb6bd7123b3b042a35377b22ca3e695a9427349a8241e2a5468acf38666c81a728e4ca1119f638ae17d3578580afdc84a9e28b4733a6bf8148242a7940cb5b6b49ca0f384c684f860c95764cabb13bafc1f65a12c73ce9426f4e7295996ea48915a26b4dfeae72644494f75096d691c131353b69e52094d127251449e20641893d09ea7d8a94547933c12fa122f6294ce0419b923347a93be0a2163af55c6089d8ef07ed36fa9ab53844e2fe87b0ed1c53a2d5d18e791230167c882087d082a780eb3b162e23e842646dccf17112174112fce7c4669d03808fd7565b3125fe9252034f9cfa464919a2be4078dd8995c2ae707259f0fba50222bb5c6f5b9d783be3c46adec49e521731e343a69fcec12848e56be83dee57de374ca3176af834ec6d4a7479ea9c728074d482aac3b7692a31f1cb4ad16c4fc458c2b3137684ce91e79faa634696cd0e68d55cb9bc763cba506cd070b313d740a0d5aebc99ad94baf48cd0c3a5d5e2ab29fe9f8952c6460366271326081afe8727c5f65cd217126c4159dc490fb5d93ac24b4a4159d504bd69942c64c23ac3819ab3819aae862b7ea24d1732a94ac6b329f65ea4145332aeb2749e15374215ec22206cd1c32a668df4d0615c3b457bc94a23fa5721cb972ff8b32293a7dba592a34673c218fa2d7364d5d59746f9211451fd2445effd3133fe964289acd1ffe64a95c527d41d1a46ca19d4756cc50d94f347319834ccb7aa21f19da94f2d01743b4139db2c891f3e6be5c21277abf142d66b24ed26e37d127fd9fcd981e1ed144e7c17248ceda299326139dfe87a03e398a894efc9abc24f512ad5f2c5f4942666a4c2dd1cccfc8144c26d53f55a2df2e314104a141e987126dca563da16310caf5493452429221584512ade639d552e933166724bab09a2342b39068f5829eea32973cca47346fd5418b6afdf5a423fa1c55ef1c4be8e42e1bd1440b23cb33dbb263c98836e47588cf792a8fd222da2829947ae615d1e51323447f8c8b6f22daf214cf72a76c292f8988c6439e855831b7dc43f41ecdf44b5294f190215a0b17a3860816a28be1a23d4208d17f6988d9082e29e341f449c42ff1d431c6d10aa2cbdfeea041a7863c03d1ae4a1297ac7b378a08885e34356388956e52fa433332a84b98d1f9a191ada6abbb5f0ef202197d68e75244ec5371d1f4e343277fb9efe159f1dcdb43a74d06ad2169d68c5f0ffda9f8da92b783927e1e1a212b99caba9574eef1d07e7e8ea0237f254777683e5a8c88c93a95ca6a0764d8e164d4a111d984858f2482ce8e32e89032e6d0859c824c1d6465911cfa1cd594c8b221c8a038b4da9a949e6b8aa653e0d0599f69e5ddcf92f306b3e186fec784ea95db9032edc945e765439b54f39e7ed334b9aea10f3ae3f9fa6210a5323594b562828bd2709e5f1ada6e49c2bd378e6e656868c36436a5f473862c770a795556de171e8104ac95014186199a2025e6f0f39117b26590717e885afe98ea185ad3d817ca738e97836268938ef090b36e8ecc85a19f138d4b2a6b5d38da046480a1edbea0d2f4b34b9a080e36b43abb24e30be78b252bf8680d0e3674820c2fb4a54cc9bf20e942dfa9341c6c050932b8d075cfb75a65173941b6855ecce204e912a2cc552804195ae8e73a6aa886e42d19ce820c2cc8b842e34963b4ec0d29e57e20c30a5dde4ddac2437aceab0e6454a1598dfee3d791426513071bb2dfa1a3c705787c8e1e39ba702ebe40400f15b40d1b559041051bc898420d644861353791492a49266878a5f9957b6bc50d3efb4146141a31551ae362640732a0d0855f15b191ba4f34e5099dce27dbe2d63aa1952dd5be51e4657f4d683c78c81d5265959028133abf98c777f7d24dbe842eaea5a8843edd3fc77c99bb2d8849e834057129a7ee486894494c73099afac73b4239cd6247ceca3042a32b44f6ed14a133b3107428f917d12c19442863d0dbf994f4d19d16640ca16fcb5242989e5ad00ba1315359f39eb8bc274641e892c839874ccbc144d600a1eda43f542db44bc8fea02d95cf3549d01074cc7dd08e720fc93933448651460fdab87d3a5fce1b41cb45060f1ae923aa8245910964eca00bba44cefcf59e958b834d470f2f729cd5d862012890a103b3a13272d07e0a967cb305ed4bc9e6908183c425818c1bb46639e68e8f89d70891618336c538398ba1c4229051832e0579a13ce6149ffea141278429f10cdaca5f49aa07a91716ca9041a392b987768c1c6232462cda4e9d664253102c885144c45ed1a50619a373e7a6efa5f7859b005dd1c90639ee4137928e770506315a91315891315691315491367ac44845d7fd99c40497a41f418d810ab3a18118a768fe2cf5e4fcee3880afede8f1051f6298a29590ddccf4565229e94b613648d1e5cd1147447a8ca71c45577efa42d02b9e84e7a2684f9898d46d26e799128ac6474c08de1a4d85c50ad8410c50648c4fb4b325d1d7a4c9139d590aa24d9c5a9e883ad1bca60cd144f99ce8a456926242489f8bcf261a715ed62e31a389be45e74c6e7d0f52e499e8f743a6a768aae2091f134d12a54f6899bc31c8c8253aa5a6427b8898b365b644ab9d6279a96f3219aa44bfed298b3061b9a52725fa3f8db2df4963765527d19670cf8a397f0227dda85113a871a34649a0c68d1a15811a376a14046adca8510fa8410108d478c30726509fcd416953cf2582749c32921f976872ac7617dd96b14fe7800f4b74f21b5947c44a257acd10512e9906f9d329c00725ba1c2f522851e641f493e84f89b410212b8926feff7e99ca108f473abcb81e2798800d1b0cf81c3bb6f8884457da328565870d1a9390683f4ee95fb50a1f77dce2e3119d7ea7902b991cd124ad28c92cc6632badc04723da38e2648a49c6ca5932a20d912e4a9a0c29f3473a7878a1e39815160974800b097c2ca2fdf82242e950beb36d175d9c20b122fa8c139f92ccccb7ca49446b3a720a21e58ed4a979c007229a4f657e2d3293cec173882e5c7b56f8282ae493f28721fa9c21e5a07cfb42b41a2bdf64900f9e2323445b92c3250b79944e213a884ea6656bc8179b201aabc8b22ac2c33d8603d17cc89dc2e9cf26632e80e8828edb1737ef55ca5e47f8f843ebf317be5d828cc78b1f1aa5d1b22693f1cfb1630b082020011f7de854af88091353079d731f7ce8b5dd4d874c96f72b450f1f7be8ab5b44d021613d7429e297765b8460925277888f3cf4e1b1442d64087d2988872eb4669b268bfe93728756fc47ba6fef66d31e17c5101f76e8fd5723255d95cdb3a70e8d993cd52482cbe7c7366ce816e2830ead860a713d78dc497ef99843971639a69e4ad9d97b3934393e553dab2c76c8c2e1230eed9c8a1b1cda97e4e92f6abda18fdfcc9a35c552d9c9b1e38b1d3a14a00004d4b8916307057a0f1f6e68dce77a3d45da865ef784d68ff13b9aa67eb0a195d3e94186067daca11d4d32f464fa66fed80b1d040313b80ce8d8e25050870f35349a1fb627a80e075b0f37418e1e3cdeaec6160b60410e0a7ca4a10929bc644736471d55a221ad4a11740a795fc3c7197a91eae799d2937bb6078f375cf048e3c103016c1cf830435f4a631029e9327dd1294333bba623416a5c7fb30c1f64e86354eb482a07b9194c63682d35b244b1524d1ac4050f2fe37180307c88a1b110938c670f09436b1d92338fa69092a7b8f001865662be041d5c65c4a6b4e0e30b7d4aca3eebe521824cf0ec857e639225fba62e34fb323278c8a412b809ca003eb8d05f8ca42ce972aba05358638b05ace01f80fe8b8f2d74ded9153b6f98790bd142a39b41ea7e8c051f5968af3a630a11946c16130b8db014179b53cef3d75ee1a8137d43f83fac60c6c8174dbcbf29f8a842331b3d6c7cf6cc9f9223e8c277b40d1b4a85be4fc6a44976c32b7c4ce1581e3359ee524886b7965479b112de123ea2d06c4c2ac8c8557231dfee6042c83f9ed055644d15ac2d327c38a10fd9de9dba419c8ba909ed69e789b8ae6a9df24c683d76c4feebff26ad7ae8d0b183091f4be8b253aee935fdd51c57421fa475de15a94974e993d029d9cce27da612b309860f247cd963feae757747e835534a0c7f22bfc6b8113a1d264a4bc34748b294c3471108413cb66407d9c10711fadcb3607d96a331c95ef818427f5a3d74d28b0aa1f54ee1729ccc30ee3941e867937c9d5111a4a9f003084db81c2ffb2df5338e6505eb7a7cfca0d32bd9dc2fbc850f1fb461fd63792145d410f7e03e78d0e60cb331e6b489e0f9d9c70e3aed224959fc0d428e100e368318c000407ce8a0ed14d3f1ffcaab92d4c2470e3ac94182c8d17f1c74deef633206999fa2e8069d4e994b56872ed5fcb141a7df43d547433ba7981ab43167d1232f5264f49806cd9545137b9a1e2c33833e75cc14378bb6a42a1f3268930a9adadd4ac75637168d77eaca221a58342a539c334ff95b623ee315cb668b4614c9ed79747a774a9d43ca4c98e18a368ad268195253fa575ad16fcfbb24adc184acac0c61062b9acb95744cd659e4e86c07056cdc8c557439cb0db861c30617e867a8a21349635e8e0ec12a630c8319a96894fe7a0c1d529bc419157d84109328f9a60b669ca21529d9634c8b2793c898a2abb81a4b6ba61cc9b6604629dad3a495514ba4683fc7ca14c5640ee2f3458e14e40a668ca291cf9c4964df53f05ebca11d6186289a89db6184b6123a5430148dcc48f6f8a094ce715d21cc0045dfb9e194e7b6ce12539fe8a4ae980cd124a9e989d42cc54c2a73b6138d55c594250413a2112fbe87173e020dc20c4e7426fbcc72d837bfec6ca291a2f7e2c9739714c4458fe7f13b34d147f710d9d4924cb466f1513b6b92a6217a3e98818926e72f594aa8560f6a5da297ed10a256d2ac419c2cd1b5f89888c4491d0f6654a24f4a738a338f642aa40a25dafdbe50c165841e9f4ca2d1be3d3255f42cfa451c6c92682e68cfcefcfc4dd944a2534a77864e502abf734834b29e75e68310fd157a4417ff51dbb365b50e228e6854e80f2e965651bed388bed47fe642e49c522c1dcc6044a7744645c89632f517d1a5101e9e9ebbf3c2ae8826f958ce1a6652535e13d16f92f54b96e197a5f462713003118d892c5964e5a043f4251e9ac2928bbea80cd1e7ec9f52e9c83c2d4d211aa1d22c6750211f539636984188f64ce59bbbe6780ca2f378ca4d27e11b454b1c6cc7bbf84210cde7a5a4a1f4a9201f1e39baf81e3970a4808b1e3f824034e7177a1e4d08108d4a5552278a5590a6a9c18c3fb4f9b192508d49b1a7e4872e828a60c2e2881c830a0eee43af9971a29c59f8d0c79422b3c6f99bccd93d349b9a34564a1d0972d34317dd7734b5a58e0633f2d077d01d93e50f566d263c3452730a63ba6377ad1977301b33ec805c821975d019744034630e7dae2c937f4ce88424cf90435b716476e7c9ae0ef28c38745183280fc969fdc2a19f9821ccaf455be637b42e93f243d61cff5437f425838705fd7d1bfa0dc1639849a1376cb84793bf9f3534fa4c988e91f4c8fc6a6894ce3de254f4282a62d2d0891169f1b4a3a87e091a3a21c389588f6825e367e883967e6e096133f439e990d27370cbd0aac42cad247146634a863eafb3ef6ee72493a563e837e564126d4a31345e7af37c2c094ff90c43a72be79853b7a7690a82a119a553afafe22437f10b9deaeef07f0b2a593e2fb4415c0e420695295f785d68345e4f47f8cf295ec785fefc3d9cfecb163a55aebf3953f33ba2853e5b6cd54c962f8b5968574fc414d45f459685853ff3e29a3ecdb842ef155d2e583e1de11e2bf459534c9dcd440c73215568e2c413bb196494df301538ada7d4e485750a5da48a3e3227b967c99442efd65ad55983fe188942ef163ec4bc946fdc50c40c28988d194f501b7682194e60c18c26e80c26a07f72a8970a8da183836dc6126628a197943d6fbf886f1c2a6624a1ef95a0793ee81d6d0b071b49c30c24f49b396807d13c4f5aa90cc38c2374f284ce714af6cc8ecce7d8b145e1156618010c338ad04691b790e374566bc4883083087dd2211a3524a81c67cd1882d980c00c21f4dd15bf247e82d0892cd9fc5d2947950f103ad1ef1df91dc3754b66fca0f7d1f47db310535b7c055d78318167418e0bd8b0614310337cd099475332c28c1ef47f25aa3e93e28946b798c1833662e7af296bc60efa1483ce262c291142c974f4e002078f137c911a98a1834e27655b8598072d3e0eb63f5e380a90172bc1f11e17d8b157f6811939e865c3ff9ca920c29c81832ee7eecd315eca25d7797031e3068dc7bca59a61834e955610a6613588986ad0079d69f172a5d4197468d048cfedef96449e909a1934325a081dc27f9fe5f80c19b431567bf6668c7bb8c4a20d9a63fe2dc9a8144260d1e8879371d1e4a5b8f02b3a1d74ae67fc0feb41eb8a2e35c4105957f6628e59b4a2ad4acfdb9373c7337a672bf81d8f838733e08090052b1a6db15963768483cd0b1d392e8b55f43daa42fc4c0f071bdfd8408d1b352250e3c605fe1580beb2504523df4d9c28f9ac10155b16a9e85265b1503e9e4f69360b54b42b1e42247af47c414b64718a462be649191515a13aa6301b25c8a2149d086d3223e4c2043a76242eb8d00b58d0a2125a50a23df79847e52b4ce6c7c1b6822ebcd011052d26d128558b41821692e8c394ca54a95386a04524ba5c2a549f85ad3eed6901895ec4aa92ba05079f80b57844a32f3a8248ae7e22bfe38b33f45e8c20070f2f30b08ee84735b533484896a7d4a2119d4c8da6b45cd40c9f33410e1e5c10f3424702ca1e0539763cda2ebe043b76e8f0028703b46044a322f9462c114a6fd62ca231f11d82bcc408ffa722fa4821291d563eaaa3a745223a3d6139f3e404115dd263cae4c3acc50ba971a3c6ef38410ff76204392e50e3c601f4a0c5211ecd4a32ee788caf21d8a05f255c8fc9280a6e0b5a14a2d1d60df3f869c12da70521b88cec655612e64b3c6ec8a762278dc905821683e8bc25265d5273ae65d542108d4cd3148b31ef2c6ba0c72f60075a04a2d19d295b10f1b2efe2ace0860d1bdfc559810fb400441f732e09fda32382167f400789f942f424f643272f8554a1fb4d765a07b0eb43134c56a9b896e3ee8570b071d185c9d145179eeef8d06bc90ff1b6d017eaefa111ea6722ab7348c8e9c27803d014a0851eda9694218f67579e48b5c84317728745ce23b66183055ae0a1f357491df4b866d3dfa1df609e44af2a63b67668724a42249b98ead005798b6dda253a34d23b58c812bd27c8736833cce41191e5d0e7c9d99c6dab9ca41f874ec61029a6214413a98743a3d944c713a2377432799a65d0b1da77e40663b0b0ee300b6a439f29abd22f83aafc213674d96135f846cf91f1b386dec4096d8b21470d5d76c922d63fc9be9c4943bf959e632c558a2967d0d09cb45ed1cccfd0fb270d2af26c8f7ccdd099921551dc4744c7cad0b85bced07162588f3919f66c0cbd6b3211bb83f627cbc5d0cf64091e63f4ed4c0a43a7a616b3e50f18da0c626111f6f2852e53f2be8790acf52d5e68336bec28e16f175a97d4afd92c8e6e5bb8d0688c68aba79c9043640b8d08775db70eb952275a68275885139a92857e93498e3caff9439460a1dd8b31cc67b68e4aba42672e274d7f461e21b242db9ee12286b898da53854e980ca673feca67712a7442460b4994f2549fa7d05658a6e5e97c752b854645d4be1291c94ce3287459b645564a8d71262874c9ab25a40a2a4c8e3fa1d7580b42e90b49d55d2774226f1ca121e90a3ad984def329cfdaa929be31a179cdf14b9cfc9c5aba842eb7291d93923a589212da0f2a698d5131e3a12474ed7e952cac66f40e121a1fed72f96b2a3673847626448f2244c60d16233429e6fd946287b95e843e7bf0e41f2149843e251322c4d1ef10dacb1ef386b85b72c91442a7bb49899c54bc449841e8d77488c41e8d115d02a14fcf18594b82ce86e00ffaac20f38fb8c46c5af441975be7dc37640879b107bd8898c5447079d0462b91186a423e9c3be8c784768b2f6e3ac474d069b1a01e62fb9cb230075d093d91de323a2b87833e63be90a384676eeb6ed005d59f4b7f0ed1e46483466876de3c2e729aaf41fb414396d1931c7f1a349b3d644cf7cab1cfa091d8da5d7146de752d64d0f8e520ce4324167d8ba996e7b89ec5b06882f825ed1752e448ed15fd26570b96c496a8902b5acb493ef263e7913b8d56341e27fec73e1119d060453bc9da646be7959cec021aabe8444c8bfef8a74a5a4f4315cdc8b0e0dbe641ce07a5a21d95e1159b528724d34445eb254257568d72dafe29fabd1cbf6334fef7a79017d03045ef1d53ecb5106bc9644ad1698824f1539fe51c54a4e8f4e424c36c68f63e35053446d1af09094a6b58f0a493a268d464a23442d1f675d4d81f29445818146de56db71cfe63f9f38946fcd32b2e9fb69c8f273ab9a647976ecbea89e944dfa75922375394cb544083135dc9751c9d1c753464137d48089bbaa6f17c7e4d34a9949b7a5096ddb54b6f010424e0460d042400fdf12f2eb0827f008d4c34f274e474734cb82cc144ab9a3ba81e5dd9bb449772180d1f92b8b5e94fc312ad6998ca313207ed53253a25af8306df14414e89125d0842e9987c5327e1e9d8d183c72386c04da2c93104292a0711f692a5821c49128dd68dfa6fd647a25ff9384177837989a0dea0018946e425c41fd5394f483ea251624396ca7fc52cb923fa909312928279b724a12e7470f13bd82840a3114d92e261e435e7a230a2cb61d4a48778131b94ff050f2f724c80c622d2a53a7f8c1e13bb2232b7ce6d0b6192884e5578931d0bc24103117c0c8df8199a4cf47b083bc597d7ab180d43f4d9a63c67eba6108d929b9ebebf65953f42341ebaa12dcac50f1b01018d41b4333186ee4ba682a41041f43323a2e5a4c281e8c5a4c50d5b1e4034972bba31e41253a1f322053ab878a4c30bfd439fe44ab4a482ce94d50f9d5e5985ac51a2794efbd0296bab901122d759e34397416cf6d0c61ead9992c793a6103d74e1845025cd3c74f152540a27ce1d3ab8782f7274e1458e64000d3c744958a766790a2a80c61d3aef1473a62c593d494ec30e7de8989624ee84461d9af30e4963276cc620a54187e6c435e914524592a582836d8713cbb3008d397411b4925e7516a5bc24873e55a8c5f51cda4de603d08803bf49fec830a94490e9e8a17768c0e198359cfc675679f0e0c2ce231d3788f2b840d9008d37b46142a8f29831db91c32990eb867ebdb29bcc63263c5c4640a30d6623d16083d15843da396c49ccaae1f2b21c43230d5d5219cfa4b4f28885a0c1a0fa7492294e72f01813d03883d960040d33980d1a65e845cec5d8247de2ac64e8520a173d8f11b2ce3f86663fc43051f2a8cad9d01083d920048d30b00d6880219d637af2d8ee1547376a20ad7183cd0834be60366878a10f6e2563fb4553d6c9176874c16c60166870a10b32249e1091b4644d5be8837093bf91cdd7d5d242d7ebf9124bc7c145230b9d892819f48e9958e834ee7cb414844e5036041a5768c255589313ff910e099412020d2bf43be3565aea1b23e70840a30a8de4afec613ff785e554683eea956c7c0fa1b3640a7d2813163a2fb748f6a08086147a8d2729fe28a3d006cf21a7b44a81421fb27ad2632169c8d43da117d3b97fffe3454c3d0ebe1dd07042fbfe49f2e61055f2f3349ad00697d114842425da6334989090a173051974c66e09859c285abe2d6e7fa684b489454b7239a39184754cc8fccb215658400309fd068b095e5a447772691cc18e8611ba54296412db29e163447998a251844e958a39724c16646f9a0da041844e57260b72f1d3df9286d0682eb1de1f31f59c4908bd58ea077951e28a9682d0283d5f1e45aac98a3a101a213a4359f2ca0fdab850f972101e41e8ec83ae6368a62025054d3aee419b4352abf2a0936a4879d0ae96884895d11d747a567dae27a824b2a98356dec39e28951cb4a627ebe6a80e9353c441dfbf1da6746c884bde0d1a5132056ff7fc7e49d1b041e72a1244e8d15d7d41a3069dc7e659d1a3f3071a3468434557d2160f1d5f70d1c3b9406fe73466d0c74912d2ddb725484d0868c8a05195142f5bf5452fc96de02316cd47ce6372328acadfc3a2cdfb9b6ba129b54cb92347e2a204ff5f94f165e0e3157d5c47137fba5b57f4116358aac9ef0b1fad68f647f75c1813e24d26adf0c18adea2294d1142b2d07fabf0b18a26e8af1c297ccca9995d8002366c48e143156d87dc3837113efb44fb48c59f2bccc4536651b1ef24b9246bd9b0b174f83845233ea65c4b85cb312553b4f3394334692972662f455f71e554876b49d17f89b1b05c4ab5c89aceb94d237eccfc8728ec30167ff7739a0bf8084532664ab93a8a4c7ead063e40d1e8f5c50f3711287c7ca2d3f0e197a94f9e6892ce47ccf12f9d6842588f9764c4cb49279ce84f3325ea4ac895396fa291a56390a02afaa18976342d04a9a67921ad40133e32d1c720ab2246ecb9688c17a8d4cee5a2f248240e8643e170281008ce6f0f631308001830240d4522d1804453357d071400045430223c30321c221e120e14168a05c25030100c0403415018140a030061504814369a453139007a20f37ed15837c1d6fe2c0caa31c013f044bf6978f57d5e5aef3ebf4ce9940b2f172b8f775a5d726ccc8cb776eea73a3e8b658f43913fd2a4b032acfa1e2e7560729532b8e1272c60c09e50d9af5f171e833dbf48855f0976353603e348f0660805a955aa3353e89d0c22fa50e4c60d0bf22ad67449915ef2656a00688ef3d9453d39eb22d7c9ffd13fafc853a97ccd7222b02e9c7665baf955972428afd2a6f7f2eba4c562f9ca8b8a9126af58fa2cbda57103c578c5b827b39a40ff36758fa17edc1e3bfb83569ae573f7810c80054dc555d3897b3e3ed426120963985618e129b7ba1966474a452d1ba17a511955949d831110fbfbd591cfe2e9924b5d868800a1322360c9855910ac9869a528633af884882effb0ed51e2cb6a77362849bf0034a2c446de5607e4a9fe749b6c45dbe69618c215592a253d94fcadee5f3885acef88466ed58650bf7caed8e91b98e414b8b40a9a0ecd2220d61e168a4a6793bf7035a234b2acddb8a1a49c54d0357282e21da18133e84e0dd0eca3af7cb5fca13a9607d101d1e220737c97c4a3377425e955cfddd133241cae30636897b82bb81b78fa75ce08ce920fc27f80ab9260c7ad133503041a77d7b9ab3166e3134b82f5a545971aadf838c4141e5b8378bfed31b1c22480245726624e4df7adc70a2e1f4a2db355effea4871ff4b3235f986454049c19e38682c2734768b7f1d3fe7649f87169c335944ad8196f8cdedc0f65a2586ebb7efc2e85b214384217cc17ca58c69c608593ac2e4e5836dd040008471da8542696cc09c17bffcb3e54c9e626b76093a866b2655a22e6e6b3e2e42a9a2dcd4ec51cd19ce8ba8b53aea41050acce4dc1ee567e4fda702fd12d9f58a00bdf7c298294984e7810d5075673206b8ea80eebf9d164610237917ce7cab056c994a17b3acd4bd99a469ad2480b972e45d97b4292b640813d114f59464b745249014c919276278502c55eeaa280cb0d510e9abb033ec16d98ca4c962644b3a509d04412e67638e3354e3af57b5a0eedd22905a571069e220cedaa3ae18a75ce452106b6e8914e8c5e3a19245d44c67627a6d165b245d240c51ac2450369228bb687ff50f6fd74cc24e379f58840627e42f921eefd0d1238c25d570ce8fcc317f6164478f9a3c5f50a126494a764356b800fa4da1726528a570334218a78cd8705d68156f9da59d4067a3611a4214256cca8e79747b34fbd7193934227734aa5138b2a6f9cc8e75806b6664297edb12ba3f70a4c2023d88d0fd9e282b21108110221873ae18694fe3758e5ebca1837e4e8e474ba3009ccd3498be497995a270ad378d731a53f43b7037f03f27ec9621297013f38c626372271f1a960a0a636804da3d398d09081691b6d3fb7451a6c86778d943b642c5a8d0ec325c1dec126cc2065dd98ca7df7c4d896e5988ae4695056c305192a7d97875e879b957e6cd4ff515d7756c2eba66a06193bf4a454d98c501644832e0188801bdba1c9a06fa8199fa09d65a98a92e4cc47c006b4e4e29b451e7c8086039bae845edbd71bc4041e8966215b9cbe6a01b0f0ca626cea6fa931f1eb5fce3ae27d960853c0f867845008a2ebe3993bdba8fe1e988b7d0d9a2523e6c64afe603fee777a1b30c4f5f28b894bb2807519eb3f27d275fd10cc58266087a89b4fd4c16f87cf64bda4ef2106a2d8e43a5b99006632edcc00b9f2c277b660fe7a30a3c983636b57c3e8ab1870264e09d15a6f09b2f86e4576eca09f4289340ad11aad99470498e06d626ae6acee7062ba6cb9e01f9b4fd98fa08a8fba773db36d6300c203290f7f006fcef089ba4a2c661457f7e9296f3aa6325fe2a18193d7dcc8047e064c44ecdb8ba6a35a871596a1664af0fa55a0e1117a044a82d7576ac88297ce15b1d03d267c5701f78a134992ea11cd2ffd1742d70b17a158e43802bdad310f5a264f495e7af60719def57a1d1adeac0e02bba45e1308b68483fce3962bd8fd9496ab177ecca57cae4cf8113df10db63a89cfb16e202585cfc5412da3e42a120dc6e9e1b8a1fb1e2784a01faf57d44c0a22d37c12c810c8ed64fb5e0a65da840c1c33fc69f3cc556d3cd73f16ee81198c0e4402233c07dd8da858ab37289b7bd353db9c073207ee64fe6b67602b669281bf5aff127ea89d9a3bbf63ba1a073e195d3d8dc9daad6221dafe80cfd8a29fd16412538667a1873e1e454386ac035c95805580212130a0dfcbfd8fded84cac8675a88f787a87b5cdfc00356453147a6691d6566670dc7728b226d1454379725eac0b106c8e521dd5796d85f152cdee40f65c98e5655efa8b0c57fc769539e20b540da788b2ef2c1ac07d6aa10db7a20500a8c1d3a1688e844350b3c26ce76e91663c30870a1e2028088b6616cc4d8450b7100511f8216a99150a7085fe13d27d72947dbd36184eb4dec8934a6cd235ad817402f283cbd7e81f0a648881f53d009241f0a0b91d26f18fdfd401509c2e2a14221ae8f0aa67b4917833c2d9715d71a858961eb8cfa6c3dc2f75dc8cebd07186954d37d8ffb35a29f7000a1f4bbb478e9055673e4d74a7bbe4dd1d2db45a0a4375dbf864792a6ac99b38e9e12cf5b3703e1cd4f5e062590fc6149116a368f0aeb0a260bb8f3eaec795ffd14b08f4a2fc5665a086ad3784473b56a308d0e6ea9d99ff9dfe59bb24632b0e409e5b4534807c253902b7a157f14d09a05f5f1f8141908f6cbecbba5364a27c4d50de7b87a481cde526a417471f9300e6688f992f0d4107e3f78a278d5c9be7521ee0da2083b7260ea1a1d847968bf9908f7000d5b900e726ccc33f60ee98ac96835737a1e269404846de9196225863a17554e408eefd8b410764f757d1757b082ff536966222a1a058edcf184f61e1d8abca22958eaad1254afd53eaa8181ab1577277a9ef36df39c36a9ca5c3c6a843038b923febf3dc0518b4b3bc6df6be69335b146027ac249621708a90f4b76e2e33fd3464dd83a251a18a57521713c1288a970205e4f1ba945e62be1c1a55a2a6c69258095a62cdee1aae4349243d8e678c02b9062795c9eecc0f0b115d8f704e8c11e9e0fb9ee4ab70775b347c63330e9a36f4118731607a8cd082288edcb3f43aeac077fd3ff4d266ba4bcd812545d107e18b5f28f4430663e528c2a069b438812bc0a9fe326e53b84521ad2b44efd8d4a892901be33c513d109ee144bd439ba50b05cc5e6488e6159779b0121c2641b4f649b526f49f32e6c2397920f28d762726bf4d2de5b85fc8155c661bf6631b8a61dd800f72c3d084beba37bf2936a9940c1b8b0a821431f79095c199fc6d8bcd47e2e3697dc2b1d7244236e233f9a6867617d6c095b550437b24b1b9e85c6c2b8be0ed1f8a8245f04620257b3fe2be750e77251208cd05fd5b732b3d543c2fa2f67d20c51653aa43d4440b94a6838aa9d6361a29a20b04177297049dbba446d8c8f88db22bd08c2b4812251532a86a36ef89779ad54c0df37946f94ab4d4014996f27a6ca92a7fc9cc850366d9d096aa4837f913f133a49b8b8a44a8912442c4ecc4203592b2c1b13cee44578a9f4deaf1d6b3352327a2c58dc5dfc04da46524c23dabd9480a3be315a51f97ffc8f843eaa333d8844ba01b1fe7917855e1a6bce5ff6bef699634fdd3ff3f2ea4449b45b56139dd1df83e69c9a1b36f3a246779c6794bcaa1c0ef5426bcb0d315f9d81dc248cdc7e25a4ac066049ade20ecc04951554a85aa792805f1d2d10bed21289c49693d4125de9775b5f3ce3bc91ef3fad54c9e3359e380d801735ae6b255dfa2f7970c03c7b1796b158d2d7792e907780102292e75da90502820ea123feb1d4abdb772f39964d48feaffa21f315673859409be08751cdc20f538742cc3bec138a775f6b319d4c7ba33e1d6bdd4afc0354be86e5c28593fec05810ab95856ea4d04b4d65da7568856ef064de0d927b874b0e3cb7f7aed09a5955e52233937cc28cb5af4945cc20a34205cd9c6d3708183e50071745e1bad0fe3445c5594a121a162e90d45c7a083f854f540a527f6fce98d558e291a29e1e9a96589859ae463b3b4ccf55cd8413def57a9a891c02f8a6a4086f2847fa76a6d984658cf11634959ffacd05d4d1ffe1b1ed0a53ba0cb8d9c309dd8d2ab8435a1c3402b2a22ab28c8ade2e06303ec86ab40def353a51245659dfc4f2514acd9ebae8f400028cdeb1a2194be9a960d5c9033afd108ffe7c383bbc5b445babc975afa4795032ff2d83c553bea47505c04002e25ceee322df81d832dc57d88b246a596890de16f0b07162e8212485130b1c6c625adc0f51cc3b00e49b9d0af27c7acad49a6b21b5e08cb65ccc8a6143edcf9a070ad9c6543f4b8066a6ad99d285eff1557f4f206fda8792ce4c6b4778aa5b82074b01057747b3380208375fc4c681ec27023edec0832501cf58a5a55e9502b9823603dcfabbcc7724aa287fbd65d31212a9ce0d575b5985743e90709ecc909f11a156be1fed844c3450f170b51e71283e324b9e45a624ee61e4869a2dfd80f952eabe14770e5dd8375d930c78c97431183582d786e76b0b6cf87f27ad4927be80ce6eaa0a1365435d4318092205548b6bbedd46b32769bfebf520b8459fbf536d79128a572484e3cb4927f8d1fd5f9677511bf2cc547a5964803ed3d0b29fc38210abe7263ba45a1e0944e066f9e243542558e95fbc2ebed92a54823303c041b257834f5172c05a4514459c97c7e374f0c7e8930607a1018cd92579d9aed678bd6be00d45543442c142740d86c08cfbc44e40ff40e309bdeea52e3724a6b867767598e59b5bfbb766e2dc6d844751d38ec88db0ad802c03715db339578302a32dd4095f65a383756626d15c0ddfbe710784c55387982a16323be09d3c64df4ec2be62d1d677bc83604586ccd2a4122ef07d1c9046ddf553c51e76f555bd88175d901c1c8f5312d38c993d65afae25700910249f74452a4a2673d791dbfea538477cea146804d18c561462ef77e565929935efbad594393c085de49cbe1d05b02be21d032dd8b28f3464f104d8a6f45d2c44b230025d2b116111342f059931bcb78493e9b8c0aab117c9a87dda3b649169e7868f7ae9f8e2ead041b0d1fa4d82f47a3ee59773207c068ec17cd331406cdd1509319e874484668342c7e5c9fba5a715b9d13d90aa429d7c4b850db0edba994dfb8b719030a3b38713a5a20225a8c278e3f9e5c2b1279bdd23d975defbfa574971eac7dfcdc89546ca1d54ae058fd46b471404f5c1d7729f05a50565068998bf5df78b5687a7ef4b717fff2547bc3597a7e59b425f736a7c47f061ee6ec82ad2acf22b4184dc8eea9d6aeea71c14789db2fa2626ff9382cb7944e59ccfc2a8d361d76fedb0e96892e2c4e96dfa6ebe82d2ff9d9ed04d9c7d286e0182fac7be2afaf12c494981cfccad7f6d8934d22e3e9d588086342e73fdc0812fc80f01573c48df517d58b545c705256dce21c513937332f032a2644781c42b1512450df3923e32586f4907c6303cbf5e9dd0fb733267a3812dce00a46d6814ee63e66c110e3b47a7bf42fd99000e20221da4286b46db21572511027571b5d4f73a7e343c83446bff0297d7d09bd083d317194427378a446219232176693686876b283f3af684c7f088c3422ff170a89ad4a36b10ac5e062fd01980845f16399d525a9b8563bab3979b2c4c49fb3c806a612c9ae9017f31224211e541aadb639f87e06c1ed62c2bff6acf3c793c356b1875befc0fa1376f27d915281838313ec00ce049c11959b861b1c603f4498173e3af989f8a8ff013fdfec1db7cb944e814dacea519ba6d769ff0d53e2ed5bbf204094456908f9877176c48ffc62d325ee2e111ba2f5aed77c82b5c0366c22ca25f7f70764e455123e3f8edd7502e1b1f6ed204ffaf2c3e686e2a65f3a784a2eb4aa7c0a4ad29edc4024722b4b266e6bd0218385ca83922b391a2f2438ea548383b1e4dab290eceb69673ad473fac8acb258f8945b059d3090a9525bd6387469484dd79249882ab4210f1929785ecb785f08ceccec1fea2abf425e2ffe3c348a597d406dd0d1f60ca03318526c48da9201e7cba0038e5d660dfdaf82ea2b5a4c08c3312471c7a3e2d4ae0c1495d8f8a7aa06da6f4c69cb89ddd1e00e1b1de8b5ba81534a16579d49a715f79fa70b5c5d0b4fbe8f144abfa80f6372bd53bd25c293a9b3fbe27f98308a7ffc60b8965143a3716b7b91bee8b9661549a0b657030e8d966a3cfb566772eabc908b6ea11fa45665addd542954ec87d871221178aac373e981896dd5aa8d50c65aa5f897d7722360477607218926fe3f0fc1c721ec11af5f72c617f39a3c64d8454c3314244c62fc5356791f94d1a518dc54028d60607a642d3e72fe460fb0d8a7f16f77fdf3e5ca27d4e69ec95e50634f26ea33d74c4599ddddca24511d777b2d1cfa03218e01bd395ad5ea31f3c97cfc74c7f987bec44a39a2d292be58f78f5294704973590f0703f4434cf5ccb6149060465a11e2aa433a8dc8c1095fa56287d4ccc3666404ffbc6330e79a408b18264423aab84d8bd4b70315bc2170b721180da504acc1018ce06c04a5df81c225f03f9fbd976466b4cab31251a7d455869d39dbf2b055419b18482082c50a195ae83b755d47e7ab7bfab4e9b3a6cf299f1dfd1ef491ae5fc1f0fa5b510f72e4fa2148af3c4d074ffea9ee7047bca2afb3e3a472fa5dafeb3f987f8349604787ee0ab53081fdecbcb82d8d95a08ddfc3c949414e5158ce866e453a913eb96dee0a546eab8100bc3b1d99198c47878bda284d1d89a3c614d5ee7545ab1a54eb92317d52d081c0e23981d58e900ba71f470027774e2b64f708ebb42204f2ca9b5c53dc599bf46ee93f899f3173537bbb3f661a8b39191b4b0f4f6cad6c5bd67d04c886e81f3a8fd2ddd82402441e0f339b512666699b822e1b688ce6c5b78c927be9e875f4f815dae34c9ea456d5447d8e29540bee28526635ed076eae9d25ba81bb29744f968148962db652950f4b71f5957589014d5192ec15aaa9ee3ec59b49f88c3a9b251c37caf71cc05e520f7546888d1fc3f81e80107108402edb10279d88756a9ea571ec0e8f084d1936c8ed10435b6769f7c25de05fd22079d1a76f58579cfcfbba676a2c89acf19a5f0a419710e88698b67d83e82b8e25760d817a5c4d83c49d88f1bb2b3127d9c46c4d242b828a43b47ab08dbc04b6951a3a0a378ac623045d58a908a58432968e18c466fccc12457659ce877e62bd76c8b1676e6da13bf5c803b3ace224f1f7d02f09cd6aae8571d385cf8b30731cf8c34b66e3e0ee027497adc5bc5e0feb3287bd6c95193495c55f9622cc6bcf7e9d901e97977c6f2b137270dd7e3b1bee1638330aab5f884f2661a196ff0eeded2d2bbb04035fc9290b66e930c738b38743d3a37fda4da879d04d75971a0c0ce0395f6691c608c4e9b14bb9aced0e9eb5833e2d88fcc92c2b553de41d3247705129a7e3cb2848df137e8cc1933e0ddbc3a824f35707cb65ca95a3bdc09d515906a24db4e8d9712495e6244461fdf7f2e38ae25fb12a86571755754202eabbfbc0c45f502fcc3f2aa9f6c846877dea356c53916bd2ee7d44342fedfa63554c73a257a381da7166e88af993f8b8597dfc94794bccd0bfa652272db15d8bfc7ebb2fb5c8829ffce39b85f7ab8d18b9ba92dc7a6b639defcbafba3a4118b25728da8397442d83c492f54786ddec0b349cb7d598f3f931466596a63b5cfb8ad8965d6ceb94027bf00a69de41b74b8ad39dad9c6223383114e920c460526b3125f75a13b71c5155fc477cc827ce7db82fd91f2a523358b434781742cfb3c93b1718c7f94a62d789e36ea53b4257b4aee1380ab9a391d0c448019a645093d819ef8635a1dd82fd7a838c29fa5d30e26c154bd9017740fcdee75094a588de82d152114d615f0da0f1a257fa64e95c0d5d7ae6e81fc7c991596b0f852de0ac7d489b22ee4e475a0a34dbbab84d9166c18c9a9ea8312aa5dd624fbbaa11ddafe88bc4c1a22b89d8ebe191a931f5572d920239b727a00d36a6c434b96d3e58873aebfa50bb154bedf501b9be931817ad92b6c3c62cef3139ac056b2a99d5f404fa96269e78397d525d920c7feb8d0f3cc0239b42b0aed4716cdf6b87ff8a4436a4dd08eb58d9ff103c573514fa2a0dedfc7913db475781970a8d5a17527dd2c2b7411a4c6bd9f77b062014a76e5917c596293b1bf8f7891be0b83267f3f0769d915a83f6ead7d58d8ea4fb99fbfe7a981785fc75de5d6d314ce10dfb7255e02caf936e5ec5e4be94d2dd3d9c063d82ee49f8dfd7aac1cd43a4180913eb1244a2a3ba2d28e3d7423aaf02cd5a4324c349b106dbb128b89b277a1c9c8a05cb5aaf3d6f19caaa6a611f93abc1624be364b83b6089afe6b8daa95f36b80630b5f374e38eb168e74d9438c3760970f1b7f37035c34c7a98af5ecc8ac395c2636ad4bd36e70a639635f0fbceee3512514cc4361ab14ca76ff342bc2f0d62df92de0cd2ff951acb5a1dc4e937ee73f1f677c8655f2ab5e9d18b747d30574bb85da45a0e6a8f732fb7af153a22c35fca440b56d50d0e45200c617af2eb72b2731da22e15ffef599f7c8e9420083f340429e068937e8e04d9618c5154613d858e4112d207acd38c360e0201e58314f9db82c39f6cfb97b6590c80afdfb7707a280acc09dfd1b8902c99324d30379d799ab2508e894b34a414cd201ced72a21cee056071d687d1c7e92ac1208ef8755c0517afa5869db31a4c37022098b4ff11f79b50f4c5fe28a60c0757039ea9b8ca489f0907a0beb283e9d262bb17935f88d4035868de492313c2dc6ec11566fb5e200ed3510f355ef6f34951bf0104dccb7c9f682aca0f12e5bbb5abea988d9945132453923157f09836be2ba524fb99c189ffdd754bb06e6b0d6310beb2bc20608554a70d22592f5888d32672d410fa63c3a204a4a293567e06c26f6c4da644a439f33880873e10a118e1c9c7328ea4fed87b957d748be21c6e0b701cc992124f504c44b4b17e8ccc7b113847b499066623fb6dcadddc170d4d22e482bcd1f6843e0d97cde022242804a1ac02c853e57ea2affc173d0a302dc969d91245aa2a73274c292a461929649a07d868bead772e25652de5d6ff55c3a027e0736cc18c5e6784772b3af44897062e214676b657bab19cc8a5aa66ca0a49c443cbfbeab209865a4ed641d8326c264330902d354e22955003fcb003591819417012add6e6cf920e0e08624609f5379136e8305e33b4289fb8b878a9235830e008216e3f128b40f795c1901229c7ce2e70544c5af5e41d29931c23e3dc9ff3a8d2aa2a3f5b28196fce5eec497640f3b011105bcb290075a8baeee292960f0d1dbd7da924901048a42b569bf8725488ef68f43cb360d8715146fb92cf93a377de4498abc25f98720ee209651b3559b669bb1b68d96adc6cc946f2f93be012396740d682190343285b392f2135df4bd281ed612a94f275cfc3e02ffbd2854f26395becc2bb10fbe49b1119a83b8d340ed24daed33a27a0d52a6da9ff8f5e5e5c142ca0ab5ddd4bbd1e07e5af0e2a41eda970dee6f9bfd2aee8b570a55e514c9b83836f7876080d19a54dd61a26717c4b6ccef5972fd3222e9ad5cfabc2abf3cb3a882d042cd06b029084c758c4d2291d64d85f0570a52ff64dd758a81b07be90124c6db44889df43b724450d1902587cd92b914c9ad6676a31eee2bc27a18dab29f3fe960713115ed6b54863896305a4ccb24397522983e548f82c1217a0195f74e4f2e45555205026d9fef341115917c2a1511310b9a5001f65c2d067c7b2539171ea95822b4261115397400cb575d644f0087485432ab533f8dd9742049700cf2c5af8996f5b41a1119309c9fb3ba582df0862aaf10ad1af982d2575e901f30e15724ca9c2302fd94af993024d78a788783805dc16f33daa272f5f7467c42d20921042a635181c83afcaa884944b0e3dfd4d229e16a474be53a0311ef8b58f4b8cd42f567ac5c12618ea50e73e39dafd54d5aa70075206792fd2b32d1b5f4d592a80d913d45a0266379dd68c1621bfd808a5152a41caad36be3f180b316be2247701130c99123866f7bf0e87f7b62171015f2bfc91d713d9f28751825ea081b29c0cf091c8da5eed1474af9859defdc668a4e32993a89522242659c6dedd23814900cea095ad8a469c3902d53c4b7bd34199d97b6a2395dabad2639fb037a84b187ed899e4f79a0244bee3bf6bccae10303adca10580ac8ef648545c61f7b47b027a86783208cbcb0224e325e162696169366770d0a6e3c1239f0c71684c1d0745cd969306fb3c870d1b29485ad5fa167467a1911e380655ac2b93ac1ef44f474a1b1a04abae4797d1dafc678f514acf8c580f2bbf9936beac46436b05db9586d4c0598d869adf08e7cc76c4ca88a83f863cb644461d38da53e067f132b5a7bb8324146c2362af40417acd8bb969926fa5622c8785179b56104e752e902ff0c645015dd38d9665a060c5b4e2b17df13f9abf2afb9bf13480964104846aeeab8bfdb0dcc0c78cd673b1a9001905954cfc8a1e3fd08ddee4cca60ebeb14ec16d5984dc2b078196ee93abf1f2ff5dfde97c6688de477422ecb99bf894fe653cf099e7189b9439c7de166b4a96543fada2533db9b5c7b6c9fe21ba20123438e3f0ee6b2e5cc90b0f793dc174f7f0721887482c88f34c94f6c8060ff18e70ac55080670d0af03ff45144f1bd48a5787a9ee528a669ca741434b1645387f455ac30ecc2204d880937c72c430dce9716da1f50874746a2051c7f40522fd084af34ce72bdc4a59fd2b89b95a43bfa5e5d4594201622812d09969884944203a25dd4a1001b166607905e5d3558cd4b2c9062d69d44726cb41ba5fab640c222c4e73cedd97f142c4c741a9fefdcef7d0d437139b95f054468e2adccb98dc10263a973db405ac8be29edc122d4f5921cfd90a9e76a737459307a912126f07f733d8f96a2261b0648bc943ba731b8979326f2e26d6114581a4b285c964dc149719e3169aca3acb610cb5e9dace52db59eab8f48dd908fe33434192f26286c10bba94307594039968bfa3304761d84538ef59df4fdcc14c1eabdbe2afe8dbe5280f1e4c494980852ccd1aaaac234ef61d3180ca0f7148d9191ca979ca65e164f1fa994e153cae11a9d67bee3ea3cb3d1be3e45801803dec06582bb1cf099c218b2327a068c1bead2eeda06de8e63912a7cf3188f3bef7434f57c7eec18d7dc0034509cdf5d75687487d1450a12e09cecfa8cbec4220ba172698b160ea3f40ea3fe766e55ee711f41f99251477500341fe41e098509e9b49f8356542bc47b039044e7d5e15a8e1422fa684a2b8c4460968a1ebb2c9c524b7b8e209147855282d578d056326731723fd3b4564130e9b42e9cbca0335b0a646291469ac29008b15c1b9f2c0514c0c1fc000b8190fccfb07fbd81f1c0ec3b4d5e60069f6fa7e523722a53981ed200ed30db783c5a901608aa6134345ce2cc8308c550de205670efedc1ab0a7c6092e7a992c770cec4ab6452b8f381c99db223e80a256694cfd38443c1a9ce2e077749900267f5409fb225322af484e16699e2416aa3a5fb8c41f2f9773edd0efe8863590059b0893e9634393f766acc4de46f929f09fe8ce217ae8965e253e40117e82a0851375f442ef87e40e8a1eec649d22b11c49bec7616ac14030818b37c2da7b3f7772581c2fa4ba07843c631392d562f42f9b551a8531f5bc3e922565da8e56701402fdb848c9767b56ae16f7e04b0d6620609d80bb05ec3de8c9001201421168aa94d3df0ff5b63e2869bb9aa469e81bdebabf6427712669d68772a0e4248443ea784a31cc0f88cc599ac23c2fe164b2db4b7777fc13a24fc9be5cea954ab2a98952afb6aa8bf1f99ae96acbea1c858532d2f34a05e1b74974f006bb66d4254b6bf35c381d17eb802ade8ead1d3ddbe4743a32f744cfe309c6cdb8a10e0245de21b429708fd7e4b10f9c4127de50bb5c07019e07439d2d539953234036ad47599fd89e445792d03aa468d3f9543121baad46cd7026f31dd1cf86bc86848c1d46c43f82b70a946577990b4c944a654e623931da6e23cf788764e218bb71ad31120805da403e71644004bc82220e25254633d27cda027010fe7e2d64cdefd7a16f16642320497b740c41ff6310050057f12446659dc3b6fe2c0dd53a0ea5b42e2094de2c8015f6f055059a914d86f4c0510ffd224b33aeda9b9687f6d1c084a6d501d0df94dc3f1b79649ec72f6fa934651476978d38136d4699464cae4462399b586eaae730193e84a28dbcd8c843bf9910d9c7922658964850c4661af6507d9bb2b71136e6c621dc1ca83f98600eb974290cf95eb363a991af1bb6e2a36fc8aa160aba6951615e86db6ce875f0e0c4243a494b540b50b1973378544724830426a83509ecef1541f41e4d78bbc6280ad47a245ede4ecbda84b38d5e122f0d4743290cf97df5d5716ba5207c440f21456a1abe67d16276a786de4c77be361742138215047670fee78976ac144257f77ff059045ae3d6ca784014a175a7521398d815b1138ddb908e2a04230f84022a7b5292140b9091a63a489e9ee5e57f0479d1436fde2b7ac0569370da5223d4ca8c49ce69249796defd05091f1ba529f55ad50d5933ee405a649f42f4d7e14efb3f21ea3c22433b10235610358c6f6197d2fc9dedca8a8535da67064efe89d7bd866ac61251c02d779a5ab7b30775f570786f41dcf76190b036a0374fe6def23620f739fc9d5e694eea21dfb7b4da0e0ca93907352b2f888e70df32264a360ff76245aed0468f726fe0610ce4a7017a280b7e2d8076281d000f3cf0c0030f3cf040fd0c10b6ac748961a642dafd3b91b222227d9c0b27404af59f8452fd27ebde8f079c07a3074e4e416f2df0dabddbc8f35960e2458ba81db543ca6181e987c9d4dea357e0ae92fe574a0dc3db62054eb22f1a5907cf799355f81db4644b49442a141d72e7e4915253e0ad7d23b36472a0212d057652f48b20a93f67cc4581db488d753c2573951c0a4cc8e92cbfc4d4d3e879021f7357a3cfde39ff1d4ee0376e6fa8681e2410a009ece5d094f9a8dcce3d4c6022fddc917e66098c498eeaa14adbf53b25705e12fab62e26095c7ee38e1d66a693121278efe8d78ec4a2c6ca23b091f69ff34de3b43e810046e0fba78155768c73ff59043e5a54f008213bbadc20020fd35bfbc66b020c81cd136338080b0b5d0a0410022f292fd3f75a6d9a1e042e2ff9aa064b3f926140602a9f3a4e192d3f20ffb56b73b3e30336958745469df58051fb4b1e911eb374c50376af83e44e8f1e45ac1d30a17d9dae47d70193ac743ac30c766ef91cf0efa5a9f62703077cda906abf69dfa0f51c17cd2e950d9818c5ecf257850035e052a5a786fb4b48ca1080067c4df0508db186485f67c17ace12244875ceb092058f1c99641efbc953c158f07d1f34533461c1c578aa1a6344877ef715fc6760bfd2f5e6df1757b01b2ba3ca51c956b09a1b5e834859717690f389453c57c185571655c956155c5efdc56a94a782b50ca2937de6a8e01b4fb5658c3d6bab7b0a2e5f4549d28a31357553301ed276a7f4172ab8570a368b4ea58c5dcbda7c52b08f6fcd5170699d6e1163864e4c8982c7151ce3face171532a1602a664e913c7dca3a0d28d8cff9c5fcf3bd3e483fc1a45649bee7ea0946620e713a3427fdba4e30162a6ee8d790f244c9093639d29ca6d1599090dc04af19dcb341642c21f59a6043a54ea71742f6d89f4cb09321c54ff13a4c7039a71037b927b33ec925b86faf099ecfb245442cc104cd19ded547483f3195603be899664b2147859a129c7a8afabb57173b3509de3263e8c82584688c24c16b462ed611ea6b5327127cccecb5528723a97548b02279539628198e66f4117ccc7fd1cf2d6885441dc1b879daa4dc8d46b01a22797d63ed8c510623d86e18926568c145b0d293f1aa3b5906a153040f3d8687bc11913d5212c15ba3902282d55371544962d2f4e843300dd5a17a6fc67e1f63082ea5901f5f83981df15108ce2f3ec6f5395df75b846024c6cc139d9641b0c1f3b5645aa718ca13042bddf79fd593e3955820d81de9b418f1742cb980e01a6644e7d46ed431e60fdc25af30c930b47c327e60bb5753c373eb03abc146ed3f475f0c3d1ff81bcfe92fe65cf60db2073eaaf4a1c4c9eb81af7a8c3ec5d5bdd5e481930c32ba3606b99d361ef86ca961ad6b837839b903fb29d757d56fe690ab1dd8d23c3a0d72ba0e8c964daab79a0e6cfacda8f6d17a6acce6c07b0afe5ea631680631397019de39666711891a130726a573e9524765e7c3814f675d31ad6395c3c71bb84f0d11fda1ac24da6ee0736eedea56ad24e669031bc1625e59987f5a910d8cddb53bdc90433afe6b60f376d28d5a94fcf15303bf912d55e3f47be9a434701d567de53134f0f0e1eb3a7cbcde8e3e031f75ca2e3bc876bd8619b84d93b7ba321a9f6f65e027d7c67c63566a1d9181f718f26b25bde4e98f3130d27d9a2f3e1103f7a1f728e4dd90328261602c4dd6cc3a19868e413070d9ce36c3edceb5ea7c816da423c12d4b36ac8f17d8a466af2e8d734427bbc0e7794a572119c4ce910b6c4f78e594222fb8df5b60caf174ecae3ca1e3a505a642a5909236e328f7b3c0e69cc775429858e0414cea68a2794ae9d82b708d3c438c39e4acc0c5c6583f26bf0a6c764aef348d0abcb466b5f42b663fd129f0395287526053f9e7704dc9583d19052e7d8a6e8fcc418157d5a469620621ba6a4fe032bcade94d91b2a69413b8d44726ea95af51769ac06746e893cc529e2ccd04bed38b68ebbb04464264598af7f0eb244a602a27d4eb689b046edb438a7fee2281c71f21038f97b545f72370af63911fbe27ad143302e3115c27c3b014819f9462cc54f7e2ef0e22b0d9eebf82b9a4ea8e2d120630043e6c2c3edc8b99ae4c2170d73ec925a4203cd122d37d2ecd0080c054ced72331cf3bc3c6007ec084c4fbc8a517e9b71f800fb81cacaddf9295c4d407d003267c727650294ace981b000f7828315a858fbe033e4258c82049439708ea80cfff590e78ecb153ba4ebe0b19288501e080b3a4993ba6a790f5a237e0d2be7bd647caff9762036e637dec8c0caa0113d17e96519e0c8006bc66c52ad5cdcd82538729e787982cf8d610a9d78ade41a2b1e082664d92fca52e940d0b263c492cf777157bf515fc679bdf443a4b39455770ff512fc6ecb682c7a35719628ab93e262b58f14ba693977e730aae82170d152a6131a4e0932ad8df8ffadfa83364e849053b161ad8ba5ae34c352ad8337feb688f4414c02998dc289eb933c314ece5c9cb12e37f86b5a5e01bdf676b971452709e1f7e0e921dc710ef51f03064f0b8a6d1ee412e0a2639be489d4387288050b00fd5b2b35b670e39c30349280050306953ea7e242b6441b1003ec1676655b2145352de8f27b89c56e33bcab8633104cd20804eb0d1d34a4f24a4f5f794c0ac20055a02b3024e90cfbe936948baa30792364082e224059b04016c82af473539ed271c5d4735c1d48467983b2c76c6d403491f2822702481003221004c70f9d2ed9532bb5b4b0f248dfa2d36f174fe2c21dd4213777865a79ba039a57840012d32c1384a6b1469ada00526b868e83b79d7b763fc48f02cf84bb0492ff2a8e5f5abda1e4812410b4bb0a95ea25303042d2ac144c74c2fef903d7d0e25d8b3cd8df9c89f04d70f73e51ce3450bb691048fae1e6a66ac5639da9138cb2a3fe8282124988a17e3abb7afa8a92d1ec1f647d0cad7d41731730423eed3d0ad4c4a2fd4083e6665b6e97414ed1a590113140898378f8212a82005570020430b4630c931da94fb6eb1081e7ea4d49cb2ad44ec1e4179144c000a2d14c1845b6ddcdcedc9da325a24e2042d10c14bb4ce10b28977f4a8b4d0e210a6de8af93d846e5e39d0c210ec5bff4bb4578ae53eb72804170ea5a271e5a677a305217818742df94a66109c64bcffdfd79181a705c15787bda4560e2a391a0836f58e64ad9480603232ad6b25840ae6fd81ddd71c62929a105bf8818d562923f3d5a70915115af481d3fa90c12da3af5e950f3c4eafc96164c9a03d24c1071a803b68b107b6b2e54e5174a3517ef4c0e7f19c737dd2031d93072df2c0c3cbba8f83a655d48f072eeebb37f64c95a6ee1df8d0e8f15f34d08d1ab303e77e16621e24fd84581d384b719f90b0dcc92a74f86a939f055bbdc51cf4a8a8c8f275e5c0766e101f8594c3714d71e0e1a84efe1ef18e9d8303eb28e3cde94fadf2bf84166fe0a33ce7ac53d943b2d3c20dec24e9b4d70fd53f932ddac0ad3dea5c4bb15afa2185166ce07235ded4c82019677e0d3c14cdef373da5fa9d1ad878b691224f46c67fa581d506de1b3ceada764403b791f72de2050b153967b816666053f23c971839376bfa072dca4006a0410b32706b7719e79cfbd12b1a035b2ada11a2738924cb94923bc631a350c3c08584ce30453243e50c18f8943e6697bc8731e3ef0bfc87dc7a0f935e450cbdc0d446a3afca2864cec92ef00fcaab1c858c7c18e302e73905cfe6c932ea0ed9025bb7e9577cfd2c2aad05c6339ed838c3a90c4398052ec3f82886450c16b60c223369fecd15f8900f73a69895326cdb0a4c3a52eb90b65781ab1cfc2cb4b55e494805fe63ba1cfcf63fa5d84f81ab5ac7151a6758ffa614d8acb6974d27a5cd2e4681a98c9e5ce528525f100a4c0cf3c7189dff047662faca92422acd90e3043e25a5865bb49b80a68d524db61d2630eee7f15fdcb204cef104174713f5539ed042095c68d5eacaf11e75a493c07e85a84893314860d2b17750b59b88f61c81bd8e9b453bb7ed66941158f1c7308266c695b65104fe6aa23ebe90e2e8ab446093a588d7628e21b0492d23dbd3ee789a84c0e3c692fca3e83e0c4b1098b07ba4e7c0a5b39140e073b983b4ef911ff0fe4025c5d21c1f301179af1ffedd03feee2da3903dc503dec371bc8db7212cba3be03269b75f455d07bcd723497bd23854d472c08dc54cf5c9f9d31a38e0bd22e367afa5beea6ec087c8ea9d52d567d4d5066c7876cd1b62bc450d9894b5fba4518cb9926e4103fe62bae59473036f90310b1e98ba5448f1b2a39493056b1d6fcf33dac4827da9ac2a553fc9430f0b2e6ec8f93ea4cc2bb84ac9ec235ef664b4ba828d7ac7113ec935e74d2bd88919353b83448e296505bf7963fe6ae3dfa819ab60756276a43af9ee29a70aa6c5a31bf87b908e502a989aca49571aa282154919858a9e73d40f9d829fbaa017a1f2833bdc147c5f8e0cfa1732c5f428059bfec1fe73acd0982d29b8cdf66d216834cfb58e82cf18a69356724af14344c1a58f51755ccc238e27143cfcb398b28b86b70414fc485486da8fb3d5f64ff00ea7d2e45671fc154ff0a953deb6686c950dd20936dab67fccf81324374ef0e9ce8349d685bcfcd9042f9e6ffdc9e19ae0da42da698bc94c702b8d3c76863726d84721cdba6a3c95bf97e0f583448d8e2a778e5882dd74fd296b67c6a1a14af030d74232fb2f479ea30497aa9d7b33484e82d11032b2cee8a3da9104a3bb512bfb2323c15a67affb5ccd14cd8104b79e35c74c41237e4c5ddffa18e5f67c71042f314d94989366a0da37829350b1a392fe3f2a8d11bce8e4564477116cbcecd77b7d8d62f215c1ae05471637b2570c5522f8ca13316f63fffe6c4104bbaeb6aadbe1c9f37308b6542ae318297fca6b1882d54e9333924c599231856073ab530831c509c1a398b1a997fb83602fe6464a96260687a220b87aef723c8eab430c041b990d05041b39f3bdab04cd396afec027b1dc0f7cbea8297f6649a69ad20726ed61bc209531a8b1f9c0e4ee94721c4dee810b156fc336ab072e3b6f78fd488618cc3c30e52e293558f96956f1c0fb9be9eb599ef926efc0a6fb0bc9767a02d8817d149366e0aad68171e815d2ba233d9c9e0eec4a64e4996dcd81fbc6be19443fcbcc4e0eac57fcd770bbb7ae9838b0913343638b3962ee1c0e7c2a0f3979a7b0fd98b11e4597d0e972881bb84d7715c7a3c3ed53dbc068eae4314bd2a49c0c1bf83a0dae513a7add416b605d253a058dc8593a460d5c4b4ca9e830b76647d3c07fafe69cb9d386ea8b065ebab21de6066e99e367e01d554f958f4a7da7cdc0e71ef50c43ca929fab32f0226d3984f81925e73419f890a0793bbb56ac918c81557d14233fe4882eb518f8ab789b735e925c0d0c033fe6197fb365b3e0131838911ecfb8bbf28358bec0a698b661bd64d05cb917d8517dcd78f2a76d8e7581df0bf13e5388728149a16ebc334e6952cc6c814fb11ff59501f44fe9a5053e6b0eb7c6d9f7e2d759e0c6258667ae030b7cb7a6c8b446b902ff215fbe9ce9d9796b2bb096f25e8817753d7daa02379e39528848a8c078f4b38aed9f17ca9b0297e920e9f85487889914f8ac2933dc90d9b5251d05d6323be4cce443810d5951f4db2a6d7ffd04d6626aec304e83d2b87102eff8a1fd6e6e47959f26f0485339f0cc102620125aa1a66166093cb6b7d4fda912b8f7ba14a15c7d279249605a35375d8a5b7596470217a32647d5213548e58fc005fffafcef5c0fc91881a992508f2466c958638ac0c4c7f60e35ab32f583087c8e6af8d1f3f275557031043e3ecce8c631adc48f0981f7aff7ccd4c0aa43150436dd3df2606d214b474060dd7cdcec6daff7a31fb096d42275ab73c8cffb8047d395c5e2540adaf81ef06ea962eb64f4ebbd3ce0ff7c62f2bb6a075cee942748d06cf5dce8805335b3ccef27dd3194033e671bb5d07f7a16120e78b5c8e491b7be0197ef29ef87f828fbe66cc04dc4ad6d0969dc515303de52e4e8e728714103c653967437d60ce2c766c14846d5a73966b85b5959b01ba1834b4ff0f4108b051bddf18390f13d230d61c15545cad925d1afaef20a4e6caf33d2f858fdb2ae604dbf73aec835cf49b68289693a7be6d7ac60c362b48f97a146d36f15ece6e4b79ae6952c7c5530d9f3616ae46b2af8f0ef249271b4cb7ea18257ad879df1565e7ce829f849d51ff1a1e457ee988289191a3aae0f6dae29a560aa3fc5ddbd7cb45391827fe8d9ea319c8c82f1961c515c2b6d324814fc65fb94e1549038ea0805df5b96ee1a1d436911144c75cad13bf2e7e7907e82c7d91858f5e63f778927d8cbd2b7bdf4aad8f94eb022962c49ca9682370a27d8dcb4c89875de76a14d30e65fa6152aca3b2d4d306e578ded2cbabafa4cf0ab93bab186fae0e9c6049f13b7724631058d3eb90497aebb42b636cb4fa62538e9ac989344e6ad0d2bc1d7485899b94a0976354dfa179396cea849b03e5163dc504d7b1c4a82af564dd6411309deba51ed96a7c97b2190e0713a1e13f51c2fa8e6116cf765f468d43982f34c16a344d11ccad246709925547a10caf26788117c67cefaf778dad0b2087632fadee05d1bd42d4530314fc7faa1237bfc2582d134fb5a891144709eb6d131eb366a7e0ec1a307226de15173fcd5103ccc6e159922a783e485305b0a3921048f4f73044df719041799619ad246f95e9620789497fb2562e4d8c013083673ff760e65dea50f403012b55f659b26768a7fe0b32faf691ecd8d73e3073ea98a89e3b8f581cb0f5c6d6208f9c07952bb1bb3d39150ed8115cd4feb351a3d9c43a4990776e245f7e8f0330675c1038f7f572adc1fa4b7903b7093d1d9c7c65fc9357660af22a2ddfeac37c73a3031b863b7ecbed198d18109929a2afb480a7dd01cb874df98bab323073e75cedae24925ee8e71f063ca1c1cd8491a1b349eb8d5c9f2067a5df3e906f62f4a308f741bd89b0ca4ae37555d3ed8c0d78424bbb55787baaf81ef11a9bcadced861d4c09448b6aca9a3c7c85a1a78b46d27e9b636a717d1c07e5546916dd13330e67d79747286d6496206b6b3a5e650956287ee65e052587494dc1f32b0fa8f81a7d57c66e31903e3f97529fb77b6461a3170923bc635cd5a974a1206ae528c64dd38a99764c0c086268b1bac63ce1dd92f30e1fdadee6617a5a617b818c91cdf7da60bdc47d6e8c826ad4715b9c043db48163a2295c62d309e31e3038b38517d2d3075a953c6144923d459602deedf96a474a8256181afba6896343d6a8a8e2bb096c14d82a7ba4f916305264a3a49f1b72a70973de5a14525a6c951818d298b677499a191f653e08295df6ec3f50c1a9502933fe592741b92a6d2a2c0c513b798e2d78b781c0a6cbb56ce932e69f6bd9f4006a139c1520e3981b14b8da1a4ca1bafeb26f0e979fd515569c8b1620213e3c6b09c9c3569062d81b7bed07b215727a5a804bedee15d67474902df48fd2daaca3f4591c0a66459fd5a3da6663b87021c81afcdecefa16927277a46e043f48c398d4a45e073b678b9513b55280011b8a4d992eaa3949573a6004360df53ccf8a1cab532340305100213b4775334fce3a79cad40018260ea0addee489a773ba10040e03e52cafc9319058bb0ca50801f709d4b27c5afee70ec7b20490605f001d316f7434ee947346d52b01628400ff808d3687bc93033ce4d502060761480077ca48c7f66163308cfef80dbcbadd26839d5fffe2690400b0538c00006e8117c40bb50001d70b1247f0a8d3aa44a7a0e0a714006b80115c0067505a801eb391a6dcee597a9264756001ab039125292433c0a2d66c15ae46fb447eddb7964c196689a0e11f258f029d26d8e174f58f01fbd452cc62c2d3dbe827de8957d33aa9c2f992bf8208daad1af598a7f39a1452bd80faa9ed553a2f18658c1a4e4a38b99a32988964568b10a361ac6c92e1d2a7bdeaa60e2d8a4cc96838aa59f0a3ec6982b791e331a69a6d002155c487e3ef24a3d9014021494113c0ac8025a9c82919a6899fc916dbfbe8116a6607a73968c4f628ee3212d4ac1c55a89a039aa944efa022d48c149885727520f0f2449a0c52878973471184292dad91e48d20eb41005eb302f6310de6e8b5070a3c11e67507795a7e0033168010ac65cf3ef44d6782029051b3817b4f8041b593227e64f852c1a15b4f0046aa04527d847fa277529da7b959ce0d3c59b142b43d2cbbc07928a0501956055cf71e6fd4d5ff628413809ee3e87e4e92e53494482c9b692de62fad838d00349cb8417906023a46bedcc9847f0e97571cafd2c8ad58ee047dcdb6bcfc63fab467093226ec49c995feb7ac1082e228686d795c0ac2005e480178b60e25e865b7a9527a4cc185e28827fdde05b3bdac82424115cdea6464a8eb2c7dc3f0b3ea082d2818f80010c90020318e00522780b217987d0242ae1c5217ef0c210acf9360eb5ac31d3c30ac1b54e6795081e42f0f8ce3b526acf2864c722e1c52038f3dc93d81d23e3887580041f18c143c0000618c18f4010dcd4fd5ad6e6f5465921bc0804a339466a9831b48e9c58b1e10520b86a07e13700c5f0e20f6c4d7a8effd041c4c88d0e2ffcc0a43b0f0de22ffd71527c78d1077e7324c9386db9bc627ce02ea36b0b499e3db0f6e9313bc68e1ef8486d1fdf33473be9f3c04a9a4cf951b6945a261e98ec1725e79f9c816aee0e4cc587f1734e8c0cd365072e876c2675f6b82a86eac0c50b66b717123a7386dde1051d38f3eeb2f1495dcb1d17bc2141d18b39f012d541e4ceb61cd88837197e1a27e486bd880396a3c1a21afe7570d873da570e7be028c4bcf0e20d5cc3764b29658c2cb9eb066e72646a4f6dd958a20de8e1451bd89a8c8177e60c1c5eb081cb93961fbfc51193b8135eaca1e960d92074fc0775aaa15049a6e520e354117189e80ccb32647a845f2628834c5046602f789106268e6d861ee150408b0a3c4005247816f01843788106a66e53859062e279fa22bc3803576e79d4c3f2d73cf340d211e18519d88f0c1a398631a47f51063677c849432373b31c59831764605372a4949da61163ea3b603e80820404e1c518fcbbee582178ae4e078a0936200211ace06c8004a35a548001296881010c708e7821063eb6e689788ae80f2704082fc2c0a3eb1cf3d65fbe90bd093ca085010cf0020c4cca2042f45565ae9e2a48410934042fbec07e9ab7a34c795d1f852fbc4006400fbce80219e00517b8f589f621666357fa1658c9ad1259426bdac9bfd0025f693d7bbafcfe2c497c910533c00b2cb0197946ab629a2b70660d62ec4d22beb0c2bda80219800a64007f31052e477a68160dbd900219200a05051e5d348990f9a33efa3c810ce004def5f165fbf634810c505e30818b162a7b6eb05a6f6d09dc5d489ff245c70b25b07ef9b255ee983fba011188a06c20eb0323f8c0034cf0260964000ebc40021960032f8ec0a3cf99ee29d9f03b8b2f8cc0aa444c9dbd76398d62821298608bc08454ce91790b4a80820edc0a4ef00bf0b700d5afe0046f36e0cf824d01094af08109bc20026be9757d9fe61e836708bce40ee620788e2f84c0a3ceeb338f922ec3db80a240052678110456826bd875c7cbd42fbe000217abfd1c25cdb8a39e1e48b21f900152f0c2077c160f4daa7fe539c37cd1031e4ea8d4e641822f78405eec005fe80063f02207e4050ec80078811737e0cb4297e560119633cc0b1bf0a1f55a1516c7173560a7cea34fb87acc79c1173470310b4e47df1bd9a42e2810403bb89005a319c54edb4d0145b12803e010820b58e01117af3803ec65c0852bf8fb9c1672b40e0a17ad6062c8387b8af5704444b20a17ace06cfb3488640cc5bbc649b8580523c13f6667954883f421c107f0dd115082430207a4601c235ca882499ed5b7c94e05e3fd315e889b325f7250c1e5b41b3d23c986299d8229dfb27821e44dc1fdc676cf669a52f07a6911296a56d09a145ca5aa90da7c59af1d05bb8d63c7ecab8b826bd8878295f4de7f1b54428880823317cbd4d599fab0fe04d7122a5be350f18451fbdaa1a53c3bc1dbc51c29ba2ffe79082788982549708b934d301273abd1870a516da2097e83d69d855eece49f4c308e266f94a00ea38b04139cd7c46c16f33ef5e42ec1947a784ee72cc1a6b620085c5482cb08911b6bcaf1c532179460bc23333b2547e5e2f14012094a30a8450518504544444444b49a042f0087703109320035c08524d8b008875f7a991dc45c4482d7caa850dd482d840b48301945c48cfb1252ccbb0b2e1ec15baccd9983c68d31d68e28178d60a7e3a589ac679619e9812418141190c2800b46f099592a4e289be492b34530924d730f50a9c0054c2a70c16f200544ef42115c9f676a9c2234342bf90617896042cf73d48e6b52aec14db840045bd3e7d861a3a8ec09bea3600525a0c00396122e0ec183a8137332cc1b821d470d43c89d8f6ed34270fb275537ddd3e973001784e022e4cbd0fc35e4e77c106cc6efd4b03b437b1441f01b1d76fadc17f9cb40f0591699c96d2768125320820f1415fc028c05b52e00c1dba57a9bbdc6338bb8f80317792ef5e957344bce851fd892be1cec61b6ea355cf481cde8dacc31856befc6051f187f589e933ab614d3e981246208177b6063b64ed2dcf4f75eea81eb9c81a7c659a223240f3d761c329e94111778784a6ddacbe2b701da727107ae839bdd78d4ab031f48c10754208215a01dd83cd91f39c43a70e163f925a235061774e0f47b6a1c665a061773e0253dc616ddc4f7ac610213147c81084c60020428400c2ee4c0e6f594a2a575818b38f030333ce95414c7165d41095ae0020edca636a9cc511d42a70f8ce00dac5adc88685d67370950b082de40094cb2c0851b5837db6bb49db69f2a81198503176d60fff7a36469df5b091bf84931b78f6f4becf479206903cf8212a0c00426281b288159ba818b35b0b133d0c8fb0f1aa4824f811ab8cf2f0b9d2c347f4682e2553a7091063663c671fa34ed81243430a1563c6a67516903253038031767602cb5a6e938752f9132e54d990c5c98819fe08da4b56306aa5f0b9e0414031765e02f06d36a4dc7b1536836604840031764e0aeb3e24b048ffce707facd064cf02830c180818b31b0fbfbe961a39e5431c5c0d647908821544fe8c6125c84818daee9bbca35223144092ec0c0a6aa84e3b4bfc097bb4ec812b341e33866c18517387bf107d9caa331f674818b54f5a91d53caf5292cb8e0026b399aa64a5671234d5b605f6ae2e4158752a85376512890a3200ca2280c42100cdb07a31448201020268d05428118c6438dfc13c0c0c9a1e040200c8943e16038140e040261108681108441100661188481108ee1208cfef603e4d04f0a99fc0bb5a0b3fb6e174a477807429400a3547193564ac8f85987a9407237368c0b3993801b8783816473173ccd802deb322bd3600d0d301f6789569cfb9a6a6667953b7697c859f60ae36776dad1f2d0075868e187d2fbfd60a192912077602171ff0004b2089d03b27a6901a6563782e41b1184a8208720defb0a2de35b77c85248801f663d219c382b79f405f7b9734d63c6825cb605df5fe1c0a9908c3237d181939ddd4f1b00b475dc6206a8bfeb6424281a6f966285f991e5026ae5f91f6bf56dac3a1246e0de857a5b3e368ad39ab8ee169310fae72c84104bed732af7f21c83fbca74af00311efe764ea51bfde5e413587f32739c56f149c127f468e00740aecdfae3bc9f0f0d36a27d5615318e3c8bacad627656cd41432c3b97bfd4e8ceee9e50a14c22042a16f2017f806e02c9be43ff931510aa7603a06bbce2094a40a82f3f1e9648e0a4a136e6faf09f55be7200d287cdbbcf1a90d25f9b82c63ebc459a27df274393663150c4061ccaefb2149e4905fbe638442eeeb730ec712f0dfa3ba099267a7dc1fee3c5726f3e57195cf45d7aa2ac7b9a3fa0877e8ca6346c0844b7e58514d192f2e7bfe1faf52976ab9070375255aeabe6e3c15ad68eb765ce8abd6e063996b542f2dcb638900932894c4836930591299371f56cf236d3c919f9d51de413784489774ec840df95db16cb1fdbdfdc71217dcea7e263bfb701d131a4de9ba6e68b7718b8e59a85fc911afb1112adef2cb056bf644790f8b1155501e10011cc78bdd9b3d31913ea382ce8840a079a4a5589c96d43bf55e37dd2bc760080b9c57596cbb7963de395348784c02517847a80c05414f36b819b7f7ef9de6151a9099a3299a7db71c217403c5f23588ab3a046c0a2cd5dae1f0906c02c8fc84e3b80cc44c2d449f75fa5e8370018cd63d8df1e4f6492d041e202d41823a6067fb2fd716dca969632d49ae8709554c6166a99e611093e45194a0f23c4a443fc225a076b3898296b3f27078b1b22ba75e95d1715c5da93d8dcaa2d3be656792fad6f109cb2e0c09ee70e3825a4b57d9510df4f2c7b6f5108f39c115cc461b69f39dca42816f6898f8e2a37978e8b9b466e05ae51bc9383b8a652521b27c2e281b57a8d3d4e94f184447fbf3e91c60898444fb3dd4dd3046f9e7c0b0a9cf08e20c7b9d4fee2f7a4a96435eb30debc20f11dfdfb110282a7780531dde34999cb46770576c73ee5fa4b99465e45fc7bbd308d5d2c399ea940f76b185263f040a499bed7d745db0a1391e1641b6a2a50c04a76b1ce9d082b9202a7b7173e495685d4001378002e9e2a962147eec6b9d62242abe60c7a4d625fd04955a3a65cfaf40119590e38fdb3c3a1e83cc9accc28b319d84c036b26b9987bfcd920f1414800b52e74ce9aa0ad41830204218e6a0d2b7b95ee01490194e7674510d06fcebd1f0b1414f27f42a919c663eeb814185129d87ce6696e93ab3c18463d756a05e31fcd5d77a8ad984ae3b94cbcb3428dd9876a0372fa8e93a9fcffabdcc7ca88935d68d939bb304aecca62488b2f53b723f4a1a9271b1f26f44ed216d418386127574fe9c333eca4da4555ccc23ecb75291921ad7fb37c9c8a1234ea965263281e8e3e9e10b98ed6b8f2d7c92d51bdb4c37aeac8f0d0190a7d530bce0bc86886911558e060b8b07b82c269f368cc3042640ad52793f52aa053a765727401242bbfb5a85f4bb0ceadef6b953e361aee7b444aa7b843a8bf2692fa874b1b529ac99197ed21460641815a3a6b6f852690f69b283678cd1a4ca1f5d5a86f044432941d207e3e8cdaca67bb4a6c40356cf6b617d04c0c5346ff87427bdd5366af8200d8bf60eaa4a1e216094433c077ba8e650c962c69d1b572d92022213beebe4251e4e639768778dfac4771be1f3af88727db444cad99dc56ff9aeff4606c989a6e68b44766267d181b3d96828619b2f77a054c7aba653cb3b2d0effe7b252a807ea18a094a9b94c8583dd51541fde26a3b31bbe35a16302045c15fd542277d484d4d2bfa42ab8975d06e73778c01fa2744f4cb52cc203f9ec4aba118cbea0782bdf17b838c440e54e1685c773be21bf2aa62c1d244d3bc668819ab60c6018b9ff56c86b552affb49e775f8f066f6770be7f9eaff372130ed56582932fec750c1d539a9533a61be2722bdd9d01f7eba3c962596eeb865f5f48d474d2d846fe8aea14f4e62f5c5626996a41d1fe03041756ab6e2abc3cb8dedee409653c3c22291e1d4ee61ec5169374e5102af0e68187e7c28d453e56453fc5eac65d0c65613ae4c21bdd4b2b33f291a218a896e543ccca88daa7ca0d35cba3db98d55f75a1164d651d8d6a4c54c29bc4136ab39dd14d4ac8dbc88bde3357454ac653b13e1762308f7f4f930757f31ed5be25b3fc70af52bf1a722f529f3873af5a7f80bdca1a82f58ed6f07f2c7ee08ff8c1df8c9ce6307e0dd75f0546d4530955d4b8349f118ded4dc466e22da61989e7705110de88dfedba156dc71432acdb2cadffe695808b597e86ae768e74fc7066d5134a6f712fb82ec7fd70a557049187a47c249aa8fafa76a2da292529eb02b5bf7a9c856211ed6c1d362147780e88bb312be61d06421cc6767e3fde5b9a521662e1778a0f95d0878b038f003083e0b1e2785ba5a8411a0ce00f525188ebe2c59ad4512bdd35510fd44e0cc4253bb93c72e614aa0900d47eb43d57420edf99b15e0b7399e93101904d2b449a906cdaca1f13b37100c00fe56bca70497adc2553e66767dd024b43aae91a3fd1b15879d3f4a12068e26f04cea451ee015f0d5a8ca3d46177ab79b96638f7a0c9870dbeffb68a8bdd90395d28dc4d51d7e230965a9ab38a52ebab9d96585e403299d72ecd0490cedb2ade4cbcbfdd40074dfe003166389356ba4a3955bbcf8043c45ddb4996acc37d7bd9b37f8408a5722b873697559b80cd94095b5d8868613f254da7a605d6484bfec36935f7a06289b09451035cab2011812b76c950d603809801121227b986d788dae556d5a55a7ba6416b5b3e6530891f0308cfa0684206174f541cc309ef94896b215133e59c49d257bf022e28106505724eb356205550f3f0818331bb35a3a9b8e3238f858c1d6fb5bca9f9622a98111eaa9a251f036d542c0f6e090098807f534b79e455654100312aa03d81765b7be9b15e217c6534cc55ba974879d459eddb64692d06feffaffb689a51cce04a6723c1fe54bc682ab79e005383a894f51a9f0f08ec6be7e021a28224ebf1e1b5c0f72e8d07285fcafe017f1f18cb61e544e33ddbaee36e4bb123619ebfef0847334b27e74759407f252d7a152826a54278b83699b4063dae37490232ff40f4ce8613e75d14a8220ea029b1ac10603ec87b6120cfc90a592aaa1e15ffb90514cb9baa82dc0105b7b908a7bd1558690570ee1580c3d54837d902c3ccf855f89d3608f76bca50f4b88a7442822688497269b27c8d6e13ca540b060bb632c64572500c1123215eeafb5f1d85d822aa01f59a3a00f6c3aac4c68cecea92a49b3af89fab91297175cc6f64aff0642b8987ce1d3133c17cae5c3ae870b913cade72ab82c2e53743d44fda618d07321b82c2e28761913651cabe0323ee285000ee7c20aa696049857cd85700d5c12d7c495e9b9fa13ccb2fa6971b8b25c3ad7c2d5b8b45c46e07a08edcb3956ae82ebc995ae2e265575b4452e80eb962ee31d7d394a6d41c25549c3c5b830ae2dd7c2154d5cc04646956e71292e7519022fc9a09aa0b8605c0ed7c6557229970b6ee64c9d50c115e172b836ae8cabe552b834ae2557e7d2b8945c2b57c63543977162f0a5ea73254e2e77ec7261fade708303022f0517557255b2c66b169f0be13aa6abf45ab87cd4f5109d276a1dd7cea5717973197b5ae648cabaf2395c9584603dc20597c0d5e4ea5c1a97cab88c8eb9c7f4842b11cc4afa2d5c527619bfeb81be8a5c3a05186c1ecfac6d64b9300781978d5da45785cbe0823257627bf3a19570e97325b6b9ac8e725151008ccb5c97f1415271a72c742551ae4af448cfcfb9b8762e615d9797c13585aec4cd4dca2d2e352ee34f76e9a4eec8b01f57c15570595c1757ae20f042025c1b265274d63297b5aed0bfe27e495e02d7c495e9bbb0d23c642fc05e2a57e21272895c1357102ee9434c54c2864b70495c42ae6175252e8e35763cbab4bc8c0bf10aa8c2ebf608126841d498a92de91356f3a2ef1ab456336b121454cdb6b9b22128f5f3ae3a246af41097899d026d434bd9418d74ca56d84024d0fefac559979a8e80811cb53cfb5e133c6854e43d23034f02fd79552406230144141098339a4605320d363ce276c05d5725ee24507d6bfbabb52eee6cc14dcef3cc67f71d1bbcb16b091c23c107c5b5a348fee53ceec60dc89d46d30624981d08c8aa001bcf048f7f2f6f20a24ffce72891762aca6d1818acd6629bd01d925a216ee0429ee530339b4716f555a96779bf27fa3d111e7104ff778fec85f66929f29762d51aadca876f9a478d2a853d887d4a7bc782db2810688b7c9a5e66b07f18f5a96661d84927102136e71a2e4ddc107be9888e778b20a7ba51e46343b78404fad5bf96582f47b6ce7d0da47692ce1370a531e8446878778adb24d17dce43c1238190889008a538377d696772e5fd9afeb2c14f36beaf20266423a380b0e518373a83f0c858b9f42e19718758838fc99376aa7a27cec03df417694e36f514423602935c0591579ecdd0eef30c16d0e1a329b4a6df737c8465ca0764cbd7bb0524e0441f918f8498435ea2da0a5752502b2c8dfda405f8aac6c28d80926d9b85eb15e80d23e134264c3f3a2b4f9409d7ea1dc85e7b324160b1ba3b630d5ef66785d6737965b2f0c0dc7e312616a30fc6cff1b4fc915ea087595165be033d65d6796c364e86aaf117ce9ea0f8749461de3a25b1ed10448492baf11d3b66b70966a12d756cb0a9efb24751dfe4d3a8cb3ea87f7033e6cc0d88636a24ced793d985d0b6a4ebe69c833105775bce0c3ab1c6ed2420284194e88683feb4ea6b6802f61bade9b0ddb97dad30895a0f3a9845a75fa30c8848e064a27b1ca12482e3d975e5d63d2252afd3c15512e1c5748e30cad4483841abc4b63ad3c3919b2d71cefdf8ec3ad7a4afd107ddf9d02e3e6ee46e87a2700d3e487217a350d4cb79f0aa790334815de03cb61bcf88b5f0640f765a1415b8e946eac6fb80ee3e6ed0c915d65e0b0e201681e26e122c59824575098d727d668dc61d82c1ccbe4693932008587f2fd914a86f39870416cf0cfcbf36bbeec186645d7a02c49224887885d4b239658698be21384dc760b53d867b2d1842c21532306763605f59ec1e047630e89525f4d0c2d7dc906a7005dd3dcdd5cfef23d288aa61005f88a0284baef12140eceb8763f3d411eb1185638255b3d43fd101f2be8469370028b7d0ce6bf30f70807bad9b8c8a212a101c01dd24fe447ffcb78d02513ed375b71d4052bc184e45c64bc0a6afe11a0e17734a74c931bc941c592d76974e78d4d0efa8063e775018d03beb0865d5589b95275f09670ebde53e7ab13ae0673f3f53757bfeb381c5fb0d9cf96c9c9f705de2e0ab4100610c6b4c52d43f39c54761dba9df829b65746bc8ea4ea33fd100159c94121730940cf931153b7a2507ed921a664722aae036db2447810a88fffedcb4d365e8809ef8ac893e8f0112846b025ee8506997e973a1258f419f53fca9ef0cf8dbd4b5192cfa8c37252a88ec3a094c11a9f78825a380a43b07400594967fc54f8282a13c28245485d2a034a82d540428601869b19c0daa2f0cc7a0395035001547b6533e5850009403a5416d50611fd5577e644f06548128604c6a9e722e0af80a09c5b91c0504981a7c51407d49fe5c5953204628da88930d6c40ed500aca08a5b3a87baa3090ec4061a00ea828430113e4cb5d5514f0977aa767430167d667affb517dc6a585f540ed47146d2415783554c928536a8732311490bad3aaa43cc14f0e143444291a26c3bc071400525c0c6df83834a801c5845aa136a80c6aec515972c542722a2801ca84daa134a825540ad52c4a93522c6a932a501a94d95140f61b3197c22860f9991d18a22cbfc7615437141051e42c2e06810243541fd8d70193a3002ea543fb72873b1401caa3ac7baacc092a43b1c72897e6dbc83b432a8032a176280d6a09150d058cea4a45238ed261e5f45406a8ac28b64ef5bddfc883e47e8813d4b3a19a8b15062cc2f46e076a80d23045d939ae42392050cfa407e7a076280b54a250c07410c6fd7822edc5de1e0afc50b49d5210be00554345502194400910a6f9080a87425043284528a02328534c5029d40025410da132944421841aa122a8411a5144f4513a3843700a54192ab2a2fac4d9353c3bb5bf523a50b07267503b543f14b06ae376bc8ca22d905d0709540945405d5013a180d78ac2aabca0b034eb895418d528aa0fdff38e4a2893400117dce4fd07d5b787da161487a2a67fc14d8181f25214b0a7da6ca1d427a8cd4f644b6740752c0ad8abb6d75f51c0ab4a9005274a4763e74edb433150a742f555808b0e078a1ba380bd47eeef111430985600544101a9cc36cfcc51c0caef9d603ce54f17472d29353c98dd699081893f28054a9128600c2fc4ec170584b33693521305bc3243293c07f5457ed0fbda89228aa8fc0e5b86a2322b2a80150e854149a851768450090b457be9c5bed68a8517ea874aa134a86308756fd57bbd2a948062a19884eae350d31895954b5fee0e2818ca09b51a348bd2a414a80d2a0b55a07c1345d99149f51402aa80503ae60d10bd4111503183a23d8b19db16b64dd25015ca80b2a0467d541ccf076d0a941a4a435d5046a89185d2a1ce03583e540e4565146d37b881f9c32854ca027540a50c054c0c42bd514699c294b2ab228b1c2a8092300a3247140d5028140035410da162a81151c091d156bafa50b4715007d4823242e956d4a0976376ed42755004d42983283a42d55014d408b509056465d457aa0ffe279f228a42880296911e60b751c00c505f2c84293199b1ebf4e535a248c5517d5b09578ddb6d69106a2751b401126a4d07f540b1500a949aa0faa460713307149850c0b91395bfa541f51d1f7af7404140016f869236e506d10d280caaffdf33e86cd7c820f883f22c6cb87837aee805059c58d3ac1652402b77778a794a9eaea7f1496d4d4451f967863c14fb51c036a9b5fb2b944354501ff80d29885ded840a7ed9e6c1f9458652331490979c7bbe360a281b6c33c9f2d4a7964abda580a23d302e0c675205ca0a65408d12d43de5359a59072a8072a1be40f53528274155b0df3dc44886eb76798dec8b3dd8c64d50220ba543f4ccc9081401252828a089f539744e52906329388267b715cff8c803a21cbb11f04f4c21746fadb558546dca74a9b8850be548a2754699fd462a840ef083a602c1cfde1a022ccf54c91a025184d62e4eebde07f3f0e9531b357e6e30dce86a43765f2644605d53ae6fa745082c6b6d649f06e17205d0d86d727b1751b23550e1917eb960693012e0076d0a0d05b6573c048cf5cdbcd02a92459b9832008843acae4eb740448353dfb3e8045605c501441502da9def923760b0a4900330333333333333333333d3a4d43fc6ff9d0f29372d31b2a201096500b92973532241fbd6b2b11769c35fa40d7f91c1957101d2085009320965dd10630e8c5f5834ff20c7b93b1f430e8cd4c7c8182b1b07d6327c7258e926f523bff0c385175bd4b035c480039339a4cefcd8d9ea2a066c1146093a0006175c28a0000c2840182df03056500242856fe02a87c8a19bfedb7fb4855e1d609420025e2c20b710c30d4c5e479a423b4c17cb238c16788dfe42058d6a88d1062607651ef955fcbb2881c560039b5b33e5403d9a015b0323d5bff6b74935ff05d5c065daeb385344d1ad3e0d5ca68af48f5e4b67080d7c07398e2669d944883967e027eba7cd41776b0eb619b8f4922ef92db1b2d6323016df3582bf48063ee4c8436711ad4d3519039bec53b9a67a6260a37ae8103266c2c07fa50b6ae9b5cfea030cdc7d27bbb71c8667bf7ce1d18e2452d5f6029bfea7c3e91c7ae650bbc055ac1cc78f52e37b6b5ce0fd73ac099dd316d860aaabaf19ba185ae023259f48d3652167940831b2c07aca0f0db5f3ca5189052e7d1ce3c70f431ee9381ec4b8021f1d42aa7aa8b0b18b15f8ed0c317d9039466db310a30a7c0cdde323d9bf8b4185244add48ac9d4821c614f82024de86da2f05be4abcf4aa4df4f628b02dd1addfa73ae8084181290f637f10522411ab9ec0aa64957c5e7b9b1a7302eb1ad77317a3096c6a5857497598c0ab8678b829c497c08614f551ace83d594a25701aa2e40931786ca1f5841849e0f2984a785947f0e841027739e2a59c11fa56db11f84a972d5ae6f35093c4087c89b8a7fb6f8a9dba2230bae9525f6d859ca31011b8d021d210d8b49ba7d63d59f214150217ba3f05f38e8a11047642cc8fe31a3948eac600025be922bdbb533f60e3849452e8499a1cb50f98b0e06127b31cd30ff500cdee71149d623ce03bf60eac93548cd9ae1d70c973cc71ae94cbc2b23a603d8e90a2d39d46dacc01173f86c8d0a55f6ee1800f2566e820e5488c1bf061ef58ce9cfaa8f21dc3065c08d161e64e04fbf0b4428c1ab0a29e3d87199d63b71e83067cfcc80c71da9e05afd61e987d44aa5d882cb868797743f274f566c582a90829ed493c9c183358f071cedd21426e5fc1570a4dcd1072b8824f5522d51ab1ed3b5ac1749ca3a0da936505a7d69e59059743799449a2aa0aa6255bca6f624e444a2a988aacd0f56ea282f5d5ef38f28fe3145c794cf1ec6299821d4d9fee7466e92a2a059b99a77d4374fb14262978afdc7954b54b2ce646c1a695cc16295472c55514dc7d546cedfeefd05828d8d6605951528182bb18f763368f634caa7f828fca6cdb81741c559a2798eecbb46a751f9ac7d109de2afd3d7747087e594e70953573c80f3c6e3c7b136c7be8419e6e5713fcb4ae45cb68fdfa5199603fa666fcb094b73908137cfcead60e1d57bacd5d820f262188c7fd91b6a62538cf4d1fedeb5582eb7e8b9de3f0c8124f4a309abf62ca41ca61345b27c17a498c9a364f87f43849f0d2bbc974738a04979d7d6321ef2f4a0a12c6cf9e53e728698fe0fbb4d62507298ad5c4119c9fe51cf9b1735c7a23f82b4b1f78102358bf8ef010416beaa38be027b2fbc71d874861b522d81053443cdd4d789c248255bdaa50fb23826dd7caddb812c53376083e7f2de4d85b86e024b2bda2c48996ef2d046f52a13757e4200497f5a93bcaab06c156a4d1ca19aa3f0e554170394e3158b6c96ba26620d81835a373a969887e01047b9125ff6fc582d7fa07eeec6fa3c66fc9eacf0f7cd96df27dbf7c992b7de0adf2a44e22b9c962860fdc5a48e11e18d5a80f73244b0fdcc5cad1cd8f4773def3c007fdb9aa52637ad8121ef8d3aedafecf49a3d63bb077f5e147acce172b3bf091e3c47815ab0363d27bde6bf12fa5950e4cf628db94bce973670e8c4beccb1fed3c9d430e6cc78107e955a7387025294554dd381cd8f83947fdd95639aff606363a7a8ad6789d6b3137f0912662ee4f9a99dd6e03bfab96697f1a36307182e5387879d5b7bd066e42cee9b4f5e3ef9fa88109161673de777dd795063e962c2985ea38c5982234b09e2d72ca5a1f53233f0397c2f3c70c5c6a6adffb8d1ee4a66560e247172f7f9ce93b57646027a5330fbab2d543720cec05db28b639f430749418188f3de7b8b92d33e51b06fe42680f27b8e46f0e183809991e52a8accca9fe02e7d1bf2b07f9e205ae3f89d94eb610cadb2ef0d187781f45c910710f2e70c925a7a7566d0bfc85ec38eece91878b440b7c44e7069f94a927ca2c7095ed2cba45f64ff1c00293727cef8cec3a19a52bf03d923b58ce162b30eeade31f9e7ff49354818fe2d1bd44dbf8128254e0bb8224ef5e89393a640abc4da828057e27fbbbfba7ed5c4781c9b0df7caad69f7f4281cdb1d45e4a3dd1683e81f5d41ac91d849cc09a7b1472eb5947651e4de03fdaaf033081499d33bb044e23c4a8112a53021b225e1b5a1753cc6112b82c313b77d6942a3908098cfaf6b5a65dbe8ae91138bf1073c7933e8cb93246e0443756aa7d47df902d021fd1a5eeaa3fed4f22f029493d4c17a343e02a467b51d3ea0042e04fb2bb35926744eaad708020709dd5f755cceebf4381c0d77a0eaa6299c7ccfb011f5a86d6076c46084bfd371ea0077cd895d7d2c771945273001eb059d364d59b981d709f6e2307fe130ea00336debb5a12f1d83deec801fb41e74a3bab70c0ff8787b5d1e91b70fdbd97b2b7e40036603795fa9679b4bc931da0065cc8a8101e7a78a4480f4003b6b3e6ab66c7d779e92cd81ccdd3882653f52095051b3b250721e758c4ed35402cf894a9d7f6c45adda2b060348514eaf34aa7b4dd2bf80b9aaaa38378accd159cc7b9a7b7b63b5e09b582a91cf6e5fddc996d3956701aea277be8da283aae82fffc96e71ae346b24e15fc7ec7adce31950a36e8a5d8b14899c61c8d0a364ffe98a353e9ce00a7e0533447d318292561dd19c0146c4b0e4bf523b314fc55e5759f202918cd9d8e722ab7a7508de20cafd78e3e45c1af794d8eb8a1e03b4d59cabf29c71cba3b03808271d3d413a57d82efd09e494287d9e9325b681dab63f601037882c9917beda3ccb164ba48170cd009fea393aa9c53e6d0d0cf0c06e0046fffa14535b73fe675a160804db0de97c3b2b1a8ae15a2096e7453949da69f60804c709657e93bb2de0b55c1047ffeea955f7becfe4b301e468e36677e741ea7966093785ccd96537d691504fe6706176a63c61658d59c6a6ada25c64bdfcfd0029991858dc10c2cdc156ac30a36a30a36830a4cda8b1fddf7e6664c818a1f58c8b9637aa2146c4614c818dbe35685fea8cd80021b636dfa14edefcfb5194fe0a2c731a6e53076947aa32098e1049dd1849cc18484c18c256818339460372309fc4f872c09defa5167b6d00a7811060a5cf0c55104f0c20c24dc8c23a008661881cb4d92e3b83ba8ca6c113809397b66aa89529b1381edbd7d085ce8c84e6322f5e2314260ffa4e329f383c08e7e0e9e75214a4efe0c20f0a1c716b4c4aecbe398f1039be183dae8193d602d87661f37079baa72060f72043376c0c7715c9db4e9724e5fdf0c1db0e3199273f0186b34bf193960629b8dc7939a4b323a03075c16cfeba9469347db37e0ce3f5d226fb4fab1dc0c1bb013b5b2eb24569694ad01e7716dfe2076ea29479941033eee383b4aab73167c0e356b46fc4a31bb290b3edc5ab5cec4828fa73145428467da11166cdeac21e1d1a866ccbd82eda039d8473147e65973053f11a3b9a4b4a9275bad3019ace02c4588fa9dce638791b10a3e438893b73bab3ead4a0619aa60d356d887992b54ea4d0118b07d90910a36690eed83f63e9bb6a0822bfb20a4e814370795727740175e94000c157071741181cb53949a3f858e1ed720c314ec6888cc6ad57a41462978892bb9634d0e3507fbda2083148cf6e748664c5ffd0e36c81805535a592d4a7da463bf28f8afac6aba55f5b123148ca63af5f56075156b50709349fd4267c929faf809fe4d729072ef3269ee09cee3ffd8ea7247193fa4137c1c6e6409951d77460c27f8b07c7737aeb86990b1094e55d7742b6a8a7c892618bd3bc95a2187c7312613ac54efc57ae9e8ca1c978109f6e3f3adb8293454a55b68d52897e0ee2d7365481f667465093ef6ee487ba27435e29560b265b60f395e9a8e4f0936d9496df4d74fda311e4693c0bf20010914b0b1216312dc4485f269fb0e3c8c3e2043128c560e3c5bfa4d24b80e5e59276bb331c88004ef1172ecd8b34e0e8b3f82c991cd636befb5aaa823f890d63e61399d41462378b54dc1d24472eae461047b394f845ff22c512487f840c62238f594928b654465ceb18556175ed4f82ebc385c7801812e2e7060d41080126428826fdfdcc9aedbd52548a9909108de2e3747967e63a6c16225908108a63474effa9edd4abc4669e541c6219814dcebf42ef2b5c50dc1a5fbd0c9a2e314828fba89b4c942084ea23eb57fea203a1d836024e710839a4b9d7d1841f07fa2133c72ceef4d20982451728f651710ac7d9c2399bdf207de63c8682184fedf54fcc0c739532c47557d602add4bc4ec917fc8950f7c981af3558a39c8d1be072e6e45b0915cc9194a3df09ab73ea772300f86acbde3819d08dad1cbba268fe40e5ca4689fc3dac993efb3033fa9eadaabde7320a903972c796d88a912850c3a70dffb718e9632e670ae9cf3fe001972e083feeed7c9ec793a23230edc47f7d057d325e1c05e7eaf9788e71bf8383ca2d7e3fddc712e4320c30d7c577d720df59e3287541b52061b9820eeda9bb5152b9d6b6035e4385bd6df38ea214b90a1062e68b7782877114f5f1af8152fcb8b1c1a98ecd024bfa4eb0c4c6a85a83492d47273666045245afc8ea237de5f063edb54da6de254d21c64602f4ff56bb232067632dc63a753c5c0876ae9e8d613063ef2d3bb08bdef730918d8982a7a4577bfb2bf4120e30b5cfab64be90b63bb90e1053eae4a4a1efba4d218ca808c2ef09dd52d55c8eea9d6ee2f1c055e281732b8c0e6f83f9ba4789f9292e3617ce105b10268e0013803195be032ec837cd9bfc3db8b0f32b4c0ee47f1c83cd31a854a90910556f4a257eeaf89ea161294008c1a8505264c353dae0f1de7a89da0041aa8828c2bb091e34e1d7fcd2db4c8ba20c30a7c08950e92ed51324b6fa18558905105e3ffdf5d76ce922bc8a0029f63b39adc26ad1d2f7390310572546d2a9f609f0c29989371224d25edaf0460281d6444810d21526a0b2d177051b620030a7ca788761ef79905194f28fb957760eaaa175e6c51c3de20c3097c87a1fb991e0ae3f02fbef0e2b82e2eb0810b14800105d8d8c03fc86802936b25adcf25ef930142c860026f69f9367745ca98b7ca58022bddd1031d4d5102bb39c4bae01332414612d8ecb0b11c7690ac8cea41061258ab0a559dec6e3cc838c2ffbd2ee1152f7a759061043406b54cb929424611da2c1e44a9f48ec82ea0000cd000050a50081944e0245356d6504131c818026fafb192a649c0204308e41862e778193baa0f12042642247e87ac00e1bb98e3bd89241d57fc011f44ff864cdfd169447d400af1fe882c4b1d327ac0c58f749a46d3a7ca6271820c1e3096b939217607cb1fb20336a58bab392bd3019b27b77327a97bdd2907a4e9f51e077c14bc3dd2df92d0bddf80ddf8a7216e7a6cc07a98fabf3d0865d480dd0fe5215a6b76462683067c9c18c96294d42cf8e8c8f539e470836548166c10dd5fa9ac14cafb58703addc382ff18ab3fa8b08b369d57b03576575fe961da745cc15e8a9e73c8b93cccd1b4828deeecdae1ebc5de9a15973156c167fbbef0ed55c16b5f9e1c95a847914e0527b9b173f28bc132820a2e421adbf8b107e67d39059b7f39620ed28729d8a8e6bfd53913a3144c8abe69316432f5ff49c147271229987b060bf151709b63ecde6b0f43a557147c8717726d8e3c2e79128ae227cd412b79a81e470fc400059755a2da567e9fe04e32f28a699e60b343e4b0fdf64e70d541f34974143246a45488c109462745df53fcb7e0f926f8eccf945a13d3a48d2618b7700f0b890e2c9d09363da5881ef1b2f52098602287fef18578ead2dc4121c625581bc910bdc3eea8c96309262f95602fa29487f9ad3c8ea304271a472f4ab4dbb2ca24388dc1a27bca97e330aa92e073b0ad207aa1cbb28c049f23cf61447cbb1f8f4082e978eac1d62758361fc1ad5b5eee284e689d58030ac08002d428ec430c4770ff954452762e15ef6234827bf30c1ee9eea7dcac093118d1c45016557e5122ff4514dcf67643dab05f114f4a1f92a99f0835c73e1d575726110b22ae1437e707ea21348dcaa8911ae238c849eb370b51c88fef735e795c12e2ca7c997b257a760407416cf1d2fc2108a3bbe6080391c795d44ed59f1140608c3f1cf2a6d01fe8b8c4fca066ce1d6aa4187db0d6f3c7bd5639f9962e88c107f62383d68678112be77be0ab63fd309b795d665b0f6c67d0edd6ca3729591ef88d96a2aeaf6854b562e0c162dcc162d8e162d4814b398ee2c739fecf516b5a88410726374708924a43ca0bf8e7d0ca3f2978b060c7237bac9c71eb377f05b7b5539d7557301e756a89d13dade0d284f8459d1c56f01dc68ea5613912d5ce2ab889ef5107a6dba7ffa10a4e726e644f9752a27da482cfd4d9a24a7faebb1854f05deab1aa3ac77b32a7603ca79ac8f61e4496da146cdef30f5df35b0a3ec77ab99afd7c535848c1e620d1742247acb3e828b8164ff7f02015057bd1714a7d96763a36147cbca92142ec94fe24090af2c471cdb82a7e82ad36b7d5edd0134c72cd95c14356bebc13dc24296deb8d7082298d8e6c82af4c9e3c2c480e1e7b9ae0747742b3841c4ea59709334aa6a6ca1f139c044f194cc3c52be7126c5807550f3921e7d6125caf567f07d14a30b56badb5a65182bfb114d696d949f039ea864e3d96537824c15bb00f2377ace97303e304470b6a9c81c14509c25001368d487039f0de0f16b72db44e70b4a0280d487039dba5ffb21c0729f47c049f3ee86f8d7d39820b9d32e70e6fb3a7f0385c815523d8bb74d51cb88ce0cacac3a335da99e88be0c7c4cee3a7ede8515011dc5b483695c62e478524821f4b1d456547b7fc1a22b8d14e3dfaa3b99fab42566052a0710836c7215a1a4bcdabdaa2071a86e075fac3e86c7de2814621b88fd2869c1fe78e25c56910828ffb3fa57850f7923caa0e3406c1fdea984657bc503fe740431081a00108ce3675fa4a9b22071a7f60b4422ae9c0dfea835da30525782b04d0f003933a722f490dadbdcb1441a30fbc797d674eb12f7e5e8c0f5c74d4a1c3ec42a0000c28c00318d000069420d0d803aba9f9618e5143f4881eb89cabad2cea529d9707f66366cdeffe283f76f0c0be44c4cb2948ea207307fe24048b6d6a19d36207be3a0e42b6f4993a30da1f3592e94b075eeda7e30fe6b9df51e6c0a51ce6d83d050995e994031ff9c610f526247160a349fac7b565d52a1c78cdab7612397d031fa382c5f2bc1b38cb62f5d917e355ce6903e71949c42bca063e0ecddf2dc71c62956be0b5e3907f23ca3358470d4c304fb79aac53f4a0230d7c98a5dd92e33068e0d6224924f5fb0c7ce0f14c3d26db0c4c4abdd17208b1e3d34b19b88f501e572d97f6a69081af3f29cb740c9c5e65c6deac56b314317051c7b2f5e5d75d250c5ca6ced12abdae4b82810de66729df488e297e81ffb8b51d07f756cbd20b7c4e314ac6d5b70edb2ef0ffe1e6911c335a42c2052649be6c16ea61396a5b60229a788ca551d358aae4808616f8df14cbd2af1bf9dd2cf09253aed02ed14b121517d0c0029b436a4f4a4e9a6e7f052e7f9ca61e76eb268f63056ed4af363c8e22926234aac0aac7396daa0da12d4234a8e077f8d1676b0834a6c0e58ad61e4769d4630a0d29181d0796ff1d7f6844812bb79c360e34a0c09ba87e1c59cc3491901f1a4f60a2a508d219922e30358c308186139814af4ca2430feacd6b025ff7f71d5f0eb952d30f683081f3549693dbcccf038f25b09a3f3466931432851425b07137a3f257068b672681dbfa4a0f0f5bb3cc430267b9d5b126f11c81dbe4d93dee406204ae23b764531b29029ffbbd41ef62c61cf12db48c0611d8fece9598656d6cb87f11060f680c41053484c0e79ffef30ed25ff02c8d201c1a40286432c9f158dd7633a0f183332245b3c22454f5021a3ee0bbdefc36844ea3076c909cdb2faf46490eb32ba0c1033684788839c79ab77bd9011f3924ee04c98ba7df17bcb1d15f38183474c0e438d8464a1e520c8d6da1d5023f1b1b5ed0c0f3420af1ded6a78183da30346eb08759537e769883980c60010d1bf01d7a05c939f9353842334383067c609b4335aa1c052ed0402266cc820f8256d5e578ca820b1edd896b4f0e24e488051fff8795c7addb9f1a58301d9fa7f0f112fb947905bb1f6b9a9c3cac983ceb0adefb345aa9aeade03b740da9edd232f7ace0be3f7824cffc7165c92ad84ea9f6fbaa25fa5405db635ed13ac4d40dde8c5470c1cfdd3c0c99cef23603157cdaac1574c2a6ebd653b0f5aa2211fba3e4b7669882b38f359679da8f98fa5230261ee65e34b198f76da195a4e03fb67ce375aee9eb1e053bdd97693c733344c1c5d0caa21293a1e03486bc57998358794e206680822d5dcd239ea39f38e81092969f5f9e606374289983f49de0bf2bd22e3fc309463ad48ea34aea712cf14d30a23be197ed71728a26588f332cba7e8e4cb031a58716d28bc7f9434cf06a9362af6bf4126cd4886f09fec3cb82947e0839ac04ebd92f3d8749452f6429c1e44e6b2985e52eeb72124cb6bce8d125cff14d9260f37758eeb1c79fcc4924d8320be9d242d5759443a214913ad28776931346177d34074a0b663c82af741235f51a5fdd9ee18845f5de35a3595ca0a0c67b51e30b3f5f78616ab4a004bfd682127c007830a3114c148910f524c308bea2ebe6b836de85f06ab8e08b30aa8ace58042329e58edf1f298253df4dafecd571908e5650b4020bc48c44b0c9ee2bc7d1486e0f7d1f6620826b8d1e68ec8b1f8209fd7ad29d6f43b09b4ec33e4f4cbbd952083e5d72b5b68f5297ad8438e720730771a23708fe3b92e81c686aee20e961862058eb8f3db533a55ee713385e0214a8e0382e4017087e3c3fb409f9da420b0c2fb838d200c16665fe86ca9041c32f66fc811fd1fd081eab7ee8dd5a3bdb37a7491fdc1c17cdd9165a5db0a051004655ee60061ff82839c7dedb7184d029bb073668b8755b8ceb810f6f43a7cb719cc3cf2f0f8c584f8ea3be0f3d88371ed89cd472a4942273efba8516c9c38c3b70312a53e8be927095d8816ffb1c75ef0e59225ff8162ca8fa228c2eb850ad1d66d48193da69bf98e3c794cc165a35bc0b2fca2430830ee58a91ae2dd1726a967849f2cc31635ac5021fa8b1811973e03decabcfdfab913d7982fee20b0570c1459f20031b1b37430e5cf7e5e4787572ec596da19515871971e03bc8ce193aae4addbe439801072e85058f9fa2455d5366bc81c99d5511154d37b0911a472a277d26cbca60461b18d5c816794236709619ee6f71f5e377d6c00595d41ab3c7fb6dab810fd23aacc5ece397250d6c87d17f1d074d172a4403ef1fd4c4d72addf7e0c298127451637930e30c9c78e8f7c06ad38baf66e07276d0d1455ecdeeda8c32b0bd63d59e82a6ad7a5b1c5df417860c9c77182724f21e039f212c4b4ae790034f8a8157cdb174bc5f1818499dd941cec8b18be6020533c0c04ac81122471dd6478eff02171e77e429e64bf12eed85e3f748879673ece20b1584e15fd4e8e26b9c008c66410d306a7811c6dd02667481f7943e8cd1f3476f9260adc263e872c9772191e063abc48eda96f01c2418919c3e738a4ca5573e82e9389efd9e6dccc977043b52bd713af4a4ef818de082fd47133947960c0923d8902aa34e3da7abec22b8b1f1a0ad5337a245115c87e4c8f63f4948d22582cfed582a7ed41b198308bea3ec39caa9ed107c7bed4528cb0cc1e5d8e5c1b3df07395f08d6a3429af43a192f87106c4547218d7b4fea3806c1a944cac9d26474ab25082e4b44dfb27429425881e0378964e5280f08b65562ce1c5bd6ed983ff0e9e92d6dbefdc0e7d24cef71fbc07b48edc1cb2786860fdc85dc61a7cbb552958d3db0ed69ddbd3af20e3bdad0c36de4c198d3d8f7f505f1c096c789eaab9cb49d6a586ddc81c9817ec4ecb8722c395a032e682eb8d8b003ff1e6ee7cbf1238c3eba50c11761d4302a0043061b75b0d6d4524efbf748dfa0c3c61cf84e79317f335d4400034717ad0230c088c0c6860a6a74e1c5c60606dc015b8451820e70d1de808d0d30d2021fa831802c6cc881fb1b8924bd52ed1f1e072653d8a5cfd00c1d66e1c04a9fb8467754880e7f03ffda29422b3aac74193770193bb77ba815fa92a50dfc07bd9d2d440d334d0160071b6ce055ed826885df777ba06eac81abd0492739921b6ae0ed3c43fee994341c434c76ee155f3d1706182a3892051b68e043f1e8624c219a67910b2fc1d72041172500038c129ce0fc186e9c81e9fe57f348f2438c291b66281b65d00d32e8c618ca86186a63230cb6811b6060247f5ff4ffb7071b5f48116c78816bfd30ac5b524845be0b7ce81ee4e858ba52c7e15ce025c7b596b7d68328395be04affe338b4ba2dd70e2d303e39797839746481f1cfd2213172ced01a2cb0e92f2156f2b0fca4b9023ba1256b83ad8807db0aec47f5ca5c5feb58eb2af0e9eb334b7dbda6aca9c094a8ad0766972930aae519315a6a7fab4881d53fdf5bebb49e984681df4afe41f0944281cf21b33f23a79073ca2730a9257343f48f3e6dd0096c70c9610e3cba095cf4881f43a5f726fb98c07688df69430ec2426e4b602aafc79d34d6f1f64ae08377c40ebabeb711d9033692c044c41b75d51a09fb4002e3d2d555113347e052683e5f73b38edf3602e37174b146378987a845e0f2a6a9100189397aa4ddb14360f3837f871775d2311302dbe198a65c2978ec38682308aca44d5d212f7698b434c30610b8900edfd22ba6881f131c6db8e0a219b0b1d1838d1ff0e67d6f1fdf7314bafa803dade4f623d942ab07ec07b9632daf0d0f3678c056ba8bc903c9ee606307ec8dc48895c34acf99d3c1860ed88e6c45d463d09cb09103c6f6fddfa3c33d8c9f7fd1e63636744d081b38301a6cdce0366c40366a80b841034e2f65ae8d1c6a310b2e79d8a1ef4a2f0b562c5eddbde788057fd113c1dca31cc614030bd3473948871cdeafe0a3eb315dd7f2f738d615bc94e55c91720c21cf6d05139377a47d7d57c59515ac597bfc6739ba0a3684fcb63169d67885aae03f8ca265123b8b76a482fbcebda3daa282fb5d0f76252e96d75370f1f28e879f53278729f83aefae149cff44f0ce8f91828b1d54e86439cef9f251b07135e3745897827588828d9a7c72d39dc7394869110a2ecae334f3d48d32490b5030b973882cd9ee364594002d3ec1bea4cc7d8f141e49de13ec66873952485b87d7d10926f57d079de0e198cf093ea8bc1c84a77cf59ed904932592754faeb61157139ce7ecd963e79473ec32137c9c90f8611acdc95ac404f7db59452d8afffb9760aca3ac5aa2f61632a5852538eb8d3c3934cd4b2d2d2ac1aae5bb14a39e5ae60e25d89c25d6d7b4f669aa4c8257adb89f936972a49924b8de3c39460f796ae3a54524540b48f09f22627a53d1b590175c646063038c30bce0028c4a0b7ca0c607b47804d7c9e3e7547d1eeac76ea145ca0b2f20c0801a60a8008c2e1c8c4468e10856b3e48bd9a7d93bf21bc1563e9b9ae49f2aa70f2358fbd2e8c1632d4be9b10856b35d842cf3b03b27d042117c960eb5af399d0826a4c6904dc5737053e08773000c2e50708212686a81086e57cb4247ad79d6e1a2042a3035012d0e6108ae343b2b3c0cb9a4fac251c0856f51c34c025a14820b31ffeb7a67aaa49f10ac4729d3e39823ed94f283e03cb2290db1625f90bc20b8ec702267a47f45eb03c168cab66dd9520cdf1d105c58fcd07dd2e247daffc0efa567cf3afa814b57e9c91ab3b29cf7818f63bbf62cc1e30b3d1fd8fddc655953624e9f3df07919d3e69083ccfa1e3d70f927e7b1cc311f3d0fbc7fc61f0f7c9ee89d24e91dd89774edd17d2753ecb003973d7a8e1ca4a60eec995da8b81a61e9753af035b6c972fc4eeb13330746dcce3b67cdc881971ead4a9e1d6e4e65175ac481afe8d2ec1c1a38f039f6a429f54475eedfc0c71eb5238d9e34771c6ee03f8ef3af2309c99cd26de043aff554bd909e83341bca2a51f14ebd5e03a3fb119ef34dd4edd5c06648489979ee99e34803aba241da2e5b34307da51147fc72062e47eaf3ca50952a3703132f3bd5570636598ed15723d5bb4d066eb2f98e7ae5a6b863e073445eb510c349d4b2b6a6c3c0f47fcccbf6d92bcf0403b7513b9e1072f90536bd76ca0fba9e2b8a5e60f73a3cea3eb10b6ce4ff8ec3ac1ffb6fb8c0446a8f36e9dc02e7123c449b6db4c0486f8a64818b4942bd697db60f2cf0b5172475ce6c9bf62b3036f9e31fc54d926205ee3cf295dc2a794d53053ecea141bbb37f472915d8d7d6d0d8d94d81dd0ef997022b493bd4909f4581b78d519dab23a574a1c027f5f7e853f44b1f4f60daf2e3ce9683c71c9513981ca4546dcc71ec6c9bc06ab6978e314c60efcd83fc416d90ac740d2d96c0684c17ff7362c79792164ae0d72aef622e97ca41d222099cde74f42865d47411d20209ec76b6fc91e828e7475a1c810d1d698c8a752bc04f7f410223709d637dcacfe271731023685104fe3ea75d8f6e545f15085a1081bfc97ad12e2f35cf02f7042d86c0be784abcc88fa3b09d9da08510b81443d2fd941242bc1c49d02208ffaeed5e9c8a811640f86359e66535bc385464a5c50f98d21415ff4b37ec3c7cc06f5fdef68594d5677ac0756c11f27d0cf38f200ff8483a221d671df38b6ca1e5850636365ce026b02f68b103c6ede3cfdc1e0f83b53a60cd63c5f6c8f5a72180d02207dcf7e9c4c8ae6b9b1e1c3091427cb3cb61c13b7d0346f2bdcd92676dc0b8c4fc249903b5a8017f6d91e358f947feaf050d789f0cb7a4932e55ec67c19eb68445f79005eb91472ea92b4f35c682c90789f6a8642ea582c260401c09c4c17028104365cd05f313000000081492860281583814489a380f1480025b2e16342e281e1c1e121016120e0c05c15020140809c2a03010100684018180486c0e9284eb07515b4826dc3198227c05bb1d1c5018223c1fa438450eeb29b46f2b1cbb8ac9d5f2d6d06961a18573c29820d7e1edb591f57358e0b145fecd3267f5a028c3951e20fd49ace00000cb33b87289068ef05e18c2c70edfc78573d4aec4e585c4cd92301748e1ce48e4341910850299bb87a5cdb3d508e98e884a0d898ccf0cc5388733a87ff1de06a1feec7ce988e755415c0ecf0f55036d7c8ee7319a02097b9dd4ee7262c2eba04d14b8cf5358ec5f9041473ef06aa5f4e6ec9a8be110d89d8ac43ffec1701120863accdaa3ce2569c26b101959e06a19523f97d38c979e5173a416103fa9e07e85dc42e4d687077e9c3f2748dc96546d9471a8756d24dc32f3c310aeb99241178725245aa43d0ea0fd4856d8302c440822308fbeefaa521d42007494faa5d08e079e087d5e9951dd9a6c5f1f3a86278402da1f48ff7c2c9130e74a24b814fb4e6c828b764a1e5a39a96719f814a6afcb6c02b40cdf1e77644075cd423044dcdbb1db4c5506e6660b5bb3659fb089621df7098b90e769929efd7afe608a30c253792117a89d91f6aa5062751f8e45cfc41501efbb2ee925da45c8f47a3a435a24802d94c2ef6eafe9e027cc680d134e813cd353496cbb093c06c0f6bdfc213b9897789b9b3d63ad1cbb2cf04605bf12567420914c01cea2403d26bbb626887f112d24c8a48017fd506363f75841d02c68f0338545e3544e93b7bd89cac5f56faaf3079aa9c2066b9807c178c132635ba62800cda939d7feb2340cd5d1d414a8e66ad39a111a262fe7311c15a168a0e1df34ebc54fa95295a52b3d9bb040cbe435139b58b8e978a4ad9ba2cd1dcbadd64001ccd2bb956edc52a21fc4949369e4af3a98ef325c63c5cba32042a7378f4c59aeac498c1c5d04890ab5bbef5e7945b9a67f8c73faa4f0ee98c5a9d69dfef54d6b94658166cc726d6325666d0072d84362d47b1bcd6572f56692979756c5a1e564c87e7014ac26aaf90b4676f6430230a2d30f3799e520ed9094cbc3a90922b64fd20d34a58b37b0d32121abad3d9f696d8bdccf9e9e92ae1814625e648c948c4437f8d9dc60105bbf78c460a4de803593121bc558eca7ba1a9c6ce01eca0607a66c304d65c3d369351cf12c8706a7fd0cf0069fc619623aee320d9f9515019069fcdbc771b3a48c51956bc252ee913da61f78a6a759dee754c37275dc97c8ad87523a29481d505e0e9721a247b5707f7c84a3a4da21894b09a2e4b9047ee389c2c924104cbaef71505875bf131ce0a276793fd254fb6cd296f4675564a4b0f75f4c884584997084cce850b38b901a637db15435ad7ed40e2bb5dc88ceb1e78cd991d49754985241cbb2620091b29496134be70ed149a44b35942eef49b48bc999e5f8ce358c5b3ba0e5803de8b4b1b1126609ff52fdb2ae7300d2eca2ac7f017e874243d9bf06c244d89e69af329b5f1f64e08fbd9b917182311b18c3b5cecbf9e58eee4a3a297fe984426b8482a5a2a35fc865a7ebbadba359027d091bba6ed3810a4927352ec01d2c1f90742828e51ea402e19141523b77a427007bd0bc886ca9fe8d17fbbc0714dae18fd83746a683b7a39f8c6a09359eca6ddd7f3a1b59ce259fe3780977afaca564ff777f45812cd433dfb240827533c8224bf19257cbf3e7e62f3d932c6cb139d6c632d830cb7fad67de0eaac46e9b7edc1fe2c7bb9d99e5b0961dc7c282304c4dd746fc5e23fe98dde159bd7f7499ad7afcd5f4105191b6f139a09cdde4ac6c696a3537b984e34d8af17db3bee7819a79563a6bfb08ed187fe3ee8f95d6e4e7599e1fcf6ef197f9ef98b915cd46e60c88685074a53dfe93f7de80dc46a3737f67baa37e5fe6c500ab30a7f86601b3d17584e0cc576f02a1617ce0cc3975504eac8efdef780403a578eb9d54593c4d17879d3aff058c6bf014b39a108bdb0361e8ab51effcd0ca83eaad1df7d4919149f9e6b7b05e7c689c01d7ac7513833eda297d27a945c65f53809570abba192dab6e5c29cb1ac258f6ea02efdebd996e74d89ae826f43b999c5d32901b85cd179c03102ef01c434dcc960cf64ffa333c8f9967a5b15921f07f4e9b0fcd747261263f64ac631e73fc1415055edfa22be572f1aa0804aacde2afb8c549c8608019dd05be4ec76c2c069b58299fcb469914a1bafe0cc9d1f8694d2273bc37d0d9d2bd18acc4faf213d4663bac9a2627bb5b4444d071d909a077b3a97e8ecd626f6c4a6911f862ce3087ac11f3e2615e78293fb9c4623bc8ca62b83074f73b4886300d6806512aa569d29c6c8d8cf0ddd409963f1826b2fa363b11c96fcfa01010479e1dec5ed415051e2ef445df7a6d87030fc4f92abec7dbee34fd068e3dd391dfe9989c2bf1baadd701d94150eaf6fe4ab3fcd864218f8b51f6b01e21c76234c297e53455115a5bdf41603f690a9e709f1c7c53e01d8487ffd9570cc6e1d6c65953619709c9ff2b706eb69bebe7795a7d36be2f1f948fbcff45fd9ecb55ebfbf40adbbf743d236310f2710492f19fed27972120e99737249ffbc65f480e67c2aee3d521fe6546fd6db29b33187cf4fe14f8173849cba81208cb1b80ec84b3de9202d05e70d67f0c3c38dd5f92cc6b57f3dbafe164709a21b05808488f2d355260b8abb764c79e6f26c3e21608ae118c15ccd85f7c54684a1a44e6234ff23a5b2c3ec46cc1bd9479f9e04caa0ae9c41c76252e6e7f162249f0695a7b37a6fedd736868be6fba0973486a143404343cd22889eb8b0a0d8097deab09ae0c219153a1e32f05863cc5ed38ba54111142d3c91c05d65719f2591bf0b8016ba181ad72964c187cc74ac7b5e441c3cae88029926d276c1ceae142766c3b564cb127ec50e35115d52e996984cbb23b030ded78963fd2aab4ec2225e8827b07840d84754fa68bf45b1afd6f5cd432f77d03b8d64bd33b64f2421aefdc326ca98dcbc9ce21c55ede09d6b0e98dde92e462656ceb9199dfddd6cea5696c5b7cb41560d790a0c8c06b2562b3acdcf4d0301b7f6fc8e6e09489b32c4da758c08963f476bf2780e5aa7342f6f093dcdb38e0d258159089712af95af93ce518bcb0a750ff8d19dc6a071b8bfa5e4141977dcd0f993ee4eb15ccdbc8f3c40f9d0f2f19128e7cb4890756451ec089a2e16718b0c490f6ab1cd7509fb295d5fb4c2b055f5446fdde11ee0ead20ca677a28aac00ef4c47334645360dd5e8587e6749471fccdba7301cab019c0b5e93cf5243a37d95043b1470367949adec1acde95953965e61ada351f35f2b4ad5a028d27cad8fd7492872f265e2b376975db910da295bf06d7f949e84b3563cfd88818b1c4d819151a25f212d1d1cb42c36f44ebb1210ddec4622b0b268afcce2fec9d5255e1f80043deda614fe07396014c5142442614b514ff8ae799463e1ff72faca1f8f6d30c27f1b6af536413c929869bea17f31e26353eee61be95b0ccb335c370177460c60bf68103d030bbc20dddc40d84ea532a37583d8496ccbe56b8e359bb2bc0542b2c9ab688b9fbb086055f2f46770eb41ba617234926009e13172f60432ef069de97d154230ce1cf8505d2d7889eef228f6671d990aecd3daa22a2073eaa949ef3325a8814e2c9697150d889159dfbdf72a18d4a1d750f9dcbb01acbff345e8007eadc08a767df088e51cc1c34132ba40759b092cd57ed7284e69459e36b9b8a02dbd2f2edc2924141866cad982e0f25bea8768da16d00f9c4432748253c1efabd464bb8dec203236d7965438b1c521315e0e3f640cdb3dbaae51bad7109bc722c8f2485d382bc5f65a36b61dee8ade35be9b4f623e4f5b53c05daa96881ba626ffd9625599d27c20ea161fc6357080d2dc0b7451d318f8508c26bdbc1284622cdbd95393bc9fa2229c0ed72998c1b6a93db1f93353fc0e0150afca9480c8fae55cbc12186800c5fb35555e33a35b9d3f436d8ca46da6ddf0897fe33885c4c6bb50826508c68c81dc0c87f59af278c4d4878d176cebb7674178be21166aa6900fd55f8f6c542bc24a03fb735e0f846b9510e0f2bbf2dca59ca96ca0e651d525e2fabaabcb3b39c67be6ff908e67e5db28864bd5529613b327ad563d84531b12f48711187667ecaac233e2becc8a140082b3378a2b7773e5dd0f05075ef0e6e83516f07c835fe43470dc92c15c3cd6584940191bec3019f4b7a7f149263b4429580ebcd0332626f24b0e7aa813812fd787bc01a50ec1e59c2a2e79d19f4dc3aa25947ea017672f220207bde7b2c4f02587cb72e6b7edf2c6547320e8072f7ed59db84a19b6e43ba946f0a42b87b1f262a80637ea5c6e6d5c6c351016fcf2cd1df98f55566b2b87c5d6ff67944a95413979d5d5788ef057bf15b92a9f1339ac34ef2b280213cf19435824d9611f2180cbd1048694a36bb3c9c0a07848618e55db2d19c15066b02884bee88805a18bffb6c01520d4c2dc35af36f80853f516b06857ff23e19aaebb3876abb268a47927ec0cbf184b39b8cb994ce1bda18543cf5efea8d526425e568f664d02094059c60fd1430a911e0ad9063f38e6cb3de16281df6d4aab36e5f1cc620f735c225e7b40a0f84d166075919dac52d68cd51785f4d74c0fdb32c653494eef9020deb95bee0c0debf3568624bd305071b57c3ac9a9d9f7982fa283a1c29523d32ef05c225fa1d40840e3b9ca2e90dfe60b03ca61b8bab9e7835732e16c94fc0408db3632805503d90778e252d99d9b44153f8c99a9d2324911b08c8c93560bd305b81d874eeeda94d255ba452d521f2391fc40b1c92a5fcb8d9c27da6d99a7a255eb85e404d5b64e365d521ce06522a04070b98de5f670f65694b8746a905deb49f0d46ff02ec84ac5594fcd6424cf1ac44d463acf9bbed61f1dd60c79f5ecb03296541f3a5eab27d7475fd61a8e27e3203d40f6874fbe699d1b8711f2997060d6a09576384ce50a0ec0489ff272d0c71aa5938440639d90dd43cd10dbdb76bb0fd6cda0d96ab9355568a23f03a0ac0ab7c81c015dd9cf73e48b05b1cb7ad1ccb1c318941c1d0654ed74ce595b6d5a082a6b1541db8bbd606ff28f91bfdc7ec180ce934de582983197bc639c0caed7f7427d813bf241585d76c34166bd61ec2e1ae509bb1b5307c6e14196f01b92d134765aeaba56d8a8dab3fa99aaec02b2e73b0d334623be2cb5fcdc0f50161a13ef27a65945eabd7bc122e4490b07b2a8899632d8b7699c9898a80eb215b4b84e2349a78279e8bee431c542a9c58ef6d9cff02898edc22120788dda556dee2f2276d4c571c720506ad060e80d31ae714c41f1ab8acfd65b4ee92217c06d5ae9767b4d120ea19d489adc1612b6f8847bfe16ba1c91f845d4adac3c09c6f433ea9a2d149eb54d11fe4a8b4c195d65071596d937954482f448d347409a866df27d60637eeaccc38230a4d440c623e2100320c2beb951e053581496800e075fec90a4bba19f3740278a752e863ad2049f30fd001d80fe3c0851d07bb3669bfb2eb5e1668b90fb6894f49826b3054b85c9f83220c82c150bf49b2ff0a1a71f18957c3134ed227442871e3a33757c60854e3490865effbcc90a67163e095a56bff5d39f0446d158c258fb591c4ead6eec2ed8b2e9c0ea9ddf7632a033706624e5162ded3046df100f3ea4ec1fbde234ff0187390e7730800dfc2680f217609eac8304c9ef61ed6d26edf18a7ae95feb8b462dd9dffffa119a253197d3f729688cfcafa92066c9830dcf43695d499ce8647ab4fe7ab57dbaed0b0725380b3a226d5d9b44916aaddeac892d1af18932c584cbf6d818e9611acdc66d259ba4b43d6a38c5d1eba0d6d9edde04a6de6d2e508b36738722538321580585aa62802cc04369e34e7055f4d54229a1fa23f2107e48f28ba650b9015dc6007aaf8d7f29da3e28c8c2145199cd473baa6df9dcd94cc043b1a12366bff986a07a498227662b098a4086086f17bbe31245e1d43a99cf32b96c4283ce2105f2b2fb0168ff410442b46dde2f783b190eb918b4c3d242a2be610a2161d26a12b8521e59d948ee6d12aeab401801080c9704b1c4cca5b08914c87f450409178ecfa6b0678ca723a648e8acbcaaddc5c9466bd8876652ae833e7d037e63dc28a5c4cf5252d3a6e9da8b224e459e5ed7cafc84e545e10331e896bf98d2d58f1884c490b18ac9c33f5b3674901344c01e5ac9015a6df236da246b15c361a9925c859773c175784cfd650513317ba6a155b9cd17e4b3cb5ed560f1e0db9295e976fb90c04ea5068a78fd38ca964bb1271e238cb49690a3d0dde9274446caad316a105599450f03b80772594fbad2b5a39087580b4f0715ace36a7bd8cb9baca677c3a3b92d50e9f1ba160987e98c53151ed141373ae6012868c0c29cddfdf62f24cf1dd7517986cf236c5fe92f827650f5e975a3f7d9b20c3355388f6c4ae856b12801ab1063d244da7b2a0d25a43808b7a86fdda062adf3a57eb57c9bc010dd97f02125ba3400e969455a5329dc245e4aa25948930c410ce9b9c252c39e55b7e293c0edcc200cd5bd18ba4f957dc20a189faa32bf9b0a064dc514c0aacf9b454c148c458f77346318a0563f0375b72b67a0bc488918dad1f3bb17e0c050525f1213ea36306e24a202c1d0c78bfa1d931133ba68fcd5d5b04134986669733ea0bb758d658721a7bd36751691bb75b17e109b708bbbb5c9c6dfdd978cb74ffb17b5dbcf5189a17f48cbbe701912f98b0eea9a3bb1c7f1f12e7ba99772d7995a05bbfaad8cc317497535ca2494c327df5c8bba1cbfd6efa7aeb6f8e763ad3e14bd367c27437d1691498f90e4b30b02913e0d40f5daa0d49b46c968ecf67d349a6cf8af92376a8304d43775a0db9806f2014ba136558fde760ff2390736f0e1c9a747dcf2d5804487541a50ecb7cbfb40e38b48bceb77617e8158c49d0a192b03171b0f9a21418eb9531ab74c900497715b91a76d0d8db2b003239345c8649d1be6d1eb2a4bee0ad8964c1429ed93190ec31dffd993192a743f66f9c59eed4bd863cfc4d2f4eed38ff5c9535e09122500ddeae46cacc94717d14060d0b9c9270b71c39acba2abe5c118ec94e14c0a542fa206c0041bde91bfe6c054149d2033a941014728de22b9108ea3ed75b63a284edd381827508f452a54aecc91227a16fd9b0357b04bcddde1ead5dda9839c3e3aaa0adbe6961fd5f629258e04afac74904dc14d09aa9eb554ceddc8f4fe28e1c9c2e09665998b1644d18c43bd887a5da6394ba063bd6aba548b399cda2349c18e58efb4b9a9980e4e35f07f8814e34ea935c74fb1fdeb1d369b2d84eda520778f94561feba7e4421fd6cbffe03f7aba2e9aca44aeea944c9b7c746e337e875a7869138aae274e38f90d802774d7f959e4c4ddf451c38e8ef493f18597ec0ed963716517e02804195105efe2b75cb97dcf3de6f1f6eabdde5db5735dbf4e0de8d824b09af3a58606af331013decbcdf036f34c668440c0273cb79316507948da9ccf1a7635460eccddcb8a14c54dd9dd85a434a5a1bcbeb0d90e4ab7f8465abd4aab69f186e7dd2bb76ffdbefa228e45106aa0b7a07594018bfd620f47074c3624b0ff40d5c3ec05ba85f5cd80648fde44ffb2de27384706b8f743744d26122bc0819d3bba8f36cad7cb0dd9efa91ef411b21318cb8e24c4b508bb125d25443da63f8b09ad7d949e632ff3470e641794e01c2263f0ea0d0a92d8b313b3d3f7bcbd8d8c73512abe980a7d16bcd93ce2c3a83968856c26a10b63041be3569e32023897c69a5a250fc46521ad74650a277a2c0ea23bcbb1235b2f771cbf0dc58ab945c0ec692e3034d4339ca3d73463c0087b481abd2994932a4bf411a9846c6f5d2139c07febce6a93ababa2f166ac4bf89286337243b4955755550efb57f25482c239ff96ea0afaf9cb2c4881b56d572445b2582205509b18b1ab0e7430e1b3aa2b8def3c07037de86d813eb93645f54552ba6cb757aeacf3dd606cdff8fc842e2419b3ed6bae3e911b61f02f703f5cad5791cd0df806525ed2c4bbe7b887697fff8bffa278b1a3d8532ef5886b09fb12056763a8b2ba075437a83aa5fd2caa5168d187a41fb7afc1f75095aa251b8218117d2fa8f42e55f3fe169f76868dabd9383c6d95d3accfda1d3079b08347d839ac18630f87d57a1670697c732cb1b9eec1a5c66b0a1dbb2c90cfd60639c726e271640bb6066c4f3e43073232cf4cccd0cdf9dded5c132f9e69646a952f2101a0cfe62308368c0f020b61bdfb45dbec7a8c9b5e50f056d82b31a0153d5f63c4a9744b6b062277c51c2a6ce9abcd3a637464affa6bd3546a205cf6c7807603e7ae748464c4243cbcd744846561e731e18799c087e0c689993d60191df00129e34cf427d9c107118155d16721af5c6b7d1e354628bf3d0301c5a446a27400f4b60d70c72e81222f96cf0373e218dfcd8a5b47ea20dd13fec4711b1dd2421e33d0bf0e881091809198429840884464580ee24d1661c7d992404ad27baf255111ea255027da02885b8f48c3c03fcd5f2b298e8fe00ad82bf4e24a56d17dff999d86f5185628a5400018159a4e9a8f933cfa93e57f06319915e441cbb7b891c1b8ef746e9b6a1bca78371b1e7fda293ee0e5d97651eee6bb4a8c23bd676d5ff0387f53c2371872f73bb4653a08bf69907fd2710b9f7e7fd9d56c72328f95e7fb7114d1acc8c555edf612b34f7fea0086bf1532c1550ca152ff37f0460ab7fdf3402c25effbb8c1fff1ea5a6e6ba25ba0bb1bf448dfbfaff16bf755eff279b3ebafe7911ffd47db13d8e6d0a46b7b9bfc940c872848b30820f112045d6bcc0f02e04cb659828f579f45a88df74fb26c4c0b843f6cc5017b903e90d7b4e679c03bd0f801c138dcb9598bbdd85238a0525591f46c1638310f691f094cd5d6b219626ee4c1338c69faf202b16e8e0a6c68ee386fde1f3392860081d81aecd52ee7a16a0d38d4a6578558de58729631c61f24802b0674c16f800b87a454dc736ca6f24d602f4fb66c6f5f73851a01c26963d2109b0e53ad2de8345193774462d0c08617de42b2ef10372da38b279119c7afba60573abc6d185b7c6bc2024f245ff00bd3c3daac1866f5b3e27913590f661931c813017b5e13e668348426a734508b4c1d9799facccb3d8d6d760cb35fd1c3554a8c9dc3709f03eec14485b2d18bc77ffe914fec098c61be0b009165c6923580f80c1da6efd225675843f9902b4a8a05fa15bd2fde48c9644b6d1815eafd85cbc30d1fe11e9281c091dfd5513b8c708e22c465ce0532679009e46bfd18f228ea0c0152eb7754f4e3fc0e9c771f419a73c0f61043f7e515aff84420e918747d67f51d3db9c0a66578438b7c8bfae1d267a881eb121de8794f819b7020779f08e035398f8c5d10df03dbc139aa0d3834e6c6ad168ded89746ea1c78f402029d1b098fe705ceeb0440f0cbf30c9219935d075708a32bbc6d67e4a820bf5ccddfb68f764a2b9c96e4075904bafc8e2923c76e7316411b119a61e7cfa2beb66b17a566145fc3d550534824e00ceb1494a10e50bf505ba0fe25aa0f6af25f6284fc4ea18a0b0564f93bfdb03da178fc2753b9b32699850240b9208a361d8a6321022904543254f951f99402d2cd52aebc4f320527ef93494beab413b0c4749a7da02ca098a0622214b007fe55010aea8b3d619688bd022ea4bed4e54b36ea5bb1eb58a9d63cbfa4c676d4176686265880e2cda1bea6b08d347550c08dc1e047e68143f5858d9aa343b112ea1e046a034a0aeaa246252116f4f34050cc00809b4ba839280bd4518dd2e1ba2b2f65282ad4e1a1fa28a078196a971cbf7f0f0cea15819b2dd4ee47f56118e515f7502c1205913a470fea853a200ae15fc00db33be28daa9423d40beaaf89ea03f5a3112f29ac47f5f50eaaf743a8ee8102740af1ae5cef01ccd4127f0364a82aa827a837d42bd40bd41ad463a380e3c60636be906b780d85d7bb881c83d7004522cc040a552c6a5752c0f4fc14110da08045378ac341537a61f1c5d60b31e988a0b22181f20052c08d0e1425d4e414a53f147f773994271406aa022a0a2a5503e086f7bc01b4f9595d0495825a873a87fa27940e6da338a5a061540d9c07710609d4a8014c8ac08d2e1fe29207f504851b545f24288089cab60e56afc0a03a45013785501584baf7010b1620577078216abf14de51d125056c1c881d9a50400ca1aaecbfb9ca21a50186423edcf08099418e24be0211502e59eac299a1cca038a0b2a1eaa1628c0aeb14705870f8af286a97638253c629f86bc30dbe9502b5201430b3608a7829b2c21751404509c3887227564485e7c4248ffae2257a15afad71d053c82a14f08cf099e502282060bd26287728e0b36daa933e793ee13dd5a11201359c2d02d0353d68be65f2441e4fd280a795ebef36d0c3a04a457d4aed80da81ba847a361470ecd9413442012b03ca5f6f3d1a46a787b5f0598af693655c4eaddc4b52a37422aaaf348c6f98876a260a388afe346cfa14b0e984b0219202222dc466d020f50ab60f171b67549f964f7e61128736c6ad87b555ac0f5f37815bbd85b43bef2bfdc2238c9371acaba168fa5ea7623a9160766ba9d1f023a4c7b9081efc9323f8061d0a68f734cc19402240dc4e9426e4fc97f6b17c1ec65b0223637e265bf422f722e06cec26782da05b71b664f00727c4b30f2b2d617e2505a4db02ee3fc5080d3570b2547203333333333333333333932c8f68dbb09bbc5ab37b2f29a544febde7003233536eca548898644c685c4c28372834ae51105d0ddc0ceb0ca7581da309a36650316853bea97a7c94185a7bc3868c1a1a20058326c73e1fb4630695947d45f31d428b366cec0b7245a71b726a9e907f413b0605326a9805b87031835ad107f938723a6a16c0036245a73f1a4cfe3cf8f05d85514b035a45e771d4cdb167a8c89157456312635ff8cb39073932157dff69b818f31139fe5840a8e8b224a352c4fc30913c0597ee522161c25665e8f01f727ce1e3668a5ec27af420295b45a5682e460f19ae3ba4e84c3dce617c348a4ec243f9a6f82f1253a2384296e48a94691273dc133b372514fdbb7577cefe16a4b4185a289051c80278adf840d159ca5e95a206550bff27baca3cc967439c3cd1e770a7034f8dd97385d4895e3dd4a05925a52210277a1db19862ee0e1df9230b195fc358c0850b17b48926f546d90b1bb12dbb49204d34963d3157d661654fb970b13032d1ec944cd0fd3786ee8d43c3c659a1c7b091e6316c1c053c00a308138dbf482a09732fd1e694ae7fbc154b701e295da2a423fce6b81df3e38ff35a89defab364af24f2f95b52376ec8284153a2093efdf9aa96a2ff2534893b0cb2270d192e5c90242c12068972f188bedba3b28ed0effc14473439e77cdc8f2945a9984674f19966993c3c06cb31c25efd6c963c747ea20213a316d1a6688456867b4e48a12245609191d9713c8e9942e39031e3046489683b6aa46576e4022e5c1437355cb8404413f7b7f2d2838b2925f910e5183b9e0affcff961c3c0a071e33e408620aa8447460793992ca94303865671730173c8c802032c022a446b11a611a2392144173ae414cb1c44ab1eaca4982216e3160890201af779ffa8e5733a8e13010a04e2d216ae2172f2f29d2965ca2040b47155c352afe73ca681b1c50c27b601fa43bbf2e172aa209e71437ee83ff866afd839c751c6fad04792a97d713fee498e141fdae8182d1743587c0acfa0610302b48726722049e73a5685f4d0af4f8a90ca552aa43c18691e31244cf6aab6c8fe9893eb313cf49243fd982311ba43e351bc450f334208aed9a1d7ff8fb3678ea77c3a5487b63f42454fa6e362113a74dea51d39aa86b0d390613487c69364ffc035c7718c7e63c6163632490e457128174e7028176fb800b9a10fed9af35c071f5af531b4b80d4d2799a86d62a92e3b1bda9039d210c2b6b4862eba44d248c90f735c213574a217eeb14687413c2b2e5c501afa897fe1614ba582c75881d0d07ebe77760ff342f9568306034840838604e80cad071154cc3c5b0133a302192033349a1fe5f644bb9c74f4cad085f91c0d669605c4b821830344867625e23b063dcd0c0d7480c6d078c494323cf2088f1591187ad1b02192e5adeac887a1b90e57dde21381a1690f09217d24c94f5fe8ada3c7a21b9d71631a43fd903183c60c3fec00e485e6323d557e4fc71f45bad0598ce798dccec99fb19821630616323070c3858b1b5ac8a871d89831434616354c09880b4dcae1bcf5bc4ce380b1c5c380618a0c14c828456cd4f02cfcb0a1545b68327a6e1eb98a95a7070169a195968c2bbf1bbfdfcb702db6301170e1c2c61686042e5c5016fa081673faa3e75eca0cd7420526b73011903143c60448d9d8c290e00c405868c42c53c81953d6522ce90a5db4dc92da3c4c316652076485b6f2da53f869f4d4982af493f31dcbfda7429325ce43d19ce84b31b1014dc1187318a27facb580a4d0ce7f9423bfec9cbf86a2c0a847f0aa94c9e21921f4a4376c8e1ff64a5737dc022e5cc4d8e2c60a080a5dfe6e77143d073d12642de8098dc8f8c9597ae44e71426f312474ec0e3701ef94126f1d474c68744d2b871c638654cb121a17abd0b22d152ce76404a4847edc3462c46c1634683c664149e83dbe83a829c52dafea0459981a5ae812129a6eb7f6cecb8b8b393c0b2d5260666425808ed05b7e47cbf7e01837dc0217e3866b715bdcb02323b41ebb3cc2446ae598a971c30692808ad086587c4cc79e4543878c2203c60d1b27a801c3868cad0210115a4b39f5e3e24a832b3084c6f52707393e8f525958084daf5ae8481ea420b4efea2f91c1a8410306a90768d5304b010242e71f6a86946ddee1bc2fa01f74dde147b219d5628b1ba4b6a871815df2416f29bea31e344972e44b5ee730bc231e24115a621159b2523cbee4b285918fb2474d096ad06040096ad038bc833e5cd28b5593adf43502bb03d2416b1a398e2f477e394af49805182db6c800e5a0c9297fe49d3f34f528e701c241f361dbc2c556d968ff067d9c2c529409193eb3aa00b2c151291fc152b45c4a56455d3569cb071f260da11a1863e430e6f090251af41653f8c9be6061d2cea051ef1c253d724c3f29835ea359c69c1eba760e4231e83f74d12df1f8297507c1a0cf61a7142df3e2157d98977cd983e59021c28517ae682b789c17c2b34e8e975674ae677ed139759fe514e0052bfa92a82c1263fc62157de8cdf8d5a1c62071534517e22a22d1c95474e1c16a1cebec4156f5052ada1c757ec6ca422d64c28b5374316ecaf0712e0f015e98a28f3b4256cf07514d1218e6868c1a29e0721b3664dc98e125d82d6edc3035b4c8136c518350c003300ef0a214b65847566b1959cfbd298589a4687353448266f6a89a85c08b93550ed9247ec0281b58a23824664b8ad488538b1199c89992e8217ac601354c0a6848e078118abe7c3d5aec957694035f80a2b398e9fe9c3914f0e2138d57e638b258df5e78a2abecfe7188e677a235f178a7a3da6775a621e386d7a871821b6ee3ecc60c19342c9055455e70a2f7643908216bd9449b737a6e49d229c5cca091c5e1c2c50d5e68a2cf329f634dbfc8a2961799e8677398514637e7b84598e8442b551e690f72380f172e881a5e5ca28f3abe1937e7179640552e82496ab9895c8caf8a86c70f826ae6b0128d56a7c87e71ce4b3cb8062f28d14ec819faf16511f29f44b315c962080f3485485f48a2cb510e728a1cbee69e74e14524da310f2a96e7df4d0c04d068c0115e40a277c9d751e7509171e39051e3860d73815bc28b47f439679f5ed04c497390092f1cd187f9ef1d0d0ff3c3790a2f1ad174558bf68e65891fbb80178ca072f0cb8b45f4a1e332ef4872485db91b5e821a3418f042116d0779d45f2f56c68380e14522ba58ffdcf44c8bf4de141a0a984143c6b6e10522face5ed1c88defe72e151b053c00030067787188a68206ff8521baecd14a3c2e5b885ef3bf66cf7c29a6d821811784e8e3cbf157c707e579390f5e0ca28b21b5ff3df7178228173078118856ad737ffdc32f00d1e6fc8b0eb374fed0568cfb9aba457af0f8a10f31eb57d08bcb4176fad084954b472e1d3eb43de671cc267153f8eca1bf943f8a6a8af3d3eba1cd3c9126f1828649f3d084c7bff1357f8797e1a1b18c9ba334cb383a214767fcd8a1f53827f520494b0c7a1d5a790f2dbc2fe375a6c3295bbe7368ca2ab6c3e8b77c2a8736f2b6c791671cfa7c12218887ee9122050e9d88e6f03149e50d6dacccdeeb9a3fe678377471235f82a46df8e284e829826c68b4ab723d87c71afaa8e03dd12235f471648fa5315d24263f0dcd4846918e7baacf7a3434a531ef67e835337f7ca8a811ad9ba1d7cc18d771e865683ee8879e3b7bc7f59c0c7d5421f35ee8f48e3b3c863e884f5deedfd9b1c2626853905d9f54e12c77360c5d88914424752c18fa20b4e610be53d6eb7ea1f18ffc9167313f325ee8937856760fe2e8fa5de84349391a37cf64cf2917ba9c98ebb92b6f8ca65b685247b7a7fcf4fc996aa1891c4ac4bc992c3492d29b9644633e38b1d0c9e4aa5ac5e0d6b17985f64f64547d4a2b7421a25fd7e2bac41c588536641e9f9c9520fe8154e8833cc15742720a9d65e491142c5a960aa5d0fac7f951ca531efb1a85aea390a95c31c7f043a1cd6196faa6fc6198e99ed0855c79bcb02172ac38a151f538ff1cae9d3ae267f10fdf428609bd59b6a787ddcf696d09edc54a6f07ebc14f8c12fa503bfebc931def9e84662acc7c5496ffc78284e23a63f20dff119ac91735a6b81ba1d19c57c3359686948bd0cca4ce99643a428489d06555bf9cc268be680ea15f49e21e460dea1d5842e85df242f2962a086dc5cd4b25e3d67920341e780715ca25e344c2e2046f52f0e2077d1c47cfeb719ce383268ec50f29a4471926a7076d0e9b374ba465e47578d0246ff56441e29e87313ba0f2c887d14173fdd9a4c3f8ac152c3968cd23fdb0528858d61e3868f4f4d563e8d83353fe065dca615c52ca6e83befaa52c44c96bd0e53095712fc7457f2c0d9ae09de45a3e59ca909d41bb1d827cc83e65d0a6c739eab68b854e490c1a0ff2798e47ec050c7ad35e8b26595a9df38a663564fb4479981b2a57b4d1635c07e1291d472b5aebdcbb60451ff9c409d39a55f49573a4d23a4a5129aae843f08cd83d53d1478c29d9d93ba868fff742f6d1099fb3730ac295846a8f634cd16b8ebda3eec9b53da6148da4301752f4613d9df4438d7b9e51b419e5f9d6613e891a51341361a53bd3118abe8286eaeacd83a2f74073e49135ff89d6adc38bed3186ed8ff744a39313a5c3f5e7927c27fa4d92a3fc296247a4e744279e6212c9671efdfb267ac9fc93e343f344744db41e75c8ca99fab17b38137d0739ca8793ab5b368c89fee394d3aa593363962fd1abcc674792ed63165ba20f726ce5e0c952f28fad447f1a826a4c16fbb92d25dae471315eeaa8c3a8d149f453eab99b21b9bb4325d1b5ff6c0e6969617b8d446fd17ce4835f92182a24ba9e1c86f5060f55397d44d7218713243e0308a47f94cc34f4a1a6b9a460a2a1f3305945f840ade3e019da4e1d747abcf4cb98a1cbd7fe21152b439b746272f8a825436371fe617c0c7d49920e173e49aa1243172783448ccb295cb46168a3e2454b5cf1fc1b3034393586b8a77ca199c9f2936bf142a33149f089a21f85942e3493e34dd9f829f68773e1b0e7c25b68634ede7e8f3ff7bc5ae8db2f767967759b9b857edb22b3838a85feb572f3c771c4f8e4155aff4bd31c4db42f56683ac57d5cab42af73314aa349eca0429b13419d02f2eaa2993aa914fa18c3258f171dc72369141a5f4df97435cb43070a6dfcd839649ce77fcd133ab778f78e54839e4ee8d22f040d3127e6b134a10dc152f2309c69071526b43963c89a23c9b6e497d05492e89735ae843e7a160be2513c2c09ed4751299f5724f4711c7aa5476825c6e6073ed321ad119ab051962c87e8fa51847ec2aabc4fd22e1f89d04fe569f5f092663b84d6434245c6dc1b272704a3ee8688c9b10c42e7d11b1f862d81d067cee9ee2884f5f0ca1ff41d67c4cd2b1e63b0d2074d675778748c3b99d38366c2a3eaac31473a1f1ef41dc9c8c716b3837e3a0a99ede979b2d141978346d3102287f32939e883891461f267374bc141e71b2b5c4c2a2943c70dda18fe95a378390ea4b74193c5b3c3eed4a00f21be04f92837bba5411f92858fe7c3e4f3e90cda187e3fb2f2c9d891417bd19118f461068f9e35cc8406090c9a20ef397e5c47f5c05790c2b856cc1fe78a3e4436958ef7ff729056343146acd81c37c7f1c58a2e680caae3a9493684abe8524c0d59f2734a1e8485bf4896fc3b26156dc6fea55cde995f73ca9399230ff7728a7e4abc03a952fdb098a2ab98fdefbc58497394a2eb8a39f3c37f3e7f90a20d1da42d57927ff447d18b787fe8297f8a1a8ba28fa3d6df18abf01387a26f4d82a297ce28a927c12db69fe8426248f88c9ee8342337e9849c75a2e991a8bc107b16b6334e902ce560bc036d137dceeabf95e51f45138d5b57656a8e3b842b137dd89218cb71e6aa98684f27071de885e48197683be46e9fcb561da1b304de974ab4be1e7a656428d178f0abf939854ca24f29794a280f36998548a24b1d07b10c4942c64222d1f94e768f5539f37802892e6787872d31b44771f2882e7cd89973ec884e72462d57b55c928d687a7c77e43a6c558e118d4795a51dffecf6b6882efb7532455a98181145f49d317ab547c1e53c89e89344f44833bc23df20a20fda975210d5e0f921bad8ea5f3995f3490cd1ee75aa4a491d26ad14a2c90e21867e454e3e21daf87188a231e650260fa2e9905fdf27bd4b23885ed72a8f56bfb51a08bf7ff377ae16106d4efe20f143ffd0e4bc9d633726472dfdd045ed0e35c57e48f5fad0872de19fe3fca1458c0f6d5abc642a5dc9d53df4beffb9f43c4efe95e9e190359797ec270ffdcf07394c3d7868438e52c594fbd9db71873e883899d57851826e87c603dd568fe2c7f1c4ebd08955b07c8be9d08b57e9e4a827f73c87b6dce2f44e79b0eecaa18f5153f4e68931dec6a10d3933bd19be545338f49f8286cbf40f9ff30d8d75d831760c17954c3734fe7a1a34463babd8863e4812dcc36412aa443634d15b4bdd734f8fb7862e7434d3f9541abb1adaec6cc90e9e0379491abaec61797cc917232168e835a51836fcc686c4ea0c7d141ac3d755e5442a3334a97c93e7a05386a6e47279ee0b0f2a64e8246ccc18ba8aca68d2fa39f6460c9d488e536fd684a1750b1f9c66c851940b189acd789e03cb9e3d787ca1ddafa0512bef05f37fd41017ef429b63ace09178f6ed602ef461662ca423e708e12d34b31bfe3f7c2cd7560badc658513d5be728a7596893774cb12fc542e7f187bd0c6a1e46e40acdc869d6cb994a42cc0a7dd8fd48925955e8274d7fe3478e0f42852e87186726a205d814facdebf8e2e4ffef7c214aa1f3c8f92fc23fc84b3a2246a1196bcddb2253f1b26850206bbb884a7a903fa25c079d137a7b4217772d468e078fa05f0cad2d6ec0c8228bacb2848139e18bf1e89d73c8489b70694957ba6bccc4ca9230d6a7b9240771b33b0f18131afd0f3973858b94b75d42ff81e4645be8d88348a684deabc463374ed092d05ba5bea464d090d0c761c9e5d0e3315c3a768436b9bfe770253242dfc1842c615d25799015a19d8bdec15407fd0a9611a1fd30f405ff0ef5e3575cb021b4a9e5834eea4a1ad133217469eae3d2916241e8522b67f65026cfe3a80e1810baecd8319477e8c6f1076dd05d0b92238201f341b3b135e78f3fce5a0f3ab7ce5159297e7b96c6832e7de25552ac45c912b61d34ed5b9a39dbf962ff3f980efaf0518693eb40537e1c9939685c3767d1d60e7d3106f76038683487a1af3c7590c3b2f906bb4163999d613c4c4d19dc4c1bb41942b2280d3910cd6132b3069d47dd5a1a77f2843707a341933ea63932ddee95db196c067d1c7f36fe5f571bb842810b170fb84201b932980cfaed1935f38ac7a04fd941d4f9738b8ba8c1a0f11817e2a6485539cca1af68d5730ea29774728bde15ed7cfe782a596f459fa2a97596ef50ccc2ac6822b5a35e1c8bcfabaea2d516092957ca6fd6a52aba147742bdc26c9a94a968f2e51ce33c58a9470f157dc6cb29fadc7aadbade794436451bf9dd51acfc706424a5e85a673aca718c52cd5491a26bf9f8e0d983f1cf6146d14751ac2ccf53a4f52a51342712d37c77ac50f451bece1e5435438697c0d48061b0a841e31829e3c3a08014288e37f37209a722a153924ace154142768a5de001949f68c2c5eef61c7f89fb9e68263cf61cced889ce038928b97982e4569ce863968cf0fcf05925d9441f5a079a256b59a64a909ae8a3fc7488b11b42d0981ae738137dd471424b3585895e55d6627ea429a754b9ba44ab9be370aa1d5b6b5a6a892e6ccec92aa4e85f96aa80460a6e6c255a55dfa0efd25b72a251a2dd55cd99da9a7c3f4c0cadb5a28a61c363e8046a12bd8721cb9aefe4eeaea024fa95aaf8f16e769a7b6e9c00c68d199168472d6b0eafb4739f27861643a2c971aa920e39e2c2050d198f8031430616e605508e30a553f7e47b251f632802aa11b547d88820d14c56522444af38b14125b3e68e115d8ea91caf2b5e44bb5bf93d2c5f4d0f6345f4c973188f2da6950853cc7145efcb1c229a75df93f26cc6d0caba401da2ef388e67ba4ce5c791528668dc274e879e325be67c0cadab42b419378772998389916331b488c9a871e308614b4ab9c3f12d0b19241844173dceb16576e72a3c1b8268b28ee7c754be0c910b441f7a9966268be21e05883ea356dcf5f43847394c07ea0fed4959b6b09052c68dfcd05ae9c7e35e965b25a60f5da4c85fb8ccb1a4f0f8d078fc482e6c9ef1fc50d9066a0f6d0a93ee21e5e8a139cba137eb74ce51ce561edaf9cc265521e2a13f0b29e25bbe4317243688a567d1301634b2c062860c2cb0a091851dfa384e0971653353d0885606aa0ead250f3e0adfa7293f64830e7dce1fcf2f2ad9799273682f4ae48f2a247cceb21c4e9e621e736a290eadbcc88793caf7a3cce1d025f550ac7bd727848eae37746163d2cce7f216d9b86143860a8c1b7a975fb3aeb055f9521aa836b496c94a572fca86c6e31849dce306d7d085aa9e30c1c35e0e351a326068e18052038c00541afa60253564f2bfe3d2cc020a0d8d74e0ae1ed75b963ace4098b96b4ac66a48ca78591ed11c57ee54ce688636e84b6b495e395065c80a14192c0235862a52a2647cb685cbb65762e83d8e230f09ee86a1a9ca508b14cb67220886a63d0e372b32f7853e72982d44fbf57846bcd085e89529574609df908c731ec0000694c086a7608b045ca0cc4080b9e12e5c6cf1306cd838fcc0b84275a1cb71b243250b39dddbe2421f738ab1cf030f345e8c83da422f3ae7a11e5c4c0bbdb7887bcab1724e2a59287c98d81a9b122cf451b55a8758318f3fd615bafee03b9b7a2245b9ca0a491699cf6811b3c81d9b5955b95f8e3354151a53f7ce29725831376494404616308c16340e1b0c282a343b5ddd1ee56fea9b9a8239eceb789deff1c7162505ce3425848c2b91dc1a91258aba6e7c364ae035dc0219853e445b5f2551460d0d20804a468d13c0f02a0314149a0e53fac1569ed9de03f5843e6f0c2a39c6230db172821aaaeea9957d315b071f871da6aa098d5e490a49f9a39fc7a102e300172e8a0a4c8ca398d06afeaace67f0581e81514bb05242331e6bc97ba413dffd24f4719fe68c68aa3efe17123acda97ab1216c4fd8eb088d7f928c792765844672083f6f16d6f3e72a42a323929adbb19643ae88d06a7ead8e3bf2fc519630a821349d7f413a8abf1f044f6002d7a20229282134e3c124fd3241e8232687ca765540a81f74394bfe43fa3d26a3f2812115122ad92bc28c56bbf5aec8bb6fd0b07109aa075dcc5f8f4f73a678d045938d21aee7d40efac99e27526caa03b284a4300b597746e5a08f5267fb9abfe65db770d0f5741e976c6d9672a91b341dc799c5b4346583663aa32b92c7aa066d274b21c698831c2455656461034631c68605465034e87225079b95dd185a304a0d8f0183ac003583beab37fae4076a0c4a06bde7089b879921a8e83d90cfd7dd4116b5f414695e978f4d2635452fd9433e91de94a2538a5e73fc60ac33a4f85ffbe3a8e29fa3e843a3246f95a5b0f1144529e49e943d2c14cde6e6e42c1783a62c41d1a514fe7210d14f349f682fa78e3fc242f438d8134dc5e4b1c53d73cf6e273a6d0975f39013fd7530293544b889ae8308db41e6a389a6a37c2e0fa615baba4c74a29e64ae830f13cd75e7d42e1e2b49e712bd4ee7caeafa58ac58a2cd2b39260d7e25bace512c58a5c8af2d25fafeecf9e3619e8ee1248c4af1239268ab62aa683d219168d4b4332ac5861c8708247acdc898a3c54b216b1ed127a9acdba945caf38ee8f27f0a7d0f52cae61bd16ac8e415291923bae492dc3deaf738c7da22ba8c0fb12f4eecfcaf29a21d0d294ef0ff910bb144f4d339245ebec6956688e863f98c2b99ec109d44e4ec71ccdb497b4374f1f3069f1c3c83e58568e43f966c11d4e3602644133ccc9b836cba95ef20da98358f427e94633f05d146d514e259ac40b41b334380e87732e7d8183e7e357f68da3dcea13cfc20e7c50f6dc45e9ae50a71b4d2874ebc2fc7570f3e349719c772685992fa7b6882efa74c98490fcd8e05bd9873acb82ee5a109957b92c26c9c1c4978e872b3c7a6f420a636e90e7d87525f4fc1257390ecd076577c1812a2cb47aa43971ee9a9739abf0018f502a443d711a364fccc0e700e6d4e08393ef5b83ff01024a01c9aa4a9b3e6e17790f3ea1887f6f2729234ff9443cc8a807068ade3090f93eb87c6f90dbd47fd41225f8c2bc119a01bfab4a0229de31c4479af451bba64de418ee463e5dbb2a118d7d0a5747c983147c5ecaa86f642927c64c474891adf00d3d067e7fd247929c526d1d055ce66d9bf1a5152089ea171ad0ecd2029e5c03303d15a728a68969c4a86fd5c2168f0a83465e8437c88e1573ec839f8d0a051438b212019fa385748708f25c6c74d161828819b1a376c688163e83dcdb442540928862ea978920fdfba21dd3074eaf959f73f4e0cad2d0c0c321a67c6034a16326228800d165e830618ea8ce217729128669a9a9a16e391e6cbbfa524337aa10f73ab5d5373e41c72ec42a3dba719835e47cb11e4425a16d1b222c2846cb418edd1c42d3419aa720ee73d72805a682e5470d7cf9572fc6716b0e86c89e948a948ed113b4c9683fc6b9fca01c4429fe7ff2a87976ff1bf185a597c85ce23cf1d4793de0afdf64cee2052be0a1d5e8546bea20549feb1eb6554e83f089d3584f66c7e129c425b1a44b3f7eb7f4a41297415f23b05f7a027eb270ac7e96091fa6287423b1d76fe888f24bfe2137a499de3184c3e5e49a9013aa1f955fdd60eeb1a3b4e16b009fd463eb1a493da0232a1cd9ae443d628151932b470195a78150c5c4253eaad1ee5582f4a9ea884bee3e89bb2c7174c42e396534c8ce5f1260f22a1f530424cf1ea109fa30b7884367c10da743ae8cdfcd0086d56d3cc61ae9c2a6453843e0e193ff08ef022ed4184b6a24a071f7d9139fe10fa20b322e6b59eef300ba1f37c3967369975496610ba9ebcc8d641458ee311085d0e790f41c378289ac31f74390e4546d26236c951e8832ec3e5eb0b9eef41affb1f83f57649c741e4c1917f4cb64c79dcc15969a612ab11c5421db4d1c3b8d96f3ee6a0a9d8de549191e264af800a9ced8138587df2846c1e420e01440278833e57d050999e7d377fb441972a259d2c46d2803520b6d3c3dbd2d34be4a5cb3f8aaa249006adb856483187e5fe217ac3d8301a38833659ce1ecf0fff2866b64e40193441f3e3910935061883b63277de182124ebef4018f415de713fdfbf57341d6c128b31e32f63ba817305b956f4e19e3aa70ee9b1e274a98a682e128245e4ec77985c90acc1c062868c2d0a15da096e156dfce05a5634e5e507ab82c94c499918498b4939543b440a31a9687b5276578e4b452b51d1e5f6cf1f88878a18aa3b451f5727871c31678a36ce925ec7a66f19530c2d83c50caf01038b193266cc702d6cc0b061b02806c67143643571a5683ba718db3c9bc771275a68710252b4d771980acb0b8f8960d43029a091058c3243c631d3628b0c70e146d1c71531f5a496dc3ea628dafdff3865af74a1683afc90b73610815cc481a2f7306364438a49dd62ee134dcec18752958e46d9109c273a4d41a3786c45ff94b94ef471f690941ee4982cb0b0982183cd71424b1e2bbb840cd9441ba952b01c2b4b88aa6ba28d385131c3c2b53d2a138d64a6b839ca3326fac898623d8e1d82ce7c8946fbcf2d870db9b3a296e8bd745f721025e549de55a2d3901d13837494e8cc52728d21b20ab870e1c2853966987368281633649080807093e8fbe3a47cd429c721f32789c67c263dd08e8dcbeb22517a59a467ab5a9999e46d4fa1159db20789d682f7654b9d85a1837b44bf21c3bfa798831c678c8c1a28a051430bab229c23da09239b3f5225c885af119d48ca2b39c8791e63462817cd34787c2da2f1b8bc1ee714174f21c729829395cdc82e2162cc09f71c46328b175c22fa99385639f7feeff788687285e05931b8778833c415a25c1c21da7cd9da731c232ab25883e8420edfe33b2d3dd0f204d1a5368b309e355c860b4413713aa8941f040f109d59ce1d71c2c53ce67f683257a4d41b163c680e172ebe707e682ae2fb65d358169b21e34b40e3b04ab20e5c1fc8f181dc1efafc5be1d3431b3767071d2a873167f3f2d0741c9f45ff304a7e4487873ee6d8a52177c783bb437b1ef59586667514526984b3439f3a278f74fef3d72cfc0426307e021334090e13430154873e782f8b4e21e609561d1d8e3764f2023c87ae6237b345abd00eb31c9ad58917d23fb2f0790383137071683fac98e3f8f33a3834b9a3b5fb657c7324dbb837b41f527c94f2c7fa9fe709b40dce0d5d478dd4d541b29c8891155c1bfa881b2efa6114cfb992da826343ab732a1e327c59f8ada1491a53e49f1c98c5090a8d63c1a9a157f128753374b08e242eb834b4173f4eca1fc718708101d0e0d0d04ae8101d4554fcca719ca1f378e35ba8a839255b33b4a92dc644f3d6852b43d321e207d1593cc721436fe5219d2545c6d0f5ab87193f48d1524327862656e69cb7e27c531386264b7e97181b30b41932c57052c9373fbed085acee852efb63eef3e0e174b80bed585be818a773ac33179ab5b6e021c75b68b5e378c9424a9467b5d0497ba514217c7fbc66a16909bd973ab5e4308985bec35df3c5f30a7dd0dfc187a0aeb2312bb4d75249aecbe3f0ac2a34e1424ca5b1f3e70f15fa58e9eff6e94ca1d9ef90e9df313247470a5da5a013371a85c6a318ad3fbb65220385aefc7fc2423d674b79427f229532790e2734965143fee837a1993999d06696902172641db6be84ae238994a15c9365ac84b62b8887f861fae56c12da350fd98c2fe5f945429be273fecf99a3227a0473301724ce4d23f4aea61321e3baff58843e5c0c16f573c51c8444e8f2c6ef0bc1622ae586d02457df948b9f254884d0b8947b94225fba5b101a8bd24d893efe5a01a18b301bffad92bfff411bd3e3702d5bf6ed7dd0e7c8df135310cf27991e349d73e86491e1413f1712e324c5d7cbd9412b1f6e88128f0eba9cdafe1fb32a2425074d4c39f43a7ee0a00fbb42d40e2c7607f30dfae9dc0fe29ac5066d977bc58e63a506fd87989ad9b9273787065d5f4cf68867065d7b9472a4b4e730cba039cd8ba45eb91874a629e27524ebd58f8341d339b898d6b190ed78451f47aa6541e7b7f23f5cd167f3280613491d513f5ad17b548fdecdae95c3072bfa0f3c8c58f4cb98e463154dce81afa5bc394db3872a9a89512bb687472aba1c748bc6ced9a3dea0a2df3f71cdbf6fee965334531539ccf5e8ed394cd188a4f0a1e7b0a4e1518a76ba2a073f1f34c73f291a518d1823faa3e8cf45363b5784ceb8287a4f65b2a1c33ab278285a15cbedd947f38783a20b65993197a747f1137df4109be3a83cd1a7f8e79a62ecdc1877a2cbe8ca2c1d9ce823e79b594759a9ef268ea2e5a5778c6aa28be359da7166a20f3d6ee98aebeee188892ee6a092c7a17889262e87aee3a1580a114bf4959ddb64b74ab4b251159e3be3c794e8f43fb3c7c514619b4417dde31e4cf592e843f53838cda18f4493835cf9fa2a2e920712fda794256fd4ec5e994734aee99227cf8ee8c22786ff506e447b71825bc7393e77ca88b6438fa35e2a17d174ca9ebf42b7332d45f451c64678ebcb99aa44f4a11d5e0ec9ba9782883ef56e0ec34c7e8826e4286b887127698cdc10ac59c4a914720ad14c0e3bc794eb20a32144336ec1e24e66104de82869e578f5a31441f459d2e3d8d8132d2d81e852e51c8f2362885201441bd93174469ed4ecf843a33135fd4374c68a1fba3cb3d21c72d23efbd077ced5d5f1a18d0f2582ae65c713df43eb7972ffa8ab072faf687ecc691eda9839fc0fba3c2aa4786863e7c87df29d429577e8dc830b295a3bf41e3cfe46c919e4c43af4d65ede9a2d255748872e54ea2074882c9f27736824e738af7eb488bdb11cfa96b61441e338b4a6d71bf172fc8b060ebd69d68fe91bfa943ff1299b6ee8bb6c4323e779624ebddb51cc86f6c31fff30672a65d7d04eea2c4912fe72b26ae83c1a656862dc98e3eaec5973a36468b2c7dc619c10de31f4e952fd81c7413e4dd98aa18fa3c5a3a45339297c6c180818cac57ec1d60bbdf696eb74e6949bfb76a115d5187b350649e13c48582eb497fdf973334a99e93fd82d3431f642ce875d6de9570b7d78fe24edc945e3722861b3d086d84927e549471974442c940b2cf60a4dd6909c92c6564d9ab3026e15fab9981b967358f67631b460dc03960a7d7e5cd5394f41256259685102193636013b85adc7bb43f3e3bb52e8355a98adec51099f230a7d8855b1d9378528d32f14888d18e13b6622c57d82ae13da290d7fc13d0e73aad609db843e2d63598855bcaace842672762091a56309cde660738a9624ab8426475ed00e932af24436097dc81d76e66872a539568345422b9ee61ec1a3fa430b718fd06a47e924214308a5fe1aa11d8d1de653c74b0e752dc216a197103f9cffcc79bc572a2c119a09096dd991f141b343e8e4276b56de898af2af10da10d66365b841687492a7ffe98c6cf817086ae490f296b4d4f210f9bb37c708d1db1fe8faa00bbf0e5347d4ac92cef6a0c91453ece0a9c3833eb81864e3344772b4eca0994d0f225f2d7bdc71e8a00f5cb6a7aa830dddc139e8472a7a7b9c53ee91e4e2c0ee9f1c36fbe46ed0c610a3d4cf72ba87980dfa286252b6625cd799b6064d668d5529e58f8377202e0d3a979822474bcace80a8e2ebc1e7937765d0c86c444e863289f0908d4193497fd2f5a3d06061d0c4d4ec11d12b21af68c673f428a7281fa2c57445139d9e4f463c0af34172036d4553a927e5fa5c5d4627ac6862be981dc75e4a0d9faca257cb71569d08d1f0bdaaa2091efd31739294dcbaa6a20fdf737464ce414517be1e2686b3e8297a4d5592a3580b3145231393a616f367647ea568438ceceea8a31c6afd1d29daeed698cb2fba1bc59eca2775bf76278a463e47d291befc4869ee42d19b0729bd03451fb479ec0f46c48338de7da2c9a1ef5fe5f65ac8f9ce135d8e42e8c9d451feb05c27fa284ebc589af5229b8bc7897ee4836439750e53e7ec36d17a9ac73cd162789a388e15f1ef316b97893ee385e8383384fcb107136d8a9f3cca6147b944effe2fe9122eb54413a1528e1b37bbab441f27772017c5e3e364aea0946865768359c7252fea5e1274128d5f69c79de3d7bee491443fbf311bc3e78d163c1789764ac7b27e0eb2f7a63c5048f439cfec5b4a5d0ff411cda4e41f26312b1fe68e6872fcd5f156644ca5a536a2f78b39f7c40389ce6d87a08ce82d3faf6be66b114d48e1952aa23dabacf8d87305974d0d1a318e196e2eb0024d44bffb49f553f227d0e25811d17afe8f729419836455f2027a885677bcb34695875c9288211af7907244c7c5c78b85683c4c1d32c384f8d02184e82f3dcc9e7c1eb5b4a98330c2a5b8594449ef306efc8f3bda1d892a88e64dfaa432da4074b1f9b3643deae0e320201a0d09177973e4a6a2fda10961a7fd3d5b9ccee58746d7e3e45e16eb6c49fbd0869ca3b6d48154f6e0db81f2a1c9d8597c630c1e22947b682dab659c0c71a285eaa18bab99b3d3963b5cce43eb6a51b53af9e7ca1c3c34399b7407726a9dc1bf439b6561a3e60c9a5f4318086a87fe43b5768ead3b8e29d5d03ab4953faa8f0551064a87268655b2ca195cc47226d03934a9152d747458b0f0b540e5d05bf609621cba4c59c2cee906110e7dc60cbbb1accfc4c31cbea16dfdf01633e65a6c8c6e28bab22a689c50db806c20925ac4c66a5449b6160f27299669398eff395d4333ff95e53b7a07994935b495729c2d493c4d436f2d394ad9ca5725428a8626bcae5888cc39439be3e82acff83984d061863e838fc71de45012462e431b6673ec41c71ffdc982488666b4a39aef7a3c8dec18fa6092f96732b13615c5d0054f597cd2bf3074a1a31c45ebe84a16350543fb9ff43dee10de7da109e751684831e885ce3574bf3f720ff5dc2eb4712d5c87d9249a624a0817bab89c6849c367b7d08466798e73b24e08aa05e6c34bd5d1b266a1f1583a25d3cae261a1f91836dc72e76feea02b7492b54a7286e81b728a08b0c26a159a18b672698f594f4a512af461e2e3c853ead02f683a853e2553379fead04b4422a8149a8be531b2e60aa693d78146a1cb16534a0f36e562a05068628e8e63ce55b8bce5117d4253f9d63a952d41dc8fa18535c348a0a8c027e0c2c50c93850abc046d5027f481c7b9e8af1523b9478ea04d684d72ea0bfd32d9652a13dad5e09be9711cb8842e8bffe4aa3839497a70a04a683a24f9cb88f3c14f92ea3409bd5ea88efd62f0d0838c843676f4fc702a3cf00e39425bdef1c248e670345a6a845e532aefeeee66a045e8ade3cb6622e2f9736e230c4a8426e555186989293b66330a3a843eb494a3cf7ee4519b5bb290c1817b820aa19f8a1242059383d0cba75c190fd9232589040542e752f16162982014f4074dfb44ad1c0f3c5c48f9a08d160bd9af2426f18813b4074479d05685a876720b167cdd419ffb6539ce18f35032aa83d62a789063f84648de13cd41af713f564e1ec5411f856ad40b61ae3b677a832e74635b2be646f624b1a13668cf24b2b4239395cb14b35122d01ab41bcf45d7c4c31817624c501ab42571d9394ffce06d2a4167d09ca75c9a728e72a80cfa8d31c6eac64e89b1121c040b8d419bf1626308172462f0208541db618ad9a17a6fc816e52b3ab54e952f8428ab11573465e5bb163aad6875aeb2776c86154d598774aac7f0ceaea2ddb918355ace6cf12aaae8f307957425773cc93a52d184b47ee68afafb1a5474a9f99b3dd13f45131e51b379a89ba2c9bad952c5ac4ad1079fccc3af6608615c52343229793d7c1d45f3dfa1677f5c9aaba3a2e882277f0f7395a168a33784fcf9181e3b0e14edc8a5d4ae569dc2e498b1450cf21347fec0721c0779d979a2c931a1f1713a9de8ac2f9b4e4e95e444d31b4f53f0a064ace3dc04a559116f66ad113b53652bc9e56c466a82649199e803b7b4ca20214adedf068989b63c3cf8aaec4bd216cc4b5c72962177202dd1787c142c82ee5989e5c5224ae8c5f0eeef5452a2d7d59037bfe549742a5b926435c77118a2247a0df1543de217893e12b5186e797d764245868444f31d4e068b0c71423ea2719ddd2b1dd159fc999cd52ff367cc46f4c10773adfd61ca0ffb63442b514c45369884dcfd2ea20f512d74495bce1f3c554497e3f6a7864726a2f1203d7bc8cf1011116dc7ff4dcf418778887652eacfed9125d2c3104443f41ed55f3d5d261d8a855888a65243b7baa6e588189110e602731049469082e862d050f13b21248fc281484034d3da6121058fb37b9b85a9510ec83ff49fe330648b1d73d0d43e8d2cb0803143468c1b3252e087a30a0f0fe47bc2e3c60c13c3c609b4d018d987dec39756c59ed8415831b46ed8f02c60dc909185163628f9d0c6f7181dd4a2260f736af80d18320804720faabb8996b844ac6cb7c8d27da51efa3027d94ff1657359d003998736420eb257fc388710626894b0b9e3cee1957720847b444e2b2fd7f20ead23026987b6635749f9e58347d55187763eadc4da733af49f2b87ce9c83f678780e5dd41cbcc71e69884f4b0ebd57fefd9914651c9a18c34c4286e4c8839a70682dc4714b19f67c431f7a8e723f7e9caec94337f497ed39ecafa66fbed0a0906de863d799aa9c3787addfb2a1934c31673d872d2b415d43636e7926a6e4b1e5ada41abaf0c853a45a16d3d0a4f0b0c3bc99d129740e0dbde8fe5af68f1d37e43c43a7e1d33c5b8e5324736cd84833f4d551a93b0ef343c794a1c91d9f47cb1a32f41e4caaaaac57f93563e8f307cbe051bedc6e11439325c54ba57c183a73edac1fc3648f170cedc752e940739819d1f385e6c331c9b1614f73e4f1426b6d169a83ee74a18bfe23b923e94f71e442d3b1efc4e738eb7cb6d08e770cd99f16fae03185ee0dc942af1bbd623db0d0ce8790ee41cc15ba18dcb3337f2bb4de51fe983056a1cd31cacfc56fb82452a1290f161e64a84ca1cf71e5f718d239c75391425f9a397beca944a1fd30f2f687890f190385a637a8cc665ba5dc3ca10f52d4c31ca5f845f77042fb16c17d375652754713bab021233377a7f2e860421bb286f33397d08798ff03f9587deb50429f3c49ea676e6f4b26a199e01247f244422b59a9bd67f247e8e2eef7a6576f843668eb448f9fe3fc388ad0c47685eb78fea97922f4a229199b4ff3a47c08edf5f48b5858086dbcb82155ce06415f0f15736280d0f469ce30f507ada76cfbe9e83e68763c96b83b1e1ea2f7a089d37ca12a63f886ce0364f27e90b9f90edaff302c22236f6574d046e4fc8ec1430fce9283ce830849f1899b830e1cb43bc122c7f3b073ec0dfac8e3fc1dc363922c6dd08494e31cefa7c7dd08d7a08bb1d4e12fcfeee6d0c04993103607f9328336448f241642643d2f832e64ce3763d0c8c71ca5903c0ec28377010983f6738cb22907ee2bdacd945d2ed7baa23fc9793a25b1c5625ad1e6eefcc5a928eb1756b41de46dafb48a14f32a9a143c82cc5c755e59159df607eb6165fd1f3115ed86aca1e48d6aa8a48cc66202c258301409850261200c4e3d2d00e31308001838240c4562a1683050f45c1e148002632e1a2c2e241e281610121c1c0e8843a2501814080403613018100805428170402c11c6d83d001c380b3928b8db937480a6870a3fccd7f991c39ffb29e2715d18629f7aa5147ab532278b7d613923dc667516f43194f4fc4ada748784cd5a535d0c69749da22c38c04ee54bf06c60fa8e04a59b8c58a14b41024eb9bad6cc895bbbc0d315c740164b348c3786ed48f772f91f1a61d850bb3a1c55b7a0ad890d68dedc6ef9b830af2d83689332484c03a676ec6fa9889b9f3c9dc188aaf3d21c42f2994a953dbc75765c1220173f11bd0067de2d73c75ff01d1a335a8f284e7f3c74f4af862f98111eebebc6269f018c11715c1c2e0b7757a5fc4c900dcffc8350df9cd6c73424e280281c80a62dd4673e38016b2883f363b009fd002b51c693d911d7a40cc4cd5226e4cc7c4e15ac48e515039178acf156541aa545a267e3a3d544e7b6cd54c608db96089415b5c9fc2b0ee0aabc736cab24f885b30dbf88e247b367b3c23ddd1458934d33b5f9df6885f8d198978d32ce8a15b1f694ccc487a9705a5698c1309aba4c37fa7ce9e22a95b1190354a996bdb41273202d4c67615eeb544b83281b736a781e6eb26a6a6d98c43d495b077e32a4beb08accfbc26494f6889a6d5135a222f6e7e4b58c7a261f084be40b8d006888d67f1e60154294476c2081aef6645ce5eb1888379c5fb540731cd7d87e45b02d1cc2c603bc71dd018fbce27b6d22dd359e52643d4f05affacb1eccda5acd99ee06d017d8e5be770946f015c15d65b47176f7ffea4d06e7af44d28b2c99b8a4dc35fe56b6100a56a8e6c5ade11cf3cc05aa83f5dc1be07f99d7ce59972c13032609d3724834024e79321a9a19cb71fa686bd5d7e44d6e22a10a26b5cde58cec1b89dd0d6c3865d5a02bdbf2ee4457b7257e4303c77268e0aa304f00735614eecd4671469116effdad121c4272956b3fdbe4a56a1798ede297c6a00e16c700b1463012eaa851ded91d041ebcfc761ecd63753fa11da1156d7fd44d2a7261e3769461a0ea84a053f097f7f6ec4046c5b28b343ffa086e154b0769df7cc3ea050f7f60007048f298b8de485416a41c8e6f24df977f5849910b2f1cfc3072bd3cd9b0d98db6e58b3e7da515f4296842f9fc567d4e41613b4654f0ddc80e49600c9a2887bee9a48a1441a9048d6b8ee79d010812651d45194e47ffff659f44114f7d2998c7cd0a8b13fa164aea5d7988c2310bb05984943d49ecdaed01bf8adf77fb870a0e322cd5bce94e12ffb0e121dcf9944af5119c48a3e04de4c71167b29034b7300535ff8171507c18bb5d11e2bdfef5df02727cdeb8619fc90c65bf77e928f416564225b7679abfb3b67b5c83ce4663cef08d6849649de5191bd92a5e1e71e1a16d9eefb6ea9561c55042a23de3896765892a29dd4e64ae6157fac55ec4f9594083d60c5824b87e62273317480b8446dc228b6c88e77ca82352456367befcc8e974620db199d8ee30c2912e367e929f81255e8c599011b6e15e1142d906529ee3c6c67c981940faf2f158dee477f8dd460ff8d0e188f423019c968162f25fea7a69d60781702607cee85f92eab0ca30299de876a556ddef91a06a6318e8d03fefe82ff39b56143cc19fe4077dab7e5c788a4f95202b107b0be23c93ea48472160a4a40c32ca08078a6a7ea7cc6c30dfe3a37f041f18c9e088600940684cdc5a55a454889d9b6d36d70d921b137e6161beaafbc030584c48786c35127095d1c88cdcc103d4d23c54231a54c7304016731ffa71f1f3820facd6c23f7b4b4e7ec0a12124d59a5dddc40d6d4874a44781e9e62d48e3c5c0936c223ae5381c3c44f1acd03b5099e408b779073ec015dabe14648303afeb9b9564ad36e301cc23db5c4b9162fcf64eb840db4bd9f8469aa3702451e651b72868d7094987bc9ab3c68e2e508628d52bf821e3a67f7417176675be4e9a7f7e3d40945958efc8e85c7d738a83f511aefc896523c2fa29c1a94b862dacd164aca7cdfdcf1f99b34635ef8de0ee9fdb7b00cc087df8b008c4e172fd450ceb9a94e32b9a3e1bc63d4d0dc5bb1f1bd695348561f4af23676cfd52de9cf7feb1b51976346f69ddc38fde23001f4f799ad759d4f1dfdd686b0764802601e15ee418f6760ee632d5cef837ee833ba97a0b4a00853014b30e0ca335838d91ebf66605d04852cfc6850f3fab3d5069a75988c35a268afd02bc148623270597bf3dbff13a32f99f4e62615d064db157804d790055f99944963dfbb50a1f846f7b339c33c2019926d6d105355460782906dbb37d959f96d0a26de04027047783c011253ad0990806ca7fdd7ee4e46c64265428d67c11020939fa0120e085e6cc688130682c78b84f3dfae828b40ebfa39000ba1b46060a63e32814dfba1212437dbf1b87346fd1e013acc09a2697a0d3a9b96a7423a2e3057840c389c8325bf3c681ffa0492b96d4e19da8421fe1e8c7c7429a4413a5b4d6f058325b1a1d539fec23188ed63d94409418e8286ce3cd99d5540e6280f66066f08cf2379fc1621958f9c8a98e2133519776a206bebc3efa4173a30997a4b98bb60e15969a5ada24805ef6f178774e00244c2837758bcbb029087b7c08bdd5ff6222db1a4d39d09875ecd999c2b0e01c67ca682b74852a08b65305747a459761c1eaefb9c3466a96df2f8abc9e6b9f677cbd426ef4a9da59c82932565d932be640d7b7c612378df46239d1d5f0646ac72ee28a0d3389af48daa86c8ff6bbf9559c5ac6c27aa15922d53e2359fc051788852e79bef683e19e30dda3041776dc7538d44e2aa71d1790ec9e5b1b91645ad07d17ee63b5c813c57e5c1c5044f05528ea6a3cc8e996eab70d0bbf890141a061c08c080680f9536f4144ebb63a3826870ddefcb63c06dd69608347aca3c3a0a3041bac3c58c41dfc981051510af5ff9d149967a0277b554916be0f7288224b959c40156e1539b86bc3039a0bf973ce72440fb2a8101a63571882cdea7b8103b5570509b28f2fe83a1bb3c3f1b1fcc727e8b59757d2061e39a1665aebb59507d0deca206a12f4e3b4881d458cac408988b1bfa8c4b2a5241ea3538efafe7a0e45eeb52697d0d723f0a5a050dae86cfbf5ea60820d43856139919d9d0d1b041dfdcf94b220527243b7cac608d0ed68f73112fe9b36daf14a40c19e95c8667a06bd13902759c7825cd616cd1418ebbdecac91de83c039b08ecce40898348052b9e9056433b0c9b7efc94091a180cc3fbaf47e5936303b45e2d5f7ad4bf7e0423fab4e420ad195e92bccbcbc67c771e1cd2acca4e6c4d8fc0619987366194f773bba6d512268c24867a6f736c9f6d46b6ea7828491ce486ff10115fce3b9a062be2e8e0c94f5839bcb1b41894c1f61d2f79935d4172a1e8ca06404c42191f53ade0a4ebe72894a2c53e9b8eee45b641d8fbc8629f81859edae871c5a4e4c0b1458ba122f798eb5a5931a981b247aa08dbf8398ab846f0cdf6e27cc35acc794f3838d8ffe5fb9a6e68f01532dd6acf786475acbd4b8afe9bdffbbe4f6c4789524c98e16140ef89a604a9a3677549e2c7998eb5afcf160d70124c74d9af1b3867baf588aabe39ab1da041405a9c9261cb475cabc9cc66fd530222f09f6e196232701c6402707c44812ba059937d00d5cf924c243aef01d2c52d8f56fe2c2d8054a23cc4e100551eaf10a33bb01e5fa825b679fb2e0f654ea3b48bad4d13f32feb4f2543ea843cc0ab74faa8218864d0830512362866f2908207867d898e418f7e75743f25f0c93876110561b366b7c767238dc2704f6912c12266c1766475a52c25e1f5809179b065e540ab88dae44ca14632183a80aa70c4408cd7c52218e9860e5598a3187b1f7d7226c7bcc55d0b98245e887cdb8488644add7ce6d77a5965f8e915111cdb9b0a36291a6608a9d1a3cc56f5651f49467fae309bcd747bcc33978b7501ceba2f39467464d95e8940dee65d299a758d75f97ea4a055591885fc187359ea5024d699f504cc92e327d445ba85efeb821bbc969bb581f1b40dcb9ad4e21cb2145571c03e5373e71a36d922d4b84a3765c1b037bbfd239ea77e396cecc451b8a8ac0ca39c06159c99468fd610b158bb8a956bce7e497cc8eacf0ce27dea08ec9f3026bca53807f8b770a5420ea65b322e2d9aa6ed4a584157b2d552e7e3789c37eb9c349b7eb6034a5928a95ef7ee66095192adc6270209a75e1960e853ab3331173f769851a0443f147adc0416a3db3c65d88533a9f53ba2972ad923e3f7ddc5599178452077094e18771a35e04162041997ba168adc368e8cd8d22e996fe688c36494c5924e8d5f07f77ec31de04eb7447b560e329cdcb64c437a76332feea8ce4e3b8b3001fde506114f0020e5fb9d4d9c9b946aeee9e426dd40c85f2bbae863a19f2c1fe37995a63898c33cbeda7a82b42ce48c75c2adc385b8c42ef43265eef7acb450ccab85c1c26b21c53db774527ac36a8520c385a848e4ca02dcdeab149819070c34c571660d6e8cc543094afac807881b95674dc9fe85ff3a8ccf4899b9c2f74bec443701d440b94139b22523ea01c4d0478be41e150ae14c33dbce1322fecd0a26e4e5d2eab6eac1e2dafebd0025210d6464aec003f1889d28d81a837d02875b4b4daf48f3c84e33361f129140bc7c846908e985211629ac66d12d9012a5ddec73ea2f079ec2305ed7d05766f68f7f582c9ac362b72d25909341b2cf4e184c798e3f22aff5f34d46e2eaf85a15625895893f99e3b5af89e1409eae4e36147b6efa565fa9c551eab04452397067f2a7caabbc1cd9dddb195f1d2aad2b2fac2dd26b9e1c3117dfe63587349d5f6e7f03d93b835384b94800d16f32a65c5e14e53591174f858ffac16b5bc153cedb11bf6104b2e466067152d7b276e12ad008d9453cc41019b3238b071844ad0e82ed4ff115d89cd52b608623d0ea0712aa28a9dbdace533f6b4faeef4ca6422a9a85420ca2e81bba6026b7101455a2287717bfaf9db2b523b883c5d0c3692506853a0c70c5ea862d12bbf27c4bcf12d88acd212a605e6d92288d4b99f9578497b34fa7d31484b9b57e2c818cb046d038cdd468da32242d033fd221992523aec4adcd485c2884e5c8058e313de962181a0f0c940fd7b040d127fd34ee0a1763f087393e9180d2bcfc9b169a8f2ed9bc7dce7de97455e02ec6ee51170611c4552aae50590c627288a1121d3808a01b35a307074d097347d7154742f1fb3aa12242eef192769a745050332e79ff4a9d036410bcca541b7ff4f896a6680c186be40a4e1a2d08c2cd0a2860e08364cba748003d18c3f9d7870e734cb0eff2920b019d0482e12405da206ce1ea20f30095194ec194cb777bad89e069994ec133552cd354d3a34cfb9b9a54735617028ef8d17c54f38688495b797f0330fd2a49cdc726ca58fbdefd2bbaf5ce0c180b412c0d40ad884933b9027060d892b1fb0614a98ac962f1d810f0bc0ebc432c5d6a88a675ac9a1966dff60860356e0dcd43bcc2005fcf87fe0403487ac0ac439c0fe91f39d10eb8817fd5c65283d9a11b9f41009daa61ff655f76249204c888bce095227868dd6d9d56e3bbfb24868dae1ea3a9422c97ab06cf8b5ec8cfee3378474bb1db4f1894366dd243a012acb68269469f9cef690981fa65100fe626facc0bd8e2379d31ff50a3931d5fd17ed9e296502ec2d0bb29707bcc1930d38c958402f02a6de2de4503d0f20dc0b9d463f8926adc24578e3590870a5f78af8887d4396f0cc49a708f921d4813a1ad14d97dcbc1a727e41e11084972c983264e09e319e51f4d627239a9466206bafec6244ff71b1ecb211e4a2ee7c7da404b51c5bbd0d88c88886b28373cfc2c1e9619dcba8f849ce6fa15a72480e21ab4de24b46f888f42b9dbceb95d9370a69b456a7f6bbac163ddb46a401fa86854ba72ec838e0b357bca2188584e854d8daa27077fb7e8594ed6f9070df94029f97fe4103e89ee404f511e8bf0b8975bdedb3e9daac27282200a3eea63c8a92a75b431900ae267191033474f2f7e72bc16f596f955a0d94054b2e8d6e8fd659d34d40e551f7f971f4c7f240edaa774c545938199ddb62dd74d7555786f4107789dab639b50a5bea701d16b4f51c73ba1bb7c7662044ee1d7219845be6dfb29d782bd90c2a7a01afa597fed921212d8b79ac8a25371c7f8685b1f832c8ef18f4e34ed30457c8855cd437c80a97cad13a7ffcaba8cf2e8245584e9e1f9fb7dba369511c6d77dfc2255e71e386d847e34b0c26b793e717aa306f0dff43025e53a519fc930603dd5ae1cc04448e137670fd83cbcbdc87a4bc5e03f73aa1c9ebb100b78e8395667793fbc9b6b1321e127a217bfdd0f6c4912289afbe8405b8a07feefaf5c6355bf217fe6348315f0728582d12c1cb68aba5107ae616ecb395f7ab4d02dd2a8904aba18c2d0efe6d1d24b51a3030272aed24c30fc6805e1300faa0b625b8f4206cdb808972c6c470eb40bd3a001fbec79bc6d721b0b817106fcec7001a4dbe40d5a4f411ce09bb802d8b3e8a16d43106e02f15c7fdb7adccb4894faee795dbf5ddc8485369b5d2325d598fced6ea290e79604738b18238344e2c69526777a19ecdf48cc2d34fbbd92ee4587be39e9b140e58180f80e7a9399ade81921cc281c42e5242a5a8fef072d8dbd986e9dd87bce7962fcfef231f6c9c675dd5edb985db478d6f5ac73aa52363abc3082d833cca0967c29eca9f6487a47ffc7c0afe329a57eca68841f54cdbadf534f47241d519f5f4829d0207744337b625a38b8d1dc15cfc13796627fa044e8bf9a1292a8e22c689689a73759f45a87354a69fe73916913be3097c2df614ef8f0579508a7001cfd95ff5739189837aed180452d96046a6d84887d66d4cafe99b3669d5a9b5488ac8860a70a60be9a8dd1cceac610bd8962b7e276c851b8911f818bad5c36a8bdca1df5460c636053c26e020c022a7d78faea043c32254b991d4f3cbd9b04740a7aeddaa704fa9f0c80e98b116b67d96299d35f9a2de1470d57353df227d354881c6fddafbb82b5537caeff571b08dcc0811c443f1644245a6e8c26f9a9317a31fea2fa43eac443eddd0ddb311b8508c5cf5545885ca009902e0ad0daa87ed700b490af7f9a28f99c1317c2594fc3a4077b7675484aafe951c4b89e694ddbc12a31256e1fd55307efb808daee79f6b6d0fb9669d93ef4d419c7980b619b66b4601d5dd770b07549ee809cb3905d6a532c83afa90e74d715e136bef6b7f4c61e3c078ca7c58f265b6a6aed9c931ec468fb949834cb8d21bb8a830ac032523786f97853d46acff3ef94d7ed42a86fe05a192f92576d78ea3c896e14fabd5e4f8ac741eb895c3ad45e622a94f7acd14ab6243f44ca2d79a25172d7b6f6ca39f356d2d4f7a8a0dbdb3d0469989f60d39bd444ecc2afe4673ad471f632ba7db7158b7e6ce4f2ad8c7ff64107596797436e0a91469ccf2350f94877034e3ccc64da31ded6e5ca689922b61deb2eed3851bad15687e4ed481df8efb3a4397b81611aa198a173d8496527b4aad8c2db87e53ec333acf9a3c32877caba98c41dc2f1b8478dc0c29ae664a123de55c29502a9c1855a8f8cfcc20e0f61d500c8dd3312d4a955f56cf157467a0133b0df35a464ecca451437a31b3146d02a81615f997ba2663ad95794b98009dee6c5ffa8682134aa99d68a0d7cd3e4e3fbdcee3c89d9353ec5840c590677743ca4ff7ed06dcea26ddb51b7043b694d3eec2866811143933b4d7a22ca219f94b0910fd90d972e7268725283a75569c8fdbe8298ce8cab5f033f38392a87377f60ef7fdbf291f168ed419875eab1bbc455ed782f3af19092a760105453a2948e1340296f5b4dd6302836c929094c470cf0ba453a83df8450791fbe502884c35918cf8e7a149058425cf7e22003a06035ac3fc0b3748ac164989bac1601c27f30228411a66d086d0d09de199c1ac8058cea7c48e21123ace72e6e7141df8ec11d389fa3413dc229320a50068b095db6f8d1dd6b2e0d8173a810dfd775e6daff8576253854ed480b1eaa46e26c1dc5738be3b34e577e062ee7b7f988f6695ea18a8ebcecb4a2630b76b7029865fd075685af47048934d51be4e4e22060f393e668af6fd3aa1c86218dfcc3b9afb1e3c06a694a20fec77bfba7581bebd740983e14c0840c1063edfd7cf46e4ab01824600ba6e07664f1ea4943a36d1e1fcf1edf35765477b43e5db8b6f9df62a3ef69e7235f957fee09b99544e73e308fc3726c7800b310374df0734eb47480aea863e101abe1063fe3c8f7fd4cda574e8f456ad339c31adeb2ffd2c79f2f4d3df38da70fbda7a01202e543e42da8b587c746f3d09a148ec91c2a18c5e9c9a23202a44ad74f7f94049334d1c5aba8e01d1737f33b3a78a37c52885d6e8ba5e6cc353c0a7db22bb9aa6a7191dda182c35a811acdcaf92211f40392813c6b514721dc3a22e8ea31cf46e9755ba47cdd6377d92a4bf64cfa926bdfb1c9543eb81bede858e100eaeaf39ac9ea752ee2a106b3bcda5d831e4d591284c95448ed71134c9bcccf82e8c09417e45904d970e639e112739502edad587f552d10920123fe92559573f526b7924094cc8022014ae47c6cd50f5fcf8983636e33886e293518867afc6941c5982c396d0a664c0594803d4cf8f2c3a428365e826ff4b2796fe54081018d2cca29ad3d49ee1fc6aca30218cc0a080df12c02df4350a67149c6f63cadcc86556c0705458139478501c1ca21d06508d8cb4081ef371a4d0dad9cb31205248e28042399cc5878ed3bbeef1ff51c79d2b3a04444eae5851e73d89bf2c052a4c921c232d9ec6b4e7043b235f7b5868c9b6d23b97126579cb9a572e588d5f588bb4d0455dfa988720891a58776897a0ac484a4a6aa85657c1134e454687c1aceedd4d91caf5e14d3928d64c0d3bb3af3590220baa0419cef068d7ac24f496e9197f0afee1158ffe8a85665deee69bd82d0c9478c6d75f4529a68cd2a09d110329640cdd1b23b33dfb940bb2170ddf10513cc105b32d93aaae69ca03369524442413f027a9aaddd272217726c18de4e4671fc0bb01494c4d538ea9f8082dd121d18bc54f6345a8411b88f06b6bd985682996512b774056452e427df47d522b686a262f90d52f23ea8ff744fa091587d6cd6dbe66c109d25315079a04f4f0e980380974374a0728ed25965842c8c4001270d295cd332d80ae632b853558d2625c87fa0fc9af2196d41dac4b301c22fe1d30c37f81bdad3bbded5e4aec02e40618ecc519c4b087ba6c6c29816620f09d12b8740484412b7375ddaf24cb5f1e5b418e870093abe89c47472ea6433d46d2019c8ea796e188a76470408151e31c09e6446fcc3466bc732c17cb2c59fae1505b332cb01a8bcba397b6b91f418e494afb2d331d3c07cff896458c00ff2ee871f267aaed6ad565ce30026f27d9bfd86284d3580190eeb810c36507407bb8c86bfee37f17f4b686375a9b34787011a3083454f05ccda7c22e85b319156c6d3338700241db5887e0a200190bf53c01b9f066006c0e2efef809d546f2e4dac37e84a48490500947bca0aea99c8438d96ab118a2900f4d8a8010739e406e7f96906fe638aa0e1ce3e85c5da957700d277c7fd01a04bf02c15fb3d2b318c79e4507f6a6f77784fbaaa964454f1f1d792d48906578d39bda46587f1434e223b6b13448f86a77e0aee032f12d89b5aae85b80c5f279552bf3b6e4b9e7908a535dbf6901a6ecb8d8ec24c3e06949f3c9b20b1e6bc04156271b5672e2911ffa6b32fcd8dd0009b950f0f27cdc88eb6db77880a2f69688e0eac29a6e682bc60c4359fc1b987908343677acf270981beb0d2f77e31281e6779d98de133eab935638e0fbf2f08230596bb8349c3b9c112b46dae688d26cc3ae1e233ebd113ca931a28658148e0c65acfec1c5ff45af5762a2214ba2ff04e18a57a08579b272e4c81232f0595bd3d260d77f25ebce07afe2d4e5b58a12915273f24fba06db0026c6090f9c0eb33d9617d00ebfadedeb2095a2a94ccaeb50df91976072ed8175218368b52643a28f89c8155d0f28c00630a88a0becdf05cb07b26944a092d9b7c081ced048ee1a08a7bcba43d9a8805901a33ba84b10239539b4d6a239937e8126d82e6cf7d0169804550f0281a93565bd680061547412680174079f2a4a1c421f1e8dff75d2d29052e9756aeccc69bfb0fbb00501b9d1140121d41b7b59de973654d63ba391be82b0b9fe1d04668446b3fdac93ebc2440c3560b82f604fdf71027241e1b4c6a10927efb4d6bf254ccd852633d7fe1b6f8ef511e0f43d9dea5dce034fa75d7de2d0e03a9c11666c8b1936fd1b0aff0ca3c5da6346d5193d8a01b002cba01a9e7258279e580790c8506a0be9613b8fb5384cc83f1124d73c586b7126dea97517758e8247bcf9b9d307d304149d94c2771cb51b8c4a3c9e09469826b371bbd5358c46f6d7cd41771bd4295225f7f7f1f2a374e54475f34f7668349f6a8843fba81967df183addd86bbbb10215cd81f86571799c665007ada932ba395c0c325fb7f12fa5d335dd814933386fac17dc7bb2de55a783583263bac3042732b349fe0c1e0aa3a7ee1734f04f7dcf878e0e5eab871a500cff6bb8dd88ed963c72bfc0181844d970cc5391e6bf95af6cc127421970b531284fe494c6b2a4c495ee955adbf4d9ed1b8bd447f2d793e3909fb2ca85afad2f8241397dfbcf0ac769703b8abd7a1a259530239f158bc16b7834513c706cb90feee79dd425576183e20af64d82599cfae51449d46f4981817af8a403a5cab33ae05a9d3c7e6a19fb220ff0e99f66882d5945feedfc29ec98a75cf7c614304f0ef1d907cd3b194a7d8092a4654e1644892ac352b0305776b72ecd0a8c897ef6ac152f07b5764b1bfc07396e34aea0c986b6956c66c9563ad38b69db25a88901047bdb875f115eb5d194bc9c106a8c8ea96568e00390f3390060b00cac814bf299e0dd7ea9229bb4812a00badb7558ab84ffe39ce54e23cd13234d79456523c457862e9dae09cd92bd7614b1752e807586362354e62c6965b69602db4699a3cac1315a234c742905e7eff685befd2b3bc18582b2eea48c98897e4dbd71e33d8001daf118dd59a28caf900154af306308374419d6ce06864a6d6d8bc59b48150c070f5977253632223cbe9eb28a3c80c4ec5ecdfd74c8403afd34f568b94d155b8d896b8920a19fdb0ac095c3ca4e5097a761103e8528c8c55d5546040acc2bc5a115d5b2a62d494cc3e7ef0ee4a3664006e17a242d4130c95cbd8ed33f2c2a2180276443724a2a732dac6ce15b98f3d6904510cb79dd611316010992b1d0b855c653fbc1faec532289e400c1acd453307577cab6410c65dc5abeafc2d8ffbd028c531c422824df9ff4a9b7a4acb0090c3956d93fb91f3f6559991c09492ac2c6e534be00f55ba34aa74fb94db1e51fb826c1d11a1a5bd1e855a8af71ed249d243ae563c41ad3cc584d2a8ac80d46ca8cec4569548821a88881891ba0d2c87091f0872fa56e83b0724c6bd37b7296e2174413bb0a4ff788d1043bd2fa2e09b0912f59a1e709a7dce117b2abbfaa8a1413d52934347b38c29d1b5582b4a6acb6b911e2350295f86796cae54b0bf81da99bc414f1c9c94338f5da21375d0f1930abe2fea92ceab685a240526e756832059dff47ec16d4278cfaac3fee8dfe282463e8a62cf97e86acbcb311c3de8bdb6b185ed7d7b56353d63c502bbc1012b3b1eee394d57257a514f3bdc8cdf002bab4b5da1c2b36bcd1566e8d7ee59dbbd536777a51e0928e572f7063378e7f67ca93cb83cec8bbf328a05948af800bc272b7204d4040bfc68b71551b42b3e5807d43317eca305df4add3571a21228610dc51fa0a0f704f4696b283c21fa0217d4bcc877a60d8b34fb774599ee3c6e162b995f56cd5464f3c086ba036440641910a11013897c257feace35f5782b9dcf2f107491d9d8786338415f2acc609d2ae626da42737f35e8888817ddece20ad943138d1495b82e29cc906f1feddab14089d528b7165a12843b0d8980eb60d6e516592fcb3b80d961dab86e18a40a82886bdd72571233fbfcc325a3516dd298a4c7050fa3de575a225a5aa8ea0ebd1642c37b40ede7eb5221e85576146860925461cdc665db8609f9ad0953a9286960a009db3ab8a259f868153ee4c6a21d27a464909820ba438fe44ba9eb7077a19792e692b0df1f6ac82cd22a52adca62b063620e6b806b7c926c0b7a3fcd88907a0b33fcbe191fd51cdfef1e610d4bd9a9e1e7c0d7bda821291c51f07741dc895d1ac35ea198a2af91f5135584e8ffbb234dbcb6a718fa7716e8aef62e8894801787f184dc96b52bd1db046fef6a93a0f9c0842c478858d3bfc1c9b9306492180f363df5f7815a14542b855bf1efda7cc22e421fe755e255aae9164f6694e8c6b266a6dae544bde42a38f510efeada7cf38bc5917d5ed9e9a7d090df712893d33ac4b220bebd12f8eaa258f0fb6fe6f944162d32121371b10434385327e7222dc4cc0a36d1b78dcc7b0a91b8d056eb47dc59af460c3515bf3b42f600a9c71454a83ec1ef81562b5e8953e190118c7b1e4c6c013fa220d8c14081e69872e0778197354c7715f8b217f018b751337b34b5300037248b9746c08e91672d03b00eeb50b0718749abe1da551476b3144652969670aa334f6e71417f98f8fdb30e60439aad837996c77b5a7b5e42e565538a3c0d7ea72f6312eb3f77c2197f595ab9018d7be59dc3ff0263a39c9b5fec05d7511d585655e3e6a1e7c2a2043f22d95f8b36cd65d7dcbfca7df0426843ef4fc4d3c282f8dcfa5eb0fbcff601213d035675d7a633488df620b8a3daea41847e86d75c46868039fa05139cb5a38f00a2f4bd315e450b6ca8ac3a24ec4f78e84f53c766ee809fe3152eb19d7493cefff9d54ce0f9e9e015002483fd47a8045d229c7eb65c2e6637ec0e2a1a8c646427f09169fbd3c2065c8d084384774295f53c5f4d9846532c3f7fe643e03465f214a6fef308b4058cc32cd8c6f827d7e6d593ce4b2ab80d9110eaec058729c1c1e379e457dc287e0d044bfcddc1eae78c5ff68876bdcb0e5f11ac5a2c9726c7ba27c7e1a4789da0ae980c5a7be57cb3e5fba04142b699f729d8ccd2e2051d77046ce2382063be8622911988e1709e4308018007e8775d0b02648ef279e9aeb30f90e6b7e1fcb6c51a64bf124ddd682d0ee4fda6dc5f4db3f6fdac30b1de203551f4ff7038d7cbd52eb2fb557e8d5f5a04be5f3e10879be22c0b403c7af827dd50972da878893dd8cf6d4b328f8e6012cd72780c2cfef5c283f06f1346c810b861b0f0efc63d5fd47dea1fc4f8a097780305ea9c4e257f4c38682da3c2045918461bef1188abac2c8ca03b7f5268046e6a159baeea0f31285fe255f03e0b7ba42a83d0c053d54f02942382ad1beba198698081fc6da2167fe5152260fb36061115b5e1c7869c18398f2ef3bf9aca72e061724bb1076dde1c1d27fef534a5f656e96320402c84abc2df51a8b1bdd1bb5687a995bc1e82c464ec51fec345c357230774f940e4033cf6d7e685060733719429f0f99332e77ba27e6e3ab2529353df311e018d7f41828191ff9e3f4f4671342b75ee2ce9f9c72cb0c543059b90f2837d59c62685a55fca652e643a16e58a4184f01aa9c560649c94a0913ce6ca7e0b968d0f862f429de14715289cb0efa72620c0465b45be22ed2bff392b240c91295ac286674cc6866dfa523c3d9e960f9ce7c157cc381af9823f5723f73e5333dd36f502ea07a9f29f3e1798de51ba334c09ab3ccf02c7798e1a7fe5a411fa7a7510e49a5eb9a6dd9ae4eed06b1891d843f7b27f03a9abe003c8215b98c8c939cb71370a62c0c5225520a0181ecb0086f693df5b08fb895929e543a881c64f644ea2758ea938f0046c27f864f54d91878156c917832fc3b863e1674af54dac5a8d77a4c36fd5e64a722e75008c5ee14efceccdd42b9f0c8f026800a40815c1096a16c20e1377a02f903d810c3023e1779f96ae6f55cc8134f4611e743f619932c6209fd05dc85afc267c1a390a3c04df8247c11be0b9f85af848fc257e19b306e4345bab584d961c33be48a85a600ba10e12d44506c49860303c000b04219e09806080121f371b61b486cfbbf7d4292d936e99d90269394e455a6990dfb83ec3e6ca79452923225754e3ff042001c7000c0a107c418ad05a302a302cc02fa47ed39996dbb2381935d48204ebf96ff36734abbf92390baa685a71ab51d81134a3702354fed39db98964c5bcf08f46b6ff565e3dadc83ee452f82db4a4aa19af4b94b11eccc5e7a5d8a2556e39d08b44d5b3b6ffc8b0874bc146a62ccc99c5b790894c937bdb953c3db5e43a0b4d87fda3bdb90d3410fc642a093cef2d54b6f8440b7d41fcec446f64cda8340ba6bb5d4728ff23a8d250ac233cf22239e3e7a997a8c1d0874687e5bdaf7374d6840203f7a6a294cafd055ff1f50fef2661c11df2066b71f1062bb6f66ef3ef0019d3c650c3ff16d4a67f51ef480b2d32d3be9985eabc7f2808c3295f2f31a83a0f17007c4d8d94cfff5f8cdf6ed809639dbb985b91ce8353cd16f339bd9acc13bc8068d2b7bf3ae83e2ea95a671e21e6c3aa074d6b2a65c4fa5d2e69e035aaa6b99dde8b323f21162d440bbe97ed99ef6605425970afb2b5a0e883d5baa17de52d5e9260ea95afdc9f59e7469564052a6811a33c44dde969fa7e9860372cd738e2999a3277311f948242296f506a46d99966b964accdc41c5ed40bba1b17a3ffeb918ea8942b7019996bd8de798a3cad698d16c40de324d5399ded7705a0daa7d15599f75f2953c184f90b0d8d16940e7d9e81fb3f49df97134acb6e2b67137ab860f5f5afa0ca8ffac64fed6c130da0ca82d76b66189dd9a94970129b627e54a2bb51a4d86d3aa9cde78b768d6b7a58d1dd663406d8e2f53a73a1d63d3c4805017fae6f6498d4dadbd4387016d3a0b9135b737f9090de47a6a4ff293de672075c724c527715acd3c030352bd750e636d11d157bf8058bd2d2aa5aaebcc9cf6024accdf38769ec4dc96dd05a458f652ea4d6b77d6595c40fec61f4fb737738edb5b40caacb3ab6c9f6901b1a698d795e24ed6dfd65940b797ec345fddef661416905a26e1ad7f76c796e1be02529fb6e9ed1f9d04b78aa137cf0262bfb89c5532deb552c302ca54695ab554cfba4fbb025a46f9d4e275df47356505a4b4ffd93595554069655acb8777f74f211570921ff029b4149c041e85762820d7f3292d5b7dfc09088d9f1f83e99841f6cd0908f3f06f42f5dc8acd6a0252ffa41ab24c8f4bbd330175ba42cd5eaaed69fb1210aa33d7ac752ea6a3ad04d4349d75d451f649409bf21c73a5893156ab90805cf1b0d9536f622f1f0125d59ad1f91b9effa6464097d2e26bc2d66ed55a04d4bc5e3d63d30c111073e6332aa5f3a89edb101063e9fae0a64c2120d575126bb569b625c3828096f24bab0d4b6e6e49010171e25347d3b351b6e8fe03c43cfd327a300dc3dc761f20766f67a5c6d38629a621de03b45af35f6343d62ebd390f7c0daf6a221e6f9abe3cf4a43e15af85f879cb3b40edd4f0a65206bbbfd90cb44793b1c3c94e025e0632e6727fed6e4bcbb9e900b9762afd950c9fa5753210fbfe76664fea394098c986656b32af35e7c198a923701cf80d8ee2ede561745f4646371b701ba0efdc65def42a6b2aab0172d6d0f10eb7b5bb9f68805c6d63cc2c5eadb5c33e0394ccb0413ff4f46b866580922fcb7de6965452c6c400e9ea49796bf551c7d31888f1f935c6ada9d6ad3040c97819c6cb9b2253275d0cb3accd3a5527dfd5a730fc05ce6731376bd9e274c6ee02e7e3a3ae6df4dce215de0274ba9d96fa992e6e36e82cd015e0242fe060206ea89a942565cacdac7f814c5a8fa7999df600f7e27817c8cf273fea5ee11f866d135cb426d05afcc6f8902debffdfe245a610119962e449a6f81c239f01939f63e4430e45d099b8cdbe63ccdd69de316202996375d0acc7bfeebf4ba03b66a12afb5b9640dfd86a0a113d3529f74aa03cc9ad9b52abb19a3c94e8a3cda7fdac7b1ebcebfcdefd968ce949a0f3d53ed1a465edf7df9240ec4e0523cc13a16b191f4f6dbdb63ce588d8bb93163571a9c4e6100af7186ae7f1a81c6c6e8865837dae7b6e194f2d5b8f88e512c40b81f4b434ba12ebef5aae4c08c4879f9f6db253532b89c86bf14af141a063de6fa583cf8badba20505adc5c994ca7bd62bf3c10288f613eebacc5b8eb9f840b0a6cf1160004e2b3eebc6954ddfe531e8c3b5ea4716051014b1593c964e285ffa1b7ff307132fd2497b4447658582206dc0f6831e364eb9ec9cc29e3c158e16284c4397038f2ea63645d54c9e5b00f48bd8feb9d1f18ce0794963acd94e9832b532bfa1e90318fbfda302b3da07fc6df6704cf83f6769ee3c67df9305dfb7cb356f1397d160f288f5acdd3d1fdf0b7552ae60e289dfdfea424f295cb47a59268195929a45251643be0047d0d94982edbd55bf3ec577ed4c1e980983664e78e4af91c10a2af63f5cdc98d2d75a6703510275cca0c4b93d659a8e480964ad5d9d6acf674d8e360d0029e0662c652b6ccb6e658d395137038a05fb56994153131f6ade40d48d1973a4d99651f6e40eddd8cf9c4c92cbe326c034ada9e779b87e1a6bd1236204e3ece709be9e37eac01a94dd65469711b778e12f52c739480a42c7258a8984c72584026937435a05fec98f1b92b3f37df2a87241f978f2c9481fc47d308781a902e850b99e9d246b3ca83d10393c9c86472791192cb9388e168e0734ed724f29965553579ac19ef76cb1933a5c51f1c5854e023c422c20588c58a7f293a4be06740c73464eb2486fc85d18d8e0f5579923442725125174533a8d5dad4f965eccd32e0b66f9e62ab2ab655e6f6c6cf585b27035aebef4cf3642b1da77ec495423c4e1521a834c0c78012225373e6f83cfffa192e06b47ff2d5557d723bb934051e06a496f758ba5eeadbf27b30e6b25051d9e168a0659449f733348f9fab4395583918ae8d9f33674c63b67f21d57463af67ceb91834dc0b8da939673e3defc23a1772f91690f167cefa91b16f4db916d0afe21f3a061790a42c2039a2280981c201372e3f524292be55a058808d062846612e0acd4b059c262eaa3f0c50004eb42798804572291919c00d2e5414ec2f975f96111d06b0417229b9420037400a0080cbc8af126619d1f144062e1f3a92016eac61038a2d1861c3868d1b070a09d8b85cd44400004824894d067023912466199938612300087862e44fb012c9a55281c2c68d0338613e48403c2ea9527982f20327283e40cb97d5316e4e171b7fc88770c887f4c07c90304b48090f7484ac1d984a012866980f122d3e5849a5f204a50c746cb91eae7f62eb063db8134b12437ea4a2c5075bafe3e24822f2612e221f959107f9d01162598c5584a0b2018a0ecc07c988c705a45279824206c95f72c0858e15f22104a0e000b1474cfdad90d96289bf5dfedb19837203d4baf5e1643275d579526c80fccca14a4ecb5663d88d3b054a0dd04aab4d31efd3da2d75141aa0c312ff90b40f8f8b5f74582a0701ca0cd0b35ca37cbd1eb54e335c8a0cd0f1bebbd4669d874802b1e29945e4184a0c9052d557dd6d7965f39304ca1828214b78fe606b65c644520524a5e9820203a48db99c6fa9a37e8950c440cfead6b5f5949e12063abca658a131dced3525904313505e80b8afdbf37f99c3cca906bea0b800f9524735cd7a9628404ba0b400e9f9dd379e6cdb3ad83c18d76b51f120f9d851b9b000a9c2a39f16337516ca0a906ba6c7b3479da3f098882524c4b2cc08050ca47631cd638db852765224a17c817c3de552bc9b963d2288142f90e3aae7662e1d29aec041e902f56752eb9e7917abb3acb8e20e0e2ba8c0b13e8b2a2693c9443129aec0a1b85e0bdf347c132a704d6826509f496b0c32b776d8c631811ab2bdc67a5219e379911d964b1cb7043a9f94abcd5e7ad2315f09a430ef3b33756bacce944049b571c675eb73d9771228b71532e6a44c5db1734998837a76d5db4fd7efdc69afc613b26f4695621e09a4bc92772ff3d47ed72091501f0d1f9aecc4768b3f64f8235c19731add6de98dcd70479cedf3971d1610108be311bc11bbcf589eb65a5b75aa0c67847bf3526de3c158612c822f429d37e9edd773aa2611f991919295cc15615a29634eaec31282fba8426312a48c51c610420c22e34ed21852091004415010e33008e340544bcb07126030510ee4380c62208681942284186208218410222084102292868a1e3d94cbf038f75e9b7b1ab51a5356564cd325983559ae85091f0a91d97f17d37614417aa90106f8807525d04b42d5a74174761a3acce0083a3002cea9dae269a19bfbf78ade1ca648d28276fe6792ca40e48ba91612ac91d0c15699ab1165ce03305d1d4ae144428c090c9fac8c3e4fa9dc3b2fee25975ddaef61ca9fc1162ff25ae8e26e4850fe4fe6f7c9f34a84abb9bacc45601604c0ff09938b172f07aff02832a0c5414a8db96e2e34424522dcc284dd1dd7121c5c254a1ac62634f87a94c9d5bb9afbf3a2fc92d01eab3bc8773d6961e4615edb1e5b25a6065ead51b79ba37aa63d1145137ac9002a27c543b7765c7536640c865198fc51e755f9afe891276235dca0f61928b40a601c73721e66e17e1651f0ce68e5e9e15a168c2b2d14f29b62c483b58e8fe33195c18d0ea4715b621460f289710b7bf4bdcba18a509f2ccac61a93c6af26bc4d2910460dba7af3992e6b595618e1d438d3fe2fdad26b1d529f0fb8a5895073c3c86dbce71dcf2ccd7c1d14f4ab2022dd21e3e0120117bb60130d8221651e13406a3c920a4230d08792b7d8fd5350c088d5d5175e1704ee4763fdf50e12302e6b9a6dd95bb6ec657d6085179724752abb09af361a4388d007a52b2350a945aa8f49faaf683d17a5ca77e330d70902b3b7a025d6696a8ab39c88d428f77d3931d394f7ab4469d1adb3ce2c61a7557db62e580ef768ee1d40bf08b95931aac863bd08da80414d15621e124202ed1d80ec07d2ae0a723b0ea28e0ca635e478d3d99e120ab84f9e25c2104a1ef6b1761a062db128db249a5ff60e8a766d6b29b68e7f272d9b4968ff8df864472102c4cefda258c9b08e20b21d9754471bb7cd80f2a689827b2015c603e95c0d40080ca3132dc37164a69ae5ef5bca387242966cf37559982981d33fea1434bb4426c72223d879206615bf6be3d793ae494a695ee696670389b26ceb62e804d0bbac971e9544aff09acb977cdf6bc76301c0b216c7b4b1247f511202b74f40abab1ab5301976656349f5b6f63e727afd84235df5850f008516ad500c431b4fe5c4ef2781d08b583e7a60b63cf683e37d2504c1edbbfec630a0a122209a024578479ce2acefa9b58b0fa4773450b542459d09d9e0b2aa5e3049f3ad216e9c6afc61b102c8867fea3b73f1116b0fc901b5f2c3b56fb5cd771622d41387c4392a9803e981bf694e25a7e53e189fa1ca22ef026cf16784b3fb4562e95cb763faefaee4d619a58acda16c0b5a45034d74c5494afbcbaecac8a9908d4a11c7c3cc03cfee7c01369dfcb2b9dd02df2be6878fec665a9e326bd7c4a2147738a7870f3eda4cb0c0da28d702349998de2e6de9496b05bcedd87bfdcfc9e13403a08cf81e7373f5b1ea6979a02fda6324a0ef947050fcbc801115df8d4a341545e0b87b372b088931f441961e66b5944525afc839cc4a3650dda6243bc631b3bebd0db38a1d88c2ee5c7b675e13b18add5d97d5b96d850d46d85e7f7ed9003d5ed7759b0b2ba327999bfa9dd7b88d73559b0afa028096f56399036b9a7dc56286653b400b60c8a512a99082f0a4b51971417b9fcaf0f888ba2af6186e8090e605fbac41d798bfe92b00a0247f947584c68174c33620ad3d53741f3f6827251c6030f44f185e4296ce413102652261be79dbed27261feb10e890beea2e1a1b0ea7ca79ae938b0fa2edf40c94d6c26332e8541521544e50da6472047c49ab195962149cfedc400dbcd0f094269e22293cee97044df018a7e945b108940cf81ecd3462699e5513c86e331120942bacb558fc8e8fa544b44244f807bdb3c22a052c81fd7b5c6850dba76b32488a31660bcd68b2c079e6ee4548a7ba402caca964008fe950aad5a97f8839088a310420e885c91e6feb579bff5342091e831c5a31883480c9b4d9c224c535969fbf2f7a471d94b03b3be2b056b756c98e7f2125686a4b6aac9d5f891dff6f69ceb49167a8c1928403792423ed5e690611ad9bb3c7f08e6132522b284aa54e5f93d6a1a847e81194a592a0936b26a21713baf8bcd5396e737f66dcc0475ddde83604ed1c5aed4bcd574c5e7a4f45e8fe54b7216fa4b06a8dbf07872020b0b9c3a6b8b8b05091cfb6808e2bc6d954f7cf15eb12a9a4fc48b5315bb7a4606dcd2b89de830b7ef7734ee840f2e0005fa397240663a88eafa5e8fce0ef0746aa33f5513b28cf5b5cd9bae2c6ddf219e8ca58405ba93b61230ac8094f3350e3a1c37184d3712d29a4ae0f4f9a260d4e208282745198125a0d7f56740afc6a608c6a4630798e64b3d3b39a3fcb7a7f9306a28c454b38f5a2ec6167f2dde98e3b4d5bdfc3ddf3443ca0848d02a9749d91fb014c88b41c470e63be5774cb006a1f3443a18c399cbdf8dc658d93f134ba95d31c7561eb84a82479cdd8b0e08bcc1bd4c6861a5c874462fd7263aaa405889b779d97beb764879717845d0ab4bf18442c4cc56b4127418f4344b2aba2cd5e2159eeaf1f56f26c12449edc75ad20840b834965f51d9dc6992cce57108aa9e027cf8a038704ad9610f3efae198e495c1b70964be30293219d5c45dc59a766cb6b097a75cc93857547bcf73c2a386cea8c0cfa445ce9e426c0f3ab566a71b68532cfb0b666f6b1b435c3d513690e756e812e4fb9b9e3c3a93281a6541548d85addff7ef309a14c5490b80a0b42b6af047493390eb10a7ed880a164122a49c38b0ff1fbc27c6b04b67e22b8d17a938a578660cbdd1899c695d06f306263431d4040f3b4a8a218d7ad88a4e050635c1c0dc5b057aa8bf2978bb5ea63c87275f91246e918b22cac1e3b86fc68506ce49c6c2fc1ab1f72618985450fe2dabc9ee616035c016394ee65ae45edcdf519eab49c972ed26919a3f18745e28b37bce639dd96cb827c44d52858967cb2e8fd626684958c7e8e1fb91eecd2b6c7aaaf9a56ffcc648a999a4e94342c8284a6a3950bc4a038013511ae984f339f47858a0e714e5f54547cf4c81bf70d0d4c9e6e355b2b7220f7864a3430b79d6c46544e5e731402316298498ff9728c824778e8ffd56bee7c74155fd8c614a305e65858409ff92c73859cde38f1f11271bb8e1f1bdfe0e64316510275dbd01036e4f8f412b9f2d724a81589a1951c02e959596a4ef4550c7abfad5470d8a90f72552c2026ff406005fedd1b08054a62d1c46f6a841e7f709ae97ba8a29bd53580d91dc7e99a29a346e53e0f92473df987ca35da91f8a846cf4f802e7dd04aac0b15bae534bb70c199559157ea9cfde12025a39d832911", - "config": { - "assets": { - "accounts": [], - "assets": [], - "metadata": [], - "nextAssetId": null - }, - "aura": { - "authorities": [] - }, - "auraExt": {}, - "balances": { - "balances": [ - [ - "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", - 1152921504606847000 - ], - [ - "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", - 1152921504606847000 - ], - [ - "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", - 1152921504606847000 - ], - [ - "5DAAnrj7VHTznn2AWBemMuyBwZWs6FNFjdyVXUeYum3PTXFy", - 1152921504606847000 - ], - [ - "5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw", - 1152921504606847000 - ], - [ - "5CiPPseXPECbkjWCa6MnjNokrgYjMqmKndv2rSnekmSK2DjL", - 1152921504606847000 - ], - [ - "5GNJqTPyNqANBkUVMN1LPPrxXnFouWXoe2wNSmmEoLctxiZY", - 1152921504606847000 - ], - [ - "5HpG9w8EBLe5XCrbczpwq5TSXvedjrBGCwqxK1iQ7qUsSWFc", - 1152921504606847000 - ], - [ - "5Ck5SLSHYac6WFt5UZRSsdJjwmpSZq85fd5TRNAdZQVzEAPT", - 1152921504606847000 - ], - [ - "5HKPmK9GYtE1PSLsS1qiYU9xQ9Si1NcEhdeCq9sw5bqu4ns8", - 1152921504606847000 - ], - [ - "5FCfAonRZgTFrTd9HREEyeJjDpT397KMzizE6T3DvebLFE7n", - 1152921504606847000 - ], - [ - "5CRmqmsiNFExV6VbdmPJViVxrWmkaXXvBrSX8oqBT8R9vmWk", - 1152921504606847000 - ] - ], - "devAccounts": null - }, - "collatorSelection": { - "candidacyBond": 0, - "desiredCandidates": 0, - "invulnerables": [ - "5Gnjmw1iuF2kV4PecFgetJed7B8quBKfLiRM99ELcXvFH9Vn", - "5FLZRxyeRPhG69zo4ZPqCJSYboSKaRBUjBvQc1nkuWoBpZ5P", - "5DNnmPH2MT6SXpfqbJZbTz4eERmuZegssfxc4ysL8PWrHaNN", - "5DkKcSP5MboNMpXScW1CyRqaktKMXH8QLP4Mn49TwS5vhL6k" - ] - }, - "parachainInfo": { - "parachainId": 1004 - }, - "parachainSystem": {}, - "polkadotXcm": { - "safeXcmVersion": 5 - }, - "session": { - "keys": [ - [ - "5Gnjmw1iuF2kV4PecFgetJed7B8quBKfLiRM99ELcXvFH9Vn", - "5Gnjmw1iuF2kV4PecFgetJed7B8quBKfLiRM99ELcXvFH9Vn", - { - "aura": "5Gnjmw1iuF2kV4PecFgetJed7B8quBKfLiRM99ELcXvFH9Vn" - } - ], - [ - "5FLZRxyeRPhG69zo4ZPqCJSYboSKaRBUjBvQc1nkuWoBpZ5P", - "5FLZRxyeRPhG69zo4ZPqCJSYboSKaRBUjBvQc1nkuWoBpZ5P", - { - "aura": "5FLZRxyeRPhG69zo4ZPqCJSYboSKaRBUjBvQc1nkuWoBpZ5P" - } - ], - [ - "5DNnmPH2MT6SXpfqbJZbTz4eERmuZegssfxc4ysL8PWrHaNN", - "5DNnmPH2MT6SXpfqbJZbTz4eERmuZegssfxc4ysL8PWrHaNN", - { - "aura": "5DNnmPH2MT6SXpfqbJZbTz4eERmuZegssfxc4ysL8PWrHaNN" - } - ], - [ - "5DkKcSP5MboNMpXScW1CyRqaktKMXH8QLP4Mn49TwS5vhL6k", - "5DkKcSP5MboNMpXScW1CyRqaktKMXH8QLP4Mn49TwS5vhL6k", - { - "aura": "5DkKcSP5MboNMpXScW1CyRqaktKMXH8QLP4Mn49TwS5vhL6k" - } - ] - ], - "nonAuthorityKeys": [] - }, - "sudo": { - "key": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" - }, - "system": {}, - "transactionPayment": { - "multiplier": "1000000000000000000" - } - } - } - }, - "relay_chain": "rococo", - "para_id": 1004 -} diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/people-westend-local-spec.json b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/people-westend-local-spec.json new file mode 100644 index 0000000000000..1eb8f73b2de62 --- /dev/null +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/people-westend-local-spec.json @@ -0,0 +1,84 @@ +{ + "name": "Westend People Local", + "id": "people-westend-local", + "chainType": "Local", + "bootNodes": [ + "/ip4/127.0.0.1/tcp/30333/p2p/12D3KooWBxZBmzA5iHwEt6rVo13zyYweQh2wGJMxMDLPoyqhwVqm" + ], + "telemetryEndpoints": null, + "protocolId": null, + "properties": { + "ss58Format": 42, + "tokenDecimals": 12, + "tokenSymbol": "WND" + }, + "relay_chain": "westend-local", + "para_id": null, + "codeSubstitutes": {}, + "genesis": { + "raw": { + "top": { + "0x0b20199ace3564d0964e2c4d4a9ba4694e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x0d715f2646c8f85767b5d2764bb2782604a74d81251e398fd8a0a4d55023bb3f": "0xec030000", + "0x0d715f2646c8f85767b5d2764bb278264e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x15464cac3378d46f113cd5b7a4d71c84476f594316a7dfe49c1f352d95abdaf1": "0x00000000", + "0x15464cac3378d46f113cd5b7a4d71c844e7b9012096b41c4eb3aaf947f6ea429": "0x0200", + "0x15464cac3378d46f113cd5b7a4d71c845579297f4dfb9609e7e4c2ebab9ce40a": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", + "0x15464cac3378d46f113cd5b7a4d71c84579f5a43435b04a98d64da0cefe18505": "0x00a0acb9030000000000000000000000", + "0x1809d78346727a0ef58c0fa03bafa3234e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x26aa394eea5630e07c48ae0c9558cef734abf5cb34d6244378cddbf18e849d96": "0x0000000002c67d3979c4", + "0x26aa394eea5630e07c48ae0c9558cef74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x26aa394eea5630e07c48ae0c9558cef75684a022a34dd8bfa2baaf44f172b710": "0x01", + "0x26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc": "0x4545454545454545454545454545454545454545454545454545454545454545", + "0x26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746b4def25cfda6ef3a00000000": "0x4545454545454545454545454545454545454545454545454545454545454545", + "0x26aa394eea5630e07c48ae0c9558cef7a7fd6c28836b9a28522dc924110cf439": "0x01", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9007cbc1270b5b091758f9c42f5915b3e8ac59e11963af19174d0b94d5d78041c233f55d2e19324665bafdfb62925af2d": "0x00000000000000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da923a05cabf6d3bde7ca3ef0d11596b5611cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c": "0x00000000000000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da932a5935f6edc617ae178fef9eb1e211fbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f": "0x00000000000000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da94f9aea1afa791265fae359272badc1cf8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0x00000000010000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da96f2e33376834a63c86a195bcf685aebbfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e": "0x00000000000000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da98578796c363c105114787203e4d93ca6101191192fc877c24d725b337120fa3edc63d227bbc92705db1e2cb65f56981a": "0x00000000000000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b0edae20838083f2cde1c4080db8cf8090b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22": "0x00000000000000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b321d16960ce1d9190b61e2421cc60131e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625": "0x00000000000000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9de1e86a9a8c739864cf3cc5ec2bea59fd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0x00000000010000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9e5e802737cce3a54b0bc9e3d3e6be26e306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20": "0x00000000000000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9edeaa42c2163f68084a988529a0e2ec5e659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e": "0x00000000000000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9f3f619a1c2956443880db9cc9a13d058e860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c": "0x00000000000000000100000000000000000064a7b3b6e00d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "0x26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8": "0x26513e003870656f706c652d77657374656e64", + "0x2aeddc77fe58c98d50bd37f1b90840f94e7b9012096b41c4eb3aaf947f6ea429": "0x0200", + "0x3a63": "0x", + "0x3a636f6465": "0x52bc537646db8e0528b52ffd0088942b00e66d9637307373c000430c0e06060606060616284ad7df3bb6bb6dd6acc9dbc51f71500055aafffff243ec76ff775fd7ddd7d7dd2b7792494a99028a0099007e0019053a4090d9a480309263a7ca16b9e111c422a991ddf785180c3d5275a52c7120e2ec6d0c051c9853291c3268910686dd28e6996cd38d5a290cc594964d580cc9512355d96306cc75236087f68d45adf22acb955503b20b547eeaa52ba7d5ded0d5f46c65afb2aee66c4b1bbba45ead56d67b6949dd3e4b4a2a67599695d4e524c1589cd9ddf31b710799033b0decf0692b9542898f90065548433aa0f0b6218c44da28a3b017731af109e2eb4850461c2991320daa7cd248b0dbc6ee0b79781d2a6404f9e060b8f0d0187514705e77f26470297319005e9ec99ea6c2df03c804762653e8298c44a68809128b19142b02b83c8ee186476ecb9a081502324a6d2212a58e44040232e2b21692a91a719b10f145c118412ea0361ce379a14607cee2424d971ad89b098406e8b75b6abfbad73aed7ceae2d33be3deb7dceff44f0bcb4a864aca9c1f143f31c1708cf99975d68fcf7bdbbf6bfd2e993edd3392dbd7deb73eadfa16b35fadb5ef8ecd11cf53ecfe9539adee9352faffb4dddbe949ce894e55685a23865ffebe7e0e9dc59286b7d0f3704884cb62e6c4307722a901a10ab46e6c507abb0fdc02649f60fa45ffb32bc3dc93f0b4b6c7dddfdd03f27c8587c26335122a3e81e22da8eb5babff5a3be70c850604fe2f462fdad6e74f4bbb5eecfa6dead4f2dad57dce4bffea2ca358f6f3baaabdd8bf584df0d4a029adb4b3ec5a4ae775d5bef7628fbd9d3dafedb637bbaec504ae6559ff0181b3a81169352322a2a0204941d201e110524e42693de2f1185121839433646624181191519082a4b01f071d06025120d9c130502408ca9ffe8eb33b855b1402a7c2d93b31318ad38e81abfb53b43eadb9468ea8263069f4a536c2b60c84e1f1828551e14204b61cbbaa8a71ae2d1407e1830682f15d12546bc8ca01c87ef663bfb953cca0fe1691e10a6c67df4cd0aa8077b86d1a8da5a06acd5288a7eb17df114b2d4bb1a6c3689cbf23a4145d3644778bc46e191f3c2f39fa5014cbebca114f1796a21b022de2ac823281bb906b28f1e1cf7a338e638509bf438f890f24914c048423c1ceba1a4d70f092a73ddca3e0dc2472d5e3a3b94296fc341b66334e610b17faaa58a06dc106441f51460382e0fda2816f0ede48cad853da7763454fbd0264ca243829a0991907d16bda60daec036f2827f85a441f0ea75c8747470364fcce5f2376429c381842abf65e091c3055560de96f07d51bf438bbc7f9bbb9d29cd751ac9b97916fc84d9bd91320215fdc493dd2d3d734c6fe4de129b18160b8eec27c3c1764bde450ccaae6e13231ee3c864e04fbb0c80c0552d720e24a00456e26e954c9c12e078a835f99277c7996f60ce3e2235ac43b26a37df8f7900b9e58704042f80ea92d99e4847bc369b9009e09e9888afc54b61147f1cbd68c094d5f02770c9bec540f8e87f6b181ef92e2b1cc6b866bd1e482e1f2dcf817ab10071f7a9a74a18da7719d13206236f713eee3c426d3d86fd3316e56dadd6f5c12722cb2cec255f6db9d6ce804448426d23b9a3cabd8c014cd4237108f37d5f0ca897b812013376ca01e3c2c1f53d4223aa8baa897999ff9248d1e821403baefb42a962faf301f0761b4d899ec67878cec149e6319da81026112f005e09efb75a74100fb0fd4374ca184e6f52982413a2dae0d19c01170bbad90e28e9014fbbfe0a61fe0179496968d4515b2df1737c8d5d54f5bfd41a4a67b148e70a61ca0cf4a20b10668b8d98978011cd8309f2162b12f93331441b070189b2ead05af560dab00db1a13208fa2a27fe05a59f4957b922f0e340af3b86475250860c4766018c2bf36609b9e95f7237464424f329c953ec2151b5f94ff2c250026de491ac0dc34075053fcbfa288371bd93dc0c28c34796a64adacb4101942004000400076da342dea29f3590d242a6c613d134e4e9fbb23c6a0b4c0f85de1d3becda78ce64798118c300543c4f227b27584bc6c3d9a7b4179cda989e92690b2cf5c61d78f404ccd7b13423e08d1cd3965bff888c86cfccfd22f8164b1b1996fd38bcbf474e191c6d5d0e285a40b4025a07ac4121d15ecaa3f94f10481f6dcc92c255bab520993c687c67477e85c9ff238b966eb1c9b3c2e2ef4e6ca35e43a1e8f27379ca9c3ee88e7b86dfc680cc9a40c2c24222148c9e976adfbdd919423ded18d69dd9f09bcda5da153d6dca565955cba3f2dd6451d913de07676f51b39309747f62359ac2a0858beceeb4104c224c39d8cc391210b2f08c5cf7ce623496aa6d4933abbf6ecd61b2181b3a8b1599b4d92c661148618631042ebd2a9120831a61432a488888848282249a4244941b21c59a6c5de16d7c07cfa983db0c60dac89ad12ab1a62791338ed4b88458f66be5ad457879bc609aa728ff79c62e1b462f6998f7ac57f9e810a689b8fa04f4391a207b9fd5d4452de7ba8a223a3e33c4c01e47a05eeeedfd2cff7444b6eb50f1095385c3c63122b7353d663d28dd64fc30f9c6f5e4d64353e97e84e63629b26f82795870f2396e76cced14a22e59003f462c8c1c2af79172e9bb4c322d095fe36bb4b3697094d67e3074c865ee62626d62570ea181db5aea956fc59fcb749e716aab9cfeb5f2992b9a5975729bbab1521c4563e074dbc55727094bf08e15484b31b972e45e601b7acf38162cfeb19ec963a936284bb59c8eb2ae57924464243c9ee30e0f8eda8cb984d6757aa0ddb059a86d9a665fb32f50f4530f2a686f2cdfe67e78f6fa97f30eecf58b93125db8e374e2a5d78adfff2fea4fb1e6905fd53ca126147350f0b86d3853119d6a09e4e1bce489e53ab96f520ced74ebf2372fe15f6660eb8e10837a8bb53e9acb9a5135538bc00d574d585b47f13a54924c221ee3a2c56a31068d2306243758f3d988f9f6a7c1a963fff797b00927b3da7af7fd8ed839d308ff4150e2608afb37f673c790ff0f8b805bfa8e364844fa116ba19e1b96fd4992029942f1f6d91db5c8d06ffdb9817219a550b06297e08f9c98e1be8ac12a65ffafff0072fe1ebb1b345a897eca62c5f6f4e501c29d9d653302f678d0e10bbb3b5c01c3635691e37ae7d17cc142013d24f940d6fde91cf326b704a39a9653e51125de8e1db0167a6204b69a4419b219b3856ecd347cc10649e97ff448fe88b642f66df6c391e2b4c5e68b08bcd0504bd536a25c7c95bca8e4132edd4a18ba79973529d474e4c648bd648f6a115ec219bfbbffeed589b6f2e7b9397bb8e46e983c2dd81a22cddd8a7351978328220323c91f55ad5538b7a0bec72ca64dd81832c95054c8863047459076d628851b936ec4414770ed55a65899e889d87abccdedf5df5e44ba97c6881999366be8de71b59a2289946fe5317c1184c222cbd1bd0424619a4811d42fdfde7e11d3f4a3f6ea40de857a2985d581e60e309f4c9f9069195888b435013d2395129241999243628a4776b692fe280ecfc5a671aae1a09c6062e44653c02e1cc0c4ac6420f7eb8e999da0fd550de6c70a0bbba782aa1820e2d52ec939a888c4da04dcde0fd58677fd20c1e0026207338f0dae64c616598593807db30000000000000d7f372876c0e11578cb66fa06e9dc8f25caf0da04cb54de42f04c1c9901f26d51487888890146a00610061006b8dcc26a9a0313003d0b595c535eb185863c9c8ccbc1850618c69c5b43c9d0710ba8383e79ebbd8e1277e603810127c1205036218404030ca64e2c92703418cd717bec4d708131078892620ecf5891d20c660200813f8c2febc71ec9718822308360876188a204c1c033cd932f84ee7489b6d69f38714b80e8c795a04cf69dc4df37affe50d1ca7d59423e637ba755d21517b73b63f29bf5ccf8b9a280a85dbb48e546bb5918cbe6a4976f67c930aaf69fc6636d5f496577be0345d9e98347533abae3384f6fe5cb1190de6bb583852e3d32c6b147ed4696da7fecab2b3240f6ed428f9174d45d27b670d5e54960e4ed4388c77ff81ff04c287da457d9c9aa68c40b850fffa6b09ad7c9bcdd22e3ca831eefeed0235fedb83ffa0666dc17dfa9a38ef4ef5373618bca7b17b1e96e3c2afdaaa2d89ad79ceca9985576535d5fdf979c2a9fa5bd4c799c46649f919af2a2dc2a71a4d53da4d41265caa113caa4b7435d9a91d090ed5b8c53c21fca973f745e64e14ded4185b52f7b9ab92e14c1abe7439946ed986fe99d4e9cd1680d9a82141a714d14892a4321d308410c450d1a60d42f216e618638644464652525090c2cebe0198aaf77bd61c10c3495f69925ce7ef8b5590f63492ba4dc5b841ec2d1227b11f62414ae96b0763b7e2e058ef0930c38dac4d3677047680b35eb01755628b334171444e4b13cb412341c85f79bdb4d6ae18d062d1c2b92efa028e3faf3390876364365ce27cdfaa06abd79c23826286077972c8df5cf8c1a6da87288a33e464450c89e031267d01fd0c440711651f6da8400ba6c843631a570222325325869acfa2241ccb36ab9720adb5e1e808b9a9ad843290ab5e8511395522be790673d622f9c7d4b667d16b2a268c41f135684f6aa833d2a8323f4f801a0e12720a230a54e3907772067278de92ea517e728cd6df3db178dda890388d8d0e1962d5903e8354e0e2f94181cfacac0816d03b1b4ffe3b478ace48f7e5c90136342ec85fc91a1596b8a7d22ba50e26b170d939bb363cd8137a0eb6407f4ba07e6efff3c6b37b60f9e42ecf84ee679f8dda619722de5a301d0ede8d7cc82d34b2ed9e1886a80ee75b94fc7afd56721eb99cf3801a6be60416e41199095041434d03e3de9d0090949f018a723b6c86ec687436e8159ef9659c048ce4ea428a8d9e3c481cc9e3edc65ce2925d61c5aebcaad7715443ec8cddd2987b48d18baa18845eab434761ee51598c66081546fb0a68015c7a00aae65c364c4050b96d3209d0eb9dafb7bb5396349fce01486d6eceb5ec5c6b7d3d01a8d3c203b54f247abc4a7f13a8d40f119d81a63e30e8e3ed694ac5ee8e307a9a44231dd53962731dd420bd2fb25392590353034c038e54a2aa20d38bd985df9003653e6fc78461b63065982e4c1b260d738799c30cc114c1ac61de3067983a4c1cf811865ca2c17cb01d8c07ef2dcf9831cc17d805dc027e01b358a67d13f00af86ca9b44c824fc0296034980d265b2e2d91521c0b38743aee379a622987ef8c889a3ce7ea89dc10d17adf729ee99e7b84c228f78944ee8fcf26f9cf8ad3dc930de5bcbac924cebe71d37d40c980cdb002229f4c32e1dde2eec16135d355450a0d27a335c7d7204268c2873d4b2973a1742d9d8e49f4c6c92e4470ec356cc314b214420f8cb29d2cf761d3e49bbac974329e95662a77cfd53f2258cfab02723cadaa6029604c121e163da11fd403b12b7648bd0cdeaa5f5e2a91aca7933d4364cd444ed68b23771b76a37e232f6675ae6b2229b23972a1be85bd82bf602e780cee82b5e441aa945c97329822f856b95658b7141905e02840867ba6dfc02a667d52baa468720b5b5086a113ca82d83791c16b5b16e7c367c42fcbd31c1329c4e2611f6d1af010cdc2d7eb4dc3aec15ed2b314339117a6d153ca8ed4cdb07acd3f1d464a98dea43f7d7cc162d89f6c8fb351c7a117d64e236830982cc3e7c0234560f43a3d846e83d288f764777420270d6ad3dbf826be8aef8cf7705fb1abbd732fe21bf8eebd856f8b57ef95f10ebe7f2fe0dbf71abe84afdfcbf6b6bd652fda9be25dc392e13f6fd715ee2df1867869dea377c4dbf30abd416fce2be225f142bd3e6fcd0bf422bd4c2fcedbf416bd46efd2abf312bd3cafd3bbf3debc36efd09bf42abd3fef13eee3b66853b874ee9c2be7beb966ee9a4be68eb965ae986bc27d7255e036ae97bbe572b95aee942be522b94aae93fbe52ea91c29a59450ca28659332e75ea17451c2286b942fca185fc33fee77f80e9ee321bdda2de765f8371fe8053d5a9ba892e3f55ac596b1756c69dc2a7c59db78adf389def066f375beadb5e1ddbc088fe7ef3c97cf6b173dd51d03e7f14d779f87f12f5ec6c778383fc323e23afecc1f2a6fbc59fbd40ab5416d5c0bd77acdd0feb43eed4dfbd2c2a070028b0925543082082180f001091d70b081061960708105142ca0c089d544e56ab7394c16cb7625d97e9c00bcf203102a7820420920402c5b25081002586532a76c22096202163ca080441e4b86a082072e88d080882c96820703c861491754f83258d285165a30a1850664f92b224a36a155a6e4c487f92d2139420ce9a15a8f0ef2a8aaf768219a8706f2a0a2776abc660efa87f6a9efe89e3a6f866147dd52cd1b4e19e74c6d47eb346d7c9a3f537f4d17a735a634681c91a42623dd322d0ce9ab02ce68f7d193f1d90822081248c354fda040b557b510843024cf2a77d7cc6ed5c02964881e3488ce9906de4cd09f5b09da3337812c82248218de4d53478f269aa616bb77aa8373da14b1e9e8110562637a78df803c86ec59f3aa843694c71348e3f4af860b116c42e24dcd1a21814d1c4d1a9c30ce97e6a393a619d9a4e1ac71badc50f788f751de8b0186121454a66754dc36f37c887d8cc96d2158215621542153f756470f0e661fc672b8137c055b41d1a04b4d456811d40c7a062d839e80e3a049502528d13ff1fda048d02328d30ffc84d49d698c27640723288ef781ce40653c935ff24a3ec923f9236fe449f8224fe447f8212fe4833c90fff13d9ec7ef781d9fa30273abc141b70e1507c699a750c8e010f0d1bc042781008220d2337011ac03a20813c139f0cb2ff1617cbd0ff6a1bed307fc4f5fe9abf8631fee6ffdbb4ff5ff7ed297fa5e7ff0a3f8479febef7db54fe2aff858bfec6bfdab6f66bd3be9836dac7d2774b0d0a7fb90dfc56ffa5fbfebd7cd6c277cb008d808fe81ab60a0cff4dfbee09f0381fcb801dfc02e6ddb5471ea073207c246bb508740644062a68034d8476415c63d63d798aaf8b0f3ca7d10795c7974796c796879787d087970797c7d4c799855ff3c4ae0611e601e562747d42d3b87eca66ca15251b9a8575836aa16b58b8af551f7e144ada296a04e51adb0279a864dc22b9e7c48cdbaa6a0463909ad3e7953ce24c7b0115580ae72cec1101adcd176fc48ea10f8813462268dec208833ba492e15de78cd9b46de7e338a0e4fcfc8a78d29e35c656dbb87a03e77d1cd63ad83ea8cac49fde69e698a26dc74ee432b856a0a67d282ea3482a2f9860b4ee3464e509f52b652aca66d236954a514af0ec70ec60ec50ec48ec30ec30ec28ec03baaa3e66ae75c742a3a139d88ce19cec311154e194e43a74d33d13976afdd48ce30a7ce34c7490c2797f3c6d9e5f472e67c16bff03fde391fefa77da39ff7a77ed6b7fa317e8a3bc69ae2c6b94984f039c59c3b4e30678cb3a55943dba442a25e94fdfc0d9c902a6427a224328b98721f62986128018bb81d7e87d7e158380c5c0bdfc2ad70173819fe02cfc2bf70253c0a87c29370a4760d3f6abf70a6f6adddc26bf0169ce6febb016fbdbbee76bb512ccdeeaebb6aa6babd6eae7b2ac4ef2e3bd1bbb1fedab7fb6c9feca3b9611d08e517542f2b8c55c47485dce3e67d70fcd0480da2f27c98f920d3aef800a37bb9782788d6476b0d142c2b640c167f9dc8d022ea366b0c5bce0e3b491c29fbf02a31b307e53866d0471753c80ea42e75182c49bbb28d9cc159f25bc9997dc2e632816167d9587695bd65a2644bd95af6d4affa2dbedb47fa7d5f0cca0315820efda82ff7973edf6ffb863fec9ffdb85f648fb06fa62c5eb8299b499ac95a6d58d3503b9afcd45d264075616d5697d57e75637d5613d669758d9aaefeabc96a1bb55a5d57d75043d67c358d7aad46ab63dc32b399071348240863498a12154fbf59a97e84ee5857d47d35a3b5c703da80779caf92593ce99a87d697109dd76afa661786904de96c45ab4e499b12a704ad8aa344a9da5872544d2c31aa32566754735411e997782a9689a5e2113157ac1503c524e29b1829ae899562a858286e8a7be29c9828161177c525e2999827d689a3e2a1782bce8ab162aad82abe8aabe29fd828b68997e29df828a68993e2a73828668a7de03fd80f8e01f7c53871511c22f68a9da8463016954435920a657257f5aa72dd5ad5ba142e3c071589d6a2b346e246e06a37ba8a7a4327d1703416558756a2d9a442b41bcd826ea2e56817f415bd829ea397a67db49dd490aea39fe8bc113ada888ea355d02f682a3a84d487a6a3996818f408bacdda82bea34bd034a638e816b4135d3497382141bfd156f4114d346785c4a049508146d8a47734126d5335b4da3081ac2ede86b5e623ccbaa373597950166d1b288a36240aa275c61a4286b3193fc06c1c28877b0dd61b9419ce42690de594b4518a682f4af7a478d61f5bc608dec89bb58539622485fdc81c1a519b1dab326643fa71b69b1be7c279c68c3723cd8b227373d7bc377311f04843ce81f3e0ec3503ce60b3e07c384b1100396fcd79b74ded6256bc856619b389f96f469cf5e62f6acefc769234d7dd2e4d19b3d1dd339fcd57339c87d47fe1e1041d313f59f9ac7bb3d37c3727ce2fe639f9cea661d770675d4f84ccb86a2a482e9b34d04573d3ac31d52fb8a55521b2142e37a2cb0d6d7383d281e40692011e482e974a66db7421e860be529619565e0e4a7785c58dbaa05c2e0190b2b82b0044394495242cca12546079616543744334012507921560d840c24200004af7255941d93e37b4ca2e19399de7d9ca93c5838f7a505e95d75601ef82e59b1db0f124e0952431552ccc99a80255edca07df2a2d937500caa4075c892e5d9267ab8cb64abff4ca37aa7cdbb6950e0041dbbeae2b819445e9b66460001f6d93cbe4b2f551178199a7f27da36d9381d725497aa6274966932b6ed44b93ca9d362a77c0b693b426573c8952ea26e06750b6adde3289f2cca1cb24cd1255923c1b685738780ffe7eb280b8fe5dbe24ed0a883f80007f8032ea952f497265994c59493623480e004194c38a2b75a15d514a69efb6ed92cc331965e1f0f457578136cac11f6082e90f6843fc01c915ba959e105d494e6768dbeb5226d976607a0feebbf297cb64b2430763352b272493282c3248dd649381a4f7908c26e093254b19ce5a76569acba401cf369a8c2603d8fb3ce1958e003b0d3b8d9d6fdfdbfdf6b95d6e8fdbe1f6b71dc6eeb6bbd85bec2cf6b6fdc54eb7b3ed752dd4deb5afed60bbd81eb67fed5e3bd74eb6a7ed68fbd87eb69bb56a7bd96e621fda8b76a23d2abbb7dfec21769b6c5ef630fbb78bc8f6650db37efbd3beb43b650bb33176a82c5c1645b6283b224b94fdc906656774489d4fefd3dbb23159175d4d8fd2cf743b1d856e433fa1a3e94a7a9a3ea3af61ebb058d82f9d0d3b86d5d273645ff448ac17d64456066ba58be963d828ac12b6849e8495d2efb04ed824dd85ce02bb846dc24e61f37430bd4b97c142e932f43d9d46afd1c3b04cba08ec13164977c252e94b3a938e888581b5c3dee9787a092c1af64837d4f5f4293d4f9f8135d2a5f4439522952095211521152295112a372a3d2a3ed7c56be215f1aa88175eefae59d7b3abd9b5ec2a76357125bb8e5db5ae61d7b9abdb15053e7805bb625dd3ae6f57b56bdc75eb7a95ffe53172bfbc2fe7cbf772bd1c305791a7c8f372bcfc2eb7cbeb7218f98bdc45de226791d3e573395a7e969be56539596e221fcbc5f2b01c2cffcabd72c13c305fcbd57214f9893c2d7fcba972abbc2a77cb8ff2a55c294fca9172a3bc288fc97572a03c444e93dbe443f94c7e93e7e430b94bde92cbe4387880dab8114d886c6892a4b0b19f01422317331a49d27a55a63d030b80d3c0c8111b4fb8b55cbd6296ef3a83a68444dc43778034494d2c417840dcf6e02bc0ea1b09c6e524a1602d85bdacb909015227302a8016a88eef274c0770fecedff45f9cc96e4e1f0a9fd5c0541f123736821a3c52297e13c046623a15b8547581294c4eb41d1077d036d094a1121539f3b1c823460baa54195fd53b61b762a55d6427967140f00078bd44d9b10298dcb27ad9e3632d13ec8e0189f732b34ca9f37af78e1f5b04b9be7000e23934a079d97c886485f9166aa0e26ddfd9ce49f171c0e68cf186db6373a39e66eceeaf4199c23b1f33c971dec32481e0619603456345f0d8971d6f60942fe09242a0154d088aa871666df6dd85a919d49167676c24abcc60767669eafa461c564c388628a8908a078bce5a9e5ec59667aeeca30779e94d224a278e9b88ef88005c5d623aa0f3059c4d224bde9c21f114c7bc84a4b2aa2239a3acf6a642574e97327d7c43933ebd47742830d412cad25578a91e05907f2780015b85782ca500bc0d9d0888ef30cbfa899cf509c0132d78ca413c8ef80bef53d19ac6160e0f32680c07f165e8fcbc08bc280016a2773a20773a18d910e0f1dbf8d2e974b250053823570b91c44540d27199939151c34471d4a3184bd34d264fc55b3cfd7c7d4bdade7bef6e524a99640a6b00660068003946078148e3890f1ed67d02c237ec8c07f38f6c9d783c3463547efeb2648076a1269b99bf26aa88625a490a7b09fa9213564a49c0dc8cbd53f8b6eb4fda16403d8652424c7136ab4f5db38ad33f529cfeef01099e8166d0261ee69f70d32223a3374b497b8e2547ab5401d740e5d5d6ac7885f3450f537f6d178242d255ac70a7773b2d75adf6b6755feae89a37a03d72ab849806d6d29f6a0194d6428d138df2f533cad5dec54779e0afcfe59c7211e3a69f7457a06498a98b14aaf2cb5ec47bdd14b8b9c0e6daca06b7705620d0f142e3c3e06ecc51d84d627bc525b314bd45ee35a15a555bb2717bd26ee17b6f3a6483a3c3036444974c87a9ab136bae82c06db1adc25d93524aadcfafdd88e7bbeeb52490e7987e6ab84f5b504ca3a46c6574cdae4f90be37a008e6fd812249fb7048f185d9622f7f38ffe427a30b3145e91658c3ee613ca0835e69b5d3fb8f8235b4e25dd9543856377afa62005cf398ed0bf7254bc09fe5c3781b26e9d563deb9cdb5d71db9d48dfe4b2f0030b25662de36ccfbaa3e2f6fcfcac6df546acca152122e303295a6da541c02994b81b3a881614794a435e108418a31e6a43d52422915d58888480a0acaff28536392051a1dd430e36ffa8fb949c5d938e44b6fe74bb31f58059c0838f5fc39a79ef31c492a514621c7d6e8017a8c3a24d33ea51dbefcf6b21e38de89e5235ae15285417d8e278915c2afe24565c0eae0d185cdb94c2b6f21f435b402b672e7ea886490e3e80e885350385709a1e979217f34da48edf1b8113d9572778d112dafb0143c68efd5a5af79b2c52215cf994c8133e1a55fb486c145344792ca1b6406eba4c89f750c5987507315a0d488b9c32071645d1753094960af4c550a4aa067ce8fbd20f4a48ab7080de2938294a1809c968d944c75ee48f073343754bf01680efa2cca0e8b844c590cb61ad704e49e2b6b27d8905590d54a684de943f2b79c5e380d6890d0b641ac339add821072983fe17ffcf4177a83a7c3a3efa385c94135730ef0f224c9fae24a09ccfd5499e2e2a0749a47a455c37e26179774050f47d60d8d61198f2a61271a78220e09e0636c412d5d9d00a65a0688147bec1c8e9a839f1f474cc05523bbd088743b41311f11c6d0a2aee20dc15ef8c8d3e06f701f99b32de71b2b86acf3ee619f8ee7fa5a0988010941ea250b293d752098257d6183de657e506e4c7df90b23e20a445022ad2def6dbe39b6e58e289dedbe5a8398ac87cbfd625e6852f82d452671a7b98689fb22c38bfcd1fa3279b35c9c3849d840f1d0bc225178b415934713d55ff4c57b0e4edeb8a9f527d7041b935801c84b6b617f387ce5bbeb991df41e30a77640dcdd9b28e4c3c4b11efe5c3f348c3d1604700b1add41caefa9de712dd74f85343d8b6d5cd559d30e4320a0a74c56ed9b556f00fe68fba163109ce4b0c8e489a8f41075209ce5a561d6b225366b8377d80679906843ca98c9867de3a89bbe1797dd0e3da9925d1cbfcf569b012e4c4f2ffb9a86f1d66bc21de79deccd4e25b2ab0c2fa0ee21c9c98e8440d2c109d743f4deec99c8ac00f758082e2bcc1286549ee3c102fa8341b2deaaa18cd8476ec6c9a81f268f5cd8fd5533acb782da2c803260e9c038926f635b8e9566d8604507ae037ce8cce1e9a0f80c39b84f0a7c40e841fdf202cc27b4c84c1bf093bda84bfd91026ad3e58d79b7ded586c48f97f74d40849de7ae261ed48b00aa65401545b01eb7011c1b2eaaca4d1737a16d61d8d885db539e28360bf45d20582bfc977953f2dd607f2802b954a443dfd2fd0d9125a294e0bf972adf2bbb3b45f6669399644a29a5144b013401310144bcb6b106b5ad8e19d8cbe077fb55b918e39c2fe804e79cb5c63d49ee5a77132ad6959ba0e1cc05412bfe195f5bb557b90ea62942595052c55a72f21203fd9c7b4f920afeaf4424b65dcc74a55d33b9ad77246ec26a2d3bcb22d3caf04250285e72a04f5ea441f5ed32a4c03f497fa411eda8be29ff966b08246f91d581d7f922e52e9f3d4addea21bda430804473d0fea586c620b115fe803ea8d3ff6fc763752b8eeca993b881dc6f4fe3f42973acdd6c2f8a6733b45a02f848af2296e82c53d0b248fffee5de3ab9c0d7eac9495431501a54af25fa18a82ac0683fba3f89c4b6d73cc214327837ba8e41635ea738079aa589123456ae5869a252e60b9026384d3ec43421c3c6cc0e165b6a4889c1e4c76c0d97354a7cd47843434911ec06e7e82104c992275370ee62a5b69add57cb9a678fff3db25f7745178619b4dfade98c6f3ebbd8c71afe62261ec772a99d304f7a54d7af222bf5ab69c95ae698df9d91b66631d46ded945cedea6a9abeb2fcaf99edd5d1adf6b5fd537d3fac42c94b596bbb6886ee155a066bc0a4ad3dd3b576f509cbf6de6bf14f33c64a9b09985e51db71afbd7f0a5d8f63eec0300c370d9e18f4a6b5d77b5df77d9e8f75b12ed6c57ce7c333d5770dba37942f66f6c6d03d4f949df2f73bb37b43c2f14776369bc5017f8751df187e11052a3b79e368caba189e3734adfde1c7bf2e7e23793a530fdef87910df997a7ffcce11fd97db3f89675a1685de99a640c31a9a1e3c5394356bffb14d7b59e5feee9ce9fdf208f69dbc13d6f5bf9dbd56f05b8721e9102f8cc1a219f37b617fb68b42645778595a63066ad6225cc2b018b948ccf092fddf2fd9a5dbc3d7ca37be359df15d591e61b87c7955b0c93062628b71f4dc26e99d9143729ed974c2c537a262f551f46f04a551dfff327726d2182aa5c29b931a395185caa99fa25099220aa7c61c93449cd0f7f1821344f0f7de637704c1b183a5c69f0ac7dc5100c5d08326eaa22854fa550c5e0701739dffcdd324a47dca3e18fdbf62652ea93e8a07b308aaf35ab94ae1ed37f4ed9d6b9a59c6c4530982274ce4dcbebd734debd3067297a8c588a5a515b308631f81b9c83beeb8918f21c7dcf43e91a3a1c9418f23597d51feebdecf9ec9d122cf79fd45def66b51eff372779fdb76ef38bc618c3ffe9c97db2f37b96d7ec2fbeed4e3eae3fde56aec12df7589effff8ee7b22abeead53c6daf6fd846ddca5e198e6963b61fd5e5ceb4bfb7e46fd176ab1d7e42d2abf5cf58471dcebb3cbbff232ef5d5daffd5bbb7eda6923da27cc03d267c94fe676965cef8f73055c2e57abd5fa299069069da7504f4f0f010203060c102040c0d0d0909090505050101010908f8fcf4fc5d56a2ccbcf6201d0d1f9d9d9d9f969001e1e9e000102fcfcfc000000e0ffff535314cf711c53299f9e9e9e9fea701ce7a97acef3344d332727270c4b148aa569daff9f878767676747474787c5629565b95aad384ee5bdff9ed7712efe74f7de7faa52a9865224491ac849a552e3388aa2a8b56e6d20087294cb73dff7794fecba8e3cd2ba125fda7d4e75dbb6cc597bef9f6aafa3247c54c22ba1ca39e79301ae15ac832ebd5a6bed09214be016b80b5e83b881e4c0aa088c8c92b811091c07a9437d3131b5e059d31f7c29995ad4d99317422f16b4784588a123c4bc182634418ef9d7ebe521e62dca837bf26bd3c33d806f1ea3d9ee6aa88e2ab268186e19d8f7ced926b8710a7b101cc5d4c87126c8cff9934ba12e88b93bee2307204a568df01f4f9043f2940286cda8d3c5ed124ed201a38418201a100945b22ce93e73d4037149730e1942883122810422222222222225493a3e50540f576fc50e083936eac11582a90698a8def7acc4db84613138aaf63945fde6d34bffd7e569d96667890a266b75079c398fd0a8c74a5b072b87e0111f2c68e3b2df6284441739ae15e58e8bb0e66e9318b24969c6e65d43003ea45183716bc61cd2c2a7ee0b3dfb702f37b4cd808c17fdf1447a95d7135926450558654542a988597fd445c82f572ac6862cf8b0672f81f71e63a6bfcfb3b5cf29ea379f5efae72b8755f7471c4e5b530bf9246b2053426f7615c2f53d9fd7af9211e991d72bcce5182e695903fd6b900ec79a08ef6ecffb6ceff2b0447d3d3bb3590cc1ee8165c6e051466cf7d874346afd87cd19ee8712fb43d1a3831e5a109c8b309107b623103e766f994e3aeb4948708dfb1ecc468a45bf420af8075534e07a3f73162ce51adb07bd27dbb56488bc2f56caa7ac07ad6a3a334508b67423309c1fa8c6e3481a1e5bb3f69e137a309c4d882b735cce7999e6328ecb3c9751c338b5ddc0dda2c7fceb09e865d08ed0bee7241a8c19ea26a8638c13073d2bdb9bfa604a262dfcd7efb6e4f3e17c3b0dd109c78ab475f4d72c6de618a2afe3124aefdeaa803957061d0e57776dd03a5a3599d66f4b000cdb9efbe12606f78c80048bcf49f07105cd9975127bd4b185cbe78cb7560d41f5c70331e388f3f93aeedf02cbd2f9c0d1db2fbe288a8f9febd91103405517144b75d4aa104824c1709ff00d81c4f4fa3d8c16b130df908697cdf73e952930fceb2b62047944c4319242cb4aa32724aac0a44810db19cf03c286b8ffb459bccb575a5323972bf1caf5ac8864b1aad72f6234dbef765444ee88629c215d5aaee70bc6c2d7f1e029afadbe133e644d95c4d6b03cb355c5f32c6dd8e92ba8e93a215999a5676fdd43167b02546dafd1a138c89b4e8010dc87fb954c14b67b48e2b4500694e2905d34c1e16b352a92cd7e8b22ae73a56613c426bf99418f55dfd42eb3a64e10a2ac74837b677c4d0c99040d9265356d15297b6a99c336f374612785c0f68dcba718ea6e686c54d0a4968ce1241b6ae02c8c36e1de0090323ee3d73d273387855a7d97f6c0d82c14f0d8107872b663f89f259f0b0d10eafabd0f6a2ca70f8b61846f1a7a5c47741e79be8595b96ca7103769a03527d3e0f76fd0053e2776052d4ec439f6d13f3cd61329fb7ed2a48017c27d690d651a8fc6db03f1e09025560f886447e80b6c24526f6ec77e1ca3bb936e397f6628e9f2dbfc88cde4a9750e89adf6e9425338b3b832c12a78c4334b57af498c9451c6e8571b755bb771b0d456a2ff1bc1d032b4203a6e9d45cc85b38afe8acd1956b43dab75d612009bc46793761e395d2491c47082e6d657c24499441316aa432d3619157434d9d902b0db80be6a5033e7e449ccd6241243df6d074e35c89669379a17a5a3388f866e936c48f88ebe5d0af584d527f98e3626d1a718e38296dbed1ef31202cb24b2a1e2de0518711b29d210c76f2b35972b914d101861388e8b22f01fc52ac5d62244b382b6d2b1231b4981a3bf21a06319775937de5343d452d4c960bfaed369519834ceea1d2bd10877d13e5fd97b208420283676adf23797b923cded78c4290e28b1694d8e1cbed51aff24bb5243f000e584c8eeb0b6611ed0f731eb17895ca35c89ff784e3b52aaa3f90d20d53604ed31f72bdef4528bf06f676e6c188ae90454a216e0b418c5d1d0e176da1e34ec95985069b0017a5cf1121cceae0afc2a83503684c06fc177b033c78c5c3bb46fc38a2031400c55f8ee049be823a602933a93654d450d9236c6e5b5b981490dee4a80092b410f7eda0fdcc9582c4358de0dfe47ea1838eb4ac6f3ae464ba7cdb6d271d55813499bacf9b8fdb5af6f4c42f2d0a95febd43e193c056c3d61d7da0b6ea84694aa16416a81ad2cc4a8b3a19580397a2f0804c82dbda82ce2464167469accd25b44f85d98a101aca00ed310e432869f1cd412bd1a87fb3dad9de904ed7967188f5087dea0439f682f9dd09b582f9ecaebdae6485daf377c8c794c44ac440f1981897bfa8f7a6b6cb56180309727395978fabacffa44f1106298af97a081f84e429fcd3fe481b914983026ad28cc48eed629ad7bdd06acac8de670c4a7a08c2861f699140ff72b3f0357406dafdeba404850219cb27bdf6af4c3f5cd646b8a245ff3e131aeb5549978b9d050496db42c010d81d9b7fe427e42751ba00fb6b80a64e629fc4edc2b6c3230f817510057e861cf0525dece649c04fda6b102847a977778fbf5ca0926e966c2d1d73eeaf2d36164c1bc0f87839a989123180bf9849b9165fbf7e4f8fd7bf1c2820f1f9a177131b2e4d01c73421714b28354f802f99f2a510e62888a665eb44f308d4990f34b9093ad72c86551b3d6aa40dc482410f349d9e75b4d09e85a62cbd5a0ef6198f39f656ebc2b730eb1738d86842c36e3ed2984b8fdb85ccffa38e6003fe79635f7fdfd9aaa2d7a169ded316203bff73640a28c0a8dff87c5775aafbd19354d644db8ee3e9e08836ee8faad52cb20c5f24ecb19734d5203a36820b8cdf5a077fb34d3c3721865ddb1db572e286486b9b57577be57e626ad858054034c14ce0dc4046c7b5048d3899c649ce2da68889c5714b0e424ad275285441924981f6ea32c67354fbec83b17fb8cd522c51efb3451767af23c39c0e546bc6c58bbb4a4ff2136bae7730edad00dd223cc146eda7d63d60cdc99f9af858e091208425bab2cfbceb88d982e0ccfdd3353600cfb34c7ba9ff52953e629be1ccff1ced8f2357178793b8316f40e7934515a1824d16e48ac06fe01a09636b557a72c33767484181a299505436c373a6495618cec0f48830e3787bf11eb659dea1f122365e7c48e61e282ca3d817ab154b832f95eff35d6a31f08d17a5a224754bcc7ad2b85c8de3aa585cf98bfbcc90eee8953cc76434d99f4439834faa1f7a0817250231beab84e176e05bf5d68271170e379da97b599d9ea49f37311946d49ac95b12fa0ff7e0d2312aa6d021fd32c186fd07b891fb0cd98a9379b8a687c1ed70dd0c3b4817a220a71b3913a0dcbd2b725d88384bfe2ce23b11f353d915e2d3bab1babf5873c06ef63873d258024e0457da1d40983869e52d13e7f10fd895064f83ce6660d2066bee4747c64b400c72a116e00627d9a851060275fcf8fce4da80bbcd6e3cd2ebc7fcb0607d5413ac170aecad167f5034da73003e85ca6ce89ffe67bbf60bb7b9cbf745a632b67d5bd83b61fc0031b96a2714884e26c6ceb8dd71b0e65d78c1eefc857f6f1d9e7612ca161040c3065b3ab1adc6aaef437c9745150dee4d41147e8eeabd27a75db2f3faaa69a8a79c29c84b709ea93c4ce2fbbb83c7b8210b7968507892942833634a10f3d74a11b7440a72d94a882524ccbe84e1d699d9b14ce39d45659832f7192260554dacb26b8cac14bc00287bdc92cd509ce985d3c44652bcf1f54d05297a772c659c11755ce84e102330b4bbaa9f867f29e94b784e8ee96a5c3d15ff886be654477b72c1d8efe0aff9e355675616b0b129290666a29a27371e6fe41767e3476806f82c177c0715cf821fa21423dab576e9c2632d1b11cc281107853831d994f612b5d4b8c0e395f8afb77529f8b083aecd0210410441d78eff8340f04f21e5a8d026dbc086d102841b74e1ed9b5a8182b832a0307cbcae67b42b19ef899c8acc1a2ef5290fbd04c85a11857ebc608f3db7d40afd78121343640218ba1f7228eafc6b887ed8960fc6f680cf0b7d959d28722a3c7cb1ac196d047ccdd3f9b659623d4bcf1c6eed8855afa9577f2b67953e254c76ab52e94602aaeab8c5155649baf0f9203992ee6d7ca405d0dde83f88d1f54b0f36ba2d08312bf5c2ff4afd5e5206710a68a7e1b01234f33d3e75ef60c5fd051a1f61a1321fe13e0ca3955babe06e870bbdad3640eb3858c41e69031c81c620619c3cc20639829640c32878c41e61033c818660619c34c21635056c1c2cc9fe8d21309280943d4c138dc7d378edb8b6f33fae8ae25d01ad828210e60d3961518efccab8302b86dc4baa149401eb4d5822109aba0e25207a1d71e466ab055b491edee5f28d607d9c4704490fd03d4665b3887cb5d55d9209d69691f1cdc441a6218b661332cd35a556e6d397d94d682401f89ca0cb43a849714751ed1e59cae74ca41e826211a8081c10408f04938901fa8af8cbf1a6765dc54c0382a81f2011c365bf48eef84c1a98bc5621dd26719fe54ef30a19bb8e8d02458954ba63f51ca3b6f7736507312375a93ca815a7c687e90d23cb33309d1fa92d1d8c5a69f17083544226a4d408216ca6608ec8d00aa7be01b43602ad1033c82103ca3de5547005ca2fc96c03368a144cf234f4aba1d7cca39788daece764b2bae007e5b7d541ff86ff78bdd489bee9322c02f114f218a9062ac6c6b01c701cc018901b9938eac1207c6d18cf1e042b3870d0ee972a6b619c9d1c34b93bf6df3930f320acdb2a23c8fbc2c2dc9f4071465bed45ebaeef28202d0d2d2d2925dff245bd7570f34b55aade69e4ff4b07833cf6d9e2c69e2c86f4aa741b345649e67189e6bf4d29a2488ab8d205996df5746c91d4ab4888161f8f5f0c9c21c9198d2e57ddf5765675e8b4d1b7dad20f1ca70acc5b25c80d274a5a992399bcd761482ec184a67a6699a19e678a50892a6296a925074c711ca343363185f520c0949b2480b8a22913cba9cb08202705fa470020245517455421368b91cb0e45833e3f408b45cd7d5d066509535aa01adb6fdc60c2c1c1db9cef34c22e08d5907bc9aa666992d3e06a9aaeb552400e95795eaac2c2d993fe00bf80460e08c80939494d46221f8c60e63d83cf9e1baaecc78c0c0376e3822025199b66daf6405087ce3b925678b854c66a1e8b32c5cc988457f651c0093bd10426706d16881e8b38a4498110b765ab80013affc05997805f32deb676ff3378f7b9cf7f99fd73d95b7f202020408606565555555454545351c0e755d979292f2c65e9e3fe97450bb1d90c79beaf57ade18448a8dc26030383535050402a1a0a0703ccac9e987c349fd7e3f6fe4ddf78d14ffa2a2025877139bb4cb2cab26355548c2b0fbbb2ec7d517dfd30f615dd574b77f03da23c8fd1df7f7eff1fbef4d7f87f519f125e6118e422d4c14ed33255e945124a8c6f14cf1687bacf8a3f6df6b1f76fbb0da16ef339397db002142664a31cee2e6ab8d8e62ec99e2bf33fd5cfb5db4e6f7f24ba8fd1dfe5bb1e291b6b75bbee2b1dc69483f12190234a858da4894e5ab786c7de977f7ebeddf91be7e7e1f80cf44fe08ecdfd7bf952b1e77ab275402213194c6ab4831fd5bbe78bc751d6a72e50d09457e8ac773477feefcfbecfb76f37b58ee96791eeb055a4923d62b6bc02ee1328890bc64a5ebfa956709bc071e6c40a4c70b2258800020105844f0beefeb0b40d0d0a3cb8d1fda1ba1a4a4a43c71c17b7b07789811cb67382e7aa408839e1b234c6000c2c3ebc5ede502a38b2039003d8c8aa2fafd7e9ecbca31d0ac2b0a9d42669c422fcadc0ed951034658350b85426fd47d3e5ff9c58bc692f24796af26a4141e81c4c406c96963626a188c8d711122464c04112c5e1e7640f173e4c0040f0a2e2829208a3066684c49e2c3c7dee2480c2f0d58f88809d38b7a82f1e80c8fdac51737471b0615275a1c99cf2542604cd9e578f24cc8103d6ae89a469d1a2e4c199f247018915e7fb24009c0d24bfdfd17551e650f643ecaef512e8dc90725fba7bff764deee7c731e83ae42fef1fb7f58d279ab6df479cab10d2bce4edb684cd394f5337bf5b26d3331692dd9bb87a29199ec037165d7d526ae6c2c0bf5409c4fefe1037127a244d8465fdb55b299926c4fb373aeed6b6d12edd0f370923e2cab6fbdf79d7ea6932f524ef54c30d91f6f7e457dc7251f33d55a1acdb776edae79d6b7fe88ba275a03288524f99bc83836d5f828f3f25bdaeb5abaae69966ae95df7efa692fbc2e75b9fb0c7f1b42c7d8d53528261b649556daabaaaa90dc7355a5b9e64aad64a7485cdd63659128d692d89da6ee9aa27bc9a6c2daea1764b33d5342d57f78469ac5b4bd9f82451528d5bdb844b138e4bd45d49fb5c69ac1aaf659ae7799ed66a70ce45599d4ea7b3cfb3cd59d5cce572b81cdac2ae2ea6ed76f98ae7a9b9da3993c4e1743a1c6d87e36c9adb9a6a649ee7ca5ceefe9b8c71b58d86f278311dddde7ee7793b9aa3e99fdbf8dc54ffdde69b6a56363deec69c701e8773aa7d2ef53cddac24cbb4929ffd3cefec0f333c7f886b4b96a48c9419213d69923f6b5640aec2d3a342f4efb10fc5f3c3600e5c189ad8971816238c81cc9e20a32abd0c36f3325f9a2649963f66068b9491a59e15466185c5a83022a66babd6e0572989e6b669ea9b8eaf6bffd66e7d6df6c71a6cc34af651a9a6d9f23dcbb2ce298ee3183fee76ffeb64ddebbeedefeab2deeffbbea3be2cdf4eb75b0eca3d9c87f2bf1ffebf87b2bd8f767272aae95ed92bcbbc9475f8ee8e6dffdfec7bce657a57d3b34de7cbb9ccf15d1cdf3ecfc66fdaef6e1b5ed3b5edcf71eeed5227d3b3eda6bbc9775c7e1bcf6b7c2e77fe0fef9da76ddb4d28140a75716e0fe32febba1ed4e97a16ee84e570381cde648febb47e0783426170e7637998975454fad4eda7dfb41cfc3f261c0eff2e14cef6ef67cbf5a7275cd763534060706a6a07dea2a47436e1d3132f7f1296319fa7f2545254becaa7037bbda75ebdfbf17c3928fff3dd39ddebb1a0704a0ffa6070cae785b8af1af6703cde93ef41e8f5a41a50fda03ecf43d9b7f387e5b4d343fd56fb1bd0df6efe567bdbef4f11847f0fe67eea47f986cda893949d10ba4992cac618b386111814ca54594995661ed3037591908220044208460811102430024208228498119111a207004ef1c9ead0b05c590596601e4788f09898c9ea877e3cb353c6439eccb9dd6468f82c8ff98e56d36597ed40f4db9c68ce4ee06710febc126ffb853587ee6627b5f1f6e402198b2ad5c3bd85cf4e4a1181aa87ade7d046daf3b5fc2b013ded138325848c4c8af71215e84c842ed8f1237f1d6d9c682e60f143e1c3dee7f6847d76a5bf637c831c71b6b597e6d0a375a36a78846edbe74057a847f06dc809bd91e1ebbac31df8e3d018c4b4c77f79ea82473700e788d3805c4173dd1773a0bb7ff94d9e2a739aa19f4a32674bbdc2fd452012aed6e759efe0fb09e5027d4a0b4d964171f2899656dee3ea8e275ae6aeb51d806dc389b6ca201490d88293ae249025bd14e67a21a2fa82dc6faac428bd287272478d0d6aa38fe5ad9d3185ea5d8fb724960d73086a32138e6b191b5cc5b808e09c08b4e90d49479628a04410d3fca460d703df5d68ac50f8db5cce270182576acfc4ce2cb5c4591b18c913dab0f99dea1ea9eb8e7869c59f523d692f0bfe1d0eb69505ce4e6408b79799acdeb104943915b7109a1e41285140f6ee0477efca5958717ec3317fc82922cb27c072d13bc8b3b94424e39a3da2fd839c5f8a7c0d2fd34ee8f6d1333b0e52adc1a03fa5e5f8a41b7a4499582c3aa3eb40d2048d029858fc4e72b6ae11c970351cc9764bc7c32a2a1173992bfc12fa4e1d9a820fee1516b2e8b7f180f6da772e2bc24082bc55e98cc168743514c96a8b7c02792bb618473867f8b875f89f8f08f237d2b5231c448db578f835582e20ab920fe2b3af1a3034e9d902f5b3d90c63868e862af99a481ec154e2ac43917966d426e209b28a5951c95445bf07f7122c15de8f4550199c5a8ed997c92e169772114bdd4c67621e826cd9ad69d45f4f17ad54b7c82842aedc2d6eef484675dc818a60376dcf663089767592f5d7604cfbd6f8e05ca3585758e78190b74c2aa0da50568d5dba17a760c55a6fee2f6ea68e41a4d56584a0ea5f6c52019ff26885195ad46cd0a07ad6a2041efdd0b37ec839604e50e6c856dcc81cdcacfdc3cf2b9ca008ed0087620b87eaa4997c80daf1c1faccc40c5599032e57b82287f156be733071174abe5bd59eb351d4f09bc259465658307d6041d9389361dbf0a895a61825a6615ed5678429ce29cfc7b32da8d9ba7031a6e6b9c1975c9370ff13fe240cd826439629faadcd461e938e955930c2cc61fe2d2f76706ec874c3a9b317830ebb97611c05781000c82be1a4741128e126714525fea91d837ed85a8084444ea8ed1ed55e9a5494a147b5c4442ab8c69ac1914a2789b2c81c68f0ac0083b1e1b678ed00ea02cc3561b9db2c4a6e1cb216a903603265b8adcc20dfd4e2b833f01c02bb0fd70926e764e210945ae1a69a1587a9057a3ce852c2f7d7532446cfe060e4f967efa297873c7ba287785aa8b8337d07fef3e000ec1b7715d86072579577c5678edbf87315d0121ddecefd684efc6830c8c505c620bc9a640695993aaec2c4a3dafb450d7c214a34bd37a808d503c7a9ad18937f1187e8b8c51dcce85fccd3feb98e4906d68c5e31ad470a712a0ae25761409ed13fab5327830c2d74978efbd0ec05e2a9d3cb17edbbeabd7b515625dbbbbecf10450a88ace042bd529359d6b44b6cc978d012434d03b68156a915b068488d14be163cc22e625417d84a34e44ff04fabfadde35a7419551bf122675404bfbf0b6785c6d3062e7c2e403ab8cec084793e4b00c7d53268dd9710e24631e5f3d3782f25f4cce11c6a29012e3d33f8df2d6b61ad29985130f942e0f50b0f297e96928e6908eede69acad0440992598238396bd66a98b01c0c68539d967a34227b582c087d12612874e7439c83481d0202616fc618ead6a0c2ee87600690223416c2cbc931c1b97a8242ed94b94c962c1119d0e9026683480252ed11de4dbaca212790d0f51a7268aec642ed5e97bdca877a51459eb12fc943ef86d6f6fd217b1eb7cd95dc5d4dd88b8350647e76b512d838513e4adc9cb388c46574391ac3647006ea9558f22df32741cc564614434af9471d29b9e1f598327156eb1ca875d86ca4b47e0ee2b2ce1af807b931dbbcac7637c159f5ca771d348e4c1122d35358fb5770d55454ca2128e339dbbe9992e4a1941ab1257386b87cc5f3b5db205652851ebb7fa45e62a734fd445af85cfeea2f61443041893b9bc1f4b6062604ad2d551d5d8ea0a1aa0518a08165ecf429bc8c6caddae272d4c0035a7b59d4536886419ea27a41932ab1d5d11030e80f24553586664550866aaf0ba2582249038e423444b6ce6eac03b9e88e188957b1a41e1e8c78b8c9e559fbd36d514ba520f5eef2f998866c12ea8beca22e53565ac2d02af3a735892a040a559c55058f00481f50a4ffd5539e295dfe1d456ee88107e49a29564a0cab5a48454e95acb0b28205db1ace41848dc98600430a7dd1ba13e43ec1e03dd3cd362e31753c85b35732ee105c62313d37d5ed44b909e6a06576482379491079f061c6e04585ba90d518bbdbb649a22091443b83b44d3f131d0b6553eae059246106db3d351c379a959f024f547015460844bdd01bddf99a2882269c47844d13c7922f4c972cd5b5d242a3f0f553771d4c87d40cd9b976112efc0232a2a94e7593c7914c9566e325faad70a845454263b4948863cb085476f124902468f5a32cf414fb030a397dcd64b90370af8d71409cb766cff246377cb1fc9284b12724d6af3c0ac8c6b5d6c19840f944befc76828e22364c810a330a21547c60f80a583ba789e2a571227333506fca656a4e62ceba4580c4613c3a24727a4d688f1e004449a25676cea4dc4535464e7a57ab884ab2a568d6e255095d036e518de8aaf4cae33af159366d88aeed1951ecdfca3dceb81a50b26ff3e69a2da55d87e381388cba39aa5b26e8e879b79122f2dc6ad81b83cd65c5474679c7bb9393f670f5c48fb71b0a02ed79beb503d3fdf0e9f6ed4e80ecca5f052ac6d86e20b334659dc850aaf62fcc247b24c3209194ba531bb8535f1017acad3a38dd5464a03d44ddb87ca9546a481a5fbcd57662b6c9abf3ac0daf5e1eaa754cf9608b9ef2ede70902546a59a5604d6e64e9271a4426bfcc93feef6e2a80b2552d2a4685580dd4c851ab2a5bc3d64cc91b129dcaeb380120be0a8412641bfd4098c3f439f5deeca4bac56499ca5322f559354dd96426aa8252f4bc405b9fb88013075fbfcfbbb97be937443e6da9f2b11c458c4477e748911001a92607808ba9b4e9e3a03dd5e6af15b80372b42ae3eb17831dc48004b4beea4317cca6f0331c680df0cf54955f3cef01a06165ba09f7f5b7baab5e383f1b8e6e6d6ed1b85742605590f4ba7f20799a4deb3d5a8c2511b1d47714fb20b9e44edba869c104bfba275aaa52df7088b4dfceb20089d9293116adfb766595a174769cd69006a2171a99baf87e49e68296526ec21fb252ab591d2c727a2e0421db32d1abf408ebe4aeb9c2d05057212c83dfe9942f2dc81331e8ba5bc42b1bb7cb0a5623e1fe22ec8c5668774ac569d2e88f2c7135876727fc3f4e63cdc16b5491a545992960cdaf6f13c8d70abc9df14668418af4a919116da0ae5774e3f1ca9a1891300ef9294823917b15171b7af76823ab3754ff5f8d54c8ce972252386dd2a2b5ccff60bfa52451a9949c68ae35482d55f9cbaac13956379f0ae51405eb4011d80dc8fb28cda5c2e985cd03e2b17da74b38da8af5a9a4b9599d33d2bad45459bd20a751523a5f384597856966ed1d7a2cc49cbaf534b2a3166915003aa99e6bfe45b130a831beb144676748f006a5e501344b05ea50300ccf723897fda062858671ef16ed0eda065c48ff90d981ad093417bfb8041c927df5e14998bfe87f1b31f76bb652284ec7171c3b64df696526eb9a59452a61d170125012801d2a5757a24ed8e1a574a2975cd37d7b21a37f7a8b9d6a8b4b5ceac66aac2734b89f2c86c91b49a4d2dba8d916747aa6bd5ee61ac1e9950f5d8b015821de5554cb3284356adf431ad95552d51cd763660462b18851fb96b0b4eee1951d6c0cb7b563ba98c328b2191741b565ac35a6bde3199c1f0ca7c99ab1348be024ffc1d29c5dd62c975ecd69467a85cc89c711a9933e66e03cf2c6b2c5202e5a00af456003d325178f603ebc50392e64c58f6a6a5077cca18277628ce2c638c5d96107982303479e02e766fec66138da68c3b8e93b36e3517c5183ff359bbade0da8feb7ebb1ad6851ab4c7cf5d3143363765dcf0b6d4dd171376f7b2d35b5861359b72dab1bbab80761de77fb5ef4d5badc6d8e635489c3da594114aae19ad17a08b8f052b858f891e12028c028800e08167c34e069d0b3915bc08ab065d10972003e101f737d0f6683cd5a3795a491466d265a56fa0c2b28f32eaa56babe66737771e6bb5d7c69bb55a69b59423e2fe5a6cf1c69d5bf76b6f959be6499c4373bed2cbc909999a56f799b81040195ee926990bb3b51c91b4d7bedc566b55d39fdb8dc8588e150815282c118a975949de0e55bc4bdc89466552e4d3b390bcb8c6697b58b36f356bb3d54226ed9b049c0133a469924a92289b524a279d333e8d1453570264e4b455264f6f5bb64f3f2464bf497310e36caab91052d34d966019951f40369274896b3ee046a82663346e6a70a664a66ad3353bcba19a5936677487c25845b6c219c7c139ffc9b838a5743e753aa9537aa404030a2a2932cb3ccb0277031fbc2fe0f1a72fe5f9c099c1fbf9f6fc15d5e7eeb3b48f4f8f16b0a3f3dc666f7e000f80274cd2b8ecc45d9fe8e80da340b6a6759d95d65a773d4b681d865a7b9cc2398759af565ea8b36dbaab55e8da579e73ae99c68e8a3aac4298fb46a1609b6fd8f17b0d95b2bb4e2afaa29cc74945abfa39f8b117c270fdae6ad74842dbccdbb6851e5e291b02c12c92c78811c3f37da46968a6d7f0b692c7149f18c972c469a86992995284ca500e1c03fe47d0908fa0a750128d944cb363152c3f92cc4fac12857e608e644918a742471285421f62e72b79faecaba1fe38758f2f6065093e8446af7f422f0c6dc68dc886f49db1565cb0056b5991bd7793527e92525d9a4c217d3ba936e9d4f4447a51a9d4da62f60129a02106a20a00210035e0e9a747a899fec62bf853c2a30a4e983561de54e18c73c6787b2e0ac7711be7f676f7feca5a8c376bdf6ed7ae38eeda8ee338ce99bcfd7ffd7afdff4eafff7f0b7bfcb25e3b6c365eb7c9ffa53d47d3874ed2cb99a8b0878f7a7f7b55af51aed51246a56278ee24bf22953b91f2273cde8bc98b7e8e42afa793337ac919e9a8fd5f550a2b1ad022613d3da09572e8c9ea461feb143a20f18941efc3721683fa417bc58a12704cc6b66bd6fb7c247365c86eb17933b5c1256fa6f68337507136843da5d4632b685395a7b889fadec10bb2b06cfcca2e26ecca7a5559f37e7800ad564ba7d56ab942578eabd32e1dba5ca00782ba0bb3e4eaff80783dd7f3df7f1ff7fdfdf07fdff7b55aaf9723f161fd7505c158ddb31cdb9e9e4d0704ed0d9034f7f7a0b6d3ba17045b2098813a86cda8a33617536d9276035364101c208d08845355d123f6932354013909738a19c2083102119940442690400211495290a40375648a271416b529ec0bb0ae48b7a64ee26f4b088cb0d8dc4b2b0d98f3dd33168d43f3d5a1cfd62fe57aa153c1ac297afd59440cdecc80ea35a87c721010e797e34b0e572d506febc4954e72a21a737bc551163101a82651ce3b9aea656c5f26d9f469bef5bc11b4d7a54afb811a9bb919a504dcb9940859644dfe9f4c88f2512801f66293955f8c3ef178f0f0fd5d119226679809bbc023322221c2af08aa359667f76873aa3f4423e38735ca931db5d8fff949882874f16bed81b1204a3c136a67baa2ad390cd49a98d5515414443027f80a867a92f12a946befd3903f21c52fe0f63d900330228403ed54ccd598cadc10833dff9b92b55c3c1d0da8ec6bf853896e533e2c88c01d8a2d976e35f1a411538d14cbf56f14a742da47a76176559adfe6bb6652110fa9a36439c4b8e095b25eb9446a0767d0e34f3e2e0da67ec28698388e7788a084dacb0dc1b4fb9ee22413b1896c04601650db353fd1b1e72beaac714434a7c4c7a7f6922f747ef96e61df5ef799ac64ee833f8af208a21a1bf4b2f09cc533ff5e7c2d019e04cdb06722c67ed3dd27a76208500a8c5215bd80eb10f8505940817a248184847e6e2a890082617c134474e22bd53d199fc5546272bc252a7fddbd9f695d419d52cd67f75c1ed30acab20b3619550fc06d262568ea1cbd7a9db73ebed4ccb2c20cbc1b48f48820ba4f8d230fd91fd7146d14e1a4e15617710b1d4ed2260d61fd418008b3c5dbb918aa8719d484b321944381795450cd1543567d4a42fbad8815e9fe23c37282471d5f8654e6edba6e0e3502381098b04c7ce01f52e1f8b18802face2f93cd00f1a71e40b08126512dbe5d17766ec96d6602d52553994e7373c15aab4bf6102ee9a643fee6c8716687ef8051fa9d84da87fbe140cfdab19d86d40570d7248a7322defa8d31bb1b75f30426d50751e5915aba6452b4ef9af86b9a42cb44ce431651021a87f213638a17d6bd2f655f175129255127432bbff05b921cdb860bfe8e072d57335a0cbdb542aff0d84ad2589774d1b3fffdbae8b189d2ae21226f56385389acbeb1b26912611543b29868abc91632b569a474b378adad5a631457cbaa5d5681c20aa18911c45c4fd17c68f82762c2e767b4b486869a284a382dc94f8248186abdcb084dc3efbe8dabf1fb30571ad96bd1b249b90a067b57898426fa2134556d533a0a7fb4aa52e2faefd5b86abfac022529c74aaa3541bb8a93a17dad0676580e134ea8e85727c80c68fc03bc587669e0ec3057d9874590100d4e39a36d2bdd03883d492e3d9032aa1619fb1d69b479b59c4296393940d10df04c121733762cae7f379e88717ab49045821e3d9cbc19100570cc18572bccc566dd159229222977105cb061f63690de45980a1f6aba88a1a4e69c41a8e0d000fb0bf7ac9363e24b7e900035b6ef351415571602959aa10e212cc35c0851f681c1f790df62777d74d1451adff80e55b704261b613f71fc5b849cf7b50c9378fe44bb92f69fb153ae3f73a032da5f3e07ed5d01fca53d48d2d0be10536719ff4c7bcfbd32ca9b8b3ddf5e51fe04c1e13fb2457a91e00515d6e0f34fadd5370839aebd575b6fa789698af5846f3bf081b92c260ac9688f0e67af52f1ab834c2ab54ccbead25e186cbef6fca51b7d6ad19d382d3aa9468e8214eebc7b0ef0f740d9d2845dd311a8533d7c9144e015ca1984ef2a584e4cba0d98d53c8c111ea3c8065465be63e901a2c8c7d594f1a0dfa1c9bf7eaf4604567b5674b97f1424394a31b2ac91cd95572c6ae966a6be394120a247c20d2807248033dd82787e901f57defc13f97c5e3bd98b9bd357ffeed8e5d89aa726cac48bdb00a573b3238dcde9786bdae04157c43445c9468fac6da4a765f1bbe6041435107109e88e3ab6277c741d4ea3a9184edfcf5f00af0ef42c1f3de82ebb7cc574948579ea82021dc401a4c6116f0c947a214460abe35f1badb4bfa41f8e8fdaf486db89f8e4093c2f5a5ac9965d46263bca485774cf36d4b2fe21695567d4416c3ad226c642b1537309907a9ec1d7fe7b09a0b21db80d5ca3c4feb6dfbc444a76cb86ffd5f0488a1cd5cc61bd29f64336a5ecac9177e6dbf33114772455c740d5bda7e118fb2ec842aa508509d6b26520f5f1bf604812883c001329c78b894864228158cbd285bc4d9efb76825b58eeff55ac216f92ba2cf693c33648fc1ee7d060ab01605740c698c1cd382035c3b262283bc69380392c6830cebe5e267d1f39dc93388f9a00859f686a6f0d36003da6b66aa00f2171b5ad054a3811f35b2d4885d201dbeec214940c379b1ca6e0d8a0df48e10ac415821cb6de442201762fdff53128d1b7b14df07beb4510e020450c072896594d8154e64843e94d735d33636db46a0bfb0aefab929bb3c3cda371840a497f74663ac4bb4065281d1c27f800a7ff1ce860735fa95fc69066501621972520739c0e53af790619c9f93dacc10a3c7907ac864bac7df6ea92b796ed617922ab2b21218ae179e8358157806653e2d077dfd7054208b991f27ba9fb5c09471a81b52c824ae1f496e902bcb2e5aec7043d7b43bf09da6d281dc955a517db241940a5cc7cc2814a610f013d1e48dc6cd210a1401fd2cf9d1c868f2d92801970ae6340ca8d7180ace26904a55ca3d10f6ff1c5aeb184bf8c9545f81625fba6a14d75f76263b822f5b78172bfd3768584a058cb3b537e0d137fba2eb98a40d3a6f37a82a836aba01820c671898462e8dfe6abb25c250cfa87f0a96ab205dd6b68ad9ae6e1e973b6067bc7de1035fbe5f4221fb21cfafaa0f5653c7c22a860d88a1c07311f403c326c1badfdc852a93e5271aaef5c31c99303741b843887eb2193dcc9f09d577a3c74a08deb6b553dc348852268b55f2a1b7a401d39a47eb4af7ad2476161cf324724de1475858cf4eaf265cd836e2a12c2862211c6c5e765aa75c0e397df905600795b87fd1176ab546e866802d01eeb9505003be0e5c24bcc2e14e1aa6e00f73a9897b87bcd77096db943aa73d410511885188da8749a9df7685cf722610010a0691383d53ebddae7f7200289b3f5f00564d3e2bface563cecc40b6a3da3c3a295e4385cd5fb9b38d5c0373f7af5b7faa209aa227b96ce3286a81f250cbcfc593bd0921ff28791ee3e96eee63c6a77ab0ff0875258d132e934bf226bdf84318b4f0e2517c8498c82d9f8d710fd253998c0215896aef995e156bfd6ad3c3dce725da7ba96c7158435101a36d27f189517fe025e5710bfa788b41ea796179a3bdfca17adecb0a9819743000abc588dfd5dc854f86c744665090428b42de847859b42784179a634a38d72b93386ecb9720e2962e07b9783a753a77846bccb8f406a23a0b352da1b38b84fe57566a79b9ad471fa172c6c4a9c77cfb802413c055e7b744fdeacc61f319a3f2edf86ba300b2cce9430b4c54ce0584008fff811c543a63303c4eadc12b527a3c1a315c60d6cf92b596c8dd6c68ca987d883eef691a0e1bc8f6a820b5f70646cb3a80299fcc95c5ce3ed0c2e08d48b42fe28f5068a5b043a8c55d191a04b14570b064bbe407b7baa05ec2f91aa8b1a25044ee502b5c39247a35631daaed9c5c0e741ddd28973cd048ac99276056de5ef41b0f6dd232d12576e57837d63de9f9c77e740608c0b1a1622f84baf7f3e76b94d83951d516091de2535722e16e719b82de43467d22bacc1f3b519e025ce33ebe89022790c114414678e7f9d827b2f651b2f2728c0741962482d27d805ed38aceae52f148c1c5a6af2c0ac11fa83f9b13d6f9378cd21fd0ade61818df0a9e9334cff154ba75ef5ab492ad1fe0708f2dc5b69c99cbff9be5b006b69e40aaeb0d670ab8a77337c8a78881e22e2107461c4353c34fb7ba64a6d3fc4bd112f0029cb45810f1ca5833a5966fc0ee05ed3aad4a75842bf5afe886024f12bacc9365f3507eb3df9b9ec17bf3f305990163a3b41a4fb6a205ec92df6b9225fd2ff0ddbd218a057d87d08ff8c6d7e19eecc2b4beebe86438e61a9a8de6fed0372b19eef57347e341bad877623f227bf36a2e104bad1b30e5234ad600dca6a858381f79846f0fd26c20cb7584a6b04e72f9268740281ec2a026814728aedfb88d11c54a6a2330d9fcd9c3acc02080b76bb97ac89bb4d788d897baaaa6f7d7b4670502d8005b98c45845fd003bf69c5a44e7d441ef96094234f8581c5518d72185ba48040490ed862a17e4ff5cdae2f570fd0a886eeefae8466f9a3b5f98f1e3bb341218bc52e1137a81e426b909979aa50d37006752fe3696c510ca737a95c4a0ea6f552750bc3d8901853a0499030d03bb708f411a323bdba80e37c8f848d79f1ada724b9e66c8456b468123afe38755c3dba9dff2e1ea7891848e224fceb80351c37342ce5aba1a45ad1c1eeba24f1106569c2850693d29ab168cff97fe63c1510eed234e6d22401a77675f0c46d46024f33e49f967daeb3e647a7765397a0537ad2940f9991fe3ea63b58c274bab5f375099208cd99a5beb86d4e47c5b5b8269b467354a629ae1c1f589caa04d0d3a06897c495104b8a783d97a4b62e31053330ecb60048af5d3cfaf9c914263e61264821e2a5831246ca1e295a54cafec1a06e7ecdcbd8ce9b8ef0223d3fb73147a05161e235436026a617d4553209a21a503436324558c45f13a207fd74e027edc6252eae285571e0ca2bebd36caf26bbdf6ad42c223a47d8b55000ffa40a295b10143436a9474514da7c506dbf73c61ad67049b259bec2de596494a99524a32750445041a0490daa8c1700460c7fbc8b2207e98000c10eaa8a315d63481388852b935841086e12c74e9b2354dea6c4e79e4e4fc0e0edfe87feb8014ba6a965ecd8448e8993ee599d560936b7497c69e13e378c598983e5617e931406f284114b559926f4003319567d084aa2383243b84abb300832d2f40aa3b2e105384870d256180208295ead3431924aacf1052b072440a91102b34212a52a589912db6f038a2fa10e1e4a8480f541829657aa0949054937edb0fb42d1624674d085d48a255876bea4e1d735fa8305ce6a3c367d94873468fc8ea849191bfe1e156725087dc72179985679c4ea7530d0d3637324e3148703516db92dc95d7057af9fdd28597229271bac90b062c8fa1b633f0bcaa697d09895ca28a8a84ea35ba7a38285b17f8dbbbcefb742cfa92681334767031dfd07673a8614b40c413014b8b2c26456ddde6d124add8d9792a73577b83ac3d5ba9458cf8828a65839b2b696c104919c96d1bbb856486fc7999bd3763b30f04868250274f6a6357a9aa5318377bc3633854d89edd18f91ed58a00a03e089ff3c1b7780248e89b0039a954f4527fc8ab1a553b09d935d6db5bb54b5cd9aa060feecdc3dd39d7eedd3cb4af1741ee3efec11ff4ec3a59ab8373ee5852984f8ab7b5e5ce7721bf909a75136c5917d9b6dcb2b9d9899f6b58537aae5fa7020a4830a56664c0d41a8c8cac28add71cdff5e6cbcac9b9bd6b3b09a4a8b506872ec6fee3d8f5d66eab03f7e8aa070fb77652da76fac5c82804636a573dbaa3734c9698876aead46c3a6746c9f6d9ab7c60ea02bf647b1e0d7a1ef41d855f092d5eca3025d655eae6c38886063be2325122aa5d81f4b157f0b11f210db121af9a145cca47be1244158312a6e654a42556b8f8ffefe17cefdffd3f654251a029b168cf63548c2e98d577a57ea5b584de506498040b952b4c5c3eb13001e372dc0292b844857e5854e8c4a793f5acf93f80804aec1388a019334a255afac2e55dd5e51ecdbcc182666885b51e1a3a5384961a8744cc416b6215bca1262d3116544383806e3020ee0902b209a236341898c94a3330870151396a9a3459d003314383aa4c28c8fa31b3cbe46636e9c3b6a787565d6052288498787848c914f418a43818500c4c897c2698e2aa13b952452086a685c7e915a3312318b3c4e80b172c455a60e643acf04b576e5ea66f0105acaf3a0ab11b97f1a83944010b51d5b068526d8f0d75194962600f0333daa1a79d302576e89981e2c7a70bd763ba68034670b59e25d467cc11f7c604105c5850b15285b42d954a3534a57e458189c3285b52ca94ecd0032b0a946a9832a38a5ed9922a33c24b5990531babc3668b016a51574d208b4eab9a2d6966e8b97281744dec62ffef7710219fa73ecc00d7caa73fbbcfff45d5df55ce1b5b3e4849459e34c6182347e7284ab96d71da6499b1a166a8e663337586d24003b576a7555515ce0c9c1996cd9cd59ca56933696c6c6c301c53b4c1a14e00b0b101c0cf0b4e1b6a0361cc1916e551cdb0aab7b1b1a9d234677e782a0d33cd92b299f3794f0cc689c680d1d4652a9d7a0c0df330f343bddaf156ce5903d31aa4bc289d5f83940125ab6495baa23fd367664edf517191a96e654c51b70307f589dc280f93fe8f556a25ae59f21276645e7d61462e2397a9c4a64b96b052c9f2a166eba223e3b132f0194aa29632e63931acd5065fc6a5855204207791967fdfaba1a888ed56df58f74f97adb91669c4e0a3eff07914aa292715abaaaaaaaaaa4a56c92a59150482a4e24329a59452ca6a56b39af239890fffb918638c314649494a52d1bd50d9e873ad82d01b42d88e10b3deee818c18324e3264c89021a30b4db6d65a9b6946369b9c550d07eca225b950ae49536928d324497edd86f820013424888850fd480d61faec981b4bdf67a69271c4a32276e7dc069233f70e9f73bbfb773f927f9c3711fe2148759fb1cb1ebef68f3574ff0f9d3364caecd3315b44470dae63a297eae005c8dec59877b779b9b784f3ec70974c0b71224826892ff8ff626c3e7391af46903c24b035178161f8087c7bd49699f7b5c68c798dccccdd038875bcda94877e5f18849c73d471ab443c3ad4c8405bf6f62484a7280a0d2e9f8d3206a046af3144e9410c7a6025493e22c7c1096890640657f4142dc181a668091b39a00728080512c207a4408fea00d9d80cc78e1f6d434bdad2c8a0c411a870310527aed004ba432a40ba428a142170d181187ae800aa3b0f317b14726bf0345898e0521d038cb876edbc40a10a1f503fe9f4f910a6f2334c508327533848885a029892032d4ea479794f4425891951f3d272384214c30a5228d9421624f4191111d315ac60833245550f9ada8e9f1359a6f0298d0af182f02c9e70f3d98e6deeaed2d8b191a3c373c3b1858f2d942d405386d936d9274dba4690de264160984de25943db3dbef7e2123d8b206a6ace4979e55c52958b5146a7a2c7f765892005a2c54ab1c3439dfe00c2c71094b62d14c965725d9ad21c1dee8710fe11418420d2358a581dde8b52ca38e9a3e294ffd4c7ff25727660a45ce79135c5ff1cfcf858f4df9f1fa417eac655ff6c59c8fc29f7a779e6ec1915ea99e2a02f0f23dd879972292066d182b48451150016aa16fb1489cbffb3fcd147207b2d5b0022ae267ef44d1c35e21aaa4230b6787174e35c3dc2524499d2c52737894d9e48e1a178f3b675c3a3998ad10ecb7b13b30a342e24782e6ce91a1597965f9e0890aa08925025dd1eeea9265051dae3b02116f3118112d87d4ca9646fde17349494caf42cd9a2875f3005643686ea0d0c8569395a406157ecbba1c7500b1ef9981c75a3004af735bb61739fcc0d8c641e7eef72463e77ce9cd3e6ecb5035d7b9cad141e7ed2eebed52a619d339175cf46da8dfb34064f5df7f6a3dd8c0477bb7e8447ddcbfc9db713df22b0112a3bc63633823a76ba7a05d7976adeb51098d41b786345109ebe77fe1c5be15aeed6fc8394d2350654f45558cb56af348c7febd388c52a565545bb6ad9e3b9eaa188a224491869f46788b6a5ca932526fda224441547f7b0646b8e521c31e813f79d0f6a280f8f73594ecd099ae05c27d7b61d21d12ed9bc9d76f4957e5c82d8087d6d773f9feebe5e97302a33336f9a9c67a6a966a67a34b2da4af35a9db141074e699ad2747ab81993a63de44ea8ad273ca8520940450952be73a1f09326eb8fa2a8cfb9cb4dedcf63a6d46ccb2a59d69cd59cd4b4acd24f5565dbf4b2b6a9e7b6da922593aa9d14c5a8c72e8b9f16d28a2745f5005ba6406ac7ecd8bbdbdb714be7defd1a7dad7d7ccf61eefd715b5457968cb49a72a9f8a729f93d218dea00b65404e820cad10efcb9d61a53b7ddb8dde0b14b5bcb1abc602bd11a970956745e250c4856357e99938ffa9f7ecdb1e93f97cdd6163b1664a952345175ac9071f4276f3cd5f4e0e1ce1d73d8b4df7bacff3948510cd9ad730e993ef7dee3216abb0a5b2a4f9d52adc8a179f9bf40b24faa3948aa348a309236f5c8ff91ffad681e56074c6a026a16558a29aaf4ca43cd748c4a2c07c2ff183f7efcf81f3fc62bb6bf4cf1a329faf0f1322d86d334fe9cbbbfcba4318cbac78e56f889b84ba65f9dbe4dc46d62ab54ab44e49d3e872d132ee85e61495ecd4045b85728d4b2e28f1979a856f5034b69a2573c5d33f1a5b3d3c8573b37e646cffd5ffe4fe9237db31f976f4b134543894cd78ce9a2a1269a8b9ae80c9552d288e1d9d1698a88cecebf9e3b3a448ee039c6c6a3c12306a38cf049837d34613af52a3d0533379b5b4daa8b375b94ab949c548726e532a914f69187dc25368787d6c6b8a2466b6de48d5da0d4d3ba9b8ab7e6add9b0020b0c05b51053e7f4e43e62c4a0702ea31263bc80d0036aafc74daa02027e89a72e928bd436b4e6a48f7cd2b9e63cf3f9953f07bfbc6523c84582d5ad4c576eb9925ba7d8b6de813726638a4002cdc046bc2efa08770647c2c938a0f6e205212953db87d9311f21ea073a4332c45cda42406e0c2e6b06970caead3d7060071b056cd1059c07e090c3d10db41c1e78401d82113592885a0e97b5c05bdf00b44bc8cc21b2a8ced1236d526aa96d5eea6cccbc7331e943b6dc1409dcda655d10857f6e1087e2c5698e007ee40411c2b5208be35d62777bb76d7bdbcc1208890a1424d490339fa0ca94b979dc0e1d5713b11baea875785fe6c3fb32eb45ddfd82892a13b51d2bdcd224b89d9fcb131f25868005602a284ca86fcd5138f4751c8b71cef966fdfe81105a3d24a42c48e3c7cf74bce8e247f8f187f85938b3e886aaa1eca79a129bb1a84497ab5cd29a013a7a89eac943455d66b4ca6e64e6c353f810f6e887ef5387a4933a8acab7d527a362466514151f3e1e1a366e502cbf74dbae51445179c4dc49cea56bbc28f881a785914097b8b5b6aec90fa945660d1c83d65144f272b3a63cf6af7af09f8abc5412eaa330ace72b23592fcc88a8a9af1d33e2b11313a683d0e60d985cc185ab5ca94205536a6b4fbeb4c600d98eaac69de4b5b266895b9bdc7c6baa641974732f53e7247600be3b05cbe59774c7b2b74f98d4a5745014e5339354a9547acc0a74b202dae9ffce45a3e606a5a82d4ce0828b6521c9986b2f5c46a81b3972b51c1cc87d9b8fabee5cb7e576bed51d06d25bf3c6b3c343c34690dfe59139bd4d83e992b95ac341c7478946336f6643ddb921c6db6e73cebaf15e97847487ad61f132454388616fb70a3939d5bd1de5e41c7114896b2a6ba5b0af3b91643bc4c673ce52e4f50d21660347bf7e54371aed6e9d6d70ce6f642ec70d9f39bdc343635673c2291d9bcd58382767e7418a52103ed6b97cb7b1251b9b1b81201bc78d1c3bee4cd99be76ce3ff160448101170f8ccf4e4b84cb63073998f1c8c04bad83bea2e84598ccfcd0209e2a677f8680e3b110183441fefd7abc6e48ca93f8e54620645dfe4e8f0dcd8683f37726c19ba1f57445c88d1c11446a042510ab62861d1c5134c10b1000a18030c95c0095ac8810fa4bca0ca107252f0051558b1650b3050c2e392008513a42426e0220b4a88428a132c4f7012052ae40094c58910bc70820bba90a187275a90a4852ec850492a40e302a60c482560724517416441cc0aae90e48b2423c02103434aa4b0842048810b30f001188eaa143581084951006147037c830a2b3d3802d219c270850b0a4e8cf9c2092f54b458c10d3e7ed8e80742ab2a52bf3f4b7d377593caf9a79a8d90729422aa9c52cc66a831ebc5ee4f6e9e20870176f3055af71e4a2c3f40c27118ade13014f5eeba9c51a25ae314d98d9c27ff4308bfc0e7edbe70262a5229a9f8f3a2f639018708dcdaee7b73dbee2e53b1ebbcb8ee2d346431ab685a98401ff6632abb18815ffc69c1caef6fab1807a79de67c43789d24b674d26c8df91b16ef9922e51c85ceb97b2a7279fff9e23e24b47beece31b7eb57daf2d37777779d77ef3a2ac2f8e55c341d7db72371f7475edf75a71bbf4bfbf63677b773dddded5cb73733b76efcebaad01a18f7f676afa297b97b5b0c333337737bb777333333b33b73f3eef266b91c76a339f79a73cfb923ea0febc16bf7d461e4658f23919c3f8c6b63edfb7ab7ce8a377f2648ff54c3ef61a9228bf7981f625cd8dddd35d75a6beeb435f7e7de5cf36eadb5d68dba221c5db1e2fcbd6b733a6eee15315f36a91647e5e56844b95cab5972c5f169ee16f9804bf37749c56df521d60e32937d0c21840d24fef083d7e570b6f318cec3a873fa0e44040193b9a1730b85cbe1fbaf7bd1504ee6652890aa153015d352b7e2d9e3a279fda0f093f73355f5de7f3543f39ea9145fd5ef55558c5155b4fa8961c1883133f3fafa9aaf6ada2463e614a38251cdd0d0a73951f9249c3f269c93e92d8a93f3e80e0f8d9e279acc67c6144bd7b62c800401e247f5f6ca4aa518a93841972af9e73b27b4ea6f7d6671b96dc2b536e8d3b823023edaaaac5ca93e363a879577dfefa7306f77f4fdc1e71a0697b4c8278e2a0d38a8e2a6789486c24fb6bb9972cd41dad68c7374661beeb4322acad63c1ddcabba77b59392afebbaaedef6d203f2dc3a77fe70f45ece39a6aeab039b33a8c42d5df792842000f38300241c8f484432494ef45c0f44e6908b14e7223109539034c610638c212330000002000092060c00c26a743abe966a0e552a9b729b2d03964225cf793ed41694c49d7aae8efe286b670328199986beead63e0c8a9c0cb728be8729de02b6461eefcbd9e667ecb4404b4ba2860f7fd91b18fd8b3f494f08309d259457fd84735624de6bdd1df4f0f13d0f26e70dd201216afb5a44e34d3380a05b703dd7b9909b22d9e6d56a23ada0f9416d73f29e694a14d830239a9a30951b925c50c2ffed7daaa408acc589cac14f81a95df4e7bf446f32385d0c62b7e818681e409e7c9f153db3acf71629ca1e3062db0938b7456c6819d6126235bb4bb54539fdab48f31812845b3c13825572058406419d9b6cb9ea0ceb71b0d7f25c45e72d7094ea45da9691eb900cca35ef27e12b843506a58c740dfa6c10e76312429e87c397e26d9cc170e6d1296e3f164cbe55cd3038f8106a80ea323585730b2e486900edd714e99a2d8076dbb0b4a2701d686f2cd6e46614ba7f65dc256b9e3a515f8e91db21b0023ac977628aac3a32077e474ab18e411a6818f37f4091d87fa0111330b283654bc21d8b586e59ea6c0e643455a1f3665ccf80dca37f74ba887ffb83ea321e36d79a37963506b22aa1b7f6ba010831edd64c53c6637fed212865093a18e156b270e80415d699b3f05a848ab244e173701704f68667ef95cd5495d117d171f75c1c89fa9c2137868b79ad71603e055d055be1a35e9b7d444dbe97d681d27a6001fc1d23b3221bb41609f10f6d447fe61dfec81767508eb1a21da2d0a9e7c51a70566cd124d4f78b68057d7cd8d89973c62413682fd3f83b10975cd9c6b4f8885e31ba9c1f6be33ee4c86cad8d391e896a3419e32a14b290a66d4fc58e14e909155d2556ca7fda61693a83f84c748579e251b72b06fe1c06dcef6b8731d41e1a1aeab694c87e3b7ec35e6972446cd840aeeb5c1f9c745d2962cfcd900b28945949b1fb2f11be30e4d3225479fcbb3f35d5eb2476532d6ac1a79c14926cd40d8c7b4fef34b0f45c0668eeaddc5e4ffc835bf7b044cc65dae40805d8b6ac4792b0bef5eeb6d52e3bd25efcc64d5355aa8396d3c453ea07ff43417d0b93c13e95a4633854fcf3e37543b4381e61939fb8600f4a07b43beb2acbe2bdde613d7fd86800696c92e1321b718b432f6c6d73a864abb3c9f21878689e4fdd2ff504528983a3afb4635a8d0fef300a3d0188ce312fc1ed8d34aae03c12a68e0ebd1ce9cbca5a1300f1aeb34566a13bd294f501956d4098c5939e945910f9f68cfdbf7c51a553f8de4f415c81bb658093387be67f362a3ed2e8b5c8db431261c5ba6ebbdbe3cebde9496e949261533a198ec7c96aec7f0083783a886e7f5101bc87c71b522c6c8e6e761885dc7431b4b150e94d299d35ba32a6992cbec82f1d8e87fd4156b7834870e30b18bbdeb7afab699dcd1ac0f9938d964a7ae9841da00cfa2f7368802af58ab398d81901e75e6c9e00a8cfb3175968a6bb34947be14088a01987f46956823ba704a81ffb829107bb70f0adf43d9b2940a5ee9db54e306e8af809bfdd52a73684ae68a866f150dac01827048fa04ccdfe305af99cfd02520c056dd6d586a93deffe2d68b02f2baa8beefcf817405ae9ec0dec412d8b1d0748bcf7277ece98a0a93ab95b3ab963b6c92bbd3717add212e48015d78c9e1757a09b79855c4d2a90961d3405f1733598e1c17ea358becd059f3bea9db8b1384a5f7fa495a1293c9f5b23b14354b79efe5ddd1a7a37526965cd19c87c44f79ba752724176bfcacf58c75d111c9e8980f5d7d3d2ac6077e3813d1deb074f5257d2b8786280529fa0ce0ff22762e1d38bdc8ba3b69d39e28e20644ebae00b877db200e4d2ca7aaa9194fd756682d1332a550b395c6bacebf3d046ac7ec54d4dd8fa27e9099d239534684227d5e655eb789d919d11cbe6a060534a9814f94f82ff43da5878862bb4d3e5b6645f7cb241611f6a8895edfe3c356eba265d2b0a6fe9992b9c0a2b9cbca9e3b49e55bb5190110abc6f34b60b79ab031c8d2c8d8a2ae5b8d400c5479b051f3609759a5f27c353f77a8996999c0c9bc67f78cf91b98df3fde74fb44aee75bda8acb942c673e6a6514c942d5900bd947182594e7ac19820fde3954d7b45e962feacc42cae76aa721cecad73baeff8e4f19f135e11d61c9cf4441ab122d5088dead30187d817c72d20b18af755c67162de51745c131af1542cf81fc9b77d9262871f75a16b0b877c12ae57f5a8bd6a2542b10866e0509d0381f62ade2ce8efae19bda058cf304c59d36d86404b2121b994e3fa2d6744ba5e4a6df9cb40ffcbc2710ab7377365dff61339103b013d03d36a703e0ab709e841d4493c9bcd482675a9cd35510207fa7dfc9933e364c22c654c70561d073dcfa8a55163755a3f7551e0a6a380d89a4ca55950c07a0952a0b390d73196679c66ec2972abcf9e54e9b0f2b52b6ce2e2f39934375753bed7014fe9d660ff58c0ea51ca20fb6ec237a3a385a48908552b9c7b23a53c05211dce68e4eb43a6c55896c671408cad81e989573139aa6b0ac79c58af0d40afc97346deffb7f9b7ef3af25cca9df3236798f8528b2389bc1820e8c3cf19a0148d6c1bae6e06821df4ced9899db5c85ed48ad2b7a1dee2a4272b8d565d4efaa7311b0fa924dadcbc6ef966c14f76717aa2510f88839bb555b7633ad6d860d4fd9ba2a05aa931761350887d9ba2c6ed3119f98f55af05b243313137d3cea41a8c643e77d95cef44a56b4cf18a7ded9919a8d1810e8ab8f60d206d8f9b5b249b9a5d1357dda3a9f324b7c362b346810651693a6d8c437c7209b364e8af38ad87e422d0507a91c83dabdc5c2cedc0185b1f0824b4952258f10086b42a6a13992002925250bc7823ee2da3883af74db756c07497212e0583adde1d4dc86ad5155b2afaae810bd63975b6901f8464908f3111a6bc94583c466c18924bd1e04611b31615a893a4d9bd67baf79ecea54918311c6e0ca5700128219245896bf41a7690bb0521b1022f85d766d8862a00e562b162f3162ea14d6e0a55ba66b87cc9feed43353df9cf2779b5964a39e11e632b4347288b3469457df403ec67e6315f352f08487087112de4cc2c3032220949fd933ca3f7446ac50bf5fa5abae1f300280278fa1662368943a97687c3122b25a11d8822318662b7915a2ce89527f298c4e8663c01298e4b91d2c4e84835198d0422895bd2aa29917e17c2444632309e1651ae07984d6400dbb88c164093d077b2fed959c634b185767dde7a38350c2de58d64a1023e258093db10a529aec34abb46ad49cb8b3a6b541bcb9fb13149067c0cbdc77e13475623ac665f96e4082ab21b3774cb24827c7dcbf1903ec98e0d5780cc406abfc071055522a066107e84dec710e89a4b582730bd2d8933e8cc152975e0dbf9c833a94f5696b23bbf9644b122e96a8b4647cae30a70b1ff050cde605f5782cf086df6160b680001e7cc68b3eb14507236b7fb72e45dd0ba45ac9f4b65aad074577bf986f6cfe5fd2e74ec9c668d480d2f00c8fccd94959090ef55172115324704cdc5d8bc165e115c40c7ad46c19321a72a5e59d412ed2e113e3f08b0e0c2dce4aab8436f05c72fa9884bf1f7913e1097656c25d2f63d9d2a057f8444181fdeec841cdc1d97341a3aa919d1afcbc556a2db64db96f1018f80f478b7117b31f3a09bae69cfdefcd7996709fa0cd59203a1e91d4920e88cae03e462a66bfffe05a0fae1823c6e268ffe80a71d028a803f349e518e6fe7b5401a2ca21f49312ac5882f664a62de3e144fae77023e969c58a985b3737102fc19b9b1d9f55d3af920279ea2cc34dfe348c15de89f8e1d394b9c1376442f7db809bd2768180552d5cbcc02e1802fcaefc20f1dcfedb1d50a23983c83c279e690755ba6443ed6e692ddcdaa1481f85a3676379f632fed74419b314e07eb9ce31e80524ec9ca66c6a2059e96a1409acb31865af1758c298a4081506818f5bf4f56be732394576ea614227cbfeffddbf11ad0fc5a934792ceeb3a2a96de4a9caafcf7f0d2662e878c9e90816aab718bccbdd08e908e8be7a2a15e8b66bb735ec0f8844d4cf3c0935075c60222ccdc30882f7d9922b5b2baedca6e821a0d93e7e374afd7171990f77c659778c4c2f6f84d8a5092d4423ca2553d37613b726714063a7bab6bbfed43e4bdaf6d469e7fced0908bb2c4af927bab47590a803175828c10dc57f2c8a52d71c2a4851019f6b49e60f5804e50dcc1f2c994082cbc5a2bceaeca50134ec5b77511e21e481a73c4c056073b9a49fea69cdf9077f8531bce073278f1651a83d8b73bdb4274f3950282c810256893e76fed8b7aa1c9bed19620519c9d6978f1a96a28efaa12a3544d814f88123e6bee89d65bd294764fc16c49a70b5b2192a0a87f981032a6f85b940b5d2495c8d68ff56c3fd1caf072690c1fc47a6318e0c240828b5639858ca5461d4d9004d89e0431607a84d563f5d21949ca0d44e3bdb498fad7b2b48245082fc1248a208d26b427805360c15050016af98dedb4753ebee060aa0744e5475e0a1419bef3065ebf3284762bc22b8174ec134f6c479d82784951d636c13ab243c4aaa151cabf56f8c24047019d78360ff3f09ca122314b7a1cc4fcf49c97a02d6162367564ca3e564464347be6b80fc7c20d51fb29b13a4b7fa901b87b73852bbac03b916d34b495011a2f36c3e8b733276aa05504f985099938f77bc139825089cc2d0face7b84d69cd92c1d593eef826c3012d80c5c73ebfa3961ab6abafe52d13e5d1ae6c69469859e13fdcdcfa5b409b6a43d9d036c5c815a5cab348a78335c370373536de74207cd391e170204c10604cb7d2c5fea988696d724f4081339b14c7f81742a4a41fc3442a2801450e763b7af2af21b10b6c21ce839c6bb873f9701f87d3c5802584e279f7f1f540d73d2e11edd496640a2139b3a23b2e3b47c765ee34f4e73ca51d1e72b05cd055b20d44fabf46c04383cc4dab34373f5b46d71d0327da796e06c9f502c94ed3ca3827d2679f3eed9fb3c34b5e61aa224d6dc2c9bcb92f0aa92b1cbdfb592cda00ca099d5fc7a69fcd1b6c1ab1507f495bd398b2233c291869a1775899e95cef90a992f365b831279722f155ecd6009df454b5c4fde77c182f83f4e62538fa4405c0400f112e8bc5bf73f7a1b9bc6bd08ad72a8ecb066d477a7a80f3800e4df3eac30c5f95a181650b0e4eebbc16c6cc54f038991c9652dc7fe4842ee946d196940ee14b97be3da9a64e8f6b18a0448510664aa0f68c5b5457d23c75077d8668a8afbe5d79c4cc21a8964381d5430400d1414827fd7be6cca1cd582e6e550e9c1b3e7017655be4700f25a0979182be10ebff6e3af353a97a0cfc23a0b63f74b67ede55d8236757d15f177bde4c647caa96ea439d51c612c5efea158dee1b4e28150d4837a54de7aefe29445681864931420532cc1a646f1a9c34dc187481b992f32c2c2e34514b50d7b48aad52b9c6cdc02f10ca3a961257ce6a7c5c419ed470d174da58261dec34f6126037e6b63f62284de539c6217d2939e44569944d227532e6adb0447679f76bde0a8a004237b07982bfcb438c7acd6baadb48578a9a4bb1b15bf4b022bf5c59a9d8362a0176e26d8d54dbc7b6217bed80e929a236ba36305d1cac9c486c39ace153018df9d9e467d8497182181fbe3bd202370e60d5e2eaf4ce650b286726eeb66cd838991dcdfdec558e96d8dcbb9ca09d0313c55454e7eeb53c10fc29fa68362aeb2e021d966bf96528986130a3030f36319e4805737a94bb76373168ca54f8558d5e4f4976b87782546d7ec8d3cc7a68065c81a3fb390fca361d24105b57c4ad16ca7805920a9bfdd26c26c4ac6ebb505ce240ed4c03bb82c7147d6a53b26ad396e59472899dfc1a56b949b9eefa28adb24a05754562b705d8f4b124e3902c9d843e98b31e82cf8f59653d2aaf8f6559bdc6df9d9950b686ea9f3dea9e0b396d714a81fa5820ca98482e1ae654549e8dd493e3029a781727a7daf4098deb30d869ba04664e438b6b889916444800ee836b0238166514aa6ebf051525ed397d708eed3042f2049fce4aa5e5910216891079c6c5dd882af72348b76bec035b18fb50e313897d0c991c9403310758ece9050dd7e0e65d5780619de806383fe9252b94f0faa1adff991f5b47e0592f562382373dca4439112579327ad876f003609bc11df9ca838889b3f689c938b20924492d293c5bb98f8c987a78d59908af303a0fb41bd5a4b87ea501ab292c2f9fd50e9176281c442c842a7a52d4279c23c842602f23bf4b9f241955d9932b16902c99d71e3401dc30ee94a116e30fc6ca83adaf5545ceb7bf8a4e9bf1ada5543b473ae32fe0934a1a41b030e290120e345951a2ea81e87ab6fc3151d408349578504f95fa24628aec239171d0068061436cbecf83f66585d62b8a32547bf84dd275de02d84e983e366206bd0ae6dfd03db904ccb7bd206062a249224e09cd152dbd9ed2e8c96d13e68121e317de15e11d62e4f8ce8607c2eff599fd953ee0eceee0114f55caa9499048ee8adfa04acac1f6537e6486bff1199eceb816c4a2e1cd454c344c30a8be6c06a05ca603ad4e36bf915f213a8693f3fa01f0d50a64d683674d7218814e42065de222b48cb08ec22e921e02ab602bd6aff15115a6c15e4fae2adfb093d5e934c92960ff69fb1cb6795858776b3cd188f0e53b1a7464c0567818868b30db6de8123ce7730cc031c81b09503c650394feffeeb0f53fb6a0161856db2d38874904183e042c07735b5df29f3a2cb76b9cf14c9a96c7e935b4c07358b0c2fb890e2b7c4648736281e17fe325cd89485c75a6a49326d61c96e07f11d54da26be6acb1fa0dc67813bd10f4e921b7fe4be5e5ffeb9b5f327b663e1b603beb714af394b3132626c81fa758287bc3ad245d97cee6f1b752704e2be0745b22fb049064e1d39eb6ad6f4437ec8d49a4f9bdff9209f046a6b2e966999d2fc5c2035a00f42f0343f7eaa498ed10090a7fcf745b5e7f2a464693d5dfb142d84d93a312d950febed368dd01bac0cc50177d1a4a95846f960131dcad38efa7fc2dd4dfb1a9082b400da063fe86efc821db52d3801dd2cc6866b62e800ae276736a1490dc1cc6bc61d7be202d64ffa54c68d2ac06ee396e127d20792ce5734c5e2d6c90b1300fdcc5f2a79ca8cdee5dfd4f9740e4890cb448245b045aff65e8d934e5d99e1148fe321bb17a12b1c36006a4ada70ed6022b2b1b7d4a3fd7cbc4f0e827aaca856417bb36965818e2b87b8b63d9e093499ad4c260eb1da9317b09653565cc881c16d67a44cbdb69efafe5854a090146251145d469d3e93e77618a38d610de1b8a8aa2fffb5806739c8005b2c66e95dd4972ca3c7fbf519387842a59d4e1692f8429bb193ae9ce73c03f4aef3f8383125d615c2082e1089038d61467e883dbe97c1d84c685b02de0019890c4361202364d6702b0a382ecfd5ac15290ab7c4b2a4fd6b0bd6b8e02a71c77a9b0d27e3d85a2ae1c2bb73487a0b8fd9f4f9d0c9753fa2e003718e06529b95104f5aa84f6c9eb27e9afd88406eec65c60adeedae623cecae3eaa6d75f7bf42a27ddf34622c7f5a9b98597c63ef316e0109462c083d7dc4a070aafe17332c186c27df3e83dcf0bb9b2a97011fe2467a2a99834da1055e3ad69a26064c2208ef11c5e058b51ba9e04f9ebb8597d74a6745f957f5c21903d20cafb1651a36622a5dc72ac4169b15430a12d9999192e6d88a61dbc5092eaa226abb169b46c25d6c2bec95a2e8331d4226614328d170285ae80c22cee7af0a1d63f8e6ec9543ed5e7d8a9f000006eb1442bd78f5e2addc4e67f893b944fdf7f561f9076be6c17661a489d80639c206e950094e695949b6138b82dcadaf64625b67c55f6ef9808ebbc37826b5b3864878f098fa1c8b936a0acb111de0280703efad220fcb9a1871ae1a43e2170f455d4539d4871950917302cabeadefc741a68ba89133c81104a26f3774feef757ab62a0aca032c431c3b4211f40dcc1b5b64bd44712d7a2093a738a4ce25346ce5388574aa9087926ef98ca04b6906ff9d76f8535976e3d7879bce8a599d85666397a85406a5218e5ceda74191e3e4e0a25872ffef579d724e122ef8e321efca8f095abd97ec30600301421eb302d005e5707e89263532a040a9aed7b9b45c1b30191cd88e034f4fd8562826f7e4530044adf4c9b22bdcc523e29c2468d19f1729909baf0b9f937315fe1a9e04bcc102d091c6b081ee81f729324c49328828b4aa7e50a7c6ddf21b7f9fbecf3fdbd10412c8d5ec750554d4c8239753ed69a8a83a73b7d571ce558ed06019bc67fc233cedcd92ec09d0cff168f55e3b51b281a60a2f7212988c628598d2d00dc0bf115f1e894c7f0a50b899e8bf08117512fb6c21c6a742122c432cd8114f41b2eab6ef3a730206e31c4733e424d164fdaf7b8fae78585c73462a13d543cbc5cc5dfa39505a79f5ba62940080e6b02a4fe4e088509630f702e8709d8c92191273658230b09ea8640944e427a7dc8f31b5ad2d895c67e918388cfa6e1e218eae9dc15ef9927c751261838c2f591475400340d7336cd233d6e15da688a349c3bc275c13e706484f26a751a8aff343f28b4c2bc2d4802136856c5b161d91e988a8bfa1830bb2337715b600b660b0a4f3313e35130bfc0dcb77b93136b48635a83d12a9e446e118febe48c421fddb7acc0144a73cd036328c2e7a5a0cff15f884d318b7bfa1a969933a4d4ff39b708c72d03370eba9211864a928204b00b9b698362422caad16dd7c1073d4c26f71e0fab4ca0411a932a882977e6553661f61f0b932c07cbb5b1c2babe3cd630e1b1fdb1fbc862456af9ab5a29831e47588abfc402e85e5b1ee01c680a9577c486b5808175f769f9c2d80d060e17cf1cee0f59244c6895dc3f423003d490e9fa577d882ea381265a157b5e882b8a14c17d3affca4c08a8709051c60dad8469d10f7ffedf8cd658061a6eabbbc5210e2b5232d2e57a960c0a7459eca7567cdc6c489a4e2ad82e108aec593cd6beeb23be0670bd18ffed9d868e2ad0f49e098bd2480077013cc4747919f5f90e2e35834d2b01b040bf7459ec33488e6479ed02426266f0f7b8c2d025c93a75d7f565122333fe9d7a3ed3f081ce1ae247b3cf24926647381e5b2e4fbcf24233288dcd32d1471dad2abf1b709cf5833ff744143718a64672ad54612b008008d3a7008fdf0eab7bc83fe4d8da4acb244d26759672b09a1c956e4a2ff34d15a2388357a5ffd136cc233baf4907b112bbc5438214b4cfaa4aa219b3700c02f42d6aff5c8ed71efacff776cccf7d716e2b6b7a235f203b77d25d1c946f3502e0b39d12175db0ebeab3b9234c461b03932c096739e594e4f7f78cce6c8ad7a8d35679be4565d4d94cbc48fe82a2f63f64137615da409e54ca8bd51c6b4119f692e50e58591fdca124d6465df5a0fcaf53dec7bee2816bac58169819dab84b93c1b629b6da2c1e0974aa211fdc1f31f096a50305d3e4a929fbef9cd7942a82068543a373b02cedf1378aa649c023f6c3be8f1734f4f139182e141c3db11903cfed97a76c888cc778a732e988cab2ede2d7472130c98030ddc3c925e2776608b97b1f74047f40a36648656db7dca04cf271a8fe8f1a980c2ce694ef0d11341bd8dfd598d23fd977922af4df4a58ec959cdc305ea2333a3b18841a5284c94d9f71a1f85e8589fee42c61aebd54ab0b209cdafdb3a4ee969b8d1898bfdf64a67ba07a2413277913a6dd0d756c957587cd74fe1396ebbd53eb0942630a7ada87ad82142f29a68f0894740db0e0b40943efb191b5b6b7100d4a855e09c7f7c186175279dd4fde755910c81cc137102cc270023fce1dcb4457566d9593118e27a45d290af0df540a430bfc20526e78cf3982c492d52e76dcfa66a3b78d129711ab66b298b25e695b8c37acf7b19cc004003b321a115ac4bffef8a198a681d14a301536a2f5e9b6b5f766afc9143d14f416cb4a5d4f3016e605aec118215e03f72c63b05c85ec3b3a77f6ad02da0d9ab6bc0042e389f8d5372eae4fe22ddc61f7d6fadb87a5729d68ebbf37e396a020325bd001c2de90a1a182bfa0bfda3d08678870b20c7659e4ddbd7fb0afebb03f3c6a7cd7ae41457781b0b58ad75a9b36b4e1811ae46135d1c15554a7c792910e0c736e0451fe7968372f3ab63d1dff25f06711829b822729d7a24672c3a47a8002d82580d84f214ebbee60f8608ed9500debbca5c9ab383eb850c4de0b0dd2ded97459a8e71467065c7c651c7142039bdc58e195683548d265b64bbc48ad075c0fe1a9ac269ebb1ac13859104a1ceba8fc91a8a8021c4822da128fa47985e291792123478094c8c5f49093cab44209e1f566caa1919a5986db325aea73164660f64ae8fba0517ea19d95c61c914b12d4cfd8bfaa5b457035937e14e39fff1e1e76c1a70a2bcaaa5ae50b6856efd0d78f583d04115c1acf269438a2ab5484d4c772c945d9899b8da6ee8ce61c48d1d04f8eeec1148a07b2241e6f395ec456142483bc3d0b4de29287dac1eb9f261e977839cd8dd8e2630e055e1a489f0475fefe3c3ae810f7fa91a060149d3846ccc621224b38999ea653121c717948a825aedb2f6ea3f1b8519cd6ae25755770fdd2ccdf8d376041e5537b2e305fcb2ec1398574e0d2290445a70d6785001a1ea90c2d696b7d09198a982ad15dff67559aa9ddf54eeb92d261c6767463d172b58e0e896c55b6dded8d98501ead8668b7663865d11502366cb0a069d26a06048885f77026ddd274fc5e52547418b17e7ab0a6bc3d520764c67a7ff7fb235a38cf5746befff14e4ff3ca00363451d834a729f81232527c58d2701fe7a6275d2496231c5d43e6eb01df1fd1c279be32f2f6f3e2166f364ed2e3f91a87125e70a3c192aac438ca4823c384d180213d051af9a63c4e79ff4fb3c5896fdd8abb9e00a22e808921d95c91fc151bae9f317db0ff08ed3e0ebe2b44caffe67d4a93c27d05b7df2a8ef768cafecd57146e8c0fbff350f399d46964758424c8720fe5feb223e42d8a9f3e0ef8b74eb731a5a578d68001e6a34da999aba2e0c13ec0a09901d612991caa1b3f7a85e87e5728b0e686989295de58c0722a6e7ad9940ee2a1410bea8fb102cec4a9372d97b153032061a048c2c0f42ce20a52638a656c70bdb8abfe2a5c0803a65210e433f40c62466244219f654a69f20df3daf222a0ef759853e4eea5474a227d01b8ce530a4d7421b2d21273642d84ccb6c500be7edf9b2fb8dcf1d521f9c40db86d5fbe68cba2ed57fca2d3abfd4c7b9fe0c077345f9ddf2353ee1c540c446655a8d5cd6b35d0d545d02ef9123979c5c67b50465dfc2b7354ae99051182c4033d5ce69261dc621dc99b298185e0074af8769b06b8618a53dcb1e357f98f21d945650ce25bc7a50f9b0a752fc14947500fa1ed324509c94d320537f25e261c990cc1c6092f86140ef5c7be483c064aca7a54421e0a8a5891d1966a050b403f1cb0327ec86fdf999d8bc4ba0deb1dbc1d52946bcfe9e556b8daafb2340e4ae8be06bcac80f21202d6e38b06cd4095e9b145526023488941a8e47acaee3f817a11511c2db6119777500cf5703311214cf243730c59966ce3818310db169fd293f162f6b2bae497303dcb3ff602a8f6704e6e506356e6df7299d2d13424c6e7e425e06390826b423e203945b2d6a9cf3b29220f112a1203e85521696e76da11181d8f77b3ee536e841d686cdfc9683d3fff648b431c8acc5c49ca9cfe33792f9c27de3f51ceb1e881425d5dc91ad4a32512be18113455b9471ae4b8e67df3863e4440c5b8450452e6ff9abecbf671587c7baae16b4861e2c1856e3a6bd9d8f3dcae9984926fc27b437cb0077d8337c793436829e81eed20456b3719225a72886ab260d9553663e64710d80a80f200670479ed3a048168670a3550dae394c92a6545d1eaac8009d8a2848b4d015fa63b6bed7ac5c2e48d0ed6c3358d4f69a2e25309e512a059cc89240ca78d3e134ada98fb0b3c830b5bfc301ffc538def422aa30b08390efbdcd79c72a779d21b00ea6d278bbd7d0dd7564ec2e99831cd81f8728ae9a7b652bb04040b15b00884ed2168d674f2b9899c84aaa1ffbf0f705ed1867a0b47b9198f97d476033bec2152d45558aed7d81d544c6317fde449d709126ee212cd116557699c0df0659d89721cd8501ed3f714dcd2242ae1b74133b5a92c6325127d4cf4afd423d01e88e683ec4b3435db6b13ec02b652684fe22dacb921aea63049ad1e9de410202e1291218a5e0b5f5a0fe7b7c1fd88620f11d7026a11795e2785a1e9a6ebe142a91352663dc4ab01149a45109fc0fd1a6a97aed9511826431fc652336bdb8f67c240b4f4c1754c390a05f30f1e3fecd187d9f4c062a1ffd9983040e170eeac51b445f95a7641d43ed990a7b3297dca10cbd3e311d33cdf232e6816a9ca8449b2a5e1416ec25449791179b365c9f5a82a605921f162213e8148c70c930d992d9f6a63a470b0fc5a42d5899c6babed349af1014b3910df3668cefc3de63c7640392066512b4dbe8d3abca5629086460507ca9406371393dc396a34030ab4b261aa9e2bd24e9cebb2edd5536854e86753853bf509276c9b7ba9ee0b5642bc43195a4779421d2cb1174b315a1258339a2c1444c23c06b3a4ac880da39c31c6e4a25419f30a15b58da3f8943e1f0258a48a947da0a2d6af34c6ae964cf9e208fd73a1a24ce7a0f5818303c89f697bd72982ea83a753bf279078b2f0488883dc6a09adcc174fd04845eb92a84aa67712227ba6912db5f1fd1e15cc48a78a3991038e48f2bcad4f280159ae3cf93cb35228682d8dd575289bd4c19366168b2e660f7c3e6cf49e2c97036cd785124557d619130b128f4f1520caea75c6da974d3fa33459a8b2b2c3c32776e32cab2844b46a2536ade169b7e4c0af5b4f110126a08510205ec90c4dc170654e12e13db826c6108d7334aeb34d38bb0d6e68dcce8cdca2c9e62dba976599ca553681de240ebf78af9077a401aea7ddd8190f45da52d82c93938364a4a57df253cab331e3994ae4737e2188e8ff66d5717ea25f3163c54bce8552a5d9a8c07a957a561e013ce874746a8a339395568014a439a6693d67a60cbc4d0a696acf74ebd08e7ac3af1fefc18eae8c3da5676c1cb4aed47cd8660475507a6429aab61973289277e68881ff2b6e40b0f56fb156be7dce07de864a5a7ef4e6adc9b343e09fda53d998abb4d6aa199b381794c2469848e8396364c09859eb825b2e61c23f835040baddb05d4d7c495edf3bc07fddddec3c4ee8d895da2b76fb584a0eb8dcd2949cf791fe2951ff8bd07ee5ea4c4495102cb2d907e5c85b046cf3cb1b6688b10b02425df3eda9e819ddb5e42fc04cd271e5db9171a86c9e4961b5aa83674e3a1ea3cf01ff079ee7a9298e614809b61207202ad3724402c68ade1df3beb8ae6f15957cd06645545c118866cf4c094cd4b9ca00a825b763e3d5958f6180d60bbee31400c494fd000210024feb6bef4ec887523ec09081339694e8f984ad1e1277e7734fe4254d9001bf164a1f239fd0d9037b247b1f023c6b3953993f780ac1ccb4a1a23b9848f5682d02631ad597ceb89df4543a2f270d1be28131d010949dcf88c83b871d6166b85fd23a8727f7a48c6c60b59e5e53ed254401654aeb3fea7ea4539091ef50b5fe809be2efe21efee1d094cdb02ee01b138f3d78ab87d218a8f97ebaee9c823af6d8b71468eb2dfef6f3a024cbf7d09599a7e02c32aa9cc2a08986d06ed98ba9b814893a3f91e70b3a754396bb86fda3cc8f2f84712b175ccc1f29b98e3629207293aca9281e900bc542765b19e4bbc5ba87889a0951100dbbc04e243ba591267763d493a6985ceec8107efb063ac6e540e88ea74ae7ef3b8331bf96525c6b82901afee086c34b1dd77e87ddab63628b84fe16da19e0e7a3a3c63c0a0a87cad686a38fb8feef82f40f0e070182a415989c973219206a803aa17d6b45742a10bf2567ea0ed4b037342055c6f53f3ff7f37379ff0776afc6d7bb344e30ea05a153db8b4a49ad52d0658d8b66c288a2864a74a6510d51ef9d752d27bbcb14d2f3e41870afe0229eff751c3eb78abaf944f62085616fff5a33955e956c34ecf04f058516a8d83305898a407b978341235ed3cae5d1c94dff84c9f0ac5094835e393b48ff892c0ac8a4d3322dda6aef41d63768591a97718ae9e1b5106d2394748ec6541c4d1150d32294906328f5936ee5c1c6365463b7431b7d8b71a3c9ecee35d7c4b83b1ce18ce0363e16ee9fc5c76fe9cb573b1b7b28a50c7ffd83c5bff20bbcce5380d924127c696d2d4479b7ef752fbc68e0fb05fc5603a66fe4caf775ecb5f88633cca127f28c5d2a97a943a4dfd085ac63fc9a5d5fc1688ab742a58e8b3cbae7952f3189cbe30edde578839ae521cae789b4f5bad30cea091f173dc368e927ec06ae367a8e8b10e18ba9df3268a694b709e5483e8502dfda3dba310e04792d7f9e352236438c926e1f026b0094694e1bc55c91ce1c7742faad2207566d3254728b2200f5cd89584f000e45c6321a2796d9ade7c8ac893ee315d6991758db28094f2961367ec4a38cd8f43fadcdab8cc0f47ad09f9c3348f0d194126cb0c3be676a401e7e732ace3e5e65835af90c4daf21d1c54c4badfb6d3b4bd00643d257e9e92eb27654409fd8cd34116dfc7779f1c46e1fb09b5e5fa3193240e319ac0071ccded41a0f06a3103e7c377a4d549268d100b213f3a4fafa8a8d4b8872765045f3d5dabc734ffa48a4145cb507d8262301b215a24f94564b23710dd548904a5bc2a54b5e794b4e4a322ded11b93e4c8798b695b24e56e2c8c54c1f71aae12487608670e6ca6542a1fce9fe421fa62b4c9edcd1983bcc0087c30d0042c88fdce957f029acaf2eb5f0e28b9e85a51d59a0e613436923b78c82544fa73e2a1052398d0466941a7997376de1023ac02c338952d3513a610ceaf96c20aec509ac73436f401b41b4553613243c448804ab80f5ce3291b632fb5d20908974020cc70aeee6e94de2e47ec00782e74da7ed9ce02f607858f1abc502542aefc3eac2cba7eed609270db15c422ed9b20a663070ccfed6b3cb6c2fcc7f388596377772e1a22941f67f997e9fd0a445a384615fa466f12c85e63187dc01450b2e3d6250fb7db53c467801d85662dc2e1a507f7127a50914e457eeeaec7af1131cf3884c6f925849f2d121a1e7364c62a11b6e76aedc305d20fdac088cc47f286745a8b83dfdea556a19d85ba00c6ff94bf448d2c850e3470fe0ff75d155dfaf3c15d04ff719dcb885e9ff9822de705b2c50b387fd6db9b1f6f8a4e16651efa5381112187fe97e6bffda3d9705d52a07a14b1e7f22a90ac18ee6a9c1201ad4f66423dd52f794936b14f4d633fad0cee81ee8bf699cbcbce8108821556a951a578182262436f443441a30551e7c58a41f36c12fe2ac834a2004edf24b10de0a7241014e802eb4c9386c770e5ddd7f6e045152bd705394b8831dec6007357961c517f518b71cc7b040444179414938c7dcf1c977d6c3f1b8def9dc0feb39141f19ff26a4b9bdc303b5e400f8f445ee704459904ea677e7530d16086875db42af32b94065969dd93f42bdb21c20b9942ff6f63c269433c811dcfe77f310ddb52640edd6f919272081b06959fec561caf388de4bc5a64ee96d2dae94a3b90e74c889df3faa027cc675fed382b2c20b2f314af2e7fbe713b5defee929827bb6fec833e08f7ca92f20e504d898ec164818e5315845f59ac44f39a19b28b4d082d294daf019795a43b715fb6e25c4613cd42a9321166773a600aa31baeb555f119170ec09cc8577e298267cae841a92814e36c8857075d1b37166fb5dff4e4538d8b7694d4afb5fe9a5f590d3654b1d5a991584d11454cbdf38742088ee702452b337997b72dd020c8464a105faadc4889789f570ac7b33612bc0a2eadbe1ab98c6ffb3a082527ff0302821c32ff412c554f8b5d6fad191412378a01fd8f262038936950eb90ec0908e98ae094112101c142e8f149c2a3db85cb288f5672c2a60c3e30b4de14d34f33cee08459135efe931db8b765d8b665ad5572aac52be2ef6c0f6f092d22a46f6122fce79f47000089fd4f93772c9b5ce9550e2dc4644c21bb38e046db4c123e208dd9b138e471d3c632e31810f903534f97b81f80e2dc6732da99db775614b4a4d500ba93194e2a898efa442fbd81b9ffc7e47de71a64ae904404d504df224650fa86de37a2177b3d4dd320e0fea26cceead6019ca8ea259184d1b93a9531681ae48b7467cc2499ac071d58786988a3f5749028de1a88028ce466fce3612dba614dde89782ee106637b75bb008fffcf450dad0302d8741ccc2e50bec7cfacc3be3a847fb28bb938fcde4f1204742029ed8bbdbebe98a5290696826493061176c173d8c11fa3464afa2d39b8af6498b4ab2dec1abc8950d321887ba1c704777ee457cac3546018889e67f473bfc0a6c90384332a463b240e31626c4bf55d4f6d924d8c343dc88e1238d1d9f0c98046ebca80eaa5b396239d04d24a9f648beb05439b1d06a79754cc5b32622457bb8e59fafc91df67eb604c3009d65da93dace177fb886e52c8b7bc30d804fb04571245957ec942451014438b68b2637c6a19310142164fcc18ee56a6b255ebd6a06bfd6c0a322333848e91145e7031b3613f1b32e90b8b1d1d0a6aea4cee9dc0b1f0fdcd14076535900da52f09e1ddcaea42283b520f621159e7114b58df93413d92df0357c10faf81043320654431c6da7eba3475aea9dffcf314a3b551faa2cdbeb386a3ed9fb7befec8237f42a2c88bef2c2395f7531fe50256cc143c9679ee1253e894d946dc8f5340fea1bb16df2068a9e476f57802039cd1f3a9f0ca9799b156798d56a46009054d2d8c9c9782b232ac64bfa354a4daad8a8c7aeeb053c929d20188df0a5d854521b8b0b355874b6977b450c5a990d21f7466ef8cb48bb19841f6ce27ca967369b9d84ec6e00ec5cbffb7942659bb0619be71c9e840bb1c0624b22ea06567a535e931d0016c0bd9155fb5654e990732312693f1eb709f998161993b6ac81431db305ee5f2509e990cd8ea5e63f26cc46937dc122e8942370d652922daee018e1abd02cdab836832222050ab6cfad62c44314235e0ba393226b0f4a563d05ed15d0f45219b10de897902d4afa73549502f5d290aba9e134d302befcb06eee5d8be907407b0b4b236e7fb470dbc80bdc259728bad2ac00646503b12ebb1bbc56eccade61b86e39db51cc67537342adf7a645419c5721539b8d5a602a4793e315e3542352320bf3a4ca9adac30499f76ff6272a292a9a76b981e275c3d1aa212f35b6ad0ae50f06d7a4245e9c6e79d330c47fccc3b9da88c1f7139c80c23b89637f50c9b15b6e277df297150edddaba89105e780fcff29f13fd04771727354c051ae25607f33902fad9f18f07b0882c1def233c8dca9c94bcd53c8e797e2d4ded12e798972b9bbf49aff81cc0b025416897a247bf636e87219d030ec1614e484b666a448f3abe72cd9f71cc7948b31a04f51eb73018d9a841dbfcc254c0d09f01f65c97d1897d3d1da7899a57875ab6b220e49b820d65c24659b75611b20aef796c40fd7b4aee39059e114f1eb52ace8ce7324395ff43e3a683a9ee70515add618c3020ebc19878053e18fc8e45b71a6e88179743e70af4e7de8982bbdec475b960ac6a852237e52382ee2acbf7dcfec3dd075d5e332deedeaef6387580f961748bd5d44d3ef22ab4081f80e6e6ebecdbf5720098f0dd37ddce1ffcb0801bc951bf84efe4765de27ce995170cfeb985e8c30ee26bc0d2492eb847aa27a183fbb93768d0fc0968df9b58d913fc55c448832a2d1ca0ad547728a17f870f00141c1a101dd979c48f6c68e52cfd98dd56aba9de31cbd28770834d7755af0465af6140f13e41af627a599e5ee0e9e325d79df6edc51e224fbd01d8a90168e7199b423cb08289ff72451884e9a1d3233536cc63b259005a1ba124903f58eee5f4888a5c8534271588d6397c2bb05723f78d7b9b5304ab4849174b06df8f5da3d27ec49349a86bdbf46364314b983743a8ec7c91da750b0645ec82b4534868f3e01c453605977eb79fb5584bda1bd6df2f03fa40afc11ef067d23e222eb0aa5737420fdee043fda16a5c80fc01b7c66cec7350fc2520fa2c9b8f40ba0e178b910a259de579b88379f05269624a1dab19da804930ad21da71063b19cda7afad34f5509c3222898a631d07feee7723e166083c082929bcd51fd37b7947d5411af86a54a33bca875f6e8571d683fe188f0327b4acdbd220e5ac2e8f8a7d63f2fe6f5dca07e2b570449744d1c0b47f82570a6df8b5ef4515387ec0977f0af47ef437d14f007f9f4c73ff8b2d6f26c26722bef3238bb08553bdec29c73e313e1c5b89d98490294f074c1f88d65f9a41b7ef54d8ac5226bdbe5ae0fa8cab63604b7a45c6a412d69fe25235054a5bd3f91db86390722f834025dd630441c1b5d9213e7a201a401ff02cc2777ef9f6fea31ed8401d1039172bbcf9fa77e48c782bf7c75ed7076e2f110f6c52dee30eab82ffc2ec42e5c7d1ff687bd058dcc1956aa7a8ebed7b81b4a01b18a77003b695b275ed12068225bfb20d2ff3fc0d251722fa863e966281178e2e717a036ffd23058d931c5eee896b42985a78ef7b71ca715bf1bf2ed2818c12f613199d204a7b40745d3fc6fca74ceb87bc0e4bae3da287b779108acba56cebf3a349844cb76d9ee1a0eb7d4ff667406bd9bff8b4a75b604ca55ba3dd3ed3d029c1d24fe167f75f29a7207f8a2b2d137b8029586cc0116ff3e66be78d55255fcf5214e3ad23b67c9b63344af6bdde78e488c996dbc098f58e77e7fb8a70961ccffc1a0b5b48ee9c90daa1715348daf0cc363ce37a116b29b98cae6e46b1c6d28ab21f14235fc7c34d73e2a28490e4bd9e7ee6722adc1f86117f87340df6ae2acbac88dd24398d85e1e8d7ca5d1f391fc7bb99dc108a2f5c94411dcb00b22c97ca5f47c4fe42e17482af3b595e3c54e2bf88f5a64d5e04c0dc3724e79e235c5d6aa3ea297266c86bac7a31421fa10ebe21289ac0de3c2d02cf6780de830d5516a1b1f71fee5efd6e7f7e2d346fdefacc4884c50e408c89faccf04d5524209d01840d039ae739654a305e563a5d1f3e5c601ba9cd29620ff65c4aa44ec53eef5a6345ed835aff3aa829b02efb818b8a892a3d95725ece438bf3bbfc0d63ffd8d316523ffc46082192902de5de524a295392322e064006d905f76e776fdbb66ddb9d4367cfdb229a9ac631438bec618d5448c0d61cacaa2e51ab8231f4d0ffcfac12baf4f57ee99240271d9da537637069a749d516315e99868e5a60b284d12506388c1f98888b9140342383306327ebe839f39c48aa0d6642a2304b14bc9b8b94558da855264dadee524d155dbee796155b78c95b6c71357768a19a202a25ea3bf498a7bcfa4b98184eb213b72e79e7b7ec758bb0d1512c88c413d4fd6b9931913d9f4efcf159e8828a8e861c5162c21326282c535ec6a49157b1392f1e6dc14cedbdf356cfc043bdc4754abfc3ee7e93f6fa34beb360c782164f5862bcd3bcdc3c57cc8146c05dad479796be645f540ae3bf8262dfad5e674b97f7f2615e7eedf8550ca7946d03b38c4536b9e441ac5f9534f182829c899b49a4e038c3524ae984965ef749a7277904f6f7835d25584ceb0dd45aebd89c1f0c84f202b9e84e6a590f1d8bcd762c16db53644cb20d358b65f1f9f1f1f9f101a5530c6bbd697b369bed293e5ad366a015d9742d5b12b5963be78c27fe94487feeb9c94929e395d272134b38e7e9badd9ef3b773cab7d3be13d131b7da63e74a4973535bee1ca114d3afc54555120f942869d1a5c69698d113b3d0024b186625a197703146020d4e9159cec0024649ef291afc62a586c5196994967081c519086dd3cb656d184d410ad24ae8a16d385c9ca49482371c73922bd282b9999a9c1841e1360b1f72792126697252aac234258f2bca70630e3beeb0d2e41be7a524219e229da8a6a4a09494a07a7081ba5fa2747863c41d70a0e8feff3dc5992e7dcf5e6baf05ad4c503e6865572b532638c54ed04a05296865806d9b9fde9fc5bf255c4c854d748af55966e2cf44453294db0a3c338715b8d33077e86126ce40807cd9ad72ce39e7ae28533c5f39cb1e9ede3da467c9f25ae21e26e9249f24948c9252128b843d964d62c4da38dc6d09ba1ffb07b893480838880fbc3a880d70400478e0c7fec422bc33024302000181bd3eef7291d6a672eb17d4cd2f8cd340ed8c63ee26e6b82cb9f97abdf00b3711808b001b4fa79ba530115524019c5c02013ea7c23a02308569592a8a8a86eda1bdb74405a0c591806c995e669829668c37b08726150d004fbc418931e86346732f40afe9ddf1a4cb26194c5243bf1eee7b3cda6584e93d43aefb3c4c009f8b01f2f9982b657e4c7788aa4ce2577df2d5277fafc0efdb388378ff100200a9094a0625fa834916ab3afef8a69639058233cbd0ded805bc6587248a14da6550f3b1df1d12fa920008aaf9f87ad4efd20cf4fd7c2a581fda2cd72d7bed18de7ac8b493eae6aa31782f0ceb68ef381e7a5f2f39e74764ce3aaf1711898333c7789981b3d0ada7349d1dd5519ed0244a90b8b865c5b47a602db7ed5a9dd515c6ca9a73b9b4772a18f9429db957062f9053761c97f14cfaec5fb22c3bb7c26ec5558ff25f526ed9b800099fdcabb5e7ed5d5404c4284851bdf2a6cf81e4113ec13e3db638406cfbc468df86a514938893e2e0c14c18e5ec7033ad343e2071d38c1199133cf232538948daa361eb101d08298d3c0f6f557b3b5f99b1cb3cf49cf28263e4983163f095639e461554453467fee41c6df4a3f58fd4e3f9783a1afd7b175fd728ce7c26933511622d1557b871adb29bee842806d658d850601d12f0d579b06d5d7aa928965f1bc5b43bf916245ad4d3aa2566b5bd64f12ddec54ba3cd6411f32589497f4921324b0c63d525a6b14798e36297c4465416570a44d998059aa73cef15879af34e1c259defb1c66233267be2e2511893c5ba6935959eac3973ee686d49492e2cfec44a2fd3dce9f5453141ca3e89da9b96065ead24f67e53e74172c2a72a2d5455bc6c4fde39a7bc341db44494a39555cea995ec5b7009d3cff3e449759c52fe244b0e507270d013fe2edaf7fe537d98472ad2fb5ef961363be595b5df5767fdf63c7da9d3d136f4287ddd65169d3b5b22c99aa3e55bb6af6565c05ec5489e39b3afa55bca9967901eda9dbc31b162ab1193c7dcd7cdda33a6b6f8f4443a97dc4c9c3c892285c991843cd5535554bcba4bee46b7908bb506ebb61d91cd25dbeb46771315dd0cdea00dbc360b8ca50d1a4f18b3b8026a6b0fc7e88192101cefada22ec7d75e7ce5749fd34e4a23add6638c71cbbbb76d17793a9204e37b6fcce24c124dd2d88bd858e5e56b6fec340d6397f50d6ebb93deb8ed9d0b36cff2f7937f9cacb0b5d55a5bbb2d132d675dcb604d8346328db6f3cc664d629926cb3098cfacc766f266dbf3ccb4d63f3f32d96cf6d27ae6e3a35faf1948fbe252ec27168b618cfd271693cd68dfd52ed832da3622a3d1623e60ed022334fd92bd629fd6fa4513e2a4c7e7e47932c76fa455199af4c293c2a96aadb54cb6354de34cdb9ecdf927d7605a67fdf5d03df40548ec8f8681b51fd0c82c168ba2f50714eb11d3bb16d3602d061af1d1339b75139aa6814b331f2d93e9da66f2e17234e958ccc7fef999a18ec5f6a791ccbe9f3cdb3e4eb217a5f639f9f041732ecae148ea6328b562d20b4ec90e465116135b86143c1aeb7675ddc0471b6fb0083175041e37fce8e18d1931a0eaa01184d256ff6d955a804d1060f9249de674a7943e9dff0f0e39127d8b3b5971a0e694524af92fc1e933e8afa0c811da5192ce92f282682f03e15988e633f1f449f7bf3fa77bc41fe70a5ce0b969f42d9fd052babbfc9ff45ddeea6def27903b27d1f437c2f07a8b48ee2f915bf008fe3c282221d02076799e7e24aea5ada2ce34cff977e8101bc69e31e74bd2b70d34727d7c6cbffdf6db6fbff9f0e1d87d369342a34579bd9e58eba456263098095a2f89c542e83a25404018f43c8cb76cfa90c9b6c7157eb6e339f1e6b64f262454db5b4868d7843621a1da16120aca42f913da7af4f87eb607405f08b1cf04264f5eb39fedf3b98f8f07fdb82fcbe5d96cdbf76aeded2d096c2f49e9c10961ff6a434299fb36df402834904b6d6868efbd9724f9b16b1b0477adb6a7fc00412b1fc864d76a43fe7be8db7b0f7ddf1e023fd00a007b08b452930d7d41bb86853616aa4d8c855e552614f43ba661dcaebeb7ef867a424ac18892f7f55dde2c7c53de784f2852384e0fce18e4529bb2d57cebf086f384146cd8143a2c745f9a721f89e929e29187526d5781b23570c3fe5b5e8262a3136b6bde9a7e1ca88acefbfb6e215256b15e3061744581670acc14131178bb88d22094c0a28721c08081620ba539670ca9f41a367bb7b5d68d0db00b5a6d65531554baa4a892d315678eb00a2fd0b861434d953292c2d0698034cd85db97ab6470a1051151d4700709240480630a0aa83396002306043908d0668a1fe0d2bdf70138f2151ea18dd95babd0d0b9a34c135d4c28d905a66450638928ea300207255bc1ed07ebba8d0384a4e32c221dddac4891ee510d8e569c9ba6a5174e612cecd2735481903de4db7a554ca46a07bc2b38419bcd1061fd20333360ec505d413d71dd4792408c1fd8609143176be2282087d59cfb05a1d3659094747c11258b0c81d25b013c34035d1411fe08f748699d564125913867179e3d473c4df964f0b4bb56b3d8d64dadb0e618b1f5703c47a43cbfa09880031019f01f9fbc43d3b9b7031011708ff67227e52249922a587221fe595a97eb0322eeccf7d9447d02712561afa0f8402d3e008117e5b3234d2110f780024c0110f1ced6ef4fde415da7c5cbe0be6e3f7f9027933f39cbaaeb56fe741fedba9dcdf6ac562ea26aadb37d247d1e800406f87a440b54b78f1e4842f1016f27c5c185971f267f3bed43415f00b50f888f1e9fd06744db3499ce18c8430f1442e44afc30fdcc01bfddeda1d806adba0f6bcff1a1ef83a92d077c64d675bb4fbbed9c53687e5c84c02949b499e664d64661d1b22556f1ffa641cf93d092c997b3ac92555d78f618f104bbfa35c3396bec72b6db4e3d456199d25273f7f9d60eca1427cfb9db1d7e752f15ee36329f38896ea0d0b9cd16641264a7d9663c31dacb07535b62519c412a8e61184629c4d4b39c7a242672ccbfd65c531281df35e2cf6e9f85d1a1a80748767487170c5254c0001181af262c51e08d8e708a208a73841cbd151e132f62ae99ffc0883451d2a69aff10e3e459a696a06ed3ac40ce262d407912fe874c4d563600dfffebf7e5e8501d06f19f6aedbec606adf554cb9d9c82a14ec3479e013a00005888db275e4ecb38e5dcee73346480170000b4e86a2f0e2d0d7deebabc3b1bafd64ff1ef7b3505bf28fd9541daa7f3bddfb4a1eb6cefb42eafc2c4f87b7a7624f93d71fbca557a7ab2dbb904e8de1800b20b2cf9483c3405695a7eb1e8b37f308af91ef5194e8b34c9a597acfefffff8c0a662ddd2aa758b86ddb4204445342fc85a6b7dea8232f2bccba17941744a3b6626c35f524de9e4da55aea16bd5f5bd2aedae525a29ed9671dc79e7b496db417fe7766f544cfd29f507fd2c9af488d621d51eb157c9dd4cd8b8271c66c2192a7758bad7d40be665fe989ac6276f2ccf4a7b4947fe376b9a17b44319448a8f179d3f8f3479473ae7990487d6e372c69fee549383e98c347245ad39e5f7df0c1dfd637c1429d1cf9afe0f6d2058f48f4557fe76fad55a9777b46ed17e2d793da455563ae2a451ab188635a84b79d85d37ad44604fc68b82bc577b376ee3dc05f18fa848c9ebdb4421745fd05e923f2fc804fcd13c26dca7694eb27e72bf9ba3cc1b5229957e53273f0e1df210ff4374ac9aea41463a70c78c8d948c566ae4b9718e2d2b4a5c4103872f7048e822634d1357ae3ce10414fa81288c1c102204da7ada7298f66e5d19a623b05545ee3a2167272bcc9632c628c18fff71f494534f29e5169a06c6cb1171e891428d9b1f9a9888e386335ad43087cc10b18b24aea0f861ad0f301abaefa8ea1a8c07ceb32d50e7063a67d04cad69946e946e9bdcb61abbe898f1393b6ec3f6ebf5dab66dfbcf327ffaf36bd8961c8c765fde368cf7b6e5eff16ff2f7e5fe2577efbffdbf2fb72bbf7bed7daae79c4d224cda36bc4a531c267b794b3933b77df293fb878e97f028d402e4d3249fe338cfc0e7bf7df91bf7c536d08f6cfbd0e4e70c937dae067fd09651b915052172996cfbc44632f879b77f33e933da363f06da7a6f95ffc92b77197be4d6184b5b3112ada5565467add4ee516b2dc32e86daefab93d97fe63a2bd6405ed994aff63a4d939c1d76bbd63faf21a9b5fc7ac1bada616bed4b7751aedd36871f7f85dd5867637ac3144759fdff6dabdb65cfe5ca6ac5f5fb2e9537acd5db7cfd1dffdeaf95fbc7af77b739acbeba8aedb6ffb9fe73dcd72adeb5bab16fb4734c076ca9c34862fcee7fc7eddf657cef6f18e3cebb6edbd19dbcfea561315c31ae1cd7e57d352c8671c5b39886e5d98ebfbdddb97bfde37def7f7e7ffbfb7577d3ff77c205a48139569bc4f4df18effdd763fcddb6e96ecbbad77e5dee72fb31dedb8631febfff1ffb347a1362b483320d76efe532deb00cd6ba7dbfdff6b66b5dcef872771785491c4744dbeebdd1aa28c95a98c7c8a835732e99709286b19cd68d38b75590d2e697c5fc9864b9e7ae3ebfedd4e51799db5988d1dbc805218a94e23449dc6fdbe37011bbed4b7194908bdb3d721e70e0a5f782b508ca3827ce1db1e815adaa15cc9b4b8a5bc8c7496f059376110f8c887e29886729682d2d220a3d8fc88b4d9cbc5dbfafaeae2296d14b5905c7da0a4688d42ea0d4e9de46a6d4462a766723a3a8946890e6fe19e3c7e82f7dcaff4269b48a3146dfb4e8f68f8480d3defc2f5ddaffff5a77a5ee724a9752ca97394619e5b66e444a29b5b4d61aab954a64f42da57b94d3a78c9aee322a911ff6285d46ea924a3ac31853f76a24af9794b967bde79cb16ee2cd7d9b1e2d681fbdbeb6cbf6be3b752af177b7d05cd4bc73f69b9d5dafb44eed150e2998fcf076ff18638c3b5e6979b94c30cbf7a752669e99c9bad41db7844314b4e7bf4b29b1bbb94e85b65d49398976672d83dbc4ee5aedd71492422b9f8e6f9a07dd2be3e82504642dba79bbdbfd6bb7fb9b55e16ed06efbd772d1f9fac721069e3c91e2cd737abd73ceaf561f732d15664223fe5131d1a790087c7539afef268f947e931c43e7df19b795756ac89497d6414b722de4088c9e745cede509da1ea9363a413c11d436ae5326f6b51eb772c8c10a38c4dc71c3cb056d8049e20a353fd8f1810b3b7f06ccbd8dcdc2ee5bbac1db2b23678cb052d9ad6e4aa95dfa7d42983572d4f9c20c16105679b0203185982a2b3aacd172c483eeaec5c0866836dcff3f12911a2b6f8cb1614d0f6cb8c2e029420e2190b01253d5a582a9ffef61e02fd0849efddd6fa57288a80e6c99614d4e95b0dec159b9d5d2b9a510ed978d5516a9289a08628fdec2ddbde909345d40d4f9e28738b05072cf06b9bbc7ae791fa9879a24b2dc1065430f50bacc56185d8841d3861d43786ad86822b3c51aa71bf2b0818412468f14afc6389346133fe099a34a296af1912a0f7dc3d8aa4ebbc04a23268c2d7966b3d90c068b653c8bf958da4ccb6632b04693e53bee181f70320b67565663544fd8fbcbbdcbf92e31558131cdeb230cb96c20539521304e9929599089a8824c9b824c411364f27a30d1a07c30d0c44db95e9f70d471ba0c5fe749679b0ec67c30924e35299d8afa7fc0ea6275734e07bc3056072a7ce64beda901ecb0c5030dd41f8db9efd5da7f93524a700f4929a547ec8e9dee3ab9cd63a4e0dc3ec3cd49ba6669824fe95390f639c8299a1d269dcf039edf04bf8139df1f02f72631469a47c72819f8cbbf629f5eb7f5d36f454f1f7698f75f07ed6e83f57fe35dca0f27935b5029fd696bad0e87ab0153834001f9018837c6d8514595d519d10e98a91d9c9ad02a83ca0caa1bab7f1159fdcd88923a32325283c4e6c5ed7f4437467938e79c9b8b704645a692a1898a125bb688e21a420c1e31b4a972278a863c6d78885b220ca9c0aa8e4daaca8d5558af3ade14b5364454719515471762d85481b4478b31e048628d162d3b4e39f0f0e309a922b8c43cb14416205e3ee4f1450ead364e63eac099717974c4c07040236bf2f254451975b0718308306419347270028b9d3cd8c8ea98b85f2efd2a28b287ebaf688bc4c721aa0c87cc09c49cf3862aa02819baa83f179ef8caea4575e9cdb47a2ffc82882694a1b5f725855c5689a92ca2350e400100fad1af6f0415b8ad42944961788931d38ce2591724aed231f893fb7cfb4dee2953feb4da413fbd1cb813a3f21366676aba6ffc59bdf905d5e13c0baeecd026eb0e560f4abce15435c31b77782113670c2c5cc60ff1a2186143183946e4f094a5298a3d754c41e54b9a3278cc41d35dcd208bc5c31c6868c185049929e2d593143a38b1441832d410a30b9da2039728a5de970d8d0d4784734e3a271864267a4746f7c70d757b84a446475a560fc4f6323c3292466cfce01a4d0d5e722efa1e64e620a27a31d83a10a7093b77d6689902013a717071230a36d2e8c12b38e241fcb23cd1dfd30b1dcebaeffdff35c608ff1f4f90a4c9bd4615dd0f7a6a6cd106f00126ac6bd066153872cc7607276f7996b72cc7685d9e75ddc675308c1d06eb88f0a66170cb300ceb9a36a09f4df398e4d8be5ba769b30e6836f391e1bbc968b219c6415eaf178d28c9a6759b467b7921d0ba172dbf5eb32c93c962e006fb52c837772f2379c35746116b4c143831f9c29e476f3277284729d619067bbd5eddf681c16071d332debaa82507db641dc6d865db863718122ecbbacf678bde4e232ba8c89b380fc85f454a88ba8ee3bcbdddfdd2b025fde3e3c371dbe6a339d806dbb018d7691f9f2f4a2498a31b09957d29d0fe2d98bbd7d65cd77131bde1bd75d1d9c8a832174b26b313d4524a29a5d2ef064ef962271579ad95bebf409973bafb909474afbbec825277eb8488cbb5009c42a4f445b2c156a8cc19e3386dc51a63c5965a69a57ffd0d253e946fc9c3fb35461c82d881610633587ab8ace68ce1411e2c3258a4b963c50f7290908963851566f0200616d0993767c8c1c61173ec09a38ed1b6734e4ffb1466b86648f342a3abbd5db4b7d090c20b292de4e0a1880de668c3861b5d5748959115a5f0bc45489822f5cf8874ec2ad89773cf19c39c5444eefe9adddf65b4f522b1d2e76080863470c0c38c2ce8f850c117585c5671e6fc80041853ccd6d4229c2b31ac1f862e58020f176b90b892a60e0c6488e28b273c65dc70cda4b002680a3d59dab4b1e78cd919535b4ad839f3060f9696bef3a3411aae2b67b898a883061b6adc90618b0f62dcb07933c6bbd244bcb8238a3258e4605144cc63c69b349248a3459526dcec107b83844f6cd305736307d099258c50c2861fe2244125e2a147893a62e8908a228f0f34849893264b0c156c7aa0c10e991846185fe6e4f1e4030d415cb111008b356eb0c329082f559ace08f1e44689385a5d560ea0b2038a385254e1c9d365872629c0a8d1c31c1eea0c61c71767605e0c452f92e8dc40910b8082220b16789071476a8d3c4c6421451b29ccc042034b025f1c150b3741b4b159f80caa509f114652d125545230be91647cc65c6102b513bb9e4491c2e4f4247d6ea92d2638617264881223a3a2a2bd3d4f6bacaaaa24aa196afe5e8696fbfe6f43434353dfd95ad2a950c7b7d24be746273701dd57722bf8bdf65270ea392ec5a57d1a11e03243e56099da0a0b08f198b183d0ba374d5ee57df55596d695cdd256635d756da5995365a5d5a4b5ebc28409c32525fd5aff2913fa2af2b6ece2191d09e982b485d992d0d0927a915d641a69465689c114945614d7cfce0febec714619e5932813378543ee7d28120a7d642b76c9211514917a9c3c8972df8422272321b16acf4de4055151b0648bd00841b83538c4b5b4d3a73653ea594a64a991a5499616b1d4034b9758eac45229963e592a65a9164bbbd8a3faa824ad5ec770001000a3940024160b47432241cad238c70734258f4858c8827114c8301242c820640830060c0080808040300c0425c35cb50f278c4e4fc8b34fe073aa7ed22d09eddd5ce67b28893d5cecd783fd5dc2828bbe3ac02d1ac18cadb7049a65fdadbaabba308323c62ba9ac65bc5d86be12502cf4fc0d72f376ff23882b8b06f0cbefcf63d2e56d44689b404c34c74721d8385fc7faa84c4b240be3b72a375ad3ca2cafe787970bd8d479926d6ab6bacb5ccabfbd345935eb03354a69bdf2d122283a7cdafe0b15445d92dd8f80408b6988dcd5eeebd3ff826de0a0b856979606c5e8986a04e4570b2fcc5d5eec65bd3763b93a5edefd0ebed3e54f23ff6e7abdcbf874f107d7f11ab8dcc6e32e7d8d66571b753a105d3c2708043b3a05f646ede71dd80d89d1ea0f2a9032d4b8cc5dfb82e1f47ee20e68d53e26a8b3a184615eb273c101add2508ab248cefeb01fd99cc2be575cbe27c130dd7b9544c0c279f204a7b1ec86c3a2a0a6c267506cd2480181839b70632b2dfa24656b8c0fcaca1a2761967065e48deccd4cb238aa20d7a9d7a161b897d4768f2313e436d73bc597d7738cadcb4d97049cfb292d06e8fd92455796cf332052263ec72ef6bb8f434c430b56c865f143d6325c168af82a86d7aa00855433a2825f8b06fd1d608a5efa22ea413bda30e89b475bc797660504c27b991328006f6eb04c43f275b98d3f7df1bee457c85b107ca403b61d262bd92574e37077967c35c39a8a2918f67895ffd47ae1ee5effb4a2ddd187bef5d4cf23e20320ce1b339fab0d3ad7d660f7056352e416b76427e014cf2eb4402b2735e474af7ac51c8bcd77b00325b084136409481035afbf3c6a166913f1a08ae93da10ef7f949b88f6999814546c7c3178e622169051caf8aa6eacdb913a1e6c6dba752f2607a180fc7338caa5fdc2daf26741d3ebc6b849618723e84a120d03291e0e00c394f19d2bcf82b43e3005fb6441b2ef1a8a523f9e746aa883d2a113ad7e5ef88d9c8175172c8f54e6182ebf7dad3eb18d360adf79f50fec89c29086c486c595b5a45df1b36969aa163a81d4a06d8c1926690c5308deb81d8d35d6eb91eb8372c49a131ef6a5120d4c31666d9a346aee47c7a4139a3d1fe854866cd0f95a2a4bc61cf527aa819aa4b4a7717a64de5a0428da243e8ebfb503ae3b3e41c66cb87b7501b4369aee151c732abd4f518d0bc4153b11f5bad5981c4018ab2543dac5955e4584d39bad6b7e1b6f7ffb10a60ee7cceaa73b31a394261d3b96cd791ad28234b85660b7eb070616d9cf6b3dc18a72fb8860d4ed8709e76b65da33fbb71fd6b601102b2372cd1ce2ac38792de1817c41861ec61faf7d6029a6173ba0f6ff8d641d7d1acd7678ed939ff0f6ebb25e3ab1a3dd3ac0dbc91f760ce852a92a974cfae48f95f7ec638fe0dbb6aafbb85a3c59f0efcb5eede7457f19c9cf69e04237719d8e12d39dd9fe2b1974546a86b765cbeee7e76ff06164f0f88d3b18cffbb534df701c6219d1220e34fa1dbda2e4a980cf410af3d84cad4fea2bedbb6d2cc4883172a124c365d3494e3205c5b6b0ba920d7de15f239eb868f6122d5f1e1dd31b05665750baccc057aabffac35ea3ee92ff26e0592dd6a801898018e7c77b40a5b8620ef2123c07be7d4868dadb7156e98d5b3359014700795222ebec9bd62c794e5e8f9e3f532488a6b730d0e0dba0da8f34434ae62fe387b225a112ddeb2c8ec96dbdad624c9d210c15b7dc8d059482c7bbefcafddec06f87d651840c61872080b5563143442e9b0e1562603a01052ca324eba59086cb3a4a06ca2249946734bc6fb964f15337eb995cfc5dec93de93bbce57bbdbb7301c0c49c02a3d1711a92351c1443c44a74d9e6221fc14a9483a0cfedf077fa1d59a36d99658b4b08ab138311392639cc5344dabbc391429d65c9183188201d8da8e91de5cba2ccc98789fcdc1db0bfa2ac5683f0b197b69332667f10fd378dfdd9b431878a9597ceea5f0d41876c3ab165318f900c8156c1ed6109228303bff2cf19210e19775d1192721af4c23383d262f4e46440d462f5ba8fb5f5f54122ae293f2bdde7aafe460f44cfb9897974b37460b185e76426a6ac052eb1aa908a00a7db2b49a7a545f250ba216d1919911fd6a03cd8a673c5c6548a434d52bde59f1ebce1ca03242f9708a3361c2ec72fba2bb1519ed9ecd615f856a5e3f5b4b92759f8f714980de3d19638d491e867a1498ff96345fa8d7161ccfa7b49a2b352dcbc4e8ef310f097b11aa7b5adb0eb9e61fdcfd530acb8a11168ea648e1af6c29da71049dcff5eef98823d850c0ba113db2a8f34b97c58593a043e016c8011cf4072248445ac52a270fad438e281020513874fa27866bc1f75b3a935ea346440aad7445ebf5823c5e70d7cd23a0d6945ce1beea21754cb7a940b436f2c98b139698e2f2e3cb279ac4dcff7fbcde921f23727c87ebff9bd83c91261a34b5f769b0de48290608e3efe793f4a2f2f12e9b777bc9900e6607a66c0a9aa277f4b7b42ba4abf3895d511d90f4fbcf584729f758e3c2d9f6195b22cc6b911bd0ac18544122c07d3ef9d2520867ddb366d4b993b07ebec70ee24f5bac54bee21979af1aedb50deea45448f62c720ed8ba70ed82ce8a64185e3be39ca53d4dbe935302b62e3184aa8d73ea4f9399416b507562521dbdf4762cecf456428c6da26220ab34d1dbea9fd6da229de461680def166052083a67a38e9d0693db6034af40ae8d2bbe90f51439592c8b008e3ca500bb833932679cfaaf98110a991d9092ab356fb062d1c9a9e4d1219fc6dc42dad756847031c8b0706fc2b3df230d25c94753af1a295c758c3b038ed3e36a4cde6e463f5a37ee0b45696d4df01c19b3bf733074ffc16fe210977a8e0f7a427164df77302670b88fd889a2abd7dece86afdc667e7942352aa6e49a37b3b2eb6beef3caae96317c4d88533ed36272695ce509716d06df28238d0b39cd2d9429a33ef5b1e5115e6d7938602a9433d354e1d266134a3138fc9e93fe9511ab714a6495686188438a05dbe886f153d3b17762dd4b20a38940f7411277c2b0411de0d2d2ffece946088b0831a1f77c3c92745765783343d1315a0c89dce74655ab41c33913b89eaa5748ccbeda15980d234b70f91f89ac904b3d84528a8d7dba68668ce5321a4b86503c8c1a5ef133bd28359419e7df7d0875849cf1173b27d4b0a876ce36eb35683d109962ce938f4512efefa8cecd4a12b145adea926b392622e8a2b14e1ad6a926ca5d2cb9855be7fd4b1fedbed7bcee26b2cd58b58c2705af262d4923eccee811cc52ccc20372638ffc63ef8b314fa9cdc44ba714b52b17c26aadc33671a68a1999133b41447866f7f8c294f5d9218bfa4ee1b03e9cdcc6aef99cdf7edbbf1503247317e8870cd8ea328bfb0d776d2a57d3184a747f4ec1a62a776116429c9467f3436dc0473c508160f750e81a6072c8caea839e3eb5113b9a4217d29bd01346a6220d1bc829d701e433058bcd1f0cf7a19045feb081ce711aa760096ab8685b15c13f1c2dd611097686ab4e0873eb60012599272d7d967fa919a5490ecb3ab8f7d763456fd12f6998648abd0ce996cb5cf748c1d454889b0a1721387b5bcb6e3a400ac8563e22a9043396b8c4e854224b44e1d13839542f9f15dee1459267302210636a479bca198d02a7dfb694f8b15c567e48368d03bd2f444eb824d71d3b29dbeea2cfe27ed8919354091f9e3d80bd5becb3235a161908a25466f76d8fda4a874613ee51218143385cce17fe23fe6c274fff7c2c81a3528cfd4b230dd915c1801d4321e86bff2f4b613d78bc2c05d7b9971966408cfaa8dc4f017da2fd9b50eb54a0be8caa67861cd1264daa2eca2d518087a404275e43716bf50c7a2bb31a862f528fef2fcda87399559168990e67bbacef8374776a1c6090b6951baa6fcb14e05d906fc6e3c9179507fd0ef93a26bcdbf11e3d1f2cd0d932ef9998fd5fd98e9fc2574ca11135f1ea637a6fdf490a32836fd0568cb723b1b71676d96e7a83e5201dde6e6281b7486d24393a7a348a3cd8b680bb69153973369a5fd59d244a8c0c2d238b6faf165a562391c742697c96a044e7f0fbd4534afb7b320ff039d50945208c2fb6059e75eb93ce1f51ce40f8a1d118e9a9a7e479bc86b21ace06cd420f8c64344b0843a438cf8e0004874795273dc7ab37a7a46b00afc3450ecda2c13802a22a8f1881d5aeb8e2e7b4a0ac41c42fbff371499a4fa21d7c5a444203c98de148f0fc2992742743d606e3d5c1c1947e8062cfa888227923249a42b2990d144cbc3f43535d66507a17edaeaf6730144298123551be422bd812162015f834a8ca6d2615c11f0531ddd9491db5999d7abf50d394e8a06e84ec43da7d9decca83bdaf0a39c495d238c0249fa29e5631b66c558d08fcd47abde13be17ef681cfbabf2d1ebfdc5cba950b9a7da73cfa73b7b10fd94abdc85ee665671e3b2c9001b6ef08a82f0518d1414d60dcc8e10e7c7787b05277a456ba8f3ef2a59d6188dfafcb5c21538eab51c34e5a96a95670861052a907423ceee1c6815a8ad97fbdef4e7a202298ce0c4c5f1ff646952a59d3e057aa78e380c62cb82fce38d2fb718dbf66f438521eb6fb6da9beb07f73e7b53e8fc794578986c6d00519307be91d11e3c9a9355f33e832390f2f5269a1b60440634913e17fa527050830e10915ae889b43fbea343af385133771ab4894e6130af272be7ea06a2d49c885c148d72eddeec597273e9f1af4d904d7303b26ebd35c749ed9d7079184c322b9a51e6db507681ff05b3b262ad5056ee28169f6cee5c210c8dcd1db9d1a107759c9f3a3802678c26b25f044296d1e3a8ce2f2063fa3236ce79c36a4d87cccee3173b369bbb17796bf79efab314f4f23bdbb386565c62853722c425fad7d5beeb8c76cf51657abdbfe9013f7793188ca3f60e6712451dd467a1d0f5b871455713b96adf921ad899cd7e2790a32981c71c5258ff2d100fc7aded303382113862df335123e3b186d625aab4a86382c324ca7ba9ec14f4ab3aaf103d89c8b4d6c41c13b2fce02e87f6af17903409a5681889abc7cfa8c97914036cb762b9a29bdc0d79531bef7c377828b935fe8e6159674edbe147edde92288877ea929fb87b55c6af7cd858577915ef6295d7c34efe0481d69118065b7c260314447dd07fa6471f019cbcfee23c9b959f33f739da160b046cb6f040bb612dcc8b3da52e5d625c6a3623965cff0d5f248161ddd8b751a43104d6af55ae51afc050ce216c4008b52ae1eca644e34984b6bca3fa27b8177393d2377325296be2ea948c369db0db8d986c25c718e73764d80383b4ecaa33ca36693f761d14d685e4da2192f15f00538688f018b577fc54eb246b824549b742962d1b2d250dbcd8cb9f85255fa4353e44597c87ce39dc3af05b9e12d541eb6a75b3de0cb70134f663f1ee715f4007f97b716607e631226cedd93681590e5b12076450d50dae61db1fbf2be358ffab787767cfc9f38d96684e6d374edf89623d3c6fd8055611ddcce86d5d582b722b18b05010b7ab132ae3f7a2685ed29d327cd9152efecad01a7e1fa1b242a2da4324b20b0371f6181f3509785543eb0423c2b796e125f6b9e952d0f0bcaf110b982d3e80489ff5631f18858e2987e5b945188a4a68cb52a7c5263031310b60c1c22f7db0db9ef46d1f8f69c7ce84c0ed75175f8ba4c9758c67e50a4781045bea9c906b98f8d6f065000707fdb58f385d7277921d9c7634e63aba0f894ca1bf7fcce25525ad651a5756e95639525b262db7f15afe196db39eca34526fb061297c821685478c198e3f46f02f1e832bf14c515165e2003dbb18854be27957d4b15614cba76b6bc3fb99ae2e1c014b77b7256ac413167ef3767a2b45eed748de75d9f6fa8c6f04c0c3df8d7bb78503a33313c60d4e0e624ef60a24787b86d855137d9be3f2a0b8900328b9399e7305cd15b28e4dad9f36fc6a37ca9fd33523efadb5f4ed50e47740670f3dc23af361ee24e2b196ce8bbfb10fed4008a9a819e9864fcc0fe8c1dc4d1fe6ef8b0731e40c928e51e60eece79aaa12a388a3de04649feb9e43db8011b4e39ac28d2a81659d7ccd291e24870f4668e6fed95c5172baf2d83fab7ef09cead0cfec3d3f5f8a207520651593991be34d3183f33427f14f04c921e35c67c91affe409ba66c274aa54e61ed42f04fc9cfe488a79672aa56d17533cb2e1db202cb9ba4d7e7c3c7295eeb9333460f8bc121c999d19a9ff9214f49d6114f978526a6ed7e09a2a9c61e449feb15ec65c17a920743d1e648720369e86f0145b4676ce99ffd772f1a1d3c8feb54335d354ab048009b6045822cbb74c4e5a7548c11bfffbee2ebabc5b11d6fb86c11f25d8c71f1b0f9c9570c19b0928031708c491bf8a92167292d4fda147b222363761172d82c91388bcab7c62466dec678a73544c953c77eb0a111709995e6ee5765678d92c4964cca8c5049eee50cc1fc57b51daca8b0a078aace106913409fa2e879788b3594cb56e25d3a3f0e1caf137383ad2470efc504a7f2d0a5bba8b8a8b1950a0b3d9eaa3e6e26fea01cce9ac68f1992d5b50c585508646bd7f8c9060a90e79a0e4eeb1d3335bb52fbe748af20cea7dff1b4cef2e44030f116d4f391094e2704fee84df17e700a28821454408b4f6d126c68846cf218df0e6246006caf5aea58573d3c87a58e717052a8d941f8fea228d4ecaa441900d75c7319a26c72d0a8341faf52723d27a2dba2977146cd18ff8fe31dd901bf9b883a2417a9e18692c359ef8da3e19a321e12930c6e88514bd57a3d057ed18ada20b7b12fc01c0c6299a346a07f1111e0e85bd95727b9f9eb38d9c8f4a8257a65e2bb00d0ab3a67fbb49d8e336836ea622b1c806fe1328fbfb51fb68b11d3a10289541c15050f161495998598fe1e128e8aa8260502b9069912f6830455d2fe79a1b18bfaff35ad22768c5413c723c69358927499120fe5dbf894ea7f0d4a22babfc8ed78f74e1e8a95ec88b3ff2c7c73c642f37da344f14ae9f9e4ec6c5a4218d0edd297037d35ec0de88e6410050266bba0d33f1dac41ad8e44fef821ee0649dab83c9b46056cfaa7a77482bc03e4d38df3784aec6280923bb7649e37115e18697973ae4c2afe4971232d57c67fb6ac7fe07bcf2dc74a2548e64ec22e2b16e2494296114c75feecbfc03e8c720d13e5e37c55827f6d14040918e0171a18ee246b3b3d82895afc556be90705b8bcd896e9045cdcb1b28c07ff288b231c642bc91a6bad9182ea81b57eaedb83f53a821ee8f629610ab84f69890f92d95e458038c7f1fe547b85a6cb6d62f9432970386a8e0de9af2a76265ca63f98a3e4e21e62e7716f48b7d4d6e2b1488aca60612c062dfcc0bc343209b719c7b640a673dea6d286571331a762acca783ef0138608a43e3a1671e1738016dd17c2633d148b8f73c6c9d35dc50d5b00d5bb9ab881c59d2ccd0cb92e3b995722170a30616ab30f9308e955c73dd6a8e5154ea340b4727361bc924cccbf2c94a1d4a2e20019159d619ce15ffa13600d25a75f160e2016ccaa9bfcb3f2c7c533524b9a681aa61c5d58db01a0c9f329cb17be5998d4367d6582ce43928033bcb2bf49bd13142151cc59cfe8d1437e2dc64772c5efc97f97cd7613f2ce71af113d5a2b3af6e08ac633670a8b6d229498769e5c30295260b15fad48a4c159e72147ef556c4e7642229bb844f7ca7bb03839b337eb83d92638531ccd9b7d8b59aa792f9014c54da2406e670dba471d67df301749da96b3ae03d1cd8821110e4270631ebce0400ba686e4c616dcf61db1dacd5c56f30682991cc731ec6a084836eb1eb70d1c82cb3cc7d2201989d9e84541ae11f9399ac85d4f2bfbece66453e4f9f5724b7f179c67ac74a143c1c850c26eb4ce0b8559f340568e08dc292d1cb830320408fbc08956b40dbd9c26644d5afacd64ac10f7e2fbe7f99f43f0a0ba046fc95d8b88ffdd143b1994c22411c51c91301db8c8d799616204bcb9b9593700c7aa7832c79e9b272f1a04759eaef4769b5750420cad4b5850233aa7fe4f03d2a0a24b0d7255b5379a1ee4e6d9cf15778ffe2b9f4e17497933d2ab81cfbadae15bb1ca74aaac890643a97bf74edac50d63c34ce4ad3a6bccfa4eb02500e7e4b4e92d5103f2a4970c55c10e7447e6ac86155017ee2de4dea3bcfc3a310d3f1862909c2b6c4cbec5e73b0c64362b8d7cae31de7d3422d4086cab9aeca2490be73ea8c8398166000120a98f519cdf662fb6d411deb565a75d0db1ff48d2e4ccbebfed16567ec6b3b4a192908cf2c7ca5859858b321b151626d789bd482ca88714ec1a969214799a9d661d5577a528ce051d1e6d9cb1e2fe8c5ea201aa8c76e2e5b88208f39ab04bbea69ce4c2426b5d15cb6e3442e86a57a2dd46e3c6a45f5cc5d1fe31feea4aaf006401c251605f401830e0bc5a3f26ddb18bdf4e66dbb54f8cb17fc636eb21821667366e7c897cb7d1676c012a289fe59b3cc28cdc2a5e1dab7bb07cd22bf6a2d8acb9f3379973d63c0df3d8c0a47d31a79d4a006d7bca581650d37bef29fb95f4f4d78fce570762dee69b27da163ad5d16ac101c561a8fe09b29d8ae0248a28af984ef4049bb914ddfe15e88f115fdbbaed88e14b3d826f86994b7e1d5969435d9dc89f1f87b73748f009a4b68007d53bc84df0180682199ebd361ce1a187782061fe827d3f3c3432a9b1ce572ef7017841a608ec85dceaf3b5d3a1b2969d8cc27b0c0b6a42743881a7a7cc825790b97770a0448d08301b026173cac39216007d7f6884d2efe74ebfbf679625aa765b27752be5f9bb30ce501a1e4443a334db2168ca64f25e22e5041f4fb04b2723817ba0662d3bc7527463963f2f2607c15da72bb1855c02a9f780ba4473f38cd3ec34727a4680103f6c5a41d0261d07837ba30f9bb2ac71533fa99007733ee3bbc31d20e4f40a09a849be8648bb536bd090013b4e9ae800c38f69236b8c966d2755e4c5278b34c1b010641743584f844564c3f9ebdf6ff5a9eaac4fae4d1bcca278fd79818a209959188777728849a423927b9bf055114c204d5d0d82d5fe38ae785437df80cf1f58b937f26eee2daa0cd3d746c737e4e0764876e33c03ee6a0bd4bc6271b434edf8a80b414b75d49630d938699ff268530fdc7c9a8ce1ce89f0dd62649d20a1d0b58ed3dffab716b10a45183ca462527d34ffb323d9f1678a7f4edd09d585cbb329a9911314325ef2295de27e6e5a3e9e40137b6ecc9a5572c0cdd3d57d448aa35c02cdd887ce7a7a435c6f7b158fc9fad80be370784153f389e54fc3604e8de559848939309cc31b86982f0ee1becf3d4716b6411c3968e731dff1df9cf0f42306d35e8c2fad7923c6defec97d5889132809317921eafb35302b786ed58b5431100b0eb1891b9b7e4fc548d3b86289b8f2e1206ab549676cc0d47a59c2f7b67f663761c41908828ce31121d0505815de087615b880b4f619842cb98fc511f605bc719ef7a07cf9e7c137680a6b0a6103ad837d87211c48ac3c209ac23f713b9467cbda992e9ff33ca2135f3a8300a50453285acd8a9b33ff4b0c395a792dcfe58c2a6c157c697e37857e064ec6fbcbc6806ce9942c2f57ce2809af9dc19d28904b1d4c4fbea82445f24ffeebb956231f79e3c48af164ee4f710c0eee7dd7e343f8daef51940ba1253571e6e47aa5f8f428e293424fac8ebbb16348ca6e2d6ebc2b55649910d354fda7aeeb50746193aea6eefe555fc00c2d8802327fc17ad286366beee8774c1e5689cb9d465eb9874d42df9050145e9dbc3311921ebbb96df1b0ca52feb8abe9620b02d8fd8ff8fe197bb1534e3ebcbad1b1a247c88ab53040c05855a3d6eaea77c9a3257a358a0d4e0224775f88888c58022aecefba5a0f5a94624482ec9b32dabb6b1dd435de0b2055053139cb031eb9bed36fbb7a8db0ca3454c8d64e96512707e63b051f6a80b046b5b5c2610121e66fed823a3aecd3716a670eca935a63be327b07399bc87f2c3858c937899317730a6ab543ae936c1b4a0e5e91213ae695bb78b9d5583b4d32cd425634ca657ff10f745301a983a17b31aac7ea1db22c67f7740f0537bfa4c788d915297f4ed34c8597e8fe8e8521522a72fbe6637b0fb6874a98a86e6360a9b20a87e1ba309b5cc7f906c14a75e2758bc267b6ea4fb05eece14d36b60159862aed24b31176229e6ead82a0ed69562e8c12ba56d0079ad7053af2f425fa38f0102e1f242b4ffd8abf87866548a78fd3c96b00869f0c19015b10d25a83054eaab6abb6052a9a08b86ee2326c537cc743731598f114ca6d1c4c664a503fad50ec8842b84101941607a462e89182c8db8e88a6f54d0afbdb97dd3c7a89785a535010bb0595caed709bc8cba418433f53281dede89dde6efb34acb6ab2f0339038145e27d361cb6277d5144668e7a349b7cf5be9d76d40160db7701e8036e66976e06e8eca710637af324f6048cb1f4fd1ccba8d1ca24948ad1ab88cd00be9a463508891da45ee689c66d0f17c0eed7b9431220f55fc9870f97ab52a3c287680d6089529e7c07fbabf3bbe84bcd00abc8708308d1663320413490275a8a7bfc4572cc18dd1dd04968d8410ffdc85369fa6c75e71a33a3be8dd1fb1306247c0402fe458d88211a9a337ac0086a80015a7187ee7d533739a0a5fb7d475c362249068bfcdf31d23ee888a2f701020b309d60e5bd5345d03ecbb632cc5c544d7fc5fa88307cb460fe4b3cc742600a83ab188b47fa87d408b357cc74a9caa4cb9eec44919f91e3dbe689cdb71c49181f9bcf46e62e38223d836c76720681ce1262e313e197ac8d75ebca83d22d7cd581234eea891a0ac45b32dc0789af38211876ab8d24ad960a4d88d45dc826dce61b5bcf2cbd486dbd375b2dffa6c838544228b2b68209f616f58b9be4dd219eea7eed2df6c7946b1db31f43ac3009b055c6a31617cda05220b4478f084b74850dab2708a5ae3bbec3731d76360224846caa9bca9422f154cac2b74e6576b4a424f68aedaf318ffd02ccf4b56a5eabb347343e9d39cdefd09c675de1a005f865a00b89d5f89e38083c20eba867b5a27a3ee69c6e92603249e86973d8a352b84863e4d3432ff4ef09dc7028e58f5e1d1f32063075cc2bd7a2acc2f4d4802c580a48b6d0d9976f8487ae33705334459b6000055a604ba8a8c61d1d918f7654dfa44bd80570d98ab3ce0caa77b28d38005534cd58d251e238e51da5578df3645bc3999979d62ea19e6c17e67c234306e1eed206d0f7e2f6978c2a4d17ae1312df4d29b79038785dac5dde87e2b4ec2f389fe7cb1cf1f43bfeea1d362aac6b5c540aac1be656282b7c2e07c9da90364a618a71ddbb872f6e2d34f3bbaad83ea2c811d80d7ee92f4fa89253ac566cd1e88728e882ff1057346e892b45524f25db9f132aa3be3dbb142cea0f3ea16d04aed719d77d46460c6e243913faf2afbf167e04aed9b96467d50dd3892d29818156c58d581c4a9a15d5622e3c64c27b568af314d10f03c9bb8a1980a41f3f0dac231f3de5093e5fcc623298fe12673396ee228694b92aea6259d02f8d36501e1c9e43257f47b02277a05a5a9c764996f6d00d38859b60b800e00828fcefb0e0e4a114477a7106fb2869a63c719572c258c45946dc37cca27d43f12de596435c011d2a4e4c77a418a2a793a81e0704ffabc9584aef53eb42e8afdae181e182eb3ef4c8569c34bc5ccabc74f0cdb4b177659c518e408805b8910b0dc040a13d145724f1dc34b61eefe632e3cb21e373e2677924a7de19f5a3bac51c36bd40a98756909b3074552a0224b9851822f330e1a0ea59435507ef196ff014989b65b0c79abf29e92aee623414e47696eea626a075ea8c2d476cff4e9e0345760a92bbdc1160dfe4122d620efb0a8acf82b7053283515d6255e7f502289a65684e2a378de482ea5c79f7ee4496ccfac690cdf719ffb7147c744c034423a316a52c12d2bccea6cfd01d97d83289cb128214a272cd7ae4da1653fb5d21620fd892be3801e3f052fc7c76336a2070440511bd783c35ea068db6b32955686e22aaddadac95591cf0e48125d82d7c53fc5e7f53b67360e80ff3d315e399fcb5742d51cf06d57d17ca3dc170115cb984d9e8de3be844ec554a38132d44215c869d3e4cc1b4386ab32ac6aafa8a47dea0b3a2a856b9afb4d82726a0c1c4e8c41abac0f22c039527845681e19d6dc315c3bebfe48bba46fd04662cdf24f6ed212297836ffa09fbc02d9c2b5a92d83ead23c1e26b1b3f441ceaaa66f7543f59ba676d5f8c0fad16e36ec8244c6aaaee8c4e8a40f36e15a0f79168306dfc09f846ff4f90e95f26abb0058ff041b7a90b5b0df6f52893fcebad61c0bdd3919a84bff1bb913d113566208f4bb212ffdbc24f00286384fec2d3341bd38dd69e238295329e4a51ce4d5d3834c2c141a0d761ef1b947f2fb72be732605c4fc4806553c812e4685d7159239a9ba9ad9751d8ea596e07dbc2d7c2916b22e35d04ef650435640207ab62243ac4c6827d55c89d0cf32d1b7ae5719cb7aedab51c455d4da6d2f33834d6be6534c75d1d83fe5360fa67ba1017368ac24363f0d1f47a8f06157e0d00b2af2f6b1c951e56c88bb3987abef00c20d784e88c63eb04a52b1d20aaa497fdfa298dc4eabf088ec37ff12e291a5f091027139d110ab70cc257367b2cea3804893392543ba4f26ca4e899a9a85ec5de1e8ca9a119e6160e0e7021d39391f39ff198da959d46abd21154e9431f22dff3c2d8450ceefc15158a56b45ac05dbc2b283362f4d6c05ed600b8a3436724c000da49755b7b985f5c0344c9b92b1b8b54099a884d3782133dd9d8be20d4f1e23e4389119c717a623e0b44334385de05ec47389d28faf55f04bcc6264a64101a0230942528b5244184f426ac6f0fd024ca71797e92056b504558bce12b108a47e3d94f18cb06f72b49d86362bf18d9c8e1eef971d7eef5441325a7be05f241a84acad4bc6de3733e85d037fb8898ef501ef970712844c9ed8e8b3c74f5b59f230314fad24334c719a4f6b282b54582b471b196fd7539a516f7c4b3f64ad5eb887136655c5a157a1ed1d52bb25bde4a65840446f316f71935b66f8ba41988b7d412403bdbc0a4761f60cdd4c9cd2e13a28c44451a1cc795ed4e391fb3a5d79406ac6d65f5414bb21ec11db35f5bd6cca61b06b8d9e241330da087f9d156e811dd1463430d7d333399cadc83dd4df2a6d1243bc650ae6e6ca0f88d3ff40535317cae4a20ab30d6ea135422816127000236e4ccb0782c44231142daac507e2c4191430b3f10b665a32920d50f9a81636a5c45afb94db07c8828a68663510374358201e69687e4d34d90f7cb3255c467647d6622470a27c73c057abcbf24353ca98728dbaeec9bea76d1347d0d393f57f5aeabb5820b201e664599fdb5f28ca4085bdbc5940d048364961d396b39ae019d7d3e06705e2244a46ee89703a26aa92cc22d9dc0a44f73fab40748b9cc61cdd8a33f654e359fdfeca2fa2bd2212e4b9b1014172f63f89ded89b910d847f35042338dda0dcbbc2ec0701658a013fce18f20121127cf483b8cb8a2e9a1af9ac20382fb1df1b492f6f9f29280841f3b72aba9f5fd2d29db15f7782e4867faab841408679fcfc78169781509f9864549cf47396a9837cd14df21ac39e2a2e707075d4dc8ad328f1646d03767d517f65cca06016b0ded14d364c933a214a0294a3086797c920ab00e01df6998d8f70800d3c388ec2efed44170b9b49cb9cbdd2ae290665c26715ea33a60488a2a13211a5c69fb1a56a222d92a8fd66e5eb5aefdefbf650dc17020fa586f81f16649cbfc6de8b945a55e00e678c0518acfb14efaf20e0b31e25e1eb8f4ce387eaf33adda4d6f4523181b4b0b0308b25e0f23910b362219a949568b832464edf51ac23be900f2f1e4d8f2d817ee120bdf5fe12554f80840d829035bcf0e9e78b4f595a2e57071080b2d95b1266692a56ab3af2f11333b6bad0884aaddcc98d43d30fec306f9d396df188b43aac158ac5040cbd7caddcbe3c130a12cba466e2a54d0cfb91fc1e7a065681bcb26fbf621476886a940ae3e03b57adb5d199c127136cac60ca519a6a15cff17682b418414389452691630729f35103d223b7dc1a8da9886e8340030b6e51022239f1994448bd040aea15931a50c209d93bb040d1562929d8726116c1b279f6e5f5239a2c652355dab18c3691510b3eafcf78bee80c681d12b5e49445a00f888610d7f9e74278ad630615de5e8aed65b713c36eb556f0f23961097a9b8030e426e32f29bfeacc5c69aac078b95385a2816bd85129ece1c53591948b981cb869748be6dd01236a03425d375e7e19c2f1a2a2b1f3441466da828bc22601091c22988731c800f09e5d504ea8a4876c27b5d1c2a5c8c46c9f942fcdb4c4edf6da0ba6f60c8822a823d9dcd96fcc22f2663dec9b3f5311dfb8777e90317da971b8da93a55eedf8135b7bc94753790ba694498ccaa5f3ca74ec51bd1a6caf8ffe26c2815777abf6637459f3e672a2deb6b6ad795339416dab2d6b9e5c4ed4579e185000459fc26a4f3a55f0b4c81ef2ea37fd1261db358a7cbade585c9d9ea44e1304a47d29ae983e033e1644812b4839df76718cf764bdb096682812e20226d129cc3eae41abe36271a44eda0e3217e8f59dc6d681a9f8ea0423735f8f0fae31dc692204116ebbc77918e65f3fd858cb34463a41050f97ed083ef8afbf553ff8d6f18da6a83352cc62320fabe8f64955c4b878268a472b5c12f69703864350ffa7494f5218c80726e30a4d082569c634928f7d880b8cf09749c4add81dd8904a4c7d7f1c7b6d1e851fad94186e91ea87a356db3f6ff9d83eb777c2e443785a18171476b7908f33f767ca7adffe7ef98e6d8a135fb8b113e830434d5fd10a76a290a9f917c23b3c066005d480c831780ae37e8c47dbeed9adc31809b88e31cd8122434ae77c2688ab8db03226204a7f444e203261b995a14ba0f9ddcc59ea2deaf1109dab710996a8927a410fd699cf2d0c5f787e2b506300201ea296ce698c559c6acdd57ce54c8d9d790dc9d5527a7904c46756ce01f08b7fc2dc18c0d510d7270842c83b6128d11c116d0b7d0009e1566363e3fd4336af20e820051f8c106dc67a80dadce678e11681d9c3af709ba13bb082162e220b1230f02fa9a4e3610dcc3d993f619429313ba1c7ecdb8abdae28e0f419d104eca97778f198b93c08b1c5ac68575ee120dd62d0bd3240eeff8002982469b42f32d00963d2a11d734704c1af2e94d77b10a62ff3a7cfca799d5c242a2b854ef3dfe4797e3cc5b7999999f9a0501cf2833c7a49c2a7602ad974b1fac2148ee8484010d1221260380e0a65d8898fdbe77ac82077d20c58e333caaeb171b458435aa6c30cb382055a965250fd3121726d56c0a3268a546a199d794945977eda3efe4911dbfea27c10a0e121f7bff4c5f69c1c9969da50e4c43ef4dffd603f575cb803881ad7f095011c129f3d2060f87044aeb406ad90d031096f6d12b125bcabd6a81df3167879ecf7e872081cb499d58a83bbcbd76f34f865d1956b7e8a7703f969fc1b93d4d53f4daec5e545b70380540a91a317e917ab519112191ea28e102261802485d124a229d56d41bec68f34c93f52b4bae4ccc1937ee31341c134ac79e6529fa1dcabd22b2e1229b7411410db1135030790a74ba4b1e8e366767b7be66e4597f719a1d4f7944398143f871511f088d83c06ffac5e4d73d0ec3400720717f243b73031bad4ec726451c483ae9eb13bd3980a1db6252b0445a8a64f2825d4534995d26e998756e5e3d15e64ff31da8589028319de5c5006c6aadb69866f3a09ba31136c2ba0288a27bc429212ba3b04826002449fc21956ddfb45da1ff8ad3e683a9012034f601785341bcc1b4dc8a0a06cb999194ec544177259a364c6f81a0bab8c0e4d4f2f5f43b4f63e02dfe6291090f1ff81a466364944abddf4e1d0dce3c41b2818f134298b7bcfc7442e069e71e0b446730a2b57b86d72f12c6747f35ea6a801764ef1f8a2435e64bda599c89bc3ba10af79c8372438ecef17a6321d9e400a2a0c367dcadac2d0da99be1fc3b3f0e459ec45ebb3cd6343ee88d706a05fadd4bf21ca353a7ba0734facc8d576a1a5e2efcda56d399c523326cb935ca29b6f6bc9b8f196884f0a44fe390fed4ff5fd2c02f2defaca277a4d3bbe5c77a61fed2ed19ab6f8f77309c841e454811deb639a6f11941cc91ecd0ab3f8cdcb4549414e3e9c88816b1481f828ad26cc06828c6b18aa1587baa1fc94db20481a8c7a02f22a29824d051e7ed71c7a1503114bae72dfa43c24f0e7f45f2119d8ae8ee216f0dd359d54d3a5e24ff341140e307e096e16d2b84397c668abc586ee2acb60a8ea18ab0e36f42d4553ddb7a08ddf13b49bd897f51b90fbe83486dd414101d64ea384c1112eed5e28e74eda1b33636d4a7a02869e225dd98cdaf6685f54444af763e1b48b684e4cc11502c3cd67ee4cf6b904a6512d0526e6d42d3746b03a24b9918990925696574f1264ac8a9206c02599c35261fb3db7069603565e6b2ba8e4a414278fa24ab64d4827b05ca028adf09edd029a17ffb45301caf5b438e6f25d649b096cd85a952c02fcb3d2fd070b3b1f0eca76ad34eb408519590e7d79c7e42aaeaf95064035f53d8a5fc6a0721dc41a5e6094e8427c0c7f84bafd6c423d03cd713b5b02df47f03e7fec7922a21e031d5526c894b9f67691a7417d1604b97cac0e57003d908071fa87fb4297e8ff8ec365ad6056ac6adceb0ac62a914e36d9a416ce802bf74310e21d6c86b6e6377d00e8f39166e920141c8b5a36e7313824697181be44364426029c6bab2d9f01491abaa44fd6ec1795dc4dcb06993f21c50679914df7a40cb999101d387b01d26dd4627f1ce654f9630edcbec11f8c14359183e25481b531243101c7169b08fc2fd430a582e24d15661e931c38888f0cf4f0b72025807732ec005a8caed12eab7e20a59d009772b0d743d97376572681b79af81fb41e1895d2bf90ccc5c8c7164ec4a614d35f5760281e4138d0f862fd1190956d9a64cb2c82431f504019c9ecf48e7ef75efa572fb90c325b6f5a27a9b6d63fdf427819cf439d3540d5bb134097d0a2e9ed0cf53f51dff3f852da61aab4961a06cdfe1523af105b2182d12d0e7a9bd6d3a5e6bc0f2f4aef991c45f1691d2d2762a97f49e9ac4efa2bfb39fbd9174a269fededd120fecbd0edf8f5639dbb283f3f7cf9ed17abe0d017390e375512d3bf6f8054a92b1d815f22a00919917d0ac7c5964283e9105afdf0978beaf46a3a052c7aa3d4815742f2f3e310a221f603b10142e707f63326fb0326ae46638d8360ebc3ba0c3da4afb2c8c9d01dde2045b1e02f3d1c131a4f3c28e3c56d6899f127a63512b53fc1b0089a13b1bf553492d36062990727393e412381120cb116d85d5599b68ac9b825c45f9e7cd8c4b1c6025dfb22fddda2a7cdb0f3bef6aa3f127b4ccb8bf284788de1257d0eafbf2d064fd63780f0bfa28d58b949e88dad7c4e8b451835c4874617de730f5be001f777c3ec5d5401b9792b153b1bc17e727ad89a1b0e94bd508a93105b8a42a27c8bf161eb7f867e170446e631ea30947733b3908250a0394107d517350b4a8080f4d77c1f17cbc63c1b1165a1d3ca0f2dc1b056a592593f6de7161c38d231b8c378e893180864ef277807279c6430e0b076caa051b803fe105a02acd4a3a07757a07c32f8c2e10615c0a9b2d0caf20df90bf438041f64d1a4fd7cf42dfcff9f0192d8880ec2198e1d1972e65f80c505fd206f7b83e87e96f84e7849fc0d86ea946eb587bcdbad96fddcb149b8cfed72f07a84ab66baa03c02baecbb180c183a08dcfab924925fd2bc9783c23a79dbd91e978fa5a958e61c96cfb9e46ab366cc7b89c6e0f80ceefd491655007a09d418648aa8e45625e26c94631cb16e9f740a597a009582337e5251c5ce98e8a43a1c6e4d185dc08b26807b65f09695dbd5273724132186017bbcae24c84223050ecdb5b92d2baa254dddace8f66d395b5fa11139645cbaefbb41b3c1de3b2b3c07304112b9871cc383befcaa8935931835494d64ca827c94486d0a9c12baa90eb567f348962d06e24d2aba0232357dae03508bd50f31e9e468b82308c4387582c0b5c4d24795bb12cca5c4f0ef157e02b5fcc7f9640ef91766f2dbab72ac277232d3d1d71ed2cf8c30fa5be63a171b852bcfca02efb666f51eba42aeb354521cc7444bd4b747de4ca263c9e9a873d8c936267b2a9ded6e822222b598e6a3d13f17fa26cbfe90e0f23f7900931d9c286241f3fded40d318ea16afa984819978c0e509af32fe1f588cb9b7684e6a64ff188384ca96ae1277415d43e706036065b71949d51f76f00694aa625927f562e0d8c53a5cbb0f490b252995bc760547a87ed71cec3e76743c87cb03d25b8d97a35c414e0daa4b676488eb8aff7b22fb2f673ab49f596af9a630641b9b57d80c0c6de1a301a129df8ef12c403fa1aefd214900a5697402bd43022edb2d47f5d0db5e2885ed62f44e1860f0518b02c43655540f0e3c728ce345b9008d8f84658f01f6502b1d29273e68aaf65985f4589e8626dd6bfdad8310db5b720ad4d115d3a2188dfc71e32973f54b5ecf4afb0b96cf002eaf6cb1732c8a6bdd1c80a474cfa482d6a8759b1327636860436fc999e301526fbea745442f39f057cc9b16b22f7c73d1b7f1fdd8410ec16ebd11e1004d203634573bf0fbd34b851e35d5c3fcf3982eaa23d965a14b1a8a387f080bf8e7b0fa7273ec3044550ac57f498c785d22ff109235489c6b76e71c9349bf6c350d329d99728202a46ae62895547a503a625412d1acb2bc6402c1ce44ead42b00a16510946f37febc4b086161fd2087d0073b2f9d0d6678e595311b05f387f4ea9c76cd570e9d9da65a590c736ec17f085e9193d286ed78ee48ea7c7a3f6463964bac9b924c6e5b961e9702d7198948e4e1c7a10d12bc438833646262a710b28170ee9b46a6f4f18dfcc28478c53b25c8a871943c6a468805f39e659b800829ea03a7164d500986fe5e3029aa3bdeeee038bfc48a8c33e099c43d1716e477b51b30b7a5956d42dbbdb89cb23fe141e720f36944a922c06d6f130a2d7c86ad0744940559ac03abb893928989b51bb05ab5c6a2ffab348e2ed290986c30280c6d41b0fb281507d665a83f8daa969aa63d3ff16319f55afa30b2792542904f71bfa0d8ef10ae5926b657452bcc99172794316f15357ff6e9fbdd993e424033d0266e1770a5f4cc77630b9d489f37681329f7e02362cfda69c68f785b6b2b39fbeb8552de13fdf0944c93b4ba257972c9b18e1e4654e96fc6121db4407feaf58e022df04d2b622480d168a5b3686145adbf49eb7d35c0484d36d137ec73d57e62002d07e59719a655a60a8ad515bbd0447d456888fa5c8ce4c42409dbb0f6c08c22ba47443157a821e9583cd2750bf416ac447e9b5c068e894e715c654c81326d247fd9c19a6cdb773f1a3829e6e6130ee0d8845a296f820c852ca1368791270e489ee9008e868dc313bff31246b7e6c3c8eaba9780e6b5ea5dd18d9a733933a0e83e9a1ddf3a872b01e7acfc248248b8e697b34060e0f9371801f2974f2b56c42d66957a2da15a37b5f2b7c3548e95d734fc996c78a35eef7e2731536c347e9929010018bc0ae702b55c9d5245bc69d9d825ef2f19f99605827e102cb973a8030eebcfaae3d23358465e72d8fb511a2d774362491f987c0795103647e58f4e5dd0a04e77951b9dcfac3a713b7c7185e413fd20be2f83b2c0d740399771803948ad2e5a1a7201bb40b323497c9901d230f57855437c0d2067ca203e37e34957b505117fe69d40a728e036c5c0a2bd117dd86fe1b382a411c275e2be65ef116ad84abe00eaab68ff10cb1ee3f9a2d50dc1c7a21ce624c16f7dc7e14b22807e2293149f1ff2e9f4e51249fd52c755cd2002133457e22f1302b05ecde9a8a5f41adf1166e0980ef201fc5e1051bbd1dd8c4f7d5ec301f58f79425ceaaf21695404e6a10ee8e3a5c237bd6aa3a8d504fddd8793a398f33382878a6945c24f75cc0c967f086dfc1b1dea03137fa1e7ffe2cade1c9c2bea581a3683954b255798d5ddb9fc4e22cedade6a6a876e2866c1ba6b37a317ab12db3bf65f2d652ed8ba9bcdf04a1accf008d93c12ece13c66b643f2dcc576413d4a29ba6ab582ca0f278f3ad01157f14398f959bff2efe73faef6484fa96f50d4077b4056ae69fd8549e2dd32a3cf32b22e7d0eada0d61de007720cafaa8adee6ab0c93eef3916a2c26680ae5b7efab3a0fd69b6d8ed4572dcac4741b18654721655efe9b4bdd02c3a372151021521ce694cfcb71eaef05ac08b3d2d1f961db24528cd4856800a5c8ec16612fec333c9be0b1c8a9b70c7db3dc454539bd9fb6fbcbe6738061464188df8ca203d3c00ea882f2b687833d5200b3178f21a801d89ccb9e4b5b45b4762c6ee87c44bcb69907f7bd47b7f99d6d64aeebadba437d3c0ae02c3cb20362da761cdaf8909b0c38efa094516ab684d01f8f170db0825e19d5e555de6c373c782e5e7cae826ae84597029b1d6a2cc7a301d2d3340f4b8c1625ebdbd58bb475041e545f4640634dfd9808f36e3078bf366647fe39691ca2a0eced5c8c75989877fa87a77215e8f2de4ecdf087fd6d02d3a7cbe1d2f293d533440b8724bec407ba00167a087eb3fa32725b4307562715c0b04fa2086e60101829721edcfa6a901898b2f2d0f0547cb1a3d6d194081c13252476f1621021308d10a4a89d8b84e95f8a04e44146a37e8c3f798c0e9106de8902ee75452f6f21fa817e6a61794bbe0bd6e7de8c030ab3c9be031417795a6e6e8c59e7b5efdf6ba0eff35490f2e0e43bd41973a44236aad3ca989b1bcf7d133370f5bf11cd7c68d9cd5cb14133ae6d1eafac297e80d0b52f2987e2eb182a38200ceb2511aa763f9e6267b0db54189e5c9f26d122d3e75fbfe648aa09a78b6881b503894ae92c61fe268b844a5804f56ac23c8b8454936f9bf8c31fcfc149a80b4b295953d74612ea1f7030176dc4ffa19938e22051a1003017854f1e648ed3691b67eebf3c4d128488ebd64a814d62a74d588826aebf4148b9a06f7a551dcab3ff135914ffa45cb3f02654e1f0b01df2c6bfa665d3701ec970c8af88748ef209e00d7eeefe3e04405412d08307d5f6493dc3014e7c730158b091497478fabb9e24101d7a8dcb1d1c9324f15cf32e0ed8e91fd1443bebf740aa331daaa8334990f7d090b8eb557e125a83f68562e244677bf96d65ef1f109ca827364762f2d3c0ee2650e7adb2fcefd6c796873d85c3947b3c0916ec3bcf8ee9981887cf2be1af5e0740b1075d90b83091727efede8e5cd749e6afe22535dca67137e23b0d856f703fc6f603dcc4c18e3837a7dba04060823549f48ce79b5a066d7786ccb71e6cdcb71efe90e861ed168a2dcefaf55a673cb75d8d232169b06d9e857a43322e9c599bb29deca61860da33593214c9157862cecc4f0739e39f3005f016ce6b270b62e504d572ea4ebc684fb7b26e1b049acac54ebe23a37dbaf9531cce1ae6ca8d6f59519ca2a7603685752c28ddb15b5979b45860a518bb277c873bd2201958e0e650fefaa5faa2c6ff3b0c00ddf9acd37a958915ed0dc512c3e1e536a156b359b26f8ba974e750cba16ad715ee04abf817dd5a2087e642a97b774dc807941e7d984638905eda5e878cb0c6e84e7fc947fdc2843a8abf37c4be9531138ccd8f9b32a60b0299e5d1df9d2a0ce901938965d0ce8746f4c91f256cac121cd9c6205b194b3c834559a3431bf42b9d5cc75125e3d8796ac484f654d02cfd00f08142b32fc5f16b259f4eaa9ce768f228a0c7b388ba9b684776211d482136c04d04a1ce13aed149457feb9eb7b41935bc49b5de11867dd2b615c2283e5a66027b7ae1595747d42e55cdf62007325e6a61107d860328518f9842006a188c2f16e90586950d635013c13b06ada860105c041075a9921b365f7eeb9a215883dbb2d789409543bc955c743a5ea9f4b61ddc75b18043160573d488fa7dac4182e155ce1599213f20f1c265fd6b5efbc8152c6f277434a52a3bac08489a0e9e860e9110d8a9e46533b10072fc79c874fd7296f617440d03c0f9380c704734597bb749aee21866cddc52e3ded684671e9c20f164b9520729576137c6a47a35f8c0058cda7690f34bc4a41065d41f44817ea48799922f7799d8d36db8ee8d04c7041fc4608b9d55e0d4222ea6ddf592fc7e741e1ff954be196a4f5d3c2c98fd974fc1b0bf513d84ed3e4ddcae78f7d4b95df453a81ab811321b8529f96abefab440dd652eaeefde3008e74efd0668aad4c99c772da92445002fc93acd230875c8703e531ab30c2518c62825735861e2175e3ed4b720c0464cd97b6a48f3f19105ee26ccb861d93dabfbf242a0743630dcef042d4903cebc50d3b23d3aa20c08987e947ff566fd972eee14d80bc6c6aa31ac8c63887c8bfdfe5c57cf078f068bbf9c1b5f0154643d4e50e7a9dbce42071a8b711c240d1f0e7bd1000dc8ec6dcc30d8d4a6dca2b9a55616f0bf4bab0ef1e4e011c74187704b4fbe41601fe4f92f93de70174fabd9637989a498e9d52705cc60d45b78fe5ecf187a6196881278357f45182405eb82f4d73c15a7c5b730d81b800c972b6b5315f082f90cc3d432f04fd132e1830d8c98080fc62590cfcdc88e006786e90e25f3443fef56063920b7832d3c029cfcf8536b1998481a40d40a83fd1e88d4c74fb4f4e7e6391a9013d6b9cfa9ca8c3cdddcc35dc23705bdb8212e45b4ca877d0d1802098faba663efe99c14ea39bcc036bcfb666db3ed5224c3dddf7891db198cab8b131590eac6b7da5133ae0bdd02a4e31ac65a1a23f2011d9edb31fbba31294dcef316bbeda5152f0237d6a4feb7bbf365c79aa6618fcca617a861f2313c5470105ce5384666ea4d854c83377af2144d32828ae14997c15837790db4a3e70eafba151ee69e9a2065c1b3fbe89f836b5471141bb41387fc3d8b8c1120a8d40fc8c3c945004620e574228253399da58bb0b8710691f6375d38d34821532befd61a2414964a437150ce518cd2bb52049203a75b5f6fa9a1cd691058e1cc48dd9c26135d1abd89404b16a7c17548edd0eac558beee7d2ad84ea2a123d400c0a656e814fcf1e02b001587ae40aca986e1cc12f2fe7039df876e74541967ee14e1da802c263010f27705cb8ea39c2122bfa223476b963cce0fb48e58309ff606e1d77cf76067c10bc66883b002ba11c6228f683d4103e20dbe971473c1c2ef050ebc382e51a4fc724739ac04b7b7d8d9b6e52203291f70e70ce90392d29c827a0a7db40b78a6a832e07aedfb68d7dfe335f5613348f2af71941c75544ab0b6cd1b841370061b4037fccf07f057ec38c1efdfc586e86b65f4717e3f6d26e7aec22bf39be2f1562ab67bd97401ed0e3d22d21d5fe9753794b1b0e3d74b159b0fe78f8b92daee46c43ac11b1c7ee963d49417f341ac848265aa1d8b82f775d35aa85dcd62a5b8738af19a86160743e20f52216bf4c490e92be3e3b96926c1a063b446779796ee553cb9f935cafe37d8fad67a812dc6bf010015728b470a0618eed709be818ff95bca3bbd7e72726c3319c09085c1b3970fdc5ee24601625267686eb744767ada8e388872cd5154990904d08e08327b743e417e09e9ab6d6b0046332d53285801d843ea9303e026903810a2cd9d3fe4b42cfdd3fdf51a5e681c245c8ba3eed7faf28291554aab62f4be65801b82f42a88f53374df1a0ced06dd4b219ea26fdeeccd0164e1c8c5948d41fa5124a9c0156a06150a78b429c317a81d76a23767c13d1ea1ff19f4b399a19a1025dd133a9a75f9eadfb832013aa5585471ff6ce7abebe7a194aa364a72544fbf30662eeff716c917bb9362cf0f359f6847b370d94b03b67ff04d21d6b4da759abe4dc776c3754e945971ce0064dcef719bce95beabe02a441febf6fdd942690c0edad809e30c0a2243db3d088b7e4bdc044e22f0d84d1a3ba8ae6bbf69451688e3d5ddf68e8c9fad0bae04a79a46291b33ef61d436d3a2344630e557a5284555df28b30c6b390b40a6d38c3d0d7043f42cc162277af7005043e90557ec5065eeab8e0287bb3a6f307298e2356f9c2e53127b644a62d5f9dceffacce8eb995e6579625116fe71becb49bb482e659cadd2f336726f9e308e4937164188720588939a95a3b19ebd6e425632d160811790c732badffe4d565f780d2f824a3f46b7695a38ef6da6739bf619bc4ed0b4f27adc6237fc87c8abe88134f654a95c3734a985d758a7d971b6866c06435e13ce45f05530f7c0570d92f050b2100f43c3fb3e3394a283154883609ce0279e42625e71a5258ea413f2159de368ccb65bca83179a89629221c6884aabb99e6fbb54570398399ff739674ac90dc35de1a6bce375f3be43dde3c557f6d360fb66e958c9cbce6b74426342301f413026fff5590d0d834738ae8425673dce94cf7d04da6e70db1ce13758e06ac4efc6e038ad7fd983af5c461936825e3449b63d8f4efb0519b8f8a4894bf094d9647f8775c9e8d34d9071e634f81b34fb92d4e490bfcc7e0a8be736a5186cfcbc121b5601b9a17f1b049216b4081da1824597a3caf5a2408c13b3e887c9828a08993be6565ffa8d14e2a839225a7237a89afe0e560c168e452abd638aa0be0afa093b34607111227a784c6b17e6ef058d8e1e3fed27430e85829e858fa85fcecabbfd2a0492da08c83101b27f587b603a5263f103b56cf692066ba1d7454cb0eb251645c418926c3217b76cdd6111826ddec1fb304c3fa6b3abaaa5f302094a5b18481eed35cebeacc39d1a9fd2fe652d46f16052fd301eb45ee476549145a09808ea6febe57a9c6876587094ba9c50e5831f30e25c1b522c8fd7a4b15d60acfd6c38c9079275529b698dd8adb0502cb70e19b59c340aeea1f66509bb16e8c6af59525e935b591b857de2a88b01d5777fd8d3589b183039e4b3e96780d29c089dd91a6e59bd188f848b845f0dcfebbbd72b90e2d5b2c933920679b0f8dfa9b060eebb1c9efa2b554518ef15e482d496c488deb691b5db609a963fc7f3d4c3eee25bae13e80ee2c182ce0e912a6a09067924bfe9104e1b38ed1ef6e2d78c38a822b480bf06fd11eb23fd7c31cd0ed1b5eedd0ca0c76f696892c6ee37dcd297af5d1405b387a73a831bb32328f4090b66110fe874d64b3d4e2f746c954317c5175439e976dd8fa67ff44c9a0fd3bf826d10e5aa70690002ab71551c247d8e9a1abf5c1cb5dc3a814ac3aee1e0e4e3745f5740843e2684b03a225c557b9d98cd0598d9fe5115627d2e1df426b02c84ba68a404ad34135618c6aa88a545184064dfdf612bae417b1409511292eb238515d9caef274bca0b7e026cefe522345f5c98a559c9b7d1a8e6d4e79836cb36190fb732638431700187c041aa48ea16df7944b77b1a10417b62452140e217617b461940f6b03a438971ce77dbc8d49979f240d7d9ef28990b3435143c6a5278d7cb3a00653532e31f201f08dee2d35bffa64947c26915202ab64b10917842c8ec77d019dbb11a304c0d8de6e55c9d2e893725b2c7310442c98af5ca30861a610a57f92a170e330c6545c61562ae9fa52f204ec85cf958fb3f6b556172aad4bd4c93c14e050fe040ecbdf658dbd07cb0d081614bdb08c6a431a8ba638d452189dbdca491a163b01f7bbdbcbde170907d6e2c1b1b21a7bc63c014fe97f68e510be42a6f84d3091b3aad74c30217885e9622b507571ffe86d340f8da81aab37ec99a87c1cb7284a4503bc45254c775bb8fe2cc216ff18ec48d958798e594829bf28966049855eb0c40a866c20d89727f688bfb8a00706105bba408eaf09b486822747d9910345ea1df0fbbb5778b8e10adf7a0e32c11293f2bfaf3fdf38d2f72161ddff8842eb4198bfa79c34ef11832e168a4a3ca574a832beda623d5887fad642399523a7ead951e434c895b02e476010a0891355e80d2944d1be94cc23503504f18b4ae9edab6524d9ab72549882e0a93d6150cdb33458a5048713ca111e2437f53d795c6bc06fb237a1e83e5653f43a1c4afb7e7c77e7bd669bfcea8ba55439b9ca3ad4dcc5a224d2421929248e4d2cade243e03490368032f4f9355c6085ec0a1e255481cc4c0c50c743cedcfeb5e676ec3d75606746419c65aef2d8a9ca75278b2aa2053ae5d14e6482bd733ad8852a3d24b9bb3525aa5664389f196a5de5ef7b3db82e20e35f11349b3c471113f55544d8d34cc8e39fbb730edd4e6544d3ae7adf5de5aafd52a9d999c328c44907e054520487aed6da849f749e1f65c8849f9f5a87b4f4cf1859473d189144f52ec2dbdaae57329fd5fe77b93d200e3bdf9ffd4b8deca3a81d79456ebb64ab1e2b6bd096bdf646ff8f6968b84d56a172139d1b22ce4d46039e31500bcc55525300cd181e380326d91e53182c7974c630787e934476088507b90802a8d54a088558787d4076204861c3a8f0ed36f7815260100ad2e62e5c1f187d2fe802a6d18b5beeff01c54ef4184b7f21843d48e0fa81108d608dd63ecf8f0274e12c1517f0fe3f355fe0e3d473f87dff02e1daff298bdffc83b7acea7c19b18d54d2d3357917a0a8b56a4d5f9d4834537f10bb995123b5426c1a1a1f45b24669de96f88ea39f4477b97b8f823ef4f5b8abcf74a2b5103677a91cb05fcd49f4a26132e39b8fb54cfb128ed3953cfb9cfb77729bd8845ef3d589affd5d7efb27f24595290202c2e62cf919d879c8ba8e76c7d83b8abf6d7732c8b8bd7733a17dd7372cf99ef22e28d6d15d146f9c392c9c5e93b14d27f4944a5e47f32713c6b3baa79954092b7757767a2ae22aa01761510dc1b45c5f33a0a0d142add0c1115adbb08cf884ace7da4a74485e3b6aeb26d18c754eeab5c6b81ba8a7c15b34fe993fdacf87ece9b1ad8ebffabb9251e19aaba8bccbd0cae69a42ec7a54aca86706de73929449993421b4715f53f46b0112059d853decc170fc67b732ee4636f48800dc1341ced457cfde870403506c8025b7bedc4e8cc8ccd202a3387e60d1a336d509829445fa6149a5248da9834f365c2cc197963cac8a119e3237da40c19247f240d199333640d099340f2668856a0e6456b6c4aa430863006277c314b103fe43bf865d482f3bf3f30bed1dfa11b5e22f5cbe303bb231388d859c27e816257885260f3e019cc62cf7e829c123b547c1c5303179abe7aaa282d22954a1c0ca514efe8db19cca2ac43bbbf6e7adc27f2b68e9709238da33977d604d24b85c7fd0abd1aee349fd5be38cdcb124f19d4665fa07a03a1a13952bf23d14aec7f272e0afca0c986c27d9892577a78640c3b12868e7c2171648b15ab35c2f541c2f4bc04ea4f26383eb5328ea811e5344a1a133e96482371943125224ab247f932c222a233b992533894cd04c5095ba291d491293227cd96af7dad586ff17b8f83bf53e19f8498f85004f20fd1b5758b2551f2e2d01364708ef1c9cddc4823e84e1b99570b2f72b5f6ffa325730f01fd1a4cfd14ec77ed8d312b149b6035dc8d3152733d05970564bce563bc37c67b73febf5ab55a9966a79d25ccd46ba6989a7c59fb28e94bc5374feaaf5a2e1e1f58f6f302d236211776e6820c13cd5178f904892be930c9e5a5918de7adf4e9be1f25a2793e795fc775c179ce5ce95b461c2f7e5e77bf65e499e3f0d612e6fbfd779cd6186fa8aee147a3cb65ef3bac31deb693def0e934667c42a5f83f87bb6fe92d1aeccd984ba14e7de37d7bfc9cd20780946a01461fba6cd59400c85761b4a8c10d40bc54f7b645f719402e0c50b8010440f2ce842064011910ae084058c10e72a824410d8ce90a25f841d0056a2684d23ff385b438252dea7633c262a3e19a101a4a5d88664a9c3c8a0c09932eea9f1ffff6d62626653aaab9fbb486860766bf36c742e25ee04aaabe3e136d0585128ee85ebbbbb618ebb670ac43255739f66163255c37827388dd4a78978487f57ba2887351ebbd333b334ef75c215d7b6e26c89563c5a53fb967b55f11bd56d4c7276effead26bc596b7dfb6f85aa1bdee57f4eb152bbe2e7af057bed78abdff4bad08bb380a331572c8f4fc4b1d1c23e5e32c8d1969448dc693389ac231251a45e018ee71f48da2377addf8e971e791e3c6bc8d1a8ff78ed88e256d24d591d3d1d68cb75e18fa55091c5bf5897e043065f2f8a9dbe37b88dd1675630b0b4777d950eaf8cdb708ec1bbee33b85503d75b13717894cac0d1c3a788caa7e6a696d111781a03722b13eac4ca88eff1611df4111e8795da9b7b0b880f80fefc2e2240ddfbf25f440cfebbad4fecefbbe9689248e44941ee42140b05060e949a66f992c68f920b7fa2e1c36a8ee4f8ffcb2dbc7e33ff75bc7f6f54fba25d551a7a9371710a720828c38404042ef82b8c80ab8e0060640be9ea966e43f5191b76c5689abd6b6152fc71cde2eb69305af7db5160421c6ebb395073632b81017efbdc9518535c67b734ee9bd5dabe39c9940a52f4dcb782aa8832c430d89f14a07944686a1c04e10cd7ab69a91a11a67398831038325eb95c560c103727612184385195ffd4cdf5afb2ef3a9155971e3b6259727274c645936359e36b75ea6d8f5a7f619cf9c73cea79452bcaab5d6ba5bda77afb5d678a73b0a293089d7cd1b47670a600e00257bf65acd0bd00e6ca015d4d0497b8e4a16432167bac87c631807cc2d054490e1058894efd2a9d0f3c207405c5e88c736d0d0ca662d7d700b46bf9b51dfa3711faca1fd172492db87cfbd687feffca38cf4a2085286dc2921840f8c103b3d3f3a3a92e7857f09e6f4a698d4a364343cc7cc7f074dffb1e63d6c38fc869bd57738e9c06183caa38f3fee0e0da3e6488d18751aab898f5989a404048bc543ccc403114e40b11362e51be144081d10ac1b9c14d2480c45e0febc4e83f811b6882d04665deb41fbf01e5aa6594588f889d3a22d117d86884da00f1efa84cd1f29d4617e2f7945aea4a4a4a0a0a0989898a04081e2c48913252525242424232323222222212121264c982851a2040912243e3e3e5c2ed78811235aad168bc55aad562a95eaff53a914e75c14c5bdb7d61a635cbfd639b3cfe45f5b7d4ee05e63eb733598ad3f1a05aa3346a5d0a44f37b0a50a03f4ec720513117aae7faed6fef980b617d3ba7e80982a85aa0c72f632313a3030f505e7c68d16434337366cd80809d504d1a0db69ac85e9736fad3a212f4a9468f1f161536930ae33db567130c7d59b8dd61ada429d994135f253a0fc3568e8a73ffa69cc80cd9821c37beabd8c9ee9c333324273ef8784c8e0a731b80485d99ebe6cfff171630e713f62848d564b88456967c5b05361e8d44fa55e88620bad6db05633edab581c4dca4d692c03c1020e8ca75593a1a0e6c56708efcd799e3ef346ca2159696c708bfd82573ab3715e3c412914ff399938474c859d383860beeac39142f53a53735375762acf3ca1b16fe6154b7d0ed22f0aa1beb3e1fd68e8f437f6935e4c0fc288be14e38257999119429a1f292826284e94908ce4545fa15adcc9b5997830bf9b7f0522cd91065e10d2f8e259354b33b06f3646d12ff5bc4007b858c6ee6f307d7b3f9d50ca818df7e69c0e71b0fc5fc367760c877f3610af384233731bbed66ab03a9e6892c7474a59433f05c8c4def9743c9cdd0df0c2cbcc37e4e309c997ae1bc085d8048a055c955a6d9de22b962aeb99b46af67e55851d62a23ec77191fb10911ab3537c9eb0826292fda0a494e0c9b578c5cf6599dd4e7414ad95886b2545f51a21498935027dfc6cd42f9c6599082363e48bbca19bee6c7cad86bd139489cfa80dbe34830cb6425da1d60d5f16cdea118bad5ab7f1834489d18e2ad7de7b6f49a9d6db6bad6bd59acef4b90ddfaed336cce6a6b64296afb5046aa53845568ef66c2ea56bca4dfe95938539e79ce3cf157379ab1be6b4de7477e1203918559fc55f4dfb951412786fceff69ed91372633b68e696ded5bab73962e33c8000658ec869a20e72c12c14fdb8f115ff71ed8795dd6396b3c35267fb597e3b8efa5a73d9cf5edb2a6395f9dadbd564fba23675c2478f3ffd5aaf5b3337635008619647093c1e44c0f1087eb07c67bcb1eecfc81f1de9cff6b9accdbc6c570c187e65e5f1adde9810d70aea69ba43b98295ea79677ebceebbccedafb5ae795b6f1a85ec39ba66156abce5a55b5563abbf4a4d5d9ba66ae8a57343a4190a9ea4596fb574ac9ad36a79c21b0f8524fd31a566b84cba5bddde9c7d24e1677ce09600cf301ce60574a18a87497bda7fa9bb74351511679521a17d69e28a65e9559db6a2b863914658c7fd5baae8d719e2116699067f77c33bc9f8e8e1386b3982b94301a837d6168bf990c09fbe1b89d291df16f1973feab15e536bccda9c94d57c905007377ce9fbdfe74c04e40d5d9499e54055ae3934ca6a0ebb49f3a83c2a60ce9237b3ad2732f8e4624130abefcc4d931b7ed0f4f36969ff30e0e43e9f375de7b611886a1487669a3756190dad5422b7bc250c208658fb42175c21627e25a22dcf2bcfb27efbdbd7bf045ac0433bcfd97bd4c6487d92c37f07b93ca53afa29af875b247c24059801314010c9aadbe955d27fbcce4c197fb5bb51dbb7bafedee66adbdf7ce99faf7d6cdd62c9b9175f25c5bb7aae5d70a106dacf19594ea318f2e408ebe1deb07bd563d342d5e1d5e314caf20ad45bda136b346de2963aba64deafd9dbf894050b415d4d1af63bfae6faddc36bbcfb8eed65aa98e46007d9fe3a4bc16ffaa578c39a7b558ec5b142657f24d4ad00327ef169219a8a46a37686f0300d3b5001c1c0dc71339c8a29049ee0124c5ceccd586135a9c0629870032c0180003300000100c00410000e2f11095b7fc3f246e851b399802f3698409c16e13a585a4774149bd32361b47cf809483e36dc77e7ceb0405a7e7089d79d4378000880f7adcc04d7c8e1b51e4b570781cac00f1ed2c47109c8c3f0aa3969a987c82937b1b7f7b28e6ccc171b5cb3e7f46c6c36b75c41e4ec16d04ee1f13242828b446e81d2e41688555bc1de67dd65f3771ed9f9a6b1dcda28d518ec9bcaee0fe9c0d59d2b2ed5050c8d1827d19a84ba9763cab4c09bb3d540cb2e29bbc7c5407835d8ed397ecfc780068f4f476eff701471d0a115024106522b0ec4c3e24327f039310bf2378dbd2bea247f6a9f758b05ab7a85fe01d0a4ea461c02b4976d24f166fad19cfd880487cc4d0fab9a4f3c52ad6a11582af548b40c44ddd9fe64016debcdb4678cdf3bf2f3782a25b360be5d9ad5f943ea28b04ac41fcfa57766af708c65f0b829bca29598874ad8c0cd03849a87f64b50c75106ecd4dcecdbf545f301054b21207c01bd473093aef890615bbc38e99f8ba2623c7d203db4715fe1b4357998981efe2d501ccce6bcb327a35c93d2c61e4bf7f1d21ed98b691a1703b46fb695a132676ba5a24981684a3b0c4210f65adc1607059c68822ad3183fca206a9dd629fdc3dbb3b965aa07442221fd0fe3fd4aaeafe992d67eaf20ede3175cf5b2a700cac1c02b766c0c24351736988f92aed505fa239b2b4a517d1ae0cab8c3e62bd08dcce71c2b28d46552d4c41da429394360f7063237c19601be758db7bec190aefa7f2899965b6a3ca7f238076c26e299d90577fc03a63f457fc9904f33dcbf3da44b48c312f6e3c8f5606d946b2981bd8e8903aa889c5ac2e2ac356e9c41be2eb018e2e9eff0bd22808dccbe86039dfc2654b3c117ed3da8494652657db321f22a0ec0a7ce0d90d98b8f2acdd05ec3c2e574d183a25124fe7876b294bdea9eb1aea4c6e8e226edece5a870b27fc40050ec6a0adb1610121cbb5590deaccf9565b572e6ed825d2d4eed12a669303d4ab58cde1b0901445f6f7643f161681d54903b7c63ab7e0d2ed843d4ea3bf37383fb88331787e438e146403d3cfc7fc77a95d8b7db8dd143efc2d917aef41f77ce6390e60692d3213c4bc11e05e40371316b9b1e8bf2e8b88f57aa2d4a189f4e2cfe01ad7dd6461bd91b83751a22161f16baddcc1d057c71589ee88f1417d5d657ccd82466793b1a6655a947a5d0352cbf668bc4181baf2eaf875a17507bb0ac51bc234943da44a81c45476b66918cedab9e9b3e594ac5f1c52e4986c880569e61cf9cafbef300e30df9ebc8eff1d9889c1397a9cef83c1b79209922c2fecde930f27fad22af5f36edb8f7bc45889f202d03bde652bb736f0bd0e1fa68c76bbb1c33599e57e933f01b76c580eb2c268fca484040a13ce0620c2705695b89f12af59069c8069fa348b77145d4dee3420eda122e4b901b54a0d00b6cfb7f578dc43a376aab311d811138ba585b12369e03470fe9a7a71473bb98a2edf735e0297a24a1bd0c50c48abe6fa274323083e5e01aa49f2ac3a9721205740562162e9470a8cf7c8c02ca9f82bdcb565b76b402242c6a8bb136f966989e2a2ddc09febe82c52405d7e27a989f97e6baf73dab112d9100283576efca952d27a63e4ee8b8645970f941083375df60b3da5a49d83e9b2ba916004b0f603473f38ef65101dc5c064a9f771a7d8cfc8710892a0ec79601dc081b66aedf5beb28f6e5cf8a7bb8e4abd483a62b79e6e55658c9583f085f86a57ecc81b881f402df6204e862691ecfff67727f5ec1ae111c7509c1557ef4a07031429568d06d09ee63ff9da478688781972e7c79f8d0821769c64d851e141a63392442f405d52eca4c49400e3d0cd2434e7bf4bedeadb3ec0be1b221cda0613e6405c7e41a5f95472226190766b531ea63168f6eeddab5ceb6a6080246d06bad90923876018d58254b5f8169d2e109ff310572391606ac0d1e627de8d67c65dc60c0ca79cbca7fbca638dd9fadcfc161c4cae0905844a239e5e8a1f7d7548f6931c645e96fa5fa2bd3669b0a62fb5d4d01489c3e03f989093da2deed2d8c3919851cd22043ecca131745ed5247cdcc4ec58754e8fe7e362ebd732ad420550efa28de79671638eedc83a7283986b8cccfa1541702b5b92dc485672a7955f6dcaf754217d6fc7cc1e42bd41c1bfed876bb9d30301fc11e7008a45527d0f9cc657910624d0e42ec2f64cf54bb242ae0b6e5ea75895265ffd5430c6439bcfc0ac6ee7c00903d83774fb189ba084540a1e54d40a14a3febca73f083968bc32ed4868eeaeedb6225f06473bfa04e0abcaeee19f01b0d4d8329461450b6b756f893301840cee5cbf2e8e109f0fe73fcb7557cd03662abbcdea2c708ca663a456b5cfc6199b52552d37f4aae13b9b4e4f56a8373178675bb44f5034544e1b9b5f5bfc5ca0032272dfd7f4ff2a4a622f032eb2f839fed101d2e1572aa1ce4520afac29dc281eb57c8a8e8570432614760f882d988051c4e5a00aa4d78fdf58094cf4c5acba35ac3b0bd5405043692e351fd3120a23297d082d766f728b224b939e5c122b667ebd91c002e6dc5eedd60672d54d195d6394552f1253c0fdb0aa02fd7f5805328309b208d4fcaf945f63a9556b44ade22d42cb6e3b1a0393fc10cd7e60e98e029179bd814290eec367970d18c0b11d1396fcf1f56585d84ea6acb394eeed7cf0ddfac191a40ffac9944b7b0af83bc699bb53ae4121d625fb420d895de4ce0f569a7d276127be3e3236403ba6b61c1f711678bc0289f1cccb68a67fa9e930059a201b2c09b9ef2427627dcb25912da115cb3891170491f427644ea417eb8a641bd0aa61fe46dfef21452151b8fa6db9bc944515e20064bed160c81e0429ca313dbef150b98e6a3efaf17559d4b7f8b61f4f6e59d6dbf5421a7a9d6c0e2388340c37dae9b06da7dc2465279e3191010157fa90957f2db8f28a03622f1fbe5906c022fda607d516ca56dd68e4863c9cab626c4af6a9c711b5494d784981b19d3bd3394b1c0ff5985dc46e3df210ba3ee4cfb334bd7c85a84bdbce2d2b7d088a858642662785e71b9f019e680e00b772392a26d09d0c1a0e05d6a70837ebd1b1aebe0a67badc6f67577ae885c8a373f33f5f607f193d748835256dde733907b1855e2f24cb1cec9963623142860b11bdd22dd7fa1f346b48275213d32f70fa35fa382f48d9f5645ed980960bbaba050c5f8465059aec6f2c9a422a5f5d87fe96f75f7134ffdf24e3937658c3bd65be2300307e957a68785e17e12367f183fb9e468a6b16906aad749ccbaf17bcf79e3f0143e2ae29f01197447b8205aa8f142275db18cd82f079ad14759c30dee0abb641cd5b8793888f2b16f7ed18be312da4ea2f0b4dcc393f3f56ad3d48745ba6a866b3f1f7b2689058022a2e65386d1196bc2c7c563429383b73572c45225f2be32e8b409f6015c5f774e61578feeb4b98a64b1e2c973c90cbc81802719c0896447e2e0b377e8e3f7b6f620145fb2d8ac40b89413c750f9f7270beb3a307ebe714e58e8270f2a397c5e0d20d777ee2692429d9fb62c1a2ba1fdb5d3f6e93277c839b9159a68db958249920e1a0b9cb62c1efd8d5485a64638c86d6b74ef1c4bad744ff08e6504dad8bad998a7ecd013b1b30c03c493d15f31cc1b77090294aa6d5ab19ad270b3f9529da6fe8b136e7b8091984bd8a6ef164f5566b7a3637e293b2eb27c042d92f5170712957e55dee9bbdd114a17a564782af36684979b1fc81e1794def0fb8d10f1cf35bf294df4513b99e657d3f8a7d99d053b4d7c8772628a2b0b182e7c24011536d4912be6567a2cf76cd9742d9e42eabafafef09a15249ec097831e2ec3e58f64ce816d81796c7aadca759f10d195181fb8f40a0eef874847abe45c107253c99a55479e74b35cf226148f131d5c3bfd2241773da3e2b9a8d9b9ef72023f63a107298ff4a970c4bc7ed49995a362a66b2d3abe4d9be9a46d529b219907144ed914018c895e61409fe8232b5c1a12ab68910d7e51140b4e0b7cf1315f47896f96c5d17fa1abb93f96f63e85af352cd981c9432600cd309b44a2892a667776ada37e6169d2c3033016ba6b73d443f0d174da26335f62d0a5d9b251407d012a5c170f7a37045de04fc652d235e0cccb1c844454f1dccf1c3acbc4ee65c02b3ea7909849672d70aaada2ec7ddcb5225b29962e3a5192c0a1b9070e166a730154a9407a1751e6dc045793178b3b710635f621ccd177ace025946118f8570bb02d9dc0a6e9b8f7204883e2d2fe26e1d6fed4018d547577548eaed8d46e67fe0a38a876264dc5b68172d032336f0008a5fcfcdf186a4e4bd9d207048b8d77bcc52437bfd3fad5ee561c78cb5be155f139ee13cb835a92fb32d71c1ef43e01aed09e711f82730ae9e4e4d14124c6c4466969603444e760d41e71563e72fd0293fa69ffdde3615147bd985b4b9f47f1e1061ceb739d29777c1965c6d74bbc06185c9270b391e1ce97006e1259bbe9018132a39665c742cca38e9aa6ea3eb9588faef44a80a2e2060019e35f8465d4d441bdf94f31b59ae12b84a5b2da1a7dcccaa09a1a742b0f881125fa01d9ebbd52b7910bc9ed364de93cd4b9066a0780b0821215be13f708aa45c2f1d8150c2c5b93095c29fda5e34ba4460474a34570c47014a6288572114039b076ce3eb82253e063f4b734e1d51663692ddc469a6a0ea065f897f71ce467cc3ab617f04291c83607b0ee0f6e465e2297bb7659fcd1709b52f0f9899c36f73eddaa9400e5fb14ac5e0ff929d72ab88ed0699587ab3cf85cb1c032a4615c19c7db7ae9235d6dcebedc09bcef800351d3ab992e8e489e64c834748e49ded36980c9d9f21441828bd1a846df5ca8c649f23d8b6267795455e17db2f7ddd75dc359ac5c6d7eb0008e731b073652444c5a1814872259dd6b96d61912c66812f80f2db08038f9ac8d6b202aef2e23756ef97dd5503e339eb013c9c8cacecc0e3c37910881711e260a86b168efffd65d852a0f4a40363874f203329a0aa8346962295d903d7b814118d32086a24139050bd8dcbdffbea756a815da8dba7a69050a390c521d75ca2bfbc7e3f28b97ce6ab4d3cbc0cbf3068f63c4118f0ac08ba01cdf2cc4a5302f896984730313f2a98420d29202a203faf830e3df881b9e0f774595b50ae5dc81f4e61d959627ab99d33e846f73a816983b102b7be769805160a92e9cf3929327ca4e2eabdc663fc04701e0641e69bfbbd8192e1e8db81963814f76398f1a27d2fa27f96a37aabe257b21d619efb437bd119567dc6cc3c616c9763563739435f4f55ea0fb335f58807e22ad9d5e5742009e7fd76bb2fde6783292c435bec9a02deba007dc1e492a32025081c0b7934419c529cb2746a71f7d2b5a5d38bbf96a62c9c5efebd746561f4e2afa52b4ba7177f2d5d593abdf86be9cad2e9c55f4b57964e2ffe5abab274facafa62246bba178ed3d3403ac89f6f2f5da63c66c74d9854c06706fd5385bed9a8b42693a0389b67ddd63fccc5700b5636639c78ac211937bcf80411ef27c6139d4facc59c1b3f8950976af3e4987dcc13a3fa9a74d070266cfecbe16fa20b0e689211304e1660bcff7131e5e2c346f193c44b5b103268f332217e4187a4dd871feb924eb072e6a0d6149eefdc69beb480b744bf6c7503f98436585335a2ec079ab55aa2ccc7083910bc926742834e5219694095d5ad02b652360730d5e0c82506f174ce4f265065d60fa744778705397f6f89c1f2a801da0e78a3ad7e8bb86a13eb1ea5e822a8e6dc45b688be84ff17d9ff964a527c339b37297b4bed5230cfcb4741001073b02cda75c310a0ea08053ce2e94d53375d04fd02635e8c144c8d229eb14a95e1b2ba589980725886d88b25be6f795f884cc82aa4297d8afc7e0108ce565fc683c17b7668b11e21ef003627bc2e88e9345aedcaf534bb39f9909477f390d833aa34068f68e08c5b0fe7994245f139d50a13e5cca01240f23064ac2eee2208f41fef0a82498f3206cb9e5109aefa4b9512905ccb801d5a600ab6bcb139e287ef11edaf52b17e55c4d3e902c2b77b2adb64f69236042a108a21132e71ba9255d5d0cdc5058975963f48194768467a7cecf6d80f48d39399de17f0940a9d0a5fddd95b84971f9e1865180424196a3d07a8f2ec05db65ea0656d6220a4a0de8944492329246e283420b68e45289ae29be14f7944d425122e5e4c21210e0f760befefb5ce9d2e47f0b7a1d0402dbd1e7901848a3faacdf5ec46791ea23e5264171d810fa87c05ea10b6098ae03560bc01017a72c504c2f2abe7c022658a02209933d4c014d0592419b73b7e7100e5ec96daf4caf081a04f372a6ed38a33dc7420be2514e0186d47be86e314cbc42bcb932b210447b8714582e0a3307992e51a0c9ec226642ee61ffc07ec05bfbd1e834a054e5f334a3aa7424cc62293e13a98954a184e65433f4421f059f42479e26a3be1085979f21697ad94c46156603c3fc5359510405a0a4231c854bd0879f3ec853ef93d864fca9f40372679dbf7dfbbd7375179d3c190e2c2ef3f4d892379f2547d9dccef05dc662055b5b7acc7738b9bc32232a8573099c5104845901babb930bd667175e7b477403949303018fef13528c7a93d0c1744a03caacb9160254007bc8ed75652bf16f12cc78813c251f7d5556ed4ec2cb16cb2dd2d5397c8d9c678b5e1dc26d2482f178cd1c802d0279c2e8c182f018cc71597a9848761cca79f0585e6179631c371f5aa490151cd8ce1df5b516d77485696e74b3153c31ce4c67dfc8510ef88eab942d2ffe0fc6ed43023754c606a2aaa1abc7583ca47bf172a3d8f73c7b8716773bdd831b763a74fca1cb0134d5e4fcfab27c508ff94084ef99a01d06b24f30c6cee89190205573a333b4184222d603287d51e22c7ad0e93d5a45a22a8482e279f82a9c5719b4cf8ea5cd90a7d03a16d76c049c7fa23f73c3698dd42ce3091fa3ef95ac78bdcabe409d917ff7b0b9c9e783cbe2053cb80bc98ee4ba1f9dc7962fb44150c00e700f4621e0140618c3d221439db55e2b4ab8502218f9f3ac5b204cc44b538efc2354fb060dc40c8192af0b5073e699ce17c2a721c3e704fe0710164e95c3d6ba72a88c5254b042dbdbe99d4684c148f3cffd84be777b410cbd7942cfbebf47cfd8fac5f143994594d1ad0420db1d0511961635c77acf3af38441c7ecf7c6e8f83841eff65dc041f33abbac904ae05f5a09143c64461c3925441d9c653bc24195cdb5e6557bc51358467b61dcb0d1d082d4d11b4f063b316ec8d1f9efca5d9ce043edd974912b0b02e27de6b10ba98c557a8df2c983b43f9adcc2f0e99740973a453a7837d15ee0b852689ca4adf89b3edc527c46b3bbb12d938bc7ceaea074274783749f4e6edc50e05ecd8ba8cbe698f8503e2563fabbee7d70f6e416a8708196c9a49c5624ef08facdd910ec4cb4fd87e8c9d228688c19cf30a9cc48c44ef90123abb5dd450b1f9d67b08e5f62460445957554359a5e43d40f1583b17742145f7d0f32e8ed1952828655c41ec24f8b73300c0ab1c03d12d7bb13a86f3f06b4ad663634556c2cd49799ee28dfe1d4ef619db387bf600708c2f98a8ff2bc6f88dfe1e12ec169b54ffc81b92f2b617425284af29f48f0d36389cef79443c3f9b5395cc5eea0424fff14e09afd0cbf429f017f76212b4b8e0571a08ab26c916c9482e34d3890646fffddf7f82938374ac91db6607d480bb7cb9cc4b75c780251f382995cc82217c9daadf3ad6766a15b7822ef2fe8f19722407d89da3319451ed28b2fb6ad9012d80b4d01d09c2b2f31d0bcb798592a4eb7ed9cfabf84b28513c6dfd28bbafa70c2ed3c3010d5f2c92e131161ca6e999326ec19ada37269a84cce5cb667480600a501827e13415a911db9c3c099bf08fd9e65986fcadca47f76a0f836bebafab939f37432376041f0c2fedf074dc0aa18ed45a930fda07f5cf5f815f4e22376d8531fb43c2c1a2f028f8ddc722d81aff3e976d5e42985dcacfba27cac1ab7a2599fb2e125c83412c0f27db2252d0c8a24b324544c69cc3c0088b71a8d01878e11c85a97d29c6fcde1bce1748c1881d850d6b3c3586ed762338158c8ac4f5e8dbc613c48598022eeac42b35738853d347b69923f7f8bc25cc8ffa92a1845ee2f7a21624a2b25b1a0fb8ab2f339ce63878676acf5924066a21cc521c14ca31b578bca1651e0bf5f24521556c470a6107a8257e77eab49da789390354870cc47f81cb9cb076e7435e59156f816a9b07d277e4aebe78364ce0a0a7b5df9353a6ea84b7abd92bec1a6e1112141cb38d5278e66961b372bd3c43a2ffc0ed09fc881fc45690bb6f11adbbe38f115ae7b307b22276dce449130b6e093e4d24c2fca6220a67303c325ee41f80d25109aa0be5c19c899ed6c14cda18a1a7f0a23fc993327c1fbde838ead4070438e0b8eaf0209ee938a5a5b2a8e2162160bb1493ac74cafbcbca987e524bd1c707baef77ff20b8711191f5e3ea2805d77247ca9131198f88320cf1d974aa48fa6b3e972a8f5281cbd82d77e431aeb37bdbb28fddb027bd8c4ab939063b703ea41ba23c1c852320f52d4dfbb6759fb5c214be55b3242da2d711775010effb4ad62beaccfd49c8f9f326f20a1d2418c1e3296ee0f3b8090c86f8e451a507a9cf747e3c70f38296a33dd863a39ba18f6030285705d4579fcfa86ade6b41cdc68c88b3fea6bc6efc69737264f5f259f39558cca05a69813f038bd7c5873bc76e2fed2de5372a1a02252004306ba974ed06e315edca585a57e4ff14d26da0f979ea692cd67e8a57d22b868d1d9b81524802783bac9117a6879c219da08c97d6c691591088d1c5185ec1ec0103ea2f9f499be51e7886aafd91fc3529ecc28af4cc138601390ccab2c0b94097f4513f0f8eb484b557f8ec24126c69ce4860c91eb67ce537911be4878ce9db3722a28468891f76c74852ac1828e603884573790b5780e4489110e9599c01e998bca846fe79f650604927d288591eac4b4b54e37821398616dd430b117a35811bffa11dced3a719eabe02474a1c80e67cb627ee3120d7c28f5d5c396d6b18183ec6d114b1d16cd9587752c11a48333a767bf5b9d17ef1911ae437beed2508baf273e5cee7f34a63d51788f2a705cdfa3e010d665c26d7da136852f80bfb02d31dbaee75880a31e1b23695d1befc95338b3baa60bffb636a46e49b5d99536a3f212ae46d6f093b0c008201e94c71595da590e0954e88ef417730eb2cd2177cc74c7d94362f825ffad4f3269f55c3704a2324ad55991000de97962221d99e5c7714c35b79a3aacb329650c1806e863e1b8da4b0a9676228b970f9919bba4596c0a9c73c18641d5ed3a201a76a27540cc94c4e2eb831b4c001063f4295e02ca857eca894e26d1d59667a0e9d9451d3880085cb4c5ec2745c40475dcc393b119b2280478a698226255ce7026b3718cbeeec46f44f821c34613632a18cf7a101fc9d24accb8ecc331c6f7b104224b98a341030fb8bb07d45fe659146d42f71f40a0c0c14696189c1bc14e33cd87f0d19f510663425d1560b15756489922372d9decb61bf1f6b1330d6950be62eea5ce2581b1a568954ca9f76183fe76649404e9e66b80861be4736ab70f39dcb1927f531fbc4727860adc1f74c714c5cf419a544b63b235861053ae309e9f37ccb9f598c946ed8aecad00e980b04bc120832439f1a9e34e977c83799228fd81edd77de0e1bba2243fcb78ce566f7cbc1134c7aaf2bffb152c229e960adf75c032630bb955638ad7dccfc3370da12ec3f1d03ae8f1a698d27cfcdd61afd7969293be6a0dfcc8d272536f500c27f4aa5c7e8c7bf70258589de3687ab611738eb7c63ba740a8b98a3a9b64091c56b9ff5bc0ccceaa6810fac6d3840848a781219866a78d0bea21340db7a889d828114d4d2ef6b3b2c992f01ddce2f25f1215b3a4700e70e74f4adb2b9f6a262fb978e2cc2adf46198df7bac4f888581da6ec5950d8ae86ed17eab4153945e3a6565db76d75b3460187d349eb2233d76450df4c956c0cf606f4b8f48f4468b73650c917bf917ab2ce60a20cafa98a360a6aa5f9e054b39e4dd157e47662ea5b7623efe09fa30bf7babbb3a75fe4b0855bae6d12f8be91cd259626b21467df395ac7699b679a3c78c98bdb129c4332b02debf829d19b247f513f0471fe2a2f120b905d69f602b089df3cb2a60d02e24230d0b4220ec7d8600e0bcc42b16a9e16b7d22d520f018cb3172a68a322f892876484181dc4130bef295941fcf6f081146e9751f94d289cc0f4cbe285708b771d09289112bd9bec7b5105415c1065f319c9635a9834b3b55b06979d8e5e87fa42e1222b39f27693789a3846608f851efdf30bbe3a85a2f5745925208d3844414320210be0a2f1838686ef1d5beb4c78ade2af229769327886405a0e6b00bcb644a04c45f9a27ab5d5b3165c9d7b8d5e1d9ced1fd97cb021a66a5c6cd4c62946e7a62f1deff1cdb77cda3e76501a93afdeb9eef5ef246321bfd3e4d94f74bcd60b92d4fa17f24d9772c9bd8d568070d3ecf1e94844b11e2c3d6bd69ffadbc6123131fe675544cb916178e71428e9d5c890112856cd0d48f6968b2eeb6a37ba7234dfce5f5f6b65b18e69186c590e1f6c69ba26441e239d9d2d40c11e4ed76579059133969333a16b82520c335a26bfd05a4312615e5544200f51938eb8e63afd385abb23a3a714e909c410b36b46f79a7ea377b747db20ba732202862e6f0163d94cc74ed5169ffd4c9e4ad9c34e8602670dbc6b205bc392a22b7ae00e911deb9d82b7e9a06ae5a5eed68f370a5e4d2581e282597457c173bdaa71fcea9007d671683757965cc19926e9185780c8c2591d43e2839f21907c34859b2d267d01ee662b6e73dcca333bb5f046a03f2a3315d7b981e702768de9d8839c769995a43ae947dc954288af84ff3dbc9dba2526a7d069195bd1116bd73afbb5353192c65ea94d53ea72a683b1a2f5ae146e44c99de0637ec3ff521f40da977eadad7cb21b201aed587ae1bf650b1fd0f48bbb7aad816406b60687fa17a12e5130bfc65e430966dab272f7164799968cb6d9aa603c80f946d93e9e0d17ddbd8abe8bdc9ca8e3c3a67111a8ce67baf3ec51773da712991f2f76d190a2a18c42ef6e69554348cd06302526c4cc630b935f43d310c53109d4db4fe89f624510a25ce8f0b153470e5c1422b857d86dbfb672fe02b95a181faec008d375729d403c773104deee5da152b62b989734607342a37c9152257244da18de02278dcfd27fbb8b3c2e0e2e149c68267b2ed4b8cd55f97a84e8d0f9b6461c1b258e3e2228678bec1b7d59d9d4442a04c5dd4a9f1dde6537441fcf7aadaa756a248e09ba4a448f088f8adce631ce3f233ece3ed1455cb5c777cde906815ed859d84f17d1721d238234080b7501fdb69bdede0b779c7f0b5793ae406231259546c02cd88a4674d76d5076fa5eb92661d660d0b43752d90eda3e55375571b2b7a22935bb7d0381da00151fe9a1ee5d9b4f442a4c9d8cd102ccabf9184adda7ec9589bb8b10b5545b5b06221375386eccd581b6d87bf48adea32fea7d502ee27617e916a3c0366e313b628770e3a8289b1bb232a089fd882ed045f401bdc1514a4a2eb39062b5a40757753537656d40137b169da08fe805d6eb6a2689a2590bb5c302eb5701ea4a0a2bd606d9f2ab51c5d0ce783297a8243afbfaa43efd87f0f353543bca510fcc571593e871382607964657c759dcd8ddd7cc1278935f0065aca706207bb9a6780d9e7ac79b4b58fe782561ac0ca070c8e434822da0d0dab832d6593698417f63795803c8a3a152b3bd4972885c747fa151779107866400c67aee51a662767959366ae37e82e022eff678595b97d7f7fe22fe5d4957d8ab2e6eb953661a5d467eaf46ae2fea45bbe8fc771f418e40b1b07b9b6428ec3cae8126d0442b0d806a0c167c3f47184b1ca07e5e09aca1ed045cc8002a791c1851b054d574e81dd86f4e98ccaa9b70f1e1a3a881025ae2d72e1a09d4f838bf51b69b31b760220aad19d0ff7a57e104484c804898100914003eef133251c4e25d44c020e3f2aec516d2b6947b4b29654a29c974015b01690133b5a91e35d925b7a675d616a1b6cc0b9820b96285a545d39cdd5b5e5c58565e2a4bf380cc67d1db3f4d89ad52aa574a8b532aca9aa980fa33f4b3d210a5d8739932b91a77d0a49dbab959b90820998c683391a48486b61b91a738b616a1aaa3a091d9bcede1d9f1c12ecd6775ece0615223247eef547e211a8da1a1a6216ada1c136de44756648c9b8a9f29a6c92c7915a5cd84534859e587246a645492714a22bfc4c49b8be44b484c6b6344e4666dd002562ccd116b136469f80c79111999b0387478a4fcb8136bccd2debc38a0951614d4ebc7e9b81ed644790429aab3237df0f4f8b87e242dcdad7b32bb56110aef102ae3e4ece0a1c3437024471c9d13d2b4d7b439e52610f7c54c97700da207053dcdc2d694e08f49d79ed239e7e4ecb3f9267d8c6ad8479f90a528b4698fd1f98d839475fb474df67e6739696bb47d17f4f3876159c6cf59b6fbccccf32733679b610f31c94e63340995df7b7cf237e6f469a154eaae95f227a8d34ab562a9789e5403b3011bf4bb47e5c7a2ccdb52ccfed8cd784dd96ca5bca010485fccc0d0f9eac95498747e4837e87ea010d944cbca98a1202665fd8d9951aaba6112be170740330f19d3a450a994c40480a0b20e016254ff00845487434d0e98f25279c8d2e2f2b2a61bb4a5ac957eb3504e48ada8c06fede6277ccaf8633663eacc6f17ea945966ca74b0924b594f986609e9a44a5398d1dddddd7e5a3d1fe28bd2b7952ad5402fba3f77776f18a17b43e80fbefe811fe37b107e84cfd794d2b2c0dd39e7edee9df33fd95a832ec2638d25cabeeb607c8ff0bd67429d5c4f90adbdbb7ddb6a7dde25c87f121732f57f3ed3cfdceede8d6a533f672f45975350cc09ee94f4e581bca84a75774fe7a4f36e1848b5638c514ae9cc70e70e47a1bbbb9264f11ebe7dcecc8e6b489455153d67f1e7d2a2b2c2821a8d5e7f6aa564e0402d67800bc92e34d2535565cf2c99a27ab178c856ef7811fa181732332b604253fb5b07241c12ac63609f99f99d63d72e672e8c87da46d4e8e2850bac0905a3c4324a779d13cc3dbcfa8e1031ed1c42ad397d1366119394e4efcebc4f6259492e973bcc9df41c01cefc3d2a78373550fdd9826be7d29765c0c899c1f990a1869317545e8e07cacc0b0060e0f8703e2e60361bb6152f3c2d4dc40f4bb335d646bae00e54f7e3f3634525e53495b55275ffebeed7c00f1f7cdd83e9423742303c8063313105b619f0ddc7cbd8434d7ba8995c52e874cec5d812a13bcb7bacb72b15ce2ec771ce4d8980f41a978d708e45833be7ef5befbd47aaefbdcbe0ef3995efbd774261410ffa4fde4b3b74703a2f560c4cc344bdccb049237cde4c678649765f1896141a896834a55ab1505a292f91512da9ac84342a53b779b6c61f572a9db559425118395c94524a29a5f4bb85caf31dd378582729d5a6ad93b040412f90fa0bf5ac4d05611619320f0b71f3cd074d3798476ad87b97511d900d3f738d636c867331dce97aafe0135f4d2c44a3921214fd8489c99794c4d44ae9c888f4a1501da924b584846442322191503129a6064330132994ca0e2ad52be5adc4a087c7c74e122d14a7f3812a85f247a2d737584d736141e173992d6394524a69eb3139215491529a5e291042932ad5eedfde932353f69daae20c98917ddaad27cd562a0eaa3330316e362dda46a8228c4fa854bf2abe4d0d918dab8a442f129d5c3186b2152b2fce87b2a60aebc59a10356a146868622c0daca66554824f25048cae600642edefe6ada59cd963988a7550d10f8b7b2c2c9b558e549445314607298ca61b23b04744f0835cc64f8e1b1c36a20c70a08df7b47dad42f551b71c8f1cca2c9289bc741dd79d9cce51638d910d4c4c8c2f535fcb896e242262128d7e3412d503aa094614d26886d118d2c7c56e70a521ce1fe836e125cf400ff8ee29723ba7dc162de29c196cf9e0dbc576817815ce1f7ba990df42b68026c6a0bb1302e707dc0dd241f46e0ce79c73fdfe5f1e88cc3be164738fbe7d1828c1410fe931814e8974a8a4ab39d7561000c3750018128744c4c12cc95235f51c24834c07dd48a6c3684412e32886a2208e01c6208000000200142084a19a2116e9ddf02fcb2238e099495598e2eef6928d3649e06bdb2f58ec5a046e767bf94fc2ea8244ad1c85ee0b88f218024ca9545a05614ec637a8f63a8e2d51738120d72a7541590f0907fcb05410b547690df021d81f7c1cf0d9f081e78925da93fe309ef62ccb7698d2c10e6644ec739cb707a5801b6aba72d9079c1b8c94fdf060f814587d4a5aefa746ccf881205d6332849101153925c8abb75b99c65f21938bee4f7d519042bb5cfb9f0dd66e99d3c517250ed7afc29c7e2cac05d2e4d0abe16c74a85256748523cab05034fa06228c2a6ef8fc5c0b554a20dbe249d84faeb179f74cb9be7efed301f0f0e707794193a16d7c56d2f446562458a88df332d426c4d2429a40cea9504bab052cec4e7502d09eec4aa26a34d7b58eaa5bcd6e648d857ab6a4d9a71158d9cc723c2b5c00448b81a0b5b115e3604b81d97fa0e63d42935597788fcde9b0e95610cf2868d1efd9c7c89c376ab1d018291481680b297bd65d47143fff68cfc45d786e1ee486269dc4caa20a036613d2b47bea2b42aae85b42689dbc334ab0ffebe492e7a8b5b5be6ce384009f725c39cdab94dd44652bdf9a59bf5a664165988d11e0ad122b487bca04b11e704eeb2f643c3d28e85a5ee925bc301ba663c0a53678ec112d7718e5104648e8b482687733b2ad53567d51de666a1de064270d9ddefe1444d550795151f0ca89e4a4fa7086969e61a4707c93cb67d7cd2de31cdefb4270524503054bb326244c49db7b6c8eb545f350e9eb3aa2783998b290895f054b86673d0be4663545a5d0e7038964b573ea61bb344d9745352cba50b7e7cbdb742ef9afeae4dbe65d812eb49b2c832d8671abd1576c3da8d8736dba0d63c1c94d5e0adabfabf8f1f8fac126998ab3ce7dbb9868f96df01ec1c26ebc428378c7e263be5aef3e97fdab23cfaf86c977e0266fa5770dcf378fcbc4aa8f8f981df4d6b38c2ac985cc4b3e398e8ead32ee11954bdff7d2bc5e7914f898d8da63139080ae4cfb90d763205c0e02ea34f2a27eccd785088dfdf5cf8226a9e04e5b1aeafa8a7173540956062b5da866e1de7e0d237ceb8d39aa4e77b6368fcbac83e66de5010a3f3de97653309ed5b399073ea1a9dcba54eed82bcc638396f04d3c135d74bbce950548a5c60c1e2d041c27c780a0d0066a456fd6bd9ee6c757edeb9ff0b201d0dcf8d8f548d8b3e76ac5a16e45f6c3a8cd5604fb6f8989f9f15b8855fd115b946ab75b10dffbc10bf2b73e68516cc523f36fb45c0bb41ed9bfa7e03a588ca0bcb7b675f905e0be1df3d192e36aa0f6e9fc0034e5359765aa01fdccc8a0150b11e2d9837b6bdbff7dd0a43608725e283a3b169c21bd7c5b4fcf98ddcf9c7bef96b13c33e1e1a8b80e1772b56ffb2a8892f95f4365aebfcebe5a52466ebc7debfcd1dae682a53a301ec8092989cf2311dc679dac9f10d7bda4b75639aab67e5c29938fb1cb1cfd337dcc4332f91d8e4091f59d8d8c92f3b5cf6fdae8ddd67927891c5fc6a2ed3cb0a0cb2629f34e75482a4fa73fd7d7ee57eb0fd3c0d74923b9f3446585f60c29afaa0ca4b8cfe11e6ee2fe5ef77f9f676e6c4596038d3af9732516c686e871d999026f0d74d465b33874175da68f53bb28a063099506f34762d306771b7d733bf946f0dbaf1810adbd712acec47ce846be048d6397d3411b4449093658288698b566a904d007113fd8ff41ba5da364c6f095e1cc7d500753e8c7e627599310325962bf816cb78446e72dceecf83f6b50ee92c24cb78c3beb1660654d0926ad0bb52e52f704228238340cf1561953d654ce7ec8e656264a9c7e7618a7d426f754371a7356b29ea035f0ade722b608a3c1b0964948440a84981d315d4cd5996a0b8f03985d5a593903ba4f3f31432f1cd8c9d121ab7076397e4c0b927049d22b259112058d5fdf3ae18b6bf5ebeed5abbb565f7f5b7dfdca0ab865cda6b67748617b3a7c86fe64fb4e104c89f3336ea77fc320ab3a8964050b3b7de9e898fe2d72df286995bf95076f5c7b335ec9095bca7888fe7c293134b666e6349fdcbed4f1b0df383abcfb65eb7d73399823d0a4bce7430f1fa75ee1a6d90a2d89e6e35d1abe0904584ad2b8aef1c8b921e7edb3d57ca94699949635750bce92d356f55515a01d8d2b5b8b118aadf5f2d316e6de62858c9515deb0faa9c95973e4ca128e5d383293451d5f68eab342fde825c143d2089c1bc367cc5871e73b566c15791ad76e0a49c94cf1900defc66fe8a4ff6ea8bf32ebfae401e3183bda00faf234616ac012a22d0145b08d0880bc1020c3b6c44b9a0968c8da3364f15c3e7dd43436ed38538db828adf92898864474e309a236bc176c6b42a01a84c9cc41a0bfbb55c8889f594779e5ce35631945e79054a33512fd4ae4a80809e89455646ce8b093ff623be70f96f2c34dc5aee017ef240f6d8bd28b26e4f530cbe2230c44510e2480e410eaa83f72d34e029fa30b7ddc275429ad7198459b6be9dc58aaa92f6b21970bc74b71f68fe84128043dd3205e3fb7cb5678e85eb45dee3d082b8599f445335300255abfaa83e384d875b88254f70115c896152614c250fa1fe209ba6d019cfa46b0ff76941dd852f496895f4c32250f26776b278130509939f1aa5194a3c7ebaa1cc236b124025ec6ec2f9bec2428b8d9ca0be14a62fcd9f59fd51b24cb0ea03eca6db0b2f58571d34098ee216c6c9c3ea6143e61de886e232f082ebcc64d0156064fac4d225e81316413b6f6eaf4bdfb9d9b387bfc9d5068ab30abe1817c167ffdec5f8235d2f47eecaf3655d6faefa0206347eb047cb0fd55569101ebd1aa7052098717499f5776c877cb060f0f04b39578436513ef823123c1fb5b651d33ddffe63e0964916d8c1cc7d80f81a305de400890108905e7a4352b7c42590cd21b4f7b3f0ca1126b4a0d5b6657ee138962a1c418ab116274970e4c257a22c0ed90a1b73aef6d955d98d1af5e010eae7d81954f0dbb02e2f870794b1aac86f86e1547113a469f27bae634fdb8f274b968890579909d9895ac2b9b0bea791af89c2fd85758da76b1360906092292d0504f8ef4f802e7f679cc1c8fd2d1031f04ed6dfd904837b213d8e2f69334e12a10a11e18ec7825c54dac11c3ed07f2a69f68f8d2c50d50b1b2ca9556bc58e5f347ae9e39824c4355b34c338d210824ea1d2a0ea3b82cad84fcef8ae4998622600cf41fd557899f95024496860872194dd98f0c28b1563a7dfb4398943cde5521e8a124c75b46d892e7eee511627b30986a0e06cb12f98d48011a0510252084b2565428ccaa0967f76531f38985a698e5991bade331732eeec506572a55b3d0bfb938547b36090fd7e8c91d7bb756f5aa31ab3a87f2a5792f8b0625401236e40b8d7a8fc51b594e244e31960cc8b43bc7de16ac2dc3a4cd176e385281fe6398317d1c97076b81b16cc89040569a0aa2e9589a70fef58929a3ca304bdeea048355084f282331fc355c2a9ae481dbc434fa20201c7034d32b2563ce02fd8b0ded66805d82c1487b7bd0ed48ac8595f93f718a43ee480b91fcfb853cc4308427233c2c85eb9b6587f3c909b3cf1555aac3e45b5c7415e7cba524f875b73fb0640abb7ed4bd9e75769989d0381a0c64a4441783d3bde7464ec68c2e90d68e9918ecaa371cdf51a5b24a76314bd6402c370d510445c65377d61e4d037aed858daab16ad500c62f7e18599cc1db2c1fba3a3e4b971a078302f6293169e3d7173a08bff713e338ce01e9982e800c07b17217ee3effb5816da7435c4291953fbb2bc0bed8f1028cc7ee7f1a69220a76376e9d6e8f92f3443edca0e8af798497755908c1f93ee0ed91b1c733d14bf54dc04c93534cfac06248af5de73292f1da0ee0c4a8e0aa3fc70909e153ff54062a8eb1b84ee2c8f1b0daeb90cc52d9bdac3031f7b38a0df78de6f82af474eced806911d49a553d67d7d13c3c386d8015f9cba6166572cd5a41dce3aea61b0ae0d675a8ac132de6fb8e4c72e8a7cd659d60fc97b4e696693fb8abe5c9538139b5a4dced71ae980860516c7f5f02cd4c61f985627db4e17b4db05d0e7bb0584e0c04cad7ac8500fdabb48541e975212fefd9a9bdef2d57fbc5985951b59bd44ff86d4cdd5aad20fb2a40c337b27bf3a2888313ce23d7ddb037166c8ec9aa4f366538a901cb2ba4baeb4588c4c8309b87aff2a59a30c22a4b98fe6a535378acb42665fd849627c444510bc7bc09a3b3591d09c6e590061df35f952c7402a9407fd3062b527ea94c2c03bb66fbe4f49f135063108d3b64c3d4b32a83608863200f808ed5051c335bb9b7111ea0fabd1731f3b8f409e6b7018ecbe2da2909c3212a9c323cbd1d6c6619865ac15535a3670ec4148f09e4046e7c9967723366c8f4371431d5971295a8ff439156e18e0fae1d7247b53fef3c99c1044943080829885429afc101cf438c89901cd2b73f6ce4052f2a6902e38119ce589f1911c91cf5ea7cb1da387bb157016a52ba43093ad91aaf72cca7894a6a253eb5c0d77a5173f0fba9abb500faaad062b4ec29d4a271d2d559ece5e7d1aa92b63f305c891f7a294656963073bffd37b81d5d13e20899637bad86008179c84856d716e564d14bdf4f88cd58aa7005f39306bac074ef23c60ad878847edfede6c65566f593b00e48e2d8c469cd90fd3e09c92566356e92d2c264ebe4d1f3a4790056a2dc8c0994bc897551f3da24b0a16a606897ad05fd7a4d34a97abb832dd0085893ccb78fe79793a45fd32c15d92c654df614d40bae94a280668d444f43a92e14ac460b595d12a160d949c058ee676c735c9a390c61b15b311b90de027c12a68ef4eda88404a305709329805d89c91ae276fadd7b022c0965bf89ef10e45910e64c3ab12a0b66e60838e4c1e469811a1921fff1a0d4a80eb0ec87f32fafc25a74d373be40cee308544d75d88e9e7e2cc481846472cd5aad33f2795b88eab8be8644999e395c25cafb129d94a9145576a82e21d647f963c0e0d5914693445aead65c99225fd45b73d2c91dd2a04b5cd65c8e14903f63d694e1d5c8233ba769432017fead639ecf88cf6e2d8e32724b338ead9b5cb38bde2d12124dad8f75005ecb9a1f26e81e4b6a89e8baa67113a9f4f91ad2468fbf04841dacd2b76a62546d5eb6625478a2f71f338e91f802de1571519a923f622449bb8cfcbec26d22be689358cf6a22e0c0c393d5878e5eb6f954725ebb3cc545489c7d0cdedcbdfef1906f9206d442a1cdb735340f34ad377471999d34842a23b4f75f1084937a5783cf2100ce42bcad9f044b284144099ab95e991227740297712cf564fb4bb35f66b1e6a134dba613ff83f156a4443f7392e30ec9fa94ab67765bb0b29f6f460a4fe650f916dc0f9e38f5e8794973237102c734c4932eb481dad7ba4c5b1929aee6e7cb778eb534a7c759f64e0f353ebac42c09c2425cbc55661112bb936e5106dcb1bb35832a7ead7cb404389f79f736f6a9f436dfb18a6e8c5bbb9757b23f5e161da3d2c2310963122879e7d3be4e4919e16a4502e559a0bb1a28de03bdddc9bdb6a973a4eac2cf4f09f815877dba31ead2914f85e02bdbb97f78ad9826817feb0ec541854acf619a239a72d7169963d25d9a9bac2501bd1874f12fb3dfb17b89e3a01e379187051c7cd4acbc59f049da35fb99129093b125731b0c830c1d42df6bd302df067476e8238a02d70ab6897c272a63b6193c226c2ad859aa0193efee81e924f3c3b4cecba63585029b56182cf9e8392b615659233a5a54caf12e4a069f765d0b86e3e6e3107c86b1d8bf10319088ab69639391168ddaaf8388ce5d71e97b01612c2c11d00cd59900661f55a2210be4d0a8455a1f1a701c9ccd7cf595a8106dd20965b0ad2cc25632215973191e8e3772f33842836b32973e5821274ea783da3ffdb4cd8121230f49f0eacff4a870971f629b6756c5c16cc8ff2c5be537da19b40c26bc2593e2acea5e1689b61f2916896ba8a2ae587fc75066e2561bc5b1aca7d06ad8ff4cadff1f6b742a15dfd531d198ad8b8070da280db7f3b6448180dab98b67212bedcc3bdf5493a4f295de0c917dfe1cf11604e9c6d38103d5be5f65c08f7287eb6ef8ab72ec51f2511ac0fb8fbac15f73fffdf4965536541410500f96ae8dc104619f9fca1ac9c518c0c81dc6a4555b682b4942b62229863be4d661db7d3d5849ef5d87af2da6fc8be1c14e8f1453ebd23c7268fabcf42756fb1c29a75690a8189aceeb78ff521d9d208927ecce80bc93a2b95801adf75b8423cdefd5bdd87c625724baf41ee20ad67e152e37d75dd6324654a6d9798b62b92e117bb0a99a0bd11d819023bcffc0bbca0a372d26bf217e2bc797e9d54e16c3d575867c4a81821503081323109d42a3c28a51f75f0c9d707b6eb1cf358d28fd467648bf031194b6a57b58dd2143395b27f030e866fe43ea28242b0cfba32a142d241650b4b3185be2d88d3d2fb4c18e74982b4563236a8869eb8427aa315ba7e6a392683612467250cbdf9c470477138e92c7b84b362cdc0582f7f8d1db238080f55daa642ce46c1cb9730e273e2b4cab176879b250d0aad02c9b1fa0712b4525b12838038850cf4d246b8bf71d0157d69fd8000c884b0916e0e80d43807c323f58b0c68593587e8343f92ed52799118092bf9f576596ae0c9c57f85dd905fd7578354792aa85406c00f3579e7415fa7251c8750495ba4f28db8c30a0bc8ae91fae64a1de9320becdc02c46fb327ba921bb8641db48079b41e9224d9e7239579b993021156cf7004a99cc1d4d905c4dda00b42381f72c15716728c90c4a88dcd9e31da163d865fecc886f276463a8c3cf96a647fbc5db442021f07acff86da35e02aa8aa5cc0fedae5021646d2384882412d9bdb972d3e69601b601cd01ae01972fa5340229dd8a86d193e4cab4288b4a49bd533aad393fd6b4e6a4f7caeaad35afd3c29df1c3b1417d70bf7c9a28bf98a528779e26c959cb588d6aa24bb9b3c93a97a4aa82d5da7a4d7e3f8aace93eb4d6d6e94e9384d38289e8144db5fa9dde5a4b39ca51cec2540ba2de4dee5ac95a6b234ba794f2dd5d1a573a882f1df2f32595525619bdf4e9c21c7d67ebdfea2229ddac528aeead2c095249dfaf5541898a60247b619c9ae4f4e9525e675dc4aef29c932b8c7c6ffefd5450fd54af929ca43a653e14554b7ae75cbdd5235ae594ce510759b6ca8462a6356185d52b7ce9b556d003d092d9c17f59fac059b2e9d29901b2e573a00c86b953097cd05c34debea6fd689aebf2279c433adecb5c8ffe33c6a66c778fa0e7d8d5f4c30fb9c098e3857a84669a59c91bd344458a45aa97bb555920978fd456b7b4b4d05c0e04f8b8c708ba2017e96ba41f3f6464ea8d57cb65599665511f6b9a58ae0002706f7c2ccab26ebdb78a9e85e523ea527f6ff5b1ae16969696cf457d0dd5028405e4f2f99a4fbf5c570e1a00ac1016969f6ea4d37dd014bfd65ae3f435c258d18a52d572a34b0babaa4baadeaa5caac9aa246992246bba531cf999a0c1a44a194a48e9996188931e1a843884d041c7407074bcddcbe0b567eddca929bebbf4eb4b7e9f4020bf2f5df62605e405f895228f22905b175d9c4f61cd6cd0021e1f46c851da011243215c0f0c4246683950a2202287c90f4b8e40d2c5112954a82104336288a1889e17784a689bd8376da46d1a49df40171a0e4fbf7eeff5e3f79c73ad1d0f166cc344780817619b2837373737373c3c3c3cac41e119c1095b0da741693c6b64214414b65edee1702d196efd83317cef39359ac3e27eb8557741b440e4f9ab04715947facbf82e63f4c8fef2bb6343d8a07464d8702084fd5ee3e976374868c884f157aeeb2870327dd37344a78db44d23f9b6e91b279c153a8da7e5349c06a5f13495eeee59e79c73768e641b26c243b808dbc8f6bc0042dd256d97b27502921790adca3919bbe0e7ec3767ec1b9cfee8efedefd127c105fb5e63ece63df6e243e81cf03b9bdb54f7c674d15aefbd5535e7bc3f555575a57a2baa5279595a5b6bb5b5d229af646b7dea016d61b1423e64fe4a4f29ad228baad544d53ad50966a2aefad55b6b7d8d555596d2bf979aa68856fb35b6d239a704392e1c1a34ae0d6a653a37fed3a32408756cc839a98ca828b25692a4e82b6b6d64278da849a5a501911ff373cf4f05b77bfdd8fb071febde827637ed86134e38e19c3d6b37ca104ae798273b176bf8b90dc6987be65cbb66ce31e7da39c658d71ae2e7beb9ad717d725f5ebd64407dad9806bb5fc44cb49136e21c0e537a0528a4e7062524d73175c226bd8d3c754f2585716f1d618c14c2afe99fad5e86af3b87eec666fa9a32f2619bc2c8237e6d38ac9363470c0ed9108546a10a37435ff7bade64b127869c1d2531461f4d5f5b8b35466f37c65a63acf44eb1fabb2859f93252c7b5521a2d2affd25a63d5afae6545a77ee953a959d16f75297d0c689cae94a8a7b046d24149cf40d551e38e1e10f89062344549da1a59f0238c0e8060b0c18d2db256ca2645a678857d029b797127ded936b73e84b46b17b94d520b68668c5f412c854823d22383100a58c7e39338e48bf1aff82e52edae6183919e26575c47b4b529ccb3f322a52d7a1fb9a6cff5fb47e6a7f523cbd6da29378ae84bd20534926e7de61d96129f6d2d7adfaebd4d6ad15ba75336a9c5229ad41084863066109052838e7bce41f7f83de89ab26ee762641e59421809639b3eee7cacef28f2af9fc8aa91fd6a552f59d147e9478d13d4fc59950a708c1c2b9e53a5077892b3a4e130c6cc947592d698f905075767cea98f31e63734619d86c30e720f6c30b314c7fcdefc076fb69a474c33ee1c3dacfb4d4a877fafb7bfbcd0ef85d191a37522afd7dd7dfa9cb55bb8f6a9bc146db292edbe34f9d43113c87159fe87c5f21c9b9ac37738a53b4294d0e95de9647f3294d3cd3adc96f556888c3166acca4e0651c10318c420c209172014095285479419a66842c6112c9a0083044fa1bf406265881815294028e308104634e185084e3c01e58c2441b000c5bdb2e3f0a2424250941f65e4c10ae5810a743b841b3b55959802a1166aa9d7ad560ddd2ba686204c821b8438531c84b0ebf5a1aa2354ad17209e10cade95f695974c575709f1702383cc1d0274ecc080e3c6386250fb707196887f197391e0417f30972776c1c0a5410df44cb1c205d83c033d186787190584f89356014e12161a1d7836e89d5605c354807385cc1582202f2a4082029f203e8c402e03b948000272457e0f20c89f637656b4d65a6bed346020ab339d986937b7895371671d9ce2aeb52c5a604205b85cbc0da06313f372fd152b7de42526e67a23d3731e173f39e1759b70e70ceb790202480dca2f178c918c1863dc42c618a1fc2b0647235952c675bd8c0049f438d1718e6750079e3dd6ad413ff61863ccb93c10c00bccdfcf9d7f7c9123477ffe3e8c42a8944cb9770b0563b6001c120906d334cb819883641fe4a30e0956c6126a302009111584318c428018051430c01030a4806606e300422b8dd44abff15348b4b623f0eedd1b5273b05a8e7c83357ff1046ec35a7fcd7082a4f4291ef58d0d020b14ad96caf5754270a7272c260cca77db4133371a36a6f56d18395cf00a155eba25e1470f42b563817a5c1d5b5b110d988c3d57cc29b92165e553d419726d5090feb3e6ac8b09fc60adf95d655cbe189ddce4ed3313d3496d1f0f2cb061526735208fb5f7c3d4d3964c6c1c76f719227dff556f03d6bec709b91f9aa7bd975a7f4f7a3fa01a9232f54cac28b21cd2a750f6912c4482833efe5883d0e64cea1ecb35fae37d629e49b5c76268802958abaa030d73871234ebe986077c6834c0097ce619cb45f1da43b854b1f81f0a26b6b6fa6cf5ef7ff313196e9db9778a3a23da8aa31c9a7463fb498ffddc1d67783aab3c2b871dfd4813debe17302f564a25d71da77efeee79133da582b72cf0966e029a22d1d1aa665c35d0cff70559b961bc1bda30282474e3303a32f40b7f026cd57a3706400c4a110cb433f19f3eb6f1d736953d9a3b61618e65aa2128934bc2e740a93e4d504ed8713ee88ad67b8925d7aa562f9c8c4d760bccad4b2c9f1a2115f1526491dfd5268b122dd6053d668d83bcad57ed4460e3c8207c6f1633a168a7c6f162201911b4488fe31d02c7ff5e636269259f1b144e2b2e9105869dbd69a528e8a21e57ca5a58bd365a41dbba2f9a4cf600aa2d94f50c763fe9acf06ce49f7256267a3c5f51c5ac009f957c7b6b0c1c77b2b0248924ce43cacd1f1557be78f55f082506508a42d67d5dc61d6ad803294f059f1f237e13ab9820d352c26397815dea514e40be02513f1ff6860aaa5639ae3dd37c8e90ae937fd97ab30d2a8efc061a5c8015cd9e44de2a925fd73c3e7e7d37662a74d010ca0df100ff34d837d5ae9b875cfbbfacc058ba1bbc1dc01effe082768a1de78efb15f3b67cf0a00002b92259d4a8a16f2b9b66449b0a1d36ddbb6f8463af20cbfdc9abbf228b462a29d3a5932f695266abab80aa032eb42766c0f56e4a9849191fb1311d277b03932e0748d1ea9b2f4becca9e8379df7505e913f7406e0450497f17bdbaeeb4d1c21e7597c248408c3593e40e4eb292ad85d966ef055bb595cc00a8a29c48f9d9227bf7445b3869d47efef38b225807c9ddacb39cecc8fea1b9283520421dc2f82de6621afc3bd74435d6047fd2d5d91060e170b7f4ae28459cc5c5a76669fb07aa036b995afa10f2a29d8c3da2675464ae9b37ca958665dd726545426f5138dbae74df8190de45ffbac1428044616f35da605049a918f16d489ea1b5cf380d9340c3d582e5f1a187329b733e29fb5452267d924caa316f309f3b1a89692474c8f39068e8c6cc22fe8e12ce6ddee039d11499c5fbb9802114e8fb65968df6912c7bf84de1387cbdcecad901344144896789e812c5259d11ef2afe47600f51c1042cea6297422e122e777c3128dd1494d1cec813f0ea66654d061a89ed5899da980a8150ddde7131060875bbecec96ecf534ee753b52c651aa56dde1dd55269644585b56c41a656bb74b1b31fa581b22700aa01ae62ee852af178b44d1ea12da845751b6bbc09b9d833f052e68da6ffd866c049fba1797848e21d3e41db300f2879b241e93aeb1659b97379d4c7c07bcc44e2c67c7593ef6944a4af89dd97d8ec26bcb3be6d36c19514a22516c60dc86aea6389598de3e4583a30c4f62f49647626c7cbaa5a069623459e3daec046e7545df1f32547502a5165294e90ef49dd6b63eac12fa3c6ed515d92c5c722d4adc7d607badd56293b8d7086aa2ab20e93def5e156bc8b908a3c8cf3a1a0dd9dcb765f24b29c9d9290cc4239e1476629e49226e7c419aedfe795a9661067f3ab9e2b34c416de7870679a05177d65e176ae50c463a14bd4bd9cbbdcb435cce63dee5ce8443db62c180e40785b213f67caf6a911cbe5c84106bbbb79e5a55f03def5897093e2f4f94397e7d1a8a53b2e3b243e9022f2734c26f5fe5f84b46dec949b16be1659091dfe261902f4757050f4ad228723940eea109b49414287dfd048eea207630da5f195fd65e4bc097a5c3ccf5629c4f056cb13b2b012bc960184172778298c1f7b0a20aa6eee658bbfdb57b610c019922269a1d1fc6935414d273b55c3a492e686b13a3be47951ff715a822600cc3eb611db0264c6da2c0e353b12c866c5c084068165458b963d12195a318c8f71ec8d29e4711eb3d69345e7e28883478cee7488343f23fb67158d7364c6172c296e379254c451d27d271dfca2aa0752692a912f03ea327b6943a4b64b706d873f724aa4821bb5ab24eb3e0c3916d47acc22db47817b2fa69e8b854ff5b803feaf287be53e24b7ce5ff8d581b9d98777bb131d63f9e1dbd535a995875a963498a2ccc6afaaf22d6065844065752b4f5802de5726dbee3b641c72f8ebe84129520a3d4c82180f4b3bc1a69c0c1fcb1bbbb8ecab23d31a85cda2b4a94874665a5d72acf6b55b283de80a4eb6140097a4e3adb9e3d4b5201f31295b5492027695e622ff9917fa512627eb42c0a424864da56414488ad35748e076c4081f3d41c1fa137765cd7e3fb29e094f0e6476b1d1bd554ff5c78a13cfaf89d7651b7c9785b146b27894bf4f1dcf0905fdb02b7d1b65e330e8e3c3143cc96c46bdcff57f5107d9c05f0e8a605434caea420157b355f0e97ef1613fc51fe6fc5e3eeeebb8ec6e6c605c7e93cf585399b53d4e2ffd83239c4be0f3a9e0c93ab87c4098e023f8e0c138abb514cf064f9a0dbb9b5b3502682615f0525c3f3931a2cbb777678d37827658ade79e0e32bedb879a54b5a405ebdb360153bc34fc6c89625ccf5fa41f4742c5451a4c5c6c952a959e4b8117ea3df9b3788b7a9c3c3359897ed45c8b3be77ad80f281782b0ce5df956dabc1a4e117c1f698ea405a70fbe134b00e40be7d6386bb82542c033c1ac76f56e3a80dd8a1b9fe5f6530dbccdbc3c2ff840456db1f62a130b5b975766aec58e2ba2889f983c24acf0ab7e8495c16e517f8630d17cc8b4a91bd25f07af4bc7b81ce254c7c3c9610d62556f611cd694562a1fef26e5b4a6154b144ff60e917f84f918389d07ee1e90b28f5a014b9841c92ff9a99f50a20f43a8a89d7708d770c17d84859b6bbc321fedaf9f401459496f4b2104856ee80c919da1cb08d73da1d24fcdfad270c8d16e1c1884a54451753514b41f5578ed9b53da3a7f947936cd7a122247b4b70ce70e03c9bb3e61f6f05086f8500641aba8e93f05e39602d2d9035728ee4660698dda857355711219ef4839f699c35ec8c303f1cb200b3efb8536c43010a25708e6a0eaa488ae0524c88c926346629f262cd099b00539dbf403471ff223074a7b2b20a0d33ff10600e79348e46b33be067f6e923f37a2a1d2e094b66384eb00c6d2491b167d399150688d87ee538954b2d5c7b44a0303e310388e75241530398fd1cc28b3f3c6e293ab7286c16c0f4c5b1ccc3910efd20df048b0066b9fd7f9405d40272bd8f6480dadb5a28664be43e3d3e8ad2bd6981890334e716ce41a446c1c196822a99bad42203a38d21154cb1e9d33991c26885faf768cb46331383fd20cbe1e940debecef3868411137a76dc3dc0a4977ee904c15f33a5138714c893406bf9113a011d704999410738d2e52b6473302609241cb93c5cea362daa8cc7d6460811949bece782f9058abe29af45cf8d67fac18209309b9a1089f64fc2939a1968bf88c0de2db91302a4014fb27e93280fb4a1b7ca2f72718f56dca6bd8843925dfb902f069e240f8c740e873aa3f7676206e250266bb89e02f4323d319d9100ec24efb56654c45994abe2b4cb3407192c0f6808541de9dc45beb5cce58498a27126d2ac2213bd61c4d76cf64466f8f132d3e621aec24457b1ceb999fa95fa12df7a6b37e5345a57a0215da46070f38e25a621a9819cb4eda4d65a0686b7da3dd0db4b37bb4493d638f0caab67adfc17dac40b7e979fd42b25b8e960f871841ec7046dae29f1b86e10e0daa574db21e8c614da0e57504c49ddd93ed3a85821271735e2cff23ab6f19d44d8765fde98437e9d1afc4466d55a5406fa770e7f6e831d2cf2d1398441acaf84ff350e993a0bbfc9a5a264fcebc2ef0c3ae071138ffac88a2a3493ae2ab797f5eb3e4a384d0795447ecd432fbb2d2c3c4e1cb4114ca9ad9a36e28b4168b88568c92b0f4949e409e0d44c6930ec7a4b44c6c18bd724f1e6482ad35220e5c243d1e135f5f3a84c531340e23febcb5380fb0791fa35d56e1d9ed55d93ead6455ababd30c82b5f7a2f144b39420892d2078d1d245d21fe4dac5cafd0ae9987875c6ebfd4c407762fdd640ac69c28b8419604ec9ab0eb619856986d5c5ed0355ea68b442db98b23d4e685f62a10966608d06679e60b3bdead85118b44cbc224e79af08c6ad2e446783157c4ceab263bdc590254f39347c44b516dcd81a81e5f412fcbe753fcb954e702cbd7d7b8324292797f0d0c0a0e9fff6481391ef157aa39f34ef04bdbf2c596904cf39e8914882cb912d1e1ab71767eb321942adccafa8c4e6b68568765f6e39f747a4638566760b36b104650522f44107ea4bb45bedce12347e446eb827a954584d4778ab8419b00dc873446b3948981796ee0e414ec5f1d419741c83c47ed29317037a51190cf9b6ee0c1f2831901f137de398582c51de583370394f26c7096b83a4aa74adcf767400cf1fb6063a62c3b22edf54b96bccb35e233c0ee00a6ed17a0f492049aba77f411dee07dad93f89fd6c2220e0c498d1c8c208213cd2710911557c104388145c631fa1ebb0e807143f591bdba5d1182123819957d81962612a188a4276e2d531aad20007fa9be234d2e1946c1073b4888e2bea177844efb0e0490275dd5969f4e7041e76dae034000dcd8fc7e871bafafbf3d450250f34a1284f388f1db386ce8fe2f5ef3b14e6a68241554ad486a2e1a390b04f891483035efc80ea02cfd522789d7ad01824cfb26400d9d71713a6efc3c8a2e46d248798f5fa11647a0e468efd11438e9f920c6ad8257cd1d6c3e6106d9d34438e60b1aa2eaaa30b9821ab1decda8d4841ae8ae586e9f2a9f3c5eb1a47b50e05846eec437baf5fded9032a9c09282cd4b1c9f9aee77585a6f0d5a1d7ae9ab79b424b796ec37755558534610852aeb44eb1b970f31190ba24a4d69f83bad323fe4900d238a94a7afcc2a768499435e62db2b3347b956bfa91863e7d463b31ab85579de0a5816e06a41ef3f18c3c7163f6d7ce7d5afe23fb65ac3dee27f2817e53217f6573a71c3aaf2897ff07c81b47875c6a22d4487e893c2dfd014f5c7e770bf2142c8bb5194de18419a13a1039dcf540c3dad2d50004fbf1023b76ee789a32d50dea120fb8f875084a8cc16f01b660af90e445c2b0287076b9c30e2c57a4069c51832616246b6a8f3fdd803772ad1ffe8511dc431b05ef2b833ef5ccdd20a08f16f69f2b0f75c921f912d394b7d3e24e6db3f4b8d96c62f95761eefee1aec7909098a88783f1e7451218634989891ad5b4e6cc1476f704601fd8f1e151222855041ae92ed16c6d0451411951b36ea0c0c8aa1f67a2204c4f3e8e3fc1de272a3b4feb7b2b1f0160e34374886228552408ce7c6bca618fbfeeaf9835e740379c10bee85968149942019a236adf80204437dc3ce28f23b720da8339a7e34d1310ecc185aecf62b23dc019ec5898835d9e25c0a5400b831fbdc48a21139b0cb0db4e24a2143ea3ad479d9b2128298fe738b2f465ea8c611d64824b60042ee1e96e9e29082c5bf1e03038c2b517881734b396a6725bfa893c159b5e3a70a0797a79c714ec6ce7417d9a6071ce7a77a176249d3164a6378e8333b4eceb4901a11507eb175423e4fe0539c46e9d99d44000d18a3d92d92f177a67eea36f804af5611e38d20e4a97d695908d3467d61a32ecbccc0945b87176896cf4525b78937370ede0a59f8e36bf67eb3e661701e706629133c501836c7ade31a065612a8d7907c1d19da552b955657f75ea759c363110dc9bd080a23f28f0c5a96b8fb67938ff8c3b3ee7470a6edc3f647034d1f6ceb03cd587763011947d2dcad926403e6d71f59befd90991ffeeb9a52603fe4811eeb2a8fcec249ad0e96b505b851067f9e3a6f688389a44223e54bbc320ae8dc90ed72018710fc12c6a5710260bece87ae56170e55ee6464b28df863cb8abd5abada8b2da1eabd32876d71385e53293d656c42dc6722880cba645be0fb7006f402351b81da3e3ae7e95290c7307610b2480b404e07f411cf80a43e7bcf7616a07ba9ee571190bccd048aad5530c86827acf3db6794e8ad7edcb8c63dd9d8f4877d9b736c3ba7a32b889df5a3a2bab73a549a3498d459ea91e4da5f7499eb26752d20245ce394eb1d8e0291a602bf1d973973be5457010dd983b66803889d30a5a3dd7ae85391c78a4b73e4627b3cc6cb57e4042e81ea4fbc66f080dad3f3f0414d96b2ecb01db49e3ceab5c40ee20628a76edfd1830f5d0ae0e5e603c398e02d68ee070f3f0e33f87490f26c7a9ccdf0b500d6ee40cca4876518d033a1facf44114b5087a9e148a340b7c18a836ae9a415c561a140a482a80db004f77f1572dbd65a1470d1fb3fad0be9f1319d05501acadc4a64fd924c7ab3b07cd982e5607ac98e411240618324f278f48939c7d4b5d2309750e618e5793dca72e3bc9f2abda14780f8c7c1787cfc0f3a042806bdf4c0793c5065c3a811ef7f81c760eefd977a276c2e40a2d1e75b41b124debab65fc7a3208e3601d284eda9afbac37aa89109bc236c2bfd3b4b448816eccd2110c9c0c7eae8d70569c579cc75d56428260c2c26e819c3ed99d817107d7be26df4bcd33585a72610d2f8e34204d8d3ea1c0b1aed75b1a58e2e4b2ec02331a348748290b936b852e658933a5e84591013159fd07342bc6a1a1b625b941935135c1c26594d84bef8883eb31a7fc14113fac2763ea466f1ed32efa0f1aacf44ce69ad98902b4de70430808fc84c1886a7a62f485b5141672d76a8477e00470b1028d6577f962ad0ecbc1ce03026ab499dee1d8f76edc9aed012e0e08ac102ba0e24155031f9cdb8fedd4a01edbea1e7f1e9189c4376070e5d6e14babe18c93901189519a4f033bd95237bc32503acba6a37a5a9b7f367ac43029d38c4197e10e63b5492194cf87480f0346931b64f734f0821423c135772ef947dc38d0ca809227640ce691cdc5560e338ec0b107b0345a52d96704a45d38dcafc9af6968bfadea119661a30e63895398f56ec1a9dc45264d937d001a724c0b6e0c9528d9c3a98ec9e971778a2c4c6bfa0800d170f0958d92f702bf8ea3a82c5e5ef1b0a192b497490b26f7c8cfc0e4dbf66a9f1fb782df9210f540240567016acda270de06ed45c4547e8fc4452ff91b8b0ec98cb1174c66342488fae47c0e5aa0cff5d06814b11beb97346bfb2f6c711ba53b264e00ce7c8f67ec993cb8bf9fd1bc4259e6cf2519224831bed3b3f4aa56834cf9e80d3c1fe9bfc71e75675e4008c9dc379c56fbaf84ac73866dcd84b72feb7b2489bc2f35330aaef46c2c009ffea60272184575fb98d85d9517d8da75a0868c3bcd9aa3ef67feed2324751f71c9abe45527bb1e11a538c3b4ed6063da77bf48d88bd27d4560de4a0dce88b2ca1c055131b5d2542b8790f895065f6edd04573ba6fbf0af3af97bcd281557076a67432abf7c9c4cd04c696dbab3d3da8e90191ab5d90569605c3de58ba22c13e0623f7bfa0ef8dd684a7d946e2d09ee7f774dedf1502538324698e17893434ff35e28a260345523f41e5489e7c9001dd430ff8b353d243914048198c97276ae495a7a9b13b065c7386701219f987b70427217b4120de179b2c14d135790cb5c00a05db033e108749b418572404efaf3decd90561a7cd7e985d1a2763db2e59754c46b62947c57ab79e98af2ad73eb01cfd1cf9243ef77bc706a008ba3c073ed75189016d54baefc2da83783722ebaba0794d7f55b162aa17b6e690f878b5d329181f0af4dd9d2fe6cf7e2886b5629021ef0ba42d35f83daa3fd4af6b1a285a5e7eaff6506ff4b28056420cc7ee78e34a2700a09f4a6a14401e3ed6f4ce495292a858e3e963b3fa69ac307a799319c9ece9a2f0d94993f61ad1948de5674e8fa09d1d8b3c986f454afeeb1d13b8930e48bfff664fcd7a6fa68693efe73bedfd5ba812cd8eb88c0199e447e51368ebc95ec6b89c1c30b12617bff9c0f475304db0747b9bdf1c0945ee211ee2aa4d910820e9c4eb883859c8669a300a2f4fc7c4b966a3938586514534e1df6bf52941386f1380812f7716c05a06954305a51ff05e0df1a46b4f6193139a28f60ec9ba5fa1c19ade73861544b432334a396f1d245e7310ce4d32e5585a1791555467e58f92aa047495005a62781543606c4d07f0e5273b84d95f19db82097daac3c41412ec120adaee2c93084de8f24a8dbe81ce2e9c49c4b778d8f9b08c2323317b0f1a2970102d3521bb9bdc524a29d30e3701550149015c802796b63a081e7b7205c648a1415e73f259db8a2cd16b8ccca9958f6052b4e8d90264c68ca0914d581c334162e89c5551f125a2ed4d63757e8cf1d52410287d84547119d3e1261116724a95ab2d3984ac86745452677c6d6a0be3031319cdd1fdc48aa8278b22050b18314860d286f06df7ed70d6e9c3a6d74e8cdd3549babb8f1baebbc13de4b829b37ffe4943e5ee22543b6c5eace1426efc28d7fa5a8b83574ed887a27591f90a2f57c033685f8f7ee1cc8120c2574e0be55eacde25d32fef545f72570f2e52b87dee27c9c77a08460b6b9d24fe5267ac4badefdef8f5d676ab205f6b72a7b58cafbe2b7371cdd979dabbb624dbdd71d4e3e31363bb4bbbcbbd777ec71c6c4aba7b2dbb99dbbbcd32679bbfb4dbc3695aa03571f9d76ff9765bb77bdb5dee2ff75bff603f6b4ddc1ad37b6f181ee6b933cd117bcfa0fd48f48947aaea08da7e5beda3ac94f0405b67822a19556e5b6d9b290dda97e4842c5bc54a8063a6b34fc530f7fe6dd2e96e6bb5b2dd169705c4b7d79daee55d7c78a2be47973a1c45364836c82c9f9f4d32c9fca45267bfcced329da1b7edc986426d3405ef269936f725597e0e40ea41269e55b238d318d7deded6c2c55354edf193e6e7ca27ad156a99e4ce375ddc6694e095a0fd8cdc27e19d434f1e4921a35237d36d25cabf99b527dced67a74cb443c9abf1246a69e048474e96806152e4c272048ea22c452c2f5e541e897174468b941b1bbda9dd01700300adfedcd1756276dc2cf997bc906a3742848bc5cedba0084dbfec6778d9080adb77ca92d4a952b527c992045b46c87c24c193858811d7973fc42f2ded55ab13064db681b1f0eebceb0569bdad7798bb454434918cd0ed6f4b6e323ba2740da55c217681b80a92454d1b2b3ec416f99ac204bdcd0b900a93d45349af0b52214fe52948853ef5b4fd52214e5d6dbf4441ed956a81f5c02348854c2aefd354a8405d057c5ae2f0a5c20cead2d2aaf42b804f9aa0f6d235ff8aff7ecfaaeba3ab357f2d7fa5fdca7bdd17f0f5fcdbafb55f09fc4e008101e82e46002574eb502700e8533077e2d09bd74c7457a23434c51e35fa19c5280b4ba381ef2271b877bf2396f11b2391cc45f018f3579b9b43c1d4d7a03243584ad240452a3bb2e64f55134291727c01411fd10c95b5228664ba16d839de7b99608caddca972ce195b0be667dba1614860b636372d37dc508cae32efdb711c35e49c3305f3dedfbdf7fececcd866d44f1397c07c4d6c771f2143bf35819dc438cc364fb918df61d570cb389e43286b46af2c658a555452441c3d4272972815df80a103698814222eba484073cc21ab85bf4e73e8613608c74e9969132a050bcf722d0c7527046ec9779224fdba5e74c847271be97dfeff4872d7741adf8cedee34afc50e244dad5d8fe419be982ca6644e0e209c7d203e7f0ae5311d639be81ab167b802be6311e311a7d74d12f01eb91bc4b0fc8a8a9b730193368835191fbb850d6251c607d77aed4b992d3ec6041c2b43146b83cbce31a77b8e677638cff1ebd154bce0f94d4781390ce8ee1abb69c3709a7307c492023a9614292ff0e8d68c9f616ab181f987bdcfb3a4769ae94ed996cfbc6da349ea4b3c038568a68b2f671be605bc6116c83f622b6b963f32518dbc13974ea14a4fc1dc80f7fd28e080ef505fda74205d7d071e4182745570431d3478345d11a48f32a56b8300dff463fa05e8fb789a6901014d04535ad2a9b049352064a0be89aebd54a8d4bba97ff27ec5a1ab522abc6a81c77d897b53d820a32b2e15625097cc54d813ea54decac0412a1ca0068621ac2326473d9aa4e9637408a05830260fc992288c8224a90f10d9b557e3651eb8dd51ae433a1258981602001ef2fddf94a580ab9fb19411fe5deda77728a587f5719d25fe619b5db6af15a322f332cdb79db761a945e8508ad34102c5dd1a7d6fafb891a9aadd74f7b5abc95b1d94520907a86cb74032c33a5ded3f7b23435b74f05c8c006898d094aa98b2737fa0f6bd4112d6f2f7653ea92db8e2f48df1eeffecc215ed3948cd3b98daa71ddf00e2339303b3369cfb86c443afba38b8e45a572d5b22e142e3d09dfa32ce47c0ca8a08e3062038dc1dbb03fcc1016a5bc9d377b3be3de0b700c011c871eb66271d17e8d85be00d971e1f9b73c3a7e3193b831b25808267672d70d1f29cb201b8f4f1b9fd748c0655069607b744d829fa2a409b13fa12d73719bf9eca032fbde5f7c25e985b08c98d3d283e83a8c6d2b6f74eb1b338b02c28ea4527f0046e279b1d3cdc411274ff30c94b3473eeaa8d9626c3951ff44bc8b77019704c5252c25e98b0d1610b5b4cddc7676f0ce0a1aa9ca132be8d33d9fcdfc18561c05c5aca4299264707e8f74e7ba04b10b3a7fb44dbd3f05f1d4a79af5363a80a34d0734338b7492b3e6495d0cdf35eacb15d0ea539f6adeeaf665877fbfd9bf5593e5f462bc867531a29b790e14d50c0000feeb2e341af4a6e8bdd6636062a7cb559e5ce7270b6113c28b46180ea41ea1b9bc5f3647649f18c39870a7b4a8c17f4b881b8ab0e85f6cadb844186816e8a06177aaa0fefe213c54b426ff804af8d50efd0b9f4a2280f89ef3210e8a29a04a552e1f7b0c287565c438adde7f17000f9947e227d77157c62109ec999b4ed36b0f8056d905d31fafed9c1235f4bdddd55668fbdd21cc8b15612a0ac82b3a161448edda80f081794e81e5ef4218b1566936f91eec5a5279aa4f1a59833d0c970f7abfc52c9550e3717f8a0c0d636dc5619422cb12980ac2569614e357d63aba9eca57fc4361770830d7215858785d47dcae26edd8de19c984f54cc160985aa890aa6a738aed396c90130cf23a6817b0896eb986b44ac3dd635226f3160ea8162414d4d0197655e05d3e594bf97e97077ff655d20d148b5bfe4a297952c2b2a80dd4b1194c18b1040259504b75120c355581b8a7b7596dd0b53f56a4e4b65c8e508b0939b08201e63f1b06906f43fc09a911ee4962b35cc3cacc8f54718ee28c230b438d8a79ff0dd6e6633e804b6096d7a393c90202c85bbcdbba1053e688543a9805271431837debb7050e7141874b693a6260e0b0c1903165a32a85e23382f208e40fe252c18723d4588b6d51f84d9102e02afba24ee697779902e32cae486a4d122a323e983c59c46e04ea7210a6342e837af6c51482723e304948ae1175d9e1c0c97b184a2b0db34ea72934939fe7f32f2be9c379c057212b1be3ca25a69c10ab275a66c4943a846cf5b5552d99890e4c914ce40a7acbbab61318e3fe944d94c3485250cfa3d904e01821cb71723087d14c532b875b5ffb69af81e8d14e4be55f9fecd5ccd88255aeb08155761008a8bf4a07189840bb5c6ba9c568df20c8438474cef044e38430489f20c0ae135545acc78902c2b8650272a7767aeb62c2858b58ccd8956f2b1ae33141f08a5e6e0ccdfd2286734b477f89c9cd5ad879597676f4a0e71b48583bcd25da051715bbf62d7a3355defea5d3a3cf47e9bbefd0c759ae1d8d1bae9c79f799f7e7ca5ade90eded69d740e602acae6510ee0029246461abe5791430831fc6fa4928d9a515af112128c2b495dc4fa5572c10e428e03d45f6c83a7688da34b6dc242a4fd55152fceb1a6bbf1ebd6e04c68b9928ee4e76b790ed698d20398e81be12f4e7f3314aa66a6f1a00c07fa6e86aa9ea6c95e808d7c5fe8518659ca165e57ab793ba38758f5b064de80500d98cbc5e85e11241a30602e3d8a694152059c390fd2e8bf757ddbf3354015df720253944a1d2f45842af020f9195941ac0daa88094028c0ebca134c0956caa40848a873c7b36a7577a35cd3aedbb3b602e25c6920f009deb3fa0fc32bd12359223f71caf7b3f20a90802ced8231482a3712c16110701503a5dd8dee60b61d3f7b681388767aa976207a4a60c30857214abcaf9d4e22f733ae67f7d7d731cf5f23e025a323dce994c011fca9cca97a99aa4ecbb354a3e4ca45a1ba79251811846a712d3c084dc3656ba03bfdcc36087d1b211a585414d354305061afeb98e8fb48d53fb5ad560bedc4f7f58a14d0526ee2b2c5159c64368b505645364e80b729fede543d10c947b8309cfa1a5cd3681cde2adc9b346c7f3fcbddb5867b6a6b503bbe11202d7bac56ade795fdbda68df868b3befa78f3d59efbedd752619b40178157aad6dabea0190d99a22b13b6f65a81ba9c580d6ce2621e4b020e59875e0fe9138c9c1fcb63fae747f3ab84434f13f13558721cef3d89ad4e5fc9330909046d0748010b10235a01446e7445b4f93934a61036bb5f2e4574e70d122fbe823f8175d78380f6e20560e3cfeea05c3c21e690dcdca92800698df97a634d05f1b932ac9c967f36e5e6e9efa531ee574f0c2383fbede56fa95b34a238d4a76ba20a343be27b2b55d9e87bec7bad523b61af4f7e56e6ea12640664cc4c6fdb5f10e3cfa0fd6592518fdee981859fc5a19bb6196042638b21bbabe302810bd13f57e993b5a459c1962d2f56b61755cc6d85c3e2d0f7136c01f198842d04cc7223eb20e1e4829651b9db88c6440a0dd138bdd6c665353386168608d8232ec5d85964022d1e42ed641b459a24ea384d7679b11abf9dd83f665c2852279cf386b85853cd35216ab3748a319237881e536b17cd40a30411ef87843165e907373d918554c2cec9d2822bacdbc81dc8d33486480676a4a529204b9f806f68940d326e8eb27cb69eb6d92798a1e0d0ed53fee5d7db093343b0688b81a3c449b3e452e335fbb96a18be4082289c2d49fb73c52404b74b6d0d601eda4995ac173c2f1b525abd374a222dc33bd1d7a503968367d722b3898983c6ee5c523a7e7b43873d474faa2bba943f887d4889e42dfbb77f66ac3669875d6fb1384f5c380a9539a3e438a4c3930b32143ce6730634a73fc661d2cf60620e31dc26a6b1eabcc46c217f628aabd60969598a5c6a21ba4eca93c5415f6eb39264bf25f1bf5a56387c25b7b9882a40681d41ec39826305f93c022d63364dced1a24dd3d18f7492168710269af79b3acbd000e81aab291c2a831003dbdf8f01fef05f6ad83708a4bf00925c0643719bb2dc3586f633141d29612836c38efa9969e6f4f2f782daeef4b7679682d9bad3beba9335cd6ba45d4b4b2b33d5eb9ba6f9aa52e948655879591a96d77773eb57002eadab1c66a3d094bd2c82d1bda03e09fc1edb4185d71943fd1e8a260dae8f835141d18b0ba0e88ee3f57c9d84d8b24b0933b31fc2f274bc70b1f20f2ad46cacf59720c3450c7106cf4861792004683d347fd1c373b7d6024b7282b5e63b89d4bc48e8825a6ebefe7b1ca47697fcc139b539c0382ecd1e1ed1169724c02c9a2d9f55b6fa75015db245e30d295fcbec3e5efc4ae95e5e7d9fbc99e99172d47028d92444654f998422ec69102c1f5dee220e0435e3521dddad363eda0c8bbf113116f15a475202cd0aaeaa497b2466f82a47e157114ec425763dd1db546c8617965f67c1138e26eb3db95420ed1278074e563172e0f3d0b6c75c66e3f775ced13788e7763096b82b1234df6bae75af7687a2392751ef6c26acbacb59a1045abb918c51fb23ce0ca387e87aae4e3cc6b183ada5fa6638c533efd01ae200fb4240cfc3432fe9e323ba1e523f9f947153d547668623c2c1f814aea02cd74b5de99c4303dc8bbf3936fe1a3c662c10355e13bde244b0228880bd2ea3d66b06df3ac26b7eac6da5b0a5b25755f86ac1da052fd78c5cadd1b65df5b7ab5ffc675f09765b2c201d18da57c3111c900ec54d44b5fd06c1d917ad85b24b7b97fadac72e9c5050d544acb1a4e35f4a98f7f5b7d3121998cefed475db22b5e5f6f74c599e5b3e7e95b78ee6abebee9d2fcf0064b99d95f542b7166cff645e0ead2fad2b3d32b161b66afe09c75228959a7aa685d27015d7f358a39423c068b330937d6b12ad40c70820a616ab7ab9d2610cb550ba880c113ca608a6eeeab6f2c87d7b67c651e8940f255e8ed8ae8060b1b6c7c7b9e0e043ab9381257caf05f942abcefc7957448639335847c545b80d21e65720ac0edccdc54a040cf2307d90a3e5f08dcbaba04c350bf7de49f6be180964fdd04f2985ce48c2e518cef1d62d410d9b3820bea4a53a3b45c7af82d8571ea3001c462c3beb7bb7a4334d6c4adf72c3b3c330edc2f7ca763f76576394bcd292dcc2ea4a6c45936ec69675bca694b51fe4275c273178bd74511d592e5c039c8d5b64a82c5cd5912cdc793f9b9fb94e78b74e32b08d1264997b520e84c1ab3271c8bb22b5796e63dfef99283aaa80d6f1e72ded657431e93815d7a2c2bcb0757a58959961c18f8137b9a8a38a8536da806ded09fb38a58c12c6049be27c335a4f49df2bb5adcc330faa7b7f9a0fb6571a8213d6ae40b8c380368ca8d7fa892c18d62a64a87c8df63112a6e21334b6c9decdfc609007f7b3415adc6dcfbf689dea631a6d321716ca73661adf24a3a51a272d41fc1b12240d94e8bfa2c327ac000b2ff636bf64046a717282593741ddffeb50bfff235e4d48b3e01884f2dabcf87e138c36770f04981b5a189c154aa58f1f6151d139420cc92ddb50daa96f31c4ee1c15ea9ad07cca16cf0cf95b566c9a00ca7c1c1d497092ab0350334a8860ce5d8f1534b2e445c93b2587ae7d6786488f36e20b027d33064892d236c868d84a8e944adb07b5d54d9c879d7e87a350436f34db36ac18a13422939429a52465df01d001a6016e492e7e343cb972daac634c77f000680da02d11391e193e6e5b10dad653170c4fd6c906292a8de90b3320463d4a6f3837327edb29b4a8e3e9b31636230f2f078d291d1f5a9f8ea6a2a09400533150caab170f213c45cdbe20316d8c96ce008b7b95f2bab1197b7a1bdb799901c2819466972394b75ffc4cb13597d468948eabf6b41dab9ac12a2b22cff02f53d333afa825264c5fcecb33065bf38ad6c53412e0a6ed11b1626a06a9b1c0a98004f3a6c50a8935a1847026a97aae56b51832549c574e654f574d4fc6a3041b37ae80a46f7a73cc1d7de2c0f1f0cd51e797a956e86b8fcbe949e9c66fc85e564687864edd88081b52d4a61d1434ce068592ded15c8da4128b991237ac086acf4ee70de6aaa6aa2a6e6e07ab471a1f8c60872f1839423f80713e31dc3fb0afb22d910e382eda0d92fcca6a89b1782e2d2f2401a343fafe965b269d2ab5b103e98dba0363c80f884fccdd90d60771894888cbc51811b52b4d039eb4abcd13490890e6872da172a67d50ec5ab6face20dd25159135f548e208fb01c339018b21a6cc218958b30ff64ba854fc78c940f2b271637bbf94bdaf0f8cc8470e339938afb1e0d38ed74bcf6b2be55ba91f712caf2b141c64fcb5846ee31886eb17aee11786611886e118f61e7ee978fbf78577fcbe711c7b04766e49a0a01aa69481c31f8d024576271d8d16df82966ffe68d8074d7fa38581707c45bf3cefa22e0f889cdb5c560f2db08c4f6c48579d569c955d8eacd4168a08531f125b515b13eb83a7e3c6dca3fd52ab0c02b336962ce277a7d781e001d6b1e842e07c92eec86d0fec9f102102b6a9facefc1f79cd774b4b02055cbc5864a9b5fa4c9b58fdec618cfbaa07af63d885896edf3b6ceffd96f8ef5b07bdf79ebfb5fc06e5f773fe4d627f446b8061e19ee1578eebbd6331b83816c27edefcbb0b5ca8085c05f5d988995dede28eac5656647336429e86b470b4195c557a31783f8640ab72d51c56387b3680af1b567786f3628db9e4f174d97a5a48fd39bd8ded50a181de781a8ad283a231ea80584a581bd33a6657b12ea9d5d8e5cd318b5e1adaa81f26361a55a09ec103d48ba99146b99c47724ed6e88dabf306809620b8bbc021191652222fa6328dcdeb4f2e2fc08a37ea16529a0c67d4501c56dbf35313053427cce0e40112e3e4c4c4aae1012b0a6b568535a55c79592201ced5eca87d355d6b11193d465941027fe2f92b8a859607480425b463a35394d49795b92151d045e63436dd5a050689056d61f360fe5e0cf8f00577ad61a547550372e570a853e7150fae22c3086d497835cd581dbdfaeb62de84c1fc4e76ee1eb7a7f7de7b8fc8b1b6bf7cf7dd3fefdcf7a4fcfe1d73b87bdf611ecfde6a37785ddf61ef8fbdeebdcbb32b07fddd76b57480634b3e4b7246d2b1110e53a1366db6866955be2f13cdf68644e034c8a62a84e6c7d256fb4974bef88ce29e5454dba68c5b853d883f7bff449b687b1e686700c0599e2ea5e73f0f4507efb8db90d7711717afe29effa7d79afbf34f77b62a11868f0f3a7f3d134db3495d3eddd93a8f8dd9373987070b0dc6f3bd5fdf44f32ded9de8cdc659b2d85dd3d1ecae5d92585ab209b01d5b8db35a59b0a0fbf2ec42eba2995114768d56319751a1bda116d42fffd7cb3216cbbf2cff8f7c6956a531b3c8d0f2b294b07030768e88a703e464b3ccf94182df2d242d27f8e5188974833fb6c1256c412d67c3c1a0a765e39fbf18cc907308884cf9dcae2de988705ab829939c47c3a3fc7bade6d56af41f78bdc76f07bc3a939e05ee3322f25953050df9cfc6fa556986778deac76fb6ed73ff2843c8e0b5d3315eab0c8ac8902e76fa595b66d6375792493d148e6b14935f32e2dd57658525804c809e8700f889b017538824c1010202bc09b693af740f75bc43eeb1be879f7d3706d3ba1d87794c7b29facb4d69fe0667e1bd7db8cf52e119a69e7e52ac773129277675bdeae55344922c1e2b9874c9d7562c2fe56f37fe6adff5ee75f1bffef52f06d7fdefbb37e7bd7b0fc3712cfc338428cdeb5f943ff1c417baefdec4950b0346d09f8adedee99d1eca39cd22fd675dc6d16b4ffd9c1b8d709f3d969fdf6e6252f280771eff2fe4ee03fe679a7e8f754d801fb55cfeca73ef2e8afe0e61045f797f3efbabf8f3edbdefbdf7ee2036fe38feaff7f1fc3f4d1f6b02aefbfd86f77c14757ae3659242b0d1bcba29b2b4ac70400a6798170f6621e7c6a76cfc2656aa1452c835837a65c53d72387e17cfb6ad5756abe42b1f95fff9e3f81b8ff0af4b907df7eef6fefc1228fc4db3dd6a0124002b41b0151f9892187096b4ec0c0bfccd108f8141e3dd5ccbc904b0c10167b0001e44962ae14ad444a5a724805fcd5cf44b1253ea689420fd043b9b8895eca049a08800a0331d141ce99b21130351867227b31989706b240875223f879f6724e6b39161be133f37f7a28f009caab8271dee41fff686440749dc531ec0b6058621a803454d9d9248f83398108aa2501486398aa20e5b7c231192a039148ee1588ac11804421006411086411004411804314622c6388a90b30390a42ddec6aef0e1a2d63eed376dc20ef1769025a546483e94898d97f4a883e9d336da39ee6dca369a0e243f82d868976fb8d16e5ff750faa2bb469cc58c855529e50939942ee38d76290510a2679150e12e02d013968fedd037446934eafaed3b52c16fe16d8692eb0f761317c59661e736d10910e0fada597cab493ae8b57549672e2fb9d8a2b750139f304dbe3edcdbeaf24d7f48da8a920204527baeeebc4b13c22381bd046b291572f8ebe0ad264b3a2baa586d026cf150b9891afbe8830f51af7cc1ca64ff18324707565b2a9ae9d6e25ef882f59790cc6a8926f780fe2f38791b18e27fb92345f13ff1bfeae9ddd7082c982ef18944d03cf8254762c8b8098b059fb575619c4dbfe03f45084aa40ff147354c6747dca00fb78c4ffa5140089244aaaeee157c36e74a617e33ab523fcfd1b555820d7789a83f910770f029968dd1bec08a2b030cfd0f3b0a790a50b29933968f58ebcde80c3baa8ceaafcaab7a5577a89a11f4bf7864936bd4dd380e3a44931a74613caae8e40b3d8a89a64c336edc483b7cfb9fde03ada193e980fb44d669fc63dcfee4711b76f7e169dab9fcbda40ab9f3876d8bb0329de46da9f1119de9a91083f5b81d89d644f1f63ce74e7d1ccd950585638b1348d905346d86d921a09a7db8c2f00e504e88dbab59b26cf026b1ce39057122b54fc166cc8095fc116d13773ae89101bd562a28cbccad3c5b0e18f4099e4304aa2c12de103056a08b42770132dfda17e1e382a76de92396b59aabfd45c2b25690f7e0e3a0f98b4e3e78de19c6d498fcae2d7d03bf13778d89f7bffb5c87ffd26a20e5d1e759dc6d6c92c49fccfb5ec95768a273b0199b4e81b4bc7145d31166f51529fb02a86c5a1d91b3da39b8689d9cf8ba5435ba7d9fdba796e1dc72afb193d206cc35fb28a25d4a4cb2f79433b89369fc334ce217510a69a36c0b0e88332d1a4668622c4a2da6277d9891fde3a812bfba80968ed19dc8e9311a349b4c7960df12f844611ada33a9b3477f50e070f191eaeb838f38d33e34b40f9a89fcb436cf6b37bb0ffe5d6f209e33824ad1ab7bf1e06114d186415ecc762bbf032091ad3ecc378dc95ea2284137eb22046bf81ec996700e2671fa486b6dffebee128221916622e00418078332eb15a9050b3264d687d223483b12ea9d97f70d117dc45d41585a5347d49ba3e488cce06913066ad2b9034b32e18ca768931c8277a52f2efbdac929248191cf83ab01e7fd3fcf50204b87259ca4b13d3366ee99bba923a220146506fbfd32c18cae1cdcc530be97ac4aee4f6af5442c7cc1b33044dae128b24adc8ec3acce9a65257ae016527d4d05429a214a9b63f6b5b03c8310c518f8d9c9bf0f6d01279cb0445d3e9b764b154acce471e219848799b6d58eeec1f72c33eb7813a8ee548e79f84fbc354ac17378389a7d846461371b7bf2b03e1b33597bcda7b8627e14f2c5236d1ce2a3113e0af8e3011b85f8f1881f059c48227f14902f1e6963888947fc382466238412222e23c6721fa7678378b8870f3d5eece1e53e3e6cc1c53e7eec37b64b768b172db8dcc7cbee7c3dfa468b5895b5f07bf7f287e42b6e20859f3eea89661cfd3c2544cd5e4d6a848fe556cbbf0bd24529c18f2fa945b4ab3ca335fd06eaede1f3ad582a82da08dfe5bf93f917b95aba0b1f33761317be0f5d305d5a79e46dd36500974b6930c2926b32ffb42acbdcd0f317b769a7ef09c0f6f1c9d95c20094cc47d2fb4eadd0643d17914fc8b50199d80b8156632165d03d729928e42b091701fd32ea156f0ccbec9de5ed9bd6d466b7fbdaad9c5ad7c8e4e5bca541d4c1a99767d47b2f860f59de2a9d1e49ccf16c4ab313d12eb23bc52f8e49c91d1194fd270ec08581b639295df960ad62bdce7ffaa7e82062fd1a59919b2525eb1f5c2e0322ed40f8d1ab101c9f7db64f45f239218945134111093c4df1bad1be3f3d59cbec1fb6033e13d99309cefd03c40cb27ed01732cec4cb67f66993bedf8d3307d8ff082927448f0c3a005a54d54c6504146037f93e3feb94ac8527d4d6107833100479ce1bd92c8cdd7ac07b376600886f43cfa3ecbc6a5a62b19661ac250a2aaa9495ba5515cb2c46491fb3315f32f5cde48bfd66dc16e3c821dc48ef0dd080437695699d1036c43aa8f3a3015aaf298e1e6aecb9252bffe3e5d74c62264a230f0057c690afe649e2a629eca463906f6d1b557dff02d17f4a51059c67cd8a3e9c14ce17681485841914f44b6e148ba4f74ead0717332a534e2dc0316e80ad5d71aedd22cde1660573301401e4c0cdac12286f2acd406282781b9818bf7f8f7484e2cd214d71cceb2717c696e383162fae08cbd49a3ee27ac9393f1c7a2901a8c2d77b3b98ff91e154bc06d48266c076c8cb5957de264e37f0a0107bb158e53ae1386ff223fbe6cf55eff24117245ae95adcd25fc6c9ec5e940cc721cbf2ade202c14e430445207f6946735758ec77453c224e6d473048f4f1bf02ac2c007db0fa1ac2690f0f7b74d815e96f64c5783da86b4fa71fdb79b3fc7d29d457d4654fa9b999456c78799c165354bb7fa004c6fd9ca9fbdf392e4c7c994f870c721316fbff6f88e7700f7e7b8762fae09e7e475f378c164ef5c7f20e7bac5b434deb54f49ba942f45f038e9fd4180f9c96ffd3c19237744e44af3873d04ce3b572dd98e163e834cf106aa1d3e9a52c4bc0474bf3a162fa189915962eb0d205b190555097898f6f66c1daa74034ec3efc3a2f87bdc6368844e1e128f1a369c7f1beb49554284fa59d08f81b0d4e68d4d5923f43eaea1d43b377c4ce0f4fb8cd8c19cd83b8984d2879128e7b9f1d9e3920ba1ffd9076a11802e29caa90b018a80013998811664600e5890033968400e66a005199041033030070de0400e5a908119684006e6a0051868f99c44410ca017b28c26d889eacd8557f29a4568639289dd2d1588a8a790a428df9895cb3ef1ef4a0d387a89a42cfee9dfa5adc2ca022e1feab8b1e6e3e3c5f2823762a05f4ee8244a715e5b3fd325ff57da3bd7fd884ffcc2092f5cf18a4f3cc215be78c423ae70c217bf704bf0a6f86730de90b2a1240efef0b96e27be2db64c387f093898efe5352659564d64412b5ec9576a66d5ed3f1d519d5504f5b56c03d42d0c675cb2935733b8dd38da35bad170cc31976a4a235279692132f7dfa7a472b3bb1d1c6ed288a2265326b5c66804c18af0c4ed273f7348fa237b143750ffe598fa21c30681c6bc19b705b620b33ec9b3e9b23e7e6613938bc947738e7b703a24b6a4ad7440cfd8527348d0a63fc845c5847d5ce223a7c7e455ec3b38b88f5c367512f78833a15a441421b2d941fde24a450033f1ee99bdc74a7d6777fa87c136437a63b46a8d10567c41e2886374bdbefdbc8464d41cf98a3db44e610299bead516fddd1c47e16a18a95522b25ee26c2ada4e678764b86be374c0578ffaaaa263319514f171a397893113751ed72ff381b743070a29388b24c27545c4c254310f78d25ee8c3dbc80dd5aaebfa0c2760e00ecadd7085dfce55181f12e339285cae3e4b893cbe87de33f3170c92101bc30fa9b6cbe6e15a3adefb0d820ba38f889be09567a4c0b888bc48c479cc64286a42d2569d43c079e051791479a862d32170e544d7f820a96e785e1ae0129af35162942b5c5bd8b4e238388085bf8f408762093501763c4fb2add6961114888932c35190c8732d09a8f67d135e491f7608b9f5c845ed61575f12046b82b3da605078b44ca498dc5a7042ad0c80dd1b370d270719075fd0158454c8bd522e7be8d45da8742fb454ce1bc7ea1d402e29dd8cb11ca62c416b8896ad8b4a8dad298f24a63f1e91ca02f8295765a5824e63c9ee66243a11aa9d7083c4aa91f3e0852b1596295bd828f08120475f16304afa21a07f3822e0f93f098c3e622d5a948231edc2308941afaf9d2e24dabe48daf48959504eeca07aa8d9b2c5720352fcbd54645cb5ad8890533383a55295a0ec46048c64179401e458f152827d8548af124083b089e28ee642a97ad0705ae2c4a9640615decaf2714bd82780035ad7636540e1bee9a3283b5672ccade38fe688088041fea1e7f6888aa95d8d31584e22863faf7e025c2643c4405c8f14aed68c29bf88fae6793d8b9618fb2b49e24d167b736fad1f4a91d24a7a1a92d50930a6ada53018095ea06d80c51eaa1275590b6930a80504828f9976451a88cf4a88b9e4d927c021eb8470803a467008a41540e49a09a5107f73d4dc08a017f44772b1185401bfdcfec20b1cbd17f3c81e905409c81321d28e32d38b0ae580f56ea8c8b3a202dfbe5c058b120ebfe9bf51868dbc8de4db69452a694a40cc700d000d800387fda6e0f23b2104ca1a220217b7d766116e648bf44a61063602df7c65b3990233025dff715e0f3daf74b6b3f69faa17697ed49bc82a9b57be9efe4fbcaffcbb740eb55f467efef7e187a71136c8717e3126726f97ec13997595c2262fb2d74fac3982b4ced284d5d3d72ed5a773ba87294f72ddefcdd9fcaf60576af58c26a2fd4fd25a6bdb7bc380adbdec5f71a39139903678c6d16c685dcca01e59c81c6766a8c27c854b0bf7cc062ce1d9e51ca94892c5669593f4a195f7c2b4ef5dc7c32527a844acd02b39a8ca5b6a03466e2d9c88f3f6cd2156b602959c4f628932e8a22a5acd25261658c4224fdc48ab1284afb0b47d0b373c87003d7492fa953efbe3f039f15c7ecbdf7c2ee159d13515104080c18a0a3939383832340408000373736360000d4d4bc5e343433333232a6e972b55a654992e3c8628962ce18df6bedbf7b775411b751ee5d0ba8308375498f3e7ff7ec2327e5bf3c9b8faebd975a168c614d05cfc599c1a048e5459c32978cab64aae096991bb56b95d9b577bbb0d1d375ff792a979d7c77dd183c7ca197d8bd1a5d071404dd4659747568c35531351171f227f3c8088997a35bc97156575f746d83f066a18286aebc5a793c251b5aeb115a5b0fb94d1141acaacc6255c3cac0e5347b8933f36926c77b60b431b160e9708866b6d6595626a012f643c2643e15a902ad966a538f7eab555bad84dbcff85fb4a25b3fb39ff8e9cdf193e6505ac920a6d356976e75564b9a0fd8323e1441f78b2ab47bfd48b3a767c9e7e9876601aa39325dd051fb860e2e610284ab5c85214acfd8ab3dd08454d19acf06bc72028ed1f9a01a464bd2d1f6561050376bd19276d4d27c55ecd197a356c6164db91b4def09897bcf8c6f2542959b468cc114785da690782b6870a929f134c2ea66a54372ebbbd0708384162b528088c83244878d2830a0785070b46832b1737fdbd652b718ecfb3becbba857a4eb6e5ff740fc484630e969d6ef07d6fce760df7b211efb7560bf0d60d2764f698766f7bc6a46ffd3de7e1ea39d4ad0b30dadb0ceae94e849fbcc53f08f8554bbbbe372baf69141d5e093ec27088760b7a0010409404344139e6625fad7624affda4bc517ebefd84af30eeed9e95a7f3f28deaf654337b58d6ca64ca942875238a1529551ede9b6148499a8f3243e8f5a03a3c6101c16870484404c611874a03e8301e3603d16c95118044118c3300883200831c81042884011828821462ac94d0710f56c1d625bf9a552ff8afef8f5ecc7761d655c6150c0a452d4b99e1fbcc6a0ebf19b5929eef2a19801a816d3bc8d12ced074ac9334cf1d39583275644a69ab99eccb3f68adada68e02291688fb6d584e7d8e0ef49aa2a9c36b1575a0a19d954f38646154ad05664caa86f9fd2bcc3c1a9154b5a75a1cab2114363d9d24b02d2d42752573ddf6a8970439ac60231a700324ff81b59ec044d9a346ae4047e04aa49c18ebc80e983d5dfa34e6cb3fc4a603367999f434db3a1d9cec6590edeba63aea483db272d1e5b8aa747386fb87b73e7d7254b6b051eb2cee4f3fc9341843d65d87c05a067e56a0b567c4262e2557e8470e23ff5ca3a2edbe618595c33a819496cfae696a18c71a4ea1739deaf4e5b6bdcf3412c39f2f0786df01d165c2f0a26e5c5b256c96a9e7a8e9581f3fdb07f750105fe81f7de31d50ec63245cf710508d5e5f8e51882f4736f83f197cc76ee97bc79b7df78ecae5949347f3120631797a92795eaf7c0c3a3e030862171307700ab1263013f8c819e49afe14267270f0a700c4f8f9b996dd636c3a872e4b7454309a0000e433173a83564d37afff38c55038fa66083d5bc5a684b79c2523115bb4946f4ca76b9a54897eef09f50639df4835cd4e32a97265b758badcc6be9f73c3aaafa4e294d4956758a661433110dae38b55d3fb6a23804d3de9ae5a8ba90e89a84cfda882a4d410858e156073d45edc3ccdeff87fc64516c6419a4d3bd5a05907f13425d6176db8b4cfe8c5bbc3101e7df1d0023813e99ef896ca32c7ced746daba88a5a982d70dc7104e7093fa942efd6638fba215e43afd06a88f45e9a037c0fcfdb56eb77b44aa09d0683590cd55739185a5e875dd693a7fc255a7dee9cf76a70ad7d88e82360b7d62a0169793d081c543cb9004eefee8dffc7e0f51179b236b047aa78ab7d004c126a399a08bc6f36a0af8f54352e7c0d993f0095b4fbde2cca7790b16fba2fc81a54ac68555019237d229313b5399156d9b25c76bec50b9a230ec9e4a62f57e4f823ac699076be7ec93209630295972070e761f9545782107cd632f9dafb31b19ca58deafb91338dbe32a421ca5b581b4b8e5ba6a9715b985feeddf5ce8e05332848283e89aa49d417c46c41fcf95cc6c411fe072c3178c656a9e63fe00ad3cb4b681cf8524a2dc7df2cfa4cb5c1e1db0e69de20413c1f0424e1aacd31afb67026460f21fc361f71ca74f2682fba8947a4e69d2d823db79e9079c9c0924644a74f44cfea94e852b2c892a53add67ac374400419548d854b12565fc70ddf38bb40a268901110293308688d8e14bf26190b9db3442817d302844e1cd5c68d3c5d57d544d3d5cafad508e422dcfe4dc45eb345db63945392b29992ed1d2baf538db5ede65c15123200f175ef6b0561908e7cdfa78d291ec3cbbf6d351f8d331af22b5c326e11096c76d0758b261b2cad0f133acbbfd594632abd47121e36150e1545bdf48413f0dc16ab47c195e563a1866e92de6b0eb2622c7c0064a38cff31bbf2e8f2a1eec469b03bb580b72d861f4119b32c061477b886027a3caa71a105f649e6dac97ab0038f7f01b3e8ea1865d2f27d4ec65e881e266f6903a12773746f6f5dce33cdfa900c96827cbb2167c53848ee31f5d14e946da4fd4628d8b387d7fadddb1c8aca270b2d7189fb45a001681cccc72b74bff2ed35ded7f87e89fdba336e065f763db3ad9978ceaa2f0832e408c0b4d75ce4b7610f5166bde98e7b0c46540685155eab6ddc25f52481e4ffbec3f26c4bdfa4459968855327388f5a4952c500e2ca439f6ad2cf5b00512fa0c6c3c09e86254cb9f451bfb541eaec1834aa053becd84854c6a050377aa53dd5d1fd84277dd1c1333354819846e0a6b7841803716a4b0f227f52b353193cf41bd5eb2345f3494a2dba8299a79a7d7562fb328c89f57a9a7a4d22f91492f3173fe33edadf21ef8c811e7a3123b39b9a4e4d513b3b58f91dd64ebd465e81a19279901118b33eba912cbcc5032e7be2aeaed8ff4be7b17518dd20f226264650044f71fb8bfbfdf2bfbdb8df5ffefb8bfffde57ebff8df5ffeb717fffde57f7f71bf5ffef717ffdbcb7f7ff1bfbfdcef17fffbcbfff6e2bfbffcef2feef7cbfffee27f7bf9ef2ffef797fbfde27f7ff9c776e4e2c62f2d4b007e92f070d60f08864291bd8f36ae925b3cb651deef5008af08d376780ba30a2052cfa571f1d68d3e18105f2f550387e35e82ca0d41cd780a0bcfb7e53df00145f12baeb901c25d29b09895018e842b25e5f567b8bf0869c6f7dc0b716fb70ae85c504e6f29716a05a88d5021d53af421ea076185e16e74a61c421edda6a404dc2d9c7253e791f1a686a073a690f8e026371f611667371d0da8a3595f0b604c87fe23da5187aa7df96ed1aa1403cf34f622f77674466b7179a98fe8bcc06f74c180672bf9d912be59c3057b63c9a52c89361f6e9cc67432930716136f9f6262f146d61fd29919bc932bc9f058f0920fe5309474c8ec699a91343bca4f3afdd103e73693d2ef7114ad02f0e395c6ccf43babee2a5692d151f73278f3e9e780774a29197fa136159e31b3e54634520075f96eaaa196db980d44724799fb23e84675a7aad08bce3c48c025aafccd45274a395e4e75122eca6563f1f25410e132524ec4e84e7b267039bbda82bb8339c96041600aed14891c780e4030007856993304c25db6ea520de81db0bd55471f383bb83c8eed948af6fdad807c607b772b60befa92141c01343010014a422a94f21850116c42cf6bbc3a44387e2caa2e32414f255e350243e357450a9f27745ac2aa2218489f49e44e72254f710a3106a0c824e74a06505350d99635743ca9e400537456c3d5101b8669e7dca9b5e03cc579a6338e1638aa068d03e7732b93c40ece59804a2a2a3a82a5afcefec45f9846f9eddf32940aba1d2f608bf5bc86883101f9049c93844e0f4d073b4ced4bc1017f73bfb9093d2493a5eded20ee43a61ef3a1eafafe82b7ed573e889939abe216a3cc81fbe914069b23a70652ec94d388ffcf58c385026c07e7e55443081012094266c548fdbe71ac79256fed5ba490de1d0d5501dc071e768c9c9643f522a45268b92f17278d851a17340cec6e8ffd4b6c60a6c1ff2bbab6f892e171a1cf29e8fe11ff25359732e5e3c2d65c30ddc97c5e0551ada86ac5e0348527a0fb436a68d99f23aafe7e1b8be955e7a1da3574beeaad2f84983195bda5de2156cc3d77ebe3bda7a1fcc03b512b7f198bac7334e1809777b1ef5112889f9ab95e8220ae0c01a3048c0401eae1e4355350ce4cfae279aa261414405554181514405541115114101511141080504151541059014149844b542b84e1e36ee39e707a8ce83147f01c634f2cf788418c58eec3540fb6519d5d77c6d87b7ffc194d2291480a470349034703b909507d63ecba1beef960e6c812153bcc4b60702c0eca9a177cef99789a4bdc03c77de22669937ef3b6fdcd0db9c710b230583547557d89b6247281d65627221424e056960602671d307e61b4359c071d061f2dedaa999a7897c7226ff323237688f428053927475540aaa1f48458c48aef7220f9f5130d4b13a9061b75958087bb6369bf2eadd1bf1e9ffca481272a728382ad7907bfb883f5c1457bfe247b4f492a323b2a93e7cf6c8f91191b3d65c1f8ace8c70534c37a445c5ca054d41c132da5d7ee4a41a93dc2163e4ce5a562c122c28056909f480e63b27e160d7e78ce1f84007094291aaafa27e6ec7ef16571499dcd440e6bffbf7a6ddcff15ae3b638e8190c9945d992d0be277f52d3b0076822cac0064741c85ec2ebf0d21c24eb5085b224fbf877ef18975531d49fb0bd93d712b9af1a972945e32ef9484bed61004d04e6abc224c30b346fb3395c3710485a88654f5b573344b5760ba291ea893478e7b91996ed679b179647757c6cbba09d70a198f90860dd96efefa7ab13ad46b2fdccc5741b4405e283136f49c22f0575bacac75f118e000274db80e91a8e6cded134751567914e3e7029c8b3e3003cf23663936e74e5aa220a00525a88b12fcea84c2ce61fcaba2abeffb5e241e8de193d01b932fe62c5a51b5d8f89073c1c2f0a2d1b20f8a59c511b29f65e09985e796f6bd5bc210ee2b67b15679207bc976a06fb45e19297be5ecc6008c566b034dfc5b311b56d4d7d51dfd170c42a30983b52c70da2e4a30362efac06a4a21a6b23879519748895eb52bca08b347a511ffed6348a9d294cdc0708b98eb5ba2e840e65c34f991a085403e081a99927a926b33545e3e6303c3347e078d00e53a80e9086a0b45f6ffad09ad16c5ece7cf35d7d7a7e059ae0b146b1d6019a9152456b7c757bc453f7e6478cedf97f9ae59982bb2f6b942103fc9946b5a7b48180e11b440c17b49a9d6399bb53698ad40c0e7a9e5edb0504c30f32c2513d413751f7d97dcff7741cc7e5704feffff63311ff1859c292b9c16d28b0cdb15e3178166d2d6de73213c9c0808e712a0890bd2928a4f738b93fa771f2fd7aac5adc05711d5859ab88eb9ef03eee7f08e22a63a573d30104254190fafeaffae3190e92f0ad28163638499394a5768b46e1298eb4591010c267bb902330d17628fec6f5c95193f04c7d5e6c9501e4520d9a5d5fc829079f3ace6516b3a801e5cb198cdb66243a3ec9a54530dd8897283d6db24bbe778f1aeaf9dff87c66cc4f64d052cf68298b162b9a99b4bc773b55aae8a18ac58638b645784ca6a8da19e941eae07177b6fe34da8672f8b18ec257bfdffcbf50b2fd67d6d836869ad73846abef0d9a29eb5f7c6a6349990a09cb2a4dc519be8aa9c7c9b76f2e2f6e130829a19ef4a287933f956d4553454c42a14a15ad8856741138ae94e4736a96dc8bd45820f8252daa3a4d23958d70744ce0ce4ef33869c5c0a3e0a099fd911117178bb62288fb06327459fe2c2f4624b10e4165793ebc34742fe3820a961f8897763020d191fe9cc7021abd4afc7fffd54f8fff385df1edcfec478b7c8132de37e33b925808d9933537042dc96182d48744415a381aade28ab5543075d9fa31b78187fbac04329e36df80953ee5dbf71668037598246619b91bbe7c9c3387b84975494435fc19465a86a145312f4019490a3758226b133670914b7495017a7569c54942e4f23e1b1cbef3174a8db931caad6d304b7f929ef5c1b54e05dac69bed398aa738d6a32af878944eec7a7b3d821d317cf1384f7d6ce1ab28b5ca2c55b74767cd0c2751754689b8e735a88dbc5bfd720233b4e93914784a78da1bcc108cd3622e12897ea6e220884bf49ee284e4f168eeb20818026e4ccefd6fa9d35ef37e351527450eca02930fc26338b1e839d9786583cb3f7b6de44f65ebe9e13369519a6e91ae9eb654044bc868b7cd298120b4e741e8c84c560e06994072f40c5dbd24425524bbabb3368bfdbf40c400aa4c252424ade34099719c567331a12db5bbac4d4ab4c6629591872d6c6c38753d335eb7bbedde2509ccfbe2536ac6f712af697009d322edb934dbd7c3af5fd50ca4a5f484456b10581f9f98b1c4c9d4f3e40a29084da2cfab06e94529d44f11be1779048cc0d6b4b5060e291b61658bcd7437ba564739b52b090e9cbe76746269c102589e43c8192eb7c53765e7a3f26155813430574ee62a9f50934b301b8740997195e599682135d24d5843779ff5d1f12c71a9bb4a5644ca506012749058784e972acb7e5f6eee3a5de9aa37e162c6778c8f914d8f62d1116b9c05f6a6d155a0e06c85c77a18bab4adfe79177c2000fd250375d33621256b0b57c81d1a7f0314a3844f3c7258214059c54fc868c7b0a9e35472ba5e361fb60dd12ee893f38c3481c0c3e3acd95c6a34655e2561be64457158ffbd6c6ec7f15045c5ae0c0f2e1bbf5e9701d19418af0c3233942a23c892161883a2eea81a1ba2a621d7494996485f626427105b58432220d6cb18b495d93f7a6c39c4693fc21ddee5538e8fe889cd0603a33747c948f523a6d1fad4463541d39346557a2d41b9b70ada057eb29c408c380ab64f9fe6fe1fbfeff2b37f89cfe11436f2bb7784123875f9255ec2fb03298de4a9807e096115300222d320c8c087e9b75b26aff4f95fdc55fcad09a02afee014671cfb26e4de1c96d7f91ae28d5255209ad8515e084bd61d4175a4cc0588a1b37c3b485244f0a9d096215453fdc96df17fe17129cee083aeaa41d0c86bd365449981894424b3df48bb800b75e1c3a2ebe253e168b4503ed16175bcf6033d5a51f111177c005a4baa44fa3e79e09fe2d8469a3120921d88bb8daa8115d10ab77860cfdeaedabafde3fab8987bd06aa558a032977f65f88efde07bd13cc1cbc4a307ebc8ec67c024be5a4dd4ea2c8b73ac3c1fbed73ce8952cae5581bcd9febcbdbe4c65cb70d3c00155ab949592ae3006398e058181a1df8968326bc1ec9dd63f5b8fcfbb61865700220a92e7d8454d4fe670d6592d767a93ca921d78869c731870e04090de1e87d660aecff8fb9f4de910a2fb5fff7bd273beb0c1d3af52c62839354236ea27b499fd3d855902efc903c4389f421bd0923247da5ffcb23c2429096916f6ff4ccdf46966cd64e32932b32c33b8e344736235f7a9fab5f706a3a796c66aa5a6f7a7bb200166a6372875e6d5a2a14f30df6296d0cece2313b7e3a8b0714b9e5cd66a556247790d93651e025fdc074b0168aa3e9dcef79f8a82b237b5e746804eca5c9d6c3070a85cf78a179b86b97592f386bed774d7384d204d82abfd5c44a1e35ae8e3a44539ee2928393877a9d7688e66983646b7b711df05d999c298a1248f2467bf136516958825eb07daec7b5b3e85fb04bb4f1768653371e1a298f59b6587cbe869de8519bd07e4ab429307753932d793bd3830c0019d4e15152919b5f2b222b2c84129c77210f35bd66790424e29ffbbc8484d97f003b581e233813233f1567e6075f550fb09783720ab1e73a9ff5f7183d4dae9fb7fb5b8d8ae46a123ff3a0d8fc36d0483755792f333e470f781d165d9178f706aaabd7365f24a323ac4a4db1c02d1a700382b4a374aff152a1526e0da8f08c559ca0a61657bfbfb9b9b989565878ac329a4e8b668e04df02385149ae1e1ac96ba234c06009beabf7dca672102a849d6169f86aa1a57ec1835b3e52f972cea4151c40ae1617413ea7e7bd2ceb28dd88a6b4a8d59ea47e7902e7c4aac1aab19aac32abd16ab59a53dd996ddcea5e0f92d6aabcb184f6bbedf8ab974ed09e47710e59da64a24d95e0b6f178831cf7343f902b1db1a4d0a8f2b1bf27622e09f77a104d543f7f4ad05392333dcc50a499ac85720519eeb0c5ff228d19b8607d1d712222736c68d41e4c30882a4c02c575bd2c03601b98fa8c3267a322420bed7050cd7c39098b07a0814ce9fc732dfa0a0beb63b6204c132d1508d98cc670a225125aa2c5a624991dbc525ddff19e4b056d36cb259cdb035aa046b91bb62afae499611b04a513a6329116d9dfdf7e5edfd5726557dc1d94166f0266e565afc060592033a3e4eaac8285f1ffff86f1d48d17349293171866a48b25d63b89afa108995eb8ca4041ab00b57a9a11cbac156dec41304c279e3d35fd68ff346db7bae39f71462b3bf45c7284b2ddbb1105745823f3e997eed037e1fe93cc757bad88c89772e6ac905a5c2fb8186ab008fc35db5f58e22d05d110103cef3532d1132d7934595ffa854467e22f35d810c004c5748f864f430e2bd71186afaff264e23f40081af2990f269b2135c764d140427a09e92dbaa7b93e58cfad8ab920a8c6bb406b3644a677612bd94c009880f934f499c9ee70c0941c6acea91292dc1725119229d2b77c6d861842f89169e82f53a4130d28a017a51883512ad012cabf15500b298f98754c28382e0cc673c162ee8f263f69f89f6e7e9436a9d38d03722b722953956e95649dd99885ee939f140448dba351531ca83b3be483bbc6785eb9996a0a516d6b92a0ba4f409256f8839e5f6bc0dc3873bdc4e401330571e07cf42a2bad6ece4503cd65e88cf4c1ac9ecce52ddf9d2202bdb52f48a4cc32d22769410f3ea2bacad31de5c72752b50f9dfa07923e05cb5483ea9c4024705befc10131293faab8524dde23bcd29bca621f9e91d75dc4a05c89a9dfc9cf60723178f4cf725aa5d6ab951b8970a844ec596c122130ec0733b808180a40310ce4781ea9b11ba420c3821a0f890b03020706040ac30000300c0080436130c808000106010601000fc064f050554da70d1ebf569474e54d6149983f468487af86067f026fde22305008401a230fdadfb4d003d5862917e700ee0893724392ab07400b6927d440357cee793b50ed1a8ce044820cca30518979633e6f63728011b289411638e3a41ef31a9742d0f8b5f9098f95be8ad2c02bc809b1b05218cb72848484309075ee61830310ff050ea5b1b4098b5fa4c2af7a078341f7c6023f8aaae7ee15e8c90abdc3a5435c5c1c2d27fc13f7608f4cac32847b1e09a551d94a95f08e68db81a752db0c58d90b548f4a7b74d7b586d9285724dbd161859e4f8636793de2650e9e5e11b40bcb07fb9db2164ba1bbcf8b7413a37d359d7270b09c202568bb90adb02bcf836c1c96e377ef91b03b784fe8c2c9997d155195403f8d31259c069cce65e7c3bba5585d19543f13c3b00d21dd596e612f88be56dc101872b85dd70aed321f45890980a1492298b68740f9a06f350c2990c0248d2cb4be049c04470a2ed7dc91c7957d03a0fb5aa536cda1fe9fb0c0f0b1105f5e0d24622e28b8c0ad83758f1d38f926eb00cf6601c6888765c23d89c30eafe34131a7e0c960dd16100e737042153f859bb8fbb32a05445f1d5656050a52d1a911beabd3c74906c601c0a02e77e3e3db0c4bb1ad25c9109ef81835bc2df25ef2a540690fcfe8ba6fd67f064b97329763a1899a90881bed83af32ef699111a4e5ab32f7141321c8664cdab8300755da8cb7a91c513c4d37652a058a66e4f12602cd34efbb9cd50a4934a1d498e3ac45a886e31fff5bf4d01db5b95663e0cee544a0dbf4a9869e562aa861b4f00d472853a3c47e7b52d832fb38749f4238f158bdcc887814b0240be957bd80df1edab119bd9cc1257eb6b44c3c5b6eeaa70679df543850ef73595461283e1549c26217615b7f252b6e9362a9da18357821acb3bc7c0217116bad2b451b0aff40c5e02ec1236f9f8afe52650de508be59178de584289ba1dc7a8cf6e1dc8da0a1f46705ca97651a0d56b1586e5d5103b0165f454a80f1dff18814228dda36412faf1cb59d125a13b3a19667fe85e1184490fce33c6cbca012e63f529ac19594ac960ca23b4bd023d460b208b42a040253d8f06c67a5a8fe580a5e6dd0d6365e00cc3aeca77396256a03c792683fc2c08fd0a73ae74fa3962b433eef56ab549ec361ef4e2b514b3f3c523d49bdce05d8c9cc6b0c914df091c8c1a75f92f683792df12bd7c8f6cb8502f1ffade1d4e66093c450a48b1dacbb38573c086b2a035628f9bed33dda1fc22f7871b441f8967008cd313e6b33f872edb1fca5e078ba3e7bd35e7fa4b4d4399f51f165f4c273489d8b12531e9897e2e8413b97897256fda527ba22024c35af4fda220b93de0c0dc89ff95a471998584a0087f7698f4aa095f9df6ab21be596a0d92dc65860b05ed85e8bb82d3158ab70abf714f6cac452e0d938ca6d743e3c7180ea5b3f77def3845b6d86a0e4254df12ee87c48d42959f54a618b55896ecc3ce43791c34144924472e62fcaf9eee5219e7bb07eb1ad3e1ec06aa6704f5467374a98ebfc215fc7941cbb45e5067a53b64d2d46d18c3c15b4018996eda22f85cae68dbac711eda8bd01891f00ed9535c55715347a98efd5235201ef358fda34659a635006a524fe34d5c7761fb31d1792a0de9d35017323bdcd12727baa1e72abfb955c08c2b2f4c59a0765415d9a864f36fce72130f4a056ad4528b47e2450c758a625decda0733d01858448c404c3295a2599c0ca7d40e716f204af446c4a122da00f4591e0ca44c264220d3d68562a7015a23f1ab08df344a30e50b712e8c21b8cd0b51ee0bd0d0ff73f3f07f32e3bc46653564a2e2dad2d5d5f487b0f37b92d5f736402d13a1e166485a6022a26a3ada6d2ec8a00791b32d37167c481b83afed6d067a334d92d2a57a45ae46040267fba22da08fa74316dd0d0464fcc8c68af69841ab939b1c1053f51844dc5270dc2d5a0fa5d51e52b28803e9cec6fedb83c59608a9f960f58a3ae7eabb50c02c43a4a86c4334675be7587c72cb96a3b5767c93bac3f39031dce3bc7d1c793b63abc3ae69c7977a973dc7e010a8f783a4fc94ac51bdb200bf179e6459b5d05d0390510f5297277a1f3969a7af399edc17bce940aa6fb6383c112b841c2ab96439dc53acb54b747fbe11ff906e09bf94833297aaa8fe2b6cf8a849da20b97dbf9aa3b51f2ffc20abac45133e1555c309fad5f414b08993367943c8adb3e764b5b90bfab8be2a7c1ba44dd018883655b5cfe6a0e81086c037c91e6245f9728101eb8d3802e1469210e73f547b7472793b6eff7e80200ffc7cd1c066582e735765ad761ff4d20a7d39ec6b44cd3084a463654800aefbed1ab7f752b57bb966a7d47612b41563afb1f8b718104cd2e6206ca522ba8c6585185b0a8437e20711a6ee22bd3d4bf321210400544dac31866c7ef723902152ab0ca54eb606d239cadc6b29cb403076fa512cd5e6b79d7a4ecf4e460b7bde371ff5a6277e0d141758f622042ae0076d74ebe04fa17b630d13495207961dab9f968ac00787076b6a99df025ba091c523c3eec30fc9be68be60f2c1cd369598019ba18b59954570ffa24fbc9188c1aab6ec3d72f5f9d3bd9be96d2028d802f5d583f4b6f0c60294c96141e7d731480bda7c51d100f91cf063410e357144f91fec42393de6a94fbea3e6d6418a884c84babb1d7bf4719758496796b634105babfc5070a1961163c4240c912e1c43ed07b6618911c5677bc54d396483bebeae0aa9b6001b45a706b02777bebe36d90e501508d89b397e23284f5b7170f3df259f875d8c3f8e260f2fdb6db30339b4098657949e2099922b70075413946d44b7f3bdf697dfea686c7fc713f1e0bc306694ffc6dc26cf5dfb7721df7dbac50971c154535fd388a0b768ddfff754e64281ec38c1fbbd70e5d7846591beec274978be5acb3da25147bb75794456f04aeb5f98a548c3e23b00c4edaa04849ec254daa1cfa0a927af0188b83388b303457b7550b7f73441fb319ca0169716f6a621fd1e62fb3028cc9d1096691dbfa45ff932b28013dfdeb661324c6ecf0975c292eb6e02b83fc164938320c481e691dd5b02abfe56b0952ac8690f407e818c9a32a7701e215886209430c71beb2b6363d434cd8582ba44c3e58c4b74fd3087b43fefacd0484c0cab1b8547fb8af1c23715c0909a480e784128862d0f1153f5c66214c7d5dd45fa9cc906853e0594c1c9562b134288093d41d300ab2a24b8d3a53bb4618da4bd6ee6923aefe93beee5d8ac5b72e2195bb3cc4fccba867d65c94140a9b3ceda35553db7d2ce14704f06f4c52fbfea58ecda390382fddb85726a901fd89917681261a18aa337e0f0782e4b691c87e9b6624f30896ad835f5693cca4f899f3935857f2a0a891aa270853c62ba6c7f9d3ad6747570361fcef649bb8cb1be9498e8f99af13f6b84fa75eeb24ab2474594f4d9ce22c92db77c90240084b2582ac8e74928cb38a1c111685125c64c36ee4d2185b8d350456a509af18e4b77c03ecc4c80ef89627bfe8383421802c2ebc816439b23a7c60db0ea77f0347269dd5fc82ce65bd42ef3b34764f42e665371c682dd675edfc0489ac2e525c183fad305002fa9479da28365880c2abb32abd0c75bdd4d13affb76bd2847da2905cf7036952cc16be46c54ec280bf9977fba563f312b1206dadd04f6e09434efa09619ac35bfaf1c6c4888a08065b4a15661d7b12bcce17021d5e5b0933182d6a87e2f53bb37244ba481e6eb073a0800ec10e07a55ff3fa1f972b927351ac870fddc570f48a2b628bdf23d08634e4703edf4b9f3fa88f122c0ec27fd6332f707d5084edfee5259c33c895eea6dc1bbd42456017941dc3d32d6ce74630184121e37d6407baf264eeec18e65999fb932b5cb1190b30db84227023e40a5e9a95487e019e9742b976a26005cda7b1c54bb920f01176c70b770a8e985b06c6cee61122d7a3f3ee6a731e75e1c8f269e279e9afd7a247aea2f951abf902cbc2a38d2bd49f8230e5d6414cb61b1e2149ca518fd7098a93715c85fb270755780773f67560b8b3f4a6fb72ac4f132b3139a0f65b614b8e5d3bfccd42c09f844a2efcfcf25739fd15322cbd4d041f77e92b5aecfe4324c7a8f390f5d09e890d665de0318aa1c4bc54aac2b4492c88e277087c227ff667751d30b1c082793b0c0e87659ad117bf7dab78235bc132c844e97f70c2dcbb0d126a382a02d1460c6f895d7b2e3dfffe0f11391d82dcc34622e2fa8e9c5293441225502f2f9782accd6ec922476ce8badd110de6d74c000c75a72a60f6325891f18b4d9100177a747203e8a348f29a2fe9587cb693778119b6c27c4b3a75730b30aa3d8444df5d943f5d418c6388fff7d5368730e89baea1f6ae9a2d0eeefa79f7104ac4387796a6c9a01ec88ae5271bdf7644104bb6562402816cc153f07febd46460c8e5e9587519c5209230aa181b065617b51533a74ac9d385fb1affea020a2ae79bbf8ba3ad75c9fcbb41b2a393bbdae41cc753c90f30e2df0c4e1cc474c8f863b3de003f00401ac0ad969ff89a22e1107c5fca8940590628235421034038deea56100103050230c8b24138804982124170c652a1556836c0c0c1b3a90b5fd1cf8e2f9f4dca051d7262723689ea5997c21e803de4bf6183e3e6f82bcc7f24cea0e1812d9e9828b25ba504f689ec1108b30ca874011aaa77c624819efc4d465939dc8f1d027c3ee0893039648139fc56e662ca7d908f3d7487ba0c9b1ddc5ae45d0ab2e76f8b648645354613c22d90d2fd3ff0401ccccd6f77a07c410800b27806e1fd962c73f2e4059ac25d391229653ef1e248969c290af28134181d01e9c2c3f37595e5144fdbc42567c5952f4cae1287cbf0889d3463431e124bf2468be42bb5c4fb924fcd9404f8655215faa3e797e3dc73d6a47b6484a8e4cc1c90b4a82370629516abcfd7c731f17763adde1fbd2a66ec67ac3cd3e77c38f59d48542dede0d1f8e7066028f8362efb2e97c99fffa6a71ff3906845e88bed97ec15e073e7a382d9d0cbfa0262652569e5ae03354bdeb2c18425962964b758a336d1b55a65753f75a5474406266105ad01f3e20cb719be445662cd414aee1167302e3279129717ae025aaa0111d2385cadb234e874e28bad2f16b84f734c94424015b393e77014d35eb9a4c6e4397fbe5dacecc0c9daf87a3b001a5523506aef3043dd5c822d5644542f7e7d452d09162972e3dd44e82d818faed48f408e08317761ddfbdc7ec9623befe2bb8b90af232962c104c7e4e4bb471ec10ead86632284d74f21d2ed0c76a749543102a8b7f6ff885b667c081c78e287a46e6cf4c12c12ce0d91fb35124c4387de76cf8613cad95689cbd01bd1ac962af4a05fa099161af43dd1f09749375fe0c0a411cc9d11037b59d97ccd84ff9af8e4c32e7a5b5b7b53252cf8559735753406ad44d3c1bc11aee0f78d062586fc523aedc1b8bda3c68c7ff4276f44d5a060308cabc2087643fa505e254a26d032c02a62a23a274db72fdb220e6743946fdbe1fa49fba702a31802aa9dddada289643799ed9f129c1ab16432d2b03cf09c101f92cb523325f571f9898ede7828731ba84aa3100f9212c0e5210963e1e636b9d12873e05506ef331b6258bc2d7387103f7d2c2a060de829c40091027febf320f15fe4180d58df4c67526b8d5cf5774496d38440ed7f114694ce478da79177390aa0aad6062e9dd0b62c0b23ce13ae4857038ca0077b10b96910b9126fd7dca3b2e5499a10041887a44e456724f278da92ad2e2c73f82bddbb88de98267e816512ceb45466c9840ffd27f2a71db114ad00345c9758da1030f26aac0b1c7babc7b55cd4d0bda722dd448ebecd975df962b1f22653464716b9a5374ec21c7c3d34a7a34be5211de79a4e6fbc57bdae0817431ee51b06edd7c1984d2ccaa72159e9bc5a0ee9e5241133cc656006b84277c63aea65cb271aee0fece1ffff59bc4c643a344047ef803e1f6acad49ef995ea1bfc1b09803e3167cc9f708b6ed3929115f5f08e506e91b6d765c4d080042d5c47eb75cb895753b86b234bc2fb98a1ef74b96ca9efabdf81b13d62111a3ce0aed6e1285de333ad876be9a64b299010d7c52756f8e9592dfc97f40a770b049aeb7b73cd0c69d582d4e2ed2960eea4a2b13c9366ed0220022b4bfdab83ee863668ee8b5b5f9a59316b766ffae2bf68f0c086a4b445030a2752cbbc5cb11ac6b148f707a472e724d2bad8c13f9e6f9dbe7656a520b8e12044ce9933a9cae235988160a8d09afd1a1b48cbfddc5d3797b2f0d82957964ce1ecb6dea48b3036e3027e89842e1ba8946f8d6c45d2b8cee2bfc8b0159a3c97761d7241a4c878bf886e14111018b3110013b8f46d8bc98ccd174572038f851797d52abed74fefb888f4e474001456ffe322c077c3c56031b05624fd814ae29d2ba62b856d6e3108973be54568bbedbc47472d12970c07fed6271853f06a71c3ada97de58aeacad6d439d1290524b2bf7c31a6dd762d33350ebf2878595c6b92c2cbed85b8307f03ba2fa1bd3d2c739c16476ea5a408372042c20a2b4c0885b9daf34b869e68ce21beec0fcfe059507cb0ed1551b20fe848496a65836826ed8e17e0048935f3b1a62d9a90861f59b995e8c35dd5ac374e90290afc9f5bc5d9d2c93c402276d661b1a750d16f3a0269252442c92e126b8907ffdddef2907e05481f6b6ca7056c0201dde9df692482b74b2ca7a49cc5e2a2c6a5d7d78d04ff2bd25e0122c7d33b1ecc698e65d13bd436c41d72e8500364ef00bab7c82b51600ead0f42e1c285f26178b652c997aab37e502aa089a6ad95e7e1669af0c1c181866e48b3620d327fb8edb5802216f8152fb8e3af3f3ec63ff10fcaa0463763f9e06f25abbab185a9330667a754d2b453b002a502a502333cdf7aa1a6e316dfc343e613957d5c4df338721e416da9a99fcc83821ca343521ba12d495b2213854e554f8e2685ae4ca886af845d9b22bfb5cb2355e9f1cf18abb19540cefca9801c91f8d50491898c565eb317f747a172f9e7259cc666e13394d9e93581492d5715d3c597cc7929c168341c466d6e6149c1199f0ff796129d3456cdd0e7f965b4e29141d4895bffe236ee8670a42b4a293a6d1565edec99e5dc62bee608d9e1a415441a2290ab2459a4b559aca0e129115352cc95705c024f2d2119a52012b6d8e279835b3c1ede0b08bcc5c9e2e8dd3de06432994cdec698cf289664c556809320cbaf490a4bb4061941b48023bee11d7f443ed2c3480c548f254d0ff6a288e95e9707dc72c82094082aabf20584b36562a1ac3c57e855364b2dba00d19bbf885ccf8dc99d497bd6a221243d5810222cf04dbd3f9419beaa824a8e4c518eb8fca94a618401b0ab669d2d670c403bac071fb0af3ba6c241a9d61dac863508bbc1829f0ddd8c0c9bfa24ee4e7df17bda9deaea27f4bf1467c884b2c9a1a8e752a950379d062051f205cc028fab2df7105188bc1fba80a747de4a882c97ddf8dda78dfcc25a08f608951fa962420854523068385933353f495ec3f0916e65dd835e32dd5262052b541d35979e10f954a35811b2d3aa78ed98a3a8eee8ca70054500f9ad07fd7c9aae734c8e9457c87621f44b2949891912458073fd19ddb1b46d2d4404050811c16e798373b6ef7679df750cf67ddf59b65ea8317a048b7a440b6e0fd9f70aae2dbd2c36b5b170ce2cbf2e50d11a44c2f7c76a79f471b51288801b8eb53249cf14402a2fb83e0c85e3a72516225f26a51a56613a427ba290a01e40794b9aa7a8ac1533db7aa79561a53b3a647675884e57ff2e864cce471736c7eb9cc51ba5fcf8342da073b20d26818ca050257064ca38163552b44f8dafcae742a5962ea09c4701dc0c531e1c57d12becd51697e118fa703613632a735d36a84e623c0b8304e94fba09c8b362237543643f55c75c2842a75d080d4e2b3cac51e66b73475d9f690256f0415f10bb92cf20f2de7194785739820d7c65d9c46836b142ed142ff0c2c0dc2c8f7e175b978aef27eb359a61e3c3fa529cf9144947313078500d388e0737f6250711f24d4bed7572fc472a9d501b4fe5e6f83376e3c7ca7cd92f0bcb7f19893fa54cc15a4c669e2da75b18c7ce22119c9aaffc628d8b00384d402aac4c47739689bbda5c6b0005930239e4d7a4843372c420f01cf7c942f24f469295212074303f43010981c5d55061cd513203cd2e259619a42b97e6e63f7cc8b879adf0e6977e19fb8ab847cbcb73fb91bf355ce8074a6c7f62de0f5ddd753332665d216657d7c550503e6424377c05baae9187e8baaeeb506392f98c6273e836d74374bd823d2fda804ebfb8cdf81bcff3fe33cf63347a3877d16f0105a8bf937d078b8e3461bfbd7b56038088190c7b46ed16b82b5663a35591c6c90b8c6cea97a45e707791ee0bfda3d363d5a4b3a54a628bd40931a74800101c15476b20c1fd1d3e1fedeeda994f9b4af4022d9d2fe54fe1c2aae3c9246c8cc264816faf71efe9ba3e049bedd5aed003d49f5ac316de4a0db66d65626142a898b539359391ac6fce8c7b3cb68e9d1abdac5e55931993226666eff4d39ad44acb2e1b93fe66b2afbcb02a5a026c65aac56236e09656c34f44ba668646381f25bc84ec4041d0ae9993458eb19269e151912d2c8eef455e0aa80093789e345e67a51ea4013eb8ba5a1aae107fff0c1ed65fcd9ea872d2baabd561045e4f36cb953951bd9d0a2800bb9d41e2ed1cde681216ea1794571f139c24c48b80f4a49412a93754493ab7a6585379f78546895f42e05e65165e505999e52c0a9a6bdd297350de7a5ab7382b45e9366ed4b18b307f7742a9d92e788409317ecdd7c4b5d1c3e437419a284d9c265013aa497603992a64d19405487b7fa040cb45bb262e26021093a76ebb958aa9b096043ca062a686ab656571b441d9b581446392f9b4354563531b0da4c6f52441401bcb882b77922b93cdd620a1120d472dbe32486177a7a3d16d494d6415269595ea6ed44cb96a3d865a8888981d2589d6ac5530860d955d73926b88cc07c2b06ca37339fbe37250af81da420937ab4a5214b06f783ae6f5f73278896d5fdda4a589e35130f754bd3a872091d33af1f7acbfa296b42e63575249b897e86053564f14731d67078b1966268fe6095355a00d5455a5281e797f3eb2ae4b4347d3e2467d98352529be1448c58f04ce02b2e28b34f0610096ba16331d5586fcce7134944e28352b62ecfe32709c27049477a85bdc896f63154e0fb890a4f415b2e0f86c55ed32a82e58301be8d20c06866a6080817a30d6ce83c541b1e3437ccfc3a66b43f79c68dc933466ed191205811561f3b71540634944134ac3e04d0b986315b1c3c715e9eb64e8675316522df89524995f2ae026aaa38ae3cfc6174cafe4ae1802b2d8d7e06f46faa5d5db590819bd5d50ad95b9de0e468bed69889d20246aeaf526e4c1317529df53254e32f03015392bf3f888d7fff1ea261e6a2262307412cd443f69b5171d2426486bce8791ef381aa6aea528df629be6f28303467c42336322489e80cba8d70fb74ab8746d84a7e223c9de28fbe96e18922975160343cf4ab359978df26dbbc1b960dc9b35a9d7c5b21977cce191a33d65ab6398bc83ba57033fb858499deba723aaf6ebf792639e38bc7bea7b92e1a2e70cd8cfe5735ac76910fe232590bca30f1d4d7fb15f8c2fc917e6cbf325fa827dd9e2d322c62ffac3feb63fef0fea37fea1751f0ec2b1f740a231c9b4513dab3ad8aaae15bf6ac0fc48a55324075a0d1c4c30cc0f42f91a226bd9529c46c04bf71bed8a5246b112a0a90f1ae0843cdf14a5f496878d38229520521010dbfaa6dafeacd787e73a6e6c91acf1f943c3664ddff8ab0fce997132c2b9823931810f7a6dac01ea30c56e632e197101dbeac4537ac4221fe57ce930a9a6b847a9b493914f0622b4b83af6e240a1777ef254772dbcb0175470d16f0ab17859f5562a1e626816356ea4a58fb5c8aa5260d86d1c966161f46e3dbee7f7845326ae99cc0c368bcd65731aeb36f3428dd127ea6472fd87ff2a0d2494dd991ccb979a8721c1133111c5543b415f1a8f5f0f55f94a6143565f9d3d7b4b02289293c5fae2849c4771d13e0a8c12a3c66832cad4a93a20131374214a9576bace1e34fc9daba86091a52ab77139356c6a2101b11eada1a5abb516cc75a5d9da5040d6c58eb677a57265f11c439657bd5958530bbddc4a59494b73e2de1a5aa14f4c5a4da39dce8bf2b0bc2dcfcb83e28d79e88c5a6c4a9d66a7b4daf3fe12e6692460fa563aa154927316e6dfbf5dcd41c17c58c84eb1a3e3ae3e7780f098cd498deb814463d2f665c6b0472b509219baa4be6d6c2c124ca096f24c34f9f6ccfed9477b6cbfedbd4e1098930387dca6aab730a77597a165be1cde8370c961e3fa9113c0182fd6058bcb363e6ddbdd7802c84112656c4cedf70ffe37927a1db81bdb4161553e1e7e46f531239295af9d066c6879adaf156a7f2d52abd43aeff16f0f99624042ecef1f83e17ba2343785d9310ed3d94785a65ad61654e8ef83560b8bf7322d9caee521fb0e46b60b16978de9dbc891e72ed9e960954c354537f5e6d4e66f7738fcc6205dc90aba7240ce3862bc2f1c91fb75e1afccf111324e124a2b132f287a16bfd3fde28ae43b406ab1e262fc140eca9ac4599aee4efb4a41892f52319fe8a8d1431f1cf0b122feb4b482c63398ff6703891ba8442df73989100c7e83d808280c201906a2380ec581b003744002c394098a078401070a8386830180001004000218200008200400000000800080460052215122252a790fbdd556e66e9f8c76f073e6ef5a75a316da95ee862a63f530adfda69c26e648a4e9b33f081c5eaf200d82ace106e51d96e408e767305c92abffaa9b0f7c8fb7d36ca1205356f7a59586d619d8166803dcbeb59ae84de71e134da0da043c1583074cbc7f4ccaf7f73939d478aba78ba297b035a5b50294fa252e004308d76415299e5816fd2891364cf2d95e365a62cc79d348532e8b166a5f6a94b77bf30dbb77e55a2ef415f85cf42d9c9342310117babc05be6aa61f73b5306dada25dfd46c9094cca3eadba52494fb3e0a80fb26e31936436c13523f7f87ff3ebd455c536007f8b84b9df6a27711ea57ac5084216c88f9ecd1390636f93909a77e4be9f2cdcc3a85b79a9baebf9169836ff571b5bb40878f71afae48ff2e7b7f2db7420abf820a3143a2877071b23530d91a77079691f1150e96f40a11965cd870821d1bb5414055d83d2b73d7a1414ef24cb6724f856030dc5c6eed526a1a10775c73c56a3abda960ae414d3f63295a644d5f120535756ed5c127a1cdf666d50c3cedf6a35dfe2251a8e4bd25d89d5722b0921322eca3bc748b24d82cc0ae088d2e37eef563d0c8b2091a5410be85d215a3e434568457afd05bc72b0c3a6aa057971460b89f2d6a5ac5b0989c4ac2ba776fc2245f3178ce4aa21fb24b0691fc2982e9390458fff92b10a1ae69106e289df57d1d4b4987d79134a579163495cc6c5300fb9d9cfefe0a121379163982c411b5c90eb831802b2d15e23b5b8232fd473db56043ac04b380c4531749ef76105daa065dd642ca092afdba8643ce353ae5ba08f0652a5865e6ba3f363df43817d10ac287096cc89e115b1105a9ee88bfe424461d5cbbc1d6835205de03553d9abe4b876cc15bc1192060e32c42ad41b2f3c6809d99b452b26866c29be7ca13995e93805d996f6fbd0ddab88b0069214f0f3b658450ce2f26a6572d176e63553ed0b82db59a29b40f5287f2447411e3fdd01c050731934d431db356b1462adac6588f278621e459c381cb42ba33d72b8f460ebdc64cf85c57b4db9ec62265f403d56616f1e47d17e52c4352cf3c3abe4c287044b00d110d01fd4cbb9cecd2d4b1ceb5ac92371d0149639a41ea187ef886012ad36d2692a93b7e6b03cead9b64a8ffb0840cd867e359027b90e7d187daaa56ed2e634ae43203d4efd688e98674190e6b28fdf0e187ff3fedcfc42d90cfaa26ae54fe5bc104e2f6566c50fc949aac148e7e16d3da0418db3012343ca0b46919b0820eb149e0b2ee6e485db63faa2631758a62baba9c6b560577c3ed39f5d11262b5c5e2cd2f4491c84fa09339b9d947f93addc4628bd7a979f302af47becfc15b94709658c1424edbbfcc059537f5fd9bd603a30787f97768f65a5b7f7ad245d339eb7fc6e66b9fc30d86148472462e509bb5724989e11b2cbb21a0f5ae1f3520770832a27fdaa8af37986f97010e784fabb9f6a28dadaa6d038d4fc50be4d7412400fa69f8808f4dd70c6b9130024c9390f1ca42db1e4649c38aeac42e0c221e321778afa28c600bc898601bdefd100d2df47f446afe861b342b42a66f684aaece129d59af13babca16b05ed46d85e7957cdfc05147e2ee71deb77f57ff37b2109bd22c5f034935532b18a8a501b9b58953a460fa33d7e4b9a6a449e736d3cb3f8e7a6d6429bb5401fcb9949796493cacad238f7815ae4d8e8f9059029c3ada7e39b1a5221f00a05537b7a6586402db227f4c88919621e58a9439c81d5d6ce8372d2869c5e8f2056bf40ad06c95069f2f050b15ea27ecc485bea35ce6a6a81ec4108045f3ae2a001f9fa228bc6afa453979ef8afe1175d2af658b8e88003f9bc6b552e3f7e17a8566de838eba4da74235f266e2fc25be97b4e8fe575f4a3b5e01a0904acd19ce374eef7753ed8bac92ebb22046ba82e9d257bbcff3f47bd52746b9be5b7dedc5313b9dbcc7453eae5319b90928f0c04f00378dd4ec2bad7a7198cd9b1c3eed9ec3acc9a046437ce6ac4aa481dc3e594a67ed005de6222db88ff21e8f2a73f581809d05c30e1075fb2ed33d54aa44087d0dccd0112465cdd9af0b15b4d1da1b6488a3ddcd42094216b2f58f444f74d26a8679b276d8228ab971fc932d3a08e1f7a4c9b79a2be73fe82e94568e6f4c4d2895d09891fe4fe9db56a8e7b3211d0018da2a21dad2da278712553ab990f1a5d86353a0ed5233bf737f0975f845d5b29c89cd0ee1c5268fd65afa76147059aebdb4b93925711ee8fcbfc6fd7dae3ebac5af1bfe90a0dc1348c7e95060992e4404807f22c16c9f40db671c2490a3f520ac9bc9ec417bad8c1336fae1da2826c813d6f2156911d146fdbe82a351040737c5a5649267ba6da0ffba34487a8a46408edd711790ee34ca70befd909e4b66f8007c77b75c9e01fe029011064fe8143f6b77c75debe45c41364e1ae6c45e1c9d14c313620ca8cd6a9fbcbcec08fe893218b80a1ca7e346496aebde07abcb4508804d38ae274136b850f0c917ab29aaee2c50a3eefaf7517450ee987629a442adb5d7ff981040595e3fbaef4b25cddb89197deeac130d702074a0fc36e6b80a06e1d85c5d48a844ba60ab9314c86e8453749fb9d9fd26493af0e9d62bc9a22c7faf779bcb11924d6ad3633b2edb8493c3ddbc12e5369e4021f9c957ba5badbc4e452652e524b049fc1d312b4c9dc5a69be4b2b9823980f98321f4900d4c04bed2809c529c79c69e8f4744fc45788d5d7fdee68a97741a49d8659c30d6bb6068a7a85441cd757bc00eeda0bb1d9298d92de28a67f346c58c509fea1a1bbc7b015f5fd34350de921597f50dca336a95ec95e57efa7408471beb3becb09ab6b0a586287d938a3c06f7635a45ff76f0616d2a7e9889d8f9401d58fc30e0167f6e69432f32aadaaadace62be64c9419f5a5f0dd1fb54e3af2aca1072d26b44d7ff00bcf53941e06cd1d9dbf55f768908608fb24bd4d2f10ace9002ecfe8852c8997f343bf2f60f25be403f74ba4cc6b353124fe40b8dc8e9ac4926851be3306491eba28594e73ad94bd78e9ae4a6e4d84b4de91166fef63cba07f9a78fde23d52e324c594f881153bddf46ac569e52313e6531ce88ebee55664b25e8027c688ca6543b7ab5fa6e50e3a30f3768105e96023fcc576ee2bcdbb14c2bcd7fd96bc84f01bf3773e021ce40bdf5eaf90bc3879cadcb067bb63df99eb86bd0dd94f2a16a2c6e50e81eaa468e5adfafae4133ebde8df4f600f95388e9d6ed8417b44f47bbdcaf3136fce5f19b8bbd292011bb5ae804ca3953ebb9c052715923a9184dac62a105ee0207e7b6c0c3691b2b63b7f27aaed1e923d96156d483d9a48ded5a8eba4c493511f0923f8878c1ed4472d9afa3f809b30cdfc02663f1c40f4c50e6c25ffa21198f42871d46a34793f0bbb00d161e6c764e7edbf171eb315f4a89ee04e4a9483d4964d33ef9ddc17f6716596db131b39d61bcf6243e254ecbe9efba2ab10a3b41a8f8ed27e49747ab8c9c0254b1bfa5128d169dbab092dc432413213862847d1cf0e31f838544e2c0cd8520831870dfba8e20e455541c606df0e2cedb4f5b033eec6d012aa5f6cdd5b9592ceeec59ee899b9a476504a163bc6c5499b99174c0dc0cec066ab42f3a6a8bad476309b0b20953e8ce296419c1db919b54ada07edb5a19b89a4c38feb2dcb3932bc47839d81e1e1d103879f2fc038ab2b11f7f88e07781b280350db3400d36f4ce1e9f5265f2e5a6d90c04eeb4663b52216b2a604e1f4a01634e7a85adc525a249ef51cd7f2cf9af723fd46a2011fae3c954d50f0186cdd547708a7f974209d5367e1b81a288a2f0f6965d5427a90b23ffa60fe4e96f9ce3e059c116dde68810035f4330a8de824d9ec93f3484a3dce401972f228c4385fd5ac85f9eb6493b84ca6f4a238f72f4e6dd06cd3ec577df3c515006e17ccd51ca445adfc99396c2f83449833e810bbfac0be788d4b8cca18ed2fc33d2df29ebe75cc4a481e672d51f635be8489def8b84c3a0d8d273fb3a76f0b36bb826650d7ec15b2d14298bd73572d1afedc4d7f05f20735f897a84802496ace2609a145b5b59e397dcdc54a6332cbb5139b1208396023341254b98312bd87466b602aa6c17ae3f134a4d5f4f3590caf1a097ca8e7de5142a68e5f57a36cbb0717e67472f38e0c11f2c056d21992aee758121495574803e1ee8a3576d9268f55534d1ace2f0a1ba5fa31ef07a94e7ecbf4c1c70281bbf3a3b5a8c75be0834e880f8a4a762dc1ac8cd9ad80576a82bb1118625c8a4dfb277f8a414e17109c10852812eb86c9b89208587d3e412e1d22837adca2c7dfae7d0dbe24d190b2ff8e57d1e0fff334d7c6e4010804660413ef73540a9673cd8ae1fc8ba57f5e715704c8be0bb098e97d4a80f77ab0f9df56946d45b2d623060db92ca1d12345216430eca729511ff5f9b4ac8a6f8f388cf294b1ded56c6c2b9d1910b565bcc0e891ea539ff21b17574687d0afc415280e275574ba3f5de7ab8cf2cabccd6640210cfbbf077a1bdb7fbeadc1c77b951d8926200fd8cf7a33536ac95a40bb487e41544dd0defaaa67a121380594412da7fbf35d3fbcb39e8ff0685d03a0c7c539f080da48f55fba540ed442a722ea50f1f55719e8a7c98e31a30232202316e7dd61a0a5904e221fb8b98ac11d9071ab1e813336177ccd095a30a8cd22f5395431a65a4a2d55b667c7af147beded0a19ff7b16cb067103c3d673eb8d8b1c8ba5180e9b578ffa31fb4e8bd5618e164b9aa683769badc02cf7c97053f61284351d653fe8b77ed6365f6d19bbef2e00d0230d03b02dcfded0090d153a63fd6537f6b9b84cb0db68e9dd15dfd5e1349a1fa503e108d1f7fb780ba0968c40f35f398f0bd503daea818f3b431542724abbf7b853133e8752b8c6df34a7732da5c3952300c48ded10bd65e890de9f4adee5ff4010b71445f4ec3ef3883d3a27d3757894d66e9ac625bdadd86c80d8dfb54123c60a3a4a14f7f76ce8c301d9ae12e05e92389d7a83b73704513e00731ed1e55d8e6ef02c7d82382405f8edc960ded9f9ead1c5f7d2984e90da18bd1abf03940a8b0be3d631d4928f8ea471bff856bd889e9c03cc45b2c4c1a41a51e9323c8fe71840df39bcedebdda70aa5210974dadf11f6adfe3b98b2548ba5bd21a27e47aa6463804aced30944df4b6234d208ad0b07de6563715f2661a0aee79686337e169c9d44fa0b430c5e9c40d07023f1538a59012f0eafe16b5cfc8e1ba9aca457bd97a90a813c7b32385fd8f62736091237df75e0c7c5744f05fd0a9b457744c568eb34f477d3b621ed0a832369129e98a0dfbd190864272c1e0584a177dee3982349379963534219e1fe63cd1eda9d7ce0f522a6210f78d8ae6b20330c6a4de1fdf59d504b172521df2341231c6a01745bd124692211637741cd99b6ba7f7e5b6e4e50e180c639c97accd67a711d4828d3762fc0f90f7ec14641688fa96aeae72dbb954733bdcb55a676fdc9d066aa6315db84a2688a0a7243fcd3328e12e6fc6888066a962cb53fad0e2e3da50be103a7b661b4d2be4ea1f1db4fe97d35b9d8b1fe7ea114adafa692698226c17cab25aa302fc7b04ee0a982786acc2ddacc2753e245493a0a658f48aa16279c2023b7943e94d5907c284188775b0c8535a83040a8b572e8203efa48ee6ff4cee136b8c82c0ae0f3b33528f201e273a64e8f7b813b821234671b1d095056b5f369040747ba23f3123d21e3d66bdb98bbc272ea5d4540172ab36504dc32cb03671d79de5930655afb3dee20f011fc84dd60f28afc8dd73084a9a2cfd9de6131e6ffe0a62a81ae65ecb0138ca35540b0303c631cddec43f341a0329118780bb4c8b4d730f62bc61f50a16ae36da9fe63e8e4e422cc158422aa50d497b94c22e958dc0030f648afd63b119dae3201614fe9a86673ef99039eb0e653165150eb02affc9fd808882be41389e2a80d76018b3cea855ef9b65215a91ac616475ce120341e8d57c70cdb5645079d01790fffe76e16ca7fac98e5a69d22105a91583f0b17055a95d52ce9d1f0ad6e1316f841f7e70759396f6027d255e602bc8769921bd3c017c7590c6222d9887ab13af2578a043b7bc38678f51c973b25aee9f3a92e168c4dd7a7b92282a300a261963f26f075e9996b75fb84a8201c5405dc6200db1c0fc8da673f0e34ca74dfbf35281d43ca71466b1d6f1fa7b99026131645bee7eb09b043b57eb2cb6d0154c3a1937e44e1cf4f81e9332e3610946304d6c040dd89c9e7096748e5a32bab70acaf60b938ccd598ab9e9089d22a64102c183bd977d43b3d2ba010be6c2f350e34f42b88dc9e1a9c47cf3935e92fbae72736b6b34d668c6b2894383e61e3e16e29ee73d8a3c9f406d02ed6c90de71aac65a34a71cc79998beeac624595d1390c0cc264528984822bfa51740497e233a8cbab0514ff29e2f905739cb5c479d7c09237a5e6294b45cbb269ea282b9b99c0ec169cf0e4240b5590026c5c12d4b8e04ec88b099e363311599101fb24eea5fe35d4dd95a7a6adeb3189b608ff5fe1ab95bcdb38aa11b5e8cc007e042e6c6c0241bd852b0a25d141526815d874f5230c7d56f006014baa4e96fb7a10300ccb5575351362f418f3cfd0ede1e9f082c9c3948a03fc1525ed70bc5e4d839c9a0495ecff8f65bd611baf7108e77097c4e8c7b11547a61a3b0ec23516d6fe28af9dcfe350dc6f1b0c2f01841cd5939f22960d650b2be4a486607c8a9a4c232ea565f3cb9013afbb42f4e501c6ed20111260ef83da090135472d07483ad1965c02a74826e44630a0e9c45e6f7cc835a10220a0a190520e6fcd5a24f01c741bac2e015a4552a6a3b221624dcd77adbb6bdf7de5bca44f626012903db02c8023485922c9856a63352334badf026ebb97a3259a95537338901bc7de1ad7c6b9b300146de83fdd1071039ee5720c97582d5d5ba9ba94953a047122576abad96cbf5eab9913b05761642ecd8a44f30c2af1e03f59ad395942722bf996a5a902ce2758f335ef6232f81199318b59f4d08c9935bdb9856cbb634235a435c5b6b4b60632eb11f5e7aa9654bbf3f182f2dda6d3e04e40bc63af377eb5a50163b9add7dbbbb1f4ffbbffd2a67f8ee86fdffcd67a3d678edc651329fb9728c92c2298924fd21cb5f9e87c0162bc0456cf20893afd9c88e4ca6cc04797654158201df7b3755c421fc34ddd37d4c10ce43c9af22465aaf560068de30bbd6ff9516c4d9110c8227789a35def8182d8ca934479d6eb5b72451f05a7b5add132e5dcd185fa697695584887554d2129570f5d7fa780aa5ccad4de5d841382595c8979afca173ddc509a55219110c299e7302139f36945ddd227b2572839a7dc59335956cf750160c0e60a14465d70409a2a2406a4a63541ab761101242cac9f5493df1919b8527c08695e7b44e603cd920660d0821cc8898611673429f14c8f58a99b9085250873906240d6e865c2459cde4351ce3221538e6aeb0824464cd024081625c8007cbfdf8ee16e3af5580fa94559b75422e8bedf9e5cb863c6001d3f2491d0f56fb6f283efee2522ef59a725fa1262f91943ed8a6bb0a4aed2a80b6c3f49c28d69217966887e1712986d72d43c95d53b3f8baf90b1942585d66c4c5880bdc8009ecabcd9f5e1f412fa10a286833ecf4dc69d5f58a55578b93aa5a293462605f4d0684b0bf8f1cf932f7e533619052b12825e40782d0bc61f8b4557be10eaef51ba03860d880b52923ce9c29583881800850aecca193056c8e96a116085d76b012458c2ede54a1d5c066804c4e91144c0c21851e63f2c8e870220c3ae2c441031e409a126d3831870f4273c8e88004858304a74e1c589c9f384071aec4113213919e6883148013476784a8285539d911871d487bb0f1834a1d42d4c912041b2dca972fe20431860c38506ee002a7c51c0752f4a28e856d1a90f9b92d335460997290683972c8a112d4d832278934d870820b0dca0e04a460051f5bd874418aa2841a2a6da8b841458eeae827ddb0a111eeb7b0af84aec98954645c9ed66df2087301f1ffd5c61cba39aaa26d2d70fe33ff5ca49370ac1059ad095224e79cf4711c52f7ffbf63c347a18f72ce7857c52171998d481705c25831ef9cce39e79cab99cba1563967add541cabf92523967ad2d9fb6e56f0266478e4b172884ce619f89511ae3239db2a592e009954aaa26f7187083cac6da1ae252b554b1bd2cc132c34233e75d9444f13fff954e906bc74d56b409d171c20b352dbecc39f78ac45744eb6161816ec81057ab48cbc8912d6e672e500c2b90c8c541ce79c7c5151105299a4757e664323d67eb68224d3ab3ce449a47991b2137f3887690288a82b4eaa064472e215764484d9a85ec68baecc8154529b2d64e36554ec3ae58b2a6ebae4b8bb0a93c9d5c264be4e532c968b9480f0d0a33f3877adcd04e0ff08fdd88320e8ef9e7bac5fea195dec5f5f0343a9bc7b2692df18cd1afd7eb65842c52c4c8ebc5037976c0d4d1868c32c619211936396602f61ad226bef924ad251392171b24b154a92cf36699d21c653840a2c22b95c54c9567c962b029269356ffff7fdf9f99998d78ffefbeddcdfafbddcd4df486f842a672ceea40bafbffeaffff3fb376bdf8839d8aa8354a78a1b435b66579650d13a34a75552a1bb76d4775a38aa755bba3653e04b0814d6c8afdd23f7fd3131f0aaf64525a4d49df9436734b08e5940cdbc4f4bd87cfcf1adfd6b7dde5c7d7383f1148b2dfe0a581f797317694d760852e5ec83838a40ce07d4f25e4f8bd1b618487dd90616b384382c14e50208c3027a51bb2ac92c54c0f84b7dfdd1d5d951e8854a64b3d9b522121949c3cf1c4878984cc93996737532ebd7e1a13f469f2744fad2dd3ce4c20285309480a654b2d17f76fe9756a952521a4d7d619a70aae2072cab8b2cf88d9b4ea686e81e76246ee83087cdcd0e5b22656e4626c74aa017d87ffffb9cccf1c855bb6bac99299f99753801ae4abb5202e3621beeaeeff7db9b59cf96f9c9373d89bea389443a132c72b26a5522a2d581936ecf7b4933b97063333bf78e63357d7268888a25aeb9c2c6f2a5d58a391541be97ad1d33ead1ad8ba6f4f908169b5422036e0815d99f0a08f63c97342485f45aecffac64b50cfbc43235fbfc1ccdcccccddcc978d789a31e23e9f1b0c2d695d2ba55272e972d20d20d739dfd398de57ddefeeeeff45f4bbbbfbfddfc386227ed8f0e2bf94500be408b989398a9c73cefd3f3307b9f39d3bd06f8c10c2a8350d10c29721e5016badf4417aff1e965c297c51e3df3fad882555099697499c381fe6278e87b0c2dd7ddbbd99ff4f33467c768e99f9ff1e4168b89c9e5c83169e6de2aecc94b92d2a05e402694e9518c596e562667631cabad8e562669e97995e2abbe8708b551d17a3a20f20710498d2caa35e6ed393d5cdd70e68a9146bad55ca4bb508572617e98c81f19ff97f0e32377343e67f1a094da7f1100b8961a10f9e8fe5c243fc85c1b0100fb190133345876dba81b9318545e6802238bd38e70a08e386962f62a7d389d2dee9aeb71b421895dc9e591b366449a6ccdd8fbb02455554a9623462b7db72a16244a36f4a755f2f6b4faa181f63b4ddfc4829cb94a463443df82569058ba5c6682c249210628613fafb0a6666eedbcd8f3e04a1410d1cf8f7dc8cc79b0f42a92fc6a4f87a092774e7ee7ff7fffffff39ccccc4eb448cab4cdaef93da10302b224981427e7242704c76028af9bfc33ff30c2a640a150876d4f265a03c8e43452e4ddb1d9edc4d94663cf16cd8ed91a124e28a2a408ea870889dafd7a7040a6d758fa6a5a1c49fad461b4f40852348faefcf6c3441a05a592ba7be7ee74714e1ab52c0ea921fce1e17bb1610dffb9a54ce9db2a7ee3d07d3531fecf1cc3e30dfd31872fd6da0879841eb95d089fb2a8d43480cf1b30aff852b228a59bb4925e0bd2e6687377365bef753caa1a27dfbbb3c353e40811ed2335c6ac05531a1ee732a217120eb6bba36d3b3c66babba196692d675fd853ce99521e6a4d3a57d02b3f577ac09063cba672b5eea20e5876e610fb08ebeb392d88636c96e610bc2b9699d9b9170350fc1a961318e6a49081fd6467bcd8ae7db44b520a7148601033ec6bc568ed8f5cbaa9451bdaf6b7d9c96aef7c169a75edb9e912af73ceb5dc1e3c84dd91d5acc1f7a0f0f208aefd11b438662e8bb159d1e754d08cfac4f8f821d04ea2cf8bdcfc9e6833bce7ac18a2d439d7f779cdd2aa97e7dcca51f0ff7f6e05edd9356ee6ab695af62ccbde5f75bfdfbfa98dff5bdf6e6ecd3d20c400b9be473209e380858408907d65c811ea790fc7786fabe57ac56dbbcc3e38c7cccc8f48eebdf7b22ccb4c6d642cf70614d8152b35bf645d8e77d980c992bbed64af0f2b521e63e4cbf1ff59ffe38d31b238fe30c68e4de72de720cbfb3f7274f2dc5e5a89a3530cc8d09f63a0fe51942b1039ac0ba79c35d0e71067e12d2c3459687e9960e6d01c3ac52677a96577cfee6e122ad75b696b3c64ca780bd4b15695f4435217493f6cdbcfa6aaf687ed0a96a41f92b4788414a02ae59dcaef83800346001c326a3094169d9f67bcffa6c59e3c9b9c485ec07ac8d98af346181b6530b2a4cc95594a6ba975cccc6ce4d9aa001714e86b700c803e6a9dae2ff7bbcfdc97f987500d5f66fee533fffffb0c639013eaeefebbbbbbbbbbff67d1b7ffffffffff8792a88e3412e00628637a607d510017ae5a2f5d3774bf0d677d4de35568f8debeddddddb5bb75dfdd5eae4b6648a592a415892b75c608921aa331199b49a4d4007d1a002376048911a3121213d0c9fecf17f2d5346cd84dde30c2e0f863b5ccfcc3ccb10d0af4db77c367009a485ad191bf7647c29c9b8d57f2b43c95dafc79c8b8aa648961662c869c73ddcea17edab7852abd654103eb9c50962d42db107731994c8f59861eca73bea49571d2d50b24bca66596be8f11e047c6f94ab5ae299e62b4f14052a852e964931039399928e439eb4ac61895cc2431ce3cbad2fae97e6938e794c05aeffcff95a1a8642d1fab0500a39700080885a22896a4719c8715710f24a288865a858506e251a11c18074261f02088e118068102060000806138c41927a563e5008e05df273b3833f646e8e02eca9bd58e799d0c353bb6b8d8bc14d99b09a404816140f6239431061dc5b80fcdb3ac12e248e0599e1622516213f1ed0f612e0f191790101a93134b40e98090f7038a3b034bed22a9e69c5f751326d81741ed483624cf2793751436d48a5f5c0c17658301cce04751ea8a7c58dd7b0c6938f86f559cdce4decfbb266725195d39a6bb2a4aee7d8261650490973441ac2b2fed12fff99075af3e37de3930e2e1c26058ded2e868d5875f335b60f3c12a242a119ff52d50e359ce35292b0dc2c6fcca9bfdb0840f33886a093f23be2bc0df3342f42cb34bc1538dcc20b98e8a32234da769fd292ba2b61821a44deb0d54d7c074eb5496d2ebcb6d6bb4fe218dbecf25a24735c2ef7085da473ce658eb7049c841741772948b0e21577eb4dd3e12d0e9c1c23e28c559468601f576f30293ad5c4120a0e40850956e6b3c8a4cd5673a6895bb11e30a83eeab541efc41bfc3d2ebf60a0c77dbdd78fae2652a10bd2683a637f09185ea9c71a0b6591a6419eb57ceb385957614cf7559f5fa03069e194f956be68a8398a77083d92a0d699507d7f5572982d000125f554f4841f5cdf9f3ff9e7686c3c5e5ef07aedb2d4dc8a809a907296a2e54857358ad256c7695a2cd6f39096800cd1f4247bcd63a5c6c088d7d5c12f48967c775be2c8ee9399a26b36e17f1c2574eba4ae0ed615b0c3a47e1886076cd87c7d718a73e8a640f6a154fcd2141f9ea8aeda53c0f6c5d5d388d5a34948f03f81e71d33706063f20bfb877187c7b3f07f75c3e44e72eb5e663704d4b8021bc71fde482eb1c5452c8f38cc0b8d30c5c9794887bcf6d6f2faec1672a58ca6b0c9f62d67e5a90761688f26abb04281696283ea51b34dfc506a85dadd7fe9f1c4d12152c8d1aba2f84f23c8242391d12a4cee6d71bf1b6342d987bc7c4365a19c14ad15dca9282e67ae95d537a8cca6a25d4b04686803955bf84920dc684c3231ee8dac754af15e0cf4a5c1801940b697aa6c93b63e23421af5d4248e8910927a4bcf5a083d5edc5890425600a0631b2e4b50722f3cca2681285ffdac5897804369a67463faea8e642a465348d1df34cef59d30b388e2b53d4c66a6ac618f375841957a5f05714f392b0070153be9aa94d71f47faff13a7eb640e51d44affb9c98d066df2fa50b3e14929694be39b6106a0ca9f527075fdbbc546fead4e14385c8ef8c2809460458693c80255b22c431d1e51e004fb400d7a5bd4cbf12260a3b3094847969fb897ef6bfd546a81fde68eae185afffc84b6e4aab74986494026ea26185307e10518d17ab0fb0307817b4f233ecef0fb770cf84bc04bb97c0bc8508c7f65b0a3a924f92d4b7e0bc6f8042b42e701c9e5ba15ac3d0a752afd338f901c877388f5dd7831a0c842d4bb7aeabea373ab884b6a97047ac6cf88c337dfd749026cd16db74fdb7dcc441d2a89a724c615826aa2917318f784acf6ad6225097475cef8ca0cf156ae9c07c3acd004d6eb1e873eb69ebaafc8008e769f5183844b251faff0e6ea530aaec97e3254c28e889c291be092bc9913e406a869fbe4d88ab2b5918b9f889c367eaae5cfa046a63f15e6797506b9d467c7a1f2dfbac994e92b69209277299f9a7582e4fb65ec1075701108c03634ebc0a660f128425f8eb0124e177f32d778be118a6d3db8a4975e56cd5f590e13bd345f9b7c7959855773de4a2a5f8199ef6580192c0adc7d0fbaf31d448d6db91648b85ad3ccafae97a018bfccccfad0a83141192d55358f8d0222331c63e1842def083e7e3344b6b1b411abf928614c8ce76e7b9818fe0a3ec2a22005cea9083b396b374238b7123b9582f6d6156b5b487a6343ba96c64e8aee735226c4a7ed7f6b5eade045be7de60ad5691f0913891723522a1b4807fc18f209f387c549cbde7f7fa89646745dd71e44c3582607b2d10b28a2be8fb087ed624a8425b32aebb932b74b750b5ea7f8c2f19568bcf6c7163adc611c97bb375b4b560a5e90ab181ee60e443d405b7a10a500aa8418da6bea18e7d8e593216b5c38baa5fd9cd5b3d0c060f87d0b771fb852b72b0bea48443ea3dc191e3b9fc22c0f0430aa5fc03246ee20f4127dd60b128bbf89fcc05d8dff2f023a3a8ef629f4137a2d89fd313ad31aeb38995f5958ba0632b956f18a6c3f1ddc23b434859aa1d2253ce74abb80d96d32bc998db6220a0a59f3f1058872c174eedada4ca65bf4cd7af8082ba28317767edf705655a99725903fe0a931d8cbc5d11c4711e3dae38b73b32be1fd7e7e203030a7d2c56ee96341e5e1b41a0999bbcbdd621ecfc0f0fac713db5d7e3905156bbf7ef32a309b86d5060c13439048c7db523b6b6889f989662acad6358bb27aec0525ea9edd7cebd87889610d1fc660b14f0205ff348c6ce4357f910f6b4c3c2100da32cbbd7618eb2ad6f67c7f63e1660b43c51be5b96da2913602db3b72e6950ffaba0432880d5c14de43644be032dd77a503f668c51a538b40049d9a2c3e49bc1c43d7b60c4e4bd6a7a0b8ab196a4f8a7ac890c7e23a1c63646acae2b92759de74ab35cd08cb32fdb99dccbc438fc7808dcc020d4744f0c3468797920b083d4790c23c83605d261c3aba8e772664a9b080474e7ae0432718242ca7c49d9092d42f604d5dbc121c3e11e3afc4cb5eea0507472fc241aea5ff004d266c771812724c10fbac8dff77fae429b7def71cab495b0219bb8c828d39bfccdfdc7fadea737d378faf856c5c3eca789223ee308e06bc1ac0d1a49da983d92b0e1d3dc338827c6a69710c4cf021cffdc65915d3ed4bb8396f855edb8088ed09083df01b54847d343818e0c8cc80a23d1a6922a09fb56e03b5fbd8608723816c1d0d4b1f634551ae55f34cf48204ea19e6f039948c91560e6828a89aa0321e706093d1333ee4a6d215aeb3f652029b3d67b5224c53f3762e6425e258e667f34192c951882a137720cbdd83be5ec44af1c8e1c3f790002571239c5bb7404eb9e9ef7c3bc37bd95c2be3843acaf442459a5a600a938d7d4c253a0f3d0480536f130aca715421ffb55e05714f793a4f1edac8a7eb1e4194bab48252cfbbb23eaf99e4fb4c673c710920d03c249c08c4c9af6b1586dd82761c60bbe9a9b7276ec07f30603154893254702446c9e6223f5333323602318cba8c17ed4141fc795dc7f063fcef3bd8344fce162188305e872c9a52d459d70c310a10e4b9754518a8e7e4c13bae91ed8c29d52ed1d16159d1020507b8bbc00ebe69b3fb55c6c59115315c563783fb1e652306e59f4b3b57917b2c572075576c4bd2fc4adec07c8c60fc285e291dc1cd93b1314b7656016c9d814e9761af9731278d83d32648274b4f0762bbf776fc40f695ecfc8d17b0a3bbd777d30266d7c2ab997bbe8f57ed26f287f7a7bd7b9a9c9aff96371875506711e8bc2ff4a4e7ddb5cef0602f037de3ef05d984b511ebd287141b4ce414c45fba2a24283ea3e42eb471699347b6421b910911515a20ef93c4f47227f972516a947e910b5fc058f5442b1e787b30a3e658bc833c312d7c58d24eae78f991beb200a3f14c7a245c299fddc9b8734c297e36970e66f73b16b3dfec1920b07e7ff52297b5e6ed0dcf57aecf3f41f82d6a3e311cb6ddb5f66b07bfe5d7b724265cfe7d1d4a79ebfb4c101b613d9d61b70dd33e2d32034e6a4897cf96d3be926a58d6292dff1e3ef72dc8c4719f8ce19cc775a2f56e8a85ed9664c28332bb38c0fced70ac18865de0d53b85765e912cd42f96ee44491d35c2cd3f02d21007bc06fecef9f1a7f1571546564637508faa314ef18b5028f00d3ee1842675f0b1e9e5fbf7d5519948db66f5215d4ae2be30df52d5fbca9c18523c378c088f7c42b8529f174d973df3f01882da5bd51ed42e377f553049bd997baf2fe06ce69f50a50a7aeeea89ed03c34d598caf448b82d5597460325e64ea7433fc1ae70195865f8908a79fb0d428f548a0f5a6957dca1d7c8b641385c2d06ba4cc1c0bc9d1c02baa043120319fbcc8b18048032babfeee53d38208bd08984a4e4876375e89fb63f3475f62bb7d2a5f77ef39e7a142822829d461ff9afefa97a38a08d93608b4d78e0f2929d18679d9bd9db0d015b40d8c89156ce708b2d1e2085b04037716723ffc358863da4494224289437c25509f698c7b899e0eaf748b0cfcf6bca9802dd189aae01d3ba66877d0d4cc3678fda61520a0235b8a5bf0a0575628881ea47aa3cb817a10200a36d8384c36f9425fcd0a3ce3c17ec9c2cc2762475f99bf13f5921953656e2e2c517f6edd5268f125b0386285cf71e7871aaeb2c86c25fa2aa49315f8a9829537138bba4e8c14785414c34aac77584fc10a3d3aed61886f9e53bfca1c25532e5ca471e8a016cc20ed94505bd546ee4dcf0c097c804579229282348bd36d60fb55041577dae4dc26d8cec845bf90240861ab952ac728cf7d4d4891e9da583d6cca643062ba44bc17ec78235998a30d342cc3b02426a8794afb749f15dddbffd8eb131f321a381a00f736716a5938049165da40df0fa4aeded7fedd194d3ea14b1125bb9a393e2e0ee3825e27e576739e77e5f9c7cff5f82db6fc7b0adce47517d326427f5afb9d3352f8e5079a6e5aa3a834d629b40421940867292c6ab96d70604bdbc49d27f334819891754d2fb14780074add91ecb3290619ae9376064c24168a617036c9261eaea1750f308993aa5eaedb3018916b33e3f9fdbc598a6b22933406ffda2a12fa12bb1297dfa5ff006904d2fd40a27bc598ae3d5acbcbf6923ea8e4b6326c9b2fd991a9ba8d206c96d73e9beb205783a1be14e59cc37a90748a9e1bfcd8e31eb0d4714e69e89ca48f0cc89160a6318f205ef4a9a88e4569f331e44a3880f21de91305a32ada59a0f3083e037f999c6c4960a9e884d2e8a53bfc8c80026eda03ecdc95df494099ab44ed6079b3585596a73eeb846d323c76e3a298eb33f464d8fba481bda68699a8c3671f21ea0e9ded4e878d0a545ef3fe321682d88ccaff6ab276c98c543672bc48b462bdd3efae0ee5c9d89285457624c139cb328674b3f6356ab2cd42f6d62301a052b632b432cc564faf7bd9472220d228811f540417563b994bbf858b987cfb0251815aaf7c7e8aabc6a9cc9e91f8cf29a17e74e025f2189e086f1c325a0d0a68f6f4f727d0686ccbb72c80263a61c3952aa116f7f05bb87b4eff9eb90e8190afe7a77527e2e2644f8ef36d8d5588a7569f115a26c8b765f834b5ab256916d97ed1479c6490594ae351b8d2af22c1968df3145b5a513193a99729a8b00a8bc2e2eb662e43cd1f74b6cb90ce30ef8993b58c78adddca75f204ef24ce08a149e4a3eda6706b13ea6c5be9ba4bba16545383ab3114519df8f6f1c6fa516a72d2676bb7bb0f879412d3cd76b34a3a27a9be70616fc5c8d21dfa54ca0cd1433a8381a484c0da8fa8819b2a9248add1cffc0fa4ce5dd3f57fdb4e0a140a1214e5216229f2f46a3906169912e0f0b0a31d36d736ca45367a601af68b059b497c2020bda10afa26b6160cebe6d5e898cecf24b02c2fa1e6d91c46dcc1088e9da54b2372b7bcac726ce12c7a0aa77dbbed347dbb81d01cfadd2697714cae36e4c0c863ae4276125d807bcb47df0f781110aa6c59cc8f65e078013df44aa7cdc61377d9f60299af57dc563e600fa69e54ce4004b4878cd334f4a67cb96f1356e3431caeefc048d7451fb686c5b945a3c1da0c7c909085f6905437cd1afe8571ad0c3ff77cb574c078a80eecce54ea73f633330d96f2a20266ace7e6060326af24a5f9136ffa2a602c626b79ad87ed09961a48938ab4a13ab5748178e2a8d998c79754e7f6c0e37362797d704226cfa790c539f4630197979f5075cd9fe7c62212d4af2b965232b049a3b6b748304ec6dc160f9a5184a46f7c42a5c08a26d0db0dc50a301c6b690cd8451905ed63c9681fcc2fe40094735e53af0cb839c05b60ccba43deda1d5cacb01ffa32863ea1ff063c7ee7dc84b2e36659f5997222d8576688c69ed5a57a9ef688d18bc8d21c2236f7e5d91867e9e22e8072669f60206ad47b739dc339641441967702df71f83c099a18f75d6823f91be33f3a1126f35dcc2f544f4046c840606936a2f7e772546abfb7d0c1a4bd48b82a027e835256ee5b6ff1c88ef90edce3d8a49f7332e3d2904620143f67d9e2e3f0fd2b89c39739ecab01d8ca60888280625f43709dd4e1cb8839e2cee1e50d2fa3d8f41a283035a9bc96a454cf8605378ce17e389c909c3a40276943a123a022e764280477e9485632ae04044f76ca3e5c7d176ba0e0d8daa83cbe87ac9d17fc0ebd930feb3c3c2d97d457801c2858e278064039a6c5a166a0945fec13f4250792f0372ff903fc0138e983c48946505a066f62cc0578ac9f1006416d97667a42d22874a78a2f1e2ef50abbe7a0b8724014a0d984a0833274ce4f16c3911fd75bdffdcb710eac1de493fae47b75113b95e1a79d0745fa05ff869ba91a13fb70b773a91427d9812b2008e930ce097185d7602041f7dbd90ce930a8e46cef9bf2001296641f8c37119baf4cf6581dab0d7d4f9a3ba152b793aff03557b9cbf81930e4ea93867ec5f57e19bf2a7c5328dcba495bb27c174d29d1e008836213fd62da4c0ac88e05d3aa197af56a6c629bc7064e3e4a90aa242717e65271709ac5fb4178149c817119321948d32e5e95f2b51483277e95a8d010c6648226c172b86b4e835a100cba59797a890c8d5cf9e67bb9032dabe6f7a5ff6143610acf401110ac0f49b35c441f7ee599919328abee175bbca67e2f0a3da21ec34913beb3c05e1b1f850185a787bf53af31d2b1de14b00bc48be20643057ecc4092682e03ddaf3600323f1caf30135ec33a0d0d7649413aae766f665cdaa58efa8e76571f559aea2c542880013532597aa1523bc9c160d4b1529f38a021ee15118f12f118f0a6cd4c9e17207ade63bde69a71c05825fbe1619bb0345a50d5fcb8380cb287cc1856cdb916d49f70e9134cc16de82f65c6ba832f370a30a192907b2afbf9922237039101317716dcfe50e1cb4cabd95a98507a21a87aa0cbf54cce3e09ce605521a18a8b640d04154838f6a1d72a9559c0f403619a748d27a393353bf0d3e298d0817eb866aeeb05066470b15026eb58ba9742d26832e251b981c8dbf4225b13afdda96553058bf4ba556567b8ea5c1c4a1d5c5042fed48974937c3167061c1a44625aaaba6cf5ae362daa7eb20146556bcf6271c0e0063b84561604a5bc5df4c92634a40eebbec9f5681aba30f2a6214d944d5149da15eea1b0450a397022efe7f524e7f73ee1b90d8cc43a5488fbef8561578049e92b871ef4fc6cdd369e79853d427dda7fac6c7240941ba7791700fda3ac088dc62fc074a1a5194e82d337ac09859c532ebd8e38ad79af258db0d22ad589af1545f603aa560a708340adc374cc065162a1ea9da2bb61d53e9ab38b82e88e8c1d91f8fc36c40c234169177145d93670cb78c8ed7881931c5df03b8b1337cbff5baca5c1df77bb105e6dfa892ad8f48d123d2c384e07a8d265ca9ddf18564590d533738d82e855b66a922ddc9a260be730aa1b45bdf775fee1a773c8b27599ac5169e9f1b5cae966ae1ace4d405025660799bffda0f6da073a9e7527fa224aa1d84579dd7f91e3bb89a3fe5e4b927aa5f7fb76179312b1626a66523cd75ca0ac1a2816045b96f4d6ab728c6534e8a052b40788510155a2b601c895839f5072b71568c44437326aa3895f43ac2a55a33d103e72273938d2ad0fd1a088a57a491afe0987c7c0c1fb4655f9adb810a4a063944e36e88a32e2de18654fed20c85b3a8fa863c9b9fe535280d46d3b050d8ff59c17bbff75ef245442deadf8c8d99e1cef1c31de8982cc5157da1e358f3854c75c9c49d63afb2b4299af538d6b6a6cd7b74220e117d5f7235f76e4841d5ff8d051c5c9431fa1155201846db761ed5a889c79bdb5b869453c5af7ac8a14e0e292a2383e55be23f3b059922e1367172017ddb580b11aa3dfda273b934ca4eab7cdbd7886dbfcf1ada5f805db04ec32f3dd8a18bbf9c2f2c22a113381b97de462b214b125c5a5be2fa9318b895e005c3490a6fa327c88dcd4fc46d370358e0ee94cf9ae70038828193bd74d69a79951fbc2eb6c0e1a529983bca5c7f3caef74810ac935023fa4652379173242db2ab8ed96a56cbeb7b819818b1486a0e439885116e5e4ee5139d3663bb10c72673bac30d714e79e6a6e6a6e675d300cf73090413a546c814d0a0fa816604e3a7cd962d139d8666746acb2a358b7ec74fa93e73db96474df7eaf0c13a99fa8b9a6d97852d7cf2ba4d137ec10d5b928b26745898b5e0b195b71313d5a266be9be0eaf506a7b8d8559e70c32a5e36d77219d4119f87b27336f4980d60689f1da5632acb945ed07571b8eaabc8ce3f4908b54343ba795a6605acdf1406770f7d2c2991ebddc429c749436599d4b25c74b04238523911a9131d615457277b1477b6ba124a0822ee22ee8ce232466b2379528e542064405fe50ae0fb180073eedbe262586d6108fda2c65466f11f4091b46d5eabadae4d43908cb9cddcb1dec6985c9e252fd063738cdd16234e3190f691c1b76e891d56ba6b48359ed34cd2a88644ec8ae83007abe159cde5bfa48c03911f449754545f7029bd75aa9361595fc096d987a4fdf4e75e9275be50c33e53b9bd6725e5394f5d8182ac1f3e15b43a4aab71e01fe5330eb94cbae27ba7aadd1197276968413406b5a8d4df2a3a4cfc38ea4c56b01392fee112c6bbcf4c6f02feeab284bdeda04a8ec05b3d215bb2f74bacd2e4e77d8f7dfd55aa3f18048670218040eae0dfe60a32f84afd07a9d120b3a8d9dda6cadec04dd2514612fdfa996f1a2ed35b255b97726b06a91250129107071c3f580952090a56c56edddd1ed453863c9bfc9d1d5b860c291fce4d3f1fdb415042d79dcac983871d27fbb43b5799d42251238404e886f60a3c1eb577b23fc16f2e1dad652cc62dd99afd0026f3f3f845449123ec7d3ba136e5341daf2a84c0cee54c2157c992276f28c47cbcfa742df6672e942eecd3d1fbf6b3f960d6bf56407209bdd13b86628fbd2e67d682d32565c0534b3b9cea6b8f1637500d82d3721ae9d65f63f58cab8e6eef31b2ec440954353b74a6a2065beed36c4ffca9f4fcd3aff920253e3567497622f3c5af74270801d050ab7c362ff5b810874f1758b713ebadbb1c0ef28efd6e79d2a657ea056f8fa2f8c3638a4ea0370cc6a5c287817c018be785e56a51e50789e66489efae83ad2aaecf1241d9ac1038956d932451d3159d904ac2e27507e1915e1066d98f2724c2cc1b12bb6419000b82f828bc270cff1a003acd8927e9c50baf3e20873e8cf7eccb6d8452acfdcf05f5a6103f15404ad44a2c24f60bfa82a700f304680023bdbc2f6221c5a032ce7faae33e629ad1c1af861f6a40007c25921b90ee2cfb90c6a45fef1a5123e44c392a957d86ef0ce83c26cba305525ff8751e4676e79531910f48e4dd7ef161533e0c52861f79f6af4172991ebfa07e0ca9f7b1e6ee31a68ca79c0b00114ae0881df3175da749469b067329976c414892e96b5d4e2627c9335d0eae6d4a6b15b8ae05b3db6ebab290699d3d3d957e21646bacaeed188f0abbaf4555bf4cf117302650c3b5112bf265cb0e5c757d94bcf27fabc7d119ab45fe9c39f7e527e67bad9cf0142415c19979f1b064398f5dae072d196a08ec63c66496c9515e5f25cd1171952d9ab419fc826f7b988d3044bf484bce5e45706c94c101bebe19890c8525c5edcb10956629edd045f58de952edc2c7506aff8f79a150fa80abc0885a07a09a9ab4c94a6190e1c994f9f9377385e999b7327c701dea10b43bb9585c68d040cf0c8d183650a2a13ae466112a9499544205521be6766d14631cda6545a8cad9066c1de9250f39cda8baeb96708bf1564e21e424d78b7c65bc3d9c56cc8f7b73c885935c9b67538d2e3c1ab4e4058c9d44c96177cf9805bfce94c3620d4485bf2da59f4436a8623e8cf5887b9958963e33a95bb8822eca56e37c1804f6be7d62a8eb121a0d877ca6767c9f07c471ab6d88aa9787aa57a20864b189100861d83be34143d917d07adec670d8746f550ea8f7157b6253908ec85784b90db57cbde9f5300f753fec2943fc6366d3a25d39cba1316fb45e31a7d748d71c965f0d3898121b465daff34cd0356e5a1da79b26d51514267a18bac77204995a32afd14e243871851327489462dce910896dce40cc50fd79e28cd1a605d8422b8568059e10a56c9c57338f0916368e9315f1aaf01b27d11838d10635a913179b59901d2f430400f482c2e9fa4bc8446340644a2fe518029b4166196c81aeacddc63eb7685a21bf4542ad363a27d2a2835cbc40288ecec7a3c5dc011fcc4dbb470d046bb1beeddc3451c98223414fb291a526750d7f05d6be9958fb028b37801a41eb2fcc0ee1100d2f6eea1a72fb7fe5e3e226f93910f288f89cc0f8ede33e416bf690800d767f20a5f92e7272ad69bd25958dbbd33999f3d49a980967ced7643234a4e414bed1140609ffd6f127c073aab442ae3c61d8e987650ad6beef4ecc03179d4e90509de6e8f3133a4aa4644291aa9b2d4c54f025475ab91e139ab834935c364d4c3b2ea67f12915c69a42b0021fe3b1070d680375edaf21140b3f4d3645753b1cd863f87536b85a8352d0df0d9f9818daee36a6969532dceffd144960e189fc6c59324a9ac7288f854fca9eb46602a72f69870399346e9fe3f5c8e6d8fa8ecb5e5edbbad367c6b4f216c57f6329e59d8c2cde447453125e197b91d3da21e8bdcc2e8b1a67f1dd643a94ed08e81a81f137127cfa290e3250667349f85624d283e32198548b63b6edcd008cd2c11defe600010b4d08ba7ab316956c3a578a3c5b490343a13e284b5cd3ac1e0e0c720aafab39514985df2ac1619214e354c5e2c209f8e9da5e79181e0838d1f17239a8b4f72d984bbfa3e81daf0cb925c17bdf34711c6bee6f03afa38c6e9a19111bc761f688b6fe3fee93e27f0be140149e0a4665514839699e64a608d6d8c45288b279679110ee44319735a40b06416f6ba4a3c893bcfd8b980a4ba00708ce328de20076d2123a14ad94be5563e7b5c9c6c8d247c4835adcc073d9fb9ba54d3037a611abc540c7932242c49a2426debfcbe5afc652b0c6a7ba6b6216f981c21090983717d62548a06a298adb0105b074d94c465d1164aca9279d0a8467261b64565933a7cf1df77a6af02cbb2526c33862ca179ee325e26245cb188eaecca8e13672c1402a96a3120a131a4c7ea1769bf1bbcdc141ff1aa06259be5e1c6baddaf379ab9792f2856379334479212f26a372a0269638841c3765690b91bc933de02f905588653c28aaccc1b4028fab9a06ffc1a91cd822f9bfe03091079581dea6199ec4ff7097edf6e2c293ec443f1f073acc796386921519fd2222333f59f5bb405a1a2af83d8db4607f40e3e28edc37f5760937989c5558076d0e470453d47c0374adbb55c7f0b5014611aa06203da67a9dc7f0bf95c34591e1eb9211b185825c1972d30589da183d20d6a189663cb78636cd5a7d50103114a58d09dbb38c82ceb74c9ccd21473e3b4e314dd39bc6fedbe1538c813d5834e8763aab7025bdaa533b8ce9465c70b576d97077fc912488859d620ee1b1cfd5ed06c47491a61f9ec1b2ff699fbc650c02ab8c7a12151317f19c2f6364ea4f23c62c628c1ce7887e61b3182cc9c111ea930e6e2a6d8e274a11bf62efb27f8f380c52271ef8505d2962e0fe6cf6dc48371e4903dd1e01c77993fb3f10bb438c7764a1af310a8a78b6b7ef3cce53344dab99b42bb22e94b49e5d4b780a20d23f4200e13b0ec3b51a57f74a8c1bd906ea1186c751fa38456d86f6af7b5b6c9eb240c68c94b52e21a2fb7425bcad395629e014f9026303c926e038413dd3941900f2767cd2ba6bc10269b7fcaa4a8d82765aec84017ec69dafd03127a80ef31234c66ae32caf4a31c63e35e6aaf367ac86788553f3d033dbb70b19c4ce045aea6aedbf3fda1db4d46a37a782d34615e14e5f30e53b628a6d3e04e30aeddd50c5d0a97f5d7e6f8fa88bced97356dcbcc328953e01698afa33beded8d8339adcf2b46940774da3eecbf859353d14fb96982bf9475460075ecf1ea5e260665965fab2b1c1bf495096494a5777439b656af3e7872f43e33bd69c5ae743f77ce46b78aa3b1f72dfa02b7594bd16a28aa4fb55ace642968e531b7f1bbad0528cb5db1edd6051abf019c8a8343f7844e9d461fc362960e66654089b756de6f45cba4658001bbb2070ac9063bd79054a70e9a9d48ac794f85af8a2e27a42c768152a0822cc2b20b9a4a5abfa297d374164bbd2cc4dbce01327a3d3ca75973e589b34bf24c7e975b1a5dee54f1315700ecb9035ee828fcd8f696031ed1b26963efc58ab904e0bb92bd66a08a6627fa5bffb305a44fc808ea98d6fde8fa4c38eec387aea636854883edaac40b789ece921c6e5d4167e9047e84826e81826dbf3229db0c486585f3f90be910306c47f9e5d0a51c2e0f326ed794fd69331f058de14f40363197a3c2e4d24f2858096e758f1418f40e3c258b964e5902069ab1acada7e9196d751fe6575923379a03c2296b20a621bde42a6a3203e5d29e9f52b8875a23ab1845d07afd350113b7381043250681805bbcfcc4004518d608a9906acbe31fa0a2bf8d63c5c07db2ed042d046220625ce2f7a847fb138942516cbcd8bb20d4999dfa92b74812ed18d9ba106b72dfa52f9c4de0b3b050120058100362868633a615a0de4132ac6e219a893ab233de1e1a3a628b76100d114087868b6ce673fc67805bd848e64110e2e269b48d677e1ffc43c3faad8845fc9e8be456fa1ef539c776aed815bf451d42cf9512b18ee0b6ad89840f405a80cbca3995dcf9a9fcefa35d587a6e72f37a95db1a5a16cd60085ea1c6928e4aef8bddd90282ec16c3dec32f1c931aa4cfe065db71ddcf7eaf08069f4a27c2378cab5fd4bb6081ccf3a5ec3a166e8e5ccf52d8ca1160b8e5fed215e74ea95c32d9e98c6285249f826a7adf35a20ca2355162fbfd1cf5fc229c6099e84371411dd7d0f6270a2bbb5ca88290766aa7dad4f85e737df7cd37e772c9eb82bf78a7bb5e55571ed45b9eb8d2e880a7d13daa3bae56c0b4d63c7a6920f58c13a62ae238e10688a8b96be70a578fe904fd5dd9c57e906ab25c458e193113e70665bf7d4bd57cbf8193a5fb6425ce95d1ddb8e9bf267fa927a6aaa370aaab2bb253db265057bb5ec1f4d563b37c8413ad16833c2e2642abea59211f87f1a6a3822bdcb6d9321577bc995b045aa90ba9539074d245437a5a1fc355f8bf856f131c0e6230af4b688745552fc4b06d42fcdfc0a3ad3afaa77128a7b44514edc7aa65dbcc344e15425c16952e2ebc2eb9e9b47751c813b7959b6ae3818190b10a47847d81ad0b4b1499f0a3ebaf7a6861858d24084fef15e1296ed70da4d198d58c0cd663eace99b67be3ab3b8f408a5b91d5c6801dfc9a88360ae112743d107816a4da0959eac015c9dbe66101421f6e550af5770ec3d806300dafed216ade5b12f71ef93c3f73e13fcd4919f2e40a692033e388f871c4da54014378506c4ba52a22623e0b092c25f18ddad2474197ab82a2bdd25a53cb36cd4eb137ed62733cbd78844ec62be0ba950e9716de02c0727cc2eae0cd715d61373a4a5e444ded2fb245886f7436ffffe502afef79c23c006036bd8749e12f98b26951be333d0c8b2f0db6a61414e3dedb08da077531924a47042c4d068a11017a26f6317443c3bba8acdf48fc8f365812e785f30ee5aa1a85815732a9bc185ef913b6cff16d975dc0c384c759930b71e32434cd475af81eab2c904949686590f9f1a9eb36af8309a394c8aac700d6c727d55279d9edbaff930e254848ce1b7731793e1eeedbb7a894991bf9e30d4338d89c7a0e39f849200e7b80bacf881bbf1148f61bd2e748e27c8e460e4cf32021e7065a3ca2d4100ffbbe902e63937b4bf87c99c081d1cf378143b247a08e729d85f9c61c7e4697dd7c1d409881e4de7b04a7139909e9ebb85944dc2352666411a46df99d54fd0da62b52824581db88d9dadfa6b2fd6e075af19c84c475732f94de07fd28e71499f494d0c5e9bc457c0a6424ba42a8dac5f39594443c7d742710dc3d50d1cc9b4ab84b21eca60ddf524e60cb7755cbb1f9d90515f69eee34c5475c678c73c49620ccce382e65bad2f6b628f15812b4990536a2baa5d1fd5119606c79ca9ae4b26cff0deab1ca973cc0dcb239e4cd28d1fa3e921dc23eaa772d0b0496627874a5d953e20a4a9961a45891f73781a03f7da5efd0a821c2c99c3eb5dd4e668ae7d434359d8da6baca7bfceaeaab2b6fb86c4044f75493a5141f762d5da102f0451d5714fa693d9dbff8c00b168d9ec0b35cc3c379e7032cfabbcc08605aca0d971dedafa36d47822613aff7923f28d231840e2cf1898c938a540135436e3ccceb68472a249868004e6dbb004d60ccf8606749599f5759244986695dff521c2b4e7140ce57f8bc58fb7bd4cfc0d2723ae6fdea1458f2d709c1cbb052189c1d50d44e0d066dd015b55bc25249785dacfc6c729623c860bef4bf4d902f8e33b64c79e3af3cded60086d880e8236812e7841411d2d149d239f457bfb4c51c99ef452ff5c0c3d9a3e2a3aeb57600d489fdf9e07d864a52897a4097fcbf568de3262257b655054e0fe89ace52e9daaf3fc6dd7c0be58ddeecec60817a64265d330ac2541d9c774a977451c839c0663362648bdf2b0f06d150bd67c57fb0a4da6159577ac6e6918d2d9c8ed5c39882210db679ff23f3782595a8b96686857c3f3efb874a3e58d21c294c905baea283ceee39b68ecfa23f77df1e1c967afd53640c9d3ecc9313129ed318ab3b2f11367a37b56c99178fc8ec84a49295436359d9322581fe4a606fe0ad2f32400b017d023361aa189644a726699f502cc0658ae8140d7c0aaee8f784e0aeb32009efec474574387d0e621f937e3b3e8dcdde9ec7046dfb181492f6f1e52910e19b2b74326f7204d74f1dea2142ccbb42831bd041745395f6a572112e79d540baa5b20324b219b76c5cfcc75db8584904cefeacc72cc378ef4c47d6f1149991e9e943c04bfc97ddf36838c5e93f66f2710d1ee3c8f8611017f9b3f8c897cdffc3f7809ab14c7cedec11071b66e080fc7902821ab63772abd8b4996b5d4b42a6a051987aeb64ff16c07d71a88fbf48d26a75ae41a61d16dfa809accd6cbe0916eae2f653e2ec89825750e75b9af92b81fdbd7fd8cbfbbef07863d1bf47918948ba87950b99b1ee3cf230c7ca519ae9bc3035dc1250c86990359ca001ff5a20434153b487e4425d436ac9f77a969462f97c3532972d850c6f012495fe3aff4cfe6bba3266235f2eb1e63baa469486b77e54e1b6a21e9fb35c21a53f032e89c64c6e2db1ff0804450c8e02ea703d4557705aadd2010961a51782a36234e085445a8a68095848d336c06625415e0ae240dc236087c77f202686a516951b9f907e59608245183140d768b02bc023e4bf78347f8c42d0002d8c16d12684c8bda59452ca94a44c29ed930406041a044f06e49de9f4bc8d0467d445d92c23467ca9ec5c039ecbf20a86b302f56d740f5648725fad0f55236b3ff51dbf37e863d2286ed984715a4b9a56b55b6dac1448eb376a206f97c460721ee96432c29b0a0f83d1c92982c9e99c81340ad614ebb7bb1b38721f6547f8b67e840cc48b2b20ff547400dd6b79ce9154001085de997102cdcd8c132e33342933332314aba1b651ed29ffb657ad6afb405088a2421715aafcea0c7d28f55a25a19cf0ebabed6b7b85b0fbb9e6dc65188451ddec0b31b691f33277d7a871d3fe5b753ab12b5c81450f8c975bf582176c68d505ad56b5a1912c8083016ab17681b8cb25791c1c93090a28beb527b9f82be25c984c2095ab2c7a884e740fb1756bbcad7af20c128896733e7c8c8f450f6d9f8bb082ad351999f435044250c007676db4960a624c81444d8b236876638a14502c4070312046921cc12e02546e10f06af776ecd731ee831b2b8c91b18decbdb77ebbefbd776baa36eb6e345a6d679188527721769bed45b94fa0796d241bea071a48ab473401a8a0985427ca7219e366dd24a6041e8b31469df8fff7da7cb27be5761ff331355982b8922455d173773fa3049c7743ec20d7a560aac1e1c20dcdc9155df9c6396a230b34cdc2d531d71a7fb433021448742e6d0321a8fe559b862ed73736204de4f4412405b44ddb9a6e35cb34ce850c4c8b1f026df50309ba2235cd22aba3cdb2d105ca6c600c416addda7b73ce9fe882cb0c14529e69b52cab564fa9455f0b888b8f855247722ab3024f0731ac1fbd163772967f35ad6791a7c6bf1635add28d141b1b293644deda4dbf6f6cd4d62c285488903101b192f08122c6440837a00109aa2073041754ce50838343e7003050e900a543e97480e21141193149314159492111e1119192e6606a6852545252464646484652545048525858605a6c66e4bca0acb8d0c8599ddd599eedb9a961738a81a9a1212121b1418dca5c8171599115599115599235a995e584553872f0f868516159c1e287162f76068a099f98704a7b7b6e1bf4deca27954f18854f6a2d550f16949697971a1aa798ed91e1ed61111e61122ec1c9d9599badb128288be24a2fd465e24096814dae288aa49923dcccc4e07030668e67db92c3303166d64853d594883089b5b5da3a15104d271c1d5e5e9765599619ededb96dd0613fa7be5930d6b22debc25e7663460b012629f150d302c705d503e32484495e9c686005c4db0a5b9111192525437c10317ea797c476978d429ae869a2a708233e6ca94480d21628a522d1be98cc1a28303128a19b9b1a11c7e20e71a9b841543972c8814b392cf1216345880682f8d8e1e3835d1763ec837d50fa21f298101303862f44d10ab9bb8cb9e6172e7e58168ce2288391feae8ec95eee6566e6eed19e808d34d7b62dc6c0d078d1d9e16159c3a6696478f4a356bfbe4947c7a4d3a7c6691333812c0464ba46de344dcf1aee2d2303f27a67023c3e59b4ceeb0004c7988d94b009a3700aabf08a572d65c7853507c4f50bfb910dfd02d22f2ce21c89459aa5472dedf28224c76407c5c59ea06790308387a6b40c7cc1602d9a9140646387a457faa4535a253a18f2e2e107919e9d1c1213141566f17f1fbd78e1828984c210134305b265e59c5b25694ee7669bba4653a1ade04846b074e6c25ad80e580fdab42d3dab4393b585c1fa465d4215c07b56d0020669de2a64aac65dc7398f8781e70280c7e2d9cdd1095dd7752dafce5ebba1ddd5b9aed05e57ffe0afd0758542d715baaeeb0aedffffb55768bbb5d0755da1eb72d7755d0e8642d7d7b4d07585aeebbaaeddddddd075b5ffd0eef6b5bbbb57e85ae842d72561e8bab6f5b52e14da6fa1d0755dbbbb1b0a5dd7f5d45da2176b8a31e2bcf8288d2fe21029fd7a83136f6e663e31f3c99efc85685482238f8f7fa4ba31ba814791f99f9f9f9f99f9ff99fff9f9bfe2e76ede13f7f793f0c8bfed810d7b58e44249e19a431344925e5ccd97cd326240a8135fac6961c7868f52bad6dc9079d5c95f4d7e1eade973f0f017722bcb92d5acd2a2f553af597d46a59514140e5e14e7e08dc7d18cf87061592915c19827c3e0074930040411cd2f368a3d6d149e420bdf2af76b8c95b66bb7c62ab38eeaadc36dc78049e795f2e78c7dd6fdcadda9d37c8f87dc5a74dff67da7dca157f8f1ccefa9f5943257dad8d9bf7b389cf5fd63fefe1bb6f1d27b9e0fe1d71a266da369dbbc5906f34fa74a1fcefebeb2401ed6c7f2fa5e2d67671f953efeac7267ad2ad24e2967ad6a8c2a5e3b91ab802223aaab7045b028eaa864873f7c07ddc1dae1e1fe491dab83570b2a41c7e470838aaba16b93f750dc73a2da1a1c3df7dca39ceb24deb617c06f3e75b3ed7e6cea245e774cbf5e6ac13ea9a1fa9130dc8e3410847befdfbf7fdff3bd7f2fc57c1a6a48b1f1356ccc8dd047ce4fb1310a99f3717805ba9cebfe3e71b3bb5fbf179ef17a7b763fd7ddaf5b7a55422c9fba2f22b1bb7d5c02fda1850baf9a7737d0efb549a3f4ee74b336a8eafa40a4fa9ca3d4f56ef5fd75b7db643e944de20b44a2b2d146e5ace4a4d43598ee669e8781dcc3a3f2e2c262044b37b5480fcc4d8d4c114cd2f7a2e268cb731afd8aa09848caab8beec5274f206f727d025f27b1269509ce118954d475e1178679252e5dd563a96bec5253309c53fdce68aecd735d38084c63720e571e9451e7fec24b1ecd30f02deaa8a3d4a216b7acb39b693474a61a8e6d60b30d07816db8c5533722adb33bddf3830c75e6985906aecb4b330c6c6ea63199b7ba7794997b365b2350e56ed28368289b7feaaaba7156d6ab26b5666555af75457aa6edd1d99dd6e2e6b90e93f4b0c887e014c16455bd7a258251353a714fa1d1e2bcd253d32bd91112c176c6ba48a6c141a04c2a9e3801f16af1db9cdea7407bd55bf506617decbfb9797b759585587e9561776bd2aabc0a4849a746a55adc8a6379979926b8cc3001a6f95df5ffae7a35a6acb1325333f25adca84fe2a85178d429ffcebd7bf7eefb9d7be75cf3bf73cfefb89f5de5200e0447bc12c2e11decca8e5dbb1aa6711bdbc17d312f266db261ea24faa4634c1b2bbad614221a448d86a52940f557feff87c06d4cb907992384fa9c4cba4b0573acc88a5453ba3ee924427cfdc07dee9c2c46c69cb3185dca38639c736e8c347c6753e2539550822d6091a856e9371596d2287cb22624cf4aa87f365f8e2aae6eb2a3a69b35ce189188f2fffd235be951fe2f459b85c3934a90a05609080402bdb4cfa731f1b2385cf26062f7f783d3406df70504a240ed43bd7c16a751205a3ff2f31658197a252eab7a3852225465a8d230998e61181ad48c97592dd07cd91662b27d944ad505dbe5a4731ff62949687d4a203661831f0b32f656d5da7e2c8b72bb28ad6dd7ff198310528a4208ab10acbc86e68a54f84b054521e6baaeeb0a49500bd0755dd715f20ffff818f2fea1a3392ba8ba677d5a01319c647ad0823818ad5a7d2a0fcfa73958553f46b5141d0e6e03354261f79759d5aad82f68d75aeba4dadd13635bb18d624fd5c92f634c2a016a17f8d4d0ff6cd678d84eeb70cee2984ea753e51e3740b993fc03e343b9922ce61a25cf2749c724896e6374ce2870bc7a3e83d87acd2571e0f2ea3cd45c7e68d6911dc838a78c50a4a29ea2a02c90b1856c870f291963c62d5947474fc860c9fa98f4c38339c63a3a9c04363c333634935987737098e54946c1cd326250aa432973ac5545a945717827ab4b2dd2566ced5c2a12516bbf2632b7c6dd5a6bdd9ce2ddc65837538e31f6488c356bf5df2f269e2839d9a83c91c2dcbbb764b5e4bbe68fa4aa924b5a7e24933256c8544a593f545a57c8222d4846f846da25293f16e2338934bdd491a7d9cead9084fe9b2bf925fdb684c92858a59f704265a62667e60926334ee0384531e5cd3258654bf952ee013d58650d1f777474b4bc4b045b6bbff0c187ef91609491c1c947f5d2785b7203470e8ed42aa8fafbfbaf0975ff77ff9fafa9dd12a6dbebc22dbb2b1052ee5d592456f0c0030c4553a1409da4f3c966198b122945c26b0269dc92aa7a557defb1f996a4d21af7bdaa5a95d2c4ac00ad3082e5cdac7945c0b08ff7a445624b1689d27502c3f5865e122ee113271289b8be735f622d940ec3545bfdffffff77ee6498dfafd844f469410cc182dd219fb0940e0a79c83fcccc92412c4bbbbe6cb23fdaffed9dc12ebb2ffff79f5998855b64c4f8df101bca6e456666e614c8cc2425904f18329bcc8f8b382ed9a44fc9259f11333ab2464c227aa5255595ac6455b98ae462c8287123be2c6bb227bbb229a5364b212cbab98c33258944222661136601a563ad0d5778cff90e33f73876aefeaab8ed27b03f4bf5dddd96759dc79f457e47e73c30b855555d8b47208fb8c4fffdfdfd7dffbdb2f748761effb8ac1f2979e5c8238933bbf338cbef4f61947f13976cf27fd25490a103f2fca4c64fa0b46a9601e18f4ce93bec3d503e4825f3c80a04d50018f251f6ba15493e7b187cc7aa46ae03631b2097aae10106b0010d7ab0c4123ff0418b8b0d0fd8848a2a74e6cc4d261d16892038397587077e658c2d57bdbd619e011f0936e6a2050b282783cd9b376fbeddaa6f6d26ade941c7626d9fd1463771590c7003562363d2a3050c561d8e005b6dcde4b1c3c78a5d196119a0424ca0831042d832b520bd40550821ac8e9220f495393540d901cc124bfcc0074aa050ef53c3f676880e547081a971335e686cccca68a09f56d45acb5a965e5e92c8426ea822678031505807e01c13b4569188b16dcc5d063083d257db8e8ca6dbb89f2336860170d0f535dcc05a014446bbaac31276d6a5ab73948a44b59d73441ca01412c410ce39e75c75e1ea0be716e02825c824761766f706a47b85e8f5ea2660ecd9b1faffcfb63eff336bd4dc603028000d12900307048052c0ba80f2c0110c67494089410725e8bb7ff7b5594dd765ff55046f62fc275928a9698282a19a80c013a1096e624ffb3e358c7038c0877bdaba1f40c17c7c944a1cb58a4494f68ae52318e6a315e1ff233de88373fcdfeeacb5c698773fb38b46783dcc57bd30477b6f08e98e72db48886d9931c748011f2013e26863ac2a209ce70c3436c8afd2861bbeda30a50c078cb175fff0ee03c70822d7307992277728a3bff82299449a48dbb233e0732f2fca821451198524c9531628e6b8e6715b0fb6ce9631e6a3ca97a8631170917ad71b2f8b38de5837569bbb3fe93b7cec7b2f7e9e359b65c490140cdc8595ee4529db700a7a17fd38284a41080bf4aaa5e206af39943c28b516c229ab58820e4227a114987f40176bc8283c189d9311c20e482a3dc7aaeb70672cb41309ed29273beba4ee1f9d7370d6dff37f168d24ffda9f4a2be9aadbe618a58e03b96a59428080d87a59a06afae7adddef10a87eea5bd75b137da32a7a4c63f97cad3e5696d8f24203a66535277534d3a6c6db29bd563b4952ae7334669e6861ed6a8382398e8b53a02ec61bba26f774766779dc6b7c2479728ec4d422274792a6672e99f3fa1e89e4985777caa622344a29a59f6735ab9b524a69c8fbbc5659d0ae914a00e4dc76602710a2ced10e904c676dab16d6e931d6aabdafe8d6a01b6d5519438c0265495de4a467ee2de6c1aa8e7f2f31563da813d5316595a3aae1c30aba0aa79c93397a3dd992659c2d683d8ca77758679955ddab55db7e42d7860cb9d045af8d778942f439930f5b83ccb5f6ec51cbb22c8b4f8cf36444611c940f285443f13d8ac53896c5278bb1c03828960846595ff4e8acb6d37935ab5c575730ad9e4e19e18fe4ffbfface51ea9c247ab286661cc6024c0bcd2036168c875ec13bec47b7a41ad7d65a7e7bcbf6b987d5d86cce6ee7b3f57a5027d9d11a9bad79946677f5a04eadbbedba1cad57192b6b8fe373f8dc53248f8e11c48d6668adb1b09556e19445f9d4a53e7dd26aa8221a52545ae1c664afc1abc8d1307dc343e235e293284441d637485f8d70bec6269fdabefd0dd73636363636daa44fea15026d9f74cc0adff6ece3ad6d789f6c6c9802a031a884ed9ebb84022386001412880563691e4749ce29e37c84828c479dc8e6f3485416a439866220630c320438304000600608a3410201e67e35552f6aaa177dea9366af8c4d40ef63e9a5e637e975a9fd1b55af548f737ac5e255652df571901b7a4b46deb38b0f5613dd870018a59b374cf1f18fe5fc0c1f0cb3f7b829f581de5ce4b69eeaa5c8b292f521e0a5bf69a0f6b0786c2f923b451682177f644b9c717eabf0dcd1e6f23167d9b482722f6ea0226cc236db7f19bfd94d381e0ea7bc53c46c364bbc1ca411d31cf40b6c33d6e139768f42c887803de4088e437b03581d1390d327f79cfe6c13e36d1712794d950856fa44b953fcc108667a7c768a614627055b2168045657d084b4837296377646866769eff2de4be2265b49d9b78fc6b69ecb28f990336519ccda8f379bd80f529a13ddde4d3cc15aaef91a146a9c044bdf44133fcca5453ca161a01a05db7c791425e8997310cf7330bbe096b5dc86d7d84a9df453956dcec47ce7bfe77905bfd920041a4b2ba3a3a24f76d048620b8c3ddb8704ff5ada9910c7abf38cdaf3f3075342ac2bd0570483b7ace434de544e1c76011e6bac89760c4e38ba91d971b6a76aba7ade64eaeb41249c20427bf818a3c40f0e7b0e9120fca4c4e347ee3589fdc3d06b52fbb3daff9cbd12bba0de44f49214f6ffc20e8c809bb5e96ff62d4d94485d6b1506011ea9c137565d1e4a6cfe9a8bd6e259d22596d4192f7d6a71a9e912d21dc8d9eae89dcaee8904fef4c789ac24e0cb58474126d44ad17795e4b83e1f81d905909b783e5075345c5e94385c160b2e83ef55d7940304849be81be721ec2e4c396d437ee0ec660828f99408010aefb535ce0e8d577a8952a362609906da3178389c3f07646dffb65cb2bc6f1003cdd7b1e6bdce516204d57416b22381d509e9206089de43ee61fb234533b6ea906c9b464f1c28e2698e58f1e14add5860a1df9463d2f134d5fc89493246a29e20b46df08d94b3a053f33823be8110eb4da0aa20a1ee6aee88202595d2699efb34dfb18eb0e116642871178d09a56938ef74657939fdf21eed2853349b86549bd764c58dc75bafd4edec1e7b7d7009e4ad128ae3cc87f1449241759bca5dd72eebc7b7167234aaebf5cde5c2e381459f623dc33e563b246221c28ba1919a94f213c98e54ff51073bf0770a94a80782e5c555397141013b7b14d0a99d36370f2694a9c582b3a9260a97905130d251e9855e57bf8e89bad81dea74247e95a5732715923283f75f6f024db68d6f68eb1e7e8062cfb558cc80fc979a1d30683c5ad9fae385ebc79a556d2094cc48e1d762ce64eb6b193d297ae7415758fc0639d512f47c03831ac4e55727ed30f319f07447acdef2ec7a58843d9e71a8e64e932c1e4cc4ca2827983154560de624b3b9e06ba9b5858d94540a2163a9eb903cf4b213a51bba0169495b11d4af2d41ea4b2d371d146cd3cdf64a5581671764f29ff5a0c5707b0506550bd9d6266ec93453f4b43f1400efe855f28e2e59f85f2ce053260e03022c6acc76c7c453c1a163373254f0f01869148f805fd6243c3ac2080a97803c7dea9eb095e1f7a2414b8c5e03fa74bb79a5a754f57bdb53be3cd72e6a77862c4b5af9fdb5a9dffe4f64dc95730f5ca46188d6da7d1f003870ea9fef6080a4af7eafe54015af81ad6ee4d8873b334bb424e71f677f9efd11ec53fd16276c12256fbd340fce4fd64cce106a303f1c2755fb1f116c8de5c61b4bcdf1ec99c373184f10f59cdb301e4a400a90108e02983f47eb6802253c634c94fe32f4ab35cd4876522f3344ccf85fb35a856468afce0a4a364555243d1c750ab126e7074521363864629dc17066d1cad1c48f9509163a2444de10e9f955f415d76daaa3cf9c6013bcd8b2716578e1f53921ae50aefce04a8b6e1209a1228158035123b1bf37499d4e9fb0cd4acf5348791a938c8ddd38cc3008baac1b9fe3269a0097f6aed1ad285e1b9637c6dc065845d175254084971dfa451bc76da90b9abc9f6ebe3d77191e521aed235f5ec7c7c82b9510064fdb15d8d27a258b9f8b47bbb73e431a54851c1ee6b2edbd668a6f002689823f431fd71ad272f6e399d408bb59a1ccec84503bac084cb7e3414290894219079ce95a2de4226778dce5bcd98b29f1b3b819af352a123d4678117eb9b57b76b2d2573a8da780d5c3edf1a855c465cd0218513eeabb0359027beab1782ccdf4d42b8d2ea7eac42c215005e2c90dfadf0e5eec01db754ede34ff8d4608a36f40061b054601f5f03df45cfdb4b027dfddb472e88d113adcf137815dc78874691d28455d6f92506e3f8648fdc574a87cffce5f799e3f1c02d2668c715bb242a35758b9124b76c664a9d6d04b0c61090dcc208f2717aa403e80e80aa3b01331fda0e2c0cc8fb235ce9c9a222e918348d2b785bbe56cfde4370c9a139fa0b252bb38da550b9733a3f0491225c6ea258317056fc4f21839f9a8ee4bb8417bdb789345dc524b1dfaf5e5c33d1cadc67bda8aa9c39770f8cd9f2f4a8ea9a3a42baa45a68e8cc045ed063f70da17159d0175b0bb018e55b6cd662961c86287ceeabebd00b8bafa0a6b03a70762fb0cab319d9dc15518493435019aa7c8901a04e73c0f43aa94b1349d256489ec7ad34d18f8627ae18008a3b1f4b2e4fa61d9156f01c23a188234083ff12780deae416adc8e9b6dbaffd9bd0778416da516da3fc79ef78c26e81dc22ff3b4e8000c87c29aaa71dcd8f0ca83099fe175c00ddb8666327ec7fdac28c4cc8ab3cdcbcbc46f8ad9eaf88c660a922f4b0cf2193ee9f2d989540e1ae78c452581a038d17b12e5633ea39e542fd2f1ad9acfe0c2ff55c2307bfda8490b0833c36b33ef3d16ca522201e79480864112f6656504b35c824e0bcc4cc540038324e928fd872947ed00b01f46994a203d45965dd579ed61e5d920f919da34d05013402876cb9d12e416e3f892b2e326b00ed87e00481ded400054d771a0c14a34898bae9a030da306ee863044025a8ef091b8da1121049f5fcb145c8e2f9cf2cd874276180f6e65cb002a074204c048a58743440c367bbcfefd4fed28e1ff7f853f7c8213694400443bbea87485553202a0e1a45f4be175d89cca6269a0d2faedd917f60d806c1074c8c09bb025ab937400dcc034460f566bfd37d81a6c0666db6aa50ba59e4fa17b8a43a6808a2b4f91915b9d5636a2aab7d9a3e469ceedb6122620fceb3b57b16da568209af04470485e986a6b180748ec1459c921565bd6126a8b84de0fe98768bd4bd98a43a8e0c79428b864176c053b3a711bc7caf2d001ff0ede8b1e0e8b4dfd78df6561058f4125da0bb4eaeb683c5a40a92fd34667be402c63ed56a50c05518149644d6c9472ab7f2169505b2116f2b083a971aa07eacb567cf4c91e362d66982a982d1e5bd9f056bf6290ac059833d751b5fa7f8b7f65237885f5555a7dcaba1548a3f1cdbcd1ad5c4207256a714f6c3f8103ef930268cab79625438acabe913822e3548801005d495601015c70da1ef96b05c44616f755a78afcd28a5fa44eb37439058bb6cb1fb276a132f7e3cae4a58f6ba5d83c641e53c6f4d61100cb0b40e910a9184550264149ea62a387c1c6c6b74c03ddda01c03cc0878ca580875b2bde00292536dffa1a3298f993474d4c3ce95149d809a3a52ca4704061125aec519aba7ed10e7f6c88dd63d84dfd7a431dfe7a12a1466337fccd8f0f44f620696688a05cd338aac719cda8471c73f2c5ccfec71b4346946663897e315e1baac53c57c311c7326806526663f7fedd058bd23cf67b7b560fd07d6cfc0b194b206bc8af8800d33d648bae7827ab8504c5b777899848e0adaf0c689403b09e5b4f555636e828f289c0f553ef91048e58858c90f6827103e865bad533302d733f64566c05708558fb3bbe2f712d8dbc4d0e6f5e4c5d13ae42e50b0bd6612a24358f1607d46be2f60c10c82fc94e6f821630db1804455041023d058f574b903f4d47f81ff678206082b94794b83fefd8aa9080968f41f4456c0168e9cdd1bf085a5da4793e87c3de5f522dd255f704bd76e2620e53c1d0b867b6b0e8dbf2bcc173b377478848f6c7a88169cca9ca8934af3cd00a02e5df3fa466d81aa630e2c3ad108e3b7e68e259c09b4a7b1c12422366209a045918699ba608446fac544ea48f7e87f03bf95bc94b32e4e523b6ea9aaf45479f71b564518f60ddf12901da4364f2a217f1a64f05e0453919fecd8d42f73e0b46d99e0fd911a785e41abffdc8f944e8989d08f7698215da0eafc003ef2deec00ed2b740dd184d089cc9332b8d8d264f8696ef15d84a4295b40f2aa837ba3762a234c3b5f7673098f2f709b33a18302fc80957114ec9fe4ff8ee292db10abb776a609d177ec1e2b86c21b142c3f49f0dc76b1765529f56385342c67d81fe9aa01a8b4cf50d6ff3ba6d7a559b6bc3df5a625c9bb16f11c5f82ca93849131b5c16c35f58617e46bfdbfba8e41c0e85d305cc1f4dcac082908ad9ee723a920af29fbfc039ee830658394d2f5b636b9f57bf3a8a3e6bdf65de3740d4d6da67f74b603939bb1ab34c5b618ff9ad7d70b0a4a94c3373b5f64d1f0571edab0fe51344219d25aaf2f3f892a1c08c9f89768a6bf8c6052d434c13b772489743a9c1e6fb450f5c8c23fe1e69643ef0826d5281b1cc87fcdaf2e252342dfc38a68c8994fddd3aadbe813153021b868b1e7dd5068551a210c0468344f20c15345da921a5230523257af6232c329a99fe45dcb54851016580c78503fbcf4ee07ede943cedb9807d40deaf5b021113a852bbe1cd9d991e459236a519bf30a8c02e3bf1823dba0276a692ca29fb5a4162c032fc31cedfa1fd692702f3ec17a34da9b5dd99431a0d5601a5d1ea84b39f70c21c4b012de7fdf8eae715bc77d4e47a2b72c9e83e890c066342846a14d0d9e9f579aecd8eb9733d7541dafd762ba65f9d1129f6506f508466a5c94301236727f7861f16579e24acc162401eec943cfb72176a274b93936745a27ccd35b8086ec234a6769f036ba044cd31262f52eebac7df9a7c792bd0ba54fbbd3022b3b4690e0c6e106d5d32e38b6ff0e673ec436b565696b841139c36829db9cec3364803c4f5bd18654a47cb07e5a874c9a2c1d329943fe5620b265f3c8bd1dce6c7bad90ddfefd4c9f01575523dc61ae3e5d490df3787f200095b250f0caf59cff2a025d7ec6b835e42ae713aa3fdf3c35c8751671a204ef2b216112e1515ee1087673b0518998b8bba43c2d5858f04e50c7639edc341c2de680285f6d2c899ac7bb4f8e82bac44e0f85d1d461d4f3d21b6b0ef23dfea4fb9099077c3eee3bdcd3c877e44ac5b97b62bc66834af70750d32872970d375a2f971d05671dea3ee916d964739ad0d77396f23e85eb38275cf21107f8c27f0da58f7dc837e1c3e8622ed212659f78c477ebdd8fa09da299809b19e75af87cafe07942169dd6329c2c52b346f883918bafb1a72bbc35e8874ae0a374148715e2d50463b187fe90234184196884208b603872a203047bad943fe7d866b8a5bf7ca140437359685cf203b84d54a72f40aea00be6f33cc416167c46a9eff414a8708a44348dc3d47a6c899835ee6eedd17b00f8e3b77efc255906340a49b45ae72928806cb098ca39044e001423e624dc2151932aa14fc05f6f54ec243c3813538d47a0d2a0db5b676d22d7b4f777dcead512b82781e511ab1b27ee49f25b80f55bdd03be70e36dd15e75103f0dc64bc846a74657723977270c5c15ca3d8b800dc5eafd38d4d0924533d7a951fe3bd59a3c2c5ddc11e716063d3fd1a25b142323552df61d4639693deeccd840d1e0e9ef0a28486460a9d1eba7adadc2846342c27aca586dba81ee8ff6f930427a327e4e05e6de7d614498935f2d04a1b693971de75b468e01eb70b7ab558d8b03046012dcb600630d10b9e9682037d33eee77f05dc7ed6d67df30ba3ba5c2b95d820ba2bab253790d3aecd83554baa6cef1b2e79228b90cab20b9424f7c557067f135e1a2e64fe9a6519356e3b6a14059dd569fd3398276be2375a355346684536f6222d4106906287431872ea5d2b319025167938d2089c53b05456053515b844e3fd7b5b066c04a6f84006f9275ce34ad26cac2489e6e647a2a113134f489db019eb11cd76f8307a4c3d54d5bad87170322ed98886131b7361e6e682a23f16a494d5c5ba5b4e167594051931dbe3e11e574df3f47afbdbf56c191b4ca355ff3aec1bb38168ac75cb865c53945f8373b5f4a16175ed3231808faef8e83addf63203c27480ac5f7e2c5d7be91b7b68ecefc67a3935c0dbe530c95b47210beb2191effa18a3d928de59efe345cdb30bfb067285038b9622477630afa4fc91e27aa4ed3c44cf0fd773db0981f0da07f7c759e623346783ea706c6a822c98ac14b87a2125033e775ec0335de2ce844714bc40105e7d0e70448a84b6e12831512e28b88e833181ba835582541758a41fe768b683b339ef8cf8cad187d1b5a29425602585c2e87f584e4771fa605a71add693405d15ac212cd7f618becff04392e4c179c1d7381943f2aedd718efc063eeeea9f119f6ec3ea2682c09ffd5c8d8e0abb225121753caa112c6b091ec83e230fa5a894650029f0a6f817dcf81d5e894323a38b01ef88962495cd112e6147f61dffc005eae3cc7a4e371c93db0539a2eac9a4c381f6c4ac2df9f2da5fac67c674949c8901ac52f6fa14580e7f38e24aedb032e2cd78df2c77b298628c87143f247594ca930c00bb51cfa96f8179a840b2f4a84fa24ad82ee4cacfe74353f25f2e426c331fc5e60c4e3321ea904214916f192fa8cc338dbfc7ff1c2b1628bc39feabe96f7c61f095c1d1e6a5f942c6fafb15d96d387ff155abd863340653000eb3e47f6c1b04b2b9519112c63484cec28034cc33d6cd4ed7e99b6178cc3b0ce44ad40c7279f203b38c18555d03c20bf4950472d5f971410c37cd5b919ae5d089dc9a9e3ce724593882775e7e8f45fb275fc8410bd3b4d9f9471c0f08393e3ed1c846be4c55030eab049c765c885aca60099717cfc05ce6b655ad1f637e983908b216ee3748b43ccc780c68cda58e14f43a7e0f30504a214a347b766862c25ae26ca85c23199ba316439aaeb0fb53eaaef0001fc68fe0510c077aa4b902c14c3848ec1e5780cb7f565a307b4c5b1436968afb8f4814661e45291b439d5d26df0e2f3d5a1265623df6670de87aea30278799f9611f7cfd4344b29f5b74a66ba6f6c4ed09725f87c7e208aa4815a3d615947806466907ed219d418ad699bd54cec80002bf3529e1f48a1d684e3ad972c749d1d30d6ad11306a6f3b8213f472e5a3a1b3e34c0844c984d4ed02023ca6e43f708368c120f4bf5047d22003ac12c164aa2761462dabf1ec36481750b33ebcebdc996961f710763690ce35f404f010b1b30a8b88f8d6e305b17333597df9f562a7ffee6c3c554fae946b462b639d299afea9f7b57eb70df60b44984e3afe7dfd8b56a9959e1645c6ebfc54162994f00f849c233098b2a1b973e7da6c6c381a6be053ae33ffd11a2280a8b30632ac16d8356dfc3ce96ada38828e14a2421e2ecdd4b504e7ab8041433c7c56b31512440edf84c65f2c4037948475bb618eeae0eac363e5b8bb12d0bdb5c94d8664d11b3983284d2b92cc69bb45616237ae5852819a79d61d9bbf0bd41556396da1d70e73b4fd9aa570d92d92eba5776ae4f9c7747a0c510601444e5ff86d9aea7126d0dcb0cae4c89e099bb2b67d2786441a4a516636f5aef443af93ffc7096ccca6d6d6e906a31342d0294883fddd83fae853b287c18fce5d61dbff29b53dec9bb5a8cbd09a4a41c7077c1c56722dc780f222e719461f52b62b2c31d5dee304062bf9c08bef78b9afcd141ced3642854eea74c254795b43fedd0a002eed147eb148e29f158b71bb6174319a5009eff5868a06314ad471f23f98bfd903d1d279741e3631bf63721bb78483bbc5076cb9b5d766046287e8b2b4c7f21246576d6ac342aee65a2d8b3ccb893415103aece8af842c388b48f458411df0c1229febf8ea5648722b9b6b01b7fd1651b9e329a08b4fe1415d23c3dcd968ba1315746953b0523e10cc2aaa6ec54f197018c5c91f1130ad9e59f245331d140d53bf67032f506610e11b3d75d762ee443b96c3e255d4c16ec91b64047889e1664da66142209eb7e17cca521875764cdfb4dee5c0cb43de56c442d068e53b15cf2ea7a3a0e1d8a8ff576fbf92e53e420e9fdfcbd040643ad4ff8429db74143cf9576e1752c55faf7e336c47f31467815c1f35040a62d1e5a2d6a396d2ded0a0e208d91d2fd17f468a0728eaf2977e130297269a7ca47f36a9776d5c3ea3e5fda18f995e075c2e6ddab32f49cebac10771f343cec8c6eca1368c0b493f42cd460daf5911de130ed5c286af2066a671904b51368ba5c8741ed26643d2e21ad02a176e727d44e66a2d89777587505b39fb40b570f4a1c6381257f6de104ad5b3d080eaa15fe090ed86c1d291a3101130e6390136408306dcf4680d8a779a2deea21761b611bb8a6c2ea873a431bcbbee0ef51e4363463070a4282edc9e0c55c947fdbef13926ef540bc60753e7e0457b77a107a4f31c3ab5e5c0bccd0c4aaaab4b2ae1886a106c23053e3a9e6e819f2ff05e9efe99ca50701c54b28f1129b196ef56089447a10e9129b28a79161e5d1aa0c5443614e9d91550fc7749abda4e6a9da9ab2863196d43d79c618225689e234d614ae40902a96fbce14245116127a25fcbd741f2a5ea822dc290dad111d537183249753f91ddb432d601f4f45baf29391532a4669b71e1423362f3ec4b23c50d625d430e0f4c3243a514c53862422aab9b0c1a21b09b385b7bfdb94660b1ead7fec11c4b6408b3125801b14b330a9c3f17e1a00c88da5f3dde2d2a62d80c2fd8c0dbc339194e0ebb05478c45ad917a1cdd744f74ef277407cf9273fec919af82dfc95859f79b9fd0e6d0ed949b6cdbb3e0e86843ca6ef6518206b91a3ab2a38adf8e08e04761f4feba01b2cbcf8b45e144f07bf00af829f4978839f967dc5a87e7e8ab5d69909f518201550a12b4aaca41de9ee984d76470a354e5d40227005b8d7819312c1cb98554b2f601d68160000e2a176813d64f433ac370ecab63f26f4e58035845c040d71528cdcf50bbf432e9f7b9892f57c07d40c40c124c4bda240dc876a091fb3efd4247518433d1c641c74845dd7ef10dcb93b947c12098d180eb987364f0a199555464430780d89b26cab078485a082e4c01c9cd71ad03a1e148b391dc28a4b074a621d083f198f360ab78a2a5d54c8b4a92e42b48e08c12c71e919cdce45df41bc323a905c74005ba335f66c404a797a8fb24dc28b914231423878bec30e60e36318aabf29228f88e27602cfa9eeadf20e1ec3e9c94e4cbffb33ba02d457495eb3d06cdb130cb0dee87e69eb29298426850945943fa4d5d8d52c6f9eea06424f75558dd201be7a3fddbc6b8b3f42ef8025221e8d566ee172aeab3a1aa6a7aaf0f4437237565def6cd541346a72be2e243831696dd5b1ba6dd5990fb7ea4406a25cea7f88d6507bb07d0e71b5d6259f09a1c1b10d50774cbf781a841d474f28b4b86762b6e1e34d5f5a75510287dd5a8768a572a996968bece3c933316cadcb375ef6b22bd3acd7270f302d8e8423badecc49328a815577d338c80f9c75018c8c50736f43f2a3a408ef27e06325d4c60c528860d00b0442ead15ba1548d469932163264ac4279634f90549066f9014fc3485022e4cf2c13214bcb4c9d8e08c9d9229364b183cbf2f3ec67bef2572ed354f925093999551e7482f398d61997d8b245d94b7096fa5341ee9292043dd0b7c6504cae01ce31a13d5c750b9ad704ea5bf1ed3ace157a64fe99611b55c61502e3e8aa876d8eb8cc82f7d723b30562f39a66d04fe44d95cd5c2bd8b9240142fc166070b9cc8471b41cd2c06970603e4f0432feb6f78e86288a559fbdaffd6e50d41ea4a5a35fd3876e6f73b7d09de49a42001c021157a7e47a641937a4c30a5e895168a54e99bbc14e36f865172e0147c7dccc0887de306981846066c856e731b954db98c0227af82b59cb653df8a82eefcb8d5e39c06dff8a4899d9b7b02e1e5c76f44df19058f115bc5808046bdb0c7ce4205ac2694f5863c9dcdb51ec8ef47d4586b5a64057dc78f625a3989384bdc18b2fb490bfd4b218cbee84c336255987c3625012f2a66090531877915f3aec1f5a02b5ec381881e6237a204a5827ce41872ce2537c43cb8129195bbae4e760e2a4dcd3ca91de6cf56ee40a1813f292f42e4e40d0a1b74aea8657034df4ba92ff6732b30906bf55d656f4391206f574cbd6ced80ba30e8e4dfdf271649f78988c517dcdd0aadb81a7a9f70eab776ccfcde2ffc81c397d3ed4689395ca11d5a5473900fdd1dc6f8ed59824c9d58c1088d2ba17e0fa647b16fc25955de3e0b00a6322cfc68a822adf20f4eb50c462f194d4bcfbf2cbfcf57759baf33e8873f980f76a680ef481d631cbe146fd930d3d73d3aeff22153bd53c7cd04928202f972fad715385ea325417835ae5ecf508ef0528d26517e89a12b9e9f18371d77f3a619ee69061e256c65007ed8d0b8809110aa8e685959804b0e21afad9559e0505249d44303f980b7b8a7c3a25c084730fc10f5648fc9550662a1b025f0946b1c284a35e94373277317fa7de975491995425fcd3d6fc399ffc6f60bfadfebaaae6cce900f8087965a2fc1039069b57f244295cf8a089b496f3245b7f0c826ed32f5a73d893eb290f9bd6d313ae22b43cc51e0cdc7fedea203bffed89369c30c8b620b94e01ef288dc3a0fd10f21faf72babf2f0e03f4bb5197d9729c3bcdd45aa26e2e8263c208d5f560711e8def45143dc7c3051a0ede204c7818f33fc72a81844c8b874b14530eb65b39131cc1093fa702a2b8c9699b68425941a10f25daf85df4064940e90c682d67260a4002fd3b2d1b425e627ffece86064fa9afd2d3f1454069c528306daec389383c16265f96616939f58e4368a49f61e2667980d78fc6f3c7ec8144145fa905645303f33116639014719df1805b71e5319904b9b563f63e1ab0018de638704d53815fc9887dc261c0e3a8d16a3ecafc8ac78fba3d29a90b4841659167a7662bc988ecfdfee7035285a1522c13ec51328a28326e9abd80236d6b3806c5450b18fa191865ed2f5289dbff245716079fce1e0c37b54207c6c32a420321959e4270e008ade9b1100c1816ae8cdfed55fcacc2ed3ef14cb0b6edf755781b181d4f0f0af50309ba6fc514b8fe2b8507a831baa817314f87db43f345374ed8676da112741576a16f7c4df4c563b7c99d1b3e8b7adc36ce592b8ce887d33cb23d13a2ad75b97b414ce20b0b2f1dceb54b274814dc501eb8d7f37d73df5e5e37a9e93e2e1a77c23a6e23af13dca8890964657b04ab61192db51c9bfc0ebe96393f3c647b33bf6292918aef6e905f63bacf2ef00b75bd879ed94bfbf2d237fff3bb4d968a484bfdede1e5f84105f195d18572d335c4c8c65fcdff618299bf9016073901789ade40a4dbf961bce737e33ed867da0a604c77a9d6270c38207ad6589a61cb5a739041f9b075a2038ac00a62b84020b5a4274dd00d5b7d6cb033dfb690a95f65ee40a225b2813f21f573608fc205ea7c8b1922c588f4075a55bbda3c2fce921d3d0e7575e1f9b028cac4d6e021b6ce53cd9d6f554d5bc9450d48bf50742ef8d40654578bc85476fa6de484aa00f39aa131fbbb88397166cc7b803e1b0422a0b81cc0d301dacf7505e014c01cca3baaee9783072f3c1f7ea745dd27a116a687cf903e21548604054d7310aaf82ccd1ae13da64685da9b68847a4e4e9c146f495ccc922cb504855b2a583689b985de214b493289584a0123ac2adb42f03dca9c212bde7d8ec734324af599c32194c61393fbfbc331d68fc1a860389bd51635c5a93126e4663aec50bcae7510b443a44d7488a51af4617f5225509450f0de55a11411144a1599504a2d7127836f77afb3dde13f4dff89ec9ed64e35d793f04141a79aed457743118889f947e96a09a99a6cc683645beac355b5f2eb270991f502fdd4c4f3f6288331e59a303618cfdcd1518e486d8b6988e7f3bc45df93d35f3adb2b294e6abf0566b2a7b1fcac0874e3885ee72fe8115e4b75b879d668cfc2cafa22a07a5eeaf2867554171f6551f25273e37664a100a9e389a8f89bee87b8b3f3b29a319bfc138f46a4805ffde07555b203bddb978932a5a5fc444f5e49848350859ad3f9f15125ac96707975f2cb130d9a68893213940b1cae5af199ff85f442530130e5022540ba2a35f2f1588787dbb8ca8362c47b74458088de59f0a9892df68cc76561bf2f2561e96d9a07b6286cf1c139aa33947f2d3974554e4088429d79a1b10ce835520d8dff268bb1384b110de0a0c5a51bbe03d7325a2b0bf42b0315339d20cb44c76238acaafe192fd37a60839ac1415124e1ecd84d055ab68f7e9c5054ab8ed0da50eed5a54456a47cfa5e8ec206fa4cbde8ab4faae69a1748f459664117732524ab5dc509bdd7eaee58666bc6fd34422d24a62f85f7f3667741ad29f2fc31a72d179f4a6fd66c094ee26d41eb15675ac37388775b0f69086ce2445ebef62e18fe1a422481461756c8f3d1b7b0f25a32231593b0a3e934b900c3862d2bf44541a4e26bd817783ab6d3e502bce4a440b7302fb0bb66023f4b94f26f211ac3b54b653786bd6ee2fd41a15e4b7e496a300d60380d328f83b62c4670bd158e15652ae9bac70a35b44cb9b85b423fe0e8647ab8c28792fca2e71dac0fb3615779dda1d6365bde44d7b587edb6b11c6c120b9f3720d51f6f542dd17706e09bddbbc1b4efba14fd27d1d2eb9840e22195638a183cf8d40dea56b8e058ce4fa8835e834084fe193211b4e7f4444d447dd2b986b8065fdb5b00cf23d7bc67ef9d5ca775de9d46423f516d90301e987794c8c9ce45bcb179f715d335e6cb79fcdd00d4f107bebd2897e68157eced1e45ca25469f56d693151d57bc036cb00bbb7079470d14dd6783f4c74cb052600cf72e592527d84f97ea5bb02cc5212a4ca27fc87a23c09f5b2fe17a61c2fc0c6099186d728ea0a923e47db688ec12e3c82d0b36129a0d7117e167b89192d51f2374a05858892989b4ade0b411ad8a5a9a31736490e1b43a9a0815ab350df06d647f6f05762deb74d1c6fc80636ac903f49dd2d0d9627e01bbda93af0bdbab8536544cba92f673f1ab558dcb5c2c463c640a967e3445f6d8ae61d93053d933c5fae360814310dde074f4e8b05e8041c0ee675ad2a363acd82c5d2d4bc5c653c3ba8e3534364385c9823fa41781a256c25ca52175ac61af249b6f14c2d51ee894a63e4d00bf1ac08d606c56b9d471c9b05564410c7c420f551c90d70715692ad36c58e1013395ea0f7c88df5b1d2ab763f468ddb99135bcf2264c163d94c9d4c91fabf7155f86a670def2f685e193a15178b45d3e7c10a620aa128355b9cba39abb57a032d76123bef4db518f88fb9ec4a85c595d91f43ce6ad3a9a7423422beabfd2c8c231138bed4e2285dd3fd13b6469ff7c0595ba2553a4bd4b2493fc365789eee19ad303d9c9540ceef44137dd09a4128b54741f1ba363f4a5f43015912b65ef4605c1df2622b98dbd1ce1766d770b856eff959ddabfc09d5ac3bdb4cb68e58c04ecd00b0610072c00ed0bbdaa06a650495cb510bc9a92d2524ee09e6bd02d838e520be15671bf62138b1015a85901141c3b6d1501545bf15e57c56ad5c5e3c805b1b18a877a8c5855273b48327f03cdd605d2b007fe342af4a9fb54a90e1317954b236d25b62209115fe7ccdd760f4edb0fbc12db2c51671dcf1949ddbace125b8f029b9fce2dd3c89bd8949ab86d28b6987a28b6ca882836f4c7146a1b19b7a82ebea2d814415d141b4b3dd70b4d15d0a934c860349e5ec2f69e96a39df559060002fdbd1a7edd3e6f3aeec06e97930027a7a3725dcac2512bba7f2548446f8da7985e2fbfec811d87faa655b045d54050a96283866d4c77b2ec412222ee07e3add8507f98739f5d2e3224aadeb882bfdb52bcc2a09f62d6e4d555fa5814cae50097da7f8cfd1c176cf39be4cfc7849667784de9576a6b7310d6d581ee8613ed1ca2b50351a9bdc0197df275501b5f88861fc93ec51f644ee1fe416f032d753ff3526f2904d0d4dd37f10b50a157b344a92d9b64d1f8d9699d16498b79a2b90ae1292fe27b18608c2d8be00c5ddc00a479851e45c5e7b31ed801037b2de11d9be6e4f48bda629407021940245e9982ec0772881da5a6edc0fa7fe48d1e218c0cfcf114a7688d6d0ce7dcd590a680245b23424c287af444787949c2581901ee0df61a9b5e0b555e678c57ccb1834dca834d2a6b3c5a4e9e15c901b0b115b3c140c235d04cf169cb0ed373f0a30e7bdd73142b41381d2b4410806ce86020680173f72aa84cc3fae6d3bcfdda59ec4c0abab15ab01afc9be8ba5521a468f520dda40c61570ee16c8547381b6596554134920e6772a2cd7ec13789ca24acb4544ef10fad09755b5d060a1f41dec915894500c53ba8e1daa7b53348d205041320350aca0d165f6b6ac54f2d1ded9f6db05b7b91289d08e14298cb41bd61e472a0ec469210ccac1304ba0b434e5984f70317fa396950dc5e68bfc87ce99578ee7101dd326b1ee42bcc4127ce78854ea90b44b14882b167f9d6ee836fad9a4e8f27734f95e21159525e52a6ea1bf429acf5b8aec71925c89080bb5aa6b4582cccae36017178b088ea0813f03da7eca58fcb8208ac44b5d09b05d4747b019f21e20c6111c8f37e20364eed205c417fe71222f1ecea20b0d91f85545511b95791a00e6dc63861ae604268cb2c49cc066f411cc8201c4b511f48bb4a2d2be08306249c20e7159456c4392dbb7e5255ad0aa23ff81d5c2d2639a4e01e9224dd570697c50854d3ac6592539e1840efca87080d6e32e863231ddb0618bd5dc5503f58e7369df90ce3e44bc69305af02ac034b1a5a1acbd0f32e84cb5682428e894c0dd6debb62dc289293303747d035a0380c03ae4334d22a5e54b717227facaddc35953725fa103741f3cdcdf4a526ab95d863042ba22e8199be6e026b85c07754403d4b13536e0064aa481bc5c892b4807da7863df60a24c802ba0589752306f69e0614205628d0047bb06920bbba4f78639eae8a8289e02838980465750a72df12942086a03e6f03c0d5b1b8629d71a98de989fedb3c5db50614e889848962997a9e909728db4c2dda442d98e1c97c94864da11da633cda0a790ad278313a99ba14fbdac58246c1edc01089ad1705405d27c4dea89df66b40ab501360dbbc2ba5a38576fd04a940bf8348572705d89be2f8f0e00c125990e1b6e61ba4522c46815da1d222ba615f3496cfa40d37fdf7ecc95efaae65f9a4bcabb2bbfa7bc4510730965a3be8d3640af3d4346ba35403282fb4123a5093c35fc9685b0fc44298c8bda6907a20da16b3039e80441381237d4cc45edfa32fe6eb881f8997bdd8096e70da8d260f39ae62b12a73ec1aadd7ba320ddb7a0a916f766b54090927aca65d1a018a713792063e5d140f7cd9619282254ed486c74759314d6878032525d23d873ef6a05576222286e0c10c090664386927c99a71646e781c6b9e2bc85c363f1f8d7f421ab7ced2292ef06a44072597ec0f9bc7bac2245ad056867e467e3c4e20be327042dded65f96575a545da0b0c43bf1cad13cfb37c664df286a6c4ac0f2a19aec013cdf1e993c781214e9b3b86ef3d5fb65eca110f000895ac2d7ad2ac45e255a76c5c2548c7ac014c2950c72ae4e4b8b63b884548750d48886b8ac7cc19ada40998bccee7fc671d8659744a5799f7b16db16070642ec047aaaaf3c40a765e4218a7303f8a1f8a6cb3fc8a63ca80c426072e21335d152d95280ba597a5620b277b04a489829bd24b1a169597f88491715e70aca296d498ff3f1f1a4b9f7a3e68514ba2adec42269e8472d5c49b947b201e7986748c4ca1fd8be160db5cbade34a7e56eea89d559d2f88cd9ed3fb6a58899012f7acb63494e793c2be94a180e0aa5f7b5ca13155f9051b596b8484668ce04597f052c11a9333161fb0ee32a1fe6915dd30717e296024d93aa70d34620e233aa1f48a80ff65573215b0df5952fccb00677e376e2abce0aa34a541e21efda3bbf322285819a9b6a6f526620e68c8bdb83811b79bbd219e3ad9190a88dd3a42535ceaad0cf141eab7c75daae79e6f10b4fc87269c1a971efcc0d4b7b9eb22e263a147616efa919d80c913121fbf437105c58a095ea40f5dae4fd335550f6c80e68c38eda087786e51cfa046757592fcdea6d71c116b5c20d94e47fda9f14a553541be1b3640053452f4541c935130d62ecc7689f93b9f2844a4e80d88f36b8285823647e0323cdc6a2392b7924ceda15915c414189cad0346476e89c44bec7e096343824acb5928deace517b445f296d0fd715106be7872f380e0e4258afbdaf7608258b9c2c602e8fb61d38ac00d294e52e1b0ff2d2ea46108e51e04cda709edcf744876f9ab5c940f8277f9d3ff963b55d52655fe314b13c533fff5ad8454b8611aae2b8c031542ba95d1ddc90dc8e2415238607a7a023fd146b57327ff2666b2371adec5794936a2de122f101e200b05183623f277bfce82fd1847875decd946f680d4361aeda7df9b6d4719467de589e94a30db2a4200733c038053fb0166350f0618da7fb3f6ef472f48b5ba98ff6410e68323255fa28b182812f3830a22c606be27c2c8ec87eaa17d53e77ee59dbf3b21d92dbc5627e8c40b7c176882663a2aa526d081d09e23db8cdab256344c45f92da2666e7a7ae67c77072a59fdc2e4e652f4ed54f29f5bd99238766f1e01291904bdde48f4099a77dfa8976e499a1e2c998e186f8ccdbbd422ae53eacc21c64f53b11ba3d9562ce24a1c769a1b3f90e17e3cb53bc0c7455a8917fb969bba42eb99963bea7b20232e9ae5a323b9d3a766441f079a19b4f21eee234b38446c5e9cb9804ec8989dde4033b2e69809e35b97b08f183c22d94033421a9bf1275bc4862507e28896a61bc40cd386859ee8dc6ec8f3cf5a6156c8a1826eff8585c23ad65d34b9e6122b2c46db7d61e36e18895ecd1a6f3c716b1fa7eb82ee43267ada728d93b9c6a1c870379b15c4b65b82b9c468e8a86c4057646184fbe67da798d9a8969a31e7f37703baea3c1808b3d9d53089a834b2864aaa6139677cc40d06f964c65cc0cb9262af8b66215f8560a933fb309caa06e771fc5f04ae20033139b3000affd6088d2e9177cb987b6af329c8391ef7377266a26b693cc34652917800340a0fa24c22f12e6ed264c8d5fdd0ba996df79878bb47afd84e6ef89bfede302e63b86c7475055db8f8636471a3aaa06c3c0a71ada32e2222bdaae43a4e16ad592dc1def87e54dc99da60128a59f26143837f498201cb4850f9ba8f4736310624c02ab25e73c241224dff9f1d89b9866dc08606db535fd744f8b0ca6a434cc0f9a271c9a62f3e34fef4e34c3241ab83eef2451ad8f462467f8061b6e9384719c3cc96c858fee4c904c1d6e0e1a6947072eefe2ec21c90abdf0b51432beb5f51d81ff08c056166be5bde3abaf8a9a5a4009746b3f5368e9934a0f465663b2839e9fd0d0f451664b07c47661d88a4c5b30d5701c49cdbbacc2eff557f17b99b710dad59ecefcab71e46098cdfd9a990cbac1a6aa3c06c04ae27a699e26889e3dadf655625dfa92b948d77e4bd6d2776999d2516625dd88498c3d21ceb943d4d1e7fa9b335988280ca01ea0d93c797dd1a81f1f8b28393d6ae412e5f598c54162a6d3511176d589f64bfa253607a682a3319ef2a29b1a92cc219ab7a09c313a8145b1e493c6a9dff254da8228df2b560e10a2ffb788ef7d38f2af9b614f44eafdf4dbe014082812f53ff07c20e6cf68dace47c9a5f334eb12da33256ec1af2bca9274259162c54a33d7ccacec7471c0ffaab759c3687a76fc204611047ddde8e6ed240e28bc649aa500cb9bcf669d58f958b903f1c636343a1f46793aba6401af05b3668daf22b44660970d4c184530eff6d70b5f38e69f1ccb78acea39b271f63a8e2ca27e1ebbe3317401a454250228ef732169d1741d7520a4dcb8d0eba989a573c96301563dbf4c2db4e7bfac7804a4a551a8bd39f697309026d739547d9d224955de42666b60970c3f17daaf76b0d8edfba40ed65f82f4466c5fe9a61068e721ba5807f5b3371936b9eb96bc82d03c2e79412622c6ea965f0972a2a1e75ed08bedc37669ce8a040db0547f62a9abf847e1f3396eefc30849d023763c641e5ba9667d2950a17f21894e3ae30e1e8eba5ac229a31a3693a91d7c0bd71260442dc49ab011ba8243c2a1b9de75dbfc44a9525227755b7525e91b6925696289c61378a0858f6b8a7d2334bc4935cad76735712a47a281300ae6531789286342282a427da141c64b3921f1ce165ae1d8b9e10e042ec434bbb765881ae0621afaa0b8a054643c3f9ffb7163fd9d2dc9ba8913aa03fd7f99136d8685bcdc258c6a8b8fecff1010847a302927bb6003674885ef66daeadf87f928901134dd47c3a1a8e29e51702d847692ec550c7d30cfd7d6424dd0b5d2630f32d5a9b9c111854b80aa840d1a52960a02b4c32230c4fb12d057cfc1db8ab162c5f5b4303c3095e0ef41d401b6dbe4010e9cbb7dcfaf769c144476d6a6879cda97ee226e018dc9dfae85ab0ab78a1e06b0073644855ecc7b494021cce10bab26e721af7aa6609b372093db3440b90723af9469da7fd29328e94b5e9cacc395eef531382311dd13afbffc7d358838e3d4a74d02634bea09565444f85f85e83348de2403631e4cfe3866ff67e9ffa01fc78b94474190e84f95efeb142d1c8c85f9a717fdab70589873883fb82bbee009b374542cf2978e52ef487a78de52da4639038233a7f70a5cc0b13449d03cc5cb133b808441d81ad43a3d09e53c92a8027856c9430876f3fbe61acb55539a6c72919fd13f0ce839d702c7373b1dfa8d779560827cfb59d350c4e89b93ca2e580b369430a2c3ab0054576fdf65060e2a5b4c5765cc9f9554420673277616cc1b5c8788b555bc6ad8239f6bf44976213607891fe40d7286532437f690b2a40ee4f8401303ed53bce6306b662c4f548ec711ccb6c940b456cd83f766da3ea43ec530918ea4eb9233cbe33c568b66f133efe90e5777ba1c5ed7576f81169fdb9444d2114d92a83688817a87b3e0d73543bb95a174652ea154782131a3926dfd15fd9104dcbc397869b640d5c2890ac7416cc472655a4e29bb7933c2f8379e5540a3864c6625d7740ee90b12ac938361ed44bd922e4d325e5795b2d8b005c13c0df5a8c920df2fba54d76844671bdc15a8d89502d4fc8ef732c1e34e30755cc0fdbea0398f250d0922e1f20064b8bcee07c54e303db0dad0c54b6485be058cf73f75d2b5e49a628afd461ff851236ec3df27741dfc8cfffb0c73d0d3fae6f985edf6dfc3b72d3dd522e7788623c99d659c7b405b57f6c13584f1db809f2e773f9f1845952cf373e5355dbd449afe1e0b437137c6579e4e7ac50a827a6095a517e9acae7cc2a19e300859d8d187720659858d684359353270b053a0e6b42b020ce40cc1557031606bf86e5362ea909900350879c9a4043f9a0a57edcdb8b0c23ddfb3d495e5b44416863a163c4a2328497934f94212a5f4f21f6322c62d429379e9d4a34936f64a90c22b4d011d3b134a57bccbdb30fd085db63eb8a65198caee2bddbe6525418d4450622073c5d054dac79270e2f0a6080e8a3195e69fd13d7c2ce1c60db8a0f0f91a9bac68e2df70991d0ba2bf7cec8e50577ec40a15b33ec6c83ce4288c0983ea14ec35af65f3ec89eb09f62d757d97b1a24f63844976414bdcf77b41731656ff78b1ee1b638ad1d33dfbd9db0a59b2ed888758c603566649b7ab823a1abd54a91985a4f63250945f9e8ba4e25e860a874a358f5b9624236de07001ee9023d127963d4f1b60b4523c074e9c99fdc3571d931609543161459a9b8c6b8a6f7d77f12ab7bcd004c2bfd7607e3056139980d796d40a9314c3a750aa323052d387d4cb5fe574da05abbfbd715b70c23d933915290976a9e8f90693ea80e692d7fb7cea5026780e64a3c50d43052c9bb424965d1c3c0d83f32a07700c5e582ba16caea72f12f7cec3fb660bdd6ae4c20eda040a7f0a3f0d6116b1cc5d417a85a1c1a33a42bb0aa462d2eb6f3a294b24151c486670ae648532133e5bcdda889f50c1de47004281ad4d690ce51c51aa5d77e79a7e83f880b8da0ccd0c822a07fef81780e7ca686c3bbe998c8afa9fe61e4e4512da59c99e02f832b081b9312f1890b62410afde3bed03ae7f1adab27102e475c3a846f82ad9c2663c152904b238c25f8d0ccb2c39a9619cca5841a5ffe3db7b5339f18d3f1a189014789b12872903bfa3d7ed8e5c2232a4315388ec4f80fb761c9903a8a4016e00680505d5e22c1cf50b7e990f55a36bae80f50faf552bf6f01039d7409e2c6577304d03bffff3935f0cd0a7a8eb354b75df777eeddc6380fd0e369bf60481b28908fe28003108e0801fef74c1bc174c1caa6a460917c72a33c691a085c1f506445aa0f42b78d2815738c0b275a6a4db99e45d0275e5ea614dd3c6eeace9456fa6fc580e39d6f06a6544eca8ab955773331eb5b52871df174557dacd2cc232a29ac5c28bead972cf0d1fc8b8129b081f10603539dff11e826609a7c81c96c6e94d4ae14928d51fd47bea610949cad32ad57ea0d09d9894b99923279afb4d5acb357199b7c3792330b127a8292c6653255ec75cfad612ffa4e9e665b7754659e2deec55047f52e937b4add8a6843275cd795b9974b9acb1bf85ae932792f4283fcb644031a7492897a75d562f2e4529d0351cd45e0d474df256d8c7afb97e4a97aa9d3cfe502148ed665cd22c50cb82357a9267026447af57b9af4c17d1a99d9dfd3b81bfb8e1f6feb5d41b3ab1b92685f30a034d3b007154e1ad2cad6e37b39874a9bc4468c5d99b2578a40dd584abe6a59aaeaee936a881a40f5c4d384c6aea56268eae1532d34a637b8fc2055a9da50758b55035b64d266d5c9d2c2ad4e5c0a568d8835fc4bff1f3b821a030931db4fdc2b964855a1e6e0c1554ab947aa7318353a6ecc45ad20b5e5514354200723d5b196347f8a1250c2a988a461a5a447c64dda2dac9f4e0aa84a74c215507abec9c73efc53bdfed8029cf68d025064884d475c73a6fc518f1400cc27fbf8a9946ec4d330741f3af30512ea12d88d6a3d6ffdb7663408b699faa1215379784b499138b87afae55a2d53505f8c860550c29da777c8ae3cb6b6c6bdcbf1ecde86106d8547423d1cbdf04a82c80656b41ff2c290f7b2239015fef56a369c2b34b211c0a35e17a7b58f99de51b8b90a89bd5b67dbfe25d91823eeb14db7fbe48153087227c4be171c5501395bed0b4f6f3d3c576793c9f6ab0d7ff758365914454614f44db0d5d419d5d93ad03219369e80e0add416f74f419ecf47ceff08a574e007f4924a12827941ef0d4fa6aa20af8021a3b41a8909fc9fdb2b93b21e41ae4c470d282790a11aac7da539dde283eacde2b10b6bdc2dda7640a8697a7085cf4126c0a2ad3213921ca6218aeabcb253e6795ed1c68ced6c32b41c8db249957aad3db336cbdced1def8102ea64156db52b15bb9b7f2eaef7cbc8122ea063db810b120b6c18907757be207564c7ea119bac346ccfe916660b73cf7359cf581cdb7aec7eaea518511b928a7cfea575cef58f8d22ded876a29a572b98dd6e0d08eda8ff46d61e7e2443d456cfddde076da8ad6630236d50393beba48c3c53ea72cfe9f022d5c5d5a61f7181ff5afd196ded861298b59be354b6365bf1ee4a4f73dd962ca7f56c4b3e8f713cbd355debf6539f7da06ab07e6935561a6f48eb2a00c59afb639e7b889f2cf0c5acce3622f58ef4d02e8ec00572ed77c6e7293489de1f01830fdc264824da3133dcd047fc40795bd41e004d106fe03dc6c0c78de177ad339404e555cbdf70c55fdce38bc5d9336884a4afe500eee7dfb60fa6eb20140721bcab180d82e2c5f8a4029943a03453d5d90148291afec094bae26ad01b3f6625ca0df068bf3e45c61e296309158e8ddef712277baaaeaa0257e5c226806a86c79749315f7195bc303a1617551786f60570e50815ff293df46c40840226e52fa982d2838f78ba7bb42f5a572d74f2db178d2dda0640e7b05069e05cd4445fbe0c81fbc691a50bcec975fb2c08e3e67222efba5fbc2db5511ec148000e749af0805c7dbb3973c4f67855fe041d2c3931187d362c6ebc52609ef9e127aa03a4bb5902d6e2b11e48447585ce0a04d66eaa53f1e7bcd9856e32bcc4cf399c5a869d110199cee84ac15fb1d7838e0b4f55bb264fe1ed401f0e83e6f77d6e131b6445d4c75dbfd02dbfb252535d126ce4f7fecd70cd40de75e819d976290b4c8acf05674b5f282c6f5bc4e8cf6aa764ae39bc72903d2061a87e035dde7e2200912206cbb1687982156f06b484b4d7fcc7436f4e58a8f5da3f9ed007fa2eb5dcabee4a1946d2198f47c616aa1c0092d0d347875287df2b827c5047b90261ea01596d7fd9eab435646ead4da685dd0e6463bd099dc569ec663487c657b85fae1b11239485001ad4f56f39f797deb6acc64d8935390b8c0cb400f10847be1eb4706e89bb9d84d79e6eb035af9487ddc205aa7fbefa46a6ed376e2f9762018afd6f24d46506032ed547076077e48fb5909f8c45f1c36a210bcdba2eb099d71352e8bebe94279ea9e19b3ac50d55ec0baaca8d705d19955b97e031765cda36c78dcb462d7eb2dc04ed7da184bcbcd210e4b8670212a8b0f8e310e4730ff818fc01e52ddc7bbc55d7dc9c0b48a677c83967e020f746846c0c484bd00dfb8a734764361ffbca399e2ac05f5db5afaa5645b99f8201e40d3e969c4af4c343164f672f175b9e6d230e4a3128e281fbc561500cf333773ccc037ea7eaaabc9f7138f92780ce8177adeed0fdfb3b1a770df5d74418edf017ab975e706b3366ef614357fd119ae1194a466d14b7c00d18774b1d733b428482748c02b158bf4cc433e8f93f9f4e35db3a0b6d14c409f4a2005efd27b9d0b2fecdada98f2f05f1756e2a7e284aaddfb86f5acd84a98c7fda8c4dec4068c0fa10a807daa9615c6a028a7a154c4b40e2713ab3097c1cd2fdb7672acdc13063e176206593cabfcfef83e4413acbaa8a737ea081a9700e786770b0b1b04104c201ef3429da5470ffd690bda20a54a350235b6e29a59429a52403d304c2049404fed446354e8a1c9480919e9bbe1fc20be111ce26b338d4c7ed0f55fc2e77b1fad71c4745dd1e1679f37c368cb15b05fec9f1317976b007833edeac65177998bce1f1d8c9170480bc1e76d395e40f17fc8ede9d406ef46e5b1df1633569ea697228da02800e4be7db5214801fe6cb558d72d2ad722833aa5421434b079452199195bd05f4410740951c2dd2667b6f5af2e6c8203a28f27211c8e56c6cfc8c390eae75c3d12e737fc369ff6d7cc3204c031b8d4734913bc380972f4660ceb0219348f7f676c9058266a25eab65a67d82b741553d7085a5a80c70e6b08f4627001691db1f46391fe89e890c357174d30e383ae9c61b5d5cd34607dba4e9fe0d349dc361a66b216dd8be5d86764c1fa518838cc92d8567fc56961697be583a8c30d89d5b44d44838261eb4d65bc37fa7bff02997e704af886a48dac4829eb1c551d3e0479b8fcd1a0e15b7700be70ccbfe7bfcffff218b3086a4e6c86b32ba933fa571363f9bf2937ec98e578a41faf11f1eeddc61fdc6168446ac6abaf4ff643c93fc31af34bf674d7a50afb591988dfb97df2252a656ee6795a3a9ee7e186f7487f01b8641b9f041de0cb8049be217328bb985b7fed784e18e93ba65acd40473e79a911bb4efb89955dd44e40e5bdf0ad855e82576356a213b23ddc2a1937bdcfe30ca4969caf99f7ddc9d3ebcd2710e5f5c7ee38d4a81024c1b1ec0241ae83e8c97e38d2d23f0594634e8b921f6baa6ff527a8cffffffefffd73d4a87fffefeee0fefff7508a34be7c951101c34609cae70e97f266fe607b8d8016637b750df9761df0c3aad31f780322a935cb6b217c22b6f6a0915616f89aa85c0df54a3a0d34d21e154c4cf6a1032c9f9ba5ef74c0edd209dcb989999659e84f59623f1854ca235d98d8e57c38231a30685bd84e2e64c254ace50024e407ad88e681627e6160a886a4d145f9e139d4675ce2bdfd0a52c453fe7fc2a744ed9a2dc73722028a36184ebc5d3b3a6fe000939adb9010c1c7f4c2e967a58c08a7c6bc4f8a2cbcca88c0d6ea45066c98c1e58b4c4f2b00287551204484a4fc0e38a205d28e17084c4fbe2450c3fb05c51c39a2baa40430795d2a9f092025385867a810c812587a6418cc81246fce20aa63381d0b1851d4b3c2cf9c0b4c508368f49c949b60c2381980598b08f0c16325f440c3bffa75d351bb59e3b8dcaaadc5c0546cc62b58c3f772f10fc2e02626ccf69b999279294d79cfc72ba67861535d8328af6b8efbede92aa83183fccd8e2460d183c6fc910315ec260918591d3969eb76447cd126cd46ee8d2a4c3cf5b2225e90c921e5f7ea862260e9f477376cec93972444919f631f970a55b65b90cf4e182b72d07651ddce91290d98641dec824d17c5451eca0649d871dc280e20fd894e28e99cf0ccfcb1a616ef069c986cf0c3952705f9c788246268737d89851c59918c7faa8d15e5a54d7870c16513c1dc9c167062633647673babcfbc59275fed7af8da4bc74c2b033e7d96e912d56e70b4fce4e2726a8978fb32f9431d23b698c94465ab7961da10e5d7466967f4e1163f97ac7379fdeffffa73388e6ebddddddaf5fff12f33edffbf3ca0be1bc72c239e18c92fb07312dc8543a63ac4735e888bd9490998c1ab1cad1dbd7865a3fc1ddbe0ca62956f97122aceaeb6fe5ececa8d0b5c61d9a0441892203c38056af8d5d3dd97776758740bab8e7d21d57dd5e10f030c1e0a756ee18648222b78d9c2380079b62558535d093a128d3c8c6fa5a87fe3d3fec2d244796a9c08e4b61a806141965e1d3139298a5dea8ff186db57cc56c993de9e36f5944ce4a09b9aa1c2117c70a197273584430c618a3c7ca9129e7b0a6086a4d614dc9691109694df157c8f311628970705836d6ca0e1b5a0b6d175628c85a548a830d45e118f7c446d108d622cc21508431b649918dd24172734e50f24ad48fad56d6d68f949d64e7726258e7ad452f5330425f5650738f0a435679392f525e95940f0873eeb77276755d2f9e9e1f9eccfaaecccdefe0af264c82421ef6c0155cc1d683170aa184502866d44549f1e19837ba314bae56722c1972fd05ac4d69dcaeec6dabafb626dce0f15f274e889ce0a82a4ac8a72865455af99ecf156e41a40893685285b35bbd96bdacbfd16f020ef004cf3a92c38161d9ced4cf23cd2c1c0e20aa2cf7c5124d41d497fe0df20f82549b6aded4447128be72ce946a72f472bd53da7a2d6fadb79a913e0e2a9bba2d1c2095900fe495e16f4ae55a70e24df9442eb2059522d40267300aefdbdeceddee603a770713c7169dfb99ceddb9dd9d0bb7846d2f3f04ccee13d6fbd2c0cdac4b8ec5aab7cef904e503ef9cd7be2939db715dd82a7ff967f75114c26198899a450471fad2785a4497a889daa76ffcc089df97d325efe48eca1cf677bb13c926bd7fcf9411f66d24352832f850147f7da3e4e3f683ace71d77f776ef7e9752fe95fe785eae3b57abe79d05a2621f4b73048d8d26389e8af6a0540cd2c5137a6c39a3e6cda3e30632625481870e729031880349a496aac0e0852c0ac25431f3e9cb84c99ced3a54f0985d655f310049cc8e94021838d84059f91660d49cd1a2e3295d66d7da8cfaba476de6633bc7a0a797de0c01defb580224542e6f572e813756a15b9d0af024375476c462d67043881833b1767a62cab8e9b6b051824b935361616433e284e23c236df8e5417325e91a1a2e209849609a7a30c069c20648a81f5cca827d8357f420c0a517cf64fd4016506409fd46a78c3ecfba9c170b69dd824340e83de7e0ae100390e754e438000ea0b7624b1923c38f91de19a79c2fd018ef9451b61e6a009d4b01f176de9b7f0b373537f04601c43c3d7c434df7e670e3692a59c3d67e9569981191261880ca8c6d185b5eef03463cf052c5085667dc5401587ea57f10217c637bc0aeead9cd956e49c70585409858cb0890916b24e8e88ddc22d7488dbb874202c4eb9cbce64f4c518f4229a12e1296cb88b03ca908cb674658bee44753da63487ab001705958a39c1b1b9027259fab2737a201e0e6cab68239dc4d32b5a55eea55cf6a25a73597082cf7530c1022af73e578cc4ef8e8d6faf96a64f99153b9311627040e7574ee11d4d1d1d1813a39b2b98b30ee863c262da8300f91ae44e7a9dac32e161d005774ab56722d5d2d0fa73c9adc38e306193d96f49855fee30dc769b1ec851eb007ef03e3469bae8b14b94e82b0ab4964f5489e0f901a266f729a9a2f649c805e9646a4c8a54df1218e2d62242d85f1d2f49628c172054b1863b2a071e4f496bc2559207e08c2841a31359ccd5b2205e644137254a1a50b186a7cf855a42f94b322ac38e92d72b72b4391ad269bb20824e2bf336b548a4e1bc9619b1d7cf767353a043edffa72422308abfd8ce52bfdd227d53ab27972a2b9cca11f3992c768ffbdd4d433180cf1099050dc9010617b802b3729caacc48e57d2ed6bdd368e884e1477e72542dd9ecaa1b6486b9231463a61a435d669bb6eabd9452df94551a79d64cd8772ff91fc17baae6447d15896344b71133b718aa2584f52188a52371fd83fb4d5e3486656902c9059e042112dda7a649c447fe90703d9ac9bcd31b8db3b046ca1866cdad5dbe8a4fee2718e4e56011b6b011c7fef1f359877c28655665b522daab05aeda956d866860d9b36317fe37a5d2adba7b6fbc8bff45530c1ddc7e1b08147a2b84ab7b7b23cb14540d20fcfcf525ce25813014a57d6a3eb5e5ba3e46acfb96ddcc6711b654dc96a82426d0dc75002abb02d6973b3d536a7cda9b6b1d906d96ade29b0356d4ddb990af3360464a142839371da0df2d975258180a707839f2640423ea3f992d35e66d8abe45cdce9a9066b6ba8a18125210cc0e13a7561f21704f79865b02336892d2546f041c097254c787878aaa49347522a739c6860a4665a9ac9084932e16085e9943cae2d8fe9062aa212d0cfb6c98e38544e4e1a39ae04c83696cd61811bb29435a17093f551a6846368a0a19586ab3ffe37c48acec0cb34d1f7cade03aa41494cc91037f2cc361090a3013c2478331ed65b22c2bbaf244d3bf0083d418185215b6414e349d2934412219e1d38c08e8b52596c3846d6bfff2dbffb5b7ebfa7bef5b05d8f29f2bbd630a53657d444d67eb0530c6be694e43827ecff63baad2c536bfce04e36679ee9284b0885f634b155f47227ef82e372728eecec244962cf6052a20a198d26647f30a071d10b48880414521882124506239e24de9727304b731d4922bbb23a92c3dd7ff71e2541d3e5fbbf8fd8d5ec24676cedc82d9dde2be7063b1943eb4e8f4d2048b28664fd8c22c3731cedc886921b6878aed94d67d3eeeeafc7b0cfeb350dd8c234a5182b1ed7e4f18a8b03420013d5dad5eabafc5f8020c098f6bb019e8605ba88173e29a57c9f70a2dec7b83f7fcf9f6fe0de1df418bbe788effddca6e7f472b936779792e99224ecc4ffb9ab95b54bb5ce8e673029697e940c1344f4445f5f3cff20c7c7ad293d16f24c5a84ac9be47ea57ab477ca14a2d832ba0c7a872d7777f7ee46e227fddfbaeffb7effff5f72b2d6d6dfff4bed3f3f4a7fdef87fffffff21d29b1da8bcd652729d947da59468ec45c9df2e876a1171adadd52c6f29a5443595414146a89432a42479a192bc705e21a137591f6c2d7f3f985fbbcbf7546f1b7bd71b7d986be4a0f481d4a39321436e8ac889906b53cfa7aa52a917e5902b2465af6de1a4840cb13829d510213856958a7d218ad6ff0112ba759b7fff32a53c41fd0263ffff5a0e29c9df5fcecf5ed78a8d756a9ef83676b372a85a5394537177ab419c95148ab335c64baf20599173c2cee79c32c62b3b6e8c1861a4bebd0a2f0ea118afe422f4095d7c93a8986d8194b76627aef1d334b2b17ec25fc648301a3e66c67f94293de483bd83f67c5b78f76efab736525b611a1d6a27a7f9309b28503ad69ed6dc09918c4451ca18a3779081b373ecfc1def844e22953e286c2c5b27fd1bffca7f16602b85a7e6d56296279df424b217de170f843c5beb751f42c853a654465d8f51c2c8c9f7be41f3badf4965a0f44e3a250bce878f454de20afdf1e14c4a39bf30fc1502ff6dde71ed957d875cc7bd8d561497120262565fee86a05d6dbb53f1bfce5b3a1dacde9e7a66b13a5a66636a7bfebd2c87e24f5e8e5625df8d1072fed125ec474bad594d79afee7d6f4aa44993a62890304545698ad21415a5291a23c52a34309542033ffedce69d1f7f6e90bacfed29f5483f95621ec24238e5cbacfcc7f8fe5be5bad1c890eb4623dcc19dc60d4a59e5d471032384914a9952d58dfa4794eaef3bcae17d7823841c9cf3a3430e72130539482bd4f94264b2be5218218c53ce8da65253a299904218e1ff46e7025dc008617c0923bcfc90bdf55c1f300473fb5459befe73ae205d9a95213b09695562dab64d425a95b86cb5725089695be2d9c6844ac96d6eac06d3f88c56b53836c3714a74a81ccb90645ab0987688e33899150859a6452621492d10721cc71d710c09ae6e928daa70ad9b64a31d8870abfb4d5636aa32f9886393ab7013c537f81017a58674dc0c7111c39eb8689b96e3e9d952ab2c37db58c942aa27c8b2e9eed4b31eb2a6647136e78cce0acd0ee5bf650175d9ac9c506d5830a65a0fd5a274e37a74be10a12c6eeb097ab4b7f4c8d0968adb3952c1cc61a262362a56b59c75a22cc8a2a88af35c3a4988a85099ab289c969715bb55420adeaaf266f8606ab6383e65586b29a83e204b95ecdd4042104c26ddfbb2a30002ae3bafb33fa4db94f1615cd10a21fcee6758a59c42efcdae734e49a3183def829e0f8cbb5cdbdcc0b0dddbb6c16ea3dba5d75b76a3f3da6887e2d7cad50ab97718ef6beb5ceecfcccc73324f8e727290e338140a857ab346e9da71b97678ce1b5b3795e2525b4faa8d6ec267a68c53b5ea5be9aba9bfd01d5e87ee91b21497221b80262c3f9b0dbfebb586e4e9f9010a127af30687bd0bac880169820a1f4508c80e00acf85170b65184afa077d1b9bff901494f6e63ddc54568e1a47445277db0d68d4e198178704a4185827c28ba77c64f67666718f7042a1324f4240567fec34a45e22456e2d98b9d6b6f7078824970e4b2b6d2b1a6b2d13fb2fcb6baff269d73cee8471b5ff8c418a38cff04c7fbb144163eff1f2f74a0fb97d1f6a8e5f0114613122f0d571f6e9230f19e8860f2fdfcceee9e49d9986a81b5686f644983013d198a6214dbe894f1755730089a0d72208e61cd39cb5bcc41a5b5ba3c9b283298d13022a717ee6cca4021474e9bb8eab2f377e8c1c054821b23074c8d0e78ad979d1dd70a8bf7c2d99c2377c795e4b54577030f931e0c9a002d0581f1640e1dde500d50a2d09104c60312232f3cd6e60b952ab228ac9041aa43902b6692ec28a345e90e2668334bc51adb82b7bee3517b5edaf6caa8674cd21306243c4121e603a5670b49c3be3158788698ea6cf772d8e1f3414681895d8449bfbf8af034f0cd758c30ee5a3ac59e0cc18c8e6448b35b7ae4463284130a2c3c49e1611ddf6c799d485ed9f0ff9dfed3ffed3f768494a4c4c37a6d93cab7838512e58706b84330a3d8916be7d56ef7de3118b1441ba7ed3bfb7fce79b7adb688b6da62d98d281f2c0a527163c3da680c57c1ab39ac1bbd86165e980cd745715c118c31c64923bdb376aa5e1473aa18a3bdb163c78ed76e7153c5cbc5549bbca8240c9f0a6d04800002a3750018108885a3d1448d729874ce7cb4224d489c4773692022c8e11c034114c530106588030400628031c018a4a66c05a23191c6b448a31a90cdd94761bca0206a90fc438e4552502a6ffb1776fbd9b16faa75b331d8a3b3be4ff421808ad2d6a628913dd5d69759d0ec68d6f143429854f772f407c8479181937204281f6582611fc37132de03470894dc843499201b53d2f05f31b9591d81b2262126ad6c6d4147c161604ac6301f29bccd952ed70cf17f26d8319702a851bd3da17e9596d47b1eb8dec578d01a1aba1b222c3643d34848682fa5694739e3bb3f5b88e42cd9a2f4c0cb1a4b4a2ed91628e5fa169513e66d05ce16441629603b0209d8ba9a656ba68d9c5e7aa8b552f423d7b0fba39c9284f6ba33b02103cc9a7a9f9c61bb9badedd8b183fb401fed0bbb303dd8a4aa4644954e2d4c851cf85bdc919ce4712610342805232a77d840c6a19bf6ab2165814498d69434af398f539f96010391b056e8f4de2699d6ba677c86cd9200f78db9f1117c30c7c059a667750fc7676179724925b256b0c62ad6f282d65ffbae429fd2a0c6ba5099d5adfc44db7450749e7f6001a1df37b1a29495fcdcf3a72bde4ad92d7d1aa1c12d4c682c2a399b935a40af461e03e9891bad90b47a23945c3b9def8bf6454e6f7aeef7c874c548d4a322f1d549d3de0fa8757f3b84e224b741185080033c2d1fe53887543c839030cfb49c50e24ea6d64b6ec6bf2203e0eef078a74ba2246dab02b8061dfdb63acc789cb6935e0e643987b1a6cf1a3c399c9e7fac57daa073734191802e418f2bf7edadf0572eba24cb884fe420496bec714707fc4f34baba7523683f249953b7ea4eb428f84f4f69d6b88b277468052e14df5d3ae6d09b9882bdac3eb4d5a7a797862322cf417b283c673cce57e80aaca32de69956c5cfb59e1c79beeab743431589c2ce7fd51951b7b775b036873345e986268166440f2a77b6f5bb037319bca91cccfa86f34d6f0c196067a31933b828dc81127ae0eeb060331811ae71bb5e478950b3fe37915317d7fa18b4203a206897c80fd82b3027269e791c84d1f63dfd1bd531155c9693f4b3e5f29d56c0a3cba91cf7fc2f913543b07adbc9cf693e5e636ce6c54fe69f3dedf4c7030cde2a5e140e8492e57a8a895b7083c5872d8f1bf43b4a5097f5ff894e72ea360b3d48583f231f1f7ca35948be0ca074b7d7b1abe5285641f34a8d2286769e44eba2357db36b93dee4b9c038d6b2cbeae34c4e21098ce93cd1efbed82a5f724d0369a6645dcb623d711c0ca9b1c4db33e24d2bd3d532278c0d44b767c5ad4bbafb768de808c16813823260a875fe62dfe622a744da6dc580470041947334c3b262e771894358c3439978859847fd349ce55561010f1221ce9ac24e40ae13f8f6d57da318c191a44ee31e801fc6d89ed59d824fb7188f710d5f5939f14a09779a3f2736dbf30eade157c42869a8742e0ab224249618d8a4c0e6c7ed904216e1c3b4472b55ae3d8b0ee4e5c85b5d6fd5589774a89dc8b319c24ecbc525461191d4c01be612c26f97688b77ad792dfd233a28c78ecf865e0464f9eebc4c7d6434dd157a15145fd45cbd3a728db4fc4a2a5a2511c07a9b5a4e4048bf5e13685514516c344ca3b2c203d86ff57158599ab190eef3f833a2816c3756ab027c8fce6a20e8d64d121cf9da3a0c78017d308ca56c09a36679b66715ad9b9940cea692055752e50a5b94e0ee726a9ea9c7aa09fb65b05f2a176780d9dff08e72b0bb529ca7c7b19872dc254c93e214b7e4407da0dbb0fc5d2012b70698e69f200752d96a60131290deac31f44001842719465329026c976541a7820a92647f3286b85b43056d093cff6e5c5f33bc36e04e0d2bf277190f6b6fff295f7f59a61be389c762c62e9e4714d8a6c1068e40bf707f438edcf409ff81deed0ae84b72a40b91df56647c54815195f71d3a352f76d6ef35e51fe86baab30e8a876b27f5647fa1b219b09b0c9dee6bea0a3e9070c00e254ced88630187a6e68ba45eee168b13f09311e5d6244defb5358f4dd626bf9147f9e4ab5fa47780761987db4bf311fedb9c9b635934e2281f894baf75942a5d2ee9ca06ae703bf602f1d4eb0c91a834749cb425d22da4789bf692f1341ebdd7f153db723009c61c8380ba7fb958953483400de1449a1da42d89e5f49cc810270b1e2f2f409576b4bfd7a42b25bcd2944876c17a86da856f56612433ac452782b52c11cbd83423da786829b9d7c7a348cb2ba636b22225efb9b953d166a21e74def872eed8d670eceb04875d199b60ca9460284544681bebf68446886e0300accfb3c0fdee2b084cb5c0f6e86c1b75562e60f834b9d2745ff9fd35e66ad4e10ad32acc89bd7ed6d87f8678383ae0823feeb2ec03ee8b27bc80c36fa5842facc99327378289297f1662ff290a5afa3514d5de9eb014969ef32ce9561f5a3036ac5964a30f95cbc813ed2b1734992185b8c7cad1c447b087ef038ad0ef135a7f35c670cd6ff845b9f2bc86d4b4d62d8c40bfc4ab26f88c98915f0036c59bee323ae676be9ff31d1852df131bcb67377b2db7d1e9b8eb2f056d3f8987dc39266b2c1878119316d1866404ed7e5f12de976927f1b7f09e1b50519401614eba9db7741e765c68e9daf02025c979249d6ab0ee955e159d6b582808761e4c494628f933b2a59eaef27822ebadb649fc8657e2336a41d2ba963c6de715eac5d8f44c1c740da0f8f54ec6eb3df40fd7b4902408a8b9392ca646001aaf416f86e6a3ea84471f1f95e86737005a5b6a44a84184b0809aaa22abd8e3ad8d8c1aa10247059223ffca3d2306b5465f26198919c0c78e777a4f716d516d0658873698ae7675acbc55b726a7df3a5ec41ea704617a1541b92835742818c48457c7c9fbadf431ea49b499b55ed2745ec60d88295484831c5430357a053352d1c9b1d05fa421d2b2b986d56ef91a592b13f1834100399be5ceac9bb5e93ca21e8dab7cf5cc91436b9c9dd663a128ebb3e71db9f60c101ac998b3739f33ead840a35473edeba5731714e19f29f8f48ddc9f33fad9aaa53d27edd66d73acd2730682172622e714dd99568a73f24093dc704eebd618d9094076d7940dd636a477bd3a4dd39aea0a4264df86fc63cc1612b3497ee0d8c05d6059bf93efe076d5a7f622a161778b73409c61b7a836e76e706eab6c8620064321ab9179da3178687ffd29f6fd7607cad81fe73a44121b8072bf68811b368e36eeff95b8f18eb7886500b4d402733ddb6b83355c052f47c0b59c71ad806daee8d45409dcee2be2a4080e16ea903260ffb7a762f7d6c62de8b567c7a52449351882602dbe23b6c0ee608b05649d03490cd2e7338fffadd53123e8dc42d54aeaed6a417eedd0361b1c169f293c9a180c7c8b83dda0d608a809c3a546a91948544fa609a0e8046b854ec6612034afac6fbc14086dde28b03bebd7f77587e64359dbce210ea206e71ac35152eac56af1708b404a906497f06480f063747bd6431367a4022a88a4c82af245ac4a4c5a08b59f28a04d25070cbcb815431dbde49c8c206eb675afd85302b953e7cec8f0a9c9f06a30d28a492ada2ec79b674fe9a4281fa574fc03f76e443f2e939213c496b5f06ddbf3147ceb34025f53912f5939470228d02a985d5766304a1d719006c06f5f70fe09f1177941cde686bc19516812e50a27dda8cbc4708434e038f1d7f52475e36171ac56c985b6770040cdcd61317cf5ba5e6447ffd5a8779eb3e9cc7ddf4aa44be5df7c33404ca88ee4ead0d91e878f127dfa199af7380297f94c41e40c096d0b0451dd353301d966281dc9d469d73c602e1383137bc6545c51e667569c60338b7a9a82b5fdb6d3a455c06f9e1e163903cfd587dbe38cf900336eb8c16296d9193ea49774d64203030e590d3a82db439c3504e53a25f02e03a245207b5d6697a721c98a57ed64949d9ca3a34d452138abc22c456035aa7b6cb019f39a7c21d1fb0d1f90e93891e2f4ec6d9ef6712c33eafdb68632f2b613d5856b1c7b1afd1d165aeec7ff70809a9ee55d128405e0817e6801d23b74c5dd98b044d7d5f17d9921504a2afd19b9c1e60a1c1406ef8538ed41c7221337475fb51b06e97b125f44f02b57c6bafb81c22d0fdb610f4fd4554898ef3afa18ce4614c95981a49412765ad962fcf448312ac7aa0674bd6b5f433a58fd036bbabe20cb2288f12081e8dc58ad41294e2f089f7a027b0075f94b5e9173e6432f8f4ee01f7ce950ad25adc9cd123982f953aee256ca775960ab9ee4e9f7d0616823472769b21da4cd32e6be6fa376a527ab596816f519890cbd68ad4c346160aa5f4693bf237956ce9a81ae75c4dd1b5b6bba1d8ecad9b0fbc86177b9e522a3b8e942ae812c170872a16ea54bf81b242c146d847840798ca20cbe3a806b4edade3093059887b600d2e24274449960ee14c2c594c06fa422ab962fc32668272e170e062b88636645d97c8421cb01006b73e1ecdccd132486f6cd2665792696ed8a4a54395b57e6f302d737595c2cf0b8f161185a0dcd2c12913470818622d2e13b5d52284b47f149dddb645635c92928935e640791c2e0803b6a2ecfda4d6a92d2b8ad1be0ce5111e5d9f154c227ca717bc1542080129f411616100f333f11788b0894a9a156eb1122136dc386d68fe18a866a130664e8580b8120d106c8ee381555260372bb431c302a05680bb30b843315316771fb250c8476a0cdc6c30fb19f2e75e6bc45f3c441a4e032f34b252543a05755fe736d1f1ba27e5580940c48638ca9743b52a90ef0bec066e1596ac53ae65071836e788e6f6e42c5fd97ddbfe5fbd84d898cff7181beeda34e2036251973820ff846badb66f53ff12069ba9b9daa890db3c660b0f61f6dac4949a92623bdd1cab4584f4fdaa8e61fc4c38b2fb2af475bdbba89940b768fee3bffadaf7b50045a201cd0c3a1d0c840998131f41d64dd528ad761c18182c79a7653c5072a5e0247dbfbdfe015186093bd6c42e7ca28a5a527b28204557f06f59952be381990bd97195dd071f5a088541c83272e3efc3d45920381b416c2ad2d52f98bdc80a1768b63d5b1493e4750fd48c664ce5f8248c3fff88b40386ba43c2f928adced0c137b0bc04a758e104a787facb05135ef3c681ef40786ea008af0a4ad3dabef3a55f92a937f85c5b4b09ac1deb2964da1d94688513bdd8b99988d3435d188e25682e1385d11c38dc09425e3af8859a96529e17a3ae86af7557dccbedbdb624e8fe129cf36df4d9af26b74e1a8ff77276e4a20c0c68502b626e6f75ab0b095cd916f2f8bfd6162ee2954a0d2004c7103cee7f1b0706367fe09e3a3e38a46fa2ed37b43c9ac93f3bf99817b5c719958196e55609e660e24781b143ab8afa9e0fe97aabe7018d10755e45824caeca14c76502ed78928c3abf3002193350fb48288865cd560ac5378528b9140fc952324d37b2c44f2ea00020e647b3bc032c120c4683270c020d2e847a65a9e9203420fca34adeb17237976cb3425c9a1d164ff1f22348c486261f2b78649bd7523a81d87e4e12f24c573df2e8527b9c1f8ac3ee72dbcfb6c1aa923e62fc3c9bb2606a37547eb0669191d18414b9d5f3f51e6131cc8271547d0aee1cef0437c1b1733f40beb1637003286a3da231cfc264306f322a20017176c2c4b77fc3e4378d31b167ae485e3c542302dbd33edf90547a09c4f591e61dd8b34c47791d37f71ec78ceedd530fe81a55714cf0a84d5de9f1de6e8a18b47bdbc49c82055bc20054d969d2b53b6e3cd4c4d35b644db7c2a03a9163d4c464a420e05e15d4a82b5e935b6bff70c82cff02efb6217d811457f92b5643735fe272ae9d4180acd6d969b08a24a06096b68193a913e400b8dad98787fd8e6e067f3a3b2bbb1090eba3cbc86afb32f80f9362e7b0a8c755e16551bc80549c330ddfbdd096f698d3050885665baf09a8894b6efbe81a817e3a5d3800d5e52a5e9cc847c1432c0cdfd03eb0083aa7dcdce361f62444d8c1439e7821a2f23a9d420a02ef65eb9c023efdcacfac31c42466ba7db51b03c1ab1c0d3fd46e1ec32e83f22356a6710f4c062270acaf3876ace25fae01208d0307bd7b50250edc83fe2a347022d74a853022364368cb05748cde9be8705cdf1c3aa260886cdaf9c17e05e9384cd45d12b0a95aa9e4f47098b205efada9301c3c822d55cc1e40821cdfb9b0637c03e20ada7cf413f0187f93a405801e7313089337590e9c0a10c14e3165ff1f067b7eed71e9ca5823c7155cc01a042071099102cc906824672661279027a1e1c7aff3e08bd5abf9631d6fdd04ff4da17e27d352830a495f4ae2a5e9f3f309edf861ec0dc07248c40f4475ff2700b59738c6e095c1d8780bbcbeb5004b837b8414dc3421fe24b504e7d1651af435ea099626a415fa570ff43f62b43a972a4daa79cba97c9e197f2d6c82d59f29e7936bd8d5c6fcf16aee5f9a5d0dd8193b8631ddc3c6b09fb10e7e04e5e08017d2c5dc1c9560829e96b6e2cceb8ceee01a0456337b87a36bd808ebe676a54054702240dc3246ead4baa00eebaa89313adae1447885b4d89b8d19ad4c7e04e45e208b1d33f8ea6267b9d64a3ff573745b9cccc1dcc0abfb6b8842d61fd44ff311d035a485ab280180d35a4375be37033387d694150ff914452302b3548e0990d25f004b3684c475dcd431f88c68eeb7ae15add5302f4f1848e73cb9e8c7e4ea68506ee32a024b052a0f6c818f8a8ec4a312de044e50ec7dc36dd6b0b92d6d03d1c4f61ec33526ea595455695fb96b47042b6dac5b222c74599c1d03c2808674d14c844b3e5c6176fd918d76ab8ca3335c19e048b6d30faf87f4f850ffd9aa64173ea0622af7aaad583a1257433fb8cc50b8425d20a4172194a885c7a43ab407680306d5d427b04e57e6d1e44868cd49578367b6a4bd2451aa98b00568925e77411053576e50c19e917b30cfb7bfbe201066ffec7547955befa168dae98b7bc836f4cf2b0d5353ca6e65b052670c75acc2340a56c035bd1343a4746a555a6bb975066578ab5a47968f7213ca818ce50821ef92afb8c553607eda9f5ac09e045945dfcbc52b54a6bd3a752c94a8b1de4df02d28484ca7f56568ca5ee4bd44089283203135abf48af0c00167f94a66a09e4dc3142952d8681e7a4495073702f940e24c827edc6b392760598be132da240807c884c8f65c893ca1b9f96d72d741fecfcb368d00a804304a4cf02d351e81b88bbdea08497806a80c930a10495cd682d5ae7c036f5d326dc424a1c48414af9a284eaad2221f08fb0f857ea0bb6b72ac4bd85b8bd88f053464a0843158aabf517e123081145959e349dfa11996ea081628c831e3201ddc0391a431cd1de029018ab17aa7e78951157301f8a7aea95b846688c5a43664773e81f9d46f10ecfe3cd10df883b4d486d0f32fc7514127fbe9418c42c213866c0cab743899d84bef7e1d1f5633b8618b8536885500a6ac95b4e58843dff1bf77a708df9b15213dda85ac02c1c2bf57a09502bf4b1ad391b42cfa1b69f58b752a6aeaa5b58a12704055d412585f1af3f7f44e708d18c8cd5300e54a236a93d874ff0e73af74d59675342ab19c3836e5ff1c101e3dd338373de0208072b7c1d666f126bdb3115e09037cfabbd59d2678ffc6d02d4918e0716f7cd56beb52defd2eaea09b39a5785dbe937c0395cccfffb54564bdb53803dffa74c4537507b82bc1ebdaa3f18800a47a955c938f7436ddb77e00908836615fe43a457bb9e418f0670f67df4e5652abc8314012aa18686ec28c419456b09d4e8119d8bf8d72e87427167da95e23afe53d9c187354f4282139d0fcfc1b7d8f75cecedab70abc8ba6302b6d80b380bad64452737ecfe7cb622a08ea06332506921a38742799f9036ec8e22f83a39923f8652208498e123dea83e9d90004070a500f7eba612e8bf0130f357a48fc043c4af892e5454bc12fa957880da37b42732eb45a9c2e870ee807b90a7d7b5de7ac34b3a210025c1aaf73fe7d9c4d46e7d87ea5b079bab3d04ec639c8154175f96ce824574104d822fe6d8d891e1d5e1b7dacf6ced473c4bfc57539e654e453fd60974265fcca4b5dc7f5184a95213bd0c588b6489993e176c7e9598da6337939aa898e110bd5ac920f80c22e4a947afab4452703b62f1f38ebc59c0c239a0ff2012665c38bb9c5341632f0e1bc5197210a3d4f74c181ed7ec0e77f36fbc3b8dcddabb0e733ad929676775b30ddf557bfd34ceb970470bdd6a6f9d2540b155bb408d18779129407812afc600d0918c683b450fb745d1e08450c77bcfaadcb54c0dc784f6ad89a274b41caf46ba437b1c19933b90834472bcbef8e108c50dbe6471d33e68f0b6689472c801e929a96e62c65a17438520a8a66a1453f4270734b406cdb4078fd06aa6fb06fc1d51d8edebf638a9610ff6a7eb221a7319e0473e4dd32102e85aefd6d10f935050a8296aad0e01dac4ff509c473c5c95322add35c4e550eece1d8385d00ffe9bad669df937a55a5c12771be1f0e5c29a6f9234ab8a5a1c4cc886c3491a3a34feb7484f9284bbc969abb61d8899fbd6c66dad92360ec044d31c074fdec0d8ce3f707c55562f137a0e3a64231f409ca0b94fa505bf60adc9b5652037b787a69b341d72f181bd2b2a3ce85b8eca81670fe21507039ca66726e386a94f95f35cc00809f7c0aca0099435fac549f0b918a84dcae9dc73da5285cd7d7fda5e47943209cbfda205b174e4bb9522853c0e8df9538a743d2c0987902815480008cffb189ec276e8b600242e057cfd9c97054b4ed2eff67b3a037f3300dc064f210aeff141d7ef03b4eb3b7b47e04905e02f34c7914d2cc9ae2706c86bab64e12c85405906ccd6e57837714e2c9195f0d52a8a1afc71c69d013a58e5e7d5b12498bdf00638beef7a48b00ad8eab88295e79b2790e3e9a4fb484a094c3a492e6fe309e43083b7da05f8290be32a70cff02e6630b8bf406816f7e6acb708c5281863c04f0a18900f61b41e56c1d8423b7cbf50ea7ad1982ee61fe85f541367a11fd084af052e04d37e601e425c1ce4f028b1d31c6b7216a940132c95bc2d3589b3b35a9222f07a2c2d119b41b1ed9e279e0e145b981e1b67e7662fd42ee7f4af7fcd672a279dc587bcccfe0438746caa01adce101bfb1eb262fc2ac11a683642202b7a8e4603326a8afaa9d49456bac15b8b70ebadc20244a6fe48c9f3a36544796042a87c28b0384ab7fd3f7800942b22c7d6101473ac926f18f07c3fff96dd10be7bd21ca80a404b19153d5c7c752306a289217412e900e14779d4e852804d538846e8692733c327b9383dda4a522e5cdb7223810d1595593a5e37813c29e4d141b41c6c73e484fab91aaa612e55fb1bf07323b281c22a7c3d9479c9420d6e68841b8484d7091028e482d11ca062d20cd301e4e28435373cfb178469667d47c522c8e042dc0582b076803fb1955593601cb318dba0996f6893d91269826b3b5bb2200f222ca4ee4afa4a29c136cdac0b4cab4a218a5deffd558c106cdb78157ff1b2d4abb86d9ea0b19fc1c78c82a8e679769c1c259f7a28bbe49d088d73e2f748ad6a9909d43f7ab60193bd4b8dc2ae16cc76a7918281521234b744571d5235b01fa603d277195dce07396b60f4c924e10dce4f6e7c6ac7f9d7ceda4c9814140547b86b6f70bd86ba28df5c9547fe236b8a03950992123110bf431de611a2e6d294daa38a78f824e7622acf37202dfaebd561298e4e26125132754c8305231fb024292870b1fdbdbd1edf57f5c51d0278bcb5d8ab85fb0084686054a0170cf832b1110b0d762d674b1284c3acff9361e2ffa7d4f0729e683724626dbd2034b9889d6ce78d5d6161872621e1b24ea8d66853b7971d6013c775c56fb0ea6419efb40c5624d07c648124bdf8d268e000e5e6bdbc95b927832d9b1d038bfc8224006ca04e75c776f0cde42ae2a07bcb07d80c56fc4f7fdd272f151e3957bc53cc2d00496ef08c9f51f1f1912fc2e3b8f3ef1c8be59c7efb428fce40dc5f3801997f02eb0f5a284e5c360e4d631d0fe81ad690a752aaec7898aa7791ab9c4f9b248c632565ab26513d537facd2064e3094dfb9486060026cda870bac6525ce85f9f21dd4377ff9aa6f1770f4e5d7c1776873bf00b37a56b8c2f2ccc14477660204cf08f26f6cc64feeadd38222c93ee5a51190fc1d890566001aca3eb18124a1bff1aa0a26805c8d7b7d71ec1b2d4b7bcfc7310a09a2bd1fc28d0dd528571a4042b694d09064fffb490cb98450102b36ed95952c06fca30d0073409fabb318f039db82ad45534d183e1cee2f28b4075703116483336612a93f512e6ac9078cd546168c6835faf1bbc1d8e748c49a638f0662c974307ac377da2a89fea4d51a13c494d1c00c57e929de6c81ed8c50f1f818320755ea662c5c1f7a0aad863bb52037300b4cca24314b494d49e8f4384c6421fab786180c7e99fd8b52026aa9c658e9e45319b348acec2c6c0b230b71bffc070552d5a26fe94c2fd2675219ff87898e25479eba160b43c445d647471508344ce5e2d73bf5843c6d9e898c2b27ba841b2fbdfc49e838f1868a096d4c3ac30866343c6b03ee3dc2c3305c96b99a19c061fb195c5224557bd9c346a3872d971b259f1f10e21650963549f6dbb5408a0807f9056c4434d2b4b7cb90ec19ab00f847c7b64eb8412e48a20e15acdf87e0da2bada63ad79094ffd6d44f88f1ba8d85ff2518e1b81876fdbadeb2a307791c76356a69a92619c739efda4daf62b316e1372559b24dc292a0518ce93590e9af17adacb9b941016983a184ca5636888ed3cf5c66a3fc6cd650abae54d761480b5ab97b25a6a7e7763768a0085d7305b9f3edf7cc15337ec69ec1aab09a1a9d798905ec0633be548050cd5ed67cb2b6545d2fc73f624a99c5141438418a74babda9f9fb86f89b6188fb6eb8617d4d1943366b599599992cb18801f8d6d51f85dcc69276c28ae7a6635c49c43cc2e4a6aa4806831efea1a3e97351e5dbc86ed68d1c0d93e5effc0604fdcba3089d05ab99d5e7a4003458e7e48f4375a86a00b0bc168684a468db7e51b96ebce801adb3eb207b91b7029bb84dcad43c6db7015cd31a063eee50ac9b832337e3e43991612f0c8e05736079e5b4c2db5b23645de4a0b4a81b69c64b07f32b6050302f4ef517fcc6f0231af2c293c906d0376b1d586d37e4addaa011d5bf20041a54449cc42ac0d5c376017b5c143b7df320d82f870a025af03e01f5847187a05f09db6be426eceadd2103c0c4ee06791f67b875face44b8dbb0955e87401e64c35731bef314e0210f370fa71b900fe93fea7eca665187222fc5354cd40a3869f17909f851d876f0e78adf83afe24c6ca832e1e87b5c5d2dd2a07a0ab8231f6313a01c60bb321df2a4ac37dfdf6c127235c97d67f07c28d524f3627c373bd2dd50d55395d27dbdadbd1db54320130196cbe26b4240495eb6275164a7f56b7761a0ba30827ae8b3abc4f074ba8aab3377f618dc56ef1fc91efee863cca3aa6b3e397ceedc67ed7f138f77680db32deee592d702d273734bba6deb5e24800893930a8044c0e0d97f5024b0091e7a954bcec1448c53db4bdffd142cc45c25aef03058803528abd13b3126b01c13c295a4dc1d8c25239fc8ed85ee1a8e69ffa0710de27c75d5751f472e0654267291c5cf9a7fdba03d3852e03506586397e605ccae107db2bea9c158f6906b2f8a29d637619bf6c63bc1862f80b1673bcadc570fbf1cd94de0b488122f6945560b96893cf4fecb72f214625d22ca188f2d244419f5ab29368afd993c28c3884c67519a25661c53e450eb8c3210cdbb8ca52a71a18cc63465de7f0558b0112d45c6f16013e37730bcaf619eb15981b91d110f32b34cc4cf288bac922ad44284baacdb0279ef3d450a550dc3fe9353f35bc7bb2d2076222dd0cf9a8b6b1c6fe462fc9f03afa31ce44ad48479bbe6a7a8efc4cacb1328798f07ce980503daf830c9f89aa12fa49de8a75c3c78d14e3be2ea2484828d5e8170ce650b47147109a87f6cab8f78cd18cb30265548933b57fd4def7299124d401b8e7773488366b0c982f96fe11b516bdb00eda1f6b565add016e2aa1b13df81959962bd86545d8842fc18d089df96a6351cf8310124f09cbee465f0c06ad48e984eb265b257126472919445edb0df206804302ceecb32a9cf2c2ea1131a0ca8a1b83266592fa2eb8a7724704a0583f79d5ea1a7b38172f81c32a716f036c99f6e31a67569edf3c0928fbf503be2563369cd5612f4eb2de82fa32a8543f27beae40b9e9355002fd9b555624242b847f54d02bd23d795a8a2d37c8b167a4f2393b321ba869ba53c50b1806a1a32602e909dcf54880f33aedade03c657ef5d15f98f6300d00be236a5a767ece20210302aca6b0d0a8bdcf8ac2499ac15a7c849aa9cecbaf678cfd890d8a4a0126d7c95cab3727848de710cc77a50c3c91e1aad60dd64469d97625b446c4d1602f61842bd55af28487c9beaffe598d43306a8060abdd40f87b8e75119f87520dd77e7ae69154f540051316c4d94e903988c7c0a574d9d020861ae6e9320b1ec8c01b10b5e61de08de644cd3bb67763890cfba54c8997cb0db048bbd0c3b9e646f8d88dae2570c40765f35b3d60a5aa79f2f92d8a93c6d1878abc972ec6b97eac43ee2d222630125575fd299c5c36ddd95c7e638fddcb8f634b64efa3755afd470c9b5738d9c50a7332fa6c2cd87217b337e9b5f8047396f8a78941395fd7103308bc2344d720635aed858ab0fbd832aac7066f4bce0a63b89f3c5513466857623991115d25e99171989cacabe443f31a7f5b032ad54510f073ec5f800991242e65d41865e24875965e60a42c100027943eb3dde6811b119673b3190ec0f1b594b30fbcf9d98fea4686aea2939eb3bb256a0390f5b1db20359d23ecb50e2591d741b2463924f6c3c711ca6d62f4190e4a081614f04948b444e8a1ec3584b37c8baf85ee96d6d29a18dda48f98e13b7cd53e3b3e5d59cacda401d0e66a8f93a3cbb94f8983fcb79448ff14c0bd977e3a9de77e2d38e240a20d6125f9de923607bcd11d85294c73e2c0eea53f4a2a03b75d83889a344706ae4517489ee8522ead6f20fa3899f22e6c8c0aad37c2e200526847f4abab1c837eb9f554dfe3190a19094031b3ad0a3fe73fdeee6e09c783ab82c99fcc14de7620c0fff4cd1a672c10ec074a0afcfd01adc0be538f50fb7069ac2b9280645f0f9f53fd28048ef448665089dcdefa996940eaa6b0ae8fed517902f45bf00fa7259105588fab8cf5f8ff49c9d6cd472b4d5b5de7881cfeb574d6da7f65432cf270668925e40b3db5b5aaaa6c66063f108d565046303fc09c770f78126bc86e2ad270254dc7d27fbe256d5ef4d881622ace8ed5e8c367a40b94af41e4454eb4d36582777832657004db01544189398b66a79cdbcaee2bc9d4d4a82fb42dfd281aec41668444072b1af7bbf441506021a693e5e6ab46f5478af2f72722579635c87d64f20ec6daa8db91a381282004d84d20fd1f3d97b88912c1c29b0a074022c30cc83e95ed61a545b79d869773447eda0c92ef1eb7157b900d5f0bb4a72175dc3f6f4767232042a97fe96bd43e5e94c31ca07ee13e812a3eca385074e8f5e10a35c178b515e1e5694375674a061f411dfa1b7d4a266ca1b587477d25739b8a6d2b9864dfee2f4a7b9cfa8a229cfc29f2c4fd4d5a2d866fa81246305e980b1e6aa2f4ac2e3090fa2fbe13d200053d6e6320bac9747f29a797a1d1c4be445c6ccd4614c13c0ba8bc3f3efd437014e499b9760e5f20ecd7360197eee6abcf3b9524b6442ec66050adadeded31244cb2f14540df865d906e90b021dc229821fce9491849f91aece005e2e0da9ccbd5fa9581c038850096612f51a38cb01aa9256f47982d37f817b800ac5e4c1651dcdc03020c18a952de193f679f007d83992216a7a24661df3712d576b1215dba0212b053e61eaee6706d2c843f49a6fa1b467c9564c342db241eef1e85a9018e57c43d652fb756bc7416d21d5e1136f0e96a9a07a6706ba2283f3853b71150d595fb8b69d3a8a7622d525dd3c25d406966f6bc7f5eccbe3c1407d853534d218f5725527840a44b0b8743fc82116507ee88401f7fee4754906a76965826a54db1548c8a7d1068306e5c58c95c690949bb60d4ea543e4120ef06965a3e6b53a6ab91a8b420fde554c7be247c5f1169cb056684005351f3bd12a00b9f561aab5b23ecc5149d7a5ec44b990336c217e35a080270800466dd2ff80bc2421dfecadb8987f5e79d6d6a938a244aea4b08d953ef991f36fe6bec1a13e834fa9ba40d70fe9efa9fb38c67953ec1140b00a79303a2e7eca368b978659e0f1809ea450d9db55cea6abbb7cbee6639c1e0dc79c1008fb367c3893c416ae2677e08f683a205f85ea71e1e1f1667117ca8744bf65a2d033f869da77d3b8661e07627a80cb906df182ed26c3bd16d6a5cb4ef35c39ca8e5c93d4e981673c62e08025c81e5e551198e969d375519c79449d9a31aadc6b19671c030ee92ab7969049b3914e72746f00bc8201d3f8f6fe9e63e5be5320961fc4645763271d974466d1ca435eac0a0ee5f64866e88e39a81495c79079b99aeda98c907edf1658beddc0dda5e4c5642c4507a2e0dfef0adc4a63b551305eaa9a04c6d0e64b8674b01618b06d16a7084b194851116428af61f02111bc3583ac4734a9f4308364aa722d9a02be40270eafa2f8f7a84f006f802a4318bd569e5860632f2269eec3f1995875f1923dd1934ba530eab644120dcbf2ef37c350446cfb69a831bdfdb4a1f5beef948ce0c8cf338ac33c06584b404d4964780fc02d88f752e72a14c62c1fc3ba67d4c617e08ca2ad57b37eb7a65e2d13cc1044651d46f286902abc60d8c8e643f6b3ba66c47a639823ce866812ce9535af6f9c366b01a7251192661ecd8931b2718abc2f92db080d3f8ec59df87f8b06acdf5469088b35252ecbe557046fa6bbfaa4220f9d4fc8083dcc07b69a2a31f723e0640d16789002106ac8fbcdb101dfe11baa1b022725ec74c590a7612c1aafaf8b2bca8c462ebb3e517ab75b060968d6ea212e6872a7ec091b5e7d2b63b19f6cd7c7b4d046d620d28c37f6fcb9c83c21c7f95671cb56764df64bee8cd5a133145c83e83c3a94e56fc72ea48e918d4aec8f60903c78a63862bcc4129e1593a97ca840fe179a59965df0f548b93dc0c9ba55b3848b68b5cb1c732bf26e65586bf61177f4736c5a962ab97ecff65b3d117468e69e43d0abdc6a422c19190cb04547f6acddb7d8a2a4765ed03b691bc210f82caa76a66f41f097139faeae0600fbaa21da31aa57e6a20d12dd441dab23fe6bbb47f820ac0bd61115f83124551d8088a4ad2d6b63e15667c9fce6ac14700f092d135bcd70cda04d5af4e8ffce28d28d2d3fbc361a1a250d35d718131b80e836e94e9d229580e45766542734b1f5e7c4f578b1581783151a8361821af7efe0b5273b88350c9d30bbe165a3ca0ecf633606989c881ca22dc22731b858109ac3557d28592daa6541006cea90f94765f2b0ae24aac74d0a2cfc9ec8f6c8a0789e66e9d3464e1d104aa220c53770b64171cbb33b166c349097d4166c51616ebf989dbe0a4c27165307bb1a269df2f72bdb3f5a1373a857591b39e73dc773d0cede00ca2e340235a3267a3dabe7feec56c78a9a6d53c94feef026b32d9bc2299e93361c3805f2ab29cb3727ed1273c986290283b1744027d6f59a7105e79aa07b2007e4d3914f9910ddcf042ac2f0644924843f3a70ba13cc13aa376803952224335fc13bbbd19ecbd2d560c73775f71204935a8fdacdc8b48013379cd42a58d5e5959a3841534a1b08f961a8482963d45677c0ac91c60144e0fc3fe063671d1e56b08a1a5c9de93fdedf4d3f923fb99c0644657d90d401069ad927dcd0ca02ea7402c1235d4ae30b91945b71abf4d233aed29d861a2938e63ebca9cf00d05a014d5c5643f2ca0529ad7f04acba722aa5e7da0f389c4f102f6c501bf12572cddba7464b7041cb74372fa384e1aff958666d6d5e9117f36802ea4acc0199253c0291ea44d738f4e5c0a2d2708a9921623c7426c410ba4955089b46c635538ff1aadcb2ff09f8c5193c9642f49da611206fe63d5d0380a91f68aa077b3f814dd8fe6316c2df2974007993793301edfe3127a29c16269040d716684742d3f7d1a5e6d45fd35520edbb2e88b42fb2c5f96561063cca4bf2341de890e920511f12163faabe095cf429dcc25ddd68b2c68a3b0e579955a692cafbcba1645931841f31ca857f9ec89f910aa917bc17bd38c7541d4c05292c9f479571312723c5b2914e68d1cc2e6e5b62e5c4c630c2755ee7faae27d7294f6ac9cd4972d087e61804ee2ea90161c2faaa061eb78ee8ca0104ac5b62c727f21463175d3101284858360509d3649de12dc11cdcb11bf033e097f320fffb374f090929a27765269b74f8471709f8cecad45ee788d71e857df18a09f1759ff4e4ca9415e82fe49a26ccaf9eb1471466bda8b5c3a5b05e6c6e0b5170703afa3eedc3360e214b95e3143473c0c51e8d793c42f373d1bcff9b0fe70abf0fc9218492c58a1f6a3cfb735c4f836444a6d4f7f53eefe25dde45de05dbfb85f92e2a669ebf51c4457326733e0262fa2540a16200b465a9e150ccbc30e26e080b88e8032b1efd473a2d83247c3a783c481d7ba8e597116016e22d3a8a155cf0a90a0c431224c0e410a9e18cd432a89316585da8575322b08eb71fea51e071ad7f2ea857021e2c0e64374d62a8ff7150d0683458d092068f1aab0822af45c4a4512555105724309a30126395a98cd36dffaedc2d2a96821d432ba3eee6ac78c054028274bba4513a462b23ddedadcebe418000ee4e8430f368aca14c254bb8ada8458509a3632d33335529d3af7b81822c56a53b8c8cb63b36c832e0935e30f0cd91a19cd90d27aaf681a892249542059109fdbfa286ea193d71f7c8cb0001f1691a2cce528b6ce4c5d7b30e076eccafeec6810f9c870a89b5d29123fc999eccb4300b8d6d03cd53ce3fa131f4179005590a8d99a49528d47a34adaeedacb73fe22c158ee3cb112d2e63355d5dd61fd52a33d68f156fbce18db77807def77976075acd276800bb2d63d2eafa581ac1c8f32c5ce7f23afabe0acf43fc39b4cb546a8b5381bbac3e21dcd5ae72e38d349f70d857e7877c06fafcdcd8b78e4cdce2af5f6e98126d9a758d8220de8f155d145f07ab2e309bd6617a0376e79a20eb3c7cd173f8f58479644a2cb990f2d2fe761342e426193fd1065a1923311a19126bdc345309ea39589c8448feb3e281a0ae85e008f16e948057f454fec0251431af9ed37769a76e9eab8e287eea4a006ebf7992cc7704ac8556947df5e35f3100d4d0def8cef2bca884285d4a85db7d8007c1bdbc22524ae13ccd3732100fc977291941046a7c34cf6d1f9aab15b8ae5167d6081d2f01fe8bfc1881fa1929820017b6e297717ec6762bd08f40fa5867a9c57b8b9c4084557227146195dc890e81015619263cd07efb7db4be0caa9168bec41d9893001b54b92a46fc3150a3b5555a63ad0a163492c3b3fcd543fd8808b63375e40109b88917639c700e1638ec8d75f0498b99558273c4253ff01d2f5567209e67eabea82f0290699d1a61a43bc92a25727644c7123e79a433ed8f7f2bb688b055111e47145bc09c4d117ec52b7a6f0254a4c0b4f272f0436972b29236d77a25c4b0ab0de58f4b9b8f3181b3b2398795743c87a6a07264ff98af71748ee2f7b29fe06f3d6c3cca8a22bf3ca9d1068b06588b57390ea94ea0df12c0e3c3847808843718fccc10f8cd8a77ded615a030e431bb02be503432879c40ba5327af73c030c00a2cd4a963497c309d5c557a32bd13601ada8133450acbfa4506be461da35c34aa5deabd5de29d5d489eda5b15d4fe42e64bbbac41c4cb53b089df9d0a1991a2184672c1fad9aaa225e470a85eed06da23f12d57a2d90e0b872ba4c103fb2302f311c184fa7d732d118c4842c324bb8988d78dda8b2c29597391e3fdb128e8a60932f882e0df6a3468009ce3a0229504931f56ab8855022b25a9d2b7091e354b07139a838b94facb8778440f5d93b20470e4886e64e9d14b14c57d8cb45dca188e51a57255e9917731640b3ce49332f49350973d771e24b1c5f5229dc6ad5f4e74af31826dbe508f4602b1d9ce528ab0e3c5d0a69e8a76750450927ba2d4c5c5961a349b36498af954811ed7cb0ccbc3cb2e0ef72be0a32fa3f945ccc0b82aad5c3e1495ac12932f40660d1c2225e4d0ecd2a32a3426ee456a713a59c1a536a1866f52fd230637bf4b1a84b31fb298b3b6f57bfa201f2aa00d143d918281b40f0b1c9fc1522253060e0ecdab84cc5539ca8ae0b078109733bf661d3d0fcb01b3f13ffb3e82c93f6ef47b2d74b99b73ebf0cea0d30351c1f1488227ee0ab16102af85db12ee8d16c9546510b716c7c43757a00825fa8a1d8e42b870cd33674f1e4c513f77bee5237c1cc3539df82331942b7933782bcb728fd41b3aeafd032dc98d3f66d01311ba9a3d28968a2791f7ca6db3e4525f5a65d624640edef92e50c2981b056f1294c9eaf285e70f419ebf1af691bc1212bc6406442e9f926254e044180c3787d171e8d14173af2b1f4045060f20222aced585ea030798ef9f206d1e70a60b18a82c36b63416efe6d665c4eec89c9e1ca1ebced34759286ab817b23f3e090fcdba6bed9c318966a21bd42cb533275d9d25a0f488afc2e28edaf04205943e2d0e8cca097d09076d2f93c944565053a3431d9c0fd74b45d390a81c10c8f16ce72687b9bc8a151e4445ed322e7ee11d76f63d1bf0fb3dac92aaea37c99fbaa681fc97f906c76fe9bf30fe8c989ee2bfc39b217ee5f466201dd82ea2b7e66c75b88075e501e0174e02f7fa2406678662d98ed338c65d9ff5412c8caceb32c1dd9b43db98d227837581667b2afb29e5ee9badf31a49c62ee091f38eb3b522954b98caebaccda881d10e53d36a1dca380fb424f2927f1c3e490f592aa28cb4626384d3a514b5d4d1cacb560f1e3370ab422c0fb1b4e2a2f011829661fdd80ffde6ac2374dc8b9210c1659f7b71f76b699d95481f9951a5117ad2a240d4f8b568f8b1b0e70a3998845d90c7c7db4800a2578df8a39f4f1a22b8bd0f3fd0423c6acb0f4844dc13bd07fe05a2353cbfa9675c62b414c3abf6a5bf962a1dd2da636734ced26f2ce7551944864b784a61c07188d0019cd69e588b848bf82c06a9fc254dc9f26c72151bbe473045ff370f874a157c004852f6576ad1945559d28e842c404c471109e442e9932a9b269252a2e70fc468c37d19a0b905a7b88e7133beefa689e1285085c1227d01629a86d28a6e81ed8706fb68b11f752d3dd49607ee0318e94863381c266dc4edaec0f1a3314ba16de7109b3827c08692fe3d03ba630667b047804577963de27ffb6019fc86ef0db862e431e1f8046f46be459cb3c589bb3ca308b0e9412d1af51d83fa7c5f164227813b86338c25bc1bbfe38e29a2fd77a02eb866c7aba6b29c6b7494d23034d5c1bc82817a7b9af7461f1c841e5ac7df6ec48054d9b0997b8425889b2828f7b3905216ec7fdd2380662a289cd1824516acc8c35a5dcff9bbf2982900e3b708b9bb44eaa921084206cac2ab4dbfa1937f88d91deb24e66978936ac33e89edc7eabce5e7bd5f18f68f50e6742302f70ae8a2a4574b1bf97324e0aa264f1657f96e51f2917c989105560208af4b08371da26d65add3bcbe68df1f71167e2c6802c1ee06a1fd6c1a89845f27651a7962a23235d6b752e942894f55d884d1ab60c1e51f41553ce5b44f1a78d92680c87cee223388a952fc0e18226d972944d5598b0250d4f2fdf0f8e1af5e3f1dabc8a658b06a663021ed353aef3f57ee4695383d11cd91c7f0b6d53071922d5d6dbeed6a1b39c0767038853ef853018d1060346c1b5eb3e970d4e67ef4795eeeb26cd1679154cc687c25a4fcab90b39323be6c939e4c8e55f76a1fb411df0b2c1191455375ba7453e6a460244314e6c0845500efbc37ef656c9aa657458bb42230bc8f79e80672e239835dd4178ac857b87085f6b5e8c24a1c99f1c56327bf841ad3f022e8817e5465c561414c654028d66602a09669adb1c94517b35eaabffdb23a4d13116d954833801ae2937302d6e33d1c193be3064b1666d8cd36df473c112671e53171c98d1617ff9a8a037c1398c5c40d26c692aa5a82907f24715f1534b67006afd4b37109fa5915e6d8658a4ec7e3460c9ddf8686ef47e0afc0fe60d42e56a4622333700dc53268500e883db15496d2e8a90130af9138c9dcd2215bd3646585dae904a1588596de0c860205f056d936e16c34dc94cb6b1f6bd23e861c40cad5c333616c485e250b75354ac8585c2afac9ba6f7582793cb83853da149f3ce6fa9fc4b598f6e3687061cd14c0deba4ed54975a171c759152e21d64a5df99520496464c6be54b154e69d504da5b33e65935f7114aa007ba9ab4c6f0d6071aa98a822087d2f5d9ae5cb1f5a1719283a0d03ce193f479f3be3260adc33baaeab4d970b1f89200cbece9d2c1e804f4bbf502375b6f2fbf0dcc7966865c1dc79ef5191ec34816542d910903de22e1260e03816babb2b9c59614b46e2ef2aeaa9930c8f2cdb1e5c238a32ecf722363aca43438ab871a677d3e79cd4faeab94eb5a77717ba0212acc5e990d8ab74cf0f2e11537ec7d7d9a0c730678885b22f4ac8beb50cff012595f1b224fa0bb2d00a3afab1f6d61430b26cc717ff7dcc6fd322e44c2d0f0f535da0480caeccbd4b0afa39d82761ce3de9a438410b25e93101380305a45422b721d49f50e99e10b83248abd667e1ea1a22f4a00962f6dcc2d7ccb43c140f7208614bcd2411779e74e090af28a4105c50d113e3879494ca3929b00ca99a9c080632ce2f8497267f108cec210087d64b560047004700964341818312228443210da99db46fe670a82774389413443854134538949515876202000eb544001c4a09231c4a7684432581844321c1a18ea802203962240000564588e8e40c11826355291457372a8000efc640023db7c7c9cbf09bbdd8dedeaec8b2aebedf1d0487a4b611662dcea1ac780e5505e45054440e9524395496c9a1b0500e35c5c6a1ae540e2505270485c249a538dbbddfc89a161545df8af0237c27f70380554f19e147f81bf410d88d4511e882fcce9adc2e23a293334495e2363a6504125a4d601d4860131240ab35e8e9f9f922e0bb537bd3d37ade8ffdb913f501478c0400c08b073eebbd1122dd00ddeaba8a10d1c9192204c7aa5228ae6e74cad70d24d48a0ddfbdbbbb5935a5bbbbb3acf439bdfbbed7c3e58811a70080841ec629236c05817bbc81d994fb6f006ef574f3fcdeea3ffee436d21d10ded861e5ea03b3bbb1e701e5f4d50ed793ecf65fadc733f12256909849a8879c5bcbd1a2bd36676f36e6ed3127cbe8533fecf23a1572cb1737fc01ddf2bb7554779f3cfaadedb3ac289f407ea89524700950106d76cbcf60b78e6eeae6fe1d4547ce16f3ea3ae5964fddf207d60dbf76749f5af72079fc78970b3a2ca74575cab8b5efd7bf1e0b108f71731ed7f3becd2d7fc0bae5e7e1f6902b17fe36ef066629f3a98eb98fc52613e4b8d0eb3be015092707a0c0cb87b5211f636100fbbc4ca751b33b098e5f82833855da77bdf9cf4f7586027f21d123ad15ec91e257b0453c478ece8abce30faab71d10ee82c9a76e20168acd1b24a6fa0297a7174a4bf4b7793fb07c207ade4b88ab3c85989dec9e4ebd83ed52d5296d164d8caa24a266134fc7b66210126467d2d5d28413c3ecde3d430aacf7b76249b0fafcf3b67e87c18c06766e0ccd5eeaf874c44d26d29d97918360d8138986c6c0287360da9936f8b019e3385166601b33af5b22683028bc23d28f401f716fc4de087b23f646b8de088cbd11f546546f8457df8bc5f901b40878dd2ef9a7d5a1c065413e4c2c528c3f92299c551f35e2b0486df945bc3f230eb1117bcb6347c416ef088cd18b40a0e8fde7ed665178e336c1e3c2d36cdba3342d077a496e554594405b73236358c4028d5b1cbb86514bde667577ca34adcae50658fbe2e6d210809ec77bd2acf0de0351ea372a490d5b06c18cfcde4c0d6186841f03c6bed0239189fc79bb5715ca4e1b90c389b435657e022010cf28e4467c40b2118f29945b14cb3bcb3cec3ac77b7a3a483de6794e40fc26b73f63227e1680e5b1437abcbe16646ad3c5cef0e463900cb4159a2dda56d13d8384ca94297a358d5afdd22632ba70e5c072105411b19563ec56593cfc01939ebd5dc29c95a8bb2cb56b01e9b3223595e1641a759ccc059793592cc7d39d4a4595002150894f91b16ffd87cf59bc03d826520cf9c31a18f272f6fdfbf9f8f979ffbdc37f01fcba5adc91b75a2b45afe9c93a75b680e7f19773a45980052a982b7944cdd872730d016c1802ba44cd445040a2913ad92f9f630f384ab238f4e4c47cc9d2c1355526551f520b8c328cedf86f7cc83e622b8d10aa00949d6003007350572a5275355c66aced33d91c6e911cf818015a43b2c9de726f29a594522619410431043b04bd07ef2cfe8365d3dfd5b261b58e2899cd62b49b958d8dcdeac6c606357fa82348f83fd5bb27c76bf8acc685c367288ae2bc248ee3204c2625b1156e6f7382c5e851bc1a958ad7a0387719b90df5cd390ac56f43372c15c6f9063ea870bd790d8ad7d47019af06c57900a13a85e235bd07e88807080734afeb6bfdb4490d084b93ae007414aaa3501b8f78a66a52a99ad349d51f07b65338ab9bd52af5a3db21ed7824d4d2ee862360d3ea26d5ba05d0396fe19c6c6a5caab189a7761e4b140d90fe5f06c14ffc71ef5acd2aad3e7ce0654b9fc2dac22429b66c08f6590037dc001882b13a8fb9030ac2582e9cd64caa41379881bd883f8b2d0bdb61f83500616f3f6319b36d8e60e01ea7e3cd1f295419630b2de6e0c18c32df9b3f3ad8c18a2763a630e2a70d1f92c90d1580cc4ec6344d9062efd0b14e6b6db5d75ad56f4a29a5bc8231812cb6ba7806512ca9364d0e2f84d69ac0bedcce9a82b6028429a16366472fe4293e59aa0d4d8e10828534ba5823db407f6e1f9cb142451830595491ab4fe8a460c1e4096093e01966609801089d135d7f8050c68b5e126cd4809482c298d9814a995c17615427ca10200ad80c5b8cd8135f5be9ff4d167c69671870a291977019f767cd54a509466fd326e6a4b867cc29e72565625fa0943a5132626b2dc6df5aa229ed6253c1b49d0e907c4462bcb65f7a9fd67aebbdf62b7d382cbe94e2fbb66b5b2dd53b6a52b7b650b7d2ca654e8cb1ae7de26e5fd3ef23bef276da4b712ca08f933b0e065f34c6f3ce39a7c618e3cc33768d19638c55b97c73ced8febbb1719d773a10804d475b6b2bbd4fc5d8cd10f4aa2984ec322ffea5bfd47eeeeb01414e73a60a374c9c14433aebf5ea7db5e2bc0afb57ee4ebd3a9c741aab434d2655a9260b001b4c275d59a1aa9382d9e76ad59f1270c425985e7a6ebee03d2ad6c8a72f7f8c73be52896942bb80531e95eaa881c5eb5884961f27577eacf0b20d37f8e91772c1452fb4186ec70479ea4b0d50e42e5cc22a487891c58ca1331cfb2045942f5ce380050f656812c611031b447c242303711c868622890b92cf0a5c86a3b8546144b81b02cbc0c52a1a8c141db8ce329e63906d10430c8631ba8b526f51ab46cd4fa32aec9a830937a5566ea413295188d81836eda1510fc944286506222884c1868d7fe8e9356e6e1046d90c6981c0615415e2ee6891a2a3d6dc4acf864ed4d0301cd251aeba9d2806566454d30d6236b195d3f9a8355f85f4068bcdb30ec9bfb3473b35b562471dfacad1713b86869cd0098eb32485d390d165705e85ae81974799c7c75b113c4525d4f1131739682a7a716870a6496bcaba76a76787e766a7119adb33ffff3f6d918700820516f0e143447d01ff3f5cf47fd0b7f67bbcd7ce53d73f134a5571ecdadfeeb7dfed5b5b415de2735491230d19731cadb5960a2d85e1f160fb1f811f5e2955f171cf3b2bfd7bf349cf89000d2c9d9edd735ed4c56da73d58014c4a4004ffa82652315812ba3e8e6d1e0119ef5c387808cd1453dcc33a20389a434fafc8048220c2d0910f6204c9e7ff2fa2b4d6294a3e5671b6141bd18e31a5381b19c1b00c632a868754a7efb704a4b835a506ab1787bbc519a7a4d0f99dad2bcd9f5479c2e785251fce67574d77882164c337486e67890c0423454458b17aceab3e50d0cb68621643ade77f10fa3fcae3f5a0c34df7f7fbf5f0cbd706e909e971fdbce7618c93ae1eb5ae37676d4bd7a4255ae35610219a5050d2bd49494a955aa0c5784b1c24bcb5546276bc3878f4bca09950ed939e67bb1519e162aa25aa9f9a6da8c52cd65c2faed52e91d919c495f625d6ca643499d0f76c1056ceeb7b5d67ca0f774b89d81d1523f7f6e06c1fe396112d3c2d3c2dbdfd4f6bedb5ce04aa9db6769bbf874d60b55d720005d8df542bbd852f9a38f58af31df617cf4edfe961b87f4401a1b49cd69b3c056f94268a2d8a65a8c682b6dd7f4a20428a0cc14d9e281a39b25748327d13b877596e7d4377c9b958ea1b718b931c3a51db10df371b6e95f3d177d6806e8b003020ec3ec2be0a3fac3f628d05c5500cab6e5643daec76db151df970b5da6d12bb1035ca1dc564b4a058d0afdc384356576a360964f8dbb5ab956bb7a84f899227e0ad4041321e8a6834f7162b0cbb0d5d46b460117b188a62a8058b9622abc015ae69543838d5dad81499b656bbbfc4f940a7fbf8c0001f4456bd0230858f90c20d906a0dd001ba69d1a015d2114f812178d85534d467e7ab244ff4469215a76307bfe489debd5d575654c91752196dfed049428289275a5841038bdafc21e42868e6872f8aa400f9ec7297651c41e51e2025b6685afb775487c4754fdfc095e5ebee7ae819d5dce3c8e018e256bffac1ca47af381fae27892ca9460120c1276c474eee1e955d77d588b56c294e0db658f21393a7633932f97a64bd062f47ef7014fb263716945a11ea51da4518577c0ce80590e1f56221411a6efc46b8f9acba253ff0c14126c5a70c6fc7d9620df7fe19f970383b5e2fc9a70414c3025c54e4f5cae7ad5adfab3e6ecf74e6b7614c0c52f176ba2be06523e006056c00240172c819ea11a4e4d261d6daa1075bf51f2560010401a837170b67474b47cb3ef0d6dff356b11a2629cac0183fd6f192f5edee89a19d134162bf40ec37f7c71863ecfa3fe53bc26c7fccc9ef639d626bacb6877aefb2dc9476a075ee17e3fe23ee178f4b381ef5699264c779dc75b730a8df3fbbec8af61a4945283c9aa7c70c62e561ad0300c1003326c6c3fab69b110d228404c36b77695bbf4502effa95c038b6a1ae95574ec90e5a58c105b23a7922786ee5d648fefcff3061847061b6c8e57836f460db5a4bd2681bd6f4b0ec61d86bff1e5f7bb4725c381fb05cf575380680a729a26491c388a12c445c2c1c0f7a8e7e11614d96abbb58740ef961f526ae9c1e2d57278159c230c12588c76ae1549f510e5eaa1aa84f5030d40fcc05fba971d574ac5d8fce42cae909d0733aa53802f09ec303f8b5c33371292319340e5f52b83c6674038ce64dd4ece5c9941a8f2e4a0cc5b0ec9e44f122002f444d9c60010388a5da0a03dbb2a33d2010672d118e48299be1376ce43ce13b82af7437ae2a22c36b8ea812655f3bafb54f5db4fcd9ad6d87f9b4d65e691d2b4cdf4bf3db5b29a555773d430fe2e54d8d1c9b454f653d5631860ab654b7058fdeedcba9e9b685675046ed36440666d8fab7ca501965b5c2260e29cd57f6dea00efc31aa77371f78f6fa684b048588137951f5ac162002fa057c61d2666c14b33f7031041c5b10818518217a45cc2106cb16485986985a58fc316caf1759f02b37312b1ac0d87a0fc0eeeb815a2d10a65fc77ed8088f7450e0356e262131747a0b43cdb60ef1b003473722ccc4d1a5891e3408e3e58a171d8ca6d06a972390d823108ee959c732ac2e882eafba0af32f849604a89601e39a9215a37f40cac18a18613a97dc0b882eefe3471f79a1724695b4f281cc989e448ece4e1538b8e0a96941b37d9d7e0497d2b79fc0b4b7154240bfd22f36ed4839d2f5b913ecfe61c7715b6a3b6d7d6dd6664a0bd74d317f7830431a1dd5e68853ea9a27b0305d575618a2f9caf543564f703b7f4ce2f307922a5f7cc0359eac51c66afe3040cc1247734861066d099fdf82461b8176dfb9cddf718e4eb823f623488cfc77b1f6b0765d3bc641867ccf779c74e47555eb6a02ef15e5ed487acc70843561b75f528abbe2b162f57b7b143b6a3b719310f0567484fb60d3bdf7227def7db7db9dafd15e88666b0ef5e7af6fabeda1b51d4fbb631bb83b36a1b7d676ed35dab9b6a3069a72767a908008f9799e3be487ad4d72648522444498375f7b6bf65a7b6b5a6a5a6c0fbbf7a5436194cf5b29fd9aebb5b6df5ac7231a669b3fdbcd08178363eb30d3a0dc960481d7d6e0c796905c705605e65d5979d328b47bbdf04973d160b50b56d8d18c489658f802d12c2501424243831ac91ecb47a1d81e08080896c79e5536e1d73bde9ab72aeb5ac371bcadbfaf73e7619ed56bf10cb3e8dcafdbbef93ee9f53a3b377f1db3befa7e9d7bfa8c8810c64831fc75fb2dc9989a5ed40818bc7996a3e936d2e6dd4c6f3159ff3b16d08557bd03012eb4efe0db4836e937a3d586def74a3d4082e0efe9725523dd5f02fe1ef77f54b5d5b7c826a27538d25f52529834fa92c2300cc3a6f90bb264af9ed98d369b6ab9a11e52cf11f2d980a36ec7ab214e78a3610712a4e7496f039d91678e79876318867364620ae29061f837a0b51e470dc63ee748c739c5ab33f94bcfc4c91e13a218bc58917d39e349131330217bb2059827a4a4d1faa51fd31887ec298d6deaa36937e13e1e6c4db767164b47261b027addec693b0d7cd00bd90ff58ea7ebbdade86fa1b6f7b23aebdeccd2d1c13a3b18b37a0fab27a7075c2eb7bb774b10b65f7827409f53dfb8dfbf72b23cf09e33ce3d3f3de11f3be338c536e27641235ecea8628c3190a9a9e24eb7900da68e08b51f6ad1524be963da4381e01e7c730d3b5596a8bd392aa7ec65497255e942ed54aaa6dce18c763cd428b136bc1b59a130559c2c6d6e4892c6869765121b9297252f499b9b5e6e1e92a3f6a92c1bd801f222390a85da397dc86a93342a23281449a2c21b9bd2c6a695eaa2121b6ed7787baae38ce3490c49e024902894e5d68e78026dae24a199a5681012128ae106c17ac8f1d5c482e674558c5d5a6b3c053f857271b73cb0ec145af0837ea4681dc50994a7b5cfde97e93fd0e909109bc1fad0895c9b00a26c268144d1d0f04ec90a761737aaa2c2be439ab02cfb48fefbc8421609e2573dfe3fa57ad4ff4268059e87a7a28fb662554a9f566eff0bb29ea972944441ae4b9101b01b6d804ea027d0b9fd5bf9f5388e736b7f677d5055332b47d5ebcf7e18171f1720acefcda4452945e1ad1dc74aadb6e2ebfa7b26d973ffe3e023926c61a0b5d8adfd91ece216bba8bb4602016cbb4a80007682d86bdf7f461534f480c2d043495eb46ca93b196e0d260b45b4cd5023d3038d9430b431354963b27020d196b4a98464d0d1bd219c62a75bc2df84f33822069c3190aa12004ad81d4216c70818f8d561d95181d399a295e75fff5239f3139e99b5c2e04f2dd5646e72f5d6398a6c842cb6384a9de349cd1c375f259109c57bacb18e2d39cc2336424565f25ee2685dfdbf65e5905d1a8cc9caf1b362f1d8d153edb838195c690c6e460cce140627e30b0e2cc3d1e882874186fff88f0bd6153e6a30b2033c0708c063e43515578bf1edf4de5b6d08355f8b2d4b35c64e6b05a553305189a1ebd31242554cdada49042fcfe6797d8df2d28e27f244f2b2ee59cf8e41008f080846a85502284889a3bd99c8b1d7ebf9aa124822ce59ec7a8763188e3b0c458d13638b4c8ba2a6b88ccbb89c75b96f091a6d785eaaaaabaf594d55d9bc0d895874c2a753593b52ce1f92a22365f9b5aff1f46cc9fde31a8a8a8a888e8c847856a9664a46f4a8a6e76c7437ab26db6f6c6a28aff749be1fbdb5176b43363d7107f475bbd8628c6f76f638462b42bbb59d4601a346bcac6dc637638c898244c19f1d8efa92e388da3b46ab058fdd809221bd828a247194ebb6de70b44389c7c8138bd56a3c4790f40049b2c9bdc991dcb336a454b34535d7e83abd5e4d339a108a8666098a86a752289a92bfb6ce09f822cdf05e7bcd866c1b09468e63389275dc919bdc7b6fe0dcc0bd9bf6564008dec702b8707cafea76247a782495f891d88fd1df92002a7a1c922444721f926752985d377722a5bc7445bbb3fedb1e82c4b72bafa0f090ccb96771ff4ca59a3dedf542aff2c4cb53c979793a4d5235aeb6cae6afe5990b27d3c499edd1657bf4c30575b15d93ea666ddfc9f18a826eec7f5ef6401fb4443c32ee6e6dafa2b54532233dd65ad23586b98fb9d3ec0a73ce443ba21d1152ce2fcbad6b7f2cc3fbdf6ab6e107a529b7041345fd4b999e0c4c8cb125f9d821d66224239ffac40c103eca29903136187bc271c65583c4581b450997d7acf4eb1ffa6c002000b3b50018140705a3f134c951186731e301bdc349e1637520c2fcefd70b14bb23536bb09d2aa41223ccbb5af984d1f8656a30f03e06ded35d4ba26cef36e380e9d8a1e11bfe04aae5ed0204c96bd19a9e658c4ace6151d3196135f91f0a1aae1dbe5de46121971c5871b66ffdd1cb4bb21f14e43618a575024899807499dc607d3f648b4629db371e3b873e5cc24ca0adebbe49965b5ed56b206579771afe5021a64cfd61b32cd667c9812d320ea30f0989c7ac36d789d525d6907c8ecbe7d82cf91be196bb0f98fe38af073a7c5d43bd057abeee8a897f6f112574c7ca1aad1600980dfc0416c6ed511bc497669e3734a3006bbe8f21f4a8cc1a017db3694c6a18d7a7d61382a9f7e895e86cffc211acbb9bb458dea44e0fb8eeedd7b2baacd12941a9084bccc908286e854a02a92df0635cdbc9aed04403869b3ac1c1ab9825261122f5cac9b0f8ca46007d505c9307991db68d6d26069ea414a64863a396f4eb049734fcd83b864b4bab70ebff51859655f0f0ec8f1525bfe0960783cd525aad0fd3dbbc7dc1cdb435a36df4a1dba06a0179d9c9911c30a1e097942e32a37edcaeb877246c06269141fa313a4083c75cd9644c4155d40d6fd30e56ec5cad7558087d087013d284f4c1929925c41c5020c3043f10ac00f9ffd9c712cc5f116050bdb716377db11e58f25eb91c1c84de1c9a09769cf8e04311ae724b2584941e0cd4d5395984f66b85cf46c082bfb6cd0b5b9a8adc85b31f36a0274a4ea8d0245958b82886a50c6a03fd8a2894cd19221b9b0e4731a3cdde83943b676ce42518893f205730383757429cb9ba6c9b50864cd6dc15f53983fb8a38938e637ac1ee07981936c9530e6c154c7b883a0465012fa8cc56b9d268e6dbd08e47413eab1388b246987e5f0f618c1085d608a22522c64cd4104befe44d00caf93c8b496be50d63940cd43bb7f27011a6e9f5d152aebd8390f57c305ca59ff1553cb8df9d63fbf86a87e0c9b0e2c2a5c05cff3abc4a164827cabacc121dd6571c987df39d4bddb2c603e7f2bbedcd764287751c13e93fc90685f009bab574e147b0dd5434d47bde38ecfe1148ba0b1ba576fb4677dd10830ef0554541bce2940c0eb94b8a78ad62dd903895e00688a8dad17dd66905e61bf39f1c7eee572b4a4f5a68e170aca74a5772b433705039b61cfe9de6146bfdf9b7e6c12feb4a8b25fd5b9715f6844bccacd6cbbcb91d07a0b5ebd84fb6c44449b5385ea04040db6c7a4a03d8362a525573a40dc48f98488dd3b4e3dc5fad57d52714cc239945f622332e18442d486659c61e99a58d444df3aa57a8bcdaca4bb57f3d6ab5967555dca212c6d33ae60d081e74a5e85f04cb58f04a0426a782dcfc0b6e073144a78eb9b74d811147a2ed273d8c971b6ea4595e7990fe1d528c3fb0d1c16ca18127648521eb0a3b23d6520a3b549ebb93849fdfe05b3b0c23135ed0fa1e3b6199e4cd443a91cf8fa9287a2514213a8d9b33117317586f488abda283022d44620a2b538371809fde00719f068f51e1851aaaf36fdcbd8abb01f602270b57dde63b6f1da964fa17e682defc84c46502b98b6f55dd024a9f68726d0349431be52bf71f726aee0dd43839ec40057c1e23e388c0952bbeeda801e9383c9b3f8b5ee97a88d43240747aa37b6a8c258e48b23d98f0ab88dd69f358be3ed2393846281e58b51e6917963f9cc9d8cc03000d85af957040648507cbf765a45e010fbb188063c3748268f3f561246d86337b469e9f7453804101c4f21477d44d2d5c517a58a6dd286ddd3bde33d8d46cf97ee2ee4d1451c8623d3df5a026fd12f1c65f875d530e0bc9be73231d92916d2c2af3466692d896f9b2d010fb829cf78509c92293373527d3d16499664ca3d67ad0433ea5beff6bbc2174f7a6df6750ce97670fb211954c6840bbae7d6aefda47edf7b3b407a3deaeb3b96621157ab1521429758b5ad67be2dc9a8025112c7c0dcc7fb74e56cbbec07fd6465dcc319bbe5dea57346347b79a8c6d88d08ca2585f6fa1395b111d8b378979b7084d4af19fb504f8db41872f03228e9a3f97bf22a3a3a08232847a28825eed7e348ac1f0c5414deecb2fc8f73d85970ba6310cee60afd51fbcf2046a89e2b585a5ed66e1fde9905f235dd6313063fe45ce0b3120d206e0e6414955b95206e85f58f29f0217ffe84adb67e241a3d6af30f2bfc07c6b8b5bcad051fb77f37d20db37a7c0343f92863bf815df7d60f2ee5660616c11eaf4dfcdff81234f3a1e8dbd6b3894ff2e905da68c8df27f37ff33f02ae8f073f0eaa671803dd0f5f154fc63b5a264df852d5dc5aee083ec7895ae4c92521f364e6967af14bfd83ec09d323ae01c27160b8e1da75ab7f9e2a21d7cdd2d4d034a177273c5dfcd062a1f33255648db7c0dedfca4f5acb7422d0706bc09405e375a98763c2e483e2512ac763c17302e25168c761c17389e12174c3b1e17209e122d4c3b1e17249f12297c6ec7e782a1bd9441d07e9934925d624d7fac2434940833f490a917944c467065cf54505568ae1c3029833cfc66a1155ab58ff087585fd0dd83d8922433f00f75c878152f4004aee3f8d864ba836e8b0f190b313035db2ed1e605a2bf55849659474296d374d62fdccbd5d5edf8f3b7684c29bd9aeb5c0f2de145de43040a6d906cb2d832ad6b32fd1e8cce5d7ff8520c60a1399d37b3f608f311a2485ef5db9598eabf9f8765b1308a294971950a997bbece0c1b51769f19b62d4455a67319ff2404eeb530ceb4ae1ef2b1a8d499de8184dbe9d1df87088ceff30fe386c30f8165fe86719a19554f08d844acbf8c1001002b5e0024d50aa756daaa3502b1b717c79a7deca2874867a5ab6559324632e9e43429e2ebfd1b8485f33d5c2df4d2438b5343a6780a0244d2fb4546733ae5b07f0da323f5979caa2985d2fc5d4f9dfa51444e714c14a13250f0e3784beb516afc80e4428efe6c2e67e6b637c2b4017d82f3031b8dd4d6240862a08d6efead71c535afe3bf7fe74d1d1030820b6b1c0fe1421cbfddaa6bed06b9cc003e407713bf638dfc54423e6c62d71d17f33137194eefa36d35b940e611ecb0bc5b9a9113c60a09a733ffede2b3dd6b93680c2420076bdfffd3b04102fccc4fe82e5c0134a7b0ad6570cf89c3d20ba3770ba4413c46203f859f8194d0ce91c2b01b8d52a6897ecbeb3804520ac8e552e944ead65cf66303884a2191f56983d5e31085b19b36a6e737823a613019b2c6fe8358512b5866a82a3ec63a4ad65650d4344165f5ece3ac50eacd2a927064d61076cded35175234ba7d4b731ea08073951a01c664fb888f2558cf67809254b2d611e0756524afa307d472587d5e6af66f450bd87e8ecd89b5008887f803bdb6daf4d73188e93b6b669af8b6d4792bfeffa2463e37ab8a83fed8c25a2cd4d53e65e9685ad6e27366fa9677286c17759a69bef8363f172d01fe73363855fe97f02e7f1085ca571369d4641c569c651d9cccca823fbaca1f2e634f36357c3890c0a02c0b50355cfdb9496b5c798b485302f10045bde3e99e90f10cfc69459b384f683a5a8a008be28b70ad40c2d7d4c8c2f4bb5a9e667c130db70593386a34edc32a5e9c80c5e695664fa01336246c56914424227907446e9c04a703a8d6fd082301f444fa19cc9e7dd1f6a9593dc3a3029f10da715111b7c5f4929bdd9d258b5b4839ae052286f737977a0ee96e52409cef3305193d572025278a6d5dad656a82039d2a703a897b52ef3b7d3a08cf9bef17dae8d1fccd3acb6cdf8d582e9ed202bbef61a860975882b96ef2dc9626c76f5281f411cd46adef52834dc9a223dea926e2e0ed4a3d30bfdd7bc210c51f8a0af0f63230765d5cd44d4701dbd5980c2cbf173335c8c0bf913c70407f9ce4fc5b8f18c0a433cde9ce18a2b3f11ff1e6738763f45f87c943c437a227598ec2ea6d67193fd2c68f0ab16da128a0052bf808ba21ed4326a46405c9d60bb605864b5c014da704e281f6ac482ea178466543c31881c103f85d10db408419394ebc3f8518807b478f99f7472aaf0608251b898da09bd1266579088e1ec14631541740b7dd830915448f37813ae911b1a4bca1f1ff3f20ae944cc4a9c49cda24aca9eda30ae4887b129fcdb42845a3e3a46d71d408f03243bb4252928c03fde7bd37204cdc2411c22d0d6c396df4cb48548d1ba61012365d6aeb534690fad8e7a3b31a88b8274d817b36e2e24913a124b2c4180e237baab19bfc21176140400f62b5acae0bcb3c68d39b7af88fb35b9982a45cb33c915c03702fa886db6266ae2ea3742362b7e3a534849b24cae205498aa33b8c58380f5f795875db11a92d27ff02faa4a79831aebeaeb78eaef2ad0b138e017133782423dc18252ec2c1f7fb5f3349e7da1db0ce57bcdd8af8ed61495c674df22a4f726d0a01d82ec9b602d05f7f87066daea903b0a9ae9dcf268ed73868b868df933edf997daf52f010e0af97ed2b097002a301cb0193e8457daed2c71105f89810d7d29e06bc47990ae66a5816b542354bec1378e116752f32f13f303905779bc2cc96174b42db2a3b9fe05b605d195596714c785ce0b294bda4bddb9abe94d201467857013b899bf9093a57611ee655ae55d0a6edb6cc3855fc9a5dd7a8bf88ad12ec9bbeca6b4722d512fc2bbcf07eac7b82a6dc0c20085b3cc0df9399537c06e08db9acc88f9a4da754d2485011ee2b13bd0e06d26853568ae6cf4d3978dd16e077349062b5943e65e5e92dc1d791be126b6ca4c0b7730d18efd73537fe12c9cc5a0d609517401240c00053938e6471afbc7a67b23f50b8f732e3eec16ea440e4c728d247837e20e2d03128c438b0916ac8e384a9732008ac3a5c0776b3963bf39e78c715461594d93a10c00692556c3ce14178f97c6425719202eb9806baab520d3a2e75fdc8528441a3f003c95af437a3143f4710b7092f6fcbddc9ca05ddd422857ac5a264c62fe349084af642112904cd649006fcdb3b2ac05b2b94b512292bf7536af1f5ac31eec0855bbb9e6f169c4b2066dc2c308c09e86137983730bac3d0998e3dd5e0c4be3c925ddc770aec88e1b62292ba6c109ed5a762d9ac7fb175f1c421329e6105ce7c157d97ffce70aef38a049fd281c7520a0c8b91fbd2c7531d43e08dc394d7e2099057ac1c0910ec4bd12837e785294d9ec06b220c34afe280f03b36f5974b02078d5072f3fb7d492497570813394282be5f046698ed8433af72ed95217aa2ccd120d86bf8a46402ff63ed318cd324b7652ce5494ea0b17d28b937c46e2ac79ace13d02fb737d97f0f9932346207a3364ff3c838ce71f34e55d17e93db310ace2c912612d728a3199b48987fbd324252ef8868173a214cde3cf9ed3aa7f8b2223562196635f8ccbc0f90968f4103ca84ba4144128a42a7b59fb3a8a070e65a7cd6dec17911650b7cbbd6f85fe0b4d640d6e23df8a2f499a63f9a1fd476d3525f013113ab14692b1bfb770a396997109e1e677cb4aab70c1436178582c8217eb17fbfc15f21a4d36a2ef1384323cbb46c72233ff6e0bd553fed6993c9c65cf5b306ad3a69abe5a03a7bb85aa6ae99aab5336be586715d6dfdd92983964abe4e7525b41258cd98f55f33c7dc1a940dc6177335c5c37adaecb3ca67fae098bb5ada6161bf2fc41bca4178e2b0e505cd72a06980b8124fc95785d7a9ec49f50ab421ba6727106fd55141b3febd029ba49202a4d483d0703e49c1ac5a7f9815f2f1839bacc382e493f049bf590d7d918057585e57e36275dcf22694ca9bd6feb85e5c34f50aeb778a6f15122838b241db09b25a6c0fc8df9e501255d1776e22a14a0fceb209ba31367fc69a233eec275beb47e8b0cad15ac1df4ca7f4e7081421ad85e0364de51eebce9bcbe8cfc6cf099a1726a837a27a2fbd6a174a4a1437dc645d7477f6afb08a7fed97bb23423990f5d0abea03c6fc97e478b866d53ef294b9ced70feb344b52827c751c68ad11ad80fd1dfd9d22114c5b2880b5fa3e1e57db926a454d4360850d8d5332faedcfe7ac264ea854ca7ee34ed4aea5a1108b9a6a768e460583e1d404bb5056e3f20ec1ffe0f178b9712b9d405a054e6dfd908dee50907e3496f2f1a115d3fa5099361888e18717adc0c7348f08a78b5604bbf00809daecc8f423aea53730078f339b887c795e67e7b3088038c282620a4aca5b8e94fb04a621de24efbf0dad48d22d96b99a0735aae444315a4c3743263cc7501fe5b6048045679e006982944ca2495def9251b9b115b33c79d412623822e6c3412c618fe66131abc63083a607e284c7d99987dce094de83e0e0d111bd4b7da6ed8e0418f4786daa8b3b9278f2f0d5a80e7a436454d99d80e292a0c066836e94ae61dfd9c0d43dbe7dc4068834e8e01e9d09ab5f54140f9abbe17644ed64646fa93971098212c686a9456d65ab73c1d311d8951ffc110c315abfacca2c9d1cb033deb03c3793e8beb187ed548e718a5c6cd0d8d30aa1df1fa3ed7c34b61fa95b9043ebc20d997ad14af532d2a56e073ffe87cabb5d220a59fd3bea507c24c61d2bcdd84d3b12958f23c6ade801fee72306416ef64331201d4622359a56ea8c9ca9bfc9680c9b03beac54f9dc60006aa3ae6795784918124f766f549666e79238eaa10ba49ad209f55f3fb6fe5e83d8cfa462c329b2ebc948df1e42b300ec0562e9d67fb9c20471c0c15e0c174266e7ea4332c6b7bcc6616ca9dadb753b9ee741088717516dcbb3f0d9d5a60bb2a7916a186bef2a466b3395cebd89523adbee42e2976530869e89b3225ed980ec00aaf33a32a16b10472b2eb2efa1140f0049dddc87293ef67cbc8ec446aaaef09664e0785a5974d232c16cf667f789cedb9049669753c442a46137ebb382c1c72baf3ab054929ba997d9d3f8bccac6ab8312a63751fda8cdbf2645a917942e5470fccf0c157b18b051f1ab5e5f2196a96c489a414a55a6802f7e73ba49421a574d7110419b4c81b79cb1645274096a8bc9e41b286b10b702f31fc428e86536d01398088b2dc1104cf564310da306623c62cb3d776bc14b50528494d3f41cd4cb86d83e32bb8e1c466e5ba559e041c8a672104cbd644e83763d495a32bc58d39e1422b6d45113180a1f396b264d20e866dea1a37599b4fc25d3fda67f22f3381b1f8070b5e3f4e9f5002aa0f49aa4ace208620cd92d5c5d07669740c34e104ebae5e74c8129b0fc4c895ededa2bf1017dcdcb59b2b2afa75cfe84d1f514ffe30cdcaf5b673dd8bc6a59c5d6007100d3cf4dc83c7f475300e78ee296056d91b014d81cd115597761658d1730431cc8f17814b1ef3c580c9cce195a7dda2e51268c2595f71a1ced42fa35aa011d7e3a05a25e01bfa50e94995727a8401f026aeed76faeee78e44870670656fd2e5c629d2e63141ff7889cb31392b692b0d2e2337b9b7d6d57a18f4f29eb2ee21eba7a97dbfc0229edb68b75da06f3c0da33e372e311bb6844311db2a05cdec90ceaa01aba5641b589f8efe528c20e353375e606f90e18faf848107ba8a408c57c0e91123ff81e6c683ef3aaa1df0056ac5320dbc06afa59f3cf570d4857022b663f7a47debeb06d8b0c3297221cf257165a492d3d1e3f4fc9d56e785bf88080e3379800046e08a28fd01542659124cc5ab26c7bfa145972465679b0357cc71715c6c556dcd353bc4d1b75dca88c0cee6567836c584ed60d6a4ec7f24ffc9a84e2a9ef95170bf2a962cff0a7fbb0685b629270c2a98c57ac2246ae942a69d201ae58445d0f2e94b8c20cf4f111a69c48f862ba7ccacb564c7236fc9b8bc6f2df7b1d2fda38e7f7ea3139f2b3791b9a0ad70995cd7d79669faf161316651561ed513d971495c2aa455b5fdf2f51925faf06b0af3da1c592239612b554d0cba3c0da9c7efe5e3e9048d7e2de4e63fa6ac4a604d2af448c91204b14cd3fd55a8514ae5f887ed2b3f395a818a0b6cba5e8478376ca8274027d69ed963a6be202d64d0466eb721e85f69d7601a1b1c652107f7de4f5613fcf5396d536b0e8b36e854bf98ef899d443fb4da449ee4babcc5d26bcbc4120e1e8cb379424bd17eceb477510f5a65a68135ddfb74a6dc0632a969676c2d2360d5dc9c5ba8b39285c542ba23d1372a50bf2c3650a185bc3ab8898f99a30bca629b797bb25c31fdd2a064d2229436ed1040abfb2eb6054f046b1481db57306602d9e85b99c54c819666999046682d48a0180adb77e54d6ba6fce17ab7642229deda255e19b4254bd953b69d674604ef464dfc292f37168329e709f403235a9b3a5b9a06fb7965a06f25e44bfe6706d2577491cdbcfe0f70614aa95f47ae088ada674fbada609d81e1f8a93e99aa0da7dbcebaa44d36ba0a9235b27c7f7e1a1d53d95e44e3befd5b0a5965368c64b719ca39921162459f6a350953c225c06bdec7e10de8d26c4206d46e4585cc494fbc139ec1c78bdd122e6c67208a165370b376eeda402bd2f06076447e190bcf03000f55e8bbe8cda96c1569af1d95d0450ec85d47668db6d7baa5571986b7cbe3d7f2a73bda21a280df3972fc184524fcac9c5a69d483da771372191e2b762ce439932bd82fee7342d43795aa4432ba7b22914c80bae2539963883c129971728a77e974b7969d67e3fa7bca9a4533e81aa530af3b0cce8cd6166faf22bdf79a45f832e9eeae4bb9d5065d60a28f40c94276de58c545a3fcf2ec6bc13eb4a9e551e0be0b25d9db029544f7ca4bfa56942d992f45763ee9c9387eeef2dc66555c5f37f8001e483e748e28944d24781bb123107e64fb12249dfa34f497c72af543f7be9a8b6d8de93afac004212009a05465ff266ceaad4a5757edc000d178d4114a471a68e11a9c609233e3c995d8a254c1360fe2ba91f2e54aaf0056f72968f0a62694a6e1e82869f1bc603f8155832d6a20a22a0801e711505cb4e7ead8d88a6f669d5bbab53a3cc5d48817e7de6522781e46b6e563e500b0643a34f0a0bf5c773fee3f01248520484466f8866b34bac4b7a962d59391d1057aa1aa88f455e7a14215bab4c488ec250a1a8d6f064db7d43017a3438e6e095211bcc45d61d67b224fe4eb74dd9a45f0343cf6a2b50069bc1a6e11497046f1ba54f9e8f634104a525b77c23d9ee006c8311735d6fb6502951a7394ff6b59ab3ad6bb9de2b2ec60f739500b425daa1da7405f53ca804758278e4032edbdaa23c79259e4e99be00d82c7fed322f042e7c2a7f5f2169062684d8bbe47ddafe04fc978d68c89c23712a3ce2774dceca0b3562f4a9dad370c8c75f92e97aed075810237ccbc8313d63465b406e5e00174879fe166fcebe3ee616a627a1544edbf46e4855f2863452fad1ab0fa838f82cdde27d778697890e97884e9231041a0789e16ce04daa22cc2d254b4fec56867b7fc6264bd9e6d44b6335f8076fcba5355e25fb6b21af638160c68defa80d75942a6901ef6a6bf45c5595b0718a2dd4ca38518ba0ab7cc7d518c8a05034bce371e323a6adbd2efc40c7df59e7964c2b01c0cbf4a0dcc048ac4a51f4936a19beb0776e3925be485ddb90cd3ee473a2fdee31cbee6e9b49e82c5a9f4eb06f50fec7c9376d8c27043afc146f5738e5e1943205e495054b5828c1f10640c57095b2f3aa8675eedf5dbac9a69fc3a408f2a26f237b480d9d817925777ae086b85836348b73d5abaa91d7e9db042ce98e2c3e360f08d814b2bbd4b671a9027b4a085f1bae607b38f68fe6cf8adf3a93b795d450305da94ec831cc850f88467070d2d60a46c74ed628bda75058567a0dc47943cd9abe4728cfc5f1dd95c8a4e30e034562abd3d6a46d19b22264b729d1571e105d35270b924ca48bd208be2394f0cdd50438d350a4c05e9a00be05c8c1b170e5162226d7d5c405a83ca401b254a4c53b5707bb41581216ee538cada457d1485147c23e401b1664c06230992a2601cf1a29e465af04471dd218a73d3e68247b59d84891f2ad987534b0579743caaf57fe0717553852547b2925582c8fa7cb7261ebbae9cbc29f376f60c88586d783e6424272aa6a05542e2e869df1f866e42e4ed11b16f3b7f6f225832f98dc2ef9e39cd11bf0b801049ffabd446fa7aa2b974817b2a044ea30185a3550b59deb9384e50984a86a1c21621af9963c9d898055e05b6d2cee8c8b889d82290b02a0d9ce722e13d362f1523231db37d4520bcb9d81d014ba0cea2227518e9b3c69cc4721807273db9472317a1d8a8f2e45c6eeb4a5f7e58c38ff08fd62f52582dc226621877daea263106db000196ee1605253ffbd616e5e671b02d39c29f34f89070096e9cd19bec95fbc8fd93fcbfb5a7490e7d5526a0b04bbf5345cc60a94028670d2f2ebebb0687851f2775fe95ad236fd0183c25aea602daa83630331de182b8c6f8890bac421c0d4205462aba4e596ee6b1c67d681338d5ddc55c3b286a333203dc88058ff4deee3b3ae4846de56aed774d93216ea7a34cea311da50ff7feb7924d4380ec95e8ace37102452879a62b0930ea4299d47a7ed8510b3c38cb3516d8765e34db53f27916a2847b4692b160b992942b69aad7c442ae63a81eb5e54fbce3f686a0196f08efc561e1d6bf2758fa6206e7306b3c5bcdf4e6810c1e48b788298374da0b800f8e4a5e3c180f32c0016ed55a6a25062c09c207402579696d4e1f580e26f0037dab862750d0396583b3aacca65a665ed52b1e2517ba4065d9811cf3e799e1eb6d2285eb1131a8eb24b0176af8931cf36c903dee6de7ff4e1e242bef7ea8eba2662538eceabfd81409040026b074ed460a9cc08c3b42478b9388852b43a9e452dd8838509ad000561909b518c860b76817b6cf8e6b06cc79efb7b8606846dc3ba542dc3a8d4438f33a23eaf040c370aa7ecf047d4d1a99cc0bf969cd2d0385decbcd2561f5cd311660e3f29e43a8550f08f0ae21caf01423eccdaba8a6f2a6fd537b27d564d8085e4b37acf00bb4a23c9d689d4cfc0528df13a2adbea0333836dcc341e7fc7ddbbc7f5bd3450eef0a051451c1b01879f7b49a698b08103f178f6c6b6b06f1d88102f68ca7b281bd776679d4006407a20366ea130305884c4b027e29f0c92f92c324b1c657591f934215dc4d0befe13ee966af3eb2ebaa7fc173d563ea40090895c4b0e873881b4b82ac1eaf1c9968bc986a0797e2e3d02f1a4cc2c4425a9a20f29052c79402b31bb76970b02eaeda7dc7c8a1d062387737b400ffa3a4a44f21a52162d0748d3917ef792654dd105d844bdbbe5b92e1aa4f1ec5f6206c7651138f17709d8a58a6e120c2da9025226d26f8272951d9a77b8aff1abe24390315b15a5d39439a3757ea0e4909413f1cf04840e3111774f114c4ebb11eff39820985ad54fb75553444388947c270822e72f67c0cd0ee89a9b837e38fe640d74fae0f7d00a6195070fec90bde89f137640f9920982fb7c4d7f3cc20348071c50392b39640015182c9b41d5f7920c63851f8df1b117cee28f59d6fa2ec33571300f6af707208c9070c3a8beeb071ad7f2e6c3a84f1177fa69e545a96d9f58556d90e879cbc50cd02657758d414fa15d44499b23309750491b45cf99fc5c89eff7f88cafcf39acc93f6a7548db0275facf6d49f1b659dd0789cfc62fb76fa5f2b596a60b616f4c45cbbbda29e5c5813f2ec6f2bbd31a5952c973f4a0a8fdfaa85fa79948742c5713b7f9aa29b865b177454bd1d67c8fd5403198da0af7a48e468a4dc292c71e4df21e4758518dabe1eb3cfae3ebb8954a7e9e54e8ced8be4eb97ee50e594197e88bab102abbff8c3ead7589def1be407fa8d70a928a03040cc70b2465a244e552c161a7b5401ea8dfd054548fe83b3f9156e3fbba8fa96db853ed4b57017b26d78eda81691598d6474c5d89c2d30c5c724ebd0e5329e3e082953b969332e9c13219e34e9e66ce83a4c7e082476a525dc35fb21ce5e6b6ab89187fe7a6ed08b140363d654c8ea7a1d5c3804d723c2558a7199d0fd6756247584f99961df160ab56bd498cc88e7fc6a41564ee2620b6f2d39141861560da8ced7f34f1ec7cd70cbcde16ff3c79922422e3e6236a3f4ab0651546ea086b0cf7f02e0d3aaf49fd12cf5b1987689c660bf61fa2030e1b00b4042ff233cf94417682eee5c52c6a9f52a9752bdf9396a7754d49c2f5c36d5a2a338e969d26aaa126102b293a56f0c77b5995dc615aca9e8f34ce085073daef02853fb29d90f9118f56d7bf00dfac9abb69952187ab632c9f7de5df6b729b26a9c0c61ecbe1221e8fe085b266bce89c9a8df46384b6d5a0e9c80e036c42c66c82c2f6ccc9ce857e557b8b0288d1cc9c7212ee4dd371746a58b4eeb9f3ffb10436dd08d1f6e8ea258a60dfcb76fdb0d594235bb19fb574f81f622838e3d83a1f5e1205761ad091356b770d490ba2e839000c874b4a3483cb3b5a3dc03c372338c94716a255860ced5c0249d433aac7b2f6cc64cd80d29a38c9ced7e72d34472cd4e57f38ebf9b845806524b7af45f9bbf9b97e35b99e26805d43eb488a67345f8cf154a3798b29bb0b7186821ab6c1cddbea886942875f372b659be5f0e88e702ca812c03d4e1d3cab3bb8d5ddea563477e9f78c8582f18547ebf503dc8b74f9252f4f4526ca73f687bdb5a22ac974393c5e926e75cbfac2fdfe8ce9bd23bf081ed330e38b1b7c876418ae0df918c953608b051ede57eb563b8d3816c9b092e6671949c5413a0d05b7de0e57aaa57c4d5b0c2a50e6eb5628a7e6a0fde4587c9419f7c2c63bc76f4980937929b675e5fba8c32ff8cff30992f55d33432eb9252e57855513399ae3eabe581fd573e4f019ad7e81ab1dee81c0161706d408b5060302f05f42e2d4088d12abdbf0870a142fb20ddfa51aa7a172fab6567d4c85af618ca4b3fcc476b6681932147ca3f75b3fe219755036496ab67523b4b71c01997a6e40e67e632222f574821c38bc9f8dc8bd677e1f1c586b8ffad8eac8d3a80550d106466fff2597ab218e90646ac0ad2c2d4ff1f5e3cc74b42ec99ba288c63f3fce3c3cf41e7bc626da32956c5b31324f51ac916167d7883e9f4695d80ac52a652db7b40c50d25c745666753505517d29eaf00f3b6e1a5cd767fb60789e38c58b0de2ba914bb4d0b0cdc30803eb6f0c2e600a3a177f7f8654629da48ded097ffbd4bcb0ae0f20c3a7f455c9cc2319cbaa5a8ce58ac9b14dff9df00ea2732737087e4f63c7546d8fea96da0aebe6d0a71a2100c5eb43b59f0d0582ec209c4eba7ac222ea4f6972b49be4a43019f5802bc1e650714fc019455df80ea39cf5f49e25488eaa241a6a538406417db69bf51587007c461bc60de5f41eb3e4b5488506f4dc73a7040ca75af8cff23e40823ae42664f891964502afc84ac66cbd800f09ea7aae1b3f55609e8196a21721bc6c2a84f2db8da5c3881ed98e93b126d7dcc458b4829544d9a41a3712b7fd6513e383537138738a31bc858e5f7f2934d1bb668c49aa993eaaef326281780d49712cd94df9d0ab5f6302bb416590957ed87a7e6c2bfadfe6ac3b4c7be4c9b21bc0e52ff458bf31894a6dc7503548352a497f6e5f8ba292481d08fd16b48ba8ea045634259b84ef14eadce1e4b39c0fd24e5b4dd27554d93637c9a8a887386cea83226ec05938054628139d782764746006cc984d5d53bf0ba6abd4b02118570b942ad38597c1632ff5fcb1752f26df65184c93401fc8462ed58404a2361af2d304c6ef46293714e82c7e371f560160b829b4c5056c393ccc9e2348e0e627a91bfde751337b82c7ac6867c3e3ab4eb711d322e43b30d8d433e2beb75b7d604dd5640ce0be7b200585aaaa7ccf5ce56dfdc5c0cdfc78cd7c1b680c4815a8b6a477ee939524f02f0c077b74d89e0ca9d031cca02d588c45d5b011b06bc9585dff63e5b51e07051eb7c0e8d37264cdc93391d0a17d027d765742ad50d5a5a341a6df33d850cd58349a5ed49e5e1113ed20caaa9fb9d2a0202dbf836018d8041dac3f49af05bd188f4de0f6eae22ad807b2f1708e54136f8845941b19df413c02c7cf86b2831b25bd9bbc2137a44323deac64068bbe810d5e037e8a549f0b242ecee8dd84c787342b9aa3ac9334171b630299057ff324eb67af2317114117b307cb460bcc229ed37f62b76d56dd7ca8e9c1f0e34b740baf85a60af5137cd6774a596faf9ef62a7b17e56c4081c967993d8c060a222a5335ccd4a1b0cd09b354943949aea8583ce3d4f29087c6aa81ade3e372e302fe444c839ba90e975fceb2c4261b8f476bdcf941bd2f9fb842b283631f251e6b1f29223eb7f63e229613657239914093237144aee39853fd65ea1f152d28cf0438740d5c6810d150dc08d9cf89476a54f653e0d38abc0556e9e5c2c9103e4e0124b9ae9bd1eace4b49298f12d659e3427a42e7f961af8af0afd69a3c97856d62f439eb9494839b52723e5059c935d5cfc5dd721d36c0dba88877571c226dabea0d13d3b3174a345197032cc23d8697378d442030a6ebd6b19051275624d90779e266560e5ef56ae5a79da3f9456e861ed6aea3c6db0b96dc6e7488a4b344ab600a4d446bda60a37f02c3bf48fbfa4d5cb63cd17818fd8252b9e582b172fc71a82fb73aadb0161b0c13c557ec3d0bb14aa678de49fba5a66942a987a430986f5c07d7488e518b09619a0b68d33022341289562331b2b9d846c375f28975104ebd1d92c4f4b06cc54d9ccc79658f51988caf54e53311e011aa473e32a98abf782f5306211207ee763e72ff1c646c50879e088bf5f5c31eb3fbaa0e84683f3d759ad99df7a15c7f6a5974bba40876353bee92a5c9565fedc8e45bf870c8f3b98969d45f6ec1aa780e688efc9905409c9c77f89d831aacf2dedc45527b80d36993ba963d1d13c7da998b201a21bb207010ab956e9c792af753d81a62027a6f1547d0d2e308245f18f0304f653ead7bda40a6da41afff4936a9f77d9e79bdf43f13eac215d6ed4adaff0dc8d44e0a0fb0d87d1b9933986281be2454e63c4e647c21d9805bfcb487291437b55c82da4e2480eab6216856917fb0758c1ce0296e9a861f44653b4896e4468069e29da5874b20def5cd73c2cdf3fbdbd416238226acad368f7283366a9829503303ace2dccf3ac6118ea80c64eec98e78a0496fe6f311c4bbe0b3e00387e8a11cb88e6fd0196ba3dfae107de3e6393143da96a58aa7c91f88363d6e76e4ad66dde6b3007c119c211d503edd00128d8abed4670a06e914b671258395abb5adae38a68c78423acf4e7070ef91a9c15836ed3ea0b6c42b6c84e92fc8eb1cf869e9a3ae4fdbec31d6df912663074896b18e08db48b57e32cd72fa7ef39ed020443f196921cb09b5447c3e6eb5b3df955a0d4ca80129f64e7a3066a23f3240d11bb0e249f84036af391295f011ded0b33bb7538b83559ed8ad4d28d62c1e667840e28e9402a2140c00575edcd86a0e7f8cf7ee404b455ede8367adb4266bc4e9d9abbb3ffeecda327c1c3336e2e4215ebd5413ae96cdb68e03de0dd409e41eec803079082c4c6a6739b99629603a24d51b3a2f6b88de7f7bbffe1e1dc0f5bf15c2f16e859b21f6d56fb756cea6ad0a32a1bd700fb0fbc044902c792cd31dabd0970bb65d558a833a47b5b8d7cfdde5dcf8b249c5eac5dc47ec083e049340af14a6e4afd3c50258af81f69219135cac784181b167afb3f2fd1750bd2b80eaee9cf596db528f36388e5513ed142e97f3f95e1df3ba0b23b1e1412112e33bca2eac12840cadcec045b4a5d0c9639e35925ed059cc71ce8d8f9618808efc76ef92776325f5a291a5cdbbb4ab405fde5dfd16c737b8e1d397cbdba53f1d64a628b0a718c8301bac49bfb98935a74fca9327017694dd48a1d4fec0ce79de877c1c4a9c398a87cced5a43a91122f6e2615a92cabbe3ae1d261408ec6a2a036fe50daf32309234e0d05a34bf7fdbe8ae89002cbff27384d19121f94de6945e7356907f79cf4abbd621e7c90a06634d5e0fb0d38e53d299ee8c58d381402a73dd8d1c13d70458ed160f06387140ad33032e25a32a7c9003439768fbb0cb427e47484df2e0fdc19da3aa7c4284f8202fe380291938afdd1fc043054c3e3c1b1e1f856a78b2daadf69afc206373a5819925e784520bf3113384559798793d8b1a7e46b835504b1d66a4c279eb2d7db3d47d9702a46fd108323dab9292bc49a2339ddd04e5585faab240fc84ada5afc0626827b6f1d1a1c31ee921a4e3daf094e00b5a339d3779a54c604d122ac309c27722a8ec9a68db59f2b977ec9e8e020ad40e48a3f0714199f5d8db4c389c67156ea056c4d428a28f80a9d4a50a406a072280accfb6c50b5c9f179ea81ba79ea0091af86925b34c62522d692641dd8607aa86132f04084416728f83c2b9d54daf0e5349204224751318773661ced098a0cc7b026f49b13f3bf62cff4dc3c92d9722ee29fe8fdd40fe925e1a45243357103c5b7937881f739d5c89485e7ae54005979aeb7782c3b214032647c2293c127f3266cc12286312efb9168c121eadaed1287c4ab87716ed826098fe4e594d90b704d8994ed5f29716636f99dc81b7c93b5c5eaa2e1143814bef26dcd24842fa427c612e147c1b795520a27277c504e14e7e020c6990d36374da4c25d576ab184a8000daad0040620dd0fb62941b9f3f3f51d34eb35b5279fcf82cad12329d8fec0baf181ddf3e683241e707fd4fc734863bdeaa4ec9a9ff4249b1c73cd23e84f9d76101b94a90d08a404a9f61024427c314c1e0e4c4515b624a18284a1f4735928addb7a4c94020568e0bb764195143081a23d1d59fa040aeb6347c2631b7a7626a7a7c8b81f01d666e3333c4c57371a44fd6a8c21caa489fce00cbad4e7db465a64a6b9a3854bf8e084bac4efdd452ccaa2175ec479618165547fd08f34455e53ae8d71961bdd5a96f35a9708248b5d491d783168b77281c2f0074014def771819b28b5b3aab999d4d0aff7df83ce26e4e51f238e6a334b52f6e095bdd5a35b5102a982288d3364e36a06c6105ce12b7a7627d7a609f7c935ec0d938f705b402aefaab20979a96109834d53b5832acd85e49075b62f24a3b6ede61f40d7c17cad9c9e8968c96dabb69dd2c827c30cb2dd11f088d7260a881765a7325f65e9f88666f0ab055eaffd0deb39b1419d7f882afce0806edbb0c6a65e6daed4049cd3da50ce9836539a558c000e32351b47c210223a6ce1f68ff5d018c5c068353db5a03a360b94d1c56df49ea48a3ecfb5e1b8069b78bf55b0d23f51bc2439a90e6908fe8a3aca65b7e1926f71f6544da7714dc0d338b831ea624bf9771c40cf9305718cbb138319a86d17f5eb5b8b14cbbc1670568d90db6634646f12f75fc95833fc99ecde99e4d7f65365a5d9825a5d5fb7930614def6ca3f74461dec40943179cd2f785aa655c02e49355e4eddc8868e05656db78101284a4e0b6fced362e87cdc15ce2541d1be69886ddfe1ad86ddc916160df97394ddda36e8495d3b6bee8152b3078637d11933ad48e0c56903a540b1167c4edd4a40826ead43aa81ea9ec14ca29256c86fd2b82876fe3a9bacdca78919ec2798c2c52226461c40898077817a33d203d9ed499ade98b06136aa15c27d55ff1bbdb53d372c5ad4c4dfac975c80c49e769237711ffe982141806afa7767cc948469f499bc4049ede92da89cff3ea89041d43e82d2467dea1013a077aa2380fee6a9dcbc1175a3a665f5be8a782b3669a471b1ab183a66cbfca52f1d29382c902de6d99d878599fc0dc78261165d2dc4afe93c226ce43c6a40d80621bc11227be60c85a048e8e51762cdc6b98fd74c3cf2f8a826a3b9235e9a4768a106deff804af95845953956b063b2eaa3c9482037c849ab40595a45ce9c121cb25dc0110752c8c44bd3c944286d657f578f0643a499857ad922aa23c9d8829daa87a2682113731728790dc2d18fe8f04828b9fd72035643bde87df8fd079f550addea5e0424d98f962f468d8538d2bfdbcdc84930c746500167ccd36d0f61c68c4154cc5d57350aaf877ffffffffc730bdba7e2fe78190076c83c289295218c0f18f8988881099a44c29a5945222b20bda01b800bd00b700f8dc485d4055f3a9f67bf68c62cfd03a4367e853b87276918c92049c422bdcba58e4e79a458a1c2dd929c1bd12709e01b60709078c492b3c4c474dc1a6dd46e9ef40c36b2df7defbfcd36c7bc6bce37eeadebbb5daae1d410121a1e1aac166444357e82410f8e28bbcd76f35b53eb52913c4a61ddf7a14edfddedb7175c9f0dafc4f86f9a368ef486c3333870880d7d501146ce6c0222ba2a79da1cd63a44a77b690fe6a3ccdb9fade9cef37e67c8b9ddfac39cfdc637cfa07785a2a7841c30e60a19ea29cb8749a743a57f87d557d83488950674a67db31552d49292de1eca4fd71ee3d6e8c8f18ab467d55bc2fbef7f4f75e7db3e77c792f82065299a69f0f6cf0cc97cab5dfe5f5be338d36a972debbca79f273bdd5a4f2af7b2bef71e5fcc8e47a6fae4b8e9d09a235bf6a7a902ad36492f304040de4c75299a6e9fd031b77a934580e0cac9da7e95d1a2c971f64a95426ad6a6057de57e4d11ed7630fc9ebe57c98bfc706dc6a6d806efcf355826304587302fea7bd77df55df79d7bd6b9b7567a6bdf7af7aeffbe7bda7c5355d3d8aa2e88e57880f26bbbab2caeaa95a7bd2bdf7deab4f31d67a63cc3fdedb07d55aba82674887be90a0afbdf6feedd5bdaaeaaafa838efc1f6ff8838383de4f62ceb907e006d069a3670b516dfdfc4cfd6c5d2c6efeb5fd1299e9a3f4b37ba4b0a2a086cd2028be71d007d5fd75f65adbbc6dce18e3fdefbd78d854d534ece22db6f8adbd4d93e6cf06185b63316f8c37b3db3f2ce2c3226b8b2e01d7ded3a5c8e57ccb0bf8fbcbc43a3eb48e486ecf8dae6ea8cd664dafc50bce6dce5a6b51cb0186d664c6361534abb91062816634673041b2a608b37b2fcbfe6819db2b4a94087c4830e17bf1c3feb0f083082b7b61026a8abf74ed45d91f1e62375b5d5160437035c500d6522ed944aa0d5c1d738c6a9a62c539e33b9db316ee0f10b6b50e99565046f4234d9cd13c940ae68c337306cb680c251eb1cfdb31c404f545f04e0b9c48080808a028463f160e518300d45aa2ed40bf2512014e7b4ebc59686d89b88de579ef39e78504a8d376476dd218b3c718148c045294653126a9a2193e3331a36835180ea4488a6219862108198218218e10426466249091a1499203ac330e94f7e0330cae11de849930c5de2f572c4bcab6a839b0100fc4eb10cea00b43f24a6410a5c38ddfcf6ee3cb9b613c945247669b757631f106fcc37d7d12a61bcd273465d8e3737312c038682e78e962a807d93e8aec61ad20f7601be591b22298e0fd59c087adbe007d9337b84d9df80bae57fe412c786eb60adbd44494340f194b493941014df25f7004cd1a20273a0bc5c6ef4dfe80922044d2103b60aa27bfee8070e2a221862f6ddf800bd4e365664ed4906df8c560234f5246316523c47a7e594913ec5def7b4b20e43783484b20ad085d3cf95fe8780537ece1f97cfe5675e2bd21a10fc219cdd8dabda15e50748545e9636f1db026b9433dc9435fe57e6119794698d060f2ba8a2759976cf311273e1907f7ac171da79f1c06e30c3b4ea82b0a6aee0f0574543960e3e3256bdb3c45eb8c70ee1589a1c4222571abad806ed7f251b8c8411cb1d8ccb9c96499d0add65c9dd5fb788bfd0614dac612c48d8e01e07d82bfa1cd570d6ee37297250a400ab88d43ec5023efaa9f1c25e1634c18bc2a8da4550b902d9f35c0e9a96c5fff925e51928b9cf680f8bd64a11d0d30b6dc8d9cc862676e1b2e9129b21854ec02e65a0959107b8ee4e32370a829295212d13d70d706c54cd411f866a15f0476bd77c542bc120a5fb4d8396a9270aff82eaaded053a752b143ea2cea0755618bbd524130e75ff16453bdaa9c23e9d42f2c5e3fd2ab021c768657d916788d8b4c4aeae246884ec3fa831bb2ac5e76fa87e1b87528a840141f5753f3f5a0810462439271e706b3ae0d28c241300137ef4ea7b2587924d20b88e14c5b05eb177fb67d86cef7891f61cb4d26e495301ce6839a2990b4036e05a93cbd4db80a1b1cf814ad30e619e499f707158afecfe01316089f72eddb20c419b6f058d2f80788b97192951ae2a9219c137628c205029e004ab1b139ded1701f9a6b6b4fffe0528e1e9c51f475c4c0a113e0426fc4916a51ea6640e123b0983df7f7a7a466eaeb64f8a0e344c101987f43e2a5c04de1ef18420dced91b5984df6fff8d90bac61472af306df7420aadbb897eab049ebb51cc1981dcb16ae4a7c15dadb002e976a597ae7aa6673bc8ceb049be39aeedaad48e33e9dc27257276ec94591dbd243b3e96e1d2319b44ec5e8dfc30591132b06335a9ad0cea75e139720f6c8d79d6bd5de6017ec7ba45926bd9882aeb567c7b23ba988be5f5af33912f8e1def8e4b81b0f90b702eb264f08168b35f164669c930f08ac3903fab6c59ef4af0be90610603f1b2699d848bd10c13c12363c8b59a3186f4f3faa78b714122e4e91c43189fda5dc0ee185d50825c5b736b655930b54132c6b4bba220b4136371841b3c15059ba2d372d7491e641d5c32826d2fc6aa0ad2cf34c48b11002bd5a100bea5a575aa2239be96d52106443cee450ea9cde3632c738c3c53c41cec70c76a4e18fa0a58b3cc41118ed8c1c0eca9429bc3f25a8696c2d465e1818ca0e876c4b4db2da3e2e4bb4cda26db329a8b9376c9e4f61187e0535eceea1577ad554673f7154a832aa0d92adc34a1cac2002a2d8f98b946f4bdc1d3bf875efe3c25981bf670c0315363a33b53db1bd9c55cdc085dc671058e289961eec6091cd0622cc03e774531118ab12712877d191e44b67b2459614ea3838e6b93c34dfb10694d5100da908fedf9e386a9967f028e8df1613bfe0f78c85e5f26c422d5805a19208a4ac13d13a718a4025f7be3ba415558568212394cc1fdac72f0b331329b713e429f44e1d6fa9a0be67802dcfd37527519c65cb011addb744f8b1bd93a4ca51c77a1dc5c7c8d7432e2d2a17b961be3e57f358707d05468064ca28191b8a265557073a0c19e07d7361b02c8a07b4161c822ff03450013aa046c03f98a38ba0cf438cf327ae8f003f2cf8e58057c78ec80f634e033058d996bdfe94af787479642636b9840d3c35ba71dda4c8000d47b2232febf607c3b5d02e4ea5390232790d280c9428dba83600d800d5fa3ce0464a283bfbd2070e02408eb599b7eeafb39fa2dab6e7ce88a1de63d11dba95f496bdd6cd3cfe0a10098ee01866c71c9e3675cbcdbe065b6feb5e98bc492bb61e147c910fe04ce20e6841edac65ded5866e5f4cd728c48e78ee74f90416f786d8ba2bb040f513e52b254f3c32245e2daa8c921c17809b389c50c3c297c57959c8f2e03ac9015b95cccd8a88e9871a68eafb3dff995cf9a24a4d767e8dffe5ca20dc8eb23f3755362000959f75d96ca300ab0f5924a456a438dcc3fd8a5aa9d0be2dbccfbd4de22a341361d4d0f948c8bad08915200844049ea86db5643b6183da96c8abfb1a86c87be585035f392162819eb1fdb5c6ac9b8dd9a623edebc7a47a1f92ddbe8acfc8255ad423903be212ae831b01585b571e7cb5573f4010b2504a0d53518aeef03fdb0077c34afac014aa2797cad63aa01e1a1f8105ac1c5e536758b253e44a79d8a49c487d0491320091fe25844829358e4bfdcae770285ccaa17d7cb14abca3d34e664f0217c19f432e0f314bee836ec5e79fd1153dc8f12d3ea863415331352446812a9b505065a41338760f1ee8a215582f11a1337e14fc5f2c769d36a53fcc2e97e2e44d4f2216ee565a837ab40c3af48f3564c0f2843919b43582f5b8f7fe482801cddfd63c77b0eeb945e45c13901cbd8aa44861ea23bb02fed895269c2de1e4d0fd1093794e3573b2dd10407f711930f4153ac69ca69b22987d4edfe3702c7e7f739b4c546cece685275a02abc32d6a03ec465e5f421ba2463a605a60f71ebed8dd4dd1903f8254711118e2ed3947ea61ef9fad90b04adc75173c3b7c448ae1ed1a508dd1d285ff0582f58e498a1e68e57dd15ab59660063eeff11f008380e7454e6a5810c3d50c42882d890e6d55d8a4d52f3c2cb93c2e4e612eb4b6478a5f3da281e1d72f03e7a121fb3b97b6ef265af4666c12affea8897b95327d6dec7550d11387a88ed1826bcfc19ae38ded5b9e1254a435c1b22175bc93450d60f06fb7284e725a8839969dd182d5b8631cbb531d80b5ec6f4d25dc93b6a75af4ad89c4e6e3cf258e604000fbb035e0688b61a077616f6e20b2f91adaa718e309b23117b237653656a7b8f83f847a7a0a6b65f5d024f6b29d84155ded5817a6ea879750f349fe226cbf88d919bd8d646aa4e658cffe18ddccea8037f7194bf873d14dc056fc14da3603fa445ef5aa0b150e9c1a40f2090f7941f674a1b2f030695dd9aec07168fe7c1f713811718f0b948458a473e3def7ab18abab7bc6e884f6d875ba397154086fdc07cbc7c5961ddfdd083880e9eeaeaeb66ec9a1c090b041303cad5fd6158204eca9a0ef5750bef789cf5fae7bb87b2e58d8db9307eeeaed6865e59ff6d5e2c4209d3d64c32673eb06abf778fd8e54621d581e8687be15a622a2dd899f9976f27e24cb257a49dbcace64ece4b6b7befbda594322599647806b105ed0521159414fe1c7e16bf86081595a37a27d6a9c9e29a2c945febbd05afbb7b76778bb338eb34e7ff921ccac143070b3a7aa7edaab6d241cd763f7c74ad89e6ffffd2d2d2d212d352875da9cfa60750aa549ad3d96009766f9a8fefc3c8265b5098b66270e033d28f41a2d8020298e83657a0c081c9555ac1d70a83e9cd3cbe85297d3b228a827a2369743b6a32323272f22fe640c0326f377f354def8b10b1999b8a380bd0a429d7108ae0ea2abc5e4f6e48a634d2d7be4b3c4fcacf594770d26c0425f733520d61084ea3da52d3681e4d27d77e5e8317bc9f579bea33cee2bed6523628299daee754dddc48dd6ea679ab2bea97478f465a9ab43ac748fd1afd7c3fdbaf7dedafd47e6909ea070fa8ba97a86c2f0cffbf6bebea786b5deb26d25c9a4cae80ece34c0ae9adce1b6d243e64ee71e62c02cfdb9c329156a0331e31742ffbe961287ad3672e8593e96f13298148bd6b2946b309452c024d91d92d8499b3fda6083df40b78ea0cc8817cbf6f85201b93d57fd0fe7e809c9a303601bc31d03f59b41d46edab42e9dd522ebdbf871602a4707f3b98a933514d6b8c7fe217c642e01d64bc406fe040e1ef839983e998438e043ebca187ff5960d6d3500691e730bf046274cfceff0cb052a75f614097c89021e3e4e41404ae773a6c69ae8b81822a4cd4eccd9ba8306e7470381c0e6765656565c339599cd5b130dc8272c2a591728a6a41d9a7f5c50b565414158da11ca090ebe8e8e876d4ee99de7b29cc9d1c61499a12ba7d580e0d34304093a11c56d7ad668cc13bfa4d9a1b56321a3d56290ce5080a800eb9b3b2b2b2d1e079edc810d023823c80063296ccea15e3de7baf959595954dc70d6f7879765c561d24d5d6b56ee2a6130b084ce58fd4cff44819b4d1c6894e1cfd2822ea0cc3a34bc74f0a676d05fe1d8f542f94db34d37beb47e71cc3700cb338475bbdaba3c4cb9f60d4d39c6959703086f466318e08002e699d2fb52c5a53b0a1d58a2328918a3193d9c35c2f467480318756f1e2249c3d433062caafa2594e4c308d7f66de1ba25a2a968a4dd5de2eb77e3cf8f596942e7ee281327c3a42b80086a1188a1d7c11c12a27f46420864db05a2df15b148f4003661581464a8b6544ea64dc6285e2088dbfdb728159305ee198632564999b467f10e806e777c1ebf67eb7c70f94b97742cd55d7ef1d694daab61325e14e5b844de17ed4d2aeb4c2bc3185beee43e29ddef2ad1a3846dc032ab4c7ceecee18d9cc4cb0d359248357184df05136cb2474698c6699a8618cf935576882a0c2477e42a6590659adb0c7c67175b878656dc31b3dba2ad68e546ab23c43a4229518e266c682db34515338a8fa0947a514d89bdd8ef6e6b8bfebf6ee35b5e70d127a59e71c367c6ee0400168fe93af66f370339aec5c49ce3dd98136d074ced0247c8d4e942a3eda106bf44b6e9857bc87ef88b9268614390f082237020fb7692a07c7b64444192888043005880dcc504d291dac168afba79d25a0b833382385e062bf8466fe883995449823e4192a5a4df3a44494a9a78944166f4c0857bc60b7c59ce16b984d1c071db454200440d31500c9c72408186b261baffa76725cd8a287c460730265c97b781fc44c3236c82eb42980082764290a25375b66170a254e7d6c2811296c0c34286c4e5333891f45a2282a3a620a1290a589c3b5c80c80c9ad75a583a9263a01d03e289c48354fc83c112a4a363031641eb9016a2a4a0e728c962a1b3edcb628a1334c2e94cb1731c594f929d751273e38b38b1c7107049c8fe6305423fec3149306a4cd203686a219c49b946aa507bb05081f217c8848004d0050983ed0cdac34903fba76429331db7183899d1d5c38813909487da0488e292218c10f3ab49040052a3cb27c9114a80995d85071584110535870e5b625aac54ec9c0479c16d01b920b72acd98e17a0e1a9612635ca064d3fcabc8e5c24552cb6cb0d53c77854aed90e2053e8b83004c9921ba572c5fba1e260e0d43cf8ed6da838227b45cbdd29cf05d50b0d36208203053c200e0472382d342f4db99d97cbe4cb98a42ba738b4592de949473567074737273725d9a411e3844c9c3995060e4ecae74051c4448b2a1b7c0b5d141d3e872d556c98551a96d9f79160eb78ef524d88570b8c4c70888b28700196a00406c4f9d0a79e9879015e627001ac611b9bbdf75a7b3b2025cd952af7ca1b32576a3a64d1810639568731562909ab24841530b60a179cad128507a6af52658b1216f68a976bc513745ea0a609cfa52022fa2a5d1c0e109e48a48d8b26c4c58f223b87e3648ed955e5be9fedffffbcb6faf848dcd7197c31b75e2fd3d1bacd33ff80e02bcc57a454de10b4346fda9715d6bda0b0c4c97aae6b471682d0630f245140f7629c93c964b2f9bb1ebbdd8ece8ac4634ecf3577d759630abf8f4ffbb77af5ab61f86fa5935440d3fe583fefd61cd69a55a8509fd77365b6596d261886f7793eb7ed3f7328a68895cb6b3b8cfa38a305b0ef15e00a14b682ab050dbcf45220b884bb81fbd902f22fb5652a6639ceeb0936b2db53c7eed1450c18ac37d3fce3666aeb0b6bdacde28faeb98b1f820de717ecf39f21d8737158427ddea556c894f47bd61770133771936ae226148c20f827ce75aef338ae73ab0d5cf7b85ffaa587faa567a261fb4b7e739bdb1cc96d7e4484a9db266db79bb55d9c21d877bdd4b7be3553df1ac9053cfb466994468f288dd65ec09486e7b7f7b4a22dbb84173318304c18c8d8a4529222296d313433cc4433b4036c99b9709a9144d10c2f1142550ee100c2a92c6a14414d413304098e091c173c0b154f8ec8e24d113720a0e13263c9008edb39a7fbe0703b3f98d2cdcafce058e4a9a68723601073e4e33415f672382826a4a55bdb8e7c34ed45f1ff900e50573385d169e5a6298a134e5d9e6040418224c5151059a28c5454c030a1dac18a88365b981813478a2257541fa812e7c8520d4a982747d60481864a1533b862cd0fae2276e533f8204c0d5be64001e14416a01888518234051923ac48121a62d2c4051f6668e24a95a813aaf0d2240b1532736e3f54e058c384030c5a84042143f31a40ac66c822092d9e1cc1d576363159906001859a2d34b439f21a2ec812839253145a4821e4f60629ce939b1d13336a9e967660325ac2a8893530304d3193639cda7c816285a908edc76b60608aa9234c5278810af3234553dd1a76f06108aa56a2cb172650b6188089ca21ca4c0c5856d8ee74de04ff03619ee7c1becffd9ba0d58b016b59eb99328f7da6f4556b58569a7f4a4af39493a3459181f26cbd7eadb5d2777777a7e1003fe0669919e56d86fd4f9fd65a49f8beef7b31b420e82c9185718b05bb18f7c01fce7bad08c2bd3eaebffbd7af357f7d5a1140ff9f52eaeeeed48ade5de1a3d49dd66a2dadd4297d7707bbc8ae773df0033f1838bfd1eff71f86e0f7d482d5deafd5669b73ae62cede4f1520288a304fe7043a22a5ee2eb65ae2f56815edd7af7a756b1ff4eedb3bd62bbe087a934e90352fc63d3007ba75fdbdf5ffff18b372061c5093561eecc344ac4c1d3004a340c6a914bcf97ef7a3f461170160bff89775bbf51e2bb3c2fc6d9908828aeb09797d7bfe7c8f5a18916745982efd877e76fff74beff59cbafb53d6f7d875fa106108c2bd3e42ffa761f566f8fd67b3f5dc9ba1adf4840f81fec3f9734ea72c1a06e939734a71babb1b81e0b1c06b6aef539827c27b743e6ce613665f7cb56355a220102842ad773a9c0cd454a839366b215f98120a7a664f9f043afeecda1adfbdf603e15e1fd7e79c737efff3bda04aeddd3d29abda2abafb9c734e77afcd1f251ae69052eaf38305e92d7ebe0fa6f4e50f6c895e99266aadff33a44d61cc70d2fa3be8a8827ffb387b2aefedafed3beaecf7fac4eb9c93d2afffb4d6fa504894fecc61fccb19d214504b6398e0333b3375f7fa23a594caaa82d3befa7fcfd4ffdd9fba537f4affe9cbf1e9e7d1ddfea54ee967d06db6ddce84adfe6f435be90be80d2dcd5efdfc3be153615ab762686b7dfab30d383dbbbbd7daa3fb9ca940a9ff5c2093ce4a6b576be77434b486340cfdffab8f1f1501d0f47d5fa5d41df4fc2780b6df9fb64bf98fd1174cef59bbd29f4f6787e0fceb267cbbfcb942add2845fc1b77f7bcf7bf17bd9473615ea58f879e0bfba6b069b8e3ec6a661e57b7a622a1788cd9861cc937960c5dead38fcedb3923ce8bee4bf564aeb255202450aa4607b165ae11e3e68b246f854dbb9208491a727f92588550d8ac90dd1d44fb535fbac5feb0b245ed97d3683880839e018f689c19725789e687344902ed5ccddcc9e5248e24c6a652ce164c2393edcab7745cc81a0f065bf16eec5784e1e31d58e3e7adcf8a0088cc21d7140c173ecf1d95e353cbb65cbe6c932994cd6a04c2603923f3294685bdc7efa7b7d638de15765a209ddfdf7e1b78bc72d4fce3ea79dcef3b3c280843ebb57df060af3c67ca9f943fe7cf660360745a3210751acf0ffaac2f4bf15daae003f63292f07b37bc33de45f7c11ff8bf9ff694b87256217dfcd968619b7602c173a2f8623e8ddd18e231d7ffcd67c6f22214dc35da349f1506568106c4988f0d275cbcb0a8ec2e4bad0c93db769a20d08905144828128050171915f843928c815231c2df0e2c518e4c2a533fe9051e52a0a8d877d13c30d0c5b8b01c8900df8d12f5cf605cc054c07068b850d035d8c59027f7403546085d46236a9ef208196f3bd2664314f2014c330143b8c81f397f309b885314bf41006ea7ce3ab6b4d6b5a0fc942cc2f9e4dab62ad694af5c692d3a22f82124e0a25cddd46ba326744dfe2c67967611536677dbde6cc39b6cb3ebe9df4c907650f9278cf046703f570f0839aab59941a2c3e866e04a5806b0eb8fcb4d418e17ee48f8c1cacb0d07e6239e69deb9710c61dee300ff87d561ac42412f7d9e687c5643d73e6392ba6d6fd7dccccb8d691ff7f4a2b7d97932354b51d0b8b8408c5dd22715c44494992e820f9fcf9dd9dbabb3b75f7774a61744669f69fd13094d28540d5734042d65a9850500e48c8dd0209551f1c376e8fd7c00124824207c61291fefde1871f7ef8eeff77c6cf19ac5b18fe936f0b9da2297484d858479eb046ae5c14e15e2029f3c1b5c11279d231228772e9d2ffdddfff50d58a1878c0278373b95c3b39e7bcf372b9765eae1d0f88e0223339e31c2a6cfa94d2177dd1177dd1ffffc73dba3ab471fb4637d4e7fefefeeefeb2bc5e49bc1aa60fa54f31c514534c1b47c36e501c4d9bfae0a0f4fff3fcb74782c0f47ef7dc8bb1cb55abcba1f789d221f5f8d0be41838658a443b542d2fea31d3ef0de397578b2011b0025033a90f38b7acf2c13617abe0bc042bcc6eccd469e5e32d774699d07d16b70d5670d1896906e8423336f0d91116028a338e9ee2bb408b0d9ccc91ab4d4da6a2b9de184ddd8e19941a373e05d4b26f39c416958b69e272e562f9e9a867450bb83f74c366b01f7f2ecb16a71543a30cfdca472ef539aaf3b7118acb54255075f74ea3af3cc90f5d8682101d1a9734dabe9b8ee96d2de9abb5231660ba111af578ec9723b5c9e37077085d041f08ff2a80da8a081c18a181a9240926f9ca42cd132c7c80c689854f762fc7ae53c038033ea0d9aa64f8fcf9cb9d8eb4ea88c63365bd8754a7fd60080ce66f4533a27b7ef08a624aa234b5890a862721c7df7d95e6f6eb1de6c330c9c2f036a503791e65277ad7354b55aa5ae6f6585d96ca53472f1eb07df17ceaf582c4c62e8880625a650d184140e365983054e289121c7c40fb639475f64c802266acdd41416bf2919c326c99ba2374ce2788e05066c756915b58e60133e0002cfee0e7aeeeeeede75bf1ef87db7520fff03dfe9f5efe3a1975eef5ea7a287fed9fbbe1d1fe8819fe779d7fb3cefcbdec7ca2cbfd6ab537f0f6708672a7746cab5f39f7d591af7bd4b43d0efdd7949fbf65e9eff7f0b8bcdc0e57a6cd8a69dc5ef787a53ca2cccb3628caced9901cb272e37a637deff99657471ddcd8822ab339323d28d90068718bc91e374450b45e0403501031422886e88a18042cc63318ffa66e0847520a39a16fb2021b795916128472e2786470f167c9c69fa913bc842a07c1d0401a1b083c59235222044521455e0f083156734501326ca8a2cb6a041f764a34ac4cca064bac069892a821695bb454961893202c98a179e8e544ddde00410334063a505b7176ab881881a2c72fff766bf770caff7d293d4bbf7de873dfd6c1da5a4ffd7f3bc7b2fcf8e2bb439f8f79f43a9b5567aebb5b6be67dfabb5d2af977a5ebdd5d25a6b1dbad3cef034cf83f960c1ccd5187feab27b655776adcc6d05dee9987fb90a158edc798ec3e17c72ce59ca1c4d30dee163adb5f5523ac2460fdc7a29f500c693c2c36474e0ef1db3a512df3c246d1193336796007b7ae8e0a71bca39fbe4f7d135c545df5a3b44291daa55a77bdd0d3070f7305638f78000e916abbd1c14e48d21f52b8f73613ec7ddca7d67471ce1bb955bc134de755eab2a1deb8e5ae53b18387cba3df7c19cca9da2aabb938bf127b23fc91ace66d2d1271020408034cd4141a2f87dd9678a161d66075e5e4c4fd8e8c901f3d45d6522e669b24d12112e3694695a9a13822c4e495ddecc310203e6c5735d397c2e2c9b8f6babb6b8725514448e0b534c810a40d1921a32439c60ca7d4c3b5c1fc525e0eb9a71f14e8ec968f4f808e05685162df4c003111f86d022060b16393647ac1002c729ea6af6afd79dd929091e70992c5bf59caff12c5c05457ca0e2a4c4e9498903cc8809f2b424290befeea717bdf67ae38dbdec98ab9cb14ab7647fb97fe6b1f1ca33643d3e377000f9ff95ba7f624e1336ccf065872bd2d5304593289e722843f5ed9624bde5744b9f15d387d42a9a3ee748719fee450ff8a3f4965f9cb961adb5f30e0dfce289c9bec7860f8edafeffdfeea5c81142624a0bed8a2b2f696414669c38e3040d164182c8a82f542ca1e20d95154eb83cc970abc2b6c40d6d96803d58169b0dceec819e3f7f77c1307d7aebbd36bf6421cdae199446cf0d9aafad3df00eb3b1c89f773a04676a37268e8001cceb68066ca0703253c5962e3fdd53c6e763a3e70ac6f1785ecede9c9e2703d7506deba35a8ea19e1e1f1c3f68202b64b144bc6b9c648921d0e7c17a805d236a5b3b495ddbfaa89df49446eaa5c6d24cddd4b8861ad2d1236ca26e39e52831488fab855b61f7511bb5ed070727375899629364cc6b88334bfca06409992f3fdd7a023616a953ddc8fb5a2925b52424cf3d91ad0120cdd5d3be666bd6b6c41c7b84248299e9c6e5612aff0fc324245bb3366fb446dce6474b75877d4725ebd181b5ada7995739aa2ab7da791c9f43fb9a0ff043b7b6c9bec82d6105b746aa938e5c2c4163b238242c3f2c5dcdb8b85f2165b299e3d426d3dc45daa4128efe6005a7cd4ee5529ea33e292cbfbbb3117245e60b1125b610f39292a606246698c879e2c7e65a57a45c995426942641bbcf35909098fb6e4debe183c9862404c15cdfef93524acff3a4273d2955b89d43078f1026d421be17e3d72be7584c26933bf01013b926deb4777a50c39e5d9eb3eb082c471cba96ee5f2b412908e50bca324f6c868ccd006128e0b8e1f3c97a5ef895c39b5f27437795d40db582d12aea463ea0caa35656526a0207336783842c23afe7c96b7d1c47774e5d28059f19ce09ea7821e1db9571304d8a45f8871523281c5fe0973d6badfdbecf7e2d73cd765643d18a95ce398198c0ef63139dd7d0547677e7504e698ad40ff8e41b7d38ef3acb353b1c28748e168fa834b71e3e6695df77e7ee6efc75eece3e4a7ac9ad6d76f3a0b965f60aa5e0ef257cdeb5b09e578ed5513635c31910fede4395e65cced172d762f48583aab1a14e7a6519adf6d308dc7f13162c4df296ebeebef5cb8a9f97816242611d3148c7d7f779b440423aab2b3475b1972c53c12f99f360f25adca58d5252faed81114c61b05651ade6309d704df3369dcca33971aea8a472589692dad646bac643470e1c377ce48eb7a470bf6c892997061d405cd47239a65366727a16ff9436f5a7b4d6ae1a7803c8005389cb3c3c79675adb36032d0248712a41637865013e0803a51b06366797524a29ed7faef5ab9452be9452ca9755fe5f295804d3a5942e17932b65c0a4beae9d2d66d842ba6dbbb51eed78f92fe5ffff4b091aa1cdc12f297b9f33b79eb48f94f5cc4cefcbbeb7c7df87bdbc2faf8e1e7954dda43c31a58a090eaf5a1550b2b769da60aa3657cd3c3d6094f0851ed40517c32d210fa1951b830c4cbedee11e3d800071202f7ee7412f5e68e0c2f542a93bdf064dc86298272086a2288a210540cf83b2d727ebf36038f0c53326eba963de79b96cf52322a456b1a634452ecc6006c3ec9246ff4c190c3d7c5c22b09996683ef62fc4cb61bf401f99f7b3ef7ef533fdcfd19dceb6b5b34cce4dcf70080ea09a4d23d165aa4b28af386fd7e18ee4e69ee20a9debf78d59828a6adc135254370d52554b89a49dfc3c7b73e8a81d7ac14a74b7ed113d6038ef8df99fc4865f2f7bee209d3d3e163f0d02fbd8ba00a90000f84b3afec6bb3251e63f53d85af242749763660f8aa6cffc46995bcf01a33ca8948c5ecb0a000614e38500181208c5a2f1340a62182635c707c4428cc59cc80514794492a44106a328c818858c618400004306606666260ebfaed50fab97f37f3fd54e9b0f70f0b77a37861e23744a50bcd58a786da39912fb0e54c272a8e2d1a9d13cb1d4c54a2a937440acf06e1ea40e448b16eca9bbabb07b97ba97809823da440dbcd7655f007a7ad42ab07ff7a1d0b7d78e482d5db21105bf41baedd67bc47350c1da238eb477a9717981ba76a5735a65e5163ce6b8b5068f3aced528f10063313f43ca636ffbf764884b73fc8f47fa4bc65ffd80c5b6a284c5275b939d88daac758fd13bc32f1e871bc7365cb66927ddc757643ab2def3c12b78db92185ba67411d13bebf23ce1a526ca9d1eefdc9c3d487d7cffba396837b6ef87a0744ab906e95b648597845ecf4ecbf314c11e05afbc1aad81b440e247b43c0965a5390d60faa45613c69c2ecf5ffce95885f1489a6f088ae4e71ab8fdf2e4f0a66658a6261d62b2bbbb325198571b8979d864d7ce786a187205dd7cf92fe0c1b76851f1ed8dee744e3622ff9d596aec2dddd51e0ded24070708707736a1834f203139b01d7ac2f2c5d89f32c45e20b703b791a646ea51d228202a45bdc0c2f1b5841f3a43fa8a9acfdc435d5ea0abf424d6a5a3b0f8966336d7ca59c5bdbb9d6e0f7c3a9a0bdd83b3d94b09dc25d4bf396a39621825849f9983d0693b48e6e4602b76f6a6b6606f4d0a62b14c70c10c3dc8a2e75b58cda62b183bc2603051291b621e49c1d598f91e913ac948147b4b6d12c788ad309765ab089638ae95a648dfff54565c3e175e6b0b208a82eada3db0b0c08845aa5e42d7f90d647d754a5ec7be203bff4d38b4e825fed81e1ca34bb2cf545e74268e989c079cc61a860b212c4c5d4556bf733f97672e9b32e40fdb7ce8ea0605f680918cfd116feffdb46d63b39be9b5ce7a58738844e9b4ba9f9e8794f91b97a4197b79b80bedbaa120f11e1c193d129c83a9da1f1b42a6ea369f124be9cd303fb88c1dd5cac578f75414a0497123d6e5c1efe16b26211045ce3c817df44b188165a7caa9b0d2319953c27155bd99401329d1e669c6bd13d41e11894a07bfe80efbb02cb6af8db5fdf488b9e3e9dba7597286966474b52c9471be0fcbc28647b9c1b9a21c0c4c88abcfcaec820de615144f8086a1a3a39e051233dd9eb50af9d92f9787aa7aeba46f8f62b07b37e9d497b7c80e0ef1e7b44da41bc33bf7e143a8c0446b6b021d52c55d990605e9b38f7402f8ce32e967e036e7a10835bce75d5379202bd3f33b10f04031782a3926b06e9c7c063b9318d4f6ad9fd743ba86944e05cfb8bd99b8ba57208aa1376af777b7cf8384da71dbd359db1f5e924f77dbc09237737e005c6fe7cf6e05f2271de057ad7fe387049c99c0deb3ebc916e02864e85368843e51ee7c7c815226d31bc1d45a2a91421992ec2afa54e5c985743dac100e2f96895ca0a8c4f470b09db6aa0bbed5ce59c24f3ee1ecb43fbf91a9b2558d685713f12da9d442e2fdc38eb4a6344c46ec021ecbaeb6d335599e849d12c2329e2b9b8ee33d92468ba3af77215c2330e2bbcdeb81d2c9ada8e79af0ca6c24533eb4801d03209713a4af3f324a1a5af7212ee96c3b7df9ee91ca20a631a0b64098b230bffdeb723872024df937035c04c4e87a1675852b619fd4f3e27c0b60f882fe5ac6eca6f8dc4b865f90733d0ec7a287565014acbbb2e26320b4b0fba2ddc8fbed9b237130e0c6ec093a5cc7e5d9aa924017309c03b4ac9868053defe1fa6dfe043832907d4174fca0718f7ddd5831dd6522b07162903342f48987939079190cf2149f2be8e089ae6a1de3ad37a6fe75734f8a116b57720a7cfbdd34fd327f5465b401f3cd902516ab4ca7903e01970ea0896bbe2121e84634d9b2445dc36f92adb569abbfab993cfd0030327c00af300366e2f5e58f4b700bfbcbd8db605603a507d9e703489d3f2e075c15590902fdb0f7773d7f1d74fa37b5bdd9311404f0b0122bdbed71b8fc8806e96b4bc9c72db12af8333eefa86f63cdfa7e877b01dfeabd6eab9721cc62893cfddded5c7d9b78c46a4d4c2a5faea9e5a427eb4483f11af708ccf50df5f6a4f893f60c64122f282603b1195730ca9d719681962287e52d86bece808e9a7dfd60ba3ea1ccfd58327062f06ac3578ff12a70197df40ac47b8774207f35b211da010af0f4dbe2e82ecd10ef229b2bb931314ddc78f74efe61ce0fcacf2c60dfc4afcfc0521db6086e891dafaec065ff3a70134451db93ed3846e716b0d496c0a5af59af4c5156f93ceeabeb60ec93e41617da83353e05de9f599554b8744072973c099924e9e064489b028cdefbc7f34b9fdcaf7cf870dd42c9f6e9eacfd1955e5b211162d32f2ec50137c1abada6aba6857655ebc59bb5a51ac2e6bd86bdf711e4f5dc45c8dd939ee3db5d62309d1863030629df09bbc01d2003e0046737d057e556d6334f7912338694de078f5e47b721cdbda3b6306eb9b55c379876cc7ebbc27771ac6011aeca362a85bbe3c03cceb77d1346e1a25509cbbbfe17fe96261275174026dc5268db9aaf985e00c0464394673b756213b57ef0fbee6fdc18c6ca8cd7273999e45b033653cd0d44ddd0687e44a19046eda13ad1bbfba01326b53195c0ffed3301ae9230c49e1a2eb24eecfb32079a0b6187443a53492caa4088212e634b11a2ce7747a57bc3979ca31154dfc6fc24b2e494d22f933c2690fbd5b2d3f302ede1cc981f4200aea425f8f50487d7d2bc3fb1c8e15c270f41c4310a76f684b2dafe14e984399a9c7ecf2701ff6706ee15c43bd9f0901314fa346a6cad99b55deabe734c604e7498a43be0ef78ad639341a15c809b8eb183146388e262e8519be325d6d9da420e6e2bd32c3f7fa60743261c03402c5dfdc62fc57f80ed0fb21ce795a7d4c278b356d89e743336fdd802a048370f7e9fa56b0f1e7e057387b19fc4e0f4de077d6fffc8b1b9dac886b8bcf0ef39dd8a636c1453b32105e11237ddcc1c1767db8402d856a10100c912c62e3b1cf17867e716e412093fa3fdd10d3be4449de5dc25890430dbbed3f05a6f8da58de0efc887c8be37c8a464d3782a81b2a125b9a800b3c665ad08988a13cdae8d18e39a308d79dfc12fba8ae15434d881765e89a641bed29953e4e6642e580cd023f06f2adde905fea1cbb10e5c5cb12335e1f9d7feb5c1a702357405dbc9b32541cb98174e8f0fab2a7e08a9e75e217fe8def74bb6848c740e0a8af622e2d7377c1cfdceaef83834d7b55c35a6f782e497078e999dccbb0dda7d5564220e2231583c835012fa6d1625ac0a19d118ca48a4da16db57dfca3d1a3fd00876886acb0835874b9da56fe6b8736602b76e2ed17d039f2ecf554aecbc1ff824deffa62e46d60b6dfd09829b79dc5932dba321bbe3a721155ee3508a43b121ef5cdc43b1d9329bbfb4a23b7c6753b2e343ba8fe2b952bf2e56a087388f9b2ee15fafc7840edaa7ca7dbd1f7cc03b8840b85c518f3463cc593c8bc79b7e3d6991e42f167902d387d2ee1e9f72eb5a2d59108bf59b26edbc5498941811e16c786fa0a6768f09785ed0c82330f82b17a7e0447596591a8b9feaa359ede93dfc2235c468c7983a575364edb377aa206eb494339cb971bec0e6eb7e288187d4ba9d60c723125a4557356e9da4727a2993ee780ceca4b988caba6a1396d8431e1a98f8939d95c58cc42bb00bb86c66a68775ea8fb4096858a81c09a22560a356ca7b6eee439994fcb0ea5d2936b1a7f90298f1dd2bb908a86e93f8a7bcac6ae4dbc85721b8ba7631e029591345ca3e1674da1d0223d030efad3ae54b58d98396a27972355a4ed2aa5568a6fad48094cdb89fb3fa1797f894362c91149edbc029a04ae1f5118f49cc77806842e779741882ab9883f964c1571713d88bb6aae542ab317690a1346e478c071fee7df1f5e098bcde1ca82b637b2d9b0f5a7b55f4d09e9a4ceee96c40a6002f2dcb9df489fb93243e79225aee829685001ba7d7267ab56b83521b3a349555a30322670f0e274fc2dc63ba4aba59a2f7f0204ae3e64b0a5378e59e8c727f2f63b81ee3ab665ea3780c8a36cc3cee5ddf67171d09ad210a83add8954db1d84b9f458eb665b47fd27fe72cb63d29b129a2e51daa46b77dcd7e8d624e665a6991d648da8c6b069613e30e4e54a4b1d487a208697eb0546593c8051d3ef01c307c9bbb690f4290cb5a6ed2aa7bf1b19eb051b4e111503b436d03f7d96de136e9dff54f3cfaa851543822f862cb0a35710a953d130b8017368fba8d1b8dfa5893d55628b7d4fa2d99fdca38534d3b9536bc4c784213d021fcf8d9accf872c3a6b851a96cff316de21e3a0ed6b45e93c104475db192c175369e010a4416ba052e3a3de50150556c3573f9ef4fbbf896591279bcb667fe29cf7ca6ddfd68e3057f9abbfab15d0ca4b8901fe22b9175f712d6405f919084df512db4464ce0cff6bd67b9569ab8a9cb93c8af3cb0e93a8e2edf577c0643951059f371fc75742ee64178094e804e153b8701c6271be7fb53e5587ee51eb030cd91679256371a142f910d65057a218544080223ce7b870b3ecc7faac90d39a526a7748d54c261e7601cd044c3a61752cccc0f7fb9ed624d7ffb3af43a6a878657e35dec5a164cc62c33fe46d3b7eb7c8bcac8309e5ce746fbd1918477284600fec88e9dabf99efa992fa60843fd86bc0975cdadbdc9ae1bd360fb836a922f877591a9857fc96860f7786b661f17cf21e481058f21e687f69899c1db9a47fd24abb7863368cb052a35c4003d396c5fdc0f7ca729eaed390d32c78ce2188225f29376ada3c88cb94c9d52526bb48f664b510a042389f895939305908527e59764626112137907b2a8e2b75e853149ce287badbb10621dd46ef3f330665b7f6076d8ee839bf052de7906f3c7376b6a6e7e7ee6f633f409f5e5e4615b739767a955773a08d55c942c6c78703538980ceb3737c8a2e20139df414d8d5fea3b9692b69f3fd9607a654b8fe045fb4609865c481e9636e15ac80211b91e6e424cdfee76f2f26de2cdff94edc38963fc1cd8e83b41b618be0e4664294a783e68201734a466d01c8cf599e051d33c70ebf3fc1033d247c9c32fa96ed36040d1588e961df252cee9a29ab7a98d63edfab96964822b30263111715838c018171023b05d88c7365b46eae9036acb429554e295229b1c0e5bcc0d25713afb4b63f92d66b0be7ce4deb59d9a95ad5bb5d1286e09a13d67bd53ca511c23aa2b577bd4b234d73d469fb4e51dbcb59c501a22364bf1439b4ef205da3984e44abb28f2c8eb9a74bcbdde880ec11c0ba2f10fd92794dd032d771fced80c96f26c578e1f1f1a9d3b9608cb573862942a74523860092c92baf5d2ebada1c17dbe4672836fe8b3068798301d20f4a5cf9eee1dc9582ddf2a71e2c5d9a60d310ea9b8f7bbf610e8e6d69570c0c1979999d927ff650806062d703cebb55225c3ed42108f9ab811aa6d0151a13def5f79f35479ae47b4d66d4cc3a54e3b80516117bad5dad975bdeaf60579cf8cb62d6c9f9af6e15f20f52302df15f98d560fd9692cf477bbd985f324d3f1e822cdf99284e1fefbc6588992e109e14c7a38558a3dd0fb5aa56eb63b4b823ac1b991359558b93cb73f5154b800c41a8ae2b7844eef03b6c4b530d6e7ee0140025cbc4e08bf9f2b7c595137a719066e7aea9f7435e8493b65b175581ac10f6cc10cc17d981162b8b40569d91fdb9555389c34a96cdaf7d96e9007b513fe6af153fc40c82cda16f3b789d7d68cea7af4f20ead03a0d369bb2323caa2e4bdbb7f91d3d86fe2e07825b4b7a11345d10204119e11a1d1c9193639d03288aecbbd1fbe59f92b58bf8f5a94ae0a0e216bc647cf64c1913099769e5e832256225b4e85025289e52205e652f807df83bec10a77492625a7aee515262ac6f7dd55fb062afcb9eb99fc9e07b88823c484f8e5a8becf8db040f0e6e90f255687df9a65d4f3539b863d478c33a9b23810e5cccc91ca6d9be8360d7fa6608bee2d46c38a6a8a3f27a78a1996487614340e324fdadcdd9eac0da6da026fe290fcd7087c117da36ff7833f3295aa7d2ca637e3992d572902c82dd9df94b8e7037a7f14c200ba8a56c9e60098f2b2c3c9559095bbfec7009d7e7dd9f24af9ce738096f1a837f332f700f051ca04f91effabd36dde09d4838153283cc6cd8387d97122570c494dd15df6a454defaf80dc84afe9827fa421199977de00a798c07ae3eba0f0d9233d5aea793eb1801ebdabf0d9873f433e828f57f04cbd5ea683f971d6e6d295dda75216ebe537eb5f21a450a7ffaa06f65896aeff07c9b99ec4d53b6783a4033279b1b668c999ddf182568ca075b75fd4c23e40d6a05f5bd61be4b710538bca300f748991876df3f28b1ec31234f75d2da1cc0c5d3e11dce719567d1b900c3b8743ad11b9969e27c442b6909f6c5a02b5689259502674f0bb8ea23e64b8f6a3931adc6ee4577dd4cebbcbf98af07b039c3fbff1b61272e5912187acfd4b5daeb0e8a121646faa54621b848609ee7ecb8b9dc8b2f0884506759350e0c2559ec35c509b05c3ba686c10fc159a63d210553bd0b97ce7980ac5251d70bcf7d36b7f06af129e2f78ad9c51f0b3221a50030c621a301a44036f4c3fe60d4c31f36d1833f8519ddefa54b17ab27f09da7e254b0bb8dbd944472ce8fc9d7ce381846804a478ed994a651c994e03b72bbfef9a45dd28f7ad89d3160e1ef8f66c7b0f825abc126e89d59b050ae0f87fa50953441c37b66a0cbaa0959c2de3f37a6c12d7e76e6ab5ff26ab6c6da9bf2338b4d1fa7c2c96d3626ad31c5d21d211e5164c21934fd017894fb8f12c729dad987680ff35457b02a1e88d160bef43babca8fa476acc08cb74ebdfb41f8a5af7151803cfbb48140aebfc9a3bc3115e2edab2fcb22e4259aa80ee1fdb70e63a7bfda0b665a5b4eed1762b96bd00636b0873052d10eeeb4a1c9b2e02862bd741459fae2c4d3536230d57c1c59711901d7824bee217c7b1cc26da82e0635d8841aada7397f04d4a9581a6a87a60e7811529c04e28108028f5aa25e72c41846e416684236dbb63e61604d8e2bc3360114fad82686192c8acb2ee785864933374dcc53190d3fc9e08db9c77be56ac8ae8b1b759b443cdc371d27a870e97562e4e1654b1dc249dfe23f5ef48e41528d1d925e77c430f3250d41fc43da4ada6e2ca95e200527b22d729cbd655ad1e5348c9a6b236a68e29f54fbad1d462e93fc04070adcf5a331197c6e9f033516597426fbd20c3db8516f1ba2091a60bb00c12ace3b1559e97d99330eb7615fd3ab506f2a791470e49823f6840de8db065b0abcb50e3e53bfbe8b7db237bf66c804bc0eb73a9138088f8898ee86b33a6421279c9ce2c485ab5df3932c1890391283825ca78b1918de797a458777c3d2bd492ab76117346cdcc29d3d3fe7498eb72f6b287568c4dee3eba00b5153f36e20ea0c6951f8c60fa104dd60bfe330327b54f8dd4a70894e955377018338ac137a3e4bb17aa6003b2095bee7452abe2a4f3da5b26580512e8641f846e4537445a1ceb8c5052338ac4a9646aa67a7611b575874da6bbb1c5d465a5e40db0ede66b17cae2788d58d140bbbbda77cb85d65929edb222b213aec46a4db106806d91afb9e13598bd303a66f45d5659aeac3da1b1639e674dbdbef5d695611143be9bbe93a6c9d47700a3272eb44de984d26c74b4a3257e35b0a3d02974150fdb1e8031d108dc66041efdb798360cf7c05e8887c9dc7a364c48cf8619b0fc27ddc233299fe6bf3714ad100dbf003862809b508a329f49cdba56901dca2f28243dfc620e75b13fbde3a5e9cfda06fa59564945c1d644a3b1fa1a3ec6119d0070de23498266be204f296334df5a9fd3bd17c54d6b6e66f96eae813d10333f2cc36a9c0594b0368cdc4b0571728ccc30ba24f4a4ad05493035004d89e65a9e7f157ebe4b857c288123a3c9f8d8bfc1c1bf9827e4941a2863620efc0f1544139528a9a785da4322d58c4673aa8cf80394a536e7c4eee98b77bdcc4e54f02f4cf834a25f098b3986297fa8789710a1e0960f5cd8ebbd5c43890e19facceeea260167d47b4f9b547bca0c6fc70565349574ec474a4c0085763ccd1197b7978460d62c81c78b31e5b04fee43dd998f9e0e4cfafe45157aad758c65ea4a5504d2f51370af4dad8bfa69725e4aaf4eae2c75f01de84e3133a1009ddd0ed3ea926cf11a7c1f76e8e5cdb3099973e6fecdb47cc1abe642fcfdabfc25a44bbac82652cc9070c222167552f3c4de2d9ab063c235d9f7f30be45945d639ff97f8477a2a32fa468a4fdb1640133866cff3b3b2052671d2eff95b2ff9d0a7e13e9c08222b51478671531725a6855d7f7c0aef49ea68c9d7fe3032832462b9bc0f3bc1586907840445d7461d8c3567256695010df8a02f98e05b7de31f36bb4c603d40dbed853d8f699a6379a0747feda5246ef7fdde22c9cfe15e6dde3afeddc8c8ace5edc1b6a0c92ab1b5f17056ff833bc0097351094d885877e3314730cc15de6e19cb57816f11004edb75cdd73224c3595307654dcd09ad2ab1fd32af44d4d435e65c4977ae000b0055c06cc9c5f6ceacbb52a3e704412a08a49d3d2dbafd268828b9638c05eb28d1ed588bab4b74bf16ee8e896583a23e0a76c43018a4d1f089643f6d140aa22e743615c507bbad0846010e3f0ef82a94fab67b4db93da5f45682bc290ed36d56ef75975bb146db1ea50e406786541fcae0e9cae4c106080eae7d1f97a5cb5ea564ca65e85f76fc4bf168cc12997b66e3a2bdce4e3265295d7776e9f85ac905eb6da36e4cc8ff3b75a0afd4347e462758239666dc65e669ad12c644b3eba08415181ad890f672b22b633b67d098959130182caa84fafed02bf98816949a1a0d7d472e4976dd16195631c53131c7ef3cc075eebd5c7b757a87366c53747924c233e37b9a9f95c37e06f7da23155edb3c20bb9c7859319a442881fce68330530b42941926e55d77d04f58f1fd22c27d5cfc3e7977edbc6621858e45ca0c3502ac5390b43b7ee917a9b2586d3b8c1dba2c8d41e5344dca35d6cff53382f142b7057a9a9f54cd47cadf3f9194f33b9274bbe020d29a71c348d7127c954bd20e03c30a909783d8c075e4ebd3958fe0bb9d0084cacae4789428d0932e00b1ba72caa4a3f56a58347eff66b5c137e5cf117eb7350aa516d05d3d1d6dee9c6d36037389aacb7f20c22965e9d05eec05a73fed85923ea8bbfc1b3aa9323b5ea030cef35bad4f36c7c4fda3ffb3f19e68aa1436857fed596d4e1f03436bde72b68b31e46fc27bfe0a290d2d32de3318dadd519c1058a1a7960d5f1c58fe11815b64513e03104a48439a2375fe708b309c456112460804af1d5b38dec6e14495c3408d5d7a822e50796d9458f17cf4950d4c6e4ba5cf5101d83928655fba0a54d2d7f185a6e65354b01a5b6a1144e0a1ecab4936a1de76e2e0e7f24e3050a894d579b462efff873f1ef3be4872f515dc5c730255ddcf2a9d10d9ebc79ae606139fc837998e38c29fbd794878d064b437999a428d7bf179700e70b93d4d3b4b14d5da94a05998d5948d0f4118e868f8508aa5a21f5570714be50325fd880f737fd43c806594b432e112e0297a8096ba4dfdfd3c0b5f610ad5530a144a6c4df1ecf68d4f7051f52a0f41b0c4809ee20ce41cfd9870de93e4344d14c82c566bf07caeb66b9356723dd2522635204710cc3e35bdfdd88ca29b6020e0919473420cb50a41651fcd15e9092216470d49164238ad7420d0f03d4026bc6d48c9ad87a81aa1e482827a75b2301a925fbce0fc097c608dfe6bc19ac70c998f49deb01e571524ced952376f5cc1499a509ef65856fd9828632f1ca33b8ec5974fb2b0463c277afc7d5c2bb767609d1f42861d389244339d233c88d2dceb9b7b92428c7271be6b3dee6c6fbc3f529d81242b3261e2b66d4546a6208dad0d9d68ec91a944ca431a669ccc282c8f7a68dfccc451d26c139a9e32aee2de2e42622c400f4575ed4fe513bb58b3c8a3c869253055739a15d485a222b76bf5471e1d454ce96b40cc56516ad2da01714d00364440622d6c7455985bc65cd629c73fae554963eb4d46044ffba6f3ee184df67d86051581f36965ab540c6304e87bd441b720a58d4c06265461471f6a1ba74bd06cd06607b2efc281d69f809fe9b9240ed1293ed778a693098c56690cf0c631df69697b029089de284b162c350b5ea4e27b8a8ce3c856c0e780700b6e535602c0d2488a4d659f8d817b4c134e1b064783f2a31100132b70f45afd232aca7c5970cea48c4625854dd848209a255e16f35669a83c458fa8f5d1466da207c65b18e1d63a05969c66b07b76981bde690c84ad14b3cf71c90f45395d32aef0e527347a27c89bf74b5340f70fc70d1534051a901c3c7cddef5cfd73f6c500e8a69c8c3a331b0caac013e74b76fde76ad275b2723bde4de61a18ed40249f9f7229dbecc024855f0f1aef4649057b091cddbab0868f3a517bdb460f03ed0bdb0c8a94476c935a5fbf9802db246b0b268f4105da36072ccd6338b065dd0023f39920cfda8ef2811dfff12c2550358a4b46944c18a361d11bbde8badd5d6418c90f0c50fa65f539c2919249df958524f7766920ac4fac80fbeb47138d4ab12ccec470c56664eb845ec665c8e1aa11c37f1156958ff1d6f7b5ee8a07264f5be9769e3cf697830d1eeb1ca6bd51c579d04d5d74d9621d1cea506444f72ce080a4e04d6ba85a298eb47ee539f60e38da9734c66b7836e92dfccfcb502350e958f03ebfb59e989cf2fef4cefd243456c393dca7dd1d246849a9193833ff66c327b55446dcd67a1bc645727d378a45608d88c7599b8380494c76d7c8144736c483c262b39d3d491f679e0f6e06a09fed9db923742ff453f4088af10eab5f1a550ed2e12c5e319570bbc99d627e8469ffe6867f5c3b443b3cd78199d9e23e789ce22d170d436eaed873c505bcf17801417ec8778d61943898eab1377b1b756f72473f0dbdeb67edbf7c61c4a9a90d8879992ca4aff39f995b0c792255705f0d960180c830e6589a4fd8468db1722efb0a3c5cb347c4fbd11480b92094f88cdccb813e910c042da73cbb0d182123a0b771815d968acf868a20e2a19a171d52442e2b7f10e898b6e2be7f07619cfb3bc42fa2c52b77327c5310892e3ca2639c3bb9513cc3664040164c2b6aca8ee48ee4058f192495e931f6d723ae24b9d2987fbf309a72e1effcae6e374260dc762476a31ac05b5ffdc0d3bb4e3ffdee1f08bf0a95b1272ae1dd1dc73eb0ca0a84c9ad166c712ffd8cdebf223d70ef759811e5dd6947501cd875c1656c136d28f000f8e82a0819be9092d92604de9fe4ae8e46f5143b088a794808ef4ca5db8540f7ebb2683361c5a5c828341b57878472e9153c078c115cbbde422c990024f719156b13990034bcd35b662fff47e139ea86b074536708b3ce9f9d613b9cb1d83e3d194b5898920930c7f4a3d3203e3075a4349a00d5b65cdd37bcc6a17dc4825dd93606b4dccc449f3534c8bd8b5a59b242f200c6eed83f228e2b63174471eff058100743eca0f150ffcd96c4bf509119d92ced6943a879e3193bd2d4014c8d6970b7986df02a7acf5d9084b0f3d03bf241956b6e1f811bdafb81d6c2cf9415ed557895787eed283d5727bdbaeeed69475efc159cd038fcb47e0efea14547e16f56a6fd3e8f9e22736de3bbffa1a364423f13ef1483cc6248fea1c83660c5860df9ddd56a304eac82121a42fe538ee839afa5a41d3ddb7778ca8e016c5f2d8ac13a3b2104f914af54e88b40b120e6b2edd9a53a8670743c9157b63db86b3c4160faa7657832ef6fd878065fc7aedccb620ac7e6eac3a431c63c8780a323d174dd8227587b2b946d61c2ffe523aed3f5372d99b54f15888e742e5123bd6500a4ec2e207d902051171f3df995dfd4c528fe037625896d137a052ee407e841eb447e20336c9c8258ec8860b1873b72833fe0639ee1b248de9e217f497787a6945ed46ffd4071a42c42a2053e6d3983e2946d027bb31d78ffad7b86615d9facb9a27673912bdfa589edd4b477b514ed67570af3a44fab35514e45b8a92fb2470aa0643e0fa1294e57c13ca14ceceab5209b4773a92be44acf99f41e71cc5ce95ee3116dc655b1ff5435a728678c16abb647e8e855fb9dc237eddf2952caed89dff58831fa6948917e7a0daa7149906f10dc3c7593d04ad002cc39ff5835df2c08f5760758b32addee5d5f0de978776854aed8dfaf3085cb65df0887f68da369b36c2ec2492394308855e5d44cb968f7b43c6e86384713929edc50f3799ca2283918779912975b9cbcaaa1d2480380a97583903aedf28982e2d62965979ba21e92bcda4440d766e72c32aef03b4eba52fb0a01fbc6650cf47183924c232ce3ee06f43353588ce461c65eaffd13615c3968e171f20a078d5de9b8625d1c90aff06a420342362b747a649c54d314b2abccd890465c2cc7ee563e8f3e9f68c91bb97c00046fcd407c8582378739da227a443531043920cca11ab30163e6edd922f1e9b45930522696a66ce31805e70574eebb27865f44b7d1987b5c258cd93e1540e1e0680667368ad14ef6986c555cc777805bcb8b21cdcdc2cfd964d7572322c76921399f7b8aa0ecd45ad1e5132b26b583c347f80eca144e055328c3997625b805ebb3992c96ae931109e7c59bb136fd909f3e5ff00d646dc2348e85af60ca3bb0c46ca442e1d689aaf81c8fef594b11f17b6d3ebcb2057c725224ffb47dff93da9fc6814a572a897b459296911b3588ce6eabc7774186fe74f5e029eecb3ce5f9c35fa2dd319e3e981b6590f7f8d0504de9be083e090a7762af6657bd8e38a29d300ff9a8e7896e50431f478773e0dc5b288e22762fb932fc09179c84bd687e45282af13523ff1a0afe59aae09f3c4571b8bc6f4927de77cffa691afefdf426364fda0d82a128ba5b2acf3576122537e9548f5c0ffbaeca5d3ab15e6b1de8705d339957fb949c6eff24c4cefe9df5284db149cfc7ec684b6a3cb42e47e23ae0887fa136d53c64d6409fff5e3ebd68a60292d49d00cbd277e4277289a69e9ce2b08e7c695c46b832db96f71c7fb8b10ba5d970ff254b2ee7b23ff0ea083d34d55c32600974720d1512d7f49b6aa52e8b3ec687fb55ceb9e087fa5c2f7f385546a6d8f4ea53393ab6d9d0d24e966a534b6f319d0b4d8630a5be762c66a64cf4cc72043e57f64c9e2461be0660b53a1b77796adb6533a5afdd9004867783ed00b3c2b4cce966bfa14118f025a7d11271347512a78960c78b7e4ed35aadbaabdc6bbd2884f5d322bcd3e0ae1944c6d956975ddb19763c393adb4d6119602c7d568525e9ab92343a7f683d3009d6de0537e810a706c39279647b105faccc0f1e4ac86f543efe3b8105d37d8627b7ae5e9798d30bc398948a013fb94d6db887b526185f6958885602c2966fff134afd9372ea0d62728148c03d40e9ad2708e3be0d65b1da107771bdaf71e1ae8c046b485c41d88561132a06fd5f9f72fe9f0d42c34e0f6caaf5df4f706cafef3ab22e7e0e9d4b34c9fed1d1a0fffdf72c31153ed7f5d90b2f41ca837580bf93c0b11c074e0df89e4d49d740e073b6dd7248d26ee4131b1f41d737ad9ec77c050eed6be095f0c9520d039a99f8d55095d2b185781c902e422f02dda1b378832dc15123c4a1f8e20612a3657273dea5caa9ad71d2a9bcbd99c6b76efe4e61e07e3bdc5c8da386ad7898b52d855bfd155731df59cd8e15e27cd6ab9abd820fe46e74ff9045a309e501b3b358030976c03fd59fe457b7d7816d437ef6b78e6056cb9e50135dab303c294257fd237bac3d2c4aeea8d8d9231985450875b97da7ffe318952eb997fe1f05b171f634dc2091443f771caec669b232366dcf81cdce207ad0c4c039b5df0a3005393b381d28e207e184848df9bc393cfe62c15e441b476087d1ae4c0fd8bc2eb40c079fc513e3270b1109868a54a6f3fa077597ca8c88051742f48dd02093280509c65e993bf8936c2544d19a773540897dd38876d120aabc02de224d176acc4166050e514fc0cfcc8fdba48fe21c4acf8fd43c3ce5fba535b7bc469bb9b110b2792e669a6ce3ddb8454cf5341b6174ebf470556eedd12a4f1aa99701647b01dc7db409d75878b417f061cf31212a361b06b20ff9bed9c4822b6f1643a50732042eabca15e6091da34017ed412afec1696caf7e1de68a4b05bbf5a84e668e64546e22b4a252f00b911bd0d43f25e52a3eaa30a636ddee382063c3fe15056c4e4f6c1f89c95147bf1248069762b1a704b3c49e7da3a4883d53e38c328934050f5be8550dfbcf26013a7897ef247ac81cc0cd002530edab7044220545b528833fb72f3c142a14b192354c14d33cae5b7b33a2a8c0eb884fc40662c5ecc66f02731e2127130f4bbf817bd7a521435ea34aa1b3417b71284725c3e558adb484af86674d218ca775179560661a4e6fc91cc06cfb47d6745ab9a8484c7e7b23fa564917042a809b96c80e35e56587ccd82c3286bd3495543c6ef1331171bae2d887a658e57a47737f4712375c14ad91e341f7bdeee0f9c537a39c7fe1f2cc7286d1a2dc6b9605b52e7ac26c4fccfeec0d88a0358b5c3bf3d5ae81e3dda869ba207983e5b901c6d8d4108361887a7ce8d292dbeecac2eb6b8cf4c5472eb1bb4b6bed48d608f83f35e8510ba3b17382e295b29b690014102921797b6703e2491888cd11dc87121586d5246b41acd9b73fb66d1188e538483a73ab25411f2bdc3e93c71791e6ec9a1a51197b829a68926f5e2b88daed7357a5e1e0595008e781ad7812313888c9f01ab215e44132c3566001b6a518ac4d90e89cb656352c823c7c6fca739df3d362b23d145137eed092f88283204ea5dcc4e9d2bde3841a9fbba78e31fbdb5a2067b1fd2e6a5c33f5c834016762e067957c0ab96721cd1d329014a0be3968220f9d67674ee03d7436ee72bc887481ecf78f384e6f4aef0f59a2429308d29542e490b37a852b8d1f3ec49b16f7b0e01f15285daf33e01e444237e8a1a37621c5d5d6877d79daab1c7021fcce9dad1913b5e1780072b38e80e37b1901d8295967a13368655c51eb3d21e8cd908c7b8b5e60e439761b4c25c37cb5b4372bce1d54b344d52c608516638a30b13296e5a5e46c0ce045b1a895bab98f8cfa58ac60cb9519827bb834327c9e607be281fd85211a5d84e71dd3b8fc3d02694f44ef57b062b40390d371b65283c383d989f8bb88b3b5ccd39ac6e62f13b41391ec12d7ea5327bd31f9cd2e13ef7625e081fd9d20861226b7833f13a5ef175f2c0111e4778c46c68709569a2fcc5bceba1eb025545145fb8598ce1707b516db9fb3c61cb97a848b80491c9278761cc12b5dd817632483151ddb7463e1eff62296748c8df1143a1f6d1b0f220fd783d0add71b939f4c5e03d9a96fa81cb025e5348e689504f98b03abbdb1b6ccd5645a49574b1ae64e1eba11695fa06985d1f0678f98fc1f693efdeed328aca8ae401c76b397d505645fb53ca0fe096b6863904eb2f3d28ee8414c769ce92beeca170ad2728606ee58cb6801b54c98140430d8416b3052348f99322ceeafa9665efff05c014854c34da94d3d604caa3cba29704cb117d0b39682bdf5f822ee12563628703e1c34d20f98c806bda4c91775b7e4c4974f18759e43974916b5c17df4d9503f92a7290b061cdac2aa7acd7ce82481bb78247d32fe6398e08ea82788fbaa24e9a9a8a5a69b9ddc9205865e930b1250df59bacb3ced7f85fae450cb4b9b394ed488336e35525e5066ab4367a7bd7ad2dcd1b4e2400ba2b16895be3022e274c1e3d6953ff7dbaa07776e297f4436cbad5ec27a6faf336f6edf6fe35e4f8ea1cb022bc4df4aa4cce9d20deba604f4ba85c939f85e4b1462d303df9201cfd65e8f8f62a65a512f6bcdeaa738fb780e0d83601217aa0909191cabfa95828ae282cd70484e101c925639ee30fd5cb67f3df75271f02ddba0fb5ea658096c960ccc51685bbb8094fa4f1ba6d539f1a80ea3f12849768d28ee583e101e0ef1b0174a29629b4147bc6cc85cb1254c57efe408e904ccf641604707a35b58c3d52c2016dab41a745da5679243bbee046d0a749c179b9bbfad144b33b082a8db6e8177dd7537629bbac442429b829749741c207c5de40faf7e2a54bcdfee17b4080b264a5f430303d04935aa81b8aa24f8b41a17de632f269fbdc1840c0e15b60c9dfbe4c7d7fdb117959293ee40565571ac2e691e3f0d24869d6248d23218b82479c096e8f4fce8435462733536485c7eed7005fa4dd61490fcc466194b211f8ee901ec9eb339a3a64e07404ce12a757d6d5971ddb2faf86a956f04868ad844fb7bda8f3cf02979b0b9b2c3a51dc49ab0be660e85a7fde4060ef8bfd79fb761224d3e45a9e197abfa58675800423e192631fab32daebfb54a5d470e8a555fa398c1c636be1f76d9076640ef52b6c128ed6e338ef3421f497494a5d1926473216c473ff9dacfe1b171beab448d23c4c1d6ce9c0a957a36c7a1fca368a7aaea35ba1ae02d782c2323ccf40c81b5ac2df531daedebeef8b37b40d27b99a4807d20528fd1b2e47b00982dfc9d0ff43bb33c1be11ab273cd3764e4d0b5c73880daf32cc157e90494b423f2d55eff0ef4664cd1094904cd0f388f3f7aade1874103627ef479e818d152ae930c593ceb825b6c943151159c151d5f39258d92a8c33fb1123244be6c4af2b6e1b9e170f3a6eb5fc4e78a8b7f6caac99708ae421f014c32137c44084a0f537e475e24923fcb296e1ca39d20ea199e3fa13f4c32a7a7d858075d6b9a8f0ca0964bff1d4ffbda7662f09e5cffdaa078ed7dc2aeada03906b5b7b8239655a5b33fd9cf06de80c78bb3169547c73d32c3bdfb2071361fed23be8c4648d185188bad5360165f56862b5c1dbe942f85e763ee1f2370997688597312a63d1070b2f5a0107416fbd252b9091977c41b7f5e9fb7e0f5ac113088ab18b2e52cf6bc436d28c44555107a5675c4c804117cf7bc1123b2157f62bd50bcf32b33d8a69e8a2ea466acf33b4f268440f549dfcc125ccbd1dac00371a2d7bcfe59689318b06a78c6e2e308ce5e6c771e0853b75157fc17339bee2f6e926fe7c42f5d5ee75aab1e9d2c5e87d86c7ac97fdf12067e895eae4f3ea6223fad89380070f77d4538d8b9a567dadad437d421fcf307bd2cd330d6ec832dd950e368d3b3923947b74432b2a1584fd4379fcb1708a6a41e41dd4f4a9e126df7fa3951124c294156a279b2f539ad66e3b4aa942c205f6d268a11d36261cf4cd664996da1afcc837c812cd5914b8d0f2a2cade298f427bbe76a02d81b2ab045c3582588f79de78a81d7a9fa81a93f9deed5d30741ef5aeb0c2f1c03527c28e71d70153d51d609dac25490290b09ba98a82302bb7a521266b9ef67a1d901f811a805d3b59f84f4dd1a0ae85511f12d64331ddb64576c8f65e78d80ccf25e2cce96d8bbcf961ba22d028f5ffb3ab7b55dfa57a8529094129a12e165d54ed07ab6b070d26b23ae9881618f9a5eed329bc7532f1903e8411294514966ebc653a1d20a5689ee278c3c0d382e4d52d003962de32494f4f07099702dde7569d3b9a15c5b3c8e3171ee304bf94059b36b02deaeba95aa59292b6bbc136f10e321fa1670b142843e8908d08c496f727464c0a63ae6a17e3cede3e2529c978e246d142b5cca5e3e485bd2a7261b994444690da7f1443c842251c8fe1368e04db7dfc0d29c0dd1b98132469d92a1e324259728520630a46a8a46cd2bdb7d7785b77f6e159a5ccee34c5531ec09857cf3cedfbf3c0d96f9bd9a83223405fbeb60c31789de18ea3a676db767e12b7a5e9ce1819c37268d2ada400b8a271490c3230f5f9a94a9cf74b709a55a509c9643c606f0c5743ad8efef853a98ed1a64d3d0243dcbce4ac439e063579725782f8d1ad37b9da5b68944a725db367525a0f52abf6f649ebf77a863563c6f7f953a384d0504771dac757c2c937d5af6aa95372bc5937f802c82e3744d5025dc6b9b0717cb2a3c84b3b194d0d16867954158ee984f43966aaafc7dd3a984fe19be2b6156ec7810c0ec5750a6c193a9002548d803c2e105615a3005f4c63d4aeac7ccd8c027ad04ab13380024dbf2cb3523343b8c2f379ab55fedf63b78a4d5aada47066c013ca97462a9a5f39a6f7b680e5cf1c86f61c955fe1d3370c705b5137ecfb7039b38907579e2debd1050cd3273b58e3a63a66dbc95a72481eec3135c288493d97e4bc0b5ea3c97cc4ec8edfa00dfe8853800b54ab647da202fd33a1cd7fd87b2f139bec16d0500ee5531a9cfd7eae62e84b7475c625c043ac38cbb1388ce5cad7b9d7489ed7edbb843b97a379a16585b0ebc098882e7b58bca6e149c1ec0727d11c56017917fd210eb123d2a10d35030c703e4da697d986e863d5e713a7d4e21786d3cf592427ca6c5274221b2664ca43c21d2cbec3607412dcc39861e254262de0dd08403a2716e3da374a1b3cf417011300c13b400a4f619306885184a91406c1df40de1da626ee612f5e577328c6bb9ecfcab4c9e5256daf1de1c7dc75bffe8a5188fcffd3fced16ee7431aaf32056ffff2242f786be9946b8562631a9efce16b287ae96b3833aacafe13023f2f65e70d56d6d0a50aa65ea811c3625e3c666968d6c14dda34349b83174a35113f6bd3315abb396a218e03ca5705f26b7566e0ed16c515818da19b697d6ed6c22c91483bb916071b376d2c82e98e219f2db403a487276d2fa1d60ef858657ca9ba07f116644dc105ddda676b3390481782fef2f6fe778246cb4eedb04b822bf4bf3aa02d74b59720889a5f3a68a91ddc1659c211ea568ed425a19eede6ea2266631098ecd42d2ee9456ece6059d7877a5d7e000859b1f4963f72da5b26148be4116ff97b8c1330bdabab065ebd8b187492140bc314f1242c12cc1d59ec91dac55f1821dc9a230ea0fbb01b976e15e3f41d839b848458931768ea884b663de36424054ae930aa22478ac407383163395198b108163e23b97931a294307af91a258acfdc29cf7f74f6ab0794a11530a6e676d27cc60677fb1f8ccc88daa32760683cd1871ee23ab0eaac7cbe857593ef7e7cb32753b84fcfef1293798e039ed940b8ef376240a6440a212b5451038a4c0591469d413d5965451aeab81c340028adbde0326ae6b44210e8f71725fe94f5338a2d314bf4846807056d40eb203345808d51fc913ab50eef2273239f508828a471e85a07f0690c06798f27a9f2e2273174b3d8e62b80d1d258ac55992d480f5fcfa8f137238838f084dec8bfa319c29415e0502ae535424df4f1965dcec3b8cb131d9aa7770d8bcbbfc4a0535feee86793ccf163bf415c255a2acde780c4c30cc9f81a60111f2e85100d614649a85097f9261861689557f56ad328a873de9c49952702abf6ad75b94b28fdc585b2914ed380b7f72ffac0e6e24f716ffe8233f6576025a4d64890a1de7dadc41d3694de5d70ed53254dd7ecea368c9586a2c17a655828878ec7b28adddfb2ead242596ab6f8831906fdc66648b6d4a2fcf532cff87658a3ff2a7a1f3db94969f92447a4156557a0304cb6d87778fa5f3a596d20e32a6eaf839135281e7c14c293115c7190e9aed3312baef005a6a3c805664b4086b6f2b421073ac4058cfeaeeee65f2ab18a81acd353689ea401e9df7e350b677965e424b220246848b52d9007e61cbb6662b35d5a48b84f9378ce59d7d33916ff4c4140a9a2c355cfe9f57eb99cc3badfc207486ac123771902b2baeac27a0ce57c881d9565476e055b73d159ae23cf82c50bb5a7c8baf09011aa4e8b5292822dc9233fa6bf7ebba8278ad9f3c4cdb4a6245d303c78359b40f932b87a9011c3fee644ac6f33f8251e9c7ad64dababbc587e247461a6e7f59ade2c611781b38ac4888c3c31b7ab45e1caf6887351e0143f5ccbe2031ec909cb985f8e8377bddce3933a6951e2d05777ab527cee7f4a73b64e4d04679efbd0c3143361b468c7c4ce403abfeba5aff08fd22721ab91aaa8d3afe5939ac6bfad1cf3d44eb527d286863364393ae178cb3e86358f6a7db34098a1fba64b2e3bfd2e2caf0b02194a0012a1eb0361f1d4e88251b8e8d488ba96a98e407bf1fd0045fe975ac0875c36fde191ca6d0706e1f0ce662f5fc10272c90bd39406611e0457d45f8709a54f3af92ab07dbcc256130367c4fd721153e19fd1a07d09f0ec76956b0673751c90d9d453993ad98f26ecc064379fa6eebfe5628efd1c1d4cda14380fcbd88070b4f1b27b17b49e08dc9980fe838306f768140902ff1c1da882942de1918309622c70bc2e37a761921a9c345d23a70ea69c8d360e03b1dbb97eb86e1caa1f4af310aa3b16484039dacdf26151cd61de287d4607553b443e839c500432bed1a121e66d2de7fee6396a57170533157fe108968c30ea0db8a0c3c517f41dae1995b8f7380b63a155ca5e79379b0d7871628e5ea290201d65a26e7f4e89c79b2861cf9eab5011a041568ed5f40b04c9271831c85d7975c88e0241684793a95af8ad3956faa61f47739a4aa0485cb0a74a03c6092a54ca99aebf99c23e1168fc173df8bce5540f96764a71547a33341a72d7148828407f4cafd36066b58e5ce2a447f5b075ec7e7ff828b9cec935006f54a3005db69a43af324e700a15a2058e0830e000db45fe60efb5305613cccd9b4838e3d40905891431aa8bd5c69fa186e4b8cd104c8d5e1a51f466075c187b6259421bd318a9833025dbf63d9f3cc4baa7ceb0918dc865cf0915517cd083119714b9388adcc61a086fe4a405909eac3fd2c1835088d511ae7a11f750240e02bdf9fed7394c643c7248f288c27f9d671b36a72ff50364b3c64abc173e531f30ef616fefd1679be9b36d61f812c3bf62cef93650f5a6d5eab0a6d8e68e14048e103f07bcbdefa2a33f4850d4ce19c0aa86cb6eb3c7b18f04636bbffbc26404a5ebaed900ca2eed299e14d814a6e727de2f7e0831b7a9491cad417861dc5d37ce4d8c5f177431ee3b2de0ac83abb0068f74cb41e14938a1cc607225696b51d33678729cadf3ada93cf459e5fc7f5978736bf0c34195eccfc3b678b348798b1e771b7d277d33237402e06925537bee8c407de29c26020d3b0cabec2b282e5d98b8f4d8dc5375bb4a69221e3bc9ed080f1d161c836615f672b45af072d68bd6841a071db22afe005f047170756e8cb1c2f8d51a1c35e496f35b87ef231d728bc471d1abed8b12184ed94648ad1436cf3bb59f0c9193c93fad28f63d880eece7dfe5352a4100c9d133fe197d5125f360915625dd714a2dc7c6a37b0ffca269716e064aa95578406af467d2115e3798a0800ba7ef4380cf230ed60f74850cab17f537040d3a0d72ff9f6cc3f0485cd8724e3e5101ba60f5e116de700947e022a928a3fa268fc77f436d4fc0a3bbc503dffd2ce98051d0cf9385a8609a4ac5c224691800e307b3ad20f90aac4debdae66b1ea8503f9b78d730f4272cb0a87213e047a3f5ee14d95be7f24405b5a3c20308d7155d7f85477848c1adbfa49a817812875f9ddbd51da08e0e74fec07105e285cf9898770dcbac982c545e980a8a5ee5a700f448f8ec2ad129d89d9a24c402e07750a7aa7fb7d3bbe4bd70d9d09e971bcfb73a30482d23b6d434cf151c31bf0a2fb9694113f19e6a1e4f38c19acd7127c917279fa9b8d9c96fdabc382b007fdd215ea7a4d9613722b64012f35aae518c20b2d5a4582b20b56af3e5903162975f43a64911c665885d00bb1bb53f8e221e14ba8ada5e5076a43362a8b8c7faf64aa0ed67670267fdd78fa64bd5facf5b6bc058e1304c83d8829532f705c6ed42437929f2001d9293ee8d3d81c500dc62b9c221b3fe983e3be379405320dba88a9eb272bf49291828168cdc67b1c0327c05d7cc20fada7b179e56e4b762523f6af86976455395fa07644ab86da6ecc7af5109de7144e48fbfaf54c07e80e8ef018694e2f6b738f9980a270442d38dc4d64c72c2260a6aba34f177d5150a8cd9bf0056016b26c61c77d2b06f411d483b405487afb39fc63c6a85a9208e9aebc1c53138827ca590c5b79434ef5df489e25bc88b3400f6311d2c5c5115f439a547a99448ee9bb5eba8e049d634bb2fa60459db39aa4c5bcc48c652beedb42f4a66ce81f722cfd5f43b20fbedfada77a6351a359149dc6fc74e9e404bc2f3354b2f2c0456394bffe64310d6ff3df110bd57f2d712c13a15480eb5315963f799fa121a0f30815ea7c30363ba74f1a98ebd59082453c484ab7bd4e38d1117ca346927058c76016599a452f7eea69e179dfe448b6d0e3e60b3efe77c588cf6ef532ddd92a015df45265e96062d0be23bd39917be547f49f0ae7fc0979828c09b375a727037f10752ad59e191777711d926fb68cd29377506be72692c5fec4fae7dac105929ac7d132f984686e61ba8f14adb307db08e5a1439843a7e119eb818396ce244c679aed0a98aaf6b2a2df84528f7ebc0d1274019369e4a5c145700ebea227bc116cf15aaf9f82547af1d218120fd9ced895a963f69af860c39ff41cb2bdfced5da8296235918e46c51012150fc7336f732aa09f4eb77bf48097574674d379d5ccce40bc14e28c211651153125a086abdcecbd8e49661e18dc9ffe1beb4b32beda967346f260b0c78f4927e4528b1edf0070b94164b51d4003c29c22477d96259565b49869211319f05347fe657ade1ca5169a5c40f552f5071e6369cb0197d3a5609bcbe5fb0b14efc154079a7880238061b82fa30ddcf6d81de94f4de8e39a23585aa378de791238cd0d22337e884d7dad9ffdd440995b79e86e373b8a8179de383c45a47281ba8a99e738decea452fc5578a80cb110a341fb4f975ed4b5cef72c2872e57161fd525fb00acc80a1d97bde2a2c63077d70886374a47b2dcb4884edd05deadca0e0dc5edeacef70b174085991a36928e27e1d9f1d060f940e1b164fca531bb7d732e85de61ab78acfefc41d47b89d9b0bccc6df194e355fabf82a0a1c6ea1d68f2eef272d5a690c7bfc399fdfd8bf23f22192da48074c0846adac34e27d52f6dbec02f02ee6a37911acffafe60f59ffbb73a9a7dbf516e922041df6be651c4e2ac6d6ba3d3f2134336804dd770ef2f883240ffb44a0dd08d33382b18c74818a53cafae30d19e4873d7ee4fb006f653825a5cba8fc40ef43aaa5d4637656fe26c9660e0799a6578b27ed42d203fbabfcb595fab6ae46089d0fb0c3ed5eea050be2809d00b587f2b09e832d77b8821bfab54433ec48d2b09c6dc2c25f9ca955bd48f6539b5a037cc3366a361bebe2e238a44af8fd75ebca9217cfaf4296cc0873973b0e20bc5dc34cd6fd499901bc57396d5e17747523db09a17a424cc2d5614195cd6b87db8c31d4409d0090ac55d5e2a865df669ff54e7f2de1c7e17ee730973fe8183af2d2e0a85cb7b99a9ada5d0bd9768d24ad57d788ea798dc68b90fcd6796d0c3705dc61dfc02f3820a1f8d8139b56c59f69f3a8e34526638e670a1f49f80d62db43c120ea585a1e542181083fc9e7542c4a5c01540d34437bfb43d00f539f4d07247f63e9fab9b090bbe876a0451b3bc73f891bf9a0d2fde9d66188936306f4e782d388da57bf5680eccc38f2299a411978f289927ab0cc07a926d160aff1084bd7bf5820223dc8bc4fcb6cf8a2083f15f07e6d1bea51e5b291ec57e841a8d15029f16c326a030302ffa07d46db8238a352ae708ad2cff98fac89f1de5c758ca984300756532d1ce8d92b842ac9331b7cc6ba80911004a740a3524d7423fc9710c18763a5decfbb7150223938aacab1bd1caf1872597bb9c1b8ba5cfa748efb665ccedcb11f6f13c4721f8376fa67e5e2fb8c0f0155823c1db5964098399f1e59e1c447cb97d6f908f62f6fdf50904aabb0d51346b17a6df244050e554a061501e27f27027938a82465e232079a6adef82232955ea251d371e9c876540e3fa97e37417e05d43e794a60852873e5c7f5626c659ea64e53da456174cb43f37af305b67e8a4d0856791b86b2dcc3361d3bfbafbe9ef2c963c1b71e6c037c44d7d788b4da1cd8c63973c2a87adb064b971f27ebbc1b4ab7a86fb6bbbae85306108ea16083e32fa40b4e575eb0fbf71175357bd9f6ee55354b8f501fcd1f172978b85f61d6ee44e27aa15e389379f2e2d01045c11b9829a027cdd11fb36e7fe30ab777eb39349d1c2a5d2d56b9ce3dd4cc251aa2108044b072108a461f8bbc24f22197161163918c8ba27e7c5abebca7abebeccf32b4b0d19a80f9255912020e575c6be97ffcda1c1ed2a9df106ae14488441f14e3a6031272dcef670884c231cae63255cb6b39e804e7b7e92b0821ae40e36b8983be5c13edf657840a31416c404095e16ef49fd1e6c11f9e454e560e16727cf4879e326e844a0b72b7bf67827ee0842f731d51f959b98a7d4a003d8f9122a59f533e3591a2f7dc5f4e3eeb56103430c7b9b8ab18072a61a5c8bf31566f7fbfea3d4ae420766302e8915a6398fed22c56edbe5bedee1af0c6235ecc2579af57931acbfd1245caab06019bc82c4c84e8ea30617a0f8efa9ce25918fc10c77ea8027fa8c2dde57733962c17d047e17c0bf2dbe40b2dce10b937c9d47b2deb34a4a38d59ee140085bc55b04301651b1c299fc16290b6225c0fe2f522fd5c76f8f971d326ec498bcdd160c022b4a27d3efea431502610bdc8bf4315a64093c88c2c7fbfa04b117f7ab305e71c39107cb09caa354d2113ec14b53e991e2060002095f0865060b5db7630c54f8d39797de5f12099ebd3cc9bdb0fbae10142a03cbb7ce0981608b946f2f468b91c14cdc225fdfc74d7aa297ebbd1f70fc64fceab593c7fdca5bc91a9caa69ffeeb6e27f8148b43598738e97b44f7eee9b3b4871dccc7df6bb9d2f0dd411510728f9cfed2c70a064d65ed63782aba9956bb2337c5e1b1435b4e9b71bac306bb242c9d9d0d646004bbd78298d006902839adeffbbff12e60c93788d186b9c984c6b3bc06563da7066a993d376936d177933a0e9d3a1022d8f18e92b88894efc10c29db247db99e1ab8944bd594d3e8301679d653c61209f9616a8e16fa933138dcf4ef2ab1ea7f1bba3c9f0d8682c05681ec1b0a5576c1e4976cf3419c48f830b829a1b3a0cee06ccbf4190709f5475dad55ffc3a5b8079a83bf0ee3070cc9b047b43d5ba1310452f67d8145389f47be1e34bb40bae33b41f6799954e05a9a5e07edf1613ad2d5beefb3e1450466be6a927dd611cc061fa9bdc16d8160e5e86b6e87628cb131814c7a616abd6e2f46e292c48a6453a5081edd111d879a79ff0871d4e43974e372570402b68f7260cb9edfcdc7d6d29f79c4ae61b864194acf2c1fab5796b53b6464bd2604f5327f40ca82378050cd8ca4e54862f7d4672224d3fd51ce72de83652ed0550f9da4805939fbae0c505a8a755ce9d91c5ac3e1d7736d279222b293980611f8a02f5783a26afd71792f6fa15c93f3a60473ebf25fb2fd445b4fb51f6e1ed443af45bdb8f2276beaf6aba233a60aa1daf41781a7489227469c04910f657701124055ab000360b53f47bd2220483431330e3623b444518f3a72b120610509ccb0511bf3fa13825d33e5c6281834e8c2afada5c4141df75878506cfa26ca4b40a19ceeeaa28feafa2f8e28f7ffd21dcce84f63f2d03516475d1e3fb972840c041a553299e8b3632e56f9e4523fca119f9f4a810506cedfa0996c0019ea29ebfae18ec107bc9715885797f66797128e80badbe82f1b5862b031449437bc7a173b041de3fbdbc658507a1bf0a144ed70cc8fcb1b0e9acfeea819dec957f6504b27723afe424d8a1a77c820e922cf7e81c372f7ca925f3dd8becd38dfb495c3596d787ec4d40c221ae01a1f3d0faef4b99ceabda53e455f00a163fbb186de04436d335779fedb0f0fd5f8e19f8b9368504cbba8717380a7a8a3ed11afdee9bd9b4680d3a31e45d51f2845ff849c6eee131f6c0eac9a6ecab4a898146b427dbc7181e69ca20209515a48b274cff54747031cfcc9a73616bd6d4cb6375798cfc991b089a0019ca36b41e23790bd993d04c32b59dbf0b21c0b2b7eb09148caf6b098b3d40b9ca9e99dc34e5c0ab3efe7eb9c46b1e46e4de894c191f0d801cecd4568e1a91d8e8f351732f276072caf1716854b78ab959a7d23780b562df7eef435a517d35f4c6cb18eb67adae4ffe216514e8502f8ca8a5e4dba6e49d2ed1d9429ab4c4a280b12bd1cc02ef957ecc375e308e183df7769b25829df2c82d0804a5863bf0b6c4d9754f01ae3861304d3a655196ada94c52f91cdb127cec3ed07fb07cc6fb533bc9b96ce4b65ac76231b2d2cc06c0a3b2ca95bf06e44cf942847ab2bd2e0807fe7e1d165a7dc1d72108b0c48ceb0c42363b5993ab7d6544d50102a060d9c8891bee2b402f4ec80a51f7450585fa5dcc509c600510e09ad8ab4049e034f3ff3944c873fb7da212a75e832df8d7e13e2f1cb686c5b2a5bcd03ddecd0321568813d2f09c5816c966dbb95ddd103521130b036cfd4768833fcb2a13c6362ea444752519bd3cee0a6529995c0844d1022ac70d605a30cc619c032a6f5eae345250a28217c94753fd241e2aa6a48c83826bb0720143136d373a06b3519f0b72953216b9d4ddd12bdbfd95387c0899728548abcaa4ca531c4b888e583d0a113df0db76a3a52669ef96bb2222222252061306aa051b067ca5b7d622bf5c839becae6ac10b04b47fce1f67fc713bdb7b6f8e8457fa3d5d29681416a498bb142952c832ce990448ff48977ed69f73be39d7de9e3a7b25ad64336867be33ea02546bf0e24c44ef215cc8170404d27f9c8021ec3e49ec7ec7388eb3dbcb59b8baf4f07291c505e6130fcde8b7fefc2a49df7aefbdfaea00fa2177f73fdfff73f74992fc3e0e59efedeaa3d7abbf7f4affc36a7d21997350899a8b16e25b69ad1d830ccc1833c69cbaf8669fc3d54998b5b7e217ace611c0605467d2e328bbc7f530c0df88fdd0fea7477e096a82ce5e714c504aab05edfea7343eaccc716a0209d3b5d9f6dc3da9820625cdff718753c505fcfbbe8f839c831f087efc041a5490db3acf341003868c0ba88a0d505c496fbe03340dcc364c4072962c3fad7bfb3dd9fba575c88e8ca7deb7fcf9f9f9f9d19fcead659f56521525827cad825bd29f1f4d6ded386284a2a7b5d8511e6f3a86e5d422233055a018aafd49f2bdfb6acf3e92b5d27af53beb83adcf39f9fd16cb8f5ccf826c68211364ec51d00deeac56a3b76de306f90384a2f73b7748b523eb3d0dd22305edbf68ed1fb25c79aac3e653ec9adf05d1fa252202e61e0fc94274900d84ff3831e5ebde06d8fd04f556ca1ce068ffc50761c8434c1abb37baf6670158295350152190f1a58a14789583d57d8d160ee461953c0d7f7bd9802900058f314f4f0d0e62f0b92f33b1beeb4ef3e90629d96225eb862fefc8417876aa3c4149f55c54f9958fb0158ce546e608e3700e2b611d6e2d6112d3364c486eeb36dddd75e29179ba61d4f5164aa9c74ad99ea5ba378fbbac1bc4124191c9d1b1a155b23abb34fe5fab8e76599c2aaf3edda823716ac5dcd5283d24e2aca8eaade23c58abd57604d1458d4b948936d11dc54266480b7802910b9ddb22c099ea40340b7ba579cd5ec06629bc5efff57de9b38e0c5f2e97cb45d68972c91448f293644bdb5aad564865021feadcf06979bfa24b50b6d56ac5a233c6c6e2218530fc61e8bdffc87c7496f4affb91b48d6328ce31b28957c2af47f1fb593972ee54178b8412d266770982e087c55c2c674901beec39e77cc7b9fb6aed339c1c3eb0ffde22187d35f9b57d3fcdf3d6dc1778c7da5dd8eb0d0c3fbcb1d3f3010438491db8fe1dcf24d1262a899c3c3d3e12384952e3c6471225377888f1644b8d143346e4ce18d1e68752eac78990d49ba985659d3ce982a30c131cac5c21801c2f5429401324082e48291027545e55dfe68a103a3347dcb1e2e686373e58638dc7a50e4e8d16de161c1900e102c40a0f255a9800a1f3810b2e4c53530fbaa9e6084d12376e4e4638b1919404a83dcdff8a38c46bd01400778b5db4b01ed8384242d205810369e5c4a88e10727a799aca233151bed820df003aab056f949b3145ec3043116c7eb87cffda2ef6898cb558aa54edd5292a7bb3382b8709971a466481b2c616ed6092041d3b496abe4859a3253a365ba017682f3e674302365e482d3f1f68d32ced5155d55bc5d55c0284d40083d49b22763a3e50449b385257d46411b254632a4aed5279f55fa8a8aa6b4e810d4f6b7890c1bece1d6d13458364507a4471344795a86e0908d09bd011e46f9b201cd8eecb5f4687192a3da0786903840e047e30e12085445499a8201adfbdd3cb0e8c691a273708a426a1a81c6adfa669055594bab001a60051022d5c7028b022f4a2ee8eb5c6445ed806a40932418df3cd388d11dbbecd5e988863dd802385c09d29d84ad180945770acb52aa0c648a06a8a6c9040e72c406fd9bdb3ba81edbfb8e0082361db2411e7594bf85b76c85059ec829d30168c0577293f70f7fd3116ec7454bf05360f7438b65063dde228a211b9f065ceff6730bc27729af040e25223c8c90e62a63011c3c3d31821ccc39327ed2698206420ff55930bba732e0a6da2567ccc163c12dba44c7c0763bad8e28417a39789e217f3dede8b5937bb2c143f3d12452f8ee16cc609a69c3b51d7bdf7de39d55dc66789eb9f4e339fc0c5d0200739c83fbe67316e14a7f31f95f22cf2f28d59c7be6be5f29f043116b235b08750d7ba5ce238ae18badfc6140a2d4849da4117d9b2398bede739066f95f0ca36c2cd46b2d20c3948d9943dfe566673a5d2ca87d795a4cd75df755a4cb5f6ebe0a7e1dd0aaa7feed65e6b2d54f87f1663ab3f6b35fe18ebccb3f8536badb5f8fb3137087a7b6fcedfcfb6c5a3f7215ead46ef6547fe7e1c5cad56785cf1fdb7c7d48f19534a7328ee8bf1f8c73ccb396b918614e85f9cb110330114127f47127f15c2dd9e50a742341c12674663c638ccd37fcf5d46cadb5269fd60f6cdfb37fb886709919f7c98e34eb5fa08eba5ef24998306847bb7f98ce10174938016ccbdabc5f9566b311d2bae15d75bc2995ae9e4e78e17b4778f36020a0bbc0c5d5b6b002c8a4efe5cf05a8cc5db40f2ed5ab3643b2735a2c783f992ecb41acc97665a85702ef7e96ead473808cb515085def60b3645ecfca80a42c53b51838d0e4d515e7214b938275cca09cee370cee99aa7cbc5c69957d519d3dbbd013c81a6d99a0dda9200164365887088414106bd8d4b3a2ea74bbd145b8b73ad59f8161c3fa6e0306ac18f531987870971a7871c3c6b4a104db40e0feaeee0724db81a35f4aea04087e962022b5fbc77c2a71ca16204868b276fe4d8497816151d2fae91f2a3996dc7833c248c74848adf3a7f8cf1d7df562f48b8578937f64d059ecaffd0c99968d36372a44a446d9f384b3f41f4d4618af1be92cecee74a0883ea8932bedef04a1856aea92618104fd679d9b8d15b4848b9e4902c3938524db8a26af15e1ece130b4a89d1cd6dd5648b482c792539ec358d44c44e474a3c425a81544c619df0c3f5233a87930385f07bced20746d472747c37e637db061cc7493bb9bd24df145591ded38f3dc7c97a31bab148e8e5acf554dbdaad33c6bc0184c94d7c1827499a2664789edc5df1302673fc58e48af75f726c30be07ce18ff326383df635cd8c27530e375d31b1f3619e25745360ffecb2179a951c5eb3b1bea881dfcea4ced8917bf6817fcce92977ca7c2713eecf2c401359c60362f3596f419f0d2dd813647514351a374fbf25a6b69284208a1830e32c8c026cbf9eff922d1b828595b967557d8672014a39ef6da6bc51df2fe81e0d7a78cd3f06eb15f7cf1c5f7639c33be1863acc7ecf1eadaddaa64a7dfd5e70400163a02d1aeeba72c2d497a7f5b34461e6fbf885939e795d6daef9dc11c5606e718d0fe3c31eb8a080600a06ef8be10ec3d04c350fc449153beead91dc8c64dcb7ea5b3bdbe5cf1b79de5d9ffffff55beac166e91977475ff37bdaefaa2df89c69b4f2b6478192bb6bd36c3268c2c7bd926d5bdc15e228c17ae28f080d5568bef1701feab17b67bf1add7dfdcbb0dd4b1695bb5180229b65dfed9eabc546fb07fb592404371f42b566fc5febc62a3bbec64afd545029db3db7ffc0b56f6d41e3a7b60658f4ff5a1d3a7ecf189d5189db11e9fd84ffda1f3871523c6e70cb6024b5c1b68e2da7a05b18a85da7e97cd4ed413749e90b92c29ab157c82d1577559f2b670bf3777157ce6e06bbb7955ebface3927f63b851db9f88520d87bbff7621bfe8297167e62bf794e6bc70e6ee6790a6f3db7d7b4bbcaac3e5bf57b72ce0b78b0585cbdd757f7b9b03e678c85fdbe4492893a658c86187d5bca543162322a83332a4344996f4b19254a942851f28291242146462e5431322a9254a605a5244f04c7114654b6b6f8eafdf19c730539f0b5af17110a2dcebc5e67f4c773e69cf38deffe9bd31b677f5c7fffdb9acac6ffc39f639c71c6f7de8f6f5ce65ce27b27e61483d15f634a29c59a12d9685edd8c35b8bba556e37befcdf7e6bcf7de4cf4b6d65a6baddd5a6b9d95201ded0d65b1cdf7e69b7fb6f6d27befd6f8e339e76dad5d222408fe58f37c35ce3bef7bf19777cefbf28c37bef76e0c446f0eeebf354845e7bf73cedfbd9bebfce5fc61106bcd37c6d6725004f3bcf58f4befbd19df8c33c53e72397f8b7b58db42cf5a5b23e73e6a4297c1fbf5f641b181cad7f77df78c4f0b135516b778bd88506871e6f5ca62723903590fdf1a63bcf7de1a63aeafecce4def11bbb943739f9c42845a6bc681dfbf2f795d96fe9f9f5be2bb7179adcd7753cce5fbbb7f914624d52b9deeaecd3406ff1fa234cbb290d015b242a28c86b2168df7726821547cbff765f93fad766523f43058eef69f56ebf4a3355aeebd831f9f7be21a06f93249869f3fd00065ab09c861698b501122781038c000c8820b76bf1385a5b215ac8c052a2b1a2a82e252d4ec9f41ed6c49ac0430cb66e8bf428d98f6400fe53ce36847fd7b6f30001e1460f260632751212bdc19bd8c976147227eeaf4945aa97a41d37502528b08445afcfbcfcd7a51044c0390d300e3062bce204b4697c07e063ec05ab012b4d52babb7b62e487dc546b2c84fab7fe33c5bc9885c7c16fd2f17290385a8ac1ad158b2b5643f38eaccb3205c7fd00df85aeb6a5a975cb644ac7b147baf9f19ba5245888644eb10c183930af8c76c5836f6f059966dfb6e10bc600f4bdfc52f7e3fecb30f7efadb9483113abd2800f3eccfbfef53162bf4e7dfd4bbce443cb512467cdebbdc3e7f3f554525d571b6f6ebd2f7fa2bfedad2dac332ff6b8e4b85aab020ed1737ffc5dddc55bababb7499ec927dba7f6fefcbf27fbb71d64a97bd71288080ec751a73be2ed5bac4d4b473e25151d55bc5d55c55aa3a2727de1394548f2a51251d5d626ada4d29173064d05c50d00a1643271081b0837fb16f53d3ee3a5dde7dba50bba8bcf78255f9890c949ebffb5e545454c29d510483c510918c1356b8809abc6f4611f841590cd71a86e0f845707bf107819356fff7eb17c5155a64484ac9582bcaf4c2c174b9a6a51b5572b156f4465fe5ef81d1d61fc5df123f75222939d27146a95a523bfab41b792df1af68e82bfd7eafa850669c4ccdd1ad7eff61c52df57aabbaaad46f5de7faf6e63d4b6ae5f2bee7671607c55acd2a554f097b8d50e3d823c9d567f91becf7d777c17e089bd5da5fae59756a31b5a4aaf88b845ed4de49718655b2e1cc32b5669625cb2b99978db21ce63e1356f8c0f08bdfcc3a9990a986b079e105a7dd0c5c658109877de2edace890f2e54b14385b81856f76eb2458290bd57f2c3684ebf70af9354490d18961cabceffb96caf62c94f8417d3113aed2cdd930e72750e7324fe7b492d6e925f0bb4d4e5c767577a9e97e2fae8e897cf1f2b5b29add9cf23db3339fb59866f32a2f50769df64bbd6b5ee79c330643ad57fffbc41f8ebffb0f827995bf1fc5fc6de0b7f5df7bcfa0d12dbeefdd6bb65284ca1819a6dce002e6470e3a2cc955df37bef55f70dc5f69c12ee1aa24088220e801032e06670ab8e008520b67e2e969198206121e143752d04c79f2444798169e88f4c0a15de8e1938491a3356baa6eb062012b55e2fce8810c172940d0273aa8783a4f179c25a41a8228c3b381e5042de48ee880caf16588d61a05eca3361e5ac162f6300f37ab3a7357fa7025073649f0dc11c285ca2d4b8f094a1a3067ee08e181a697c83377411020a706141b3060e6f40ee006c91a1fb828190224088f2a39d7a312841bd880ab661d253b1411250f9013c08081a62739ce68a102c505080f9d183a793cfff3fc31c63c8870cec93c75597a5fda3cc3186313df8635bd61e68a4a8d9523648e486288151a242725a803c647d30f1eb8b1c7af507236a4e020c3a307aa225c5a7236b0acc143a3081f4f2ba44ae7de4b8010be7c1fdc3ca76ac96267ee6cd1920c381cc161c788373488604262471a26349af4c8e9c042165f26845e5cb041d0dcd52e35bded084b96c06084862148b490dbccb935a12383ae4d8f27dbea0d9a4a201a50f9f1b79b60be1c84a832d504248807481123e5c2992376aef090419bd8f1edea149d941651f1610d92271790a8f161811e3ec8708389690c989b947464d37aa776efe7450d150f35a24871a1e8851c3fdcdc8ca1a137b523c94758c45fcce366dc71c718638c31c618e307e081c1862c473d18a9c234c30d39cc40868a0e1b4eda61c3d88673b6596b3fb53af81644dece2c4549923cc9618c9b265fa6661c2298743982c49daa2439eeac40b0f4529b83d64c7fce39ff9c73ce39ef26283002431a3469ca84e007aa1e5138f48c4012ca17c78e04e4b989f89ac75a6bbffdd8e67f47d0795e99adbd5a4bada5da7e6f698d519bcd76b1f40eba6c246b4529b5f6d7ab35f971125f9d3b692fbe2d1bcb5fd97873ce9306f4f1fdb9e5bd1f5c7f6bee612d11a9b5d6b36e4508b2595aedd3becdd7fcbc22c4c013532baa296ba577c92d66c2017cccfed166978c0057656b35c6585b6d2d0ee2ef5ffc396759cda268b315fb177bef33bdffa735dfaba3acedcf39178d94df69dafb84effba6debb4ad91b8423185ac696e1c1132d6306c05abadb9f82df0743033168df32b40cdef35a3ffa794da99d7ba99e7137feb319b5ce8075fbd611d41140e120d808d6615da6750910d00faf602f6a6a01b4bda7bd7fbbc5272b81803ea7f508ef7705817314369186e12bce7b6f18f792e0eb8fafb8447f6fef89b8d531b0995163199e5ae3adf727e3bdeb8bebf753f8667ce71776466d0faf3d8cbde26988f6a58860c0283d150caa9e14d4d3b731ee8a212218b5207f3d1cfbafb5b67ff723adddf9de8fcbb949d87d86addf9b3f3d32c0ea397f7e0e7f1e457cfb3731cf3ff7f7ef7e5dffb083314c4248b30c94d3fb77cef7de69e7b736cfcce79c186f8eb1c5786ffc8118eb19bedfde0b7e73e26a3947f169fbeb590ce35a8d06a73a6a7f5e33f6f9ee8eb9fdc8fbf7e4b99cf5cecd73fe16c7f68fcef8d66a67ab6ba4fc64df3b576c7f07b2951fc50fadb401ed29b057bcefd73ca66f4c578dafbd76dbfea6d408b0f6276d6f0f781b086235db07c2bff66d35d27f238ff1d2203a8b82ea296aa5ff526a844ea763f7bcd6d7d9d7366dd486e944346083c3fde00139836bd05aab065f2cf53e6ed41d080485299709a2db5ec2203b0dda0045d1e0cd18ca34a625a4c68d8d4f9812516270f1e889346e64a2faeeb2ed96179419a7b67b0541be1c53b7a3ced7fc7c49d17917775fff98c010f4ba2ef63c3bae119b0787e70e2d1c433c52a217791b0a4f143c586cfdc9c633a4d67953e36ac473cb7872fecdf69ee5db904f97b66aad6c19cc0bafb0481649d2d072b592d04b3b60519fec24cf057359e9223a7995af2aa5bbc4aa3282f5c0dae8aad61d203078c2368de5c7960d400d8e9032a79d96489b2cc3e48d446a5fd24dc80d3048154502816cd0c00dd00dac2a4ac7e039e36d544a555512bc5bcef5e610555b6bbd0871622dcea0063fa465b603323eff13b0ed763800e1005ad634a5c96304981126080190414b0d225444ec4cedfaabaf95835fff50fd270091821d7788b011440d421318e24c0f65ae0c31c3c457c0d90604a1fa53e505cdba77fd258bbdcbd5dbf6be2cff8d867b82b173dabcfdb4a1b6940426918b0a4c03b0fe10b6b96452dde075d829981f589d85a1cd275be2faa18cf55fb472e8f5edd3b6bc52076f7bbc1f0b61dfa7fcbe27dfecff193e9cf66bdfe7c776cc877b4cbefed03753a184cf6245cfec04186cf684033d1d36f472953d6559c2603d4639a7bcea724b4e8eaaa21cd5b0c31285b3baf08630f2c43fadbbc783e2b47b70b92e3b78798b95f09abd5e3d43b2a29e19f8d11ed853dadda4854987a51b2c0d368e8563a9408c1f3f0fb1f8ddbd4662d0e59482d06d250cf9920d2dd4b778a90f0592b2968c47cee04f3110046725909c9cc17913d785b32f8395fb35c3b7aeedfdbd672ad49222d949a88abde4845bbf039f32fe70f7567bece971b6ad80d45e0c62dbf7514a29d5f124fceb1b578487d144286920725406fa9e577db3fad745ff7a00e97251d98a7716d85b6127c7ee5af557abc35cbdfc5e5c048d2cc9b6aeca760c74b710ceb6920b94ba55eb4bfd6bfdfa93ea51dba33d1b6fef745594ba5f78251b4af5a8daa64ad5a70a55cf849fed5115e1ccda385647e928bdb3499250155c37c237e6bcce552727a75f9d2a95910a84224a59750cd56acea92c8a9f9ac3e5f647679c47b15cf7d9c9994e98f152940c08c68907365127aaf4f9b0acbf53a55c6f8c1be64b518a086e3469bc696742e63d417db0f6d0cff638e34bbe38fb18941578d838a3468c242bab45248402d452c651a58ccbb9ac94757989e9e9094aaa47956f78092f3135ed9c7854d5c5dede971fbc5d2a7cc3389cc34a5807821de47f07e5327ee9fbb5f536235c41def8f7dd1e86b21168f8f9942cb0822078c35c1ed771ce39bf3cce8b583226cef9dede579e0f9d21c8e3d56643b7d65a6b6defbd5f3149db1f71f714d0bbd1b9f77e7fef3728cc0f203eff06df59ee717c0ffbd03d1c02dc26e2f671029fe8ac74ebf6da4e0010080073960018128784e3511604394c51ead90104fbdb93e0c165356ebfe0b43a05af365c258dca9cae46643210dcd2b7b37f419e050db9d187d5899e663e6e17e6bb3bd9ce26fba025a36f2adf54d6dc372c4ccea6d792a1959fd7cf30321d232d5cad99cb8bc603c9f407d3759e8cbe4f733866ee06da281d5cc271a751ecf1c45b30a3942e4424dd5da69f53f6920c1388242a9e6fe8c627969f806125de22161cb662117515e8b703e9ad2a873a3550645c56113543f1169d7275f275ba33c54d89d6100b784dcab370f4372a2a5e8692aa9122c1410b3505c16aee7bcbda06fc5564815c867ed26b5deb39982efa04fcc04ad7c7746ac09fd2422e16da1d8f597f0edafb0eb12c61c025fcb93249a6e20260de32b7c12a23b5056d1ad4bac05d78a26b8fb9ee512b6f688becfb5b14fbaf0cf59f03e5f476b3f2367a21b442eaa39e884baf74a09497648ee421092478020e8fa66856ebdefa2229e9e657f1c6259cb47bc38178e4333d608222da90fce1684c40f4259df74b7e2dd4c46c0130762d05175d58e240cd802bc889fc60994c2bd36f6c283348656e73cc8890ba437bca3624ed75452744f8065e8bfbdd453ba016e27bd62239f03ccc4b2dae864fa20252153b3ccac851910e95192ec0dc9b20ff238b7cec142e0fea0ae5c89b5a24a1ea271574e39638ca1455a1dd40f0485d63b48312b9dfcdb00bc776e0f962d97663e43f52136c9471a662663af38f165dadf7770bd20086491195720ae2c2b5a9905221972a70a5e6232d1c6dac0c74b1c860340f51260aeb61099ab55a0a483dcbe3b3b851e7c1429f2485d60317ac8679a66b05349793ec9ec5e15693a136348b567ec6c0af93cffc22b79acfce0bf259e83330c0c3253753c0124dd58ba37850348b2927fca14034ca7803bcc8dda8d7260956e8b3b858cd2c3a2a07af08fc76b81efae223d9f0747c96973babb5bc916b212de8bfdc921b10159a3b3df1757df827df1fb0e7831e41b3604eb198220e58cb876a4d1f635084cd7878110d2b9a34cc580a4d85865bf3c4d277ab221b89bc995a0119155ea3db2b21d677a020a447a11fe816be94e7c233d085b56f56196d74d60eb0d7a02df735e1102e6719d47c7e408c955261ff0d69232bcfe827ad9347f344927d1da14f0a1c1cba7904d4632848929d3c8505199cc76b661244e9afee138f103e04219ff454419332b461964c5462958c9ba3e8f1e94ad53b9a384e0a38f8a6c8d12fb7b2641c639e7df31abe667bf623f45d04e59a81df62b4611854a30fe83c578989a09b0e80a91f21198eab7c2ccbdf22f49bf47475eb802b9790ef7084f56dac51a20230e312c3a68add4bcf0eaac30909e627e4311b3a42469c243114a3f6ebcb8bf2359530389813369108c086a8a57b550989948a8c3b570a02f28aafd2cc1f5a6bfeafa56822cb7189babefd2a0ccbb54bc415f6572de2888698085be049a970f266b766052f75b0c66f2962d5ce1ae6f6b9eb9c457e0fc9104ab3a51198dc292b31c4d63ce7f482d072a7a14088eded061ca02a91b030109167f05f3e27aa4ea9a240ee64e9570e61eae50b2d8eb2376dda79de3e12c625c64deabf782f880161ee68329bc85011ad962c8632a210461088373d7da5020b82065ced04194e977f0d0bfa32e8da03114a76504fcfee3fa66ac1afde0c397b26a619bc15067850ab87090c50510df73b5cec7c75d7cd04b03e1f24d8aae2f99b1869b2d2bde1a570562a06df8b6069bf706edc67e6d5e79125aab7127f0ccc899bbd07360d7cd8f9122187533a31629f73a31a132cbe9884f545c4d3b8a2566f87e0c505521228a872d17f9f0b3250ca44ed32fd55231b418ab5d21d2e653898234ef8540873918f5ac5d8c0d0183da75a3137bf8c29136d1a2468a563af3c01476b921c85fdd0b6a8f3e5189b5ed807db38f089c393d35c57522235e581b124ff80aa7b3fcf4050c44e3ceb6e1f86add88be29647e4aa4e3a073c6de35197760fe5d2ceebed1cbe9dad41b11f071867927bf08da7ccf41c1804d6e33811fd31b095c7724be9b1d8bf36bac3373de14f504cbf393329ca93b899208562fe0c054e5cf89afd1322df9e3050cb8d955501cccbe6004785ad711d47bfb7086e1546e3ffeb9631aa58d73bd03c6c36303a16ce8954e65fc32beef89089553b019db29335cb0d2f4a6a78c64e178cfbd6912ae9d89764acb583b0f65c9e5001940f98ea6fbdac810af6fa6da2331a542635701ac290a2b9f45407d6ca27a7cc69c0ad4cfe20ab8ac5fcfdf940203462b57f20eb0fa31c828c8a0b2c8b8aee4a92af8b0a0d20da31eca09dbc69c24fda302a72033c83cfc75099a29651d1bbb88c0afd0b7d6354e800dcd6ba4932a3c2213880f903954cb88968b4251a722929911ea729695d00564e8dd66510b76457615a9607c8c0ff6fd407310e974358794a1d19f8281d144a1f171f4289a3e6548eb8f27c1cde93b1d087aece43d9eedc1bcabdf8ab00bff6c9f8f154cdcd648a88f78290275b7085a0d4fa9cac14f9eefc7f47b2e7282140ad2b3ae27dd1638d0b008b169992aef0df1ec52241effb62200066fb08561cad24be06a751b0122a2ad3ed5f6da6a0f84196078cacf0858215b8d8337806a49582fbae0fc7d23c6c2fbc37f62afd6abc5a5953ec17813a5e8ed47be9973119faa845856b506301f05a548e579becd6f346e9ccb13a774d75f16a14e9079fe1f5d6c127839bcdc1c236f3076e6918074ae85ae9fa966ee26aab748be6b0e6ef3454a6dbd0f766b3cd5029b709c30f84ce2deaed633ff12adddec6a1d9cd69f1559af52ababe8108e91362d54a076005ca867d75259f376052f96c72c7fc0c1c7676c1fda71dfc8e9c76dc78953af0269a7c1dd4a93865c8a98097af229d3394bf7ef59d7717fad5abd7f7c4c2776d974564624a7665b3b349053eee6932616fa5d3831078cb9de1a682e2fa710dfc5c6696e44a9aec4325b5d54842ca33f073015b3f2ca0066c6410021dae24ac308e3c005be55a3aa5757acc6b10f6c1012080272e3f6cb90dfcb9ce2487462eb02697d14007dc35f534614f34eb8a66023d37f50fd979114e51a85ae332d007572b7f0c1ff8486410047e6e34d1c2aece0956dd0c8edfa9ac5e9c4891f6335b15624f8515e8b8e77876168a410c7c5c4757254a773edbbe6950021dae14df8e708c65779ceada5a6e02cb355bc8cfd46689982d9c8142260dad3298450fe6627a8f4525a482198eb94b03adb148f682eb98c41fe25b2b3928c0a554647c2ac0685b7b150c10ee1be90a34ff063b0ef9de6c4876e298245fa4c131f71c76682e8bf7b7205244eb5e79f21e3caed239060dcc308fd890a7165751cbe1eaaa880b25a1005472d7111cd924e27356f7ad409441de9582f9518b2f534be53b94c750905f8e3e03fe6251d68f39cb62bdec024304e6d2e9d8d28434c8d2be867645fa875f57d16d959656773a9cca498f866fc2753eef1ac65012c31a19c30d5548c6c1989b776660134e6cb68ed7473a760db2f307381037771eb4d014d87caa0d88651cb04e856d32ff79f09230ee0b2b92d393b41719a0b842cf9e8194e575d23a679d9400b18d24a805a4ba2ff84625dc4771e307e9ab5ec954a86083f8062a2e03b0091f6cbbad05e208f1c9783a2876938d0882bd253ea4d41406f4413a2423183c34a73ccf5dd126791cc8e2f5e33320c5cd6756772f0ad32630e2647e079e1308829a75dcea7442f279cbf5fc530d9d14046d90932c3da4e841f5258bfd2c794f9ed73ce649d0c27c72db2a137fcac52506e2e468ae67365d13dfd843b4ce8a7b7b8e1e5eca1e34d01f7c27a3801ebc4d81dc507d819cd0b15a021a43e514f74c2e2bae30b0f1a91936ac3bd892f6576e8140b7f7a8effec6d9a2b8016e01fcbfe2dde33223d7f39b1fe3358168da33be65d14d3cd0a9826bdcd60f2e017548698f97461759670b99908ed0bcd2eaee8a2fc3e44f7ef3eee3a52b2593f0d08e5b877b1cc62ca87225d6e13ceeaf1e4644c6af22b545fe9e701b6f3e45e66bf1c9e5574ba4294166add9a336d1d63890eef4dd865d0d1f8e7b1e6f77745dff0965aae6032a88b011416e083fd79280a969eefb17efc8748dbf2234a32d4284502055fb092d566114f91605e9b2305b754043f703d594fb210e493bd8482bffde1a936fd0d545fc134e48f8d6fc241a0333863134f4ebc7a321f1a5647b6599d700938622f31ecf64df8b85e16e949659f60026abfc88e5e6b596535a0153985b9678b4fe9812b4efba929619ade2fc648adfff7be5ecf822749fcca5bd2c14b9c83e38394ea326b80ba741e49f62e4ba63caa4687271fc2bdf3fd6eccf88c6e913e1087fcd523d11ffebce254de11a5403f82096560c5c502802ca0835642283937d7ebc7d8503a8cc1dc7cf5a48967c32952f6993261d72050b00d1736dbe715c368d05e3a0011aed09fa7c92e03444079de6d3b1cf6bc802682af642c508820f7074d9e093479eb02244a851aa890ff881770517efa53e50cdbaa74b75c5d4e8720ec6b0c6501b8cd95e844f401c616d81df5eb018211de2f206ac7dd7217a45322e015161d3abbe9b216bd5283a3bc038eaadff9f05e504544bed051b8f64b439bec37674a53a4691b800aea656e8052b34b44018af3c2c75182b576fc99f0795749856a890bec7b4f608741991dd3f3a2fbd4bf9848728b2a748a13616f1ca2dc9e6417ca01da0760162afe7b5e44f72c888816ee151b4f3ec3a5db4b60f15eb37b4874c55337aad6154c1d1f35dc3b64a9225f2c58c2cfb1b40d5ef7420c1f15bf8bbca2a0decd9858256b70ef1a25455384a144bec2b394194cb5249439a0b3b52472396307a2812503d3c37b46bd9aea835a489360c1048e0d3e33bd6f480c4687ee2323efdf410504c764f66485ed499c05634a1214e7da69cf227f028b5b264b346bed6f9755b974e3d71aa62e0b13871f804f709473370c060c6aea391b36bda7d316de1b5ef9d996e325205363238af6ecfb74f3b9be612377593c754b98642e3d36868285de3034093689d1d5e0eddbce4b459f7206b17b530a2ee90b3de2fe3eeefd8bdf25efa669807c831e8c1606ff1d0792386c8935ca545c6ec1c1891e51a40b73e06e4c3d10e3cb3d05dded67fe8aa5754e4848d38b2a1e0d79831b83771a3dacc09c72211c07c072c0dae7cfc1be2c429dfe6ff6485da81527ddbebba09ff4b353d4701bad1325d1e10222b9902fe0a9b26d4cd4de9a2bbb0277ae5afb63ecfca66e9e5bc8769cf09b88ba7b9d07f390a2110c7fef77828720fe216845e0e675713754be1b7a9956583097b9a4bbbe74c6ae4e24393e9ead19d484080db3456d243d0062247308956242188f1a3f188cd7f991c3cd5a201fb979960f5401bf43bd83bdef293790ef6a098bf5c9f23469534b5a144cedd6187dc04d4ec94464a49fb627393cab863bb10ef3341b714099cebed5417d296dab0740eae671214e26d471d4da98ebafddd941871a3a811accf5e5989960d381170c75dd0f4a07b11ce42932be93679dd2213e5315c7ec658a5843fc49c3e253f1fd127d170ca2b71e55d45f50bb40ff2c10849290779f12584cd793df137bb098840b281142daebbab6518c32215f90707e0e5bc3b2c464f1ea735800fad7b2ae11243092bc813a6ff46a418183f1c750df70b3e3d45955f2869cc4e52193b7813d6a674ddbc9e513f6ce141a9cab287a1677e9ee2b253df18ed9f4ea290bb84002e0e5ae287d2a9357811c74f89a1cb938081391d33d20118767df71179d19c060753cab538b25ef59b0fde4897383219d8bf3840a9ad8c9c54ea4312983601751e9632e7708111df70c8505f1b200fa675d8e58cf029c38bdf0da62684e644632f20f58cc5b71518ace3f75e89cdd29facdc4f4e9e2b93315190ec9916b0fcdb9b79a2ac47a5c8eb7a789e52076496f34956e9ff5bd23ec0afba7db7a881b8f7b624e77ec392d63ff7273a0b19fa05270d72ebf5bc63426dc0d92cc4e1a02f4421c399bbddd15f1290f0df58fe7ab860c3a4f7a2f340bec37486964a55290c430b04ee3403d11a00dd7bdbcf0dff4b303794d19080db120c0378340531079d7653e3db8cc7b82f3293e1df1d10e42747e18943e242f70e670ab61e75c6d174334ce9ba78eb5d52f4501151fb00c269904021aadb1a39e3650791d34933b00a85d2ccd01269ec206bf8277f047030e474a720c8d4d49158766a8c0e961ffed5361a4f57ec371c38f9e75edcdb9e1ea7088c4454c675a6204c4e17666be84694914b50e650f633db1000709043831fbb761ccb42c0921e9295a4948fc4d6ca4f736c2263480907089e5a13cfefc3ecb67e984150764daa2527a612fb02a01c56f620c4cac61d47e17f6c3700973d7336bde73b2ccd653d2ec74f96a45d2ab89a510202d6d5ece7fe4846c0682663ea6632b5e13bf4b2289e5cac8476ef9c7efc40665420c876b86d251e4e1121acc65e512485f439c4cf86d812cac6700ca7581572598b63ffa9cf7cc318df6b183243b51b31d57a48892e64239adafe88b0e2f4d05d0728e01653fc5ac01c41c3f4a8f52f1e844ec4dea050cb3537cca9eebc67bb7bc6e224accf5f843d0c27ece8f1fc627771b8f4d99d0cc4220aec95dbca5ecf0013b867fa53511c36e6813f9f1364e5b9b181ed8297efa0eea11e53ef4fdf6da026bb50b82ff1d40c32ffc0b08f5569f2dd13ec21d9760b05d3d6aaf30a82212523749e1c13b26c97f3bee420d18d945a97635e3db609425de8132e242aa3433490b616074fea4774237ef0afbb535ddd60366c75d651e743030687e0840e0ec161ac3b81dbb61d4ab439b06f30b33dcfd5a06738717427a2db405ef6d7c3fee6e446805beed8b665dc0f3f0ee58f8bf5ea33a6bf8e269dbaf555b12f8230090b5c6bd7435393935422f828ccb8a7ddf1943e07a82f3e186854ef91c589c40c570343c9efded871c6b62c9ba55be070a6f38691d800f91661628e152d4de5a120cad5a7bdc74d98cc918e21d9380f5ff540b19fc7937a2bd079d4143ed04c21019ac7a377cfcd8d288fe74663ea7cc7e60bbed1f989eb5c63c6d2ab56dfd2753e5b32372809861d56cad007633b417fb813c610b266d6678b5027e4da550c90da4b42c62afad3dd4a2e5db5bb4d24ced6102d914acde84fa95c3600632e3364b1805851834419939cca2bf52430ff30852e32026540a2e9c9e5759073eb0c878ff18017875bd5791fea60a3b6b6387703cb98823446be3c6afdf9ce9039512a9f3d75db3ea97231d6829a83e5b108ae3fb3010b2102b6cae124796892fcb9ce11598c5f3260d07f2ac184d8b171da23b604056a8d06687f68eaf3ae6667212995d767218b532874c46db6288556c266f7fce61ed98ac9e96bb6ff515d1a0c9718756cc8e87051403f4a0f990ca3e270fbd7bef6520b89fbccf957baeba545552605f9d637ffefdf8467f78ada83195fc3f300cbb8374d6e9afd304fa42e822bfba08caf7951498bf0393d0818ace82d2c80ddf42e7d6494da476aec117970776b7a4d14afe0f94437513e6e7a125b66f8dc776d99f997dba6c489697d285bd3cb243d1e99c4b45e7cce1e565ffa2d4c695e4aa8ce72c0918d66446bc2459b852518675e017a81948c6fb555d214bbb1fc9d52a99863ac1cc4faebe90d583ba3cb2dbe080d9c8948b0a0a67d06067edd9a029af255071467bcd71caa23e096c9bcbbb334acdfce73fdb09cc61ef7a65df44f5180035a3c13884715142934e902fd5898b1f98b17a541f082927dce693a65714c5a74fa35c28bb2726fed42d9317a2c6fa5dd5ae92b18ede7625b1471176a0345cc8e7e3839996612f1128712f44491e22cdfe67cd8872e1f2c2e2530a27e0882fff92d164ff6cdfceb1c3396ca240d2acfa9b08b14c8cea63452b6a920ca1f045251d23c88db5d4bfa46511ad06a60b797b9a564ac25c2da24e1c357c7a7b4e8e4558d7cffd8db0480075f1dd5f4aad8b774883d6df65c512ef36ff66a2b700efcf90b1dd435e0ff61b22b4b931cbcaf50fabe0883ee39be580e01f0aaad80de8da9929b01e41ae6be3a12c6f383e04c3d68964c73887a058b3744ecb5e9c19e91b8ed5f0597729fe98e8d818cd5f3dba032a1c2ed4a5bbf97e14aec42e6559685fea252d6203a7b30561411cea9936bf265f74f30c31d3b51ce132e82a02433ba62ef5ea2ef59eeb2b2f4b3f103a5663d892da522948f1e245c3244492196e9d348ce099c81fecbf35ba3ad0adf0cc60c24f5e2bcedc46110c37c8c1160d4e5889925865bcc2283c380ca11880b759dd582486cc7b2c6a659362f4b7d2d2e8e9fcdc3a758bc3943dab193d2ebe83685b879d005feb11f69121b6459d122b5dc5cc9e3d8f26012fae0fbfe94e54a59fe1ac00a907d23ed0f39bc6577676d911408cd4dbc6db1777d770326fbd4824a4d0702a978034f03d128836043a939217f3aeef70f45a6e4ff0c59cb5077af5d8e13090b8ef825cd494b12852f20e4107d179ac7732e706b744e1a2277f8586b5cc6ad5b39f644373617194e67d528428642c8ef2985125c52f6200aa64af7c46c4b36409ae2d887cfc5545c7e4af6c9b9f54619d9e07924964f07bb52c605e2f625365d49677de05860e6e7effb6af2a8b8165f3a562a57f093c47f49b9014cc045cf74685bb4d97c82482c1964a240fde71bfc5cb47ddc978ebd8add9c5c659ab4fdbf3edecc040f4a2b921f74969cf00b79cf46a0a4f712c0789d31e8e41de8fdcc18ee914b34360bb9c6c67ec946c32c19196367b08c83e03f8bda4721e1834a2ae6ee9420520aa5b59cb2bc5de49e78901ace8062c6708b72aa0ffd5abfb41c5d15d3fcf88601ac85d87ce45c5a2a8410d82cecf7ff789ac817aa10394405b336eb213ffb5faa0accce917fd3ee400b273710405e3f0dc45365624c0744606c00dc45b3463692aa397921e9de2523d161915706457db3b59556dca8a72a19a4dd6528d15ac8351b1e45ef34ac2ad2e3ad558fe32154d23442154d458ef17d2c9a9c9cc99dd8691b97e6be102925537f5e5bc68e5e112f6f01d30a1af6c34704e86fa1340f3016ea9f5074af0d47b69f733ba7a06990cd2984f1dda44123d768ae6b2c7685535ea8c216ceb17a6914667b6681fa22382abecc6db2ab0e1596ad87f4485936f5205791e8a86ba832d81f6a8fc26ae93751bb12c9065cf4ee678ab003b6927c611b01989074871091f69cd1d008083a3ef04f115140b87a6a5cdf20e5107934d56720d037daeea4a6f8c823a8f425c5cddab75704b4752b35d1e7e66c8df9a02e67db1526b922a985395829250bbaacb85bfc0d3e44f5bf009490bb994b8c1bd8a3c6147cf22dfd0348d17860b7a5338493c163a44471a8ed28b624b98c375e927b4385842db950f70c1dfc34ca24bae60d87ec3ccdbad5859f3f0e17ee20ac29302edd623a6bc4ee8fbb322992e4d11ba3eabc312993d149c996c3b9923b507e9c705a977e4125553975157ab7c2572df86c793a3d9284dc4376cf9debe2587c96a6dfc1d443e6da9b7f424c77dcd83c1bd1dd1b39235d1e37c7673304825771532d8fa9c7256b4b35bc6f414fdcd224cc439f62d00d4ee064bd3cecac3d189f628533633841450cdeabe2f1c7f0ff2825f4e048f0b36d4190a358cc24559af6f73e4cf96ab85a68997b0af9ed38975c1624c8adb9f8d4ca880bc7f1410a8dff281d86fbf6b216780fa636032140c706c118537410cae86674c7fcebc4ddb0174c32f7bd4276e8d471347a1c21c4cc9695f13f72189891958920de4fbe6e55530b0e27d994b1c77e36ef42b82790ce35ec4a403c6baf04c4f151f3d0bb4a759858a1a140f19f5eeb584d6ec23ef1fbc1f584ee3a32d02e859d6dd1c519f38039da42e9a2798be45135345c5ceef98fa9a24d1a39f23f3cacb62e2d88c01dd62fa79a6811ef9250d94e6f8b816257fec50b4ae41b8897c437f5dd923931e9885283620d3793239fe441fc4266d698a62d07e6434fbe54dc6e9118fd42ee1661dc2bc71c08147e6d4595c4ab2f282ea9aa10cccd4648d7c99bdeecc91295dd62d2125e242d261dab70c76272594aa0ca2b263705815995ed154908d03702a718924af3de09e90337c8002ef85f5853b27aa30280819b0633b7fe30924eea47cf790cf8d3bd8894e4252b818eb97ecfa04c8207697238edfb7775c029c996d3992054e500901082c02fe5e266e3992e2001a7ecdd23249c5c87b48c3402cf0754aa586b01520c1772215139674e459cdc45e37c0c95f7298537dcdfb74600957a73e505a3f4a68bf661f57baf8aba9544baa00b45d84964ea6daa7f4cb186a890245696bd992254decf09d28f08a97c8dfb53a3ffeff9dac81737bd0f057c4d87fa565354e2165b0a6e6902d19d3c030989560ef168413834013fd0b0d1bb9fc194c4981b119c8ef9f9908a2a4335772ac9219ed27a9c5c94c647413da6059143c9d2b1e691e1c73ae6afc6f75198dd0f41efa0eb07a42bc58613e946edc56a500f1d631331bb0a314bce633277b4bc82068eca5edbf77048b1e93fd0c56522d14f24cc10ae97fbeca3837e1bea0d9e09a290392d5a1009fbf91a6c640ed1018237a2203c99790aded9f0ed5b642b55ca07627ab122554591b27c82d8597ca3813df66c557c1a5e05caf7c1de5abf5295f965020d6c6513e5e39f07f6491db72cf81f1a5ce5814a9b842b5a94caf3ad4f9a58eb432fce9c49261fd06c52d5263f49b044c75c1b80206f7d85af5db79d28007a5a803d8ef97c89fef3745714f84c9b81d82ccf146ad278e01b5a692a8c365b328220f2c835b37de3e3272593d15c13336b4e5ea6974bf529df8996e994b156b97b86c02d6ae223f6cc6b56aad5ab0080a3007898fdde26fdd3f3037242d4d6bd1d293f923fdf138ed56ac578d9b77f587e44b8803f49260e8be47f6ea2012b5b5006f596b58833f37b0470e01b4c51aaa56663dfb40a1a152b685e9b2b2f1ad81217439d3d09ff0331002812d7ea9ec12413c34829f959e4527cce2f4b9db80df6a64c96cfb87f6d4751f5e698d03202aced2a82b9a0b144b20f880084593d4cb8a37fbd0624a42fb00ec5936e0c5a0f83065e0a1c50795c0fd6270f7bbc05a6cdff9251efd184e5aab6da256a8cc34652880deb6385a58117081a71de0797e226cc4a722f1a0ba2feec9303abe09322d19beffb1976610ac7b2185099412eb60a5ddfa9580555af4560eb252250aed0ea8a9bb1b05ae22cb43d936db8386671a3944b29d459c5f6a7c02f23a071d0ca5e16da38cf0d51adc10000c601834f43fd69cdc767030aaebe26e69fdeffa30d509a214cf292c41e877327e8b15f5b1b005c7715bbc1f5a4b22640dba502f3729791fe135c8b5cb982ab4cd32865c4b0c5eade2d97c28e77ec6bcca48337730eb86368c1a631741cb07e1c2b402c13fa9c790322e7b5b1e07b0fb12d73e8825d1fcb3255faa4477feb911489f7034514efe669d0d14b07f9f2b57adafc4b344465a1817580bfaab98a9f5987902582e1a76cfaed3e48db7b910ee27397221842bcabed84e767bde91e45f0b8c05128d5ae3650ca85d380db30110949cfcf63e1766b60edffbb3a3082f1c0f1bce29e45f3a0504128d45707c710243a608045c0a3cdffde00123f621a375afa14920b0ca9eb5b0e926c5a2470490aafe7f70043788948ae9988a83a61831c5cee3ea9968819a62007848128dbdc203832b8f293c25659e55015b6597fa4da9e02e2fd18d5e7f9f1d252733465be588d5441f41847d379c777943954711187241f665927a40a2bb29d8f9aee8b3a2529b4782ca4772336ed8c3424a4a61964225dc70982327d10812a6d85ab16170086f47a521a3697a8c1b52490533717df3f0f89e304839ecbab0170ee69250afdbee198d82071d08d00a37bcd11454eb5fb94b78b065b2e51a9022234f06c0382ee22d31f784b8c7c1fe5e77e71cb0743d43897b7ed812a8b1559df67cdf9452f9b8279b8bb9af31e60be21f89286f4ded9cb78ae560d047fb4c867728b47dea50ab86f4dab79722b70f9c06149f844f977e6d26a7b0c346d2058a0b81ea0b3c935cefc51174a78d9e0c27bfc822144d0400f572b436b63e90f40131692cce8a8f1a1a9b9308d435f6f4531a768c486c661d5c0d1d34ac43e0f1188792880712406032219337c038d33cb4cacc5e67db3ece535ffc79c9068265388e055d985be36a7b42a61a4569e75db808a8e39a273c8c7d79f2ffdb0125c6a9a5e1448d501bef44339c23759f2d43ab28c70355c7d2c9990a2f387d6e0a6447f184a871d4421dfbcfc62f149be8192cf488b7041396555afbbb126e50430733ef307a8a78c5481b83c0f1ea82e89f70715c76963f37b46f262afb6f4a4afd8664c34bd6cc6849867a0b4c8088ca271633aadd719faf5ccbebfcbb3fc22a5ff885114895ba5f1e790fb976251456ad1e08357aff4fce2446ccc0b620f59a860a46ec81a127df064738a3fba88a65f05778b0800583936d8d5e2987e54449e6cd4d0ba85fbd22841f916086082ab28d1386af223f2ab63a6639cfa6612b5f4545e939968c82921676b40acc3c41012177ac801b8813af8336e2c5449175537964f90b198e03229c33bcad548ff3673418dc98733b247b9ff5630d0aba5088b06a5c0401c4a8245a8ff5dfb31f3e9f2a16e6c2cc0fed76667ad7b02a6c3f02cf05fe6d5e896e7d9324fceabb6fc2054d1df348ff32e0d1c611e2ebbbddf52cb3a063de94aba25666fe0b66e5a5e60a9fcf955d2043582f3db477ea2b8de98d6fdc845e1af8a0dbb140d2e491f4055b9a476d82320eb9cbbd7e4049851390149b45491ca954b077f8804c0ed52830f39714f72bca12600853385a0c8ff42911373ddabb00202767c2c14b2a5124f25ad438c58a2f6de48999144a292e5cb928a7e693a31f147a9f0fb301aa0581d0e3de67b37a4868ad71a85c87027ab513012c808627b7603a8ce6f0aa4742daf6cf4b2ad88eb0fc9e750d764e246ffcc07f05a97c720c05a2f494a99a24b65eb29fc27b88117e930ef5e140189db6325f7db7996b01d90cebd30695800b61b56161e0c0eec9a1c7364416439429d80d11877bc5445b2084e918cbc865960c4c59dbcfc41720bb917b255884b6705139507735f6ea1b9930077fbfc0997e88751730b9e9e6ef0895595f8fcc493973eb780df7074a0276b2001f7b9a8c2790fb36ae6610e20172ddb4bfe6f9d0830c4137236db7c8a3e149154b68bdc43f25324bda23870926cc0adf81f26ccb45828124c9464a73d5e812249cc4b81718a93c00a62cc5218078f46414c50b272cd4f74bf1309385b4f3df8dfd488700a21cd92cbb8ddeb5430107c3a06c1678ef91ab762a5e22ea85407b645bc08c3455555e0fa1997a892fac46d385142925f5aa0e607893c9a3354d414dc0c189e834b8386110690bac694e92d6a9907ede92751bd3b098ff04e124514c0feeec8f705fb0421edd79732042de9672cfac0e9c8a65bb2d9a6a799bbf3e2082501493c285b012c15afaddea405e3fef4e0056f84ffbd08013e0c7c3a0a13c18dc43d5f62694b4bfc9d91e345afad5b000d2f093da0b6f4e0ff01359161daee7cb1d0315cf16cd2ccb123cb6d6438616ae0e1e17c621596824e9c855171c871c8d1b2dc416ce5ec124f66e8f957b0dccd13e94f0373e79e18f853f03fc43511fe34f0bbe8c4fd29c0ef6e22fc69e477a813f5a700bf8b26c65f2aa07c0b1393b7e2c9cfe2d1d0eb5f2371174fc49f0265eee884f6626a3c7e0c3dff0a943b9789fb5758dec513f3af40bb6b99b87f32a85a61d1c4fc9f43b97399b87f05e8dd4dd49f8ae50e3251ff0af13bd444fda9d8ee5c26ea5f01beab89f757d1d953d053ff6aec23c4834ec6aaf62312f8fe6eb12e1ffb7e7672eec3ac7697a44caca93049d4e5f049f1505c91528e9db0b1160c04152e6b0043b78c0f1381949e0e203ea03fecd70f5f2e7d11c18c95fb578bcddbf30ff8381efd89992e433fd502e0ea24c648418f134be2f9b35c84da8ed9f8ba4470d5d7c9f15e5ba4fa390f0ffe7da0dfb61e64f645a73a8679eec99fff1a5fbe7cf890946a3977c3b522a7c220e9edaa33ba1d5b007fab03659f62d135fe2374dceda995c4518b934cc6d8d5e86f0e587b634da039bfc9fd9a90f2995cc750a7f9a6957e411e8dfceb142b9b3cef47899f9b3d5b993d420d37ac763887b6750b36cbba01b7d68d7ed0ce01f723890c2490fdc6fbe09dd8a7c803742d7c8739e55f400e220a7a75cfdab950cdffa251f6bc5b9b91da10564d48e34d5641d3c2593bdb417a03afc82b0cbd8b4f3d3db8eec019bb094c677c043e60a106fad68716fc14a115d3cd587972b3b68a4a735d0ec3393687fbc1ed57c30db4faa687adc8d12d44b6fa658592665d4a0f166e0593a5e2c10d349c95bfb29f012c120bcc3bd2a0e1f331e942f69387bb7c445eacc8ec16b4acc8c00da289567ff4f486b1f2135e2f6856429984dbd7528fea429f42a99fc40a915b00c61b174a543e8073423fe86d25e831b515463c5a130d0aa375035c794e36e77231daac2498c25a955f2d5be72e34e4c6864c3978d3f43de1384c6e7347de0f9295de40e0569fce992eed1a8ed94a5346ed33fcabbb421c80d90d12a521d6b6ac1b1c222a2976b5bb414b00e288fbcba4b18214752f9dd6f4f0e3a4b0d110d0a4eadfe3e432a1a0ca4845c6042518d4c1ce4b151fd81df5fab42aa5baad5a8183409dac1088ebb614fc4fe386d9ad4f5df1c40637dc8d5bf988bddd8c86bb51a313874ec64b4da7a93bcbd0f9cf8b8d883389ade72b4da57f6a156e36204144ad6e42597524ed3debde7961ef9069b8476ffce6248f189123244673927e165029911768d15f5982860d88f157d238c5ff1b516f370d5cf2ec346fa7fc840bbd9fadb096c0edde2fc6155304493727d429bd7817af497a054fbc57096f557c029ee3526a95f72ac841e134833d3c221964bd4228ab664633de85138b5e1e29fd0c722782a8f085af20dcf130fe9353012a4e1bc12c6a7cb3d926d6f86f22caad1673a9526a95096941c45a387ffc074525a4d350b21239b1d8a53272d1d192444ae3909a080ba199ceea53777f6ebf2d5c1b82033acae025290a4894c4f52b860cfbada916419cf654516f6135c4bc3d40e9f734be4450c8ef102a95cacebd908fb62fac35cdbd5ab3a38eae235d0c13c1e976a37d63d8383482e99a69a56c1065a5b572bf8fb564f1ae6bd64dda60d858586a4bc34e4513340d4409ceea0014760916c81130d1971d31e4b3c962d6af76028429186d8e0ba430a35b12934c068178fc698b6c477dae2cb8d9b18b25b8739ef590f1584944de4873a77f5e876be870478f55c81d0de311771ae39b21d8c57f70ba07dff0c384b930dbc344d9eda4bce6072afd43715d754d1a72c46a890ee4955f682311079ce3235e3b4c035fe37477159c97386784b453c9d3a43570ddb78005d6b3e161ed2bb1d11847068ca3c700aa89b5b3832d71380cc99187c04c6271300431be3d30f81f9f11b285398b105b9adb81a202a234b9a781f833d0c9452079703a526548e86662233d78c768f83ab5d8c47dbf8875b047ddf08123f58e68059cd403b17354d68918771709b0e4bd3f26702d6a1d68fad25a694826eca931617f0c4115227ad479ea5887b24352a81daaa06e2eedd36994bbdfbfc4477fd5e789fc03459ad66d1a71b96da38edb68c4759b465cb87d229be3612e4994e5ea0c8b425f9c283945c8b3fe8f8ea819adc5f408887672032c50e860ff445261584f9b5b8ae3a0663b8d81fe7aa61c8ed289f87df376e6039370f268eee366d99bdfce7115fc9c876cadc308dd8cd281c5b185b76598d4ec433e007713c3a614d576e26c877dd3c100065ade99a0c3517c86d4dbde12945391ead5a48786a5b64de7e066d509e68599bc076609c0c740644a3d48c1353072114514c7f3fccfdd260ace0dcccf1d7a10d4cc816724a35396c749a59973ce65c3c8f90c4c8365ed24957997369b3f674de0f6c698a0971eb49110d8b260c57240da6eef7f512ed5df1df640af9371d0cdd4f3e0f0090ea122a48a609bf9246b0b5453d98823588bb75834ad7862c17ea2c108f4e8c8c2697d3658329d85632fb4621ab3c4e856c55e9a9e1e284f178e6f5d1fd65e1ffacb287e6b4ca904ee47c78af46ebb1d6770b48dce88375d2534312cb49862dc2a9d09b40912b751576e4aac185742bd39ee26882f4c0942c18753376e5444c78d1bbfadf84cdcc24a2999b51e52c2c530b18c182e9609bb7b20fae366e2964839473e05e9dddc79c0d26c044c7122e43cd0177a6cb839b9300510e4c9c2d8efb35211083e94c8be377d558eb0aae3107d5248b57b297c4030475c71141bed47dbc7f2d7fb897215e74b6a22c027091ad55628a4fa769652fd4b80deddd26e767520a8a3c67e4d14af74394d1590c051a4783dd9ea3ed679a8ed39ea49549508c77f7f96954023c7ad08462081a6e569fc53534aa394770337e4c0ab00ac8c76f47235795667df5017a1703952ec74b41cf087f97badce0c25b8d5061c86eef99c04dc7ca8bc8b8ee83962bbfa13d2c5689a2d6e320c91013370a243a5631ee40156d3743a210e8c46c671101cc629e9f34455d74c8926918393435d9ed48cce90cb135090271c80873fc253e0e2c9d29e302bbf805bcaae928a1557ee381af1feb8ec37aad29a1397113243bf5cb78a06ef84941e5a38a28307bb295e4aa96b5ee27918db922e647a3b163a3ba1a50f2a7f7baf1dd5009bfc093655411707519faa2818e2e0a7cae4ce995719eb0e4c1e9e277320a9dfe8de5c4a9d858030a75af93076b9e0501f9c2adada10090e101cf489097184e2e4020becc33e7ee91b9abffca9f9c9b902f9483a3fa320ec68113a5adbb50c8f3b136fe8f31598e8f80116a4d3dd94bf072ec2e571ca4954b4fc4e274438cc96db73ea46589e5499f65c055d4142d7cefdf8adde03c976cbec39716cdff04ab869d2565fe9a8def8105930ad47b1a7fb47070f680cd97383753662038331613e37cf63f184357956e70787809bf7da710e1a56d6d82a4aac494773251690044b79e127c3a5ba710464c02efbead2f9a7249b02ddd5b89c201e489b8d26bb543a6d311a243a31e3aa171dcfd808d0500ced001a0a948cbc7ba69d213e526961b9fc33d18ed15b29acf62ab4d45f50e4cafc5c4c6c2e8070ac9901871f9c721136edcd7d355484221155580c7a56986c783027a9a79c7e115e9f1ecd9792297bc943d49c89ae8c24bca5daeefa4e2e59998144c2c925095d6d1535f6459ec74ba38714cd38ada88158bf95fb969fde7f946b1eea4f53a13c0dee5467467c3adeae6040ede189cf2b5f73ed3871b690d6920e77028085387838ddf7b647fd39a551b7ed353a3307e6c2894a6e68aa3d81bba3ab56b8755a70bbc54478e96949e0504f8b543bd8f9eb162937dca438435033887828b307116229c0431dd4a0215b4ae882732c7d0112f15b99a22547f0d4fd707880b5876a789789b1a2b5214ef62d7e2b1d1c3cb97ae34b960174ec8450bec8e751df723b43724aeacc1dd03f116524edd7354bbba351386c197edc1ce36479df20f35822f17405787351fccbc32fc475dd3be53f86cb410c7aabb71b54dd4aa2f9b900b86d24874a47e648e088db8f8a45a7032272ee6544a5c1e0e06389e91802f88fc2220c14724b7ef781172a824456186c63fd839497c84a674cb0216f82d4659596362df7b2f718d6561bd8d801aac95352782a664d18064d18d7fe634d47c58234527de5fcf534979aed7a63e83e08f06b9ec242e10c1df919338f57ed7106579c0e69a6f3ac178e2999935269d22707d47f41a5d1b5545a7201387ae3d9cc7a7d8fc27a9951fe0da0b2c84070e082dc0cb59d6f20f3ae4e1540c02c7299d54797409484edbe92a327cce694630441985833822d9eeb28155655dc04e4ec408785285316ce73ce2ea8392420764f7aef174989f86275bade79551a178b7d9fc91cfb5019c6057182610b3456331a7f537ba932dee23fb527efb740f2677154fbd8c452edc363ed23b36a0513db5140405da05706dffdf95a8444ca2ddab022e22a14aa46e1afaa105d473736939205ae8d1b919e746dce78d3771d02abc4dedcdb3a0e90b628c862ad2902574de3c0b55cbb8ec1cabb398cec10ff237e92989a4a4b033157e700cb2fb7d9e4361f9e369f24979b0f8fc26c41aa56d51531477562021882cc2b8c6588ad353d1cf2813b45990b2ebfec7af47c30405ec530c81c13ad3a9cd70ebec7afa9b5dc6f1b7f1825666822cb4e25cc6510274f45ccdefe27b9e23d7315985c8585af38ac7f062d4899ceb9b91cca8063191367ee87d26060a20a3a9bcbb2995182b0ab58a0ad9b6459568242a5c8401ac1f05186120621aeeb008fb592d1ec1989030d31e134a88c744d25c4505931feeea817a084608072ceb09c53d08823364009dd71d20b04943643d2cdded153f304600c10c3f8891fdbf8894d8e9f9045c927a50fb943ac36534099bcb6eb06d9276061ed620b10a14222800d9bd72809b6deb9c9fc936a9982220d7c47729267236c31166de59d656b7234ab5c03d6eb7c929fd0996e67e015b83e8927f6664763c74249ff81b213c8894759be6b5a265d1525f1badd6490620c57f8e7a762db7eb0a1113403207ddd2facdffcf91b2ac636255110db02d983cafcfd8c2d669a41a04041866d2fe40fb60b19474580e53ce3f1eb07e7031a640382dc981b1efc51015f2111f100b81cc3b62170c1b1f60c4fefa2ae8f3189878cb31d7dee7a55ccc8db10f1aa403da64d9b066a1194d58faf94bb37c930434c3465a4bf49827748bfec63afff77e44992548de4c4a506bbade0aec0e81f2c3c91ed78e0841a1126cf652506177f3a4546a7fce89caa650768249aef70c58332c69a58547327f7ccd137eaed1943d2f85c33bb29411293ea8a22dbcdd02c5fad8e7d4c21b6bd38f5aa1287d8f90988d9fcacc985cca824984fa84bc09eeb1537c9759f711b12fdc2cac27c9d7ae1638b285516394685f8451f5e67f471e54757ede4905930a252a927008e82183c941ff264f04d74ed85d41556ae6802b3e3721f1c6a63ac103eef2b312e04abcddee2a8dca7a332d4d74583d9c5c4f603129209840eb32858713f22aae1164ae5c51af45b6f363fc8e82458c4f2e35df9e1bafb4f730631cdb18406d570c7ba68d0080948f4c3d808cfe63974e471fa72927b7066135de92698776fb0f4e44d977b016da60de73473ab5b6c3c5a1e474cfc9ecb88c2c6bfbd13ddd1fc47210532cd6aca8e067f970857a55f5d0a2c3683b1175aceab7226006be3bd43d20534426be84c07e25c0ce128b4f60681c72a07c2517ffa49886a1d204c3045d7f4e43facd258c08eefff88929e26ccc5d0646919c8332eacd59337c258eca10ceec47f77d1b3717b5ec6a768f4c993d693e92a7a3fa85704a6088aef6297af88784386639ae0b8e088507e01d7241a50e8a37cff20b2f77c5eb8e255a8dd0c5b3462c615256073e615719d19500da7b484413961d4880207962e7ab71e19d918355422fd4785e4e8a138f91f541da18f94f40f1463fe4315adff9073315f6a9b8d5b6e57c253de7eede41bcd22e3fe14e10a79cbfb5ba62a9903c2563879d7a79141232158ff1adb90be37758adf65381552f45ccb316733e634237c6fc609af9a213e403a285d6be7232a9713866c8116933222014bbc58562295459b99cff5eb12372223a8b291b445ed92975946c6dcbc5d4f88d29759559c1f9a2b1da632297261f8a210e5fcff25c81047723c1356dd05a67f589e5d4d954bba801ac581c4fda07fb44b47a8da588a11d6b91308f9a8b6ce91000499bb374e031157169fec172571fad0988798e9ddc91dbb969dd38fe419fadcc85baeaa29de7f9f7198ce6abc1d20ff3c7500e9d293dcc009dfe0299b4b78880638440bd4613ae5e47504fbc87c4375060cff0b5e3ac7a442a480e9f4d656c74415a62784d2ca7a812a3309cd7fa579ec8ab322dcec1699910417c101b802c5397dcc25d4536728141611d66dba6fd43e481e01bd4187f39b1e55b937b1f48def3a8a40013b05757e830d44c7ed5151c674b51ad8c23606f6cc96a314634fd4ef8187552ef785058c4ab2715635c6c1890b026cbf4ec1654b894da01090d0731f5d7f2556836ac74bac85e8d0fa422106c2c87483e06d44623b6f72b1ee5d908ecdcd9ad3fb185f26d73c626d7495b6d144803916d94b893c63bf6c91c78a0b94fb5d519bfd17e3b7be438b3cee4b5ba4689080d6e469dac3f520ce7787a5b72ecc0d4818d78329653d43257017f95de834ccd8374a7dd3bb513ac3f99b44c07d626f6b5363518592cbb872bdee8e6e0194e500083aeec54285e2fcf45413fab44b23413fc76160cae9fb68ab70f90a9e20a345e1a9848a4a8c534a53c2cc7987f4a46fa2c8a472988cded3e6ce6fd463187086f7e7aacba18c39a1d4a4e9c74f42fceacaec8c2eaf56080ee0c94f0be67201d40d6330529c7f10bcb50f6888907fa122c2c29fe13867f818447539706c0ad687be14335067211eddfdb87a9348308e2066802b34da03cb3f0498c01cab443a4507ea7cd3537b53009b215fb50055c507bb57d373abef128c4fa071f187d2ea150195ab81751edb81aeea6dfaaf02f9d334c615c75c1df0debc10066d3e13f36c1c1a9106e4d2ad6c74e896126508ccb53d3a5debd91750faf979e1e1662f620aa6f6622d491728796a35c1de2095e645564f78cb0fb0fedd61b93747d01a40a18ecbb7b476d99868aa617e3513008e41cc784252b13b09f0e1991669332320bd699feecf21a979b6e07d506bf45164e3cd23775f9d31c6267f38d8e59a585acb0415fc3477cea5c72059dba26c0e07a6ba7cc1d3e8cee11a9a0c8cdd1fd3b426d11aaa7ae209fbef481c3cad40868d03eaa7b9ea43a6b7e154c60f663a494275b6c958567d4bc59f09e6504dfb87c52fc15b5fe062dcb9613fe53acd28f23471e3a313c27e1171c3c57943239a0836dc743fc93a4066dcd8507056df1d43864e7b23c94be96f6e3e15f76d28f600a2f842343d0df0716cc74e3566b8f9e82f8cb19ca75a82eb719c31220ff4bb2030cb424bcbcf3584e916f1693df07d76f2d52982da52df757a7a2bdbf402ca0d0ed1ff5f8c190180e2877adbe899d3f8a344567d5bdb48e4b42d4261b34c20587b34fea5aa98a9bd56d98dd33a8b7f61f86a888d7fd26c20bdbfac9cb81d8f4a8dd272cdda5994b3d63ab078beb7cb3355163ef6d505d11d8638f4529587e9e151ead7b3c14f40f0f81356acd983b4aea6c9d295a61de45b12cdf7f60ae0cc1d0d8fdd934cc008dc32cd800bc8c5b62a40b62afb4bbdbd66ba7bc326de37fcf5cefd5381a9a8dbcad8d716428f56542f816dbfe15f22302da86f19ecaa53b0897ffda5aeb24c69e07825f3166b9334250faa0618d833503b36b8a3a0b23de919b7ffa3ad83812cad87d1ac26d7d24c9122859f540ca2a1853efdef85c546982c8d3b79fd837dfe02db7124c3d7b657c28e81f6794bc2a44fbd5b3407ff79e0cb7a343e3242f0fdbe3027e6a3d5afeac39f925827cf6cb246260add4ba1a2c9b9360aa1701662de0b6b322141eac2ed90aa89f4431ce963f4080b0f25f1e6da50f8b01db01ca441c765b5c2268093199f63ae3cbf29042cfed4f881ec8b277948ad03cc527b53687aeb5974e6c9d6b4c35deab8345f2d6f54acdb2e5527c073533acf8ca5ab5fc1b33a9a7979b46576912ca1b169bf380db6c90f6e67e6539b5a26119e8b562da5ca84e2484eb52e145f51dc77bf11b657ac1efd81d8c95e7442a1a8be11b7550e447214b2070a2bb43076748decd7d7464318bc8c90b7c35348b59762c830ee33c2825a1face59c178c557789366dba70e6a43bc5010db4ec7099a64670ed1a63c6a2527b53599067490425aa9e61df2d86aaf05cccfff96b8ecfaaa2e2efe5bcf7010bdd71d33b7fdbcbf97abc7dfcea039d00ef709574bda39ec0122c8b9e4305c8a24332f8bb86e19a86d9da8f436fc07b3fb06caf7f022afd0f5ae3b5043d87e159e2ec6a2907e65fea8fa7643ca7d49b0034c1d4261955d4186108a470ff5b8c06e8d7d928cf723065f0b47097679e6b7a577a40f52567bbebe949a634a680445ef50b1986b50823e47b5541b7279d46e142f919143b9c649123f150ad9321cfacf05a65c5965b88a4cfb462de838867f3eeda10b956338e36dfb996fb7c92171dd5a0a8b5e7dcc4321d116809cd82ba41984b5d29d3e98cfe43d94f29021380ed2384d7f9989cba10d1aeb797e6f522fb4e807a0cdcd60df351c64f789954ccc03933018cd66b770b91d62fbae21aad8e51973898047d810fb5fc08c03988457c8e07cf0daee76fac74b991a27808a95e8106e4766f2a2b6fe0040f50451e52da056b150d2015ae21a85d80820b03f3e5448f7de09af7293715497eca59f6813317402e351af8212483824d7415affb698a59bd33d8aca1b75691643d4770447ab1307cc6543b162619c55af78a6b79c124b73b0bf0c841a0ea943c9182383c1bc46e3b8a014bd9b400b9d00a4f90470c96c141192f42ef71d9d5d269b8a6346d26bef007f6f8020c4462ae58c4f99f67d299b7eae2e44165d02fa9c1baa24ad6e193bcbcaa5c114f34a8691817ccc1f6937cc8b3ccc1da98ec25f0a11dd0c2f4e7dea3800e0e5dac36ebbe91e9764b35250797ca882baacf23d770c7024f19f77b5bee8fcfafa6efaf22b5eefa4e6589cb40893a268e4ca384edf51d7b739cbcf31ec6b22db7e332ec66b0a04b4362e9f271100566a30b256e9fd420003da9344d983cc12e4d5062e8bd66047f2df6ffa409105f40687d985036974174189dd5db5426c3bf8109f2ae1f00429ce310291b128c16601a1d63855b81a5431e5f6846eb39c2a40a649af407f971e9b595b57b0b47bc0ca595af521896caed25f37be8d4583d46ed7dd24496fb6294d6e38f00e2530132caea868003e5e14757ad4c920fc427a2968dc0e5ebe2e0120c428efe0e16bdd2c7000218cd2edbb8e22efa65ee25014a7114d991b16fa8565391be39c5a2191e63076ee0410a8d1ed9b96facb772e6b16415c01cb6d299914dcc69d3dbfe78bef8e2c16234a623d86a9f7d15150184c90df4a0ccc26a9e2a93402c7f791e2ed8a3ae4718bd59e3d4fa4528b44be628d05d50d796ce1c3cefac9b8554de0cfb01861904d6465437c9782cce7879d794a084c9c4cd9a08d94c5f419700654db7112c8b406d340c35499fbadaffc752799130731a794338107e07a8a6c446f76005c59466f14ba97d84e87aa89a4d9aaf82c5c4a7b46dc59fed9ac2caf90778a718e96134dd57c713803bc3512d617c419e9d4845a074b3eb53a0217b3f332462501793f007f2c5af08f6c035518e1587399f381a4c7c3f523baca9c37c5b416d3ddc3363c2b2c929613510c1b8d2ffad19abf68e6e9a0b1b52fe11cb3021b63903269f865c96d03e4aed4a8b9a45799efb80ddfebc11627307322f8450564f6c85f651ddd7c9e731b6bd7da4b81d94e720862a009d557541733ee33b83112d3155bbe4a1204ea44593bf3db9ebf20a76405c6410448910aa16f6de824f614f1dfe938565b17d7a6f9d0bc1cbce025e861d26450cae6ab8421aa1e23cb200ca65041246e0d824e9c4870c56389b720c3883038a49534e8373c8170b7b52136024c31e988331d8345720c7f2501c0d86970375072840edb7a629a22f6c6b8decbdb7945b4ab909499b90f20006010c01ab5922a7bd643eb8fcebda966e35e5a64c9632899c73347a9703e77261c3e55a73998aed2cff55b9ba2b15026ce6feead139f943a4413ea55873ae8c6cbcdd682526d5d5b57a39d7101f47aee1a4458e276f3b55996dbc5d4c2a94992c5bab6ad9c15326df757476368976120dc056b2edddd4373befdf34ff665ebc9a2c9b654a6c973e53b7c4486c82a0866c441123c366889cc958d32891dd5bcd6db2643ee5ff8fbf24c40b37e5a8883f0591a182b49dd4c478a01c85f8b24084401086c56bf16a1aa55a5b0cf17f37edb5c5bcdc29949e4c50e5bea7b01bf365b566efb1664a322b54499930d4c5bc163b6f7a2dc10b1f0ef46fe96e0a1ac402014448ba9f1395344d4fd3b4641145b355dac3e3a9e559abb40ae5020ff64cb429a57978bc495726d14bb78dd92d0fc2bbb0153183cc0c30458e72a1577332f3aa64a6bf3d333725562f72eda94c6ed94fe544bd0beb6e3b3b7428ad7233e80ba3a9af377aaa8e9f632c57b7d7d2f5ef15afcc3f5bc575cb6cd706c85e9b95fcc84bd360d01ca7426792b195e16d77985c5565cb948b5aebf71ca5a2d48c0c6baf42716ab22eaebd4b26338932d99a6cfdbdcdc8f48cbff20eedff7b60aeac2ed3adda34fdfebf2ba3abdf5b75f498fdec3f67ab414573c506ca11a1c442f246f280180de855952a554274ff5a2393c94169e2e1f3f2c34c65e862624c07b621f31128f080c3e4786fa83119409e722cf652f958660599de120c032132b62c51bc5cd9aa6bf1cacd2318267957a28230985de73e3822bb53ec2597c85518482c663d8686c401b158f1949a00532a212fd92e4a1e940e138f7a3e869e87b177619e3e57979795abbc309418849452d072a01a86d0ab6b1908b29619a65e0b1774d965ce29a44d1b425ca99aec1ad4a24d08d5ea23fe888d0b420164ffc56042eb024189fa1831eb71a3db85f9c5fda1773634d655195e207d672f1174382a3a960888530872290803e62c0badaadd21506676668774ab50de5a1db296ea4a36e5a9ece5bbb7bf437aad15a29d0c3586b158f2ff7ebf7afdaf6ae9bf3ba429d1b1c332f270581680114f03354dfa9fe4c890c3d3a3d493be427aa39c54c3499efe1d24a474a71de733509a0727a51d21bc54e2c8484e3ac9931ca7690c0021a5e340919c6dfed45c1e000a1871d28dbd2a4192391e15ce15898954b22324cff74d3a2a0f87b3e339622062624485d899f64388affec85ea9d3a8eceb08a024a2a127e2383e728be5bd7c18062f5071d43f760387f3f9a0c23f4704d28046bd5db868d1c2b97cf391aacf1ffd7e7c5e103bf17fda082437524ae94f9a075854c6484dc0b1d20ab240ca791238dc00030a50c36bb5b16eb8e1865721c8e155459cb09cad207b5278f1c2841b09bc70078b174f1451c2157f0b209e6af1c353884f2efe6a81812054affb07dcc27b51f49c1e1ea68623f21e15ef3d11b743c38106ee8c5e943e8c78ae3186815b70ce73821431304efcc65a55ac88f7a8242dfbdd0ef3c50018160707435a944551841493ee01c403ce87d507450569588ea322c48c42062863c0008080000060360800ee89dc2e011b522045e8955b3d3b32b51da803798ca43f9f78df95400ea3361136092c1a401e2d1c6e89dc960a968b64ea80544a58fcd9fbc2f8d97fafa9a246b4976d5d89fc51faf49a7e45611917ed0210da5928b07c932f766f295297329031e52b3718b701d66fa47b9c1f99db6d8c3f84a286176149ec73f8d0af9677668ce552d455e0d549e4d912ea73871e7e578d5bf4cea62ce0edf23e3a9484331d8c69af007cd9fbdfe28052fb575752562e72bf4f6fa60079c10e7fdd47095abc3fc3d7ddf44264ed22af9154e754634170eefff8fb2ce41de8d61746e6ebea09e5958cd8912fa9e685efc81b84ca6571be27925b9d2bdee818a02d9ce8675ce3cee9d144f762db99020199be92b1463c6abcefee10154c4f1ffdd53b18d0d7ef6301527a39fe0ca9db15286a08fd23d69fb4449965787a234f947b6c8de03fc136b38a9e539e90ffe9677eff1c9bd8c1971f7ec176b57c17c1da9560863a5d58f901b4ad08019257b7d96d52c172585672d89b4eaa52d9b2e3fd23ad3447e0509d38e3c52f06a32fc18adb104522094883608b41b56fc6b0405c3e6bfeaa2ed41822ebf6e3aa77b607e16a03ddbff00629c582748e80c584ad4b5211bce068d5d0ab0f8c7a78649015ec249425b41220bec042824aab5b985618064ee1bb51b064713bfae6ad0eed81d2036c884be3511bff64caefe9c721ad6a9d6dd758bb6f68aa8c1a2c19740f0188abd172f7dff721459a3dc4853ef1ed9ca7538b0aadd75e3bf16bf01216e3d4ca7227eb50102a5a79dc307394b9dfba161b0ea91e0cd288884da6ec0cfb6c898692258417da4229af090227000dedc5e139d76259918aca2b7fcf7b78ce13f5efe0b070e519d2499113eab0de7f92ba704e3af663c3cebc7f459d6c0b0cc2838e159b0202fbf39162a654ae8915823a1221c9e04bdb67cf0a28279117abcd78f1c5b4b57fc74ffd9597629cd7221d143cecca9ba598d664e628c644b9b68b07ec3fa5656413817a20b4947830db36094108d65088c56faa7983850b349c167f270d7cb13a8e2b04e535396ebc5c09bebb178c4bb49898535074009371cab1bc3b4588aef80e49d574dba0cc916f7ec9112572845cdfa84643144aec94ad943bf3ccef57ba138ffab5fb554d2e87a5ffe6481045c4180fde74c83409884852f748d66e331e0d1222618261fc1ec821fec39ffaa9e2222b622e8310c4685dfc861e2ac9ef356724d8ee0d9e08f8135661edcfac08d23867396912ef469c1be4253cda6545e1ae2c0a270aa8a93f6f91da9e839537e9e72426e111b8d5eb681bc689df12f90e828644f88a73405e4bd8f5a8338242aabf67e7c5104732e038bd997eaf400269575b29a1531f6ebb9195be51de504b2f26d7d9203471343ac11b3c4528566fdf00f23c8dc7b4ea0cbaee814fe0723b784c757f003db87cf851df00da9fc0b89b5e9cdd31e1db1113f0353e33f92e78b77c6d45fe19cecfc8ea35291a0393d8e17020fd650110d84b9947324a401246587944f76874b7578c4d90d5d13a48d7c5144873fbb858322a0b07647356b557233bd38b008c36f74bd1371888add054d51672ed38791cd725b782feca510d2a69614370510fc67feef80707bc2f48eb572449fce4501cf1472395488f3aef97e68917d8b7220433e3e324959cf221382c35d8093caf3f77b92385cc78757c0b7a495d838529a84483cd01c25140ea1a571e02289f7c02f04dcc8c1752c0dc46cf35d32fa11017ccd0d5203409f923dfe50bcbcab71b385a624911b6677640543f740b859b202175f79cbcd764db7589d5601d5d7141b89d2376413f3d04184cceedec138f47c8579c93bfb2b7f9b8ac52dc0ed2c62e92c10be3fb0f6f1295f4c15866a0bf2127de96401835971fedcfdc21a7797a4d04fdcb8e5684f486bfe93384281e2eef2074fb471ff602bb7f723e5bcb036d1413eb3002d4e04e6c42c79acb970113b0ae8f8f2c876cc39146f61c34ba3e417031863ceafefc9c50fec6f6b7092818eb6f0ed67fde0a5699ed6eda9c34db93a84be7f3eb530b6f42383c94fd84f34be9a00b88061702196e11e629bc53057b0c7cf2fcb2cd719fe62498ad7bad50f24a930de97095b2aaba477f277064c51f4f416995a85e75c489475228dec21fae7e95f10f00885af4254c59364d54ec88cecfa62e29ceda7be9efc02b1ddbbed51ba6c8bce6c2507cc9db0a6723128a9d6388608da58ce97e536ebee828c5883795b873ac879b0be0502123e39da0ba9217caba49804df3c710bd21d531c08f07f1324b88045537892bf6fcc4a7c60dcf504cd684c59966564c87dd910c4c69d491ee565e073f6e446bdda34651104ba49489af1143bae6071861525abf2df09900db822fe2c9cad98201b0bd40bca50b1f5a2d41a36772d1d9a0370fc731fd219be7f192df379be8f7d307c105af138988ab4801ce3bbac8a76eb795478f410093203a05257d976359fba381c6077e950d65c5d0b0ae6381a9256b86c41e802207cedde1ed2a2bd48168642933c44a0b88ed2beb4b8530420728b3b1370f79f84ae9e223b18248fb6ab9d778a6ea31a0470612de455463caf835ec389e998fe18764170f810c806c0ca0c844c51984b4290298e9f528e43bedc940dfe191aa3ce18977dc3b6d79e0df11f126279b720cb5800691315f7838dee08799ba1b202095ffa8d25ea753ac7c604ce7446f208340115ac76aac34bb98240a20a530b248b2944b0b660e48b3c3c7c53e8c0fa8cdb69f45fe0899bd27337a35a97ef200336c1cd0c76da449c30a19c28fbf3a05d3dda5cad9a7a80a0f8ac4431423f09e001d776786f6890b728c37543640e96d010dcd677660b65c9622e7b9cf2430a459ecf6acc91adc331a97fd8e4264aec842fe1fe14701555d7d045761c57d54b8c2b217332159e355c86cf6464d0f28eafdcfa9f422e9acf59c61f3fd5a52412293152310b7b03b46e0961f7ea605c483ed99245bd20b2b86470e3eb076f431ff0e20480f5b392e27c7fd35804386ffc5f272781f352d1f804cf03916136c13c36f79659d024c0273ac5c01c86e8e7e10501ff0c54accb1a83a7e8a80f7457bea921bebf5f75050ec91a05e66bc26079a6037887def604f6f34cdb05a1a4c863676f2ea66724fdd0c897fcf25969a7dad0e153acd8b9feb40fbe98816b96eb0572a21913510eebb0b312a542fa4ead13e2522fa5c2036feb61c4730574ade360c02c177bb51bc03ca6c17dd4f6096f486f1880de4ad1cc427b51ac0573438bda68e5db4d1d3df523264f3e78c6efb4f1c39bbce224b59af38aa48b0950b136f2e72060efd759924c6261862a1a7751db7f35fbfd6316c8c33aabbaf15f84ec8be5c6aa0b90ccdb4e452dc81ec4c5d26e0c4454f531b6c755c6f46ebbf152f836d2597eb9853cf90a9238b0ed8ce585d4d7c19a78a8c4c22da102eae4658492f9548f5faa20a8c16200d593f7bebea0bb9c53bfc976b49379f3f8a8424e13525945214493d3ec2c2f26ab381eff4bbf6641737b1f81325fa435a70a3ca071350c085644c4ed0904f640bc848da783408703a785b29e5f8173817e4c712d2a4ab95497c360f12a5a1e4123e17378900d95bfc5544c9696dd574ce761c3d07d836536ec7058e6ec2bc6b4d7f27d10cb857d2fdb122ef0ffb784efa6684f3a79d3cc7593fbf9aefbfd146fd2a6b254032514d0550843be4cd95ce9376cbf573b8a42664e8bd6ac7fe8e6703655c946db05ff98cb56424cf8b9c67014e54eac9005b2c1f08cf04a092694b4978963b432bd8c5964a1c111a7082d095e33d199a30da88d66696982627379c01b7db99aa158d2e4f529b9e88415cb64dce5d5baa4cf981738052e8f59b666d15639af45f9ec36d081f1887e593d1c3d31187f5973a7364032e3557f1619f46fddd5e4b309d64f413b6a99e29b8f4b9b2259000558aa315756497eca45d4f208c9fbab375e5da69b77ba3af468a4cb8617dd1547c3cf2c7616ab5c52a355dbcd79796b0fadf6ea58656a309498c0d4665a55190e32155e2023dbeee722920aa3d7631cf01d728e91859cd19ed8568759246c9d4d024f1a56e733e3b00219c48c3ed03dd645ce010c500cfd7e8989607d5577d246224998280bed3a713a96b6cad0d88f298adf1966b4d32c29ca4a4f7bab0a274dce350ce938154a9d81da9b9ca464faa976563c29c3bb308b0d2b825f94f7005915514e205f0607c346923ddc94beaa3a177b53bfc608cea9aa1f5d90d8855cc2f0d2dcbadb14dba4397e16289500024914731817c3022f8c16e22fdefc5706d5cf5fb5428d02fb1e91fce095914afa52de221183642a4a20dfb720b1c570e2b0b3a6a1e5861c7813ba4302aa8c63821eebdccec7f81e06080946612f6bb40ef3a5b9426ffbfb99ff68fd274fb82c0fe4d76d0cbf21f4af3cecb9c63f89cfac4489eb4f5267bbf45e6e0cd9896c69930d28d49e690ee20a3329902c01ce84eebf5edd82e037c66317609208f8fca1ec60d3ca934701761826d3a952bda658b1786c6a8df9f114037ac5b37fbc6a96734d0ca4011ab4741d6078b044cfe89aca50faa5c203928bdcd399c5131aaa4aba449fc52c10ec94472cc7c64f16232449666e9a8b72d150d1aba7fbf45b28a3a55e2f86e4c0c6e8ff97abd37633d8d763502740199928da61888544431207f702fb36e4b7cb9e5704eb3df9c3e125379c9d99d607387ee838775be4ae48916d80326db3732e2dbf025d932d863a87270eb9377d8bf0fb72d79c8a047ceeba804990a8526cdd9dad3d0d5f885854412b5fbbb13e3ee0af7723bf9a89551d54aeac79a0e8cdc27156b1c4bbeee69ecf209514d5161a528bf6c74b59b9a4e3b009a258ff5f0da60808f9f6f22f76f8bcef3b07605fa17c3f28b6bc472e19afaa3965e561591a30c07134cb5f1dad8a8253d6e8a50867bd5975e478018a2948c790da7afe210036b463565da45336ba8411c1acfdac756d924f519810b38e621e93ee3efd5455be2d7d8fe7accffe40291d4ba302a07a9b9e82ac9ef71692196a38c557b5fd5e923a2d71a74a32324bfc1a36884ee279411ee8353c18ed90fa8d92b37623778293d4a0eb11ae00a5eac741080934c542d62ac310e410f99f5d8d33b115ad7d0f5e57c90d0c8328da04f1dde8d2c1f0950b16ee74323907a984bf8cb7e20ef6178bcb7f9a4dbe828e747f0c2cf23e814f1645fdb39e16b82f96bff0849ad074b14cd02bbe8e8beb92e6d26c38d1cdf8813f507167851139be045f05b97c021eeb5f32dca99fe7d81af6f1d82b94f8ba6b81266d0b2e847f9cca44cfe323c59c5b0036ca76a41cf8a2c0ffc555671a8869209a984991b64caf1a750ac256b4c726468a65224b529bc28b318ea511e372342858f2516b5b32c7f2ea232f1173055bd08e33f2565bc89fa60adb421fa7a5544ae9ca82a09f92dba66aadd9d7ba217b1121a96d7a1e6bb02063302ec7fcd38c03669452528e130b32275861668fc2af450979ef975967e20ee5cf21c4a01c348217f3621b94a3967762eda37cab35433ba6bd10a0719b9c7bb88f253a8e2db9b275a0c69e9d911f7ded1058fcb60287d3028b1360b16bafd40acc70333f14734dd37024aa98a6e25f209cde04e0f44b2a4aff9dce5f018d92ab54766c743374c8189492bdec675544b3bdc9cc539a9051c13fc07ceba9e9062301ba9c4a9827b0e41c00ecaf6d67722a16d2ac6887f740348980d5473d67973705c5077753666a4440c6f0b8ce4a5448dba00f4243eb90ae50adcf41cb8f30e81d208c322a8052dac964d261652d932d68cc86a1c808c09e8ad2d71324a96e8c315b3bb1cbefac899fd56a19677c0b179dab896500c7d03276a5d60b0bff4a85b3b815a475b9eca9243b1065e4b7d78079c2b30d9be9e8b8d154b7b020f492ed6af93453648c50245d222f2abed720bcaa5034cb3f8a011de720b7a2b2d9b8224bcf76977d1b68874c1d868b4a81ef577ea294b32672b521a52331f3c69448ec61f7f869308d07cd09a05d398a96004a15c35f237586720400bf3208de6474a2664157021b1849acc142929ab6cfa91dc4a53a606fb63558d07e7715f43dd29dae4ff18f4020a42cb4d208db23834f308440655291f83138de7a7c9ec965508943b34063b62ae0aff22990ca231a4f212169b8224057b1a5e3fb7f509e517ae1e70f954b474bbfbe30d9ef863c15c5b02a4327933fe16d411ad3230230daa79b34debaec362e95fa99769a3f405508ee7b1721611f5c8d2c2f92bb951c3a62f99a8bcc594924b1cc66caeae4c36d12146504c2d020a4075414a3020723abd2c529772280d2e8d9d681c03bdf329d64c66645790e75e97d5e52e05616180500e50310010b0111d4e01bef5ccccdce3b84f6920897465263d69216d4bb9b79452a624930c24040a04e503d9b98ec5d352ad3090f5ee95c005e17559cbc114248e7298a3650c2ad470d304162d0f4fcb09eb670b86d5bb827dfd3c29d7bbb6b9ccd58eab1d9b1666317722fd123b4abdebbaaea362608ef49fabb572ffff35377d4b757491b93a8c524208217c58b9fc7f87d6f129a59412b2e976c2728feffef1ff1f3aec7ec6400a35ded0c1600b15186c010363527ec718639d53b8f6cc386285cc17ef78864f4b739cbefc9d3adecd858bbac7b8060917d5195a962dc89e9d542b6ccedc5d679ed327c27ad22ce5273b266f5162cc19faef71adf84a1b8a3a950e9310422921a594461967bf74d87dee1edd1bca31f25df2e573cf715f2a8cab317bf49aabfc585b8e66faffff38e60815fcf9e79c73fe3b65082184337e64e2b1a7bd3fdfdddd67638a82f7f4dc7d53bcdba11cfeb57ce9b1153ac3349dbb3f0f4e49524a29655b39c2c47177f71ec84929659412725c75961c5c632dff548abd10af731d3b10f8586c21f2608e6daf60c073281367cdcdb114ae0c0f4bba5d7cd6c57cf6b5f8ac44aae28bc9e73cf6e468005d8ebe0ea68aaa2d4ccea140552da5941666980297e1041ca7e224806b9471b2b148638ebd850f6d4f3d96b43c61365c8ed0d9ac913e7fa1013be0285ddcfa07e68eb1ee6e9f11c2086100ac3892b6939ea0af10c10b962e90dc7812028f296382508345cd157758f92f6940a0c6d30e5367b438c222db7e48c20b1e5ae0d0c3cb540393e1c28c1a263892b620713b02839b027b68502f987353a5a069ac194c26a5943303632e405c11764dc145077a2b03d733b30a4c97a81cf836a1c1dd53d501d335786e81690f950b6615d133704b8a2906572fe60f7805c57581e10d0b09248c2b771c116bca5254f95ace5ffb6a95bdaa2cc846a1291588830f2e40935657ecd593c1c01b8df6bf03cef056040254208408588130c2086384f163b9c18f401750f659812870cfe73e8c249bd6ed9b1903033e13bc7410d691a7e06043cdb08b7131ae66a73cdf146aa71739609d0f7ed82813086b098ed3d7b15a864cbc33767dd5723576ad317335e698a1d4cc71b11834bbc5dc5eddb03f5de078a6ca155234a46e344e50f114d7bc6154731886195f8eec782d516cb8c80ea3850f4c02e031a313678ae4d02a5a6a027851af025a9ee0b6809183478704196472b04d539061e7b611547cb879b016c9c295c61372ccaca2ae0082a7eec0614190875499161a37e80082c76908386e5c46e2dcf9a24c9037c2050f550289d1a40812be56c81865d8b0815131e49669a2e2872b8cce1d1a36d69f2d8450a80fc0612493834e922a49828029c9d824d94136e708a3acc41f7d521d2f8648a64784f0cb19b06dd187a93581f0f0e42f925891356994240749244716e74a748f720ddc63921e788a00e24f3e95a4e650fe4949b2fc91ac49233892880e98922c0e23599417f9173bdcc88b6450b2268d90002289644dd6e68f3e09c99d0fb5e74b1354826684807cbec86c369bcdc687adc766b36db1bd546c480cc63d48f6c22e9bcd66b3d96c369bcd6d59d884b00520c55f8895a26e6fc4ac69b251c95b57704baf715988cfbf97d248d958635ddb2ab93fafdeff31fa0d2f1bb654f3d14b26ac5ad8752d2db3ab1bf67b369ac5e27bbb77a8d1e740ff8fdfd15fba620fa516d6992c735cd7d9f6bc282b04f2f8d225da229558b3f3b4c6898c18a4366a22ba0806165418ba80029f998cc56a411e6e080e02a2f9d324f091b33931a5b5d66bbbae8b0ddf85825eb9c7756b95eec51738662f5a6468ffc43c421159a6f9ccb0541d72c0b5d8e202af5a6370ab8bc8c3c3839bd4acc2a1cea7b4d697abebacbd978990170461cfcbd590e2ae7130b3f0b3487b3e492985c184122414e933cb3c238c2299fcecce31524a73a431b60b05f97c61bf7e672f1f1e027ea85678c5b2b0d56a7557adb5d2be476b1b625607920093b559be6bbbfb7a598c25845403874d7b02eb451f2442e783e82bb76bd20857915898201134138826a667a2f4db835ee96aff1c99a3fed059db714ada701d908facc7756bb51cf0344902c712c528a17ffff79386f9d7ca37b345a3c8c12abd69fd2cbba1f5aa28dd15342304e4e3a9562a6f36a3d182823e95923e543c44dde819ad2c6659951bb8594e907c69e5e09363e4b8cede5b2dee5e455e13d102e3154bc5f2ae65752cae52d694ac6791a012c2697c45d9f8d96cc40dfe9aad6db7345b8b71c60f13003e813016b361661b70fee083c9f2f29327589555b3bb8afa54438eac3db271f9823a314b361f5a706989a3219ba1d8bc525de86de020c88cf1db597699a5c304b81fdc30fdf365836d0076e021449c1db87c0103531183c689284cd31bd80d27ee3cf14669092a575e70890c6d2c95d1464e9b2aca34b156a2b9b2882725c3bef99942a8b198a58d1c3847164e559c41424d9b965270ac64e1c6985fae86118609619a20209d307691bdda756b0850b8fc9cecf30a8593b18fcd2800c3ce5e18cf4a080202928351982d01df40a923e9f0a96b43494645411e939d91cd91c964b22e5d8068b43960ba9029e2aa1418bc2bb8af10d15982c907c849e809428d91c7501e4740a62234ecfd08bb74edaa813dd62b309885d99437a115708b31c648f3a163d504a612affbfdbf105a7cf155dd7b2f8eb5dff8d7e57defa7cf387b424e75adf46d59c133fecbdbaa32a37fab372e2f6c607eaf1c318d7e2b38439c0da0835266ae72b7c543075bf8be86acbd9df554f2e6afbd7c5f95574f54535f5639fdfadeb08a5556ec1523fafe060fa601424ade3370865242263a858b2a1f5a378ce193147c6272bbf9518641107a90945b7c80dafaa8f63411086c894530064312eea257ad9189eba201306371ddd221098fc1c13e314aa95b219567b4a0fe8131df6fc905ae2203578c636c5651c80cc083f9ce909152f2fbfff533ad975298046f412fc8049d5e79460b0a226488539a87bc84e020f9ce3be763176acc41bc0499fd4b7ed0a9b7a35a66fe886aa8968aadb8248cee22f0539da79f2a3eec97e506ff0bfe631620b861d7fc0f30029bf9f047c4fd1a87bca4cb649d544f2b282cc5e266f4a38c33c63cc4c22acfc682e45c8350d7e491adb77f5b61b00b47c1a2054a092928a698dcc14712204c77aa402738416d686be4344b62d79a4b1bb98b270719e3e5fa02f368d18a6160a70a78a4a5679d98d78e160a690cdf930d635f80a3a308670d9585d00371b248dcd16413180273f1e867bc5d5378943f8e8a3a9cc12f077042babc3d17f5cc4472065da2091c719b2ae70305476d9c5a39cee33a6f4e57071883f6f09db59ebd09f8703b56d1f5bc3c3c5bbdc0d7f33c4f85a4497539379e4ae5a95648c4acbc15945c3d3e03bfeae53f9133a62a974c8b98229223c6290d16a92e5c3ea4a91d88d2e880c7179525cbc7819a79ce39e77cf9b47b8e0a2784b0390efaac815b4de0ef2a775534f8543393122214abba0464616d13349a4f13476bec274b8667244ce65d3b43018ad33ce4616c43e82aad74c208996ee49462fd97d13d23c121bbf6da2abb873053cad5fc7994afe6af4e9b6d763a6a3ba1dd1a69acd2bf3d3e3319af4cc666a673565a6b95f7a3ae4c9b26e148638c31d2a6947e9c7acffeffffef6d5b834e9720d69813660e2e39c3d56ab52aa301d0114c19908e39ea10c01d97b0a127503a3a12d449ad138629c5f6259d74ca8e74243c02299d92fe9cb19e2202e388172b9100f64b4409c9df235347e43d329b57498cde247514a9f57a037097481c42bebb4afe0862af77c4bdaa37de45a2ba44b650c276b2fdbbff5fd17bffcf5b7a18bf3c36949f732ed92ea394dd7809224b7e1ca19e3b9724cecaa5ecd657026b56cfb77b8cad829c07fd5b7dfe0a66504a2c8a0a1350f09fd03ff10bb38d303bbcf23569bd95d666b977b87a7ef79611f42532545a5b30c4ff95729293d3b9292107e547212127a398534e29e9ccdc9cd3eb94144239ac942f57d73956687343fa347727ddeb94100aa793ce8985f4122314522399522ed6d4ab9c310975f434260d397dac0029830e141c504f4f5346bc01051649766618dbbfeedbb9bb65431c06c7247054980112464011f8037bde08190ca5cc74c2ccf4ade48e8e7cc8a965523368eda3d64a393ab8ca7195764f9dad955e3aeead2e3daf9e153854947ab456baf26385b574ff37abb5468bc70b0fa5b4568a24b3cc92662a23004db66edb711276312ef63f9bbabf32c6be870d8b0d2731bd6dcdacb3c1b1d13a6b73036ff67ab6386cb2a5f47fd9f3e5a4d476f4c5562b7ee1b67543b40a0dc6f86750c9cdff7605de9e062427e79e65b3885daf5e22ff3fc66f8a0bb0a1f412f07a010105095529df0c95b9467001c7fdcc87765d745cae21ae0f464a834b5c289451400a5c99a21842900c21a1993b1512a2af267cb1abc2fa14db8b98a464a25039ce5ae7ec19ab35d69adf4008bbb5d6871005efaefd639c1f2bf0a3043a7000fc99a28005fa370a15654acddab52c9bfded68327b74dab4c2ca1054c043544629c1844be594d96948c2dc2661129367fa209ac79a67caa48f22864f35d6b39ac15269500d2a75c982687e200a2eb07d41082accae74d2581aacd41fa5b44a1ffab2569c619f004c5c4aef91f9d05a6a7830fa1ec20aa211dd5d57cd06294faced2e725e9fca3925bd0434c9afce5ddb43ec6edb6b40155cf30163e0ebb3dbeb9abe19248adc55c2a8b53538d0cee56721de279d8ddfb109cd867d06f8d900a39ce5d543ed1c2ac635c66fb7a346c5e52c51c4999103440be968c80e28284b515fa26d58d77d3b8e89d3fddf899f3204b90e3e7ffc08df70f26160202918cf6c2927b9e79c8b5c73f0aadae77d6835debeb18eac12a9a93fe2c04c2440440c24758e1cb963f62686a9c83e45e20044de08792576821461bd2c3a8c648a5e11a922468c3309dd94b4dd5ca45eb913bc3e06d0eb5a3a1826263573ae8282309652b20884dd1cf744632fc12938d51d6ff1664726eba22e3263a6d6a0a9a0d98ccedc3d6791315c2e1a8d52da522de50e25a5d3bd7bf2d93d29bd5e0f011a69933635ff76ecd819d2450860f1f6a07505c39cf88c91e04ef4de69978c0510cafc42179c5428c576993f64f83a167b9880b3723ac155d6ffe7dedde974de455bc7da2e720ded5475c79630ba5f09a2a5f06332ca97df58be8a4785b5fc1d8a913a529e5bd55bcd688b7f317d3139d6309dd4bd6b36c0c0c24c0625ca8b6922a3246aa7f63916bde71d9d7e9136765e5aaf026840212161243cc7680ffcc7153f281d89444bab35066351a5a0a95a3fd550d53d2d6a8573ae709203e7873061c4d104debc1a9594d67cdb514747592a4413e6c9d0f2a6ecb4ee601e355e207d5357d6f493e7845482e77aab55acc5d00c7e0842ae3c37b8a17a4aa9e7922376229d19fcd0039c65f00310f0e7fbbb2505d1a2200ff6e171d9708508d9e549c79950f3acb5f2deebddfbb70e1adfbd575e59270c4ca5cdf2fe7b3466adb5760cf531f4a3f47ade6b88907f0d890989e5d9a5dda04b5719bbe68a8b9d55f3d82dfeb31606bf62ec7999c6ffecba3786e9c73ccff3bc96aace132d565ee1152b62d716550f54bed1a74f5f66dcba365298d314935412d4eda976234a2a62bae5a41913ed5b59dac083290f8f57c707eff3bccbf2a72bab526555be1fa394fed34c330059a5f2fc871d95e7d135583e7a3f4aef95d2b33b6d248914530a9851a8f4ac1dea700000080ae3750014108ac5c2d12c8a711486f29a3e24828a45d888474a8331311826c76014c650104841080810600042c00083186482270bb8598c9e06168b50d939bb0c272e092cf9330cd6cd8db01739f2906327ee21923b4dd79d5f0aae7220fa292a0e0587c48781e93d608b09aef57e3a9ef614bc5af29d8eee61ee62ffac5ff422917eb3d4d44c567410a2a31c454b9bde012fe921be86cd05b01fd8a0553dace07dd6fba4ab8e4779751c6f6c92dbcbf1cacf3ea8dda8f59cf4727a57c1459d5c85b27c378c1d0935f73104ff3b3635bec20b462568c014401b17da521324cc1f8644bbb91f195c2caed4325b3a4f8c850b2054435193f6d540a17e4091b7985278d9ad203a6be9762169f30cbcd4b33c358ce094085fbbd9dd63eeb27a1e89d89d5eff960a53b1b8180bdb3506f9cefda449c6fd8533eca198f43d1d34c3da5fdc4ac87d763b5fc4ba802f887f48e21dd82136d433f8c1c175baa472b0cffb62775aa8a082401a844025e1d9e661eab0683f6a534a430bd47f376842831687edb4965aec0e717e70886bcd5715836bb7cf9b420f85104a40a2989ee91ec83cc4a46c1171712f8d234aed2386c418cf6c8e44adc7ea8201cc37919155d34e14f7d7d6de9c40c37299ba53eaa9b65809e9634a328f69b08943fba1e95e628fbf12fb77cc48faa1ec6b14f48ba3942f7bfb28193db465eae8cd2e2762f53ec76207b0de024c8d494e05743dc359c4b32e83fe5ce3dc35b1deef370fdfbb6aba8866361edee449fbeaf3b61d5251c434c76b7aa527c052d41d8e824ed5a6f309741f090755a124b049417e7f30c5eb23b471d1487384e1326cb672647304254963629e04a34b0b995781c9ad8e2d014ce919ea96786d6a4ae0052785d804cc009663624b7c7fc986fcd80c90bb73ca724c4b0edcbc2194283a776d61cc2eba82dad907fb3914687f016407c9ed69fdca5b10c02bd7185ec36ab1049b33d84b243b55c65d1f065dcd31890d698d3b44c1cac30ac169fc6d752fafae70171c1498cab8261dcbc695d3a24fa1f31de11cbc0ad07833e49f79fc139ec44b5d8755f7956d71ff1dda46beba99766c153895737ca84a0fa9e240d9cdfcd12151969838974a7a0d6b7083a11335e77cced312e3d854522e175869c2cb2e71ee275aa9d2d4c9c1b973f4a4c95e04295d1e3e58bf32fe94f2dc554dd5db0c7cadc3c1c4cbec57165c36cb4fe82a4490af9a7275acaa8e30fe3253da27c78462638ca52c553acd053f4fd5537b9978b10d97542d5e2b856935db8aba3b7cbe287b7a8314e66fa8f664e0125ac306eb7b716a637a7f1536aeb0838078177cffd2b4dbbc8b415e995bef6207d04220a1c31516e6662be720d8884de1179f007917b1fd29fb62aa6c56a3e0b9db9a8e014f3116c2cea6a629a64f090acdc58dd5278949f25791bae037cd0dbc46fb392fde52541642d825cf2beaf2df01442ce28603710b1e9323d885b4829b1004c7625fc426529ab1378064023d0895c049410acf73e27713236bdd3c667d200c8d829a55c32ac6ccc13f39d1a8c31241e2198eace9dfdb926265fe97b9b0051edb65b32e64b8a1bb3d650ad0eb5638df7787c875144f9d01ef2514835a3225b6b32bd1091b513e792e77a10d7506d6dc1e8636a48418a0855c1e294115eef4497c3581b3f0ea16dae0596285847fe8e5e8ac4a44219e41f69eb76a1848a03f8a01bdb2a6b3dc1347fdca2abb97db5eaedad281a6eaea97076deee20978c92db84378dee005b4071d44010cf1f0588cb677c53310c50eeb8436a8484ee1392c6e192eb956300a4b7b2db1c51ba6519a318402d2afe3f2c8757008e12e3ddabc300824413042c7f57f2ab25f7361f5f83d83a83902c92b441a3e5b16dbe185cf1e8d74edd6c5d289a72b6c726c8e07c77690c95b8b70dee42dfbd788b0a42d8a0e5d0308907532d8c0dc72f26f44dc44e40043707e11f1cba2272277906db731b2dec5917173e49d462ac9b6cc219c427bd1d7d9b331d59c3ac6ca0caae346f2ff5bb5c86c22a88af89003b59bec781981a835b62f4e51f0d433b85776e6e3721854752ca2c6297a5156a95416fddeb0aa01cdd0565f307e03059b320ad656c48c0a1c78b382df8527f139e271fece64a49549d0a305634c7cc84ec2163525db73d1fcb3de56a30145dd378644ff61324fe1054c94bf73812ca4ee23f9ce000a3016de0f707602fdc8a7472b67cfae199d7d027267d07e3e2beafda6f4df99b3839f6214405fc0a5f12b56188503cc1c8d41290f127e2bfa789880c831741fa59267aa2f6acf58b87085802655843b9dec4b41c41e46e93fac4ff6f98efb1fc6431be5f6c82e1b4df4c8254c954bd2f8828abf48b6bc47541048fa7e3cbf59e38e410779a79f5cce0680d78a72c1352e85120a47d408e6964fea42b254c685a7a3ae14a282e6cda71360ab8e422c5c201a14c1822eae5ab6ed354e3b1ad1ccc61b15e12641eb3cb42dd32db4a96ee538abf81bc1818b03d4fa906fbe7489eb4d03ceda9d2e82f78930fffb40c4fd971bee348b1b75ba5aa397fcce402d78ba9b5e3314ee725848cb42ceddbf7142aa5a410ff9546106a986f2fb0276f9c3d0e89e3fce408afe509bd36a0186752f770f4470752465ee4f1d3396830dea7014c7d027478f4ddd2b044ffc5d9ea43db4402b1923588cccf86c1ed733827a9b5d72797505f19e3b9dbe6987001bd073e7c4d0f9c952f144cf523e96fa3d94f8704a90e474cc31c0f018b13ad28944a7f7944dc29b9a75c40e2f82d5912e62ad8e141ecad1be0ea9f15e4a4f1dc79fc32c2c04b4e84e89a2f8731e5476d14488274e1f655876c897276a61542cc5e66c68814a1a85d00e42866d08f753eb15815e83161a15b4d2d3a3aea83dca951930074f719fcda0e801875d34f677244b0551a04bdad6566e839db12ff804b4829b5bbb98634c36be8116e0d8205f6cb5a3ce46962d7c33c8099d80710b9155f1a60dc282fdebbeecd4f4d08bb977334ce664c67c0a0c2536502c25c315088e2f7ac78836374a735152d4aabf42d22e67b5ac6f734b979fbeef87a3106ed181fc92923c96b482c52257691a8ffbbf0ad12345d1dfc51f25130336f7f6b8bb0d6b280bf729982420522f3a0672f3119242610983de80224021540fb2ccd470f8e4feac630cb18db7f94ea2f85fb60433b2248f363129a9285a22cc544608a7346b1ef3789301628a55f6fec28692712a40165a7a12cbd253861d1bcda3331eaf3920a9b06815cd7200af65b18eaaa5c3dc1aead3b6a19f4031b4bc089896a04ffca53df98d4399137ab0e826a21e4591918fe4a6510fc4352cc05bbd386a0811b548701ce2c72bcc671fb2616a6d6552799783ded36244cffba04d804f8dbdec0118454cbfa74da0ac91ed847a5ae226f7dcff4cc9d3a5cb4b6da1126e31f98ecee4e5eef3a81a128caa80b89a07e0e2e7e0c6c28ce34bc067b4c1f96eb7cf82ee240230a3bad1524ac3b8c80f69ab0a9da0bc4e36d4b2bfe7cddd3918456ddd1aeee1d1fe10dc14a34c99a760af6a3396793908b99e79a8e98465f676c17607f8dcadd3c8fd89004a95aea2c800e8b86daa18064552736a216e7476d56b08187cf7aab581b958d1cf5f0b092bec43559887f3c34e729793b95038e34578f7ffe8e200b1fb2273a5068761c9b227351c0eb549ae469cd1938c3b5fd7a01adc9c5d3ac69482a74d519802742fc167746c14ec945ff5870dcc7c3588cd4db8367e838486eb732abdc63e66907e17c455001b0a270b197ba11fa0b587a0b12082258457bd8a566c7d3e5b9ca33ca06eda0aca97ab1a84af66d1abddf0e5800aa71e4300ee416d77a55fa1a9364e1097ad5a55e44e22626e704f0c55e9d2586da935640c4d9005e1d1736c967e74c99000fa3e07226c2db95c5e087422449e9673cac652cc29f43903a2a64a5f54cb7b62f8cb87530fe44f2d37183aa572a7f7f9e0c0b2d8894f04f6fff8e568afe3c8e391d17ceb71ac3dca65a3725b580204f98f8c9792b7717aff8658300cfefd9b76594be0ebb0f5f9529698dc588c0cbf6ccc9c2bb8942dca00349344eda43971aec7318d8256fe61e7fc32eef3acf0a948aef3468880437f8540b28190038fc3069fefd3367813c95e87939f5544ebbef5131e72e77616cb7933cf173392b368f1979eb8e536009605580978be4d64ebd4ca34c5a93dab206edbdb2fd16278588aaa89cdab42a659bf51fa4408e0fe6ac0c76e3bf266a853c1a974c0c8d0d76342300ea3eaddfd66c41dcf2fbc65bd6bfa2753ba6295710d7251f8f081aa530481456281c068236efdfe64df63b7273f37b9514cdb91380d8ed901c40c51098dc3a4094b474536649e5f736755b2e47b341028ca5d61ab204d38299d8cf711bff48e273a469b57d3d9e4abc7587e30597348e321849f6e6839a1b17891094f2d099037d2f1e128f7668e65757ee68583b33914bbf783bf79b6f6aefc73dcc81ee51493ac78f4b8570bca5aef09200d16e9f64130bd5fc11e28b2dee3b63b54c2e078dca0310d3e0530494a5d1a7a1894c0dc4e522f8e39f7ec6d3a677c245e56fcf50d0b4135e13fc6a654f2bb4759a5ce8eaa00da59176e4ef8a85cd38ac558f49bf5847e30f1e1c3e8565b1343100b419dd7bd6b5f92d7988e0405f246f74380af2a6661a3909135e493c213198988456f3693f8b343d93bee7aa9b2c98b8d878ad1e73e891aa75d59c896392bc3720c43e638a8b50d149e77dcd49f361a924e5b3025b323a5a70c2d2b1f31d07d5d1e16139c999daa9b01b29aad475e7d68c62eeb02f984fc0a52ea4cc30ad9647c6724435438448fe04552fce528dfec17f63d4fc701b00f679b24bf679f242a60c5d77011ec3a23bc0c36c1ff77f7b1943b19e3c5bc4991b125aad2b86ebe7b5b0499f32627b69540482a2b014eb8d92b161f778b0eb1d6cb1e08a7816cc1d301309b7c578db4153b8f6d41e0ce9c7c7117f2322c6963a80bf76808fb978bff911d189f536bae00843c52d7b7480208632d319ae2df52e181f466b6aba91ad9884a7c6334f41773349277c46e8147d7199fd1c95c8cbfde2a1c1c7ba3479062d3410adde077540fdaa2ab6ea2dff587161b7eba5f463779051a05c596f1a02a17d324ec78e8d584529bed288a08e197a68dc8adfc1d611e4504a50d5b73f36d66fd87fe8ca03911ce307c11b9dd2bfca566a637308c7f7e6f518bd9f77c68fd5ea0fd1a5e0433614def3b57a861e9b1d4ad56eee350de61ab948fe37188f28f8794de720b2186c2d453772d56bccf37de7b2a13b72002a301f3edc2a6c98bddc02008390b5e3e5210e288608f2a1ff3e1481d1c679291dce51542faa6f350334ec0b7974dd046190732b3c49f1e9f142f569efe59b788939c88588775d03d3018e5929a588e1de9bb768cbf0cafe40a0b304c5d1b77ddbbe1e9dd87fa78b875278bba456dd94ddf328622d541a6ca00952a1f40e6e8a649d61be828e83d4ad0b87601c92e4546922a19e3302166b0d17e400842c9c86453576cb36e375292a26cfb3dd0128b41e93d90c30289db714f45ef5f4464a7c2edeffed829e4da3dbf9e271000bc5a5d0a1e1481285aae1f6045910b650a7c9fc31f8bb959d9639cbe009629022d72cdf03fd02687b38855d2db4ddaf55f8551753c217ae7952aba357235bce90549a85760a98c7ac837fe2f27ff01fc8936a911df3a661becc24fe122eb7cbeaa5d46b8a9fc21c56159023e6d90b53bcf4cfd39b6f0c8389bb9c7799b9fc0608f6d3a1748ebed501de636386cbaa293eb588cfe5e069a556f276bbded2817c8ecda9cf87306c647c114671dcfe534267f01e9ab4f8d6ea2cb03ed298228d160dae3e51222c489d24dc6e423f5403a6efcdf354d1181b99c2ee9c09a7a4e11f0f630b10e893fc5f0f6613801f00b162c31dca56587d1b6752f58d2823e05e0ac9e398c9a0cbdc1f036fc9406b78163c90ca1c675e708793d09551a101bdd9f1611023a4010fccc73813d39e6340fc9e96d9ac5be18fda41035181b9c0b28316930483e661218599d078b5847b0d23a76bbbc9e84a9bc340a3634ef224a481f0c928f5902bbe5195819efb48010318082e0e726b1b3dfcebe425f313f33a46c41b4c1ce6f7d5ef4ebb24545e19521974e7d6fe63e1bdd13fc3bcb4d3f8540930ddc7daf97df2b05cadd442e1c899aff34f4082ed5c26d28c368726ead8a65c1ece49892c419a463550f0b1613b3e99aa20d8e881012a6195052ae086c3a7f99614bda32d58d862a87eaa5e328c5862a4cb60bc2b027e4e74f1bd617998a430e6da82832533edc71d550ee49cd07b4de8fbfb255cf47019ebc7a672f2618f0d457fab4c955097096663470b9cfcf452975f4344289dce885a2e19e31dc86ea0523a06093583d9c28852bb75a0d3c3444706a531a2cbdcde1815f4ff5a88e4767155c23bbb792f418110e8778040e8c0a36c6ac7650ab6bad8cbe912688123f7ef94d4ec44406b1507f84c904c6d2d400ad54d30cf06fd6b101b0f3b08a194c4b6dd8bbaba428823878ad69eac9eed6def29c5f70a12e9e56fa8a38ad80f2df7ebbc0ecd985b7553d32cabea5be864e9c481341c0004a1cc3235ecd0ce3bdc0872531c6e051d97c3c553dd4792f97ba328e995968ea63e7f5a4b962a8fb0592e6ac531adca8985779209cec90fa07f14e0699ffcdd83a1caa96b6a75d69fa0c5da884152d6b31aca5a1d6089462d96a1cc60aa09aa99e101df57f775b6aa9699c33af8af9f41de9e98d611f8290b69f681d96c90a674616cee44bb7d0607043b817dfcff1c8359f86bb44b9f205c5704343d496d99d8796b4b14707a6959bf0550ac477b43104fc1b9493e0fe8826ccec21ee7f97caf29aa905b80223e7756cda844792ccd23c716205260b19e7212bf20b68e2ab65a44e3d2ce34a99d1d4340a25eadec55f8f922c79fc59049b781a5ca8bcfae1810529f1dd184bf68bc080ecedfdc21275200d6a02ab7462af8dafa2b1a35334ac5cbefe6518b24471378594d9d0831934cf10b56d101705ab7604771210bed5fdf7cbe8a6603a58103e6e3971ec698817511cb1be98a2d0662b008b89a38b05cec7ecba6faeb46e6693f3346d9383209721ebea385b01abc7e32ac5c152ec82af895b21b07bcd49bf0d16af507f18ee0d9684c47d06965b36f94c66c9dfc864835f1a6050cf73fc06683603406080b250314438b01d16b96212f6b28cb5b7f595913e827f01fc9f354dc0b5e2151e5329b9b357aa8ba54da88a88c77680769964cde4cf69e0eeb4fea12dcf90a3358909fa0d1bc53b1a8b5577af37d4bce2a2bed074481f3542cec2316ee6975425d8bc439fd003522d3a10f49c1a4ccd516b56accae1312a1ec279bb6084b381e5494ca9af707d00a3622012a5743604f26d8d82e44a2ce9c2f9f1cdcceed595b17ee58458c632cadde07f0853bae56e36c32ca13d9b910ed55c727718c8f04439dad9119cb63757c956d209cd58b5fc4dee54bc9d36801166fa2969c2e314974a0f1b6b3e53789d5d2baef42efd88c974155a316669a26ab75cb5740155d73d3f599452695d280f590637db8d24cb53ad621d553ed59400adfd45b64987eddb160b737cdf6299354faa128033573273b40c10c89b57f4b8fecd5cba82c3e633419dd0c41c50110dce88fc4cefe25b1a750998e0779892569b285321f6a5df10e15128dd4481f02ad89340b94959b4f4442a5d9182418f819eddccf4841d92c0b1acda8743cfbb0ed6b889fd9400539a1edcbe01d21f2342b0600a3268caa1a5e7000a2129c3dda400004da405ab25503e73a2ee5c2db3852395123c1292bedc7bb44c91189d79284239bb0e4090293817b35242c4b098fd509cadb4b1c828b7a0672a156a2fdbb542013284f30caca2ea00713d6d709fda9c44b70916f08638cb564cf4ee2a3c0756652d5f155829ebce3fef780b4325fd7401823703e2c5d43cdde40a24bef03bc423fc429d82d4875638bada3210b2782139075b71594e8a3208c3a8f3a93fd796b72853b1abb8230f43a33d3282933c2f855b62168de13e72bb292c673d0d9f6f939eeb172e4860b8e44acfd1917dd27218a4ef1edc559115a07dfb2017053a88f6f9b857cb5fdef50c746183bedd117311b63639ddb0bb6e19846f6137ddbc3a44e0185339d872cf1f7e038ed74013dd01f7df80e7ad9b45850ecb29b21a7b02819e1b307adc8eb1db8a8ff41c2359f02b2749ade82cfed5af827d1e26de5a3771ac98950745a2587b83538df39f02f035b4fa245c4f972e75a5919ba349877b60d8ad325d154ee46e053eb004fcef365b72122788a3cd90990450b22cbecfbd3e69950a104534dccb1a7df316c7df67d2c9a845a7ab6786f913fd10f1736aff90f03df1a3a460065bc5a4802e9a8d6609ba4c7bcaac20136007a89974d8bd0b741edaf8ec1e0424ef26ac12588f4ec084489891ff76764eb3156484acc64bd21bc813cb9a9e5e0244d912f5ee7cbb71be51b4806d985f398e160e09fa40997414b958a0db1cfa0e8a32e316355dbd9d37bd0e6d29525e87ae0ba4ea5d409f5b3d7dab62c2e8233b477157af37540a901e71bb0e7755e1b5edff048a32cea9b130c73fae074b15d753b3b15525fb079c87690d0103e32da432f33f2096be47c443bfa1217a914fabb7a2def1b0404fd13d43391151170b8e9028f558909823eef503aa732fd3aa15b7d73e1bd2e22f4060861687f57e876da3fab04a852c1106816f5b2d4aedefbffb572cf7e0999b296cccc2e49973635ad2c5d505fd01a9bb84bad60c83233926eb4638f12b8a9b974715e83b4798786f055069158f1c6f0f4f02ed30da5378f184b6724cbdf660187a546cde8423969644eaa8595eced32d2db7613da1624c513fb1775776852c914d58e02cba404d98c903631f23f8644e6817b2c4c2380a4bcc8183d48f18b8f17c2f57f2ee13283dbc1f86fbb60e07e4342a10d5015d0e0f5e8eb8c008066d428d9f989830659440bdf2c2c61563b57f6ccd8c658df7b429ff845f6499fc7122fcd6149c88699a813295136e55dddfb74b1259094b6f36a666cb68f8c758809d04a5b9480b2ca3c90dcb4b834430b1bdfd2932b2ac4ab7504e131659c601cc419b1f855fc4eb34a9d38ee5745840371ad7d6bf12a212e15704fe8345fc2d96cac65365385afccfeffca0e1752bfa5296cdf4855a132cc78d80e35730276ebdf5b3ecea9e075388db8cffe95eaf7a5f6a14d5029ebcefea3532da2f45d9031e76027d2da09d7ae60a78630c74e7ead37e879834b3379e627e695dc61807d2ead77aa003421dda20fbfc018a16c0e13b21a1a5e93b14453febaac6bfe8660f4d943d2d62eb591f45cea2baae761d49fadf947b240921442d4b034359648a9223f37134f67f3dcae7033af07635d78d35de69ac2b732c4a505f87cc06f1aca6157765178e6e30d7067c936ba75930a41465a472e4494830fa28d91df7d80b2f08ecf04c5d9373c872a61f5037bfa2cbaf81e5e23f8a044cd70bd9f7ab37621c8e0a8170590821324c3cdbc6bde37bd35fd23b3e64110dbf0306eef6b5100b60f8eae9cb93d56f1bf309767b0f2b689b44179ad46260a52f9591cdac74a6a687f50da50ce13dd6ae6123d246e0dec608ae766abeea724df15cc525a8374c9bc62393baabc6e4dd01bb28e3c16238c2553a5acc7bd5aace15547f624565155dd596c0526ec3611f059d601480a8a641da74c8543505a3aa4005545d0bbe3a95162a3e26326554d356e491fc6f901e4dd5f3274b32ab270d312426542a7d791e0a04967dc8e7613437024a5d711c07bf8d05c5c78f3ffc5c0c8a69191fdb04e92480a1b1ab85bbe446b9c487aa45058b556280d34c23347f0e630e3dda95e72de754317396d8e44e2f8af92f368af9891e376a87bd6466a2b49a5184ca78f977f5d7e3ddf934f164dac02fd1151ca13925fcdabd677a0a0bf847902cba815fc00a43872b35abaffc593bdcaf03a8cb2d01c663809909d1141becd83bbdceee117dd336db9050da2f0b4169c07598d86a5428b2033dd699d086ae78ff266583aa28b3f1c083a4532db7578b22ece8d70836b2f619affe6d0188e8f0e040b75cd3f116aad0b158fc662cbd697b1f4e5b492fc09d2603863a4a2cfe2f4ed931cb4d4112ed1f411085594d47a13d8bc81028bcd371b5ba98818431344426e6388c3b32698745459d37788720034a704f6b346d41008a89e0701c233916956009d69568636a49e9aa52be1154e23a1636816c6a92f27bebdca937872d180ba20db8fae7c08c00edb17b61a3c0788b6286b4fa514cf3c5ed370496593be1fdfab9d8edc7bff56ef8ab7ac7fa036806996c960afb8697e4764124e7d03207541ff2ff646aa925837385b46ae726f2c3e5bbfc9e9eb563eb7334d32161eaf0cf485e96f20394ebe11e4f5e3a2a736e0c7a83fa5b658e37453992a514d36d54f2429c55f5bcb59fecad9638566fc8838ee44dbd8e82d022d94f089a201f94ffbe0e7e3298f5d544db2a51020ad815e1d683d725419cfbf49c16b03705b84f65ff206848fe30ee8cfbc1b1b387ccd3bf16381c7a26c876b8c00229c9d4f5dc47cd274a9685d26a65b64e19d75f93c94f4503f7170b9ce5a1941a9b2b4393218230d2ee22433152688b54275a0276fca86e7d3102232f1c0e57facdc0c90411238bc51f22461402b7dfe211743983727dc21dfb85022473d3aa42e24229df9c23c16569f8792a3bd544e939c3262785565f77fa02632efffd808dfb81bc4c70732de1675d72c0570d3b07c46044f6c934545f4f90c1db039ff343ff004cdfd7d486566ef46a7a72f70c9847cf484fdd785e191586f321806ed1cce7dc2cdd1c898f5ad53bb6cc25d64ffa0c9b3d3e96e8f863744f126dc3413d0a3aa236846a56209dd93d58ba057333511bc77fd025cd1ec01c616c9dc1c5e81d301db9b03ef359cef46cbb3319d030fc3456259d076e3aec660c6df0592f31168a732ce28c93228a22a03562f96483197dc6d3a65346f9e3d8fb540a916cb1011ed2863f7b35fa916c907f42bdfb01a65a66f390377743daccd0445ecaa200fb299021bb84cac8a2ffa7c5182ecdd8df14883f77e71feb7812cdbaf6633731fa4e63a5aab3d3dac7375bf4296be050c4c8f323bd87f51ab437763b4a0f90612bd7104bc04fcd00dd1cbab0c23258d556d12dbf528d1e3ea182dca9d401703f2b631bd29e70482ae7908e9972af582b0a1e4d5f09fb54006a2e2f964199e861965320b3278d094d9795f816f95ffa42f4ce14efc73f5a8ff89754fc4ade824514539b1c8c23d65c8e8756347e001ce2957f5c7d94610cc52caeb1214924ebb3ff09b944ba0b9a400c9daff30da0a2f163994eca6d9350b42a0a68cb24a2dbcd81b6ada2cbb0a468e1173802b28e2cc2a9323d57b7991334016c2a49a86ca0d5d30ff1aeb4d76e29710ad5637075736cecbf951f05a321c4121f5ea3bcc150d54ad099d8b28f044a868748a0b9e951f44f79412c9e1ce4d14dfed0cda6fcb4c43674de996bb9f91a2ad0d649634c44311e4b84ae17007212c71d5e832beed5a0590052804c361d364052b3f3a89bb898d4ff2b1204d930db8b7fb96222255b0871cee23efd9b7b5ffa419d39e9d6e13abdebd79737e9e78b144b3ec82a27c52d705d818e3f97cdf10f8aba71716f4cbab480c497b662542782d8d52107b6558f8d030b8119ddd142864ac081a6f328c5257e6ac7554697ba5bfab09cf41277042ac90fb015fe9dd607779688031da326bbf3071fba8a0868bac559ef08ee133d5eaa2e6d482c631d1163a987f52d5ccd20badbfe0dd544165fe08370b9a62742ea0896cb8d37a2c341472974c1e34217de66574c0080f8e50bd3bf76aeae3a25da103a65d7df169fda818adb0e86b75a0b94f0944edf3a285cd7216efed496af4e986eb0c9a12cb95ef5731ded7746eca8c22d61c6de7f3800e51f5fd26c1a578164489c7fd71d281b6198fb9377b6e44d079de9db3e51fe8ef6f791269ae51fe88d45416f9daaa3f1fa5c731accf2a620eb517e3d3f3a6478b3394ec2dcabeca419b2ccdf5fea8b84765d4a847c19199730f5e0831e148512b817d074bcfcffbba3a1ac0f30fd2d9bb6c803d12ec69ab4535329f1cecbc9fbe5f8745d05f0b2f94c309ec3477ea5220432d8c77576421f0e6b47c0953c1374258f9a5c8b3be935ab1d7087831daa00c3fb95b6b59b6e74737d5630f34669443226bbb308724e27e148aec4eb5ac5052c98471e487e5e1de2816c10edb9c2735f90195ae4886e1f35567058d0f86b4c4f47b6e6e3b4330afefed53e3164545c11e22f99d5ae68f5ec5f8b38b6199de4daaf81c20c27d0b3e701c1f08083afbc961ac74882a826ab3f9586d0194eb2cf3bd8b4949782e15a46921b67a7356c77094579e59ed5a4eb0ed7dc749595c2c4b132145de56e2df629eb1b2e0e549184a0651ccd658e2fb034e174a370c2808404b69e261487aa4f5b1316011804408b3f878803f69c501f9977c1d2d50dec9a1f5c30c049416c56781f0b23429205fa0e47c674fc73380ad7e3be4ad46467d021180d32194e9fd40b89137bf0b478821a608f2b363de2407e983e7591d9a1a4aabc383c6156ec9b073ba7bd690345715c51d126ef7de8e46b8845f4a41f54cc216b44d9567acb68e8dfc0d394fb195ae686b4d2149c059ccf9dc616f06d79f4c126c2c4580a21e06a5f040714289dda5cf698ba65e49edb9c4a6dbac8881665c7f2de946b00c98584b093c5e77417663c07ac33bec142bcde588bb0336f96bc8191c5fe41e111c21805312c9eb80b2c1c45d24bf3450614d524b40a673b511e1289ee9a470b8024a6cf5bab0fbaa1ccb6b229122affb141523ad283b493f475b34a38dca6037bb354d3eca5bb7d5bea5f2ae6432076941107a57fbdaa8b7e3c82cec04371136930740c428056362c570a3899dacb29b14714a937b04fb13f7bcfbab810c3da802bd7b54a6cc9252c1d912b8a72752ffac37310179fb91ccfc8d310d51e3e324b162c074a1a0ef4f0df75ae66902faacadaf852ee7fd3df4de7202affb440040f66a325048fd1183b0dcdbe83b272ef8575b913e82c66a074cd98dac30cf2dc306a7324a54d23cbe08f559f135439ad4727ed060c54cde7ec51772f0c47d36027214acf4eb465c91692c864e1eb342ca15c3839beeed6e7c4fb2b66668ddd1b7ad9c6cb8301cdf4830d693d78ef8d7537dc8076bdbaebf36caaf51731565b16c22549967afa8f4701b7b2f612a8832f1f1d4e1d9367c921cf66fdc6bb283cf28812e29d280d5b1092018f93e7afdc1449cdae6c84658d5180e8a4c5a18499a85d6e0df0ef0b5d74766c6413af190586262c030c4d1cc4ead426d618a87e3fec4c827f2d7044f3561e0fb70311572b42195818dfdd11f186bbe04c5b8cb58ada02dafc9f367ae850ffabb26fe333497f51309075a6a0c1b6f331bb44ce85aac1ad4caa9443ce0e174107cad34a21e5486068ea6056a1830d08226a88e935c50122a3b15ffc64e6a8096c8862ef7df758b00f204f36134fa00461dd9310bf77905ce56ab4a61f4fc0fd9de60463846a2c70b6d4a94ee9983272f156454a9f51c31ead7acfea663e9d153b115813ea1118cea9573ac6ac757557ee7a7ae2d546feb3ae0c9b45664b06a0cbf548802ea774f2d4a098fafc31f6ce109078470a74456c0e39a5975cbcf490e1a589a5dc449ca7620e87e53884b5596d9995329bfd6f16622ba0ae5c3b56df86e97c810993b63468e08c6decef9307d49c6150e5662c6e2bc7c3143f765e916c4e975c8ff662c08a16dbde10de017cd2c8dfb760a3535e3f5c7c28295e3f1c5ce1f5c3455047d1def138d2ae172b6e5ee2a1cd7d20f4d20ef93b0874d138927ba374b1637b7945b9edcb3cc8d8d472425f0af15931c34ab0be084fba9e6cb0f7b8ee78c117eb6d52ba2d94d250fa6bd1c744f507785995a1a036c9fa3054f0e05d8bb6f6f75f8ee944ee1c2768724e59d89e2d9a875deaabf4be284e7a35e78d6667193744fa8e99018b86756099ed1f23ae9e87bae00473f5cb5f3d3872406fed9bf2b0d47253061e1d40cbaac911b551af871868fd649b191c387f07fd38e0f01df846b50b92aed8d4e35cac9e18e4796bc5ca478d4bf39b17439fb654cd4647d21224c303c3c4f54e8799887361c365f02799c660dad4d7046d34b005a6b2a7d5faa4c1a3bd0f1a807f113a6993082f685564c8314d6016d54b8698ae4ee2ab7b8732ff41ddfc2b6c186e0acafd69b7be30ed2c8ae53110cc688414da946969eb39e980ce92569bfd8b63f319899f1e2f061cbcde68faef357efa018fb75e672a2bf48af16c15548d3e449b1de5bf41d808aad37e0ae5f0d209a043fb0691909fa37134f628ffad2a9cb1449a7f12491ed69874654b850e0ff287e9cf78d469f5956ece0bb01457df9592312456c765cb5e4d5a8fe8dca2efb6d06052b28a6f46eacbd3ae59b1f0c4c4d794c2a60bf95de39311ca014a24d1d2e16cfd19d7ddd46db39773cb018530d4286b6b8786a07a6729ba3dcdfa30d32c460234a96b20a8c5acc0822c74de2b545032c85d7961ca4264c7fd942e370e4857695be7de9ccc4444916ca26192f1b1e1b5d4290d0c8826b53b72adff72e546cf57564295faa06b14934376c1e4b5ee0ff27bbbf5fdb56d8fe95e5ad718aaac00e75c3abd589bc36dc3b08b88f8ac275c50da096e46051cf9d8e8c6b635832901ab6ba93c49d101ca19f6b5a9f9e8bbf7a3ab2c73d9a46b466e194559900fcaa16ad1498b8e92e74016a18f38d4218b0e1d8175268e70f7eed08c6d8f9ce30421cddecf65a30d0f8affcd5940bbe4db64d4a9c5c996c207b1ef4509ea9a0bcb2e2533ceb36057688c972144b391467e9979083e6b50d524cee26e4b7b817318808768781960c5f8b783f479749705b490812b5767d04a6267bf50e2a65529451974e30cc060750982f60911be87b9af3579556c96f44a3dbae34b80e117bd2c6adad866889d299d3663733108917fe43d2d00a0f2daeada48e7357c69575a8bd082669c0738566e3e29f2c84d2f69d150e4b36f8310984d92f407dc4482d45131352032676c3e09a5343564414ebf8a60cb9421ee28898bcf825d3fa7ba9d1b041d230d8bd88f642b4be76554bca50960297ff17f7b99e890e642241415754cfb38ea1c5c1c8150ec177ac5bbd4322e7d930bbc4c061a922412ad9d804d5c638dd238cb32f2782a6ef48a7d5fa43a172af19810051d7c27dc9dee0689ba030d0fcb1b289ac84cb3e8b917b81f79fe827780c526851943180ebbb6dc4f03a2652dabbf228c5fdcc6e69e0b9a09c5ee7d3442c8b91842ad90a95ba8ddc17d8b682a6b56d73431846cb6639fdd26dc923335fe910333c4d75b047eb19a7e820465dddcafc48eefe9ecc71afaba15c785027187f288cc46f3cbbb31a8acfd00cffc100c27d767527e75b38f6dc7c94d4a3c008b430b52d1eb6e7abaf97a707ee76d1622cf0e18f2dcb53cefd8238b090b3f101b2fa2e54f8db7bc51cba8b517b553d2e566cb74d9568405898607663ebe3d886d610ec8990d43a00e85e7c23b07c6acc93224df93b761fc274832b149d6c2c294539817bf0613a7dfca63fba498c66cb0a65fac2f39f36317d2498053f1b276729628905f3c047f0b291e84008147d4f0a851568efea99c8d02bc23716b296e9cf632c888f29fccceebe7df116e47d4d02524502b752b531f3c29d6ab477d01071d813755323cc1155303ab7d4a803ab8369bc9f53e989ba6b4813a49d747769e512eec11616e9c77026c1002757d276c4d0402ce45e039f4674e41645c663695b2fe814dcd69e8f42a1b87ad22b84dd731ca6981c5d7476cec3ab36ca7425b4ca25862948507ca0d1a481417c33dbe9b7fb951a1a9b31d9ddfb0c64d43672bbec5d28c051edc1d5caf557d4e1c91fd591f458dcd3b354d68c36fcc537c68c9e5e6ebdd28c3ee62e0dfd6d68fcce9da85ab6ab5c045a9227d8355095f15f1a93360b11fb24bb9d7dd8ecf787e9f2562f1c8e51cb555ae9523b4f72a70f8d40ffe33c96f6dc1d8770483a25fbf1165b562b97ebd2dc64b24db850d00aed6ac64c3a25563e9ed59e214f289d8e7666013d7210d71b08ea8ea37ff68a4b8997072640013292f3b6c76875740a016b6ce30bc08ce59fe6f056abdde4abfa16d54b54939560430932169d1275925df94d9d76300c8295faabf91b80e1db98f592d2ef34c3551d1eb3afe9aa174e1a10024494beb36adfbec91c263f9a6b7c9d627c07c1f98edaa85a5429acfe876f7312659a49ed4009e6e785f9f668e5147ad6a105671be1ba788cbcf9847301ba5c115ff1054d27b70ffc99a358380f16cb3f96c8387d0cd1847863aa2dc24d4011c8d6aa167889c86b42adb4558fe4a043e1d189309c042575fccdee7cfe8722958ba3790d1ad990fa1c3703fe87964514aa94bf0c102451d5a70155a8aa44ba121a185d43712845211a5ebce522c82174f0d5e92a90312adc38254d69e2ae6c8e4d2cb1e92ec86c908e330ae78220d2422bff6e6681abaeeb4b38075d8ac17a9f56a68183581716dccbbfe912613b1173dffcfe37955f597a5d610c32bdeffc2a212620c1ede6b3388d4fd8956542b75863a879a1834b82844fef4956ef108a8dbb2a432d60f40bf895e25e4ddc60826634cfd46f9df879f5a8a0bc886a12e9073ea6040d5fcd19b9292323ef84bc4889382815add74e1694450ec9e1e0794397fd40c1d3e40d96f66bf293aeb5d5c8644c4027ccdd48d0a4dd5c67d186699cae032218548c982800752c482ce4f6fe2e0baf06e3c05d8e0296ae2a6dcb9061892bf1bb3ffdc351bca8089c467d7d0d2d04272219633d5a94721a80b3482a4c9393f5334bc523ae15f8f6096ab483508d7f60993f19db295a20b10bf66c53222dc4f21f7422851b5fbbce943ba2e6143d2446b481751533b530f079cbfda5f07bad46e0db1088bf3b72b39080a6e68661564af58cf7a469ed3a77695e094962c075a2e9aa5cb414019f2a40a6a17b61b5a2a702b2e8a5a6dee46a77f331183af2c502c2141ef34e8abcc56f156a6a629f019299e95dec758ecc9115aa8ee91c531a80cb17e15415100bca82ca39a6ec0d9d58884f9f79b50cf4fcf45deda43b06d10d8a19014758b555019b29d3f12b263cdfd4f366870344b292f52cd3804e31e102a0d6d876006a7bb88976738fbbb88fd6927c67136bfcfbbc389e5f88fb90ab3d1ffc97c5093bb73bb3df0633c2a36d502b392e21dcadc0671bb40f599adb4260611abf6ed7bdf1fce262999e1318665c41133f519e4d0a4392480499354b44adbe64fc1c5c98efdd1e4d32372298df1c6f13dfc858dc60c78c662d568bb30acabf904d885bfe8c097a0cd9d446bed0f06652c42544e6dfcc500e87dff56c0cae3b4efc71054bf0fa8d5386d1203d844d103cf6741eaac0ea231dff60bab0f8075c5f1c23e20b67cad21fce2cac2ba0bb97f94d00d7ee116741d6b9eb7d4d111b821c01c424380f70cdb332529723d97c1e635b626ceca018e6f659fc99d91e311c495c49d6431e2a4afcca18f044dd79a49cdc76b496b5ca26e642b55ac317eb57d48428f4b1347252aaaa2fe946815c6e7343147d66777cf9bdf401e3cd23258cc4bb906e2865bad81668f72e121c45b4310d7705ac0aa75b2b2851b8e914cc92d95a54172d7066a8b83e134361ec409a5d08b11c87fe7dd429e764660d72ca78a082786b7ffd3d1c4c979fa15030cbea90989f3cf65103a306b78217065957edbd14d36ec51564f8d3d94fe564f19886f231223822d9a504829605943f738d470874b9632755511df69ec44313613d7e068f3ae8c7362995f63705a3630d85359a3072357df335597ea00904eb99530588d7e9a212e6473f2e61d5614a68236e98308fd0b056b0003c8e1432cc26fe4ffa483c6d00ddfacc64667e84d4b99de25a714d0b76a45a78a2a1fb86af6bade14d531afe9976f6a62ebc1ffb6f5a46e117054a6fd61ad489fe72019e2edfc21f8b4eb02221e42a4163bf1d25341e5ac7c9d75f0a71c25ea9fc05b4ef6c01f9a44957fee5f36e514d4890e555ff490007d08aaf534b1bd6bbe8085ba04353761b7b507586262ba0ec5acc08e285ce989b4693994fee7bf105b8fd43d2994ac0916ca6d095a5039dfca58285748aabeaf4a06e45c42f23d8c7c4de3535107aaa35716a600efcc87716380cd518f6a4898d86d06339f8aeb2cc091edf78c1d72042f3dfc008d40a738bc24ac16e38b67aa198afbaa35666315e84e4070f914ca3930330aa44f9da2b63245343f80d33fa38747f56ebb704a6dcff7ced51d2f1f3b3687f176c537ab332bed01dc4ca7333ee7aed7aec176d2e9c6e86a3a5344640db37e21bf6989147f7912cbfe4ca2fe1997df261b3651c558a52bd643c47aa8c6910e235517313e30107f1e84b83315c8167f9712e87e501290fb2f2d0736c14bd4c0818fd179583cd38da6cc03cf0a65a25071f868b0e7f7821393fdd5c45234db324128ca654ef819c4f5c68e21f7a8b14d0c128e779545a11cde786db8c1b9143dc80d4041f1d7bba7ce9a3312a303a2be247898e98299a14fafc7eca21e753d9ca52d724d3b3a0adb6573e95757f679d97d3aaf54a02bf3f7c698ac9659baaec99dc2c7d64044ae845c7e2672c3fb8be92a7ddd391916736fadc9ba65aef69c93d311df5317e5451f7bdf85d5eb0363d24e336b6ffc310a9856f16f56ead8983b022a0d23ecdc72099610d715fcc7d4ff5b66da066c7e26ae7a537ce40969c2dcbbeced35e8a53bc0e72996669d446f4a9fb16ae41337594c88acf97d08894b267eaf81c1dcd5dce062e8153d11bfa15134fdf02aba720fd3c4d3d707f6aa4d461c3db78c7a4ed1321cb00746fe541702c71b21bba69f3be0c41104f891583932ba4b374cc56f5d06da48f5d6f1af9b12431c3ee29a2266b1f03229c7eddbe06a3330e378bb3528343da6ce51daaa5ec014ee48d09fa341314c453ed6e7fd2cd17489ad47142f64ed64fd05665d6c3e36d5ad8199a52be1110d31e2aa455ee3c37c901722be134b6c1302e7d7c26a9d6adcba33a7b57184766ce300ca85701c5160da913a4d06eb0ec38b07d0bc14d1838ab423dd0cfbc4f484d5dfeb89307b49dff56aaa882b491b83075464bc93a6357a859213ab610c3f7e7fd03c0f4a5852cd2ec9ad7ef49b90b4dd444a29774a29c98a01bf01b0014aa4c4168e2e1e2f98afbd71a4a4d49b9a58a0b72875fe1d305b5faf5a2bb760b1976566ca321c20fd7ac9a634bc7c6f08ec6d74f8fbfe0e109ec0542b1e7069fa04a65a3d7f02697ba35ea7ca21b10bd5805e1df71603ed0ac2422ef81bfbfe70d5aeb25fd3d03033b36413d830180882a083ce2dfbbab6749625a764cb7a2ac186c1ded42828e2cd09331d86328f7d36a4741ab6332c97af6bbbbd996fd983420225f4b0086381379aa577bfc187c11ec4c9f126b3c3624a969fc070dabe54c2841656bcd74f9b3558cc89c57d4c106688089bd73bf4bffc46dd1de957b1fe11f79a7187326520153b5dec5d8fff04e7e997992f33337b2ff6d95b9e98cd1da4ba19a352fda04089964f820895cfbed85fc851d6ddddd7bbb163287c9eabff73a469f47983992c9b8638f4a96451190e4cc68cfcf77a591c937c99df96b98cecbb078bd516943bafcbf98ab9fc5c0f4a996cfaf0f50deec1eeaf4f5f6992ebae77c0bbd4b998b0445d30e960d8ed792c5bb23ce20328c1d2389262efacef297c1a254a73ca19956a0c4bb31e8a21a969bbdc2be9868e3c77dbed986b1cc4433888100c726e326acbf591dfd873d6b37dcefd266b6600dda80205104034a1924210564ab8c33bb143959b194d0c2b5b6ea06289231bcea8ad908019340769ce0e810550046c122c2dd12876f9d8d30986f04228fd8d4d89332fa57edfe3ff4286e952ead1bd3d4622ab5056221cf4281a12e415c301c280041950d78393df8a797b7266a4df152b3480789274d4128693a7d15ac9c8d42b23538b5496b5b5d65a2b2ff1f1a9b7ab8b48066f3320c22b17adb5d693b5a76bed49c6842449b5b5a65a1748219e041f84019d1c2048902049e2afbe2ca6f1620f439264e238100930020c2bf37e107fccd498a9d5917a4508677840883fac4dad666ab42c0e140a7515104000dc193ee304c2990442137f1c84104f0379400693f0a31f056fb8b2a8fb94da950b852a8242cdd394a935e28965680d7a84d659a301d56dd695e5cc398fa452abd58ab2a8bbf314e1c067cea96a7026ca5c6b1fa057a6ae6eeaae56756552a14e60ab83cff4992ebd2c4b6f48ef57e9a5dead31d28f428b2991de69b9c68a653ac6af9f5593839527cffb76662bcc31f613ddcdadc58d192a226abecc21623e9f118f18023387f25f46d0d2bd14e64d517ae9f25c520c2fe52e4b069b3a70f03992d1a11cce5eaa234a57317a8a62fddd595ac802c101e90ccdcb94838c9a12b551178f729625bb39305ccc7d2ae06843dce3cea392c7259f817e7384e12346625ba44a27be3aa8b08e99667f5835ee816475e460a3ced633316c13d34addf776778e53b61173b8d084124ce47090781b581a544de1208e1e1eb4f9f1409b18bccb56dc7af8b15ecb1be18725a2a31daf258984d8f92618bb5110647279c60216473b110c98263f3b34624c600f1d0b201fd0d1092d58ec3ea3db21fb6ea7850271d8acb79742586324cab1a315008d4027d6bbc3f536c0f542502b9852eb915af99a985d7c809fc0d3c99397298da7137f1cd9e46ae92d578c364eacaf7f8c65b12c8dccbc45f8311a3e873d3defbd0075cf6377af2874dbd773eadec5bff73f61c295e6bb8b94cee98a2f78a1736a513d2b09ea3a2c7a85e0e19be2f50ba5424787ef46df57b7520af0dff78ef2c52b995d4f299553de4a6fd5c10b28b32569b2257d9e93b0d86ad0f584b286250b7ac795de59d70db0211ac38b0dc6f3a3491341388f7d18a504972668ccb5ee315768fd630b3634e24092899c29dd6e486d806749f22c5bb8cef36a41bd74c37932441f1c258a931fcfc7c62fc6ebc1e1764548b8a1dcd0d0ed2b50d294a4ffa72d2dfd18d04b7a7ac92fe99ad7b2b81244f4b1813b2ed73c1ce9dcc6e33c739fcd7ad71f973810182d8675bbae62e643e3296a41b65b6f911beaa35d980a4323272429a28f53840dcdbc5e417c63e2c4d2429e753796beb29c303a4184f4c5a09b4a119e106abe19189b0bad2ab4d6b219d77a6855657c981e21958a656d6acc504a8cce882545fce0806ab0e4a84dfd94542a659b50b9615316b5a3d6255b6511f9e51d73a94128c729da6e49423baee812d20f29a594529aaa22472305a6521fd20f15d648b5212a429d402f9605858f1e423b7c261b2eba16ac555bb02fb6cf96c45e6f574ec071f10d1149f9e22be26bb3859ee88d8f11a194524a2925ddf264064ae9c4817484438a5d154ebc04750123fc2ffc7fa3f0ff5f162d455123a594decd1737d34a19923c5ab0bd90e4823dc95974c60daf339a95304038df757e6dbb73b1c110ba3f07494c495e0ba5ebabf9f739392234f29974a61d1232f43c8f0b95273a28f32001371bba61c68316a5068ad5810b3f1d004c6488af0adbb258f97e31d0773f99b10fd3f8a7c6018990b8140c5f2a950404f4828dc559c78524a13c10a42206631032041a6210101010000cc0404d6905e687645288bb120ec68d641de1c42d4d1166b60e73ad1a51b1c14198673844a837d8dcc81be9825daacb149bfe961eaa5dfbb6e7c912c77eed590f9de4e102ac380281cfd1e1006968a1e261de155bd02d2a3ad64f7e4edc122f2bb698000ac94051d4120388e9f45a34c32c590ee81781869cb91ac6628cd1dd655b262bf224c0a1da895da4217082c2905b8a50e226db803c3ab28f7788f86653a17308163cc7ce2dbe2cfaad9714f871f20b7ab419debe10f9473218afc77e92c1c02367833666a4204c285877320bc54042f287f38abb4a73d0fa84e8c0e0e305ce699277b8f5e16580471238b3589512c4e4b25a61a4fdfc163a3cc9e71758de7f16238b49dff2b71b7644a71063821dde6b22ecda7ad929e72077ae3c6456dab902f9a23838df63886ce892ad5719b847603f5cc3f40bec839c454668bc847c135259680c527857ee59aa1bf728087734e5a59a06093649f49504431544fe906d54a17230ed2109e59b50808ffd5593398f1d430f3a3d741e14b7d578d644626b4ead5078538b3bb081443991c384910c11298d0c71a6c1d89bf24aaf20cfc0bf5b37b8961ae1a736024424189b84acc5732fc2cdacf62252df416921fc559b340e74cb370015ce4830680055117a7425cf8e1224821264b4827797dcf86f6ba0f643f6fbf6cd35e08a8d0f1594845b214d0cb0150bb8f51da9bc79a172555d30b5bc77e4c5008b30397404e6e208615e00293f13b1ce480962cef0cc9234dd1117bd52f7e2f80a0b9ae3a1079ce76fce5b19e64327ff880b310ac51ca371d31e6ae8b1a33b265831bbc41787107ac864d7d94d1d4ba50ecc8201d7c5fddfceb80c81337100c2d2193d4540f4501120929b53c9c323589be388ec42db4370167c711d6551a3a16fc14e3c3ffea7f4de7ad770ddd2266b47fad64d2f04cf97ae81f18a5aa72d51190d5c5469fdc09e2973d379a8b9c0eb13cfde5bc7f44cd833800562d6a39fcea1f1979c86424f1c52b2cc2a134d562bfb91e5965045f31ee241a2ee509fce12bee50bfeac44ab4d8fced1bc454649292ea4286445c231ec489e0036dca797822ac70d2a4caf9ae9a2e5838d61b9c3afbb4f6a2c9931014f1ead8182810a3d2b65db236cc96bf69ff282e42c82a67ac15ca4e22a09ba5de415819f30f86e23157c6563adf003de2e016b725deb393654caa1b97257f3ab95fb0f002ce8d1d03c12d34438661b3988fc5275dc9484e86505e5ccedc4a96eed4bf39b68f45279f3982835ab8c7970a973a1edcab4c747d86951ecacf7c1fb17e9647ae9cbe5065b8a370779d580a48adbc64af133ebc143721d078e316b08f3cce1c91c76234e18fde2c489e8acff5d01335c12c04f72d0baf3f9c63740a982f93727e12c2371f49beb590732b13a57d6685719a2f43171ed3676d19cbebc5fe7528a8a0dc30f8eaec74fe2d5aca300dbd0d008b031b47b02c26c225a4e3d46b938950e1be265ccc5e5638dd92545eed8e96c5ce41d27ae44c2c86c21ad735bd3af9c923c5778b261ef5c1f126fb173f7138c9e6aa730eec57272579235ceb504339a408dcca70b27dac65dacbf991b6e8fd995da10c4fe57a903173aab585fd13339df9d9bdb51ed0e2e39481b5059dcd5027744bd7df7135d0b7cc92ad9ec9d708e6c939abf0f403a4623135e56fbd4a102fb9d0f1047e21bb984c3e017b166b9b0984253694ca8680512530cc9f43db3d1ac62ac280855a3c5070de2cfca84125dc3d3489fc2e6a30ef66a0f7f0cfaf9cb08f14530f4d4760a7e275243039f340dbe893ed22c51f6400d3e42a914702deac76b25a3d38731cfa723a876ad17f6cdb572fa9e059f37a857c29018ff02c61cce3810f3d0ab1dee6c57c37a2d3c6ff6f2ea981849a96c0e1de1d42273f668b62ff94c4ee09745ea6c83d2b48245e30c28da7e0d124de3b51a5756804868c5298bc9874df8276891eb6fa31dde0f78f5b50c77ee5627e3920d78d976235f4390c1097b3ce647f800eb44c97fc7ac1baab8dae812ce1ce380eaeaa97821cf77f83b35832af540ee6cd092d8731b4b8980372b424964e3b486c2f9a5e3d3b1390fa3ab833a9d9f58bf474da9b7b4bc9360c77d2da8fe8c624790d373191e41e9dd0202ac672aaea07434a68d9c1b2132dcb8f8796afb4cc943f6d4aa30a7ddc0fe656f97ccb0661e07b6125bd826cae1364f6494464b619a0c70e85014cd4c2071e03dd783a8d4f192af9c6dbd49bdc8eb6d958c7ec5cbe448d06d1530f7e81c4d8947990af47810c2faafc5af38dc5d6ebbc7ab4fc0e8eb7b1d8aeb464dad91b4b666fc47656a0c6a9e732c812a0d0e622b51eeb15b688a98ee40cf3dc680583e05f4f70aa2cd3ef28907d42dba1bc3be084189c484d0b8f5c7b6439041766dfed298b9358be962a778deb4bb6cd97b17b2883058db8b05f4e4c1cc6f35a21f248867747af80acb6dc02deb50b3cda65cf7581a3992ca79b1a297a54e955948ad015816156410905a5c69eaf26b810cc58b02a4b42378f6ecb0637955a862fda2373f2c2a729091134bed5e96b54e223d75b2d8f0bd525419940997dc6828cba2c705b4f52e4bee32590f1d8f483cc24b9fe619fc0613bb8a81a5f308f4a0b34a621c627e9e63e1e603372a7d69e678de9c2bd5aea529336cab4a631d853792f6c7575d16dcda128a7ccceb0038d3f1dc833bc7e2bb1641638f8c9be6396671f07ab9ccf075d84a5b8f2f278f938cf8ee1b68a37656c3327adbe8aefc64ab138acf61b225a32c790399ef41116330b704e0d36aae5ff52a55fa6143037ca7676485f1357bd599e8e3382a2a7f8e197f3b05963fd8dfa83038b881cd788af83715537bc428d3eda9ebd977a69b01661de830667d08cbb0d145b96ed69ca8466cac65afa39b1d70c9bfa9dfde7e4c883bb8dd5a3d2eab983d0ec0854d4a847f62815a21b65e5337efc76e3ea88d61118ae68d833ce237592cc29bec2a320b24df898f09fae274c0aaff751d2a54e98dcc102490dae7987874802c85f72bf3a72aa531cb4b0125bf037545673381838ac6f4ad498de936cfc55fc5bdbba2c32e857c4c7f8c39d52191a6d618b36844e4154f7ec3561c715234f2cba217c3b883d1cb12e84b29aaae4468aa97f425790001a7956fbbb745f815790577d76974ead1d15c4d448af2a44ea71b47cd33124694f1f8a8396e8400c2972fe0f008c7231c7b06537a1e9a1217045543a3a8ab8a896d7e7f3c83f96c5f0ad39b8e7594bab539c524b5770be29a2a5f91646bd0e43167efeaef67654ac86e407afd909e2c1f2697ca38be3c992526ba5c492d37e8313901a513c7d63548087621d1d5112ccfa8ac0c7203df51edce651c054f56a6434df855aca1e00995d1742b5346bf9e75dfe47baccc12cbf053b301fd49bc93bd1224020ee698167a1612142884ecacda4278e2014e86db22198d9d8cabf1a10ebb026e933e8d3dc2fe32473bcc0de0c769ea9518e7ee0b578b605f8d775194940fe86129ca10bd98a71966e254f389f06bd318c841e045b4819bb4ec0724886d51f30af43ed1656bf4f5577c2386655bed15d85c68849f09a21c17f91dffe40c0196feb58715dd57055bd69b65d38fa981dab0ab814cfd7933faca1cbbe26bd0e51efc9dbb0c5407bcd47dab03a3bb6748f98e09cc47f183eda2f666efadbf6556cd5b25ae23050ec381a7152fab8f3be3a230c6fcf8b6d71c565d275c63a092a2abbe18a2cc006a75b00cf3c62612186fd55cf7617e212a07347a66ffea2d7888f679e76929b357dbe7f52a75c89fc1782fec574ed6a25c5882b90b20abba09e32ac292dd5502f9d7005f6c92affefa79a2339b5060cd19fc0f7fa29bbce26a1b76d423cd64a655ea548746e5e37a7d25be6f31794f0be5dcf2520c930750d2d7b3644d0fdd36218ee38042a828fb0c2261f990283915a2f7ac3c04cda0e7e9e7f6050c4b3de1c3f8cd8fee70692666a200eeecbc09731531e7133c9095460a35f065f7a2aa61939e274af24fcac1dcd16d9ed181d09652d5dc5f295854b1b4575b28abb10f98ccdfb374d9d323feeec9763ed62b89467e4b4f20fa9207e3a2ec4a245e14e4793e43e28ef48b149e8d3607dcb68bfb98a46732a8e7c3a6a25d9212ae06d763d33000b066e04b5f6bf8f397923bb7e7368e0827fdc7ea9fa822b86fa3f8a133d18f158f4c294ea4be7f5cf9770feda50aa7e0dd8b2e31760a1eb9e04b6319e8c4a89c1e5199573a24d428f5657d8d21e54f27c40cdebb38d195a939718ab803f2875702bcd0b26791e9ffe7ca63bd0a1cc08f48601a921c58391bb900095be91fa7421f8c6c46d32276a118e9978edba5d12e3e24078f57ad3b7f70d4b2003e9a104278df7be73f681018c53a107e240bae658006af975a09f35ad6af15b6180c3c8b526cf6afe32441421c4d26ac5865afc6e2c4de4f03fe14ba2ba70415bc8fc7f0e56bffe8e54650062184f77eb07d93765e324af38152f14cee92374bc4f2bdb5c6aea8e00f738b7b2c22e8a1c51a81cfb0107c742a01bc7377535620961ac8550e248ece2d37fba97f392d8e97d9391298dea4dd2426dc7cefcfa19ff9ba66270d870b9b352caa73491aa7e09c9cc044d4cb5c77bdf50020f46d1da9cff2a444e075949c8e04df46d897d49eee01885d4f576622f125627b493b90896add9b7cbd39d51bcbb8fc87f118c7c92cb8790a0563c92ee313f16b38ef88671808bd3cbca92f54f060d36b3d58e944fdae88ca86c6d0798883ce582d51be97bb58eae78ac300ac9cbe4c11ed9ed495b5ea053fef0c8906060f1917e119899e36d21c776c254073df38cd7126ccd041c4be3fdcd9605c8afeb5996f97c9174581dcb31894bd326e8c3a0bf60d281cbe79abfeab0949c23bbd675b22bdb39ba44d0a8d4f4685f2f7d142dd5542b69c1e7ab92ae3877cc349041ac59261ea4839e46a9a5945d9f5b3ecb278719e853329fca5f9410a75b27a00d6e7e9b35f3b3445d5a993e2c2eac60b47181802b2804f9b80cbfbe78286779800dd449f16eb5d28498948914d86c3c8063f3bc75a5c429280bc3a7e4ad850eef85ed790211915a4716c616659fc8895d36e122a3e46d45746b508e600421077aaa6eb8711984fcd300750d0263de7c8a206dee99643eed01b6f8ab5d36d25ca8864b468be74b52cd04e07d3bde853868037973c7a57a28d90c1660ee7d98d88519bae6a9d4187cc2021a8ba331d6a1577a047935159aaca6cf7f1585e680127900ebca30e8541c4b1cc8a8111025c0ad0de5d46a3d38f2d7ec9fb18fe9fa6e6e1250581d99a1398833ccd7289a48dd6732b088500d1111860f6cb80453471d511f49d76ac09cd8c04d9034a331af286177e9dacc9cc2d49c89584d657a0d93be8124613d354d09f5c0d2e535d5e24a8cf2aa3870f03d2e77471816303d65eff3acb7bdf00f32fac94a2a5a79f5b2d77290504456bb6ead5a718388868ed98d97e33383af936144c89667c00893ada0225469a0b6159df6bb167bab20053c6062d761c73387bd49bb43921cfe75e7810f67b97cbdc4c099c2baa84fcc069514eb6228ba3672761140908a0490649048cac68a25b19c38c964db233910837a698264f5bc391284a8a476028e28785670ca28826f488b666424024f95fc1868e0eaba141123d05a409d90ecf6af91535ff655d7776df4afdab4588cf3c52c0f7accc6067cd11afafed4d8fdb9a76eba00ee3fc388771695383632a324c15537743aaccacca8d68b062ca21818b696682fbfa134d950cc41741604746c78bee0f0db0f0391f3b87026c527bc8e9bbb3b65dddb3a8ee1bc3a09071062c44ad0c91ac6fccbe8009f45a1650be05b9df76eb417d3da49b7e55d775f91b8f44c3b268eb02df68445fb0fbdcc82db8f59b6f8c4c508391cb0f263212547eefb183b3dafc20b3e12c5dc00df70edee6ec1e239e718926ab43c04b0769bfaf2430c26b4eaf4d1c6bc42ba8a9c8e37c043d56528228dd2d9bf4f016f683320c2ddf127d7c4516632993943f8fa8a595d496def1164964336d782496639407c187d4ad88ddba0a65065ba224e3b582ba97d5d416be7eaa4ad81ae543360a45b59ea96f5d678a1c622614399862a3fec940c614cf6b9a20e13c57fa176b442a1f1dba3078c3daf0f44a72355a9d077531c95146ebd5a32d9e32bd95323a6e4e7ee993ad2c1be74be27c2016f7ab860c2915aa32403b2e2e5582c9182e53aeb1f718c2d7ff6609bd006d8b808693d5298c5e0cb337b682cdf5f1462c92ecb00a5d2b1ed847ca5664776a94b54586157b6e83e85a31cfa6ca4497988162ce1ec2d349420c3260c55d238038b5fc9c5cc0557d70e302f43387589169c94308c0389180f08967e19602033933186103a222849be6d573e1ddac9e7146ec7847a0c99bff921edf0e176805f5f92b33b621e171e647b62cfa92881f1f654f4fcecff0ff8906e8c626f22cb25a00c840344bf12b0a023dbf845262a2e1c450cecf0eeaad533c4c14b07f7e02ef7d4c90be6c2cd8636a0db38f47d254b5ea40ca2639b500ba1f05fb51ce7e4062b499ce46487a631dc4f71e03f26a19cb1f017f1e9f2fdb42f137bf48a090c1330b16b036caac5adf204bdbda8fdc02519dc2f24941593d94ad82a1b8951e0d8239d0230a3da53a115cb3f6792e182e5da03ed8d965ec171f7622be22dcb15678ecf719d016015bfd6ea9e7bea036e6f33487403295e19dab05fb8ae61bae69591c781ffc2d85018c26c4a5a39e257e3ede766ea23d90428e9a6bb4abf0265b00851324874ed74e68e388f59d232116eccc725537d5992eabeef3492badb44c713261e08c882a47e0f97362cbb8a47f2a9e63e2a22fa42291f3bd75654a24716eb0794e4404fc8f99f6fa870750314b2a10fce8cddc5342252244ac2067c3b263ba6bbd63a70bec0766ae49ae903ea5971d48c4878d91b32d62c3db68faca2187bc5a28625b5c80951336ee312333186a1d112185525e15a1f5424779441bf8e49de319c7adce033ec1adee28ee5c56ef328594ad5d95dc87fc2e972787092d9fc88b86323ca5e23fe8944eafa13c654b62bee658fbfa5abd55acdd62806fbcf450f5290ca4553bd0dc2c10da63aeed431e2e7a4f0c38250c954a46cb69b401dfc5a4af50f8a48c2930a51495de11e98e43593ae602e947c1fcd9e8fa2f930ded13656cb6d20a52f50c20f4b08898b6c71398b8d43015ea4b7f3d431feccf0392fba0888e6e80b040956987e4bc9fe6c7b3d3ab766b0abfd5e65b130f47e6483e7fbfbc0c881a00b0f696f941bf7bec6ca8b6c3b83e2aa872263b994c416daa4e9a774932bbe26099d78c29e3dcb2d97210d33c09dd7f78bf29b1153d95e82903feda06d3e03b70de2021e71f279afbba855c106e42f9dad241d62c0fc9dc31f5f1923aaa856b078985036259552c0727c3358ce5ec789881e9553b7ebbcaf960256fdae80d6b22180fe9a85e6e5afd565b174e362259595286b2ab54565c2e3ed22bf25182b1fc92a528028bd399660391e510e64815f4fe9702e3fe49db6ff1ccca43cc286c0e83162d12047a22237f6c6a405ccf4a8874f8123c637f083a2491f43a31b267c44601dafea83b54301242dbaa26c854efd16084687d2fc5728644336688185320942103943900849081a5b53721e114b1d3702882808a20220800028080aaacaaaa36b22ae44fa8a9898a13034a6b10fd3be7568a935ed9bd39693b8303b903cf0359a6bcb2c400c406e05e34e48daeeb72c1010b8e1b3e4c8c64daa02e3ce42cf948fdc8d2ca741d8e47fed2b038ad8fe1b826970186bbc435f23047e7ff7f9967c358e547dacb4785796d6cdba6c9b4519695d8066d6c6c6c8ed612d86275f82c119da72598ca9a59af5733ebf5bd1a3de03e84734a20a9bd9e0decf56c60cfe66dbed7ebf57abd9e14af4602b86f79235259e6844aa9af150912247208f07835298f5793f26a7dade7f1783c5ecee3f16a3b3545207781da4ecdd05863653aa135c9be26ab055ad9873c5e8757ac11405b03149661852f7fed6b475dafe935a52efd6a2e7d39a15da8fd353bc208dc87bcf108a93bf53800e575c40ebc8aa8b55a11d722f138021f21d4be38d8a6ea56134d7fa5a105eec3a611a9643e81ba4844d03e1a9ae7b27e226b9aa090868686a6676bd61302b80b792352c9b4e2844aa9f04e881041aa103178d92b0f75f2206a640d4209c20a020488a611a9bcc17442a55425fd87ac1688631f4e41dc354fcdf3e183fee1c3705ab5ceccb8331f82334fe227ce44997d73666666666686a7a9763b9a6aa77442a53c50fb6b76d7049cd97723e8e96e474fe97eb7a37b193a4b6765763b1919a1ea9690aed719e9ea1a701fbe5419192553ca1d7dd1656c113a1d8dd4e968a48e66d24c9d6e99d4e98ac05d8c372295514ea8941af392c5c404afc4d4393a87cec9e576b95c2e97cbe572f44eefb95c90cb9ccbe572405c565bc55971381c0e87c3e170b8f9ea0a57e4771c0c4c168606838399a9331506060666bece5718989d7f8449c22c8d30437e1b146a6fd769f5769b7d6eb7d9e786bcdd6ebab978bbcdc51979bbcdc87c66ceccfc76cbf328d5ad28787fcd76c1817b9e6bf33ccff3772b9791cf5429348be3f80cdc67208e3f711cc78bc07d08c61b91cab7cb099552615cb32f2f373329299b2d77cd2e9bb6a72d6a9bdaaa36abcd28454a6d4a9b90ad169c8936e09dd556973256dd124b85c64897cda7f236226f194806ba6ffb6e01df43ac6bdfb66c948db66ddbb252b6919af65bbd25e7ead2f866b3d7eceb64db7b9c3b5a9d303c26f4174bd56ab1542d962aa5b5dacf4a8cad6f9cadd5e26c2d0365605d33d6f8baa6fb2b2d4603f7ba36abebbaae619dbaa9a6b7aa54a1e94fc3b4f4472cd2473a492f9bf4fb3f2dd422d9be3470ac456cb1ac972a95d4e6f3f98c32a954e5c7163ff6f88b81f36e96b3d5cad77dcf266d4c20542a53e55e86791ec963d98247610b01b49d66d378780e9362db36013a1292ba76b12664599665591ee02bfdff7fd8ff0220913161fb2f46ffc50440cb605a6c604a6e7c60cf1980777ff75cd0f497cbd9d83a503366859e2c5e49d7a695331b8c3d5c30b8727ea21f4a76b3b30e222f4c3d55ad7e96305d05650139a35a7e74a09eeaecd6a67ea23be76297d8d935d0555ddb3dfd270a093f038aa7b2c1577bc91ba0fd0409143f4db1fc067fa0befc86f168571a8e07d20f87ab917914693fbe9eb3630c01fdffffff082814060646041c65ca118139c992b3bc6eab722099cc9ce858819cf2f0452dc5a343eab8b593da1262aa2a4b680725ceab684f0034d01aaabda1eae398a5672ccc07d6683a3cfb19f2d57482cab20c440aa8afe8a045881e89bcf9c0fadd6e20a2f33c5797424f9c844ff0684bf50aabb35badbcb460308d2ced0c8df0b551fe42535e9a6ab41e58381d9e78ea910be9e84b032428a7265b30e651d396af3e8e60651aaad424c2234729a9dca3a4b403931224603b90877d16e6333f17739cca121cd7711cef31f66f3e133e83df2facf01d7ddb5abe5dc05633290ca887195135089f7ec8ae449f5e3836d32d630b657db075363428ac8a4a48488cb1d6e9baced176dafe62c5e8f7e2fcbde06ab22efa35b3ab24712a8efa1e4b31e29321f7484ef3084f13281b3efe92ec3affb7c2dfdcedcf0e50906079e2b15a20ca1e3402093a9332e15a5dc5a9aeab5c6fea5d4df6c4285be3296bf56fb52ccb754ec6440267e16aa3627b91926b3753bee69c8ab94bb932dc955c33228c6796b088a8a594d7342a39366cd6d665de4bce1b8072f4e492e4f41344f680f1bc42095316954598725376e6c8d1bb46a586f4b6c93bacb22c13f9c977cdbecec8728f27b193aaa026111a537ea08c20995129444db29cfd9a5c4f69fad5bd5f5dafb8aafa74d02d85650dd1a5673d71f98a713c358a7396505984d04207051598cca0af5157ce17b75aa419756ad0aa1c5461c5aa2ebda92fcb440d1c14565f29544897a82bae7a58cc522a255b1cc754cf8f947d3eba977ac2a1e92f9e26bbaf1074ac43f3be08ae81a413b34f47a3b1b580df0c1b30f5e3afffa16f035aedc8e19f08a9f244016c122c31beb24f3fc3243e86a15bd1d8c5306c074876cb0b2aab58be0245eb272a2a69463fe4778d81f1968a69080031f38843b554958a773b1aad478e97a63df3253ddadfd7691bbb67c2c8c2ee4e28579808293870e4c0ce20920bd9e93e2f31263e4cc3e7158a29437aaa782af647488572050ca02243acb4c5250e9816a6ad1d1e3958b0164166a8633f3978004da1c102cc00073394428a02b45ef329d8b4c86e30ae1503881611077014feafea3872025d8de2326102adbc953814480abc84e9cd9b6f9ca2d8bd3ecac7ca332489870c4eb055aa6081e2528309cd9853d7a26a6f584eeb5fa03dee3320d72c5a413f3a8eb28a846c4c7b786d292d719d7f26aac83409cf9d046ca6858ea50a068e73bae4c908eb490b0f8523055405141705d3154782b0e8e019238416cf2628a88024690516a266d49090cdcbde2e43e00c2d1f184cde0593d790148c0a35b5fad37b04fe6fd1cd2ab78cdcae7916624a6f7af67c404b6ea89c48511bd1523b61fd6a19116abc49fc3f1cc7f110fef7ea29e295e4e645759dba13be470582af4b8b8e4695d515a4a47569c5a6088a5049a8890525eb57a714751121e85a4080da07fa27e2c1077ee0ce68e9b7f3fd761d20a34a70e93ad20c72357554e16ca224cbca03d08a45ab738c88602873eac1c2723515768518a6a387e9896476f5914e927070cbf70648191068807c21b3807bb8af658a967e320ffc6432b8899ac048dfaf53748c71cfb6f8e001525dd20031e5e808521875ec48ea4a639c08cbbceffbbeef3bae6bbaae6f0cee21ace602f74ec78f864889c40adf10552c43c6532346101c555da045448436b02c3da1ac6e2e703a75587e3a9d05757e14cb2520d211bbb2854229b9d0b1e5b262e2e144dd517584aae0c844ff4f81d1b8548225a2e4f6bb220d1491f6ec9b9f13622894b6a46032d99a60aab6ac71bb1042cf7686449eab90b3332a3b9acaa0705951bdb0974e3b06d81893a8a8a559eda7906652b4428aaca2f57699cce12c75e04b2358c9af96b4e5a602b935a5f77c3728924963b8151db4a825e861200cac95c6a2b2a9143bc0f763e24908d589824f81c471573853743064db1501153e828ed83246d401eb01cbc164852b926253eb0a5699141e2311c9715e2ce570f2e388178d19b4a2f408917105a1b9344e46cde48064d6851525f9c2c9f9fc72f65c1d2d11f9495eb7d7b1651c258d244ba7b02d2343c1ac5114a4311f564ec41851b2f1c5afe1c8e87e35182fadbf4a9485cd5897b4c2ffe049f2e3aae9df37357e3d102a323b41ba6e7410e8924eecfc4d9a9363b42e458fa484c9b6ede40ecf972c1af1c08d3c4415fbeafa3b7053f947f77ddf483c4d033994f90b859bf37fdc399110a7a61f01e931e0938db0e038be80fe5a99f23427d7974cb91a95ad5629b84eed49914ee7c675f996dc853cd7735d813c3ff1a4c999008d806d3d23e0771f50cbb22c276f6a2b10d6af664092d84f16f0429b6adba62521b321b14bbf6f1135596af5101bfa3c9561496e2e74b2047df4f470f56069a1126b22f4c9721674e47d81d45a764ac3aae0646db13cc7b25100249a9fd54b63e32fb92daff3f8e7f09b13302be337466ad36c1a0d1e1a5fbde6d782fcd6b41f4da6bd1ffeb14f85ecc27942dabbd1ddd9a6838a7ab2ed9cfb67ba0787283537fefad975ad876a5769fabe6f9a9e6598e1d79ed87a034e2e7eb60c11dc266cc3e17fb93ae046c3d19ef81cc48f86e7b41a1a0ee7e2e417daa50992e3ea1d3b1ff293f1ebea7f844d5395fc4aadffb189217bcca6e7b1e5aabcd6bfb5bbe4cfef966c4cc3af5ef5ea72fce71fd3f007f53bd3760dffdaad69355dd76f3cd732feb2e4a6d15ee430f29ced4e8eb329d1bf1b1bcc23a1c7361e718d8bdb3001ff4fbb69a513727fe3d1c25540e0eefbf262b3fd6cb423bd9f2043324306131d9b8ddb3469cefdb941309cc3a6c1f64883edfbdabb187e0cebf92ef7d23aecc6341b60d8c456aea403ed2c4f93857b87c859f47c6fdfe5e684ede402f555506f32a021e45feb4773ffebd2bedbc7228c390ceff8f8e591e42486019c616982845906d61411bc71832c490854d0ce2b28e2d168623994a9e48c1e5c7ac86aa1b89193d383ce0e2732ee2c2229562828f4a28101b6b5c33ab6d51911fca025bfe1c9f39dee428daaa01ebcb6552714c8a420a10c25c3c2e2009872daef4efab9aeb51db2830dd90246c3e73260d34c4a2915991a837263a398e449e529521594a00b3a46e3c78d272afcee676ebc649ecf8266ec091e9e36527bc9563a0a6d46efd47d8d4597cdc67976eb9a167265d5c33229beb562a1b7745aeda20efba6d3f94c46f3255dd33c5d848e196bd0483aa854d2c2b299b9a5d662ab93275762366a344e9bd5ea73decdc83969f4a5f49999f3ffc0791efee12c94c9961595696760b5efadd16c762aeb9a434b4ea87c743ae5a44c944ae5a236ae834b41e45d863cc41a8d6555a5d2ea7cdad1a42d290dea1208039b4378182777a25853cc03c5c6add51a07b1d96c991448ad5a83bdcff5097da1d1e574dae463bef11fc390c8affc422492b865327f3077c50651c9ced04ef777aff22f1fc5c14a78c9e3c9ec71c2c5eb153ec242ad1626c268b754423739e0dd0a8562a754da5b653675e71308b4174adf2412f92edf2293f91e81c1777f8556a2bcc3fde5cbf67d6be5b1d0a894362d12ec59b83e6dd02ef9221332238f838457085bbc2eb5c55f014cc902310616bee92f856e82871b37316078f7a539cea30287a8435954ad16d596555793a417178fd4ee675da9cfe742a9fd8d4fd77728a0fd8e76afae348e7fa81469f3d90c00c80a1a43e700241a4a72284b948e19c494dd0194650d05110f849178708e662a9871c800e00cc088000004301040110202e03b972a73ddf26dc45c32113bffd8b62a162d3460cc21669ba5c4bc835afda27a1802d3da5c4d257d495a3dbe9fc9b6ddb525389fd4732324e7b6f3fde6a3442f3896b7b0a01f053f173fcb3b7b95930b9731a34712003bf63c82b8ef35da5fd85e7217b3b05c06349e555b6b8aa3b52d7083522b66127c4452aff51f1e506d8ce1cead971fabeb976efd196404075c878b16fa2f17b7594e19990cec73a07adef2982567e9b8738efe2509f4dde22649aacf5f52e0af1d6e43f7a6c2c002f5953ca2698a15bc3af62e13a7e2e3dd9cd25b99a0e265353baa2116fd20cdefd373be835ac38550410d51aca4cae23c605e4970cd4912c2618bda8df3a701eb3146f2f84962eecf0a1e5fef3b3d0c997c5f9c479a15331b370042542f48bb935bc332e0d54d1618501e758b53acb9cb19182e6002cc843010bf77a24bc99d722f7eb62717e18c99bb5c5b69cab538e1addf1a6caead1a6b64e58c43408b9583bea88f42755361933dd4d262cff8e6282ebae2652b852bcbcc20071d1b100ef56b401bbde4e7b63a9a9c07a73ac92de2855510cf143899cf1448ca01817f832be9f74a22287c404bf21f9ddea5703b7c567dc79034a8a7bab1ab0f467ff7708211ec55bd5691731171353f14ebbebae45d38ac2ec23dc7a6cf841aa7187bb82e84554e2348ce288bd13c5994457a3db88651d29d4d1c98d2bb3cb0b0cffc19b2aaa78b91d235d04017da85bdd760091c876150e539183f175488730a5e611755a5ba19e7dbf0cfe9982182911fccaa6a41f14c4a404ba96312a9b49862abaef5d634432c2c262d5f9ff706da2b4c4bb0ccfe57b8ffc3ca92c38ce5509929802f0e6461a927dabc3974dace0211f231fdcb3b50094f34a643872a7a3b3d63557e937e55389e98ac29a05b3f881708231e1e55be7f11abdd2cd8181917e4209ec01f6daf24282cafbf21076b1040cb926c445a3b6d8194b48d661c7266d9d0d9abd66c685825802c54cbc90267005f8624efbfd646c5ab7ceb6cc505f4cad504e2f0d5f59c86c7ef15478c39aa4a0b86266476421c4586b2a82d714b0131c53f84bc8b065a731b007a15fcc29249b3375c2532990b7b763f3716b570d7a97dfb183284a80bc2454f189035c6813d485512afdb5bbe17a3ec7c93eab5447aa84516bb1aa017e4f3b1bf63835373fbe02d99f7bae89a23b902cd0567f89bf17f39a13cd4b6b0cd09334a0fb87e126aad16c49fb074efeb2b06cbbfdc4bbbda7ee1364f2e220a2497b348c4597b8a3112576bc48449ebdcce00c1490a2c8c0ae608adedb6790d0490176ac2c9b185d6af38ecee216a9fb2b6a08ceccce6a39082b982c96fd5eb159425bfc8a1bc29d59685120eb56c720de0bdbac3ebd40e9a8b3a5c32bb56f98fbb4e4b4170349b5096c3b915d3007d1eae4f13dafb46cf0ff6692ab2e15714190023b7473d7d4acbb65ab53eaf5c1da96d286c944e53bdc5be43192b248a3516d3ad89e793ead6248ad0ee6b95072fa0113dcb74da767aeb47f9ed0fce840cd9c3ed0e505474247d424a07b7f17c05e0c4d304318145e23fe2bf21cb6d723a2c1bbaca9fbbdfb990a25bab05653ed7b71ebc1ba82f128ff5b1249dc0f3d38b27082530b2f906e969819c4f575f54ef8ad372b413e3485c7e75a98fa6f9247141335f1ddd64b7c7cbd7bab45b29f056f5f6057b4acdf5bdbaccc92fe11ee5801884db4cc1cec448fbefc93aabbb0f1f6d57fadce5135aeffe90faa909d0a32006d3064284139e6eea27db51fc35ac90b2d26e135ea52595ba3a795276d49ce6a9b85618a250f303b4183b2011e64109871dd362f4150f21f49f74d61b181e7665d4836eebf59b9bf49c87d67f10fc512164e22b6a8d54976ccd39e3c557bc8dd5e904d3a9548cf926c38adefb95b0f7f861c3437842c6f20fef88df64cd1429a47f0294276d4b7debaeb5814af2c7a8538946ba256716a79acaf9b16eada1c4cf985af065a71dce5ad3a661d881ddaf8aff9094cb525f84739755d12f9cf837a0ce3b395c33e80ba0db90b2966f1443fa37fc7f690cac6bef932ce532f15c28d2d0ff39ccb1b04add9d4991e695efea6487468150135e718551f5e205b3b05dc3fc85011bf9ba614bb4fb8bb8d2e07d69540b1514ee590ec40ba15c5cf47f94219f377febded8600c656feaa36c19fa26cefaa44c2216da46567717e37529be6841f35b28c67700f3ec8574f4109659615d7f19370d79a0e841713a109be175d30e396314e60dba756ddee0175b88bce6bb5d966673b70d743e2c6ff42bd3d793a5a4c067e5c7050191694b4df74883e53cea150b3940f72e95bc25ab7a92c159651a5aac8ea88195a6bccd615bff07ed09ed459f682268dc160945ae9c99d99776426d875f4fcb884bf8761436ba9adae175d83403314dc6678e58ac57f14f1f42f50dfe99efc25a2282de67bb8675bacfede607333fa5b9ae09d2b27d935f8cc95ad128c38c8e19ea971f516db193bddc705a5b6b60086920890a186a84bb4ebb5da6860e18dc24bb44cd65e361bff773530b85782a6301bde01b18419fa645e7d01a61a306d881db047db2f5ae8f938267ae72b1a88b36a3502aff3d9aca5af220826926176277bf3fac710d138796b257578b2953b0668a2f90cacb34ec39bd3664350e3ea00db149b2fd82340a7896a94ea932ff9aa2835c03fffeadb4e79d3a0d9ed97f261e2fd4282cf34d5b099409df11fcca09a50e6b51a3abc83362ded8c01cec4b7497393ac710736d9bdb853471cf566d1a7a6860e593d34dc01090d81150b17720dc017b36fae29ee6245882cdadf025af8b7c7ec05c46acebb3bb4efe8f95cbf5828d88743885d2539049c6c643530ffa265677e7f12e3ecce3a164373d1694bfc8aa4b5792b1be30f9dc89a549c3773a364475dc19b4f02b592675575bb185f12d7fc34bb0490f0fa3dd8b511eb3ac37771ee6cccc27db6450684eeb2744c6f193955e1e579ef6816fbceef2749b6bf3f2dee4a5fa81317548cf8c8ecec6ce2c2ab6c027b6a017c901d72d337ebbe5e1086c65cfa94752f70e0ceadabf55650e9be7b61c8f9aee593876d829ae149548d6e5ebdb77575dcecd48312fb91c5015c426cc8bed653c6de38953742811a8b190ebfae3a6620613bc737915fed465e0bfb67c4472ee4201b1be67187f851262a2dfa702af830936d0a79fb514bb9e0d674d079c6a496ee95e94925bb04bd5bd9d8b9ac6cbf2f3f522d1499452ac58cf1b9411dd2635f895cb58a904aa302da1e8d52a5f2610668bb5e6439801994d6ce2c9ee4cb63572e8d15a0eaf3ab7dee5045e27acd0b46c5af3aa1b140bef606c85df8b0a498ea67beba2a69542e3a7dcec8a85aea0ac0519f94caeb655bb342b632f339c499b0fb064a5cb3314652d6ad4104b7daa934ef30bb316ba191af5cb91fd765604741c73eefdcd990c7a05e86f9e2cde0212e683b1dcb8e48255ce2d47f8851adb5fafadde14db913aa534f5587a2c67af2f0908fbf9a798da5b052b99865707d1b0245cbb0341a5e8ff6cfc5a1adaa5340732406a94b320857647abb085c50423684adab7d5d568bb580c3d20b640b2cc37e8677974151c13c0b95b32960ac77c74b7e4a3cca4750cb072f96e70af116030e17e38645d41a623838d17ab9187c95ede45cdd51c36ae06b17722f19f31d3acd628c2bd299c71a6f30addfa058e879ffff896304d5f773b3f30417b36ce465bb277fab89e0d7538e7e1554fbba4bd332e9f11b133cf5f680347a69ac8ef44b2d1f9d04b866f2e292c1319fbac1c7c48948f4c3d5872e7e3059fdc6cf26aad1b7c2fa4b4aeb1ea59d56e485e44c90b0ea9d0257b89752f5368359544309de8ceee7c11094193d7917cf8a2c8702923b692a456517de85b7b7ab9eae237a339f0566db945d2c05014c237b8bf9b8838cb3f371d02eb3af65f6655c0b29405e88d93ae7c981758dddd96df34517167e405e42ddc0286a72fa2e4b90e9e8f32c16d528f42e79e36af820c17ce1aa214b0235e0e6c8138145843dbe2e8f58ff42e1b31ea3352eaa54e49bfc59061f8e6d5be5236ba571ce112915474aee436243f7b5190a262787ca584970e84f3416b0ec94f712475f65a1818e83abc76677f50f95540acb05a65fc50b5d20aaff29e7ea57b6475dec93b18e91ababa90810803a051fadb214c6f8af9b0a659179edecd158601aa07b9f099c91634489ecdd425052e3f2d40a4fbfb891bfa1fe587d5944898b07a6b9787c5436c58c4c3695e94d033026ca4d0555afbe7c2b741eb0e7fa7923a69291fde33dbd40d27900065006b44a8a63f53ee5924b320f731ac9762bc322d657b0d8f4524294919207814be580f87da13487dbed3435be9ae47e754f4ba00c38afb9b2448278d2c0955e7b5d1df2edf087af2d8c5dd54e889b825778bac59bb107a58b348c10d42f38c08de4cc3e424b07de9b131d0e4f6d850c2432bcf439863298228693e2ef2d942f910535bd7187c76cdb7b98a5a1acb46cf0578a0430828bb7c67daed924e61fa1934b8d018d113fde6d235873a6d1ac30c434a814515efee97bee821b8b290f674f91b6fc1f600582d48410f495f89cdd556987e9bb456ed9b6870d7014a7adc44016cb6956fcd761a01c95d3bd39838c80982c7354cc42033b3f85d7cf24b39c96b853ea990de2af5fe1306b2f31cc3f28d93103da3b6dae352f2d2bc71ebb4d63c6c0293e2a9a4024dbbd145d14038c3320ef049d51845e1d8a07794ba2e74407bc943e6da90282e4af311ce319f307a2fb769d6387485f95a9d68b3250d814e108ede38dcecd9e223ef5bbb1e6c17db92dbb6e0049aa11194b5a86f6d433181b21c132c13445c465519fb9546733b6082180d8cf73799e10e25e544e4f0c1b69343d594b8e26eb1aedead835ee31849555d7065a554dbc0aee57249cd9b391526db99b673a7cbff2b33e1224f67faa43a2dd514d473950170f038bedd85cd1a6c9c7cb7528889ec2f50d77e8594aa945f7a47839e187deef9f0e464781837e81a349a83aae1ea2f07369f60770f4048b49a070e556fc58299a727bd91495c6a0a4a4ec986c34444f3159cb760bfdf5e60cfc816faf0e0a3dbb4860d0febe1a11babef7529e3786bf8d417624adc82fbe1a0dcd0377b803f43de82fb30be2330a4421502e0933705695cf631c390f2c05a01ad80764a578e61c1d3e6a540c71053a68ce2feb4c849c206b76d98b3b1335aabe39dbf1d82914a44d56726c6a602058b81088b4fa6a493f49eb094880488f5c2f9807690b43b657b4fc8023b4c863e44820c6ab662d02f786a79f3bdf14ba31822bb5120a60d06e0682d2a18b1aff6db1d764791cae7067b6bcd5a5d73457b3b9f28393574039dd62cb5d2e0251bb35754cbf805c8a1b3ec19cf0ca2849c4389878ac9b964b44d23230b7ea04c69097f38c4a8cb1182835cde9123c248a4e92f126d1ef2d842926c28dda1d06241d69f5afc4342f3df9a059045b029fe081d14a1a66de08336e6d1b4d20322da02cfc5c681d623dc0d1a1b4ee2e60f340e05e2f6415bdf131a991be9b860a143a5a914c944ad07ea5158503e8ff383b14122215a4f41972cc7d7d1d08b55978e9980e2ba7a74b7ab74f47a5335ad29104edc55d8ff4214b0c6d95abed95ad67943f669d16ad020facfa0c3659d64e22ad10a0f5562bf422653d401d63033cbd8b73b5de78efc06086c6fb60df2bf8f06cb39f713f49524ad2b53da5fb283f3cb62b96a6c31c4ef77aba18869ee533127b53a4c582ce2716d4f701ea45ef6aad6338521e9e6ce4f1143482407230da143758d0bda7e70507682081b290ba0961a1f8b6d9723aa832cefa5c31c8fe107ef3393ae32add75f4a5557d3460c5471cff1800c8bc1ccc84315702c92c4b95c8651c343b7b77f38bebf3786411efc6c539d26ab4a2d333f15fb79cf510b4220b36093187ed5fc1c2549ab2149a8b86292f8d3df504336a2c11bc210589c887b2f2264c25f72d39cdecd07cde7671875a999cfb74114c5dea3894a126f789e78b7cd7d573054d5ceeb74c3d41fed5d5b1731fbdb2f3de4bb756582008dfb8098d68b344ae38cbb080602709285929d52442b2586525d0a010a32a1465b4a38b89a1f73ce530394fb991ac0bdca8964a394a9503098652513c068d0ad3e8f1bc475c6a9b99a740e288969dbc1929aa57cf774c166f376da1a93eb319d24f64b075c86609859c589cc2f3674ecad488c325213e86a39cedaedb03373bfac044a9f5d52daeccce9c6c021d992896c505f4b4afeef5d63ddeccf94e0a8d55d61e9a1db80548ba3a4631d3b078f0ca74f396e50cd37b47da4e1da727568c92d4f2261723407759246a64a00044587190c82c9b29958c0eddbfc9e6a1223d3f33249c342aa0a2190940bb13349c9b9c631208db3be79ebef99b4cc3ccf04498d4e793d20b901139458e5a3bd674842e6a8867cf078aa45c519fc908a0824f4d422f5f2f91b4a80c93681555c496eb4f28565753b3aaf14d064cbf5496767d1e0fc7d33f1366b3d926f08bc92b5fa9893f64f349bebd39f68b72a91ded6947ec81344e8473b25e0fc90d8504d94e753734fe01d6d19e4b4a39820e16a330fc12f07edf6d6e36e545859585c6991664a2a244490c1a41b8e3cb96bc0d5af948b010752c48b009451f32c8c764831a7fdf95a425b945d07605b6d9f4e5431cbf2c316ef3e823a237f07a17ba99a50e15a5f08e7051c12664e4a6e4dab90a44f30a95c7dba553ec83a6cc8aa1a98859af6a2af3aedc9b5490232c30c9d0c6683edbf46428277ca7d352b34a725bc85343d5b2293522c5df9380a2f09fc2ad8870322a7761f39683e1b0810334175dd64efcff049f771b270737b830d9b974a8e96e1bab7e68c410d07f7afe71c527f47998b5cdc4e71fecfe3e2322bdc4acd9488aeb803aad1ceac904f2d904f66901bc0301a86f09837a9021cf59fdbd77335aaab3323b232603a935d09c35530872b346ed0227d147b6d9a8c4d6cbe146279a50d14a584c48e8b0f91873abe9e80a0bcc367da0af4881a34e950b89d0654cc5dd181304196525c993de2cdf7d84854b7d9d75395b84e23a70aa3069b163329a0d25124706c0e1259f662d4b2067df1a1cc8704fa46982231608c14f9afba03618c0a52e60e68a3a2c1629cba9106359573fff293a87c31e15ae24378792a32acc984e6c39fb9511ca9dd6445305b2e410c05329bdc44f1cb6000822f222438243b5faad92574698e0c007aa65f0c90d592582f5353b861cdaf55688a419686c0a22f1ce23a0113ba21924bd354bab774a57bc7c3f10415331e7a28cd62ce9a9c7f6538f5b64cbacf7438498a8a6ad288c11a39ac8203f9d941d45fd7258835c889671736f8d1f532690167246122b1b96efd4781157ca62f1ee85e5d449efdd0d4452c9a4b3956e36d83ac533a9ca08b8827bf09519810cb207ca6a840ea19be3f98fc5ef86e38c8d206b78c12963c41499e29a1234cd5b090fa6605e7aee0bd78013c513960cdeb2e0b41119b4fe2227ba7601333391121f2c00d945150d59f2ee209d0962e6235017dd6e819b102364a36fa749c09b241d9f82be0d386568755ce337f8e7330cf0553088715344a72b4fd8e4c9c018698437de6708e33d2c15468ac430294868b0d1ad18c20ef518fa33c0a91f09fafeadf703ef1a3c5e341b95e4353d17235fb52715cbbfd9a945a7013701037fb647e83081a7844726fefa73e679aa29727ebd699a237652d53a65688ad2f1b5971027b242d89188aebb2ce130518044829d3e34ac37cb1a589472d949c93cfe2847542e2ee301da29fe077bf39ec7b53fbb413eb6c59276bb3d86ec384fe1c12134cb015ac8af177c4f2610974b20f7625a05a8a8ed186b297d9a69c0428b04bf42908a74ed7e5baf15a8aa020c50e9b280860b80ed1e6f32e3feb5065364b5312441fd73088189b912a97253bccc0f10405b20cf4523cae7671bf954c1a8fbd4cb0ffdfd8dde5d45610a6e81258ac2d70340309e58917ae23786489144563887bec7862ba83787315c75511492092850ad158f1d6f2e7858e48da311d74c4ce0462ae999249d102c1790751b37dab3b8880865967d1b15a04aa0a7a8de0a121e86ea30b68f8379176640650f43a431e00e4c512c15991446f00d855de3b93653b594f79ed85484d6b2d982adfe7568865dd5be37dfdfb8c8466237d90d7d68e0e50349203f82aa80bf2396278f9aaefb45d0364055c3348db63a3865fd68d695af9cc2d0dfffce2c3b75e6c1da2987b7adeb648c68738413f0776a707054b42c320d198e2ad087938edd7b7dbdf6f152a70c73c806b914602c0d6792df2cc530caeb8c0e746f3a7016c9e441ce1be8262b4cdd10b2706159379fac63f4fdbb21034a3ffda103833d4aa6761dd3b76028f37b78e13a85264008a4570536f667e49ee489c4b9a69891d54365e7473cca52b459e19e4221b2e8ed8667983cbd36f29f734f0792236a213a600b17675e05b4581d98246477f899a82187de3d9e1f7a4d402b9edfffab401d77f7e29fbc27d6a03aafb72a999a12370859a0b50164e446063a5a9d5e21b07742a4024ad7bb3736a4d9edb93cfccae45af00883d2e222f0f6aa9712f15dcfa0e34dc479dba3c6e3dcc9821d66f6f911b67abfe7ada47401b69065428e86e52d034ea3a64dd6ae987494b4472b7c2df974f2f6b4b74030be60a89daf2c48332ea1fa0876c60b308a983b4d99347950cbde2313389a58731c6fa567a069e5a341257d4831329da23d53535027a38832a4b927f5e6ede90b8eb876a63516c83a04544836410a2e12d2ef5039690ab4aabfc79322677ca7a4682cb122ea06635de658e2eb499400a26a34e1675190e2c7a07705ff66e15087126a4928f0a26120f7b3995d7027d0b8f857a4732aa14f2fa49438b2a2c4833a9825d5f3db027cff5ba4433685112192b2f814846ffba9d1d1966eeda649dc0ff196b1d56f5cfc2300e49ecaf19d3e4b27824fafbed7141190379c8ceb20d1a730baa11ac5acfdcf536a23b8afc540c463c19fb954f9883a3b878ca38402d27c3d3947e5aeaa50fce7360aea4bf600d82620f965b94ee8d938e0c451c1d42b96ca7d88a8ed9a7a57930ee733905f2472180407324489c71aa77fd3854b48af51b3286395ecc388e13aaec294b01be1d0804ebc880a8aa0c2806affb8da83ce6ba9993f630ab7069339fc23928650db2746430010abc54254f60de513ac5dcee46d69e495cd683d76bb17fc3f468743423f44433f0415fe1656a4d89d9044da10e93e3941a7c839e641b497561037252a3c1408b6fc4ae8ff2f14d997a49237b4b99644a2949290366022d021d024b3c5256d66f1845fba81b76bf98f17befbdc7bcff729937f6839eb53b1958accd8ad8e9c11d9d2d37456444cc4f4b3b0b5d7739b274c790bb88306e7cc007f3d116f2102e59b2e7ec811c341c8a5363050787993871e1edf0794963603747bc8e2d74b02be00cec20af0a2b9a947ad1a4b87b6508243e543e3e6238600dd79103967c08c1cc4b98859881d89ede21be2210421f34d46407c04c076f0f18ecff4909dd63f732f36ec7e8271c69b2e0270dc7cab1c86e858fcddddddde58d8baa754a46e31a820516ad96165a6491c51557ecdb424361f71d69796374782678476f6ca9a92e2c65dddd254782f8705ad4a1887c33184ceac190727885117f780a314a39e6111821e26b8948f4e4c8324425c6252a4e1c3993c6112f30e122ca1a2f2bb2f891e2048f9111b58ecfbe87ca9853646c6dd5c618e1b2f8f1b3f37baf4520845ecc138fe22cc6125f040a1e18349162c398a222a470658005974ee8862e9270c2a3f83286cf91257535c30c3f6e3c6195b1115365cfd892854a136c54d962f45136325d5ca104941d9468941e0180782823952af6365b2ddbdf13706ccd72b0b42163b4e8714a31cb71b95d3ea3b40c66f3bdf71e6ffb6692b39f14736e205e40c8a3791665b69ff1cc9a668e65b22bf63f9b21902e3c07161030270ba219707fc867236c7002adad3ae79d792f973b9ef0144c72822ad96d480406b091fff205c821e37dcc9d7900164812892e4044b31d3fc6c00cf0e6eca6475d03640e2cc668e21d5e98503474a70ccdeaf0bcd46228c9c913e63f8093202517b57f7bea6146d22949e36112d278f0e8eca472503d3146f9bc853c023db053f68fb5d3f6d9fe014cc3ce3ff494457b5514fb44b500d9b044499830684891ec6fc232138a009a996538de4e67261a0130219ae2cba12b4c3ab18c0bd3949f615c487677ef65b6c25d67942eee8c629953cc84d5e034c36ec82896c4b14d831403d3b56363148cbbbbbf29c3d63433ece96e6facc9668759a4957ecc88685e7fe264ebaa87e3e1ed44ac7568d648e8a0d9effcc5bf40ee8d61e51c1c62f7f648d87ba56466c698b932949a942ce54bc9504a09bd6ce4f522e532e6ddddb54227222ec65f9f3122a8947d641aa93a4de7ac825f43de94c74ad409a6c04ed400d8ee5608c24227a7b703671fc17a3a6a276891a25e7822ffe044c9678edeb3f3a6b9df68923066a924a5925492cc53899754af2895c47df2866e1c05eb1a396a36af6b0f1ef1bd185f5c0857b3a24508231206eb4e142354b2001d492703c485335a5282efbd777405a90533ada600575d4a01d9208e0eeffc4764797e2f6576c9fe8fdde502c917618c95351c5ead7886ae10b9584a46cf8c1432f1391bcc148de9cc5468640411dce581e4b900ca758e1b637c4c704c704cb098688f289a9c6050fbcea185f61870434c85360439b8716b54692fb4d103989b207a878a4fa931304c1067d02872f76eb7a2d5de26719d2c33dc86fb52febf64deee45c0ddbda594b272f51b6e03224ac9dc86d434258bf25a7b7de8ca3d471e42741a78426a0d045be346cdd61c1c747474969919f644be096161532cd66c37eb914d069616c559ab70a08cf0e8e1d7823102c74b490f1d4437130e5674af6185afd11056e9fa0396ad0c96ad8c1058b0c497fedfa92ecf5175d953f393a480f078903782c866cc9747a6368890b641b6cbeb7ccb726fc635cdedbcbbcb5cd33536386c54b8de756df6a66685d418d54031416efeadd9ed75dfe6e5e57f1b668610c29e37330de7ced84dcccc446336cd3a759a00d9b0444998307ba67319abffd4fafbcb97fafa8727c22d61521bccd19fb4639362ffcd34e328e94fa63a6c98573e3699593eb39c543a630c9d4e2e5a6319fb0bbfcbff09259c10c21ae1b66c5fa9c346db1376dbebfb3f91dfac1d3674e985a57b595e566339feeb7288c9aa033a268fce6427120879393452c0c0ebf891dae844d6296f2ad7863a8fe27109e34b3075a344a2bbfbf1c68cc68bc8bb35cc702c6f652a0352a38256dc066d6c60b7436fd91e61e6b242e9a8d67a50db6ab5adb6d5d6edddd061d330acd5942a58591859e1562bf70a42f5ce8b6e7d9925537956c72aa242bbe9d2b8632d344a34fdd9fd5330478cd725d63f4553f8ff0f259c60f8cbdab277a7789fe8972e49805c49ba24017225797529f26af635ea8e58edbc31958acc373bd1a4a3b3306339249a781ac72bd648acae63752cc6e11ae683d4853903898d9698a32ee9fd4ba20f69d21734898036d9f4f693fb773652bb6812fd82269d5e1d331fcd8c9d2d280772ef4af8bbd0dd3dd275a7d09bc68acee8bfa6a9e6f6d34dd3a4011fb819556c46d0297445ad508e264183e4df50568f30286ba3cb0f93a8b7c94124f067befae75daa1754929aeaf42e9afe99a6ac8b32f8038dc09fee9a63bdeb8f54db84f2e26168be23d5bbbec8e8a57c0745a9899a6ba32e1a1a1a22ead5f3aa732cd5aeab57ad36700aa82a07df34abe5cd3bd60c042aa001e15ea0882588fa979be4bff933676bbe1a68be7a9bac9c16647949da779d5627ae7fde95f50f76e2e47c7a5ac9f9acef5eca53226e72b3355bd34bb79aadc94d6e124dd6f67ad61ffdcced5db37b6d42669010bd5e358182a6d05cfdbc993f7aa4e7f2ad27425ff4acef5e4ab7ea561d57dfccbfe25425f023c748c3c1834f0b1aa922649101c50820d5194a30acdec8e109712858a040da584bc04081e68e552a04c8ff512351a002f102951760051a0a698ee515084c1d41d615a49d2dc88245500aec263c82572017d88249d0058d20158804bd4025399f7272feec4dcefff992f36526b3f57d58047482087a6b8ec3df2b470e3dc2f8ace8f0a9eafb616baaedc75f4866b7f516c42b216ee81d71b3c5ea8a9a3302d4ad908892a85193eeee666e65185ca00107bb93ab3cc42be69888591ebb97484e66c95f46520534b7b9f229d4e31fe10d8c10c62a415582aaac6274cdc6eb8f04341ba7710127c2261cd7238c3ce39406eba469058dd9d72e4533b182d769f1b41149dca210f7b63af06013811b41ca092970815e924028818867984bf1cfb076d39be4f3a35383c6a0255b104a39c2eb2670b99e19a5edc591e1d2a92207e35e50c098a5edc708a48ecad1152e44f38d64502c32b2822aae74be945256a982c4e6ab30d77f4d5bce09200b6b5fe8eedeedb7bf0b6b5686078e80a8948b378d044001538700140c874492380d6224a798f3f664424b0519094533715c0e8a488110085120c231106000010600c3145188a92af3f58f7acb1e39a8aeb00d0b91098aed70f493b1ccf20371a12f6c8e6db3dad9988961db50c94c992c47e1fa9794902e979754e765ec786f24b98e313555669836a29134f746009637348c83afcad4c616db299f9f78d0f595089e662c73a3df8c1881bd0eb691250b8c890795a03da0d9232b7f9f5f69115e94e19af2bf83776fc29d6310053318037e735a9eab9e47577df00698abf2acf15b2339d8bbedddede46faae3b7c0a96afaf184da3850f0b0556e829e896b68aded80c0d978e68f86ac8e92d8475efda38533fedcf4a7b588954727023ff379c6ba180e5914d1f0c68923687c195f8a30d0b33d546709a682b02f6c461f132f05d446e991673c6ea19f3f21c5ab43e662222b0698a2b4f16b6286f994ba362860b1e0687480a62e86b61059821881ecfbb48ffd66c4511d830f5d4324a1bd396d29130163d63b100ec068667234fe5247d87e08662cf85ee41531c2f34b959280a8fb12ed054766416931b6cfa600d89072b8484e4f20c11790fc7b22f58cce2ee146a40d9b229023d57fea4279018858cd58e444e61fe5404340bbf5fa9df9a1dc844c97ab69eff7b78483460cd31ad6810817f960e0e3747cc4e414ebb8e7cefcb8b4596240e0410711ce485a995a12f22d347d578508ff1a2489d04dd901beb7b7415889a1af4eca375ca8f4308980170b35bbe99a94f4ce4d967e8a01c93de807afa5bf1f190b65157f83722c518e1811274bcf305fe96e78800346c01be33cb1c84b90891414d5637c6a5c0c925500515a10573602ac47917818a4bc35e721e210b4db49233e7311f97b68b1a1ed7764c513153ec78f5131bf22758784cc68ba170ead188fc2a6dd0f4b20682c283db5679ee9584fe807af8b447625958e567fd08fe2c0314d8ed12041c1a945ece06f33efaf3435b8fdc4bd509ca57888dd40d7085a61ca6220b94c603202288a31dc29e749ffd542ac3fb9636576f871b269efba85cb3ebb9b4b34e4bdac04944b5366351421da8c207458ee0d82b5461603c3445f578651f4e1629cac4ef5429df4f591f58b07d07a898f413d6d30383c3b3af5e6cb3e1230547d69cffaa289963da987566609339829270b30c32cad5f6d36b99cfd008f689299cfd0d0c5ec5dc2c03aae3fb907b8650477f4ccc09760ca70e9eeac0003cc2fae1d1a9b220dd35530a81ffbf086539ae4eb7701793abf9a906cd23a375bbfce03987d3e67ddf7d4d722f3cc254bedfd6abe96b16ae617809d202eae49813029904279705d6af5461a61e9b4d0d5abaa2864519d7f33b1e71594b3c342f644eedcaf49229e230f1d9b78eb79ffcb2de775eb6cd2123db1092c6cbaf6e17ffc84bbc760f003434017d6daa5687d13d9f1cf0c277afe33de2b4760450f0292d8bde5ef6bd00bbc264b29bca183a3c8e0310a454667e7ca5d2086bf95d8ed9fa73cf24f006b9f4b4c16e2f8892f854e765b33f14f9798ba4c2dfbd93018609980a608f061893ceeb5550fc9ab550841e35aa0ef9d610f9bb2c48248dca616ad0660e12af40060e09b533951e43cec1ab8a754a0947173823660230f4f9d7888d2eb4c16b8f09b437840bdcde9142aedf6d1eb67432351bc17b62cb62ae0080cbf157014d919a83308a7d3fbe092ef625f8c747e394ba5c057ce6faf6e119325732bfa17266657b9a6bd98e1e8550af695dcf687b38175969b50a556a66047eece105f3a22c3ec57d36fb8188baa81d116c2860d4664ff289169408a0e9cc922d82305c3f6d356b618e3031e6887e4089c9d4fc7eabf7d214c883cd955a599f016de7ae2025553109a3ff669ba958e2f544269b08c62f9675b65bd4d9f984e8d264739c0be5a41d834d6ccdca5acbb8782a8bccc47f74f2681c479803666031b6da4d11dc78704971b0be7a6b186e0d530849a56d20b453caea15a87880dd1c910aee5fa9df40854d35ec9a368687dd9fcb05ee0632be178467a40556078fc50f8934aed1e2612f5ca781f6a331cc6c53e4fc4a0a72dfa42b3287c8a298dbc811a3a165493fda583962f2a97e656a2098a768c3f54690cd8329c44fee1d0b78a23a84659e22c9a662bdb12dd30f632f94d36898248ed66d09840495572c11afed5c4f9ea9603aafab6e7d6f66468a67118c3359592b1e836f151912199be765fec420856f112ff9c7108d02806a0757dd28b6b9f1fc39dd570704c90dd0038fa182bfa63819445f2bbdcce21983f8217cec30d814d9784f687da43c9cd48ffca336353fb6bcf9bfbec2bbc66265dbe0e626d46e4b70ea4317b4ce0619566154365c398f6624d328525d39c8c611b1c5bcbf432f06638c64f41ebac237721f460b997dcc0db16eb055bbc786127b8fad0ac17220f589fe0b11575b235fca333e95ec595f73afbc615e303a87bef5c854493c26ed0022874e32589bb8141d726220daa7c92ca9c9cb5f8d679c7399211f44e649bc9cdea49bc050ffc146141d0ca64f9535e84f741b442088db669c79fc00cda2b1ac014ff8e2263022e55c2abec6ce0d6da0afa293970c6ab1baf19ce97040e806ead097898e7970b632768e14daa9ac2eac611a2abf09c4855518b59156042d3a789aee837fad0b66db50c42fee66cf18b231e16ea2e338ccd836ab55360d763742a776fa503ce1295ce72cec3ea22c4e2200fb3baaedd913808943d3c980100817724ff824a36e30b5610fb1bdbc6f4e6d7a6da4217b429a1b784cde34e951f8c26623a83e836bb088ee1fee2a5cd08c7b20b196a388b9e542811c5e218a4889c4b3e8d3130d0312d786de63a6a9a77d1862fb868105b4f56311464d6f8fc33cdabcfe857624d088286a1ef89511461235c0e87233ee91540e5c78015d4217d3130b6722278276843c6a6380937f57518a3ba04ac33a7b98410704b4617c8b393a21842dde3962cbb3f04b63636423159a2af074ad5e035ece79f7ac5ddab00ac39e67ac2183481f4e5fa2a22b039e0934aa25c595d60e45dc15ed0058e1125cc5fad729bc8f2bea475230bd1c1c1bab5f3fad5294c139c39600edc3f23a95bffb6b69ea9985fb31f2f37b94c0eae333621ff42595fbe3028d0a0aae5de52d5361e1ad00cc174111b58dc61bc1ef1028a1e0735c9199e71ac0b411bb0b80eafc098868101c303836244761a8c6126c54dee6af47e7c32ba98dfff87c71d3ed7412afcaff878516af114b3aa85c44c29e49ab446114fb1913f1a7e22bb5507df16c260c26c6e5c9b337eb0a7d453501526698906ade136bb67e0e24180e6e6cdb759287e87f711cf39686292947d61828e6f77b4f4dcb0790d56d174c5b471fdfc01418309def1261b04ffc2a985b890687d4ff7f4ac2850dbfdf18e3587fa17cb2769f6cebdb380bdc0c4e08ac361f415ca66375856bd8c4f949cface4b7aa319798122e909bc8241d6425189c254f1a021e1f7596139723ccd5ccfe5f95f2a2f3d78991c2c55493ab877fd0495b590fd86893763ce11d9d482369d1f5b303d78f85390868453e115ccde606da1570bb6d3aac6aa99ffc0ef60b5a96086ae3d03ed24943ad5c569dabb6a2a44c060befe9fec555d817a8f0f06b0459e9e216f48786263dde4fb89e4381fac8b4314cb7ac7d346b9412b94145b6127f4fbc466a296cefc249efaa76249e535b97adcd68994d1f2b287853c7e12769da8d0d3e7556469fc934dcc1f474e0b424454c813a2e41e230f581f811f9e67b2800da889c83ba6a16c3619efee31bcd562e443bfb0f2c0a2e304d02117c62f0fba72f0ffe50c548373494a01ffc5f84e3edafa7e7ae94c7fa27b746ed04cd1ab4f6aa6157f036e958b9e046b703927cccaa598238d6fe8de292907473b92f832a47f891e2109cfef446323a7939d0d20c873e870a42b75a1a8833982f7e0368144e76d01a3833ff0aa7be7ca0ca73f1508a991bbb0ce6d01631a7dbb11ec0c09fd8201f436043ccf80d742c334eb9f08924a8b5ce2b38a6f7c48f116778840c42533face4453c9f1d7d0c1ddcdc3af56381edf1be353cad98b282b9f6e5e3284f288fefc99fb4d090fc8ef5e2d3a5482d02a3698bb35c21799deb444c1e4ce4973f44092f0fe526865c156904b7afea2a3c50b3353b81d7b49232c4d3e8c12fc4b3a9b5ba11350100633712ed6f23312840956384d9d6b01060a51586edf89e2afb802c5bdc19e5aca5eb0a9beda618a743af7d73fab3c7bbbb4c22fb02441f67e5594111a3319980258fedec44da43b241b79891b7a6b2042dba12841992116ba9805dab6d8c12fee994dac1200f557bdb6b93967f1ce92010774ac07957d328b1ebe57fe8b9850a40c7e79d6d84e7004135eeb042fb54b6101b3c802b90374ba5ab15051142f68feedb9f514a6e03659b8f5efac9991be2223854657d1c432194ca40b55e6c92f3b712d643268b3caa9c98d81fccb495ac9569d7975b4627f8a2dc3eafe8ac8cb75c419fc51067761379281b26db806a97287dbc23a6754e4f501de0658744c402653014ababe8ad811048105dc22e0d479850700dab40b27f36ea7211cd546106f6b2653d0d9b7782508c0beb2b834f649eb5469f7975051fe489c45ece816996f24fe8d1511c7f1a46b2f619fbf8b7b0c57d69065bd76aa16521117b4b3da898ebbd519975df3333b34cb79cfc67b6d3a475f0273d49e4fe113d87a090cdc17ea15d097b5f02559d696c0bd5092394db18c6a3cb84058887af2ddbf8a53d77277c57c2f2450bba28376ff190a4e289a45c24c5c21b5b09593e631f8b64d7b0747fd265ace1298acb91a7adb98f53aedafa0aebee116d5f37959231e82e8a6e770d09b1a2c22d036aa73a2b6af96e541a2775d120a91cccd89958087e8efaf6ca833a47e18c27f077b667493935ebd78e4221ea463844ba8cd277a08770db71698aa49ad05f83eea71a1b57bf6c99c72f5ef0383e577a1a9cb461d51c3e6e32c67603739a6915b0eb2dd489ea7bbcaf118e965342cfb40c20fdcfcf813c111a47fdf08edcc6ad555145014cc144a19ca80ddce0564901e73909258be3c64595bd7c3e32b1d86495f7e08898054c9445a028ebddf8ab2d0b3d8ff757db1937891c4b4f71b4128e39f414447f8e287166696734fd6efa165db33c2e4e4cc8d26713ea138ebc7367443d13fb0d0660f49c0cc2095fdfcb0bf1fb7183a9f2d59b6e415906db71ffc32a307be248a7e7cb7f4558c2a53a334828b97b8252320b6ba960d99dd6fe931cc5a741d5dd12bd987224d6954f93652fdccd91426991e4c54d2a3f3a1cff14e2acb476a391b9d73f2731a863f22f917f46bb5fa9a86fc88169f28e1d40752388ffc8460c37ae28786997cb5badd6d040da9952e66d13f1497d883da076da89ba45aaf905046738d09a1c9a29e1d04667eb91b6336d58c74bd48bf7dadbccf26ea21d3c40f121a6cf0216f63393e4f2d273d281afeed4e8aee290c3771413e1212fbc6418450ff24a3e12b711eb01ad04b00870976547e173208eccb6421d3673ab31adbbcb3712fb5452212da65f68a610fc954ab573e22cdb19671c3b0f119c120be847cd9f42c33c6c459b66a91c624f3499cff20da6cc66bd90199572883b9e8986ce6782f37a3e138ec52ebd3345282bb424aa5c8589128fe91d157b2b6fc130cc7b9204fa7e2b12cdc0940cc2a6418703dd9e06446d0b7284f704d05282a6c692f6721aba03ccb2ca003750a2378932d385f0a47ad22f87f904945cec1980f70a82cced1c6d0288e2213afd57b26dd783886bacab77358ca638d07e8f03c53871af1a35875d75901e7655515fd3a46296872b0c30bf5e5bd68f14edb02b11b1584c12452a17c5ca0ba95205a46ad39e0de51b3a5d5d52001d64ddb963a4413a3e0e9ad229956032555aa045b1074b16e0aec9828bab26e95edf5399b33f26607d89a9bbae236f7ba2aef0b2162bc8ba9183205bbcfb7e6ab57c33e62b39a9cf02d779162bc725a22c935df7d70a39299a83a1ca9a946f4b3cf61f15625f9b1939c7347b952fc60c787cdaf7e7d6514a8725ae0fecf56aebb341338f95b31aaad1fef891dd20cf510bc421937511eaea730aa790add58cbc6ddb0f4e8ac8481033284884b2d04920466ab1c29f13b074feab029261a55f2217b74df7d6a36238d6265934acc34a6169a76d4131776946652d6ac8f152a5d74584844de4428a395097c849d2214399a10a74eb16fd16313a04486d69b69aa6d5147c04672aa650872d0d7bff7b9d1f3352870112e65804663b2165277a755f75787739b651f0018cdf017b10af838d22434ad537beef27160498f58c15f259f503cd8f6c6f0dc8d61b1adae1bedf024bf283c0ed3708cebfa6a26ca6bdf72a7fe7421f91b20b78f5f613ffc2b7b08881ff891811b064b445c8af6c3781662aeb5575ef79b263cf21a4856f7e21027290699fc4639e5941f8a5cc5ea3547e0b9047eb36a35eae0c1d74d6059cb8345753dab4bd63ab498d79b9dba6e03a0f94a2b8f36b6e2ba145715879cb8041f78ed0fcae9961348d8a311f11879f6e185c0017f34877eaa6cad065fb7da42ad3b8ea8991a6187d28c88f3b6ffb0ea8010ecc263f90fc2ae252b0e27ab8b8b8f105b351a44bb79a60610ffc205e6fa82e21af6d3809962becb980cd353afecd2724a62c712cd0330d790deb30cece825535bae47bede33e56e5bde652b6da7b0624a2e1fec31c63ad91f832726475c8c181fc36184ff0b9d315c425fc71aef23883f780f2c9a27ef8235903caa0d05061022a64b6a70f415677c0bbfa9f19a9593719841f4069e2be2b9861c74c0477ddac54cde0fb28d8ff048152291b58fb9d461a69ac6430c5aaf712950d68d66e0c69102a51064f508ccbf46edad40081eb86b4444d729c90f3242ab70a4e469220ff1dd188b0214252ce2efe7d6a8144145d6437b7c47f3b8a5fbb89b1601616755b74d0b4858502368516b602cd1ba800e80e4dbcee2d0d18e5e1afe9377c91cd89631a7206b57833d10c714d008d15d54e8d541c88a063faf6bc3651a4b7d0c583f68420cd8607ec9307f09fd2660ae060dd592c201976649efb4d13cf30fb9ca2ba89686da560f034b9a8164d9ca8b58bdcbcc70a8f99e2b72a29c8f4eafed35b0257e02b0822cc1e2ddc8743820cfb77d3d0939c21e135196bce7f6379d3b79b48a23ee591ee629905061f2d47d9a1ac9ab38b3e1f3532342c80c7443749b70d8701c3f86697fa9b4a6ce6af68272a9428773ea609f2df0595a5597ec8206d2301071bf85b6876df8581cd826fe707d2bb7e5018bca8cc1daabc41a5ada4129616a6887dcda7c12bd3c1e0f94252134997245b048a070b78fbc343340530c4650cac57110161d0337be0b1df32a448ba710e3b795f96873556c422151dc214564c9a870ac4a0efbaa0734c11187f22da4fc20711f5f6af734691a6536ad57722a7e97b13e7f4f154d5f22d7595fc31ada3c3d19280da1fb097ee18e4699854d8c449c650f226dded0654a039671273ed17b36ffa1351c4efcd99cbcef94afe70150ec0cff009323882a4b635eaac92b060e86ddb1328da312a6bad3fe9e616c75f5bc626ac723b75cbc26ef004894ec3b7e1000ad60a5528c21a8b08cd3739c0dab23509a369f0428a21e9c13af5a8566efda814b7ab4d42864ebfdc2d5ae4b16352ac37342aa0ca8f16a56a424d7d1392d9f02e04822beb0ccc0f36dc8d04f5456ab6d260932d29da60ba87616e17d68112c6b80c900597bc9181551ee723e7fc31d71b198d4c443d48ec9255315586f5e0fbbe07c6cc6fe68245434adaa123206f53b1f69c7de1ee4a678139641f6a81df570f1b1cf6905bf6264a5ba0ac8265b5d39494e0f45d7bb76b61e330891d0581b1cbd89dff660466c1d05283812f08b6a722ed8d45d006136fdb426bef0b22a844f0fe777056af9cca4458f701015612f1eef834478d99c042a1c034c751a9075884614bb04afbc881730f8d555acee1580dc2c2132365bd5fbf18a4905823c2d1219fa6d1dd60d8564c8c6438c5ce119c2330e700c12aa8cb44a960834b417321f5121be6ba8c49eb506ec9517bea5d2a3cabfda7a384f5147954ea722826945f68634ca1f964126a1bda071bd9050c6ecd31367acfcf5312a9cf45be2d60a9494876b113a0660492c299199b73603966170b7218198be9b64794cf89f8216bfa8a1ad2729ea49ede058bf67a4b6554b3e1007f7a3de19e1d9be4a5ba2e30aea356a24bf2ee1e20f11b8f8b936a4e95221065c74659c24b33f26b7bd23faa3c30447aa539dcb046d3ec45ac32a13cbc8744866a501b3ecd0723c2f5b90397712bb133bb930c6c508f291563ea08b5165097eaccc4bb9a31d2cb105fc26f042ca70ed44c3eb533b4a0f6743182a6beeed635d45a5e3e37f3b9a9ff81f1979d3bbdb75064de2c5c2689447d19cb164b62296b7351084ace30163554ec1b7fe20718a15b8cead1f435d6365180e9ced3cc9c1c8a4fd205b3a7e925da422baca73603b7edad30f5790aefc17a84a98438aa520cb9c8a3efecacdd8160e3a72c941c0afa0dc6b2ce85e3c59508565a5cf500c140ae77e0fab70c217e993e5f904ffb2cb21b340a14d21c40987deb911cf273e5ba067cf05aa88dc238503ce35cbf302adead2b1007c818e2575d4fd4867fa0c7e3ce2a89bee2057341361d42523fe7c242729c19f0f729312c26b1f82750cad3325ced095202c077b89c16a5822daae2eaa724a8dc2a794c1658cc2834e0ab9aaa4c8821a328a1fe2201fd630ffcdad3e6f5e58f21b167a0103055c3cc673eb4ae91770656acdad0716bab3a8ccb804613971fde07683ab2375ebb0e955c1fdb1823848846ca921e641a7d5e369ec1d67083ceee2d20d4015165c68b957c53c4f3af31db85a36434e95cf53a83c5a7f4b84476ffafc0c4ab7cbf85e0ad11d4f90a78fe37b489f9b9192e4d6132bb782ac2b11b646ac0366c2a45104e762d605241d0293e767b7c28c569468da53f4e5da7b37508c6a44b51faeadae9497ec08b3cf1a8e1a2a602f614d0a554e0c9d4d42040afcb6ee88bfcb8b35055619ba3389f99eda06847fd4e15a26453c20fbd2c03e8c653b1d956bf62ec60c4bb43cdc8113da728f976efab61b934070f2ec34da7c026665289748710326627151d8bc01978f93cb9301ceaec1789248f7e1a9b00af61bea1a6889d12e5a1adf61ba06d5fbf7c42c0cf5c14bdf6241100d8d4b90323d2750ffe92d8f207632814422068afa80fb858a2404a1fd29732da5b60fc92051f73e2e82c416169ff412b4ea2adeb0d567304e9a24260a02d94744b69186df7b1afed70869e035ba8c8fe909608e5a7430eef221f86798b50d09688b41e7bd0232c77e5db875c7eac766539d558a074e0f7972da26ac1a91b817cbb347d8a4279122a4809b985b3e9499a6296ea80754a88b67f8df55dc39b7a5801454c47f01823558139a3921a3c4c344acef32482cc8d05ea9df511b35da5dba3dbfd757a95c8f29f3d8c83592730a1b498df6701acce4641ea843d27cae386c8d0e7bf56f42040647f7f4d838664e70cd9a6063e93fcf64d830fc3b6c8a315997c68311a04d805aff018fc25d9fff94f26d6107b348e43572965ec3c6dae4bc29450119914a737e6ca4966f3dca793f4643dd37dd25fa349ac79ed10b5aedefaff6171080a04b8b950866e17f3d07eb291f429674c1604387004ced04fa51375ae52e330c2d48fea7b080d311ff9db0e35a9601141bc3191173f07ad477f56951e95a8e03391091426fb61f37a16e4a5ba83a32b320218235c2855e87b1f3954445c93da1439492b53ea1494b243a6a1bf349cd7749dfbeb1b9f0caaf5254e1306382eef4a6036ecb893089266aa7615c6a9172b726aa76a4603ea45d3b255ec14eb61dad2407935e483a6384e78ec9f8afb28e125f4c36846f738e8b7cf8b4a35df1b8542fc39056f49e93a8c18e2315e2bbc96f05261bc07231bd14dd2d9924c6681ff6dbb7ea8569491c90444b5093233231fbaa5824119b3f275410b253458fe98014ff5b4719390d9d1a3b430e2499809a9d49d37c83e4e024ccf9fe547d303eac8f79871564359a8cf8845b040eb5462a6f16058e30b615609211824f85046cb8a44ade926cb2da4c36e1f8c9268e7601edb4c580d11a9806886140f71108467c7d2d9a1f2d88e66b4aee2bdde69c0573fa60c88c701e7804c60f258412f834983ddb68fb1fefff2162ff1fa9b0fd22c2ab11a94a57ad867c30d080613022d23876df18c9928b1a2462f969086c4d014af494305d9012d556078a824cbbedb46043ccb12d8604ddfe367c1b84dda7a5bab6994d83c0a68d14004390b4736e0b215e1998318c484062c280016060c6acaef70f28f618ea9da0d27f98a21896e5b2e7b76d868300c98b01ee2645122953d20e0203de02ea026eed47ec54d586acc5b9adb27aebfcb0ce5c2d271f172f5acd4bf75a8bd56155a92a594e753aa95668689be55a902d2c8d135be3e4ad673f0bdacd89a57635df1bd2ef7eae498e32e6592ad5b29244fe833fbe2c0f4f41fad1900493dc7bef4db974184a47de5bc16b05f0c9fe3f35976a47ed06c4c4533c5d8e85bf7696bdd5babdd4d64f15cbd0057daa9bf2ff372565fcbf4a0ec02edae26b512d2314e0e2025d4c20ab4e55094b41766d2e910a6455c94b388034142cae173060543f554b75c3338d868c65519aa119ba8180b86b2bae592c554848094949c9bd9487a0213144d617d949a79f05a1db42472620f24386dac217cc62ebbadaba60b82d1551928afa6b48564cba5b18d67243f7d3ed61e8c1f4bb7504e51aba6215d100b685bf69f8ac082b027b7bb8c30461289e7c289655114b97e8c0afcb5f38902876a2c25291ee8776235946bd6561364ea3552424241608101f34ea0382748184641d3c7c1019c11a3e71f9900acb93d8f2a21325f09e2160cce18ca9844b279c02058b151445c897c2c404a760b102a3c09d13998d52ac22e40b114173773fe1f8844b580536518a31c6ee7eae7cba0e44c91e2639c78690c45a0a8ce2c49706086714802a48780a14ee1ddcc1187be706cf0db1cbfd5c1512c8cab184f395af10ee28709d9c7027d4627526232093dbdd7b4b68a48e8910f4aeefd8d24c2eda056bda75c1c80a62708465fcfff7d75ac1daa9a1c59952ed70d72f35be2cda8d2fabf6354f9cc0274e586cd9b617ecdfc218e1450dedc58c1a2f46c030b0a59abcad9d0a5add385aab4ab44b95a95ae93296d358946a37211a0ea3adb3ded75aff63cc1f50e83bbc853b041c7161ae0f34cd5a18ebcb8e1bbe1b6e788b45d33e3051e25a4880236a20a2a4b2482c2322342a1266860c4c8a1012c23563545003c1522f1f3c74f83253e7caa2fbcde7138344175001c874b87989663c6432c13c0c9e3b891f97069f7cd187fabf07df433558648ddafce0a89ed6cafd03ab1fd8ba176758a90a4095038c8d8e51a9df4b77eb70ca051811a47c10430546634161b07635025ca527f5af43b1038a1e141414efa327d739a7c7075616bce002697befc4458bf74c36164e5aa10293480db82417bc33a5e778e6ffffeafbf42751d2394efaed3dea44cb1eeffde624e79048241376506da26767ca956d8a5182c0c1e8fc829e272ea872c7871d64dea1c8ce5cd926e7bc4d5e3ae79dfd344b95f255ca57394d945238de535c7420c3901a86d30c1cac57a8efbdbd27438410628090c52c667173d20ca02c66318b39fbcf6061ad880e0f5766aac994bbf7deab7d9f989edb7b24752ae959356682d1b2ea8f1e55afd05199ef55bd558dabc658043ac05581725d76d96697946b6a699bb8504c21c74f48342a4fd20638a5ed36e828b8669e55877742f7b8f89e86eb507cb301af4fbe75c6bbbb4522110c0ac041d10ddd9828887e94433b343c7569eaa622cd74a41f1a3ae146453990f4d27399ce0d52ceb1175867c7347751e22d466469fa69d271b1f2388b8aca39fa86c941071df46ac506ddd0f2ec3c2adf3c31fd01852ce566a440b51211ead18f6e602829a8f251f9a884ee7ba26bb1ca08e3065bbcaa66df5a20ce554a331af20185ec4a758e6e5ce35d9f74433dcaa12019520f4da1997e28e8a41fed50918e3454e1bba2acf055d1a3c237858e0a5f1458855527ae36597d6a9375ee390d67dd3e059b6eacff574fcabdf7919cdcf152489dc4e752ca31f339430d8a28077a3288043ba147b4a783bd75a6b9d6746769d9f935cf7df7281b6b4da593af7cc67eb2670a8d483fadf7adbedd9d042b2458c9db6f9d7b74d0c3f76ca480605ba30d82ce4595d0410443511f4691ecb5cc02b4e2a01a4199ad65251a0baf4d2b8042d33022d6c13ade0643c13a4c837116b78942210cf6c1c6f1b2ba8bbdd8b8775bfcfdfd8265fe72ad9cac202bb5c5649bc2d8be5ca6ca5eae1236b9990d1c08564bb4902c534c61572963ca94feffdb56300c01efa76e5d83d40df40989c88fbe16c69a86977bb1d7c2d70703af0e0856f03f98047167c0b321b49c8a33fd7f1b40cb5a16dfd8880a2361b1121876efc504887b616e7b096cd97c6924d5522da5f59f7eee323054f787f9d29f4f1a2101511242c408120fe627453e78e890753a9d1c42c4089044b895e8e44eee64cf83a25672698e0f9880037ffe39f24a6ffa958c470cb90e65f3ddb0f1260ef3932365f61676486f2fa680f0a8b01ca613f66475e5caf20ec69e0d015c1b1dfee8475f7a3fea30f48854fcdcf3a47fa8d14fca7c94debe434394714345f7c60f0d371b0f2795dce4a71c17f40989c8a7a2c753f2f81acee7a177bcd11bbd91d3f41bac553f8eb75840784e4efca3a1d8e18ffc73ec4757e896e834f46b4f62e013ff3e1fff8c9dc7dd41147ff6464351f323ef7e7bee35a1e6659754faf3347663376e2eaa81d44ee33031805c321f1be303c661a8000322660519981e3b5307a9bcf41a828c61746b1cb7bb4380b858694a831ae469b2cb36bf0c7fd4a436f5a9577c73074d5cf494a67f3ee94d7fcad08d6a684737d4a35ffa15ca5114fa55f8dade2a7c2f8f0a5f9ca3c2d679325d9c7f9cef477fbae74ff7b8c8b9e7cf3ffde8cf5f69d09be193a033b442a28c28d3ec9cbd9546d3cac633618bba6c529f7cdb781f070cfdf3194121d146c5b0e379f15378fcc6fbef39db4a084aaf219d271397b9cce5ee3315698a875e86d10cb4ac845e2cc74005ab2a250d19894aff38a4df3c5a82bc57f5c76f5563a4eae254d65761ac49178bc8dba25c5252494fda518e725443b9ce9d7beccf7ba7b24d1de23ed039a493bcf4db73ef697e739273be0ef5a94dbd92d9cc2ebbd4a4711bb75173afbd348d6243c69c486813c7795e5983722374a641cf19a50c11bcefe4f5803b81a4979ef33ea99c544e638604cc561e642c3ae72e193844c116cb72cb5b0050030200a03d855dc025e135cc71f4a5055909263876c2632850ac00154ba1c254b098015cf32b4502666062a8b8fa8bb92cf4c260f54249f4f36b00390850820927a05000bff8bdf86732f5a9574a27fdf65e69e3bd1adb084eaa6880a267064a6996a6463139ed3afff65ed9d903641ec1111cd140c55c8ca064473c19976932946c637546400bccbe0ccc3a599889d762a5987ca411af54ca2691b572654638d7468eacb329cd128d39e4d505fdbdd7f25c4bac96c7efc8889547bc3af2dd11cfad91da815926436e248d55caba112bcc361ba664b24ed695b94e5a27b64cdbd4bddc7b6f0d650d650d67adb5ab287553bdab1bf3bf9552ac56acaa306bb17b316c2f7c2dce3e8cd996e1b0b5167fbdb87ab8e87d8ade4ae18b2dd5fea56a0a231d68900369e92087cfb54195c3793dacdcecb3494d35a9e202d9f97162809df0460b1d83eb5ed0ac7e8a3201b20006b8c5ba64d8bd88c4405d8f417ddaf667e007422ad91010f72a63a18590e8fbc050ccb8c2b77b87b3f05a77e80bfdeb165c68408795caec0667890d4a273538919484c2c570eaad47f5d5c57ebf775d07869c7e2d41ad3a28cb093754488053fefefd14f61795592060976d66d676c8aaaaba7c73cebbca9af468087c5cb55ef8c42e542dd817a8b67a584ac96a5435d92416405ca8c1fe369c6ebce1eeb570555df208635ce55c5517c5ba2be65e514e297d7f6aa12ef77df549898665221e8e384117a282cc47092c1ef8b0d309e4d3b93790273f32065e6e5a25bed8cce3ed6c6e9d52ba09e62733e866d929e6688ee648fa684d6b7a23351da991406f2449960fc0c4d01475c33f304c06115809e627433c599241802423a150c8cdfce493b99441140a85c8d2cd0d042fe0543ad3c37cf223836e824e1000f50099a59b607ef2c90cba598246d0081a45cdb9341748a689122446880891b30b113073ce9f101f0810e116cc75c8c04135f05bd1f55a719950ed2aaa8b9b38f293da074f9ac825488ce3083ef926f819c711e426c8a32303d30e1dd408e62747443e3ce9217700b310ec2159b83a5a0cc394507cf347fe9ededc7cf0f39394d91b8f273f3fe8a667f48c9e172a80429480201911c12299ec030a79a8d83ff2cf3dee9fffc8dba9e80d826038a654da1f1732abb5d2ac5efefa4a5708c12f4bb3dc671085c0e86502b32ccdab0a74b9170908c74a1e0b413111358ffea8a4295f5c4b00f3e7000ac4308c43619c071562657794a209051cce8272792c0c0305610cc4414086010c02411c4300424401e49c6273370e3761440f335d630d533ca4fa2ef5fe4aa76fb3b503c2ecd7470e0da234a5b3fc71e4e202232f48b2e60ed505c7cdd2081743a79271f3202cdce9290a0e30be5bcf351a0df26cfa0c8036ccd842e1ab9a5ce5027c54e5e1262b737a1518f520ead6c0dee9af813ea43c48c1d4c584d10c7db62047b03c55b7436ebd11f3eb10c0989552e29fe99fa4cfc0b61214232f29a7cfc1253e13cac23370aa7d1138ef66139bcde77d6138b82b192658d7aa095d5c9c128623e6b2fc726e044d3c330c35ade3fd1f6fa05179d271750a75cf76d029387158f3c66bff3860ec88294a145a127a0c56b4abd92961aa8a822597171d1f6d9557d908738acc454d4413674d8eb3f7c0a7334a65a3ea4249dfafeab4b43f79153ea7d86ee2c5108d8103bc767033a7057e10d7ddf5c4c09c63eff5955a403a775c7b4ec427b0dd3812617c2991e4762bfc62665db9c196cc0878e5e9b3e55c2c113fbcbd81ee99a6d8e20742d8be253067d587e24d2e36287287eb0cab5bcaccfba80b1888657ba89c183133e45fac98dd2b170661669b4edac1cc8bcad3c26c9b6276ff82b4427778327fc957685be4979199c2c11fc7b01168463b87f964517002ac85861c73baf6d8a9f29fade5616bacebaa14234e6988ca30fa5eae395ca82713eaa0c2d95a1facaafb033bfbe4b28ddd75ade1b4ff872db6ee51f49959637470c8b767657bd5b45d4597ad5118ce8e9be4c6edb62fda0438451e5ed8b1329b769546c4e1397f2d02c096e2f5cb443b0f3d569d4eaf9f63832d075aa547b1e7d3fae505f2a1cbcd53cdf0f41710e64ea60acf64e5496841c4af9b4d595439a510f0e3fe8b755fd35f9d062d58f8974dfe9e67ab73067da58ed8a684cb3e2e2a28e022fabebdc4181d7232953462a4e7fd1bb3a80615ed5f78c8045b041c97fc10e88ea3e9c6cc07c22c5ca7cb3661eb9e2a44f1a65fbbfde35934c56fa25bf916179915dcea4f2c84f093ca044106e96fe1c2f377158da5dca70acf462a62b9b473ff973461bed6af3be7e8780d77549a1db84bb2c9447dcf77f11bcd5802c6ff46cf67e53b2c44e88649d6a25b3082aed1589b8b82a52e2cc43d08716f01976367ec60089ae2f74b23c0430bb3e9fcff833ea65f7546dfbcab6eed141870741dbeda17c5a66fe985c607c554521044da32496a355f444ba42fa554fe1b5e00293b1aa979920a74442f85c92fdb69a5f7d56f299dc684feb9987da0bdac870d0841729d5542d9deaf1005d170482775a4bc0a376f24f3174e3ae04d116f00c0a0ac9babebfca638ba856dc747300aa9738affb653f8f69e8d0c8b32425b5fcf38fd7d3b6e9ee0f614fb24f82ffeca35d864b99501b7c35086fd64038a25db104f2450b95282df249b0ecad7bfcb92bc7ffc92dc3a90e66a1023a672fbd1c340f2edea95105a0090369bf602a7133b0fd67853fd03c24b4816c8bd23b6908920581f8a6ecc235dcb2edfa169d7495981283e93fd53af9947a8136224e35c616e7a9f549393089084e7fc31ecad49d4c42e1f0d39b11d0af0c827e8f345ba40f269315bbc60c0463a2e77764958111b7a4e4b24daaecab128e4d8266819eca18d57bec54e4ba05852a43da77e8812f5a81341fd6b892244b55393c1c43e719cfe1d3206ee16b57e6d41c78af42105e4635e30ed32071602984bfcab2822fa0a718f9dee0749d41d88be9c1e5225b9a63c43dfb33260cd42828bccaa61c70018055779aa7111b1345a0546c52481c13ac1a08f116f32e98170e5d86eb849e7aacab28da2b8757b024667a05b5ed6f0ce39d339e6fbbe798e065bd977cb2f64ac236896a9d188ea29dabdf863479881971be611e12d2ac59dbfd961ab5256ccc3e2bd56f8836151ced24c466cd878ab3f6f8db3ebabb9adf2776461a0c62421ab30f08ee7a09a34c6eff048726eb02cd63b3a2f9b8331e29fafb9e9a45c8c562a2d5f287d3899a807dd6921f186e24fcc661d2536ba970297f3f32a23228126a0c6b9f21c4fbfe37e602aff80e5e61f1d89f53644622bb911c7dfd4ed86fa135841235600028962369808ddb03d69be8124ebe7ba3fca739bfe9f0da8557790b6e237c7cda46ba4fad1a19f845c7913ed2fc7903a2537d41cdf74ee7b54cefdf5ee61a93857ecc3eabd5e295b48cf792130d6f03b242b325cd5602e0c08e0089c9ba5df276c6977977fa5f7b3ee326e665bc21abdf7bd3c3e6f75504dfe87479e7cd1c224ab3fa40270264fd7253c912745ccf429ec0d7a4e0ae148d9074c89ae082e795faaaf7bae53851058350b3cd19197d78a2f9c203ac8781f731f1b3a60a8648f2cc22baf7571e89bd6e5e26ca2979b7b746496db14895d726bb2cce459eb7edd9eab5441a1d6000e7acedab2211b48236a3ba7951eda53878f51e665bf2b9cfd9bfad67c96bc14c94957acd4bb384544f2077915a963abe6b273236eb1c23aa1253f2fa5cd0db6dda13dfcad562c8882476909ffbb69edb00f74830b00fa0db89adfd8ca692afce6ee89329dca7d3c3fac66f38d4ace5f53e0b9954ffa7de47967cd4f2c1f2a891b520cca40ca2f43eb061166a0a6b85f4bfc780eeeb072770d0e73d6ae7c69ab60ff632d50b3dc5387462e79c301ad3227dcb1e503deeea0fc60d4320c9b6c33fe8c1f19198d6b09c9a9b77efa4780eac639128817bbe85b8d347af32046d8bd10931b9ec93302ba6b7a9e33c1919d37ca5a19c6ed206e0c16734303b7ccd10dfd227d013ac122adc8b99cd60aa05e3f8545beb9bdcadacda76e23263bedf758bd4045e46018f06a8648ca623f2be6ba4654a2e8a4345cfb0b3be676ef0b5aa5b924e0241d9d2e47d9aaed32fbc2a7c287abf59a84965aea7ea907d747b22ed5e655c48a1e1bc89c3ee392132967f7e29e7578cb4724c636247189b62f9b76c39e2c9c6e85d1254ec909ab8c88cb86eb86eaa6f407da44017df9d15201c059a8ad84d2dc81cfbe16bd5a1ea5c8b06e05018114e831672afdf3e60f06a64e4910085330bfe10ed01b28e25e5ac9badff8dee16aa93bd7c683d79f19884317860b6003d9766e15e2ef54f4654f0be88e59843948354fe3d7d1871b52de7ab85450495eaf537dc7bdbc7e2cbbafb3e87fa4dcb6ab2139992feb432a1e06e903a4b16a8f52cdcfca54c809ab0f6531b07f2420390dbbe685cf2df6f2be9b3249509c5ee6daab21b05629f3a0cc88c44e4ddc3cf8b6971013a90d80e2b0d30994c2981baea8340ee08b4bdec01a9f06f21fd98a4de80d2171375da76ea7d6f6f80b21b3c88bc7e4fd255625e4caf2e598e6519280f2078f4c7864f18b52921c005388d164146a009b321e30e9ee43e0ca588cb762659d6d068d9631fdfcc33f3f45149ed8a7ca8b73bbc784314c1a918d522ed9dd2fc84128650cb171b8bc9f4e2b9c764d167953db3cb4cb8faa6f1a5d189a568b7c20b43343e5a9829e95eaa14670c3e1a0b362bd99a346dc2b41905187bdea43b5b44c1677971661679b3ed92c99d4a9943e378ca1cc545ce23b6ba820ab4d14dc1e5c56f922d53dc6eac24b444ceb7ba6337774c27c648094428ac8211d2095c67065f01eddbcc1a517c54e780d6f0edc2c43e516d04c1540ab5f8e600bfe1f1e054c2659654c5a17d34e6a0b80d2027c1598ecddbaee9a3b8ed79f22f1ddf26fa3650762ace0cd7b8485f75eddc25e2ee1b07de880592798fdc47616cf6dc85a891b47cfb9dd528027d18bfb1d892dc1fb9c4392ddcf46b4df086019ce988fff4331052a0f12307a96b73a2171f2014ae5af853147fe4cfcbf4ab900b93abdf80787efbaca2d4eb253009c2cbf67e46921dfd083947445e9a99c989bb30973eefd2d01aad68910d1ac8f1a4fafe534431387ccd5b005aa44a29f149dd20bd378ce07ded265c6f40c0965bcc9dce384a05a3322508b699f5ec117be88cea1043f95d4a467f95da36833e4f0e15d06e3da6cf39f38903652cd85ce608283a05026cb4b87ce11014385626c9847cdadc8a5af862a432115e61f2dd407983c98ba6b66128987e0ad2212cf96846558c4a66f0e010f54a00257e94b546f57f50879f9c3dbb2b0ac03895cdf27e61472544d3412907284074f77583f109c40f690a9694e936de95dc2ad7d9819c643552743cf3435dc28a711734fb177893f39ad37e3004f27889965245ac4cf9af881d75b26dc9339fd3c67053196e86227368bf661f478e784e1c4b6f61a1a199ed4a3957eb4b3c491ed75d4e593b5f4dc6a2c185a5c72e7074e033c4f18c309efd89c6482cd8786c049bc51a16515169c31faf4bf619df3de6d7f9ba060dda6cc539482baca62602140f71d9edb44ce03b09f1a3d88a88ebfb72e7771e5d948af73ba699e644f9c725c91abfd83a2a1e74ae0a7ba55b45fc30ff1862d24ce10087a0559e284c1473a23af5090f785f059b35e06e58b1f393925ec0a5d36b3273b5a05f6ad307045ab75665761fbfbc45966eb5b609b87c68105a6a05c146ea1eb1f88a6c0b05a9eafa705a9afae2e679876a1df4be73dbc929bdf516313b9c6c7b0a38944457026e6635608c53f317ca480b0d761d9091e2c863730a9d5796fac73796063755a9d9bf1d16bab2fa6fd51b7550ad1bcaf09bb67ca644624a909592faf418da7d774762cde37274341124319f3f11a733df505c89d65e60ba49e6892a6f5d8747137a911c96ae03cbea3d45b8264cb5c177bca2b9f05bae0f65e9f7da6258bf9a3f4c09a412edf4e90cb4e5069d4ec6f479e79e645a44bcbba19c29f7516884c71e6a085e63aa493a1236af01bc1ca2738c253d8827f534ed2aee8c264e7a1e86e419c10c6fa2ccce28f4584894643f3c25a19f3fce22ba2c2bc78b2c8b6da1c07293c722c19925cb7032dae74ed32212f682ddedc83ba3f75d8f84f37e708b91dffa1dad367737bb47bc7c3eabd6ddeda0ccdf8f6fbb3107b2ab27a1aa8effa707ca9ba94fd3c11318b16eaed61566dd95d6c14b659cf5a92662f0d7feada10740e7c6335736ba359de84ab80a60c0f177dc9bb285591e4951a10ae4fefe39550aab14309250849d1122e04c8ecf7cb7b99bbcb9c2fe35f06fb15aaed6351138120e5e51e6eb3335bfda0533d8e62979f32eb178cc9c4875f093e6773181084000a959807cd1d3473958a9f706942eadc2c2460c741cbd169dea8ce2f82862ab259482a813549486361c227ce3f368f738fe6dcc972992a0265ce5d6b814771f0fc3865a6c67550e74cc0419f06a6932f27e8d3db9e9b666acdacdcb5e1d1cfc1081233d573bd154b93017c77693eac2f8f5226e4ebd368b3b2df15a4fd4fe6d67c485e0af549574c32bb3845a4d2aae9dd1f9e42779dd4e802208c5c41dd489fa582337a8baf7a3a23599e8b5af347f055ace30909ef3c7c63e736ee07d0097718e8087e3d4763eb5dd58d70ef2cc136c73922c379ff608684ec11732cd7306f7a9e75fa9861a9c816103fff18daf5356801e098cdc6b492294d6914ea04cfcc872577c0e5ff76f29bc58bb5490a6ece8f478914980f5ac91489f4fe08cf2fe1803cee871b0dba96e7ac2d1cb557cfce2046639bfb5243cc2f883ea9e3e4cc94c43f7367af6e2b17f5bbd2fd7359a8d22b7e771aaadb7ac69c36e77f4725f12e49b7d0f1a987d72e236772512be5a2f410e4de62071fb6b5e2cdc386cc4af2df3e4f37954b5b4c8a41047adc914a3bbdfb3e9751d452ccd59dcc6fba932ef640087d097d2d7a4f1b91f679d2f901127a51325423a028f2970d8a6a2655f7b2f00661fdec920aa3e02cf52ea5000edc7c01a01ed5a5454662a9f2af3415db7d3054be35bd22cc1bd48b54ecb45e5df3af2289ccc1f98ec31f8d77ab817a526da2fd24e9b18f0c2ebd2c49747c88634330713eaaf7243353623517936d842c60e133511bbbb5cf52127a2a6265601145edd241ce4769af28636beda7448680e762d1d1cb5dbe59310a351ececbcf904b9c7200cf0854f8227891a95a2a2405dcc3d3f9c929f42d8220977a06dfb3d155b700949b064aaf6357e0697c6da06ee1bb21334b86978cea8f01be82ba39a6f9011cca45e5330367a6b60a30de0c3dbfaa3155bf5a6670b06e54d23b62b11ae85a888edb9e59aba3a24d4ade59ec13d9d125ada18b69044a65aa04f5506e61b68005ab5b188c85c1214fbb2c6efb8904c461f9eff160a04d10a5950289b1b739c3fbaf059f8a00c6341412947d3a7b456d546115dc60b00fb1c66141e1e25e82292e23329cbdd4e920228641a6d9bfe0d8ecf1ac06830372c20500a80edadb98333a02894d1a5090ce9bf46ad10597d6518f015f464c06d4cef99b47393340024307fc310568f1307e1070e68384cd983a4bc0e2a2e1de3322ae92ba88170939ed039a514104c35f444305e04a9f03ba4d5964863e79ab0139852c07e6b8d0d944c61baa147ba1e27606c9940c12d8fb9bf59cdd1c8a459c689b8b079232e451732715b0f305e5e0851f84230689576923a798a1af4231dafaf4579e998ebc378a17c4ac11a56e53e67b12e94154f91c6dc699c192b71cd297f6ff8f74f032565352b91bf45693428feaa2cf2b112e708cd1f486e70cd419a379bb634602e84110b9b0dd99b484d6882a981bd7273b3d9f95ceba8e15583eb82f00935bcc7667d055215bea5c681c26192881325d5eba741e1130166948f11e7fcbbc2c90cbc8dcc954e86a4ed4f59448034d0d18410e9a98b808b778f0cb9dd522102613bac336df78f8c9cb78a500d57923e46c3b7f466870006325a0b7f2ee95e0722556ca5f1e6d8b890214099cc9cbd5a6a04e49d646102d3dc8207a6a4564424810705a47dab812040ca7e687a8ffd6a798cd314220288dbbec3de1898ef4045f3c5eef664f3e8c2ecd1002cdfbbd6a6efd8855b2420e723e8d4662de4ddd131e372d8509a2ad5aae8a56d017ab607c8737e54c84f4d13e9bea5f13cee695be3fb4323342a53828dbec532e5961a98e7baf12caed61fdaffb2c8dcaf223826d7da6d23a2c44f18686d2c2d6fc9376f726e32ebe2d62fee38c7280fed53e7a4709a789de9207a2ee1a15c1b2044239733c9759b758ebcd8672d983e292db203499cba7b8c55738db62fdbf33f17f2c519a9073c340c00b858dde2df2144c3789d27e0f0d1c9d68b8ffbd35207a726b94d71f51b60f53b16cc5e187d2a50a006f124427b8ad4d57e33f93b2ae290eb8ab6ac01d67d6585b64cb951c4d6904089eeba73e44b19311ed5e6ee71b967fbcf4d2aa88e6d8d37e98507f0fa071b15f043c6108087e289eab57f25ddf3cd53440a8cbd002df7823bb54565a1ae492e1fb2d9c3786238c9399889287518b11457ec9fe85d907db1305459f1e6b0d27bcf96fbc9b74d2c731e5fc1bd7dfdc3a44243820f064166e079ad402adf426e31468be95a245d62008f7c7ef559577ff1bec3f796b7b8e2b434b56e4a468910ca35bf8a98575cdae917aed908d96506a1405ad0d2b853ced9a4e1f71de6840a5a0c1c110949eef4368bc9c1d52b40066787dc9753eeabdf7f5a8af2ef41d73f2fb35624f22b4e816c0f0a3c33fc48ead27eb642b91b38166c1906866a395a08fe98506e22ede5571923a9d6bb98ee0cd2839255edf41b8828cae0b7354d924e1a8d353e9621cb57d4997f944262368737e3b2d656da5da9c6022ce820949e01a27652a28b3ee8fc4485d42eabada045b8049f9d212232810a94a4385cb08e12be4af9700341b3b6318d44b905f6efd7e59d6247e2c80d7a0bd4646f4681276fece6209a37a9af3fd011c818ede3f474bcef08cc802ddc2168dbecf669d505b1ab377b0684d0934a66b5c57758880a78206feaa230c496306f212c214a492c3932618436e00f1ae2edbc38bc60fab9f46dd16b5571c3751e7e249e3b79082fa9eded7088e1b421485db26f2cd3c81e8f092120c631ce024340b11cb8fdf807accb6dfbc4e0e7b3a7ce7501e7e0a7b4b5860919409042b9a291f004b0ac1747f046243b3105a5b4366bd6578f3fe5954c8bcd9fb9adfb3c2bb286a669be3f8eec8e4435f496f5724e26478e35e8c8323393ad4ecab703aac180fdd77737e0b3da5ad8b3a1d4680c44b6de81656987aed7075bdf6ff5005ccddb54e1f2618bdc9d2f9c80b5cda4ec27d40a4b997bde5d3b4fd099c16297ae81161441c897b4d8d736a51c5b874b53c2a5a4ae4a4050616988012314e49a59eb8780f8421ea43c4bae01c50f0cff042ba9fa2c7f67bec67045cb18ef18ae16d40b38394a8727e552ae3a37ad883f92b1ed9bacd76eb427124089421741f37c0f6fd3ed8789ece82c1164612b71386496c27109bd16649506d9c4d5b9c872e2f9d04e1e13b6555323c41f380afdd93cb2a4419694f6d4b88c228e86d2182ac878a272025b2d57d95166c33303b74ead4a9ca6c0a3b07057fe061cc3c6e28fcd9883321241e5304fd3154adeabe69ed9ed1cc2651ef40f1634da1e32081be1bc2350e811e5dd2d41a6a265792cd25ef0b148f6f8b5254612ac901a8c9a2789e6e9ba5b24c64987f38f005262b071d5c481ac0f996b8aaef87a2df6a099a7e387fd5f7ce5d5d19791d6325f2fd25c5c21455ff60e039cbb07f0d4486dca4cfe5ab97bf831da64b8f2e9cfef4e62fcb10823ca418ee6d9832c338c6ce6b3e91035e8d323d891da5376156449c45ea251c6eca47cc1ae23190be46791b155d1c5da7168fd198199aee39489dc266aa82d19f778be6bbc489888c0e763acc6bcc4c85987b5e7399a7a0ac57b734545f991123d8ac513de4c2af8743a29835308c05ea757c69cb1935ee1b89598ffc64241e159bf4ceea21c64463e68ccdc5d51a19e5573bac95379394cedee4c1babeccb2030bd69f040ebec3beec5842a2bbacb7bd50f746f11e4a191aa4cb698c1dfb43a7270f6ee4f2029a293d4bfef0e8a23358e61213531cb3a3c31242ca4d3e2da8d6936378b510180e75e9374c5d27f4f89ba0e9e0e77e9d2021ec968d532284aa0d982a3a58ce56651dafa57899fe82167ed3bcfb8a846ec80387fb57092d93fb83192241bed0de49369f2ce438f95bfb6925d562066023257e98eb65d109c41f656d9699a7fc1d28c37fa6acc224834557803fe09672b54acf752e08f207a65918ae53aab5bd020935969026c733567a92ac4d23d3764a52138116b420c942e1efce2a8fd21ad2a2ba5124d25dea493f5bb7e535211b554cee21caf1a426244fb24980321512987246b44867efd2d128674458904029152ec04dae90ddfe65ebc11832af6433a8d2bbebd7fc2fabf12bd004970b12096e4679b1657257563fa4753aaa924086b98b8563b5e2cb43ed4ea9618d3f02d9c659c87da63e43e70e2a3bcd258dde34ed67c6ffe49eeb15ffa90cc13fe3e954c9634e3f5623530d038f0825e254974b93dcc827de9c9b2d0758aac95cf0168008314267b6a463dc653b43c570aa3ba7b305113d96a6220e187939f83c1c31683e768c162d69dd2094da9eb35c41f2a81547d60822ec3c94c2af28a3f0d999662eec6c65d73ba737eaf4877da6df898b8e2057a22227c8b9c98293c7321a8f6ac1c89ab6c611c7195d184c09905fbb72fe95359bbd39a021e1545baf3e5f3115559e345019760b53552572d479809d04afff6f6c2d78a50f08b5b07a0442e6c4bae8103c76282f0e8992a56276f0f4a23508ba649c843296242d56ac8707d8e77a65e8bdd4b8559de175ab3b1e123b2010ea745b8906cb4c36f27882af1e6bcee52536d85ab4ceffffa5f9751ece8c4e40c3eb0e5d9f579ba613204ad1057aa3355a96eaba49d292b5fb3786f904ef6078f71f247a5ab394758f7c1fb1b068f8cef9b810c78d9fb1e9ab25e229384fb79d308e278e0c60d327495107e2d8e30e11b653353d5329246472d36b6d929a34310f16a393e4059122b00eb4e0229f6e43b8c41bdfa456e977ab7d85967d76d25369658230e1d6bc8279f801893279ad64bb4d9779a7bb20d3a89cbc954474726caa0f95e792336741158e0ccb3c489b73ce162748420863a2a86a46cdbe65508cf7eda7adea702ee8d2ad82cac706dd9fe40a486faccbe1f4d386078e58784cd0955696c4efaef3d9f69a0bedb3ddf5f5a8ea26e45071a23639914d26e3a66921bb460febd39b026eeb4b4881098e08c579d97b507da40cc9cc7737c46baed0ffe65c10192d3f484fa9f0dbf3bc085c4966f8839fe3485a9e188d4f5b921d10d50366d68c67e239a8d7aadaf48501e9753c9ec422172b8fcdcb9f61874e3f1ed299e854f08d358f60ef7fa5e154ba4bc78343c3b5cb3d715cf9f56ecc7b014fcb51fdd8915bfd2b08f3cc6619ac34cc43681f532e567864dde4a0f6e39cc97ca9574b152aa136b132caac67244047150aca8d8fab63e6b59f6bae522aba394fe533977ac6b68b45ac9adeb42d790f571cf5671af6814dcf4f3534ff109588bbf2abcc35643b9ffc32589a54c40768843e756a32267ffe3f7ae2c05467184260053f16f94cc344b9a54e496294ee1c4bec245f1a7f7c5438c2905467cbcacb67d560c85472c5910aee8ac71c0b4b851d31549c012afb34344f4062157501622ccc05ec1860af9906b5fa71c73bd9f2aaa9e6f3bf39bb240d0e2dc45860f2ca081cb37b3cbe1b1da4069cf73e3e80e83e747a8bfa3348a285f47003cbaf25697bef2db79449a624034f0314031103be052dc0bd0bd06567f620f15df5969848f651fdf11cca937c64a594ef62722ad3c4a47ca050bd26f3e51feac8d1d948536041b259126d88c81613aa15610b4ab1380471148b43f0b3277cba3804efa5234b44f2b1683e871d1d39ec7bb70ef3198dbbd0dbcee11307699784d3d15deb96a81253af9753e27953ef036bad4aadeb1de6fd930b562fb6145dc9c171eff5baf4bc9835b83643b50db5aab3253991e2b458362a2543b090ccc4c8aaa2373027253e45c2c227548a8c915162b6583f80a8543436b91c4b2d86ac46b2cc2973cdaa48ca6614a9112346648cc4f830620481ee181c86f61413613886632d694812ebc6b941700c7b7cc41c3e8192c128d68cb5d6ff8ba5a04e0f20c1425a993bc81e4c922a55ce2c9cfb302d1c17f40983ce62aabdd69add5b058a3149dedcdcdc64f044a436225c4a3eba99cf14af52dfde0f8361c577f40f8fb218a925284b6c46797c0993077d0ceb28fe38daf17447d4983af57c57a696c4c80929a650d9141ba4f844115b1c7d1ceb697cd46853e325c72f0cb34a459298fee971b916eb8bec61c84889a2225a88f6153ed59b2f6d1cc2a0e3716d4a7b2000cd42efd036e8d1ff300b6a40b77ddcb0ec1d7f60659b261f97c6482630477396235dd293b3124ebaf4a272454e213237f5460c1f328efe462788ecee43c6aefa90b154df8548d03447c6a923f825e4d7be5a7ccc5a4607ffcab0a1842326c7f4325ed813978b92e20b95c0231120181486398837f733da7112df409561523246a4cd47982562c20c215396e54c0f33320f042ec73039cc34fd209780a0d0508d610010e282081122848626088885901f4ad0cc04051043c60c43e82032e69c6b6a88a0914f60d4a4b258815a8acc08d98c63c48c00b08700aa36063899c10a83b20610c0884d91554d267284d403a9a866411a72242c5215dddf4529902e770aa50fb3f86aa346cab95012ca859ce6434ca9530a854f7dd4671fd5317badbe5ca99ab6b2e84736028203aaa60ac88fd273493adf551f72a11645ebaa5614fde635dbb7ce1935ac956462dea3e2a8328d3883560a1799288a5c645c84601837ac619985a2a3986da75624ab3e99592e9c9669da1c2e520e574c7d91abb7ffd8653d8d36a8c7e177fce75a3fdb5aeb3f1e5a64706429e28a39780dfc8f600c278ff992b3015f5e5f60cd8488ecc9750f131b89ab9d63b2233bc702cb9a8aa2e626669220aad0754effce9328d9a685f34e7a56a30f121e28a38e193b58dcba05c1127fd639c38a09d3a1bc58cb56b8f202755d98f5fc4dd6fabd0c188f693b5d792577e89f5ee13fdb26adfd6fa244760af5dbcfcfb5562cfe7f3b415abb224b2cfe901b6e962122bfd65a7ace664b33a55585aab57ec53324aa562c02ccb0d4a0046609306b8009235a98fd5e40af6a1f8852ebd5a9ad79f41057fdbed3f7be0f65815ef86bac2c16449bbd8800eaa186e5e50390a5347ff67e21ecbbad6bb18b1e4113199aa8cb26db653e3ac6ac6ac3a3b5a2c6b8fe6664690a03d343001e7ea089ffb45e7a2b9137e8ad367a2b97ff378cec61a40e5acbaa70b5aaead488ee0e52b90aa6bab1fe4884b39bdb9a1996aab4574f304b6dd0bba54ee469b56f6dad6f2b171f4396669ba045506b3e618f18e2aab0980dea9318f4a70c44cc9e9a8db15ca9285b6522187f62cd575367b1d619ad8c880562692831f67d7846efbd9f68511915fac9884aad974d6626c86e6782e45d7cc4f59ffc2244b466368298359cc39acf44da949649b912a93c6b5c25ef2c4b5d5d95baf2f431acd5b056ea74a95b2a8829e4e6f6e6868bb07a420b2e84a7380b4f4cb3973e4d72c6beaef9f5300fdc853a32482e244950a5c2397f2cd66db54812f6cf3b49fac50941b87c3326e89a318554ffaeb00237daefeeee7a31bef4668d6e5666db7677b544c8be4f269379112a83069a0c01172dc34fcfc55499d582e5d86aedd87f14d74a3dd65a7b6d5113e1c4a854b102d6dadffded7f9eba53a9e96d41d7bfff3e981758ac63b05a8f4470d3e1826c7f8129b8cca9153f415c3da01e9d4ee909945dbdb5de0f08661ba814225bd7eb26cff96945ad3395a6f162adb55ebcfce87ca1427794e9de176ed770ad6d6df302242689f5cdfddf7fa78ef7d5bc701d2997b4e4b4cad7f4db5eff7bce935cc977ce7326ef795335ebeb6df7dcd43d1dfec2e9b0aec748013d484ceece33c80e136492ce1860ada61a3d38afbebc6b1c9642f9790469ba7470e4eadaaf2fd7ed40100cc5f18412c5cf9fddc871013ea6bcc1ec2076761923d2d54544b5e66f304c5f2bbededdddba56eaa5161addbfca70ad8fbfaf820f3efe2eedd276a7ee4edda937edd1dd1dd74510128c3ebde29f9dbafb7d12c56fb5ef9552da5b685b685b6add232a484c12736f174fefd68a26a2fdb9ae8262a1c48b221ccdeebce72c6f5eee3e759f5e27c58a695d045d144131fcb667101959dced4dd89e6eb69c5675c418d31b2de47b2d3d532149952a6716abd539a00c1191ade896c2386c5d5f2e49a774eab12451bd6f2b72dfb38ed1ffaf7740ba99506d49f7b556db1be1ceafd91ff66aa0975f0be2bed77afdef06eaeadf349b1afbdcbb560b97b4439976ffefe64bf92a4f7cfeeb6beb16b72d6e770bdc088eab30e43feecfc72abcfc743185509074c41504e7136d378eb8d411499229d43826e95aa9974e76a4b18e74403021a1a19efb217881fe86a015af686f0862ebd5d268b4a1a6596b2d49121dd974b79ed111ececcd4a55110ea90bd3c7646feb15f3e7556d9e42450a14fc240ace7dd697de5afb4b4b4ce38fb3da04fd24044f39eee48ce3a54e47841444db2d31f56c3422375f40b0980d0d122b9774b290f07266424e6c4550ced64e4f06ee6e6beef6bba047a9b273a7f1dc34342c1612120bc9738dd43934cedaa1d1651b272a75494abc06e29d42dd44fb297a11ed98b4f44ca0a29b11eea8499ad050cd9e58fc8dfd0a57ac9852a254f19dbbb7ff33c9837c1dcbb2de8aceea78ba2f7525e9e3891b1e49da59cb8d5481d89624abf1989adc2caad9dcdd5fb0a0d80c894d92ae95be732d9c1d9ea6f5d0cd28c789cc76dfda7e37ecb6df05fbbfcff7fb29688359364949baa0a4568bc7a6e5e491b86da7b4447b4c413db3877ebc66e4305b93bf3ce8e57adcd18954bd36d686886c45aa58906c26f48279450bef4565ca0abca0a020198fb7be7565f7ab1dededc81dad79bc9147a92362cd33d1427a153c164dfd6ed79e9bfee32f5837ae8f7a9e9819c87c6a52a6340e4a142af6c1da5b1083d6adbb7f35df9dba938f5eedee3e3d5d762e4797924ca596ed7cc66b2226a7798fc85674b33e6bcd5ad642b4a1faf312faaabc507de5eefee515cd73d50cae50ad84218f8f9f2355aa9c59acd69f77a50448965af7bce2bcc8ddc5244942b341fba7925bf36753ae8a00fee2f08900029846ab43393b3998866938228f57c0027902e0a6f2af5499ccfd17ff58e2e0847f63a8e861982b7467f434059689291187f16315bd91391507b1fef3eb408f541586516cd20462d8e4f1665a95b316cee75a4a80eabd2551cce7be9499a9116d17d72349c1577d4b5fd3d75bfa788ff4d9d565b56a02f64a71ed2f110788828c40ca004f05bbe7e4fc6892fdd49f7b7d840913919650e4cc62b55a3939a0cb9a3a5bdcd0c86ea2cb1db991a1df8773216f92aa9c7623eae88446214e5ce04fbfc9423e03670ee93ccf1c0f4f8da76f33d7716ef4abf07657b3dbac698d93115d46aedbf74cd75a8931491138a0d2726eb5721a184b276ea8b43ae3a1da82a8b3abc360762df9802e8d785e7cb17c40604891d5cab93a52a5b32bdd9204920882fd38cb0993a11d9d2542f3f3984b1ab106c1024a6416aba4718d24f9b4cefe6d140e2381b2206d531de212dec692a687865f66be0873964d3cb8c33c5265863fe1ab7e927b6db55edbcd31baeae463caa1077e461c63008fc7e125137482092ad0d5b7c0def33c6dcd3d45da2956708afd390c74bee878a9482e6280c17f8d0663b984b841f39e3efea9e1b9d975263ec16b7a2a1e30826e2b6afb06dc6a6b2ef87f450eda274b4cccaa83319f64f650f2c1a81a830443bb28b01365749d670fc67be3c3e48d2429540726814aa512e445629a208dc42a32ab58d96920d0274fc42424982fd8e335d39030c8d4494a01679005a0a1d3c5ffd788218c98ce18f9221fe26cc29b28c248a5a78ce508638904f9247c09a358a3328a4e98308a423cfce1ed84513cc25f398b28a030ab4c90755c55a972232304ccb479bccb036bc25b4d0ebdb558f8fe2a13c90108f91ccd9f63d94c00d4ef2075568b764282503001040f3871a064406681981d9d264c727c2c49804ca10e30e0d42a4049122437041c61e1c4c4388f87134da1db8b692a73cccfcc6be68ab81f33654c8cbbcc674e9389f9315fafd7c51f06df88c78befbddfeda1dbb5ef21d1144df1e78ae6bdd7149f271e89b83a0bcd3feb9d5df1acb44a14bbdd1087e1d97f05ec75e18f597308ab6078efbdf7cb972f3c019330a8a40bb79d05a0e8057386001812098462799a4531a4a0d4f68442cb441d5044a36938c7a214054114c30c0386208388c0cc0c00cc681b006e919a282e5d1776e1333f0fb0bcbdb5bb861b37003aedad85b2e4b813922c9e8f9b76258a9ccbdaf8e975563dec4d8a03258241b27836c43716d53877384715e0c05d957ada21bdebe3b427cf5e81a2080065c985a2b9f618a3608236613d44c32e3d62e169276680fce1ca1bee3152aa3ed6f15e44849948386b2a15b7309ad33bbd668bfe0524e4bb1bc77efaac72736367a026715424a2cf2038a053f4fb5b37991c90708e7fdd236390303dfd08205b8c4abc9c30fdb9c50d0468f2ff3f4360656c2fb0325c8776171d0df3c922fd6e51f0fd63a83268bc167c8b51ca4e14ac34173f8456376350ca0d141e9756a1585cb6dea0b115feece04604bbf271c174986f133b394cfc0d3d61c9f4bce9f8570119fb799161ec132a32060086f50417bd92a1fa20c75f86332ba3a48332599e7500018370def95dec2b625522c45134510ce4fc8e6d472c290978efd1e11169b96d2921046373d9e3724209603ae86b168bae3b32116aaa1600400ed7abb84b9ed91b1c0382866d3a0669686d138938256ba608643ed5bf548a616b47b9a2290a8d62ce8a338e65cb88987aaa9a57a7a70dc1a0baa3fd6436fb51e3c40380cb2fad5520a81a68d8051c7d66212a6747eb8ce233caa0a0a4296ba42d76132e5478ce7f9ea9c45bddac37f9d5baa10b9a3ade55e9005254d2925cdeff7653eb9019442a72ced455cfbe608a69010729e49e97deea8af3911a635353eaebb00ae38625eccbd23fa3e07b3e0e23dfe1debe5256e7bd431af106f77523267b6f17f115675acdab486c232c166561c9b2861594c2e489b81324d45d82791283d834f282603646a22247a24580c9f6a75aeecf8458e1cea9409da40c97c3c0ab0aa803bd25981c8b893d97f2b5a7700efb1f04b48291351bd474061466a9060c2632c006b4ea36ae62aaab4e6a3c9203b546e216fc4a9b6e52133ef5ca26f7e60b03906f4ce33b9c016b3234233862fd48ec0785e56f53b5ec395b14182c9d1bc5e297c2b75fdf5bd8b2a10652f7a19d2de0461e9695e6567f9cd85fb57e9b6e4c916b7987ccb84d2c2443f5804529014916695123d49cc2264377346c7105ae62e2c055dd0c463f32bdabcce73e5778cf7d211ce4f4c99ca568d78e55ff4cff60ca965be669f0247157b0c3974f109e145b1d56e08918a11948f634a09ceb54f5356e8620650503cbb316a8db419fef7b282d10dbd4daf7483f0858590655f84bb77b0884faac3769c8807e99e60ff64ea8a67f68dc417e9fdfd3721bf32c74aeed76425c9400459e945b45769e2bf67ce7987de9724e6f83f32742805095bdf011b89fc438e9a451444cafaf8cfc3ea21afe56a6ee29a359fdce45cdf9203666ca7179e8e5e5ab5a33a2351f5c4d7062fab70e54c4f2f88afa60891f9fa8134bc3cd7d3c8347349549898382ab0d503ee8ed702fcd078fe7832866af151f7dcb7c5caa37c49408f0dbb618a51fd8497d053793816e7a000380074b42c162b05d0e9e83bd8cb23c5b491157e31f4b9590fc2b23b3961706c604379d12a55450a1994f9786600acf568dbc299e5d52d0b6ab4feacf7060d2d8f2ef3b02db733d050766497dfe1dbf9584d347adb1a7c8bdb7e41a944a53dcee9605528626f5c5bf4d9c18c7b99f2a2f0d64a7911696f586773abee59461854bd93c941c7a1d34ce41421a48b8d9f868b8149dcf739314886379706533ecd93eafab86f479ad5297dc6b5ff3877d9cb756847bddd962e7abd417a15692b3e446849d90ee65ec7289211893638f6eb2ea45b678a3f2b4d1faf5febe34ffbfba6df269e08da7eb3fc57595488dae49c021595bcf70bce84f348242fba04004cfe166c5835d602272fddbc8933521af082d76bbc9a26380bb434e8951648874466d6af3d94cd1f05c3a7b3e28671fadc2bde2015399530b716ee8be3295a16eefbd8abfc0e075a2c276782029d2a70a3310ea30d0c81d2bc0c52859540d1706f114f93edf8169f70689037710e53ccdcd44e022b9058948c74024c1ccfbe158b8caf9450cec9d0ff808fbbc9433e4d2e069d09d486a66e16176f4e69549995bfd11e5b2b64ec7ebfb7f9848609a7b2b0a945ada0b5bcf1ac87bec6997b6600c77e5fa0eec86823bb587229713fe1e79d1f3b96f3156cd1a2d6c5de413dbda0ec0a7ef047c30f0f37690a27b260733084047eacc93078f229f1f1b32ec4cb3766c92e9cb04a627197c960cbb60da36d2740d9f2122e392bf1bf4ec39d695980e0615314e7539c391986758f23373e37b4da7cc593aeb84a97e2a6aa199d54d674ed3e2953c8706885bde1f3087ee50d084b02ef486eea7d30dec8e43bab1d7b9d822bac788d495e5a6de08e820cf63258e9448874007a370754ef446b4f67593afe19105328ff706a9fd89b63272a3c163fecd220855135eabb9aaaae0d7ccec65360d1f9321087ac59d4546fa8d75777d23b6b07615059fcd05339e3e1675cdae456e73215088f6abf0d906ed8649cd482e088af75abf000aae2f36610baa01b8f283609c87db181863fd2b0c6b34e949582de667b94c7326f75f0590b389a67a935ac5f1d146c37f6364ac967a1543194998c730333a30421cfd3bd783cb1c2a87d706f6f0728fd9f3384e0a7b1c0bf0e447b41b3c84b94c7f79791a668807c13f92f5ec555ab43d8acf89077cf385cf404959ec60693a376d1cef5985e82e3c140332020e2e3d09f127a515386f91db9ad0df2c46f617b1d0d3d1ca5170071c1021e1e6edbf089cc39432770870c792265aeecc5dd811950ebce179a3ec6c2abdab8b338d8639b35f21dd7094339d05ecf9e534b56054b1383d87702b12d5ac23e0760d355bc10c6e4a2b4f0adcb0d8e828562bb5b51c7e08865c89b6a8bf08e5bfc78a008701fabc8b03c0378c5ffb35b79e5fb9e0cc1a56ba27d5cf46a437180f8241b62c63d52364aa1d537c6a80b21555731f7d2b8fb07d38fd4ed57a71885dd8bdd8dc090cec21ecda1a7b806a891694015d522816fa5f81d5690329ea464378b23c3200cbefa44d32e5bc61a3321a276681ba0f2a364236b16a5dec34a87b689397d814d9f629347c4de31def64124e60b4783eb5a13c332606beff57c27476f08111c9d69516eae5396c321af5866552efaa7c521ef8763be16123d47d4073173f95fb35b9b0f1fb84949b931850e42988dec0ed07d1ff34a0be24c205d2a035ddc1f0ddaaefc7179338b563fa55488d2121fb3b35a47de64403c88c7e32ef53de67db1a884416acf373c43844b9e1c917d336efc6ef27be517ff06e7f80952eb83f32a296042d5c819499a36a823e9678205be2d5074ed953c9530c54171cda20f2c6e2414a2049910f80f7113355d35e6b50d592194e1f858785747eba858b8f181eb6dc207c66b048ae605dbe92c93bbf5ae651af554d6f0eaf828e0c947bc64af92468db5804eea62be93d8e835218db72ec8ee2276f60f19530ca528cfa7d5da61f6ce3b7fcf0200053a8a735288bb2d8378565085b95153911339a50a3c5de7741c03285ef3b914ea441971435bce182ddd7cec1cb652bbe1aeccad020e1c64bf42dd5560dbc767336f674434b453ebd9cd920ba741e82660f57dce6b180e2f856afd8bfb9d3d19644592026c7d2f97c3f58922d45453deebe76c2f914c65cec100aed05190160a7f649bff2c6ecdc9c6ca3742e465b51476c57c05d164aed7ef1cc938e29f72a1abe71593f8c8c197f070dc3041e956970f30bc6c483aa9fed770b82d5dd1c711536c19e68a411316cb84c2fc35b2176a87058996e3c95f30601955716c20b390cb12c23b075f252074223853d0ae87848e1d1378c084b216ab493244d9bd4eb9db075129e693092d389ebe00386ed91105f46306e1fdd585a1509059cce0602bbe2e0f29594bb365bf1ffaf6d3b5d22c6a5e1326f3713c29a01831da76a48ae2a6c5b2afc551c10083b0c0763086781b3717cc68a68d64c9eb07d58125650dd883049f33012a2d8300335c7de71b99c27afead20d54a59b709f39f528c9c6f5d589e2a5b74d424249d261ab0c65c35892d04cd944b0d541baca39af4261421093f98cd760bfcbc2a32ab8f041d8afeb0df91199ff5406bb716c61fd17a58c807af6ad1ae494172b12de4bf8a16ceb490acf566432fcd91c6173dabc9cd710695bd284eea1a4cd1c1525a526991cb65e752ca1221e55ef9e21d88f22cc582894d1f6404e6246446e353b8ca3384ae5cc5fd0c73d86b1b61d94651d7964e878d3bf6f11aa672f6e766940433152dbba7972f43e51dbe9657e0060a940982098038340e79fdef58270d1ea33b9bf8e7925944d85ba03b5b6c8ce3449b5249d0e00a3cca946d6565cb0ed6ebf10fd347e8e32426998ab4bd669d0c91b692891cd408f6ba44df03525f704c8b5a45df1c2396ea037053a27262ad844188df86d7d6ce8dd6dedf15cd7167662679a3593014c36cf3501de5fec71414c75e6e6dd129cddbc3ac2cb34b677550c35861ad2064f2cc9f13584113563579e69f33010512da34169a5652030344ed048b85ec583a696a6ad515c11ab70480571a718e778dadd890454db7891151051dbd6cd88433eef59f8b4abf13a1d5a23429083201024b8b48a8cad6283c3d3640a2b426a8ede350768952eeabc21d4fe1c38bf6094cdb9a5ceec43b2555bcebe654e6a18a1914109898d236aca6fb8acea0c72bd9e2365bff5793184bf5480648fc077517ebbf71368964c3bfc2e4c74631ff4746fa3f2044b2fceef17f2b1b28eecefa588254de9a4f97c8c307796873ea40ba82070af2d00b4854db66b94d4973f4ff2e202bcd43862896df48c05477f4cd89f2cfdf0c50424ab04c68e51692218b61c03d0875e14229706e7c4425349c379b5fe89853d63036cda757c2de3c251536ee4785514be82a6aa0ab15b9d7f7af8a4cbdc028a4ee5c68de51a0d4f734e011fcb29ad053b81f50f1b86e96cb28fe15f298cb06b20f6fd3da732b2ac685aac96ee53dbde53b58748918933bd1988534e2823765151bf3b7781410c080f4506042e06d68373355ea15f0cc5a34a686fc185cb7d802fe60e4b3a17f01666a327210c113286b92e6e685664f5d017bd2325c35009473a4500520a87abc6f3b0cee59159200689ce328b64efaab77217421cdd6bfe19c1cbdfe72ce8fb7cd253e92cc9cd5cae2d06b6e702f9975781ca2d98f44bfecb3dd7919d32fddf7e6a3800c9f0af326e952427c5a67ea82feea657f22f57de7d1dd95d1bc692bd9695daa1b0e78c0ead5b17e6e16fc922b00f96b383292477be16b4bf17cfaa2f4ae96c144f3eed90dc210b06c790cd1c888434586e0a52d9eda8928e718bfaae68700410b2312a97d685f192d374ce94a042e46fcb30779dcf486ba2baaf3f96fd4010f4306d4a57706a27846db260f50e3fa58693b059bea768b6b790883f783357b15ad8db81f385865ccb25f75aa466009a7b5329ccdae8ec75d22bd8d400e4518298941d130aac2028acf448fc3b478ba8ee6784d3ccf472d089f831044d22ea7485a2dec114adc1a977ce6169dbc18175b0b4e84a745da06a41deea9d3943d08b9a32710b3081d990ae7138c25b0ba5a4e0851347d52085488ed299e2452da610d582409021eac3d890fc0c344c517d8b15b309c9b269ac402885f49126b1682a61a0ee8289feb0d6ab8ec7a960189a9619466bc9cbe3d58ecece1b5d89df69531e47318f78758fb567f41c7bac48d8cb82a7d7d9250553a5e10cbcb37785db19be2a9ff57aa1a473398e2b5ea1fea07887cce1e735dce69723505004703faaad21686776e86a1ba981787c990e1ccbb77672a9f542d4344f44b4dbf51d7ec0c49a48395712db1a6f3ec93cca1188fe7ee7962f7490da19d709f75560cf64e997c744e1da0b020908424bac1f59ec174c133881aa91e620dcde843e35639dc5e7997b10c8189556fcee4b630bfcdc885d84686fa78024e210fd563358851d45f8358873743b52b02735acb45ffb6cb1affe9c8f9642ad1fd5864980a8ed643b487be8ff71b1d252b6ed9f36d84c83afa2c94a8b6d0325a2d02529eea1a75298c1022fd0955b421e44148ce31e32dc4b43f73cfe43b1d6665d4633645fe18865786f8ddfcbf4ea741dfc9be04d2c93c929d34076070202300be65161f0d7cd1feb78999ae05f288df73907a18738366dba26ac3187514da234d6f613e2cc75dfd10e577d01756039184fdb85fe6e07797022be08f8cc217bdcb5c6881b3393b0c2e7c11d78f91d86623a7b32c334b478f3d1f0d3a7c9e449f608ff07209f27ae10b256461d1176a9601938390fbe7d9e70d70da832d0b796fe53bbdaebb22a374e75c59c7e57b953a1ebc249f6f90baf88e761516a19339b2dbbfe017c7dbf0e39c13ef01c9e5b95c7313d33fa94ecdc7b10cbb4b21354e4b0b7db205afaed363b90ee3e14a050d72ff02a65ebc3649ff40a0fe29a4977470adeee60e17e40627e46f293803c5ab798a12dffa20a219cc67e85140561c797b0a5ace72f94001a6afac4a6265a463952805be02d0c62fc3bcd0db5883dfd8a09cf379c89421e20e0363ce90e66a1b8257bdcba600c7eab63cd260331460834d4d6c7f9a1f8ad1e2aa255882b94a23de37a1bd026e9e65cd796781e451b66c5aeaff1de0a80f4a6760198b20f7d58a6c770456c80b9078821554457b099a33b748a4300aab5ceedd988d2eea655cefd66bd477e850cb4abd95550824da461dbcbe6254b1ff233daa79a608b6bb8498a4d34aa46d2f7d58e9b8adac06090a3a4fd108db5b12db7169b35c6c02252a357372f67e56fbb7f3d8f7c23c3a3f3cf57c8a5400b3ce896e7c662b9402ab4918d93525a27738057910c435ecdf65969b6b165b29466faed7fc9d18aa98970d9c69747a97a1f3e8be532130141f8929fb3a3ac4dda2da6d5c01c23c5ebda678960faabc672a6e2a57446a7666781f4e7fbe43e857bb566f58c22b549152dc6cef3425193cdde95cc3121a50f200745c4bf97089e1cbee11deb4b01328612ed21f339a1bc350ec749e4c25da06f486f729ec4949c3eb0d946ef22b511c07b36abb3e9a34297819a430acd549241db47f43af7d74d298ff635cc4c2119d97e0c76fad6a86c82d2d7f34acc2eed41502de487b0b1de3dda8bae9a1759c1297547308bd8c29f7728b80fd5cc239e73ea153bc3c7458071d9b85fafe827eeb9920a6d19845372af3a4dcf899bf80ad97075bf7b423ee77d52abd8ce5d11f614f44d302f7f5e64ed2f9b0e598ac7459841f85f713aa319149a44b783fc7180d6b5ea765001bbecb02a83ed0284565e5e27e3ba76ae862505cfa277def48ca058a9422f7151fe73f37d225eb30332e8ce6dac4d8d2f7b9b769f08afe1b9d928b8a0db44e9a495b512d4b84228eb5fcb2926c55dcdfeef2851a13505bffa789f5291adea6716121586dbf5f851156c07e0846503077b42e5aa120aab51bef01e0820c58cc32cd5f34056b5aaa452c586637b264e417f41b2792d5895f254f000f592e6c6ec62c7f30eea5f42e715ee393fd512e39ec52c65627ffb5089750a2f6dd58b714bace16e0c32be55ec40393d690ccd8a6c04a9feb4baa9b5a0e9df654fc158ac99814225bf633683dfe875a64c46e1d6275712dff1e5f532caa82ebf2552db319fa7a35e1d4b672cd950a097461f2bc22dac48b7c02a27b17a1f173c46cd3e646d97e8179819633f395ca6e238184a94c4e9c97e57e87b1169771734f07c69ad41e51377ceb165ccb8d48c4f1cd0336672ebd666bc0f4710efce6a3235e3e57a74273c7f87f7f6402c1a74fc4d83da17dd1e5215c63d031dc289dbaae40ef44a4abf90f3bbf844db12580ce823e4a9560130d9ba5678b9dd9b81c8d30cf85da4e3e0adcaa0a0c1184a98f70b6bc9c68a59515d2422743edfa676e2f5b706b24d9ec5c2027d5fad243d7014c6f9d7c6538c0f8407c6c84a557bea45712507df55b2db3a046dd7059055e3aad819c20ed33130766e9c419e032782de829ed53bf52fe8b3d63b0fa0cb37a009064df5d018dae941251af562b4d01ff42cc5d68df5d28c15f03df4e53de32a8e5308c6f458fb85b599e8d322c6c21503062c060e3e74214f60caea1c2f75acc7145b3196aa0a65526750c82f8975eb0a5e2f30c9aed0333d2931de1aae9d12e78ff27ff3bb08f98f9b0c4dce505add0b358082353a42b3790a0f8318932bb6001d8af9a2db6ac989d9af9529b96861edeb842aa97865abd008f2c1156a07b0422c76c7bfa218413c8a9b0f51e3c54c9817ca0eb95e6348d204f5c1b317a160bd08323ccc815330f54d06e01c744a7396da6ed8660a596a80b983136dae2ed69b92f0bd205e09009d13665a115d349a93c6cf9944a0ae60560449eb515efe63a3472f08c4554d53f3c798c5fef5d0791eaa997cceceac784c7fa594f1ac1515276ab924e8cba6319d740e880e1a3232e1f59829f8505484e25fae0da74abc4eed75914aa9a6543ec0b78bfa07612f119cc04e07be70918ebaa0933c010d0b94345ca638c0a29b6090ed03bbfe15721741d37bde66172260cf431cb055b04fcf2fda15ec5ddf5bbdfb49aa41c814c8121c3c04ca8a546d92f70129b47be6e292176b46d8718f614ba4780f559e46dbec867e0b9a231522154f33abb7cb02cccfd167816f10e6cc41d2f3e5ece241574b174f05afe4bd9f9002189123a61957c4d5be81c8195f6c0b00178c785397a9794aa7cc7920821242e33cc6682bcaa4271b8f456e74cb56a02dc9ab13a7320a314ae463a0f902d4de130b99da26d90d7f439757ffcaaecc8bf006e47864f77907a15296d7fcc0764cc10137c6f2299f0967c48c01b6d3a47e8f0bd27958e3f74ac61b4a927569f465d9c416ec275ecaa0791a4e65eec1972a0bed10b0a3503d42cddafc65969344615ea4465ff927156c931558cb0d76a5de332d7743a624e646c5d5a03c5e775bc9850171236ed6d3685b4796aabdbc2789c74bb1f10e5eca96ef1cae80b2ab64ec0f9f66adbb3c6f5f55491ae765d2b20643a760eaf16043eba32275823870020c5fdfa543526a6035d34f3f40558e0599a22c0e92ccf531a085bb8c53451d6ddc2c1f640d46ebd744e2a0fe8485ca16992a4562a229005124e4e61517d2056211538a0ddd0ae80eceed306802e768de79c28579bf5c2c5487b26ab894b76c28e328eed03254f1011460735faacf778ba551ffdb7c550d7e1da9ce87861e7af54862247b55f007a36cc8ef5c3edb32d563006d28a31568ef364bef0ad12ca38f3c271deeff2280f24f51713d1c6af0fb470d5f1d2e201828e37104d714ef10863337f31a87c51a9a03b0bcdc986a7731225fe120c1cc001461cb95d915aa8c41c2e4e82438d00c08e5ebce0b5e875049d34006b967fcf1975a07f0f2861c7baec22d5cb6cb72c200cec71ac14a036ffe6a083bed1b35853c52e823268705ace242730b84b1defa20a101e01deb6e95756854b39a2dac295a041cb082ef117cca602dfe68ba348810e8922c5440182dbb9063dc4623af9d8c96f6028c671872aa06c8a54709e47a04169679088703dae1e391882cc3e345238e35b6068505fd9287222569a9cea3e88dc204a28bdfbeb06cd07204d97995713d0f4bd3769bd3feb9cb805b50c8b470bedb15ba1540ddc62ecd0315deed8756833510015b66df0e81d13f5d9ac33131242def3fdea4a94481079ff2bf287a3f84809ea21d51b32b6a304a068cf285c9be36c57e006365213386aa677565c1b4e92f8bfd06e940afdcd946108bfc98a4a8f68e5529d2cf0fd1e3ac87e052995a6946963dfa5704edc5533a8a0315a599400bb3374a76adb0b026cfab57828a4ae1185474a490ada5cf70cb4a4fc5091a2e2955a6da12da31ae1331319a974055eda6e0a5497770944505b83f345fa44ea58ba042c93196f5293127b260ed285d780294662903aa490c270d6ec9d41227b6dc70ab1e03bbbdacd7c849b1b63c35ce11e3e69a99d44ad298ff0a3807b8f5099489833b175b6e252de0bd37905178ebc660b60965c081545fb805d42ccab6377b14dc057e489adf16060ea868517d35da62a2ee6fe7fc86a4c59740d4abcc8ebb6f7f86d86773ab5a56b9e3c5f3fd7e8648d04a513fc816112e4e0b4c7b9d25ce389f884e918019f5191806d32eb35cc08962406ba846b5b8c38eafcf1d63429df1c8ffe52336c365059a0b98d097d4c1bf85403ea90e9149c479b9cacfa4b9fb85407489ebd67d6bea47be9a7f8c945020b6d5ff51e5db35f040b19e3fca4b8af57491c228f4246c023ff36f26b8985f2d9c092608c4a6eedf01c0f353474778dbf601519f3869ef087e83749604c0700c9feb4b2fd39e56271c05cfaaa962a299bb8f7d8f95fa00e2b5ce56aa7b7962e1f6d7c8178f39bfef98417ce4917ed845cf8f189a5595e4f37040bd6babfe22d4cce411b27031ca7da00db963e053c75b6c319117701d77b4d618599f4f38a64d3ada2ceb47ac592910f872c9e48acd5c381393dbe843735b0b2dcb6a85306b9ab81e13bcff5f87c248540f77f6490437bd671933d9911f8aaba7853e175eade3a87a05a10568c2088a859c56447e5580433622fb05d732d2259c1080a7cebcab608c8116ba5d5b1bb66536e513503ab0d2eff0c9dbe52b25c81801863b349379856c08e58ee22d2f23307bf106dac6747f1166c0e1cd8ba963b502bcc95a3f46b60fb9ab3805e9f0b69965ff8b24dff29432c9551a0d41ed1a8ee28c439d9614d96a0af6f4b43378d84fc554d80fff7a19333ac141792546d658335dc36ed8a5e9af9844834adcdf8cee790c7ce6ae37b9d8f1d72a0be912b06075a7394ef4819bdb9fa7f8359d7d1646b7e2d3f12a076b348b517158d713e0f7020dec0c0cdabd63af76ea9f3e396ea2b9ce4877703455c4bd3be29f8a6361a7382a4ca1e058b6ee94d0c51a43a4feec20ba667bcbaee4fb74eab936535c9d446ab68a59c4831294f763408b041958283a19d6314ce46653f77b0ec2a1606d0c6b985a5b75d089e1237cec0a77ef4ffea92b1a68177180410b8b50cc020b2cd39a89a3dea6c9282e35ab640c05a8f435a75c7033416050c544e6772a3ea859d2f89c8c444f335070957404caa137e88bddf2342f6f3b5d4699c0d9621f69edeb7f8c0518cb65cc6fb6a9ee22960561583b05f994f8706eb04c25a4e744526109981dc13be06fbe3c02de8134602893efde3d311167f17bac0d59157e10d3620732dafd1f5b9d09ad19d461ed994bcc1fc7bad12e31f63c0d362eb0fc173d1dd52c636c3de9954f51aa5941b730e9627d3050a64a26d98c91dc1b7aa0449b0c6ab993efc828b1acb3fc974c89d1fc93b9bf21ecafce00b275fc61297e63380bd68865f1d0c8f7fbea1acbc758c579c4a339d8bdbed0e37c44c8a291696e2185263e9d2609810d1cf44a28fc39a5d577e37c9dd5bc51ba2735f52b7511f71003b6f1104950aab9716acde8d842738766801d1f8e2461b166b7a351f3a5e4fb78256b8976bcd08c78b17363d37231f058dff430dbf786a8499d6e9c8c668f4b998b2e0043c65a8980ae6ed32d1e96ea6d87c608157e59d324842f8b48e7e931feda02f45824f10798cfded6a3623cbc68dafd8afd97263988b73c2d69ac82eb56e7b258102e3973fac3b472d3b4f2e3be4f1ab5a6c8e9b088d8c4c662316811506460003afca973b695380a5ec136b555f2a8aefbbfa8276e8b2e46c899b8a3965b46df3a0e609257429427fbc2125b04b516e33a0bfccace579ec14ba542b3ec37cdf56ede672ba4405d99f1e2d7bd0186e252bbc151c80ab8e695d1c69765f65d86e72341fd37a4bfa0f7fd60efc17b4d634a1dd7a1a0804caab38825600ebe88ac8c5c533ae4ce57f285eb244ebb2f990deef4b11862910bffb1fa351bd4b6105d946c430b5445f06f6ab83cf7c721e03a1f973ba636d1cf10632c9de027c3721e903b429301125f7e0f91b136ab738580ebb80261711df011a3ba1dbe88ea09daa46a6860449f828be7f871051c9ee3c775015e7a62d95e18de4398da0ad5fd0d9ba00a4dd8b5379cc8500c169a4c297351b07d21b535f33b54c58a46b0799f9e15f8d5b6b5fc227709f3a54b0764cc36847e82bbb3fb27377d74f91aa227a4cfbef07df86c2912cc66e68ee4e57e1e7f4cd5b27f7daf4cd49992d879675e2bd269c7e4be8facd746aa6ddec1c12f5427b12d0e5cdba506edd6598a21130011ba21c921db0f428ad5aded282efd000a18fae2a9e4a080cc475c96227c0f4ca84ae0dfb0606e97ae5d06e92cf3d650e2ac3d1914ab0afbeafd2e8ac3793a47646f4f824157b3286971ba9e496d546a514f1aaddf64e5fd1bb6bfcde4a0ffa2835b262db70f3b8abd925ec79e6795ec40910f8a737476d5bf8b8bc40dbebc00c92bcc9d9505ce3b4a00e83cc3b961e9e01ea161325b3cb9f5a27b49855f067649c37b8dea0ea8adc363de6308dc23b63d3e8b7bb5ab5083b4cbd80ccac13f52f94b9ac8d5def98896c18b42386aea595e9bb4b067c634f85d8ad4962244740d724078b20695309e8c02a2ce98fac8167963fbc004007d2d1adf37ff9a9b14bf99aedde5b8130080232b57c9fb19a224aa5de67b01b30d1d4ffece1993f2e1b7aa9d2c651d3936aca3b4051aa191995572c7398c866c1df15c07a91e9022047e5357d2ba9cca736006f4f085a1b90737cbe573e77bb989fe862c49ca4e1d4766359989c4a84541ed410f8d559ec0da5b20e5239ded8101a668dc7f04d86c3e039db1a931aa62e251b33aee2b8226e43917d4138a1b6a924686ce0df2c37e00421f6a586da393beecca3c2a663580e2878df534549aee1fb01be463ca278437c691983957a64c8cad9200ce8854f4016dd00946c3e97612b3cd0c20460c08a21ef64fc22e09b3f067128dab4f2714c428bed0bed1da4abbcaa16cb6c59c144466560f10ec84874499635cb2a381e1feef39c40d12eb1c496da302ef12064c9c0b1c4208083e74fb9c47b77d32e3422855060cac8535d53d1369d61154a48cf8c7fb16b22951122203a85327a54531f9aa42eaf4db0d1f14add3185d74c12c8194e11ed10d2c61bd7341067c253fe01793bcc613f92c5ac3623e939d11f902807c35f2a552e40a2e2772125230f13322d664e384ef3ed7d3f8bbe53996d0328c186e478b2929617cab43fa8b5c4aa4e30b055bf9d339f61f54f94e33290a9484acc5a510623481134f2bcee339a9e7e90b8cb6ca90b85a7e8d375aede43d14697f21ee12f293bd798ed114c96ea1219c298abd661ec20ea590ce479add1ce52f3a12a1647fdff543afeb200bdf31afb33938a16559fb7081143a7d719160e0c448a76c5e6d0801e44483f142eb8f621b6cdb7f08f17f94c3b6ec7ba951b72c33b6a9cfffab571d469d85f9ba9a14e5a101c5c215efdf36ee116b655c55447ba4854e897a2b0fb840b499a1accd0a0e56cecefce8ea0d4fdbebe68f3460861b0908e3e750145edeb800bc23ee3fbcd3dc6572ca0c8c40509a23a12d99282a148f549a017fb0306e44ba5ec4634817101ff71aaecc3e115987b87f0cf335f33ee90834d965c07e85d8b5764ef0637c1afd32ef881452347e051a93a15c556abebe6869a4386e79ee0a2c309b9816a783e6aa29ec72a0af488608ba40ea00c83c783dfff0fc6ae21cafba1d7268cecaf0a051f27d5966c722bf64f588f3855e29a53ba29140e2c1120f5d101be530372f7acdcc28a4e28079127157ad6f9db32943fd1001fca4ce008a7bc41851e090481de887661bcb7802b5e97258c3c4f1a3e0b43cb4eb3bb569bf00a677501577b2f7a1f4be05976149944471bc82461fce1fb8296ff026481d9bb2dea2edc634c720ec11d60891524a29534a52a61d790173017201adfa55578b137523af3f6badfd96996e996958448920f1447d6b9727a463605df5081a622c419773566b2f4a9325bb7119b02ad4708ca3b21539e2cca00872746824e869e15259b356b181b6c5501015aa21db87decd5ba954e52aabb2582bd2ea573bb576b45a654a455d29162aab5d97698a67d1238dee72977f9242bf10257441d19ec8927d8083d3d1ecc686e560c882253dd3c3077ffc07fedeb841dc0f91d9003e88c003d4155228ac4cc5888888a61150597006ba62e24214b4942a85b915ec206bdbac5c752f2d5b391d4ed5ac66399d2b5753b2a45c7952b4c83435967905c6930a7f7bf1d5f8afc67fffb4bea8803370eee64b3433c34abc899ab2cd31c731cd7eea7643b3438dbaeebd1b4fddeaf9dc2da7618f09ecfdc97b947b1e5fcb368ced3ab65065796887476fd239f692b18c8cd87aed0c7d8c1db6e358064fd022aae3224cbfd3aaaa2906d594e7933fc9efbeab5de568482854c0938c40a099c30921812616c32426d25b0706d060a233a73b25f5fe1c016f25dc6d41bf8001121a6196b1c2c524c11036ecee6e69b5b45a60a87619c49b183ddddc133acf7931807c21bc31deeeeb7eff1b98d1529ac1f5d82ce38c9921b3b570c321b193524a653cc18ea2a0f74f49edf747f8fc92d36118d7b47b589ae31c5462459613c159100e6df369e3e0f0f0e0c852f8d83e422ef8f8f0e079a9586fee006d223e80c1ec8a574b309a124c45c55e0393719957798d8a134dbb9977445dc67de6472e3343e505331a8d489ff6d95c787964b88559eb8289d9968d59299d3cea513e25451db7e279a3aef4a4ef929748fcd43da7f6d9b6508707dc9c9a663d401d23ccef5858bcc6c25e65696cacdecdabeabdd6d66b27cbc7b1b0ba5d1df3bdbc66a66b5858f46064480d533991b4bde6bf9675c1c4ca5219d5d69fcc4fcd4791147edcc77d9de5ec4903bae15b07a863781a42bbb8e11fe2c286b4b245ae937da8300e91e4ea0f0ef66bc512299abe53bafb53f7278f9ad2d69777de69abd34ee9d54ca7b8f0275b59ea4bee319a3cc74891310a9a327e915a5fc7449f8c67a22169b960625ed06334c1131474ff62485c6eeeefffffaef8ae175c2fc4fcdb0f939244b7f24b691988111012053c9ede7d7a266a90216a857c736e93a9ba1197b4d63a9c7bd99979734d606416c470f995f65b695d46944708bb4d60b8432e6389097d50c62781c7162e58b04a66cf96efa876f7d828540ab64098d7014dcbe09cb663c32c048769cc78811edcddd937eeee6e935f53c999d9dd7dc68a86a87b464d7bbb7bbb985c4c2e27ad98e7799ee795689008989c120cca26951263dcd098855fb8151337251012a1ec040a12894d7cda445248117f0c97b6ba5f29afd63746e6d2c7044b11c28fc808aa95ca6654a415c79a619eacf2989921052511d078b162c445f6b9885c442ea32b83b5ccccdb9dec65dfc8d6624e4dfb7cb62d145ac162e45f66b4da976c2bdda8d41eb2f4fbefe25f7edf200386531a65126a5650371826d3d6c97523afc41bfd94c85c25116c2f81f4d7da03358e25012d3132a20ed5f7fa5edf6b0546f5bdbed7f7fa665c2eb8d905e2376ff1b71429dadb4362fda7cfe605981f1071f06106813c4a68ea811c82127e3e750381a6517ae1bd3d6be5bc8738f70e5f8daf066b05627577b354aa1508dc1600de48389bdf1cb57be1d52084fd1c179174d9514229331849310472307e10354075c75f7d5b0bcf3b015727209dd77a66a5955e3b258c90e47960d0e08a6bc128944995e2e28114af5c56f123a481310873517127138a4b18e98cf1f58a30a8c3c31cb204a68c510502248488111b2884526e107727192b45f6de672017b9860cd27497411b48208cd3a2f936e1e6719919640fc84541795e34de20acb7d9dddd2997f1e944d1d95070d0288aaa131c23210dc5d611f96c90d0385f9d557ef52a39b26748e4202cc2981520456b1d1082069aa4c076783c3c7c7c3e0030e76f2fe3dbceea24a66d6c6c689ce8bde984fad50c0bb25050010c93188e453c626f020b6270c7a4f9b5f3e267a51c097e56baf9cdacf4ba46ec8a1197700557307a89dbac64ccdeee064500839600181406c49134cdc3302899737bc903945b893b4afe07215e5f75223b09970cf4e6d5cd91955fd06b15fa5a7a946e3c6fd1d0be3ad6fde0823eccd4a74f3c5235615f0e49929da3cc9510fcc22cac9124e33c8fab68177dba442b4f26fd4e73983120065bcc95bb9341d25b0a10d623d61abe960d3733c155d9237b77989d011d84f0aeaaca869e5ba97cbd3902146e4d82c3328268a12d17041698f8f2cc439c9da78501ee921faca9de752742b14450c7cf5eb264ff0430bc0221b2c22abd29b70be91a6b92413a2890260b7393624f21401ce55e8db5a662c12e1c8651f9c283e26489d60d645731468a515f174fdff914a3a014e23911a42f8360fa7c0f49d674569018ca2f5a975e06f94d3e03114e9d993b59929f6b83f0cc321a0e22051ffb538653f17988f739c5286ebfdb4cd0ebeea113c5ad457773ae185425a976cfd18faa505db56424ae060ee440911aad1af56082b17d34439deb0a3774799e53154530bab5bc9a05101e9beed251802024bc40d30c922a00443dda0129ac2d45efea5c2f215de594daabe593b9dabcc27c508cfdf9efc436b75003816936efda5fa6a2c074c0f47206891058f6a7dd84d0a91dbba3534bc534aae29c12607a35a91b11b9fb0fbf479eb5bdf9c2d83892ff16227fae8945efffa6130e18cc828d00171ff490d7803cfa2a2aff29b8ece60ea2e8a4d147f024f6f3fd3c145c642cbabbb1d608aedbf938df0bee9e56fa096cb18b9e7a73679ba99cb53d98262d60224d5f6d99ec7dcff5acb4395eedacf3af11d13aaca2b7bcdad2de002b4395aebeb8608ea08407d0ef02f74faef7a96b5b2681332dd70de62d5ecc46761a5779e230b1a45f39bd48960af8dec3dba773f47f9e9f245ce30405d8da525d6863ca3d07970ebf111fbea367a06893ec4c0adfe06f5fd89ceb2e61961d5c8a8f4899dee6bcf63767be8e60b70765e60027cca61027dc5e7a691bd6f58002646a6859c950df20b65a8dafa1c301d81bf9134601fdb2c901c881e2d3058cc0ce4444dcee030018f076db398a75a5b207d282bf40608ee7cf8200ba583bcdce054f63d83c2af48681d6b487dea8823cdfac0087530d3a911c9b7e8f68c1bdba1fb139fa7fc2318dad840426c6456f80481c98d8dac93b096e13e164e89510e07f011b3d883c4e653827d610d0db429511dc1fe76e024991e1c65bbfec43fddec6d7cfe1ebe049aa71af64c50ed2024836e098f6ebb6febc1a6a6dc833f935a1db0f7c8e3315f2043b07adc890013d2c2264550b63dd06af0b8767629b72113a6ff5db9a9c0d5d7838ce65a88f3f65e576eb6b0fc015d5853a8550f7f9ba09f8203a70ce5a34cc35725608ea16cf50dfa6d333d16893ec0cee69b6b316933b5a1357fca2070e4f2778833f3f2a052d0779c8b98da0dc02387e4de00336b5e5c3a0cf223a48372313d3764749e9d3e9950175efb77d4dbedd29acf12b0b516c0f65c8c5286601072d3c504babd82fd538ef06530a4d91776a44f8ffe39b76ffe9863781a0f61215526bcd220fa6ea6ce676816da3a21b10adba93ce4761856cf990ca66a596277beab9e390e8982b9171d3bcb31704e782494a07a9573fddc5696d5ecc72f12f5496aa04d63c5de21033e3a4322404452641da6424c80cac0849812455c92fafc93610401151d77fe39723a57b128f762a5f6fed2bb2f061c3e94a81c3e559eba9a54b0872574c8ae1de8e7275c5c46917f1de6ee7a348bfc2b66d1eb089c8526e5d79333c19e9b7976191be2255eddcb9489079238f022b18d13a166b6278f78934a82cec94ee1327a95cc8cba2b1e0e0eb70c040d4e07c3bd299591806ac18bdbc772a5442d5cefbbd99874a770de1fe4210c0c5cf66779d05dded1636c1bccd72cc2db9292d157c514dbd5c2fedc90b6205286978384189d4b86917ec2e7e828a9ea67380452d693a2d9a3151cd717db0b8dae073a83a926cd905596e1909cf225f608b0421aa0bab7de1e2ecde06fef15d942db6c7c0a5f5bcc4978438d1491db2f5dd303ae406057926aedfab0755488597e67b88bc88dab29010a375920ee778c407f416dc8afb0e0b09dd40dcb8ac18855ffb347a726227bdd392c989bc0b77502878cc6eece94d0eea263412bf8834d6df21d31e3f65686ae7d122e7891007d1d607092f86a6035fdb2945d2bb82f5f351b8926845ad5dfaea246b31fa41920be6a9099d0c017792935680b2a84d97cf3e3671d7b2d1a73ca84e461fe5a4473d19258795759270707c24e98341cf4f84e19c9e04277cd05afe33566ed5e0758597a68325a524a97bb887a0c71dc26ca1b91aa4cbb1b3f63244bcf438251b4fd5d772ba3d25caa825627f862c05eaedbc9edcf26a326a339c9e5cff479c767d69c55a6a39940c8e41c2454071700f0946c81b5211d6ba198d878a306fbaf33489b209544598e48a71d293ff981053b23f1c90825ada8d600512c1540cd5e8b2ca444232e16a81d51681ef436303175cf4176e3e438408491b8a5344b7c84cd1245b3e5ef243e4d286e6652a4f96990abc985cb091d2f7c3ce92886864ce0ee80dd70d48b9c4cdef9bf73399e5076e9f251ac61e8d52ffdf1a6916482e6d9a415ad017a468e0a26106c015917f5da9516ffcfa117a322a91b5f4a5846a74bf88237e389f870a85f682f90bd1865e92715724fdf9f86d0e429a4b4da46382e95fb4316f563ab55ef1f95527d69e8623ddc9cbf2cb0a6647270196b258da7608178539a3fdb60e1cb8e1925ee82739ea71497f9daf568719b7911c7094eb77cb442cbc8821b01a7f58a4564dabcadc4c2479a7530ec4482f2330f255a976c343b6979a9e7992d1b602274bf4ea1695fa91b90516c4cd0924f0ab94f5fe67353a0e6acfc8b462d42ee10bf563ec051646876bd2c07f3570998e011b328b8831095308898ed08c274a54f130fb7cde982774e874912ccffaed403c51ce6db9304f7dbb8f79ca71156e9f74663dc1ee1490d0be2b69e7c3175961bd68fa371cb414cfd21ba410ccb2ba6f0202617fbf9382e7c0721c2eaf736b52251ee81bc0d4bc82d7fb5b0b22c16ce2765d83312105da25590bed87e2cfbdee21dc8a9d212d266690cc2da9bb9f8c1aa0f3fd102647eee89d5611a2ade68010b420f46b6c1e7de070420d5a184be5d9aad9a7921fa6deba0e3c43765834db21ff404cde6e078858e00e6b4847cfd2e78f6439c81dd6f5c6b55f1fb4293efb8f96d68481327fb9418c15229b520d1836a16db46b4fcbb06ae0c2ed651c1af6d1223492a98887aa4d4f8d84ee933bc6ed358d9e6b05c775ffd81465d3fa5acedb7f16925139d5818f905d0e38497b0624dd8fb4b45f70c17e268fb0ee946822b4282156de68195528c61cc73dfb5d0ffa2d336dde3b2287f5f4c9a6f1b5072e8f39fa8fbd96e7ac6c6beb20393a07102f713b894a51f5b32e815aae7bed0ac70cdbfa5093c61303f5545aa842726fef63aa3a6cb61172993aa9713fb633ae0a11493579bd7fb3b24dd814d5c78020112f68f0ad782b8c434e464da3abda6ccfe27f4d5838a8ef750410be02b842e0ba2f9be7a401b27a0f90ed62e278a02b7466914e1ab1c48e90b2be050010e4d72cd0954ac73ab4948554a7244580c833e43478af2eb473d16f5bd0af2442f3b7e79161402072e0bbdf232e83bfd8cd36cd2aff421d1818c6c40f48df23c01a49d80fa4d63127b609e8cc1f916df9de9e48e7aa101f08b4362136b47895676f76982700b800cb099c5f6daec64041153bbc7aa2917474697a62f3998458f87c5388a5eba405e7eedef97259b3bcd92662a86f247eab821b4ffba111c03e208b127998e6f28827663090759658fbf1ae1fd112c3625704937873d5aa980b02718fcb4edef00b7828e112f38c8844e2b79017fe67d16ff9caa0ca820cf56f9d12216ebbaee202eab2387d0839a796cc53f041e951d64a4a7fc8994aa193e34a66e362d20e92fb8b5e795d4e566c241102fc76df4235188600405d94aff4e04b165ad44b387a2230aa5ae635d672accd30fa0a6c1dfa8e18f84e31fc730027f73292a250eb4e3684afb3527e36381568eb2950dd8eaa1a982d8081eaae0a4716609656c868e9048cdd77560b6903d9d7e2e3e26ca835b080e090e748ebc666593a3d63e04793a7410692a4535a38f4740e1da836add8dffaf0d7a787f425443f5e9ac4d11808363dc47b301894713eadfa9da9e05c75f4a9d07e9215b321c8cf767f95b03730508a5943205315ea4db5e0cafdefbbf52a2076286e9986959eca11e30a95d42280c58bd400db977f98eedddba86d9f0d7990027cb6f3835a349b5994a19edcd7a993e773f96e5b159c1cf58eba0305d1631c3580b4f301165921ab4bef9146681d7f87d6615f0c42f2deccae7266f6bbe80820b5484cd271315534a7f88b10ce375a6e1ff038f33439a20acfa71524d473746abc22a21a4680e07c0a47ca8319371351ab49c6d3cef77c51613f16989665e7c05f208c40687c5006af8527e521c9044b435850afb5d13b51b87c00173aa612a488eb4b19389148cc5d66fbe9769f87aa265c9e7fee6ce01d007f755018cc5838523184af46b31de25d7813b5878ec09a7d59fdb639e2b5bb71fc36653fbe27b3b69160bb26a1999139d6e9abda5594b50ee13e7ab048f71833720e07c884fde87d6f2763470790a3bbec4a2021efad7ee925b4561c38922c798e98261397093993e11b54aa2825e2b8d4a45bcd23fb57b152518cea0d3da77c270780998dfc645f9d424ba8eb98cd891a2f8383539432f69669973576870cf60cdff6257b298608c82b9965cde5cf1422a6627103c50b50849db9fd42f3dd251d3578fbc462ab6231b1370105c9e38ae4c79ef81462ece0f4508a0bdf92383148caa7e33eb2c7a3f5811124f4fadc3028a94e1c7df1c2b9b58510630fc62db227b6c7ad2d259d46fa70ba267c7212f46ddddf69bba44833844f19e0a032cc258bae690579b6255a0fa68046535dd9352de1e4730226acade2a0d2856c69713808cc86cc2f1518a8003055e63c4644977ff1ffae540f1372b4fbc2a00eead2e531521687e16e88e0c4da13814142072d5ddfe1a57f788305546152e10b0889f1a3234a5ce1fb2e91d6263f1b64b2fb00b50e015302883c62e757580ca509ab2c599063d7ee05d0780f93e8a0d79518d3b02c0b1eef08545c3f6420f74c70cf5395d74670bb45d18b4830fe648cd27d2b83f84ace0a3c6796fe21a50203caaa391489f7bdf220edc8c106827d4a21e7ee0efb8976d2de228dbee8d9443c768024010ebafaecad3c468a481e12ee40a76473cf7bd024ea7626ed25372840136a8313f9a7caf40bf7378750e4db88e4f11114b8c690b31b6b04e9a71056c44a7df530da312a738aa3b4778bd2d4e745772598519c32e20c19cd251b973281c8ab0ba5cd2c4dd4cccf85c7dd8f493cc474e38d9c25dd7734d68081cae0a3a3dd6a0a584d9c101751d2cc47055a580e9bba8dba7886e149b4f0c9677afce69ca39b17d3812e547bc3bb1f7dc8dfda503e48e4185704c29cba73f87d047eda0c89a74206c82d37098f73d71db4c1167e6c281577d739fea4c4d9b7706ef8be010225930f57c8b25ae47685a40a937727ee18945b754df5cbe38d74206f26820ee62ca543210da7591a61dd85386b8121135eab42b7f3530cdc6629af79fe6b866ffd3dc390c80f368ec7430b8f6b480aea8825940af5404202c7a1821a7bccb8e6fd0d62e91f732a03c5d8fca819526998c5ae91b824fd516107956c19831de5852a5ca1dd7aa23ad4c454adb318b4adaa0d3e62e9cdf669a4e886af456caa4e731224b63fe7851702b77806459d48ee0292601ce48c54779120c8447b5075dd177a932994923c4bb853a17c02c7f584a791c5e94c6257b9881fded5b704953fee26d56f5f218b5503f1762f1da4170aaca887f2c9a4e27647011755dd549bb5eb5c81e1d08545a20d5010c14a3b20269828c2ceec84ba81340079913217dce33dad26517b7be39b8d3472d821ddeb14dbef901a8f436ff153adb081c6afd6c1d5fb531b03a1cfeb051856ad4c399c6d2c8c7a78549cd351116f0453975e31cfbea877b49072ef0bea182b7b6730ee45e54fd8bae2fbff50f634380a8cd1f601ae5fcfd84be8d338d7cd8cab9a9828080edec87b7acdeb592d257ba12d2ba3105e5b9af43f1fec858fa58fb5c7e3ba2d6f6577b5c46b8aac097390d09832667543b60db32b4a503b98b754e4775a01aa8240b198bdcb6d61c3212dbd7e4ed5d5d001c2f00259ea04815935c8f70721cd984259c0b776830e50620a81989f518e5ce4d7084ecafd33bd6c714e11a008bb3cf47da17263c83aa1e78afcf3bbc1cfc0113791f6862d0a4b0bed87a2ebce9b2119012ad5c08bda3538723d348e05753dba5582b6478bbf8f3ff8185370ca024e16c2554c924c0448738b1f11059045d72c81263b4a1405f008c788a7d4259610548932f5d7c068953dde735f7236a3a54cf53fb08116b9279b4d065daa6cb8ceacab63f23ce7b996214c0c70410d09306900f1f3a5d6bba23d2e929fdcca5e055a6ef92c90ca9f848bd8171c84bfadd3373dd010d128c81627f2bb8198aa796c4149cde3c3e67968fed49f68cd26df9e594663803657b5a5426e8e6b2323da88749513baea36c8d58ff9b662331ccb7c8ba977ebffb78b24382bc3c06969d0acb4c6a9da58ea230710eebe4a5eeaf8ed9a1d6bf03d18ff41a9ab5eefb3c26548d61c6c03c63680ce6824548f1ef6a61765c59fc5cb1602900d0ea0087cd08c39e23596f90d201f860bb3e709e6310a6186ce4deca01368f7ed510cd1a087d6187b0251e090b8587dd354b0c295253abcf58efbdd5ed8ab551491a82602d71e2b9b1193b2d50a94743ecdb2057167dfa2d0bd8ef6cdf2b904a5c868209b4c67eac7da6fe03eb5cfdb2ba465c3de78e7f8436d3d7b098749773d52176cb5402ae6f07ccd24c17b3fbf16c534aba833fae9c042a54ecd505bdac88b360ee34664c8e80c32ab096be221bc28024a3a093f5c6056115507d8567e3c5818f28b9f1144844ff4b6efde7f04f61c1a189f2f513b62187a0dd2286c5e3a585977ea0c7b3a593250cd735c0a3d3e4ddaf8da4cc102e1ecd7b14412148b18b0a938115d685da0aebf4929b794522699d20ec403c7030604f767ed8fd18566bacc394b6f8a5104d2326e108aaa4e2c5bb86089a160a8ac74ecee9b3ae7ac373b6e8078a1524a293b4b3965755cebf78140398b44a351b4f8f3bcaf2bb9f3eec59c8ee7fb7c4829e9c9499623297337a5947286dcd479884c784209228c804558b3648040398b44a3d1ca4ab8e386a603ac45025605b3c0f5c65664c5f0c294cb79cd09c66d6aacb7765d0cc60b8a5de5aa184fdcdd29a534fa8e1a9a238e8ea9ad614a29aed5300542048f5477f7d8f938c9739f5af18d85b230e6ee1ee3cb747a793031385272bc9c0afb0c8e73ceead8c2d9e5c2b5ec8bff628c6f8e478e87cd0c324066761c4fae9595d148943fd7cc38635088dcaecab2dd702251ce9845d24249000460924f30f6f0cac5214fb5e7165d13638ca76de2ec354746ce74cad9b8cc00e3eefeb29c0fef5eec2a1c4d9ec3d184e3e946138e3171e58a2d057779ea6b5e1e63cc89f39418df6ec618cbdb8d06634f4d2f5190473d69d52ad6d70b0d83b1b0b060d131fb8711d3939cb79c156bdc59f7f3010286888c80eec551ce9838e393cf112eab5b38a7800c93d670738581e24c71c63b60aec546b0742a9387cdf3db262da1d11a912d17aae1e624cd7a29be9462ea4d162b9c35d68c735aae5738e70c7362c6d773d65933cf9957e4f8be9a1dd32c02eb8a1fd0f659027c703adda08b696fc78bc7030e4e9d8ad570a0fe6edd33b31866dbd97dabec5a969a75ad91a67adef5da7a1d335b0ffa40a09c45a2d1cb1631312b1956cbf3680b5ec6b219ad6f8dbb5f57db5a01e32e40676f1dac3ed1bd602305836eb00b19627c00460c15a03183fb0b0a9852399fd4e7a4b35a1b4d1ab500d15815db5ebb7001f5a42ea0ba2e825d17fadc631eb5a82a12453467c719efa8d3f1c95a038fe3a6a16fec3ee9b2f51e50e70b2fb4d7372ff481eaf71e0c5547f2e46705017d4ac08cf221fac07d809fcf0a4b8b17efa1ad3653bbd529f1add24e3bf195aefa6a17f5199f715b9df9fab56697f9501cf7de2a87c5b0dc5bbd6ac16a34571a5f619df3980773da7b3f65adb5561e321e321eb47b31a7e3f970b6055041d5f2f85744a05595de08e4a3beb5a97a25ea6bb375fcfc4d501689462bff7d20a8244fb9c2d2c245c3f05af8a7f55a8f0858c9f32afd6ace643ec747669d9387d9bd6718dcee06cca9c56442a1483e2bedee130ae6490e213768c809258b40582af8424e204c80b06612308b001c72e07e5acfffffffc7e7ebfcff7ff67cee3c4c4a9555565e4a261bb3e22b27a77631fc49fcfffeffd951ffffefffffa10ce9a5647afaffff614ccbffff3f103540d40071f3480081fb21f6999999f921171908419ba4fc228d28833e1696af070bcd799ee7d16969ed74ea0ebcea859eeea063341a8d462b2ee4c04e8d98d99b6bed4029656ed9ddd56c6f94f8d26070e6891fea9cf6e2d00a1ae4480284d1b57574adcfe9f5884ae14a51d7b98854442e608a12783f542f5fcc261b64708387ebf1841e46f460428f51a52a28b5d64a29a65404df779ee9b54ca0886a9d75567add860ffc3e1511ca0bbe121410685483f8e2cbe9d19b31caac5d57afbd985329a7de8a6b45d56b57dcf028fd5ce99c2b4e203b15e0a64a581e3d56de2920c6184f5aaee33ed1d282bf12187a071b0b236153d5223cb6f016ee68e9f8d7a1eaeeba060d17194d698caefa8d9c72ca9aa34e65ac206a649855552a56cb75bd0e07e38b6f8753ab2a46f5b6ce7cc662f98cd5fab852b9c2d74a4e7a3d260b874039690aa5ff6f0510627cb9ba16ecba5ecb9cdc9193364e335f3607f7cd4d73dbdcf2f3843a214e083be644fcd82327edbea1919dcd934bc361a48bc378aa468c7e1933e65abf18636481c1e7e205a5b4d6da5d6b7b9ec9abd686f095b25b76ddfd77dd6caf6966c7f37d3e40405c3dda0d7e28cdd445bbdbabb4d4272f7929baa2cbfd5632dd4ab32eb970ffb7db8de6e5069290080182c33af3d1e6e3a773b780c7851ff826f9247402650004e8dc5e6dc7b58d92bdd73629b45104a642c074ed4abbb0c3968eb980eaa63877b5d5d238cb5d4aabcddc70b116692d167fe04e444264320060174284413e60ab5ca66f4c79ae72554c45558cb9b6af6d01e36b49bcead36b95d58aaf2c65a9acca5a2a8d723ae7828a1523031c00012cae778e29ef2853feaa998bf482b962eda1cc15c262f38514a3e924a5e384b0d9cc6cb44e59eb1db51db5b675871d0365d168b4423be7324f717d29a61cdaa9515be3cc43f281409c50c621152b46063800021240298b0f88eba2ed13672a130093da172eacad7a255c7499a2ab64ed49056488249c93685a0dc3f9b1b5b5ca0012f185e10cd62d35478dcea25769abd65aa9d76abd288d314a8f96022000937c123a81626d10ac8b393253f9207ee16356fbcc80e41bd8ad56350b04a11f9b9bfea0d5c286c1c455c79ad6b6a6691bef5a30e55d0b1251aef2aefd80f1aefd74bc8e77edd771f07735fbacc34a9bc98f33e99a9168332e5b447549e538d2bfc4dbcc0dad24c36ab95e2f9bc6719ef31ab7f9984a99bad4270fe52e588c3df8c972bcf1f4f7255dd5d58e154b76be20fde19f3869b116de5ce3a4d5b317633cc31bfa2f8b620edf233b934371bd9e8db7d342a6cf01206cfe97f51393217d2f9f09e404d220c847e7ef5bb1a20c970e5763e2dbe1f8f560cfc41d4e351a786b076d9e8cf7dee0b8c9c18bb52d304710abea3e283ed3701fccc538b26344c7bd918616c672c6686dcbb2accaae2c0e8f4f72baf7d67e0069202dce5c4e7f0885d5c95615df2406284212128927a32ea939503d2747117638282c12180bd2c0ee2669afb3a559ca1867480972d6cb37ff7d083c3d91aa29c1137992a8cfabe8780b29c83616dcd05c83c990424e7926cfbabb43542131ab1096c9cba49561610893cd5635939930ccb12c338999d83eafe63c99b8322cc3648e9d32cc243499b54c429316686383036f4c6e5e604ab3934c084caed5f2cbc465f2ea1092a905ad105496c9acdccaae5c332ac3e45456e5984cca2f26372d90c926131a9c894d4d779f4ea8895d18b4a96e4395af7aceb6d5ed5610bf6b494b503535b14ff6d1be5a492aa23edb87fb68bedc67232283e2be5cd3a986ba29915ccee646ded255cdb71e15a9fdb4debc53ca18b9f2984b12a969111b5913a9b9a47b8ab9a42b12f385210b364292c166a79ac8cc37832a4189d0ac4464bed847337db619db0d57221283c9446622b438f232521aa91939b55822222f1c38aa276b3c646be94291d2771241b5cc905068bf2e7392ce6aab2723241882f0f9483880db72e9322465e8465785374feab846ec3db6124f8c694e4a1b7943ab672fe6743ec442bae3d128c764286d20900c9d454886307081b0442502050f0b28279663bdc0c8c2188e59c9b4382e391a356c9068259aa6e9fe40bff4694a9a9c1e9573be0c8f31bf733539a711e3a66f60482b0fa3e35c4e34a9da8ced263dc224fd8f2b16dc5c35a6b68ace2871e0c0712916cdd8af12c2c29763177d266f72a80a48440156c308a40e1741f65f9c36e4500381c921f6b902480eb8265e081f2eb00a9f12201360135439db4cad6213980671a3c789e4c2119326abdd8c40c2ca0be2064aeae0b8405968512e248a3e3882adbd3d20f37d4eb869011d41f3d181f2f080081d525d58038a083a4b7460137776b69a69b229e1e544131587d09f5c18e2d6f0a003139880cac4bfe19d06364c554abec0bb615578871d6a5dd344b0f1ae5fb61139155a58d8eb11136eeee6b4a31ce1dd09da9de351003c886d028f60f5809e0f5fe62ee86961592502ac476db93790e00215dd7545b8c954cba9c34638a1403e0afea5ad71ef6ca44fce44dc152126ab204bc22b093331835faee169d0a8f1241a49e6b995e4bdfecbfcff9296c84ac367e0df05741274389d592deee08945b56bad15d7fac5cff3793ecfe793810e07832e39e28ed3c61ccbc9d6dd334a0581b08d38547bfbb6f474bceee6d4db31808822642476ce9779f8bc9077be37579fedd55cbb39392449a79cd65a3b5340a7f4acc0d22246f2030b8d14560f46fd3e10288b58bacb552f534aa9e72623b0275dad8ce5a5c3af5f6c70614347270f3704827e39a087395a395efd8d567af0e4c90096b8b1b8827c9de3045c7e7c7cdce427ff92895bd4e2d596b0438942c65e7e8251917cc56ab95e7613bb99cd4aafa5b4ce6f82fdc98ecdd8b3bc141be76c9ba9a0da256211336b4c6442eaffb3acd4a5cc91c33603206bc71457abebbb71e63a5c4b0f459b880d2d65f78c91df97c968abf99ab791b2fbd3a9b5dd97b0849387ddddddfdff53322dffdc5ed336b1695ec0908102af19c21834171a315440460dd974d25ad2f96a49a76c2b6d944f596a0b16affec2ebe7deff59dabfbb39ad4c34a1caf3cbeb244bcdac68e20d1761a1479a8ffeee4bb49c9a4af1e3ffe70873843962b956cf43b87b9ae093cef931c618671c49d918cfba73909ecc514b9ef90001f7d002b6b336d3f6eb1e5ffc3cb937c74eee783ceeb11e8f2774c3f4baccc179e25c31fdaefb5963ed3ecff33c896bfd80a454e6111f6af564ae1dc394d58b5e4ff957b89d943f250866a8870ef0f034ffcfb0f13901d75f6a2041a54fa3a341eb7ba6b3f30c8f34f824cb868d087c70e841deaeebbaaeeb7fe912479c134f1f95607ab8d63a2527025f711124c87533e62064c7476dfe2e8bbaea9e971d67ccf9ee3ae7640e8783bdb3d9adedd0f75e3f528f38903724e6b16b71fccdf97ce76717fff2c6fd30f970afb77bb7b7b7b7f749ad3966cf0bd1b0012f7b9e17bac1e648bd50888ecf33a84360f7dee8edd1bdbdbd63ece8a1901c1ef2036fe9993362ec3af70fcd9e52bee7fe745c16157c9698410da4072437643ff800038f5012ff5d37e083fb94a8c9e02446100300265a408e80b942b48c28a1356ad1805dc21040f06ead05b820e7eaefff96ee9641aa870d860061a0813a80fdead183070f2490f86af4cee6dd2459a8f50b30a70e94de8aeb7fb7e75893d275addf895dece209666c308d1162e038ba699cb88da05b04a4d8ca3b7aec62fcf8ddc70e7faddb352a3f007360a1fdbb1b8445638ce00df7c3f25d878ed3a7f7cf6e2b24011b0da17ebfdc94ee8ca2b3ba7b7224341a5b9390743c492143319bd1666c2e5c0a9ad92ce56b2972d24b71c969e794e1a7a4a4a4842929624c6183a598dd529084296c602659cccc567ba5a4e052643199ed15c26229ab181956ab534e3026142d257593c226a5d4296118c62ec9f30c1212d68daf6d7f4a8e08b733718f2f27adde7f47f774f99750d19d5bf0725a9607425b7d64686c1fe0c786312b9bd95ac713518cf462c2a14852200d48a3a2a6a2a444a292d7cebe19c45d69e7f5488fb4f3ba07ca5ac55551a335c929464222016356a5a2c5a00865c01ccbe64261d9970a15a16cf62dd48b0d59282d1417ca4baac8793721a48f19052c16dea09881019a89a8f4ccdeac8302b3c60018128844a22c4b721806a5b3f60154628b44df0ea3a251388c44210a8250884220a088328818600820303235440ae292e5497dd724fbdefcbd5e5b9e3660621cd063afc32f62fbbbe1f46df01394eab7082341662e370342e1ab2fad65968ef1818afbfcdecab68bf81cf61fe94b6af6c676e5247cbaaf890e3e31aa2dac082b545253c0e402e3b19b831f78ce6c5b579f20cf054a1d63dc4cd6a4cdbffe28bb7d016ac992a4440fe5909069655db443e45538c55c1e085974b8ef9cdb83d30c9d1177e5229e2b3fb7f243ba682a47ac09707db05307cd1a00f947d99b1d9dc01f6b0b9e9ccb04521c7545b7c907d1ba24b361091cfa44f8fdff6c09fcd443cc6a5ede540029ff04d72f06b2d39d83cfa87e2419f66a05cd4036cfcf53ecc200f08ef3412bc3a2f752213679a4d86d457c44db60eb385a9659e17afa7042c48eca3e9f2c206cca4f02ea62488e8fce0cadf09e6910777b22e781b8026d691b77544339d31eb88356764859b1c6c5f19a3612d2bfb9e063bd8fdbf61a5924d0766e367c3ec2158a2bf7265aab38a472a76cb194d34cc5b9a8f2cf59725d39d18806f3b7fa1ff21b206e0f2bac5f2b69bb25060de8cd60521358b16a6b3c17e6e41694314e2412738535d89674456d26af5f2fd3b6433a1a024e8bc3a777cdd3bacbb828fb40ff46dfad19eec74293596b9e507902f72287c7738b4d40154d5e41796f781bbfcd8a06fbe6ac784ab6dbf80f59abe6137e04a89b4ec71fbba84a6371289ac2d50da0d705a18a245340c580b149f6d6929c51f5bb727ddf60d0bc6349b1ae7a5d397e7b1498aab69c0840323d0f8e2b27ff8fcc5a783c517237e912221a0aa970e99fcbf5df1f7954d2908f08c9056c8bd4ac06758935eabe6894915f3f601aa6f09805098a7eae2ab587a23677c529f9400f3a29c949ad0c5ec364f8a44ca5528167b5f8c4817eba120b2ccde7caa30b8306c828ff05bb5f3028de8e2d6b4489002b8f406ecdd8ea661f1a5f8e1b97ef7845bfad9f0df94eb298e4f2a5626deac654dd5785614b6ca47679b232acd2da5bc3e3baa3aef86c864b7ac5a7297d81d98136260662563b5271d638b604b2d7aa7135e656a00b8cf61bb49923246afda1a1d214686ac9d9fd590bc75c318392050504cea2f5375cf275c4a5e049d1aff8e9018e0f2f25ece73a1b693842daa212ccb030b5972b2069b49571af6b701b55c52b77f3c7ae6e1a5379450aad45ebf8247fb493f5a91f499185f67e124dfa4baf029f98cb1fb46af49d6a359685b1e78ad3bd27d8d92ecc038fbd1b4614fa012cdf454998d45b0466fdf4ca06c2085962890498aa2ec47f2116d3f42e5adbd26db15bc7ed2b79848d483119e0ebe98d266882ae979446d75b433417e6fb19007a84b4083aaea0e3acb2c114eb08d05d3896a9246a598be9f920b690ba15b7b0a2c0ceef7d2241ec770553323c71df4e8ef8004741342a3637bebba2e697bd6728cd21bc21c675e48b09111a912c0804c9f0323b3d13abd7869fdbed8aa1dbed82f71ffcb4fca3da26947cd1569cfc9d831f0df4c435989d561bd265a36e77c1731858331b0a3210034b74b560603524c3c02aeff7c106684219067c2a25f77a7bb37b4947c6d3ebc7f80855d597182d33695509867c54f5b3ad5abcd77347b7cf3878b89f8d2505363b43da671702797533f6216e9ee3d9ff15347b8c55125188163247e8248ba3b9b6572f43bd7fcf23f46ccdabc74dd4de1a1fdb0cb66b2a43778ea337b6871704443516f65b1cc71c487c362abbc75c4a7105e5abe1ca8433b2cb6c7b35f73a0805fcf750fcd9a3f593b55ba74c373f4ce8eb2b25288e9fe6f55a1c02aa22b83722d2a8d1e5a2e5571af6a56917c0462d05344e64422b3980c3dc02157e432332c2f52a5f0886488a3d44f4de43cc4ddf9382a15413aca6cb5b752315fe6016e98955bcb20b175fbd64dbf771dd5c05e7443c9cdc1be748e728d18d65dc000b5d7d815a609e4d756f0d21926f7a3090a4e4602f520bbae517ffb39541544b5ebaffbf2d5be7fd57b60e3fa739baabae78382d9d6a6b971a96b65cf2ad8c22f83636284ae73cd7696bf0e0a4a11b88b6fe3ad140e2c78700a6830fad93b9c617dc6985e906262281dd66e8c300aff015d6e407f976b84048060d4a0bd5a70ce0f9e1cfd368562e2ba0fb93ffbd88313043853526b7578e0d18e755689e87405866b37324a159ee5730f216a400335c83e85df9c8ce6df7237a9d0e50ae449c88dea33a3b46206ec913293d5be2594a7587844a4525824429d22f7d3a1523ed80bf6651beb5bbfc00eb663284c95192e208119a507d7575111df7424d9f817af413d4dd43f6d398772406575f684f79e16a282766eaf9cd3b3eff463846156c03aab7234fb0dac44389edf9e28327b2786a352962d77e3878c446e72d4568ba8bccbcd7e02c9da7669093c19942793c58a277465384a9427e2576b547ea555f0a34433a259d46ab1e54847188bf56e3e8b2b4ac49b90b341f8a13358cb9be82a4a28fcc65ac55268357c7e7e66a8ad11364969191a4e32024ed9cf0ebb0e5367990f5552b7e8921c03cde01fd13acc37664f7324346c103e14e13bb9a031e2063d846d2fc27025b93d0ec71496ab545fa99a9dd0fdc49fed4e707ead7327ed1c1831431268591599a9f5a813048f36c6d82e84c3aae4b4fd25a73bb77e9b88ef1f8a648e778746a9e70d80ca014e7f3e2ee3dd565326cdf442ba0ccf8d96c6e4027ed3a55d227d204003bcb667753d64cf2952d14e7bfcb2466fcffccf3e1f515bdb56a0934172c706cf1f9097616f35061a2e43d47e547ef7e31eaba725c32f52f8cbabd317fdf1bc33cb587d39f46f25290c46d740e0be7e8e19d82eb4a0bb01f1da1b116f262768b4519f17d8223011f8c7828ec46ae205f6d79608b4c9eebb21a7114224e9eeb80a470fccf2497fd84eba1d67810b2e2f5407b4f045af05fede54403eb1c4439091ecfd53c52ea7ef13020aa7d44ada6d2a596608ab4ea12f0b26ae1185e5b7f340500b27f50a0aa47a88be509d6bb42c7ae883a55e5f46602891b93453d10163956fa27380f3a76ff3871c0c1d0f9e89120910ec0cca2090d3afd1006607cc686a6a595957be698ae6bc823a54776a6599af691a1bc251e0dc249f9624bb2ae5de3d67c7dba969ff4010a4cd7446fad5f5fd982017f6b4db9bca2ad2bcbe64e0afbdb0f9ca06048d0a996d20e3454e21386939d9fe1733cce8002d8e90357c6d8b71fc3b48c50075fe161c63a845157c2af8bb996bddd43ebe7f1642dba986f6db769bb83f203c34679214d9f27cd5c865f761baebd920a29abb9be34d70ff2e46851883b575ad0cde621cda42bb6fe7694cd61c59790ae14bf2b3a4c4cc74317018b3649f41aaa3c8318cb07add7fb2d51c83d8e0b49f1de58fa781cfd14b3d61775ca0000ea32d72f5a2af45b808b83d8a174135cbf0574744dafa23d8b2c684011e0ab91f7635b86ff2be02b4147e21ae435e44d87a0ecb413c09554cd888bff1a5fd014547ffc553ccb8a0ec812fe41470850c4eba562564f2cc1cd2f86f0f6a998748fddfe06a22b4331685cc8cd955ae77083151f1d9ae64b04f16b8aa533f8eb10c2be0d33ef64e17900d815403a48efdcf5a6783c7b8368f9332f591d5149bd90c75eae207ff80b30015a7409525c089f52220487ed104704b6a9934b6375f275645bc9e2b7d5d33494d7edf97a70c98e76e84017bd0f0a4d4c5352d7b09db00ccbfdfbb9e204c4dfeded0d22121f570e543c0b91ed1e77a9f38e237b4262d661779da98875b673bda4203285113b07d701418d588aee1b540ab064a5504c142558eeed936eb92715c3ca7c1a786eafb82ab3679f08ae1281a5619efefaba79fb09dcc003361c19ac040edc8e2a7bc081076c6a8813a28f082e7c9088d713443db4bd07115cc9672898817cd7036829e635b45e57e251dc34451c6c0a038edfe8eb3d8f84b3f77aa43d6c2ff37bb0606ecb77ed9ea91147e675ba02b4e5c36ab18bc46b2ec3406572840e45c14afb5b85e3518c745b04652744f7440ac45dc50123114189bff8347e9f1fb7ddc5bff975a6b234196376ae6e791415ecc33f043fb0fff788052dd896e4573996e8e26c405cafe8b5bad15b759a4224dd700a4960f558591941916e48968f792564b894bc24a76751b5003c251674a86c6ea1e6d0af76a23655f0899300f92c1a5f12a600f240ff61fdccc720ed7799c5f7aeab6dfcf2bd80cd5e546b93d78903fea6978c2a81e8a3e1a4038d6f91696c6e827d2b32fde76debc77911011f4e0c2cf8dd53e0a0b841b2a9185cb7d9d2150dbe568c935710279806c95e044edfc4105f5d42e90a468a9bc935703ea9fd5bd0382715bd801c7e73e384645df5c5063d1cd4977281d6bfd82da91148d5dd66bb68c36ebd44910ac0070cded7094cb501332ec8b76fc3240d65ca5f195da3666b4fa04f836565d2ca0f27c48ec81b625c967624adef99f7d69f7c00e90f382e07396f678dd6bc3812819f82329070e24e3693944b79a8fd7cb127a36ea277e2c064a858702a489477c274d6a73eb9cea323c30abe926da52fa789eb6f684483810a1ed05b4cee9ff19d0664315e75e140878fbe9ef3d134ead84653f1143efd4bff2a9aa6205921066156ca89b67b524bf976117878e9b3b6d3c581242fa78651a8b03e10bb8d2a0c140d8260411103fdc843a0d21689f3e7c763004f9e4785e80354523473fdd28f2c1901a85cd8e83d06f21824809ff5d14edf8aff0f67fc9edd0348c4ef3acac33bfc3ec1765cfbfc58577d23cc21f59145ba8d098c05a0bdbebb111af246e84c51a28dfeafa77565ec8f4ea66abc2be80030260c73b0b65c3c6aa60600c8e2d29bc67be6081d8e14be838c0691deccce841ff154b0312306dede7c72b10cf3e5dae3555aeda70575d520b5ac6c56870654ba0d98ab202a18227a51be3273586f3ade67709a048e8537f1f5d612138e1797574e719f95a4f8c8183d1a7370199802f2da55262ce09302b38df68793d977370e3b46123087bdeeb9b7de1a08d991252d99e982615ac650d0af53d977992ae414edec60ff8434b9b7c47c36b90e39d8e9ef27a9e0fab73f32b9c7abef4e8cdbcd2fd504ec5bdb8ac3c087976d0a1cc0f4de410c1f429f1d91568ba2d940392e62e4ec85da713ff503cffb6c958aafbc9d258f44374391c714959966e5a7dc3172e6cb1198176630e298ef2336c6379e4920156f452aa6a51625725e91d3a67c6fdf5d460a2bda46745cf7c01e5dafe4ee8606b2a30aae1ca08f0516e804eadfc556fe736c638a7af53395b88c5993fd219bc2639930d78c28f999b694715dbae7e982ae0aeca4191caaca9c5987774d9f5f2bbc20771bfeef32225088f94575cce051b351f132e3474ded22a4d12e3139cfbaecc1db13a3b7e7b4c25ece8b6ca921259724a87a762a4904ca4a7b8ee30786e1b6770060b652d7bc221562cc41946242efb0234892a5d05b1bd5ef0ec472eb5c1dac2552f584a41bba58ec41ad8217fe1ed7dce9a44adb32d2670b0f211c149af0d6676837f3035ea522766c72a37a8d00b5329e2279bca58b9241884f1c777e12c50fce8ebc46b771ac1a005bf4aecab81cfc57f0f692bfb214d0ab09831ea09175ec3d96d67e45918f74db3c5a86f04c22279d25268425e839d19a508ac1b086e1c04e846f111411cb4593f3e31045cb53c274dd487f6ff4058bfc21529e75e88eb65498f8561dc5a2b3655c9d6d8df797588f8970af35a0e2e768e3d5f232f4560501b52a1f013856e590833f21711e40dc23feff3050481058613d1b5e87f0cc6152b615220f846169ab8b6e34ae96b9f2cee2e7b50387c32853e8cdcbb07b1c8371e771601314ef6b44a22b0942d024fc4c42098e61d9c6c7eb966970bbb7e464fdbbf89453ff9e7d8138707f50f796d7352ef84b86ddfdc86b5b1e3136f368b7736d7544b32650c854f00c21b9de855cc7abc3eb693252274e3b8f41ec2444ac1851003fc3bce7fa2f9091ba1660af679248a3fba800539097d226ccaa7f152471ace0f388ce9fdf4d279fcffd6b38409c2b96947620d48dd1375894f647db0cab1bba26286889cfcaa980378c66cb0fa8e3b693da76eedd1c43fc8d7d8cc24cc329da677ac585df9234c75511ae70d4c6fb0aa0c2a4c19590e2c0144564ca9bc88b2e6ba547c468c83bb418ca5d06916181b6ad3ed20be87660efd8d0c38c0a85c8a4a14873989539223740f5af4cb28f99e80bf5ed2df17f5500617cf6b3c5a0b60344b9115b7eed0d3235686471379f2da5ac098d1fe0813fc84f019f7d6f280fe9976b7ab358fca3c1e8e18914f7ff986ec1c8f0ea3c7aae5a95121aa0adf8423b4692f3083982ac598733854ed62090194506d1ad8e66b28905ebc2da1758f60d1a188ed7520942cf289b935d56fccbfd5871246aa0f46c89678b36a421f628fc1d36fed6c5413cbd598700347f3ab169800ad7fb631939037dafcf4b82f68db88a7f031873cb01711326fc3440f40239842a6e0e51fb577fd4ccb5adc948b5dcf85f5ec884908a7777e53e6f1ec57c976f3a284aaf2467bf19a9c1cddf07a8850ee9224f9a59dd84c60081d51369a6cc0e0d79516713dc75c9340164d58a7af2eaa2c3cec65aedd53a992fc9f69e09a5b3d2fcb83dc305bd027ca0fa65d9149f1563cdad0b7226b89f529dc429776e3c113486efca3b43e353a6a34f1d5a66c67f824c13d33df3a69c14328c7ebaf3bae02dde9b67e27884e5de3b0024e65bcea10f1b1e58b0ce19daa69b5487e3b87406ce3504c7a91325ae6f08ec5975b7b80d65d3b6d13067402c093351f6240125ff29e2f9576ad44c3a157b0dfd7ff0160997c5526f7ed189374271d85f0af6e2c24880b6aeb978a8d1634a0e4c8a53b1aec2b25a8a76c83c96d37c119d1eabe982e28be8dc20f63eb7ed0ef9b427685923f5631eb06afe76a4083f701e3a20547cee97f4401d919ec80ea3d8e30152b4e4c3c25eda4ebf107d5853e732100719086ac0d988d13e60cc78bd0494fa3c2e15403ae69c66188faaca9efa846f9a10269c906557ee8d973aa5cebdb3c28cad83fdc216e12e82a5f129e5a18eee2e81a3a2d23863a3092ca138cecadf710e3643e0800407a7d95b80308103e6800acecd14ef6c0d29e8f088dffb8c63c2de2a39630cc5eb1be3dc5db35412da107e72106f53b1528ac8a3f3fa8ce11b4c18b5684c826de8d360bcc3a5d66655293e34a0e0b9e309175f622892535f3ca41c327071d76313536b27bca2144a99eff2a69fd36fe51bdac20773f58435f82e859b751e4bd0826d5e4597b71bec5a3f1fc151f4d64f34a9d45764b10b788bf80fd40f221af74c28e684a06cb2877f3d255bfefc91caa4410755164bc19631bc9e05c14971f2cae2c0bb0535a31df5182587ee71ded80e6cd7e72f300b349e2e064940dc81e6679a9b1860c73b263662ecc92c594a072ab31b47c1c8b9fd47528ded897510bea90f8b119f607dfad32398215bc8ddd639282caf34c6c2497b37eeef33034dcf5a7dee3365cde1d82aa7f5ba94b977e831e0d010dd058f408f9942638bf5837ce0fd5ef04e42e849f0c9a2674e6da93e1d10ed05c8b1cc07c299a8bae93311dcea296dd018c89736b23a6740bf529580a300cd111007766d2b83353fb0a32d76a80ea66408476a87e1a047db102dd817f8ce3209e8230e20d624a7956e9a81013a11bf5781b8628f1a895923a4938c8fdfb363e2fe49c72d982cb2faee91251c681b22eed3e9bfe627863a60acc73bf8df065ca3117d033c99a063ce647f432b2dd8fd7407d2a1f22e74e45475e3d0edf55cc43c3a3625de680880294bc4fe054c2456cb390041a931b1cf0b9d5de94663f5008cbca744b00eab3bb7ce4ae69f20160bc834d5e185f766aca2cfb82b07a8759e089c3d130b953230b03f1f3575de0b772de27b40431b812eb46b5d5c4944228d66525a2a5b96fbee48ce2c8c938d7c3400da8b3a599775600e414884964aa06fc8388eed61a2ebc223e37a436e9d2bb911412739122e0f60abdde003498d77a61468f7e0082db0b47be3a7631e7f081b385966ae64d3c67e865da9607c7a6318e72d54699a034bbd3e9b5dc44429b14d9cfbdefc08f42a84e8dac4690ab92ec6f416d1e779b8ff67d007a8a568ab1ba118fc1c7431d4a1af5eb97ba6c0432c1778c207cf8c9ba98d4a4b96d6f9c22e4c931609dc9d295d209f1a17a2531a62063859ae075da6856a63bf7785d37658c514496642b8fb811c280076a06b1b74df318c48c469090921a4ccb51cfac7988c484c276e124460e6c88ac656db37894a280f8d9d7a413891ecd623dbc1583bd014d78941bec815ca9fdd2357be618746a39766832966dd806fc6fecd3ad602f7076afb60c002d274f4dda6c88d288c784284d948705917691d6b4312ea2eed15838668f09601f62b3aa3286c945fc81193a95c7a4c0ade64ecd652162ea683e40183fd64bb37219958c7e1e46583919d0d6e213e4abfb52849b284aeb41eddd8aa2610b68d12e3ae19539753d53739b53fcddfdb0dfed05d546bdc21d44f94375ddc5fe1c4b884feaeecdd66c113e669e0e5b742b0c0ad140427625da8291eea5ee23ecc5f1d2774dfc37700e4883bd70261a0c5b52a088a3834f7c4cf69d8aec9d8488d04aeb02eaf39093005271fc75a00ae3a8683afb197643e35db39c72cb6d6785fd7412560aa5b159325a3887b16abcb76b8b76443d46ae70ea6a7e4ff0bcb347cd79312e87c41a61f10f27b1309c55a714b654451a2cae9724d903c1e7a8b3d084dacfac93e140fad938e1937df4d398bffb6d21ace0b7eed4565f3c1b5680aa5454539f1731e03f7a1d3609f1b1e3b915e520cd6f13d213e2be9fbe52b27a6c81f520370575d688a32a039c144e30f0d390590a353d735d8b3fd57b81a7eca25e3c573206d27d2d42926bc9a0483f98064012b2bd92cd11a37a2eb997fcd68b14a6d5a5b2203155d74247155bfbe2418d34d0fb5cd8b962fe8300ae9acde231f94b69219d48764eee14c57604c56ec4f67f92229c51b78297532d5e9429a9cf26b50e31ce2ce84f3e808eeb0c43bfcbc669e9a9aa209d527516b465e0bc502375be4610d870734d2d823df4f8ff8dabeeb36408f25c315f66479eca3dc9fdcb63e2bc01809eb44e9f4b4d96062e88756b360148bb5a6798fbade2dd92653c3b66f7c19e27be4c1ac8effaa4fca9c8218eee997ba5f16e1c2cf32b0c890e9f4052c01ccf8eb2e17659f6d34db67ff06a660f5859665c5b0b3b1ac38a86761f439d79e8987bd1c616fd821d1ed29030da69074162cb352edb658aa7870ea6b41e57c415bcb56286785ab1d6815353d484b16aea8191cd8e62a57fdb2d0048f0ec8286398cfaed2a4adb6f65f4491ff6bf35f6a9221d8f0a05ddbe95105380a35a3df413e4619a55dad42fcdee24cba50fe3a1d449976165e82efacaaabcb282004c2c632d9664899f5dda141c2b85f3d5a946fcadf28d8d3b5f33e4ed8d5e6b3eb0356bc14318b81b0a81015a2508423382b485d46a185a72a0275842f1cefe5a638ef37468ef92ba37ddd68323e829eca219f707453be76162be60b93b1eeb0e8d134a7f206e71666e4ee52f2fcb9d0d527091506680f581b631bb0605cf1290f05008260cb7158b124bf6d53abf149f7705788ee3f6b9f1759af2b5586615f3f26de9e5ed006cbd33757069c9977bd334f13ea79d94ac9d87114d0bba4bf960fcc4079c8eec98d18fcbf8fe9920effbca4dbc92fe9ea9af48149d72f531a9ffed59cf36473a5cc3b8bc795a64bcd03e7c8939c11213546769b1640129af23ce3050cbbe38f82767bee37ab964052ae3b3461cac3bbb9a0946f6e87725f82c74bd3c9f984ce37f7c0b42a1dc776fd8273f21bdb804130e29ced95ca78a402ce258de80748e780c197a1021614748e55c25c63008ef8fa6e4765d0b94462298968863b3fe7c8e99a792bd5f2df57308bf7b1b22c0a542b5174b545c60820d3117f2a3384cc318a646412045146479aa598cb3cafe75d941c07fc221f6adcecdf4a47420c3005c12c0267f9cc56c218418e44ebfdcc9f7c0c02b5c1a43a321c89d61e02ee911e8129f35c908c3fa24c3facdf636aff855aee636011f456130232dc6bb9e7b7d47340424f7eed01f1db7901728c4977e4c8891e93e140957459751bf9943235d1ec13c276ffa27bbf2681163b33cb794b6dd0137cf14997be0518de1d009de53165600a77953c74771d3948a14b9071aa5cdf0a06d01e78e1ef38817c76322339e89f8caaee5f98c70647ef7f911159e6ed17ca29ca9239c3349061abae23b620aef4eb322a75a47e3bbe3223138a2c992fc9573d1654fd56b90a8972f582509cb4b6ab40b4200caa8fbe08df9c98b73ebff5a9c29a75eddc0cc9cd07713ca67b84915f326e342a64252dbe8da322f188da59312223a22f5629c0afd6924631d1b204ec9556d14c8b675432bd27e173fe80f28ce87b9ae3fd86cdf109249ce3c99b08d45b317511290814e1477762c1cd546f44611abd89e552d583d9a248f78a1b85d4b1a7e96afc46ba7abfecbccf21f43b2621e2a35c9143c5ff070b377183a3fef06f3a97b49b28c11e22ee9fbae0a39a68d58d4516e6a6a21e9785f438518cfc426d43b3693521a928e80da3534da05e2fd3ab1f549a4c7abd74ebbadcc8e06e4c57329a47b6d3c9653ae66581ce76b36a228d3bd9b73339323eec4f1049e12327e7b1d49d1e4b638f2599b8ca9ce2097225d0106e8a51a7f8ecce6db9a25c0aaea168fc6609c653b8a3a8f825f436fad2b87650aa84d00c6279fe7f5f8ae5cf44b605de09985b94888173fda5249175f9acb242c7eaaa21b0063600f634aeb83447ec0a2800c3ee7f88bc6de4124663b0f664594328408d40876a240d629325d0d4fe90e8a5e3c0a03a7408e77226d775a1bc6a62c31c2098903b1cb0b68e9a13e4d1f03b03c682a1d1f78dc2edb8f31a8cd192f53fc6ec5590653152a3ae90011db60e3b4f3ca766d9f7b8a873362d16135474d04d9a7738fc72441e791c97865ff1041d00125614cf990446440908301ac47ad7d6282d0d342bda094b9e8672301b33b6184a18642e3004b8761b34c4b73f41e9380a87a0778b243949fcc10eaec7b57f551cc410cc28823666a39ade6438a2c04520afe9352216304bf437d15a2c1da45b3f8c7cac2ad0de14cbf7bb525666df8c1e93a6a8d3815568974563eadb3de4cdae2272e614a9818c2258ec89c8619992b50c6faa066b147c0005186a389ef852d0c040e4112a9ff1bb0d49e4481cfd0c53fdc4a80a4615c29a222d4889dfa8f8ab0ceb74dd01e2631df473f8b0275d664c230f66cacf907fb68c48e6517549c57aa5385a04f6e05a39e0aabb52567875aecb2bada55787e0f64a39f2c5014cb113e57d0568485d65541e106fef91a98f219cf919982d43dada93296da7c2cc6205cf555bfab528eb9935117dd86a555fcdb6ecf42052158ef7da1ad0c791567ba0ff9a9f35f2602be91c8f2dda9acee01b9089979c42074bb7f26653b97dfb1a044ef894360e02e1dc39dfa6cc97671f60066fd3a0d64ab9f73ae5656588f6193927ac3ded8499e36626aac43a5849e37149fc17381269ac63eea4792ee166dd34ac397b1408f405308ebbee9d5bef0a6bea680c8842c7cc64182c24bddddc16c35c35da94c286500913de08574db44a0c24cab5c56ed12527147f268e98b8829639c803be9847340ba8a95a598dc494323f0103684c8356c5923564fdcd11e083c1b1c2481343a1a91064b02e176b94d971a4f6602ad70ce0c8d029ac7c11ae24c24d4836c3a218fc5f841f20b63f3ab87214e4ffcea6b5d41346e87fca16d15163ca4e005b993a50c3912c5b12ed493175c05781ae7088dbc2a3d9ae368821c1427bcfabb22f403c804a8350110bdda9ee9dd304ef648d030cf697f5ad66908025105f3010278521582f1cc318e0456bee81700cecde70188871f71f8ed3fc68af9c75325fa0f4dc3399bda250e2f3fcd33ca2e6ec636984d26e41268e879a587c0a30c0f988756908911d056cec0c79e6b0b421fce0dbd61c944e8b751535565c7e8cf11ae5c985fd6f76678d42bdde1cbae3e82f2697d3dae734bb236f325009472fce3f89e3a211ea6a22ccf380d7efa6ab8cdd455dc264c3c03f926e3f1303f8874be52336f707bd1869047a7811fc4ff6aa2bd08e13f3a18f9cabc2cc93c2692541f95347358d3a8504c3e40ec5c764143b7ca8139e14e41daa958b8e5ee37b44dd9c609282a4d5bd0e07afbef6531250ea08e04cda9a3c084162dfe1756dd5246eeadbe741472caffdbfa10f07ba74a39c0415e692e01a08f1572ab90157cbe85da328f93f4faa030cfd486002e6963731aa57d8c9563339a7af15d79f9752af706f08bdbc066c44942e2365b719c3515b105b945e9219262722c181ec69c180149947e6a4891e1e5eb841a5b96e520c68ab9e5de41f237aaa8262d4551ea29c97ecb419120cc6021203d03f1bcfedda10001440fc7aff0c92065185f43f30251818593e0c122246ec9947eb19d7d029c77a009fcadd498edaac79094553937904b204d37f29c1ffd13d78d27584669749d7bad4ae454bd9aa68a0c13c9297f88920f55c1679fba9e43c49888cbd9714b3683ce7a9e3c088838dcafe62724312665b0fe69197c7aadf567d73900dcf90ee9605123b2f968935e0cb1097531b455f4359ca72244e1f76343b6bc218582db1f31241c06be0432d53793a9ddadb2c13c44e7e4c239c79e4e3ecc2a2b2e556293a1badabb4372e83bb37784682e1b20a1c6405533d2418c0d561eaba600a0e4ce5b890eeb006c49017c88f46ee2a6065a60b395d837820c32efe058d7f68171cbde9f45e43c13dbe6358ba6c43e79a18c4f2fd759e35b4d8fae2ace77a6323c5262aa37c20e260ccda04dd070617a309688d2132ab412700568a490771837aa680403a6ed6048a94a84e92ea5bb2136fedd59813115febba077297fd84dbe3c213fa335d006b8d89e698d1f13ffc5fb2fcd44501154311ab621e03d45455fb4bf21408ce7180b679c481a577b97ac388a086b12544fc87b6b697ae1deeaed4ce110fe958076c1afa6eba252e3c0dce553d11ed4fda50de5ce3f67976740f3f383f8908821eff9da5f00d94dbcd4502ef4c22fb5d6a6cbcd9c76a41dcf6c7d1b220e1bb5e7b6961ab2f178ab63f9afc810e86c0491945a2b4f842004ff5c837959c68f235a300043ed09460770307082df3d05e13f1fdf920dd4477a1f275be12e1f44da1aff3e06087ab4ff3776b3b3874d02480c29fce27108b89ede0b7206495362d4e622c35c40d9d98a8c1a17b4d0d5dcfc2a2800e9a4b489326e9b2c9196f46a27c761245a80c824ac787d05599f82d11ef10cc9ef549fb7046831ef5c539cbeea4436d555db1791d4aad34cc975d19a3e49658299181ea8c3b4fc9bfa5802d8dbc55c478eac3c683983178e52fc0d4d1d7402e6909ba1ae8aa260765e3f3d3d408f704eb0143a8581508e001e925321a5a4d9a17e7f006408373c0502bf4e62f2324263351834b9070d3661c02a43779ee30589b616a032d23709bfcfc2942079a1eb257441e906ac2deea4f281a974af39646f702a72758f98909dafa20140720713667e86a2f7e3e18cd89f961f9d1824431598580109369b8730c3442a97a56a9668aca76192ef0d2f32f3c68f6d07a760d115ce38418961a6e97b9b8dbb596725fb1b0ddc9d4d1cf625d46710d9d1f3eda01a2e5dce57ac8b8bdd072cf68545eab22931c776a2a4a3e15b35b21569a8de70ab1b760151953e456224c106d369c37dde054ba28a403ecc9f90a4d374cceaa186bcfdb6a87c29447d83e1b655ff8f7d28efcf40ce0e699ff78dc84749e8a0dd379f4585d024c94484642b924b711d4b41ea9a324da77c03f9ba2a3dc847fecac6dccf78592e225953195ef9318e824275ccd37adda30f4f5ecde357f05e61c3cd27d63289fabee3fe46ed327264386018bbc50f0378b8ef422af214a91a7262509a3bc620087479b771bf0986a436682121214d1a3fdbd02011e198166139dc176c64b8f4cc91013ae914a22df7e3cb628af184b105829d84d91a3348a19e34a45c01542e2a20f8c138d838439102a564c11845b8e3fb1d68aefc2f8f516ac5004e56eaef99f2a3f6c9a22f8b95411a1d45b693e42f37af454cee8d93c4b1184d1e4550493038ab7dc6993ab1b4e00e9c83c0da6b29ffb99236dd2caca16adabc304744160fb584ecdce12275b6d943e3544c00c57de93367c9addb2fbd149cd6b279813b0e7c18fecaeb4ab05477c0d805f9a2b63a442f14ddcfa52ea126fb6704fc4905b2a8e58eb3423be2984be11bc9f54e622b1a2fd57f99b5933e51dfc3c6f982601d58be7f55c9b7af6859adb6f3466068430e9490bdf6e4c344c1990abb25ce9f1fa522a486619549dbf7df6f7ae1af3ccf454ea36ef81129c8efdc8421fad1658480d8ddc3bee1395312a3fb755856931e212bcd5b83d091d762de70b6d0104579fa6f8dfe7b41d906463defffe14983f7ca89ea25e5b7eea231d3ee0121025b986156c92e0227a0465181be1d80e923b579c15cfd99fe8a73cd39e67283e8cea3a451def49c22fb8f83ea57ed4e177e11d586254f40452d9ed1cefeb6367ac6d5d78d3553133df1cf3a72aeb60a34e5acab1cbcda3d20365003e57da6b4d03c82d00b077aeca7a1c110e21624649db99eda6f876d2a02a9dbf2df19075309afc8efd2041e8285fc2bd07c647ea1fc56ae6ae4a96d56de7e7b45981131005baa462886532b6d028dfc429aaa9a046c836bacba21335303d1502ce4b1fbfae02f66a3fc6d4ff8a3f3f9e7777ee0c1273e3f6a7f82e03ca4e54bad383e8fac4df250e332a41d6497c559215c8a0720dd7d461a2b4cd30ed7b2f9ae192509492ad2af5447a552fe1d2b481a264e15b86ffff1846e682e8cb8108dae31589ca3929e75c7c5767cb37a1ebec96f7ab810236a7470a9eda2bfd3f323b734c831577709e7590e3d74b630ebdf05c33461b29addacb2f9ed655da35cc4b91dece6fe8b997450f031ad6f830809b8ede6063f81e4a78dcef179634e7c2fed6543d844887b6e2204732c350fe7252c95f2ae588bc183755254c609b2a96961677fc414d8f639a4b59749cd45f622969fcfe60260456a80c33af806e0fa7a9992c3ab1c047493db9541883577be6857bcd38cf6c80e20332bee848ed998280344857d2de65ab43946efa8e1e26334ad35b97cba115c79517fcc5cdce413cd9048ff65ef50b4cb10b909a7627d6ed02358f5264d624274ffe3a1cc76ba57a98b206bbd9fbc3d3432a2d1aa9e284bb5fa7897307f24d3f48c2e52146477b32a1baa61d7c0c286407185db08d0317299c336b90d6f0bec6c9b44f2ab3e3d2f9b98773d878ab3a73ebda808b3a06cf3b116368aa8d671b1f841a6495e0cd27d101967028202f394fd70c98e5b33b0653195974ac0d7d93373749941c4f664914cc94f057880c9cdf089744718d1098c4d9beeedc82c3303c7d4e195bdc7c17bda31e629040f2ecb869c396bbc75ca2e7502d8a13003b9e78f5479c66b520589374e2a899cadc6dfb34c834d5f00db528f182362b31548410ab550a30b65508439ba44d40e446da3ee96f3a7238dec677ce2a0bd9023b7bb6065aeb90d76323fa5d43f15a1708ee75a1d1b49b342d7636d5748c0e8658a2c0f27a00b90a1061a6bb29472ac05e4a5699eefe88a231bbd265658399385595b94ab9efbed37ba510fa5ba93e7a1ef0ca6498f4af9575d9c565353436f0b5cd34f41068c1fa04670e1c1c3cfba12b6d4a4e8a78a8d29c1a5bdef4ada0cc64aeffe1bcdf0a59d58523aea7ad3c902fe0fa12d257774b028ea0e8541d3fed6de850d6fe9e907ef292c776df3287925c613545c78c44958a33c3dbb8363705af63bbfce225ac0309037444b51202e0dbd4a62f25f4869f670fa5b89c0c46b8bb0169fd68f2443212eb62873b2ad6da14b0ff005b27a1586d7a8b6b20efcefa55e18d9535cabdfb52fa1e803c2aa9bcbb5d12616a6ac3baa8368571760f9354909a48c2362b8af250e066793abd68e647dd1b11a4dcba9841850df49c64ac9e3d396aae18c6c8f986adf44621e4c543203b11c5aac8cb75879f06c6b8325a7083244ebc67a3801945281742d2bb8da842eae4a00998f069ebf05bddcd7a666e3b83232a780d9c298eba4e29a511fb41541b3e24e3e7d0bdafc2f6266b512d01fe84427de6f13e2d6e74d60418a05845a87708666843897ee9cd89c11723ca1d16413dcff2edef0c65a60ca1d93095b667a6a404de2076de0e4e407ec5f51aba63a161814bee5eebc03cffb09bca8d2637987345feaa3d58b1ef593406a0d6c5991453a8b7ac2bebeaf7ba9248036c5d4d1cfeec81b3eed4beb8cef184524216ff311ca86678c240504afb03f1077cae9f7e3942fab360f163be73ecc32e746b0b9e5f59ed87a82dec9bc6155a02db366ed4d4176e1e7328bd682423875647a1f707eeb50736cb97157f75e9298d2d726dfc783e8d424f7ee41b7eac1305d61f0156cae77d53d28043fe1568e44a7f1965c052f952901fd92be313b90a4a209124d5f58948f4fa225f5e17e357315ea4eefa6d9df68401dad5b04bea0867a153c90bb841fad7f66d234224790926217c8903b9cbc4c09adac5fbb1184a427528dfb22cdb828b6b44610d56e4d08e40ac2b74d8b7b2e7c891bfcd542bd286790fca6fd8aa0691209179fd3d0fabf89a990946f05fd165d639ac2c46cd9330c96dc9b03d96745ca11486b49d7abeda582d5ecd4b60b03686ad19273155cdfb89f277a890f4f62e0e176e23daf1a442572db5e1e0615ab6e00c91bfe70b0d00e0dae5672a2d338d6e0b2a35472fd263cb76299c889793f582ea432abf6f661d835cd80d701f15d008b744e9f469877d2189f452a8a7ce18de67b68db4649979ead17dd2c840061f8d478354c57779222795c88f37bee59e335deea0fcbedcb9181e07aab52ed846a4edee7189b937a7cc7d2afbcedc9bc80c4368eef9159f9a3be4ef280b76661a3ca03eee8e9755487df7287b518335d5c4238ee8262108e96e73177764baff477723938830fa2d3de142ab2a0bc6023eee1b64f399a8bbad1523e94b55771b390492dedbaa28a857af1d8f1985870f2df94c8e9d1099658970b983bdc4c7553b7c884e99b1fbac28e3c7fffd1c6c3de7b6f8bc689cfea85af52d57ace65a14c0d7d6cc69173336e7c06647080d90cd44e23bafead25044f53c407e54605a226ac007aaa4e9237433145612ef3c5c2f4d94a41f15f2a131702a93629397d1595035e431cd8acb5eea89b55c482c16d3bf3ccc5d2c327778e80eec1cf0f6cd4c06f7e240ac2a2340a5c923e59ba5bac462be17ab8b87579201784b5f71f3afd191464c93b235624da20e5700a24013c778d3ba654c751f43ef457ec3eba4a7934911a1bde644dcb746b71cc97cd2bff8f310586c220539e9bfa89a3d6434c0f6aecafde04505f822dcee08d742c275a71c08eb62a39adfda60d20a9d3a7a143b9a17ff044c37abf48800b7498e8314d494141e652aa2c6c8368e467dcaeb49bc9758b6fd7538abd4671973628782dd57b9f099471716874ecf766959b9b04fff174c7903d2ecf642693c231448f776f3612f37915d9f37860e140d46de075389ecca306b002a0a6930b9a742daa6d46a692779daf86312c35bfe733950759b707cf46f7a2421a878619b260b240af8a19480985900b8a13804f851f3654218a84cfc191b8a9980c651ae9d1f29be2f94d452c9f640bf205ef0372eaf5b9dd45f80a79a59eb5205bb6e3fe4e9e688997fd5847a48e59430c72e235d31444731460a4579f15961019da6c76833fd59547ed7c54759a5a286909ba12e7281639e340a10f3c89e174f84036fc815ee1eb0977cca718d4332f01bb2faf1a66c97e1909447fc5790a356ab0aec828b6d74997b61414cf9031239324fb07012270c5774d8c16228c167c971693eb3281f2200a7f10e0ad275ba527eb0208e433e35b430c147a22473f56e24f9dddf5d1c01fada44a081f6f42ca03c049abd3121ce80ff9741eb27a8c0f48bf0733cc04b343603fcdc48051c0db8539ed840c94d621661b9b2f4122df6fd091e2aa6cce79cec9615535c44d39867764cb842b165a650467e4ba94b3cd902ff0247308f3233b670ee1fbdfee318872e137d97b867acf4e93a81061b784733c483d65c93278c94d896f198ad8e86ca14498bbdda1eae888f1ee6d834a39abe5a31528092adc8f30b8c7f87dfaea07a6010fda4a92d973eb2ba230540ee999ff245a7c12418c1673cbd5201a01921f7028b36f4e66b840719629bc25687e2fb26b8ad8ec1e216b69db81368d3190496e3c7174660f4bfe9ce61c4cb58f9c0797d69545a8554c8d946bea7bc5f12af0b36687cdf5ce80ecd3839594da44860da1d40c68c41451ba369a318c573f3c1c17ef94985baa6f3dc64f158197b31f482d18bf9bad3edc3987a306feee98be7d7ce68fd4ce320c56f20427922d43f10883355a5f64895467aecb7138a3a5858533832e11d36de8f9c9516263eb2e5f619bacc928699eba29406aea6b02aed5613c3e02283945881e6fc0b31ebfe97d6bde30942f5ae59306d44ac9af809569eecd97c8b7db1ec2cad442a8166bfa4a608f69df828e2e223d8b3950168304637d38a73e425901516727c2fedc7f2d1e09c81000b68fa743d6047cbbd75e0c83bf9e30b6783f1a073ba0df67a8782ee8460465822c95f0d473c470c765597df98ec37790a89d277e197c18c69ed7cf30be47014041cf434ff59540ab7c1b204579a0c627abe1b84ffb9488ef5e5843b728ddb296e03c8aca1d60ccd6d144d662660ea3b3596fd4e09f470683f68ca5e5a30d4bb0ea631cf04c22cfd5fb9f426560e5c4e0534a5c069f44668f490d839ba956a56384db33a6bba127263905f692d9e02a9177ab935e2c21217e89037d9da982ed54d3e85006b04303ba4f13e38d2cdd42a78b14ee1481d0c9a0f6a26595f97ce8e1859abfc5fdc6250c66df9ec40c725bd8c071eb1b30d043c3202fa4d01455d409491511b1aee17c55e115d88d077212eaf237647918dadbbd7a3e854a263112ff2499fe6013e54e6bd6d9e5e8f40a0ccb39d03ae03f2f7f8cf853b2bd00a9e5b2cfb2dc656b23c5af2180809fc1f3275315f1222914b9656766fda011a0405042f04156b8cdfe28b7147b98bb1ee166b1e14538a29c59dee4e75a7b9d3ae53aa3f8c418c75b875eeaac47296b1ac3cd70eac15ec145499a9d967589a7c6fdcbb5e67ed3e5abfafd74a414a6bfd7aa9642229fdc867fa4c26d3c8f77ddf5752a263a4a464a44469ce9fa9d4674466faf77da6cfb4c21bf13c5369e47512897d600741d05b11f27dde0cabac6b55d159ebacb3eed944421292d81193b5263bd26d892994b8c415927cdf37c5c9474ae9e7e9ece98a5fc859145cdf0e731d73575eeebbbef75e31f7aeeb3a0fcde5eea5ad7f439514f797c4c3bc1877187778ecc1c34943836ba754ca940d29937ed5b8db50e5cceff89f9dc66b2c6db7cffdd7b5d4b84b2d4e7053970bb3922f36dedbc3f44d4eb0766faf839ec7c130b55d086df06369e97aefbdf796217781af2fc78b6d297f4cc1474a5c84da554fa37ad6cc8c54cdecd821553b6464a44a46870ea9d21113235531397248550e1c38a40ac78d1b5275c3860da9b251a38654d5a04143aa68c0c048158c8b8b54b9b4b448558b0c195225838545aa585876ec6033bf45e202fbbfedab3be22637591cce0e5eff5187df38f74b35256d1312b7639d7ff79dc7cf216fbd71fe3cea8d39ef45adc1986f3de7715b7d248e471f4090f4711228521211e113e4788808e717fc6cf7430f0dd1c3e8b74712bbafebbe9e3f1830a40ac6ca8a54adbc7821552f5454a44a45a5450ba96ad1229592aa542a2545aa52527a97aade5128541886a59254954a9c4b15e77b4bd5de18d7daf55a27983b10f4b2a783974da6ec99bc52a9642a957aa944622a595152b2a20486e7105aa2f454fafaf7914834e4f45ed75593a9f6dad5ead5aae764594d6f7bfd6bc798f330ec3d95aa95de5c3d5c4925cf3452f27aadd5441a7d308d8424242433a6de1292ace8253d5cb1a2af18594860680e3b490fc33e52128e3d44c04e32322276a5ae4b2653d7492e8a2591109ca937dff336c90f78ed1988ad53857ab18cd93227d6c10203c6caeccf759703afd7afe7998256e6376fbff3e24dba78d66f76176f917792a73f0f7f5f0f691eb3f77d3ad4effb3eafb27cdf25556c7d9e0776cffb76ff406f924248a4906f7a9dbfb0dfd779073f10ec3c48df573bdf9fb753298e0644fc4f409b8ad02ca02207bf06718a0a4256608d4085257458443010c18f1d5e4000b901153d82d4aa88212597f3a4b6a33a446d5ec21b6fb1cb995ed1b22eeef06ea25f4008238c5003278ad841a2dfa0051fd0e9e1ea80089e732b85de372c5ba85c24d44bece8fd7934e868d2e69c42933683662924845ed125449441634d1a23181a363e478c90cc8ebfd5c0a163665f9de515da1af7dcad3377c10dfebe387f5e0b272367bd2fccd1d1d4fa86ecb930386abd2d568deb26e6327af9c06e3a73e2ba84d1dc21c235a2225be57e7c684041b5efc432cf6c72aea21c1acdb2d13579ff0ee638eee29d3877dfb7d7b1a7bf4f7bfbd37a6af0f3b6d69dd47988d6df839fb7f573b3f6ae56fdd65e8eb3d776ee76b7b3f8ad0de74714453e0280a2abb5e6da95b4a69b76caadb7fbcfaf1f1038f53cd314fc0375eec09dd2a27698e37b469a8ee64f9314fc5eee565eafb595de3b71ada2b532db6e9bedeeb7cb39efaeebbcad33d83f6e3b68adb775eee49d158a5a2d8811524a29652741c625be52e79c94e215d6e386c93fd4955b2d6268f31095926aa1f202c66dc64e928e4d2016cd64620835369d910b8709205458514c93c01ee1756887b17eef5dd03a7bb7f332eda2071c57d25d6bd35cedd019d0b3130a02a22c4a435b731b15edbea768c5adf5dea612ddac69a3d388ce1b9db6da1191426c46b39659431e486968cb85b2b84d67bed93fa269d9dc7833cf291242ea94343b2f774fcbdd5a1a6dc66eecd589b09c5d3a4f73cdc50cc8c8147fba6623bb753619f1fcf339f7f8e892de5a6fede9ad69cf244ca8d59438817e16190baca8a4a4c46111afd168687d3def3dcf43696e9bbc28e661d87b2aa55265b0bcbe19bdadc8a635b50e38952c53eac81df0907e49e768f6936bdaf982c5baa34b93750db799df3bcce5db3dd69ca5455c91ad712ccc63607a6d514d2886cc0b182d2b23a488b893ce4829e0a9e1e045378e8bea90e35ae7e6251e522a70f974ce3adf66ce14f9b0ac9569913ed63399d46a832c4c9185298ea43892e209289e80428928666ad6bded1a8663ade6b6c6fb89642fbbc9558e4e8ed5117f47960413b3203e53d0bcaf697d8be2712d67b630e6bc4ea198e5388e933657d5bd38cce64aaf8e91ebe3afeccce9b6abe8adf55eb956ceaed62221e0e24f912a8eb0a9f940fbffb9e51498db4741b780942c53c690366edcfb2b19127d9e1ed70feceac4663e2e1c8c71c798bbf7de8b650fffc303f141c06819564515b5177c0d1a302e3a726823191b37a40db9d2f3ffffffa9c0b5bfb4c1e1b03986dfb0b7df5b3bcee5e4c2592e77d8b2ba4cea2cb6d3a48465718f5bf0fa3baa75c6d04f0a95d291f4b3aac856b85eb9952ae9ec3f6e27b95dedc358f9fff0fcd9bd6e16b3c39e5251a915c71c400d282d4d8c79d5af6510c489204e8c48a81873ae6370d4e059d9dcebedf75ecd6d8de79c734e160b885c499b8c0e9929cefc0f40b482b0f921b83c20469cb3d1601563cec31063ceff73be7aba0657e3868da9d57615538b6b0fb3ce59e76eff7ebdb773d7e6fc0a21424f4f1584e03a3d2ca1b4c318efe93da0eff95dc35879a17265dd345c6e4d82ffc51ddf8bf1ad41ca9991b31c3aac70fba29b16cbdd309cc6d49fa58b54a173df5fd569577898b54429a57406da858eecbb545f9cfdf1afeafcb7d14edf450f33b592472421041004ba9f56b3d7295a3bf1955daf949b5d8733c7f52e6f6f6faf7b2cbb9c73d7e5d961ae0205db12edd9eed93efbc7641cfb6872441bc5d11299d4381171dcb0610b5a71ea200d9f71b4d3d853297d451b837cbc20b19bd08421df327942a1464bf45f15fcc4424d4ee209d54fe30935fe63ccbb134b248ae2c98998b24596c87662cd64ac18c398772bb78e228ea2344299e4383985288e16a44dc44ef64340f41644bb9d180c379e7df08df19675b17ce3a51f1ce56d5d370aa5a3984c144a478927f1a4a34e27131393215a331393938e8aef27f4625df47250444f6703753171f39cc43d331177cff6d95b165a1b472bb2461b0a54df2bd4c8019d462e8888480a2b784862b32894b8704670868278998280b9a040e2c229e1e43c612447474487e504138b2684a625546ad5906a644d1091f1709e1b1221b723f028c604526ce7db7905f117cc831dc163b3796e62467cb11dbdb3042f48280bd980b6cda833f25182f6f9c13f4564170e87434497a373756878a8666baf21b817acc27e5c190fe59925c1ce7a66cf4f252afa22954502156ffc2065c2085fc8162b7c861ce986898167b1dab9731eae5d02a0fd7ee07e73a624703ab502bf7cb98eeffba0bddbddc5b2ca15a59452da3d5d814dd6e7ed6688ff7fd71aa6e076cb4d6ab949efcf7b6f95c152a9109b2b333a27bd9c1c527151f9ff77e1f89f1b39b0c61d96f7df750387edc67c956fa92c9aa19a6a0383aa371cfdda13fd50ce85d91be3b08de36cb6265a3e6ef2eb14fc660f5b54f22e497d8224f113474a59adcaaaae6a43696cd6366f36dee29db27ec882dfff17fe50b0d3c9fb447d50c8418ed6177e9e067487bef64536a1db1f4d9ad99a36f366e689de68b266cd74e1dc89ecc0b90b91c1b923d9c0b9e31ef62e78b7b6f6f6af3fb41fcb711f0e7121a7625459f3c88765d41aaab9ddc05cf2e825fba0a079a3b189e15c617679663d3eb6ea7cec772a8e1b396274d416181a94a6c592d9589b617098e36a97e3b85bf351f35154b235d6477043ca3b0debc825961804f9a491e32cdd7e05dab63bfe6b7dfbf6561b9b57ecd21b170ebed8d6205a15a2d5a0fffffab7b719bdeda8dbfa73de1a56736ab5b1b737a2afa7363427a8f51ffb9de7f9d97f8fad1d576b132c6cb1ed381a646d501013423eb81fefbe7d869f5aeb9d9d8e7dbcf6575c9c228c1cd057cda9af2aab310aab3632c81f36a7530e047ca03f036bde540f34b8bd76e0610a3e433e43bca8cdc38c7a28c5814d9a43eab3063d8c3431a696f2d019f5c1b7b36e471c6db226cdac69e19a38133673666bdeccd7d4e9acce21d6769ad4c2763a73fb755fa73328bdbe53ba91d10dbfd1b4d8ce874d18b5f9aa536d7c70845eb69c960e8dca2a75c16c622f9ed88e8c67866b5a36372e8cb150ed89be88e22bb46aec9ffbdc4d1f3f3e7e7c004d5a87461868aa418b2bf6aaed587722d6764577a5d9a35bd4243e90724aadbd9cfbf634c841706bbdf7de7bd34ce9d6990b026399cdd384df233fa0d86231e7af7f5a53cb69adf517511cc98007c9ad9d163d0c0182235a686188960da809f48a12d0af52588c390f77600e8f557af4de1a333b2a0cedb0be1a638c31feb79fd29876bdc374dc1ddd74f70ec423efd4db7784f99516154ae9ab60ccb954c974da5d7bcebcebf028bd1de8f8396372c474ba8d1af5698e94df5f0729b28a99d75e6b65ad2895878db880bf666d4e398b5cc049c174cd9b3a6d5c00f1324a632bad2b6db710e27fa86de183ce9e9fd1e7b16f8370830296476015236a60de64371cd2ec9278c709826645490f3b491fe935473bb09b1d21a392480889839fb7fb0f8e4e0dc6d35304a47387b95e3b0552b4e2423b408e807a56ab9a15cfc9c9532f06a5627791d1a1b20116a594650721642e0f563137b060d167741c7a0def82ea7d07cae5c5053533548338fe8c7e8283ee33dec4a4cfb066cc38e9262763cd6131d69d1bc6aa93c3133c6e36f06822042f233bb8feff3130ab3563ad3f47bddaa4b8288eca5078b4659fb4c6d2aee72c3acdbd3a75fd1b071d4e7da388dde424769353e7c0ea24cef9338000914473d6fea49f84835bcd124aac8ee6e668b1189704cd56918899859726e540ec241ca0f49f54444db1d77f2009630912460b73467c025a3cc6d3d05239e9fa47adf7e4b1bd971385aaa8197a22e6c0218172328a418a8df356c28279f3d1418c3a5990222860cfd1a0a8011222b22fe314fee72d688602d27558b0ad52b6a195cc11b9a91d41d47a028806f5846c0524431d22073f5aea14a1930ddd86ce009693931454b83a61a180185ddc28142fc5842cc41832ba8c05a0a0f0930c1498192de2e8d25f4e323a5c729c5c747741892714ca4574e935f41a6e68005ef1c2d853e3480ddfd1f235e468808e6e728309eac545f4c04b9f11c5ae5f5e4efd05f5f2326395c3a9b7e87002c0aa6546cb4b0f07fc5081556a0beda016710bed1a0344cf6583e8e12c40068a02446f8785e8c962881ecf4af47abc1a0ec0fd2080f3e17a46441084c7288620342ca3377321e35f0b004c00af546bcb787acf0b9f951feaa2d9806a4343ad5aad11c18a688ded877476acb66724d8ee0152cd9f46ac18e0f4ec78b25717e368b2231e788b9d107017319d3dd26a61049c14cbd921e1c86a8e8e13b515ce96bd484130c03080990f2d68686f8fc8b38137a00bc40161608e77347be644a150a8af9d360c4bf09b0f390108d055c290730318a017e045c798f3172df44cd38981ebc4c055b2990f2da8eb86663e3536fb66e3ec57ce329e9b195c1807bf300c25830c32acacacaccc138abec082050af7838232a64e9eebb92f349ca07454ef263b703e3c5c8f09097c14c7ab739bd72444f1d308e37b4f7117fa090d5b96e2024fa5d45a02ead0bc8129a71ac604541a60cc2022e0005ccf8a0caa185e18a00004a8442ab401c0e0a2c51640004412ce6ab6fa0be329a80ad53a7e1f532817c6d21efb388efd5b185d46d4d85fea0c577dd19dcd53f78bd8c3a5bb743bb43943ecf1d21df022cee80e105f5e66bcbc8c3d5c461c3a0f1cc61fc6987dc20215f22da258cc519cb4b973341678ca3829cc55d33aa234b65bad687e4775d4a36c8ac5932e9eb6ec64cf4c503d874ed6eda0f449a362486bcb4e3ff6be7986840299d4a814cc1feb0c000103a6001c128a0443599805410e934e5a0fb4830c061b0cc7924998c44808a318868c410619030400064000644612070009b81d4af97e5c645f6fd7dc1dac886abf9bbfeccb9d3f11df2b8511f04bec671b246dd40151f5780d2424f75292ce923d2fbde4af9e4484b8f0bff827875ddcabb5dbdb3dc0957bb5806fa513453b5d419b17f9eb184045f76a1d0b596f0bf8819397a9167cd6ded1c634fa63c800edbcdf90a71bebe3b871b58985ced942f6d09a630f6125c069e52d1c689deaf6ed3505ea761e8e87fd62a3453d4d19475577bfe3361f0e7a88e28cb1d386f42b59355121185851f4f89f2bd9e3acc31668847b8316a046d4ec05a0f22fe31e8604c9d5f0d656881c62a68dfb2e36ba3bbf84c3f3110c3e941979a8677507801132771de718af835646352f81d6943000f6c9a4cef68b2967e69b0b7a31e051b1d1c7afbc9cde7ca53631a4b5dd30af1a3e07a2f1fe8fd3cc0cc76bcf834f66212679a6aa71ac30d598dcdb179dc8552356603a26c954516e55a3e4d08e8fd538245a4d0903d1d2a43ccecf34417865a97ba7f7091d6782d2e4d0a1e3ae41b77ccabd77bed9c9eab9a2e1785c8c462f5d1883f20d40b7ec28a6843b802e0f61bf639da43f9757f67339157c66b23ccddcf378b1ee605fbccb054769f7370e0dcd565b4903bfc76fcd585ebb54b5a30538ca3f64e617d36f5864bf1a117ab010ef5654766bd8700ffb54793699d39ed97bae3b9a09c425913efab3852b198b8fb861326f39978c5a446eeb9c32d8c86f25230b50655c8d8747548109977da5b2fcbdc09271ff67712a95b631d29bfbf8bdda18c1608b331ad29c3c4da463bb9520d223e106fba503c6f658b0d0d21d0199d54901f4bad8deed3ef448d4cbf3e0099f612fb1431c5f63878acddcf9ad21eda40b9c1a6835bbc93c2e281ca16072130a9eb6234c4c438b7d7fbeca8513200ca90bbae5dd07e43631a57bc077d9b1f5a8655254dba0fe68019651c545893b0e01b96efe284ad760e38a1e60778012425a0e48c4e67d73f74ce9b0e24c59f471c22867639b2913ee26495367dff2e3710baec64db5dec6d0e8048b25d5a7a6e28cbe2cc3e7ccf5f28798d75ee3265f1ef3952b0d5b9e0612fbf8d3b80a0ce236d5e8edfa46905b937eee587b5db21ce97f2fa41890dc85eaa1c351613b6fba814bf7afaa76a534f1e6f7737fd8d21135bf49e702bc0e49302aed10fe97e76213b9fd66bb7825da085cd6c3602ff084f34e37fc9c1b31732186608fafcb981956c7b21272ae24b02c499fc723812e087f64b10ed1b9df464f6b203ce03a6de304aca0f6664713dbbde2534a3f4a20eff29b7ec5878f40bb2e598b43734da874ced8ca8f71c99ecad8d0a7250cc52864918d6f7b125cf62fe618f42b6ba0afe0a583551b49cc618648d42165fd9ad10dd1910950adb32226d7fc3ced16310a7a32d00277897aa0144a188c0699c00e12e844a84311241c50a8e9c57a90e0848b3a0609e403131f76dee7f0209b9138d55a3f05c8726c69adf0268e5eaf1ceb91dfb4048f782e140e04c3db97607a0e25f9ed9e1436c00c5c174060326d8129c75ecbbcc3d73e659140a726dea87b07bd7e0326a4d7f429ca17714a346394058523bed321dcd6b0ba1f29a8c81d6f83b309c99fd840007db5e405e118280e3f5bd20ce9164484aa7b68584997f26ce46c44e6c0f68940b9c836f366a39525cf8bbeb2de1fd9522961fb4220de52061b3c0186a190d8cd64eb671113dc357df8a070a25232a95ae582009ed0c050290d7fd1616f9571b26146ca487ef382d2dfb870b04eb5adccd0045a122f023d3eb01b5ddf19172668cadeba85b43791db70ffcbb3874b802bf3953f7ebe3032be66b03f468144bd64e94928196b391159aa7fee74536995dd675e65ed31812ff0cf3dc6e9887e7c44ade66439e8e0cad72c7d58b6ea513c1973644957ca7c36e5d203826a8eb6d90e06f85ca587247ce11e0e70efb570c9da6f0e5d394edc0e737aa1af80220f9c4b1d6c2563315846fee50c3147db361cdfa123ae1fa960d6650d7501319606bce6e233236826edd997ca68622c2cce81947cad51b47674a316987f0f88cd70f751b0de05f3164903fa54b1b5d23cd0d309f2faa61b3259ad0b900994f93861b7a8201ba343ba0f0b915ebb7bfe07f2ff3bb0bea65d281cc4ed3780d8d011aea836b12c1c5b098d6c80303cca1e2ceba15a8db8727bfc4838473c360dd81a59932ad0790cd7f99fece6f23556a03c9068875b3e70008504155642d1be9a5e65ae2d65e09f5b4229c0f0055f0d118a28d101a41c02e9037fb0f14486f4049d1fce60464f2cafde4f6cfd16ad2042ea6e628c8301ed28d4ec72e90b156d1021e880fad802a6723d3926ff19dca65b8de0dcd141e5f4b921cf1fc398ad0eedf384adbd65844b0d599a4755e4b3cedc00d0b680d8480e318f111a6e3a7f5502b95a5b9b9e293a584083669593a4f7b0e130e910051c242e46028f029628f8fbc951621b21f5832d82266da2b811c88becee82d88e4b88c62649b997a0aa527e14bb43e00d8855b8d6067d71d07fdb6b9cd3a378600d360f446ea7de374c8f592cdce4978bb6cf4fc4998a59e00789219b375e781f38c81686b551de110d9ca68dd189417a4035763fe483a09649aa8fa5c648e9bd4c85f7cd4b501e78f2cc5372d25fc14a14894b6b70e41f967a71ed7a6cb0ce75d936c67e645faaadebaa70944197ebcf85740cf2f1d47a5c0a55f676d7207348d7988bbf3f78099ebb807264e6015da1dbc87c11782d538e41025a9d39d1584092f467701f3d50a84141a18608b55405a90cf7ba648e0d4b9cd7d9ef71f506dfc012c836b92860c984ba942eae2da3dd0de36f409286a8a56ebbd953b6791babbb84490480164ee651498086af77b7e6ad796eb853476730de6d5e6d7fbde2b5234ba33eaa493a636f268354daff0cef7751bfa7e04564f8aea903af4681a7cbe844c78a8d1b16232300363c6c2575d54c41b937d14ec7ba1a0a36d07583f5dbdefaf20a788ac76f9c59b458e802816cbf668c6d0c021348a83d479d00c08243014258d64a2414744ae70cf3d51b342787fff1d7bf1ac1d9553c7a7673a5d423113de458d4c0d7e1fb5062362a2246de477dde98f1c16c488107235635b9253a51f996c66e99fd50723ed428d1fbe5c352605e086e918aadda6bd5ba99bef5507410eafc39317ec9e94abce594f145aa5dc4abdf4de259697315f8a5b6baddc81e358608e93e03b4ed71908f3e1c36b3a16bd0bd3768daea7d0a3aab05e2dc8c27201f07434aa01412a7fc4d963d2f204724fba1a6dc6ae79c163f39b0854c106b2609fccf84232770eaf8a9ce36df1cbdfc4bf33c632239a5bfce1aed7bbfe67ccf79544dbe66f7fe8250637b520b1c75341556056446e95a7eae78adefa8d85b3b2b236a755715aca1229ce53853ce5945f9786f176808ab79398c2b8d3425693b7d90695d80b18c724c8b329ffd3477872186cc18c5f6db6df28c8008f3d386d1e540568fe57ac5e1810d163d2485dc6a756e3883a3da92e34120e034be01b40a80c0224691a61441d0510b25b2cca10a7a0918736a049b5fd486c03914659da91eb88480a354d6a31604a8a5c43cbcba39bad0f36eab6810dfc2a6b3d5fbb56cf587c524d85e2fd8249327ff2abc87704107ce973d634a6067fb0ac38ec0e30e2ad62c016c98b843843a1b204f33b9e276dc37f3a423fee10f85a2d008720e69e1240b254125a2cae8c39123385215cde2b635a66fb993c447ddd65a20539531a512df3e0d21c95092b0c022f28f743269fbd14727f70452e8fc0d71a4f40281612108be903c6382b84c031746885069807a58d6acd4c1c0dfdeac8771ce426329bac4d3f77b71ae2ca00592bed41931807a15186319bc51eafc6418e4c0587912bd4f08f03e52b6128690313e1cf05df98a19e40564e53c43c29cc2822dfbc5a8467e5e35fb00d4142270d83655c6d0fc861fdf55eb5bb35a19651f7cf8a945562240a60e47260bdcc77af1c1c456369270d831d66c006dd6fbbacd7d5cfb38786436bef85622df7961d1ca7dbce7ee139e9cf365546f51aaa1865fe1be8933cccf568f1b01775e09d4e87f433c64c7c9ea1d74cc712463fa09f64b4ccc46c3e09cdce06eeabc7632bad411e8823e606ad58e319e460cc82094ff7ecd53cbfbe3376b7d6bb8214b650283fe14bf97eff96aa5d9d5ea70cde37cce4f64012622ba40179585fa1c5e040b9d48c7b226bd70a1ccd05b123032a452a811b47558d8f3a808fe0b6cc0085acb246cf9bf06ac2faf482215e1ccff13025c1fce3a71b447632b32016336b5f62a9e6dd9d1610c775330eb9380ceb5701e8302581a9e82d9aa16a247202e571e58beff3b32e5e1141f09561d2278ca6ffda4063c585f8cdecf26e57fe4bab3a3c7d99b8e588a217f2e0b3e348908353d3148186e67b6eed87fec7968c7e3d275403e14320364e163ac9282e5f775c9e926f91bc5741999d15054ee19783a97b870c2968db50e87f4b050332cec274c9d66fed9e33ac7201f357ee29294e2dc2bef73b984b68ba36f724965569ccc4055821e92abc27d359662790a2cf3f876e876e56c7b46897447916b0aed600d068b4358d9071a7465da50338ddb1f728c343301871ad3d1615e0f428869ae8891845e0810aa724cde557ca09ed043f3ca34e5f583b12ee6f86e29995d94bfa46ff7f12b33c5314d2f1cda0bbeff03b8c34ca760e1d71a2eed4780026e6003f41d42b648fca76f01cf50470d2a663280e422e24316004d9f0850e7d30805db52a34f337560ad61ae9054b3eac98b2c4af202b5988fcae35af74fbe8e8da92dff6616726d9cac5d0a2d0c6822d31ee98233a0986aa90ddc93afd6a4bb57892faf76e9daf7da1e7a7b0891636b89a55575c6a2e5a10f3a4d89334fb6f123adabaf460e91612ca22056a0bc0a15b00d9e240d29eb7e76758c13c8d869783a16d1fe2e890088d1136180a71aa21368e4bab1b8ef5a33ef1efc9d618fb3bd5588d67da1e34749c6e0554542e15248bbb6ae2361d0ef533378b7d30c17ae10dc21f735759938dd1eac91054851c899b6dcfffc8203a3bb443ec5af17e46a31c6e29442d4dd5d921e4d847f2dab9fd395af567d89d84c7244ca58f194b320f4a89d47ef801b25ce308a92101651f694ea9e64d1d991f520d5e53b01570b162f7c6627ca0199d822d87c6aa7e0664a7d76a41d9f06b2114041ab2b9c43074f2850eb0eb5a6827c9259be0ca770136631a84ef4f0d9de2c4e07bab09e2168a5c604833488e33d65f2bd054c89e91050a93cf92b417dd1be6704256214dcac45f58b13413ddd310483ccbdc44fad46df73e4874c00f7998da7d2c7ba883c201bd6b6a567cfd15e6a16fb80c79b09c3628c0bb60089eb3ee81f9cb144e1f9f5e2943659a93453bfac4bded1f5e00b83303c2d113e17f02f75883529e022057e4929dacfb5f586dff3cc01f2ace2652983d0d115fa76bd1504b35a3382c42f0b121a02fa4466367aec5afc67a2c331b9563f56006410faed6f5ecc807177e169405961f2bda4f3907479916c8e03fb0576840340cb6897d98c14d50e0c07f16f9c494d7e42527f1de05a1ff4e5c3077f775f63cfef5b2cdf6d05d3d8d72f6d5279c955e1678f867c8e9fe1504d07604a0750b51d93ed7c4c7f94edc038ee20705312608c3d76abed307f7531a7bf0af73d91c4ebc6a4edd749f10751d076037a7ea9e8eb511ee457a4761fc6bb3cb1953f9392f6a640bd2fc1721612634d0dcfcf2216b7dc3e0f73a55fe74f81d1381d16186e33a642322451fa08ccbd5487d2d8e0a6998e288fe70fa68f34537b7b605de887a5bdc88e76a486d30782cee703e522ededf82267fc73a2dd9968b9836b5fe1a31ff0477be296338537c0529421902b6432ed76e4dc4f844232ba0b2d67b8f99ad5587c9f9ac17509f63f702b537917a6306884b3847851c06fb85a2cbc0b57e75d947a50a9ea5df0ca8b4ea5f45e1f14df247b0e620ae9e75762feb307846380040085c0507d8a426437b299fff70dae8ab6e5c1d5aa2f2e744ec753e84bf4a540636b666fc6def7ebbad768112c3e3d61eba0e2067b1ba855ea1908a40d41bfce820683fa226274ad3269600cb06d21d99210d8a2652eec1426d7a2a54b79eee6a781c6903d35e32b933aca0bed5e1f2c69fcd080479829549786781bbb8232f345bc635afb371b2ba029a09dd8923157cf518da19c296af080a7b091708d12b22abdf819f749f5c068ead1070eb33a76c76d55516c1f9f39e2da8d6672e0b45c9ee15a8d0c4f0421dae48462a7af8ec63530afcdd8976829e05ca77ed5834861fdc29dfeba604124cba7be3961ba3267bbd2dab1c4c7b37b0c2f45102c5650ada59db38e6a477dc893dc21383aa86c9d552716f3dae18fe40a5b42b2dc2ea0077fe24ca34d25588b2459e61401d9f525ca629b4499d370ace5746f9c1d1b6695e5176ac44be3b1776d85a90a2f0f79b133538e247e69795bc1ef1f58dd6334e9764e81e171b2f694d44c1ac79b482378557ae41f0d5f149cceb22fea74c29825f1bfc08f51b0ab7c2370b5242698d7a8ab111ea1c2cc2680564dc3f1fdef871273b6d692c884a64fa326d3a86ed4a9343bc068d78053cec88494a0df7de407199a644c86dc093e6ee09a221b87f9f1b6bf9057e36be61eaa5b96c08819d2a83ee920442b1d6fc26a58c3ac3993e1941812372c39f379f8c1ad4620d93344ac1bc8ffc04b87a316eb03576f854720d6ef1b10909a3b83999ce5c605588b02247869b36060a2f7e16d7787cf7edc901f9c303c0a033aa3ab39b4fda730dc6b9675bacc9558306cc4c3088e13aa1d8c926d99cbb2ef28d07bfeade75050e70c31ff4a3736cce1ca2508ae7e36c5caeac9670ab6a0bedd755d9d1b2ebd3ac88adab039dc39ba748545ee83e41f57fd8810c23cd1ce96e9a3816db40e9d4ad3ffbcdf45379e29f84e82a2aa82286de7de90a35306e3ac089c7eb400d46ed1ad4deaffdc52d8ab407836843a3ec8e674393c0f5003caed55d552daf3d19a2e578a465067362144b277afdce33aaad4fd99b1a42561b645ae9b79aa71cdab22b637536d99f8ca47da120d32d3cf1b73cd67f8cc31e190432cbc98b7af8252b3c4a60ce87648cef17d4c523906e923b4192cc1b801453de835fe6d0952c6031b50872ddcc935a72695a7ae6e5edd6f99a99b34f33ee48adcc126115e2bb9ff1c0dafe851da94e275e2b9f168950bc8a70c405462ff4fdb29e53a04d3a9dafe04b80b5b88d3984045d5fd09f4eb9e34447e84ac53b7350d5f35a78bd2060346a021121c1c5a72a6251139e8793edb631e0140aa2c88cb61f3735e779dca6d5e7890cff12beba6e27d0e482b2a06e869acd4305c5d72f9c018e1f7af2f353b5c157862a33cf29690a71e9b4b0b141af87967e360426d3a2ce5c96260068f1a17e60b2804591ed2e0fa59a77f8e82866813c38044ba54ff3e85f0e880cafc9e158a81129453568aa02222a28f009451e0cb7d74d73ce7be01a62f32eaafb2c273eb50c235683c4f02d68ef503d3bc038e1c0e68bb374c01ae6a3709ff011d00a45f22ba1edf9bec1ef018b423a61e0531a07918ec9a05afa8cb0e7a7b4ba52d2e3a2cd24207ced8b3a2e690eabf41d235536f2ff223386e6ac30f1827abb7d531cf8202ce02f9a177b8b0475a4c1ba3ee30e07d3ff380f334553f349ac036218ab52183e12f3dc902d2fc1f7813fa6e90467d72c11be8dcac805b9d86fb154048439d85d5ab036a9610f3d1aaeab9ca380be4bbfb373ac051ac1b35497e4c1edad4246d17f6721036de5014076e89f5cc6cda641a048e9cfb904299c867d0f4b49db5c7e062eee5e439a074658ff16a4bbb4c561ce06cfc8233d8e9a148b6ab30bdd426782491dadc59c9a6ba8240e6516d3328e73dd450bb953e5d283a6908d003ab64418937371b3b90d19a1650b9cc66c2423369bd80e3ab2e28ceb52cea9480c6beccecf5eb76404f7161bd54ff06f26506842163fded7a63d87fb2c2a8e2aeaa9d414474aa5b82110c5bb0848ab368260aa3a416f81d57b71e77fd3044890bebe1ad6a153f8977bea8fc678ed75f1ac848341f98a22965fdb24fe00bcda741b4dfc02a4f0feab699ad6176c40a3429d8b634d780db24e8df099f101fc53f6bfe362db4c9a79e3be611cf70a937b20de3dd7986ecad27dfa74da128dac571847839bb3a726e64adbf482a6b6872031362048f9b57204da3f899052bd750f877666c0062fa02c0e9eca1a6f7ba182e22086aa2154dcd4b9a532e86ee98dec8b357cbe34ccd1928faf18cb493612604d9bb1b5e8ba8ae60b354eeda9d0c0d36521ee9169cbc116f29d80e560416ed9ecca66fa3f6855adcfb9e25d94223fb1ecece4ed3a5069e2c820f6b639c4ef3cdfd46893bd2d0a6ef84d49704bed99926f39b3b02a0fa2249db545caa0eec07b3ed8fd130c6dda5b9ace6d69d4c8c8126d172a4f215b1dee42a0769f45c42d86fe774df958d2ec5c7c927abd6675013e31b1e14d39ac52002e25072f610d410d1e37eef127142f09f9d25bcdc989f5a93f7cf48171694f004c3a4f93eca291d96816ba0761c34b07e650da97e6390a948d2699434f579f38294072b79ce446f4e0daf9ed294add3204eee75726a644d2073a569f0444241aca647c7d7a72ca3f455b844693098bac80231a0f2ad6ee43aea1bb3d9d48c24f494350b978f01077a0c31b58f2963b60fc228faa70559ee2a46880aa9be7a1217f44db3067e42ebe221ae6e972d7c983ab866d67f8ab0b017730f6c117f4c2a2545c91bfab4ec92e1b5771dcf62189c0a43af6b488a6ec3aea29e9516952be1f615bd0a0753c058dba3465ea3b6bc191234533550a0621d2237b6e224302f300532adf3ca684a098669de89a5993407339cc5c37f2c03b3c53b3c4d51a70fd702b3957419e85902ea2dc71804840fe9f7bd9455a26a6ab4dd476c370ae9659397b54598929185da3242629a6d260220acce2ebd64f74c823b26d15e1277d3e38aa203dba0f78678c423f7e949dffb071b89548024ad1c5298bbb02106bceb951756ab5f7308de69698703cf7b5d076c232ddc032cbc7ee930ab5b90b4f901ccc824b5408756a5e3337b88a4277628f7811a959b63222af268ff9ce551bc23cf229307872fd201539beee483674e12091926754946a67d11e92e9696f936d256bdc96a66c389d094fb81b16db67a037e4810975c4f6187cff27702f90d975d68aef7d31f60ebd905367d2b81c2e94cacd17fe681deb531bd78eee7d11e64e56af9e059a7ea03486f66ab979a0c1fec1e243c5ed3ac363ed0491a7ce0edb9432f14e06b654d72eaa0d5519424e7884ab1442475ad34f7c4df90ae27869fe49964429cd2df6c0abd373499a32932b4f6bdd4a878b79bbdbfaad13dc76058c670d56426a724eccb862509ef3fd9c9e18a3b69b47cd24320ed24f6fb0d651f37b898a17ca7b7429e2fa485579396564de0ce1fa33b2aa22287d412ebc6c0bf9f121551385713457822d990e73b379bb09c28acfed848e6859b0ad0ab7d238a95551754f1eef6d42e4595e12f6ae9665bf0785eb50bf5e3948622c291d78acf711bc306ef12688f02ab4982870553b3e3b08798984f570fe9412278584af72d06e7885bea20a6a496fe470a850cec39e285f124f1b74507f9450ad1fdc4d4ae58c0423d5f337d0727f52bf0f613cd57f1c36ecdd7abd3a7f80d75f0fdd43f817902800587d18ee13f55db6428a81a1710df61ae7ac9c17f130039cc99330c13609513d94fa3bdea1d03e68c02e0b9e62902b07fff702d44a32745a1e19d24b7924845b9274b4bd94ced14e1e1317093a2462a88f2895839ca0e07ade3f557eddd1ce25e1a94e62da3e91eb67adf78204f8c5e9ed49dc6e84e5d20322bc0f22c904aa589328573cc73d1f2f595b7ecfbb8814e42fbf096b80dd1de39c3c620c19e26b4db29976d56e83ed51c1c449876090d7d16943c923761ef4034d3a863d73750501274600c62cef0fa02f6fc2f10d3502b5033833c25ce7fd035913bf44bd6a9ca72af648e97807bfde2c759b30b44dc120491a60edb1904d555b00cb37aba9383ec2ad4d536dd3fa1f0baae94e6028be6141b908fa09dadf9099c37df7360d02d003b80c6523eef91360a70a9d0225d5c61e50ec2d98f38269723fe35a372c7b19a292e9cf2e926cd3a21d153752cc1e4d6aff75b4b81c44ab0e3c1c0850360c452383507c7f42842099ce71d0339093dd84773c73a8ba7ac34055841084ed6b55b398792c422431aca87b8c73627ed0342cfbc053dde5ac0a48937f116f08f502a5ed0f38e8d654a45e9f47c7538f307025faa8813d9409d2dce2298b0011e2b5208835a1cc772164f143546728a0e5560945764fc9bf8783f307a020bb6d7241712164e10e35ba22bb3a937fe5d10d747a4da650f01b97460a1449ef7efa8ce54e5b73ae52080381e04713adfb305a70b2f9d0fc14c70c725da0434e85e10304d1e03ceb99e4c939fc710b9955c89902be7d373ec9d11f45f1f6c707601d391e059e84e1dfb2245eeee582cadf5aaefa2384ab3daefab35d1cf8d9d1f2baae20d769668471b8e2ef4ef30ec01eae2b550e957e7c3db0a584d70420b4f99bd5f9dbd15003d49362cf759675deff8bd8314dbfe31b17e141daed49336f1c52906c10b7a81cf6f5b2f0a3881747103c02ab37db565f8ee35e53c91d840ea020c61ede57260fb9a144b157814a26e0860ac9792b33b12cc1bd0e3e802068cd27db31f93db6410be4ae35fb7a0ab49e90fb28ddbcbe8b3c8b81ab2bc4f7dbf24c2fcac6c0533a631f388d10676f18005dc3d7a26b21c7e4b306e025b65ff67d36ec34b7382e9b440347c49600e097f5cf025b129c80e96e09e9f35059355d94305c01102b4b8c140147db1968c4da357979fc2f504b50119d25727215a40fb31611e0a7470552c403197bff4b50ee49c4a42289201e9ba20e39253366d641415f4d66448ccef30d9e80d33f757cb3f6415f4aad7590334c65aeee12858ba9b2e478630c253ca4e2c49051e323ab4b7c09f5201a24e26714395bb2072b2df71009b683ad941bcd13b299a10e07704a5321fa5b3f527f64ec81486307b4d40a0a1df0e08becf90220210ea7b7bcb203627aeeb71da07c03a2c417de2608302d7b6ede0219621bfbc07f5498e464aabebd2f1d2258f28ce294f1c34a995c15142914a73aa0cab970a4b173110e537acb99712a72954c4c0a05b2bf88c9b1037f7370ffd4916d97c0268bcff4bdc3b0e2d67ad0476e76cb5721f9079e48045675bf984ac458421208f33017a24bc2338373a7e4cb1441927ec511a6612010a38052fcfc0bfade242d0e91b39d728655e6834b145a2dcb608f86c815e464172a54fdece92063f3f9563a8ad189d0f8298820e4ab4663b968ec548d3eaaa87fd1c2470dd6a933207ed07f9de539e95191d73f474b0320b202cf0b4db37241a545625344ff4453b3d22223f90ae140bf3a884ae6549abff32091a707e76464aba326c28d150e090dbdc9e242cdcf8bf706357e81ff0656649499536764a69cc887b81d20009c6f2320e1abf8c7a5d71fbfe1360b0f0aaf9bed68d3b7bbc63ef953d6d37eef678776c180390f7cf7c4fcbcdbbbd5e1d8be53ff440383d41042aa704ccb09bc779169da8e679499e8e2c7c58999d4e70d34ba8963ea8f3a7a40f40d8421b0a33d7359defe6f3a6debdf672443c01a46f08b244048310559bee312d0829909b1fb040670d2edd40470a4a1ec2df33d2dedf73c3688d1a9463520c5be5fecc79cd3b15de4b17837813d570c7092605d7a1f99279f317c458d5a1b4ef2ed0a4e767bb18f1962c0abb184b34813fd5de553104775e738ca4565bae39fb119984d490857b067ae84468eee4b1d4f00f358fa6be8eddfbae442ce8b8b69a27c37e69ab6b4a8723b7affeb4ba54704be8c88c9d3be48c795271d7bc4fbb1b6f02013eede0ff13519f48d22ce5c4ecb08118b2e9a3040f16bd61eeb94e580b8dd36ba77db27fcb3dd904997ec6a512b207281aca759943e3f68958d46f682315a105bc3a857c6b81527d747f25186374b8b28dfbfb94700dd1ea3ecc2bca5b7a9cc0c371bb61b4e26d0cf91be1e2712681b382939df8250df40da68c2165fbd7a5466ae21a80386927c3d69c442f9025157da4283cfa29913ae35fc9ad429b2d17ea1338655a281df45b2a2675cdf42ed410d943699b4527996cdd474864dead5c74c9cfd1b011a1547c59f336a2cce74c1e6996e41af669860125e1672646f6c4f305b26f7ed1e950b701f4f98baab831dcbe60e02d81d0d230ec9270f86e1106ffc732982668a66ae0ffd9b7720d9853f76c336f1d9dd60dd72e30c17f8e125083f793757a8b0b61b942f3fc2ec96af4578284c91f780aed5d149ee309247a265ca104b96f7db8455f63560f112cf61b6cbf68e47aa37a6b3bc2e6893c77e90684a24ef538be720692afde846cdcf2e05cd7121a340fad7627a7dd2a0ad8a974633da24bb9301095ded9b0bfbf21c45551bc26d01295646043954b21222c513ebeb62d951f3ded9af1bec23925a89abf81a224a6be260431454708825203d8df82cb44f21286f4ac4c5b1fb52900d2edd37201da9da8e3e6b5b674d3f6f3936643ce53ddf243eb214a051db98ef127e72fdcee3f0784433454e3f7a24a18062facbae29fdb15ffa3711bd489af5e4047588aba8b75fc8041af452825a0ea034544261befb1b702f5c925f476064b4b60846e32d61c0f6adb4b04206643008cde83c25a25509645c28b0b854b096cebeea6fc21ee4854bc83e2275ab530d32d0fe52e54c1faa1a81a5962d11d53c4d0517fd9c90d0cd760cbcf29cccbed63b33f0b762885ad9a0248a7c4a13a2aae733bad3496b7f5d87265e7338833c2cc88817480460b63a7586bf03637e9a06566293010a610001d79cade3f97971c557083b6467ed6610189d51be21b5b39384538cd3b0cc28b138b0b4312fade4c9a5f1dce1f902cafb304526ed3832d612cee40502543fee59ef499fc0479173f6101efc007780e8658a125d069edc49da7c53935240546c5556abd3bca53010aa9454dd14b7da43da2ee8083b15841092d14eb577d08b8fa958726a6fdaadf6fb60a582cb42e635831311f416934d3ac1e07a78608765c719ea98d9c227aa56739e2900cfa8ba5a4441d96f40d68ae656a5ed8031aa3d45831528b61b2594f740172209d3101650f47130432e4bed7cd377ac516db042a530ff552accef380b50f6fe3edcec97a75f0e404ea179b95a4a89600e89807235f1aea3fa55c844c12f94e26984ec2950a066dc32070980f0c652a84405a449c148e8f5581015c5745eb601c2d6221222ab64fd0084fe51ee21fe725c3ff2661c4fbdf5defed52a423fc550783ceca8fc2c905c66d6bf8f9f11ee424682c332d89ca4d14cc96713c2e14181c8b60065d186a624c7384fee91c622f6bb8a0239f027bad7ac3e32be1ea683dd5feb38fc28c9809aa9691999fed4d13b46187a8097b2fbe15ccbac3267f432cd5908e4c90acf62b57f7933eab404fceeb8f01e7ce2f035e868eadd0d31924a142aad171fa02a5a644546fb5de8796821782c92889a6a96b72df3f738925a422018a55e7239e49088ab4d690a9359452233dd06b9e2a4a1a58c462ffb215495951585faabcd4ae0c6f1fbdaaca27de046ee84e7818a3529e42ef204235737e092ce80ccdfad8df9127046e9451460137b03c263524ec5bc8de4578f5e4827a132bbbbdd2bd3bd5a3dc6ddf58be455f33270852115894e84083b95edfadb73790c2a2c1468026573720057fd825877317e2b5a16e3334ab56795733095a09d29814ed72262e78676cda4b4e128bf47f90e8cd9a7862d4f303baf4da9b86a81b9996a8e3cf8c997fa0d4ca9dcde3ee97817973cba5c7d72219464859bfdc687b54a4cf96d757b5e2deea71649e2308923174e68302cae4ec75e27c471113140143435132f2b7b55b76aa88ebdf347fce8d17a77209c2aa5e9a08ee4a51bbe2736894f5aca8e6b509cbccb0bdd26c9033ce70ff54459c6a230a286fa79729ea1983efe539d452dc134ec10d500a24f9e6116b15d1d2378d7ca3e495526abb40f626097e11e7894550d2c2225c9095370bd073f8c227c522c54c193d53ae314c16e188656dd08c7fc0ee096b5cbbd2f77ecf6538d05aba26e1954bab843cfe18c84db7d5aea700edb5eb96b7df7816fc2bfbf0293c79ad5d48584ac18f5d1b4880fc8625176785a2e7c13520668f7945b93f071bfc1be9d32e82e609afdae32e75c1b3beb088fd73083d4ccc94950168fdf6b69c69b1a3b04de8a67b2c1f0fe0dd6dde704ed5c43011f3b0eaad96dc00eb924a10fd86fc612571b4e25acfbd2218e2a45f7dfa582d6bc9608fee3684424f73e36a85877f8a637852211d8c3d7ee0a3a499eb760e0461d3d44d1ac8bcd3a2b2c1be1940e858290b03e8bdf0992f2bb561bd0b5bec780bd135e3c996b995968e2d2d012d76589917712b327ee0372d44b713958f9131061ebf2385137502c86c7023cc36e6e2e21aff188802fd9218cebd9b0f7424bff4e163c2622986c9839f9ccb3c02620a959abea609ebb1db28df6ea37edba7f36fe88971dbc9818b66ab48fd05d3f0d4d891ff9312087b80bc6c45c893c5a8a376caee255b5477c2d953bdf286a050b89f8740a5b98aa1cd5b92a10d1860c1fc684557efe3383080659f1ae36e25d65e9b5f8f7a8652100acf2722a3079484f95f7134d71bab0e03320e6b70b1b5944081be30112f5d1ffe2939e00df6df64d653ea94b98fea085c10d47ef7da981ae47f15d2d6436c116706457f2457bd5d1dc7009eb749bc489c0eafba554eb6b548ed8261240b49b5e03e0f9c5ff44630ad9ca6723bf1da614c7cc3c366450f04bfeb2862b56eef2a08765cfe87409996b4cc837701495f38f577e8358bd5311f4b3a685f866d835fb0dc37a2eed504f801543f748a521e1751c3c5b2e3d9329a082d107a8b167f66b120919e6749e3479df7b6866f67164f1dd22875e187f34a25334eb5009a58f65e783a902269f013beb3a9375a8e2d0bb96a5ae369e12f10c45a54d7750e7755a69b310375b2646c4f523504f47082013edb7878937a6d919c4257bb81c304f98837d1a8d65a43b931d2db2e6d85b4821869bc8526d926d4d7dc66dc73223d83d31e21d1fc3fcd6db41976d5b4ebf82861ef55a508c33c219faf543f44ad26f552d1a708ca6620e810497ca4ce9a016331db5ce37783a9215182e44f7023b784a1b74bffcbeae4ac56f3115138f8a5699af7804f3edc1fa318443c007c0ddeae1fec05d1c9627574b8025b2d80d42775ff8f1d1d3be3ba61cd916b52686630391dc0ca79751caa3a9da39cc210bf997d4cc18749e93c037ad5b32d27caf3f530e02250287acd8220c13424037ba73a5a1b5128f33fd1799463eecff52dd1b3444ee0cf646ed737f95ca01c669ac969974792f93ab047d280f3f58cb997b63d7a5b7d1aa41327c2f36b3b5b980bc047ec6d6005248f890a1a76f6fe0f2550f965a22d60d465d605637e659e00d0162db9f5f4311671776161454264967599e3b8603084f6dc5fe201842f0bf288b947006dc05c363c30a81ddc440a6ec635609c7d3ed52782a03ac7574348e95bcad2f860914a0bb194aa90c620471722c9d86c23308a70d446c111c46cc3c2c10fe1e6b8cafb6c703c2833746f95421924d4e2e999af50e6816836721855aa02fffa3be68ad89a1c263970d100a4190df46735d532d456544552f9c40b0e4054e0900043364bd9403ee0fbd09be6e0c525f05f480806265c6e55c3367bb7c0686e55a7e54ab54a84c182c0a22b9acb3137cfa3a9b9315fb7e60988fd5bd74e79b1b87e52ecdfbcf742252a87a274eb7d495ca1370f222b647365b415a87b039400140573c00bc6a537ed8caa9b118d1096d861875f7ab317713f71a105859fa9233d6786f8c86046644850496e9a1c954be168a02004968b6b539adfda710ff7dd2ac9722acb9bba5885373cf93033b581ba6b6c8f3b229c2588384df82301e6cc4e1191453b8c7415b70d4d5dc8d38e3d4d1b085195adc31115133a2bf828b81647774d08d13455d66de9be60c1a70b950dfbe6b2b71e94f639c0815e3729d396967b0b231c6d9c9105ff9003f8ae1ef26be110f74eb44efcbb9880574be18e599dfee7e2484ba813cdd675a15dba2698ada304b3758568b6ae0bedd235c16c1d2598ad2b44b3755d6897ae0966eb28c16c5d219aadeb42bb74cd03126dd402b388702211535e928416a5847242a693a37b2293bfb27f6bc939f7a7346f9243fda4234743f6c777229ffdb7773886c755426e7f31dc8113e7f812d3d5698ae4b19b00a0479e6f12e43f696ed88fe710ad0f574f12ed861964a8f41254bc7535cc3631548213e6bf214ffc52ecdbc4d78a22a1bd20c50441b5d6e9e52da3d61a22a438340177aa4193daf8cfb21d00cc1dc9f5eb7cd1135d8d270ed120c4475d765e860ca5dc4ab22787c30865a7992a48cbb7f42fd8f53a7f10fdefe964e977ae567645165d7910ee92d1d75e2a893e6af185cad759eb7d24d0e67a047e076b3f650c35fba951fd19f55a6e30b942a5ce720cc95c506a6942af5f7f16a1075e99f41051003bdf97ebc6180bb77c6f6e37ed354d893d8fbab9b3ddf25d693228c6840b46b74b0d06f3ea2ae74bad41a6c9a420ce09ef2adcf8def23d9e34cf00501d0ccd7d13f0eb88b1216c8a8e74a4403f1d3111d4e52bb55a584952d06f5560529f2940097d94afcacf73d7cfbf833633b456315335971ac21b3818531ac401427819d0be0b25366836048ef3e1142bf59ab3cc4f736fc15ba894ff89ed6339426a797e99eee486de7c892d30b4b28a97e68a8caee94ed69bee34faf12d40f9b78b22cabf882c2048f09b4c5a159e7688a9a563c8534a9a3d600b200afcfaab9eacaeb669ae222a562bd4bc210401cfa2fc9f0ef0fe51359a1bdd3775085004db14eba6460bee849d776d5dce769675a3b959667755f1c617d1884b4252308354f8df0d488628820bc2335f04583c6010d003a760a493b177b4560750b84c3978f434dae7b70f86a2f03f288a5e880690388d76a5a2085fb4831a2a70a8b98783f6b93448f7593efcacccbc6c3f9d4cf08f4218b48614bf39cfd7815fec73d575b4c0cce5748ac41998b78b586ec0cca5a530d1cbd0d100a323a630e4a3c83e6cdf8ffa938493d67798a2dab040413600facc7692058a463f7982d46bc58de853de45acb2b4325740c880afc97f35b98fac9774bba3927d1eee4924baf2e35e852a5d0a30512cf7022406b866df96435438fc5ce52ea874c69b336b6d3e4ce2ab5e1728739d8d0026d22116fd94c3d6a54c088f8065e75d74124c3024a562a7aa9524f57db2c0cec8c0152364b50b8ed6e48fc2bbfacb0def9c2d216288b80bd9a4b5f1f25e3573d7cadc084c2a41afdc1b03faf80b3aab9d68cf11a9339752a5d861bafaac5e6c41703cfda7b92ef977f2dcd4d80975c4cde5a2d723c7036bf26e7a3a35c0cf89e5a1264d1fae5682fe6d39578d18131fcbbff00238bb48ff8833c0672f315b80679e234cab48a16627b134cd4396766fa06eda69cbe77c5f416c2884e67fdb485166dff05dd54bd568487080d315bae6b723ab32e4aefd9f90ac970f18b349df3288903f6879ab332387605204b9c6f3ccb5e5413f39f7a96048f5e35e77b622a586abdefb1704f265d1f1711134c7bdf5a1c224364665d4037eb592f94caee0aed3d38a6454be1a906363a2fcbf83f5edc92c0171bca8d34bb1e36509bffc1af22a21dc0659bc60fcb78c8b056c51d34d02dbf9f2505448ff75e399130f12bb7de5b721c94c94bb0349046f8570a4f38b4e24b21bae70785c443c8a3255e730e0c0f0be1619ed1b269017ce1557bdb3266df63c01047aa65f252a67f4bf492840cd6cdc4a63b73585915eaa9c0e99aa546ba2e5e981c8a308bc3c36551dc613d5e54c5d575350df9f599cea2d913a151163c74d1154e0f1ddd19cca255dd0f312b130f2afaf2bc3176962b3a4ad423d8ce60a22ead00229290da89867ad64ea3ff04796258e83382913ae11474c74df60ab008a04c19aee30f5524aff0d2fbd89e77dc310fecf646abfed3ebd17e7bf7e4795f3d84b32dfb877be2149424004aec587eb85c64c899068b2af68895c50ef4d2af5526aeb04fdc7c9ab2f05b4a1f8f7f6d898aa8c7888d8fbb12012f12bca4584b8d6222ebed7230a6bb6b71448384b461f265b77043124893587d0c2c34155a85cb7a0914976ba22e0177e5ca10366ca1b9e75e0748250f1cba82a7d20baea1fd17716a7e968fbf40390523c48d6a10ab26ec7305a60f5dc556540256e28b66f39f7319e16c0c0b56fa0394d07c53b58e88ce68725379c0623642bf9ea8c78bbb54a0d8c1916bab867f206f4fb0469d3961660fbc960abf3296c7501470052b45556feb5b4563be8548db03108be2b42bdb5668962772161df9c2341165b12836bcf068e998d3b27614a6b10241c93afe438eaa41189c372b407a9f37320ca58abbf98a1f924b73ad77bc1907c15aa235245e73d0a91066676265102c9d6f4366bfb2c80d04a577dd1aac5aa36ee6cafa6a73edbd2e8d6f8b700c275b0ec821e555c023231385eb8b42f978e05c20acf9678e12dd80855f99066e12eb1084da23455448f5f0fa3a92fe4e983a51c85178606bc9357e89e1ee6f1276c154e3f730a03470928ec41969d1ba8293aa5d617e62f6c9584378f84c4fbd0daae47fe933c39de98f3fe3aed23a5d882bf0a63da7733b107348bc339a69c4cd6d4fc77432aa5feb7f7a20e211978bb6a21e5d8c97808a6aac47bf557052d144950eba3d567c02974a122501e9d9c71aaa32d059476002b8b6270681c65425a0547332859cb31aaf77b628b410e93a62070cc14d66a297cc02fac4db601fc550086ee963840753a3fcce9197b2a5998fa623080236411d9a801b82e6886447e2bc04af5c461790dc3e1f60645615bee94f6962937916fbdd9d82c6b01980079008c001d36d832eb2c730f073e9ae43eb1f242ef66ed51f4abc1f709389d607652f8af1a88d256d926217238dba66910a9454504d46ddbba6de34c95e3386edbca6d359938ce6422c91b1c1d18124e4e6747b02c7b40e800184a40fdc09516084ada16a019d1903c0f8c8b0a23209f1d1c9a189758c846860d05eb8783a628c3854e33df4b264f360b10527d0d0d05785080f7a0325844144347354fc1e649c105c19614a4285a5374e5ec962a316cee393984599be06b5e083bb38a297f4c2b7b75a5f97b489bd2d07baf299f931d81b9b303666d54498d588b9d7dec1fce0d4597ecd26007c42c8b0d7831b0fecfa63f41f7f0ab1882ef8133fc0e43edf416eeb557825576dd9d2b17ac2da190d055beacdb0115b5dfb7fdf793b2c7cc9c79cca516377f735b4af64eb2e31aae686565650505050585858585a5d56ab54646463c3c6230180c262222225252525272d22a95ea64a5adb493eec93d57daf777571557c362b1582affff52aedcdd9dff0de38fb58a62cff9d94143c3388ee3e8a97cad0505a2e83ed2918ee3489269903cafd7ebd5d1d1d111c2cccc1fd8f1175b44444b4b67d967bdf9e61ed1b95cdde186524a29f99beb0e5cfdff7fabfb7477972b1586dd255777fd9f0505a2e8de2da57b9552cf9bf4bd2a85a01bb883a5ea30424242429292929262e29d5676bbbddde9ebbc3b4d7f836e76aff0edaaa6f87528dfae7a67e2a9aeeea9abbfcd7dda3d7157a5949ec9eed6e9ed7a340c8447a8b3e6be3763f710180ec9c2204a6314834411437d03e29318418e6239106330844110420831841022208410428852841885a45207de0c1e0f4575120bd0cbf33b70240a1f364663e3ef9d9b33ae6111f85b44ba380b6773857354003699b572fd8385df0d498b53b5b743293e2b1562b1ee384007cf43f85ba7082f043fd35e2240afd5cb6483becbe16b490ba85685a3c32abe02e8394e785b421ced929bf27ffb82d772797cfbea86a1e3e5c8a90a1761ec619cc19e5ef48662d87e2610747e117912ab26267144bdf6caa251441c6b05f4ae702384756c36ebefccabf941fbe50db27921f713880edf27c8e3fece138fac66606d843c042d2eeeff45c581c5c66030d03051b0a363140e815ba90d86815fcb910849e5ae0894318e5a52d932679bb693486c973ffdd37b7950a4e687f140d206a23adc04e4bdeb03f80a03b8d5e0cad3fe614c31f8aea18a4f3bba374ffaafb0822384687d347eee34440fc1e5318a39ee30472e0676e521a7cac51876c4a2f3ca4c7497516ca260f969bd6d9ea13693c2b9fac02b57e632dd2d98a07ce013ae637a11d89d1e4581c1c8c80c9e85252f5db33f22672917cca4d8ccb1862329e9a8dbe84e88b1b95f663850dbe28a6e965182abd8fe04b9d131ef471fb1fb3b27820eea8d8633b3641c90510709a42244f0a989cc043bb4356d4edb8da3f23e0cdea451902dbf641f0fd70d2572ebfb7fe2524719f97ec3426ea089607cc15073b7d35d3f4ac09e28bbdbc93087b14207406ac7f05f52eee8680d965e5ffc1bbeea7184f92542b7d2f206efeeb64d9c764c9b30d8cb93e246b9d8ed752c14ac0876147bbd2e41281e34afdd089e635d3f58d5abc516531341f39538b513122ba12f265bbaffc3b4f93dd79a678c3827243af992b6f81206027c8cdde52c14cb7d2f2ec79e517ef2c768bf0534aa87aea942d72c639303903becf8d5b1417f673cbeafc6687267fde1e0f01d5e54b39f3f20bc1023efa2ffeed043b8344673dcb9f8ccdd10e53859c2e21d02dd4074f3ee34d40d7157172a9ad9ee38812e67e36ecd017647790b66b28a4d3aa69f9eb8ee60639a5da84a0da1e7ee87a8ccdd3318ae107483d1cdbbd3d04e8897c6e8e4ba63dbb72b59f4ed915ba04e4af2e1e2122c753943c4b3fd83630912c05af75d59b3bb749cb0b514680b98172129b2d18d3d68bfe6ef240b6854028b903b31912f4fa4a56f5c41082f02e7add1555c5614317e28cf0f64246a18a9f6553a428cdc45c59f3b41a60e569bda55283c0f5963449bb4285ba87f46a901517be9c5ff0243a5d30d380ed92a1203e0282ee024a1470941845040e2f65d67af720836f72503ea37ee3b0d594a47d2c30964eacb60df0470f2a5f265925d3ed2e794a9261f218b3d630b88f1819f02e6d0ea191bb2d0f5eff9289d2146efa27feed2437c798822d71d97c48a6dadefd091ff11069ad20660d80f6549ae2194969048204c25093efb8319532c8883093c1694790b3c8f7c6818221f5b50c99e9b0046f430b391cc7bb7b309cf3c8f3604000368303862f069425b1e33245cfe15afb3561d517d77bdf855c159528e14568bfb9d6a1127a0564368ed71d3dfc914a606dfdd247a8f92af7e98f273325767bcf5cb9a8c3c99f68f002b1ed790ae23ec94fd8b30baf8d93b68810e01a76c005dac497a8e801ef4b0d78dfde2ab025350dc2e7ff3f628b8c67eeb41ca233561dfc1b769027f0dbc1b55009b4987991cac52ab89eb4f27618552b1a7bfc517a128bcf8ca412882179f97a6a96200b9d5dc922225a2629f009222fdde17af8752ffe17d81197b3c717ced95602b8a4092de0416c923aa7bed5c2036f708a2de3ae2580a80fa467ee32efeb2abe0d450ecea167abb78d872b8ad4c2d61056f725b85316dc1e6ccb289118c54bf0bdccc1adc3bdfc5e09cb73d37b9600b9c6ee7ab91e43471294c5e9029168f262c3096fca6940108577b9eabaf81ed8522726a49ed1912395e98b966d9f38438d24708c312d6221daa71e65127b1e78a4ed74a5858aa56d5a3c278dee14b39a7adffcd0bd83fe2cf820575a9d37684c6706d1f11640976fd920e3d141cd2b6b060179b5e4680c40b5952879344f85d35723dbe3a37f1631ce0c18f8169d9b73016bfe36ba6bca37cdc3e7f911c90784b77cfaa80c47fc5e2eee50c90f8894fa0851a4647920580329618a6314d33d59d00b95f2fb8afad0f95ce1586a2ddaf8a0d1a23e83cdfa5905faa18df0f0f3b53f62bd4b54ab92f854020b3a5f3a459097fa5ee31c870498874f0f48f48e22b5df1dcc8210f9f2a3929169285264d47e2c7eed0f67e6de1a9aae8af4f0ffefa236e2759a5f82f3af7d2b1d0a3ce0b15d6560e993dc4f86b54c1c387ce55948884b2ce6da2d4d162d0d01cca7e459ce1c72747ac3a50ce96d9fdf9fcb68768e9140318ebe0d6867de3b93c6f761031d770237aebbde506957c35b2be4a8c960c9bf2ba64bdcc77b2b3b3cbddc8b997940840a8cade1f0e8fb7a9d0c69c06fafbf6d245e08d11d01b8fc63ebfd13ee0501e4b90e4cc03295c1fd9f4a87525b4dee6f879258085433d2bc129042938602c784f2f63f34cc7353ff427627d289870efc64de5694c0cd9f0c8b3fb468e234afeed9b99bbeed3626afde15088eff61857a79fd60dea866660609f1a1a042a3d77dc38f309a24b1cc63da2cd8282ca362c525316df254056720bab9a96aa284dbd35b2ebbaf0b30232e11908bed66ba907c96edbd370b35cdcac086e434637db8e9b49df6da677b3ecdd4cf46e331d3733afe746db776bd7d5f6748932fe440823e34f7c8edbc03d4af069e597eed88999d10ccc9befc6931174763b597650a6038d4f2684038d075888f11b397442cc0be03ee8e0edbd3a0c2c1f91f469efce8fa2a6c267976d809eb9e33e00c00b9c9c7be444987df202afe798f2a7140b87e4a6c271764af7de8398a68ae95a9ba8d95648ba95b0d8f52d948a8c7f18ff13fec9d60284420036eb9e38b0f4368299f002fd7cad8c000018020a8044f3670600d1d8e96fccfd41ffa16dec9fc534b8a8650489a00668132ab99324a5c8cd6e919b768b0090009100bc43bdec7c02b1f93762326dfa7f65e2ffeac0d326d3f5637e57fa3e55d6413f196285e8c97b23b352021afec4345d1085e5b64b84e1755d57ced5e1eaf2356bed2c375957ee01457a8f4cd6b4a76bbaa6696f34d2465fdb745dd7251dc0a6bb91f69e867aa8f7482474a6e9799e91c8e3719e8f332dd373416d8bd4333d236779f66df7247d25ca1d59032dbbf262bcfe62dc657b70e9392895beafcbdab4cff99d323d47b9dbe6eb3811af653eb4d1164ecd0053b9ec385aab4ad9a3691bfd7ba5964b7672e96d1696f276abedd38e21e778f2abac7c7dfc5cd7b349bb7d3a3ddf7001b138c61acf7865e22d9ef142f7eee6b88fc7889df95bb9cacb21c4d8f31df55c3eb459b9a5e70b186f5b796f54117f3495154a22f31303bfb718fcce52f0fb0ac1ef2a03bfa7247f4711f8fda4fefd89fc7161c08f098f3f1ef43f9e1a7f2c38ff385043a369dbc9a4e7ca55a06b857a26cdbc57c8ea6d7bb96c36353462d7f52cdd9c5c1cdc9b5b1bdb9a5a1ada995919d9985818d8975717d79656340beb8aaf9c738b1fcf7d57d98f86b9d2969e59bca3f7c96413868b70d17d6df885d70fb36cef002e00711844a2ebd75b677fea4bfda80bc5bc6f48bd292688d45ba248bd238cd41be20149bd9749eaeda0c4c0a4de0b4deaade0a4deca6f27441d4ca9b70155957a130c24056a64c051f6332dc4caaddd85849cc5675067813cfd6329c5ef3e13bff748fcce13f1fb0ec4ef3a0fbfe72c7fc771f8fda6e1771b86df6b167ea751f87d46f9bbccff3dc6fe1d26e1f71784df5d0e028319a8a2ab6fda189233020a6314638c314302aa223bf2c81058638e19640c11111111199140021165142449d2017d5a2d68939a9bca740bcff9b264b4e121f39c9e8ec9ec28d96a8271c9ca820c04095636eb0830eb2ab0fb089a7308da71099839299abd05d83d02d83d0a8c390aedb87336c01fe32f163f543dfd02a860dc1f7b0da7403f3bf01408e6be7e22a7fca18373d7dd0a54eb0bc5fe1aec72fd67efdd5e829f17b3babc733455252495fa144d95042545f47455e4b4b413d41ce3c232b0214bf969ed1b5bb432cb12245473dce9eb46a1a8b23b9b5c7617c486301ae74d370df4638c72325f09b0c1e7e05c28dcd00772bf8ed03cce8b878e9c9d5c394748502b676c7162e18c2d4f2dbcf1c58995375a38b1f2464b3dad994606dc1fd712a1c5efdd915dccec516ebdc24b062e8b4e95238133e2339399c7aa4dfe334a49fcc39822779887d5647407805c781ab6ee387f022653ab746f0ab6748b851dc418b1d429ed075092e02878013a66771811fb2d2957531bdd63e74c00459f5c8221b4c3133f8fc392c86c796b08f6060ac25e814ab0165092f602d682b5c142b056d033801d5b35770c6fb8dc132ba80617e370e245f9fe638c8a61e094d654f07da2c54cb914afb1f602585b0777b603706c0e18d3aca8951dc877449ae60f3e60c8bec09a00fa4514344eed884e1b5ad6bb7dc40622c20b2a5ef01028cc1560c09743e6e5ad91aff61d7ca4e918c7e31e24f7db8d2ca11d3b742179d8d55840d046e2015f41340b266ff5f2c1cce1d39b6d10d86ea5c6babf4d2c6620e0d287ab157ad0f96c07bf1a67ffd75924494043131daaad230a4135ae352bee340320fb5041dc2e2629be5b7f92fe33298cb1fc02704c32b6f2e0a24935e6ba4383cf6aafb7e6983f57dbdd602cb97107709b66192558078af9d8880045c51df8e292d908054157275dab4f6ee920f037e92ca0c47cb4ede918a77eb888aa59d7c85a882da37ae6b5c29fca4069410c12f1f865b66e2c50a0b40acf45ebbabbd8e9f6d9f27e19eb54bfd8c070f880953fca30dd6abb6a7e92e2ae10d9b6d1a686ff74faf943960cd44d5bbcc6502a5cbb5b1c1d6dec99eec8ff46fd3053e787f6a78f1be64cb624c62a9a0783d215aa15be340c56e3deaffdd52c7d1c75091e26de68d797288ed28317d905f135727a9b19ab4dee8370150d5042fba68eb051436cbaf82ab7d63684a16b5549df4927a217ace0e80f3089cb8e5f42b00f7dcb97e85b6847774856c1a706dcc70dc6be587ab0c480b9f6d3a20a6b9952764488b0f78644a59c43701030b463f23afaa414811255172adc7d42e51c8816aea101b3b597fe18a4975ab48107ca23a9591281e6e47c8162cbc8899b00888cfad6e4060077d144ace46ed8c4bddc38d5f94913035d62b6c16f192cd3524ac9bec6d9b880db87fbab34d3a49523d166befb7fdbba7f4fef96ec33d5405ea1fbd6913f34f4d85be8cb45ee874cb7a2f065103a8a81487773819f6a2746e2e682b70e5afafb5a71340e46f327edc3424ee06b12062e608afe440af9c2f235c8a7283f263638e732d54aa0b83316d5afd00ec8ea3e8ea22990141631c07330c597e76b6c8350aaa0a00dd1aabff81b5cc4f291d137eeb0798783d97d5b5b13a4888fc6d834fc94cfed0c88fa2d4e4a070a01d8fb0443fb6f6bbfbcd8f8045252272b0225b2f1807816a9b2174cfc4641a2cb29290c1cb9ade5357a1753cea026a4b09d7774be611ded41498d63c9b3cdc8c15815b31c471d69c310c4b41aa07f3c421b2e44f58df57ffac3be0e9c686840875ac27526383ddb5cd5a0cdf2412c51a90c43552059c7672ac32eb74dda5ed057cc950fe27bbe031b1022ca075f2eaa4997a143a41e2b1bfed770bdf7e46aa2ce1972d81e9bbe13ca7538889c02660c522e94104ff8cf29c73b07a713b33cd618ac71bec22d75422130c781f38fd2ea350f54a58518e2fa76ea81cafc5addc61945fe52d4cf2d3666147e4e88ee70829a2f75b4f0d523cdba43685543af9288e7f089ab88a675d374fbde26f85b5a43e83fbddfa662eca26c85bff375aab6c9c6e713099cec027a9db1534620e451da23f41ef734098de7f619b3db49fe6342dd9bcc881cd00e6f3e1810b8b8480f7608bda0700fdf032f95b7f00437116eca06a9476cb691d64d362291ddddddbd532201f3047b05df041d17a3a2fb569b052f0c421564adba0e420fe6c154aecec5eaba2b30ccaabbc5ea3a166c55960a16391e3608ed06218410e66ddbb6cd6edbb66ddb66edb66ddbf61cc7d94d4b8699abb9660861162d99c31f07b7dc61f9197f9531cbfd3e7d43e8347646ee332ee317f13f467b3b9debbdf74a1badb5f18a162b58acb492454a4f5ed162050bb676638c2ddebf5977b0c354767eb5464b779c9bfa94fe3f08d67c6b07e02021ac8a316aef4c44c914e56f082394b1091d3f1663105f7431a44e525daa52516e4cb8905077a6dee05182786f5a60be3043bbb76bb1dd68ddf0c5be41b8418570fb2e44033997727c31a3a3b5419a82e282e4c43fed20c5a40afd9b86aacddaadd5aab55ac15878b3582cd60a6e16cc6189a5374b6b4e1504f3e8c658c73a4f86b15ee5d55ec1ef6afadb2a2b295cfb6d712e537e7428a1566fed44096554033341b3059333fa620deed7dee4e952c1cf36606035388d34d2b873c7652bca50935ef5ec9f9e9f9eedeae9f9e9e9f19c61ce7bf39bf3dd2eebdeaebb9d15364d527a18638cb18f0fc7713e97d2cddd8d84b377fb70d70789e5a8a5afeb6df7e24913dbcd7bbdc387dcbd16c9be777b1769370c9684bb4838ee5ecb510ebf7c9cb5f2bb6f177db1d6dce5b4be1cddb04bc7bf752e1f2f465f2d396505a5aba7eba92ece5977dbb67d59ac0f6ff86eb8636daccbfa7b718e230533b535ce0997acb6ed70cb2c196bb55ab11590f6a34408288645c98f1607cb16e95db67791f1c39fc582b5f1bd17b4b60b77dbeeaa4fd5d2ac95c62a8ce6b19434965d7666863a78ef2d8299a4610d12d5c408773413630e87504b29a59549a5391c1204b3d6d67d3713a66b79c8c2cc53a4f2e7d7ff4d3424e7aeb43a92fe18132d9aa8a324a5840f2394524a295f4a29a594524a29a5dcae41a4dc524a29a594521681bdd0db9831aa593f1a79dafbcee8bd8a43fa75cc9ed65bfb77af527d08aa5c55a15b087712df36e811cd149b27a42e79dc5bddb1771d746bbb39b7fdddb2aadf9dfdaea5b2534531846f34c5d62de76e41c562712af811aa3ad576fd8e1255bb47d5e3b29db53b6eff3fb75684335bebef82adf4e1c6ff5365b75555df15665f6dad8f159b9532c0456f3b720efbef60766b55306feedb32de9d19b8c17bf8c22a15af57cc096c6888814186a2fcac0a454c26a645b192b8828915fab7a494c629a57b1b62209d03b012dc0ddec70983504e086584d0df3597203a8eca638d518a2b9018b794ffe50ba73bba8ef91c2fc6e85174a48ee251adda631afd1bd229544df5849c8d93273e232acab078242554e29126a2479298f2da7b12d60cb48bb3508ea3e23b6e0cba9828e4795a43212a474ef0cb21f5e1adae291d3f2653c01a074653937869a47ef9524e58458c10fecc323e34f34678144ca2d3c53f6b087fd762ffc3569b31ba24fc93dc1f09f812be81116adb8cbb5b7248259974dfdd9d0546e99d0e98f433a834859393d3ec9b7e66c70b39321c21c743a344fce2e5785c282df9944b2dd2da5345ec387e26450019321742f8462ae94e09ad93885e172f473edc2e5d83b14f36e592192f4d34014626bd814868e81a4a4a8c986f6af333979a9a8a53dff43398457ef74da90e39eb3aadd657a705278ea5a9fbb5a0ae432529664b971aaae17f444d8b538492929bf1f258f546e877edfb677043e84b1fe137d9193366ccd44b95e1521f7d69ca88187f89b86409ad7dfcffdfef4dae7db0833118b0f61cd19ecfc001b1bb01fb733792b401e5e404f4b91b246d9ad8b051f239193e63ccd6acf9f93c8de7851a3468609f67f13ac3840516493e9fa2470a3365ca20f9bc0917134b64c8f87c9e448784529830dee744b4be2479f1f2fafc0796fbd0c5b938979e2f87150e8ce81ab464c1d37d31a860c0f2429dd6b702a7c29514e6b03e13b612ac902067f581903fa842058efe34c0191c4d71527d522e0546513436dc178185a0080a94ed5ba02af0c489019409fd888686f027400038f6a21374258d12da9f0e14bf0d5bc1a02c422ad74a219c5bcb3da5ac95c629e3e748a6c8434fe1defcbce99720f9a32ef431aad69cadad744add815f8b508beff0a3cc1a5cd214fe27552552f84ea3108e30c6a86933267f46bdecd09e6bf5201d142376e83ae6989fd09a8c0f7480425afc171ead79100c946f67222434d3a0c39148d9329d96daf3eb103dc3d628fc1e3e8406b4d160cc739555da206fab1bc8a68cb2230203e5c913a77204f52958898259b058a9d9691db4378679de0a6f43424232ce091151de47f8fc4c8add6f352d8b667a220288284533cd8e8befa474a375919927ae35c746200c82d6828a2da6538c9aee4b0e0df3dd60acc9939652bb1b7c6cdba2650ad287da1d6bf5b0dc0b57e8d43e729e6c279350458b636dfd4de9ce53b9cdaa32dd5d9df0639d9f14b35ab7d63d00cec660d426f4b8a373d122f424ecdd1874bf14d1af44d6908af4db9bbe1ad1be79ecb4a676c0e4ff99171c1db5e9b9367103a54ba82520a3992f4a5fba78717a6f13e527d2917ff2622607a227b211d9c3fd8cc018638c51b218e36c7f4dc4d0b16a9a161780fe5ff6405e6de8ea4f439821d2ffaf6dfab5a78d68228f91a8b376eb7a82e8bdc71f153746abaccfed5ab998ec5e6e607cae76af357407a582ea56b326d54aca5b66c9003c3aca550baa9b55776b9552986cadbcdd7e06b0efad9219d20d9058e03f9f6631e2d7ede93ea3e9b44268af6bb57edaa9c0d8c7078c7db8e49a254b23707b968f2774d344c849938f8a023bbf022f99a41a39934d0a3459ed8fb563ad0d40b7835c3b809e2d80de7b477a371229a594782799734e04f286514ae1b67f6a3d80db4aac014c5e6c8668dd056cb914ddfd85867eed0166ad30664a6994b9ce2967b6524e9a6f8cb4660c61b54be8d02ff1bd961b40688059b32fd943183a893581097c5228029f9449f44991077c52a2011f1329052011b044e8f7000204801404c052ecdb404a3ed89704c9e7bd7a965c52ddac95c48a8a1a4a731bd243e125292d4a56205d87266484795a1325eb3c984a7277730e2bc61bc3ea9e377e22a34c1619677ddbf2537c6b95b22179f43cad27dd5ac56d19df8dcd38030d366ddca4d1a4c61a6c38b5e1c613d41b70bc8113871c73c4a1a30e3be4dc81471e1ff50414519491620a2acc5461c515589cc9420ba62db8e8028d1769be5003461862ac19830c2fc3a9e7e9dc44ad7ab35c7b0b091111ed3df898d3871f7fd001241041ea0c4248215286d8b98327cf21884c25a2c8228c34e288a6d94e8fdfe3f9f839dfc7fbf17f3c9d07e4037941bece0ff2847c212ff586bc9dbff3783ecf1ff288fcd427f28afc22cfc837f28efc236f4619679081c6186cd6b411c34d186980d1d4a9f1c51a69d8f0c2094d1b5db8c1c5d31650f60d2de0c8e2cd193858c471851c56cc51459c151d54d431851d52c829734714784091c7133357d7d22b2746e8166ad57ab5b22b2b4f680e9c0085e68009259020c50822540901840fa878d00107471b6890c1140cd2680e5c6081510552288832c6042eb3a255dcfee86b66449f31bfe4b3b98100d1d067efefb3a74766971b5d3795ceba7b6e733ae3dd9aaccf5ad776759d9eacaeb575d7b176abf57af9789be5ed95b63dfd826a725bb61432163ce37e7593ee8eee185ff515a3ec81b3c773f7ae73759dabebced432545b0521841cc7c1ae0b128b8a8bfba1c315494e781862e6903c7d602088931b23044963071af291a41f3a3b475d43c89de2c0ec31c1d099b549f61fc770230b2459c88aa8426aa9699d1635e9f0b36f2184ff025dd7f2cedd1d7adac27a5731bb61a544114f6b1f90b4e26cb7266dec48ce398feea638cb8dbffbd98f46973226112384078c719f73cee853645975b7e713514a29e39cd708a86d65cbb9279ed8752f74fe593ecce5c5827650b489bcd9da8e52ca39ac994698b4c513858651f60e2d9b28214f41a009f354041359f6ef673c4664495292100e1e0f0f481370f9417f54cad884316a77bce7aa3d2e61d09431e9ffd4390b8edd0911d107ed0d3b4db58c4750591c4ba732cb0b2f8330cfa96514512c5356bb98662c39284f9e5c79ef1d7bf5500d0909f591c78ece5293aa56da38b7b5156ef49b34cb7a6de6e43bc4714abfff198a932d1eb86bcffd29f84825d6e80fc6655bcef8f4950cb2dea953ad3ee7986ebe7190d6ca9b69f060cefd81f63e63fb7e0442829aff7b1dde3faf5ee38e18feab108f4ea03cd1ff940e0891a6bffc7fb9bbeee34bf810becba8d2a016f7e7ff70e23b4618f7b146fd73746bad26040bc837deed75fb8d313b318679dedfdde9a96d9d73d2cdc58d023b39732f292edf3e7ec2b9278560b02a7aad3718b54083d1051ac55eb77d1dbd70f1f6291a1bb20ed37d21a5b7c662547bcfbb52ea503630063b8d41a1715e5bd0e4c862090dfda2d0410fa73b3e08d2b41451781a6618f0c9c8554a2cb1e34a5f77f4536d6be16e99e09d13a36d557cc438f9d185d2cbcecb108da5e4ccc5b275c166df52cbbac109a5db17fe3a5dc21dbd2077ead8aff54d4405b651eb36848fa574776a218410ee9f95b1e12daf9443f1ee59c1bbf681fc22aa3d62e9d78a249baf4929e4cf8d521a5f32c28befedeadcf5524b698d4ea9763d36e1dd7b06d9095de16b7fd9473984123708fe88bb6bd800ac056c711d1cbefe1c73fdffad52a73d5ddbf0f7c4c92c9aeda2889b889269d1e36c1f369ab321183fdba2a121a25a29a518cf6ad1a5d5e975220917f92c22ab518a9ccc9c3cb1f9b621f5342b82aabe91a93190286b8c698ec034d77aef77da73bbadb5f67e312a299574532aa5d43c53efefb59ab693aca5b2ee5de9bd96ee59b54db5a9c9f7d71f9a75cd05e7ed1fbe4f7df7bdf7d679b1fdedf17d53068e30cfa34e49b8ad7d9e9bddec9090d0ccd90911dd9588d25aebbeb4decc4418d6888b456113b473de306738e7dd34c734be1c161c47c81b321891dd19aacc8b31de1873160a9422af47d16f7ebbf938f293ca1fbd0cc9203a0a07f0488b625473769abd0675b4fa925f96fbc8bf419d3318d86e0fdfb3c49dd633ef9c73a6f9ce1723d8317637f4af91658c65c6793ba9f6762fd571ec67fc4663fb868e5bc0911d65a1694214ea8d2baa567de39aa8512bcc3e5d6eceb97a1c65a27ef96ad4fb0fab3c18c6d80da8796fadd3eebd6dad18dfbaa9adf4cbf37aad7ce86a73ad6ae45a5dde694da33b8cda6f1969a4beeb50740af36a1084907a6cc5e0d02d77efe2d4a5261f56cba9f48ad5ea5c3d2fcf074912d88f12a0fdc500d85562ec4a6418fec8708425a13ef625c3b7c725c3b993e1ad25c39c6a25c35acbf04ac5c9706b93e12ecbb00bcb70cf95e1979561cf874e194e226518f6a304686bb2eff50424c300b028de9b765a03f0b91f4afaa033674eec733c7eee889223e7fb5c0e581c71e0c00920442e64ddae15699aa6699aa6699aa6b9467d224179a2d38cd9b58b4a76702f89ea5fb8f1b741da2b9a955cc7cbcf637962f609bf196594304218638c31c618638c317e9471c318638c70c718637ccd23fd82b3c681c30d370f7b8c6744795a33e5480e0956b040a22731d8e0cf507c6fee1edc444c3fbf800e7bf2244fe92761b22015a9ab754aab4346a7d10eff653e1392ba1bdb5d378c035561533533bdda872e4663e0f578409e78334e631f71c0616efcefe44a4e70e0f8f192a3c466e999949276ce1bdcb3c9831a39cf84a4bf7f52820e19ad858ffa2e8fb481d138e469f78d0178718688e84d2cace35b80a131b0447362b35af9f87cdf92255adc5a927eea54d98088714c45b2798ca31865f4f7eddbb76f8f55a840b9c718fda88afb7751a08ca640fdbfffaeb319b46264904b14757ab979b5a194526a29a5d6524aa9a59526415dae21953d2bfffff3dd3deaca5ff92f85282b57fedfca953825d4917e125e3a455981ba92c20b5051b8080aaa5265a0a22e8a62342b329a1519c160309851945991519422a3da791f058a8602068392596ee9cd19e7bbff7b9007799007f99cee73babb961fcc636c7b55666fd239e78c724e19259a3041f310366ca2b4d684d18893b98fe6769ffeff5f37840fdfebead114eda72031c7281b1d695149529c3881886c48834ce2a31d20347da47409a374207e98e8ff5bdb75ff926bb9017ad01195274173a0845fe20174b964ec27c2b8630caa104f160889fc15d09cc0686dba40c0818c39d4e2905025d72a556e28ad6818e36ba942db5b62f43f9140241a8210680834f9ede4a7fcd15cf3ebaa94beb5ac07ce0cef9028288d1f0428944e4f4a8b3c1a21246a29119160573e1f9c4e7990e152ae8316579c9922cd971e1cc9138010706c710698253977e60e4ae090859152d67a5318afd829c618d34da326ee71b5bad7d3510367b2a4a5a5bc7157a557ac5ac05012b6f6c3f9b6be9e0b6dae78e35bebf4aff142393086894a914c5c8a65cc44a68826aa896be22cb2899fd012576c451c291714c08ed9a1025ad03acf00b42f677bb46d6f9fedaa2dfcc6db1596155f9cf196378e119dbd291db483b86d3d44b4b73dfc1832e284a9d36cc60467b357e2b3a93a01768f64c901766c3b9e2c387ea47ed581ab2926a8bdb581a9d224d14e7a32b95a18682f59d2078679debd1b7f17ef8b31def462ba319e1e64404fb3eaf58712161a26a6d61a35aee69578df27634cc2917102916596962616668484363342429bd0d68a5074b6eeeb610da052513ec22425915112400095920002a8045075348f2a80a0d9cc9539cbd920b8202179178ee338cb59d7ea0e3744a723e2a7270b16a9d7162d53f56705c04b33f9f8bc720c42a560258abe702516cb7462b11ccbaf272ee6c8bebdc1be8f042d8e4f316afaa81c01017d5040401fd087613d5f92f84079f2244a9136db92bc365a910c090925817b0341a8bd2bdd40bbd60dd48344c6e123e1b4aad0747354489537253fb024486688b8e62d73aaf7e992941446b5ca9eac957becebb57faad2f1a4e0fc12134c4afaa88732890b93a102865e7b29365f735cb487023f5c9f975bd303a46b31f01a4eb7a15cb1d66b0fd68a69ee1efc05015f4c1450a080253e50863d270213f0c1298887fb609d2dcf794786610ea520d410ff93611389972fd2db6c0c8910bace375e0625bbc8ba7849926d215d9c8dcf20940c7a09a26e3dc154c66758402de635b1994861d87c37770f9e1b4467fa0de10c5916ed073d22b4d61e12dc710d4fd20f7f0b961752b0e27546aea11166c98bec8023c8c892a2e0f6bc6838e76631c5e4f72d33dacd48e959b98225a9ce8972b48598e292b3e0d662f5a57f08d61027249cff9ff0a8c172476a4ea152a8d44cdf380d0000b36500140e8a8402d22c0a621845a1a4ea01c4020b06188fe5c2613814a4310e82380662203100016300320086648666480109562652019c0262aca69f3d69ee6bbc68de8b4a6834f5bda0536a21a87c78e1e1d69a11391856f6aaeff4c78c6230c6fd93021bdf09e849407f5479ee7b20376aade24cc9d403cf8ef8155b3374965d8356f745d07dcf7626fd372f7afc482c0b3a99880d4190fe2d5cb835518a5b338eebb4c7ce9f93bbdf011f7ef4d5fcb5b558c56e6d4c24b0e09d9e42904a39c9925a603d5ebbdc48958a25c647528783cd05de913ddd97ed77bf44e22a209489233a70fe79bc6672ee3a38f0d7de2d1390fc2f39a2ef710dc2ab76d6c5b9978b566787ecfc13e45cb2d41d19c31d57c2b1aeb62c0bcd70ee590d8a316b81fa55670703559345c5207709c98b793c653ab2727f295d6d809b73d35ab2a1f83c2a1961cdebe119c35efd1ab521745d4c13c737642a56f0dcdebe749c8f0f7f1edb03fd6a0dbb1805a8ad3db6af8225931c52068b22ace4e81b8a2f7b7817561a6f33c65a1b0bceebaaab9c6b720c64193248a3bbb9c6b68d6d9bbdff429dec542c4bec6ea09617bd034efa41fd4c15006c9ecee30e6b5ab4b657aedb313a46e924919aed890f620c8e2bca3cc53ab684167608c2d091dee8d2e639a78917c10a293185ca1134047218d16c8c561859ae94c8bcca0310f3433f6fc16a64587972d14fae53b36a7d4a061d09ffff32458e4dd40881c1e7fb924f6d08d5db3279664600d8e81d6293123fc007d4e76ab67d7da8edd30e3e111c5bb021e62b6c848bb2d21f625c2109784ef3c315182bf16bbdde127abff668bbea90a52ad36c1d21e51190967e0374c90ea75e8f05770dbc14460ce64165690edc28b4f9929d14672aba7c81b0b01a6031ff9de35dfeee343faf2f32673912c6b7d55cd4257305fe6389f38f30d7ec38ceaf2dc48b97e276af719e2232801127423b4203974edfe78fedb467fa6a9c351d20d4191e443c2d10970f599b969f23635f5529fc05391637672f2d9e501a76511706ea2ce17938287efc4d1d1ea8bb920c2eff6e7cbd94b53d399b143e3f31cd4dc39678d4799a4cf2b5b6dea10ba059caf7af3199c6035a5170ccf5e26bdc9f512a4bd17bcf7a06ee71d8ef476237e76c78e1b562149aa31409168581419133aca4b86239990a4b49e9796026cd2d78727a14700730888f6ba9dcf7cfff25243956008a2da1b236803d9fe41bd9c93a721be8cf9c325113f2edf92d7eec521acec8a639b30e37b05ecaeb5384769eb019cd47026fc212f1ec1929d477a16b73ff22454c76a6a26356818cf47d64b9b1b5a87779b5b61469861bcd838ffa80c4103dbdc5f3603669da7c577074bc6566a216010f5ce45f3d28d7884cd609066661863a34588aff3e7e7eb072607d754dff760f782b8b959f961c31a79cd647eb8276a18f22a2deab6958d36efbf547633184e6c83e32b24bc1c49124aa83e45f2248c36ed0700aef557c41be55578ab99a852e993d105148e4a5ca562ae2faa10fb3d2a63b14b9a54f7d170c2764f263b36b4c7c1a998ac6493dacb3e870d1d311065efdc5081a76c91d8c59d06a15a91f182ea1fc8e7c08a574dcb036538b6921c50a977642b084abaab0f62533e9e1c500080b41363ee3bc48933157d6435d46961ae2fb97e438d89d7ffb6251395823295b53d63c57e1639c34d4cfbf4e9f88e84989e3c4e5ff51409143ea460bb76bde12cbc70c47c7aca44038a8a7d4d126a0e44eb3a86f09c6149a456dafef94971fd1e7ad22d98934bda1075594168859a9d6325d49bae3af45410c0f750dc0498139c1854cf58d355c0cc6d71c02c2c919a4ba4e08abbc64bd10a5ac97db30ebf6a443685c323f1211410beb4446f3eeaf94a155aec60c30cc9c94c3aab423f2dcc89a448d0919e8d3d790fe8058430c73fcc5a974fd6c39e97819ad91ed946aa5dc944c89c74fb383fa469dfd890c4b49cac23ae784abd76004a462e9c600c6a218cc567403210f040088b85a7022e5180c97b0b8424939e0bf9f3acdc3aebc9ce2a50879286927ae2869b94a853fbac6f85105ce56e2c884998291c2b0480f1f889ed3d06e4025f288bc3656087012d7787ec5c485ae0c78051f14b8f28a86780d6b6ab88f2aadba563b6820018a203a5c3ac01bdd1f84e638fd7c368646dec1e180023b2857f8f1eef2ed861ffb29e1c497a7f2430ca08178ee143cda7f5f0e0e06c6bfc9a077a11d38bad102cb2a352a3bf03e348c4849bccefdacfd767a02fd746edd962b054698da05c03f376d1e7bba33f2f306196a5c4ef13c996f7df606a7047d907284eee5c9d8d39f214f7fca8e1823f85a7697f4dbaf2e6b0a9d410c9a8b41d82f28d532d0505b4d0bde781fe69c99f687e32f9fd2fd73179d300accdc25bc718ab03077e581a741ea8704c5996a1a76f5b5b787c7871fd4f786f1aa49b80af29a1c0d180ffdccdddbc11c16c79d4419a3e821e92280e182baa1542c97c3559804239598ae10c178619fa9fc690a536fff0bda6749814f14d69d062e5a5aba7d1becf0e6dab937730a6c33e60689d174aeafce1ce18d6dcf2c44cfe6d5699d71071e63eaedcf7748a3f65b427fe3ddb502bc8576efd1232c41033e51c8ac89f4664ac3147d47a5a87bf4181d6280c6e779f1d35a9625b49a99bfc7474f24e3228919bdab41b663acfdf77664472e5710b14cb955cb14683d32dd9b2156dcb0d65488279bf898f5715c103f53e80ed8e7ee5ad534a71001dc778f0ee6d7eb187ea278d8a758face837aa3581eb63c6fc9d9a621f3ef4394e0c7c7fed9764b875f247240d3a4782bf344718b6203d36cb95834f9d86f6813f352508f2615dc2c0d4ac7291211f5d75aa33322cf703b85e0d88f3505b3733c838899f18befdf6e2f99a0e367826aeb1377f347f91b24866611fa0d82caa258887b0f9af6b44378e45776cbf3631f67ea8ba54aefbf2cefdd2811b1d3be5eea07aab999d0e6eacd824a15bd938aaf5082137af78e62fde4fa89d076721f573ee1cccd4ae6978a724f612923b266d2f4ab5c695308fb23b47513554dbdb916e2f7d4aa294c712db49e320472488a4a2616db8a5a93ecea4ef1c3d04c8fb2a14d43d7e776048f313813a7118b58616a76469a7dac9ac83c351b0a03b36dc005326363247d9d6fa2cfb501465ce6733587df1aec15500573fbcf984fc7bcd87d478dd1dc34aeb555a011e8b35a6502c44fe92f7269830e94fefafe49203fcc490fce284016ec1dd8112b8b3548f0f6a8d4b688408a41876562ac4977e78c01d91b99d262f1545a92d6a32039290d233318a2b4a424874a220414642c14fc38678019961ef8d4053b279dcc6310d394e0bf37f2a51b9a6d068fce17fdad2998d7b314973cded76c0587f11472078a205d999bacaf4db1dac0b044e8401db1d20e77d6b604e50e2d238397e2cb596e14441da715f79e5bd28188e5aca4801a634424810b3196f8f656809e811e2ee5b77b9ca40628df7aab43c0fe58fa63939dfc3d0b32df24161f875073592af7070394b8399a13ba0c5830b13c42a1be1a0fe76a99770b70d40c3a0a55ef2a635c37fb16fa6a965f7391070cf3546cab79f20d885287b9aec6a4575033b0bb9f87798ea127eb660a2461533a775fefb62b5dad36a5ecf9c9327e0199d12cd2ac80d9aa64a3d0eafea2a9a600c4189b022f7bbcea83c34ac0de79d48f1617508fe256a3a50ef7b952405997e0a6f8379e83dcb2debb9228a132bb76649fefc3feac62faf6371837016ea0dbbafdcb6afba681c776e09d078b359e364e5c0ef200ddec7f9aa34d90ca8630ae1dd35abd96848a26b3938f8c63a4fa50531e36af05967fe9c5b205487987b955c9d1dbfef26ebb0fa4d7798db06bb24faccddce8a2fa9c9746e4dd491ba809e81284655c88ec28e9f55b48b2c97490e33d6fee7b8e746b0ba9b41a3df6afb24a365131c8d033779eaedbf64c4c2161299be88fd3d5eab9d33eb70a000731e20faba2a3f0023bf821d58829f562989471c484e568f2d02b14aa633d8d1ea1b032d805fc15c812d604ca9cfa66c34f1e8ba5189ec6799948d57da0719ffc1a17baea41ee321cc12e13c5d8995a4c96df9f8e81e36e3622824846b2ae1916256750fc478e317b0703ac8bce6cddc675d5def67be062e1e9a1a0e7afba32cfcffc755e772eb51e96f76680d2350e7cf7229ec7026607a19685a8afdea251740a2db60fcc1ed5ae8724578a2b2683b738850e046760eda9b237f16b6694ceca64a37875081bb0293f11de045cfcdb77f19d5fe1fb1625ab811c44c98f5b77c07d5d59681c79df3a946789b7b78cd8e48256c0a2b7eda28bca7363ca965fae0d3e99f6626b4b5238804865cef95350caa4effce840c974aa47500ad7d7546b8c6d028c510b8b20e7795064a0b2832109a81d1e78dade63431805129af6ca7281e68ac643b7efd40e532e81eb554495bacc95213d4c83ef4d5d8f3eef858dd9feb890db24df97ad14e0391e17105a980a9396de2c2cf14cc869200d613bfe4dc0fd7d8ab6ad09cd9b13a5a3d2aeaca9e77f750a2b986a59ddd0f6b20322a2e0b847e1f34f9d881031f7718c8c57c6f97ac5dd2629babe361a22b1a606701163976d66270080bd1ccde734b8165f0f9119400f643b26af8e501534d924ebaef676ec3e5e72a4322f38d94bc6bd7a0338f20628e33c8bccefb29251e70c826d003ca6749e44695d34b4369e4bd44ce1e1dfe222f1daf6bc1eaaa23c9ef592c9504a34646de916b43e0e2eace48adfe0f7deaa697e29d3f87019492da2ecd7e43e50e8d9bf6049b36c02343d7364538e57d4ea8dfe05b1ce24fe58d9312a0aa0e36070742c228b4237f334914d8e348ace610f2dbe2577f525326f4c7b6b79e56c85919ca4d704274543482fc4c95d9e3e94df027aee6c31b59a808bdc816a7a4c3705f1bc6a04f8d80dc70683a4c5664fb0afbb02342c045393865fdbd4c776758e6ecf6092815eb425340bc2a2b78586c286f249e134eec378d4991ed083b66f0123d8a705cf8b2c88d3472b6e62bc315a21161d94d24faa069e1f552e0bb22b90f7585fb77c4c300cf024aba5bd82da333b7bd50e65aa49c5121d12a0a2b389c4c99b18ec1fa253064c4ea8fb333240d6299dfa5a350b5becb48481a2e85a7a3e10eb04b76bed77bc2d3366b2481a2e89378a27bb264beab1e0dec6624ef4d6849b0df03e0845243093583851b09918d778e6deb08f3219518b542ba80116d77b4e5fbaa926d8382dc98b832430a5e660e24a02d4c8b56561c75857ef612056b6c9bdad2e08ebcbdaeee58eb8c25d5085e772ec7e3034d828d59ffab8af49ccd3bc7361e59dc39577a633f0aab012a0ebd153d5d46f10c4a1591ceba32e374e78bdb4396112857f6988838961c41ca59a23008e0428d0b8463e2b54da0fa72445eec471f20327f9af03d4483d06af5e7297edc305b9059240672add51195e04c3eb3af81a062c3caea7ce385f3f17e5e26ae288006b050eacac93caa94b4c8ed12790dfaf8b10683001a1e9a47faccebe1eaeb831c960cda8b1a828425f4814eb9f65c616bf1f44dbccbed1a0ac0b240fd04f5325b4d6d7c05f685d678b2df7fb7d3b973efe85d3198c08f304f3f37c0732b7bdc578942704f510f42726cfb124432235f7334340b91f008609330a1ceb230cb4dc65904a37ea35f2ba3c625618ca742f125fa490509bc4e4e0ae2194865775c962c9d73fbbda1f0c6c827c1eb1e0664e62379718c2c5e373dec374a3cd72d9d1a0adc44918959faca223a0f45a4045131b2e09e7805f5082c5546c3c60a8c50e05d22da5162f43b0997811b44cfd8394e6140082ecf6d92583d5513347f1e05e7063e7426b3d32afa97f81203383eefb6550a6df2824f5398ec9ed9a45431cd0b91556355082859cd1c3849c33d2172c30ac3d4123347bd27de172149cf4a310f7c9e8cf8c4616d713bbd953442d52613fc6804e7f7cfb2e043980c8a28312fec9a0945b6de9a05096f57baccc1d7522ee3a2b153d1eb26085f2dd976650912862aae388df702c73e4ac98247f51cb28f5b2377d38dd2bf1550c3389690fd5c5aa94134c3f6e8a7901b376b84a012aaafd2da4202e6077ac026d5d5c5531408d1a0bbcda0b44a1cbbe9ee315793e7d446e861e5c2e8ee85b974f0a21fe0daf0016770cbc8eb81e05982186a2367c9284e4721b742663720e1fbe1df28107444040550192d307aeec2d4a0a560d519291477a702c3a087f1856ef5b62662ae9a0df7e2a171cfe7c7e6173cb9b487ebb278725851100f881432bec3d5929ef0e53562da5d1e6109c18ab9479c475010ef4a00020b63b236432bdf45724664d229bb6bd8460d1bbe1977b6950f9d28044fa5a73165354a6bb41e09b95d28daa1172104d5a9571770c33ce6e5abf1adfdc0abe0a64f760b649cc744e642b37fdca15f23423eed694194685a67fb677fc84ee0dfeb2e28d34a81b16f1849135b4530ac7d92f85a3b92a7d6bfbe84a3d0494ba09a26bc78012b4ae9f678dac414beec8f57a62b7c519a38398ca596cce23f9db345ee6eebf7f81d86d2c2292358cfef9ead4129861f07ddda9b731afff8eb978e011cfe501369012c76e7b9ebf5f39f1a6b40606f8965b69d9b4f749094fe8bc06cd9677ba7ef362b94baf1b9c561b7948f6ca22d15e19c79a04a3b0a254d1e841c2a8f5b611ec242954b5f6d53072338b56df27871622e47415193eec1b4c03803c81bf7a4559b6d7e881288ece14291e06643317aaa8cee2c17177ed0ed4faa5274e705724c2e2c464ea9ec776f0291418618a61b4ee5a795bcbdc6bcbc9f0ac10e2671011a250363374d23ca83f67c32bd28062c1cbe5e38c051fbea05d6901a20a7749c7d62a4f7fe0ab08fc5c0d596e329fc0a13e988617850fa39b343e67e285cc5b3c163f5a0e8488ad6f41f1df066157564a9d27035996fccc30affa4e1e071834859ac2dc28d56bf66db242c4393957f55cd4bb4b34192c396666b903b5d8d612e14e91772dda6e0445fbeb55fb1598c6582d4173574efd72800290fa367eb539f6f7007e0a401245a8aa00c5785aace83437017dc4c0df97d70425a6728e74c2160591069cbd5d81fc27ffab57fac973c97717919590ac625b2d77caee7034ecd693318ecb119372639c26e1cba8996808696b3ed72b54bb222fcd90ee3d7df7f31b605f68692cd0d07884d9e2bdf2e50884bd5f5388e41d998fbc810320bcdb4bd7c0781640314e3997fb255ef0d9b24804cced5b1863d936c52067a56691622343982a09aa09ed7901922663768626b2f3f4ca58b4f5f75cc1cee6ecb21443e38d6136b4e76298728ed42f24a0a6959e42520804920b4be3d5577a3320b24611455b5f90545b1fc3407bbb59b945ee4d8640e174de1991cc5a0065815220f2e29cbc170b6c9beb87c84d7a1608fae8adae1037438e6da0a0d99fdbddd55b1f12c0ad9cd5cb69dea8b3eb2c96eb2390b12043618847529e1cd21464bac4a6bfee08610bf41b43e17c3442a6049c288f2410022f1db11210904f3e420874ec23221d599e097eabdea418e8259360c2e9c0c027dcbbfb4b7f712151a2d12989b90898c9149d42957e2b353f53930733167350d1a5c8af9961cd57d86978d7e49834754f2b04b1faf406a04a183280df7e03d4203ae07d6c11c08fe10378737440bdc1d2800021e6107d95289e3fb46bef3c0964951fc3560b548a3b95d3ac001981c4c3d4838c8a295c254e69f861b346374b34d7f85238cd82612362bf78c672dc8502133a24dfc0b809851a3c355828205d94354f0abd2ce21da61b7981ccc735da41edd67d7fb519cbe01cfc21c0cdaa45ca9cbfe4b9876251912b1385e3741c26c9cb7bbe18a8c8c9ae4323c93bf391fb9323707c7829635c1ac23f42e224d7020de065f3ae5b165417693eff411b4817086de892a2a57b12a612e3c2ef71a2923162c165fd1bbfe1c07e3f60a6cf840502169cd45ac79c1e6324bbdbaf29e6b9ba38e7837293ec86c704fb4d4745c06f1c1479355d67d95f61d2a3d5805ff009f6b5f56813a7f079bf084b75cc01ec7dd78786ff91baeea558b4fa02a01e70a164fd42b66ada62c8ea19eb9abbc0a2ffe9e446edf79456747054d997eb11e84ab789791bdfad5dc1eb08a7f429a2650e02ccbdc9872c675dc8658ebeb7907eb74a0e4de7d4b241b1170b99d2f5966881b04c5c39d1a8eb52c0ae28d635767c8c899a36cf1004562df5bb069e0d12af6ce33f6efb851078304e8869d27029fc29bbff3ecb77f11d3a7dd528a76b5d6f8e6a986aa2e5aaa81fca10315a11081133bc217a98585874aa9fe6e2cf50c913e3c949dac8bdd7c10f2e1a6a5fd08032f879eb41b1b86bf120a25e591b9e8e4cd3f31ee0322f04f4ab80ff6389aee961ac410efb938b50836cf39aa0fec150d5230273c1775e69c6637d21a796ddfba7c292ece5a8c98297bccf7ddafe9f1b769b60403c3dd854baee7d87467c4c71b17ccb1830f2e19fcaf53585140c1ab6963d168a178f5a3bdd2a85c2e558fb2b0246dfc7067bbc89225bed85f1ce8ff9777d0cf21981c1f3771705c2eb87cd83db92c643133d302ae65f7077ce983b9012a4c18ca4754665b7a9394f209e96449bc2d0f537ccdea9274941a21d2ccbf8ae734853a72634998f38c128f1ac085b2ef9c12ca5cdb88cfd85a0f229a3fed01620e020327b5d2688cbd49c50d72b728680237b24282d9879e0089794d8ab199eccd0ed746ba4907d70a8dac4b59c61fc3f42a6c99b66c1dd4580284bb62c3343d7c4ac32c058d3ef89e1f1792297323a41819f41990556a545c8d9151649da9f315d41240b9db82af274b814d5c1a4c3681adacbbc7702b5c09ecea0bc24816aa7e9ca28084df5ddc443d67408b34426981e00ff94d373433998b425ae35dc9561fac9d8ee0eccc863ec3ed88e39b234eda21a5245db379f3847d0903422e021ef0c032d1aebc1720bca1735b3d85b7abfc3c613d000badfc1760d6dff6eb66248df405013a827cfce23357f164203e32621036d7661498ec8129d726663c9ab90ab81e29ab7b0fd16b79500c446e1fac44b559a23800305f3c22db72c6995b3bf9772838ef64c10b3f77ec498537645a20e445270c81d767eef77e881271f2eed316737d11b19538cac064986fdc1864488d270b67cdb9631d9914866f81c19c04b373c043ee8a319346e2bb0cdb8638faed1e87824cff8cc35b6d2118c29065c264e6ac21631f57c4eb1f7f65859f15dcc956698c436bc22b80e8a7c20af808eb31f822a602ef9e416d895287d468b83993908219332d260e45393a1c792a6d20371bd46dfe8e5beb540af450795626d2a2983ee07ad69080de0bde05ed411677365d7dc2b6ef4d564c369ef292cfc8bda8922f18fb2ea84d74d98627d28710fd0ef394c00a89784e2e573893fc8a930a109b6453ac4eddee02d341af4464ebcdf61e2cf032751d8175e0f941b54dc982f245ca97a2878b446b7161be466916a4395cc55ffddbb7cfee2309595d3f352c7a19b4092c5211878543a8a58901c883d416d68b4bb99bc8984a3841c86ed6d93c84fafbffd84d0b0d83c26503ec6882c819322085cdb64c0addc7cead5331021a9f1d979cc80010d1b3e809c3f3db65d3214e93ef8e02ad6f01636874bc1c6ce45057ccb60c44c00d726472fe8266dc98560ee13d7d8c297bceed0e92f9e6208ad001b86ec15d41435f99f581ee290e1433f71467aebb1e95b6efd6b8746fd1cdae3ae23cbbed577582a87beca1000623539dc7f091c1d781d7d1f2c6e822bcc56bd55d68c0496427649816d7b7c3187bdc953b0c52cf6162f8da79b4d00a23503e1b8033b5fdf02ae8576a65046728c9f015ea1315d46f70f026f1f9f30a9868e280cb0a2509a90c03c68beb56bee33620caedac861be33e0fc3c71f1a92a76455a20e0850c7eaa53021f89799fdcf34f093892afb9444886e03a81a1bf86c407639a0c7fd70f78b9417e84d8fdca6a2faeb8682d8e9b204330d3121e4333f22345a04763a9d54e04b3951439f1699ad676b9230adfb9cc03e01528180ca2b8dc7eee63b701b5a572c4bac532f341aea5de3231b3122f45ad45ec0bbd88bdbe6e78f7d5d4f371606522f4422557371bfada77a62d5dccd130aeab931f44fe20c588ae5a74a0d973aa758a4a55e439f3b9eb7f3e52fb1aad2e2f367492e3c3d7838b0a467eabb42094fe6f5cc44fd7a5313b98dea2fc40a2babe7362f961948eece1bfa45fae6b08b26059595b071793d38a25616f6b949aa099e6d6b0086f5162aabc2f595f55898d1a80d75fec3ab84e5b1693bb1353cf0e714c6a107abc34209b61039ad62f65743f06de4ad731db24d5abf30f83bc316ce71f3cbdd20d5257b54d6a19f7e5b50d63de41b08d40f9dd64e39edae69d27d0e30fe82945a08fc1c0aba4d29960533b16314c40795d825612cb205c13e716bd20f9e7c8324c4fba912dc7e47554a3e35303ac29d77fe050653d42e49d572a138aa7ed5e6b56ca5c94a2f18638c8b6190a1b88803755d6acf3ca5f1cc43412eb7c7153fc8205beab9f27ebaf01847e101c80166bc11b9d64cb7d61b3d6d44e52bbee36a6b4c62a73f7f088ec3801dca7289a8435d3cf450864a75d9d6ceb62a06786144595a903fd1b6178952b23e103aa18c055c518eef5475aaa74e6906a0c2d7c5a4c0abbd189deb3962191e90e33c91cea26947adfe61871c5b352c96997088083e1b3e999900234881ae246fe5210975ca40f5233d9bb4b294619335d02ec024c587a371ea17b3f300d92384f83f529dc41c4db5905504c01cc1284e26ee6e43b038164332491d15030058592e2eafbc212140030b07ffdbf8d785f1ae3ab55ee94302db5958a8ce79f78d4096fa34420b549acecfc4722ba9e3d77e47c4f6673688477846f82750a1738c130c3259a3f018a558e7972b07a5c40cd890a5dcd9a4e4325bd5a6aa2fdfa11b767758779dfe9fb5c17e2fd6bf0f6dc08f450de41ee077d76ee9f7b9d7c44fb2804126f481be25c91c5f0ca33479290df30c538d3c1984c4b25659d801651b0207c6087a497dc416574b2097db56e025f84dc0db240ad26c49bcbe12fa378d93057e9ea0d582282288c2b4fdd5f1c6e945b02fb0a96d58dcd1f6d6147222c82f568183ab11202a188061ce8cd19cfea101cd9c9eb4684bc1d2a7b4dee3052092b780fa7f321821e8c1975f224e62b8688b2614bd34a015916e4c0434c4f6e33497c6b0a30ba3a720b827d624411b85f4f460d2a5e6fa9b3eab79917ad1f623bf045282555fc3284d74edbb68c648a3c9ff83448486be2f4b31cbd857d15c43f740551bf3934de8b694476e3a9db6822251329b0d21ef10b41986bd8928a4edd4421f3194da2c4a407a06345f452e42808e21f979d71962da5319c2b919c6d1f1cbc5730c308a675fdc9ce2c476d47b0c5a0eb828dab48ab093353dfe2932745d32a5f9bfadd84e7941cf378543f88a5944e33aa3c5d169b33053b14095f8331bee7d25424b13406810c110785706c1b219c23e352cd850039b0978baa893996988a8fe4cd96638321523dbc24c5ca8225aa04331f2b5a1460e8c9875a04c5a677f63cbe993a5b04d8621ec085fe4e09c57686bfcfffcca1a41e7848883600cd67f11f14604dfd6a3751e5d2d3cadc238899173bfdba66a00673003a79f6023c5608744c04eed4a3aee86d0d226a4e481e3ef78468d131798a89aceb10042f715353fc45e38588a61e31e688852dbbb7ac9365732515c8605cb3a3de74896227628111533be631f17ff97306dcada53664cdb3d9b82afdcc82d36427c83b6aef7b9e97f5684f54e4598e338fc9f13f2c5ffe665bbd2d5c6366a03228dfcbdd62286523bd0de0d6e3c4935305b467aaa4b0b034222828180982c1074f78c493bef668e388a0c0c0e61975e4d037f0d6908b906f354d7f4ebdc2e547c5537b8624e6b8564700851e1004ca19484d595193a3cbfa68aa32f45387c21c68f1802e3a3d7a37f6bb7f29ee42e9ddbc272884a265080961ec18c194b2f9befa7c0c56718866a57f90d92abc5abef19aecf9a4ae72492dc0be169979ef163c1b14d8330c7f7a36bc8889f7a011524ee84890cb973ae3d0497ec74b8681f93c4aca7cafdd804815c842ce62fd12a52ab23c9bf02470755a765af214b28162693affbfe8fb8dfa23612d94141a8c6da06bd34de438da0652957c3414b1846f74bc1960b1b4cc066892e9c0f79ed7c301f02da3cb850d1ba635a9fe3b045ff28edd56d411180c7a59ec013f683805a495ae785c386f89e28dc5552ce6130b4fe63a5c5cfb87777f0040f8032e269c070d71510ef1e8dcddbaf42f77fc24eb2508eaecfe14ca635df81cd57651c65d8bf842e064bb55c8189a82548687cf4b079e3cdff5d064a8aca8a7006316f737f0033f40c310b44569005e9b7fdebaf8828dc748dee63d28738e11c8359ca27834896a538a82dd553cbc7fab14194df46121941642ba0496f26e97d5f7db7315432d83d6335bee1f5f34869eac3cc7156861a1664b94d3300910c1e336f8d264bfe865b6fad509e6a523f9eddc5d3ab5d58b7d59f9a8a92d2a16a77cef93318a6437a13d7beaa61a17550f9555a5ab66a01bd856bf1b647c78d576383027ce7ab5819c452b556e6d0b56fe6aead038b5173bc249c1c440793e961e2d6904b8e23163875818e2512556393db98b713fb749322e3bc98a5eb6a186bf18c52e92e6cd1937390e9e009f0371ffd9a351cc76381dd89206cb2fff0241ca3f4670411e40d0d1cfe581bb5ccfd5fd090c6fbbabe5b02ee36d97ed6a400faac10d5bd7aec9db0eacb66d24cadb369779ef046ddbc098b78db879db164f617124b6edeae76d378bdef6409b48769a6f5bdcf4b615a9b70d39f2723cc7e615311586c2e358c8a883d68fa6c9aac431d2c5fd4714045cd011284e098270467178f332ff50c411132a8762e78725dedff5e8fd297721cd8fea3d744e1cc12eb1bf775a6fdce3ba59f55059cedbcf23e6ff44783a5a6f3c65499519b6cfc5b4fa0bd8b9249a5d529c361d81946f2fc03e323ffe8f4bd4766f12c46ed7d1a6f9f299f4e3bd1f6f9962a8106d0581e424dad88a80e436b0b39101c965646723029298c8ce46042431919d8d084862223b1b1190c444763622208989ec6c44401213d9d988802426b2b31101494c6467231a903f89c168fdbdfe53714336ddf6296e8a4986a99192312d17ebad0005158780b69a9329735d94b5e71043a516e2d411a4f79c840cd115b3d243ae1f416bfa680bd0206c62094087b0597f9080c9b930f395b2f4205239c4a0ab29c1c9470d614e1efa5f0acb4af86575fcb13afe581d3f4ccae66d4e68ad32ae424744d127115df3dfacfb41ae4604c4fa160d4f4e3a03e0726810b6c195ee874a4fbef055815d81f230a800e1a2a77b7b08a368ffd4d0cfdbc22fbf02bf824fb92edafe5c678b26610ea55e80eb2380740c812e751d9d5ab00257c70529d7cac1b99be1a8f1672b543e70098e06d9b4a3e3dd1ff0506ce4c63b2c0fc2bcc3b262f7f7636af753e907f458282d85e2f63abac69724908330786c5907a043567d2c6991a3799dee52079f179993e02635a3df3a6cf23f9d49d392404381b8d74d7db5b71a11b5c31c3cce1dccd1b9f69f088c14f91a27ca7d0c31d9d20e50c2d730644dfba4a326e62a627ada8b8c90d8c82f00bc98dc8b84cdf1a9a6d2221870acf951ff4cd24033b128b3583e67a00aeb05fa919150e091d83fae8561361d5bc230a47701b882dad34d3cac5937ea6c671ff284342d5dea48088a7db578be3969464f9162abd91242b7d4ecf2554cdf52d450e13fd540be0dba81fd6391e19d8cd8d2713a6a1a922d8134a9c0aa709302e0fe8dbeb6f8b0e68f3c38e60b4ad605072b5fd07cf8a5edce6c9046fd8f7a321fc32951639f7175f0f844aabedc20a2bae75ead0f9f8655c2122254ff18e2645a9be25075a4ea63555e29bd86b528690ca477976648d1b2a621b97b698d54f15ee4353962be1dc93c3cc9c58abfb7eb28837fca24d61e3cef4e1e549fc9751694982f9899c555e0a315306ac2970a715e0f26688f759af9ab66d80563a06065c86f445abe93fe3fa2e16ec7f1c8082ece3014f729ebab76d483e402cfe859afd835b20235a938c6435de30029478ef2b3f634c026305818dfbb78b503923273e8cfe2feb365a8e5edc671e0442517dd08f39e097ed0be09cc9ba920dac0f0dcd6fb0f5c9403cbb9d10b283d69236c2c74e772b072c25a8d10a21958046f018959dea810f81b68c427849882da5f9c59984165a7871512e51c7eead9c729d8b376a36e25b515ec5909bc7854d087043f41c2b9b78672e4ff10593392bbd3f2d6ba14e44fc0f7a47c29c3824d5a9b147a552a3af0218bcee3da4f12f2ff6175089e57210a4b694c1b97a1d6796a72a83401969106bcbc97130e9f7746ef770b5c23129e02b6b1251c4c5dd7b02fa4817f0973cbfac7e40ca38ea053ebfafdab7ad84ead9e13ce88d65fe02aafb6dc38a67db7ec79a0fb7c38787eb0c7295dee626c25f256cc530e60a0078f5aad17bf8e6b12964915bea51fca44d67db7329617de9cf3f6265c251b5e9a90e893680b91c8480bce86e7e2accb08b0b18f9a211dd7a84c6a9c479402daa4c637f84684f21585a946eb6189a5394d8b421d839b7bbf8b0489789b15022cb8f3e119f8905dd2359d424d1177588fd0308060a160306299dae58f5ca64b704274e03d79ad60cfd82be50b1e65e897f3d626b34ab5bb3293bacea4a1bc48d4589dc93c5c69301c465b28e23580032a0cbcff472d9a7e900623f216d3e52f45461644a22a12de18d3a1ea4ae5844af8a60a2e69b293f9d965ac18f5ad6704b7a69665c3419b0509c2f2c393abfd1a25f9dd89b4a8a3339a853dd90c0b1f34ec6dc517de6e865f2b49989bf6c8b692e603c35ea57d828a4d33cb811f1dea275b2f1df996506f602122d64e2e552256a9afbf14e3db7295251876e36654579fbc700f11af6769799dd16c539c772befbb14fbf48bfdef969311f2f8b34fa4c105a16f8f80764b789cd739e509af2e965f1a4c9ef54b2e90e694fee19f61e2712ebd47a329eb97157e68fe05d93440eb3cb1001abe5b7b14c09545cc9e0bbd382df3400f2dffe37782078a95af75235a378f576d63304909acda4bad8e48cb511e6c709e5953322ab038b3071952023f73b5e63eb0feb2323ede9cc231a872fd4ca1ce881e4a74573e7d2e420a6a373d657b828d52beb4c075e9d2c6702e8aafa30fe63164ca5868b3c826e8570565c62e6fd5c1437358495d4f49a6ad6fa6a2dbb236b83594d82c44d188e4fd9f1273b0eb20bba9a7cd5fa9122fcca905ad9cb56cce1460a75011356c1007ca4d1d7a75ace6ac31b999e8629c3fd7cff77631d50e461fe07eccf2418a42de98a88355f8937885860cf76b8339ea6b97c36aa8afb7aa10d37ed380c5bc6da7c9a68504568c2dfe16cbf36e30fa03a8c9745ddc205ee62df8102eb60ace63b858f8be56549a253e3819f03ecd28ae2e1940574ce8e7dbcc3bc65edbc6af566d5609499f013e2f02bc00592eb6587c89f41ab5e1b52c01a5199924c05aba69bca7c4d9d3515189cba88e644d342f4bf399512fd78fa196250ff6529509fa840b3ac8f723200315da785ef99a7e36cd4796d9897073a6775f7c33fa810ca1fffeec4561cb604655a2ae5a841fe5c9a9a226cfa8dbf47276f70a49c5f18a93575d13b5bd72a6c85bbb7d83a28df556c1775bd440c9ad4c423f1d75e1d465d641dda88bd04d72cd3a97577c10fcf6177eccf0a74e5aa151f26c83a521ea6cfa91162eb8b905c1ddaacc604e535544b94e0a114e8b1928bb15eb53de9eb6deb8f9648ede71632b6d298ecf956a441567b19f8a1d2ec5b46397c86160f2001952532c7c0ecc27927968c2c4c089d325ac97777d2b420405e2fb79a7aff9910b48e2b8979ae574d2bca2e4aa4fcb52275e2d7c99215cc3469075edcd6c70ff09a5f1b010f43f678eb09082d2d76f5407e3c5801d43d86fa86cd966cb81dc5b754a586f278543f6205e40326a8654aa6d2c58324261b9f83979954af6d9caec2fcd384df4a5108e79e615196da16c50a21893ef06fd17a7d9f42d35c053a92cee5b66d9e28663677537c49b226d0abd5651d3d6a50e40e13fdaa83e3a3d31149b3845734a526e3a4b04237965b63c796b5652c69d942337478824f78f29d21ec85c92576df4713be772a9ba66ad8342ece27a16146e5755d2bfca4b9a1f0672b39825ab7388add38868eae1b5140f9032634284f3389bca89c536a4dbe8f9fb083b74b963836d52fe21c12205fb70e5349893e2b0ba809ba6d63e873e6f5845bf105637d6b7183cc4704e4da0613a1204a780b3d2d1dd415dfa47a4946d7f0f80c7ca9b4fe7bddad60f20bcf0ffd0c639a2c33e6fef717e4440e3a3f0571480091b9c8b5991e4b9a521dfe5c0e63e1ec647078784a7bc7ef6d0eed16742b7aa5287c84f2f2556428b24a8a35e726cd24192b2593531708b5d164f90eb81523f6173de8da93193a4fc10a55efbc06b4f6fe93f6c398724876f80e198228e2bc58fe2b47e9496564c0e21406e1f2aff9143dc263db0d7bdfad8ce149ddbfa74969d40caf1936caeb07c11bf853076fba2573084a8f63e15c3d4e5b2cf2f76ffdcf0b0e14dc9745dd367df6a326d3f7663b8476c221e9ff7d89a8bfa534e1f7ee6f178a0860710d7fe6b8925bb8928f51fcd8ef956c4bac165dfbf2dfdf250297a2935c5f5141e7e2e599cf6e533544e0eb1521288c6735794f6a48955c1fc4a144c3366477be8c0f4a23faf9415dd7cd13e835a95481a87c05eaa9d01a416ed5f7ca4ec992c97e4f8ab806048117aecad58df9835c3e8594a81c088cda1a88ac8a3dc5b530c56e100129a99c08a92c8313b402ce6919d16d1f087e904bb3f97557be92fb030a11f09780c3c574b14a9369e4857a415e2039274b4acde826193ccdcb9dd6ca92d9c8901fb184034f08b4082abd346348e5990eb9a45ce51608144a1965307ec76fdd2c3fa04b252bdd9517244f1ce724b43ebbc925924d564c868e6367a385b79f4bfec52c2d5748139fe8c06691c2602c01334d85d6817615646e39707b42fb421f550f61a3b3bdeef91c07e62507e9b57f3b06cf25fcc326e10b22adc9ade5837bfee9a5def9c497571dfa5da52629627551ae780f8ecbf5c63eea9f69bbf683f4384321aba4b7054942e9f901be4d42a849c26b3c9604462e0361fdaf9cb66cd58f0425566441b7ed2958f4420a9715f2a94de671b3f34d9d79adb72b1958b3ff0e0afb7346a7d077de3545bc0d74f48bc4e14cd2a241ed073eaef6e5cf2970473dc76d1681e080e2db925c2030c694db42206aeac905a35777725d4c5e6ed7a65bfd5b092519881886b5378f6220769f3ac343fa06bf97392e46d00a5b5736ee630ccee42859d5d4bc47bf0ddf56d132f33d533b7b7a59a13edc8a2bc2230785aef22f8e7ee8cc630ebfe273d1375e95860d27b13cdde976223e288744d84ca291e5ad270ede6602c6d52cc60ffaa8bc4beea0e6baf7a6a9257bdd3db550b7427b55aa75baa71ba2e50393ec1e0c110820de1410fb7ac41608261144d518142f6c2d0ab40a56ca6e809312bf0a22846adec6007472836850bbcdc6a6c82210647de9bc05978b5a4e64507db158462388969ff96525a54feff9784a2cc4575175e7dea60a250b2d48b575d2d6cdebcffe8a5a3222ddd7a2dc4c4da6db77c6626c85e60d1c4a94ece294f70a9d64dd404d451534e488f970d8d45436729851292801e8221cc081e701084608bf02c6ce4e8a133df96c1e71b15a432e750a35e4110adc064a3f1ec10b67bdab8a78b779a78a599739a39a799739a39a799739a39a799739a39a799739ad1f51665de370040ce88123842c62891234188c410c0132482418e223c15cf62338f341adcc59a18da6995f56db376ef06f9581a4702da50bdb8d9c486f0a097330c84e79e268c2af9f604a243572fe3300edd4589270e60802d69b04fd0b7459f93c106482be3ed3574fb9964e885d9bf45bfaf872de8585d159d25d74c395f9defe46abeba004b5cef1bbab8b41c1971994ea897b62e9282cb83ec7f4b75007c3edc51de721488ddb290746e691d29dcf291d2b6540eaab6dcc97cb6f40f215b5692842ded47f65a3e52b796ea5d485dcd7855cb3b4de37f5a7e81322d679293969623182d1fa9434bf3c18096a9c514b3096782ced280fb7eb37c6fba062b6a041a441958293d87812528d5bac07a736728ddb6898b08e771060de12c722674695a382aff6745a0f6090649b01db73800c06065acd2a0ecaeae28c8770836f03c6ba77710d379c2ed288335a1b99df4e2a0b936a12f34e4b4ae9fd1090abd974461826e2dd744213763fb1b55384cb4ebdd2d30b094bbeeafe594aa426c6d18150daf43d430c222bee2a2001b7b4442de540af6762d1b3acfdb3c7b56d7619e907dcbad64d5d61bf0f368929457e706dd17f6d03a630c416586156ade2805c53b86aa45d9b034cbc01d7881fc8ad12ff013cca57c5c1563bab690d69b5f957e1f24b1a519d5e2a971f53ede41758217d22de052cf3f4ff8374068db0b34eb7ad116336efe9a2ccd52cbeded22b53245fa04e20eca63b86c4cff07ad251a0a85f6cba5ec24420bac3fb3afcd15dcc5e54842e122b51a4c2a98ae0615c954199470f8cf8eb0b267253f7db6e5eeca6d0adfbde16a62c1d3790e2c730687988936272838f71896fb034916bd35c541bec65593e6051937fb8cd52987f7a0b2170dd0bba81b9ba9082166afab0a28974eb11dc73f2534d1ff280c27aa09e23499eedd9183ce7f3d892fb511c53cc6ca8b06ffb5de9cd4b18c2330b05e0a747d50750518eca488392cf01f77ebd101cebb016bdb20c12020ba2407a141ef9106a3704c927382e1095112803a5c25b016cac6ede544ebef4b716ddd3789825a2c9dd6c4cf13e6919ede52534234dc28277ba43e1b7ab2892ee532d93bc4417a9c15209c3b51b509c4cc56e8932fb471c4001a3cce903ac33c89493e2af2231d949303654af1dd15c487349814726d87266c93d90f11025688da575e75c80756a1aabd0bee7c7fa6f62d9804e28c9f46a5d5efaf357ea02fb5fa30cd12f1ac40cbc872b02c0c9aedd48315fc5cfefc652e15bd373d4c8d7e6b6854f02845262e512c9640278bc2882410950bcb78f4899e1894ab68644b204f7fbee3e005b26073c197afd2b496d4f52cf6355260b77f7b42e5395455afdaf0fcdc875894a650f5a0e98170e418a8407e331c78ed82ca73bd28f282b938cf6b247bb2b91d66b32668adc42953185914a69a9e825a3b9d0cd93612680433ce41b2c9afb8f35decc6b4718f73a28f2c1da9d8300110bae46b6d1175c6cf7283722da1d837716091c508650d5aa97d2d5e4628ad51e56d192c39b04cc2489b2a7bdd196b13e4c1823a8a1f48373e51276572373f7950a47b958f6a711ed420ae4f08febc4c2211db228aabecf799c076e1701e7855236ed31c7d78ed4dfb9c8ac2968842815f668c9b3c8f8a6b6a94b77b63bdaa61f2872a8e1c8aa3dd74e3eb89ea26e34e69453ff4cab97d5940039f4cfea41189753f12ac6c26e08dd798a9505e9c64e8bc8c97778c74a93937b9361e1497ac059114dd46e9d46b4758b40de8bf83933d4e13b91d833ac73df770adacac9884eac02936801cf80f5cc646974c2cf7b8ee523febd8e49db39b5cb6d19ec6745b74d5cd06bc1199c7414788daa6d55c388b5d103d00d969b9fee0b8ff9b402257755622e4d047c9f0c1e39e4d24bbfbc58f5cb73beaa88782e86ab74abffae72e4ec0c44f8a3fd65ce5c7169c222a11d0bc0639a9728e6ef0f8a06f83e78f9e9c1e115e5fbf46a6fae9b74baf38b45eb76e6ccf9f3f42851b2bfa995bad5d24178a88cd91ba2a8f4fa69d7983323d2fe1c37ac52370ff27b26705f978fd10bf54abc1e13fa57faee22a5e0e9ed4e57f607ddb9737384d0fb0ceef54a691f1f4ee1c53ce204ec3b71810377f9769f9ae60ff549be3738f607a2b2129399fdec38afb51c5e08838b08c14af5fc19434ba21be467d007cc85cf6e659b1fe0cf991a5c5318578b64053ffe6be54761bc1568c4cd2b5b066177e15dcb25f8c370595361102127a0950333dcbd3ad8e3567f89ffbb76be1963b8bc51c79f07413721e4a5e316eb9430de242e054acc1ac7c0be304719dfc191bba86b850ca1bdc55696fd1d9f763acdbbe28f56b3e19692998241001feefcc427864e05eb00db5b2986fc3d75d1d0c2059414fdeda0b36452d7a64dc937b824cca41361aa895f5f36c8879ec41e3a8f4cd3a6a1e1a006fd961443fad826f3719de3112c77a3854764fa7d619dfa7b53c756d52b6cdacf311299d38438075d36488a4a220e6869648299db76075536a5403e8d8e974184c7d39dbef2bf4fd77ef71c3dce5428ace4e94117f01ace29a69386200d8c67909c774e191c0f5064be1434bdda08050717aaa4cc526a5a96b72fdb335de9df80b031f6078697d24a394f9ae13918c476173701a722c96b8a4dd542f6298572ec9d476332dfdf667f901a4b271a3df45c08c32bca4732fe3ad2c10ff0ee5fe1a77a8a246e1017c2b8b2a74691236536d5a65657cd635787ade2614f3f927d58467d606e1f219a5a4b5af0f5a4cc3c97b1ca667340cedfe784a20598106de891e9e981c9523710fce9859f2c4e2011824edbd925e94aaa1697267fc213c4c4e1a8823990ef0471a50d134f998afd4e893b5041a846f1bf57e5862c851f8ec530d8c9d36866ce2a456cdcb1b0108fc3c8a5eafd2a587070fd850488c835510481c5bc3bcd2f9a935ffc0d5fd5b9dff6ae5fe20361c051070863e6cdb73ec1758fc4437811e8bd70451ea1805391b9419206814c4d85bb04c16e4acee6f4a61061a2b3f59ff716d59055d62ebe0607e96509f8d4464254fd21d8234b17f69a2e250e6fdb8dcb153cdf142cfbf47b91929b15777280930ec6be2be1cd9a67f9182d5860218ec41d9f6a58118268ca34ebacbf941f379b6a888edaf81ce9de505c068a2077597ea23720ec554d93b3d10272a1ac2f65eaada76336ef9e33c343af28c6c61d169a0c128add2c0def2bb2964557b82f619c4cea40f052c90195c18f7cc956b244e97e4bc6f10cfcc3f1259807a80fa6a2e05ca881dd35f69d1c9b6da293b1a73c26d78196dd1e39897202bf0bb506f6270c62f1584dfb001a9a77545a38661d469c7e04ae6732c36ef2d8a9f473c042509a9a88d3bdf71bf877a658344289bd64f773d80cc2e13e4acb8ce3f962875df6b0eea20e1127d1ee85140db943e5e8a78975c8dabb3fee5b0113559a58eb8801481b05c5e31dcd43138e955f4160d9074661d4a9165022e12d4f76f5a44cebf4b967023f808079732caea8d529059b541daf2c34006d1f6b2481fa0312f043df266754de7b109d8fed52bfc58f726639d83fb3216c551e7ee35122b3415400e06a9d4d41c925b1f667cb1ebc1ef0d9ff5190ac35b313af60f3c86319efe65e01cbdfe1f155a4c68a9563f4b8c71a2392c53005eac306b2bc464789b45c71cf5a85b3235b6778f0932a1d2910460d0012bf567a61df4828cfef8dd2465d4b0da3fc4550f6a20670c3e10d26b4c97e1b13a63667a94bc89d97a43e059bd2e1d9b36556b93f30097aed4cb1e2b6c160974ef803f1a65740137a0cd4246f76f98943a2870b7579e3b17df879aaa513165aa924277db88aa91e8487ce20916840b94c0dc9dee13a3f7912f4977eedfb2633518652d77eb484a89d997cc116c3929697f5c0dc86418f521eb056e64a6b01ef84e1c4d6c60b7f8870e97bd40178fbb388c29d7393fa1b1f79f2d2edad092b7d85d68a4be9e2fbce911da640211b2949f664379d10ba367dc572d01e108a1b8d19baea3ae81a38dfc6589295cf60c5be22109d77633b791e30c24d58528381f15bdba2eeb304beba2c114fa90c8886d7a2b9a1ba3dbb2c2c9be9eb8c5798efffaba596ee9fbf5807092ffb17acffd48b0d3a1676789a6879e80fda21ecdc2138571b4affcec48b4d5659524a23c6273d90d190278707bb812a084acd2dc05579cdee96556b3c5697762ef06eb02e27cae7c194fbcd37f1d21c47383efa42e18f59356452510c8df1b926f232e7b977418ed1f30792898c27c232a29e7cd9e8cd781ef12ee636ff98f6b56c323b8c59394a818855c9b4fd525cf564b69092893e91af83dd476c0fe72692261ae4c1c0f9f63878bc8d412155557419c2d81a6ce68ebdc09b992c57b784b7ee4165ece1903f4528378cadfeb0cdcd8e2e84727e90e5fa252952c15a0aeb795329a3486be761b1bc696b64f9e88ca06c04943fd4bbe6f82f8836c5d1043ce681d4db0db2d71ec1803a01995a89d0b4da0c7b9bbb695f3febadec62fe1b840fea6d2f3e4f253a249382e39604ba41db13f51ab3643334ce8bb0dff72dec92b1fb6a701082f375b52fef97fe8c57bfde9e0a1b64921f21f03de532aff147475f89c5b60d8084af54b29dd5060cadf9c789aee89d74c8ba7e216486ffe8f3e05261fa3c85b699e4eaa966aa67ac67c2c8d8a9d00e6f6b8a66dfa1724ed78b73260b6fd35fd71c5f772e3f18eed97b0094b9517eeab35da66489d103d615fbb8afe3fd99c746369905437c56dd05486c9de9bd68dd8d629e73ce552f333591e635823148cdba06dd6adfd58a84a6f6de099703016c59cbf7bfca7cf08cfa0390ab1c4df5b528f306429d55e34fd3d742804ac2932496dac7d3764918326dad1e647a12d239d795aa781f88bfa0f7affcbc2a4a6ec598be7d53687b5fb50f04a8d0673f0d7a67b3f0fcb99d92432e13730258ecb01bd71bb812af5ecd8924ac4a90f74199433546eb459174fc14017becb6cc4de72abf1659db4acf27ce5ce764cd95ce46a2f8d0a1a029ea5087bc72038617cc3ca920ddc8bbde9b5b61c5c97e7dbe4a74ce94cbf59745efcc2bd12e9ffed5ba81c22a2dd09f9e4ca14951084446ba377bec30351856b8479ce8391a116e4f28c263be482dd552622923ae95aac23a5f4d760dff6f8528a234339d5f94547ebd07f84bc5c0c5d526419cb5ce35460411091d8f35312679d549afec4f1ad90168f200a8d4f030ec50e08cb1c7ec2f7bcf0bffb2c4343aac4a4278b9a09d702218bbc9fb692ffa1b72d9cc1b77cff2a63d54614278523d7bba6dcc8e22e4c3e404b7e96b7807d58780494fc66bbe53992af16413f08acb0f58a9137e6b7a05712b2ac73a20b86a7533852339751e4d4a6622a6c77613fbe9a440180c9a9edc5b2ca453788e92501b8f5941dfec3e756be49abf2b347b8b407b3b1cd4f91e16590272eb7f107f970349b44b7f5a24825aa02382fb99f8a31d01ce93b6ed707a07691405a23559a74ae7e067c4b6e085892c5f48e41dd8a40c2591567b7c2a439ac3ac1703bc8b92a523c7dfc02017c0ec19a5d4d0d84b30c9c6bcc2510b5bfb6ad0c47a759903aa1040506b22e57f295b8b2f8d9dafb7e5536cf2fdbe3c0b1d115beed90b21547085077daf14dfb33324adee3b1847c53e35b00a029f3fc94999a4c7d60addaabe4c938f965be8175d842627194c36ee4c313d7fe2496fce9abe1aa36eb450f8d12523c11006b4e2a2186ab9c67a5ad25995bbe7954506b9b8575a3daa0729746e5a0aac81a53d72fd1d2dc7b9374eb6daf1b87f01b61b8d670ff504b698108347d0fd80abb5f0ffa4c05ffe0373aeadd16f87352714d7513217e1c602bf54d745a38b3f07b833a8a580f1019b15cdfd53bd5a44ca3975626c7455b6f3fc6bbea814dc7245d4ec5f08c5e44e0367574ed0615117e891d487fa9843cd9d52cf35d8423c2e0ef011d7ce256bb3be73adba68902d69af9500b80907ecb1f7b1ae1f80e6f20346244cec23a3d5f746e9a30319bd78f35e80d1ed9c61f64eee81ab77c76776ca23bd3cec69ae4f9fb5e454eb042819f38d80e8e7b8e96e20c1355f71c25b24e540b423dfc5618ddb7ed7e2896cd636f6b68e6a325431df99072b853dc0d39a0dc31578a24484c88861085d540f2220c584423530641d1ac98faaaa109d3d2174b7e01fee0d9e5b86793ea7a40b6922597c8d0b65d4a801c122b98c7a749378d82103247009d89604442fa25b0b6919d4e901635a33390754dffa75826aea722f573c1f2d39daa93d654f6839519a9269d76a69d1c6d0813d0ac92d0e8f2750117deda2ba10376b4d751219446cc3be8221f68c5528f41bb651991e6c6fbd46b24ee5f3323973bbc945c27f7b6373ee16fa3cb11955d65be1cba07b966e7283fa57bcf2a9ef9261f7cb0fd1d6ba784995e413bd25e64c5d46de4ea061a972e36ba8b7f8aa22d5cf03e40544ec319e1ee9380a2f815652d1df26115ee937501856a5aa01d514faab658186ee119b4868f996bb1d2cbf944b6c61ea0c2d70b015468f6e2dbe10a177c76dbaad64f25adb733d4fbfe2058d1f4a2e27a6d35e43b41963628c53645a934d22c2c2ab583f18895803c1486246a8a0938936ef466a6e842ac4e9cfd2d2616ad8468509fc6f8b526528ea0bf5eb4062844ffcfa358e86eb7a288c95a3397282981d1a920de54e2c3c15a6f3e080a14e436761a65e0a2b4f47a7778609eb4c295afbd93f631ecb264bb3e3af7767ada45a65fe877b2fe5bda3630198c35997e7130fdf1d2c69e59d056960c43ff59a30f0dbf9ec833c512dbe5db2916a1e34999aa5ca4246499b2887f5b5c66187afbe62b917f85ddc4277aa59c4c8e14ec76db78e82999e618206fb969c6a298b43b42bdb3afdcc0fb2d7239d639ab6ca8032a7aa10f7bd7236a3cd3d8f58787d52ac9f55d3bf1952362e5df622be9f95afb56567aa9225ab59a5f5b7ca55a892d0c09ff7664743c754cdfe8b17535ee2885ac2aeb06525526d028bb1f0e7563f891946c7bb9db36d04b06a29b4de2f6a7da4aacb69ff517c3e83cc4a615355636e7c991f8b942045fba8372dac3fc78851e3cbfba84568c05e123a44c053a727e11f9641ad2ab162d880b6a7abd054ac78c440a1c11d45fcf40182b7be16fcb34b3c958dc1c3b5f3e862b1c47d89a18f5e27b053198a89fa8177944ae4bee3d4a460d091024043110476be4163f4931821f69c2e12a9410b748d2145120d85b3e64e560a5338fd69e47c9b41214419b37ce476fcf9e14c2fc5e499af5b2ffd11a2282b4e68a88b4663721e795b646be8ebb7add5b44e9df18ec3d31add4f50a3d9c00966328cb26f76fe31bcf5cc6b10d6bef2e0e50ed3902279996d77dd213a90c6bbcbbb3147ee6e53b706f1a0c1d8f8975e69e2848ed59d1cd288f9899d00c7cf092867ef5d76431dc1f32f5e0268b06151492f764b383b870d711adaf482297271a64936a2fa164b9dd287394cddc10d7061718c7a2c407af71abb34ff4d172c2c4d169c956b918413c4ea12fb1e3f616abf502cc944bb00a7b1cb67456e8b296841475cc36c8323a3d58f95510105e1319df92a630450563b73b595451d838b17f34cc50fb97e68434f90dbf007045ee310538a0da2ccc95467ee72698528e518fb7b3eb20457c241062041e7edc126edd3d93a340f4c942a84127a27921ecbe98f8acbba4975d59901dd2d148b204d436d18bdc85426a99923a88506b15db48c727e100d0850269cad6e7f812f3ee8f365f3b7d4614c91bff62eecc5cb59d9aa530a7aba6134063bbf5a19b3ce5ef2e7153a92950e912379154eea0faa629173558611735ab4c1271cb618d5e1fe18603d79cd0a575e3a40d5d5e443dbc6f63f6e9d670d28b1f829494e61b4805133725fe07ceee3abeaed32b81c735b50a1fd79809634e340d4ecf6189208dbecc37330289008d1d470741951f7f6f9c5a164e64b9b0c9758626c350bd4cb9f2977879130286db4c973fe6541f4edfe322656b86d1705ca8a9f80dff5357d0e4f87f3d81d67157411c860ce090e56f33b8e22c28c38737490ab7be27edfaaf840882dfb6dddc953c3a493cb4440fe7616f618bf04c944d2c6d198cf400faa8482456709811e7d992c8c8dbd2fc53d3bc7d76642551ab678c0a761a459fc29d46af7ef618480d4a7855aaa748478e503c9f95775068df8cf0dc1c700e486f94cee10d11a9e6119e882e72cc771aa5b9980f2cf9524a9989043902340216025f4642e76d2e280d2ca58a333832e500228c18597c10ecacb628e27183d7808b3b51612009d42c87b6401bf3e287960a881757a9c02b8134001f92e2103191a022c03ac05940a8d980c2458ff606574357e251c10781d3709201363679464b46015f538303234066871d405cd53279e36be08317035f08bb9c05bedea8cab44fa52a50aa099469ad86939608a807a8b534b5516b7b376daf86e3160df75e6bc0dbb478bc19ff202d94a12ae06b3efd40554a54812417a698171894084380ad1303468665568600156c00152bc0092693af4ce617ea45cc2e8f30aadd49b5cbe30b869289003395f6755c665c01841863b5666269c165ca824b9cba00a0d4c3ad961e4b0fb74859b7bcb6e581a3546eb3fa59eb429c5fcd51bea6802cd3f20d4739f1fe32459562f91cf027c508519851a16997d697acb5375c8de83ae779cf5d2fc2a6d50a878e1d2e1e3d5ce6b31c3b1be84c0241572681a3bcdb373837e26ab5aeabf5d7d50e71b5439a4496c5d1be5e4bda62383447aa353635d72dd5c9d0172c0dc9d23cf14b99c1dc3d100f8807e4862600acc8659d171d0227e940ca3b39d77c06c393165128ed29994f859f8c8e8b12fc72f97795adc2f7c40788ce75a5c91646606268c20413db50d0d0db6020204c407124aa482d1ec4e72d20eaa24a38faff57e5bcf1de9e3395b12689fe70f85f68c148a36049a33a7d56a330bdead94b4db7fac6a2ce52f0eceee9b4830c8f4f1867fcfe7d9f7fdf7fff7ddff77dffe9fff28bfedfbfbb7fda458cb388fffff1678cbf177a10fa0db5dbc263df767af868b3906e3638025d6fd657e381ee6cd62ef7bfa176cbf2cd773dfae7bfd0112e778363736485f5aa3f36da288ac26ee005b946a30f3ed7cb1fa85988370b631f2791ce0eddd826776b9bfbdce8dee9faa26337679543877e75110e8e1d3a93c09b59d624b046dee1f11b0d77d7ae76f5ebdabd852c566d2c4b7c9ebaddaead739bdce64675ab6dfaa671f961af7eec573fbf9482968ff2d8e1b97d10194406957e73fff0ceb9105c2e9d6c5047a6d168ebf77d6db8bd402fd0cb7281c3476b2dc93d31e45da2429021a2a2960c8650a28428c87da18a12193604d131bd252c3acd131a9a57e59c7256eeaf5316cc20f91aeddb673b04c15990dfc8e133da505b8457d1c1a5ec9ec6a0c802d0a1925fb084c311389ba1622ead66bbc9a0723b5eef55737839ce1d355d652b1d3c741e9d5993c09d37f8a1d3658d4d59838ac570626b19438d50b3d98de5d5c656bdb970a98c48b3e55ce80ba682e4d82acd1044f8a08657093c1bfcd095657982e0c8d44373a5aed6d536199b8c4d5a5a48a1c1e6a2e72c7acefe68d10d3f164be116f1ceb11924a1d6292f791fedff7788475b03399542ec2c485a3cf81e6d115b588a584416d28d2492c0d828b5bddce2d63c2deafcd1b298714b490369f12c848f8f8f4f0a3e3e3e3e3eb62330313162cccf4f4ccc4fcccfe9747a71817939a95e5c54f9e7e7e7e7e78c7901737a71718111615ef4f4c0bc7801d3f3727a01d3825b181898d34bcce9e4f2f2e2826778c5443d3d3d3d3d02e420be2f2498cef70c431061efb1b6d1fddae95677b9d73ddbeca6ed16c3f6f8e8afdfea1c866d72b7728d366b1248231bb0c73d6e728fbb3c4f17fa5a613035172b7b68bae67ec7fb75c6d260a8bac22b7ba9674b88e5babb1d0ed7b62c9ba641abc9515d7a960be158744204658abb122b1c9e8290c0512e975b52cbe57240bb2ddc976416c5e277f767c92c24d0e57231693569626a41ede572f730ddba1e693dda5acb7ec793ed4a28a250b765692e39fd458c1f677f1996e960f67f5d47fbb5ca5eeb10b8d7eb95cedce85297ac4ea7b23495ad695755d555b4a1cb71a74a2aaccd1deee9ff6ca83d7c4edefccec4788b5e9c9c73ce7ad46398124fad4f1de53c4f7428146a09b584cc5daef5f2cc27873e983e030c26ce64584edd0c63a0d7ebf57a399663fba64ae5585e730c8a104b882544d2f6cd75dda27cba4519ed2dc1b4dead87182e77bba544dc0d87bb3d80518cea74f8a451ed74bb9deec96eb7eb09814f1c0ea7c32f9ce216a3408f95ece0c22c960a97625923cb92e0694f13b388b5bbd363b4594835fb9fc65bdc0aa2fd5a6f75fc964b28f6675be3177d04b141ecd730fedadbfe7d5acfee69b3148622cf7a6954a9bf5e94fa2b844bd394029ff9ec5b3ffa6a3363fdf1c9f5475450b8f33739ab7ff5bf7cf3cf773dbaf766ed52db721ab7aeebec888a75deb1bd77acd7de674e7cd5917a80a13370324cf465a226ce344d1c76189440300c512871f7e3d3f9ab850139f565b348912c6c443162c40acb092f9452dcd7d01243ed103b241373fec6461a81437268f91f6244d63963fcf9f3ec237eec54be87051240a6a055f8806a50f3e1491b8b12850b2890e2154c5c977224ac02860c447a84e896206293b1c28829aa0f0bad161a307f28912439a24c92030f2db3c81232a1b2153342b2e2b388fe4c01451222a6951a56a6c84054c4156615164c50011d91388592d8c2c90857d8299c00a952a34248ccd43180d8fc4bf1e28733176070e10a0d56b088a103d58919431343aa0cd92b400942856c41c894235822567051bc8ac0e2b6c3264f52626368fe959697d8fbffd3e0e8fba26b2ea775b2d9ce5f2ffa379743d1d7a971ac30fbeeeeeeee341aad467377f71825185e03455114b5d9d651bbdaa66fb6d1dddd1df513759d284c2ca51c7dbd9a959a364992316090add724026ddbb6ad698a6efaf9a6bbbbbbf86a566b82b562cdbacec470f39a656e5e73322bb3769912339b69ec2ec7dc5233eb9659a5b9db89333bdece01555555d575314c95725f17c36e31594e3561960a4bcb3225ba976e7e19c1dffe865bdfe5da230f079b067497a3ef727777ff76bfbbbbbb63164e87c99be9bdb5b69254a5c8d69313b46ddbb6ef329d3643c6bff9a79b2b0f0dc7a903dd8193cd1c7d58aaa2274c97eb699ebbfb6bc33dab35a12dadb6aa320a5063ea05df4b42de234edca4b84767653e76c9c3c1ef1a2bed591a2f9bb98ce7f381f2ec73c3fc4c49b187a2eb6b95e654d161315e0f478ed50ed94a7bd6dddd4bf0110d8c15a8b40ab70e473113c90084612005a23066104308596bd4214884994b8306c7f15818208705611c03302000211800710cc2410003210841a62c7b00aa6539763bb08392796b64d3ea27750ab61efeb97b3d91e0093a32ad171ebce5f55eabd4a02f3551081bdd449edaaf946549f275d033133c7078bd3f41a9d531b7e4d528456c1d32d22d6785c2f7d193e7004f4c3562936ead2e72b1e69c451cfd81cbca0a8f96282dbd634b8b4f5571497c841af2d9881ec946915e51e670e0b53e37572e9ddd70714aba6e13322cf8643195157c4d5ff3a3f35a3818858b9949d1c990cb3c930cc69b2f3be1a2d8e45c38c444e3567ededc6a782af66b7b55c235a10d3d3a14d0141233df7b9b7827e71b5413ceb1c2493da8966042b3b16794263c9e7dfdb41df4d6df1d8cc790ac6a7cf2395e83ba3df042f0cbe3c4d4dbfdfc39ecbdf553433fbf4fbc3cf2f9d5956e80df17dd09470269d28eaa57e0f20f0b163d8043cf1d004fba8737186ff6582b6fee2d5b69d90f17047c5722c4656f0de9aeb7e11b8cb7c153155e84528f68a42b1f9354ea857a82d353d4a1b23cd201c5df66a43bd34b00a24046aedf4877fdfc2e49c896e9a1f5d4b297c3bbb84c7ed5fbf2782772485b10efefb952440a007b808cb66a3d4018f3ca4d5bceaaecdff99916bee78a06c9245c886e3f754c5a4cd2b92e4b088be30655c016b0c5b3d48595058b2ac2ce40b41a6847b7182a09381ff959fa840951ce17bc494cf82503f45ca52a11e2c8420c410d89d53eff748398e75eff025fd93957a35e5a800d6ccdad623c14d74fe9f1dad44729c90eefc68f76adea9b9b4eb58306387cdb0a8779c1ca9ca80b9ee0e2ea20735c5a34e083e3013212a7d1fb68f80522b29939cc4c9536da0dd6c62dca9f67e71cb00c3be69f32d1899553c31a5769300ef85cd15416cb5ff35900c136b9529780446b3dd038ac49bc4d06d0e6bda0b97869b98f3293b674a5f1310c730381f5b4b0e4a9099a0a10e6d0caa1fbd046e2744af7f25b70b232793c211c4622870c589aff8178a3003b656f7865213062e700b31a328d0ab57bf7b9e909b9776a7d1f7e82636e20b23e3057b221c3fe1078db180cc5dd9f4b0a4dc6a2ad146bc03fd847b704ff1b775b13a3cc7a88580806fd22f659940dce49011c2d753078c4e80a12c697526dbfc14b0a69d1d3e6d2353eb760f11e54d2fe3a07acaefe4be684720b6e9c5f1e112102510356c43c2e13d11754815a53d144fa757debcd2ef820e4dde2bf40c5f4e469341df159d15b16d67f8a4c4124dbec540b968528dfda40b913785ba7b013aa18c6a71c361c394e0dc9d2828aa81d421da5bd8874189f6fbcaac38f3bcce4d884715915b982037906c155a22b2162312f74cc4f25e34ee90374bf5e2551dca3a6e78be4ec4d7e16de3a27739b59427dc4e30264e32ff05392eefa1071d7de1345fb97e31dd7c6e928595822115d27e8638c4f01e63d3f695b268a7e6c26fd285d71162ab59db8c798b5413f252abc552b62dd10bf1eecea23ef2f1d4c6dcd3906c52e7851e93b024487e3bcfdbb153946cb4f958e2250ade6bc027bb2748590c3e5605511492ca20b98c90b4a787104dff29211c680ec8c3fa53dda5fbb567d591dfef392a17b977814a369cb27cb2226f22b6edd1b04e1ad3a04b7b54d47835ac0d054ab91f26adba4e8b312d6cd24b6aa47e3c027d1e4f6c1b1b112f1770830d2f7a451d29071e98ae9cbeeb2acb30560e9ce051fe7e96cacb47007ae6934cca3292f39fbbe29eabefa42fac64afbceb3e01e8e544e7e0785b309ec2fadb0b0b82e58a612a045c328c58aff8746a966a8f895bca81fdce8efa439b188afc05b4ff92b353da2afe9aab36f4472ab5ad9fb585f569a4b574445e9f3a79efedc563c8f23c08e92c1d2a43298a74e4c80796562128c512726c29c3a31f1a52cb589491837a60583c2acc0b8312c30298c159817c60a83c2b8f5b40e17a83e654e546111dac90e83b9f5a116f449e015c78c919da6750f5dc75132011fd03704eb043431c74496341ea511b4947bd375f6b9c83d8a4e7a48054f4f3519f507805058d2f17adc7090cfdd6dbc05ed40c1caedf4082e543a03e2a52799c5eb85825ad5f5cdbd856664d647daa6ae904c553d5a05d132ab1400b1d8a069309238343e6da65bdd714f3bcfa7a23736ab34191143abb090f58057e2581dffec231b5d34d2e3f903f9dc6de3ad480714ac8bfb8982adea0ccfac0fd18a1cb0c6e95521b3e1ffc8a3bb6599ade37a48fa0010fbb9acd94e10780c14e28a16c5f31bf99bedca1a4688fe7131261c32fde88a353e2251b2d493a719b98d098222a0e8532cdde607fdd923bebf226999e6f714a1ae60a19080104115c393ac2c52c7b58dbcb4a95d7935e2021f247fc60fa47bda24bdfb62303884e5e53631d45c101367b94a131f1937244b56bd83f4f62311ae04dd2bab381ce9ac76c83fdecc66cd0120a4807bda3996073de480ca53c87a378861455bb27afd2b8085bfc32a013d3848d9c6210962c080ce8476456dbd9a4f849e3fa54382dd24ff2d1645e91beae10845b7600b7492accc7bd1e562bc60f1db8f998e2cde2cdce0739fa2d311411f7af905640e1981171b898c77e160a664170912d3b599ff4e78d8846924e3cb007f1cfcd3172a1936a4210fb44dd11c9a6dc49f979536ff47a2857b3e35a323da4a815fa49963b2ddf6d87711a03de031ca3613d749532a85685764d1785d5314a71773c39455a2514738cba0293ac89fb3e4124a80930b1f23c5713e3aa1980010fec4b92fcbec7b5ef1305858d219d58360af20f2569830ccb7c01487038e4ddec8f0355bd8051bcc8d9395638b8a2be2a911fa0e04bd54cfddd8f5acb4a061cc56d6be6d00106e4b29cf250879fba0df20704374c1ce10138a7b53e2f5b7c539240c40ab42212c407877cfd2402948981ff6bb452d545c2cb11b03ef467698658fd610f117db969aca3957e77fdd5a823f8f269c58d536f314c8dc1a87237e179a58aca0046a4da917586659a0b010604bc38fd3206e713a925ccf31b839814db21f339fa258d3c69cfd4fcbaf1668507f3e106c56d80d984a25613a24024e2b4a591a0bc12ec5a75cb1a327b2d5dad610200243c16765c4a4b16a1502a6a2fab092c56a239de09e9c3dcd5f99cff8a7fab143b8519b83c859e7c5c5c6885842763535ce240005ba1286f43907cae25efd82f11508a4586e0ea92d7f550f68831f1ea9c561a038887577d89b659e9a22eef024f862e439f9a161535a224c6b699544758551a1755335590791ed8d8e1a0e92e55755325050fdac06e2147e1f6ec2db6cedf2f9630b5534a80c10bc544e2c4b6adaa2060a56113147ab3d498b4addcd64240986835bf73339838f1f8adc55ba9b5f7a2e63b9f191703819123d9801bd71ba7490a70273958e2fa16af109100dc6d0c07a1165fc020d2ed58020521ed6bf01a7e446fe52ed20682dee94bcd084c95cdd5ec06556d4cb7d2b823e34d10df547ba3cb573705f2680655e46a377497e31ca6f19887370476eb2f7f7057d453ce09e5ee782cd51605f2e94fa88124c55c6a3c07450b0ec41cbe69ecc522b8e29f0bebdcef2ccd047001927b3a0158a8627e473e00ada1a3092e068f01fb4a7c58c6cee3dda121b5cd7cb862bf6b66cf3bdf808416125d1da4486f22742ef9a3cf4fea969785e0003d9cf480e2901f2715987a235e016717c1de4c067c262d5e2c3a55cb455e1fe14e343d21c347b489b1e8469648b55e09e1bf86e0b6aa7768ee3dc6b1784d430d5ea8bbd0fbc69611f15ed5e02b700c94df2eb4cea286f9460b7964edb52e29e17c0b6689279080d755736c924817048c8af97ffd96a76a7e1164bebeaece49b970bdc30aa8397db770fc2b3ec5a59bb080887586eb154121de426c4f6243a48c8e6da93d9668ea396a32f30cbf529eed6e0235b97c50c25a57f8b5ef2376c9b859b48caafd8a7dced2bd5a680b950d64177540b2dcb27a18db3198c6ce0ac9a70d27141e10a09d7e153ce90af39f9cd03390956a64c2bd81bb506f18b08f1ae19316bd979fa064fb5e3984de2aa50450adb300516946d7c8cb6ad91db5261e63b7431a496ce8958b19b03b7763eb816101da32a20408392c24d80ae07afdb009f4e35df223a1c3f69ed5475fe1ed3bdd0cb9ba1185e860c9b5218e9c28f4d11c4dcf77a7863a3191726e2bcee6603bff0e67ce5167a81a35b354d3b1a98c1e73b6836508c0a36f3c69af88b03b2e9ca045334256cb532c120440307da0b33536ac488d7f4118ee42975545a5bad04ea619b738ecaebdcec7a951fe85e9bc7a892c342d6f0db22eb1a270a7ab787937b353092980ff035f01f2472d6bee007175da0dbae335dfc1c8b3d6760ab00bef34bc5142ef37a6e24a4469aa18784cce23af700beebfd498cd276db6f21fa988f6e2da07ddbe69ffd01264c2ae76334d80cf0f9e0b526e5a9f51fea00c80261edd80b1b93cb0410bd9ba54f39fd72f6cf3751bee218c0b6d91542338e585acf0c8cf92de383d3f4f36b461f1fe232de8d6a25eecdde8c54c8ef5efa85775151dc59cd9b816ce9138b3892ce47fa4793fecd6d7cc16c4503ac2ce29db003ed5963c9c3868a1ee8bbfa9e8bb2c3a8fa5a35ec7d828269a7e813c25fe263af6fcae6fd326404e3014760b72056623b95479edbcf086c09e8499bdcb13ebb93da22020c5fe292c30c32b85c835308827d0ca665290ce6666211dc94353a589c36a33033308e88dc4e98853596a37b1fa981bf083e9505b1d0397a6f3bc454ff21246f86ff83e0a176b71b2f1d833f98700dc78241ca20bbd83293692c3e884500cd693efd2c7f9c36c83b0b50fec97c3efcda85411ff841d866ec601da58b05e42d0481a90f5b3d40e19ed29576fbdc061c6e8501a4ed9f32ae614e04d1ee8ce6891d9e259618304de2575fc7cd10c5cb15abf5d40ea3e2e1c88512204f889d33689d0f5452b16b17a74b545fa54ff1b2d55d2fa308ccb7d22de4f70f56e32543a40b4c42d8f8e5809b66d47659a96d2cdcf38f34e72aca14e0424b688214929dfa571b79b110bfc213dded1cdbbc93cf62ca7b0b1bebe4fa868dfde4fd8ba138025c6997d1ba19d4805cae83bd9481feeed821633afecaaf04c15cf9f85efd2437616f0ff07a69cf6d3940def090e55c8d11fa28797e4a62053901f0c098cdc7dab391e877466feeb53e14c30edbdfe3b59773fece0ab89c87b24c7ae0dbc9d5040b2380a5ee0842ece2e491ef498920d36b7dc6c88f1b3a5c1fa2a34f816b578b5e0b1b64ac28f8df1a7fd70dffe57fa29ccff0b41b24c8faf496b57c3af83dc5ab62fcc8b134db6053afac9d011bd7a7763a2192d3ac9570a94b3745e3a35f711776c4fd30c3fea7c432a30d6f1a15401b185f1a794f4e054ee66fd40f2e05caa91b2d57eec8f92144dfbe589a43313b09c3e4afcd195b6f96e63691885fcccf8a1fa6179d2bfb3ac4e36cb8237df6f1288405c2c2155834317a247d452b0d6de5b697995c7e17c5a2f8c05b39c8e4fe663af4d38b8cc8c3ed46b99403d20fcd5db38cacbfdde686d283fb475fc4ef419e7c253adf33107ecee0f3246435728a6a6c61af563a16e1dd0ef9b3ab33d8c749e5edbd2cf97813ba61c17677b3f8fd15e1218649a1e7bdabfc07bd3410db6e7477114855825b55b52a084c83ff0283d97a093ca1497edc27d4acba879b111bddd8379b165c37bc086a0a70f63635abe6219294b400f0534f1057b51b0818a4c5a56ed5fd9418ac52da3ad0ab6c7216a2e9395caff0d4828e24549fc13a672b691f2f197d8c0c4876861fac352f4f1b3d76c79f93986779a3177a68a624d05b6404531618dc7787503fb96290d56a4f112a11ccb0721bd9646c5934928d63b3925ce7584c675420847a782307d0053f9f4cdc87696c06d09ed8ae7529cd84d1bbb20469df774a6bdaa995c503a0d228136d92268525720ba1b283f164655de382b4434da481afb633988b0e931920d502c07fea56bc8c0ce1736fec1e58243500c7853904b0fccc196bf760a279ef1dc3574cfff98d5977e11fa7a08ef38c210b6f965055d69d64d6df6fa64a83f098f5463753b3eaf7a6c76e16708ce79af14bd40a969de9c0c2063f12f071f7c0950abd170cd2b701eca6ed2854ed63ab014664a042f002d1d8718298980a06ea1c949e7afb3918a51f1851815ee62a320deaba762f61ff6969b421d196d94b227c019501a811184b3440cbc41ca9c05adaef856ce32d935e2503e4b0ab88e65281c1921123d04b2904b0d0d9ffc390896812bd99cf683fb433dc5d68ada084d5fc7affda39d727e9dfe6bfa3cda9ccfd320b9fc5ba2840058c59d2ecab9a58bc444cf1266bec4667a7b4ac92fe63687804adfc1dcca6c5d871d3dab0a6946ad0d5c8fd20ea7bccbe527b8629a9c3605ab388361ae052d3472fe2b5ac1936c383a6a912c75616e109b795afad8a5974457372192473c58a8055ff4aefc374d3603c93a244d50c3140de9c01d8c3b222e523881be00e2d02ed7976b38d4bdcd9a83b2868eef3d524c1e0f00ece61cf1c04da08375bd2bfef721abbd41f2bf28f5427dc6c81d2bad7015a881db6709a38d374cc03831e48f59cb61cab7ba6c1b9829b3e10874875ef02f8701a24f0fe501baf5379cbcfb5c8e71470733386648b99e57344d4cf8f3909e22c68c247859fba1ce7d84ed214b36a79a0c7d144054d1594868aed143be3bc880e0293b41bc991ae5fcd18ae8e89fab9154f2efe76e1f1ef2cb5d846659ae301976d9195e4bda870d8ab8ea2c17913d9cd1c0ca9f01eab32722756dd47672b1e74e8c59dd07a2bbeffda43072afe1850b4078ed856c87c4dbed3141a50648353e4f1bb0e139ab0e3a7c6ce30b31167e688d47a54cc0a3b2af81402b0d599bdc70e2f37d07c915abb15569ec58541b0ec4dabde13272f698797fbedb62dd727a806e05617f1c2494db4a0f9c0ad5d7e7a099101645a313aadc86a9ec7095483ea1a805dcde3191fdd96072d52fb750d814a6ccc21082216871d3fd68a1d443f82ac222d258ee6c1592bae7e3c0eeffe160df71e2a850f7f5c4da6400760a60615173892735b3d67d87d37178d41754951c01a4a2c77194c326540098bf4d90f009721812cc9ddce3ba5db580a07d1377b57e48bfeb861434d4bf960721234b849a2f6d9cd33ea8181bbc10d137c2a47f35cb31975bf07db109920eec7d25ae75e2002d3c6bb6f91d20470bc3edd671dfe3db3054679371a40e67775a8a0c5f4f1f329a05628111ce6ca3fa692757fcfff44afe381a5dc740da7c845eef320bb70d82642febc43837d848606bfd5f057f1dd2f347801141a9c73bf187f2a20eb73d0e078183478a64df62d3916133498730e34d85a4a8106e77438ce344e93c31b6279c337a9bf8ecc0498520d16968b1ef649270f0df8013c69ee21b69a784c6503e984c161350f8c55aec43812377c9d0ba702e5957e0e8b6779842c64c2d329f4f94559a05a8379374148aeb34ae7c5abaf8559eabcb7627e94390b0020e4ba14b11fb5e4d6dda242e580fd03f1f7e97403ab9ab3a9027f6c6dd9be347d73491d7fb2d3dfe6df2c4735844a83ed5e08c1031afc7e81f0944791787ae5ffdb4b2adb4ef41af1681cf3b472db5543768c472fe5e66ac4642b07a6a247a727e14ea7efbfdd2a1024056ce000ba6df01642802ea70394eca4ef5fae91d0ceea3d859be6e99cde931e00622d2998b66bde3349245d0767c1fcfabce0e8911452d0637b12081b0247b3b8d4c8965b4a29a59432ed640159016a01343a19a411d29b24492a987730c6dfb5a94572ffedbdb5ff77638e77ce3967a7ff3b9b8d412144d8de874108058cae6b7f064063a3dd986453d73cbb259e4c683d48ffe739f5fcb196f9271f2ea37511ff1d3e9e278015e7e3c5deb0d6e00e614b646da966333a92d5fcd1fa87622813653c4c0a674f9a52029088a128bbddea5733e7b59b03671ae09e3c36e79cbf9fec4ffc9e3348c2bbc818d556dbeaf5b282c544a323ab1a52009e648426f24056030818e959753ee3cc002d8c1dda16931adcb0d887153bfaa3efc8a8667424ab3499c8655c49e4fbc34fd477529824404954e25c030814e8e3381e8d4645e3d84056e365e2a4d55e9caf7495a6027728d6efb355ac142c2672198559c4f71cc962009000c88e8c90908ac41812ec85848494605bcdff3967fd39e7d32b9beb0960e520d164f233c40be280f81fcee33c92c7fd6caee78993514b40a693faff3816b0c159578c1830138fadb5565503776c98ac1a397cb3bccda3ad23367dd406a76c72da6b9c649b0dffabcf4b58020ddd4bfb3b9bfb266963f9dc15cf32e8320977bb959446a31d2069b4f2fee57365a2a8c439cf3be78c691e69d87b25be9c3faabd6b022ba139cffb31adf7bb7f6bff16c620de200e77b86701e26c0e89baa49c267d955f96d388b0d230e76c5f39eb7163951f1a80b36ff2914d516aafe3fcce043af1a196bc93cf3dd443fd8d6bc3bce6f7e7c0dc77e909fbb19fd65e6938fb09bac24fd8162cff22b8d8caba617d5939d379233f4ce94f24f68853ce22bfdaa08bdc8d7351acc26f399c7125f5b8aff315906f52d96a328d6095f38e0d2690af5285739c0087f84e78bc942cc4392e2ce2d34e6db773c7ffffdb9f3c266eee983be64b89730061ce45bf27adf74ceb5734db5526da8dc3ab2129d11269236d760bcd2d7afc7c4a8788b4864f7523576b7e310f8c543139c0fc46a4054d1edd77a80141b48e1225055529e1dd759539f75b6dd4edf85e7c6dcdb3e8cbe2eed31f6f0696d133a0afc628aba56ad048e5d0e07a3cad9d6e2a7785ebf1b476baa9dc195c8fa7b5d34de5cce07a3cad9d6e2a6785ebf1b47661b6e8a67255b81e4f6ba79bf2922b83c3eaf1c45cf1d0a3b5d34de5c8e07a61ae785a3bdd546e0caec76b43a5b502e78eaf66e102abf87afae99bb00c492cc0611d31c0840a048b2cf0b1652d91d74e4d97d642e61b6852dfd22722cb7704c065495132fb53ebe3b45c22292c169b51a8b516ce32dc6a58a3afd79db7ebaab5d6b6ea15b63fd99a02e3fe659307ac9f9966ba62a602670e6fa2c4166c1262317ba85a65bfffffbf68f4d9c64400418d01d2ff0bffde4fe49b103817453e2799f4c38e4fe36d7ca48e6f9265e481dc70927fa887a2311feaa13215fd7962c889ee56e21cecb68b3bbe7964024b0dceae9bfd3b0f4af49479a79b9c3e38b7639b6d6a2dd1622aba52899f0d203e5029f3ed172593b559a8daf0a14c14ebdbfd4bce35f33e765e72a59c431d957baf692af769a8dfea6a436bb59d195f00add616633bdffeec5225678ca9c6b6b46ba83694a8196651ec19c4e39739dd6e3edc34843de517be3a189939cfd58e9678a5ec4aa6a41fa4e4d031ea930aaefcd43b6d532a3eddf1ee3cee2fc71d2bc10698a4d5153bf8d5bc41df8ebb9227543c91e4926de3848beb290af6e4cb796bbc69bde39c35ceb0e9ad3b914e296fcd06d6c8253a22befdc2a556b2b542c13747a67438377c162868e16fe6a2b3684799382f13bf6081898982de2aebf7557d58e0fd68d86b9c14fbc522fdb0d5b7a33bd2bf782b718e73cff8beee9d7bd3ddce648f6aea9c8bfd83b3c37d394f328b86b677ceaddd588eb8419c45bff4d512ba69d3250d7d81f89795babaf975efedf7d20f65a2c8ebdf7d240ab7fb9df652b57148fb397d5eb04483f7d23be7956b089b7c44e4a39c82d45aafd63a89fcacb44e3cd60943550014108986c4e12ccf7110c04cabf9fbbc8083e9b2a11d86e42c21874e60ec7f2e114c332acfe897b0916df91e2396221e2c713ff7dc8852c31a2bc7d221d1b157fdb4799cfb40cd4f63ed7ca24c08554d96a5f695559f9ac6d62cf75f5a53c327f175dedf4dfbbc01aec4250350ed705f0dfa91219570c6752006633f87d06117fb6b82e572928b0369dd870e868b36ddc33e517a462046f47a803d146d2c6eb9742b3c4f838aa2ca40c6085202f03f1424ab2fb8508c46a699447f4a540c844e44eba123d1738ba286ad06528b765e6def7f4519f6fdbd22b363331fcff3a25f1717dbee55acdec8e7e5c29e717bd5f1ab3f45a7bdc0ecd74b3f2569557664a9a4a6dd24dc95a85e129749672758e12eee26b4f60e928bfb97c87de381c881247ccdac20f3907ad25d11e0cb5a843b3f5c7d6d9841ba3a9fb8d9844fee8cfece14f71fd5fe75277b84150704a04cdf69dfa1e815e2b2c11e5b0370c2da9efff25328b38111338c5373a580a5623257bb4b469055af608501300af163267036f4a66e2057d9d60e10d77015ee53d395e2367ec21f2687ecd4499879fbee943ee3405a626382c9330a5be4451ce1d922306fcd1385cc08751504cc64531387700816d8e08817e6afd8e7abcc789ba9e09d47338004833410a1cec450e45da2dbeb2c3afe9059614e231aac53be1cf55489551602810fcf9d0cdf04313ef3bc29f52cbda60ea1e2553b49d835cc1e1184b0e1f5e04edf24ff69bfe6426cf4165734247bfa4778b86b15042d9d26b8c044cce5d1ba62ba0e5f24c084bd029a5b16dae9f4363b9840bff198c100bc3bf055340f3c029d68160532f2381f8019258724a61d10ebc1ada4fb4dc308656e9d45b70f25e0cd035c2a1ab715957b10c15d07ae2e262c4bddb28074846f28e172ab84ba93cff09dc21c72b53711b2b2f84384dac6acc1d06e6fae60c428209607015d02393149d2e5491c8adaf1dcd97b90d1ed21123af96da013bab85be040aa69b6f663f3ebd42d8d5ab8aeb46231a8c99299220caffab1b4156d6b68bd04a624b59d9af2234c0505b63a6f30462f834985a86c9cd36a6919ecb145214d1bd2bfcdc8ad547642f653507bfed09d89900a9d8f1946bf1b6531c13b937f080c344f90c22b62f37c26de7df7802c1df8d5eb8b8a3ef1153c805a2155cc8c67eb950f9595206cc709aba58f2ee05f4044c4669f3449952e853ae13fa299225e4585ed376f7918611e05d343ecc3f006c070f7f7788ff598e165d702b0644c602f248e3d51433ebaaa5ca2cca2102be407ff000497143e32e22f2fc6aaef6f8d7ae2c5b603b7e186eab7f8a02c08eca6cef16447c6da0379f96b9f991043ac3c4abd492333f1d46b23e93d81530167865989347cdee46cba9e00018aa52345a31f3298f99d00788ff8d204aa99b46253ed24278819c1244cb9107b0448010a01e59f027dfcc374c1415a8dbce4ce2c7e7d9fd572abbaf036b14a2d7bfdb829899296d9e0c03c776565d961e2afda4b0a1dfa13ccdbeb9c3a4eaad80afaf49eb50cb66df327cc7e62d28175dc0df08a419646ba0e1db219b66a8435a884fabc8069f9647a50f5bdf967aa6757d0fc3b96dfef4bf69aed9c5c3966e982eb10ab2b5e750a58240d405797e868a8ca4fbb1110b61b1d4e684dcc250d34b65417988c18ff4b3bec431d60573c9352185c93d4d4495cfc1fea82077e188ab36016c464a7a03ce7b1bc80191e18e915a95bb7b9438afe3827af1e5f0454fd31756ebb370b8d30dc9d9dd41aefcdd72f2ade5c1bfe9a4868799c28917d8975f7855c4d21d5eca013e128ea2e821fb50acf986643bea14e140ac7acda227105dfe4af26858937a5c212f16565d959e445fbc37556d82530be54c45502fa9399d3d2e2d0f700b0d5494d7b6f93ed3466b87657636f874906c3d804caf3d3ecdb312728a59b2ca604d8499ba554e006ae6a20bc9db8449fd28b9f9800ad5092f64fadcdac1a80786974e19739ff0b6074b5de79fa3a993556409d45fc69c49200bb8419e7d4926635a28f2f1133a0a14a05ce6d3bd056d34fa931135613af1245246bbf0aebe7221e23a3ba7a953b2d98a235b3b632846eb53a2981191f4c4e6c6543c67105ab7997f194e3fc8c36fd700ac9c85d896964411d4ff586c0b0a8270c6d2cc29a8df5b181a0ca67616e356fc7c8f6942b2be044b7ad02c33fbb06b86407a244b62f881a7c6b8742a44ff05f6a174224918dec48221349743a991aea50879ad4a7867a0811c9c8472612914532ba9da00675d4496deaa8413d42dc488a2c4686489c442d6a5269212213c9888c48224f2315222b3271b271d464ea45aa2e6cff4732b2c853e48a269c785249e891887464228d6cd49c4c1dd0736b4c7a94eb826f099fa99cdf8e52cfb6f5fd1731ae15e6f1a31eaa9f7c0ccbcbf5598783e93f81c186abc45a974d8f1ceab1fef29c92d75fffab6b21d5f381f88610acf0cfe13ef87e57dcf7e7d7bfdb6522b02f84a38df18478d006833c69287848bc09154026bab8f1fc785f77b8c72c13ff50012ad13f7f89cadfa351b5dda0a829c0a69e429e0e5e02b30844dcbe91c253d5c0f908091536fdce2168be04d9e0357c5f14465a9c7155f41cd2f313ae383679c8100bd52b4ab165952b811d1d94d4984045d0c426caa26a984163134ece317548d0c2a2f8018e554bd64f4d82f4220fa00790e76e5b0dfac55343d45daff926474c77e3ee8a5db413325f7e706817da7161126bed485960282389fbde55ec4a60f2c732f03bbb1ef65bc11cea56340eb9f2ba5cac475a04ea9fc473cbfc57978b82b4ca413a8756a4427cf1ea61b9e5ac702aff845765c63b0ba872dfef621bb4e44d1a8e8ab213c501674fe0639ec1a09fb6271c0c7fcb05dd788fe2f93e1b998cc567cce903271d1974625094a7a3dea31b81763a8ffa1f5afd209f5d5e647721c954d112c33631f061947e409104220f2a875c44bb878f25af2f588d74ad8963791c06e5ce752194094cf9e6b6c01a94521d68df6cc128f61a2e6f6149e26c44cfe1b862566447cba942a5046986598761de0b7cb4ed8211c73a2572e2082e6e7becfe5159e7bdafc35cdaba9480c9f6c3fd04c0d304e96be264bbb8d994508826b910361c27aa81cd28353105d114e6dd43f18d58d694cb91608d54f705aee64b41d08be6cfef4213b293a4dc01d829e9335adb03a864715b1c26c2c8ee64ca61aaae1696724be65676383b47bf0aa8a8b1cd9ec0347c39ecae12838bc7c44082725a798df01e44b482231fe7241aa07ffa4ac70eddfd0421671c4e166a72f110a68a051bd98055c7c9f1acf72d4e259374e374039284ea8ebd42314cece7e4d1cc332e2add599c9c24bdb408e995295cf13f6d860f120593da4a65ffae92a7b3854742d3f6536613810e77394ff4cc447031501c0e56d4a4829e9c0b5db2383131823ab9d1d1c26e9fd557f729bd847c07a675f6012b31edc0055adde00d2a5ba6202036b4e4074ec3a01e4a208e023b82d19578223fe0d5014b506c76e923b4d1797b0707aaceffe83da303a16b58eed7eddd8cb3f7d63654a9ce03d369ae39f1d3ac42c85bf13e22ea5fabe61e4e3b6146d72130feab3fea2e224cf2c62e9d03a8a77297776b3684073db6ebcce06a3624a80d975ac5095b27d61a7faa883bd2fdcdd1871b24921092820047029523ffda18ab9a237e8e9dd0232f0ed4efdb37b323617551c10017b149d154a99d639add0667b99834b80bc63fc41ef96dec9ee749884ff647e40f4b2850833010575d739ae95b6abfc6f68044c88cb21a27f68164eed0a683da9e61011977950b5477ffdbb38e021948557878023b138edea1c800b67f908b6c10d102b71ff845516fff93c4ad233a72a0d37680db849d2be50edb09c5ddc9a6658ab0b382db11f83a1b69ddcb371f6f66d49846148363076859c66fe54d7a5616baf77a5dc9d657caa60348e1c20b8e3576b229532174141f0c68d03cc52437c2e0a678203f3b691cb6930f5a2e4d0c31ca49323632d449398276c411c4bb1043e253e2b6fb02582a821687f1482e5bd06da17248f2ec7e0441a08c60d540cd5ad1dcc086508416cad3accc554fcdfda436d9ac5e2791afc0a3d780c79e8947873aed6b50f184b4a7b5af75da8728d436a869b9b8403e864efb285ce28341ad205b6a072b9fe57d4e763965a24a722608e122f0efe29c1b85fe0fe15396f7327fde7904b34faaffb56b5f1ec6a234466218e575dd9a0dcd41c32ea50fc6990b5ba2fdd44b869ca9bdb6cb1db7576c863d0f6dde4e25612de88b4d6c930d76d1fd47e0210386d8920857fe98e4229810a6a041960128054d201e19d02ba6877b76f6c4fba4bc6a0f1d203dfb77b4f61f78015a272ec1c4bf06af231ff8f36f0c1de0402cc189b7a171b2c5a04b80932458156bce826a74a561b4113451f677cc03501aa86e7f50629e1a740f1d258f0bb41d0259d899e3d66a465211ca97df628d9ebad7b3209c0cc003cececa44a9ac574dc95057e8ad53af41bdb3c6739f3f9144321c9b6704403c42ae2eb0b5004a00d694cd834519a0bc33d8e8a127bb7b85f7fd56032b20df0366a83eec39edec2af57a347f53178b4348cc20dc9580f17355548884bf908aeb35ad9c49a5e0122fb044f98fe944f56d24b98bbf4e786dfc554c46b9008eface8b614090b8686f3fc940b72552ec82163c431bb129ba70c8c28f8ef4053a28b9fcceb50d78e5efef869d84536ccfa5ba17e3337c0f3da0aa9f0afef3d888108a67f69caf8162590a47fad2bfba55e8f11712bd80ef6af15c42c8891e4dfe2f1929f64d44c5d51d0e284b1fdb743ca72282e28ec87ccd2a380393e7f2e58245c1cc5ce70bfdf32fa711411ab5a9f8178a128b85ca2e65b03ffa5a74c7cf699bee323b0680bf5f91ee05f6923564a2f3108df8a9db97bf93d05e27fb15abfed24d0a2c27c7efb854cfac3fd826b1d460f267f01962f0d855f0dd74769846984410ba63b0bff90465836329d787e0a121685dc0aa3631d02cca46a6444deed22d3e2195e51638159aab4ec564bebbbdb5ee0de3960fb5c32f2908bd9c3e4d279c708642d68578ed790446013faa925e1323f03c702c9394cac4b8bfb990c331342637c3134216d09504e582ebe38e3311bb02a073a741d5533098a33524f09f61422989efb1b4b0f3a123a1829baf02a1a2e8cf0777fd8e6c3f45390ba8a89b061eb29ee3357aa4f2e3b827a9e972fa04a5263e0ba7714d5e7081b8dc62c38522359e2e61cbd689bc215bfde9bba12c902ba12c69cf8a65b1b18aa5478c2989377f7866c58e6d5c1b7a6098fff1647f84e4026a3cee424e9b7ad54002110dd191291e1e92ba2b1365c442e03d47449b3e9e290b7f168c926c37420b362b1a8fa611f706b4c913099855e09f4d1e609263ece2f8a8aeded1cf466c8d242e08db85bfc6babf326401127c65207c0d41778f726c2cf7357b9afc023d8eb8f76c13195c1194e779266b28d04ab7b8d469f4c506edc43517fcaedf00cb54661f449f03e446c55a7441d547bfb253f5343f07e8161fd1a2a074c8a6f05307d79ae9db2670cbcfb55426605fe08ec9d4f70c09fd5c826cc413e668b44f193e027e4a97954a3ba591ef9c92664839b1514a34016a5ee1a8ad24728d89bb96b9cd53428268d8193587e07e7e46d0e690bb962c2e2b2050d64844ea1f2725c1c94a3ec7c7fb7d8ea9df032ece01c00ac907e1ddf5c136082e0c66ec5ddba3eb020706849018cd2a9d667dbc029c13229d8e8432d63e61a6f0bcf6e8f2aad846b2083693d4755a0e1d0f469a73e96ccef65385c41a51c14ddb06ed0ecd6afba54006d7f3a945b5bb5e723672a6f83eb038d181592ab1fdedf032233670d8a04a7c34843b1725a3c22794efdad7a4fd5671f678bbdd5f0738584320d1888971ac95a2d6309a28107ebb8b7a79f8ec9942fc47a36a4b4bc255d5b13ef60c68c50041ed1d62fb1e39e19795a6f339e54462ed42025afc7380cc2034a1baa1470039914dada6aadb4208129036cff5a56a5654dff998025a39c5a6864b574710897879f786c8058d01aea32ae22bc9b82cf6355fcbf1c728e7e5f4b1f72267310da4fb557353196d51ba4ca885f0419adcbb91b28c83c4384008c99ef7540e3fb46e294e40488ab0384c9e3c3b1a0334b4ddd911ef6dc87ec93ff51d8abb066b5f9c4fce09787a7bd845e8a20303b1de21aa7ff6b8c924aa811ebb0fd3a2f0d48e4fa8e55c8d4b6dcfb98936f204ab3a6fdf7852a22a5a40a7a813b7d559ef956faa78b4b3da01fc6ac3957e90a6ccfedfc48e34bfa690bb6e46c112b0e159e1eacb9914ee93a07ced9e9176bb1e4364937a125a120acb6e4a00e1567812827663f4bad3b31931f2bab1e87be9e950850da2bffc9e24865c605395ec6cf46c7a62dcbb0c62b559882a2c26c8145e287f40655d37eee9ea490855f5a24d7633322aa1096ba5ee7031371eba979e207a0bf0283c19bbe08c87b81819027c00aec66e2ba2d4ea783ffbae7d10c497e8292ba67c5b03a2efe91ab5b50e6cca9ff02e55bdf2a3edf192871c49afd84c77c78097a6c6b8c628a65871ab4327870a5b6417a0aebeb0b159fba49a8cf2073b67c91d9b1ac7d2e4c9a7b7cadd1c1414f002cb59dbeeef94ec365fb3ce1f1c60af3a7f5e590e12f72a07cbed816b7f124cc8b2ebc9611c58a44b9474ba573f4af53d53af650ca0d2995e745c06d34dbc3e9928bdbd987e2fb86809b8a8dbef42cedfd0a6675faeb07e3b663faaa397f08b5b6182fad1ffdd93fcf73143b864629af1fb84c55235b2d44fc687a744b959ed80851c3e3aeccea17c634730aa791fe913d2ecad0938b2bc8f68cda133abbb07a6a816c5082ad5c3bab4e7a1bc742967716c15ccd189da51ec134fa77449eb2c47c1cc0fded10113cfd8257727de183c18117bc1de2d186f74f9836fb7291204a96efd858593ef8fb24a97ab2384d3f886f4e3e59bbedb2288f7d5c8d6c41d3d436170faa4ef0141e16aafa1ff6c8d232e1c851afc93816c919101cdf32012c00329ad0b7916eb96c3e01fe79fe682521bb7aa55b8e010eca97f0f4b1abdf19e6e9a01ed1e4220a32abfbea0fdb8a26314885b11cf181e5599b68fa1813bde5faf15b67782b017f9d6a6917cbef8ff54addf3bd2c8dd8830c592172387745010719ddd2458b9bf4468c5d88c87b9444c22d2039463f72421f2c3b8c76ce9a3f168abc5ee93bd4117de96be7bf5e18e153de8a3e931d519bbbb36d4b725201f85501abc8e5c78e2e01530ce2a63a24d3093f4ef17e6b1064f1c82d004058a8bbf68e315b09ee214df4d8862db329a5f5488f4cb86a092f50c9bd6ab90da9850c61cc9cc3daf60ed8e6d9ae759c2533760fbf50d7c10ad5c71a19c4cc746f8608a826c1c794db075417e3c60b47d708248b58736a576856a7e5d6a459003462691e1e5f316c641ac293da1be0c39518ec6a06a183b8eb184a8a6cfa8ac7751de30e5349b38c8480bc6c685afcb8ad0bfdcebe820b4e4b02b4687fa54423886c57afd2a8f571a9a027b948441c7674149abd893812ae09390f659bc4147c3b5e86677d00a434090ccf231264c6e52178c74692d2b2d5d47e1757c395a3578e8abfc8dfb96d44eb966dc17e0e8a28c831588d90fc14e608e726d98f05e2a97dfbaa3aa75e4ef625c842adb33249d67e09f7016dfca69fa4b922967c243410eb49d1dea75875cb7825acf48ed8d59fdb7a0b563bb108eedf33ac451a9fc3bce7a10d469d5467989cb8b73b13d8a77fecddf7f1b17f8635a7d595f52209de52c785144d09a633145655175178a8a14df0af67988a994eadd53a6bdfb22fe4d573c200f34dcb245536e742085168ac9695595ecf02be087d8d9108cadd8272799ab70274b0e102d3bb83ef3777577c14ff27d080ac62ec7c4cf43d9c18f03cffb142f1ef745c04af96364e089394f8c78049100df569969d19b6d93ca2c56032e3505c4e301fa10f9385040a2913adbdb19444975641ce83ad18d7b78c0fbaca3cb8fda239549dec4cef55aee9e49f9671423c179cfbec1de015835178ffa5fcb8430e5a3e7e91680d4eb0c3bd2250a216952ee2db79452a624036603590385034b6d7c7e711066a2e6b0157cabb99aab44a0147cc3377096f21937722d6264665dfe8c8e348a84de90fb2b7f45d31b30181cb11f2a53822f72213ca8616ac3aef3574aeb5bbf967787ee9007d99a0bc1969660ba5891f5f9a2fa7aa39a4b50892a51cdd6f39e8bdac68de46f8a87ba43978a53b535bdd446a6bad0fad81fc0afaf5b896a96cf6f5ddd9e4ba0c0bd828c8afe5cb925a514480908716f6b57b7bce5b7af5c7aa3945e72e3587a696954ab62460596d7145be06a6dc5995a4cbeadf5275e65c7196d26cb9de4c4bdc7716c9573c7423e7df88e34e70c56b199c851452acf0656a7d5ba427672ce3b3987397cfd610d32d8c0def0ccdcc521c92f8765ad6519b1d67e21bd00ccc215669f112a68ab2e3272d224b80a4152bb06674608a128a9eb6c40ecc36c730d0d9861f380a0321266292a32b2a1785d8b0177c0012d14b858e4def401ecd94925de44efbdb42f249f9cf9d3c6bd79e3c68e55d7fad04eb421a22672dcf887309e9a896422d2a855d8f48d4d3333a83e7d4cf9cb7db92ff7e53293a5d1b0fd28b44de8da5bcb341f5aa9bf15ada495381aad861b74a0e588ca268cf72e89c83d6bead929b3d95f9f5caddca1ccd172b41c4dd7831597b6038d865f2ed5d39ef63ce42875461d0c56b212597bf5e390495c0b7cac4bc88e0ea8a303e225d7bceeb2394170ad392d0bce5c3a3ae575f08619adf67e180cb33ea1527b864625eee0515353535353535353535353535323aa4495a81255a24adc4999edf09939be5485f3da1d970047e013902d962ed7466e6d50e5629cf7ffff434f3d14f7befaa53519a4f60c5112f4ee60f615c4bc5e41432f0fda4b182fbdde2b7f3dc397f3ff18c7cbd31af76890d420485e7d49f0e27009458e63e8256ac9ff954ff489bbe918a0b6d8bafdef5f0ffb176b83f65f423e94f158fd6a173e55261f7bfd908b715eec49a11fba50b8db30f9df4fe87f462fffe5b997218a7c1f666f7a1e867ff17a96e430cbbf7258ff7a7dc9230ebf810214b0a380ebcb353c2689310d43bcb1256d12164898b11c2343ed3a83d3156a7cc21a5625a5314f3862bc434be4e214d6341dce5c3824c2e662e1ca3c3624855de5900a34c65a0a194a2be04fa694243f4ab6cb0c5121cf7b93ec319e0dc2992c37572ce6855227825e384f7ffce5fd7dd682d812b9263fcc03bef9ffe4810744e040fc240e39ae2819b924b05a56052cd6c4e1ef673f83add19ec9e31ec60014b02f01703189523abfd633bab3faecde7aefd2cc59ccc62e8f5f8715f7b6da5e1c36e17340948d498cfd746f11b2082f94c24bb8d3d269b1268b95d3a25aaf60436880dd8bca621759e05b3a57112357632dafd99abbfbb94b961293d8c73ced9fb213693c6680a38dc9f25b3a39531c92ac19e78ca7c01ffe9b43bcf7ce8e9030eb72eca6b3063f54de3bd3c3d38967e654342a1a3fddccb3a77b3a9d4e33bafd74a2a9a20a4f78935bf3c880a597d327d5a699f99f81b9ca3c862251a1ce3824a9b5f6dae73530cc4b3bf535b7d5e1352aee7d27afe7cbf8f48106bd26c03cc3d0ab0bec59c21301058a0263b858e3d3635245b324861e6dcc4c1304dbd4b18f7c5ed2b3e31d41a2bb7025c89bb80691cec5d73421deaa7ffa9ebf1fe398312631ce20cef9ba2b57ac533b639d56ab87ce1ca1885ca3be213cc8285155666e92c4ae119dd6f9f27a40300443ac77aa27b55ac243e190e44d690d16d11ad4272b4e3497e98c13299d838af8a2357c547081619e3c8f3ae57836b01fa8bfc778860cb7b873a85ad12c353125d79920a76cd3db3d391be9591212ddca88f9556cf8f7c38966df77f3d72913b4f49bdf7ee741aef33bad7f6fb797bd6c0c9150f01e99f1392d3f09e9d1f828ef4248bf73211faa62ffee77349cc175180515d24021a665fb2d4174f9c43f5cfa27d8be6a55b23e26dfebccd9a72bbf16f0a33ddc700a06b189d27ad6022b9d96f599e2deb3d59a3b31eeebaff8984e676b4545aef353fad5edadd88374af2b2a42d9934e5b1ffb43a66125aa59c0bf3d329f5b6bb34254232ab666647454c6d66cedbeb4a390a83b17fad7cb75fea75e2dfd7ef7a2afff1f35929ac31e19f0779702d1243eaf15f6558637837e0c86fab1970975a9affaaabade7a58a13f4d1557713567a73cb5b55a7aff73fce12fb8877bdf0e0361a08ab353ec941efad2dcec666022f8dabd768f4ccaee5018082771aa3ad310fcfbf90716815f5c4bdb02ea2ccdd2accf9350095007eac2db761a303f1ef11289fba4ee3369bc47febff772f21ce757fc0aa7c23d89bb27514203c24b2f3f36c019dd2119511b13136daab8fcb4566aff7a8881ec77f41dddf2937d321bb5315126da5471156793b39fb0db6d0c6481c0d437431d9971aafa937d51320dc1bf01d4ce8060b1e7173814e5503caf5b24ea36aff98fd74afff19adba6977e45e8c76f5ef39a1a336b94791f6400d2253fca6bb2abdd2bf9706bdd6f8cd416fe2dbdf9f27de4b7d3dd1b6a4473aa1e7237c758bf506d0fddb404d1c8b6db70a379f237fa6fd5d823d96ae18c69cc7e6022ef52ecfd5abce8fe75a410265e687c956cdb8a2283d4512b5e6696665b57332eea272c9b7cde33ddd02bb486af44f09a5ee995aae8f192744c25d3498b7d8094cd730d004399452559b34c0e9944f317999aefdfa592141c89485419bc356e91dc3191a0f0016846839b77ce4d770bfb0eadb375a9903a527672d0f0793aa397c62747a4e5ce4eabc56291e438ee1cec634f892ae7071537768691f83771bcd3a0582ee70695d1d719f431a53a38d929757a6f6e480a8b7db16f6cce6e194387f4c5eee81fd0c47e41d497c77276fb633fc561ae5be356b96f55426c4cbd877bff3097e119cce829add6291dc5e996bebe979fe218d3bb8cf634c60086615febeb9ba3ea6841f2b1f5cb0ffa1b90283b9412b1ab9cd600b4ed396308e0448e0e2b478c2dceb2fef4f4dcd57adfda7a274fcc7e39dec802f147afeb02540928da376136cdf4dde91379ddbc29b3e9cad6a298d15483584a5a9d5d2cedee1e65ebfa540d9fe9d8d0d74d5d360b206bbad27af45890313639a0ff348837602ef798cbfc55060c4667e2a87383bb373066d2b2852d5c80a121084ce5c3a633faf467f3fcc7e6a213ff55c54de9df6c7f61ac9f8611bf0c2972199dc89337bcdd54e912edfd0f0b8088d9303125833827495f5a72ad343e94f8d5c118938ca3bfe2f8a702368491f4bbe5ab05be6c72ce395bbf54c1509a6525a3c59c5117ddb6afc40ff224015ab60f77894fe2fc182ff47e2fa6a4604800e11171dcd4bbfc3b5d124dc81df0e12a23840f3707236a78a1ca50501556a488028d263e880107267e1853860e4ddc1ac2a460d860ac1a7727d12e164b11465ffd725002a8b95058a6cfe9f3e66b3bf4ee0d469f2c48c744c9956ab2484b970b35b243445aa07c0a35b3c9fc5ce89c73ce199aa01d3513f731251f9356478f3249b9a51cd3184949cea5fcc9fde89ac0e1fc89ffe962fecf8311b3796cda6c7e439297d28439cc0d23f86822c152b258b3821fa2768a7ff6cd47e8cbda7f7ea57ff9bf6c78d4e492723eee50fde06a78f80fee73ce3c4cc8240f52247ffef642a28bbc1177a81eb652d1cc78cce633276287a9240e53527218eaa47990e47006b238c2043edcc66dd0800616c2c946e5aec860b2a029b22ab70b194d36830a07f479e343c28b1b644cb1c52c2e1b5270d95a09dcc3ceb64f8d0d3ee9e149131a1f960e396e945dc548d9211b7423853c86f08809438b9dd2c2491427f1cbd649807162b4b7931abe319bc71c5e80f12103a4b27516d9ce575469e2c46e92bf6bc3a6d921b7554d6818da3660a0d8d8cb67658b5b98e02e6e9f9eb84eec1a2abcbd238685f6a90cafa6905c9909d3f71b8dbb8412471039d3101f1c4420bd7c84b28491c4079b4840480ce16c4cec60735d0c3eb63209c2730b0d381f258450474f86858c8fab92f7c97ca96bdad5c6b7ba722e0c7499cb3ce64e5c962b5341f0e25b319e36cf56a52489eb4aa7ce792bf60ac58b8eb32a033a3ab21f2d61c070f72c289de245eb8728aa703b4745e2a832a896b4f592552eadf464add7ff2f5de85a7b584147eaaab5562c65dee5b47476f4742293cd440142810262eca99b01e624cdf457a71b4c53bdc88421e2821022a4d85a00600e222eec0842c27df57232c7ee7d50a1f2aa4fb8d0056c50c610c5d19bf59d4e4bc9304b415d7096a43e3f3fb2a492e24692c4c89c759c7356116e46e851f2ad18d062d7c0589836ce72a745ab30596c26540ee1888a84dc36348e1608472b615af292f654a7df782e27447f0c2c37a76c462749d249ede727c200396f960e54ff42fc81d322453772a3052b2671b5e0898b4dabcaf63d2523d7393ed9fe6d88f566d6da048cd18f9b4dc930f60865a4bae27fca044ced923f36d9924a8a7b360583169316c4b792f7569f204ae9be0940e52333ecde1fa738ceb13a8fcecfb15bfac2011bfb89cbfb70d11b92ca0eadd8883a5157da2cd9ec968e6c925225e9b2d9d9ec523a5117809530bc2d595b49e7dc75cb1e9ad91a197a39d2e243a5bd7754b1b4632389dc51fa4f9762efda4eb683e2e065aec81ae1ecaed2bc9dabba5a8081b98500564480670aca3c8545a15138c67420c86485454f21c8ed56d962b17242fa36889cdae5572fec85bc306ccab14156088c8d4012dbee07523accd99bbd854461b9062dc4a9bed89ba7745aa4746199dafdd732ef4654f6af2fbb87cd5a1224638aec10ee68458c6c3089786c0d480e231ca1efc546e0e6463e7bfdec6e94d7440385d6ac1754a94c2da5765f6c49539c75b8686d2aa98bad246290daa552f025f7953c02546c9dbda55229a3b08422fad0da99425a4938ba8d8095ffbd71f327ac29d96ce5ec0652d252f18900179baa74b6da5a0825673a73d4b0744e7b79b32d396edf5a6aad0d9588a8340d1c4f992000f375000c0e0a45c3e12cce8218421a5a3d34028845db0cc586b4882c120dc20cc4610cc301c830830c300a0064468848ac02cabfc87410cb8596091f45aeb0dc6641e7db2c00aedea78f0d93edecbf94c42d2206902a00f3500b08d82e714623922525da5d4309240059d4018d48f0c093304d20e7c40961324a475a54e4872764e13c421f08d0e9537a4748e70c6f49bb6b0745e5041f863ad3b5c2e59b6978b404273cdb6bd504658290fbea021aeb086e168d7016cde134de39d2bec8c1c0dc7589866019acee612701aa4dae9c8a8c770743e1c5e339d7d0ef3490dcb58d40b649d7b28076c59939d1e49112335ee30a18c4bc084063b0083e806ba7bf974013285cd2974298b81ea97040e805589bda3b0673daecdd70e6597248724ccc7f21959a97c070eb4a852b6af2bd8e9fc9c78bda354ad42c9107e8a16f75805632f671c63d80fd112d18efb65168017a752924b7c70845a19d140143c2242f851672f5705e380750bcb3efae393a0362374161ed5e57a908b55e0b975adb04f6315b19380d317264abe092673c89a0066058422077303333f56f74851ea473029485ceb3f8a5214ba141bedac7bbb6c0d5944d2fa0e5648970c0c5bce7a49333448fdef2aa36e3a5b087cd14d2a89dcb48ed04bb86ab14a3f3712682580b13dc54adaf11825a7faaa18a489d8461b6c7ae7fb0d18c72257fd86c2295ccde6f42d07b5fe8f2f69236064b6c5597c5a3d09c4020715703448dab0febe301196dc80e7e450edddd3068e73f1f7f9a30150a09e02a1f514010b7d0a78a0041a7d911fc725cf46e774cfd60bc994e345180ee6764510adf187804478d7716ca80446170ff2e5b52d830bea36a1702c807b31ad3ab90b9caae992df0d0ff05f865fa94a1dbfcfae8be13e17e7552d7f4d034328a2e091d9bd50eb02dfe5da51f86a102bacea8a45dfff5e797d54c0202ede5fdda348f04045955ca3b0208e8f8231f15a747cef28a3d5bc7c7ea3e09e2bc065b023fd0edb45ed14fc66c63bc69010f64413f7c40c57096e6a2031ed870cdcfce3bf716a1a6d371c246edc4051085b54d62a7dea26927bdd8427d6cc5e50126e5da9215a07c3b69eba6245a487f6f980783f34aefb3b44da174d11f4a6e389dfebed2f3382ef5b7ad04777e4e5cc2f776aea79626285f000fae79696b6e84b829baa2ac1e8dcd3d88a13797295cf58aae46d68ab50329525351162aa04f2f425fcf42c7f0aecaea0d1a2d39d2d0c7aa2b9343fee4f372e1c35758c80d74cb12be774c03bab6162e20e7a5565cc5349027f9d963b6d2c963b40e3c499e584c03ff0b51d54a966940d7b77f87f13e075d3cc41041dc5010d22ef6da1ca121b587aae8ec19f5d5cbe8cf3373a3b98fab1f887ef630efa28d69d1db0c9d40254950cc06d9636935ab61befeb074bd1cc4b08f9493efa46de07f71170b3c464e3cc7021cf2e43943a89fe20e302775dc53dcd0ad0979b57c69d33d0c12d713bf06db45693f45ac382759fc13be887728b9f0ef56d915c720d033a5532341885e710dcfd5a5099d038d88ac8025d58834c7d1fa46a5e051f44678b880033773c08f979c28b9282e4efd3b3634172cc1dfb8f4aa3186474c49c879abf09b40b21519ad8dd7309507d4d25df423e81f538953c3b9a3f5b515f627a4dd20912c5168f11022cda0b2940bb0af0bd00c464eb4f3c106b51477fe305c70bb244b2166f9a8f2a12ceab6f1103613041897dc5e484aa0587f54f66feb694dec89f56bdd4095504280a5db19699fb74dbdab34fba35bfd9e1b012fb6195d6f51f7c93673ba99864c0246651302636fced7d221753453dd64db35dafdb76a6b81b413963fb8e584dc7e802ee2d3c58b2940f14d63c302cce0f66dd0eb10070d1af1ac381218e942658dec100a0c2398c31475db313ac71aa1d3989ca16d70224b75c8ca97ddd487ac0b304b157cff4e1f137bc8baca84391cb0135585f633fa8e642a78d9a488d83449a451a6a50388dd85dedaacadce57e7a84e3a6cb5f111e65285a870c61dd8e39a82bc4684a6a77d213c9a8cfede09123de9e23a8823ebc6e59461de83f06e1a356207c13dc311c44511e925c4832d709b08a718fe27121271132ace33cdf565de01a5acf9c7c612ba23a2446880d6a9acca84e6a5c1a53b7b869c5e9ac67daac99d6fb5431f0a3b9b4529c80b2f7f712f4c7b1888e580ac584bb9941646253f22a62fc38017a7ac4d8687b6c8018e4564b3653648bd6a85b474f24a05746cb6c53e7796970a036b33045c7f487fa72fbdd7cc6d25b45c1faf90e32ea360c7d19f91eaab4e896b7d5a9f09263b5b9f425fe6860e394ae7405f37d4526f7e2c36606fddad76cc7187337e66c1e7572c45b2a9de4d8014b4d830034bccdccdc0001a75f8520d6994b5b860daf47589569cbfc7299c6aebd23247172b0c470966aebf29fce3595231966d76cad560cfd0c706083d007241b4649ff407197ca0f9a4a21b78ca9a1659020892ed13788891e897852d1fe9481f8c75330eb81f8e5181f6961e0f464e85175a68aee4ab810f4c464943a63553b04da90a5a044be3b404100126a5bd147821beb0aa97fd450a5aadc2b783840e4168a4893177d84a0c833e527c37c01cac30d01cffaad094be9aca23e1b0a9056d2142d5900c12d31d0a4ec8e29a2cc4b4230504d53a085a1ac45700db07c1e9a44c50940a156be315dd38106fae49a8dbdc7b08ec1608842969b6f78860c91d3020e32839df24e74e3cdfbc140abbe7c04267d29174258f9582cb9300801c3b4232ea74e5e59d3c9205ecfbd19400d891f07fa0732dc3234e9b5fb0030db4cf175766785ecf363ae71b146aaa57e5d83941d3cfd3635ab21aca5f755a9d524b6e36bb6a077c4023af0d92b51fcdc0eabcacc22968a03db5d699fbfd606baaab153392f084478a94590acb274543dc07b1f4ae124af010bb95d5f78e8ae230188ca1c36c237b572956fa3b0bc374e57890ba6ceceb2ffa63f514c6427c69d3ed6608b4a6dd92ea1f857176d85d314d9016673f1177cbf6579290442f111378516435316da089366c0dac20da75e875d6a31d0aa8e3ad7e03b8e973cd0634a5b0b83a855895457865ea88d3a12de50c589d13cca6b18336752c5eaab868cc7767a3c24e41b6a420cb7fdf9986e88f52033015d4cc410310c6f223ec9b25e4b0d15adbf9a2217b76771d65fea1f689edf6096e3bc1c1a08d6923dafad7b254210806ad018b5b05b212fef6d98bc0995e53d042366fd607e3d755342e3feefdd0c95a9c408b9b2c5ba637ea4a44d7d2a3ebe200f5934a1bda80ea6ba6780ed3904a8edde7d6ad1d53e6406c86cfe3da80d603e031b48adce4fd4dd0665604a0bc7350f05df1e0438508b5b2f34d46c2d458266833c2726b5c9e6f4b0aa903a914876f2473ae2f998b08ac6faed371c07fbf03d330130f067b513fa0d74d0ea70315a65561adde09eff93bfc91d51cc09a30c58b0490db6a8cad8bb9d2a7b62b1ca32d029fb346cd85cfcc79e1f6000d8d632b56011b9e13556f41160dabb82d4564164c6bde062a70bd479167f197729254fcfb1bd0a222cc4a6711fe618fbbb67222f323605524d95918ad4f2233d285848a90555c20d390396e1d41377da071593729a0ffbb5c53b1ca252187c114024aad184db8c65fbc3443ffa503aef6f6b443b8fc03e840e0e2ae2c940fe4218fb1e0caf1f59caf9e21948e58af3a96e03ca131a6549430e92c189ad6e5e8c7d614351afcd0bcc57fa85daae3565111db8815df5b22b67e37cfffc437d8b42b02a4128bc76c5d6e600b2f975835e69befb7185c5c19895a56865d98df47aa2daf7b83e43ad13b62f59e50946df2ec27d63b50ef9e4b420418668d24356af628717ad4725a746805008570e6a8371839ee4147f611c0630cd06720ef9949a52d263c462c8299514a7261b3cb3c67ef5d2c6938e156d4d8b66cd3edd1f5f49a1bf140a4e042eb0c1568b956e485acdc50eed60dbdeb24742e10dae35a8c01894dfdc3cec6ff207eea4848222489c5a8e89a3ecd81020261209e0e2e1d3169a376c084690b08696542499366a4c000a0b5c74648c9a46619db9a06690520677509250bcfd94d241751f2d94f2476090632fa9f3b6c8f051b290e12c4aaad0f4033014e97f86d545f35a7357e36d5c16fa511ddab1ccf5f77077ac2fadf86885961d9ef4fee9ebd89688b2e1078b89e6fa114880dbc18658329095b02870548852d501862b07ec1ff63953488534086f9f31257da8b1c2c03c9b5d12f2e5a4654816e121bf78e4e66e7f12380add078d5f65c8d820bf78823baa5f859bff3ec62408e82fe57290926be39d1b1d0880248e9f11ea2ea8f40beaa00b22dc085cabd9e7c5cf4562c0ea00c5166f9faf3afa0f66c473e01a94da4e271d183916970b9e839902a0a3ac645574fd2e9a483da7dc62a170d8cc402ed7c2844d77516b951c02ce7aa50abbc146c6f0dd5f69d206410f620ee7d37e87a962143949a7a5291739aa0b8704426e69775d80412171eaf722a0d9a30822db32f306c48d1fdbfa1872669f5f798b73a9c6f200d9c7f23c0c1fcc6505c0000ab9b4f4b278348b504683b22ecc7d2a3db71b70a178cd7ccae291ea71acb4327a131e97001ab0f371b1a890545250f04956a2ca3b2cdc8e207f5604aa5494ab6b4d4db62e431ec598bb3855f337aff68f45434e8ab1085d4dceaaee28a2403c9a57b9a3141f8d506534fe0882bd4b69f8a1b4218e820f8604f36b2b7ee6bf4ffb3fd46ccabb5742ea2735a4b025423e28e33da9b7335216893640bf8107144df69ccdb2b9d2630e6d58ddb6217012636ce83e15a22b8082dd5cdf3b70a8615e45cac2681a18e2fbddc10ad2609b8eb7bb5a22eea2df5aab89414307aa386c569700c03a6c362d69900d2206f6e0ba027bb91884e5bbc6cb1e2069f69721ba497428e4b757dcf951590db435dc8028f6303bcf5588a7b6df80cc37c196c0cf4a49348aa2b7c840e61c402e67b9455a8eedac641be9a8691d7328270966f351492c319535319c87d7d9c993ab45ef941071dd356cb01b7fb5acf4a3c375d5e78af09430107366b9239cf6557a1779fac634c1dac0b613b30734b7aa0724d06b807d0a3db56d88e142a90da79bbf79e40c962aa41eab912565212e751791853a70bf1b334bcc5220c8a4111a78c7685f0c6bee417ecd5d3f5a79f66c8421a0b1301d45cac96eae789646c1170ba243aee88bfbf38961da1450e33e30fb97acf0643a41dc7b64356ac2b28510072eb9252334ae4049475b9b36749310c775cbd44e6feb790de2bdd12a3f3910627b6b83ec44129a4d6ae43c96e6e0a0df7e1367db7e09757eca8194bc625620b3a49de4a2d1d209827d45c07832e5f07d36d343138ae0af581ab39b2926fcf9f251044f39cb2955b26522c1dc7ffd0db01746586d000d5c501419888b48a983ba610e3fc8cd03bc246b11a87589436eda5b4d73f909aeaff3af8f765482455f7fc373cb749181b7f443ebdbfe19e49b4ab659deb0ce86b3b14e4b8b104bb5fc4d9612087a2a1cfceb517e3bf768451716ec34a431ea8b7d2b8301d54ef07ef1c6cc5cfbfb63f5e44564b03715262a4083fd52f1f129818f9ff8f48ece436b44f027ba7aac7e7c2b5b95616229e59de387e47fffaccd244c89c7561a069447fd337098fde978ac6235da0516b2ed64682836bd3ce8ebd40598371200bffd9e6864313fa7a982a2884d1b8baee1fb94573aa8c11065803cf11cdf4f314b609bf892aea4cf31efb907430ba073165e25f816d4887c4fd5b7f40bc418a6585f6b3b3a766ee3609491c4a2158278eeb255b63b0ff5fc27ad481ed1ab35fd7369aae420f34680ace96afb3c086cf2c39396f66fc834837b165955e6ddcfa52ccf887c695d9c798aa71f9796a31b8418c0088f31a940ae153be166421af8b7a648a5b83bbd6d1392fc4741f0cd47e50dbad6b078a124320c23a84fddedc47814979b699f22970f5b7d7623dfbf286c71b39bffde10caaf6f486ae7ed9ee2f947e5c8d851ec742d737812ee09519eae64757b83cbb68d35454480890083b8a92b95fbe1610132c96748467559a56f6b8636ab7ea49b6f87bda78c4d73421209173a760af6ddc44ecfe2b5046b699030288b2eb5e8833c8e9820a43f843e76d7ae18fd654f5f1e7c62921af61c02b2e70b820503035b15ab1c405768174398e3dbd203fd471e243a5b224d3491a0a4e20f52402642eb0cc8f5798a053f034355e6a2838f3d3d7346fbe17ccbe208f7f541cb9b0624bf2d046cf6efd4d2e4326c80fe3a143fac55df0ab23e29511fb69fdb4e9894a906e5e9b6fda5ed679042c70781bb2d63f4118575b6695eb3341c7e937e14842570c7c392adc17239ea33b412ccbf6dc037116e5d6c8f4800793b3d2d41a5dcc14c38b00ee9bcbc02b31ad3005f76237b72a9ba4f06a72a904b5c3944a01668d396127d187e15fe91b3ced7540dde51bd6f990897f99d6063427f02d3c51f0485bf8ad70376c93a3996a9d47361e435c3be384bc00a8e51baf148658d47f3045295584f7866e5c1739657d8673c1b45f40168f20447f10b86eaf053b4a58a8b3d64877505287af6c802ecac12112f70db754e1b7dd572a71ae65e79b15da5aa81644c46a354883be773fa9e54e0aaa776004e103da6f02a87b91383b8a5c46e2ee82366142037d442198261fdc2f6c7b8920cb6d861dd49f6a1a2bbdc2c62450b7c031d12c6a5985dbafd22f2d682e85b1117a565365746ce2ae1e1aab72587043a06613812b4e1d0a450e6076ce4c78ef0e2b222df0821bf15c14f13f441c26c621a6882a6a7940d4c492f0219c5546e4f8b39c7e1721255dc54be7cdf282729bf28eb010fb8da8e5146e6dd6e9b43ecd44a8b2316f75e0d7cb62328be0afde38f2b20bf48e79c5972f3b20c5177ccac5dabb0efe4078e9e5f5716dd2ccfccc713c42a3386f1312e44bae802bcfc4e84018a74951f0694b4523461e6a06a753096e792de8d3c68693b65eabc329011bc0b2f10ea415677657029f1ab76168b58e3ee2fa36acaf4f090815dbc24969d4b1ae25683834bce4f1e55c6a74eb392d83e553289286c0f7ec2488658799bc31f12c3d9a936d6d264f8ffe358cf90a24cfc6670f2bacc12fea76527dc284a18983773a0fa96ab4d085ecfd4f9f1f987bb9c05e8236501fac370b12398331f3b9b2195bdd91309fd53a43e3185e7991a889b363b4ae471b28acc29f7e6b55b39b16ee98b32b736b13657a795909fe3c8fac56caeafc607eed624c4fde1df75352b25177a646a5d32914c4012d0da1af382640cd278c61fb2c0d030dab0d597f6ca9f5e742b696428ef27f5b3de6d4828e15a5eba07b9c9c9f11d7539136a412b891cf688573d2b6c4811521712539314c4a574491bc1d84b9812b19d54e2b9a110d855a562caa871000611ad1d03f93e87646d9722a4fd8df5e5709c09823f71039af61d66cd71fa88b888b09ef683f494cb3f79550555036b81ac328785bb5ab36274f7946af8f27895c25a3ce85700461f49631fe1a2d45c9a670daa69aeacca5701a719bc29237a92aae00a50e8544cdbcd1f266c2571b584e248d710d19c2eaa0dcc75df1d99bebda0f05218a343ba00bacce8790a943b1a703263c802d3e321d64364692ac2fc413cdc4ab04344a0108d7b51294efb270ef0fc38c997880413f792da196c107feae4cbf8ce5052451e58bd8d9dadf53ca980a18f283c0c9a7d2544eef3b4e36c0b530cedd61889a26e6fa520832e08fe831c9dc29b12844b9ef6b60c95aab7256b88b5828b6215162ac554eb293f90598de8f31d103ae20a2eacaf22a477f6e990c9ce44579f19fa2172f8c594fb11748994e1eda79b08b1756fe27f1536202d49513fddb224a6d511dfd31d471beb8b15ddd8ad972ff8946abfe695bdd868ef6aaa09f5867cacf9ef978ecda4ec4ffab74b7b490c417e0206d49b6c82f2a91467f4793a660949dda96843b192e672834b912baed17498a00f5bc6558d2a8f144bd91bcd9ab8850231cc97029f6b54bc156dddbec48b4870053b532578dfbddbb098c5b22e9fa1e5f9105f5f9b4889c5bf7782b8eed81467bfb3baa7fd651a3f595fd2fda2b40a7a71f52347b75b5db126e4f386eed32bcb565487eba9cfc844111a7acccbe548fbf0ae334aec3fe92c8c566ba32cebb76b4ca92eb059234bb0da56d8a6f69bf104b01c2fa4078b4f69622437629205914c4115361c604269c420cb1e4177340fce668f08726d44621876178be3830fa7e0230c3102183e0c06e386e74e11220921f044bb1a71142b140e95875463a46ef3907da1928977b2b50e7d40d0a72a3d0682b43acc557708938ae8f3a36f943a4f8138d93ce4431d1aec8d24d0ef071b6d02be35c33407279dc08f041431f6b2ac3987a79e905faf7b9b0de2be83eeb7bb84c37d3d2cba5da9715e56feb87910a75aaf95dd87b658d2aa58673370bb919e8108fd1f0a077053ce1f25bf90e12ffb29d24f7da7938f78410416609880214798ee2a096adea7672f061f998601254f2298695a0d17330b32b4e1826d08fdb36f84b7cdc04b06e1518aa62a73d5977903dd337d325f70624aa70e4c4d2ca0397dc3d60330617e51ba263815c892dd17a6bbe0690fae36f17bf693ee7b1db131a0774511720b218a9a0100bebef7218fbf49d23f3265ce85f12f2b0004bb04d1392f882589123727e026231a95c57fd969203abc653597e0dcc4b00e14f85c3e13c2298cb746a83148721846246bd84aed3b6c9c02e78f07e08cb5d6b674f16da47f908103af4fc950aa57d216bb14b664bdc0eb304982d333bb56acc402b29758b30f38766335eb669b311bacf8dc5061bbb9b239649ef30b7e014a6807ffe7ebaeedcbdf4bf11d2296722e9c3e490209e85981b642196a66256deff89795b88bb9a173bccc954503c0282e366fd2008df51958565dd7460b32b9565c435228bfa3c4029610cf890bd7c2e91f964861b4c2850bacd0d364029c57d86008ede09ba5a23e61578eca03785cbf5cbc6b6af1ff46432d0db0899ee8f35537af9fd25c8b58217f4f702c0914038548a5c8f4a599b20f77784507d67e3462a9db6cb58bc2aa5325dce72665569eab679a33013d835bb471d8d8154d2a2dff60902c7556d6dc5e5b63d63b7f6226d7d4788d789bd501ff0b0319b658f9ac35a5b20e056215c3a96a3557e1f9f4aba2cb9d97bfdf50e7bf4dfa6b24f0e03e26bba1490607c34fd03a83a7e7037ddd097bd053b4101df7d1e9bce9dfe068366db8469e8d656378ce2791ca52a8be691e7079e11d37be1ae3968e6d04bf555c0af53d45c36442d2bb7b17ced21c228c2a72f62ee5eebc6f318eff01aef77daadf624d0bef28ebc6a6c00c84e004fa1150e487e801feed9dc05c45835452d8b4789aa8150574d38b3fb1cfa2c03c7d06f7ab3035714d7a5bc310d7b5518fb798b659c3d4d2fb0b6ad16478aabe7c24da4b81622b325f88ad3365499e3f6d43ba6a001c1ccbc0e19445f8c79f90eaba7e2de12106115534e863090413b77c730f6b4ddb9d152acd20d6d5dc2823c9b435503541d3404d6c2dfa64b271fe99e6586762c76a6bb1c41f7180b704b9f74a3d306c8d574e51f5113550dd59f1158465eb1b8a2e0e121552d9caecbffd90818a31828e18a65d9bfd93f2886ec45c5a6d7c174cc924e5d32fe39b4c418262a21ce0b8aed9ce885653d91c4576080af8909ce44880b6b8230f7de57126609cf70f76782be0de4549d89e1b555f1c0148c24a0736a66aa7d07de214915caaef04925b9ddb3253edc1a620bc2c9779444110b14bd7b818c411d54e59e0d5ae866bf3f8845e058387fce41650ddd4a4ba1c231ffb86e7b5e9bc237a7d7391e652e2ff7179bfb048241d075024223afd1214dc8803bc882f5cdd38883618e225df942a244b674fd741ee29d7f5a897e67c54976c05b5bbb68b38a8452841f72ba7a2ea249d302b76c5cf97572b56dda333a2364f018fa2399e52c11854418a40d08b6850502adf42392ed9edda6a6bcf80af8aa8e7da9a9c14d60a974e3dfd1b9e4a6362d5193ff746869b36051cee9165e63fa5755d0e8d3ca3a79df7849d13d88cf6f25e54224182092ac7f62d08e9a4f11ee58ba1c5230bd6f8f730b6d0d5f466a64a5c91204c165c0aafd886634d3b06cf3e134255d9e9f0cd4dd8b3f484e3828a0b7b7c9c59e3926e712b9e472d8d51a9217d003cd662afda8cedab225ccf0ed856d067099dd523708403a2cbc4355c282affc3c65baf9938ac7bcabcd806705cd18d8ba60896eb3612aa81b82231de893a864cd2636286080638282225de2b8623537c06be7a5b1535073a86cdd1ac96145397fcc7c5964651c17e363a17189f7b8afe85573ed4c604091cfe3d1f8b07328d6a9a805962e4e7fe6e29ebed44d1a0259d592615d5429b644f7d5c823808b3fa41a8d032d49262caa061636d0adaec10491c7c871b29f481a665015d57599dc4525ad529ad6ead9b418e7e08687245a51d36225b640e3d96e4968d103562698a7119cf4f634c239a4b9d09618bb96122cd3066901462cb8c9779800517d0358692a570571ba5c73a53581817c45d75d703d0f1e5ce5a01a51c2738afb61ed6ad66865f3e9a2af0c9db0f2ba211b36fccde75519e741d548d2cdd686eb502c374485fd03f09c3508d9953ba14198b9411acb2b753c496d2964f3225730820cb302213551981803ec18f9564340ac62c60a25f686145e020f1c26d440c9222040527b0b2df9829bbfa7eb2a01e92c4e8991214f54f2e0ba4b232ceb250ac46e49fbf1b5a531b4dc68c6111e8f153c6ea175d47836a83bd0bf5a5651bda2b9a1d14e56e0f14ada441f348f07d4a32f9e4886c885855a25972245564434006e4abeec7cdc0f13a6c26e29c1afeb566a07602c5fdef7bd77e02aac1b7c4007fd862f9430a04b870ffb292c732d20d431b1b07d9b1c3aa188c06bfcc4def30929285544ed7d53bf9560d237576a7a40eccf9fdf2364e68f714f455f6332029b0fea708a54c87f8993b1f59af0f910fa9b4af53cc696e1cc033d6df3a1fde8092616711d5324a8a95007b5dcd175009349036995f4b8d3989eebe7246e62421055986317443158f3f39f122394e5e61fe6182258263f5671376ba44b6369572934403451fd0709c91a9d3903ae5ad9cdf58a7a50146d7125ce297afd14637f96aa1409ae689eb1fa4dc1bc281739a2fa383967f1f3df6cbe3f9a03068f2843ed684da53f3dae2c556f78b712899c4c5d0b6469980a982aaf352f33c05d59c46cc89743137278957b2c683d8a766f66af5abac3d13d7e19e1b9c8d62dfb91ee7fb0efcc8a221804bc0090cf20bda7995cd03febba1331b88fb025031bac4b5e7c76ea019ee328d2da5aab026a2ef01be10698036022b8fc9c00291a2388a7ac6652f6d9e03d028110732526ebe1ce85db18f5fc92c338ec8fcffbb5c63263438712bfe4a11301b735779113bf6401c1114ba2a2efa64e22de5d7c377232e96eab38fea62b1d5ae8579eeb17fc755408992037c0736d490f4430a1949b95da9d176a38175af1b1073284004615ba5e908cb8da86ef8fcc074a73e32bf09da7c7953673f488bc022c124279b8832c5d05abbf00831ffbcfc1dad9422d5669c6f462bdd82862a1665e7059854d3669742a1ab6462ef6ae319b6cd058fc8be5e9b0aa2c8fc61b36a170e0154747f3ab28310872150ee60ef9db3412104b5eccb2be1ffe36fa3d0dafc26ccdcc5dd914b102a3a0ff60a4e8c4115519cd460d2f06ccf4209307ff780ecf7ad03e79de666a343406f39f3aa0e679a5ac8c148b44d27328694e68b4c0ac3a45edddf6fe0b3b0b794d2838b49bd2d92c6f04a189ea7dab30df8f4423527b338c8520d12e0d0d59cb5c0682176cce4a20fb8cbddc1177b141076aa3d4a3d77241b591ecb6e53774427d80989c8c479da90b308724a9b58cc769dec0931e43b9b012983c4a0be17ce44f96b1f21f58131dc02527609ad0485693a9a5f7b047e44137246307d4fc65c73b3e32c7c95851056584702a4d1b7ba39d280789858a76d2721441843ccb174d1c225cf14e78c470bf6e8520f6f0dc95887287b86b3018274c43014c021a602029a89cb06105a4f6ecced5fa8b694d63c63c0794b41e79d36b4dc4464d306652622dccc3f633069c868dcfbf585e0eab2e0fdfa3d361e7a556a4c7b25e2b052c79da6e928e6c9c8b002dad39f6cc6786ac403a0dd7852d9cf3228b0b57316c1f8a0d8e3363ffdd8b17d9d0fa80c0be5d631582e421d639874ad16db8eae4061cd0da89f2476fc8e92d511c194791dcc209f045aefec1be07aa61383c8273ff9edda665da16598b20d60ec36f7e06f9ef399009e2bd071d1a8da6d479518a81f818dd30bedadad5935a9283417544d02a3f6d78bd02a6b1762a7e68355974ad65272052c3502bc664660b7a21f98f8c904c53cc7136e914c9ee5348e0c84d1662398637ba4be1510bf7f1e41b9fb76ba52f378c8075d8e5a0437df0781cd02a3a99c70a601b3a28bcd1f990ef996db71766ac4ce5d606fc9bf730b566e826b4a72902c7e6dc768125408fda297fd8ed240061d5325da322264c88c890f4569ae149a266dcd2aa4cd778aea5c951d57ece8b67b197f423258ea21a49742ad72ef6d5f7a4163242dccbc45dfb6dc3ffcdd92f91e765bf2b15326cc3a7598f120b0260e981cd36421c302f8248f50959547419afaadbde9b2c82d4df2bbe6da1fc01543e221eb6e0aa6b4db1f319d31f186ef4f03156fa6b6de475e38f63f50e216c92a2e04e8208b681c2bc0da0c22096f8047bbccfcd7aa31605aba5fafe05069dd4b7be975e8b82d555fd3abd2c0a5d059ed5987702d42033f2fd0e97c344dd28449c3f3acab07dcbbb3003470342fcc1d0ae75a60ec301c838e64f44fec139c904539ca9d6e108ad7b8310aaa073f578f90776fe2022fcc73a2315de7b8dd798c469a1927d76db380b1b3a4736851cc8319918ab4445b60bcacbc0f19c5ee3c550a6ef528fa424383d7fd68656332160b204cf12a2dbdfd5e1f6a457be9080b0e339cd5fc3e61e877e113b9e9e2fa72747863d0ff42b62cb719f69b6c95edab510eac3d760ccc0f243344e8edd88315b247333e894812b175be8713a8b8f772afd537c28e5c3c6f13238ced174a9acf24cd394b36ee0e533d7a782b540a7a0d5119491dd7ff49d13e8b6a10a7f3b2dcd5d05408f34f205194c0b3ca1827ac5dac5166e21da048ed066b7e39d5768343507af071902b4010d82d1c7f0fbf11f2dcddb004eeef338d8d8c5d423579b3ce2bc2f82e24b189843b5e5ea5990fd2339c406f2213d29540ec83e981f02042e13b508c4f6641ada64b951b9f0eba7084c6e41837330448874db83f854299167eb7fd8d7a3061545b347020d8542c2ee7cdbf5189ab7fa6ccfc6ea290d20ad8df4792fe9a855313ed12d0d9961e01d01d16c4eb400d461e07102507eeee53269f6af010742d46ae1cee875864ef07e5762447e59c670e650b95a3ae47595e0e720e11b820a156acc8fb72dfea4f0c28a4b2ebaf0904ed10abedd09bde7d549fee840621e1b3fa10494cb0852647dcb34453222e2a8e92f193d4155151150664d1f910c60dd4257c6c4dbca9748ee0576dbd3c0543ec63a661f8e8361c577f3d2c284f1167ead461ac8f1e955a3bd2272a707033bd62ba2b1f499c5db43cd206b7bb875e0df2a1637c6f5e36a89cec7a67a22e0dbee948b423e19c81bfe0cd3eb05401715e1cb7e01cced2b78ea90189bcd0939eaab424c7831a712bdbcd71dc4a8106128e4042a9dd2753b20fd8248ad25db76d530134f1c8538f8000409b5f2872f0fff29aff71c7e2329feeaa117609e06798ed78bbd1a9530cec96bc3d299b56f6eb05858b352f3f72820ae025b12dea2d16444e0b31573a6c7a619ddf44fedc2a9eb11002f7f7ec3f7a3db9bcf6a318178ba2400e18f318e862129e2a3c80e754dfe3819ecc769f59ea64f92a0f422eaf1e575af24fb5161ce5fd52f39cbf5f7cc0d2c38ef76549db76ad5c7615c03c95d16b177fcc6632161e177ad8b69c59e9d8efbdb267fb2fc3ab53153bfb5b83adcc28e7a1450c73ebe42440baa3ed270be97acfab25b305c0d0e7795b31ee9b7ac740c7ec326deed86e360c77c22c4f5a7c9cedd987b54898be94fd4d626c8abe2edbec0e3e46583a86a01c2dc787a15ce8eac6e1e5a4bd06aaf1fad713ad7c365e54ecb2bcaf6360088392983f1eccd9809db41d8c12bc617594553b230de7a915cbcfe98771a13b17e0ee023accc1c532f004eac584c991de238e080bf012a647d29cf4ccdda0ba839d57567d2d168d1e4485914bf384b61c3e0a526ee661cc04d8a0948df7f2cc240bdb2c261eb23802c08730ee45a9f2876a8c31d9bb2633668050476083ed8ce92c95600a5bb9671de71d0b72cd462f619a9d6c4b9e172e608297afb78680d05709fcbbca0ba52371c03d548fe43ccb3a44958903434fe28e4d4c5d72ce7000417d5ed53d05c90dc7a2188d5b2a42d007b4f8d9c74dcf5ff67d90bdbdb1cc938cda3da5007edd5752cb44ba4a687a07806eab904265d326f65484feb1d7c6f36d2cab253ea19172959963aca1348f6f0d69b496c7b56aaf9418bac8ad32735a0f0d4c41552c7d1f14787c742292d4e4a3b0522725cc69d44d81fa665cbfee131da510420f04e14bdfce135c64f15b3110ebde168a8131f47562444acec7a8b7d82d6523b55835e12fb1028e67b6c0e287cb67d56857c9d070a27623822287613b20d608c76e8d6d9da195b8cda8a3d1c745a18719369a1962096e950c94bb69dd043634c0593135b565a8449252d6c3e35341a25c411ef744c890f678401091ccddd57c83b112931079b7895ce83213a4af781126ba57a30f59201d1592fae4c10c7eaa2650cc4b2c48b3b5856700151bccd0a3f701ff2eafd650f7ab05984469bd5bb301e62dcafc7400768d729c86d44a36e1f09919830fc72b1d7fa834bc2c0f81e632edc0989a7ef804782cb0095bfa82e6b726c5d9d3dd29907ccb504d438036949978c77f7662f901872c2366cbedd86d4c40c325214c9b2c19e01aec6910e6e2a572910071a3cd99a3d36c9a9d2fec045b5a8050457c9bab4db05df34c99b25c59e676c021a47330ce45794dd6a4e4f4992b423aebd33fa5e2ba5914d2329216bf0445fd383a42f3c6dba6921d6aa3a197e35c7e39e4b3e6a6f74ab052a8ccc16c5335270e4e20162a505f7dcc9c43204194e9e1852016f09a1b45b26e71332a3774d7e7952ec16b0ed85c21ff4a21550b8fdbd8426ac4bd4c206a7a8cb02bc063a9c965c83da4f8020c137434e87eece1a349fec05afb9b9c7c6aa68a8b459de7c3b19409559494d66248f32dfe58557733acb032558a044f0808acb33504b7a430c4f1b064578238acab2c902506f543b46abb245340618e7437167c5b194ed1d4fbeea9df6df15ce1c1647cd48ec8385aabac55d6c3e5ad8f35e4eb9ebf58b653f87c5290aa2924067f454c17b00b7d2e75e4e8104a63ccfb4c982acbb39c8294635b8b5ed21a86a58ec568f58f76e84ac138c78cbcae9edde34dd0615655730fd6f61b7b3881b24eeef6496401c11b1a627c446e533752b9e5cc199672a27daac59f64ac7f697b35e77172974c6f5c226f95f76fa8f7710968b8a3b50d47d7f4140f73781e67f7b5d3ff8063fd4a5c1a90198bef4cb19e405c3aa665ac0a9f1479cc140df15c88e2bb4c5997a264042d9c3df29ffe07485d5682b557242226f649d2b40925d68ce48e4f42dc199f14e2b3c2b0ad865d7512d54d81ddf654db1421e9273ed280424fd9aa5256bb9d7b626b210a7a516a7c765766c7e03bec723a0432d85b34006b3cd17a62a11a8d74ddefad166666025b86212c607185915a6e76a0fa98f69e7db46855960dd4bf14c4c572c36a41d3d5b5c0c7d62e45203347417f1b208589486958991faddcf465cfce0062ab0143261f5b75c28386045925fc37bdfdbe33d9e80d83dbb3a4434f631c2ce89f14c6441c9c949ea2211eca3f63a6b30e05a259d85d08c7913aa28423c0fb7cb202049a84cad5c537910bbdaab4f2d063173cb199afa2eb2dbe62cda1faf59601fecee2867e0210b32c24e1500b7fae6cd4cdec90fd6651a2d2654928f44272bd8e029f682ee945d78f31bb5d3f1b95bb1e7bfaad70dfa9dc5fd84d32980ba7403e6187f1b1a77a09e1094f33e2bf69b362272f9f3603328a45698f4291afb6d29ba712fa795a82e0f524d789b8036417e86a63269ca929e2e86d4c1d18ce14bc11c804f7ecce4e35bc98a003a734d412eaefb681539d1ea5ef3d831e3ae6756c2f7b242c981cbc39a18f2314d85ec77fbe53f58754ed4c4d8763f1b3ce75749a1198a783d5eb3f259dae2ba68420e06f548c33b66d546d7e65e6d2f1453ac87dab851fe6c77c9301cfcbf97f6000c89b2d3287d93c8f6dd81c4aef121aae4ea7d8586208206f3d1db33b0ec39db3cb3da8861c4f93832154132201dc2224ad14c2d0b3bcf34d5cdfe34d95d644bd0ae77a789432f48eef2180a7cb3009a5ffc144570aa4d0735ddab4f06107044184b9640452044cd9c20f21f5c7daa2f605c4d227131a17159b17b40dcb5da95b9b24befc921bda05f50b75cbeacd28dc8bda5dc7b4b99a40c38014e014801493e90e1721124b3f6e48fb6229ef0438cffc7acc94e8e5de7d3ccd98e44e049796badf5abad5d196aaff8ead6cfa2e5b1d8a750a1078167d4757509639c66ddfe830d87c3bded6e5c86a4a8470eb7db6dccf9da6cb63ceabdb716c9b0c4fb5a9cc565593e7e1c8923c9bfd97649ea6c4731c4b573166fc92b9eb96c85661e0c18ce63f8cd905f291113939c73e799b9a80caf5d78ab63d3ac3ed33ccd9fd9f1e0cacde799db7fcecfcb4da6dd0b7e318d5e16c3ff118be2f8791cc77b6f146d7b15a82f5bb365463d1fd624e69b0805e120c973d0a03c19310b8f76c21f9098840f1f6b87880868acf251329a353de49f090e3b06038701936187878d8f9975faa4a49d225746b22d57402d56475c735665dd8481ac98b1185b65ba461b9f75e509153963d16cf18193ad78bd1391a5ec15f594d944f9d23967b2d6adc5a8d4b4ae7ab43bf31377adc5f26fd591a905d3c09c7d979959d71998b4a09aafff7852b5d65a5fd7c35bc9c71387f7bff7410056b129a41759dff4503f65d5d6b8058e2370048ec0df2f73336ebbe1863a497606973aaf1d77b3d59c397f52bfaf8be135b919b7832fe66952de98ab34ae2d4c04695508e482c9c690ac346158eedc68c245c5f41be3656ad84c09b9e20748d11fdb4fcb62c9183030a82f5a568052e0b0927345634b0a1606a01788167d1e448b35a3253cf36bf13d7917206040b1225432ba68387978a5cc2f6af11e418dc1fbdd95c5ed98c462ffb2933acce11896e4bd0606dc8a44d1fe7b181186dbd63d54a5105c5152d08271ba9e46a0850d41cb425bc2a3aa44558a5006ac46151410384e27aa128b1f64bf22653c9088fd0825d82c08a85b70029b85707df40d8e1c5425104444000090e4dd7abe72152a2e6585bc8405b7cc051a49177ce36eb3d5a9ce39738e9423d4f3b2bfd11d17894612848f8446fad6396e5447dee895dea815b9d11ce546716c21e980b41b5dd9b282e0365ac5374a35847517bc01e0a3f3a602f420d11b260f013b06e8406d9ca3556a6f65441bad410007ba51a9dc466914984a0d6c74c6818d46f58d42e936fa54b4511908361a63b7d15f02a8b4f7de2feaa4e04909475a5b2083b7511846bfd4622961b0d1170d36da74b451170e36caf460a3484cbd1610aa92544056ef867b1d9ab24577676c2f1baccaff71433f7247d8da36362d80533d748910e8ae7dfbf6df62710cfb154b8ce8f88e284162d783d76d06e3422b9af5fabeaf30550ba0296ae6546dd161a6833845f90ac45546a5c08bfbfef752556941162b225e3d0449f97d8eaa749ba84dc943e78cca81313e162189e1152c07300c8b3adba0d8033096ec2bced8c9ccc6fd9f03524b1bb47a3d0a14383fcfde7b9773ebb352e2e331361cf269754dd00a144b39737e9e9d57f2e2f43eea7c27004949aef39874216997d4793c6daf14b2dca1ed477ab56d9b2539866218866118863ac41d0fc239d3dc3c08415e8831c6188bd6e8a32ed62477ba0a71d6ca51c5ad6e4ac5fb6e64a0c5ca36ed2c188a789e05de7e3f59945f7c7c7580332ec4dae867a6d07bd7edf67b94ae9bcd6c0da92e6beb6f7c2d8d5cb91d73b63b5e4fea4abbde73eeb9876eaaaeef668c3d9fe3ef8e922edc5ee51282d7601b131d3678e8f5788f9b4599d7e26b6fbdb556be739fcb655b1a604f0e9fda2c3f9f666e9fbda7184e561756dcb1b55499636559cd791e75272fed853a732fceb3963940d6dc99b9ef9c311a319b4d58a75614b3288e7a1c75cf626871874ca8f32637cb1414321c836510101407c582e1409683108a4279aa3eb3107280a1241e9aa3318ec420428c21c410420c21444010212222432343ed16294d0fa66060b00189b22c0dd6dbc0a327285e9f550e7985b202fa61d8974f54e84ddafca91ff477d892214be57371e2e3e960983fb2829a5917d6aa850c764537536060acf6c59acde117ed43ad135d81c3472e9307a5139a0a576aa833d0511c05524bfc084e5fc5596202b37c0c3ec9f142013070245d7ceb9d80ec1c794a2589aaa37ec4d18c1cea509c4c86ecf5c11a3dd0e4b3710e4a3c7b14d809ee59a8dc14dfe122a4dade9e484d1dcf7217279185be7a087f43eaa3e63cbd87846b0741b093fb89fe7f9edd59a8d9f2ccd2f7330e939599ea4e33ac88326424c5a245533bb11617838b0364f8b8bb29d631c69a57b9198aaba46932f2a8c92664bac30246b01aed2adc20e703060cdca821f424ccdc70c9639750d68383c1114dae94e457122416017525cd2bbc4eac6479abe88ce87432859028083cd82027eb962c48067d075c95ada1da1787f5fea31e2371d29f5ba73a5c89d116cd4481f5d5fdbca021a921370313017d1a74282f45c048b21959b833cda78d023e99d261c4e89d92b4ab8a513092363b43586e9181b4176f06a09ea47587f6b7e45cdd6c05184d36a097c0449266a2c0632869348dcf8f15b6b75cdf92246b882020f2bd1cc9a2f54e6c3f22dc86d1850abe03908f6cc0b974c66d583de0d3a7bbbe4093896f3970a0db904606db272e73fb51826679ff3ff6947aa994219d2b1d86bf5517b58a20e8840a1d119c4378e5e26ecf1c8da6c0cac6bb6b2b780d2f40e574da2da4667365e4d288a1b8c488e2acf5a99d0a8a9f5be51976369fda1780e1635471bab18e4bc3ff15082d8719efa1fa1abd58ae8366f1a5f6759eeb6d09224ae8ee769e15a9db2f9654a529d2bc40c205cc1c1bae1db641ef83e1511d3e3b3e24139a26ab8a408072518481b9a0a23e046a09ac311a02caff880f20ee458adcb72605217cca0cea2ce821ef1d07ef8543a97064ee044604f62da2d9d42aa6514ee8c36bae13954dad75bd238d395b1e1e301d8f9e0c417fbd82a7ccb9866714d8d1d4f0618c5d5279ecb90a71abd30c7aa0dfd00dfc6acd817a60dd1339274c08584e8cbed6f6deb03e3171c5c9167ce58c2766ddbda90db08a29b1ca2fa738853d2c2615245207a910c633b2efe99d4d8333c5f8b609bfba9b037b725a577beffdea62fa6676c508c8b3d4c9e58487327e6e8dc4eac97c25d88a58059b67a60084a9bc6c3027036a3a1a3b534c8213acd527aff2bd3b78555f755fc1b9350aafa28b6c9bb2f213af14fb546bf6e67509ba4e790b150dcd917c2f451abf23f1a3efd35359004a242b25f2abbb60518c30874b8ebf2b8a8063d10568a06b4d2800288224d95073c641e13f123a13e6b26ac6a1117ea94606325dddc2acca5245db168ece16c706c7a8df22c4900c37b61a1650318cb0b35c739b80341973b2b397baa05fd16a0e283e078e7869b8a6349c48b1b1ac696f74e174827c603456187902429d14fbeb26ac509825086429cfd0b6c7e7a942bb33e184af494d3c3b07878e6a5217cff18f6056a825b286fb8bff82cd414f17df857d3cd5d0e0485e190e6afac66ee5e4d505b9674ea139cdfe5752ff93a071fc54eaf377ecdb9e94773c12bccd5e97a135e037b6f9663b8fbce5b98a33ebe125b364df1d4b81eb97f5eda76160d5f7c5e107f831469c4b9a7fe329a020dd856a68c32b59ba2c2476c3eb3d1f5c13b5a3c6bf4a7231fd84f7fbedeca518e76ca11c97281cede5c40f6b84af8bd5f20e4948b84cc634588a12722b26e10d4bd28746bc59c18db3d241f733c6b9571ab718f301b59703d9776d7188c7051b444e62efe0308c15a0d66255131f902d1f5213f2ee2640703ded3d01491475e549356b47d07b62bc8f57bd55b760a6f2eb14d8bced410ee63eb44b180488693d6ae92ef3f68c4bf113d113410a42b77f8034cd824d8acc0d45da9595a508cc8bbf35e9007323dcb9634c2ddcc0bfe49a85186172bf1c32321f4b0c8c5d271cb88af112426609742fb94efa401fde656112536e49e5e9a058a03c752422fe2a715976f1c7804404f129bc41b78ad41b3190cee75e6b02275a186e25a567e6f9044ac8c68cc807962ecaa099d124599b41a9517784a2a2880a2a8673052c9c170906055c211f21c92b50894eab1acc949912fd1e8160637293b8c1ebeb5fa2f04cb4ddf95c3b088c94d762126a7b864684bccc46be088f9ec35ccc824567a95632ba26c1dd661eb4a699108c72ced84bdab81c509b35799776ad6645ab2c73b04ecb3c3a8fdb710f295124cf1a255999a82501b2c8f5c5da725e1ea6c46976d4996f983ce26abcd9670b25ec420f85d7eac98cd11b36e4a94465d4d00b6cc213609c2d5c4be3a2c597593ea046263a1615d536642a72992b497500e9e5842fe98005e504100209b2378b64e5d14a810cfd4495e1662aeb8a6dd350b66388e868c94847396a24b1c02ef59e81ff1263b95daabcd933c0edf10493d8e2aa47f34447521e633d2eb60b887385f4e8f3d391343f15517585cab96247b38d431abef2837421028ce3948bf2478447f684251fd1513e40476b4d55c5d9d17c650b1bbc46dd20ca9be8ae9096456ee8c9e3b6583fcdb30d61044bfd98b0112731f73563ba842db9914b1744873bd05e927c64d532bbbf5b821e0a293152b90ab1266db41d95a6bf12813907e5b727a562331bf12b8f4327aa4e2b33e1b74fa32e6348c2326f55fc3b017a434b504f622fd44d1fd391ed67e9817c7575756c97a6d0d16fb56fcdde650cde568491b0b751352b6c3837471c967d3bef60cbab507e73d2ec65551509b2bc0cbb0f9cfaa3bd6806ec532610ce341e5968ead437415f3448957c06153c39af9b98a5e046b028f6272e81488975dc35e8507854148a6ca8fbfddac37b6fa757b5c6d6660d5dee0031f23f6db7e959875c4b71232a42af354c5d88637e7f94fbf17af01943949bf217c87103edc665c1651dcdedf0a033048ee2d80642732d7052cd5044a834881234703d60cb82ab0fc9f822502e3800262e78fb9d5d4193e10f10c61adeec0f49e2dcc1100de75e7bd7d8e576ea6e00771ac82c336cad1f340d199678173a9c954cf7aada7206d88449ddf9844a20e0dbfb2d84349612796d9bf8a69a1640faf8ed74e19d89acd3bad96ee5a65472059b28cf7b888675d717225703dda409a34fe2e842298b742743bff223da98e08e84817c7c3cdae4229fff79694548f5b82854636cf847e060122c676f6832ddc51f0d972b3dc4659617510e577fbac017411abbd85068dc16c6401dfbaf08a80e2a9c68d969248cb9b956ed83af1bdf4846191a38e9fba0601030db34deea0c4c56944dca5eabc6897babb48a8ff7251a5dc80c27616d7e1bd3796fa28d18d4c4ff810e7c7d48e02ba515a7a817d003f2233615af54420e56849b6dd9fb85ecb78b8b23a7bb37390e943f49e7d2fe04ee171d7bce4ef42f8f48f3318df1c9b448ff2391e81870ba650f9e517e6d66f3e6f8cd53c5acf564d97fe609ec7c5048611a79ea6e9ce6cbd336812af3db8f8e02d629935f261fd383b77707f15094ac986af1150227a56c38a25eb40a6ab12b8d47d5952d928ebd655d1a5cc2e0b449b567044f37a70deda62eea152a98902d2eb7bd9a855f1b8720b668a91a2660e7d7ec12561c80aaff861b007543825391dc70737b5bfb81a706186b1006418c27386e734c61bf85168fe5a18711a30c7d7abdcf8a071a8659734a4fe8362607b36d758c23b36755d9837486b69b066b6b6ee324aabf1337205cfdffda1d7f7bd9f6541a5456f16bd62024c6b459e8b8ffb9ed555207b048fcb918c3abd0317392b3f7b98291ec92c07ea5bb97be98885dd3693410e618cb8595f3adda9687980bd2eeda68fc87c3ace6accf4e26dab59672038a68cc2188d2e91d1e4b032ae11f8e4dd84df69132263bf334ffa29f7075deb681501f843f11959798f562b83b31f0b35c765dedd6b0d2dd0783955bb39e31b6055bb60a2c2622bcbc2768931955f82267d22bd4819c2cfc802d3a0541835c4c4fdeee6884de8e9225c69ce7d0342f02cc739fbc35ad0000b93316ac708e24d5f451ddb2b1a01aa26f304925d84eec5cc0a02477401efb3fc81a1de97811e341e7c366bbc537b8184cd45470a295bd95ddb6a0c36ba110fd15ae129f6ba59381ba53f7121afe9d8a34b1d3461eb19d4e6489cd81d5e99d907d804783106b9f0dda3c0ffd0c8f875718c84e63da4088ea2b41a1589609d2ab1d3d7721c4df7f8596dab7cd664c4e643b49945d3ecac714601209beef2efae27717936cd079150d8443688d511539ec0b0cffe821bf6e887220b3f593297aa8b4f3005bddfbcd540acba0dba4177234df6bce51afad82e6eaccea9cac1d4b3c721ccedad8cd01b463a5c73d68512871f49cf97b89a1478e7f2d2ce1beddad26744a14a7841581bf884c4157c5ec7419717f65a3c03f352f8b5bff46fea9ea40d4f517a383de6d4633c4b112457243eb70862423c397cb39063af870597cecf8f98ce893bafa0cb387ddcb504688f67c8d7250e7db7148664849cee7b8967b72a144aad6ab024827b73186f30f1e27e5b811b2db69bc94789b9653749ade6c2a104785569d4333143ef882a86a218d6d05b86fa549af8a02332df52a23188b5585c21765d864580beb8837a31b0a3ac9febe10bee23afca9cef4713ff030d52e612e640ca8dec25d923898bc96808497cd415a67921f4357042d492dbde6d9c19c6867e43581183cd9521af304d357f6f33f8c3a1e5114e1350702ff151f7c88c2e5c6dfc5d181a21e94d08d99c80301063fa9038caf3b75ebdda91e8861b2c1b23514b9bcb6d0baca35330e286a8e57d03a73cb851ef3bf0f7f4daf40e7526fa1ddb6c0e8c4a16ab3d0e4b67b12fa16e96ff97a0916623b4598bc702dad22cc999508cc4b9d64eb7a5c09cd6840e11a056b717221a2df13841a358c460ed94e04be27745a02284e6aebfe8455f1f31597825b82a135d69c0e97b184a6342684e5da1317ad4b77f4a738f1a273d723589f996aa411586ff708e7c090339b3a9a38d9a64725e605ba9a8c4404ad1c025769021e8ac0091a2a4b0ad8d923da39af5f2041a8e978df65299141791a082020b3865b985864767c10c66f418dbcff278c0373e733278249a8da04e42bbd6303192e843afefc0d144a76af587fa8a299267b8d747b11f1f190e06713aed840f9b0604ae0b5a296e03cab43ddf77b6140dd1bccafeb34a92b83730966d5258326a108768f699ea25407d5fcbddae44b5e789e93c78b6e0a14396d71db993f6a3e6e30f1560243166dc2bbd1e33acefc35c476fca8a0757405ace91a821e8d740f7d436c4509d138a2aa0957923524bad3b9c59437b3b1969f87251bdef15be5ba14577a292246b0ecd955b9a2cd2604f8ffdfd80da534f22b3afb28ddb3a0b4b4367ae3a3fa8df2854d295ad4c6dd3e56f770b2588de3ea18ac00b3c1a1fb7203dd9c36ab3746bb8e6ffa6d9ac60a8f6cf023091e9f4b2278989216a5f16575fb7b1b513dda01a037e631b918817fe262f94ed2f23b4743c9d9bc88ca59d0ac1a10a660fd216580756425d10cb0ad193c066e2647c1cdd41115ad8846afced291bfa26bb1f4882b491a01b81a341157c21dae77b090917b3fdcc6e93f6a749a5af609af0db486bc4bcc02f12e2a488dc634a1377cfaa9dc73e6a668bb37f668d925a983797fbec3fa2e9afe449423c660b5f1d568fa470b8dc25cd883d07102a7181733d5e9d03573e48afe9e388c40093cf9ee5c663de9ca12eb064e876f7e3c47d20f567338f6572d6e2e6d01dadd6875c5c3ec0a5a91987fe46dc0ff7b121628c8ad41a355fa46eba73f71175abfb4adb81a151daa8ba40717d1be366201b85d99c5dd760548d21080d11bb078edc29cce990a33bc04d3fa3f91c62bc43a4cbd84054a7ea99b83a2b937d2bad0f6526b3edb0a93b44173bcf248955acda36a0dac963f13372a6604eec3239d2b9e7cb803390c8ba1d875b6be2e569d5e63628bd95ddcc9fce35217b7d5c0b06c52a8d80c4eca43717ec45e25b494bc59922d60bb247c63c9700b842201fa97002041706c4d0762d83e0e1a46480d09c4201eb48007e6814243f84b836e20dad33f94ad0dcbdab0ba28953fa07350f7961ce2a43fac3ec6c45a6b64ef2da5943225912df201f801f30161c07cf1d2a5ee761122904f6274aa810bd8aa480698a9baead46ad0993a76b3f2a072277d326fa7b93ba37660b434b7d207099ddca4d0807626d14a5d2f5cb06041c2ee6ba6642ecb9c23a16b6e60cffa94367e999b4d9ada17c95aad368eb5da389264ad36da48b256b3e9aa476dd39a7cad35592347ad6dda66234d7214f3dbff7bef2d71a404a3a885169f754869182d177061ed7163da59a5a05301ca9b99a69a9666d090fd0403a37d86af84af9b278d2abf899ad53c1d67d840e383af89133fac38924a2ea739ad02b899511224b8040952de647e985869933217947569dfca0b278dcd9a0f17369c677996e7a975e268fb669ea70309bbf33ccf446f2ece195fe1fbbb97c697d66a2da6d662fa95fad75a2bf6ead529ed475a69addfe241dcead574f2d2ea3bee029a15d2b1a5ba609b4e56669971c66c6ef8dafaa6bc9937f314af23ea5a288c247461a5246e4b85e05ad7c81fbc036b77b601a697c47d69c982e5ca788764ca09211748d514d86c24ce0a001257a5341194b9243fe32421301164ad3356ca49ada0a2742080889b12c0c0d2d21680c3491940e026bc91b8280406e0a0e048dc93bd8473e2d5d5848bc9d6696a1426032a9c1603d277d491d313895b7266a9dc9b8a539204c9112355a7a3bb5a7134c14e00935dc5620a829da794139fe729a29649bcba9ad0020bcab3ac6440c9c8ceb0478e1a315a0443f762aa2c4bae8ba754f319d7afa3d351d3fc072a773eb9a02c467f7a3dae1e57af67f18f625007f3677cb97ad9c158cbc6568ae6ab068c850483c1ac2c9c710e0a5ae2ef7fe871f01d2c890ea5427a876eb52f6cff5987e4fc1ffafa3682c1e09d5eafe7177fcecfd5c3c11bf4afd58dd6593d5cffc7bdf80ae97925cba00752a9f4aceb6b31a86b85204e38bfe8835aa83ea9470752f6b1794660736a0b25a547dcddeefec5f6e6a4740ee28992e87f11a59426304b2090faaf1a2ea2b1e1214341ec1422f475efcdf90e12f4bf245010d01f3f7df8ecd19307cf9d7befb5439f3ea33aff3d3a738472824b96fcffff928af57540178ff21393ed80ca9d4f6fdf1098a5a5397751e5591f5e93f8d7629fcfe743a2c591247fbfdf99cf0bf1b0ce72fc7ebfdbd515123d66e840a3f532bef69d528d22a5fa0c643a37e1a6db649bde9b0c99d98ca9676ca9fb18cef9772809e3c8f28d617cb561cc564be54f1bfbfafd7e569ac4ef738bb36b518def37259a4e573e33f7dfb17996e5e3f9d9ef57f6b382fb3984d7ba070e4ebd8b22b0ebd1e0ca1707ce1b37a429a6ab31e5882c500040ac97a42b95fcc94cc9cc5a679c6b13e08088e32d191020603331b1b99d047e6b0a84a9319006cd193365c88c214dd334f553a6a1c15041578a390511e364fd0c2ce7be5bcd4eb3d1ec33949678ca325550b913d017487c783c9e0b9a13091022424954686c886620c2c2e3f1e6cca991c68499cd81b2cb94edc0da64f6982d6683ed30436a6c30fb8b9e1e3cb4b4b69739bbcbe6b2b7ecafad6567d958f6956d6557a9016953e1ed295bca8eb2a1ec275a5a5a63b8bcba9a181273ba3aebe3f3f97eeaf7fb1d394266682c8e0eac2cdf189f31e1d895cfe7bba243a7ecd7db5e663dae76d76eb2b93693bd4544ccd6da4bccdaf0b6b6b692df4eb291ec23dbc82eb2b336913d640bd941c49c6d20befd63fbd83d368fbd636b6b0b881429adb58e40e9d72ac7abab893f975b424f5ddc9de68dd462159906de7bafb6f9e6d7d6de6b6d0fb77abc356a134511635b31a554a424ad6e13495c5dd870156b0d8b3552c4dafedf7b6f59a3398916471293231008bc64e753adc9d7a465804060101a345864f01082c7c5404294d2e1c5f8029f0e7d910e2ceb5fc340d8eae2fb3e2c7bff6114201028c546add8ff29fd7f4afd9ffa3fa5d75e9bafb579a4945677125725a5bd14537cad37955eeb0c7fbd5485ab03c2d7ffc9f0971f7b71ce990c5f20240bf4fa5458b52ccb47a57fd6a22ef3b516df4bee2b4c6eab4cee1c9adc5522b9718c6549d66ce4be0180dc364a3fb392ca1b95d2ae1160490013b9690cc837e09e41a000b965e0c81d636f18fbc59e3a338b0429b8a54d9e67b4a85d001a9801d2de6b95101c48321194a64903d094c0d61440514d8125178c0c4827fd44e6f124dfd2f0e71c6d9269f43680b20dc87bedd31d7d03d6ac16c283aa834077bafc6eaac81047cf189e98170f9bdd6bc68ca59442718cc32ca5666cbd58c4302e2b079a69522f834757a084f6b732e77c4142f9a73def06d729f8c2d85e2eb43a84a8ddeec9ec2df940ca5a3ba5a581e9284df0373c9e52ce3ba1a45c8fa2ce773b4d667b6fae51ab5b7ccd8a072a77de113516aba66a9fed685261dd9045c0aaaa8b050db1929e34d1be86bdaa61d710a8dd9dd2ea4eab3badee9452eb6fdfb1fdc7f56bf55abd0ab11763caa8ca0d30db8b215927b41d3dc218e3776fb419ed455bd14e9455b611edb19cb3f2a6da35b8f610b80f6d43bbd026b4076d413bd006b4ff6c3f59ebacc57114752e7327db7ddcc3369fbd67ebd979361e2e2ef79cdd9dab6231d5c95ac4e338e23181bdd75a9b6d93575713413a5f6d65af2cfe2cea1f37869081237bf130d150079699447cac1231aa3551970deab77aa637bffdcf7ffffff3ffb5d7df3fbb3f91b7f7d629ab3d796e24ccc80ea5b491c6f9ea6b667c9dd23a74e608e5502141208d4329154aa7fc3016fae2c079e3466cf7769bcddb6c28a55a4e9d3ada6b287db3c3028d83a8c40c3bbe03f34700000886235110c3409ec5a9a9f401a460454196898b1011068bc6c1a158180a850481b020180690610000812108c2188a235a98f6f6246acd151c0664afdffa0a5a059eb4e577b4fb34e38290096120d206db2c97764044473b271b53caa8c98e338f3220ff3cfad4f2c5f9ac329300475762f1da96dc3b03f930125b8fad834314c1d09aac8686f9414381a8577339084fa97037d31c3cdcac658ded4c2e47bf83a33a1b3495433721fcad96e0981cd14908e2c9d17c8204a092292798ccc0a6598ca732a5256afd66e6316e656026b128718cff60aedbfe960ca59e05cf81c7675775a37acc24af5b25de773f22e9eb06c3ed4902dd72306c83ef585a327013560eb2e2b0d823855aab041c45a22d93c031203230e6382ec817ad78cf6200fd037327b83eed125df8d0e6cd5a03a1981ba47d6a22cdaf4eeab990605490a5e9b1c4740bc271f6ba43d9e2bec08e433d413f4eb87f77f03a7af4f5172b126f9b0d621b125a2f3d282cbcdc9f313409328c07de07e3c64e6b044a88e4896c733897129f88c0ffa75a5694d1804722e70a116dd6cc7b322bfb9f8e9b32a8e8d578c5237a088745dcff70a0f3d1e5cdca76e4cbffdd0e711d447ef22e2705876306c3812f957f13812d62a3b6f8bccde15d5bc364a0feacab5b3cf0c87eb38425dff557ebb4969d90141c7f4bf16d04380c510f1cda28c1fe1b74ecbe47e56402a1090e5a7c3d1f9c20547d83fa9bf967a549c9154bcc774aacc65b878e967acb7104fc852a56efcb0278b41017ce2b9f01cbc41b0e31d95004b1290e77bfa4c7703e1a78033de508791b48f8891fb630969dd4631d64082feef98020196eac3210b1eef4ad195048ddd1b2fabedc452dd70a30499d0ed38ac13ef0292d640139458cef1b408ff36ab4017a358b6c1f868a7aba69ea14ef5e235b7802d1ad8e0c9160a5e1deac5a788bb70c3f4f2aca932538948957a62fa545d6d9da582144c3dc73162007e56c1e6eeb152061e1cd6a5329d5b0e4fb30e543568cf9d8df877ce37493ae7ee3776ee3081bca5f2ad0dbb9b09c41251ff219ff8f5664c631722d33f14c8294fea4f3f5011208ce16f9ec3a8b332086232145a5d83f1b0231b357f5482939e31c8ebcad65663eaaf1a6ba71ba65999a9cba97519a437005c2c42b2cbed9abadd3bc0d11b73369a6f328a27eb21e4a1e69862a8c97e7aafd3f28cff2fc9e19cab3d39346946716aff8c1a2bcd4a73c8f263f2849ca0ed9d88d26661ea86a9e91c2a09be0bda83de325767281cd4d62beef0ef298beb5d904c56d73208177b9e5e678ee35a392971ca5043623842aa4baa3a3de6a753f61c8a019fdc373fc76b8a944d2866f8e460437d9ea5535187172c33d9e05352c444c3b32a27d1f412f090719dea6114b5da1c7bf3a394d52c1fafb6bc92bb873b659e69dfd3e539cdb878f56377ffd4fcdeffbcd434a0263d6b0f8a92309e636f90cf9a5e3a50fdff232cd5d0ce5053000fb32fd618afd91f8f3be2fc252c3c2cc05aa05ff1a428c836ea90515781f59969c0f8e1d4dbf5fc0f1e879ee3de6ecd1bcb7e37d24e73c47482357eda5f01d1839c7506622a6a42a9f99100d921e6ae6a8466451663feceb0a2e69fe687fa8c749135a2489fb0a6a927e0b2a46c8927424eb38cd3b50e321ea2b9af451d2ba11b6cab654f247d406adc61659dc8b5dc6bd6bf9ae50e1a0ebaea68ff4122180887a447f1a08fc7ac4a4f414930665450af908a2821e7174682213185374ba611866c9606d72f885310cd3b16974ce33be8e4c62a8c2089cba853c21da7ffce1c951e094b5810848ef0bb0ed3ecc23fc30542431a3ed4be44355890e7aca8711b7310784862e7dd884ba1fa672465fcbc3ddb2712f95668a7d274970b981a9c0825c7414ca943bb84741ab22b9788a376bd17fe83056fc1e05ebb06a5ea79c5af9915c6a01502033150a50241f591513b4b7e8020c90f9fba13137aba21cbe014cfcf5086011ce298d3ead2a9dbdff57c8dbad1f5b453c0efe2b2b148c3461b7aab348bd8dfd03d9876209fdaead428fdeb7d24abb138f7e152b83fc1a618ff35784edb487af5a2c3479262c694172981d266cfa2f968db86224f6bcbb781c11ceeaf6d258ac55770918f39a1b4b9c4f2821ef1bb396913a309f6391e3d9c88faa6f4e4813a8a00982101b2e3a328fc74af1eb12829c1eb655fee0bf95ce4e31934be9e41c3f42ea3acd4493f7be307a8d0c3bcde44f645e3d6f6d3e52b0e8431673699237264bb61650aa66ad715f4c80510d10ac6b77540af0b377c060a86faa64cacda942207cc918048ea9729db79201b34aa99a7a7292016d0fa95a0c9e95cc2885eaa24dddb6b21916362a707c832becce3f8c3957614ec4723c6f6b302f0aeb9f8fd6ed64825be3b6aff25b1e748119ddbe801ada32c272b17897184ff58fb0d3aaa10a57845d5d5ea3f5fbe5db8ca3b097f4f53ff41d254c8307744e4246982cc3e114cf3aa3275c641eef6a92d00fa739993440542ca973b5f4eb80e98bae6120338710c9d7a1b7d1484482aeb3ed171fc766436810c1a65622a957d9681aaa1a8345c891c930ba2927aad116ca7e0e762b439b8e0cefab433a17b207a9bfa3cc9ae998b30e36fe3a0d998939647ae133930fd9f46547fd1d8ace0c21d329cdd3653ac3d8956370968729e825bf6dee372a26851b29d976ef52c9224e7dd2d3e5b58197ec49ff6e1c4cc67c196e50ececccfa7f42bbbe0c17147d51a99e49d790835c85cb9171e4fa306c71661648f62a7470c1e724bbfcf7cd48f798fa96ec75f99f0a678c33d92b26271b26a3e7333d41a58ffa4c75c6ae347cb1f173c96bd300b1138d11cf7cb2ed5ab9d602783e6d4da9d4c1a36d563ac8c905e9637d66daf6bc795e64dc9494c7b61a77d91f36eda5f0ebb8dab4c92b5e370df41858d734a66ca77630dedbc92c7fc7bd40cbdb6904c31b1241d2dd8b23cca0ab5e45ad8ad76a9c85966515553e64a7ffc86f8a633da2aee12ccf9b7cde9cd3a69a5695ae0fd2a1168c8a6ba95fb9bbfbb383996804b9831b91db511e4ae5aa3fbabf66d977e6f41779c19cec75a27a5854197d354825a777d051b906722fd915027d05fbd3b1bd83affb11f37b1176a6e5a3a23ec4daebe3462ec6ecc587128d65ef56d7d74fb3303251befc0fec65c65565c23d65149a250b2bc9cacaa151e1c80f3b9b5948e5f323faf6eaffe150715e1f7dccc26e105f34389a3c81a011b36843d867fc0b099328ae14426833312198452f15fda2c20798f16521fffaae49a168f4cca1965cc600b90ca10d92fb5b06535a432e6d59940c915c147fb3ec9bca0ceb9065a830ff61997045452e634dc561740f3e1ba6c431219707b11595c96c132ece0663261fcb76ef7e2aa953210d93bedffae373dcedf34b3f6385ed7d32cb5ccb3257c6b9e4cf3c9f818d5b798ebfac5bcce2789738f3cfbf520c1e977e81a120c7853981f906bf3d957bff44b10b62cc580baad575c9c6e395976cff535e972b54aed9e6dbef7f416b88b978554926310ade33637b547b6592e98976519210f26336159e0b8b2610cd771c69a3524dfa558a3889b5a60c2e0406e818fc550ad6c73f8cb2eae3f8cec755a3fe13b92b5735bb2517c2280328cf993aa9e3214c15eb9a7aae1cd8a65b2770c62bcc04d7d3d7a41252350c5043cb9cde38d1cdeef0a1bfa373796a1c61795a74138be762f8a6d4b179a2737d1a4cf2876af29c94ff1981ec1d4caf014f88e5a009475832210fed1df681b0c149a44599231b5823414d2dc6b21a9e238cb7b0c2836d2fcd799af9bb042230d5a0224a44779864250b1a3fc8789188ded740b50449a27d54290f602f6d3aaecaf4ec4b8dbffb97db825e92388baeafe9455ec6c97cebce225873a0d6c6a5275576eb18ebe8c0d054f49d38843ebcd7225dc9d8a805ab0cce8776a23411a9a9f894c97a62d35e1a124d7bab34336a8770aa44fba7cd4c13a08aa9ffb6b40967bbdfb214db85bf9eaf87e2c61d057e553b63b91abd28e5292c74cb12e34c30f7607e1c123ad326046b2532b7038d2f800081b61f02473677fd861e831ffd3f5fc93e1962e9708c500d6f4d8669d0c5499f60d2d4f5f35edd9944522edde4d7d90900b05a2e6ee5a810b08fc9165be0af0940f550f0a358672fda141aafd6f27ce988ad929872fc7753bffc40fb9774127850a01d99bde5d7726197e213b8592eb8aef37da3756ed7a516c2ae4a0395ec934e3734505432b2d8a7e7544e364b581dd39cea51f7a2d66650a233afb5e0ee8b78d25ded9e9677be80efff4bc1fb6d947b8371365ffb69f1d83e74bc3abf35ad633c88f2f51bc364727af1fdcf023a9608235b0306f8d79a1ee1b19682354cf5d92c8db479f3dcf0dea95a7027be4d5545547e96aa2640ebb72e3416533e2df103d7757875a90a0e4d31928f5a67224a35896bad0a0bfb0dc5f7ff2f0d133f197cbd4bb3d050eb9ea989600c8fb9ad4cd67236c523eed247ceb879dc8775f308c521256f135bef2675a4ddc4b9b34e31eba7d7aa3580c9baa12806a6d8a4a8d68981cb42579e8789719d1b2033a01aa7080691d88511d0132c0d3086103d09831e2884d06bce202f6e96656e7ce4023b47057ef1e6aea66b7241518e6d095b14d988d65249668ca6294e7aebc905857ddfb1767f27b926b89175e6edde4c3d84eacc66e1bea0f0772b31bca0569c26ff02d394886604cd76f3705dc3bcf7e6ae5e7a19fa4767d1efa0da92daacb9fb1902415e99a310712ba092125690b62d3017209d20fbadd766d8ba5ecc919445ae5a22355485bcc1f5b5960d13ddf26caa7edf0fa745cd5a839e26a720f6fd8db6a309c2ed9aac036b5b2aa2d96ee094c99f846da62478b8f8c6e7e8e0da5b5ca7fa7d4b6facce40adb7db8e0c0da78c55dfa855576adbd970d0eb3d488ab17d56f617ec026b4857ff65edc5564e0bf830e7910606af7d08f4fe6181873b614d0709f0144f42b4d9210275aeb5b31d5037832e5fb8be993b432ac3c284bd09a857020d5ad0f655c62b2a0b0ede4bd5b49cc1727806b6c7c043fb58006dbe6ffd4927f8ec4143d3f3d97d9077abec28d635c49387e19bf04c934bcdfb4b574f05f19335ecbed1407c42cf40a12402eaea0f1c9ced03eb1be8296719c05f89ce7abbdfae5486fae48639f073f11f332199ba31262459e2219f905416c184e7ab4f556d1f4e6e9f6417c7f79e13f66f263b5c338689ea860346bd6bbbc19d817b7c6704449cc6ce5d9ad565b11553779c64eb623f0d589d1027b186e183fb5de2379770276fe19c6ef981d38b80a13fe0e7559459419d9eeaf4f1fb7f316f014d4eca9df9dc83360aa46bfefa35fc8cf5fe82ee99d3e1140ae8ca5ba202eba0f2f13388a7fdd1b0600263816505ebad82425b14a8073e3dfd0a3125d00c44f10966553167b12297630445e83213b60e4ba396e365b73461af97ecefd3195366cd9a3c975266f2605a4d40a6ad1e8e089a1509defdec0c3322130e942d9bb1acecb67c7a97226ece796b1ef1a6e016ae1f427ae7d35a7df339b4cc68e54367bfcbe21f6bf63656c551b92c0594693850aad0bb98c537a41c952b341b0d1c79ed8d9c21ec06fb75a2b9b42f7da31acff7828048829592c481e994602f21d79e97c50a4176506de84763830bf92ba1d7379d8dec01cef07c5d2865cdf7ffb497da7beef614224c306dda41805b7dcdbab4483bd1160f0eb885628a92c1bfeddfa9d0e8b1d2ee42c40356f69a5ee5747946d160c765e19c07f9eda1e737317c1082e9829c69a208d42a4694c81aa7044d9545014897af408add3b16d726d7ee5e57058d0aa43458314cee20f61f408780c8d06b480e675274868b1c34f203986395c1f720059e8389e3aea2783c26701cb250c4c30cf7a211aca34dbee684bc4f82887cf2939300fee43a0373a4bc77aeb25fc5e03343c902e2066dd87515daf38effcbeae6b83af95127031fa0fbd4038277f49057eac7a6d3e990bbe3c205970b613601733c1ea4e982660f922068a9e0803fa2fbde3e45b0c161672c0bb650f6710528f05c672e1748a3ad3ae23d048689c6405014a1688f17a144428ffbaa605847b1c190e37adaa7377ff73c8a201454375f891946c6075051060d2239bdbeca5367ccdd9636e3cf62ff2d7365e873a78a0565a81aa9cdb720c37f199f8e827a1f3ba7d0842bfbcf84d748e1ee4b6709804c477a5b118ef8d0e343f6a651640bbe1021267c6d14898cdac01937392d8bfbab331923100d3163bf07fe2d769eb1726ac78e3d03a0fa119b18307ad41ba5fa79d184ed0baa7a20f90030aa7cd50f99fef05b2e2f662d7032f9fb441adba238b73e570f4f5654f75ee8abaf2ca2331833ac931bd46e3e8db91b91f5a650a1e12d78efc74760aac3046b5d9590fe691dc6c574d2b304c022b38460eba1ceef709a9e57eb32602d8ea4f5da06833ceb9abd6315d408755054789774266e071d1d73060e78470946d80ecd40a4f38b5eca6f87693ba243e8360fa088034615ad15d5a602fddc3af7db4520e131f9d885e4bd21ef2191b31b8c3c4e51ed3716fb7b6ccde392bc581c65d293c1becb4cfaa2a9070c1c1d5c6e58ed47723049cb4f20b2dc0402cb0b48854bd39159b91b07d513c5e4afee5952d3bea7e36effeea7353ee713db3e649a74e5ee158a015d4ad401f7749298af8f59bdf97679fbac3ce625d9f7f1821b05029a9d1c60ec989dec186109cdc16c768f2078b8ded9057381eda96442ca7046df502c726151a9b0053f9cd635bde1a15c22fed2afadbd50239e7ab53aea1a601dcd24fa546c6774653a5e7ba071f460e7a992dadae735415d99d446ff539830313d6e86738a86ab1659c7a70c3c8749bd9243bbde14db8396edd26008982e0f6abb3241edcae6a2b7bbabce659f0e74fb9e864919b773ae54946c8d26f96cd6bc9d9c77eddbefb78f00cb20a0d3711db15ec1973ee1fcc2fdcf616756e98b04ed27484ec4a0050029e8a130a94341e23b141b98664d41efe992abfa52017f74f789ca910ee81e908c04d5065145cdc7733cdd091fc03fc392d7b4e7c4099942de884c25473811a17e7e63c435ea82dca86492dc99fbc1867529cffd6caa649e1886dad1bd2bdeac3d82fcf5625be3420ce4a2ca7f9a822a51fbc12bdd110f9b5bdfd5ffb818b8b5462c6afbf169ce9fff5d02107f1fd70f16eb2b1fafbcae20835bc09aa68453706b92fe2d099adff306e6da41bcc5f03ac8208293061ae66c12eb87d894b93311d1ccdcbdeab8d809b294e5143cf3d15119b23d9dddbaf67560b07d7aa5c166d70800f068f39e6075325d7f17cc17fa49dfe86644aab10bf3f13be6497f1cbd0de4a45d9be37922e4e4663c64214852ca0d39e5a6f39b01b41bd7d12fecb11feb11f055017153b2e70d1aa55e2cd98f06c2a0880239b8b018720913252c0384ffc788c5496851c541a1aa4fe4e12d0fff45e056295d6141348711ba39c776a9b331f15efd354dbdbecf0cd8987868c60351c06e09b6059c7fa51f1c5e1f43e9d00b9c98262e14dfab66f6d62fd844d86dfdfc5dbc74ba707a819fafd9faf048401759425a60ae679a63755fc8b50c5537bd52398588d20e1772e5f2a5dd7b7137a014f8a6c46aa91c8045dce1087ea2058f88aaf638c7b022c3841aac808e0864e0f52fd052d037f12f21d994816a3e573bfc2a13fcd19b8686fb303e3cac16eaacdcda4a1286ea7abde604ff6e037f7ac01d30e0da3d120b3012b144b68d8afc7260348fd9fc3e3ef7b5eb0e2f28d124f698a5aa6b8338ba7bb0ba14dd6f505469b35fdc19e2c61e9efd865b4bb2e362f20290316c76386dbd7bc79515553a6139f43f422902a8e7109c48c9cd2279398d1305c2e0764e1feb5f90c2a0dce77d5672fbc6351bbf5636033e460659f3c5800674427485ee9c93ca12c5f52f622024ccbcd74f4850981b5ac2d8546f7ce62a5dec7082b5d5c8514a55595d3361b9c5438152fa65178afbc2897de4480fb8b7d142bd7b7669e1d0b2d5f18061708c853cf9d8e6c0abc3e150746c2a090c7cfbdecbc7455844f78e89f643b46f980af834b1aae23b339c89cb4a1607da63ece92e59eb5806c41762d6010df470310f54bad649dfaa268cd3a5980a9d8cf38cb92b80dc2d3732f78746865c2a3e8426ffa574035312802681f8d9a53c929d2bce85038e2145433f92f58e47ae94453dd59dd1ae5df080b275c164be2628ee9e54db01962d5ceded0b639ce0eeb0018d701e7e16002c30c1fa8cc6fa3c0035d0dfabcf1a9dd2e2a3a142a4b70624ecf3348ed7b434ca940a8f28b67cb3508b99903d2004e6dd538f25a071ce1c99dd8d3ab932fd93b97846b0c225d654515a3143bf7fc4c4a517d5a4c15b13ba561d0f576aa1a5ad66aca6341cd053023014e48c9612b5d722a2ad53c6a530bbda6eda19132a0094b78171a0be1f4719054efa146de7c4157be5a0860d83182f39d849c18142c6812f7e571bae6da359d936429a38e0c39ec5170a7e20dde5dd2beac20700953ddc91e6ed656f4c1e8a08efde7e40f39cd25238ef0e977bda15340c0faf3867f1ac6336b11edcee22cee11c1e0b4e7b98a9f44704d5909c1d2b6ee455e919b51268d5017a9c453f9ba1218274f8c9026e9cf2952f6e2e33d4e3675358f3b9720310b56a0089149d00f2f9e21b17e2bed3ebf475bbcecb8206206e8d56d83fe37a964e910c3d0a80ada1f8493f31100ba8eaf266e9f74d861422038d3d825fef1c0f8f4e43ab9df5889f78c0ddd7281d9036b0a07fe7b547dccb286d673bcc71d2219f12b353b19db1044b0a8ed4c1741cf24a61a923b5316a565e061914ee04ba8f25a6f4e45e60a089d1bda915c90ffeb09ae67278a3a65e11e270ee3fcb747cb42942dbcb6115906e01619a196eea01d3b3382452931248096a143a474194617c088ff9be0523785132ad2048ac235d1613950ee7cf42c4c0211b4b0e6536c099bcdbf3ef85a5f5b6165d5d56739077cc887a01639e8efa035fdf8d5c338036a3809759ac2bcb070dc2006d8ae30101d5c8d97703d68e0f2f0f1907cd09115e0f7faa264547c8ad278e95c4fe86c28484a3e834c350db20af231823f1c0e37da4cd890495d844dbdfd871be322890745596018e37dfe437ba4b9cc322293255d76de280f0d6e5030194e3c93a431888fd8daecc8d91a6f6aac8318edd00267dc65f7800cb46d4a4fa6ca06d6e4cf6682bf61ab4070cbbf7c92958322aa86cad26da7656e4b8e769915f21439e33894db21763eff338b01903c0970f1cdfee1b7d211e15c1493598da247d8c082893db8a57bf9909935f42b2380be9ea649fe540c6eb6dec2c04d96fbfc84d68a62840f4de62b7e3f79f1e9b92168612500f7814823592d5cbac95561e1922ef4af2a3f21025bf647dde88ad7af6b0c11719e1ad1f7fe175f1909494515a11f732669578a2949c2516f005ebfa51dec40e52c530ea57488abc858370824a324e5d68d1a8e21bf0c174c18d44f281a26854a5fc942d287c90cbc76b7cc082303e2e37e57636afe4a0a99bc36481e0946b7124dab2c44d1524f96f76528a8881546b1cca37be5f4e5d86fa53198138b4d7f42f0fd2f829a80e3c794fdb275c698d4af31a3effe5c28f531fc6f32c6af4c7fcdf9e52861a0f2ee03f0811f918ab2f216bdac2f454be40b79e1da3db109f96f610f3bf1ce8f9b0866af09c042c176445265711e301cc00ca2821c0fcd9f946212688b2596a31ed9471e80abd803497fc08c79eafa93d944b81360e4f6a01bbf0fa014d8f7422cd282955b8324f755dd629447ace421fd9df7da9eb8c6e1f1b7c8b8ef4d5f03c4972e30dae18ac44957ad753c9b8275c36eec97e31fdf2adea6e67ab87fe77ec06898fcb22fca72ea8f32b54f40a2fccca11f3b62fc607da1d923a07522aefa40715cec559f60af7a45e2d09b38ceb7aece2115427b15c8cb4e483c3fc96840ec1a7649f105119750c93474c9ccc85cc3fb88a5454a301038df1a3b81b294c1cd4495669c40d44a704d7efd63cc3b9cf871d201f9baed5213a877c51eaa98534504cc8eac4104b4bf4ad08acc3f1fcf7cc89d10444692df716747d8b740d4afa2e3caecf550635a27a45707489db25ef23fa0dea01f489025a7cbd515b300e4ad201b6be59eb80b507439ef7c4f4100fa3675d1789662b1b07e2522af92702b7e6975dc0d89f30737b4e9868306b4977e857cac34f19c5129609a61c073811e5277b5a97472f94687f03b1255b33cab65bee8a888888943be0043d051905e779fa969880c1334d6beaade2c4caebcfa15ec2f33cefbd2f9d6fed85c1cc178e1bb489066f566f1ccc64f584657959646b5cb55a2c59267fe8ed070c36d55bc5d55c153a2fa5377de3758584a73b4835dadff8627c82a5578f57d553e336695e7cf97f4285bbc6de34eaeb45be4a927cad3ea9637f1a344cfc356bbc3fdc7d657e1c9a4e6d47e79b67d4f1cec295bdf79aab6dfebd5f2ffe736c9b63d66f8ad559ab94f851aafec79406bcf969278f428520288109b5c4cd127fa3c4577bda21e4b1393c783c128d4474fb865003a687344df082846792284d4df4a082822b3dfad3dac5d69d43eaa54713c75f53dcd1f8d6171f181f5e90881205cc0a0d2fdc9024c80d2bf4c44cfc0306479c436af479a14413b6e34372b1d7765ed48484185757b7b74812543d14a040ae2cd68ada9a355d9525abb51d183350154703e9e4190d878634ac440021cf6ab57dabfe359360860a268345424bc7cbd461b65cac1977b657fdcbc0a388338af2ef53a85094f1f87492cb7088bcb62f4e9135d420377b86c9556c31a636ba821f2749ba83e6280fbbb7b913ae5a2dfada192199a48ed7a3387a5bc2beba6b2fd76fb948d245b6cc9779a343ca3268b1a228c8539132ba8123c68e111ec5f448437ac30909d20dd11d25e2198934c4307cd7900ea141f88cde36bdf5bd4d535692ff26e7adf969bcb44dfe260db3e5ca646b16b24ab2af7aeaa3fc3fad6890e54946753b9e51afcb28928ade6cd4f0fd784565213bd97befbdecb25badb2b56ab5c8ab72b9ba093ba146d6abf4298c3186c9c8fe6febbb5aff2573fdd7abf53265b074abcc79ebd92db716b72872916fceb72eb72eb7ce3a7f9d59b5d572b95a7775c90ee47f395ed5b8227f5775b23c7954aa8f7e08208a02c2d57a7a7c9561e301a71816d874b69619b3c9a1c7a93a5504d8eb07ef3aa154e4b734f74363467812dd5d95f11f70c2093db0d89fb1a327c709828eb8e5d887c57e2983992e1d28d9cbe600e6a5959662bd34eca938c79c19234426c763bf8f915d913bcce24960a3471a76b1f79102396bf007209b7782e9a2d4843a9582611f45918734008534001e0883a063c4224f4f40782ec3fbf29f580c7649305db07f1383c1be96a25f31cd37cd7e1cf6e7c0d1623119a71952b68dfea76f639a33be1f5be5477da0144b467d90a8ef59b4b13c79d90d1c2919b52b92c6439d20d654991778fb2136ceff52fac256e446f1f5defcefbd37853226376334af6bd5b7a27063ed602849077fadb58ab4ee74423457fb3bb45e2d44daa9b5f25f80cf4550db345b494a4a7a92f4242949494949dc414969247bef9cf7ce3949f6ce49b2f7f1d2f0693c8d63e5e3e9d467bc2ccbf2622dc38f1bcebfa1d6b726523be65692b49f3aa522694fe4a92ccb3245145f5211e7c72c4f84255e703c6270023529f8113619f9ad20a8862a37248980af0828b8d424890dda479126ad2b4e9e5409b384c2cf8a0dc285bd9db6c8399ab675c757fb5c8c55a4c0f9bb9babfbcd5ca3f5fdbdb561dfe6c5d8be5c19d3f89bf671d63a5f94d729713cfed7a47d5bc719398b4db3b75f4f4d9c98bdbfef7b3fce36d3ccbe7b9ee0b0d2b8ff06e8d2e8ad3db49656b1bdf7da8befcd64a869d2a270413ba81c589dbb016e9173346d679f8c2f0b91f3c0a029b162e7285131e2f41464d657cbf0cc2c65a79ef33daa03c0cbd60095ca4095ba59a9622b1b5687b5facb659a2ed8ab65036305f55b3b82b5d65a2b3e33485ce0a38a9029199821480cbf2a404091a48568ed5396a911d23063d454d5942db389fa89c44b98265ece244dd4a0640a8c1f787cc4f83ee7921e8a061b44df425007a71f5ac3c065074312ab198a68ba227aa831292a40b9639abe863b4c69ca1f7cf12ef08041b6f0d14230d6ab08912f1015c078857a5bc41d56082671af8391157b861ffe7c6185ebb34a03c59316b84051a68a8e992041ac59820b192e3a852f3c2ef7aee8e2290b46337c8589a7f7089a1cbbaa452a84bef7553d5bd8d281f7818ef0c38249739418b285496a986c1e5029a1d3a4baf75713e88df6ca57dc8f91ad61ad35e4a93f8ac2d519ea64812814f079005dfc1056229d65a5af0c539e4e94a74daeeaea0e20b922a10bbaae1402145461b202830f3e828c90d4440f4d2da0c1ddd0b3356044e4470c53d48461e18423546220b2822282248103eaa6daa9a88a095e11965e97dc8908924f75f285f9f9804bd4166c416d1ae256066799721706a1acdb6bf68e5fe18d668c8276105baf4cfad4cf80f828bc49fbfea790523e5ef5555ffd55600d9649b51d9fb0e785bc6e57ea76bcb2570a95ba526834f343a3041b67f8ebbe0e1c813a7ee5060edc2d0cdec49dc8e346429bdf703921bee3378ee3b79c9413dae972ba9a81b9299fb97a61b0d9ffc9e6fc53ca44f7bf46bd2b03066dd30d77adb7416a51e5599ea5affc95c032be25df10210822b0b5677f4cbf1688000441e011b6ca804bc133411f6da26b68d38d7e8abaa16eb81cfd28215570850e381deec8481198dde219ace8a0a49f825003c02b55ba28efcc45e9a26c65b0a2d2af537f5fc5764071010a657ca4d99125fc20b58b02c80f8921a70d355a25a4216dca7119969c500c65212f40b8ea2378a299e28587edf62bc5e5d86ed4be44d7f32b1e9a0f2f0d4325bd215d0d713c48a7afe230fd3769b493e1f1f9a99f466540bd01ca9fe620bb8e3291d51329e3f41c990ee57c03490e3140b87d2628872494e4567b2a8c50a3801384ed068e1baef28fbffdf58e80cab8e823ca7ec6ab12e2451c7426a386ba963c3c84754a7c07f5522fb912d02734092ece3a7bbd394da726c6626aca7dd27961f33140edbcd881514b5d1c1a0e0e8c1b22d334333663a525afade148bb90b1da727a3e678c0fc7cf6724e82bfefc35cd06ebb099c1c3bb77be2ff0bf5627725802ce60746489909ebac42806483a24e143911edd0b89b092821888083e21c34d024c4b5b70517e00c1128a5c841d0f3e44012c6d22d559665151781f7bb1789b373fed2e51b3f8a07088109d9dff2bc6f8566b6f4e0a235f5584085b6b87ff66111f7e4e0dffa7d576709958ec26a68ac5563737a5cb84bd582d9bd2c542f93115fb37b19b9b58bf7995afd80dcfcd0dcf0d4f0c9e174f2c7613b381992ea0d6ecb3542a2168e4c542a5b66136b3b5aac552362e56c87b912ad418ebc17c8a6754c413c27371b5bcf9af1bf3778f4a8d31d58d19537dd8cc06a67a9140821851e182e7691cae873c232c4748a81ff026e14043ba9da48655785e6bad32cd970d49be4c578bb552950044d24071a02e2c99e4525d3f9528ef33f2681e9f1b3878904edf0f186ce2f9c4e0f56a6e572f26d7b2f4b4d292657357be7ca5ba8b3451aa9c73be363058097379d7aeb4f45ae79cb39873ee5a6b978dcdcbcca12d04e001cd4581d6cf4047ebe778657013f6c4645a47ccb481f9938d3fb96690e5c953aa4a15d1b7d2ac9b36fbf6a36c39a767fdd637619bc76c9d3e6053c555a15fb0de6aeef485a144775769bc30bf08afd84b2605f68299656996e6b789d96410680b5a65463fa050686a97ba6705caf576a66a0ee6262c9b62a1582edded1d3da01f2d65962448c0254b4684527831c28c0d371c5c40932f92dfdedb9b3d6bad1614602dba7a894e2d43e24fe7723e8d68f0a70d626c3465a394fa7ce62a6e227a4e6fe21f7b3c5745aa67f501ef45f312b23abbb3b9239e2d2a759861cdc6e14bacdc97f6edaf939b2449b24bcf8925fc7266117fef7ebc618a6d1cb728ee2276defa7399721aa1f1e1ac61cb69c30b389796b32fe2484ad83baf20b1c32f2999a58771a0b4c9069e26e9cc707aa1810952d6b11006a5190aa91219696a2a146e7b7b6faa5af03c6ee60b14f3b4a6393619adff72d99e6d598923b6bf8e168bd49fa460de164ea52420cc7c0de73af2d7d1286de267028e221b6e1468df92d22c09a1b9202a94b3a3c8af8e0fece7fcd7806c3b5cb330332bb73af04c07d759eb1cf86f12eae55278e6b8153e78fb71151b3eced8c67631c69fb671100804d7a208a96633c5d17b85edaa6061a39da35e5f839b1abcb5186b4ecb76ff8b73e92671f7ee462a566a2fb7fa5e9f73cf19e31238508199b5dd956fd18a7c441da134674a8386507aafa59452ca819670bc0810edddd8da9ef3ce61ce5a89c61b857d39ef98dbb009c23d8e579fc4916fb18723919212d20f4a4ae20e4a6378e3787461ec5c9aa3399ac334dff81adcb83718cc414a29c55bbfa8e9305b7df7c6b3183a4734dace1c051ee77f8e4551898f99a678c795f763ef9bffad79ceeee11bc726a9ad871809b03123c986a17d46989124ef57f5b02dceff1772108f02a2e477951d3a8827cf6c2b5e7cc19e511162046a2efe74e624ef7b548c442ab90c85e9fda899fa1642f93cb919d9fc88fa4dc9c9278aef5c2188cac7c9af6691b8d9991f0ccc084acfd7d3c8d1e9fbecac8f0cfe870aeee40153472ce14d1dce11ff9bb8ada0040ff2a820f418301ae8bb0e1be8472c7c8b7735c939f8ad44ef7c49840fa101f2c3fb3d61640df594d64e7f95657b71aac5bd9a5e5408d2d7da5a39941b8661185e2dc317e71ad67056ab69ee8debb53026a83963da47763f6d99def951d9c6bd536bb5fdd36a2064fbe96837dedca3ccf33c7fae3dcff35e6c6d3f1687c0ac3b0bb36e90c20cabed0261f5fe64839d39b7e9c393ff48c034130ab1f7dea859997dfe9443bccd86e31df23c1ddcdc66ca6eadb4884b2f1197173b3c03c030d04009f4dfa020d04cb3e81b32548c9698ca585922053429103d11431066967490a6bd2638d249957e4c34083e21c914225e9045899022403ab0840a2b08a1504549cb0ab920a153caadd61d8fe67af5887222223e22332f5e4faf3d94287c51c404c06f2847b6bd319a9b65e8c196b33d137eb15c52d4d346267739aa47bf5a815844211d0b2c3e42ac6b3840640410302401c58834363030f8b1c68a1320376da45f211a4857d65a9180380d43b43f90b4029316baf4a084131e227e2021440e62989ce822d98fb4a7745491ea7965884b573303d31150881140296411192162b0e3f10452ae76237209ca0ffbc4ee7431b2fa6b7f22696974574dd349916ca794983bd600d184d4827692f47888e30bb6e81d66cf9ba060e31cef7fbb597f69616fc8a3f76baf759f43465ed8c61b4cfbb39167685fe16f2da5b45afcadcfc71853313be179772e4d936968b5b6f60828cc1512264cc48004298632482788b23484c278b313322d717486cb8f881d0f234b4caea4d1a2a5061f88a041c56010b239c105173cd102e464cb115618c0450920257ef0d024831e820426b4e48583f9ab794488985d26e5f2539258b415a4050c2b3c010705c80f0b120b60403285052a66c0e49230e1840a579852373b1c9456ba84e56c6f5de8dabc51e79b2a9b14222dc3a851f60a6f421ed2906680281db83002e88283239d5e4f478783323f0e36286ac1e3b568b10119df063943349d8e46eba48ce69460c8f224b10c394c42dc04f38c58e419d6717c6e99b862c4518153cbaec34378670280059fe19c02866c230162b87afbbfc505e854339cee539009a0cd1aa0e4010e4802811f24b651c60bb66db57f800b36bd496031e3886d64c162858a4e9b3ae08173841a3ada5bef23bab504faa8a28b54a5faf409f1973936af22ac71178e4e41034929c327d942b1329800100ae06c15e835547fbc49f264aed495ffd44951e422ff25ff9c7392efbb32c751d46014bf16bfe86d5b14f9de5fdc22b7008f0cd8d8a1810bf4db06f606a18b2eb5e8b20b11647954aea937525792a5165bcd097daa85ca3a030860c27085808119fda5af13f0b153752aadf6567bedade15c330d332e7142fbedbf59aaf14e1df13675b579d64231d7a93a6fab6fbf37e36c5bc6b88750add5bb722af69490fd2345c0a5aa2ead354488f4e8d1a3470fa51e2af81e29f468ad21d263c9c8452aee316b2ee2bf315e2d75728bf8d783272f66dd3bca7adc9bef9d477e3fcdbfcce38e68cc3b2c463c2cf7743ad1dc100d1ab2568f7c638c3fff7cd479e46bf81eb1286ad1623e8afbcb176a6d98c034f67b71c6f75ebe7d6ad81a4b7cd7625019feb5182fb0c658f34df928eedb108cf9c88ad1721439075ab0c6587b542e325aabb1c8917636d0452d5682feb58b47b03c87cb328d96f74f09194835beb511f6ac560bbb5c7befc5fc3ccff33c4f8c31ce9bc7e3f1783c5ece5ae37ceed46a22d9c76dc9bde9c8a978ef25f7e663fffc92f7f7fbc54b77f65a6bbdf3ddb47f32c958b831b632526788a7f95edabe7b5febc1cafb7aad1d85dcde7bc7f4ff7c1e8cabea6b98ce5c3c8a8479eb9f5af80b7d35cce2168e5c0cc791ff91f45d7c307ce20dbaa0f53808ea985d6f1a46e4b27b65bb9475df6a0977f29625f7d1e0f80be293c75defde91debd30fc44e261444e72aebbb8dbed70c0529625d740f71d51d73b2c463c2cb8dc3447734e864ea7532e48d3dc904e68e8d4756ae151c531849e7ccedf46df5de438d688bce3a042468aa3b73d7aef51c12672b6e1572619866042e781877b6db66102d3d8491b26048167ca13476d8c2ba6b3944aa55a595f78fa8441d4a8b1546369b55ab17adda98db618997e5a8bf1a21623eced84472c16ab45fb2335c5ce5b4dd488cf7a14fb68b2622db2ec32dab4e674869a3ab4afe3517a36d65b00804dd4e0b0c07724b891323dcfc7e41bbc78eafc98c356818b11171e3612f30ba3462232face197a00a17382fb724a8c3e637a66b60f999b10db0788e059e4d33e62803f5c704ebcd6e23b0b1b8a3fa9f9910413fb8b57fd3815bf7dc124dd7404c497346c27be4321f29c896ec1e3a6244efcdee40eaf8fc5b75a20bc505bad1fc4b014068c172f74747a8fe18c5957ba8bf8e6f1e19b677c6fd519eb8cc314dc2ab33484da537dae00aead2154eaa27e8a43eb299c5557106d1babbd99a77f5ff80b81b58f372ec62bef31ceb7ef9c6dd69b72d40bef70bd0061db333dcb33ad7705c18316620a36ab9b564a5fe8ecee71ee95dda02e6acd791af2cd62f54d3b0235ffb4ed0c76865bfd336a6d26b1c5093e83460f0aa5148009b3e50998b092bf57c626cc32d223a3193e45944777544785c65ecd8850286777189c0da8d4eb77da0c2006a376001010860442619225498a424c4afce48188049c148b8c07d160301c07a5280864180ea10012411880380420a48c74caec16008e4dfab2ae9932809013088f44103763ac6641998eccad794abf3acf5e55ba90830a5bab5b3238d9914ce728dab29b1cdf57683bdc93680df44c223a47c237e56bb258e67ab7d85b1032da0bb90618cb7cf6167b1388df68d0a20dc512bebb05bc47a0b36e6ced2974b7961fc6b27135841fc8cabb62dd62c63fc7fbb1fa356e03c5a1d4d29bf89551057c5f593bec37ccfe7172a52f16aaf7220c080cae7a66c498b2d4c5a65383a2a5528973eba1ba115508716599bca29dda8b581e9c6fd132c2f6927f7061941c7966155a623772a9cf22629ce3822965c070a8ba5b2712cd85b61904c84af5a2c4144ce9a5e1564507ec96e1680c4ab28258316a28edbad5d663834daa90b295d53305f9719fd31db5eebb274b62c00b37ecdea5d080cb10546c6182fb2e4c98d034da846cab71eba0fca0c53c99685ca51e5b368d8243b898fd981a55c7481584d5595ad1b81c01b3a3dc6e85bffe169b03ec04f13502a6154d8e87c4d8dec2056707e9e7aa68ed086d7d1462ac061dd115014e42bf0e70566e0bf2ad74c648765f21baa17ce402ced132a9003f484c31939a40bec1d2024bc8c39020169fb41ed70ba267d0fd8e70b752e60e12f9c5d3351a99507152c16da6bcfae8442f8f4be48f680c0b12b3166b297a01d14d69d7b0a1fa7eb94e0994330d5db03c2968c0fec9ad168d6a8adb465a99f764dd570293cbb80fe63e412219b3030af93caa29b8674e56915aa713f0a80bccebe1c8a077ea5bd3523f39a2ce93d7431e79844f250ddeea95d168d1a3154912970d0691cc58836a8c991c3eef735515a5a5ff86341ddc049025744090a447057a0218592105ca8d8ab1449eaf09abfc3982e5029f8f6531c927c3ae313b001d3449be5993ebd6f5a83370c3b969f4ab4f947b8029d69d314d19f6231308dc62f8f933ccbeda44eeb88bb94379a3daf1d67a9224bc3d55c77c73930f9c0553d1c6a354e503a3f65149cc546abeb8eb29f8a4b1a21d20a36893318176f00aaa4b0f6d72d862ff685ec9cbb42cf66e6455bea2283cbdc1c84829ecbf53aafc9aa0e23a1354f14006945b47ee0bda1189ae4e76882b6b14592225eab44740e5b6e3a750d948f9533cbf11edafe42bef01283e5047197d2a59f108796dee6386575e1d81b1ec74ffd11572c2d10a400f54fef779886808399454d194971aca697c0a1ae1045fa29921aaf190ad9938713850c411416aaa8bee331cd0533883982b378c5d16b7c4f913cd01a494040e7269e528fb01bf5685ccb7c9289ddd2c73095cdb4b64e0d73d3ba34f31b0b74aa765848b1bad40a36c18cd6dde65897c34c32f3fa1239fed4b9755dd3d1c3bd1c3d6f059bf25b58da6edbb548e141ca802162892da698fc34ae14cadcfc370c64d0117101e19b8bee4fc50192821953a82acaa89a9fdd773faf82185d64bd5299d7eb60123531b5f808eaa4de14d478bcd508ab0fa617cb78f2d40087d1d21b3f399e6466565a0a9c3ca06aa1246ff93595c0dab7a55ac5511f3a7f4b64d5b69062ed6f64c2b6e1a809bdb300d14d40c8c2566772d2d5ae02b9cd2c5096ca9dcd272f7272a0df01dc949331e8ae448d25e8b724feb36c89998454863947619a6bae1e9c2a3c5773be0526d34807037b673b24e03d323c68150162c0c9785a56234903f65e5133caee81d047b91d6cd798e19e0b5db0b775c29323ffefb254d5cc715565f343a9327c0f9bd454fc18f99671323a6a726ae04e359c425745156b892b4922a7594496b5ed742e82dffa1bfb4b92c11d6e5877ed1ed96eee2653f4b47ef4e88d14c1921ac78f1d4517ac7fd4c8b0714f1805329afb231024a0187d8b240dc7040b1f96f9b6435fb10ddbf65b099ce2bacd0d18e463ceaccd3c66010f0b7db23606472205e0aa93c7de6bfce2facb3be027eb3ce9749665f3c9794def86623dfee9dc1aba23605c6a59657cb455a0f7540a1005df66f27c84e12a28246d2ecce1f912c7c1a6363aae2759d5cdee9281bd3dd9b073ec7d749eb0ee721c13f28e9fd0c16f80aa9f1fed10eb19df9153a3daac8021a10987bf10bbaac634ef29f942f5c206c56b4344fdd6900b30ac512afd6f0bd9f57f327421690b29eca7266f6348a906a5425ae9130fbf1365a53a1dfd0cfad020f550fe92369f6d4383adfdc6d75a90b534853c9cf6054a36fcd1aad2e6c08ccd6f357c8e3e3ba00faa25684a288094ead5a2ba6aa81ba13852abeecd4828a9b2caa96f55440582c54de0d1427507475b7fba4ec8383fce042a740bdb4a787cc79928af30907cd2d6bf4537b8813825fd95440c0ab7e9b11847e152b49a437dad56a2d8d3456da3864169b7793a2b2dfb72226ad900de62a12c8d0fd0cb73d382823f2742863bd357c459aa0813be7ac7b919906aa2a113c4aa09029f087a548aeb98644b8320567cbeedc7a655926ca67c6a35ae4a760fc7ccf9f069f7d2502bf198cdf80c0ac90c3091b8e236b5f87efddfb9edbd40985bbe34f7aa866af5c752eae081b4d2f476181f28298560329ef9d3a6afb57cf983bc6ec6e9609417157938db4efd533a61d32ba8b65c450dcd52007e35c50781af25d0c17481c2cb12486f8b7398b280fad2f77c88bcc1b55d78b35c01067575027e032e2b6a964bc774c7cae23a4cad8b6f332e080e70a458a9720215e16578a4b280228db009ebeebbfd01bf1dc63d5c467a08a3f67c139f982760a2610e279f731f1ae2dcf1731360a5fc9f1931528f0ca5e2180ea029d47f4fb669834c0d1d67ad0c6d8a462eb806efdb9ca8b125626a9a04bc3fbfbb58a05ad7b7e6d28589453a6bb334b58569ca9120658d9ecafa866dc29d4f7e839f66ae2d7016365384531a2d6b09f0a549f01f5e65aa4b1bc6f97e8fdbf7c4d7d724af083ced151a069eee8843ac2dd50181d734949b69500e3914793ce9b7bdb06780e52db32cb6b8ff90f41c73f4041d190121f955a41cd53a24d62847e83da00c6fdd9a386b62883761010f1595d0fe0de2bc3b66891e8265474cc51e126947bd102fa64e72654ac0bb1f2292e9a039173fee6f0eb80760925342d6b1fd84f09344922582421454a0c44c13ef34c36c3946c8a5f19763f58dd703840fe643722bb4ede18df8edac83d232ce58461795db13e32f87f826534d8ce0ad318686d714f54711edc9d755de349eb1327d9d63e70b60c61b6b25576f28f1412eb3fbf52c044b5a69c7abe6f8d132ba998d4fd9ce3e6c8893fcc9374fb5f385142546a6d2ae2dc368092c241233b6f498a96b31bb9007d09924e3b4b6b7c782970744f675e77e1f98dfbde52154cc938dd6260fc43e1e71c488e7fa34a1fe918e617dcbbee63025436ed7e3c516c05b0d2d3da1be79fdff8e53d55f56400af00cd436cf44d0b8a7e707e08aa7883104e3739c1b7e2448e71afbf46997e776c8cada3e0e9f38f6f7442b005aa956e812e87496cc56c22d8d1dc3084d8d9b0f3b9a1b8c111df33cad17d1dc8bc8ccf66974de17b3296fa8d485d432ff35902caaa248fa4f2bf79eaa3980bbcb05ba27a2f2d98dc4f2ef79edbf5487bb9b504529b4e8f4f71d33ea05383a9d623e6c1000afc9606534fc293473b3592c346cd3fe5fdea665e63e200596654cef04676e136ef80588165fb0763391aaab9d2c693445ba2176f1653dcc9715d92cc2f08e75a8bccd1e03938e8c0cb5a09ee16a4cd2d99e046d528fd792d9318a6964b2b375f15f905693a81b906781f9f62aac48fddc252376705036d7a5655938e7c00fcfe8f522b034a0d139ad0a408d4f21262880c9f70d27a2f6d815d543b8aba6c5c51dfeb67afd61e65b9bc34c9511e9aec12090e2f1e95e5580dad5997438bd415a4f7daaf1e49e1eb4b06dc74b3065bd2b53028a380c673094b715896d25c752f0938f4a86b9e4e0815902951cb82bd5245fd4fe2fba33e307a008403a043cf64ea0b859cb8ac74eec994b370675482033705bcf0423370de98eae99834974b0c0d22e4332f0fab26527a4e3d052c2e204bc7883229eb982c80e7674df3414659c26b0499810a9af3324a1d69ec9aec54bd3d0490dad1d8256ebeaea14f12daec6b4f2cc467e1f0f4dc7b1b7577ee1aa3886163541acef92f200f6b0351685b148f72b759cba86c9335cfc7e5bd71406370081c50dbf53ab2bc84b0b223c8bdc30aa552299794d43f61c3231ca9b20a154c4f9257fedf66d1edd41e95fd0b593e6262d03ccd51d144962ce72e3b146364eed6409a1f4c3fa16addf8ad0b903b4f5c004a291b7d4d9c86f75b9cd5584d03503d8fd7bb21441d1a57fd5239b5793c3db9faa234be2f469316270d11bd2fbbd1052050f5a8f816794353448ceaf9539d1c80c60680201557a93870c8a6421892ba9d47f8987bb55b6533669e8189cdba9c8f62eda48e1b4cd1cba695a7ca120609379d68cce29754d774f1d111997096e6cc6152021a92ba9c2e824c2398cc74ff51d1613081aa844991fb81a38a1a98b4b1d03dbd249892114f11d97949b4f08bf0dc068568abcb85d7321377adc203d86bdf025704b586bd62bedfed97f7cfef88871b736b1c5703f0a1aaeac325e2e4a6be4f1a5d487a1bc436e0e7d45e34ab29d61b1dbc7aa9584e333444f7e2614ef6c6c6652bed59da7a94536f1c0b67e5fa630d75d42b03d79f4bdb964255cf4ad1d025db2ae81a4f7fd684d5fa3047b77edfa9c8a56a532f818ebfb62a98e14a6ac5e5bbd4689ff0fc43d7210306c77f0856df00c8991333d065e9bcf2e3795ef1a65a46640876c0e9002a889c55bc145f1ebdd1d1fdb1679bba2c867b660b7dc80422091297f54061e347ca4f0c31eac50bef74167f7001a7dbc42531eeaa88abc50aa5bac6ad851d20685e258eacff72afe82a8d8054b429876b9a6965711c6d09f52045b5dc8674753413cd6cad2c1fed05ea4efc1cf632c8a7cc389f9c31b049f317ed05ace075aa94b7807a31e8c73d6198ca1d3d94cc0b98487e19017775376699c3971250237d2a3d270e629b6f0881f7f2bd4949dddf7a7b0a79c92df97cb1e179d3526c49b2d3b13375aa69c1eefa8363bb0b15405d9f34c33ad54f8380b4522db0137d2d7a193d14af27e13c75276e28abb8be8edc957178f2e9de954448219a2a25526aff4015e07992ba62bb8eb9fa2253695f84fa125680f5664e9e0a02cede8c87081d93098916e24c0f04a6e18943c8490cab31ddea6c3aac087922c811b77650f51093dee540cb63ace4570f473e7bbdd127d53d93649866d2567a176b805ba9a08bf5c609f33b803628496291a597139eee6ea35fcc52b2e491e7b6d9b74dbbaad9dbcbdb2de83533e1263e5935b6f565fe8155711f4591d5653a0655ccd42c90630b6b6571945d117e801e1bf818c0a5af53752d65604c8621993b7d2b23bff418daa47c18cf4f6801244038e9ccbea933028285b433cb66352cb18efac7877f434bce12be21a02ba4a7bc0b9a77f31ec8a2624932c304a9c603044537577aadf564efd23fc8acc72eadc7f24917609e0e16a8998383e31c46e429dcdd07d81196fa3a4df3cbd5f92a72ad0ccd99cdc628a8690323583bcc04f3bccff7bc1177cb01d792cff718e3913eee8a04ceac934b76737efd5e82ca4182e513e878261a4e7491582ecf886d028c8044e69d25c2feced23192a5a2658d007f96b19412c609f8491539915c9e084e79797a63945b9efe0026b10647b41a46f45b297ac51239a5d660f175c60abce9f98a0012f26a66add0fc24e03bcd18c077eafd7b678ca15e70d0a0c581e2dc100fadac952e80ed14f1dac8f6d86f865921db48260d5eae447c46e41b0bc4744c588c2df874d72096f4cf36b9f94d505bd2c80610f0345513956b9522f88666822a07f21b7f109b5075935ecb648ac032ec0987deb2f65c266692b5adb58ea9aa1cc0849077fb15778505796a5df46835b18ce15814d536e05f1a475bc5666944beffbafac9068847883c57a52cecd79bbf7c72955c25d9c2582555d0ccbd18fb562356aee47110b8c227539882ad110b997d8cad2157793c23b64b90939502806fd588b1794fed04427f3115fa63bc3c5959cd88a1080a7675211065a7b6de904f44f42c048f6ef93a125b57970051e54f2e4b85e3a6fd8372e55e54177739e057c202f9d61a6fba4e4f417a33a76a059e5e8dffd037cf767ef26b29e07157d6314c30ad935fb8acb44e0d0f41baa6fb1ebf7f7eb7ec3f9ba3df32cc75dad5f7ebbb295a7b037909c95d9851a341018bc806929b5f38fac25a060daca530deb982b4d17069be2b9e74f1a7439b1a17f68d8f30a5b09ee7c93e4e34f1b1266109dedd59dbdba0b444249eb0e30a7ab074c8dda9c8caf943c2107fae12755fb6e841e2d04f888b68bd756b562143c2591776e0ae4ef8a4abd061ed311506e9ca59ca432fe31914a226d52e5c10a976e8a9d85a0bc2b0a2e0850ea5f04d7002f53cd275ed619833a0c03c7008761a8e42fbb3cd14068218e0c9c2bbe9bc3b6ddd39f02d967005a9dbac4b37466d37b448f2c25e7fa0f0cf72685f56f115c07c5321ff202c73672241dc4c5941f448eeb591a40e64fe7fdeb91311c4cfb91db3525ba6ca68735ac4f88ef59bc0f36547522f7baef23c6f1a17b4b39a1a625bea5a94506156348937447b9aca03e95045938a6e2ff973cd7c1c4720ef0e4c4dac2162d3d71cb60636f01904facbe6f355703d515953eb704e5fd86b270590fb3fc4d58fda02a04b528a301073a28bd4e777b3c745b648518abd46a4345197223e3131178eb75c472d688948786add2ab3037204fde49f0a6ed5d9eec4e5d2955a691189e22d543d441e2b461e9a0c9601b8a9852a0843b8a02c96255e3155ad3360a39a1d6965b171fc0ff75219649c65b1dd28d46eb3bc931b6fb31ca34b16da44f2c2e417e212ccec3864ae8f41acda9af07e02988d22b21982a9b27f4d3f0d7e87aa4c2480bdebe41f0e09f73b90af8f59d81043caa9d63d85db191202d007e575668e5dd2a02d7b89aecbed968e5f304799554ef2b63184cb3eaa1533ecab8cb2aec705018f7fa906ce5c27ff0e4db6aca0979025e22b5deae9873439d087395c7bb13ca135303c1a5fda9ad7b345a0f4733fbc0f1b0b765955d70319cfdcf350442a7a3acc510b88db8bdf2ec70166cc996daa03a524506026d5303fb9e78490ee5ea956a23d49fd713fd5655a138f4531b1bc6fa96c161b4822ae9851ca45f26d4649cc2bfeec6064c51153cb87e0fd5999f930efbb1aed78bf5e46d7d71e0c67183ecfc77472e59bb59af422333c296b18ca944f2291d5fd91f2f8ae540765c8ae2e22b63d0f30cf203cddaff4a8ef4a4d678a1702838f562753796d01435b2a10a39652a733d46461c06de471975f3aa9be7a8eff8ab256d0cbbf34d9e750b2709ebaf956fc5b4929c25ddb9175b8ed217c79fbf6a15a0872e0697bcda7f904ebedb635c3136e7db8445f3f8c067094aae0a2fccc71e92a8298aba98a6ed05a40b9830f6bff57f9421d9fee67e7cf42260e910de7e0eaf4b8c443053e9f723ce96186f2604769818932e73a481ba395273cc0eee6cd3e1e0e7a043a3745ca48be489cd4dbee74011c534ac0c6a502f682eff15800670fba41b8c502c638f0a80f6b98e1894bb01968a4049b006804803a3614bb0a24177463ee49e32fe0ac011ee6e7115b1e0d46ec6e2585c8669116174bbcfae7a48cfe412d9eb111b9b5168b570f7a9708854fb1709909ebb5318eabd00e08a4ef90dad414779aba496177230374daec840910e2573709270a17c3c118ce20476f439c25c4204b9d2691c63ace8604f475b5349d46c046830e6ba661f1e5e991eaba49043c287b61d4bb0ca117e199c1a5752c3b9fb90e456e41798bda8e222c0d681dccf7282cb73cc3443ddda15fb8e58e1968285eeb84f792b5c34a6c1546ad1100bdcf82dbf2f0405c2c3b1e29f7a4b9b112a569a944fa231ad8d63a13c47992225f0aa720ab810d05e1b725e34d5f699f058fb1568eed1d46c6e50b4f36f20863c6e513134953c92baa129f2f0694917129aca11805df2dd1ca49639a4e203e9fafd4143a4973c115d4145a790b21fc2040d8620b4eb0c4b9222ec7631709d6722297c037e81bba2eb7fe52906dfee6df908246e251387871c6a84e6d97c3fd617b9f24c98890d8f2223032b3455b89b6446e09de94db1a38bddb515c0fb81b14603475ba93fb0c9d1478bd30b10dd610279d5e86c3ebb1e8e7fdb325206541d529872b04930555a1532f504f25f14c4053ee410ff28942e6ac33f7e643ef88a145682a85d9314d9d242086a797225a51e5bc89231aaa474cdfa8999f71b98ce681594abc91c2b9205c8f5b03458fea7c191352878320ab301e4e27be561b424fdd0bc5a81a687ca23d6c157978f61b336d6ee3c07b7d4f360ebf78eae084ce76227b2944231dc1d3fb8721f06952b89f27a59b904b0f29f076a70247723879d1b54d28fd9cb05cf2aa5d5fcf53923015ccb209795a4cfc0ec6808b0bee7a13fac5a31c0553e69d283ff9b39ea686901a7348ac691fdce12762ab9d429f50cffcdad2159e50415bd1b6a2f6d81e2b8f17d0ddbcc9f12f701d6512b5947f3648e9cf8b12cbc0a30a7a803c7ebc4feac47fbe374976fbd1808852e60fc5d59b3f558d1dcef3e85c100fb182372ba15bd27ff31b16eae8ec07ff541d8cf1c43b7a4e79002d3dd37b94c73237d30de55302fad5bfe67396fd350edc3541fc2b5ff5d8b69d9d86ea9d6d0b6ae557c2abe037041903c690dfa4b76f01af8bbc28b0b558335e8ccfce1d33bfd2ae3f5056593fe159fde02f0f3d8c90eab3a623f5f6f744a977c9524c9c707ad93c4dd9ae456ec8ce865ced12af7b3ace47806314558a4b757e4633e011816b61ad154282333a953609f4ce2a06dd4abf1ee4a10893f2994a34c0d799a70314109a78007aa92bf468bb551b0d6d2fdcd6a5989a106202def78eeba47804806e3eee3da027eaecd87488c0fc8808e034cb00b529d3ef1d6aa4bf1f634f9c8b53590fcdcbe4f34a0191e2b7aff0155f8fa8a63460f9dd2f3071b5d4bcd5fc386599dad42089bf90e3b2746f6d1f0bd292c871d2946da43615561e670533a50eb33c788881d3d6611c89ec943e0b76095b8d42e922023fa6f92e314fe875f2f4371f26893deef5b1b63c045e4822adb128fa6f8798d8c99efce0a051c2216f5662f6748c0e1d721fa006e694b58d52f568550344bc8c01d57b0a5c4578d033eee86a6cd042f716b98a141e483e83901b4586df34430281472f2dc7b4df02a61877d89b9678ff6da865a07915b47643020d5915fd556bbe2d32266077de1c8918bb1f5cb627ca6ba4484dc1cb0b9739121cb6b611bf0d60e34cb939f128f3da3a0df2bd175e25d98b01d0b591a2c62a559e683bff4e67550ecd4e00f5004885a038d2bd6c42d0d1639f9ffe8d14e44de9573f68043b90687570042e134bb690f0edd68742def098e0751e040b27937ceeacbbf02b61442e3f3e175317d39041171aa45fc3aba29e5bc60440ae51f26ca5f02dbc7580687abe6152005669caf57db8276c405fd12b8569c761c251d2ca40348833fac9ee169f3269294cbe704be8135bca4e6d5531423ecf3c338e1d252198c2cc7ad1a6ce584c612a6154b08c06a170f716faf75f2a35d0bf8b024948fce61cc1825c508d937f7eabb49d983dbf1da010c270522b3832142353d674e89c5389ab2f58cb66b0495bdb494485acb59d86a70485db5c06ff19d5afcea123867bff2307249ec8e85d7fd4c9bebf4d2db441d38611f7f1d9a1c7c7ac561d0e4dc60726f8cf46441fc06627ad0863be631385a6d299900b42d881f1d38b8f713080846f32349867d2bb485ad75cdedf2eddfd400b19ead1e5b55e7adfbac2a75b1c0360764b932982ac32d9855c54ba713199d053f60ccac4655b54c9c54077faa37131a01b929bd85c43dd25e8b13c9469cacdf41b10352ad398e49d60ca63ec715cc88dabb9a6a2c28d32e7dbc2cde232815ee80b54c6656abaed04da414d7b52b7aed99cb26517cebff0821667eb10e07c4fef27c654cdc5def72fa6158e3699d0d0704f5af5fabe6fa5ec6a9349a189241318165c71c119c191aecdd66c0ff4bfd7fba9627488b204c8c4d91f5da12c4c87275dabbaf1807cfdea669c20284b7a7ecb022680f8cbb7ca95534b329ab39ebe2d207362d0d23038892025800b19495042990da73d4433c5bd9e37b50c14ea02d6106fb9265a5fafe93cb02c1ff33c8e8291b6c2f89e3f43d65c86d57829bbc2c7b26f11a9e2fbf40133049f3f61605698141529a39b78713d2f984130ff47f06a09ae406ef22b608df02282f979f67c0ecbc9494324282b49b1ee472ec497dcef12f812cd26757c449f046a2cf3ea0cd818095be5ec14805a223f09769111a15331976e4268c80f00e1941f787da9bd011b4ceef87c7be807b339d0a1578edcb1f7d2d126c240cb95cc8ef8b43b05562015e4ae47e08da4b9435e06ba93123cd080adaa53aa9bf759413909c8bd9c10057d309821f6093cb5c62e8d118901f841ba9be44b798b3fd040d679a4ffdd19aa3f434366fed5f65ea94a23a786c32126a29abf32552fc10a399051678c962eda6291d7d8d4c560d6451a696e49f6b03cc96c6701f5c27d2008013a24af4914fbdc70144227ec53c91d1b1804aec51b116dad76c5f1e34302f798e037dc3cef59dbed3ecdf7e4aa3e8b0d0cd5fe784a66a360f28f80fd7f4e01624398c5dea01cc5cb2f31a3903812d1be3f61023c731da55a45a70be7814558223106a7962a3068007f0607856eb58b2c138cb246f81ef4d4ce29ffb6a4fe2e15074becb4199ae8bc5515dc6a2330c33fbdccf19bf62d14777164bb392007ccfe7a7543efd8a0182dd10988208a233060e5fff885fc9cfd4147700bbd544291abc5dbe6bcb952f88d0311e6c40d937b5911301940029920c80941a04ecc10523d027103f12112e12ab40e923b956cbce891f1cac9674670955ad2ad80708714fd2fee925efe4decd818001735386c50d02e099c6a00a1aa8317fb4048e5f62ca1916adb217176d300f400b42b151f101589d759515c720efa8855af0eb496a032831732bdfff4537fd4de3c97954a4572f12a54d64230bbfa4567630feb673d564d10110eab989ada12cf23bd9e1de95cfe84bcb9b0697a41284a5907efab245ed3cf58f47acad70a824395115ff7a03a79728fd85ed90ef7e0fc78c6cf1c25fd884a498bdbbe862e30fb07079adeab3e8e0a3a1e7933b9bb0a2657818cf92635db6b58bc5e28c9de027e1bace6d4fe4bd9f8199ba681de8bbc12e6df213a882c8b920991f9d90e4c27c278e2d5407406fa6913e0ba4c468cd3d9f0d219e82ae9fce8469846066c115334a78731b0d64169f30f5bc2ea17cc32dddec40025d0a74d40ec09f20897a0ea1bf1c7722cb6e94e8da7851e5f4c51fbaf57e7865980e91d2d9a36747e210458b0eb21d3a8b827f92c59f296851095871070d1841db05b4ff81943b7311e8b1690b3734c3006b57eb8e2805d40debc875385980ee78f15d25a7dc68450592029255b0da01267a7dd6c1ac1f09b6258934b8c9448c0aee7577d4f9e39a489c2754dfa8bf296646cbf116f2fd288bd88d0ecd5155e1503fdbc56f45aa104205c47df814153373a6de81d7401ba4f3a58ee15e2c0ab0333a066a15de1205bcd2e9dc5044c48763cb93c3a09329072270eef685ff032a2957173ea941ecc9497be19c7642f0db4d168f214960c270df7426938b27cfacc185a254b56b107e48f38ed5ec5e56458a862afc53697e0ae2152f67884fd4ec9e731868753ecc71bae4d8409a24543ea5a17eee2a556ca5b5ef2f9be170e91d1aa5616361d09bdcf7eb665869626f6920d4915aa88187b6dd1bc1edac81509c55e413cd33cac6971a00ef498f57f32f2843e8d201409d5b4c759ec1230f6e221c414ff80aa03c4d6b18ec100417806513b1f121a20bd75a6f0f10085741ce9956fa08860392280046a1ac989457f85908248006736e81e617a6cd6baebf5c0247bfb225f9d87173290a4db907149264548a4a057c8568b45c30a22c5b6c2b921c1989b16236301b8f5da0ca398788b2b7e48496d7c238aff053eb26d3697ed19f32777eaa89d745af5027523cce9215abdb3b023d06de1d3528a0b9f8e012248ba7f43d8f1cbc381d419efd88fe81e6e1620dfa80b74fa0c7eaf4105ea1e89ee0946d2f8675c5c63f790d904e30a367812dd0aad39b74967c110ab32947644009db348104ac258ca16e2bb0605e156a4a26dc2466844b798822dba3fb68e53eb35f8528654f6addee514840cb4043c75a0769015e8186f4b5563930e14fee766b84826d1fb95640b02114b969d39f6b0caf2c2c1290a133766626297d8a3911b81fe014e5c46ace8ee15be5b0e20841656e114b384f5ebb86f3c30de86a246b985b18d100ee4c089004a11977d85823d89f234123cc43fd00a665268415a8542dfe949b335661962c02950bc93e4d722a4d07d795b74f051359d8ab3f2b27652f240dd41cae51bbbc1a6c474e99c809afcffac225c9771bd9218653e8d734e7c42771f9d4f7686a4e1c38ebc99e13e4a59d78cba7a498981b97c24ddaa5ab695f1affafcae9e41f75c7d3709e0d537ddb62dd2c731d549ed95c7858d97a3c0250074a3644b749aa1faef2eda9f938bc99c6b605cb8f56e5923a0e342c3fd757a5cd868ccb4a5ee673b772db970fe2617da69b22dff53197254d23e0f3077072d6576f5bc44d81c161c6984f328211cb997d31f7a30b302bbd2c452ec7047b71605a6c5f8dda0d3b11c35618503dcc342960e624ab421ef84e985a200fd3742e2b2d86454eb5ee09340104933b674a6d78cdf80fc8013f1e563bfd103e1e205dc68624cf060362cb94ab00f9fe3a6e3f72ec9ed46f2a9d4cf358245e4f25f741cf53e844f4be2419b0be23b10b49b25640557bd49416b602f402c1a250a275041d2a14f028426de9355167743286395853a0c2680d3cd0e757fcdcc4d607a1a98914e5499dd816b22883d653598019042a19f0ac2e17699b321427ce00101fc0c1572e3e3dd2ff29c39daf3816f760f1249482bda0717a131ca4d8ce1b0f3b6310b1b20ff10aba547ea8fcdc70a59805eb156fe6ad057a30798be6f1814deb1028cc69b4287f3e00cdf5536ba4fcaddd3779bfa489ab5a91310777ce3d5f4be81a94baa5fdfd05421574c4ed0543a5401a27f908f78b395816b82a192fd903b3308b3146b9cc3384bc6ae8b34929ec822c5a3fc1a8a2ac495c467b350d4b591db39462b394ceb6a9a3ce529f2b2b1e8e3d9eaff0f5905d62f35f51098e2d6f348248b3df63fa849ae940ac92cda81f8eca650b79e39abe80ecfb41d92d1f635fd2c61667452b70eb2610d67e6b4a84d8879f067ed8595c40f12cec52ec0f4bda03d8e253db3ad271e840488720703b2d524824bc4959ade66703e55667b8f6fa913e5516e64e3d893d47fe0f3ed5e6e5637cf2e64a434eeff7d6d2b390800ce63f7de182793c79d78f5f9924577d9cb5c42b7f1eec1412b13179291322e6fff732a1639cd24a4ba6e33899623653e98a79e2e527a4aab66e3ee620784771239c08aaaab65d02ee31d8025f8eb13a6b78652d04adfd22939765a71e654ef50c1a0c44fddf61a5483ebd4fe240c435ccfeb8b295b16facf4f38a524545727d88a95557fc0fa222511a6af5b7de3214b04fa3d3f9eff3be38d779ac42d0e2407dbc61cf65429a70bedcb3abfd04bd2609d2956fedf9bf88563fd3c52dcbc18558124822c47dde836484539ca0241c72bba814e2de47ff6e76c86ebd76fd8cf594389a797a8e2a6c05a7175b42ff664b00bc79486beff2909e278e1d4b7ffeef2b1d12567b06daa485c34023c8de4cae081f1f2b8f0ab40a2ab8cb743073fa88b5cb869e38d3bf381dbbead37eedb3c028166a3e7933041bcedcfe4a0fc232f30733836c91d3658c30bc5927d653bf1ca159663ec7a913d4dc9972e986e4cd912da27f3e930121d109f26ba4a1675341e096ca01a4659d460d8dc5f208ae059a28c28b12a45f92d764d6da43d47f3632b6a5bb31535613a928201c2569d418008464150f62f84975e3ca40a715b268761edaae6c965b5f060d609d31887dc8453d90bd4fe60438fc9141b9aeaf7a69cc3969c2ca20bda7b80b78dc1d9daa52ce184232ac727afd5dfbaaa9d79ecdd8719558f0f028b43b23290fc4a6f1fb8e3af39bee51a554e17f3a361fecd6be0ee905eab69c4c9374f958602a5a560e2ec4c3e8489b409a2d7b9a0489005a4c45715dfb19c3558ba4754570a976adf9f69d6efcf80f97b2ec892522d60a72337dd00d030ce4462637c86aa5e4956a320df4dd1ee79e49ba336cab5d52886f2eec5df8ff5f4629d967def806c540a2c156acd2310d4f946bbfc7d518d8dd68a2039a3f56400f060a7cd3a4a0317ee780ee4ee1834e452d37c2da969f2a8690da969129ce97238d3f1b1d3cfc84ebff65a1fa7b43e74d6fc0ef4900d4a4f3b464b2e2bb9e4371278ed4df8f0c1a06ce8171b76c48e312a1603b555c21bbd6faa3021113af7a6b689e2c7663ef571f1c1e0e3889e27e59b565d342ad977f4f33a9e96eeb4dacf4eeb62cd6adc81d71cd6f5e67d15e5fc69ac7b9d9e6a4e28e8605d691a462d729a5e012a34c206fbfb46e45af1f7138caa279380c044f640f0ad6dfec039c5feb18a2e288ee54874c52920c8f4ce04896192f8e7c163e6679dd0941743736f428fa3c4f8db00d3338889078695dfba1a93afc467ba1be8b38dfc193afde31bbf422ecca8ab1387c84ef38c305d4f1bae1192a34da679826052096a581b92ff85a9d5ccb070305bb6a30bf9d2e66ed9388411808c36180d94aa233f1963adb629de217dc53b468aeab302678351c9dc922a4a57ceeee9fe0d08a56f1a51fe72b2cb984131326318897494d60e01423a9dbcca7d3155c56e11aa0ed9994083542a9e4890508808fb7e8168fd91f0ca60891c27dcb3fc0c9e8e9aa081832ab5a25b69987df8a8e255037fc11efb435452f82fa03e5104600230c05231f29473c687edc68d212c2c2b85e2bbbe78db87957c5beddbddacaac2d25965e11bab8fd261430108e37ca2007889e196529b30a0e692cdd965ca25873b5213b8c2f0f0df3c55b4796e712b64792f3c3f695c360618b8eafaa48627dc65da8390bc50f239c35b1a653ef346d3cc31fbc849720e6dfb93548c26fa2f843eb9bf546e3c2ef183a0aa7293e56a417ceed998bd1963be841363f83597dd2400c54c8b342df858e7ed2f42989f9b6718f1c7df19ffad1dda02a60fb13a2aa92f584f9fdc59e75e6ed1f1ba166a327f1419d58f9f7b42c6038345acca4d81593ee93bb9338f7eeaac04341768fce634dec30bea88d82175146e8372bca54382e73489c79de635f19ffb8b289f1304304ecc6d6da18bb4efe4dc5cdb4f0d44b2394e324ef31326edb35b0b46299ef17803f2a9ba6e0e18c0a5cbe9abdc3180e827a31ec3d5c10681a1965559d57606c72f5355dfc9b8156cdc0c0fc1a6ce53577a9ccd264debbee289618228b0b1286df5c862a7930151f4df81588e880b7827496a82eeed5718ed19c77e51e44e7ae722160a7dcc251efe3a0e99abf45b5c3fc63524b617af4403c0eba616ca09674ae5c4dd0788e70bcd173e629f856d15fde3e82fdfb8c8172c588dc5b6bee7dce0c764eec79bfba02ff551e4f1a55bf77591fab46731576ff254199d71a22cfc121e32b02d99ab17da29dc9361b245c084da93ee2db65fb202020b3edcce66ad668d83b57da85db7cab56eac64883a90fd40acb7bbae210678fde163c343acf849cadb261009d1824a9de8404cc7fcfe8fa704cdb92680845ee04762adf5c26874985e47b7500464f85a6ae47741432cb409ed6839b18676c53e0dfadcc5842e78ad11e759513ec331445f1f1ecd1879b7005d1f2e89d517bfb167c4617534582615bd613df72334254bcfd91936ec4ff25ce22dd2015ba4480a69b1b8dd4cb314399ed34f83ab7c0dcf324e0bacff9dfbed8a111f6889d0489b66bb016ffd3ad39ee582662441db8642cf624eb3cebc7a81d44db2ee2b341aa82bb33ecea9c2b98e5706e27a5809ecd1b198bd6202c59c8125ec1723f0c856f824175c2fd56bc456eb3f6aa0ee9956fb7ba936a455460fd9ca6d0a514407fcbfd80820a3c505d1e7c2f86bd1667798a33d38406ea4019c27844f0753051b2ec396b94a5622904239c195d1dfdc56f9a0a800de2a62efef80c0f3384a88decf85d712924ae0512c7f5de94b1889c11de316968f34b11b453e9a510d30167b5101e194bc19c5f338004eaf5cb0bb11cf04ea8fdc163c6eb0cbc9e1cb17cb9753f575307b9327e13c0fdfb3290f7b7164092ecd2a21c148d8016bf622b449f4f452323994a853cde38589acd950d520df2a2006242de5e30c58aa192f513bee7c1e777d895f113ae6870d1908801fbafcbd8fed3a7154325fa82b1bfa6733d5a458a7afc245808fd6e037c81d8af8f98bac834111aa0f4f963e85d3a3d917881da634dcf322f72d8b1ad4b29f52b0e252860a4abe72e1268ccaf00e9e3e812f25dd4306212ab2f4108eb695292a6ba4e9053c920242a0874a1184dfda7737a922254eaa2ade262732b105b94127d89de5cd8e7ec221192afec1a6510a827d28dd87c63f8f3af637d620accf515f9f09e7d3942b10c3f9c5394d8e426c7a2250ba7ee1852ba2215c1b89d4a329e1143fe9dbd325b31874b6cc15d35b9476b1f5c538900ed179c5bca4570c013341e77bbe844ff9209659ae60616f9cab666f6d0a92fa3668fb67e96b971c4ff331831a563c1ece94790826aad327c6300c444c707cdd556e9931b9e76728c14ff6c9a9e71ac59dd72a2e23a531f65250039cd4492021b1279f3e0be6f513cd3061121c3e972d6bb109d2e0308d2b5b9ddf950c3ec2b12a4d60238c33ef1cd7d4e22aab64cc95094e24938a7c8ab864fee6a1d3f72c03837659bba76c39086735c81a69d42ec0b373ff342da128f99747ef0497210c8bbf45aaaad95f90715816e6d942395497c29d6354038876c51b1f22d7902927d1289b318d663365909b569624a7eeb75624a73299db8c67059b0b4cef0bccabefa0704e1505ca5e5b420df9817a0ca3396817bbbeaa901eeef79fbc0ee3fb447066ba8944bf98019fe0ab44c27371369b10c6b80e4ebea604180cf3daa06b68084b6a0af3fe845b4c2cd5c10c26d6c526321d50c476069794de60be490272e396b594509b4a046f75b95e7b13340b24d358dd44d283ae4d4c5499be8860d2b3e5ad68b18d6c216a515e46d6a048ab402a102d8e30ac79785a1400ead06cf8448fc168f0bed136313528e7be149685fffcf64ff9d9facbd4c772ccf38a95d67a40aa17e2e0f1d1b97082788c217d6f596392dcb321454f974c41f8a0ef92f93100f9351a15506020027d09462ada0d54e5e308f2c82e52e1bd64321dada0b6ce66604c2178efd007385b16bdb22a21f34d6b5e2a4f33a8987de64360eb0e70a2414e3b92c7519c7eb5428a7197b87429228a1a5080239aba75d118213056d205777d72181a400a86b937250c4e785d82c8b29b18de4ebab565aae30bb9b8a751598d4e0628f717423a51ae14c21a0377c6995ebfc7c00391ad847b59289ae319e6e3e9d88f89f1c3bc04347913bbc94e33406b0ecc9e8f5322c928c823513318bd0a7216c28ec750fa9a90a94120e8f484a296318d408c692c8682a15a0072ea272e62101ec40641742cbfbd6e0d12ea190fad3c5fdf472806fb9c3abdaca49345fb9c9bb6ed4bb94b83d3b4648d95ecd312ec33f8411072a73d8502774b16c2fe28e62bab5f5a88354f02e718bd1bf528f46c8b2a187c6893d04cd809d15b4516c73d61c51c2e33adda66777ac63dc931c1d8f9cd01634a072e4618cdbee4822571fe85ffa59b4a5ec29a59b038c1ab43d79ac227646a1b394556d912f699fea4553400e30a8187854321b7a2e2f4f544ac61bf077c3d480472fdea110da918709d88e6cb946266e9f46711edf3efe92012a1587d5da17bf3b3dcc00bff26f6f356d37fc22e375e38ee0ff869f56d93dfd1ea17db6b54215e5e5b0726eabef2a7fb85d8711c89ceb05c30ecb316ce8361a1c2be364755d856206eb5572d44cc161eae0255b2c2dfc0ff4031da1782c4a881a8ad2acdd140114afe9b4db8b3c208dc114bfee60bb549c1bbe310490ec040baf95ba912f4b642e08a314888410ab534a8000f52c0788ba6c73da40c418185441146d7311e497b58838b085ad6068be0117b195402e82423b385936eecb74b6bfa472058c90bf4e5213de15ae0d62da1d96f53d5f0e0c85111c19a6f626a39ba92208dd21dab168cb0aeae15cb2b9fc90268fe78967b627f3a56da4b8392fcaaddcb5a88e510a0b6773ad70b76154eb6d0085d925f58d77bcff5b10057fcef0544b473f159ca4675727af7495be4fc8321dbe7e751a409a492057cded6bbbde734e9dfaafa457a2e5d8dcd69103d8b0df6f84374cb879a8f94ef759b74f229fb040c65026ca21dcc9adeacb40b14481b1c71c0112e331c18aba276fb773e0be5349f856bfb151b39212a870fd6523e554752436fd5abc4e410fb2ff19fd86db723185449b20737e03cfea95b09cedf143fb4119706e76862673ff09d63134dc9fcd8d4cc92940f3213fa3595ce155a1dc47e734b01d94bb4f345ae022c7817ebe4bae9ae0ba150482fcbb71d469c954488af7e28e71fc7d32dee572e763d67e16cd31c97e1fd55e1029b4e32d0e2b3d333e10ef55ebd9fa49cbfd17745cc8ce4b1ea198001cf736e3d56d33a494ad4bbf4a4116851b2602845e3c9e33d5c6904b9fd8707c5637d143b95cf680410713855bb2bcdd9a032eec256f981f89704006ef8fa1b3ee870348d4f1353616e268685f3f1c1682479ab8f21ee20710753fd07b0d29eff2339ff3e91eca49761dc318dae38bebd37fdb5cc78126656923f7a09ab66d5d3fe9897282c6546ec1f66808d699c44c6e2c3cf0ffa3a5dba76305b794f42b0b34696c90758ebf6aa2d47f7935624764c324e8f6cb3f4903812dd42fec6f596ce9a687448fbd2bf4ce1f6cd116b392679ec584dcaf9ce794d6512d7381bd990009f9420dc0d847f4686de1dcc0b8c39e21ad7ff27fec9c0062625ddfe56812eebe55031f87fa35f3c9e573ca765f02d11b521013b50e2efe241b66dbc54c45a40a1b09566db5348611750b858642b051123b9b32c445b0b9f2af1eb42479c9687eaf128589702a48414517390345a29aa477daae34ed6ac44a875efd83da3d6562d1dc7a8cf1e995e23e10315c5579bd0658d5b6bf33ca6b41212fd91c98a99867d0282ffc338870d65114a4626a0c886b426513e94c5c9b5add1def38f938930070ee41bfbd099290c906e53a02b2f0c5a34415308d14c18219b569905c8ab8c185cddd242f2f502f44cb989e0efd544b1d53f6349be3a35d6739f604a485c51b27e74e0838785a56363c692c4c24707518666d2af2a22fc965226578911d7894bdc8452cf9571cf3dbdac77e1d2e29c50f89c2b47568a252ba50a5901552c94ff438ace120e0bb7cae691e115e59a34833f867e05f7048c0977cfae71870c58c18fe86abbd1795b688219a636ef5e6312c83a75d3778a3fce6b20ce67080c2c873ba0295b252ecdb8b3daa83b67aa4879b78414c5c57efa669c107a111bd35f01c12985f89a42c7cfe26325aae9d18a0fbd045dbe7f0c1aafe3e65962c979f32cfbd27fbc154d12d6e311b5218e39fb0a249decb7c798b969a344d6657c0b393da439fe8424edbc5cb078a9f29a6c80bf03ebe0bf0a2997f14cf86914db6a08242ade16ebe231e7362681ed6d0f0ad778628dd2c6f39bc5d3651e2b9e50ea765ccfa2ff9287614ebf490dc22b308c5323db2ddc45e523216b5d1b9a12d2ea35423624ee84ae54664d10106bbe2cc28d2bdf1e3e088db512b0fce2d963794b4cb46409997928b396341295919cb3e8eefb7b0ad9e4888cca99e07d5030f95d5cb2996ece739e1039c29813a979b6aa5047380e55c56d9d87361486a951b86b3a21f028c1cbc51e5675e0481a9aa016acf32b1e8f75a9f78a14a61ec6fb65109a923352c02d80a889acab59c2c27af2db78bd8697b3f95172cc1f73fe5486bc03621122b20b7c4845259a94a3c074281420ec1be189834f4420180c6346ba11c809909ce3264d88acd06458d79c2fa5f69b10bf9f86acd8e8a8f860512270356df5196133955b8b0087f5d61af8e275eb66d91385b520ece95847e4dca7ea778ec2757976ef35cb8d93137646d95b92515da94256aeafca30f207b2682865d1eeda06c6cbfb58a9efd974a8ab7d7b5f8ae613c0117bac156113ddc70dc3b8cb02f5fd587ef30e0ced0f0752df56c57124eaca0f385c5126e3c9e161b289b4c52e56f1c34c5287bd90016ae870adb957f30dfb728d751cae61f25eaf1c0e635b6ab1412cbd2a0ad98d9052c4cfdd3cf9fdeaa48e15cb4948c2342991e5689d535d8288f3ddb2949efcfdbd1204ad8fca88d8968e6b95565d28b2dd7858eb9ba62fc4e3e0e5ba08be5b805adffe214479182757806cbcbf5adabfde1f4c106505375af81bf4306947dc9786ff81f464b0947e62f6d0ab0da82e1af76e2d3385a037b9f0e04f7db7e1ce59c92c89c4b059cc6f1aee0e891191d000bd98760809ffba7e04500cf09c7c476280853a9443e970445de64a04666f82c5d9d9d5585e62250ef38205acc16df5c93e3768b4f1fcfa1137e354c4b002feca7c6122f327d63d03c1f522725988e4434c36273a577320d9ce28f487980573d905e8fb90a10694101763eb1b8259bc626aabc310731b77f9f87e30212d0414d4e105d9afa3fbdbf4e528cd213aea1b8e0931f600ec0fb23d02a13263a032efde7d7f45060025e4c671baeb15115e850852578002547d9ad5b4c970f02f814097fd5a227d5768c04195c82a10bd7e0091e60788c0ca3967e377f38fbcfc324e61b1ae7e18dc6e946d7e1d2c3bfa83fa8dabdf7d00593630a28926aba0638ede1c356c220862ff7c687bfb7218fb810f90eeaff8a3def9936f1f8e005e1fa56196eba2d52c3dca8034701b08f13e8657d1ea823a5dd5fa97298cb8575f84482c08ec1d9ad857a2ca63e13a3917037581071815c4659adc7185771067075466019d306ca83e9156e00db2831d76eaa0c8c1899d7c7380d179d6c918875457c7df70a53584a49323722f61f99d6dda7214b41ce9182fdd42b2d90e93055b95ae8a56374abfcb611a671c1d80c45f8d61881682336d3f2bcabc38ebf24ceb2a5981924120e5a0d417d221cdf5751ba49d761e50522fe3b9592dbc89e2a6d4af6337068e6431381c445d6097b127de4a77efb83bdac984bb04b02f171e1136f2717c9e3cdbd72fc6797625920ce7cd54c4da52ce5a0a18a56d436d37a4cc7739f33316c7a936becc45a0c514acab116475d302ebad060e6287cf4f628b47a7347d2d88d94fd2e8a6a3dcab6dfcbbba4c5ac4dbef2d84b8c0862a698db37caacbe1c6143f1447f741765f2d0f42c6c6bfd902198210da6316c546783ab620a8165cfaae0b8a0d1c419e73d328654df9a90a71c321334aafec335504f72aadae168a35503e2e321aed92bd1a08d835feb73166560f4b6ceb5b60fa7157642181d9be0ba4481e6602a5a72191d7fdaec22a101bde439e62cfe07405c76bb7ee4a79d6c645ed4613880a4fefb4ada955d44eb3b0b064cb0544c901aa04d9374e305c920eb57c6bf0bf0760c9b93a475867959e71adac1ac70be7fd0ae12de57b8277b5121f4a390c200c4138005a01bd7bd514a1e1f37f374541bc8a91db4d301e962496d4585b292b22222252ee6a035e037703493eb95c0e391c2d7a74b31dade536b4d952c155bcafae7753b6b363dad50fee666f3afc09afc63fbc2f2613b60f8a8ba8b57abb42d55f6d53a9c4a8725523c0026a45a2563ad50c0a603c9e961c806f7d97c68dad72d720b9bb6e2e73feb964e26ff71d5557952a05f2e1c3eb708d161462af5dd9ceab47155783ecae1ad996fdd66547bbf7cf17b784108180081122df90ecca69532b70a9d63a68ac393b56236bab1111ff32fab9952dd2cdea821cb9d5a36a94eb91bdd97c3be2bb88ff323c6b5dd3e69baf2b6b6cc4bb6438d391e6d61f8f48fd713522558d0035adcb74ad6e91950134ea1fa1ff005fab47198191cbacb53b6bf5d0cd1a01df7bf0d87f8865fd8a0bb1cbfc8a2ef31c72998f2e2a1cc731c7fbba461ce6d5b879ac5ad8819ac3bcb21c0112092898c07724be02007e7e7298e60db2d52de77ccbd86b53d728ba1ae9ab656190cba49557c4e1fbc77181c7095c0cf0063a0cb526f50dcd41920e3ef0c0df9b33c6629d8c8f6e46b6239cb559b10e0edb6b732eb15827e37b8328495092212f214944df93843cc9d64932ce3cd7faac780f58e968f8acf15133fbf9a4e131a36729b4d59c70beee57b4d6e102d6726489b83274fddf672b2fc25afd5a9b73d65a73cdb92e75bee2cafbfe5bae171e828c3df54bcf4a4535958c6acb984c7db4ef20bcd4e8d2258e948d0ec412cf6ec7e6d7b3da25e1c8e5b4802a5b3ecb8e28fa766047309829c644b2c76b127dabb3661ef69e63fca1e6c52a0513712bb3b6a96d6a387a03606f50e7c43046964620c10557a1611b300d60105a916aada4ac677d22ac25c3f2aabc8a0215981119c82bb1580b3654a8d1c3cb24652f13059e12a862416cf050ebbcfcb11d5e24bc18086b35a8c9c406fea874db6c352782a9e4076485e6a34a4def02322922fd5c4cac020af13724814266220d60ef436635c05631586c27c88e29f288883bda5b226339d1021e48ce186c37619c0e1aa4a6a48a4050a408916f005c8df7178d2a4b23d488d6b40a81bd0d0ad5b0eb1d3364214b5e6d3d4ed44cf6b51f59ef10688a96ad7c31731633a0833d6ea87ad555d3beab3105accca02031771e523a3f40ac7d2256001142a3e9b0f73822c9a06ecec8587824cacf00a5931a0fcb3b137928d66ce8cd638424f7adf6eabc44e0d73a019ec70c71e50bf0ab26b52f720dcbf2ca023345d76b9b626e4d57c0f79c7f4f5003d904c1014c026a36e87ca15e0f28d41bf817fc596b696f97b5f531317db9f70b0739257be0d003c553bdb51767bd39077b61f7ddcf442fae569dc5fabfbb5cafd7d8776830582c4692356afc7c1bf7464929f5dec7c7c7fbf4d0c707a883f5e3ae3febd5e2db15fa9e73d659d356529b69f3f84ba6e58669937b9fd3b3da6814a5536d5dcc944e17f16ad5c5ebe9b9e99366a2e7159f46719e8d4addf011ae3887b9e55db011465ac23a2f3cb4f1cdc4bb78e9851a4a9f48fae7ab3c1583874c4c4c5e5674ee7965bf457b42d5f51a77603e4692356cf81b3c3d4ba7ef0ce3a4d67f781936f9b616fdd578e32d7abef755eab1824ae9f37cc2b6a8df141554529baa5aeb2df1edf451e12aaf57f90eb7be5ff297fca503d0caf16bf3fbb13b97d3e90000eb9cc669dc000168a8f33ccff33c7708c0732ee3320e68d4529a4a8ba1f76d1b8d7d76376fef5b3d6dfac891ff49b22c673dc4bc6c62287cfe19492b837a3e7cf288f974e8e8bd7f5938d4291fea75ebaf4de0faef8c252ca753daf198badc58d8097e828bc0204d6362b628bf0679e51ab99cb9b87eba815b2ed997b15e4334b0c1739c2f71a51dc44a614f514d1591e9743b2339eec5dd9c1104aeeddeaecd00032c95a5b2540604f0fb1d30b3f6b4502f238e94d329558cbd60a76c73a5d5d99de5f966272d68eb270da5a384706efb58650be3240bc44dbb7d9b16c48d8416a8d57a505151d91a03ad213fb47ddbd7b39776a17ab9070555a55afad45056ff5a4edba74ffde409d8bedaabbd9a80efa152bc3d66fb1c70e18f312e4876d5cda3523c902725f5f381786449e459b2ffea0b886772905ac9b2eac657abd51a526fbbaab43160c417c9bd1799408bc8137d1665e236d2d8bcf065ee06789a4ae905743c9e1f5d032fcaa2fa81077868e25df94b46521b8d95b1bd7d3124369cc3466c7e4a402990aae7e9f3225fcebbb5e61d8206c09e10e87b80460b8a600216cbc43713e312c8efb8e0d571cc4a1c7b55613f42594b36a30109ba32210576c60230785df075b864b31ecfc36bbd0396073e89d72d22491c68103278dd9511316889ef4384040112ea5832e3026c9d4dd9127ccb25387c96d82540788f49bd776f60cb15abf55de34b23b140835aafdfe5eee0f698731e86dd8bdeb7feb6acdf72bd5c7d1cf379debcbd905dba08b1abd1976eec7657743cabf65e8b33d520a8356844ebbd15f421c5b2a8bd4f2e8e013bc937ad372f0ab7d1af3f9a2cadf67b8c6523bd16044bcd831347b820c038d90be40810d013386b6db7ce16efad6d3996b68de68c7749d282ca0c140608d78dc65a0b452e33be56e3bc2dbd77632632be3a637ca3c8389739575a71cd8fb9f6a367f7cd576bdd43590e256c73ce7e57cce3e3c91797191fe1a607dfabf78c9fdd68d1e2268b335d0c214657e26a6b8306082e62c082e4228d90abbb67f8fc430a9ffdbd1e869cf30b1d862b96462a3ecff8efbda2e55ce21943521e6bc15fb9f0720f0f9baa23da6cf141d26e0d6b9234b866cd1112b4531aadc9c5277d6292312826cd8e06642467db933fbe8a1d24444469225840d3c0033a23385a1868b42021a233534d04085e5cbb9bd25a650cac50bb6842bf1e736aebf1e2f7ea7bf63a9a7e13968f080224b9ddef54832301c762b17caf9e7bafc58f0967ade7ad7f431f86bfb26c72d5d02b6172b5cf22973da127938b0909252cedc6574d93e44127a20ede67898961e917d53c4869165bbfc7b5df65b0f05223571aad5d9eeebc636b2d721ddf51a516a2f40e675845ad3c13b23d5486603b660b2015493fa9a19d255343300c5ee0c286071b8cb6ce2f24571aaa56d2f9f3526375d0279abc9579e99c447477aa3b43b7e87282a2ac2ad93faa335aaab826a8a71dd379ebb5281a1ffd51e2eb803faadbf5f0ebd168f942fa3f94eab2af3cbf23dd11940e2d7a51763c02ae782a7d9d55c1a3f5da6aeda5b7525a29975c628cadce607c5714c7e1b7c454334f70385ee034e93074c66498e0525462bae4373b314288526290626fa0c41879299d199e3752fa211434668a60748aae9b39e09c0ffa5fc7b525ca6334baadddf65a2fbdf7de8c3109eaec33b54d4229ce4ca175362b4b1b9a24502d0292af1876bf4b8cc1dfaed9c8a9064acf64011254c338e9109e63f4d4aa941e27a4b53c9fd855b4b5feb33a81a2f76e424c98272efd221423155d0850ab23c632c0f9c2e784e509ce181e1cb139c2cd13484a14d950441b172783d3f1ca9c64ea9439a9a8b167b51a3186082a5360c185b102ceb1a18929be2a71b888a1ad0061ad1e03a5cc18a8a04cc419222d8b6a114ccb4c39cbf85ffb4854f1f766957c3ebebfbe614aa2ee71361e091ac9f19ea7131c5f4c65791184881460edd06322425987b00832f3039ca2de929e99fdfc506badf606283b2fb029aa28d32f8403905995f173d4a70898a27f38e31386856624237bb00a6b2f0d7de83e4078b0870b4bfd52c6892396aee4ac3d106618a1b168256b0dca4a2cfbd80957e544c38dee8bf3cde111b5f24f329e9431a5c59931bd738c25305dedd07db0b8cebdb304d0f6a10694217a606c7f0506fde16f329b9adf5747b1c8ecbaafefd2e4fbad2cf552ed472aaea622def9962a4c672a54da6c584f4db7099d12d30905eeea3a144dee2b89cda3cde701a2f4d2b236850a5a94105fcd4f1a972a0cb8b7c16832fe29fc7538f896c675a2a1b470610f2e21e8fe02463403f234b5c46059664a56b32c5f3934cd1045c1d881af196c5e76bec84d419ab2f391336587b470cb2ba7062ad87401dca28c3963eca1165cd83c0cdd961c38724ad0854a339032460a9539954493a8e7d451ff95667b59a0d962f15a4b7bc825c61ee3be39dd9c6f4e77df7c6f6d7158f28df7c617776cde5df116ac21bc03e55289d61ed8128822b1c0961a902506b1d5b8ec1e5b8c7779af96e1ece34cdd5fef64b52f8c51ffd717c08a2fc5b8962fe4da2dbe4054b5673ba5e04065679ca77b03c9bdb5c8cfc98908212e2227270beae672f49d6c352ba3340213041fb89b878cc15a9e7f66d8e25bf5ed50b2baaafd72535c99e0b978c202b4d71ba57482e1dc22fa90b2d82f61e0c0a5a7544687215547892bb6279d3b97f8a718191a53f6acc2e7179cc7410ae7806ae4285151aaaac2320638f594e3a2092d6644c103c5028e1702b8b9659ef0957e5659a1e15394c1e21add33ced1be54bd86bd3178adb5d6fe3a462e2ba594da8b370847f4a2deb0b6d2281b9a1da02cde61abe01d6730768265f886beb526b47452858d30ecbdd7522bfd8b1d971892f7d6999ab1bbbcd7fcac1aa5d6563bdad2841d4abec9397b1ef25a6badfd17d75bbfbffe93980e9873ce39676a7da6b4064ef956d8a8b5b621fa2db3a9b5bea5d6b6042fa8b9d6e01e53b397dfcbf9ed65ce5ae7acf3d55b8b593a06731218f3609b653e9bb796f71f7dc6e4ced47a4185a9f7d4525b67a0e4be1dac641618fb9af7b56d47d8377c7aec19f2ea8dc4175ec4676d91f35d4979e9b7e044b1f2ff9c375e88496094c02cd9375bf8a0b603bedf2779d15fbd39b718a1fda4af6b92be77008ad38f3f580d177f154698ef5293e6c7a6e04ffe9fa3440d347446dd524a6b59f42406273796d6b4ac6834cd150793a4a844ac1ecd4a00e807036600100c8544e3f13ccb71200221b4f80154a248c4190b8666c36034149142218a022988631806040c014601829031d0a1321b0006acd14074dea4da8ce19e4d04cf1bbee174b0f3673a5883060236fe52c2837932b4f3c9ac8180dd0e9ba7486f94e7ea9d4cc60d049b7b678bf19f92598b14df5ae4fb20a3b080325d53ae9ef864f517b44cc5d97ae610265108de9fcd4e85cf4a810261c2e67664ef1db09c8f1d61530c06afe0fd8c97f0143ecc9b8c9f5f69fb32a7a5b196e88e3cb9cd128c0c5667310f344e3cb401a254f8cc13a73c130e2a444c1f10a9906838ae198941bf0d7dba3d92f12c76008b34d3dd44f199d313a418d374eebd3a50c2bcd745a33a773fd97f1e9a6275ddd3ef266dc76940b3e4d6a76241ff792ca509f32af41e95c17b059416aec14a7753863799c7c8f72e5689b0ee52e99ff639213d4f585cc42778483bcaeaa18e1797ce7fc53f93b02a798867f23767d0dd232cfb01da52cca882ee222ca3baafcbfcc0b76c2af9c9e3e73f8475123ab9a81eceb7aa5bf1c7cd981bff5c17d4d2f10bf9c407dbfe78b044e5fff2518e9223bc4ca3131da7924522afe97648a85f094b71964fb27fa3efd7efa3d7f56761540feb870cee2a12fea7160fd642400cb57f93e187fb48f52a1a07d558ddc7d402b9659bab62a0a86dda7f8af359b4d33330d534c712f9e1e15350943b75b6431d59f5ca5ce90aaa7f165db62a66ca000fb7e9dd1016deba314862ef86686ca9500647341e6f8afcdb95ec23159c44d4bfb5e0e6e643bbd6b4da32ba2ac32478982020cb92abde53e91dcaa2d64d003121bf86c0ea17206d3d89ca9a4c795ce1f262415da5a4651db9cd4b96f8f3ea1c6c1a205d502b4ed7639ae222777da7ca62964e8061a507d34bd845fe706f7cb12a49c4273ce7fe430717f38498a93c5abd2c7948fa92081aba543902639589157a908436b8dcd44f79c43b06950d89cb155ea02abae0aae1e01a8eeb675dd35458445938899611cc3ef5fdaaf401d71c0dfbaa1a378ee8e38f3e7bae9868942f2a2903507252dad31da7b85aedef966a4ab1e3956cd05e0848c8bd7d2b083c3b84ecc741905ed63726ad4a842649444c477b55fea7bf18aebc87f63b122cf3a6729564b4533f8b22855e2bda44f4a241bb4947c284ca96cf5a0d8af9c6082c548f2e492e68173401ecb82e2762501b4dbde39c4f3a4ba0a5c12924b507d6bf3fca9b5884cda7cfe23960c6b8b34972b1822ec5d62db428da0eb2ce9639a921506e0e8ecc94ab9903d49fe16154ae8cec0df472c815cd6afb7ef72312f498b100754efb66599b8b6cd81d53aab4c63cf14608974a28ca0b44d3a81140bd6b5ac8a64904a8bedafdbff2ac31e9464705a9bad525c45fa3a3c6dd9b1b66c3541985aefac09cc3ce31703be5feac663d9d6aa1cdd24dd79bbf3daa3ae370232f7f514d94abcbb7619a98907407433c9d5ab069f16fb013dffa2e8bbd2c7f3acc9250d7c595b6013a06fb69cf1c5f524a29c8a1fb712b895871cae02f6f0489b0ed86d4ceeb4233b9a62c2b753399c091763ef025abd6687aa736563d1fd697c5bb5a604e2622a18e21429532e9808087ad5ef45452340d4fd26abe3f8bfd95c6312519e7df2091bdba4be3d0f754725639e87ab2385bd2b5ea348fe9f23044e0b0fa4635ee459d72ae1f84b279aa5e1e4a8b73199940b46c586362e76322d1c0fbab87e0835aec4332b580104137910c9f33212cdee576645b70f3325f29b5213b4643d3f340f473d3b9f3288315c3a7595a7bbaeb6920352f1ae8d33d1893e07214f36fd6d2a63cf1edccd2406a3895dcd122cba43b20269fa80e77565adeeb5ab37466353d24ea363f041f01f92102418e0769a17b269764b74412de440da03a95e93cc4a9aaedd5bafae9b3869782be7eade14a24763ebf7eb92a335a5b60e4319aca69317e619c1a95c59b9c6e67f58e3ca4e808568b04f1dba9d7ad65d5af96f590efb7427a8e5a3c7cf902be5a673b592fd645dd8618f12fe189345fb5b1d167ec1f601d16e11de17865f681c1cb5b59de8f6403e24d30e0f535118e042dea01160689cc64b9e757dae4620a946c16e44fa465ac4c0250500c0d3a4938b38d625d9830411dbe11cac758d9956bff1ca9b07b6845852389cb45c35ed345f8bc3bbba68b7b3c3eb9a68be75f9f6b6bbaa087a5819f07607e6c1e183789dcc25526a482954fabefd198903268a38099d62c7d91faaf18d4bc851220cdb05c65e578179248661ac5c8cb327227bf5ff2a39eddad2d3bbb6c8e702b841717697f85be94ecc74f3a0bae77714d2309592f6384629f72ed29f37000305c37a0760c0f2bb4691f35adfb12971b4739bcbf2a6c5f7e39d615307159974174ced02e0ce96e53a885cc1fb6ddd9c811aa80991a822f298d62f4af0e2388ff503c4e788be32be8bf0831681c2bc297a2e16f78cf972f47ec3961bc74eabcf1255ca5803840d38ef8298b42fe411518380f3e2792fb7a3dbb1747e744ec2e59f1e9c4e7d668499e825d283d7ffdc0b5c55399a6bc81c807bd2657c8b2fd06d4858add80f0c254fc4e1533768d09c2f40da9b799892ac538293739933f10ac0e8807a9c00434a82a69a04a335c6db3436cc2fe5f5f2d179cfd3e7c72df4bb4fdd58f924635b2d93bf8409ce996b0cc0999d0afec7e4c721c214277cb1745b2bae8aa6f9f5a397a58fe1feacb30ec45887a125339f00a5ebbbbccb115af89454059b032861aa153efa891806035e0f19455ebf8e69043be79be70009a9ca4a085b6f440937a94d357b4047a518b25f98be6724af3b42e864873b083f883784ccf9524fdd1335f5f69464f0543dcd82807bf131448164673fa58c617c2063c266be44cc13bab65dee01f80b7f2686646b7bb2eef67ef7677a27ec49a07499656f3ba5787aa94edb702a6c3a291e6083d65e65c34638dc7902cf7cf2d471843c75b2474ed656d3111641c837ba329b4a6f14a9f9d3c43b88faecf8b26ad9577341c97f09b6a11319f9a2432ee41dc5234f862cc8001b69eaa5d24ad285bbe60a0459bd53a83aa4688afebf66ad26997958c71d6da45d48da9bc51b2e3c85697c3566cede26ef28142a449df28340cdfde26415329c6e0e50ecf22ec0297f17d7c00791dade4b4955c3c6c07ba7670672b4598fe4f6c76237ae02f4e6a2d5d4cbec745e7f62c387d89bc119b5f1e0c0ccd5fa4ddcd736c9758cc28fc96098e6ebbc29d569618c9ae47e674f98a6fc4fdfd1ac269bd27a897ef840930e1583e2fad68877f7d4a0a0c69b33f392a2630fa0078afb2a0a15a2e97b9d441aee02d1790d536fc716e72a1e85d56c629375c5a85110e745769d8ea07135c43d25b52afd464b09975e9da2c2a4f1009a133c490ce80b3d3a6ae391dfb20bd9a274c050be923e14e78eb9c5b7d9973d831603334e41ca7f2108fe7a71a84526740c97596c3c9144a6c41d5fd88796704599440a5dba455ff1c3e023b6ac84d0f744a36fc03a90a945645afe19298ef3d0a9865e08a3d450ca402778405e5030d9daa8f5e27a712bca9ac1c584414a5cdba113539fa5e1c1eb5a4847fc001f326baf5ab9749ed6c479153ee326ffa5ab600de99a9eba269c480326f8dbb59a6458f8b2106ab013eeb5f0f6d4ab4e65c9023adf09513a96c09be39e319b38b4d2da82df496f531a8a36876328baad145744bedc04413eddf679f0f1f6955e53e31c6977bc179624eede18840d2f76f0b2e67a9b17cee0f80c7c45fc287e9a74d88ea25f8cea14d3d812f11dd1f368f078ddcc032f4c0952217d3179a8101cc194a4cad10f0ab53a232f100a3c397bb09effaad85d1553970f34313ecf3c6756dc0a3c0f07b3b599ea3c2148d8a5d7e06235ab21eeacde3cb00de001761351960428c453e656a1cb810c71bf33a475e78be78b56a608fb5fa3be0553dc0905d0bfe3ab78b88c6802471416df8c2f2ea093f22df83e5557c23630535232f825457350f3f30cab4596a8a9c54ffd5a843c1886c10fe412a791f475b8fb3d344ff2d6f142458cc1fd65677651a2b4ad6b07c34095f762cfb6da17b4650f7b0e8b09e7fa04e657058d910ad1dce39c5c00e9d93e07c5ea134f4101974d574e6841e359a880f3d1e91bce6d6ba51815b71cd352d5e91eb05fa550aff74250a81c34aa883fd299728ed3e57186027dd1bbb3512a0a4b1e42e33835c5cd7e06e93922c0ea2d0b3074987c7db6f39ea3dc3ef72fd18633d4871cfaa85b94ce62c463919c6285ac5f105c61efc9df0d6993d195e38f2486af6d1e3398c1ed3d593d824bd66f97f35d3acb877e9bfe10a303cdaf24ffc42b15f1d8d596bdc12d84b7541211120bdd8642bc363fc3a700ecadd6de29b48339062cf11e0b10b1783b66df1a3b934951f4da6062faeb570d8e02d8ae2dbf70b2e1d7855575c15025fe0f852bfcfada48a11da5822023c4039adddecc0d58cc7d1414d31011040010d9acef5e62ebd9285cd257123297f7bc50a5f8d64c13514ba0a1746cff9a26e8941cc054d3e61b450b9a4817175b5159db74e9cc765ff388b039d2626294c2ae83cc8092806b1318ce795afa9bc6ef7ca9c38ce11b3400a403d8e66999028c7d97fc16714f89310deefe80c26a851bb83c9d4ad6c7401b9a0e9c7e52fcba2e3257c11ba6ffde1201f365f6c2fc4289df9f2b315a35d4a7dea3aeee75454751d67ef9a37c0db7d31d8c30dd46e2eea0a0596f2e4164f8a80d4053428047c96495dec7af83c91b46ebc0457c1655078a9d53042fa2165db2fa4f345ba4ebd470e0cd383b83b42233db304fb5c6650f65510d0696a4f47250a295b24cba21dd371845d2213f1dc5fcf29019bb885cd25423d62a813cb09336079474271ac44fdaaa5313f96655a17ab87c42509b6d4bfc038c83e0edad50517569796dad9d519f13481233e31ba132ed23f82a05dcb59d284cd640ebc7462bc79b4233729f2b4f726eeadad3f3f3ba3e034cb6617e8e4af8b2e32e2b523b0abcf07db133a2c72064ada1ef7ed8d44eb86d8f8d0aeae55657780ad62c17389efaa374453d3d1502a10805b92b0dfd6f7a8d101f27267a59eccce0dc14f0ab7ab4376bae120c94278bf1db7a6889d906cfa2afcfca50badf30795e348b9ad22bc1bea94733d84b3ad6f89f4ffe09d18d1d4b0480f1c20fec7b997e9b1293c8ab3ca4f4eedeccba0fa41c0f787d831e01c2d3788113100170a2a1bb6899a7a404b088cdba9e0c3f70be1c30650417e281a6f0ff9060add9c30a07de71779b4de7f0f457ad0e057d5df05ca9c137558e07d5aa464f018343c4857338de1b1c35ae9d62d57ec20166a05fdb1bbdde429391ae7f87652643641fa5f17bb21fb2123d7bfeabe3645635799997f1481bb18bad62fd947b9506a7c05a7862cf3c8a1e58666ac012bf3c7689a74bace5364548e1fb385c181592985e45fe12192654e2de3c20ff28e851858912fb88d1e2f30d2cb22382345dea98e121c5b11ef5d45039035450cc3f269ad1659c15fadb0912b40e5151a7d7f247136fc7ab405506d3e320b26a8ad2d03e177043a5e30d08985cd07c3c62c44e25e768d98fca8acaf840b40c7b1af22adda4157bc2a6193a140a78fa0f0d1056ed5d1a4819b16ea57775cc0a3623e7e3048876345423c238393b13448e65e757eb999b7c525b7a696bb3f014d61c44626bc15e9f56c0bc7cb1182383e1ca65739d447f54a8dd4aa22fd9e29f04c764b8a85590908a14b284313d1cd0f1130d6932d968ce32120491cf64dfe649aaa143fd22c452eda130179499e563feb377b1ee9b3f5fd4d8b03720cf2ddadeca5b08e061022581aa8e416818341d5ff73d109975607727a6b03f05909247a192ea5bcd92a996d72a8c76ce2a9cc2a1684682063c313ed497e977f4b4ed1fe5d45880b31e599c8ad6489f8f9edf04cf615d6bf1a54074b5876404a0d0c68524aaba1f6be0b0d1f98e83bfa19e648bbedac606d3254153ccf6df3d43a3205ca2eeae05ca918e36ba983c1b36752cff820f338b2bfa60c9b041a1fbf3b1cb67419161648be2ca102e5335300c5333bf72cd9e664447af52087bf59cbd525d9533a4da4efb9cf3397a60cf3d732e3e62129eec5a4ec78d6732cc023fbaa5e635831054f0747b4aa116c62d5947f2ee742a65d2398899cf1076303f3af3871e63c4313d5db876f381fd781bc8e859c6bad3c00299a0a7608b7a10c2160c0c103eaf567f1f3d747468b940ecbe6950bd160573a1f8b3ef268f6524e312e01e6fb62006a3263b605b3ca975f219d02f870226bed20960449ee413e9cf3875b0a62403b122d777b072574def89d8d14d0a58b449dbfe4ea1c19ddc4f541c18ecf3f848c4ae7a8906108efe81da774b7baa12cd52794f876a0d16f0b8f761ee2fd8cb52cc568aeff22d0c07e169c17af7f1c7201b24b1c9a837bb64da3fae8299f5eb13d04889dba0f6d08bce6c17af4fd54c321e21fcc66e8437f1a4a88365e731eec6fd6183a461b09aea248eb1bb343c656d59f19eca609d707b1d1ba7b4dd6223666bda3039efcec1818b7354e7e19e9a1ee29f2aaf86fa6888d5de74117d9ce65e1fcee699eea4c8a74a919cdbac8048a052f656e3a501c1321f34fd6f0c3a757cc07b7261d1df44f517451a3fac69fd24a00fc345f4fae8c9a71b45b00e22c7b6836c428cbc9947bd031704282abb201aa9f7c76ecb925a75aecfafec0af42fce6ebc97bd94f017dbd82828f1e7767b65bd06d058c68d63ed3ce0ef4240e5f9c25913808dcb876c4811f27068c3820de5020e714c0b5128dd83c950ccaf908dcd834f0a3be43d981c8cb0980748265b4494e2dc62901032c19a27029d725d75f51daa78c145d054e3b6e9f6a8d8fc170adc7786029bfba2a63255813229280dd6d538c02806e835a0bb36deac6c801aa51e0d49246f1adf938b14db12eb2982abaa5d45e846cfa2e26a30e3ae09e2517c6e21290a47a27de880c553d75b8b80346918ad484a8e2690037edd3bfc244e557d97bda17a063143f5832968819034410caa3666db0429c6c9ce6d7a0f74b9c7a38d6f248ac6852bce009e57cd21052533c148bfa3b976c37c1a8df02014589a96d1abafd3e6efbad41f819f899de0e617b46e9ad317bb6f2b3cd4eb86a682f70993f24d5f662954d3575df0778b1aa53e9a59b0221ba58ed48982081af511063db8b55c20fd2c7c1e7320c2f5609cee80739fcd986bd58adaac82f56399a12f75fbf65f1569f9839877ddf9735b36d69fabe44ed7ffa671672b956a1b8bf1214b5db7eccef53b5ed8a76bb9c71e86ba234fa089369f3a53715a4c87775d7d0b9c4ddd56c64056ed9db9565eea9e69d3a22bbeb3f7dd3508806cf811daa80b4132a51f5245c365dedb6914a008134337368829ebcfe272ee1f46109441750766bf87d82ba1a1f4220c4be44c520ca79077f8b54fc98a4cd847eaf6169b0b076a7652dcc0b281de9e2f60d9d61671a07dd27c52d6946ad690adeecddda684e106b687b90535056f68803af1ca9d37c6de54ca58f5bd983135d7bd5a4e8a514c60cbcbf119e9c6122369d4297f306e0d3d94a6224d2a9e3314c2f72226f09870fc330298419edccff230327f2ba1eab12d4829159b1f606c24a5ec5d8fc5e71cfa18431cd02af318500350eb0cf14cb846276c49276ef4f236b7185d6b491dfb2d5a1b5926e37ee778bbb07bc3d5d0ab4e322a0d3682ce9c0aeb9d93c2956bc5ad5944f358dc0bc4cea4d754415f2d31eccd7790b67d51faa50ed50a0a44faa6062259281349c1d516a405ea1089d533c2a7f24b3217b927fea028cfec3f0d850ad246f5a4b108dc74d52f5c813eb56acc3d46d68dd2034755fb664778d3f2c8e237d23dbbdc7d7c5e36105c7846ab1c04b953448fa7fcb27201ce66352f37b1a091ae5f641f5e1150446db07782afb4f535c69699d107ce7cfb05ab3e7f0ddd10c564d64c237bb1b2a645b63d2bb85e72cc71821c2292067eb55e2daea9464dec255e0ab588fa8ed36bd6a769286de429f9cc30725ab597c90c5410d1a54fa7227c3569e992e2d619025f9e7e35c83e6b60240031491c63baa4566ce5ad66e8886acb3c7ed3aa9342fc72cca526656d2ec235c83bb66c5967d3d55fc025abafe4f5cbe68d474aad1b0617b40b776863618024e88b88b58300f149350c0f0975919de2bb22d72a651639fb12b5a1677d23dad2c196ac35dad6594010af9c0b3512ca1a03fab35fa8daf9d6aae5539eb483b89432c107fa994b0b918b072cb67d342389a17985dda596504ad5076d9a620f597636c7240ba15e5d7b035a9899c1b5bf31e0ba217e61d3fa8e92b38216726485c85396cc4bf5d7e03cd5dc4f9e1e3967df140661329cd6feeaad49457233a256709534f189949ba88f2ab19420e9bc02dd1f9eef837f9d484a5325bdd84dc8d4f214e93ebc3ebb890b2ca2a310bbb4a4d7a309a3e66badb177d1536d015336a1d80ae2c17652c5f37207959de7d230408dbaa72cb0ec39036485ad7c59137c8b1924abb823b3974486379f08fbce76cb7989afdc01c367fde9abfca3de44406f1a9a2ebbdc3b8c28ce64d7dfb608e8548e3db825d5b334efc6ec5418962407102571fa6e5ab68f2c30605c0128d62226c33273d80cd666aca4de77d5c62d431c904a07f4ba8c39f4e8c0a1c37d7c25e0034b13c4dc7b202f3fb87520c7bcab980c515049881183c3f07a5440c81ab6157079e03af2e597eaa4a2bec97737a8be1f48cc9c968a54a351d1554c28f5766a91c83a923ea0ea7cad5ab09f9cce563d430d72f67f1e43ff14090cf6e5997f08f0779aa43079a969fe5cbef6e29045d11bd5f7e20b023e9bca30a107fadf297bc1790e54acebb8893db09a980ddeea0cceffc1e35fb1e91f2fff06b1a3e79c65da0755ee0e644a28aa20417705308d7e19d48973c6951e2c68e168d873857223ec383ba23ccfced26f06858466102a62b1f0173707481245f625198e7f32bd19cc7b0ec7bead7f78fc42c8715ddf135d2d6cd875cdb9eef9e182805eae48427ddc4ec414f0c6e0bc6e08fb94ddb5c8810b1a9a00290dc83064584d02b5b0f475e6640d4c6644a267451c7b8cc37d51b8b8287d773f91b16c7707d36c4dea2c3d26fd6d8804dc07a8f2a94cc784419f892e15240b0f2971ef520ab544d49da57399dd3f43d900208691a30c6067b5f7f6bcaf9bbbd69678e2e76c37a88548842b20c6404d1aceacf4ee2de6c7eca0718485ab51ac6a12acf83ecf38880904159fe3319bc7b852c2e271184cc088e49c5264180749df2e1f8925c1c07057197e5099b2211eb35c2c0210dddbee96f630d5852d3a237b934bcced8b34e7f9b5a15db81a049a49032597ddd98178ee0231118fc51025906b65e97ae54cd62ce6d4be007afbaa4a19793c81889d91b7fae3a29768d50982629228fe28b74e4471c0f751a0a0e25fdb229974f840ee27e1f5ce53cd5a192e478cd021f211d2d38231daf99351b9f92d22ce0a3cd57c747b0b8315a2929ef6988bc1b86be095d3f389835be41dc933d5c5c1b0a5f6a8643a8361580da1a73e98c754509370480cade9e21e270337445120ed70ba09f9e824557585886eae69ee07e25ccd25521b01212eff66ecdcc7ab706ca06f03bf48031d4aba80625bb6fe3170ac2dec1923cd94cc5e943bfa81a6eea735f4b0586032ee1f6c0b9ee0078709de2d48a83a1e0ca28c53bcc47f7400ada4f978df9700ff4aab420b51c9a628356a260bb5c9c0ca01bfb5e9e346df38458410ae7a88fecbad5b51e9811f76472297941fbae46a857e2173a19654d8167223d938a7ede17ba5e0c528686fff2b6b9bac00dad7ef06491fdb3fd66b98f8f53a73bccf9b86dc831a59ea66b3ded868957bcf8c408a1161a32eb813c04ec742495bcf35d03bc61663680279e1019a48f0c0cb3ce9bb5567c27e665e946b6a058d65b1bdec3dd8d9dbc43a3d460f6773fa87886b09f623094f469c1407463d66130beecfa99de692f88c5abaa34440afa0a79e15af4f65503ea40a916c8a27aa232bc2408d9dd1c5673d5b2d5d09b1db42d0503f30eeff91f54c2fd581b1580ee46b18397a6b50ff26e6782435ecbdc856aeb86dde014c85fea363fc8eae1e5a83f74603345976167a21f409e95edc5a7408f2a45e405e0c299c7cf0cefbaad1cca1f9c23a5ea1d963bebac100b9ed7b1140ab7407cdcbccce7bab36d045a7e0a344fc2a1f3377195bb2566ac5e01599172cd68b8c155e3a125f119032528d85ad2cbd064c3ed68d2c3042e2a7801e092d3193d64c65ed2a010a321a64ac18ac8a3f481f1a8254cf008fea82b299dc7db992ecc3e560de3d6c23a402e1243faacb5cdbaaf7d9a404a31d1bdbea29882394a620c520b3712e72c81f739ed15ba0fb8a089e2588f02107e97b57885bbb22befac04e830a87587382dd0904a93147cf3b824020ad45c065ad1e953eac4df85673657d89b27146920a90e21c6f9e67944929a385aec609b7fe9c8cb344c8a7f52dd83283707c9a4b3902e3e6c24e29d52009f0a68db159c4cd8417b65faa61e4638fe3207f7ab651f198996e09bceb89cccd5e9c4d592052e3dff192594d951ef8b2707e82a17ce4801cf73bfef476386560605a86cf2067510da0325f57bca08b8f8599951cd1e68e1330b2027523b99088b40476a9f8cba43ef8176ec5bae696931be6e452aff6a22059debc7d670e8c26b68112a4243745ede3e86c21b373850348295bf966b48816ef2cd88a871178e41de6b41a42d050287c55470e211ee47b6d82f04170a3778013fdcea15dc984573ed462735d2518d0b2248e7ba07bc3331165744812d4a3a9fe5e621856f049a3c84b8c434d998ef62731477c7a7ba1a8fc2112a5a68a2bb926a4932c88eb42ff711cf615303ca729ed56d7ca5d87fa9dbddfe8d45256f3012e9b643f579406cdcb5686a67c1887230a724c099f5aa61bf2c653a5427a69628f879399301b5156ae5f44a27c048865f12c62101947ef56c6b4ba0d5b2bed3e8fb68edbf74ce0f444025463fedc44aa02daeae3f1e4976d65d764112a1c4a5a085304b445eb758d986687bc0002d0bfa247e7840d2d328e31c069c61a99cdd7980bf2e12d6bd794fa321a350c778c5744b40c4d416aa8904dba5e4cd684ba6bd2897728aa3fd54893b5a7429484b9d705cd0e8966cc105329da58f12bc1e3dbd92b90cdcd080392d27066a30fead3a61622b2d5ba87183342018f1c3221d68ff0ccba0a0280cb772a22e327d2a27916053708f10e2d2fb19893c9bcb44f08eabe87b437b943de9de418f928928a1681afac39f6be005a29784fdb49c4d623fc2935ac6d0cae426c0637a576346b2eb593a8d0461478e69e6135140d7305404a6aab1602dd4a232d531e62e2182033507b238e81b4ed6548a175a4990b533d2d08f00e03a20f22911ba7866e34d7dd66cdc2c4574362693cc08c436a300051052cde6ce0e6c80a474b550f81e3ba2d1520c0d014825952668c83efa8db19c220881e0c373e1038188cdf19ba21c599769bafdb34cc2d202c0126e96714c729ea29fb265582ce0b12774c2d323f1ed680c98eb9ba1cd20a12c83c8ca073f4a331d9849e94178186f34abab7b3d2b071d265dc07654add5041818ab0a68f23232cf08fc1613cde122fe204d2682e3df6249ecb3b76a9df69550b18db9bf1708d1471998e2388470e17129d32855d50b603d9b19655926e066522e073b8f880c8d27bb4f01b0ca8280e2c760ed8a60def13ca5c7aef6f5971e9ef2adf78c9428ce369dab8c0fa69e7f9e8d3e74ca040ce5e51354801bdee463855c1b45762eb8653fcc5326ca06ae434452fd3afdb586a289944b2926e92701a8121a570c5f5f8a9a985778a26e2920f7836d7f790debd11f1a62914bfc39e85bfc189ec1b7f611cabbe213c2b37b6d560396c30b76efb2f9a4018b0c8416e4ac50b3bfc15c3a9eee75add3b0ef55de980a5b940998b1db1c8a302a7e0db53b44fe2668d14f0d352dae5d738380c06ece1679c6ba085758ec4e67822d27effd2cfb88f10d0d4f3c90da7822f0c82ebca0c2434785da63734c85dd8b3f75fe9bb98577188d09ba2d6b15aaac811949aaf1c0ad18436c0e86ffc82687aeda508d4592a7396240a0d2376852a5e420af26b06334ef906c5e04f30cadd3b2f12db7fbc06722d8e01c3c99d812db0140d64c602661c183ee588787aa9fd5bb378d305556c854ffaefa5863e8e08d843811145909ebf2735dc7fd96f6df681f0390be61493e67323702bb2b65cd289ff95bea1cb3c51860af0d8f64a2a5cc5c4e1bc9a47b7a57094f5b6e09e9da5966ef8a0ecc05ef8ca97c51b5b59cd1772aa554b1804488e05024834ea8cf96d1b90fb30035880ea3ddc16455ac31f395b1199c4315137895e90950dcd69922dc5504f39561f09f13a0374a023f0317088eab1792cdea9889bf8028de0091e84bfd0bc662b8b55943892010a117c0084f98c8aaa6591439aaa4c68e1ad0e9528d6e0008e1e4df096cc281e416ed6409bab6f9febd8c1fd064b13cb63f5f7a429da3e2165d7f24fd26390866797cdf8f6a2f8b28f46ad101a33a0e642c8adfd2a1d930bdb069ca4a1cd46ffa96e475a3c0a7ca0baf873bbe9377fc6c2ba277fc37ae8ffc3de1b61ebeb4e3fdec0b0432c724b2f7c62881805040bf26f692c27768600ac7d285b45d4bf82f2dd896009414438a374f4b57e9bc5ce480d3b59b2c5a6492073bf8cc1bfc0153e76c424280a42c895024676e539a81ae3508f62a7eafdd39a04f64d8a1eb547657c16eaee75122dfab3af387ba4123af7ba7b3fca04b04a50afcdece07297fdeeb08e4e098726d3066a8a967206b46988730f1ca94870cb5d78424e08c285ded95086926c73984302e3c8d2fec8dc62d2a1132072495f96f0e0589dee209f6e532df43429bdd16de946906fc1ad47fbdc2a4a291345f1ab81107d06c30d67c1dbf4ee24ba74272ac3013549af7b2b8154893a5384ef3ca445e8272e040a9afea63355baeddafd74b0ae4c164c86f9af56267d7a4a6e521f87ede02af09c2754eee66a87a1d71215da8bd26d6eb9a7d8d4113a4aff24b161b3289afc4700c8c3a37cc0420eda08261856c0224348efb807193ee8aba9fd776b683cc93561fe392894609db17ae4b8f2e1223cea6ffbdd91f070985560231b98224508730cd88e6471b2fbcc44b41883a8283a98c4803bb44da2015b9bf9babbc12490d8d467d1e00be7ff0a41a7765923f25fddc14e7abfdce123c776eb95c3b1a22043aa5585f6b80161003557c24218c707588c38849f2b887e6941d348605a84a6362504b5578493c7e36dc2a2f40dbb8192051aba602a65bf0a6be52d99f3b8beef143287111d3d1a7a1be991041b211b8b21bacb336f218afd2da8c2500f6a185fa08240277f40bc1a5bac0d41d9e1f444394b557de2191ff5e0821a93bfce6be61b0eeed1dd24210bb3386ca49980b414b155a6d063fa816ac34cae3f683828005adb87ffd8c2b515de7e1252f98dbe7aee956b5f4a7628afd8f39f32006751ae963a4e975af5be18765249f9d5939877ed6cd4840987de8ea45ebafb745456d94958f71745a75bd1dc5f3a5bf62d860ef51ffe723b9d29ba7858d31ad52cfbc44cd4ac34552b5ec429ec956b5c773065ff6a3b7fb34c4bf85abb673254f922caa85d53a7db05aaaeeeb15f4845110dcc678c417286a0e3035f9ab2487097fc1c9cb489acea3c4c786220992505db165d485381122867e5142c5243060f1c0ba5ae0a5a3d1881421ff782264677ff3cf1206357a6127618970f5e2842052212930212c60d7c723da063e23191c6c5e47fd87e59ebd705b87ed6db87e0fba20998219d27cb6bfdd113f23b14a552ae2adbd8bb793da0a661907f8d8b2f9237ae5f568c8d4b1da212c65cc415557e9714fdce19b9c0fdc8781d7acf7a9e07d45444d5886f841712f6cbf90bd5c7403b99d7315d28c72a56347a53b32ba8460676f8c70e10f2f97928b0b4c263b5f63888d15ef9d3a8c8b7cae8f218a15ecdd35188fbcdc1e8da8b3df8932c4ac0dc0d1c180f110b2d62a7a43a0a6479117879eeeb93e0488fe2150ed48f81e9b461890ca23b3c8cbc4842bcd593c0e870fb41b450120fd227122afeae687e9ed61a907da2a1ce8895124b76573236c70b8db27caf8a4a3573f5739d925c0ba0863d9ea56057d11a7541af81fefacc459b9027d571734b049e32d2dd54e0c743da44fe305a06941f6dc8ca54b996b8f9bd2110183b167f90f02a6aaea643b9256032a4b369d33f4e8ca08d17389a3475d5e6f620e2831d6e72ffc6041f8ff0ae73b12da6cea4ef77ba58197c0dab4e129a5f344b5a1988914586c87ef30e8ea2d73bc8ebe487340203cf4de878401a551676838595e6be9e387e12e07e8d5f60abcf998e4164c4b83a10635b63bb67dd4191f93d74563974b0bb91daa61512b1be95eed173caa8894e082112585d869c9061ba58345985315331728012a34f70e26bd88c24c5ee5d985bc6ff1313287cdf0081112b2685143489d06018b9471558e5337e180ee0d52ac7825c53b925d3dbc62a85f090775b58c23f97fe7fb5716b5ea9e08374302f983fb3c1da20dcb93651260840a81f75710db1d274d03b75b37214da8238136ece650cf28759c1a2e5aa1c908d77db5f3f50c938c635b7479e28acd15b805b6feaa1771cbee8ea70aeb1c348d96b3c81d6074275f3de2c08eb80eb7b14c7d3eb4b509e144b659636fd40a5802351963c6c65e8261dd4bb3ba0988a573982f4346f261c38471650a1c8671608ef168137ca3c329ae37e381f96429a1af32e794dc0d5b3fc573aad0a9b315c19d7facdbcaf0b1eb18db54e98d506bb42cbf4a04a5526846df20eba069f33f9be84520099a480d8158f70aef8179f2974d9fdef157b439ec4976e786c2b60b1459a50da7fb5e1b99056f1766483990268746966d15334ee70d5d481259d992a9b34823e41491c7f66445fcc54ef0bf3bc05066aa049a2992f0ae0d5e9aa83ceb4cbd06c00a55d7a4883d913c8d7b20cb0c2b62b016df900d282e41ac6cc07485f905e9da0260a4c1ffbe24ad916dbe85f93485397c25ee147c51f0252a548e692f7d6e9be1ddee45a17041b2dcbf52eec253b7019ad9e6f2a651da2c69d6dc5c56814cd0a439b115699bf18b4364ae494ba2d77d026df63c4f78e6b75ea5a077e5260cfff324b2b9f947379ecaffd2eec775019696e068a457086081ba82725eccce0e70e9fd40851eef843766b0f054b00422952c83534972aedbc7098cf23a20b34c959d39e4ab51e3d378b62d1bc1cad109f056c09b64b10577146ade1ff27702bb7f8b5d6e33644677da59bd483faf20aec843aed502bfb8c626f12a8179db7895d87a8269572d9fa28cfa831279b556b62331254c1992ce5ef56ce8d880d8f5acfd7dcb01389008543deb21272c46d3d54c4472b368dc1c70d7cb548de15724727f85b5466da17aa0f6453a4b0399938f131a9c72002a46681039a0721d420055ad84212075e59e5945b031ac802b042cf0758e07a7f064781d5ebb75c103ff619e6862228a8d244942112b256b93a44d5a4b01ff00f200ec007cd02814fae5e0d2458f6b000101015229002d162095dad2e9d1d407486b7b692a309dbad57b5e1fae7f04a8020285635baaa4863a40a50e54070698a08155826af5662eea7eb93376045602027fbdad05566bf4cb3d29b85eed2bd608fb0be8a92b166b63b345d92bb6a679b206d96cfddb9631065a0303a399f640abadebae7f3ff935152601d81d6c0f0e0a75fe3365aff0e3bf6d11b6db70174f3db8f94548404008eca1bf8363598b2a412121a1e9e40a4533d531ac259c49f2069239151616161818149e350b0c0c0c0d0d0b0c0d0d36ef0d0e540706fb6270642445a55b80372412798721f63e2cb674ef8927f4d3ec07f23da83f5e412b2a27a72d825cafa0ca034a9f061e72ea0a3203fa201a1a2dc57fb031cac3a64f76d9cb7e41f6b2485af5ffa8b2e9e7e501bebdf9fdfdf1cdcde9e1e1e5d9d9e1b1b1d9f5f5d17907e1927c43ce39eeeeded4d4fd90581ffbbaf7b62f2ecc1487fddff9a2f7351bdd56948b45b02d26cfb25c1c4362cd7f9ee5ef37feffb3ee220795f1683416d605727114cd8232479ab6e99aa9be8f34f304a4b66d1b89fc759e8db4ede40dcd1133bd3df80d9944226f4ffb8593f76ddfca25a54f36ad6ea5d2562e9596ffa69994cba5bd6426319535d092c964369b4bfa86d96c369d4ecf6c9a90389f4ee70d33e4df804f28d4864691a2ffe90372b1089e65b938f6e759fe1affefbd7f5e73ce91bc4f7b34894472ce95f7927366933bf9d3e9bcb979141a85423997729e9535e502d3a95bef7d804aad0e0cf46e2520a81658ad1ccb79961b64b35a038303adf6fbdebf1ce3de8310b6db68020242af39efbd4ad139e70cbc81f3ce7bd581f36ef175e7f9e87cebbee01ffeddea69904b926bda444b3c512cc78d0b73fb0247bfc9adc3de8d0be2fc1957222f77e63d790fe9431c1a875656becb5cc4f751df104bae22154c371d31cbd63606ffb0ed95d1703886190b8d47bc639dc1ee7bf7807b7b7a7233680f235eb21cd4b76aa8f9cfb3cf968d0e054810526f4a13188a1b580a0e180af8638efee033ca6297a0a0ef07e16c2406b154cde21531886f0887c71c5dc01a92b9161379bb5c156577cb0b5373d476e78c6195199ea58e165ad7e9cf5def1da231aa84098585017d84fd8cab88e2f04bd1f1eb12feb2007d57e2beec25b7734d483e940858cd0885f2e2982b63d017ccf8abc4ea8b641c97a437b0442841160c9f317e72afc03d2ed76e056f6a61b6cce8c5194253bc9c17e67f6ba9f473532c52fea808e8e9783ce49adf2a829b49b58ff7f7320507a723eae1656d8d4345484c24f055c551ba261daea55a222224268e7e81093efaef661ddd9a4eab3f7ffc8c8d6d6c8c73ded4c4392ffaa2f73d85e7a80376ae3d93d908823118cb6120c8944643551df370616061180a8a828150481083300c86201c86f00c822008c2210c85780671a9da01896a635d4fc52b0da05f924445c81b4c8f0774d62e916074e6b2ce7f1b766829a9ad4112993c23d8e0d78887c268415188b4eca420525143182e141e28fb29fd2c97df6088aac7e21b42c21d19d593c1a14fe6929e875ff62657e7dd2cbf231b8f3095343825b2365421f70f9841459205bc6612d3bf1075917e9e49f2a36100a6d9c3b5bbfa79e24411ab2ad9da6329a809b22ca8b3275a3781d6d1bb712d26e7c815a24c7ffe75285308bc13ec50940cc7b907464e9a94d63172a737109b506885302414cf2023b5a702c97fba28ce4727c7880abdb217ece026626fd3af7a8875543b0fb6a499357ba5ac2ee7ac636b08ad95440948f3e34dfba7494c44d2f0b8ef010562fa48accdb7c4633305a41df8890318c134895ddd2e3506e09432a0cc7b689cb89ca1bdf97a1f47037ca0e2e963e8330b38393d2820d38c8489fe7ff9d3d06aa3f9b0a42b08a22329f120d6c0f605595a268b9ceac69b1cfdf54104c205c6e5d50daaff81e4ffdcca354bb3098534da499c3334028a3988dbff3bbbe739429427d702ce50977724e36a09f1067f82b748d8a9c49c6905b785e0eba6df7b9b03c48e24040fda790d7ab561fb142a457b06f24c7a11be59049ea8fe207a7ea428bb0f8f87d5e1efef25b3318e579cafd5d77c11d883008ec8bf33485f9b9e81b960c0bdd50707bd9b97e82f88552fc076e16f4607a797ec0139b6b8fee48d40a312747f4acbf94c1eca144e210e06cf48f54ff54144c30ffff378a621886ddf18b572c7ecff717de11f2a874930007af1ba4f3baf7403106985c40f338df954018471c177907c73ea5a9904d0620517a6331c096595c38aaa03a8beb9b0e9b0d0df82c9a716a09b55142a5890934ceb1250fa239881ab3abf30e995645c99c02201e65741be32a027e8ceb0c3d2640e28eb02e5fa855d5dae53739523ca9f244deb1f501a11feb9a863f0c1040a53cc8905284fb5408e0ae50b25afbfc5d14099023792cdd8e32e61b3be1d28a219d26791e82e041194c6243b5c253ee2b6649489bc829422c853119509da2a7de83d3cc9affaf90da7f1f0b2acf2134429c5dd46611471e3d30a024e8275c34458dd05fdc178b031c55d497338724110cedfd6555cf1b6e56c6e420ef882886f5d14830653b3679f4a2e974128cb4c11a4ff318db429aeb48dbae54087a92c39241ab4488b7f0da284d857b78e213a768326597a79d20bce0e168935af413a0e72a4e0aec042f0240a0f725f49c114245ef107e561dd5fb198639804ba6a058c442e4188e3027618b3bbc13d2451beb47c4cd3755482ea060ba1fc8f6f6b2a1c457a27e61ffaab438416b108ed5f46318a5013560f5b7ec4a256bbf1f6bfd68bdd088db6f66797d12b16eae5c2adf3ef6bb22c35762429308d1152202701e108d590509e6ecd15d68045a327a18751e5ff043898d6844c41712b91042e75fd84425262f22a4485982753aaf51ae398cf7eb4847af424728b7a7269c2c9215702cc814154d69ec10f3ada5f910f5215bd15f00d9a8b55535b1c7ae082ff911a8affd728d32b7145070e116348e13a842ea35d29c847af0ad75a0c28427296990fbffc3f042d4063a9f23e2c063826bc26ef66f7904ebcc15f83334ff1e59ae508c1df5caae06f6effcbf5a57d5edff585dd2bec02ef2f32792bfb54b40ed13f63797bc0f150053fd651bcf43d4bdcc99c6f1ff9e82d4ed1fb85b6e4cc20376d43dfa0bda2a1c7afa52be81b0901658f1e72e30ccb0536cdf427923d70f781f1fef66c08ea3556f6c1a35b2b64b53bd3a6387368211001ec406d51df33427c82cb7707ebce0209124676d89e8637d8f5279f9d291c4a756d92fbabc8d98992ec3bcdf9232cac7b2b343ac2c4e9558a68112ab2156d3777fe8c7206ef2f53c9241a938e64010ad184abf9032b6bafc4845e91f35bde128884b312ced022fbc12dccdaa3d31e45a91b0f74195aba6688f1f12366f3b93191f9c488e38a6030385f57f10dae99adc0e4ff6b2e670dc7091fcb2f6e92a1a5653e04072b6df273ea19126ca688207729b1d944567bb1133ec81ce6c788a1451fbd83c7aa208692145756636ec3791b1bafbdcef57b56e5e87e8839185af40015df06420c2d50bf7614e7f904d74b82565227996e46bfd6239f695f0f65b5d4c8ecb00e095c140cfcb1ba723d9dddeb6ed69d8b1aabf174911cf0e2ab537a8731582a41867bdecc8915807dfaf2c6bd3e594a9a817d26a889450aa171d231e1899231742fc37cd494cbfead6df39283c5ac59ba0497964a3ee0b847019d70af0eca44b4b54d8b14a4a8974d1bf050e2cc2d78f102911af0004922b5e0845224b7e08517c8d480172476446ac15156d8b53c32181a5069d92bf428d1051f46e5d73aaab573513a6b13a3add67f3a62e803a8247b1061d5b4065a4ca730f2020214a1d1f39bb800c5e01824778acc574738130032ff62cddc8c4a84108347a49570c3c1f860212c26b36abc5a273367c27f861054b099e9d45acbd0bc68863b2d72d024b34ea993192b54d47cd7b8c4c504d22b238ac972dc5211c7eef3d00c1a7a3e0c17086937ab012e7901c014d366d9c3005e0e1c2bd2a9925638054e1ccd4bf8db0049f29faf1939dba4bb936decc663acc6448df9051a7c077a812932c8cef37ddfc480a5c890cd48b3d3deb2e66d530660610c19a7925303c84a3c7126e81967a57181740dbc450f1859df4dc033ccd04cbf98820f4d96c7975181bcbda5df00f7528405f5bc7109bf1ee64efef3c94a0d223b43a21258bbeab08a91f1788151a3bb820796930f41d2cdd7412c5266c560de9dbb092aec437215dcb874966b16553471cefdbf1209c821f725e804f5d934632e53f06183e5bd01d64f6f8d3fcae0444151c8b8e575da9600cced1d66e936ecf7f3919911a77c67f9f1e19f89846a56fb687965064196a4c79e712110e30773daf1e61d10fb203bd13f5e0247138a0a4a004e7b64747edc12bfc94c3ecaf3708d6d7052b043a1c578088b7d41773bf13e1924034716464ecfb94356b13b2df98067a53008ea923412dfcdb00103fb71250dcaef62c60639f1a84a5996379de8a9e3ce72e72fed5fe3335f6a4f1b6b8af31613af666aa83674d8d7f7a922e3938d576b38b36f91f50afb408c6062037b73f49306b215146120699f122f336669a171bbdd86ec3d440b6b629b73118ec22bbe0e2d42053ae8231f3ac0190a34abce4ae78eeb15f4eabfcc6afcfb85a220239cf12b377ec23c31b9f1cbe1554b55e4022e98a23d39506d8d48ce767bc4eb14fff8b4cc156db0b9cb88606a5fc237ccbdf2830e4191e37a245321440961ae95198d86032d52c3af5dff2c7af745f8f77524d5119dc83dffe0adae6085eef3cac7b193d4c554e46170ef502e6322bf83286ac4c0173fba273a42fc8a86854dba6513dedd00af12e56340dacd7dd74df4e80074492dc9e3dc27da8a7d5d87f1b2935f84f3081e8fd0b9ef630510896f9c7f75490b3fc7f8119d10a0fde3db1be6ac13179ca3400a47c30dcdb957648cc93cd4c25618ba45c921e28d6091df736344c5a9b492090dbf4e4e7d0cc32405d4f4003a9a442346509ed60169277352719ea8231ebf321c2142e7209d792f880f34eab99612bb0002000010015899d3026024c720182c699c87024482378e7116db480964881092924c29a524032a0207020802bc443b5c2ef704ab81d4bfa9f539c5a242abf96b1a538faacda6b66d879c48dcb9447fda3fc25b66fb767bbfd9bea9756e3a2785e7c6f486a4f22979d597af5f940eb13ebd1a6757322f0f34d2ce5801a3749539b1b18aba3e3ca9d49530653e1499f12726851b64734342c9a3b3a3035bb5d81a690e9299936403290abc8f6f14ac8dc4242119150d31e320a54f72472707c778e30ee31ee08808c05208e8a7870779848b2ff107583a4b62affca8a2c8a4a424d291f1ca886ada8d8c926c11919321004674cc65f32a1632b2080252d252febc6d3e3d4dac248f50dd4e76faac7c55c756ada038b3fcce4e5207d9d4ca391ab37060a43063f15dbb799b5c2e91c937fc4676be452a8b9f3203bd777545e08967d1d3a852d316e10b159e8c7e80f87619c20f87f19078c41671306c62bcb58e5b77fb1b1f243fc97b57f2ff9924769cff85cd5ab3aa193665d8160caeba0a3dbd4e14c9f57665e494580b9433ed3ffad8d651eeb7415de03899eb4f18efd51bf312325a8960f88be217d7ea1ac8c2df50a1195e6deb077ba9daf8b1fd9ce156f122815ac42c1f671d4271aa551ac34f46f4a2a75ddec7f18a505aa37dfb5e79cc4597bb29bb9139949b26d7b6329cc6d01fdddb1eefce1ca1fb9fb12ab6931a86dfa4936f2cc017c94edb5c4475377507fdd076accd8ba816060c6e8100e1a3e775ac4ab5af4fbe8f94bf08ee348a328327aaa66a257237794e19734c3b4e35b08cd46a4fee0ffd58503971b0a769359e626b782f9535bff3adffffdeff2190ccf35c505aab9773ce3e77effff7beb7feb7aef72df3cab859a314525112a424b6eacc3d4ef2e6776f6a6a368f8ee2988d3be2bb67f20e7d75e4d76b271919faf9669fe4409df57eb9053dd84ab24b0c78a4a6d994aff60d07b47376efbdf7edffff73cfec33fa9367567bedf4833ed30bf567ab75d6519c74726776b3f7de2761c89a68221387013c93436676f7754e211529414a4afe9d359b73d64aa8be5beeec79bb81fdb9ad1bb7a928ac57778543abbbb201f9dc473f6b7d986fbffe153a240e87d7f8256ccfe8705f1d2f71c8068ce7e1f638c50825954600a5c608953119fa9760f6edb9974f1ba9bab4a76019b302da749b75bf5dc7f1fff0e61d0d99e64b61216199976b7d1cb9e8a57d8bfd09abb84bd8c9b4c341aec12c9ce8b79715b8affae013ad4e304fd0aea5fe2426ee900a39c60b8efd9c5db6c8ce394b17b42b6eba2c5209e8095034998108f4e4cbd6163bd4d3a3f4e149eac4c99c9c6312e8883c1e632432de41b2c99e9ee4524f0b5809a4542adb2f978ce5f3e303c00acf9167b9b13e71c390200e9bff40b8bb5844578cbbebf2c44d4dcd669bec3932ddb81fffef81e1a664133ef26e6c7c97459ca2d168c4818d456391d9844489c0bddf6186f6eddb5df6a73199397cdd4d658cefd7dd63ff2ed47077032610cd0c2ca7c0d4ba7e563ab0ff367f5329bf53aa67328c84b32e9ae33aee0104f29699dcb4a9866c16fde8a8594b392a2758200ac517cbd2014a3d9d3a94f28081024b4c39767568eb9ff5ceca4d6bd1812ecbf6fe7ffc27fc3eecdb6f083a47ebeda12470ef75fbeb04cdb5af1f4c6c0c8172a647b7d6466ff06772a2b66e22712934070ffff74f8e55a23391bf23c939e7f788defb8857959432aa7b6aa99b0642edc1a519e408189d382ea79dc2aaeb18aa75da3a2f60f1f8ac60394139887ef541216f24b931dab0d0721220d73c8672ce39e79c73cd636ed55953e7faa439e7418b50d150bee6b6959b18369ebf8ec498528aeb4ca2853b5aea11bfc44b17b2df63da84a5b2e548dbec131e53674efb0f61c9708e8dfc43ea6aafca64277dea2d32ac6afcf2205b831b756758bb2549384f55913a4111183403438864cf09aab9c2c9d5ef615e62c8081a97d2e2d63e5bd8b5e604c58ab973ca71e66d361e53d7f1acabd8aef38b379ab55cd7989324669958cdf7decc349b6b1e2465efbd7507be3967d98c8688fd55f6ce7ac547c0db9ef5175c8b295360bc484ed484eb38d63a4b9174f93828ab39e1acb1b8434f0d0ece3907db7cc3bd39fcac908aa6484971484963c68811d3c54ed3de1e672de7bcd55a6fddc66dde7bc66463a0b546415eeb6bffbdf7fefbfa6f7df7bc7fff799438c7a54839df7cb77aeb282f8fd8997ffe3fce397fe6cf39fffdf7df7f8bf02c8fdbac9d3bb9919b19477ddbb9b3f7b66d5b1f32063f918f182ff8a28648d550bb13838b6af153ccbea240debcb4a861162544ca254dcd191d11b9a82cb4b4336a7654675ffa84187953f257a675551bc2c4c51784ea17646d089fb3b08b6ecd985f10337eaf6b79a9728b524725f5a0cdefc575aeaae52fc2d6d70ba9b024541f5e2f2d6a0797285f7258d650c134b85589ce6843039de2f3a4642f4038de8e23614ee29a5797fa2f43bf96c7504a7e6e691d9c47615c68734704ac83208176858f8668711ed19e2d12eff1cc5a30318171d8783e180ec305f65b866f79379ac0b1fd688790b56460782f776558bfb0b0ae0c344bd5abb9499f675d5ecc1d0e2b0f25ec0214e482a764dae22012f555c83c941777645584833e4798157e6d0eb95eb8f6979cb57c34fe16ae4f7637269546cbdd9a9f92b67860652efc993bb1a9ef16c64fd16bc5e88c44efc290e0b471ce6357fbd6fbb8f54cd6b75944d2853f72ea2736edf0ff9f908a65f7a182e8c5ed69d549b7ac4d35cd5606cb5f530dcd0d293488feaaca6b16bc92b6e39ae3a2586bc676eef0acb81c4d4bfcfcc94a289609ddd91ad7992f13a4a912b33aeda58e1aaab74a6e7a6165095b6a6c9a05fd0814fa157acbf156e223900ba8aa76023fa6ad12131f800efaaf43a2fbde148dcd32f81a660d07f049e091ad6c46ce013064e6fbf2a793b766c78016168f0c6a72e947584fee3b2354aef9e42a31a63f5332b01f32a580e81ed000386810812d4259d2d8419219cb35b21c3b98af901b8057c8c810d12bd456f40ab119692258c8be9a6a470358202941930228454509d879545803769596d71eabc44a89dda864cb5e0d2609612300a396000c128a8492244a62100381246ded03b4c246841b0f898acde3a338340c8742198e413006c22080010084031886a110a721636f00dc5f4e3d9075689ecf427c18797428428a513f1aa5d89488b80041dd941cf9f30f54239ea3492813e34617de8b052b5cfccfb9f98b41a5d5d3cc7ac68d6e81f3cddeaa308376c2bd0de4cb1ee061fd0303be63bc3127753070ccc21baa906be039bd5a0397620142a3876ecec3230633be5e6de7ac9ed7b46349b2d27b48e229690d73c4f0a4d3d4b3ededec487af7fc0e9da85ff5a402b0de76fcab1bb2726b829c3105dd90430cd6ee059a5f81590bf6cb116adb5dff9823646539198e29634a1f8bb1d29a61c3dd63abddfb884e8fee9ced57bb3737b259ccf1566d23847a38ec3642019c7c986ee4cdee1d1c326ff90b65642a4c99916976c9ed8e7c788a56690fbb868b19518537832a8ed548ec4027e4d51961882a531f4fff1a01e918b4143a839f8c3b021da12dc0c3f04382029ca0f810f06cf042595ca75ed3af32a91f92d00e274d8e59adad548f5ee9d42aa3e69514142d06e6ad5e58f25432280e029c498070bb85c7a6bc4c82bbfca00e59a19475d06fac8b1a36e3ff43118d11979c4d5930f2eef0e70d8860f7258705b78cf1a35c58159082e1e089121d48bbffa3785bf3b72c9cf51d23586c10d1a04dba33e51d0eb48e2c565cebd312ca3cac7f89451b1f3bbe35bebb999736c048c2e4b74ddbb2cace3a9f5a0ed450066f11917ea8432d472b59b041552a3f97361cb92d4a4534b95565aefd3123cb69f7938e06c3b89e93f7d61ed0953e7352e31170e1f6200e23d258495680c4cde591728d2a9ab5bf3720960e10153106aad32321888ee227a85671515ff9df89a41e30474f42f495fb5edb0dc29b287e37d632794778059f13e701caba75ed5f916911798fe8ecc73f3015ab0b13bb2ebeed88f088410c73adab2b0031df3024e05489735d21714e983d3ac7f7b72cc161e0891bd2d1c6c51e930407956e121bba28424510300dfccfe6ae34de3948c0de79e49580fd7d4380b3484cc36414651edd46b814e9edb662bb848c562573bde76f3775fb6f1797510ca8faaef15d44986f389b8c448d13da9250079c354ef7534f20565836878b9769511c875f54f9d4607c3f02909171f570ceff727bb955f4e59e1983328aa969da89c0de5906bea28702960f6715c4f6e8e12aa9bc0d982b771a09cb4ebb82c3702114d0b212d1804fb1ae2ebd7a65566ec9644f85f145f28aa8982de6c7b222bf16b9a672e0527716b2cbea49bad0b73e33289a90bf4c72ca2c5e0c1dc8da521fcb637185df66750122e9569c384c88145a344f56d09d2dd4c1b10ecb7c82922e216abcf435712e4d029302407479926e832f480dc9df4f22296e7c05554920be3efff5a4e23c72e2b0e45128c9686388cb02e9957de8631c8ad8b0e283fc4f3a78a8e6989c9160d7b8f52f987e7f99cab6c8cc53f8242f450c31bfae023f79e37e42af4ac3397c8ece3c031dbcab7733f33a06014d05d61a5221a13e473d3ac39e287d629dea05d3c2e9ce3d7bd0b751b867beb77a26c9cc241c7be49e998f63ef7c107a2e5e08629998d44565fa3abae3dd100ac320fc7ed8c475be41cfc085e0a87cd04b0d22fb69d14b973f4c1dfde8c91bd3321a4104c6999ed5d73bc81adea6805b5e1132bb6411ec654eb4de56347b14c35041de253d512e35a3b888301f68017ce692c15a5205079787175a1ae577f8afa2266ad573900f50e93596c0f4a21eba2a1d4f1be7dc6d05fdde509efac00b7ba8b5a35c2235a28f338634020a73778fbc18a3d04014a881f8413a06d99d9104b5c04a538810f928c5270b9d87bd72421ba39712e36c762bed54849003836c2e572ecfb88d455446f6a5f45b1642ba0e1d558930808d96be0172431602fa413af7da86ebb5416b174277575518b8713cb5e6b7602054c5bb06523534540df040d1c4380668249dbd6a14194789a8df3b5aa8d80c62b661c24109ee489f61100951d67122eeb581fc9671abb97c90eafae1792be9739dd077a540c4016c1122f07a0554ecbf7117bdf4a22923a632ee91327a8c7f678298997255cb46cc492fb20e5189dc133a411376b950bdb44de370b5bc67c5fffd502c94209c09684f525f91a41047512952432ce4599926616830ed8ccb350c38542ee2e0f09183e1392c629ec3e67e3ee2705d4dc42f159ed11e0f1fdcda99f93ce4414c8442d2e1f4e868a8931be285797217763c9d2c93bf8fd145a3e344824f474247c7e7f332e5487fe9352a53a68a4e4fb777babe3bd90ee4092f64ce32ad451e71290777d4401eb5b7bd74aa70d0a037a51a74672315745c1c901ce860be44013fc79c14fa2ed4afafab89c5179f017ee8aee5b3a66ede0fd2cbd2abac65285d06bc96e72ec87c34d71fd7c307ee14228613671930c2652ec8e1de2972fb68208d10cd60263858bd672f5d9b7cbde38a13094c2cdf7632311acaefead03b150eef70de871049258f269312cd43cf8aadb3d77661e3f13bd9b054a6c3daa07f1bd531db529a1cf6a51355f90dcf9c054f93e75059936a70d10b281adfe56a86ff3aae529661e7be903a8846e6d96416a919ba8e04c73a34d2a271ead0fe8f9fc58f492f4c72fe080611577f0b15a716c496c28192a07df4b9566e97e5b8f73119830d9679684c66e754a8ff13b663d21e433ae871d19310457af89a253809658771416bd856e51e2ee9e31d51da3e17d44c0dd67010d4d920cd819c53ea17014c67c40b1284d077f5cc7eef33ea29e8884445b66d77ebc270118ff30f0c39fe3d2bf882e2e0154b076943992aac590cecee3a7409d7a0412a0d6d521987bef410f46d610722f7ea2371ee4063f0cbef4556ce277eaa8ea047eb170cb4384c61883e8818f250a1a49329118aba3c6e6ee75c3e4be4841741a3c205fa2decfe6d886c3576992913a243c684fb11e02214554593f345be855b02e1e886306ac84fe53618a942f4549598845329ce8e1cb19515f4c012438dd1fc41eb2705ebac80a920145f247904dd2b7ed7ed0b222f0f0aae43a08786b213f8f0734d5fd41ecb8129a8c77ac1708ebad7bae60362f33cc1007f13ec04b09726520ea7dcba28f49a40eed9b8364027b226220ec64d5c2bc5096a2409741ae481ee0e93054c9c8c718058e398f3628a77633f1b5e6205589349c9c0869632b6f8159a14011be14a5862b18c3d4558acef145da977ea0ad1db3c86a63d22b19533dac969684ea6a844de416b54b6857cae8cfd3c9954eca52487235eb5f48d17bdbb6a6527e023510943841bc64207f4d010e1db3379b6412acf8463e0c800d5b8c1bb7701df4323928b4492e89497271f4944b1e7402c8f4a1f3e05c5fece0aece03da1fa6315f51d367bc3dddea3ae27ef73ac417fa08cb0a07234e8a9d82e2132a00e02b6e2a705d5bb24839276db98b235add6e921e98bc54f3f044e508f11db058a4234451c60d467494a8c11f99c534ce626e0688c817a113db55d72290f10d77aef6b0a484410082105088c974911cbf466089f8be2063ff69acfb5897993159705ef43e0497ed73885ab287b089062c3e442e276daa52b963a1c4c2c8dbbd64ee3f9ee9c3e4cf0c8b84a3a6b7f2fa1180cf2b89ba5283f38fb1baf5f5b94ac2f65abd52defdbf317835cd901cd5ec3561b1c4243286b1d4e3ab380bec08c93c30a23339810d65fc024dc23a4527dea84fe267e274fadc6ac144cde5b9bec616349df2b0b34e75b5eeba585ee622e9a3bb25db9105fff75a7b03fa7b07622818e0a67682641036885aae6cc9b26b25373168970b6b4a47a2a712fd04fb81faf67c5a00c6b18ea6b6a8c799b3c96da5d77a964f7761e290956d8fb4c492fcd6fd340c7525b0e1b527b74a01de9075a52a74d63c67a21ab64eaf9dcf2561dccd88f2981da8049e0d279241ccff3b43470e8133318aaa795c1ad8c2d328ce23015da9bab6c4b6b9bab6d7b35ed428c2c89d552284cd9207db67dc1f9d056938e161da1470f22c8711420012447cac0ec52854ba52fb46db9bc9a8d41b241670e2900b815516ea79523c4e0903e2b6e1c7ec37713bea26808239aacf58950c0ba6efab748e5d2b12bccc407384f0f3c5adca569556f06e7957848ec82e7d04246fe76ef7ff701119f77bbf70f10c2d358f6739003cdfb12c921445d5d8b9e6873d9d72316ab46484ac4037d4e507ffd1a726dbf469b39c0812a7a362fa77a4dd2e10a31571361ebe3fd9fb8a4deab83f4dce877e491c8d5fb92c86c68c8f837e526013d12c96e8c8e5342a363450b9c3739c03c76eb369e17f33371e17a6bead6d5442221026f43283db581cae96f9a83fdebd4e36a22d9dec23f7f8513c719eaddbc92a2aec4218b88842ec4591c7f883d5463e90776b9e14e8425bb51041f3c264221bbf3ac331b66af894c78484b08cde93c83efb9e6f8b211785ecb467fb59973f66d6950a2e94be73af643b5be4c9b788a91d369670ede6bb62b04875c56b169fc3c0f7000ac5929fd9ad4c549f3632ef34c9291208586daf258b324befc8d250bcfd4c42ceb90e3a20bc4fa71153c8e1578d4b415febc777eb5c12f28731226a09e4ac9c0a27671ec0f9605b6df5ffa0d53be5e7245a8f28487ed16e8a719ed1d96a084fbef6d74c4b1a4241801a3f47faf794ba55a317b3ca80e58a2ccc9f1c7f3df974d4a73e89fe507bbee4c72989b7b46ab1d13ef2100fc5f938c58980f09b3a5f52db8620354bedf64288e72cb82cc4c7ca1d970e4d3e5917bf53e5142ace5193dd9fd0c682b01bfe38a219832707dd2a22174e3032c6ea5084abf08c449ac992c71580d2cebd3bcbc1a204685ccf5f0346660a4cecaf616453277256b735a0df90872bc5122cec1c4334ba20bc83f8b428b316ccb4d739e392db4214285f410ec4bb6dcf4beddb2d20b752b75d38990f73ec9490298b4f4e2ffa1430b94b9b476b3b4a2ebc2ec894912269cb14204d062099f374d252a453a92a42de282649d7eaf663df8d71de7d61672ab26298ae7b1bb85cc718e651476b2c6cc0bd951b0d124607c0772245ae1eb83f4ad1fa7c950765b6335ee9e26fa9676b53766924af0c6a7b1d745935cf039559240e46e7dc2026aadd7562a6759b1760380bed95b9cc5440b64b080586d6b61876bd4812ab252a3fe343cf6fdd0890542da09c08c17cfb972451447a5e095444ae19d1fbade3a9314d94b480ae52bb3952a907e384c5357faf26959527a630e3b34ab179719ab01e14080484122c6f78927867723f9a9d33abae1f2c020de8110d342c04a688c665f732d04e30681120abe2491b13457f277221708944b4007909e66702408c08dc24c5430c8936e1a5ca794264559d5344fae397c4b43fc7fd16a6d0442508c4d16081f0e7f66a01f24003129a52f0a2d24c570a5ecd5b2eb850258ce839b739a57e48adfc0c9981a4f244143b39d47cf20bd5d2b90de26ef5b6a072afdffe17f9def1e9d3dac7676560b378516eeb547353d92451dae53afbe749cffaf7434016fa6a86d6dd0c4a5a40b95d68a0696c54af8ba034e7fea2f3c761da326c69fa30d4feca91e7185bd730e254b8802163401db950a229725b75f8e2026e7a1db558aba7381436e5648e003d8d14935b543c43782f7bee54c7f4e827025759627eb54433273c73c612ba55e52e3e13d2d650416bc8eb3b879bea1f6d49d08ca790c638f579c9c24183ab5232d2c10c2657090f38c2f0751259ee110f462e71c806383a68846b459814f2b5540932e6a46e40785c73707918bc218c810cf25901315eab5d3f294366e61fcc04976a679557494c9c041db577191817738867e55865789a364c5f1a8b8642eb3d8e743313ed8286b5761318b5a8cd87b61394a1b040d7d86b57b4c5fa707753aa5cf80e3f82424a7717a328a38b36f85011c9484801d502e9245ce3d24623c7e31463289b2b7b30905d200d2e9709f410a27ab754f191eef7824c6295c7dfc8e4dc5a13319de1d9d04bcb0b20fc4bd58f18bfadcea42d24f996365e2c1ac3b0c858a8d9f3e31a1625141f79944c6e3d813521be9414c13b4b70b55654dd0553a9944e41b906c0ce290f79363e8d3cd1fde47974f5b124aa64e881dba4a2f67d79a50f286900d70b3b4f535bab73b864a414d71f961de6eebcc447ad92e9c72f8dae612f026c52a18d6ab4ac25970251dc3a4ca192cf20bdd9de2fbed98909b5b91df9c999816ca9774876b77a881499716afb3a8bf2aa70b6d0a11ba224ae3533d8a8035879409d9cfe42931cc5511560172ebc81e06a8da7e76cd62ea119a967bf75133a070b793a8c9632446c7916eb02c3790d19c17ca4dd6e3a6e51e2e4eb1d0decf19514614fd9fe1ee6463b0dc39284369d232d66399cc6b9ae91acb295ca4b42d8292d41f57c139ca72b2346c2185830bef260e2ed4750115be724bb060522db421c77abefc2785095e13d438d21753987e5c4d9c8aa5c755efb4985ae5393425cc92abfc442db9894adb1de37a2e1c57eb922be11171aca46175397e8ca7a0d360772c638c36e920b098e7cfbeb78383b00e342987969323fcbe95eb69990d961b0349e8b6c042351709b9b83e3991d46f0071e690c7b0341057076cecbe72b9744891f2cf5a715e4b760129690d053752f0567a45ca181efe7d27fcf3d0b1ac65fd289d0d1c09d2287899298127331d440d2fbaf79b2e57e09662b0d31ea4f33ae5618ad269b4fd2755a419f2299b0ccdefd3ff38f1d745128e450e3093d2f6a8730869a603ad4b71a575b9e2a7a1bfdc61762e2755f4a256bb03a19973419ba240f3228514985b775e1a0359a52e1dd9185ccb0043570b4386930b010ab5f59a33167d7190c330f8cf304d56b58a483b5fdccd1478910fff0e84b8a988e4c03afa4d7a2a662eef615c97f8902d009a12b9453ab1c76fdcb1a9172a9e11cb2ab292c45dfcb23e61df664049e014f54cf0575f8b92bb9f77110f450e679369365643186b21a26c20d35036e1dc2858584d1538fb3ebae4241376564a7013244011a64db86ea96f291d383b7c08da1a0ca6478ec6512474fcaaaa158951dc990c138731513f95c51af720ac33cd1e141a9608c7c9e5d221b141723d131848d3ee6eb09d73f87604b87037a8d2be17d24568966836682d582ac8da35f50a523ad02cf96e8a8f3386fa0e9385613b4e6c2b1e176c12d43777dfef241bc7f069cd47672db4ad5f7830e337f9feb6f4c38f41abe28f4d180f68839439a1f90deb23e98beb6fa8b54fe9ec785e114499b2ee0787f8d226050d033e03fa683d3c77c51870ded39742495fbbd5ce2967ce24d1f747df62e3b0077cf4284aaf5a7e7c96af397fe2e362d1418f6972c2613e600b9e64fb6a16dfea7e8c51456e470de4d73b591e512bf8e179133b8e1ecfdb7b8b0a0fdef33ca0f78cdb92d3b776a4c664430bf8bcc58f79d0556edcef24a5735628277113b6e2d10425a909994916c4b3f08411a047aec4a2d37d258d3db08e8740289ecdc784cc220591de2a1970d81fe664de8a5eb8a66b780e56067aeecb5bbce62c90e85ad048915eeedffd3123607ae98026e0adedcd3c0856d05cda63a51b71c56b2e4e8a61b3da6c16b1dac0d74a729d3aa6819bf868f1ffe44a149b4e0f7e881d6bb69850e8fca8459bbe65b887a23e6c8f254182b945e70468ea122b7c58459c142ea6b4f363dfc1f2c495a0a4e1dffb6888ae91c6aee6713588d55a39226fbbbdba22172062e7e95e6f4eb1c967e557714ae37790328e3dcb201cbed8d2f0770279b4128109202d31b69c36016aaa942355709ad57409216cb3faca5c57d7ca2007365ad255558014a0203f73ce5ce588a221fe23d2cf86515d6ccab24d6e16db258399e59c3ba8172ee8b554cfe7e3777937b67716ada365b36e42428dc8bdb794524a29e50e1f0236021e02786643141791065dada4ac7ef553f52b91d2242af2b749984efcb0fcf9f3dba00fd45905e22847391a23f2cea5bb88315e8b68a9580dc8da001aad71452c229dad38e075e6daf75ed335c8461212ac88bc8db6af65de7fe482e0f5bd2ac33f9d4c27b886c3694a00a87227bc6635e7bd9f4c28532a854aa538c6a8cf7b8c31eebec398ce7d69f9c2a490485fd42f05baa9d0a680430bc451a1fd6185d86987c6dbdb7a6d5adaa4332ba567a5e763273f690c22b365650456599529149a041a514cf332f8684b08fbd15c792b4e40994de6d1b49808556444266dd88d843dd97d26f727fbf8e24c2ff528fd4a2bf53e1a850e60a9923940ef4df8910e429f421612b01a4c0fb48f12ac8ceda9a1bd41c28082f850a77d6d246f958ab04a4169251bd62a37ac513a9f9b4d3f0c4692e3f8df3b8f692492cba8126ec73679f47ec271ed0b39562a53225da5ca2c8ae979abc1c0129a84b3f124a86dde6e9676ca0148114d67701c076b91dbdaa3213687d18f5b7692c3ce6fd1df58433363a7b52e9618ee4edece1f9ddc379eae16ae155c47c621970ae214f0c808e96667d6c431a5d19a69d2788e3239a2128955219e71d7d94eaf36167eaa7cd888669c27a9b725dc8c99830ddc88fa1952ad4873a66fcefdbd12253b5025b4d65d6f5a9f92c84e3018498ee37fef9807db9d3ed1d35d4d864fc2f1178ae6a4d7a50b1a5687d7d63a549b4508d12a6d88d6e731f06c9a360a68705c60fb99422ab3d35ad4939eee624ca049abcd59cebb7a2beb7416b731d9615cf34ec2b8bb6365549e6de7f3704e77260c673fe96a7d757fa73a3707e7974f6feec6c67b7de3ae81912377a361ba2149f253918bc348b95ab4257e27c3d5b340169996172ead9817ae615e627aeb458b0c4b0e102d90b582219145e3ed3bd7dc8d2b7afd85fb3b3949d8a8125330b88bebfd2cd40cced85d7fa2f9dd627513efafeb1e5fdbb3e96e34cede3946afcff139672dc7f5ad7e753a8b6f6be3e4f7b172d80e9531276803a28a964e0b4290e9e941e289a53553dc4b2714ced22943d18e8f521a9125b2b71d768459ee9124cf214ab1181eb19e0d809070c29cb6feb4d5eedb83c2b4d5aa014da57041d85a6fbd35dfda66cae2bbf6c0b7ae62aa0acee9398d86f498d3475bda92299818095132849d45532c0cd422b1ac4a2bb5d5ea1f74cf31edd00c563e5d491f5b6554827c30c3ea1d4689223c0c01e4882e88c849b490f4719b13418e5461c52709b049e73845311787510d4272be17638cf30d33177256041c350148b8c56c25d440240e22c1e384d8a4a6ca62ed2628a5f48770364a5c8811901fac16d9c481284e04f9815265051d121c116931c4112e7a9822f6e44c3a97bce8bc79713a5cdd2f8e522a7e8cc3d19cfbcefd7f5a73defbff286a167ed66ac572b940f5f865e32e2faa21554bff16d60a072900f3302ee1eb09b75182ee151b847bbe3975e8c941a98604daae7871c3e1169bf93c508f8a26dd50250a65f9d855686d116e71cc022e2edda54952aa5071254f1c59b50328bf173ae79c71ce386600a5377ab3604e021efd8eacb79efb4cfbf334a53f7438706e6cb6d0eb602223814d8ee69a73d61406cbbae25c4197f5bdb78589ab2a763f5a31c6b5e65b6ffd9cb1ee6cc5d466cf1b8076679de7bd3cf0f887ba777e7b9b924ca75b35ac8af866cd8a00b542a1f6f8fab0bf705c170047eb137c0998f9625bf9db8069b25f19f3ecd1bdd352ab1b7ca254b3a6a84a35270aff2a89b5048f2d44976e1098fa3aa64c964c14b285a6ac544b15e3ffb7112d714448a8d82551080ae0d116fa6650279b21cb006330299efda871dad2c9d9ee458364b674bfef6af1d6b75a4a2cb656e8de9ab1fdc4b9ffdbb9ebf4c5fb23c52250dca8b583c28635d76cc3ba4300a08349f7fbd4fd1c5819321a3aeefe1c98943d8eac7757bdfd1b7cfb35d8fb6f98f6f79c36d805aa46b6e282a766541bdc62b5c125962863096d625dc68a96f7447001bbcc0bcc06b58869b53698c50b990e82f52bcd8d2a54e843f0e106b1103778e50ad706ad98d96015341ba4a26683538c279995d7dc421b9402a7c6d8a052ce06a3d0d92014e4069fd8d9a00ccb534badc31932900a4f3943a602609632ae39ce03c3e1ae2ec37edfb924d6d13931641d8e77f3d9ec97cc76bbe3d5a71a190d9f91b974cbf5fdc91186c80a59be057491e92f346fe91a1303d37ae9322e3e58bb6dcbb3c83ad7bcffc821692e64c1c81f49d8d82b4b5cc150b95a9ab3686a66ecff2ece699ed5ea2819d7fd477d1a4ddbe6bbb10155d504f582604d22a48cfaf6c7d65aa465772ece3f8ead1c5a8bad02361af57a317046e05a71465a3290a4806804ad2d172bf7008f74b2fd68a6bbde2d7a5fe7d525383e69b0798db6f2852cb53fe05149f3536e23a5a693567bedaba78615f5acb1e237f7d428ead12f1d5dc602ce00604d2747afeeaae79dc6ff9cec5df7def7deaf81a4b4171de2f79aee4767744683e810ad06d396f2695897d457332949e90aeda11c9c6aadf5c70ffb0b9ff525b4bd76261262908e75a88eaf3aeffeea529624655996db485996e05159be1078548a402578b48da49c4c3c6bedd24b64093c2a7fcab9548a40e0d1365296367bb4c4d8962ef4f2a7bfabacb596cab2a62456acbd6e8f24ec359e262a3399acc9e6dd158033f9e93430d6660ea542698c18ee76fdee875f317b6d78732fbe36b15a6b89a497b8e1d5264f014726dd3f54f7ab60492660d69df76db1e6f3c6912461b01b2474f7e39c9c42d65dd699e3da959db55f397f7e11144e083aed2782e2e5ea4de029956aff90d57e212c8c594a169c336eb1017db4b894a04bef2f2f30fb83c4b490be8417322d20c8627ff8b485fb4910f703c1d80fc4b57f8499fd22d0ecff51b3ff67c439e39cf1eb7dbc6cca6dc4e6667f083831ca18fb6739fb7be8ec0781dccf6367ff0e193c3c658971f91f9497cef20b20735b4b99584a31ce399315d36f7df6805977287d22105e77bd9ca7b7fe6efa4569b691c4a3982053ee79c071ce3a8d5fa8d40c5f9a1602234600100e07c5a2c12c498124048148ab0f9441c8c49c0d8b10d302a358500e633886631808423006300400450822c820c9d4e90627269d13161550b7235cd70a00fe47436bcee62b0c3bd20ce4a02f21b03e31b672cda033bb39c254522171525058084d5de7f7620eba8d4d4353cc52baed9c6c73aadbd9af5bdca594a9a3cc5291b1e5cb7a768d09240c49d8674ff3b75cccd279f11530ef20e99dd05814990746c2460a8b1726f6604c2f1b00a5342682cf8274ce26df9f45738189f5e8f534ede0628057a07d2d45b627da9e8498678a17d7427f8e7973bdefc0244f95bc628a67c4e104e5a45a18c40b9465c535944a9fdc9bd271c6f0ee93543b36315141345c8a48a4b02d8fc1af6a7791cab3bdbc1ec5690673e58151745a91f30260d627809e2983832de0a16289fc8052af3ee9d45c5157116a5564e98c9679b5002c92fabb711e1bd2b8314f4217c6e119b4ffcedd1c89b92f85d40cb1373b288e2ce4d5f65795cadde2d7737713f3ed087a4758bd1360d8fe2bd866ddfff3dd7cc59ff4fd60fe01e58a6270ae68ffe9b49446d84b6775115d135d92b174bc35b6d2b2898167e2c9b47c55070b19be188baeb486b775d6875b598259c767e183faa2b4ec77524f9c117f42129a045fd1e485595f4ce5dfb3da8761854bd748e94ebcd579a34039d2e596c69d895f7e218475a41ebe8f203e3a0b29c1ad0f641ff1f305bc8228ba709c19bb3b665728e83f92031ea0f9b76e7da65e441218d96427f69f2f8051c86a952a70c56e9e89da7100217f1445edbe707e9429e9228c9b33d473b7b9b34f80eb56c944b7d35cdba59df77ce36201f032b8d50de855d13de7bdfa5f32a922c68bac2ce483f66d3532e7f557292330e3fdddce1d51dffe75424bae45967d39c8a87dd8b04651811f705f763c37052dd83beece465983af9ed9a6afbc78b50a2cd6fff0dc4a5e5e03eed0b8160f551fe965bee14cd5d5dead92b274badef1aadd0505292e141e61e204982e30f80a9b28039211838911a24aaeb3d361fae72a569eb542013ab86cbbad2d991a4bdcf1c34d8583739ce7b7c4075315d974fec04edf0fdbe1fec9d25bd255c6dc3c6f26cbfcd36df2783c9b9ef7a35af090e73fa3167326e7e7a0147623f4575b11e3ed55bfcc72ebb6cae266816a0096db23620d3a79cb3168871808940fe28d9e47e873b5748d23fd9ad1ea23bb7c32a14143d7a6058281ffa8416735f99f716bd94ed9d4403fefea2e1aa4c02c457c8bb01eda20500a6cc125ac9ea1bda943cd631bb67d11135d6379a9ce7fec7f8ee41227f2e76e2663cf9c6553176c3af091aacbf56c71482ea692fb8220832d7798a7a0f18a10bc2969491b113ebcc96d5872ecaa43d565918f40fe5ee87ff3b910b629343914c227948c90e932a7978370a9ef1ae212ed254d60625d1100c7c96048c146f083cbf497c250a1444065105b416b3743884988ce93270dc0debfb3da9685b9ca324aec25b56c07bec5706f2f858030b95c6a92b4966ae4114dd6ab018181e07e37350f7605765058a7564d6fb60c06856a3a1f98e47da4f18ce86bfb6b2f1858457e5a0ea2bf4f32bf5bd2c2d68cc52d6e464284d9828ac9f96a12f42d11575641b81aa8d6def7244999273befb701c178a71d4de3f23dc4f4a5ef29f988dd8edb5e5079d60982ee032dbaf9164031a5408b5bd733be305d5e3a4a97c501eb633add67fc6875d7bfa554035789fd5495720fa61f82c42397356e042918535b6703ce43d75106a0b9fd91746e4578d29b6fa3159bca6073e5746ea3f2a7841f742999d31d26f3aa4ddac9cb36108e4150a7af00f20d57b96a4a0f3c2c86a8eb0679ebd372c98ae5d5f56a9b86954e9b6435aadbe637429ed97756b0202b4423caf49bf65cd08540a1992847b9c071ee649e912aa2f9a2968673a309bdacfb572aafde7e1808f90dd401c4f6939b97dfdfabe3633d030387bc9fb8e9bf1bbecee482ecd372143a2571cdbd754ad2ad8e6567b0cf1bb071cfb2dbca1432e9cdda7fd8f59cd42146df37deb7734b651c7294b087722b43fbf090e6a53d792d643e69dfa5ab5b84b9a1eb934a75679badae4513f5c35099a35404488fdaadaeea8e2cb287e411c196246dfca87e17899c5ab9e2c0a4c955112a251500e2f306a90b081e98205ac90dfc7690a1804125d82ebdded2414ae37b05231c286f5c1049f6d2e7856148391470ce138b8c3f7c42cd33c215211852b8706b4a79a957df5b555df3434664c1c95c7419273a5dc2cb17f32bb73c0cb6a06445f99b3a3e3c250e4c00aec78f843f6b741521e37f27c65495c1795304e1aec255096c269af8edc9fc533355cb5291a45ecff41a84a4c00a5fd1f8c125cd3f384ce9aa3e1972866ab51ce9e3a96934185e0896c30fa1c673d6dcb6ad2118c5af8cb8a1903e1d057a1e409137605f247d4696e7355c9b1bbba157374611d2fe4fb3dbba77e6423b5fc39b4627edfe519f23449284e92c7fee04f9c00736fe79d1c0c0a746083c8e19cfc449dd0622f8dad67f37b870353f600519a6796b0518b00d0d9991d7d002a2f4224249255ec84ee8fd9c87b284b7832601dd7438af85672847fec4af93ebe54bbd6ac30b3c0ac4e9f71942a7702e50798c2bc4b556422b352ec25053716a6a841b5f01f1930d92950e1c9db31403b807ca525cf487c3c97843398a21a75d04b3cf198a2ce10529075ff65c72946198e18e0420ac32fa58d877bbe40c6f3ea0fe9951ed748f16a9a1666e22b0e4141fb1fe28186d3b1465d5e4e41cb8f3a46a4a780e2fe4d941f95d52363fa2a0f48963464ddf302acff522b709b6f301271c7ae17853185defbaf8e963330e5fe28b5ff6d79a0a8eef92956a7dbac68404fbd62c3a132d52fa479b5244b462faf71407347917644a691247dd06c32521dc3c4f48a763a76bc4855d75609e08cf4508fa2a092449812481a364cb1aa3a64e9a191c4b42c42d82ba56eb4a530de37c88d3c30dc939996ca96cc70ca9847411f866fe0d1eb33fac9e3f6971887484262125868507d4e925c9369439d412ccd0c8fbe9ff666ae6b7fb657fe432fe7c8ce0aa4b661aef78ec0bc5454dc9a328aa979c3490dfe0ab92564d97c278941e5b26a68ef9466e975c45c5fd507bee4bc6cf7dac314c26caa00d2d04ee69f0caf56c9b8c844aae048b52be8163b941616ed6275c6435e4a96d166fb0085a12f93a0d66f7f2ed7bcecae07e54e5a14b3f6e7d51f874443913372ff99fa32f24d236ca0e138f0b96b7e5f39341a2c15ed0e09c53a5494542d0c6daa156494dd8f040d75b24aad8c955259c6761df221550f0629fad68e61a85f50eb5fa180054f95a6c782efa9cf55e7fbb67cd146261ecf0ac44bfb0b5ab2fd0c7e7298f08f896ad9d990924d7e3070c0408ca61f83ceb94df7e1f8e53f2a91cd421bcda0c90b9b0cd5b600248ddeed45904304228df65eb74c124112116e66428c5ae0f4c9e7afc744facb0730c0c4125965f24f1996dd2ed589a37c7a08020eecb132917a03c9944bc2341c6304af368d3b4d0f997807b1522264d7837c2e9ad5d12903d2e8675c2a8a2058dc61b174a1af21ed9d6b03106692c45c050016b941c1fd2440ed5944c7d1698c7aca0a68e4dd5b371d04fa695d46c6285bfcf8d6b3fd226ef07ac4ea7921940789b3ddd7109faa33db5968f332f826a4f4b6b00b76c4ff35467767bfa2db2421d9c736bfa19e82b595b31e6e59ed23337755db06ebaa784295fb4764f5be009faae4bd59c0dce071aa81f6f9a003650cff6647be86dabc941390b27654147505163a7241d9404d5511a7378ee9b5b573bab1e103643f44d30e119b88dfb5047f425aab0eadd8c4d281505957d4f1f1de0dc9be393836de729e9e83dca4cb338fa992c3798f26b0681869ba11b8c3e2d3ec62791d187cf866dc357645b54cf9516cbd822c5aab4084f67fcf7cbfd60678e3ede0d4e7f56e114053d347e13f6a8b5d4dc6fd0a5c2de6f4a2c7a0e8a23745cd8fba6a86f1317b223a6f3aa57cde1d13c9c4f7c0d2116e878c40e94fbec3327e2595ea2faff94747ad6a9657c466e4e3c0f80baf6937d18d26d7808875dac04d3396ddd3007a52fa5c52f2443bf23cc234418fb4b507efb00a765a6650a8e6434dbe5a9b82dff275ade592297c36e3c0a6b1d87a251bc55b5c3123351b86d1b5373f26b7163942647ecafc4ac6d7c6b671bea57381e148b9ae3eace73bc1c1fb81e550106f60e7b0cd9bf119db4375cf867974c569f898549926a437c4471926f8b1395aca67e11ff6ce4403cc3e075069d9e4563e27f8071480e68a7e6d8312ba3428d1b40ba32b8d5e8caf3d9a46e5c07e17d638d94daac079c39e5f6df58f1bcbcebe3468abf30ccff61ab198c5e1329afe41d3d66895265e72e685b19bc1be916dfd77b82e74e377eea1964d6294e6d8d831c2cc2152c5781b511082714311b677e251a4f575fe6f1b6011f74a88d9f83950e6aeba348b084940308c7ea7043be1225c67cb8ff089d35146848cad72b9396b97091a49349293d1408a8608369d882269141573bb6e0fdb82c8103ed5d28feed9cd73fa8946e501d4bb9bda8b44150942295638a155dddd4a10e04a26c99c3a695f053a506ec4a82cc1e6b285bd797726ff43243d33123dfe6ed2dd2370de21ce9f01119f0ee7516d0f79b0a23157c4fbf3d1d58b0d39baa432161fe6b350a6df20950d197c41d54ce66135590673fa2dfb1c4663c318dced5305c4335c6014d5bcff8263b3ed7b02f18452948746c9b54fe3804bfb76105fd413cb6d8454c0fdd99fe74a45f5f7416012c03ed8ce68af5bcc84d1d4bbdf00522107b7b1386b9d3ed5fae52b30d4d5bdbc34dec2b5d72cf624fbf001edf21acacb027bf23df4c5b977351c7eacb9654b67d60b5aa2607470997c5207c19ee7d512f8a67b9f10a95fd9b1ce86dec67b5a1958b6be600d701f21cae7a35128dd3dc8060e00a2bd51080a8605f94d217ad130247672c4174f02661d59e29b4aabf19e9e70e11e75a0d8349cfebf7cff1cd9e304bff13e501273170585494c02ff44f1289212c05bb343ec01697432f7c247217a424d7e173cc588e621082304672c5941e9a1972d088bd0c0fbc320d5950a29b91ec6fb2e80e31a80e06480b6574a36e03c3cae69e81960df870265c6dec13c1442f1f5f7d5fa62f01fc3e03da3de9bd41e322dbcdf22880fb30baa52a901eaf830cd957c9b6bcce0f861f4aa66e683449f4d5508b736a106591293ce3291e46a33e64ef88efe2d230a034c22583841d86980e9033527156ee09b3fe49f63f2ab88837ebb9ceb5cca3a04803b39e268fcd8f07a7b02f8a8fa08b453a8c6641c887b00f104e1d339d6fbaa86fc2937041f5cffbd9653e3939844028321a8c085b10d2bc48fcc345100d97ee1914608b270045fb711c8f14b969d840832f4fe6b4c2ee4178c387a42b03b766e63059bfc3c1e8ad01578f54eb6e8ba546fca9f6722dbfeb1e83beef7f47bba6601bc7e22c2418efb9626ed3388984ebe571b2481cd07fcb02304f7887c23280b8ccfa96a82efc530cb26cc6893dcd24c29403570817b45099e0805299205938270299e04a298bbb9234bcee15478cf90e57fe59d26ed19fa975d34325d1af3182a2b5998a9744828e5efbc0ff96b0119fa4c5df3b6603f426405907182263a1c0aee807eac6246514201c1e980ca910d86622060810211141d6ed11c4dccb817625391d1c262fc977ad4a6901eda30bca84326fe6481a7a0fcc96469856d2f6c094872027f0b00fccc9614cfe4d479c64d6f523d219ccf02a11b850d7ba9f1968e0c1cf4dc430ac1871716048f931c6d0172da6bb308d21018bfff7a4c144c34e9b072bbe75534e6194109b73b4566743ce470d206a70a8ce29596663a0dcb95d13b91dd36073baf77da72950b859e9ffeb646278dac958e760907dc4fcb6c288fbcdd60e0eb51e9fc595dea9bd2b358a473fb618c4dda10453ef0eeb9c51549fb232e56a4982115a2246a5563d59f4df3166a0ce475d4b6dd005e4fd930b7037f29b2ce902380d72c201d39598416fb0d4330688f00a3809a9f1d0e643caa1135ba701cedb8275ed2ef189a45b7795b5299f21588d4948424488526f851b53ccfef5bcfc0fe56736916382ca355c7fd80a025819cf01ad28c7a83c8c9bd8b1b6ffedf37b24da6f352129a4e55f4d279ef654912211f2906bffcebbefbc40042975fa19a91ed4718bd72687a4ea89dbfba0a0289d05b89158a644ff5863fb43ca12e009fb40abbfd0ea9b251b4ea21bd432dfd606dab9a6027f5d20d453a388e196a431518751c00083cea07713fb3674667b2f3fba9f6296817bfd124ab355f7ea37d7a5d2408f659493afb0d37c9fa05c5c812c04507c350b59d4ef4ca8543b73b88efd704d46fc05d018727de27353f9098bcb5286e7e0344fdce6223b18f0f129fafb325671fb030951d61078a74ac4f193cc4d6b92ddb35ef0ae40757bf213499ccd2a7fd5d6b30259970a138815dbe350529e47e9f1580f19a55f230734324e1f9898de80351c31ab6bc8b9f71402cd4b45f9748511e6f2bb2f260a64abc4ba42a3a315f8b5fd6f92107aab02a40df77efbd2dd98fd695fea0702fda63acd695f2b5dcf9ff6e00c348ce725faf3bd7ead59c1b6c6530b46e0ae24a0c17b9eec274f022e1deebc37ae061a2ed22212a173453f974b91e384cf5bf901d24b0234acd6643e44222326d0108c67c7c6e97b559dea56f63fe96b844918d6fd87893c84eeccf45c5abeb6b1f93486b2ebbf0670df07d9af3716f5ca70e5a0fe082be991dd93a1233b8217fe6db3344a50401c5977e74c2b64ceb40b9981182b088001ec8ef84dbb9c8f2778817cb75421dfc5b92a764918847a39a25ed628859d2d85ec0194d1bf0e08a8b3f8a1ec1b32e916c80a20de4ea868ee72729aeeaa9460a29d7b9d1d75f7857a30915fd82f79e168d591d84d50597400ddc34579e048749df99186c7be1243eafd4022033456210dbc9d6644212daf4e91a9bab17e96ca39bcd14945d59faddc4b4038278fa641b429436cda3e1e3efb88a6da1304da552c0b8b0d00af80c1df96cf89f593e7753765b3c6d8e381cd13f41b0b81a8f0f8976f75eed641aa8fde3e2c09b21eca45bac524e2c0497fc4d58297d03de1aa0ad0074d1836c9b773251361eeee20c401344f7df7d7bd9d86139db6050fa17f6779663c68ed272183f5127afe730ee4e99e85eb17d2190524e40431e0d5ee433e87ae09a215088d4366e1edbecfa3794e06f110cfa3e2252db29be96fa7dddff4fc6511bb3fee4835a1f49fbfc9204294750fa58093611201974a3ad6d23f9e962359ee1d2b954e96c5e01187f35bfa7c26354248650c07b2393d2ef71ddd0a449d34ed370ab04ac353519dbe774de43c6a69eed8720b23fb00de2101a9d4f53764c55409229f47a2ed07cd39a1b397d15dbd0cf29cac160013d5b30a8a74c0b894bba4af40552649382de1faee4b00e9d62e9187dfbea12ff73fd22c0a2bd9314628c4812a08453614fe53644ff387354ca3c1c633f23f8490c1252953fed54dd23a46d238e777861ad146b3477340d58deed30b6748b389ef4c82288eb59c300bd57f1f363d65703916cab1716697fc36aca835d682c40d771befb00cc71b35296a47071d61dfdcfa3c2568bbfc025170c30718928a7bd870be877367df05f54abda670eb331dac2c3353ab1e9763fefa6812666012a5ace180f64108af549826311d4a1bfd3f293cdbc8e18e993561b8bddce6eeace7be420ebf1d312904418d89754cac9c2a5c01feefba154a264ae3c9683b52da922c7cb08ee39f365102fc67876eb3eeda205ee5b801d09fffe01953e403d45ebdf82037123cde3236a4dbeaa17fe77048ecf4812818e39ff76e6b6b5dccf81b8824b5a80150238087b66cdba1ed4209fc753a1b4c52de07a40c9de0835fbd6a37899676f8e513a4fa422ab493abe288de8a1d335f260c58df1f7ca6343d9637ab8298b1ff2bedb4c604c5e8b19180afd1d83ad1313b164cd39c4548f2a0c891e093a9c979a9146ff94ff6a64413b34bc45479cc22df877f3c06609202b3499884c754e7a2b4a7497dc731474a29184b77c77afc9770576b710a26f18cda8ea3a21824fe25aa639a75c28d18eb28991a6be6c6bed80ac1602b1a207895d014266dc92e02040b8e26f79e099011371d6c8fc5f1108770bd8b5d002e7cfc4ed75f8e4403fddb57ce4dbc73459b78d6bd1da4a96621609eb62b304f19d00d83a1ce513b3c6c24c23229a426732a2ec1f04c90466cef3dc31f9c7396a7587b3367368a99819b81043f1b38ccbe00040858d5970d14af08021e49a8dee1a867cf551cb31e560a5a187ec1a6b74fcabebe5773e370423fc324a750120cc3d6646bb8bf07e1aa3d0d63e8727e6aa79ff11ece8ceb75298cbf7a997d1123654e9a5e3d2a2e257c1603be6d018d1034a0a993e7b37340d5a8beda3a6eb255d7399ec586917972aa27f5eb30d315105364023ae0be0e4fe40fe4243e7f57741543be79edc0a6986892f1abf32ff4d3176063ebc43fe49dffea6d535db6bf9620c583849252d3afa58ee628a1c4607b9fbea2158b50e1ae13dded05a900236d5e2754c250e326e4b3fd6ff544444e58bdcc287e0240ad0f878d2e929624bed499084cb3de89e882814076ae12579a3c0c582f9ca736b0a2bf2ccd63ad11b258e938406d0030bff2989a29d443f228210bac33a96122ff662dae86695165386cbf54e342e1d096527605d3a2c3064a60c3b7e7ee893fbdfe20a08592993e5687b8e89f8a01bbe1edd098a5770848c5d78c0d09e5fce363a28b3205dd0853482cf00b1ba7d415ec8a7a0cce36a0c38dc4315f518a223d0e3215c7454d0861eacc73bb6b96c973754a270fdb629cc40d4cb63e2d8d8bb77a3c16928ab31b11df447a0a06572210ead438c5f3e3d70908998f397abe81833c3a7a819a1173558dc720dd0768a0ff791a4179d1dd2fe791018d0c323f62b9a4500105ee0a191976dceaacf25ff005a22db4951aa2a20713b50d576542f133a0405fe1774abd54e414ec1def08c6fdb961c1ebb67bdc943785c8b4d7e22713af2bf181e01d5c016fa890542eaf3af62b3b925f6f48eeb1c3f5723074a2d977a31e3f1fba803dee1971a9e457132717a869fdce67ff2429b8bff85ca58a4daee32bb9bab1846735e54eaae4970eb4ae21488f7ada4354133fda8019bff0fcd87b34365927639b8c9c30a51b6f595edc687a060e25caeca9ef4598a05bb5aee4935ffb973c8b8d54166592ec302e65c02be5634985f14a2ee7832c112085dd398e134c3edf87662710843a2a63e5a3ce9cd9ee84e49eb587fe825138eadebd995dd4bedf947fa85a3c2a98413c615d1561c8381c0bcb5d3c22e156c02376cdfb04312136712048aa65a90d3a59ed7f9b07d1e8322904e7b8cae4856721b87a9d3472636e2c68d511843549c7d7e024f47d96d50acb184ee673df3ac45645e67594ea61924e4b4d27367a2b07dcfe769cb0b8500af491a77dd453c78ebb707da18efbadabf63095f56c7ce995e408c5bb0f25f326e19e97bf474d7b0e3def5b7babad210fd47a5cae7b16796bec4056d7e94739fde01589310edc4a58b755d1a64a848e1aaa0a3c9e17fbf5aa88c898c6612114cdc58ad09717522025e5df98135d81dc0e5edff8ab4c8db7c249100b105640093ffb4d6b506e201956e775faed692ac645e229114f3788258fa78c35ca2746d71988ed11233dffc9c29045d5b1e0fed6e153b7fed45c7112f254e22777a238e913e97851e7895a0bb800d19f9c717c54e91e2bd2fcdb7d64a3ebce3c9b46923ff03ccfcbf2d6b4fec947e063e7b7e24c6be4a216cca2e9a735afad1152676945707acac55a32ee59d0faa031a86905b8fdfdf8255107e3cafaa89ff1ff9fa7dbb042fe985695eb2f65954c71934957518797a9c5cf9121d2a445d956f0027e38e7fe49a343ca16045a5fe9665408deb6d61ba80978388c2af7618eda8d0024f399ebc61465258b3d00d7c4239379497a144e14b632943a858121337b37f5aba0f3980a799fe93440e715f42d5d0225b967cc34ff1041d8bb907cc1d9703894e06b0159004ef4cde41ec888b87ef8d5fa1974696fa9e8e6be4c9c3fcb79f626842682d865eff2072d2865cb223ec4bda153c8246a8f88dfae1f4fbde92204904193b556f85006880819e6478c7c5fc2d250783edf05178d5286d471008879bf60d0f437a60230689e7b47aa7ba76e58c11378fadf7f1cf0d67ff24bbfb70cc9a660954a8cbda4da47750ce42d1da9a2c93dc6469c0ed6c7e70203eb5edf8a03b1ec50c3152d2cb716603275f8a6f239c9529b0cc1adcdc3083157058ae271831f527370a4865931bc95499c09bccb77b6c748c957ea451b58644948bccf0d09a11ba98508c15a55a2f403f86dc602fe9d15a42b40066c4a0b52c7eba58697d93f281716bd62a504b308b326860c2a895d84154689fa39779d95d6c0885a06e59a72d8e4e8baf51fb9d1dab081405729f9164e5a1f70f0e7862361e95c2c795d6f50062d31c019003f277f0d98226585cd31319c1fa423d947d4ccc48ca9b2e5610f66b3be90a3e992c708796581435bab2c3071e787d15b6b20a23d870d56e177d65820605db2c52ae34321b2f9809e5a2ca7b1dcacfd845e15285ffa4c32195ce0832aa69415ce8e82ba296ee28e0414d5001a75041944806a5107e66af717d71a6c3095f93d32bebfeee258389ab2e6f717bd9b6c97731485945bca35da5384fb1c630f6c7d55fcc0f8fb226a42f234d835917bef2d659269f20767017c017d017b572fed138792bfdaeb50a897e689bfa0d47c0d91a579e2d8500c9f6649a24863a22422b0cb73a33963a60c995b981711894fd4b06b8cbb902e2e315b61b4c0dcf05009bf780976e172db763cea73c356bff7e918e757fceb1e5bf32cc98b4fb3bce4e77fdd07abaee3d74b2dd21edf4d0bfbcad296e92864e2d32cef385619b140015316792da9f3596bed25da5bdfbedbeb3f7e8f526b6badb512ebdf7abdfedffbefb5664ba98c15d6beae65be52f7cfb45a100066baaf9668ebebdcddbf5a5b5f47aba595d277eab57e7d21098b7d0ca8f4211289466f6fd60efbc06645ff55099777f6894cb763b393ba6961df19454d7bc9d2bc2549a442197e1c8b50aabbf566255b935bed5bbf6ffdaf4af3b4becbe03489384af737c57777c7cee202b564b9f76661b9f7fe9cd22b56aa60652a53b2941ce56edd41d74586722f313fa1744576929b642679495692af72927b913875eacb4728d5ca56d9482e9289e421f5de9b850463ec7b8947f6ef61cbcd88a31a1d43d3ae4002ba69e11e153e10aaaafdfcf7a3bfea5542f4e99a050a98ea2fd59e76fad93910d6cbb1652f599a6e9a278e0d0dc5f0699639ce13e3f3747f313397643513202affe9ff534ae903304d599a183e893e8f555613cc4b6ba2cd2ccd5a6b69ff456e9a332eec313f3359ba975a4ed2ccc9c65ac7b39e9f4386319827cd7d5633391a9599c23dd7c3c5c5653406c8f0da69e7ee5197c43d2db3a2fa575ba42ccaab4795b869e1de99bfcc50df474aabfce22e1220aac43c107665ebd2bb127afdaf632e4986d3164f57d44997c8a3634da262fdf439675ce6a09db2c5b978c9d234f12041810001c0f98f2c673f99a86886731f1ace7c0208c8b818034cd408181de1bcc7862b5000673d48b79c5d49f7c83a0f9e3b76ead0c1e13c67494e667a05b29e4cc1029ce330c00d20e01ca16e9780c79ae9cc8957215042ecf9e2bc866db95c2e57abd572744637f1698e5c3ba3f0edbdf7de7bdfb4360a1d988a68887d22844a87a08da976928e96d44dedbdf7deb5ac1df611f1fead74be9da08d7d3b69b7b7a5e6254bb3ea48bef56d3d62491c6519a066a297c42e599af8344bf26669253f7da5936824fa88b6ca5332126d441719e4421321ea2194eab4d65a6b9d91f874100d44ffd03e740fcd230bf9bcef119efb574efd7f77aa6c53a2c96424927750abfe497bef5a15fa38ea7adae940582fc7de7befbdf7dedac9a3706f63f028afdedb49517b2f18717f2fcd2b4992a490e6314d2cc15a760e3f0d423f2911a82ee1156ba9c75a8775102b4f1cc3270e97cb35355d2bed74b1ce41963b8795e6b9699cb1fd02638d2386f56e08eb1b00b0b621c3ba0651d19e653f45331a0deba80058d3103060870da86da65b8c9a793341a0809191ede8c886f58c02382424ac65dcb200ad93a8900a9d920c601d43096b1807b07e81006b1709b06e81c39ac512d62b987696a360e3de020658ab68e0608b718035540eeb140fb0d641c01a4504ac4f6c097bc2a64e638f6bf3fa12736f8f1fc73a1babdaf70f23d68571c4dafbdfbe876f8a72823c64bd9b16e621051af4c5b484e36dade7409137159c9ac1e28cd7d454d0cade7b63dede5b8f14e611a5002bf2a4783b49eaa68579a5a0e06d879d220f2c6885078614c8cbcb87d713581f3e7bf4e4d17864c0b863a70e9d395a8e461307ce170fa4407af8c6cb4db1d886cd1a30355f69341ade99a0993264bc887a38c604f01faaca56ffdddfec23f30e1d6a88700c753a6c75e8b2928d4e2d796d19826909573507bd1584aada41e90e224ea90b20875b47fbd50cc6d89b62b4e190373d560ec0ecabef2829a5c01951171058041681c05a23659994914512a8620f877b58dffef082de1a471f6381cc5110ba42deafee2147da3195246dad269139dfa0b13c05d1ce9e4f401a5a4350381c8e460d1abfe170589573d6010402e9ad4f8b9a66b03f4c1ac7510a94cd66037a985bedad523a9f80e3d0bfda4bbed35c8ebcc320765847079e4f40ddc525466f85b1566b651918e1172f41dd456371d9b2e424b5030eb5404165c9c2f2bb62a58ac6aaa2029c22250a9427d66a27b22337af33619f24759f43dad3559e6629645ac211c91b8a59a8648d3a3d0f43690080401486811844712056125607946003011a86060f0d058b04048a02a25028280a06c281301908088001a03120100809e3a848cdb3b90353873819a80d62610bdfd6de1792fc6dd328c12d35f1678dd5c26d65b007a428ca55c800a0941209cc57edfd85635ca6363162190e02a81d627654d70c21a6ca782b90ce8f9c05951021f7d4f0c14de4d381e925289850575015c75020b0387ac38d648ba3f6775e1cfce4b073f00809e3a845ffd697081947a549cf38d6ce8f11358e85b03ab571a482e038da1f2bb2c74bcca8298f07b4ab54c6ce79ff43fcb068afbc893ba92e1ac5b1eb6d93a3d65cb90afe10410619e97ee23e6f32abffa77a63fc9ba4c508279fffda8615650be57a8bb47d073127b4620d88294eaa50b9cda0823fa459b18d2a5cffe60165c3d6958fd787553a4a3071c4971d24d0f0ed46d7e37d905ab621dd354c10924061fbf33a1a193c2081c0f87d404744840c83951fe0037ae88031a6f77372dd3a0b1517e7a8058f66ea1bd0f4a760f959f5b39f73b41a63f72f85dc58f3ba6f7afc654ae1a3e9dace15adc7695e4359375520c3bf6d6278f41289472b58afda9eb6951a7bb41bc485f4470eb559a5c57ce0c80bc1a68837fbdbb9880c3b2688c901a2d2314c3c7d47b91e3c38f1b12e736c9d74ba136b5ef8f9045b82c9c63f90c8c1a70b309e36ca70e6b872bd8f536a7c7ce536ce5aa67d0df1519a3c2640fc87d7751fb7abae28199f70ee8d1d5efa847fa5c972605b7090a74b68fdd8aa661d85a92d96c3c7c09c68404681203dfe41e0358c7f8cb4de2be263a8c3ec2e6d275aae58de876169d9924b41bd84e9e1316e35d42cb6924ebcf51f01241bc41b850d87c6c0224b6d9ca081b183917dce87760439d831424edc25cb728828a1172e596341ec912f4165c7d4961dc4613f73e609c4e601b32d22c012cf75259ee175ddf5b2c9145988bb398b3a01bf91e62e55b3e82217277c9341931bcb866c60c868b21807f3d622109a9d71ff51d10df55d379b6f027a2efca1d2536ff6297833f2d10f731c5b83e3e4f9fc216cbc1a6a823b916a32a6b3bc83ef06dbd45ff4e0d90c7aca90634001680bf3be3c5b11ee6ab1c9c714c07a8296760f5f6f9b0e03d4823635109583a16c468f0dca6353eec2919f9f4d7c815594b94b035612ede906ba2ceda038adaff0d7c5f66ab9be82f08a0cd447da545ab0e5b9c1f247e11e995bf30b7c255005ffa26d73fdebcddd8c806ff9e7e8b4e09d88503b2a89f5222505c08dd79f7752120116138df09e2cf693d9b79da835baf538b4ce24e7833d7a23bd2a46f75b68351efd7f9e4423e345793cead365b4451ae734826e2aa959ef73fa641b4f2117c756662c7857bf5694fb3e640708c8370e39ff501df07eb6a713c1b3861e70e97ed52393d2f81d4b82e29a3abcfb3f985c6bdf9a38ff221a00beacb366e79151f463b7db9cec4a5a5ae7eb0bd38f2d932699162733f0d19d44fb98398381cc26e5ac6c50f854fd169dad388330037bbbe1b6d20a815f85b168abeedcb0f292d66c439bb5c47072756e5ed3ee5b79dd864048ea9b082e304f9a10827bf01d6f354cb61d91ac591246cf2088600b7bd832dcbaf41571a2ed55cddbfcd7625a438d8b4992ac4bf768eb909d64ff7472813f881d10a1c3dcfeb546d961f9b7c1c202e7307770f2953a3200b547b4b530fcd70c21a3f74e44c647ed067c943a42bbcb62c5a13efeb76e1096848851207322511c186a4e7b8e1b690a77717ef4d6221216f482051de5705ea7d0b9a9d2dc448297e73145696496d598d8177507e6eea6bb493c1110ec24b9709330f47ef7db3ecd4fc890cf32c250a3f7a5062f7662ba2b37381d559e59928a4189900831467f02088ce8f253dbf209bf0dc9032bacc6d3dd61dc1d90ce5db94e430057fcaecdb63dc1a9c898948c829da39f95abd9b90cc93570e3708a920c4a5d061b3b9ecc2932c2c591b0dedf070614a667b2aa5b52fdf079dc80dfcad3d728902cf216cf8462cb62fbfff3f7db7176eae9081e645a137b2e0af6de113b931a01778a283847629aeb2a18ce91b3a0499ace03f93b8e0ef4392907ff094884b60d05c81a6a37c89050cd5010aaebd1f514dbdc60063eb3de734f8daafad695213901f1ca09ffe79b4f49c2732b93f60ffdb63e7550554f1e056e54ddea49823f951bebc9eb8fb6973330265ac39bbf40a0a17810dbef0ca3e78151e715245330885fbfc3ed90d46070bb9f94365035d4e15186473761c5a360e3eb75fa837a8b5a8f02baa72bb147494aea22bc4749ee5db3257c943030c66a93ece90a832e24edf461842e2447ab7ed23ecacc59777b7aa63a33d4b2eb052978a0851a3f4891199fcb2d9a7853b712598362df42af846eb294414588ca90ca106faae0bb041ccb28704c8076ce944cc6cd0034c18f266ad1c5189886fc570b6d19d7e7068b9488e677440d407d02cc11a7ed4909b909ed87b74ff7ed99c177b3e1e21a34c8b8816c1e99c9b8bd250c81da3a98d9b93bf4fcf38f62f735765baecb1bbcc79df1dca36f0f6990e0407cc370821060e8a78e34365902870a227a441eea489b3d59765fa60d20c2179aff170496907bd17a733370c5c81a8a6cef0cc838cca4d23a8156156580517a8e9dc7ac26654c6a49065294a04a30d3e67848317e47c916891a77ddbde8292a60baa832921ffee9cf52240815ee425bd2ec790216a523ac0725414a19aa87c8708cc09a8b715b9b424db2861642234a2f28d743b8cc41b8758c22fe753b1a82b37371b570f682e0ef4db2ca8efacadaed956ab8d085384b9871ade5095ccaa186ef8362416c9590d8201fb6e59b1fedf15083c0d18e100d9177a2b1b93fbabfa6d7694362fc8cdccfeaf1db35a6917b242cbce95a129cf68d5aa4a81205f788204337770ac7ca9f2187138165b94eba5fc50f72fa1d5efb0ec50c3bd469781b058ab7f2bc18049526abe9d08bd4abf2e1be78c797365543c9785b88e812432432b45441f48d84f2e4976ffb02d159094c2ad4f53a43b1683d83499186c2271a3155a986ba665890aed8af553328d5a15e281a91dba168583c0f857bcc4acd60a9483d46d13678490de89d1f2b3078456fe06e07f9c2a6ce2895ca7aabf907b517c556b2a8b5e91b5927001ac4bbcea83615d5f71156155f103350cc270cf23650cc297775a0d2e84bd307aafe3e0cf6485bbb3a0546a69bf4cda8e4e71119da1fea15575e8af06db5f9ae67ce7affd2a7fa78d8e7fdf4d99e4b29687b3d21c29537f57f73f169a361e15679925ad45f364c1f5fdf81160c9bcd50459db0863a79bb8e427afd42d5436f59536e6f7f0d7f83481d77c9758932f382e3f5eac7f8bca9127b769eca159e90674b9199813b22b3863cb792af230ad412469df09862e5fe2c46851853023489de1015b3fa6181da4e226c63c1746d2e89f6c51ba874e896e4e637010617e095dbf0d26d9523c3938263ba34cab9b955e5ce7742c620c4db6978ab2a086248b1cc4e0e24e601695aa06f6f276b683ccc5ccc40dc4771f6bb54849891a71d6bd9b32c1fd398c23e31da89cd4694102229627e1b2759bc2c0b43d97f31a719a9641551b1ec32c18273cea5e89d01517aec3ff37778d89066877307fda63ed5f26fb5721025f6fe06a24a1a2444c65fd74d68e4d715fb467ad05a99e250fae2bceb6245aa8ddd3d8f328cfbebfca8d87e72ac6507e9b35520452108b20930cc9bbf876fe37a395c79ff35e8afae541fedb4d06ce29f0d953f56afd1714551e9aee52d773c3330ae94d50533a8beb52e9b86c8dfa250cc0c67dce482cf958f00ca7162842a4b85b80bd97d1249ea594912c97187c14579c044e724267ad637d64a9da98b94acf44a5d883729e7cf70935a199e11147421ad8c48e962b33933b47269e4ac870cefe41041fdacf139aaa82a7435b46f9b728c736611087747b2259b41e0e4ea416504c67258cb2adc44b2eac5c9eda7b5afb07cdcb09d3cb6b9249070f61f463bf390e6678b6ae08456410630ca2ee175b576a3332eed7930f4eed65aa93a53f6f8f4503b5af43b3dfe09ac5ef38389d4fc65349e5ec0504e65b23c3f5df9b93395ff34e6b9d838f9763d648b005ee5478b454acdcd549d5029cef839886cd8da9bf8286a9621be3bfeb41d67cde2048664c799260fdd550386a1009684430e613295548f146b891da1116324d3586e11d9731de474ebc7b5428f2b637faaa393c71522782d1e86b183f0d958ab5853498520cb6f4ef117c9bafae7d835538de820cb5a2f03366571954dad49b72e0213e3a88bcb51450a473f8c3b991d138ac6b1c40d60b37a86d3ace37a5ef51a1c70fceabdd8c1e56e23cab8d3e2776e7af11c248e7a14dfdb1e7f6416e758e681f300cf431c9ce01c32ebeaf582738e0d89dfe0fcfc6902d6f9837318cd08ac1fe1dc72418dede2793ae1dc462135d40ae7dbf053d8a88e080bfb616133dae9df902d7a3a676861fd4318d4f9dcb1a7e0b9a8f301c736479a68fdf9334720521a4f4575eebc6be6f3ccc96bbfa734eed9fdf048840685403aceebdcfe5daa39bf1b7d9def5cf319ace2c4e61a62a1c13ba79ccbd4474cb444097e9df2b6398855f67391a62ea4ec8d8db18276fdd6c83c7f9088f4ed0389a6cece0d7eb9cd2461fd4e884190a7186c3adf68fb183c361d3e739c138a0925c473c2cd1172314f2be0679a2a70575acb430a3253e252b5414df2bcc9eb41f76fde29d2eb0e31f1b8fc9d8798baa36711fde661650344d5f9cd03401745f4200997fc6ec1251f09d39dd67a2b99ffcd9bf04f9a8a3c9808b1039c07ad2838a3644a8111149c8d722367594497b74a52f0b026eae92a72242d0557d85c06211c32a04ad0237a215cdcd06184b070a99410ce265c97cc74f572ca3d8e9fb704ecf222a5688a58d7dbef0611f359e3c343b00ddd3b9be7aa76c594e8b146ed7dcff9fb45bf9c4573179dd32f11619210119d41d7c39e182cd634d8c00aa88cb09a7092c55bbe3c38a335b5e4d2502aa97512d6839c2c9070e6e6d6a16bad73737b49bc53ef008fafd2cda3bc36b141f06cd722c1f02ca515dad6d9d15422f7decdd3d0c19ba7740e615ea38e51700ba2e4492720b8cb02e75a2710c660b3ae695abb6ddf1ce1315c4b186d25859f0a61f6fdaaf0c72bc51422a62e00a6616b0b1cb344de1b98433511e974b019931d6cd17d2da25488c83b78b8c45511d5b2cd79f9e1dc584a3fb8e50317753779a86164967361a9e3fdf2dd8d633af13deb8480245e43057adce681f1970b8b5fdf538b73104935ac739e9639b18ba505135bc1eb70f0db10fdb4cda8a637bbd86cb117f11c743ac94b78200b3dc4a811ae25490216910724ad8d2e067c35bb127566d4d07645e2087d4562875a0d04b4517b787fd0972e4d3470d3df6beda9fa9b6b315935fcc9fa610337e7932d0e38fe91ecc49e066c37e8e5b86522b643f199dc6ebd473842c860bd95462b6e4ad636974d9950f2f976c9edfa4fdf3e00d97d7ddb7b0a1620dab761bb98e22eb0ae081f3945323cd7f8b8cb8aab24ab30e01da241bf43e3db3efe645b4812caeeed53643596f9d4319faf979332b254ad0f2f32deaf202b4ae21534be3cc3a5f5a2f1417eee82345eac52f6f21a2406d29994e2718abe502505c14a48c249b7cf005d04fd8d3eb1d61fed695f09b1a5a13f84613463434f7dcf1539f414243ae61b3444e805d1c7f6282c21fa8969b72da2276d7c6ba8117db68041906062694eacc6cd2492b1ad7127db647362e366f1652a9e77181cb37272bc62c9abe7f261f4b153f188d167d4c3808c7e7f449773f3313cbac922f40cb764d8d72563af86ae0e9fb93f90ef52c02b9b2395ee7b31cc7a70d3652923901ef298c2b827f07715de2d5e12214755a60c956a15f9d91508e0e4a8fe6042f0414741b31d6e8b57005de82e760582dc622ad1f719e5bc5fd27a9f3c5b80ae9a71abf2f71885d3af1d0895795f6ecf88c143a3b20a860212ccf091770ae2dc832c2a213ef6356bb22058d4f14250e47807306e8744a579041ef4a4f5e0b37cb50af87d0644421bb79af13bdd4bd6f9ee1cbeb7b9876fb7ebf01d7e2651a1ec5f71a27d4f4524e45fab64f02827a18cc067fe66d52bacb7cf05cbfc2c459878594482583aabf2e517b6a146ba02af1c75413536ae228eecb346c27d8de98a44d6142bf258abc6d00a7f2a11d7cb449122e5ac953496814996f405fd709874a42ac198e504d2e30101022724b324bb90a102099794b862ee3637e5f58ea3a044261d06dc4f81f3a562a10ec053392a8b1143a4aae06a1a6a0e645318d26c3868d42baf7728be5bb7d0224682fce77a461d166b26dd0ee60f8887009181f3ee5a7521a9472f9833a7597afbee54d04ad1559275b708f63eb56da70b330f722f266e5a63fcb46b1eb759842696960181cab97dba8a61bcfa33062038fcef122d08b971984b1d2e4d821b26f26c0e9f58a19d4b092d8696fd3ca009efb06d8975ecd4a4b4ee1994e4a60fcdd4eae84a53a332c8bf38f4ebd441410acb16d44b0ac82665c8ae9ea5ca1050007451ea853535fcc84cb1184f352a11bf2332293f716036e489b222b0a03769b517e13b8ee91ef6734ca78c939425601dd329a5de31ad7724843b9df4f1857b4c4332ffee24a8df63fc8fa9b4b977b1c3bba879120bfb52e06a3dce37f59306bbd3c914cff6da14d88c82fc054af8a0864a29d3a8133c8635a2645f174e7b6108fc6c234ae5b88aa402d0cf57bb5d4a46315be6a6c7df1ba5f6d96197570f224afcfb9c839aa538dc9147414aa3152aa64a6d6a0b73fe23c4c2bd5c529aed991b9aab7cfce14f8150a3e9981299e78ba314bd8c28f7843be53548e1dfa5ec000425d6a04138a5d5a593238960353a2a2dd3599e672f583353a80d57a403a714e65a2630a5d26115628bfcc8a3286ce6335b06f13b20a84a25ef6827ec054ee940fbe412c2350f118d9095e4d6dc0b1c7f1e349ec0f7ba9f89c5bd4a4b6147c252cb85a5315883f0b7526287a4c1e558498ac795c23426b283232f634258570c6c14893f9bab1ef1d2b511cd18ef1f12e90c7decda1125fcc5fe461c44addd1c6df33cd2ca1bcc42cbb2609aa13b9376634b62bb1f4d6a17bba6d7e1dc38c09263d2bbdf3a9dbb86d5fac8c6106d82d56f81ac2996c99c9d81018ef16eb02c7806b2f355d94cfa4f538e547b7c2f21fc291aac2187473cfcbca01642266c1d842cbbe976f8ffdd47de78cd1d9757f322057010aeadd0e6056825cd171b89ccdb9d34bc022a7e154f472022723a9fdeaeaf1b021ae1a4deae70ab083cc1812aff582b9f533dd48750ba00ffff0f017057866a65188208c75654b64b8de25ed108f5db183521216d4bb9b79452a624a50cbd04f4043a05b2f3ba8e7bd9719cf43acfe3b8dce1ced65a6dadb5ab9dadb572b6769de4ea831f8cc2280d69add426ed2cbb2bb8412a95734f87c4e481e65eb39c5ea5772142290272c689aa1b1a614041460e18c258230d1e5bd4d18718f1098a318ae061884184f8230e237a98b2b97107893247f81483e08fae4286c27393e95cceffff774a9d4a6987ee57ebd5d66bed7fadff5f87e4f4a7b3dadfb05bb9d7a1ffd7eb7fadd7fdf55ed8cdee918b5ce42217b97863d7754673c7efe24b7a1db76f68778739f0decd6d6b5f98c0d26260a5e075d360e7742adf7ffe87d4553b5bedfeed9bb3db6da56ff8a494ce49e3749f3eb7cffc5ef1e339e7bcfe533ea5b3daafbb52afd3bf56f0baadd66ff5fab6d6ea1e7b47036f81679c737eb36e14bc9db3b75a6d6fb5bdcce5bcb91ceb30c6b039efbd377c8b670d295de273ce19e38c0900398c353d59f35823a52c9234cb29ef84627810990fc32072598ce66ae7e5c02ee3ecadc2359305069b5676bd84285829a5e1576194d2ec135d4bda12338ae869e4fbc9478072ceb18c24490eda60986589ac89504af22704c0921c809096e5ef8ba11c7a7199e4276a12638c3146ecf1d2af344af32b7380264e72d0147396435bec49ce04e420336dbaa8034a51941c72f1f190c34ddeb490b7fb6a7426921d7d5f64d20de17c77ec9b11693572cf643bf6ed9cbf4826db005ec0b4916cdf775f31c99069d55af0e9b6a10c6b0563ad3454214b389e899554581b4a6268889554580b6b2b3ac234b92937ddfbd9f7668a3a13959be676337c46a70fd314034de98873cf28e7947bca39639805141944c0c422c80a59ecc9ec657b9cd0016a134c7405e098744358965fdf02f0e2adb66495c32b3400ac2ca495b484421710e010970dcb415104f924298224f6011d39f203f4c5b211244592f80465d8ceb23d374d847a81f973852d255a285341f2640120a4574bac782f801cde2ccbb9e971c784bb4439dfb7401cf9434688ace117a321153fcb4157bcc8d053f89349808492c3a88394ac24924862093b6da4944349d3e5cb6e0809d29ffdb7694e148480bef92aad941273716367140b6b9ddc3b229ed6ed746f6632ebb8fcff7f98c9071e2e0f386348c1b155ba8e6c7fda6e4bef9de1da7b35fd3266cc187730d39fbe41abaddf96e97b63fce97fc0593ab30467e9cc92d492a51cee2ce6b0b594da6b291a1dc75133d75e77e7e36b87e5f4af96debf3497fbd3d176d7ca7b67b839c6c8dd7bd7b8d5aaefbd331af6d7b3e77b93d9d09236430248a1d9de427b33997187d4db71b5bb5d65c3fd6bdd950dee5e5b44e93fa5955a2fe8d35b2ffd6cad95fed3706fa7bf869592525a9d525a642bba78e028a59c302fe73ce58422aa5e7bf1d7fbf4c96ce67ff44646b4f7aec41b95633bf8bedf62a76c511365a7756a2d18cb6efce9f60ff7a6ee2fa34f65324c659552622e6e8a8a8ad640cd663327333a405d136f4d8696903124c08cf6c5d430b95ca2d0638f1e709e38e347124310211280899e31f69c9103070e1c3fecd8b183889e31f94c192f571cbd67cc196392e0043991c51e3770a0b033486844b8a4272c02fce388a590887088d04b28441804a807181502112ae179228921e01be10f76421fa28822ec21ec12f210ee10720993c03d60d4193011382022e021a02160212021e01b5ce024387bce0458629f0c365ba0d4537da8aa027bb728881204d50a5b5e05934c054c0954bd63a0109bdb52054c1a94b3da33d3f8244ea679011b1b053ea0dfdeb8565e88855edd30c8e1945e15c5d504116499404ba6559af49b2d1accf8640369e5688deda80a1b2a361b952a5ad4aa18354d4183668a5115688ca4888912264c94dc4969b5f64bf14cff23a545419f282bd25ea492922d0028b200f06ae537bfe155cbc7eb602feac107210833ca5e3224c208577f24dc120000404889125b28c5cd0635996e4eff264e2659515809e5cedb73cdcab65a29597919bbba56085659700b3de1c857b5020b2dbc0b3ff30bf96a694105545a467a0a6b5504858027f5c6804c2693c9eefd180067ff1e55b0b326da844633451bdefbf4b45f4d3ddc2ae91173cef11e4f1ed6de6f8f322d6f3d10569ff28e0e43a4a91ad3850e1d5ce6a8d0450e3378cc5922838bc5e3a6deaf791186b44488e144bf26e7b8415c4dc5a7c15e301467000104d7e52af1a484189ae35037306dcea55c46155fa0c1455cd31da4b526f9b9babb1b51061d9db46393a4519d4dca39e3d44183829e31cee8f969aed5da7bed93757a7a732fc775dd941e338cefd0b297c33b56ac15eb6a3da5879e16222ed7eba58756d1432895ebf58251289f22f89bfaa4a4e8cf4fa53fb44e02544e8cf4d6c911999ad05ef8bbffd9755149504f770771cba0fe385a82800a3c592ca0fa8f52f6651f73d0290be7d30432493ba2c4885845638aa5787338368a6af6512ee3ac796cb0e14d9a658d315639ed1dada72f6945cc6a4329a5139c8486f2427b82460c4d87da2b67a1e5eb9ff3cafc7ae79677ba167af288b3a038dc65a0509c028b7978dbb812397363d38dac31b6796279c5816287c26832bc4459df7ba5d4d0d9c38e347a80a203e9fa45dae38b37d298a9028aa932f69e5d8909c9888a8c8e3ed8e5f6dd7767d95964fb66a630bade1a037384e381476bddc5410767336f30aef8fef5b2992fcc701165b5aef2d5d3c51b5ec0d8c1220e28a45b6bbd23d2923219f7e8deeb4397768552bbef1f87d49ca7db7cb938a5008e6bb58e8ee4d0f8f30f95cdcb4b6e657311975a35d766bff7b2eee52e77694bf7de7b3b253ee9d3102d1d4f29bf8870e98f204d58bbbb5cb49fab848cca7ef20d45308ab1bbf8aeb8f2cca57910b691572bda96714478b96504f69f41f4e0f20f1f777e007983f38f1e7a76d165ee66cefef54a27f69f0e676fc5d22d97989707b3b1b3957217b7ba1f302fada5b787ccf20ba9a33cc2b3bc693ecfca851b55b57aefe4974dcdffc6668ae9dc5c351eccc5bb63747739dce6c07bb73b37af3f75777f0a7abc35c6f76a3d334078bc577a46e05abdba4f4ae98371dc98a2c9dae0c4707d68ae93dd77b8107f03e3ec47cc398771ae201e958ed35b8594c5a248685d268856ed046965445c775e9aa3fa1fff84c1321c9fd517452e36532482d4fd6e1b278c6ba97b91e87fa40d289ad321266ada38ae893248b87cf9fb7d880df085d10467b54c97d75226e96bd759d1422691e84490a773f81b39cfb970688d833ead56b73854bfa80c6c398a5b460f4a1bfadfe8f14c9b872d298cb590b1828c19cfc32ac3c4512d658ed05226088e935c573b9c5d53190f1acdd9b5ba43fb9c57abeb39d6d985073786166949c8e9728a51546edcb8e9f6b871536da59cbdf91da381d1f0e9f9cabd7bdc75d8bbcec3195f7bafb518db7bafb5d77616e37b3bced20e8919a57e2fa5d1fea57fff7f77f46fb598e370175e2da9ea8a2b6c726694f476bef95ed1229d304bd939ceaf6fef2fa675ca56f4bb9b577b0a1d6dbd9d33e79ba3360e89194dc00e9ad6e466b204132674d887462285c6a11e1daf4c5aa3367aa34f1fe68ab9642e9a30b67b95f2959ab52d926e17f98477d1342a26fc437b96ea465bb1ee6ab569cde6f4445f0e993af48e1a3151539ab50a833d6a6d120dbbc8a40ddcc1e94dcfc7a7ce1992029a6713b5cdeea6a522f9aca627b7d781e1e55ea115968e9ba68bcc820c9a7b8c1bd741c23263e1459d31a89b8fa584d644a11f3a5e3d8b40559957cf246de87aed76a7db6b38d16cb160febefe5446a49aedf674f5b72794b5a289cd974b46dae173c6495fba96e23451195db17334f0b948ffbe7a079a8602244a9175bcd58659dfac4ee756c5f4f55930cdf53b0e67af4a4d8dc5caf9ea56cde97673bd603a6fa4222ae8ed267cd6e03562e4fb39f2939f5c1b6bc9c950504032244c5f1b08c822719e4c5fefbe8c64265de2202236a1cd96c6939250802600d0a069735b02001331b23061d6d8866443ae677a34ae97cb2500136d810cbc12d32f4da7b436398c897093ccaaa14b497572003d5454fe7abd5e9f4b671d6db8b3439e3a3a8395c647973da8a0b93ed000a4979122fb08d04f07babb0d53703e101880b3dcb787ee053b01a0d5ba219ca18a121d5e1d4621176444563288845dcf271d40c54c1a0646c9648e1624c051922648568e8880058b0751067c586846f0023e487aac57b15a1e4894d211e2874429d3fd700086746bcbd57a457945a0249bef85aaea93fc95a87cb299d16cb9f0032f28395012402081040c3c59812003812e24a56cc1304a629960ce2bf156c0ed56ab45d042cad3ba67a99230aaaaace7d36cf990969b54940e6fbef3d311cdc8c86b552c96ebc99ccd5251455866b30c8bb912d0edecb7b905f2b702023da4ae816dc147eb6e07c6a42e88e2b8eff31ef8f6ed8228a02e032bb57fbc16a67354142d83892906b2197ca56e158667a81ca66fe855926a8b9ce0e88a11a6e0b354e014589081b4f6bdc5c359754874c2c1001d34b17294c6d35115272ab71b952a6d6e558cd44ca9d5a618adb119492113858929ca47b5a0b5cb7da0fc92fdca9327d9fd02a2f22a70e807e46c767dad6ba4491127348f05c29210844408ed058748405242cc04a0137e900ea94aaaf22aaf9a877894ab50442873da90597539a1bb650752eebb16dc52e7ca106681965bc02ee4ee851c61c8daf654e76e34a88e60d232de0a2890b2f232ee669142e50aeac038bc23888d361a64cd6af9789d6b858d5cce569bef125ceeb0cd43e457aca4b8a4739847cbe5c144687910a35a3e3e458cf8dca27e8a60a0ecf3e6e353feb28fd474fa32fdbfe1aa66d76a6b6c2047460913931635a1fc65c9d25215680260e521aaf73a549d1eaf7a29dea35098099665ea36a26c53a306df4044e4b755384395adf4b5677500d3c4e68c3262c85892428735b72643926e4df41045bdb9c923e6ce54172e3a88c103870f44a8a078ba124cd541868f2ee8d8632a82283873ccdc0219e3041984384549c144a79026036811ca8da43c451c5104199d07c2e061d82bca948fd7456989894cab8e3c73b469f229b6a7e515e5654ab9ad1aba2025fb8042abaa291f1fe94ead028a3208527a2faff462fe8bcf5096190940a5c995a339670748485b621d2b4806245064c3925b6e6c6fd6dcc6f03262030a44cd07bcceb4dde958fee4500e8157347b6242831780000b04105c89372b0c30f91c45f0258225ce88a816503f0b11f93c4d9f100f2a7bf2017495a90f38bff89374a72e0e1565021c25932b44602e05417da945b4d98c6826d9f003d9e94967b99179a60f72ca4d619f1d4ab7ac72cef9526c91b19151516badda4a5aeb7fad5e6ba53eadc0e1366f73fe3fcd0fd37ff3844d5be5ceb6fe57e12ea5bbd3ffff2c957009116538c5e7fb4f2be570ad95b23095078162b2a9828ce6215aa559b7b5524cf3bf624f99e3b75a3927fd0ca33436db5082840e6ca2d39ae8d446d5fb3fdd524a09c334536badb5d65aa3c75b619f12058b885f31766bc378e74c19f79cb7500b77773ee6cbecd9fda7c5c977d88c860e0a4950b6b7d639d32d249bd5b1b1ee68df6d8cefbe46b55586ecd9f94cb95b6be5b6c8321b6b612ac82e14ce78ca59d25dc7ea760a1d17da4af5948e33b939e978c2b57f9e3b387e4a9f3ac9a94b7777d0b7ac5ea73fc7e5d1f4a59ac8d6534b5f2d98744d391deb743138c8cd126988f1417eb2334e6ca4d640e90006903848a4c9a30c22ccb07990c0c058c22c2ce5bdf776ddbdb1ee3b2eb7a9217a06c9dc3161344d97eb70f656ac6e7737d681d73befb8cbaa75f2da9bcf3961437834dd325657d219fbdbad1267c3589bfd6a6b16a4a254a0f90fc22ad920acd2cfa8df73eaffffb7533ab7d0aeb556a1ffdfffff6f9d8ac3b25babdd9fdf9aac6116f9819c4990ab4a5bebaa246f12de7f68dfce5424e9b70b8ca391ce34eb74ead21f94f427c5b2932057c30c2ecc24221513d1c370a1c5dd95768e920f48bf6c0e4745c4ffbdee51fba87aa0506fff74b5febe2df3da7320b3c80a3270e304850d2971c6db339ae5990ccb76b7bf70a2506df5fdfe53b0c828fa8ab699d3d28e62df7352250bce99e2646f0794da69b1c20e4551baa4a952073ed18357891d9aead312dfae5ebfd2abd494a235415fe9a7280f1c8ba5f4555acd8cfa23815cceabd256627a22f44b721969e7144f245a65bdb4ab63ebdbfad369532ff6c56031581c2ec8b8fff550fa96d2c3695353bbf7caf8f580c24c76c97a8b988dd16aac8c877d3edde774a399a5d5a74e6bc76d1abadd7ac9ede9755cb869fe519066411c83d2190541da871c17ea4972228e13159838652c511b63a46eada57457903e7dfa525a5beba474b55aad586aac8a5647ab3d3a1615c9fb048bed2ca7679f18db526e168bc562ad565177ab8ef577e76eaf56336f9d356b4ecf2dbe3416debf7397c3aebb7a1ffd34ca85c08a603121a201f2e86949fc14a7feb66cce3943a9656a28c7a1d9f2ff93e9e5e5e9c718e39efa91ec116f1ea62d896ab3a230eeb266c3c20bed630231c618676dd6748c31563398b8a9c304ca8dff22ee94b8665444d7b02c244fd0bf57ebeffba762808843ff534a579e4ad21e908e557d88be5e515026a75150a6a128fd3beaf683a64f939584767a83fabd2fd76d500e624794ae98eaee0abe9ab84d3ca69c43c3b426ae1f8f9f92560cd1f73ef1e45cd060e8a4131da98785cca80f09b94c198e39ffb396cd8caed064d3d978d716130ae676ecf8ba247334940c6a1676b3366db2252687b91c0e32ef4ca8cccd76e870123992eeba679d79a782340b229b195d41d28496cd599562ff5649278d4c0646e96bd676d76a1f4fa799467d4ed9ec7e5516775e75c82ce4e436988813addc3013caa595a8c5924d0b257a33423be948b302a94b9a43eeca7a79754399b3e779019e31a8a48c9fba0c0000f36500100e888482b130898214c65124a50fd481c9855d878508e611512c22c6511884510c03412443082000014400024a4153375a946a00c2760d8e71ca40b3c1a4ca428f07e20bfa3133efe5c2c153862127f399a776f34d50fbad1dfe0aaed54c1242ff43929a6aff98614f05bbf3644ba71b4cf1c1ef2508063590440cdd20f3fed601ca7ef68d2e1e6733319a8bc0fcf4e713f71691f4f7b716c7f63d49466c9d16c67aaced0e9f1d5a3ab63fc0d11485fb2043397a9f467b8d6a0ee3ca3e0a36c139d6dc29fa24b03f813fa2f75242f82984d2881674da550886ca8ec956bdd121822f219dc1680b82762c675e1823eec43b2d98153e853f9025210cfb1c8b0684a952b0201922fadddaca9de5a5089a958b138ec36043796e05f103849bc068561c70299a2fdab883bb1158b4d9c1dae2d1bf36c7e3cc104c0695645db94707f58efc490f1d4a6e96c6536fd1934a4acca6bb5948c77488f9243568240e6dd40f298f2b5a3e85f20e480644a22b33fc5afd9c869b9e1fe24ac450dfd069389799869bbcbbab851057756e815016e2861dc8be2afa0260f35a78365a43796def0e86dd1baf0d7b43cc78122301c5b981a52164c027b6cd5dc7d211230c660102bde73aefb321e5a7f405361fedec0178956268a81e798b83cf3a0d5e76769c49a2ec0c15ac1595c9673d0366452d6a0a99e6682ac6232111e1f4c6cf0c0841b8064beb994435597e03952bcbbf5e2c2fee3138127b1d7dbe4a53b10af7023a6acf46220eebda32d43a127f2eef958cff87aa6d45431c689314a0b3cc7b89bd93f039bea1e7fcf933f716bb535e2627dcd5676c9e89d4e606d5dc5c68e4ce3ec60c2879bcb937c44ed388730f32570aa3be775773dff0325ad650f7d63c0beebfcbe430ff8eaf6ea2aa3e4ecd2d1505d680ef7ce8d17d51aa87ede0d4f803068f37a2f159928116162be0fcea190ceff47b3630f37cc147d60c33f6a57fbbeaf0903b8fe47307e5195d4b8b96c381ccaab0de2f943a91c160a5259500752d3c77ded4b2ed23bb0954a673087c4ee67a31b46c2749542266645dd035d77ae58f3dcd91b94d1361f8115630fb2d068842725f0c5d528ef40dbf1cac9bf623455f13af549fa10eddf485b1a1c63326ad06f3c7b17dbe246817fc5ecd7fbd4fad02db773a84a6d843c6e3a1896a550596eb156f74a704a5a9d48f332623080571a3af6b03c4568e6687dfb47f49bad1dd897dc57007aebff32e0e560706796e746a732a665416f4e4a64a517279cb6c212e0bab700c55b93a32fca79582ea7652bb52309fa2ce541a5bbfdfe83b7000ff84978153fa8291cd6dbea768fd038f4a3b2d4bbd177c30bee6e46b9ca362033d26368be3ae48ce38cc8699dc957e2f46c08889beb9f9804ab8a4bed8816d470197b3004319027cd1690e58c372c1db29cb36c68845d6ada73d6584a7d80432600327ca3d643336d85993aa022a5b53b1f9c2649759d0d10d2544c08fbd4b60a06cfd8828e8fd231820738a4c1602a503c0f772a7a1e46ee74071c23a995f8cb26c88f90918080ba747ca7cab748802e2ed7a0de7f247d792b85383d6310533f207ecdf5dcbe98163d9324ae2ba6ff00256df70645be8f38e1dd8a8268d28082b0e0e0d7f18f4b03a3dbef6d61174693230c1030c5662bdd684913a92ee2b9e73af0e3b2a419bd5b14bfcd5fca1bbed3b0116939238870947a977f7b1028f1fc20bb44440de3e2b75f7ee86e2fb5c54aa6344e4a0412616518223284e21c1171db52f0863b155037890fc14d95de4664697d4a00bed240d1ba3ab9ad1dffffa98a40740e0d5c380fb105f6f9bb818ebae5ad76ccd560959d80ec4ceeec8f70dff4dba2a49c73d00d5a08f2e5df814c5e3a6c887c8b131b9e88897902e4c97309e70314319d0362b9b88f19b59f33a1fce6c4b3e892841daa44b444766dc8a842f69e7168b0a3aca78a14acfaf840b75f29d0b787bac3e2c5d4cea67007d9c0999755580fdec11a65504664845294cb0271b1eb732402e59ea7024f62745eb7781c134c68614c7293459332fe02ea9154bbe79292c08d1f9d7e9744fd9b88f7ae6fb23d1000136a9f6fa4e7aec6ee1304bbbba3a48c76d9586849f2df6d39b0503f9d8f0fe14ca0bc0568bc77ae36385a2f55b39591124908ca23bebdf4c2bedca5e02f3492298b7204f000ee4c392cbe25e7753255be7ac0fea7664427fa5cbcc985b848b68218400276d9b00914eb8985da931d60c96958e8cba13ac9c09ba364b9e19dceea3e24ecf94c3565093cbe8584557f62b9cb86351ffeeacc26c595b710d94414d126ff21a1cbade2774106367e51f01e0703dfd198d0f9ee2ad9603df85e300db62588b5059f2d3454c2815aa837405252b56b0b69295155c358f634e0a31804b3304b7cac298d304f6d8a232b6b6a2c60511289585b24758d93aff43702fcd7c7c465c6994cd4f9de5986e075943ca7fa8b2227689faa10ed2a75e15db57781f258f20f23e39a582b2c433cdecf36c1590f667bc8a5a549b2adb5af705b307c5dbf7ef7693afc0038ab575b120cea9cd9fe36391bf0f2b4c3a9192108b946bd1d87435c6d318cdac568353d34b22d0436e927d76711cc57a72d2c6c48a59016666ce90c196c1315c1094588521a281fa0850b4d5a3e71112f234b17e464de95dd4ed988461a2a73b02e8967f9e46e5dcc4b9dc7e155c595962a0b22644e23a6323a6257200407b8255636631bd6f96a2ad313a83f4b2dcf55a23e6668523d982e9fb99dd7c34b25ee3d37214c881e0042977b75c2934ad48f0ef85d58971f13d01f130db91df5925fdb243ea4976e25f981d19befaa2ba484c918c64989daebaba1e428f679b5b4ab855036b9c6fbf69c2251704bfc9879ecaec743dbb2bf3f9804983c6acf76c91bb99a9c564b9454fd4e8532c10adea3744bf492a5168b8eef90423f1b2528960b8bdb0791c5715bc361fd9c3e0fe5e25e3f0c6b193cd0d7c30c49c923589ee013da7c883372bf26b3e8cfd0a8449764416099641f394389dce4027f9491c8c15f476069aca94b7267de1ca9b2a36ab824eee745eb774fd8d258a7e15243c4eb33b82ebb78f3cbb250e4e5deacf5937c35082c4dcbd97ab67d95bce964e3f4775edd96654ca6c1aa1277da74b553f8d3bcf45b170a328cef41674eea97cce9d9e0e9c1a5fb94394c7588b9f7e7ba75958478eed83128fb0fb1c53c6b1b7f7e717a4db2b49a272711b6f6f0b8b2e9637d3b42a0721dea5ddff3db481dce885ea7d7938236bde44f762a463b1f7a53b519a9d75e6858b798eac296ab40129d25093aa895ff86ff17fc2408614d250a39daccd6255af8d94e3763d0ffef3ddbf495ee0f0e61c9676bdadb6211839d8ce7b6dd4ceade24972ab08adf209019db261e35b285b7ea5b0378d5e3950e7162b764c8f10e44a74003c15592f57b5b3ba6831a4ab22f00b382bccf9d4ab1c242cab4e2283441063adf32a8b7a08b23b0ec0a9b0887a94f671d802c688cee5aff94c430f0ad4deee7dc631760c153ca3545e32a80c8e59a2058ca424e18afdbd0fd9db77466b1cb30f77ac502fdcaa3a158f6fe13beef44d7935686000d3234118dcf7f44100a67074356a433e0915111291b1172e176ea4a4c0c478659bb8ba71ba374b29f104bd234b76844144b3a08c3347d570a06f277e3b695adf7d0003113b3b3a819db24b16cd3b215ca22df6e3e2675c71bb73ced70c87a995dcbfbe6630fa511bda9e8bbcdc6d4977cd7880e41ca07f81b058afbba36f92f8ad34da78db0266f9281d3ade3ef706fc24cdc306e1780973d100f8d5f7c024e1dad86a594d3073c0412669fa293ba01d1c0e8a43c5ac836f34289ef5ebf5b5b632812bfae4b2418cd75d6f05d9200adfd149ae4ab9dcff9439bc81a6291f5e881c1f667314b38f9362c367623a64cb7d457b0c8266910afb8e81da751bbc7ef08e36eb1d9d49f68608f8a8b54b1d104281359c8c3495e2c97d197386005a5501ab20ea0f14a0b1d227cbcfdbd415aabca0fe38313532305ee12400b1cb2d6fec98349f8258a0b6f4656a3d815b4b65712ffdbf17e3a7fb97ea276a73916dd9cf6053b6d0e21dc8590ec63784ad70feb5535ecaef7f31c24b5d1f828793ea5dce38f526ef982aa436f064f210f99dc8b03069514fd2c41e3e33f8bf9db72ce17765ad886723674b9830d57c09956f311c76daf6a9c184ab61103a80f0e002064aab84050b47e7a1c965bc0d08c0d86c8cafca0d78ac79e57d4459b38bf556a9e1906ca7dcc4370a2c378262a38e5f54523febac44a8826c4f0d2c5cf03a4c4c7cde2dc927c0ae9ae9d80e81d0a1386d468b5ca7781af50da3a4b79a47e576c9233eadceaa745f91b8b3fc9ccdf0f18f120fc47653a64c535ddabde67ecfd6364b71e4029a8d4bad7421c835da728a4c9b76fb0adabc65a109cd2fa3db373e8a2aadd9d5c07f2a5590116fb8c27908eedd614c073039f680fa23b5d6cdd8bfeeabbd383d0941dcf7eff3f68003393b6ecf68aa91d6bfb6683f81fbdcf59348381d92b243e69e79aeefd5dab77d7161dfff6a167c48554692e6da441e2eaebe1bb0a5ac8b671a376b6c33521fc0b9c03c00e7af4d7f60ced3abc51ca235c3d01e8aa639bc0a7ec80a11cf89208a30b62c881eb76ead06cb4e9644ca505ed9801c647d63bb274d2a325e9d1c3ddd983fbeca98f76e3db8ad1d0161a15b3d7ff1c30ab4eafc288829dfedbec1bb870f6c62a1f964c5848f985d125c2cb41551a00b4649e1c98cf972aba1b760e13eab2b5429e3b00845267c6b3a5614e3ca81fecb75ac9bd95800ecdd555ef80c2adf173dc020904c8954127f50fe9eeab97865016f263ff8af351e86893a48c0447eb546cfb0ec3db6f912b3450138a69a90b8b6940f6fcffe57cbd65433172cd8b3cd504974ce594ffdab249a224fdf340ae2ad16139c742a3a076a10ffe4eb56fc5b917b2a84c4d64fd44912ca4e49d928f6b047769cf64fa401864e1c3889f41bc2f074771d70a0351c42ef0faaac12b2ce5ad08d96d322fee46ddab218d2864e9fe9cba26320c9e8fb133c5f0262bdc394f11462deeb4ca9306285cc7b65bc6e3db432eb49636125e9e019238b8e33d832f47e31269442b0b9115aa1cf6ab413ad70a5be2580be526b857a22962492eadb72080b8f36e1954615f2480d7ed8647fc5c012b58f81e62d0d68ae238c2b1912e4cc88b9fd8d4d3caf568252f6b047cd2ed1066899b5dcc37ea676a5ce4bf26487676d37615d99f0046c37a9819fb1ffd2c1b2734df3de09ceedb8973ac2effb61cee8b01c4930023745b4a3a38ee319df530f1eba33d6ed8b21c310707c0d2ef167aa0690eb89f3e70d4279f157049c73389d3ae9ab9db35ef18bedd18654f3d1c6680fba007b759e96f85bfc0c981e719d7912db696454a22d2df1d897c8f63361227f776203f985ab918879df481b099b2d9016160f2129cabbc5998f9ff48fd00a91f0e6ff19dbaad4b001ea2f891a627d06a11fbf494f33aa567328d2ae40405a31cf1ad0cd60280550e7b0d135b68d3c43caa80d791594c4a011d134ba0d97c708dc591823117ca4ad89c1c9460af3c88367f87950f8ad47a5b1285e87ef03a9dd54ebfd83c54319c46c579b618645b23ffe4eea7f4218873ccb353d3c623eea973c03aa2498967840c03d4d818b1d4260f48592795b52b6139640bce53bd7f192e033353e73a316dc35671743493d34482453eaa5dbca6272b324d145a54d52a2ab9f9edc0955ad44fa241fb7794c744b4f3716c978df4bddd4d191c831ad03c8346e5a26e04eccb683a36690aa9badf13280402e814c3fad4667ab280439bd2be129cc1515afc60b9ce4260d65f71792282bd188af30e09bb5dfb6bdc8cee5d650015fe5553ef0b087080b410f8f9940de1477248dc4ab66ea37a134e585e632c1f5ad2bb20398ff05e8a73779dc00291294e63bb31be025f03ba834b97ca87551ee43da6bf8a265d427775af1ff5be07850c1eff9800a2fdcf76f9e0bcc1dd5cdf1353e196a5f5ee9985700f7c6c85cc4f2539338c69f026e8c668deff2835f9f8c288f7767e7945bb8ef79be18a8c25b6c4c8217740164a6dc6492c35e142fcf2d54a2154ab429f3c2040d0c8680c52b0fb2462684ea154a8cf796edcb5ac4693609370d03f8817589373f628fe32cdf14830a397367ef4b522dff22a69eaa54aef7c1683c61b8396662f02240c4f59ca9ea0f57b8fc950f5c336f528c0cd122c785b8debdca670524fd355b2f82d9e2b9db32d8a392e5e414fa17707a2e7defc45018966da0cf160f11b54b536406c070153c0704a9a517ecfdd50e7050cd2275c5831a86d24c6634f47fcad4321eb8c5a54c4ae13f1f5744d483b115051a4effc07a2fa62ec88b30c14e61e4c8071404e72005467fd7abb10a620070987538a273cb89eb94958223fbcd4bd0791382f175bb9bae633766492873a207f2a97156ebc73c3fd6470144e7aad829a795dbbfe41b3c1246ec121f48e3e63a2acf0cdfd112aa9d6581872028dc62854bcdc40565f2b2eade662d33ce18294175abfb00d7e0f4e260ae868f0547e309dc40cef7e1201cf10db12dc3c909c0ae1ed4c766631752626b1278c0cf8957c797fa2caaf69c224baf92b1a308d27dc8d2c62eb050f5ed797b4f07dd32957e8a90bc1218fb64bdb34c81951a54de8a66f967fca17e786ba7ba22f4fdfdbd434e4986c5274b1a115eff196ea3e5410c5653089fefcfe529efdddc07e804116295a11d4054b879e6dffbe22760241275b07aaaf1c9b9a9f10de76929a0b29e9bd3976e11f7a69f05d2d948b4ddc94ac09661506c70b5bc0e24b093e3519f97e3619345788715151f58c500b6b58e931f1608d2d60aba5e85ba2c9fcb222b912a34b6f0105f4d9c54599853871894a2d1ea9b3247c7a4baa70823a915741f749b62fe8ddd7a67f67eebb1843c6e07d7d4ff8bad29305786a04720d48ec5819eb1daa8c557a3299f6a9cb15b2cab644adc53f7ae947e26d82da064a83f42f00a9679a0915e89a3cce1c14ecc308234369b63248ab28c5942e63eba70a686cb373212f90199c00a126a22d0511f1ea4c6dd7ba5b07b1eafdb12b7be6756ef3e404fa722a8f35b7217820929718b84650930fa0ea49b32eaeeae15b6b620c9f89bec778ccbe24820d08a155601b65f39b99865d3c55320690143e5e2ec91719f471096e7b860e765c3f5902282f4f8b15ac1e6b9a39c7b0359b5593a6fa059b830c24cc0252fc27bd3633bbaf1deb0fedfa1dd18f82d5fcb55174e9761c3f14dbb77e56aba40754ce19052734c6e25628a98185916c6c2da3bdf64ac634e8aae05f65c471620f70879cc9bbb9508ccbdd600c0efaca9ff95a9724b60bd4b9da85f506c54438cf438f1eb55a8b33816f8b7e2bb79d7f0f75f58e4184e2510661fb6763587c86f744dde1d681864175df3c1c604e395cf8606269e852a93afc0657b31461e433390e14562f67dab0a61eff54fd4ff8efd094d1757907ed7fa4bccb61725a25dc43323c05810036bca5fcfe5d2ab6afc514702bb98d330f2fea5a9f95237f1f5dd79d926be59badbd8c4773dffb7ac892f97601de1133d67ad3298d9a96024502f9cb88dee3c83c056248c873abd5da3851c3db85a26ecd401d7b6bc0ea436d875a7d6f65d044868bd56b8bd2439bfcceae493fab553098febc88dd1999b7a7a632d0fd64d3a073195472476aae160d62c15bc4c798f9ed2f2e975474c94751f41c55feeba47c998812285d6a27d33406431120a08f2135a1150b18e6222bb03e5851626af7c83bab42d4fed3f17e647a8733623f3c49a5c1e2e437982310918ef0d5b2b126ce1047c7505a80f6220dd7d2d287b2a62fd80794ba053f72b5d2855a033ba59a98432a2d090c04e922740174196d0b36ab087dc210247420bd2736667bfeda7e0d5f5e7e490740cde473da99a30a954f92d937b95148cbad01ecd7d731ce80c90555d72cdd7064b184674abf24de8c4c4fc9e163e0d27ad3c2ad3425841887516abc90c89e51078a6d055927a92ed37558014d82fa8e3da107474c41cc836e3b88518af4d174497ecdb309d02b3564046afbb2e561139cdf4b56106c77ed1fcbdd8b3cc3d7ef0c0f6451b9b310b94f5bbd912b06eaa814b658c86a791f7c9e5a0265dabedcfdbb99d23132722ec60fda9f5440c8da7551d2713ac25b2fe21703eb6ba16a86fad002efe4762d777467771cf97bf5b40920b6cf95702af072d7d63ea02fe1baa137d3dd466657ff374883c0eb5459594ab212a6d80ee1944ce3f7725c49911a85019d08c80c9f2f2e96479af3e53881d79589480846cbe5cb4f51cd24a280d5b863308a1c816c6ec78fa11605910a276aed0b1e6fdf8ba21fd0186be1dcb88aebd7ec12f7791a9dbefff8e5fbf0082def552a2c6f673a5c0a4a0cd55f11d1a7c6ddebc42b770e30b350cd064133e1f70718a339fca380b4b561394d4b2fff6f37ee9e6001ac98074a88095e9577b6444861f64cbc6f4cfe2deedbc0ea96038cbcf040dfc2a22e77142fcb62951b8d959340910bf7b3da3aa9cb85eac9cd05103340f88273c939118ec4bde26adcae46cb85774b54c7e0db83bb5353e71c902090b3fbca079d4a76b10b26e1284a119a587b397a6eaf78e8b6049898367713f7385285ea8306d49948ecf524258f6a06a8c85994bd4d088fcc4f4b1cab4af3be75051456929967e8bdbebf486eb9bcacba592a2a267fcb4687eb05e72065d50e738618ca92697b45e77726bd6204e136735386342c77f7ab2a5391eea9605f278f02c1f8815fa2bb6951b3835201f9b24cce3175741d198b533249a99df89e6360ce6ff0a0787e0c20030e10b79574f7d2d7d8361e93451c1ff61353a1cbf289617f210d6c499597dbd7f3b5afa66ae56bfac557593169efc9e862b75824423163e724190a7b8e5a64ca682363690cf7078befd41ce9b9d72e10fe43bc512dd20e340956277d38fa78b06f53698167659f2d902e9b940dcd395ec0742bc67da3be5127d1184af7dd76521e37c130bcb18260c09077bc0501bf75c1d04d36ba76a86109ab8f88e1b6889bd7e651e3d461db0f03a9e65f727dddc73eb316b2fe248b2b79fa6b3a3fe7883064a7dc432ccc55938bcfbb619772fa780bfd1cb0b22158a55a67ea3cbe580c6159ca9fe45cfe09b6f7bd9e7757d0ecca2ffa6234725d1b4e6851bb42514b19b0ff8079ea6ca10ddc63d414262cbbfb886626b692b164e014026942fa44113faafc4e071e01b6d8a55ff6c7a1e39f52bb7a744b08c4dcd0bae08efcb5722d2df5f2597c63db42220a02a6fed55acbe42b6d9f5063f233b9fb7bc424b6b92b254c53d7fb50b0fc1e14b5d86f30726ab4ed044f3647d3fa88b7bbbd57a310cb0c8b761f5fafa150958ba47bb5fa24ca377b12e09ca70bffe620867457579711774b196c2ed8bd38082d9a1f1bff974d1f3442e1d9e2547f28e30c1630f5afae2cec1a319f68b7ba1fc1dd0e79d12c38a3a2c55b8dac0fe902da0b77f63975028355d6d532a348d2bb4ca8aaade2c2d89e01d8e4995a850a9221d9ca5b01d5b52fd704e42c4b6509364b19a5055332d2ec5d16f0dfcb8dd8d64f27bea27c2becd9b71db4c4aa8f73326c0644418a040c1cfa2d3dd05046d785358cbf236393024fe45937cc56ef88aa852a7b2eef60bdec03c7efcb6dd5ed98657540a0512833119cbf051464ecc6fbcfcef837b8059878a67989e9eea4991e7b74b64a030bb8c9cf144dc7a348820049be80117c4346cda81fa6da86110e509ab9ef4c8a752bac408d6dba4c13dee116720924c9c835f1a68f3a391db41eb9162588c9cf9065d18f993f3497ef103326ab39cf636186ead6343b1980c085eed224ac1bc2dd8e05a89451c68442f629ebc26e51758244f51ca5002b4f3dfe704c63b004ecc001e10273202850df7561b15ab5772000dcc9b87d575e438726e8ef30d6d50840a620627e257e149bc775e8cdf46ec340bd14d195c32c519c17d9ffbdd53293f5b323d293926f7be6f2adc796b28640639f7a3c5dcf0484cb97882729d2a33e829aeddd502d7bf92021134a51750c1817940dd25dc49cf63d3a66b0ed117d9a56509ff11319b8f30323a73f4d83d2098d52699089c9263d285a27cd63f1f2638c3e1394d297a6639d0341c8634a158bd75f8e5615a248770a198e82c484e3a3ecaec0c4f68ee4673c9f616e80cd8c54fa6a9116c7c9366e8d361dd2eb65566587839d7b64d2ce3f29d29fcee8e3e0bef8bded26bd204074e4cb7e2ad6dfba2ef9176bc8b7902a0d9f6b3ba4593fc92c6a35210add58e069f0143690dd8f3d8425c78c903e8c249b9eec685aa118ff03a83e31862031a5f5840b6149a9bb075e136045b3802bb881dce4c184d1ccabbc0dbc341409621502e7c9f657df90911fa118b4ca9562d938917f8315e9d0c3e8259530693fd5334ce0de72f568c005eae08e807306e705a95074aa68f29ce4f8df01f1c2ffc13944ecd641d34d0111f0ed68ceef995d2e1a715f692de7ad1f4e56f8659dee154a4c96bf1a66972ba51351a71e30ff0c48252e6f688946c0612c5d5f4404219839357e5719cfbe22a8c09d66d1d2b67f1ffc83f4e513b950eb2b85f7740a279eaf652850cbac52d0380adbcf2768b3163e2ad5626f096c064c49669aef48ade72ed3fac561ee9843848bb1de195e6c84ca78ab54bb37c52f8d0dd3998938028cade4c0e713a887b9ef2f010475d9b49214a03b1cfa90f0f7194bd9d9c1027d3d68375b11a523469bc2411a84609ff3fa13f9ad18213d0083d0c7014ca8071852bf096c0a1bca3a5d53cf2197dadf8d4ce363d75cf0fc56c944019a1351ddd69b7c1ce2988de67e5528780ce75f0ba0bc15babd817fcc1b130af7b592134d40bc02968484c589ed234f911dfd7c8e0432f60aee82796f62f01f777d2d886e993681dd142cb97b1548506682fac0d9deeb5f11751dc6a1894d51a2a304483d6350d56cc4e8c4e4aa717d6a10b3d651d437d4e8ca86b4085bdd8df053ce6750c77032a40e85356a0f12d815c097d30ffbe55c7aaa7a8f84c1d5f36533b4288e31fb389caab30a381f0b050146a429812080202cf904a1634064958e8efd4c82d1a9ff48ccaf484824082d847df30196d0e7cc1248ae535d193e4ca2274d10ea6d49c5fcb8207d09529332e0dd6290e9439fc4dc550e4cba7a814ea85983a8be5eee1a4296bd65f9bc865a448cabf74049ff46e932b2b475bbad8223da6cf3b901aa6fcd0d3f113978bec634adc5aa7c93e7359f911fbc68e29b960e371f4d14f5e261ff6463bcb43db008576d037d1b9a6e95918ef8b692e9741c8742e3db082e0c68f3b4edbaad60a9c08bf85d239871104ffa1aa1661ee240c3c6e45200764349f4b93042cc21524f11d3fba9d448b2800fee04f1a3fc4082886b49c94b434ba216db6bb20ccaab40c896d82b2d053c687cde797fbbb25139196cdf3422f5a7e713a6358854de1645ad9c179a9752bcdbd969ec304470656c7da9299945770d454b24692469c297a6dd241d7df294ea80c58388b434a3ec2122f9637c4eda40638c71f1a90aa99e708c2623f9d5c8a641e580c4184952be14e15544a4b9b77fd9f5b2934c45cbf32ff9346526839bb7e5216cc74c2273b4a1c104d5a0228581bea3d52e2f4cfa5d260ce9dd65e3b778266e9fa7a701928b6aeac54ec697c1ff5105585623c13c4fa852c6b38669b98d699b8e97b7040f71d2d06b65591ab0353031b8fd0fea354683abc5f09c2bc23e9ea4f413813974315d423549b33ba1a697a334aa2b5006e7205860e38d6af2bfdbfb89fe3c0fa02f8fa7e6f51dc1f520df06be694569527c89fe9225360892a68f917a3c385c719db4e1909618c2389410aff156593ed0c0f406b93ee37f7a654b7f53887c7384b7884e36c9e819b9e0e0ed970cd830427cb8885c38d7d4fb71b2b924e716e39cbd35968591c7802af1e9a685f79aa7a612df0ce3bc6e055ce03533adf0377d1fe6474d09c810714a66c9c74b3dad8f04151f23d2a04800f105eb42bf3aaf1be80e9a9a76490be17c4c5678e7ba7ba725739bc1fd730289aa82c847efbbe72df4e6dfb7da92d8ed615928e1805b3c9f0cddcc521ccd79096af2ad2bc80c16a5534744d90f099840e5f86c0b2e8763a04dc371e14d541f9cff95622bfb107111ae505c0ff08e1234f34e37af88874509640423048e2b04a760516e2cd1fc63b3e29a6f3031ef6b93a8cd0078a0b196376927cb6ae0bf63d91c60e993e453202c333c29478fe8990180122f8050aae516144fac5d4c7bfcea65b271134690dea030d0af8e41e616e389fbd23b2f6a6d46fa04eacf5de6ba3f6c24273128848700b6d52b5a58ca8d8d9fcd803139e782163b857730fe2342a7cc6cc72904b13dea608f7530c4b4f5f023c81e1d32470daece44bf9817c1b7a08e87326576fb553f4709431e7b776ecb0a2e461c21416370e0b6b6d1b9e29c1550ee9b2846d6a1ba126d0a0d7595bb2cd6c9105eebc265e2f3aaae44d0c0647eb5aff10c5a2912e2ff0cf6a4f77c071fd5be4179270f62b91e36f7a7c7d80af81ff107f832b3c99071124608b5c0f35c804d530cf75600c0e29c88043261cb4e8dc4cbb881d71e568459726645dce0614c7d593eb884d64e169328fb32145c87074dc0b3c1d60d45ac937411129c8b134269d78d9cbe228dee374f73deb26e0064fbee2ced15cf6a61f8525c77aff4f1722f142c76c8e08e502894965817e48cd0a7570a134ca6c25ad45aff867ed5345b064182cdcf83686c92d3d2e2524bc68d02e6c6ca75c5d3861c9731309f0f0194550bea453bb5d3bd9c22b9957f6446a147958d965e40e2af70c2d8b325d27a2b60cea678fb48552c6dd237b93b156ef759cd0a48df59581d58968abe0828f9b518d9bf155357cc426a0740a81ad16ee60fe0d2a331e413fcdae5c3f02905ae4448f3fea3c62cb0f8af14f1dd58309f1bdcf5c96d09f1a03f32f07ae042feadd0479e418e2468db9bb2016ef7501dbbf0e742576aee65461ec4eecc2c5883ac4d377f0860e3cd25b1d01dc9c87e089bc75ceb1ea3bc79803b28b22864c3972400f77e7373001127075b0bbfe2805920b2309104fd11aa421b61f63cc530c07a2294a8334c4b631d62cd570209aaab5c817e26e7c2b442cd6791d7852b9693d63e8aad2276671df59ac18584da8179aa7ab6d3129e88afcb3d7d56cd9f3a0c0dccffb9ed3e53226f0458549e37a9bebf769fee6ee0554177e594c5cfb8a1b4aa31f62c28a09498f527e59131e83c3ffd743d7afda81c445cc0792ab8d56d87e759b1565060fe331d11240625fccc070b718da4e98c740c741972069497775aa911e3749fe6f7b0001fa2d494f8a7a92e52912f23d2d3bed9e49eeea3f483d99d69abca9d7f2006e1f7ab9dd852a864053a3a36fac89abfe2df19d60ea3f7e61ffdb89b32bd3f42c3547093ed06f8bec7f1c8b028f0753feb176875424461198f7549525de0d1eb900fbd5360f7b7de202546f3ddcad101a98d362945b181f157c0b01ee5de185deee65c53042114d9a12b3b48f965fde14b189c4d731eae465411669dc49409768765fdaac2ee4f6ba8b83e04658eea9de9c834945a5332cb51602572d680c256dbdab7b1bcb1b05b31fbf2da2c2c5e6b4958ef8118f2767aba5cb1f79bd531678244d8ba084e680bc4f63c83f48543cb48b67dd79af3398ea49ad06942b695f27f464b11aa899fe96aefbdd7a60132765b7e8b3c916456180684869aa906dc9cac18a29c3b8498d29816bd2c113ad14fde8c004cec8eda298e947758320e2d3b9abec9d912bb14f12f3e2d4c4003a8ff88e43a5becf821588a066135aa821136090ed80ce717d0015b91ca1a8978c9f064e5eec0feeacc60f408c28fffd2e93eca48e5d258733c0fd16e813438cbbf8770225dbe55b2598219481a719f15e08d6120863894d2dc8265bc4b62c30eafd0fb0477b3bea874d0e624cdb613e00c63a1b77a38a167c9ff658cf73d9744b5d94880e54a4230cc6b40d13b80fb0a47960926ea496196f44b13586593f8520de0a8cd7b566aa258a87c098e6bb9125c44ca21490105d4c731a8011a300f60f2324cd0cd5c4e46d18dae80b4be2cfaa99cd04819362f03c283283101613bc5601aef96fcf7119fa4275da5ae3d30288451ce5588c6fa8d60322e39cd2a8a13661570ef289c61bb321df7278fb6ab655750934232d9ba677de7960016f84dca9bc18b596d8c4a6110097529f80a78733712b3974ffdb8e93dfaaf6572863c8ea3388f60949f75cca9f719fef64d59261b71452dce8668ad1f04ccedafb01183fe6ef2787b6ba98eddf00fe6d96bbc9e1ddf33313c7325dc3bf1a3c720d9a13fcafd24693996f3cccd4470e04f04e13c2cf966017cca01c71d04480cbcd37306778319d51d75b650cbd84813f109727d1ff357b67cad455af07b544e845633e41ccf209458c113038c77af22c675d3a7f17f893d54ab17afe3f1ced056758a141295735dcf39b3b5520686c824784c060397665aef9c07d34d8459ecebf0f2e7ab852065c548eee18deef02ee4ca720fba8d8ac2b00a2df4d34fa02d496ed2b4108bad24661c93f9cd6afbdcb86e23e9f698e738c3a8e2b9fc54931c3c572a934fbe580f0f9ff79ba57de98965863229fbeca97ecc11bf0bd8ac424f4c244243c96e6b617cc9bd8a361369c97aec9c01b4abaa8bc69dfe324575cde1988c2084b657c15904cf0d68fd2c164e427947ab881b62c3a5907869d09e6b56cfad8d1c452ad68fe4d1462917a59c1aa9455d6ccbd569f87f66bb1bc3cf158da96e5695be0297e37ec59c42a5102228a60a68a470ad812ed038cbf97e86ebb118261336e79d00e5218937e11f5b9de3e15851b592ba52c1213e83b32b2a59e9ebb74196968673a2c2937f98a930eca32a8fad385f3faeb943309b948fe223dc396a61694e6209c240743138d7ac90b4c9cda526df253b30969b61e2b37449d8df63e5ec6d3aa9ceca4a2097e43e8f5e50b363345c6a22e2c08c5ed2a5c334757fa56149e4cd1a35d0d13bed8971f05f256dd29aeffb82b32d0852561bd7a9b3f967ebac7f4d38ac7cbe96c0a5c0a74bdb872ad8fc4dca5ac73fa9d922b08ee795f410c4a579e90433a90592e8d4ccc01b971cb37eb3621d24d008378a11dfffb67276059f85f0cba710b11e209eb4a4ef557eaa2faba2afed6f8917a1501bf2196884fe6eecb5ba22fbf51d7c6cda2aefea2b73983e703b07d8704aa0daa7520d086ca2578c420e5521441ead7e3b605ac179ccde9bd06266fe34c20140bf3ba5afdb8eca4091949009f2d99b06a7e6a019a097be0b8c912ca4e40af0cf11d847413923e746a09993d1cea389f81dc009cc4df7a28cae6988136785c560419ce76195e1c4b84a197ee6118581cece61bb5eb8afef498944542f69ff0b622e3591045c288aee2df33ba00ac4fed2f6ffefe12591dcd9df256fdc3bf81ab5772afa1aa3199467b278e555195302d87a0550787e135240b3eb71041b909f4a5cdee5ce1b69741e58dcdc114e4053dad5cbd5cf9d4579137988d1c8336dc9706c08d9711fca48b5ef4ec12259e8beb20a9707cea5dd3934e3ed8093d854dfb39f410d08c1cbc15d914dca54822f793a232bd367e9999553fdf5a801e3046a95455d1670084e1dbd78725133a28eb31dc930212c3256607728f29ccfef56c0f21c91dee45d2fb2e7b22074426d979cfe42b73c3eb84bde2a80304b5e4dc2210adba53e7c86594f5d68acf24ee0ec0176be5992dda2be891036e91f0a5895e1ae05b9ae84c60b99f56bb30365b38176908cca5922dd244891882392ff648b77af9db809ad02cb64712a429e8fd24c73938afea88d5d2d5ff10442c1c43c920f50a732f9e12abf6c72567b69227b129633fe04e8fa6e2d9d5fa979128b4018cb43232557a1447d8e261ed88169a801133c9d3e4f859e3503fcb527c106208be3383460681ab03f89ec4c8a58821998c6ecc2cd713908434506b0e61118001038145af0c47eee880bd4737e3b36e7b93b12081c91c559fe0b3ddd78ff708a5454bf1c7d35f8b890fc08a6999c332ac90a6e6258a00d703e6a51a34e6f97a44780a64234a8a6696c9cb38fab574c2d10f6f4dd93386c00edf6d42882ce11a5c6ed3a41f31609e3379644f2a2045825365371feb6891784baefa46eb8ae4083817c6d4a16e98f83ea8011811f823f16b9e08803853d72a4a8616bdac3bec5a0d9dfc1b5a3883dc6bd0d9054fd1f90f60ae2978a19bdb400ab14af6c550d75dc741f823d3a286df2fd225051220b4a2ee523b67aad2446d25c6fd58bc21ac92a6cdb2e6d84d8afb4a79b51d09152ce1965b0653d255604dee0c5d7882fc1db6397ab50db18ceb4d08e3ed72e3d35e96a4dd6250eb38fcaa5d944d3a230e5c072380ce93e2ba2c10a59c68a214fc96a08b0f797a1f3640bfc1cbdb0fff96ec053b1fd9e2b2fe194b297e3b03d9e9916b91088ef8ae853ad856343851935e5464ee2ce54562984c43f50a9c6840e7d79cb63ef38e8561765cbb8f205a15609af59e02852c85981064f9cf1172db3ab558789373557a18688732a1a5fc1932fd6c11a0d02f6d69444f6c176af91f549cbf381942be97bc8e141daced4891893bc66ba0a9d8a6e4337f3566026834e578c93fb2715c741ca4e8d4fdfd9888227e1b29e27485564030c049aa8ea60abef98f77f88cce2c7cfa1445cd26cb4be0a2511c6e22846da4b8a56acd86c8298a11b60e5c0296a7a58bbaaf358486546631595469a5ef28a49a02fc046bfadd60bd4a3136f3163dd97f4c4522de3d4b033d9f1129424bd657e73885ea72b3170e08ed2cfa86bf72a22127185a3bab7883f071f65b877030f1e48a1659d6240dfb2a135bf9a4c13193ba3ad486d2d670ffc97874b5c46c3d3c7feb6c88e36c514842cce17ba8dc5b98cf1a92312a5127a854987d87e65744f396a27b6ff4349a6a6d93b261986ade7fe882f7921aa524ca377b6cdce86d4ffd48b901f9e68dc0e87a4808a5e9a23634c6107f98b46261b76004ec4f5ee63490bd0ef33c8c5ee8c36fad1ef5690a4ed0229eb13e26091827a03a86cb26468c2978a0fa22a190cfbc404a77bc6c25b4c864031dc1a33bc2a2b38b6376d3ec268cf63668cc668868ac2cf086c44578aad8e8bb6cc555ddf0251246d1d70588ab6fa52542163aebcef763a597a059490d0eaf05d9c4104271a0f985285c4cd0cbe11171deb7ec7319d238c000b7525102706c19d687a42f0b3c690a0ee54be4bec5eb1b4250a50f50699fce91d7c47b3788388f00a9c9a18370b0639c260c8e78a52b5aa73b106b3046f79e81a02e85e5423164cdf9d487ee3e69a6c617fdfc2f8b5a1be1640311a0f8080b6a861be864e1fe3cc2ab93cb343b4bfb3648fd921b85c844b6360420a7427de3ee50cb08b36acdf875a0d4e01d97e81c9790f4e60cb1ffd7cc436881cb89c9773ba2f5efb9383bc2e94c3708425a16caa0a29e3aacd6199dce0e3e430a45a811865c9dcdfde20e14cee647e30d5a78418613b6e97e1a6d1a76fe5d54b370a4c24e78c440edb884d1c622577ca3c57c9cdb4bf8fd30d54c7415711e3cea90bdc54662a154c2b67c1b48c35272ffc415519542ad9d9dceca29873d56f0eb8424fa5e87dc3947344645ce6bc1629c84da96140a223866f64bde0d578031bb18f8da7960159abea04ab24c25c2c0a14a3b47e9bf427180b2d013bbf5cf55ac029c72c0040eade2548687eb42d3ad9619912246672fa3d42b5b0c05d6e9a5bf6691d96b56ea1a97cfb2e08eb595c476e009d92ae553f46d660b827833ff8d2b71d45634ad87096a9044f2cbab2d4f01e054e208c6b85c4117c37d8e5940eb8ee81488bd47f9970663e4acffba85730043b41903131b640c0c4f3c9c43cfa5059ec9d9340355119dfcabea2e6a9042ba3fcac3022886baf8f3eb9d681032ca39a8ab4b5b26cc933126582485a3bb3528bac52f68025b40943db16498a7290f24f53438a2246df732604c81e2667b7a6bca49ef782eae8c6772a20cc58990efc8c6662618fe4e1fa8623876e5f72a7fe1a905a0109be05d735f00de3479a98c83b0e5407eb2bac925bf65fa03632164a8b382afa49109e672141b6b61206606973dd14f2983bb0fbab7bf05dd24a475e7416bbbaf63397f0b2253e853b5158dbd8143fdbfe8c828266542a183befde9d9d59e007aab73289120bf3db8c136714b9caf50f2fbe1422e2d006862500aa7d2602064fcc5c3e2d066288cd82613b09cd7e5034348bf2fbf3386c2306821267c629573e8ee31718664b43a4d9706060d19a9c13ee473718bb32066f19876250db7c5af070e3099444f60271d87a621002404ddef709fd6409f880b4f4af120440ba6a29188328ef0fa0d9f539ffba1cba61e3b8bb43b3adaa2ef2dd8bc5b1d160c4fb063d7fe411bce094558f9ed83998be6760e97715bbca0bc26d74ad7a7798eb1de586ff5b1ae40da31edafbfc42766657a41f9e2f219ad52e217f4c9f3a7a8d81ef2abb23258eb5435262cecfde741ad56d09bf4f22817faf592b5a613b06e0961508f13bf02cd024a21b9114a80a5448acb13ed6589e9cdde11a08cf001c5f321b6e1c00a92e42d51fc3366b4daf6469279d89c0f2c1f2f12aa04f41fd317ca1a8e9c08d65b0a7025f67cf5c9ab6d2ba3c33518f2f0e095973dbc4d842a54674c5083f08657eb3dfa9ecb2cd1973956f2099dada99bf44dcd7d992d3c0a3257b3853c14111d7212ae12e5e0db791b5157c9fd0ea6be13552387ab1225f8e42b531065f1ef0648425013dd48fac14fc7324542bf57e8cebd5fd60850ed8b9391d1c2233b898bd3814f46de9cafc882710dd4f21f0504ca5df8fc5e43049f8fa0cd8f023d1f6152aff43144b97fa0829003f3fe980f74f05dacca6535e77ab2f084e87320819853250b4ef3b934b3e509440d67732e33aae0ed3930069866106f3a4728b08d3a7abb03b59de065196d23b5d1c213bcf69d3ec52a7839296064c86e9c9205ac8a5116f0532c9f0d9e35be94e480000e85f2b6c5e205c0b16c31a10548e41ce6672bd5e6f9644e84749234de55c1d3746d00cfa1afdbc5876d02369d2862c9e8204421f1152de303a2e8ac853c1e6105bee3db3813bb824f08c5ac9ac6febc74ac6dce8bd79bb2c106746dd116cfd66535c0580ce5180038c89e2a7cddf1629a1b1706ff2bc9b5a7e23697739cbce10a62495db01f1ddc902ab1c743f6ee47a925df87e47f97062bef36473bc32c222713396fb5c6570be9dd591545e4a275cfe74afef8bbca52f94cb80e68adba57c1e557e29064de7fd09edc945bfd3e3e9abe93f1909ee95fcf06e09073c406faeb33469526e3da615136a5a41e0dc85e48ef94ca59991740f0f3745048004880d10fd9fc8a4207a5a737c99946aca6557da9b09087a84be534fda80073e9fa1d72b61878655a25e91964f435566adedb5497fe0363772a350e08735956d465aa003dc846609af819df24258c920b6c05a3dfc6f3d687c56324cffabd03a405b2848b36335bad65b42c373c8be2311c313563843eb812e7653cfbc3b755aa7a588e02bcecbc8ecf74cff59d65f80d1df4476e9ab28d1c764b6a1ecdc0b006aad1520a6976fccd6eb05980bf715f2429ebf6a00a42d5fa3604a79825e2127c7e3e590292689117ae3c97ded8be3e8ef5bfa8807407d2150c888d2e1657abf7b164b834ff1d22fab0b1283e76a183015480dd838283c8bd23596002ae6e1f131e05e67719399594dc129d5753569044198148704e35a43723e237a6564e0a6a34f76106521ad08a3c4bf91c68bc9b9546e441478dd156f93f4e98be90bdba119c7b2b344fd90cdba7531c4bfc8031e80d2b78975d75ebeb513c9d9bb0e70e6974172fe72ead0da0510d68213c319f26b6a56bc7e9baaf6dbcb9016d78da99da096e1f579889a09ac29d3d72c631677e98695d5f4fbda6cc0dd12396756277dc82ce58f194fc420a50aeed31b2d9d057d63df22e90414b395499dabe89d979545d998e4f0f0964eb798d942b388813e7aab078828fc881aeae010f42062ba2d4af56ce27328298f83aabbcda86499d95aba23b000afa7dd5ac28f63a12cb0fc66573a780367377851daec9144841a97f01f6f2810aee5e21ebe2546878134bbaa68b246e3c11a2820d79a17510a0ee7a15d01cbb641070a1c766d65fe2c70135fb2e64c60122a3312aaaa7496761d992e67ed209299e2cbfb3023c305b4547db4556aa9bc3a757e9b7a3f24130182dedc7b7ac696c20a4190b193798ce99e41cebc1f9e25b9fc5664810459b18cad300f42fdc4e63cace9d36a181a8f493a4db93a8db8ca5173a60f341db9bf9349d9c6447862d16a3eb8fe379d4900b0f1efd7e4abca3274d00a91049e67b56fc72ff873bd5780c019a7fa1b73970290df6caaf42f26ddd31b6f49ef3d89b5310e24211426413f3d5d58ae76431cfb4a256150f648dad6ae6b48045c06281667414bc3513fa467afc8864f9c5bf442326ea699163e01373f1d1f95b87e275c2896857e9412883255d42febc6c4cabebf56fe0d14542f78c7a175169898be765492d3fcc7e5a212890d003309c06a6bf7b9c6b78e2dac68d03756d962a19465377d7d6b918519bd12ad2d58985210b7278a32139fa204757d1c2975ee483e4d83b884295719761a8eccd52ddb3ab74b337b1bd7b42144c73e44f1a833078df0c019f4005e2b7102099bc271f338be61c9e44ecda548a44052c1eff606106506869c9e00a4f6ab399ef2d777ee653761d2a4ee3ad725261796b1ae35468f0d6dae5628980b9bd251acc247372f9cc9b1c6a4e2073b639628314c021259bd979b34f28d93c07b8406c034d76e742d095b2d099e145065811043f08beda88eeed6cb4e87cd2d11b3ed255129ff1c5438036a53f612f2e7dfe9a4e78c81177d21c247a46254a9ddeb2aca8e534fbd565a0defaa36eb3c8b6556f149e1cd6c8f9ac13c8d68f01826411fafa67cf0bf64c20f6193876a2cec2bf53766b6bf663dbe76057285982f639a77caf1ec8d90f6e76208dd93328edd93fa643ed73a129c2956b6feea3d5b694f13795b3b607eadbf960cfa2b8ec6d48bcb79fd0a29161d27a6cc36616e4e1896e770fcd3a58e47592608816681588d0631acd2e0496905b4e3d7c32dde32369982e29cb06010d18310da3ce297e5bb8e5be3ae9e65cc8ae2a95e3d52703d86123067234226d241470951093e8fe0726d6089854a99b631d762e5d1b9684d43ca8370ca86765e0d5b2892273691b0510e6bbb41b469d30da21530c75b446d955ad1e5a15840318ca753cc6750771a5bb7d4c223d59b22ef3f29d5bf36fd32f13e45c798af920dd64bc4fafd2a1c63f3909abbb93650e6b73cd184d7fecda3ba5d37624e361738955c054cb85c3e0933e30d67f104e5452fa45eec13985568525456636984f764ad3df00d973353d0617ec630b7c7006735102424a295cb5ca1a3a1dbf8c23df5e7d324a89391c8bd663640f6e4faaf5500449dff195f68414da897d94d1f8975ebf8c714dbba10b866559d6280bbbb444db0ed06137622158cdf34e5a884412f7fdc93c51d5ed806d84422518fbcf2ca2d6226a78555d84912344a4e789624f15b64fe09344ef88c12ebc5a21638fbd7d2abcf47662db7d9b9f9f92d4c40c47338d1f127f45608688bbdb09e269395b9f11f0d3d50c8859c6d294cfc2f36980f45a4f3df10226a8c100d2a2345783f822b5541c49734cd6602884ae3853e99a57104e5cc18924e637b67ab85bd79a3c35ec1187b1b227e3188f2598f98486515d80902142cd20dd157f167609670b78afc45478e617943446296c53c1b6bd29d32efd1c5fb8b3bd8ac0fea5bf3d3d4ff7eb721f381bad564e6f0c367014c7ab59ae57a157a5044d51922424f1819379e0ec31b9f9e20d5d8e659b8fcce202c2c92d4b9f2f62e998bbd54fa4fbb939c2eed08f7af71c7b799f5d5262d4945c407e2b669b051add13a69b67771f4095d252f892a45e9dfd101435cf1f62004d6aa42ccc3b6d3e53ccbe504936f141e2a99e873de3d2349f46e0973eb2d9cf02754be4771dae7e2c507cc5124c6820a688126c4d12e09c71ce0e3edfcec72b0fb8deeb467c117984ecfa2e61fdc5657d1c0dec27d24a6bf0fb5572c1b12557c4caa4f91f9ed01df62649fbfde2f95f020b0186227023ed42facdecf3599bb9af2ccbcc5a23619301f8ff78dcca29cd5a548883ebcd4fcb8518ab2342cd4dfc53d128153574e348ad803ad61a8364f2f55d71f7ccefafdcce7c58aad6ed540e88e1d31b44b9ffa5d290d924bc692c973cbc041dc10dce276bd5aba375e768c60e948fe94557203826bcd42735b0fef9c26f5b947374f454a2abffa90079ab0ec287ab24f7b2f580842098d33de6b5125de6644a134011e2a60aba29376903cea98c4196c31d6ac3ae33f9f7d8d97667331f05c98556e6febebf311c8f55edffc610d7c5ddcd17bbca537e2f9a406897e203e2ac1c40642ffb49e2e86a0ae09ab2345a59d4a4e67cbc1e07e403aa2d5beba25189208f069d12b03bf9b2835de1d8177a457564255fa8f58e46680e20f076251a8fc5537f49fcd6a5856737bdb3cac5cab9da173c5cb34de0ce94ef70349186cad3851e033102987dfbb727287c39fe422522331450d17190f31983e2db5a979c908ce64cd35673c7ed11a68620e9a47505db0c224a646a667bd8c29a9ba48a9ae48691cb2614a1ceb1b199282c0cb50503663a6172ec2816756dae8099b9109e3daddc8e8d93450a74439b96957c18f077e7658fbde8653319f5b25bece9e6d01e8a8e589df91c57b4c6704ebb164e0a8ed249b8ed0e470f78f9374e8c6d63c3a8d0c845ddd8501a153698fcf56f6c20ff5c066241c1885571db79e92fdf6b0e108b38e06cf789b442cd515ea4058075dc1a52652be1f14f0111ac4225c6c7caaf9ca5f72041a91ac684c0bba69f4724d8a3f30c2f421760bee14fdf44f10e58a341fb716787b47d7e2d6850ea3095ef8b67d92b9acb99bd03e436a46dcdb96ff366fc005f8967dcb4d12e1ef061c751cee37c862643fab110f1128e1a2ba4031264ecdeabe6d363c3d281ec50e9409e6d1fe8ccdd3b2bf31a8c7b8272a652ab9ed98880002eb9ea84178c4063080c4c7db620b5bd903ad2f6ad544ebc31ee4fabd3ceb5a4a4ca26da7f0641dd8d32c6251cf41facad7e9b90c96585119c407e17b204d7d7f3c478c62f358751f915e917a1ddecb390008dd3e9483a2a9fed94cdaa4d3580805b884d6619004031fb425e9235e802852f710e01b78c18c0cde5e82561b0ddfa361629ba9b4a0080a61eb53233297e0767e57202d9001f666afd4a345b7c86c8b32514f3954a6d3964fc85ba85b369a401a5fc96ddf277563a5f768b1cbfd4487af5505a3127cdd3399b56121b0ecab3c065f7c5ce10c65fdee925fb0706c4657c2354a4e62c9018c339f390fd33adcae4bf8fd011fa3f10996bcfd7de1dd930b239386782f33651c82ff0836dec0cfd61fd8f9ab97f5c0ae1be2175c007c8df0bb9b3190a69663d93ca44305a6589f89a1d9b34acf088f851892e9d0b840047cd629de6f6e3e9d763742908dffcd78409baec9c94dcde070851b352f91410edcc21cb71fe8c400c5b7645018ae69c872f056d8680dd26aab39d95cc3e2cccc551d26e7619768f09d9b454c4233802c9c7b605395481d3b46a5c4b37861b3a56406e964789870c24685b48b1fe0e05fb8da8111a5a20e98d001935b92d0c87ad71da488b579ed3b7dca3c3a26fa03b1413c7ab31bd158b445eb9ddd418a0bcc2b15d5e4571532ab775d6d6ae38f843fd7fbcfe218c7c7acd242eec764d51d66f3616919bf1ac1a262ebfd6ffe780dc84efb1b89da6a408d669c4b313c76a5aed8664a6213cbdc8346d4438dc3a6bdc35eded375a807a35638ddce671fdb1690206abb8897946efae1ac9c3ac7e8603e1f98cea53d64dab75df9b2641e32acd39b0667d4a239f3b10e1f7fe294c4eeee40137672b85f1074e7bab2980ecd652a3e134c9997329733d22d9e104af124aef7f1923bc8582995adb1d0d9e7f7fab35a9b135ee0cc9f08b3bfa4793b586694c2715b621dfa4fe60723b3b27463cb9aa83f272ad69f70e678e138bf37dfcf5cdaf6ad4f1d6a9677f2578af812bff176043b2043131f533f2000fac6c76073acb047e9e515680f67759cbf8d2af97419262ebdb9dd5a93b7ae3d738dc29664289069bd44b07dbfe7f074b58be51455119861feebced87145b015415017a94e0215340d4651dfa247588f38186e852ef3e1071d67afdff6346ef074cea1e8a3ea9663937288ef91cd507da05f1e82e1873581db5ee46e644968331d26dbb6b73cec1301af95fc18a0286172d9152ca24654a29a51439020502fa012c92418658c520d12b3a04b5c8915334e20a7321a8048b931eb4252d2e1e67b349cf14e591157ce5ac4a524aca14274455747c8c1d9b592e785c21e19002fa815e79ae80b19646e6ab623624654d880ece98cf1291a711432a1cc8178b24256b4774622822cb511317590f2c8a92c9879484c30b190d823496c34bc74a5499aa46645264f4a26788490d18988a544542ae20d1dc21a133824235a8341276789888c72650445586283a49ce32ac1d5a363e539c473f4bc2aa30b5aa5ef886583688400b262095e334a4c89712ececc7081b5e5872b0a0989898509e436a3d5b5d4064b8e0227e19e998fdf075240b51c70af02985290952188e90a7aaa2a527b22359941d4b4b680d123130213850684d2b7c7c928e4dc6889065c156d1b0259cded5124914259c9008c6529218700dca89661251379c9ab67624a0e5d4c309e4861325354019831a02860d235d4f82e0e58ba4660ca85ab622c76a89d8928c8614d30e673d8c8a104d61a519b128428589190f0db23c2587b2a08d628eaca9a18e14c5895ae371c4644c850fa7a12fc8c70c223589164458d4788a43429e3d506922032958f584497505b674e69303497db23d8aecdacfb33aa09afdf99fcab9daf5ce61b877839c53955de2ff1a2597e5b3506a6c95282ba43302e964ff9ce478645dd1bc37b41bdae59ed0efb34e6cd57f7b7f3dd3cbdc09301622e09cb9d61d4debad86f59e2eb1fec7740f4181db4ed0e9c6696ef52fca5a2bb8375f73ce29f7ddf6cb3b78d695a74d95556d6369ce5ebdea7defbd61024e0c705b5858543cdd5bb6b9cef5d1c479f5f62a2d82528b51efea6881ac29d036c4f6dfedd7a63dae6fd1b17a369b2be7d40f28cfec761403d7927c9b4a7c9c12172497cb893aa2a009a4b12d1a5b84391a39a41100c5a7bb16401b4580554c6782eb0452c6fb1a07304239918014b933c4854d2aa01d32e088f3196af1ddb2231567ba545e666c44ca60de668c10018cc81c81d4a41cf028c410819fc031c7456b65cc5c391768d3184862c2d9c0aad5a274c0bb52438a69f0c4f0812b209e146db9da6996f920045641643c4e9503a2998ad13addb8e911337638dee2530d0ab144ab1d2be0f75343eed70802284301c0520237bfe49f37e7a8e271ae63c49446b0a2926ac8132a8d8c6577db72c62a4cd6012624f27ee67ce7307ef1611d3337666ecc5ddc8c54fdaf6b7f69a1d153c5a2a7e15370edebbaf9da756fb3eed57c5dd7dfd7de375ea06bb7ffb65d7ff7eee7eecb9bf2f6daab5bed5f9cf0e433a08630fa41cb9b4066671314d560c5066deb1263dbfd7cc10de64775d017639c22afed5f57b765db17e7b66b7731f7ed5be2af5bc6e776b5ad5aa725e4173ac041450a970619582ce3d9bcf6b49c73ce7fe8ff39cffaf35879d40fed2e12f7ce59c5cfa123f7ded8992bc0a9bdf7defb0cddc415f77bef8df5d0879cb10af92b32fbb1cc82c99898f500cf84d02ad86c49b2e9834ca74751014124537680665f49b0d0046f9681daf8678c35fe33266007f6f7352f06c6e071c845cc540898659f087d676f9ca96c213058f7af06db3e5b089e6eab5e1727bbffbd6f249060b9e52d2df8d368ae752e89a773daac3777a373845eedf33a987befbdf3ffdfdc765fceb3e7f9e5079e18ee1d6317778c3186e9be54555335e51863bcb160f16013ec2988ecdc3e4d8466219c14a2a0ab2f7def6de3c8564ff07708bd1b3a95c60a9b02c6788303ac627a9f050249647cb8206a2829104408132c522e25816039a179b48daf2f97a7eee6478e7b0ac304a2fae572634daaa37dc4451ae9f5dc4e2ee7d292d3b5ecd0f32bd6cac0b011f30486322ae7e9294c09c55441e645cc73381ce6610e220af9269718cc7a5f9e6f665cf84d4e81fd87d5c3f9eb7a979773cffdcde76fe6402ef372d7bb9eebde1b17ceb9ee66e69da91276ac28abd468ec4a4729116b043aa07bb8a246ed136594f3189636cdd64e54f525dfdaab15071214aafa7e6b1de1ca3212bf820f3453a826c650683de789a348487da652aaf8cb2f6e5194e782178ba1a29c8282c3ba1163d492c31e9ead2c40fb6f65bd83828ad869272525a5aff47f705e5eb9ff0011c17ea6861b69e4884775860449eee27bfbddd5e33d55fdeab229d7e645b47abd67d3f249e1e2ca3e0f3104b6c0c62f59a2accab9a2264569c48a92ea19f38c6192659425cc373eab5722cba7772c5a17681c1bbd168f68bacf49a0d7fde6e305e49c73dec5745fde95cc60051672aed541710471abddffd2f47ade9659aaa979dbadb3cd5642f69f869fa60c68c041c6d162041352a888da5e50029f32dc907dfafb76d9554dbd8799c15f26f356ccb3b1e91f84fe4de8495df5de7b5e5f8fc8aeab2633dee596dbbce765bdc30084145aa081871c1fd09190786466274fdbd014e538c7ba22ac30f97db7db760d445fbb6f7357b14bd6aabe5d71bd55af9dad6c53beb5da4b55d567d587f38e866997591738adf556037ae9e4c4a3979be747378fd101587810ece9693bbd1c975f87116ffb34119ab3d63a67bd0cfac171a3c68fc60c65150cde3be6bebbba7be0baaaefb95c2ec176367de12dbcfab34dfd6cebbab6db8d75551b9b765d5d9b4e677bdf1beb3f8ef5309ddded5c5bceb6136eae7ab3a1d0f7eeb7975d6d1ef0ee55d6b33098af4223718a3835544e0131fd2042c78f47298533450a93d95c266d50a7730d5b1e8d4d433a507f1e3cd2a3d67aef9cf2a3654c5a92bd1e614c3299cc678e9163ec78e6c931dcaeffdf77974ca37bf3149aa6a551ad74f10b1dd2f4b33037e5a026a29ba676afa6e6a3408151d4607ee55fff81d9e95481718a1c969dd8cd21b5d65ce7ea5c24da8739e73aad5dddd68c6e66eb5c88696b4f9378fdf7cdf7eedffb8b8aacd44ebb4d25e00663960010100ac5c26110a328104321ead807be3cb872b6977c9d729c10318b2d3b54fe742d6d7b9670c6ab9894bae49bd2a0d426f3fcfafc5f5ddadb5ff6ab23cfe5087ada68e4d2a5a72254a10e0b9affa4a198e97f5f402dfc00682020be09cf41115e4d04a67f64e33d4db6deda488291b7d5b7a5c7ccb2cd1e6e5cac5899bca0739660e99ce531ebbd3a11080bc90d0b7c729392794ef6e17f19c2241aafd59e0194b6b5e35fd2cf839696feb95c9442e9d8217e7f97e93f6307370baa4fce7b943addbb2dd6aa594b441394badfd4b65e4bee31cbc7e793fcacf1b5ba17e2bd421f56d2ad065845adacc9815f5b4767dc3095d3531be10dd74a4ec632b8a00f31ea766759a61d09f7b1eaba1dfbdd73b2f6266c41d9b6882caf0380a07259497b7977da327ed8506f5e7522703f672e5140b30114581cd6b3ef59f040b3a895809da73289784108b942534c7fd81272fe4fff43d374ffc8e502403983204f269a9bb4916d7d6db9ba344b0c3282fcb196e016962ec495d5a4c5e4fb12679b6518c4d5a6e6750936b936025158ece0d8633eb79e8b50a35ab61c6521c53d3bb2b2cc660b0fc0c6878f341fb1e81a8957d907e08732bdee3b443a45d9111351d3b3c8af55011b2320871cac076f30793631be3de5aa2996b99bd6d8a4544c322958792c62f93300e2ff721a7189379b34aaa12b8b37324e954fc800b17ed890abf617f97643adb4c7221675d9ab8d80b695c2ca249e82563b6e21f88d0cfb0bfbff7953087e47ba7ba6001a61f9a9278671e297551522b71fac201c3938045eb056d76409c31629b3ada7b38c46a0dfe2914c0411ee020966e149a06a200d7e85bd22d622a48276450486db4cfbfa024c2687e43ad88375e4fa34c422327a13b094e7163e49b233576d9c077e417a5ea1c29b7d52dcf360054a6a2070b63d194b18231d7ba4a608fb82d2c44af9b47c6d6ecb788dcd2fb611d6e5c3226618c59b9682741691820730c5f4a847c7b80de6c5304a90667a233cd15933362bebab6c22f34309aa8d453445ec06c7f0e8b28a3e6ab34f112f42be643d94be8baf8eb8c5f2346567213d2a220d10767c0c980eff5428c4a0018291e0c281111511adb4f17b54a55bcff8016d67d126a138b3062172f58b8a6e8f578033d61bb13a6f4ca8ce5b5ce32345bd8d2492d968fdd535c25459dc15ac6519cee3b36a671e2645d9bc7053a3ba89388cd50c25ed2509c9c33e21e1e37bcbead3e10c07fb36cab3d20985d28f53d4ac6b45dc48e912dc9c477a06eedbcab97af7d1df70dab847d17bb558b40c4f4eb91eba9fb5f3d87b0e9ce5cdde1cfd3fe5dc3092b7e08e36b0f7428597e54106ecb95359ec15ec65b2a2f7989106164c383b5874099f84d13a9e607997c7cc3bfe274e7af3c3281280053d29d4f19f97d0d71209a3e0806017552d8d841b65eb517f19a999980929488b0360f57c711dc7779aaa84df463430bd83c8caee3b8d4bf5ecc88e97a94dccdd0458329421e8580da9baa81e63c36cd5a58a8d618e14f6604796d4406ccc35ba57398c71750eced261ab00efbffd62b12c8ba3870f66cded370d9a8c72f7b2156fd9aeeed55991f05ab09366532a0d4ef93419a974bee5d37f4ca7c9ed447e6d56216e8c623fa57826e5548946319cc6e2649b8562a19253ae94d98fc08b7fd43ebd7048df2afad3e336422d5d98df2c96729523d838df9788e634c95f435b559f4ce06da30b2b1b3a534148bca3a7c790a492518a5032c9d3105af20bfa54229ca405e7b7d86fd9a6128cb89cbf9d1954ac764ab6f28962c9bc8fc2939826096a06ff4262de2792fffb5bcf4236e54ced72d77950b2460ea275b28275f49bd19504316ee07153f7551869ee113d519445e800ab8d25655ca4fcb8ace769f5d21f7ac02e241f8bbc73406b288f4aec0750441c81f2796ea37329d658147ecf4b3a9747dc3f9731f3e2c75c5bc71c27946a37486d4fc3851f7bd9acf748d03929d75935ddce888f3f670a29bc1da76ee957cb964aff064fb25b22e612acf8739d6da8123dadb97a73073ef5b49d35f3545fcc1016a4554e3bdc694d19f95b1fbc22a851cb429a40a8194934e7b4e6c74fcf24bc2e2a610cb7855f89809e290736dd2c9f845549a92c60c5901d88bde0eba00377ffcdeb8c0eaa2376f4936f581e6af7d12b11d0c76bc0fc75eb8e7f83b5e2af991f6c4ce25264c1e5084f99d037bbd9403cf215502189599277cd9b3fdd96bc9e4a412bf863756bb52d3da220e19b16b2018d77a42857a308152d8a64f162ab78723d32f680172f26b4be1b27f0a3fe1987fa00dbdb8036dbce2d4c3bdc147132007267a75797290a87ab6ca5e9a4ade31ed17f29c7aa85d32d57606c5dd60179ba0bae643696b204a5b211dab9494f924f19cdc3e4fb08388784bbb98ecba5db10db1436afd489818b13831fa90a39bc005b5a16ba2b4a58105bbb0ab0a1065039840119f5d42aa44b497f0d90da963f4529fc69d4dd07deed324a4b2b9a2b325f27fd309d913324edc42d997c2eba62419473b7d0bfce2ade34b069559c08cd92248bd8f837d78fd5268484262e8d4cfe19dc3e352b06c7fa07a1d12749982f41b1297c953ff17e33c2251d3247619616ab53de29d1732e260dd1e8ddaf64225aa92fa1119f4f4ad689d5b1f288dfe3957cd282ee97415a94963f3fe1d4a018423d0ea25e03a151e93b45090b52dccdf38d7abf63d7c9c3d6ee2412f5251c586adbada3e66b35e68c83205e34724eda36d1e15a1ce84be5902eaff5c6b7149a03617baec92857d4f71238972a7e9bc074493377b153b17b31e44b614f74a404ed09c8aa4091cc397826d960752915ad6bb9260fb1b488d3f6ee4295acd361d1408a832b4c803bd0db1ee02c5de73d3802090c00b89881764ec78fa0425fa5318d02ec14a4a170eb1d542dab0837e1a21529d1511bbac589eee0c467dbec6371bde25d2cff599ff10b309663f4c950042a5a919f5e725a3d8708a50ad5c8f4ed671bee9d77b5b7fcb6a076413278166e99e657946e33d8b1bb9c9053912f9b85249efdb4b9f9ce3cc92ef47ac7229f61b40dc8fef90e604de91b68b2e7c54ea26e2d891f03f5614749a7f89004a0b17631fdc9d6f9b039d24dba4a158dc3086af806b64a3c01f3985eef9beee08d5fb8f0bb15db323cf25bf98216bcbb5e5a6e27ec1a63c31d35ec1afeaeb0264cc5011ca48e2a9e1da59dd97683df2c4787aab31cefe851d71ca13a849ef416050ccf1cfa57dc4597e61e415a55347e4fa4efb6e8721a994d563ba44680b55b8d4af704cc2398b24ee0f208d22fbb78df49c5ef2dd69bb366a47681fc34d2696a9cf290359f9be6749b0444e8fe17752019e21443de8099fb204a64b970d7bb58da7fe0c2d7113c8123e820fdc3d5ab386db85e4e09173274c86949e3fa2c2d2215a55641c34ebbd605d7996c655d5607ac8deb0521e4be5784b9208b0b41a74a6b60cda9aa86a966f412a9bbb41c18aeef06226106f301d5d420f8e071c342aec201f7975c452fc0ada625e9ad13577d2e3a10b4345816c10b26820c23f8b85619c1ca87d7e8336fc8d98e01b925422ca30718d815411ddba2310b0897c7599dc845ab5b3e883cb956041f5b3ab70806914d27fcfef47d6515a4dbe7c32a204b222249cdf17a4069060bd4c66f297dfd2971cf058853395954d99ba4c6eb2834d9f245df3f44413677541e9edebc9e6fbaa9b929cf09e4b39e33b8a31465357df19a142cdbe90300411c572414da7296ec260b124058160010b090cd48c580c74ec46e972d6f62991afbb6e58993087fc773ce3cd5f7ccea2d6bed93c8efd72320ef81b93b5f31b7375fec0af638dff8df33345c40962d9d655a110edcd12e7fbc64faf5264b2d28b34fbf2d7d6cc2cb0bc3cd0f4374640f57ea74afc4feb0b02218396148e8afa5c1b0d7eb8743f7835ff32da8ab4ff72e9f928e16ea48f98df1379f0524fd067713fa395aede8d1d1ea6157328a15778e8530b0c3419ebca7ed36a470b9e90f2217645d8295f9345d3bd61e42b9b433ae15e5c520319da6753be660273501a8a819b910dbaa93ff8fc8a390c6f6c15675583a6d9e8c4f81069f22dcdf79ae8bb29189a6ed9a8bc5f885f26d2b78b51dc09a506bf041b576cb9b42b1f56ead6aa426e11fbb2941552e32b7e147e74b4e21731d524b5311db97b3b4f1aed5ff87a52881a36a872debbfcca0d9dc6a18b3ba21432f84bc64fc8dff4da346dc413d5e2fdac4812cbd5b6e30bdb52fdaa3ca241accf3e41e122b7418f67325abc098dd70c37a919489bf78e9a55f3f2a1e7dd3f0d0d06bc91e31949aa75925fc8d39854cbde32eba505f6b0a06b5a78bb35ee409760f560847ea5455b12ac9fe9c5798801f633a79f8429d6228514c7e46b1527a149e1b6d84e21be4e85992a13868498dbdaaa04f49f749547eddeb03afdb872259d6e7e5a4447c334cd02e3c8730d803dbe155d57854e518a114ccab0d56ac688e6760f7984d9053298f6a4ea61af429899ca38fc73e1fa59d0fdfbf290573c9a74911dce0eb16f88421aeb5def9a7009c2b13039408cbfe0635e4844fa80400115c2613f11a9253eccb8dface021fe38ec192b8f52837b9da715a6c3f4304643326a4bdabb2af8958815f757a370193d4c8aeaafb6dccea30b07acf09084551a917f134215d11a64457f5baa30433650be410aa83cc2b1ee9801298ad92ef24926411be0e6a1296bc8f7997440ae1600294441f951c6424d109ef48e0c283fb3e2371c26c617e5f91e81160535719930e9160882512d9860c07d00d89f7531704c3430a12f98465d3ff886e37b3322157f211403635c000e1917e1e012e40c4bbab1df1c268d89a2346e972a3c0113d44be8d48e0b004a911a0f8c16ace88b71e67669064442ff2b666189128c5cb4135bc08006770648bf83ac52784458c629a457c1c36b315d19d8f81fc14f1becf337e8422c652856840e3cddc44a4ba610aa34d5f8900e2ce607d157f44bc946accf449449855b7558288873c63686e82c58760b0e63b04c97f60d5a5e110e3bcd2720d01a6b3bf4f481922618937070df15ab1c7cf94241f430c01477a57cc3c2ae442c45c487585a0a050a1101c8eac1202a068a44d8418f98fe18e632104de356d3bb6f7f9f4baad8c76b9aa03f566898bc788ae2020fbcb4ba051e75ebcc148bdc866ad5a6390aed7f1c6cf78eab3e8caeecc219060f2a87cc4841066428d7cb6cf0ef2833ff16a572d2407d42c5929222faae602cdb30a29e64d2dc2b1aec9d8b2a72ce85ec67a955eb8979bb33934ea305b6f92171023da1c924a731ffbf99514bcfeb8361a5b31deade4253378ed4240d13b4f8022fa20b0d550002e64969a28ceb3dd33a97226fc253064392a1035dc75b4661d2e632f29e1a6a32e5716f7ce25f95de76a49790e0d452bcfa5dddc4693ee979b66ce9e66fef55b3a1bb3060e2cbcbdd8c6605a042da920a47bcf0e29828276dcb6ead4809af6cb66495998e588c2c7cc2af2651aa41367ee18f778c20b0a57935d6edc210ab2fb56f4cc2479c935e3b4a87ee620e19fa5ac53f43675a5099cdb9e11846683aa71a4cd00bed86dd0b45335fad6218c70e0f40eec4cef0d76a6cddda16eeea6270e80b71f55e5f8bb414abedbafcb5ffc6a3bb6dbef94a5c273b79f1685c27c1f1bc2549759261d65b169896ecf5195aac7abff9c0552ac5a46e540cc5032b58ea0f5f2a9e4c0df3dbbaf7b0219eff619ff6673ca0f2a555101c054ef8a14074c8f721fdc412d224cde361ab1435978daa4db3faa1efdd48109af68e6798a32a4ca421b5f58d9afe92599310361bc8673f416dd431f7b713c5b26a6e9259a100aad24ede77d763a9f0abd47f0d2c2ba5022c20e7171e45f37100ea9d1582c9ed78538444d81bf19e92eac2b5eb00ed5e3ec5437085b186963ab964a73772e80ba27d8692c75f62d01481b5499b0be74123a78626d67a5696564c7977928ae8a374ccd877c8bf13ff89b6d1630f607ff43d71724f799107429745f40f17747ec1e69d42840481b2619b1977abf08e1bddf6e1e697b8e72f43d73875b5425c1ef2febf118773050d99979bbeef092c504ce4de6f9b91c52bc61e2931154a30b76cb1372a5b9b6a0c4d27c4ac5ea2b67cdb6475bf1eeebd5fc0c6592faea8ca093d0a6ebad85e89fc51bedb6bb1591be155ddae5b05aee01ba7114b0f89d36e700ade470da7a09cd762558e3138c7dbb65e0332c32c08c1f2d076812433fa57cd3a6459828dae2b269b9861b648315b07535df1ebf52b913175e91b68913f88a70ad9bb1b9d8460204252c85311a61ddcad88762536f9b3e50c3be7738cbfc3e0c0dd550abe17c87098843611befb1de733189993ad89f713fed69aa4c61c761efdd833da0b50d32b2095b3205ce6f0e33308404abf43c0f8951131c03a1f921894c032653f16866fcd2337cf69aba91a6847df2ad3b2d1267a153bf345dce8ff0bb0948895542db22a8a9081056d55a10da41a676390a465b958116d53d4ce0f5ab44574a1779dd15fab136c49cd3b1ace5fa8027cccd2fa11427fdd0b7097a7df8f6267a8034d1b43eab277f5a2bb148b8d0cae6c51fdafc9ad8c4512d2093d0a65ad4b06594c51ddc0224ebfcb2beb28eb0b677e43ffcddd9382849ab0156d5315c072dcbf5c5136d3514bf9b435a5d2c06500cf46efdc8dd17afcbe09b0ab347bf9ab84f6c6f73a5672cef67b1c456c04f2b5e6f9f63cb056cfeb7cf908d2c4e86cbfa1b564573fbebf5916f13831d961beff3e153c95dbf093ba05fcbfb4218720fb09854cff11fcde88f3b16925cf4ecb6778f2a6e1a35f54986a6521c3104cd851d603ea8bba16173a316aca667f3454d71b0cf22a5517b4a5b69dc5c8dbb87d128fd272e426d3dc7666d68a3434dab773a2e1ecf3f71f6007b5dda2a7e2a06216b4c254f2ce8e24eafe3d8e7dd541abab8fb6906683a92e4c2e5b94c0dfceb686a4cdc897363dcfa279b0a554abbc6140c6ea7ad441db8c575c9a6c3d2952f221f8b52e35b2262ff4d1e3f4f165a174611ddba7980978b3d99bd3a408a1e2ab633b79443ea61918195deda632aee7d14c8c0e4481ef49c73284d1c066b28c38161ead7aa0212771705259cf5b0955d28c82b7ff7e1f5b278845b1c180f92eb50f4aea2d9064d02bc92d5b06765980063f9c619f6104e531fbaa386bab8d5d2bc94353351d72443826aa634df3746f330e81d6c525af3311d61346a77d4f66fc97becf9c5fd8b4e1cfb5a4b2369e97585de16b08eb9b6fd8f9baa46abb271055aebab3cd8097978dced8d0acc690de6f812f2400e620866c205fd7febfd46de9c4183a66e94dbbb2823df583b7a77a390c03959f37dbc4555e5608a452f8e3ba01bfb24551417e49c6422021caef952ed9d7a43e30474c6fc59baca3b6061f3a84862acfb9961498d145d5510b5108c995d6e50ea5ebba674c55079f95a6a8943fbd9c0260d9089c55410b948791e97f3bb3c8f6887d7681fc1511f3689ff54fc944c7048f7dec8e0c96ac9ece5e94670619b63ceede04d0261f3381b120ce4a8a903b68281c74f9e76554cc594c23795396ba9df276089a150ca8c4dba655f23c8202e4bbeec7510976d530261dd3adda33d0d3796c90958ed860e0e8eb095aa242cf8998aa29f55ca4e4e6ebe4dc6338f52852aa3445418c249d4f5efd23ffd42cd146ef44ff998b23838bebcd91639660d34c00131e59fa0d49dd86ca246a0ac54cb9f26b80ab8829637e9aba0d8b8cc38eda49faadd2c98608f6d48ad9799298d0709b7093fd9e8ee5dd53f9b29f1ef0967cc7f0ee328929e38ee01290a457c102ae6e37d9364be607a659e071fd2551cba25d02d2be4ed8432e97e75896d0dc66a9d24dbd5dbda49f24de89d2430529e27b8efae0266722868f2014724010f29557a28696c8070e426ed373c20a3909ded3dbd60c21cd55bd858465d4c6de271bf3d43efcd14407e729b874e851014e6fd324a322017bf2ef5b82072df10c75cfce23c5234c2d4824ecfc5a815559971e8da24d3eaadfc09d0654c48072415e8582bf13f01bee07174218b31b0ec96a25c14cbe2388dd16ad2c4d8d85366f02d73b9f0aa7c93993236b11937009e6bb21e1b021909a897b71f968306789e4b994347d11ab46ac63c4c25f154734b318ed97b8d8c802f04253e123108789f4abf4f046bef6d4499ea38d63b553101447009a5e6258fe435072391aef151a2e70eda862d5d93de8909d8314120e4c10ed83df7bbebdc94d915db7de24202e022469c6e5bb00db98a42cdaa2cb6c3106ef551b5c78464e857cc66d0414eccd77d4d96076c82dc6053c033de909f1cd785bcbf191d32a91c5478e07f8dca9b929f12816df9606050bd74b54cdfb4c548d27ceca56edd48437d3d1792d0b2ffb8cda91bbcc18efff6ad42568e05b652e93b818ae9fae842d3cb4dcef5bf5d5d1d5782c473710b34490eeca3cfad81727575f2951c46f1264240ff0feead29bdbcd19f74bd4e52adbbf3e1e680a0ecc8b1cfe23938e42337b0ffe03c4aafae4c2fda5bc55e3912d0aa98be530b2aa61bb7754be1576802413f909b0c7a0994a6d739bdc50940d296d1409b56a7c58e8a362d8fa1a3d0d71a91ae61cb4a25d018798c8a36002ef37322738ed61b9b0dbdf9faa4ddeb31626f218ad383a10edb8f587a19bcad37db94ec051cbb16fdac237ab0cb08ba1c57e7813bf27e9ff2bd1c717c3db941fd27ec2781afcb2322f92cd3666333e5fc62290d40f4867e989df3e68fc347a551b6e92d6c735e5fa31ca7c50d4699e69cc4e39c775f902b8f19c3e506fa4718c5f4f66b5b942f383508b8d562f0b318f1137a03f02d73a8a76d9f4761a81776dd4bd4e7e25e3f5ea9b15edc6fa7d7377cee9a0bbfe7bd5fde84a64532057a7f30b95e8d232019bdbc644bcae97d203211da89a09e15853330ce01b9d12790f54e3001379651710077f06b0f13ab1502112e3d1bcc5e5ee249742e185646e716602c790c778c193e5472dc87105b415e7db6721dded9d0f6a215e122beafc0cda9d7709600e146da420c4066735c3635d653d5c0554634a14ad86d1d394ce009ee07a3edaea6fbd16f57b808594927a3b045ef11d5d8380a152bdd01762eb4d67f8f647ef4fce9abde58db8c10c9e4605734b791ad149620242c3ab44f6a2c0b50888f8f67a007f725c6c555e81e0c99b9400af2d1f14c0bd42c503b18f83dca0c0d718cf3a9934ed6f768307e6db9f1f93a2807370bf35c6c094c225a9f18053c45ee21b94ef81ebf97852447362934e189c5c8c3bd70ecc33e020732c67b849043386783d2608b987ecf2ec2a7c5f50cee4ba8df63459583c17def97091c09b0719004548a00ea43e40e47a05e4d0782db9943be8fe1154fe2cf2b906e9c7c1bc6d15e14768a8cf7eb5e9e0e2b71b882b580cbf8ba0227553c29ac27d4ec0be6c4af9cd17719916c6b7bef2da54c3bc92403c800c400f400e45f2a3a7670028b80d71c6b7db8c55136669c8574b531e711675142ad6b08a1272ac481f6c8264f20596b5bf4df80bb76779b1930b618e7fcf3f3b5c4199719d7ffcc96fdb5d7da32dbfbffa119de7b416b419bbbacb6b466b6f69ad686166c10bc17c4f8af0d9394705c79f29f8ba6d8cea1ef0000a45317ccf5a0199897ba641978784c1b0f8fe972bdebffb64b961f3459bef20e8926c30cd4c8ae97f9ff699a150453f0c2f0c2b827bf46b0f3576d5d7377ac8565e367d6afff103488d69a61382b128ab60e4e6b77196d737777cf42ddb3143535358550ace47a1fade9fa6b10cf6dffeb7e592e5022e0056080e32b11f770ee5eda1c05ac8ad262bd95d37bfb7bbbd3bf3b83175e3f47d2ae75f404040cf865f07d4f59b658f695336bbc2dd38de2eba0be47510a8fce66b456bf5a814afff84dbd63de3ac747e8f7b5d2a6ff39a5b482ad5a9fc56ef739fd3eb3abac2e61d3f1d3f7b2d5fcef88d278f138d69a5deea38eff7809822038bafbbfffbd7fcbd1cca40bacfdf49b6559963ab2c7416639fae77b853e071fc6b838d9c0d83955c28663162bb1d919df20499e5c86cccfbefdf7eadf95ca99a6488e1a2a5e149427214cb915714eab379ff7d702546aadb576ce5f6df3db714064e44aa8192305b5c4480f26a4b3cdd115d5d494244d3d68a838d98c70b3941bd186ccd923aad26407eec4a9e6765ab5be30a41598111ea8b00a8703d784b16e6e1617a79408386caac66899d224098f1b494627961342624e08684101764acafababbbb6df40e881518de990f649c2df4801422231f0d72ccb93560c2a4444b01f4e19200f25023b8db4742a23e1f9154ef3c75eec2c7c7c7fad82d5b8a3c48909907997df9d2827a09a992302aea4874f75018458c8bbb46f5461266b249645c13d9893c603aa7a67095869dd291641ef898c8d14235e566c3e86804881a60ba1ced58e2ed7ee0dd9c3557447a2d8610a122ead0f4b4a2448e77bbc24bea508511d5669c987ea391107b765628147cd6a6c25caf1d9d4cb660af9c5db252c7cc3a52d69299043eda8ca7a9b034a56b0457a051166ab599d48519d73c3083e01e9a338c712b0069284231a28adb0864e8ab402d0b4b433e8ae42765d98ae51612b2aa8b3e963ff70ac4aa3b07344a7b46952f40c0ba324f9ceab0582d5605485e84f152b6c85df0c033f5cd10171d477e71ec7b49ecf1dcb1cfdfb43885efa83347f76a92a431b3c510141287c3c2f13407210c0562a0847de3e07290351412e5480ca22006611006818c218a10420851026308911919db39a3dc107a5e47510dea3b2f3ae20dfbe046899f9e36df7f44d360fa227013d562acf43bdd28f70d59ac392ec662067a678519a0fb009c626ba4d0c322e4d0ed886aab6b80c22761b0ac265af6667c02b683c6e7b0de08a29d8b85cb85aa3d9dc245178622044c788f8d206aed9ac6623ec93a4b637581608db122813600059fe68102ae593cac7a7aa9bed941b23c94cd6bac11ce0325c75513c5859a1a7ad5fae4e8e98bae1c578faa381e53b8715c3d9be4f96a17a3cbb2c2da90f9aef3b9e5aee818b3bf925c30de6a8f28072faa561997dd5e8556feebbc97e369b492ab2d825518850022861a5be5652c707f3445e0186de5df1c634eaf6e0bec713205bbac8fe77abf300325aa0bbc41802e30ccebb009b35b6f17a810a35dba3f43ec799ba19a0806f140125be6467598adb07caab89dcd2bab3d82e79b193f64fde740a0d55eca2f64de05319592b8a94eb4b5495abe0c51ea220f2b3b7f85d9b0d9fc9632b24e913367461d4464eef2ac6b5e3ec12e747618184e55fe963f28b4119cf60017e3151c8ea7fb0661422e47802e6d7d495336f745cf5dfc2c48ae9a79934f83be92fb0c81cc1f1681b3b4ababa041c3bb4ef77052183d08105fd74912d05a4cec7dc00e56139c166df2277ed9c3422f64e63975a2236e5d3954cdcd0bb6df4b355c59f77e655291f569f7b8bb1c78f5f7ebce9577da31538f0d54375abc0cc2e7b41961a38617c172816db96183117840a84ad04430ee6e1911d4d63b679acbbf84aec43fb49d637abde0f41010fd1f3e0dfc846668947e9298c045e377bdba95b4dc1b3b452d5c469b162cbbdab43083ed4df6857af5b2d3949efac2a338a3afa4fc7cab80158dd0f1ec12cea916549a47bbac388f23915a21c21385155421d137b5c0656e85c2ef255e84651187e856a1ade707861f8054c1ca941815d8e60d54885eb877f8afba4eb8e83b951a75aebbafb89a42c4ac178ac9ebd498626ddb9ea0e39acd23d3c2210cc738dcfecf93e1aa578dfd2c9290c8ce67c1351478949f9ba2d0c991d02daaeb197ae52acb14097b646346074578f000c25d66baa255582540bf8ae83b56d38b6d294d20a46ac835c10070b1b008c9037d5e21ae66e7ba37520a2e9c6472509cbe490a4126e488b274496501766806a25a3e28af3e0b2f4f0f2a0cd56c54eef41db7cc73cb3a531539b0cb9413a232ddb0571036ac172f1173da73f7e3fe2a0775651f6c49af49c13cb5062258328d1422bc0eb810529ba0b288fad4cb8352a9f2d7d4acdd622d637aa0428d3b68f419f6106a5c63cb34d44b5db179aeb08483c0f19299f023237431dc2ce2bd9e33af72a076c6931973e884c1bce31771fba4d63a6a4cb930111990483b79a7009872ddbc3db3d6912b0ca6e22a61f00962250cc5cd4e14a079139521bb570a2469f23bd4b33a8243c6ca0614838b8d733f078a8100a32f57c971f60bf8982ec910e13f6438cb60585200a0fc87426c0134a8d1d9635ebf363dc8fbc0e2fecc87ba555fbfca5ba1f6f79834cfcbcb87a3741b49f4a6030f2cdc3fed1a3224b46ffd1df88808d7146e812ff124f0f389a1f3e9d41be472b84996e6726811025d0e2b7563027074619e6c02793428f10bbd1cb2a098d58e13fa351a25545b482636faae766ce2c312f94c664c9565c3a0fe237ce3a35864f19a2d3976c0a0fb3c77d341af04ddd7645765cdcd56dfaea0ed4616aaadc46c35b2545dd918115eadb82075f1c3dd4a8fbc921f53d251a3678b797dd74611f18d92a0752332e9c38eacd9942c65067df1339dc2d5e8c01a96cb4bf73e70b388b86d230b5556c56cff580510a68d1203ca524454a867b0d2627aa58c832381b073028d7b22807b3841c30aa6d00ea5980c4acf3a4ecf19cc6aa35748ce63c182e05f898e4e1160f0e7ba45b18fdc9894dda934dca9e4ee7c02ee642eee4ca2ee0c7f772a39771e017792ab3b651eeac66dffa9b6883c6a88e89fac21ba082c107da35e75572b331c0a3d18468ceb3b3b3d2df68b88881e4522e218b1c28b459c4c1dc51d7b31e28808adf486f18a1137cdf44abff7647d4207aeb445d11671fe465fcecbe370c6913f478d7674e0494f55cb390208be3049a42b5ab503ab561c36a645d5e8522bc265f4af19d461ca636f60ddbe18364dea278dedb63d68ff269ba2df7c943db5b23337d7148a193aa664dc96c3bb2c210fad2d2aa83baf290d7197b24d34481b53fe98a0ab2785508052859e92a0ac7b55b2c5edb045050ae7cff46502b47fca401e1d9ba39d6aa933982319c31a3b0ab1953e225aa924728922a5bf6d92bfe4d42f76259943775b21a1a446722e780b457ea1dffcd59e14b785fe11f3270c4fb5cad93f78d438c89511aa8c50d9ca1ea60a3f52843a770bf4268cd0a274c9d77a905ee6ba98e9380afe031ac3e98086058fa7cc5c1be9107076f700a8092b0a8e5e4561c70a1ae750ac0b5c709f67347ee66e4895c16c6599e06f480f6babcc0e14e1b18b17292e57f46e345c2647c02673718f1ac0847ff7c9ee49fe7ce493befa6b1d450f1cb1de8f2af8c2358233f10d084c1342723f1c9ab8212b3bd95484f3f56c84ae6d837825da080630da080adb9f4d414317ec19fcea7a82248e30ac607695260b0c07d88136c44c6ac13cc57eb1479ec70f5093dbe7f90ff6f03bab68a54fb0689d43ad01fc4c7c55e1f2bde3b59627c4500be761704187acbb510c16fda99979d7227a8330ed9a56be0914a659d3c9c709821222062160e6e5485a90d17ae53cd11ca98f6b789133a5712c2ec7a358edd83eda64d635b7aa91c258d5238a76c2268ae662d36bfa31ddf1a439d17f7cda6ffc0c02dec9a16592e06cae00515231a060a08d1e61f8a31829e34380392dcac1f54e3e602a0e1275a163a74ea53cc727a534a5c8ed141b264f295b333afa6878073d470d3ec5f3a9ba371093fd6383b72611612688854445c03cade545c0aa601a158a7aa6b18f6cc9590c72056490c8f832362d1a422ea3f7c9cc03f33679359eab4daece9088db3f29307c64e43e216f66cec0c968676bfb1e3a427c89ae8185984290fa7a0965f8e96afa7b06ffb8b202ef5eed390a6d2e4a4e04a8c4b21fbea554268f520ea4bcd3f03a4b8344d3527ff1c84e8857b588177291e4cc15db3262ba2751f51d90bf710dac9156fc2c1fdf283cec9f0576611a0b99573227fba5ae7ee2a0cdfed03f53c07ed3c3c78384a86eb2c959c43db3274b436057c019d1013279d8ac3fb43a5a8bbb6221c26472df89a6f3192a0d259df793085e0bed732057e195a18a911da17e3e65a34dced0583298a26382463e3ec72e509396c95d24980f4c0e54838e4791bfd5a3796f3e3e14584bb0bfa34ac1d6c8639254a4bb817ddb84aeed41566ae709ae9e00675ffa46521609262afbb88565e53b1474f039a5894dba8d1e2a7a1d86e4f0be9811ac9cfe6486f9f3d779c6ac887ed87fe33c538ca0b3bad27d9225a009f32f2fbbeadfb7e5f00dbf9f6f03913addd858bd53f802098f5940178c86a951989021b46dcfdcb014b422951c25d467e55f30d9f2d76ef8f2ee56b3794309b29b65c5db569b68b6b2a637e9f962ec7e119e2deab8c3e5d009c472511e1d6a2d925a95110b3d07b5b090df6b9c59a7e24a0c9f0ac0e0da9715cb2cf3f62a98c0b45ced1092cdb3ecb5e51ab9045f08edad2cbe4578b2c44028dbdaa91815b201e3af69239eac52ac2baa33fdd10dfd90936d0535ffb9c55139842ab051266c48e392a802a3fa496e888744222cb73fb42b4d6754b3859e44c7859b544bbb4ed104f48bb23b9e95dfe83dc93aa55b8987a2828d9ec621a56beda60126030a18e12db569ac94737da50e6dd9211656f3e59f7e0480fe7785dbb1674bdaeb5603b4339ab0e7c36fe69597e8b36ca00570fb4d90e6afb2dbb21131cf441d433517e3f795f8d7c553ee47ce5c89a58f959461adc5bd50888f3b7d793e7549c2b1df7eacb83de3226830f35bf074fd9ec5d98d298b998ce8da1cc8f297b29dc531c162f9ef289e09ee9e57d58a6b071399e2de7865e6d23e155bcbe1a28d98ad0281efbddf9c554430a2a75ef177b3190a2aeea53007e4e6c4ec928d265b0ed2100c66ac3dade8ed9988751b7231e9c1bf1ce451e7c513ce89febe7e06255e42e9712f11f624ab9c05128e872851344beaeac333393278e0209c752960b0b2ed45ac4f7d4331aebb105c9ab19cc27000f7a0e3ba28be46f9e585008147ad0b7afbf9ff1c67a83446938d7c33af2cf7c3b1923658f16f9a89082405a6b110dbea0d77be99e2fab83f431677e42e8e3f4d6c4264cf0a97255c14f2a4237f5f7f407d640180844243b8384c7adb9d04cc6ef8c036848b9c590f199caeb82b6742076fa494dd1ab0a9d39867243ece52aa30f6bf56b892e59ce692f2d31e489f5a1339697b24dd2b7eeeb5b664d2aaf30585491bacd82688fc7adf0e31affa8d9e4a27e3b380e1c9afbd1eebde3ce14eedbc05b6c4d1c89cd6d755b2a0716421d238cc2c49e389f1b8f121ed0d7fca8c5774a4011ae4d1b9fb595b70794503ad2ec4038c1fcabf64c4af80f7d2420787c650e795942ff1c1484d7289fca733dbf4c63d7ccd2870dec499bfd2235c7be5f240d320fad80c0ff64af28fa197f60a9e3d31c83e1746c0cbc57e0bc14a0e08112f91713eb91e8dae0f23c8d692172320e32852c4e37af372bba21323cc1933a751b24f4abd2720c1015f60961c9b4c8148758e4daa190e9a320e5660f2ae160302541c8a8471a32203140b00f403b406ebc202d59c8fb6830303e506d609b202b902c007afde9d0887f3ec8b09f4b206e40198afa3f5079107e82306280e0b0d0e04010305f00598061097310171bc50cf0300104c92638fafc15cf476d20cd4c236b468c379cc2f6fa6692b186ff6e2960d9b52205e941f0f43ac5b65635a9c53b916cc0be87c979ab35f4574d8c4907650c14f8dc38a9e87a0d71717bc1098f345b73bd7c9ebe8630604a8f95856dd2090e3102e44064e14d826ae261c157035538f3fb6fbfae99f1ca49cbf3fedeb4dfac1db7d06b8edb1c4475c8fbec04d9ca87b49dff9bdabdb53ad03dbd25315c178398fba3080cbf2247075420dff065cc6aee29f57fc9c859fce04b851513671b0729c80838d574d52745887a8f1e139cc3e5edc1721881bb5b043fca0c580a8eb83f2276470c59f543ba243407571ff3c945a41f1293bc79fc58543fcbb3851f4ddefd7bcb44cef57c7c649c5bf9509dc4a59685c8005cfc7d80cc8044c83015adbe02d53605cd5e6297cfa4321a41ca0a5f0d199a542688ba08e021f3560ce94004a01078013431580f85fe09efe44831b3b5f10b4899f1b3f3a72cb36e9928fab59c2e1bfffe55a77cf7e5f5fde6c77afec2d5392b403ce02c602a6029eadd6f00aba4432a124af97df239e9b74a75ca48bdeefecd999a6699aa669a6d1b23f5feb13fa927c41dfd7ea505a847f6d66604e0d02892798191b1f0f0883537c7a787ec050884c12060181f7d347e3cd78dbdb7a6c372f130d43a4f028340a433c86499987ec117dc2cf86b3308ab02834433309be09c1940b2e9718134b9868bac49928d642212cda582b312d2529b54ab41251495612126d1ffa51f149f19ddf79042ea1afd4752bd94ca4696532a94c49aa294855424bb665b2ac11b0e934dd4ca7ca4a85a5f22c955fa558f895e9faf92bf4368ee3ded63968cd7653f119f61305839fe9cddddd2dc62bde92c15ba04f680bcd301557228b5ca935968a865151960a6ba9af540cf5f5b793cd66b3d96c361bac6d6f33c3ee6d8efd147329cbb22ccbb28cd265e8b2b291a6699aa6458ab08081ea4be6126a255109ba5171ddb8c2f1f778bcf7a648c03395ec1a5b5854999d582dd7d8d2b16c924d51c0bd6ad677b650d7cba6b647ae5f8f03c4d9b65aabd56ab55aad9676cdd6140c5d5a6b2bace6506fa8aeeada014916628b04f1542a954aa552a98450a12e8c1a6bfbf06030180c06837dc3522034ecbbdd6eb7db6dc777502558b94aabb4009aa82914b06b2c491355cfdaf573976b1f5e5d6a386d9aa649a28204c9c16c1412a8d12d8229484847474644371525f394080fc343d4218aa814c49cb30346474836e5ba429d29de46a0513f80c84aa298abe5e3121b811801da87e779ac109014299244dbc25bc58732e21ff43c0f45404ee5ec836369919c6d4c00df2f94caec1a73c4770aa8de7b1fe86d781adee77d80781f2e750dc04c46176b2fbacb8ab34eac9e68de582c168bc5623128ab58cf2a08e8c7a7595f777777afcec0b26af3d168846996e8269603721cc771384a70554888757021f89d8f5b940bef320f13511445511445894e2a1cf5f32c79cb7956a917bcf5f3305ff9ca749ee7799ee75963dddd28db59632ae2eaf6b8123d3a192fe6e68f07b823d421c2945e4c395470e07185c5468bb52e2797161b2c3756468c432587e9a50423ea0877803cbe7c633c99ae879d791aafa90034896508a0c90a80d7d0784b11335d0f4fe6c67c19e411ee107594604c2f2a39308e9591e546cbc9c5e5ba9c6cb4dc60195770e01c2a2f23c09474883b421e192389b9325e8f6ec6d27c8d0350c90ec074efed6a8d9adcc276b5b042b39a85d2a159403943724dc1c5fc8145bdd0a558de13db6d480eadcb9ed22c1d4eca8c829c9c201977b3ac86f5ab3bdb65b3daecb36717e371cc991c2d6a0bfcead4d6e98dc5a5b5e5abeaeaef7a9fd71c560c85610f78862c10056be0118804dec0144c0a57214fd8024f70069a0ea2200aa2200aa2210ce1eb12c15d1c621726c22c7c62177e61201c844b1cc342d8c4323cc32cdcc2ab1b951b76611776611776e128b836d43a9362e939a319d56c48b729dd2a6696e7799ee7d991d0ea5636669160316bca2c919d59d41ad99a3db237982dedcbc66cccc66cccc6ec1add8a884b92e4109d3193a81f4082e0389013c1101d8eb421391b940dc98541de6c68bb88ec64a041ed9e6eb5cf6b88cef883bbe269cc33a40d4a45847b221c11cef6f77900cbbb40c879df0da1acf5589b3349d6bc7a2f0e12319772945aaf6a6968089fcec331551b4ca6cecb5d4e490c9b0410e7f43eaf5de46ebd0aebe396158e8b623ca9301e73b6278ee35cb462af3ad86067e704dcb2aa3a6a23af694de47d385c131c032a7f72c6f3ecdef5489b8a72825d3b246e56cea71c05a888063b19f47b6dd1c3eeeeeeeeee1a6a9a3f80c888bcdd63babbbb7f6813a9ecb2ca2e91974a501d87f409529bb6cd3e9fe4d4d6bd1877dc5139a4663f66c73fb5e2bab4b559dadaaaae2e2f693a9008dac75b32ee9187f138e64cd6769e9a5ec73efa8f57a25a64c5aa7e05d5d6d15b759aa6699aa66910652a547a461ecd239275b5ebbaaeebbaae333defdecbf20243ac211e5992ec264b6553fa74465b5bd301ee59cf6645455e78d145174e9cd86cfdd209bb7ad50b1b955339e7201587bceeee9ef200b7501fd01b52711d6baee4f7d9ef63c6978be3de2ab00d5fb65707e371e4b82fa672361daed61808af367fe35d3e25c3d75a6bfdcf87254b8af817dc173bffd79d082eb83032f2cfc1da7fff7fcebaffdbb7b6fb7f9bbb083a518d7bed7be2bbbba3721e478c1db05e3ed16066c6ff1cc89c4d50d08e8457f474f6ad2dd15031b25c91e4590f737d0019363686e52e0856b1de307fd77adf756f93baa651f2fa036dcc67b06b2f6d422f83d57698ef947b737e7b3f32ccf9ab6398f661e213fe8ef16a47efdeb9771fc3abbb5b8b81c5d83b22ed5aaa6d416db285ce235190b106701d81dde4232c0748ffb8eede9bed03dc5bcb8368abb53462e0172f77d673ef5ebaff263c34bb01cd0d672336678b41c7359049d299b0fd4dfe5a45cecb9ee791365d4c77faae83c97fad9d39bd80c59c6fde73f055a7699aa6699aa678d29c49779fd267354dd3344dd3fca9e6bfbbbbbb182b2f57ff7ad7b71eb6fad89b5e5b5f5949f8cfbf7d2b8fdad96c369bcd66b31366b65f5dbbda7544e4621d1d94195ccdbe27a248922449922439c024ea19a3e37fee8163302ecf3b33513fb96a5b383efcaf43ed2813eaa75a386e5168bc38bee0b8f7077badb78c14544082954a2471040914a09150c8c1074a5ab3128470b20458140288aae144e6840f507cf6ffdfb6b705e6caf8fff7b8ffffffffcb7948414558648c31c86280cb22f705d608ea9fbb23dbe80dcdc8c9c06e8f3c90e92ca9a13705741749395a42a4b3a4ea2c99f9d86ea0d1761c47854989a36ec1845c9bddb5da63aa1205237768b3d9cdfdfbb601dee16eb5ec2dd210919d39cebdbdbd68800c2356f1d234615dc461bf0252b80d08240035feb9d2fc8c0d34af2134daeabf3b3064e27f17a341afc417ff57635c71c5d1d1db7e999050194514d6f3ecffffffffffff7ff71c1776b6941510c16c6d2ef9986fca89cd5c0a8a67b3b5ed759db5d666dbfddbb70ff625a305fc2f9345ad5e6badb5d65a6badef3e850c16adbbdb7f77ff5abd7ad561057c22c2019c31cfd8a054408224908339d3661773d4f0d44adb4daaebb852f95d696d59264d29bf2ccb52a7bc951e4b856b71289acd6a3529526a69e0dbe5225bd116ffd744fa8b3fd484b3698525af841546d4a057cd334487c84e29ac3504c19cfe400d4050c7c5be81c95c04e9be432defe6ead297bdff852db2d97e90289007044190090f131e263d37fb95f1da6d644a7b37872ddece667aefcd97c9ca4c3259e6cd44c2a1c6046c851551a23c79e2eeeeee2824b87bffffbf5c57206c83534081d2a409134c744b480a29bef0097272231402d2cf4d1749a7d18d74d75cc37bef1ad8c339459a112059121814353cb10414233ac890e8a0040837a010847c39ec2833f008d59048a222812490e061088b23299c20a496c215f1b3973297c14a27da7cc22e966464ee4aee62bc74c4c60c360c71031294d51352aa6081d1048945932246718ba4218459441427b878324113352c497f9ed46e30c1dd818a09a607bfb0bee6d206cd43040ad00c3f424d806810a4360f88cc10a3a725c45a6bfde4a28b346c440810d440a3879b0f4380500ba208275e1c6132c41221d5b608f8f14ac68ff1386692fc9207b856308cc8c28630788668dc166038e1931621a36166c4d5942ce02c5f00f98c2bddd0da48093a3b112991d9928e1222f134c2e419d2e687e74a4ece9fc34288e33af7ee642b10dc0c07070b285a45155a68b10077f3f6adb53894396a5ec02798d94d13eb5cdbc608fbff683bef7e2010952a1445b164439aae494505e39515969696d3c985bc71631cc71126c74cce2f3530a18e1d62cd143c3af3e8ce199f686231526019991e3d666668449aeeef9a9a9a961a96959a1acfb30e723736872dda4f1a5a0591a9a8044d9d0e0702002357000c100744123d4a7214438831e73d6441c88399908a1349247330600c8683651888a1180603180460180c30081020a5628aedc20c27a6322d1335e04b332c04baf4e8490a9b97d62921a83372394f3c080a2631b16bc815a9244108c765e92f01aa0128fe4199089e92ac61653f3834ea04048db00afa8e00a1d0c62a98c1700e66caf7072c910c1cbfd00d4ce8133f1cd77aabae04578622f3826d2bf97e250f31895310da6d7195a192966698423fe13a3d88a215bae379b0d560992b6fffe8812e6108a41252902347348cad6f20e2c6c807839efb9210de93922f7419609f4feb8ac5dfdd0a9a622f05f8319142345758333053424ee5b6b821594761bdc5aa1b0b3fa2430bb298e109901d10a2d9d17b24abf1898c325d6389936307340d5e2979825e429d41eddc4c2350a224dd9379e5e49acb3f6f7e63ffc174423403f0c2d7c5b0d102dc4d9b93f1718d4e8def3f456d8992a9cd1e71825e0c383c62dac901161ee5d4442cfd5eda3414a7471e50ac25f6fe76175b0f0dd50afbdaac01b03ad4aabd12d98f4a280d78f70a417f9009bd719b29dffc041a3da185ad5a58c0ca8305668a8c06cc03592ab00e68367c554a3ce30d192b149752270b9da337f3eb2ddfb6ec8903081c765043f3918598b57f162f1277744fd92c93c95bb06a9e92c5e077e17343599d65df27cad8bbe06c7c257a8ae1f17e264afe2ac88abe4a048c3a500eccbf3a1ac25c7ce6c7b9064cf3f0a6bc7a4a728853109994d797280679350dfbc581550cab57d3df1efea3a617004af50c4907d7f09a702eebb681ff8dd5fa8330928708a1ff479407e880e5f3e7d82a02fa2d48971d0ef9084223fb302f030019bf0293a78b9769a59110a0595eeb3e244d8679c9344c3de48f3c68c5a7d4beecc9190f4f2816ca568807031340b010b653b030a8da39186ef861e466179bfd9f4db649351e7562f78a9837af6819618b66079de3b88cec24644f3a0266245e09c55f738d88978c31e1d40d18298959946dd8378da9641f848c17bd3a0328e60518b8066df28169ddb544d35b2fe939d73f870ee27f4e0034fc5bd81db87f03edb7dcf21b105504e66f61aba8f30db82ffca5ed0139208f83ba4493e9401af2f0294c60137792ce25f099d9e87e36c34fa1bc857aea320cfb5269a3b0b5947e535d532615aa321c0d1af7930ca0a82f9e91315159f81e62cb0d2aa43e87a8d08521810f611511bc44fe2a9288c4092881055412ae052bfb8a08339e650673139ae45184a581e00a5d6a0c8c370ae6f61afd670452aeedb100fea7948ae793dd7164c3378ea26bdef0bf080a5de6a2dca3145a8b6f36906ba1608473cd2d629c2a5ee10321b253f07c33121acfd97d7b874b11dd2bccca7f2622b70f22d3f1a71e79a687bf4052450eb34e1b47cfd62ae392fb9a3b3a67a835f4f931bb9397722005c984d876aa4d8d801483465352f730a8d0a54d05075f629b07b7ba4ca4d32806a6c40a2268eb6444c64d3d5be3fa838fc076836a0015bf2861d98d1d4151af47fafa93a4a60d1a23451db8bf8b890f87d8077015b6cba0fcc92503ac1a1b8c29f3d3d7143b730a446009552ce8bd6a30de7284baaafea1e4dab1b94d125465610f4c9476e618c1a0aa50221377a42b738fe300ffa1699be7676e374f571eecd501cc41d950c42d8025604f6558b5ead5659539df60b92f7a8d0d66e3c5b4ea069265882548da5cd550df3b1a9881b9b57bfc081b181417289c9e34d579e2178c73110efc5f6ea37b4373fc046fd78a14f1082bae408e790ce51242144973716947c64e4f701391728d152f542e31973334b85930e05ff07cf41657a2ad070dd70783fb62f1c607b44961af7ad6812652468a38acc8451156ef83908921ebc351493d2945022808f3f3ae7a92ef94e38c2b8660985583ced486e7b266d4636e7df7de238fa515a005e31e127723cac900ee9c02e756b68487ebbc637aaad8143e6a14796365918bedb54b81c584942006efcb7143b7dc396939737a0604004bf611c0a2b823616270f4980b1561a05084171ea0fb428311d81415bffdb430edc01383394086f0b3b56f19d291769c98f217cf8fd019b3baa7806baae7596057e7eaad95a4f815d0e1d0e4e046578e0a9c1f2b86a063dac493e44ffd765f14aec2f9b674bc894a946620d5bf89d91b940115f45c89f681fad9969f31c355415c2fc948cc1aa18e3fae80b12b842dd43190ed9ca5d0f2df4028691b61e3d76ec9df6349651c8890eda9fc8376f66123e5a35d09a6ad5acc91aa2581907b07e19c7ed6aa5f1652174f0e5ee7515b376d71e0b047a33ec4a5b17d281fa7944ecabf4eec452ddc9a439aa9883ce6cb48b9257fa417d925199322e9b0fef435d2b34f7258c17d2da7e2d7b7de9421e5c08ee2aef1dbcae641c8ed8f74ff4256eba85935847b54ad75bffc3a99df9695c79ccbdc314f6ff730be291c2b47a708321f20095796f8d24b22132a87e05fee37840a3e3b33f9218011b10a49ab97c27f4e5b90f078bdebf98cd59bc187605f156898fe6801336e9e2230df697f689c88c11416cb577494c0a7c49b024591cda336a730dc1ad5324d34202d92a7c4db50e382a5584cf97628bbd1c133aab218d29a6340e7f1d9e22d6d09b071ea24b2c246153050e8a4a610626b4b99ea3efb394c7bfbfb22a45e6fb5279df3990cc712d700ddd95267f8f8e0ff90f36b16ba475dc245be659a0618d1bec3fa39c3acad634808a72349514799f717a92272f9f4751c1d737b76640edfca1a40d1807491449f58f90eb74dbea47e41ef67812f54654dc011f43f3f7a16f365a2da6d91e7774b4efbfaa970384494b3594477a7a6282727019b5c4c244765b7b7a68674514d639fb58ece4c1d430244fdc70edeea45af6883707c714fbb01051da147c4c91a3a91125acc678a9e6eeb13664667d1f36948df4f547a2f3be35e4d29fa7ba9c4ef8ec7dae4897574d2b4ac45cfa50bf00d76064b82cf6e0bae2de229188dafa41729f74482cf9f061eadca1f55cc9b1ee61c936e42c9ffa3df6381f5401c53f9a3a35ee0dfaa3b9d599544335154ed4dd8f75be73e5a248c0eb339bf107378b06dc4d8ecd2cc171b749bedef29579d94676706be5d2aad8a12172523bc82c553540ffd6850d743668378b182b02ed6e52523df43ac655a3e1bb9a42efb20c52d110626af7883274d14249a5d1d8076893c7732c51ad813b8b353806e45b4819a0502b2b87e8860e3d03d0c82bb7a7ea9553cfe127864a5d1692100b796dfd3e40f4b58147c75326d10d00364aca54e96c2b3455b3814d0546930422bca154262dd3c5dfd57c5d816c7a24ab352acc2b4741243baab1477c67eb1383403109d515e58e50329f9835388d07542a2ea310e79a79652d215fc64c770fdd79e4eb361814c3d919ad3fbe8408356b5e8443934bf898459e4cd9d34ff10a18a28d257a21d22bd0b24e9f5425f79425e6f32fa373c6515453c507dfb143c4a285056e43117f03b4b83a774162a669c51ad9f8f5c525cae86448fcaee25f3a9508c9d932555512168525e8db000a39c4a1aa35ce227b3a1757c91d5ec32e6105dcede4b27cb533b6d0d0bedd3caa9358157839c1763039b2fe8066e79d10b7d200e5e701fdd40404d10a92ea94b1db4614623fd1c3c8bc7d6c727a92c5d983856d56f03b511ea991f549d91d9236b0b75a5259ba612164f91889109d12b74c104139bf0dff0e73024180e78564fb1d73efcf7b31726b750f39567c8b9ceeefdf3ae28419ccd303eca8123c37bff9980fcbd4ce75e80dc3c9844d4f47388232e55b5bd92348b476a44aab1124d3e9530cd7cba3c4bcc40ef041c468d66bf0c8646b45cabd6513e12e482cd4b54cf77b97091beabca4527b1db5086d760b47344a4e8f2371109d6c805a71815975f00e91681380ebde5cb5960509a94f026e587eaebc11ff39ede94b8bdaf75d1133e1a536ad5a1c0ea9735e413bd358a617804efc0081c8d581be20074f910f74c94e5f055a46773401f17a6b705529abcbb76138f48a223cfc92021615048e141661fc8663426b4f24b5236aec90fbfba607205ac3349caa02a3efd297217030a61924757bc4031ed973e06d0dca0573ddbe0643e7010ad8014b1bad7280b21e8c848a26b1468dba683221976f82b6d11f769cd3d8be668fa02d9c6b54d0486eca76dd551bdb5423b8ca8b5f619c7ffae3e2ab5c36f53e0b25a059539f56d5ea8a16252a1cb06a03693b670518e04fb4cfa25d54008a60e0f6240f47552b71528705d96398e3ff1fccb0292ada6965d4d683b8e8f1106c3c85a1ea85bbe8bd2be11cec487691ad6af5faadc422463e124a54857781afcb84c5d7bf4f212a91fbad0d29658bbee5b3e6e77bea9832f94dfd226f797921e779671729026730fa2f05f43d9f345ccc52c91c8868969cca0e02c4175def3aa9e3474bce916b00cec51ccdda22e3ba59e31865d1882ddbc72acfa0048ec6f8f631defdc3d3563a427a02e5b53f01856d52e2ac2ab011fabfd4b112df119e13a8802388bc89c7fba1baa08293fc64dd4d26e00c1f5490908c6b689a757033ca2ade149455601b7dee642c57f33c4973870294eccc1cae503e38f2e9816d4f0e6ee64627c6c44b29443d92202758304aa49b3f979d45702008cf977c3eff1a2eb1e0d529fd685ce7faf2af0ab9c106b2d7fbbd6d095152323bb15a5211aa5bef0301f9e51d5d9158bc262cbf5171cb8ea2404a8be2bdba393ae2b001b67848ba2274303ca202d82d8c03fa289d9a4403da5fbce01ab8da98a081a0354d31f8f0a923425a5d183f1a155aa41dd365e0045caf7c2abf850070b6c7b75cd8294e58290a5f9e9819ef35d9de95cb6776d882edd111ba842797ac3f8b168b1d318e8864c11531eb00ab6d29cd92739e526db2da122dc12b63b8744922a0edb5235e890ba2a816af2b944ab740d3faa0da2698521bcc8794a67b9dcd4c135a9896eceb699245d64d4de7926ea00d30745f7a8b02d81dca188ce0eaee935c1a032a2e7180d5d55a51b0144863f214b5ca9a274ad8d69c7ef964c4a0aefbb798fe6a83c813a5902e0096b73664e02f99ca3c44095c1cc3ec63caf753359969c658f480ab9fc732921003dbc18656fc0be757439ca734cfec628d9288e6f2c178f9f402401908133635aa0d881935f12697026514f7dc2ad8af8bd31926cf41b2d493ccec46407dd06c82c41757c264b2946410ed949573f102af0ee45a138ba56652cb11b1e599997bd4818aea687e7f1ae7bef9f8ad66805499897382ead204b51b2a41daac8c03a4f34c27c2c59ffef135e9ba74aa35f419d20ad98b76a25daf2c2d48ccdac36a39407a20de0425f9f022546c79eb4168285ba668986b74043a7ed4e477329960607ae4c2e46e50a605cd60d9cff654467a29ffa10ef1981c7afff1a2ac6252db8596559f35ebcd2cc884b533ba80d38547f97db63daf48a99560c42d2da9ed7b1312a24d41542461a0999897c4f422b8262d08448b5d97e769fdf38feed5eab8d3d575836b27e1114088c918488709ba8a922bfa51be62234dd625b07b99babbb12e8a2d15abdebec8daaeb89cf7d3a55e1edc95a7261db93bf6fe56db4e9e4273cd853324af01360d940a2e01b6d34f3513b1156afd1536c12dedbafc0a85b775a0922fe9826671435d215f052878e7b1e16e2232b96e33e04a91908265a2642bbfbe0802c0ab1f84591bcfb7b1d1db4d8c3bd6d31ebd6fff7696c8ef04e8d3ed883e0e506cdc63f905ca93977738acd0cd4b64b1498260e3781f2d0b6240a202469ade3371432bc2e32769f10ca014220b6461700fdcb76cb09a47d8929d007d7d95d02b8e45939e3b9fb4c1a074416ce98223ec624d2a9d0c3511fe9a0d8d39b69cf71c2fea8f727251c1370cdd351ded73b1a79f2db8245e7c24897b064d63abeec476c4cf4bc579928ca5120b4a0ee7ba6bd80257c2d57683a32262e9923c607cf20a89d6ec982fd52cd823fe22a35ed8193efacd076d89e8aeb1829dfa3b4512fa603bf6885f445a5ab39e3391ec4f577f766c12e3c102f33582e03f964b318ccf31f19363923f06718281a89d2b816f33032ab693ad2850b1385177cd146bfdf87b0ac3cd2c375dbe00f500ca8b2df3c0a40000463b7ac82947a625979b6151441b6e385e8998ed2ae78c71a3419c821d9a2a543b1b3361ae39902ea27f68baae02f9c4590e0a028feabe2de850d95da2fc7fb5ee2994a042a33858f26e558329093bc461bf4afa653e76dcedd4181e81492f8898f476eedb916a7b57dcf66e886cbf1969e9e8921e1d4c6a3d530c5eb2b61462e1751ee2e503b9d3360e60704a882647a4cd24099c6a52451a25cc1fef64c219daa5bf87040e961a02cafebe8c0adbb870a2186d8c1faf3b4c29e331ab94efa4507e897231067916daca23b0fbfbd4359648448aa473170c80a0b6e9ceb22d3262c89244775d8a5e6ea30fbdd9ccc80212279e6dd9c01dc2b9edf1bbb082aff9b5cb03018e03d4f6a57c921a11b8de32efaedf80349c8804124bcca86092b5bb95cd9e4db4f8b418fd2d4665bf7c80f76f8682ba22e4122d2f64548d0b084ba2b92bdbd9dc4f41f121ebc97674ff4cb47564f0ffd5f7697788f61d57b12e3be07aa9ecded24be38f688a24b6284c2e825960f1cf3b05ed7a55ebc2aadfdc15c6cb479e49aec6c2fff68a0c6a20c2c5fdcac0b2a1dd1c5d32e1db788a0bab93e50d733a34a6e02057ac16b541c734be8c379bdaadb07a16626fef8166c61af51b534cc92963c0ebbd99890f8201aac34d128497f03a3f547acf5f70df254a88c7b63888f7f967e818fe395a0ac02da0f9c26c40bfd90f6f7572500c37eca31107d201096b55bff649cbdf49ec458ebfb286d8551e17c92b2dd4ce8e0cf9a6f9dc8984e8fdff420c57fb636d4a8edbe3c742eb7b022113ebea7541d4171240e28ae79755f169bc6bdbcacb6002b15588e795e162a5980792baf5fa70e366952578ef553f3e140634aa3298ca49c4dca0d6664f99036ecbc8c52bf51b20a7eb65c6f54b0690a83cf3cae209df4ba1e2b91233fa90930af2badfe7519576b50722701a0af4965a74c5b028a87607f212715d39f642b5401344b03c91235e72509351f61b8609615684d097b6cac4109e94767c7cc24b438b195bcbc3aff4a32c088b316509bb89eaf17cca5d9aba1c2b64fc5c1852c85d66098d2a8d67df5dc90069e53b045a94e6f0185c35a8c617906039fa50ebccdc84340349e4e6546142043a7ac8e702c736f9d43ea5095cc263e0a41644102f7301e47ab525bdaf0acfc3dec742cc5dade97cc9aa34470facde84375d261f548f47fd9719a1b1e61f00a6d8b484e97d7b44e0ef0f16ca93803658c8465e41f163c835975a3d05d43a9c908ddcc7f8a56b2462fa452dff59f104a541e3cf79ebf5a32c29eea5cf0337abdf7865b6bb325cfb29f16a610efec4ef57aef3223d7907a680385a4992548b4733d12ce30cd8f6bc0103b91d3a1a4a0f91b2b1e82a2357cde49090f1e31107841d710953acf1c28a0c193f8eadcae3b6425ee9069418602bb91d81746ea621ee36604d7ea5946293d10af931204680a7520e99da5c10994fb584204a5b2be9faa2af3ee568e077bac009c52dc60a9199b669849ae6d5d32915eb3b35befcec6210296a7425e91a4a392916f171466ae361c5fbdcc575f8b122ea7e350b7b031ced8576fa3a2807d06d45133d6d8c937518a6b98bae134dd34ba2d74d375d37453d74dd34dd54fd7ef46bf453f05e9f64701cda4dc5b623b5c0c89cf5ee3e48e8686d2dd18ed31daf19ae1b46bb4c668b6d18ed1aed15c5b3b56334e3b5e6b38cd3acd18cd761ae3346b8c767f6cd90878d14b03f88050710436e307955b2f61ed55c87b02faee231df001a73b8eb7a1dfa485ab218d3a087b9dadf5a60bd05530563829282a238a15e82366be732dbd2287bb0afb1dc1a7f149618a5044cbcfe3bbe7be7b2b30180a7055c154f565aacc0c8c66f411388732f4cd32e6d8b6b39671d6e0791f1148368b902d7fcd5d05d2db7d3ce5111306c5a45d73019e49e06e83d000398816ec111e64f09673b00e84122b08ebee683757bd104f99c647d10dd1d9b0684f8db8abd55def699d82847890df98b23f2b3ae989be38001a08e98828015848aeec2099c01b77db41cac75d79ba07fcf4c1b7dea1888c891d1888140c87f565e107413ef509801ba4149e07b2d13c7312e114acd58c61f65b94211a7c7a191786e154f340df73bd65d1abf136f87b33c8ff1bb3534ad7f622349f2746b2e51374d6ac1949385dcef0840aebcd028fa575ef990f3b7d85fa204b96bb78b0c1334b0ae4386a269f708c951fdb2111f61abdbce13dadd849a88bc33b91a7cd768dee6d6b66ba3782bc7084945a0f43222a5dd3bb125f196917089bfdf71b24fb10166aa121756f03063f9613b56ff7d6ac8eda40927a79e1304951c2400fbfe9c2645d4a5872a626617b45cde73d92eeb84f3ab74232193246302093c29d8501ba2ac1ec792793d5cdb90f11383215fe26b8714a04f4d6c8ab6482980de0013d875e7cff92aa205f6f155802bf05df3a017d86b10faedcd8569b69120060c2d98519a02dbd185403a86c5311e8d4aa09a4319b7f5fb17412ea9514edc61a7e2d0d1f98d1a386e0bc32e6cf924c3ad1a46c0a3f9f216e16b2940dc511e6572509d30362b93997adc3e626c29411e95a17522216b1e26e190891fbd9f2e40390cb4d3e993cb8e44fc9113a0815394c423f51123c5509e8131d6a251801159da04d134ec8b85aea71dfac819712e0312bc038c1d84c13e0ab4d5c0f16afe504827668f17f736d91d8a0dd04e380c3add789c899d171ff5150f8b941533454bd1188716a0ff14ddb98582dbe8823b8774f4c0e987ae6e317f97cc4ea39fedb19097d6cc71b63eb70e56ab9d3248a18b43a4223ec11c9d94ae2140505d47c1b35567dc4d24e3d96168ae8b410113550151891043b66b6f6afa38484ea8654caea07b12c8423b6ece4235bfad25f7176eebc277899644b39591f28b31a46cd118e2cce0574d72783683c97809191cd80fb9fa058353d8d1bef28063d47fa96a2ccbea650a47b20aaa54c544131f4149d4c5cbfa58c8af2168ba278abdcac78d207976af8009af311376b5fe38e3c5f3482715871902211f43b11ec5e771b22edb5afdc9e486914e88a0dafc313d07dcd47423dae7dde6464c33d8553c5bd48b3fdc42a2281c7c33f229f7a1ed7d0ef31080e7e9ef0b8063e8470d013d86f49038fd5ca2566c1e758e61d2136e98b0b720207dff2f64209778cc2cb49c581ecc12a051766b139a3d5f9522792fd0299ca3082aaa0f139d79beae74576592866743c8195646b38498649810f898fd58af81c488ec9a6ec051b41ba13769cae76472002972acc5cb91d5d45302b6cc2a94b9dd665b9c24682e8ca0d0e5d34acbca635fd0b858d243ce589eed9eeb268b3cc4a0c97daa6248d97097471bfc4d4ea805d9242c660afdf54fbf1397d89a0ce08ba9a4920e2aa84d2c64dd975cad52a1d0beb16b452626e678c38b6d890d885dcff3e81396f6c03f7ff069bf6d0b292e389a6b7aeb6f9703246b34b4c56a7dfa417c3abd6676daa8a7cb7dccb2e9774c8f9b9ecb989eda6886375d5334eb3c2da2e44064e320cd105c80ebb234605ca332c948b935bcf418ef84aa8b5f19c533a9055a76b0f8a2a61fcdb271d28e460124a29a15625b495b0cff183e8bde008f74e6fb7c7dece1be93d5c1d80238ecd3c56d986ee02b51b964ee646e0e2906b0e913bdc3fe98c226fd18b864f4c20f10900a7165e0c5f148ef4b52132b8159c3805461ea854518ac8052fa698b40f5db35a51d5229af2f809e2ec7cac9aa7ebfaf8fa83a1138cb52c709387505ac9fc77d18a896579b332f2b1ad3d60ee9c566c758d5425788a025203bec879009d989e5a50a138fb8b7acbfe218b0c30770efd1269bfd6a6ccbd005143539cc8f9dcb854f2d6e148d203913699943cf50437cb44342f44c4a5b68adcde48296303e8e8e2d81cf9950d43d1a2d9102e060961c704c2dcc0690b33739251fb82f7525c6a5141b9a0f7be794d62c730cf0d7c87803166b2a581b703b2854efc5d3d80f0214f2c1c1833cc48cce1343ddd1c04f2897cd01e04dab6ac983e6e92244c1c69e964b59e2dae20f1d95b87866947c72db19c810930280a88330974ba131b3fa05eddc42c82d1f61760a9b3f6bc47084fe31dc9322338110991f2f21119afb9c3073d6b9bf8789a3ce4c6f878c03322c69160bbd106f5fe9d9f4e51c2e258ab20a0b6883804f4c9ffbac16bfe302757d38d2b003fec85e38ec62e6e4d11625acc54f5e544abe971c1dba054d35365a8eb96b215868c8cc920aba8dc2e8f0a8d76d05caedaa554e344d284ca83832491a1a1348d237a3b1b0975c3f26b8c8f680a85e75987aca31fed92ca273a25b70e65b3e5a77efc87bfe60608d0865d52386c8b59c108478c88ec59b58b7a30213b5f75d9555d85f5259de18a4f9bb9660ff1c026983da88278738780a6272382688ad93f05cf2d6a82c1569e65622d688d12ec52497632c32899bee900ac5c42a545c68708115ae6faf62dd4c5348e9de8831dd2efcadb091b388a1f0275a522b7a2c54dc340b5e99f94e41ca301fb0492a69e60680dcab227a043b396cc9e44e6006adcb3ea8cb6fb63cc69acc63593842ed39eb5eb58f0ae988f78a91ed24170414877c12f0b12b7e0ccf0c3ebadcec6275c892a315ffec0a528f762797ffcde4636a3716a47ceb2b4543e81fb028283623827508f0ef3d906c3a3e33af06ca307a1c5035a95eabaad1eefaaa615ac1583c59eb2528c14aa1e654ecc2885e72266a34d16ef4f3765117000823987845189b56689119730c339dd496e92902fc675187554bd67a7b9747cf0ccc30c435e4c4903b778661507a01e4e57345a082099e07f96e9c2a7e8e4e2ea45d70e50548697bdf1ae4c3ffd76655dd29664b3135e55f89d8dde62d50b8425b45f506dc360579915b0817438a49c6f8c0ff54184eabca6ca9cd3c3c119e8bc1eb18c737c1ffff575b97ca5bcda06084d46e7fb563b83d330dcebc23e9d0a00b85c00f2dfb1ee5fcd672492ce0bc26613c56984d68962800ef83bfef4d144c47928bdfd71b27895227655241157b2c1d4552bb983408c664df59043a6c1f20c17f60abf85853287fa6bb349498509b2c9ef29287da7f139e1cdad95631f3cc2173d846d40fcb2a67590af065692f1c1eff8675d946615e7b6ba9b9979a000c82abfb7ce5db0e6ece51aed93b176dff663e1a1872d88e26285f5d94c1be9b9ac14ae17171bf47efc02bbc2ee273eccee438007820493f1109f4d0951710c7a3f7e9055b1f78b9fe6f715e00341c0c034b637aed83e935a1acde500c9efa1766264ab1512eb0be6753396e5e98e8d1cc66b8acaca13c920878deb961906bbd7e2176da1889ba28a178d04a8de1db52f17a53c112d10fd00276ef5c7f16b11ea40b95cb61f37f60bb53c4505c5cc0c2fb5429a2d7317ac8779a69666cd8aa42a6edf42a51ee2231166cc8ba437a4a231abdec36e8b8a2933aa0d2146dc110f3896a7b082eac2aa32d6d38db5de9867dc6a68c82951a8066d47a17647f1741c10611988c09d86618b3317ff8b37f1c9902b02e5cfce37ed53e822961568f9f77d79a3d875c6a7bafb60a4825ba1540847059aaf43dedab1af41e51a9cd4d6beaac248f15b007f16c6ac655ce85ae4104fd272485ebcbd033a63d2d49afd1fea8135fba8d00bcb153a900d5676826f4091549c209885acdf43d02edd3e505953d9e73e811a55621d84d829affd6e6fad4c0ab3e69156584d603627ec256c81a0a780a0ae3fd09d0fa71f80b70f57930f97ede1e8528a70094e76df618067ccddcf26bac9fce85bd77d62bb09ee43d0ce806ae633dac48fcbca6066ed67a68266a7349b5703a70e6dcf9e72e079a85ea445ca079e7f018776b620d6f2eb07e761be6ace95d3c20a66eb956f3fb2891c447339f6c185e46c3e61b0b5d2a69617d42b9503d79bb221ad181940023f82152249c1d60d5f9ee54216f8f58ff25205a105bf22a328cf9eb71307c748a22ca64df28108da5f83a10eea95b2912945944e0cd02fca6e1cc3e300d36c3281379d563ad85df65044e1749331002ca8004379927f9e0a0587a0ca5ede13a6a3bf336d7b436faad9ff1995933446a83c5eb90f069398de14914f8a5b1f0824dafd402050c7761f468e5bf571a926658b9e1d531f4fddc9a76e135457145a024d940abbcffbc780f07513bd5f96d4a14caddab1fbdee2329dec4a10fb1f135faa6e02c7bb9dc82356eaaabb7aef4ccb13aea77e55c5c45f255e867a1fc001b768a84b469c8e12e83f8f30d0e0015458b810b29416b5b6b1e790a02aaa7586e1ac13ee1ab0a285995d91cfad495c095dbca3c9e0c214f80eedc58a1215b00effbe812bebbe3396edbffa6967e686aa2330004b62d25ec609c10143dd520ece427a1a7eda70ba1c4ad181dc43f23e7c02c4c902027b1a78e310bdea8f803e16e76266d888c40252a7fd7024baef74e83caf84b06be16824cb2147d7809e9d1d684db6065475d68032dd266f06ddc2ffe065048bdf178f87938eb3c593777a835905474889629507a1f035b1901d442f6e22311febbd2a4ca18993d66b58e3223201e12403b81b053c048fcac7e843a30e270c0780f860b0f73e3b124b5e2470b3b51fa9b59cda0872203ac4dab53190e4030b920c7156a3e17a223e87e3090ccd87350b23d161a16825cb3bb62f9b711133b6eee306ce15d34358e6db9b27cd07459b8e52123e76b11d9c75a898f40559635d881a83a5924eeb8998b8698ad9f09303a5d5b0736510fe6eed02de9e1189515c6c13303768e5754669c1930b4d475943cb3213f2d7a671c84e5801c04571d9fb18a7294ffdc42c539f33cd702a3efd21bd397ee5bc358c1057f6fd07f5d7d012fcd723a06780d2d411af07b42e668e093d74c88029954794caf4231ff6271b07ec46c362a81547132928fe1f66fa52e192eb075774b59c8fd2bde0a3e20d612744ac2c0480ffcc78ea385a2d2808c07b593cd4877350801f19dd88db66e486fe04639cd5429311b53a9d480b3284647289f064eaed3d4eddefb9b3d93ca12d34603ec5bacddda30f6b426c66d32a6ad53947d433b8030263eff00ddd8e7417a59b99432533e8e37eae0f24554cb000ca5e28144480aa4d07b35ed51387289ef6fcc56c36fd4384ca0e3f9e2ffdcfa24d71d319d68215213d475093738ad4d009dccc4dda51b81a30c4cb05e813b2d18d48b9a59452a69464360150011401e30415fffe4f7026285e9bdbffe7cff17f625dbdc49dce1aead7554cb28bec6a3917a89863b295ce0b7407f6a50909c17f9968fe635e31a4553e61d571c3e26e6351e0588b165be057ee125bc0192f5844d9e421d7487f4e5ce8139dcc8443beddcf88d6082f6dc7e7ca2814bae81e638e180f34677a78512aa2c458796d7dd192c2e123634ca5e82e2341696f5e5293b0977648b1a59451a14c22bb2dc6184f3cf3c453041b9c349c9338fbfedbb6e291c54929654e86b8d66484b75b187683b1f1fa011bb332e24eddeb14ffff6fc284b4e03a9d4ea7d3e9742d429efc552d791d618b89b75b1886bf5ef205edeb5ef71c284ebbbb2d5b9292ab02844ba79b31ddc423ef3145addb5523692a136762ed4426a27720c87e6715bc81ea448952a68c1b3765654b6ad464658d8d6161799832c5c254074397d62c0882b969ab572c2933ee5306a9fb4f4aa35ad55e10675acdf61302010812a27989460001b70104880a183850241ae1101c212525c8292950b2650b5ad963ee044948e307f9108cd9e2c67c8dc60c168d39d30c8cb95660cc362202630e078c19e82660cc410146a3a111b4f706e5a10000c67c1b108e9900916dcc050cd0c67ca0c88e19c1111d33525202a76525dbc4597ac15a255be5bb303dce06192247f00851a2078441869585aa0fd6939ba543911d715ce0b02ae364e5e4448e8d2a38b8e0b95d43606da466609fff8a0d4d2a8a68915083624f7677500572b5575f317be36db4d2fc08d3d3268a3c834492915f58720b1749064d589eeeface0a939046820c6a6d4d1bac00915bbe187ce5cc706a8a88e4e61070f10594a36888a4225402cc9c4cb626135b4038228495dd30ef8f6d4d28bad83595eee855a9fb543fe7ffcffeb2358d0f85c38f2f172ba4e25d257424afbc53055620f592e8809975c9e9d5d4e0316156adb32e61a83a094b6332fcf4cf4bd494e23cbf9c4036c74a70a5adccfed9b449bd461b9cb8db111151ff8d0651e49cb4dbe39c0db4c20fffee55dd954e79fb6d2a17381ef7f7f7f73f411d6bceee39270debfc3b8482efbc298c122405a166a00b993e278eb77052f0dd4bc989b7d0526b6deede2b5e4b29bdd55ac3064110b44e8348596b95e256ad52fa6cee32e9ba29adf5d7cc9edd73cea74ddbdc1b86d31bc28e900e999dcef3eb3a6fe4dd0c9a52a794d2af1e3404a0606ea2eacf39ff8542b1d62ab972ede776d316748af445b148741920b634538c31ce5430c618638c31c618630ce27a31a51583f5da4aebd72917a4776bce190e78cff5a39b5531b3d27dca4e502d99529a901e29524a29a5e238f39c395dab3bbfdad44e870ebf12aaa3342383c92143339ef5cec69c75e529950512ef917874d2f992ceef12b190ff7fb067ceb10e805b2da557b457b6f53c69b9faa5dd5b03733817d5744dc52e62a798eb5abbd4be689c48e91cf31bbe2183b304d3aad8e5f92e8fabeb5a0c629bc1abbfeacd5d5258e813f3baea9eb7561915fdc7c677bb1dcfa7a4ae941413d66bf9ec415d31e4f557390b1a7eebeaac73b6acdf60a3fffc7f4c73ffc97611a997ddc7c67d6253534ee555b75e5babf4f2e0351fd5e5f999eff9a78772aecbfbddf7f8a9afaa5353eefeff2de55e0e27c488eed1e50c7d3a2b9d73d2a7aca7aca8776a285ee85053ce205ee83fdacf7f3fdfe3bf8ffa275a1b611287cdac3397d6aa24c301c3a610180e86c4625992631884c23016361f2f53bdafa8f5e9b32a0c4e3136e9d6ee5562362e838fbda01c95b26ee573ef6d418c6a66b297308e786946751df49146b57a32c3d697e95cbb56f53e801f30786a30a95336352185d55608e787a13c37bc4be988d69cd4823b6f87bc8d019093d46fde500beca949380c43e87844e8436ba12946ee17b90a149787604046b4d94505b4b3e45e96dea47bb8371188a17c7cb559ba1f29e01b773ce865f7c64233c82691fb8ebaa5a2453e8addc0406572d44d4a0efa033a3f2739e1624973580e3a721fc8d0f017c8fb80fd10c3c84ac578750518566fa85cdd70fc9bd43e0083c9517118cd4dfb7d209bc1daa48b319cdc657ffd2c5e87280d30d9e53b4d6d4c90e410fe6ed2abeb6121e34933a61d35d63a7dee40579d44ea07330267ce571dbc65931d0217205f30fe05c4105573583bd16703f42fabc2f7c2da87b5fbc91fc456a7acd7515689d33b05cf0aac82f2f91e2a0c731c56379ed481e0e619c0d1027542a6f46353d8b19c6c9e0af61cfbf1c9bd36126de3169d77117b1523cf39e1dc858a18a577bb715123c22360f22d049b9b136b285c3417cbf0975938e44ad0abbc7a1ed6731156fba458b6110e8bb3b2df3aa5c216dd798e68c62e74cadd5fa887a9a300fbd6e1a88dfdd78ab70b23293c5e5d8b000c5515e2020c99d7f9dbd0fee3d4525582a6e053f481075158606728f0829de8412bf8076a7bc63f02761018b24ddbd126113ea6439734ee018011445ad347d9358d07961bb42594b338f6b6b91de46aecde0a1a38768b2d63450811097d8588eee76c933e94c8b7d33d56114ce1f003a7ab91ea9840b64624ce71a35ca306b246422a0e2ab0f08d70a27c452c2c114b69faeeb70077e776a258efca2d9b780e98c7d05906e1e34d59ac718c9c173194560934ef55b1ced7cd3b36528882471c6c300677d057a0b03b13f246d994ed999b24dd7eaf16ca6d74e3fb5253235f6e96094dcd6027420ace2af78e2c6110ac6338528b0922a30297e871d0b2dd160b8512010e5fafe2ed5fd81b73f55a535fc58c7feea9656da6052128e4a643762f8abecf08089a45c6176bedd886c50307c77e882d9a0e4e12a21a937aecfc20af3c371415158ccf64e82a7f73bbb73f3227dfe48faf2925d9a39aa93e563f41f90af2583757a172b0e20e1a7f790ff406a8844d9de22867a4526b4e5567865135fb47411b4616bf5556e651fca4c1db03aa602cea3fd9b7b4c65983f82a75e216da6f6e2361b75814a42995c454b5c9920314990fc23d7ec29ff51287267504c3160d111301dff03378bc517eabf45d773869d4c787663fc0336d7ae904cb4a8f35a53e5c95d16949b778e2cd9fb277d7c76d5bdc5c6e3581fde842160f720acc12b8e561e83abd2a35999b7a8ecc98752184008e7d562c7f5c747ac1b35410107edd9f95f3d9a37d5e2f93eb63145bc84dde7b47b015e48dd88df5114da17a7298184bca6813912520f88ab5df52a583d47087bbcf89a5d4b31bf17fbf748488ff2b43fc651943d4449f037df5b44fc26892e12b0dd8b5eb060dbeae5fc0eee787cc734f69cf768a6038e33a7b3f70e18d136c492fab21c9d3261b58f6e99ce3d1604af8cede16fe9382f65203f869331745126bcf8b6a55236aa3ec930b9583c30ece1cafd2f32bd4478bcd45469fd893fb169c676b900a3a160042b9336e88e098ee947f9184154191f828c41f0c2fc833d47c8d40a194f97d01aa17294e0b70350448b607511b307cd66ca95b237f320112b551c2570bbcbe753b19426b540d478c587f945323b5339852dcfddcc00a5fbb5cc0215ae270747421fdc7790124e78ad35353b3a878107083940c891df9bb4091c5520eeb52ff7c76f996d88503d30ab4b077207bcdde523f4d9274d2dee2e9e2fb920f628fcae7b1167b37d1b16cf8d1c1c44ee2810f48c0ee06726623e2bf6ec74121d7a08fe89059df8d37d6068f2dccb727f44b85676f18c7756cc777b8bdb0d65d7e827b7d3fc20e2884461f98ea18249f5bd8d755e3bdbf9256f4aaa1874f950e84b1af8c109559336480d7b9b2ff4526b6d014865de2aa29bc4f2e3af1f7638a14df39a2989e94e7ef928396e3385c7dfe278b686a547cf85bdfbc374e57707b0d1417b3a9028ed36735ae9f6b008e53098621e437855a3c35c946f6831a6d8eb401f4561d27d46860fd849a6fdc1ba250030dfe6186e2c6c09a22ee402e7ce600f4f06f85f3a20bfe6a35cc8dc17c8985b4772916f22bcc72690ed1dc824a485b5659784b58eeba9143958b531ffac44af5e8936b31224bf9e6235dc1c8d5080c3a3634493ab7c68afa64ac86f8cb6e17a7fb0806d98b6a00d17183cfed371e26b6fb66dc05081cdde00d80eab93e15bc1d38ff9c4a2b80197dd0badfa6181b041abb8928e585b9187962842bd5609b80b341eb426a0470c1bb8ead1a5bf9f2fdc6a7f7e67d135bbd3355d039e1fcec476cc5387c53537dfa96860d9957dfc2f6585df28de926302b6ad7e8bcf1a20d61102ce7e2b8bbd6ffa1fdfc9be07826167b5f3dcf4421358b21268a2a70dc18344c6241e8a3233d5a6e818712eb2b507f4d91b36bd552bf8ea1c7bebfeec3df63bbede03127b833559eb7e61be0097cddf66d3628c6ab4de02545362436714aca1d731c8d590d4adbf897a791ee985c74b9e996028e551c837f371ef2473d01a2f7eb87fe0c5a6d4c06ac09e79c41f1fb9450f13b0331c96deff58069315f6c4d4361ae6d6acb0b233d4d9ca1d953fc2eff83ba2b42fd9bc21619741e851811a8f8dd67ec14344c4ab7bb5a0e0de880d195e7b0162ceb9cb626fcd7e0a506146a67eccfc19eb460b7972def35e4e81cb0232fbd5d958cb2bc5d79a1acb0bd301a526c4e67ef434214eec96b8d3c397585a0692865adab228fa923626b7b42038118597480b53014500546316c75f4149c2711a1b51645c4f80b4de07ef2efa6f0b99898dc4784c7185e632ebbd8b86eb99679ef1aed6a2c81d47eecbdac79f35285a5c9c2fe3980a0ecb9bb03032d61590146d6744b9cdee1e72c66347e8da997aa4d2182cfaf9d1fe51dcd0353907c2d39ca6418a29b7618c5ef1a5b105bdd3b2c755bd7495818fd8919fbae5159ea158b514b366295a6fef323c68c4715471af6cb8f337021cfa7ab16d77653d66ba5ca198772b3dafac110c96e11aafc27a98ba979dce9bdb89a32746b574a382d8469a1b812c295a24c09659a12c64c5b18ee41c680ac82b33806d98ccad769280153383421fdd5c22716fc468856b851519195d29c7233cfb35460ba05ce09ed2ee32620744224d6617e7aa1d95989bdf1b1739be6e73931ae0c29aa21699f3f178fc24427232590481309a44402d3028158e78459697cf3d145f19eb67fd9e3351fd453745808e336c7c4a6daa1b9299919fc8f64e15476e144115362f9f03c81b67cb03e0c200e44807dfab8e69b039c87b747d9dfc90646d9f5c914678af60c75d29ea09e5747b503d261e5ac3b271da80f8983e5f34e791ba2fa8c8c1333c85f59290b0f9b7027e8daa1f253a7ed59fe2977be3faace934f8bc3d211e7b4705a1dd18eb567dcc1f2717398935e45c682cdca40a408a4f551208605dae2a790b700cbeddc0e529ccaa8adc3f6199272ec8b9440da87e421acd3fd985bab58885c5e37cc62a10213d7dac856a2db567555542c925d005ec46c3b0002b12fc796056ace3a1dc070e47d86df9938005c940298a20acd94f8a0eb1bd26a77233674416d2ad3f271bb65109b84d275a8576ea4f8a44901906b56b30314c478fca015e37d70952e038e7d7ce3c8a732f55104305a3a7ea77bf4e694ae90372c5db42e4d545e04c323e3db993090834787f006a00c504fbf10c1cb6b0efe10b2b44dee8629371a087bd7769915367cfcc3c80912d65a04d43ef1e0e249c1c0e3fe3287510739af8c8a6b0a900b05b1f0f9425d8a68374837216211f5eff15708b7cb02b966a26b9a1690ba5f1eb36ab595408bcf59db7dbc3fc6e3ee8ff9e8db185273dcdb2b84ae0f9c442e24b87ab3154f3b3d6ad9992825bc459dbb5c3f64316652db4201608da3c428f4112c1a1e9c02dee88ff606bceef3e55203e4880954a066183480723c8480fe884cd8aac1720c5ee4ccc889468995da5a83e1c4f4930fa84f076bd6e9960b8b6c7f5f9050956754412f06e4858912cf8f8f2bf6260ccaf9354da156bef4297b89c65ee2242e83590abb01704db17fcc0c9ccd6b820895c00f51036f87aee0f47b7a7454a1b94a04952052e89b0a59b3e2b64895f363727cc207225fac25f168310cef30687034467cb0da0bb1f5ec23e273f30637589466166609d92753ddcdd06a4a1b2691ce0831d99497fef4803b7734c56d4bc7e0157592132354de7d75918f1faca73e0caee9d0412494e17e3eaee91cd69d26edfaab28553cc7d48168d7acd26315ab2f9ce0bb4e7f2ce3cd7d97761c69712541e83e60cfe9d223dcf623fa0a69e20b7b588cc721abcb12fcd56b480079cb5d5335191575533ed5a065027606cb10d6d450d3b043dbd141fb704795dede31894f9e675ccbd815adf6c4a4713006954160a225a0772c8b02c6cf74bf2b8694c9117f7c3e6e894676d426fbf34cf0e8493675097a960fcf88da54975c4f0f436d93ec438a35ed774b9cd9b7ae9071a7ef05e444e6950bdc4e41d907bc104a71283ca89003cf94563b05731455eb364d6ddd77c449ebeb80dbc0f43ee95ae5900574d677b93e2613e4550ae8659919e9512238c89a54d26b6c699d0400b99109cb110c882a4f053bea49308e00c297014dd0efffba113b3ae6b1ae52f2a96618a1ea9c755bf1cd60fcc427c121218c8d3c314bd6ec6e213ac9457cf3dadf6caa25a68c0d1cc9ec4bfbbca4b962e2f3b6f60e3edcf97619c1f747a31ef80454dd5bc35bf1a409cd69dd4755633b12585c7d1b36f446e22af2ee03d07d4938cede07f51d5c3bce7c7e607f97670944891cf0fef51f545c9e1ee8ed9d3320b47d100835a26f9f84684efa37f1a74c07d2669941fbe976a3bbf711973e3c0ab342cc66ffef6b36b80cfc10d78f687a71ee6b4757400c67860eba7883336a3f38f249cd0e094bc150014e415323c01c3a1abd8ac040f0af99e038f4d616828ff08e6c2aaf89cbe0a61a5aff458396de2c5e3b8d42edb31061023a428032ad23e5c0feaab06debe84d02c0e154dd50c76f9a157cdba58edaef7ec114f37b9cf67869e2be756eaf2f04479ea85049dccfe72711f579ba9b391de5f0fa14a7a1cab51a026393f95beebfa467aeb043fe4b46550a8d14d8e056613e5b9c5e26d8134c3d509ccd92c6375cb09d1a2bacb24ec5b62001b3f2c6fd7b1ef4e10ac2375a060f126900e3d4dead5e5a7489adecb5c26f018de0445e59a997bc607042909b40aa1555d17a5bc8f6d58f530a7f72d13a553d948c13a81dd3470ad94478fc74eeecec63c9bf8766173515e3d10d7cf408ea6468700a292f293efe8a0633aa9167c049babaf2c7c74aa7f72feddd2bdae0ee3690c5637115524d120629f0c4488333838d24e61468a970d7828d13d23fddfa0d337186307f3d4fc485f150df694b4450bf5db3e5517dc408881b4fac3ecf44116df55dd667edda326c733a8732f06701d3e14575fa8e83cf4c140ad5585bbdee8f11dd2c7007274e92b9287afaf17e6497e8d8c7ffe502f7a4f94045c207175d05ca84098f3372439c01108cc8bbb5381fc8c4c8072023f70db6509a94f0e867cd0776eb333d597c638bef3d560419489b9f9eeb29a5e9cbae96ac48510f7e8c9ebe6e7984c7a5816e71179ea08bbfe3fda049313bc5f2159027bdaab6549d39ca224c67c29cabeee704014585854ddd9b034e7bfc593535efe2796236168b941806c374d34787969b98d6c7ba1a1df33443d5a175d1a80be50e79992b9db8b2acb44bba0e7319ba20ceb841356d26ba4530e8503f12cceee5131dec69b34dda17bd1eb11e2cb91fbe4b1c61203fbc58067403d05f7006c5195656b21afcef0bbd740706d487ce507767d0d1f4e2faaa1bb03259c94a60d0034546682aa3c3c04d6b01ec6201aaebb4305090dcac1b1262e42e889d592c7da82d7699b6b941f25f28d4d99a30ad63710364f12044141e152ac488af4832f3df2dbe2b0f2ff78b1eebd58c73b2c22736dbcbfbbeaffb7edbfef7e69629a5945226190503040305033825705b664bb7ec059543ada68309c7763b663b96113e89ed184e29c9a83b1315bfacd0e9ae10b9a03818340614040e3744a9652da896d94277865aedd6f0b9ae5d8ed88e07d1b1313c39759551779d2574ba26540f814d0ff4e6825a9ce6ef903997add06a96050b0b61d7675cbb1ccb22c7ac0ae7e43ae654f586aa2be2019d77434bd01923a80d07384ea4fc235fad70b7df5cb37c359a389ffcc567277ff1996a935277a7aaaa3b5373da28eeb451dc17515bb66ba72ddb355338daedd868b763254f5275235555752210a4511c48a3b8f20b6999ae81b4acf6e9e14ec776e36ea7631ede5175a13aaaaa6eb335284e83a2388eee396f4ecd99f9997356619cf1789763bbdd2ec748181146d5a9aaaadb188b2f174471288ae26ea8c59bdf2cbfe29a4dc047e111109a94e588655e0a5cf339adff4665735d57874d51462abaf81ede570ef7177e7dbbb99b7b4151ac40c6042560eed16c56fb1d7c4b4bdb647c125384d198a29a437b2fd962eebb167b9ff86255d0b4610019b355c6677a3edff902a0b198621165fdb2fb6c4ba4f09ee73c5bf35344555a5a445b1bd6c540e76dfadfd6de16e36d7bb6f6776b31be9663bb77dffd7e6ef7bed8623b3283839212120c8417c11399307aff809124a613718417abd5c07a30762d9e3f9087df7753d859a1166edd1ef2c3d841d372137f25053ef1aba1356f89518383f3eb6008fdeb165080422b0397f18707145ce0b56e5c0f01d608cbe330fedeab5261abc3172c1a15c62f7a740eae695e6c7fc7066c7b8e7bdbf067dbefcd5fb7b0b0357b6fcd66169a7dd9970763c195e00689873723aaefe18bedbdf81c5b79f72dc3f4f21d43ec6570010e0fb20d072890002f50724b254b05811e41bfa690618b1f382c76dc713d0c6fe112bdd8ac2bbc8095f2a585bdfbfde0c2a8a2c5463d4f8b9610dd0a0dd97920786f2ff6ae974946ac04fd761666656caab46a630bb2fd998496b5f88b90999030582b148c902f563cac5024529819fbb55e36e1875db7410c5bcb0b32a3c5a86d0e91196d4e631b718acb36c6e670eab11da318bbe014db341761e1e7b42a211881e698383eb03964ac6b9dc96501a4c3e974381c8ee9f91d0e87e3e1fc0d382b0e8fe7f4a05383346ddc78607dc9a936af081f22298a2429922427041ca48c0d8ec8391d10396b64e5dd5a4a68335644788c9b71dc6c4872041c58e4a81abf70b4de63751cd3bf2cefce4487666b347befcd66f3377bb3f7b8d99abdb5466bc4d0835fa71186d8834baadd0249c62bbb2b1ddc5915835a25535a731cd4fa5e29aebdf97e6befcd565fdf8488ca78597e6481bbf1620d06ef34465b99fe174fa2e6f126902d0396864fc12bc204010b4609155e0d6d2a6b5bb8e124474a4a4a4a4a4a4a4a4a4acac9c9c9c9c9090a0a0a0a0a0a0a0a0a0a0acac9c9c9890c87f16af53efe7f2fc62465395a7b73e51fcb13ee5ecb3e41c40d89136aa1496809c839a48b91771062cc6172cac2e07b47efe6bdf5c5bc842a43e32697febdb7e72ff21a4db2b65d6bfe05f50e4b97d16b483e871c3fadb471ef37da96bd1f9bf1ca4ce1431374e7abb8b61b4eb5e186367485f78ad840f2097885b0b06a0108b022d7755d4def5d2998344dd3338998189446a3d14c20880241103c81e08c5cd7751581a08be492a6693a0a22268646a3d1689fef762343dff7020599cd72ebbaaefd737dae4e8f344d5392d37b0c6965341a8d468e37b2f717d95f33b2cf48cd465cd795e42bd95ddde5ddd29274c6484a9231227f2c69e408c96348cc69a4bd912324641680831f00002c91907375aa36e6ea5de6ea5d29cd99c698699ac67cd104d26e269076438527f005ce4ce00b9c95bc68055da2157491c0511a234ad334a6fc3e1fedf6f968b750077daf6ff6f95edfccaed0fbfab93ab97eaecee6f4b4c774b2a73dc6da15fc48bbd168b49b665d37fdd567fdd56757e45cd4f0b5bbf8da5d3767bf79ca6378ca632ebe8138fbcf7a4c9ae18ba3fdba194dffc3cf78dd0a86d44567cd6d9b118b37b1878b5fb8d1c5d3441ffc8873f89c981351b1c76813d5f29e18e7c02a1fe4347ea3712138cea312b6a52e24dcf3174bedd5e38c61c6675986bcc34340954dd4978a9a65a92f76bb304c1834e607aa3b25810b311594ca577d550741100475a47a2ad57b37513fd57bff1dd53feab43b645d8642a54e40ced3799e4eff3c9d4efd345b39adf4b39f9f0ff333cdeffbbeef3b7dff745a16da473b992773f370a53a4b1f0f53c9642a954ae6f74da552e92bfd9652cbf799c0effbbe4f0709249140100441b0647ba0205a2a91b6a80319894623914864827f24128940d1bfd94436101cf9eea3f465e9bd3745bff45ee4bf4bea5351292a35a8771e2150280402fd100804f2a08f7b01bd781fd284bcf7debb8e4ff8f98461f83f611882c20fa3865605813eb9c33907e2e9783c9d8ea7d3093bb94e2ef4841e8dc839e7dc0747e4704451343b9f238a6247fcb18a6ba7c3d18c9c73ce799023498ea3387a2d516765462b239222b971486ebe37e71bbed970cec771fce3c83939f20de7e36624d9ec0de75392ccd4d6e415759663e821535b59725906209a73adf9ffbceb9e57b8bd3b54269ec926b82fb2ec25aba4f9650bc34756e5ac52a9cc9cf3cf2b9567548d33abbc3af1eea74cac6e194c2d095dcb0f5acc8a123c5029142a954a99aa8f4aa552aad4579da53255aa2ad58971a81aa7896b3b74c77278d92ae97ed9b6890e5b473f7b3fcfd34cfd7e9e674af5cf5f4bf5d4895bba689a5805c7f0098bcc6cc53b723805c8c93c9d4cd334cf7f324df334ff798eb04c165639cf13e738d53099f7072a83b302bf5eb049bab35de1e3337d9fc96432cdff994c26d3f4cd73068989e487f999e75d3f31fca893279937d532975a10312d3034dcca103c4aa45289442299a65f229148a6121a241aa9c974de5ba9c6c8bc33da9dc1a65550fd6ad126b706ad031c81e0683432491f1c8d46a4061618d966249074de15308ce02bcd6b725dba207787cc8dad37476e0c20a252242acbd21c7d515996231b0e94e935198d4e3b23aa11322d0c9ac32db17b9149575b133e7cc8fb5028140a854a096e845e604a5f9e56f53e02fe312d9a653d6a3be05a5c68b7151e78803e20d0e7f331431ff4f97c421650f051d150e8b435500d8f69639e9565584b56a1e5975dc9269685ac23f484a1c7137a3c9e4f0617787236f6094154ece55a08a8ccb0e6f3411ecef8bd158d32c98bd8cb39d368894c04f921e250fca1e8fdd7a792ff2693c9e44d255c2221659c45d90cef1d7bab634d16351aede95f22621aac16ce2d3f823739fb5ee244fe48592465d11c293b68f47438e439fe2f14f398bd68412896206a4e517b5f7bd8e33bdf9110630f976cf8f2d68afb8e5ccb3fe79cf3db451ade07311e47362a8df7847f343726f89958344b074460b031fbbf2cc77145faec65ddb0a4652b159316b597c1f208cf3d4bb646fe366ee4cf7ee0c7e2c52a93f27edd6dceb9a4c5f9f71bdbbbbd9d2dcf61cb33965438f77eb3373cd8777c09ade687951a5e90810617b40efdb7a245f1865a7bad3fadc1dbf5ff34d6d883d68216c4e0d7f1c55804e3ac3f9b5574d65a6bad33ce396b8db5d65ab7a0bfd65a6bad4d2c0edc8d0998cd9e1882328c9aff3f787edeece4076f06e09a241fb2ac1fd19ddb106b7d4bb4c83a5893efcde446985183d45a415868dcabbd56fe230e68afb51f798a72fe222c8c17ab66dc9b311430180c0683c16030180c0683c16030180c0683c16030180c0683c160b0d0462bf1a83d1c5ace379d50a8da01d5a231a2efbdf7de7fefbd557be7bdf74eed8dd25aeb73efaeb5d6a6d627adb53669fd69ad3549eb52ce398fb40673ceb9cc599473cea19c7dce397f7206618cb127678c31c638e47430c618638c3126c50dbef7e2151eefc69a152f89409d5235de17006e68a2b97d6bf4d71a6dfa4de7f6ef0449052f0d90a5065e10bcab0f82775fefaabeeffbee4d7ddff5eef7ddf3de8bc35d53264bbd034ab59a89b66b416fec8b91ae4bcd11bbded5e9ee08bd1787bba5ec5eefdebbe3f772f5ea2ed77d705ccfbde8e5b87b653638e3af89ecddc8435635d5dd99df909bbd69149a99ed8e0823e6aa333bbcdf20088220a8d168fe4aa35d26da44c335dfc7fe7bffffcd90bff7de7f877c9be3f55f213b64850279a8502a150a8532ff57a150a86f03924da874cb788b46820093f80086844010c6280a430a21c494f754238b8618c72563793c1814866180a50c31c60164000000020030000040630044c04d6caa04826739b8426c1115b332c55d6a28556e9558e5cb2c52117f8e40fb8089d9961c0b6df07662830583f787e9b1f000e90c44030dff899cb0ff9127618591603420589e041b87631082a0ab03eb16d3486e5079a7bf42f553eaa1c41321dac7d943d3a8d5c17f25188a1212711d756fc3b596d3dd539a9479cb7d23c2ab836b4dff6c3e17a5803cdce144ed7426556fa74d6ee54b7088f57c3d99d4a4e6ab4aa7112f1b656c7fb62bab9e29e6086a812bbdf220c19d164e25a258e7b14087548144eada36510d750a4e4012368f4c67c2a4c5bbb02a8db6496ecd2205df422b70b9be7bbf9320f54bdeb97c8c49cc90b9dba768eb024de94244661865e9ba4f05e355081540bedafd77a7940b850d6d609087972bad3216e4447298e8f09f167bc8c4bfd585e0908c33e81d3e6239287a2ca4417dfd854ce205fd95034179f6b78015854b3bae9495362868a97212dbfe06e2fc0e3ad61391a5b74c8149837502831fd01785e82c2a28ad375224928c4fa580c4fcbcb30c640de9eddc0951a16b01b49aa07e5a441e0c93ac545e3d3587288819d4ebc1545acf98e2b80632cca9483bd74775b5b09710ca72a48344bcda3137b11dc30e985375b90dd82650ca328a1fe22ac7276e6461c4ae2a7fff6c0a281950fe03a35cadeccb9e703f2d76fe67722839aa91724ad29378503921e3de68de967b00d1df840c8377500e8d765f05526a350a7fc3b936bf6aa16d92628cceac89df509dc4d418ec4c88bc4eb0e142480d97fe364a9334f6a2f99b0327acb2756357e9b2c5c8a1e297b99b7e637745654bfa25f0a142e8ce37bb0fa2cd4b5af43162607828ef89b5e6cd1a6c2bb43c43068903496fdd0a1b7327f7215427195013073b3c878dd271849dd17405d4dea37c1ee3d714d04b4650b6045bf35232701ea46836e52e5652aac62b948ebace0d8266eb47722af31526e0a1f0882ea1851fdb99c84c0515dfe2b6162c0a464879af4b8c7484d54419976cb05c68d66201cf71ef04ee397dc082facd5338b2bed983bf9a9e0c4d95c50bcdee5715845daf2d60cdf0a026a7fe14d321c0f648a6985cec2beef48f178dd98a8683d0d1ec7c37fac44ab49c495e7789343cd768f591118e7a23579311996e0c829d2e3de5918ad74c56928dfab06c246cc11a082c6772de997a4ddc668e89a6f012b491f7040f380df9f3dde831e2ecfc5866f628f17168e2d91d09bbe6a988e2783bfcfb184dbc9bf5fbadb95b8b47c7984d948d3e1391d2915462b5ec0e97afd12d85d84ea9d2d35b746fa42855237b69b8df54d74f8d39f4d8dabd5b0a94b9d5d965af0b57eaacdbf64a8501818e2afb2123c9f26f1b4ba7e7b24d47d250cb46e628886444ccaaa94be978e67f8c22992553b123f72d5f06b027d4df58d25b9af376358a8015eac60084e91f9d62005013f134732d5ff289407f50386176b609809937c572d732c172a23fd062df1e7a374965e49716ca022d2d89c7ed21466e8b01126b4abedc6cf55c623ac287f489b3c91c83e881ff60d6ef35ea6c8d03a5a63c2b9c6221aba64e89d9edd7c54846ee29d2760a60b0484fcdb96ce50e21f578dbf0f2e3aebc9974fee1106d9b11c7111b532a140d1a11092aca28af04c0b824ae80e2cdd902d23499f0a402cc97c6612df420f63a153b81813d2c6dc2e392ade1bc840d80c8f64a42d9642b84f096c64b1fa90c51f273c9354d12cc6fd9616f1837e8a7c106217567603fbf54246beee5d083da4da909867380f5f9da6418567480824136a060249f1cd439c3e3cc36e0f031d57eff6604004b5eadeddbfde57e8b97903c9f96f1aea35c1ab8c25cafaa596e24b8d28337654fea06fe9cd53b2b7fae08542f4c9e21f7e34d0761c34c075cefbe79baa6c0c645e67e5daa8e1eb819cd121378385e8ed10ef2f6ddcd2e821a7311de5481d4799e5c620af349b8496d8586fdc72c05fe690e80dbdb5e16c06ac01c7abcd186f6cf02b219c3414d6bf8b490f0b6ed8205887ac4dd617c6933c88be212ada600a92214269044c1851ef296083c87dfc8f7022fca1cc20fd054d2fe7a526b37814721f46bda9b2bfbac8ecf08616cdb221403e7d6e513a88e47a28ec096f19e9ec6a6948812cec9b1a1c5c0507e2849ea4d348149523e10990aa135aa8b6bb5aacb382bff65f1759d1c66617d72d544b9c244011978d49d448aba093cc0976b5b946ff37b9d781f2bba64c96e330ac99ff00a2704d3d21b76d8c7f18b0000894d982ed1bdb17ee49ecab74c7a8d7a22dd23e957f62add2ce951eaad74ffa5dfba27d0cd909ea21ec75b92bea5de45f747fa8f7a26df27e951ea95749bd4ffea1596f1de27d02afc593bf3289fbc9314237c64bc158362131adfeea7150cd59577a02a40fe9f61933771644b868b3169a29ba3388747a2ca95b2819e0ccf094638e4ce481a62805245b72e9943415e85ee86e20582dc4add3a8a170a7915ba77145e10e55474eba89c4090abd0a5d178e128af427743e142416e856e1dcd0945b94a5d3b1a270cf22a7475744e20c855e8d250bc709457a9aba340a8a98d1428d08a354ab028e805bba20d2a473666bfcae1fc161ea4882eb5c975fe6a24bc6d71b411c5c3538220432e14b1c916af15eaa2656db52c86afbbb0cdb4d2af985f85b54e78bb983dbb24a3e00441d80fac2e1e5376a5ccc17d008e5a9df2ab3031e2c08828aa1e181fa8f6282da06cfb4039c2ef42447e93c20f8f2999d109ddf1e844474e9516197bdf249e55e61a7fd8fa41a439012a34ff357d15480d4a04f7e49cf079c36e2a1ceef0f427f6ae95106095cc6e16b26420fadb18248451eb8da6fa8de37d97eeadddc9a2cfa7ce286d041ef3f087303c11fcf3be2e74c8138e921dcabcc7017dcf50cf09127d665af5290f005701acbdcca8015b540a4c0293e344fc3fc6e2c7920ca5b59f02f6a4bb273f976112dabe0cb7dfc5e5fe32019f8889f21e9321c7c984cc4ae65fa94e571c443dce4d6cfa820ce29764663fc42ac4fef90fafa0666bfd290ea9e9384806a2e2a47bdb4e16de83d3a4f2ed9d1bb5c708bccdf994d4e91a958eecc2f33ee7098f42aec7ee208c67eb9df71820b1a3ac0a3550de3055d31a6f238eb77f08fa8940fbab85450c7b56d28774d2b77cb0cf0a8ae020057291a6fea82f835b461eef56ec0b93f0b1c1505a692a43fe494fbeaa42133b77346e3cc7e0e1477ad57186c779b6c5d86a8e5a15ffc2ae73870c734c1302d76ee32d1eb5dc35df900c48417cc84d8322f9a2c464da9dd9755868aac1688f84a86012bc1335c9ab9c1aebdbcffcadeed9f67e53d98d6fc1d7c5fbb40e4780669f38ae32f3e06f17a092391ccda39d10aa701a3a6fd106092f9df3341871687e825f7a1872713110d084aa0ddfce61c38bd207f0597131a3e67369fc9a03ef984cdffddd1272b4f9e358deb4bc08a0696776a4f1c70ae6a354b8fe3e1778d714230f29fb59b0531563a2199a3c4f890c3735a0558147049a194e3c6983784650acb98d91f45aca6413b51a536686b00a519883a51473144d60f8465ac29719551b727be78d57a5617447fada28e89a20d9e52992463dd03b6633b767ce89ff2b3aa9b585bdb5719469ca6ca0f3941dd4e7412987c7cb42c8849b0fb2bad527afa9a08c894dfa546451623fda2fde58f6e244d84923b32385bf56301f658597f7799177a690e82934cab45ab398f1e46f9eb43f9712d6170813eb6ab0888063c6035f4d10af91ca9b5dcc7d0a89bbfca8aab727240618db2937c493bd7dadc575e0bb2d59ec451620c854c664ccfb0c812f988b5247dfdf66a16ad6b46f9de057ee8eaf3dfb843d3ccce8de523676a0d6294506ac98c0fc82db396c7955ea053e6bd3341e02c07eb6b4bfa4a907d0e37360bb215f2c1598ae0f8498f15ec1ed9db7038b826b9b422deb00e6c915d23d65a7ef510dc66589a5566d8cb334418d71646bebb08fc430c3c91b565078e1e3cf35b5215e427e55dcb3e964c4cee465af559b3db44b39fb4d1df74c25f3b39c30316e794198c11b4a71fd08fcae65ee156c774934e06c5945d085175db9b0c13c6d2ef0537e04594a211c5830c703d4cfb32391514854dee7f2e34a49d2ccf86d7a0c6f0ec65f79d3fe39a7bd119afb6957b30d320e308fe40ee6569bd4099f6ad9e23be6fce70d2dc22bfe7c316fecfe9a2e001acce00f538ef7d7c165e50da71cf6ad6813afe530a9949410f1237738576557257203497b0cc4f495c27cfdd27b23068d24fe5f63c7eaeb83476c656f1b2cd832aed5a47bc79705567a2632030673c2914549fcf92254f8af91a5f311f908b64e5214fb16b1736d2225d9645f3881c49f35bb261273a6b846fd2446287d00c7496103b72bc27765a5bc720d96b383e7bee7d0d8a496ad7da3ab76c5422382029a8801aaca73a5941bb6e2cd9d731b67c75645f2f0bde5cb51bebc59cf8280930f060ec7712211fa0c9529b19054a59ef90490d4364fdbc984d21dccb960ddd3843cece7dab0bea038495dd515571905092b68b0821f5446261bbcf99e1fa1827dd088830ba5639a6201745713f2a2ab8fc350f063701c8e2cd310a8a68ffeb3ae27c20b6c281244ca5014644469a5ef6fb3f0354befd5be593221b7628375a79f13ff1fc90edac61f362c20a095ee68486d71b41c2e2bbd6f4a8ba01b0de884e5d682355923a384890d0ba78b3cc9608e75b0257b947c07d88668ab2a0953a94d9eb6030a85b18d719177a810f5bcaab5a06509748239a2205fc9c4b27d5e3241247fd82692a159380f95225fc050c5fcdfffe643543cfdec155be3f3d4614242322223025866a33f0ddfaac6a2c574c944551ed2c60b644579db8febd9344d8eddac45785aafb1741e313e25ee4e90af685e109b01101d1395d7bc2037e87221595788bc9ce0c8939509193f4143f788b19bf83010348ed30405ff4ecf02dd613be6664e3732724349e5a910d9071a71baa4b474b3d64d8d59beb6b2e533f59f31b45734dbac34cc369ad4ea1220d6ae754fccd223ea7adc1b92052322c5c003d13c1e52a554bed64d80ab98d3f64a02663fad29f655cc0792990f6102a4cf40535407ba359d68eeab0b0aed6525265a715308c23feffc07c0a2248bc75aa1dd560690231c27d5b75b341613a5cd60465b53e0f4e978e85ddd06031edd609ed5116665d5d97a31430fe6c90e13bacd3a456fe0d3027af54e390dff731196f1400fab8870fc24dedfbb2796303611119027476c76af0ac5384132970b83a241193bbc340b89820f8550b41865310594f5df2b777e2bdd550c785c4d0982bf19386a84d966504f051a20abadeece393ade8049ab127f741e15ff734b7381f266318286521810c3e58f8301189341e5754e96bed2ffcf08a865b1e88576379ab5b134e2cafa7eecdee8c407c37eeb4ce24ab522cfa7bb2f75a58db1a7ecd00bf35c0f1f40515276c02e94330a8a3a492cb3f457072c7fb980592753460a1bfedb554354f5cde07bce9a346ee783b3c20d4c9b448ec7d1f68b4e77fe36d476e589e682ffa3dd8f916536a5a2268a2761d63a2f4aea4e0a5e878e54ef6516ca2cb9a1655b339aa023b8ae8ed7dbe62826f3ce57e643cf39b542316209443cc7013d30a5f47967650e0622113db856cf2655c8bb285f6828e1e0ba384475896d5f7ca1c3188183f2ca9e27226fa828ecdfad2b5680fee533ae2e126abdffb98464ba044226a74abf999b5d156791909a249a6ae2ac056f03af7c7b16d155c6569c58c0dcc97f7eed348dd4f5f5eb3da840f8caa1548bd20d565895351062f8df46b57b84766599ead0cb84ee456fbbbff4d2fd137bb1f22b7d71fbc45eacf84a5fb891701fc65ea0937043036f80f44a45fb8b955fa90bf74fece5ca57fac2ed137b59f995ba702be17a101b816ee2bb41a9c3dbbd623346af7196f813faa6a6d47000dfa445cadb87c0c83c32daed1124e13a94842973f37d74e7026067365dec80919759154acf28ff42087a6c74b61561600cdfac25c5d9d152f00ab81ad0ff88e9fb44ea03f7b15d728d23b76af527429e7e509669a8e8667f934456dfc4dfb1b07cc92d41ba6667617a6dd85df45478a077fd135723d3d671f475c15c28a6fc5d80f38bf8a9fe9adc983694a38837c5198f22c85b59e525024d7df621ed1a09f0e509363a715bb70ae4f41b7881285500d875c5f6b269a0daaa9793ba28a20498cb994524b45d5508a731bb1c9a5bd240a3fc3d6e71d17502cf1195738a32e61a2ea768cb0ecaa8d9b1abb1484065c0e34a4b1d52a78bdabdc11c3f8ca6f657a1f3a627635864fca6a5dd7a8dd230ea835e2d58ea5e69f7ee91a0207c04edf723106224ea9a76f8d0485aaa2601913d5abd875b918288f4e35674deb374a836b431b49b64b328a82f4816e5cb2c1aa8c49e354c6e1fbd308f0d926a2437bd5868004b159945f714154af214736244545055c6dce44bc3efdc6fb9daf84b43c9321d36007fd4a9b2d292d9542ba6af396e973b63fc35a4e5cefb5da7eebc72e77ddbc354b4192a3815a63ca33da326f4c025d1d7a63164fe8e6f9efc60807bd501630c224fe066205375a8610a76b8ca4760ae23a31039ab926a44a071c28ba9bdf13e593d1b54342c5c49cd43c6857facd2106133f19c569adad9050ea262b2e3958cfcd033d7f47fd509e4236316a97344af92b40a7d4bfdb2afc51cf92daa8510bbef78e58337e69c40e5340560b7be5985168d98c9d3373bd5589357894bc5d5d60873139a8ff1961232d0f0e8c93668220e2dc5fbab9c8a4dfad513e35ae80a57638889ee9577553fc1b3f9a7f4e82449f8a7dbef894adf04fe288f3c2348cf0ecce80b8305800a1bac69746263c6baf9aa3768da2a6d319f055e70318318787ef950f1133c9b7da449ce0781fec84b8174e18350c731def6b1a1c85963a146db8abf3263e018d625a015630eaea6efc19587a868203d37fdce3b02762907b0bcb7ca333bec69a49fe05a699fea209e1b116e66bd55fe2761a3f8e11d39bf79b0d54f76360e5f9080a36ca5b25539ec209f0585434d8b76665781f4936002559a5587572e391d19308b9b9bbd906b23d9a19f528b83e7a56f223ac767ba74015ab9f8d752015d6d110a4a62a3551116d8f51d9ac7cc4aea1ccb43d3d8a76559a63cd159a6d499b797b6c728305d4ca0fd595c821cbf8793d248f3811b2c89a606ccc8cfd08fdcb50f80fc8991218e92c65e02e5128cfc086a15cccb1183b8e9307c0b582f0794d27d919ee8bae6d128fdc551494326d3342863338f567f33a810e1ad808e05ece649d2811424a350c29c0e75d080bf65af1b0a095636fbdccbdada8405f19069843a18c9b79ebba9350741cf202eadf5ebb16824406277f032a8d64768d34a2392882d96aa7e34d2dd334087195e77f3f324c8a3940699d78e9dcd9b87405cb013fbc6bc4f25906799bc122b8c61bd1e545757eed1a092b0867b134eff22907eedc4d3ae0c872776b903f0912a53a0decd604a813b2bdf91c9d239e68bd093a10019cc3974298f9120f56d31e2986be2765accd630b08f8b4d399aec5e9b5edb91452ccaf89c3482b244f5b7f6fa36ac4ed082fe0bc115a9f324aa99812329d3bdf2cc938d8868f09e3b3ce4db1fe3ee1cb13b3ddfa471f644d448bc6ec1a69a811faf0d800b0fe86b9ae332bf5e3dbf065139dab578ae474c0e10b76a2c1252f3e8f32788caae6de7d1662674bd09345c9399b53be95ee7ee002d286395f3bc72e06bc2fcfda477426a030799656e7290e8b336bba44eaaed4f834cb6d4379dad1613cd69853ecbfeaae0a016fe67025fe023706536e458abd96fac433f3c2e773076c337c616024b3f2163c30fcde8e5c8df448d3652d43da671cd8d635c7ffd6e05260ae430efabebc1021c0a491e8d475a5ca58c6a4e9225890a60e598f5f635c54fa6df81df55511160c4b1bca1baee75a043936b1f0cc2deb421fc9fd408ac5ffcf32808e8c04de9d3ff86dba4766e68dc0c0a1ed9512431a1f037b1f8b3c648cc19d7e33674cd2633c2341c5063a42de5975cc31510920bba479416a415523ee1196c7b70e4b98b67452d6f6b29ed71b531dc6e80eef86b8f455f4aa721442144a537733beadc63a533e67dc4986d0264ec659bb54d20d7bcaf4a218572dd155f9d9e8996b9f30178e17a3a41fc15fa4a29f4ab7bc945b84ab398232d18f8a38f5d7bc282d60fdad9ba7413182f8bfdfc615e5f0038c1b8c362b66169c930c1d898c1a4ae5b353a8095ef2677a3868bffc91b4e5b3eb3fc8be5df2d3e3dd8b2c6f5ae8a201195162e794511fe41fbc26ccf70ecae3dd967a049d4e58eb8f9b67f35cbc0aaf75b2642c88132d7923ab0d129bcb2acc586fc552a9b2cf56452081bf5204580b7033abb989b238b9345cb2a4a881f373a14e043f206c1a37c3bb651903f0136c443dada4ba05c8a911f51a98238382300b31d488816b05e0e98d2ed223dadf7baa6e35a0d71146a5c671a6804140df815010c1cdb1cd20fdbdd0c4a720622862249d25c298a1b503b1e0bc35c7a07fe4e73d0ebb42196c2378b1fb1d3b23c9461c61fe3ef396da8b259d646acb063a0e96a110ba02b34245d83be6b6bd0a74da3121f5430de588f651eef0a29306fc7ccea8db262f8326b2ce00089e902f4b62a51a568e164525a8dd7ebb1b7456e401e32ccdc37536c816dc0998c67d26ebfbad2348cdc6b0310bc24cad414f1ad1a2f212464cb23225956e3bfb18d30169b436a4625ccf330860646b566d4e7601576336751ea5f2383b932f10df6abced940d2c2eeb56974e53c337f80316c1c2f003503d82c565eed339fcc7281ffd5b1be4e60e6ccd2afa869ebe110ac6fe79c306ce652875ab004a7f831a775f160bdbf541b2bd13c57f63ca46f20630b5dfeb4279da96f25d1554e523f09eaed47b2851e5397068e0a9234a3a1910572421e5dfa04294757dcbc372a4e733c5af3241f5737f9db32938a3166331d00d486f957bcaf11786a7597a2d511771d7d0bf38a3aee4fbe44034be8fa83076aea82e85fd07f8aa1ecbd0ed6a95f7299daefd96ab1e9ad3f1d0f40c2b6f99dc061fbcb9c93cb46cc436313b6de7c91a3a9906dda86a14ea6a826e3bba26f0f7cc54e2d04185056a2a68210a8cb42c7394be9caaa3496f53907d105d839cf14419f3edf9a0be9b2f2c6b06db6556e834b02221cb6f54a05f5c9829d641bce3c53aae0252c023baf9645dc3c7c5a9f4e4c0e491a5037192f0f0740a98f4908752789612d0cee9d7679f2d503546be2c43e949835192486d3980824cfa932b698210111d05244fbc2f797ada244b062486e82be533e413101041172919cd45e9f4946b1f136c01423c63bd093bc3a411b30541132514ca481c8e556e6705f4a1ee81eba5dbdefec05e08aac51e0aa8b77c756aa16e694c2dd130bdaf85011b44d7ee33906076ad4d456fac7136f2202c31be14a7a3b2c4559f7b4b2be9a569942c8b56e0db835c566feccd0648fcef59415f12d6216be04064c632e28182fd1c3ff43b793013742c462e0c7682236fcd1dfe3deefa1c9cb6575461a0234b019e17abaacc84b65a8c182fbc07079a6ea60542c0b7889e670ecd0ba557eb9185bed5c0e0834d6f7bd7e01a24a6562d44f3fd650ad110682534f337156fc08aa0cfa1f4c0783a2410bb5a2f8929ce56292f3ba649fa45361020af16dcc74148a3afb7dfcade97213f91f83a6976b574b0d6cc22100a7c5016cb816c7f37100f9d787ea56394ef2611ea2dd1a901b1ddccacebcd8b82eb0547e0f60c72416b4900f23b373852988b2ceb15262bfc4358653c11c628b5dfb411af00d5b148f859ae225d102d33002a6d328216f87cffe7aeeec4e458b928ac35f138ffa160cd688bd3027eafef41257bee34cc8b4d5a8ef3f5762b2980e136a988298fb73d05cf1462bf3f474ba46d3c8b4e4bb66e44a2607fcc9215b5f72d66caa4577074fdb331f470255e6e63cbf62e33ccf1ead87d7a41fd2a9e1941141e58bdd97849a4b55e5039268e8cc9a3d66553c70f5945cffd12b7102151126c3ae8074010eda2557ab20f26546260e2a4e4d2009df07077597b675e3be76ee6508f140d3dbcd2eb4a4a23352f2ce0c3a0cf8f43f41f9f2ec23b701504d8933f4080c95e1c34718235a55bdb2c68339f5b27ba9c849ae16ad5ab7f4f292451b4d8ab839e359dedb949c221d68089b4ee5173d6915bb852d072bc94f2f0f574e2eb2c2cb0e6d822fdf0f75b53960e223b71a6e0c68a1526a6e5789ebdfa66a95ec8549468cd0ce1b0226d1b8454d7c06534d5e78cc3f0c63832af3850e745aae19ec19834699418b63de63850a9f5d387d84ae9beca384a31cf8eb3c4aa52d646a675e41938aa4dbe0297064f15cd30ba02f729353309ed9a66fb13ffb40b0214efcf6af076255d0f35fbc054b30ba89e5f804de34636c3ba8a292eac5fc91d99dfd5a062c134b3373b9f212806195970c21d2cee361ac882490de9cd707645dd0b18dfc98baf97821069d7eeb5b5de848afa9436478940f168f122f6280779a114f600703bcf371d0463c694bbaa0139a973f5633da564c30b07e7c47d467637d26f053b6fb94a0c06696a2a385d73b028df5c3744330e76a807e167be7ea18ead8da50308e1d36d090927ab0e156619507cafa7f5802127f86b02fd8c3a85cb9fea5094b7ec69c95a0b96e1c006e89a3f2609b96af9c3c98ffc2460cf7f3ea022311449b11f39795f8705055fe250c61fc1c6b7c8829558b11e9e29dc93a8ad77b72c040c7143c26a0df7a56a1ba2607d8dec593a826a48020fb9fd2989e869f2f1ca5e344c930cd5e72dd1af72d9fab36f7f476c6cdd89bb4536e801c4e55feb7bd285817bec6357176187438d001121425d8aa596af04ac3534b7158b4e0821620a0c8330cb31e65f74478af12217298ca6f57b076b3b3b01405e866a7d094e152480c9b5d8b77f80c08fb5b10368b78c90b072b93cace6ad9393912d89352e671b1a02dea8319af56f1bf92e3aea984e7012c9b7c315fb650257c93d034596257ec2bc69bad7ea9b5a401c4d22bf2752b946735d2ced397253695b264de29df70e629af4a575a184b1e95b15c6ead39d4b46ad91e815b974a866cdef23c4a16fce5fbe4359415d3ea0026bc245367635cb2a5344eb1652a722f89846fd21b4d7e914b1ae66b9f9173325ece84b32da8b3bfa45afc3ef3c6b9a24e1c20203401db07664bf1fb6be12edaa5a76c3fb7a4434385dc9e85ea0d038c7d21a15b4b36cfca9e05769a6ba7400f590cce2b3664ac44093f772204b2e5b8f5cda0b2c98408de6410d4012f5a676bca374f1ee30392b5171b555345fd80498ed81e08efb8aaf79fe7a5011f428e10bc31f5145b46d2042389d7a6e51e613d5bdea2080ece885bc15bdfc8297be74697b359a88b803342cfba70789a4845716db6328a6ac814095d7078a30fe805d8046c51017ac8282750a0d8d4b40100b1ead8afafe818e83b515b2320baef6f71cb629605bd9f36c8b45f1fd9d2d96954e00d602ada51412fe769704d84d50bbff1696c38599068d6acf2831989a9865db2b4b23757766fda245c024f022802d33d1b3f1a854294520c7bc7b6cb61ea98eaa9443a263bafe7794cf96bda3f7fd04511195311b6d4b8cca4502fade7ef45f8de5bc162f29040192821bcd16cf20f8730c757994783b523cd0923b9e847dca20fb8c59a78b7986a892e1186f8c28565202039f650989dd7d170a22ac69c5866a6dfa8de69aa1c0efc25176bee6d4f979d99d2d170b2643d20258d461e7938600f871b2d6ddbfe2f617c35a964a22fc66772cd0f6a53fbf39cd56263f8bb11f5545d82892e3175caae120523b8fcd871413237cd6af1b17aad86f7f3748c2423d56e52648928941ee83f112c69cafc4c8f900744de4548a610528a4ab71eeaa57426a0399bbb9caf2b785d944db4d2df681555c6d174defa7cf79c352d849740ee5bc647824dbaae493d0822860518181c60a4e4c1f2c9d4234a0ef9b58cbbcde9f9147bcd27c3fb9a78f6c5584be28b2fdeeb6efbc5a1c72675eba1ba63ec95f37e4e54e88b218ccac74c8429c802210da1cf39944999e7cc5fcb5170a62513068e7b21d7e37eff5a418eba4dfc8f46a110f5f6699e5eb917c252e1cce8d4ec9482ae5bd1e2855472c5eb6272ee5f5a763b67af047139a5f7704e5ac82faee6096131fe8c74318e11c244120a0c7c812c25d0218c794038d745596bf8f325cd248b5edab57398fb7337d71ddc368a51585780f2571a994742564f53c8d09bfbee57f21c907651f5afe5486af78703614f6601b5461d642882dac989f0de6e378658997477b783016c61af9213b9764172fc685fbfeb1508608c5784efba60e45bb671e580144218e365dff3d30529bcec74afe73529dd2ef9be8782acc518e3cb5252a7eeeda69c4604249e6691e96f999c13699b5ae40ee80e55dbbcd47b614707c73d674d0be06f001b8f2bbbd697edae60ef1867004222a21192d746334a4c68c0de60dc73bea1b1358ec9d639255bebccd87a35da7a47db9a47c6d63d245bfb8c884442425bb73ae8b178c4b66f52dbb4ca03e70ec815246896e04eb75af19c52776a297cd877e5aca3c2ddddaddc8ee3717fd71efd902905c6376a126a815c8593a2572e4dfb34ca9b5dbdfd10424a75e87bf61f90e35abf2975e9d3f33b9a4e76b7f146b993c29d14eeee7eafbb67ef78dce72788ffb5f19937735c6b9ca99d922e407c9e475be59c4eb9c9f4af69397b8a7677777777777777d39612888d279a1919144b2ac7bcccaeef4fe5f63581139faa236c1b51166b28504fe01f6c7177d1ac067acdfa69d82ae02db2109a4ff56e1e8edb5e0feb29319dc8ddaedeb0adb1c05b67e170f44f03d5ad83bcd75cf416d061f234bd96fdb5ec30b0be8d72cb507cf01ffca7bfab81e7cf62af5298abd207dfd51858b5360bb32dfaac0dfdf8f0acbafda6bb61a494d2c6fcc67f6cad2fc6f707596a625e5a72fcbbb1bcef997a7e47d3c9ad52c51ea6df4611d5d8bfd07bef461660c835683a441e6210a769a594524a29a594524a29edc36a58cd2485855fe6ee2fdee22c413f3fd45a6ae98fbf504b2d7e8fa958f61fce04f822bf141c851f8d4221bf82a8bba5f4b3109c523a5d0468fdddfc3cd5e59eb3f69fa92ce9def8138dc688131868609da9f540ac9eecd550b99b774969d3f363a74667cebc4cbf11ad9498b4987df3c5a64289bd4761c932228a25156722cd7cfb246c7c5da4a70a24fa14c2929848fd4b60288b27d183b165c242cf4688c8d35a7b64702f9ad112b2ea596bac636f850e49cee3db6449ce74a2109b515775274610e188a3a299655f027c2f93ce492a7936d0fd72f9543c5133c9a2f8aa38a5b84a56693e9e4b266fe0be3bfef5ac5a39408fd5959442fbf19c92642b68e772040da9b63146548c2fba1ec7026aa1b8c0c78102251f4b9691cf4138dd6301c6cba17470416f14f42c03fbc518638cf18a1b3c0b43233408b4861e3d7ea0d73156dbc6885daf6de3478cc60823bd189a6cb5f4de8a6117df7bf1bd175b2cdafa12ab1806edbdb7c2fb18dfda59e6398f5cdf26c6debabbbbc5a2287e748cd5b6d4c1086f74b831c528a5b4624ab1c570954ff1c5985fa7f7617c2f76bdde8b61b7dafa17e3bff6e2daf4a9e38a558c318ceba394528a128258d2a64f5e493146af638ce1af155bfa58a4b9eed41d3b758a615aa9d7b61785628c31c62f9ae8d3f96ec4585e7c31bef7ce203570238d5f77f7ebeef4d6fbd5fde2a7d4ff3e1a23add143ae57dadedddefd6e8fd4db187ec71c5712ad6db193780f5cafb515638c31ae15630cc317bb16bb23d80417ebd734d7efc555c625a9976227f7b63b554aa5a41f58e1dc73af8540d5b8159a8855f35ca8862cbe7a107e0773c7058ec1dbe052692a39055eb0e15cc17e084bf675bbbb43abc9747777777777777777777777773784d003989f2041b6d2309931d26490bc1b7927120909e50ccbf7d7f14f217c00a0adf77f63a28b986f0723ac8e390e40200105722ca0438581055c4808e36b6925650fa6a35ca6460d97f9512afd00727202c44600016c542828aa1b93e906c7860d9c9c0106c8d12180009dd58d1bab9d020ad8e131c0009e1e1c387a7c52527c583972b04e3f07002110248196023368813fe00701a004822830179874a503aa30d0800eba52812d061a882d12031ba6631bd9686cf324041b21e40841010708406280256c34617202e50901a23891a244458d2be6b56df0370f60bb006c99c62632d9b492cd64c6f6da5612d94c21db8dd096823795bbadd80d826c93406e14d0ed02df34a8db0679e3006e3b7e94edf52a17b3ab41987ed34699569656a2468d921211119bd259a5e17c2b3563c95cf1c935662c2d1663af05f9e99e987de6ac69bfc2ccc914e48488354958227a4432a8ce6619135c0e909bb7d17eb81a1763c3c7a0b52086aa33d8aa8885124ad5db21979037720949d3409aea8168d2474e6993bfce15777a720375abe29b4cff9ae6292e1718ae427e41a3a15591c4c3a2d464e8330766a2b20b490edd21cc19c21c12121467600b627edd94b44ae1be70f1e2723433e476c125c6381f7df9a8906cb56050682626e6e5a525b6449690908da242b0d557869cd43e446a2419dae4fb39954e342798217c2a027ea7abf99a961fccf39cb3af3c59be94a6dfb4510e5157c92a0de7698accb22ccbb22ccbb22ccbb24c841244867964aea85494cf9f788056ac9ceeb9a1344227a3027ece7aa23c2a4a0598138e132baeb04e702c8f687fe2915a9aa1cf08a59c9d1c8cc9700b632becfab8f6b5d8caaaf4867acbf80c9a7247c61f113a1738c2a340caa96116e41fdd909c2784734293fb62f27c604bf62b6f100508276384e4a3e88658437c3c6f8788a7037bf04017199564649bd027f3e9d8822d3090c5252815258a87e7ac659f59117c2a0243028fc1a884cb38cb0a0153760014188703a2e1348c729c82c831ed0184228c87dd4a45d3694407b3186420314619048c0100001008800040661c006298684468fcc89061ac2b6a05ee6f1816b76f3e70f7d8fc074a3a7a8a21a4ef17474462cae80bb0dde2676aa9299dd766a14a1d73e2563538b72038d92a0a5d397b5372a00b9eacecd7ab5e1e1228dd3fb6ca726efbbdef6ee2e98b6da5c7bbb9ba2beb3e041054e20e90e8b32add8d7d54529e32bbeadcd84725e569bbaace8f7ddc5296365be9fcd8c62d6529cb2deaddb239a3819d95ae264374609269bd6806e04b98924a6df06644f27f883af9edd5d48ec447f36ee1db83a6c31a86cfb33144be56531a3048eca0f95f00414aaee6ffe7f20e93a59aeb704ad7d066b8939fe374eaa14d48999793524e8023daccb6ece52d4b599f68f3547acf63ba7a6b4270fc2674a0db6bb4a9e1e2f28f531f2b5bacec2ff87cfefcaa24704d28dfd7bc1399710b47cbf9c3a9d64574cfb020e1ff80249bd3c7842d44779bad3cea07cbe360831e07252bbcd7b727bb300fb18130a2e28b5faaad95cea11ce220e0ecf8e334a4cbcf485458e17ddda1c74cd8acab091c91c7f639c229e813be5d148837c1fd7857430928b3b5b1b6be6b5272825cd744cbe63b7b86cbb99306ad5a776a1ec7884411e8d2cbb5f287c667668a658974e880590e25a636e72346171fb482702fa324afb5702f27c04b02e12a5fef90495be2340f6b7637f73966c1eaa9702d333f64887ea942825f0f435f9caa6ffbb08e0e72c4d59a4bbdc8db8dc0d03fb7b33410d46511e6962f77e31215f12bd71a04310b75f08dd7ee4fb3b899db825f028694000d485596ae62c9e9d41aa1ee6e990203a600ae395db6fe6658aad4a58367172ed6c0412d1ee26e082db6e337184fd2080a6388efb8f8422e3614290b6b17de91b3bf83984a98dd12c8eec8ea1026a6135197822cdcb324687654bb70bdc2e547e8904c75f1c5f644883397196d06c1a8ef423e12a691c1f13c08829e10eea991f7743622080d2e5168444d0aca4fb54587378d619b65fc1c06367fe64906254c1f925b8e1a455e91f04cc6ff2f8798a765240c9b7286f5cf179213827968482844797ae6b2be0b22c00e380983293808dbd038d1fd835056a204fd506b0abad1e15902e1cedd4e4386e245e5f4165de3c174c20ce3fd924bc2e8bc1f0ca14df080f0be47442c53c9a5339ab5ad49953761e88e78b497a208e9a6dc34c41a2d4abfeaa62f70521b79c895cbce20dfb968cea7b05538f0d6f614187d77a26edae1e2190f48f67e0633bf2f833f486dcb6e155a31bba57d91c2c8823218d474b3388cb6365df3e175a5cf505eb07ebfefe095c3773d9c5aa73cb580f2eb7990932c384a790a2af3168becd4ec1a038e635baf2149829e8cd99750c1e615c855ec1091a1e54c08fce95f2e168e2536dae0ff3c77d6b3900fdc8d624ff22bf1ff14daf1121ee661147b312cc3397e825ca10334e53f3a68305d28167a6f7d1f9886f5d1db9cff5197d1eb9c70b927517d41495db4a0cb0b6a1316993393d33e19f393f29ad92dca3d3c00a29dbf6916662fa1caed56b6f5135de962feea2d27c8aa2457848de5ad68d71e6d142e77b4492d1f79f171387f1605ad8d12383afef82cbf3b9e709c03f0a3c671930e688c92b86589a6eb06fbd47573d1b33d42f7a4fd19e34c3f188a48101b452a896b94ee3498a38c65eb523c3196612494dddc3fed51638e5b08b895bdf73032201bc4d32aa88e1b985ac502535e927616f165625d58bee6d72fcdde3a3e7cf8eed3a78fbe7dfa609e42fcfdd104ac74302372c91151561dc6da7d85475aaddfcfc48cc53927f5b5b7d5f9e75f0f54b83942e06edcd08edba884af8d45801e24c3e4b1e25ff70084479642e33415dc98644dc582332cc851eb9ac80e1161a610d20e89af7d203d20aeed6da23ce6687199fef83a2a2596a935bcb6fc1b5b560fa435f0df97841d3a52e080de5407f3403b3e9e962cf5bc34912315762abe4bb3c00120633731f5a5b472408973941701916cb464f3407848fd092cdfc02278c4517c0be454a3781cc011e10c00a12a41a42ac083c3f50cf308491f9bcb193e154d47fb5f65eb5c14b14264a16d908460c5f9c6551d06f2fae12f90ad78cce07c5a3adb5728cd5b106a7d12e144ebe4301c69ba3aebbc09b261d4f2f4d51e0920294c1645efc4ffcd7e070cc95f8fb85a14ff7ebd13f039745a2ae27efa7e321760b274bec377be6283d7ad064fd4c5977495bd9b112aaa92f4a58741587e8d660f48bb7a940a0d7f274debdcea0f038802d24a2d8bd6a74cb37490efdd87e8d524008ca2af98e321c77eca93533a740edb0e136d5cdc02d7ae8d5b913eb376e2a8e34a4c979c3b2bb21057fd415d5a80b09cc150e7661f72c47e7fd94a14824a0aa6180e025075fd4752d631b0e01bdd12822070f5654ccb477f2c740e7575b7b80746f4cf6e4bbedc8f029f8ed9cecd4b95c411b25920333cdd0c9a69436823165350386a87e5a3b09f23414e367ad855b2e700db6839c80612db70126b9fc11a28b418a171039242d70a6dd07c2cadbfc8cb5f8880a21aedf4bb496960aed80253003ea76853d84207f36fcc8ae80a8832f7f25aab63b7802b717f9217217ca83246cedd5698d2459718351ee22cb49079fd6c0b1b84176af51f95de031e038156827330175f11f7076127c190eac3f2b0949ab8a05001338a22ca229e6f7610c94363a693cb24b867fa6287c672df71cd5916f710c8a09a724574c71d4dc8f523f3a0f68efb0d0eeddfd5bdc2c37d95e8643b17df8889ee2736f4a020ba00b2cbfe7e5af97826f4af896963c884688416efb8d839beac4f75c622a7e0d579ce60e04496ada47d92f66a71d616201a7187b65281c0755ef3a9aad3a198f40fd3ca06052e85eeb65faac3d67d0dfc65343f53b07896cfe52ccfed8f1472c4f956fc3b81b67b6fcf3200b49c0f9183271f298f4b0de9b0b0a9e5ba77f9baf4a2c21d7cf9374e07b3a99f47be0e843f1a219d6a8b525cdca925ac8a984d116a2bac68ca29d62f9de18d3536412c5b2bc8ed807c088f14311ac430a916400266c2fa59dcde5756b19509cf967535f2a79feb229724af6f27a249bb29f4cf948249726417aaa0e09e9aa99d75a371f4a41b812b9db9068d2831d7d9cb697a358049983d16362e28cbbfa92d8c689c52d117a6e8ccab223db774a1ee863dac3ecc27d73ef7a5528c97d8c0e1e25873055e12966dd118f01cffd196ab2aa1d43ff764ba56c76dfdb5d67b2bfc91c406ee2d1640747a420a45bdbe8d76f3cbd7ebb9e00ffba853348bb716fc0715b38d1788866c42879e1806fa743b46ed482bfde22637f7008d7d06ea0b227226eaf48f9348b7b8360d9c75321e4a9e857565638ef76c80b22c699be4c85d296315cd0c928707e362218e2516ebb81e4b88beabea093ad2189b16c9da0960a2f1fad4e199bac81e1b91dcfd3081bca093b82d99bc356cfb299bd7f945b75b5f6fbd0435e4715c5b39dcd4a1ffbdf7b611884ff4ba10ef24c12c95ad6e5f268df79a2a71ab0a26ac81e3d8effab441638ea887925fa69772bdcdf46db04f8456183ed0ea06c3a6d262ff110c2c19136e6ce54daff6f058600983810a2817600794a63a941614f5e52b225642a15464ef801c21854220d3bba828b6043af572d5401c96b1acd644425937454bd8bf3356e23f15b922ab2bd935f3f9f567c74db53a3df6c9b83b8c9eb8f321ffcb05089adc184cd71dee34055e1e6e2dcd8df15870716368fde70710ab0bfc51cd17ff11bdc7bb85d91ab58f6e7a4d4e85c4be18fcba68d8c2cd7f4c3add45317cdc89a2450dc2f8da9fc93924060d6431286201d0a8ac238b62135be4b749e2264cd2e9db085390c8ddfa1f616b013a1fcd8b9fab30d06e815713fd47de6c2eff2f0164a18fd8aec0cf366747a6b067e947c3e4e46b2d1971c25541ca8a9fe9c63ee4961b46fd7c1a470209fff6cd31cd8bba989097cf27ba220d338150af332754c2e45370245017a3871a13707e5aad8b59a1b04c63390c6cd5a82d47c0c451a49f12f907925cf20e5ed10945e461ae6259ff3738991f1541668ea0921190c49128f4636cf5198be080f386c8a236410a35b1c55e02bd19d1967d30b801d20c0d0c41db360ef97305016c20fd647ab15a7f8c662e41f71240ac70564e3b16046e2deecb9597f61eb4064ecdd614424810b4b7f33934b38d354ea086aa0a5b72162859ce569d6ff7768e49ebe448b898acc2d50f21898fb3d1079a2746de110293a7724110ba22c2861e40f5bda0017fd1f43cb171b61c82902c7a10b3679a2237f99773260f7cecdc1ee539efb44c821f975eeb806621d8e895ab5bfd26bfc6d9d7c5a91d391bd0a74607287ce939c11065eaa904ba4c6b0dcfab012a6526e0c868e020f392588c590d4151871c70425668e905151a8192f5e68dfd552d8004b7801440f290277d113237dc599a5f26735c2ca06181e5d9b27ef274233bc08c5dde6fd8017c04b0018b038a8c419d9a3cb04fca422fa240269c2bb8aeaf6ef3952bc9c2cce005ab68f49bc4e4022028d041ec568a06bd6f6a3d061ff373e0bdabcfe87f3fa23744eaf15e91bd51f23b7b3cad92a218a8a262d436adfd5a6ae3ad3cc1f2c8878bcc7fdc600228ec07fedabb0606b58e3162aa246c65e53af68b782340b9511001877ebae876c863d24299df3259d450a87a81bd6622da2a836c15a492c17809babc4a4cf50e9129e4fb3d869234338b29e03ca6dc64f03a556b968b88179ae1c2cedee92145291a009408534d4a4c750967b2d0a9cab14898086d900bb3e27eeff47e80a8064576e369241ab358d0c409798aad56ffd58ecb9c1cd8081e253cd71e7f5f497c34ddde665f0a0a26a01c751203e44b8a2275023a59f7bc5777121fe737bf437cffbab5c9d00640c4c554a108c2b582f1a61c5ccc6455de60c8b363d8b92571e4ff138b76e660e8125190c0322aad9cf50b1da01e3dcdc104518c5ba40294ac0adcd3f76cbf158f2ee05e1f2fed82576fc95186d588a67aababceeec3b2a9f4669e54ba34a1ffcd551e94dcc38468459922bece17e1084ce443fe203ed350540a0dda706eb17ebecd030c78d83050fe993393b23c4619acf417cbac1846316eaf6ebee34c70a94727e774b3ef9f58dcf8057d0fbd5c1989af933a8d697ef949174313578c9b58e62d8061c6adccdd558c6fd78efb830b518f91945a02cc393700a7a223bd0c6b7ef07a2222eff814012771c53b2ef315b9e0b9820f698fc51e6410bf6c23e8103404445193a53458d7626db52ab5d4f3fbd93b14fca4b5150c81bdeac56e0d269d308ba6c44ad108b6f6a3a2a1ff894ca8a6f74cd343a611166abecd169702ae2548335a254e7eb04c4ee1dcdefa9adcbf84cbafd600e67aac2798c9165f68e4b5bbe6ad3201dfc9ba5d7ba2c8bbe324def901f0208ab180969394820f0dd272a030047ee37bacce589900e8c1e6f789b36ea490f68b765c7bff94533d71c09007d7ad9a46c832ffd1460528f30069736accda54c0998c6167b8bd24b9ad2d8af3078961c8507468953ed75e9969afb05693013ff93d7c062d9607f7a8bcb5830fec2b718cd42d8206a06e7eaed11a6fb806fd4bdf4ab977c193679b8d8fb007be5297978ebcda88b7cc36e70dca153d2d7a813f12797feb27ce96a7094d9fc48a096a76da673af7a6e73df6aee73dd41b39585331289d5f12dcbdb153c33a1cbc960e1360adfb7ed8ea8761fe3e026ef89584d8b96d21bd61aff98444c5591472d5d91c7cec52664e686d8bc0f2edc0a7faff61e665b22452cad2a6fc94bdc7a8a5c61a42ce2286dcccfd0eef8607178f802c56121992bb1a3a571eeb353f41f8d096724b50fbdf08412db87b747dcb8ae1923ec424b4fc147009d624f47f04cf190bdd9dce00d398c5ecb1fd42ee91f0f4312defc4238e89cd0073cb300c2f6bcf43947f1934b4cc4a3606817e136dc546610a59b41b29ae5ad131706029d54c92918283b495e1bcbd5aec3134a6edbf3ba11c398e3d622c4f653a450d144ae5ca873944bda0648aa6c2eb8a639bac86b64f8fa8874a141bd003cd5663ae988df4702e9c3d279ce9f24d20794db9745d940093b8e82182abcfa9abc41e3ff1cc7ed59b8ef08611ecc633811247e6fc088bffe6926c6d9308dec831624b22de5e41a5f83162d186699040ea57bad20a4a3728971bd585ec7f59ea593ab1afd30965d65f16ab82c2745b8c5e8453f626ab9e21a846333104849cebbfc3a1e3608db239d5234ee9affadeaa8651733fd3642185d3890cd0a2749c62ff66c76f292fc1b30027d466f01d5316a7cf849f67e59378075880af25f414ec3aebdf4dbdd9f16f8e4a50dfc5c0bd8fcbb875b80e9a0700859ee01cccea350772f5b1beb5d464f0d067069bbf0b3aeb91102d9c4d4f2962d959571f0a7426bbbb7241550c13a2dddbdcf84e73aafc66c441dd66f47a1aafc9a3974e4625f8f172a479f9ee6638bf6b43eb3a5a84dc24456e5739d8f98ec100906178d8a889a08a9fcd89805d5201ee6490246f90181cfcb887dfdda96ac409946b56e66c728af2ae84f59f021aa936876c8a0459ad3fb00b8e8a4deb369c01d562290200a44751c0d29549f4ed2c00d0a24a6e924a95d5575663dab15b4ce859be1ac53fb7dab7ff4614a76a6d13efb3b0315c2543558f05a5c5260668659bcbb531cb4877a9a865386eaa25f7147e5a4ada15e0390213a2e34f096418913e24b4bd85308c2be4d723677e590f442647ddabf70d8e51698aa8f7d6d27c7d88d5010dbdefe92a3aa126c291f8f11d162b4a1cdb89c21848993c9084decdfae96d340c6c5a6df1e705fe5c734b2260078994012cf1a38ed157bc55071004e3b4eb2606b6f5a8d0cab172cb7ca2399e1446f5ce783b3ed4cbf62fa35ab5d4d00f7aafb11825b47fab1763196ae3425217efc53b0313d9455911bb6033e307a50d4a59e40789e76899403ae929cc4a1b6776a3a8aff1082fd75bb788932e669c31272bb94099097831cac42edff9ce5b064fd7a2f03c0c60f04996097fece1e213a2f1558124af41698f6879c952acbca9fe724bc46bca7ecf3ae16ad247c95683a35ec259f39d28a9bde1a08e92a99ebd85c757d077f6b62c78384ba085b1d4d817372d0f9f1fba026ce3039a4ea6e61fa834ecb56f064cd5d056e4330270da2c201b1908919b0b99006fe94689948ee916475b47d75b233c145f9968e660420af132138ec50b1a45868b5e11c7fc12ab5b910b509a77c646898aacf8aacde13827f0cdbad9141f8474af2bdd2f4104dcb48bd677751f38e6654dea903eb191e5103219c41a5a088dc3e3e0e305a52541e71aa4d0551f31513108ec8751bc10db09f8d0d3c1a8c49f0dcfad145f11bb822014df3d0a08cb89639efb5ab1e9a6b354b127a84394219b93785414081ed9495dae213ad271550214a23e0875ac2b4d2a9620c577d16fece1de768aeddbc4097db3f39db490737748846d74e248c04c0f5ca8ed7b9b35bacf5f09581283a9493958e4130d6abb2937f287a534b342023d93201c19391c7413cc6fa9038e24a660d6b44555fa8dead6b9a2fc726975b96787e608052b724dded80ffbcd5543b853598259100a0ce6444b45a18c9f2c05c77d449479d7fe1a14bf575b8e8fac916aa1fe4b9c6e37f2f49b536720de84a857dfe8357f95a3c4ba6f5eacdac5d3302a64a578a103e651d267c69858f19f6c927c09bf83cd04eb42e33690ca42f5aefb5d346c8a2f148d187a45206d53d3119c910878f82179a9eb662b54b9106496eea455d195392924d5e6fe1e2087539ce2f43934020055b0e794f3dc18829586d983a1380112881e63df8365f6218365273e2e2de2c0a4ebe50a9c17557d2413693dd43beacd0e023015a12a7ce59177e1ac406ba11e2641d27e7cb7783e90cda7d05419c8a7baa24f33baa85cf9dc62274af039d322b573b1e7b5733d21a54943f9f8b1542180a010518b9c89d2e9bd3b2040af91072a25c075555bf3b84ee9150146398eb7b223610ee451e7929a9772c0ec958ceaabf59f8586c9e9125d6c854aa5c6a153c0b7602a20a9fe35e09e7eb215712e0cc5f372e1ccd05572b62308bcdc663aeebf3fd0f0779c183fd10c31ddf7833116426eb1aaff0e39e6dd2b13af545a8e4605f7735263cc3e69c551d9452b3d02e45590980064828b8dbd150998808cf377beef7ece9c8f65c9735d2d1982354324ad60658f86e45d567e97d6d94f37511c4557c80a835f8f22f6893975eb7bcee925a0f3c650ba39ae8d5c3dee229e06f5177a55dda94e318a86f92e35f61c575f2a81d6ba6cd88d7cfc1590dd740fdd8964247d38be82351fde1bf9acd11c3af72d0e87d47ba70b2256f96b5df7cc87cf0f592cb0999a3f7d0abc2f77a46875f8f816a7dbb28da044b2d5faf0f131158467762211e0217ef687ed61046934d3d22bcfccbde5b2d777b8b6a26e03a16587bf70c323a15429e019e3f70765b5e3a755a18149776d9ae727926a6d414de794d7979b6ebdbcc4a947bfdf04045321dc74446d4c965c7df1aaf66bb2a80e4a05481b82f9bac78f545624ba0265a999ae10a48baaf813398df1e87c15efd1a68fe983ac067284b387cc56b326c74cc20ff686351d73b7b8cc5dd83bbe359a25ba49fcdbe25a291dbe4220d00efb0a3ae549d97d51c9596e391d1fed28a459c69aeb6af4c73cb3f7210d895248cdb0e43383c70453ed1456dc047672a0e49a6dccdccb5cd8e7615165e9fc69bfe087b66f92ebf271a6da2070cd957f6d4675ac10caff71f8435dc32d3955efcf2a879ebe83446f11bcee70ffad9585e4d71aef5fffeb7b12b931b4526956c08676b7a52f57a9ff02fababa720b915c8168f4621e288705a906d04484fb15a48fa81ed1a3adadffe1e351f2ac210c8539ae93246eb594c391271318254c62a68df9fc0e9e424f273e694b3d277609d18360237591f5385354a3c8b7010f9682810d31053b6383d683656088d915b3b2e390ce11f4bc6e23b100af318b2b28824a510978f73c03eaaf930570af8427e09cfc82a942704efa40d69ada87aa5e1cfd9ad62345ce443ded6337eeeea3068531ead0966fe67dd43229cf05a92eb812a1ca37b3eb8aa142ffd481ae73c2a0fdeffe7104bca2e4e0fd6bb2292be687e6bf59459a7a7bb0241e7f3b00e5be1f1a827259335c394e5873841f42f9b050cd6488995f299b7ddd44fbaeecea86f14a34839e85b579dae7313765114065f8383e9123f2006968dd65c319e0fa3d1c58bbf7c39d8bbfdb039b03cebded5da40949d885a225cf16a6d66777c65e9258f92b19ef48fc54698e57315819e74157b77f8b22b82882c11ee6e0a2d7c73fcdde01047481d5c545a4dbb1c140b59e995cf1a230c48bdf2292f4ec46b03109ffa1b8ea0035700f7f1a67422324e9d6959510a7784a494b4bae20e4e57050ae9236354cb252379e16db8f58fb362f132f2a18e95174e71aa2995644ac66597a492778cf806c04115b5e7912bca102464876d202b5c4da08d30d5217a7efe63bcadaadde390877f345c99f2d8e38198730e93e26bc670175c2cc153ca07244a097ccb145ceffefff96f89ca30aa4894056d84de6727eb96347cafc0e7a7db1e8e8354ae7df4dfe88e38183cd0a065c013fd9ca0e7f642b6eb25e28c77dd429c9ce6fd675bf2a719894e4eeb49cfc82071976a682b05fc009c24d77e2d77dc27697f3d4aebcb5ba0d175832f96145679731b841437927ba622a454db527d8f5c225b4286649b11050c603b9aef81ec12d150aa14488b8faa023494a5a4c321ca4ac6c176511eb9024bfff15f2999ef2ee0f666b5a3d9827b7c29c9331df9142df9a8ce35f3724b193aa2cc93a7b4308c8311630e7b01a06b90cf7357318d311211d0945d8bcc34826d0eaf10531e682b0517d38885cca9ba0ddb1b4c4967a4d3196983b7a87a03869c5bd8bda097975315ef234494151116431a5b8f9d4d15bd28a46a0703676426c02ed1a8f5f34c326f96cb13bd16e62fd27994db95fd4a4fc4410b8392e50333bcd5342401b90e3450eb0c0a24d92e86cbb32cd889f73f99390648ea9bd4d3a10f9e1d1721eb29826083c483e02c210043812e6b341cb5e81885f669da24d8525cf99910eec40d1d9493a3b12044ebb973cccc8c0628b4d8dee3d9cf052ccc63882c05deead0a8234d4603803b2a303ef4dc7a7323f89347d88988d4d4d961c047eb1e33baec33366189f34c1d302428af2d47ce3372a0048cccd9fb6a76457b63e0603d8c6dd0dc26af73448bcfd1ccd2618d727dff273dbc321da078fc8b69eb678d84b428514836ee278e49cf944328fa80832d4141b5d10b63f20e057d45d129dba8d0ef9d63d4823bc8d3b4500d3cdf88deef19ec18f00a06aa727dbfd537d12078e8f311b974ff0206d9c9167e3b5d2e4d0bf47892733093cde08910fdbb9b0c2a84483982f565eb33de93adb83b4fd63359f3d4f03ec97c64f22b9c3150acc217cbd6640d225a0c6d4eb7982ebcd84fb414da8627ec6aa09349664d01064d00b4eb46f299dae449e6e0a6539e0d0ab0242329c217904759a57afb36ed168c84a3ebc0d2c648cbb9e2645892a76eb4e99802a4ad70fe1949e156f8dd69eca013d3ec7a05947cfe0205a833569500ac7056d86bf486bb0aca5e3594e6f1fa05cd8894b12f341a887e7db678b378f969e001259714e508f5e7d61fd5ace043f35f33256d2ac3d896d3c029ba1c021c12dc9e1c321ccfa8b5e53e8eee04e64025baf765ce3d06ef6f6d20266878fed33d1b985b04d8c1d28f28edffe0f510effd69d5fc46aaf3fe15b27037a01f56cf1dc0a1aebe1f74fe62b0bac1bfe7218e27ac7018cc89dcb096335816df082d7614da1c51c0b59c99a4ea7f0bc997caf6002a38b017b2a3397529b2184683659da64da626bb07bb83bc061fbfd03a4978061407c9833fe239af9eaa4ccadd8257b8056d305b05a23ad65efb2db5e5326a7ab72ab6617bc636cfe632b5653efd3775b3d2af6c03792b421cd11bbde67512399ed494673c8d349393fe3bbcdc0cbd846562757495ef1d9241322d62b1f0b711c9e35373f1c982ce0cc8ef352ece0c892590584b242794349841914a1c0feaad1202b7c9486913f4caa008a0b9d1dbef61709222a0d6c3d5b5410adfaf8758a5f90baa9959794cce03e2ae8da16860ae63fc08df41e59bf057f8bcf5b99c18e360c66c28ed35d98160f19e8a33138f51e4a42d7ebd46bcfcf88eda54dcf6db773c2f00425e0f66d89a8f057d82a81f59d989ea4aad72faea68502901e6971d9fd92499c6af74f084cb03ce8c4e4a12f7c05ba43080b0ab123509fdc4812b6056107401644cdf25144662c7814dda64535e1fd7672bb02e00bfadc938419499e110b13840558751fa1f7bf79de0da0565ff539483a73575c596d4d9223c1921999df2815775996604a0a713dbe8d0d1c014c3660ef123ddc5f59821b240d526f70117a5e264016f5c57b1fd4c720ef3ff00dd83c35f69ca906a4d5b664f3e1960c37bdf7ecc71522ba529d2ca078a0fb2f437ac2818639bd356caa7cabab018c07011a9c202240506cd5010934575048471a92b772e05667153fb3165e3f6802395bd7b5ce03e280f1c0d93ce2af35054c94d748f3126d0c8607df522b5a2492c894524a2925194b02e501ee015cb9cbfd463299c65ce3cd1aceeb2ca467a4a5099211a351a33f305c3c7ac4a7c58a4891f2a840f17cda3941828d0d84253a1f7c45386400023760b0a0a595853561c9920a0fb8b822e4840eac8450182880e25585c08b8a011d951eefc027524911b3444165d932e0690b58801c5881d6a917714cc530350d1bd3f798acbe7add51fc9e7beebbdcfbe7659f7feebfeff2cf03107c040212fc044e55bfea89f779510abe82ac057f0106069f4186deef69b0fa561b1afc061c1c7c07beab7fd5e1c17fe0e103881013fe0411234894307182c21f51e193c0fa254c9cf82a7be31cd7d4d4ea5a022874067e99122446880801e283870e3e0e1b3464c09015f5e42460c08e27b9b36579923bb5cab952eb55a9542a715ca9f5aa54719a6badb736a65e1bfb9a2ed3659034fd21c009b7b1f5bd37947afc64ad91e5c52e3c3e4c39f069c0f7bfecbf702d6753a666eef69adf45fde4fddff65df49e65db76a7519c186322ac449104d8882d22b2842082a0f2c1cb03940e421f1787251bb434003314c160298b2deaf914c9e991804603763abcfb179416f460f5a90088c2a0098624248ac00882a30791ae28dd2a35286285a4a78401d7822e05517854aaae24d082002c8351c56004080cf4b1310d868c2cec00181b365fba68391eb95c4122b310a9249356a644292b9332ec522aa1702d974eb69430994c562467675a40b548b337d52395d0283923a539526bbb0158bba9a15d72b2a54d5283e463b496e869a86dd04ebb1540bb35d71a3d17212a7403846669aa3e7f3f6fcbdb1d34eb8716f487cf944e6a8aeaeba0747948f45d58b1bd539fb77210a7d1c02821aa356775879b3823772e639dda0207da3577cefdf7c68ccd609489aab857e17bf31f0a2a974b31e6bdfbce314e2a7ba971cceb3019f7ad070a38e1b37fa02de074fb389e8cf29fe723dfdb67de95c73a2695aa14121b7113a7c99fac67359371ad0b61eec44d38dcecf9c762ad43515665bd67d9b6fd3f1f6f3b79fb39fed99ffb007248bf3f7b8577ab5b6da75dfe3befbcf3ce9f69b7ee6edcee2ec4e7cd003bad7513e670293755ace39c73ee8d39e79c73ce39e79c73ce39e79c73ce3977cda50a4411806a070878720a0020c7e29a9856f5d6d374e5b78f5befbfffc6b5aa6a3e755b99784ec77afe8bd97baad44ff58c449881fb491e8e6de1c6c68d8b1977f992178985b8abc9323d96c252a9cf29d2f47b4f35f5c5947a9d54d465deb3dbbc68d779d39ceef3b6fd703888b7b010e3295f87895877755d6f1259dc1ba7be7bdcf6d7b057a06acc31e6bd73de99302e96e1fc728e8b62c6cd390fa6c2dc141c85a30e890123060c4ea36d8b339b75edbaae6ac62ad3e659f6f3b9d9502ede4a8682722628bfe2e9d5fdb9db70fc87c37ddc0f9e5e1c5e715518fb431bef9474e8b76e4056fdc215b95193dd239a7e0259d7ffdb4f956dbfde65b35b96eeb976542159ed6bfe8172f479f5c30a1e853c34c44bc36194a1d1878965137a5618e32adcf6bfdb5d2ea2a8cfe18c41cc6182c02a7a96db0e58c25d17b33003750e0ef594ad89daeb34e57f7bbe539f7fc01f1b13ad70cbcc3354f3adbd854cde4709fa3f14542eddb92c23339b8bde944523d93d5eb1e48fe3dbe55fcdefd038c67fcbfabebc676d4cf417e45c6ad76bd6bafc3baff222ea2ec35d44d1fcb358fecc2da658f1a27989a2285aa65cdebdd9b4f10e4ef516b518f6d9a81ab546af0e62b5a735dba2f9a32d8ae2bfd280b13e5535d46b1445b5465114fdb8e700d0c5c4fd45fdfa72fb5d6ee6edd41dcbb62dbe3c5e2edeef3dcbdedfc2aa8a33edaaddb5fbbc6d3f200ee61b597743c60f6d4cf1549f3063585898312ccc58a64c18ada6a13ceed6ddc228aa5ed47975dce03a04eb9864b63b3a9780dbebde1af7ab6f92a3dda9d67e9e8a537c76b5e4957d8cdc59d5e8c5c625f376cbaeb26955c75435812436c0eafb5300dd939d7b1fa5a56efee3264ed49bce8ec34d346713efbc7b8c753c26934a2533b7b253e8bfcf23c61863ce59cf71fdf69f5428fc95968f39e77cf4f9c9fedae017ea2950b8d9a3d66be79aa99e86f7e5ffdb96f5e85973c92c53a2480cf92a5dd3fdc45f949e3bd4afe2afe7f3f9cc37ce39ee63de94e624f2989169d2e7934a66c6cac0b60daf4d19f7deb81f77cf479d73b2779d06dd2cc5d3c4997699751c5e44428df4309113028e913b4822981c21abb5a6838f90756631eb614afea98befe55cc094cd0911ce18b37c7cd63907407abdb5c69dc179c94541e2ad2363001ca54e264b7c5331ea7a557ccba9f6bb73deb7d769be61756542ef57f1cdebc5d713795a7b9d55557baf0705a487501ac6b7e133549e316b63d6d5e790143448938c18ffc84985785768995453442c1091246b5face0291b634951ea244a1f0958ea20d994f959f2e262b2058f9791fe2852954379bcd99b6571c8174551c29154ea661e9d25e243478e1fa621d3cd865d06451906775b9b93466b047535492e654d0a56ec4588c8ae7e060f14202544cb353c8d195f268b9a27479e20e16b8d38163f1e8a999b4b2483a72bce21254225bfa817699aa6dffbd47b2d4135a395efc8424becaab1d0325e07c12fad319f8a8b7a21e42a325edfc78e1679a569b322454bed831225992f49890c2d4a718819084e71f826cb1a4b52beccd0d08103ecb0bb0fad7f3ca2041a04c5a325c6511ddfba8ef3979ca6b95c13d485ba3ac1e1c3a5c0dea62aad9b771caeee43afd7ebf5ae8aabf4057fcf79f67b63efb7ce7a976e4f82eff6dee5d87b7badd7a83fa3befc3381475c5274e7bd0f4745c5faa8ae94313c2cbccb19ac2e060c5a069606827ff8e881f2b85bbe65b1b2bab9e7e9dfb20b7c3a58449bbcffdb9665f965d9ababcb2fe660ac6fe26b4307e72df8675b7e25e1de8f96295124c67280eee969df7df77de59c1f098c53a8048c388ca400e3d600101487e3489a65490c824e29a63da424cbc4db8943835938922621942121620c5002030000001020080c08cd086d003f307d16e0c97d697c4b31fc250923b45f781d6237b8aa86044ed6ffa9bc116d10f0a6e39b8dc9acbf6e4a7ae05c88748bac71270ff57f6d3298e50ecd26f52436fdd8339f0a35912e44c4179d4821fbe97e0d2d8f0b3a21910c53fecced5ce3aa2f87a1da2846b7b26c64d469b58724dbfae0cb6469d74dd9c1887aecc0cbb469d54dd8a32d4e194bb87d4a10412b078ea78ba1da6bcd634b8665c7edb53bd065d05014ad5edb9e488f9cebcb49e36ecd1f7764c933b3129dc70d766e7d1617f6afa10f696044623080511233d008fc00fa09a599a421d450c6107e0660e2c146cadc4d64cb5d50eee5b7811ea6e84dd17c10ca928f6d4809ab7757a5a83a19a78398585fefb05d03b0cdf16286948c048f07eec44a2774b32ab6b14d89f2ee8702f3810452d8e0c68d1c61d921d2cafa4bcc15f23d242a081fc88f05aed23e68f55ea2383406516638d732ee3d68b2c0479620dd4c1c108e344caa7e07df24d0a4efaee467c8cef90771752a5deca60fe0a1377d2045a226b6dc5eedf2060000a9bd5feb337dae555a374cb9920760cb0d36efbf10df1b2f7ab3fcdaef3df48fd6ba80958c5f44e12c7469d14be28c72df4090b6059811f8354b2f56a98fa028c566516b5248543f1d866b377ad32496c983d211f00aea821a0610729d97bb901fcdd1976d2bae1bf36f58303b6b93c9e56e0b3acf4333de0065f09295842105fb81b6407551053337cb65e022508bd615040268152fa0a2975c9d158f4c82f83fa6a60e94103d1ff190869eab5294828e3c39fdca871cdc6791452c544e46208e1c61e248d7c926ac83515169e48101b12922f577a6c519c5cf4b52026f6bcb741578f9785e70ed45aef7966eac6d6123333c471708964c310aeb87caa454fbc4aaad378da61ec78a2e6ec0e355624980a1546ea77bae1713a47d605c8b9d7ff4dc849fcaaebcbf19206409a67744c8575aa29322f0608df6a395d614c3604cd830dbe3f2a9f5cc92657fb0fe5ba429eccf459a363425869a9baaad20ca0a02d1afeb0f0a67b12bafb91f2ef976a162ab74b54caa5b8a88597c216f03be703b6ee9bee392fcde3ad580736ec75a7dfc73d50e5c2513ef86f72ec1e93e48a0693df442108fab8060fa0e06781674726cfc87edad9b78496c2902c2e4f886e5aa3f02eb320a3d4f3dbb1d725ab8cbf5c3ea4f637cb6dba9fe2bd80460a9a9dacf7f832207309368e72e4633a0ae546250c773ef63af2e261325fa11b79dc80388981314079230699a926f5d0a63aa85f28b60f1941288912e49e51f79f6c04e0031bdcdfe3091d20ac96c5ba9ec0f13c313461775115a295996402d5873e079998dda11bbcd15fc94fff843400992b2a6e583dc027b0465d866139e15e6e07aeee0c4183a6e168710716b08d0f909b96de144b0802d9680f92188b7f0a2642f1f0d7bea1b99ed10b86de5c7000b2adcf56347f2c0e5c54ca94f88cb9e416c32289905a831db73202b34d76940745074a68bd20001011a725b3ad39a2b6bc41c6b7827eb439f325f2a72be6f865046351f99b976dc5b5c0f91f9f4ab831245d99d32a67ffd11fa5cf4899870a6917e4cc37d2eaa8b456889cc0252b6d4c2b9513a1f67b455c650cec92ce35e30e751d258681a5655a3a02137d89a5ebf45683825ac32d9e9bf38c20a71d142de662792abbf2bbc9703ce1e82508e972fe9390a61e599d12b86f4686190aafe908feddd31c181de238bbc394326f92cd973e7105d78eb221892856252b5dd4195b7fd6b8f2b2f969be35bae0da98360212c51f99f106ec536a20657a576fab97837777455152f2bc8665b64424304e60474b9702e7b56851323df10b351e026475fd3b71da9f925ed2b6671857d2bed9bb408ed464bdc1bfd5726c66e574aec1601fb4b5947b9e8d12a314460dd59bd74a77dd6d085ff9d585af5e1938cd12d39aec0848db68015c2c2f133178603fbb7e0753d832c68138896b4e50e11ac2bcf122a7d1d28c475c64ea9d9644ea8a032a0f0285ac478c987f81a2149dbe314e5ae2150560a623fcffea29873d6e09fcb19d3bebc02bbb0f1da451b4386d66e84f94e1ab5cfae09f167155454423fb8a528a182c3356b1676ab5bb716accdd15fa592ce85306b6dbbe2a8367c222ec6094d652cccb7cffa64c7c7a63573658de5cc153a8642b61ff410a9cae576d45bbd152ae63cbd40bc970d7bfdd66163c6943562c275793421813cbe4f64af0d82e9519ba8a653e2e25069eb2312cb80bf2814c71f1f0e1d7f9fc3706e21d6125e2329f4b7d5140bf3de6f131a86f99f5713b6f8c070506a5cd3d25d942ebb6c5767e4deb9aa663a9bf14e6def5c6c7090f685e7c6179666772bf6b9951c16c0bb564d4f8b6fc2893915e0e082640538d1de51a48f46a11df0b0a22ca0f9005798e015d68a66b23eb0096c9a2b2bd5713fe990440b6887eca39bcb5b81e886a60ca8c582962542c870f8033cc80246d7ad3aa913f6613ea825470585698c76fd721d27c340fc2de23eab5bd3f8d42a5e3207be8b57600f0660beab321fcba22c5ca639ceb6d7f078563c3f1b3314e72e5bbbcc433610f0fbebe1644a42e4a3dbe2bccb558a5609d4e3ef1dffd8804ecd1d9de98e6277502605f830c3c0ae635d022156990c31f44e4d58a9f79f089c7d68667e21c68d2c0a33cc6272d39ea0626cb13b277563b8000465451247d9acc398260bc7b70c97c80ca5d0f7a3f97231c03358cf572af5ea24af28d45d09d12e8517f971eb74c2cca3004f95a7401195550ebb2675e32629aef0d747340c2dadbb9316173d5c595f9e050dc273bc65b8d496d12370c9a5ec6178502c78aaa91bb22c960195d66a9b8172431048080bbf3796c4095979f01edfa02192541cc4bf31286aa0275be0059d5666ecc2e8c28983440e3ee43d9c787f748c13bce95bfa7d76d614e0d56b62cf8253cfb26fb5e03048445503b0115f60b112aeb8ea2b00f0a70807255a9cf6f89a7faaaf99b976ae0ffcbe344d1ac7c0c79aa4abe0be334e8954a4a4f9c37edd2048c82c1d57ceacda13ee95b2b4d345a874e3a8741b315691646fcde98535604cc0a3dd8b65d87367a5e0fb743fb5eb9afe842812dd8bf133a8f43085ce5b4fe591e86bd30a0290cbe41b8d95ce846f29207048297eaf37d66869733b439961673df254cf8d99986079a30cd8e90050797575244d921d489d53a5a98218047dec80815d2ce0ef709d3286a15d2bfa6c421983a00dcad249683c82779ccf996c7daa4d5d52f146118bdfae657b9d5fde474da1e25e74ccae8888692cbec388fcac80c20223b9c32f4670cf61b2f19e4648b16992e617ee85fd40d0fa13f2c9240f9fc2a0ddb278b39abaec5cc75d786178552e4c73882d58e06d062f4ac68aedc42ad541febe1b14e5acb68b2b5f9ed2d00d319d8aa9779ba3962710828bea8af5200e884c147643567d818616db62df4cade38723d880c2ee771b5c88141467cfa7b9d65113dec9fa16b27f1c172c286df938b8811687f63a8112e89347333c8d6cd748abc47b361184ed903647d075286a476af4be78d8f9c837a734872bb4d5596288377f510e38830f57985ed60a3a7869d2c5cd51a90959b40ac42c03b47ba9dc6bd20d5cf56aa3574bd6cb4c6f0b7a4ba51737cc3762ac457a0b6c2e2cac55ed8c9a696c87973d7c037d0b75d1e3b9ebfda7c2f45a78d35df4c9cc3b3427bd013fe233e05e782d96672b4592c66afee462fec69dd5655809d86647192a79912c4014ad08d55265d5781a93fbb914376594a615735729ff6d0e644981294821a418390ab17aa62d24191605cd766dfc10b0b49d284846fb409ac2e126675de3ceb0fbcfa524533691995e671ebc926ee8b6e1fb0588e0368fa42d8aa7d2f0a6d0b527a0b66d6d0c10b1fde0e7e54596bfd34cb5151372641706d068030d080fc07aa0a400e0ed40dfe6a635e2802f065a921c3d7c4902d7da7b3c84e2ee9b4deae2414e18151b21ec196e6b0a4e47d62f75f2a49400aee3b17f948b881ada6f535ef14a7a850e2604ff485495dc0364b00e42f2b51b9951dec88fb3c7a1ca52dd9348396c01aaaf355b98328a9236e1898a137c2b74caa47d98f3dd12ffa8083b2bef179b6cc559d7965fdb0aeba0693a43502d0642732db748db095f752cf1a46760db448ac9d5bf88601c58c869ccf51bd154bd0e96be19f69f528458fa1184bd72e6d435cda782bb3e71be2bdef32e8b2fcd71d101ee73b3b072557fbf73edaab8492c329685a27c0d855c7981cf472195e90689aee46d7ea9ac494938a1e44adab45c2cd9153e03216947020a7255f398488f447b536490fb477af4e90f68348a41e3e01678aec9a5f7c7075eb88755423c91f02651ec8cbf3c9d801c221703912838259304688169805a045e68b0a10795fa236825b02a506aff0a81ff08651667dc20b04c6463f8fface9c43f3c434cca2e4ddcc8fd296698ca32713610ed3c2fe8a45091ea2ea3d9c1934dcd686d59565676a58a070f30414de3fe82ef26a1bfd2f2acfaba4b828470194739f7a75a5e71b68d7f943937137c67a7a3fcf8568e73bd1d43922c245440e4eeaedf423bcc327f4f618ee435fe223698d38395d4dba12f7ab6d7f568ede1e6f6bf602c40b1d4d717cb9c18eea8ee13d13fdefc6b08f7ad8e8e48b68d62936b81024e4bd0472e14185aa9b71eb3bda70bdacef1d016e6c024caa33642b99f569bfd524d0e8c36aee24a28243a6a0576571c7a637400ff8e4fb142e381e19e95cd6068b49b28c9dddeb3f0d95250401e29665aeb6a02860630b079772259ae66276edddec94233ebfc84cd54b2a551c13c1b7208ef2985a81bf8466b7806360206912eccce09ec1e452dc277863f1b079dcb262cfcac5426a373b9ee60feb9a7b3c880cc8707c0c91ec1dd21f436b88c83e30ea716cd5adf98d065e3c13acaf1391f0934552a0e37504831a418fdd227c43d36e2da8fe30b9e2c2d3777b18152508075ba70c1c858ab608251e97493e5b5bb16496134018d420a84337942893388ae3de4464ebf12d78cb85e1697e37132e49d70a6041a99ae43cfead6b4a26b5dac6b908a9970c9c25313e6053c946e94cf69d491f28e81bb9bb5d9249778a2c86702d046ef5ac669093a1137f06eb42ddf322da6da41f149fd3fe7f472592628059a8f1409f02fac568374773f386cc7079f71e4e1a816844e6a5aeb8d0c4d9fd1213031a8099d8670d62e23256fb16fa6b43e8860176b15fa3c49c30f9efbe2a54c9facbddb86e37f56e150a73b0c264161c7914ca558d2bc8da140f511202b1a437105657d1a5937caf317d1aa6843026a25c85aa1557b79c6393b6994866c5a736362ecd7dadd60c98ffb2dabbace21beb9a92d457e7dda4dad55836810e63c9299e0a0f0ec105b657e52988b245e0c04e0491dca7603cb4608ad0f91e909c0412df22f12c88f9c6413e335c55b4114cbc4a403c8839e0d42ec8e6436e5f992578d032a60e7ae0ef25682e724d486c120fbb23d1de17e97d26eb3c179660b6e55a82c4dfe5736a45be48ac54bd823e5005f680b1cf0f7b6439608f00df0d7fcc06e9779182bd71cdc0b04747766b1be566e2579e51d1a8e2d3246e01283dc964dc769ce356c0c30f569c4a53529a71e66e9df182151e974f891bf27cd3060567cc9ed649f870a6a889569d2825d63660a43b5acb2db9c34829d6a588d94879b432141c9372656f113422dc3ce51da96667302055e968cea91f933a7227313a2ba6224fcb42f791dc39c95903434ed397de9dc3164c5104854d8f76738d8e87c7f6e29bd3053d380eddae629f72b50bc776d6b2b4fce0352b8225036054c3470d1633934b952099d3c8185201c81aad6399a71345d9702d9651b58c17af27ccd3c47a3cffe88a6467f58ecc04dd78c64f23646be3c4a27441ae27773ecf2bfae14c0f8ec11eea4433a09fe5c831d11f475128c3bd5ed267cadd7d052db4c6e62529cee887db3adf82ec369c7d674bfd8aabfebc9781d3521be57661917f12c644a41bb50297b349baa3a6191de3f110662e4d5c1d6ac5fce9d956c9286e1ea68096a94f8e645fcd0460317eaff5bbba5a20626cfb043a018b3902864dfa7c148e28bc8c8afbd1106a5596b017abb852ceef5407f598e91dbed084930e86dee419354480283648eed921f31f876fe3c44127422d1e98edbfb2841a96a046d890f0e197c1052178879b3b09cfa5465551c4b22041b10609393cb0d40ef3111da1570a29d975106cda726cd0190d867fe104a88e4c1c48906495581be07e9c987b05d8a061825e9a85cb19adb10802b17c82bed01305be903b7201751af80cc810f87095a7c82c41bd803ced062bd846aa14c8172d218a569a00c30432fe3c9d75def48a4d3dd1d795de78ca6404d0d2099687771d1415fa7d24d6cd18b10b46c6983438612fefbbf4afb76b3002c2106292c3c972e0111701fd0a503fc3b4ed8ca0cd2150e8d43b4a5c44f0821053d216b214b13861c13841a2de02546fe26384d0b0e21b3bf5135a84e61adf9650913e4ba096f9fbf13a28801fa813851cd0a76522a7dd1433bc4c05ec06c84eeadb809c8ee0db0bf54a9345fa65ba72795841dcff269d4735f480bb0ce8c4a1ffc0fa25b5f60a46a68b5de23b0fc9aae2f13a5bee72847147526f753cd14d1dd9ffa2ac7dbaac16cddb42043e2ba2cea9945f92302e6b6b753d9ba33673e9e41c01629de36dec81bca92cdfa48f7e471a8d413c1565f0d7faf4d0324037a498f88649e2677cde669d6ec875410ac0fb5e5028cc05ab76cc913cd252c5db2dec660f459d7d59cb84923d62a9d1b702f777417e143827d389310e16004e750ada9831db3d9d63f94f35e840830ea961f97078065d72b2304fb01649b50f4dd2a31ee84b04b2dca86ec32e755c4ef5523e7f6c64b5c2e1a723ddf76860c763fd157326e835518056042adfb9b1d626417e397cb0c8f848e86325c08ee7d00e66904a0cf0df87d804be5538a2efb230c8e2abed4940ea017e89e14e7bc234403c49782613309e1fd51d4504d01bf801249f6b07c0991e55643b8d403af91aec786306f1b0ac8007be8012ceca03b57ecb03bdafe6e852084a1091158b8fbe1a7d064c3935d01b97ac0a7478193edc1ef31b52d8e202b91eb1ef8ec1040d83e15c0a941ad13529bb08c2e00f8a1304610e10996bf80fda0ae834064c680b0ee25a0c80a0b552660228c561ac1d98a807bc06509eb58010c84572886f1d58132d02320410354c8252ed760d60869718e7b6c60a91ac1fa2ca11b02700d58ce1293336065d5e49eb0d5a3c38750e282754430a19be6707bc1b6f9aa5ae641ca2bfa7721b636a00949a19a3dbc250fd43f023eb2a8ad60f35f0084555550f6ebc0e02a7e66ec5b476e95a96b1b4978e8d29c7fd61b64c7f5d47c7c006fde8713f12c2d58f54ed4790170788c35cc5bdc59106d3740ff68d89a9711d4e9294d74e2d6a87333f6f03b7300d0dafec7c38227327e6758dac6ea1d714ac60444cd3c5702c015ad1860f80e05c15a4cf58f33f12fc1012301619ca3536e4b1114a5a4d5d36fde1de7d1367c76b7d4da39db0264c42b0f2c3f402e61faa53e6c72ae6ea39fb336fa3cc1ad6f2669f2678a43bfa990c1af4c2d7ed7e8f0cf1a1b7db2e0d6379335f1d3caa1df5348f02d5bb0a9b2da4e0ce3d35c050f5c06c04a4fc0bef4fd353a09c6d17df4d3c4b64d6d58650ee4e00ea46e0fa4fe0fa46e1068be341447d275a725d765fc912aab989b3da22e02d850cccb8f6b5c74d9a59ead835a8bc11ef4f45f01d98f4168ce6597549241150a5a6d17fd682624730e28710616720e10b90e90b8da7a06f95dfeda24eceb9f6dee152dfc545b0cdb2d51b407d7a9bfc66f07741ac341e99a94cc2822b385f168514802418dcc7443effc867dfa6f99b39421de9c1862776ea459d3b09c83ffac90f93e110ef71705e5c34290d786760b03ca18be8bfa2c64c209cd72ef065fd52a956d3aaaeec09c9ff23cd1ba29ca9cb6db4f3be2284d62cb7ab9bf5442e6014489087741f41b2150a33f4b9226fbd87801ea70a5184e48adabc67a87b0562ec83aada5ca2da73087469fa64c98c97697f292ac9c2214025a24fd89ed4a7ea64a1dcc3d899a50f71e91fb2c6e7b9a03a1007b166a880ef87494f0529a7d5c272bf229ee105ebca2514e92ff07525804511870e97248d70280aa0ea0160dc1b9408fc9415d0a04a61a9461912e4e36c246c2e01c8c570b6d16abf2000ee58243db441a15c4e8ea86b2103565d1a1cb215d1b002a1a81058570ae50121816de72e0838cf981ceaa2b9a9cfbe35fb36101e9440f26559f86425610c1c91aa65326bbcb2c811e944af9199300e2a026466d2929ed37e2f841872cce620aba894d5a19bdfd21be2a05e3ccbd5fc7b4e87c7c26c48515aaa36ead73f63c4d7e899bbf402b99ae6946804afd996190652006e63b542ec8d863848e1f4281fa190d2d6ae8b40fa6d0244db629bf7704627c9d232be274b3316e8a6b90bf25a5c6c83511814361ffa7b086d98b2c4fcf828305ae1b618c5b091a9d46979fae9aeb4538475e301fd982e304f4dd4da3c0728d3d305d8cbce9dcb56d4f8040def93b746c19ebef87dbddaa3236b9e13d5bc9d8ae59cf7df898988aaa7b7fcd1b4a30a46dde7088c928fe53ac592c0a016a94881f46806c4d071d344e30380739665a13042842281887481282107e3e03c972798ed51dc5cae6304cf739cca5fa43206dc80bbe94614a1fbb020db68dd8645bdb5b6e29659252640bfa01f501cc01ff9ffb1f6071a786ca58bc9c73ce58390ba8bbd3e2b4d61a4aeb002eaab3eef63ef7164710dc8100c6cd6b9b6a8720c7913fcafb8783658e57043a3e840fd930ab7dee75bfb4f43a3ef739fea29eb5f2de7befbd2f93d1accacfbdc58faffe6ff2546c58efbfbdb529e49b88d6c064a3bfef6c6f2e83da10ad347b07f7b6b9b1b5b1b1b15dd9d6588da368abeaa24d4d6c035d5b1aa0bdfbff826a36ce7368a8c98686d6bb8d8a14129a11b89d3dc43dcf36653b6333632b63236393b28d81b2db21f821087fc5e36a361fb6f56c626c616c606c5f1c84cf0b713fe3f5dd9dd90b343dbd08ef01a7a6c0baa3c09c284e50296abbccc8d9b1c4298d121b3b5b6cda54f90265060e85abe4e06e2b292fbe526def369cda4d54e0f640759677697be8d13bf2440913a61a6926fc3e00515ae324480dd9193bbc5ddae965112e5790a1e970ca1916eb08cd6d8a31a94166aa4719ad1219f8d498f3e3c4538fe8d9642231ccbd7279f7e78af0004e8c3d4b448cd083e352e141d2d26da5b8b25421158f17f17e47564d8743d5e18021ef37a68d22c58d8a6bea89166447b7e2e556a2145c538668b4eed2d273719a96d5bab7fcff247cf1bdfdf60eb749ebc25ee2d01e6261b769f7210d40724fb813e126bc74e62d974b0f2325d9daddd1c5c9595d33f7c683e5876118ee5de690afc081447a83fbf74124c024f1d93d4e7cb1fe17b755c271d7be7a6c8489650d4d259188f390a876c463fb96f6313fec9a6b5eff3a7387bd6b4c1d3970dcc885a269437cc160a2598346df7bef18086e20a124a020194132d9cc9461c6183040082764c2309bcc17a60b93c95c325b183860b230956ca2799a4646a2b9c25491c244619e60d0a0c16def1fd9cadce8746689a428098c4c224c5956562b7a4a68de67652524c3e7f365f5f0871ec7d28343f3f9d088a9f2f97c55621dab57350563aa72caaabae2f3f9b258981f845c104c5958bd18380bab2724c9e76be33349542dad304798224c24338409c2fc60c7c4fdf1d32549a7dbf2f5112182cf1e3d5a79f0dcb19355a747076b8e9c383a9deec89f0decd07d92c0c80c71365c39d42d7f37f51c4d57ba5cf7f226bc094739fab8dfd56ca9ab771aadbcdd6ed55ea76a2ffeac37c8c31917c9d7cb60640b2e72e1af2f392c6804eab11819eb40a36d0a836032b2b209655549685685339124076cf1f343918b213fcff3bfe9974e7e5e3f2ed7ad18cbaa6d43dbe0d664a0745068bf9c4037a7dbc5fea66f8cb929b11e0a051dddbd4110e46229eecd410eeeaa33a7c2afe49c7965461ecfe39671cba865d4c2b7e49107d4eb48ff12101dba1b7709db0f828a725530acfb82c6e16c0d87e3b85a8dea9e160aeb16e17befbd17772f819bcb3d0f0b638c31c642bcdccdfd07587370ffceb369a987976c2f188caf175c6b8f1a85a6b7de3f334e7ae7355be7df785fc4baae7a8375570d563dc14090c79e9c2eb55ea3ed85a177de3ffdcbbf206a30c618638c31c618a3288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288a725c2591eed69bc72e778eefdee08b2f06abbc9cf75e1c030ad2f8bac43e8e1526be64a5ad207b8db372267b89b097859718fe80fe86d6751610928bfeed829ab99d2ad6bdaf8223ddbbe67fcec8e980e06ffaf3b5a9ef8b3d2fe113639d63bdece7196e45510305e5899326a810264b72ce5949d65ae7016f6a5a3e7c24f921c198c79127234588ec8608090204632f3f7c38e97af8f08171ce18631fb71db6a4096eb7d5355eb5b578121899b6cb2f2f95ecfae79694b8bd386b2a71286d9f8448ceeeadf7924761966912b42e08178335680391608c93bc8764388ea2087bc148b1f6e7f512c51106ebe2388e6248ce6c701c5106f98e83bb263d52831823baab627c2445fbac5fe732d7563a1767fd563a7f3ae6ae621d0489f896cdafe4a21ca7c26b03db596f9cb6ca9273565737ebc73aa79fe26bad915a6badb5d65a6badd6de8bf17fce5a6f1b1bb40172dcec0abf3bffeff39190b80d6ec3951f4512d2f9488f740312a4689cff330637b676bb30e784a13927e40082b98a65a1ee79f16eebad1f4b679d7937973f3feff1e36b71f8e25b77d694b3f786d45e2b9a59186330ac0dcafa674f908db4b9b197dcdbfe34e5f46c7b1763ae5bf698eb16d582a4f4203204445c8b9543fd8a08f6e71526d2e5ecf7fe3933ce9f18e3a11db437e164fdbb5e4a808a8aaa92737d82dae9747c488f0b566fc7c55fd2feeddf6eb4db172072fb12c4833fe3185646e0f36a2ffedf679087da2586a1122806182e12adc5bdf786f289596118865b872fd84b1cc5abcf5a07f2a8616232d1549b85c0c7d40675ceb5cdebb658098c4c2c54b6562d15dc19ac07b6b0ec6c1f44ce58df8b6b650126e3c740e138e679e5c9771cc5909ca9c81adc15874b5a00e54354140d7fc6f9a9e0a4d1f9a5d2c4fa539aaa035bb9345259eaa584a4699aa6699aa6699aa6699aa6699aa6699aa6699aa6699aa6699af2d994ac0f6ce947f18403672cfdc5a7afd6883876d82be49563094110e4e0ee52a314ece54694e2f67398b92a43466acc2fcde2eb8921328473720a2305a6d6035b5f785eba70d9a2250b962bb582b152258aca1427275d6b757ade5b99d5e638ac857c57f04302233308081e6690ab59685e915746de1b04449231b29323699b7ee451685e8522493af98c91a8d44cb94c15005000c368004051144993188651541160bc7714210603178d05118a0586c3237138141a8342e1305000120082603030240683015006908238adb6035d9222eac7a4b1a18e48970f80196e01caf699e03386cc1ef4a77510b67ab18196e80606d7dd15cfbe5212adc49aa37509474fefb40b80b3aa366955658fe9bbf40f5e59e0722aabd8c6396b7a95081d048bca46b796e7117dc6682bd5f3c94e8b49dff4552301395a54df42fe1855dc2599219e0cd47b06797ca401c29aa89e8af2621e3010214f836859d0c8b50aaf5a0c2b1fcc2876231b9ccce465f7b01f454761e298c867ba4168b93c52b635e041816414a6cf017ba83acb7251224b3420b0d44e0fd14d11feae118f992c1504045c6bacdc95a0acce56a4d8c372147cf5347bca05a2427fbac1ca674fb72f75a36d696dcac083ef1aeed2b6182fbac66f17c51d7de245b6da29f2564b8f2ff4db994817a24006240c062a44b2ae50d27eba8a633dc55d6808915320e6cd8dc0a3e7ff7dfb413788673b5c58f7b1a92fc6861637a5f06c279cb073330ced8f3f7b68b8ff4f9d5b586ba559a7cc674c12b960f780c079f2d131a28ef9fcbb6b6782b76b47745d205326341bf1362419aa21dbb14efa8f449da3edb48fc54d8a378b1098b7851aa62261db0efba771758b1276b2156b9169afa338925be1509eaf76bc04cead722de70a457420eb1490260fc1ed2c4958ca0b32703b5b685a16ed4e2032b4eec8b20ffcdf76e6d5e6f978804ab7d32a268f9327cc0d8a76acb2d89dd13fd78e18d2edd093f9d1ed4ce84b877542b6c97a2042084ff19b3b210249def2cd0a7220a2153494d64865f4e40c057a2ff39ad1ed3c1b15145cc36a1b90b703895b9b3ae6a64d9d3852d65f98aad2be9d286b58e7064d89e4bfa37f3b0a64557442a796bf9da23b543db823a890744188b86341c57ea2074e98c69d4223e1875e8b1b8f4c62768522231720828fa308740c305cc67f60117c423d66eb2d6472357aa8c474818f7fbfe624dd2052064212efd77fc39528249a005e9c47d87f0bf690cc897793cc9c3cacbf3174631240134543e873067bd32af13193b0fd91075081931bb8db9da311313d8bc920b36965a00e2c419c6853ed1ea9ab0263ac8b982fbd24871ec05ec18b6b7bace471e3a59ac74ab6400f8c7fe1c1b6b23cdc4d594a2cea4d5baaf96f028b79c46162d6d8a399195d4ebbc1e07a34f390f1d9864db991e8ef0d2af78318474e0fe195aa324b13749d8b18632117f414f929deba7e6428a707fe58d0e3e3811b0b0f3100c624aee1e0113910b9f5eb1b2bd386b896a1025c031f66038b68710c0f395370d8818db67da24740cb2ff8aa789c3d7eea7898215bc759135f89889e192cdefcc97ef2895db6f33beef2f026cf0fddbdc35f2762c154e8ad4ec7317efca2771df50eeacafa559a64b09c82c050d4aa82f52bb46dcaa66c3775d4f5e14dfeb01645d74ef4c74763ed63694910e00a0ab77510bd3b56318cc01c5285cf9b6b1c496693df00a12955fdc835208ff068920527957f7c7d0d1ed9522d11f9ea43d1c6c8db4cb28f4575def8346149cd5991be0fb18326a7b0baa4ee67c12bb8784aa59d2d2fa9b0877400c19c7d019dae80efd1a9fc1d48fa522ad57a57fcf6caf72272f5c55465b8612aef918da1674466f792568324150b7f8a98d4d506b137651e9106fa67437042b543004e6ceab6e94d8f9dd68206fc6e24e273c926cde8486ac5ebec91a43eae00b8102abdc8e25133119455b5b94bce63dafb81d8359b4ea19dedb17c3a9cc8f7170d234e84bff0ca174ca102cbd94937b0564ee16d0eeb992c317d43c2cc6e90e54b7691069e8459f46b89479154476fba396cdccbb9a3e1944ed7608aacede247e537680b091b42df561193d611cb2d46722bc2774923d8bcb38344699ce840dfa938bb44722b957fa1f5e0336109b72be5725d16a15ec3d98dd119817f391344be1b3d5e8f2777aed8b162e7cad29179c3870f9f3edd13cf9c3972e44c296d66ce98310372d8b4313b3567e84b07b8f3696a11c1409068967e88b5da72bbed7e72acc653fb5ffb50c078c1085f7ebd1cfce621a20b59e15b3c8c0011aece1a834dae043a46fd374c91871787059b778c913bbf254e9c182daa7ef3a9ff91bf38fb3c53155507809f3082797be4d1c2cb0425bb760cd0bbc888dfd0e82332a8d543b080a762e98000a8304841e6fd1f43630d2917da44a706036618a8f862286a22c12f9ee88cc8cdf5712a341114ddb6f7dd30a858df563471cf9a6a5a5b5aba18aa7a3b148b64a409df3ce51120b3ebe623221a9e76f39427aa67dd464d9334078bed6432bc81507634095914febac353b18723b059d07c2c3b550e3dc25393576496c300acbb89062e00c40166bd1fb0a62690c80025357e1f6824d724345919d97318f92aee800f652febebcc47223c86a43ca1aaf122a70310d802e9e98a074168f77ce8d1808508559b1fad3eed9e932e4ba81a0c1306f7235d9f659b0f0a554d915d052989b0408839eb6da02b541dea501440522ee21d9cb0548ebaf67df206ae08a7af6724149628eb81fa4db91e27c4034f2899e176b29f5a5aec382c5519666590900ae5745fb0f194407034040e605de8520b48d8ff9be3f6f740a1d65315795042b18942d9a62a2a4c45637614f31128c6d7db6c0e1afebc4ec894b7ac5301322d4d0147fccf679115d7f03772b6837920f42801a31d94022333cd4b820f0e7d0638c145231cf4082243c25c45f8f3784b8f3f8a7803dd3727cd8538e0995b0c99161e78e60dca70da7edadc53361a33025a366669ec4a6e0c3668ca39043d5c58a140cc76915c998baedef65f26cb383511f8df0bcfc704b66d00166598ed3df39ebd675e33afb9ff8f9f3f7efcf8f9f3d7f1cc992347ce9ce9c9e68c1933664cca1c1b366d98013470e244ddcf9ed4c543dd9d530d99dce638a309c0daed2a0584613a2e7a54874e82cc39cb425fa6f9dd48403cd1abf17f8319463a8b72fa8f7a46671de3096f3a125cb7d1d184edfb86bc1e5dde9a4e2a10a1c88ee3736a3b7da19be145b0f88f153e2de01ba81a285eedbd1603040d644cd664c9540c295a028be4e5a903fb18021aa19818b8725a71eb1681cc12c1c002bc8cc37c0454485432dc4d06682db149d2ddc11993157bdd62ea8b273ff3cb08758e6caf5a3f0ab2f8e03909e66936822960813fd4b88dbe689305716e53f7f18b312adad56e932df82c1f984bd03a5d78c6b8e9a7534c79facefe3ad568eebe9d459a40d2b4dbbb59ff57677e586658aa2c9a3c98395dc9a09168e8929ea4b034fd4fa9db2f6bb644a3bad583f865bd1c39a44add814a8da4972a42798b0be99f9cc851c80b67ac84d001961d10420d99f1e8dca25bf3d796153abc54aad0ca52812229e48d288fe1172c4f1e467ba0b2c7c0ccf9ca634d437c82d6eb2163639e227cf5ad8be22d086f522300c3c35bc7d5b76cec29951aef84244c2695fafc31cd67ed887aad16248ac43428311e8dc4ed5f3c829e02d5543299de31b51da5a26d0eb2c2eb616d7918bcf84e72d5039d1ab66330330c54be0f8d9a48f08a577c4674c1fe980a45de42cd74ed7d53d91dffb2bc622b4a53fa9251c440e5f9502c90e2d77bdfc9900ab205da44522bd64e053e2b594a053e7b542a5bd162528e94eab93f26f0311e8e3dd827d510c8b32d3c2d5a8d514a244eb470e8bf3664a504be6472235d28cc4f9a2b4eb233b5c5aaaf52eada23429bac9ee24f8272999db653fd0ad6587154f449e9aefa4070031b6cb8afb4aba0caec0c4e575f557d253e73757173fafd465ff7385bd3d5713ed4768c7c3d4906649ffd82fae3e82a607b534aa31ca1ab9107e488a6c9357880f8c268ba4aa4b74a0f60c5ce68f4bd99c29c6c41dc96ae0602b64c61e600bd42f54ac054516770cc1731eec0949d57182119409a3fa8297481a169158e50d8894f9cf551879f03cd7757bdcdd5fd00a1f2b9125e44ebb357c301e6cfb4f9848e18259c485746f46f3dfb179c0c25baba997397342c3657594aaaf6e62a3eeb02ae16a37f45bfdb733b42edc860ea5a5514a9e1d4e0d6f60e9085a231a5a1a28ead04966ec7641f14737089ea33901ed7f608c1b42ca20310076b813332b7ecf9c10f9c80acd882efa13943943d7c840b2ec115c30239cb4980ae27bea0d78caa3b79ea117e4507a60c2adabee6efee59be2762810a03d8b706307db9fff0496ba694cf6930be5277f788488364617095694706ef4e6ccbdaa98f79300baa4743f1c47228612bc5a79bc0b83d0cbbe73436394c38279b54c209112bbec5359244a1e28719c3b714e66ca82275a690092a7d96facc4ecdc3f7ab30c8cc1b2a6dc684692bda430301b06916ba7bcbe66ea591ff4c7bf43c22ae13a1d46a3d9b2e36e1696738794c3d261e68ff3e79c4e083a571421ed64bba7bf45f01b34125e8e89015f1c50a94183dd8de8e0a82f784f542f8c1804a8c3fd8bc8965014ec721061164ba1de64e203fe4d7969850eed8635f2bbc464ec36e63885decef356c28dcfc37712d36e15783567365c8ef1f22db9e5c2f7739ccd9e3a3714c310e115f5669e14d35bacef729c05a34774b643a428597bd112ef7d26075d162e714b442435a853ccd0addca51e58d479f062ea0eb38841bfb96699dc9a0103250f57726c7d9878e403d9f1964038b015fa3223924c685c982c47191031137db6045cf1d3d5ad598fb64e459733bb7658d6441ea9526bf4b89e961d142e96098a3cec39e02ab6b721e19c3ddb61ef140a5366680506b0715ad04bcf5bd98415d2bed107c2bd02eb9dcb5a52e4398a97d823af841ef76123cd53b5cdb6fccd00a137ca78e987941c70aa180b3c0402f117731c8bcf30214ff12f5d5f3cd844c865a04971761864618bc9ea34af7a12d5357fc5d6aa9e0c602872104fb80dbbb7c1f6ae45a3e43cbcd2e36b105472399f03252f84e14da61a60b6ec0303e606938e82c4e6b1e4a0cc3ca608adc0c75cdc6bde2943bcc4844628447d08ed1207e95721a5dbc2193cd0c0d6a6ce75e21d1fdab5dfa9acfd41340b84fe6c208aa02ce64b69476bc01179e3a357b49494c6dc150040116b7415011afbb6dadf169bbcb15b6db61daa86ca86df9f6d9a61bd4751ccb23408f737c15ae0377c50e1664a846a76a5d915ebc88bde015139b2f4b5c69d82433ad94157a68edc9b0bb7cf0c1a111138b1b78f3ad04037214b79249631ce879762c62add015b69b561a04f666a1158838fab75534334583342bd1c01d55563e57d70739569a05562b62c53ee9754722e8695074c568f606b91081a03573672258810db6b86ffe52e60a30c076862bc53b4c7c956c40ce775749e682cf4159f91f2d08fe125ce5fc1634ae1b4670381b784c5e64f285d62a075835c47bca2a50d575de450d9ca27fc45d8b589500c1eb44c8f7e9495554f711c2cdfde1242ecb550e899e66aa1c179811b22867b57b07070db0e3a8a212813a8f499852c1a4161404bf03a22362f032d890e25810ad3d43320a44cecae069b0c4c2c12ecf931474393e87d48125188a36a48f86e4e970629884d128a284e1090c8e36128cab0b271907393ada2316e5b0094f4478e62817a862038021430fa30a0be2ae4e458164262cc80b3c347164094da571fce32af470a9502c14b11c7253d70faff4985aa3fc56d86922094eed0202aeff8c879361c4a394439d625bd1e4e31cf145fec22515aa88c48038ad33dce75230d75a14a12700003be86f83c1cda0549a0d568448c5f10e5aea670954f516972df0735f8fd527394b7004216d871f0b1a8b757564e6bfd506d9a33df83a153229f3960b4daa9f66223c5d27d91dc5b5a130dd2145d4d6bba6492aea4010fd2ce02f48e483da9332b78f779e48054ca8ea43588e0cddb541ed42e9b7a8cc42ecaea1872fa22e6a50062d0e1a0603024c740b58b84cb5601b1cb69f44e3319ba65edacae1b9af621f0cb44aa709186225f58de33bbddeb3b5250221a7694331cc183554f21419719782d394bf829ff2eb3849ae7813b0a4451c3211a3d4f5965cb904b93d22389462ff93270ae397f6d08e4f1e4f96880d69f2bdc5b661732b7016ce8cb35c883411d6da40bc84580565ad3b9126abf354a3340a8b347d07548c4a59221666a449e4bc4813bc1aad399713db224dbc5ab0e05ee4c7fea7ab9dd16f031d13ae131bb540d7c05bc0ac2c61704cbb75061771c436c1e08641ec0d8d43bade507cf02de295081afe8c0c93f2ec69c59efbc93812dd2a058bfd30f8a793e6faa9a62c056c7b065e8e9fa69da4f6c0572c5beb31b1b25612dcd172b12d97af5c8086034ffc8c327b4727e88443a4126c59b948b106a8bb6ee4ad0b110cc6d1a61c3e215f17b7f507d5a7b7be56e37729509d9106fb8239e052bfca384ad54c386a70d457d4430b78b32ba3f802048c5dad551484b52e7d6130fc0b1cb00d17b43595e5afeb3f61b04b6e81c2650c998237fc8a353f159f08bd6198914e55c104f9eba44330dc6976169b052dd66e4b2d9af332e585f16b533a7413ea237c9e180c08de586819508dbbc11964e977286af8ebd52125e80412eedcd6ded2169c332f620ba75774b157201da270920fd5f04c6bcff2ab8671a18463484d55c96f761a85e98e084fecd7100cf8dfe8cc3678669ff584d5248335461633c6001ce4cf2065d60a745d3a826d9d45b626772ac8b6e029df87adb7065a5ae28b7ce4db292272ffc29cf5de8c04a44f13308c80c424d90014d75a18d94015d61eba0cba99141310918832478ec0cba048063d2659ac676280923cbfc5fd1e4af663603aa4f9a88b705b205826614a9a538336470521411415d9bdecd10365b7b53d053f07111b71124512b68f0fb442f4bdd76acdd34921fad080be34595aed172a611b73953555bedea9c5e541b86700fb9dc91065453b275125ed253d64db644868ca791f902d9aabc8d51286fc1c3d295281b9782a4ec23453464748199642432aeac2e8fb8a549e22e8ff2b4b45429b213850020a3be41fe6bf0277346912e43578eb6d06198ace9025433a15aa207aebf526ba19d17669347b92862bfb77012b719f13454f88ba6db98b7ea1f0ce4f9b7ba3fb3b6eeee75d98f05374e12e06f1b4bc69d236a6d4ea963ed30a2e75903b02d21184e81c102e3658ee9c767733b50e72b02ae84d92b01133442b6e76d662548b4866ea7c1831750b1d94c048fa0a158dc161c2478d52b7e8314b50a37ca089e50ab1b106e40898f0b1a625c3d459065743cf7e47780e7f463a99081d88f595c1e353c13fac8f96cf050ae138a3f700736e25487794b7cc03a01ec6e29e772b754be051a532d39e34b215c2cbca32b1e71996b0dd9cdec59f5d182579608a1b8f3b40a48c027964cd8904175fcc4f6a06b5be850fdec8e2d68bc04f4947425fb9d92c2c275fc69e061f989716e863d4d11fb4006d7ee467ed352beda3f108abf6b9c74839a0620d85438e467781dcb8aa94a6068c048747eac7d9755875d5f720a58f5ce06df1ad43769208109b4f145bc1f91b6d1e7dbcddd31c34f28c50ffad7ba319cad303f483622f6b2bca03114033c63e2cdbfebc225e13178b80ce1dcec5f78816d35f199090905652099696531367ad8911a4de5ddd23cb4b073ef74d7b03a4d29dc02029c12e1fda7006643343036fbd33a214f1b5af6779798b72210270b3deec29f2eb0245f82de3d745ac782a7c947f03c0d1c1af2bd2f8120ebcafcb755bdcd6f5371d9cc46bb0cbb7582f05c4468e08326d91d76e562363a586fd22a553ca4c765ea7da0d724bdfd29a1df3187fd90a17affdbb911b0a6ba61e8d870a56886d9449723eb401c0d8dcf8043fbde5c070c5cc9abcfcc49db5a6d7f44d080951e1759fec0701e22912de66940061e4e5edf42d677f1ace0f204aab329c369412f3d8008056bf3026ea5bf846d049410bc38127ae01339e4a1a46a32e14b649cdee53571e1f1f1c6d9602231a61769a03889d96c281345abc4fc49b1956fae84aeda90a82f2225579fb18644e1e4f6e9441baadfd2f65f68d45c4c5b26ce4a5cfc67d10e12a604f2b22d1548ae9c93f2f3d34ee312cf7f2f6e679b9b699f9459607420fd0282b9d3dd05f65971886e095be48afec174560be83967bc849e9fd704712dd52fdda52a82cff6a45c46e2108192ee9773a31d8512d5c4e85b0a8582bd8e1889d2e2d79ae40cb53885ce933aa605aff44119dae1fadd4186665d99c14c03579c4081e15d261333fbf17eb3f86a8cb4ea603a4d6a1825950372f913e5432d2091dade551a7dc9f069173775003de30e1f397806cc40cf093db1817b925dd4a53f041e2d1c89855de5eb92a21e1b36d5459c0f3b7f904dc4693b56c9da84a50853bb13231fc81d241ce1b9929ce5f5ee3fd2e0d2eb85baea6e56c168872b5d04a003839f9f4c1708ef7f9603851c96699531ac6e50882c4692df170dce5109395fd4b673259dc46be96a0a9ad950be622544cfe3957240d4b0e188b4cb4933f1b04667ded8952523894a2bcc782374c9a40c44534baafd3dfec0562ad572eb957a398a52988bed5f93616ee5f503c9b06eca5b81ddac39c18ee36dd7de76c17a0c63a0dc18eb86bb2a6bf141017eb4cea32ee3c36aff72d028057fd88adbc0a62626c8bc9039b1fd36704c0ee6becb085de2db3148a72f05922db65361ff21b9a0eb14daa6f9fbef83e99bd22825b96fc71cabfe36266fbcf4fb74c9b99c94ae18d3a6c7cc764658a3629779a86390ad627581fde656bb06b014e24e5d1462b3cb0c1107499f7ede8515f0fd59383089308c0e8dbd4122837583b7502ea6c54b4a0b58336fcd8ea9c017484afe190072e4f332deb1bd3b392e4d43ef3514a2edecb7184535c26b4ed3d88ac8cf966dc2c1e95083ac43889c2f82631b8948448aa8ecea9af2050e52d4cdf20fe83e62da94a1a90a732a8963075e124a342df4b049d5e2fb9e98a160a6b56f2518bef3a87e76b567124df4e03511bd173dc3e4d1887d97b22dd7a3d66145d552fe9268e57d8a7ecf04a806121eaa9defd706addb80236f853a49b9626d95306f498003a5db0144880aa4d07c95bdffc080e74002984450eb532b10f7ac6fb6e978e3eaa67e75a9a2e3770e4f5ced1d5e345d0c3fade86dad349c7c4629b58171a63d74468a9912df7965b2629e5de012b011f014d0133bc51e154164afdbf0de739cdceef9f18b5e1741be72f5bac759bcb6f7fe7569bb82dcfbdcdbdcd4d95defcda3cf9c969e729fc739719c771cc5a67bde69cc7bc66fc39e7fff2f91d7567db7c71cee3388ee3efbdf1dee388311e47ac731e37f149da127dcb2225de3f76e652e653d138b5a9e7c4eb63ad1f778cf12eff0ecfbae71c66e74ca9bbd662efdb3333c329495bd8a6959b9b5fa2c83b538238895283871a30c325341a0d092e5296a59be1982651bae460b39da84a29ce390e2a1a4e54339c7ae8f93bedbdb529e5e8b1b2c8113261cc524717c33947f9cd3d2e26b1112e92dcc395cbe5e6888911c918df4b66fdbd175fb2ca2dc7a6a2933d5a4430375b762408120696478d1a31c45e18153b48d8e890e2c2d4d13486854959191d4870e06c878c8c24627d24263149924ffe7d4ce29cf3ffe32ff7dea669961c3ffa68d3d5b3d9bff6614eb3e934bda1369bd6b4276b36b2510325254c94ff5f255f6b3d79334b44043432ba18ef5455a8f77d7126ff9fe999982e8997d0d274e120e317e76eee527f9ea1985f8ee67cd1db51fc66ed428dd73289e9a4e7799a979f3ce367c14f53fb786492e4e3eba6f24577c6a8ee4d4675658feae2a4774a7eacf18ed72510537f3ba5c91dd572f2625961034c4bd466b5bc2c357f6e9a8f6694a33cef6f72fb0c2b999198660352bb59496d57b65d75c3250f1c4e2a4d82ff7779bb8571b14296da66ab924e71125eddbd874df4f885eeba8a3193eb24543222c063de393852c638d1f243861a8e811cec480cf840a01684bcf345fa2140fe775dc8e376b3d9360e79c624368b9dc22fa0bb9565b358adbec5721fcb202afda221e9f7da9da639b59001838620da75451b1ee802700ee8810e1e20b42dd383074c4c0e1a3470e080c1d2125adbed3a1e519441e6759adef17c0b7e2614f22405490b7e50a0deda79bbd568fc2965249d82f68310881022086c4015f422f0a4242420f068c40f8912484840130180c0a30409d60f127f27720950013f3f3dc8445be9a2a3bcaebf0e91bf200e22d4555088d5af8a67c4332aa362c40ec1d2e097ee4491622c55a041412bc9b206a0a0a00a142812eaa050f38a04060c0d05b182c34b74e0f6a5ae742c4eb15fc3566b8845cc22795fa40f4450d7a466585aa074c486a9b50070c91b503298dc8aa66e3f0160f17bc9f6db7cc96d02df16e3da25f3909686fbe47c70371f1f9b4fea53fbdc6331da6717bde0a88f8f97aeaeaeaeaeaeae2a1ad92b7b65afec4594bdd48c475f5cbb64bfa210d4205f5f87847acf3da95eea962aa6168784fa4c8284ff5a5a23629734570e46ee291715e45bcf1957bd5431754b2d2aa942a194c591a99d01baf6aec6e80905755f4daab603578c2314e49bedb6bc14c134ff083d626d474daae663ed2ad7196706d70657c48d356087b5271e1a015d69345d573b108d765e9d43938eba9a758056b3ec9471ba38879876cea733c609754a9dc293c609e3b43a6d9c5567d4039dcf24f3e2ed9ac6462f325dd7bd5dd7f5763a0d61a661690d059482d149802be5f11ec63f7dd4f36c7a995ba69859ac30ee2af0c0f0be26a064cfdf511e50afefb0aecac8808e5829bb2c55cc001bcbd657f1b7b057da31d60b8bc68acb8253ef970e8baad26ea15b082a6ada322ac8719ab4729e9cf36bdefa23f6d61fd0fab3fa0d09fa19f955a199adac14bdb250f2ca3e61af5696c562893fec568e536cc7c07286a0a813c657b3241d9377100c0a076469184429c62067902c1f13219260411292c5911c064110c3210c841045902184106388318491333563d301a5b562be746239c8165b75f57e1635c1486449d5cd473d49132c6435743d036d67699502f297c3ff6eedc6919d2415229b02c171401b0d7567f0e7b990435bbc702543a7823a91cd84c2a76383f57ef81d15747663ae54f269a7e08bc0046f0b1bdd8d5d5078230fa4dde6f3d0f0441e652775f27f74a76ed23a98c326073e1c2d4779bb25b5db5c27792a395087380f0502f852dfb16983e4cb6d9e4942d4918985d4fcc62a2982a02a5323845259e82b9727f75b05567771744e12301af723c5e128e7cfc5737ca1729d173f47e52acbe56d3e132ae7ad50e6f3896be936ca98ab9406ec9bc069ebf6e6361fce0a007dd61b852511803247ed01abc9c9ef2f5cb0a48a8744ff8067a5962e11e8b8e1490e4fb469ece11277068663794a8e4910c1572612cad67d6e36b2e43fa61fbdbd2fe0e416539439baee70458e9a46583656d318fbec9485cc3df19a6762d63906e02bf16b3fb2aaa872079c67d4c68563e365eed2ee6f66d5cf52e4b4a3406c00c57a3f7847b8f20551cd273ea244543b8b756d7d05e56136ece3f8a1fdc3c15c9a1b99cea90c8a98a1723fd6d65265fb8c525b7230d7e4d1c962ba0dba946fe304b3489f4aea6c601a3250c4fa47800ba053a4d5d8e9f73c1329b4012da4ab393bdeb172c8005f0a7e13aa0c1c1873069eb90249f6a967c2972e7f41e1503fbaa17e39c2a787adc9490712e21baaf2eaab8889a847053cf66f0a0cf2649b82e3db855bb00bc24191dbbb02cc7eb6387c9452851b2f9a47661f2cf2454225c9b8a404f4dec52cfa6e7a3be396d31174f046502619d643fe99b790131064310e556820fe50828f72bbc32e98991228b3ca428c2b74a6f1e041f651f1a49841d5af5fc1a9c04759a089bb1ead1488f3d1e1ddd53946e5c49d6a1a43d14c1641e88303990ec723cd01659fee1cc54d4ac1678af600d7f4d44138ed0c34912bbee15047bde11005eba1b1c0d9e25d8642fb9b74a7f91b0d41152d49110517175e14a0d774a3714b53649594591096e81eee0f2f1bf73ab3de54552aba5d473baa897052db4fe45a0a54b19db4c6f372b509a5c1a800aed5d46db2530678d6d52a51c03ed0793fa77fe5fec9e7fdb97d3bd74f3ee767b2eff7438356caeaa26136404e2678450e3e8a10340bdeb0f9c495a9bb73df6d2f8b0f993a22682415189718514c5d98ccc22f379678b5b6e9652554cf6ec31570cde143448e5fed7d839b8c7d0648dfe5ffc4eff24355fc1ad17d134e4247670b11b08e1ef09c04cff61de09a2fa9e2bb4062c5804e4d9bc1119b243d488c08ffffb21f56a2bf9b4361f7ea40ca5f2e636433e7718fd9fbd7ed2b4d8aa667398f4db01b175b0a675c60195c267981758b2a1910836fa55437d28cd6c451b43d3939bde310b5a3e3a0f625fb1d2e366b2f7fa31198e0048452b362009aa1daaf5511e2d1b2c61b10614b2b98b656e7597472491c388c1acd969cb245a39580b060a29d362e0b229ad78dde9c93b7e634d6861a36b8f9831b6881955f3d87577aabdb7004fe173882f18e6cbab541e05df57a39d7b2a69beddb63156974e7099ff77248c9f1de0c902e5fc29de193cb1b5bc0790f1d8ba74a6448ddf6376c034e0951232057c1600bd70ff88f56c63dea624c5133da63c05b632ce9f537fcb19dc1fb4560e8627fcbe1599b229fa4efc8631e9ca35a593610207e148e6d3cad0c944a945f430a236aa08a1c9d47a3248d62cc7f9cdbf7647023ece1f656276f6fd28ca0a037c24dc8ca207f0fce669012497532c0f4f384543725b1e287a13c227bd755853f16da091b8db113f35c0ac5b27d34665d55fe3b773a0cf1793a313bf7df647aee193406767adebc14413938dd4d0d5ce15cc0837c5cbe027efbfc5454691c7479ea2cdcd695869957f0bbf277110ddf55a32c53545760799de9f89a202c26801aa41a1c018e1e48043126c854a36b700470f4204118260c52c34897ca032dc1d10304c13221d00a2a6dd60f68991884bb898154d809b116674c102930a28692b59a943181881a43584b84715328154dcc66eee098818ee33db3c592fc52b82e1045ac77d6f482584c78d7c41d9f8f591671fb6620692ca40bd885112c88a66ed6ebbc963f4ea2616e9d77b1d9f9337b460fbf126d4bd4cf7fed4e5f23746da799fc77a46d2d5c5cb75bb3d2b4902d15796dd3f31e43ccb2f7b243574b482eec94a09529e723228427ec3b9fdbf69d971bd8cf0210fb4e72f5df4ed67289103b0b476e113c59fe3b8db36fdfa9ffee7d279ffb5aa7ecb266b8ef5456dfe6a9351cc88ccdb5a1eebe5392510897442792e8b4b95c9433920b3c23cefc468cd68db13d2ede5f6149e377fc7be132aa23a8982effc2b5b2c7f95cc0c7ec3a1d1fde04b0d313c441b85e073a91f098fd7a40dcb8b756faa026cf1ad200a2d6374237e353e97c98c8d9f2ee5b90a279050d93df0bc42b68e3b90c82b26314748a727393baf7dde7609cc54ccd743d2fb33f2992e33298ed0212ae1fee1b21ecf0f2f794bd3b39af1b67a434c2c38099d1dbdc0ccabf9c8a67da002b50915a2ab2366a410a5cddd08cb3858df752d2e0623cda8110ff6d22c2433ce0e7bbe5db0bcd06a5c2138b6a1e5fb01e9f718a36699b99b67adf33e1c726a68ba68007f81aeceb58201bd2dc3d8fcb7cdca04da66445d5c46ef5c073f8703ea1fda1f39aac02726a12492f201c72085b783c523d008346c9e6b7de9d400be0e2582e63ad2600971ba63b2ac6be3527d65466e7859b1fb4539c388565f2f6071c2b8acd2a5cd611d16935d1a2db8c295c40d51f358910d58e44c8d2d25f5ea801885c1eb0382bafffb87e8bdc0fa6e43568bc2bd34b04fdfb4996258e70154a454150e5ccadb52dd49e47a5220c7db64afdbc20a41e7b8b17953c7af4bdce494bf0c6f2c7434f75a4fe227fd6ff6658d301ac5d3a68aed47d7446196fef996d37d8bcc47854f4a81f52628489ed87b3701c1e63713e08ef395fc7b69fe5c76bfffdd5b52faf9c9ef1b5a718337f38ccf156d37ac193e63554647597d7bd4e1c10cf8053e7099e82de21373fa4857aea2c5b32491d0c9058bfa71b844a89b934a109fcac1a121a63492cc718538e6b884bb422ea50b7c7eb3a8ce6cb474dc5409fd096c8afe03bb7c9539b2946abe852220f5512f5b396995ec3327650084fa5842267019a792f91e80b8dc44c73118bc04ee0dfd39bf9b217393f5daa4ab28d5b421f834ab18a6a710ade92e4680d13a885c70c61884d6d4b4619793c15a1b7c4226053c44191251669cc5334c450345eb86c3d63f0718b147122b528de25c3601991d3d4b757bb37205bdb830b106b4974c87160177959d5e36241ac29f68f071b3e81ecf3656fb365ef33796b6e7560a54d58b0829fd830285aa47d61cf8c28dc118fdf16ed8405c2b01288ff93261817535d8f4efba649d160b1395aa614364c59ae0479b58bcaf6b8b89f6c890f3fa31428683ca5fac6ab9d3a13cb53675fb3ca146028ec4860ad0602754cf66f8151f13c3e772012e6472c647f7070b205c284492594670e74a50a8d78215a510f50ec8c92048a1d22f620acc807d88dce1095578d67d18773541e1838d64fc6d859a14799b133e76b48a870113b21ba83d0fa6ac9673d33c7cee4818e9d6c5f911e9de76431ad5cc0ca33d005c72697c0c0216d5b6d89dcc5e2d0c526e6fdd114dae0e7d97eabf0b110777c54d067cb8ebfe160979b9aa6fd6b2144b40729c12ae9a00bcc598b48fc4e067b20a10dac50729e06ff35b48831ce91fbe1d01bfe3399b1fc34d4670ab7bbb21129d96b064ee8b3dc2b9fec0fff08014f4d76eb845e6ba8b240892a6b75027aa62bc40e75ae112400cbb95e73cd8f8f320168d0e946b0a2ed817cf78a81f24f38b344d1bc668aa0f9a7ca75f419cb0cf88a5d12289a8cf4a989b1e9e0674f9dfadc5d61adb34597332542e4f1a8d4dc899624c6762697d7313c4a00e8b6d8176d093965baa95aa72098e603a5176c180ca45f3b0c135cb084859ed57a1a6c23402331ac2a2414fd0622215050588af0a76ed38a868a4f41a87b6a010e60e4a13d456397960750c06715806a3d6f239a5c60da110a395ccb4de18e11bd804ed4c6708d0f9186a48e163a1ae577259f355eaffacee2ddea0492a0ad730375f7472779b75c112801a2dd1fcfd7152c0459df56d8708630a9c14183cfe28bb2a4f56521610f158ce2d6506889abd2e66b1e4088f57dce7dffdb1794ddc65d361688a158c0d1e92294925ece96842327cbf5ddf9a1bb4c792cf12c4da81d10ea046e28851a21195343a8be19495b407e1a228ebc402efe7185682422b712555147dde99b7edebbea13284d7bd01ad41e669ad4f893dd91feac13663b13ccae7c281236555b3ac000f57a2dd304c62f1b417cbf9e0895fd2ca1241b27575312b40c48b4fa8bca89c368a8dc1bf1617c895af5a5b9cb9e74121792669d33aa57900d9a64555038330ffaf68a7f980bc9d5f4e3efab09124078f6ba657124e02c58c9c9c7fbb332cee76e17ccfd706a486c59aa1930cb2f7832d8b34c7c2a2e7c2853f8532f9dba0b4574958d5f8ae2534fcb4acbeb00ecbf286ffec5f235cfdb546dfc29096c19ae2a0ffc0448ba58e2fad31ae3ed6159ee19af29a93b7579e03ed2c1cb128fa896a2f7a3d591ebe5858ca253525035745771def67aa3df1c63d5cd8a6bdb90a0e6e6c8c8451812dd2f0727430998cdd1f7f177ec7da31da37def7cbb7779e7336278defe3bd3976615b7c151a1d33e2982e697903d8b1fccbd7c28f2d6b465ed10126c0ab5118d234af4e1ba2b82531feaccbe961a4467bb126d44a7c6c0351f378e4da3a4e973ba748028d5b0252a389d1aa51a4b24f1d5f89c1f1abc3e7300a4d4e4dd84de0537598ab821319028755ed43104146e016abb6c283d40accd010b496d56265858aadd71b11d5904c79474db6c2258d3811d78ac177dc0970060de868241c7b714b1fff055f629a48984a42432c994524a2905a20283025902bfdbd546ecfa465b7f0d94ccdfe6ff89f7ffb61bc6177d228e32b8b53d482475f21425035a9a43648e1685a9a3e37dbc050bf6637e070c182a78a0210b4db1885ae3df3b1f6fd7fb988ddeefad83fc7f13ef60c63c1d46e359470d233e99ac4cd2b39b84a644cd202173167131ac392420e385818391a7696a7742ce5374977aad352fd8836027ff271415cf4d3830162f66586b2d18d700c543fadd470598798cefb65fefcc939edf303f6091e6a0f83063c8cb9812163c8888a954474d5c9d9117978ae061cb3226c6cb96fa878ca0438dd6085243e742de09ea478b6d77d2354e8f7d53ff446317b672cb20f59083e29d50b453d5a34dadd96cf250c71b20007885ee90ff3fd0d252ccc3105e5a69bd9ffaacedd61c35ab6464c6dd0eedc9af2f5ed79ad2f78fe262c285e442e3aa02a7e479a9be14d35a9f88cef33ccf25fa43d3fb25c6db6594cab8b36b3a721ee4e80480e3c7ea07ac493a02007c09678201baf56dc90284c1ff85c1efdb585d6b609c05ee01f689c34040475d844b0dcd1223d0a316e481e27131e142e34272552910a6c05a847c15e47105c00aee7215f8f0a3ee4398242a253af4e9ee3d057e62d0a7c0fcd15ef585c02a1eda7300a2716b207ab5c55e557de02e0a48715505b4c18d27508810cbab85a068ec0c800d1870398000a147e52f32458040de2eb8c00c0d2e205b201666ac33a2288562b1ca715868381c0e9543b66172d836243304331ca2399629b2e115d92c4021185a19a20da50cd3866bc333e3f0ac6e7876042e893fadab78ea28089343b12199979797d08d30299c332c327432141b92797931a8e0ebfdbe54baec42ac5354c763efeb417a285da68ca8a6ba00cfa401d9be8ebe9e0860d64f0ae8fb8ab2d503029352df07e40354127750680032f0fe851fa1aced4b8898940f6ac703f2f972c2155a7530260a971e4ba969b56c3d1825704492d4adb7be376fbd65339e70651a138c59928b4eb4bcb0c1513b44a98bdb8b302e59acbcf9f207530f6390db8fbd5f356186b0b559618b73088311316686a829af286d1cff4463d7bf685aeffdf3cf42bd46862e92902396e4acfc08e3e909a4b34f39feb6f64fbdf80668bb18e7febb558ac77aab2f1e8b84be13ffbbca2a7e8be5d68aada45ac0adffae8c65397fad23e05aff3df0c52cac8a98479826cdcdb1794285899b2480b4b56ff6de7befb5d672ca356b8c89e90f67ede6fe7f84546d8d60f99f337542f614b942b686434a9b4a7dc23c4293a4e36b31fa9e55fc6856eebffa60055c263b8fd810c942e452668793216e8628b24ba11d046c6bb808192b04a9ae5e6a8b54b604ed501438436cbd8d7e54add9b9f2860e0a322a82f4d0f14284cbaf3f67fb73cd15e78c2b1622859065ca323562ab8ccac804e23326e512211c4502e978b2a88c8c15495bfac409e2e7119c2c5f267dfb3feeb8733ecb32697cf268995407cdb3c8d18e499826ad79a9b556ee13a1ffde7fb94f7fbdc15a6bad34b6de77efbbefb59a5fe565ca82a8c14cd39ab9e7dc71f662b1bcc12f13426e626b33aa43ae5ab8554462640851934483e4c0789465d21ba3b83566d8ff11233c36a2c4cf816bacbff4c9f5e59959a57d73f73fe69d31c6381febffb8c517f1e4a790138d5da692fdf7de5857739bc26deecd4dbdbd9a3df66a843551ffda193c5eafc7ebf5da20e3d84c4959a4455a327b66d37c3efff3796b4b5ca96fadb53c5ba7db8f67bcd87defb1b568cf27ece17f8df857e22bea630bd50bf67a3506faa1bc09299f89df339cf622c3bc4f7b5934d65a63bec40a4d6865dc66f65ec1742e04c8e5bff1c559ff0d6ce47b5c4d958febd6da669b55dc5af2cb7790b051ebcf7c87a268e6282a4346f2009203478258b5d62b14c66109777d845969bcdf29b3b2f8ce2d4915de8ef5d767f59037f7adfa2a5fdc35ce7d67dd4dbd3bdf6716207ee6bc4b35ca7935bb354dcbfbddfb62ad71ce396b8c75effbdecd3bb1f8c7aac20af22a1da0f3ee935afe9053492a3a0067511b8489d299a6699ac1fe39e77cd779caf33c07f4fe6ed7515eafefbe50ab8ff7c2df833aa1f6c7c2c2b2fac2fcb1b084c1e0d7a081c1aba0551019a02a0dc6c800cea8e8a6923fa4942f4ae9d77a61ca7e46b73383bb565def4ee9eb0dcb64bf3ed3697a4db3615d29ffeb8e57ab8523b8f59f68ec3aefbdf75efe652f5c7bfb9f5ae5c592944581d048b10248f94719c44da72b81ae37f3d696457fd5db7b01f88e3ba8e3de7b77656df5ef789555b48d92d86f93c8a86179d8b12ecc7926a6fc824ffd4f895d9cfbf4676bf1fe5dffbce7bf27de8d3861acd7e4b5fe4fb45f883146bf091e37bb8c95fb14f37aadd5779eb3bf226e25dd6a1f1d97b3a9c1ecd61eabf7e927d64bf89bf96be1085d0387b6bf2c334462d1da9ab7b573b6a6d2cdbb723aee0fb6b7db72abeb8f1786373463b6cdf7a6664d85ce3e8d5bfadf926f8e26bf358ee80ee65ab12f16b72660e083d06fb5cd9f7fa2b14b678e038b8e2572619acca9d16dead2d02962346708bef5635eadeede18efff89c6ae6aadb5b6d629752e9196219372a88da5552d7ab3090b953a652ed98f5a8ce1c610618cf1ed38f7acf5dea6b979f7a6c9f979128bc6dd0ec598d7eb1caae83b4545f97c39cae7a5a47ebf3c3535454565a9f46f2a076f50ea7a07207522a0d0693983b6f81f182cde54e361a424597252f1a810d3cd9f50746c259e67a98bd7473a114fe4de9e48a10a12c8edde7b31eef862de08545b2bcbad82d614e2c8a6dd19e7ac056fbd73e637e82cd24766916635e52879ef1ded268fc76bebe5645b32887b3d0d3597b531e9b3d65a1b09e1a3e67cd4ce78c46891be38c936dcda393bbf8b33d75a6b73db6de23d5e7b306a6a7ec533cf7add8c4487c05aff7668c7f7da7b6b1c2f7bc15a3ae7a1cca392398aa23bd4ec9d0f9ff3ccee509be43c2b92b5ce675163b2cc9bcf1d474f94a366cef9e39d7bdff8f3a0b598a74d9eeef5b8e9f737b3f62931b147efdd99e3287bc59e592eb45cd99b59095064dade9c14e1653a7013b6588da14d78e4b7323a0399abeac9c296a27addfdb35c96dbe8ed392eaf59b61eba5ab26b48ffb0b9ab09cbdd3ab4ebf4f68a5959b7577346d1de2baed5f79a6bced5fa3ef6f28268f0bcdc0413de14d75080ba7f973c1e328a8145061411131940a42545ab0e466a15b239e79c73fe1668867f787e1d5d475a69abffe3affe747946faa28b68fc295dd80038fb955699bd8c9648fc3f4d935d7f9286e6ae1506c0e4bff6ae59d90484f29f6cb325c058bce01ee5a8be7ac09ab567ecd2ec0c960155ccb0a5ad61dd06f6864555be384b7053b8e3b0455f9dc2718baca7d168eceafa9f48bcdda7fb0ca6a759f33f851cddda9cf37d66d8302b86f4e9277a9ffa9fda34a256b3d6da8cf7deba6637d45e0b87b3ce1a675d33c73f9ba6a94dadf7d6f9ca32d7ab54cbf8e606f3f27def9d24c67cdf344b7f7a5dd334f12cb388c6ad095e18388c306f0d8f39a8440e7c4d02020a436500100e06c442e2581625218682301cfb01340208451a49c489e62161502405622c025110c23110000410c00820c418e4585105ea58be302d3e0303310d065a75d1e0b538a12fc030b6204f1db0fbf6782799175ba8cb1756220d743e123a1acf7eea2c2c5909707da29e498ffde209467c1537d6f1724d0cf3e6b61a7a00c3ba213bcef6d8ccfc05981265b09ee69c6e9e2633d7d37814a4c9b995c1602c6e003cad4e6a12829a4ea70ee49e9e0ee789aad571cb03d25e6788e3fb39100e671153a9d665c7bc0c2436660137243bdc93b5763a9ddd5656ef2368bb1668e653521d0dfa8d1888a649902dc20dbadbbaac874dbecb7bf61daa7283798268fc4b2245b45c11979838e0491475991c20ed015ab72101a37697cc5c807f198260aff55fc1df841669976843c1ab4003fd26448f678c047061b8ecb925a71d061d8a748da18912598b1ff769dd74f21093f966e5b5c2d20d505838def2fde40aa10dbe9333cb63b53d76e21364f4ad37e912b9e1e68ac2a3bd99d2201685760ef1c9302e95362cad31fd047eb3a5c40c5b84307048f6e15b4b17e066307bdf369ddb68b678899c526ac327704db06036592bc5107aff0784eb1a6f201101c8aa63db6886f08abf6301bf14cd279d547c6f651cd3c06ca907e362db7255fc8402bba514cc790d4b8093f999d4bb095b34c6da41d6cfba56313dfd60cc212066c52cbeb1f6d700919bb50cac1f7f320dd61f2b3b7c680563f5393a55a7d5791e400824c471051ea0f88c2f1a4de9da8f0820058b03853061b8b3c2732e9041a0343bb2bdad100cd124d6ff175dad9793346569d3b37599f64bbbe01167ebe9388a2338d43c1a1f214690d466f9b3d6981eefa7609e0c56f49f485555a64f140e6db88051b6654778e63c290b1bd91a4425b03290474bd98051cb32b5b49af6f88179eb1dbbe77b400aab835f0d2a489c5c50cc1cb969fca85f1b54e0270a17aa3a41b054785dc2dca5a26522277471ca67d1f847782e6ddd68926ceb0c5d732c4c9334f1ab3b600ef27b64edbd584fcb6fb68b91679f822d57d889af2c137421dd7bb84b90bb9f70e6db31d8ac4845df74136ebc7564ce03c968a0109fc892171c44be420e517291d9e97c5c0135dc094829a68b3adc1be09fcd001afb160e50725ee44d7a637fadc683f9f71dfffc13c2c0b32d14213075a08bf66bdb388d4fbf5c3bad99b143a218c049729924e0af5784533778299fbfd457d75613ff8c54e0cabb6d1c980017ef097265c5c5100bdeb363d2419e26b9deac791dd1d64ac7cb4a41079cef91fffabc614d3840501286dd087f8fe6f02cf785415243e4804ca438c5f30b9342de3f344519f6f0a08efa68abc98641e5456efc451c73a277639924862393a7e79eba09df20192d45bdf734a5522dc53c47a48318d145d29a7ef8aca0033e9a5ed0d1331ae3f1dad38ef68efaa5eb46af975f24f29eb173410d2dc4442330cc4c8bcf3324936223bfe77aa92e1c01c0b97438906a0b8c421ed32a24ba88b72ce6b89e42b2b221771c81e978c03cfc1ecabe269974414e839e6a7c7d57faf161d50eef49d866b844a0811179d10e1f9ded0e8d72fde889ade44061fe9251aa1e3c91dd93b6d41775b8af831b140b23c2a5980cf1a5301242725faa18f83f26dde6391e51e7d512d24da2408992e8f02dc1b6ac17ceb9a3cb32f1c2acc2e0fbccd024b58526b124c123f3b2cc27cd2949acbb9a66a8e6525308853297ec2a974666fec8347840ff959b7dca2c0021db7d0d9c935d40e9781ae11c30e6519126f63eeba014613ed53914d0a364618008bdff6dc71bb116daa65a3425c5c6e32741ccfff71ed553795c79ab63492f3a6d664f3710750d88e3e18b28cd179a55ee542c5912e5a620263b22deb3c2c617e4917f3b1143fd1a2da3bda888148435cc478655a86c44b5c7e76ffcf14524950f5e217070e6c35751819a89635d660fd5081d18de9a7c7c49024ced4b94e9347eb3b36f4e00816dcbac314d5d823cf91641566a04fa011b649ee11a393f84ea6ac7125f3b0b4d378d5a819eacc3962ce3a2695b838a2ecf34070019e320d7a1ac24ddee892d6aefc6ac32b3a4e175d3eb388b49de5abdea241176b932cf5eb44f5a6f804a52d464b43f2d942f5476f54c594561feeab4d002adec8548ca2a89dd56cbf2d8fa383cb401a16db6d843c4595c6f5d23648c3fc779f93e64caad790410d653462b2d688eaf49f39eac35fca064d74a85d6f3c6b2c03a6add44a0fe82840e2ce85a97ff80332e5745dbc38b3c8400fa38a75a2abcef349c04776703efbd5ca2bd48bc591ee228ac309c1a796607b3409e6a4955ac1c42d97c0531b84ec35191f54e9109a636adaeda4508bf84afaa2f0e3c8a2cfcffb77073a820faa6d50a872e41b6f071e155290f21cd54916389c34924a5c8504acc0de02aacd9c0aa89e642aea013857c92f8ecba73e01e5f573f0806974c4c6721488008976d72a212f8253cd5672f7d581169365e68d2ec899a70b73a7539ddf1396fa72a1c2823868ea6ba1e4ddfb939120edaad6272cdb9325e82985623fb0a735f0000981dd2a370e534a16e1e3bdccd6a4b3491af36d5be947ee361e47515c38b20da531d0df38db18260d897d22778e3ddc0c5d47dd37ebdc772a51761e672615e87d645fb758bafec47c9587595507940db1c18bc60c0f9e03e8ccafe52968c52dfc08733708c5709131494afb888771b9973c21d204dff0f4e38dcc1a79a01d77b77a231aebce1ba693c9f7c8736616895dbbbe5a9a225dcf2d43fa1cf4ba1b8502beca4a0b45e9c06d80a0f8b7589cd634f73ba942ec8d40ea1814abdb5d435673e094602f07994bd84e75dede67451401881de3abaffc32a765ad88d992de3328313822fc84a614002812f862db6ca155c62194936a9a9e7c14b3ee1080c406cbc93f14c6b8d7b9eb23702c5428ac892b6c8e895560f0b9cf440ad7c065dbfda3207160b9ed53eb8fb3bc268e3f5a9e94d81337060378aa06d95fdb6a629e5852ea5860394e724dfb7fee436c719e0a00e11aab35931d85e1f1c6a0bb5acf1a92f7c5ff0fdbd390e3f8368ea81389a7a4e43549d2212928bebc4e2b0d0b2d58b2931f33f70b85bc098f8c45a60dabc8058e192e3eee5b0355a6bf9509928756cf93a9c9157c653d85540f77dca7240690c5906634862b8d011a311237a007799a319540f6a7aa3e8aab4d5d1089c29cdcfb80d4ef212c03526f525ddddf0443c2571c35d51826ca21b5e35018d107f3d898ad5080e4b32e915a8812b29a59102c1a63a3d24615a138e5f510de2a769a4bdc913a4d87db4d512e1c90767fc4234ba63d47dc4a261118a8179aafac42b5fbe4246360106886b359ee6ef87d72101e2506f8d8d654569f026d98a223c68822d6b4d33bb1a1594b9dcb98271323ccb6c168cbf67653117059703da777e9958598a7df4f883525de691a462bf58057f17effe0ae6a5a0c341357db53fd19034e12e88f504d7cbc5abdc8d0b4c961851dd8a2e8a28bdc2307f233bf031929b57d4f1a7bcfac1e447633b26e99b8aa9652ee8a274d806dc229c53e96a381477a886bbaaeeb5861e4643ea8450f4fda142350624a93f653088a126a84a203cd583d7cbc70ca3041125542a564a1aed09cfb53230582b792d158f85c9b19542bc7fe0a43c2e02ea4782aa809a3204ae6852182cee60f6b02f48c7c81104e44878f8c69484b1320ce54f9e8cc91d368c588f16dec060574e70fabb8d2ba7fadea6c84b725f2ba7efa05df6a60787a365e584052491cec41c255fe59435ab2caf6587935300b778e881845cf29585246aade0ef60d15f9920e3e7b0ab604d4f96e6946e57bee4000785f12810b2907725a978c06532aa188d770a12732d932278530ec7f738d4eb7757d13926568d9fe9bb269f9073b2406ee5ccc23747a1cf47941c0ce4f1c60d6ed676a1c01fbc6e62921b046c46548a260619b8ca69b6eb2c37100f943c0488b73fae6e1c3e609d21a8623a1f0dd6fb92986b13085c49a66df6ff55eefeea894d010bbb942f30c0bdcd15d2a3d72d3ffb29ac6185e8613f4d49f6b8bd4838404a3ae2c307af22217196ac90977330ba364819aac739d9fea31ed8eae072949fe07a4f02f37708e92c2d3952ce8dee6921a5e79afa19f4aafc7d19474039ea80caa25812d743865d67654465f28c8bec8e7d657158326418ce874946c186b6c60b2d4035919c4e4dd5742c18d7108bc61745fadd6a8cb2f391f0c1add456961fa207976022d895a63f9624fc0be1d01495413fca951cf74e0f3fedb366fb261f1f42093d978c610179852a79e132848f5d33e7840d5a3091860a49df97039c54493633cd1acc8d4ac8d306af12328dc9397d210769c0e031de3effbbbbc3f170d239825a3185027ab9089a2eb431895ec3f32103c2c2f979689a49c9b5bb9cd89bed83443155c5890b78e67dd862d45a4aa6995c346b505b4a644af274aac4918007499852f162decc00ad24415f4b69cc126590c8c568d5a18c92f851cc1f4c5e3d078161b7f3f15d6ca9e4717bde4e2a799dcdd351b25386fbd2ebcad29b3e7859f59a2ae719ab5d585ef3a78a4a0679b92500d6a90a5ca64a482c2ef201757026046d17203d16949b1252937b5c07325aa1e680afbb9acd9d644fe9b026a383e89f0b331c176668bb8a88e9f353c823f82a52e0f5c72832ff8795fe0f2a197f734fc94bb43b1f1084330438216656cbee80d7a1215fe1b14cb5795408da630ded59694f0700d021be127cc10826bc7fa811d9e44099a36940e8ccf23ea611c2ca47c2995aa52ce3dc4812652b04e81188945b582780142b14cce2c1e2e7876fab65c43ebce410b3fa467e075abbb4bd89acd2ecf72ac363eed173ca64152ced78d0d86538425e7d9991ab3cf578c950f7474bac12f82ce2710875a4c9a691160a1a87b5d9c25bbe1498f4583e625ca7893090156e4597dab9b4657fb390aace8ba34f88277cafda0163ed5ab832ea364d73b65105807731541dc84f454efceca149feea6fe8043469c3675e7a3531d186fc6b123efa28b16d16b369eceb4e498c08cc72d64e9fe50c9915964782f4f00138ba3a9ee09ac8d21b04e223e7337505913ebae8cc92b2be037f61d1dec0b5d82c89c861152211d9abf88b480c413dd81aed82eba14f6e4e01ed02466e0731752a1874522b64a639eb3afdcf7a50613a22f073b4bf2179bb759e0669736bc01258b25436423a20e49ff911d0b8c8bac2eb2153f5e077d87805161f322135ee5b44760121f12eff47df88fa38f50905e596751bf8199a07e5eed128601808bcfcf54f9727e11438ae81a3d45599c1095c86336639f01be0103739a27647f6711b44d52368d88ece5034de5b0944b754e1372ecc1cb9f7eb913d5019cc0fa4b97e595a3d68de49a4d317fa1ebd050dbe3302056fd0a32d41b558a2f214e69c39f0f6a291b423915da8d4aa8e8b3288007d657da9ac69c8e11abd8dc8cfce93ec3146b7fc5501513cc0734d921f59f3337840a95c9b454168500b6a52019c775a211cb166a13e3bed96ad3fa2f0f972f01006c3a1c1338a190c2f64b158b9e6ebf8663fa121462df82261c20c49a76e00646a41b1318fb2315756672f69f1e2821fa86d123604e35750ab8677a1fb417784416278f66bc642c7433fb8672d828ffb6f677798fe687cf56634af2af1d16132f25180ca9e193d9e20eff2ae2ebf9c663394145b2cbc55d2280e572237994b2ff3bf6f00fd3f6ca21b1cc63e255cc4b373c62b17f527ef0b67f34fd2a4193c793985b7cefd1b111119ab5f20d49522356ce63e9fed78c8b5c38c9432aa1c134539bc1b1fb34d8556319ec5a19374f5aae296b4a571f3f3322178bbe23c823fff2d91259b392d79430aaf9f65b3a83c676dca98a9bc4db7a48fcc65e9013a7ac978266cfead4fabbd78692a571dd1bf2340f68ca91e5fd03ddc465baac25c62dac0bad5376fe25a14a66440c5fcc847918ec997ca4d373a597a5ca456fb260e1dcce0909d3b3b458f3e6f404524cf67de5048c45fd4a1470bc8ce60ddbd4b3b625e1af71e0c72161f8e753ad4cc968029e8f493e789c3445432df163677c9d819aabdcd42cdcc52c31b8f9a19b15d76b2e6ac90281895a9db4794300adaf7915452c7529661ac2a5dee70edbecfa508eb93d1622e2eb1ce2988256475ad751ba29230d2860cfaecf5982586737456830e20340c895bbd8a0952cf447e197e924752cb2dcba26e64e97c84528a9dbc8a9e30a6282c086bc3c980051ebb8b4d65162286187f4615788d41cdc005ec84ad873c5f7461850a5a078d37aea6e85c7b23f4adbfaf40266779f90e4a3613b2f8ee515f680bcdddc40f04285dec8897081475adca8859faf7593049d6e029c923e8e99e73e2252de0dbee847a9c1eec97da095513f49b346e1ef1d23ad3aa2c726e392cfc82763783328aae6a8b0b513a4ff74918d77a08dbc0b8f0ca6dae640c102f31c64b9764211e3dbc9474b599007d3dcbaef9d425e88190fdaeef5f16e86d906042c6fab814b9148704a97b0138b738bc14cb473c1bbe3d15dc945d6206671eef63d3527053c3a32b23bf2e0a6ea2fbada748d7fd4227f274236af80802a98c9f03d333ddfb42896fca3f71dba57efccda58789fb4d29b4ed12f8b78d89d031dba6dba3f577be809f23977333191745260afe14f38f7f0fb87b2dafa6fdec6e15b069119b1e11edf1553f8819ab29a149b91a89f56dd2214c6176a7b540025f35a1b914aec413b200f6925d506d96865d0547e2f8be7e31ff0a0bb64aef018ebc772a035eb55b66527753b7d7da3fff43f4b0f1ab74bb95c818fb324f49306486749558f3b09bfe0e71badd82b8f575e6e6bbdc0bd2debc173aac9ce6ee2fd1961fc829e0eab1076f7653b494cafa249f80f645d3a2472913585efcdb27b9535fee5bcba1e3337f09086817b09ed43a724bcaf7c0d391d00d425dbd2f1554e83fe10fd3e61dc6731dc9580f3d29a5c26941e64e07a7474e896bda55388ce9a7674a381127d42ad970cdb5882ab28b9ddd6526c15810c5da0d1823fdc380217a7cb22120b2ebabe3039d1d8789f7c0dc641643f870dfde8facf8a2ea4a642afccdd24a8f00cada1f21aafa06029adbb7437da77cde8d6b09e12251bd0a51eda3076a1f967726961ad8ee319fa9a562e78db29e85b25138889aa8142174bd9c89ed71fb4ded8253f653f83b4bd82216e1d8bf2b6acb99f98cf9e572668242d088d2984ddfa8b1c831a27bd4116158ea61e2ffe29537941b305e4558c3c2fbbbb0ba32f09b3303c6cbd2bc5931911cce136fc2bedf630a2921aa424a3a4a71fa6bdc9a6406bb66caec83edb92cfc27d98c7074d787920b03e55c05c903dd807c7b650a0e04ed9cdc4ff9d7ea1ebbe6b5a5ae0c07a18de03f580d5d432995c7e40d0dbdc9a3a19706192ba1c6bee6fa053cef099b82254e1932d368f339003567ea8ab7a707eb12235a363a596fa41321de1e59cea2327d7933710df1a19568badd8ee75d29866e18b77829104a847025914178c1aec28fc2284c2c7aaeeea30f19270a020d8521d0b8a1eec4c764d216e8d9916500d96b09d55a3183ec4e6dad189d8baadff69f8668ef8046d573e93d0b0d81311a7eef7d2ca722552ffb3b069c4eaafe800325428f6ecde7ddc732ca0fa13703f412640361644ead1fdd0198dc0d8c205d59a39349e82d69ddf3afceaa82b56ee61775d2807032bd7662002e5f3f7aafe7ab42d494e6c8bbab2778b2106de74ce4ff52a3499ed14cc30f72485c6a9a904342ae8bea2157800785bece5f2c49867ebbebfc2d04f6656a39f112de00c42479273c4f247b2ee2e866f97a9eef7ae2065b14f215ce230b67112cb43b591e683cde0feab940b536db17dee1a4a723f1cf89c71fbb0dcec471edc86c9a160f68870c761ffbc9d6b7ec5785ca65bf82df597aae03b63ab17525fd7341c76e737c39c89cadb45aa897049764ae3f683322115ed3c44f28c941061a6b51cef7df89221e0ce5bf6a905ad9878421423a7f395d8912deb048927957e896e8460fc2f5eb39d1fe1e77cdc692e3181bef17054c2fe9d265b20e481cb20352503a52469557cd31bf1444fb4b03fe1737620581075841ebc874a327d640fe746b10e1ce726929b8d5aa1b59b92a4d09af41fa2143052591548d756c2770a99110ad97c84b02325e0126560e5f170e98e98175e46d34459842c5b896cfe1ebf8f1459a84a5675d0094ac1fca91a246529495f8ab31b6300d0879a52ebe77c0a2b780135d356b0d192cd759f76b0e0c5472aebc6a60deb339e7f64c031e57c03a01e36d7d1d4a0c738b343fa10bcbf7c3d497685d39a91499879d4494ed2644900795e2c733dbb87a66bb326f58d5da1f19a68a710e6e4f34e232281c14ba9ab32f29d8e7d7f5edbd5ea3333397c440988c24eb964a637a97ed4a06efe71ee5f7f3827d2c66d23a378b0dfdaa575350d285725896ef4c8ff24860890c0956ceca1e7ff886bc1f86f77baf4ad868fa7c866ce15ab0aa8c1d2b5115a430bad64b81d8dd828c92d77741a6a374b8a3cf06b232e3516ec8c1556aec6db91db22efedab6e258a45e7ea7eb6d01a69fc10db87c52473db2ee8817fa443376872019a9d70f756324108e53caa8cc9aeb2d834c7cf8827638f7af9b76433d77fe78dfb306afda80cca809b15a003d4c5aa44945ee92e719e7f6d50951277e197ea7b204e616e3aa9ebb79a67c15a00a8c4387677038be6635696e5c6297f902ca643e85edf60fc66b5e1b712ad5c53221796ede2889da0bf37e9d1e32dabbdc8db61d91dee08fa34ca813fb53fbdaee843165319bbc377fb570a474798d7da579f1a4aadfa18cd704c32eb08d6fb5d4f105b50d5c510109f340df29144411f052d0f03ed6edf50e037b7b4f8fa7ced3a0a7d297c67dc6e971e75197bf44469dd08aba9d4e196bbf04e768197685cd3823a1f5e0bc45d3da779721ff68994fd7743f3210c99d91f16f6a68521e93decea822e29f8d11521af9f606bc11789b1d0d51921e98ad75759442207c94089a5887f0a8872a9ab9c18cda2710eb259c5ab7bfd41aa36cae2edab1e595ce7386a41ba8f3d7c81b518cc8b9c6d6827a28c58592124747595b94a28a2d279b499333fd6b62293ea1eb889a84d75cdedf92d129540a2e12020aa24405f8e70754a52386742ac94245edcc0041829cca5a25c70ecd01447598ba608ae8cbde9ece8693078f3bd215db46539f0cf42f8baff3b6b63f1a85dd0adb8efa04e1ef586ae3cbc0b592c5e997bb466ede3105c48e23147ac9750120f35938f03534ad5a9ace517f90b7fe9c32f2ecd43299adbf4826c9bdf592a6feacfa7ff47e207ceedb0d56a97c83abcba3f7ca10d0ba27be7b46a3a97a48f10d10c716eb0ad0516a850983448386395a4bec270e2617b56472c0cc4e1fb59a6b2f229896b85f9e317864eceefc71c9c3e4cac788c52b9c5b8997500be144bcac457066940de627cca6d8f80293798b333491c83addccd80dcdca5b5c17dc3ca68c4d30b3f43a480daedf2590b7ca917fdef93f91f596ee5c4c7881023a3971ee7d267e00f647126318c65ef4d900734c9e4e1a9a0d78a80dd21cd9fd15b66155b6b9dcdc67b4f2fa2a566767f5524eb1b18d4dc2a5ad288bd6b9a7c6cc1e68e23ad32748d6b4ddbf6c78bd0d88e5a8cec64eea352a12fe22a64117a378bdb536829f0b5a839d1b6751bd010923e336c597cbc1ccba5715a6ff7e3086a0314a24317af9d49aaf70ca4f5e6a51ded965f78b1fd8e2ff60d8829a756ff1c92c0552c24e9919ee2493b1979cd80f09eda1a3a445d8d84f6d68a62dfd27bc46f3d7739693f6ca51ef4200f3deccaac2224c66af7b8a1dc5a05d085a8ad0705946a6b977e0591b7ddc71e1a56959ed70c26cd8c639b21471ecc0c84cf2c0534c7b667cb8c4a0fbba286e9d13aff239e6fb8978caa45df70f5aaee52a6bea4708567d34c237c33c2b7275f773a2fab68617d8835224e489342841e8503e344531a90ebb16dcab6feb51855dbda878f06ccf3835e502826a8aca0d5673adc456e8561da11d19f77afa2379624565412041dd226e4cc01fadd034e6b41f6bf8564247b05aaf768f2e806718da3962a808ccbad7eea24dd11f3eaa20bb336bf4e67456135ab1d4562e1519b9cd38b320bd35c39134656e079d88d00d4c3be9ed179263ed1d50559ccfd644e23ed8996abd67eb7823d1c2150be736378ad0443731329975b342dfe6e536f668dcb4ec495c5b6789f5ddd6e97c06ab8b4c4855bd6089d7a06ca0c9f3350f6b63073b207dd4c0f0d328b4892e2ff0dfd34ce706a0305a1609aea4f3b5e2026a3cbf0e7f24c6c7f036a8f7ee8161701b1024b5bfb1b5fd582f184a2da696e31b1b596ce4c17b79e9ac8bc9b3c5f43c3c1a5f98a9311b8f7597c298bae34a9d99ad4c4f38b885abcfb90984a0b7fe1c8ee07065d0713a40c7be5e8a01134d1d317cde25478af969240bbf0c173c4a761a5e210ff3d99c2fb7e9e8ba96cb65f57a68baf488da032ec8d46456173548fb971f5a201a1893b9b1e97568850eed0d72a7f00f0afbee1365555016fa28d283052b6186b5f2c1612dfb7ae0a44689b58ad56b8a392be235a62fbc8f28034c6ab3f3b03b569b64204b9a5984f8fed8a9e5a318e12c115d37a41bc02107fc909090abe08e0490748608436afac35c16ebb194c8742f8c347ce6216d3689d2a4b0b5a791f95929625db4d9e5c0829ab6229c0e5182cd35f599141bcbe1a38b8937269ac8988725dc261330616aec760f7a8e9c30f21d5ec77e92adc5beffb8d2bfdb630c9abd4cb1518f3d7710024efae2f9e0ccca3d5f741903c0118c067c8007a3676e7798b7650f5636e47211d6f02553fa2e0352cd3982aeae7c7aea683613db81ea95920fe40f6db0a61a20aaade2fbe57475c314efc3e5164c6453d214566b24ab91c4f13e43a8657bafea9dfb7b82eef18af30cce7111f92d621dfb1e7e8c4ca395674fa39565c725bbd1e392e586fbcf52d15fbf7003ed01dce9bf24d2b6b5266abfcfb95123a92f8fa94efff896c42df58f299f86797c5b4e91aa7f18a5ece38d96644286f49b0c3ba0b5678d60ac13440d5828b91350aaf4201f503e3b851eb4e50aae6c4541edf8a9da449204b60c6cb8e8bef439b0d330318aa170686e464e8b4322904a29fcd35ad3440869014cea92e4400c924ea905a794f23da02337cf24aa807350f2e75f6e3c3517dc90091a5a0a7b08fce40f6875331ad6e49f420af59d5746dfb3a7ce9ccdd1b695d565d995ecb8999b81863b4f307f6e9fd38a7152aac3e878e524a5ea337090b3d9c177125bd912a568f1e54231805b4f768e68d1cef27959d8de49424550b42ca263502c6cb55cbed38c256836ac3eb95f4139d40b72c69bc0c37a9398217f716006d92c72547502b37934bb0773569b2613c455aeb034c19e07f15075868cf32427aa83b2fb2538b41274947855339d927238a531340c9c02bbe85126d0f090dafe23ace7ebe80fedcba29a37a13b7d404c422b187bfdb37ec5afbe838ab85af6571b295e1fae7460bc0aef060d6f0c5971588145792b9ed37f0685f48a1c7fe3c9b6e3a397811e46788219586b0a0b5b9810288ca5ada0bbbed5947c334e273919b50c873b2c038281d34b6239f06d39523d8a227da7e06a4dd0a33fd8fd2ae30bc6e27197f725c358c197ff7eddacb0b08e317a41a66c5fbe567d0877849a07dd9ef37c1ba827614b16d277374d6acfc72d8e6a67bf66a44694894f672da555af6360b8f7f654d5dc9ca37bad39418ae00f229e81dea77063dba488075918e9438a6395377fcabaad48dec77ff48da94e8e2b35727f12e93b61421275e2dca12a6e710fb85869fc5f9dae3565d769377934424ed93c81f4ee538656c50b28151c77dd5cec56469170a770547253cd2cd2c83726fd046663f5cd86e206ca858605691c3b8866bb0a1657acb527300118fbac59bd8252b5f44aa46e116481a81630f834a117368ee26dd76ce002c1dc9badbafe7cd936d0b936e7a81d9f993369453205264271944c534a9b94f788eb5c405744b96d6b17d5a16d651c9172582a487f5ce8d99f8d5654e14815d6b81ac39159fe04a829820aedce3dae8246c5aeea9615e6e1ad7b87a93686b5aba20c5a1ae616df064361b7914067cd8824fd083412d1b8f6e746028089197159eb18312c0a7e814d3c117d2a47cf58b980281603d2ab0a2ed5e2d580d4469e8d673f13d3afd07aff1e936fe765c6843d744fd3843ae1eb6afaaa224f327c427b42416e3d43ecedc7e21323f8f486e8c35cad39c2cb178d2b8c8a37866d222959c5fca13e3e27503dcc14b84897609de748baa3d811cc7fdec53ee12b96f84ea2f5c8639d35560c3857923172ad8b89b5236dd39865fb02a9db1eeb809e4e161b833f1164e8072a426667d4649db6fb64e660e3d0f2f94b479dad61cf821393e3e995ed453e33948f633501d6c2bc657973446865013446b8b7bac194cdf73838a39c3016190aaabcaa89434980f54e81446a120855b963ee8dd88696014fbc200e908e3237c70c927979634d15c2d91b44862fa5a25c61292fca93a956c014da4d2e27de9872bc646366f6063f1adbda8d3b499fc3c7b26da3c96a1356da6c042beb388c5e7cc97f29dae6608f601c40436a17fce23b24c98103ba22c9d1f5e86332d2e34b224c77b60af3eb12e4a9bc1d44325f5be188ea549c9ee32e7a51ce61e4fe2310a456f702ed5b8bc602dc54024a4651465040561a1da9f3e6593c61f342a46d02d9dd1b8ea8e1900f9c85e963020808191390cbe5ebe6c75d5fba9dcf3981f9fae405ee44190ec4e9466caa506f25e91b2f329b8e5a02b4669aad94bb2222222265f903630488044e560327efe4860da53705edc9123a4abd59942b4f7c4e3227c122b127a59f930fdfe4e9cdf79992b57c6722898f5de535de536d1d7e4b2df1b51f4c3c6f884c2a58d8c0d6b9459f59a0627eeddb0ad7d2910a69555591dda06269512ba1396dbd54dc81fb7216e389b9704195d62a54ebbeb7cf396b57c73b395494233b1fbd8dbdabb5d6da1a84bb5b786ff0ffa73df36b8502a6c48c6fc6f7d6b817776de561bc10ea1bcb6b6d6d90f1cd1ffffb33be9ade1a18e719e3ffff678cadafad81afcdc11a411cac51b2e1fbe7561ca597009c40b59fda0ad02980e7b579dd0b3f9fd6daebceb07aa3f4e63b71b6799c737e61efd00b1844d5fa00b49e42d6e67bf3b5e59c6fb6b2a839d47b0267700a8b70debba848ebbdb1100e97add69b66d106fd2f8a5cefa224bfed0854965def1a348ab0d822277befbdf7a6b17516e6fce25eb465fab2e690d79da8ac31c618639d7fc634e3cef5bdf76adbdd7c737e7fbff792db5e2c8ebc1ba149dd39bed75edcb9115e7cf7cdb9dddbe27b31d6786a4db30582a9e0556fb5bfc56ebcacedb5d6decbc531fb98df30db9ef3e2e0ffde7b33c71a16cb94676f2745bf27e598b7bfe66dfe2927c591dcb8636c352ca6b3bde2c8379392e665e119617e755b6b257db3cdbcaaf7b75363caab4c7789c52f700fc82734abbd59ef2d661216f3bec76eb091acaa7f6f3adeb298452c84c369bb37cda30dfa7f1c7bef1f470443e7eadf9edf446d395059e2cfc92e04036feb23abf831a05189da3b8d62d6bbe31a9979aff4dabfffddf7deab69d5388756919fbc6bac45e2c19aab9039deb573605ed3ac991c11418e0e33a9732e72b3baf781abc6a5c498cd982c4b7e4c41dd122ea19cc6d7fea8935aeb0d5bad73ad9fd2ce29394e9a6f7831b2264ab78258c58b3d99ba1de69325a41137b3b2993fa68e99ad20c7bc7dd6eb6be7de1cfb7159b878b34b8f6f3f7371917d0fb8a824cf9759df3cdd617be7d69275a77fa6d52810a53743dd0a7a98450d887b65a430ad90ec70d0adc0cbd800fb22a301249f62012dae598bd2b63cd7cc5d25931b556598b47be36c588031334bbb79272d84682cf3019caf2b535d6d09b3f357c55215ea368d4924923eda65bc13948dcf66b130b3c15e57b09ba75950966fb8e7c3e31ee7e292220ec9b1a0b9de83d4c15760f539dd8a819ccc216417342476d714c82ffbf90b99417e9c0b379e5a9e45c2e962b77d6464e33ad236eea83b45deca5c96d9f6f630d2b61bd83f6a6fef6747fcedbbe681747b96a5f7fb13d0f347babeebd86db967c30965ab9f6df9aabad8396717fb8eb852fc67d4df017032778c524a6d7ca6c46cf153d294b38d7240f3beb725ae33bed6daea35833a74a7c6d362808b896631f1de02f60bfde285ae01010101710e04b43314cd284d3afcb18fb55f96e338820d5b7ed56823ffa30b2e709274dff24e85bdf73e7371e5b17c162f7125941d46e4a3db6a59d6da65652f3bfdf8c894235a664ab3ddaf0006a95056cec6f173cbc3e342adf79e1eda4d8504a4a8f0f3d866701a6dda9e19b7ed943cb31bcf8e8ed6d863ab485666cbabe33c49a40e2a0c62d9ca0322874b57a9ea54e5d55aa9cf0d36c4715cd1de3803e7bd2c7fe79c979d46a3e13efebe1cd13d2193f9ef6fadd6edcdf29b0af697b55febe965c9697ce4bf2ccbd2c663b9ddd9d134763a8d368e23ad77da6c667568331935b2c21bf46faf7b705a212184912464bea4d98143071529a688ecf03a23838f3e569e6edd481fbec388362a1c7675e1e5512d4cc91e3c9e12d313b53afbf394fa289006e70326448142028bd1154a9a845da0b8d0a83932dcf1507b2a054c72b9184534cacc0541d4108c0a88b0663f2f5743dd0cce0dc520f2647c0c3be7d38fc397d2209ca62c31316142c45413a534946226cb153e9e5411a37926470df73afbd8bd39919b749173e3b5d95dd25805aa4f870ed512c51db3b5f42032acbe606df14102dc96334239248278316f88ede08b968030ad74922863d54bb240efcbd1aef743c2e239259151e23267a94b16a54ff409e31e258d32b3739e11e26808d216182a2f127e5042c585040b25b8ec8c4451f111bbaa15cbd64b7f476c51fdb43095361b651102874c91ac2b26b82c95d9010c912559c0b0eaa75b96d20b642a88ccebaab7b6569f7f54e15c64af671dca3fe772fb0667c7a031d2e759ab2d57599b7bb92a03b32fe32a1eb68ac253d6465479cddc9239c81fa35a72df88ea6dfb5e53f8f68b21f439bb687f1ba311b7fd806079780a47e11eaeb249d768b7710dbbfbee9f477d4534f6fe3bff3cac75c43283f38e5d7f1c449cdbb62d876328e75cdae66dbced71d47fcc7cdb7491a55463311c2716bfb3232ce6554befed5889877ce9cc1646c3f049f358b549b1921f58d2036d35134c6da6957eaeb1d655d36bf5cc7c5a1dbcc6600ed0077277534a3bcf39c049027e4d47f6def3ed75e6c28461ca3075c83171c63637e1f58d1c43a1c6d53bbada0d851ab4c2f814493284a21bbb1f54a973580c32b81002af0848253de032c8052c97414702e8031794befe510192f2fa054a5488bd312fafb39313368ae4d6f90693d3fd65191f86cbbdf7de1bc09dd6016dbb15577f88423143278ec6586184cda88c122c6b746851a2c8952924d7dc9284d11372e20001aaa101cb922e467610a91225bff91b4fb132ee9d3fc677df7db7cef806c0ff4fe4f6c402ccd616570f22597441324516344f493e10d18607295b35057c7a415fcebdf7de7befa5c265cd149630527840b292050f4a9e98a2cd903062521b8cbbb77d5e3842bcfd614d5019e4c7fdfdc0bbd65abbcbbb32f150aaa88929a37401fa4b40a82e20eacbd1baad0db2cfcc4077bf208a10a9908beaaea55e567e4f80f841d90114e65749c2eeddf6e1700fdb89151a2fa3d286891bef8760e1f9d3eec9680922de6b2548b257440c1885a694041625848b504cfc57207b075bb22b3ff4aa4675e743941525d98c036970ad50a5e0f2048099df799e9faaa2c2f240afe5b7bcd073c95aa0112e0192c58c62bb182fa614ab3a22b562c1d8568c2b368c75f91f343ae07c3c8cc7c5c4155c5256b4517a0204144671b248f133625ad2e301b40513c2b8605d5e5fb19e28be3449f3834c192379a412c9443e913e20a0c022b9c821d9457ec18c6047301e2e2782886248043b25ac7f199147e48e44ea5db52b310dc1a68a47151f47bce63c5de570a4896f899d991ec504ecf2a4d01904b604af7e3a9fbc3ba4ceeb495ff6a9f2283ec50b5221c2b7facdbf629c6bad954d11589ca8954e540144fbe3d318a504091e3daa7829d284123584d9c22629ca975492a8441855858b1ff11d47e2495c892ff11957912e323e26292d8d4ce38834b523ca47929a5e95a929553b88c952ba4a42328cd3eb6138a56b04dafd7c94f9058500fda003fc58557bd5e765c56a7f8949a292b814149bc427114a8ca1b932e5f786899f1825c4c8c0623a0026ea5ed5beaaa9184d011e51dd9dbe0db5a53689e5e54ac7edd943240a94244d4845e43020c50d1721e438bdc96292dd15d285aada6ade2609334d507c21c9ba21ab092672638428c721ad9bb566de9924a81c957347992a5765abec8078cd3049c24c9bdbce1758ef1d065193a2c256b887b14e8a374379e3dbbbba58972a38ace212535418d8dda1068d14119d160efab0b4ac9570e865f424059459a0a326d2f4a003a8cc3fc36fad620133bdb2f5e84a9c9a8015fbc49b35bd1f6bc28061d2fa09bf6cae160c5a8b556157598ea448b123ea47932b402a363d78f12222a942e687e300c80158d30497d0d9ad21bca8e1115471ce341ef051504519b18288a532e2912b4753843f586939d155f593616900b95610dab865acb87b092f402643643061c58cd690586e980156bab3631ec565b558dbaf33be0a8841bab5fcb84d2f6fd2392fa557503aa45e4280d01b76e7a228fac81c753723651536c3b1613e564b1c13f77feccbfcec16fb3f231d8a20f3b79c6336fb33221b5946fa5b45de66f0ddb83183b6d65af3cdf7eeb1e39ef3bdf76611f3dcc1b516b8a90e5ffd2eaad64b764887d4ab569da398f786900708356a181c47f56bebefaef65a5f02fd7eb50108239c4079b70cbdb57a01b597de4b54a46975536fb596da4b2f9d29e0fb31a5f8523a5a5e959717acae36af7c51b5fc41ff5d9473dd15c408c3abfdc2ec8026c0c24f5055afa80105e52eacb5060561d2085b96def3a2fa75802d06b059bdda9abf76939ca520fbb74d53c164892a19b6f71a50fd41b12b5f3e1fc5026a714ad246ff6bdeda24f6ef8c9fe432cd006f70ea0ac24c111d0410219472840a2a40aa8cb75ea546728bafbcbd3d2d2992e57f3cdaf5d82669813c958fddd25c3bddc243998cec0da94e04967c49cbffe5d535e4126e05b58058bedeac8231f422f78570411da8dbc6b187ff1d6b7fdfb1e30596b61d9a8df48d7fdc707e702306382c3244f3c20fc9970f42a22449e2e34e6913a0522bad87524ae9b005303db4cbbdf0c7c7e7e707037f3e508beff37fca217b03c1c7fbf8162d6e3c823f7d0e015f843401e58629a678c9b13b62a555051ba44da044aa1d1e3e8cdcec2d01c726417cec6bfbc434b0ac2f74f31522f16a9292f918e9d8fb9df3ae6dadbbcebf265f690c0896deaaa2f375917aa64073ed98a5df9c2647627048b2decbbaec7befbdf7332feb4267e050e9e04861600d5c797e8ef2ffd4766aa5ad068f8d06f9f33ffee77e3caeb711c20a56131073be5c91638a8f225d4ec0389941936b3b360bfcce9fb2f182da78b526f7f63b368df33a9bdfc8b176bb7ff47f86be65366f83d56a3003a4909fbcd56ab78ba9e5a6aefbb1ec7b3f65fe7eef31bd711a5b468f6dbbf065e97f597a7f0bcae26dd0e824ed27d8e0369b24fb7d366356b72eec7b992d87aeea601dd38c3fc669801867a5b981080e6f822461b9311f10e281a58aa52b27607cd69bcae8c78c1714fd4d35df8e685b305e768a54147fcd8b9be6f4b8c739edbe605e5bde97a4310af9ef62bff1db788b415444c306997f9c7ada9be6cb90a10c1b2899275c84f5f318df3221654b11498e7455d98186286c8250800895e678f12cee9b68fe8cfb170e085f300eb0839a77f0b2a601538e681a23e20c753f2fa3dfed976bcb3af136b6afb7cf148874fdf64d7ffe5b696e969aa9647c0c01d800be05a57adae28dda00743aef41ab3d4fef21d288fb31de40a84b5ab0a9de36f46edbb03b1c0e87ab44c4e14d5d9c1d945405faa0e814ae2cbd9740c796b185f0a58d29b4f4c9949c10f489529e1253c5ededfdac995e1ae4c7acf8f67cadfd3a8a449fa2a6aa6c14147d7ae2c95ae2ae1f1c2e9e9010fe516144ebcd9ce6dcc1dcf78b1bef3f769febfc4767b3e84141414464c722eab6be4771eb2012b205913c82887c6e2806511e8201a800e07c50db10dff9fa87b015eac2edcb0eb420b1d3414b124c780c38393941194287383deebf70fcfd1f971bc24901605bde6a6dc5b9f4d9e3d719ebfc2fbeb3b41f971b12332dc3adbdf5dffcbfbdb4d7ca5c9e8df5b043ecc3c5fb3981d65a058e588b3fce5feb39e9d51feb8c814bdc1a14068794ee39e91555d69a524ba99e3aff9baf8d5661ed8259c1dd9db4668d5cb2c8988182daa846d36b67c4dbd5b25f6bbb5deb6ad26fa9b5da476b6d8c072ae1daa5778897c1d9a1a44d36e2cbdf959f194e466297373dbce9515e27738f62d555f8ede68a8e7b6eccb498c164e7468b8fd2af58b29db1c4bb79529be143941b22b4194d425204fa128b294f1b42912bc04812c0b1de5f6bad534049e0e28baf85f27eff3f941bdab8f2e684b1d993f4d3a3b4649b7a90caa872aaac2a7bc320cad2070845973255ac5c943ee51253d9543e95506512cf144f154f8fc7e765a5a7270a3863703d3c4d4f503c513c523c4b3b3b3d5fdde192b2038f4f09006f4c1832649e1228a0d401ea047776626c4d3b4f7f6767878a870032638052fa009ea7560306815089c3e375ace7e95c1daab363839e08b053a3aab2aad5ae6a52341a4d48ab452da9e968f9e0452b0a076e3abd2b1a168d6a169c0967432f1a531c5a8d8d9c2b5b6d369bcd6632a16ce8558d9478aa32670645ab72464d94200fc6a7c9b0805a325998fcac44addcbc080026820293950018140744e2d128c8411cc541ca921fbbe374b8e100d5b628847a16abfa1b2935cf0f158f06379dd6a3502f1878beb8bc273318f9ce7d5ca34a4e63fb90b60034032a2c6fa650ac964eaab77db9d4bd27e9d81eeee83ceb0641dcbe76de3602ad622224bc897c0b078b4f2d5015fc3f4b41c77ff5b09275566387a41764b6314bc8e2770035e59161e9c4a64487437dcf66b3002342dad58ce837de01dd8a46a3ef67e02530cfa692332725c91c8401bc035a445b4465b312eb178d8460743d2023c3f641dd4eb8dd7b4e50b4701382ce9c4e04baae8e4e1859131c219d579d6522f7763650f2fc4143dc513a9efbb27e85c2b6f4e08f929bbbcc4d9902613a905c4c0810f474a17d9249ff9c6885152c24ac7fbeec3442377c5bfa0c3c124a25fbe1873597c36ae9b80797e118368f90ddda24015f61c83cd9c8498051c820894e38f6eb7ee6e511ad59c52cc39ee0d8abfa9dff90b18d7a34e01823a3d8fd5f4362a7c8007ed3be0bedceeb80f8bed1b4e4e66510ad491e9e11fb283fff5a995d8e03e8af0f2325d86833eea6e310af9648d340f8a0aedf4a49c641726d9ade97063d1e77edd40c178728060bf2ff877e333efaa01cfe0fc4a6165a5da96bb09d19ae311a772a30aea74502cd8875df10bb5564ab8aa7b000440ae89ab8c97c7c4a24e556156c798d5da4fcbaebc22361087efd8d3b2b740ab94c9ba03f7f1c79137e51809455f926873813b7feb6a89ac67d72e0da8e4967e5c05027445804439aa8974f330e6dbecdf9e19a0927316b76f58df3c4c01eb1b1eced726d841a0d7daf9ef93688ad41740b58bf53880607b8e90cb95da51a7ec7613e6d6ecf392e97367c750938afa176a59ad6d7500e77a5275b158d1b2f87d9997c23aff1880d3516327a28c71542eef1b0a87ad94378d361dc33b76e93e5a17e1f843665b6da2233df7aed2d515ce7e11981013561fcf43091c82a65c2ce02d5be78bb586f542e27f1466740a24b559ed2291071f9224abae38e8b112f4ca6ba65c4b94dfa02b9c42719d8bd10d33d9ee4a1d92320fd89bbf39f33dc558c53a4f9146de2bc0a4ce19b0f758bed64255b397597bb23975285f9dcab29d5dfe10500e7b20e4cecfefbbde4a2111c1d056279afeef531136a51be843c9dc4b5fea133f10d0936cfb8a19a3d4782fd314e724d2a49fd6234278420af6b72de63483d417735227f1d5aba4ccdd0f6548e0776abd3247b3aaa979b8b2a02011c7dabf8ad9aa7fc84045aed892b24f992d10f31d780a07a54d328b981faf2f906c4379b96a24bc261c955a3a72fced2c984e27101ea2a94758a81439325f37a52771e14e03106fed140d3ace997acc2356a2cd719debc00b10fad1e73e8886dce3b4c98cd360bfb74f16b23ccf4463254ec60368ca9480e2c9f828baa91e593c7e0562de3c9ea594b1edcc00be205f920a2ee906f88351f9f59d923274d9cf043e1bc8767e7520acab35529c942f7d48ece97e72690f5f145356aa3cfe1d92712c57bda500f0c26f6aa3b62d3ab6eafe555b704b14fc8e1eac3f4af190bad78e6566b812a2e24eb42012d12e29db4b4e6e8a105820f9a0065874cdc16811dd255133a9aabba9e493e8f7a5a913c455bfa7eafcb6f51993b47080de6ec6e29e85e14746a67e89930df068481d94aea9060195c64e00fb66eed2a308a5323a05b282149d2120d18895f451fd137b5f66cd1b089b4d035ecd11cdb292f7cc46a7fa8ae64d033ac04b1f4899c77f211de066adeb8d9dbfa69f65635d2d58a33ccb035d22c68531d56a5ad01e193d6d877fa54da3c0d9b31beb89f03f63694ab40233a4416e679c0b25ad210329d06546c6db6e45fe79228b4780d4acc987249924a0147784650071fa0baa5a75f1978977bc12f5f883cb31029b4381715a69f00b3339bf48b36a7d58c5bccfa722ac6cefa54edc413624c9811f95b814e9c1cbe272b8fd49333743d8b574753cf15bc5760a5d99269b6c1ce5c0cdf8de7fbda3c491394d233db459b23f0bdf4e1630ed680da1e10bdeede2133e5c5478f9fcc0b10d04168cee4a21f080ec22c9d23fa4769ff650bd28237aaa3e3df4e5883c274b53ebe74846839a4f434cb20b83297fb87a354cbb25e8e2dfae505dbf2ce06069e6546e7a7fe38e0f3bc39e1a6d80146e6dfddab15cfe521c939a3208feb9689b65c71d4a1b2ab35f37f383dc0bec1cbe4823207aa1f92b6b78ac89fcd732029ddbad1bc9cd0624d5a815b6b621dae254e6d49ac3732e5b448919a2df0c6eca2a5b6b76706a72418ae08f666c1c87af929b0a777f5d75a3475ed13ceba3f854c8448f7aa91ce4d6768ae48ff9133e881eae61935dfaee52cd820040b0abdb23661b31955b7439d9220fcb34487b624b3fbc780abdb1d1fc4dac59e36ea039a9e4bcfb26dcba28dab883348c1b89b8c1a142f3d9707256cba5c7cd740d3b02bc28ee7ea8379577066ce49203e36ffa773cf151639ed29686ab9a52ec2ba40bff075e265f8fc01ec758b4054e969762badbc7a6954486364f4194eb0a96b889a93b6538f212d4a3aa948dbd9dbad583d0a96374749cce4482133c160fd34441501551088fc5e319f63a1601d50f827884a7fdba16161033f22f3961005fa03404ce118e42a97c6886e4a9c00647abf34e8e4e15744d3b9381ebadf7583b5fbad5901102658c713126cfe954e41f3005a73e9d632f240cddcf573c7f95df63da9572f325f7d9938ea4db5dba52619659a23b4254d6bdf3d531ce3bf77214cbabddcccb38e6fde8c2f252426023e2de19f11109229c27117b1859c2eb19a8ba6319f5ec1bebb90d577593b4240f56c1c2a6166940c756ee963b43844338b5999cf8fcb52749efc88ff5b466b289f63990f78e97e13f94a3a393cf342c7c31fdc3bfc94d03057034e0e00f3e848673340e8371e4ea0495c815202cdf8e93a81b010dff1d1eff01eb9a9991a6267675a3d4fd01950fc75968a39d71e0f0355d39b667b7a7f9dcf5c6973ef442a4db29a4ca45978b4d4eb7e457a5334b7cf675500b65a67ea90ecfa552f8fc2002d82717b65f41766bb7257225cbbef4dc071de5a3bb8b8ac2bec53861af460971aeb20550456ceca091f145a85f2e86d70125630d273c416d725885f4b7adf7ec3e0965f092fd6ebe3fb0594b3306696ef50cc4e585be97a41bd475abc1b9f4387f83096f9f561907db7ba420f7d760cb6d3d7f7f43d6c58751a4fcf53d4d38684b2c83e66b8db8df445df99389a57f169dc5ac4582e34367c4ae8cf5920dd1efc10336515f43da041551d68cfbfdad4120d31084f7f42a2925e2f8c86b4eeb1325c97c7f6208d40fd387229676c63728f53b4c0f128d3f3250da87e106822401cb0a8620a324ce9e5c409115a949c5b82e462d539e527a2fba6992462cf2468d47c22863b45711cea891f14d9d3f807dabb11740a8ef3cf7ff8ae417783f811fe755e7a6f971aaf2914be9ff9b0b6e93dfe2c6faae61155c02000631c52b0a24267bbcdd37ae15e118c095b5e3e2a4fd303a5fe4e90a7f1eb617bc2ce848a5fb2206ae152ff967925b0fb6ed27785bdaa61bb575c39fe543e0ec705f9683309ffa4a75327c3be9f8796b2e9d8de41e9e1a494048437af0877591b4fdb2b8d541451ecc9283d9d3c1cd910e9a1d22027bd6d170f41c4541a0243e79c0e5adf89c65a46f54310326cfd54d17557a0f4f6054a0366a01c8a6415549b7ac22c76c8fd957a488adb1998808e533df308be3a53c4acb2f8aea47295d68cf92cccadb28ce4897f2d80081e5e5e8bdc48af77be02e421d8127f549e92be68954e9c5f199a2ce5c74b95971bfe17b0ee1d5be314ac0c43351071c935ef5c867d02001d42d9c8ffd4a00be05ac9b33718207e3a38abfe337d54cf4ba255788aa09f90a1d69665203d29c91cd6a0caf358b2d3a0154b9065f144f46dadc9cdbba7cd360c44f61add1408aa107e0262cd21de864cb5b50c0941b69940158e7d88e03f6f3cc6af49164bb3d4ae8960300e1e8f2bd70586b3ba8177684ba7d38291b8fb07991222918dea929896e82f6b6d75c65f8267d030a7819dd9f93449ba8e126c85af6e285738570d918fa6b2c3c4e676b58de57692505813b7ffd1f9f47acf187d0ea0e9718fc3805b1262376d05502e99fa19c308b04fbd4bf8620a5080e02ac115ca866db1b7c3bffa2afebfadcda665237f2312fd0941c3b4e000144149ad4b23da4b8d6df66f50914359529f1ed01ec473a7ad9537f5f90174c3dd0d09ea41e5b01c679e24799b620b8941dd2f1620157d28e8caa53b8d44ed10ce2727cd4734c36d75a884ba27682ad277a8b56027da82d94b04e906ec6a7c1b1e04aa6eeff012d898c3ed119a17e618a7957b48f7cef147c981268612fd8b9b21b948af5600999eb9585392b755ff2a5323c6a9c35e412a83c6e8a2a10e14266f6ef717b223e830f6812bba91c2660639d81a3a7ee9163dc916bb6d5f18d16127e3918ad43b4ea17e9221ece0945eacc76f93b4f92e0ecda19ad11f78c675eb1f5cddbec1f1dfaf1fa97ff4169ba8d3fb569e0cd66003d79c9a6d3e972128d9d16cdc9e7489f682e13593ab4dd4d9b742683da34ec03d2441d93f8256d80c18d2c0b87b1d7d1102a9efd42d94cd38eeaabd00a6e6e10d98a9fa9b195c94a99304a85f219e68d8f9743ffc75bb36d0c6398c6af2a12e61c53cf0f2755bbdbef5dedbc2f4b73127c10517eb5c23021504e810285d050df3e86af7862f773b45bc84ae7bb391648d1b54a6716dc7f1a02820eacb4cc173b0623c23afc16976b8a28629dfcab25e14fbaca10c75bc14b5b049d80a9a64925c544b9b70b566a0f48c81f50d5a9e739517dfca2f1b6cf4742ed3d91187786426adcec59bb98fe10f944907e1f270b8bc415520f4104862388c5292cadb19a7553a6b0a24def01023c7d63675fd192f362f4e2e7c1990b30ad09d01dade0eb38053ef929a1a2e1eec09790dcbce6c4cc943cb0c274c93fe599b220b061285ab86a40f1b720ac6e32884b28b3db93255aa24197e615b1a886000e8d284e9a22f072f5cbdd4f3b6b5db560f6641817f84378b48a20d6bfd5d88a02f92d69de27765d49d0df28cbf3da85cfad9a00d3cd86bbec56fcb2ad8f8c233d98ed24499d5290b786f56578ee59d40f2b4cedc1ac963276878f86abc3038daedf58c4bee86672b8cbc598a54eb4c3517ab2c9f2e81b3990fcf4c1e5bd53a65b26d1f5bdbd551c0b3b3b6c4cac4a3328007ee491ef01f6b8744894d6123272adf0948734a0ce77ca0d233e63c70916ddb9bb1a91f7a45f3bb7607d5b8d9bb765b244bd66dfde056e28f04ef4f516db607d8be0a29b6b5ea20ca3b367bff14f20550edf22daf1c62e62cb83e853a83a4f30d411105e80f5b5d25a22f0c0f03fdb12980f11a334c07d482b07783236978e139532a547e1d7053beb0f6826dfbb74d77039e0716f8b6ce385672ff747d04a3603bae7f4049821944062274cee80d855f85813a048c9642ae6065da926c428a0305f783c5f2b851557c1975ddfa2c4be873299189655091c81fb6a96c0ea0870d46bb42f0da490429ac2d2b6dc1fb2c98e0af62cc694b1e4d4216df87bd99f8700acc9c59e2777d60373098e770e47fe6bcba016ae0bd065e968e36914a1b98c3ef482bd2bf342dd04e8817e84ca7438c22c167144651f81ce852490323dcea878006c909cc600b8ec03aca03dc62a14c7523007e9c9344935e8c255e4a35f6ac893b0fd72c5c53c00b0dd4d2a0c0c385d00e14d20dc3785ba48410405660f2ce2ed743d281a405fd4e77b43084729b2fc828264e94fed91482799bfc52747c7ea5cae53b2b86546c885ce0d5b5564975f9f3994215e117e7f54b93a0ae7b0865e8d93d8fd648b9e1b3fd5c47960f65affb1f816ab46f967fb8a3d9f15215aa3e51c042dd656fad54fed5606c52af29e10f9427b0bdc92d61046cef545d0e6dd98d75c18ec4418a3620465131aa9909dbf0d3802a9887f65f016db891602b2ef30fab51be24c156e3731de42a4e88b2bc5175b2bc59e4a0dde004429d1d3789f888af921f3b5e88db5349c370ffbc09d00ff25aea7ca4cd52f81cd6bc531a8d4d9182e9fc7d84ad7845f6cbe6c46e2093a056930117c040bdefcca9812dc49c6a0f002600f4d123a906ccc2ad4dab707fca940b1f475558bde93c9a2859f39c81b93ac54222b1535305e7eb0ea35cca643532150a2aae66ec466d7dc36a353d88a6f66cb5965230c1500bb53424862222caf7f67f517d491b0bfc03db19be558666961fc1f5e04c64690be4721dad91b1a9c9b86e1eaeea3ebc6341c9d40a965081b19fa92389355a3ef09bd9d18a03ba38748924a60b7a685b64f1f742ec36ba1dd2da70f9319bdac5d2895007b1e6f5546fab49743cd5bb9f39b84e33332d8a9afc4178237ce0d5db755ef58bc143522cbc733582131fff69656a8440fb69855ab6512d9386a5992c8ac7939295e541d445bc9374496cd653d99ca15e2ba3742d41c230d855269c02dc04e6181ad1eb89de0e50a65dad2c83bd4e3f1c72a7a6cacdb251abed2306c7014f7ebc054954407431530d32fa5ad9c7e84b0cd69b40247e73e1f8488251ba4ec66ea58b2003c27ee5a95661096d610075743f01192d8e8f716b25b59ada723307039ffbb1eea78f5a5591d1c46c6b6e6caa2ad3c2c6a9a2a400f5555a02531f04ca0332f73fab6fcfda6fa7f0ed10a3d42bbc89408b4206d6e2147469e3eab3fcbfa23ca4c3d1ae3f1ab6fe0af480755bbbebdb41fb70cc56ff21f0d4e1d8c94aec10e9db79e205a104160f71cf19a373038fe70b67a75ecc8231c94fa922f0057c9373b5fabecdf382ea9671a40472cc1f8b07ab4a618d675566d2c4b018da4186dddd1f067abbd09a38f8d380e19802e16f2b49cb9f843b1eb27b79931376e906540bc5e44a05f8bda26a64e0284fad1369361f3b002522af57f6b71be03a53dd6ba8dd71daa60caa80c9583a13e6db7f6c87e9aaa210e5e3186f5110b73f213fc9d3c4444c5ccf54aac18716742ac30c8aef57872fde12dd93d5db73a7039ce6041f4c35a34b22f131712257809c53335aa49d186546be986bbadc27c10bc62c456404a1a68c5e2c8c32de73520c369418d59325edeebc372822fcee8b382969343f7a891d73a48115980d46c6574eac36d0d242e55d2ce9ba8ecc519525429cdad3ec896fd4648099c5563b7973354c441e48271accf500368c7c90b7ae88afadf8d9a7622ee36d81c167b98a5bf82de9709a50f05936531ddf89a8ab12bfa5a2ef3d5da096b4a1cc069547c018d87d60df76510c979c5fc8faf0cf4d55190896d1383e3091e2a4318a266fe0291351bee726cc6e21b27099580a80b60ce6912bfa8144f4986a74619622272165972c5c1a209ab9747029245560c9e10b81915a562f01719fa2ee26459d1fb2ac7846eb6c6c1f18450ef609ac9224ee541fb243e649107e0fa988798c3e0c6627bd567032cc63132324a3e5f86c4c2183f20070a48cb533d9fb1cb1eba4a7f58ddb4cc24123053ed262f3d6a7f9517626db1ae32a03c7f542920988f0c804374d0f22fe6974f69da220a0e1a747dd53cc96f7a9b0a0ccfe1444c140eb713751ec90b40b0f069eb2738e0fc536842a232f1f7f38d5f1241753aca011e9d520dffc22abd4f2f13854e04faf028814f1a628b0e203cbac048f4dcf0117a1800fc03b0a11ac75f51caef5f36856c5d39d6eaf7b662eab13ef0999cbd63214ae4152f94ff496c50eb7b0306c82822cf8a994e8f4fd7b213bdf2f184bc235f84d35d9be3abb78101e9780cae5350f180f67c6f2b41e27ed4778106938e804dcbe62f66a5ba9edc94cf35ac669a6ec58d08d8f135fdf62565aee5698115760d84b240f47e851f78b5f7bc9eec5585aa9a71c372b3ed592c53096fd219beba866eb8b4ff0a3a65896f2cbcaacd5248b29ccbc453a6ca6baaa461e5f4d411ab96f7afdc16b886cc38f3db4f7a7dc751d87bf9bdc4582837b96777b6d1ba7417223f7654fa14f6e88f0470814e5a4e22a994900e5b84c0b04153ab3f257268fe31f506d11d7ec94bfc7be2bc8e66f7df73307f38a3be47c8136035045358922dcccaa2eb1f9c36d49d798c66eccb42ad0e7e93d199cb35f5ffd06ccb0a3eed1b0cb5a18dc64cc04e4a30d904a7395b42b18fe8dface9814814b0fa07b80fee33f5c4995978c6d1d1ac55713c7bc6ad07fa01e9b71ec3a60a09e3fa05c24dd5aab48d9b97c51f5c55695a82138fc6e58dcba3f7b4466f43ba363270adaf8ec4d33e534e1265f38ef28261938f2f375ef3d04e6ac4f73b584f5cd0a1d2466cdc68ff5b6d80402d58bd981e3384d6018adb5e18742489aa1c5db547466de82baf1ccb1b900fa607cd0001ec4ca67a0ca2b206396cef126150709f519c2a808a0f1bb25819395892d019c50416d382a7c6aea94af6a462cbf66a753109234582ff9982dca9911997c0ecaf0abf7562c7fbb8ce923897104d0847d377e3765035feb3d2ae39c62d4e6db0eac0fc88b4c150147c45344dcaafe2879e20a31a59b21b9307a9eaad0a47d2d127b2da6d433620df3818e7d53ceb654ead1547b662071cab3bbe20355232d82159f9708e0351d9fd82c3d382d1600fd747a1b19c4796c61e9185e8e83d489cad1d4fe9ab38f1155024efcb8d1b4f16bb5affb0d97a8131617a43f439f7c65b1c9fdffc6ec30c0317bdaa77f30a8dfca67705a7990d53e4441de075008a4a708c5a12e69f085bc602769f8eb3c097f8c56c5eeb0adef5055ab24375c657cb3460f257f424a341a0c6ff7972fb05436cb66bd98d4eac2a3d39c57dc8c05830216398f94b7794a1e951e5b9e12507178f18e59e934756c8dea0541eee51babc76237664bf19b18fb77b5b1d4190862694d11514d0b8178a82c2275b5b742c7a5a174bb278a4f6676eb9af8bcbd5b95f2ad04efc3acbe516ac35f01c869a4ca52d887c59086ca156d40cfe06d9d4aaa1fa51bd1eb8afec2a67a01ec1aee55413c389cdb10dbd7be4c281146a2125b790c35122bc1b52708faa93738a05fb494c044035099cb4551d2f02d699451b616a92a64391c000becfa43d570e4648488985933bd254808a9f033bc6725c997e6ac559200546a772cc2db5fbf526d378ec3f25aefce8d205a141c758053a06ace573d35c68b9e4f6eec53b6683e22402e1994fcba5580b40fa634176107eb090b6b681566e20e31e23fc2ae1d4bf47ef36f1785aec38eda2b0c13d5075b15543fe457b39280c50aa06258e80296dce060cceadc3ee9da9944a802d47d918f6553fc9b7d72e067593014ce2f30ba002ee442397789cbde2ddb4faa633aecce4c617523584e599b0f753285d936418c475d702ac73032bfc2e2082ca49924598623936bb7d04a48ea0cec4b92dbe1048f2813b52358c80b30e2ea4d2b14b024fa1b005075fa93791cb85cb416e09fab0ddc288325cb32a5471c4865617def4f8c373e75d67fa139a28ebf79083b8ee2b9c03a2512b8de2653dae0039d18b04fe0b588de5a708592ca8f82f5a754f18725552982165c12be63b6009f7a7b6fad202f8924b7475f5156657342860f1463f00e8c677698eb47557be845c86e72b71ba43ddbd094ad0eee05193ba216956e59ce69fa96c8ce1654c97ab0beeebe5f657a12d540b32e67b70ad44ac35824d4141907b6eefb9795e9b6d31aac9ceb1c1dd3c2992d40668af3e39ca6323b9034575ba1957321abd59d101071f7975ebb8152b75a29953f9f5aeef1dba871b2c70650c7618a12b6acb907fa550a29b84938b91cd1825ef2de3ed665eefafd910c4c846eb10dca6a56be68c3581b9f8bc91abf34949aa95f15d0a2584a4054aaaad81bd0930f23b5d27f06f8a1c0363e532378b24c6a1e288d66776784fbfd3f29f8d780e71be1d7051c735d7c210e82589b9980c9ccc418a604bd93a15d9195af799527e0d52096f2123ded4b71e34a3c5866c9bccb8e5a69943731623a89303898dae7ee044427874fe8693e34e5f56a8c9c184d10d2bcbf853a6cce5a457e04c60cfcda4f7fbafdf4e6519ed2ca52c14ad70d9a13ec3b60dd28e0016f0ba28e99dc27b1bf561ab278c52c0cfc89cb64326816b47d76a1fd3b72b0f13bb1405d4afb63f11eb20e13a23dc1639e829845df2fe71849ddcf8e7f8b5e7069c1d1152b5125554f91fafcab8ca3bf2a014b07fa69dcb47d9bdaebd2eea1dc3256119e26427b760cc6dee1c3c9910a17dd59a38d20b7abfa7c4417837ba346184724c89d084f7a92105bd47a40cbc87fc1ebf8b937534b970aa976b2d5850841a65d2a35b04b59cba455aa29b5505100a5e72289ad0c3014832d058bb7fe82a7961771641c2b4d5ecc51605fd661e78968419cf94a0f113da5b1b37634fac0c63015862025da0cbd0699e6a52c76404df4a7c76e7c3270e5a0fbdf4dd4d9508ce2ebbd9017279d4f3a10b92a26dfcc4692363e1aad994d5158313a816971d3bf960c691b4acf197f5b84064ba4614101d59ab2d5a7d1e90bbabc29e46a2a964b1930b954b645b589f2543a1314cab5fd498ea5665fd5d9f293af0d595da554c29c4301462b72058d677cbef4c47535242d411a468af4023abf3b3846dc5d77bcece52c33ca6a5b0d1b0c56dc032b67eb2a1216cade13158cb4bdc77ad818ead1bee9bb8e57f747b0e821c26b46a9727a91e8e56e0c6474432198d37285cc1480db036d502b8bb1d2fcd3c5f992f3c2a750d1ea425cd929e43244685ff9b5fb77febdfbf8bf66ef2785b044ce68f32e2d274ce5b1d64ae0e1ef0a6010e94ad6c701a8f8ef10f46e9bd7c9353a81382ff5f43515b857bc97ee9cb022952116c296b63a72edd9151183a233807dd2604416e6486f154783bd2126e0950e0b771ad2aa78ac9f2df629745c9cade491541da49d729d4bbdd06853f913a8853f993ecd465475e47fd9412b9879881c5e4b6548c8e1cdaa8cae4666a1425f8005b7776d3ba54cca588e169af4066d65a0f7b485785697be3bc8ed8b51ccc5c112d80c57081be7224b4579566bbacae8039886c03354d2fbb227abcb3afe21f05efd98d826a44b5cf1b7d27e2555579abba08c2510aca8c9d0848f60f96e28bfaac044a45a13c7dac5128ebd2f93ca9eee15cbe404d62f1f2cbcfad353c8866d22a1f505f224ca0f9330d98bd59aa6d4e8f876252113a59a1122a36a3aa5f3035d48cb2bb0f59fe0caab99ffd0f359009d0e74caea00a7c880628e772c061488ea68614ceb624c6e89892622806db05421f8b65c77d1767caebcf08aaaa747243d24e59a5837ff4d4204cee5ae9210c9d43d622639ad62f06d3d37ec874885c585655a7c7c6562a0531117c5d85a2c5cd4eb7818e41551031e300416f030368c7e3893d94efa222f1c17caae67b25f349480f259107ce6faf4c23a9bb542309d2be643e71ebc03a38f20d743bb22748a7e770d6e67ba25a87bf8f5842871cc2782ab2ee36e6909bacbed30596e8cc4339c3ee8da139cc2aeb380f48ea13001673f05c64ad40113d97358a66c95c5179d89a7c585380f79bd216a1ae7ee02b7264a0ae7dd3fc5d512dba5aafc5f1606858de1f4e3bcd22e007760fb32f822f68060dddc3a01486da8441551e4b380d6c9c46e0359bddea2c25b11710f56cc30ca0cc40192facb9382a409bd902284fcd3a33e142f52dfe222379bf524723491cb1e81b48ed3a5a4b55ae08f7df83a593fb76c96cdd556ca6e0157dfcd7e88ab98f04eeb3ae15d3c0ae1e2c69b080d70b424e67031300d084c004a86c1f1248375812f5f92011602f5af0abcaf6c55f880d69908a13129f477069ef5cc8aaa74473ea0a9a9aafd36695975ac4aa4e0076086373c82fa069b81bfb3845aed62490e2e3cd240ffd66e88e4f89350f59be0bc7389b530565358830225452f16cbf568c018741845861e7bb43dd99ecbc432fa62e31189a0ee589f9ed222f236fb5d700e0be0c808d00061249980dfc89bdf37d616f379d3afeb1398df52e7fe2a46bef14ad100e6e18be3dfb4f1ea3daa77a72c906345a0faef2cea8f6f5f4123f3f4fc8711621f120750695b831bf6207b66bd01084262e0ca9e4455c027ad54b13e302a7d033b493d47ff42f2ffc11786f1967827943d23253e6d06500d2ef87f45844b10024fbec4fbe7c7934279a5c5e54f5a4a5137e8cacd47095d0ce36ee3464bd01fb738b7919672211840d2c154c4807da277eb5d849b60e85acf1bb5e72355a387877e670acc8ef756c744eebeb0f21c30ea91f02dd7d967b3292ca12ec66b00c7b389eb3695ceede4df2606aff8e43f87a45a706023e7eb5412e05265178f5a292712d7c46cf65c624aaa180e03ef01fc0456a74e4cfce683a6a53812ff974f266face08a591de1b5183e9a32cdb190d3a5631a7f976ad5d2e8f00a842e55f704e7a7aeccf672d0c0b2442f9982a3fad5e4d0e39cf3af19758fc2d5b069b96d1dabd25bba233388ce90ffc47deb6a67e5099160037ffc5f45acc754f79b9229b520995f733a04d19ab47148eeb54e80be79eaff14d02c89fef4a1f9b14fd54868b1924b690f344d1810ceca4a1a582264aaa8134cc8e05d23140dedb087a1d91cab796b7019fd2a99aa16a79bb9724ad568b45e76e829da69326a808cd33ce05c52847337fb1100303a1a04f833de0bd67af1470cca40cf105bef599909fc1e2da537448b43990468daf24fde4bea47d6b69545a5078594983f1cf7b759b8b95fe0fe292be47234e224bedb3dda0067f23aa75bc1984fa50da1cf12be84420d8b0a13d508f37da7b7a4b2d2eb30c06e6ba39e74305661047a9243f862cc4fc627cd4fc0c58d505a451649821b22d37cce3bcce00641a3873ec5737a57d4b443e0307f2e8c52f1e4c5acd1ecd13f730ba20c517700159d24b43ed1fcf356d8e6e7225f25569d41dceb30f01ef45f55b0cd1b4f7336628299ca604cea8df719d756b360b64be9ce68744ba179bad91f3d84945d6ebdf7f2de82d060f78bd69b352fc80537656cfb22752cde54920288a08fddba2bc574e32737d451927b0d0af5932cf63052005b5889bb8396df054e7d9ebceee2acc6fa41efc4b69179b01a266dd4d3991ebb7b8ce79de9ecc89b5308b643434d1d0675f0d9d510431afad5fb6305fbd0ea5c0010e0cd7aa64a6eadee072eead6025285d652a072c1911e79a43a73a36b0b233f04257d857b3a9f1c9519e9578606529d72092985502e34c5bea0452cda2da7504782164dc199b945474db982111bde7e60c1cd1e1f4dc228acf2501a5aa576834cd562a1178929055c696a39b296bf149ce9477252095330b8f145967e4893e44f02db53a4243f6cb1e8a7943fb2f19033fa1f662ed733241980fad4a4f1064ea257e92165ae5c1db4fb640e8916c73cd2a99ffa890009e44735e0fe1bf4273753b33fe7f85788c1450fce17419f92be21226f012307849d1fc2737cc75422a797d4493ec782ccdde6f7a49fef0ee638b30cc70a12ef43e1bb309b192fcc05c63bdaf08ea42b0c97ea7252a1259e931a19db6d4dd18096a056bf3e917cda4f2ae409f0707eac885cd4e76165e63090bca310c9097a9ee1c5de431a35a8a52e3219cfaacada86d04d0d04a6710cb044d6e62c431dd917ed019ea36ed6ab4587367149d46ab6b561162d42612f3f9138a7bc7875fc95792dfea046ddfb3771529ce9e7ff59c3e50014054654e88e21ec351c0ed374e6b0a86bc60d1c71eed5d136e4410f4a9931634fe47a7be820699ddadfd4e1b76d9fce7f30dbbee4c41bd0bb57ea3fc0cd803fb21d2a280158eca40658d770302fbc4134e950b5ffa4dce79374b0fa9cfab73ea7bbea61e9919066760199eaf8ba630b4b751f389d942e7acb3626b6775f2ab8a5580fa514e3b9a9e9a5da2f738e42155725c19400165d1ab188313cf8f0068ee4006398fb6b89e5dff8e1157d9a6dc8a72cc0836c83a1c1748e2cdefaea4899425c9c21afbe8ea5ad65789ce5b7988e6dc9b7968e2c09ca856ab179e400001532f717d696669925355ab6e642f54163f963682ce5f876930153de387eb194e9021aa5a762efba14c6775a787dfad2eac0f4fe2b239aba5ce0ba5da240c411a85297b3659f482ea45ce1b50976d6b310846bd475f7ca61efd31a39811ba6571cb60a8124ffc05ee6ea66c43ec0e365c5d7e1cd42bcb197bce862b70f767e325662e195b89092d65ac78cadd7de3a10a5b0f93d09fb388b120dfa4e08d5a180b5ea06aa1f999922ce3ccf4725ed952ad1186800e72315acb1385e3ee90c46e92fd5d690e01e299b8024b956fa13422a3034555b92f84eddece0cc24a0253aa560ede0bf253bd08880499a8976f05b33cf9aa37215c9bb666a897f9ee51fd88e9ea94cc55046ee3e9884baf2ad4936cdafb671e4d0440bd040557bb1c60884dee7245aa15932e449f300fb825e2889a115504fa88a92916f67ccb822926471e30b17ba40b232c5361f4f8ec83156f272824842050b86e3c49d23e1101d8796a1e2ce4a9deeacd49a7882c6b918f3615488f1acdb209cb96c1df0e486dc2972b54c0ebb546960b32569467b9b7b30516e5012724ad047a115a8a9bfaeefb9237b16abaccc1d3585c952c631dd6f0447bcf0f6dac03475ecc516f6414744094ca67ae0eb7b3ef36cc2df8696e9e9739c155b528397d847ff84acc0df45e30dcd3a35f1c6ceb564112590eace90832ab752f0491392b99682d6c1fd3610dca8400a01f414226df214e08c58dfdff942318bf16ea216ef293e6a899c907b98ca3aac5c9239641669023287dd130a89a4b1fa837d833d30f5ea9476332c12eb573d0c1b364094f0c7ab466162e1178fb3ba2c4d6026298980989233e9da2808f58a34a790486b04432a5e8f509b4543042056e966e0aaaf1e80620fa08d53c833d4836a7b5dd53704f1778d64ac90524d36595b377ea130b95a9269a70d5abce07c05ce5b8b9821af123d7fcb6ab45298e2bd54004595038fd795ce29061e98768934d0ff4623aa2fb1d2500d8b0343f5bac7324f4a2fa2681972941ff174463cdf06a8180f17d748799885c6f3e441a831ab6816e34568910415d56d1827038d52c42c91a0c3f3a52a9f8db88a688ab71a3e07ca4c9e44ebcbe4292aa88996565b2e38ad700eb87ae0cdac4b0660a41bc197cb6e39a3d52cff50383e0963c1da3a46b8153e9162224eca69ea32ac348aa921af540deb78f27c2453017392a98ac2d7595589c11a6c5140de9b0033bae5b7c2ef613db949176f9e548b394fe3d3f4cff42257c8dde70869cb604980ac4dc693490ae5e357cf05613035607da1c836a7b737554077371caf27c45a70fac686748f83043771e831a05dbf18c418058a3065f0431e56ae461fbd32312a3876183209cbb44707c1fd11802dd7c8a21749a7838e212079b94b87ad6b03e4e583088b09573de76378b66803ab395a29d9758a1b29c16415fd4d4fbd139994979978ea3fdb8b968f4076d8ab59934eed2dd476e7ebde578b360d814cbf5acc09be5a9a52cba9ea8c93297396e12c84956411ab24afac228a303be0da5ba138f5259cd8e02393f7f83f8c9cb1a164dadefcd7a3ff403348806e682c1a642ccd82e06ce49b5abd6913ea6dee24f3df5cb951ee4da6a6d3e21dedabadaa831adb1757d153855f9512001c177c428b6882f5f1efadfb5a547f5567e4abee57f56af891dcc7866b4a53a235928eb593e8f1dd111d9bfe0fcabf32df418709df5d500b79ec3de905b55820f85b28925a5babc2c796215e78c800383f0ca584831bb19451869a0beafc195b9c296aa35933a706f5ef1824ada7ce6bd275e6500206054f0c026ee07ded3ec4ec214e3128ef1401cfe30c521dbf03f0c117aad7fd99a9a02956992e13b927c29a0d1c85aa4717ac32ed337c5294046298e5cbd2c9a908ebbc349189b8a1ddb27c9e08bdfa028a9eef1c4c03a592973878c876af61846f3b245cc872745392303a6fe4f60dd95581bc9129c1037405ee6c38a1eef8d976b8af5c57241911f554e2e101a4c348646b5ee35b68536a5803c4522ca91a72340a7042f4e598fa55288181ef1932f0704fe9115a59f14022945578cb5325b41042a5ef43363e2d66cf041d3cb02dfaba34974243ce9a40482f57038fcf488da3cd7ef2d4f67b91723bdbe3fba064d36bb8455f6697de501f10475a22fc9824a67d70f4eaf529cd460a69a2283c3a2438128d10e45f37dc63f2795f86a8cd4b71c4efaf1f09959ae95d34fbecd6a7c3bdb4260262ad554ca259de56c7d910c78e5136a869171f32dd7b05445e767846f9ed6a356b4ab65c8c4f21c282e89d153e6e1371448ae8a12553f2a9704b57944325a3537bd1cd74b986398bcff6a09d4fd963554512a033501c8bd47d6752abe452e3111cc2f322079fd72e057a5f311f1fb511bf88fac3b217ae587b1d90972a742bcd7586faa36caf32da82a528a7bc00bec09038308740586665f6df7b74534fef00a5cb4cf54a4b5e85989159439f0ae4f89eaec6747d72938b39ccd8de2e22d8a76fe3ecbdade1a08ac7b0385a87be17868902128c6ed87f72d59640a6ab2fa16c654fda82fe5ea51e79e818becde8b3cfadf81e4f2995a01b4fdd1a4b0f14468b86c56035f7d8390cc8d27e6579069b913ce7381acbdcc303b5137e7cf95a37e9a496ff3f0ea50af511bc266f2066c3f82cae56fb8e071281681a5412ee462e85ca214f3a3b9eea8a924481b287fbbeb3cecfb0115c413d2811114a835e29148d27627c13e3af5aaadd540719e144172de3416bb8e8122c1f0ada06bb8457b4bc91312a40f3d550851a0c9243a936761cb31fd5ef50b8cfce3bfec1b7157329c7eb7c27168b508630857ad29305830f23088f5a6a5df963e72a8b34dc20e11f546b5eab38a3896e07ed58265e418b944fa8dd79749e8155ec79fcee688f12cb02eddb780bd66955e33bae92f54785edf83424e20465ecfb50a58eb051caa924387eb6490e5a2281de21a7b7de0918a80345468b8b1ed0ace0dd17000537cf4dd50c34418827651064ff2984c405a2cbf2d1b9d61ca2ad8d114534388f4237021c95134864197aad802ca9407247a78dd305113edbc537b28f39dbd2ef897262b7f464db6f919bf0b6010e4d52f9bf00f86ec1d57662aaea112b871a97acac56ea2125534b059ee31c1c64a0264c80a38fcc316d143c63e6e738ee33d85097038528e7fd1f578245a1714a589ebda9f27ca881e40d313b3ce8490714084a0944c23721959882b3c5cd21c1e794971fdd08db3f9a15447e834c785aa51e2b93bcd0c8785c17e82a6b4cf74a506d05bf11bf3ee1ba63c2e2ecf250d25997bc2c3abba39b13bdbe5168ac0fcf3b382f75cdb15979f2090de6da9e57eb8c14de51dddc0c8fde27bf74aaa8acec9ef3761e6e0e0d315c7dda52b0b8f5a41435a1111043687853a577f0bb477e14bba23c747c30b5b3cdd475ff7d9250a73399440e63d9d77831f5a8633fec13d480db912e07c44c88efe5520cf004d6f0292afa071d190aeacf2377696fb2ed97a306733d3208986666a024f4402292b8ea7e5a8c72a429120e92061e2eb59a3198afac4c025a574bab4c9cf253c7eba4b8f58f125d9a95b45b1f1782fa74d6c2f8e6317144fe8c686130dc2cf49c4af909dcb7abe519fc9550144a7bade255925c967bc627906c8a7cc9f95be5753cfa13307e91acc55421b2cd1aaf6ea84d5ee43bd2b50f174cbbad9c64b6eabfaa9a0780945f5fe1997c7fea96100c6593696b90b6b1c5b65cb2d2ad3143975c8e6ed72c0a08171543bca060fcc8b270eb26f90abbf24b514c1be74c3194f037eec6c474880299a4825b8afce038dd5d868a4e645722a4dce24a7ade1ed6477ae79f5c750a21d3d70d14150b916dd2be05e5dceaf1dbd7972712703206f89f18e845ae0dcfedaf6866cec028de9947a9236c2597f63c9e000a5877cddd08bb516f96f482d27351bb6e1ad0f2067799bb2df0217841cad80837e7023e33b2749e9839902d840dd452b59fd2356bc455cb5e8c07895e688b220b40173248ae4df89e1ac08b7d22de4b1867e56a5d5f45cee58212aff38dcbf062c706a5fa5e4d7bfa166c986c4a752e0b31d557e9dede88e449a2c7c622a7c8a056f2abe6e1fc671014125f464d3ea941029f1b7309e545df25e959e26b4c2c84ac4e1de4edae99283d96ad1a6f702366ab367e54693948459b72b2bda8768c1305763edd370632e105074196249e3c6ab1241fb1d52df5db8a1784b44acbc399ad6e4ac659fb34f9db9d31fc9ca45383f03adbbf055009ddc11c324ece522cfcd76e631b2be65e16fed13de168c882a5fd6d8db33c99e43789ae9a35dcc72e42497209f805c9d00ec4ebf8ddebb274842edf5346efe27bd428a6b8a969f53ac34ff96964fac5bf46303a9803a24169f246222012b2271ca61c8067c9f74d614b33aad0bd5445640051dfa086eef7721908d6055cf098d5dba63d9c6c36e66b8c9a9cc95f78b64b7305d6f491a4ddfbb8d71bb0949a19bf5edf4768fc6d27d232bb581602c7f1882835f71602261976413863657a8328d25cc63bcc20e8188f9c528d5c4a27d97f3c5656740501b0d34271bb4b078004df250376852d9cea6c2c691efc90a483101f7e9f9bf8ccefb1fe3844da00455082a449c2559fa967993b6e9277f60070bf97b1940fa4821f389d592d4526a97d5c3d3320c27c66a86d4641de66524ef2221fa1800977b415936079c52fd3c21394f3aa7059e8eeacd241578511ba53488dbb113183c8903e200ae5bc402f0c5f21866a5fbbea8e2973e2afd0a1eb06dddab0a18f43241248dd508c00ba24198e37d12eb1852e2f5c3463de7a141beca0a6994f18caa31171b72a5ceebd7255fe8b5cd5fa91ea92f1605424b33744b74a2ceddb3b30a5c78ab36a628f6870200a7911a76249832749425140487d4c1ce4d25aa6b6e1a8e6f1b17eddfb1a9bf05d1a7606d6ad7baa7ff281a6dc9e644aa1fea6ad07323611d65fee48dd3c67fed5970956e0468ddca204b3d835207dfe9c2b4f04f80df2916f3b9b4ee7fa2ef4e65cba8f1fa6c1430a0a01edb3461787d02512ac6fe7ae659b1d680bb982ae9e60aa67665c42e77751887fc4001315797aca3ccf499089aa3bf8286d132bd902d01fa3966c98c83e644929a43ceefbc0d266d3876b1f36f382f6877b7ae1eee184de4d106b7ba550825de821056552e93b416a37da418469758c046521a76ef7f44061ae1d0fec281ddc6ebde769b660343f000887d3bbf7ffe701803565c0b44cbacd7a7dad6c12c4928a78d74cbd5d3fc6d3cc7b40b70652937cfc2111725077b0c293c154aa6ca7705c91760713252053df9e166201293d55c6222231b48c265d254685306b046afc1b28282dbce68ae63bf624d010b08059a0a13cfd8cd92aae784c65992da7a4c92584104ee8e33de1bc18f2141896115e3e6d644533b81218aeec0e20cac0f57639f9f706ab1ecd3c09eafe319a1a38f1c398f3aa2a3b63e41f8952bb8bd673e5cf18ba12c87df53945d61f20c836d5842889086738e0a0a70deef1675be48521e4f5128ed47bc2d49ae08d3e8ac57df23c2847297aa1ad231a40dfbd4b1965c56e67c2e803464700b00c01a8d8331bb3a589d0aa3f6468c487d00fe7961d6a403d7601a53ddaea74f0963e7ee9d3acc0aeffde8838a46e50ea45c3c7d5e8466d2b76dcc36ef57b898772f5b814953baefc61eb4de21888ea3f1a9070d18b04bff62a63270c9c693ab1887382b28cb2f575ea31297124f7ea0350cbd0fb3101cf7e2faf0b1b7901e4af1ace6f00ed946eb80ed18cdd535d1664058f191d7fb86a29883fd1db2026957c75c01ea36303c4af386d9db206081028591236a659119f7c69774e28e33078be49beca2c28629287a44ceba3107cf0e53fa87eb99f4e1a17fd12986f0d5df2c720e33c6956d732b9125964222f92867d7cc0b55d22f6bb0d84ecf977592c1521e5c3f6b3b5ef62fd47eb4dac696f7fb42974dbe8e02774edf540770d9877944b264a57e156665d439351da121baff1858405dff676d8087035ebb3af158ea59b20757a6437a1720c3772223cf93596ce2fc8ff34a0d3528b33ffc35418657fe5798018ae4d13804e351626ccbb9e96da464a4aed072481e04915635dcc5385e5238cc83ec3431ff7a45257ef33ed16efc2d5af32846da97b41cb852a2a2ae65f4d94da2716693665abcf933b78b7f9a71536542e81190e1425ccd44581c00192cb0740eec1f0474f0d6f2fd295b6d6c764ba26d1799c76be8b2f9299aa3a5d811d7811a7b40eddb72d0ced8602af1b1c6c8292bd730e720e4cf04e499d06c95f8f0a335a53a6a3033501daa6cd6b7210f1114d285ffb45dfb233129de7a5ee19cd4d1fd407463959c8e3ed429c6d31620286ad46e988fd4987b1ff311573a4e692ace95ffb33195c54f16ff919aa42958500493a8d60bb0043fedbd680e815d01c7c4600f421340c14c515080cecdc0103012cf5120c10b48ea4b4e4fc92e0f4f883888d874dbd2adaefa0fed2fd8484d3b00583d384ac92b3e4b9f49fc42097c8b3e8d8f3ec87bb9c85a21008b20c0cd4e8e7be080cf910be2a91bfa00585a804bbf8fc90860780c897df10ef9e0dd8c0fcbcacd0c08894d295c02aa4afb9dc86d3c3c12ae213d7e9f2fd10c2c32a94c4a8f8b38887d393bf10d3e6c52af5a380d390a487950b85b4a005b9088bc10696c705a4cc06b1d2bcc4ce10c62ad9defcde08010503038290830207090908034f44400408cf080004e0d380ae01b001a6af058002a8b004d0aab103a00340201c1814100c08041028ac0610b202f0342c2830ae0701b0043ce03090c0f001a0d038b008030b87900584fe08b404d0d0b0eb23acdce3fdffd29880d3aaacd4adccd8bcdbe98881d392f898c4a4cdb4d1f62aeca488b18005b80894aef003f9ff0c20038b820a9508089d0607a30706aa05b0b6bec6d1dc04c632a7129805c48acb8ad105d608de11ef808b068888860c9213a509ae15c30dfd14f4e08110101010100bb5220b940e01029c9b0bb8a80200bd13e0d09b04fc0f04088b9cac099c9cb5c641e806ee0dfb9cff08879d1ad0dcd22a8cfcd290ecec96a5acea23b7dc8d8ddec9ade4038c070102959c03ac02020302b11101010201c2122085d7d7d7d7d5d5c52ae6a080a32adfa221aa2bbf20f8bbd2e129cb29983104dcdcdcdcdcdcdce0b00482e401c0c0bd8e32e802b8fa853222ca8379a812a4770ee26302a294920a19a4644464ca0392b008512118852008c32008620831841062044440848610830831d21896a403ea05c3fa865b4e123ec4f4f5bc5794fba537600f9e16aeb5d786ead48762a7da1e13898376209ea6ec3d4351b69a7f99bce7b7d0ffd157656116900775af4b3a1b68cb16b068910c182cb4f648365b042bd936c13f5f8cfa5737841aecadd74f077e98641afe032b39a2f63a38ccd00a2f87f2ae330c5c44e02d32ce748bd36beab2878afb0c1b44bf6131ba41152738d9a51a339b4f5c708f2ba9f96a4753a63a90fdcbede625ed4d18877a152562c430945b456c4dc5b51c87d88932475b8bf9e0dad2c8489335cfb4e2b5c8678e2e95930d7fc92ea3d5c97b666eda7fafb120400ba738762df78d7f51227eb2f42d73f685f9df81e14bd619e08eb2e7256e08e45ac01e2e2f70c8c01353d5895b63e43045e04878033db5aa657d062592134659f5b1d8122af678872a9da818e0bbe1f364e9b3440557ca6d4c8d7ea22994a793c7c102d4a50b43f06c7d68419d6652faf0dc2beec0793d1f511007000ea1d8d8842cc0e7a3046ef2f44503385993ed233c5f25a8be3379c2cf3139a629faebc9d419a7caf3f38ee2581b4ce73988ebc86cc090de9e86e41d575da15ca423fcb1339fd9b7b1a464a52772917110c8fe9eaa6ed9bbeffd64f85e8aa88d15f79c73c616fc575b4e3dcd78a3e2a666a7074d8bd3da5b660ce144221f6ad247536e94f8dcb280df5e0869ca6efadaee8c21f9d309a8baf46b945b25df864584e619cc795b12be4ade67a0b08354be6c09635facf2f3a29bed9471cd3ba054f6618a31a800219a8edcd2f15898867c6a5f86502e37ae37452a8e0022758142b99c2bc3e826d38b53a0701a417f9121f1fc5cedc7132ac06173753add7ee2c58fee4798422ce851160d7a9c782a43b300509c4cffa6ce2c46df9a6b6968e19bcad9d5d2d0eb4e94c6318f0304be765f5a9285ff783060b80faea8203fea40dd64e8760d0d313d136d99d9584ea7e36a8ab29437dd0c2e319f81768d0c8f44cf0d36f626fa7dc49e61a294c1030dc927dd872d613f20d99f9e055552b08a12a61b752256435c759e21713e1f039e03557f80c948cb98e25a4aabd95d102e31195fa79256dbba9a063a1cc9779e2c93bdc77e79f0fa18deaa5c3693affbf1072a5fb0a20954966ad4e6da5572503fa02f228a77cfa3c78f248f8d24a23339208a3bd50f334e083d7b4349471cd10f56f6707a0e0b45c75a8563231bb66194eddcf45295ce233bf5d5f6f1b37901cb092458d224673081010e0ffe745e578d606205424c40ee10a3080f4196db75fe2d03771f2a0853a20478cad5e0a6290c0b22aa634cb8a95b09d3db4d42087fa87aaf23e56b3a4cc732ea84599b0cb6a7bd195a06eba11a81031056103194431b521bc8a717ed1c3b0039f7f1e61a90a4b785af7245ad17cb2ebd181790d5b1ac3fe66d4521072216011075b6873e668ba531e75111a1e2221b63b2f5874b9cb560cca651b1717210994a7755803c18ac05719719824bce438bc5567051991039f1c7c39f2b304ac64dfcc9e2e540048851137f08f71f7b7a3e8d99f8b3852c2c75ff391397bb9a754a73235aca0b137f9ccdfb90600f33ea680abaab31bdad29824f7c9cb726a64d3df3c3837167bffce737c966808a91ed9d05a4a9a64606a293ec183b774117488a7032443cda44c9991565a1cb4ac94564fb073352685c1fa44fb3f04dbfeefd8c6c9a6aa2bde44c7711a6af58f007a8a1fd0254791e7e5dbce034d4ef7c8f33de6b9c4f2326fe6ce172ac02837ff3582c343364c5989834f5cca59e741e83fad9cb18beee701cdf89ab343f5f1f7f92f9afeb0db05164348d2299779b0ed0d134f5442229d3bf11137f465b0ec040d1a4d51bc9f32ff1e7109b960dd7d1127f72ea9eb5cdb9fca39f8095f8b3e3c73e69eef98702b29b0cd1e334ae22481a03acc49f37fe644cc5841299671091127f762ec57f34d8cc2c92ac461df66da6992e5524a94baf8737cf54beab02e4cdcdc2e8bb0c8593f8433801cdbcfbd9c6bb5476f08676c0af2d15c50484de0b4ee20f916418e75b9d9e4946d5664725323a96545097f887a90f478a1f9ac0ae6db400e14be5221ec38fa113d59a9d4803b24349727a53d1d700d26a9703e7b449fc79c8eb823c458a08a0e325991225ba85b4ea249a9b7e1705485fc899509c3ac0e46da0caf3fcc44b4ef5f75b75e7f7998a36d54c23de576a2193c41f8ee066530620cdf53f739d7638e1706a7c577928541a24879f4bcde2a0b0b9572e16919b3d2b91616f09ae4e0d877c754be2df429d6037509a2f90e42fa47f1227aa7876a436005e2449df956d613e4eb425e87a9964e46c0a446d0056fad536a0741da021b16c95022b2362381af585637bd49fdee43bf02614e875c6538c8797f37dde8a5c2540bbd8077ec3dd0479da52ca94920cce00c200c9007354cfe9b5b43d2d9526594444ddddf52874cca40230135ab6c9767f848fde6fe4f37bf8c73174c63dbb7be4a1d2f433aaf73c0ea8fefe061c7d389dab08dc9e2291b18ce5a57d81fa18fa26e52dba6f5858b5eced5c7f4d3efe1adc490bcc8be7912da01af733cf12cc52b718d10d0c23910f315d93308d69e4a6ee1ce8e0ece9eb76abd3d717b713f4763d1c9c1e32ba2b5d54f5caa35e6c4b8fac7555ac56abd56ab55aafd7a424b26ad5e98440da1e865541250939321ac22d1dc0ada1f56e159188957baf9b9ac231152d0324095309516656094dae73439dcbf9b9879e9b28c6366dbed6fbffbff6d7d9b71618207016181c20bcf46b7292f4b37f56feba1db2af7cd69fbdac8626b3c95c36537abf9f2cc92414c6640b994cc8b8f85e67737e5db7a1b51c7f1062d6d924edbde7fd8563641203638dd0755dcea15f026eef1479c3aef7d3777397a9bbf8ba76fd8563a407486e3e6be12dbc75dfd74feb7bff3f43d0a77948e377ed1439922369375e617189e1ee94277098183a00afe5203a5269000abdb654a11f95c6e3051f9e4a9bbe14605ac345b54f86a21fe682cc623e8afdd9a8763309eb68b0a9efa0b12e4492e6e26ed4d8d4efa7bc930bf413cad0107548eee4662a995096a855f42a1aa58c66299f0adba0a16f09fed0dc69fef4664e13a819f467e952738679a74d1bdab9b900a71f6ce2a27e818bf59b1b12c50a6c79c7a14b7dfa59aaf47b8cec4d1be9f5ff8c79decf2884afab5189098a0a8b0b8c8cbd9501c90d8e0e8f0f901091de935b4ecab2529af499b4b2fbdac90d5136d550cca7c6b610516e0f9ad3587aaba42ba10171db450c23e9d51bf45d316000c303069cc20d30dbb7344e688e8051e8a80fc07bdf512fdf4d4b7b8ebba03156e6f0bbf9bb9499331fdefe7a7dfdd90daaf094f9e61492427d67d559c41feaecc2f685632440525ed24bba69b3e471437a73e7e3f9d47d3ce4de5ebe3dcf0df975728cf4497956f624402021f337030406089c7d3fbbf74c5b963eb9c80038a6bd3b75fd9cbe4c07d074fc84e381678df502d0ba5a37d5533a5fa0eab079070cff698c5267213c93ef33b39ce6d49ab05e84c00684b6a803a8c5b0a490d6f3c50850502c180a267a10438c511051eb0333a1a2e04590061990623088c138c418820c51841042049088c8088d347a42e0e222e6ab720f82cf1b8c4d50a1cfe099a7f1f448d63ebd4db711466f49f3f6454538303bb23631cf2e250bab2d711a06d39fa3b52e9f310a315bddc8f6419d10d6fb350be12ecddcc21fb9179e998ab87924ff15f5977ce6e82e9f2dbf25cc5e5e6a065ee193e108b4eea8dea927ab2a9347d7777a7a0f6339d1ddf38e10e7f249c621d112142a8e553f592900a104d59fd0bf7731805eabeaee7ca701d05b0041f6d3635beeed18e39140c42f0ea305d6a7e0ad99f80da0aa0a76c1e764a4621c4f262337dfaa5b5f76c24a859dfa8506a4d52c7c8ae9ab62527de80cc6fec79ebd9719173b910978d417bc832334db35b1af5b724331c42d29aa0a51c1437f39b5e8f7b6ba22bc51ab6b1055216aa127ed18a5a1d402196491aec2a030716d1cc3bf63447ac55176ae066eb4a5f235b6fa19c2337183c6ab420f6bca8693476f0d9768d4ff5cfc89728da00fbf9fb249f4491dbbb2349148a3cb9e51e6e513cf548a1b147a8fb1cba0d4c2755b30a9e20b75921801ac89b714620dd8323896a4f4d6f837eaab8d4e7760e6eac37348fab6dbd41f33e5978dffca6ae64c517dcb5994c5c6866fca58f4d23e143bd4b4b996ae9dd8e7589d2d882624b80d2e71becb969f278267961ebfb2d608d8bfd6c9ffdca78fe1dca95e51eb96c96d670095157e05335f0c651fb82e4f61c0c19c7b74cd2626783b2365fe43992b70ace93df4a2bfd2860e0b5f2c4995479baa32f6054ebfbd0afaa38dd71a37137f0508274baffcbed17da43a961b39c0c0415801da2dd0f446a4cdfdb6734085107184599ad13d7f269ea01248fad1a939d03e8258ca9cab2803faa08ef5a1277785fb75465f44fe7d44fb84b5e4dbb7d33932efb75b2e9902d262e1e40d4d89d1846e1d3c94eef27261cf919957fe7a0ef71ab03403e1d847e9e432606c8faea0e3a8f41e4a03a4cd5c62bfc1617899f1f8cea3da389b01b5c3c9ec4610a3c59b23f1b85a0fc4b42f4277e0682ac4f1d2301dd0d3cefe2c3e09b95254a9bb8a4b9c62aa3af7817a2244c694526bbc8606a4cbab0cd0e3de5dd4b75caaa9278c41668428b756721f774264bfae4c38efef150de83d5a3874a154736aa92c890c205e14d82d81b006b00cce12286b40834c2a896b4eaeaefd2c77d4021eb11cce682e350afc8071b1adfd338eb61d8eb7abc2a0ea39bccbbd8021ff6e505cca55fb6166bd04e87b310d160a4254c347269b29f4f1e23e0d921a0a7bbb21333f916f82b1d2bca2f1aec27b8de39404cd72e7da938b795854063335ca5bc5eb53e426d74bf1a1e5075d7258078654d0686e816946856405d02d1985c175a0d0f455bdc57e92b37558d436f0c49fce88799d6ba4b78e30771e416d7591aa58d1ef662512c404642bf01f416cee08400b29fc476d85f17658886048487514211624d6711f93a36732a95d68185135e017e8d05b76510c2c66a9225a1101626d0c001e7533008099438224aa11d5da208de4b78ab322ee98c9da330726d6caf9000c04acd3e61e3a3764f8ee7bb92c104fe9c079ef1f45108c40e888956e873b2734064d389ad464e0914bb2094d5f072173c8838c24c263b8e66c08050d4297a90e6e870b680917e34c6b1509c55b845655f76112966efcf44ccbb9faf18dc7342df1a7ab75940b47771848f45e115077db4eb426cc29dae58e17ebce0a7bcc02b81a0efb0846686e7c174c71e740e170bfac332cc0f15d9740d99d594d0ba23f91b1cf7f8bd9ab7e4fef818f799bd1a67b5fa1e52815b152172b75b1aa8b95ba58983be105c6992caa44b99bc0668434d3c8314460a61224acc0d73e63b48806887ce8fc26faed4cc8ad828edd1a14b255f66bf5e6ddbd752f5c428b7175e583acf3811e7f985156e22c942f7083be823dae4f7d611b5ffe9e43f80fa77b368644038a503c933a4cb0a2335966b3c5e23ce0cbecf9324b205a5e0e5c8556656fa2431bb3a8afc6c7953c2936dc85bf10f8a159964466428c72f46de9df709d9b4649f3919c51e7f82d212709023a78f4e83a5029204808838419248441420c52b963a0bab164422227654ef65067b13e04f299596401a456bafe21e53f9c311ebd5c12e84f586756f6dec2fb70d4d170dbeb7a987062e393f5601210e428af174584610ee8aa35e233d485fc75c68a1cf65257fa3a419fc2617c1bbb235f73b1a2bcdb57f847c0e69a314fec0db93a09f52f3d94a59c94fbc99dde909455545d32b00567c4b2f09d995ff221a98212cf679c065b64f52a79d842bd51374fce38897525e0876d3da4cd63107be0729bd2d4c3acb7670465d2668caa50692a2faab7f59a6325e823600904de00f8596b9f5561560e6a6e86d36beba83081d9d19f5cedda1fc352adaac213e05eda4f805f23ff3a60238adc29ea16f046ab93e965f6085ae8eb8156e8a36143877c8a768175bdb50e81711f61c7f0ff72438c85f4340c8bf26f54fe548089e410f5ed0624c18f20a1a678b6894145b8c12d546f955a964a983c7ea1670f877131e20f3ae3de58a2778aee08f2967ad5d71007f135a2345798c3c1d693da26f06ce58625c9a931e281bb2d08d09a2868bb4531fc57c35399d235a810e804ed4788a0091223f7334445888e6481096f5aaff86f2ccd50344edae39b431c1f83c6c18c48aeaa808332c2505a0255d25e89478d0f5f36abe6688516d288bbd4e097133be19301260ee2a4e02cc6b7b62515706d5bd1f1c58d941e9b2c818343c8688f045cf71c2907c15492a58b13e7ce23fa98bde19632c2d5d6b61e081be4e9741709630dcff0a76a58e63360325f7aba520820402c0254b81cc969432a205a6c7c931f25b7869632f1651995a9d8d55ab2621bdb47a99886e879e3a1c6c25ec31051e31ca5143a53eda7a71b43f5e9dc767b88d2ba221e5d559da22ee2d5f8a119cdaf594f1c6432ae1b509fa96c8a58e81b5c479f95e3a9dc473de2695f8d1d0e8cd29ecfaef4a0043ed2f1a855cd03b205e90d80f3c9181fa4706b407a3f2a3732d6d090cd1c4f4431d1c6a7b6ef9bb52d900d3758ac41f381006771cffe03142e038d1899f371f6e1a7c3c293a59336f42225cdb4a16095d8ae375292f7eeef1705d2d642a01b72e93e6af03891449d9f5532ab4be1f6147a70ff5ce816a4506dc829a2a4581e74460bedc370f3d6f52c4aada19040f9d39f8eeca42c395f58981fbd5d8a9d38dda0e9300f54ee459b3434feb872f5070cd5942232b19c9c993e218af38d44aab0ddb7bfc1ecf643b7fdfec5ffa6c55a5c8b6fe12db60d363f1da8a0738add5cb3d5f461d428b826c25f3184b9c59786899776b2aa909178ec986bac1858795cdef68b60e84907c340380550cb47558073eb5e2f4d54c0d56c0a01934b290ec2c718a6a66e543b667ab5cb98991809155dd65d309506afd2602a0dfe290322b5ab7d62bac63b667edc1de68949ed8c72313c98a83bf54768b4183e49bcda41c335d988000b7f378bd0a126c67df3ab23f28ea7526e8910a138dae78e8a0c478e9d8b884e216fb1e75019afbe3030696bd6f967713e91e0d8095168809cc810519bec491178b8a3d606e60ccf2987f724c6a1fc02416dd446cb11a4c91580b356728dc09cb4a7022a8dc14f59405c913a0761fc378f0d629a80c8e1348963c271a279c564778132cd6e349338e01a6f0b8ce123195f07680a5a7786cd101b513b53c27c187b931847d2fd320961d5a1f59051f1e9dd7f50eb1823b3bf724b29a59452662201e304f904e8044ec81ef4f0de9bad037177070244b5d970be78666087065c880ddc0b8455f3ad197732d870a2cbec1c335fd43d656eea9a1edf6bc25cd3c50f4415bb74ff4923e5ebba26422e3bedd87e2551ca7afcf8c68e7b62b31507b1dd7cb478abdb8248a3232e0f0d2693c9662b320df61fc7a3025fa0d037d17ac1c8fd0ab5cdda4bac5408441aadacaca870ec5b1745f8cffad0547bd67a764829bebd7ff12c6b351c0df47fdeab6b20da4ab34575ea1c91f2f7de4bfa92e9afa7dfe37afcf85e1d72932b96768e83259817fb65f156b7dd786b5cb506852e48099556e9bff73f57094c017521efbff3117936f6454dd12594a75e0f69c25faed8df696d792a4fb357a7c40f640d348d0bda6f7cb5f743ac9b3a733d7cbd7b2db6f6dabdb78f71820fe810e78e1bfe7d40ab4181ff39dda98e1cd5037df0ac945adcc3b7080a64c04ed2fce6373b5ffad1937ef4a68975b61e3a89442a9d48de49852cd14777f9ca5baf9f38f422263efb328bef3c9d4ea91d747a2806683e78920fb41a2be3883b2e1c43d50efa82518fabfb3ff641a4f93840f0331ffc158ad26f06f2ac7c67c6444a7ffa3f89b431616762af416311453729abb5599b0d1df5b4770f15aec4a98367347a97b1f6f0b6bdada6c8484209dbe3a4f119afd138a59a7f0d8dd04611159062c70d2270547a829d60a7581a4e68097df1ae7b7099a0888d7de12c225a87b1a5eb380ce6e279021029ca129d66a3d55822453ff3ee29d8aa8f3efee7cb978956e6f7a19f4dce9bf2965de6a597ff19ffe3b272e62d263a2bdff9dc353ae9b0711c5f9e42f141b765d06d2467f812978e82bb4962869310004e747b061d8c9497b9192813a04abf27394f7eff20f816e7cdf1b5d7e68d459ff5ffff7dd46226446af164b1365bce28d0fa043480cd4af1e4c6d693bef4a747b9cc3f2fff57cf7af1478e6e773de9e393f4babdd79ea8cf59452e3ae7a94c7d7ce5cbb0f4254a73c812df7f2bd79ec253785a9d5a79872d741800cc075fb8ef7f70be0ca66b2f6edac5be4c2835fc409b2e46a0e1367c3e8a031382b08c2398155129d5ca8a2fb2722417f9a85433deb4e39d77deb45dd58ae3c668644975546b0d290e6f08590576e4a04414b1da645c3fe1bc4acc9bf1acb556212b212b2122c6d32b594137ed57aaff120607e9a69e6fdb730e4507d55acfab0d1b291aaf9ae007cc00a42aa09e03be6e436230db98acb8096fbc74f2d1ccd059fbe84cb74de799f1cd08d8a0ece0a4c4d4a241fa87a374724285394422ace83fcdc1b773c80c503e280faa5dfb03ce0f383ff0cc4cb95e0a75a7efde6b9473cab95243c0d00dd531f67a8dc0ab7614d7ee921a741a5bb2b135f605344e7332a075411303cebf75d789647ad8b898584c30b6b8523cf1b5ece7f6cdc48042d7956cf3a70fdbe62c974e6444f38108bce3daecc16cacc8d7e0ef25981717e8e1e3c704340a068c15deb121cd3d8d52515c038f23602cd17978db6038fdde34ed3a0cc6f33e459b7cc56cb57aaddaabbd596f1bfbf03e816842e7d1cef15b91957bf54ddc7321b88d897ff5923951a6f82a42e09b77fad37b6dde004ae9d6beeb5ab0b15d6688fbd2a070c5e629d636c69fa9a13f8e79c98256b77061c366cea09a3ab634d565e79c5abc29b4fbba8e4345c702bc2adb865285ef36deea9097e873f0cdac1e0d01adb552209050a9b79574ddd3f9d67a5a1dd14c157d614669c60e4ebc94191a58c705942ea0840216b4e166ed8c33af6766ee3f9e5bc5d552f7cd3f0175c4236ed58ac57acb1be295fcd19a4910b4a0aec3603c2fe5ae64ce9dd77fcfb929ddb56e6bf7bd1b6f9b14b3cde590009b1df577cb2bb3ae3be3b8ad39bf5dd9c5d58ed635c5e9635f1aaf6cf076837c41be209d3b2b16b330562d58515f5cf00d63ecdfa623a95e0d59ecda62a3428b5d5d6c3a72dccc103872b979191318273178e841ebeca5542f00191318273178e841933181711283871e342828a5b51f4b891822043b070eed8644db078443c70dfdb5e096c1715b9bc03889c1430f1a19db9d62468dcd676753b56e6d0ed6e260ef0d5be7d3964d05d89aa34a54da6eb75e03871e01465b5ef082d5835d8031c618cb40953d4ae987d69a394dab814403b228e3200a0195d94c9dd5bacd0fdd7719bab3b93458c8e061e8c62e0a1b7b85cf970b91abd03c1c41c16853852d745fc0b2bb00295c81ebcc2b36a8914b40c065e40c0e90013c9dce06f40973382255ebeda0434b833efa1386a2508f5a5aa4413a944babb225c32be437ea78489f0cca9c0ce6d0cda46f845b78c422c8855f7984e55790569056101710ac583d17814075d6bb652d812031eeb1636eb972dbd3376e6834d8438e4358864bd0d3ae77a939dce84b06839d0ce6bced69cf25833d5bc682f663413624b223538585401f6c2f47bb9c26584c58f80a773ca00e0bb076666bc94409028e8d9a3e5483f4875293e984c239c4ab4ce28efef0e7b39aa2847174477b34983b3716234b599e61bcaaadfbcab02bc3335c4e416eb298f3b5f3444f9c0d3d4d5ce2120508dd8dd995fbe55468b4002a7ed8b41586ae6add5a126b47f6aeb5564d879bea5a3293d6566ca9d51f78cb6cc2a2c63308972881649b3c3116f1885d2f9c4d98e689ef0774a92889309ed69a586b83cc82ccbe2050d0e1f820be0e07ee3a1a0094cd9c99a33453ab099dba4e0b5adc75188ce769342929d67e74daafc62aac92160bf77b83711283871e34320290372948d49273ed2e25b9a50291844624cc71241c092a15ae30875ba3cb72391f2dda23fab3b5c88848366d8d455b5f3e5b5b3a5b7397232262b178dba275342e36381a38b71ce7716be12d8b328875a88559e3c8648e8efe88c045601ef7886cc2a2fee0528b2c58cb5247058c4025b11a3952900e821f900d5991b618639cbffb80ac6b0b8b78c4ae57a6b25bded95dc19fcb8ef6656196c4f9f3a7398f06318e59c83cc396cc6dad65dadbb62d6b19101990959cb5a9044ed8340500a114c8f687e2f7f4e64add364e73dff70714219d6a87363ede4e05678227e0b2da4b708d8bfb09170a9fb707dd0579e6869e4051315d502ee23cd401785c078bd06cd26599ef82f20457716c32caa943f1be13b860a3331a013036b8440ad5db5bce70991e4dc8baad448feadd1fda8a972ef359e8c48291b198259316d8c6da272e64b158386d657f1bf9032548b75fdb6e6cea9c4e2951c85aa158b0963892af0b8bc56ee9e545a94410ccc5213fb2d1a676366fe3b1d50d5dd0155d7a2340c9b2258e2e182c850a55ac71442a99ae6703ddcd759e1ae9e4c64b257a88c06bf80b5c23a19d58c1a66cb5ced81542e1c0e286112512fd8be28c525114411804cad8756355ffbba690e974430b62fb1e8c81b83210d726038161bc3b41bce05e0ff040e20810749270168c617c8139c17466c7f36668344e9c3816016ce7c2ee4535725724de883bc9c8a55ec6ebbaaf4ba244b1950ac7cdb3c8475524d6968bf786a27a558eba204f0d09ad3905ec558f7ef6bad9067fc9a2640a5470214644ba8b6749c9d98ab465a9686ffe93567bb14577da43d93cb8a76b7e13365fd3e528985898e36c5d5ab8c0608cc685d722634373b4da8bf3a637cba5131921296161b974222324252cfeb267b7a9c8ae23db92ec5bb2f1c808f6b0ce7a7eb383339383f18b3f6e0cfea705c76d7ce94446484a58b4b858384bc765f286648484e338232e2d5cd42ee1a5c302b4803a910829346d7e85a243340d0bf4e3d0ce830f6281e94c444c1e1411e13cce7f75f1cb65aa2e9375b9705cc9e5e40c1d1273e6208072f015adffe3e4ce45bff87aab94d65aad9e3cc43889517aa1a66aaaa7583551d3a4278a12532e72ce59e79c9fd5cc816ac22afef857399deaa9e0a52b3446495a52199dd91ca468485394455735168bc9487892ee24e90c8bfd8b84df4435bd0cdcc41ac1c18404fc2888645ecc41cb6e3475a9610d698a865465b56b2d436b8d2621d93d94705575a961bedc50513295354dd1d0a6720d6bf8957e47fc5a5474815e9f582dc94033589929a59492f22c4dd234cdd344654b5732681b55127d55cee503f3256f6df54bbff44b6b5267fd52f0c9a926d7909cc1a4a4c48123e7ebafe0596b2a822e200dca540482fccefc26677632e6061c727801001d76d0dfc91965e368d0f273fecb657035cc72de2e305a5372b94183f1ba8e26212931711397bd4bd65a7b5eb6d175188ce7693423d9fb5152c25df4ef8dc57cec51ab536cd84849d1683c0f93b7890bdc652ab61609d89a56cd076db177dadb2d5a684f83212961e142b7d0da85f67e7054b7e590c366a2f5f532f718c082ddb49216d3ad88e2c9f0ab30c28f4a9c3f8276006fc29b7003d7c19014c6c2e54e99bfecc9dfbdf7daebc938e62bf796a75ead5849caf4de704befcd054ee9bdb5d059ef2d7b2cf2ca57be5a95be1aab054938c4a3eb2b914c275414b10f280aad562b1c944c364aa8699e72ce9bae75ab0300582f527f4abde94d6559723a29ce9f1ea562c5febb2fc7c1e80407f47d38e62c177d8503d1475528b252a9940a83180c2276d6e455dab356f0a14509ddcd780d40f7853b1085078e1277f07e67e636a11b46dd2776c7b89b074ec787afd25c882ba371630609fc006f046ff9ec0657d2d8e48ced75e2d924cc7c14328c8c006c4a0e0797b2d9b56ead88b59dbd5cf0e962b270b8cee658b02c31589aaaa51e948f1f9cfce1317742f5f3d800041ac1def360bdef1a5f30b27e6fbae10ab3b0780352699350fbb46993c91404f5a6307cf1878f998fff46484a58b47081b9e108138bd7782485be9ab5de4577ddd7855df2c66ea9fdfbc1f1c16d6e5f2c59934a241f231c924ad27ddd1bbbe4954d179d65233ba1fcd16814a4745bef52b9056ab884ea43d34a8d0ccf0a8c15b48f8209aa8755d0c100c384a7a91ec687b528b8eb6c68bbd5253791119212162d5c60ac67b385d1828ea4bbc1ac85ce60587e4ad05a6baf35c9507142ceeaeeed62f18ddbfb62c9a45bb2a4300cc30c0aefbda40fbf55c22009f3e24463f266703aef79905eefde8b83d1468f98ac3aef6de60c0245e1b9a27b57b8eb307b7a9cb7f128fb55c908f63aec7d3773bd7cfc78138703fac7432e0241ffdce3201f652b52e64d771c9b377d798bc6eddded8a3d3ccef088f15871b5d8628bc3f03f15878511cbf1be5c20cc5718af5aafd04751da5ccf5b3ece8befd5375f9c3578abdbd5197b2ec6f87a8278827c2a0f32f8b6692e0a7dc0423c423c423ea290872e542648f1aa6910b572fe0fa98245596050515a8570c306a4bbbb97eeeeeeef9ec2b1712314720d0d1c15b4ce9935e34a2ba59452eaee9abbe69a86712aa4ea78beddeb42967f28b59e57a7eea2d1c6fd7a3e3df7ebdeb495aa902aa44ab9ad18dd60082972c2db210c96ecda5fd3b4faf6eb6b9aefcddaab59364a142894a676a0dc98f8f50aaedf16d880445dfc96c8915cace4b8fd23e6486ee330ad628b949fe099dfb8791f8bd8b16115978a4b05a62f7e55adb5567b792ecc5e8a8d2d578104cd83f04af823b8a3fe31989a69d76d9503282861a7771c613349cc1b3768d09831e3e4e4c507c5682bf9e5cb7e66532d17ab8fadaed64be54a8ee46625d4e9622deeecb14d749223cbb29489254772244772d5a997ac194ae4903ae2ffffe87ac128a985614ab562bdf8a527b57c146d00be3ce5285fb94a14554495d1e737415ff981899978ebb6b9df96b92f7477758bd83d7237c9b575082252131842a97ee9e4cb9cfcf26324d2c7542a9593df84c7c926382a2a75c74637d7342e68bf8b308287ae9e57b7ae5ead777b7daf850acb16a5f0dc3c7c80cba9f3a8cd144dd22c4dd344d9cc9b9ef4a92278b8123d4832541991840f7d9da477de38cde99df5864b95f4a4ebd94fa53e55439bb2d6da273d697edfb738338f8be097208e9c214739372bbd69763e2b1b928b712527fbd26a7f512b928ddf7a18c51a85da6c79d37932e00194e65009fd44f366783e048501d538d1611a74762c9d1f4a113a6a3b6061000b2e776f2292a6b948820b24cc69b28db692ef9b7161848e521df31149dd73aa69aaa326ef1e14935aa7de26fbb4c8dfc2154bdc46ed540281db070c55f1e5c2a692a9f4f97c3490e9b389365369136926591b4a28949882adac64272d647d640c26ca5ae2cb65abc924c42404e5e0fe2e3db874dd5c699596427fac44d55335d119d33237b9f8a083a2d375a11c1b09f3e244b3a136d2764ab17103878e6d1381b610681bd5e9d1ceb76d6e536bd4568453188e2a1d6371c4ed945ab5385b67f36ce0f6d1a596e9d88a76e951931a2664246424a454eb9ce113e0dc217da518e1400c40bba1d1643237dc5082f9a4d2c919fd6c767e36398e22bde8472f2a615c51a8d16844493e7247a550abd58be52d1fc3175def01857ce62b2e7b42f51cd8abac1eb3dff7046b7322b59a4ca3f7c050a915695219e0e4bc6772fe43afd5d9ed85faeb3d1e0f48e9ebdf838d260c5e2b4d362265f43e870e81e2638d73aaa8c85456847472102732de87d98c3408c073fc265df7ff3ffb4fc363fef3e7a0020b270e73cebbe7d4a6b7cd392bcd98d29a71a5baea9aa9a6f99c74ced19c73fa9c734e4da39e9dda9c30d7113a725440a474342ab9cff08acb93a8ba0ddec8d87849a39b928b5e274a2975d6e882d150273a9991c2b17123a4a181c3569d6db53ad7bad9cdea8c4b305fe2fd8bbc0d4d29f9aec44b25956944a54a5567f5a770446275dce3a07f68d9a35edf31e40a978e1c98089508442082536e0a94fa9c13fcb074917b122867e9ee7ea7688ae6ff5b51a4734efadf7f95d2ca803aef65864ae7809c29354102098cffde692dadb5526ae7bcfff822c30a9ac66ee24eecfdd4a326989e83640f14c413df666b5a6b7d6fa55eadd55fdbbc6ddbcef9cb5bda14dd7d09bf8227a0451ddd0ad95fae8549053cbd3037f5b79ea501a120a8b46d1b4f07800033a70018100804419a26414c29a40c833e44a2490524968667b35024c941148532108640c648638831a00c0c0c0c4d13002a60af460c7af594fe2effe7dca3f6438827aa727481e517cdf648ae7ccad532c31876db6ff43cc9a77587daa2ada24ade00b084c7902ac5854a3f43ce76995256cdab13da578a4e86d05e25ce958af288181871ae548750fc94c971b50168e9b41d9b86387e9c1657d7f77ae934c77fdf50059f1fb1e8157ef66f3a6dd902944c874d28483c1e2675466b44ab0d0f1406e38134cce958833c16de86f1be16220347b8764500e4f9f2783a506ba23839091240af331e78ceddcc87e8916549683ea60025362e6ac4322bfe961acc042998c90f418b8be325461b571e113925e897ab6c62dbed6e2eae6e9b3a0420517bebd87fa81a3d8ff2934dd5d689d48d1e3c1d6bfe6d5ea7233364107de47b5b9749e31e94a2dc5575cb4b2c8b3e5621ef22b48d30167a11e00fc98be33bc4945846e2cf9b0e21f772855e7fcf74d15596a15622ba236f2d73b061f3cc59e0e8a50ca4486e27d375768102ec2722d577ad35c4ee9d52c2e5c28752bd88b1db215773523ef07ae2b736eb6f31f15340d20196caee8c275fc1a83ca55d57cab3b22c2689594fe8aa49f2ab4b8f2b66f3b107440a24118e0bbd8e35707a8f8ee52881254f056e97c1ad3147421ac738256b0b15251d1d265a264a3cad34b1c000ddf869e2558b6362fd587b2f1032c783bd67f065e4d843b49f67a26a3a7d16485111d6f3313955b420783f0127ef1e37a2ae16e98386a83888cbc2f215f5d81d663e964d1d712571744cd4e08df8c1902ad56e62faea1bb5c72bde51b3dd22fdd2f5244a2adc88980c9c079e1b5d9f172ad0c20769d869b066b877de6c3aa19372ee96326489d9a6420bd145409fee665b12105ccf9fe2e0aedc3c781c3a45ea51229df351ee6bf9a3b47d9dd7f02dc524cd7e6095625959e2866bc8b704090ea91d17f65f2406fb77bd870f4f14f5c18245a349fbb9b75a666f23e607edfa2cf9782eb9afd4fe47172817e9130a73f19ee892680f05aa694ea6790760db0de419fb7360a2ebc49d63e5b44d6fa4feff245a120bbeeb8d0ca20a6d81401556c740c8bd8b5df84699c06046471666fae4d9b9c70d6d15c54c5c118198980fe5ac236813933026b7c9f91f4cf87700a7b46243ebc9bcd2d496c94f50dde04b6115f8fac3922a7b55052c9758e8195457fb4081d1b6cc4cca197c736cc93b7ef5e8446b964e1761bd7fef1383a36cd801241a097f52ee41799bb2fe0db6d0c496ccd2a7e31a2ea417b3e17549b118d93dca076552bc798a7d078c671902fa5da14215df3d9513baf4299352ac9121f975aa0fc1a7f42904a80d0186c4ece890c11250821ea0d57ae45a5bf716ef527498a25848457abf01807f7c2c07a6aff5d7abf498dc6b7dc50a8b10c0dcf5212dae21be13ff4b5dec74b981a6144703e316d2363ac0454117569a30a042323bc3e05d1b179d54e66c98c346df02cc300cb28e69e1eb25864276145fe770ff103d4ded5b405c7e801625b67655898bb9c8addfccf0d7e186ec2125f9195b4c101d64675c5b0290e16b22591219fc270f522a6f6327a1486a530b96f8fad250eade46a80e6e802d739c38c1673ce82b961ded0d0e1b123dadf0cb8513df1e5475d8e5c06d6f27931e49b2e3b2ef91012ad6be47d9df04af4d1a81dbc0d0d16dfe1db8e28042f001c4cb4c862300e20cef88a3bba557ad5bad0ba8d8664596bc178550363608599011d6849489d50a2ad4317078f89098ca2599116bd4384009147aac2d40be437e618f4d841059dfef0118bd16165cb6f791c1048616f46943cf75f3b317acaf4f66354a5523e4ee43db4f16bb027c6aa8c12dd17473846279bfb63b62bc1dc291072b27e0b1d73a8bb10228158f08ab49aa599dd19fed42c859a9d7721b8e9f6b0ab7b1bdcec37203709cebfd5e52060ef163d5cd1a5a7b7e43d0ed3fd1d56dbd90220a234bc703c49b4eaee621012d01cf16abc53578abed9c940cb3d284b09e935bbcfb5ac1ba34f831e70668460eba5da16e0298e4649ff5a38267c470a172159a68f87344523faaf67be18ff97f85b915d3802d61382f50d8d2f29836103304effa89c714b7848b10c190c866f4fb5e86085450c8d77e7f9d77d434b35df035e9e5d718931326df049e6cbdff35b3c348fd58112c5ac9b3fec279f1fc26f0756d452d53ac20a99f3210d7306ce529be3715a9b66edfa2d77aacdbb5e8641f9e17db5d92fe80d09b36804247b727c45dc96d7d124d6d9e5725d483bd37aa15720cf562f4e119af01aa40fa7b0146458a6c57972952275d7e40f25013ba72f132b1709a0ca9d961ed93b1e25987bfa494fe679c1b9f26d4eff3822e68f19c2bc6cb4a9db75ca01c76001e7ed40dbeb1293fcd0c6712b93f1e8a55109fe9ceaa0e8c33075c659ce7842d00b16e073b9d1c0e79a17a468c33bff5884d2b543e933b6902c639679843fe3af5d37bb1741eda4def262ba0b2cad28ee67f765eb48108e79cb3df5480f9a565ba682a27b4426a961839f0bfb5f019fa510d446d4594a7bd77675fef2e453adcabe558f17849cfa98fd88f58f27e313691c97d0d878dcc2fe476715954ca803565bffab6da8a40e9aad0d41a516ff82d0d3205424806cf9e3442217fd24915873e05481b15ec18500b818fd9c168cb482ad3f85400ca4e98038c942d74d7482d0344dc6db2dc21a48466eca19d43fcbcfce04d5d01edede69046f18fe028db7b74f38db6930b426cac4f1244eb152770a3424e2b0f569abd9872ba6c77ff1f1655e4c49fe2804405cf9bddbfe2cec295e82fadb6ed5f59d0d81a3d190902bd4c4224d0d2f8772a1982e7f01ea8ed4303e36b01c9ff340132f2e6fb1da84d97df8bb6944801394bdfd7a53658987ec65dc3a5a148411c75d020ef0c2eba5415481502da0eac7938f678661c043ad4367cec14191d3e92e4489c6ddb1817a15c4494de7f4150e4e6cda4f3e35b5cb591998f14e6c295df5c516d81d24286add39fc8c90f3d5f1a2558474296d8f23416f855b9db7ba483879c60b4b9b031d517f4a828c3cefda6b49adb502a520824603bff6c0e1a4c1e5e12dc6c0cd7a5d35dec65e9e9e0dc17d92d2164fdf263116a7ae979dd1fc5295ed72827bae4dc86e2703905d0e5c6ecc62c32b7f80c1735d1fd211205fca215d2bf56b4e5ccbdc93eb84a880407f4217af56b4cb8a2b1a821090c6e2c73848759506008515fcf49ac45163513eb788d2dd8cd744ee6d7626f86637b0dd191c26981c87c9bd8435c9db00e4269b3184c925716b64c2d3bf5a089fc315eac9505376d337601ff2f50bb418f7242b87e1b77ba5d1484b70dab73beac6712a257dd2cc71da53279dc3ee0f437fcf602cef2f3a5ddd45dc387a1b90571e25b9040b6d878f68048137fae5d7a10509bb8098766071098b305ce58a9fedeff36acf6754c3dfef92f34f5b2ac91b18d1d057d97bc2d618e4d5cb73e2fe7e68de3667fb6f882c4edae2a46a59dee2a951a7fd8accd75d38ad6f6d21316aad04e5e1e743a2b4fc5ce00315731eaf74acff82844c927f442c5f6e6261f454e5bb5b6f2648196f7ce4c2fe1ac33f9a700a1fadd32fdc35be41781f7e7145c035065f501dfbe343bedc062e1080e3171b74a421ed700e3f5daaabc8ff0908a539cd7c6abdd4aa857994e83307c693026fe21dde8719b6ed39d02c66eb2a3103f9318eddba40d0c7e67045cd128a54b522845b8e0a81e6d55d991b911645272ff810f6837c30a1411acd30dc6c8dfa4dfc3e284e72c1510c41318eb89662d58cc563c74950f0d91c37c4c57a1da35d2231a3971c99769d867691b089af17213a78ca97cf2901d7e199c410d3eaf23a043d62961a921ff15013c26c7dd1a85833338533b3d4f9e7fa9bd43aa0f16ebe056100f05e11914d35429cf52f0e7aba58168b2294a02ca6bb483b0582228ddb58ad744ee159bd93176ee9297b73048feaa01c3145517b501d4bd558560eb0ffd967e59a1b08ca1f3e8bf5ee59b93a9f88021c8280f2b219f5169d4a9fe4aa8b02a7a33cc11f711ad28afacaa35f632e1bfe1e15ae68ef6d7e80f2685419ffeaa33f7b65a86045d241f8fb15199b2cd80be794c4b5c332c242d490e257652ec6c9845e841cf99b3d929ad7173672d22376d15b6727a47708eb8847cb587b257b5d53d200e43c5cb16cffd7a50525b3d02cb45b2c07e1a2f4be28724794e3e8f2e7480697117d0b441025fb56d3e4f1fdcc39b23a0023d946dfd860876b763d520caed0ceb23eb21e5d02ff047cb183edab455ec0ca55986bc36b737053157152c9843e4ee82eca1af38d403a3e350a0b1f73fce6f97bca2108edb57d899daec83ac8e98b8bf31dab6fa1453b3e80171a307732278b9dff44a5247982f984d0a3baefe3aafd3a3dc5d901e61065903f1444c3076a4edec7c08cc573a1f7db9754c6a968f0b90877647958ab96f7e0807c429655d0846a84b4b07b30faa5bff172b2d62bb7a1414d4390bfc609b678c3c799def0b8f806b3add757306249587bd3e0c5bf0f17b9054835f0010d25f05a1e8df14249a6e2ecff1513af27577fddd5ec3db379b6a794706e6e105672b14147945decece8b38d412c003f798fe4c4e6895cd362a00e9c58527f92811662cc9411a4d636f232721754e8a0662d2313540ef084d71e128c73e2021ac22573018f3df7c38710519dec8a423ab8c191f53f37e4ba6a668a8ac15dfab9a124933b00411a492970948cf4f1e60be1b15f6fc5dd19d56141be2719dd50736146cd03ad3f953592737892c44e911197655c779ba2f1b1ff0191cdc28f2a23f8e74cccb9e317cd1c876788b05fe2a3d53417251d58b4179924c38a9a1cfe97e9d1cc286f3be93b80ee8d5edc9c814337d15ffcbb72e17117580931f11e62e088eec92e4451fd81e262d4aa85d857cd9a92ce486099690a9631fc336ef9b3afbf2e5dba73387b1b92f0ea5d8dd5e426b38e2f24deb08c0ecd46799b73db276867528f4c8fd8283d0349575cc8114ba460178122d69563a248fe807fff2b27e7da91748d131ef367dfe743f45defd59b0fd6471982cee5de30ebdcf624aa034542be9b6f449345edbffe43047ab69a3218b076d9fb1d83ebc3af0aa028d9d410da42e6a172d7cded9b907097be932605855f96a97b8d3ca11e5c69347209a3f44f44f41db6a8fd9105bf2c203c40f473d1f86f7d01b6e9c673c04e83738a4778735dc631ca07267005b4418068b1c6ce8eacba0a3b2d63a654fa39f2c19179eec3cd22592c5da91664e6a9428bcc297fd1090eca62590b318166a1b9285f34c1fc79aa12999ff94b3455bc8c6846133ad9e220608e59650311b58c0da643016464349e7aa3c181a9d0797618e159c7f440a05f8fee3e0300f4dab81d88ca9b6d68538b5492dee71a740311209e091d88b435ebe92c45ce54b86e9a2ff98a01865acfb05a689013714d6b9871b17b769f77bb81217e1882f1f067f6034271f376008a384df270f9cc49fb76dd9e1f58bc922f4ec5934d3a2afd385f227db0a06567bc465c5aea9cfba6a8044b4bfec784052805c418630262e71a4b8a6c7604124058ba29862e76bb9b36e43f7d02f80f219ad1ccd508e0f1ad0b652c92f0779ba8b312adc0b0c6d8f555532cbd5412a074027263798ed79b7dfc8fdb925effc73d0f4bbd2dc4723ee282721541133e130f09304c67680ea4e12cb51241a6dae9cbb4a5b5212afc599d97d2dbd51dae19bdf8c1c50edb8070ad8a6da898c48e179246b75d6c786f2cfe6ed676e5aaca06e714fb8dfdaf966e4fcca31c2fdd8c633977bbf563a317de8dbc4c995b724a1cbc623302085a480d2b5e6cddc9947697c1401b00c0e1e9846be697eab711250e92f822ba63ad8f4c0061045f00063fbc70ed201aeb8ef823c9005a4619add98fbab95cfbc9c0774ff990eaec111bd9c0c46f98c562573fea1d8947a402e84a233f01c6b344318c92c389f571e884bb5d5065732eee818fb84fcf33735ef5d238bd48ce52f2ced5153269fee534eebf58782422a742c83c339f00cfee00761fc405f5ba6f960d578a1641cad232652bc172062002b4aecf5d6174fa1c1b0f1ba82c9bdf990c10377058f06294d0ed052068720086d8079ceaa70d57a1835c92c20237193c8484e9df469a068f7085c7c250950aa711efaf6afd3135739c3bdd159d053278f3cd297bed15620c356f543108d969030b30be7e222bb15609bce693a373b534df536ce71fb5c7140307e0474abb63a807972e140f26d0bd5e9b7903885d396fdeb695d49852b6307c60ec1969a0c66621e5ac9d1355b1c86a135745476b31e3bbe088711ce8b85808deff7e4d519256c8e5cd5b3c82ee7ab0ecc298824aeffed142fa78f65018624b91e30927403ea592c88aa00e3052478d1236cdbb982a33ad5fb53ec2a8577909cb4ffed1afb4c91355b8c0cf83888226fc4de93c1dade1737073383454a7d5392992257f97f9630efa0788b8b55a34e50c8d6ce703830a91ca2518462567dc5ca944d4d4c9471e3bb6aaba50a16432a4cb05a77f1e6757bd51fe1c0af85b8b860e4f0842d49e4b5489daf3dada19c73284e1d7590457af19f18b09a2abd3d6b9f7e5fd8fb5ad190af4065d0e999a78a40f3b86ae3af648dafa9515ef6a5aec9757ce575a1d42fbf68e1f5fa8243e6137ebace18620dc89d661a2701500935e0830cf605f162d647f8e11d6e1dd4409119221d49fb50561ce94472a41289dc00c8d11302a56242c53aa8dde5ffc9d99e391acf5739a2d9a1239caac8838f14ddeaff6d488bda1afb65c10f6a7dddff910c03b29a778afe1a3b408860f7249d5f9c266701e92dad9ad0bbae681f3c6d6acfa01c434e8695a0fb49dc26fb90aec3c40f25c87ab0a8c89be22ec61299c0c71b96e3610590175fa1ce2f2ede7a3409ccccb0a9e49ff9fd835befee6fa69e0dafa88b608758aea9c2e42e42026e492fd6bc297104451ecc7f9af83b7e9bfa27caa19c9c3f0c60312ad0bb0e02702f52e1c1d8309609a74fd2937756b1f8e31f4ff1aaecf305535c7b7ca9f39ae6bd8f57a22ca5feb739318a05e470c178cf5d7ee79cfa8ce8ce1a1ef2cc0e7c2aa7c85612b48f79ec371ed8150385f9817a051a66fe78db62ef0746399d4a08199eb5c205f7e26ef15ce12bb250fe792653e407ef3094b70beeea8a033938f73139ed415b12e6dfb1edfcdf2d3ce724a720a029ece80f006805c89fc3fb0c7ced19f803a89ddb46c19d9130dafdfeba8b3daf733720d49edebd048df39e7743ec80a76fda5d99e909eda68ea5b6116273835c28c2d01c2b1b9d84d0c7fdbe8a5b4a54506a39d44139669b73798a4b1b64f57f813039c60fdfa39a57022719ff02b3e56017791f001ec2b0c334e8ffa7737156e51af85f8101e2009ac767e8f933b7d5d034318983e49eac7e660424acaf2c617822325ee51415926c2b4ab47deac29d2885e15871124beb31453d550e720634bfe2ea04a97d7dec9e33a06db9c036bef61d91a66672629ee1745ea429019b8253cb8c5d2483409cf8a03dcbe977c4360747f4117fa3c5689fe5215b238fe6d8003abf4355fc260e21a9047d4969c7f58fc16efe452851ddf850bef0097fccb7af3118d7436683e0cbc2f13961bf535f72196bed83461c3fbc72c365de31e05392231bed7fa4c6e976c9bd52dc05a4de68700151f73d960f820345a17d4551bb0bb81de8f0e4e09fba676069f55f8aee0a57506d7722d48d150103422d8588bd33d0c3342dd34cf0dec24fb3261e0e8d8c7e7685cf35bd804a27545baed6b8db7daf296bca72f0c86e4018335032080906986d17b59c73c84a8cfe2116bc91772441386f9827c2621adefa7827440b9d168575827f14f6187752b13430baa199e2d095b362d94932b3659373ab225f6e30e54ffd08f950a1837ad470bdc53f5c7445753db00fa188c73ed67edf9d1fa78a09993b017cf3ca5c5b53304840615449a1259c12b4529454a300a29f2cdb38287124fdf9ff3b6958253180b9281b3dad1b09ac803154d7cf3b0dac73b9b940db918f0026e821ef13e2a494f9dd849ff4d6794bababeb488ffbfe5e6e0c644dabdecab9628eb6e7d7f927f5dca30be1e8e1e6e4466ef8f588645659a10dd4f8d72b2888572a38324baf1e53ede017919f6011afa60384102437af95b3d22905b799eb41ac0575bb794055d0f6ea47391914df81fc9720975431f72638e31833f751b256369eb524264042978dba6433f2f44927cd13be98b5c901ffb2c58e862fe1f698b8b62b111a0da138eae016a216c55616a28775071c6ba8b629ea28f95f9af2149757228733ccc639c3801cea88bdc3fcd586cd72abd16c3742fca6fe51da50651eb1397771e0bd28ab197c4b345d362caca2903765fda21ad3a9c0f3a09509e729d1d27fc83cd30c652a4304d243b25516c53d9b05d1e6a7be62e70594bbbda78bb7d3df1bfd07f118992e232e70e8140247b7a5ea7a1fb2fe14b51052a39486a8f65d74e25be023bf6cf93efb3bcd1895b410048444316a33df00e168874e1b1ef32a0435bbeb8c79487c30820a07add1389806eeefbe01c5ae074479a362ae9c9b0470abeb524b710e7a245e89c2b489ea3e7f84d309e771e8a467ade7435b69839100c0b186066f3732ca02f406452475f23a135578eb9d61bfbf308857ce066ccdab0c345dfd86e371d0c3d0f4e2639e4b0f56e10721cd37138fcdddba7266e3cc5d1b7452eca579c80d8fcda950307fdde801723a2c7d813223d713c40b7a7b7d0a54da72a92e66a061698070008795a8eef3c71246773aff21b128d1507e751f63283bcac87a2ed80ceb530ce513d59df223d3f41d3f756bbc368894e56578d9750d511963003d230c6eec103a1626811763e475297cf00336b1bdbadb76be0de330e8126a3d3f69d8ffa24af420c2b0cbc143436ad338c0b9f1a9ff1b7a1dcf9d3c0f172dd17e28db028a881ce84430dca9e349ffffcc7dcbd8620150894eae32e95652b4d5a88b41ea690941faeb96ca959bd12550d28c6385dbbbd9bdabe89e12704f9f1eaecc13eb74fb7a3fe2d8d5d147a9d048db4d2547e66c0f8f9a419a8e588b0a33a3df2af4faa43adc817bc09cb6ffbe7d893adf72ca0a1da14a085337f41f993d6e9020c555da559ce49cc047084844b2db329325cf1280cee9e0c7979dd07319b091d209f146dbff852f0acbd1883b211c2eb8475fb1c58ce9d2bc1df8e8191c5dd9f2ed43eedd6b813bdd92e77ceecf16b25eb861ad823b29a234c1aeb34b76d2020df11d5d1d4fe1a08584c78c274f75e3fdfda62d645ce36674eb3e58ba6dbceeb2b6768e6341013a0549be53c19902123949233f120fea74035f86199693418c7ca96fe2b5ed5fdc852815b31cf235a9aea95cfe6eb83f601b689120900dac292dc63c35bd61210f04c5732daf2fee3763b674a5f97b0b4cc18a075040c4afeed86535f52cf4da2bcd4da42c376e21177ccbd94efbb4e80c9a8d11744963c9e0a2e1ccba7f1b6a0abdac21571a0953427a04b029b62520b2b2ba6b51ca8c894ad550953cb80567eb218aae215fb057c0f119363344eb2351f656c3439609dc044b4a1e5edbba1ce66e9ca88bd65fd9609cde35d2d16f851ec055334b5a96c51778fff27e6138b6507af1449ad380820f92b44ef998578507814fedf50ee466d88852514556b3d666ce9d6a624eefe78ba1f56dbebfc461c319b24e257f597e03e5f63e6bef94815bb7cd3a7b289ce42f137b0962f3238237b49a0c5c99af2a1a67f16c7fd2c4d893a40f2967815c0b623b9cd561ac84b11a1c5b5023f61ef4535f8bc3ea194cd90cbe8186e49406ef9323b28d80348fde99693bddf8f4542dd00a7e4b5fc7c37df0a7dd152dd210230727ab61db3f91a01b4fac48a3b2b04493c0d170905c829cbda1d029c73cb41182964c88414955b54b253f1cafad2e1e388acf6c3cabd01bcb419679b28b4f0d1d97168a808a0253f4a35b6e6642835be24d85f2ebbb93dc236076af9d40b5441f50e15e3fce6fb39d40475841787a824e8d746237835166b3f7a96a73415d85d3f34201acc3fb3350ecb9f1c42a22e6e3e9dbe0b59fbb9c0cdddafb58662872bf3a35bf6faa98393462586941ea40693546bc366768e1a7741b8f81e82bd84c0e027a1daa21c9afe04a1786ad1782dccf4043bc8beea890a33f3f14546f7450503175b5845197945e5a9eabe2d09206dbeb5d3d43483c783b5a5f0526a36f27631884b08418b953b4f620318c275673ef08c85ddbf6d9104dc9201dba436f4d6b415e1e2e198bfa704d685b87d518fa1ef6b4780e9f0e1e329c9e3418044a54cc9425570c32382d255b3293437cba431e026f0f862052de1888e4b1ffec2493bb37d1bd3bf92e9497dc7f2ba30626ce733ad0b6859e4e7421fb604cd0856fe551a8fe8a03ea36c076a2c351a94d33ae0b01cea3fe877713a7eceb716991cd938acb1dd09064b7983cf7c76cebfa45f7bb50f1a42bda4c1db4881f5118e9e89e309c9acfb830ba37b1b2d28f778deb162bef9a11a42909e6a37935e2ebc728038e41fc8818fc9a0f2ab7267e973c85623d28f28789381d671bfcc9238bff723a29ce88811b1b54727ea6d43fb8eec4fe0175fd07b5f8927bb6594ada966a1cbb2383d778371615400dc5acc29da6d14a21e4b40903c9a41675ff7f88f5a8621e1812fff4ba4c5c6916eca76902cb6428434d8fb55d6a80f9a481968fd44be7e04b2c4604cc270d6f89cb64f7cc67f2f1ad5e2d14e979d3dbed412efe80e5452506bbd5b367da0bb4c4375416931d08c4c25dbb7ebe2cfdb6aedbe67ead3ca4e1b5a41e205cee5bb91eda1f3263e2f697ccd31b43133299dc4556e2fe6cf9aae765ccd4f913bbde54c78519ed58609dde2354a085e8444c8a86e256afcd773391d7b36072d7d401b456e12e56f77fd83f4b2374bc7926942ca61ed58c0aac002f162a93c9b53a3140df9ddaa690a0886e171431aec6cc28106cd635e1aa3a96036fa792e209594c15eadfc4c9b5b7a442978d832143ae41ad46067c35f20174d7ea2f3b04038f04db384d4ca8eb96ad45b93dacef3f3c71a5088eddf15a6e10825e354a13cffcb9d9b2c278ca59b4c08f90a44cceb6f9b17dc88a8a28429967e864e59aab5e87203b124f2d0a6cb00dd1bbfb11ba9029e72bcf0de55c91906f3190089266a5b5c66a034ce36a1e7ce68ac73b9c986d36d6d144eec17c9ff3f5a3b0a7e81ce87ba54b5faa5d5b068b4beb52ca003391b711df039879ebf0c99dc93c92307009179490edfc9e59ce09462cf4b47bf64698a968f88b24391207874ecae0f7ed2a3996c804aa54c352e441e0f0dccad9eb4551a5734ca846ef82133927465a1e265c608796a3bef57e087d69194432af70bd55247fac68d51f3eaac156cb3593a8e4a21d9dde457aaf9a92137761d1a1ad8502f4aeb01d5767c0f9e5a842064e39ee3fa312d033a9289d2f3b53cded5b89bc697a86f337ea09ffb905ef5cdeef2966d84f6df9e6f2f04bca700260d176be718dc3424b035451f667011dc67152188e790dbf2d2829eb6e3e24f82e8bcb6446815219b8643090db460b299abe487fb6144fe7b2278b12c4b07cbfd1bba97fb3685ca69f285e2503486d50d0277e6407d590457b8356478c2df0f01bc54bd625a2a0178f93f8e28182d1d38a04300fe91100a5e56276b20560b483fdc2ce00de94348c990db9bf5af19dcb19346c5cfc334e92f45bb8b6c544f40dc788b450e380ef07fa5ba7845efb4a508861f4b12c39a089e2682122ca19fba9d02f1cc593dfe17dd9b06c5eec1a3b61d7b7e32adbd3b80232dace91a993e1a2dc6122fe17096a03440de794637ddf2163a1bfcd70f0b0b4dc1a120a01ac1cd2849d4ff039fc497aec0482257984cec2f41bd86345bdc46a202063515cafa5d302a557f2e30230ed9202f4706a6a6e97c94de90aa92bd046a353ba6a1acb2658fd2cd66aa4d690ba4cc6086791606b4e5f14ba0c6161502bacb1d65646ac55f61d043954504408fbc6d30b195b3738db2c42bb0e94d2ebf692d7a6f588204c8ae8d12146b1d88c006b15905f04c255896391b06a112ad68e436fa8c6a74496b9d6eb1f3fe00145a37e0d60186de610ce782479bee718f40e17fd439e000a29f8dec58ec2eb79d3b6e0cb590a47d018a089686e138399932ff5189732276967adf7d839403b281b6667d5907c7c39895fdd637fbf07da3781455ba176d1f528cd2a5a72a3f04268a0273b07a30b843aa4f9ca3a29029beebdd1f20a5271cb53af11de3f69b3314b2c90349b954dcaa385dfb7d71e421dca9a1d172dd23e302aadb4e3d11e04376f5bbd7378256e4b58d9d5c361eba9447b1ef4c1f20079769ef133dd8000f844aff7c2f172f20de0f28a925b1e1ff5bb828d0e2355a651e4f4177c013f565feb9aaa76c1dcfcdd780b00cc30546e9310c3996e94debfde64e0d542c56e967d52834fa34dd43b29213abde6907956fb6ea4543354e2c08d341cda5ffd91ad9c2311e414d2b8aa245f642b7c1221eea7b2f377884b51851d465a8a85fffdddaf3a66cfc7f1a50cf3034ff57bb8fdf35dc2687407ef435caf22e25de4076fb4196f882964e1cae143801be8f8ca3f0bf77c40b038a44574ee98792088a4b9de4a0fb92e9d477656d629530b876daccd5785fad841a018cdc91f7270638b9b84d9285183840e6feb3111b55ce01fb88259b4286b94aed963dff109a42b874e0ba42dfb8e6f8e0e2712e17385a00d69cda270820aab92aa6510c74db8cca756057df9aea715c9124eec4c9f197cdc8419e68e020953d2b361a6d7e4a04cf11aa42adcba01fda815af11275c8a3a7d094266ef80e4e45230b6e90fc6b05354e3a610d22786d5e151e8c57f41209ab8e2edaee5d47e9160d1691b9d8e25d224e88ca2a110d5334cea4ee285a2ef4b79f9c6afd2eb5ef1ecbac5b38f1554565d1a8714553fc2202d3fd9766f0a2f17d1f8dc1f7e809b7187fac92a6f8b4075197725f7bb87ca56d41bcada99793e606d52d7e4002076da26b392ba86045935641208f379a3f0996ef26ecb64b88d5fd78bebd704c9b91e0d48b1460fb6947053d63a76960e9d011ffc0fcf58e68babb61865ac60b484b36971158938c9effea14cac6ba13630ca150c32687b60aa31b0d2d2490012b2f9a707cf285ae8fd7ecb412b72152c4d3b3b41a6bba3bd5fc23cc8421036a2f6879e40a8830d8b6f1a8b2a78b82ae7f898993f61800adb25ba48ffd7b6bcadf721e3f5ba5f62cf615582efcb2ce9bb2da3efce25c4f3cf596ef3542179023a2d39a4186b9c637b2eb61d16a327cd9aa34de472c052a27ed2dfe09223f6da693ff9ed84d522f08a4f91555092fffcb0dab6846b27ef8f4591151c2c72e0ad09a9a7da5e5516ff581de9e83b52c2a226a3d0d025ea1e2aa5503290f45ffbc11908ba9d01e83e42d519589b88c7823f0a57c4d2bb361b28a897a930cde3ef3c10502d98bf2f517b80c950a1aa28e92d2452e78acdf4d1d34be007ebc710d3210d810a61cba2d5278adf4e07bfee40788b85d03cd8615a6b20bc53d7d2a545cd9a67390ed82a30a6049a8be607937936bd739c76ca8a998b7e7caa75489f378fc4684b63e094c4336bb35087ee53746eacc7d6e7ba155f13e21521ba654a9ce762d69b5f5d25421ee88d065481da035a601fe9ee37da3af9e5ebf0a77ffcee330efc446a389d3cfe07fa3a4e0ee4092de92608bc1ce395d6bc98b4de681161c0df899c531ff4bd24d84b93090c61c2d140d83da15970a1f5567627cdc2749299fd4fdb3296ed333b7a0942f8b5c342fb614a32b700964c60f49b1debb181fe476d2c91d0d412b15168dba3151fad78b4e2a155b613c761a6ea2078eab6e7585b7cb35c11845893f958df87499857839cebb9354bb8038e774a1b5ff5a8a88712eeb2edf907c3825ab4125a9e0138a84dde2b8d33411c446a4ed4b7078a58c462c01fc47fc08fff3cfe293a03b011da289b27160ac351eb18286eda0b038739fd102c850c7a00e5834f07fe4050b0d2dc920f897cb3f176a1b92f60121034166f67917269000d3fb7b68a704b4b45c86a11ea07cf54e0c584edae903755143a83d8b04dcce3e9148d130583683e308940d3d01bf88ceb0783d6f2ed9f79afe3c68b024e32f495f97ff5a5a577ceb27bf14a35b2c0b08457d09ca60e7e6492243c2cc8eb9b5ede9d5b576ee4072e0e1745b6a1f800ceeeb8e3c76f1491b6e2a5a249b3713e7e912183bf9b455514a4e4961c5762323022a14fe73a3967a9d83a96cabc878b6e776c7575a52508a6e25b3da6656f6d39f325a4d3c0f7d76d16640b9ce07675eb6bc7b13d7de7db81a078ee2b2702fb95aeab6f16bfa08abdfe9b51205823cc2770efea58ae8cedf2699451e2cde50bf14b4733f677b5163a6767d5e5c841980794e33b7a6d0942a3f5900917159f6e622ded085f33aad343368a6f9afc1f015841bb376c7a51f61d0b7573af368126625cdb8084e634d323cbba9a99d45170f8dfc986959237c82f775cb362e0abdee42ee4e5c8940f1b0930c63daf68e8bd0849dc376815c4d67051b9f3466c883a65657d969caa17de9506e6a5f81552f833a7dd9affb21d3f772dd2fd8998dba2bad22c36d716e76cc1e3748ec9df23fbd3caf534ec41e23f242fc1ca6e9d8ea6181a88d88dbdd8daba23194101de49c428fd8d03782975779b201dede9898039217dc22ad7884a5f2d48a197e0c15091a1d4644edfa376e24c7d880796056ca8b2e6626351b11befb04b7082918899fab6c93baed5ffe46a2acae658e0c02300598c984d67fde7b6251a01451355eff513c8569b11cfa1d4ece2858867cd62badcacd63fdf722d07fca0785fe653ef6c013f40d1106a9aac6ad769059084a13a04cad12fd59662f6bb2ad31c146ba86c2d1ad4d8fb43896520f5f85b580ed9fac0f01087030fb34144091dccc12002ab474b05a3c4ff7730dd7a75409add1fc5361db40bc64cd2ec8106bdd4db987f90285ea8540fbb7ff1b03c7f37fdfbb885632c021af0659b447f885409b0b2ad1d25987c798ec8488c4e69c270fa6b0234cf8ba51d26b9b19594e17582114ce805acc747c94d0e4680579cad4115885a5c4d383c85310df9e5d310305da345f572009cb3c9adc007bd155e4072183cfef656e5b0c26f4dd79a04e7dfe012485416382296d6a5f6b300afff2b3ddd6752a4d93961d6a294baa95b1dd4219dd20bcac4a8b82ec49693aa0721c7c97b9e3ce3e5649789f3cf6730fb5faca5a74cf879c923341c177e31a15047c073629a3eb9501e20b05890adbde2d6007abda1bd32a193e968fa716ac85cf7dabaa5e9715a2070f9ae133350efb280a86a7b2c0d6bad4c02099207e10c5c652217413e3ec8acdad8f62226dc4dd98e106a8cadac2ea52d369c3409d50b60d049333e6cfd064c1210282d1bca5d89d05022b0bd90425a3580088662dc4780bfb093ed4149c739fc312dd0f29e9a11791bb656ade0fbe380ddedf03f0766238de80800bc958401e73c3449b6473b93159654487bd487be75508adf14ccd5c03dbbb89da505a6f895de41c2825d44cb0ce286a663c40ad25fe81d7a13f3e36bd562f3feb1163b77bf9fd718c5a22bf3752aba83eff480bd7bcc0e7865f4e7ea6ff250d852c4f5b08e0a1dc1f22485927975003fa816aa62a7165a59465872f46b5b35862a6051a7a0b256235e82dc79c84daa2f032e572e91412052b47d3fde69cdf1689f1f8ac62aee4cf07aacd160e0bd2e3411ad3de3de4f6e57152d105e9d4158c80c615ab7ce648fe36071280c8a57c37948cf9eea2d36c90a726c191b21d64ac493ba57294d674e0990a04a46bc1f34202b9e95804548a65f165f18692a788467021aae3c7c71337e0d727f6582120c019c7db9d19abef1acc10b5dba07815c9b21d5c04a4596030910da36483252447ea35672a139f338e2eed8b83db4b48cac33a52ac1115dce23986ab1568ef57130aeff7e667742de820ccb07c130073b44b67059660740a5ae49ee20877dab023a5345f4d0280066a410f3d530ec823a3c88c883f4830f7b987729f6b6a444c4b5ec170781e355ee813347109d1bf0aed0061a3486195b72d3024d8958a0f2297120135eaf5d81bb6ddb5524f7aa0824ccc4a0620749e892b6d54f4c6c873b03f0c06ffb56c3c4ef61dc7c1ce244974a174e2a5ec46710bfa3eaa5e937515111641265f8d29cf91895f89e5f33de3e42c136936a367a965b3587838103642edc6d2cfd5ed53b278ffcb3ff2712b99ea6aac999e969717d5fa3cee2c3d5131a1a7706ffdd3481fa44966d750a3d9ac80cd2f53484a0e1b56f87edbd7b0994cf1dbeb4b2214b68442895da7aae1a2dd5ae5c87584f93a9f92270a4502f6728d2e0b73ec10e30a6e4253bc6dd69d10a57ffa12a123fac11417314c4209a1d1462da7be3fb2c39667fea8a923dff52503fc800568e69550407d99e10851fda8d0a8ad36a1a9d90b349448fae4bff1fb11209303b7bf244a23d621024f434e3c9814647430408c996704ea8d6f5a0501eec418d119511b7548d27c58c8805147e2b3651e68423a0cfddd538c7bbb89510a8c29e023e81ce6cb2aaf40aecebad2106dc199b56165d22d0fa0e2282185d9d762668855f062897e0367ecdbbac8280d3c84c09a1ee6a6bc90a3fc042af7d78bb02f7f7e89dd5006c6609218d62d737ccae51d46d1967411e62869829ec1697660a81cd9d80cb75c6890892802e867ee828af61c3b5a5ef40a7372f8def804032476a71e3631de8e42d031af1f15a70789a8e5e286e421ae1415ffe17bc6b87c648487e10c800c4b579f340c13c564fa7b4b93c0347ef0e587323bc7d2ee35e01a736677ec507e86f6622e7455db403a70be75c59d407e72c6d858e92df385628a32e42e61dbabd950ddae6be337e14ce41f34354b8cc0ad88222b82a7127d021de0f2a2a1b75b08080e1e9c358c40310085265fc7eff5f1a124440503d6db89c7703a6e74c12be20d163f85680415ab5f17fa9c9e360df427063f7ebfcedeedf2f80465edffb7691d028c4be89a88bbfd07f2419cdfd776407306f95b00da4628f2f5fc2dafa4d13f723dedf221a49a8aa1f9d4525c47341592e492348f8d5076654f91e55dad10766aa07e659e8a9b894416309cf14461df0daa7d7fbf94fd84623e2c7bbe5db2139381d4d5b3eb014b2415bd66d9bd090643f7281bc568aff21340e5a0b2890f7f8e0454e4f25e3ccea7787e1604fae93d5eb150ad32d5da2dfc740e450bcf17f987e8438487b78bc133266e62f4b0f55e293229315b306e484a87ca2339047ceaab41295d5d30b42933f53346f972fed24801bd3195f58413e6ca27365dc336045f45b20744029bf41431e63512df52c5e3bcae4fdaeca02f7fa0e634e75cc550da7207e47309495e0d0b2a62c4343858491b3b4beb0376a4899d5217db65f52eb76bd02d5a28a0291f37ad62d91ab9dd92f6ffd2b905487a2e5dd06812fb3a9c3095dc544c7afd6ffd5f11f50af98579e5017493de90a8ddc271ee36386048d3e535875198c9c666276b194425a61552d3db1e31831c22c14e51d2d39a57d6a3941d4a7706bc727be74867c4c2bd564a13d874e1de231b5e37f14161dd90f7a659b99b00d09588c2b9bea189790596bfb89f9222dfa9a446f4a7031c2892abc4de97cb1a7df27eac01d5bf0c11967fe1d6154c57ea890b993b7685f938db51bb798a71fbfb85a28cd8c0698f35e9d1d2b8d17da9227272c698aaf40d197de5d251f86d1f2fc44816cc7ceb540dc227479483bccd05cfbb00de3557c1e16c06c1d97b84fc4bfc949d1d4445b857bc7bb6977bc5292447194f88f7328927bf80332da5acc695771ee53bb7d483bdb5696be02fc6eca969556743066a0d4ba1a994076ad424e5528684bf14fc5b61ea6008ba12a109d8ecab9c85d95160882166c0909dbeda97aaf4bbf53027499ff71208955b2921b23a3de923fdd2d40b8bbe372e57459df1de24c250a40b7c4d396d1c86de9ec52a7db85ec530356a8040ef8ccdc00b1032b709ef2f93d9b7ee7307874781cc44c47ccd519748264ee7c3ea28eabdea7975a1a014cd6b2b0ca882badbf2ac21f7ad084a1e688ca0649fe0992c769180a4d3948d20f8dc923a204628b59de91f2bc4514edc07267984f940d995d5a960f1d82c336f19593f08c1025b35610498f53422f264ccf883c6389a914c20394730c8c20ad286737d63c3c85b26c7cd6555e1e186250ed3d342ad3287b0728d49b3b71fddeecc6ac11b8043f8060813ca6165f32c4a3b6b621ca1eeb83fbd50450068e3798d52c60963d43e0ec640ca38181050302e3d30d218771648b62465924358e1b34af16fc3bb290262a1e34daf0f2d743d8227e558f0d1b1cf365aacd43e715e174d60adde3e8e01503dcd6ab9471d3495e012bc634121e57f5a6bf8274157b2104444b33a1ea10bc9cb6f1f5ea08da7ceaf54a482933106bc85f210a804925bc1cf5acd53ff520ae9c07c034559b66d06a9e5afa7faf59848e867518e21ff5cac6ea88f6325113383281e9743bd67f8734090a47d5e04d3f927948e2a36813c0d102e2607d68872a887fae881fff50bc8a3e0fe5f033a47ae4b9e63e01a3fc025067afccad68ba7bfb940c3625b57d9eed463a1001ab97212d6bdb4d15e6a1b1c4ecf988b402a9c743225842cf3610e3965f37fde701ce5efaf01d4b96a38e082693a4faf78ecc9128d7b0c4e594f48d5a5f5106d4702d564fde36d7816dec482d7daf023a013971378313c7ae13116d3b39dd28442753a3b05f79803fb75cec2143e2b409992202917bdb1cfa3f437f944e699b1498836b851e95e1248de3e803b582aeb1f9c470aa5695c65d4ff526e1930e718e1d10e7f8a9aba149538ef0e39aacb68198e93050b7c6a3c7e5cd959bc9ab924901e9566bc8494dbe8b75064db344b4f41132acdfaec35ed9512f391d78a962f844d16f0d9499fee9fc99fb17f603ae6f2c6e889dc27ae4d6bfb44d33af68bb424c9c7a1e74ad560a76527d4cc679f7d66d1e9fc1993bd793b6b9f5a6999905d34608508baf54b977075ad0786e8cd62b7ff21870dd1683fa74cafb31eab3f8d708395255e2b15f6a3f7ecd7d81441cb018f707b1b47b13b459b1e36d0df78b4061e0926f53e481def22710c57b1e67b2a504de527bea5f63e472b725a56b8d82f56de4e1b214dc7d277908fd89b389d1d8dc2ca6ba5c9f8a181acec78e3ba4959de76a18f6c90f99961313a363746d841755e120f89cdfe7b1e8a97c19e71824c80bd7c7a604426f4b6d2e359257d47a33c9083de54e8cbb474d987275710f5c5c63dc4c844100633886e08a0753c42e99ade912b11335490ea902f61adb1553d27cef442538cf43941fe2472b60fdde0843afb3861f94d29481a894f54af99b1d1d0ecbbcb2ad7f09587c0fcbd8782475224a0546442588beeb1da483fdf084672410fc7442df6bbf2c485afb11c0e77ba446813fd0b4e0858a0d2c94ea6290b5c55807893849bff90654e740519d63aabf244da0510fcbb73f36cecdde9be0d70336d0f863f873969214b318c1e843b91e0f806a0597bbb964346be7750bf098e45962f9b42e061a24a660b7332a15e9bde52c2e9fed823183479677ba0dd4c7c6294942749eeb7e8f4281a03747c356f54e5c43498a3597026c3b0814d4740334e2167206ab7573a1fad8b8b6a3f5c5f42e8e3233b461034f2b201fe03d11be4db0c83f2ee2437c24adcdbabb17c3bd1faf1023a9c58f14d4f1e81c6414d3546e8f2010f33310e516febc7c5602e31ae8e9c3d353be84f4335e57e6c402f75cc8f50c3aa643f6924b66e76c4482c19c5f536725ca81e1596ec5a5381627a1bbb432ab6ebeecb547132df7745708af8737627013b7478667c83217644be3ca6067172783209d5e4e9deb45cb76940c6e1a6440e65a0887bb65075518b645e4c6625c9d3c49603f6117505711ed36a82ef4f11287e9be80361a8e1e6dfde07433cb590c5a81e0634fd9dee6c9225e2a8a42a890d6f57168c6264c2f7ef2ee3dde96b6d11fe5743929e7f1ec29b8c1c3c1d25d185b2b53b794e4808606b41f3b48ad061db415ad99a6a985a6d5254647cb86a014c9723b7f52307850c5f24f4a1ebfee902c0d8b710b3b1cfe98a1a7e22ab4cfc14275204efb131516d74f5252b314297730ae0969b93e604099e0b86778bf11b42a5cbd228c45a8782c45eeb101d930a243f397cd7486293c381d6b05c263d012c42093b8040f9b00ca4aef93ff3070f9c789c0edf2ad8b57bc00e0aca85b6c1b17b89cea9d2c10b3188b71e0978a760bc8b4bf9c9778a0f5d3c87a9489c478d61f18868c8bccd746996a8e6dcbc733d82fa63baa628a544f5967b6cd991572f6e7b52b252a411fb2e4c8a9b3e6afe17b2dc6af6822278542be3c81e6584e384e98cc7e0e43ed07a3c88f80a480a5a3a60d30d28a4d4bec62239d05d5f66f74771f9fa56d442363bcec1314afe3854dab7add6296928028cdc2aca223b55d0f3ace899cba6b95b3c5e38a58697ae156783d1ac2e2f5e81c793dd0c07c6e5d0d7bf3206d698921a34bf397301218d3b945125618c67b085e78693ce69e7d5081dd3af759b957ce7da62e9112991c876947297efacf32af9c76ca0256815a0dee9076f2707662240828a6d185ab18a80173eae411b8c6273d50b0bf7e31f27f4ae313eeff921a822f4430507a6138984501073f9bd29bea772b9a914200366343edafa16804071aee446fd502c0592bf2ed1dc09f6ae27b12b8371cc857eec977dfaa41677a06075ddc3f975655990912e205f5d6d03bce38b1f56b5c40e627b5b1daca7e94049255372c9c5e21378a51ea823d36d85e047fa539fcd71477c0df4c4c041f72fbdf0abe570ab340dc14e744e1b7eda6809bb60607cbc93ad11bcae7ffacbf4007f6380c690cf60469955a44053d410871c169d6a7cc80ea14c7a7e29b529bc57c80321cc1f41b1c57756a1bd95c426636769dcf6e59560d220d927e0635ae1ba1be72cb6171a9fadef9c3f701933262099f6cbfa61b68b828e4b3cfdbb1e74af88da859f4a9cc39888333d3b920fbebb5ed0802ae0a7b10efb4ec0d00246839998411fa4a6d5645462010de505aac9664c5e7c295b5df14349ac3f978a50b865bd98ec8f614f537bf78d7f51c524fd8d30882becf24e72627d0b25d2d737600f4ca0e39741f6e997535eac3304a4fe00579a4948501b2995188fa5ae65895bc07695c16cb6ee8bba6bf8cc071887f8fc85f4d42a6a1e97c3d62a3c1497d8c462655a8177c921ebf7f8b9126433505ac613377ffc48968c7424356264e0c74b05a72f7512b45a96cc2a1fa9b0cd7ea47b5ba466a04de00e06a310f25ea40ed9b830ad90425ec2ea8cc7e2ce0fa64f30a876fdf2f3a88d40087cc136ccfa8e19e9c5bf4e30d77fb84e42607ee5732b4d24e12eff3b1fd4e537e7d62da1f2bd52ea74007bb8bfd05578439a1e2b8a223126fc232cdb49421fb65771dc4b156b32075e5625ec9d53bff987601ee1d97b836e6fcd2c233f39ce1220ec24f98a3a270d1e0640f9d4a4829c8e837331dc69a7b40e9fa25b3d4665e44101f907b75755cb543dfd7dd1b496b95dce8e29ee1f7c28d5e333fe2ae7e53c0230c97a96d440775fe40a5c9e3516ccba2383cdaf8e6e9621b6e9e1d7384824cf6b33787aafe926dab60054b5fdb063325781b996ce6a0d20703f0d95c7d8265c01faed2d670a10fa0b55aac22f300d6be7fd08b8ca12fdc0956fcb8c0ea9aa115cbe88f0d13347df67a16e9ac4b409f10cc12817130debd8645e9f7530f63a8dd73f452e6d25fc1b746472842945eb411535a2c354e519ee4c19944a5decb57a4b056e7e6659ecccc15541ce32eef6a4031e48523f71ad876ca07bda4c75f373933a534727d500309badccf15240e3cfb2c93761c7324e1d34fad4253c629ba1a717a88463db8a89d5c6d5119a26b36372880ccc93a0b4ad5c0cf04491aacc9ebb11712176da8d752d3077b2bf1c18994c3ac7d52c25f9f0ce50e094a2337267c6051b77d8a3991b7b6487067330fa0e26c0b9de8eb11cbf96d85695c09a0c6c5d923aeb4a56c4d362299a1f9c48b74eb8e1c67eef4167208d48629777ac80bf5141539e1ff51cbe3c75452f25ed205ed1a4e25d6a1d47309c702154018c02be96ce9b1128eb582ee30cea220d72242a864e246fb4a6d38d5a04c048c9d1ed1df47b81d48399b199470f27daee24215a0f6db891eefda136d9c0c22ed522ac5aba8ca117126897c0dec77d14c9671845508bb5afa2ee5b7521b89c193554d661a8b5c9d08c08948993afab19840a7be04a827024c99bd6b86b2cf02a122b7e5d8590cbe62f25cb475f9791845a0e521ae81b87b974526293e4cf072d0c76c6c3d28f1a31b9f2495019eaad00e7b9b686321dbc15940d3f031951ea9b64e4ecaab974e4c59bb0fa8f69c75c9c46a005d33443cc9cf3507dcb64ac5b2a3c8ca594ea810c9aaecb69332f8b45be748edd6352b77aa359d135aa34847bc1c67ea8015c15bc758fa4c6c2b2d333c6a170e735813844277d1162b84149ce0c35246c2a198a527c94600e48d0b4a0183cde05939ff17464c01dc2ae911814c0e57046f73557d383be531b48a7e6bac2d70d6d9823779c8a843de64b393cec06d76bf1d51fd7dc97748b61c2a57372cf013bf55a2ad60dc0f2a8faa589048cca2ec5800ed07a0b452379887bd349a4586c09bb28e7202a9daabb2b3e17acc8074f00256f218cbe135341f8d4929152bfa1601b042cf15d8f9e71a0bd3b1a9750e705cc6afa6fd724c6e5e9805387b9847c1490f481c7a8e9a691d794c344772e14a62507f92af05a0cee20eeaafaa9b494ead5985f1fef3fa267ab7d740b7f16602c30c2a300751ccd986e6e9d3c0597e48cf6810275d96dcbb4a0cdeea27f636f4b329c099551cb4dce23d4620861d041fddbf1bc1f19605b8520402f65245f34305928c26f6a5808cc7a472f4120b318457c09c1dd40d82cb0d4f7ab8c407abc22d5b94458f11c69fb0f107c1be351666845baeb2fd427142c764b8e412c9c95cdc721ec2163e0ae1e3d23fce0da71e2e65d483b856aafe341687aed2b847b56c4e6c9fd750e356d19372113650d6e72d3544684e25864edfe8782be8a6a333889b257e8cb25e83501236c4e256a1f26fd5d6bd54c23a65a557e54b06dab47a5f553dd6e2f5588f9a7a6315a5ad87849657e90b31834fab397397aca34671c23fd4d6b7e53cdf0bf3f55349ff1c84e462020a62b94a51505e551deb1771ace34b4453165eea76f25ea61e3c79dffaedad80f24cb828c1655ec3c1a9010640001b42000388088e9216b706bc24e515bc4c5992da08641569fbd73ccfeec826939432a594524a4906ba0495047f044192c0618a0dc4d8218910245572301aad20f2452ae6758f7082c5901023869068018536b9d78893a29e1382a37f2226c2108f70f48a236ec8d9402291222f582194730f39df90998824a75f97876e2ea4324e0c3f849ba92d4adcf82e55c85e9d7606171fa545193f860935be1702f44f1f74ff27914186e118e5c360c1a1fc740936fecb0e5d8acfb24b8117f14b67ec163e9f92c25f0d31f9a7d098c347a24392cb548cb1bbf863e0b00bdf477cd78e1156b7305963ec5a4ecc9630822c2650162d822d4b804051293f9625359c2b3262a81a2f2a316cab2c5a525cf8544ff429b84b55e14dc0194a4796be381d71fa60f44c3ff8730c59898703498a7d1e0a2ad3683d85253fa547ea82541699504a520b9b1637ff9790a3945ca9333b184332099373311b8520ed2e6e7dd51a18e44a64680e23b7ab98f017ab16cbe810007559f4a20cf24248f4953b087e3d0baae80d51618669a7e6c7d29b411467b0264a0153a7e685a0d4b37388e9b2d79bd8da34e65a7fad68ed15cc212049ced3925c6572dfeb991e47d3ccac184daea9e62ed41151803682305554bea689d291a34e6f51107ac6d2ab92cbf15b2ff5501fed98cdb7230222821ee6e81c1ddbb32ddc421e9e990fcd08c703068d484113e879258e44224d1e2f2b733c4bfe16eebd717cac1ef080e4440096604290c7ca8c6624d898eda1fde821e79cf320516fef0ddcedddf7de3bcdfb8d971b881c89e488e488e8869a8abe620fd855b6500f6dc37edb407b036d5bf08f67ce2eb7ae44358cd7711dd6b45ed73516233b50ce4ed3c49f0f0f44f01e680422817648dc389a5be843830b36e821e460a3b185cd7754dfc22dfcbf85a244c8c62fb43eb30f4e202494b0a9ecd916da98edb1334b235d7befbd77e949b2c79724b95abdf71eb7cf167f226c1f24ecbd639bd3f8ca69fc87dbf6de3ce46c247b469f71f4f1f13141043c24d0c30af470e827e5d6033dd46dc0f42f630ec4470ef7c087f8c3e1b77e6d808a00651c0487772992a4abd4bbff74efbde3d93b59cf4932953ae9749e4e5389f47750df3a126807c928f99c87dfd6b526ea806e1c97ebb6dd33c993a4c91ca4822dfce6377bee4066d97bef2610102e963d3ead58eaf5ba037ce415f8d81181047aaf208103467fd7b66d03eddbc6ed5c8cec7d0379dc17e43e60f0d7db71de8e13717234bd1d4bd2a79c91a65ffb6f03d7df6f078fc7ebad3c51b7e3022070f73332e211d286b7a31ddc54782c08df0d4706e9f80f5f39cd76b3c93a8f4f9f91e3baaeb6bdd3b5f5888ddd8c474540ada9ecd0bc8413ca5fba1efb53d69b775b8e1c531222b8125c607ba852dbe33c9505224209a8ddd3d1235a8b7ebea0360202b98c6b0dd4c2be7d697dbbfbf2dc66e7419bc779380f97711eddd3bfbdd33d0ddc3bf8cd815502a3fdebc139e7f5b26db743fbe12bafed1fdfc26db4f7701fe59a6dbd71dc8deb78102e222b222b324b6097c3ab6040013b01057cc775040e48c0f50e1817ca3881b7b7c1b1b159c066000312f0212e99420ce6a0b9029b1b9c169a62d60e46e1ac37cfebb7d94d526bbe5967abb5d6dcf29e55c0ea5cfb36185010577041fcb754ecf340ba7e4de77a7cfaffc1a95eb3cbba7058a183d25c4e5b78b6380da46f3aaef877e3f0ffc5596fdeb31a2455aa90bbb51d8d46a3d168b59c2e691ff92e3d4c10efbbd9fba90a1493ee895af2ed4989df3bdfef03297f8f3aa152aad50a85e94157688b952ffa92150f8b8aa5a587430b8be5d25ab9b8a8acbcbc8c303069eab23ab8f4aaaa4ed498a09899eac7a85ea9283f6b2d7a38727c912313e9d94c9967ae89cb9c77e63ea3fa489625efbfd97d4c33efbd37ef69e90c0ec588443a4f1b48e7f93fc6266b4b2653f961a7d38842f594e7f6c2ac70775fad5458e991fc6847d13ecac29263aeb867b0915f9268adb5d6f9e50a4bd64757a23089d2925131a4582d17f405f5b23ae23030639afa53de596fcdb3e65a67adf5f6502039bd52384c596bad85b4aaf22247bef24b3aeba089d69a703dcebc8f69efdae4e5e8c994a7fa9bfe679347719c5299562514fd620d2c284b4e39e7bcf7ded32ffe98b2c6ce559515375a562d249c4a59b15ade057d51bd942b18ef1c06664c53df4557ca854a6dd5fbcdb198374e770ce69afb18979621ff7ded52ff95c281c251fef851caa0b6aa4aa2929223074f6bad01380d9d74e954a343902039746f6dbef8662038f0b79cdcf0da307c162b4cfe59860f4f9e7c334991df8f08f1512274f8aa2635eca137ba924f3aa3a7a887cf22c5f0a39018a1f46851fc544f852855c625df14435bf92b273b8a286adf74ebbc7fe24189ff611861f8dd8a1558f8e6b0c7f04d605cf92714219f5cc257f83909157f64c26488090c42ce96bdd65f9cf5e6395beb5996ecdde2ac37ef23797dcb47a17c5b9d714637d77ef55168b663e94dd2b9b76a244b6f92cecf5364e94dd2f94bdd97de249dbf64da996b5876754f9239e756ea4dd2f94ba613d7a4c9249dbf643aa14a2fa6fffc25d30995529967f7ff974c27544ab5eadfdbc070726025d3099552add09b1c1c9b98de149b9c83110c72cb5dda7442a5542b94657f34fda5129552ad50961696697f149a629e5c763eee7cf4844aa9ecd517fb8dbdb6cde82dc0ab06885eec7bffe8bde8c57897a867b55c5e605297caf233de2d971798d4a5c6689df77dc1666c6e705e6052971af3da2e2f30a94b8d79bd6660332fdc2f8e71ec6a0e7739b0032675a9312f1cb9e545173dde08aa94f8fa583d2bb316b538010964ee8ae44adaeeb5e9d675f53aa756bd57c4a78d093a6f62c6ba7b71500857624082c50cb516d67892860dc9bac3504e85b1890b230d372aec9e2e21718197711826367ccb927bef154597288aa2b518e36badb5d65a234a28b7dbd3088db3ff49598af95e8c2d46a1a8ef43b6f6e2ac4511cac73734fd38e36ba3ea60ad6d5921cffe5101764edc006cca8ebb750fb7871d7dea724ae35daf5bec3d6f9db7ca77dc53973576a518e59980c97717f1f5eef6cf257a95cf8904297fdeb8c1098e3d62e8891f06b0c22266a10b7af8f820eb14df1ec87d9db89767aca5494a77c8091b03290ff251d171942097e64dd832b73d45539daa76cc614a3905c645b0508288372223d9e0a4fd64a2b60c9c14e56f8ba621509c10497d224fa0aa68a52fd84cc926e79c87fc70e62c0af94ece3f3734c01251aaa849219bb149420a01274e911b52df5a1290183426154834c1f139a030525a2b7e20c3143226c16017524eb801a7802128a8cbe18b1e8e88fff2421100bcec8b8335a6bc11248f244932eb587bd7faa1c578743db31e5aef6756f3d97c6e385a90aed5012b47248c01e5d6231e42b31dabb5d088caf0e8fa14d1f8687e34401a8c67446a4ff5a945eaaf874565c83a8ad9d6aea5bb62d8ea91ac60e9cb4cdacc23792449f28858e9c5a77002d98fb1749a8ad6611c8be4f20b086d11facf91845dedcf3a5ef17b882de1cef89f65e902e24149f2a692f72453697bd2e95492b408fc00e7814f4bee4b5c5996a5e87b42f404e8cb9354b684a53f49e5139effe637537f924a5c892bcb1217d483835a4b87f7ac43aac023f6d13485c176cc9a1547923fda9b9df58e7371ce315c62ada3169596f0497a55aab3898e8e0ecfa9e33622b0c2c9543d68eac3a2621654c543c579f0e0b1e22a9f2845a6e3a329a2f9711d1d9d4e9a9e93690732b29b7e939d44e2ddf433367606d3d090343ecc39d7b13a3a3e2c354663c45313eb518333df0faba5aa3e99cfca63bd9142ad5d8ba7599707d551558735353550683533a39b734a5ad5c7901fcef9909f21b57b552912a9caa5c3bd1575522bfc1f2d9d8edad399415f9a1a1c487ed4c4743775999d6608a59c2e085194a2139cd6422dbc9c888808d543b14c444454f4c3d717a736505e41643f6a4f6e5f72efbb37474f224772a73b676da6187b7ce21db46f5e6fdbba6beb06da9df3b2973c6f9dcbe974efdaaee96ddbbbb6f7de3aa7772b272454b4d3c25e0fd1d69ae7b3f56c1fbe7fb0aead31fdcbda28eba012414a042921d4daff65b71265a071c691988a59cc624ed113e9eee011f4e69dff91dc396c664affa3f4260925cbd3effe03b8b1294b27be63f22714f97b28bf734a6da0122f10981537c9aae58a4c1378c266161c3baf991c9b566bb7c892070fd4b27e7fd6e628df2d98258f24396e74a3abbf553cd52d0eca667c69d8893495b892f7ff9bffeca49e43ba393d599223ee98e3fd4d5f2a4d3b4d334a9e46544fe99c3757ddbc55227cd7a8f739b3e8fdb7cbe3961c1c9b99fb62d9ed404ecbe36022a6e4cd414511956d2a954af9e83adac2fabba3288aa2e81d0255b2daae9b9b1b24542954e7bbf3ad33b7f865734fb0d66b02cb00030cdcd8e0306063037bcdb450d4066f612273c658cf9c5c1406bbbf7fd4475bad56d6f826e7779e8e9dbb38104192142da1447caf288479bbb234b264fa6a5d0b83c1607737769e3b77d9597ffc5dae259148593469487547bf4b176dcdccd78a813271ebeaddbafcb72c8765184c87926d711118cbcdb9b911615b679c9b9c19980dea7f6d612ebb333393a6289c1da82bfa765c78a5b02ceed891a5d8d5c5e5648607fb1915328bd67e2685ed6750e07e26d6bdcc1ba397b9427a192ba59739f25ec60dd3cbb441f2326cc80c65d6f0269397a972f2326aa0bc0c9594974943e565d05879993364843266c8c8c8b8d8de7befe3a9eec0596fceb7ce58e732e3e262f50ee71cc8985191f394bc2ecdc59d51e7dd37c6ea8caa31d6396798c5ea4ecef9669c515114adb5e4589624f33c4d78a7c44ff65e7cf1c55785bd5251ec7a84dde22f0b4f5bac8a5add4e69afcbde7b026189d6dacff95645fb62cfeb5f5a2061254dd05e0b35b3f7ba24f9d86760af389c14584a4049b3d9b6b819c938ebd3619d942221dcb33e0b24499c119c119c11ce8330bf8c0db039c0a63788632497368ba277d91bcc53baceee843e0fc3661208e36b51ca39a86954f06dc723f2fde01bcd5afb130e734aba423febc8c7cef9c6b1abc33aa17d75db6271677fbfa0ac071789f436f263e4c7482de751eb6d537b71d69b77acc3baac9b7ddd8fbc1af4f87c40a0d64778585031457f5d76786dad47647f3e9cb3efd6b6cdfa6a38e0f5e6561b0527bc7bfb7cbe5f94206f6f160b5921dbb344d68767f7a8e359effc1e6d3d76a015ba21db9bfdadfd860bd20965c1732fdee2ded50674bb518cb8b5f65a20106894858fc9396ce736a01b28c99f8f8fede1189ef160d9d8379e755d963d9358787d666ce83f1afec135db0de36218af4051a86c232195a11deefc0bbaba5c163b72933b63a15038c4e2a67dee332be35bc8449adb8c664250c28d9569ca535cc1df6baf967b443e4c625204ee0f781ee00c76998edcd27c7eef0689ae9170bd39f35fdf55b1819ebf5800efdd778f3ccbbbbc9d4b646d0f0cbe6876d1f43d2ae0399b15c726ea80c0a008a5fde1d86f5d6f0d6883b6bc75b7b7ae35dd7a7f3f0bd462867970f0065d21dd11dd11dd119ba6bd5e5a344bafb73f8b6343dbc33cb687637bbbaed00e6fee069110bbd961939331ce5ea3a08d4d2e778370b9e0706871d18f2d4682168f340e870beac1f482379885ebfc3b27f75c9b3fde6caddd88661ce77442b8c7b10c788fecef1ed9a0cd78ec169399b479ecdbe218c6dada1fc63876314f6f8bd8f0e664bc28767341395bceb318c6ecd190ef8cf111db11db91db0da672c03fdd404f8c1d3b8e5c6dcef79ee76da356145028ebd22eeeb263b73e3e39bfc4086f01a5bdda8a403fdf9c55f256defbe38c6207d5e4ba5eaf9bc8737af52cebd0654d6252c8f6d95b6badd63adf1d1dbb1f3031d521f492f5fe7f7ec9748d931f35e9ce8b30efbcb0fcf48f6b6a3567f58b058c48823c904baccd22885045a0a12946ec908f370445373ae19952bec4131a6061a8a772a952272d5d4d6bc783c729e49bbea5875ba5d215ca4a512a2c1f0b4dad562d342b174d4d4d4d4d4d4d4dafa9a919c7f2248de5cfff248d260dcfd3f46878c251ed8d2a510d4b5853d3d2ad47b2d197b0dbe8cb1c33b399d3d1974464446444662d0dbbc5ac7bb370636109451f4ecf762b51d156ed784b8c899d31b156afc56b09b57457c46ea58fca5a5245b2544b47559e0eddccfad81fbb5a9b05ea96666bf676d2fce94f12293d7bf7c22ed4d59d5585ecccceec4cd8edeab333abf6ee4ed745be1f30a81aa94235981baa3df5472209bb5038242af992245dd69c6b6ec253cd09593e2ac393899f4c1b853a997449cd7d35e854735da8f6acd053e9d66759ba208b657dff37f7eeff893b91aff4cf2143860c31ea811b470b6665c9e39603895faa21d43b7559add811c65a3cfe47d1b40573f1b8f1fc721c5af9f8d632903269ba7ad059acfbe9569daec87a856ee71852d23a3a381d1d1d1d965007b49c734e7574ac8e8e4e26d2d1414f07bd4593f5cc7c68e568fa94a39f9563d9538ea4ac1cc752a997bd8b9fc53b59bdcce2b172073d019c35a8640c1f9d05010003870014108644b238cd72904190414539144287032014068e0ba3a160180c068383200c221a08641084c1008410020c31a7cc6c00733c3f1c8d2ac12d20813ce6d3732808d739005c1d23b82f2b5e6d95a0654d4eafcdc8e1ee4df7d799b4b03d629e106507aefdf21d953cd80e8b8e8f8e9f91d83b5ca0583e8f41890790ea3c3c3d9f7d75eb184f9260d0a5658238295507f56c32c5aebd31346394b0e2190c08ebdfb93af1c8eca41e7266b803dfe886be0ac355a93ccec54ce80d040ac20719a627947d048e8663d2f2c5efe78ecbb4c1ea7a52de944d4cb9f0c49c4f79bdab633fb7b40458969cda0033081de8b3889339e0b76d90de43a7e0c7c3e6ecaf79f2d0a770467f40ca9323961ed003315619153d388c8131a7e6efda61dfce300fdbd8b3672f89480b51a36cbaacbc8583aace0a3e570769bacce2028867a56ced2ac7f5129d925fde18dbd0facfe23d94b716046b335242b23608da7c333b1a2653fc945da24698037f8ea31f1562709f0e7924d9ea51368ea4403693a68879c12108a5d424a496f53f84ae66147f9aa40724bcb0f76f8ee89a240c09067656431222cbda9e46096a9f35708aaa4f133fb9e0287c0a0bce66f3de265a53a4ac817322378c1d84758260c811e472012505f9372201786e881215d87ccc9e3ac86964993fea35f81b594e9417632811ab112319dc215b8723816a302c9f40b1077975a402824ee930c27a1b844cee0b9754bb06d5ab61a950a6dee9c6c938188fc362b0843780dc386c179b1db97b689fcb93289798a8a6a899819225861c032213652d9e219b4bf546b5bfc95616e33d49017dbf7797208e6876063d0c37307a306fc05c313499d61b2f041013c5c737650de2aa6d6af744da824d2211a0198c021b7653334eeede71c896ae474d2da9e40eb3a9a270db4b8b236bec69e441ecb1a3f63687a564d2a96f7b95c30e6576992952aea688867e9544b7d31ef445d4dd307c0b20f1e9a54cd83ee99d3c1c357d4efaa125b52bd5f8f8c589bde461c6a79d1fc4cccbe64e3a9930d83715ce4a0d24de3077227c2d1244af63ad79e8ed82785b86b8ea67ea0f4e137f74b44837a5a3833431d1491706cae4fb3a21dbbbe428db50e126b6ee408b6f395dc4ded0a930e652f20aee04a324c446798c06cc607537b731a00af8d80b7d792550644afc34992cc465f9e49f6470a748b0e3ef7812a951ab0d51e0e8416a6b171099ac9ce3bbd0de32f2a72171fcc84d5265738f4a43a4b264cd6ca56805db9c96da3efc4943eced0ebaecc353a3f14ed837e85908d2545a5236335d8f0f7e88e1b504173afada94f8a14dbd32a8809e01a537b92c84218e00cecba68e28673a6ff9f32fd0292693611783e8122d0e211139c4b3f8d0e268bd110e1c9dcffd32d3838cd410ad60b8a54af624b759b80164922370bb77c8b00a747024105e7e3fe86c32e160ebc470501a5d865f21c236f8f229860ba2684ea50c033cb2756bf1d97e613bed66ac4d0ca37ddb4ee6ffd0f857ac6f958e9180ab775f7d20bfe05f16ad2c4b80a274486f7d435bb452d108d85c6fed5e2fcbeaca62ff7539d38525bb54630cd31b932c556eccf8f9506775361d592977d93be2a35208eee4b7f01fc7c27256290a96a01c7f65b58286cc169ee711e6ebd1b37b88a82cb551989baf4357cd496f5ba2d0e222795e3ad733f795d45b65238c4d64e13ab9c1b9294d261bd67abd991ba5b7c945a4686c76be66d08374f3d66aa30bd8853fbfc2f5b96162f22423c2bc53b4fe8beea05bdf3d30764e1fd7ecb226c2de433d3504ee3323db13df30dc91ff5b995ea1e3c606baba008dccf05c1dd024ec39b4a68fc001c86dda1e24b6b71a90099d0ae7d9982bc1620f68842ed30370aef8c2da2d8fbd472b4739bc731d9588a5580001d10a46d447c08805b6af107559c39346065abe0c8e6840e793b356fdaecdb0ab44e21c1b677f0a56d4f79662ee8552700f6d0837532a097101da588d42f7e7dd22665eb6fa8f7c17d4f5443145e86121c7ec8262b6b64f1085fb39d234e2cc28a9d9e8da3be166a068f0ddb87ac4286d204d24b42ac05863d11514b9a17487ec2c4730ed76e2806238aa104f09c5175b6c8e2ec1b8f54fb415c10f24c4f3483f9d39c638efbc0b639162f13b3f1b864372bbc789ebf890159358e98b835889bcc659ff96e23e4f97438aa68711baac7a32fc15db99f45424611dfe476258016f93f47f19c1e9b06ac1d8272bc962992c4d8a004a59d69f79b9170dad2eb87a4079db176d1964e5540532cf6e2b3cdcc7d241f898e027f2d3534bebcf702c4b8c46a09fe3c63e40d4b83392f41f586c79b14a23d3f3a2abe4b65cab22672fab45f49bc124b63465e61d721289e13cdeb8581ed772a9bb2e05c271a1bd099dc9189bf23ed5e72f127345860bcbf1ef1d4e70f23ced920095e13b95752ad688c09e6c358af60d6969acca491697974990877f7edade22fa2f326ccd48a67d2ceabe8309a654fe59cba0346f3a44f85e2531a5ecbced6b82332fe3c0feac2541d615e12ac7bfa4c3ef209ba49aa5f271c932d8579a735dda829cc5ec623041a7a274149d19118e5979e3a65b205d099106811cbc81f72a4afa675ebbdd9e43b6bd6b946ec57a6e987653e28b341aa839e4ac275607e5821745358b5bb5f607bcb7ec37cb87bd9e36c2bfa2988a69bb17ad27f66d88630993ed6ec73895baa0171a4bc37d9582d9a24c7081e4424025699e4ef9f0a32c0324d8e66045d1ed3f32c8e3a8313f3392c9f6a652fabd14dcdd8524b475a181cd2961b3fd8c8d331f1b0e2806133d23e82e234fbce5d88842dfbe8a837b44e7ea96433239320966cc4bb788ed546893a94b79662bc0e29881af431c158eedbe35a7beab5c8a4bd98f25b449e7a50b8823795db2294ba408401c101fe723cd8f64887b980d5e4b07ec32e139733bbaad6b8df955d9fba85e4eb36ba8595c2ca86914fa9c14f8c9ea04058175f4a5f3f4693e2158ba51f393c62a402504f55aa998b24a8f32c96e1e350448999cd2ad64f01c7066c0d4d045bac6ddd09c875dec3ea0b2151e2f92b143162333399f71427f6954e8d99bde8737259ec24cf0e63e90a6254091331e2b06ac3fc9b9764a2088c701eacc6c92308d963e4a97aa45e57b42cd84a6787dd777c4c17f331a4304c76aafbb707daa75f1b2f1ff4e5f188bf1171d255c5cc43e1a27dc022ae3bb022cb052144282d41c8789a6ba8eec35ab4cd99143f4d2beefb6bff5330e5e9a70c4771360963373ce62603644824bb787aa743b6235eda8e6f167b030458e3038ecc46fd4c37322d05d18802277cee9932c9794953ea89f1f3f0da306b39c437c633dd5c5679bbf5156c2775a56a8082a701cef1e4d852035f2d8438913ac4118af69ab294ab4510f20496e69d9107a18005b0834dd9762a5e28d60ad640a9c03ac27d04807d4862d9438b3ec26a64918ac76e3d58809e8113b45a24d8b445d1004ef37b7a315f200be4e90c012f2ff7180b8b25b2ca7c2c1138b792b87c5a2907ed732ad00578c2de6cfe4e478283da7e43d1c3e5b776fc7aa8b0add48810956f25968de216be8d2a7a9700dfa6b532f5b23e351e1f030b3acf6c40d182425b60085d36a16c324d850ad97c120005cd48c7358b5d09e828c48c942593cf217231d9b6565e6ae8bb54cfe26b6ae5780756efb2ceab93fd39f26ea71f3a612027336949a13bff674bc1e835d3042b544448ddd8ede1daded0f514e27b93af5513e2026093c8e2a19713e45c025e28bc46a3519cf29bf1237a25e11ddc4ff9e60edecd0e6d9a3ffeee5f815914c96ae5bf7a848e83462c162601d87d4dfa92f9870821e0c286032125fd7f8634f9d020442bafce32fdad6e4550bab4eb616ce877fe4cbf3d190cbdac465f30adda97e8c92ba127472b5232418126cd5928e73f5811f835841db6aa3133f43a07011828fb88cda834ce87f2f27aa35c58b720387aa9f6d5360f6b19d0a7b02436271908c37d7f681c73a002707f16f2f26efa77e6d570a2017a9c7e96b53a8ff8d96d69a67f15bc1b35d7c7e6d97ba1525eb6df56eefbe2dc695dbd0db74b1eabb8a9e65260070674056b706703887d6d314b739a16072aa07cf5f5529fa6f0ac4986a5496ed548bb85d361321c57edff73ae73fcbdda57a9ac3a985129047f20401c29ab7adc5e51ff703e6298d1db1620c791084c81e5f1a932ac1b2520dc50f48902a2a6a8be5486d3b011e5fe28816440c51ef68961c61f17f9761df0074a986ad4b807a69bb09e67acbce468c36cd26248f2b9c6fda1e0061e241f578fc421994aea67fdacd0f7a679977e9997597503c0c1e4508d2e69b368f70b747cc8660e87a244222e25d2287442badf24dc519fa4ec286e5f0b65d384b0cc160d24ed66a898f3e6a0fde2234e40303bde6ee1102770a55d6759456e75c17f44034d083c0912af980d7935716a359d5a38cf4f9ed14f2093ecdd9d62ef9bd5dea402d89f2d5940c62ba3cd93e9f75a213897f33e69eb2ea65708b78ca63a8c7fb941185115dcff4a868a25c226a52147cfe85b2ad151239b5154e50c7fae084167376be316191e044689eff7b8b18ee1e1626df29ede0190d0d5f3d9bd739f7b6310f634b09f66e01a732bba708829fc85642aa80f30678d2160c3b692e63732e18f16fbc17347a264ff31cdf490b3ce4ab43a34c8b1a21c3bf6782c8dbcb2edbe44734f3b9bde92f28762b7a9b50d58bd0bd319ef7b4830daeec82bf68f42d794aee053c733f889863fad043fe68381393a5f7b4aa3f1616251870a70cc351a03b73049909afee423f7197290dde412a307391e8ba3b4a91a4bc40d653981ee500e19c9b0c1f0f9ad1d54b31571c6537589c9e61a2ac0acaadae576bb3ff0cb2453e6e9c88ce6bd7fc76914db6f55b1c075c8ea3aa6cc20d6474df6a348ed0bb06caba1772af9e6c0d1171f24cac7c89cfd17e8834cdf0fc02a23e0e94dcec0d9ed295c05c96781e7904463384329da468fdd7616acc5384414014a77683d131c729cd362acf53e6cd3513560c8410b11597e40f1416874c7044e47f3ff9c3bd02163231c0c501537caa763c2aa8bb2bdb47a2ae02045def426dc40aca9e04318a6678ba9bac0bdee9e29b5afca0488898e184f25843fb36041e6ee544b7b18fbd90c0179868f89973884113b4601153377651bf1e5c53d28961f7c69d86330be2b61500fc72a18be51c9b7bfe90ead89e2aa3d0a4f8abd219e61f327baa4f3551a4053f9359d1f8ed2341d2c85cc4e66f97d0ac5f2c3539d2e340bf554f8f638b215ea2df67162b2193a0afc18b1cdf81f703ee79666989d119d99a970bfa20c87f9ce69e7d68c30ce0ed6afa99fa68c2861f4db2f1d96107913c84d6b0925a1fd55f6eedfa2e406f6d185687a44caaf5078b208c27e2fa634c2aed1992b206aa916016c5e5d57359a3269366812b9ceab4a7f072a9a7c1ba2848f94062472a9d8d68b86393d843c27bb3380695cdbe5d3f3ca20254c5c302222694b36015ac3a2d517808d177e294257330b0de4a8908b64cc0a247f7179d00971fd1920ccd96fa4c3a69fb9f3bc492c68013cd074573b5f0e6bab2b2e1b5839d367dc5d11ae64100a1e61b8182d329ed7cbee994952ed2805daf7250fff5cf3fffcf724215fb1a5cf3031a27ab57fa8fcc294a5adfb731fba1c98c69278e8503e09e45eb79385057166d4615d924d385fb1ec654f646d5eec98f19e08f9aebf6293dd50c5356222dfcf006a05258b0efc54b5a4e42ba2dc60b9295ab632c11b371a4caf6a8420ee11ff2d88ad5dec01146e2ce77448ca1583e4326482d2e640fa47994833aa1c1a9d803853aa19cfbd1691f3f7df47af606bd02fd80406a670d0b415ab9d790eeffa588e5942d8a57e304d09cb5e7242d698b81a0f15a4fba9204c59750b8bc4c0b0891ea9931d65f03580cb44595f48550972ed6c913015205213c884f9642b1237a3e083be837faf31c3f0460b86ff1469bd7bbd723e8974746a39d86865931e9f3f1e24d610700eec830bd8b1d37e756da69220dbf99abaa9db63565b6c549efd09fcbcd4c77aa90b48f8ffa2fe2669521ec79315c9abc67fc620e50dee3bd991d1caece504da926887af343e895899762a50c07fe7260d18b3296751a7992f757a372efae72ae698af460ec18fdc352dfbbe1b488ed56b28e1606cbebce56d6c20c9f1401e4cc41dbe8e78f45a73a162753adec17f133f86fe497aa50c145e8540aeff2e91f63b2942f601259196a3801a4620ebea317e5279632f8d0dd0831d530d65cddbdb5a3feac0e5c41a3f3ff47d90d654971880c3268a821f18996686792ce2b969280488fa7a5f65d13244236cfb4a9d4a165500896901fbf104bf0c5e06309c95ceed792afe90109b6cbcb8eabc7ce63c2d671f0470887b3320787ec711dc9cd2d404f30545f3c8f4be09df799e4c9458b37000f1f007f1bf528756f27b2f3218ac2247c9760dad8390539c3a506b119f391be93d71453c9f2311e2868e53e7887b01869eb39a536376cc59d491cf709e66806fa388aae3c11157950d50ac260acc4fa958bb5a937d58f319a4054aa2a5d1fdc72893e6e2eab87dcc6a0273c21625f31e0b2b5968b40f1f16d95e5996861001f3b5055bb745f1c70f0107154cf093e6bcdfeeda164b58257715cee9fcc5745d8db42595f22705a22a91a84da7e740a1efa1602357eed4b421b5b15f118ec1761e7a254f1450c169126f225952a58e0718f2a99436628730b037c484b805a4b4033613cee6f2eb01bad34aff214092bf99a43738622de0f68d601ade0680bbe29f0639dace15c0b7b9fa0d8d1f1ef6d36f71a941860d02e4c13fa204fd4b81c855d8448d8d2ab2a6af25550b434de4eb0e9aa53642e9618507c939a774d0fb6968e8877c978f05c8ec00e6f5d712446cdbfe843a5855350e96fdfe64a74b5bd10401077fe403f984bd2fe15103ff887b737b6910665ad21ac3710299d3f0ac39108949b541651592f7b4377ce5df2a46a0508f807f436dfea5b4d1f377e452916ebceefd256a64797ffc8346f0d309a4064edecaa7c4e1e6938ae07e08f6cdfdb7ec4a716bbfb3e51e7123fcfb332cd0f70a792310ffcb21a70906d90912910183b7f719e258f9be31511bdac889bb73534d383bd573056e4aa1458a292f7b6f1b90fd20a6655105ad4da959e12195fb381b9d5aea4a334728fb6c4739855483c1278f41958d6037376af99fb786eca5e8ad12e77e9d008c8b6eb19cd09cad9c6af577e76c492b77a5f8fd575b1e90cb46ac52a6878357bf88225ab9cffde25853b27e0712258f20dfc6ec189f3d175105148b03fe513844990867cb41332a5bd93af3a5cee752bbb8823c45c02b4ee1b5584530ce5a78768d2acf274aa4dc1eee547e209789c6b54ace9ecaeb64c24480838e9050e6a31109d5768d9915e1b48407a11c610eda591892629ba7fa41724a8d876b79806505c3b1a9f83847fb52442ce3411e115928624af884c4c7f63adbeeb2b4e865d84383a8a91e1476f46ec443e632033d527a365111d92c7653a621725a64b75cb0e8bfca98090730a4ebc5469305d30090ad7e12c510eb0597eb55ffd6bd2c4fc55e725587b11d3de7926d0f4511a0828b6e3c6d7b8874b1c1ec7ba066e752a67f648f3aeb506ad8fb61af1510f1160e4e1b24bf488cb8fa97a2294b3ac3eb02e4bbd0065965cfce7ed94facb6a6cf2fe8ccac5d886ef471bcc1d17385154a43dde96d035269f62d4541339dc00a01266273dd0c81c01d502d32a66bee24bfc2e437999f8f8e36d100819169c6535a7d172761fff92a190f02564a17ddeea5a942751bed929bf78be0e422aa4b39c5c2bf8e20c8e227b55b9acc4e545f80233dde31d1b77ba935c4801afd11e4c1cced70f970b5400530e3314767c7d68e891d1859ce70763862a7ece999025c5f289dac421e92bf8f270bd5b69f91c2b78526184dc0340190c0f7a5163c5fcb730aa78a4ab8e08c3a14b26e1ca92302cba1ea80fe053a5acad183fcadba3b8f20301e22f868fcb24937a6860229e44d3c0636fb0eba80335ab73842c9a0d2ff4b71fc8ceb99d4a6b6e5d06ce1bb1a40c0a58e981d0733d4d6cc9016d9caff89f50299033656445ba9d4b4b8f38bf5f9df8032faf4352e69c4ae45fcdf3dfa33157d055dd4bfa9045c6acf442f04173ba874919412e4484d1548e6e40ee1e38412cc4178ed092c7728496f09a47000e22b47ecb00fefcf1ebf25d750f1664b9ad68a6aaaaefec9c4396a6e8dac56c1fdf3ded5afffead33357aee40d4dab9c58e6b5a10d0da8fb672056d92ae3a93db41fb68e975b9963c3d54064277536721f4609fbdb83440a363238770e0a8a0fdf025ebb608f8ad4494b6bd4ea7f0e330416319a2dcb2a0e3fece1c644b2cfc979b01873ff76a2943ed2b3f2bdf177c484b127d3707e682e48724f2bcbec19c0315b5e02b4b073914f0378b16cefce91d1e00eea2ff58cd50733d85604ee6ec03451931d094d3ec06d9da5237f51dd2a0acf00f5fff69757e1113f6c07dcef80ceb9a87aa251a0a4800224354605380936bb596256d60b193deeb81fd66ead7c30054caa81214fd0266e3afb669497b8c0a06c893b12d60777c39fef284f171f53839287c9a75bf01636b1de2cbf3ebe3cd5d9c350caa41b5b3c76041338cc2a4a40f96d1b14112a3a5a31c5be05a7893dec56da5fea1ae473a782f0edae83e3320296de6ba1204f28c16d725ad75f323c548153a43ff2a51fbf6be0873d5368066bc2ae71bc47779332e34aa9106b6720655445cee33c078f2e8bb5ae8716a6c6ff09d593ed419971d70b0f9d20afec7d97e0ee662b7b2b62e0e4c74a219d58ee148f4b34ba9a26bcf37e78ec04e4525e907865c1f897b74db492c0745b262176412245f23f640679aee59a51cf50381d4a9af568348c598fa39f8b89969aae0c6d974b4b8151838c174522ef9aa66a52c7565505884ab014f9d8b7dc0d0f2e93f142b0a9f74ca85302ce7d188bbde4d9cb1059ebde546e182576e34a4353d1144800877a8fada25d9f1c51d78f7f46ac6ee2327644c2f153aaf9dd4e8f59d1991ea5c5e143317a779b6e7a55b8ce2f3689260547170b9fba73c12a96bfb05bae5746b81083595e9c6a9163ed663f4872892464c0afb8d30f81755a5f35ab5cfd4b56a62a57180c07c3d5103ebed4466abcd76140c743b15c060e8b75243005c5d143bc752ee99f3d4ac3302ac7047b0fbaed38cffa2988e810e2f133cfdf70c14daeec0d07fb1bec2ba38ded54c69e82867168e984b33aa266645b46d0b7370eb8098f0af0d969d86e8ffd01ddfa57583b4d15d7b2d0bbb351a9cd270e69935483a7ca5fa2ab6ea3e9b079a4ceb1c29408b6d2fa302ceefc0e1221e5b4b209e746c21f9fe000fee5c0440b819f1fe9581df9362d28166c2d11b4d6a0a425ad9a249105f04cb44a166ece13401f36f20c7eb79c74881a7ea02cc6f5202ad62a82ad5a56cf7d9fe3ba28db06c82a7e00c704581a5a26ba50104f2d441ecae1f307c68e2199f552a1cc8f319545fe3c3226b2eea8e63c7802beed0c597e8be095b086cabe942b96ff65b479aa31d7a2b06bb78732d96105a13e8dbc12bda85861da47716c4cd2b4178d01adfe39023101189726c4241fc134dd4bedda9f634e9b3a6d8d4d2f1b6a2caa8b8d5fcef677bfb78ec30ac72a32df9af96941eec056200bbc41b31c546ebccc82ad3d4e8ecd796645f9fc382e63751b63b356305f4d2d2cca6780cd1b891109d4851ec3551ea77707c7ef6487530dcd4a1617ef5d892857b40b6c3b627c668f84d0bdd5b6f7ae9bde7de7bee750fdbdeb5ede5f58bc14e9f31a0949d43f3eb4177cfbdf6c4b63818f4c5cbbbbd0177eba52201bd7cf33cdf92aa4698375f269d71b590134ced4181001fa52485b21ec524a33393848a0696844ad86d51f166b9d81eb4bff0f36e260872276683a09aa37e90bbc24af1ff947392c24571986dbfd8e017cffcd047d9bc0e8568b9ae5b4d14f34a77112dfb08f2acffb788dad85b366328f602802b9ec692ecbcd0f3453be87412165ee8d58b6b28f16a26daac176be9057ee36a632776beff97b24e5e0b8749b82c81320085dbe060a00d9d3255513e87e71df9d96810e8263f12bc2ce389c7c9320762cf8866a07d321f6003c84e1c1b44b538498896e9915e976b570e1a302ed7604dabf7f8d970b61d425192e22e0e41844f9aceebd2058e9fed07ed81d6ebf6576188570df0d67400a44f4a204daba6c958576753284d42487ce9d1dfbdf4362ba17a3935014308cfce653e09e541d30eb7973c9a12ff188aaf9403fb48b79ef062706c343aa8110bf0e3ab59566260fed62e054a380b5659b9cc58a3487ec0a0c4f2aa0c0d85bb4428bd927f8cc40aef6249c447379a5e6786c07433800ff59fb97574771eeb8b8d8cdcdc248b657383ec3d2e51fdb680eb259606aef0abb46927facb8040d63c50fa7a884446cd6b26db83809130c0440abd587d3bba35e632ca663f06629da0c481dbf9ee2562518fc3dd0936450ed7d44b63b809d5c9e74b362c69dfc93cc8343fd00e027ecdeac32f00492812ff24d4e765a15c8979fe6b834da899183c70a5241d81e7ebfb4dea2d403ddb6721c02672b381495e0c2332ce69c427eef7d572ae28e93658b2ec53f494a57071c3365ec39abb5bdb28a656e915f20ca122f16013197482c6c091c4a7ba55688efa97ffd6c31ebf37a44071507f79d437c67bdf71f3c7f496001278da83618db2b0f309a4d1649b82fd343db0f324a5b82866d01505ec040dabb61b0d49b00eaf4b661513597d6c11b5529acc76c5752b5e5f26495ba0352edf2d61b035025c0d2f9584492d9b9610dd40e25e2ef76bacafec807c108f1c58da6761aa926de6237318e18839591cbb51fb2f4a401422301f6b0f2ee01cd7930a25f9d1c6f63402b91da9b0a60738b49b1a216f187ac84571beb10d3dd37bde92992e0841b7894d4b7010c5fcec95508d58d3bc7f63d8d05f41bcb3d18c1dea270b55ce9c1604db3262b0a594b88b4050c64d0121bc6ccc600a581a432300fc46002681d6d63a7f3cff436b99a01bf73bba517484c0118a0cfcec8c40c75f6218ba5f46e922a0c4db8966961110152ae899c5d7308dfc3b376429afe1532959e543486b692a872f76e31bbdb390cbf6b7a08f10dc9e986863ff66a08b125f81ebfaf6ea03c51b017caafe13ac963c78f8e03b1c7992436dfde878ae0690d15770dc6c4897c6a6e5ff2b012b685d076dfa3ffe483f7ba9c43d8917cbc3302730bceb9e9820c8e86cee4f34cb37522b072907e07924e762b63071843aecde0de1d3e2f09ef6f023ed38de105f87a3634205a5104261774c15d9d868fde5e3f73f8ccc1df2de520c7921396e0a2edef5883b634c8e4fe4a4a10c683aeb43bad91564ba04ef75a9828cce81a2219a5ca6e9cd22db5e0923d2c8d22118bb41c47291a564691401321c1ba105b1c0a7bb25a319bbb80b550c9b99b9057ab11d70d81e669c11cd655d8dce56a6fa5ca7dc950749cab8a01bd32dfb896a8b725d358de7c98db05cb7f3ed0cb815461a02f9a9be782228a8097d56129488034d7f6a0c2e1b9ec70b673a35c3b57be2fc640a8a2eab4b63c81bd455a4ffc36f8d03cb5c1196a2361b7d75bd889f5ca6859fc98493146eed2f756eb33e4ca8eadea10919a0d9962eeb8652a13b94286c4d9a3e6c58f33f34ae3471bfedddf96c74169ad988080c08000391779da4e92e5f2c38c2312d15d46d13fd5701ec611468fbb91473ec7fabe9733c04d8525168f1afd9078e3fa497f0d32fe255ece9978ea2e7ad6335ad52d712a95cf53482f75d4da4e3aeb653dd9defe21239128279cb9f4463739f821d930f908f74ab4f93bbaa5e45c8be27d55d170dd9a835ab51212e3a54946eec19c6ceb0522391a9f304f2721c98e179138382ce77759487c8820933baa3443b8a4a5cc483c6e995223bf6ce5b929912388d48b1cc380ec8b83c28bd511a9f0e67259cc23bd0b4c62301d0e78b8221e59c9565544626449753e3f77654a0aa6f2d4769944f6e10a026b1992edbf1ff507b2d184e26f39d5a38e70a58476d17db48eb5714b799f4467d8b4181f87baa69b756a6ccbba4674b55fdcd26593ea0fa8ce95d37a7d8d3449dc58e298650306527ba76b2142d7348f1166f7222c3387ad8c83cb2526c1041a4047487c840d9c1aad66c3ee659668061f3d18cf8d6a4479a50a9e1d12cfc0148a935f7b6bbb8778685089220e8f504a528b1bb06c4013cedc23ff0d1a4d5d160929d09418907291f24cc2220bc07a6ca38069439fc81a30aa98c29eb62fc4cb44a696af368fbaf839e8a0f7c55c9af8fe9d240ca44c72fc631aa87b3f177ca3983e3253fda83a8a9a8869d94ba5e94808ef2fa3fc71381d9cf07d07ba359473f5d5352e5bba8079963fa590d610fee97188c4072a3318b90e886ed72a49016f3bb31f7afc98dab48520f2ad62221d246b369d988f6b6bfd080749290fc050c211d94e96253e20f9517c23fb08f0a32008dd69b4d32ce90eb11395cda8e3179a4871b6d1c6619fe6f9c4cc535a59be49363c198902b11f0d7ae1371385e027302e09e735f60a6ce871f62a09504a728aecbac055c98d0c7b94375f8a744b35785692297bb1a647b4056266eb84eb84a52488390ae40a7c11aedefd605e5f2613edde6e26d91051c013c0e6575d59265d165fd715dcacd1554c8a8fd28452a1eb693cc80c2610e5fa6cbb12c5bf1d341bff84439f252a7d76b4f99d36f3f2052107a98c09eceaec30c44e7a24999320bf48ca9830f1620e61d800a6d1445c16dc6d8bd1d9680c5feb4b62a98dfdade6e0e8d02c0a26620b5355e9358051fc1e940dde83bb76d8b1d7ea025eaa62fd8d282800e0e416013f7235d51ad1d5473fd96f7700f3e6d4e0eb1252724f0cd137e76b2e8fddb3a0274d9fef558ec7d7dd5d22def4166157154c323ef57346ee03360d15167d3e309914116664e12538b14cb209b6f224691b5aa3e80a66a1dc4108e655d0ac75e1378f6bc5e197cc666405237c7da0e66399ca08d4e2e035fc5048f5fc0e28756630cd0da56137b06ddbab56a9a4700ab24946eaeca290aa6c17573cb61f9e3970917b02fb04b81021d7a6e0220a036f40f8f96d280563ec6b977076b03ae5b5546fa67bbceaf54aab89a555b16a0ec84e1bb5d0b493f89a1dd73f8b5bc7a0f130bc87ed0be1a6583dfe223f9afd7eab54a9d6a713f3cc0472ac579a987f6c99bef32a9c9de1e9303654f19cef4675de20e5f96168dd65a605063630d90a9e3a4c25dee6f5496aadec18ce8989cf0f45414a4fe1c2e8380f470a35d0f232805f9f7a75f9085c6d9b798182466a9b99b371fd77222118190c01cbe0a96a9195caa399dcc27b3a9ec503270a9667e3e9b4f768a142c8750532f6c1fde4f1162b290eb1b1e2a748130781c1e8ef856b38fec1e130fcf2b47bb73cd1a74305651706c49e7e1bb37336020471b9e89bff42f58158fd97ac20d6dcdf09630709cb82913d169cc11446e1f84a2bf90ea2af1847d94bdd6369bd566792d6e045a0db765c0d9b5b2d9ed36b4601a76e49b57471473d9fe291a638dd37c232514d30bb301d8f1b97765b796f802c261b1b198e3e57a8d80e0db08190319d682b0385c1c1e7ed611f28eb3157d1080d10a7809d4c42ddf35d435df87d54dfbe30ac0057c6b4f267b2103e0f0b8581cfe962574598131580fd4fb7d49920a49b3b91898b0be0ef5abed244f0b67ea06b1caa8de860e5910800bcd2820b9036a15f963cc77cab54c2a820365ff84496a9fb0a6180070383c361ef8b9b12beb40c61e8eadcacb5baeb2ab92ad56d75e00f3144faebf83e17071783cf0f314410038767cc8a99630f39aea7cdb4d0e6c9ba12611ae53956fd554bc664aec304d241fe03190bfee7f00327333a1d04f384dca409aac6b40500d98021e58c014fd8994fcf06d6c7d00c45868eb78ba7174b4192b6fec3fcc9f31be016caca75f52e4bffbd2f1c1467fb9adfa95ab8dc59bcda7a6d7bfd8141dedf1fc17481480240004074fb93d870b36473c949f11f60a986e163f9f34408a564d3e509a8af1200ab457c60dd958e583af2fd23de37184d23ebfc620b833fae3439d80306d2940ca8d58bffe6fad19b6fa7b3d7bbbcd6a598b142c09b43f48876e72f0e679a3bc90deb02f99ce0b0a7688aff0a585a133079b20e3e084d10f96dc4fb9c97391c90405997c6e2fbd46bbd7aa3ae1be8f575904abc32bf147e2f764255e47ff54ecbff1cecde5f3992cdb0d5f597c5acf6eb3dbac2cc79f45220e34aec586d50268643937fad62d5c47115be896cdd96c8c6a5254a1ea2fa6c5d5a94a3e90233ff0a092cf0e67da78ff63630ee3f49d68806003a18eb9b0d74ca6a7b3f9a6e5f43ecb80b925ab96ea4b503b6130a55ba649054613c67d0062256b1d7a1bed26dcbba8f63aa1cbd7ad379a1eec999095bac37889f66b34357450fda47f44a17a03343861544e1899e0e68512f5473d0c5d7bdcafe510df872c76ce89bf34431f8642adad0006f6134857d2e0a3828c73ac195406d0c949e927958ffc65b463adec2525467c0b547152408249d1178d5465d3ba64fc3f9318f983f935918114d2d2968e9aecb57c0c39f204e650501c3549965d97cc4e1c645103aba7a513ae0c307b694e4a0312248daa028c0e02c6bfaa5696e8ca3f8e4dffe3c19b8f1752252d929edf16c262d4ca4a6a5346f9a84dbf9239b2018638f28190bc4bf6a335b4169ac17af6002511aaf1672e211fbf3c30b10d11d2abd074764af957328c23df0df1a8ef73d811c8819683933edc2bba5e8baa54e8c375dc715439fef68af5210fade7c14ffcf3d2588a5edd5e4104eeb1673a3bd708a3d262653240da13d4b1b7cb4467c5527890a5608af36e948dac6c623f1f62da0b4fce1c410d5e2ede7477e56fc49517435db927a5f60681c9cff3930801b15d4f1a5363788409d79bd1505f2554c74137d5695730fa3f75508eb413f0981e0761db0bfe6a441cc5c2e1bb015680dd7cc7f381144dcdedf0d1bb85874dbeb84b1b0427ff8c980059ed8cfeb1e5bd71ecda7eec3ef7ca46b8c1dc3e2496a0a0cdd01053b54e7718905c03c481ca00c46bac1639a2c87bb79125a0e55c37e6f373a1d3e2f8c2055d76799cecbfacbfac0a20216ed6c3206c818b2ee17cea58e69e79369f8170b4420c315f530c37307a47d357a2102630f3caf3e1123c503c70e4ff54e09d91ebf6ed00668254a53c825171181e4b61ef087e99490daaf0da913c8cc8926ebc46ce09c794d4ca8dfa726c07374a0ef1d68f553040db6e65e21d353c23116899791359d6f54496fc0c7e08cdd84e1cb9b61fff7f75640cfc87f10aaa6cdb9ec861c5ff0371e7c2c67f891c21768054ba26a4cb648500da6ccff531418b4d9cece62bdd6c8142f0641ca44d7b221e790c1810ba17ccb0f52a71bac0e78c6588230a9b12da5f135af144df6bfe6ea84851aaa00222ceb7f268446bba87adb300b4b50df7616bd8446e80ddf1e8b2e1a7e08a98dc2cc761e6b0b80119802f2431b5b318180c31f511ea36d8414fab1a3912db05211e94a26b4d535a5fde23b4017888caa69576a15956546ec81c8f1d4d034920b46f93ee80c268d92567aa3f2ff7829d88e4fae0b1f2f05204a8655dc03d73d774162f5f8adc46abe87bb556d8b7555172091692434bfa36100e29fc510c6f75e302a86190f52fb31d250f2873b63116bb3bbc032ce8633f0a28c247a5524c0968ae0ab6e779609e32c2947d224bc725c9cdade7bdf17024481ad56133881e982aae19b6f60958e7da4233a94f708019e559c841b230383f303dfd716302260c8e0218b4c7ddfa4b1dddb74365306386d1fe4c57cd6254f92a83c92bd1999c40542b836907b0e66d19f7d06261f4f03a06762cccd9ed580c7899e094c46d061a4398825000ddd9330196d800caaa5aca3bb06d290f3f820147630d7d4dc1f83d66ae544a26a76780239b249033bd650959111e93ec663d204f7bd60dc8b3cc987e8a11a93a059ec8098872f8cd2ec173817b606a7d8897bfcad1ceacfb493498177ac39747096e0b5b79ff919ec6a35c7ae2dbfb9b27f473040be2a5dfc4659134328d9554514884b9ed51e2cdab2c52fde9a0f732d151ad703cd9026256388e91e9b6dc85b10fc8ba7d65a18ecf54a83e60c8577982154877590e0070a08117837733f25a2d6de0b2c0deae800c4700cac131935bf422ffbfd95b482ad60790dda55fe3dd0d0d4654c57b7390dff26849f89e54b6f9d87e057481c8779cf522e3dd76d7b7a25893b4e9631c2130d536d6f96e0935e8f933ec8c33ae2dae054dbdb6716bcae48450df74cebe7c0f41d546dcfd548fe7aa10859c30d33fdcc072d721a01c776bc712ac6fb69283d253d1ad96e1b2935c549f3a97bbcda8c132fefac95b0e7b340a850fd6528e1b60b9ce8eee73aa973214bdf3377605ca8579c73baed72aa7b1682c03f9281dd6885e985062b6284ad6a063205f833a2c40b649393fcd4bc410769c49f65ee1134f1395c0db7d11533cbe0035a65cd4f9e4617c9e3e3d68c8a7b2217ac08ca9f8c1921bef58defcdf077aa9439d52526896684177bd82df87260d21b660df4707fa38524d9ed20a5034304da0e5e1cced38bac31e53a41791009631f96fb94ee85a7c5fa0bad0e0e5de84ca8ef5fe7fb622a0a39044bf86a0f9588384de5a22e1ad9b6245deba4c6bd3105e5bdef75f3486fef709045fbe289bd7c10cd7bca11ccc1c42a1995e4bebfa9072bd0573c0bae25be26ba17a8e0577c03a6d59eeeba12abf6573c63e69a985f275ffa95f999c62f5f41575757b9fae6540f77a63ae9c0175ce4b0d5a814cef4351d524dce780eed27fae86d6f27fc6cfb8e30e70eb7603e60815757aa915193de5cae92f7a757ba94b191ac56a84ba2df5dded7dfa9dc12857d4a619e2483aecab7123c5c01d677c4fabfa172d9ac7d739198f13ac75382548d2eed11f9a12cb2c1b7856efbf4ece2b9f3329fa99c2650e152f8e7517b1029d74e41a9ac3da4203f910a064211371484a79cd8c699fac9fda20716603f1620f4c2c9542074c0a96aede48f43e580924da38c3380cbb632568de8c69ea53b607572805b7525b6536d0094f9812c1e023b0ee5390e328e816670db09390a73aa5612986d2e2d116be357c3b04c76a30079caaa63044900e01dafa91abc415a9e183a8fee4fc6715536d0872393ccdc9f149e413918ca4873243ccf7d723d519c27a890195b774b701421d603e88ea943de6f883efbcb6f5e42f8e405d1892e9fc30d0b6bce29671ac80bd5f5845bb30579c3910e4d4b460d96895a2fa1f940ad820b87927eb2f115fc7a3f31ae05b620056f182cc3e833b6c4a597143909ed3354f67aa33881642f07389e34352f5232f5cbc2a01033a17a3a958644f4d58d8a0e4775f4ce141c4c16e6c5135c8adcd12610c72356e4b74796c7c2e97dac00b97b25d0dd5db2a9482686275aa93466f2200850213ac7bda6b449cf740e4d610088661a79f190e2d53ce6acf4405580b73d8b961bf78757e3232f462beffba11d9c65cfd863b88e9d3935cb7b03da68c3ebda5df013bca26ff8c462d6843cd29b305614389cf42c9a4245f7ad0816d1250f6378e61d13b448480e233ef85d98794744e59e9e2885d8147dad13b8f5ba4e688bd1c071cbf15b0b4af475d902b7e3a5509d9195a2657717cbd308299c73f43fbf5d13aeeeb5cdd1b74fc19691f7e318abe7b0327e918a86247f9cd920eb7f944968663440d8d34d5e7e3ee101a19d35f89cbfdefbf0630cbc7724a109d0c50c286a6425b346035f16b8477476993cc96a92cfc3e0d700084ebfb0917ae2d4bd0be0f0f6b6c64f3ee8c3c3e55e894dccaa8b3a318a3ad492454a1b398af47744fed3aaa3048477ca3de2ebcf4933e08c56c7c121d21781a5285c1c1054b2c477926ae4758f69e43e09ce188d05e13c44221a17ab60b4c435ff10559d6c64b273de8bb12cdfcf98d124a085c872b16a1a691120a6d5d4086564b8058f680edb7be4c133b079146ef142d05874e71971dc1494a274e5699d76481d3a71503363af48ff30dd7d04d987585972626d9b7bcc780cf26c36b054344a724ba5cae4dc0f4645be7d3d2a774a66c5c41eea159e97208967d04731d1e30471f148aff49b7562642a18cea3e47de172768e49cd57505a63ac790e9ac3752a88d77a0f5c84f42976f2060803c85b26858280e004e59ef70a021193b1f6ec3d6ec2c547669a12e1c2a51e3feedc3a91c5b97ed31a5ef6f690b08786a641e3e46a035ab36c61274478ab5507731e1fc244ad91d265931a0afd2ec21423c019df1ae56cea279bf6b58df06b785c277d82d94182e547cbdcf30642c943a0d736ad07c877c32ed5c55f725fad919a66e2ed463cab260569ac098cd642a165da83a4b9da01681cae091bc68a5d96bb2fcbbdaec50b3174a04fed74a73394d4a58121e1215736fa01abb8befb2c98f89fdd960289b0512f2c7c050d32721d6112cb8c0c1501fa5b5f598ac156b28ae448961da39d4085f5772469f7049f0b530249bf37dac94a3682762dcec9c6d9cc13ba2298f73ec111d253470b27a1d08d1d1742e4233fafe90d5a177ec83c7d5077ae1001e69e6c582f683669031294c001c438049009636b2d3a6537b17758df30a5b8bb1c43f538e58b74408034d1c44ad85e9214449e697d76271784b8a1e921020c3461b1036f247440a9e882d4d89c79fc9397739ca2d2fba12c6d8a0d9bda34f0ebd9bf4b719401d3d046e2526f805746f023ec9fbcfd7dc47db18a72947a56949be7d8473639c4700e234aa1cc96dc31df499bbcbd5dade0e3eb144b8eb408a985333a071d3f38f64430bc5eae92620d72c46e017c1c12744bb9e175c333cc80f9197cd222523ff748c69bb039aa4998960a2813aa84486030a77ec124638bb80f4d1c9098fe505be2c60dfa93a71e711acab51e630e48a8191462ba92f7c4df65acdddf45ad63c051c2e55405eba41e03b00ad25165672468dd5dd7a3e643f426a2bc32ad327494c69a80ee4998a597a60c05fe1769571acc0974897e8548c5f52398b27b598ecc9f4215627f11761ecbbd48560b459fd3fbd93bfd8507fa6cea3ea90f939a3e673e42c631ebff849292be0e11e2fcbd8bf45de36ae701f07becf9141d472df0a63abd63f76e221458965dfc0d89ff317adce9d1a9cd6316821dccd79cf32ba5e806ab59d15835ba459d132145e34a4632a3a95ba8eada631734bb3e661c5a0d24c520818ec02855274c5a70b23c56a8336d44cba8be713f01ae276aae15699b220b2fdfe14f6313425b7a9d8e5bc97bae2cc9be843a1883422834290257b7dfb6c19c00c0e14b34c6c7c1f55da6ae5a220f02484033953d6a624294f714f3a590fcc198e7889bfe131693f4787a403298572722a1b64dfa34a60659f9a9ae92e80cd107819402804f4acdf4d8429db5539e83b4a9d571a15acd159b03c633671238b6318569f60ba8d3040d0afab6b762c8b71c35575e60e6581d960ab8a9e62958b1453572cb241f408059af1325cfd1e301c62172b1fee77112513220c0a910d2ab7ac9a6ebf7852fe841fea60bdf7c31b8bb6de60dbaf77bea1a6ffe44490286d6e80e62e81c1d1d74db43adb13bce90ac347166ce322026c0593d6bb949d4deff66945ea6a5bb34c561846290e20db06192a7182c416b94b30f1eea4e9c0c773c03b2fe516334cc3fa440cf02ed3e4d5b12865f9dd89312d5e395333cc6b6aa25dd759b1cee6e6350e47d064edf1429e67cf645be0fe22b013c9b05a8076d336ab21113c6a9fc9331dc9537442e4483200889b92f49760a09d0ac9ff11dbe2db605d92fb368a2fe471c8a076d61e89bdf016bb59b916c99c69ab7bafb34a711cadeced2a1773a8942460323ff6f7035dba03451ea0560865a983d00b41ace830b94728a500d841cf1e884cc3afeb18a21117539823191fcaad6098f528fab100a68586af5ef236311c5e4ce2182c5c458e9a00fc421f06e1accf27af4a94d0a3cab860330788d725ebc4d713dcf9d1cf6980cc86788ff70468be542ea38c43b9a348045bfcdf56aaf710532683291855c186fb80e2b90263d8d3448c05de760ebd1b31212a8dfc9cee048f48391e1d64fa0d3abab90b691ebaee0779719a6e1d6ce986719ff4ee32a31b7aa53cb9d242c22785bb1c342988f3fcc648d74299c6abe2b45a2ea12f96e7b39be7419c7bb22c32a907edc2f85bed68825152b93239a6d6f32fba874b45681e5da57bc6feacd8a6069a506f8184a95004aba92cbd215a9a9001bf478c12c0971e4e34ead177d1ee26d516cf6f3ee459e7cdcde220148dde49e2178ed0e5c991a35eababf1b2ef106f9debb693dd9600522085cca6c1b693e0867ec3a7b07181cd0e0ecb601ecd01cbaa21a5ad756e0ab18e3435de3add139886fa51b87e232ed160bb0f0545dc862e3c2726595205164276d0715e96240f0e89fe03269f72083da825ccc32e013e35a937d4159bdddd7e8f1d5e891de599ea2fa89fe02ccd68c26736114ac3e196d73a4b4cb6b04e951f1decfd1199e510ccd75b81d5f496ecbb11f4dd00517abb7ad1f0294724fcbc35c87212fade8b3ed0185c3d2fb64f4ffcb9008a6b9c1547d0d83807a48e540067af2707f726a113654b2e0d4669648b2f2a311f774e3eb8d3f696765dd02b16c36000be38655173710e101157413ea4ad42eda288b8fb49c896524a293391490142014f0156d3be6aaf38096f38496927284d63f18ef1d56aad4864384e4c88fb709750ee1172192faba9b30a14b4051634277057b8e003db486cdb844230eed63456b2aab0bffb76e75c67dfdc96fe8f757c531d2b59c7d4ab693df4b10a562febc53ad75a7332a1c414be191fb9b1d6da1c33c7cc39ff02b61fb9bf8d86e97280f338a62fd8f6e1366efb7c4ed98ee398bec8d4beab828f92f68a291aac7cf3dd3079224fa4f81ea83defe5e59ba981a0a0863edd3fcbd8da8a894180808686412854275cf8caaa264f5d2e57adb5be3883c4b03ea39afec9c73efd4fc74a6e5565fad8c73e86329deac5b9eb4674ff93dd3f0dd29b1fdb8afca95d982af8bbfb0000792c2d2e7befcfde9f6eef6e234347bbce7d234332244d22b6872832030642c4fe6a2fce9bbba6b9ade2a588e583af4a538372defad55e9c753e50038181cbd04470071fc54347666ab4dbe65e78dbdc864572d4f74ba12e5dcd8379663da7f722a9044969c95337d5341b85f5a4b9ce5387695d72ffe82521294529911c75623a311d593513884a46db0702c958ed01106fbf76ff7f7fffe7feb7df3b635d72beb9f61bbff9fffffff22d8e3d852827517fcd5a315c680bc4b318ec89ccfa75a5565592e44a448d38b52c77ca9d150206345f877a19dec68fd98e0e8b6445e00398f06c927d3fffff8f421ffcff1741d4ffff63401df6f29e47911a6bc56ad9e09b5117731bbe1bbbec8ea3a35014658da8a3400f36be541a6b459ee0eaffc514a92a4d0b8e485fb24a40e8ebb271dc1977543222d9b59cb5f60231300508bc0c10e0d2c2e281007cbacd6d3ae36bebbb68c3c4e02f06061fb8d59a78e79c0dd8a8ff18e3da61cd3ff64bc0e00f8b2a769b426b9fd6b44f46b3a95ad3da6e282e65b7cd8ab43bbe177b221b2655a95452954aa59b90044190044190a481dff7a5b52f1e57c5b2318b2d06e1ff8769ef65735babd51a47b2344fb4e562a5b0b0d56aa5413c4d842307901e3b74e78de3a8a4dc3aeda36a1c4798aa5c9d2c57fa8aa5e7798e23599a27aa5ab1d2f33c595506544d4d739779fdfa6520c7f33d229c359147008155c399fb8da645c5f9f57d99a677fd2c537341df73eb08907ef0d654c55a4bf79dedbcdbb1e0ae25772eba0bb07502b88d7b47f2ca585465bee5a597df7ad7a73e404080bd5dbc74337be9aed62dcd15cbcfd4799ef4a5174daf42b162b8c2533557277a4929116724efa33efcd2df984ed7797ac0d10b962621399a5d3757adc3a3c3a3d393528ddde96922929fa827b09354781ba4709842e049b0bc15ef30921bac55f05d5c8cf1cbeee7ebbc920862f9402d3c2efa6bd11f8bfe401ae469d0877f93531f029a1a08210913aecd850d6f6e63081ddc4d5ff9a9b9fde1f667c361164d373de6a6af42377f269b666a85b23e9fb9f5a3273dd8f3214e4a45861f7ef86f9aa1a98160f31e4b7e77001f482a85d574eb010c13ea5de20db121db436a038bf329448527ffcf47591cb9e6f6c7b94d6f7a7f3cbbbfff9f520d1b408438c13c88c8cea996ac9ee0d9c559733967943382e59468ced0ce2e5460d9747757a040a43def9e60b52794870ec31d380a173119dd2ce6319779cc2a777787799a53eecaa2bb324ede74b75f7f36475f66397da5a967318b3935b336757fa93c751c275563b9f2983f7199f3f8ecae4eb34866396a7d36d33103edf5d13fe947d925c8e7eb9e3d77399bdbfdbfd288cc073defe585c3d75e7b63aab7befd7bef4d8093c594a7591cf3a6bbeda59f4dc7e4ef636238a7ee7d53cfccc04406d9ace1099939e7ccb21aeee52ed6a123bf6c83260188feac848c5f7d00839700100e85811c0b9318c5400c645079142388c2c0fa7cbbe05276886ccf7bdaf76ccddd2f9dd500cac967f72eb201c1b46e9aa635362795b41dfb93e703da37320093624e9fe3bf1486d4234c2cd43ea167cc5658ccccb383392f42086099136f1ba8108289ac197a994f3b1e03c269be891a683aa935cead988433f8fd1875405f41d9a92faa82d57c1655ff04129e194ce7a56352eb2193b28f849b7a207cfd6c196836dcdedd05da4ecfedabb699ce7bffd66e430a6ee2769c497fc5e43678848ea2a37112549c254fb275b14cfae790b6e178b9f02721d75fca3cc10a267f6e91479872fd6e410dfe077cdd21067364866cb96d093c693c449eb84446d5f5ef48386478b61a440008a8fb4fe386dfb23001a9cdb3adc8bdb8fd52d32efa550309dd8a6da5f9a9aa5330b87554c811aba8a5ee4928860a8253343c5516e416b58dbeb4f3feed7f1076ee0a93418018eec80fb1014bcb46b3392accbc3fb11d32b68b53ccd9ae43a28e6b30b7f7ca87545f68366683af7fc5e1e4b90baefc29283aa90af037d205c0a866f0ac1589a99b309819d4935e2de5c6ae088dddfcf6358ab3539d9defb908bf9c8102a3e91cb29726ed9815436a013632c30fd4f9a2ddb9775739ce709b5b46f6e5b1ab60919c0567b045b6deea64b072a0ad9137c4060fd77f0b76a05a3b32d29115d892ad87eaa835b765495e2303de9c3012e31c08b21c9b9b37a337ba37c32b8e8e941c1e7be8cc9d484d5a50043863c1fa25fa8d858901b0e8506bad4a40c068b8cad5e58a67f1f9407a2bb7fa550f44f9e64c65073214c0636a325788650b0413cdaa6581c1c1ed6ce9dcffedea1c1dcd74f0eee121d4e9333ba11db2a75f1328c718e21a6fa7db8686be606d5bc1933b0e16e1d3585b05882bef72750c0731268ee481299b8d935106fc289cd8c60ebdc05d9e2edb5efe58e1fc370d5ab1ec6922ee0ebf1053d11f5efc5888ef8b9298543570464b943ec972c8894f07e7fb40837acace819b4492bb023bc0b72600902a683967754f012cae7a3823ab89f98f25c1c8dc8df7585af3295745c38c01b8c2036bc9e75007f45713b39f56c310121e64e1745406bd050971050f2bc5e30567737c2e7569a08eac6ab7c7e1bf793f4c41566c0a9361821972058103058ed0a1586e123c026ace796f594de6665352d41110221979d636ad8e29c906e29a40da71b27f35e4587138900d8441a942ba91033cfd4ca2a2521d29d8769b7be35a394ece404cc48549b4bbc7df8cf510018f8507b37daa6321f44b5ca35605c9b3483fca74aa2e0af589ff605e04256c2421d5082659031eec987d632c58880f8dd9e433a9d9fab045e8ffa47c0da0646dabe10903eb1279c8a62c0732c67dc5fdca4971deb70bf397ed44fdb8c4150449a691812fb987b640218d052236847947b02cc0caba19729f286d9670076f9919e28e300f1cd56c062b05eb3b36770acb133333af1aa581a84d30ac3e5fb7380a72c893fa798ebb48ac1a6d512c1d880f7904b6958523e1a280253620230023834e0ffd76b22877ba49dddb5811f4968147959868b148d16f268b72a7dbd43dd61a4167cdc124de35ca5024831d2efd8be87ba302872c9d206c8db3d7475b8874c8297431805d466cdf28c69844a6f441932191c9960806463662695d6f2fabf89f8f4ea9a17572bde11bea309292441c3dd900a16c096d3e39000497161d7c24aad64e845acb7b50c7026765f8a33d526c68eb7abff098d3718b5a2e5a930447cecb82b78c682ccc2be89f27273bc71c3578fc0e87c490099fa9d063e4094fef51f46ab262437a9ef3aab747000ac0fd6b6c50ac9e404bb960afa03080503d03b79ddd030002088dffbd72462b1069a1708e0463de56586d141a5e5eb8d4fda10f052d73c7de6c558e3d57649516d60c4f765abe4cd4b8b21545770103fbc548325f0c248bd4ecde23484452d38e02e58df56620b2e01978153dc5bc0fe946891221b4e45c4bafb64e1467ca42bc73a788ef48c862e2582c138c487ab912ccbc3313e961a7c60be893add5ff8eaff871c713d1555aa63fee9d7c79bd6d4868c53e345843818a32a17aeecfd3cd0dcd7ace07d7ea39e8523d075da8e7005e66d9a04ba5e3040257415c0aecd7c2d94ae1639fb38d523f9b5c6ac8c522c501f9d027dc36d2258b788f0642832506a9fb7e96d56eece5d8be35f4db3bd0fb804d533274ec48ebcee5d864b8a0b9766752647af0cf86926a850a90e140cbb81b95abd980e5360ffbac41f6c8ba59c559c72c7ff71db49205fdcbb6b92e7b0c698f495dc897202565ea9da27031be6e3d37492c2818e16cfd2dbaf53bd3b458aaeb42a3e0185363ef9c208d5fce95dc32c674a283cd6e1dcb67084a5a281290b80dd9b8ed9ce7d00638b44759b28e8028e455c13078ea61a1e0c7775b76814e5f3dd6375ddaee7a50fc4b950a03709c75325223b2d90faea68c1b6602b425229f7441569902c493e4b5ae328733ce4249a35718d026a3591a1a9e6b6b1f1f46e17bf6bf1cb4f02df6261627c94f9e70d9d587ae48b5ebb8f741748b23387e6b1a620e3ff9af8fadc7baa07fb6d24ec2897ffeb627a8894b2f07ac91c5241aaf194fd557e4311931f936cdc39a26044efeafbd23f104774b609c87501e31637e476b1396bd1f15f355ff2ff1e620016070e40d9d90d9ab61180fad5f827821619ef2009acc3c956e9c9d0f94acbfb4718ac2b5929876126fadf405a7eb136d46e4eb732e69e0240be09d86f264f699f49ae9bada199c775fa9b54cdc35d5c6477753a7229417de67eb636dda119ba68121b88169bb301dc2e172a112e62e7fb1ccd3ec924abb37efdc80b38f53d0dfa95799319e58edb76497ae70d60c02d4376c28cfc0b9b1332416f711f2c5335668989eddc82f307f1289c872d9b7994cc97d4ae0683ad6ab7723e0a4598f6e0b8ff488da4718ae5d7068707141b006e14855d418ff9f7e0255d7a89d4805a6913c3546b5323dff59d5e3679875112effb5413ce9cbd6a460e37c1fccbf0ae1faf2b10bbcb37af9f436bcb5d1afc3898a212994d2dc17a75b5aca860940cb6eee8b0b73218578f6d6b34da51d6a1f25bf1f4ee7052e41a2aba6e4b59efb2cb87e83195f737d7718ef9305f33937ace4a3fd384a74e2637a7adaa7996e33ab3c5eef0f054bd03ede6fcd6a791df1b223ffa9fb339dc048334cfa202974df4493913b40abcef9f79ef629a9e7be4cb2f23a61da628851c69b940d1ab7912ef7e9399dc8f9e2ea18085cdd473f10027cb515e1db179d446cdf3eeda360661bf4d9621a26b66a0a8cd0995e29ed1dde1c08082054eda4a18cf6e71c0ad1072dfdc009de9f8b501ca1050e4e64a6b69d9250e531d6eeff51fb5c91941eb732483976382546b4b177e9e1db4f61dc428321db280aee53e5b72565f629c90b1983bc6e24c8237820479fd220345de0e45b2b94b691256e1856059488cacd40091df9617203e181f15babffd65fa79147ed587f6b889c8dc059d406b6516016a88922ce9bf11e9524d8c42744dc61f36b04a9f45db9c622ff45993f1dbc8c4ea6f83bdf2649d595ca45a1e34ef9ed18f0a24500721190367cf4735c1a9049d552048885704e798f226234836fd243141aad1a0a434fec9c8422164450bd275f1475d245ec336eda2648b054ecb642c30836bf89c1176015911f3b2e7edeb7447e7ba096b942a3b59456498767f118104ac1e8f4832387381d5d425479f1a5a3a741a957c97a0a115da2d3a9e6dccf35a08e3db6faf4a1de1a47bf5e57881a99b4ff355eae66c6e42316a2fdbf540094fd9eb0c474ada1d196144145501729288efef53ba581ac9c584421e2e7493202bc77d5634321a2529f10a9c9c0de2b9c7bcd5f56bb670f62f0700e8c178c28af421d5b71b342e47cd64b0bcb8468a9f684ee9bee191e1942b97c7c498828b5dbc908b73bc840b0b5bcbcf7706dacebd32e33c80891cfe20459347f14333a88e0e87cf640c81fe7e71e49cc3df75fa1c9347ceecc1e3c3012b41b03562691141932889239c22f72e2d524ce21109ea8c7cea912d6849c39a4068b0c9ee2dae2a9dcaef5d8f7b77d7655ed00800a4900c0f1f5ba12b3d7c5bbbdaea9ddeb56fd5e9765f8bab2c7d7c55cbeaec9e7ebd64d5f97fdfabaf2dbd7c5fbbeaeb9f1ebd6370280bd2500d8e76097ad07bbf283b08b57845d732609bbd54edfa99881855388c7f13797e8fac840d7586a84655b3e893e75f58753d0969e0bfceea736a351f3a8c76e3aa20e5bd1a77eaa09e7ea5867083de9b84296366b6e4ecf2c507b5045330905dec34f422b996adb220423a388cc599a509aa02ed61a8e23d9d17eef9bfaff73bf8fb11c43d411a29e5d5b775639dd0179c1231627b2d57d4c5fcc78c3f07aee69302f1bb1a15a3c0983ad2a128aada96726b16df1dbdddcac8c6efd4bc0a3044365a25eca57414ab828f2cc8651e4e9674fe40260b23413ed31347f64e9ee21828ba5e27c45955879ef170982b6977a34f253404a0a28671c5282f82d587f445ed70e12cd34051ad900b466cf07dd951b933c0c4cefe4693edd91190d08f1fc72f75ab0760deb5056dc4209429efe7efa73565dfea2778ab5d51db12ce7a72989540178dc5f9d0e2a84e9b47ae171106e679f0eee2943db642296992de6ef870bd1eb9bf60e091f27afae48e3f02b569fffc833924854edbdc05c6daadc8a9f7cb52157d30afea9aad05f11cb9b911e069812a296126b452db3afa6b94872da208b227aaab4acf7177237f105ae20a0ee645e93fa67f00cada062ab095ead4053c3afca689c9e23565e703742ce963ceea9d6679e24f72dad32752f04daf44f77a1f3f8cb72405afeb3c64cfe202f19b6ba9f46b02be0d238b939b616c78fe500af88db4315cb9e6ac01dea94d57daaec448a199a0e66896fc35173e43b1169c51c845447a802cbde03aada2521afa445afc18e752f9b8b7edc58b8b70b9785a4c978bb482d7200499a810aa244709cb79da2466f46ce1807c21b217984fba4d4ce7e569e65996839ffea5a2d5f0ddfa91ba17505aad03b144568c6a469ae3fb2a0ba20ee9879614e2cb0c22cbdad75157fc69879a46a609f4383ad73b913ecb302423dd6d022b26778ee661da0c5979e94de0ecbb3115030580bd0ec5046453267d9760f1d2f4eaea07b1f946ab3de287dbc38f41de131b07dd3d0bf47cab674de5627495d646ca5ae50b46d4b33942a049ab4b989b2bbf9ed29a4dceed9dfb6da956eb3824f20d6e32a7eb3c88411feeb30a9d1a3683919b41890da71a20da7571a9c06af024129439a7c02578094ad55146948f13345c3865d8060eafb4f0b3c2f6f68b8ccae434af3f8e3a9f26abb790c2d9ab4b4b9b7bfa1dceda77c0e8898539837988af3a27a5c61948be9622174c6d788d8950309384ea3a4ed594fea79fcaf71f6ea5f471ea7bbb943ecf02d002451d3d8b3516d7a2a567f53c0a7a917c5348373865f7ec7a7653ffc2b3efcbb2b5d59cce705f2c31eda4de2c577ed2b01549e9e5e270c2a22cd86f3f76f76ee4415f6ed07083e1bfecd6bd3d92820f3c3026ed661df95ef3fa42e260d39ba9a22cbd4ef25e5387cf5a0ecbd5a417ff44884c00703dce66ff7e5c5985800c92f1b0b4f6315063d562cec81c8eab293442f25c4396724d8d5216e79ea963bc4c557eabf7e5ff72acf9b7d61086ec18ce2afcbe095a54594ab5c218ca3c2abcebd1422b78891a5b9f643a2f071b6223311a66038bce3feaf7893fc9ab845d764ce09f55ba5baf0376515d2a666eced7643cf48c5fac2893d4508d7144f9657f84dca5a12e0ff42dad88f84ec323b64321ca551f39295545ef579c21237fb601e7f0ccf7d54130e26ca5fc3298402de048e0c2e3c76fa7811b901d1e1bd4742d1c5ffa6f9af6142bf1e0f06b7f8d26e8564416253cd23c4a31ea6420ea4176c41cfc4e06c2ab83c44f08fd19e6e5dab25ddd7ca937c6e5c65fe6b77f19ddc331307e71c70be96c590500dc54a6b5c5581eecc2f5aec057f9eb01418471ef2e976c8e48d56aa3a7ea33e39bec6d89eb12c40ac2091a00fe6c972f0217e10af0d5a9ec995bdbc1c7acba2466f7fbea331efa35bd8e2b44e56705fdd01b4a173ebc8cfc9864e7660cb6f6aa859fb12289c68e5b9a979b1b2454629281b95c9bd7a7aed17a197106066294777f45fc498ba0f4533cb5c9959c6d4a9777284a54af62401dd8982a41fe7be1fa10791bd66f475e33d18c497876ea3c619febd4409e394207032beff4678b1f2608a2f45ae6f8ec994cd66b233003bf387cddbe179439fa35f7159868d653a7068ffb7dedba12879f7e45af1c63cf66aef6971120cc3e047c8d491287d71ea5f4e412e4a0fee075c2a012aa0f8225560141a1db2c5dff1cd49a1ba115a5d8a69ba476e99a2ce64d7478a5222fa86b8fdf5bae665c12b17013cb899f7f90aa08978dec347316f6801bb72fc6eca7ba7dfe1d211618904feace23d4268ef5d11111191720711021a02ee01992cfdb56388d542955a4de1d4c718ee4d8d781c6bfd118bcd708fe557d12b07d391e4cc7a7b3f07650ab40023d997f985eb658c298bf9d8dfe930e9352f9c0200e460887e14671060fb43c9f1be5e395b7a475a561006a5689118476c26647e4d1e45d8c7d51a7c91824888264e7f67c9ccfbcf357f16f3b7899d0e9bebe439cdfeff27d377fa4fbff7f5d5b66aaa75ccffff0bb978e20c0cf66dff0f7da14f34d67814e38f133f8fe3b5d6c626881f1f9b1a5fc34414c36ec6df849e96c54f5dbb9c9c51fc09e4d9cece98b3f735bda3d83b9c792bf35533eae368f36bfa06be4a9e6f41af9f1a49fed7ed253486a101463d3578a547d677adf8413173fedefb34531ff8b3d86c7fcb64176ef4fff71394ac646922c6f5bbe95fdf66621f578b85fe335bdfe5eab99e5ca7cdcce73f2b97968fe9b5d4e244e1f870a6602ce044f5d2d573ed5cb9ff7fa52497c979679f73e96acf39dbf88cc2e7133ee75e7e97ff3a2e9e0b27565cace72b0ea9588152f3698d29235d20e46161ff0fef67f6c489f131d67ede3ffa49277e2ce6d463c9588fbbca3f840dfd052569158897aa2d43b96ed36f365667ac01a9e4ab968f5e351d7eed5e3a9851c70ed8b82a59afadf4e78bf5641e005f4b0b62bea626f482e5535381cd8c04baeb9264e503c008f3d12d367fc53fb67b09b0d463bbc77a1e26e3c57e4df4819d98c4f2c2bd76383f133502a62a559eb09d99e99de68cf40c9e5e5b6fd86b7d71d65e575d69e46bb50db5d6379c73bd61aa43ad470e50eb242c76832f09247fd54656551b09dc39d0e0284d2e47afc618639cabc798de8a5bba4c4466eb7295e4bc68e3789070e3b80e4854edf2e4b3bae6940d2ea93f95e282b7a47ac7583b569bad56a7fdb6fad7dcfe35c8561bfe3963b5d5e8d4eef5e7c6744aa1b8f8628226a59f668d658daea0feda1f6539abd1190cdf24954ef97ec050e49896342515085d56100bcacd03bcb0d6d372a629a2c95d7befdd41e6b77996f5b5d65a9b69703a6bedccd75a12fe6d7a3f0523c9657486746c7dac44f725fe8e50b759a6a42d6ad2cc42f3010a5a5c3dd317e891404fd965ca1915f7ef6087e6ff9ba159a90f61fb52434183de74453f599029523af0faeea765674b941dc572830f5a32945175ca51a4531d4b3804a682f4f6ae4433ac4e5d0ca39d8fec4bad2554aa7fd090d0906e6c278a088062cbf1c065ad604503caca2643c6afd505ea0ad08794d4601c656af47a6bfd3d800a35e053f04841f43bafea5316260e8429f7083fd56d2260965b14962f4c58aecc4ac34e004e373642392641355b72bf124e764d675350ab89a8933abf2e234b303971cd80e3bb17d30c9b2c3df2677a19ac2580d1a6e5dcb43c8e0d30cedb0dd539d343b1e36a6968a9b6976e26ac3c893ea5a492c886d9dcb88a51faf1e52cb2b107732569c9603ba78fccf356cf50c509e386bc37acf5d7b05140a015298b23db3a4831df721ae62d7796b52edf9dec6317bb8b1045172a3f84c06ade10286867e6860a183a1df3260da0dfb634692dc9ffb523587bf76f7d30c1d6be6e3f8e3b939b6b5f0f2d80a1cf051008acfab5a80202938039db87de1381bd185fe0cdaa78a1531e3bb31afb968c5ad3269063de8bb1eea135e9543c4cf128ce996bafb7c7576bcc378fc7433a42e2f138d541244c468270ab9e5181aa7051cf40a662f614667aca39cf74c4341c74ce3b1791428bc2c393532dee596b71cf66cc245bcb844fcc245b8e4fdc2382eeea8935aef50c5aeb6ff6e36e7519ecc6d3449dd696f51b18cdac573c3428da3dba39e37ae67af25b79b7d280f5b5f5ac971bcd0c8924398a77e33d8ea2b8b9388ea2c8f70fa0a09232c458c4d1b1df78bc1c638e311e47118f9c6faa5b518ee2ae3a77977714474e82c0cb0fb8c8451cc2286e8ef7e6b3bdafd5ff5a3b45e4c19bd696b5be4491d75a71adbed65a6badd71fc9dc32bcda8f7ae45714af17c52bfa7cc5bcedc5f65e7cefbe975f516c597df36da0657dc7a23545a51014b364286a4751f057d3022389676a8a1ba1c3575f9e74660af3e8569a588670057ec25149cc9aafcf3967ddca1daaf71e8b9da236ee4105734f4f51784a4f6d1a1cf015c659186bd1bb8c62ca3b3e99e6fc8499b0d3fd329a004af98424fbeba61ed8740c995cbc6d9e71d538bdc3603e2747eb7bf5bd2064162cb0af260d0ac5516db57e3fcc86411248feaa8dac228152bbefdd431f7541c9163df6c674c1c3737ddebbc360de9bd9da7badbe2746a235058ba851797141a9876887d00e51aeac1411ef10f104cd250b2a4c8d2f5848538047a4641911b20184091062cdb72483529027429a10a05105c46aca08f7e361280fa1550826dc15a193b84d61cdd93042e5fce96a3aa4cc98c28387c3ca061809662c1172f47be245d991e5880a330021014afa02c3c7132e5040182132a40651528e20506c49d0180284010c91186e4a6cfc9c2ef864a012830617ee25a8a75cd12858422f429af886809e043122831c7e7c70f9b1a225c893d0577a8b5448a944a022e2caa9c38520800520e178c1cb9523be2ebc8b104438a8a410c9e862e38aecc5285aa2f245ca06cf320aaf4e0fa1c08944ca2fc7162a1b8e2c303c80a0dcc8312d61d91aee8b0fc2a0e0540bfe28029ab0c20d36282b84b1728505ce256cf20921c58065d4c309be1d50921a4860406188238141fdb94082254c80783e9cf808e34170ea05252e60829071858010387ad472e00086c9064e8e9894e4a024488f1fb1972a8579ea7b9d515ab563528b6fc6f6865572486169a28409eb886f399b7491f244a907a7a62d3ef6660eb64e08e544e42ed048efbd377baa6b893daef8bc35a4b867b330ae18e39a6dceb5e25c4f4fb4af386ece6761505010900d2848a458ea8ae2deda0281c0a4aa5f0b5a458147eacf0a59217bab3f7bc30acdb03d92aaf7ce59dc9899bcd6de8070d477ca7f99b79ddd1b6badd676a6c59cf9cf098c71ac440f98d66a0014c3950010128944a2b1244a6110457130c8f103be7d8fcb8d763e312a73ed500b18e765bf3159a138eca5b131430b086f8bb6856cccfc90e04dda389b32928c3453f856c88907659b5f9ecf4d628ff2094b29425e2667034ad7c1948c8b6a6bb80d11e2aba9e4fc2dc60a48839f051d15611bce2b5a915ff68f40f7cf42a3d33b1480e8b6f9dfc7a80a49f59d9e3510c410d084389ed229156521c41181b9682adb8d24b30ffc2f1c936344406381f3b7feddd2ee0f0b2efa8155a1c556305eaeec2eca5b26e03b31f5c56f1902979754bc3d67d65e854e5b957a1830425556459a99a217ec1db102b9bc80088f05ae740a86d039d8f2f0dd6b6dd431c086b28aecc17604887d9f8929dd5de3501cb7d7e50cd36e209a9165ddd7d58c6b81ac1fbb539de54725c7ca333043d08f7b145a7cedc896aaf30045d364472695ac887889a3471e418fcfc1284bceec91c6a9aa2236edfdf26fca8a57ebf6ef907f35be97ec1a08c28dc6ac341f8571382b0c9cb51c8cb3f8ebf660bd81ed8e8341b3c4d5872dea21f2d9c340c4ff2bf1b0d4b315f77fc774002bd529dcd32fe30d5321fca36d212120b07d901d971a1283335b628fa107316048b597473b2903e9150e392f14fbb4258771332d5da597336054a27ba83240691f5abf844908592774d6e50464c700f8f08b6b2dd7767c388f9d4347f853e240163d110e4f622c16fc9ce2077852f2581013939f8d437b737ea90b508827b5aa09c622cbea502242550e06c93ca9169b692675a8db55ce75d5efaf66cfae8deb8f3e4060a7cb999998f763d573ace82833798f3d844590895da1fb7f5a99760037e52de98c15c3c03280aa55ec265258b000e5e0c5d237cd5dd72a348ce9502fdb97066c0fe64a806687864c946d376422bd6a8af66abd4466ef0f125085dfc5d4831846d715d13ed01f77bddeee960c70e364e9c016a5527b3167ad2a402e59b244fca4e5d7974c878710664770c0c10d42cd1bb150bf020247598b1f10d4a554a862b4dacd645e2967a918afb2117cb3feda211e8222be57db8be8746f3129be2707d0161097c6ef8ee40c23403f819cc28bf5374b17c17dc5b9d4206c9a21f735c13eb82638fbfe2a0f06e4fa54c4de5224f45aa8f47fcbc3d1242777d22463822f91415f40e2fa9bd3d297949bbcf425faa298cd40211048b8097fa265336d26d296ac8683cb7d287bf9f45ea88acd3b24f3c666cadd9ec6cb38316a3534fa51075926eb8fab3db0c68141936ac05bb094e9bfc786d0ca7bb929ac71555733bf96b4efe06a1c6dd28fdaf6738964719a662cf3aef24403715f3e72f1084641ad21af93331f1c96d68b469f4e54267b1b55b93749c9f81a40b1b8bb202112e89de6545fcd7e8a766e78f1554a3af4bdf8dec92acc69933d0ac72fcfa50dcd0fb76c64bd254119dfc03c0e4a40db3c0a941acddca4c8fe63ba86a1f1c77e3aa75e3523172988af76147e03a80b1c6af013833a8cc77f5a820b59f3246546ef474a8f08ba90abd2e3086c578d5d98517f4de7ba02a1054055a11b61f627890987f1f6ef25303c14f82899c245a01b2e986eb968d37f6985b629589036841317758e4047dc072c3956aeed51c15013970b52c7563c3b106744c6e278550fb8db93bac1fa6f5e41b7031d209835a1c199fdcc807bb180b24cca07ccf60a09473970d4171014f15cabedef8d1eb0989031b4be210cf735f00736ae855f9b38934e5f29afc50ffe0b6a9eda9709e0ce6bff3ca8bc710debab9a907d27e6d6f15129977fda2e4f02a7f6fc9b56337dba1dd3cb0adf698a60163d292f7a961fa188c055ab4c94358c59b37746164c4ad24769573ce6b5bd5b83b005cde3a17014267759210cf0db8b1db94dd6c0340c34e0df16debd3f3599b4d9f579bb1f91dec044877860f30fb2505d97407155f77c54fea151f3e5bd5dfe01160005bef2598e5e13e5e32940451cea04adcd9508659f8d650508b71f5406d298c022392624c72dc5cb5e9ccd585515a14c7c83228c7371b730ee262cdcf902153037f4ae9d1993f09a08b3ed7c93942b8f398c798ef9550676c4017d126cde81400f66813b355dd3366cfb2368fda9b269d7e633b07badc4fd0370695f54d8dddb91f38f6ed8ab2d68b355e1d4e9685ff3fdb4e9abf433b9878d4b3a9a24ed29f01db88fba9711b9f251a4dbd3d0ebf99834dc6cc7a147a1ab4a9de6cd2f2c63beafb30f0884d18b28c263fffda277a080eac0f6a1cecb78bc2d18f1fb40c7e35f375f68e99c9e7ad4cea346e7101a12b2a4c63ee17aff5e4610ab77aa298d15fe04780f8206b1e8cffbff34004e78348d8303a71ad1116bd05b02c250babcfc5ab12e78b0a29d8cd263f06f9580edac82c5b28880ff8764c751c0c465012f474d23806ba6ab6d3bdd0a15d52e0da128e8585054ebf2d65e9c1766121abee42b5192935499de73f8f7e98af498949e3069e4bb0990178163d1e3135fe4294eadd1b068deba10d0244dbc27ee4ec09d082b6f81298a7dbe3704acc07563c289e7543e4da341b55f72e320d6bc93335f3ba32d8f2ffa5c548c70bdda8f9f1cc10c6d11878cba3133b782821242a0d157465aa017ceba56090c5ce0408c4597c7e1ddb6a99056bd66c17318c83fffa56a967db8125801ee0473f9f134074237f74bd0aaa1b07cc872a70eb433bf15c1091afbeb258258fdf77f47c89f00de4f687f8f94f3c1b3b934d4d97e33d75eb43d0398d5c74d2a3376aa8f28d8cc39c0e3df142c451d17d3dc8dac456f42686a42cfa74c06d3aa869c4bd94a92afda453bddd1bff52de0441311c1671763079566e0acc43c93c2779192658819774d66362114c2d80967d2081f418af11dcc09445745fbfe059460bc6f50b841db5d383ee16b6a9a1a8776f39f9a0ce60438b69ad6004c48e427c31739c8a22a4812af5b5ad8c47526c606b3f18cd4cc12eea729f5055f42ff2b34b210e557026639362b1772b0187ddd0af5ba9e66ce19892dad9fde09ab8b3a6d8eb29ef124fdb0501e2bd81736544a41272c934081e768d4ec3802827fdac78996a843ff6e1a25353f4cb1f1214dc27a30bcbd5a9e0384108751fa8ffa2ca8421451eff36239265328c46b6c3e437f6359f8ab016d144b9d3b25900aff79b19dacc2627f8c481493f0dfab0113ede7b8005060309f4182ab5b435370c7a9072401a813502ab8365c1dce61ba30651e2f3a12464dae650072c4b909adae6f10273cf3cb65f5718066baed81c448707eb52e3a7ee1705cdd83e7145cee225fc70019cc9418b098d927b414f643cc229c553b901931f0d4668162316e780880edf63abd972b7de91bb0398ce5d6eb7c7d136422bfead7fba4fb1641d6492802bbf8971cb35f9b49e0c8c8b8a6213419ac011b82e7be123809644ca5727489a861a3d98eb9d2fb7258af3440545772a55c2a6e9a5227af74ff28d98c09602925fd32b97bdef9e3655c39f7b3bf73c6551f250cbd6d5ee97cc14e78c51f5b0735e4bc048f5b633de3ffd8bfbabd9ee6bb2037ff40a347095fef01381dc7980e43c754df7d2afe279586291114f20ebfad9538fba072fb12d42359a4dfd0a71328b427cdee0adf2cc57a69f7a91777ad3a4bcff2ce9a34b1cff0eb51075c2a7ed377ef78f0ffd1e02e13b0b0bff1a53bf510dbbd1998bb55069fa20bdb4b21c8c0f10b395c11e3b78e6922396d78c2ea3a8c976ccfad47d09d66ec7e8f4aeee64e7ba8658749a46fcfe2a66e0b18de24db2d5a3228f527c5e73619924985c7e3f4592ae1e61b3a2f107c4492629130b304d8fca4f9736c88ff5e726bd56e446ef43081137662e9784a321c66f05a7a415eb10c4221e33a578a74bc1e791227083a320414ad4f657d00e10a5580947b43044f881c30e81bfcf73a91e01d7c25280e629e37bfdc164fc3f593bdbc75df98fe593d07bfecb42b5cd3ad5152e641402dcdb68d90b044a409f69121d311bfac832c7fa3658a163ab797b9fe002bd65c8223d6b4f68ff09b71731f61663890e54606d62e193e4c9774131a7622750af4ab159a3de65defb63d7758174828bf627deb8f9723148c9662e79a7c07c2f772c435e3156612f4920ca36c716dc6e94b924647879d88bc61e6dadd92b31bae5a3460ad24dafb7d1187a5eb8f3a1161844c3f6bd535df49332cb19058a362225f8eb185a16c85d444d1910b1f74f880a84612f8244f133cbf360d65ff82d419240f611eb9e2da720aa40f68fb230b9a5461e11aa3409c94404b52f87d2eb13c96c533e6e21cfa4cac88a446b73e50fb360abe7061b1d03f067a46f337651527288ecdb79d7fb37a30056479d4abd0f62e01165d2314d2fd025e35feb5826e1f649cb86bf2ff42885a11345543da533132b72692e2502e717a441011515c5c48797ce9660b53529d0bc26651212c63eb68c27637b49dfc9269afa300bbfc8ccf8874986cbec51940424bfbf79815d3ce5066d9f3b03b9e7806744aa4476e3ca665158589bac537ad2a0ad5506faed617f6934a374ee118c8ca841f9a29ae44bea8b16c4d9f6c496dee0bdfa317fda167850d008841d5e954a29324a7960af849fd02aa35fea67a94aae5f5b7cd2433cba5271c80dc55e30bb4c929805d309e37371c84b80384d278003c0bafb9c3b20c3fc4755b4c2e38b3cee9a4f3c903fda526154ca85577cf22da3f48697693e3138066c3cea0c58749fdde45651d8eb324e71dc810275c129b0e6978fe850516d981df0d80064b8510d3ef16a8b78110ca8eed97a497c4359fee3a4197453a02eb1cb4b74351eba15ef5728e53f45780bb43995e1ac3a4b3b10cf8518ca08860f5eb45d8d7666cf20cd264e163af31a3095f63de63659cacf58127849ca0f522b96a7849df771039e8c1138e962f664a4be1d574c6ef5a656771c1483e289a3841e237bece046428d295f7648443e58f16861aeaccd7cd95cfe9005a48d4addd2a13ee13f827736392907200e4a61179259cfcca063a3b6f7d7cfc05a215abcfa04960a43ce7208cf82b085becd468baa2c88dec118f127776d42f056d6282b3f553565be3fd53cb07a2b0249ac99e47fc9e36339fd3451f88ca0003b164afde2bd9f6c81e1a3c17a77001c243a4d1388dcbd238c81f88319a9e06362c91bbb7a9205f4d401262376a5d5c948aa24728e690ab6c3792b3dda3bd65252e6615fefb623859a777fe137b7c2594db118ab22b25a6dd42800e6cdce9c8210f4c51e8c33b3201b7b922068e37b21e84ee7a2912c462764540d9ae1060640d0b3417233c294b2994620d4c4125ab9bbe07bebd6725ccb8f3a9fd7fd93ab93782ba100c2ff93b11ae270ddefc37f07cf5c17513f004fceb5f34029f90835177cb47c5377633565469d4669e07d210f1fc7c57dbdcc70131d92b568408b6bf1430184017afab845b0f8d14d1dbff48b581f40b20a390252a76fcd4f541e7643eac339938e27a9f98283a1d5e6c7d78c47a6bc1bba3d2f0583ed5560fde3a0d26d8833011ddde68bf08798ed40262ee8792cc7c2ac8f0ab0b41517a4d52a1615c4bdfd305a1532b132e58f858c7d4d1d88153e4aa098f51aee6df9bb6b35cc1d15879c410d81f0d72d3e5575b4168a0e63e99b6f1998aa7adf6f6a13c810b3f8ee392af6acda129330a11177103b47e40b3f062262146d3b856351054b96a32bbfc1ed0ee6146f84230306991e0fe9890a591edd18e91b92ca77c87faebf9163ce08b891d708c09c4b3d64a3536a975555ca2f477065670ee3b902968968866f56018a6ba1e09f4f54f72be668c4cc1a2e4f6f21c043b4ef24073c391ad41d4b758a012c829822f676d01dbe75f4bb08bbc80c50c1c92b5f11db86f36007c68a9c654240630beab7a78cda1e5a71c83a62da9b6151f76a9c2260c2d35feb30d133833c18c99a95239cfdc440f217d7833effc9991338f2cc7c48f091387d3ea5aa9080e642425e567d01bcb583c169e00746a78f5f3382acb82eac8201a9ad21ee81c2ce8ce73a72fb76dac5dabfce1cecff90a47b95bc43ecece6900a88e162fd5a3dd9c5d684272d3c34576588c68c6b78ea29b65b7865e33ba3738ba3aff464ba3249ef89ee29c7d0d140c15ac3b44ed8ebf3707e4a3f51a0a56ca07a9a87cc07c153db3c76632baaa25292386a1f81531802ee13a05c80d284a984f1e29d4bc79d4a964e862be69bf55bf8331fdb7da3ee7d54a2d02a8674ee2d10398899a790330be1c816f96eae44f321f7b4cd191dabc6bab77ab27f522fe0445530e26487de6e7221674260234861cfda52de3fa0bb2e727d01ee14198a169d204ca011dc25cd86034e17c1bc87d017b74e0f3222c3b1d672a1c2ffa0e35d5c12580c61e2c0c18d54a1cec3b29f3bef13611e0e256c0ff7b8925620cd9273bc5746c6f1301fa38b4b727339f1e2cffcd06d10c88e7a4343d8da16cee361ad07e6ef713d64fdc76e95140c827a675ac6c991dd8fc261aae3ac91f40d8150a90ab38d54d74462adbf658eeac1e84724ebbcacf19ae0d0299bb4b0dde85c2b96c81b5f66c3b70a311790f11cb1358115610ac42b0fb3be212b5d504c209377596220545fead7ec2ddff674d57bb11e2e34d4b2bce8d6d94c7cfc2dbc761887676f1f6c278d262b84a5b3a5b415f39f1e6e0622e0c8ab8f1795f272c7abb0450ec0871b6cef907ae5ef74cd48d3e931afb921c330bfd10f40a7b6b9db2d68aa8d26447c0202332a9c2e615bfc4d7e1c28f3e65cd29488cf27b09569663cea3c2e8477eb926fc88e36e68db3940635ec9c89452c026fa6345c2339f88519aee1e586e11fe5c913bfee9bca78a748aebbdcfe4f36807166c300c6d0288c313165e7d22361ee05c74a9e36eecbe8ca7a4e38c0111939662e76a77cd1a78302b7c6738dd4daf96338ce9ba84f95b407f58ca87751031194a7d40bcd81438eea4305398730b61bb797f194b28a7496f1895c77084e728c321ba8000e5f4d721349fc881a32692e8008de708e7dde756f6543ecd0d43296c4cd99e7b9cc40da5519daad8fe3f919f501d98ef522ebd890922ae1610109d0512ea1fc0b7cba7bbdfae2fa77da1a5eab299c27fac3aaba51c0e4bbaa3a4d57e474844c7026a8379f117a5f0b9628240da14dd88c5f5965288a94d66f0ccb37687eea595efac8ed36bc30fa01b465544cac3f5ba24fef22bda2d4786eb38e6bce026c5174da30d29d5830913b5779abd7498e9e18e4334e09afed89209170d63f0f0bd4df9f12b9669e2e807573a1f956337a09250366c106b8c51480629c4aaf9a20a2c0e76af88b1a59672b047c9a256db3a2ecb4186137a26237b9c6a29e1b5a1f09a9ba9569f47e3409d83aa272aa98291ecd117c46834b73a3ecb861c60ca4e45da81051895117fc37fcc814cc3ac3f0cb1dd04bc953f35f6a90177289f88e94b02d51b29c95e414ff9f3d710106fbf3213137f04bdabd46686e15d51857bd447e59146482d08ea3bd2996ad17eaa257f4296d43cf79f10b3b766fed94fe54e30ee68f07e2040f0493f2afb97a61e718d561ce9506abe503f4b08fdc01b806232638cd9b316917d60e120836f9bc3aade794dcff4abded4cb446ef6628c8e8bfc9b5e052e2eff6aee65a6e64bd55d55fdb9a939e6fbddf7992d39f06fcc38865431928a9deac906a08087d59ddcb3bacbb8eefbe8de7ac1ea0945fc5275874aa178bd400f823d5577b3add8cf9cf888f1562444ba30f4ef67f6c27af06b291f7b4ddd653458914b879dba64426a275d8e2c4bcb422549e9bbf3d503d1ffc62638d41fa93c32d426537730ad2a74291abe8cc9e7ac89c0efa5c44db1ebc53f0bebc366f8ef78245530880c4c9607890ebf6b00ab6cae287fe55add7e57661121787866a405b306eae4e0c2a18fbf4739a86cad07820696a3c996c5d2306aa90e55dba6417c001cef69929ee64bcc445c7117365ee2b245a9b74877caaa2cfa2d932bd98312e21d23133a37b968b84bf24881240b4e9f2ee83f3fddebf2aea6e7d747b8dcf2fafeeca2d6e9f15e7348029a3a74285a8717325d5c62adce64fb2e8891c59bc7d6435a8b6dac82340ebacc32ca768fbfe6dac1ff926531c8387b379e0bcb5c9b632d034710128104369ca30cfb69de95b45dc4bad2f587621ee0baa35c1d05fc3e231ae3dc0a899292094095705e42a50ee27396bbc697c6f0c258780627e243e2269626e0ae7941ff6d8ba8cee7e0a4f96063b3987d15705290897443a2e2db39ad06474e10afb0c457d31d40c01b30610069dcf64e7b94aab82420c0152abf6b129278fcd0c59220cfbd8a5879307b600177124745a04a7cebdb666f7df3db2a858a596989ab1f75e668f607e1a380125eca462b40e10257d06a8f7656806a5def9056b008c8fc8a3a12cd7774f6c2b9a42371010abdab3d9b6c4e47b9301600ac4ec93c3dd7edbf9af5941bce281821968095cdabf128d73f3b325653bd5a9f0ca74341c682cc4d6e20e48e19f39c61c0a07c965a680c60d36842e43d358a24fcfede5f2ff7a85ece23047709cb34a959112ff1a8f4378085babd942db2527c7ceb15f91c7c274246439292b04bea9ba92bb6e3144585707b1e3bc8d1186de1bac406231b8fef30bbe91346348a4001fb206570fbe8437f35598f30c6d420f116d97ab4919189775c26445c171d7035cf6818c76ca52d2f9006315e2c728894a4f577a10ce39e40582d365654996745c5fbff5ab629284ba653e2af909a850cb23ee62c84b416b6e419e6d5a525d5e45ab0c2d37bdbcaab74c22310784272befdf92e0d44fba9752b9492b228f611739aaaf55e19589482b2a71d1f512958c1ad014e8c841b3da26e4ae12d6075347195c6c490cdac336516aeddaa0a22c40fac6aa6f8040e3ec51c96210aa7a7c082296c38881713aaff230817f5b2798bba50dc442372d6cd84d4fcd8e051fd9a443b4a55bb608ca5416f0369d5791c8bbed35d0f2ac6c39021cfed4d8323ef066e4fb1b4016e2e167edac0ae785d379298d3d804621f2fbf842af9b5163b7db4cd16c04f6917b6da50a022673b9f734feb1acc48ca516bb7cc4aa6bcbbeeef0380195ebdc4dd2c3d3ef719d5fb123ca8790ea4be57fe7aa0290800d626aa4ae218c4f50b107d6d7535df29e98134f216ebb1c967f70ab45a366020b85ca30e8f453be576790620b39b6f4cea19407c8e5168124126ab22dd90671435f078cf8744efccef250cf9751dc1b40015b2a0b887f1ea5632af9332242ec8c1b674b4e845df6ec407061759d841811719b58b51f0b91b92bb83851ef05cabe16f4ca6528862236c47d63fdfbe5ec8834faf99850135b0b37a3f2de2974818b6b4471ffc89da1b50a9ef8f61b7a86996fdea1c3320320cefde56f8b7f93084c6afea1c7f276c9bccdf36694d7ca52f0172037d65823cdd5e125b75e2c0832387d164b0a76a41464bfcec3b5d08b6d4cfee6fe20d6915d096d4c666ffa1e55d68597f0318e74ec09a4af836969523e91904ec60431528925280316ce8a068e9dbd3cba8f0ba6393862b1ab537d10bd1b0cbbc6b639d49f27f0296da3534e2bf5ccf001e673033b336de375826f961bcf7f7e668c666537e6d71eca7078567b8cb90b05bbd17c31df2ff99bdfc2b88cf54268eef9c260d5a53d21cc865130cab2af1c06cfd66bc582c1235619689973b86d155c3e8aaf70fe85d4d62895f7061cec748fcdbbc7042851569e82db3982b597e3f836d504bbc2b45763eb5f99c06d78de0561013dcacd8a9bd2fd8c5471dcace8e20d51bc8063ee5ce31b1115d9cdfa74c9b12198ee27d6fb7a2582593425c5ac2238cc4beb8049db86333f0af9d3bf2d5ef3f4bf4cc436f9eebfb01d585e8714b728bf5c9d0ac6c8e21dbf77f471e55a672572d57336ad0a8059502bb88aa910ea8dd26a8eedc5bf9b1e50756c2ad8f95229e4ad180f2bab27357601467bd397a6ebf6e23452cb584448bc708aa103955919a94e69ff4dcda3b39d97ddd8e9ac156240fc63df5313b792c48583918be2048709875e32ad23629930e16c2f43ce49020882d64a99cdefb3ce561785e0aed16b51ac7798110b0bf927b954f0f979a3e006e0a6070a9a85cbc8b7f8e389bf1ecd75e9e2e9bb1fa5f1e2b0735dc19d662eaed71f529533308c7b6ad52240b0a2b5cf3c987d986833653d7d2ce2dbdf4bee1ec28051850b229b78cf68e59dd7ba3fce20e5594f6349779e091c55c945f58881ae66ca15d928cf5e86e1f97fe39653272e1224b40870c16c9a86803dc0e01fa90041b4ce094281d38e5097f201ef1704b137429533677902ff64a4e875c4d0b40441fdd18e717b9390d53d6213dc739aa37c352c11168779631aa2b7bc96d3704be2dbf2572cb24d396494a9964923bb8018b0183014e63f4b80f5d62cd26c9bd0a24c5b54cfaa84c8856624581152e52c8f039ab35e364f24926d91aa43dc696364a534b2a49f7aa272260a0fb6e4b5b4d129c01d998568bbc6d5f64ce72f6d97677ec979d8ef7243dba774f3efdf4dcdd5dbabfecfe497aacb863f39b20bf97da40ac0061f60b17100d90640244102e24e8f1389fccee3ab263f71cddb6dbc9f58cf9c3113c405c319c20888b0621698356b3c27fc5f29385c07b68a5652e0716a4225028918cf0991154585144055d60411a000e2124d68d183a2d480d47073858c60948a57730b7500e09ad2960b86715cdb7167aa69941e7adf71ebef5de7e1a063952c81102f1dad1eaaebb7149381b57e39260c0d5b89bd604fc966cdb3307edf42a17c8dd53af9234a3e531321a3d066b1831768201a34116a1f76ed8d18c608b919936d4eca60525b270b76015b55a93c7c3d6837a4644335a2f3031329ab2c212623c6a6e62a0ec8c8866d45e6062645cca0a4be8f1a8b98181c233229a117c818991995a52565842cda3e6a60525ce8868461ee70b8c27c6011364a6944f3283d0649aa8e9d06c3499a64313ddf4c880001ff4794e8fe79789ae155a6fae96a5acc5ca8866de7c1c32b3f7c919e764d3c60eec75f97ea78a3371e0b74503bef8adb5b6fcd14c42a0b58f8fd6da2bb5dba8e64d364ab6d65ae3b7a25bed5b6b9f9d44887153d3fcada2078d0a88ca00d44f49154b9a24695a8dcbdd899c2f4dbb5356f3574a69e19270ade58193e96ffcb57a69842ca54cc0003771f953ca9e28384a78617901b136e96cb1cf787a93a9c997723f52c5d37c38a15c60926d1dce49493ee7a70279d28973420832e7db36170804edb9367b319d3c4eed6473f7e83e65f5e60033cc26d99fbefd1fa70a26629321a29c257138a28f69ceff68060222323fe5a99090909e6f22258c493d59a590d155490df3519102d969eef4bb927a3fe55475a6ce2ec8a7db3f382bc48dac5bd2fe9016d252b7bbff6ca9793b35a9961489b76ca6143529ea67bb9cfd54bbf4d8eef331342f4047b8d0a13ab4455d462a31103b2cba59ef9b96df3243c80c79d9a2c162a425d296d48b2b4af9b32d1963e4d7a87192caf213f54dcbdc27ae1c4747bd3a059d9452aa4e9454af3a7a6c175a0ba6b91b0b84a26487b9ede587a9042bf397a8015a39403b40138684843ca90787f3a6fb78ef3df61d58898cacc8dc4eb5203b9762b2a34f3a5f7fe9f03db80cbe665dc616011d99e5383b9ee5572dc93e8b0c90b0d8d1093df1428a44ed4eec39f7eca6699a2ac75c731042c79573ed3516c356d431f647f8cf77adb5aa259794b384a2288abdfb2b7be99494decd5b56cded8d67a31a55b5f6dc3c51ad35caa9564d91a77ed7dac731531dea39cee6ace9dbb353052549e26fd93d4dd2c4e1d6e083f03573776b8ab9b5eed6f85bf3f4203fd7be2d2523464d0c760bdebf271da0bc4652b7677e2a37621ecf9cbad64a71c25c225184effc216b8a67aa7bfc3817aa027b3ea79b33e3c7eed93fe79ced73b688e001a8ea822d9676b258428a9871dd7098ae21a32dc6c892bbfb0453d99451c0378cd9eaeeedead2df99e3545113f5814ce3c1c876af53fc9316354eead49579a5ea2ef3aaf15c5b512234a42eea32800c1ad290b6684bfbc62a364d854d5b5bdec6bf787f2df37acbccef2dbff5eb56abb612c066de60ff6df5e3964b02cb5119001f132b76ceb1194a02e38dc65b3596a6a8ac19f7cc734aee0296b25c505e5260566adc6bcc3218e6ea8a866086e8c12abce00bcc8c45c3e606e585bab41522b159f141c99744f6568e213c680009945591041228d55a3aa385033d7526a8ba54f89759023dc6d4295b150de13d7e6d6db57125c50942d8945d4ce00c5f20348c6aa8d172416f2c4753383693a2dca028b921c6c68c46b5d9196d0d225adea976ce981c0e051f9cf5c1d1d9a68cd1a31b82c74b6b70e1d86143a363b4d68b167fc1df2736eb116012e74abf305ab1a5afeb43230714bf6ffa314a9424c50ae4255225b09b247633c82074d031e8e482c80e739031c798739031730cfeb2c5205bf78eab327c5586cfd225641f21e467cc4b3977e6edaf3df6d8b7391963901532c81864f02133062163d3e4b83dd75647d8518a652952ab333629c161529d67373e9e734207c9eb4dcdc66dee1961df7017b4104a007a8fb1c7590e87f3596732cbdc5620ba222252a140f1d11144403ddc3003aac1038b8b0cc61dcaca4437980d6683eac8d491919fd37dc43d448ebc932123d339dc5d0f0949819f3932f239e1913c2b8c71a8c4ed9daa0bd39500180e088341e1701424410aa3a083f801f4228b079bcba5d3a1248a63184471c620a000500480140180010109100036bff8a3c85ffdf4914ad82bd82d9b4dd44b469f1af701d9969b26c2a38baab72f59c99e71fb175fe57d792295ad10ffac1d0be8bda15dd800d8af290ca5bfb79a6a339e949e5ab1a1e1628f6bbdd57fa682b0f1ead4ea942d9f2bce31304fb1bc8927d49f799278925a78535c750b832c49841d7ce34e207ee72016a356e8a60d958f9023c5abf23125648ff04a331bea61e8e301dc89ea48aea77db862a34191cc7a63c988e85b8980449d1fcadc58b63ae7ef9aa2b53be388516f9b691f28ede7b1e2fa1d49267d816b1900e5e40927a45fc93204bde5c642c3affc347b925594ba223716a24830ef71e88da35344e1e7714688c17615f92cfb915d68f41495533c73833e55ab711e14250e6471e408e709922eea111759ef5122c1fa644b8803de887f7d4f402f654f47f7972093605839072f5bbaf14d2a6d771369a21f9828d7415702b96d8e357a7b27f05c9b9184be0c8064d9f302a0ed5d44f2aa61c6f23f0b7f8186d44b23e30ef4063ee39de19d6005bac580b198dd46bdfcd5c72384dce0c3591d993eed49ad816948afb9ecde7484a680a5876bfbc45d48ad6e12f892440af915b13be86579136f2b1333440cfcbdaac81d73b7c6d90b955865fb26ae79243f5070a80b88c133612569b8961348a96317068f1983e24e9a3adb746ea04201089c384f3b5d7b58a4c8f40335b144091aafb9e4213ecde92a983cea8097dffbc34857b8ab0c06fc56ba31e293f697e8c0e583aa1d6416d2154d8dd5589ff13e4ebd7aa5dbc1e80dc2ff733d0729bab68f116410e4019e57022a20893cc391c002ce151dd835d66f6d52735b4689e5e3f3a62d973f20dbd6514b37da5797cb873f8964285cc9caa017377b55fb0b7a450d07c7918b21477b64433eaaf47d0204dbe520f6faa41abcbf30898b57110d9407a1d66b990b30becb29aea1d4b453e968a5b5d310172d52f2260a277dafc44519bec4e22d2d130d9949960adb3790582a73a7de6c92c6431d410cc1813d3dc654c0e57cabab0f4022ecb7ab6b31c50109a4eaddd49b4efc2547c0fd9ca14885b192b18cb6b0403e822f06e8032e18d3d35b175807208877d285a4b05382326c7be4d44df93b3de0ae6555fa72d8031ce326fb5d391acba60bf5e605b0dc1a601002047e1e829f7e7f1df2d31c0a2bd60b0d3dfe6410c718559f4664345f4fd8f04e0620477e9ab8c5e6b0f1d88359102af9e1a8197b36aad5da45053c10d253aaa0db26f3a14a5c8cf28a2e9303f0e99e4e558c0bc04d33b6bf0d8a4434cd684c75b10c47f6186abf1754f359d6476b5c7eb7a9acda9de58a5fa756b0a411f96614c697b1f5baada13fa82de3f21f11cb5067cfc468668d82cdbfffd5d06dfadd7a5b1ec4fe517ee7f26eca0550c75a2340e3c7939051b1897a4fd50e329a56a7fd6c41764f85bcffdae4b837c075a12ee463abf8d50685d7f30a9ed53b11853abbee524d919616ac9fa5c7540d79bffc61b84367b5d9d42290ffbb3902c845b176fe3206b0056784dceee00aa63b60a53090f79bf322a3d6aa17233681c7c2191e69ae8e84a437d043d38b4c22765d9b3eadf67bd075331cf981afff28beebd8584c205c30512987729290020377ee01d9b7356656bab3df1441c49b776c33e728757932a184947616b636b17434e115a58a98250ab46953bee7527d9583c37f516cad05ff122dec6e9d26d87d7df5db71a0425724471e63098d17df6658511b48e1c3a0c43ee4ad929bb29884df3de799bd022ea7def646e441254b9f102515eb49e946d16c4d76bdd7a7adbb4353f8c78f42277ce735c9354afcdcefac27e18d984002fb9506d06730b11ca4e80fae5031f2b90ab0173b441fe4734d5e04f0a7943ed2f070ceaed3db607386c7ac3743c36323bc4aab1bbb661c965036dc5d29c5b175497edf71d77d5b5f3f311e67bd5970c86d9d9615ce8bce146f2df72e2f72c5121eb9af355674d1924a775976d6636447fd80760909b0245d12218ca0bdc70f5b2a98863d2187cd1463877605fd23700b34388985e0e3eca7fb7adde7cc5a59b73f5053fdc11be26b66b82177a5af09b90c0389c3ea6c72e75f4b4af248ceea4d06ad81a6c4c7d0407f432f422c7a6297b8ae977aad532c026d35324786ce5f4a5db41f8d767d675ddb899dd1c74872de7422f71accb4e765309aa02454a2b06e0a24af11a45d08ad3e9844fd25ac14c8b4d348103831294a9d1e4473c1bdd09ba5fc5d61f1a2565cfa466a8baed5eba978f3285ed023d50127c4a1afe2c677d897d1afb0ee2c398191f43723b32b49ae3238332ac03c3212c96810413927ed0d74aae34bd5e81feb7b7e62935b1265ab8428d30d7b31dcb0b562422e058b7a5126e71794d27f69e58dfd7416ea091a87333407852c4e88cdc5a75445f482004dbeb4e3da870c6cb96a3ad76d0b579f4c44ffbf9b1fc292689c74f218b04ca8e8dda710cab412baaceafe4210bc2b39238956a917acc7113d9829830cdca9dd68ac82ba458a428c0a7b0394e2f671addb9fed454c14164c4f7c41160f4e7114bc422496683a057a1c18dc25c4e4ad1e9a5007b91cc6621074491b74dace4ae9daeaac4d2d54cf4a5aefbc31ee9bf5893ac70029227826e632d4b44003e422848797a08a31eca1d067186d3518d0b6f3e2f4f0caa636ca9a5224b2a59b0972ae3c22073c427d9b1739874d70fa629066db36a748211cdf27a05854f79e723e06c61d057f7024477283003942f59896d64e532cbe8bd7005d6e9cd03493f7640ced43c2910b3a40d3e95c8a5166454f3b4f2b369a8ef349f0b76719b087a55a82cbce9620744d1bcb595d7d80a4833a54d5b30e9dc6aabd3077a4d542b0f0411e933d754d90681f86024656dc0c126d57c58e12566535a86f15ca9c98305aa42a2a38687735080cecb9139e7c0279d89acdf574b51408d1cad2d6506e548d869be81bf6ce67f409d9352e91d701510aa801e726faefe22cc098c8eb1c1093bb10b0bd7fce99058edb5b5169bb28259203fe5f5098d22e8af1ff6ba9c67f7765707e21f81d51e157bea59139eaad0fd649d9f10e6f61930596b0c99d80fac2f4c746ca52f96b3268211acada2b939c48ffa5f4aa7c3c34495097247db0146c05a4dc63398c5614ac0271ceec8d85f95776d61b373158cbff01a9202ac52a00a48dcb34d7770dbb7400725342af7983bfeca8686afb48e5e90c8745e9349454509ee95090afa8ecf0fac9043e4b16312a4869e90d970ba7ca9f04c211252086506b7bb208a01a8aa2b87dc13454c226f1b2337bef40a482e20b2bab70eb2c95c6805cba431ea36b9987202caa19a28833a9a05b38fb06d794b061ded0435f27a373f6f39167d368bbc2e077294a7f82c0be91841c4eaffe25b7c265ff9fffac8264703804330b64268ec2915e9ed81a08707b8b3f150d012a3196562d16add9dff568512cbc313c70989122383d5d7c9f3d7c368471229669d161612180fbcc280ef54909c02a560b8c8dbf8aeabf5710f4f689601d63d0339b96eb80ccedc5c461e4450efb4ac1f8d243b966046d325e4bb81d2a509088609cee6717ae09451e7af7818c222398f74dd86fb9ca8ba53078503a4227d131f5901751097e47bfa5927f33fd92f0cf746e67aef0f1b1951ddd755ca590d84fdb8bb95c29b6832526e788132c7cb1a14ead29d629318749f52a6dc8efd8ffd23c03857c9559a153f26888ae6cef86b097b859e0ba9a7abaa6c307b4ece01c540e84162b62538cf71e27cd8e74c82a730874db8e0c736ede852a2f54372623810dc486db1462f0607b4e29851936e1a20bd8af0d7103e49827b4894a0a69c766341820c6cf8bec91e1a7eab1b2ecb728d9b3e956ae82ad66cea5784828c394b6ec4aa051476c4fd4b62f9860d2f3b0138c262812ea2a183af6fd19e37456bb16d000c9218beb6c879314d6de844d8203a7bd096b337566dfa2a1bf1074fa40d65ea4316f34813279854d6211614cc22413cc162d537d77d39c798bae59b2b0c9d0d1ae3255f0f8085a95c84bc7e1a1e1d249e67c137b5e4733c09f91ca04406f1152f64b55bff240996c71411c84bed0d141d4df6a79df8b05328d00db64ef40422c6bab7941b755bab293d8ad4e7043203c2711b1b7bb3e39039fcd03d3af07e9a3242de421dae7d1ccd58c266acce990fba49e96cea4d80e18b7ff5b366a94973210054b795909e1272cf7145a88bd8f41fb816a931caeb934705bc4969df9ca47c9d25011bc248c0a5a5cd724b4bfc64161d7b62003d4e9e7566298c1a3dd40f1154c088ed409845cea69895b3d593cff02987650d4fd7a7f722692d31b68cc8cb47a435e09cf226e9dad77a98639a5812568ad7411807de1f4d480c5e5d4727555fe2ca7c239c073e19fd16b6708d89ea5d303b7e13ad096a8c968d322d91a6d8344eb10d933dc7fb9bb7c5d5e3c705b318c161e9760aae1c28ea70cb79119e070687312bdd35e6a8af8659522d82ad931d882ab11f666abc433c31c6670a4a6c8b0df080368a926ca70399b797514162d01644ab9785306a24c738d5c90df21eaf9c13ba96d15643d53b4b066beaaf267ffa5ea36b2e35c7a36c478c4572129d961b8e2276b94d4822ea388096260eef3cbfd7bc390a1c59d3601ff604980f2ce8b41ba0050d083edf479b716383f0185082f7b86ed16b1192c333c3e5ed546097d1e125ac1eef476123eeea4e6d72710fd245c7f36eb5b2831f0fba0782bf70b0c5464e6c90b0206d45aa9d53059762590889801d22387a52265f0aba1b9d8d859ba689fe96ac863e338a1b0cf6d02ff146c3760e07fdbec486a768adcad1e25887fd652bba6f3eba6dca893efd0426402f13218448623786722aadfec0d6c2573b0b6a046eace9f12c9eb00c4c0c85a80c1dc5677d54e1d530a307c7139e3fc88faf2096625017f6aba02d9fe01ad549861fc54bf8604ef893c9052627b8a607bae43fd7b7ef38636e344ed263179ab029da828e2e965c88c30b4149ba61a4040eac38420621439769eb1a9826d784d1394b792a0f5747ae56db5c9de9833cede8b969d44d75905beee1919f761bd8dcb6f311a37754da3efa5d3039076e9a8186ed7223c8bf1219495ce39d16543814bda27b0d600157e0f8c74b5789f41fde2d181df0434c7a272fa408581962d2c4ac53fd058e5e6e8b6bbf5f053ae7749b84850d4b83583c0fe621143f5030f25f7bc786ff0b73702ff7d5088f36969ba55774f654b218efca2ac9a62f860fc3b2d9317d790274f9a5fd6992f1f80c6dcd8928fbd2073e51c50bc3a955f9a556821d49d51837b4305034093019bd8812ea4940ab20ed20b14b38b3ebac48a4400845160de35079facbeea839181dcf6a6c810c25ceeebc2a6a6089bbf717974b1ad96827261a1592185e5997660c8dcc70afe745a64278db6042051151a9af0c21a0ad1a0f51cadf030ae32fa7ed66b1f0ba735d774c6c97559ff161e8bda05d803e863806148b3770a2a735b7211e52bd5339d4348633985240c49ff8bdde332a7a29abe552557c0d3658f1a781794f0a30c55a5c099a9dd65c27dc376eee23110ccb467ed85606044ae161a538822bc84ceb7f40a5ba16424c7654b97c1fbc9ddb02cacb7c6e35be5ed480be81430408d00f31eee4b69a3e51a12726ff6259c8dbe307db8d1358541260e6e241b30d1a583ab64911cbe628af67f40f13e9e7f421abddee23ae8e8a84d9fc35db4b4e8ebe2a4e0471c9bc4b5f2311350f6b84e27f95d76ed14cc979dc10cfe13891d22796d64447c9e114dba0ccbffbb81f8f0c91b66f01c5ccda4389e4becd81c32dd7d5d01d79d05f8bd1723924a4830c634cbb7539642b8998d5a3eced7778be29d2f303a39c338b3aebc2ad866bdcc2efc40c34c1dbad169e2a90a76c06afbad31de15848bd7b0bf888136e641b5f6c6a39dfef138c9bf79a90fb996cee858e71b035ff227c3b0807258b6d2337f4023b91c83402c7bd4a6b5ca8f2d982cb53cee14385ab40cff1395c0681a8db9316727ac2b6e5dcbf29d1d81373436012b685910cca28a68f6211d92637352878d589c3e7671f9b63ae7758e405518ac12468b9edb65f1a12b27dcc94ceb12283752e3ff92a7a5eb99618117b13f043ed2eae375690460d094172d85c1484eb84c68a9a5c7b920dfd8310eb48442b3b7b736a43a3701c257f216c11980f78ba85b4fbb81b29a93da49abda0e40e80b660b2150ab2065ee9a8a8068de7a36c9c394c34adb9ab0b47dafbfd560bda951470f3888ea48b79e07e2ef9d34d0a65ed1f9a47ce8ae7f8b40e976f71491a7724972e4fa93d793991e716468d0634ee505516a6cfcffc769232016205ff978fa9f73b314f1af492aceec628c4b6fccfad8c5b0942c7934fbbc55c4141be0ba456ede73485562a421654b2d49203155392a1fef8d7fc9a3b20e634065b32ab8be9ea58b94ce3243b1ebb19c67afedb01812da332502cece3a258262ad35029857e789f68fab9562980acdc1150c2d9d27d2aa27fd5d9f6cd8a532a130fb7e3d6d559446d46c9f20eedeadb03da35d3dd2285afde106ed7031e879501ae8fb55d7d988f559a96d23fe0cce84db2f32c7dd1a78704d0ba1abe4e5bad18ff0925e8157b01fc87f208c88acbee77b9717dd9296c24ccaac1f93d9e54847acb2f8432ce04240735dfe94445edbf99af778156c4ff98960cdfe410cc23a7631c6639199889f1b19298fde94f6e927fb46f2eaf1ce6980af85ee10b81f694099bfaffa2d3866529aa64bf96ccc24123ed4248a7af014ed68c498896be6936bccc46dc058050e282729de19e08009e0f44ee6992d0c453270cfac1026f16326399b6fa866851e01258946840ba09095831a58f0271ca1d2452b767fe32e583de53ab352890b2e9be252c0021b86ce66ef370a13ac0242806a1b3c3432d2955dc74f3834b27be78f440289ce17c7ae62115d37baed6ac160f9023ec5a00043bc49fe3425daf52661c886d742b007da2d0a58b729657ccb540aa485d1ea459150e68d832123125ea276d658f99f60dbe094a11580f82c8f3df15bef56dd6a96018de2f60c1b3d07d978fc7e2989e75a1391bd4eec6df60ea11dd013d12f9ad04f8f866ecf8e06b3075f2602b395b3c6b2a1464beecc41fcf105e1095499926000ebe3c8a4e0bd8549b698766f3cb614d4f848d17b5127334393e20ab064447c78c85a64c682802c4ca1bfb645e07b099f53951259abd1c8a7b5d3f127b24ad9946667589190d3a5888b83f9f74e03ac1828838f1ea35a279cef13ccec9ffca9671a502975a9237d86d7fc998f2860d53b2596dd44b35d210409af377cc92b875c4220c921eaf8d60b19b731cce7014b8049a16cf6a8a9b08f40a071d62ddaf2dfe021d6498c94295850dc56f91fd4f96813bc11785b1ce38809aa5a32df76f44eb1530a3e2604963da5d71080f0a70bd9d73e0a85d78e0b0e88be99316fb61f023e01982c6ba0557009a3040b5a90454b971a2e6b366f9815445c69de2adaf73982421a3cb2cb65515cd8b1a113342ee9e9b00c6b6196c72c3faf494b258210313163b82cf6516a29525a0543267c52cbe414e99eef98d1b592edbd369e8378f387436c90d26d9d7efcab461e73465619e624c4b2581a2e04e70629262c0dafb7c1b7d5667c2476b496f53acb637f8c618ec5b072781e49fc1bd30f139abc84e82068c4ce809e9352087d1ba04a6c6e5e47d0594d6b6081cff77286db7fca640f0c50292dc5ca4790b7db60d1c2c9c9ab0e0d129c1d6fc855c4277e2cea77cb32951938a3a9c1ddc6a5325227e28f489d960bee80aac54cb9bd3a9d4234074266b7393845b05913b1efb283713da74c35852c75367ab1851e3206f3b55e0299f11ebcde14a07fce8323100afaf819c33cb216a59e4b866bb489eea45fa4879b6df9802d3f2627170622c3115790fb8d65778089b4625505b58ed80cab7b79213a0d622cb0c49c333763bc4f468c056a32c520d071d9e7d1f659d464d8edbf2363a13f302b4109537e1998fb812258a2344a0046489048ac45a300a470bba819022bf940e3b335a7e432537dad29a41aea3f5574b48844980eb4887aa07094a6f89ef5db582f864b9ee7f439678bb3bee03e439a536ac8d4f07d5334d19c1af56a4fb623506e97ec2f4fba4d72f69b4d49220d54be84c0c3ee62dcceee35f4e4befec9263ec427b584ef9f7469fa9cc3b413043400f112a0df6564213515a6aa9ce123a92cfb4be6fcd3655e31a57e4615f28a2978bd0fc1066892057cfcb1f305d1115bb8a0da42d9161a1f4ae0ea21b9b6d2950413d71fec323b30dff8303ff25f4290be5c3705210955399f13d642149d66afa10c2ccb83315b8e5c33e4dd06a6a2e12a44f1d34eaf15991dda6c44ca645a2b027508dfffe03f2ee86a073336f65104dd226bef340b99c4d5b8b6a543f28541dfff5a73f1bedb8abcff3f8f7e5cb80acd48df6ed40812824b0055211b2cdc4e3149f71cf18c491a88ea132340a3e0ed60953144b8f3a0060b1d243400725fac11f21c38ec67375f21fba4b94aa4881ac2500c94c93d92eed74a7695d8ec480b58c7d9c18fce86fbada8e1c4fe9db75c5fa9a72918bc7287a86d6318a08687cda772960c5118f370af635409cc0e9f0c16b2202e92254d59f1b44f32d15c57e99748973dd15b250b2390a4cede35b0f5767b79e52b2e1a1059892f376149207389d535127a665c93d34dccfa2dda38ce814bbdfa4ae9074d359a095f93cc3efcdfdf03e76309ad35da6127bbcd1c2544298e922b588513a74370287203dd5a3af6915478eaba7fc4cfc9a64ab249b5d823c230e0c7d93c9bcf436659f4d81e40597aa4e346020b5c730039b3a0ff2febdfadcfe349cb03d22a97dc64e3aca7bbb9de276c2c60c3aa6b23e5f967a700d614a6b7b62a21b06610df084f030fbba7b1a5732e81a02fbc1dbc75175085fbcb8a9e03b6787b79f5433806ace20085199469153ceb1abac3c823c233d4186a486032a22af4a1d838054880310d5f5d10aae0f68af50cc06c030b9f8d6f3880730744675d51b4b5f66029100b0c11fbb8f773b81a5c5372206601214844672d77549f3e00a55271eadcf2d715bf5562cb479a8b233967d10c1175a5405712e5bf5c31801d7230b580c567a84e25301446aec0e4f9d8a86a7bb8e6b1bb7091daebbc788670ac778ffc4339e53a21616c5e2619e27e4711852a9bf1b7aa303389a34a624d9224bc1ac4c2de97c7b9c235a9999f815d7beab1dc8107b996e245e7dad5806cb13655674419c2c37c40a52075922b0c33e67d2dfe37fd1f9145c51a42db331328bd6e19871b13592b89468d7942915ff8e025d82ce4a9bbdd4df8c61d692b0403cca777b8b9cbe6a04336517a89d566990858fd038a491aa54370d373bd872cce3a9857fd1390d13870f4dac4ceface436dcb74fc5c8de72a6f0b9d5c87a9270c4a3b0fd01303e7a82ce731691618ecd1772674473d5067189617f39df22d7faf0ede1f34583e3ca933ab426e917aa728731993141b07a34e6927a4f843fd796edc8e003be3b40110e10c668a140449e62b26a966c781a5dbd518c66f9af8b183d00de5c781cf61724313d69ab2598f69cb879880a2a257e48afd4f09e2210297faa7c71c4bab937c815e6df266747f0046fabc45f0b4a603280c311d2b2c856d48a2039e847c0dd3323ab6cd65d7a61ec66d42358bbb5e1b854d644b6ef13c3d9f4ded8f434f6f3724a3c75f1fff44ec96dda49429a524d30ea9009800a80073ce6ac2d9ac6fe78c8d7d9ccff331869b7df675feaf238971b33a92c38581cae561162e60e010591698d5d2185249503fcb46b696146a1726aee22aae3e4666adcb0a42a411462812c597d735042961c2cbe487f9cc88fda2476bfcf97f3c3e2c5af8a8c9ff67f5750fe10cacef9fcc771c4db2aebb1fc6b462a28a61d8a3089a42faea63f1ab0836d6db7d3f918861c052b38c48ed035ed0d2203e0d74f71f72e9754fc53f7a5e17db9da0411d3c59e53f74e7a59b8148f9f96e6d7f6d82e2982cda35632e81c9fae2caba1b95924d7299659899657679a3bf9e6511cccccbeb5916d965e7310899b190e728b1b12e9aee3dbbdc73ffffffffffff0f4da46d4bc1f51dde386de33808218411c22f91b60df2630f225b73d208dbf4668c475eb6a277c7086374b813f64ae82859c1a5f4c852ce4ef1ba17f340bceee7fb9c3d03f2bb4f45fef7a5bffcae8c723319aa1e4b3eeb944f663224a5c31a8a58c9e37bd7b9bf2167c98a3b51c105e1f8657a6fd750483673bd60842bcc1de57b65d891c575bdf7de6edd8d0b7f2ff8deaf51701980a8b07c5c38077c2e9c1e17ced56ab55ad78e161414a4edd0261010d0cc9927502725281da8ebe26ea6ccecce4cba76e542a156589604ed2dd211a98eba49fd28df9d72bfd184f8cd0dbf590530db6da35966bb931501940238390930b595d18eae112ab5925a8012206034da3652c78ef31a307712686fac004642990940a06029d300d56a020fb45432994e276ef6ff2844068c42843791e12b5cb53c0c835db4ab5c05c3637295cfb8ca3b09d9551505cdffb4c0582ea9f361c6854ecc0c4b4bc743d0f5438b5c3f272214c8c6c6c6663b21d94c701bae941717d592d07a6048751a4dd334a7e138a8d048a911ea51e111ead914d6d6d4d4d4ac4491a56e29a5949b6552b6fbc6ecee2ecc6e07f78df185390285e5a82368c676839610080c878642e22847610c040d63d43e23d181c079242289511c064108c2210cc260086108214411420821843082599dc69822eddbed07cb08356bcfe62676368cbc2452123e07eb7e3f553144e4fa97f279a044c276ecedd8eea454e4c12956240afa85f18cc85e98f0d2f10445f329bd955119239b2d8ce5ec400a0c947686f5c0d323f39c22460bdd9257194075dc037eef1e6847d8e2c5961431fe0656feda6310d71de59ec438e43635625cfd96bd4d8dfc1d140627aa056509d8df8d3c18507c5990253dee8596416190863410ec21c132e462a08b26d82bab289cf2cbf2b3e317004161f42aaf9f1006d87b41af9bf363ad379d13b52b5c185cf8213556591f82236bd42ebc3b109d79617005b44e594ebd0dd744b90710f3ebab596cfbc10121d1e9226248740bbce1c4ba1a4a9375581644a2e7d12290675603ec1cf642e2e6e43787dc0f144525ebe0792c5ee72c7c21a15b52636a73a9a5e8e23fb7bb8299a2ed8b9e063841ce2fe5d0bd4bd8f42f3570cdf979b00469c593850465a991d6293773e2344b86ced0503d590e47fefe4cea47c90365e8e15e39397439dd14ab436466893fb848b71fc51512941f0ba2a2f24d212f0e418b446068260dddb4cd2ada0a896b44bf1512576afea8b0e50e0bbe851fe8c0b0d6acbf8db8c59944e2b2211c05a5180d7cd61d3e71ba480924d435222b878fbbb44dcb9cbe54a72816004d87987dd2c2963171a7f209abb80aec39d08c93c29be114619524d6daa20a28b6458e211fb6a52eeae740676d2ad6082744f5928a10a204e0c2c1ce3229bc099c125321b0228a2ce960677daaa4b14fc2f48482bb2aed38991c4a1c9112373153884a52309f20e2a4722873234ddc62a6e15442715df30738d50c162163e8db8227b122419848ef8071697ad332274e559e89da896afa0e98b5a99bc63939d6eb4c0c28abc13bc4b892de749fd32b15e7a4978ad497dac1cf52fab6694c2fb55314585284f3980e76c64f499afb54b44a2870f7b153ffc8a255e478f211a1481755fd38f334d1978e7bedf14d6c7dd359946e37c8f301c873a14a22967cb0bcebbcb30ec4b90e96fb258e86392ecbfd507b726588fff86002a1506beee2affa98fe3f9dd016fd3eb168688d6ffc2d18528d34ca0dce6a07dfcc14100740f74348f23dcd26dc5cc3c383e56d600484e52fcaa0d983f24e1a86599182e659880554f144639b5ca3183904e68d54d4d6f173b3c9c055a4d085acbc0d0d6cdd66d4b1f8c673719ba19db6cba93acc6a0b6e12b959686d25f8fb5da3377a595bc91dc8d536af7884e49ad27670aaf97823cb04a4966e94b7576afbeb04abc82a1a3ffbb0a1db07ea2072a8755b94882d62deb31359420a2050f963a6654b61c30d8efc7feb3cb056cee54169bf6a6b1ba9f5c5117b84621a6f453b09530a37a61ac666927d94b542f550709cd2c0a5cd419d25e978139892d30885883a5fd368098ac4ff72b0b3d4afb041a6ac0e365a3c37d9ce6222b64f93a1529f07529b6e585370c2c33f517cc219d42048ff6c485fe2a526b1d77695287e8f3f82081f9512c62d30fba012d12e0d5a736ad31de0067f3229875a20686888acacfa6fbdb478a163e0a8954f3f07b6ac49a77c0df8a85d18d297e0470772d3a0a0ae55f6aef889f835fd376d5a67206805155d17023f2894627799eb06ebf4dfbd45c4986930a703e58a6c08bfd5ff4a5172527c8426246bcf4bcaca8d9f66601a47800ce652c622028747f8de5ed4d3383c535245043d7bff6b64a7e7b11d661ca0bb41fb6c29f7b841c22cc5cbb2841c9a67b37e46d649fadc94788e6c15bbcab58f624d7165b041cdaf07ecc973e82bca7925710475cd826e266ea574b308fbd555532578f43a14b997266d69d3119594bfe6014105e850e74a7aeb3ea6d7ea14cf96b6b19b02965823071237d3442d661a5a25abe8569828b87d07b97910ac6286fb14beb0604c55c43c95fd1bbcf1ad206609c508e591587ee364c736a2c8111522eafe2f25c27f23d11dca8c9d5235b7a978955460977258fe2ce42ba6d003d7714106ff7be954fdb6003f81a78a27aa2e7a014f280698edc316147daafdd8176429153c8508c5927deb68fa68f62b23364ca6bb07f689ee931936f3d599b7353cd001b7112ecac2ed5159f73be922f6e8ba0f932635737ca8c4206d719f9b5f7b4e4c7e0e2cd8dc750b360adceb479d4af667fff0e8db38f228439e21764d7d6dfb9f06c9c16d0d7e58a7fa415940ea11556f52da850da6aaf92c0e7469e74063d914de044cc928220aa2ca7b89f513d1819df32949df3e0953094575ba2e1ad487cb3b0bc1c6cbcb94bd60be6057ab3d3f2a4ca4bc0332a752eabe6d12a29c9022980eb357012bc8876ddebe5fd29a6d52f2a4746c37d78f849b98d1b3415b3a1b3747fc5b8ec5bd3958fc0239c0c3f00e0423104c813e89f13134d6ea9ed582f6773850affb8d20f386a5906fb2aadac82de102cfeefa7c26143ea72bf2bc129881f5ad31c6da2876ab488b41a147a69aee7be1507835644dc5dc717d591f5aa1e58213225fd2ac7bd2b88ac776db74f60900b894e2489aee2433a11b4c11bfe7d8a6f0c6faf9029624dd38c6fbf35f3f4e4c2412d3a410a4ec8bf6b9ee2c74a3f5d7326243b06add4c0701380eff81292e5026e7c5af80b7d87728f802de041ca725f5e6979817dcdd84b3e3ea7a9ea44b226dd4633cebfc000ec9cc68ce7c6ca8b0e5312b66319fb98c6cee298203fec14665eb39e0775277b1697044e174f3d708763b86365c3572e01896656a22cd0f42c98216417a752a3503f6998797dd85c2a09c6fc6efb9864c83090de7ae0665b3056ff741f01171edc7964ccf9c74e8e20fba75a4d5c25ba03d0e9782ed5d439ec4c5e30149b4ed914cb20cc25b57aae086e27447a56a517d2e7651c50e9ee7db0fca7c5883807f197998c4fe857682fb5fc9ce48ed43ae26091fb24d2451e06b0fafda54f752eff4a8420ef92d08e46c3f9e4fc0c118008243602662c97ba60e2282820ae39bdf38554fb75ca2f27a5dfdbf9e26f4cbcc31cc4902f90566d30707e0f1a731315ea4307b05f9512bf865b1a68ea7c74d1f0112a0c0196940c1c9bb79e2b2b749f7c99f1a49f23202e1895a4a280bfb55a03b1e873e8174b67026667b3ecfcd146559f6e94d05076d74cdeea77741f8bad34b7c7ab48ff4375a4c9afaaa051f2e7d2ccc5ea1564c2f673fc2e3910f9d86edf527893c11ca63815a3a4362fb902737d789e009d752b6c5a70c996c74d031a7ef953f89889b6105f45741a22a7255b90e3d943b9bebc0932851a5f28a13eb6d62c5a7b8e3130e45ad9e8024105581e583590996aff0e4146375fb30da6655f58c1703b7293fe41ce8a809a14cacd11636c165abc85c914c06198843fdb6659e224f11b183d11cae65ddd1219bec2203332ffe00b18cf187328df107d36e0dc6f8eab4260ee3465b9667ab3f2bee416eeabe2831e7d9221e4dfaee800d64bd67e4c3d173bb057c40851821f05859bd2aa011f53c11f819e3254713854900c059e1477368aec16fdff680177a04aa28c8bf3bb4f32f4210919cada6a5a544d6067a8e45e628d0714dd2568024d35ab2e1a8684061f452578386d144c8b6aefc663d74003e8c1606924500b80d4864f19ac6e104dcd9945c6038618cc981f89a34d955fe59e8009c83857aa5eb1c0f6023ae70424fb81ef6b39bdd257bd1c52e47f66c86ae18f97dcd9cb3af27a6824a3674d740557a2f000c922e7c05f6324a65173aee93b26bde21c1bf14980570cc0301a6283a67626b6b294072c8ed4876d0b85f9ef66ee3b2211784cd90b97cdc1d544cbf6848a8c742a71f0c7e06db09e376540913c511a299e3d7b2f4354040d10fefa841564c4150ab57519de6cd0104d6d3ea05f510f864b0d8cebace06efe62a052e0362f580ebb8107a8950b36e1050d9e86dd9905ef97dff531a631d10d5af2935d79e47c07f8dce054e5b5eb9b5b0427b7c9f1303dcbbac2830054a92dabd3f59aba1108b2c9b8a458d41ccb9a2e3eab3300014f5fe5818cce027d50eff67d083cf82ffb8ef726de4502cf3659cc330ca74a3b397a1006b7a48c7e673f8bea432c1a84c435c2516c0fa033a6fbeff0e3acf95d9244a2b83207e0f888910843af6eeeafa1865656ee69c85a588ec08f401b25b90eef16a7feca981c99c3fc09ef1ffb90b604cf32862721fdd438fc4893cc787331ad04b471191fd34ab8c410348cd098889d1aca9009a7099ce1d76e7c91039f9acde28f8d67f08442e0b1cafd475543cc0f814086222832d3b32f863b0d219ca227fcb230a5e911bc7dcd73ca47c8beb44e1d2c12c97e9527e872c9094a6fce0bfb35e48b0767b3e7cf04cf872f91c7266ba5c4c2cf0caf598aa01950cd79461823d4d93bbc44aa65c8b4906536781072409fc71809ce0608d7bb64db0e68ae44eb7b4e8867f8ff38798b0f7fa31c2394e022e9c4c2991de458e5fd4211c6dcdb598d8fc50980caf097e258fe4f426be6292bd9789ad731859d064df2ceafa9d28fd1375250771b78b9bc85166123db7371e953e92eba295092fe4490708bfe74dd3e996a3bb34ca141086f46dca843b9ae9776e5d5519f63332bd9217ecdc009a69001542a030a503189aae2adb9e57b0c8f003d4f17e5e55fd45ee9b8a2eaac531b360e72a9c07a9840a59ccdd19723c005a6914addfc8b7dd9f10b9c996726f29654a5226194c0134013b012e57ade672fdfc7c5f0d084847ad567b0d0de9a81515b930323a3aaa8191b5c02edb11af94fe93d66dcbb9e8c3b15bddc3b8e572fdfcc0aaa0a02021a1d70bc0fd30e653fdd68b3d1bdda2a3eb5e1d0ae108e3a38dd79660c85ed435b21817c044e93776decda442ec86cc86ac465ea2a1b427297f786620a6c44769067e7932272c9381fda5bf6fe0e01ee6070b293d5326067776c70edf08230003360bb845a6a2a33aaa84d338157faa498c31c618638c31c224ccf3810308af6791b190ad8853fff2ca527cf6a887c5a92915adc4a979a6a3f4dabf8edaa4b46ed7da7bbbcbba17b7aecb5573b97e7ebeaf56ab0101e9a8d56a413007d5845e9f5fef9788c8052e0a10c0c8a8563b8243390765a0efc7955b381fe549e2ab02fbbaffcf4969bddbe5386befbdaceb8effdfb3b75aae2b6bf1f3f37d4097b35a63bbafcb7644e93f69dd2e67efed2ecb0bf544a5d1ec70422c1b89869d4486d60abbd68e944639a7f47f7ff79f524e1a23dd3618e3eb8bee514aa7aa4875d550fd04a1c4b1a320bde94ababb7409f5ef6f55f5f367748a4d933a6daa86a2b6ca1a65316f90e3a417ddbff09d70c7e5ff7389fd5f894fbcefffb22b184621d68a9873422c317fee0ed16abc8670a91ed1ac1b7c8f5e12b654a1e70910baa9571f4aca82e596fd65c4ebec5ec5de809bfd6171eae69f79dbb6cd4689c6c35661a5d0a504512b863008219422dbca12eeee2e679ef3bf503a27a594d27f0aa1c73d737effff13be431556ca6739a7948faffca594b0cc182b56a850891265ca14264ca0a0881069d2a448912143aa8c15ea69d194c78891274f922479a9ee08b0c1b707c4c94c54d49225478e38ae9f970e858c878d32c69651a2f4ff9cb7cb71d6dedbb15801114bf43291e2162c52525252392a8744db7374864ebb3d69b5dca6e1ded8a44146142f39a0c58c59d4119ba4e4abc5c85a69c66dadaccdd7f3b59c95b570f3024e5b376d51e7dab43c7badf065a7c2dc11d0cc8099410df88133925fd10c350b5c714ff51be674cbdb366db523a0558c58a868df671d446b216bdaef0b27f7847b8234f3c64575b0cfd569b6568bf4f56da12c23eee7c92179551cd507a91fa46edb95442a85f059dd9e0b6c58f9cc226612e212591f590d428773270163c7d8b1c322d125b27f5d7abc43b1393791e3080d8ba079c4c59ecf9a1d76e57715c2216156d8e0a4cccfd989a27fcb9308deadbe2aab29941036b77f452268b64e53ec1c9d6916cb2f5c2fc51eabe368de68ae40495ce52a75246eabf4f3b47d2d8cf6dfb3bb33ce39f196f346655bc2d8bdd508bdded2547709d96b0d362a4d77f9ddaf25afcbf3e7b9e56198873dec49f758b6ebba2c65673b7bddadcb2dd75802177418930559ab3b921358d2802026b87edd0a40303b2060d68a209e64c071f3e1b96a33e7ea05e6cda503add6dc692a366a6276fea9861c8f43c342286b0d1bf3eebd7f1561daf23eb358ac67b13aa4efd2fcd6724fbbd5a3dea5eeeeee78df7fd21953c3b62a3b4fef09c3f2ab3e4b295b4a56ceae254c8a2a593160cfd5c2b65c638e489c2c64ba71f6762cef03ad94c99bc56239f7ab6b86e9e4485f5dd176e248d142fd59acfef6f81f434955aa2d55594ccc6a86db4902254e3eb8c3367de5d4a59f3e56777f8ce6736ae8eacdd666affb3b4b6106867c5729d89a836d3527cd5afba9699ef3733741f516dc1bcc600e1d3eabae371f1dabeec592ce9a63bdbd260d631c9b26ad36169bf5f68a4d727a9ee7651b89aaa8148f9b75250093a500101089c5a2b124894114c4622494f801240207c49b9288940b83d178181004426310880111860a100021014080428c51628a1800a604d7b2d80b5761fcc282d4e8a8e4b47994141c63a1c3a89a3e1bcd0f2dacd24e24437712d77092ebcf7e6a663fd1828a46f9b954c1599c67ff5b6e846bf8e84d8dcde571851aa94cc169b76c4b086f1ea8b97422b63990835f8452ed4079b9a69f7fa92992ddb86d6f7ac3588ac30a1f62d214d7dc9c78cbf50f7ca1664ac8837e6a5f61a7098b38f0a7e98688c57ba69350a2f11acf5a209471190d040479cc1db540aae54dd0c65f57d1b7c6a0633af05c0e064471b0ba7ba11fd7bb8b9c69886f2ef420ff0fa0e727d63cfc0fdd07e927d3047da1232b5cf3b8ceff192ab9cb82ec88083c42c8a8ec8401ecfd90a1b220625019a1326ac28c0b7790bf211730d6d5f766101b51e34d0646c6783a10f0ec30c33b017bb61ad236cab848912dc933208cf0886865fa6ca1fc02d5fd9bd88a7e7fa93dc3ecc2b50b004f82929a8012e7816a87df0b24b805701fbca115f60e13e855fb9a067322ec0e7f64d00d6b4c6750c2826d547e361d3e95d77b61a31b498fcb899f27113d23764cb31a4f3b42b27c6eec536c618945ce56a6205090148bdb924a46240e144aa2ecfc0664e40394e715e4eae4196e39f31dd7f6f18726238097714e7e9a3a8657fae394b66cc0bd10f44e18ba21a005c2f56968110aa20dbc40fd8175aff4dde03d8443e5309da4e09fef546fdd172d05dac3010717e7c7415992c222d8532c7494c1ce07120bed459e1234fcde05b3322681f462f5a91046887d2409844ef53728715ba99e920c96a3cf20441a88ecb52b2f4a31507ac9f82e23b2c757526e0bfe055a4a8fab9cd34186bd7eae971c9dc22d8307916037d73b5505baded9b89dae77de5a1e2bb083a8d14daedda35243e38bce35e5688707e550bed014fe84f8d13fcfdd1a767021d0e1bf6d010962e7d76a07421c7b88f66dd73904491f2975de333f956422434f8798a58b5974f5ad27f99a86a96a5c8916d9b9302db99874de505a2b2defa1b35cc8e7172c1bb73e9eed92dbacaa95f04b71a021eda211ea88de5d47f9b30038b0b7d8e7d6c2dbd28ba5c76d233dec9cc9cbab154f7e84ff0dd04829c867b22c6553253514d0689fe25ec89541731a3ae781b98620ab12735cc03d07b4bfd976b95a6f8979a74b280e58e50978d0d6b854797d2a02c9094a08aaeeb06b722fb0d986ac26187e7ee7a3678640181c026b235087f4ac7f0ef8a74dea655c3bad974a0e609b56e8d9d5abfcba2b60e2a50cd6ea071ef0645e8100abfb895302481cb6c1dc93588d805faee722f717f361881832028454ccd30bf3c59f9ac444be1823186bf28976919f4a3942636c84775e8624909d461240d4166bb767173185c428c623b1f238412d409b953df4cab0877aaa86be1f1f0c63f01981d92565bb2cb6d036398c5694d11a3adb565454e41bb926b75c44895e981eea4dc1f8950806c73b22f0d1cc107e0c3b4299d3a364e1c9d6a0cee7759f064e04a7a73d71d7cdf6db58538d28a05716d3d13c06ac4124a57e0ef8f5d9f5079f37123a04c1ced1589a50369eedeeb7ff151c3e0d44a1e7f451bf1e6bfc2de3246ae9c49dae7e8f297a6eee1567e2b30e0b44efc80a67df5be9d7ff81dba41c5331eeb14342a1ea68643c288845c6cfe57e2c0342c98c64f375cfff0d8c8e28566811e18c6c1f1603737f306d1305e32ddaf5e3e412bc6c7e30dbbea7334be418f2f9ed24aec0d5b847419f3daf42bbda626787797f19557e3c035ec7c2a1973e044e62cebf56d5a6274c03717b21d2ca0a683e562d33184478989da2d35f5a48cb3fe8cbd3d2dc582fa374d8aee6316dbae64cef117cdb130463076907276c6fa009db0d160737318005cc74726623a0b5889f065da27805832236ef9bc8faca1ec4c5d29e3399ab2669d24327547455d53386beefc14830dc62fae3abc9cabfcf1284a7150ee30797b69c67586bc87769253132deb013af0d5c92e1a8354bf9bb21de0bbcbddd65f62a669a2060d15e6c45e7104fa70c0408ebaaa70b44e9b3512f21991b542e886932c52004b522c60c8ee4c0306b4d1ec129719ebf851e62280c6fc103540f83e4a00c9e4129dcf39cfaac2ea4745dcae0ba196cd949890829e762fade8391da7430f2176cb6dc9987a6f744f96300747653cb96156ef1d9fe70f18188613004035c2b15ca2af7912c4ab07e38b7bbb085dcac71e6c4ae0574ade214087c8a20908d3598a917dc62e0a440991cf955f6f27ae155a87c723a3d6f7bc853e3970edb0a0af0a074c1e7e9a19e484033eb2ba376fa571e96a69d8e5ccfd19955e856a9447535451b9dded25569281086433b618cbb1cfee29302fa41061f810f65dfd03ea19b35ebc6b75966d930e886c811ccf84f9b6768514fa683514f499af5afd72ab99ef04f21628903077bd80cd1c0e934503051c88827f3eb3f02dfa59ea69f6b7714377317323cd153298d70700a2214c9584484c2cf06831479a2d9909eb2301e6416041483aeeadd2a4fafcb01587533bc3dc630080ca2d06be6f6a8767aa709da388d5e40d1ea8abe3ada0e46941883990236618405c0c4d910c9ee9c06fd2ac705079b1fadcd216775d1e292176a2ef6561902f5ede1dc69ebe129e2cb93884ef967f6816a7baa8e8a432a2ba999c409d337c441539f3cee6cbe5a90c1105d857ab5201832dd833ed5ed345c19212cc5c9dd34d3045ad1a557f979feab6135dd27aaadff48f108ef727f6f1e57f962d0c4538873ce492e12ea3bf69c1a41324e1316992f347411415e99e6d36d4283f27adaf50c190c00b99651b5ce10468e0bc08441f8d18087becce952fa0d49a2d3a96684f73db8c1cd31c5eea1733d1c31f4aaf3fed976be6f82a1ec46d1c18314ab8edb7f2e868633db00db24953243a8970157ed0812d1715acd133d01d9cb597dfd578f941ba02396654cd399695745aff5d30644e6d634d1711eea849b77f9681a456ef5c99b81644684d30a6b5dc8daaab6abb3cbc409fd66e8ec4c73a21e20b1092e56a20c96d477bcd371827c890775526503c883ec4536796dfa481059b94f8036c776137d8c83a7a593e064d129a66f6115f8a7b242e157aa6d6b144d49e892f6e968a12bc38661cb94fc73d708293506adfc884d23f521906e4d225771ca1adb7fa573d049dfe30033ecb6840bc6bb903b14732c5290672515a5ab6acc56f68c5c283930308e49a44e5f5b65a97b69a4824ea940ea650fd6140f34f494652f90a76ddabc458ba0b623131e256e90c6d4a111fc465de980a14a7dbdd24d04496766d6fbfe41d82c4fdd3d77eafd3f91f7cf90197d64b03e72d969d5f130180296b26edb4dc2420d5dfe1f032ff166efc45e8434508fe882cdcf0de5d269e003fc4fafa0fd391c807550b16310b9213f4a9baf12a7c1ecd2840d9360709de2194373247f7285ca28c444d4e81955f0009bb4f5c34c87c34c293514cc64553ba45db6388eb1bd4615815673f5450a391ba3f5085f7f6a0d26f3cf686e33c46ff36af2738535f7c3fe9c909ef6507c2bb54955e186056b8df55163a5b90569f885bb105bcfb474839e931cf3e82e51a4ad6917506a7161b117369e43aab402c44d0ab0afc3c0bac686bbdeb396cc70830fe62dd8eabad1999bdc609dbb24d0eb6c0f27dcd6350e0865612b3ad9a67f2fc9b022a523d0cd59ae7d4ee588a1baa4d3da2aba2dd5900356fb0970f6678779260bac96900e93d4f5e97a8ba67e8eb901de75a1404bb2ba458f7c3eda0d2f4ca4b4c7291c404f2ef85849b21fe864e4a87305db44b4d82ef85402d25ed752775efd0039cfee052b013641e47eac736c1b5e50efd798dde75acc35b388fe60f4da2f54f1d3cc0b671c2d4ea8fd8e3df77ab022c1d5c0e64f854b9ecdf63f7f2d92e9e7f6b4426d3d60b49d9e67ad8132348ef8fcb1d532a02f2ac6bce702eb5c46f6c0946405614fcfe5744a5855ef43e76c7f4c1ee80255c18ba9cf2504ede251a3c547346230fc875344f47f23caca8b0757d3f9095e8cef2cd8ef7e8b376b250dfc7652e4e3ba533bb4d32544df281421be2d085bb67e8e0ad57221054be48b73f4704e778f6ec2f5e5d9207aadb5f3f7eb09909e88c8c80464bef9deb51541af2ec81ff688f71d6f4e7711952297502a697c02d480e7ecc0f64671819c8a7ea127e64f5cbc28765448facf6fb7ae0879daa8cc11c0b0a1272a2e0536144d40056736e39d04e2aee42dafdd0b2dc8b1c8f0952b522182d3410ada3098c2c66e10e8171fadcd244fbf57d9c2515a886447ecddf0d8c9cd30a5b22af77945a6452de642fcd726372a5e7982265d99c78896444cb6778d3e2ec686761b91ce920d81b9d66fda81605830d0f429a6ce217421acc89a5720a4acc360fe920e0c5f2c18e85a8ab9c0be9b00a97797923f66d2a92d16ecddfd51cc2aa574ada3289adf9bc14a8c0aeec56a7929977849b630113484954595db012d0c258b6d94b3fd3aeb78a2d2ea007b11d6123f72995da4c39aeda8eef5d20dc5ecfb82843b816428140b76058c1c6b66446bfdb57d0c51ae5e62ed7256f7e389915cc0c58371635571b25ddeb7218bcd96c860fdf7b21f52443cd1eec2bc83423e696679f9c718e5026bf02dd88ab971c76cffd52aafa7b730f05de08543e42221015b1ffae609c64ed5741b97622f7124907cf7a11e18ec62f982280dd2f09efa551464aa6a46cec8b8576437a919db1b53831f9b516e1186c04ed5ced93a221b761ea99bb3a5e8dab87fc9b6a275b78a30afbb2df5014c663b6b5363711b6f692b749a170a42e4a32630e80656f2e0a21634a6cac74a7d6e32434e8d1ac2583666a863f074eca92a5d5a0757e316fca76895d186f26cd41bc557347c83288dde212ea89b4bf4be5ec461339085ee35f40b21336ddc164e1232672f06033003cd9ca584588ab856a14c6193e86223a2e007c862eef437f825e3ac442565298a9cf26aec582289b566a79f816f5dcf1f22179d5dd98e0058a537884dd506da85a7ac7ae3aa263ad4225e06b68d7c50fbb78fc445c729490f5bd4f299e9c413639ca23f7f377e98c9229dd93245f3d2eddcf78d95ade38d1bc8130e9b568acea8aee8744cc3f7c19eed93ff8cce5df8b91cb158f70887df818c47d91fa41be67d8058ce573598e955632a248cdbe026b92d1c34899294e4964bc0b10b37d82309960d47a2cc82fbb0f00dec96d3513d1d0c4e2e5fb8ad282c40b9d40afc26532e789e5858fed4686d839574b0a932f7a3102b8663c61de5c635b9a39c7c703e3106058ffd8a5576ed85431fb7c8086caee3afb81089075c984689181535dc7bfcd34e325e1c76320e2a8953b93fefd0f939667b812aef3e73bb5bf8849410cb494eaaced87acdb8752d0bfbe45b934c3fe0ce1d1f2b46beb6e258902889c2008cf276180b842e10fa504a7684a3806ca4a4ab54666d7f3642871d4c38ffa4b990705c8946310286c4a9deae290d77513c9a83110fd2cb21a99efea688cf956723603d756b7f79bb31e4b72d432cd58acf791209c24bcd7320700543547006f27396090eef82409fd9a81af24388245ecad4f7327bb1f7ad470235e20bb010051193cfd6ff9003c28724cb568126e501c2f78fee7afb49ee1dfb07b2216419d8c9184076402c55896c087f6c67a7523aa2c3dd7919dec37287d0b17b980edd613ab6a3a80e3dcb1deaa1079de17c74e0045db84a7082ffc2a3c62e6d13ec1cead3419ca134f42c27b73d418b1a848ada737ef1f617929b5f7debe37947de7b2e9eb241e936e90ea7cb72467af4a531974404093dd5fdb8beccdf5bd02005e618b5bc12184619558c2f2783a7e899deafa8b087f26cf463130a0a3d605a62d01cca1ca1c703cdb1e22a06a1bd053487aaac81001c1b3c8dc438fe340fd28c323aa070249c9632e05a969bf6dbff273ecf84a261f25b2e64ae470bba711ba182d8210e6be24e501b4531fa61e8d392c613568300892cf207980574660991703b99051f0c1b5b59225bab2e3cadbab5a462f667d2e46ce9249bfbe7bc7b26cb2cd490894abd8ac8cb1dc4628638cea95765c018df7fb8142fa8bd8f63de88b62b90effb278f35efc5f2d0037f25b703f9ffded117e250c25b7166b7cde280b273f86a0fe2a87a7b2bd0c6a288ed89eebf73459d6a51e363140d6ea4f6f0f5bede4eb602e6d4c98ae163e52fd3cc4b74438105fa4d8f032e0fc7971fceff4e9d93965bd8821b1eba2a9639f73e75637842b319c01e99b31d53cf22ae3c8beb59f83d101fd7c883c4a7e78ab0a5aa1e475c75cb9baf66fea325cd7cfe701b2f86e2ce113a51ab459d277fa1825984342092397eddcdb721aef1242bd26416d4f42a980181b6c15f03da06acbe68e34e62077e2248e76a030da6a005d5405b742e38adf6b925301eb045c13b5ab8f1f4596669b2fb6c03a650dcdf4aee5ae71a82c884df573c525aeccbd7a45b11e90dac53e79fef0beb564cfe2570066d37fdc8a76e4c3cdd14469d09b3f89db4492203f22de646d6b31d467de4df2d8fbe9ce4944dc755b678af7c5a5479aca4fd26cb8c731b197b9391801c3dad469c76a1eda36ca426d95d861ade0a20af9f8d2f47696cef831bcbdc2b60cdce9a403f1063e7a7a2692665aa75733df4860270348ae971a12a93229de280fb58ee894e985750cc4023db01c9bafa70d3c8293f1f7f3811e7a2daf548c9e707fa5180fe8f191800039c5558e1a37e60aa9f6d6f5f3b29e310761f2788f58fb2f8347669ddf4643f71cb9e5194385623082427a3224dbb0bf4e9bdea5a8ea5d3a6023d37452054183c3549a0e92b676972f25f323af81b726a8f39c6a39029bd61b995f5108ca84a3698a0490422e6b31c5605dfb8952950afe544228f0d1c3a3a3d56dcfd4953734f8b78cdf59690b339a9c53435835e62df217c98234a1c8d2ed592d46c72034c693f21f960551a42a58bb0f283054e0ad669c9e6e1191850f94b9ad68d49c8b4e81e2a8a641f9bed2e8033dfbbc0f27a0484eecb8743456e2a884359c75b9078df6bcc5cb021ffd20d371492cc61c3d6c1ad79770aebd9deca6b488d6c578070484d18b50b9f6f4314c55abf0020d62118555f74ba3da9b646fa146b8ef63fce1216db1d1146b47c4e11ca2fd750b2a3a9af9820e9a0cc17dc3a4ed4a08f4a0137e6886bc3dfbfa0eaeedbb249e0e64890866504d083a064c1087b2cdc638568765af3d6c2ca95832e3e06fd40cb22096fd5ba4463a08c5e82406c0c3468523baca3de98fe412001460751e669d142ce4b569ec7d84b5dcb8b0525782569042ea2170761de189342b87f98021180931f745930e92ef65322f2efbb3152a58fe414744400ff58267f2991592ba7a7188c69a6fa42352b1d81a2842583c170a5f85524fa26536c49e52a7b93ccac8d941be0ea1c960ccb6958325cb5f11f80764d58328aa12a3ba792b89c1e1ef14e4ad4aea758f53568280128964ae27f8c00347dd80cc1da4b875c538739aa6c0a4b606d390a80f6c15cda90c81ca97051cc0d4b068b13bbcad5879e81b3b0645802e550be853a3679b4646fdbbd722f71720863a52660ecfb01408f785d8ccd0535ae78febd0806e9c0cc3ac2b8b9fe9f7cbf5d40281e3c2c19269d3d0a64db2d5d40e1e26eb35a2f824988fde4c12a192c23054fb470d7044478ac4a86f5d3195da4d759da899c04065344958c15832a19dc0a0239b0b7b1c9b6358811849b4a8628b392975b0bea9303cd8f8cf9bb5432b04c91d5bd512a19a9b2a603fcbec4703292a12567714725958c313539edfea864f4cd27e324f27013950c42c0e9463823b9c52b9b57d5d2503a0a8f9a67d7876d18a74e4602ab5c66e68e3330ead78621076e14668821c2ad0d433dfbc39d46b8f7c942ccdb1af285299e360c8179e407e337a50da3c119441045c9694a9e6494eca40d83988c368c959f3ad186a15eb3c68a147f09a4c700fa799c184d104f5b1d004201fdc0f1548ca8c09cec413f445510b055b006142158d4ea0080820025af2ca8469ceaa1fa43874644447c7cfcf3fbfbff1418f6892499916afb64bb57489a1421944d8a2469036b017a0172019cf79c38852248be719b514e93b089ca7a57d6853995f5aeac8b4fd374556ba9d0b2aabd71bd2bebe258668d97ddcbaa935be69cf3ccafff5d5917c7328da2bc0fa7908e84b48e6cb35a17c7326de3b4aedaba7826a35bd3b84ee24d30ccc675126ff2811bd749bcc9076624d749bcc907865c27f1261f186abca2f2a5297b67fb3f929dc49b7c6048d1556ffb7cf29ca8a22df1261f18522a7cf4a89e7cef7c4e7712cb0786948af8dd1b2f4b5d74adb58e17ea9aec6ea9905211bf8f96aaa246f2ea67a9f5f77ada7c730b52c2905211dfb35c242628484ca68f9d859af645c25a6bc9e757ddba064262329a7263720838a0806daec03fc46d988ca6dc989cf3a2d82132a3293726e7ec5c971e9fbce8726372ce8e0793d1941b3d6d96da2d7c93bc212a57fc29d5f42fea2965ada6f5d2db46e98ea7e26301bac0b0b6fa2a8f61d5ff6dc86a4fc5c70274819151cf3de2e408d0b6edcd18eac625b06d9d3c3948d2d41f5dd775750e8fdf47cb4562e2b2b9ad6f8f8dcf3b500702817a07ea405d97330b0b0b0bc922b3c824092bfcf1a2fb68b9484c509095af8063a5e7cfe7f3f97c32cbe3395f575454545454d0ed393b9d4ea79f2f75cece299d929ea0c06c968682c46434e5c6d4a860eeae4f609e5279ce88a1782ebdb485eaf8e6a6d4643064df2826b211c4ca888090d1941b9373762c6f91b8587a569fd70ad66d1c58b934e5c6e49c1dcfd8ff538ae5c6e49c1d4f852471cf6d20d73bbbdc989cb3e3a9c8c8b09cf3eabc0719e039d1c357281f2388870fc111e4e3fbbe2e7dfea44f9a0ce0e1234b5cf330890a7cfbade3fa657bade26301bac0c8c8993fcf306e812e30f61d3dfd37a28646a9c9300d7e591ad5d6d0999a343086658f53d61943effdf8e8102d40511bb528a5749b76adb6d676d6344dd3a64db32ccbb22cc2300cc330abd77aedd7bfaf2be74e296a27cb713c8ba60cf0546badd55a2ce12c651c51d434e99f243c5159eb7ca3bfd134612c81d406260668545d78207280f41c2ff4b41e94562a51fa944e54ce23a4884694465b4796ef697fd55744a36aaf84a7c8f6c95e39aaf64a78a27254416497b0f9e517178b44c6dc941fdbc6962a9e691ee6fd26b9702209866585728e9cbf77d3886e605c16efbeff1d33dd91a8da2b614c4d3b4337ffbb46c606c75b1c1b59f656ce68ad3aa4aaeae8e8c8dde66c03d02100019e0bd0018089ca7a57d69575e90508a0030011ae6bf0086de0f05ab5c14303870d210f0d9995f5aeac8b639cbc2bebe258a6e9caba3896699b565d1ccbae84c107419263dd9671acdb38cfb8ed698e557b25dc7dd7859694d1b29adfa5df3e3e36ae937893eb43fa3047d0dd09fcda1dddfaca327b86d719408e0d8d8c4e511c2cf01aa23bc27bec36baa36aaf84bfad39babb684bbcc9078620c6148944229188a64c2660b557c2930f0c2915f12b1f18522ae2f70f0c2915f1bb0886948af87d04434a45fc3e7a9297438a7e0e895211bf8f964bf9e5a6ec1c5295b05cf4047ed30d043c94b069d6f9467f2344b5280666df1b288a8698a6265220a3abefbbd4e220e01cc82978d7085e79f62087580cc405b9e0c3bd990762c80d0111e1442e258a9a2882bc98de93a7fd6bd3364e4f9e23bc908814e2133f1037c05b143ba0f8bd79dfbb3dc821d5ce1ce410aecf570a18df9709570b5b767110700e689b7b808b80db20380940be0f14442c88443e0c50f0261f185232158c48fefd1069a042c80bf703187ee2d29fe0c30574b45c2c12d2bd18576c376fa25f7c1f5b7b3185bdf8e28b31be175f6c490a26cc68ca8d6772b6ddf69ceeb5129eeeb5184b16639ca74e792943b869b95c2ee6395a2c96d3d3c771f45c8b7f3ed7c220f1ff41d7ba181b4486031a1b1c19eca6dd4bad167e8718421461b6c035586bb21657dbab85a52b4992e5c1693657ea0311f4779145445d0ae7d1dc84f6fe7bb50a63095b7cd5fbdac51c73cea571b3d85ad6b2d5b517eb89cc5077ee97c29dcce08eedbdf7de7b33ae5d14a1410c2192700dd0600b451b28878a7188184214e179ff9368274dab1b1a19189acc878889aba8a4cb3a7d14040d5307010607a23816666190041142104207b46148849c8d05918903b1781c0e838a252910e105000104080122303030625a070253f60949575805887266b27db997b0a2e51044d444fb4ae82354c84ab8c468bdc0bc01372690d54859c8eae22677c0b549665def4d1d5598944724376c6fbc348fb3bb48959fe19fdd31ea70726bbd94ae24ce54a611a3d78bab6fd88862b7da14befbff45c11cf6875da5aefff0fcdac4edcb872165c2236691ff3b2ad97de1ea07051b3fefadcf6a9d1e0e7767459e70dd6554ad513a93a681319dda79d4b187bfd49593587696e41a1733cb9be441dc7593883c66311cb4c6c1cb447290925620ef8d11311e1df376cc5592cb4ca7a34cf34a24e1b6ab951cd2d0061a0d02803189ab3b43624e6d1f8e49be51a39b4efb0882f2a238b9bc0fcca691593e748528dae71a7a49a17bde1c284d173bf3fa9c325d278625c8c121bb1cfee68d1467b122fc82927bb279edfef553c57289e9cb699af1631c71a1edb1e2407a9f25ca2d9c1d7a98fc315aba9a0e136ec914177f742b1fb6245c9b323eaf5b1540853bb25be65f6d1000272f5cbd69894f2071642d83845c79683f84c5b0a547850d9687aa1d2985565d9844aae26e72394f98c0e7165af1af3024370be16a2d796d1e0669e4a3e56ac9f922b7869c5124e29fb34b9421a932006ea1d1897092414419690e0123372aa94f5e55636824490cab24b91f56ef5aee1d5a45b9b549f80e2ebde035926eedc8247b8797553e31d479e1a28362942cbbf331bc24d9792a5e7f9e3e37703a3cd5dfb17a984c881eba202c387ede552fd06d35c0efb573270e663c3e919d65393ad6c2e36277459527a1fb4254df6470eb862613f37e344ad6db4951c43d389bfab5f9a8706ccaee5327eca0b77a77ee83c99b0b6ccd03d4b4edd10578bcd643848fbe5f2e55266c72d98db3fb6587ec375e73f5ee69cf1a64827c53d1ff2bb9ffebc0da25547f1ca823ddad0c5bf18d47214fa0c09dcef709da1713a68d2e5916c35fb5409e293cf12286c62ce4d784b3897ae4d58d0348c3d46bd2e238a31ca2520cfc502cf05ed38ed21433cfac59a0172070273bd6e9bf6e088caabb63b3461fce651b75be6f0b5265b6f258c4f0a5956049f372c59233a61c1d358e0b9b38be317fd1e28be3e22455f7d1129904eddf1937cd76b4d412038d201f751aeff4c97e25928c2f225648cfae35f7ae835e0d4df2043243c7ee7a6801bbb121255646f24f658da0dae199ee427fdbeb993f2a0bfbfc236f98250c054c134ff9506fa556c84eb5550464ebf92116732244d032497b71ef8d082d0dfeda2912a182452480315a864141aee3d4f4cb6064e507d47717c877338ec13c88e513c9ef1d40285bc4cf4c07683fa748fa69e22719b182472170799231de9480fb959a16ab759663b0c427e5fc5305717966da5d38df8f2ffae6647cd52b553f43fadca0caf1b3d4dc85544ea2920ec5ffc864cf474765fac528e9ffef07e183ffe37614c71163ba05346dd74f4dc2f87a3cbb11c72732046e5f9a710f6c13ae039d30d34cb15e9e694b22958321bd7ff0ae9f5aa0f7ffcc60cbfd79df7201c9e6667cf98a8fa672f9cd4d157b89c4358a462675d15f13a79d46b907c8f6842683bb832e164d5ae49de06c4818140179e250f930afa44433b7adf316b28519ddbcc37d384a2e28a311c72dc8b9ddf0299e032a16f0cddd58739064ba8bc139cbda82515a0a4922662b8635b520c3e0134bc0afb4432844ded620b77c77bbd8bf85ffc413eec123dce879d4ca16c6442a688aafcfd9ac5490716007287a55a7a07c04ff47c83d522b06bcbd50a17545809469db6d4268cdae9001bd399fa656cf23a9b506eb6b378c21ebafd6837c0291ae6114255819c5545dd3d8728c7abb45146b44f6a6d241dc20f3bf9e8cce64fd99225a3a0ebef4dc5ea690a9c21e64170829dd8e39a2fa76ee1b882fffd9265131386545b816ca52e2348dc554e7be90d859cf1740595d0a1a6db6a415b69d4b6dbab3c7e6b16b501ec180db0e492007d8c67c11941a6050e2d9d6c6ed0423690b7fb4e06fd2acfea60934ea506e735f4d15597edb0c324a788a7b8ca9ed0cda56e89371453008a5a44341e9ad80852b49f23f92cdf49e512fa6d182181e09612ba9cc3ff7095932433309ec9b19d8941cd202b3de038ee65efc72ad3e7d93a13d50af509a2c9d266078243b2462045824c773fbbd2cc90b62035c4449b653019cdc33a0b43bd3d0adf1b986738091d76b5c04b0ffedd4c7c88168747a29e6e891b0b406ffaf62a7053a6f1f43baf8d469b73c81c045a0e116a7fad1418575b3ab9f3970ac5c7526f0c4ce9bfff4233099998f8e2068767765df30999d16563e2924fa30fa4407dac1fbecdd7c253aeb33664d686e74d74414ca0e7d1286cb27f6d3433fdddcf0f3f8deca41e5300eb03c0a0a4815fbc86b7c6551bd5fb712da25fcddc6e2c87e185254fccdced7c5a1e97196035bf1ad16823e153118c11881d403f1b1a9c8b6f79ba27be2c554c470dd44505fa4252640d6c49e0fdb48d4bc74aebe0f0f849757ba26e8d9811d58df04b8cd011a2937a6bc74eca74934cd8ad319b446c3d511a00f07a8e510224556ce4a729d7bea36b524e02881c3a13878e0358a65e27fc76fcc96e4d7156ca51ca0d6a34f76c304b7650a2d03fe7352e926dea8ac6849341dc30d9e22cdab73d7ea2e3fd8d86d27ec98bd2f17115581e48dd5b95941914d2adf0c9f569300860b2547c11508f9c00cf693bcd876620443318ad4861520698e0077c00347827a0d87d3ffc819fbd795e5e99e64f9307c47fc987ffd125697e46ccae6fab27966299f8d2d043b20eddbb4dae851ec2fd9340373d7ba27751b3dea30bb5ba5d539c6f9542d9c001d0a8cc17fc821076aff95daaf5e50652159bd64d2e27b82c416ebde68066fccaacb9eadb73eb6a7ae876675d6053502c8c6f367ecc5dd5e5bbbfa5e8fc989ba0f02bc9fdf73b42f7ee95c77fc25d4ffc2eefcc43c08ece57d92bbe4eff7dc5662d02a0b0f64d754aa17a29684df5d9cb6172727405d17e9ad4270d27c743336bcb128d0bc5833a3940a03af6361fd90003f879b8a116b907e9670480dc53b8733d531e6a3ede90f84c7e870a96a8c6d7765957d7d93e034c44dfa2ab0e5ef2a44ce1dfdd3bd9e4ecb501c2fc90ace343f74579a35c4359a456520b550963cf98961622d2cf1c9ff15f7506319a1f049e760ba54f32316de0693ccbb64f34175700eba3348a76893b35c8d7a0cc47fd4e4403fac5fd3b21a9de92300e328af37984e555b19ab2fba8d760f00fcd4ee20894c83396bbe953c0accb858119febc1e6c5bc4c792bf465acbf101c66f562903e2d5a57dc97133aca486cb18b98793885a3a182263d06a4e4b25a189504fe85442e5ad055e1beabc0805bcac88182d953d8dc73e7f17fea083801215c067d9200d902941100e6d5196639705a417c07fa7e008a2949967dab2905b6b5a40f79feaf151a71097b1211b9531daffcd491841d225b160dd1f88a5c3cd104ae5a721e290a9d11d73cfa64547600f43e330dc704db1ecd85ecfd3ad2446727ef6cd30fc2426e31aad437294d1ceebc6eef23a6d8b166a8b4e53a706bb8e7c22a995820722c07db0b9332f5add097b1c6acaa3e5f08ef66955578a2614af9b1a6e210e898005b359d29a8f8ffd0536781b6977abe3ac233831f3ddc041d35aece910826e166d5c630e05354bf06e6a55b6d5633535cbc34108bc268f7c998c0ce00ef13967e83db0128e6c761669d7db6a8280a5ccb127d209368e0d519007745bc960ec69f12244d34b6f704d298c9d61b9a63f166254dafa6c8cbcc19689d29eaa6796efe586da76ccebbf8943b3fdb1be5ad8f3f66e633644d74df975eec988bddd0b5923d92577d3b4413754eb8d2c37782e1e0ffcccb60d18965c7b20a12cf267ed987b52bb784ff8225026c3ecbf237709049fe75c594b7035cc8c777022066fc49202be6b41b290f8c9fb5eeacc279ada69a39d8744a913e48df247a30465419ce93ff0157c445f36709c830e051dc5d1203ca94708d2cf9d53800a3f5b702918bbaabde830ae12ff4be8eadf35620a7f76a2851df651e383e72d0e0d810c7440e07e2213be213238445ea4b000a37720c3bff34118960fa356acd46a3d03d55feaad67f03484b8d4e2976e520a277003db995968c570e1395afb1e45e19bac298309b9d74bdc4138947eaad841fa6212876a10366cab6e54baa0f81f369fc4d50a1e2fed98c445190c758dea1939c0ad5753e24aa8571cd89d8bb94480f4c924c9a22a0329d3d49e3328c93bd538e51bcba07ed695825ee65185763abd46caaa9eee674399575bc9d5ffa7cd1bf3bca48383814d01b4827a0ce2d0223af233da4b541961b1e2843d6efdef397e0017e04802621da69be6df1fda0a9f881ba03d2e74e6be171d376c4006993319eb35cecc041361469107c4770f7ead6b6037410a139659eec4a1a9e06e1bf8106d99a64a50352a2b108c2b3534612c586102f29502195d79c638a502e86523cdccb2dad1bd3d1670938c4382a60f80a54c812caba7a7075830064c40d87ac240030615d78fb718f199969fe67769230c2a352d1c6dcd892d4824261a675f4a294d0f681996fd70c4f1d5c405bbee1b04b093aaa475500f07ac7b594e90ae0491d5278850c1f575a118dd61c31239c7728e9eaa1e6dd53714f5b6baf1582a11c4551c2c5085b10ff0eddd916dfc9faef7a02e865053aa7a58d762a6feaa10044e55263fb43a019bc2c1d3541adf057a0e6831d551809f606b91fc3e0f7fb19d79a531d5f790aeee5ce8063d921337532c35c39d5fbb0d9dd6b0335b4ce5bdaff8c67e509ecbe378a7264e4d1823920e9c245131fc9db579bd37983c89ea484e61e1db3be66596fbad42ce374faa1aa36b9ec4b2fc796d57b069f29af8a25886b08283a04ac88055de3cbc2244590f45828adef28a602cd582445d64e8c8e85c20b5a4345aaf4b994f5af7e380741114ec6e231fe9393fa9ee82921f532e57b265a948b21a2b7b78a7ac3630059de1e756d4585e6b18ab867aa79466a12304e09d4e4857277d045cfac027c1edc38f052523afccad8fd754c236e958235a5900bbd75872489196884439598f5bfd32fc492f4a4e4108fc446268facc86e37d2cdad5984c95031ea9c954a6235a042ebd930313f60b2fa6e922e66077f9ebc091b6e13de0417dcc2ca4f78e6e3837c99aa176bd84d11f33c0e7ccb6f4555a0c0d197d421a0aada9af22c5ad145b178332088ad0086dafd202566638e0dbb463e87426ae6910b44fca3c80d16c82eb19d2ace825aa0b8029ab5892e505c984f26fcb247eb2b4789e7c14299e5864d484c86100b60bbd190f502f0a0f2067cad587f4409b8a62a510e14181e211a43ccf2df1d0f940a6a2fd665eaa632cda738528932ce4585f58d533b589b8d2cbea4793dd76305b10ba30260259d3c5143878adec6e69155c33f146c97a6d807e324b1a3a321a214439dec8ccda4d2863a4d1498bee6acbf8216bd93fea0a4234c34929db7c175943bee189299d1f71e80a4068d688d473b712bde24c0c7c9cfc96a53fb4bd4d323081e15260a39dfee618e4d992f4b7dbec36f89fd6bfe26a629cbb52617dc5651953b7acb8d733694fbe2d5abfbb950175a7468518bade434bc0dbd658f7ec732888acf250dd46f2c1a000063ee6ab9b7a12b4db9f5cfc6213387d6094a95c197c6447e72148b11532113aa2b6509713a7411f1ed22ddf1a0d73e5252b528143a566eab915199d3080f6c1667a3b3da1875f8ad85167d5f7fb82cca5272923dbc1c23c08dc0e81c3bad208528cbfe4bab47c2bb71f2e173f7ebc74b70757a2730ca1607919986b3cbaca363161d58a26acc808149d26cbc4ec30c3471e2a85948509a8328af73585b3fbc7949a0439925932cd6246165058cdc0634eec5e0ca843e260b5213260189bf355c8b526f134639ad3015446c348aaa1de02f1f3dd6235d26fa4059a890a8f8687a79aab76ccfa819a9253af65f0f6fce0e0ba3136e38b6cae161b426d6df7511f22b1935034d531e6aa665a1950e7a3624097e8230ba3015d0ceae184971f7721707f2eca26692430d8b914901d028e406e70650057c95e157bdbb29d9d53f8f97a1926869d6ec342b2203013bd9ff7ade03eb8c747dfc9fb8321c67060d8b5e49f2679b09475765baf76f02539ac9f6d1dd568e953050f5c83354db50002d32d7355e3480732006fca3780fb49a5fd372392e060a61fc05f310012042dbfdee84f2e880b45a5aba4ecbec58e2b6c62561acfbb85f65f8024b8c4112010e2f3c9904ef60d9586011a2368c8d4294dd1ed8a01aa6079df709eea20f6e4cd3cfc2d9689174dca02519c10f9380c1945899d38ab4624ccac7d886d48c810a6ec727e25e03a3716300e9255e9bea89dffd1e23f0fc7c33d527a4668fa18afce7e91b544fdc2a3621394d3d2977b65f81a415fa5a5c23b0d12ad1c20b655c684fa4b5c88d6983b41b784bf2d9df053935346510a0d0ac451a8f3806fdf9ac07121da93a4ebb62b0131584a5b193df15f422004f038068071cd4a30a63a8723df080916658c7463b2eb78601aa062b3c10ac4a8b35fc53b3e2fe06a493d747aeb7e187296425cfce29a5ff307d0edcd0cb50d7302273248d71ec4e672a4b557432f270cae99a72add480a501245c0096f9bf39508d1eb09482aed9f46211a2aa0892876c3d00b788201e4441b582f0c888d1ac7c2b79f8ab6dfb9ba4e49758c135d2a45c49923e5c21a52412b900a900b000e8b9cf9db5dfa4a87abe9a6376342fa63d01a1812f6247a4d20af0ea4f09225304326f0718593eb2e1ea9a56eaff0000cc4b2320ac4ffd11a9d49a4e283767929365a6bb649b6268707858d315f349a5d67442b904dfd379ef8e71b5d49a4e2897a0e0dba26eb7a613ca25283010c5cdea91e5ad48f92d8517f815b9974bbe5c40d2a863bc813972bb7d1ca5242830384048504899b4b7fb9d5b60708090a0905ac0270c75b9fb77eb655d5dadaea753228d2c99e0c3b2221f6066e0653519324df4dad8e699b69927bae1dda7a5c0896e78f7a97aa21bde7daa0280d00def3e5539e886779faa9c804fe61bde7daa723adbccbcfb54e574342bfb41eee56ea3b8bcfb54e5743ce3e8813fc2f4bca6e6b321c76c8fedeb6f4bf0ecbc1ae5a42aa7e3593fa04eab6fa7d334ed9a77690a6a2f763b7befbdf79bef32ec3bd55a733a9ef5031208759dde63efbde73ef69187c6ac7ff7e78673ce39c77b73a228bad1332b96bb2c343a9dd8018bde9df781978fed3c9b223e103a897c0512e826d3e7eb2f60027d3e7ae3a8fff7eebc0fbc6c9befcc6d8c13319e0e4b3264c1781f780931e2a8c30fbc841871cceccbcbbdef277c5163597755eec051b550f825c48863862cbd8f7b9dd7fdde00e2fd6dfd6d4c06a1d914cb8e6426950f329f44049ad67db0fd0f7d27d569fb03a71a47ebc2326de36648ca90254080c63c31ec2b927897d6be7600b63599b6a9aa288a5e3dfe185abb32b46ddbb6cc6d9ab669969a614dc3acabc22696c55debb56297c6af4ccd42ada66199df7c49b1375e8adcc6b5aad256387c7968647cdbb89c33c75d39733c73d946866158d661c1568968516418966118a6612ca2adaa5b18638e4dd6aa5754d53aa131b62c0b4b642a261627baf2c011a98323bb50258db98ea117e266ae5d92fcc21ff9f7f6d55d0a8765dac6658bde76de63a7eb52cbc9f62a470f87ccb05d97cab90bd7d0f3d6358472bc43a5ae76c64ea15fe183788c0b629c5545dfd6126e84899b659ac14e64089d82bdba2ac38d4033095c3e64ae485e69074d12f74a1a7182f0344c086118e21ed75c7949d033b5100ea32b08bccd7520f6020ff78a3b3edbbb82b8bde7f93bf860e52ff4ff502ffe18b060e25a1e9ee5f187dc25ba72c2bb2b4c9f1ca48be3d9b2c9bf2e2d6f59d148daee85c6852e15054412fe57c663c699a7f4a764ca31062d51f9dddfbf954a2be03b421fa6a58bb43bb10bc7aa171b092ea6e140481bc71390b88e49e63c1942d0291757cb13fbfc33e9cdbcd7acb2c25e7c5b9321ef1693648a4c3865081f45bae5915e10266611064478605deda5f7c62e0f7da7203ec7c12e63886ac1d892c1c32410f0851ef8284b683973daeded330e3de073fb6c2808d763942a2e799bb5f5762bbc22c365ec81bfeab554afa382ef280d4f1ad4ed207d7d7581031c5f09a9cd481314a825a934690b56a21a50c009efa01b0cef2415b32fe2ba502288cc3cf0dcf6bacae8a11a577385c48615f024fb9f9f7a07dd7d02d711de0a2c837362e9b0b220240d7a039ed6860eace9174b3081b08dc7454ded0611a9625688376f2644b2ff294814d60e9a6a474a1fbb1b8f31e4e5cf8a85dcf3e678524fd3439019d4bfd55ccd3bd43cd9d9c6b8b9063ba53bc330105508c45e5993b972a92650dcdd83ba9acc95a2bb68b8e04f524985205340d8e5a317f47c3f81887b1f8b8c29c89db1222cc80a32a67b0bfb48f8cc258f4070c7bbaf1777a5023d9bc533cc5584ba143d7015386531f5797b03ad47d191660377d6ea8eccc9495eac5eae9f37ab3633d0a15637c9e72f74dcf19580264dbd6c9d3f3371b1726919f15755c7b36b3ca6f3575e99c3ef0cec3e5fc44af963bc9e6b1d8bc6f54af17e68b3811fc31310b2ddd00349c8f091ea2b7b08eff653d5c6759665a463ee2272720c7ff19c60d7c0618862e86d5f67da7356bc804e5d97790cfad67f8555ce484c619341ea8155045ed9f7a77c473313ce958fadddc7abfe0c75f0a2f2b1a4c1a32046e44c74eb8aaa225cd72fb9947d63f3783f7b8a9a48250fe1c97f7bfa90edb61f8e34cc7a955e3ee3ffa1f9f8be6b2ac66e1d2d73e3e4ac4fbac8d69dabc489bcabe764e4c998af57ad8af0858e1c7215121c651dea33a0b0e30f894b20fb64592ebfb494762db21991b454974333f7abe68063f7d32e5df1d517b7a2326c30f2c4a0168246099c1a7002c15c106f62e9e6aea2bd9d44fb100992730f692d2ef60abd701ef2313c3f854e424cdfa046b6061ce8516c83fc83ae4c3264897aedb5a72736dd24234ba82dee43ecddf6c6420d580102d2f76ddf28f785c4d7158ee3bbac42186ad84e5e9eb5d39c8291d7984d0b46d486ed26d63c1b97c2c7ce88f8eae77770583e505718378bfc3f590c97c5115909901aae006f4e6e1a88d1274944b136fa29a28d07e6c1c6008c9b58c89f7019b5c867bdb2b408fc7ba1f00c43c6d5823e605c6cab1db359ca324c026a1c538059c218443fee21ba862c944f2e228b11bb55da69c5c87f179cc73df51fe7b91de25c874b11a45bbcce8b41e0e1064c9d3e1760b6b5fb7310e29520dc4e35dca1886c532f5023a203ea89c6016fdb6c122ab381864cf622d57199a6dee71692c8c23471ca3db607fca0ca9397fb526f8e006941c3f472c8c3cf3f00b74525037654948cde432af402a3f61f7b3c8cda86386982532d3a051ae2445bd660bf3917d1db84949c9e28c13e44a12656702cb1f50b358b267f0bca0199b1245a29c03710d004dd4b5099f25e14986bd4daeb4f2d0bf434cda9b1704e537a487339d345e73e6d428d862d1236a1a592bad9b59ef92c816422fe9ed86ce7237feaaeafc3f230d38a37fe169568b74ac7fa0744c1bee169cd997f0b5ab45ba463fe0ba030ff3cc1641b9d287613f788499bba2d49ef1f01e9eddf822651abd39601acdb38a99f9cf549874f7833b0c39c94b7649c079e51ae910c78b13bea536df5d85281870bbad9ab16f5b74c8278dff7415e215fa5cbc3f58965f20908478c93a34dcfc0a23ed6f0bc04cbe2f1ac36b3258ffad4f8d7c122c9257e106e307b8844d06a899ca71007c21f469b5677b7b66c1546a264e9824145820b77c0499b0fa2925b85a02d045258ce43abcd71bc58853bff091e8582a66cde2b0f4517a1a083530056a1ae62cec5bd78b67816508cf16d43efed44a9634d86f150fdd572300f0508b6add6dc8c483331759f1468e42a4be5dfe7de3849f743b0439439522644a3d009dc2df21aba26f616b660a6f7c1662b1f3a39c53266648adc8cde1eeb0d34aeb784794d6555d471f44a0179dcf5878ee4cb1d15eee8b730f464c93edcf1a74e65ae107a8f938d0cc31e643159f8ed97363b8246ed45def0601a9c9b60b23d80a8cae3ab0bc22809788943b26976929e461f79c93d9f74556300ae56d2f7c44b6f45fc74b9a34db1878b0154b0f2ded48c5de7d3b2a890033d6f99b69494a920ab34b8fb386542a6651ad5a4ba8b4b0cde5678d7aa82cf5bd29c97c295c94757911e851ab8df53a49a7aa762aa086195ab8db3a20b3a1fee2b3af62bd08db609cec23eb08fc639b96d603f52617cb0f8f835fdb095e56ce89d85b1e2e75ce4fe34f331e1054dec9337d5a77a2043ef2052776fa99fcef54897a96607f7cec666d56a1d702bbc33ac27c4fcdc91a1d88f64655aa98dacd3cb26cfc4c6ef0b8cfc812665958a98ac7dd215a86af2aec25f3e449f80fb9545458eb401a976f83bc891f4f4515c98f023eec71ded3225ab28071f31d4ab1cf075b130589a95eb16c465f8c9103da3c3c2e68c24c48941c10d8a738d950bab83b4e0db4f61df76660a4b076a4f2c32da629f6e85dd5ad2f28db9c2019c1ebfa65a69434e2b82dad1ba56be067d36361657badf9ac741e851828b5298f274320df73bac5ac37a9b9eb4b0b58a1075dcfa97341a41b0f690790bca0b514656f88c2bf7709926194b55b768542fddc4560fe5deeff0b78916661d0445212bf7ba6894cd654c3c492c763251d4341cba020a6929475b50d851a503d992d9975c15a72d65ca7a836614c4604fc8dc269198827d3a1afd0f5149191faad21deb82ac760b19bedb3ae29e1501dcb3f4d3cd35d1c0c7f173f7e7eb18998d64a1f4f9b11b219bec2d37d9526e99a49449cab403460453040804f6e13033e6f255aba5da44302fa18b46fb3a61b3a6b1a669da5fd6a665ed62d776a8af8cf5c05af7522d6a1bd5a81526612de3a119b2ee46ed6ab0ba1bb87240632497ecf22fc1034450ac78687e54cdb6fbf0ba9bb56fa8892a0cc3b0d73491663a316726b091000572502df18615372ca26e5ce7722a23edef72ee18a080208410a2e0b4a9f16e3cc80998a90905b98f3b7084a706484a1c94bc49b9289500a457925f1ef123370927d3a34810c642eafde4194821454ff7d3700d2194b1a671e27b8e91edcc5067363f2aa55b968cef3146a7b32365fb5ad2ee7a7e5bb5d2b7faa9259d9f4a8610c6fb613b7df83320edf629fbbdf752957b7ae418ea6ee86dabef2ace19bb9a31de2d9ab8d833f0ebe8534a1965a781954a762518218a7dde8ca1c9528b1f92745bcdb12da7ee778cb6b8aa145a11a56ff783fffaad1738027afa5a63b5ec83555ab7ecf30fc2b6f439c9342243260eba1eb4dda4165605b56005d9ee3df9f7d6b73ed67f31945ad1a7ec6043ae20b4b918dacbbdb46c4b4a4a4a58b48dbedeae84e3eecd329c9b7516b8401503a9ba32b894e79831bea95f2befab3d7fb7dffba33dea7beffd65491dbde1b87bf9e6b2247a436f6811d4861e317b268fbfb7fbb74ff7f925afb59dd2d09a52edbe54ddddbfde99f3e8cd7befb2ef59fae3bdf7bad2b3dea33e1e34028bc022d007b3f7f6b524a6911e11c3698f22a84dbff75efdd7f5bd2a5fb77fd71666763afd63a44b7aa4f7efff7217f3573f86b2108c47c9fe6bf5613deb331f4fb43de6ed419f059c4824128944929abd1989446506475fc487ca11a4dabbdbbbdfbbd19874df428ceeba29e12c1828a112d6893a1397cea48b32f0e889eb7ed95a6befb5b5ea2435da787aedc2fb46f7c5decbbd7ffb624daf3ec13c1089ba46115da2b710f1018532b9dcfb7e9fbb264aea68111f2e29e171a63b59116e468bd89214cf0c2f866c1b912a9779e6f5d21eeeb9d3b79c5a6cc5b13dba878fe68aa787eb4e6fd6b549065319eea67b33fae61eee216d46aa0e341ee0b165a47b7989fb3384b1a0014add1fee48bbd1e198206ad51a39939bd12a05a1153b75c70ed2934495a471da48233da7914495a66924d1974823d148c491608ef63264f3b351378311b439c2413369355a47fa3b229d520f72b6992e0fdd364a847bb7db952ebdf7efbd2c33b856869ad11df76b2f6f31b44dedece3f6d9662a695b57da7e5e39721cd9b22d421ecc02ac513193bac94c2c32b81548b5b5e2b0f8b81bca8643b39a66794470e722950c813ad00aae9eb6fb77dbb2d34e1564a3c340d968de8ccbbad16fdb68e32e57c54e7123de895d84e8f4dad346a30c2762a7b795f434fa6f6ef1fca061d8c8546bcd4c3057945dad7b1ce16a551ca73b0d9be6e682f11a1083041239b07200052fbc1862882db68889a141124eb4000627b041117878e812a8e0820b1e78489284078f2aaa3062a4a6c6fa820a262c2548410a5a5c71c30bb6f84199409120bb09b2630402c472010c251abd5e32dd127b4d30a27ff950c43ec414a91169e4d6ddc4f10c6cf4e3eeae6945a636e79c3eeab66eadcbe4a3b93d1831c4ed1270c85a2bdf0fc9916fc4ef8be5ee94babbaca104f77b39ee5f4aebb29295650dbe9285fbc2908b037c28303fdf83eefeee919aac0dafbaf2416ae227d9adfc7b39eeff24a57c395d4e9982caf5c9292796315bfc60cb50cd2611218244187c295b76fcee199912cea4e79c1886223399d52c6b69abd91f6559a6f5b4a9ecbddf048722dc7392c99e52fbce34ec2493dd5f9addd9246527a5e7ac92b7315ae8ec77a6ef649490b8ad6ae7ea258a461db71849a392df36d2f61f3953498cdb3369e442371bb1cda2b8948b92da6c96653f73667c4446778a9dc1352ccf60a671e227f9751e11f8d9f5f169a9d12ce7651c4404489ea5cdb27ab2e182cacad544d98bb02ccb4459117949a9626b86ba1080ad58ae5eb02ff5604bdf7f29659a5bed3283d6f4db8f60b68f2d30948c7e23c5aebfa453fd35cb766c71829e944320029719d619d5a23366c4e7f485b62d761c26637b85584894bd9699dea75a97d9243e2151992bbfdcd584d0c395affb7df0c10765179d2b4f51d7c185e2a94f9fc17a5555315e9625fcfe69c89058c30ddd3498392854c7b44cc7f4cc8fe9c7fd72554a18d5c41323460c1b6448a6a89295929292a77205c5b4d65abf6bad5d4335140a85260c18b35e21952780ca05435d6bad1d5a793e9140484aa515d48ad5d13377870e1e2ea078344d8dcdfb70a17ea86bc8c64f8d900a7799988442a1cb5f5e5e433131984ccc0a92aecf3192c81829233bf9922614fa13e6c31177151750283acd96f51710d5513bf6583bfaad7629374e354c35984c6d8a3d241aa49e943a230549a9542a7d9d913223c3f41d17403162b4700428060e22d3b71003868502543a31e14a48a3cd4e2b433cadac55ad1dd347b40fa01d51c78eee1f3a884ec1d3b92f142d3db9dfe6d135b56b3aa6657aa679344d17d147f48f5a6328c42f74754ccbb0d8a0636411a8f8137f664e8d6783042b5dac5481876648116acf9f3273ce5945396517f356af8b3f1ff0f87344cbaeb59ca3dfcc95a34ea4a22212842a867a451583458468842a068b84a600d6eeb0d6c9d09fde8c7bcbb66329ee97ebeab6d6ca12f38e3ab1ebe1eebb9b3a0cccd0781a33701820fa950183d10fe3a9c43aacea7ee677f78f5df7f4695dbfc5e343fc2a2a2a2a2a924321291deb6ed83028f6973b3cd785f215540df990c129480056a181a8825a041510fca2fa815280401048fa95d3824010090c52519136e5cc2e9c9e6dcc18d837b70053bbaede482bd40a77f7822902418625ccac1c0135041fe8b44ce41e30f7b7f1302a47345bd3942609f037f44967bb60e39492826535b2a7fc344a2734784c1ef74ade45a3834860d00c13048aa3af31080c65fc95c3f4cc28af692928fda6ce6e17c5723032d1050242299dbc67f2b857421add40ad682f68bf925114fc799975964531b30df772ff70ac43abb12871a34efb3c1963c489bec34347560dc33836dd59466e6ebabb9105f4440b737cb04f7f539c22e7bfd7b235aa8acbc4037a3dafe7f53c9d07d4d7cba52f977ee5b87b2bfce91695a6dbff10a85e56c4e278847718877118c707ef3cb5f20a61574a29a514b97633eeb6609dd7f066e4e3f95ed28dad9833cc97ea5e8efb8f3376c728dd5431dbf88bd1142b60011d10c2c8b9dfcb712fed43c86f775a4ecfdd79c57cd627f6d875452c62b1bbacbfaef818e658e4c72247c6a2945fe217df46c9fe91b965cb1825f5f82e63f48e525a43f3596fad67ebdd0a59b1219d9452f935d697f42d7539e3d5296bfd57ea9d7292135aeba3d59694734eabb6b462a4fdded68c1f6794f2a38c32c6286394734a1b62bc38a3417ff3ac765e5c50270b48c945708df75c23dccf0355413c98014f36f34b7cf77b39ee3f9ae28d2821d3ae77ceea73cef900ff29ff9af1cdf8ef8ad3639492e78451b68c969c167ddaddd47a6bb29c5d5bf6b6d59bcaeff7b3d6e80fa8ea7c28dfa5d7892a593e443f7cfeb4e8746bba53a7ef346edb13b57777f7ff7dc1101e2430089f54ac58ad524208e19cb4214540c7d855dab0c33930bf24e343f7794fd08bea2da5d35a3964b652da988527f8463ff9fdeebd8fbdd67dd1d0a4169d34f2a0ad79d62fa56c7963c8afb6ac655956b439b7d6ead137ad776bc2eab557266b557fd9bbe38e8c717f11adf543180d34d040030d34689dd5182ba535d21c76e8d0df5ad6173bc21392978c43a69ce927ae8d3bfd7282e16d709d89430a3fd6689297f3bf5c8c95f6eb38003505634eec41ecc9f8aa024f0a96b8d7b36c6b8cf472f452f4967d4b7b8b7e943544df935b87d24ead6aaf10f69e286af16dcc6e6cec798d2f2815a22c4edcebe554be2352b5f663ac56b55708bb59ad6f89f874b45791d881824647eb9bead888db5d75ddcccddccdfcb099ab8ab9621821cbac1a80bd53d47723d5af810fc04402c0181f2346013a7443a1162a7ff19e0d10a69443034f802f7c052c3fe6ffcc2783967b3f459ebce730d230c3ec5a5cae756fb9d162dd2bdbed03ff434961bd5358709a25071d82ca2fef194bd1618b8b4c77cb7db6f9c53c1aa09a1e30f15fcd10affba102981f9ce1a75d9efbbd1cf7f3f17377aaf8d948cca6dd1ee04e1f61242e999878adcfa295535bb571dcf5a5397f96e675a14c941287620203068a090c13ae542a75a5929b6836cb361413933f4131e17062628239e12226272635d32696a36e5c904f8ef94525dd4c095d980db3646a1abbffd47c4ee997cf8b9e3cc7656f52b3129771cf954e32c03d786d39a2e7b87b453378747cd4f6771f9feee922969794bcc9ed9daece73fef5797f5ef7e1c307f40b6576c15c2828f32ac989c2fd2c5d17a52fe23e01f5af1c300733d54cd789887bbefc4b7f4b26ee4d4e4c389898604caee64cb8e77144b4c12020c7885a91c8141512267c7ea062a6471031b041829c2308c143065664016699a6653259408de0c61ed7c5a92b34dab9d79583440ac32aa01f66e8b241c7fca13a91c54c4c8f16481b520aeb0e6cc28669c3537bc15ddba1fcc0d054bbfb5931589010949c007a5cc33c93838eeb06bf97e3ae7f6b7addfccc22826bb04ec6ba69e22615ea64628c132c786ee3892b636d797917f7183d0104256a6ab003236ab45002134cb8a2892580808a1ba7aadd4028721ad63a4465dbc38a1c1c1844c813361b9b1f37428e3019929324f68d1b70f03c40646a685827807f1d00d2e8e12f877bb80c24d586112d20582288123c4ce8428a2a58bea0d6e2da038d333c53cf52e1c11be775278d0475090838c62a744b9211989a3a2fe519cf8e32465bfd74152d9f262c24870421892b904c5104082c496e8e00859f1f53482184c50a34b0811378544aa022e34212151a96a01ff800094d78a2891b54c1d24512252062084650410d1037984123040b59240109179610467a324308859010c29762c68a5fd0e6baa0d05fba941f8f585202dda905cf902c20290a1ea4e8902b3c88a6890c05198f38b939a2c0cb4dc0082ca2b8020e5ef0831fc030c4175ab800055e2c61c70aa205d3c774974d3c2a46a04408be19dfeb2641e184548d02043e7366a10504a2081a45507725c1c209aa296e18a065bf40287fcc082384d20617ef4d41c60f7876d083f8240ffe677e5d20a1478fa0a023478000e98ef154e70e1da0e5de7b0f9e44c161565c0ab977edb0830e2708a4c30ad96107597a949aa84907f74012960c5bdc0f481893430674c0199500e4f0f1044d3b362083ed60732e470103fd421397e33e093b3b70099d191e35adf3e306c7beef9ac30e1d3ab48cd43b5ad2ea7ecc3acd712d45fc69fa393e7333f3f07c9e4f474767872b0c786c88b068c196c5e7dd783c31d0e16981112041800401326408906e1c1b17c020688baa0809d8083e4a60f12a20cc004708cca20622a88cf0108410192401062092c00211441421067286107702c0060a363ab850610540383c701d61011338200d010e0f88ae8003b60ad8080378e033458f0e2ef2bc2307d83133333f03eead56e7be547c191f6618c7947fc5c8038e0a070364b450dc073800a8055e1d3a3004621eef55ef7e2f4b1c48209641128904925dc8a0c9d226c688c54a8ff7f37cde16efc7c5c505002d007069ebcf959497746a315d71d94630665c125fa43b9a21ea2a785f76d9af8175a1da565e56befcaa630a88d0244426c5a17a90b37e594e5d4c42fadc297577db031122445e2841df183bba6fa77b39eeff747a6eefb66dddef4913aa534220fcc9820ff79bb2e8e4382c4efcd8679c1d681bdf3b020a8aa784ead7af17c684ae8cfea833e68c96d027894423fa99f677d344224de472d2b41b0a695af6a1ecb1f719bf3919c7c5edd6a258a4b72c13a97ba9d4e4e272678cf1a515bd59c2996ad08f1795f1ce8eca15da85eb826803c690938d2455fa06b154d7ac1dbeff92f938142396aa4e83358b056071a5d5daaed7351a4587a6ab83e18bd05f38f5c5d472728b5adae9c4441dbeeeeeeeced8ca60e35921362ad8b6a3d16e28729a46375e63118e46f89939f28df77f3ac9efee96302bf1081b225882704d52e7fa4f8fddeeb17e8cb1c67812a38d2f63b4b1e77b96f52eadfe167af7feb09b734cbf5d8cac9c2031debc9eeca824ae9cf90a084000a395001412078482e15012c4300843414aed0394024b459d4905c4513c94c738860319080216300800000c200086182021ec040e7d2d00e0f7c3d46bc4d4235a61a315f052cc68b44480387cf75da9afd18b155bf461455f1847435fb55a4ed9aedde3faa7823b32d49414e6d25a5695f8dddda339e40ed58bcf5982a12829f05e510ce5fa6c4d99814e31aba3add24e875df3fb90108db57c921a573241fb72868da4496c7e8da34ac9a3b5d74102dea04c03098fee069c841af00d42725d7748b21074d9cf1d72974f36abe3743bd205ac979929d87114d4d25231572f03c5f48a25f887224c62b2bbcd3a5cfbbae8c294a8c1276feba866e4d0b67ac897afd136c4b32267dfe9d87037867bcb5f41333be6dea8634db2a94104dad44c66df0fac7755d520ad28ac87a7c65fde55f15865d8aee181415638a0ee63552894268e598582322a77551ed22042b4996fe2f207052e8d63d7fc186df73dfc2066fb68625a5171bfa8157099650563bba6592e8ad9103bf2cd2a7e192ab0103706d1271dd78cde0477b5827dcc9d600925dd65cca39c19e06331c65e9b5ce6742d5384a3bcad41bb8a769370c3916d17ff0753b71fe68b83b1064c86f02574fafbfe7234b86d7beb5f1a573ad9e368b93b033dc10ad0357fed1c87ff257d3d153b6b836b8130fd472d70b27bfe23e896b8778ae37a6564d851922416496309a428dbcaf040c88d56cb05e34d598faccd33a5b2d1e71869fc5889a2851d25b8a810e23fad19790967257738a9a2de63b39262aac189fc13364097adc38293caa4541205a62c1a49e87a43b6068230af4292633c931fe068feacf1fe291bf9f81d2481d05561c059a6fc668e5c08d52b777ab3bfb94e5e52a145a35d8a8c82802c1adbc6ae8caaa4f1720c4930f1339a2daca6d6c7c409664dfe3e485ee63046bb35b22373ab32e95338aba044ef43cdf910e840cd32b024144c4befa1a86958944fac8a323664504e798d4f920b9a5be0e67aa18ccdbac9247575d0a33fa1a5e16119afe6f5b93fe1513b0f2e7f40409d1b98c8e73a22f6e0c98d25d040f4e386c03b5b18b4d200ec0837a696c82d62a1b558f62165ba8a4a1a7fe96fe9bfd4f73293bd72d33b48eb1444c3829bac6597dedebedd4143b45d69a2419b81090d0203427f2876882c4c88f3144a0c8eef0f3ce14e43614825cc018d05a6b4814bed0656ce1afa59ff173449279f65bfbdb39768983b14fae01bd6990983331b1773b3ba8290d60f4806fecda127956a39ed94892b8124f5071590f9fa39f7260e600a3823a0774224eeda6c333260610a2011335c6f269b8d59d7bbbb534d38988355f051827269a95d8a23b5409136deb7f45ffab7fcae41bacacd0d6e13266df4f4260b913e859b021a63565089460b49b9d7d7c73a6ee7705cd2a421d215c6dad015a1ab15be49e8348a82e016cb96d670feb870f941e4aab0aaf83e41fa989751313b6eee909c8853bf1744337024a8d009397f86ba764489d9500a5da87acf6ed1657bd1c4e5463e460e732fca0c52d18d263a3928ffcb3ad7d463cf5dc7857990683de935aac87e737d8f280be954829693bb418fec84e17bbfac3897b09510c6406ed6837318792137fb25ca82585a0f940e258030bd9c1b6e82467ddef3a1eb929810bda92c193f3b71e35e0c07620d799b4807a7c4b5a7588c6f6a1d5723389eae39112e3825ce1ad7ea6e069828cb389a0867019f2d2877a99842b75dc793c516c7da5d0f20e374757a9136645b024654330f4d0e51d90a5ad250d30a817e0eae2bfb5d6fbb159e59699e5a70c50bc96f941c27993f04c4812d69e5b5a396d2a104ad4c74709309f00c5d49b64b91792f9f53347bc45966c8e418bc8928ad364b2a1469c3a605de547d114fab83b89255b6873a70d447e96d9a2afc5e2741c660040ec3f3445c6a81325cdf914f8d70f95784b53711a5059479263efaeb45425ac9aac312e396723c22f25f304773c27065f7737234c351e29a7a2ff998d72592e611cc9bfb9d6df49c75440b5cd0222600a8b41c4fa25e6733980f1536932cc6590b5b589141d17d6bcd2ae6378faa8bd0a2ba771d614d005a94cbcc533d7729371185221ac7fddf2ed3483302a1b9cd589e9e3af0081322c5f59374c82c70d8c1b5745322d20844ff4e655ac471e7c2180d379d78877896551e33406adba5934bba5112592cfba978c75232e861e805c63e865e30b58f99a6f74b3d4cf5ca269990800abb0d576a023c07f3c5e460d9780938e3382ae0b51ff8a2d9c491ad3d41debe87c31cb745c3e0b59b41586649896f742f8256c85f725e49c8ebc09f6e6940c96be172d3b6c9611325d82faf1204bc463c87734385cec79dc08710612f6893d0b15e8ee24a284a332a9d386e68c88d84ec52661d5361efe3bfd53ce5337b6263fc5c1c1cb2dde6a45eca68a74bc7dce3b6ca9c4c963a998cc90051390be8ebada166482f0a345ecad601b7ad852c27247ef7cf591e6af441c0c09b2446f07924b2846050fab2b40d91b0e7ffc390074928aa0401a72b92a8b35e3c4c2a33359f62bd735b5e50ebe1f5ecc65b865cb49d0a171bc1b3dc989e1fbab14550e002384677e2d3b3d11dff510b7ed2de057f796b8a889663ccdac79d6440192b5a83f563ed91837d94a9c79803d936525ced78d2a7d31952b7f9012148100e8ecde2a52985e5583257cdd93421c1fad7c1d028db05b4e3b67a281596927baf2b9af474d68a4740a0cbe30ccd5956c38a17e83ee9d5108213b80f5e02e0230e60fa8f233c00d9d6065405b8aab17e1a83928b08e906b80fd93311272637c0be552424e2d22a2d429f11283cdce78a5cfc93450e6b14cdac23c5d5ecf9ee5faace898a3a2ba6145bfd04ddd74041cfb25a399a1d2809c926d9d3e4540e04d6de29ad074e299dc78e5ce2fb27ee59e557b72293322f0ba2b3aeaa1c4278fe14572d62c619065aaab45767013cc08570dcd32f9152a11f50d3f7bdcfb21a2fbc4fca20572f3c2414658fbed45024cca4ba329d20bc5a6c7770975e1b1993ffb0c37d8ba833c0f021ac9144317e43e5c7e88d18fcb5ff12656329a7957c74ac69a1c760410127d3bcf125e4d8c4fe086c9386e76cc596d76c978969df41dd9ed07ef4fa1d689bb0f2c95b057682535710b14c4c71bd035a8fa9418a5961fcc87ca3dc5a26fd08af6fe4ac73cc2fbb3efdf6a4f1f8b71d0ea202c91642f122e5dfff3a0c304c00f16a00ea8adac49d669dc79c8bf82d05c651787ce061958fb0017f3eefbf8daa86e1b8361786c8387886211f04673da8632e1380f20d386bb342ef52e4e7ddcd59afd11e7edd7bde4650c07bb0a37b161ef208ef81538b33e20872ba0cf90538c311a8226cd7c4e73e500f74a66672330c683c0bff1207d0e4897e0ee5f15cd7f7ff10d81572033ee937f2f5b3bc64df29657bf70423bac2f8ef0adf5c4589b347d908c2e90023dd909e2b645482a8f6f85012e7d0a81ceb848e2d5cc07ba8b1728672cf80a9dd19a48aaf135ba0d46a4525ee8f442d443fa961c8e83aa5d6d160e28e59579bbe15090ef109eb4ca32c21d0a86710954ba686518bce1d60646a5e2c800abd5e405d26f4278135a19f56ff98b4a5f80e24844836c097ebbb9993902c46384d12f26a822e74a14bb8972573e8b9bcb824850ee416912b20b3b61acd9681e73d262a00b771fe56dffbf79b1a2822e6b6b0a5727e83438b2601e436dc45c963019bcff54422531f0b5bd73e167ca0e1c7627ed88f85da73c391037f8772c74def4961240bfeb89d2e3e218b56134c1404178b1f64b350046c0a4768ffc94941d8c09f2c4d3e311ec62f4ad10a40857c3d3f563c9d8c8289922c4bbb800235fd2491ac4934b82af4caa90fa4b2aa0593b3e2ee915ab261829eba068a9dbe3476051e6f49028db566cd81dc269543c0155839ab8c3bd8bd6b18fa3ad0bda278cc93817a3ed5b183b4982028084a29a54ef0db9d54c069275d59839e44f5ef1c272d21d4c14279eb4be119aa5512711dd206cedc359a72cfa2172424918f092768a5f2c826f3f08dd686e044c92a2b3b902f03ebe66d0e9921b9672167b9fb04268b896e002fa3855e0592468f6340e883718d69dc7e75d1fdb7903c2c8ba702c5dd3a883f6bdd27eaf7be3a13209339bab28e51a398a7a9c41ae2250e524eff4f23c8cf29d6027c97980bb22527cdbabd53a9202f76b2393abb2486090350c6b6e4853f6efe03ad9e5e24bcc9369b0fccb6776645b44a1b3fd22a162d90675067c59c594186c73f94534fe85eb915fa3c3f0c09826d7982bd42ab28e2575609c4c5bd322d3bd1ff3047cb6d292f661e9959ce2c082a52601e7a88584d378e2f4e0818b08c51ae132bf397579975c21bc421d6b01a781e94d36ddd7d4e965f2560da272d8883667495a0ddd1dcbb59d78662981d487532f8c13bbf28335dd1787988bf7a4884190be1e6d803ca464bc8957e1b0de4f85d7f555442ce9e45518979f82018fa913c7420abc87485bd3c4069442d71d846b278b8a7d776ce5dfe8dc55bbe8c3e9a86307e5d238da9d59e50e64fce36ca44ef30f411d86959f003f501deb50b4e7b1b6bfa2ebeab886c9b2365457649fed9f74e808f8be720467249bdc716b8b0d6dedb2bc2570dcc931eddc62d1d2db459a2303a5a30da26b8aaae1a23cf7b3bdd56b7f0e505785e036cf0aabe3775ab1ba6622c3f867f43b058b7613112770dc7858f09e68954ac8c413bf8a9676169b2619de5edc0f1bc0836bb02a365f8e0cabbc15632ac492c68b62b028147f60047bc3619688f4de4a7bb2f365dfcf9c410a08d9339d674e01d502bb8bc7919163f2fbeaa40dcf64607ff5c97308c8db01100731c1fc3713ffbd6346bb6d8cfa6a76bbe1949b37cac6738bff76aeadd357c5d71a3d821f866f0383e482486b1031ed461250a6908764f20c2528dc61ac7fbac4d3c0a9c98fc383e5d23588e5ff91ac0ed77849d039f6bc0ca87a2134f68db6045ecd3440a581e422d1ad287a7bf0431d74541db483936858f73a2c26f275ff7af29bc0236f7fb52d4a31efc8ae6b1762ccd41e1618e402781386859c94b0e47ad9d0cc96aceb0ab730acd8a89ed75499160e8546c62bc8c5d09285188cc24b3bdb00757b6d532971673582ac664431fb126bc40b175691a8c7acb1d1594ca37e75fb1e742a7a2feb48dd0c78c9bce74d1fa27df72a10195bf22982815670b544c31a336ed641ef94eae6a120a96e190b9ceadb222ed2beae021589a2652082e6b969f3101f1c8ecc0d356e612b55bb9b29491ca636efc58df1db86c4045c918677d17ac78e5461ea1e6d33e08d6f2e259322c96890aa7a91eb9da396f1520789b7429ff70dba4af10e5b61f4230e63e3a92192f490835341cffb8e926db3e35fb435e61b2ed7e75a60ad207ca486c0d4bcdc851833d4587755b3459b17b3aac271e7fded49cd12530cfd9c084354be05aa5b2a9df05007f9583d33018a8c4dbf37b0f83351ad509b2762f934ab83bcef7af68b77a90d1b040593c4395b31159d2576b974861d06772af742125b190ea5bcda5a8bac2e0a0969c63a3521ad185e94dab4e7f11819b5f05e4b304bcdede5fe9712f71aed37150c26d0649cd9ecb4ae75fa78374be79221cb5c7d259ddb4618e796541b481673ed179b24024202ce53007d7284bad9bf2b8a55a0094f91c646d59021106b12cfa72d696f8575c4413dfee39c32d113269682a18868f5c34ed323f0bb9780138c17d666caf6fe0e0049346fe341d7021a07e3994e9a1e185d279d16833ca718b6044a4cda601cfc2606f46eb7db0198d9add9d6cd13d1c932b63c20b6134f3691a73c34302bc8bc54954b402bfe214ca0c68a216442192ca6a9ca50cd9ebdc31a9d9b616530278d00bc1a497b9de4db6725ad652e9672dc775ab5e41870a07ea56b97faee50f255f1ebe34dcdd197f1b6356ac6aac62b4680ccb17e4d18251776c0065b4f8ef4f11312c14eb0e0d06a0eb9d8d519f08796beca5c8c5a7d29f49b4bc9f7946b3ba5945618dc8cff75222cea6da5fc468491739ef16c21b1eda085a41ba30e19c351cafbc0e402c140ad5227419222bd6485421d67aee6b5936498d11b2669314087adb55dc7c39a133da9d2c11c899782b984146cc530b05c261f440dd5bfb94560b4155a8781b2352b16d3c399b9f38ad5384d4b6ab2ce76e69a981b1d4bad1b709deb9438922d9a64110609ea93d43dccce119d3a5325c0a2aa158d3b2910d111a931330e92de6f12755540a205200d0d14684ef409b9f9232a12098efdfbb002b3353aa64c872c57d95a73d89af215eb97f34ff7b4282615d3102e6770c9598161d46688b5179fc18871c403e0bbb69748b7455b306bb9607e3e570425b4a54d31245f45ce4cb77d0dafa1d7ddbd4d896b09a2fa3d1f89dc66c6ad053c90ba9417126e6a1968d54cd0a50ca17e34000cb818b6c0121fba81d254aeb7aedc03eb0ec4d8c7a004e09d23f889b33b2e7737cbe002e209523286583641f9f9e516ae50a241a2c71a42f469e5b177ad2f35b8feebc93499ddaf9854e44d082ee227cf8a04a257181fd244d12698213f5817aa1261e34888a52f146fb2d0db2940ff2ccfad3fcc4daa211a526616a9050540a4a296bbcecf7fc51de63447affe5e50876eaa251518a300e862a5f01332f7b0f8d962d3c549d826d72f86bcbf5892bc6013fa1c20a000f6b788aecacd17b8ccd7ef62fcd1f0c242d63357cdf4a85c29adcdfa775425dc1d942e47524aca022f390fa506a79a886f981791c6790d09bd2c0259321d59ca3dd969d6cc7f90ca281df6bf164b4d86e2dc20e104634e1f2046cbeb643437982442541101d2ea060402db602257d3c2ddf72a4c50da35ec6d16a29f0dcb7276387ca412e6b68c205bdbc7ddff63b64cf135e2be997ae9991ef2f3af864fff0e200ce1e045d6dbd1dacc0699020288be91b8a2edfa6d9608b3dbeb766ca6a59d0db55caee689b56507c48eca1339ae51e9d024f5cafa359c63020b53da8f76212aa7d2498db3e443c41d287e7924b7ebb447de68ac8e4b077878ae03aa12c06230b6c127cc0e000185f013a6faaf95b71a2b166e94fd0adc325a17aa7f9915c9fbdaf070402642da9dd68a5315225c5f3bdf375c212ee6305fe26c13eb7e3542b1719c490c8be178819038aca4dbec7ef20ac71fc725b8c1d6e754fbc137ff534a355a5e2a5f1ad9fc52f84c2a8ccbbfb19d9a69fdcd804e9cb36065e90502a9ac79c235edc2f2822ceb20df263631f3a00d4e23b1534a6314ccf03b364667f29c5fcf073c95f41e86923580dc075406b49918e44518343d57d6c00b40e727f323d875a9fa7dceb81a9f5a5c959f14adb983b73a9a5b3a14cde9ac54b8fe229265510c4c059dc2f9d6b98610517669b994e066ce59d5abaafa676be9b88d6404277837c8f02b1911b3c5d3de5f85c55fa7a4b11d1a9a28c9f2e7b81db5506619d104eb185a0ef249e92c7e3f8e40fdfdd18248062800664a320009ea21afe29683fcb0af0b4c3da34e54c7d27f88c974fe6c1d62bc9e2c8df55bd522bf89a678fcc168825505196b137c4a869f92bdd9edd5490bb593223d295343e8b5a3604d83e2ced657db9a8ef6b8450d20517fc502d64b344ae2d823fceb8c29cf6ce01770b7e8522bc3d808745cac3989a21c984a8e4c52f49ef5476ee36a5cad13841bd9f5c4963c5ccb9eb613e66e3e4c5b7128669e810dbc41e7deb40e7dd518d71d2f4cddcc9e9b8f61ee919f04ea4bf5e172b3bbdeb2e1619a6e80fda2e59118b022a74c5ad2ae4169a64ead660ab0a0969186b2e61a40a86f861edbbf90c99c01171d63ca93044a95bd13478540ad1fd5138c3ffd334fec31193f7849848a0c507db577baa19eb50d0ca55c503f5c907b98dfb9894859018687e9c8cb48de2b089fd06e54bf2582524ef71e1361734710d13e0d210788fe1adb78f2ac566357147bb0c37e26836da1d654c60b6aa948124af2795944a26dd97cac9b0f62ddf3a95d577f9a207e2d33b83cb68358977f853e915d1cfb3a47ebef38f62f738087ec01264c5e94374ed9c2eb279fc8b7ccad32e1bb76378018ade6fb989512d9e41a1257fa83cfd7113ceb251aa37da66dc20c171402738fdd0b0e826c510b2b1ee00dfc020b3aaa1a11a6bf8c0db0528b7df1b9a5aa79c948ea1ebe1594bb2137088cf60f4b2f1f8392e4c11310cb450f9c73d95bae8f18a62656fc6845cf170deb0a90511e74860a36f98ec583a85aae4f4409c077abe12640003a1a77b70ee3f94c694438dca478f4807a8d8a75ef9901a3b311e79dbea705ea8a8471f6f42f3bf03352a05bd17c59650a8a442c2522046023629055bb1183faca677956d14791908ebe89d46d1496059110e1e428407407c88a11df89342a6f2ee23ce34d2704c78658c7ac2234054eeacf292519f19654b813dee78b70e62aa80a673eb9681f72fb03e505854d8353b86d100c1355460f32d62c6781d7a02a5844cd33de3b1f28cf0e79f333ca89cc06690c514924a759588c995f0693ed09a0d211832748f5926941210b95b585887b83d3643c449cc010267e10529253a9cd98a8ebf70d31734e279f7a57280225937a31fb32877d678a756cd0b8104a1274b856937a090baf67e8e5f1c9946293a3486526246ced40dcd92917b9ce193de62bde8e4402675eb2583e101c61194094969b11f183a0dc074eaf9416e684da470f69ee813d3ff0ccc7bb5f40e67d66a2dd0a14529bf6d196166f9d386a913ecda1eaeac3e40b971a99f0dec7e2364ab9748fcef288a8d13717ea3ac77cedf9954602fa1ee64529aa3637723dd2caeda60a3f65ff70c6bc3480e3af3b1a5d420d74d9aa7ec9354811ab22190a0070ed0aada21122d2ad613d9a288b528888efe265c31d8198191f75ee2325fa544a27dce326f1ef804705f0376a31774b8eda1560b9dcf886123314e0eb2e17bcd28573c3ec628bc754033015c255e17b6683a1a5720a9770b4268e62973334be0a2b8086a9e67d2c3565d25c53deada336017adee9d41488180da2ca2e67bf6971b548db4a865501189ec825054435fc089dbd05fc1e7d89378eb14d1400496625b0cca12842620986dbb3b01101bad5beba8506f56ca4a30b9e36984204367e6ad5c8cfc515bbdc363faddee6e9c8ba88d4c6d1a70e1bdab7820aa807aa0d2bbd20043426d28dc81ed505431cba6106443474e645abb2b7b1d016921cba0f1a30800af23471991ae28c2b41d18051212a1313843f2a044afa03f36d29f07587eeec446d73b67d2d315849a1e114e1b8a506666d0b8143d56728f85a04ec4371befa36bf763b68c0d662ec5fb2591d02808e17dcb6de0ab55bb40d44c7b36083bb42ac6d92998ef27b38edd10ab8948a3adcb32a1c6928515c84747311ff72653541102fff4e1677d03be7177594707488579c56037fd6b250460ed15d877718d09a35f808af0215cd2187a175e8e791c00e0e71f2b4e4437dd3b68eee37600fea466dfc085c95ffed8ee4bb932ffe894e1a7c45cfef8081f76184a9cc8ab8f32225b387aa33371343b34a05a905f8d98e3f3566a6870593003d09dcdc10e0d9a018f298d737f334fc5d4d14bbf3e02c7f9f3f077dd90c7f9ff1fee74f688786fe5ecfb0d848cfb95d519e42bdbbe1217c5162f2d2a97cd998750364d8b2463a1c6cc90385577a4d3727155a936824da9855d68ac8d41313834e8277d2380aea9f9205b68bdef3e60989d006281096ca0ba86ee539d7d4dbed6b95a32fbb9e895657f7fc849d4c5218f073c165421c8e276402a89adb0393c88bf09998c489f791bba09d544eac714a05e604a95ec465771168a4967ff37c127282e4ab9964f9ae1b453ad86a5e314b83ecaeffb5ab72227a410ff2de4b726ee24687012a88950696c23142f671894767182e838760975d21442e706a65cc84080785fc58e6d29ea6d293b26a2ec5bde8aa4b406c70035700dec08df5bbc47075d810f5ba75a8ca13053bec87e32973c1b61a1f5758482430b1c1e881f1c0006aac6ab39b88c67c5a2255161127c5a509a50705762151326609a03b7a790ceda7c00871c16579ddfa06659f30e8bf3e13075491ae098defdaa0d74916587227e64f219b767e7dec4dc2d7f46c0679ff9c40b86dfb198849e526ad372c967e87f30d0194856ea09a52d91c6e691cf686a7175dad8f2aac4e1980b20be0f5e28611da1327dbb26eafdf4e48e8f7d5156814e1c0cf0a4b2f3e333a88acd9d18c4b821ad1e5d81cb49455f67c900a89c29d39250dc874b0efd739b0f79fed58091fa2cd630c6e35adc33429bad598b25fc6d1396d06dde5e2b7135339f2d03cef86728b8cfa87de8c998c6dba0bcbde3f4894178cfe73b9d726e40e09ea14199f3474403ca69d00e7f6c5c233691d1dd06524171919766e39d208fba780ec6cb825d98d7603f07a8d9a0f0d18930b967eeeebf9fe3dcfdf7739cdb7f7f8e7333f339156754a0f1913cf1af8c04483c9690f5e42e762b7f6c900ea8f02eaae760ef38cbca2deaee2d9fce302e0f4238d333345e1b8c083ae479590d1d23cfe1a46575eedeae2741979199ab262a85324db368fd4c0642a12a57ee9f3d27ede0ae689b68681ab62428b348721d09caf37dce283cd8dd3d8673ef5e6edfe79b8d787e351facebf0690de7812b8273e1fd012150f5745151e84e2c6b18400029c9ebc40446c5ee0d3d10979a5334da314361b8a64300c4c131750d647eaa74e6962fbd1064362df4fc328639740df4ae6db17b1c381306ca0e7853c963c5df1f686bdd1992526146302938a9a5026571a47bb4110012d7f5f679701051a38e5fdbded3e911bf646670e9c5b7f0790a51fe0249a1852fb7706946a1aaea07db85014806f631ccbe176071132461838308d9ff83ed8c42ee6fdc4a26b9faea02773fe2cb3cb57c9082ac6c4c97c3681a41523784ff936d56fd170500c1a5ae24bffee8fabaddae3fcc91577933c6bf3dca63594c41da78824f86fe1f44f7a80ed1de6771628b45a6b0511a062c85c81fdaa283796853572b49f3c552a088f57dc14fc5423ee597dcf7d6b26784012e2eac69df38d2c19a8268733fbca9cb7df9be5bacef807c913108d2fe5fbdaa8eac8123821627d84a84e1207995946f1199002a74864485d9838dede1232172b07e5945050107fd25a761859b251ca62d7387ea947e5a43b229c0501bc7ab753ee4b54b64f590746c94e87b576d81e8a608d40b603869892d43c2bc268b9d03641ad823cccba685baf988d260f82e3900ef05b14ca6b948d85d525f4e3ee8c8a1b7874714dce33bf466b8cda3e340146e62bb5c4374320fc7a68ca64482ae470b66754644906e6c4b0f200b472a0c6085badc7cb17ff6dc4232848bb2bd535d140b431a936dd90b0f4cfa0f10474c895faae2c682c06408d012e3ab814ea95a8eba6b4237e4a8969b4f87d9c21d37db3a52d2a9049cf195de152f7da4505f7ca794665eb8756d2d0eaf52cbf4da18b258a12a3da1dc78703be2890e752ba310b8feaa89aa6ac0a5866b0c2e9f5e67d885a2044ddd39e354087ac32af849e866980b69feec730fab48eea050afcccb27220d7377f47ca4cd52a599c6419f9404865ef34bab806510a9e06c2604a822f310b067c6ac8548f0b2e00a4cecbb973113948029ba1b2e4cd487886244639f233e940b3d3dff38a155231a0961a9fa7a3fadbd28d4ad5b5e92e16083b307f3d144da34e84f0d341b6b9d8e49073f62a61278e5cb02409a025add7ba6e0e923e191b96258377777c30ba5b48d0f857129048243493894efd18d287234768e61e59111ea15b83976af224a89c6d7bef236925c4fff8a69f26662697005cbf68b9bc6b7e4807c1d14ac89d983aa87cd25d69b3f50bc4a7f63430ab2fcb587e4157dc3630ffe76e4c33efc976a7977396bc6f7830b296fed9ebec9ac39c0105ca075b50c9273f32384cf88f72db98d57b48a7fd2b9adef6622ea117126002cc63696a511a56dbeb3d5513077e96b9c51ed4ece0745d4a1c514337818643ec2fc1173dd4afffec022a57b225b2fe02146c058b145c0c459501a2ad120fe2f3df4660f6913fb28c7671da5512fc9fa2d861012f542ecde5bc540b7050c3d812f5423993378ffb73bd55a9898b0df1caf91f384d5ad2fde263ed742e555ac83cffed5d26c0bfd7d502ab4187d9df5f84d552805c0935dd4e5d7ae296922895e5a8673151e7787af08bd6a3317b1726ef5d88d4dfe5a5adecf96d1dcb412af4b2017084ceb5b782b8a97f9b870bdc1542b5c95c67bd7fa174ed1207dd4d9c083c2241da40943073f3aed3f0afe1abc99d3cbf9186a47ac40b3f666a6a4b8bd2a7b828aba9a8fdd6181c837fd4d7e5dea0dbc1a8ce741f6cf127dee02bc5aca36c0af229a10d1f42ae670836013c1538bc494e8a9928f17c024ea92eaa0c3bda2da0c0030afa228dc314979c2206fd4da47b9d013d2c9430e064baf4544b162f3fe0cf07ca0c1ab14ba539ae278a6a705a10a896d9fbee9e9677ddc3c5a1b05a26ebd095637994ba5c7a706c348588f9ce9875e0bef302d3ed0ebc740e98ff0a43669a193d140282cb312eae2f7584e4060435dc4fa3eac71d67de5d0c10131e4e6631bb08adcd0310a2f2ed1ea4330205530eff14740656faa56ec5d791bfbeaa3813feb8028981a24dcfc9b2229095c45873b13e540b1d31cbcf22ef8c103c3f02c1420cf2cd9a45d89fd7b28b121bda36d7741809d01533e8f9bf3c58d0e783337c5b27898d45fb8a50a7745c13b284d712f9eea90ae68ed23ff135b94670bcdd56e4348a79b6ffc1e9083e46f3e923a4f0c8967faf58b5954619fcd900775f93ebf02db1b1e8a180e7cd76ab4cb8c80b0e0d87568b07b85e24f2fae84a0167d65c26861738d97e11591615aa0bd7f8fe1638d9e6e3f3c0cc7a191fa8e8442ef07e344dc38da0fae9c0270756203963492deaa4abb228489a24f7138bd0c3b7039211656c460587d5ca30274caf30ee2d506f9112b3c4219da238a3692a4dd6dd2f138a2160335d922cd174ef71d7401f2dacf0c52da95537894ca7758f35c26b8ef79a5ae1a2dc318a9fd9e0ef6f97222d161f9ea6bce3fac23d619bda3662b85c24a5267146136f4282c50106c6b884b74f9218adaa62274e9897894ed415def0ef1e5e72c605813081c925d4b94e5525bbfe3f0ab9457a41140b6dd0408e577301e5c2c706816f5ee4d7626d09d50ad5e63b7c5ea9767e1d222fb316e518b1935d93a2c64133927334eac3a42a2108c8cd05fb40cd6019b47422656116a428d22232a44bcf8c58e62c488b1ed5425b4f018635c135d60ad58be81207a977bb5357df27ec86c6dab6c5b24711e67536fa0ad5b6ee60f4ffc14a774acbf0360505a3b240e18f6c26105048b9a26a614cfb530dc612cfa80777aa448f24824bba486820679e1e8d40a54c85cc2aac0a6b60bcba0fa5e14ec2777328ee7a802be2e7ee60abf0dc0b3e341dcf439e728cee8aeb4871132d8f0a631b28df29e59f8e4cfd81208658fea3b063c02ffe9c69302d9146d2db5feeec800b626add84f7278aac93512c4b69a160802714c385e26800f82ea5b860c5bc63edd68e32414c0277730e888ba296ad5ddc67701334e5f6490a89fde6b8a052a697c4d9848a861a7d1c4a3986f273919e5c487ebc72ca26844f990712fe0df6e732db77cccc52704f0795710dc94adb240b362b824830fd235d9d67c2c21fd89a01e2a0feca3fa1281cc5802223697631cf6bf16c4af2fc79555ccc616b1867ad000e24f46fedb3adc4a869cbf70be6dce39f8be911617d993a64bfe12e9e33d977cbbd382b222d2b48206263da104e56b50c09048246790bd2c405acb3f28b218919e42c1f89e652be70c9ea0b2c024985faaf8aa23b41f6440f14d22f40698ae7e61d70fd0d007e0703c9a7b37725c9065843c083b34bfad0c18eae0053bee39811003019162d73a42559b23c11cf41ee5c40d1190d0c3c33444ff002e64cb3828a21918b73112b1b69e53bc947e6ce1aecb32f64dfbb5911a72cfcc7f77a8ae2c1a9746465cbb9db58e76ce1c868466196c039d66ea157744a1cb288d6d5b9cc73afe1532d310c371db79992ed963f67ad083d9b6c8b649ec5cf4df8f8353351ef13a1754c2644f9515115b1199481e454b8e961c719311c49665a6f066f8fb9a65848434bdf5f2200f5891ddbcdd5d512d89e9a2be04ae5292b7035aa27535f2fb2b53eb0c0da9e8c3c26e9a2a1d78d709c7e931a4939e15d648df3440ea8cd874abd7ccfd1714d72d8482864279958a328022f46a3e8e8a3268309ae2cb8f8532e89677db0d993adcf6274c1b9bf3a46cacc5b3c474d03aeee6f731da36532143c56fc2b7a2cb327881a178e9cfa0cd7766d1aebe6e7c61241d8db202541370637ec92e401b1a1732d12845983ff0a0bb9530a934f33797241b0cc4d37bada4068f0606cfb8817428affccc33724b5e1d357fa5deb549d58d469dc90cdb02edb968a891bf839b0766ac380a32c2fef69462a8d4aa28be59cee7fa65560b4186e04c0980c79f00e11afe465f529f2ef2e2e3aaac5c4ba541066957861fa9000895d15e858e7d7fd4b5f8943a20c51a77bc589d57d8defce9ad87f0aca8bd90f39dcb3f6084c239815c424c9ce7798599849757da9d00dfc8d896d31daa18c78ead3ff70dda53d161c47c16e4d14b5dc3a1c2d23ef1e1f761e44f41539c9eaf244ad2ca14eb26a357300d818c434e50002e5b2660e64a1fa8e2348424ef4624e2acd9690296b93ea3137c62c0547adb835e5dcd63a2186b5d0c7f30287ea7a0aa0285108432c0d8dc2d1c8f9afbd61beb68808f372f5ac734f0047d968b62d647b2e46e5240c4119555ec92f95d95a8bbca7d3caa48cd3f33ab8c1085400de1c12497455b973b88346c3cddad07dbc38b6d86b41ecfb728acb04eb1d435cd2eabd0b67082c98ba2a30e4e45472d8d454791632badad0422fbd2082a573489291c74478aef81b94efbc0ce0631c0e2de77dbd76dd11117ca1d48f82c7de1c0867b6e9fb44d9b135cffb4e5dd1e5355d026145a13aba8d476c8ee0e6ab1d4de80be567b838c5f158b1345554fb9c3a6363b6f3fcd0c5af6c9e2d13f3fa73c1b0e45e31aa9ccbfb74471e3a4a1cc2a9d768f48816a70beadace648609b65bff2a0874cfb6939063c6f9ee78595ce9c173aa38d40559443cbaeeacd2025261c11ace4d660e420a83a521a64d57c20347f4fd8812c8a617d4906ef5c5953c292786ebbb58a9bff8a5ff22bee35ddc8f073326baa98ee924d1da78069b3b84048cd7dfc9837f423915e3f0070e875e9ae4fd774f1f6c52559b834521b36dbde9edcfde0adf614b90573d6eb97ebfa4994b9686ce6df505158be3d6e5889e9696cdc50aacd5e0b98bdeaa4cd5a93551f8347f7d6f690732831decac15dad3cbfea77b5963b11d24e7981f94065feb1aee64ba0ceab34d0b78523ec387e6112a079a2555a55f295a00d825d409ba9938525ffa20e6c0a38e4bfe566473963925ea02124028ff933b9d7eb36bd3b720684cd532df988aa42ab1ba6816cd619ddcd43d8d7260da7ff0813a7c4dd66ca4a53686eb7512cd9e31e8abefcd6802d334c3450272c90eefb1766666ab4c67fac820720c807aa64957918078b2dbf682b33899a2e113eca0a0e54082a1ed13091a287990fa3bee54c4337d4306b654852bfc07f73728d0b3ffc0e1b9f9d2747253213ebf855fdb1ee6a2a9104cd17f47c8abc8116e1a7b6e368cf895916615eb9d7e3c68148b8c65de9e1fc1554f2063e4209a1b3a34f6106aa74e881a629477d54b7524e0f7dcf9d69944325967ffbe7ba46b7b5af5b48986e10168035d2513908fc0ee23ff02a1d18109be9f10994d11f0e7510dd468569f222ddc1b9210ec23f12f40fe03654f808ec5b173ee5d94a5f8da09d146d7e459fa379f0274a9c645b67df33d16b51b8a20a96ac5d8feea1be1d3fa9d0e641e9cba5a5d3a2872583e63a6852434a0d60751b275c3536a4355b089596508c6da835e9057184b906ad24fd8b4842c418673ce8a410bb439e86ed1ee5e9dbe5da83e4444b9ffc5aa635ba0d7fe8fbe9eeca831c81d583a9161bf3acc5071b50e6b2cee95587b946af7323013b352bcb5bf8420cd0e4b42a05c7d3dbd10222d1ea5b13c25ca3cbf974400ce9f1124a7960aed1316ffb0dacad0c1eebffa503c41abaf43b4a5aa822b4202e6011c2ee73e84aa8234f211ef0f2836418868b9102e716fda6c8f2a2212fcb774bff17a5f761787511f9b0069dd7e0cb9dd47c7b55676c205540d036643227d2cdf415e77aa8bf35522dfbea3712d53f4732f393e97e435ee788d250ffa812a296ac7944f5fd8ac1999e20e7ac2bb3bb35c13fb7f2547732bac0813754790d566f7f2e79d9aa8a63b8861eb75b0d9ae5506e979ca63b721286950e298832d36b9db1c004acac1c871268a9351108a62a7d64c19be9a96f5ffe7560b374ac0efaff1dbb692ca831cadae1bcd020b1670d9e2a1c6fd2a4501b09d7a04b26001d7c98da94780f8174384d8a0da6020b09340e05d758b21452ff53eea954c135f41762e75df4c44dbe1678e62b147c2de23f907fc082bf09a26a4700d168609b5d1401794ac1352ecbf76f658a331156ffc901c3ac589bfa9938c75c7803a6b8a65a56727e89944f8d780ca90a8be8ae66f175d31845d27c9cf467b092c3fd07870f2ac4bb020c1292fc3a5a1a69f28cb5dc8c139ad4be81c20576629e445b08f97d5f941c9fe449700db0e88651613be14dc96775df4cba472b38590df124f5bbe2e2f7e2581305404334c107564c8a5efeef328b1fd8826b6cdd1996855a910ad3eb180baed17b89804223d06753358553615c318716732ca83b367bf71c922e9a8ba26dfa0f5fb518838cdc81f054dfe714f20c4d40a64c8b534f07ccc75c1c4e54db8aa6c8077daaaf8bb16da829a89d6e3d3ce332ec9e3bf55352ac3dedbe84525a6f935f74553f06f3ecf1b9ecac00121c338295ed8c424b2956310b3dd6936a66729a73d8ea5a183d9e0dd0b964172435eb7897051980a69d1544786bc3cfcc72d4ccea520c982d5c52c0f7c046c3a0189ca0d608788f7c7f2b080468626603354e204c7aacdb04b90a2bf42b504c8ab686ddee75fb78467a232a3ba2604e7715ed469245b63a1be2190b2cdc3d927fcf839e0135eee74eab23893cbee26284354d948f7b64e2619854a0a8e456fcf59e23ce735c2d6d738001f0785f8a6cad6db8bccd1586948e97a765d3d069293f902c9b06850b4a2f9bbb348f7acf338a600a2f6f1c56686f9977551f8cda27812c64c181a0f5ab266ae1ca2c09bfb9f14238f178a07e9aebdafbf531da098f4e206d351fbf4d5b50c8048224d7427e9dcfffec047a1c7600a7751134645567f3c3469ea16dc64ca36b9610b7a80d73eb914f1edfb5fc43c80fd9ab7e44348c1f00df38f3533c8a0920771e08cab880f4aae1d5cade7c60ec7726d0cbf85ead7272d185fa2d7d66a9fa2d21185d3852bfca7c5a24c62b8d248f5f2bf02ba182e9256b8c02bda74083f3f300ffb81439ea3ca3306115840ddc41f83684f3dfc90f078148a8bf4da61fa3adbf8284778627f1011b40f922d49978ea46e2d8c3f222fd1c8779bad30e266c6670b03928446d64ff337960309dbba8a148feb5a09c0c78009b8c003bcb59b62ce498b5208d2b40ee20cb9e33f8d960ff662ebee487e2cdaeb58233e1a80ce966711c70b08e51313b95471c9105e972c3369370448af634e7089880029c68c36a317ecae27a58b06cf0c4e255520822b8673e1623ba5dce3c643f8325e32c37740004b3b14de11267e70b72b4a202451eceda37ad6f6686467f6e11ab774deed0a3b8911442aae991e31235ae8b922940f34b6c0bb7f8b54edc90af6e2eb3f705fc9c9191ccc6be54525386a4cea26800b948e6ea3c46949160654eb9c4e38fe82bddc7fc2e2d80a55c2701dcedd44152e35ed6a3a68466c4d1cd701c4fdd55e9971b3a313abed69a3cb2273a14bd645e18e7eb387dcc9df2bf98383aef39c74e9541ba7f5e3b915f42aeb86d6f2d3ae4bb3b4eea626951e60c5c7dfeb2eb2c2d311e9d2315946681919f60ccf8e4c2d6e3a68b08ec82d1d802896790e24ec820ed99053d2ad78c8055d8e489969284606925e61a8ddbfcf0070cf385df18c5cd8e68009dfdf12234e57f16ab4516f986508fb67be1c82c95fd61cec4e7728eb4a582e1e6721f6962612a2b22920aa25fabf252eb769a5ae00977745441de104f1dee280e2ee3251a3b25eb532354425e7f026898a4b9715bff11737caf937e38a27021ea4bd1ca69b7313d6f14a9c1318821839bdcec9b74594b0aa9ec306a28170c8f43219316985e4212690d2b10692b9dacb434167e309eedf1fce1eac8e2030445fda7e6dbed094648ac852fdd1a2be0e41916fe02c2eca880727a4012b72c37151ca09af14bc9299bd4be819e90cd23d6075a1d3c9c0b853b7c69e13bd8b8b0aee1c8c4b72ebc0f7856055c0da09f36d89383ec279f4ac292869e714a229894c261b0a9acabc3691d942c664b035a13f41399ea6d3815bd36170b2603b71b8bef42fcf64ee0ea287c5dfbce2b00f9df584d3468e561b0719f57c8b36369e409f69b313d23b9c125084ac82dd663b6e98efb7b4c6615df3a17e5c3aee0ac20adcef690a5d36395d4cd2eeefbaca56939cd3d7085f8a41a80222287614d0f23ab82d5b6a06224c43fe7e6ad49aeb0a26b89520a89b7f53ccf30ae960c9d67bf9d14fb3ba4d60af7db5c582aee7c17b40ca0259b67def1416de1a508b993657cae349aa7f3d34d334cc8441b9e57d8f90e372f4036b25d7b7a73d7fda9c217e2f19ff424ab0c8278e5980daa4329b61193264b67f95da49ff091e508e9672b8fdc7af0b9d3db5fc5cc90d5bbd5eb6a38a9d2e8cee2aeeb18c2cbad8b28aa34ce103c5ed1ee3ec164df62323677561a9a434cbe2cdb394045388124ee7192a936c298f24c1f8c8a1c236d17c37f05beed35423a2641ae0c59a63a1a114abbd70d580eb278ccbf19272d0a3dd5f4c8b430dfa404c69ec231dca34087bd69ccbea34705b6e42caf2536c12ae60476bff3039ebd8e28d05c5d0b59a5a14ba9e3c9c39921c3956b4e2e090a29f1b49784170696750d7d4df3b0195f5a8052520fd5a1e34a1f364d9d1ae907b138f78afb606095c60b2d01cf17c157e325b74a43d7cc054b60e603fc13ac343d601e7197ca3d8bc3d65cbb74b3800366d070b9db60eaea5ce29ce78e6502aaea042d3c707cc6f770b5a2bb27aa103a6242b34137624ea3b09065820560fc3faadae37372b5e51b85e40802b4e314fe1c3bfe20cc0daac6ebbbb941d5157895065d4712fc3ef42045da5cb8e8de6525a64a570356499d0ff39bbd969576a43b2d51ce3c29cee69384d3fd52c20d238646b7e692106a8aa17153422fd0751f71872d69c2301a208a63685c0e84c8d098dc6e15a0519eeca08c156ef54ab9fe905f2e3bbcee19320cfbc12bf29c213030c111fa31a8c31cc2bf1caa2a5918ab459f6b5d2d100235b834ba98146112beb4a183ce46c70b59804d893d8a74bc5581e293de10327fb0ada9f514b00c518716019580fb64a6a5cc08f66cab0fc275bb4b25205bea1003af6a948cdd2a846a4b74cbc2a3d731e373f1cbc6874578bc9ee8da4fcd5e6322ed17ad58a383d08c115505d9dc5b043fc214ddc7794cd74726a0d4a0383624975916513334409360d854de477076f0c5542eb8875a137db74339af2f0043c377b7bd7e25f7f2193ff04d2fe9c18d1e03eebadb11df035bf54c3401c763214c40057e5bea9b3bcde0276c120e501baf35c53cd5b79007f3017509a17d233e3279ad69b48c49a92f78bf3db47ae3ef993149d4a2420cdc233f35f08406e56275321166a953fcb9fb124e5fe870c774cdf433782891f5069d108c0795b3d54bc2b18a542ccd39c4ec57c45bbfe6cf48cdb6b93b899512b84d8b9b31e5f0d69700953c615cf4d0b7a1916d7eed6dcb7cea8f40bf88bb651faa87027bd942a2c9617f96121d4c2a2dbe645b67740f4b2a1c70bdd9146ebb0f79f6dfa1bb5f3566c0d54f44c1ab8beb7fc7e1764e1b773288a0258d0a8b33d304281cfdf2bf26bfda69bb2a1c5e306d2c08f28f315ebd111bdd28fd5f341fc686688c1cd170b201636e6691e03c40220bb86442b5a2d02aa4322631aa75293e499f2706a8bfadbd709c776935dfb64157ff363978af22855e122deb24a32aecceb93b45b6a9720acf9f03a8807bdae6d2c1ff1c9c13072b75bc271a099d341cfde58f70afd1ed32eebccc0503508e62272b769fe75a708438a7618b4063bf2d6004b1573b9d016307018ffd5ff03720c7d1ba7e22b99fe060f07e7751d86cb56dffde90c79300c8a843b2dc1ce8817e91abbfd1d89c8793731d5f6050d3685d84218c1b7aedbf0973700335dd337058497702192d026ab44ac7f9ae114cb5e5f661ee82c839aa08a391660c9b400c6e2efe3d13b27eb1b1c5397e7e468487ed72dd37184499763ae1e0a622435d8b604da9b204e3c5d7af4e49bee833292ba869df6746e9f42cde9452f7abec244c1ff61ef2abd4a6697eaadd98916e42169a7a3b4c1d463d71a03ad28d23d332c56e0e5ae5659b16aea28bd5ae59353cd7721ed4bc5db7369ef22c542cdd96611e7665bd1e1f4b44995c93abc45a5c33c7e907dbb2d8315bfe4995cc19f922d65abeabc201fd5904c3218d2613dc73a8570c20169cc36e4322340180dbabb92369c0c340ee19c43e422139dd6073d81bdaa62ac8579f90847c12771ee31f210e9311fad12ff5efc417c0c48cd3faec71beb2e91903fee09af47a7e38f7473f0615e9aa3c8b7b48d20803caf732f4bac286bb8bd46d92b5c397c900d444238078fa9aa31190e1a210eb830be3a99aa09fab00557e67664230d304f98f1827bfdb0d9211d121d1432a72faa96d64484fdbb08e43fedcaef87c76ef372603110d426b0bd25828ee1bd8fad71d449b1603b3aca3d4efb32b10d4e44ba84f34430c4f6990eca17d7d4446ec32ea8e7fdf47004fd4da266b5b4a1d98d37f9c6bed3c47f4ab4ecc135ed574b9a65419d0528b3621db78438a61ffa9670851085188b425855605178c132d391ce977935af6ca7ea75c2bcdab3129dbe2ad4a098089bd3c68f9d4bc0d06282aba026aec176dba52134530d5ca6a46f31774b712fabb6851fb9a6a7924cf1b6d784be126d29e7df77df18489cccd7085ddc86080118a0ee3e131228141a35a59ccf2b5f573a341044449b037d3b79a22895bed25534272359ea9def614507e2b3cc2df2242ffd8dad1a93dadc3e5c8748470796691c2436f7c535627817f72127b0cb0548cf13bdee4b7ea48eaf802c66936b5aa685defd2b311fbb37db0c3bd97840450cdd40b798a3ba48338c83c903bef095278bcc423667528c89bd7d5817e8c4e583731a41b6ec47c69d5da2f4bb8cb056580251f99a14c6d096b461953fc3f8fab646bf15ca9419e99c19e8923583dbc2390b005b42690d4863cf9ab8b6b17b059fb451324aedd070df5490c8e580a9d9c9ac7a89170735ff2c41d89a7aa15d75fe782fa1626432a012a459e0e2d3681d32c6ca31d366fbc03896530291c3636ba77267731be664cc1842358aabcc3d8fca8f74d03ada1ae4bf215344708f2d98dcb7a656226c3df7034fca6573d896147fe5a0f70e51eb26a10b54ea0df9df3b03fcb0cbe836f0de2f1900cb6ede432ea08c25d1bb68eb042699bebefa15067e1ce3220d473f76ff3cbff7670948ce3570f90c22a5434224a92ae09a244a29898c7a14b2d4a2d384fba692ee46dcd8b036bf4e099215369bb85b63bd1d98d51182bf125c5fe1f8f7f1c0ae478f2ce9c1286c0da437d2bc4ad211521aa9f767ed7b4da2c94785b61d302868a52b6ac255071032c5c32cc798722fa08a94ddf3c258b6e4cc360730bf48e9d8efcb56d6844fc21ab785ec35a7a18c10f82439b23531f14d248b54606c5df7bae192e1116c308775b2c65390bb653aefe50a03b514e1e7b4825a4bf9d0f5004658d094474a560295f973cfa3999b07eeb85f6ef10e3e13e3e2b132f90bd819d86c09b976558a894592ed591ccbd13b371370468e9219213de6f3c997ff7b1e3849b92dab44a6c1c52845192e0ceed9c3a0c39325709ef1166147d3f4bb6fa0b56e378214fd61d250009ba9a67684e1025833c6499c59dab8ea6b9bbbb8800b905263ace428daf7eb7163e82be4fc39c54b7741f0ff9aab21029ef9bdd63ee2fbac7b553cd5d2c067389d0f2a1b639cdd4b5f676ae7b700b9be63381a3863f3d8a2e4fda1aee0a1fa287a0db934bff5406ee55b655d5d2217cc49a2a668b911e499c85cf7282aba9269aee9af04a2c56879cc3d598eed744f58971aa000a49eb780fd0de25371f38afb1bccd3c971757fb2eee6ebd7f5af1086a24ba54d1e00311bf3aaf3f4f5115d42165ac4a9d6d12b0f606a2e0d235b15bf096d3f1c2c269e1314989f693770cc35ff2ccd6587b36bf73bfa6a5b6ae2bb4654996d6cf769cc9b0f9415835e8e873d63ce05552b02bbfec42f61fb292dd7bd9c08bcf5a393be98c92c69a2e3b788dd55c64438818617e5b216dd9cda23e921bbb357f1320f75480a12bc83f53bf9d9567435640edd995863618133519e09c059a4b7528a80a3b456b50788737d545313c2ec6b232543eaf01b852f51b70188e2ed87a4717747f57524b81a674c12cc994cb880cfca5073d538fc01871133ed81ffe91bf49912aad501ab7db06accb61f775ba638f57e8569b02901f9252b2094f4afc542350393debc0575322a5a0215818e71d7bbbbc027750d1787796d9018fc9c61e69e8151e49c3d0b6b8ffa2cb8faa3832340a0a99b7d921773816eb26e949da0371bd53b9c427ee1c94531ea500d142ca7af681b92881521b72dc2db075fe05d5c86fbdc76b73eff1442c3ed266432e22d869579b62e0e925b277017a17869317bb8663c9c6d274b28fea2470bcef9d22be3f91bbd889c26164128728d32e944e65cde541234db8c82388706ec9de3ddbf5dcf138018c8ad3bf8fa0cf355a1c760124e5abcfcea558d6e46ac6717b9e0452f828bc121aa763e15290607e424755b190dfdc7594a32a86bd27566cbda5474fa48d2c4240caef30679dc1f09c1929cfc609bc0c9f7abdba3a146e5f9e15dab82308088395eb023913b066d6c299925a24a9da78ccc30f359974097fc6abcdd4e1f4181043567d0447ce3beffe9fc5e31df783fcc3dfe683fcde6658d011cd66ecc94470f913cbffeb79800b826ebc6a4a5c3d9f17f08eb748026f0d529b5520a88d6af13b2c9a731b3d6d9afadd77039454f61afc31acac89ec1ce0700202c85e016221dada7b42d531d630759a49e80188f5e3c4a1264a4715d1c3c47e8d7c015ca159555c270971bf58f925a4f125aeff69b6c0ece33ac10055ce94bc8ab43aa177d545c7c87caf72c88f3729d82e8102c2865f47e5212638d70fde4c999c39363dda4627d035a409c10af2a67510ac978416c064437abffcd93c7a616832478174466887803ea3c0468d91fbc8ffc3d0b6bbbf619a0226b7d558d603eb70c92f744b67bad4e4130e7c9abc960288662ed4e65c33ad594c7ad74c07fd5bcbc6b8d8981546ab2e836252c4b94a52a243e5a165ffb90a4ff2da28858763897d148dbedb062e0c3bbbf72fded96ee855ac43786260b583c25533f7bbb9209e2f68a0c42d07792b3bb2f64f1754f3598e2367d116408e0c89526959201c8ca3231882435b1804da63ebe141144594e4e2705b3310e775b33cf3605d729cccde6e78259e62b0a13133a70ae62f27890ab5d30d99be176357bb0b83d946c12d735ee41a9a40766f0c7e49865138d6642d78eb3e1eb92db5f3a5b4b36f245f1194a8ef8a90d862fc373cd0bee3063bea65a97a172ee8f37614e7ce0c59bfedd8844947ad6c8c160189ca44de5b94c81d89f6751d579c597f70fb56687c784c0c46e8b32f8665c06a2a09ef50084c4ecd94423927c260b9e5d91feb5902640b8c096dbaa29f3df2d5b2a53bdae01a40d08574334dd26d11c603a3764d5309ee0211a265e813632ea7345246df086b2b34d2142fdafed72019da69c418e9104b75a6f012cd7ec164478e101ec815a43a901b4f21c528b723a9977dfaf0a610d1769394f13a0bbd0e9fabdf6226361b6181d2cda648c678149a74847c73643024f06acced4239ed5c7d8c0c9df76a83f051361d17c852b05a68927cb21925f40e6b279aa8eab3d9de489e75942f4b717fe99490ba6e83da0a980ca473937efe876febe19664b7d9f9b649e5aa59803ce5f9b76eceb60a459704ae0ebba0de65277416deabe1f55cceef62d500264336b9907ffcad681de28beb189412c3de3a9e2b609039153767758fcd8e1713bdd26b0c57c9a54b634921c8481e83779bbe06bc2a75dbc969c1452c53d6a2a88fdcffda28b5574a0eb0ee7ac371d3ca4451b90904952c9f6a8d314047eb504f5ae9294d0b507de49285e6e2f21df2eda66961a9877c325dd316a165e790eba66f6ae152c48ff2a9f4e62d58aa75472e99aeb905e8097ec8b5d39bb2007de71ee43637179eae9a4b93c5a57e5d4e907ebf5c2a4bb063c7ea9d4110a3bc788ea978b4f3bca2bd61f17945b361f1f38aae686ef129c28a3c6948e1e9da1543da8615091f59bf6bfbb6cdd78bcd14a1f4553977b955164ffec61ab03d5ac798db3eb3c595f959f059ff5988da8b6359fbc480bf169efb909261cced35553ba7ca77feed3a8dcc2337d7bc5c4dab79eacadd904b75aa7506b9d29d11a9d2a7f729a40bf0d709dc0cc8510fa544f9f793f759b9ce80546312775a8161e7f3a274f0846f7c976f345184e7b73e15685729af84ec1c7627570a940c3c5b01baa64c2351505a723a3d8d9c77523aa9ca25a87a31ba389b7334ac9250174be145fb4398d040754c92c1fcf1ca56c3e75f49cb7e816aa59042058be9389dfadb5a5fcea1d9bc486055f41324dbdacab6e5963249996428021b0226021d0862cd857b89c7c020e28d0f9313195d7cb45017ab701c6bc9168451141f34f71c74b6f95656071bcc1d8efa70835b3fc8db416f291d5d241a32a56685b6901cc967d91d4a1da35ce126376f2e73d9b5d4dbc23b8ac5cf55a4b9ed62fd6de455c517451e75e4218a1cbea10d3faca23845111579692efd5404ba2e2767dbb81c8dae30dd151bf6e8e1eeded53fc16949a3103bc65a5b6b0f277b79e8a1e7150449c80f900f3e26f0c3745a015c521873e23c17f9d24d593cda8a30612a887911d3248412992fc42891c3174e9021dd5d4aeafb7e15319259d5e775da7992a2ddf665eff624bffbc51efefb7125728bd8f67f92ae5e9b223f407e26af76dd75bcdfdd4bc372f4dd7d55cf3baf76eaf43cd6cc35cfcce50be69a996f33e7e925d4729d4149c8505441e73d83d474585aead651b154f966d4d674df80e1e7b4bd178afad63782d02e27d4a9d04bb1e8ab46b9da3bfb4667c528160da219aca1313baca14c53a2cc7895281367cc4db9c995d0dacd6543a86a4b7477692931c1c4c5832d0161d0af4ce9b558fb901d3f5412a462e170a0410ce56c61dad2660b6d4981f136ee9e968f49adddb3e3091c2fdc533e59dfafd8b5f97a3b186bdd511b29e81a1c7c47efec07a29165f3a10b1420863cc936c6a0f48377a96db286579c6879414900255d3bda7de6ac37cbd5a6f496dafb6edd58e56b36911efb483dbd56e4fb680850800eae8484864b1a52f266c460e4483967a0c06c391ab5b3eadb29d58d1c56ddf43f653c4dadb5d6f9d86b6ddd52539e1b8e74c01cb8612d1da21b41e110a09efff559bdc88b3ce63021180c66dd53f403638c0a7e9696340c76d57c1c8da372ea4ab0034bb074d0522fc1b8a8107592e43b167399cf9c669f161d815d3452160c451351d7a319cf8ec304edb218531358966059eea0260bcde7a76d8d17d42ad65e2b9b6c08a17d1ffd04bd89533aa1288094881235b9f12ca56771539665d995655976d77e2c268aa2288a65c9d1be17b00cb3406d4e8302309dd22072ac28ed0286e436a6b40d13098629cc171e521eb411b038f8c6954f8abde926b114186844dd46736a8d41a9335a5ba224162caa48598a52dbb6fd38f4262ef412f544bf975678c66da3375ad2266babd786f446d7d03a5487e8ad87a6d96163c3cd0014ce01d4e6ad6af4e8f0215a83e0ded4466d2f8a2b0fcb768474543aaafcb96a1437dae8ab9292023ed154080eea09cf35f62c5f0fbad51aed184ea9a2f135b70daeae1cd77896427939ac61add5ee4f4b9204ae07209840a230c0bd450412a2991714adcb6d8d31567558a53a759863b9a6a1ec2285f2728751187b18638c45123b7de2648e32696ace86eed3a681f12a61d09cd9c1c9d40c80eb54d4475d0a91cb4073a531d6faf52be793aba900c6a4da120b8844a5a03fbca9ef35495ebfd4704df58ae40b4992244992244992650a86cc339bf8f081f7fd31ffda7b431fb335edffb5367ce9f10504dc2dd156b9e4f582e270f64431b75aa7bd03372a0342a4952419e10224b0d8dead9628ca88727d7b39dc9d841019a200cd4b3f03c2b56e4d62fd08f676654577218cd218debb652f87bb53f680f2cef672b83b65ef82d5de7182a1b4af4b0c5f78e8828d4fc615b38004f1f1a386af29908810d401080e13a39bd4bb50acb8eb30aeb8dbf1d6ebcd177bae0366ee396fb0ead5caa9e86b9fe5caf13538ac0ce7f1fdd7f6e0eb61bbd25f03ec5195a045118f304ff41950a188137c98bc1437f8e0151113cf585547b2f21f47349811ba947487df885e6b77edd7ebce827f4978907c38c96be0f583815712d4f3d1334253300b706868de8e4c34404772ceb97be1d70b57a14fd943a5be2f85dadbcba7c9510fdc74bb0e14a05b99430baebfa70de849d006732e319b511ab06ee03813186f1ada985281e85672e46630e35cda1bcfa232bddad828d23e8130edb0e0ee943d146c8a62defb04821d6ce2d944192c98f1618297ccf8ec5a5997c47ba815634d198e10f4e98d1d0e7f9c26718202d9022db242f67f090cc65d0b7b58fde1c21bda90cb2bb8468adf490569ccd059eda8c050d3d033b48e5ee91dadd26086761c4184f16f55b8642a493145183e4cc41cba90d14415ba004837a5d29bf0520dc70a9f54db9961e9a3a23eeb839c4aa1501c25fa200f139004086acd7a170f1fff6da761947f9842a19c4471fb8b981a49c26a073572be4920a1524081a3786a1881874676b60e0a5551a95beadab6f02abafe0e5ab13cc9573a3264ea9c17998142740f5d8c07b35a6bad783bc69d50c558d441d7235bb6364b4527d249699c7e808276c6e22bc8103a6dc8741e9d82262e8c41b321e6458629334c70820d65a8e9a2888b15cff3962cc92c2fe77ddaf9b44f41789c524ae97cdb7dc75dfbdfd3d37516ce1c17181d73715a67e9df1047ea6483bfcf8b7e7194d22b283df272f49742e51cad53d9556a5c89accb74917d390c08dbba7d3abd4ea72852aa18ed90b34c2693bd5eaf6be911529e73ce39e79c734e0f8a1019a2a3d5234447765e56a94fe7a874563aaa1cfda51c54e3450d56a8f149b1b4b45ef6b43ffa2dff31a16d29d1c8ed76bd141e4fa332526b10dcbb75ab7773f962efb1e038a3af033b7b37cce278ab8dfba6bbbaac0f9afd1d9f566d6c74bdd569e40b5fd88888edd805fdf85868d9cf9ef658fea7bc95f171b0ac477aa49f7d94a11ffaffffd4fed4ff7f4a47caf6df7934877c6b3f93714dfd2c1d5674889d50cf8534cc6749e933e159f38dea7d19aa9305048f7c7f40801eba8e74130fc163423a4853664834cc6854de6ffdab6404122cb264bbbdfe1ae0974e74afbbbbdfb22c4b10049f7ede0ff95ab91f46a8b84386b6bf41aabd9b34e480d99cb567ce707ffd01a70df55b230e568697b34ef5ea57abd9fcc7311bed86bad26e03aec958c060afe1311afcf80f042cc0609249d24201283c02225c117b3d26265f3aed324fa4e954740b619dc2dd12753cab5603f2eac1c132a55446bcb3ad2cdc6d34018ea6a894ae5b550520000133550840501410888543d1308d5214c661ce0f94e106851d130c168e6382f0204aa12cc4408433800163c0c00c0c080c081b005b4eac1d6921c64ac52f032234145c2a635280012f3ed1470df5d32096df23cbe4122d9dfb5712f7e8dc34e35a84d59622322dbb5fef2713722a2cb2364e191f311fa8aae4dd114d7445ea6ad528e8486a93ed934407605e74c52d3fcc5e993b18300e33e8f76503f31cd084e847785e5062863caac02271e5173b5be7a21703bf8bacabce33ee5785416a33ff02c9ba7cbe151ba9f6c6c031dca422be0231e41fa3153321f05a84c3f7c16556e5778ce9fe1a0debc0538ae2d048e1b9af9de8d5299e1c8435f3ce2fdc2fcfc91c110241977a1ca94d860b588acbc59abb493a1b177ebf07c976d64ad76b783d232f3850f116db2e4b2fb16878ebdd6ce3e7304a5298fe8a388ea781888061921818e5868172021cbaf32d430669514464e392ccbc7e053d30767b810e0d35269e485bf841117784c5ebcf449bcd28d2251979f3a054dc4532da748ad3c6ad579b4bbd36a8ebc2252345430c391a011d253f74bbb4c5878f3f6f1ee65f29f8983ef5cb50979b97323b82f973f0cd98b0b4e86b6063fd8348f714989a72dc94a47c859f3b50643977a60cbfdffcfb9eb082357cfdb9a4db0aea4dd022e0ff652acdd5270d6ac7637e981b8f2c6fcf1ac06f0c146996acd43b01dc6e482daf119bf2b4035eaf64abb92828df30356663e30b632a1f0ae627ee5b9b95e593f355ccc9b7e89e27d3ed783d693afd3c386ba63144f5b08e30ea3203d0a958f9814608c84b889fd6d32e2255d97a34066babe72fea84bd1b7b812556767bca47c6bcf32cb4c71eb041fcfd81b7c8d26887f7ae94dff363db289ed803e23281a5c2356df01428aeb7e0918fa28cf068ec125383f3075044834784f770a493712b6e42e05b227c7a64737b24d77ce4541f258f56a6f84f46ba286e63ed80fc6dcc3880bf1f1e991cd19dd964c74283d72e94a37d52c18657c5ede5485005758cd40be5435ac7be6b19c59db836bd3e8bf08e97b610ef6e5bd71a9d330ae893744013cde9d10a547ece09a418bdfb07e2fbf9c028ef970e6614777fb62e1359fc34a8c66f277d39d4cca5d281642f9f1b1c3ef2b428bd5f37bb9a28fc062583858c43a4f6db6e20a691bdb5549867025327449cf9ee0aec0fd55eaa8cbf4d970f855d5fe09196f9dab3c51a217a80ca1fdddc3284ce9036584113a64687e5ae42604c04fd4987d8fe8a7d5bf4722d4253f8218beed2427243511f76d520a3a7b9aaf875673c313ef7a00fe78ca6deba4077322f2f66a8b618ceeeaa26f7031336bcd93bb2eaaf04dd712921a89f360814968df1d5ccbb53065bc6951c347bf3c2c4a7ed846c1b467dc9112600c99ab745b484df8680a4cad83f2be635dee4f6388b0f3493ac9db0eb43888d730426e4cf6883d8e4a1d683c2adff3ad44dbc549ab15684e678f88aff68c122b7fc0a74a16378cd0c68eb1c3ef78378e1321ac831f1e12a76a5f6806fab5f9d1add34a92ee021bf5b75d54a5fe9e86847fd0d4e44c388991a0d38ffa6a6b36514b3a12dbb02cf8ec9bb4b9a9fb776343f6531343f8b7ce66780d7bb302fee335056e8f6b5523b979545539592ee9df1a0cde3bf2033b085322b3bcee2e2e92b9cb7b2534a60b1ced636203c9220b460982dd68f236b94bb8b6a41b95e1a6def3a39ca63fcc5f9e20d5e71108cb480511ed931f38bbca68a4a4a4a2cb2c4696e6df4bbe27313efaee98ff7336dd86bdf12ae730470617ea782ad6ee02916d7d48654763c9b61d2781733a256e6f2c7038473c2ba3f2d54ca855ca49acc05caa98c0cb5d3aa9de3599928c13203ccecb74fcb13b901f5bc00af202cdad73611adf003d751b7114f8bac67dc9fc11e3ffe81b4184f157596162a4d4fe063d140b79b8a2127909538ad2fa1973800a6870c661f2f2ec94ca8cffb16b836f9b66866ab28ed3f410da539c5a64ba2e0f46a50904a2d304cf33ba52354b50ba0fcd751266171b8e9adc6ee6500359dd5b5c23c5e198c1f77829bfb142fef0518568ca8eae4fe03167951298d3c7f5891e4b95223cba61951f3cbfb69c6cf3634bfafed95a1d0a9cfe42d879ad78ff3dd0391569f04d4419ff4cad212e57c740c8fe872d35dd5e5b5970d49f482f18c4791c32941bbb53c0de3c4efb030d238423626e9983ececf0c9c8c45d255bce8bfaf34a9957236bdac6546d162bf769020bd8878a3aef49c18d87d3404a3ac246cc30ae7b5f7f3ec51258d75ca6d7c609a6db3b93e1a908e40f12ce285581b3b5a7494cdc184804a3edeea298effa2cdb060ba0e6156fcdc5097039a08861be29939eab7cb8920225c306168959992b8f02231b70e2cb3ec3ac40b4e8c6b72db23f229a84fa59c53a2ff488924caa75cb7e00b3f675e81ece07a2127272f59cc4993329f7e6d4e95fba2fa7adc791edb1caf73d8c31ef1d7debc11a1814345a719b99863b74596dc17549b2cd4d381542ed4fb4a4c57b887481f00e419695ea5539f691646508dd39f5504cf209fdd3a3d1792fc3a0ff6f97d2ee4203c944920fa2a51908a7a2682dfde0d04e02f2b9c4e67e1f5304095a6be506f2774026b628dbcd7951d72c61c561ca1d1ad87b917521e625c8f8470614651a098a6434f9b707f6c1ae5fa4daf0341bbeaf6eee75b7fded039e89912e258b1c8cd113980445a9b73cd0f15d5a7b8229e2d3a49d79c3938754b649cda8adc6a5b3caa627ecd1911712270b372fb681e315e27d6e336fde8645e404598ac217e5c866c0ba1ea38e1c14d2e3794ac3bc54da800fbc363cf28146ec565b6d413201af5a27e9440d1fa7f10e88c52127f91a1c04e030ea206b0ced7241b368a629c2fa3565cca740abdaa1542d5e336ab6260b29e40f40fa0e0e921a0a9d53c84da2379e0776c89c2e163cae164d3e129380ad19644ec0926893e7c03ccd025e00e2a19dcb9f60506c79a6dbfc8b83d19aaafc605ee3d342af5cfd151d07dc7d5e5407a24558bf74163110b9e54944988508b213b8c99fcfcbe771a7913049fe4cb646358c70ca1bbcfcbc073960baf319c73acd048d12d4fdc6141d9ef188f224d6302faa97107e5dcc3fbfde8d538ebbb15f44dd4c5c3714ed9640010433c19e5b40e6853aa18e8dfb5d2da29ebd2d27cb9de2da695d8b5aaa0d9cc1d2fc3e5d36f8bbed12b688f60f2727589bf46f8449c12731604b8e237efa8123dc484d73f02fca7d80ec91f4fe5b2f1d0b52a9195f76c7166ab4e4f82fccead20e22b49b65d6367f74b6988159f1d94c7c9e11c2e4d95d28fe40836bf8c759754bb06d262679077bb6873f9ee2b03faa15f1ee8e98edd738eab85f528aed08d40f5c37e7906736baaebc4e21d22315115475071030699f2ee04cc7c18562bcea2c67aa25bf82131957fbd9bd3fd9fe7c2d40c111c58368542c19ee325497626b8a63fb13c8039e058422c484974e6061f9154cf34b5f8d9281848cfeb96b348f62073175ac4ce914311290e83566435a8e7abf0ce6dc89b094113488aae57454aa2904cf931e1b807893c226a0efcf936e6d0143050354ec18d704da4f6b13d81143baa1ce68b530c295540fc0713ee68bef2f58d42538b0b0cb1049da6d7a712fad490efd485bdf30ebf638c1b33a08aa0ca5c5165f87e386a5a1b0febda8dae8c9bbafe92bc66e544e839a782629900e0af43545be25994c2fbcb9d8b1f5dbcc867b15982df67ed73cdb2bb50b0c1e3e675419a9581b540c2ae2a8b620ebf4248963e3e55a03fa1a8ab56e3904cf856db24c3aedad73be3547f062041254fcdb5b74093f72cdfa16e5aa8991c572a755c29d7f44a402e14060fb487d3e6f64ddbc81323bc9e145554ae3f8e138be1fb3871e410c3022e834df838ee8708866bb09d3040311de0f9ca99e72fda44a5c24b87b714bbc50dc2b81770f1e247c0eb82b93f209d29a862678205e1f0c6732c0aa07902326c4637f79bdc0731670d2210699ca23309f98da18b87a7b9744c5f31d1160261908dfecca6cef67d3eeef7b6e9d42cba825ea72f6bf9a107daf573bc823d7598bb5f80087a52ed5464db897a1862bff41d0907e51606f7a690ff7e9372d63577a762238c04b5c45a8543b011f9630ab59f338e38a584de930f576f3f24bac4e5e228e4cd806c4e846945bdeadb1f7e43d398288ec386f0ae04f5aab88194d83fb392c1aa4eaf0ad5bde8d95b582c93bf7c2e1d94118b5f8824f69c24d730b9fc40fba9381b057a6141713afaa87648fe5fb768469a41cdde6533056ed58e64ba0d7f555ff4d29eeacfc88c6603d88d29f0af8af35f3ff79ed3eeb10d46d4356cd35dc4d47fcefd2c9eda03c7909058ca726c2c192257042cd731f93971aec3a1c8dcc07e7138ed30e3c076077a849d391955d0168eb73206a81dae8a60092cb49ab93f652d404e48edfe5e8fc8d85bf3f0e3f4c51af20fb503fae41cae85ebb20c718b9d6649eecb67f45fa94382ac70f6a95a508f21f75ebc1772ab81d07ea7bfc7d8fde82b0b288faeeedca5f73464fb69fe425433fc52821ba84227609bc83d196453ec66bdf80bfa5b03ed6607216451df6cec6016dec92416c2477ddd4de29be4add7428bcaba8623fc645f7359e3131a8a5775c304749abbf36dc168acf98e2ba2c2ee7f05723cdef11a86d775e2a2396207d31528ead844ab8cfce39da3119b19f1964d51e0eb36d770332f0286fae5a30d267d0e4221cbdb932d6342fde9ab0d05c9bd86f0e43b9911d9e964aafc3b6b8e8c77b25530a85d31565228d5236becdeb2402dc895b68bc25d5c206ccd92e2f5e73969476e11b5880b83a09dffa2ed5db6c7d693f4a7462ee3c7bd4e4f2d52b417d306cfb2cc5673ecef5bde1148578dfe3900cb883bb12195a7ef37cf88a05701a4a9bc83d507f2489de1e7ee20c110772461d537930cb386a521e1789f7a75b73a32e514065fefb4d3ff3e7e033a6f49a1bac8c824938a42aed5b6926b70e6ca4fc2e63fa1fb4ee74c014d6a3a7b8b50c5cda38d63bdc36dcf8b1a1ea2b5b416e37830283d4297ca518f7b6c240633a042fa03dbd2a298cd44add6b49e14fb73282b9753144079e5af18922c88e1ea0c234ddc5046fa06e1037a2309de02b5bdf016ccc6b911397f21a66eae845a41ff96b68ffc412ef8c0d56e54d5fe96cf6f207e91dc196bd5a4f52865e06b75e8c2c5a46fb48935c65538c0026dc96715a360c490bf34fa9b608edb7d03335da1dfbd42bdd2e9e958314bfc6f4cf063c57b614ebd52402e3e4cd1214af1c92664e3ea187d8bbf825766e5ce1c0f9e3667423322f063db4c9dae8ea1d4b2b125f3fc8460640398ab471372e65c3f1ea248d6b30f26dc6668b7c5c10728c8cad1d34407f4ee1922c0f2e8c898ae0bd697eaa5f11ecbfeed22147df261e68250c8e37336f0a0dcd2b5bc9c7bad2a3e48b1c275df0eef7ee98c4f41588a7a10a57404d132d3807b33bb8b505be77495e334a66535e9b5fdba48961eced8fea909458ccbd95faafcd1785674f26108e0b21eced6bc119f699ced71b4247614d7525d28e0e8438bf323c346a687575c5819316e079ae89879213a03c466deb2ddff09de46988dc36fef1a9d335a7d730b9d3deabb39285bc2ec16fb28a3401a7d66ff6d8c9f6284389249c12ed4bc8c9b238f83f92a58d263781e353cd9ca2a2a9a8f14719f4423bfac82dc1a928921f8c221476375a51f2a6e3d15eb61969e57ae346c6917ff7b61f62bcf280293d95a8077e6e03e26547c23eb21937281558657518b244d930cf5c0a250852d21b4c2f82575fb724f2c1a6b7ffcf8db1dfc4a27b498c40efc2a85080c837c7221e9601f5637ce07dbbcda12cd7437f7b974dcaba61fccce3363abf0ede7d51e30f7e1c0efca765909d6be35106cd40077d94554b57a4bb05cd8d542e57a668cfa1792ea06e4f43668f300394353492c80c619faa98527b6e51271abf72b702e80b9434737ed335b6d3c4124f054e820464079f0ebec60fb0d1db6f155b471b886f738f024f1b816cb053387bb7a74f560f6bd0c00ee96dbeba6ae7e2d3e8f063ba6c045c0f86a266c1655dc2c81c49428485248797d6926843992781ca4ec638c603d3ceb066b22ca4db6d5c0ceb6da7e5cda562bdd2faf2b588820f2cd84bcf414d6df83fc88bc4f9abd671789e5035795e91fec4c053c244d9c1c40bb088a5074512c45d9fd13cba4fdd01de6c93f5cd2fd6ebe85ec4a77754e9d2afb383781c328c718859f6e7a1debd6cfce68f5014dd3369cb70d63c05898e39fac10b3c819a6e01f8d91741037b0f321b6d421d9d2948a0215b6bdcf3e60caa27b07a3596c166180335d091ebe697b33cdd8131b7d6e5dd1fa8f2afc69fabc52f46eda36f94834b2c0f5fd37743829699c14b249f52e5ece541860dc4961477e43098388b8bc7c4c69bc2e0fa81406ef23b077bd2e401ff629dbcd85d29cd1fe8546fac1e5919b604a5250ed51d8fd4f0f513a258271d100c947a0300f38f20e0d1bc5c75c4932945811fea4e35f5e981ecfd3d31f1a6a1dd1e0123b65a1dd3eea870c07da55d6bbf5f6b142b38c711f1b6e846b54b066b74a55ee9ef8aea4470c16b9c1e6c851b6855327360a785ee0289468637ba901d3b652c81cb4d6a52fa7edd95b09b460168c630567177f6d224ae6f098bbf719182aa0682c2c2282064ff7441db11a8d45f3b2784772fbb821d48fdfa12a00f171357cee33a67024780dab84987d7189b775b95b7527e3c77f2e2a058d1bb465953f11166585194244d9fdec210f2327e1fbe9685b660a9d2ab92d39541af8b1d46359da50e0d5ab8c90e18a22ce4bd2dad4209f481eb6b348a4c88c9b3c9e7d05a1d3f98ed439d4abd34e0d14499a52d15412ee77f6004ff6de1b5be064a8d581c1fed390f3fc72b3a135bdec7324a2717782f11b61b6aa29482a53722b56c5f3ac84da3dec2b1df1c8b2cc374db8e2c29431b69798bf461a5614b05d6a179c031a0448ba67d7f92ad1bf5fc54c6b0aa24d895c4b399b823817dc49aa453cec880f9b750ab45652c8ac91dd929bb06e1550d28f9a718ffbd558eacc953bbbd8f9267b004a98665ffe90a5a2366bc3a06c6f256e94f70770857d38076031089b81e729d6466bd06b9a02ecaea3932881677c8c84f5a339bc47a55656da00f936738163565be27df7a5f9eaa20102f57dfbdae180f09338aa899b2e272917074e430803616941cd89e16f43902f85ca34cfeae1db00f4d6c8ba809e20f7713b9a732e3f82968d037c377c98fe472fdd2c23f7733cae316f6b54fc1d8e1dd012c7f54efd06517a1406e667bfa2cc18bdf43719419da43aa87d063c6a8b12926def17eb731eb7a99bd7e81a4fa79f8fcbff97df2eef7103b8b70daced0de1ad06aac0aa31b4af8e19d37a94face8a61cd39fe9e3192eecbd3b8dcec6a826494c404c1ad608030a3f3ed03293ddacbe58e8536da828d433d67b5a67b4747d842907a13738047b7c0580e19468f4920261deeb889c7643c6347b61d40f438ecd54b341f9be39b44e56eb5a51fc13497527bc19312b10b9b77608575a619fe61c71f94bad24342207fb0499dd44327a5eaba82bb53f03aba33994c291802dd13383147ecb91b3b2986b90996f3e2a0c1809ecf738b6bbd57041bd26342472568a24048925270d6bdeae90a449b91ff9ce1ca1d345bf6767640467ecba72a582050ff1606266c989d1040cd88cfd9d2438b4f074d4d64d16c08eb8ee58b411689b45ac9e41f0fe1b8793c74f5043cabae2e36a720941918f1378f8c1a1694f2b2cc961943fe66d3d989854c114eda6ab89414020467d4038f8051200c1c180e0a4963417871622cdc4d73678066c9067b169df1fd1b4fb6a89a5240cfa575d370a5fd54c8900d8b6079a3789ce8b387d1c6e9f0d505bdb323d660807e097b4e599e192b076ae8df05248a7b0f61c9b0daebe9072b19fe80f2e9a203c0c21f485ae50f38048329ed9307297f4033abc2a8449331f74e85858577910eee71f983c3b3843342a9963f88255a79a81961dface4a41ef9b974a909d67811d0d55901d7f3461334096cf1e1fa708062e779f77da48bbf7720dba88f2c7dbb564f763a8e3dce03d30744d2691a9425fc4621ab602621d29a41cc431db8d267c1059973d51f6e99a57ebbc7c43f8c55c3834d1b0151b3c30a0dc7c16d6a6076ed59eb0666c86f191ef33c226d7b2213bb957f95792d224443e128a0617634fd8a429654ded44dfb4439c6375e51dd9df2a5e4473bb27c5982749a58583fa658d841562c2c302d1636fd1ec837f1e879fec25315849d51aebfc15b4c3c32ba53eb3e05e3fd84852d08d0066a8f980d9bcc75f1aa01995d57ce185a3fb5f98b42cfe2364d707dcda655fd254a762d7d2dc0590720395e58ebc5a6cdf6e30aa7155dba4a15fe24f81f54e108c3b26ef659bb9aa175ce79d0d31e80c46526a4270e96f96dce1a44134a0b4560efe27b8683bb0c7de76ae16da04f0836a6238ac5f638107bef1c2292696414859647d29139838ed4aa450db8b5623b43c34f6050c6c140915af2b623a5e5625fcb8622b09741a297916a9dc98f0325b4fb90a65d4ba9b943932307ee47e67c6dc04551517badbe39859d0ae90f4486d015f87cfe6fbd2e58cd05486cda3db2bbf6075e63525b19e382ebd9b48a540734a3e8871e7ff9cbb0058f3732dc94d4526673241acf05e9ed6f37b2cfc810582c38c2d004eaac3bedb7a938ef9c3d568e6390af22f18481e55b6986b1c6898653113da5a46110283e1ae4ff9310f7b6e8c1ff2c2fa02add580fc3cf506fa204ad1e2757d4e52ef6f6026452581e9cdfcef432e7f0f51d13099b2100a7673b37741aded859efb43e153b923071274bdadf46ff3ed635ddbc7b97fa2759644527645b27f48d644059a2185a1948d8b2dcd12cf2cbcc70d6bd3b100b7d397d8af06b7522837dfb863511341edf30dd2b6a57d7cce8dbc215fb844b621a49b954c7713746c5847171c29980f01531ac8ab7737c11a2b03b92d1ab53f8954c36a7b00e24afd625572084993a32aef32f17e82312635e984dde1fc65e587fcb22157fc3bda5d128ae5c5e88254f2543d27e6a97811ba2c338d67150114bad419b49c8d37ca1d813b4d054500a7f5e00558c174b446e36e4ca02470dde609fafdb15d9d7915fe5ea0d9b3717d778c9f9730abbd7d54cf2c9b3856b48a02ca0e40a37028c5d7d0657af7151471f58061e2f86219464684a7dad2da99c82279e06c9d761143d306f2b14eba40020c2be102285a1fea9a033fe82c49a3116b5774407f744a0202591a9864746f193ee5a90c81566c3a4cfec1d988aad81c5a35b390e5f3db7577905e1d1f14817baaf76ca1c57176e74ce49a1705b5cab470e2a2f848d32032acb4cd3ea743ab129a0c114fc7a2ced90581ec6bcbe68e5dd6c24db20e86c8051536b3a4554bb0e54914050fe80e43d55a1ec89a2f5741214a597837a9ef99637573e5ec226679052c1f3744ed73dae4a9deeaadc8ebacc5ac457e45d0c0b710359510fe08a94f85699ae97b56b659c81b53035158e3df849fd2702e23c946757fccb26ec25c5489660f45fd03214f2823e54581569db8af9c71ca9603e3e16965591baf1fbaba3dcf24dc62058f9285952f4c8b970effac2b7d91670d8f996894a5dc4e30528b94030e1299b59f883f38c502378a0551b80212df6beba2cc07b15d836ab1d2917f44123cbc07e2196d642a5560c2f952d9b35d517cdb583a530cae61d77b1c375da56f3e3a3fc783d73a4ad5ac073c04441a752bd9c545272050d177fa338c5a0395a74bf73481f845df2b86e60e9e6de12688121d7a17427919cd31c35be3fa4ba9be6a8bccf5dc2b0011def0528139445202210795acd46c12b4f435ed3c52e81d005b73468c6b4d0d9b4c9c54d2c8211abcf2e1919f56c778c66e16277ef7910a8cd3e096a6d65adb039457c5bcee326788a233ac4a43029ccd2d5f50684ed5d95a9ae4ca5e3c67af617727f206cbdbbbc73055db626868ecabdddce9549155a3a163b77db37fe2e2d9d06a6fe5aedace530a2c4d8d3bc25de62a275e3993995b3ba77c86c6108dad2e2c98cfc6f006884fc681492e63f43d7155709fa6f7701c56201923f80ed86037c06948c3c7d170c6f89c5f4ab07ee647e72e1b8b4fffb3517536e4b774992382d87d2a31a27bedc1b780b56b37193e3cb4818488c2535d3ad2a428b9cf533e3cb96990e8554a87f8caa2921fb62b7c504d12ad8edd871301e5cbbf27d34eea5176dfbe6e727c022ea2976a99430934e6be10a00ee04334bc44100759e6bd18fa0c4c689179854996c72e8293e26f453df7ba353a7baa2109b65eb81f460c39d7098cbb6eda02ce905c2aac3c6ac0b42aa6459d4e15f9fea5cf65b6b75f634d96f9141f3e734c995a4deb8ac23d68b6ab37c8b994e0ebf1ddf6e2a678eea0276ace6f1e96ceb51a03936de0d6eccaf2ca8b8b0d495d3b00018e2a317cd334b89e4e62f76f1d5ddef24457dbd661e4896e37e1dbfe740c6d4b59927d799bc1d230dcec55e2ed07b79faae3107ac3c9e91c2b716667220391962f8ccff499ce3ace18c073f0a18c4273a10cd3cb5b59657b3073f435725da38cf92bbd614f1c08dc4c175b3167ccedc1415ec45d2cdac797cb030c07d74ddbe8b8f958ac431e28a620484075ebe0710b43030b33ffc250b6a20e0b8da04e59637594d29122a164497d738edeeff47bcf67725e9c6cb9948e7d57cbf0741168692fab397236f4a9914ee585bbba45b6ea4df3a945226ae937f7222d8646da42768806861499345caee8c24ea90b7862186a2a039bbd39274c1f55d9be9f1208ac9869493bdc15b3a6300077366664e08f8040292a43ca175c3132c9a25ea9139bf121696312164520d22a5fa4a9107cb297a32903dfc67941100ff409c5575fdc7f21b6b99e253a12da9004c454c047b65abf05315d81717bd23f7ece5d88a4ddba76b2a5a9247f94fba963448ed1319dfb2d1fc9189a2a77a277f3138d4c990276df18476a4797aa0b07ac38eab6705290e5684767a7d635b9de6bbd67dd140e2d14ceba5bf356250499fc93484651203b75a77af8739d7956459796d27721617d6071c10518a13c5ccd32ac4ff38d9c99f08169ec62a42d4180f0978e177a0638ab50e09488f44efee9e5e6ee9697a7797f934ecb7ec27db049f2cf8817094cbb8df6479dfdeef7ddf4b2d22e71145283f5e1e200056fbde2b199b3fefeeb7b6165a8cc544073e381c59d40f4ed096dbc3d174aad0f8cc0121207ad4d19ccefc74bfe5eeb022d67693c1c32bbc4fad2ab7a2ad9d4ca115af26c3b4da34570b5ac66de2d372446198277d7bd40671820da62874255571a1e657225cd19a7632ab4600019ecfa6a72e8bbfd29d892c9484ebcce68a7025eab09d4947aebed24c33e260107df54bafddb0bd1dfc3d67871fba703191b7bba7b8c0e96db58a96835870b99f01a4fef8a0dd4a3fe731f997653fe87f2fd4332f08c5b810110938ac6d57dc8ce3525857b931b72128bb459dbba6fd5c79f258b0b2453c21f0554f2f175a9e349d40c463d2bc498db688b7d4f8f6337d4026172f2698307f6c5bc4fcfe4a4cda80bb157f19d9e61b7fe83c4ae4b7749395d0ce635783fe7346b9b2891d9fe28ee595e32b69c8e85a12c5f74f69f10ed8bfbd95e4424fd8dced52af700fb8cc420383a59a1165ffb33cf62ce919c85cd0047772e9e91913450729aa265d52a037a5e9a3da8c7a9c5e5bea637ee0bb256aab0bdde36c86d78752b4a80696e581713aa4055b1d0ef8523bdfb4d0c54f09edbe84435f1d67485ccd765ceea9188d462495810e6b1ef85fd7a51ca7a156b0713092db9c14d993366373824bb6333514bdf6846203dfb79d72a2a45ed925e9078cce7cb2f01920ad0af42d8f60161d248d9ed94319d3a660351f06a8e3a52765795b0d5163a3a2ff9bf771dd96b9242468b46df57fefda0de90b9f08a81d9b4ef854fb6f0d806cf0c534e5858affcd034012ca5d78df79ba5b10eee3328e8cb70b46a070adc19817d26722226895e15a25bc38cfe92059a45c1e991d859e5dab2e09359fedcee47e8b50cc64553e50b63a2262d84d3183f2c7291a912422c203e256e7c1fc8b10b17dc04acc9e178fb7f4ca09e676f0ec7926942a0baea2295426b56191f143cc46dc2fa255d3541a84fd0f4b24b5f666e92699b061a73f87265110ca4ee019a043ff2e41cffb0c729819c7dd1c6f52284d5daa7053d20285d2cf3c2ea5b487b68fd02a1ee50fbf6a3c6729fd22a900e9d2ebec90705c8b1b4806d03391c0b66eed0919c60427398a46dc03e4afea47dba277a4c53d70e3d2ad60b44b41d4ace8176016aba3804b0f3e20952bc4e3016aee60304f6028713a38fc55cbed4096a252d448f24ba4b10091cf17507552d9bf04870571ea6c8fe41c4e6d3af03017c7f49a4e85634cfb07d43cd69e69818a8568b5506385c1592bbb6d29b7945b4a9964da01eb020603e60252f414343c31b4b75cd20aa13dfc7c8892a6f54bece1d7cfb742cd4e6fd56fbd4ea904233bcc755dc6dc05652cca02df3231be5a920afa628666efbdb7a780ceffd3a7b28655827bbd766e69daf331c8be19a1899a180944a1fddba8d4920cf6b640d3b42449f6b7f31f3e094bd1e297f2dfee9a229a5827b75d99c448d687b18c87657394d7c1ddc6a4e7791d0cc284be7274ab95b3453fce59f452befcff2f92ad229651ce91ecc1e2b1a137802490d4913b32674846e444da58966c598973613029da756c8680a5ffefbe3646caa7384758b28f0f6fccedae03bd0966c09770265ef2deeb3adcf87f417a9efce4e2c30f1d51b468e86fcfd87d846a6ee4b179648c2099647f94ca232ae9d16db952b45a7f527c1616db96eb662f873d63e7fcbaf5cdabcbd48fbb4f71204e34a48945f8803474d783d61f2a8a9428425fc0f04b1be99b0d38e8c8639c2969e76aabf2c67dfc93cfe850a98c18193204045ffff6ede4b27af2f14796d713cb7df3c060d13e06a81f14c0c31a6bbc3107c5e306f000fdf953ea4f5a2b7d5b59310f1d0abbd1e49ce3d0248f8aa65121a5bd9fe0200dcc74af090a36e0e0cc4e88d19c2093c9643432994cb669321abf3d60d9831aed8f0472a3cf89de9132c71e69cfb284a63433bf71be5bdfd5d4f0d5b9a0c439010da128a92143403080006c11da436bb516a594bbc8a57f455a76648873d069b4c7a052e5ca9451a443145f7cf1453c8ee3e8094129d1ef1234ba82117dfbe88aeed4a420117ab24e7fc0bbe5f7dd74b3dce6fc27ad9bfd3ea739d32e6fa47cbd8c75eebccdc5c5858235773693b8ece5ac49b945bbe4fae387a5f3e412dcb4b0a185e259d67e5fc6aee9d4060ed126b8b14aec97a4dbe64988045255e4bfbcf1dcde17d32dec345fd0ed6ee74fff6f53bb9d332b637022a13ba2500ba17fdf20b077b6ab57f4fbdbfdf6595a7f5b81d8afee6df9f7f967699afde1468a097d048a234f6cd4919e2a52578a5829122b0308d60231bbb1dd01011bf75e8627cdab343c26e8fdd8d10199956f5e72eb256b51c76a648b525f68f0764c9c1812baa044f73caff7cc4ab9d05f4bf1ecdaea421c77edb679912a9925e6e0d94e758d3ca6d771e25a854abce84b8dd5b1caea0ccf6818be343a7490b43098687a67c00b5adf89277a7cb4085e46145c8a9512b02338b37c28db5027da365ac73abae8432e66964e6b099b1c249f0160bdd497f9c4c913274f7a3421d45f46f95265833f73503ba6d6ce1110dad472771316131615522693c904408ec9f442070039b7c5049a5a2f33fd327b3199dcc12023550cb1308e1d4bd51030decac2e6e8788b829a6c9e5aad56ab0544abb5c92bc5dafda9c9c156532a796d6c792b200ea8e82a9a0b441b08c52cd940144531068542a150620c9426dc8df0acff01289e074585186a5a7861e637d4c1821e6e434e0e96156aecaf309bcd66b666369bcd6a5c60bceb8dd09ef6346c85f6d15aadfd65b5f69931a8b7979773f38362ddb474b0c4e0638c4313814cc2d32d0820d0a2256b8097962c0d771f113e49993503a85b4473c0fe40698edb5a4a89b3cc272fca5be2ec45524a2931283b992596def6485de6aedd2a7db0a6462666c9bb5c785c743170f744e5e406076c6e6a987a2747bf64d8444fd68d0d094c401081280e2ab3862c1c270313a20fc9f739e0488c6b5c77d9414b30f467af010834f9a1514a1b954339779d2492b02ebfcb190c6ee32d7b89aead175b6cabdd288d97f0ef2e6172687a13d711acfbd45218ec2fb54d88369eed527b2f3833c51453646025abdbf67fcb90adeeb6beac973cf646bae4ebda78244d532035bbcc62b9fc11933f90384ce9bdb4d620c7beb2452d3c88337d5a0a727be79cb32531d5cb1970d2f7ffce9e0167810d411286844f9ccf92127a0bb1a8a9addc08df4fef410ebbf9bebd51a8226a68cee7db8d5582cdef561d6a4641ed2b95fc419f59bae0d0e599e7d420f6a6d03ea3b5a433249830da5165da2088b835dc7b33e66ece98bb96482ae4e49d734e21ff2692149126c635becfed0054b43bce411389a20acfc2bdd0867ce8e5337fce1e9f300cc3add2198637747edf932fad681ccaf744fbb88c89b3988cc68ee48e0ca59014daaa2c9af247be64f82383a46bfa943cbed587fd9e813dec61ffffffffffffffff41e1b3acb5324e6f2fe1c1544bbf14152d84c8ec24055164dddff7a5beef9bcdc149a26f25458449e2b7cd6e1b0c46d3b4d5f625594d41838d7bbfeffb66d23e41baa47bbf02be0f42c0f7fd773580a900032de8f7b5ff247b37ce39efcc9d6632e646e09224f93a7ce24ed76e5f232f1f94fa5ed9ef9b9a6fce4ae0c1ed3749e74f4ae76f6a6758bfcd5b93bae79c33d36d1b1275b6397ddbd35f0e3b24a5a4db6e3bf76655301950bad9ff13a775cabe910734289a942538ce5a3ba79576885b042513420776ce396fa5f36e95ce4dd629ddd8ada152c1e0ea516dd9858bbca1f3f8dfdeaf52161c9d73b291ca662c398bb33a9651a9076721abb5eb33ce12e657ced926a39085562efba3e7b67f66ed6ef2985d3996651bb574dbc61a65c27e8c22d3de33ca95ac1efda65df8c27896591567d9e8388eb2a0efdb5a75dc743617960cc8dcd1d0e5e4c7a7278a30bba8e0e10955631876383159d70a7f423ceb6e3a9ca1eea60bc39c4731c7aaac8e355667dd4ff792f9908f2e7ad1d0d05091904d64e3ecca47a0507844924a5523958b7574f72af54a1d550f671db94014a3da6c369b2af3a33a5636fce8627c7251d7d1451763445114c53ad6b103b12812fba95a4d9444fd6f39abfc39e7743664ad99ce39c3dc2e6b9dd5eb9c81ceed9b755b6a800b081c4625158f23af235480412016a620a754108b798ce02cb0b623a64ca6f0f582c74cf39f6d0a02bed8a1692f7b7842266c42f1bcbcccb41b13cbcbc8414bd04b500bac45ebc47025339bc020a089278929c7644a85a1fd45261b18e06e6c352845dad02fb3335cf9e60bc6d639cdd25aba6db5d68d523be7fde7a4c459002bc06fb0ca2cf895a491a9140464f6b20110bf007ebcdd7237e79c73da4cda94526abdb1d64ab9acb76de330ce2ddb7ecef90a699789bbdb711b6b0ad8935b2b02e002818025f007a85922c9f533bcedff56e065073ea1cf132852a6d0300c434ac3b08e2ff31d3f504aa99128e89c734e5a0af24d4823690d6d8b9e1f7a5042c3664514251de8c40def85a2a9a404dd3b3424120d7925aa5a07d2c80674b711d8f87dee931b14ce3083f42d23e3b9f6c0dbdd9fe44c0c496e307a3787e9c69e472bd3b34d6714a7ac4a077db018ac7d0653d8a73da73ddd281726def0de2a6e16d78bed0edda1fbba3e7f74c3ebe337ac748a7fc31b32a149a3cb156e61ec0df2ed509ff37a0417b761e9d3cdb9b004385d108689bef76e1d7b1de8b60c000eb118ebe8e858242a9c46eb07205e0948c91b6fbddb73f0e9210d6e871b6848f55c21428913168916ff3f9bb2e4bd0e4f13ed25ed954aa52d438bcbfbbbfb77a492974a74cb50da416aad4edd37cc93f07bd9cb3f5c6ac6976dfb1c1c3a3bb15874cb75efafc0ea783de6fff86cfce83f563adffbf1c74dc3542a6c158c054b62988450c5c5374a733a7628b6c36c0b2909e9f9755badbfeffff495b456a9acce7ccc78417a66abffee7f3327ad19b8e5f7a69a6a970c3d8f47f67819a4b4868803dd6dab5eb285a064ac886e05e765f79c4f222e4c244fcf0cc8efd2ef1fbf5bbe65bafc9e2d44a9a1d7cc98d45dec652f933aee4b70ff4935a297332638a38b35632528630f7f0e5979b57038cf18e604e604d6e33b9605255dd22579647b4c9292794b4c66343b1a1faf522e9399884bba5c9774e9cbf54765291528553429f40aa547948a5328a5d4524a290f9ef37abf55fad7b7abdc5d93579c7f8343bdbf29d212c942bd4cdd344646686e55a6c88a52d76319ad0ee17b5adfd94f2d9ccde671bc924c66347bbaa9c6b3a39b82292f4af41ff6a7ec06ebdd3d05277d333d5f3672d86651bc5cbc5eaf172743f9235f12283f6b0b5d52ba72b73338b76e93be0e571995b6c91046fbf71d6365b65a8224890cb999f1695e5a0b58795d68bff11b6fe9c0f15382c160575830184cc4808b590d0cce928d40808080e0e80102028ab23191339246ba317b792c6353c6a44c1a6d95bb5eb7ad4ec7328bc56495a0a8d4ae1a560224f355000c12060442a1480e647122544e4a1e94414604a2910b154dc3a1c8180e813804418c650c33c6100280c800c1086d04d579f1e68cfeeccf5316d341929ffb598b1ec0f4fe16a523d0ea265c0af61313a869d51024d6fc958fe3fb29ec7f86434bac682db5759c88d7f469232b0f887cd2810d14827a53a22b38662c9f3ba8658778567f067017ad54f97e18575f1e5ce2c8fab3a0b78cf75529c7fe1178fd404e530bfe9b2331d91fcf3fcba5c3aac76b76bbc3ac66a7364278142c1ad7070d7f4f5c5450d453e36f15c7dd586ebe9196dba7722ae3954d926b6bc37e2811d2ad28ff15a321bfe61e10d27f772b72c308fdffc453272b25aec90268b628b2e63249ff0fb82468e06737d4c1b1701d0cfe7d88a56d4c2e8aead24b21b053901c19c878e1a5adaaa502885f282cb7c3ea71a57a22bf523db7be071f1854599de55fe870451fa063d321a6865c54eb14d99d992ffecbd9abd401658bd20a88ab740c8b5207cff5fd1b20f9cc0518636feba2915b90a185ac29452da3dffff9734d85b6f95c355fe8c2700793fb9e443bd988457b621af29bde6fcdc6b97006f11ef3ca9fd60be2e92d3b5130656da37b2bd897e2166cfd05a569dea8aaeda30edd31d272d8e32147d2af7229d1c6bf619bfd5e576889a01429bb3b68add72e82f6e6ce3ceb1df2a64ab503a9a8559c17e58b08d3f678fab35d3c182b8223756d0102c63a74ca6c45c99b885cf9907b98e5ea75b404aa43ea33e34d748bb0ab50d22c14f1b5f8c1b313c1fc83309b52ddbd627ac5c540947df180f03f7f9a755dbcec4e26e35149ee4989fae2aa30e4c0ea9abe9aa52702d62c5c83f61eb8fc2842ccfd640a461abb5cba8fd6f5c30e0daebc0ae346e260cb09089cec42d753322b5343cec63325a4ef23e24f3db6a9a88cee3d7a4bb7569950ad34dcd6cc4c4ff04dfe7dc37ae26e276b06aa1d2d2d66d52ee33f365665e3b5e4f65595bc46c7487f284ec393e4b7016420bff56cc3f15bf3ac19bfe5e4e7208331ea0f390c84ba128c9a4746de53cffafa558b6a635f8defc8a44b0caead5ae758fd756c73a4befe0f05bae7e69070d5fb620cb5bdd259c2361bb0a80369211eda8055f71f4eeefb5a4381ee9ef5751b131aaceae3fa542ec082f6f5d845d89af0ea33d7dbe50f718367d2d8eb51a6359030e6a7e879e073b957c930ea5459c9cdfca2fb5f6aded4701ab0693776cfa7116e33281276a6fae5db5582c0dc1af57e9db6757f4b4cb14231d945a2a3add85de9bddd05f792c0d59814fbfc9193b208e890fef448bc2c1437d92308f31e71b2b7f9159f4ede0f8c4b5cee874014fa4e9a7270e4569b009766438fc4e1158692ddee0f790dafe6e6e3826514ecc314c54fe80a7bd63e13d1dfa9fe4dc8e4ff376d4c6808655a2d509b88f240d924155102a9c62591294aab882370ac7b091184bfcce301b18d009b0fd520024b736d9ba6eb4e9772b9c1ef6c1ae5e269c49bf8c955c3a9055241d4c8d98faab1809623c506ed15957f6afd96c92064a95abfed47da2d5c89a566c631389484ab6fc381490321cad6e51ce9945f626befec0c8177768cfe8f9d3eb3509aa6fb69e7ce92fa83b56833cb2a18a1d2e8030b22f73f1a9ad4d9b2db1c214f2da6fc9608407938a1a817484d3a586dbf88f0c1c45e64e3e32c8e746688072bca33fca2f00bd77012d1e44a9a816961bb14482024895ed8c33ca29ce93ce61ae8975b5f076864848e9d2d620935e69348a12690a70d423679ed68dabe62e0e440bf06ab718af390d5c6c5922008dc6a27bf181bd06fd814ddc0244727a462a40ac2242c22cb4e319aa2e4ac7fbe595efca8277a5da28dd734774d9aec1e6b4247d0b846fecf96083e22e141d5095714958d7c6e0df80d4d8018a12e0a7482c7d4a8cfeb23264a4ff4d64c00b5cb6c48e0448de16820cb61ffc567a5e27a34c25a9b78995dc0c2c5cf35293c5e935737268db067bec24664efb98b53b980e5ec8cf9e59d58eaec74dc94ea91ad651210e3c25c24084edd92898b0976920ae3d0f421f4a5332da48723bf2ec30c882b620f7b50a980fdc898b1bbc86f54c08b6c260347ddce085fd86dd84fb281a3d794cb88cf91cc3ba17b1ad4c3d332dd9a9fab75a89ef9e4904d8f780f37033173f2b705440d71c3163e1ea20d27f028da0859e778db07fd91e6c3bcd8c535fcadf1f63d64158acb91dde5cd88bcad4fa88b6088f3c4a545276f68a4db389004ffe5182bc5f8519637a64798a48936fa00d5eddb9b4d35615879176f15d93675ee0430359092c6ec19b3734e1b6f81d6de5d7c5164408fed3082c5e5a0c9d4ecb700b4b86d6d223ef8525a80763c1acb2fd5e1262fae6fb653be94f45769dd2dd43cae86fa4f091b45ae2b7319953a51320286895555139d60d08619ad3a1ccd212fb7ab736f57a6b7e52673102c3c399792edfcb8c2b373aa7a28a520477f6aa0e2d0c18736686bdad05e27e30044dda39e72a934ffb6f668e7da146700c2e1bb5847cefeaff05f8c351c91da1e469150e064a38dd19274c6410251d0359a06dbbe7d8c73313aa21b6b7c3ba7241b1b72c6c3e386ff8a39eda50c6ba76552995d951c29fdd2ec7bd89c55d528536c296a27b98261256098a35b73a964238dabf633b56603b2df91e145f54a2ec250ebc5160334875003d3da73663c7e0d2e37f1b34947a02eaeb729daa75b034d825bec8fa9dded5eaaec859d5da7e5dbded3e9729892bbbec85d683b53af074b2add1083a637fe93a479bca1f96b115c9b174d35679987228020c0a78be961be275c0baeebede7151da0cf084b053e7b39867c1837ccadbb698cd98617e17fff9003d1bd5fe800f834f861dbb490931c0877d52b2d7a095c0f1be37d4ada2a84b2b2b1531fd3e00867948280e9e5027e0c670ee7fb0029414a1dddd8b37e774133d9a59b5d086580fd0106eb1fdd1b017ebe2889994a13ec2b4a90ff319ceac439184ce2b4391365a80d18818a0859e59a601c2a507a18948688a114ec1d8d7fd2cd059da8865c1c4751564c2ad7936f03b6eed6748c03b6bf569aa9b1b62f44e9af955682a5533c420fb3d6af9ef8ae4acbdaff94f5173341aa4df55a6fb8d62156b3d3ba7246a575a589551dad8b2c4fb8c9a3697d68cbecd124301ab4b496e2967f41cd00ea7213ad0f6f74d30a6ef99f23de68051d009963ea61866e19a37e777a1c24938b2491bec96308cb4bce2c7334d4e51e788511f6a5fe02092cbbd91bcd5ee9925ba06a3700a1006caae1f9697e5a850cd3c9aeec5daa446d5c9840961323fdcee90621a9ffe9d25b4ddaac89710212569a7a92c1a3b20b693cb74925be3edff436183f91c9988bca2fe7badca088ff6c1ee2bd3bf05b0e1fa1de62fa8ae8332706a8e90be2cb67fcc4f48c55adfea6a897983d73282fe8d077d52430abfea0baa399679b2b8d1dea545504b0b10dab3c585f49fac8c6a6c1c23100065087a26939eba61ea9180d012287e023703dbccdfc540d5c96814bc0c9a2180fcb691c601ae8d18c560fba5d7d682c64bca10ca39d7009546511fb5855e61c8a08a28824152e18704f0bc2aeb4b3947f015df266000a99e72349433964159e23cf5654237ae334995ecc0a0ae515cd0ca68e639e94078a31bb7267f0b3f0ec3d82329748401a1e9e5c3f9b533759876375af4d46bfe0bf0b564f9b4a410f673c329de298138fec8b61a9dcb1a547c5ebe310c431788536cb86d52b793ee84182de34dbffb3ebd977e18d676320662ed20ed295c05373c1fa6e61f7a81f3761dc5ae7c212d91dd8a854aa5cdf234ffafb6ddc363a831829a7c5423b9a4c058cca8efeaf0c1fb4fe7b658d46b10c7afaa871292d26a7999e7adf9939a6db33fd890dbbfa8e16953bc7c2a2176196d8db34bbb066774a1565de03cc152aca824618816f5eb678fc368e325f6afcaf6a15ae550ed65532b474ca52c84cd91b41fdb75bdde601086cce5a36cc1a2bb3a3c60db0ad6b94196bdf95416b570709ff4e8230b4966b0cfc1c6beeda092714a6db4c1c525f4896fce2d6848335adca8f67113b61af5bc6f8d977e9d31c9a6177d3d1d5925a6aa2c4cd4de240f51e237a536b0ff728e63357e898f2bdd10ba5621b9d8631638faed059d6bf61f46d5cfdf9adc6b4440dc2e506bdc3717cc1bab9c588dc12d68bee7b9c69161b9750e393e24384bbad56e1c1019d0038eeea384c6a571c25227a1fee86f23c9cf9b2dc5971ad40831bc2021bd4dd36e79986b7b146c8ad412548389340aeee973901f16045d8ce088bf88a09114226050cc2e1a2c773f04a60de64e0ebc3f3860617aa45fc3dc209609c5959e1d3ef46969454712c51fa59030548d1e92e10819084897e3b812e37d484435e07ffad82a6c5d04d001d298c57924bb93786b1e7dd1c1ccf20b5dc8553896d88a331649fad54b727a3801882d2b5a9821dec1e3d7b56082cc8797f94f6367e504ab6af5926fa3a3b3f8f56a96778e307b208cee873b460200fb6de5bb0f4bcb63df01321ab989b0cb3f33f1d2f6b4aadc2ae8c004bc2380f906374a722cc498b3ad714831df4984e124a687811320e8aa728a052844bfebe097a6b0a956807af7a1d064ba8bca1ca9a5e00b9b0708492cd93e3caf165409eb5064b23e1b7c0cd4fd38254fd4bd7d55998a2c8ddcef3339a63e746116ea54a163e44e4281e9e1e52d16e11c5912184bcb74c272a683e0a442aad34dfaf36eba08684587e6179b25ff96b5b9d86af25449cfdebd95cd32a5052eabe935586d92c977cdd21894681762b164666e3123455d3644a3cf1daaebffbbf7aa0ed1fb1b5dc05243c194d26294e5c369df570cd6abd6a60da7d4a06a28c0d6b36fccdd0317576b65225cd952fbb771914e03d79706d9b1b5c68190c8290546fb00f0b0ea2c3bcaf6a7e9ddcef1ca03e0bc956f9e626bc1fc781cb9d68f7768142a1bfadf769261672d802c7456227d769fc9652e9dccd390f7cd8a2f6a8028738b62c14dead367b371bfb7d378e31d6c24e26791e64060a6fdee39c6ad59216d0dde88ed1c9ddc0af9133d941464c3edcbe948d23b0c1417fa1322272e4116c4992d79ce6a0791ecfa14cf19e51738d7504cd2a476f57a0d6fb3db7c9a06ecba0dd061e60e2d0bcbd9d02a84c0025d25e8aadb1bdab0100e733faef427c7616fb9e584a52ef7928bde35b9f846ea711c6741df5031bf0a1d00959b6a74fb3154060f19c9d53cab7bb7a18e3af5ddf1ed4e00b6d1496f4c9250fd45eacf1ee5aef4024c67d67bff72e2692f6ad643f3a753bee5d50ef367e8beb72307ab516000c860c35c316cdac3ca1063782d216096ab0d1ad927934f5f962158d0e79ecc924f15856e212bb85d90f857c5543f91076e16cc8284647893450e1460d8e916d8e0a138227ff0c4175fcfd9c183052527c91b07522262f44ec0f2ddaf2367b083583217ba3b99c0b52ccb166c277027cb2fccf894b20ab8fbbf2e4579d85d57f16354c55d75377df5686faa0b9efe0aae45280e9743eb66d4e8a2e091f9aec9ccb79475cbbc566f09875921b65a2c4d6324b54cc4032727fe41d5602c3216442f901dcb00c4f3b3494102f987aea788ae04b6a4eda458bbcf5589bf36eaf4356a4035104d12458b805e4b6c3b000e2ddb694e35c51cc75dbf2541838a9403b836a68d696af72d013eb95f06eaa0d83405e92f361fe4ce185ee3ed9c6f76c4361d0365093018270560976882c806b2a80c97ab4c369f364d76616b5d5dffa0ddc7c19cfae044b9a0c85198dbeed6a0379f773195b162ce56b1aa515a3724edcc8acca161b1e109fae41bea08da98436fd19da78739d9527672096e40391d02d47b86028b121d0494caecfaa3d1248e31917543fcad3f0fab6beda34abf77a71bfdc2d9d8f72fbd02832697268599c05c631a8fbb8c7f6fb6b5dad601f56d1768db2d1aa65307d93e277d892edf2dc77578a1790fe48320d35a47def129241fa9b6c49c78819adb37b05b30c4c05a4297335f65b0c283aa23a7a4742ae347967dc6fe0d866e26f4d6e5a2bad3a53d543d813d1a38d1d81cb13d86bc316e8057e50cef6011155217935dc64eb2a4808c406f0b8c3669911819015b67faecfdaaadaac42d0b6ca2c452ec6940ca65aa36de67b8d329df7a217e2d9d62ab440108c3efbb426bbef4af5a613277fbc98801714821a22e1faaaee1fe7f1f3953779ca4bee42aa3cb0d19568575017e21f6c49e905e05e11bd58d209de20f289de636f1e68520a382c94e81712cce6285c2642a8f6109b55709c4f782b767fa23920bd60aa6a491ead280e82c6fb002b4f490f8e87ddedb4bfdef0b57f552a0ed544a35b63643bd549d499af0462a0e3eb7c901be6cab7628cdecf642ab72f5890ad0386847af0487874f87f7b59d8cd05c8480c41a6a60cbcb6f5049e26c2ee33b5c11d518438d96c2c08f0f2716deda2d05791b7997822725dc94f2cb0d72783fb1789b00b4afe571ec704f3f1ec3a11357b08130c8542b8505def9440c344d59907e61a0f49497f4909e5d69ae5164d2e31eb270a7f2c56e40ed5644d1ab891c12402832969adb1db8ca3becd1514686ace5508f7f4f34aa28d67ed690c714f45028ec4b929425308c468e919be06669d04cdba57be1fb946a2f1b2e20dc9da8cb300d55aa1dbfa818ace73a34af36b7698f26ab9d56f3ef10087dae743020c042cbf500b0da4136d0bcedbcdd4c7bd1abb4c1891e60a09a5d2f73d91108c8199ed330594340d81e6381b4222811b3a8853f2f490c1cf8c00ce4a0067048a0d446b3d5195005c85dac8fb61648b203bb35f1b1d0699b0611d70df01928c19022f2f6676891d8ca41d5b0df88b8493d0735113dcc697054a122eb6964967398b02e6045b6247457c296443227c36ec663cd45f15ff1a59f74101f7b99b4f8871e0bb773e04550b86c25ee967903017838d49453332338ed893c91094f4d524379848ffc49abc5a7aa9755d55c82cb1c6e9eaf8c05ef038c1cc7225958a3e51b12cc97268b5144837efb745f386e228523b565c33d8da23ec049c349392ae3c6c98199cdfc234d74f8c24153b224ac1cdbee9d9abd4550a5619ae6cc15dc1f9522dcca8881b9dfa2300d3f8f562c8a7f5c36485832d8f60c179ac765f1b274d61073b5ff51cfa612186413afec4fda16d9c95dbb8e25f8e451cd0122bdb3c35c5c76ece551ff1067e6ead87f53386064d66e63132e97bcb8b5273c48d3968c558c716f2e16abc6f2f80f3dfa884c990b13d3044ddda2169d6519d9837f8ae4192a4dc878b41bc20642d5277d160869f129771d9a92a337d08c32d6f2745c7d240f78e4d1d96ac65501777479a8ed6ed8e97de14ba55afa430f87e4a6a864b31d364d7ea3a7823850229860a9f965006566816931ea2b3a6341a84ccd522c4bcf584ee180d80b59efe5146c3226285c9ea53fb2b469708f4a7a4c6f5b5a124ad6ce8f7468ca25b4bf9068badc5390ba1b59a2e52e229250068d41450cc056d79a433c61394f47b95bf1c94745ca96ce5027dfe190e6e1bdf1985c3fb64cc54c138ded41d1ed8e7b2819c9ba3380148e8bae49ea2885b71d9723bb90ab6bff28e2a9b837d53d3d7d35e2f264dfb6dfa18eb5d2a5e575a7751bf332721fb9109434d7147fe53f30a06e1f42c7dc323d79dfe164e7f6dbbf9f8b3a9fd5d6cd5441c71afa9c7529805fff5b9f00789620eb4e5eceb02ce88c32903ee12ea40539b227457cc8e3d32e6528e4e5bc81bc473ea42cf2d8773a4ce2a4b4ea57744bd1a9a8d19e93449d1ac91902c8324438aa075bd997360eb03a5144fb93f104744f78b512261fc2849b81f4e1338e2b70f02f632c82422dd3bdc13c06f547195709af67b025ea803fbee5861134d9484a0c61638b2a35a7b29946065ffc0eeb730ade9e60516c2588106146d74707ac6d85abe0f9889c0560e6b5e80d18cea50fad04860227b78ac161d7007688fe118e6410804066e63f1e4f6815665b9b399b540626c8e852f1a1f23c95143b0c06542d900115c61f3d1c4cb9bf2eaacc795d2af0abae103a6a73e0cf407400b4aa72669e2f20fed546b2f274e39d7507a3aee8d2524de9d42ddcd72483b0f90ce864eb9a68741a9e92eedb7737835986c747436a53e4002e9a01d374f6e56077a93c4d45cf95f5b89f799c75e549aaa408b58fad4eed4c9fc88f5f81633e54652222cd7c5f9b4dc95eaae88fe235408e70df659846bf97c05f18df792c5db220c0a9ba997db7edb9746a33efa5d4a40bd14f974b780430057768db1c82affdb76049df1617c5190dbd7893810620f56d39278947f0d3986d59e6abd7e1f1e231367dd5fe8c7766824d6ce8e96a1788af139b7590b31e8dbf1bac7dfd743c2aa9762b8a29d3f5a61e10ae57cd347a643b9d8f5f32fd21e797abbb01dc928456f8fd00fc2d331fbba7bf84caa80992af0ba37cbcb7dff0d1b1c0446b3ac19a4493779119e099dd50a9da10705bd3ee82394982d0148792d753706dee4e0133e8adb9b4e32c5ee0271690dde910ad9181ce08f97cff134ea129baf5c50389853288a7c001cb2a3e4d73750f32185b6d5dc1563d261a6a68ec460a8f89f7d166099b56a8e08d38c5426f4236382217cc2673e43f31a82a30051537c3b23cf51aaf15add3d06ec4c2e88e57326a9ab19780b3981fee587ffd62c4ff8a228db2b7249db5bd2bf9c689a987a4dcd9fa197ebaf85522c925a8b97173b2b9bbf0a50a8120dd5f9049674aba58706976c0ce14c96a04ecf303164b9515febe1791c918f93ba740ec4846627c2d9a8ad46dd4e5f5f54ba1b64c557d7ee4b5eb4fa19bb4440be55d55d7bdbf78989b933daf1ddd270565fc4c7f1f7cd20a6473cb07096f3f0f13c679663f2e542f3465b67a1a66712f96003711f5d13ca4495befc9db6314a84a44c266a696fb074a244d5d391bfdb0a8000e82eaeafdb4e651b27528a25260f1310e873960ab39370ede9bc12054976b1c76afff9f7ac916865b634af7a24381740410e4c3b2222194ca67d7fb4714af68b749006aa508a4983740f92acacb7119a50bc360e52bdd95f79f0bc9f18ff721d40f281461149168880410f489acf31f9e2f3881c96ec6aa911cafeede20db8429d8c884f37ee227deedecf8481e6fe15d011bc986076512404f5319bdb89f17f5117563c8b95972a14a948fa861dc4aecc751409d669c26b0f5e303fc9782909cc9fdbc1422efc421ca101f54c0e941ab78cb471181c5b518be80a26ab7db31284c164cdb47f7751ac7711a15135e9f869d9ed1924a89e8052a343905ada769e7c7d2a9e962d338d6875315f20d0bedc58afa7d68b83ade1e9553fe28dede7ccf144c3e6b2427bd7d791a2849dac70e842a7febd626504e7bc3d7a4278194e0ddce344c1c32707fb4aace7dc20a39159610c75d10ec781fcc6b939d31cdf379a7e0bde16525b606da46f9622f08e0b6f50b282002b425cdb85a51c831d2e124cfb92bd03dabf0aec268311223c47faf8ea52ad8cfd1dc6bdc0b7fca71ab609eaefb9fded2069d2b63e100a0c454719529754a0e4018117f53d0ee13e2379e8dbc6fb00d9aaea7350acfeab9634b4a882aa077858a51b27b60423ed54fbb3bb0ff9ffaa5b3682e0734fa9b9e5138b1e1e6a2ec280a7be8abaf32497b21471d450ea08c54949e8a6a48547e496392b768d9d1f773858a13730d41baffc951c2d29b23a290160aa2eeb814a35cb26a591adb6d47fa246ae8e71e5241ae44baf032ea9bc97a35da867bc79ba08384ddd4fafb506b7e51d7a497fc2e95f4f2f96d89843656a727b9f622fadfe33cbe236b53514f34db7d15784de2fc47b3666475075fce077ae2ae7c14fe3c00012a8226ea9b45f8ad0b679a7623eb90586c35aa0e6389b3862e1aef8d602f3ad078088525eef1013683a078d1358edb14f5e8e2bcb48670bd44c6eea65aa49bdb50fa8555c6ed04e7e4c7995cf16343885dd0759ab75122db050283a342e7c264f4389191a0ef2e200d641c95f80f26724bd3c694f3509f10f578bf06eeb947c891beae2317e9d631228a3ea7884b254495fd6029d55e7beeaf9aa78268e62ac95b41f4a15e16ab74428149aa487fc114b2e751f133b1ff10870bbab68b23bd46102c0c7bac8ec1cc288f6ceaeab484f7991bb1fee81411290d1d3605cc5d03ea45355e85b34a6b55f2a722788b33b5c073a5f022c2c9a3ab87f2163bffd3d800beef6e7c9b0bd3db6b91d68ebde4771eb5939afea5c5ce612740bf05752499e63e5858ed3900ae0d96516b9b0ec999b9682135133554bfa869eb3b709c20f0aea50992e6aad63dfe00734f0bffa4926ce0e31c04f346cb97cc94c6cbce760b08bd621c42016a09fccb599ec569562c1ecac0a00352593e815a01916ede394e8f104bd82c35f17161ebae4c25fa72d6ae691ea4a0614cb8bd93da086ee8858df561a60a99bb18c35d65dc3bc7b441a0c6514f5d51a4ef6771d033e035aab2fbab4df0895a73011cf8bcf94c217a3aebaeb39afedffc51f8d05bb1717d00a43aa0441046d777e72c1b9b3df6dfd5075de6bb87e12fcce3dd55ba2c9224a240b2fc4ec4f9c8786cc70f4d5bd49b66718f80a11e4f5b20cf7acf7ba876573803850dccc2f4050e223287754b4e0468eba019c1cba569e77db53dbdbedc4aa71c5b96099d877eeb24cd90183ba8e81aed9385dfacc4143b165bb6bad7b368a167b80e7ad71415274fa2bff2fc88c12778d2e0743379d4350a9d955575c8dea74dab0b5fb1e053181d23baa7d918614d79415f5b8deb6a29dace706f78a6c18b58d89415fcb1042b1f3f61b7863d27e20d9e1c6340c99a24ed7031db63cdbcca3afb452d447c8a3607d6647b640cd43d66bda82fa551a1060d05928213511c91d73938223d1c98d89fe4c1b3c426c22067f0b1851c51eb2abc580a691aa04e6ef28dd98dc396366ffc604043cfd89f7dd989ed5e02b28d517d3910a697580a862c508f7eb05827a08dd70ba4620988e03d3f06939fee1b52bedcc82dcef5115839fd9d5adbba40a6c7cd66b6f83c35775e89107f9aa5b40205ba85e849628e62f47545c44eb59189fbbc9d647e676ad2572af15bf3417d6b5328954f17d023b9a08b8f5b4514a757836b653603c090e479516ace6e86efb63f137cadb5ef73ba6f6dbb8a5560158f704ce2d9d30e0d36cc35d3620f8fc4d9d4ad4d0575f08ae22a12ba4a202f920a1ed1782a61b9e75ba55d509a34eabdd2cb45c3c191c0ccca6798948b636d847d8b18120bade3c3568bba69c9652670875f4ce01a17d0199462b526e032a8ec9d776a90c1452e9be25b6a7f0b4c1f19289323d849f035fd325013c8eceb662e495586f365b00b5a081fb778b7b0f63ef7d0263b91bfc3aca8c8e29f7a598c9d88c3c39dcc797c1d5e74fc5d71f377a549abac3d5b96e7c3ffd1dba7b3e6518f29c0b875a12dc810c8bb073da490c7a27d44fd327e41cefcb29c9c111c590dba14abbe09eeef2f31242840857f2a63fec09f0a63c2f63ce96dafad7d9b1fd498a6b94fdf656a267f9f95e520614a512842c9a24971f87a8bc973c280093559c08daff017e44c4dadcf1370890ae022074a722954f05ada8f546c3c8b954c0547564a1e6f2ab323542bc1839775bd29a44f256c918e9a2fe3db50abf7d8dbeed4baeeb7544924f624d3ad1a7cf3eb807eb8b8a2e73dd1950d59d5f7cdca38802550030267ff9cb015464a41c8a89f1ffea8064035444b4a4838d50eec940d626eb51446f32067aaa951e7aa28ebaccbfa39fc8fc3925340c1d134b00b4e12343afbd22352e137e6e4fb13534f67fe6cef4966ac67b5a3dac956937e3c650cb4cd8b784a64639b46c5873bb213795dbc043200dc5a37143df3bef4156fad1aa681f9fec865227394d9ee4e5929262926aefd0b3a3e0263b9cc3ee0fdb4a1d4117d200f257389b3e2de39c8ee1fae8da6e066d99738fc120ad81adfe7519988d9524c60a1106bb4270dc560d0ea62bd6834cfbdab312d3f500bd96bcd7e2f5b58d31417c5f76b14fabc4e124e7259d4dac99a54621ead0501f945958212e57553f587e8c0a21838d24e6567fe06c3147b7a66aaefa9a702b01054a5a2b3f975653797852cac9b9d781803d1bc2a5002b1b341809115c78d9e5c3095f85f1f4a985669c1bc8aa010a460cc6d8716a199a28d4d911786a41909ac59bb3006344f3588d60735c1b727d6f5e9975cd6a7c910ebeae944db22d1dfecf78a5fee0dcd79de3da1d7701c4630ceeb8392ec3b054087d6fef8d1f1ddd6e3bb982034c150b22c7ce182ebe7b1c3f639546cb56ccec68247080f227dd842e4ed8f25c19f6a3c144710c2998eb461fb6d98185938fa19179f7c6528447a1a711fe576efbdb185128af828b4f7e525a06320ae8d747c3468afe7542a56ed1dc2ac32b2f8ffea6065b5aea7e163261ce40ed0f58a775b5b6bb7925a2e9307a966e46960971bc699dbdd43a91709e97b4dd7ce87f7647dd2e1b4037cf38ff890d41c7cd6fd2fe13ab485403decccef883e4b605f6972123a4b6719f780f5bdb8633d1872d00c53f59dda66b63b88826a06be50dd2b27928eec6b063eae8be455fcf1919e486f267668f659b49bc1283e2c62884407791d9cc68afb7da91f090c5ebe3ea09c62d34a04611c8fdb2a5aebf8570d21fa7493d25664ab6b6f293687bda6bf4015dfa31b2f40dade9883109ddfc0a99f28494664f6237bbbfded3c72d0b334c6934f57b85f8ed777ed6e2bf6bd0b43485b627b67ab0a8ed5d8574d32616d5a238d4a8f250baedece3e48569a590730c7101f10ea247f13b4eced62329ce2c5911485f572c4bf24c71ceae2f31013b137ad8b953f809064073c8468281b195fcdbf9e9312d4d44d96a3dc8b002789479631a696b02d56d1f497c58283f056621abbbe092d87cac9630ad4faf08401f94c87045b0396afb0565f0ce31595672a398ae6abca7690bbc53e30f30550e23e55e55a04abc2c0c1cce218c05d736e085d659b4299303a8520f31eeb87ee92087d23f10017460679cc0c75d5751e973d7992f0ca81e42ba6a67e7c3a3df236bb845c0d46be956eecc52a0c58f12489b05f73666f3f9ced879160558ea880c4fd5c913a58976fd143d44719a2b356aa512a931874943e718145e8d8e3fda27f6705cfde9a82c8b91db59235a2cf31f71e6eb1ad074ca28c953c67223f3406966ce94c721e7e5dcaf99994dea72ab678dfa1197b0ea91e3574510ff94d6bcf744a99e3190c8ddf75d60318bf73697603f6f2e429b902f9882d2ff375fffaac6b3815ae9ec389041eb91e04675a7589166c7b012a14707f37c3b90139cec8335cc829fb40213976c2bdb533280882c819eb2acc9ae4de144a14ea585a975c0483adf708d5a51b0dea59bf61229cdc4fc3d888020a89413bfbf8adc2cfce8119632a23a1e42770286b895b55bc0afc6722f6ec4e4017f48deff3365294967e8fdac8cdc262751e091b83915c3f7ad4043e3d4edb4fba14c9fe38f3d1aa2ee295393c41cab9e8d9506eff4f02edaa68de421b2fb057fd238455eb6f87712074f1b4cb02043908b54d38804726acc866dcfb03d2c001860f52a6c68ca4240afb419207e749f02043e04d43d33a18da0a42084f4cc9d48ece77e05d44563d477309a67a1dd9ab2a2120a6a31ea135f6ed98b70363fe7417588f9f9155a607f0909f5c9efb6d38b54d702bc1181ce1a4b244f3d3172daf190be9c00a1e03970ce74a72ec1820e70c183fa0a90d621c1413b2fca2d7825bbc42ab0b03cf0c4ff28625f2e9372a92b07f5b95ad557349ae1b1ceb4f65ea2e7e7db421ef7ea2686f16fa9545d677a6c5a782d4d69640e57ff8955b477d5e0e8ec1ce85cdbfd49f48ff96f3688304525bdd83eddbf694c992dfa081b32f90a675963538af5d4e55751fde42aaa9955ec5a285c8d548971ddc76d9077b37554ebc618e3bc5a7b6ee121eaef724cc2a597f576783efebced0cb1a4df23fbb69ca3b6bfb66d79b6b09d4f30a603f346978c489e179d71375250bb72833079c3ab5252e873954f5139d0a556a0d97e75bdcf83adfb2595085741255b87a22bd869142bf51feac3856e9caca8a2ad196d71631fd11b88b3a396a2b3a3d2a253189346f87d1843245cb129234088f244a0267c6f5cd8e59fa858d50fa99ce7d93d04b6d6a4ebc5e2f34ab546742d628b5c06b24e53866e5c1ebcc85d8c234191cb6370688ffffb3aacdac49f15a44ff09d65c0fe87b3457460e2b410c2280e28282f8b939a1ff5edccda9b8af4ccca50a785df328cca733cd7e9115d87148b6767ddaf68d108849b440989145d46fca1b748873953c3ad42ced7e7ce09af0e33d450789e299a08aad1488db48b6523bc12c2745bbf734f1a46de87ad75d243d67543b05fd654e20c0eb8ce3236c33b2f60991c8378e4d587dcd1baf06ba9a5bee8a858ee5949e73af62cdde978e6181578dd0c7483277bdc087fb120f570adc43ee77d466bc12d2d926882a295516bcd5b273db8990a669d6c8f3ff4274c5c14ee0983477d8b93327ce0942b97225ec89a81adeb37d6e5e44e73acd4869b1652895b636eabf862a0567809315c51ea062ea4749d05d8112504559e241aea3a6aea052faf83a61d6d1e6560a475b1298f375f9a1df07d150ff88bed0a7ebb5fbe199fb28ea3fa5860683df817acf2eb03ecf40ab9caa3c22061f34b7f7274897ce4ce9b34b8106afc25bee7c064d54e9e42c65cf889e48c5ad489e602aaa4844073a873fb48e7f23e5ae2b4876fafc38f13ef81f3b1a8db1ea2210fde332b0f4be8b5b99d1e208788e110465a4ab73ac1f79da0ce6fc62fc66812ad8b9f582c7daee485e0707cc8c6f6a38d48046444f9603514039cdeb4356b809a8c5c22858b0b8e8eb9b86fb992ca9cd3aa69882d2e10223ccc26fe139057edc61b3a89cd614227b6c3c5601da34c510ae2667a375360a2a3d0de1eb70233cb1c6b5e1020ffea99a480fef806df5601a9ba8d35701c5bf3ef15de562d9e5107b88b3e99d66180dee36e9fdaf0ec6d60db9ff212088731be6632f2a94cd43283378d4ab73fd9edaa432ea90e601f94033564f052b0f73bede995dced65ea640a5df420e8794e600c61d0986509d4ed8f1704b509bd0b8e0e5863b6f8fadbc5d7de1ec3e0a3ec310ec885556c986a27a2ce89d1a60499bce236f5bd839e0947dfda741b1bc586215403e2c2a60192725368afda268b5ca579f73b940a87b2c2d1b84050b9977eaa99669ae225315e78ae6a867d73dd4e7aa67de4ed62e5b26eb40920dc9969a66475724a621655342a259b1d256c73f1796c09e7823a68a444e98147040a037dad7fce86b0d2e85832490fdd6d4ae42613507f2a82747bd8e1c647dc8581a9bb1780babec32640e1d0a96b6ee479051bb9086c186cb2c4bca1412c4136e12d449965072d9312cf6e79f8df096e3211ec9944224545410c14c85f34a009dcfb82bc05424dab5805c5f69813ab9a26901fc5430dda3f64aaac3a3f1dd23a11f7fb40cb0700174211a813308d28f45f2a5417dd16eb6c90628f15424057b2647be7969404ffe544301b87afd73ad9a8351015cccc803a64d6bec6a48dcc78bb113c13eb375706a004ad4e4c55be9093a1eb9343910c28a321e60e284537fe09d11482b682df49fb1039f80c13afc1448a54c2f098f027dd6e7410d0d251e4c0ec6b1739ef82f25df6d17ac4a24c669180bc384b55cb200d38c40082dc7366cc2624ca5406913b0823cd66913e64eddc3487d8564939ab8c511763b1280ee087b2575ceba061b13eb7b15aa79a6d1117458798b5cc6158324d1aebd7e2437e2351abd6c556dd77d4d72ec8253737cde43495b6ea3bca3c75e664f5e5b06a3f72411c1fb2b9abbe11db6d0be0aba9a46c6eb22d6d0099a7e8c67f9877e15c8dfa5eb8a08b2b047fddc99c052f59b098e1adcc284bd78bbb6705581d2ae697c089c4482fe70ef36a75fd95e3a1c05dd71bef1ed8a95babe372f1204603eaa38448f75a9d7a2d847ede2452ecc5c63457279c5b7c43693b5972fa5bdec9be4292976c59251adcb263b9d066956ad41721a177e43e727a117978083c9b647a09f5f316105d4c4a674512bef1122db48b4714651689da29322bc3635125bbfcca67ce0fa1860fbd9fdb1f287952d87d5d1765b997171fcf08c8fd20d8db41564f31afefa050c488f4a650e988d7ead370c84c0908ee35018fed023d881f4c287a6c37940de2e28dbf01b40ab712c5892a45b97f54438ce35d382090f9dc2e7f15d38056578812f58007382449cb87324eb94ac919caa06598ad426712c009a122c33fa26b8dc4852a2d4a76677829b85d127010077282a02d5d38c012010255ee232b93ee0599a0c6751c992accd7f5521e471afb32b0b564d73390baebd8cd46a5e176e75ffddc629bc091b34474481427060734614e24fc9bc6dd1ec83c03c7852ee503c6cfd53b74370b625e2db3f48b13757d78484b1bcf27e55af656842092abc027dd807294fef0729f693dd75d2ad75188cc0ebe2f263b6734e3e08516dff4715c35e68eabf4ba636dd5523790c6c8cb7e02853dbf7bbe07f40ddee578d52d1c4b4be9cc6c32339e87ec38fbbcabddc4e4e7bfb1582428e6f68f0bc0f4cfd5c71cf1aef1c715acce876c8fcde5add5fd5d4c8115ccdbc3e3b8134b01b92c7b881ecd0fb60317789e34f4416262eb2aa3bd7a77279782332255ce2c2c02257a1662db76ff36ef3d87d09317cfe0ecc67e97317b80083eaad0364c6f9637aa7551a2b3836e56b017fd7df2e982c08e356da20358ea74d434232354cfe558ebb4be111dc5959ece2945550433164a7a2f91ba77707e54141b33eaa58602c51f90234bf9e05c03b31313d7d791a661a9ba3de4c77eb1e5fe78cdd8e9a71cc6376193e3984c40c18650e2b252a9f3506238e3561426810bca17ee6b1ce69ffd5fafe2c3869afaf0a90d06b265159ee906907631b3cc16fa27d3db6b840d300248546fcd59cc3ea6b97f90c44778f3feafd702ac4bd5b496fdb102563bccc1f1a6eaee4f1a71eda236e28bedd04df588a4b12df1966bc1fee703f93cfdb6dc4276a89315d080fad70d6db286ed8caa60d62dde5f178c5b5709ee51275f98c6176d2a060088a4dc0a05e948e41172559a1807fffefae8b815435074fb3e62563490b770cc1e8b2da9bd2a2700a3572a1444d964000b4bab7810da1481c495b1052db7477dfab6ce3d455810b40d6a2546f3a539aa7871ea3193ff2896a99adf4528c834fae60c33d1573cb2be1534112aceb2189328cadea06e9297de54487ae1ba0ad66dd5729638af75388118aa5dc3a1c60a85b2758ef9e56ece81f14d26ff8f45a8fbd8014cd4024a7de54d5f401032e21ca97238947486dc173b5965e161466091f156b6dbdae25b5b7c2659b25f8e175557b616e1a0229466b89d13cfed018bbf203d6231c4e685e4c014fec35df2b16d5ccd6324a37c14deb9c5f3a02e3105ab7c2f2dd9524a29532612dd049804c60433279efa1a90a65de8b0f294ca5f70ac6ab8b38001a6949da0dbe0397891d04d9abbbb0d477b3b67054388205912cad6a66ccaa66c2a348ee3f8a99475bdd041cc12aa04987628ad097562b7c377b7ebd9348ee32b1777ca588ebbcc9ca9dfb6d13d61341a8d46dbe7d1e77b47a3275f2774030e363a6144ca140512909064c28e9044b2c12c59e5479f1a15861c390019ccf2bae060ec047b2e4fee05734b939ad126a6330a331689300633cbb68d5cc227a184c7d49a90411229bcf7048c35d0742f07036d09e1bc1c6d1899255f1258ee0561cc87018613c68f09c608467864c452fe09414e1093b3030e469070220318aa788263031c5248d0ec709ce8051c8c257c11529d988a089794cca632e4acba643269cf4e301450ca12a6961c98829429b0ea03beae6e05a03d344562660359105c497fe0280cb8cf9f98e3966bb885ff372e2e35c033a420331f5ec87901a7bd178d697ede70682b3571c89963840e8cf3e148540e9e23e5e7849e2930a0de3525a62583f2444943c7ed139bb20020c24cdd6c3d00f47939db94d38ca64c1dddf2c471af24e55a80244b341ad48623c425469620f8375246610023fecf022770b013a5010a82a8a10929963041bbe106987939a02c3ad2968b0cf0e88899494ce56062ade8909f47c44c5b6a0ba7cb02737c628eb445c7130a94487fdd88445922a034f4888b5987da23d884ee7a5fdd70a6224801107a61bf745d739b04c19c4991b2e8485bd74d7d02e2a3856e1666523bba29a52c2a62acfd10f19a12084132c30db45d409f8c504062ae0c9e011d3566ca420734c0e3ffb7ba6d3d6074d8c82bf8d66c6f0e177cccdff26fff9756dab39ba6c5163b06482796e038b4a093ce7b5333f4db27173f3227e972261766f029bb5324aebdb634c35694acb5967a75ede0c40d13d0182137b64da786bd79dbb64d73c0d3eb75f47addf7dd2010c6a1902887402106514abf6f05fc4898e6185ee9cf8a29114caacdf55e6d56a754f4739b6d4abdc96dd75a9716bf163f1f1f191b0e6e669f1bad81a33f8b07714fbbdf07385c97ad7fff6ffff76bed6cd75c168b52166bbe0d10d8490755caf4ccf8b48a664794cd9f6da794f1cc70361d303952adfbba73e3ba885711af227066cc08c00cb6de17def8ffdeda9ba62e47b76e72325e70ed34c1d43f43ad3dec3348e849a1f754a5dc5ecb68c9a3151c8227cd39675b1c3ec4c02b61811247b8715232b3923cbdce8d80ff5cba476efe396fc84714457f2f940576592793b92c4404ec3fb377a0517101ad0a1f8d092976f0d040c84988063dab0e5e5b2e5893f2ca875a28af71690f6951c49338937627f7e52f673991f2fb63882059d2c49fb4288aa258768bd44354c488112306121e1344530a3df7e6a6c7e7c7566eebdad9ce72dbbd71c56e90a8ae0e0c5675502899b2a6eebd301c180e0ca6a3534b243b648d17ed45717070688f3dd5eab5cec49b5ae2d0a9aefa6a1b3a74a895f174342749abe25c58ccefb4b15859c5bfd7ab28fa535fa03f414ef554633e90a3cdb03b604f3608a6fd1da09d8af72246f7f06fef769d15bc3c2d4843e77da010c6a55208843b20dd030c2410707072a38546487a5df6f15a5d8c78642773b1e0e3479fb67679537a9000088ab64a9bfbdeda54bffbbbbfff5dd7052363b66bd775dde6a2985a56282aadb48974bbfa094b46d3b29adb6368c4939260fadc5f87304c3f6265cba677c709454a2edc9dc1912e0673cbcb8b0c19f8ba68f0bcae76fe90b4f5e7c7a266ac4a2665579ae6d3d59eea8f7b07f801b633321e6b4524a9d1aaecaad6d757b2babee274139f263e4e4e2cd773950c5956b582c8a852a169350821293a8dc4b5ceb00a55a6bdf0485666c4da84645649b5e296396b67aaabc22aab6b87a9ce77e33aef03857e74a73a25ab2e190dabc2783a66a262a6c055acae9e795558dbb676b69d938787a787ec1c2363f7c80360b61666acd8dd36c96582ad13ad3dfbb22fcb9a96c8146dd98a176310cc296b45cf7a093538e975976b1fd21304294e089155d09cf4ef7f9162d56dfd3cc2654c553c3f877680c96bf33bf9a53a965b2ce9ff24c31f556bf6768e54f392c1cd7f6efebb0cfe2a98cfcdf99ccbb8cc6f46a59680a0e85e109731d071249761804491a894cac5eed4e6329e223de6a5cb5ce5a2b3eecdd7dddddd39ce397777ed754fd75f58e196cbdde2b55a4b8b9d345a466bf11612120204a6ad745a5be9243dceffbfbbbbdbc0b144062bb478d8a3f1a063e8c22da728ddeab66d5bdeb66ddbb6edda4abf468e77b7a9beb5f5a374db64803cccb71504352d6b2310045b5e5662ccc0a32ca3e40501804e5983e868b577e3b8edda4add7b01d4a8d79d220bdc3872b8df560d69fac9809b1cf2a34f8dea54fff74d77536a4fefdf8c9bb4dabb715ba9745b5a6cce150429c6ed6a1c30f163e4d2ec706520020c88095208c08d999da4edd1aa03f7686da2c6728d755dbf682af9fe192a9978c42d17acbb270d8ee31d61809b045d7ac04dda30b83262171fac151090ea1426f1386a300b7ad149e7915cba2cc0d7fd99684aabc5a60e6de4a8a14bcf7b5f74a54d614c4a7aa1adf8d45656dcdd05095c2ba91ae19eec1136ee7a3128422de6def04221938ef6bab6d956cf31734bc771345ce9c29bb9d77143cbfed5ec75ee4e4c213de7c65f383ead85bfc05df2765c2c95f25477ecde4b7292f4515939a9d1fc80aa7d53da4f49dfeddee33d31c7180473bb123f9b28965f24d1ddd537fbacc0d12c4a694f9a6777f4b9ad08ed71d3ef9cfdd5af73f70e5d400d8b465c110008dc3c6e0cd7c878769c6c7558cac287cd2b55ff4a3ff58fc7fc6a6503e3552c332ffc67c57754705cd888565d87b9d9d67355332af057deef7e3636a26c706e44d70eacf59343963b2a9ed3ec57f9ce623654ffbc2ea9232b727b4ea79a948c91b7b6673b1fce07fbc82fe7abab9a3f3dea655e15e391cd7a7ceacfb072c8f207e7a6e57ac15a1c715ce65efb36579ba96dab52a944d90f947c93ee2ed7ec133d9d4e2877772524a5dd44c69bc898bcc94c776d144a1a279ed089a2dc01edef189ef393462048459c5ea2697810ddc271a69a9156da53733b99934e9e4e1fc333b34e7a8e93b3a7acdbc80ea5df92b564dfe94f1fccff4feea48bce73afcdcda1e14ff32ffeb77a5a3dad1f1aee4844bbda06b9d546b4665a0b0ef7567fe36d5d9b9bfb7fc7d6bd771cffbf493b6074fcff170122accb0af16245c58508bf58b9570563172028ca19b7b480ffbe822c94b1c805c8551aaca573d1b8bf6987a09f017409c71b7e45ce1016e54e8469c089a2840bb5b7849c480ced9e6e67cbb9487088f4859ac9fb704a25b24626ed27295a65f721d7e721df82e1b143e503c30f129ca0532dc316ee8d465665c5520e459230b9e99b166d0fb1d6ba3044a552a95aa5ba2aab526de4252d49aa541f0a89049ef4242a64db543e50088b5ca8e010deb81d1bf42c31e4e775c304f51b5f74a43dba6564cf62ed538edfeceeeeee0dccf8adb536d309734d046cf6442f9eac894d6013bc4aad34aa35a72b4404def2f678ecd3d872c1be6b736f4c9c40995266cecc992d6e2ee168388e662ef9f21c3bee3b7527ee74d201b3638e73dccace55626cc820e24d7a65b8c810579ab6ffa0cbb2ac65cffa0a77c1062c1a4c828bb4e7d0ef31dc6ccbde09afa5a513fc5db6e0c3d546f410456834bebba1cc97e207586c81e37a4c1437e54d14655996a56a64bd18d8e12a6c04be4f3e1ad5a95689421df975d946c086076a1089050c78df4cc97be9482a95f66cd756e0decb3111e110e8f33a6dce9f53b48a701a68cef2218ca0ddb3bbbd7499edeeefba6bab2273efe77da4ebddd99db510d73a3433833f213d8a36c31854c101f7ac2feefedef0f69dcdeeecfe4c045cda0da0642cbce54b9f7fe6677caed8eee657b8bb7bd967dc763dafe3b6fb3ef3d9153f1c97176e6de505000250801456463164cc787919ad74488649d4a851a3463843d6bdd6e562fff4cdcd38d284aaa9cadef9697eec5c741a677508b001b75783e9bb732ee84caf60c102093c3b3b0d0c4693632d0ca75443d54a74b17d522b175dac44aec233a114a87d38eedb6ecce6448143571886b3b267e6a77f4e2a94cc2a47b42e1ab106c618aa563b2c9a1e18361ee9e578314fc72b5fd6656116c7929d03b3195b37aed54dc80a6dc296aa4f3f6d67b6d296d8125b2cd80e124da37bd025cc08cfcc8c91996ea1289da1d4da3943674c7435e7edb24bd5931b282e225e45b83b0f640bd542b5524d4123342a1fb2fa67749bb0261cbdd53fa79f9fd147ebf2d16d7cec9ffe09592c8f0c6b587c58662c3d304ea79870f472bcd2233d1d207e80f89999c1f8834d93b245493468c5ccef727adfd262c2accea025161f969e12cb0fcbcc73d73e55c32359662c3e2d27182ccec232c311922ad8e003a52e28395314b11940add3aab05d3b7bf67561d1e9f79f369d0fda6cd5c1ec5af142c58508af9454ee7581b1080471ce2b2d2da5d89725244f8e0efb720678cb9fcb45f6972fc3ef03ce6f86ebb2d6057bb96eb6dbe681aaa593523aadb5f5f33ed0f795bc10c74b577a81fd8fddb7de86e64b393117ccda57b9ddcc26705fd22f5d1fb336d7cf32dc86aa8cd2bfebce4428282088a3c1c0e01c9e69039a16dcf681f27fbf36f35b2de4b6970470dc1c76025bad94cef9efde24745d4b600426cd7eef4ae1ff612aa0691af75d5783842eb7943870bb9a564fa02b7c50cd98cd92b87676767c48edececcc7c90cd66339f283ccff26245c58508b3bc10894438f471dc770abad627611591c8bd2f2c7734cff786bc1b0a7760518e6da4969fbae5656c7391f75bee6ef89cbd9e48b39bdd6c4c0cc65edad0a3f0283a65cb2e54ce403c20922c673b321e18f2e4439b6df9565019e27a92a51d6493dd31554e35e9756846b5126958a926535e2aa54a35d9a4e322ee417c35284085211260adb5a4bb5d7bed76ed974a5abda25d2d040e813eafd35e3006bd9c5f5eba0cfe09ddff260015f6abf25678a55b4000c1f9b5f55f6062c4b8dbf7260a034fb68881ac0545dcf024894c08140e4c6ca8e1748488cec60390138b50020d7188187e70c1932335987e30e20a8292149321887e785184160ca10730c0a08576c40b8444d18921861c4cb1c30e4a0ee0011c4c89a105496c3822040760313821a409113142b817fc9002d00d9c33216506332ce587934b5932471254262ca542d19574e056e5dcf19ab09c0b66dc160e702866d8a2270b1e2651c06282c8c1891a48698113ef35f311f1b89587b229ed7fcd49e0d4252aa9661ae56bad3058c2563aad4fe9c5c6eb051c39607824517e544ce906637849544a7a2c44ce6b065c4b0c305f25b4873bc4785b226a95b0b1ba82eea70ebf45672b9defa1b65a0d2fc63ef03c759a86411ebe3e5df5c0512a0317e5871b2cad3f84122a43b0684ed7a597399dd08a58800e58f0f0eab1992102021f5820c4141f80200304a7c3890ae1eeada1fedf702794d2ce9ae66fdbffffefd62d7859a03457fa3dbc22e498ddf9bfbb274cb777e7a964c2c46cd9ab6bdfb4a18d1c356325b5e66bad888286d8a9c5c2d450bb5184193ee7b4d1ee7a0ace13642f7b98036651cf851b76df0ad7cd0964ae761fa0defe9dd528b8037653c53135c083baa9dc60949840658520aeb869f50047cfd9ddb367ee9e19844d9d67b214d45366a0a9a02fdb708fd4915a4a3db61e329c9834530e1d30f3b637f1fed3c55de6872d2bb865e680e1d1a365470b9a0fe9610e2c2646d7c801c3a3c7e71e28a7723b90d781401dc8ebba29c7654ea56fab5cae394e65a5d2699f6b8ee3fabf398edeedae844a5a25aba8dc8ddec9715cdf7c43f9de10e5b62bca2e4219f7dd5c8870e836177edd71bddda6b766aab252e9b495aea8ccff7691aff4f09f6d3e99aef6acf16a33878643b43f84bb7a765a8fe035c46aecf776b7b5596a4d6badf4f9e52989059a43cbdde14ba9b3d70cfeff975ee6cfcf3fe6f7211c8abac1ce86cf50657e9c0b50d4fdfffffffffff7cf8d02367b08bf7faefff93a0e554a1f46c7bfb70a2a66854fd044090f7e82a0440c8a545143c68a530ecb08282834edcea88143532113218b1ba48007285246e858a28814516c68a215e384cfac0ba13005778e32be94a2b032d017e720c72cdd292ebc1016b91061d0e7456122a60a23583df37d4ea8d49741fe83ebfc39040af3f795ab6eba9ee7799c7b3b188d7c34720db8f7b9fc130f318f07cdd3566ebbf55eba1257b3a78ed57ce6db8a6a14a5b6a5d3d269edf4ed9ab6e99bd97743f8e1a332d65995797edb2aac6691421e8db855d78d8c595dad663d3ed7765cdbed6eb7e36c5d892b1e3eefdb46ae63b8ed057bdd999dddd3ac87b433bbe2b12b6bd3b2228dbd49e9ecc868706216f6cab124bd9624c9588be28bf5a6f6abd2e83abbafdfe8daeabbd9ae032969e96acb5b3657b7f5e54ed66bafadafd70b676a9a97e9bca71a847af35671a57224dcaca6e99a16eb451521c1988db158353a76ec18ed057b555685515bd336e6c36a910754d3f4d8251054c7b4286db58aa45aae5ab949baa7eeeeb3af9c6679bb4877a1851f40786250a999d5cac22cce9f6454746e173427ddee37b3e5e128f7d4d32c8f8f6e615a6b6dabc69eee2946536f6a58e36ae6b759a2cde832e154d2d6b0461bdbb2366665d6eed49a9a564dcba6bb87bfd73c46e00a4451145b6cb1013ef83b7fdb08b5cf5f97c9d56493ed629276cfbd37ebd588116834c2a12770eb07d8ae7b71079fb6acd40ddc9c040008004376000c10050422a11cc6812cccb44c421f5f82ff7eb17b159ed9301cef5d429f1cf486e886637f61ac26ab7457aec3040251d4a7df053c5c8389fc215f37a31f69f3da9e700dd94fbdf2fab1299f97f71372afacab73775e1455b4e8db45cf9d624824559aca2fa7103e13e78749f4748243883582cc45cb85e5e673a8572868e4c1a1ce3e76a0d75fb048df649d7b1565f2308de7141762329b091a1ce5984fcb3cbae3fda377ec3efef54e26ee34b146e73343d9793683c7f17cbdb7e3b835959b1469543be442ec158a7277167441af30af9b85522e6d92e0d8a02b26e46a7e865933eb651ff4f3b64dd0ac16d2272947a20683de57fc1074598eafd92b5f75a963e1127392c13f5966ce7515ccf8a31390858487c067dfca48aa0d96140b61b6682fc45a2923015ff768fbbbf0af719e5f3ef8d7e4ca8ec2ddfe44440e02d3e742a7bd13a030c541d056443ea30e38c8898074a5d5698f755be3d6a2528718a7a75b8cf58e5fc04887959d0ec2a7611a82c4fd3c7630b65f37963b5a16db2660a52403fa5c79c954a782de33da19a28a15bb10b29a66facc0d0599c4fee98ae200bb2aff7b7f9980be578111ebef64248d422723d5a965d7ee39c3a7c7f279c9407a3446477a6d8a6ecf598285b94ac16f52d9a1168eb32bd0e63059655624d78a59c565f2d815f429941717aec08f979d5cc0ae369e33c0598d37dd35b458a5f53256599c57ed6c35f091cc967f1c3e8d4c6db936bf9a80ec0da556d6883be95e6fd8a5a602b1bf22c96753d5cf7c4f928a7f4aea009e00d67a26f9badf7376c259539e99e020e45fee649868924253312f42ede88d7fde00d86f858881beb520a7d6fdb99b2b4e4397005078874291535bdcbecb75f8c7327c15fc0b64326a5a086c38e3cc74d47f485ea0733e726af977dddf9c7f812e1a7c07d766d45ac120fe029fc16ad4919f40a98fbc880c262c2877a72dfeec29ba6155755652f26c37737da6653432dcabb0df14b56f19dde2b468679fb5f03dee432a2c7d44045058cfb3c2629529955b9ad8bfc862ffc36e1f56b953335c17df2cece29befa4b810efdad797cb66156fa373b03dd9762e83d77ca80117b511c7a9503717f6fbb087bb457df37209eef328e025ade751a3e6bd881226e898622a5c57e39a77196346e664748479b615f311a3f671a8a8bd8b01e4bd194398868631011c1d792ae8984ec3229a6b1308fb32e29fc7b233687e5e12b0b56f83db460d79a2ad70031a469fa2e6bd773d5e88fa0efd7cb11074a971653356a5358de516f4ea2ebaba197694c3156cec16aa29e8bfc206c16f69481a82b27b2df8beea53985f640081115d3253e2d90580ab3b065ac95ef7d0259e2542a6275726ab71c4ce185b05fb20ccfb684df2f82d4efaa63174b132d8a50321cea3ba0413b3005d113efd5b12a2d62920f9d5831cd59cebece646d3b102f7f9ee8bfb3429f66464adeac790f5a25f8514d051f30bf7251ec64ef0d41b05d5ffb9e8b2e1f29f8b6a1c79d0bc72337d6c3b623af20bce9b1115c1b8de2b4b79340313b885c668064cbeca106ef960a8f9958516c1888e3362270574bd97c724deddd3d6e72d928d754e326780b45cf834bef9364dc286ff01cec3d82873172a442a8aac1ee5643dc5e5e6733f95995de21485f6ca8d73233336dfac8157f3716e5c38a646374d63663dae79da13b005650aff5e23eb11ea3250736fb422fd2222f82393a4f66b6800bf06ce029a76120d55a7ae8788906ea7fd5c634ba47467401d2da9629d8ebf077296465a5d707f6a3d4cf91ee62fad1723844ae769410fdd79db298cf9cc5f95cbe0cb566534a3c5a4dfd32a1443ab7498c6b538b7a03a9cdedd9c14aea4cdde4f11805d492ed90a3e47f4994cdc46a7367cc76ca855474d265e758ec82d1a9bd95077ed615d6880f197fbcfd9f8144ac6a52792588649fc8768da6658dab52b22d2ad0114c089eade357c0ee0678dc57edbfcd602cc0781289e1adc15904ae2744cd72ffda7e209af8f3baf4f61c3348b517567014a1707588299f4cb2151f5ee6ef96f7425e71aff8f3de661af319cf8b860748d580c0028d074f65113ddc851a4739e7320019f0c7688d245bb713273b3bfee0dc9c3df18f83c0fe91f9706452260ed97dcde604113f4c3118a764fbcbe9488c3bc70f098edb0210fa318860d4ce4e7595a3074a6eb19d59583d7113a78a7ddc10785079f9cc401f220b69bbb08c8b5822c1c79777a3b1d907bebe5db23d078108740c52cca9515106d5d740a1d69b44fb065d2b6541c131607ff025da51de832e894f549a1b452bcfcdd730755db54ac3ee0ab02e5a915290a8e42625461ae1acb99b9e67825c42e9d611e66dbb50e201f08c4425ea225926c003c60ce52bb94b1583acfb18032de49f5e5f5228a86e0fc3049ca983cbd729af18133302bc0c41447886986dad613d90f500a20a6c3ff7dabfd325489322dbf0b28c59ee054f68e67e6565edf533ff4ec24af3f03037f4d7284d3fa914600bba4c7aa8e2dcca3bf22c72cdef8489a19150563fdf07e3842eb9a45e0a053137b42af84714911afc3d983b48942fba203fb12c7697b5eb07fafddb0fb83d2c13dcf229259e092e89b2e83ec8872174f94bea440951f288249f32308fabd9c78d6756b505a4deabccb96cedb5df2d24d50e94ac10a748b2bdc249534dd634f6b6ca1a2d6057dbf875d258851b7ad85580a0c3a2f11b06e509a4181279ce719fe26082aee91e68cd69926cae6f1e1d2e0d623176f3f543e48a372cb8674b71f164501dc738757af7cc972988292255af652f2bb0927572c86682e8555786cac74ee11fd20845f1fa1a174c4303862b90777131bb4584308a7827c47582130d81e0edc01d99882c56965364af1fd797880921cedca2006c2068f83850081f94cc11d73fbf4652874ab0b9cb5201a25f0de2d36347c6d710ebd9249750f7e479787dd9db3312f6117e32b377562f1183432d5b0fd55f13e96694ee24e7ec26848a758a4b488ac54fe0b0e992904a1cd3fe3212b912f24e7a8b74a480d13559b874af03501094a6c7714229cc48366245e740a8692127419b3ad1d67894e3347a11304a17494bfbeb7d4b0419dd35d342e7eb5d7a491233daf762985cb3412a3c49f25ab8113dc1c102e0e4ee80506db50872cf0ab203acb55def94db5ffdc6dd9a803d40689001bff2a1175ab69b0f1710d92d242585f5a99971e0c20055d9ac4ccf49a810dc512512a54f565e38c25a79aae9ab2aea3ec2a4784e6f19a0440604e440b651089b92e9ca1a3d062a61b415dd0425643c9d2ca88926664e2e10aea6a3a8ef1efd19399cfb9f5313923ad02b30cd030e54e0c1351cad1bcd530aec99f684ebc185244c442c3870d92e282dacc8683eabfa3cc93f1284f73c48e5a9918b82fd22fb991d8dde5fd06bc5f4343101d921cde4487d4a8245690df8d858119250a31e2bb30b99e4b2568e28ebc39680c1414075d91dcbbf04d9c31179958da227178f94adfbe78ae8995142330c3bb079f7e569948ae9953ab3c80af774b8093a5b056167702a63d16336b307c29a89c7ed6533da415619b67f08af7b98f266cbbeb2a708fc5187cea46012e78fa84db97da48028db692301a2c14de68df9bd98ae097dcfd117c64e004ff9fb9ae67c5a1f0e5d119182c716717acf500ab7704c8f96c300bae1948e264c1105d0f071e70e63f81524b48287e8ec677bda498d2788fbe2e7d8e042c250ad140bdf2664ff49b73293ad4b67090df25c9b802e06b5aa0a397064964b0249abaf00c1d3fe496dca44aeddfe4cd0dbaa455785b23053b62fb19a93bdd5c33b9ee1e7e24ac3f282c4120dffd5906bc55262c996407c3dc80f69c2b1686b33bad6b3d60b72718d6fe191170042933557746c903168e6fc732215e151675cb0cd22f8a65ba6ec4f340601655656e1b40f9e48bb6841e5bc5e3085a39c61eae307b612dac210c13d0074bdf5d3029c62edc1be818562c5686dad62385c86821a75cb89e100836ac1a01b837ffa785963fe7783ff3ab7f5dd175fa791a649139923d915af22a903f1015c573084a6654d657142b4a065f5429e2fecea2d42684994992eb9384564a569d1c787fc1b3d2d20df0b5a91437385d85d4552ce8b6fe823704badebb0bc2d8acb7828029e46dcf0358fafbe2aa2c6d6bfe327517ed6904b4eb95c8ed5a74859322b026b10dc93c8e54445867b2fa30e7193fd68b9c3460860e86476d1ebe06a0bb4eecfe919e3c8a0c6a9596bab4286cd91580c4041ce0c40e30f14056751c26b090ab43341c999a80987897713ce9e35cb9c6b343d8b2ca308d4cfdcb75c0d708f71b424cdea0045391dc2a3d9600aad4aabf503e93fdfd4e50d607b79129ced7b1b7e874faffe1045c93140148a038d3c896315f1104979287ccd43b03a88fea5d5691c043a86d4001cf94c96c783af1afdd9b18b375eb8a6987305d0b28b234eb132ec90e09b48d8d1e25310e9b7670c7024dda668bb76220a433946130dcfe7861056b9ab9b581a1b2f8fe78a3349841d7c5e5e5c9714274172a28dbcb8d3d5aac2f4b2456a84ff324f2565d8e4731774cce5d36ce63eb011bec35eb66582ee171dd26e42a39a9fb1472311d536426e7c554609d8781c6308bd8341d4a48695674c434f0cdb35e0b8ed986f43914b45e12a871d461253b177faca082e34004a575cbc46ba5b59bf39ebb2841608986c2ffcf35a9f8118803e0ee935589338a05d7dccf0c32f28f7df2e4a17318eae5a686924b840e7458670e9193c5f1c5061ab6c853a6109892b7ba7628792e562bf55cbb663eb64ab2ea605197c9421de238d7c8ff747f7e39ddb1a50832e3e01582de5f1267cd93a2b9d51f03d4d5b06083dff430bb7a41fe35abd3377b17529c7d817e70a734012c0996cae83642db83df9f1fd8a7db81d5fc563de28d0b127bbe80f1a0ef39b44eae5b9f48fa401b7b4e43f9ba596dd3da96b8f029757c384c7abb0ce60cf677e122b073f885e4955f45c21bd42f81a1ed54143374a7541c6dbc8bf95801a01b86c6619bfb6adc1adba2c36c00a1a7eb6d6f6dfeb9f3ddfee5038ba3dcdeb9afee2e911b46ef98c5b56c4d9c6d4d055b4389b8de478199d25393589ac8a6d63f2ba27a76ff9637057b23cda3ddd881969298d30241b108523179f56391909d54a48a293cdad34deed8442daca91615bd1ac8535aea203b77b09152aa68267772c4f1b675199674993581066140bbf74b157e704e7e4c09912958e4caf7c189e8316828a812e1cee5276ce03c97f894fefcfd9c46c76e00abe7ed214776045a470abdbeddf42760e40dc73f4f8e4594771a33dd118530e7990a0f9236046efd236cb0c67956abd713e3482f2a6d352948bc001cf220e006639312a2f1f4359462a1d9525c606a17a1a538325e866090ccb488ca7eaf9a902608e2676d58b14930a5094c7f499a05099fb9a5be06130c7ede4ccfc2e73f190808c47fdfa00ee103aa8028a6daa18a30be13a388d22bb38618dfdd720f8b6535494cce4c1eaf2fb300725c4ebfa6c89e9863e206f2e2728c46a722e6189ffcd04c254d04f7abc2f14217cbd0d383d0a84fe06b09f84a9f6e798c3e955bb15b6604097ab50cc7a705731428819e09282de36d6e8ffb2ca94e5f6030a1501e82577708aa43d05204ceda4ce561f698252b4f1ab27da7ac7861d7905fc2928fddc8d2c78ef988511b25388de9653b52764087ca8e36b3f56ff193a3e5764316b648e0661da25c0ee06ed96caf28f2bdff6b276a3219c3796375d4b63b8a9712f4d0cc3ab7f10402e7758d2a0b68dc92a4b8fa20a9714977140547932c0c0b99ed8b7cd7faccbcea2ae380668973ae87c2f54e77b810b8e8ea979805b9e206bbd0344c64b683bcaeaf8027c6c90d1a0478a54aee8de4ae27aa826ef7975d9149de92774565821f3f6a0965e38d5fad37e7b1195fecd526c419bef73067e7f4b1d1b70524532065b4cbfa4a1468c51de7cf78ac3855992bf686020feb757ed175aac16303bad100876dbf78aefc388fa2a4782f05692a6b68ead75659c2a43c8dd3811f31684300f10cdb757d37e949ebdb0d558c2f82b1da1972e010543a076dc556adad44d75dd6c54e4866bf799dd405b9f75a73c63c8d61eacd54af44fba9565ae30cec89fca5a399fc136860e7dd5f440d890dec09c1813d15cb0dec1fc09e4fc1054403ab1bfcb2bd2c9f20b0f5a6b3616530a18a5bd0121a979d405e8389ebc741993367593974215621b88e1cc70efa776d52e55b80f49564189e4d0d2873cb253565f12d8f4ac1372f430da9229634084bc79966cb546c04cfffd9fdc807e67b905a0b3a619242e91212536bcc6834c805469ee5158c6cde96da7f28bb8b44f404d4c561de7bf75c7e47fa3a060a207ed40511c733da776cab665d9ed8245a26b38d96814293d6131792b15079115a48a0822354ab6b0eab8a061a45eceb60beb1d7d273ead8c86584aee65e1d6a2f2f0b01288576c9ead35f74522f44d71775f8dc4b6fdbfa770d4b78a61ebb7a7cdd7e06497c34e3ba12412bcd3e9e6dac0e19467986f7f8871453e99133d0e9765738cfd1fb8bdb218c84993f26e40746d01881f61775d0ee00d6da574f84789fb5127864fc691211d9bd4d63d27f3172e040b78376c1ee75e0947262f520d4964a924aee4b33c3493e3b3d89d08e9310303489d34b170f54376096c547403b187258f03354edb7961fee3e144ff2339932c56ea4d1b4a363bd11b2d91205a6831a0fce3b0794ec6143cb2f1569caa4aa4db1add4690839b45bc5bb2c85cdc3406d54fa5ae83e7f61597dc644f830f78035bb034574728c1fe475428596b313f644c0ffd22c738b60a0cb04d46b547140d606f05751f8f12a882af79e2d3b9236668b1538d3e5380919ad815eaaba2a6953e96f0d637d649e21b0ce6a32699c4ede2546409b5e28e0bc4782df3c8880ff9115d6ac40952cdbf416c576d7fdcbe6e935379d9758811625692a139554eae04c18d4541c9cce3682603f44855a045c75bce2e2171dbc430bbdb9c1f7b0013bc076bd5c2a47ae2b2fc94a9c0018ec2f07c4791e21b634d04fb4e1b84abaab9481703b3bba04269aa69f69304811fabbee4fd1da320fcf14a7b21ce4673412dd29083182f22204039d8ac88a40ccd65f2bb3e16f5cd0920c89d697803bcdd208af5cfc5ec91893ee5bfcf6425cd88f6cdcc1ac89915e5ee400f49f496b6a04e823e833e9b22521ae6868925d4f4eb291eec2de91f748dad76041042f825ddaf368d4acc1ec305a1253f9c9a7afd9688b5c75235eb6baa38aee7d2481a340418700f161b4e103f21b2364a85c616b8dc7b5aecba3db5a4b42ffd8b77effae0a61dc384a1fa6d077c35c2cce14db9e47018436d743a6079025400132748834bb38fcf1e2495bb953b50e87d3e9202f6fa8f010571f69a17ba8f700c97dcdad1c6b36a425b90f1f96a5acfdc3a6463c6f188b50e2aa9601f9fe66f47f8cdda7ed1be377968f13a9345bc89066b36e7e2afc2c9651d3dc9f89f93cbbc7aebd9659ce39870a295a8f5a25aa3193f99565046d1a737956230b07819d788b1e254dc2a9fe507f5618e8a7844ed7f49e09245d3da4705e32bf224b8adbfa9577c5b7130b3f0e6b1a14ec098fcc767c06668eeb2bbfcfff8abfb7fe0b21224549f96f43a7409bb5045306ff6616719442b1fe6d3a45bdc8c88d6663afe27b139351857957ae7896e52f6fb04fbefba10292b77b3d67f781e6ebc927e0d78048885ff6562c64ff668462806ec9500270a211d395abe649e04d7dec4e7a6c52b8143c469cf0d3c0cb2648686928ed38207318e2c2d2e630b7e0389396589428f7f10008feb3c99a6bf4624a61a9d29a4c954e1888a08b04e76eb4e352c92c3ced91331ac61d819a4909e6c8fc199f488922a5608bdcb30db33f6c5166d9cc720aecc919f021b773962236ecd1ef5fe243c6a094b957895542b7a87f964eb1bce0a6bc3724e242eefc363ccc43100f6c22d83ed220bfd25d6aa478cd5e13828b5faa63fb9ca584c8f034b5c06111d3713ea516902fb0b6ce47e9602caf6b0d2e6c5aa7b4e3fab1192603b2f8b00db0e6b0eaf747d336c1b9e17db731e9eb9aebe02a97c63d4cdba990d6150fb3f3ee460e53dced9c76e94cf5eb5f01e1f5647db0536b6bc9ae6896878b3e703b5a2b3d651539c9686f6058f82e0af6cff2524eb612285efd3bd515e887d283cac5a51f053cbf79c368d2daf3500cf04952465d332002111202773816bc7050ac2028fce4bf8427007451933d890b8639aeb58e2f501c72d358b284e7b0a8d84d482d95db49e2bf555c22d7845202b4de1a0f100dafd59a89b3f6f6d82ab2bf9115ca4c78c6e686f3bbf2b66617d43ecb5c9b320c2b2095366723a8b6123214ffda02afdf7a16bbca277fe76cba488ab90b0592b658eb8cf548609d969952b636872d225ff22a45fba93922779b2602c39fe4ed3e8147fc69195dce9554629eed31ec5474d8d39c2de4722fff8190cd27e5718c8b768c014e4791fc4df0a43e5a9524cf9372134daa555ccdbf524d1e323ed3a4bb997ebd50c8a4ec1fed06b168bb4ef5affc87f71dc2d8fd1b90191862f8d07b1fe19baf18a6c4e6f8298afb37af4f841d16b78cf19d157a0821c2fa77aa0ec879c3f4c470d62daaf3b80edd98143780c8e938671979301300b2b04f5bbd77dfc938b630cf3e1277c0279f5bd13a3c050ea54747016ed3984064e4170e61cd9034dcca3d4a20da0949e552f83e4f725b90bdfc7a721a321dd4b7537fa68cf58396734e7a7dd9fa709f9431e444b669b3f87fc709656d88cb42be2026abe0169ddbd9775eb4eeba7dfeb81c3bd91dd3d01d6eb36eb2ab766ef9d6464531cf95a03cd977b188952c7fb22c523267223f9eb5cbb1762c320834c1fce8d93f00711ea98395ead1a9b9e60798ab4c06993958929aa6c865c40d937057547a7744b359652f7c320236a6b68ef9e9304f02455a9e71f12929a06ed6e25fac0756c70c361d91b832afa5190b67e71d107876d3c64c32e81b08a53417f224020f4ae3bd1514c1cdac045b8c55336646d2d0d58deb9e34042db090955d99f70ca7c13a0301e277d5a225072c7dce685fd3a408e817a75114ac4d1b6f47aa4a1dd6cf9fb0c1f460a2aed96fab23abcdc674e7d06dc49eb8ed86d05a1faf844033e8c1d19c48e8dad8c7739750d8b1ef08bccd11e929ca2ea807816ac9fd0aca88fc1e3a0517b22dbe578359809123ad8e4a84b3b21cf6a8862b02bd26f8eb15848eebd3dacd124110d1bd3e533ab35295f1ab4c26d91d5ef81da4925fb57595c7f92952ab9d904d0c5c3fb6cac78228193bc2cfecd2dadf5e4faed7ae7514b10864a1dee519fb5147941ae80237e5384baa5859b4bed1ae8950e711e2ed81ad1956ed1eff74e5fb5430999157d366c9d30cbf2555e3fd4a0f46790dbaf27119ac6a070d2748f4dce29570b50200db05a8b7fb58718ebea995b3ac1eb5bec87e67459dceaaf5167f6baa1a269c56066d99d408f142a78893a996314091d0a026b945f2441bcd6f4593a2b6d1bfc230b1de35d5b492406b649128671b4a027c85565d0db137ba246513937088f377de94aa21b94d23318b2a1e2a9c398ac908827d95c3666dfe92b46aaac251dfc395d4b0375e41dea656cc8aff0d333c16d6c9528dbfb9d0f86cac23a964e3600ecdf8f78075af954cc2f6b9e62b3dffb4170e03ee20d55011809082dca94ae346078e3bb96fe4a19ccd957fe6bf949a53f3e6de4ee1e37b822ab989070f964b9b3e9b11729c43164e229606e119239e9a2f1919ff237ff33fc75304482329826017d15bfc124de8b5c1ee3f0e64de9edb02df6d319480bbc05903f5db6ab3c9e6e038a234b5b619b22396f900779673b5ad0c989d5a85a55db3b5074f00d73749faf02f747c2c20df4a4217a53b2a53ca680a7a54a32f82de56ccdf062efcafd239a13a6cb9e2a3b8ebe489dd85c1838918fab5d2a7fa485ed8d6ab3993226b82c227d6196c8cef64e0794eae65c93faae7e943b74bf1c500da6259a12bbe3511aded8712e72c819d6fecda3d6b425dbcbe6de05193241b676ab52ff0abaff2566ce4bd3c3f0bc4eeeba38d906e3c1a786049fd140da5b19d51328a13088d5c0a7010e24132bf9da7c8018ff51a887134e879b90852bdec35e9fbe85a340fdfeee0dd47c33ba3f7fc3e453b604a5a7f97f466213e29ce47906a085ce0f67672ce1a58b0acb53451ff38b18125af54c78a89c81415094339fd5a5a457e735ad04143d2b12166e9710e29e87025df7b63199f434a013b66db7774263f517f7d563b0d391f1ca386087b36eb178b3d9b0e94296719bf4a1d44c74fb87853fb91318d9f0c842dd61b64b745e6e5a8f67fc86b072f654c0a8726d0de449ff93a013fb7b12dca7a99ea9fd201d73e21cd177933e4d3baf10936e6b4bdae89a97a46d5c6d4657ec81386ee5cb6833ceeeb85822e59868552b3451ead2434d9620b30a29df8bca51f91656ceca4f081e20ff22526658377cc8c969047f3d5d5e08c20b32b46c23687ea11bb602a2b716060029a0d85c349cae5b1d940453caa5eec46ef15d4fe4decd56bd85387ad8aded04c7f448dec0f9af85ff5e4530be16a0ea101cd7cc73975e02e96d8dbf7007814ee51e8a7425e85cd79169a8df76d7671d898f69a89e3ba2e30ca9081a43640f2a0b56394cf48a7687958f1e9fe1cb3dab18f75c45c1c25e97287db67fe116006e1c937fd1814a545ff480ce29e51e7eb00c4eb4fc739612463f89f3cf888c5834b20389c5473c1f9057a0a07d8685013eafbde472fc59eba96b343f0007e1965504d81164ad7766e30289dd681d2f1f11e23e4fbf8cafc56ce567e8f03aacfc682be47266914c2d05cdc1db10685c80df5c3e39b3374079de89b526e61fa483a58006f72b557f23dc8283b48ff8d1b710ff84007764b3a8e913db012e0bef2742db287f60a3282a39297aded96e526440b4b5a891505e546bdc015d61db8759b88bc92240e216a562fa26621dd261cb46cb92ac9cf487d8669243e85b41fad896dfc2572f355d6ef0f1b40a34401d824c516b6e6c7cf7c6112002c220f8e1971e2ffe67e624e7b5888b1e76ec6feb404bd2879391a8faafb5ace7ad28cecf8667a476c63605a65800d02cce1c5cfdaf7b390d469a583be916464907cff0b6029031d6a0e0f036f937fac179f7039631acdc49ec5f94d52d2f5c59fd01a02c651c9098a8ae727f4e30d0181001309ca4c3c4d2d17f377c8d6d024e51e5d582de1b47c63c5ab54050c755b4234028aff2d513e15c57138627ddd0f924bf07b8dc13e42dce633e6af9b0d5294177f6977894e1a92518ea3e7d007216ea6cd3decb05de299994e4c5d7a2f6c040c51b79eb320053996eb599010dfcf7073958f550bcab8f5b7a8a89f2e21ff9c33dfa7985c9c984e5ab38cbeb13644c9f77347c953bb4840fc8196670172c487e86b75405a0e3faf31f152bcbad253234ea90bb35c55f6c239b5bc0cd6d52f2418eca0fc85346b679e442ea70d88e8cacc5ecd264f95c0a44a1832b767cf21c9ff5f100af3f43eca78ffc7a65c8b578e85e33f8c2deb390cc238c4d68472371d61e34498a830d3683abd6a23ac078af94adb5b4587546e0497404bb6060f078a93b467d6a0c3c9a576cbcea99966352f8eaf187baeaacc780cc00d029c469c301fdca5d9672222cdb35f9cc48b2b2f16c7a137979c0fc70fb9d99a6f3e84fe8c8dd168f0aa0fe574ec9714bd895685a73a220045182fd4a10698fb9534213c5da64f9d1372a576d2c012951be2adf159e1d548561daf7551045deb69d173dbe65ae6b751b58fc47d86e8ce998488aa7063c7ba4414078e0fd78850b8704b265290cbf21340db08c3eeff43cdea4bfc8bb00427d6df890e9ea736402ac986ed974042a86a59c639863bfa235b5315c32909bf2f2dbf71cd42de97babce8af30e75b26c533c86478f232ae8c7b8469d3c0981313ace5dace822314a1f65d941e9e15483f2b54f2d02b2cc337b468b7479e4ac740f41f897d0c7d04ba2de80321fd0015ff9cd13fd01508e0fc4249fe21b1a877f3452de65b157ece05109d61df8c2d2e0d12c8182c902b6180b5d60a688448efe85d6f37b2c6fbbb289101070447ab38a960357c3092378034291af6ea600b6d7f614494e33f2463f5f4a507c3c444cdac19d46c28c96a80ae4761fc8271696528b268b6cdb2e96eae53e0e54f85f3916d3d68e78e24a7a84605603ce2fb7b1a473f7254b5eeaba6dc045b31365b2f653ac8ceddccc03a294c50b3c082a867e6d9ba17964e6956699ce2e39cf535b645cd36f6699174157ebb1f52df0f0cc6fc4d164c9164c0602841cd39866e237221c7965928851293f08719100e08738b9bfcd6a22d2104f2c2973c9168533d564a8997eb664c74dcb09d51b16fb5b3426b506e94464ee849574b0262dec0a893c3eec017d6a0d59cb442992d4080188e6fff7e49ce0be164f0503dac3af124fea09964df261001097a14bb1d3f787d0316e35dcacb6fe496be5b97867cddf3bfec40e95aa478498cf235561af3d3699e4b234f279b4f30f433c83657ddd8e45ff14e26e9eea2e27dadc47677f62737470bf6f2be4007dc9418235928da0885f0c5fe7569491f800912199dd8c849f7f712697f2def9dba09ef3be71596730ec8e88764f49184135e561a56843cc13579761ee9fa0fe010c498921f272a30017a0f929196b83ba565224dd1975b558a72c9f4b7d3c7208ab97a9c29ffca2eb69c079920dbcf2ac7795750cffa7fe62a906448bbb087a5c0e66ace6a9177fa40e1d413248a1603c67146c7e3f66b361db5da4cbf8a9e7ca4c5acfe9a90ee911ed86efe40793077dc4ecbf1998c9f45000710c8f46b83f524e2b68554810cf40687388d5a4dc1221eeda07ec778364c6f0db2b4f7b5b7032b6614daffb49700ba3262ae622a10cea2a1cade4b9fa71bd879fde958b484b4ff68f5ebba9868df0ad9b2a9e4cedc5e4dea95c6952ff8afaab538822eb5331eb9a603768f163e6db5d54f97148dd203aa51340a0a467dfb481b8d93afc3a4d2449e9f25562bd4959772d5f008df03e34c5b689c8db7f574f2df594db7611c950fb893392c23b951581e269979c4300d77d3cfad85a339baf214ed1e18a17d5f9be055db1fab4a7199c94485484e6ab6cc0a089211f273c805456d787c09565944294c54c1dddec2ca1640af957654009ca631f9c56b75ab38c6c2c71f34356f5430c8cf02fd6ce29f48f028f4c669efcecc253a31b70e643c57cc1421116fb0927ebd8c86cf9360bddaf54b34518a4e0af835aab8809c35b2f71c41c5733ddf23d11f562dac4fd7afaf9a930718509a89619904fd045290f3a0a33e2fbf32bb587b280655f940b9799af920bc7704057ec8b657b90439ddb565edf49a38346462d4bdba4863b868e4c102553c270d5bf8b80a424635193f992eb10fc9f59b43ddb4f0aab4105849d36dee6baa4f7a9262c277ca6e3156f8debf6f724e91e01d3709e034b26d52d60ea452d3fb82ce63ad1a974220d133b40df82cafc3dab44d6e36870919ee264b76656e55a164f80d068b0f4cfb790cc84daae18fc33334a05b27f0a2c3c454fcd44be31b3b08328166444b866698de8542179a075ef65ccf84262ddbab968280ac1925c9610db23d243a5122ce315319b16ce96860924d1549ae502de5d4c50bd55621029632aaa1b98a00912c1824084eec7fc059142db11243bddd61bb1cdb84150b506513f24c9634de59ba90909b67d85956ef67de78a3e9b2b153789a202fa3cc187c98d2038ee7d53029093b9b0a07d2fadf521cf3fadbb81c8e182a4a7d5905b7026038313a24e04f93dae11df08651e75441428def19fdaa8bf486a171d730dfe49f06ca426d388e1c23f5cde3c240e51b3ba3276c124160533b54ff34a7b6a183d22171e3c52d19fa8777819df5f12511f23f0861332e48b03ed31a6c1da76b84d63437e266ad4b30a7a5a8239ec823e4460d2fa741e53184598285aa8e16771aa8d6c217554c194cca7a9a2bcc4789683dcd2bac1b4858d47481b018d43567fe070bcaf3a8810cd9265d314abbbce6f2706e346f346236ba2e3fb18084d5685b95959dd052746bb23fdc9bc40f2a5f9c10ec858930422f697a0db46f1552a7b5ad01c95d1ea0f0fd94cb34d8c8131bcea9df33b66b349808fa28d1d9ce15d7d80f74d9c112a69335f6f61a38c4b8d8c4ee526b2887cbc1751d5e3f81e5b322e837429e3b37b5b3996a10150e49e33d23a1650aeca0cef4815d44b6c36bf55f1ad258340a51dba490b756a3aae6f54c92cfe526ac021efae6d5aee810590c715d40643cc4fb93f0445909e0bfe5ca67740a5d2b56bca42f640534c0ad0a4c5f1466d406a7a32f3f202068b41e76458e25ae8b320968114207ecf11357c5fa5c171fcd0419c292d581596f40d7053dc9382681e81f34ba118efc4d002ec51c070b6f03a0f3e6bc67cd3039b8fa41cb41581dcdc61f982f67923a95fe763897d5e225fcc939cb0e4647b16c47da3534577200f1e2456cbd80c43f40254cf3311361a8658e06b28adbbedf9e676bb65e71fd716cc01b4bf19dc5ef38f1c6d48ddb4ea9ea15ab3824d417cd341085fb624b6fbd10b3930238e7147165fea148b4202557e74e190095a2d774292e8b184696c7b1b759094160b561bfb9f2e31c56d2e1a85c684659259096a7b5f465f32ebdc72323c139d7f23e3ffa37379e9d5dafdea395f26f7e8c2da506d371b6b339ceb987e3acc181802aea3c0588ad08fc4a3e8d1420e6362d796ea65cd440539c5f3ebde295c02d7667e0065d9b72a6750bb66e0474f31b0dea0089359b956426bb1404e004e8929eb49d28120c94b2280ac7b6dd884103b5c6874577cf41a98583050aa04f0d0326c37d783f1f42b50167bfb5caedd317eda2a653b22d5d5cfbda2e9b991f9c607ddc036c1ff69578c6cd7e7879700ceac688b5f3eee83c229d9e38100516763cd8551ef4acd14603f3b933093225a8471ccfe5dfc1fa2cc4c00abdc8a3aa6f3046e787036049c960f5a172ca6a9e7acf75a79a259d669ceab3fb55164df1c3dcca02041441d45b3458e250724329fe4204ddd4041ed3512fb0555cd014267e47bcfa47e52bd607605c26912996af6362895173d743e71fc6c20c354d25a12dd15d2aa57b6a4fd3101667929b445068a741f569d259655abb839e95cfd3e1f5ef259883a0d22af5462e02510dbcaa5055001e16b55631d2bf58e042232b83c1f4b7a2f03ac2045a8d7dca95009bd79a410a6771a204dd92f5209fa3031ccd32b6bf80c90a689793f5c68f798ccae8dc0120ab22a4871a2e26bed5f85bc72529c4f9a960232987f521594f52a4f84d43c9f99d062c1d6b40567a23653f4ebe05a38eddbad67f9b8614da133cc91617030d0aa80a55ff4f01ca255a524e28943d2120f919eb81e76306bccaf97d5a6425507859a36e99c5d84154776d4dd9ec57479aac437bc58247c3bf2ec06bfe1ba547abcbc75d048fbe8852f24fe052132def9f1017f4c911ea23673f620dab7e440801cbcfde85751b13f9087c25a970ff1828d6a65afbda7278510101f2bf203473aa6c79dd14b6c6b0d24493482e4094f9a3b3b0118a07e848dde304227c6bbd6ae051fc0b8f1486f617793acd9dcc83607ff2c1f3c7ea850cb93a48c428a14f691494fedde6429fee279d796b834f2c13e8f02b346681e426d26cc04fa75c0f8098d76423e6781892b3fb35d597d6f077e418cc6f67232f5db293ae291d6c0c96c27b6b44fd63d16b0e7f1195382513c65c9d933c0d9122236ac512708283f46d18ea0e533d55994faed1db78bf6191f3ad1cfa82dbadab23a8bf7ac7f8e2c63ecf06a28ebdebe001b58e4dc656dd6c30e454a549c9281d9997ff9d996e3921fbfd5bb4dbc203e94c2f064e759a8e171178942dbdd6bd5f78361aa7649bda264c0f2d88a04af1ea9de878c25730aa5b16fe58fee966112356897ad0e194f50546d28047290e67b53e089fa8fe95ef72cb5602bc06372cc903fbf751514c71e9b5eb8125d4c3bbb36eec54154ee29ec74a58b952d3755de825051670039b01d0411c3635477d5c8f050a52398518e2fb9a39de07ae08cfc63d25a3ffe435d3092c4ad490adac6631b59935c70d93d55e647cdea294f9b5a8987632571b893b2ad0c45104dcddee68f0ebc0104e6cc981378497139e2b129cf132ab987f045be8e118900daf128290f46e1d4e7586515d13a47360957327cdf12b62a13b4c318201c436706b1dfb60596265c2bb836c0409a5b17ee8412f40d0d459efbdfb332fecd60554f334d50775e74ac00791c5b7929db1a27ab145ea8e7b3509a3020ea47388d001af0957ab44c1fd025166699ed1a641da503540d37e8da4a7694e8d6665705ea3daa8a7b23b6bb6c2994f86ee4f5ea3e49ad9a82884d4cdc0852573f25741540c6bdee50374e9f73ab283715f27f821a900d12862bf48f386940873138878374ba97099c8cd295b0ec35c585839f768908ab90c6029cc1e5d6884a74f56ac3298d155137400787cd00700c2ced9da45048b206d31704cc41151e05685c0e9f5ac1445c31dabd8d583c6320242d9b2696980bd3e26930f3034a36c051464ef14d6031ab963a93fae240321d477ef23b6964bf70f8f699e8a9646a28a4e4e5ea4465e0a843556a6a24ed3c4c453507db7b7a03755b8bc88dc1e6c7ed9547a2b08dedb8df2dae67d6146af5c9ffab29e8ea8526031ef425a2348a21978c5d6168dd817c01b0d403706756466b76faf7d89aeabb76cd593cf9a44764e9d1b9a524a28a9e44a9d0ecb3d0497a824d4dba5a0c3b1dc6cb35590b9c9b07795e4e8937b38e0a460d28c28b1538b03a4b061408322c692cdbde168e789f7db20f114ae3c26621492d52cfd9d5132a385f9f1a11a92493b8b9f66c40f92f81461c4cd0f23b9b797b044b22a6440254ccd6f51fa243a9082e1b3ae56826d55e9e06abf426f32829a35fd24e59301a8cba389791f1fea30ca6b3295e70a77ebabbec2580cd8859fd6cc78d62d81dca1901b8bf5f1ac598e55829a607fb0dfcfac10dd5324fdf00e6cd2bb6f6cb9a2f227507553a77b1ed8b561f4e809637adae2e62b33321f7c3a33425362ea37cde5bfcae74513b38f53d7d5f13c6d6fefe44e879c269554b8fde81a60f6a90dab4de9dee3ab584373b68b287be36a535e1ac7f06a8d4f4ad2c7f444b9784f2504b60298356a55c0ee2878a62652acf1e6289f6fb2842d008f41e4d38ed2b2fc895a52dc462d9d7fa0f208867b10a8be438c4907f17b300d60c1acd59281bbd17c89b70673c06e2aa0b5e40c08c724ae88cc8528e117298fec74d2c1105960114b75d128ddb847d781315ba88bf9e9ab95d96e955c8f3112affb04d2ead76a7fcb52fe7cdb8beb981ec6779b931235b1b7678182ca33eb2ef5fcf281c5ba38f8900840a55202b1d0e7e32ab1417cd42d606d9774beb695c1d90d0108fc99c3c47b691147492c5b16a67211d2655c7c0aec438deaee7a4c062d6c81353b10fd2ad0b9cd4539ee7ed55e828709b27eb4e6dcaadca2ac55a305a331c049c09352435aacff53cb6570a3cfe44d2cb640d549d392f24034ad4e47611efdaca3bc4e67a8c811ee37bd457625edb45d34b7046861bef4a1fc133343e993fbf964a4e2fcf45708d21d55f24f3e64e9119175e3091f21bcca518490327807f975cc812b20aeb5b7bdebb51e713a549c9693bb44c33c6f19a5f0d89caf0667b7eaa5003e87cf5f4c360a6ebae07b104b1796d70621b7b883eda5d3109939e996bf63556e1ad9b23e9dd53b2d8753ab6f2a8a35a8fa50ede587c074ac1f0df5e139dc072c149c05f6a1c8dae0b03ea2da4455a7f9d62038e5a4597878dce67f271a61b352905e662d9e75e954ee4488c8f0c8bc40302345d989ef051d173282759f2d4e146086f0c340655cb33eb478b8f57da7406bfcc53ecfd0ab1420a2e14de21a88bb61f84aec69d83e923d9449183cfb4ee4c99856c18006b62c82bc231a5fe5406f8b598a5e49d633d3276e8d79ed6a35462c239b4c883a4772463ab6b7e0ad2107ea0283254947f5315e6e2daa4e0fec326f8bf2cf421f4922d6f2eb6b7512488db4b0cb7ceef936176869cf069fc9a668592a0d12755f82b0dc8ee6de972c72af7b1f7bb5c2ed363361d278f9c0a983795a896a506300cf650c06cf95a5abd3565505b691cb5bf6a619925591df107c3be7603bd12757a7a861b835888dcdc48905c4fd8b0337bc4ceff6b9ac859054d77b9f5c7c1cad9180b242afab25b38a07c325ef66a87820276e1a84a98afe0120ba5a81a6a3370db4fd3abfe5d2ab865f900129f7affcdd8282b8429dd79aacb88476c55c653e182a2db0c107702febc47d5a50d2352d1d045156814aacfb694c22582c0e091b6f609df2c4517b30a8cd2ad5f5aeb68decbbc37567cfcdb16f147a13edbe01b94222bea8dc555e0c0bf7aa9404a2f0db527e37930af73c1797ac62b7257abf42e68e1b3c10ea00e01c016da2400fa1fc49050b6c77892d532e17eca062f74e6ccfe15323c6156e3d7c66df1ee8d92520f5137eed7e8afd5865587872e5ab41314490c8ada79f72236c5218f66ad050b6dd5e6f3232045bae91406ddff2cea31d87cd7d5378a59e3a69652206696fdbaccf16442f7514f15f50318c5fd713f2c23fa9b7229a15cb695e2a345bddf4e9d52ecbebecece8f084bdd5d9936335750e010094dbd50ef653ee70dbb7bbc4fdfb69884da1a5c58f6bc4484a0837634a979fc817012ac17f8487125efab3473da9e29227a5716e83a4738a3a681a10ccd8f1260f658e00ffd0272d259e147d30a5dbf6ff9f5cb33783f76c5dd4935d483b3f2ef78d13da360698f654e33d0c40fbcc7510147a74884ec36f88ca88f0cf0629f65c1bced9508539f86fc13bafaba8a837b16a5db0f4496987f4e1dee88d9a1f5a9e7652f7f8ffc81e6fd0e30440e458a5edaa4bd0ae92c98eb302ce0cb04b6950fd3f9a224e13c8d505cfb969045ad3faec492862c863fca45055c88b948df76f6f3e460997ade932bb4fdd149437ff70e1e7047aaa5e457a9cc61193517bc7f7f3ca5879c05d748ee1897d71e0cccf0d12b17d3da0a87bec07f86f55762a03d0cbc9c39874a3f5fe6a8800a5e014d2c5391707814a8a9236b828485ac65ff98c87de2fdfe1edc20256e0b9874759b649282908e4fae8569c41170dc6a90d632137b4416834aab72598e8644b036c36368366e05d86a64b11d667b88799ec3da9cfdaf56b6f1450d774ea82c9452af632708c59018a579983e26d8582fffca64bb346210bab8ea5dedd65554580e9cccf70f8c110e31c60f1fe178b8bf9222f7ba11f14b309b72a7a847ab6f45d7baea64f74c5c6f436bf76eebaa6c683ba32fae10110957adc68ac2b930fa801060fc37950321153e877780ecffe8562b00a117355bcb5c76dc87c277edf3ec54e018a63f83aa491c2317a76a32040cbe38e85bdcd688e211675b0e736adf7c0f683ea5fe05c4ee40db610b976c8ff7fd1d5bcb6ad2d36d61299a4993d2753e557ca4b7605b33feb5815ce97b575349497fb8a66eafbc4e9b77553ab2ae860407d90654dac7130b3745953fb0cd6058863ed0d75af3858b114826d550b16358daa1df22b79883cb1e00d1022aadf89782a26c5f2bc0f7241e97e69b6742a479bb3967a17d72a9dc57252211fe4b1615571fa272a0fd90c2d269d7cbf9af69ca15c13b8b38611d40cc9dff7a03c1981738e593e1b71c77d861818f931fd3e344dd2c347accaaa8b2a9977e4691794476fe84834a9f4df7071fdf6ad122a3a49b3994aef1f2b228e3706bead7e6d7ea22a459a2bf53aa275b3b5aaa0e5570f9907ed3a57b8cb7c04ce657c899e7d82b724a6fe09d933f113eb18c0ad468e9011e86dd9812abc7ffdb403cccb2ffa196e4d559b15d26728203e8a6741b8b16961734447eb88d60e2418d2cfe58406920e5121b4930772e092ddcc719489cc4d3a015612736fdbb7644d17efa5b4dadfbba876ce2174b612df932e88508a8bcc82a008465d1ac4bd23a12940784e1f208688abf4dc1682ae86231238b16110f83850bec9de61f2de7cb3021ac70d4c957e2c0d50cc2cfcdb6950d74998e6fa9b54ff248f00aa955923294a5e44eb6b4358475d415b6e796b2735ecf3e7c04a10be526236da95923a2935af3efff3417c873a2be3a70aad69e3b29bc404eb61876f43b5526370479aad6dfaf0047609bd389f9586f3803aeb3a1406091cbd396fc2b4624322a08b4cda46bf4b4f0a2f07fde6eb0d828f3c0738ed304a7071408aaab3f82f724369775a6b33a9295565b17052e98294d08eb13d869c30ef9cbc5f77069ba7972eacad78b3c72d8e8bb94eaa33318aa9a59d509bf4f17440a74dca1ee8305deff34f3d8b3eb9e9e69780c903be53b6cc09a5c7445c7116fad1938b3cb0ed4293657d830bb75a684c651c7550384877b2446f45778244605a0de9320a104f20a91b5fac7c1ba41fc17e6c6e1b63c258252757b87f603f54afbf388dbc4e10338c2ddd66d572f3074dd198c18514e67a504d7ad2a5917b5fbb35e1afe496d1e00953e8e9d21a97e1d48d5443c9ead258021e71241ea4aaf66c4baaf69ca0d7f60c0c776dcf93dae9b8787d8b5b01e8c342dacd514bc48ef0419b4346bb0429b0c5b6473d56b7de89ea31d55908c81b4764a570b159e5ef377b668800dadfdeba32ac81eea61b72903c8347fac0967edddf8dbd71afb06b8f70cd2ddead93586aaa9308e2ca4f5bbf3783addf5bd4a0dff85ef709b6063559b5ebf503d425003a55669f3ca1bce8ac1fd7402450c7e7528e186f89964f5b2c00322c38c6939e1152dd0abda94722b2b4052d02946e5989fcc8374fba428678d2b1e048510fda2e6dbf805aaf3317a0b059e37db36bea395a07465322b451a4b2f0eb02477c72b7fe454cae9a90914c91ccd0575ca768e1130b0dae517df7b74695835db2352ace97525f3aa78ab1aeb2f00d594a2402a60e2b7214928c04604aa2789cb2ec2ed8d514b7fe9c767e7edcac1114868d8664aab5fc5cea790a69bb7ca87e6737324a70937fe16d8271017878b77254ed5f38d8d3d62c2976f465133bfa5e6f227d5337913ecc11ddb0377488a5ad0fb6d12429affc0a79b9795ed0d63aba0503d30c2cadb7babef21579f4f911fa4277d0dd51ae2f8e09de42d1736ed3755afac121c0d69d6ca5f236d82f1a489a0130419f2251199c972737ad5468c465039227b9a931aa4701c6120ba44f834485c019788485caaca1c2a04a183f2eb2e37050efef536605a886b860f87a4d80ebcb6271b8f70afbc0bf04b70ba43c7d565a0d9561aac154d5315cfed6c284aa04c460566294d065d6a4545b4426ed33c0a6dd3a974a98cb1a9d6f769a3c678e215ca1b29187be51bfcc01a934497d3e585a3bee081ca912d6a5a497f7b13043944d3486d2dacbdfd1818d25347909f92a9fb8b6ff2ff349a0948fea85d857e5070184c32b37c943ec938edcb98d26b56df02e7e1af6bca46cf06e2e1d513ec35367c6271c48031694f3921e5dd55b964da37e8d237a07f9ef79b5a5294cd5ad05dda247dabb47e7e1913fd34b80787c7ad9f2b16e0ce4ea7879d83004343bb003e8ddbaa91478e84ed2760a2820b6c6de3a41bfd6abe0d64dae9d1663ecab7adb141a58a5909c9ec22829022201a031f74e83c6aaa882108de87dcd95e8405ba1b67bc6b27cf8975dbdc2128d0bea363c85b546e9930897d06d3421d4864c9a816d4163c2c2eed8cfa6f6c756d261df6f4f30149342e2a0c94df4f49a95c0dd9d884e0b0239154dc2c17d1a0b5e950f05178e2e6b9d16ac638f5c6c1f9c7fe16ef4bef1a634ece1899338fd899b2d59fec715c811e0c88e88e7d403d6e71b6b63333e57aac60ef8fc1e2d59719efa6ade170fb06a1abd49a9c51d58139b02c2beb7945a0eb0792f1a20abf00e7dd16af3baf081b5a41e1031fa92b5ac2180c55f26c6c2e54da1098f4bb2bb4aaad93219cbbb7fbdbcf341bd2a6faac29d4d5079adb5c4ccd74479f988b1a80979d5acc383457978486fcbf3753bf884d89e04d63eb51073abf278d1e15d6ddda05a59b362c5dec700e49a303cc799631afd4e50c85821d4be841aaf7e04576823d6e6c97640964b2b030e03132e4296897a5e122aa592432684f409431f0465d479256453cbdcd83a97b2e5ec0659176989b541a704bcb6dc457f89800a09e772f6ab7c960202e6813002c76e4f93fd68776ce977801a7958b215550d7cc76ba6922621fc0884be51bfd3b7934787ab0d93cefeade911f46b85d6cf908c1e9a96532d8c2e0bfdb6a2b89996aa0ccef8fb5be103570bcfb8aa5d7a10fd47597299220233ba0a4adfcbb804716fe31997570d4e54bcbd5c119713b312fac74625816285cb66b0a68e47bf6940f423b02bb1e0331915d3e4cc94ce906de9a1d43047d4684ac060b8ac7b96b1263d0e78964f34c8ade4be1c53dc93fba4efdabb03adb007fe3b1b5a396511529cf17e7314ce92459cd4692a3f0aa0803e0e0eba3cee0cc2deeac5c3ffcb59ff27b376f045df1bc8a096f1bbe12b320db0c96739a10aa26680835fe97596bd6fafd342bf3632815063c34db1a8f0b874b9c6d0804ab090b8d64a44d1035067b83f25989f1ad19306ea7b090b277242814a9863a04bdefce3c877eeaa37acb697de62406d420d260fd4169afd8e9f1d2aea390733196e25064763a21fff7f373404bac1f8984fc55955384659a657a03022e73ebdef91aca6e5d8b13173e8c1c4ec2853db48a322ae70302fd18540b2dd33cdd20ac699ca81e1c949fcca5d40238cd900a0d83098dfc11ba644944cd3dd8e084c3412e1b3e1e4f8c19455eec7d37f1ded6aec2f57127c2a5def4947e0751ebf6ee72ead162a41561273f378c2a6dd28457ce33afb1462f5c036336c6f385a85ccfe20f93e46e117d26c7a1a98113911e5e436e07548967eba1ab1d70dc45d3791d482769a0b96d55b453ffe6e5a595a0d44ac8d95bc7e1d76ce52a9db9baf4a34f1b0e216eea72b698c8b936753351628e04fd65575c624cbf1fc9438a13717351dcf4c6f2a31cd329f784f49855adb04056e76f107e0fc59e788ac4130b20638a197576e1f2b94073163a9f0811abf945c1bb4cbb1b0b11aca01721b46a5ce6a587144f87200eb5558cfbd8415feba945b6fdbebdf6b4b6b167e6fed5d005dd8cae7db833e54e965b5960aa69d26af94e68c2b0c9949d7b5aef10205c3e93fc085f59e6099f5dcf8d3de3da7d06f5650744aa130499ef91879e07b66c917a106c83fb0d6c6111fa3960856e9b26843fd304805fde8d831dcd78c5a7ace95ec8b67f22d7db02ee80d181fef3ed750a7b15c3c1b0d0604c84573ca1410feb80954dcc2a297219bc23c4969b081ba0b044002250a4fad9457529d7ed59db470cc34cae53d716b4758e1d041d559c8294c0952550953a90ea2795fc1e8a9895ef7b97715813b0c6eea20aa6e4cc37e8423e5ba08da7a697f917f70660459e596191fb898ba59df6239cee752a33009e41bea883301cf743ffb611245090e58b0117b38e2eccb34cbdf2d19376411625ada40be5227b39114a62d150b2689799e04b2cfc5927b19b09d31960800c34cb19a62633a431a28f24ed17874423d60ffc5b9040a68d000d7928f60c979db42b84f5a0677f9f55910c518f774239248b87ff8ed66eb22c0d43f545816d31f0f958318a11590218435596033ddc0012ec7d2a9a818a652e84c0062312f0ad861fbb9b047d14481901b5e2ee80bc1c836358835305a905ec2b920c697cd150c26f6d2a8afa5a34f6a50ad19aa1a7acd0c5a1f05cbffde8d1c6efcdf9836b7a2f7c78cd026dfe9113a45d63306e32b1ce7c1150a6a8b020e05c5cce4ac8a94a601dbdff2762cf6120334b5f1f5522f7934af047c384cb8ce12dc4525179c35c0965cf0e548d3e8506b279ad1af8f8a52bcf8421c82a0b3bc7d6d430345ecea5ad413a817649c8e213f2f80901903b4add22ed55f8de8164e922142d804de3b80b5cd490991bb5a9c6b96e4eae1a1d8738b8bf593e1bb43c7d4132f495de6642f3b268ca4052263aac406860ed1740992abd930f4a4a84739024c4649ea0afaed2c0b7f16bade7b73c74fcb5d0de35cc2d6316b7eafb85297c012eddf9442fb60454e4a8f6897110576e6eda1a1b7c1d2e77ecffc256451b38a369c14bb8e836309f0f2bd8fa3999df2e3be7540e7a2017acc4fd9be73a3cec2c12cf0dcb4b2fe9d8833c8ce129e3db172017eb8355cdb0c609a5ed079b8060bdf55feb2805fc627c2b9a37fbb8816b59a63311cbbde379090af5913ee18e76e8ed471f436e8564b2ee7baec9f84cea55b14646792839946108dc7d5f9e85f9d5d5ed1c2691b0e4f43e6519001b2508005dacc3cc134e312e985f0b5c03ea5efad55b546695ffa600cd0a557806ec7cb52ec79052adf7c941f6c2b9669f26fa090f654e8a8980a194d6fd474bc02ee214082e4f072ebea82fa97348826a880db8ac542a7f73ecd998c89e2b9b95e755e6feefc46db1c1ea4f4e87ee203e425bbff280ac851a4ef2142cee6cd31b484e95587cf057888e9826bb782464178167a876a0b752ca670274884cbe40dfd7e2504f8bf5ee83b6569e515e0df5c8c7be4bcb82aa3f42bf3bd801d4f1c23596a85b8a2d672154f41a69b8151e7a345abbc4f5123fab3cd6cbc239a7f478d2038f2e77f22cc0b3dbee6f511ac42ce74618b6cea211d34c568f6517a1514d748627e57f7ffa83ac29cbe412c39b1130152a5805f89a0176c93946656db2090d79aae00af5073168a2023b7fcc90ee5f8d40dcbcbddb2015f18a78de82d672a5b4e699c9251a77c5c004a9e7b40a5744bf1ab5d0776ac28f5d6553d1c25357475aa78ab102dc2b675651c982ea96ede92ee0a6d6be8537058efc7d31eb73e194f57dd115646b561b33a475e9459c81b08c4578bb039398296389abbda54a0d4e84b458c475b327d4b3c1a6243665b7bf4bff7dcffbb1f90a7ac9e20d1b0ddfba42a741536d5fa027a806b97ab5a52bae2f75cd9d30507c740b41b79bb6a6cc496b787aea09962d6af3ab884eb0443be9a81d5f0cc9b4ef1434ba1ef2b2fe6458ecc687581dfc6b01729421089cc57b3b58a56a7ab7d4ddabf4c00c97cbf6a66455728f01de257568023a1206142cfbc3953cfe4df7f39960693192dfc7debd391c6c2309d6b11633dcf0e7908d30fd4d03ae57ce51f99026567664440031db315da3333ab5bed8eb28809f60ed4c27147571759c778986edf52a54588889281eb424a86f55631539617622b5373cc4cea6350e465b0b43e95945773b88e493b3a23f668a638c358a77dfe021b244b25effec17cec462a2c8c1f0806c75ff89ec8b5f582bc02d767cfcb9adefc943fc03e43c3fcdf4905b48b022a5305464c305e723a77ef8f8b5c4d303daf19721927cc3a61966f95f6489182b0f5aec84a7fa7c9263bdacebd3f6ece6dbbb4096a402286c4c39a21009750a3cab3ffd8444848db5b6e2993942949b90346045d045904df6309877f037500922683e1ff7b48c10b20ed050f8a5810cabf39f43cdc2aa87093a14bf0ceec04ff7902240a5e26f3f109e5e87ce3ffe3cfd9f638ff510af2e3e742d30712636c416a025cf7d946ddd34c2e042329b8bbe7a6d3082a8b1be1e0a40b3d51486af0c2e9ca5c738c25fc979c0c437038c0f0d034e45f18a1c8674aabee2f8f327bedee8e9ebbf37f277c5fb61531c1489c2d679ee0db8f5fb3d7197e1c1bc1afc7c293f5fa809099a71cf3083c733877cc56712cd76c336a4219b550b38db11b204c2cf6ace65cd8606d6424e4022292e62874c5908f5ca8380da1276811bb98d99d51e27e59b6e809d6d6c50317586b27b550b1a5ec135290dface9cd33c188cd020c6f8c2f9461681fcc9fc2f5ac6dc0c6066cae5a6032d1238352a7d92fdd9dae729490d50f9bed9edb77a5ac38a9d43a9f3c73f466817e8080c6c408f463a9cbd53221d1a75d597eeea6b75fc62529b88f4b113746538c4b4c382a58d38d9221c79899e2ba059d8b6245e10f81089632d085416c46946333230d629db5a47793b8ebd39ab572b4e5a0c565abc976a845c11e5d7a5796d21559e1a41fdff5ff442ee6fa59f4e82d7d7c726681f9fe0ea0fc1314c33187f91112fa09a2f6695c3c850192e648ac86588ec580f247fd0c09906bf6e303a5d637bc68e26588ece685457400e24b1c5f34ec45855c7fc7e552202a91eb21354425a7aace11cdaea7e54c5b2714a119af425a4ee63191a201132370c34e2e8623d890a50b4b9bcdd02c21e56e3c86663d661e232a727bc2248aa7211b8a976ecc88525a2bc6b158ce710c8e52af768cc79a213cb08c8624da1163aa6a886c8729ac0ce1c1440a294160d88f9c498939dea277c59568e9dcb96663cc37cef2d38a23f678069ddd5ccacf82b359a633534ae9ec06a47eefc15e1101a20f1940c7880098343afb5c876c8f8fc795814261d06a072b86815a3fd3e70583bd7c5c3f2d201c63ed58058542a0ecf2f87ad8a19a7f4669130027ea00a40f50805abf76619e5c3942eaa3597d264b7aea84d232f7f3e8bc98b26ca6117b758877ab9f6dcd8e5f034a63a6d9a9e75edc6f5a7baff85c7380fcd9a9054044bfdaef82e18a855bae970bf6af777debf1b37ef5e1837fff7bfbf5ffe9cfffff5a9759bf5973aa0540f4d57e170c572cdc72bd602e9f1fa0d88e2021198f1e437946038028001f020850abd59eb8ddde74f7a6cc4abd7acf98eb7b159fee73b667263d38c1b3c6cfb64e00b09879d2975889122577da496b96fe7288c97f959ee77943de9b6abf0f0124fe65b53453af34cfee5652650701c4928f8d4e4ac6d5083c6fdddd3298cdd3fd7dadcbaf343a18e30d8124deb797dd442888d1192c33be1e4cabb0ce4479daf324a51adf9563cc8064aa885ab59144d3fe334814ea4c930bde39420836418d43d3088aaadb11aeb21fb69a65aeb5d4dc807e24b9b285e66c9d92c40d76ecd8313aeeae1da3ec382614712323221b08f0a599f0f2ab4c0c3e97bacc097638971b9c105702f56ae942470767e4d93c9b63e81e8f3c1e3d18c6986fa4b3d669df8891dd6ef75121429e9e9e2e1882b63fcc8a18b78057d2a565d92c6dfee8a06ae69cd37d76bf7b7bc7188bf09c26460bc4839f519aacddef74e28a2b888375db64e63647e0a03741e01619948b1652f440f174e015ae0aa147a94e61981ebb05bfd6b066e056943f12c679c6cc21ea2b8f178ce5f0e26a62e5896ae581025bc5a184f320e170c7626307982769e526bc7692c22c787c725481735811b2713cdd39947eea9ddc8707e8efe06c1c169de348cd0b4f149e2d60789af05401ced184e70abe73078f12909e3a5a19cc11d543891946955d1d466031e28a1d107e600304146cb8d1b2c6c7444db2f343389b0c98b575fb80fd43028d086f2b99b9bd846bf2d261afc23b556aab0c7aad612c16e69b2b5863acb5e60fbcd7d59855d8929d365a8e2c6eddba35b57ef36a654b1c51097868d4410382550c91dc231259deedab94dafad9998c5ffc684461724d63a64bd48828a0c71c3dfe776b0bdf759c740b1fedc699bd75fd16a8125da25058567244da933ed73d82f041fcc03d3b9118731e540df1282651224ddb6ba16beeeeee6a7407d7254a2d9f824c686b8ae98081820e556e825b965aad807b9597296574cc8cc799b90f733a941b5cd80001c52be38d3db5588b5101384b4f7455e4eca1e3495b807091a349125a726b5401c011180a0e2b5c7c4de2744af3a4ed93e669b9f256ebfe6cae79536f9aa994533a132da2bfd32aed69d963cc32cb084a9a2f783f1b6db6deedcb5f91050dbc9a62976070888a0687749614818112730d69cf7b68c0d882c5698d26376b86d8aa58320513a6246290f996f8216c1967a7c5126bd8c8b340ce736e81922305d506173550739a6c5113fa200427600b7653b319b58c4d7c1df8b3a286c32e272812b638b74b18bf517a9344460a472296e9ac77beee55bf8dd2576d4de6be14935415a92c36e63df996188d8aaa19e79a6cbc3c12d4d7e06813dc6ba8e654122b5f6ae79f87fed7aacb45066598f9a7a24deb8c68ceb2bbfbdcc2f50394eb3f9f252bfe91c32e2970d89ed114248439655232df5129e49b0dd2db9572d61f03dc0c90b548e7133517af1ed1273f69a37f6d0dba2efb55f9b416a7fbf49e5a7eacb659bff3e75f04dff0a8908e31fa6ddb228a7106cee91efbb22be80139e71a3a27a5df43a80529751bcd36b739385b36636ca8b469b3660d8dee95deefdfb67d4a69a5deeed163eccafc4bec7fd7fb7e6aba56af3eadfdea96d639679c4ea797f9ecac35744bd073905297b1dbbd984284547b4bf251042e62820f4753c89c336976d24cfa3c83dce67c237f80bac4d8ab5385129fa8195d6077e4914c62a2b2ca984a27986a436a2938a1d31479a7549d594619102701731387cc954fb3064e28365ae486c01246d66df210d5a4c8f0b181352aa7a65ea96bf24810ab3d93ce40a5491353a38546f98d560d2830460612adb68ce2896b058132503a5d024ee74121315796114c692984aedd7d324f51c0e13484f6d1bc26a3d812b87e9e53cbaded1059e691b90bba8bd41845aff5d26ee3d11ea03217ad89797427738a779aab259ceafeff3f89a7d35bd25c53987892af624b95020694d2f449b15282c05292ac98e2005f762c1e269eaa2815a5810387091b265259d8bca139aa3d58d28802a6eaa3e20cec8dab8a189310424c592e1d5a19a22e40547c9260f253ab1cae38688aa0907002f2e226a50c2a744b55ba238e8ab6d01951e787966610b11a43f6842a0aa3883a2e73ffa6d02d21dddcdd7551e6004db78a73d95186f8be20302f1263653180b1ab3bc54eb33badc12af830196384798c51e65a67bd59bf09d123b06ce5637125f875512a2aa3838224848e883a4559143db1b65ca95462141549a794e3f41f397402e99e02b0a5fed744977029ad8250d27263c5ba6258a1a55a811d44e5f3fcdcfff947b3ed4e67a56f05edb6f5edadfe35ae3fde6c58b7ed7cbfaf4eea5f50cfa64dfa755aff9c5277777777f7dcde17df2c50fccfa3b43b67ffcdda637503e5a7fd7023b7ceb7beb5823ee8cdd7ca561299d2cfd69f95d65aa90679ceaaadd5d6fa3ee7f4a7f6415bf1f4eae3631ea63fececa4d47a33cfe97316e79d73cee9745680d77a48300f2d4093e53c54eba43eaa07f91b43b7048d3094524aa947e9a4944e1f648d0a262626260c872d0a04d088518158190002eef8ec4a3a85de044edcadd57aff34043b5bbe434a8fb6a5a95cdc2dd52f3d3c256131554db6ee72a786a3a4a8a443833196f1a1e21cc0d4441367bea72a60d0179c5d8a15866c9f9462987bf4c39fe1531b347538a90a6297548fc2db0e5d932b40aa2815274facdc04a8a04079f2a4da21ba48aac3da91c3c4940676437393776140337876b981ee54634b15f63db955ad8ea0cc38c32de82ca343918b52ae91b23bda5cb7bba4647ac6c0e9b3fd8a89bd0078a3c3b87b99d1eab9074889514a6f4a945276c7a02548b2bbdde5cf9c2cfbf14306c28488b2d04fa82f75b284f9f9486968b4677e8ad035e1414fbbe2f84bcd04838a792e158bc57d485c27a08e4992b08d151b9618f8a9e5e47abde8cb61307739f52c2f10075b0de1839394fcacea008154b1cfcd8ea0a02021a11d5617f42346c8078bccb5e40393a1a13076f1090ee5dca3ce5008871565cff88001a1d8d14394181d61555d4285860b8ed79c303ac736808c2356141d104f94ba65bf7100933b8ce5e31e9f466d3d74194e5c69820925a84849c208ca74fb3aa2e8b96eb47678c717bb9e53f523858b8a10121d55bee728960683414223aba24a7781a2a389637900151abd76ae93d2d91c6ee69aeef6d0e577a62f17fe577439604ad5e97e10e01e800371c360309894b20a9035320b85803da3709f6051eb822f9731f00b670763a5cf02834e48360af6a1f369b0ab0c2a07ff7c0107b7a2a06226b9df57ab9d76da693f4fea75d6fdfd3d81c783830e2faa45051dec841d1bc1599ffaccd3e9cb1a3f3b658b878a85e0dab4fb7dd26954b3559bf7ffe3fb445cda48a3bc3f4f0d11106cd86b13719c7db8070cc6c79a79ce195fd2f63ccf6bf7a6e053f9b6bb7bcec9c10c372fc400d7fffa9f6dfda674f0944f833041441493655a5bb415056761ab854110a420a62b1a7eb5d2e872b1a42bdd0faf424b67eb73b95a73b6305e85f7fbecd7c7b1d97c33b4b4e36df74bafac6f6cc94a5794c5ea5e79d3da3618cc8bda78b0488e471a11a518637cdbdee9eb7e6370b0ce4ee30395b41e13480287e6986fb4ddb4ce6f5a6af367b3d56a39c762735a9bd1c4557d71e240cfabbabbbbdfdffebfbd1327ad571919852b16aeb31825d59a757f7f7f7febffbb816acb7eec0728cb1f443229a50c92424176871494192925ad63f67f663f9d42ad96732c863fe6ea55d1b6ba63472852c9899cb5b6a29d4933693ac13b56d42a1766e9c5d5ca47d67e77cc15519b29fd9f192ccbee96b5ba9e2bbb1df03af556c5d0b5aafa41248381ee65dcf1f64e2a0a2a6766cc0346b62051cadcb77f663e56ba1cd66c350b673eb9282c5fb586f8c672ee39af18ae562f790bdde7c4fb0259abf09b6dabd572a6fd17ae58924a16eb32bdc81d4b46ad642e1cf33dd166ca32aa97d350da4923e9a9436bd9e69ac1963e67a955c94c50f09caf46f82936c6b6b3fdfd8e480b5af77c4e05bdcae7ec06607ac2ddf9dfd55ae57c7d9b9f36c17fffecd454749a3223ea66bb352dd5ec55f729aa344754ba3d77a6ae9da25ac9a59b4649522e4d12a79b2c13c17c8c62d5565b6db5d6b2aaadb6da9aefdd51b16c5b27320969278f58f2684a1eb1603e9edb4dc58aa83088612d91eceab0a2d34e0e0bbba85818bb2eebded59ddad95ceb0563066b76aff5bebe57a6c51be32bbf706e655786dd9d993151fdc91e332559b5d61b2458953343b59b9acadd2217ab31f7abb23d3a4d514d85f267ce9d394a4f769431da0362f46a33b87dab524eb77a1fa4b4cfdb41713b289af9a3b9ebd7a25468043ba4bd37fe70a6274610940241e5214012537d2a8bfd6e00b828be00659d2dda9c09a9ac241348709011c3a2c247b47840f2bd20442b98b799853e1760a8d7b23e56b8b2b3d50defbd5f386721ad60852bac19f0eafb3ec0d9671881b6fa6621adc80a7f1a5c09996e6356beabfa53043aa644a063e77d33245fd6b2baf712013faf303f5a5ff97a85db111c6e578ee690efc78867bb008990952df472315cc3acec91b1f218b37661d3c582bbd1158e38d51191590ea0f7a0e5936015b5cadda7dc2e36455cf4a2844392c509063db7156678dd8e0c4db1460a24322956ad928e6848d25be12dc833c06e47405862894ed734982973ebfccd7a9043ee6d12bca4207f4595b05cccac1dacf499e53cb283145548ae0e37784728da42d3ae20f1b20eac5c13163217919ac234357d6932539b96e2116b8ddb952cb20c314b1d7ce625d04b6709a7656c53e4068c2231de98e126caca981ccbdd99a856d94498b0768c5de8aa7051c4a6768cf3ca9ed3832b65ee30c684a4e329a56a1ad8d30be663ca124e66ae73de39fbefdfbf7f635fa7c5ea84b5b4d26b378e5f9d7eb794d77eee019c54a8648d5eca0a0000438600101207c4424990a3208cc33012c6f00304c248c59e0d8a0e4f8381982018635088a1101061300018c010640022c62ac6ca6c000f93572ee8421f0ffad25ecdf094ed6dd37c315c30fa57aa5f6fabc02b09b612627b2256e04b3f5289b0b3ce517bf8ac73e0d62926362414c705ce2e66d1253870270e45afac2c1768d5a2f778b09ec7ba3cedc0582e30189bd399058b16c53fb7825a4e70d07e3208e513fc992f0e78f1198ded5ef1bfb1727952b11c720a750fee83090f80198ffb44f3fa4e812ab8bc67493fdcc2a7599031f5c4ed56b167649832f92a3453a990bf3d38490f64d206dea0df883b511c651c66eab6c5cd06449603716cfb3bc9174b45331202ec3e2c325292270618dc77311a987a230c768a168104809c5376988c9f2014abe3e4835716b535380976665e52fd16a518a639e793a2a3de5c4fbbc03d5ea9c855c3df7a7f35d862bebe05d88328e9bf90292fed3116685990a1033a1272b32e64629f53b1ad504452a104633855299a7d293ca6543d8595c97fdd63b0b1d944b6e91d33b03702f3da75037011a70ae3743c2ebe10de3f9d870f73aa68d6053107b9ff4a94075634d080c5bfbb560b37b4b52489777b1acc8265dfc6f0533451b5e7801a18dfa85f438e2ab79ba5b89fa33b4f029aaa7a4f5ba3b6bbcacc9bda0d3262a371fdf61238c763670711fd9d78e143f3e2f195723e9768c088a61809c172cf21512962a82e66ac92c3ca5475ed84dcf0e317ed01828b8d3c810e8763744161171733293687258c4cd10906d37a5e66038af21c1b7cd26652c3a17246c5b979732ff84e537cac7da57959ce502fd4c3672a9d2afbf3c5b21d2c111fc74986b37863c9e7ca6bbb0598c32897994173728d08ef69f4b1ce10482aab5ab6fb8ea159ae51576e4f1d8f39ecf86c5b8d2e9b4681dc93c6fc5c819c85ed2d638e73737dcecdf8702bb8278e5750eec485c5f40199f1f28036a786ee52ef8230fc07b8eb2acb8b6e3b4143b7d1af40b784033eb7406e9925c3a3e0e0cb92981f59df212020394b3c1c661486ae9283c6586f0b9348f189aa46b4153a1e8965aecb3b09e10269e17f7a06cfa70bf4027d10bad123d9d9b591cad4ed14be8ade061ea3e5145bc1ed4e4bcd6a4069d6c03063b1598919d41d376624d3830a10a79a8dae61159e30dcdd665a23ac74864ea2f7feb3194dd9b1cf8b4374d13dba7d774269083bf9ec567ec63148cd895c62214fee2b049683eb4bf2d445f1f468f1b2668679501c5ee81657539ca87ac12992d3317ad41c316490f03942012307066c8f88c5c2858b8096d27d037a7960cab7a9d54a5c12faf021651e5c48d089f66cc39911e03f1c54dba132caa2464d48d6e09709a6984913d90717161c2f48c2761492e30e75318c9945e3e736e1e4c8d10146c3cc6ad53ad1d5214ba3d65f72c0d0b6d93c1f0a09b2680535c61f168601066f64670982127e1fd7b61e902e4dbfff733fcc5d3e93f12f474fe4f40291bd9e414728f8f52646984db4bded47186801d9a7d79cd5d783b53cab8e0ff6c3a6833f961c633abaf9a679f04479c354f8ef9a256ba85bec1670c10d05d664956a098a7be6d6f6af9a4ff982e39372783671fd5524fdfd1d14230c8b11499260d7d07651a6306b19eb633811061df001874d327719a050f9b497254a23ea482304aa33e00a28ba21bc8cd07e74e0b29181ecb246e9265f06920416a8c1ff7093a060ccd2c0d5e49f6c47dbb2162069596189e45ff901711baf5ede2645bb91910a48bbf1ed04c8b34b18c4d956ae9b57212e103b9f3cb1be23c67e0b7a54ffc4e9347c0a2a2c0e09302914f40b628bb41b663907b7d11d35b1e75cf5e6ab24b0d6d1aa133e8a750af847b35ee11775a8a52aa52e08208782b55c85b5edbd041db5b2222edb7a44da9dd352b4103c2efc9a16c32de1daca7dbf2daabeb8c1dc55d611c21015e3f33d0e4f496370718439d51a8533dffe6077a9fbf0d737e9cd8745ac3443b24bf00878209ac09a2892e24a2cc8bbbdc15e6c176843302aed32d62f020b83597f82d53fe1de447f4e88675e14915901810cafb8b2f81072eea51db230c3a2581c69562c75d819bad5fa09cd560dd33f100e5b9f1bd6b89823a470158c1835b56a0e0249d0c644e302c74c4b50799a37e5904c29b7ce01c546dd83d58ea310aba2e1f9f017e784c034cb1c0afdc15004ad934ce1bd8b360491f88e9e7ecec889738364e8d21c6c64bb6cd888056084a96af38fc2e4ccef6c0f975d75e00f436dfb4fec4e68a6166cb1ff3785092c2803c08464163ab48583a135e16b68cba9a61e74d1da549f9613f76218ca2ee1efc7eca22ca31e7444e062dc671f0cfc31167e1dea4e298ff1ac34720c429e75d027a3405ea7d06379ebadd704150435169d8b32123b1afdcac8f8114d072b248b6656aa4716e8683bbb06863b85b3cb67b042b30a51d6173698b6d9a90c92f0e6dba6c6a732af4a73e19dea4afbc425c6be7ab7098b1727dd2b75c66571dbbe5c70aeaced0624213dafa7c0e658d465a90d2f1e19622cefa95d237abe9281fca3b61061449aec0a5e397dfec58281d6affe9b6bd041a3539fc62691da82e3240b861e87c08b9d0096108cc230016ee3a0fad3157782adaeaea963aa8e684ace3abfd7bc3d09d105f1e80e3e5372963064ce80950fe8820ef58bda613a81c4bad1d7d938f96c7fd01266dc81dfc1694ace4a307e2e48d9a03bd691fd8da6e45cf6c15cb04c25cd313606e38814df38a0b6a52ee03225e70a5d65b20a22a544e873d4236deff5eddc49e1556ce8679cee8c3aa6e444e47d43cb16ececda7ee8a5088864b44f3ea48392b22f4cc969819ebc7801836dbdfc147a9184ac3233182a17961359b88abf2a987d7d025372ae364c5441a65582cc72805c4a0e5a0d9446f06fabb1949cd9062bd6913ae5cb03dd452939fd32d0870478119ece859c2e4b4ffb7fbf5a9692e3b8b9a682965c584a8e43bf7cd9ed7fdbe319307caa2712c33f493a2a2567115d48aa37ffd744f7cbf0534acea2b63bb704c79033dbcb83283095636cb1089eeb033dd490e9b435f031e3be9737e6504a0e2fa7b7f6ce4d57f42625c789650b0dad5b6252724c306975084b4ace320e2e64bd4eb61656e6a617f4362e498c03f1587073d830fa886aea0514566a71b635250c9fc24fe1b3ef99258f90c0a025007c6a0caadf1329391a5353874e52d35172621ace3fb7645272902c6681360bf84e6bd19a3ce8c273a4e474ee988adf356d81e6385f423aa1329145c0d0d573db542b445c7b18f1bb2801c31a5a65fa5aba60d1a757db33fbfb076fa09542d53bfaa2f3944ea68c95327b4ad2a7d0175143f69092e360216b4ce348c694ddd723504b13233c4d4ac85fdb764305fe28390b9465b1f3021946bc3618f48a1b113d1c312ca5897a0f56c06d0ff9d52bfa1f25c761ee74515d0279d5a3e474f0fd3561e1517212eff6cf37309613664c5be86249016724c5df78556146c9d1e6cb420c18c9517260b06159513bcd6b7dc45172ee8b9c3a9cecf29230da8eb2725af15ddbca97d60e9c2595606e18b1d5ae119360549cc73203216ff324d9d73b2397ed9c896e5cebc358a6c626fef06f1d170ef3b98b60eff9aa58c57866718a361588aede860d8e21e15b32cad359f62812bf0859cd118228b0575fa3200d6461398b8fe1192e1c80acabd7b7fd213ac49aadfe26c0fe7640513bebb8f2336a03789f48b5722a0681d5b4e4956a9c003d6c935513180c21b6b473d18c7a5afea08624777259b6a02bc8c09c3cd3d00e4a47c368fdb6c73eeb446ad99f4c08b8cdd41fb7642cdbc03fa0c9f95b98742118945cfee64a6fcaf89ddbc74524856e935880aaab83944fc1cc00744143ae800486cc98eac8bf662ea872ec25c2730eb8d78da1d28a4087aec5cc52c9dccb814ea4b894af1d00d2066ee345188e43a055031d6a1199642af89642ffa331a4cd30ad6b6457307f7b38dea2f139bdc598314f0996f7df7f32e79e794a0865f5e30859f3a198decbba5c07e584600034cdf483c9a4a99a3e11f5355f080e363bdff65fb2bbe9aa9c81c3b31a69e0a5cf3146f7e7042b07a66a3f07f3f3d7c2971bef524da47055c9e1cebb4a516e01d1a29d568b9d1a6a2c147d0418614ac83d60d602ea01bee4a7130a795ddc65a8e605b1e4821a14972c5dc315128203bc86b7439d9eb5a9f049889e0571f3cfe96c89664cbc4fa633e6d9469bec7b93427a2c3a0ce2959b1d6fd8bc7c9c7500af8451cb3998d5c7baf5d0beb45d729b4885adfa2fa9ea9362dbf714a49c90d038e52be6cbe4b127b0a3e9cd1b70d6e3d7cb8e02fbebcdee118caf69bd1b0da2e5f43fd401db2db556ded40ea8d580553b17ef819fa343cfd310094632ba811fd7e0c40c1f2068bd7623e810545c1c8d4d9f2516e701fce1fe31b44413788e21c0436c9f1d7782411ecc282aab8b5ee1a8eb0968d2586e8db247c13be78c8839026c1147f7e6ac8c4df5262e87b2a54fdd47a626dc65d4c3743613bd1c7ab4fcbc2b868838509c99674a764e87bbcbe6d7fea5f581898b75ea8cca477f2a0ad4f0a700866cdf67fc8e2378e4afdaae222f1889703d1f5dd2aa0691db3c2bfa730ef23a01844bd20bec1d74b87c958af73affd29bfde5fba04c7787269fe36365af0163e8bd22fcbe8a96758ef995f081cea5aa5e660a893fe79a61885f04b2733940f3909924e95288c45e22d8cf893050033013fd4694c01b8d8d610682f9a5a1f8b1d22dba38b6d31900272417161d4414d92fadcadbd8ff9fa17fa3c864332414751419f3d852f7408a1c68a22140a01e68a355225bc926e88f45f4448a5c4578fdecbf2729f203800cb67f030da9fc1b2b5c5b689dc3ca8bdf0e3a6cc2293cb017df8379223736eedc0e77c365929de1393a73f680c849dfdabe90cfecb89a39f96e7288c7c0adc602ac7f2e2e0fca681884285afcec7d2955c6d4a4b053a4cd22c685923002fcd5f2bb260456af0726babc9a1dac869d892ef4942573a2df63a70b7285c855069016b2f4ccb9c6e8fbb2d297551a4a948c6e3d210ae972c18754b44a9210a0892d8ec92cfc0b6c4fc709cb4252c082eaed21a1d47eb90793182d4deb7b7f975dcb6b0e70fbb8c1b2f5f45e1c861d46b2006d6ab74d3aa4cc2c57558d8b19765cd12873c9c28b923e08cc6357b7db3321a92d26898ac361131a66686aa82fe551625c2dc39ac2099f5b4a639633e0948ae79bdbad4d6c46c6897028c668a5a223d4e86c9d943c51322def96559b9254814fe886a5dd811e05fd1f21608bdcbcb8c651a75f203065870bd5eeb5ddf2a84f000fc9f635bcf5ceef858d4579f7f167cf13a67e5748e6dd062697734e0573633191d345cf00da4e9825d2b4b15cff4dfbbf6eaa3c390ffb44ad0845c923849f28d54440e7ddd0fa5e161bf1eed8a62b844fc7af3e8afa7a458bfb538d327f00c1be85eb1edac2e507f53bc1638ea2270867a0ffd9d7be33e31afcbdd25fb48a7eec7d3c5e1fa7c823d427bed73465ae2e6569ac4889fd54fdc8cb379c9c35b1a46dc2e6350e36a228ade030801f572803da27654e54a8c80595646e059c35448139e796554b6385bebd6168daf1beb00a5f3a2c2beaa49428c00c90cc50ec9f9e9b8e4d9a243bccc1de71237b4e0ac2c3330425431da5100d5b0cae0f9f082ef964a946b71cc0b09fc08306c79418ae9705e5a2308d6fbd7bf4065c02f7f4be838f2428906f68e82a92d803618aff821ba1a11c994c2e1c6e1b2a4d168d29af5143d7896641daaefbabb3ac503c926a252817f32e3f6cf863289a6d8f011ed7f3f4fb474c96ad842f1051cbed2b3ea554aa0f3cb4e2ba46251144b7a962e5b1e3cd5c40773a94d9873697b9109b70395bb42c2bfb7042fae2b94bc4352867731fbffe54cc2af7c0c529567dcb4d6be07948a366c39ed9b2534c132b8be7e90119117f66501e71948800f76095c34a7bdb934508be1c53b0a050ae5339f1159b65a020dd95584c5449f4f62bb581de0dc4375a6a0ccf39f297e2c79772c9c032751f429db87f9f81e25ed80656926ce1b2937eacba4728b6e290e4d8e4ae20072706ea76e236955bfbe943b0ceaaa4af2017e87a70d2d28f0ab03cfa826ba82d5d430914c99f845efa06e2062848ae75a9fff9d21ca0cbe577d616acf090d1d096f77dc58b1fa8d5082521f8b588dc1f5cf80fc66462608970127ab842a3403a923b4154b1c659f530c1891ad6708d11852b9600290bcd3be60aebb7a201a0ce856246060453e06a5c143de48736aaa3d828cc1e901c669968b4592e69676f83b0dc721472103ab3e887ab38928a78725d2b882bf9cd57b4ff9e63a9108cf387e626f7a7b43512f1d01f86252b8ca847e81cfddfb10a5ca615b3d130911818947426ece3acf9f38c55d49d16829ac523eb14f96f5a757d689944851641b17ce0ee16158f218ec3a62949487326213399597ba3353571c825849e1c76b2affe1388f05952763f71664e4138a7f62d93053b05a76bb87871a597a0697a6fc65f3db02af3dc57c6c80383f62ce91a232d33fd5d49dca01ed9801a73c41478bc9482fa7e3f94401e9b4117b860b3b30dbc4b585b9aa593aee517a3f61ac7621dfac2b6bc19cfeaa12fbd916eaa9c33ef4966d0d27652c624fc24577e62d14b0d83b1a938e31c5f617dba817406da494e54538021efb374cd6da1e890f30c1e944b6fb1683ad542c860c598397c66abd80c37fb1aa227930c2802859c21cca6c919740499fb2a72d0ac14910436d8602db69aa7515ea404a11494d4b8a9c8a8df5fb3c32664f0f223ccd8f7bc1ce09dabd2a6c18f5908e72c347711e803c93a7e5570f78190c65b1624d683987b369675bd670b6cb3d714dee7bf857b52acf0135722f7ebac1f68c74226b5296dc5c7bd895587f75e2f4bf8a5afee2ff464e6f47c236352a93944871c6b11ca5fb52d0b973f5b7e1a6077b6d8d3038565320d3628c626faf00525b51984a4f41761eb97938ebb00d0c2fb9899b7d6579028da48f3c522da2ceb05274a5cededfcae69abb9069e7a1282c951a6ad68345ad57cb1126996f3fc53f14b0e369dc1a94da7c955e33a32a0f945b4599ee34f8d5f78f870ffe068936af234a2888b6a0bd73814b48866bdc6b104bfe061d3cce61367c98d971a2718a218b1736e5af8dfc7c6afb87d964193898b132f3a8484d6351b09f4141e0a156ad278ff870ef8b85fef0645969d58e1b3c176683f852b8825d7374a9785c892802413228396d581f2d90bea042bd479999ad84a1945ef0bcba345c158389af1d9a61b6aa24216bc23c207d76218d4da731e4224f9fc40fb3cde2f02dfcd357f6d23b1f5b2a3c4eb6d7709d6bb9d26f09e6127ea6d50c8bc4f5b253d606d817666f3c5bf547c2cd29cacd702f7c911a28d7338bcfc89e97ca7d0e10ca3d90f1b13768c873ea0ba81b022007ecdb9db6a6a5d5846c3e900988ed0473ed5a99a24812d2d46987d951614d81365ee796bd386bcde3e18745b734ef7377b04c1942267bf3a1101d6a3ec22f9512ccd1e1f8fce79138350ff140cefc7413d5e51e4a95e762423b4918672751dde15697d2367711bfe352cb6a07072133098b069a229194f066b7d296c6dff88cc9bb9961ac1711140d4a8a0302e424fd8980881997657c97a3d742d56378f9f73ce9b1849d5ac581b256bdee4ad84e03e04bc77bc5ac4f01564f1b38f272bafed424f99ccf79ab68bd2da989e5e6224b728d24b3aef0ee7ce8c4856a24a91df7ba1c4e149eefdf5f16ebb47f361a351a508d6c8f0da4fafdcb369a309331aa91ca2207a2634cc574272dbf7974c0871d8b1f63df63c801467ad302775729085bf2b482637f4a856d903cd690221e3d74b59a489e330f65acb98467d760314c62910a204963701608cec204de3bd11dc3a1c66103d6354c4304ed2e272964d24447464f268631135219f565b8e258298802635e246e282450a1ca0f99cd22d576566c23e30f524ed5f807860aca5e4a8eacae2f0296a837f01ba7f6387d4a2d7d8fc70916e0128f44c241a852ef337f730383f3c87b2be4485e3ec04f31e4b72109f49c4448295bdceacbcbd82bc4583f2c2d6f13bfc9de36ff76572523ddd11b0ef8c027eeb630cf76cd4b429026102b6781f5602dd84e947525e6dda64b7661c1f5517068937396c0693829551735d5ae61e098879e83eac0460c69ce69089600a775c88c55f80ea688498f81d698f05bede4335b797b5d73a1808b5cf826a3ed59830aeb189d8c778cf8d04b9ec74080129c3481683733f7a50846036621f7203c1db68fda6eeb173ff45c75c7bcd7e9ef1acb0ef8a0bebb84f1bf55aac234963b495a325f571bdc6516a7788b4922b58875c8cba03d62aec3309ddac382474e32ba81de82c94c4cdd20738f8f973b8306b8e5fe016202b23077b8abc53a063ac68931be551df642db95a6eb57a8c94930b15a7b512e914ca88c39ad1c695dd0801c0110a93a3008a44872d41edefde6048e344ece5111fc3316a3e2fb5cceddbd23d274daecf9b0069ca3b0cfa390399d077ed4a7189676af1863817659feffd81f067a4cabb45034427173e82cabeb57ff8862f3762b37cd4c8433c3327ab10504d38950cb94857630a05801381d7cc4921df419c8b918d8abd9cafc0ffa9917ec621f900488de2b320b67861791fc44110c81512501b2e476606a59ea325405ba8e7909e0b8c9a1051f7e789d955d86244e5feb492eb1824e0ffcb2f7bb78b989318fbc28999b22c2137830b974ed48400aa714ace49104e3e367bc9a8a2d0ee04f7d18dae7664c1d9e31ada74832bdff67628168bb03836cd803cd274c20afd7c8d8275755355d1aadea832e829ac451df0b4aa230ec78cff9418751043de879eccf0ce98cd2979f8b318996dc2747bce21e395c3c7c00dd2a869314e8111238fa3b827118bb4f9a6b87c5e52863a853973d62a877ec606d0dab7a14aba09b7730c1b49de1e1ba3508b30df6a420332d026071ab2562d0c877a7e571f8b2125923c2f0185f275d8e72053a4062e49dc8390986e5a73fd0c53ac71b5d34c18c5aac711bb3eedd3c1c5e910f0729b0eb3747e32ab148df49e5d66f3516c4491acbe2098aff82633008ede97c4f019261d2ac1a917ebe458896c55f158fb76a64efb563567ff6ed209c995a8a778743d316bae4a3a09f95c8d191422851c24b183e84c3b3a68fdd0d1f5df0ee673f46cc1190cf6c14512f6f54863e90da389194e209840ba31917283fa90d20c4bfd4aa3ec3b709405591a101d0b7fac600d60b505e5c3577af8af8433a0dc5e22245b8fb4831e2c5f209030dcae1dabc103a3f6a4784f5ad00021d390dca94888be7c0e5f388444ea272c399186768c29f3bdb22ea5e477ba75139fff2c52bdc90f2b56298ac85054ed8a48940f68a9c8bc28aa76b63be58c4fc5cdc85811e462b0033e9329efa0168c8966434247b0b930fde58a24897ac2a0e801857b0c7997575e12ecc2bbb00b4fda73fa764f040cd420901029a376b86f898782428b968e20430bf0f8fc0901cfa74fd63830edbf70b6e3c121491eda20d0c2c45e558bb174178a5e3d31f7c3dc3301820600c435132078804509952654cdc9db693d5227a5faa6948ec7f4963cd08e4fce567b0cced054f416d76bd02aa1dd669d5618957e202c0d88a160464533bad5d6a2a513de3aa9a22c38ed7f14aae234c6f3cdc6f1189a835097d08132224522a7436d622c2ed8243c42e2cb7c0de67966a9c9cb35e17f797ed0682edc35efa0ca270714eb9738dbcc0ac0614e403c2660da0718d10d40684fc0bc13f06bebc2d9a687ece290125365f2a5dd0c341930b9cb1477fcccfe50bcca9a1c04fd1801be286586f094f01e10057637a8e3aa7bd7cb543541e0c127ed3850a95bd4a1f376bb842ad77632139a6a407a22a4a94ed98852c4e8c57efb2d1c5550b038741229a564ed29ca88baa2481c8e11dab384c85455846ecdf42874edcb039a5f1824ce45143a4f4cac6db215220e3438822474a45ecc20c7ae8fb815d679dc59eee51a91e60be71b1127b98548629bc79586994fa06eca02171891b7035501e2a47a761546d6a1856653d6db1d67346d2bb734222bd3d632a4d11991b6953b8d60cfcab5a0e060c6ea7c5d05169e9e06bc05fc55ac7f2e3bf3043d95478cc2375409b26514b57e5dbe673453ccf1898db5f4fce82cdf4c8e84a5c860e9f1004a6541a384d667572a13f0e7b95181acb5c27c20ae3eb9ccf930bd2ce9d91a9a4c76c89f5a241a4846283e88a7d1691f361f633b1b9906a7be6b8991972ab6f91a46c57a0c23baff57a16e7bfa0060687145166605ef4122f776e722ca58307c770e6ea6675f91f66d290ffbcca50cea744f7963a7a268cc9e51e7d22776c445f56120e9d082c5af4650e175ab72baa1e597e29683d00173fd74c6ff4e5e3e0746eed02e61eeba327f311b1b8200be0ab99b457c3db85379730dfd5dc7c983ec1abc4d0b335d46d050138f206ee9b06f691825db075bce073fce3e5812c09f18c7fef5c1b240ed003dd9e80f2e877c3209c9fa60a74cb55b9fd7a269b8cd66ff504aa42447b28f69f61f4d31464492003f76ae5bbbec53cba7516168a17a36b7c2fbc24194b955d19ff5494c41040ffbb9aa89a91b0d80a37388649612184e8f03ab7f2a7e97b70034f87edb8ab507fa4f2584ebfb9b682925f194ef77dfb031f22b7849b4bd1d4f2c4473cb2b79b942b68d8e03f6650bf76128161c914383a4198a0b0cfa296e4b5f7eb5a2a87748d6086eb2c0a1a7a1683e36006dd786bab895748f5d1f6ecaae45d4480c3c4ad34279bdfb079fd816079b8c2e2f7b3e9ebac773b5b8f9ca7462e93ac52b1ea48266fdd5411ab870192bb0be37895b91d2e2419e2c2263f180f1c73b7bada83d9596ee598bdfe0cc4eb0b6fca62b010c5f4b3ea679c266f2025f513ed1605fb39f16b0e8f2a165cb0d5ad6cc7e206cce5739ee9f53663bcb289887655eeaa6e1a7e884bbc5a78d319feb8651b422d538da2a58b80c8ea3027d200c1b0ae383f1008f27ce17b98bf2fab2017e1a8ede7921394056d8389a18424e6b1bb883709e22fea711d939bae6471f7ddddd41ad007186025b209d688914b5a1809f8e2e5e32e154d0222692b59f898bcec5edfe2a9d71482ed3cb4d2f3940310c921bd34d373d96dc4157e659c89eaf9ed0c1fff5155c9afaeebddebaf5c1bafdda459fbdb70ea0cd04d1c7a76121699e74301ff0bd9417c32aa5a49320867f8681ef05b59f09d8545c1bb564f48c60aac2f0b24d2d6c1984a487a7dc522604eada91f8220ac2db4a3b48c56d1b57409ee4f0b4f7fde301d5b372d296665a1a82b99582865942030abdb621492fb1ac96dfb69c1c00697d215d054863d04676b722040d0efc3ff2bcfa55f00af7beda980e2f6361996db39e86a17cf96af64a6543a43d4c6f5679bbfc41cb24e054d10dca6592c1c77c62d2251d644469db12073c1c16c572c3b7e9e0eeb386ea29229a121ab6a452d45806c950aa481103ee5b3d2726c32e7da17a803ae582051fa764f39f187dbee5ea5cc5a10a30d4bd572f29827335ef6f02450e9fb679913c2aa49852a21ed82eede1f97e010dcfb7044bebc489aae706e9fab062274cbc48dcecc4c88769258be79bb18bae5a30769d84b9e6230a0ba119dbd7d5b70f14044984ca4265a7f8d91b87e293b5b959a736ebfbe02aad352adfeb5898b56b8fcc15033b506961252a7f74fa4c3476cf1719bc579019947459b715270ed766c30c2556a3309df1ecadc0637998e52fd8c1d8676714e950202743dd96bbf48ee2292afc530fa59c316dd2e40071af7a5fd9b5e154e028cc9c823ecbd92adc11821a374b2b07e42a11e03a0001b69f3e5018b4f97c6b37352e5b9f6c2557d6f52c16605db2c82c28c3fada62bb6ae36bff0585f8650652693cb3a736e9f2c13281b3ea68dd6703446933229a9a579826c432802ca4f48ec39c744d6d41c034b33b4b4d6101c14429f221c116b4d281af3cb781dbcea2194f8dcdbcc47f0590479d4342a109702e666ad249105a36e0e65b515304890ac74268b1ae7904cd7a18a358e76e0bdc9646a6b48391fe3fbad85793ad3de58738a656b3a4aef527d5f9769c80eb165c668f8f031d89331bbf55acfaa933bc01c69a35a13a537e8dc20b19107d1695f73368daa3e84541a947517aa948f568145e1a346d8eaad713963a15a51753a43a350a2f8d8a4647d15b41a95151c2b4e9204fef3259170aae77e9b44fc572dde4b6ccebc45028f66b5f4ccaa3f5454cdcb1ad40d293d03ab30ed1f9bba2776d3f64c3eb07707916d0f64b2e5b18b956affb63e54ef559ea26d141f992f8a82a02ce6ad2e3b642f3fc551b4a9a0d12dd918875cda15c489b3e97d25b52eba9994e044736eeb054cbe07c96b255a4d388da6d28463144aa857e5c86e954a10dc1bf95d8b4e74318ba96cda255eed3b5530d0d4bbd3b9b378b0b6cb488d8736bc494565ac3a694884c63d25fa49335256883a4f5d7f97e09b384448f941d4f1f91b04fb53368e30ad856aceda395ab3e6aff542fc7c532bdd8d1ad3546772aa687b2afcfcc274f36976b11492beb4f296aab2ef824f70b548162211d2fb4ac4483cdb0b4f84863f7e777b66985c82babf47a7434983891803e1cebf97cc49ad5c9527303a523acd9cf8f19716b71f8e4527bfce3f7a868dc999df7a00d634a2104ca12c7ee7d274c8c259e8f963fa76f9d1b9d1182e508976129f736baae8f41dd0d7a1504de3262a58d6dc211a936871feb3447a29b035048fc189d2bad0d4b18b1f63159735f34a173d39526ed633f005d62381516ec681ac2a930fd84e805806459c8efd800d955ffea05c86238fd270115e2148226ae94faf998ecd13a8726e995a37dc10d1beb86d5556a14d431998c6d10118405275b7e734acc88e71e146c1ba9869eafdc03ee28a3661aace737cda3c13a8b1e75850cf65329b99279b285257735db8e842ef9096885520ec2c00f56d052da9882199febcc66f693660fa8ee29b2552d00d56e41b179d420f09b6b034e06adfec32e14d79c9671a17db954dc41708e9da0f646094ee085aa450663112653a06ffae000ceac8de15506a81a7bb9d7cb4fd746082ccec8f700ddfc77365358ce298c75614fc2e3a7c836af9f116c8bafb547c95f1ab586940be674a7fb7b44cd2bda6c029ad5d03496ec768c041204e0669c535d79d5031b39c42d2e158535be57584a1f8a7fbb51e555ef1fc1920cfdd0ac92a9f75e1088c3a860f015099682af58dbacafb829db166e286c385c424bf9e509c0dc154056d27555de484808badc9511383a28faae6f79ebbb03ac88a9cf50ac67e5be97751f4b0a5addbbfce6a1604065030f28458e0b2259f89d4ea580f6525591e5c5665119dfbd33d03e2f76b456583351c1d2eb4f7f5c3f7e71c012528a158b0ab2b58063e9b796d6ae6a061a3ab830ff53401060971df29050600d2e0a623d40221ba9668515e2a8d5cf8c036c6117a6cd0df6948bdcbd7711154d137b50dbcad9575b727efb02359371ccd9d50282103680b028611836a22f2e92ad0f2257c1353ba2733f8905d50c61718d387383109790d2e72044242c6c44bd2edc46949791270200907545305e1f7da9685c992a80e0428aa04b74451085d6de608f888ae0cace70e2319068f43c8714b33c5ef952bc299940d8e04540fd198ab576e1d5ae146b13041e7bf5abe274f0e57b2502e94a437b533fa786fd6ac8c59bdf245d5a199a28aa29de3415b28378eaa4ef63afb75915b6ef7dcdbefc2cadddbbcdddd3f0a5a964ef3b828b8d00fff6e05ebfa7c631431d8b7a9be413b1484faa88042b93115f3853ca22e4e9bb70ea426709c59ec859b01f2407327429c4188a22420c2da694309e386e975e4944c820987b01dc436c1373f6006d83255acf1d38b1153edfd28b123211359bd315e9148101dd63884e5f1d16b95b921d25bc1560e98f6e8b0f5ed4e5040ce220c41341b2805cb88ded620c02d2801f3022efba6fd9511ba69b4bab1202222a197802a8dd37802232931e7721cc1fdc2fe68935ac0258664f3ecddc1d77614e2def2f8c5d148f14cd916e11f8a3c585bbb0bcafa50c87bb20fc5b475dc8d60d1a9a0a34476a5a3be95637a6a5d92e2c7048563b5fe84ef3082f49a7f378b7231daca4bbe3ce41c3df980f5e8eeeb67a7919c77a110ce993223a14d6e88ff4da2ce3a83180baec4bf045fbdc1e55d71e322fcc6404dbac10f9897fb9e8860245869eab3e025d35f039786719352aa2711d0910304173167397451e0d7eaeb3c7d45dfb0c6c0805c523c263b41e6be908d887c2eab117cac29372c7cd0d4a1217f545b77a1aaf2e43d4e06e5563de54106666db41882a77e2cefaad51684ace723214b273f9f6bd7c0a0ed44c443dc33f260644754229d6e60665c0eb627ff1a50fb2e449c408fbafb079901aafb4ad168ffce48451096a81f61e8005d6f739264601f3ef00a191dde035c4cc27643ac02df3e3ea15a669603e3820da3ba0d4588e42381429fbb9508df5b33e0517ed75f594b91c3e40693b19e0259952de5914f1c8e34826c09f7fb4c5b0f25623f77f4439586ed80ac3f9e0d253d3af177636bfd390f3edad6785290606c4bd3b06b02bcc6d4428890f8521f66aac519607056ec3c0dc391c9c62be53e71f6a0c3193141c947c9b43f319dbc3628db9ecfd69b46ace6097b4238172231a572b4c4c915ccc82ca8bcce5f8e4b9fbd82c10325f2a214e4a8711bcdb66479049b3f3f60f9384b8ff184a9ae912965940d3b870effa2a6896b15348d49475014ecb14e6c2dd79a273d92cca9a7d9d89ec7e963564a5877a3e32f3296b173460cd1ca43f8f727a30eee6fbd9f77658f352e3ad23a0fbbf711e8abd1da04c15eb10ca000e0b61e96b2c87b5f87d3145c9d66d655964330c643d105486b356c8df7c4eb4ec3911742c54f6154b2d95c8a51c2bf0f0e7064bf63f4613e0e6879818f75561e058baac9e28cb1df52d3f1559d09f927ae07ffb7d5741d3b0d732e75f9930cc89b2be9a08426b1b2b51f9244d3e01ce85a32fe2b544ac90e274ad36d94231ebcf5030404a0586b708050dee233adc76289c3b338e0c6aa342625b1ce0af1a72cf8df3dfa76fe921113a276575725a4b3a09f779a2d1291c436e3e68d35271843f6a1d6375d9b8894d57676d0cb38d3eb19fae5b2957be928f97bda3e8cda56a2fe1c17994d16ca5b7aee3866a0caf01820302fb9f9f379a348e620ef08b555b8384d1dfa185cdd757dc93dd33b3607da6e68a18937bf68755eb8e9a355e38c68633f1a3666aede872059630cc2f60148e52f0688ee3dc38b4660841d2b59598b92b92f51c8a7286a370afe9bf309ce424b0eef1a4b6de399908612bfd76dcf09ce42c7c18bf647559958f62b3c2afbb63025bd1f37584c55ad88cc3d14d14479edc5188b21b02b904956cc8d90a1573a895667743d310a55af0a63106a8496d78fcc7380a9d290909b146310e4d3160f8d371b36ee25705a7cb978de9b2405a070ac5e943e1f9ee3a39d293dbe7e832348090e676813b235c7fbaf292c6969b3807b47df6c499c540e742336d66d4a9935f9d580493da19f3df05231f06514ab71e9a35795b2c0b131a3dac6c06cbf20a23cf1933799719a9da649218100ace64f92d0f3ae3502b498298137d122faa8709a1ac517ddb97d0b39cd9361aa174445a3cb2375e8f274e1453a82eddee3b7f8491b026b566b0914d218c420e612278506ab780bd8249b5305aa2795bb5cb4803953e6cd1abe23d436a511f4ab96ea5a4292ec8aebd08529f107f2c6e129cf1857fa0f2a5151566cc375d464ef409024b66d576377e9844951d8929c12937cae0cb1c9009d1e27c505d23b69ade0a50d74de0d08ec01dc588950120807b9ca21e45e6b43b7241866deb05296a2e10b15b4528859e1d1221418ced6ba60e70724f34027f0a5a75c82dabb487c53fbc8ea4519a9d2f619f0699c85f969a8d3e6385a30a89162af9c57b1fa0ed36c912e76a76db58c62633db5a721967cd8810a1999c47e6d71b81215c40c0e16ffba44a31a93ae8b2b2bd19015b47ea235d7493e40108384f3ebe7c1fe4dea5310553072bcfd23155fdf372c7b77e75ce2c4ff19f6ed5ab77bc22dc4d701f38099b95ac09efdc52e9da2619d4439d1acdc70a5d796486ba4e847e1db7f317f54537f1208f8227ea6674df191ca66d30ee97fe360add3b68c37de92223d32d103cbebe1363563a22d586b047633012106964910d632c248cea4b97553cf403da937d2296e6b4af3f826e7bdb1692fdee2c75d80ee9daaaf97486c74714211f64651523ba11145c152368016ee3e8f2fddeaa9db6541e52073c69c3046dd6fe729964da905f895295032fdbf22c49d670f57ccb6d511a6d25ec0d84b146a79dd89be24cfdb581641d982c227944c70a19bf08e0e9313ff77b03e2120547be0e949d103b76a4b8d95bdb0ce400847e02b09711bb4acc5fee70885634c3951fba03e855dee7dda2d2bd36bc677a9269a9469a3a1136d7184575ff71112a975991f5fc07e62b088d0460da653874ff7428dd06d6ced338237d65cb5369c7a25656a4921edb4f29b265fb596fa81be6ad513790b84dfbdc812c38edd1f3f81a346aff70de1177bfa080bb532a34722c220048bf28db913c722cccff26d56eaf129ecc166623fd0f20c39fc253204aeca0f1d3c7c608ed2eb2d558fbb5ae66f75ae23e6f427b6754d9ac03fcd6b009dd08004e1ed5a47ff5f83cf9e73f157916f561c03891d986a56cc4d52e35aaa7424168f9bd8e22e0c4c58d89a4c2ba74a336956a3260f99a73800107f5ca75e64a9109b266baedecb00c373a4b45c467f93202d194b75752a254cb6ccffcb40ae916dba01c912ddfb38ce46ab7fe9208deb0126f63cfcad222a6a7a44be1bc89f244fde01ea88018e43175b8b23c0691f552f6aaf211061b0a7cf2dda18d69261725c096e9c8db54ab0adf187b84541653027ac66dc1e2cd96c830f41b9b86e5828b7738fed353dc74cab21a9d8c130b6d3bf3ab8a613cb66061e5f73b3cda9c79806ea92258aa7602a98d21f8baa8cb2878183fd306ee7699086b0686147cccb8af66540a156154fc7e64bd5605881ec5be3bacd39965d314225715580810720f8d975ba8d55f49658eb25d8bd044fa426907247035237ad8cc70df2afc435eaa431a3244b1724ddc3fb227ce09ebe3f24a2a8a1374b42c88c8c49357c1276f9984b86ee5d98656721cbf672590abefb159d322854a756ff95595f6674e900f30ee012acc18b3d0976ba4588466c6f037ad5f4a4565fd5c817a8288be8f9359c8772d10b729ae7f4e6b268f16e3f3b9ea4685b3bfb9837824f528cd4885bca656b5ead08bc181ef37f46118f0b2452a9d7b874bd27786e0c7568debc0431b6348d9b761a1a58df0fa7f9a3a104b62c7ee40a233247d39dff3babdf2d632857b7f9b4d984b53d14b92c87111e1d8636b420f0a459155452c9f1792c4aac202747578c3bab6ed49bd25c85ec28144dd4ae24020bb5cd7c246fed589474483e6e8a7188446404b2d16208004add50f2f0e5c995584e8915f4664b867ad25de8e3fb82eabf8d31726fd8fb25460a8c660259cb300241a34f726e3c652d19eefcdd858dfad0730b0a61caa5f1cd9eaf6a57a40a148a40bcf108511b5e1ede583ded4313ddf18e2392fcc309ae2319aa865344e5651255382259883cd11c12e2366f19402b1fc1139200b9431acb2805f688e2a3e1833fe9a08af99dbd8a90eaecdc5ec1c44cf4040083f0271abd38490cb08b65517c5b3bcb5acade93c43a92122de2e61fecd0f1eaca66979e2df804bb373098a469cb20fc8b9604914434e13c0aab37bd72867025ba3cf50a961e47f6998977b8c795b5e37a1257db9a611230b17a2a4b5d2e21becca11a272813904247670e6fad5327a34827790da9dfff6b1b5c51a3cc16bdc2ce630e0f324fe542964678e4660cac27200505c3ae309e3a429340819f1207cf0a83b1dc62da3f957bee2acf4f4e8ae41bb54526dea039ddd34f6c333b1d5f19317216912e06dd6a6af6841c7e2bc4c689a457d5464a95f1b36afa94ea295272afdde0e6a93fa7a8a02402193cdbf138517d5491e72142f9a27929dffc6079334f358a665c0d12e8ce12641df51686b14647d897a08f3278e8fa77c5d696211468a2164c26107168b532189e59a9715421b7938ff4bcdc9dc1ca0bf50f911a1ac0ce5fc07e3508689725db3bde639e180d5be9008521d271126a2f8c4fcbb56c692038e0cc4cd0ffc1232cb6a9a94bc42194b3f6a03d72c79bb0f907a6efdc797501c2ff3fc2fe19d888bb90f0e4784654e7187e449ff4bebd3bc326b715725b4a3c932a1eece710f379dc495ed4dd337600fcf72608072fb680106d00671a21437a009c0e0df6cfb110492976e4de246e3ac6b19825956c2edc9ba0d1af9d5656fb9fa66a583c74569d023415de458ba662ce48f90601fc6664bbe5c7e5bf0bc1cb727e2ef035d1d1fa42a682680efdd59be9a13811155bf6d48e96c945353328b6b04adc7295b65b49c23204799d5e71e28e2b8f408964e47909f9d23c84a8c3e65f9ea5cc8aeba3bbcf9f4f39155803ba0c78a03f36d902fe4f4b4efebd6f6541a9d7ad48bd5b2f57b368f244f31c642e41005d73df87948fa992da1a7103e09fd0e41141940c8a8bc41aec5e23fa7bd6c386d92991d6cb3c7ccf4a1d0618db21423a1dccb7cbc0e1f298f19f13d61b583f6d1fc7f943884ee3d815ece7986ca7e6dda36e9a1e0f53419b516301216ceec72aef23e3d8ba386454294abcbec5c18b6b30c10a43de710f91450cd95f3830e358bd1ed7af1fceff6ca0593574bb0318d1576551fc4bcb843b6c61cc0a2bff12dfc1de30a347ccfd4d857243177dd5b82555f4ba399ef199b10a30cd457a6c16ed8db601883de15108c4c3881eb233fca413b6b4363d22d0839867036b4f7f9995bbba34f5ce1bc66cba4f5aec5d3c41b8e7b6613371943e03154d07867ab30286439b12b6651eff676a0750094b57fd9ed5c531a9f8415874258f42b2d1b8617c82b0dbb2e161c5ea886141b5ed84bd3c0f0c216b4bff2c20be4ec80bcc26d75191486a3ef18e7396a7bad3312cc2ec6469f09aa4e425abc515d569751ff87286823daa8009f486878e63800961569a8f3431ec9124b0de5b775c205d969300a9309eb7f31cff025320c642a9c683e547214f6417e4f6fe869a9d38c8cca72bd83bdad1bbfabd4b9755f5842ac4a38063cf83451b0a4cf143b57919f3f9caea636cbc4cf29026dce565cb7289d69ea44dfac393f9ab938f713666cca7c9a236d4b803e686876872bd82eaf44c83d3bb1d212c3aff0e6dd0d10ff4c3e076b18088a035334008ea1036d6fbac66cb1110898cf37c1aaa083ef3fd062c597c059371bd2c8ba57bc7a34e0c101a1de32b205b8cd1be94604dc1851ab0076948ed882e6ffdcf594030d48706d92647616031df3be01953a03d2445beb0a14a468396305ccf69b1798d85a538d31c806f7da7a5738d4057cd9639e3fb605739b38a675a25e96f4a1a67f233a9f423fa2970d968952efb9f33426a191e8479c571b517621b16b33e69a277b15d0dbee81800fc207fde78d01657a31109057f19e26768a938468b42099b05af7cced3ac86ec1c9ead18564dafba719f5e21cabc37b7007018c72e4be82dc9805170b65d5c7ffa19d52fafc01634382d228c4e661c59f48597302259b6924845d53580752a108c03f1e22551a34fbcfcca652ce61245af6bf2ffccea93d39da9576a6cce996ae31eeef9503bf470f7bd6622d471e2e46ffc3953cf94d95fdc439d6d46d6fd885c13561e1a13d7fe81c1569e5988178862bf7aa5a06f4f05e5394e26395eec68021602812a8cd0855e5e79184ec252cb257470f20e370a4e88183bbfaf72bb48711d15bc456083bffad5588abfe8bdc21c8b27661006a70e2002b607abecac274e11de26ed6a38126b89341cd28fe1c7bcecf39b51d592ee241112632e749e14609975b2e51feb1fe424a2e65c89ce98c2249117defb5832a510e1cbef460bfd668929ccf76a51b9ad699cedd69e11714e0e512bcd0cc0f21083a7dbe1ee8e30cd6faabf24534380946708bfcdb7e5ca7ef4b0099678b0f5910558c8a28e72d3411e30f49665891c1fcf541415821486bbe7786984f1dd39fef109c6839b2cad668a9bf018dfe4e9af06ac1e8cd0619dbe80febe951f39861b75bc7192f2e1a15afdb1ecba89e9f8aedcbd69e6199933e590dc7acc8593ef7c044e13eebebdb87ce9a48c8878e21360b6bde3d4a1d18c947d37538836d0a7c2d4589a66f96884310aa91c5bf46078f0fd18a6456e9108443750822a4cb30be8d0601c04e93f6528fa070341aceba89134b34f815a46777c4894d7b2afaab050efb16510ec4c86c3490a0edadb0eb43c3a16fe97deb824f37deef4e45945f6e061a8b2e64061ec44a856d19a6258602630bfc3611fc2ebd59d567c970aa122ff3265e00b5c7cc95bbe51776a45d7030d4b932453f0728efc30e2501ead47ddccb83443bbcee22a131eed307fdd190180da271591c0f6f5b57fae9b5f8cd67fa8c1314e80eef866f432669904d00b912ec5f6a25ffa42ebe0bc20f61d3371193019d830d94c0438d2d68e7155411ef40162041ac488c1440ae20f9d1c618fd8b027a883da2e405151fb7ace04f99036a2f898a85b75af9121ce31f7e39b536339af220d10abacb18fd103ca2a485aabe2e59c1bf12d02f411ba5566cf1a3ce28fa9905f4093a50960592f591da6ea129e58fa4699853a5d737c3aab8b93df2ef927afee313988a74e5b458e50a9b1eed5efcce1d942b5ce5da48e0fd44517bfc7a0e92ab17175d0a46ebd69d4951f58aa1067d56c964ae89187406e6f0dc8c5dc21db2c12d57ee8d5dae0ca08018762bba36cd15af8ea0547eb12a2b808568e0fd2a2b6fcd77f47c9077fb403d8fd20530bc957f3235cd8ef510fd7edf224e6fdae12f0ae3cab8e6d66bd93c8d83313e5daeb79e1c91c2cc66fd713d7e675490ba4b639b1152b7f2a59da6bf2db00d435480419c05652f9b2bed75918357133cabcbe632d1ee73647a042e6c3b4f54adc7ec89df5199d9fe359d6d8de5cd73f2f1e5893e50f7e3914bad921fb4a56ec5bafbaf2c57d006e731493f7a50b768e5e8fe490b080f74a42c4568fe235ed2fe86729f815113ec886aecf9f5e95796eddaf566d137745d3d6aeb8d64d4af8fdc0a67f12b61f5ab6f9f4b11e5708fdda4c62ceefdda0e77e1faed339d5090568a9f64058126d0904554caa22bcb7cb00374091a49cd80897b843e4736d6a00b4e646ef4c3df3e8bb281a40cafd160339b7c15354f53c1df5ab16c055fc21fe34f85327df9265f6310328f9e69c5b69150f088f5b41e163f05af9157da42e3acf0a8b9c8dfe4a380e9861cd153d78a62f9e0e40367989fd925c624e67f5a2db9fc0cbb0d3d4cb0cfcfec127312e37f5ad322ef21a0e6e4bb9e81b77a4ebea8f8c131028b43d6258b2851e8ea83596bc20c8322936182778e210c1ee3b352cf1dc83d3efd4130e283cd0ef4d77fe7b2f1007f05cc1c37e59b8183de7d919cbda191a96cf99d51b08ad9d82610814d2a17824d8a417f1ba0eb1e9a19560a1392002e8bbf0a230c7a644504046d60753b000a13267f9813b9fbf9150ff9e3b9e3d25aae45d3e8dd59eeee00ba332fb00cf15b96fbf90192241f34aca6f6e30af59eb2aad2fe235d1977452b3fd2bfa8199cdbe89e029abf9a4b5d248bc0917b08d2e72fd363dc9e5fe397f98bd3a4597fb551893bc6fe9b4bd80eaf51e0c9ab574b92d909925f1f22ea56bf3e548d9e484cf12d68be0077de5324253240e87f7c5e236593e935f67b0bd59e379387acb09108010be7d16d101a73f2c5588f7bbdc40db249e57683ebf2f6276030a7476808492de2f2e185166d12f5c7aa74d540b7b090ef1d20af1cd555eae13bd5ccd9d60d5f4bb3120b8d7b21ae4911dac3026aaa1fe87c2c9cd0bf3f6cb445383e6316aab71f92ef121b42e011bbc9143f8cbb602d4495419d85df3f6d34d07c98e38979843b7f8edceb2699a332bca6acd7e6eb6128ad8094791fbb98541e633f209eb7a4d79e5be878309c73aaae63972c3e83a9ac92307fe2acece14a63a5946bf79ca9f098d0c50d89ea9976f339b9cf0e306617f0b31e2c862bbf20b939da3aee22c54e9a6d9a98eb9ee498e2fc6b514e5644d9d0a6b19bbe7dc922ae767cc4322f5f8143477608d11228b85c2ae4c6737e9a726ec17ca8cfdedf485f0e92429240ba04f71faf6978d078762eb42965d9df086a6bc5074e35c319d2aeaff93e961ff021a6b4b317195c09c51cc512305b410716236956f1cd01b32d23b3176588441fe3f3b670a51045dfbbe8ffcb84b167c5ca6a2b032816b2f49c7aa254f5af1ffcaa3f842fcd06c0f734fced529a6aa46a5d57d740a02b1ad055c0cf6a61e05ed1231d3769c602f33a7dfaca6e411c947faad522f0051215ddbdf5096a46caf7d74ec20ec18b19640155599a8ba6f705eb5f675d19596a0bad7d1fda95d5aabfc51eb92bd5821a9c70958bfc7a20b952f668299e67c20581fd3ab5153324976664281c16f14dc1cfe694096e107a39af72a33dff159298847b167471ff303650b790f0cd27fcb8aa85bdf63aec2c5a2af6bdb8b8c42b29c9c22019d57cf28f7afbe7c7533ba4ba4f14b10ee5ab4b6538faa8ada1146a9e8804281f1b1b9e36811290495d29578c15a10426362b44160b024a73b9c19b74c162f4ccc6c02593ee8566c7fa81664f1e6bd699684b70ca457544c628698d2558daf0477107fa3f486e7ceeffbae9b8c883f030dfa86102bc11f5597479c9095c34016a9ae81e4d50e4513a48162659a9c423b7236661ccb9610d398345061bb848990f7dd083c1548263631d888bc0ad0200120800b4566aefdad49ea19f4fc1db4750b6393e50b1f64b42f6de5b4a29534a29c9cc01e401e901fcdb547dcbf83fd3166d19fffd1543d1d6bdbafb73f7e739dd9c1bb771dbcecf5ea766f51f74159973ceb96f9da574091972ecc9d07b15c2fd181d4d7c76e73693e3254477a6e8866ab578320a21b48082ce389aad34949472ceeee4843b6e701c0f07a1e4bcdad4c0cee067e1503ec32c311ca640c80c19ae98ff1d0d8410fe0f29324df186195e26c1b22860bb65775cae0d3f30ca18238d118eee6b8c31c618638c6b003929ed30d5f5eada46b594b3dc49431dd29d37885426b4506b6827a9f77a9b7272cea054285579e85197545d4c2e23cfd77034beeda0b1cc95aff4a8318886d8eeedfe22945249c395f563d7ddbb06356d6f549aecc8e2f826c5711de59847759bee3a546a7df46001e1c1558a33932451ddd4d4b8e1d4501645fd77134a5ffdbbbafcab380aa1025481849577fbcab9fc782be14e6c0620262fb8af73eb3dd87b0e6322f6f314c74e1c5774749e25372e22a5b7a2fb4a2ed010cffee8b854946993abc8c718478822b88451c6ee8ca0fa556a72159774ce6fcb0e21c39c56105caf52696acb5034c57527655d16b76d311f22d8a63149eab6c3c905d989f2a4c003db40e92b7711c6efd4d8a7a3482906e56883ee6916ab95b4049abb1351e02f43e8de2d650c314a39679669dab6711c0a954a515a5363637373a352f1e0d1a3870f1f5d8783f3e3071020393941820811d243d244800482071c6880019e230b2860e4b593800b81030c2852000103b4880810800e00ac551d2224480e901f389d8f1e3c543736353485e2362d9b32c2f7e6f5b249ebcdd5e531caaca5426bf740b90b49bbda72391925ff82c6a41c0df151638c31c6168410429794524a29e59b73ce39e71ca2414ebbc43b2ae28332569665599665d9ffffff7fd5344dd3344d935babfb91dbb66daccf64d460337d45c3af3296850a6301f6ff1f63a5c3879d4cf03e3e3f427e50517c524e51baa7273e1999283c4a4e2af36a9998c985a62026a126a54543a538754e6ad0cf96a01074704152f769e6541abb51cedd99c1ba71caa8a3936d57c9a15acba6d672f17cc60d83b7a41dc72a2584538b5bdd5aeb96cc457325a82d937081f8bb0199dab52acf3b6a2a1d6447d2c5b004fbfa5f37e8e33665a557b9c2f57fa38c733716458e695c84970d7207e910c639d731b0c061f188cc58be33470e59b29d27fa8e64938ca4a196b36dbf4d5a8c11080728ae3dddbeb5e045f41dca4e1b528a4ee8ba53c7eb077b41a19bb5609d9da4be6fa3aa0e3aab47c983d9ccfe0544df8b86f9de8bdddd339bd53d9bdd1c1fac701fbf97ed33b9afbb3ff30b7365edc8adfeb9973fffff637dc28a96981929c25c9920f640a2e85cdc8e5176fbdc75f7eafb15fc12189317e2af9ac4a86db3a636265a366313a740822042fcb584ef76a113f6c3310a8c26b018fd1c0942a88a964b25957844f8e00a1a274caca5ab5bdd8e2131f404dd78d03a34395ddc744131a173040e45cc1859426584152461fcf87253840535652be2870ed419306ec26c51e004f1830819809c4975437401fbf10a83a61ecefb7a4437d7db7d1da45685c2cbcc6749a5fa281382e368dd1a97998c33b5a5600fbda93535372b1bee9446534ab63aa554a968366b771c3b10103e65180dc57c384344141b328afd0087981810535e4afc2abe46e4897c25422404237f8710bafbbbbbbbfbacf25efffbfbdfab77bf6fed86f51d7ef76e3fa1edf2f66c93edf6d8cc4c6085026595eefe5be623ac90dd572aef9815a11d330a9047d001fcebea2b84ffeeddccbbcdcae07d05587b58e036b62c69d9e64e527b7b765f10f5813d6d6b57b075afe8c70a3c24efe4cb58484cd4ef4504f54ef545873d2269af739623f3bc08293d71a22d4a07e6aa44e9d41cbea9f17e06ec32a294a82ce6e625a3b26589ba142d7744454843c91697a76c0aea69966a32298e6c9644a2d80eee057d8ae97085ebacc1d9948b5257d7dd6d2b3de4155916d2dedb65ee76ff87302f327c587a1171613446f216b19452c61aa57ceffd43f812436effb0e387fccf0cdf21f4d81526e81e1bf30363a3cdd8788d111ba3c430078c1c69baf088ee57172318784c8b2477801a713de0ecdbc5e5fa6eed1df3627a2d79a4b2100cd16edbccec3008bf979999bff256dfbabbcc90e33e33f3f33ba884c2e841af0fbb04870c83fe1a3ac9948e50b1bbbb7b37a9c4e3809c0f962b97e4e334e9102a79495b9c50da86dafa006e41ae60c5c6c22c497f29bdf62907ddbdc01fd2d333039d890e5b7e6591e2d51ed17fe81efbd968484ea3c91165d990b68501dae41387c019d452ca05468ccd56f3c282de88d9f964fcd7cf1f7f30fb0aff39a5bf6bdbcb8a95ffa282665f76b76ae001d2469fb7a4a54a0d60ca2c21810b1314560e3f485826887165ea95441fe43218f29658b01dc9083627717e86755f8b113e9c2a744db202e4ac496f53f102f3427a99017a7d695633e92a1beeee56979f7b79a18f0df021aed10285f9c8cbf6fadef6321175550c4ca9bdf6164f40b8e3e9417877cc0159523c0b4b8b997433151d0575f515b0b62296443f5f294320c1246fdaca5f235dceb52ccbb2254bf7f6fc96b55f2aa1c99f124a295fbee4386d356edbe4ac4089e9245dce38e38c8c92018d6cb8846d9fb7050a54e209869e49e6a3d1204c6428c49080318401c20821848031323034838d029e88566e1b8b0639a7b78978abde7d1eee5573abab97029960c4f8a06075a28f3f6abb5bb380a0fb1661f535af1f978e65831f4b13446f25159ce279eb3a17b327d35b6a3c7e471ca07f3fb5609e4356651f28df84f6923a07543db5b8ec920b7c42c4e1ecd5c4fbb4fe7c421ed525afab4b08bc909673ce47d743a9b573ea36c2f8b8004062b5a33fe5b2a8f9fb145418c59fc04ee922ea53aacf4782b078d4556509be0f0f40545daee245da34c0891588dfcf90a8c45831a85b2d0de278124a99c271bdc3f66d50dca9ba740dadff853682749b762889a357fbc11a15586855d5a5a1b00f4904e87fb0e0ac2d07a1ed2cfb15efd123890b603d58cf38a76569a30f26f3e975df9985bde8f71ce42a60f0ab7d36fa149e2307f74a24d219b0c2bee79fe893749fe4c13218adfec67e2b6956a365dc5c07ca2fdae5e620ec4863303a1dfba43ccb3217c95c4c7b2f69541f0cb41d277a145cfcd4a41011683da7028055bd973adca4d41d641dff98422dad31496b94b6d3440fc19c2eb4d78fd9d13e3d1f229a52dfd4c888d4842fda287cd1b579de6ad219f74b6313047baba78b78538b952f4a3414563052889c20221a940002f857565670c5313af6216ca2ffb1116d25af51cde195aced786aef1a99a5dc566a9d33d7167dec2c694594b942001ac1e89bbf85363a1ebf85965d70dfdd00f4d92ae92d9a6f8974a2592a5710162ffdccf47285bc0fc433b02d2ea6414dc912d59c60789174962ec3f0a1a68a34d1645fee01775d5364ea4d968c4d58830edb3ac2474ee89a22beacb1bd4ab0d0c04e5fb8a0d085bd9ca5f4b09e0e69c6990c3f0b04347b0b7c759acded8eb6459c8faadad318aaca7b7a1ae7d4522ff8f57e508112ca40a6b6c71b0fcd37ad1893f22ccc3c63301d2867d8eef8e15b86819e25d3b73580536c69124500d5fc98fc2f6b29927c3dc6ce90ac3dafcecffb61a5cbc8d36129939e7233f8f09e0b72d23e2bd56ddc5fd6bf7abca5201a2ecb4dc4c4ca6438308fcce01ab8dde79d455c631163a20b3ab4826a2e9f116b093c2763c7486dd73045e5bf62bdb83b7df5dca132e2915802a7b0775b26dc09f09334675927db7cb03883797fae5596565dbbe1a3f8b5257fe17a97ac30e7633e68a3d1fbd2a31dee9c9e2b366be7c7b801ec273d14c796e15bc4d4d4a824d17491436f7e84ba8d448bee2e4b08104233135e5eddbea310111b4367f6ae560ec587db525c541846d10ec66cd7505f67b2b0a8e3fe7ed6ee70deabf6358789e2c1eef9f7d2a2cb701c531922d2860190528994e31080873d864be2b4b50bc0371de0225f40832d8570c9c01d4db2db33096cfd973b58a890a43d463de7dcda8f1746935c8d85077648b8f2fb685a40b1462851e598842bafcc3d00217f1ee7d56536c27a8a1b3434dfe06063810684fa5f815012130de548fba95975dd812ab528442c6da32fdd24fc6feaee02f8ca1042ebec823d580c05a4b0e14a1e276a2026f2eef16614f3e1c1d92f20e3df340528308920f5604d7222a4e48eb07e7504abbe7314ad38e26f90226f542537040a769fd02a02652fe48aa2f672dec2a753b2ce134ad40d7c6ccc98a255743c915ffdc4d63845ab4453c7c894c93205b088664dc64b9197f03d1f656bd56973e3a48d144a08aca6e7cd7b504ab9e8fca51de583248816c81ae16bcbe5852866eebcde62fda927a251679978002361c91bb89158f01a5604ec1178664baef194e82922ad378c4be58cceb5b0a03ba62b7167f373d3b4fed405329e61a6c13c1983a7441f77a31e402e47a28516335bbb3d4d9c228e595da97290833ec685e19c131952006d549b3091180aa6ff99129c22469705d784964d3906d7ced022ab13b6d1061972091a9afe178b811b4f93d9d7b7b8a985fb5005a612986e90ff83138fe87b5fd985b132b8cfa2dfff94130a857bdcb328ac6f473808b3f8ff49e7821b4c66d83985725f51be693103c52450c458e7da5ebb1fbb69ee553a639f989f722740c35701ecec2e388c709160897224fdfb7d6ed69c3b57113aec406a585e30471ec26d6e10a4b0dde8244ce0cd06f2a4cda757baff100c213d6a4390f1938a3c146327b545c9737de0d58257a21727f665c3904798d86cb493fa6d8cf1230256b2236da7bccfe103589051a87848595b2e56c182b1ac4e792339326539f921594c27454b45aa8bd19d73e139593aad824c57fe870fb58eb1c76defaf6436392c1f06c2a858ce68987c76c59834752f91f0f9f9f76f51fd658cff13795c98d9d7303e310bd13722463b8d17b9478845dcb4ac0cb92d607d070b3d8bd5bf38d2095269e7e1865357b4a04b21b25074f8f21b4d8be671336c748c0613f946898ef6fd9717792ac62ea8bbea4914d4538b750ef2d27d7929a1946b3505f8281b92ccf46c2d030457800bb8170f007da5f8c0f14f79814e9a065c4fce4e7062f41fdb5026415564e53b2d2e3b905cf108c558cee541bb249d7d6c6423e52340c32b8917e5e05684134024af272ba7caca50ca595ec510b9b8d9c3b113195a48f85dd17ca198d592eea2f4baf278139b6ef16ac78a3503bb3393260458e8910e86663905639a4fccac8d05e37afe1797ad0b594b08305ee9f6465e92c08e751e0dce3c15d1f1d85dae9b5a197062a64dee1c809f7e3ce53c413138e9150e7ea93e9485107f96c3b391a3e5138d1d908d13c2e7bbd80a4713462aa846d80e51b4e8d541503b62673f40f8ea0691de205598e5c05ffd01d85b2a79528535a5ddc6488c95cad3756a93d71948681e2e1e97565a93a60d439fd1633164da70d6c57f2b83623c7707b57379e4f1d0c0e44395e670c886cb25643c9554c0e4d8fb2142f43d55bef930b0da55ce94c2cb5c39ef3e76a6ede37aa6c41dd23713564194ea7bf5071e9b27631596770d8ef8fe17d7999f63e530e8a83d1faf0b226672e61591795c2c9b0788ad4a95748d25725b990ad584c5c6da4231a793941cdcf9ae088e3efa3207f423c181bbfca04097c920e8d9cb49e90c0044762912c6c0aaf3ec1d92fee40f5ba2e1b782458247cdfe7ba9a2db9fa25d4925e1bd3d3844c2d7510c0827888e7ff17cb62f508409f476f9e2b89b88646caf65b800d784ca5115e2411f4c9a8ff6acabb7e79eda731da0cd77c65fcf4a06f1fa9012c95aece974c5a9fcdc7f049af9076dab9d07be18f0d219d2ad42ec8bd748e5999b60dafb3b9de748b94b4869105a15d10416b3ac7b5826bb6d9708bc41e85a67b0241823401c4dbdc92828ffe92eae14367df20a110abc73bede6d280402ced8c19e8ee54811c9564eab889d3ca40a984167e13a8afd2fa370e8982c9d8416af0094bc1925f64d32d2718962557b9530ad06f1af8c979a1d470644740311df9bc0f9dd439a475ac2e6572792280c4696979897a8f046b962676b2cfd78a0b817b0ef315177f403eb0cd0e4a4b9713ef4e543c8eb6bd0883baf2fbc4f61654f1e1627fe986c58f45510492c70152a10e3a38a0fc5cc4a1dc99cb42ee29bc3aa206ef38ac7a5b788a76308dcb3af2cbd5e79321532cbb46f560d842164f113bf124de9655e7d4e542ac8adc56f7d87375280f69c64a70804642a5122dc05ef46419124d6188b485ef24582555c542a32cd3ab0c24e5326bbc2059a7eef23af483a477468f7fc432ce4e0c145b5f38ca755d1c10b9fda524f86ee24a833f611ce67af36d6e5d82c886c35d374f23f31d66ce5ea14a3e6ff948fc0746e3a5910fea0f5c44a25cd848ce022508e00f53d6967100574a8cb979bf540bccaa6d4c19bd44d2809ea4baf6bcb879d860c1727530c47748922670387c5528b230de1ecf88a6ae43186e3eba7d3d8a11f1dae9f4eedf40e6f8a4b37228a165578ad8df960223790b98fae320c0d18810ed9a94517ef9f6b7dbb3d4733e9bf9c0d5ed192d4d4273165102b8f3523c5871fac04c0c87c67fdbae963e17b4b00ea102b3e7d3eec00c91511fb7fcf4a3b088bd73774ff27bd590a80ea77d71b0a10e8b7b5fd0808548122460d89b0ba66642dc1bc01b09e8da0b10f6bc88df57fa043ee9450f44d0590e44f51cdb9fe385891f856a3d7e7c1314b9f5031ab76540d2cbbba14822aa88cfc82104270c9362cba60205b5b1a65a92acdb16fb78201873a5a0d798a4848607d995ee65f1f298ce14b3ab81cc264d3b3546cf397ca9ec7b475e8aac69bab60c941c9d0166959c3b94772ae8dff5fa2af7c9ace02e5fd30d290b1f7ad3affeacfb6600f9c8aa29ae53c565f203ffba9cef229d3649258536d89e9a60c8d4be54f28a773f70a79bb4a342585cc75ff6c547333139c5ca5077e508d52b8a027e44b1d664aaa006f1ff5a77a3f35ea26e1a107be9a14a7a8abbe8a01ab1134b40eaf1ff0839d83cb731b055dfb0c04502cf5b924c6952867b42401a914e75a93abb5d23fa873f9964a7935a71c8930593af1162c93cead7899d263a92b2e418786e85043e522d3884c04f78df58a6cfd311c7a823f9d45bb9d0972ea59e9e00b29dbc1c1646f29a269f06237082dd381fb74a61ed54fe7dabcb64313cae75a29ae58c86d9bc98bd3edb840c9911764ad219213f017c3d20e56cade806d5b66f49749addb1744b70761c235ab666de479b1115cbced83f13e740e4676fa4a6c80cc67fd937b6283d3f1947faa539a6aef69d6343eb6b2a6a034ffc4136ac48770868de76d78b72c23a2a291beb9b04bf718c4945f600efe7a2d460c25889028eaf1df45b374c95385c1fe2f934bd80651332bf827be7634fc5c2d60cf8285f30ea32b1d0b8095eb28d7160b6e6cf3063e8d5b0cdb25f611cdf96bfbec39b00945fa9ecd52ad8662b07e450519f1e082f6f10731604109c1ab309e42e2d88cf1e9a1d44fc0eb09560431fc1b0d2446cbea84ab1781c5026ce6af7b6efa0d03a97a3313ac976206175d4e1f2c6384e7130f587e73cd8bf2979548d45649ecc430f707b3928d07a6141eb1e033501e04c9135bf3cf90eb7aad0f49941e00c5bfbc23c00592c7b79b986c417976ae58cf6215a8c4439310ebf530f6495b264fb005e6307f9ca1bb8a395078e9c61dc805605819fdb3637dd07f2264da3be3b3eec305a4814536d2e5c4e1dc7af94955d805e68e92beb9ba9c8bb06a55e18d71116435a0701ecadd0f6b5188ab3e678956b74dbbba1d173cf9f35293b08000f5d4d387bdf5467e146eaab167afcbcbc6422df4b9b8726c358f520eb94417045e6f4f63afb4341d8a7ffc92e8960f2b7bbb9c7677e0987ba8e6c7797ba9da44238a66cd70b79cb775fd7b583663d2b7ed76ae0250ad0fe014f9aaefc611c833a5b7ad834284b0d7348d86a3cda95d4197421c9e3bc333fe7a9a94370ab4d0931cf637f7156265e7871821899a08f25ab233535e947addc0eb0b220968457e3f1fff0778760073cf22c6d674ab06167036ad0e36408ea03390d89658123a378183dcf23bcbee448d0a7a92df11ee710798f11fb176032b97f92a860d418dca91d97a1ad35e71f48236effc63617f11f9d56fe31dea2bf4464fe9426592ef66012bf91af867a9d1b232ee401f4189ad1274a65c6cd0f42635a57711d575cb4a4cc5f94f19aa8001e63105cc5c1f0ed00efbabdc340672e05194e124dd85faa3806d39e2a9fc8e1f25d76f471915abe97b3873a3204aef7cb86ca05f45ac45685b1743d0f1e33a033b9078b32ab4ca9bd2d1536c1a0affacd9c919b8b3505f0ad0831f3b7970a3de14d893a1b4f0cb4a5f79b17306f74a306df432263767e04f025d21408fe66f83bc76a60ed0e523bfcecc9c99ce5553aefe7dec3899fea2f0b164e1f630ab651c87abf81c28ebab3c481d094ee37a58c52fd0780ee369b9bc8d5adf18967f458d44246ff34015d72520c0617af22b47897c41619a4d597a4603cb8702a6f643811190f8cf4c6497e0838e49186c39a863e1cb5694573a5ddf5e6fa0606282eadb372d718038334308a1c34818041e9907489121ef94602d065cfed9ebe18eaade91ca339fb676a02919515d786d23f4bd26fb40f01d14b500c88ac3f9a735577861e72957cb1528986848a3e77173d708363f6821b5aacf65ef2b11e5ce666f76a3a1933585159093565a5810af91f4efcd758433660ab6368bfb42ee8a28189afc939ec1edf449ced41c47372d9e83f1c80ab130c98659f97d8c326e8504cf542834de4663fe0c72cf8c092eb05944240fcc1618e642672212a1f45063e43e3f648f0fa10f19f36b3887d9b84f159a74fbfaebe68513e9ee0842f3332ab02786b225e322267170ff1a870ee18dac93cbe8909f0c2ffbdf837788032be2cc0d5d7075feeb7c1347fa6395005d909b0a4f37daf673b21b7c6c81eeed123ff2102eaef5ade5dc7b3a604be39a78719e1c2c8a89bd812d832f3190aa497d662aa10e68356b714513c56a159b56080d7f4e9e8dad2f6d878d4d4c3d06e2d88bea36f55a538c20d971a203f0ca885b38fc687f762c8c7f034a324b391d34eb246a023cbaaf1e58c869fd53b2574593bc347cfcdafa038f2b90dba91b26cbedc1b3fec64814d01b4dc80ee0088c41468ccbd12059708b81568025e7c3b3768c471c198d246f7531510cfe68260ad6c8de8c5e9a69251b3c2469e65588b0a79bdb81a4d5ccfa031feb906d62d0186d2a83c6ea9f67d0585e98a4bd4b2fe4625291676cf126c1040b4a5c0afa2ec217df76b88365c959a17621b5498e3b2d0718b3948d80a24531f8a1d4ee31560b3839a13fef8d49c098c82dc5c3be317935ab14a722ad134abe7a126e60b77944f30228009e0d07ff6a8a31e577f180eef2f08786932d808f147b6eebc56f477abb575e2bd03ae24f9c1dfb0015d5e19dcf2a3e060fee0debea60c607ec18131d1663dcac18d379baaeeabc6096052943989846b9d307a20fdcee832abb5f65713b7905b6abf5edafc0a84a7946a2f454b5d984f5089553e5c5c82a10182db9a665231d8c67a91b735114930a01bb2454e782304ac873a5c4e02ab363ad02344899f1be13232acc9db9d7dd0b84f2d2ce2346d16db1cee398427107fde5a1845c191dae3c238c72d14364cf37ef7bd40f1035ac981ebb19b5c1bcc234dc04e9727eb1960d63844d32dc68d51ae4be51bd59753add55e4457f465594927d9b90ba36fdbd4df28530c4f102c325de136b3f4d13d4caa75ea30e0685321a31dd574214673ec11ec98a415e56dd61468cd717817f53159228c4edeb6db13e792951a2405940087959ca500a57808cddf5aeb5d0fb908d86938dd44601cf2efff399bfb30e42d0cd8f81cede4bf1ace20279696d41ef7978ab17f54f5f4dc7ffa8555a278a0f73e1acda7ea7c041c5aab0826809ffbec32ca909c4c8c55e125bd902261dff5dc0bb4e5753277717135ca34e63e02d3fd16161a66757ad5bc91d0a25d89b261233513677f54aa4affb2786c185980ed62b977cad43273d4405bd6af3ab7d583934f3b9ec9469fa318431e1f062a33edebd4d9bacd4407088ecd50def1e742e5a5380b3bb569544080e967d013f47eb224ba0ff48a0b87de2c288233fa1da6f6206b4ccbd9d9176a8773768c2c95d6158888d5e4b12b6f222759da6e8a8d0610651140bb133981654a02d41661fdcb2af195580e2a4362750398829ab44c32c73cb38a456858508b22b8db78c7e8d3b7092aee2c80a0090ac2c70723c9eaedbc1ca62aeabf3700889dd0f358f8f20e6bb001f124f2f1be51a6060d6db2dc6c9e0903de12092f0ca62a6fd085c6673b467f143ce39b41d5d84d4ce1acc766ab7cda38461489442dab74eaaf105627491270f928f643b617611bc42f646826620a23064e9f0305faa745a779694fcb68c2ce55fa6d5484a17d457b97827406047c2fb45e5e9f23e1eaf710ede0fe56142a1f6c40cc47f8cc9a49533bccb7cd06a2d65484081bdcb14c30a892e8d51af299d8951a5d26e8e15367742578bb97f8e7aadd4ca22edc0e10b335a050ef61aa4e1598e890633c51d5c349e5e56b49729e1f01e09de6ab82179db519fe8f4129833f2e14a0c5017a02e2c2c600e4690f982a86ca5f7e2b2cfeb1053dd80ffd54d657ff4b8e01f32979ec98bd94888d1b9289d559167ec6f8bfe05635ca2edc194efd4089ed3200a562346a2ac5b371262e2020673597cc844bc1fc522524f3e70a0d18a611f36f7f559c178f9b8c22a94fee435941f06c6b939aa0c6100481730b7a8170984e28dcaada577a9549c1e8da9633d6e0161b8673dba8c3855cd5acc825c74fa90d68833e25c13099f534e97c331c9434ad28d8163b9cf3a2f9404c25c4184f61103b640428c435806623061fa92a09137154be569256588038f3bbde9e40cc10c20468b603ef2393bcd337deb1404c53253ddd6faf00ce5d1967ea5cfa47fae39169d0f3f0ef98e7a2a8ee45b784f0b8d14d913e2bc916f87522b91c7c0dc6662a7d56ed47d2af3df55c21af749e6a11647ddf9093c02c6863d67bbfc8ad1be5649c6d53c3a312f300a87353062e10af7932aba049a2c44e31d43caf7462888f129f8ef6fb2f6cc219ae55a87c8138415655abbf1b9d7a861f4514d5c625b4ca0ecc5b114e0b33120cc6ac6b089a86820ec49a916776eed26834f12a4d3107e4911fcca36bc81e996772235370136efe1bdf1d601f2bb1a366f606bda9447db4287dbbf3f45ba22be1177931c342bd1b88b2517af50e4246b04909af268e2e295656baf3b2cc4ca111c46f832fe6a5cec8a4c1c7388e993aef8a84faf78a11117918b2e064dda049aca0ada64ca8248b93b59b38d291adb1f2e5b84952fe6d07227cf875d52b75e4f8432627fb061f7afb1711125eb3f2a0f3d5f91abefc1bd7f3e25138e234afdba7291ee93a0a29534059937707065ffc05ce27bfceece31a88b6024802d230d0dd2b44d974dc645409837fd5f599ad834dba379df2f79315c854ef62020209497c2cc10696c0e80308e06bb156698ff1edd178323997e4f4682941f18e4a7ffda0dce5f298ffaa05b154d2c0ff594465b7484f905669f46f118d62bbf6ae4747a71d21c42f16752f802143a93dd114362cacb43442c615d235edd8c6ae2f0419330d3d98e4d0b920e9c3daa54e0013f56f806536c44951544f4cbcd5c617c06f44629719b4b90911b46a74bf95b781b770ac328b0d97b1891b773b5a7f0ea0216d396a1e6102771eab10e529669047baff6c8de737414ed34d3f36dd7f8199232e4832ea9c114e16379da5cb257d1b8b0864808b9c4ed88433c1509b045c776c9221b816e54146df7895b453f149769e1151ea8b0451a6e77d7d8157b3a020f929eec83886a9bf3ba53057e96b490bbe78caaa3be086db3ee23045f72f456a7d982ad09ee88a274ca38a4f17ec1586a4b62185838b584daed6658d816f535ccfaad3202413c16e80e2fe9c895de81882fb43cacbf77f13ce63fd3ee5c656a2b432deb86bc9ffc1119ba8f8ea1cb32b4a02bb4bfa4f40923d9564854c0d3ec84bc57ed915e8676f8c457d19019a21904219250c0cb7dfba74a813722249f7196f512f3ab4154a2e42eb840efbfed0402cdfbe811acfd905c4e9a2bab052ec2f45c8f54d4aaadedd413e5e74135279cc3212715e6b04ec70b39a7c50f76b93c7020eb82b16065ce91ec694fa1c9c97f6a5298e878ef21590f73156187b5e80460f8b8e863b4cff3733d7f397cf6fa06aa0ffc8435564754344810ce0422772b8ed6774b0191e0550247770b838c9d7fa36442af4fd814a3cce57bf49410641fb840c3af562fa299e403d9f4c0ab9e861838eb512bf71d21a2f856033473230ae0b1a5c398950509fdc615c2dc5ec8234c80ec08360a1a42e2bab1e2496b59144a3eae24e457e57e2c59166a99dc531eaf46447249f2e379c594b15a7e0f2528f8af8fd257ce2d9550e7be4894252ec3674243cac03a8cfe58096bbdd069df07cfc71600cb4b2977a4dedfa24f379de72b9baec4bf62e0f9451d4767549af49e1b1b2fa7c59d94d1fa71d9db357161008a7c2eca087d59d86f25cd4f38a477896045fe3148ba860f762ecbdd9e473cba8826aa1dbcb8ccbc18f7fbdc1c3b8c9139d6a4ce4aa74f04c953fe89a6a2df24c713ca7b78333928bc28627c14e6134bb1d01a17a8241ce81ac53efadbc55f525df830a2ccf891bd1f8030c22cb018471453b70fedeb277061fc3f7a51f259cebbd81626b897142e20e5df37ecf1907c5cf237dad46185b690302191a37a0169bb37ac80f63ddb475a1d9af58648f1b613c251b4994f0dbe428445709df44e3d748f8c9deb1f06fef41a137862f83eb7be66ee314b2693b96023df052e68f767277c6e5d69838c72d8e7667a6df8c7045ab4e5199b0394f530e563eeb33505a840d51d9626c1e5dccc8afe76c7f55d5c3ec68b06181a882165e083995462a717e302c2156a9b6cea329303d49fb7c98f4b7a01a1d41fc6a564eee430f1108dc2762a73dd0e7ba9c51e20fba40a2efc836f855bbe4f3787da3013155aa544075c6730cb01768bf890a37a7cc8cd8b8d339828820e20754150f00779fc397e399022fde0bf08f75b3b3fb273ab64d006791c8df1826c77c9be83ce607a42ce198c8c06b9ba8d7530798bad603fc179a527d7d38289673034e03bd82a906e63b82f23985ec736ecbf8bcfe945d4bab4ee8cd87dd46f965964dac5388cd493bc10f8d92918671b4f81d1765b83349dcdbe3e14c9aa76c28de637c45df5dc52391432a1d35e738b46339e85841b9ae6e4a024029e42c40f63c3c076cf8b440d95aaf067cd89418b7ffcb99ea9aa320a43017f0c076659210aa89f10dabc1cec731515c1f4e20d6fbde563e5a9d94fc02dda979545d4238df6bb57f86b40fb905dca1b92a13822018260976b1711c4ed59d52714a65cbe24f830a9b9d506eb71fb15759f01a5c251fc2ac9cd0a9da68958aaed0415c3f11ed55e34b733f5966cbf01ef51324bbeb704c172c179253abf3f14d8156d9e969550e886c9c54f36a9726b741b348dadf696ef461f68dfae11dfb1c62301c4bc01cafed0385440d2ba3aae7198c40aa255c0058fe8b106788dd87382377b82eb7a8d0a5ef50a3c4f000f40a10167471c51cd56ebc65edf9cd10c73ffab6f8a921d8fbf2318a6d191ba400a6eb98d4822524a29659229a594920ce1037b035403605a88a4190fc42c64628e909d91c51a516c8c0c69324606124b0f4298a029f2c20e65c81eca7830f961a3c59393046220d1d0fa3103d696f60b080d2d4b60645885a8c2d105ca59112f289e282c2a9260b4184eb9917245f56507273174f9215631909ec4c89095820ba6ab2a45b8b67860f02409d7921e34a434e954c0848891aa60043738615d09917276c5436206b1304c2ec480c8d8b162826252444c89a8a2872a4c8d931317ae16633c2966e4e04253942a252f457652a8f841c80c63486ec80244cf99212bbc6cd8a285cc8a07284d53922ce98697ae2c4678d0b2a3030404444eb981449543d9904b584fcecfcf0f098546149225c3a62a6078707c7c7c0660eada91f443d40c1deceee6e626041625422a3774859da9b85c2e77736ae2c328cc01ccf86f39a8a6d3e93859d04b0e600c1662be2d07d16eb7db0553c6acd20479f430c3d7c941a9cd66fbbd23088c2bd8d800864a4a494f8f4e4e0ee2f57a3d1d243ec28e6bd068e118e3f93b393839e8f378bc9c2b154cd2bce0a14c09929e9e9e9ddf83b3cb413eff7f1cabe0182852c008c79a787878743ecf0e97836e7a7a7a764129271e3fca4421e9b1b3b393f37770b51cb4c3c3c3439e39138bb20a2ed9a1a3a383f3756ab41ca4b3b3b35303fbe251c489171768a8e4e4e4ec7e0e2dcd41393a3a3a641322313ce93013c50409070707f77152a01c849393931364e684c90c131f2cccec76bbdadf01fde4a01e0e0ece4f0bab1c783022248b0c87c3d1703f3e3988b7dbed68442e5945301b7a0ca9d56a690af46f72d0c7e1702784c9306e51a2e5640b8d4603fab49f9fcb413db55aed032857b2a0d02c799292a6e9cf4f7d9294780ee2f947e94f522a49d0885e3440825604e5ecc7933555509c8080807c3e90ee76bbdd6eb7dbed76d44585514185cc8f1b55437e7e7e6efe4feedb8c40313e906cf9ba5243101f1f9f5ccee7d62bdec884d5f8e1030c616688b9b9b9c97d9567b3d96c369bcd4624abb490ca3202844d17b15c2ef7d7fff513fc0187313433c896d01e612dc990e8d42349d811cfd3a50192972930824b2c94b03be4568f1835ae649972c38aa0aafb3a44dea7982145a4d2e4482615a5d3adb79ff323ad1cb98e445dd59882baa1ff062797cbe572b95cce7bef13e871e504890d2a2f593a9dce76ee743a9d4ea7d3e9be675936d73b12e1ca19b3afa51d3868dd6e37ff4d1ccbb22ccbb2ec8eabaa7aeb1da518423c92868d18d61920369b8df79aaaaaaaaaaaaadf28fad77565c74445993143ca88132824bcf79bff5dd2d6755dd7755d7b484849288af68e96b8508629072a302a124769efea8fa423c1077861c051d28b9b173c2f7e4820219526df3ab7e07333d081ca565160cc76d9febefd457cdad6b8fce5de615ef6640b858b6e18bfe4df9bccbc1ec97b9977a4421fed9fcf8a80fa9bc0619912f9f935b148d0917e66edd271edfa2a0ebd1cf5b702569a3cc83415b38a552d8df2ab0b955e746a6b74e1a24515a15c9a689808a8bc548dc768ca254dd18b796aefbd776cfea1d351eb9f8ebf509a5f1759139792005f845ebf211e92e54e8ac89df4e5dc2a3db90ef0119c139140b445eb97b33e12e59c73d6bdbc43cf626337133b11ff69dffee5ce9c220a897e3fe135fe9df737e760be411efe2510788f302f0758926db00b231269d494c02dba302073f284664657cf5997ddbb3559965df352ff6ecc119fb74e5e6fc037c7fcb235cef32dbbee1aad6d1b2ff5bde5e6e5f2d6fecae65ca61d2d6e8fbfce33826bee9c7a6c6255cda6b90a9de9a29926e624e4536555f67b76a367e79cd757024c966559d634d9b505e21737b189060139d51f68e9798bd8ebf7feec565555dd3cdfe39c05f50f7fe052696baa9ee8c7a5148e113751bdf3e626ef9c737fd92dc33030213369165267ad054bcb14bea2a5a9d655a4856bc6d6c42755865970d0b4429c19821989dcae59304f5ec7e9d7e85577feaf28f6391acef7cff35f9dae67e47fde971a107d5cd62774d7b9299b284ce00a58e95e7ca4b2bfb6c5fe6a424cbc954d3a1bd15838cdf3ecb1705483499258d121961de7a661b94204230446484cf1264d51e9353c4f72ac2c96c5dc0605679a22a184bfbf882ce27b5d3ef49af1c02dafd1047c26f4456cbdd2a39842619c54ae22da902e2ca1b2724c0fbfaa84bc58a18253a54dd1d089bc254668d0f5ef5f6bdc23cab7eced30f61af772eb23b6fceb3ee23c6ebb9551b508c22505c7550dd5e7d76e3c3fe7b78591613163c3108b99329665d5d496cbe572a415244d6cf061cbd3190f5555714fc4ccd428b39226e9061c900e31ac1c9910b76c3cd9f959c007204962f8a123082dbf6300190f31582d6e308181edf181c9c2464a50c61a166a4e961220a204c7c4885a592920804ed08c45fd407dce20615957685005d1e16f767676f811cacc8ea62c6144723c3d3d3d2a1c9922864d99225447deceff7f04305244cac4200d73f07a2ad0e147904c0c24162e72bccfeb1d4d00830f56c24481d2e10604595a72fc8862a2a3478a236745366b68409179aab28ac261c40cc69a2e4d6148da50452d69592d6dd94aa2624a53993216633956347941c990cc51ca1718b36039f72ed655d18329e1cfaa8ae83a19ef8d18beac48123bbec0f2a957b63e3425b2d5b658df45ecbecfb42d50db624b5a6fd7befbeaced73b5a72de7a03f071949718f3f286f0291ed243fc0600e827c887811e8f0314f73e033d3c3b3a397aff1ed658ff1dba8753d479e7fdc6979bf7bed3ede472ce7297bbf4270fd73bcacfbd772fa7a037a2047e05f8022035adebde76869649cef88bce24bef70a7a99da265e40ab9b86247d5be4ad1fb5f4881d88b816e0364fde2db4e679d89606ef3d164a693b9dd649ef1a5fcc026d79f855553d0e4d519f7728896f0fff1db877fe164caef96fad7cf73b6bce4da0ad0e5fb63d3cf710b0a8f67d77b2dde1cdec311792bdf7321314fb15bdbe81b6c9b0cd152effd53797ff17957aeb8cb9d657d1560bc49ff7a390699fd7cb37a8e41df478146019edd5bdf71e7079c0f937e217040ced039b774ff4f3937feeeeeb7f4fe4a71d277d23a894083b71068640eb13c17d3f11ad10112431b348626416420a4d669c2861a234324145581a9dd0e002b782dcf4b0d59635d0ae81dadd7a8a8b74f72d16beedb636918bc80163006a842abe4ecb37d88e611ae2104d567bd535112dae240d8282d15083be0dcf4e28834285e6851c52387cd9e9e119a0314bbea86481ca11a3d8a428353bf2a473d9b2333343c6c71225335f2516311b42c8a4aa409d5e8c606a1596a82f19309ebace2e297610993266ea8818d998a199275af72c9a19c12797a119d60b760ac65226f6a237dee307fa947ef84691826f905a4c8de809347b2e79165c20cdfb55088c2265ca1659fbaa92eda74d68f0f6cf29dc37ad72ba9ba5e3e57838de8d67e3d5789cb7792ccff3683cff7d445bc8cf49d78ac505d2bb3fbabf5757e85fa0ef2afd6e5392feb706b2007d1e8764ceda15c32f63fc5e1f848ea4d94b1ea2f75e7a4c82500ce18495300d1bb8093ffd8f020612054992537aa397f3f4de7be7de015a679c15c0f7e77c7f7436eabe326d6c1a590875c9856a76468dfa08d44048d1625b4a2745ab182335d0ae73de39e7cd3b1e6e9eb9d6fbeabd3bc6b8ab090b88d220664affdb537f4fb3df00caaf80462004f6f99fbcbf6a5be518bec632f42e716ae79c73ce39e79c73ce3ae79c73ce39e78c75fec5d478d321fe288968bae4d85491aecc3d3d341adeeab7e3c01a56ed282a571174a2b2f3dbdbbac0df0a4339bdfa5f8d7b4eb5df37be1ba1ecbd475fcdf5df48640c35b5474cea2f68ce6d19def7671ebcc133cc94b54e0319495f4cd6a6296bbfb46b865c185ab174838817d3955792d6d13d6649b9d004e3463616ef4e48446ef988feef68acb0b20f27bdc4bb84c22f0dac46dc9f754534e50b7ee055ca669a9eea47735673fd34943551d4f4b455357f8af67f9a26af6f232ec550d20836d67bd94328b13de8187f7c8b5260ba59fbeecc392ff9bdd7c9780385032579b74e64a3ab9f8f0f6ed0e867a65586457edd20ef79d096e17c4a557b0ba030978c2631ed65341d73cbbb57c8f7f482b114f4aa9a7f5673ce39e7ac9e2a110d68a284cf9755f5aaa84e53dae97fea7f3e53d6d34658738a9e7c13c3bc488d2cd7273ed19ca6a8978b8e3bee389bbde471ad378e2003875e187a1a7aa195757dfcff33894626b64952d9f7aae841d5d4adb222b788b43178436b9224c9aeb7be44f396568680434d6d9a12da20d0216d1ba349f46a3124a33db66cd672ddf9444fb4d7aa413b2d4dfd27834cd544bb9973aaf67c2f7befa659a2e8fcde32289979899a27799efaefcc790fef4d92fa4bf7d0df65aa67cefedcd4e4e77d73d20314dce8977b1ebd7dcc10d0b76d3cce93415f9befa2f2d4a679aa5a456197bde3b555539ddd2da3bd5cfefc75c82d330c3ca2c7a38dab74c4c09ca2aa6773f7296f557928efa78d5c09853fa1108a240aafc250344d51047a1f9151a1f03cfbcafa3cadafddf7545fce3df7dc89842e5a2f44bcede2cddebbf7bbddffbe7328d8bbf7bbddff3e9f3e7fdebd2c554cd3944b5aecbda757a97fb4d83bafaed14badcb5e969b1389434ac40b2472a311454b6369f2cc3f14e5cd4c1acf8b8ff77612cdf1dedb16cd7bfea1242079bc18b741af90fffa36a173f1692f79a979e5f6a1ad72159eba3aa87550dffc4f7139ed97d81baa518f6bebf5eb4feff72b2ff9f77e89adfd5bbb97f3ab55bd696589e2ee68fb77edc95ab046ab2d05bb6c371a8ca55a8daf65195cbb6abe560b7a5f969ed782b52e5fdeb20d87f5de34f496e8c6957bf535be719e76d5143d7730c85631765979b1002a79a93066792105f9e717c780faf83f7c89462602929aa8842ddec70610b00b00f3d5001c120704636192a4200a03392621fb44e30c4858c703838128108fe2188643280a00010001c6200424200a285353459c00f14ad2db382fa9134538f6a4cfada873763df8048719dad9e89792a0818776c229b26e1bc8d173ac825da81b9a820e7d3e94185a09265e896782d727bacc85dd9857f2d127b40c0c988ca8a0c1600eb97e98b0f6101b86e145f69c04179443675fac3f93e0c4fb4648a24c465c972d373ff6624eb3cf32728080df580a2433a328e74a9d1f80280076a93526d2f87a89c9c1033edc50f3e1cd3da459c9626c6339a7dda430968148e40a623244bc856d9301ac21c9dd2d803172a8cca68c83578a89c61098a1a9c79cc069ba4d5a175abe2b61ec69e8cd23c9a864bab367241979a92ab01038532f928c1c7eb05e5c878d577de6ac90631300c8e9d648f8d75cf7acaffe34c99f7b0354378502591436d4c415da9221b1005386d0449f72cdb5f6493f0909939be668e193c3f6bd4627510bba2ca824ee2600472311a7a0d9915108d9388cc066d4805a3e567d973d7d64318c51af6cbaad86508846a7d9bd24dfc54c78e4ac008c22326e91d56dec27e8779adb2f0545ccf615d45006a1bd0534bda66a04534d7daa7167d5221c4b1ce7182b0464c16441b59588846aeecceddb9e9001e49b672e957dea6c7311bf8a5095961fc33868e2ca3bc22bc0085789ca4a96edd76c11e853d5d67f99a326fb11a91f4b308121afd5da90820dfa95b177f027cbd4a558e5975c2b4b359007a082193c38b3e1608e7ce4363aec4c2b1cbfff95059556ca4478896f178559cbc0bcbb7968452e2c768f84f599b1c7f4be5a0bb5696d95c20fb31c78d84ef56254e6c5de0484c9adc21bc3412a373a0c4bbe1bb4001511b15c27eaf9b32a6b43aa914f4669359fc280be9f38e9a77d76b0f4d20574377cb8c16deb7f875b05c8a5d573bc43cdc15ac541296e612cc426ef5a73ecde7d7e2a90fd2e551ed58daf59d0bf6d35e61c68fadbd6c155c895b489c0ac05a131e5bb86f0cf0f1c1dd225291fc050290929486b8a429f5101c13565dc13e75191fe82d1b3dc398162c7acb3674a3909d5b773857c827993bc144762b96697ce36847ffe46225730680de5108791159fe354e643cc51fd894e0afbd6ae8e7781ffe58d1e0f54e400b9ec26b06843589ae8d6b897965d86288bce74ccd736f1734b7ea37b8d32c63f6983e1d2b4e4cac7becfcdcd9354dd02b5a0438c1fd736fd9af3ed7b12f7288201f968de9afcd6296ab7fa8c7f45969984111ff0711a1547f0be039abe8e7b3aacd92a43ad709bb9ac4d9c20bc798c2761250c4414d76c7294e55aa1b20ab79c7c2fbeed62d732132a124ad1280961071cb86f302b2fbf0fe5ecd82a04956e3e51fb953d3840fca57df032f659ab550e1f6c9347e53315641fe4be4785578fc974b3d5e00cdeb0dd96c123a0198bb91d89d339bea3079aea8bd3824287525540ee10b2dd37160e1568d531dd18208ad9dd3f2a1089fd078ee8013de0666aaa6ba02bf22176be87310b103c690fbb62fbada7681090fa76a3520b552d5d1aef43a70e682c3188e18ff6067460563f6596ea4053b9bdcd520b3c6eae443111c712a79d5bda5c1229fa58bdd006bd5c01f68cb6a27e93e0d2672586b01c74c390c671795a09e4f2b4e06e69e25a87b4019c21d897b74971e4c7d82d7a291cc10e09674c446532f1e7184391ccf832e58a6818e93080defd907f9cd73fd52f2aaf555645f09fe672ced2471929f927fdcfb6df44e48756776c1a381c880735024861c5c7533268b97571ad813caf8d2344b519301d517edf2b23374c87d37c520ecfbaf4dcb4d204427734f064d26773bacac1d3f3d4173c4bb5ff8b2972e8f75d01803fdf2b36ac5811005165297c0257aae4bf0608952e740f64e1604db2a0d9a3c8c65dbb44fd0883ac4de5c25d56a81a977b2bfd7b0a49b151c4f73f4c8b8dc716df3b5378686d94d0f90255e22e160b857b40c30f75418d4de17e4733f1ec6481185f54dc589036f4eb4d4c8a6cfdd93ede52dcc5f1f22e8c8647636c031ee667a8b13a91a92d79320039a8e42777261c5bb10b20039119b01bccc41be717ebcc4731b42ac4c3b68b89079a440f1eaf4e862e9da16a92ba0eb13f71e15c2958a5078e8c62e2927aa7fe0066af3dabac4cf9a701bd4f20a8dbf75299007ae0364ee9fc9bf46a57cf7e15befa6864b8185b43b4dbcdf2cc476f2363b5256b9ef95caef45377ab86dfccb81057cddaed8643461158d90c5b12627e0014efad93568a155b8cfea59fd043c9cd34d17b446f7f0881e7abc73ce0883b7c1d97ebe00d77529c22722458ab08271fe4671343e6b8973abc10181a5e4a5dee98338affe04571ace188827fb700ace6da8359e0361e5c18a5dd61ad2c3f112c4da6f7ba45b80f3800ea9fbeb401335952ad85174f01ca4436892dcd3ce8d9b545441601093944080a844accddb57083bdc7770a249c2373f7499ba14b6cb85bd5d37e5d86f5076b61158fa7a4ea385bf921547b0565a1d97248ee5ed118df739e98bb892d06637b2a41a03d3be293d2c32e2c6707ae0871ab7c286208ac6942bc04d82949497cc596ba069fd80793c910dc89b9db2682fc68a54178cb1f9e23c68653d01812f561feeeaba57e378f810717de208c89cc22fbf143d6ef96c45ba4549af7c366a77b2a88c970df7cc53b5bf52c9aa643336f04abf2b7a76a8f2c7390162a0913ba79d39534435d6489d1753b5fc6e8ba3f1146cd6bf4b96b14d54b0107ee10bee2bddbd4fe6bda97a20278ae2f756a0d146fd3160604da648a318974c3ffcd78f68f40c0bc1f7700c3bd72c185b0957e811213250d124f5094bfd5c2b1af5c8a102e0f687c75ce57bcf38794069e914da6d9cfbfbece1d020aeb8399c18d54e92fcd25678db839b4d6481841a4e14415098a6e3ae7d8aec894d81575ebb18a2216e5bd8f2a8d80d84adbd663a05b966a9bd3b6cbdd236bb5dc6139450abbc05c6dbed4b8659cc66c19c2f4b2c83693e5ece6e8363a8c938125b60f278773850f37f79c5d16b1f4250f796d96f91c2cb7996fe88b10e3931b6ad830811552318ccc886141391199fe44778272c10595e214457cc9610f1b89317fd973dab56508dae6055f15687cc31737debf80b80cc7006339f9fc33604515eb29fd4149223c29589010d2dba53d97f909dc40e26d50ad1870fe56c1e884071f63b58a34e5261d3a94e73ec6c4e619c7dd1ef9fe0b3354bdbd270f9947a574a035dd74a671000a4fe81bd3ececd93bb577190803ef02a0811c219e10c922058f84ef2e343e035047606d71881109862873816b00b22ebcf1c203b55813eb61082ba28c4083d1b7962ff333633124ea0e445a806b092f8b242a8d51dc73ba3095c5d2658c80d51013bc0e8c4b5bb145cd8aad1481ea09fb33002f380ed9226e38369c88adc88552596f648c0e0c208b811631f10599b1306a5a4a6b014f01bfddba7036a2fb85453cf6775055ae4bb4c939b01727e9226de26ddcda11b3f85986f9fa8e32f666347855bc85f3e18a79962cb0962c07ad53d5480290d5d604fc3f45cd900947fe102d279ad483bc32baad332c410b9547a0e011e9d26a30bc9694f22c90dcc83809f6e16567cc1198a756eb0dc3d19c4e1beca240c3f1681cb907570ab4963301c315fb4b823d9c66d30ed6906994de1a83031c352a972c58688e299734736109ee5208ef8be1292e2cd25bf89a67e1e8476a33825f9ab7ded51fc55469d3503bc8361be1211bc2ee2227824d2bdb9e3eb7c198a6a1061c53c9fd503be2c2e040debbfda9ddb8d4ca8381521843a0c91beeb5b49cc2f8674a24b1a42473f465856e590ea7aaaed32e4562bf9b1dec89e8cb5b84bc24018f34bf26f2f082cdd56b1ad09d4982d7efe69d8a2a3f920cdd97ae67ebb421b83896e8116c2d6a6d6078d4534b5f72aef80c5dc5b61679bbd2aace1e3ddf7eccc555506da28a451f339f9898eb019ccc892f3e1ce0ff47ec90747bdabc6bf1c1e39486ffcb0c634f23aa9709929892da25a10ca0e2bf6d9afb6937125cb2ffd326803cf82e6b87ad534251a87634914f9c604248b472ecc0898a56864a272de37bd48c7f5b4f7b398ceddb1e11e2c8f4e51530b37e4bdbc20de7d8c432141b65ec11bded2b48058a2b6d6e66575dac61fa86160b19f45d6550e98ed0d7961e1a85e7b42944b483344914f8fe08ced5b2e01849842f8c2c84272ee6b14e8a3dfcc222935a227ff117718d79337d54635f5af3c0888b56cff110c5d6cba83e6f127ddfaa4009530712b389765f4f0aa4ff9a3530502a205ca86195300ed0a7338bbfe0a5039f45204162b363a6cbf2b7cfd4204b2ed58abf1803268bd3baf7c44c14a442788696df23441835065742405ef005eccc10cb8f089b2068a9ad23a671815e7e5101c8b90c610a5488bc42b9f518937d66fcf85e6b4a081d1f419e277bfabe744f21857d7035bf83e17f873282f9c9b4fc2dfe585e73ebba782dbcd9e23e181f519822d27e3032cf0460e31037b730f6510a22648f208897f92156183db4cf1e4ef305b3e1d231e288cbda9f1db0a91461d63da0f8af95029787058903f60fe32257dfb7337273e60f88d1b48401c0dacc0f95e5310f2d8842d4656b180a98c39bffa251335a8f5a781f4ac37b530fe25a389c4137ef7f58648957a8eb2db91e5a340596abf01fce24055c8e00ab3f00d9080ee5f3e100d8d8a0ab21e853687f9113602ad9ead1d1549ecb13d2e70eff6a94f1a4f68321b4e5decee741021239e2bca2f2d259c9d3102807a9852f7f8072135b7e2b0ea141461c8272e9565c26dff6d548a50a718b4649a44a837842883875bd97f944c48264fcd4706299e545b50b3729ad8bc9430d9acb361a5f8a8e674335581f4f9dad834dc38ab2e414e8b9623688ca3ad8bc69ef339d4df49e74b72be64d812ec6ed6aed5f45c8f8e34f3217d6d56c702088299e5d5d0d3c224c2173032f7607fadb388a1b9662630f1195c51706c52397c4455e26aca58711adfa82030a4f6576142227d71687061def1a9bf277880c97c9a828fba5173f88ad7c754a4afdbf39d570c460c8529da446691d5f4f394f8a0974e1b73011b9749139f8b48a4e1a0570b4b13d87aaaa04c43897b19cea82a2ce9c1ee41825f9e93803628c3859c3c74bdb5958edea833899449e8d9485905225338d9353d84fbdab3db3b9ac6c96ca609e4489806c1f8fdca8210655a1fa31e43355d4c66fe45e4182e71a0359e05849b87834706481bc4ede4e9bc426114595b97cf3df02575844cf3092e3f72661c3a3478f3403c08d781ab3710ba70357e41a5ea59a8352a62aa54e95ec51128c6e70b8ac53dc76ce19d03f755f56390bf975e7779ad93aa966ec4e856c1083944ae916c6cace5763ba94b1dbcf89dfa288fce23d12930dcd54109f55004a70df511f184b3eee3a58dc7673b17a52e1d8c7f4b9b903b3284c5331072f868bcf46b256f191e31a033be64148feea779abfcea49c195ce80899812a2b673d662cbf9581fea35040c9a58eb254cbb827573a85e557840219b2251d6ac5f19f916a1c92934a39708fc9c5bc8f42486a03518a3a5bb4445ec06192fd8c00ae090583720755b13fef418a0dab542da167e2fd6c1897aa769a0effa14e01f19eab3b8b449ff74a0fcef0e241e362c02194793e192d89abdd8f45a74d61fe74a4f2b5a00a6c385774fd97bd9c507e3d906b0060780e738c8b32de0361f64a3a5ff76c0818f0068adaa6d16e5230dbd66d7472e1a7eb8d399c58f525b77cd6b33e2bf5f5e0f1e5ee0314eab3192bf75fe966b3230f7f744b294199f8ca4a29f448c79be117ee9e3bb64be702e5f1fe4accffac5b69a9bfd18dbfd33b2396c90d3bbf124b2a76342664d2be8d3b9a289e01e01fbc8164a61a4e50a84d44732775a12ab909ef8aa712de8d31538c28b4edfd7357307929b99e028615148f12e1d6eba9bb791360e5469dd48d7bd382c14b66e2520b1f104b225af4e05c33a35dfa13ea1910370fcc26c8285718352b23fb0f64dafb4bf30a4bd6dfa873de4d92b091c63e16b8bf20654671a5d22e35cf5bcf5b0383304bee2b195523c3411fcfda83c1358beacf220fef056382a7ce700d859ed76a082a0242c407aec0ffc1fd9d4c6c3112839df88ba39911b292f351cedabf303c575f6cbc5cbc5f8783b2164966defae78cba5af3b06def346af9bad515be8fb405168b4305c7dae578c28a798df0987102f56c1ca797e239e55f91c1885dd9923f3f66200aceef6319fbe24a443a276561f606f037ba8f571f4e5993bcbdacc03dc53ec8d50de8305277a7ae3cbd0ea21afcd2252104326faf96cb8622f27324fcd5b7a72b0e2c7a850f3ab0c3aa2b0aca43993e4c40d90599c33e80efdd58879f629d63b75cfce8f75515c80015231221653d9e9ac45708e02cf0767356364a7784d13b1b194c7ee1e745c359819fb3600a2be51e426fcced7091fd2e76630372735a266acc8ddc82b931556e47d356bdc060c93d34284bdb77e55e2d84e05d04fb41ca3d5769ddb4fbd4fd3ba54fe86b4dba749bd661581bd933c1cabdb098f7330df4e33e4e6994cafd9259957bbe5e4e2851edc3af979acf0fffdc92da9f0b9cfa2dbe444fc849e00740f0f932b2f595c6e29c40b75a6fce6741a12f405d09a346cbb28424450b372248c055125aa1e86e04edf0e740725faf80e2fb4d557ea84dbb5ccf73d745eae124c1cc061b38f7c793f43bc44e79c90fef98905bb874f10f31cbc14e6a0b579aae4997b3fdd0918ba296e0c51fa882e3cf1d706131662fefd464c36822da579519f36a2d6661fe518235d0884837d4b03122ec84f7caab75bc9ab2599c701463d4ecf846b7e63289d163e1a2bd21376a295484cdd522f81abd6825866c43f302159fe9725ce1f485a79e8bef2efced03f4fb1671e43847176542c8d574f76d2ee14226b5ac633e0565b5efa5f9f1470468ad607f4462959342cd2b40700c63ab281317fac0e4f5eafe833d4db2fe4613a3151be788ca5255ae8ce1e957ddecc2ab24c2ca5adbf0c7aed6e6e5a7a081b610ab7246f80595b85f5d4846221f1f114ccd0a736c50865bdfa3094db0bf5722d67d7f8279647e7d615facfdcdc3b5083f0cc6bf21a0fab17428fea0ee46f308f2a3a84376f217dd51311ba6bc9d35c7fd834ad48561e150c5a241508290ceba83a88755ec6a180a40d0f80755ce3490e7d170103bb76461df23ed2d93dbc5d69c448a217d7c343d5ae483a2238a6523c9030952d411906349300d3ad9ccd73569cca7c8b9c15890f47695644930fa1e3de108985bd90ed851980ea9aaa5df8315bfac0127e75851d38df5339838a49749007dc0cedb30617eefbb9328eba24e60b11661379c4e13440cc42034644c09a9b210d5b932e3fc8e323317a642ad3ef1e05e5a5b975572db83b86826ebaab9a8a164813d69648e9d87799305dee2298eafda85d3abc6761f3c116101bc55885cb4365960a1b535a58bb61a5d57f4ce66c9eec122deba62e4694283001b722ea54228781eb5ae30db934a83d63e42698346c05ffbcb844f00ecd42f712cfd031e7aebd2ef441ba5cea13c6ed51244e27d30caf084f5473fe9b2f78539157c7abfd4b93f2a32944e81010b19d22799c04438dfd516342290367034c885f59e2c77c8db646c5c54b6baf6899368923e3225d5006ae968ca2a8f7360bb6579a7e572936829ad84c8d23985c2235c3af8a988ac703b7f5245f6c1987261b38ac5c20e7363fc1dac7e216fcdac0d29d72953562831fb3989a5f20ed193c0533943d52cd56cfc931e451d4c77df6b6a9dee97e7602914e0d52e95fc54892228ff6fcd128cf3188474ece52c7ee10a772ef4912a5913ea2313dc671b5c4f9ed653add58fc2460eb8d9636f138a4ca9480455ac1c9ecb6f48c02cc50d70f0304da643bc57a2e64c129ede38e7ee022f8e8a64c537ef3b2f10835dbe80a95b46496a33736ffa6ccf94799c3c2187d36c3c1f333f1d0626c4039df343ee989efba12a9207b3b73bc2355aa3b4e9b937f638d540d708aee059a6cc2670ff4da5805ba22e912ac4cab8e5003459d14c756eb9f95940f16fdf191140a4c2b96f5dbfe66e3067ae386cc66bc29320d874d7da7b037f367bd0a1747048881263e1ae017a469b1b3e0dc888960207ab82b5595dd1dbb1e6f5ead8e7fe97b7de54acb61321a92b25a1e4ce1e05ce4a0874fb5faab82e241032020892c9ec2e1586c0490b8a97f0a87be39292e16211738161c3f29ee0bd0dc83043b567124eaa635d1af3569c702fbd897880e98b6317db339b195e7297c659cc7b4af7f8f864e25dec56955864934dc4c50a5d36aeaff5a4cdd63f03efb6d4fc7aeb46f88a2655ba89ef1b6125cc1c4628ce5d1caa04a83e80487a11b097cc79aa3345ba027c30920e83fcf307c92c1903e72d4709327e269b9192e23fa1f1ef7ddabd0f41a1d1962a9de9fe37dd99d146009236b3eb2a505d191fbcbc9f616c30944000bb6454c2c5691d0ee811dea27aa9ac035d150465c9d4888519a8159a7faeb23f480c7ae76aaee16144c870d3739ed798a35f5939d0fa52e972561538f19485689651929266540f3c20c251e8f7678c2ad6f49697672934642c231b8736048ed5d1b97c5e3e80e79a3ccb5aaecdfa50bdcdfc49079abc35d705b641a7bb829baef7dcb862661ed819c1acf266103917e8fbd6c9396e51b9a78e1192f154c838527eb991208ede677ab503a38e555e3b174fec62859fb2d6baa02bcb9697592f27e683390749592cd697ac6565a92eae126ed2070ce91437e02a9fed118f6f7472f352c171a95299d4ae446d71acfc0239c8a8705520cc4008aa652ba4791234f3c25f46d8fbbae460fb7dec442035c6c6d7d94c5e47c22938b9003acb9e506c3afacb00d8b12d93b15c1a62697ea8363c9cb1e7ca1125cce989fec0ad790d5fdb2e9df23dff6280f722f823eb6fd0a9ff7c64c0360f02e4a5b6d78730022efe57fd26d73998c5eb31afa8c6d7c22efd4044efc2ee8e2698c0917ff23d553f35e382b4f48bc8518a04b98a6a6e1338957a2af95b029ac4dc2c68746d24344afbf044bfb6a75247395ede80f83d0ca4ca1968c402e6b60c7bc101c99a7e4061ad70c53c3d5ab2fab9142d45e9a9c838d272bd3dc7ec6d40c52f058abed23a01e1a302ff0010c6de3099eaa8bbf4d51d20006ec3b2cf43ad274301382242a4626926ee65fc26d660daf91a7cc01f004aa9cd5c651c719a47744363092da2c0f1a058fd05fb848ba119d3e5b2ef6e34aa080128505ac70481e01ebffc7eaa01dd9a2739d0ef165a92d2c622d6d7e1a630f26ba720bdb4c67aebc87ee505521d03460bb1fdbb6c15d7d29ddd464abb38091522ac1035ad3cf7038af749ebc519f59532d157fab47fad962e6640d5d7c7482a502824a6bea33c2b9ca5387fa49406d1419235ac9a0a4924b4c6e9539e6c49ac1d9538e9814094f0339850db7131dc87d799a19b283ae8e585494a800b2ed286d6e0c5002872195a901a81aaaca5871128f444e40000f5f6fbbf815b881582a941b903c144eb93038e158f0edaa912bb5c943f6c0e1d61895d4ef8b6419382093bef79c54ad6c672b543a3da554fe8816ec828d6ec2d78c1f592fc99404d4ab83adba5608b245c04086bcb980ca723fa59735b1167503885090c23974ab264d2612c10cb0bb6a527b4438154c8bab6291bd278eb04a8e9dda4db306137a64335c9bf41a5d8e50135cc69b69a7994712d4da78a1353f3ffb5312935ff71bb55456cd7eeab5a7b8ee788efe60209eb9f47c61f0c72179873d175f237ac7cdb6ffca04af1e5face5abe52f056dbc077e077085a7ceb4d4f2304aa66991015254d646520012786de68a7a2737fa7964454bb88c74f1165a17e36f55ca402af5e74ce72c33d4a267138abc2f08302c8ef395ccd061a5f6e73f3b9bf599a5b26b20ceb8360a0baa140a605acdf888019518679eb535863f32614d9f009cf3a7b340aca2348409d46a62c9d4b5261fcc6bd307027cd9ba2c9c3a5496d456acfbe3392e7dd921a3e3b7bbfe8db145529f8ea6fd6fabd9cb93f00ee05fda0a2abf7f6b81bb581354f60a370a78611a24ae705a5e44dc9cd776048da264000cd075e177bf8a3e8c3595b2dcfe969d58f70a736466e883febd22b2555ca849ba22833e3fcc0924648dd7abb0e5249079312a4309996a8a473209cb52dc556c645c0ede804c03415194e108da16842ef48338635f8bd3f058d4f4313e848617a43b42be8282dba0e5ad664dad412d1fd63247b48a2870f53946a9d678cd70306bd0e334bec5d66cbb71377cb2edbfe66e9e417d2c40d9ceb3a050e973b8d2eec91f6516371d4a25aa213333c1dbfdc1099065d2355e86d6f283bd8a95ca64183d2509dd432159052fa4ce0675f092066f2b5eb62c9e27193e6c9b099ca6bb07eb300e365656689140309c611f4899bf00fa47f47feff9b59b4592df412a26ee903c2a2940135832093dfa0cfcf9618b1d855d691b0b271f7a789900660b6004f229c357e3ae7de6da4cac7c91e85012e85025d5c6de70368994435ec270d21b6c5083dac62263a720ad77a128926e58197975ddcae090290344d03e9a03625d7a0aafa22fab76a909b38430bc11a74f9d71014d32074cf619e6c0deac6c2238126aa4137783bd8a956839650596104ae41c3e26d0e3bc496caaa72753b3350b9ca26a75651c08c7fffd3723b2659019a1c09101e0b24d90d0e494843513e89ada37e0bb206248890b4be9667063103336ca8b97a922c06ce98584ee0ce902e2eb1d07aa916852a4105fb765b6e93084c91ced5b186850bf64ddbe80230d89384dd501844870d90efc141c96b8929b2540f1f0df618542c03dba951f3798cada4cea01801ce5e153bd9ae02f3c11794f37e284c4f1ad89f4ed8323c614813bd4277b0955140d948aabe2b592c6048be063eaafe0563dcf2dbfb78888726bdd9f732fce9bd1ca351a2e1d2d921b40d4afafc99808c03500312f3011582a2a838995f0ccc3d5b7a48f77db733acc8941ab2fce941bfc2ffe1c770c2a73aeca1ac6ce5c72865b9e85ef82825b47d0e88ca0c6e9be3bbd46a13523c5f5af3f51bd47490ad5b74f4449240a8e9accf156e62b781a6f251575a1b6923a49192274bfde09b849e7c3498bd95527040e2efc3e612212a4761e42a167c87c58bec562bb9b51574b90959f31f9f8d05390e52c9afd3db5c8ce1e2daf6e5cae4f5d21a5bfb9b1b29c7e176d775b4f22335052c0bc43a70e9af882382fb829dca74c1954cd9c5c013739060f87617bf0c71e6fbcddc872d267bec50cd550cb6dab274a55c0673accbeb0c80e0aee6fb7e7315e4fb23fb6a6eaa251de0011cc214d28edb58581620d3584185111495d71893e905e9fe0940f34456787a35931f29b6c490f000a0a1d7f9cb0ca0a6f6963db4c278d8e11051de401cdcd405628fe42722b20580e7813a356dd1f0245ae09e0ac565de1986c1eeb930973675fd4d3cdf23707e47a959c9631fedacba3321a24ba216f93f38f9396cc2befd969a6a2b173a23c194c9fdb4920f0d056c0a5ddc7f468553914d7b379a2930e5def7be67f2d930482088c4e7ea95df37b70f0f3ae0652e9b5930f40c9478422b3e7cc1838108123626bee8a239180ad3ae744cfc5a35b688d9d55ae63dc3a3dac8853323e22069510218d27dac0667e617ff3ce7c0cf2455ecc033ec0eb78f4fa01e791139769bf28c0d0ad9f6be8924795104f3dda3aeb5d8628d0d008543b7441c064174fc771fa93a87087074720ac448692da1f066d52f69b7d6628d86011509a8244531c14500b0872e34753d8a3f594981e5a76c5b9e8076d705d547324043baac41bf3eb434584b4a1d3045c2a5bd380f1ec518dc930b9ce40909ce80d6abb731a2389613121b04558eeb375e45b9c3c1a4d5d61978e87c1f292687314be0d2cccdca0f84dcf21e381edb84af37bedd8c06bb50fd325693b300b9622c2465f0718d947b1751f1f5f33f908df03e3df3fa02976606951063d016271ba9915c19ca47eec6b12fd0172d1a521c16b593b425c632607a01854e9166ece8fac7e9ac2817537e680c0582f6cc7488c430d5dadf12fa3c267d002e37cd5bcf20f892ab6a559dcb2098666b65cc5f62be7766e6533e5383ada9c7dd7ceb6465b11318da899eaab29dfce437d528bfc34e75907f93013cf0240d0a0932a4f3f3c5bba2b62076644744d0e00030e21724ce0b31c9bfcef424555f287ce585a666d1afff3d48427f6af812fcaf8aa18a1e8412d51ce789a8feb04b0292500b854fca14b3036f014bcb92a12bef2ff728f55166dc0f7f8c05f1720dd5cd9e7828f9226f84bf178dc124ec66a31a4ffa400a69e5cf95382ec4503c95433e9da11e4e03e49dbe24b16c547297c8ffa25b9aa7b4481aafbf097add5f300e255456d2fc5845ef326103845fc13efbbc8780b45d2d8f0d7591acf80fd1620109f528e14139d4e46a8ee14014bf5987913ce759ee3cdb63fa2c06ba875ecd110cd04751fa980f9a8c069f4f87a4bade8a5aeadc0e1542025e1444c0cc343b2d36c8f1123937d4d21cd17121aec1c23299a5e8f030609c3fce70481cb254ec44573f096afcfccd90597e3894eb5b22e182fc4a9644d70a2fd24c9b498b59f28f5f6f41437d794dd10cd1a51ebfd0c789ff7929cdf32fcdca12ffe96acc4f7722b149716763730fe50c9a4a1e3e82f0f0f6d264005ae2a498205ab56551f67024e83ad1c5767d469fc97c70bc839eab6c25f6d75512948bc60b7dbb1914bd824e48ab0837e210106624afdb284a9eafe598a7cec73589f5defe250c15c7af568c6da3ee78dc4b6a54acf1f2ce939fffe803ca032e8e03c1e64b3e7a4049afe3cdeecd567501833a1df9a3c45a2aaf270b9dabb2297be6285a0c7006ccc9a233f8589316c4119326f2c1c49dcfa426dbd7ae07014610e39a82bca6a2788857b8a1a58ad29e0cdbf64c2e46c4117820ee98809e61fd65e053fdf3462e7873c1255f3662ab883f4a16624fcd7216881cfe5295a026e55f64a0e597de7037633cffc1dad6b6fcf1b131fd1a8efb9d0650321a9814121968df763fcefdc31e31cf6a510300ffdbdc1ff27ed8fdaf815398d4d2087fffb75c630a39c49bffff613f5f17024224fd65aeb916a6466a7803266d7f67e52767b20f68e33384ff62f373e95df333732d041cee9865fadeff63f13348040402f0631a2bf4b96615afef65ffb599ee992abc72da32e4379cdffb9758019a6010980ec17d84c058fa7756cc9660dfd9ae6f96d397f23fae00d4af23aff9bd41d9ff7e7506996b7d7bd0f9f7379b5de35b82bcbf7cb9e09abd3dc8fafb7b6557f49620ce5fbe5470256f07197b57fc7c45107d815d03ea6ff6ab04d14be7daa07eb3c755784b10f1972f1d5ccbdb839abfbfb7ec9ade1244fde5cb05d7eced2062efe5e79541e8a5ba0244effa1541f4055c03ca5ffd9541b2aab389c8da5c9c297cf8f6a6fd3dd3be8e0e024547820bb782ff20cdafac1782188541b62cd3bf4ce0d71c8df4c4205b9629e0775f2752f9cc1a837041a3fe7d85be6ef0542907c7eb8cfe4362be32003788451de4670dfa97557ccd8ca097a7efe09edd78fff9e0fc5c9902698d82f3ba81ff70f480b879c0a300458d81fbbb61ff70f480b879c0a3fe448d80fbbb41ff70f480b879c0233f6968022224fd43ec41f3eeef7eda760e0d408eacbf2f1f0a7ff9f68ff5e664c107b414f70ff6c83eacdec30dd0185e606e93bc40088089641ff4e3e2fede03d152823a57304b1e2704c044b40ffa71717fef8b822c712083b63c74d6240148bb7f4027962d188145c860b7b0058ded9dc22abace4e09e831061f536b0d48666eab840aa7f09db6c8ff8c3d8e0f9d9ad01a340a1f70766ebbc40b2782e877568b0fe8badb1e85e63cd00a1560caccb9af20530895ef840d5990f5b1fc70d27c52a07bc80a9069e0533a0a342a3907e94056bd439f82872f08684836a0e9fec5ba178ea0dfb416ff0b022e7c9200f8727f06055368e327b7ca110e216a5aebefdd0ece7b9a14bb044ca2605fc279ad2060f8b16a7e89838637de38c8e97304521aeb468442f80b0892b32b5a64b534ed9df53e8ab7409afbea0daf9cf3e7728926d79e439bd517180715888c635dd6483aa7dfaf25e8c08c432124a2ee4fa81fe198ad91807352094963aaebaa2168d393a62beee673c8082ba7497b9200fbafea57e5497a175f472b57818fd0c907eb1b8725ad0c2956463071e89f01f93be4c0a44ea122bc0fd5b8a095779aad8a00b340aa9316ac95b1eaed66dbd0df8671f36f6b12aa2af86288d1a3e14b811947ff0f18be2d0c1ff865ef3e477f5aa133b060bb3f9c4c4a06525b3fb2be4c5d4e6aff26e34bac0d60d490905836220001f9602018bebcaaf44a41b577c823dab8e202b20f055a3b403adf5bb3f78e1c6b22720b6ca17bc19cdbfdd5e202e263e1524e864a35352f64c94f6453fff80617bc18d0613f6975d1acee916d6f9571ce0f526c4d2d7f99cec4daf7a70d484c62531728342f67690ee651ab896675cfbc3d5cec3a78de69e02dd29e5b46f3fb0311c2b70a495b4550f3712157c332c3de032397064383b7946662dffd2f8c9644e349587e70570df820e02849ebe5b76e007ec4d9b417df9ddf0d38f72f24bb600a5f33359bf83997f28b36f38985ceca3d1414cfb5d38c58e214ed042242c11f478ccdc1a2dcd15b41c101125e28edf49693a16ea5bd9bbbc5502063155eb32e5a0cb1d66d5c019cfe10fc5682af3e2a8cd555a9609b015427002611432e50790328a2180a4bf4edb141b059cd68dd22bf9bc27a250e4716470e9cf459140df7a0bcdb2bbbbb37ed9452890435003800370033557bb343fee9c6aeb6a3ef3f20fbdc733d152e66f196067e4849d363725ee2fcffff0180df8340e31ccf9d527723aab719735f02201d8a39b423f260a44405820153c0af05abd5b1a9a5a1be1258700966aa6583a39671badd40bd71de8e6cc5c2858b29395122e255ab633b06ef095bb4b2811dade6036cbef0226b18b604df067de221018e7db58c96bfc6ba5f717e7645d1af4bb2ac5fba94e16830eae1321c7d02beffccaabe16d4a438228f3533cf16e0899adf53a14c24ddfb94fbedfb0f8613a7ef3b823a18a57743aebb7f83bf5b85ddd4188195acb1e5d401218d8010430842c630242352250fc06197c1165c4d85cc6c33e3be0986ab612d91c96f8ad03bf53838a3da6866a5b1e9c3179b6705ca1a30356fe727cde658acc1f23981354c6934c74c58b4c52c22a8ce0aa82dba8a4f3bf7665846ad9ae64a1b4de8d8c59165d34bca42fa899ec38f7abaca99fe1c7c1ff59b33f3a53d0dbbc8cafb22e60965b7d4a17d1bc2eff50441cf7e75cfd1aff8754953791a190c4b705e787b733304244bc9d6f60c2e8a06b4e1786e4ab307ce7d1009d224b1342e190ab69632827cf39bf30c2957d67f4ab45e2f70b2207700df184f0f76b61927edfca5f8383c68e4db2093086bf0e25597ee52a43382a366dfaa0d95953f1b3d11cf84960edb654fb21aa633a516573863cab0272a106dfe508c954421c49379cbcdbef28a21ab86db7556b5a22c3610b17e6ca44088e1ec10a22b39af84d8421959acaeda806b0b20aeda54d980abc5608b50179684920b95cc132212dfe98330484f84b1277d81b43084a5170b8d756b1e16ac96cd32fc3610fa97b7835e915523cf9e61bb71f9b9701bae7e1889459feef48fb60026a721ca5fcb0e23e7f40727d435948e623cc7200685f0e5c6044d6e7be8249796748e1f59615815e079ca567fbbb96eef739ae378052d09ee3a4d8758c0a70a971183eafca690dff397e98657a8f3cb9519db3ed5735a24dc010dfc0f818a687071377828b59b77d91b08bb5b3cf28d66f8e227be0d3f9ac213657b260454da2a99cc2c6565b04c75c2592d30798e0c0d9138cfdcfe1e23228458f2c794ae040e55143390ded476cc22cb9d853ff2da2fdbd37177dd6208d99e2bdf433770a91beb32cb954f200042e63d44f1893daccd038a35b3165288d195c4537526bfa57d09180e5bedff6e29862a1945429f1ba75ea72ba0f4475a3ed02917904a5ac60c930ed478e59f49395100479e4429950c26baa430eb743583daae5888c8b20a6527a2201b5ce76d1966064bf79845e4ae3067683d144179cd7efd2113d46bbee7d8df0d23ea9dcda81f44614553e1b017c249e0d42e0c8f37ac62425bf8160bce51a5b4a03be0e6c9c078e762722e14f6001bd07fa21e1c0d1f246a70300f5561e6568b8b922cfe87b7b7d5b79cc9400ea93bb1982cea6b754e2eeb37b5df6e35d8c05eee7d708f5d1d3e621b44eb01ed4af9b779e7ca56735e2981b5afd29f4df3e198c253439d498eadae0127a192e31108193380f46c325441e1eebea4e06b37887b7f048a7e536520a18bbe604b6532723317c444ac8df1f027795017aa272c12c73aed1afcb8b1ee33a3da4556ab7e1494bea1f4fae7f06967f6218d3d6e8c7afc021ec7e358e589dc4ea943e3529be50e5d9e6a185e268e446f03c42f0044234868645cd091d72fc0cfccde00e2a201fa00cb018b872cc093d707892fcd0019d11a1fa096c200dfad01f4008401f100f401bedddb00e6ca018a3129f6f918b11288a19cde95be92a6d3ad1294d79a0be8d1bef3e58cfef723c32b02b610e3d62cf3fcd89001ebe1c99c3ba19beceb3a27ee00b0cc80f9b9c1d6b1020ad29cfdb9b0dec1bdc38bb47f07f6da8bc4f9f29382a9ec5212fd9d9d90e18befc9a994b50104e58900860d9ad32aeab8efc2b201c6c0f024a893d3d4d736a58885b1f6eff695f3d1e300e4959eba99d8c787d98fdf5c09fefec3fda997bed4abf69fb5afb495f1c6bce2d00e9fabf4eea5aba3ed809516aba0f9d8f1fbeb9388f9d903cec800911cedd4f526d501d6f0fd00c5ab018dbb38ca0085e0a3e4bd3ec0d0d597920eae08f3a7899511d816e394bfda88fafe2ed200f7339d01f2a101fbcf00cd00e22d810590a106ba3000c42028158001a6c721df0187fc37e40f8cd901e8b3c401ff00c5ed01f800b9ef1ec700ee0195d7de23c13998bc01e7019b01cedc00fe8f353f109b02b001ac0207051b813c0b82b72288cbb7afa3d683ec957a0fdc93a2c5f3b4d4c0b8c590b97fdd1d000c03a40906aa019e88b3acd7b9e2d5c7ace4eb93a3bcddae94bba38bb406c605ff14e92500dca9e8f7018e32afb4e2b184f78c94e38bf50bc7a4c9acdfcdecacebd719c1fb17f8010483e00af29901d000d2133400e9ec3db501e6ac378098d764c0c15ea50ba8c1d89cd1d9fdd8c1b48ea2befc9bbe93ce9b0bae3710b53713107e98d78196a8a1c8aace03e191800809514cd1689342e1221004501401822008c2200c42802008c1270408014380200408c340088550f807860b5071c083eea39418e01ea90a17007eb7472a394fe9e51eb5fdd3a5b190ae90dad92d3938a10b3d21498e700d36ce3e56ef73132ebe9489ed8dd7fad9316c8afdc17a74b18b5b3615dba17359452374c7608441fb461af3f476fbeff5c764da863c20271495e2404347e8e9081c6810e8a3f3c061841f4009645c70f01064d841082108416b09f7692d1ec363131c4884cd9a08788277a820c76f901ffbc3a88d8060720709a12d7640042300010743846e76206c1e0721c0826f9d9392d81802c88d44b645d1354995c23ee03330204af8a06477e0c011ba8003f700070804c15f42080f247c08477452acf0278bfa94961a82083504d79b101a741e04411ceca483f8e0070e024fe0e0c1502bca44137573e07047d01340d8d00741b8071c181250403e401192e4a041d0c003435052082384837c800308c1b32090033d200470100e84d0081b78104ac89c8800ee0123ac0380601247c8012068a8835001c74778a8830ea01090d4238038f0818380b00a7420206c7b8e8013b30e244088c27d7f9908ba1115cc23c7910d6c1992712a0a7cbdd9c148bc9a9082534fd7ebcb65242ad8c2a36f45ec28bfd2a760c542ba91596508f094832b419b930f442807dc02627df0014330091f7c3040f8dc4120020804e1e10810422379e010347860810003116c24a4193096107aeac02068c8414650f241308243d8081e8c08563f040f611d8146d80f70e011dc72847050043ff802d508f5a0838220c38ff040114cf62020a8451cb808d58207b8c7fa16eb470df83076d2417c9231271b429da46f214a2d487a1a3858de7c4452100faa341c7008d832c281b00800c20f1c825b1e61847e008446d8801164d01092540f340c08bb00040f0804257b604d8896e884907820849a07d7c1d8c5f286fab829a324207c302786ab1b72df1a49498b2373f0831841035e080f6688b98ced23504dd91be4226c88020ed2c223b845082180e00e8ad0101e420869f160040dc16feb404310f8c1486741a0b811483a2004ce6ca0c18acfcfbc419b08e221b282400e344c849e8a101e4407f60b260725f181c34d0161a0dc0110f6208421e4837f1007f3601f04211c1484078e8016fba0a47be00042078f030de860e4a02e0c6e150377e41a582fee395441191ac3ad1ca0837710c21d0ca104600f0c574879127937f1657a4779d28c2622f09ace284f3260400463df20e3581035fc5a37764a83a3fb17cbdd6ff3e3b4c7a3f66018738274496dac9626ac3f75059ccb006a76f81a4c909ad60102046201069dba89daa472c82f582869503f0693b9771b09717f180d2165de4b0e6e6dddbd94469e4506310301800938359e96820fd308e314db3bb66e21442629659249a694b403a001b801a601dc25c20b2fda2f10b808f8addb6a4f2c999653c1376deab42b6a8f5e2018c809dac62cd6f8c40a3006c5e48c3e686a94c17a638a164d5b8b537a91c92f1af945ae5fe4f18b47ad2af483d2292d2ffee0d8d85d74b1fee28cbaa6a5aaeeac65cb7667ad0aa60bd29e5f3eda9628b5b6de0840fb230eb52d31d544e127da9cac0f0e3bf4c5c498bfc452d67b130ca6040d90ce25bd2651aad2eee68325ed596497d3a56bf2c97202ae9fa7b7cb94020d416b0adf55631fe3314b1d7bbae5729992b81e9e9d81249e30649237c63f690ecc8fc2d274b1b81ab56fb59b6e39dabd214b9ef0aa1f2e148aae3e46a2ab1a1fff6c70586d918cc7e3084f1c18a8c7892162058e8992f3da4e56af83124ee15aa1d2775b215082dc01e10efb5fa18a004298343886f3c1afaf2312a40210440210b4e183416790d8833c681087bf56c26c3d684fb200e1ad3cabd56c091739b13c979cd1ffc4db1a6455193201d2b1017e7943b56c3dea445a857ed08d6f50b04c69d317bd9c115ecaebba5d590fb43e73386bdaa5eff775414f97032e3de77edece6f9af988022f0bd61a390666fdc40b623528906448588157983909c3612e0191827565874fc7ce0da1e3cf0c2a324ab400c231a395f615e5081358a75944888dd6910790a519466541401a5784562f92a4807d4724529cf5189b81e488886eb955630aaae9eb88057248460e14184e68949425b0a8109d9c00a32a12e3074f151c7cf281f44324a4ca0ed2668a4590910922b4b1274b960031d2ebe2bafa1105960345b2ea47458fd10d0d5f8b362dead161c2c2a09c29478a864c55058941e2860e8991086308ad868da3dd0a98c74a0c9b98c19134038261fc94bc8089653e622f9add0e5d14307868e308b7d0e150d228dee8f194046997a4eb2a01a7d0110d91d284a433fea09246a65434f211d229f9d8e8f0d8e8a899193a01cf486392a233a6db918447919b58d7bc42dbf14409c669bd511a32586cd203f782633f9dd70a2b48192669bba7163d7bdf5888ccbbbcefcb0068c355d2959b2f1da42021de0b7ebc314171554642ecc64c561782c9e1b5b36bcdf9e9f25ddb7e454fd46f34eb8de6379f7bedd9ff7eba4d6ab573f7b3e79c33cf3c67ff3333af3ee7ef73f7ed9973f6fdd4e7e6fcc35b6d473f7f3def1ddd27da22b4530dae0fd82806da71f30ff8c5810ee8cbb1f816eff228aab7aa3d8afad7d52abb3d8bb23ebfaee86fae5ef5dbcfe818afaa1f4debf5a37de6677bb8eebe21d45ced2cfb3815b35dd24facaa3fd95eae1f4c6ff537d9df6461e1dde3d0bc896edf2fcbfea5cb3915dfd2331e68f3d96e3bcde558dbcba6a7ed4553d66743e02104081a3626ed9e2c1351b3eccbbf0f7998855db75bc9e31d7dd1d03a86ffaeb6cf4443559dcbe5bfe6f4cc67fee667be4378092f8568b1d416318e3a53ee80926a1e631e34b0179a13180f0d22125a62504052869e8244d4a40101c92144342576eac2059f68ce5a1ffa38d979be3d9f7c451ee14a76532ff70658c54dc9659eb0200bc1b2504102840b0772cec28297073919de662a71c245c28c42ee7c743a80704d128c8d9d10ce59328226f3846b499796cf154c8d248b1f233f37457c4a27a4ae24a16089d57c3905119275438a462947110d20d838dc05a1b8e081224647cf4cca93263d47720c81777c087b3499889438423d359438593f2a154c3960984cc922bb72f20ae32242d5c469882339e482b8d45111c368c556528c922a51caa29414972facacc4a09692c26cb830cae0110206524ccebdb4bab08458bfdbdfebaff1fe67bffaeeb3a368dfae0a8765355db0660a39feeeb7923ac01ad8fedd9e67cd4fb4ab7aeff33c7df768cea035f79ccdf97748b3dffee4d9e937d5cdb6f0b77d0db0ac7fd5756f24de13233313738ffe7c71c3bfbff6799f7b84c1f8f9c477c4c8ccb258efbb2b7512e9aa6a56d5de7b5773cfbdabbdabaaaa7615d75f9c8bec2c7ab3a92c6a4757552bbd9ab550f7344d4fcff418607fbd70c8267bee39ed71d55392c34838328593b4f011a52aa5a962299f503f69652c35a3935c629aba46df3def6de7bc5561d58babb69659997491eef1a66fb79bab6c6fb79b8bec279bb3cec36f44897e62438854c3b396a269cdb7be758f5e453f8a6cd15cbfff6d5b0d806ddbf7eb96d5a977ff0d5d2a8966f11430ee41c6713b2e91bb4af7886a1bea8fba6dc10d6fb655a32d1bddae7163d974b7819b1a29dcf9fd80ff7ba07e77a759d70dfc4c20fbfb4c8d24c2d99fd64defbdcfe9cf443ff337d9df6f068a34a894ed1dbd230143a7018ae4509464418e29008c548af201e4814704288ac7a49248b038c4210c85401480020019000002cc204310323576540886408b5e75e3e94732f16d58bbe313b3d17bb87f9d2f5a13fe829c2eccfc32137583a87d410a9d71ea24e9e22a48910cb7c0bfba513ca7b1d43d54994d1c50aa74a2a6639c1728b329c18cfbec4804baabf54c1159eb809bc422de97a003cc05509313960965d99264b81cf4e6ffc1a3904f16c9329fcd3c382c4a261c910e21204f740fbd7fe24bad5b0448480161de500c229d84370368959382b3eb989d5b4bfda1fa5007e9d138a33f460b631ff234e05acbbbb8db13adbfdb702f7cd115915266d60c1299980922863b06d026f6c837481b334b25b43702e22c9a8ae040b46ce780aa75690f992caf9e0d944d1d23af254c8a92c3e155a015fb7c16ba5fc3d6ddc6bac130fc4e42ff67930592dc943e664af1ec77b6a0edfe26e92a4a35921995fcd761e1f9da6f6795382f6648533844df81be856e29f99e9112622145b66358d4c2974152d5a489e8e949e266840b5b81304aa09514fda3f138c2ac4d0c91a276775d8f032eca789048fb48f271a07097f8d9ff6b500a7194b955debdb9cb250b1401020229c69d6e1265098351dc91a40a130e8ff4538a5ed3617f650956a32535581b64b8e498898cfd18e30eb28f32e15dac7c483d1adf5f31e9044d6138d4569c43ddaa1c690e97c49ea0cd10d2db01cf13d4ea3bef1913152f62c54ccb8c33aca06175b5214b9e71d14b395cba0a09e354fb30190526308fb22f5aa0f97235fdd7362a0695b3a62272f10ac82c652223221f617b264eedc2c05a43a9f4b4634acd8166a00c6126ff369bf66ba9c313607850616f249cd22127326e3cb8308b3e37b3ea9f5364eb8b4c38ee444a3e42c8210592465866af25dfa00d0aea0349ecdf313427b748a9a36e7ff1b30e20ff4406ea67eee357214b8e0dbf1f33e55e5dda03f009c8306bf32623be8d08922e0f052a48f58cd40ae41747f905f36ca58514e8faca94503a7f3bbde13c5ee071ed988f172d78df12eea3fb24b1544cdb5946c458e26e2feae4a2f0fe9ffbd040a965d20839ee18cdc4daad088aeeabed066d13346f326e4b707c3a62692d9a45f6d046124ef6541ea8a87f78c77b0ceaf943c455e22de83b077aa6a9d0720f42d53dd60c8d8c3eb4f1b6cf86bb14d5c8a52f46ab5e202577a0dc032d2bbec1e24bae084821ed7fa532babf5ea8c7b59f8f44084e069aa5e53da6aee655d95c0ff07de1554ca97639e681031523c2d39fee22547b8b47191ff2defe76c2307af6dbe18567121ff8a8db1580412507dbff4ced4962e45aa724b7e2180a137610365c2653000c8430d94569826c06177ebe6798a469ee0f9691bf26c15b0fd856aca436b5227d21b3c9303b392ed2648f235b964b07dcb030b1a3aad160084ec6a577eaad54828b2e6950aa2d3af1242b172d34f4b18e03ae444260fdec9f6d67f4a06acbef8ebe8fb10c2aa32fa2ed299885050886a4b2b8cce797f4a32b7dc773f94b5dea42bc09ff179a91b47a00bbf702bea81d7e0a393f5ee425303ad1064eab9d6f40abeb11ffc6cde221d5cbe512ba9bc6aacb9505c3e5f7538ea4144cd4d7689cbd2663f7a65721cee001b773a0c5837c609747028988416a739d116ae4a432203719786343ac4b46d788a8b723f6a6a12f879532ec23f8e0f156aa113a4e202687d001b3b16f03cf38a5150b8fcdaefec3c468e08218733b5b6d814256aa90c63ab3640d594e34ce020f85b8a80dd2d3407006e9593c970bbd08cbb3784ea130e8584eb816c07164de44f537b9d858e22e1b0c7c146d404bcff44534f7dac718c1a9f231f0e1494d65ea154b570aac9ceb4a8504b286b026007500f67888b21a6096ea836ead0e3091004124a81a063f5dd518dc1c97dd0be745dfe0660f605e4f7f23facdaafdf5fc14293db45541897338298eaeaab9efeb95a462704cceab2771871d2e7b1a74e40d914971eb160d800c75dd582d1eb47c2c592333fba02407974568df73b5b48556c9c4024f4f0a5f86c74cff6c2c83a471097f5382a2b1c57359d6814050a956bf03ad8b50a91cf4f148565b3c97ad8f506e02a29fb6783a8f0bbe7d84e505828c3384b83bf83476aab0876dc1434ac6ca251f982aa226a94b8ab93c09bcb5b13365117e7ae9a726d4809f8b57f637000b6709d6411418e91a9172d3c7fe19e10db4818aa9e46c1e00f9c21582ab86b6f2afdbc92490c3d4c01df1a84b6d75a005f7a0b25b9504c1ae2d5d3f2ba5299418b2e344aac69089c2cf1e0408c2bc1e9899bf938289d894a68934db8a49049eb6f7b416dc75e40783d1c3ca4888c2b803df1581e05044819d78726996632fde317230701648476137577db5c4b61b81273a397c4ef323db72d3c7113b54584d0e1613aa8358c8085ac4f1e3576c68bb4af5d78010a3b84287ba21ee1a2dd598c14d8d32da070367a7804e7ba486c45a75361e6a7b0ba56a875c578402be3e9aae412424b9e11bf480b26c71ce2af3f76147f295812af6755305a557a129cbde6607109a4c6becd6fcb56df0d4f3c0a8c0bea0351e67d766a12c600cbc2b70d1df3b8064a41987fc0308241becd754f01d16a57f06d74b812bd01b0f4852573048164024f4262c4a24f7f350e7ad958934e3e9ec87a8f8bed1d0df09175a7e9d59b06610dfcb5da608db7ca14c6a394bdaff96d541167becd20d8d627283f820dcff00ae84d37d006e49916e4cff5b21ec37d6a4e242957966586944652183635b23f277eb6cb1062d1e63a3679fbf10fef955daffc07f5547a3d5c3306c325ad30ab8f0ba5fa34b7be799d77e8d40bbadae2499d8fb35e8876c576c8594a617dbebc19d5ff69d8df54f4a78e0782dfb3574f13069277ca4635d9dd4d23e616720945ef13df41b009b243e34aabee1fae608a1b4ace7292f318a09f82ac6baa9be710a8d3b13383ca2c025bc764f38eca56f2cc1189fe500e6b53f8d6efa1560c38799ce0deea1941671268b287fb9c9e664b55ca44b5552f30d5a1c8d7e6f3e2e3eba959dc7508698a4cd3bf59c6f2cf766f6bdbda059457d1ec49c3f4d1b3b81644813292fee7a365330d86e28d0123ad384e97c1ad4181e1cf4ef72df91e2851b127ea9485d3c7be73d6e33f16328c057360a4c39a5ff0dea43e2402d11cee291702c66752d8276d06e19a5233c2fce5968cc9c4b1dc4e80ad4fcd0776ea5f61a9190a7254879d492421b4fc0a8ceed40df964909dd3e274f2ac7ef26743d0ee0e09be2097a65996b95ee95e72395ec7517afd78a1f5c0d141ff0c7b7c8c82f3953c8026a89f5c017a6259d3b751f04c4c51be03be46600bfd1f43b36abb0e124a197a63dfe0c8a77c436c543a8cc99b046b5b89e8e4bc58c02860696808ce087e9d314495dfb8509b14dcc72f3d34b65500fa29ac01eafc52fa19eb43ee61127fc7d1e461f775101bffb9aef04eea75a8a24f85aba2c0ce8636724f91e387d84a56cece08e19fba3764188f51cd8173d9fac5d56ad86642cea154c19744167ccd2cc68d411a7550731601100e7ef20ee72b460ee4d9e72b84b0c295870da3414c0edd690ca31d7ca061bc65ed99ce821308d5136a0d7e69d43ac52e1a0f50d010b61247b1a49e56bb4cc09397002dcdab424f06d4502eb4a5d3ce540fd4bceafa41f933acb9f407801ab0f0adf8e95c1634c125ece8213bf781fedf58d9fb1ee9212f1f1aeba9a6f07bded894e6f41db03f9e5b5eadd88f562aedf987d873549e94eea2eba6591fe613010a3627db47c48f881eb2b04f70d5eac9b4e6e0877a8d173501ec7249e65c5816b4f287d650615c8b3aa0674c4c6b0fd902e775cc34d7d1cc8dd5ab5781e5f7879bbb169be88e4670c67eb5c81a52dda2b8c607fecaa1f2909ffce0553fcb868f007f8947f85e455265d6954ddfe123e498693ea6617eeb72bd47ebd8f7f6d0bb2ad07d46881b0a8c4cfbe3634ad77dfe0ae6b85f104d3053ba90eb83931fc6a680e0784d8e6c54cc88166fa17e39be3802457b3f729d4abd6f2e359ff105e95fd3fdb80ffa5b1ec090d1f646089fb06708cea16882f81519935e3c51e688d46e10602ef8f2ba6b66320e31454829cd47cbfed2814705f954dbf330ed508137dc78640cfc69b080426129f63186b273d470343de63c4650c352394ddf30110c465010a5f5590fc2b1881515ae8db8023c34168b80a7c8b8ba3081c0280e11712c03e8063169f303cee308b0db0f22526b3ba3ef9a43be94e513bd682144d0d746b8c90fcf80755541172b86ef637851a553bb5957516fc7cdb20cfbf248f90483836bb8a10b223940e91690bd0d248cc3311a105b28236b89c5f22c60929902b286b7ff44de1d7971e80ed1117079bc33a17d506c65cf54c9b7301c4a1c47c8e9440b3a8a848da832781905062528ba568a9648a7f07540f5e5126ccbca488801bcaf019292f0399f39c2c200390144b627a13d72a08f11a2d04867c1e78f9ca30bf8a937d683f7be024b909c869a0fe1ace2ea49f861215cac84a29c31339f7ad7160c21db8629788b56c3be9af59e96d2fd7532c185a9b35e446b00b52953686c3caa59c1dfb36c5878ae14cc997e5208557a63959ae87e9aad8a822d298c7aea8b64f852060a0523bdff71db599f1d22147df0a11b15f1b01ce6c03fd002a0d49ed78361dc2ae152ef0d8a10e8b9d15c75b25ddb9a213a54a1bfb4c8576bce7fc547c999b09fc6b00c6c6b6bc58c4f5071a146d6324ed82ff470a4d3847f7dbf037981aafb3e6ba58baa55362ce918ba901c766f3320627bd9880f3ceb3db187e2b9c4ca24f407c7e57de2b50875a83dad2fdccf1c0cef823a0e1f386eea02e78d314b00d979e8057f3e38907b08d13819d59e9f11fd1077b034a3764920b6a17f6436940f9c061a67b33e20f3d6edd9801c2156f40fca1691831ffd5b262107a84130d3a1c0522c8e0e7f0645817a9a9039a4c6e2a1ad09f810a7e1b3e469d473cc404d0edfe691596c6c918129962f0dda7894d9cacdff83f03f86997114c64730d856bacf527f406722eb34398cefbb5a87dd1e21006d12668781891cc187974aab922c6a91988b21a7b51bf3be7623f06472443291e1c6fa52f04a247ccc10925043c2c7fac111c4fc79f0afca7c72155bca1e0ba5bbda6d64935d9937fc07a848eb14228d4964f546f2ab68dc11aaedb7a12146a668416227273dcc6a966d6ccf8461ba7155f1bd8340d67df4596d1b37f93fbadfa096d1d4e5797b73d3a683486a5001fc97d9871a836cf19fd55f560b042da8ba7f96e40393c58a3fce7672427789cf0efa1f76f5b4de1fc820dbbb99c0da8cefbbc9063be7918680f3b62c0f68a23fede1e3f4e4207f84f90609313f3a920fe4f7d0866592a999b05010b4c4676fb911d16b00876e4bffd9ed096f7661ddd963b683ac9f1cd020e72047eb9a2580a0208f4b68422dc1e60c4ea5449c5d81f18d562c3ac1360c2b05725a08f9a1cd3724397e92d917c4c61a9f92a5be9babd1a7416c5eb72bc27e07bca4e9a3210c8631d6485d3e786358b16776a28c1e758673160cd2abaee7c0ad3a4fffb546eba2b928e0a10c8b1bfbc25d595ca297cca116c02c7e815f39a667cc70a3aedf789a29117f93ae181f37d904c0813084a380a850eaec0764b1090d7eafff1c52ff6515c8a286032b5558cd2b0fe0c659dc40f35e40b0a969f70d4cc83044ceafc8542f89c1789e29bca27bd4c8dcbeb15713294e31d2f72da6d7ac2edf37c2d5136190f3e27179ca65b8db404049ae98cf339e8416d8955a095a0a245dfa5d009e4439f83ae19ebf373c17758c06e68426c9183b8b132dd9eeed8a705e2d6086e9a80b25689d2491a84448efe4c3cc12e49d1ddf894f9e1bebc232b9fa4002b7ea3a8ad0fb716c050fddd4014dc691a0c3cb3feaab31a803ca903abb41ec5d6bbf775a50fe79d27b481fbd1c41fd79fd2ce6fa0791bbaf6392824ed191d1edefe290d37c446a13b141105532f43cb9b485b75965f7bd63275c56551414adbad9b94338c147bba7135b2bc4f00b765b9f37b78712419bbbe67ca69e0552873b25cf238042b61c4888ee0921031e8790c677d18ad54c8a8d30534194c1cdeb8f3e44bf4c6b21f0fe577aa99430a868df6d4ed72da2f8cf2811f2523d3593292447e3032343ce7696748d271a6788c4a5f736702d7e70432ba32ed60c84fede2c496e20f0400da789d606a8e08f24d5369bb615af4da1a0a4641291e6a75d15db460b4b1b89c5fd1eb92dbd4171013bebe898059500712f56d18e6edf20429c1e5c690862608f2462559a8707bac7330c326363526d91a47d42236d10a7e4496e8c26bd1d04638529f6386415fd410f1e01f2b7f9e4fc19c128b5d541a8c477ef1919f7415a0cd1cc02223fefd669bf4d5b6b00c738ece3b73dc3313d6bb01142357ccf9925d2088020e110acbefd0e92ca9c414d3f87526430dcfdaee49d58a8bbc32346fc403fcc6c0c36c874a821595a2002e69c68beb4620622a6765a7db4f88d2f00932e1f34b0ba59fe937055d186b659c482650545297e96a3a5e90a9e07dd16bae1a7b62f413dcfb2632a07271b9db341d011d70a30a532bf00c970f82d77d243c7eee16c4d5791434a4c645a9ebaa7978e5b2ebbea8471cad2c2d62fea6a1cb2429b4a53d155c871a01fcccb991ea36947a0076b09a401057d3012bc08fffc6c86a705ee40dfbcf0cbed911bd82403586c7db8e0a410410ae08fc45084ad93bddc36955d8baa2310a13215b6e29a5dc5bca24534a490684008b0086002c845c3c561c7b7efeffffe8af3e77777f1d7b7ec5765736e66179b3ced65a83ddcc4cc2ddea43a2a1c34583b5b1b83a5fac133e1686cdddbb99b99dfb05dbcdcc5cb7f95d501ef33cb8bb1e4932d80d78f3ae6fb733787e7e3e81a2c613170a843723915e9e14b191c3868b56a16b183afdddfefc31bbd62efc63401164898834a38505d3f43c1c61feab72027b8edbffe4d7bb89996c4fc543dcc12d2c7266e60e2ce27103268167d46c8a546f97a66b0865a7228430b285384d8f97b94340b92299d0d86894515216cd8ecfd973ce6a4e29bbf3f6adccf7ae264eb16ee7646bf5bdf75c8deb428a3122418ee6efafd6658684e3c3e5e492b974c49277b825fa88a55a455c3194056c08e7cf9208d2e76c71e31e233b8ffcfdfffd1d803b040de7b3f18d66b3d970389b282bdd116b3cc6aef4e9af5b77cd500781ac4f8556d091be65bde5ceadbfaa6957b1ba73b92b20f629caf737000eb062c23f7bc658bd90d07f2a4e83db672c5e30e494124080075057a3a802a103ed9fe2b809c648a962df65cf50bec973c6a8e891843fc3f7d77d950d44dc5504cd3901d6379418356ef084e88543134160ba05576f6fcd255e8aebc10f11719d034d710a0be4c5630a0c5269146a093977cdc8e69c544227172938d9529329ca3947559721c9bc9062601a32d075848618f76e4bf0cc6a2dcdb4a635adb51c569655450b82744027fa523eee1df7d6bddd3c8f81aa5de9b2dd5231ce3a63e4bc37e068a0066ae0011a2d8546a833f8de3a63641018100884c2a15824084214c294748c3d6391b2b8491e128314c911460c32c61044444444241811114992a603ab00cf44d1e2fc327466c718f9db2f0e90438ed0f04221ced1099e0141da197e103d22a13746d602f24f7a70131d3c1554b8a5c150c7c02b9be204f0cedcb935c621fef0528b92a849f5e10391376b21be657116f532cbba5e1a7c6bf2a059721a4656ea2078d8aa1a2ae5f4b534c2a6defa1fff1e8a529f4cdd61890a82e08658bbd2ec9a3cba6579f159c6a5b7ac3517dd0fd21b1f23d1702be5c06c943b6d4136490f3ae640209125b25caee8281635bb4dfbc4992de7bb249b21a1a218d99bcc46288e1a090a7f3727d9df0a16eb693863277918c24bf95386782375dd7af7f34c76084d05516f14c90d2df4485a44ec9cbeb4590ea8203cfeab0372ca833b9a570f8d4d86ac61dcb56e6689859709d186e3d0a20283b8c740c0cbfd09a1f0d8bd9940c5f2698da9b198a3652b22ce7a5c77dec010d25b2483fc556e2ecc0d9dd92a3e2aa58873b22de21c5166e26a1a4ff294504c42241df833da70d033ed60056e015c942966939b416515c83ceca5d03a32b7596a41326da511b53629ed35b8c0a22eda8ba2e15068c648733eb6ec7745ec07e87f31333faf7da899dff4d0d56f3a0fd694bd33cbc4327b4ba6c01a67a120b9a48bb02d1f44ef67b5312b8773a4a28be4d1935ed3a8b82152cdf4b3a74e790aeca78682c6d8728803bd0facaeaf60ab11963b1ba2bb65f04d6e45a5be87372ca36e9bbc13710aa6f1637c5a1ee790e2421881ef00e93120e12dcdb3b62127c2f10e2ac7283f3c65211153f571be593e0a6de145533382f34d2b0a88e66e374620cb0c9827f9715a726d5f8e0197077c43fef5cd5d2d8278d91cfba7b0c81c70b184429ad9f506f41ba3f14318c13110d4194ca48aa205892d596fbc1479bb9597628276c3363db689f6c1d43cae4c6d18408971e1af5dc78d3f223c31efb9e9c219d7ec66ff8402a4c9c35e19e1d2aaf34948257821ec966a96cce0617a2148e11fb7c1ced022153f9ce80033f5c5bce195a61244fedc7a3b531a12cdc922c6c16f213550ccd287b5d3a4fd70e95b3830ff5c5184f8b3fadec24c6458ab02e3ec544374b4c7cffd37b1b7de98b942fec4e461f150e3c2c2a25d6e63ee861acfc1ce07cadc721030276b70cb3f1e799428c9cf4215c91d2781324540470c02a21ecb89f8c7a55961d3a42958a4a2643f23a036833549f1b7aca556965e3eafdbf2e59a651c9755b5a1ebd7e483e2a06e9a6072e3dc41ac73a3293ea951d9513642c59a1d844bb734a7e2f8eb6ced11714208f4510e07318db2041b3db6635386db4821f8dc13beab552f823bffb00d18b21d740fd6b644ad1198d256cc940c1fdd1220c13851003c7ccd970e1867a03f0fa83282caf290556a53090c3669945fc570689b58736823f6426803bdf6bf32a20058f6118218b2968714a74759868f98da3adc2497a9d3631b394c7ab5c4466787ee56534d9cc9ac6f25223672bc636303ae4e6f0686400ca798a7e1edbc00d528f7cf6d61d39743096534582549dbf3c0dfb8d03dd5a5bc4eae0eb3bba9f125e40c57f05ea56a94c09603f648bae80d45153387c684a77ba353a1a665cbb5dce6c1a665c9bb8c9b9629222f685a1ed62ffad74f1eea8414709fafa9153e652f7898172e075416b2c910fb475a913af50b2249fd15c9780df79105d879291145836cc36482d793d4b63c1ae90bacac9d1c6edbe781c92652db47ac5492db54e6050633601f7898fc67b68a52770d97070f12178bed75bc7370331562b4ae126b5b1ae65e91cc072e5581f9c391cefdf105bc0d989c310d9c86334fad1ad1115ca14395f72c7ff94ef47c1a54a7dd0e15ecfb87c4115ef2ea441fc47c18a7ad4564f5d8ae485468d92d2849fa79d8f3329d8cdc9280b2ada159e742c60c58534038d61313a6f93ddc35443fd5250199cc54563e81da689d537ea398743ab3ef6bef06f11210983793f2bf8e168f7d1dad9d51c3b7512e34e0ee19fee4a2993a8df5667548a09fb03a840d683ab5290963b21f04d134dadf8ca67405d7db452b7f1c30e6187785c9cba9d6ef18a57df9a6089935bd79964d7b201313da30640c01f61f9a6ed53850d18fcc7fb6b6a74bac9555ae7dc1f169ecfb8cdad21b50b33c60ad66ca8fc22ca4622b363f8da3f2e424293fb7009c18ef89ec13bcbf7a4ae43389d4f7efa87a30aeea63b82989588b3caa8d791fd3c8804294bdd79952f87845b5bf62abee558ae4fa4c2ab4b72250e7b110dd8df18d2716dc38ae2cc26d95d462757b99aa3e875d54b7bd3e08f1a321a0690678e6184b49538c114e49111241e3e1c9868d9daae4eb3216fd8dbe452634312177475a2a346e1d7233157542d95e593e1f1d88b197d19c927c6f3c749e713e4c6b2f3aaa3787a12b63b5bbebdfe3d7307848a012043b985ebe938fd50675b926c5c89bc1a01d00cd6e835b7853791ba0fdaa67d5d86898b4cf8dc1fe8f572be8c77aa5c6f35b3b0be2a350fa133a21e31f29523d23e721e3e8e8673d472e1cddc8a4313dd937779d3649b5052755f1c3a3c5f317d4567c00853c4b87e78f4bf56a790c153cbfcb1252c0845f040808166c8f8ce997ab35f17fb62e625571ea3d9294e09ef107a9a2798d40fc3f431570e494651618694a26508bfec4b8f453ead000220f1ff71c701c77e54660531242d7db44cf7ef17d14e8fabdedec15fe85e4b12a7c97980a57e05d8361a5effc6ea64c2317522389174335dbe10480efd0ca5fe1032acc0433c92b57c24309cf4f7bf65ce83f7808fda0bb1d59b0b22d9047f3e143a541c319e83b68d7494f980cb88e5f437870733fc82fc190f796dafc3f55fdc424949e04cdffea01af1a400c100a75132589868e3903748b43f809acb16e0f0fd56e43679945f633c448bc95179ff0faadac9033d282eda58fc000f13d33377d08349c141db8e1cd107e9b84557c74c257d13d0517e84b8770831d0b836f71322add56a0f3e7dd0e7d61a96539c414dffba1b74ca120d1169b643fab310fb63e092b81c1dd151f4f49c5698bf6b070a6abf15ebf7a4d0f02c941c449874e9afffd5ec4bde949c29ca0ff297a45d1849905366d8f63e0528e6355736ed165cf032fe78d8988043254fdea9fa31e1841a9b51ea21fd52b56c6f84cdc72125ef06fcd8b12f75375285a639b7f01c55a9aee2558c9b7b7bc1e1159f47fcef2abab458f434ce04fcb19aa85835fbdde549ab8b60617b79b26567f8aafb1545eb2a3ae5a93c99fcbff137f6d478cebc35f845f3dda08dd03437d9b417aebd2fdbc609ca36f498b885d1558ef881779f2211c7acf37b1ce45c63045f0aa60dbc88d10849b35a795716de4702b7c9db6490ab503371bd77661be6de33092e99f8d4aa8d3d1405cbd1060bc549a3ea048a167aa5759c5369e5fc029d6749869ba24973e5c57e560af263fea4056c0325744a40fc0cca0ff7ee112894d134b2336e5e7a3a53f9081d7cb32ad210c5f54b5341adf0bf0ee8b20de9b005b85d56a9c8f86157704e7a2f9502d687b170360069e48e49da2f1cd31e52b0b8ebc1ee4c31b412f884bfbf283a064e84dcd615f46614ae1eefe5253acac706275b26d2a0752f624816dc8c40f3431726d100cfc3ae980d4b3983b384b2fe2b6a81e9871eddcd4546a02f20140c559728d5e1e2f286c613817f306d0ae0c8e17c823c36b96c40dcbb352fa9f5590c01c74b5c9ab031d917e3031c415307a38971a53e7422e810ee401beefe842f36e1a7d350cbb1c9df3da9268247f0b32fb08484e916fe716e513cf65d00acac3adf9ceaa62d34405b1bf275c2950ab679b3e5a2d69a8dd9da337c62772b276442167bd1cd310e5abc6d93a3730864a6edb9300f00a84a777cf0df6072ca65054f0b086918185c187aecc2b2e2fe4bfcf7d84fa2bb8231a0e57cb83a56d1fc5a1a3074ed3d8c2b97ea1aa0b46dc3d233a5c6237ba455cc395f4e33b683c7cb9c58ae00d894a2c10eef05c9266f8637e915a36014fdede50a3d2d2482ab0288011a1871ca16f878fad46e67b5e4fb2b17d36e4a8ab5ab27dc5472372253e02ffd347535b3435558c8669ee87b6ed2de3886c619451bbe818acf10f8e5c6c2aa1c9003869f93ed23acdaefa1bf6f6755d1ec2b4cce18e2f587b8dc9302c013e2b3aef4a192dd7000247e902c77cfe1c5038dea01dac871280dcda0b0e6a1c691d86e21a3b5044488d733013cb2c76ebf39e4509e91633f10684de59b5ed7f3afb35d59b522637cec1fc1e540377528a7820fd8472c1d2e0b64b1aee023febcc8b8fcae251d0bbdca2b85cc3705b14949a23c5b6f2342043d3aee5941ee0cd62848c329d78dba7ebbe0986d42f9af0159b999f563b9af4fff4bf46efee473504d72f2a4f944341db14f992c57ee88b21bbe2100d23e854af273466c718460360f04ce6c35ac58a5fd43fefb568d55dffdc0c0db1d98d5f2e57d279bb72140e5937208d0125c6af8f544739894ad5a452d1db550c80c742156a748487509feebc7e511abb234e0c05b1d81248688c4e5f0975512cea754cdb45f93d3be7f42fb28b2be1e87f4b72ba5ce902101a5c8c007a6698183380b40741eb6453e6edc964ae25912589ccd70e83220139431a5c672897d36bf9ccb6fce925d6f32c3704035d76534b29a5a4167901810185019a6e53392ec23e60d8ee79fe3971a39c15a7b85762deb3253f49bf2c33e34e5cd68e36e0d59d9e7ffbafb7dcea60c9b8bdb46d586c066707732e0ba4446355f37ade7088f2feb89ebea2ea35ebb4589559d6feb9efc6de81e23ff858bc5766e64aed2e7fc71cff97dabccd2d8feb7db62aa81601c7666416096ab3fb7de0d9030bf342e631195d61dda5d579bfe6d6328fcc5b6c525ab49a2f08bbfb62cbb27ed57f4db3a9aff65f6afe9457fb24952e9d049adb258b24a9bbc6a48eb4c30fb3fbce3ccfd708ea125e1210cec71dfa1cc7f33cc7f1a7435f1283a32d476ad3c0d63e2f4f491edb5db97d7f7e9a1d10d607839c310fc50ec14b584e9c535766ddbfc0a94e34c8424872066640e4157fc61d1ae4a0bb9cd52f482fb1f96b05dfbd2d79a9cffe7434146fda36ed7b2e0271def755be1950d488401743d73a9094bed6c7f6774cd7fd8fe0b1bff1235bd154c6b6865d23bbfcb2b21490a0405d2d63e45943db2574fd8c6fe37dc7f54e1e0ae51f7807fc63fb5114589380996867b08f9a4b3643527f4cadf54ff7fdd83e7d8eb4c71885afce9e00e32a71cc10b3def69cd3e4595f4e16f0cff89f8f955e92e4145949d9efe91168b0afba7beffcd9897564a7b5d2267f7ecc260ac9ff30bc06d7c4b5622b37a5958fd3be465cf7e355b8457be36b1b05766a7d3b2dab43541c266f5bccb95dec4eee094525eca838bfbc8a925a2943eaaa32ba69d0aaf7bc2bd369cbf91515b1a0f6a6bc49e7a937ff64435a67cdddc7a545736434eb77b4c53e23ba8be03253e4f9b9ca877e99bd0845a5b815e7774996f3bc7ba97643fb87b3508e6b8a796808c444a62b3930f97c7dd255311a76eb88bee59ffd97f887b9b48644c6c3d1e9d9248c43131f0a3dc76147be28c7af590deaee066b8679660f85d970b085ff9f5c98591e5edb545453f87a56aafa76ec21800ebabc71a49aaf6893d7fb3fb307cf6f3bcdbc8099a04ac0372a4670a10aa597ac0a8c75d455c706cbc90274619cfd85ae6c87b096785eb1ea538e0efd63e6a69856b704bd3e79409d8f27e3fedce11e3c19efead68c14c0b5f2b2e6c7ed50239323972ef1ae4a88576eeb6d4c13c0b4b551941965da6fccbc2ab05944d481f3aab9c6a29692d8274e4543a3d99ea6db7cf79df7261ca320312d554f88928d91c95a7eeb6b5797b618b2533f5ceb18726e91c4aefa96c989f897be3ae14e9ad5e9cdd7d1f155ba2559d38a20d73b8724a0117d6d47bb2147b042c5f64e0109923990e888f0d1f049b42746af4f27ec26559a689985eab88ea6760a8eaa3be401a43c1a23c2257eef3a01af7e29fe056b315307284808f0b0c5312ec9884df5a2d1b51ffd1eaaab48a8d00a0da446faefa476d2393f58c3437db1308ca7791a22243f49bb2a9052ee06c69aa34aec6b747aaae1bcd8ec22aff11021d7265a48d32cae4ea2fba71f5dded9d85c5317518d63e5e94a6de985afeefe4d1fe9c8d65b7b9352108d6d10678b8c355ba52ded599aa91dbf687e78dfa3f4095953992d8ce83cb8ee4984cce2e50912a22ffb22bc3c7b688de7ce1e1e5fd027066f2db706836ac40a9409a36d87ea3ac7d9ab0b1edc1a66b73120dc271e8fdc71ea0e918b793c128f8af6799ee3f98ddf5de6bb2ac5213cee6889d4c71f3c9eb70fa28543a3793ecdfb1b824c21e73b9234d2bdc05480551ad5a5047d7a804d3b2916985aef3d0558c90064cf1c7a816491a08dfa73d26fc2f65e2746a748b73f774bdbb7f47b47036f9d97e83a208877e8ba4758cb9ffaa8d0deabe150289c2fe3fbde70b4b086eadcc89c0cddc372dd30d7b939af1f70070e9e72fc723f80c2a97b0e97e3973a7ea543a7204603bd5f8e01b5c020ef862048df5d0ef9fdb3f3375e2292df653cff4cf310b974ba17a4758882ae82ae1c4241616dd7f67bcfdedda9bb561743f5323d4eefd2c5eb359f78995ee74f7bdecdad726dfe4426eb78dc1917932f6f9cba3d739728c7945d7c881ca05c4723dc9bdb5adb776d4f0de4fa213580a30d4037c9a0d110b84a32d36691db738d31f8e56ca3624a4b82bc142a94bb8c7abc53ff682e4d772ad5af88a8684df31b7a64b95ecfc67ada31c65b30c76b13fa018547a843b75d4942e903c3a708100c08450329c7b2a43308a19a79f3e0509861181c06c2c071408e411884410858046118044110844520083108696395f609074b822cff66827e6d486c60a6f0e624b1ff881572cb9b8182e3fc9ed08cd02d84729dc139b81b909ed563a597b053a404bcaf1f8db1bf1d2c2f6528c0c2fa4b33377b7185e05691aad5d876cd1f36d6c1fda91014c13af3e53b9b0e1056f92787ecd5160628224d83846422ea9d9d177c18422a0bf8ce32f96a1e07d6948e85821ab95d185816f0da5475265309cec0d442bf5509677ff45d8caf41b4851e8cf196f44393f77aba1a1c833cd32df9cc13d781326c82aaa0da87ae92502c7387f985e1059933fa5efbba9bcefc5f791c7137e3018873c91a3368e91ab973c034a45fcffc033c1f02e6bb221a4257d1ce3536150cb04c6c7cac7d8aa5a2de552867ba1ed12eeef090c5f9378d0a11d011712c22d8a220510a20668311919c82211d80b7d2f1fa632e84cad12f5a94b269b073114045174a5b67f1bf1d9dc706bcc1d148743d7ae56bf8160ca759ec7b0063d89cf143eb3012c811f54e9687882ec166ec21c53f0e88d6d388de327c2694f556f8c84a5c8894dbbf16e7ebac20cec5f49a8713c2f76acad8e1759f56cf582d7261d7a4a99a8928fa31b39a374f0dc713a2831df7fa18782b5f5efca7578c7b0461d89cf143ebb9ec1e513a0470921b0c7466889aeb28b6a16a8aae582649df12e5f4a6a2dc85f1fa38d40f474edd8ef1ab600cbb180783b8d2f8d3b1bf0a7fd31bb0cda0613ba1a7ae3ec759447676ca2090ff5bda4b3ef9388c656a5013f526cb5d736cfc05bbdecc635fea53ca7aca6947ab0245dae0ebab46e1369d2bba5ab562822366f8da2c9f18de9e2f4081da853b2b9a2781b07fd565f4dfddfbfe2be8521702925cd005191542bdb4222aa86cc8eaa34d562560cd004ea562f5868c310c96728f701fcfb3bb6e990d31fdf496bfc25a5236ce25bff0ca899fec479e5bf835724e59e084152139d244d24b24aacaa04ed796551a210b31e6515dc1457b372555a921b32d91da9e087069036c3197574346e0e29fbf4d55485c028732894b55a0f993b8d8061fed3eb480a01bf17e34b781a3593925b056852993ecb56d33383232949241aaf21bf7820865dec1ca5edf1da91e81aa5a72a5c0a215baeaa9b151d9009788f9fa579c88596aa940ede40f52a8eba15c8488ceb55fc8d1da66c54c6ea26c32068449f8659ea449921d1244c327f3e7504b1f7b3239bea6719491b40b5f467ce5aae50b15d80b267054a6a5a69143c9b0a2218134102a1ae2b5b170f54893e3329fe66672ca5e08480b45d8564342ce4494846cf82d10278cf609317e38da02048c29442805640b1da5e540b8343d781e620b5b11a77216ea7dae34026542fe2f12b18600012186fc95046c26bcbebc6585873e082eda16967022ce9223d49a1bb95c495874d5613ab78110e98f14d3e606729f887eeb3bd73f338e50f86a1b837181047e1e1c4c965e5c0a5dd3bfb3f9eb9b7281c8fe2976464b7340a2449e7ac5818e7b13dd901a64681d05a73f3f5eb4ecacaa4c0882794c9511910c324dcd4e70ede706fca8265729d2e9548e9f6e60606505f86fe4386493350efa35c423a2506596894ed34a0f12a36b5211c932670439b4065b0d970156fac360ad86ee8b5fd6376ba76341144e6f1a159758c1bd039a853caf503a8c71389dcb932b6ae147d36bc1a7995d6db54bd40d24f48fccee2909e069638940f9f4201548accc47924ed1a99d9872d4b41e27459fd5cc1e438c4382189b454062cb8a6913e6f4176595160643160b9beea96680a92c6c74c66b0e05e154e96efd30d057910c40ec68a0cb5e7221cf7ca45505498a043f72cd385eff574bb7dcfdd3f4c2a2a0a27b553361662f422ab8d63b6fa3626e822153791bce8b262854d41384367f2dc01323ef49f1614fb7175108dcc54afc0f918b575332c0f176627717f4eebf35c08b7f648dcac0db2a0978e91b0e78cda84cd81ea222ec22530171227010fdbbb48e35086473cda5b111952e7c19427e848759e2176b241321f22ca0937d718645b52aa9b3285d433632a5b2024b7c46a4d04b6754db119ecff9f823035a649c9e8481e18c6c7fba88e4701a08aa8c34243275a39194f5a1082b65ac61682e261c572eb58219420dc8a95f1e574f0319edc2ff1783b53c172d1d8058cbb35fe61f47fa33e06ac51b9176f2515a97d27654b2b06dc40b61791adc9a07cb44eb72ffa37d1a5982e3bb682265173c4b42beaed2a0c26c1499aa5c72d5600ed268bcfd75af735c09b3a8a423ed0a3755b210edfe7f27076af5bb460c271be3c80044d031295c80768f4c513193019cd89dce1157b7e18455183e5da1e42783abea5252f657a95a0386e792f36b9088a4a928afdbc4ddc44a0c8ee4bd7f525898744a3d15701b1e772067721e7dd2dfd086e10f6c5ef406c8add016a4a345a6293801c1876afddde978464e00d874aa357d9a1f50feffb449f4468589358f5ccf29d20aea3378474985ee788978499148803c20a39055069b235e292344db43a475ac6eb4e437950c02957e2f715c24d2e4293502352469a10664a4f72a05b2608d76fe85b0f50894d07e026fe9248a905a0c1b1a8ec82050691e773cbf84a0236760c0f985cbd60e5026b45f64b4ae4318086835ceb7c875c8d684ec78c022c4724d3caa70c93e1888d3681a84dc0508781d4b591c601c8f2f2968db245f8fdcd25f027ca739d728652fdf8425924b5344391937883625f358a4eafb8a82fc083633fd52bd81a1e6e02dda819321ba1802010de52b414fdac1cf161f706b4c6b3092c65a8292144319be222609336dc2bdd3c192b7be5655e794d5f364af33aa05bf402c8d55637461013079d5989d8c57821c39dc2cfa4dabd8b6118bdf2bc3720a8fa94064fe3145c17abd4d0b34bdcd3362a1d6c76191f4f22b05f3e22f2c6a0b6e82a031b8013b1091fe81c2810a30006da0dcf3f594f0989a53eec6762064e67efe8340658585f84295505d927c8662b8600dc25229e2082a18a0744f5587edc474a00312317257dc91bb589226d791002b3dab15b76fa250585e603548eddbaf19919daf1a2da48a840da09c13da2907c598044ab53b7c34463e49a14242c0c020485806d7ca01ba485cb8b4b09a459e9c2e3f7a6b02bd03fe3137cc01157d1cfa963c48dc8e09f9e3ab34a870e95b9ed9d12a4d4b7a56a18d715699ac62832055cb8fead06b40ed580c0414a6a5100e49c567bedb84e4fb9b26a520d83e39ca08b6988d2c64207ea233f0d44695dbfb389f18a4e53a68181830b8abf2904e95223e87c66b36983a5c2a9e7c77709b3b11f305bf791b0f03748a4fd1d63769df14bc89790a38c5100683003e1306dd649e9d74f1803c7158780c43718f0c764793efa971567c68603ef3dcc0e0d45f20087e8a921e2285cc538e7e024255a753342f21f394f3a63684f9aea4e2e3c888a897cfe63b8bc291e706a7f85a147215d79a6e0be958b1e15ba2d582b4387387b15028e63da1d36d5ecd8324823c9d20b20f2fd2773cb1836715bfb66de774103ecefc8b06035b67e744221d1141535677b2e0b62205376d82c0a93de35d8266006ec13c7d40dad6215571de792c1368582837a3565850f00e0d2de1e3b2e19cd247367fc8c45d218950590459b61c0e788ccbdecc5a1e0e44fdafa82561ab377c6fb3b8e272ef25273519a4412278fe2e3767b3117f2c0997f03e3949130abeb00888f2c557c0ca338911d331841bba97222a48aeec3ef5ce41a68f09d157ef4340a3c77aa0d75609f8622bf1079aaa7e924d8d2d41d713a104075c4ac0eaccea933c3038fd3c22fc801210d9f7208783770f19eaf4caceada57892f267c0ab7f9626fd8f5606aab3c12d068be8c6a8b601d4751cf8d367279c1a65413a8baafda1c89a52f6f44910e26bd94a9dea013e59c905a6109fdca85c7e9eb39f20032795308d43215b3656193ce796607ab8e76276671404901d7d3b42764e9f610b29f663e761728a47db5e23e47950033aa3b717ec400f0504ff004a8ad01c40706c491b489a960ffa3099c247a161ec81030e6a40d4a9c4a09dd5959ae6f39cb43690bf92919c4385b4ee4cdd76c4368f49605d1b6d1322914b2bbb7bd32601d301b901b1015f63539ed44832f642c85556a4ab1786dc9c6db22769be64e89ae8d0908c61fde067fc8e192d549810e151e34a069e4b31aeae28a55149f19cb97a45cdd7b8cf83d5ebfa176370df9c3f67f9813857d8b70df55457d156fb9e8716a618ecaaacb082ac89e3ce7c6bbee5dea2a8c1007cefd0435855eba214457004fb784329c5d003d3649a9a4bcebfaf9c675cc1862f0773d48a0b4a102b77b68481252d72e7c22b833d6319867385a47c6be54ce037dc5b5be7eee608c9dd84f9737398b6e2709a56327dc9aeb078782ab9f9efbf97dfc5fb3f863a2dbf1704a456752f8d184d079ed235608533cd2884a7898a4d58208c88c392a79aec6e04949ae123139891c30eb824ded07414cf26e04d5380325059006025fcc90a898f6dcbca6a72c4990689b53d9bcbc963182862790a651871da32b49834a5310f7202f5b419cd80549c6274c5a811a0076516eec1685b52cb180c305dbd64662052ee8f847ae9fd5967102c5f9209b1f4860c32259d15272052c5c3dcccb8449c91cbe82ee36a989b191b8d4b443be28cb04ba5f6520de94f5ba03e93993cf1e8ed3270f7d067325a6602deb1f5da9b1028a75dc55f97089e5c1807d2a8f8eb12ba446c9b6b71b505e1bd4bfb2c12ab946ea542fbd01df88274075dc577fca324175d59ac307a01e3ca152f0c3dbec8f49694f94042898b7ebac14457b582ec1194ab315692f225041d32d787d216f65e0cc149fdfeefa4710a5dfa222ab2d2d265b5a8d6a7434d39e7f4c1b7c650be97fc5ebed7bf54ddd51dbd1f01dd14dcc19efbb57567c6620cee8bffab392d5302d1721e2b585806b4a68da0baab3bae35cd3d8e957b1c8bcb3803349601e5b23c9679d96c6f8c7758b580612a990d22183be75b727600b272547b93bb227f5204d5da10324aea26ad5685bd1742975a552d54edb01527eef19ca2a1e627e557ce31950bfa85047df7d98df13f04379fb3d65283a0d67a6fb945e41c476b08b7fd7d18cab07e1fbf0bae805562e5127f785bd6b8ddec05331e6ebaef950ddeb9950f8675ea4239196d786b725afcd5e8255db2743731bf4e27ddb92c56f64aa68ab19bd72f5ec3d08bf15f39a59497e21c56c132d8cc633f25a5bbd96ea12c03f9af3195b94a0caf5e2056adf2338b65b13cb5dedb7e145b39af25311ff79824a502a98f7675521bce693819338857e1398f95218e2fb1f9d7cd3ef14f5a458d7c97b3d2fa3cd7f918fc6418a44b388d060829ed3e1243e30a404987d1aeb002bd082b0b207a01ddb429b5b65a2b062090e3f1abfb25e00480aa3f4d39a1eab629dc7c50a04b3d8d0006705ebb5d9badca4eb540802d4001285c8729e289da7011986a536397dc8592b7a7ba54cfe1ac8ba8d7625473775bd7d96aa5b66abfde7a021b5555041e614c40a99b3c9c928169d5d15ad3886f316078cee245ab8a9694096a25a17cbe322a3d1e90d094ed19a22b59ca2ca04449d305111120866c917bef96d6186d6b7c3186eb475e1c27d26633d116b20673f8b513254e206ed7a8e1150c0c180ab98125be954e4c67b5734acd091f58b7a2d0e0c286050d1648552590a296df3ae7de18d7497f84209ed294ee5dade51a4a53596d7f5b3c69d6616aebfc288844eb1163acedc57de6c438d6fa3ec65ade7bdfda592ba5b4ce69ff7370c0acf5827cd16a9abd2aa40e083f8e845161b350685dad3510ed12577d59cb4ba9ad526efb3f47d30f473bc7df17f565f0eaf1c4850c95e23096f7beb5b3564a699dd3fedf5c1c4a29b69f05aaa1cab7ba7f241557acb556a122c89cf2a79e949291fd9c5a9c9bd66a250604889695bd8e37ed227b166214ebc518bc3763acb5ce38631df272c67232542c6aada5c6176f9dbf631fcf4d599a9f323e6cf6e8c9f3074f0c3b7de8c4d93286630ae6ea5db1b975b1de7af52a4f727d621f8fe714e51281bc398ee0be1c5b6dfb6c9896a13bfa5585502f51de45bd331ac60bdfceaec93585a4cdad3dab1cb10f9b4f7ea729fd178f9536d6cb75ca2bf20917286f5cb6666b584ebfc93892833628ee629ce3544d27f2c2fe3bdde302bbd44fa9ec206fcfd68729de14d30efeffffcffa94feff53aa9b94e3dce358a1fe6eaf87b9a4b473eb2c8d77c5feebbc5873d2de878dfdce7a513a2557dad7e871555e9d879e52e945e7216bc72ac5ed380e79ae39c5add0a44d6059e6b936fe2e5925ed94f6d6d49e9d4d539ce30ccd26ef9369d6a6d3b49d553343b6a9ce6d7372ea75eb5ef9e44c359be4bb8255ec937722e060ad33f498730300d9b6bbd873b602f039b86aaae53dee5b55feacc490a9b6731ff3ce3a833d776ed5c4c3be3b0842353181127fd4fcae48d338385a89a1dcf3db18cc7f4583f6fa77df7fa8011c2bb881ffcf34e554004735e1021531afbe9cfba6acba8d49721beea9d3b127b9a11474ca79f22c0cb3b2beffa6e1070408ba467c4c5356972be3bd53494d79002165a362c3058b4da8840d5dac0400539600181089c583510ee3288681208c5aef01b4c249851f8725133918248bc33110ca3010800300c4000c80001c0010500861c5281ed6514ed5e1161c9eac51c8f6b733b71500ebca7ed1ac0d00598f62436cd7ae0db26b83766dc0ae0dda0201325097a13fec0e619445d96968823351ecc4d5f69d5901f5dfd6ab37028fb9fb83f7610a82f8b3d1da82ee0af4743b00d8fcc8d21d4e104238b6c70f37d1bb8fb0e6e002dcd3c169705e940b138e2f80105c5607d1c0cba7d719ff6ca5bf4b666b5e1f600368fa6eaa5b304341fef3c102b4adf2149e6ee447a2333b66d755214ff28ffb68c08105763b919f1ea11ce01f2e91a2f60af0d9844a446205459b28cd7e75a11e2e8c05a0eab120119970bf36119440880db06af2f4ef633525658e19f2411d84b18a6c2b45f8b86911b33ac84a30e6b082b5fd1c34c18e4ed52c0c22786b89afa0cae5bb27458444f43363950cfd349395cc3a2eea2b9757b838d085fa1c7d3c5785ac182632e8643f24ca4590af068094e823e9dfa61f4b5065e72b4cc9003290931fccd6cca5eb202b6bd0e59e6b85321e4a91df47346661df2d88c6001cf7c0926e10cc4259076f99e8a5618e3a1007e9ec0c6e6255c653b5a5b3ca0bbbb912425d011249524a7c297d8b9b1377b019b0cd03d80ca76be97cef8ac1bf0220180eb60f902cbd1a7d3d06c4d22598f79c84b55d5576742efd7fa77ecd2b3b580d0818d4315abfb3c38f5a7ac6a1fd25d3efa1ab230d25e71efec8886fead0df0123ff580a8b0881f362ba371e1fcbee71b22b1184a3315aae8c90dfd1a5b15399ca654722d1acec3887186b16077743366adeffbce1e128ca52d3662e5dfe54c2c9d4dabbfa47b49ae221b50160ff6d32fefa66d36ecc6fcd6b4111296229585552079f6b178c6152c1487031bb0eb705c84c485e41019c3b4274daebc0b1fd133dc9b84e1fbf6499f562d30c4c78da63af0d14ccb2e6354ecd1268c5895ea7791dde4989f9640ec5f7320ad19a1ee1b4d115c4c221e23aed89910ac3e00b6be28a36f00303e52a8a6d762a5c2880e76ee61a4e2e282efec31c2f766828771d6bda1b6b851fd97f471b2b39f8af82b01a5cca43f62393a9c07ba4a82fc51bc8eb538012e19e1d4fed221309911c9bafc4022f39eb317395c8175fc883eef15cf2aecb3c0980f1d612115da5ac4f9f1016a2995dcaa79a89b0c251c3b80a1e46bb7617592653c023f18ef2d88461324617e8d604a151c35fc829ba332c03958a4e52276d9b3f1ab3d7bdfa85d8f409e1005fdf90f5ebdbff001d4a6d83b25c0f9a92dea14325d1af019ce7b2d0fc9b0b6062984731701245bd88c88a687a0524c89f63e64b8c96fc0e11f7aa8a05f178e3fa820c1ddcb126e8fff0a6caad5405fc4df77ebce2ab82dbfce6171346f1c49a468054dcb47a2d28607c454e1f41d99095c394059d72e6978a8b067bf26638a0210a19c80af775912ffd147f92c62cd883812ea19a402616a99b177c4072d1672112210a3a05941b992e63e61151ac68dbc5f3622c1078231bf18235c018526b3f475cd65747aca2908ae4836635ab6d563d3bd7ae98595ecb1e68d1feea85b2276b47ae007d76c20b26e5466cdd8e0d43ade72e3d3a8a6d59d9876768d2e6c078db813ae123b5f879ff0624a143288786b635300f2097e120205988dcef0235d659783cdfc7368d197c14c8bd6d89c27285b3d810ffa3e870cdfa137169fa481bc8ab25cdba3df5c31f72ff90add3b739deb2fc3d24fe2d4047b2e47c5651cb1f3a522d8ea4d608c872442a78b09e7bbd0ef9162835f79ba2b400a8ad76323e22a687bf7783d43394a2378de063817e8876d26de911b82fe17dc6fd46622e07ac581be1dc6f1fb98ca3c8f8def9d2592ed31e595afbde54ee5bcfd657a573992488beb0bcc2feb9cec68ce322a7342c1143935c7948cf6338360f9e032ad73371c2b1f65f4057cb6fdb7dd8ede5b5233135cf7c2eb96df2208d4184692119cc36025e11d1fefd415656b35bcaed0d6f3c2848d36eb85112102d7e4f447ec4342b100c0d1e4d62aa89fc69a3033f111cd3525a879783ab81913d706ff924152982211dc1bbce224f2abbb8b33b53aa44e405c30771cfbf63e7b95401dd4215905482784c3ceeeec3dbec58b50b5bf2fac4195b35027d1fedd4b8069a3a62631ae59ec3ce7b4c0a30042d2b33e823beb4cbf80096863668e472c408b74b173283193867ea69c016c64b4ca554acc64d789de32da9179bad3e40bb2085845d41bf735159f592c2a717e49046617850c51051ec9d2c28c073f08252c863102744d18d15acadce23610022c78ceb91f3c1cfc863366559073b8b1dee1f4e832366a1d58e35a9916e08effedb5dd252892f7fc942617f063eed31102ae4d013b10ab15baa88adf987325d114d6ace638137f01b6033e9e88e74985957ca963d95167af25e20680e026821114afef43839ae6273fe1bb47b326e721df8ceb6111930360391183dca7522992e74e1c3291703408fb40c12a3900146e6c49b50a5ed45844824349fc571fd362167d0213eeb3ff0287b86fd46a554badf019abd324dabef0bf9e85d4894c58e496f37e89a2e387fdc227ae09f9e61d86857e9aabf99b7861e622806bd886f72f65759e24e0064203269b8db50fd340fec13aecbb5f9852c91ffac774475ca7427b1041a5d209e011bd7c9db86ee418040150efb291d12b1397e22862bd1989faa8ef9a32e8cf92440526cfe987d9cb3eb28c64199cdfb1ecfb6b08e7e698e19325b8aa8beda85dccbf5d9ac961cb7ef72b2acbb97d049fccbc4bec8418586549222e8641f9fc53db6d344477bb4bde58aefef3b9f0b2c5a3c37f323792f3ff55c0255bd248fa08af1d18395b0d09971358e68c7d55840edb8eea3072a116dd20bb10522d0df3646d5d898ddf082c4396bcc6754334c44045d2a19513197adc485cc0ac055380260321a57587eb2ee6e3066b64149c207c9dad5837a49f03340d59b719fca9d276b3d74ba586e607d93c4412ae7c90484c9e541360e534e8b164a4a00b6b46c0a505def8e2410c79f6a5223d34d3b7c8031c2a35c1eb01871edd807160b077f98d537011a9dd9bbc036160a1003549e4ebae5c16f5db4cdc755823def1e3c06f5167b9b992a0d558feb3cf282502c1cffc660e08cc94aecf6702c00700e07f8307851b406f7820c98d8f660b3aab8e8637ddefd59b49424c2db596d28a833e62cd8e3ed2d8234621f91bddd31bb68b7a18fdc8c458a1f4891b7668c6f090c14b640bcc8642307a34d2235e246747139196c3bba755382908f41a9caa5b0c1b04c7adbcb00f641ac568394a334111daf435c2186ea06f7aecb7268c0aa9b30d9b2206db53a3256d56ef7ce676eabaed598df5d10ef5d211b8bbe141413e01c4974360e66c934a68505daa8b2c7f00f3da29cf218b9bf5cfaf39fa36921899cad2dc6adfb68740df2d046c35d3e9beb2993716e8c08f883eabfb557eb4089810dc78f9f304ca920579e3b562c0a8933e2330bad4db102156751be16f4a42b1d9db2a757741886e75c19d8f9ed7925c50ccfa9f112c2c4558f535604a8980563e27a3525c44381ff9aecec12f055174fe38e0a554efaa6f0842d6c6a7d9ee5807cefe9a9bb7b65df4ccfff2d854b6ed0022774108947e5d52bf1abf06442cdce4ca30019971688976418ca46f4418b6e123df8a949879566e3e7588f223f93e15f260634e47391468267146ff849576c1fd5c6046e57e6af0462b6b3789aded553462412708e81bae5b8ea48830d781944445de74526858beac2efffb5b2a2ba09d3b162e48f2df7c189457513f7b030d2a42b34bc17c11627fd1daf81658bfda8ffabb2d6ae81946b5e029f6e88f04a88f5ffdf73fa47752a07b9eb16f1ef32bddf887022b4580cbfbb844aabab6bf64a90ba2cadfcf8a39170e10b22e407e3f98c4012329c6498a0892b7161137f319f4ee9b349ecce69ec8f5b97f9a5282514aee8ef8361d157203a02078fb46b1c6219440d22015fe490fcb647d961e67cdbf101e043fe2d5fcb3b62623559054564825c31d34408daec3f99830bd8e70d18e7193c15dd439aaf7f08f0c538ae57492bb213ea2994cbcede534d0b8e8be4f795d5fb36f88e72d21a64741bc5eaed0450d01424882fc6c0302a469cef2508b9af8b00265b6fe8a4e56ddb49c884fd83fc65b61daf5fbdb9848aaa1cdf36423f4b250b77ede9a3469220d7286337f7718d40c90ac683acdb333e5219dcf86294d4e0805ac611d78a70f8a15cbd480f3107856b4e0e23c73949279b43b0cacc62ce2383ddea085db2b0565b1d71fb3de2d27aad8ee8b4b4163ab1d4eac8f92c702d406ef3d944ab236785df88c6114de9b0512a433f567211d5123aa05722c395920fe864f40a2f3f70c55c146430e73407c7d8b206922a48ffc2422c6e56308aa65459c454e5d608263fc94505cb26a26c6fc07946063b8889412a736e38d2d6378554116dc391e576836018c279b4ec9339e0755f443140e86a6d50352bb9c350b141ed7a5c78a49ba6cd1e581288c8f9292723601c89b49fdc236cc2599089fdfae2c83564ad4a6b7dbe3303602920aa83e502ca316ce5242e9e342f8ea055f6ac5624b1815d1cd19a1942d14bfafc93cf53606e5b45f4cc808a3c5aea6cb785c1a61383a91c8e688664cf74f474b0e37084223a58e2a698648cd27f089aed21e9423b1aa732ab516753616bbb5b23bb25531c8922b5d3b8d50291f77e360b05715018a71ba18a6664bd4db152a6e0c8b13efcf740405bcba437677104a535de08b2dddf20beed1f4b08b36c6039e4705783594f35e2827b538ad72e5df3d91547743ea05a1c31ad970056bfea7207089475b3760ad711d86af5ae41ab95ba127ee8372b493806d4278b118e87cf6236d4cb0ad5faf10d234c1c6d14be95cd700296d514028ab423487699cb8fd8437b3b06ed73c331d2772c611f0cdf060c30c9225c38da4e903fd8704dedb0fdd323f8d63c2e7229289bf049f8b6b803652b37f0f4d70784d25184ef5404ee91738773f955c01402e893cf18e7fbe7095934235d6252f23ed6883eea29edb44628666b18d46005d025bc87fe100ce7146b11aa1745e7043b962de8dcbfa62716f935eb97d0bb81e20f6ef7521d1ce3643f8768d583cf06941d885a35a02506a4252167394e051498e5eb5d3c2d1a2df37b4a5b3207be04d239486b64ce8cf1344ffd31a83155c5afcd218a2362ee61b9708066934438b1959ef7e3dd2336569b15095ba92c5b1adc032036ad131cd3be5d98b2e301914d48c32f740211f7f5d088248b12fe338c23b9224cc2cc3ab5ab7a26c9092c93f38a0f155d0307bc454f845924bc32e73c72a4db4e36611d21842adcc9757b881832646acfe57f6591ac43658aba81ee5569d4e65f8d6a6c2c69108834af79934ed712a9ad76b922c022d80d757f12619476319e8042e1911768ea3646e0f367309f43e9de16e03b56c8ce40fb260ad207e05f3d3777c63d940caab54571aa57bbd862e7964a5be09e3855ffadc662d18325fee0f0bf08264e1d4bf2f2340d3381fdb21ee17ef825cd4f2f82befe87e3efa49cdabade1e8b401e7a214654c96f70b013dd9060eb19a808febd109fbde2621c13fd80238c45fa0b1621b9ffd01de94a944670fc036951895a8d1e2414e9e2aa71ff829d28e857f8164b159863ca04135039f0011f433b9565c70821216b77ef175920114408fba245b790e883170ef03d6c39a8e56f5f8802624b6ac308f058fb89bc2769d204f1219ff88b932d49a8583e2aaefa624e25fba5a58d2457ed4eb9b6580679a9c99f799b726024f47b96bfbd1a83db620dc14ae786cc2c4eba807ba92e31e9e3b2de81a69a483dafbd6b618167b86cfc179a6182d117b13a67c583b9c3e9f97cc1b08c24ae7fcb3c2ffcc4d48e6bc49f4b2372e5572594558591b5a952937d5bb3db046fa09a895b9729fcaf57c77299e1d15d696f07810982daf527a44d6879e95b2b84ae0008db8c3354f35154bce61f035523306a51b4a7ef36de06b43374372b11b16fd696b1462a333d658e8e937f4d4938e7b9505ae0097b42b5d261d271a50844f57179db5048e2207bea74e48d1f49ec18e95a38ee36045dcfec6dca6cfb2267584121464654119e7a7fd653d978f8a11dc56470bdb1232ac02007f1225340c109aab23beb5d7983340b43c7123aae1851a5ff330a9926a63013c2aaa06d9a9f71e4ba92eed7ff670e23b800d6cefe10556ab26390147b791b5dfc836b136b91021aea671fa34a53c63afaf1fe7857fad6d651922a6496295cdaf1fd53ff527df97152e110e2d350f66ccc9cf170b48a0d705bb48ea46ac9445b3185cb873fbab05daac834955c21c2b51439cef1f69fdc1c4ca0a8309f0de63e6f1e0abc7a18c8bb1f0f043680f81f6207a86e44c6356af55c7a621c9cc54152c82e49981427302f41480a8723a4cfb554c8e01e0bebd5e7464ffb84cb6d6024028fc0797fe79cd25497016dd972d501ed8f9eb3082342125c50318ff84bd5db433d80d30074ce295c1c02ff3da29ac8da195091380a045af960321f22c0fbf2ba99c7d22ee1b431bd6b5c219bdeaac5fcc790e116067c6f39405bc21dc8445ef09ca1e414478840e6176021e3f14c1019d738eebc6c2cbee2f0944a6b1125d67176279abc923c12f0d7176106a87f3922a8a0a1c5e03d7ebb7ab95e883201e1019248b6a64d8ddcee2c075e538916690e6e3c025e8561061caceac4c391aa3b51f4bcc999d5bd59760cd156e7117777206b6602f0f8a64f37b6d25181e3cd0420f7334ee0ba201d4d0a590c0ca33747bde92ff9a9d99f431944f50575744a98373b89af986a8a3000f0c1483e03bac0cf00f50174a402fb3637f716b472b1598c937aba8a77a8d544e07323703d7affe092f809fc51254119431a8ecf2fe55f89a4825e800f5ebc398a422472ef681cb25e2a5e7274a989ddfe633e4a3f0de5d3258e474873cbc08d1178035ab076d6881b55725f206b72fe4946192b6771927f95dbead4cd1387f9676a7ad17202913c52c401ad00db5828408d4bde4549360bf740a4a934dfba07634a35d0f9ad958b2ec43f378554b9a0cf9a45d5032b54877be4d67860efe0a98388c43bfb08311a147aa096e55d5c8a3aa7ccc2e5d6b48c81f2546290c29da10b6e5eee46d70a50a05370dad0e26efd3c7ec61e7e25b0e550fede4b4f1857b6d6477f0e85287203247d238856e10e3f059aa14208eedbd93db5634ddd4cd18f6bf41bf02157b1396c0e32a903f5203134887337e9c9ef15c03fc0c07c6db2e28001ae85217dc12a090def3f3ce2a4060180c4c3fdc2f5e99b4ec0cdb0a5449d7c43fc9b10a4a0ee44cd1677b6146e7c4aeec25096bcf5798263098d18034544769c4bcc2899fdf81237065d294c8015eea89d1f5512384806f89cce42ce67ed43791dfe9aa328aaf8fe86ecbd6c449851cdd74321f2f703ceb5736da1aacb7e1f262b98a9969ad3c669cf70d2518a3cf01329a5faa05bc99724bc60538c2079ff44aafb07413ddbc868fa6db7c4edc4cf8181388acc5a5b02e7e7baf93a859cc037cc8e961fc4ac0469a15c684261d1d06db144138962d1b6a37e2b536c23d0dde04f64332803c24184408ba63d18ef82b678588c5d927e9139876cae0252699c704a7493fb7feb477cedf70e9c22c3216a8647186bfdff934a145ab7772ee48009ca60ede918762f3fffcf3b5f6fccf6a00274d05f752d040d6e403ac3a56a0b07f039189f855096682d6cda8b7ccb82bf62501191bbc884aa94f7cc4579fbfb188c8fee13eea2b36ccd4150f38e902da186027b3104083261124b8f1925829e547adb2290c8d0adf1160ffd4b1ae69d6f8f0911332baae686d5e9c010e0d0dcd70feaa70c4e01572d626dd43d3e897593fceef5f522b498c2a008ad0f1ab89f6d5902f77886ab6956674f8b52d0150b3e40b503090be529346a63d6950b43a67ca723a02c2c55090506dcad8cde7d764ea6fd2f1e3eb13b1144592f505a4b55e5072834d7c57ed20f01a106931dccaa291727666dd0aa43f48c8ee56ba8ec652a298d0670be68bb08b945673d60726cf0f1b776078f07751b31a30eb6c41d588807364501ddc2b71e1678f67d5fa77df0385414bc0807dcdeedec9bd7e843c11518aa09c38ca771a715721a1bd592434a7b882e5b07ff8623c3d8d0e5e4b196b917542aadbe922168216f7c7e7b7a4a446bc8d1448f7c4b809b15c6d62a27e862df1b04f8110f5ec80107bdc15b3bd8171a30c5022de40b987a00beb5873f61c091c487cac2395244f63448c18fa5287a6c2630edb5c857850249f100af068d8681a1accc9208291eba6562594521bb889fb9abb274712d040141fd65fa8467cfc5fdd924a19020d5463fa370e866b6f5db5f06bd5cbd60e9b250574520bb553899bba216b82dd0ba2ce2aa10ccc570ff8225b785fb953b1ee8507720c719e828d4c5cf5650c9d5e7f0a45dfbfbb4211c8af8212584439511c8f0de9f1d42c7ceba76cdf65b9e88966f806291dc2d4b18683bce6725136265f1c65a65b8014025c384c7967de14f556190d9caf772cf062e1ea24f56e1d7030b285a568db40579694a5187f4e7962442ad5841f40bf626197c0bc56df41d71853e354eb0ece7baefc36a586fab642086c2937d226a595e9852d439edb93d0950eb16119d8259491ede82222e96ec375f4c876241f2d5c71e57223f5949ec194fb028513dd315e461c668f89fdd20079d906a4e5012f9752df3cb135dfd34601a7dc3f283c044a012c313fd62b4429e661881e21f712f6be5c1ad017c1e013aa1b8224160aacd01453bfc60e0289170b5cf43e16e03cec35654712a8a802a19282cdf26399f99f874663a68b27960203334a90f9ce2740ae8b1e06713da9494949494d402150203023702396b4d8d5aef6d66b6390702f1bd7bb0ff669b33b6f91a5b64eca4c3b42f996163501b9a294cb0ae0ea940aa19e37ad4a8919a52b8666a050710ab04f9d5163067677a2c4c19ffd41a8acfd779fcad659dfeebbfe35f592655d839f19fa43592f7bf9de2aca94fe1edf5fe2fabe6643860d51a1011c6bbdd6eb7dbed76e547c251b76314c62338905999814881b170cd29ed87f6cd7a643ee991fe40e79d77de3beffc0947dd8ebbbfb5e69d77de79e79df75d14c6b8fcdef77affffcaa7fd5b000de97a04428902224abad55bda8aebb8564ad4f34ea67b075cbd7b19d3b222b8d8fe4acb8f005fdc71492040ceb7dcd63eef2b87ffbb0d7eb7564caf9375c26948bc4e0c9bcf5dc182b2e37a74a64a2b4f955595149be1a221a145c33fc33ec33b10e6903da2b295866bead1add155a12f47868cf9a91a92e5219aace1922117384329c325c3aea1d69038e431941a0aa9d4a8cea8dc1cede61c6bdc8355ebf2dba603b5ee5a71b9a9b5becc374bb3a6f54c29a4da96562d42847bc3f3f3feff150adb7b6bc4399bde6c7ab3e9cda6379bde6c7ab3e9cda637a79b6a4a6d14b5754ffbf4e4e4f4fbfddfeba518a1a1ced4a0b8be7caff7ffefe77471071e023eb9d7dec8a8a8f88c55c479c7776e6fd558e7cefbd67b639d3bc79722dbdadadadadadadaeed55ac3803188010db0235f8f9e5c096f6c4bc2080d8a4304b9c71119d5d9704c4d512244870ced7aec7aec7aec7ad053532ae18bb7a4534ad2dafb5eefff8c9491325292aefc258fa714a59b49b54ccabc52494929fb92783c1e2e9378a50b0cacba1da32e3c3d4d98e0e4e4c0c1efd7d4f43f0102bd1e8fe7955c60ff5de063946eecfe5b3fc6771ec9bac268da017cf39293c8bdf7199b6c6f7b73dc27938a0bddfbff6f776477c6d78a4ffb6768e5668d19b1eec2ac2ac95759212e416accb6489972a588484ed99a10bbd6f57b1945c7ab28ab66dd131f5fc2392dd089b774ce7b9bb64b8cb73fa0845854feaa11d48eab42577d8e5778aeca6aee8a8d190b2a3e63448a8dc2002a69a879d1cdc0f25267ca152e87b098f4313648920a5a932bb0abac1d6a573cae6c10d70a110b11ff10f510ef10e51093c42454bd521da594d26bbdbff3534a2dad540a07d60a4c9c8a9143e1c6a2d5e5e2506ee5f85a23e63cacd2dbbc378e811eeabff5d25aebd5b7565c6bb57aebcdebbdbbd6ca81443aa5b6d68a2b2bceda79e706debd3b505e344b5aab2dac476d4ca3344f8a27d5bf9ad962adb5d66cb755d25a6bf1d5f7de8bd3a811639b73d12c6b4d371350b86f5905e799ef7d0b6deecbf7a639c538f22c708e147e7457cd52effdb9161eb6f5d6497812aad6efc7b81219d3a97579abd6185f4b6bbdd5fb5a9998e6c71367132772d6b50ef1db76fde1f25aa99d7eefe55bdf7be735b356f5989646e9b473da10d716efbdf7629c4c628c31ce5598037456589a0b72de37f9ced8d6fe753aab7d7aefbd75b80537071487d3ed262f97f0a41bca72f34d4b9d935c2e29a8b5470afa20c7f13a2f737ae3b4e6296d5de632e43eee3d17f47db794db7d2ce63627a5b55a7b2fc6b9bcd1db040a886c8831b8245c4af69bb4b6bc657993b7283abdf7de7bef7d3659ce63b74b537a6f283ef6dfa316231e3350cb5fb29bd4dffb5eefffdfcfc9491f2792d552924f5d05cc47912a443dc88adcb821880f99d719701115de729436e64c534ad16b6b59b5b5da6c6bbd017c70f5b0c71e01ae298bad15b2482724106ee7d1c02dfe567f7128a251248a58152453c5249b9c3d5276a019457831b4c6c7d00b511a27684e6cf0414ad1039643c115aee28f2a38c730386688dd28c208c723ae433d7810c7de081ae3c69194195953d0a68e86806c01910a7363633607f9c64a931a516e44f0dad108ac78a3289c01c66828688f97ad3072349a315254578e205154da00733b525ad630c370e27c2b594dbefcf6504cedfdf6db3648d767ad15db2908cb0906f9242147be10ac1d022152391f1b6722547e3efb401d6e000e2e80cc11e0d20728e1090892b50b106447af0d00ad81ee165aada3a68bf12bc816918d8f1b3146233eb47828fac3064b13dc979e596b410054409ada9cf8124bdb1f556f0205e2563887b1a3f7e4f964511b2447678ef85c1a95ef7bdcf87ce769ccaf81d2e171191f6234978c77af9ae36ef0b2f76e13280573dd961d73fc9b4c1aeb9aaf7ad9f356fc707ea01704ad6d80a4090ffbde3b45c120a885bd0cb89c6b758a4c0b4debd9ebfdfffbddaa3b75b52a3839fd7efff73615a3611429ec558accd3a8cbeee57eff8c86868676fb9dba5a7c6ff5acd7cf7adeab35d7b6eed105d9f232a76bd554d5eaffffa49b991543f2d9308bf43edd560fe7f5bb8ffbea8e52615264d5c24c4bc75a860c9279a9683488685b42af292556358ad652978eba9784492f5cd2451956ddca09deee17368ed6704913e50cb24c1ad4b091a760c0c4261817d21acdac8e69c5e44ca3b55893960aef340667f88070a66f4e3a318fb947f07f7dbddd77bff386806f5af65d49f0083afb9cadb46ed2d741fd2db00cbcde3eadb56eea11f85a9fc03ae308237acefc412ea1b78590f1cc194f4cad72cebc9c1d04b3fd31888073ae357f1dcef9d7ccf982acc56bdecf7a21a6a5cd0899a4182f6112f96952440a124d0acc0ed858a5540cd849fe39ea5b0f4acaebb0947d196bf55f48f69315cf8714211afab2f1e54bb5243ee7078cef77fc14236fbe905e4037be8182a78e5b1c080aa000c02f61c8d56b065f9a822502dfcd4c4f9ab77a276e2ea0b72b511e80debcf596fc4d03dee52424bff30074399c2f719be3ca1ce5d988c3aff165fc1321ef75769df2958a64d26aef2d8ad272d25bda4b73df37f7c56b4c7b89c97975c95e56b41793ee55645bafad5db5f8ebe30951db9ac55e74b0b23c2ff2e8bb28ec3accebae35431807ba7bb2ad5d65b876c5d1b4d6341eb379bae2bb90452ac534c530fb88f1ad018ca1a8940dddab04043c13b700101007845194a2308c24290429c407f4e187059d0b8a0c4d42015a140e050203381421120463000000101020843082a0819616407a5d4f95e06f99b462ef32db93fb3c0cf68aace60a644fe8208f728c15d2c98b013dbd1aace0f16fe01a409894036673534aa1f06bfbec3f4fb3217eb88fad624ce9ec02e0e915883a20f3dcaf89e6ae7b8da3359f7bf70d91f56bd6831bd09c1af05940c9e83134c27642b132acb005ea0cfd6bef95a8d40f64588057700e6cbac103ba69e69b70fe7e0afe47f91c31b29c017327b6ce281d4c96a6f44079c2761e3b618977f08616f7f182887b3620594f6e718f28c4175090f5cbf2880d14812a626986436a6d6c094be494ee67753f3e651049ab82b28bc52e0b00cfefd74f967bd5716ea64300f3a3edc09271d3f3c96206c6d3a06349af72aef5f89df77a28c1f75d760fb45fcb06e7e436308a045421562fe376e8d162f1cf95e35879b77e1ae400ea691ad2e0831e1d58d40f899aacf6f6baee31d80ea2408b7b32c5ec5a16ba6a0bf2bc421ffe53a1d59b593d6bda420e6c3b4cb7b5bf4b1783e2fe794aa939c1b0933d7094c458e9f6d3d6eb05f4d67cd600dbd3f857fd3d4cd805c1ff7a129bed03b25fba7e5de6a31956c10f06a4de2f647757465a0c88fbc422b672ced555a5084121fcc54279c4d96700779159e41d43ba5de440a03c7894e1ddadb807bc02519bb3787f658068ebeaed072faa3cb640fcc45766b45c29371e4d737e02125dc2b5ace9c9ade39a93962854351059c7992d3434c9a3e5e712e547e842008de0f55522fea22aca831e0f5148c99a5aa9e5d33f3c940830df195320ed3f7ae0ac26ad70d392acab8aa24107003e3fd0294cc4b6d499c570405564fd9df9ab84434ad4d52c5923975dc83e2f651d17a9a23b71b708ada0131cc2ae38f6df3a9654a92abf0b07afa29069ddbaf46a96abcdef756ed45a6aedbc67be464381bfd6b80d0759366f2a71d05f856fa711e44ae2245b707b5562367a866605f3162159bcd6c81981bed974d900b1fb99426f650af30541c72a487e4f8c33a5660888777c89b9920b93e7dca498607855f551f7aed1dfc70ad6f4de2e2ccfdaf26b23bc8e84a8815d9c894fe6d9136b0d289f86236080d9408b6929b9ea56707385cf442a2c1eddce60134dee0519eb359c286a6c702a98f26af3ca368e674a69955c69094522cc87bd1d02ea464e55b486be7fac3cbda572cb9297e3944d718965f0eb822dae2bff7e4d14e59a60a3afe2eaff64338d2d45b672281cd60d96a530ca80207b6c10f45a0fceedcc3e38f21d88bc4c90b22b016d475d1c95c4ac98250a68ba196a11817b3f4aa2146b0a707e134bdbd871efe0005c32cfb142cca94779c097f915a3992f05848e5c3b4fa9e22762078569deec96da31a902a1237d8070f6faaa380b89554c877082d091bbe52e20379b22081dc1d08328b9c0ab9daec1e0aa575e505072ba7197165240f11154a641b803f23cf5cdcc0766841a1e2921231cec8c2cafd6eb183c176512de00ce92b385ea6081f2063af26bbcc9110fd07b35db664fc2bdd66cc73c0795e8821941a34c9901f187e6871c72952b585d206406bae81b0a9a7c08990d60deefb70e08cbe797fa25adb0de4e0f591cd6f3b39df5a6898e71215b88fd7773de62a0738f651a1654b72ff4cffce8aae56ff654d99648477e4b53b9a62f9ebfc5629455f208c39eebaf83efff7f1ae3d814cd297228a1634dd7fc737994dca725c7244594f2f9c26e336b0fca137d8436a437d9eca28c01d0afd005dbd2f9cd2444331f67125c6cc6a4ff1fe20f791a0a1a9aa8fcbf17fcf69d3f755ffa71b2fd077fa23f647a4751a3ee1c97e29794f8ad8980cf9bd4e2e87ea8a7fab1213af796989924bd505c4767d530e21293256e40a05d6cbbdcef541bad2208f19dc65d2c9be3aabf6df5ce2d8d875af1492e1521c385c3af5212f19f7062f2ed8556ac1730e99adc40ab5349d086efb9acac19392b34e5ebb2add23d76c1bcda9989eaba809d681f0c533fa6a5279683fec1b56668a6fbb24b9eeede3906aa915e60272869980c471e883136ec936de46a002622ed84a43898f574b8fb110d7af99e32452024d53190662160d2cff28cfa4449e970aa55a4b25918f1a66cc4f8fbe24bb0e5ce6b64edaa7331b324d8eda10be5dc6ca1dc2c8279d650008a3c624046a7bf0499543f6da0784d0efa4373a6d9f5ec8d336a0ebacb038ee935269a4af46e76e0c21ae0056e8412093602d41da2370503e6b47555438f78cefd169354e831ef9bd3915cca20f53acd2b365905023b096382a2f90602c6b5b2498822abce0bd575072e70c67ca62ff54a44e10d10a690bb22252a6e801d87df609de25c7a6e61ee7eb908d438c74133c418aa2bdaa8c2ce5b21075bb58685597791d0630f1db2ba9ec70418fc1916f0ade1c19022b4285c5a888d5b35095b28490b5d04436f0ae6d87f80e081a05da68989b3e76027f955bdc6d898e38cf47e8ea9f290621e255cc3daadcf40534ba6eaa9256b90e37416b0b4742e9fe67759db1033efa25df145968d537da1558283e2fec0f7f4a67ac8d91567379bdaa3e5f5c470cb97c178acd79abc6ee7f6b74ec0c2ad0fa6a1450c8cecd5b010e277d2553328b41108073af9132030b05a23a936c048a55e047b7ac8eddb4d5277f53f9c21297012a65fa66fc4a84f0dfae09f77b7fd3ae642d902149efae210c2ec669bb16d3f3130c6d75c8233c3bc43a081edf40bb83f74f87a1efb03b130e4bd16c3943f5082fa5c25abf9acabcb385c0bda580f720250ecdb1af7346260180023540c4dd00fe0cea59528db9802187b28c48daccebca98b84aae3279f273dab8ba5a34d1580ae05e2530ffdd2f71b4e7e83e490e4c63f7ac540c4e1665c579b909e50e45bf9309335b750fd9a2f5a7e6c49e7ac198a5fff58e0277d0003dccb76050d487e91af98782606b60132d66dbe142b0cb3467aef41689a793389ed4412ef18130b96917e20e6a780e69df532708cbde87566916262f00d05bd5d05439600168a522d2de0ec7c11a634c00707d064c034e635d65ad4a3676d4cf48e1a95383efa6a99fe3eb583f63c6bf3b6e5fffaa9ea4b84c5f404cfe57449f4cbdb522cc1b6ed7d082da238ed4ee900697d2a7b8596bc550efa97ea3caf1ed1f1d658f08ab33e23c3d962b6b6f3e6bb93f39732ed9b823beba654c84dbb6c04f3f21dc7879308cea70d50b3ea6800f368a6fe8220a04b70ee662de9569022b679f9c5ab5a7f0ea01e9699c36d2f3218ca1e79fe9774492c26cba13b55fe470f1ce37fa24a4ff3a1c38cee06f20a5fd1c09ab8065e1b769e417b7cd0c7b8eb4c7f0e15db3ce61caf34724bae9a7edd77faf64c3bfd337c2a83301ce894e6f98c86c938b61d05cd0875e817f624077b515ff2d70bdcf61506ed7cc1f065c8bd74e26fbf2c9d24934b862f27b727b39828d04d65402d3aed5049c9739621a69382a4c7ec86068e95c59d281272dea424f48fec80cde6085aae9843c9b337237a93942b07ef672d1b7fac03f8794342f40815c9930647c24a6d1ce8135500b11f4aa9cb3f5b9140f6d0881d8a6c3891026d4dd411439b64a1711ff4caa7564575da071b314a8ba308045aa3feb6c96e467b59d17e76d2c2d8e0d3cef6ee3903251529106c079f67065e6eab7eb1f8d614515b38c4f14fe36d775d78c6848a780e4ecb8dcd87c43e1d00a6585431818c2e8668bf668df1bc23caf3c353ae11351706801aed0be120fdc89c1496c368acb9e705f039dec49507128e43e1db98b12f831cf1e3d8e1502a6703e2d83ea2cf9d3da0ae89478d5629f32207f950c962d2254cfb5b931186161f1242a7d8bb1cccc74d2ab23ad829925232d1e163172204ad7e7d609d289108ba8ece6e12e4f1b2671e84a6308c708d3874c342b62dced41516d7f95020e451d3d91632180e89f6ae9d7d4c1971c80de1ba6d3214eeeb0d9db9d51afa2730631fbe8b868d27475747032a71fc40ae9dbcb2ad61ca79fc35afe14fc3a0911434ff4ea2c3b2bcc06fed9b931674741a36064a87766d192f9b486d2fe1358bd83516bd1a7633e287bb1df93ac366c560c41c25aa20d3ae1c152f0d52bcad26cf2cb66bf1bf30e3cd06ecd1024960996dd695314dc4e48d04b615bc2f094ee4186c55f366be0ac6e88f786c06909b3667246bdd2cbccf37c2e4b7c0b99889dd78c42bc4e6abaed95b1587db82ba7914f4dc272d57382419cc72fc530ab38f0f4d53d1bb07957b4c0029c411d5ce57208bf90a4c9997f21be9ade69ab16ba0c0fb20f3fcc512219af8acfa3d1ab87ed0c1950db377988d593ecbad4702cff956a94b61d3f30d23cbc7830505bf19a1664a4473e2961e935b2cf6653519525ae84e5d29ca6266cf864be656559e6a994739df55b70d6a95c0f9194a07e186e89006a5a746e468ec3779c318331f8026c53e425ca24600edd30c9112b3df2c3c7eefa65e84cc6c2f5c2250cf2cee8ae4c67fae010ec6438a4ea734a5ace247dd02f65bdac066bd66b6301133aeef5b6497ac31f1a4ebdbaa87ef535a64e15366cb1e6f3dc4c569943421e47dda42d63a15ecca1ab709782c638d5bea122e0ac706481aa5e6e4c1c03e471195a85b323c1c03f7cf7a02823cbc463eadbdfee30ed5706ea043c2a21220c873d81a6816cf9f4e697e071ee569b35754a90eeb17d2556e2fc026e6793bd453681f9ad4b6ee7e0b75c62d82047c862b9882ca9e808adcfe312d9f7bf1488a5b7417156003679898515cc9efa64f43dd1f50369d3dad5731bfe97928870e92d466363ffdabdb117f9d2deaab5d115f751bf2addb19faf8f02d0aed40fcf7e5aad32e9039ae53aad3f2af3e0e6a546347a09a3a6d135628c940c55dfafb947d5b4dcf23bdb49055eb4321436a7c9016b6485998640c7073c002600e81373aefa6cd54703e62215858dba150e5f3b988a974d387297628c90d506e7bc765b34329861eefccfd234c10f330685fc8061b6af5f4f22083ac411737e6b2dff88ade3de69afd0aa262c7949e5c9641f18aeb133719234855abe72b008acb201a18a4b5ed342b289b39f2f6a1bb504972741267777559e4f3a8d134ada84eff443780b3ca0188a9fcff040670d1fd78d0d07a9c14adbabde3d219c3c36c2d5194f80be09a798d498998f79b2e9d6e36b01593f8353c3db20b8c91efc31aea5b44165d2b442f46acc483db657099438f78e19806fdd82fffcd510407ee10eb802877663b4439546614146f07fd0d935c9c4f56a81d0cdd6a2b7ec51a6412da84e5aeca1d9ec2f57a6236e32b3e67c7b3ac43960911a219e0b100c011d508807c4b2a385a6dcd1c126152eb6f84a25b53ffdab88f93a8127f1937cc5f73bbdd308a0ee6b8d87f8c9535be283d3eeb0a7fd38c2430b991c57e7a5cc3985b2ee7fee9f1ceb9521e8739931e2b65e022bc45b6a6774a6a0fda88ac545e6b416756501b3974c4189d7e60efe0e6de274124af7c9bb1536390fd217008f2d8ed0dac7bc6c3ee9d4ca1bc31cb03b1e2d74b7a87c088451692526f4c91ac9120093dd8dd1108162364f51308a962fbcfc3e405dcde9b3d48ca8d8eb6fe25e1c0864f808e66468465ff546fb83a8844a7f27551fb069149a59638c55bb105c45cdead04b06596aaf40928fe2fddc094f30c0c9afbc0beed7a8c3e8f89f3d24c35527f71c9232f6237ce6b5abd029f500309effb46c17efe4d2e5af4f10b31cdecbd3ecec48851cd1f29233ef870364f91aa8d32e58b593373734f156886fc0756e07f165f1d2788ff8dc2b4903617d4c84a1ef7c2336a97b03a9dd7998479375c9611fb64aefc7e2fec77cf7630c022cdd6d2e824f30924e4a9dba9698d49aeee78a28c0c1af418a0fe09afa119da62b64890acc38efa4e64bf09a4b95f5a03b7d8625e36dda4ca8633453c461033f27be28abe14f264fd5b06e29403060f007a66c39cc486df65299189ca4b57420c1a1c595b8ff520a9f00d0bb2bf7d3ac1c47c6bc1042232b1198e1072e0fb2ee5ac057cc845992017b4f744bde2ad6835047f85235a46097c3313345182c4a514e01f885fc1b020aa48cafd71ad3e015aae0b61412bf7b33e1284a204a1c877daa339fae560cbf2cd68ee1ccbe7c059089e6b9fb50aa0db1d2138d837412b112b4bce9ea53703f537579196797855072994231f480fcc26ccf43dde1672029cafe1d0772783ef3b3f88bd42ff2d1e4e8847ed6fd49e75685e29cb5673f66fafbeb9ce8bd7d8c15e24326141af1825ae9668ca942dab0990acf3694ce4dcb8262ce3ca8c050811fe4075af3d22071ca4659c3273c7819fb591488165611978c2801bd5193239a544934d1fef9ba812e8d165bc950fc52d7b8d93b8c1d87401c2d3758936327813041e650a0bf4c92271c6a4cc8bf465bd08ceab6ccc668ebfd4eef2de49d4f05cb72f7ebd4496f955e75e72235b34a14a5acd6ba1af47ecd0e9fbce767e97df4aa05304f839e4a90330d9ea038f71c13a974221180b17be8d1284601437839881b6673089ac4308a5581f6973a94edbe14cf68cde9fab744e4f2eb873c4a244401b6c8854b80dea060128bb1a5458c9920eaebe11b9b6e7672efc38621ab7fb041b6a7cbd656ccc13d5f284257d424fdb702489597d6a60932857422960765ec42e94f8a95052e724614803f56f6bb276e2bc71f7f2eda7548a2b9dcfcc0c5e79a1a785e8adfa9acc5d6fb5aedc371c2bb1f287c885aa46e8c062f96353ad9cfb58ecf3922b271c0f68c7d7403f444f2e70ec2b629760bf4e4a5cf968ecca6349e35a6ffd3b8b14be735ab9465839f1c44d59763588b15553894598d7a2d19468d878aaf878b962b91f4dbd627da52a0271b0c9c5417183a4ce1da110b82ec4ac8d8111b44b17542c5e933ebd1115031ca82e4d5be271bc453742bad45ab18b398277b0f9a14a08fcf512d6afd3fa00440c8ba376ab07cd8731ad759b092423b1d692d483c73f0e07968288a3735ac0383894f125602365a9d07fb8904123a129f1632813a5397fe22073f24788e2e5afcbd66a503e06066e5ced8dd19bad39f2de53deeef7acc3c040f7a2fe49180744fa7719f01e21712776e4cf0bce6043f13ba08acab29fb6611fb3850958ba23fc436a87ff9ec524249dfe23ba97d34f533dd9c56b9962dcd4bef1a849aa0541da9a11844a6bc554a11b4b545121d32e5456aa262980cd3e43577a9cc78638a1138466e985e400cb10957d4beff3922148b17cf477eaeedbe6925673b7aafd96f81703110c3932da8670a5d5a309656767f8ea1704efba7eae2ed7b7d9673323051a725a1e88fc5a630bd87aad74486888a891963163334435d4487c02d0921505a8817bd33010734c4c6f74defe99a0436e3d81fb849e7c08e3b8869a0843b909f3d0612ce6805475a89b1c9515a6a85831d8c41e11d78270e0f50ff1d10e3f027598a96f8991927774dcee26e4693512f3e01fcdef033521b094302ce1ff03b3c9cc8ff843d3988a4703a04f2a4c1320dc01e293eab0a0846a80b293740f585e56d82fc6e89f43e5d5f80c2516a7b58699ac3e7c7d509f1cb814b84dd7bda8b7a2a4d15650d23a84f89bcf56d88a7c15bf98389b615ae1a0a93cc3e133cd4bc9733afd5de30f1a310178429e88893e836c1cbce3942300225976e054d59fe2e5c1111a7d80525bbd163ed86da1335983ec8f43cc54c646428614d4b761a3883bfe500c135e385a651fa3f9500f8046334599a4dc0826ac4628eef5f044f4aa5442c75388193d880f4f5c9f87676ff3b8f044e071a9d855a4b056c606a4f97b0d2023a8177882827f74afeafe4ed0b3fd9d88150e7353eb3b717d5f108a8b1d9ba4be1337a0266fdebf0dbf557828a8ef84864da39f4e73a3bd138ef45723d032695d76338eddb1396c1ca0533ac0a6de5e4b69837318e49d88fc0f60503ac8a30cd4af1a57e1d2dc13a0c96f778256e4640e732ddd592ce2b6d8860bdce2ffca4132cc13ae9eb6fc3b53650b04f0526c8c388f2724a602b447c60dee06be2a77c27de85a9446b9130ef10f12fbd5a2683574c5260f976633b43c3b6c7c3d3b648b10c40775b0066b0205584404582e00c67bed599c37e5c264008bb8be5a0e32cea800d27a26c0118e7fc28bf577e921b44b06954f5dc48183f9b92a284eff75c26f1ba4bef47028565a0ec24d78798a338d702806d2a6e8610093ddbdb0986e42d56ddc89f0f784786875e2e4491eec44cba813a47547adee9c160c1c288e02f95cf49fbe0db47a669eb097182c6b25752f64379a4b46752824abafacb39a57ec7bc5a34cbcb87bd410076427167375b74818edd08efa72a92fa1a2be754c06caeb5dd5ad3ffbea1af28831509e921d344e8757257e0f82a4c84518223813d11e0a9dead2a68b10a25dee5600cc8adb37d01f39d48b95438dc5f20705184dc20013610b323e8cdd2f3a0d91a2ad21c57b488a9a51e3aa1e02b8612abedfc54d36c4bc3c80919ce6fa279dcf2ed074a179d20e650993f1805e8d3985e98c369c31c3cfd435263af3267662047fbe6d286637815e531846509d68ee146c26a3f2d4da8fac74383b10ab31f3cefd33eed7e01f85f3e8a39f183b9c090917fd139ac9910e20c908286284bcf48d86d35fe7d2142156c802d02b79d7a50447083de57103d5ee4a5bb89d79811111665e902157416495f07f47f9bc4d3cf58efcc22e7e0841eb61d8568f015ec972668fa0e47ea4c3f8a9b605274cd1d9f42bbdc0153c4b9ee7e07a251fd186262b5b6c1f173aa802db36bbbf11a8047df78437bcb625caa4feaae3b8fee1a8a32c4ff6ec265552c01702daab7e906955654e6bd943371de8fecee6c2db927fcf952e05a138581f5a5c913176a42c0ae95f6734c3c68722ad005c7477ca5b30877ec5954311294bf496b2e86942ffff08f63d6674ab37c46175d3d56483fd98f96afdf6590884dd86c698a24f009a2e638dc1c2b620d0af9cb41086b2c84a5ac8d43226ad15871650136f7e5e64407140d104e705050b82b91074c8389612e0771d33a19a918c32c16bbee8c5342108ee86846ed651d2b3ea6651e9e9d43a193e3d03bbd1d51f0e1648eddf5ae803618bf19b38a3403f2d9e96c73ea5f87815aba0adff7a2e4fe1c7af6b92e88f6a3ae05f9bad652cee7fd177837ca88d07a6531fbd04d52f8cf2f1e4a2c85e15ae3764d3dd60596742d4c9352d3e8f49262226006d669aec8bc0a2ec4ba1c0fbae456461903c6019dcb2e9a69a023084dd636e709ca807c6c6f3fb0cf5d9f1302e748acc417efafc95de7cc01b33d0862f6cffc73b2ef9e3c6b07b6bc96bbbfb1fbe10adee5d3d5afdd1f1e480205f213d9062f506223120e9959216f3cf53cbcc74f86e50dddec812b4923d4217f2daa4f2205c5918448cc812822fa4cf0a5ed235839708133bb35762282df5e80e913a44816e8f6310c45edcbe2dd1f82741199486e2ff9581babf8851425d06619d7ab24447756306ed1f925b028acfd79866404080fa89a1bffcfe7a99f841f298bc4b23ec0619d7e5d70772b58ac4be4e146c1f9f3393430ff8f53e21e8205ba8fa81feaccff8d99630fe4c00853d75dc0198c755974ebebf262bba12dd105cf239fc1f8606b207959090df9a795f20927e670aa02053dccd297efe8336112e174208fab4ec6c2721d32f0892905d7f06c6b5635fb02f0d9c87b9f17544f65b172b4c5d00963cce3c1075755543adab27b076731df88d4820ce7fc39b37007cf507875a7c592d8c0082020a824862800935a37d0e2a88577223dbb648caca667a8d88c91fb300b600c700bb25b0d7cd06a000a9d32cc7ce776813bae11bbe7a49c7a11aaafaa559ddea16ec015f1006e1afe0064c2f0c7a80ebe7f46b3f99cffdf4e1a77dfcfde36ffdfaecb33bb7f29ad9cc86330d7aa8e02aee5073e0fac9f0affd5c71879afb3ef7690f7ffcf1b77e7df6d90a8ff55854c8b22795e77a3627f7cd6fd945ae8bbb254ffdeea9ddab63bbb66b75a6c1393ecd916f9d63f094f1793629cff5ded32cc7cec51d6ace7bbba52ef6544fed5e1ddbb55dcb7ea42b772884146b9c7db0481113434a650067561f8cca8ba5af8292243973630dc771dca980e37a5f1a3fa79dedafdef6f6cdb49e1cc3df39cc55eec157be8aad2823baa2bb691bdef18ec7544e6af6ffffffdfb71aef4b668f47b51c3b1fd5fe323bdbdb72ecbcf796f7f097c31ce61e5ce52b5f4519b1155dd1ddb40def78c71cfba8df08fed7dddaec0638cbce856e6893e3f77bf8ea582f856aa86a56bf74ab5bb0077c411884f9844445009a32476e7ac5cdb503471aeca6ce4e3370a6e998e36384442596e3530b0eb52799b816dbd287e933284d7aa3d2f98980619944fd75f5a1e248b3067ad487d688208b95a47057a6199543ba802a74eeb5c1a8b14605fb323d530067ed34f2f96efa9cae33c564992c7366e694b2526666981b648d61b552a9d214457b275de38c2345389235ce464ed64f58cd882105a38aa5684e38615c347d4ed799629663e7a2e9b3439365cecc1cb31c3b174d96064b9999616e7071871a2c659f47d64a58f9c2c51d6ab0f624e9f2010255e99301dff76ddff6dff77d0d7adb7442ce39e72c3b65b567169a57972ab3b0785553c1a98fe9fd6ddb36fe8f603233411287daa106bf7f08f11f45d33427889d977aa9c779dc779d4b6fa7d3694b707820da640f726050403020108002a44ef359182539762eee5083df7b1d8adb4e17f945b9a8a848382c0d393c20bab6e2c04a315929e93c2b2c304a4b0d4aeb032504a5c375a2d41073129f149dec9c0801b8d69cc71a2ec68dffdb08c947706cff99e05b854a0c6686e6c6f4be9bb87dacad7dc3eafc040d058642a8e368e53506f3aa040c0e2114628e2a1119998907e3a051404a141c18a1988e02120206841022321688441288880249920e1eb2260b6550c0f8bfee1db71f6bc8539202ee1a9e7c81b83ebbd6d1308b3feb629bead3dd76ae15cbb0336581509182fe1bc9e719a6e5ee18502f0c6081f86b14722f8d861428fe51430a3496cd90021e102a0c29009a72f4420ae24494a495254502102740d41971fad0bf2e666f7ab526242a3e842244a8227f09a4e03a2a9c00f030d146f76dc03c4ab8e9668cd50b054881ce0d62ec30c4c39a2c6591212e7ebfbbedc7739644cf4514dd263961649c68c18bf028e8be76a3999937a60fb7692f0814d151d0498aeb8a0d8d8e02ca1aa3d051a0eb94fd407b0a49cf51a0df458256cc1a902088597a9da38016027cd51571fcae301d0f0301eba73de66d43f0e628e81028b16a155c1ddb66f823d0b7cd982100809229d3da3ce3c8f3ce3e7ce70bc2f7a6328ae7b20b3a9737cd68f38985367fe59fbe447696300d43b73f4a2c4b25001bbbbc3ec8fe8339a6bf07593c92912742fb7a103751138cf50eef7eddcc5c407a8012adb86a00c66862892181024d05dc06735c167fe12205c6d8aea963feefe78f42cd194276491957e8138cd4d6d7de8194db7f253bf0d13f7534df0ce784b2af252677f882194304db60c9764a224b722eae1e601ea3cb991574f9092b51acac5ca15459612520c5dcf3d9757dda5b9c7309d10db26f878e4e37ec88587fa114142a952a2b50505252ae504159c9511ce0abdbb51db0f9d98e4b7f17320834179deff10a3a056cdaa46b0316a28a7493e3d42cafe42687250d1dfd2f4c18ba10ade3319dd6eac67885d065218174731b5825a9ead079f249734ff4b7c40429742f472ff69962945bb78ade4ed917797edf8954093467bb92e944b8912bb9e90a81a8e30a79deb9f34ae8605161b7eb645fd065313a6fd0a2556f55926047278aa0660bea2300a7491be22af915a58d625f1628660e2feb955beb6e4dbacdf2e15188e1eccb64ab386e3d79bf65875f9ad0c0e95c6013156f6ccd8d58f3c8b0eb74d2c1056e2001911aa117885033cdf515113516691dccc2c74e02b61159256b35817d22b603017cde1302ffec8460e271d6afba5c1dc0d1751eea2cad067e88eb3b4c99abaf44d01cff234f65951d6ec326b7f478808596b2a45a7ea7198fa47096e749ee234e7dcdb8d6a95996079d94d1244a6583d304375776c63357c2a8f9429c96d937a4dd6504b2c3ded3e0bb3012946f9ebbe08ea6269ceb13413bcfd2dda499de4b5bd58eff2b35b2ba4510ee36ec5c0019a430cf7882df76962e64033f5a77d79ade7161b6c16157982324a9ca5f29b564bb376d8fac687ed302bc3e8ecc227e7a305d919400eb2aef7b3fd7f5fd2adbad4373688952346a3342b042c876793cfcd70cc6d83bb22c5fdab668d71ce011126cea809c22ec4a45ff7836f74d5f7d4e78c97b3b8a208fbb116abb0d94202d5014e74cf5780f90516a70560ac17574bea7cc8451c78f9452c95301246078d31f5906d5f330ce675db8c9b7cd827f901bf4bca9670b8cb2ba8aa3e912bdf2eb8d19a8f9b381f3b1074951a631f2899833cedd9d3af775f73ecf0c307ce65d6a4a3e5927edaf83a5e92b0f4a7f23dddfd15fc8dce9519e6e5aea0d4af84675476d1e62b357bcde74e2c98381ddf240579a5f920671313796b03382e38562122ff8a858ee945c3bd9bcddafafabc8ea18e4861f147e61aa6cc5d6c4cde9044e978c01deb82047ca7225c19dcba5ed7e61bd345acb8e65086f7c68191c0757dbdc7aab79d8df365bed7137635430f7c084a3fbe745acf63caec15ba2aa380af0915260047512c9540d378ce312c25069de8328608a93a8e8b8ad03f71a89211bcdc3e48ad7303733fe06743a0c047d46eb381c20ace8c67a3a367e4ef9ac7a9ab22de667fc7140fc1cafab1b1f36b0db290e2a46452b8d646112c549325cc396fad6f0201415bc467340f1590e4f5aa462557102a48c7a34b084b0c072bc23a1d72d82c8d28145582e4ba7fb08918242704591598c5771bc2bdbdf2cce59328e2f358eaf398e1f1fc7ff20c79f56cdf4d793fc95d636ac92b3458a0932abaf6452abc21be77fa69018c8c9e823bb972c1644811bcd57b244932e960596566f3c7e13e9aea6ea4745a7fe8a656ae045eaa938c25cf58584dc9af1f88154365aab1eaab6ba15aca9a523527fae0b8607ed62c9c8afdb4cda6e35358c35f0a828a8116f0aa22925700efb38826d8787e33efdcc2665e92c4c51d8349f644fdcc43538e965296469587ceac9a9acad58bbce0314221f45102919b208db65eb7017285254a408ce89eae93f508294906ce9431848b1a46453db7361b4bcb416adec162af9a61655edfa58f826e94716e24cf403d8689f3aef94792fccc155b7d06480db71ebb2a91a30128f9907bac8eee80af785baa457b0a6869c489d9a2bbc2b3e494aad330e1f88caa6b5c2a152565b81b2f5386275cff5617870605b88ecb16cb10ce679923242f53b900c545045d7c74a761c2aa5e44b7b225564c81077d3a11af3144cdad3bfbaac085fe28b914409abd3acd1ecf492bed14bac7b9ac9677cbbd2667a4388d3193bbcdc4e26e6ff7400298a93d2e92f5086acd06c6904563febbe2ff3e1f932c58e5371a88d3471f50aa10f643c7af59087ed9b344d45f1844cf3002180bd4adbf3fec7c5624047b2afcc56e4d07dd6a888fe2b15d8941344034bad231e1f88caa6b5c2a152565b81b2f5386275cff5a1f058b298b58cd5242641d4de0f234f37244187dfd35d7d3b0c7289652ca08e158cfd3f9b2fa3ce843226eab5e47f7edf5c9f06aee79a1659dcf0e4ad8b47020988b140e9ba92a5bbeb90fd59639b6a901cb3897b156ae24aea24e5eaac08ea0e052f70619bf42b0ee464fa036cb45f9bf79a3c4766e13df199967c197f650744429736d1983d668dae17ee705fb84b6a2557d6d881b4a7eba2c387176df5d4b0ce4ca8a13619b48500aa4cc40f46c01aa70d10595159515424d48961b0a9c8ccc2b2a11168304ddb94bc0c04661e0ac2c69fa028a2202000caffeb42eeaf5d1a8084e076336debd1da7a6577776fae5cb2132101f500f500de009f1fb0749e37b730fc7c6da518cf1b2b84e08132d11f398d73e9406b2ca216a9a43642c8c57b47ec30e92e5b15af478f7b2fe847176444a4c180efc371ada22ec884129a26edef941d50b711a93b6176c4887832c2a507129942679d2a51f3488a5270281923a48cb6b21f8d6b7cd1b5050f14b231b0977539a311c5e8c9d2a388430d154a4b492e9ca4d97a6232623e23ba1f1b10cea0ec948931db4a33bc373fce495f4b0076bda6699aa6b93ea7746401b0f9956aa7b4de316ed66f00362b554a7f4dd466b126d6fcf0bbcfbe9ab77a103aa575bf6aeed4d6795f580357f0a95c29577661578cafd73f8b8583f37a69bdf77c2f40dd4f3495c596f76454a6cc899615459a43468796b2203a321eb3ca72704352ccd4b8b2154f64245e4e62676263625892744c9ac27d0c8a4fa78f848815890591b11d4d26ddb67bef7d392fbdf6bd9b7a0fdbf730c618635a07e49c7396b672f1f2b666ed4b36fc186992da5c6dc65150173068406f7d0743273e686901c68ca654eb03fbada7740403ecd2162c016442e80accd69a03814aa80722203850df0414cd9352c015ec5490e08680fd87e221904259146abefd0b5a47a915df28efbdf7feffbcfff4b7df16c618632c2daec939e79c09407803e1b610563a6112473f477083a0c0cd7f827a17c805b501cbd50ac0c2336596dc85b4cfb453878684517726a675acb72cbc5ef9ffcf39a7f63fe7cf9f3fe7eb59779fb9b5732a59a9482e54a7cdd3bbce916a56def43687475b6bad1b59eb44d6ad46d5eadaa889aa73b56bd58edadc5d680392bb564d5128ba2bc5a8d4566dbdaaf8c9cad6c4847f7382450dbf37bcdd36cfa46103cc7b9e3ea838985eca3389e7d7b7765e5ae443aeb38068eff7de0e9d8f2258e4b6e7d0e1bf0dd659b777f9220721179fb43c2ffcbdef9f9683c508df7b719b5a0d123f6e4a670f24419a4a59a5cea3fa41443f31ea8034243761c437779c3106f97c8c404d01f8feffd7d897b13ebbf5bc5e39395b8cd27aebff7d93337ddc29dfa91d37b7ee2fdd1f2ec1d513aa497bc94a18e96e279a4577779e1bdaff3fbe6dfbd4c3192492f0c8b794dbedf756cdc90293ce12032b06ba012b58e56afc28512dddca2ddcbaad3a9370a6fdacda38b59e7fad597b57e9b56e95aaaa36d519df09a594524a295df3e2ac7b7ce644fea4bd29bb17ec4ad791a61fb91188f8de7befbdf7de07ceaa36f8cad93d321549f8d08f8caf75c924ffffff3f2795db063be90c8e0cc1cecc80e13835c5bd5f239abd53aa9d38a02218f86b56d9a6ebcc745d8642a8b37647730a1d9397100c0e86d230ca628c410e21aa551e3331b2d03d140da63816a330884062103184184408214222222423d2380744b8d03e4ab890874e1fbe42789da25f951896ddeb29e19ac902004a94ebe18fe2ca358b967a3b2489e8513abb35532ea16a0e38ea6fa116f7c1e04e69ffb7a5c699e2b352703ec8ad1f321adfb127c1f19203b1c0b00d1be8611d5fc19895eb4b10b2bbe2c2863873e428311c5209055bf39a68bc046bf6dbc8400841019593851a716c7709ac971ac18813a658f336e36dc1586d820994018d978aefb0c8eb2ed66e88d2eb5e96102e340246eed1b1373862dd4862a0014119a60cb6e8c295ab5ca7e3b4685165b9feeceb85a543d1892bc04daa3397ae76f60741b1280895c83c0dea7401fd94580f65f667e5a2f42392ba05194697407f2d4ba8feb129ff9424c48d20895e6d378da5687d05443dac4edc2c33672ad5bd9acc4d66fd843831275995dec460e9ddcd4e4bbc125762a8086e3ee4f0d444797fe7db5847bce401675279e537d16f0f37e4cd300557a243b86110e82538b9c938858b30abc27013750b6f70344bae9ea03f5acea296959c4b9b73aab1a07d35f4ee24ef09ba528e021449901352671abd394a3ac91115fb997d3832998a765c1c024f51b5ab64605cfa4b18cafd3886143fb48d928c120d18a192afae3f0fd2224498db6d70bc7bbce79e947bd98244f71310b2e2c5f66b6c397a0f5f14b995f4c9e9479e8c18fdf98263bd924cdf24640f555ef73b8edb7c87172e1cd57dc08e63bafaabeb354e089bcfc7da8de552ff9b2c59218fe1265f4c2e542a1f1172361bad5d7de0fd0ee22fae191f7f6fadf85adeee998e0bbe093bc2c7efd19f05cb0895233405dd79eecf2dbdee86cd4caec5099be16f78a4ad2a602e9361c33f644b3942af08cd1f3d6c0cce322bf772db19b3090a340f7cf7e7fbe23c6fbdf0322a2b39b0a218c01395a4f47d0a2c843a36d18fcf04fe8103ac50f36880c0f1573fc9939bc6872d55dee879c8825bdb5e0daf920e0ddc35ae7feb10ab10ed2cbc1714e58d105269e786ef5d639148d24c5c990f275cc2af7c5a8364acc992d6722dba92370ff6d2822b2fb426cf881da82c2a893ef2a31104d8d218f3f12ef62b17408ef29decc6afdd69248337afb56bad369c370db18080f7f81fe2078677f719efbeac9e03d111837837d702041e00c61bdc893970e08b3bbcafe1866ab5cd5948e2dd87c3166abc8a4670dfc621e6ad8decb7fa036a7dcf22fe03f6011106af010c583f475a6ea79bd4c2658c44e5c8ec8f154aa4e40c7a11483ee6ab486ae5d3ac259a4056a910f0af42f1d504fc01e62d635c30bb9b69f49ef803887e62d6b3506e0df37ecfaf5beef5e55e06c425712baf1f80553c52db7e18e26a3ee76c461c1c74bbb97210e0176075d31466a50f901cfeb5c34a3dd4c2c4adf8012cc62a10ba9c36204852262776de6668d167dc3e8090d270f28fecfeda67922af4df03e228ee2a257f0b900c60cae87303da68793494c043d5a99c6d1022fcfa009931d7981f605cf4033606466f4e5aaef8e296ded5e7a0b8bafa068bd25ba3de9d37335cb40ad7dcba2681d54bc9afaa2870a180c7aa56b6987ec4dc837025b13e998af2fed15be903709299660a682e1b67002afd8c4db800d4576682ac1889a4a8b2d74410ac6b3efdcbed2c5b265eafaf42cd3ab9e8742b05a1bd6399380c072ba9662a461fb00fb32a7d10ef1a585de640987c8084cd62af4419caecc442db6f2cea49f88010d98ccee98b3f202d827669b6c9f45c2c6e939e9bb861114081e5680752ad78f5a91ff00ea86c90d067117378a13e855ac6d820a84ec9f801b896469d3e3b88900bd851a7e80ccef926a6c5e26244dba69e757d7b30258d2c9e693165612657f401e61899d36778fa009e7718de693264dd0e30373ac3f832a20f487c7287a1a7e22e70b95330160fa50342043bb7b373f29d7383da00fcb7a74a518ab19306c8a0b3e2944c1af03892255d290a9ea3670083a08df300c09927c1c131ea00f8e461d7b66f9e557d031ee031232acbdc5e61fe2159bae301c7e49107bced24601c466589ba7430f2eac516f25444774ed20eca8c2f32835b2813394245ff39472f97fdac7bb428498df3f69dd8502a77c4cf33f58b999c3e35f8280b10c19cb7d8b9070b6fff8709595ebf78d90144148b46be3fda3198984dd7af38c839658994b79b2fbfcdff7ad885106e40b908d1cd0bf5dd4c28c2b97e9a03d20c0b820dc9d8c4402cc62fc39ca073463c5d8e6d2184bf193c5aa58a7c0096360fd72cde13332e2730dac0330c1dcae6fc5a03d681473b2e11f8742b773c5a55eddf2444fecf4c6b6e206723b8b1f3d0ef581296fecf9212f9293c80edf125f743b7aee99a9976ae6eb908ca82a6fac1f522bf7a2095581e5fa82d4ed07280bff22f15129d73a8da606bfdd8f48696f76a3943f76f09ffa0a58bd07c583adce810a8434498b1ee332edba9fe11f99845cf1657d4c950ba0047a757f27c5bfd316c25fea2290efad9542f2c42dc5b604274d7a14e20bcfff0520871c8cb193badc2b928191309deb178420fed61e575dbc574c6822fc4dfb36b63cdd007f7881ee5f628025c6c883d5c0f4853618815a0d9c69a262eca1fe859c5a960e39f6ce021267a6c189f67db5165a980d2455e729b15d415bb2bcba501e7540ee1f84dd7f76cca489076f03192467049f28ca0f578dc0dc9b1148beed084f294b73fe8495783ef0e9b8a18e435b99359c7220f771b0415999ff85715be82218737bda4d1d550e4e58f932e8c6019f672276b8df8244d8462f54fd2fb24e9f183d75f414b8188fd1d736eefeb22a98b06943ae83663fb3a04d3e0a5bd95a6fcf94fc5bf64032442cbabd556e9011b6bfc9e008a77d6a61963986d4fb8911ed30eb606076167021decc7648161ff38df27ab1993f8be9c11201b89622f1798eccc72b95a92cd69c67004f8788478ca165fd40929192ed7d7b967f9da0f46a06ae866271c3765a20612207515b9f2861fef5c6729f4e09869f118434e33b51bca38e6322beca48e31226aa7bdfdff3bc62c5de51cd26c83b98cad928e3194e58d282efd399b6ca4ef42f0ca419a90b7a276783d14d6877ee07477b768224511d937febe7aa213f13cbb166eb1b24a0c565995890887ea8df976a523a9750df003bc0ca41474d63de7ea495c7d8af114ab12439432d6a572a3e90989204cef0db7b086f3346ba24b77d89c6e5567d5dc9bfe1c6c2366f41bea8d2d7b3cd2ed089d5ba2c64e03749a6880bfb0694e3ca32783b8364d105beb3c05b1e04fcc274f66cf29627555128284ec6ad60522792f10ae95e116b4c80ce16ee34ccb4e7cff1c11514bc0118f758d14a22adf7a13822ca12876d3975c2db1edd2410480448bd38d10ec8a347eccc7949d05bee7d3979d13d798c8596276a21de517a27238673505b523bbb8a66183ea07029494facfafcf2ecc115f0c43221c780e085006902f66f1677777ebbfedc2da1858a2051d4ba977156926d92fb0957bd224030130fcb77f4c8b40f3930279a722e1d2deb917c120c4e00fcda566dd8e4d001f611e52e29d3b6049c3d5d54b350a200716915f82967a89e7a23f71784281114443adfe6ff57a148c6a9b51c62a1b19c1cc0bb4e0e411abbba3965bfad2ec0917c2051a5e65c75b44d42401a943a0779df6325eb6cdae2bf5f517a725618436080f42bf41696b088c458f12ede0efc5cbc2b3132831f2fdb99b2cdbc54b456276de44dd8a81d822bb00dde2371fdb178b28346886333d680704ee3fc800c7375ba50ef5806067116942729cbe3a0fc6a2a8045a6302fd0df28d07f160011a5774b6d8aee8dcfb6b6a67eb1a89c31215fa2051576683141e71d4406e220a2bc608a87db03da5202dc7cd744eba12e7fbb1d0923ec403d299ff699354630d51b31f6a41f6c067e835a84c887046065c100ad7e9386865c68c35df6a5142965b3c36c3e1443eda78916650659f39c2625c2018c9163fdf4d7181b5129bb8f1fbb14a319bab7c76b0fb0d09f88723592ce946258d9d55ec760335a2d80d44410e21305967d8357818d968c105835fae0040c993191832b8ec2153d089e3b48d59ce67fb11888816794aa64047d06439e719cb5044825e2495fbb23aa3e65e1f18d482e8101a4f706b9af17a7afaaff7f3da95610117081f6f7cba911ef997228f68f414ff52a0cf531e545e82edf3c6f3e6d45efc8a8a470acd0a5e0ae2810e35a302978257c961be23a30fd1bed8bc8a5f587bb075fabdb5139aa6f6570a6cf588e7eb570a74a1e572ea33b9412d344dc7520221a7166c81772405b420f903b70177495248bde29185d2099008b3d952a94d930a6b5475d1623edd2fa2bd2bfcb588a5baaadcf7cc800f046c2f60ac998c799ee2082f0cc1c8490990c67c2be965b4b1f178ca5dd5bc668b11a1ff4941f6a6f36b4a6e36e4f5214ee0f0c94a2e4ab0941438c04ad62adc6bdb91619865ab65b10a2de39e25f32f2970e81a4ae5762e265e501c9df9cd09503226982f6d920268508d17ac7e026a49c5405d60d4d1b60d0948f9a04ac20af036a49f554f75b70583b01e4506aee7124e43480907fe4c1b353de6c4916aaa0aefbdf882074283de4a1ab04e7052c5cc47d10eb1cc54200df399d2cdcc10791ea2597cbf751bb5508becf6caeededc24cd03ca030a04d6d64ae99c52c6e8de84b5de8149ffcdee9665add71a2995734e29698cd5dd7a4d3876eb052b67aad23050f48e61e5afa133ae4fd5f75cb029aba14402b6ab8c2f85b5fe77cda69b810796ebb7dbc80307acc74bc383ca65a1504aca130fc14ebfb55d5b93659c06bbb655e90cb1578f894d71567e45220704c4dfd1462901145e440775337ed2c95d10b910b344e9fc93a6f4c3ed566bad3527c37575d55bb552b4aabf6b0234b4d66b8d94ca39a79434c6ea6e3d12e887d40bfaa9c54fb5c5385af19a1d05a7178fa17ffebda5285c21c95d7c074a8c38c5e4f02fc784e9e00467a98b58bdb9da13c8ecbe36eb758743144671d0d0f9cd17ae460d7f6d4b63cad69f3d326e963c16d8a9f980f117ffdc0724b98bbff8f790f3d7578b03b21bd054a306e4f1624457e1ef422ea0b5196b203638a0460dee824352dfe12fde111b42fb575e6b6190012386bb4012a574bbdcf281b4149ea65951cde6af5af555f7eb5db5bdbf565dd25bdb68f447ce6f32cc7a6b5fd775edbd5d97b6afadc444fbcd69af553e1e92cea63de7b50957b2e10a54f190745d28a46d388fe9108efeec7a1a35200d1a8ea66616b6c335ba51b706ab9f69380bc32acb8a69821531472619ada728985ecc3a7bcc1f96672fa8a2df626157d5b52d8bb4d232c4ec6171f34557f3abf44f3deb3ea91f881911fd8bfe12638c31c678efbdf75e77f16f4ea8339d755e87b91792dce54292eff0cf8b40d25dc175768c4322106c383505a5cf9ad14a598b258677baa0fcf31d946b10a8f89c1e16bb560e06193464d0903195647c602a4d251522d33b019197982139e68f89d24dbd22b676141ff2d65a6be7cb2cedbd6dff9deb1864a6f4ad704bb5e92e9fcc7d9f027d9d31d6ce6fbe580969cafc2c8ba8032c906596660f20d4c507cccbf7f27d9665599665593e2c4beb17ebe583d09b70024b4c1386e019314785c7fca8aaaac2b89aa5d923f32ccbac2cd33acbac6c962a841a784108e56776c2b80b421bc49c73ce39e79c91da691f5f79e7add4444d7596e8863335d39a785253cf6bca99edcead30ed3d249d8db3e1a03667365f83cdbf7695efa4366ebf7d44c711218ec01c79f97cec6f7f1b6759f31bf2b8b08d653befadc12e4b2daf719a6ac5718ab1461c1fd648719c60ad11c7b8f9d04987391aeb493c7f69db7f364f47522b67395bd3c4abb374a41e294a5fc0d983e3b5658f6260629830844b8c1195cf877f1a8be17d596b2d8d69bda591493d0567894eeaa4a395a2be9e9c84425df73f69a529b3077501a51afc93bbbbbbbbf5a7d5ddda6c334d71ebb1ce92aeac7d656f21fca8b5d4524b2d756ba9b515a3da6663a968856d03d523cc1183f56ea0b90b0862a150d7fd6f9b5bd85331c3f275b70592549519974e44283062481ab2cbfbd62a1aedbd6dff5d1772718fea28a17419b3cbaa72b5d60892d56651c50e8004766f3ff3de1b76ec9e659493562c1defb7386b061c63ac6f63bc117f8c504e5aa9ab338c3266b7d82a595b67d853266df952074f899d5d6f38a3bbbb4b4f0a18689893c694bd1fdb9b02cb09c55294f56c6548ce4bbded2628a8a4614a8f7d218348e96121e7849cd5fd6fdbde96a2ec5f327cf53b5cb6e23089e1f462669931e89505b7e6adeeab59e560592257a14a5323aa74ddffb66d4db72a06c46aad720b9a108410ea00dcb7d1fa288a225c0813a70ff8e5704f813e7e8c5e8eb00c59b9024f2fbadf368e326032486a615921794aec0d738c18bb22dfeddfa4fc3e94effb3e28b7932ef4dd269d7ac2a7e83921a23feb4bfbfe47d4c75e14958619164403aa20c35b42c297212386421ca57372973dbccfc268ce98d668ad699aa6699aa6dfd257c6b406c3b00a04b10a7b47c9396b726746d6f9beaeb40bd3e47ce99661188661188669db6b3bd3b6cd7372de5859933559ce1a8621407bec3b5a8cad8b4133665c8cb58b277cabc7f6777e0612fd1d7d2fea5e89e7d5577fa5f56badb5d61a5fce13b2b39ec9f9e21bb317036a3eca0bb626826ccf65669946a3d16456ceb089f7de2e60bcd96c369bcd6643650a5b548ccca884317565f75237bb361aa6a84c4351380177a3dd8d7637dadd6877a3dd8d7637dadd6837cbb28d9651d9751730b4d66b8d94ca39a79434c6ea3e834bddfb949c53878b84ed1dc1e351c373d108d971e59c33ad6a55ab1a766463188661984783e9820cb68bf76158d65c7ee5d7326bf7ae59cd6a56b39a5978d7dfb16eedaabb23b9b4abd64bdb9a26b396f7755dd7755d39608d13354d86ac699f8ffd19d7f559d3385cd62ecdbab69c3f93796f29f7a65996d17d75bc8fc3f9aae218c08341e42173cd12549cd35a6bff5635b483628c56c55d8c31ce1c65a94d82b50f35e1c72c94505565bdd648a99c734a4963acd1848a269465591fadaaa335285e0b3229e1ec4fed73adf55a23a572ce29258db1badbcaba2f547fafaca88ab2217347a0500305ce6ecc594b717bef0bf433db8052c8269ef62fb75d7cb1b5f66e7befbdf76e2eb0d7de7b80108967d8edbdf65a7c430334bc78f391f316c9efcd811e0593926d77a6cfda7be1138cab0a7f56555785ab8a4221e9fcb62dced5fd7cb8eb41d57f7e14f09bd82fb91f4b3c32ccd082b300e0ba196ac4b8a59581a24ab053d4fd701eeee22a2e7398b3dcd6b12c6c6f1ccea3d96859c5f475ed0b6fcbea003d26a6897fb20812fbb6d7da088bb030b4f7b645a7754b8a82292b54ee4345d36bb0a9cf42aa038f91dfd411fd0688a36aeb54010e8348857e042875924bc417e220c1946cef0c0c59581c25ce0a9718f203daa7e45356b753982cdd5bad14552b556dad5f6ba5e7fbb4e2575b0a71ba003d2820850323468c183162c408cc01f6ac10c210bc205e108ce01d61c53d21deccc807225808618a2870f02232418e16962aaac0c1320349021255a8f0cf2d204364882778bca0081d3974844025034584fc408a287cbcec5849a24584820d789e0c0f1de4f0c152040884388110514b151f15a52276e4282282201e48111d21935245107b0199208ec86460643150c48bc29319a5783156843cec15275684a8803eded26a299c71c6d303200e3a42ddfbf09078008d18387370a78c777869e5a4f52b65a96a6b0c2e634f509cccc470d255f870a23078a83bf243b62bb61578c29d8964125ecbf6389c9ee9d44f949cf4bc17aec814b1e205e83b897552dfde967119f056705160c4f01d0ee3b540b4822a44403c0179401ddf1721298728042ed4a387843e2df94015a842bd3ef42827adfe4e71c53e391c0e879339d9a366d368341acd26a12531c58fe216086a3267cbb0767c01ca69f7db679ce73c9e5e787cec9aee7fdbf67e0d2c6df677b76deae2ac2b6b53cd69ad77733715b4d90c79f183151bedb58dcf4fa394524af946a322e66454961fec2139e2535bf8949478a51f15e287d24ab58bb3aeac7d6d369042170f09b5d968bed96cae06aa3d1c714a2b55efa519a5eed5b32c7a76238e9a83c756290b0be9f364f676cf39f3622286d8dec70e39ff517b12d79ec433c3f371dfbc6bbfc11cdfbce65085c58a204e62c939e7528ed30b16cd576029dab7db8e5494d8a00bf460dbda94c49dc57138a90514205c4161e39e1950050e01573c20b86d9c7565ed0beb74360e88b431f6f81a89e7536262624b3ecee1681adc685486fdf5dbaaacce2c17c3081dd64a29a595cefd99a95e7402cb1fe6dbf0a774720ef5127bbb83a20ded6dffd67d287a8cbdb7edbfeb42a1e80fe191387958f863e7a0896f1f8ee739262eeed9018e995435d64209a7fe8ced3991eb44ac3a5612abee7c22d1a8d5aaaaaa4a1335f5b1861247739e9cd4181ba4ce14878de3894f8386f5d8f83c890dcf7376c6563dea25a86b8f079b2d8e628a656955db1d4ecdb6355df3d2541bf7faee0e218cee84773ef8e25e371d3c74b83868fb9036f70de4ee9e830d6bc07d519b6d5996656116f618638c317639a9b935ad699aa6694a5d1c8e0a5ac32c7c6d6f0a8c6194b80607d460430d2939bfd58e0322b0718ee8c0fa3876e01112d959423ec97fe340516b0963d7e1c2235a9b3d5bce56cece3adb9452e0ec116e7c887fb8fbdfb6bd67f6dd727a61599665591f28de8811ce5c55d7fd6fdbde52d334cdcb5a6b0d5f806f31a7181a345cca56ea62ce393905e6a4944e3a27a59e89ceb7e1c3c6448245aa84ac19202d4cd1072122fc6007238c4d2872e25374f9d0bb13244219ca3821c563941e6510a21694a000dc85e47e72938d20091231b1218bbb3809e27095157787d03acc7adbc0f7dab8dab2bed22e244615b08162fd6b08d84d5b7f555cf71667b70dfd507134644c9f0ffaf3f3500018e1c8f36b1c3207532600011b72a8741ee569463b0b54695961d11405cac1720d811d2a8bab2ccb0279053d9396d602d8b25e83a14a574c070828880a333708808af109954e19dda54b1075610563b95a36c972a19f6b9946ca9514b44c237d26dafd5d972ffeaad2a04c7b005d90bfdbc0894a9fd6a046a9a2b2b2c2c2d2d24222b9b87c5f8481216d1fb37de788e4ee07b36ddb56ea743a9d181212121212121212201e8fc7e3f1783c413e9fcfe7f3f97c664a4a4a4a4a4a4a4c4c4c4c4c4c4c4c7af85a4c40040782a0dea4e4038a453c2411c8068a311cea122929a64cd34ae992c3e170b66ddb381b47b26d5ba773a3f3245b87433fbbf174030f32389c0a47366298658c2e9fd2a021e3731cceec7d12ea7edb3070e6064a81aeca55b92ba5981692cb17ba3e11617f2a14ccca4d6129b5c49080b804f9668cc050453c7afdaa030b2e4a62d62a81a0638a27b228c207a81052001112db2240e6c8b731676188f93d9e80d8207b66f3223fea52422a1cad95cacfdf29a5dc0d2022b595b2d6d67aa33e65b9d8522937f21be41c95526290989c042a1095202b332c4c28d2322231c08804f510a3e310c830e113293161804429a594d2670c0a4ab7f7b6fd775d2834bd4018501a614548eb4b49e9f44ae00f638c3166c183071c11600ac1a21b221f2c20fa41d48317031922a89850880ae8fc668f599a313a582e50a465dae249b4a2ec5bc088c1651a2e50a00f5e4c1baf0795880f2a0a88504107700861022064b2e8a1c80982202242c84b9c8288cc24f243076b27582b744a3dce19a59472c638a93b9593f56e01d7d4753ffc7ceb70d2686975fdc5c1ed35da86232f90e4acb071a1b5c83e9aec9a97bcdc5a95aed5ffdadb77212c51f2ceac4fd542bbc8f85230e6a4ec7e18aa3b0c1fd52b6cded9b7381149cf32469ca08fbd75a123a31896cec84d903b390985baee7fdbf69e19754543dc11052b9ce0c40fb7db79e50983501c6c8140f0fc12f42827ad56e4813aa594724efca58c46a3d16804bf0463fd08ca1fc2ea1709a8cc086ecc4ccf09a294ad8900b1c21e82050162bd276c15172d2ff28b1f46c80c59116d60b21ce2182f40b7b1d62a299d735229658d915a7787209106208c299e1298f0b220794492f09290c32bb2026f092dde9014784cc0c1124b3245e8b8644400c4fd93e2a3b5dd420821cc793ebe5fdd051e787fed9ca3147e255d5db4c03a6baab5d67ee3d3e25d50f6135517824ae1d9605bbbf7b6fd77dd094aa453723e2af968e49889fd950a9ef7a8a42eddb78404d3a60014168823499264310c0229062d940f84a20a051f87e5f361302c47c20cc502c60007802100000010002002535454013e179b3c908b050cc15e3a6b4871e5b2e5e7c1c20a87c982463d6ea8fb1e76d087423b44cabf92c2ce0459c9079c98a688104bfffacd30536aa22593d63f2f8975be6927865a3027192d3d1538ff7a0228014703287426860ed0aed7f1b57faeb34ddcafcd08e9724ea8ba7dc882c862f4335a8e925bbf582180fcfd07312e9539af670a76011d6bb6f4d655f924c899711b81416e86c3d244f998fb1003f1669a525326e5b9b618aa0ab5ef34add0b949bacfc267566f6b9e4bb70ca8e9f3c3d5e70add018e4702fa5b3e28c85b23cf3a3c2605f85b3bc539972abb43973f3fd943c6fb23518a3545bcaa65b1dca3a4f998939fedfa70f01434aa43c61c346b48356c6c06a54dc7ad56e1a33cd839c51351ae70ec6ca3ab188ed2711bd22c73e9c42e06aeb03df1cb339e128c98b0a578b782e270ce662589d3a937f73279e0322a92376ececbd231d7d070f07c08005748691393644fa9542449f3ce7ab94f93f0263503011985cbbee0b8b242439775184cdc3c368a248149b9ac1885ff2338ef381e3d95dba4e50777bf6b3039e996ac39bb5a82263719f59d101705453d5e9c58c99860e7a6384993e6d8191408c19284e6aa5c5059bbda2d19603f3b5eef394d5338a8fe7f3ae2e5ad7f0eeec66fc988a5474940b4858cc7c1d8415fc473390962f66c1e62b6bcd79404ccf99080177dd36fb3bd542cec6f1a93766980a8c5578ad33344448da4c40f43acdf0e582e90be51916e4b19ce1f874d22533db350d5696b71e3c4b906991985ad077d8900c9c90cf427a180d05633767f8cd4c15b21e0597afdff08fe499a291113b19c0846a8e28b49664de66aec59dc43b1cbce0f25ed4ac26195c31353610b7024804683392dffb1a355bb8b5ab0f776dd4cdb90e8c123c4ea42be0e912efe19baf2278e6229de80a1cb8f4a02d94a5ceeace6422e85a780e173aa140a5c09efdfd1e5358ccf6a9976a7659491f75d369c06cc7c33c8deae100fd87d77e97a4cae562cd91375500483d7cb1ef6701bd3438d485fc0476c0149b0406be73080c40db291a60052244763045ec6c592fd575c5377b6f34203d693201c9ced5522f6e87023ba74b7ec98618b3b477ad1621e763dbbacafcfd62c81406c91e52558dbb4a7cf89c112557a56da39280d10273d0948c1926de0a6753f1a92cb271e9a46675659222f531aa03901b6def48c8611d1b77a4e371f3afa2c0a22c99e71d9147e0a2fbe537c0503a923005d2113c60a3a3da14f706804fdba0e5f25214e93f24ff597be5b08a5978c7316737926cbbf63de5236e7eebb4894ffad5e2e0487ac138f5547b94296923a50666c6558cbc616dc592b547f62c7096294d29a4353d69665420b2dc3d5b3c6887d79f85fdf07526f5f56efc9226b5d706f014e5cc49adfb48eb7c08145621749a5dafdbbcab2b8897b7f09008e5295a9f030d841eb4a3211fa3cbccf175f8ac13736465c02e8781a77f86233fc2b69d1cd684456b72cd556c18944fc390baa4a60aa7b2eabb0cae026f8845adcdd0ed9adc48b14178a8da02aaae60c269386b0352dc49d8961317c93aa6859ea92b4a27c02e10011d6820513be949a9f5be1212a982fc259a44e5ef0c9810d3e828d18a9ef3f685a8a0597d848ff5d980984c41c4ddc0022a5e0ee588ff2e303579cb1c57359f86ecbcbb86dc146ea019a012505ee2573f5c5fd8f398419ec972e15ea402a635c90970b0c6f9578a7ac50c8c26290a39a5483815cc2b8a17ece63b2d483016d2785d335f1bec16ef81d397e2766fab5f2011494314669f7d5198f91239c2468393dc657792ed088b6c6d3928fef52eaf15df40904fde8bed89730c3411a783ac63d867744a3254afcc383fa11a74cb53a05f5f9205a2f032540da2614a9bf28ec4066627b1b6479c0da19aa22cc9d87251b172003d2214291ad2b495c16d93a0b8dd69a3a5c170f9f6b175648e08992629421322e7860af3972d6953d829fe5292e5f24cca46966f2b251292a931208bcc2cd69340d251f3548e21c706bb544d8e7460229cf063f49b5723ce73949b3fa690825186fa6fcdeced6393f375fc8d7ad5e57b2c9a259537d0f9cc761fdae3a4b33536a52ef6484a2fdf829c8df720d7ece16d3d3327cd8fed211a26ccd87eeb31897fae3021aa2502bf506920559a5d3c5ad5c728fda0e367d00a8facd38e245b9362dee5d67d05a1760b66480041da25ea715208bf9f246e198e1ff7f442d1e13770fe09ff967356e60be9f8ff9f9cbef448ec56d241f8aea69b422b9f6abc8b4628e83e485a41d07cc50fd22852cfc3b35921ff89847d8ea3df3e6122349a2971f2b9608129153f15f157b702b3a664f23bb83eac429c391980cd1611317ae9145169797e00cabc3a0c8fe72e282fec1eb4011f156f62d9db840b593ac7f436e23cb1730d3915239b594827a79b112668e30b73896832ad0545a0e8bf221040d6b67e0489d528c7d14ee6cdc21712d3ace9838a3026742af4cf942d1773d4cedb21fcb583d6fec08b571305b1c3e1bc554425b4f1e135c93a12ab8ce43ed823c79908d627436799b92336108edd443fe5605d0664c087218604d5d978468b3329f829f88de3998e4a00a72c7dffabe79510c6f2a16e65c43e35af41beea4c5aa71049a93193f7e3d3ae6c3aaa5072bb761da2c344ed2a006a7431b31e0be9cb6786f50c0152630fe16d3be5d91b920f4a7a6abf8d306f1c935586614b3c6121f368af8274c4b8545968ff58f6c79048001cbf55d66223d8bc0c456ec84ed7d8a8844bd521b56633f6e2e940791582a892594585a896597583e269a9de6f4b5f9b84d4f38de6c65c15e075370921394e46eb60b9cc7fd15c4741cae4174dd6c77fb0f467594d523c26f2fd1697fb0d1125e5913491266f3f8cee05bd3e943e061d1f970297274ccfbcd88e004e68884cae31c9c3d74fd6d9ba29f5679d3532836bb3a94cb77caaa54e791c09cf8bd197048cc2d37b0eed4f96a5b5a45dceb87cbf2b54cc6b6e26773b11896ba12239d3e03e83136e442ce3cd2f8c1591f3e0fdc7a8e8ee4bfa24eb811e33de3d89bca27c20004ba0187e0b21459af90a05421748d2f10906f6206652aef341f369634fc23f264304a815a15a58643a1af907f023ee3540182e04f84159f98ffd2414fecac7dbbc3c9de25e9d1f5c5f528b6fb39ae70c21e5a3fc7b1cdc58c6798013051d3d427a1aed14491d7eee5152d3de75104688ec123be5a0b4a53b2ae500f69f8fd5eb78177379434ce6b3dda6de6273b496b58b989fdc79146b0a2ab559c98d84eab1f5d8acaa5795ba9831620a88e5edb82ed0b54e0b2ad19b966c442d35db618c29bc549c58eb52d87f0a67a12de835e9f4e667b9a01e5e77fb825edf235953d3c104721d76fb6cb1c8824d948605579fe03ebec5cf85e5c51845c200588c41be8f07f80cf2c404c0c3165a65f358f1b3caf6504f43c1f1dfa152649638c3e9b320c6ccd08b02bb4d5792f274e03fd82c20fec016660e8ad17600d5d80ee16f67a7141c3d72d16be31041571da77a7dcbcc86d353471cd8f1e990d40b0e1cacaaa55cd78d081d45115a211af7406d04223109445982a7c8510d73da1736406130cf848c3c971f9a6e1f4c37f4ed3a41f0a1b7c7c647fd7fe20571e9fe3edc22a66e6fe743c0fb8a550a98d519ac3570c24f429b0f4d2c9c146be3f6165a2fad1a3a4734d05af11da2d16456024b5930027e6bcc6ccb18e0acf2a657e5b8e81e90fe7739981b89db060a80859f7421d4c6f06073bc213ba3534d0a7a97c0e102d0aed5e5d1e8f1dec84c7bd84687cea5458f99f809b47cfcecc8c6c7a0d3febe61ba87dbe5f0f688d70eec126de83a02d0398e309dfd93636b2a9bc5ceccc1e9011c2675beff4297657024c5a09400bf8738f5157ef7f50ab3e12da600a7c1c7eda0be32dc70b9d4505f72580229dcc690a5ccf2803fc9a380206f81ac383bd661c6ac20a674b98e6553e4597949e49af6fd24e27d5f8a4e6503a344a8b9cec53948cc203c217b943e960e704758e6787b6f4b8bd14fec8a1fe4f515b9aa15a263b12fd04676ce627381d9de2c8c5b4e6b84a2d251a985f09ab0857a2ff604976d61a03307fd7a32f43eb5be9350ac4bfb27eec7c36b0f1023bb19058df4284723c9a6bf367f9c2a6a35cd7886cf4f550706fa2ee5c1b34b72fb3524fff965bc20386173a48d37eaa327e4d6f148f88be7e6fca76a4ef08182ee2018855c206fa7fb1feefc02a4383fd37fc516ee8ed688e52a7442bc85c9bea290e895e2b169b2a495a0c93a3af34bf0543001b689bd9c9998a59dd3e1f336668277fcdc301e15c5a0607f952334dc2c17c15ce150ceb15d3098f53ac54cbd341bbb4f55611d61d28567388577b628544d194f897bc197e1b1b344d06e46b79bff9e95372b8e9b878d43fd4b7e1a4baaf30e74fa87da258807be839e62ed579c66b8c8f18a003a314ee527ed83d63ef1f1fd9b497f7de10a6c41df63958c96a60b4b28c7ecc4c3f40f45321a3e238617c99770a0f4983b5269242ca180674b10848d624617b79ea8e3a80ac9ca40cfd7ea75a87ed193a6085cb10742f79c942e1c1da7c325bfdaaf849831b8f53907acba21ceff78b5ba42ca692a305df1efaf9b1e477dda21e7518d66f640ee5543ef749f4da6c8d4d4f68eebf2715245b607e90b2af0dcd0014fe258124e5e62c4d9a08dfed21d0c50b66fb8fd3636cb3735e1c468570ab09ef6bb5cd97b0e933dfbd677250901a8418eda8b59880d39500781ff9d9a47bd28d08fe0db645aa68d737061c7c031478adc5b2df8d98fb40791a310fffe37dc27f0df4e13fb8cf585b03cde0fffe03746b629cf07fff89b834900efeed3e41364d6cd37ffa0fb4dbd5c43f4fffee3fe59e7958ad215d6382dfd4b732bdc812eecc6ebfbe2545fac9507a9101445726b37c1c89a9d76d5bae3eaee17577629a122856911e060839b308bf54c913b8ca32d4fe6a6fc64259dc0a20fb5e2e9e10fb12fdc24dd2145820134660d79e92da095dd7ad7b5543ef5333d0244855e3e4314723aade6983d7459cac732a076b11263f735bb6605d3ce55fe55819ba5466866281ba0c6104691f066fef4d35a06bad56bb378f7c93cb9de627fbf6f32037f62af2abc1852897d01266dbfc5ee3f960667c61a44ea36bc96c06aa2424b96b7cba8b9325db64845464a75886582aa0fe6b4e9c6164abbc08cb2e088860c544320c7b2f90d6b9730d940106d2092e72951f5567db42a02d73a0abb18e46d4ff6c9df942725fd2fc6052b0cd51f6a0a3b1d1f1b0fd561c3cf4f9c68c1770f87940298658dd6a834085e53f875f4855fc0b2113ad559f8100350b453d1aa2e533e2d7d633eeeb3471af1e5e2eaba69d97eedf07b5f60f942679eea09df6187438ea5051ce5386637b2015e4fec726f92af49b46366362474a7d628b1afcd6522fe81951061b26affd5021a6f1ba758e1503c7e18f5e8ed22f95f6050b7c12e35ea1b8e879c2223046ff6ff8e8224e95b3cc2bb96ace2f2ec9d91540dccfefd47cfd6e6aef777353d2821d55a978bf08f0dbabf29b36d52fb27f6b5fbde4bbc67b925807aa4c42a9d4eeab65ee68c6f0694c6c710dc956757a091e86dc716d78d527e299258190d51be20bd7c8d1f944ed09fd8c21c5e5b628a9d4776d1413b6e74534827dd4fbb964a37e5381f22ee0ad89ce36bd5563c66190396b37370476913fb6b35d30d01c6fb36df6c9550db30653cc1dbbdca0b069de8d0dcbedac7489c11301200accde034c9bf9b0e2800f7d7c3debe9198c2c062ea2e907972786d2a44dcaa8bb88729236c43e130329596a754784b0c84eee57d1f489625efbb916896e9015553907d152e42c9cb18e806924fae3f12ff34862939ba8c598ff2c6fe2a5cc948ee21868e3e4182894f76710698e81fcaadc34b56c34407644759c2cc818811b9d9bd7c3244a0c74899caa35af380a1d0c8f96c79c04fce33bacbb96d2909b121009bbdae0ea203698dac9bf15dbebea881aa77512c94108a4bb254c396b2a921c859f200df768c88d08a6a25c5bb7839347887b55d0bbbaf7add295fb80cd96634f218b64a564707f88a82096dc71a7ee3f5154f6643c5a8f2c8fdb43582f10300a6e18b614db2cb175b8b13068d61f4f3533c67690d21f272e106ec2f1f45a265573489f1cb1cb71ed024fb37603cb16c06b9579c59d696c51ccdd13613d2cd30440c223aa719d042d5a719b786e686375795d36ac3ba1e07887dcabbe6ff0ace8bc16a0171a002c80d80b35d317b66d14a6deeb28d1f75fca3fdaba2a518e679af48568d9f237857ed23b6f5ec3fb4599756371228ab75b0ea7f4ed8a831303245d5da9d3f080c1b74f6e92fd4d6f5123a85d77841d4a3af48fea70289df7abd50237d8e57bb091e763b92d4beccee8a89541aff1b58e832531a7cc12094e082808f2189416cae79a72d14c966e280b8276582bcd88d9a6ab3e28a3356fc2cff08bc502164f859696b6d7f1d81f57099a245a49a645126d92d11eef3fd23b476994524d57884ac963cd023b09c98bcbd547b0222fc01a8efbd062e12bcfc090dbd0ed08f254e37d3bef25416d41cc8740e96d2c58582bede71fc326bc851df4512676a5eba5a0a06753828409eba20c4de1c41a7ee8bb1b9721ffc575e443e75d05c80f5ddd56d3d0ce7b25c56aaa1341a483d51a2a498c457fa4c455ecaf97030406b14c2868f6c8751c043874161a1023b9b89d124bf12f191c6e8719d0a7d1711f3dd818b7c6cc1c2205e6e90ffe53ee37e10f7bfc606ac50f80d59b3ae1829ac239e68d83edbde626d9113621aaf2e0d26de90b828edcc080764404378426567bfab7f18851d17cc175f9dc1c7c89622fac796be28008e3fc4a36bdce4e4fa73a1806fab2454a61b7ebe811ff49c5d88c06e856bcf3da86d35fdca7901d4a452dd31577f28864edb1b5cc6eaff9374527e9f24935fbbd14e383b052f7fc0f58397829d3a4f77bcab6ce0b7ad3a89bdff556a684493759af12efde789ec90f10c579b5af251d3341119a7b20bfba526b4682488a0884634bcd86bca05adece1b063bd8a095b3f5d22363fd5d0e1fe85325509814c34503f0b0f0cafc24521356ddc0a7ec11b9b0630248e40b1b2ced521b5fbc1e20471e811b8b4026a24986c9191b6d33590e790578ad21ffe4db2706cb1c1b856915b5b1c5740f874c6a13590f8e33d3228167e19d213a675c37f2f57ce0d010bc61869928065adc9f25520c9f3f4bb4f39aa08ede305715cee8adf797d0f179c3c020549658ccf323fbad2b8b7203e2c6698cf1781c943933fdf110599f5e8e7ab838fbcc56b4b8302a36eba30c1c2ae5a3454b2cbb1098f7d06c25d06e774af93888f0a531feb26156b7d18cb76ac52bc5fe3c1ee9497d1bd8cb8ea4aea9a76941b98c0c7658ad667c3bf204d31bc8c20322d6176885fc185257c0fdfab14e38109ab7b611f86c556e9455eb9366d8d34141e5baede812f19f63983bd9876a2ba483d46ace1dc29593ca738712a9b03563ac83913e260ada7b32f398286260af15c1a46fb025937cf6496230c4136aa45c148ae7a946b50a6716f37ce95f3b0862ca086015f4cf92ad7323dff4766f662f56ba2537ca4e0c0324e2a74c8c1e9d32c86aa927db5b21fe0aecff4cbf272bc71537f395641a2f7618549c366d5de3ad2e5f22af3fd0212f8d51c81b4f17e4d571c581f775da546fd438696f739018a0b62c14eff2a0d489703b7bbf225917c2870de1197436cd38c7ad41e89ceecdd9884b924924ee6238670fd843dfda6d5682d2781fa973c6aae0233847b14386dc58be0d7fd6d977aba99ad25b25c3db6f44090bed496bb2f536d2c46418a47559ae87df007ce2e03988385f41b17fc4fea52036b4528f3430e5398e3f955d8e21497fe8fb265bfd4a2e270c1673127a40035cad07d6375d3600ea76fb7e96c3d44eec9eee82954c3679ba9be9fe25533babb57d820d81d44e64c9a58385f6af460b58952920e9104788538f64387bb42e8f50443c8cf70e7b4be6cb701174d5753ed1dbcf9df30f2fa76ac129fdeb27dca6e1d4a3101683a28ac8022464e3d17f309d0ff4845833b1f0de3e30b884748009fb7bce5e94791f79bc71f487f053729b7117f06a348e03e5183b4273b3a4131a338126c40cfd106903908e7df43a3d351b9dd0b9e286a12984741e1ec1a99c90a2cfaafdf5652a3e1a258e99ad91e8fe27a5d082d7983ce889f75151cc459ebd8a82f8a9646bdc56efa08d013c0074dc37c18bab3aff203c12e7134f255ecf949afc3a2e5db329a6c3a72466fca1a149baedb37210adfa05ef534ca44fb9c2b330128e39da33eb2c65a551fdc2e865aa1709fd22f439362a390e0f044d8421281c69e9191ae9d9d61948b0ac8b1f2d9ca91cc691d51e08e262ec3c9ba52f9edccf8cbd78f1e629b23b71ccc34ce8f1c14a68e8e3137c36d409ef5e787fb65a59368af852e05b940a1048c7107a2a0094b0c672300da9989b6cee1b1b3706ff5913a0f45988529110b30d37d55c931f84f9888d9e06149042865b08d3c86df5f0715f516e3de0e4fe3d2b8ca44ed9028704fbb9387c251307d9386dfc121a8c76dd3d2175d9520218d21322a90a008bba09b92e0a497efaf02e807d0562556af6426b97993248c164160162dbb24716f60385b00119b71b93fbde75d9fa957db1ac99868c50376eac07ad220d8f31ccf883da5bd045dfbaf5373ba00505fe63f913c5670ad85cb3f2226dc078c55807c89b97741c4324a4a417c5c09aaa257a4c13e9fc1490e1df1526783711f1e0c7738f71576a90dd353119a1eb01d1d6db44b41be03f4ad5092e23881a84019645f0c13bb6f1adc899417994157cf4e060bdf702b0f6e0f45b3f41e0bd8cab1ee1a2a7026ba579397f302122177cce5a0b29710fa909b535eabef1d89d69dbafaaa20ee487e7069f2327c0483fdc4bbd8186fee1707012ec522bfe06f1f36aab92350b6423a9fb7e2c7fc34cb44ae75d4e7bd3dc618cab3fcd3ca449aa79300e32671bbd05e1d1825efd2df8c85903cd6809dfd2eb6913806c3e355312b38fdf958395c2b8d80d5a4acdaa1b4ef31abb2ada7091c3ecd3e61cb76356ec8b8d3aa370c05b24530fc0d10a7ade59bdfe58aa3beda861e1bbcc353dfb13b87a9d9d567f5204d5855e1ca71e40780a0fa429bccd5abd74441ae92d4c490ede0c67ca33a50ecef343f228a1839582406ccfa756cffc4c77bb0ce18250413940f0bf627e8dbde265626405222c47da9f770042132ebebe650cfadcc87761fa5f008d56cf56253291df8332b07a56d0e43f49716ddd2fcbdf3dc0a1c84716eb864f078b1bd5c5cfc1634caa0dbf9acff8c662f6721429b37aa60e3100cf708372a85ef13b48b6f53d08355dd73c623fa4bebf1398aeb5a2b9e690ce4acfa2df778bf5807055a9400f6b5394b6c48762b5576997bc0588b68131522c043e8a2b540f2130453c2043969d9bc9531d2a5ed5aa80b6ecf846d52622c5ffac57e23092061fbd4693b947f4b62025cc93b4e8283580e56b57eb9c869d0e8a64b8a7fd482cb3a983a4453d0d8df4fb5a6b8321ef1d4f418a685a55b0c07f3de102bc1f817df36723669e65e5cf0a60a6ebb5c5dad5bc71fed8e747f7ecb3b95e8dedaaff3122911ba3029787df552fe527452008fec8c93530772ace91a86386ee751e7a820510924e9434045622361f6cf25486c17cda0d734597fe6257cda16881a46c661b139100171d8dc711c940d260c2df9b65cbf6c9402c77798beb9b21f04fc400ea932bdbfbc69c6e68fc07de765b2d850297861de429b7b823771d311266d310c9c6596529f2071baafb62e6f15b76166ed613b1eb2fdb38b045a50a187f89ca7a03bc4a73c09446af2b7aaf77bc40d65433f852a988bfb67e7df4ffde0c927eb52900ada58876a1c1b03953e41d792da750da182ce549dc0ba7737473bbb3c91d99855859723783c3dd3ef9074f102d1aacce48517855e01b6429c1a8fc8345cd39b4953aa48a73bcdde360528243128c6829acef449be3f0ff4c8046f859d8fa0341891c602f05922545dc79708971824e353f8c04f189ccc3720288a21899971047adfc4dc1bd479cafd00da76cb4955ebd8314a4f4f2dca119220ea984d21fbe3933d370e1f70aef332193adf3ab412032876c3aeb6936cb8a60b70c97f9b2556897df0d08eeddd0d88da59061dc6f6345aa0c86f706a956857e6b3867cd5530d395e406b31b3cc39ae71e9e04c4cff2b30d2e30d72900084ecff0df62fe4423d86fdd2c05a6653162f1806d89574e8b96748992a0b4d491b43868151738368a5e0160c022a528c4cd4283121afa9bf0ee1d0d9aa430991e1dc82544c4ffe925d5e7100835cb0990f00009cf7d4609c8d8de828a4cf9eabc939029219ba5138a410b178ece8be217738f5439e31376e657f3016080a6d3916ccf23994882ec630c358ee896133ae16c8e91efe49acaedb42af23d2c760512caf6d53c8284917c7a298a0f5115c5fbc3069212d7f9c7b22ade8142fe9a992668b79f8a5b56438df423d18d646ca10e48bf8e6cf8c9e587a741a3267a0c9648f02f7120a38078b1477b5216da9c924874e73143ce1b4467b7c4c214931b98620a449789229e074c53c001fe208ce05a3366c55d7d80f3810d461974693c928ef5e65b902081e33439e670daddec81146adab1fa82594f7f5087ae160e9d1ab8195a8f17087b82773ceb5f9f30423285e473c53cb65db6dd2ca1ee7cb83faa13a9415c1d16363f28096aba2db0a72c617163e54f123ea66895977521365eb20613fbd10397514e31ec761cb4ded6e683465e61e5833f1f2bdd6c51f75d2c386fc521f6b41894ea6d55fdf021fd1a7800a5d145e4d263862331964201c0fd9ddb41f1422c04936b527eeefb68e3b59a6f232b264703ec1ce8da504520d953d4080ba8c0ed32d0cfd005cce0640d06dbc338d144829426397a33eb27f48b54122ebf5325b6025e23c9972a442ac85173ea05bdee97848e83541faf9c2b4cb7fd1c412b04ed1488ff486f402121ae15184a6736a809c140dfcd3f4ed2819ad43f9424516baf17b3b0be2bd7dbfa495cd9e2db9591d5e788391eaacfca74a3fd360e4b7ba65f75efebaeb40279dd6313180c4d3fa88a6a3203e805ac0dfe990e9d8fea66da24b524f2e60c99986f663be5efd38ec6eed3ccea39869c43eb241a9afc271ec8ada20498972bbacb599388ee0ff21bf58c30a6c8a177a941c703d2747e79f48d952f18f439fede845109c529d434c588aa830c98cf34f72f9373d66453563ee99875cf6114a44cb18973a50496a0db99e798d8097dec41fe8afa50c8ee65e4589cac6bd3c6399ff3a7beb22fc4e10746a04c67a93f61deafab2b27ffd0873176c5fb7f2bea642160344211298e35018ba82d21aa2c578189de63a7d54423e220a554d1bd62ea872658c0a70155b96bd5bb7c1510af57a70dbfac49b9ee2b3f1c33b4b14722b3e5ba563a1bb47752122e18040090001044c0239250aa5a78c44abd5b264376f46cee30bf63ab39e7da225d97fd1aa632c40b0fed0dc08127efc72766e98a69f08848889e594685dbf505990b1ad5f3df1868a26550eda3893c54b6e1bcfb7d5c4b6a1102801761a25edb8b7c4b7ab1a245b2b720760d95838587ac6397cbe0dc6c56c57d874b64cd6e9bfa4f6be8ab3a35ea979c28b3e6871553f14b4d02ba3937c02f8d5c58a6beb5bb79f21a5ad35ad5146a67149708cd61bc72882c730c9ccf2700adaab71a29251665577a1f67b52291a40761c6e1d8015003825d3ce26355e21672977605ad6ff84c929fd7c8e27cbb3d215bbf15399ec2f173e11bf6cee39ab9d594561db8133329cebc694593e9c5a017e683cf71c026741b7b9e169dfc0d41e2d17622350bc6ae41db57edcd5db49addd546d319d6fbb0d15e3c54867701464a67fc9a659694f26dd71864ab00fe42fc3f5347ce8a7c35d3606926d5ba1c8a102e853b966cdc8e3cce635c2e8566fe3647b6990d79b07c191f1eeb6ea6b9891751edfbbd074371bbcf27d0a15354887ba8c28fdb90c4a35dda6c79236f48c58943938b192b36b117738000e701b7efefda9f439f7f05072d238f87ff657119badb304972f448db61cdc8d71b6338e4a4e73c7c1ef5e52ff792e68ca2b92ad4885ac21ed35727fee18a027065b1a980958ba0c015a3b628ca26f83646873c4b166c5d25bb7c06b4714d6472debe5752d3c51081bb263f7b2c53a4a5b132025cc2287320f65cfc8707f31770bd1289204130f6ffe8fff1045631443618910f3b59ecdeae0da053fb420b8dc86f917f5eb5b630692b391979d3244f7a7b9eac304fb949cb62be36a234a2e79f6416b6f6d00a84c36dbcb3246c0ef9292d7a269378d66bc12513e27591701cf0e4efc85a70b82521be1b007df20dfdd80d5a56b5a0dee669de8df0e033a048fb7471173ca447a22acc28ccfbf5cfbd14a95f28687fbf41c9565f8ba0bf2656d571621194ee7f490a0eb5843c857b9523757ff2a86df364bbf0d89ba0f0444cac8f6a32768817efbe314a26df88a286c7180756d03538b20ecc0ee9b5637ec4bd26887fd8a7089439de8c434f1904126c68107141de59710be6bdc6bbd6bf4f698f9c5730f66a328b864a221373665ef7dc7df301208dbc816372b42f5a2e4a0934076282e6eb4d3f292b8ed75bf099738f5b0b3aadfb3baa8e233043d31470c1ff72a4df10139e323dcd5c3e4122d2ef62f0a91b752e12aef94027f87e3dbf2c0890e75f22734eda8a533ea70af7c33853024fd4ebfad1c8c8e7de2e740c3f6424987ba329109a267ad4bf670498ed0fbaa62feb9565ae726ae2734328a021c01c4f9a6491a6b5f8c9356f2d71cdaa071838552213abd76d6526beee5caaf1b811678eeb073e3e617f21de56a53099b7584a5e3761073698f28f15e47f147e1d37b59d1a8c083572e02c9ecc5a27f90a399b5b0419636df735e11716d581026f447dd96271b1ef0f4dcba89ae943c43ecb8117791f82686eb97e729f6c9c2dc39089484f1bffc7b128b39a3692731981ffecadccb97be3b8742e2fbd5184c118778a3297b7cb8e4ea3b848394a7c14875aaf489bdf4eb92e8b261c78d4c1435f4acee824e1886ffb17ac4049b0bbb535976bfb5d368bddd9800b23f7cfaef60dac6042a17b2f65cf3f8ae2d78c3bcd0af099b91dd43e30e1cdde81b7f095922583a9702159c0f3bac5955184758bb7a55f6a13de25ce236b9ffa8b04263c5ef1745180dbc23099529d31e71ee9c4d49b6337a17b4b0cb7673a950da60a893520953eea1943bc2580b1ba10c462871f6f3b017d6a43f32ef2a62a2706d759c23a42897a428b501d9bbe88015ca5bb08db64480756821cf0aa220f9229b8bc5b7699993cd8078a32aa83cfca928374288dfa2fae22883a2c1da2a9c0c647a43e262da897c1d39eefc0b4ead3107c0ef3dcbedec3601fa2dee631b81849bfd9f75d150b7bd70cf739e7e04d1317a1ae396dba300b668b037e54ea6aa5d0805ca904172490255d04342cd1bd9976ac5d6ab6d251aa26525b4f73ed6c21fd64153ea69a15d2ed3305d41b5c2411f4ca51fdd1c8b36301691e8ac82ee6484988386c83dd545330f1c662c4e8ee6c0570c7b7e091fe5aafa3146d17806a706c7b7cddfe17dfe89fb137dea8815470a1f62793e27b7be0fa046c8137634bca9f2f9e6438aaa187015c542634e99917bfd171358f38a4258221efa16e55ee643a8689f178b06c2e8432eb02366fa71a513b24cbbe51a8added6348cf40d878459b67937686468f3e0d97c815e367c9f81ad805743137f843c73292be24cbc505c7ec32853f416c88a0edcdc47e8adb592b35030e6850e6b44a99b1401953ed94a279f23400804fc2e3bc61285e23377aa0dce1a58db92272b5d57e25fbf6c09bed915442083138ceba595be34446980b792b870f02b89b5d460a1a3cbe99c8010ffd94b28c5bd0518863fd48e0f45e77b26493dc22cd5fe0a58471b88ad4df2a438dac40c9e3df72bd5958c93abfc0bce1e2cb908ea634cb02908269ed96038c8f2a025836f861b9d1d7eeb58891b5d9cecb2bc75c821bdba4238e10e56e92362192ec13807bb7cd07583481bf861bda07223a08467492ebea3563cece9cee7dcb8072f5beb672861e213502e7cfa3020a143fe4baafc92d1c872a14f405c00b46319a1c57badd3734bb00bbad7e952aa94b9c272edffe465f1c0c27bcf282048eb4ab1c2f1afa19ba2485e68458e83fc80a61f2f749f9e18ae04dbc809bc203319195bb9e949c9955bed0e0618095da738c1b32151758c9af10b1077469e066ae659959d2abab87cd0272efc266223019000b29c52b09f19880ea312eaca910d59104da1968a645aef85421672f97a4280440f6962230dca9a6bcbc78ba6382044d5b25c383e33c61bf2c9e87778315463cc0118f45b00682c31aa186a0c758deb08138608b835d36163a95c465955f7d6968fab9b4d11868042eaa43178c68f30bf6ba821f03c03f827d251c5a788a3e0ef73978a5fffc5ae5d7769d395a215496a48e1e4570590363a82e6b0514d8df13aa60164bc32a1f15ea0f7771abf77d1865d22003437cc36d293a869498aa91255ead2923331b8e5ffacd8e921c247420c929f8e5fc7406340d30c82129a10688557a69270ccc7b5b379fae6b58804a7d1d4d0a54590d8892a52d1caa7b67c519e5e85df56d6085aea4336419a10303c6046329809394866f16d5fa45841ca58eb360e766f532cd7df86cb85e923f5dac17ff78beeb6a322b135a7ae89b543f3136fabb9a4021fad08b05638a5c92a36552d977e51ede9574b4da28e15417090bcc99d151ac2337573c9c23606fd66d7fc3be02345f541c438aa6e4e74f2fbaa9b31e4d049a097b21bda129b20bba6aba758d97170e0f11504620a3f2c399708e2ac690cd122455074ca5a701f9fe55933407a82de9780053fd07d557d4044226338711a65604c482c2029f8f747749aba6c4ef9a4cf7cae7c2bbe50e209a06539992dd8a0f0c888f1dd12820d0972a9bdc451c002b9957633cbbbb34bb8ec80d8943bff6235336ebcb99d3fe72a7e9b68db2c6a29d80cc36508fe493e96d5d524060ab690279450a2708bcfb6042b986cd8c2b5a29a1cb68d5c6881e376ed436d07b631d657bbe35b2d6ec23d83ca7a0320c639836a03a28451fc7443eecbe4b7fb2cbac903c8f0b384b382b475abba9f636023f3772e874b5d8616948d20ef73dceb7507bb718906c5e53cda24f699cd8073194e982fd6f7396e935177fc43e5b13850732779d253aec3917ccb496491984a1d3d3019548c93b0f0a80449807728aee246ff6b9dce1d3c0a4ce42ff71caebd9b36c29066a9143cc421eb42bfaf618865d1e7e39b914696f7b80d0066be17fa038ad7c7d86ca11559882d672e8c563bb5ce682aecef6062c395497fb27039c9475b5974ad5e87b937189991046858b8bcc20b68559ec39c34ce119cbe066affe29128be4c8f50d6d0800eef946c1e3d2513c9a503e259b0bc1db185ec3a494ca13223404a3c265b6cc48b592ee425d147891bf935a3463e89cddb530fa6ebac907f9622b7e5ef77a815a71dcc214eec2d3a0883dd561e25fe1fca5c707b797e78a8e7c9414a2530dd703e714a09cc51e2a246bac6872b1c2576153dbb7a03977455b727281605930f4dbe76f586fa1c337f9cd79d1a7c41a2f3da01c3d826bb8eab7a2854515e76379b06720bae1fd12065137339dc062eb13cef5674d4c9460506a862d89017f0ebb91a8fe4f3046f35bf45542f234c4709522174651d8e42e8703d762edf06075da1e17d8335e812b139b83a07e7e4923e84444194f5e3184ca359ad3ad0d2b6e5fb40241a0567992d164cc12d6467c04c543b6c7f5a61c162fd07818a3e198e48312a70b5e80eeec0ffb4401d58f067b9ff05df51b0059ea57f1039c448f249754c80b05eec8ab3b39f4f6ec242d8a7fea1ceaeadb884f4f077a4569f5560950d1d30c45fe031aaed2d469eb57359f9aa036de95cb24fada444db8883b828c31ff820a78b040d6d93936348072fe9881cd39094b401b6b99fc5b539871ebcc0f7396f286390dca3f3a99e05753e630f250d5fdd7d6a420f75e02025758cb847deae9411ef197f587de55cd3e5e7b078c31adf7342693a2ebb76b063ead6c85646cddaf5231e2b88a930784242d0559c7c60551e8642c1a6d9d11525f1269083916712e939fbd558775448a081b15fdc9badc7503289d8e25f1689934eb2d7f7702b7b1bcd24de59b2680dddb072a19a04a760821118027c64fea43f7e94daea5148a0913ab693b8ed45b4b585e2559d8167475a2f7283768bb1731ee257e4c098a3d806f0582779fab4fde8d044429330c5b71e24f1efe96090e00a29a37d281ac259eee6f4c2803fc7702c21deceb09ed765a4edb27fe9ac9ee46ffd6e8bce14869ee81ea0ebeef4d1d3d1c6386cbdf8f3314c909cfca444f14b068addac64d422bbae61f2e36db256a339d0244a0e54d2aa37aa44fe57184c1733a285c587bbc7dc827d280ff76424ce29b8db3223aa27047386c351b8f40d05722866873d1a8aa9bc4b5bacc2b2e0ace0386521c9c2a3f5697b63db1dcde5ea9dc2fd026ae68349025de91824acbbd6f4b070dcd52b3ca7a7b7b50cd9537ba3d5c3daa385459419a0736c395bcc5eadeb0b1216b490b6f8b4a6b31bd3cd43b741106c803bdf066e8ec5483451f12f4840ebf1dbb2e4f55c167e247f9cd333db8ed23fa404591ab3dc88861d42b89c9e8bfe8cc25ec50509972d08b5e61624e8543e2e41022e4bcf170d1a4062766f41c2fdbe2222196504ee9440bbe77dfcaef76dff0eeacac01c66bcb6122e6fce93005a6341322e4de87a9d41c81080d7fe88e65f3723bc4e5e1f93e407bbe6949f14f53afc37ad3a28736ebc4b4ed7f9552fd1ca3242770b74f91080eb4fe9affaa10841bcaedeb7b80b43373cc4c30d0a24e05a9d0e007ec177733ee0e768f14b54364442f956d0ee614bcbed831b22288b7826859af626c3db3bac70385fc8bc29a307d6ec5a828ae4fa519dad720b1a15bbba64e91082c52520fa7008885800782e7faf46fc4056ebca4f08a2024d4837bf39f5957fd1e2e8604d1aa7c034caa0af3536da66c5d0594d5f38eca6b26fa48075f92429b1faa405d2d707af9ee53c8d190879cde7ca9dea6a6c0fcc90b7a21f6b402d1c709d8c4ef7666d5d28c2c27a4c9c6bcd63542add47367fdf4be2cc0d37b6f2d2134dd4253838883a34f571b3f4c116fa00d6f960ca3c082fef863c20af31d1b2f501449088d761e3293e2491a8253bd2c1a149fbfe1f6942085a13104b1d370706aa240cbf23680f43764ccb71299284de1a45fed48449f5451fabef08dffd60924794adc71a70a4db0ab706ede6ada1b63cc375b0a84a8b71ed13b355bd8664a685b71751b94e8fc034c709ba3e5e7fa7ae2bdf8ab895daae4957bceb90b92d514a295e1fe2ca599d95667436d489bcafec1b42114a377f62bdec16656114a6eff5510e535539c443d7569d899105338d4cc219a9a25e5295ede4cd0cbb35278c834e1396d91175640d1367bb9e825c75be57b6134ba2aac3df2537622215414db6f2e8f2319932a20f3ca56c758bf87937b61ee183bce74e150c00d8bc81365f0c5103d69f9e482ac6867164677a12b9accffbdbd6b714114d4fc7709da20e22fad2e209bec212ebbd8a0c889800f7402786813e81db3102f2b81fd90ea9a48c26f4e926154966521d88ba72d184886d57fdaff0ef2aea41631cd9efea4bf77a88b1c15daa852657ad04bf13c03be3ecce85960867c865fc41112a35f9ef481ef550160186e518e2052f25c6226129c3cbe35560c8ba073a5241e4067e3425f4a3212b7046e1ad42c10821455863be74aa4bc24504e5d7061890f73d18cdeb57ee94e9138526f5e9736120ca16fab2eafaf183916ad2179a059d44825aa6936b5d65b193a7a7d1423a166dc0003d42c106ec764643192c11fe389bb1a585339b3796c3cae69f631ac86658e02a633386424b6d52562cc7b8cfb6eee44dcf3de79aeb69e5564464cd1e1816bdf3358befdc4c9415a0043ee55ef34c348a9456a6f94ab539c93caff681532b5245535ba51ce2e7f3a6bf414c7d650134b448277faf7d3cd5a6612cdf44f9bf875b4525eb46b35d64c1f0982409e682682a77a0f2f97763dd5e675ea6e7c2f86d5120d7a2654c43f6cc7aa77427984af87f3acaa0958a721a4848337c5dc7570cd04d0d0b3cec1804cb4d1f78b7b3a6a89a81bf7bcbdf41ab6164a96e39cba54edba50b1659fdd76e009e4a5639c8e4900c6b7fb0be2e64225ff0e8291c4e977ece6feef4cdb3ac041d03528658140508dc821d7cc9f960f698bd5dda4e0e39d9ab1d8495e8d28369e2500e1999c70495616b7c09b16f052e220a297f06562a8b037cb433f37f8997176d06179921aa74004d1f5a95eb5e2b75761ec586d27826f32b40667a42c0f307d8681f1cfded07d2ffce63ea00f7621a3a11977169759d88fbc7fc676eb6687fd2f85b2f93555811407256e6144cb11e31416c61b1430f96bb25ad00595f85b534e21bd3ee37d02f302f469d0b694245ca1ae985e180a15ff184a463b3a3a6babf63809beceaf06e8ef0f95936bad01a7ab52b7a4e7fc0dcde075ab4725d95c2a0a7cf01295dd88316ce6e7bbdab456660d4b544301fcdc7ef27a8197cd579858dd78b9e38eb8fab2228300d1ed476b7bad94b0067397b27c40538b22f94c3125603de0aea25a063d0e790ffda13718f8916c0c1ae5eb627e2108ae5c15a1bb7729665cb27aa4155b62475ee732672359a04b21321c3210ba5b173793738b239e3118b995be860a0fa53a1e551eef997b71989c8469b51a2c35289a9d65ac8c429c59b775f5e70bebd137ca513232c95a8f16da9b8dcff36518e4109e68a8dc5fb0401292e5f900a78cf7b9b3b826f6f88ced9e9c82576b36d47fa63a5baa0a8844ca43c8b323ff7d214035aa4c4fc5c2836588b12b9219c7a929ec59c131a1707b2d1a07a3bb1944989a35e4e059852784f93f8e85a4c0a1c6a82a71c7023e44edca9e8d40acb9da0ec0c678300c31dc12e50cf9e0941539a3bb1d2de8fd8d722b1b06a27e8e8dc89b54e456a3c842485da0d929252dd89c8ce968b9095cae4a30533ba3b81faa3d9523e19450fd44d025e5d6863201fb4c05098de17b10253c0e5ba199aa0aa9487c28287a1896b706c45c87722a687e02714a1e24867dcd411659dd3611cfcbc890e9ea0949e28eff0c47589b28e8fd2fa918b4b1ae187c0820a34075434154fd089d4cc9bf9435b4069fdbac878dedd62a5bf573a5711902107544c47b0673ce1ac037b6298cc83de62e2e3bbe5d4c71337a4b2837211e19b5f04b10751b3f4aa3b633f9eb8bfd98b5dfd122b5b1cfae0e572a9186ef40de85aa962e95cb22dd444e44b71919cc25514948c352e4329953b2236db7e4e432d36c09df1446321197e92e29345145578c1aff1fa48b78a244fc06d4ae8f7a02a147d5df02d825f7f4eab56d2e2c1c746233ff5790b04f168fd1a76b52626f6bb55eaa56ac942a47b6353dfc18a5b3cc74a7b4f8e0a8359365b7767e609cb6a3e9c736d54ba69d110bd482c7e90d2d01d812fc35ce1a951c4d0c9b878183f8c37c221f4cb506fe275a57d805e31ad9491fafcce962e10d1b500373873144a8ae7e40a930e7921bc1390976b9b85070975f0cc9dc69e338441dce10e322b23108616d750e43429b35f67d2938fc56930400a899ea4cd992421001d13dd32440a822f5aaae1e8ddfcc9f67c6be635459e547a44d62909b211430944f00c76bd3a6387011bcbd40d9db8c9c1bf3b56d1763909c431076e1be767e086a7ff0c5a55e607070a3a18e693af5ab524ac2f1f5260f619a5d20bde0eaf18a9e4723d1b65c46d54109d9b50e2fc45270e4e8ea9f859e5d6b470402c57f1161404b7aaba27076eaf655ccd35b900850271e69a5659877ff00014e6c8a7510fc3ca8eb5853f5a73cc352d4796c35fca5d62465c63ea3feb3e0d068cdcac149f0fab0f9944254e3423a37bcb270db718e69adc7d9abe400efd3067426c6462de4e5c986ff26f2043d1d254ce3c2584c597f27ff206379e7fa84d651bfd5e704d6da3df90214624b3fca843aec965fac78f3e2d44daa26292bc25266c5e43f4897ee53ed278406001d9a64788546794a33aeb41a10d9b9ceed3cbc059de150ae59b554b991ad4219a53246ea8f2b9af2361bab54136af4762df34a59d4b6e3059ade62b996fa392718a739fc28bc1a80b89ae66c5e3a7eb86f06022ce483ea480cfcefdb35942e304819ba7625f15955284843bdca96ed4d7ccb6e958f66f02c6bc971e129db0cf6a5a2049a74fc2dd55d0a613087219c9d663b6f11b7674c38e848c0c5150eeaebe8c0b08cb6f984c599f86c6aaa2e3f5899936020e17085b709ba146b8989e19a9a9322c9bc10723f9a20066f7c350da67504bf1b463e9c45ef4125e61c7e4721c03fbcde4fc987ed995d6192abe9759c7f0d87123c85d65c56cbc03a312c56d3dfc047163fda008eb6718d4f383048c703a48101ae59f2efbb4e77f63543cd9ed6a060983a55fd1c81cf76d9f315648ae0f3bd343e13c9a8723fd93621220e43f9fcb1d4c6751c0db701bbad17ad653c48dce314e7c6892ecb931e5e693e2e40ae404baa55f1b3182bec8fea4dd121f274d50063852f25613fbf3f0f2a437452162e0c59aa18d8aee21b20030d246e56a5341d553c425f84eca42608ca18d0ac289dba014fa8281f7961fe68f4537bffbb9a3552968a312c3e565cafb6b18e73aac2e0a626b6c375eb5d7e7566203dca705bf9256c80fb5b74ed69c105cdaba36d2a6744200a0a090da2b8f9f0b59e0b7acadaea350acad8435af83d459538aa2fc29677a70b9b55e74920c2aa9aa461c5219d84e01804ba509a9abe9de75b53590e2a1581b9284d2070bbe2c0580e3b859b709e3d6145655ebb49063c68e197fa8a07bdf382359efab5ee0f27e95001282cd15e2ddacabd173a1d20f3aa9c39a3053d3d7dea2cf9434af2ca6a46520324e78cee328d3270e50e047802f892919c7ab4b7a9e5fcc50f543e566fedabd4d1a77b2883bd6d941275688f72c938a584dcc0e6ee7da37c00541beed543d898fd2749b2694e0b39d3a529a7ad70fbe532872529a34d4144a69f2a2f14dbb639f5c6ad33e713f1d3050f7e28e325500b9107bc98cee5f0cf18a5d844a638c264aeaad971f74548a1022862a7c5b3fc7bca48df86477136f81d0c9d71d2d865955a684eb30f7304b095c927a2355db19ed432972b78a6834391d706ddc64969b2003edddcf58b618e1f84ca785100bc350b1c12bc8fda894e00486983f318c04458fd58a55219481ab146cad924f1a51f668b4129c7a3e6a54253f97b1a09a28da4d606bd40819bf10f70f042d4a3ad422f6f5f511a0351b2a8e6954ca6db833164eaa75aaa385e06ed3bb6a871afd1d6b14f2f2202bd7c6260bc52c3aa779826ab3405a775afd247e941ce42721422c27e9c9752a1156179f71c65400892afa3f600e5261a7672cac10827c1ec497c4cb785d6b70f2862c69ed72b83448f51410f6851265f8aa1af84379b47de873d4bede8ab495f641d75f39b62760721abd57c802e2cd675c1033013a049dc68bc165c3298e05699ee6310e5ede12dd80fe087b0284262773718518866fe25098053a493582e2d80b70f7d87d02a169599291ae2023c61508a68f97a5d9fc7d1a16b13c92e24a9e25fe5c216a5011a63e06527fb9f27696c892ee22a1091d50552ccd602550393f595793b092a0af10ffcf08c06942821a36a9cdfcf495ee198e97ab122ef3917672c62a83e0d650cb58626f26801d4fc74637cbc0dd0dd7195abe64b17e376880f3479f1ca84850ce0988c01534d77b1ce4e6ba30c5181c091c74f1adb6c4e3c30d72af41654e2bc8085aa1338e2ce7fc6cb28687c25a612a7950d3b6289da3d95d6213155b82a720942e0cc14cca1a23d7dab98904e41283b68d03ee6cfd2dab1fef7405a052431d74956125a60a85e45dd6d35a07d5b9f0f059c6a263677ae377db08a95c5501596dce91858381677c5563321b83bec11d0d33214f3f7fe0b2e933b961928a13befdfa1356d6d2d8c2b981a7cfe4eb8c58f74fa0e2ea4fb893db717bd82f082423e4a1752da957d0c0f4d8676aad2e185609148df699f640d0d41420a3bb4aa6fbf699d249ddf2a191d20e60ba1726fb41f50205664d6d8f870afb8ad3cf3b413f1e720a8e97e1946e290f82a59e611c62d6290581115b32925d32f660501bb1d54407ca85f745916b5335a187b8fe9d03830dd162cc3170d19df1e8fe38c3d087c647c0ecc75e8ef44847585b51abb3e877f9da1633b9a260047d6211f029d45367d45e85224e5a12f42162e39987a46b6d2c9797eaf0f979a81f82a549e7238e24d289bea12dbccce6c56573963a5cb495975bcce735bdecd0636a52572550012b0960816fd4b1fca3b8159709aefa1c2c38b4dd81b2ac8865a3d3d5b71f13202873d671bc87751dca074067af0937fc25cc32f1b4a0b7017bca6039b1304e43ec93b9623905a975322dd6cea09ac5cbaf1c0c28d5735c59849693bf250a7acb06257884757543082e3da5a04998c9a554fa46c49aa1a21c1f6d5ef028200f9e97efa46f11ee29a54d91f94dc1a64210c590cc100baec611fd60cb1874760056f4a5420095d301a3a0ad2cface6d07046619b7cae87c078ee90c62a71028ba922691c493594193dae56fbd91bedc840a8cecf6d28145d3d500a9aa95bde54e522699524a32a60091008d00e9aca6cb9f552adff5b5fe9dbcbc50540a90163c8830a1428c4c0a9ad82a95bb0e2bdd2cb32ee8973ffcdc74cb1b14156e365decc80ed592150e8e153750313a3a321894ac789082e0a038a820f5c06c241ba0199406990c0aa3eb8bda6f0a066a10f1aa7f0206a012b7d39508ac126c266ee154e3ce68032f0e2eb040a1305163eaf1c3c1011b18374d48dc30728480c6ec6f69ba81379f5b2077e189dd439838a93e792801ac99b05f3fd7a04570b664d2e05da79f8e1db3eaf244f5a7ee1dbb1c00a15f432b2dc159c8e4918a4a4be6d9b1e1223d2c20527c36c2a4aca8b5b4768d57b4dbafdf2e9b7b98fd948e56ba94dcdc118b32aff3d776efad1f37cd7e98297d8a637e0e401202920024ee244f96f1cb972ed535e8e44ad3ce0f15925ce221536193a3c3d3334457312fcbde893f7bd5fdb33d2e26637f616f977779b1fd6b3d3a74d80f45edf82ab1e213478d53e37beb02217cff383c0b7ef4f7d6f5509fb76057ecb62c05a32b35874cf689d0dffaebc5b33d77452be4fecf7fd4e2871bd6ef345763e4b09c66dc53d05f6da18fc8255d6843188318230d85d8b8a3c2f8dedf8a8a41918b76b3926b7804276181bafbfad2b017b501c9fb872e033810ca06d78e0d9d7a1122aa8c227005204745e58348cf89c464478e940b1a1ca99a53cc341b5c3a7614b8aaaafbd4578f09a2f5afaaba0fd33fa6bb3f5ed91a9fdcf74f9fbed76f5fdfbafdcec7d0ad7e870e79fdbddbdff773f1d9654e4008200d2fecb5f59e8d25c752bb77dfae5d7e9fe50eebd6d6eede5f113dcb63a9dfb5eb6cd79d57c213b19958a9e0068534ac4358762a85650c43740860581c100dc9a37116a3308ec238ef3d1912d1032945e3f7c619001f550d8b69a65851b6da38c0efaaa9be9aeec95efc1bdd303baf889bb5d73e21a61923e9bbeeec6be160d055130fd298fc2130317a4b9f29f2f34af928284bb8447523ec67f8a3e9ca4f9fe3e150e6fc1bea995111bf738a2e82430ec9ee039e251be74a4e439767cd0f46595d0f5eb153fe3210dc41623f4aa9522dcdc6446cc35a3c6b6880c97f0c7b54063795aeb20893fc7c4344d5453e4e7b28f26c33acd73aaf87edd97fe38180156e89d3002f0f7fc7d9fa29cf71bb1228e8904c281dc340b8e298ca5d642a45a36e7197a0ade29f0359d49ef52d4a0159bbdfd7a6332644334578b9ab1b3278c3bd34d557bd798270a5817dc5d6db42137c5b941492639e4765e5cbab7fa0b130f914aaf30a9a468128f61ff9e1cdfb90f12e0bcaa83ef243f42f6604e26be17342bd4e5d896716ffc105eb749a9a2003f0d9a15cd7fbd41e2365d5286e208ef44d531c4248b58fab2573c911c608a4a5db5a14a421767a048c4899fe0f289811fe8bd3de2ead7498165e207e46c6150aa8a1a5513079f7fe062d17ea80a53223115bddb712233cb15479f597c164c213012e171700ca0e5b6d23b8c53a505e91d316d65034e3f1cc9adb90d90eff4f245b7d69b3e5bbefd51d97f175a7164343431a3dd6104059551a13d8358f12d910b138a8e2a8185435c1c1ca1f0862a220b28ad318c915276062891d1888af198ca9f6080a98eb2dd438a976fdb7f43840e1f03037a35cfac2e64fe5d6e93972ab5624d7a7584bcd3a48985d7708b44280556856a0558349ef04a4a8fe8341607b839ea53152a94171bc11565374142e785efcffb0bf2b543588ba912178a830cc72f278b33858b87722868ed1689c46daa97661199671c1ae9fce7a35e550fd3f5730ca4508abf61b9e3599710513beba22effcdff088d5d37d32d72909c1be731b736b92e2d112783f0a50b7a54bfd408b41b09ba4be92157a8b9c52203b1667e06240683854211d6aa46fdc416f15fe2dc839b8ba01f02bf7a021b58708e4ea6d72bfa16f4bb2858a96659c2534124746534a20df86a7e8cc0b8606ea52f870eea8ce484459b0e53d10387de327623d77cec3c61e09f8a6e39cfaae6ebd161127c6b8e9d679dd634d24664d845106d0a4e5e9fd2b2ef6c075b6a56fc8fb0977442fe093d203ea256b459ca6f3093fe6bc6588311d0d48f719404a4a8a9a0621705fa3b96d31c9f2214c514626ba348c87073b00098cff47c937871d914f7eec4f92369e6d08801825f66124c46294cdf081ee20f3793140d2538727d630e5d74c07f823f27dabeb118b651238617b4439140beab0079b30f19fca3c4a0012714135069e8e6fd7c716edc6769648f5ca629cae124ebdab22a496abe80c1e29872e09a1b49473183ad4c36da0091f8fbe26f19fb29a0ed0744565d1143cee8251bf232317cd93b523cef9872d1b370f9e67d38b20a18c6f6f2e029c2be9c17f1cc234ae484b8ce9c76b4fe81b0831eb1fc7093471a5fef2811c2658b119b84d548f6f86494de8187ffd4c5ff8adf969cc8372157d32700a90f97882b9fcb2a013dd75f2d8405c9ec06a172599670a0b3a51ce5da280b6831003142e68175e4b7cb7d5403b1015c42dfa36d825aa04141e62c80aeb59b5b9eceaa3c003e01a1a068d850909cfd9bf59637d28d87822ae3001e1bff575f3c26fa577cbb6b22ae9249094804b1b48c9f17a32803dd2583e7b13b60515786290dc1cf6d7dbf9ee5691eb55a2f148aba0b5c5be4bc31dd73ebe84199b5914a49f743488063e94654fe25a33bce19cc61b9b758ef39547b7f7a6879c8cd6da17868b6d7863c267f2640f86867e78a27357c7b8c19bae9070f58940545070ccd5e22cacace97963769e351b9d310c1fc6baaf8282453493da705bd91b69f0519640f418936fe094c6892455ab93f387d8834e6f96bc77a204a1b794078b620b4e5ffa03160a76b2c6f8f9ba0668a076310cf7b9086760eef56dd50aa49711bdc285c878dfdc1309dbfe33a6e331fd4fb79700bd69b8ebe217781085e4d84f4e626e369a17e60bf09040956f3e60069a89eda25387ee8a760403ece5a072a9a92c9520955d1fc2bce05bc8bbf37a9232412b1fce66d73ab81acae67d83aede2bdab44d9cb512094222affd593970f60951632aeeaa2f0685991e4f8e1a3c1655dd8fc7e41f805f37781de78c7af0cc6fb763f2b07e387bddc2c0880c14a21ba5c8644397bbf6f4d4b0544b1f052ef024bc2b43cb0b43e09315a998db680a3b2ebc0f1ed45832fbda4002d065ba3a129b8dea614e3028c095755832510707d692cc70de50a03c50a2c8c77da793d9af12dd05edefd3c114f8e948c82e422e01d7d42dd8da492227478271f2c9219904e7104b808d063fd0d9559107883d1bf0421fa9bd84e7245e0194f2a5d978556bc112ceaca41ccf0a71b029d6f7ad0803b247bb631fb1982ad35f94d727cf1f2fdf8c9df46b1228a7dc3295c22ec2766c91f1a5f3dfdc9179f8eb16c8acf6a56bef7a5d83efb71dbe54a95b4b3b72c993a2a12f87523ec7a09b02e12ff9a30735e527703740c1695189ee68156a881abfaf139b0f9b11d910c2710fc756e765ea87bb6013cc3c5aaf50c00f0acd3f6340a3b13e72dd111f35687f9502ef6bcd43bb8e3a7180e56a47fffbc224fbf203cdcce07eba0a18b685c02a30a40325b4d02589f56ef97dea03b7d314f642e6ede7bcf37233a078c24ebc9c36c4e0d6b753b88df12a91f418f3b9b739312a40a6eea593999a98666bb562321e07710b25e3e6531de33e467b8f35adc252943059236c6d8ee2dcd8e606a2ee4540b188f25904151472c5641f6b81ade50b9245dcd16354027d5f7a0ae679306da987b2ba0767bbd48e3ed5b34cd65b24f71c3ecb1cb4ea6adb1f9875856791785a2056a857072f80fbf355fb4005799a480cd2a6917d2c31d0c4bcf0f57db1a4bb3bd6add75daed19aaaaaded4089c097f654855cb3dcc9e08b7c8386be2713c64cafd4f9438103390e1572ec248ebe41704931ba32e47f0d5b6d26593ac472c309b000ff8db74160693b3fe758f56668500cab0ced475dfb8c008ee3e83b5c46c2885183dcff945efc488db5e7023f8a74c031c6335f1adcd74dbfa04064d7d036878f526037d4e127f615867027db65bb902665450dd0e724fca7041979ffb1acbd949ce17c778996488b87898a90242880cbaacded7e4f2a1a8ac43765431bf82de4fcbf3c1f06f4aab208a86d11d2508b476777cab0582349e0c08e2191e5c10e294f12f4d14551d4816a338b2cf33369d6ccd8ebeb8c5e211442c85c306b33a9b19db53a1882602917258e917e39ae37805eeee3cb9d929703e4d8d8914234b1ae75b7ed516b1239b81e8605f7dd2275d70f4f9ab659a3a1a41403a5ffd95e115361b033b589e5b2e8488c77d2cc95212e0ee6cc2c7ba07fcd3b8593728fcb42316ae65090543cbe69089b087ae10cefc84b92f654b0de6e9d288792f530a5e342b410c56966b1fc3690c846db26542e64225f398b6b95ab9ab9a5057089486527542577dacc9718ba4de4022e694020504821b8269c922e19ddebb1ea7657ca7f4c3cd1dc54cc8934391adf244eb26de672e861f24d93cc9d4e988cd71fc004146fd450c7cce4bbf07f4a3892f251e8d962cf141c4cfef82a4271fb4e878fb79c787f427b6f18795ed636a5db08b39c16532af764463559dd95e0309ad9bfaba8cbb2a9e2ee88e177a8fd426bae313cda85863979883adfc2091e9538e5e635e898e32cdb2aa353c40a66bda982d4f6367ba48c2c21ba74d7383e3269bd254cd0258c539de2c42213a741dacbef433a135258bef5c8489936699d8bb77db473b42fde698506756e253d46fbded7ab3e1b565678f3096cd33bb59e917230568f1c673404e198bd88019de1a903a6d6fcb2aa78fc1912a44a78e0e033b82df72d3abbe2484b8d243aff7efdca13fbb99ff61cf496466dc0b0de8831f7550b9f4700c2e807535568d7237e17dd5e7567a917a14f8124223d1298f96e1b0dc094bbfba382e569e4f9ae8c446e78c833145c3f75d9e9d0dc79651c85f1a0b500db886abaf2d6130795e1b62d9c5924eab33a7ed194151b390e7f70b5c076c1a7fec94cfdba66208ed4c06b29c6da01b2910383b2c3ed40b46f703195b0a8a12fe115d5af915fd514557167f586df8966135f677172b4f1631236615b10c6f8ee515f24a2d5c70eb42a126839ece508b248a3a6ecb67aac5cd83def1982c28d9ad3a979896daa5f18f1939a831bd3ae6b5587dd0cb3825748cd882194dae22f3a5a896222f54c291996834a87cefd1eed6033c3800665b532f704f3a7c0fecae1d5a72c1f9ebf8cbc240ad64632c31343415c7b00c27444f9095ac1351f6253b2599644a32c9920e4f004200400077777777cc1863c4fe783c9af94891a948b5a6d1846e267cf41cd36365bbaa6b652a85988cb184b42725215389c600814b4b5b00292b516e5094480027fac020d988382f2c1c951628f12058231d2aebeb92d4cdcb19636565656565655decaccb5dfdb33f99dbc35ddc8f8e57e6d907d92fcc3cbfb41b49a3b98d348d9fb9d9df1b74151020e5d394df366217c067ee029920e78e5ac3e87c0a7973d0192cb5bb784f810ba497c2526aa10f62eeee2efb2eb35f5555552f95f3f4d773b26ede8ddbeefbae376f6ddbce589b5a5b62cc1e9b6bad557fa872e92a4d75b19e613c43a95bf376d7dd1ed411f382cf0c7efc53d7c9c077fc8c50225a2865b299d7900c97a01211630a6d67aaefeb38543ce833080681a3d302829abc92f3ad0780dd32bd40aecc98538616e4d1489d6c0210c622331fc00ecff43b80bea427d0ba6418fab153cfc2cad4b60a633c0ac5f9e31d15be8e2d56bad3adbb54c252cdf7a5b217e3028446bd0c525de5e600e57b2bccae3a17d093a7727cef44c82b40f21ef9bd7642d32d31e40d18abc2d2110f14386b50f11e5513c7234c7a4321a90b677c545f8e3e02692e530d4fa83b91391f20b47cb37b4feb6a186fa48cdf0895ca6943fd624f13c7304a2c71fa14a190a3658fc482bcfe0bdec199f3886567e21b96462fe85953af588a341ccdcec7e38371428a1fa95d64416522e5ae768afe19a6b2dbf3e577ca7663e381981c6f07736dd649a5cad8ba0700af0a6b828bbac083bb0e93ec157d83af7785b828ad1bef0ce22792169ae75ee9940c969f11f5b398affe5b4ad4bb52282619b4ad8feed515a8e0ce7d741710e64f589bfdbd251fae591aa46f12fb44f699d2564cd116ab068c68a61b2078270d238b34620e2cf5a0c821f4489125debb23e8348b58dd646a321142f1708f1236af072e4ba1a45c4db2c86648fac0139a91a5beaaeb42c9674cc0004efd442307a53577123ff54f12d0f6d2c6fb33f48c42bc50a919cbeb6eb29704331a4fd94041c4c7c31c5ac7ca549d8bce8a66d576c847d890eee6f0fb3b297eb7186285261dbe407deac57ba9e2f657ffa1a80a0e53ff8851cb2e7ca7b510133b9e769b32889925aa4afe5e5434160616cee4e1bdac884fde6b89f4ea8672e4fb3a8cc5ee1ead78539787db474e2f7d4bbe0d08d7f37a789119db88506971a3f20ecf91317aa254f3501862d74b42920c8c4225cd28d04445843891a22126090f917c942f65e47dbcc14f1bc86ab51130c477ca4a26408a4c5a16719e9b20eee6ec15bc0d9590e9b7e4976bb880e139718773d4616205ff2a92f5f71b8430fd9eb29618bd51f1038f71d50614b6003035a79367506e1127c6929e2799ed599f4fea03ebe8d394cf84f659b518f2ad79f7f07704e8e0ec19e94fa47d8787c1430ec0c2c889ae644e61e005e82a7e85a2dfd962ba08cf10dc9086c4e76e6e59195d56c7e21e77dcacc21fa12c115186eb97a84df50f770bbcb1f40ecbb3dce6756b89bd93b96c29566fb8b12fef59406c2b4401b9567492303b48d50239d4ac041a4dd762d4770aca01750e23c4b52484077866e1eeb36d16956d5e991b347c61b291183d33e28f828476526ed732118e77ac5575443ef316f331b0497f36ac46c738f00d9cd24cbd7088f272e8ab037637636e9cff58a6a9bd92bc9883c20290ac15cf686a583268bdacb4474ca426b97454581bdecb03d7e8e9e5634d8c13738b63b6851912c9af6b95a18424202f98d17713bb19304e4e4e30d73d8a8cb9610d2f5465044723da7d9b02226d308ae334be7efef8cbc7cfe4a73794aa0f109d53c2fc32bc6371d7a3a5b660bf8bd73135a448cd64ab7e24602bd66d153ff7c2989f32d1567747d2d2f2f3d510f257ef867a5f7b6a8f27d4acb415f52d3fe5e570181afe4c09f427b1ea0c18a2017eae8c008c43992baa87402fc262ec910e850ae75e0879c4b656df5084d07335109933b9e1590cdb03b76dc97b4df21494d23ee25af92caf01353a555d112a1d68c1012f99efe40a10027807611477f8885133996c0f15b64ebda27fe1e931508ff662a9ae7420b8329b1e67a0853756c288663a88b1a07ac8917b86075a7ff8116ac4c4d5af7e2c82637b96e5a030912dc9f08a66d4fe5d95ba4c41db120b4840b29a9be65c9bc830d8cf33885ada9ee24587bd3c9b3f821f122a5ee586ba19ebc7682bd7b21917a99c7dcebdcefa70546292f6bc5ea0a4716acf28e862aff8ef108659afa718f79b405a6e8793910971dad01da80d89f26b4cb7d74816703db8b67a2e47f7b2db9dda30b9ef80172ffeb876ebfa4e6a015f8ad818129b22cf41503cb6f82d28e5c41d1a02552f376ee78e2cbf7d545927a1ad2e1a3f0b0c208f13f916bbe8a5891b0034051cf5ae8e3f78ff2478ebb9368692fb0eae6fd48fdc8752434ce7b7372130ed0ffc3d003a446c0c3c3055d201c0c084a1082a34c99a4b1154b00062d287c8b68994a6b893dc6d94f6de494a19c0aa669ae408000043b0f94578f6ac55320880b1d608d901d400b900a4000b83871c1034386f4e206271b67177b0e0c0485bd9aa5999ccca60b840e9574f9a30115bc26d91118080c70307a5f24e9c9ee86f39766bd29dfdeb9e5c1bc5f536aad6aea7cbed7b19f7b7a9895764fdb862d4e9fd595a718044c2110782419cca9008f1c00f063ddc36ebb3e0c6c9d67a7c2dc772592ae05f9c4f98b69a19953ea63dc460e6eb33ee040e8a73a1f27ed68cdc94d206a0c4c440943e95c5fbff8a05c4c749c92a92e4e4018a65876587c98014160a3a2a3a72ec30b1d480717222898d1b372a027200b841600d2850c10681002f3ee9e6e5a4706ad5fa1b5b1d7eab46d473e8536b35df726f6b7be44db2d686ac136ba4bb0f2da48f15d27ffc1fe6bfbceda9a6254f50d2708d9dd348a9d35619dffd9f658da68d23d4e5c831840b2553f7b2b177a8613a99e97396c1850c07a54401878b878b870d253e50cc30cf881021580826a291785a0910253a6c70bee8b7cb64681fe3d06bbb6078df3dc5c01798140e0c8e38919b822b1335d3208602215f79161c0bdc7150fcc2c71816e40bbd4eac65cbb5f40806fbeed9749612a3fbbb042563cdcea673169d45f06543f76ed66f5ad7cca2f8cf4ce2361bfbdcad26e46797c565d142cb9e9d5cdbb219e563db2caed41842367bf7b9b34959cf5606295bc8297bbd6c424e512755daf2991c6ea5f357d2ca9d46df241d6227a59391dd5bc9a36edc8ea2ea1445a83bc95d0a2a7c36be86e3ebfce9a117357eea7529c8dba9199753640dd6f73656306a4f7ada4fe76fff42ef517b53dd146ebb4dd99e5f36aaa58453be85bcaddce437e71f29de56edb6b9e937c5a75ddbe8d321fc29e54bae69fff8109a9e9f261dd538b677dfe771d2d5a5ac9cec76363d4f6ba4afa86ecd1a6e1b8e3c31f42d3519b5c6eefb2686cfaed420053da226a9a396f06ddbe66d4d46873682a43f8e209c1f9772cf9ea22654cd7a9b6e1ba5dfa6069b69db6ca684fb1842e849f6eeb5c45a326f094de72463b27a7f6f25771841cf4a8d3701829ba802435d3212912429489a03b2308c4cb2304a83a9202549410712cd8e89489282925486dddf0ece08dd360361e2030b0763fbd155c8c0f75cdab23953cfd6c74ad7d09e1e8aca70a4f8c13c61ff530f80120e4f7d3f0299c0ec27a3500c882f613f5400f56c1d44f9de57e318ab54a11c026b19f4c23f888721dc0d329d34a921d08f0315be1bb76100ef5da6aa2e4006ee219d5a667b940fbd4ace78bb403ec824021af66e788d01ed440a48cd0102cb39901330ec1a2a2b22d12d8a30648f64308cf6471d0e35271e8c2a48b4668cb8f81b2108d2eab0ef725a4944288b6a93302d54b0c144d235996e903ba44bb1e2c81323fbddef0a630496a639c1233c1a1a372b4920e690199454ca659dd805432e86f00f7cda0c9ca21de0d075ddf43f3242000b67ee5c07bdcc921b4c8ac4c00c954385dc6178c2858622a3a1c12c8c474f4cd28b6cd540e321678a9fdd5803fa32e75f74e6726364ed1e46286e20fafb1d08fe8bd6b82a4d6fab5dc6fa04008f92540a128dce01a9a9a92a3728f0d40e4f9bca5a6024b13b0d860e01911b5306811dc072f5083e58313e65febfda4b0df5a1d907922d6dc0ea83944a090b61eeb34f498680f12d5a3f85eeeb83cc4d4f4875ea44a6ceddba7c29bb51d744f5030a0ae10586645b15c51136bcdb0e6f3946a043ad244600fe60b2db31943749b46e780696790bad60b2641ef74bcb2915c5b02a16c37b4149959227621b44f0cfad0f244a23b703e6436a0f65319bb75480abd1d5361d9a03086d0dd4539db87e7dc4d0c1008106404bca761ed1101d49afe0ae749ada8510f1c4cf45839723585d5f67c9e61bc6ef3ba13d4495cf6471a085ab9be157f3e804b2d27003235dd20f13c40248c97093ddd7b2f0f28813b65734e5097781f63d2daca8c3cb0e95c714b259c3f98a1d555836f0bdcebbbd15ba6894d5aadaa5ab302674af921ed1c00cd2a45f60e01f649d2012201d1aaae8ad697a47b93e7663ae2187b4bdafc0464a93bd10e925823c1bf41b0a1298c00b39794d4e243421a0906227b957f738ff411c4cdf2c51c3c47d36138cc5fabdcd09d503591362ee07d65942fbc537154d671ea68b5b131436f6c7a8910f3d4daa94a386b38e069b2e421c24909b42ebe118fa8c327646ebd500237e3bafccdf60d10eaa357490b78a763c4220199d9626b5a05b1cf3aa8ad6a588a2ee63265694b391f279882041df34e1c494cedf0965d3a68efd1ec7475c52bb831d9bcdf7d468a5538aa29c9bb723cf8b1f1ebfb947e385bb98b413d1e72b18940dcc9b060da119c07c3a754f5723073316d7ce8f012d81625720b30efe1a7bfd302027c78a31763c250aff552635fff44c9a1052c8b7785aa2e9dd7c15f4af8d2763dae1c87770cb212a9a3ebca3c948475fce740c303c99fd36d15ae516df49dadd6a96239a34d35888b5b3495afbd6e352840c27ed1ca631b961dc4f8d1e37bae1d38546aa119e1c28b275c45654c6ab94b1d76aecb6971371db0be1bb6ddacb326fbfae851d74b2219405e9d12b738cae3a5f554e764a629d1a11343b4572d7a7bd6b0b2869eddab24b3a18b89cd764713cd9eb0e1d5842023a3b1a5e1051692676162d38a60eac978a4b0d1e3600290439dae0e1f5771495c2cb698b700006a44d0096778414a0a51dc49a257bbfb99468d2a1254dffffffdf887e007f007f003a4cea3ceec32c338c2dce5218c100fd94cf82146643967675b2ac9fad79204099319af159aaa078bc446d39afb53d36c4c33a6d38ea8845b3335be96c69ae62caff9782d6af429ae985b80cbe972155e5b6fc961508f0baab3ebd5a4672d4c3e2896571c17203d708aa41210bd0ff38f62aa64c63a683327211a594a252563208f61ce3530a9e5596f69c359ce3392c300e2286b6e1f4e1b3d431e3a475eaffff7c04931d83e2e0f4d465dfdedde2b4c1b64a79dd9c7769776774e09d56fc74ee470b9c77a0d22acecf2cd5ffb7c0de325fd1af8fec7c8db935630bbeb23499e6469a028d1b73563c251a0cd01066cc408a199b37c38cc1e1c3246e124581dca8910ff93d454226371da98cd4eb8bcfa17ff7b996fd4a82685b330b223a599ee99b6df80765b302adc448e77575996be408461206152124dc1c114aab5a10a1a5740742bca829082f08c20ac10a26ac4c1502016108c24a968dd8c35b47bf4a2f28a2e3635acddfe488387005cdfc573683ff13fcf9d3adac56d39ebcab56d1555596ab81a6ec88a1c275946f13952a7368f29b1a142ab57c19b122983652924b75be90b85a54ab76a56a528836d1acf1ee921d82b5c36011bf1edf5c6b5c5d356f62f8264c550b5135f4f872b3fc93133ce9fbd34a856ef99f0c874e6931a5172bd0bb393f61222d3efa34934f4c4baec4260b7cc284a7a8a358c596cd18b3708098814018110b16d6de3b434be70d59f28c9881aa10b0aee9231b0d26f52716b17963ebaf078a9c5a1c573855307aebf0d534fa091503ee8148844c877375ee6f33b2e52e61f0bc901c460650ff080c276b0f6e82d666e7d854c9c0192609f22ca01812e223e1a6f12d33660d318c69cfc91d89b8253390757fcc037efcb2ef51334f59ddf87bf7b009791ffb93918f1974f045c0738165afe7d573313c8be88761de1e2b3073e8d78f2c0c50c4520d1cbeb80bcb5e0900fc757efab2276ad6e416515cdcded645215bf7ad81189fa97e5bb09ecdefb919a7bcb813a2144a4682646dc540f9b92bee40a908cb4e9b43b850c27cfb80bba728c2b7f66e42e0809c8cecab2ebef18aa3ec36b6307b0fc115fb115a8392ae97c4f8b20a3df4555638c2d83a2b1556ab4e09ba1aec1798fc7232b8bb32ec4b8454eaabb2a2a6d1983964ec761272209f19717aba4abfb116d051a86ee44a49886fa0568b4085a965ad0de9db5d658ec3aa3667fed43bff9235056f2ae2b640e71a05e98a1431219dd94637fc1aab81f43194596001592a4d4e4ecab150e7035402d839b2cb7db3f3e3d036473c1862f099318b0934ca489fb80bc72b5eaf704647097f43e61be00804e424b1b8685ead7b5d6834bc2e3d015714701c3749d2ce57b40064edd3e0c74b2536507ca94269831e4a2dd19b15d8651729906f2f4cd199f6bf7f9c14b4a08189ac3e088169be5a48c3f266f92df6f0260254bd007908e757d39823da570f7528ceaa9925dfc48535b10411812be079db1635832f55491aaabec68d3d20b9b20ae12d927096611016291d4aa8108d8153f4145d02d8ba37da406caaa82495ee9f67e0391197a8cf0f3126c1213478863442bc08d7fb80888135d03f2a152eee5795b7631187394a4ebe2555ec883031a666434bc108b3c406e65d866593904bf2157062011205e6d5d5977a61881a5c45bd46c54454085d8660adb4536de704b5c39848e13acb4c283425d03d5a1b5a32dc333991577952c621d579128b4a0108ecdc32b4c8cb65dd14c3fece55628a69f419509a4752200e6bbe61ffbbf71e42ff987d942a1b2133a7aa47317e7a00a30ad8be1789fcb1f9044943b2da82248e2cb014acabe1e9753c872131934178037d811b8db29358c8e3d5a57ff4b90d4e209d2e4078a86685695346746f0b07986fddc43480f338934da5c0a3de5625d2aab656f1537037fab9118b9b71e4d71745481eae0f85d6e025126cb2db0665b2c1a0aca06c590f911d82913f8c554735dada600eb3f49acf3e510ef927e329f01ddc0e00e19ea2db061fc39d71c12aad43e9753048b532c92528533238c8c5ab075440d2a90560959b94f4b4ed7d7398e1999ffec3c5bd40809b3b2071c47d043ccbe58d02d5440a18a544cd527a5e2836f47824e89a3dee20c4ec6969272b9b7fd5fba20136e8a7e31690c8bd817f09b6c632f2ea17234b3287873be63404695fa73765ead3c008a54cddf6f4146e85a79d61ccfc1b02a6d0a107570766a98d39f8614bed2f1a2cd7aa30365bab6c54e21f4dfec72626d4bd8a94bc20a78003e7a47123a118f33469350d580669a702ca5ea0ff6462fb3de9039af3935bb421433997f8937e87e9ea6acfeeb399c467b77a87553150cf3424af11c47dd79002623186b2f678b756faa1ba24d501542c132c61e6d867800f5c69e87816162abede537ce369187a900b4b4928b6a420d74c9cdebe24563290f159be1ca21dd1e9866a7f2814d442695cc50c54f824eb486eb3d70950275b9e4d8b4d701e625f82d0aaf71b7184b124ab702f36ee21ec5be29df0edf8cbfc65f8e1d2b9659b75fcfae0601bbe181cf3c12cb0b8c3cfd8fdd81506d214e08c361c083006d0cc972b89b9e53d3b0aeed7dd0d646034dc3d5e498de92b71cbb395b519612aa4dccea485c2bc3fb221f3a8f4ac59f9e86613c13f6be5d4607fc04b07073b89a676f466cd27afa15a6010feceabbabdbc971e0f7547322627171d84d55024b16af0dc50ed92a4135d14765ab93d4e0ec3ab66b122e25658e3f292cde4ee9ceebacc2ca6e64455aad8cb92eb6e81e5410c686dd5e340068a4bcbc53c874a41f68d7a0bd18e56c435a9c481d2bea9e4d8e01f03f94f930d580504f9a5ba58d0d71a14fc10be28dfe12936cc7971836221c40f6c8ca6e2fceff727b0495658adb5802f5689b20d15dd2f98552b8bf4331e730fb6d774f14ab263d813090127433cd522879aac2939a282523cf261d4d96a5d245914bbc15bb465a78df600409583f2cc7c4c92d284f319cb4808b8aefe4a053385895e2f7e29c90753a210ee1aa169b654c1e508cb624d4cfdb8fb4cc02dddff903c8068613d446b586498f0a8295a36dec6b0437c94de21f1226bc437fcedd6ed3d408c3c60b8bc3950cb86e704a2b1a9329581652fa2d703090eb5d1a765d8f3109aac4ca4c067a06befd732f0654ea25973a591d14e86a6fd88eb261533f2bd685a63b8f34ff20f6f8a351b5800c236204232191e309e50f84d74ae7281a453d31eaafe60dca288157bb14e60045e892b27895d8b9d443f78c0a37dfa912ad43f4ef6b0b5a5359fd6a02c8d3f02c14102c300da9e53ee29d007e2d33f291511ab64ba880c7e3ec72bb5f1ec24782d10622bf1401c0a764a74d56514a1583d08caeefcfff31442f0a9686ac313f1a44c0b2b45dfba94a4867dddb6af7c7d1e1ccd72bf018c230077932d2e002b002b00c2f52b34ce557889828a07f340461e1070449ab5e052deaf967aa552ab1cca7b2bb32930a482ecc61a0957c3b103df6d3d3a1b75e93623cc7d586d0da37719559e8966743f6bfe07bf3c214abfc122a7b9201dc6a13779d952783409c14a756fdac75216c9aeaa6aa34d6da9b7a8b2f448335177e13830117be5e9c1d75a9993e9e674ab68789ea756ad727521884e4c10ed36dc52b654531af77d9ec0f4ebfd06f73573773c63d263e9b45e4ab1230a8253a80285790e623814a1c43010a6b5e60362bd6d0396a6960607ca4a74d76dce13c866a1c69688b1ec51bd9014a4030f6863573585828008454b82bb010ead6fac0de5bf246110bd1058b002185456db4ed7aa15359cf49d5eed3bfeeed43925ac33d4ea1a26706b204cd42fe28c48ba176ba625cbe580b571d7d0c97317e14d77708c576a5bb619e224704c144ad0dfc775d934d90adc5641a7bcdec775bf290f88d8174272982070bb794a5e5bd2ac2139e094cfcc22dac1b7960d4993610d579df9eaf219705126e66fc927b9a39e09172506127aa663401499665e98e1d83fa2d3fec1639b044f3c26e0d87a437615ea79dac18483203c472dc0586e19749439e492cf72a770442f5066f24f2dfed30240d45aab86f9dd9c49ae64dacf0f605e069af1dbe43ccccc1b68c4cb4b3581a82ff366f6113392ef827e4864888105bcb175b6003be6e0086b625851c6092e555f453b0b7c5ba5d03c8a04c4b930425d42e895775f420d9858178001808fdc91eb66e173264e1527c177137a2687bbbeba6be51f5e8bfb186e6311da758bce129703dc8552ea827be7a2fffda1923a2c4d070e40286717c5e0f4f83c8ece6c040aa028af6ae996503179db137e767c0c4188677f5799095f4129be4eb6ddbcbff0f58091834fc9a7c8d2660401aa56f106c915f4d6e2c332921c955108ad94465a651d5f336a0c8304577ef5f40512e1de7162ba4038587f21d017954bbd0e03addfaa98281bcf7483de46ec301fb2f3af97142ea06f68abbbd8a841d259cbea3f3d78b1aeab552e5a807cf621ad14bdaba104328fe991694d5bfcb60bb5da822b38bd4a4306f8e48eabc9ec06d4d837c02f7b25cc9bc2032686bcbae8a9f44d911ed5e20b1a59872434fc5486562feefbf497dda2928f7583c072d009c639bde8d1eaecb363e2b97abea1b3a42462cc6afecf8e41a2478c8777cd95148ccf2c21087003159492ec52198bb1286e7b45c90408616aeba76a8c3f471585aa4ea1fbf2eb439db6a4d534d10edbee001e0140537efa40f668abc6a6817d3c14966fabbbfe4ce91d1a01ab7573e53535a2c8aa8c9e17d41ccc2d95c043fa95b763331d59c3b2d90e0743aa4f6c4a1f5b4881cddf93b77accd350ff4a9801f74a233febb1ab50e10c850a6574d0c1507f2128c06bc4ad2a4209cb0968590d162c80626d1bf8922194c771f8534a82ac0012245f7128b395b12ccc808c9ce83d1df22e79fba5a06810672e3c6fa5bbe29ad81cfac2a053739bb9ba7e5e41b85d61c8fceab561988bf2b54d9eea96e1119fd5d1bd945e848ea32638113f7a7d0de0701cb86cad2e3d641200b3cb1a049104322260620de6ae88a4af891c97589e7e73dd7134bb0e0407ec0ef879c06118c31874589605c790fec918f24dd111fc51368cef4745ae4f78e5fd124af81a945ffdbfd34afe4d17f83aad5acf0a5a4497a1cafdcfd5f136cb72f7b2349d5863d6e35e34ab7b1ade2a812afc91766e8c2c4a832d38f457d032dc94ad69390020737276d13a4f2249b97e9deb95597102e9a2b4935b044cb41a9cfc1832824ad22b8622794cdaf5c86978f321e664ef53b4690525554e06cdc7f3c4658db20397020b883ce1c0c53b1da8952b18b4a32154f1a10de707fa8ed4d8661d3571572e3cb8b4a322731a79dc0fed38b6f97437cf32bdff384aec1757326573373e111381f991e70a9961ce19f21277c2110c97b509f8c2e0f56fdd83434934fc6e670b0d50651932f06c48951102140ae4e0b6fea18428d66a5ee9d0f347beb8ca8ed1c4f8d490451e359ec14e0f287180efd3f2f32337c0be17856eb965173b4a851030618442e00f5298183613ac69b65a569b16bc0b7ae0ab4a7030314f938d2ac2845b6ba8fcb97acf801aed53fe2167f77a872fadc3ca2123311449809d27b39093f89ef76c81e73b5919839f3f82be14a5b9b03d84c952cfcbb2f7cac0a2fb66c8dc72c7034d54f954e248ff442260b446d0fbb899fe0172a2532ddfdf2279ba35e5a75eade09253f71cb62209c6f6201192618a89f37afc43fa6043b8a5cd6c69e3e113f07b2e57090a68ae1f19fe9accc0b21db3f2065db1117d4d5415049eaeafbcff392c534487f9edfde5850c90033fa6a804fdce6af07359384ade405802c46171bc62126c0f00741065656c6e7269707769666c646c65676b6e6e747273776f6c6677776c6b6c7279636b73747479797965796f757a6f6f7c031000078a048e059398069ea408acb205b7bd08c507ccd2d904dd08e5ec06f203f5fb050004070d051203151b22282d320739063f464c5258055d0360656a6f037275077c81868b0792979c039fa4a906afb4b907c004c4c906cf07d6dd05e206e8ee07f5fb0205070c1106171c08242a0731373e454c034f05545b0661666d720476067c8005858a038d9297049b06a107a8aeb403bc0806ca07d103d4dae105e6ecf2f8ff040306090f08071e2505063004343a3e44074b5205575c610465076c7178047c800888058d920395079ca304a706adb3b9812aa8d1e434ac01b19a1049923407d1a6e80190f1332ec3ecfddd09ffdbc45a0cb35f46bd57bba76dcad90fa3dd6a190f23245823c0773af37378f5942b604b5b7112bc5df69cb2d299d298f2f4fdf1f746ade3ded092a92efb0f4e713b7504f94de7d19904a3b4be6c14e86e97f75ab56fa82b78fb527f872d5ebe6fd735bc2a47058acffcf5632a2b7d624603cbfeedd23f0a046956a40b730a02a9264304c870a3eeedf3ee0c706643aa95fe12ae5077c9dad077d0a24805ae3a24b2805c1dc96552f267b2cb065210aa9654394e1221b84d248ea92a4ab90b0dc62c101316c01e04a45b00ea7dc01c2c10882f8c0178a156e09f053ee852b98a2abc09ed072a172af028a18b4979953f41e895d7ad592a9729a5cc17cb01c101bb0119dc0b142238e02c04534f4b474cf46d04a05636d6959555fb54f4cd9a4dc674271d7bf1110d1dcadf91770f8fed9eeead8dd7d0de113e1666e1233458e05652ed94c4455f14c0d60fec9d39a40cc733cd5b26cc643f6e41348c12a8640faf77d0c5b98c6fc12b4e886578bb1e64f9d5941bd5f41e3191dbf21f8f7561bb95ed38aa687faed914f34eba5e1859f10f5dc3260cf4f3bebdc7db415783dd6d2dcd8c437c08fba200c11554f181a624024f24146876cfd7f153d2ffec54d366c250722463e294c1774911bd1e756ea3dfdc980dcdcdbaecc5c0bebc8b21bc56022a7ffa02453cd40300d8cef2796d553d1dfd743499622c27bff190a7fca0ffbd468404e91e757132bc4ded6cac3960602f6704534e3ff4ef6d6dcbc2de99531ada8986352f2921195fc4a602c515647244489e0fbe731bfd068385bbe2cc039885095b597ed5522e94012402025a4000b79d8d7d3c73bc94e3bc9dee9a3e830946b2514b221f4a116482c487e4e17d8e9e83f317ef0ab412651ec02e4c78a095800a4a09c92d7a5fa141795855fb9414ce9b369b4d260c25e42f623994f2a4c927e9dbb36b1c723fe305b770519018dbe05f15b8183096d5432d19f5d073edf779e5d63aa7a2fdc99d9c5f267e5e7f3595149409d3d28bebe84caf61141e74035dc9f7f101e11c2ef7335cac751a9f70cdca3ef406cef0326929b0926aa725a37f996949f661f1b8acaaa8a51eeac66dc36934c778e5fbc8d8590ea7f8934066e2fa3d11bd1f6ed738e47e86bbb1b15a9f957047f818870c5e12b6b43ac14b3df5122311f5dbcec6e6695655461dfd74366fa6312f2b1f720b16294f9a7c92bebd1f6e37c7355e89cfc838fc977735976bfd543fb9d21191ab241468f6f578abbb4ae74b43dda8f14dc67c4b491792bbf81543c276c27fef5dddc7b90d8385a7e810df81c30a3c605075c089098909b8435d0080d7caee6957d63972e27cb6694ede2cf360dca4d6927858e882804ada085f10c6731d740f07c3755b4b7b4934998b81f197eb0521cbea7d5afa227f5d402cfbb0ddeaaea63a291c376cd0648ea1e448eff2595cc4a642d8c4ef89e4f5c821c73462b4a99978c93860f8ae072f56d53f2d19f51092bf8368635dbf0eaa8f82763e9a4c312e98c9c7dff25a99f2a49bf8f5e9e1e9683ab8176c686ed665628fc1b53061abb3aca2968cfe3d12f2404cdb7d5c554d3ff4658326f3b2295d496f5444ac42f84d9620e9733d1f7c572707f72ed8d4faccccc93c6c083c07c731ba4d85370937c4981883bd543b78055df54faef412b94b057801f9f9d7be43c7d4e17c671a33653c4c7f71231d193fb18a3b8509071bd093f4b94238ef79e4e8b97f73b1e2cf46f8188b8565f08af0ee82be72a6a41fc007a25e0f1e3b9d6a2acaa0dd19e58a61cb96f446c53f7c090501594991bdfe61e7376cf41bc378b6342fc1227aec05b3e0125e06585e75a089958cde28a1403efbc23eabea2969e8b7f1c77430ae4372f12a852e14405652640f4f47d33d1c43a9318a57c4070ffbfa095c0c14547554d3230df0860ae0b6b31dfbb6da392505f57ccecccbcaf791118b15c377f00fc9903c6f1d736ffde29fdc132e824188817d7105080ddcacb78a7226a4267af2bfad6dd95857d64f3515f5376c385bf3b252b27131f1d00b9f04f612247dbd07a4475d5c0cb75e7333101ddca9bbb67cc1954bc551bf74d403de294013af3e2a69a867abd97c2f2b251f7d11cba16b1845b0fffc8c385f903b1d379e860c6f73d9d4d09e44d3abe102052ed7525015e53a7d52d1d0370909a28d7dc553c74f4739b43d9fd30d50423a232bbe553c4ae0fbf5e939dee7987b67b48b35343703f11bbeba7e6b01953f25350103edb74fcb016ee9837a1b4ede6c3296efc5b9b422a21b7214c1fef363237b6e90bfab731b6f6fdb8a34133ca2413807d660a127f8d66359b194d32711f04f20d482fccf9e6f75d5b7b4e1b8e773f2a68f79ca48767c15ffb050900193381197af81dc390e1bfdd6f6a6f81265de01ecbd24f083d672b1f82aaa0d1cbd00047d6bebb21c9bc7577b8e1c1efd37bec6e56c4d1703e68b1bc98ebe25b14a610ffa9f9f11e7e3207f87c3e366b860166a7d3682ccc5c0f88b0284068d7535c5504b6e1291d7bed5afa692be49a3f986996cd4f256a40cfeb15f913d1f3b5eb93786e12c3ead4d84f80e1abc22344830f54d4944567dfbb47dfc955beba0baa671dc0d1b4ecd315ed991ecb888c58a21613bf9633f229ed778767572af8caaaa277331378c317485e772add7ea40538127eaaf72f996d6f9b8f62aea8bbe9ead46f372d21db558a1a26272e4ddfbb1e346c7c56891e24b78d98b515171695d7d943371d2109590edfbd99387ef389dd351505e63a6cce517e6a2f8807edec7f73ef84e86db4f4dbd1fc2be9a822bc10116d59352d1ff140b9ae5e3799af553d9b4e3bca7a7f94c1ed3963cd98fbec8590ebd70f0992021d27afcc3edea02894fa86425ff01837d056503360104940871f803fa441c330066a608a4d340c025829a0c580212a321ca345205a2647c1104a4d1c2c507c95c24f80f28949852c94bd1ea81aacf1bc40651bb4ef2bfb6257f33f3e5ded2c21ff18a2c132fee1d32fa829ef39cab5dde6983c0dd08b77da18711109b98ac8821a21877cba551e24b9a9aa19d1f3b67f226c3cba735dd54c5ac992f606f5359e3977fd3033705d2e34ed6d1105a6e2347b7177a5a09c4e7ec708e5f4ec599f057d7fb765b222bdac216b42553ed62ef9d618c15b340ef9e1f66a334f1227c4c309493d780ded03bd12759fa4d07b5ee294540cf2f36f09ae72645a32e739fff025a8130a61106c6659a4099630b76d0f5c49e291559589bdbea1699d76a8b912321310c549a635a69c48e71953723d2bf834612e09205104606a6467409e31de96ae9b16ca80b4e823bc2ca255a5397067baca07c7ca9cc60392450d7df1b9e12fbdf98721c30606253f4df4bd163203a27afc5404a3ea689ee320e2c199463060817cf6d5332f4ee7f1456929acfbc46d794e82e412a66b142e3939c97c52887b15875c02405d6520295ccfe5c6fc2e8c4b2acb9ba82cd635edb8c6a62354ef23f0705497508ed599aa0546b7dffaf2fb51aca23c977d2c0664979897f2234ccc84ac22e28aabed5e917a4990c27257dd979f18a9897c796c400964a65d2d554e9aa67d27595446cdbe6b831337abbf0e0f66d9bbedf67d40cf13acd3a1192757ce3ff89bb1c6c165ef07448541701e01db4b3933d637a1d3b10d4d802cef9c3dcf75f3018146e8e7c1dde7b51c99ce91d7f940a57451f2349e02ba492cee3dc8e2589d5d8a5233c4b0d3ef6f6db5669fdef028ada42bdc778b7cf29941776a70282b34efd312c8961248b31d7ac6c8f39a721cefbdf71a8e04c571bed5106a5bf1695b2d4aab9aa217ea5b3a6494af469a28298c1ac562024663494b82e155236afd639fac5b340ab4629bd7985706e338007db17c8768cd740690669ac729713ced788400c758a75705ee39df775e13a5b599fe6b66b4dd6c6a43141fac5d9377745c324c0ab30e51d6e7673265ba20033aab990e0a86c847f72f31ba5df95be436306139b0c496f27fe411815e18b3566dde61cb6514d7a89bdf9191b3e2ac0461786d46e275530a6da945d047b0e7886a70669f9a439e924b8dd27de540f633c45995ad5c32b3b60382c183b66f93fb073b9adb71ec351223d512bb1d7e5cd68b87a56da3410216ce991b60218eb498133be7458310a5a4c1bcf918a2e8ee960ada40bde1f048303d712b060b2b1a38d95e1f5a7f1d94114c8c2de785875c2d2361dca3fd5c884ddc70f4ad23c0f453566e1f57e047cb19309ab46cc23b512b6b0b845da7380f858cd52811e83652dfeb957cfb0f750bfa88ca022ef926f1c7639f87164791fc35979a24969130465984573f95248791fcae04c51eb3ac84a9e7b31609c4eecea64b8ce7ed64b9c59283356355ca5764a9debdfac361525943ed724d0a9097c1500d7df7275007100700095928f8c59f88a21a113267e6448e7f1a87b6b3c0c16ee0a144e828c3d847dfd84075a0898aaa17ce9c887dad68f1e3caf7a3a0aea6dd26c625e3665243bbe16c457ca93ffeb244584e4f5f01c747133f8050b353f3102849886b6d005810163795594813f1af00adc418058b6f7b8afceda74f834bd03871c0d96d1e62adcb41324c83c80f5050aced5600102297e720d2011795680af753fadc75beb706a291c37bd86d1746618c9efe28a555e281df87e6ce4f7dc47dbdde83817ce5f708b4fd127447c600e5f5dfee017f4d547b5813f7adf0542817cf6856dad834afa9f6d38357b8c072cc11dbc02b672a79ebe48003300f080bc8f1e76fd3aa8a4a19e6bce64fa252547be8c59fcf0a308feb94af8c8100ff2775dc773ef8c6f5be128cc5c113d26f618287084570b414fb9d38be416fd6b09bded6cacbbf6aaab8aeaa15968bccc83997cf4452c4fa570b089122f2224085ecd606ea1cb1ffc0204534f4b47eec0410792d5c3725ad44d9a7764fc44e7c21e6472c485fcb8e31c6fe3cd854ba2c91a3c8586f05a8e80ca3dd0c44a4643dd0d02d8fa81bd33c7d4e17ce7cbe072f21bb5f815a61225b0977c11df7b7becf839aee1bebde016ade26cc4188b65a8108253a842f10f42d72085610c6295321ffdd6aa16eef7402cb001e2207d62c694c4c4f6f175f1197cdcdcabc405e3e0f9aed16ae064c21c949f93343b3ec7048c1d51b650d03aad83eac4d7c64f7e4593247756c481dc7eb5dcac037a1999cb92ee088200b4f8fa84f3433eefde7c0aa724db2dfe76cf261203d3186573667e46b0225c0730d48e9b7b19c5f7c491d82a3e86b61979fba05f5137d55e08c8a34c665cde2b847e6f00910989408b3341669900c83c50c9d0849e612e2ee06200064ed69db513589793f96f7b198a3d324a01f5aba47a18763ad9a9b6452d5c4b3631a45a000a7bd01d39209e9b0354c38bca75201c1b2a2180120f835c8fb037bdbd3940d2137cdf18f1629186ed2dcf2febfa3f23becd849e01e0bd4da49429a59402b501af01f1019cdabf1fc10774bb284ead763ead793ff2023ebf72bae763fdef449de6bf8d53977875e63e08b85117ababd4ced7a6d6ba730b7ccaf9e7613d411750edb56fb26a71a4cee36b4e0ff5203e57b9ef48dcfbde7fff3c41efbca8f34c7f163fea3cb5e77ffa1168798027aa963f3073cfa9fc07e0546a5615cd088913f8bc77bad76c1c2b24550de35160bb2f55eecc4e18e9488051911886a930a200d92000403f586a1ae5d78697b4596bdab9b057aa9b77f5e9b156eba8b6b6ea044dfced6eadb0acea260c95c962fefce8b0b1745621413640f0d4566adb8dfa7ad78208b46dac88a32bab29aaee562aaa8e2dbc47fdd435381ad9b0092936768ebab160ef022e97cbe5aa7da3a2aaaed4a2a4b65858db2e1744980bb68bb3ab63201676fbca936b601696b39b63f0a59bcbf055fbaa1babb39bb3fbe0e5f535dd3f17c6e2b4726efdac478a906690162ca754171f39e43ff6d831e3f08774608d2fe3c58af9447d47f7e5dcbeb3172d0319055a6c06ebaa1358fdee01034ab45116c095a67a7adbc9ff8e1c38b59a6f664c182fb366e65cc55bfe5a723e52fbf08d355df803a33c9f0a13335ef8836bb7cf567338a3cb2a8cfdb0a454287a6465620fc4c0bc0fc4c8bc1abc2468152cd03a356df1e0c077bb6e1ec1dd5812885b2a2ca716b7fd6ab3ead4b8dca9305cdb4c46c7db198a392ad7a673afd3928e996493289b9dd0eca5599d130fe5329fad2fcdb323a1aba5c7ca36214c4444c86d09f472cd8420077e1353a1124888ebc20b67225d134d176884db123c4d12936fa44241247945c817cadf39d5cc94c3864018947b15c22af59e85d46de002be0350f069b8ec8c7ee131d8460eabcd773244d2771315e785d6421c9a824f74eec9566963f332bd796e5f39be7ddf6ff63aec3a8efcf757a0c8bff3cf95cf43dc874fa73e82ed013f52dda753dacf3bdbb785cfc577ad356fefadfb4a67fd3c576dde6b4f93a8fbd0055eefadef34dd3f0dfe3f0f9733b38530a2d764a766dde77bce19ccbef6119a7a7e83fedd7b79ffd4aa6ee50ba67c5ef20a78ddf53c4ed72baef7bb55079f42dfb31723ffbee9fb3d07f24f2c77c3a7fd69ee9c8a73ad9d66c097ba9487e2bc4a3465e23d40457d90cf9d88f3dd2b742d0fffbbbbd15bdb81cbf05b290adf5d95ddd7bc877bc2dea7583316ddbfb65ba94cfef348fd6e9214ef3cf4b4d7bd83f1744590527025c0ab03480ddafe116f8d14f19ab58c06cd2623f6973111bbc6e522598e64357c12b1418d960bfb242fa973155e5cb2299f902c33fdfefd14ad012d7b28751129ba6257f1e92c8bfd585a2a74abfbd3dc2c6f41d3b0944f07b4e8cb725021d76725163d14624ab29d2b420a98b175bb4624c99e30a66fea4c5e85de20c99449c0c036fc7a1c668ac93eeaf8f066be089b005c24fb357a3249445206891f2239ec69e76e09ec74820920f94c70428bbe1a4a98ccfac85c5424cb1daa9e4891b1201770b1e69de14a40885182cc1319f9d8e347790f49b83434ce671d1b62a2c061822bddb2c3b14d438ff7cb9c6fa9123062b825136b8c69a58a36de12319714a0225856da424a183003459a57948c95beb198b2e9a9a5924b0bacb40211ac0fa44f5644666c955a8556f110669fc465aa4a8d14f932af0c4e0e8e4295ee2ee116560aa8c8b25c1a9ba121a8660e2b8c50c0d80a142ce09504520c0882c643546c01e56d308299c13a1604722956a30b8f2caefcc77a6a1007dc117013c3ca78ac764384d8efb1914ae4e8d881a685b4a6ae99e10a3663281958921e69a0186f818e7f9a60a811eaf5c6c5da493aa77c3764dc44b293c22669a723989cb534acac42be247d62a628d32b286ae0e9335f078cf5b401b1b85ba2ebb1f26a1e09a7266f9ddbd6a9c9fb65db02f59e97a14c64e0fa55a7d232acb2673984827bfbfad5b5399f47f3e562c2f0ce2625f16317b5e787278853f74abbb5a5ed3669b70e0071fc31fbd84226b02aa6761fc6fe758de0a49c12cf3b4e302f070711983f4832463eb6fc974daaec0dc43e245e55dec98c0f885c0e60653f28cf38a904dae5c561a2f8928fb107168103091e99023c58dca4e55cd31a0df26667b087a43910ad37b8d56b1d6217cba4a9d175e2df6bb12485621b33b0801a7b3a86e38c50235d8845a37dcd921163633c16c1b06c3a16d2c3129c8b3cc0b640bb911e9c59c8d2c81411ecec879f8a919d834952599b3d05e1d0591c3d2532cfcbde76a9c53cd44cc363a4ec632fc671b2a203bc3e257bf748e72459599a2698907d684ea521dd0ec2c434311f331e42a90293a0afc0221f23c641229342452f19446e19f8049976675011908ba75891499922b841c1eee37f7c687c7f688752a06c16fc0eb20c34475e980077bb044f13a5e2e9419a786bb1c3fc4b47dc8e42c3d03b081b8e1bf8c2dd7c8bc032d4ec2feff993e006d56874468328e586233b5f228e0ccbb6971596d319458e6c60f6d86622440c1b56df94c71e1b6ceb68e34147779392d4c0deda2f12291860ca1a0e68b0ab76dc162d588b8e69f6406ca84de677620a534f4d1a18cbc920a61e955a288254a8a2e115428810428c46410a92a4d001b23386e130091d4246c4490a8d01029ba0c2c61047442890400291200a52525292943a13162a35c41f57b5043e77446d93cc6c16eb278fa12e020a4f783cfa6ca0227ab7e5ab853d12da416c86999b7cf1902f0693780f55bd8465ea2806a7570daf8c6ddc04f89f539f26ea81735cfb08de03826876423df23667b396ca2b3be8295512686c88dcf2519366aa953ba70daa41b9ccfb39f4cb35095e8978661c01a2e6c976e845be49e5110850f23885e995d71c4828ec9ce9fca681fef0856c5415637f53c03669e1cc6b02d4207489fe5ff57aa58b7e5b18f6f413d72beb0dfadc794d504da01c381d9dd70ff740037663042f29abbfa688215ee67394a9be938f61c9cebef370164e7caa5e11e79b9dd4b3f145cdc7ee28a98325dc4356645e4b848d51cb59dedb5bed4ae95630c988dccd0fde80d5330c5f6f8c84f2cc45efd1172ee05dd0f25a8bb324a0ba4bf7b4405d5ab77aa1a182fc3d2cf689291323c80fc02988208f98683cf412da8e773fd7b0004119b862b36203b1d66700caf3d8dce5ac6bd4d981088c380a53e3519b37aad9a0ec7859d1639dc66c860d7f41b30239379211ef40d76407978993d6ab126ecd500b78f1e2fdb64120ba3a60aa154413d32d02ffd76856d0cccd15b60ed1f695b39fa7fd9a0edd2a01e1abeb687a1f8acebf456ac0f10cd6dd3ba442c2a971ec93abaac726862ad3632c57e88e00054b548fcc31656dc515808263616b93f630357136df89131cf782592ea6f4a8fd6f63cb134572422f1c6c9b4d85c62eeabbb6463aa7d53cf13030237bb36bf0a7ea0440eb313c091c28280eff0ac1cc91fc4005a304bbcd6d7a5d86edca7c1bb2e6dc5e02be3ea35ed96c53655616a45c2c29e7692d189150bcad8ce108624e3c4c87295ab87176da102c2b4e8731049cca4b93a9774de6c3506d2e27bcffc6577904f06d0957ccbd21ce1bb5714207b989d760f7ee279140f07ecceeb6fd45fc5d3ad5c83c606c36280c9483b9ab35bca09f65f7a2bee116648c0686e1daafe8aed671629e8038b8ab2c8ff5a824ee5275e52e1a65b5dabe4fde1b91bca9d13a58b765a3aed46f8f444877d677236f8d0905977193e0c84e1cb8a37cfd2257c899afd173d932e607aa8355eddbc16580e8808b1fb25a9b509a9e593bd6723a5d1d010c95266068d1d1f8980f08c2718b0e22f745fac0dcafedc8ce0b0ec360e6760cc321979cc824803c0b719de262051bfa8239067f5ae749735437b589f9960f45ee02aa9c76e4d3c380b657b9008c0569ac59ba9e15142ff86123cda00aebf0a13c21d7d6df865815304b7198d0d47a75c9460937a8c288d95444e1897909cf011e20610667a4a300aaab28293b20e675037847854d5df8b50a65b8e9a6bca9d9c5ea763ca102b609121312b929c4142923e87ddff77bbe3f88b8285a3f141d9376bafceeeeeeee1d780279028c02570202a6a46e206bd41829d280cc80b52ac050688fd99285c911234384f801e9f100b9c55ceed0d1c61658c9519c844488bcf07545197d5c0bd7affc3e1203c63468a70e9223d6aa14ea4998e3f791ca4a15b83969fec6880153a5cf458b155bad5a9a82b332322bb4c9e5546422d23e5ea840e1d427cac549932424dedca6d2a827fa8d9b466e573069f0b6a19cc81225888d192c40fcf0e1a34f2dedfab5358c29d1936449b4a28f481e440b9201eb3ef11d998e3c27286718477e23b791b7c850662772061a439c155fe155f591282543c901e2a72380da49a79964619dcb411c97efbb9e61af5c3a4500d65d249979491f544f8c866c2e3815ad3e211f8cf522fffffa59ee8fe574365aad05022c960bf9292c973364d85a64bd4187e95986e33bbc1a8e690733b5fa8ae3f7a0e16b7f56abcc9b0aa29543c51801345e3babcdae6ab55aad56a954ea942aa546a950ea93eaa436a93bb53aa54ea753e9343a854e9f53e7b439dda75529553a954aa5512954fa943aa54de92ead46a9d169541a8d46a1d167d4196d46f768154a854ea15268140a853ea14e6813ba43ab4fea73fa943ea34fe8f3f9743e9bcffd5975529d53a7d41975429d4fa7d3d974eece6a93da9c36a5cd6813da7c369dcd66736f5677ea3edda57b7487eecfddb937f77dd7dbe3f6a21915164a0a0d592e4d60f9bd78b39d0fe46ecb2c5b9bd370e17f3b3cbc2c051048a488649efc20ba9028867ddcc0c12650377414f9b7fe9f63ffc76ec1b0c0c0b6b49ca81fef7bb95f3f217f6e6efd78d90c4bb6ddba34ecb7539b609d4a01e7d139d1c1719fc11d5958d6d9dc97cbd84414d7887dbbef16badcb46c9a9752b9dd0ab978b76ced5b7114f6095a74be283815e026bc9d7115896dd89ce9b12306df565be10b0e04a80d1b347f5ab24c79c14741c119d897754ac3818100ed4173e68f8c962c5090c888f1c2059f1f9e029c01e6b21225b4054d4c7a8e305ab080f0b60771c1c2831e9360e07c49b654539227e14ae8243212da48ec949bf41e2f85cad96bfec62bf91853dd53b3541c4543c5c6200027a759a79b864c3a716a28253ce6c5e08ddbb76cdb753dc7b0cd37a9bf83f6f1a6d6f95c356cfb5e653a8923a9f4b029a687364f7798897391ae5342476f33c977904e12aba84dfadc6da8a5934c5f194a553fa063bb40981e0c6dac5842a6731a8d2b52dfe71bd35e73fa2e37dfb8b616af0e7c657a6a56dac558d7da4b4e6fdb576b7c019ac24ccc09be287aa9e0dbf069f8f4a12c801deecd21f505f08209d0a67ced493db64fbf8333b1ce40ab68f1c56926bb2a6e7a7e0505c9b9e6f0e1926e1c28de557ac176c25f6f7df2055023f3b25ccb86a3bbeeeadedf092b161d09f6ea1d7db951dff98872682bc6f4c23c0b3b4a109d4df183aaf9eb96927ef3bbca344fcf12cc5579999d3309a8d2e7f719910d37a3222bcb836643366d012c3d149d3c3ed9b96d0540b4732199800a45fa1c37b38aab92f108c27ad6ebd86e60e7f597dd750d13e605b770333bbfa588636941a8a7a3d694b10b4f4e67dd819b5ec6ab662d3bc797f793f89c9eaddd43fa9eaaadb33438a4b7fe813b78e734b35e40530fc435d58c551bf7202e3757c9bea2f0dc189c7e87d0394d08c59174169d6527e9bb98e8b1daabb60a66d1c7a6e65cb5d72f99f16c6156d2730d424085197bf4d4759d3471f3e589932443569010a1e7cd60612b87ad00270182db03b63534056656ea13a94560c0a7ffc804263224c84091c0f2bcf83b7e9e94950f28532bc0d66560b07ee3ff3bedb6cb85c2a4f9951f0cec2fe51a11dacec410ac2110d3d372977e7b7998656460ddc6da5604acd7e832e36eb91f1182028958111c22f8c36507b9990008c890042c3f4d20f8f581dfb0eec06e7e6fb66ed936f083ec961e6d80756a6d590c8ad800b3560efca007d200ad1a29003cee55c0286635cba4640a48cc9a62e5b11430b624c506fa90fe4bb0b20f25ab649f2372125ba4ce0bc8dee5f59389aeb07f78f58160eb18f0a767d82b8c16f77321bf95a7e389238c1760af6e26c04883fe167ef58b564eca07fca175dd588915accfa82236cd5473979e766177fdf87ef4d58bf4753dbcb5ee7c69bf260d351ca2c45ed1d36841637e8c2ad10723d012662b219e3dc4cb70aa9dcf5f01f4f4f895fe09ee1b9cce3e180501fb5aff4ecde9877802baf4c1a8af9a59d348114068d4b147b7e89bb09ab066659189471503f76aafebdc3417c01df54de6927e16da537452d81cd2c9bcacf6ba23d85318825141e31d61b6b4674fcd4ff66a333d010c34dde70954d1d661935d54ce62f4da10ca96efb79bea4eab0330c5f670be677c0ee6477abe1fdc4e4d6b79f1b6ef78be6928cda4635c6a3e7ef1ab5a49cfb4e45bb4692a7c6c8fe6b32780ff70e0254176eabc7173c64cde1c5b0c18646106c0a675dd4488985b7a137e4f90a09616c8260e9c366caefa761c370ec03af8d06953c68b152746984b2d1b79787ddebb478b14e59113870c151223d4d212945d594119b76861e0a4c908117cd5b1ae7bc5c467cf06ba3ef05224487013a08c453a65fec078b152054adf0b157c85086f6a69676dd8fcade182c30ccf9d3665c878e95264080b13251629a223c74b972d51f8faadf68cac48541408109f335390c470b1d5f201102c3da31064fcca92d986752cb1f48936b719e21334f33e9d07acb4e1a92e40d60de12828684c57457a00eb5582c4746265b4e9b47eb60c6acfbb392e9d12cb57b82bc17673626c727a6a54d0a6dcc1ba94b33031ed5994294e2aa28cbda59955d9daac563e2e0c0a8330add3222c76ebdd62daf1648dcfa3fb3fabc1891e91c9822f0e60dd89d0fbfff75047f7af2635c9caf2938d5b4cbc3c7f816be7656b735b30261686c092119002ac2fc93a6000c771d531ffb9dde095da2d81385857f2f45c468f8acc9268ebbcdd33ed557bb6a64550e08ebfe275b716d6d8b8775e372d778d17b35ab5db2b6fc17bb7bd72691120bd77fc065e6bb5ca6da0e337d069efae0fc4cc7e527bb656c02ecba02dac6eeeee02cff3dbb1392f5dd67ba5e66d3958adce671ecf8f995ddb0ac86ddd7835abd58c4f1be36aef377a1118592f936b1545bbf5ae49654131891482a5cb6673e954b2b131b05a795ecc0177ec10110079e418084228d09923760a4c086093c0a9e4452a6d627c2d1fe46ea32a47137fae1068328196030b06d159a3c794294a465136a2d8c8413236024edb0ab03db6555c451c4067491a82577781e7eff23ecb1ccf322e0ecf2e6d1a86fbe5446c6dc1fb1eb07abbef404f08da5637bba64c6ee33095784b3d321c8148215a21901c16c07a9028decba58bcbf3323368bdca0c1aeafc78c86eba60dd4f4c0bd8c3ef72935faebbcc7af3e2bad2e893f14c0ed681d0dceeed41bbddf0bffeffdaedffbf9bc5ba59bb1dd4e6eeb27ffb067d3a95f1b0fe83b6cbcb50f78cf3a11753026188e7b71cfc9aba1760bd8736ba9c2e9f4aa5d2031e8f41fa002764116b0ed679acf1755c4a8c45b2d0e57687b083daad43d467926057a4d5c19d1adae7f939e2d496da5b92c0880184a7a89376769d2a1191240525955207d3622020200f48654289a8e9481da538a365b260260521490c52841822232212890422229244419a3c09a763f769050bac1fabf64503caece4fa9b909dc46fb868ba73d5d03a943ac85543736897a7dcad089fa6f401db0e4b7eb2fc829bb5c7c80788512bee1eb87906ae4eae802ed7e440b813ef929c7ead2231fa5c221ee6feb1184f314eee0d4a340a56ac5f607da88ad8ccc81948b74dba1271e0ec152eb269fdbe217d3799ab751c6b21e46f2474a4aef27cd98d5e4f90dec09efa9a647c8873fae7058cdfa169c3b471e36330187bc671b323ec1c9160ff5eb7fd6656611ce208eadcf6ccbb686a953df35e70c1616de9f63ac705f75fe1b0ccaab3261edd2025006c8948e02d9c84ad53611b399cdbdfba455f8c6d04212cb082119fae8cf5b8691bdf68b67b4066c4598f701ceb12a14509098c552f3e26c1bae484d9a56835901e87c947ce699671f33979b19cd807a71ff59f67c795fa5c4877394c2f76b97640f986d9b4249dcddcdae234b5d6176d39adad758d4c2ace4328f8876f787ad4714a7e34609db0adcd4572790066ad16ce1ce3f611116188de76623bb5ee6f0777e125cc0200a881ccc1aca1551100886aed49f06b9303e04f3ce021b591e1628434a2c2a94be6689f54d5f1fcfa8e1645f98ecb84e01c68da11227b1f31dd4177efabb3159710759df40eda326e50988f816f51cd7dc7c8cdaa03ff7b4debe42260588aca117840976a39e85c5bd0b636ee9882a3233e5e7dd1b015c68dd04227c379039b3a523bcc2d9210a097e7d92151af9d8d401523492ac19ce00c381adddd234bbc48d00c18b48c9508f579815c4486832967628befbc58abba05a378379b221cf97ac7f1bcabfaa99e869b48fb59eb8621a56f693124346a96e81124535994a425f590fdb987173c9103335cd53be2cc702112190696e660c0c1e70d6ab680874af0d17ebb64177231d4d1969277c420b04b20805686357ab4f6dc6bbdffae1a1eee921ee326bfc14d190c303520213fa741cbf545db0551d7a610f174bc80c478cefb484f671a8f90e28c11eec5755ad152b86e6d78349dc1141617b237224b650463bc8ea25735cc3461b490e836120fcbd982780f22ff1cccbf2d7e9e0db50b489ba5e21a25a903695baf7d69b08b0c4dbbcc9af6667053d40cb6e5acb6bf33bf72be21c0fcf60df875073249e1b48c9b5d817bcdc1fa34042732e25ab150739daccb38ad1a099283e5e3960a3268ad3b483d471d978efd1fafc090f8b0c6a99f7b42bb6ba44b961b4c00d4da77eb99f9e8c101b0c3b3f08ca7cf0c3b267cc3d0b80f524d916e57925ac0838720701dd2bb9d65954d7e8c2a58c7bccbb361114d94c55ecb95564c48e346a6e9396bda341b4e1281e1cbe7f7f16efdab37d7d7ad7a8112e5a7d349fa35503d2d0b51c8b3a1c7fde46cee0d007a2d93d89f7cae3b503a3da77e5bba20f0789268d64e9cc801d09448befacb7842b308c37d9f69cb203fc0aab830018ad9e55d930fa5810cf864bc0c5aed710e16bc5edd9a0b7cf6b3bfbaa5d95cfac4dc1a3dbc202b7f843c7c14fe10e1acfb585336de5bd037db7fac69984f9400abe8d2f6eb87821b7f4fe088d8c078b0240d09962488b515f1f5c798b6cf5086a11a46cae034599ec2ff9712d0b6b53006283c6519c0c79fef0be974b2be382776b292904d30b187734dd792efbaa657362038485abebde0719c7c2c9834586b73c157ed257ad8eaa044473020324b38b7a261920eca4929bd4625f17551299bd344e2cf36c8b1afc765f253c1b071522da8ccf19b9a40752fbcfa811d337f077a12dd76e859b48e665f30810ddc40d084f7705448f330c4dafd8a8dbbeeca4fed626fe91662393404be7cfe8b3bd7f7745e932b9bef3909872b9889754a3ced150a3172e54fb72ce17cb6eec57ea1cc16cd043dca9f8ef17ac3189b94005a1ec2b324c4aed8ee07468f5e0eae1e25141be1e2dfad59655dd1ce50523d87f9e0bec9f3b860618cc80e4fed44bf30c280537ca66f64b9b42f8710e4c31de4743a8cdf69044954771b51bd8dbf37fc0302793ede906216d038f536fc2c816b8e6bfc34579752e5754cd713decf8c754860c63f74049a8eccb7bdef1e17af58275c3226992d20792d043df1f99bc292100d26c0ca4bc6f9eb166958f851e1247487a889d3f0533f71d947856d3e9b11be75838658ed926bfb3a70e27651b694e2fca1877f07bdc269c42bd64204b69bea9c69b9f1230f97b179ce51d38f9b0174730650fc6171dea6b17bc0d420de74e73987a8fad2bf405c7e55d7e34cd9aae8519acd66e4b82dd6ff7ca6ad53bd4faec585ac5b62570b094c1b0196b59065e08064d611d88103252463b0ed10010210fe1ba14c04b0e6a9952be0089647cadf656ec409e36c941f599ac114675ac4b569d74c49dcd6a8c71ce26cd319ced2d653d2055c962b964c00035313376c19fe425442b49edbee4703579379f6f50c3ebea4a7afbf6efec81ff0d96e8e169eb4de200b65c750a2ae19838f92106fb316ac4762c86e0442370dec7d0032a64cf26fa0215ab85fdbe0cda87759413fc0010fe390c5f3bad9eb2ba6806ac05cb9d7a93c93e234e858114872243db2ffad00bff767252b019b76cb12a02eb696623b153a3fe5206609e5ff5f13caf161c2cda1307c38d8894b74e1aebbda761a751f367c4d2aa84e0b77b9b7316d84115f921e96d3e728012bc2fb7f15848bd848babb4d455d8b9a31da64d35c8f45a71a7c2441d580c9c05058d743a95d500cdd8047caaf17398a02ee7f8560d12dcd27ba440f70a1e5ca45a32bbbb8897374ee473da3aa099bf7726b13e64bf590ea693e493407b7fe69c064c00de90859aef653e4b0d6536a8291372f1b508556f7b0b795ba875bd0f2affdf994a1d50ddd14a5976c5cbad2010b54afc85ff9f4cd83db27c2e29758667acd1464b973344edc36d2ddb0eb6c70985167e950dd6df4d09a88a113edfdf048c49c93562b7256cc49e25b7e0ef7b88077ab9ebeb0c811bb72a00e69346d93921c6bc6fdfb9d90ec4a12a2dcf9806b046c9ec4d05d91d36a475053922cc473d28bf1d2054c4ce7f22eb25f3defcd8be05b2383bc3ba749c4b34005325b8b8ccaefd30e39a5f25c84c7c58a9aecf502a99c33b586b0d9d50c217922c10e9103b5c4ff7eeceae0ba975784e2edc63a3d28cf128e81f421435f6e91ab41864597e10e401202081ba864a0e5aecfb40a1a9db0bee5048c81b52fee0675e09b7322b1b691726a23b1b46b60e0cdb9fe3d19c04ddb901aed55b6bda9640528ce4c06c61f4878a131d46b383796c66c15db0f466ffb36235ea49b07e5d51fa6f0f1e215661eb2ba8e6bce6f67f84e03c6865c4ecda9b5dba33672f3daea7e27ad5cafef32677a53153a1df8ef495dd9670f86648f662f4cdb84c6411f1a80d81ab6848122d9344e04a4039689b6f386f37bfbd3449234665fa70bac235ac4873ecdac48e793efc3a678a3ed13f42d00b347ac687734ad6cad0ebe19e94ad52e7490be6f2268bcb29730a29de95a550336a503f80b8f3a778f92a9313c9ae27bade7ada4cafdb776a64bb6e405bc24a19162e6fe4958c03eee805b515d7be043f4119c9e038e6c875c1b2e10685b3a4010487527c9f7187db1caea36af0a0c966fa88aaab7b05a8045481026f64fe0b460ec5d5409d952a6145f1b411b4d1b0ea2ae5035ad8924ba89ae72f3381eb21f571bac7ea7014bb2a3a98ee661c03a6f199cd21b00e87b110bf3c3dfc22fbad1e53498ee7c364be243d108da739fa44b89326a32912c8e0307867e5a20fc486c747492931b7f2985c167e971d5ba0ccb03f799cab163e4c4f02109c35bca95225dea4b40a30919d05c4ab2900903c87e6b8c049a0a28f1166279a53c9ba3c62ec4b2c1513851f0e45cc02f758afcde0a02b66fdb13cf9d3dfa4aa02a0f754189470920f560808d38969334e79ccad44f12b076bf9658f36b71886d4e23c5bfe169492b595abada00061beef7469bdabad87e6c5e9fe3b36f168d2b3fe01009f2931a9e1a84a7e68cd435e18778bcf91516fe4968ec7c12480197423cec4a3c6c2ea501c41e5d95f0c1a0903ea0b1eb7dc8ac1ed243e94f4c318ef559e0b32086712fc754fc04e70c7f058575175d943490a74a42bd2ae3e53a0c5bc9737a1ef606d39c6d941af38efa86ace284b0e64263b4f362385f4979686bb12cf286af703f6111ceffe01ae8175ba03c06e0aa3e93ccfbc9b54f9722e0c13b7554f568e308afda12b77550bffc87b3269a268ced931a0c6bd14bac0fdd62d49054281e0dee668381a1e5938c31990d71a8e92ba05d34d00331ade128932c00410f1da5471039f16dd65ae278f8a55bceb718e0a9b778327a0ec1573db61be95b334c6c2b0630385d6aac2ec4bdf00a7c4577872231fe878107876bb2e318baccdc441504cfb5c5e88988bb38148a184f59e5d4b1bcbc7c0d451f0d4480cf4f2a643706cf3e7298d719bf764743e3b6b800acc57403f819071064bdcce1e7032474ac54055f3c67bc5553c8f8c23b292fc618f63e6105f68d0b29dc8e35ed873cd07c5d1440be7a24ed07c95cb8ade8e2e342616900754caf2599bcce51d51181b3bcacd1f3450bb0918b4419d65674a0953f733ffd40692e59958fe8257f6cc8bf4f6e9fc340e8acd7e4c2e528a86e086c606f3bc2c6cf8546be132c9bab4801fc38a210f17dc6c3452850d35f6684bd8e2223362a10174fb6ebb4715d9cf09f9d54ed7820d143c82df91a36b20e7963d17be428dd248068631a7b2743b546535159568be1fd042b68660ba33b5e104c6ece5aecfb2036c5873322f41fca72f89b24d007d837fb8a6a8bd77ac2e56a91693e282055132041e5837c5d3ea72ae32834f8ea30063c706d30586cfd4c00a607390d3d6adad00691e5e333af1a9499ac847c6f02e2fc4503e54f01052b337ef1f2209e80bea309c976e30241136658f525a44df40f2acc8f141afb0c7a8dcf04c8da5bf192c2ffec3a3d8bf0d95e24f4f23e0ecce91dcef2f79d3d7eeb9c8c2bf8a1a0ffa2d0bcec75bbcb33642f1b634703311aa03b24c09913b86eade50204398c03327db8a2558bca58e15c827e6718c1959ec302d74e5ad1e63281368f136af88b575cfbb7cbf63dc3085d4af6c87fc388be5f02071fe1776d9341573f764ae46f507ae15344e0ea411ca52f6729ea3344fc7ea9121e5a0010ac0ff2f6aa653e5871ad236c2f0c81ecd17406cc89546330ca1dea8e68c11a11b69629af6e3a3788f4294377df4a16d7372ac2f115a2075e48c74ec38082e74f48097d498b6217b265b37b05e13c2d8c9dfec122c35b8dc8db5089c68fa586ca67c6c2fe12e1efbf163f6fcc94e5f71234d1b7c75e338041e21fb681b267d1266c1a76a0e4cbabc1a700985a8654b3fd087c43b38c9eb15772fadc4d2c08fc1798fd382a22df4900571f8725bd0e173b0f920a7425529e3e97b9a2d1391e1c700fa2bd8f79ecfa5d421cef1e33deffb007c0a5508d3c8eddd4f7da44a01f95c52e9531b82f20c6e9324c596f129af8191c7b9d5896947c8b00cb65c4e4ec28ae244f1acaf8387208f8e79be4c7108a7e2edf022facf2fa262f65fbd1897e2c2fc4fe2149ef8553827311417d053b3b6e5b24ca0b99e2f54bb14597db8bef293bfaa0ac5a5e6a80923624e6b26bc9579f82c50c194770c4374611da795901bc8712e65cdc6abc099fb46e0c37bd9eb656b9e918b0789f0f5ff6ce159b07abadd4c209169dad74c1a701787527e3e2177d0ae24e81b8fb4e48a57bb10165cf91067036b1237b478bf68d9c1ad97b22ce3cc630e0165208b8c9965f5f1977424f783c7b0098b67e3be9656b6aa8b283f668c9876a15de613559d6eaca2721f9b263c2f857fd8afa4f18217fe785c04f90f1e439736eefa73aeb4e9aaa74278da8b78c1ce164ab4287d272e50f497bbc483181de9470c3c1a845f112729e2ecc99b46d6a6475054904fb2f8bd6636c21e9101b667ed889d2ec19c3ca97384c8d312a9af205dcf61c551bc361f03dfde9f10e6f4d4cd466328faf45abe157857d9c49588a67f6a13e90ab2adb4366d4dbe1896920809b3f8515e54ba82e7c0a19477b5803abff797df8b95e5ee74bb040d7fee4f86d1035320b29659e454788b9756b4c87383b9b0d88807d06311c67b15d19bd60f8f5276990f8a706d54d403183e77d1072b300310e6719f73c646e5f968d7a3c392a5fea50a4456b007f9626d3e32013b899e090b755a5f15f0e0f682f30c467a3f4700f31333ef7c860d3d8eee8244d6a6c272782683130b16406b455bb42a3e80c94b3a68f56c06dba282736e0578b7d8404d71f9f913f9f6bc095b6e2f9e063516a36221fa4f340f0fa54ee805fcb6a9d769214ea8c20c8b495de24ce56c46cbf1a4a7d940dac872f38f94724fd1b0dc21c7703ce267315f0624122e7afc324ce77a48bff46d1dd0ca27099a75e9cfd5365efce8b65d21710bf1c27e4e539766b605d6f95f08b8c281f8ce7eaf62251f39547a53b84902a27255ad42e18271f00d2050d8ba0e67deba0dc2ccadeaf91aad09c5fc3ee2252c7773c6bfc0c18069e68ded1b05b0e66ac1e9a8d958853e6722149d344e1d94f9cff4f5e6d90bd98ce5e41b9679ba1f67d70842abf60d6c5c2770071e9076a76f6052ab3078285b1b3482cf9e8bc086baff66af3bd7975ef2174f577686d7edb41d03d99904e549963df5219fb52c6171a4583ffa9b92bb29b9342cd988567dfe000d20792c2f64ff9855efd129c89e05dee1d39bd3d3aa3c60f1f07eb63a018c760d7f4a73d307f425acf1eb028e360b2565f86e3e369330d3c3681132ff2a2ce3b495cbd9e91ef5efb21ec32c484684a2941ef9cc9fd276eaa7ec5c7090dd455f74b56346c45123fb4029d2efa1648f00b5f71b06d879078ccb8db79aff3e69f8602e74bba0a3fe029c6ab948ddfc20a60ef11a1c34bfca02e3102ed490b01f1f148ae56e8c0d11a47fd84fd015e8c3f4a9d9497deeefae52d87f7418be2598452d0926668af9b669f440a3e0d5c4eb02359706e030720e8b128459da3406b19cad7c257f5d0e9d1c9dc17b0c153c776d1bc1ddfd57ba1e5f3c33f2b8d010bef73c8d4dc8e53d0bd00fbea1aa633dc6a2f725f72d9390cdd169ab4b8d3abe0e56d0141057c00660d7de3448e371db4a2bdd8b8dad2b0c71c749529683a2bd0540fe67ad19e13367d6d8208cdc482a3be82e0635403beb9ee273bc957c978ed1e74a0eec4b7e2b1b0c07e14af432f7cd0dfeb23ef872d92fc265985bef56484c3664073293f26756418d20b09c9d83226fd0914fdf9ad258d1b3ecad03bbc9c6e3229e24385287c10857e5b885892070d5e51cee530e1b5f428fa060d2ae8c92e25f41b981b0e63d7bdb227d53b5868e1ae3b16fdc0718b6fb2e0c489cc1cf98e9eaedfb260d24a88535c8c83d8c630f8e265062070c3520d1f228f5273e19af21ec46af55c8de1d72273d9bcb739f6224f8b728a2464da0194bbd9c586022ea9e5b84ca3c8967d13c6f7d08425cdfa238c9ec94b75de2688db95803f0929bb3e17daf0a9a9179a8748c063c9b66ea11bbf6e5782c6132102c6f9965071df02b4bf2242ebeec349f5b0dc314dd4c0c4ff8051751f946b3ee374818e7351ac112461a0ff3af4ec0a4903ca7c3f088021f355c0f163a549163a496c735bb1e0f42a3350f492658fcffee8f253b242ff1208c9e63ba9d23827169b8fb1b39c872d0c470a50e53d1b949e081a8797949c712c48393cd187decef183e3a128f4cf81741d3c98bc1dced3e642cac5b5d885d06fc0f183655994656cfc3e7800704c0e13d7b63085a9552875ba608a5b6dc6f6f79a2bc48ebd5ae195543a761599cb077a788591ff32b16a0c5c49de88bbc0498022f906794b2f3343f76f66ee3f727c7c22eb6f37513d3f51808b0b166f6a632435b610214e3e81afef9ca3c38d371b8242a649d3d4a2bba1f30a3ad49f0bf3714be1da0f1621b3bd548fbd8d76c90fe184f8dc9c383f10d7faa93eb868083751bc855b8ebf13d2e57d860ef6dd0e27bf2300aef35094f4d4007b5ed607fa6063649bf097e81d5f29b58d6599aeb237846c0080975715d49ae7426f9e29008e3f22aa4393c1b8da20b8ac6cb749da0db8e4d5edc8691a96a6f57966631d2e48c1af7eeee9c641136e80c8d17ff09b79561ade14a627dc4870117d61de07ef8ea791e1fa6e90545fe44eee730d687004277ae81a9a421d22704fcf82396a2c205cc88f55567c13d722f30e921f4d65bc43ae9135a60fb194e6c4012c7e8738c9e6eabae0363a7abc87c9ac63d8c260a320d6fe6a04c53f92059dc635ca9f69807a0398837b4617f87b0330d08a4cbd1e00c7a733285e7c186653db8501a6e7b2b3dd1d5e18ea2f421f7bc770860f6266217b91c2b51b51446a152c66f54ccb634b66b639eb1da936221a7a1733a06caa2c307c410544cd393ae4685c4c9eaaf1c953a1e3fda4e32b4fc5a9a139e0acb992105a346714955722b542d3d930712ad9033a6e368107df446923c78f8f6395c5deea23d52886023f4c1aa3abc6e9d0b5b583dfd72509190ee985be6061c27b2969a239a44e7e5d8a1c8eba86f60a6ec87d8728366f6b28c31f5b686e58216e2f2355f26d0d0478bbb31a3f0169d20b79b3744c89ddabed8b65c4119011ed41df4087d3e2b08f48793c4be88b870821e4a5b8b986f063406f28139e6bf5a8b60f30affa4620d7978165c86448fae38eb5cc02f0785d778baf070a99f95b67e4c784edf850a40f475b32f44034b5ee547e388f28a3be757878aa1d42f426ea140ffdf2f46126357d17c19bc74ee970160674f6000e05bc94c4ac53e1e1d17d7aa76409b920b48d0f9646b4504007209add32708668b2dd8eb96fc0bc714a1dbca2ea3f9edfaff64078c1b7f0c86e42a04f57e5b2e617a88c7c7159cbfb6cb11ecbb2c846526ac10f7514715f422bbe87c4fd50889fdf02abd83c9058f0341a529e7811c29b15c072257a2ff42707e39db5a4f23b7ff87815306e34825d1fdd4349e6c1983d640819f4345fe6a7f36691f06e7e729e21cbd2cf76325a492ca41f50ca7924536eff5217c01e52bef22e5873b5071ddbd7805542679040f62c9d24f6f19521cfa0c9f7c19fb3f7083ad6b45d20ff7415d4a31cabea482f71f3ae92c72ff55a9b75987a3418df23b202aa439dc3825c0e81c3676fe1dd2853f638bda487c73d2b8be2eb7697fcc7f3f059742176d1dff903efd0760024054f8a806c7b45ee7918dde2a624e1eb728d970e9828f65f2194ec0061acbc8d08665fc0b88a47f9b96ad5d40e1e2480ab06311ac4f3a2e8c859c3722f1bc343d3bae670bb0133f35c240987248064bebb20f54f2238d0af326edce7c2fc41a29cfc6b8638171044d033654cf5982804dfebd1a24dd1423dab4aadc74001f8206db13e2202834792e2e9c100f1f00f7a2e3d0929d887a86d702159a3ff46a5ed83ca7c4f4684dc3fae201e32166df72c113d012c6fdb4852912dc4c48acc8b57f47063043ca9c57e233b881f728fc69138a5ee1d1c41ae271af45a8c38f053adb3dd614997e30418f24f4c4dfc92a62dff5d3ae131b88d6e4a20cbab15b1d83a1a967e4a980eda08956fa31ea59103c485e9ce36bf27a241daa7c2223e4c104e47c186f8bc5b277be6d6f67d7f0df81fda0ae7714be761adb56f9854e3965c56bf09d795c7e89a673bf2e04d75097c276df3c3741cb59423929f7a18f61bcc6cb89ecd812db7eb1e103748ef11b958a047a8ba6a9f40c6b9c183144d4f99d7e0c14858d10e9e7cbe0404aab97741e58741c6e81c60069e412c961da978fab1bc98fb4370e1d3fc10da802f3a3ca4cc040cee82a683b67208ec5dfa3c5dcf4797c77bebe03db55b9ee5c0e0abe95ef970198fa78161e8936400f221388a7f811b85d9c476eda10d6896c161a67990af6c1a8b8bff5a8336b7687dd26d524ac4f01019fb34371e8f23ccefefd83cd8035a40f01f0f64388723bb4e74226fdbf8597207081ab80b363b17c2f3eb008a877d85901b1fa40f8c776d96d082bd499f6349cf067109c231635dbc505591262bc26a2ce0267a0684486d969840ef28129e031fa3682c130b7e374890f6f2dbdc336c3d7e1640e74855481dd8c402a7c49af13aa4ba74526097db3ed623167072c6185c479450c2c39cf6be95d7d95f01a386d312b0fa339eaff729a1f35d8600fd8706ae2f04bae39bb230d03b2a5c6a57df2a3a0213f10cb8a9b9cd7c149247d810d85232dc2007f8b2e14fa994d0b97522bc8b09d65b67dc50d04a3202dcd30f4cd311b3ba2b21e4f30a1afb902cb0b5de813ca61de0e9386706443fbd6ce2b682a6dac3ae1c57266cbfeee8f4443c067a0fb6c80f27f0d1108c077579408218a41b2d4f7e40b7170df4ead303b673945e167a8787daf9a78ec78d7320f12d6b635ee867e9b05a6afe7587d43bb9e47c565a5fcf2a9bb95b89aefdf9e2c54f9002e93a5f663f1458f0af6ab83eca6ccaeb1a81507e9a0f049ec00302bf802154171d5031c791527e12cf11e4b4409fdf50bc4b3e5c40f7bd5f46fa468024bab5409997a081e3cb5814ec2244ab5ec5e2d7c3f464785956c286a250e56d8306ec27bf0241eee325cb0b9529378f94079f32c3d2374656cef784d505b7747e8e210a0d8cfae2413838fce31fab9fa7e47e89e3ca57a06563de15b2664b19091fb983748b6608f5219371b350872baf10357b961fed45109c7c16d1c5c3a028b167c30c6fd845682306597150bf075af292fcac6eb35bd158c76d8a2d68094961bec192b34fdd9d61dc7b97533ea565487fc1d57ad0e20e33105e9b77c9119c3bd44ef8033046c94638b2dee76f0479415eaea632f3830cf773e81b62bde8e239c66fbe8ad8bd5f9e388d2d80ae6245027f8d34b269620c1deb544d53986df2e33e079b57c0dfebe82cf42456656f1b93aaa748e8f05a16c53bcb94c11bff8d6a1d5d35b48f7520f3d07bdd365e90cd39447d6ef9b76143de767d6110a91d0276c1f73041b091c8567d066b6e9b9074fa0d4e7c1f85142d7f64e4f21ecdf7a0b0081c5854f869a5ee9e6a04a1b3284ed44932653c5383b6f7e200c06789bad4a80742bc5e11493deb7671493e2e5f0522fb98b016c87333314f0391740650beb0713ecdf6271697f64d005ad2d2841e4aa16416529be152a6e8f03a520f5f1b48a7c9a85c3fd42fd1593fc470132764754feea243b0524363d24ef123260ebc6e9730517d14648703f6c2f8cc55a807ecaad343c2f43aadedd09e9238aa77b26099af9c60375cecafae34514223d8eadb3746d8bd2939487f4993fad153d6b2dc6f0fef0230a77d5458e25a805e9e7804853f13f0f369c42b9ca8830507c0cbf8ab808c0fd8c5d553c7e0bcc76f12f70c52d45c628e3c1febacde22618403b1a275c205a45f8501af8bca34692f2c8bbb096f82bed2fa970382da3e58c23e7386d583d910327ba14bb0b91ce5b40824d00f41c4563785bdf9558d02fb87cbaeebac0d3fe899eaab3d9e6a19a5b7ee6503938795987dd1460a1d0a0bf7a20a90385c6e90275dcdf01b7553bfe604c576cd3a742d33543eb48c56df1cbfe961ae3e9f82a5509f6845f03957a4bc8fe1076f60553b966d8d27f401b4c34ab7f8051fb1d7e94d7bbb02315eb5abe9b52a10ed2b5b227cae81625f311afc1c32932fe7967a9231223a0b05252f92e4a8030803f9aa5525da7151c7bd90357986b14a87f2aaf33f3c907d112de199d1b13c6fd1883d4ba45593580146ce5025ab3587609517f490fd08176c6ca41c089c914acb8ffe2a7956cb363d5323e89b454bfad670c92b2153f3e22f5e7ccf2ec53fd2f0715f0b875a0050ad43a9b9d88db0115c2ac858870d47f1189b1f3b81d4d7c7e6e9edc326592d04a643977b701922a73221b96c92056421a835fbc8800b9a0cc369c386f0f329537aefcbe2f7491b897d80af97069a02c1550009d6a8367b0ee560d811c9927c36853fa7e6a3d779d63dabae927f1100fa513d1026bc903e40bf3165d5e9ba68fd29d10fbda420f379e028f5610b267a2bd589ec804a80fe3ac222af2271fdd71c57661f2d34bdd80479c4ab70239f320bac4bb1e9690f432e3c4ad44a1327e9731f1b9b6d9644e46b6e20d1be1ce4fc5656c97d72771e67f1cc8fe666f89597911f8323740553349cd701933f901d7baf30f233245e89618390e47782d094679bda748849a7725b0e108e55be7a2d31541fd53965139053fa9b1fc45a51d3d35b41b4784d40c3079d34f21c50403e05884557585c742e5fccbee80fd03f3820de5399443c54cf84be8b21e6698d82fbcbbd9c3084847f02dee26641aa7806d84edd63672966c05b023d25ef913c1c08411ff9b5d24e540bf4cf842edf8899f3730f4fa03fa65bda5c9cbc7e090acfc7a237e80fac6a7ce79dae3f88b2eb471caafcb858ceedc2ccf88e2c305e6a25c211c3f65c6eb7853772cd7993e2a127d48cd91f968ebc5f95dfaff11cf9c60917e6a59f30cf25be2a63d801e6011caabd8e45030f09dc3b4f926fdcf58d84fe32c3e3d71a19b5960738dc4694234ff148ea5b66b31e8dabf0716c2f775655e247aa26f927505ef88f5c105ef701f4b3b8889cd810e739c0823ab0d6d6031fd9ecad1fa89ea1d8817f6155fbde10506fc4c7cdfeb1b180ece3b7fe4d28cd336c382f68b5f4721f72bfad4867c6b298f44850c06e01be5cffc6f6fb4915f929b029f92c19d37d7f611f5886cf7f40a8f2385694fd252c085d22c7a1fff814b0738840f9b7083fb4d4e5ec6873e4dfb1eae527c270f490571f9f96c4b38b05597fc9e9d7d65acaf2b0315aeff9d8b9e6133ebd29e4c2961046684bc9c5fee7d515fd220ba913a1b9f0a1ba58fe428842c761a2f17fd44038e22b9e5bf99ded153fd65e8070e83b90e1e759c29c3eead3e4320867b6f0ae9e1f119237ecdca3df50d56d0b34a6748229ba0d4981c36745d69223b3943485aad13d95b5a9234831fb24435cb690964f7261548ab71522e462c561be461594a7c0248c3f140b9aee33cc3b59693458ab04afc0d6e863167c678e4e07e7d2d46c38e45870ba10a60376a0c934ed8ca9c908459a51800460d4de0ae0299908a03753e87336b773b488af387976fbe1d1fa3980a594c28c6445af2745acdf800a11c00818f251f819606087a64c878ee368210806bd42c0eba4e8883cac07865baff865cda1cf5f10bcadda09dd97b5e38d63271db4c6cc9d4ef0b90c1e1d1fd88455df3406510bd0652d6eee02139f32155317a63ec4d569204d4bd38065c204d559db93525d591b5cd909b5147365734a982429819a2b9d240871f998b5947892f0782939d58c0e7678e21985eadd1b84f70c510bbbc2bb1213542f922073b093931433995f2460504f8edcfdee529392ded9b5698933346c8984a40896a132963d688ceb1a410f6c49a8f159a8a4f4d46364504b79ce1be733c29cd595e7d603b0656bc88e8408715b2ccbd770755ea5984b7a4a0b9ebb23cb1e08e039973709650a5e607d344c660c851945b4a41301b284240c6ec56e8116d383f542005ff6ae96974fac3bd36f31628e4366e520160f3ca593fb23178ecfa295b8b73805380f2e273494e29b8fe60e7a0e93dc577eac5e4069f926b22e5f071337cf236a8c110a4bf24a59083597b11b0dec244c7654a244abe6a831036d0876235b577366dd907f82c1867f79897413c3467aa995d4635cc9db537c147d8d19099b95f784333121d3777f35ee67ebe84a5a48396c60e5567108c2335801b06d0097f912c49a0fc511e19b3a3c683c253c9fc968e4ae1db2740a1da98d3031f1b6489a64441a3bade2ce67e7e4aed05fa93fc81274933f502ba9e9ba8cb92497476d62f7f25fc0aa6d053406bc1e51b523e334bc8a3146a7f57de2faf6cdc1d24efcbe9961d0272145b16b0b2c792c59681b8869831fa02be57fb7b03ca8b84fa71a627de517c9fda34e81f6e9ad7d189a3a0fa84340cc5302bd5ffc529ab94a04f9043707de33b3ce395b68ed5a23f73357655d8ac8dff33a8a6aaf0134bc805c79f3b52df9d4dbbc15fcfd3a1a95d6df06ee399917702b7211e0aa6a08340f1deedf6042e0889ec2ef4aa272c720177da693da1d5a56c1686f5ab0d15776d091ab9accdc2ef3b55c38c7e3af6f4a7425d18ed3264ef132d83f2f85057bd2164efc4964cc8799e17418b5681b839897772c1c741297175ff44d678e6ff2c56cca3129e71b8373aa57d9070251e0718858d3023c89ac858058bb05d1d8bc60d47c379456ff51f9873982b9cb96bfafa5a971b6a3728fda13da4c4698f99794e2073b03f314607adcf2f28247ce2d340da4155f0595fb398e493ec6dbd6de0a9878902ae3e79218e55b8e451b419000ffd82dce3bcf7d8f17da7300387ae343b357b3ccd4f35487bde4d8c4aba1ead85e46716c3500fa35bde43c6d90eabe637df14b983f9b364992eb727072b04030be0591f1a5c2e0789ecc283a69c28c1fd2964283a925f50c3b87da526cf56d0a35ec233a3da64da6f2e03347412f23382569b37699d3146a94ce2f6466c0bc6505879bcaadcd254c8177ee680e59cb2ce73f0d93dd7343f96becfe398d2f176e45e94fe711b6a970635d282f15a7c4fb7e949f1f4bfbf6801eb4760d3549d722b3f95ea6329d14ca801eb350f3097c20583174294652f5228e62790c0d4db3d61cd1093e3c791c34aeecc436084f43aa70e79010e1c92824ee1b4b027e8bf7c49b50a6fa8426893b0a07f35df8e86902280cdf8d37472bc0dafa1c3f1e1c8725d5ab06d33d0739242e15e5c2cf5662b8af94b0e3a06c62f95eaeb81facc8a985865cb828cd8432080289bf5b05c1376a79d128b624378d104b340b30b3196df780db181164d64103f7149024b894ddcf273cdafdc8113faf35b77c2ad4d80bcf364df19955ed9161601d83ab923b99a2f4333d47f45d559fd7e6e8781759bd871451bbe58e6b3ca92feeccb2c42f0a53322f98ba79d2bc20ba4a48957eb1638bde622b9c998fad16f56f245b4c84220eefa08a148d1781abb8679a1bdff478e83dbc56fc10b7a3dda352f5e3ae8a3c2891577f3ab1a58d45edbec227da3ea5397609bb0fbecc05099fc459dd4e648f3c93a2da8d56bc410b08e1b5971014d9026064c6409110de460828d050b4dc7c352ace9f34b2e9a4563f17c6f174053251fffa858a1f788cb28fdf68fc885fd5535f34dfafc0a9367165c0c9a65c4edbf6c3bb182dea1e49491f0294671312587a2243683b5617f483ec06712d412a6ec8e3d43709d4e919727b6404b53bda4900a498ba0249746413a71d8403cb5be9fd699fa0a1fff1a16a730a65f0c424bfafc7808627f99dd43f3ca5ef26a6f4b0421ffcd58a8327edd17fa39ae55682e03d1ca4d2c71d4eba830638f491823f67dd42eb426615fe96046fdf6d98f20a59225ccb1513da4f6ab21c2088dc0edd3c9e9fe84d036d01db919837b46f8909fa8953d12eb1285ce6d3c2e55447c3dacf8286df2281b5b3c630bf4d8be9223bc6de92b8f2d5448ffd33d4ee41d862f964040c5a8a0ca1b3fe3839d957d701a422d02462de3b1514f8aabcad107bed15518b06e9c06aa44ce452862ed034ba1b2d8d1fb8b3731b8922fbc279b17b0a92175f94eae071ba4e9f4a06c22d6449972c6ecb68f746256cbc94a7d35755a26e26af274ee523c08f8a50f4582a5e6e25b91d748f691d7d7d8fc4236aff4c2afddf26ef17b33af4a497db6c0aa0e6dd9c5a6c443a1cfa4ec76e3ba1f3f1517a92f401a94ebd5a3cefcd44a3e77b72b689181870e1074fbe8bd0c7778b6cf489b1e3ef6d3cdaa29bd66f3165f65652d9d71e317985c748afb12555cbf81c7820e5200c8948dd8514996d5a4bf3632fa8386d6d8fdebb804567702afd0d5d15c815723ce9aa21a45de624805e8b70e197e8e47a813048f412618ecb258de9190b1dbec5d48bcf35567d4820287b5705a71b28e240130f55f1174a5a349ee3aba32d22fa092d531cd006b02fe969710ec444bb8db6c3ef5830d5618e7b76d589f2bc14626b93996296631c137f8839277b0b560817756cdba5282c7f92906d23680574d2a5a7973081f103ac90facd27187f03aecf6fe948fd47b8873fba963f45b573091818b8041a69bfa0a78bab3949f547c7c85f5003436fd9abf4a01828f65fa6f02738d6d9d3bd5504cc5c26206923a17abf248beaf32eeafd30d3a496016633ebf1743d71dfcf9d4c045dc5071a9e61088c134155740467875f244ad18b63f6197e1e049bd7aa9dd5546c731e47edd24f2091e748702bb881253b2762647367d92afb548517fbb741065ff4a0a8356d8d7c5517055b4a8c113f172792e9a8a4b8ae97dacec3d4d9689cac2f1386e3a7a22c3e8c277dbea563a3f172843d07c49b8f7d00f44d761e1c4922d94f89b2d5b85d82cfe8bae33a9afc3ee389447d15f7c227e4c0f21dd7b2497d44a7e0d95c443a138c006e35f7fc2885307d6204162df98087265211e463c8416e015880b698efae06964afd40521b2a3f5c58e1c1a4566cb4572e47b3b2a7e37a14799eb50acfe09082e36998f12374c0b89292495d7eb0f57f5080f5112e42d73d62f6271677bdd352ec07935c5d6f21752010321c29c30bd7b1bae8a58dbf730104311a6a42ddec26c4aa51d076917db42ded2c214d641a2574fce52c301955c413e7f26bdcb35fb9cf2836b34b20007e065164be6511d84d0160f12e022c5ff558c9b6b196f64e2619f5a186091e213854f7600272ae04440b7cb7ca8546dd52e3969c4fef73f7e98a4d7a6c5022165bca30cc6cea69f7818dbbe40444ea74662e835d422f81f660f3342f31bdf2928124749a9654bf15b5b083a164f91616923eeeb7881339f6f22a17003f47838a0d6403e691b6c0beda81c8f7de80f05662b5d73595e212f2d65c66889f365bcb7a0d7926b4125d624da558a9b9a0a07a91b419f31969917690daf959f08ab768931064002e18bc01ca2fafc1cfe80d5050f2b928595c42efe2cb59107c2e4afeb6eae1d3956734b673b0b30d9a8767c50b067f6a35194b7ea90af44bb5949f2fefe6b508b97325113e34840387fec90941e81d2565e63127231db3f945fec220e3372593b6e171240ff20418ba3f18f8dbcb70e1ffaa60dd732f0278e0130f1e838982d7c822ac7bc8f879500d13cee20185d764d1e1696c9fb810d9257b8b0b0047a2bdda70c361229cca96d8b74e60dd7b3974df199c61db640eeac1af9af28632ea9a48536408874c3b76b7edba06c4eee9e5440611a2c7cf8c0699299ca0f21d38809c51b7d5ff7810f50a0d9bfe77e1c5ae54eaf1a42426dcb1400dff90c2d4570db778133f301f1662f77720c87a472ec929f832e9bf3caac742b3aa353f2bbd3410cd3df13c358056302de4a0c286d0e7410fbef9fe566289b217b1924f72b2b20c120ef4165a9439518087bf6922f84d2e873c8d92cfeb883ae96dbf9dcaffeb91f62d76e878048715b66b6a02a73b74d4502250390901a21b80839b17f12185a71280f4caba26db4779895fde817927262bfac68712728cadaefbca38248f32b1f28e5b23661ecacbf7cc39e0b10bce90c83aa278bc082e9f1a6ad6c22716d2ba8ed6e06fa2c4b64578d0e2b41e423587b2f2236050603f26367e8041ae6d2c3ae591e816feae12ec07a27ad852a56dcf6542da130171e30587237c278d1cff4257ba15cc14aff597ba39c0aa6a3fe2a4d9e7cb53ab553141169c0a74182168ccc4168cb89000aacda902ef4f61e53c88b6ee2de8987d8be2221f41e2f7bdb232b85d9603ee6455f1617bafecc56225eec649b4515c90f704e3427b3599f91650554e39a4c597bc517ddc630d0d236cc133a285fd0c574d7dc9fac2cd9ce06ebe0127b41c0f2fef2ab0d10282f066e055075e5ca1713f59cae244c3c27e7c79fb5444173455cdaf17d08373c1baf2432289e13bca987c0c5ab05d0a64c92b2163ec166d30de07b18cde6214f8c57a0c349e9ad1fbca99f02325b4fa27f0ebbb6a137f550492def1b3f42fb965e5450c793bf08366272b84681ede5d9e1284c6d39ecad8e4d62aef647ceb38d010f8081b15340b362dcf3283f7cba614fc9025954dc5f3c8b3ce3ef78f04076e6467470f4184e1240067b5041e605ec482b1adc8e6eb005853f7000d1e3407c90a73a020e5dafc25924c2775912c2b7518d47a33a4f49012917bf035dda191557f9573f75a525e9dccc69526c3f2f42888fcc9c0a9b33bc592e2bfc0d3fb0fa29a5f24c88e6eb2e4f166654c77d469f09cbe55dad8b0c68371903cd2acf13d25f478315c98d701a9c9733b9c1f421031464202e24f029ca18c628ae3bb41e929f3e219d99a5f48f3eb1310fe1327e6a02ea25c6eb3fd15a9b2e7e880d9c10168dd418bdc373cebe1433335bc44af8dd7a0d4d3bd3f501e4b4fd32630c3e4330556bc5a965e7fac84f2231d3ade8767ec3faeb0fd21339eb957eac37fd5ec9c88293834d3b9edf02e464a78e616f755d1a5594783520711606cb7103dfd2ca25d1bc081b1f7700bac4fb76cde4709de9742d9f952b52aafa2e4e09e20cc1741277891c2c82d6440c887fd24e90b94417ed3f4658f486402d2215a18be9d04b437c5d1df1a9949e68112fe1f909a642f16a05b9566775e821d7e40ddca79364bb0f308c2f03da6f903b800f2c9e04ecfaa75b091f681b71501ac538d86fe936bc817e8fa789c30815df7048b3bd9c2f3b38eea7fb88a4e2c78f333a2a2ce14e7e335aa60fa29e4066deb9ab437dd74de74f35013d9a2f9d21919338b5f18ba3751372680ec106de0490c1905120c1ee7faa79d7cd3de4ef4c73e2470e513881ed10d7a2c3f36809d7bc585f1635e249799a2e309c8e4766f68a52bd874d33c9b11bc8a536a334971e453fea0b6d9aae48b609265b72609d93f548ec943532a68c210a8336ad9a6a6f959f266c6551aef8aa7bb1683f95c2ca21b73d1826fddff9f5a0b279e6db78a6f18fcd588289a3896a3e417b9347551bbbe3ddb45f7d9e83a7d746e829fe0a1a963bdfe8169b55e62c18787f069f05284581f2b6868fbc96c693e23c6b31f975d3066860e3eade14facb6c8be944e7ac9b868a675301a8c21dd2eb21bf0a7344c3f29b8c01f21b3f25376355d96c3d3c7c11dbb6383167b88d1d8639974e25d8183efc149481f7e097406af914e7601e627ec08f1a9aeaff73bf6f416e5e2af714caa27951475e3f3e9b61616fecfb8862bd9247addcedcf2531515fd5480c68cc445085d0986c3bc8862cef93e11b70fcfe267684f3f96e485efeccc6c3a1b9eff1f265f3503d9836dbecf32a6f810a270b8822532dc06151c0e9ac6e55de451d893ae39dec5d86fcfddad3969111a5fa126c703667872b1009f37ad92387f46b9a17f277794db4a007f164ad7f2e116e17d33b638efaef9fa8028074fe421f74b132cf9d1df4a975b1c7ed22d680ee5c1920e03a0f46f218a35f184251fc02bc7eb38a9f08d5ee4c92a29bd0b13ad27014ce2034cad76914e1b0e24b440f320a9eabe06781bf74f786f130236024402ffa23cba6f3e336c0a0e74ec281a1f8f9953a52363b144eac8c623ef9b0ae2e118b35e2dcd810fd80c7c4e2eca5f34a2b80be4fdfa8d1295bd86b5e34b3a26f59d22e03ba5f5691cdd19df7365c306712085dfd4b0d34936c23aaff5f74364206bb7155734ac52efcb7cd1cd457f469fe448e62e22bbd379660df46b159cef07113c9c6b7f6b48092d7a84e405b5cc0f6925d0551c067b5130e90775baed40c446ef6107b88778942f6c4dd2639d4edc4706a2efd9f2ea3859b41e4b0225ba9005d97fc2316a36213ce41d111068e02a4a1fc5ad890379cd25ff92715d270294e670a9e9508a4bfc14d9bc87fce1a2e1a842b882b3248d4856fb361d565f37a6ea408cf47e8320725f96c187bbf85bf148832a9c388ef3655c45f96cd5a22fe12161139138f65dc7b3af8d737b4e523ddbd8ccf0427474c99e1fa268a3728d99d40480d744a21703c030ef3d311767179bc3ff6dcdf9a703ae479551e37ac914c1875590fb36f8dc366bde0df7426bf856562d9e06893dff6130e1619dd7ef7c0df8a856170f22228f885691d9c0615029b239e3befcaf8e0a6d5a7ea08f275b9f2c7623fb217c447d1ed9706662f4d59525363f581486a705163e8a4b5077557f8d04f081c0cabaa4998d9fa191f927ad26dfa5efeab98cd0f52f4741368d5601de0746a7b9006b703115607421d8d8e3e1da391607527e16b2eb36c437be0ad48a86b281589331dcf07a266c40b6302e9b0e5e3055d6b97d1a96296e561189e31b240074ddde44272e6cd437b27e9feb0dcb8660a9c12115a5bc8c6af9538ae5b6acdad9b3c9d87c5911412eb6bae5a3f8b13e05cdb74741d8eb636c18bc008da9a7428be10f9882f5db7193b9838d2e4f1925c4fe9014e48b342e20afc864e28cb96de44bab2dba28b46d2ef2018bbbd88572533e4bdb372515e1a055bf5bb566c06f017342471528fd0c5a5eefe08df45b5431d68a60eebe374cca795039bd9b57d9a7567addefd3d043430f38e3039e9f8c02f0a2593a5b469019ef7ac42243f0ac7526ab61f62ae5947e927437572df1784dcc4bb256ec831ff3d2a59b161baff481d9f851adb0be924d0fb7a4addd3ece5e788a332aba8751e4af6666ea5528424fa54aae13ebb6f8b9b4372f9572e0b30049b031fc81f9275049dc50c29f1ef2f5b20b99947eed9102bf563444dfc020364f1da1b279007fca794128e89ed74ab281de9bff3024852b15c57a04ca119a0b37ed516070a121c41a7b64218fd60b92f122b0b4ee15602a9e4797104f72a18adb7d912eac02f94e6ea26ca3130edc07e69bfb80dbfaa01b45fbd77eb78ea6cf4b544a745531dbac2319ba31cc882a5392807cc948a11803dfe0bba4406a057501fe8bd9107fd3bb7daf0e513b4ef5cb4bde30de6135360f7b25f61026283ed16aa0e69217eaae771afe13848d17dda3b03375173c850f21f6890d7b9e06c4b895b8bcf82bc60d1f45f58706351cde1a7edcb4cc16e7db7ca9a2b5f40191633d734715d96a4b380c9a00a0a1c6a1d5e9577f58ae4800cb698818380c14ae1f84d56b6341d2fa2e447e3c9bdb8c0fdb3d6e2d9b577f1343c037a91df19b0ca26ca4412ebe20cb80cb70c2f00474b51cae77f321791c3e92a21d4d33a06b0b79b4d35e9e28e71a173adfc6c9498c1993469db523783e4064e28dac5cf590262a2f4bb6a677fc19b99e52accbee7ef82b9caf969b52e07707f506ac427a2ea718f418638ee7d185db5280c83a295b95ff73d27419acb47bc9ca051721bbb4a7e4b4f8273faa272fc06a5d0daeffc617e35b1db09ce017c11e3b6142c71a98dd197cfc6294da406c06814dca5470a18ea3b3e88d989def85ce5123908ae19f6591bee10aa183f059f51d3e089eaca1692b62a0f05a4020fd01b8b4bf297ef07e12f65e08ab0ccd84f1eeb94899729a091a5e4ed8c04e3067d8277eb46d004a5a3fe3aef4abccb0bdd8921fb3d326d55fc992fb91639c0fd4e5f3a027963cc9879c7f4669f0469e2eecbb25932e42409a6ea4a2f9ab05567f6783d4c98499f85256ee9b81e6e83a234967c14beb4fc7503f8579e0713e7879241f670f2c6be38db45cd16f095668b11b9c8f8159e2adb8e8ddb1c5515aa7276d4e02e586462452d24752a83e810918e6ae1c9c0fc143cd467b82e7a28d2ebc80980767ec84a0293f1b3c042c299cf50cd431f786765690a81b9122fb19628a9d4b98b9152f8955debeb7545e458f2f8f2a0c31a309d800ce8d04c2e80d240490275499e2b7085094079dd2bcb3ef729e22c241f7717ae931e237df3c60fcbc986eef65a5fc488e81b89d0bbd1fa3ebf2437fb7ba890fd83d24ed789545618fcd2a7a1c5a213ce972674b3035f52c91483e6a8792e73551b6c73ec513fd08fd995769043558ca529a889f27256847d50cbe2f1ee9be33bcf22882f7369227609fe56195ac13a08b63f1a46e0d1954df5447060d9ac0cb4bca9dba00bf2f0f9d2c7e7d04e6b73c836ce0252bfc48aa0a0d8855e6541ee478513d32274ae263070dcdfa115ad13789d2ef24f78b2eb1444c2fa8d24313517afdbc32dc8cd5c2cb1b1198fb204f50ad82126d2b011e71585f233dda24f149e49d699dbb5f9f02e6d40022af781153b233714df197753136089a375f3c23fda51b83c1da8899aa77fa3c3aae20dcff87d94dd966c3a996a4769008beae2848b89b3001d50600dfca5fa2b33b66c2ddcfb6b8ba8ead5897be01bdd4e914bda2a6fc455e4bc9ad1dc07e95eec8a644a2ea5201f8766018ad2b3905d13da4b37f360865c7e130f0a31b197cc4830cafc3d286c33034f2b4313ae7d1c2855f71e13c208833aff2a2f80dbb8edf6a899a5361c5b165905235de90a0374c62b72fc44ef8a2da1de52b09903acc06f0dcc48591264b72617bd5f50dbe8cafabd73ac0f2bb5b9fbee3f28b2788a2e455464e681655413eb4306caf91187d471cd54474a0705e589d8fe399f223dcb668033c6c7c6503c86d0492e67bc028d699944cfe06eeb0a62113ec5e32dc6d63b4491da71464f7e95ed13b5dac3670929a0d8628603ed65174a4a52bbba828d02d9340f47a0d0f38bb09f3d30b63eed45ecbd0cf09ecfcfc83231576119feda69bcc29908d7f952c56cb5606c6ed3bcf41bff16bb63b08813d051d7ae4a4a01b6f7c34bc719580b6ce65f16b0d6bf80c1530777118280fbc8762c87080fe406cf185ec3875b00c175e7d2f928047d9a2e32d1c1a7e8fa5d637f2542fb6ebc8653f0ab171d317720a379cbf428b91ef50c6e65b0f303524db02c7cdc47d2e418e3f5101ae772ea27e05bba7ad83d6cd3fcbbadf4574a5a5f6bae61f0991fa06de94bd3a4cc0b578aa345b9128fe4b1efb18894cfef6bbe3101c6f1d3742d1133126f61c480c4fa4c7e94316f3b4101099ce6bd5c26369b78fc298e2990904fbb68753160eb641c23f2065d3048a0eb7120aa8f77c4c30df5906e9c79bfbd2295db48fd82dffe2eaf5b55221e69a097e8fbb56c1cf622af85e1cf01b9f90f291b40c3e9053f33db80eeac713017ed3abfc48bb8c8ee5256aa340d47ec640767349c1704dc5086fc8e3e38928a0e1303a8c782995a78f0301050f11953567fa99e95a2de5192879f8aae15df60ac4db6c5f04776c88222d9739360b6e0271119a642f07a8f4974c5cd780b63ea328a28fd6123e8026021cd329ca1f7d6469b41f2a5e81b3d8e56c07fd7362b5a3a3a7ab7eb2fa16562e1f4d8af2015cba09d5896bed8c3d5e0bd8ef3285b3532d90e91b17acf39517b49a0963b08ee555b26d0e1cd05f23083cd186b4590a2ef70b001dd1049a607f32d5cb7eb0e5c06d6abb5e18efc28f99f0da4ac2255e402586dddb05d6216db7788132a8af61eac58fa05871e21a45f40f9c0c5f437b52f1658a3374198d8066910681aca287e47b3639229f49d8d45554c8d8832c8eb8913a2b3115cae8dee96e08b90339ce479c3dea78d522593b357ab96813b8bda822f073a160df7f5d9fb2295777ad86f845b2afd72c2385711729689d98f68b066044f96184b3e8044ef436418c75175c2dfba7c855b7eaf8d164380c7581c02a7d35a4ab756a2469055958f6ecd117fdc5458a5cebf7e678bc1076188f0cb7f2636b6b9d98795a38267da4d2ca2b6cf6ea08b459ce21d6c016d0a6e760c87fbad0800b775512bb07b75e1fec4686862bc2e17b1b3869da0c3c1e0c5bf7099820d18fc0ab3387b329001f7cccf32d080d675f262ccf09f5631be730d2077a89cb81aa842f1bb6c3136f887f0b6bd9115871fc1455986724a1f39898c24abe585bb85d5fa0b9a80dce1e9233fb3d1d44f724e5872f84e27ac5179f7e6506e1be8512f85f6b5bb60f4e2c7fb6f662ef09b6d09e3e30c4b450fbd30bbe182f794e0d941b37a98b970c8bdbf4a804166ca7cbc1b7d2a5cb37ed4ef1cbb21f5f9371271543fccacf0f3ebc82ec210cb2f0226033ffe85f3e446b93bff54af8531c2db4a451841f31c3648f0d69f2a61dc40e25cf88868293d5a4403a1f86285d4c178939fd53d96096bafcd1c5314066114372bdc31f0abdb4cae9c60080fc8c06852e3c82f1b546df1e6d82d42760a271a230387e04f1c875641efe831a0a4f1655b7b748887ade0647a7a5bbe1650c43dac20b42271e3b753b3fb74fbc0af33c062e75002158fd8583d6092cf3ca3042e13622a210f21165e853c0d4b245c900f6979009f29328512f1638a459b172bfc2a03b0022047efb672e3a33e348b0c0d0038640bcec638dcde50a9b6bf2f1692763643ae18fdc92f9534e1dfcaca3d9cba8907a2215a09a888fcb374814dd8fdb88632892fab6fff9580aa3f3e4d39be6510a320f31e0439b7012dcc181163cccb0fc029e5a3f6f8dca4d54a07bc55d6397620874cf1cbc8d818be8373192e02b77e5be8413e02d86a4f6315e643c68c8ec5b8160a5795eb7f8085fdc0d62c6dec36d78e05c2e2f7c5095e6eea137455bd9e99037582e781a622b2d16b5f6bbcfecde3e4863d2bcdb49fabf394b9e58c7ebd356817c810d8ecfa08cf52e4bd7df0bd0a51d8840e2365615bc8cbc9e07a176e899be34fea988a03e0d22c3898fb4d03b75468e6856c487c0ee39d5fca44b1cf3f81abdcccd45ad8b2ef0a34d9722dad0b963b564d3bdf354768ecc3fb08c7dec6d6dc7d9f47ee10a5027eae475203d01f41aeb98771e5ae9db432f1fc19aa989a73c7d0f9c5c9fa2a1e423f613cd38e4f635b87cd02c4ee03d9917833fb09df17e378cf5ee8fbe3f94cbfcdc9f021e6c03623e9d21a9a5bef8f688b93acda5c7db7c000885991d42aec72f3525cd0b547b5dd5ca9716f244e83554f46e921d75de0734267c299652fdc44cbb9fab950d1a74e456749ebe40af937f4112fb253904780c2db9afdb313cc55b90efcc60fcbd06026cd2b69a97516281366ac0a5e7d1a6f9ed08aac62b016497c130d1b7a3891b4895e90b4611a1014c8ab9cf6ebe41e9c87f9a0db9eff8df0a4e3dd294c5b73590d53376aa3e12754b3ff193e24d2c9eb66a8c2bcfc2089ec3fd4e3e06a906da294714df72e475b90890fb5499d1c202e0349d2fd59ef22be2df2483f6ce9be3ff9e00d37cb3b7bfaa8293dc8a43b719a010db290418fe1724a0b7f1a0f55210c13683b109df6b632cf801bb20bc9b1a9883413cf4b8539bbfc1e9e0a11863f02a54510f038b0eafa285b585a1a87847dc99edc479f83d37995e0808b901358091a12e531f96320099ad428547aa7cb19524711d2380eebe3ae2fa478a0c9339c4edba8460c25d43a5ecae4d3d2f22478be3bee5be508f198f2cdcd25e351c7c2909d57e5137fc32b044b6d9ce852f6285d48f0b86dcf601eba6ab61e4939606681b551e3754f579b11336fac638ae7c7644ecc1a89ec861764bdfe86f56cbd880a2272918984d6d88fc618d135baf78f0af1827bd0e491b8f5253b8f5f49ab84634da6a4fe6c12c9a340d96134f824c899b8559baac9ab026eb81c4196ce6ee176e05be0b26a5cbf83ef8149f53ce8a80841fb151d96057a40e067344792cb28a1ed2dc1bc725f1e6aa62225b51d0f71a5c3f40207b38c0e81640533798da0bdec2c29777e99cdb722046327ef8b4eb8721c67e8786be1db683ec31b2b8f0099353c3fad644034f014cd66a6c0c3eb6c9827de2c990fbc009d3710b6c740ea19d84c7d395da696dc59ab7c7deece3e3b34925f4988b7c04d0a190465f3a9bf697423e2f04c08a9faa02c07d80773e0d8aae3fd9a17a5c39d1ed45a55f6283e48fc03a72d430087469e48df7f08144436299be87d6cc0db895c535f8f5d8809f383c166c72ef0d8baf014bee2c99aa26600fc811d48b9face50561fc1e54544cbf169b6ab1adcc4dd7624d74cb017874c5d7182d652285434278e1095e4c78dc4eb83d6c17e4583c92b4e188cd679a1dfcc00ca30f5a99f478ab32ff01d36ebb3dd1f3a4d01e9b9f4b05cc266630aa09a8b8f94d5ac7af6a3b3027d1b56a2792951eba62cba3ad02d98278ba3b50b3c37c008f81fb7050630f00cef11d526cd079a99c051ea48d8b0f9af0b059b788fc0052143a48c3a193a659f9c35da86f4203d051631dbcb12ce93ec3927a54adb7edf79bf5acc004b65fd29156a3e99c370cd0b08de0e4908554ef3eb2865a19a9c98adea55206a573026491bb6e58790ac5293e0439f8f3eef62b0a09f14f73936643b1c17ba0b1fdf017ff0399082ee32ee777616b5f520cf22d24ed7e9c17a81f50874393eddd3a061632fb36e8c79f86adfcea2bcf563b9d9c3d8400e0a37b88bad5c00b3db4e1523fc1b474550b1c66ce29ce5f8209a58f5a7c496eb4a81b7f1d81e5270c52702e6a279e4b78ea316c157f9116ebff6515efb32d427c6da77d665eb0d79df670013666cf25e8c7f7688ce201723c1dcc8f1adb0af2e85f1dd9b66e67d5b69c4157f6113aa1876670d8c17e3bdbab3048990855812ea331348f306ef10f6ca46d4128955ee42cc0472da57a0b21c1f75b303b179de2fd54c2d6cbc0531a6f568603d21eeb2729459c018922efdb83c6fb0875b15f94957a2e9d094d48a08103c044fd2d3ec71d17ac40c18eaac2364f8242d93737c0ca965a33b4a6260eebf65281a6f97057bfc06ae60b383bfd0e6059362202bf07230cda9371797f36b4a59914113af0708d1d258609bfb0d861db354984b269c5ce7cad3870138131ea86354adb13497b96354c8f6c404147c9edbd95aa365d4393c435d9a2f40a2ebcb380c02faf35e44bee522bf206ae18f15a2d698e6493c303791dba5be63b089eafe7a226f5165c3d9f57848dde4920c5af60d9f025b275fe1a65bb9fb010fe2b02d69c476d8fef6079aa693c50e18f8a1e3493e3245e860343dbc07bfc28b319313a0aecfd16cb0c7313797443614dce766aa91ac723dc669d6dd5905a8aca1e8cd0b9862c20fc480047119b45dffc588e0ffc6ade9da7f6c4786323dbdf5ab2f69b908ea7b2aae0385b5cbf5417e3474e0c7d4d86f93da4b8fd9920085e056e8b5f084ea065318ff5832d18dfe4e4ca0b7662ea0457baefc5970b99353786fee91cb09bfc44682a4ec0f60e931c3f8e89e19c5d6cfc8652bb3117174fe3c994236a317dc925654ea496f3816aa87b7306cd1f14aaeeb52e15ce9658eb4308337cd510154fe354ee57ecf6ed221e00fceb8828af91ade123b0f83c120aac9a01131c320f0f6bfea514c32e6534f28d0634e8287a099cebaa54df0d2d782075b31e1a89e24bf0a07219317eff878bac07aebdf0b83d27ae8182f02f7054f1ba368c3f0415a88f06ac78620d543e88f3c7971ce0b175f6785dc644973d2747e71636cda6225da2015c86986f7a5b3f6d10b25c4921e80373e8f2d39d909eb71272b0945c5d37a177cb5a553e28db89bd5464ea90a045eeba0ae3776cc4fa8536b377b04250c3351ebb53b1a8f73a28f320c04a7bc0dbe4b7def0d53c6fe6c076307cb611e946601ef85814b33f6513e2829d34af453278dbedd0e9ce39329d692343eb28739a9d14bf1c4aeb45b98104bfb7f91a745b2b253f7042d82d6d5b146d130a947ce458063dda1ae5cb94ae8ea107ac0ffb00b1f71cf4b803289b4de14eeb9ffe40e8461c2b7e0628d39e7b3001f306704a7c538cb54d4440ef1f4a22999568631637ea8fd0bf32627706da21a4e33420d98013af8ff9d2330f0b763e985d994d9cc4e67bc876f0058c21fc3d353c19aa14c7928284a3808a7a5225b68fc1957d63297d6f220cd587bc48710c5f543c105ee6169a6a7bc2b13fcd16644f3689e74cd53e1423aef752901bd3a6657cd01e85f975b6479b6e51b185c0e8a0012ccac44c75c1f1b2c7467fb89e042cda856b04bfc5b2ba53b514fd0403c11f3cc6f54b9c510d64fbfee986bb2b074cf8015292f46f25ddf7c9116ade4f183fa5eccf9b06495fb715d2c32ea53c9908004fa3c943eb8422282be242faeb94a1bd957bfb6d56963a5667ca631e9fce23903cb8a72b990376fe3d0d51ac9ea583fb1d1c961b8c175774535569bd865cb2277005e6c25c5a3e8741df4708a6bbfac6b808da76cc8aa319ed9588b185381ff5ac1590a74562e2896f71e7c32a435d7652316358dad14d22c8958fc938354f982759152fcb012006f9c31f1f8f3aebb2b58299b78af2d13161996f6c73f96e262cff48004e3d4382c42f52ba6e2dafc277a0aa780e8d5d771106c67b2152fb4d6a22340a0b33504f8c35a49f5479683f35fe4ab53abd6226cd5539b7e6c4e3d3bfc59ac93836965a6c55c4cc7804c6673915f95190bbf78262a06f188eba8a3812da724716bf219ef132c2e2dc57a6c4fbcc817a102aeed70062f1c444bf2fa3547b2fb219b60c305c27916573cf09f8f9b62db9edbb34f94c516e374d1ccfb765b92a7bf88cb1f3f222f790c1cc9d5721e767de40b50e649ae30bb9e1f85f1bd5bf0226f85574f43e9fd609dd99e1f0430fc36c5032ad2fa484b2b1f81c7d8c970c6fd0e8e655e2b67ce68be08598533a36a7f17ffc5ad03f17c0b81005be2f8b96bf2bcdb13c2714acb90a8c9897e094f4a117abcd414a082d97c949761524fede0f34808e0825b4c955a65e9842c83d1f235f8b4fd9f38866b9d113b5bfcf3765d51f569af7517ab5389ee6f69fd5990f40e4ca4d6c81f05cf85aec2c991faf810be06368913fe1517586a2c2406349b8d2a69898bf82c7ed1edd62b3dd9684de28b850070199d4a87fc4811b34e917623d9ce8e23e217f63e9f7c10e58f95a109f4f8c3df472dc036da4f1c88bb0b8b44672e36d6c20e8c20aa5af815185c3c1ed70158168af9983c6bd307c6a1d26cdcdf305343b1d08fba80734743022942ea67aa0ff3e30790e4c431b2f38710f95de98393350e8a25975057800273dfa9307c2432021418380fce09758013e94f6cbd3b8017b0a7d343efa7dbbebad8067957e794c005cae2513c3314099ba0d30231eecc1d7885d002ee8bf549924fb80f2b4d1ce62cc48178e10cd587c189998077b73b5152892e511dbcb0d08367d548faf93909aa2114bd3dec484da2711c2eced1c996c9e2136dfa54774580a2a6f1704bc1321677dcb86339fd1e27c5863cabde3d68a437812fa189acc9fb4c976fb265a0cb804590a2382d7c5911783e07b78d863b9fc964d9c714ad59a0799c8b1bf8880f907984afec542c72be1d0d22e34c8bd255a94ef1a6979ca10591f386cf3c41f7ab6aca9dfb782a13e9f528aa7cbd1a691be18ff4711b167dd6c9e09d79e2b164a7a3080a67d47a5cfe350a1681db4cc6de29170cb184ef01ab200eeb16310fa8e480b0f35d2e3ddec2ac95d4ac330df55cdf60dbfbafe55abcb850ccd6d108d5b6e8c007353e1d47a4f23b37d82c9c9596f1d7d7e4df519425af802501e9f5465fb230642efc5a452dfecf832de5d6a84fca50d1ce4be097ada98902ac60089ce0d7509371f5bfe7c2359de9e7af2a67374fe69056ab42e79c4a4098187fe58ce71df8001fea621551edfd290c9ff6661faa623dbcfd013e1552afbd8be8ce9ea4be0887a520013dfc6c7fa5974713aad7507086df730f40e3b01fac78dd8ad24d0c86e3156bb83bd183f6007326dbc445457d210b0bf24b1782809293f0478f89d0bcc3c72c98d3f3149f62a52503fa6e4ed736c52f12680730e80079177ad0e6acd1975deb6c8f3af0678386e168ff7f2f172545c107bc60d880f30e2c871d41d7f5bddd256d2d4fa619c6b9ffb60583789539d81c4282e12a3e093eb25e37aec17c03acf7465786bce9c0e5c87b68775bcbc714e130d9c33e3a1e6f646cce2ea147a7bfc4e05150750e925e06f868b3cbc6d10ba1d645af9a9b8ba6e1823d86da6186828b39f7b806697b987d903ed98c839c72d01a14b4328ce996829fc378e06d96eca90ce83cd9bab649434e8c9b06097ddebd5462c143da2150afe7803e44d8fb33c328ee989d45871a3196b1ec34d4c4f6a5182e0532438fdb22420e78df2f517701cde28c3e9cf0cd09ec08c87e723c5400641eca859bcc2913f0035785ae1e1b9c65eaaa60180984c4384f7a8350d661b2532dd6d0a6b0f7062748dd5c207140527fe9d962b27d3787519663caf63976e4708b1e55c7f82bfb876c1fd8c2bfc862e37ae0295543bb1a670db085f3bd1cb9d475dced856501535873425b383be1abd2590d093a0ffc64d6ec93f8c4f3e48e883266e92e6634f78cb6d3f4cffcb5c5b7616d26d92381d880f83172164e231ecabcf098ad54867897eeaf4410b02673e55918e6d62f1c91960fefe05231b0f1c54f85f2a9e7ed1abd0e37e687a8b25322fb2a1d5385e8bcbbd778d7b020ec4cd08a8fa874f28e74810768f2347d6f6d4fcd315a60acbb3a1fb31cf862fc124ce9f526cfb48aa7b5225987bd44ac5c7c9f0f0c0c930ce66fba795cc0d710d0478f82fa68d672d0bb36b3b48795fae971f920d7f830261bec957827780b0e08f20f1f98cabd1f9c165d476ac71f17992997a4a8a73cea272a43ba449cea651807bc1aa9e0397d87c85e77d06934c3e856e8507111ae00f4404ef4d2757deb83ae68aa4205c49cbf5cfaf7c10a1230c91fbd628155b05f1d4133b39d382526c6f761486c777349bb4960f307a8994b519d044927f7982f21d026f689ac51c33132ec74fd1c343e3ed38de0e687ef4abdf9f17400da2334f0bf896fdba07056077b016fba28b579e5234c6fe6be2c3812d09350e9aecf39168d53a745abfc9d7af065310ec57568d5eccb5d181bf78171b0939980a447af767f17bcc36cc7f76a25a0114931d8c37a4b1cc316d33246d5ac25ee91cfcf6457f6952600b8102e02d7f54692d92fa2978e2f92dd089c7c2e8f740640d5ffc7bb4e7a252dd898291ee4176fa4e65867ee1d3ce853618ef1c5538dd030a093a4a8c9e2bd1e4d107aea49cc98b894fbc3bf05d60f4f8334a2eda4814c527c24be085277fcc4fd0685e37e014a7a60208849c2a63e40f04cbed34c37c3944d306c2c18b772826eb1f0352bc986d99c6b925f28cb8858fa563cd797de9459f6cbca61d59bfc66a7822abb53bea48d0f3be18db488b5cee6979fa393488785c294532d450e1379911a8359950a1510e065ada25fc5acc514e451ecb169919c21597efb8e8a15da0c97d83cebc9d1be8e70d1065fc94d4cddb46f4689c99f963e480758d11095ed3d8bb7757c4fe0fda83471044ef87dc58b0158fa938e311011f6165e825232cbae00cd867d2a38bdef350a8ad4e11b75fa0003fd1616b86d2c3eba84246365f1d939f01c52b0f7a12b9ae92fab79712fc134a98bde568bbf1d0e323088af141334747a084f1ff6a207522f9c7f3ed0579d8ce81c79b40e57bbd8cbc1dce0d7d99c3cb8de0e1f02d9b399cca93013b461251eb1d66ce1f1cbdf4e60fd82c81ccc623e950b2c30ac8e8ae1530c8582035df0d8bde1ce560f3990052d052a462ee9a2bf6b38a3f2ee90bb670981a9eda3943db081d7b25e9ef0a536cfe678bfb607975ae8424ebcb74093d093001e78089eb0e16dcd8b9a595ee81556df334c8a1cb3864f81d595a379105479b482a940ee381480cd516cf47d176bb7f2f2535179ca2beca32c2ab6e5368b3aa176e979bb9b53e047d03310b5f4416e23d5c30ee1dac457ea489c1f6ddd3fb9c2e1dad2105b00fd325d94e8a38dc70b6f17b5c723e387ae4af0c2ebee50c35bfecf0a55731a8fd961a1dfe89d1af3bc941fc9b055e6c1b04a66cb0da1adb4f47c97ecae0b6a336875e2a7488e7a098e13e52189e478e71e26f5de03307856c46d4019f54826ec734f97a50962a4eaae2f577052937ab5fdd57d152e245f8187c8f44083ea340e2cf3615d839ce70e83d1fc4bf4534c3619510e9c9306f3a5690b14c0238e93f98709c07e4a570a8470f6415373dfc6a568bbea5b2eb9f3a2e7555ada5f70db6d8503255cedb66e4be789c9f96e7a8fd60513ff7f6cabe1dea72c30b27ded16fc67f29bb783abb3af739cd47d026e8bc1b10682e0c5cb3a2a2c6d414f9d564b4433b42859d7fea8065f7e061ac27adc8e52536c0fec58dbd3955c6ec9377206a144b101d6b47b0c9278d17dd730dc7eb5a3e78c1b9d2273ff9a23f0b07f8a09500ad191ce1f37c66b80d4aa5ff70e1c8ee2c5f3d191526ef48458513093ade604040b42c119ca7a1dafa3898d498efa818eab5d819310c6e2c9fd38bc6eea204fa92c3609f193aeb13de52ec4c2b604760b840d3105ffa02c40910de5387c0f3f909fe28d7eeee13e1e49c4b1bb6b1140bbf0741ea5b0428f6cf1e39b694b7e1745a8c3e00679d439892e0676d579e89033827cf7c7853a11f1d85c607ddc1ecb59cd3c06733f538de7a88904e61b3cc4345053c123dc51dc4f4d795b2e8bd819c1dced480c7e6d007c5194558fe51092b771a554fea63f0c7a04cfa93d2ce3810402afe21fe9ecb26d4893d83b52ba882d7f4c57ddea9b5afcc9d2d53010ef99b7229b9f7c1894d33c1885ec254e34795ccc80c5eb0e91b48b3e41b275c9e8429db3ec6dbf289390434e9010c1f222c80ceedf17cd029713bccee7aa5c708da7281e96b4ad0a2c30ce1f09629e8f42c8a05ce7703cd5571c8f9d90f9608ee04ac87f760d8b1ed6eccecdd250c9a4d448d99094dc8af50f1607661d5ba097d7a1f702685de54029d49c4787e0ee49d8e1d9de2ac79543b4b982f8f470ac0b3bc59fe171118b6239c002737316a29398e3d4bc0a49643dbf31f403cbfc5c6e3d3a5b8b1a9f8b0f5c8ba2bbe43c3eb3ac23a3785d00c1a8807a2729895a8afbb22b1212068a17196449925a704780b91658f0323c645917c6720312aa568a61b46be33d281cec0bbea3678707a9654dd7b9addfce31c8a87542dfdc7a3529fa2c3878e9495f5dd9c2b3a49a9ed0b1f58a079e16adda9010d27fbe1c1d39eb07e13ec85375660603f85a5fe8b2152ca12065d37911a52c81bf2cb8e4a5b312fb53179207b08f62d20ec87f529f153d0189f039885034920c0ef98625ce60a90576b1dde994d2bbc81d4954e9ce1c00fd326372a13bc4f9df1e3fd9aca7c7355d069f840df84a6d9ee9228e71fa4186927295b3eb0d76afb58600b676e27be8ea28eaed45450cd010101bd01a5a5a59d0052433ba1c201101c10d0918923b5064040401ad2be14f0e458dd391d5508b5fa1e045efe416ee33fe95dfac84523fb5207caf3bc986a1952ea3cb7094733a92ae11862f59ed00ad57dec093f060cc7cea483831dc6d3cc0d17236c111bec852a597f49d391ab396141e64321aa0748d9dab84576ffca0f2cad14a7fb9f44da66143b583496db199ab2ee8be718a4f13aa5b42f852389761023c96d973cf8241d6a9cdcd3f8b8919daf53b36327be5e70a3613b974c32e0697a1a68a12a855fb64b684e9ccfd7b1c0d2a57a475df4f7545f99627a01421475111de84b1df1ee3d4f573d0136c1e38e1abee01dd0fe3094a52b7d15cb38418c7c1224935ab5c6cf49e4e63e71113d3f0d32616361925f696ec3992f92e0d9608a4c7f94c58c7de5d4813b31d0f2b556a13fa346989e0a73bf1aaab06fb40d399c172aff4162d1859ceefcf0555ba8d62007ba9be682cb449fa7fa088850ffe6905d487198d70c66bcda588b1fc125c385f0d6789b97d9e79d0af251099c3f04bae67e82057ee9c2e78e1dc5714d11c1ba42e6acffd62dbd02a42c3f2103db1e1155fb905dc2f85987a8bff132e5bb9e8dffa8d9a965412de8a02c76ba15069e473182f7446b8b5a6e92576b24693f4c436a0755f8f906ba821a020d422f6af1fa8e50bfbe7425ab798bc8f002a2847b462be13cae91a2972d397c580cae57d95a6d13997adfc03bbd6e52eb9d8a28b78c1a58bc9616c2b6f2f5ea58c537ca4c5fa0eeb85a9e33c4c0d467b71366043a810e856742cc9e1bd4427860346b09300fa28ecabb7029f27a87b87a0821d8bb3073fda5d706be643edd223e45385c4fa41f4b784f1cbbf22a4a63672b4ada6d613e7e2241a5ff41c9b9a2109cdfe278e544c3a57ae662f797be33b317c5c5cd84b7f83bc0446f407728c6a641e996c002c5fc25c583a702664c6b5130e98b8061b41697a5332041e4a95178ce18a4d2397fc8be404985d74d165f6bc2962674c2f45c4e2bfea330f09974e0a137a736fd01d9eb98d9476f9da2a47b9dd87e48674a33199efa4cad3972852e757a8291f28cfb01f5a5d06ad18d74c61f87c1950c5c85f7134503e8bcafe12c7a03fd5218c0af95cdb82a93c2ff2a8ee17f0cca8fc73af48703dcc360be7de85f169f3204f4e04c538fb512a927894fbf2ff04e6f5932f614447b9ace27ecfd8c06750d0a61b613209333593d75031b2e9b47119a53d96cdabc447d7f79f33a6f3a01d200923cce886c143c6eaaef2149c8792095d83f3bb1e12714933f85111f5f1c4af6bf15d0ea74549904a70083d7991ef470c2410ffe4292f748176184fa462b2a1f8bdae59bc4fa70d70901be0946dcdecd2ad4370aceb48963207f0354c78c85d2f0573378d9ac5b5381ed7b703bfb55ad28aeb383c0d69c99f4c73b44e20fc6d5b08101377c8c679c13f092e47f7ce8d07e9af7bb43860f25a9cb8ba874e23eae3bae1776e5bd38b239de2892470392d387a874b31d0d268f04b57447e972d30742f77396b0d368660ef69097041c9dbaa0e6811ce4ed4f01b76f2407a2d69243ef755b9d38613000c7eb8ce04724cc78164f79ff4593cd4d69eb760e09475fcd44fa37309adf4425ace9062c7aebe70db75b525ee00986987e868c3259049845ad95c447d740a1a799d29c90910e83b5e18008652d9f5a7a49d3e3a342e0e00b40ddb68bdcce078d91dc2a806d9db72d8177d5ccf06223b2ffcabdbfe281d04c7438f03e0e65cf7268f43d4065e81848422f4a04f2938ac5bc0b8d38dfda91f7a7b237fa0e89105de6fdd968bb52f4995e09f2dcea097dcce5b40d3068d445365294e1aaa6b64f8830b2dc16246fc95afc9f4c961e7ab5b8113340ba296ae68b7dd8fc2d145a8e33c8e00301837fd78fd0bd00b7b46717eb93c2d0b17b66641f00ebdc77d882f04c70a43f434af012b7149e056c158de0efcabc9a08e483c820993b753fdf6fa0d0396c1974cf4c0e320eb5d3fd65e34e23fa6afe4c08423f102c7e1437606c4c1b0a5cac45dd1b10bef211338d5fc6fdf0d32fa1dda439e4c91e2cff0050129f2185ed39149a396cda9c560dfcfb7284a28d8a04f908c28e743139c93bc1ecf03388d89e147178a68494d5543343ca5b7e03f48152157bb0400b2da659f78aa0a05e42d0f0a500dcfe141e2a6d83078faf33c0a515bfca0f1be54bc7fc64f92004784f6073837fea1d3b0b2b907fd6c441ffa03670002f427513ae9b6be825d3888189ffa50fb76812905f5282853c27236e4f517ad88c02a0b65d9b112d241750bf153199f3747377551d5599730bb107314ef83068a93ec601c73d47ccd3e412791c48417cc18f1def28dbe695511c77092ca3785a54148077b67ef8170bda9e07d007ddc42ef82375b9bc09c229d7c9c1dd507475dfc5d2c26b281dd20a8ccb74d492b2771520806ca481f7c3907991af723cfd9748287a6eb770c655a6a7b145d0812f576cdb4d3706fa97afcbb3fc66d14042b77c605daf76eb2374542317df4464e48b70477a37d6cb2d1dc33c419c89a7337cb20db9fcbc02c42aaf4188e563a2f6bcc8fbea45e06cb7830f3ddad27085eeb455e2c7537531733c103492d0f19f56a5f02ca45e5ef38496dfc199f9669354be8997f1d6edb1c233c326782e22f98fd8cedf43d7c151911c6c435e0d5ab41f8ca13785d2e44b41772f44cabab93ca17e924fea6ff8d2a68b6c610de588cbbf12d6ee2d06c2689adb0531a819fe5eb085e1ccc5c86d17d9f0a11b635c3d052bac362143f01f5728317aa31f535d25f5e7441d3e683e183d9c5cb4ab6fbac09c6c96c75eabbcfb0a4b4dab5f2854602388db2f80c1a9dedce973c315328e5481c1d672c2f84d0ae0e818615133172e8f0ef0052f66c08d462d0404820c01d2f4872c219e81704ebca38d0f2f2196c36f5c02f8a220754fa8c9f87b3108bc27065afda619f94a4a883522830e6e4c09c3f730efde97c29676acba47013be6643892dfa7e6e0a54068fc614fb73fa11a41ef460229174fc6ba6ad68179afe976376931dca83b063eb64002f201012a5c316744f92befe90dbf1aeca6c7af0f55d47dd63de5957a8cec273984f886410ffb7150f9151df83e4460abff56fd1a5f545f01b15513c9367ee1ac08e743eaf233428c2e09dbf53cad66bac9b09e06f460fc3d728afcc9aaefec3545c6e330cc31034310f2b8367464591611fec7942d798a942d66341eac89adef4e71fa4e3162f3eadc7dd7d50fd7528380ffb871e18bc5521bfcf1e8ac8b6ad670c7dbcc6f7045e06d04e5fe122d2a3ca755c1d312f1b1a794dc7eed10e8ccdbfae0af2a99908f76565fcb86e2bc9af54093de3e39025ff16f785261bb9df8e1710656bc2e59949f3173ba63d44c780f6afc0a4693de81d3c916b6e0c0638330795d24a6be5542c58e2be0634093fd0ef9b498a93fa4516b5bf203faa2ec9dbf2fbbc56ad51e84d0fa83664b6506c44e3cb446e07c60d1ccf5ac34201f711d7a309b1d76144d00af632f821600b5e3883f76771854113e8361cbbf78f0e95708f6b66da0eb4b398ab1e74065de325873333ec67de1d50e7f01487e4d1bb67b3b7981f68936887cd70ccc53b9f1dc1ff276c907d284fc63eedf5cdeaecfb85638b72097b58d5d1bf289a2358d42aa957ce46bf5f65c80f5bc5307c9867c2b75d214685b52b8e60d6554690a9d22fecb8a53476163f2998d0c1c076abb833212fee1caa55f59f66c2a41011ed3c0e98536e4fcabe2a2972e6de9de55d09d424be28e9967636af454795610d32cd706f6484a8b6620227e3ff1538e9c7a29e9733660bc894ac80fb7226a314ba1cfc24ae9c648f6df45b9398c4d9d221b0dd2899447ce00fbe70119ed15c0ec9ff8c99179df042b0ff1c5f5c63ab14f83e4f9963e64e50a562ebc0536d91d6aaac26180ee92e1743ceeadcb19a34804c7cec25cb5759a0348bb6b33c6bf007cfd286553ef8a27abf32e0c3b0e61ef0ee0c582176aaee921ba5f8e7569b8e15c6c3de6da957f5b40e109a4d6fc508d2d1dfb0f30c8b3882dda2e82a4693a9b413f9641d5708ec7ba499be4b37a11d63ec8a89cb678670bfa02eeb26984f77a34fd2b42621e73a584779540e144aefead78dc36611010039a046f15ff5c65db6d8b079e87c7a4035b817d0e89610e002ec7817321dd0b12876f0306dca15b773f0252eef718877f15b470b711f9ef4dd87c3b14c5da46516b2e2b24a133ccd831f3952d7c95034db6202a153fdd42a973d756b89b5fcc87ad16bd06562bafc0ecd8f776343814351bde01c954339187bd69708a162422fc9e55661b5804e56f1940b88f6bb0be3074731be955f2a97432360dbc47f7451c9c7d8cdb3403f2d087d298d2c320741d69c6074d962a61f6b4adf0a8573bca1e844cfd839ae5be04c3f1a9055b35ce23a86bd3b171fe2ea4b0d679dd00e1f48fec247d904da497f271f56062d497b162c46b2926f0342facf4cd83dfcfc531b713bd48ed4928b4ad02d1c29340c52a03b290f29b576e6ce02a34cd05574cfe9095f743965c9f7ad9fb3e0c95ffe52b84b7a074e151141bfc8e23ae3b8991bfdf227b652b8073743e12223423b006f7231ad6ba7f5d4f85a4e84488ce7c8e2d70d72531701cb64b34a591100f7326ba73aa807e39a17744f9d5a916467f91106946c4a2a26d4dfbb6919ae2772500dc4f503cbae62da27e8180eccb9f4b9bb012d2154149f5a4d5ef17986cf1e54520977245f879c2869faa55ec7e1c48c1745977c46f1d77d9bdb8235c6bae6cd7bccd3d5a8ed9464a9ddd7b3c38fec2b0ca2719d3419eadf5d1b4693b623463386ac1f2adb651a1f67d4b57e428c136df8a7cf731b9e6a8813d5e928ac5136192f63404a01ec523ce7e44f0c3d38cb4f018abadf780f644dfeafa7c95add41dd946c555fc58d543deacbc58b3d7576489fb045c92bf23a04cff48bcdb4f70fc768105b1829be9838bf280beb607f3163ae3a6c6e8ba3008651aa3581cb4c496cd0445061ff0d7b60f75583af857d49e579c82e77a9b0a5e43054627db70e042619a68ddc00ccee880c8e35901728d8bc17dba30fca057985fb2f37c1a15a67e552976fc6629c4f4d001047395aa955701f56a63168efe62d3b17cca2ba88f2c5ec6209ec678beab0a3a3146a7836e30f21366f47a8e0e0b3c4286237eb63aa9875f993ec852e9b679d5ffd2f1a10fa12a3c110c56fcc10fef3309a17ee104020f48d3ba59d0897a95273a345d2d00bd815372e6e111e399aee49cb647d26d6b48cb169cdceadd06b9e5332c6f3ab404e06cf935e433907e99f240ba3dba4a10921f52a54e6389a1fda589a38d146af6944c601f8316d4ef30eaf653b4d078b415829bf48eeb69b69de672b7c1a18078790eb82f5c3804eabec50a7ec91472648790e497bae5180173467e879608f32feb8f7f1703de0e2aeea9f030957971b7f8eed39616cb3a7bdfbd7f960799c38ad0a271aad43d93919dce01e4ef9726a8f9e0d78747520ce7be5a58bfcab0905d8096f4bf8c98fd5d12553c6f2ea18d705931c083291cfe96af9b0e716478973d71a2cb9654f5a990be79c49559bf75c74d0280ae2e3a66dbcf5afa578a84bd1515455f1429a68528a1be67df8e26d651ea648f43ef26bae3492ccaf621228e8742e1aae55a0db80ecd8dbee244fc010664d8a431681f0968cebb0025760d88384fe3c06ba32856c89ac57b5a30c116b93142e0e34831a5a75c929db15378c7a0457ac31442ef3854c1f76680ece74cfb5e1a979b370dc49378b1a40fb74efc94d16fd946585f51c5b305e4d07c29af3136e9a4d8efce4dedbc4e064e460472bc9e11be7a845047f6cc70026a093e848da5570dd624c7a8c2434b61da928579ecedd75b3437a204d3b10c56208332f0d90f9c894ca546a5b310b4f050ce74fff1d1f769b0b0f15b9068f1235f1f5ce9c9b157f80cf0ad8f9d7a27b5d1d370083ea9851f4f504ca83b3d2c395dabac1716507d5c4f500f72d4e241d010d4288861bdf7029f1600e176cf980425273066f5ce9a0c7b2c8c943320dc22bb7aaebd63178a5da1c49bdfe862a13b1c5378c4089c7b0919acdfd862f49d0039753e5acef03b0cdedb9178e241ae577ec768f875050ebd360b00479d727b2213459c4b57959dca037ab675118db528da9099020f942bd9799c0fa396689c33c8fdebdaa3b328a4c564d835fba9243676192dc01bb953e2438a3bbecdf1c8595f8138b0129d8332d8e03b1fa49e32b8ca87ca947825382f3ea443491ba121f3716116e81b9e3a1fe3607097a502fd8c1140741906b7dfb2b2721f6f3bfac6a8586339c9d072c117e6217e565af510b81c8934f9c3b13be4c54aad63adc8ccc131807f840eda3fb440df8185a5464d21eb7f8f419ed16ef135ad2e350f0461df6430c14777f65c1838eed3a8483a0b5fcf6d4545f5c4653eb4ed92081e429573e9bd08f8f14513a67a2e0163ae327ed28a3a6673eea00b7d6866489edb7cf1504c4494c9be8a78291badabfe00f4d6e0299ee1cbef7ff598349f6a9f9731aa691a1dfe314f3cfd8e11389c08528d37e05bea101059dd050b5712fad4af883b3041e36632123898db49ed731ceb5196bc79cca9a4ae72824b4c03ccb4a7b3529a3114a8c45ba265da8ac90cc06a359fd50a728d8b1a5fb8b9f63d10b7b8a1928c6621a1d67d3bc8ed5e2d02bf85aabb656700790db5995f871b07b4e34438f104935cdaf591d029a588389d080acf212682860199c06f7580f82000883ac9aa80f29553d16f0395408ecbc4fd215c9462003720ea477b724c0899575145047917eed47763525f9770ebc9ae5e5f6c0994ef5e756e401efd253cedfe170b8e8b6091c4ab6e7c3dd5e2922fe4c1ea0daef8e9a5015bdec88abfad21c6cd5fc080c153ecd9f92b978f56221ad56f8d56b399a5e92edf00a2c7669cb655d94cb9cf14c693ee41791d654997a180d43ce6ce7e7717cbd6213bf6b37ea90ee30fc0dffca9ee47a9120f061bfc999a22fcf2cb58f775e57d6708be77b1e28a1f0399faddbbc0f0a5734032e277dade5e478b6fcf0e95f8b6184134953e139f5708b7a3b8e1d0a39433bb3327525f89e0a7c3246a6a53a429ff3247e505a90a7793cfc6776cf0ba99604074a9c23bada8c9e537f868d061f8523c792bb6187f2ba2e63720e1e06e665cbe71bdb89744027e1347f9626777fa4c73c4efe3394db684c3e7f1f8dd862d12e823523ec85a6a78be5182813290afef7f4299da5653743ab1f7c556f41ce05de000680107c85fd937c2dd078f4fac91baab2030fb1a8eee1d9ef3616805ea25a5286ec444ee332abafd4eea8c4f5b137b1459723f34f8fabd765874b114e8937dd978020f287ca0953039060489af721fecad4e72d440e6735ae10f5463e61a422cbca94de5de6c40f7308498ee1f2a28dd6fc0a63e8117c14579b4faec12436f0273e414f64a5d76f8cd1f74157dd790249dbb4be07f6421f189125eb8a093871d202d8c076b06705a18532feaa0719b8599758422bc641a212b5781a06fefaa85d03a3c641e4f2653dbf8a9232752cad0246428693b5d24b75160c1eb9450f006da787c4605c207bb14fbdf42a4a54d3c093fb07095ee6048fa27f230bdefc9e847b0b678034b447e8111e927c1f0fd0278776e6a94f47e66e657b10f3418d528dde3b56dcf1d625cd1b31f13b209b8199de84b654eb129fa345e306dd4cc28bf53d9c51368c5bd0d1ee25da0b6c813608cdc3aaed87cab163d3d0694c3c3ca78ae2be2d27198a078611d757f4b82c5afd988fc1d29e6bc89acf4334f27eca650c3f72404b3c764a1ec34b562ad616ccb9f4d9932ffe4e8a1e3367489295209444b106e252f0d31d16910ccb48da151e7f25aa88f21393ce2ac8717e390f5c6c169b9be432967f324ea3e0521bcfa4f408a3d990892df02dab8d8f0ab63b813e1605d6c1d8317beddc58bf0c776adeac52556ef440682860d63f3533bb66501b6fb1f1c4e9163e536bc6adc57cc528122fb89e24dd9ee26f8810410f603ab60bc8a37ca2322e1ba930c829e8250e78d2c3cf98eb90feea1f2b530e70367f1a48b2bc971f966b604dc86c913779000d56bcd4afff390776bd1fbfd2cb41a1da4f3ceb3fc835909e6a32ec1c1490c8f3cd75a946cfaee8b9097121deab825a52f4613ab29c8de38230907da4987cd5bff6874821e426f4c008c7f8e2687ab39b065e6fe5961bcee30b6a8be69e58573982ae2633956682f7be243044ddd17d2802b56fa6aa703f14d943c3d06a144edc04998321f091d0362bff7076b39c21028bac97546d7ace2d04268a4e433297e7f0276494ba829f3aeb80d5ab6f7ee816fdc6cd299dbe71dc2735510547ec45ea8de41e7e44b71b4f870a7946fd9d2647b15171f99f7ee3b03fc2688f0fc80ae231f594287036f01d19ebc04ca23205b6897f29b974e10d0093a94ce605e2c09ed9d222d1e14e9835ec1abf83dc27d7fc490f56b7497dc180ca8eb4639f2ae240dff09038a062562c581033db787c4499f608ab44df434f81c820434001f808e95c3e9b711f2fc0eb7f81b45c5dcd1439533f27eba8a233ebaf50198165ec2341fb172fa11960e3585d3caede1eb6c76cac2fde24f242ecc20c5d746c8a17f0d293c6b98a53de5c7e2776bec780558cade06e7557749adf92c83ef8b08617c3cae017b0d12cddf3a08eed600507c849ba113a93afa8c54ced772517daccd2d9d0adafba10ff2be0df26e0bd2063ecd15a82d610ceebbc868a1e778f0d04cb68e8f8e762873e869e0504f765db831cd67b00a77d428a673456578460532efea6a61131731752b2d1f3e0742d6535142e54af23a3c1822d51b9852ec3d3fba3abcb749723f60b3e2617ef5e514f0fd2813022f5684693f0df3d83b6063ec1da060fe2d84893ffa42acc15433752a158c2da339f5784c64bf34b4f619cc76bdcf08dbbf9285e682ba495c8a134a2d63008b9715997921b1c31f17d5457328fd72cbaf37fdb7e8f61b0295b682cbd74fe332db54841a1e8089b23f4174d35ea66b6428090a7459b871435980f05d7a286c1646ac68195d32945f5c06f9ba9918bacb0a070fe36bf08b1063702db8413e052e834734fbb19d4099e0beb01c7403af1dfef8f6b67b5cc0e2a32894745d23044735ce21e1b1dc6a3cf044cc37e18c7dd58738ad8d3523bd0e27ea9cf5e5f4766a39c8c032e8f4a104b71d8406cbee6122400e04c04003edb4d87597087c4228928d77d3e5484e7d1f5925e91ddf385f036e12c795d1a0bf0c99f5d12030ed058fe6cf3079b74f4fd9fb5e897ada1d18fcafc8873f53e2e3b9ca3474e40ea8071c2d740cbb657b80141473dcf77e09520de59e3599ff0b02faa559403acac59a36a3c0ab3758d928df10f2e47d08e2705730641f21b6f2dbf40c381154cee74052e7854e6676584c809721eaf992b64c2e2b29fb6f56ab1eb8a3f639f876f967248b5d6142ad53faa0f1eb48e6a4b823859c0f6068451b8d19d0b6886cef6705aa8d7e95cab1011ee898279eb90691f5099b7a5df282913fc142c1ee7da2fb1366783a09278c0b0901fa37640a77eb0abf27fdcab28944b17b9e2bb6ede82ac50b9c603c722a3e4ef58b43bd0704bbf2141000bb0cf9c641d4493e973fdcbd16bbbb89d07d211353d9f0b3b1a49acc6fee1b6595cc81ae4e7e8e81dc5ce383e473e83a6ede25b90fb253b1079c31f93152dbfd0518e0b174656a2fa343773ad4d1199690fc6305c52d030dce67313d75e1035427d391f184b3437c10348253a832f29621841021218410420821c410c32ce60122210481300824318e466ba62d6bf2630e848610441099404424181109929582a4281d6e835a5d097e59b567bf9ac8d9b8d754d848ca145856b295a0908366c932023c8e2c8d384d32de127a74ddad0bfe21c4fe07d969e2db114e5bcdea4728f625978135e2e63566a145090dc82be1ffe554d9a85d8b43abb507a54c49fb09c9714bf4d81ed68c972b5b31940f984648e3fca4a1bb33948c66e1cd91cf89aa053ab1385e0e70a37fb51180d95232a852ecfc86b8e15474ce19735e04a29bad63fded4471f5198dad0adc4d1f1af1b12007d45ddb1ae04672d0983c9f571ed68641416b38138168b8fcbe9535db036d7814b1faa9dba90015cc32f5cbef7d4d6404fc0b691e07e17eb5dd9e61e6fe3c091fb3586951f632225d6e06d841077f1ebb89696c326a6f5ca47c492fa12544f28b98be3cade0bd09fee62dd2d4af5863b74886e5368707edfeb52e52d913fcbe9422dd337adb24d5fe3380672381e1f56072fc1dbf72ed33bdd53f8ed8a1455e74ae5b61343d7d110d6888ed75cf15d5baaa7bf04daea737f9365ecdf0f7ed9bb728b1770a23fa851c7f234337d686afbd4651074870d8be124f3d47ab7c1ee420e0da7feb9805138704ce4f67f26572e81fe5b87ab843f1c572dc4bc0f0ff7ba9ae1a41ecbaff8c22b4777ea115072519036993d5c7cc4358d434b4e23e618493a718b5777f6368898a1f7ac33ef651b7ef13fcf7167d9cddab39e9c1de01f18d83fee63e08f0c31cd41b58a49685a717de9678f389fa38a5dcfd6936ccd1ce7891ca5ccf78e20064deea8debdcde54c6f695048baeb147d903cdc880ba3f6ccc4cc71969d1db6b8af631bb0dcf437a6f2e551b686abe2a44ffe815552c1e388cefb07045556398fc9baed39a206bb8d08920d062f93e07d4f07d34ad168e8fb7d2757c48493cac89b65dd1b91cd817eb99016b7f9a887fccf965d4531da26660aa0e36d8259da337b100fc7d945565a9217c9237b8c7513fea333857347c4fc37765a06727ab9429c07186212295f0a3ed9ea734c1d0e7f4a79ca1e53206dac98f9ef5f380f58990619664b36d6ccc4dcfefa2bc4e58962fcccf72a0f81137fe6d33de7cd230ffd2be1392f00699ef1632c626735df577bedb8bc4e369e6cb2fec5f1c0ebe9e4aed3c9c0d0e09fc4f39cd4f454e3d0b22e23e48bc754b7e2a62ff818889431b1f2000f61d337a5bc39ccf6838568a755b59c6267df4b303fb01a2447be5b11dbbaef1f7810b0b05fc9d564127449e77d011d7f1eccd7f3cba1e48d052aab6ba1ad8f69d43de9ff2f5ea7518af4001d38a7d8fc0c828142e66ed12011eda7646d7ad0b7e80e3f643bbfaa38a6e5b9d70eb1a81766c313d434ea8878fd628cc8d6cb4e71ab42971f874d6958f5694aa1b6438e01aafd54caf469d5969d00bc0791f5c0529c98c9147237fe2a028a11350c69e7478bb84ced1ec40c2c3678cea1a2f95fc1e5196486af4be353a48a19131d14ac32507f41c13185bfbaf7bbc2a3e73ba6653750f70669220361e08226ab577948d9e6b11b826cc65d8265816d191c4cd7c2d022c898b4daa427c34d9255681523be4db5ce015ec20f12ba5bcac250ed4d79d3bde69bcf95c8441965e91c075fbe572a508aa94c1521dd5b2d80c27d94f99a2b5dece0f47af8b53a9986b6709faf88ba6ad8351b31b9e731d4b19387e234f1069afb1f7d09b200a402f3df2e3bac85bf3aa6f247fe2ee7e8a27c986cf1c38911d026b67bbaef567c152d4423a36538d58a64f335750894782f50015b1bf0239e673cd6536a205abd130d93bc757800611f121221da17ca75fe4037046ecb1237324506583e7ddc16066e5d59b55dabe95edec686c808b2564f93c4cda7757c839173a63871f21c7da6605b4a9b6d410d9c6702188dbb24ca6fd6d026616d1d5568ab49f766b96e5dd47fa8a73206f11fe0f8ae5d895145b388ae4f355fb91b55a91ee035271c51ba49e8143614337993dae5b008fca373762a8f5a2bcb15505b433915f792f13b5486f8dcb6a226a32f032f7f90a66cd460eba4d0084896b9d2f6dd23405129a0522d6ab9083260660cff1867b69743dc9b1bd00abf0ac4f6386b2e18844f88bbff9387db63a822644ca9b76f95b53baf537d3eac991d2ae4dee6f66f41788782705f7f7889cbff113bca5b58dfb427e13b1b4a06362e925e5e0cbf70bb59657e42ced91fea9b32a7dd9338db54dbf5afb2c13f48b95d85c8e3483adaaf5b40fa8c68df43600a69b6d3d00b71ba93af0da078f425faffe7ad97507a9fd82b5205f22660ffe31d433cd6fd78b603ce2c26eff4294784e75a8522b7db26eb072f2c6249435aa770a5d005c005e0023366f61630a6feebf7f6d556fdd1ed640a4f79c381554e7c54a7d0764d59a48ff9e017b474da873b02662ab454302acc227f9e0e8785f5b52463c2d3206efea0a6a0147a3ae4e06de376a288bcfa973d26e3b277ad9e8fd514ee5db074d67d489fcaeb91e32200bf6da249bea2080316cb9ac592fbb51b466ef391853e0fdf773c43bc8d383475b2eba566a10ef99c5f5327b79d7ee3fa2ac9402fce52d3f822ded4b5714fd3dbec432297d70f7d93afca3c3bb87aebb4401144709d9ac170d5e2fdafb9b88bbf90723127641df8cdffec51b4d8279b152c371f037fffb054579433fc31f91bfd83c7d2f6f5571b3abdab30bab70b867cdcfa1834747863433a0e800288e57665dc40b771a622668688410a30081f50632b30e22b8d80425bf35ecb38ea7a8b9f6853fe2939f41275d132b1afdff6934598da44ef278f7718a492c23edd88c4c4c6baa1b83f80b4ebf8ef5b5ef5fff0e97a6eacee36a02cda60b20e086e7b86c384eebe5cc69e23461ce338254a8525c55690a1b6bd23106c248942339e6a480b8d70d526218e7318494416444442211894f242a6852f068a5e0de6fde20026876d1cc6cab4dcc805dd55c0b4676dd083d16e502ae90e1d2f4b76fa6e723b2425fc3b12fbf679a5a437b4524c2daa7ba31fe47cc9a26c5c59ca41474f0c38f372a00b268bf9874d34151cbf002f1dd86c8f7788dfc0bfabb7623d4d64caac0ad18e88d4fc2c11bddb8ee42946c07c244cc072ccd756b0698da16723118610e0c3b23833c51327b3608271d24fa24ac331ca8b1a7810c98c67fd9dd4a376dc7d7b9005b9af8d62bc6e6997bb2b4f46d6f300f9ebbaa459c6f6bddd8aed687ac2310893b1c2d5649b7979ba4ab7abfae1212e4ef670f42279ebd8adbd6e36f289431aabce89dc4c98812944e4d1c559b43292628e067565ea3b938cbc48b8e2332f1f7248bab59befe504363ea53aee8984d0b7ab1cd23279f2f3bc2b4924b460f31b351b032ff39f76c9eea42c541d4605cc942000618e2d079e4049995d07a9a332cf3d2b2f42b8018bfc75f4164054c23c9760578cfcb569bf5ba38743d32ab33b6b0fd0298914a092981b5450cf49ea980b4b14be9793dbeb5a775e4eb1a23f9a85d853725dcd45c0835936c1e4c4bb0b5a2ad7f10122232334101107332948450e5e8da1815b142dc9aa5daedb6da15a1f1b8fa58ddaa25876afe3faa26d131085bbcd8e5a66eddfd42456362e930e4f5282180d9f87e9deb528f436991aeaf24a316c551cba1cb7a0bb9b789b8f15b9711bccda01d5522b61d4103b3c7d683f6db9eb119ba675e4c7811f79f0960aa58b80c2fb3311bd9ed5d2a264dd246b60c04f429ff9c021a85f088d79ecebb0a270db75db9e38271d7e53c7d5074f8ef15ea5986990d8d1d801be033718ace227d38d3711de0a6575f482adddaf6070a8c0b94577b89ba2c6bb2a746f7cc7f8d33f2ad2d08065429a289fcee0a984f83095960d6b8b33a39cfcb44fe1194b9c2d5cbfc20a03a545301ccde205ac52c36e7faaf0ffc63d2acd2e3ee0e8556f793834e75133793e4d47d9213b881ef3c9135352a153849dbb84ae84ab7a6256bb8695a3ddde490089f8458f844e38a17fefb10dd86c278f4fabc5be0423346233ad0060ac2cabe2f35cb1e407b506c0f3e2b9c7f9f722a52dc5561570900a0ab9c21367d37aefdcd8648d14f1842cb116002759e9b6e52d8fe04772574a4616708ab0d0fc57ded002e50f3568bb1982ddf338e3843f30e679216a176f53759378ecd1b29fb936a14994b26668217cfbcd081c9cf54b3b13b52e5e870dbd0870184bc188949a1b9885473b642f31e5b2468a22a9063e4c0fcb1ce8c3aa0998c9804c59ac1a03b91285b432d07877bcbd53c1b850857cf5de75e2d68ca15313909fe2ac71e6bba8377be1429937f22a1079530936472b9ece20de39bd3a1e417ffb2d779a923cf0ba64f391615c77bf73815bf84e82fc0e06b405bdbf98fe2edb1bfbd9b64c398c8b01c31bb361a7ca1299d711323bddf63931f9548c338eb5a768aa9babc3f39b30c7a401b74380333ad4b1b1e1b85d137ebf80d5c875f8d4b0d333f61bca9bd8e2cc550cc3e9ec8e22d993147b3e3e101d13fc7fbb6446fae5b1c017f9c79688ac520ccae3a0a23643fbac6deff9e6adbc058838b689e841ed1f4bcd4db0451215a6f9b76631d0d6547e7be1d553909fc6074c0b758f97d664f529330f1f8c9aedef21329b145d8eb1753717f821e97c203696a7bf9f3f6fa1a361132f7b64f2c01a1ca42acd8cf8ece1d3ed76544cdd7f79900837a31d6918473a90cc70f4cb83d4904fa4e423d0ade6ee9872ed9b6f6762e1ba04835dc4333a4680016fcec2760f8068ca0cdbf437c0b2de08afac9d2edb736e2f80ccc13ef2cbbcd953ba5c49e665413bc530ae100e200e30079dbc9cd0bd17e742a9a01c895799276753d978c4c182320c38d7cb5891554be52f50833d323b364037789b10182b1c9c8c955525747473a326c290dc1250aaf7ccd4355d38ef9a551cca5ca2e265427e437badd00ec63989f649530d9944fe0eea5f7cb5488d418efb2fff04469d6440138ed50c540b53c71b26f7ade59ec177e37f7ea3f8d3efb3dbf9bd57f1a7df67b7edfd57f1a7df67b7e376721f1600c590839c59b724f9b425ce257eb377ba67d33e5e38eb1b17299418a8a7259bbdd33709e9fdfaf96644d12d47458b1bc2c8eb8a218cae16daa77c1dc4a4e5e2ab3033b90383e1fc3b126cb65e2e97dff03f4261874853581b203ad717ccc9d1b29b57d7489989ac15ffe2500d8cf2f3919acd700fda08b91bcad737258cb806e64f46efb662b2b29a5a0b60f7c2bfece71afa3907264806c7e72a8e05332ef371b9e1303139ff289e9d1425a2b69c9c46190da332ef119f694cf948f0e0541c8a999d7c6ff0b77a568a1d3bb5c8a446a7f766757b7e17af97bd6ad21979def4973e3240bad01aba602a25aa06a7567166cf9ff29d54af405839c9c05b6a715b1f4c666b41f56cb95ab985747639db47bbfa6c7e297bb2a9f53e362e3da8702714ebe1a0863d53ca1df51ac875733ce540b5eea96fed9ee2ee411edab9d7e2cda0d097ad98deb28cfce54004375ea5c33df0639a3fbf5a5204518758f333781f0b7586cca517de83e2c02c11f723116e70bffe80bf12c85289cd718553f33c099c01e94f2e6bee24dac64f36d4bedff8678bac51bf73e9debf6f079954ec39208b52118b49dd06855c7f2983f3340c836a865d46e23a543d70c4fcc67cd985d8f3595dd97536b29a37b43c8b143cfeb898f100a04d284ccbbdbd8d1a3aa63d820100d2fcfcfec5ed3f1818b105bbfceb1c4193937fb7c9340c9a910424e36c3304a0f95b5f4ec7d0f8e1da117048d769e7d5ab8719fc544a3fd5d467640c6ec1e6b17c0ba381eab4951ee14c7bfba519adf3b4fc5c69a89a4be4fd93b79ee159b1c7f3fbd0c919311093475b9c371daae368375fb0a60dd7fad94421d4a37fcf3b6538f266cd0138b12534dcce004eb39e5a481bbb0e82764a1447b6a1984c3e3f99178d764734dc570cbfb6c41f2e7428d3b903fa788433d0601d9a35366b3ee9f2012ef77fca9735b78f584df90398df0e1ab28a2465be47d13143d47e5ba2941f76b0118f628f95c4772f29e8d708e0b4f9bfbd3b19f1ecef8f5334fb3557d09d0ee38d70684a8a8a306679b0ec3d41838160ac6054a182852837177b3c45968488a41208431cc18840851c40824944044229150443e4311022f3c624ff1ad262e58941dff3f64c82260fad9e49b6242f17b21b2c67d32549303654f5431f54578c836bf453d5bd420d128f804a614322e40f4ed516c22c26251703facc0dd61750b8fbf3d426e2fc2177fd00e9290d85d53a8324b997a9528ac672244b5c4f7e9de2ee2cd1d9e60bed6197ebce4cbb2273292cf8bd80e2222ba3aa94f843efddb1f034ff48698dcbe82afccee26d05a35142884aeed296f58f791c5d408187b4a8534f5e02c96f37e4a46b07f106e0f531d4df46e563ffed6f273c4c50a59ac3b3eea4eaf146132b9ece644a537c73305eb7d5d00d87ea63b7e957518e0e4f5e0edfb83016cb68963f97dde450804bfaa370c56766b91133c50079746810bffa00dd4ef20664bd784f7bdca6f982277186ffc0042b7118b45eda13eb161f10c8e63d1c29c9b281e3de4e322a0eae2727fbc852f8a3a536a396153f05202a69b651c747bf7f26cf7de1517060f9d4f96c28ec65bc43203c01da2df92953de4f1a5e9f81e00c9d6aa9469bc7a78b645fd302cafaebf57ec0faa8702ed08f18355c6b8bd71ccf3862baf99659176c2e18546eb927f5d6e0c051e5be73ec1208765808379749d351c6211f89dc01b9e2777601232bc91d347b24194f424276f3686c2fcd811bdb1dd810f83f046070f9915cc8b4e72b71b4e1000e43c5f7f4d35daac7330ecaf3cf04608dfe7c550fcf3bbbf493c72ef9f6b084b2ff3827a128f33e941f30872b365f36ded82f08fca1dce1d44e99ed8619014522544d7c1c033a2c83fcacace806d81fdb209179a04d6ffdee198fe79b78fbcb2c6c85992297309f24401b1b3be77a3abb3041e58711c9c62f70d1beca13b94033fc14b9a85a6231726610613e76ac7cf1dd21663cfac4e6bea22b1ecee46f9a68339212c37029c3a4b3356b37f372393cd5fee878512b62c3bd78ba3fcef8a980ddd8d4e1f3f16727aa8308729b915bbf248663719f5c7f1e6b85b430e601c776590c76374264b2eef3e1345901df9d2ea9fb532fdc73b99a9b470ae19c43d411ba81fdb21c519ce46e55e41e731fcb0ddee6d0a48086cb77e2d065ab256d025b4e3a2bcb3c9ac48f9e0e45b5b807791e71faee732f6b7e1b83e956b6106c28f916e93af5cbdf14354bd592cf464fcff9ae1b49e3b48bff60b5be82c12fbb7e611a410d9b337c39c967191ebb5d6705de3ded1b2ebfd81078db120d52d303e0ca904cdb92cf8b4e3c5ead349c83184fda0da2d063e1c09f75acf495b5a6dd98299e95e9671101eb52635b8da030a7ad45fbe0067a969d0ba3dc16ab4d221be4ba9718cc78c8d735aef9c34b3f60c5df1fba4d30bf861f8e7764f9c6bd832af003e86c5719d93ae4c18cebef9ca8a13596f5fecb9f3d81a4626ebff3a27644b85e39e86a846eca1bab95fd42ced9709f8d4ec4c1a96bee273d4a10f2a37cf0ecfec7d6b31f819743d578413230100065edfdf3056e37f602f79957e722e98c18785f6cc7f39c85f02e3a906d1074eecc8a583c27a84cb4966b28047a32adeb77bc6e35da786cde471d8a642f2cf0f9f5baec718002a644ceed83e046a65a4f566ff3e34b5ee68739e97f4b2f16f3bede946596ada1dfe508d36019d49da17952b4bc69d33e60dac8a407babc8f2af78f472815955dc48e67879e243413312439bcfddc451b4378b36434842cc42b17cba7d64c975184acb1137dcfbf5a64ed0b0eebd33338be23f6ed377e9f994a0ae2517b815844b841612be8abbd888683e1363c31cea84230f57de883b57de525d492c0e6509e55584f66253400819addc9f0711d847b569c6ec46acebeeb67b081de86508e6085bc35e2d6edf764560481b430b2f055961c341613754acffeb82810786397e2576f8d4ee3389fa1acea8260eb8bea2c944cde08573666ec979231a4aa8a19b8f43180a8592991f504126642bb59294d28949fbf50f7f234c788732e356a09ade01744dc27d8b0f9ab9cacda5edba18e64ab34537bad9f8da74a14e0c8fb0e8d64853a28ed2c3eda1f20f9b9966fce7158de216227ed787df2ce905735f4b8f12891b40715f860e15798e0bc1782b9b242ad08fdfaa9dba0d9b6407df597bf559101c34c28b614317dc31fbd8e7b075f5d6aec69fd00b7d3b7f38f74f5f78aeae9b1ccd38d3cc8b70da666cd4b20d759aea73e9bba81d6d99e1f451e53478337f657d1378495c05782e79a3fa356572ea7bbc23ca115abfbbd2420cd4b3ee65a4d98dee37804597e7463e29d43c1f30e381e4b276a25dec5fb1c640f978e640a1896e09585e959ba44b5293d69b819329096b96f3577c56b326738ccd6b7b5140bd3b2b3de984687e9b23eeb0fb9ac10af1b60edf0afc44996c5e8a3a6bcdaebc039fbd85fd347392847ba5376a602f244d036ba09de801d309ff42317bd03ebb5610bcf2f14973d366225221b3bfa1805dd8695dc4086ad5ae4b8567765451a3d7181973bb155a051e080315870e7543fa5eb0029a562e90c57fc6d4662ba9cea29aa6d65caf5c3c4b0740619545f3ac89918bd5c42e045f534e491f127f9e1f96ec4d431735fad23bc077c7848710a5434d7c0213459dac180a7138a708b8532d2844577d39d102aa3c9ec8c47d26f51e4a99cd8d686b3cc810f822d1e351f33de77d81669f7f21c5b4da060122968d4e8d55cc61d11349b2b4ab0badb66f9ee50423b7a43035d83f13a1be736117d80828a3a73ca37a98c068aa13f2750e346ab4a0f2068ee405101370991acc174723a2beafd9dfe97b40456d8ec2da0d56525bd6399c908809a70d23a4b678f91b8672f9f3ba4a69423a0764fae42bc0214f6f88c38060580b82453b696fabf5f18e630b8014a5e6703ec0249d4a10a324c59cc080a55192a31a6b0b7f4eeb546ec7dbc28df7c8c9d913e10cf1f1e154b586b241eb4c7c40ec36cb850d92418db3c90df11f88f1aa6571608785de2108d80845d64ac76bab258c8753e8daeb165484edc4f9402b0926549734915f5dd6907f67f0b281f27620b319a0dedac98ae86bca7168a8914ac6b7021d02cd86251710ad964e0f8c545781f2f8a0a2e0e246ba61eabf7e9313aab78aeb69bf39809443adf5a97b4bd84621fec5b01495279d79845b387a99427ed1dbd302c2026a2c1f13a7b3bd442f8f77bae039b6614ed80cc6683156f91e1ee156d9c30960ab57e48d6008a9d4a11a7024be8bbaa0de68786a91900f870b1b5034d5d996c96b238bb9ece5e28292bc3555d51af4a3adffeebd5882454f9f705a5424661db6c1427f64a280093dcabf5012bf4f2128f61e35259c5b11f44202cacd502f4d201a5a37d39884cd0c802822315b34873d14c4b1c5ff2cb1c05c1763b44598c42928b6fbb6d53b5835fb7be3649eae1b57f6890cd77558019a723334712ac7c96c0ee144dc0529773742e60f19ed02dc02d2029c9ef2a5f73dd8bd8f4eef1de7ad5338e33d79037531f77e1dfa983725f4f251c498fe69165acfb3d2aed79a683ba1a949c40de40c435686f815b3d84144036568c225846e10829daebcd51179dbe4df88277952d69c39b772fe1e8d85f011dad0d342105eed36d68f72be8c0ea9ce00e172f4402491e9b32913eb771dff5464ec7461bcf203b0b7ad4c5adbdeb7495dc6a40f34808899e0b8eae106140f63a4dfaeebf60b799f456de5e7ec9a7b9a7aa786ba6367574e47f9fd8bcfefb9ce114427404da3eac303902c8a379cec307ba180b2227b22551f3139e21b9e12e8e13a8f39d771675dc5f6bef2f648f2d8abebf6fedd7b2ba9e7b4f73c3e3aea61700c71e03fa4806126f94ceff9b08717fce458d3c18858e60add72e6bfbd6f32e9da5ffda6e74beed4f596b7fcf62ea93e39c06c7018a27bde7aafe441cf653cc8435a3df9d5edceacfdf256a9db4c2a87d1fbe9b2b89bb7b87b6dd651b7d531c53cb6eb86760618245e704c187af2b9d2069c1b0e962f4eaa0d075faae096d69b345ea63c90e343002a12920d8f14a80401e0e4a55634a3daec94d1c9890903a60629deaf051d7288a940c41977d406327b75aff5af078075063234d0c085d8fc80315a4c8df1c0b1e981a981559f2e586ee41b6cf099218776de7ff6bf78c12197904ac824e40d8984b4216b48a0d3be77bc1dddbc7d7714fc9bee6a98da9f061e93f97433e119bae0ecf064b0b17972d26c31a8f64d0906dab621d16f17971d9a1a4ba5a4ba9a6e3e9dd1df961f344ea3b1f4eb7a4cfa869a9952cc594bb0f8873453483b753fe64deda99a5813836bd0e80095aab0d9ea765710932d090d0063a43a33bed868b8325c6674c9190317664bbb8452172d56c870ddf49ce8d261d252fb58362c454c5ea0e5a0b0b4b5c3e5429ba325c008302a3a13b830a56f4a12585982d36a81e7d792a4591260de6ecb9bea9325802e59969170ad38434294e0ad1b3d16766624dd702b64e5d82cb5379c471658c6b0d15901092989df5ef0c18607088d186c001d156c9402452e6d04c6240254586c1d12b1aea03ebfb7e525f734ffe7a897fddc7aa2b79934733e3ac2fa31cccc1153bfa4bd2b3fa03f70cee3a04171ece882d03885c12b7e53613780319ca6f8655cf743fff0dd902746efeb3f1ccbe714111566c3795be1ba3d54186cc6b485b183e32fc709f963b94bbf6b05da4c427d2481807dda75a8b01e2e5c61cad708faf7f0c88f8e72be58381593a18745632817c5b04aff37cf29f4eddbd9e4ca6118013f6ad4ce1431063f586673a9f7402a8c87d5222a73ba310cf5f5aceae13c95cbc550d79d8dbc05fea5ec7e394ab6655ed000d9659164f985a2dfa9fff3f5ec20135292925ceea664860a5d1ff095a15536a42a9a0da603cb592e953858003fc511706095a6c270624547181db8a1b1c397b7abbf69ef778411c30080efb96d99c2355c88ccd116134985d9208b3a4f604ac052ca608ad3d473907dda7c5e9dfdd7b67978142523e8f882da4a7d0f07ec318e8c65beb469eb9e583c0431a49e4e2fd742d6184118c23d8c205912c62758f55347c37e7f7d0443d5f9e8a198357fa13495862beda7931eeaa20b72b2c66634a37629b3ade7036acea970505e27e7fad479b10395e2623dd1afefdbc50a4546769b4243f624522e76ee0f732dff945db91a581d7e1179f12d69d9de0b21ed2d9c5025486ba80cca817daa45dc34464da2b33dc90297ec6cafbbbdf2a08cc7b4a5b635a45a7f11395e4d5b1f5a824b2c9cd40efceaff19c7ae70ea2c6dc757dcb82ebbbaae1b3331b93ad7756f4a77d6734745abf6b8282d50233a05fff6fd0412a34842149234b4d84c120951c0c72f7e9e304a412e41014408a256abfa3c1123c558ca01be9d586f6a5475ad21d9d586e49c73ce79bb72ce7ee5ca8d4d9aa075a99de4eb8a2c7133cc02b4d100359d1152a0c42ebea2c70f44a624e194c6e80b15f44ccc6803708999a21c15541b14dd48f030d12382e2304326302e19c1c32b8cdaffa7739eb32b6f6d6b8ff2d6b3554c5a965d792b9d43e0c8d0ea6fde795a31df8b3321b3e78bbb9c984a9454584c44fc41b6fc1bfb1cccae44e2ceede44509921610f8b764e88671793fb666ddfb214d855377543d301ab52f8d4459643b97866fc2defa7c05086dbd2b821f4c31a3fee7bfd10e416970c8c8c31a02edf728a560471990ca2802a0d89573766d89d2ba6d7fcbfe2fcbd1b875120489daa1d6570cb5c742e1f02e0297bc40764ebc1c0091782fcbb6777e23be03e6c05b8af38f261efc0927ca992b7fd26af40c208858f0f371a2ee67e9ccd4452e86c5d78998bdf35c91102149aa3c71388ce6707b305beb5f5122f0a4531b40109bec58a933ba27def3d6fbb9ffa8ad6c6aa2070e31d429460566b655e4c188f0746fab1dc1415f9365f6cb68673dbdeb2f800a73a18c6a0690c20611430784ac601c3e2aac2900e116d80a488ae9c63bc6e72469384487af4c6f953797f1fa6fbde732291997cdd2dff6d6ffe69ccb01fc410895df6cded61040c5102e6215aec6b1ab9520e9b884eb3c96b70a79162722fa7ee5fdc9f259c9bce6a4cfa9fdfc3d594b228ea2243b67f8bf32fd2a19e930d567fb9e12929219936c4334b72762d55c6cd66f6d99b79daec389615114e908a618b5a9301b5fd979edbdbc26f61a5ec407e0a41c2aac265414e3048556e44985d16646246776ad929fb23fc289dcea79ffdfbfd3caaa4e4a9f5f5713e35d2ef7a35fda4e22d7b32fb5b7b01f1e2cf519ff5983eb32b293e8644062bb8607191d25d03e64ddc6da76870e16e44a8f5d292b21ef7d8f6e765f7a4cd8dbf18caefbdd4f37cf1e96c15f8812cca8a74b4f0ac722101ba126885362a622224c4c5151dbd6f78c9cac4ffebad531adbc5702fbf1445443444bef0022dee9a73d0f7d51789a18d79bd6d0ca7b82f3b000e348a4c4e75fbbf7b0106f94febff746afe3023215264463b54d6791280ba72c3c278fa0ee9bbe4e479d7fe6b3273cb3d2240f1007bd5e48ad1d710eeeb2dc679af57efd519b5d799fdd2a40c0580d5508bb59074f583b5996ab3c1cf447e639831ea6d96c7b428474de5718ac6a15af2055e02abc079bbc6a2a4c2b1e3c840aef739034465dec7a81eef6a35f80134b2d80c016bb6e103c34abc0e718436dcaadf3a44ca6833240931f4eca10520c0512f0fe7ba27371c29a6095a08cca33d2ed28736eee5800282482a2a52b8a1a44e1fdc678dae2830a94658f6559468c78d688cfb7f66f7dcdfb686f65ff3ea91193e009c2a592243ba15129219c5235238640a74c92070f4419b9d871041ca598e4c02a34228a8206e062182a3f6a3fb1c96b3c279cbd2c912b8170a2b273dff6a8ace859e22ae42bf7af9495f5effdbf5b2f7b2ba5ed32c5aed5539e5a19509b6c4a16a0752def6b577670add3e248ca215b3f08aac06a94045842931970b59bf01e6b8a70d891c1915d99701f47513e015ccf0583c220b04504a621d083e38bcb87169167e95be2b49b96d0330507c7535a96ed6e39ff8dac1afef7e39415cbb146f5f19a12dbba08d68e9231b14b747f0230155d96b7774fe5e97064a529c57d3456dd39b34937b6aff2a8297af0848c16c728f21af6ce7676953e9ddefbdc873ea1b2a701bd96496b5bf60140543f5a824bf708dae32cc63ca92e7d06527c0239c74475cc28afe879e473e608a529826a859a368e5d8606307db45df4304f3ff71e917bd04fd2533b8f0606b005239bcb1d6985b6013dec5fb36bd5119e8f0b6c27ee7534d6d0ba1194e59599cedbe714cb49c78e5cd150f2aa2106c625022b06ac6a4624ea2df9d8df9747d4f166bf6dd9771cb267ea7a19d0bf1a4bb4004717945354a5fd65f73f3a5ae979a7bc0d99a0aa20c9a4f61a8b867a0fcdbaa26f34b1b03a996dbe17d51e58dcc2d5c2abc83d6415b095289e93097f5e1e42f4fe337fbb16d00309262a81a251154e6757ef9337d127612944cc1f24921b28157684dbed0b75ba1fea8d0edf1ffdba4cb04e26fe5b69a91a89017d15e1ea6cef1cee45f88f2f1c17bdf3b6473a61f9bebce76dd7ec69f96d1c632a8be6352e8db80e8c428355bcc293019b41a864d45abb0d001d53610018128d49a552b158ba6a22af0134a8e6a22729f271900a0851c820090002033000000000004188013b261745c66ab5c241193dd1a7fcdbd22aac06045c076cf8d6d95df2df56c7caccfa419dca167c1ba6ea0ce5db6ba88a641a478ede7aeef9740a3837bd8c694b900ea5430aa15d59771a39b07e70da78e66968dd8f250ba1602b8a41e5e3c1cfad4530201ae3ece364c501ce8ec59cd9b1161547c49f728251343d2923993b0188264cbaedf37022b06b11e2dd78c7619502337a9ca8ea793083b15f16e0e51b59156f511cf3ccd0a7e6d060d715d381cdc781018e22b10eae9164c2a867cce0deaefd82fe9c209c045843e756249af3e386a5b01b369d9412485965ecc6a5d004b5da666906dc16137fbeaa808d446c58d40ad0bbc4eabff925e8c600bd851540994203dfb64b8b3edb2297d369ad616221897b76fdb8fd51fd9048b0abbf1693d60da4884f266a203ee34e966d103b32fb1233999afbab0b6c39b4f9c022f5c9bf2f180c379e57146a7472f9ffcdd60de5413dc80323de812d68331c3df0ac72ebc1ac778ee120368625826466e0f27b8606ffa0e9dda5bd8c44856a6a913eeee0712f423f5c04f0cbe154b8c2901e9e065d8c34c569bffc1784547fc8f1e4a89f806f94e6642371be78ee3e6cca3a30fa9cfa7ad96a92f237805093ae465e3fd93d5e5e3487afd0f1326e55777c39d955fdc81619606750694e9f5373a9c047bf30790636578727b687678cf6b2d3ed166dcdaf6675290d8c473db35cbe6ce8cb374de231cd93ca33761a8819827a394ee6c3b11e24d1048a00f7b7676ac654e4d02fd69d0f4d6e2e8d39018a653ca63ea21a03781838f0f66eacf3facc9f8e52fc723a5c048c00d9de01d0dfb8f9a4daf3242939ee1e7da2069b58165bf5282f76253e26899139110f4cf2393f822db9131890a12d93602e060d4e4f50d9fdec68650758cedc2d2cb0e12151d19dbf518a3bfe5726a0ffdbc82f8697a71cbcf081c4f3773998c6a9c6629a6ce9027319193060d3db640f0999a3563815a9a108771321d91b2590a283594ff06b880364c8f02d610786fe7986304ffd2db925ed3b3b37f63c8f97b8c457bed29cab376460c15e967c38b79b9708dd54eb7cbcda49aa80a3f67784968d5b5006b20a798fc0658b25b5f97e2b8c9f6af7d46ccd910233f22285482314b0c7a97bb8307821fbc6bc59a6ac8833b8336c23352be7354464247bbdbb1f557eb7889baa965cbe50887914f074256482a3ae1ef5159848354d768289047c82cf0ecf75ba8e039e8901dc31d85212b29d041a1b5736ad2f50984c8e4407e3294a439c3e95d89d35b600b49e6675d3c8b0f4d8741b88a6924b255816368977f72affc3ef015815bdf79881fe67b6ce85538f615cafd5ae10c843174e32ccfeca9da51e30c7f447dd3d1828955cec014a62505a76d3e13fba769777c91887bd54c154629f94c6d7ee1d23c5c1ca91e94ba354e57eb2057856328375f0afc9d6697ea091bda7916b0ecf238f17d75f19353437a2082a1cf3a34f19701c8717d381d0c756005bcc79c0c107bbd942affdb7513d028034e67858b1bac330ccc447518c3ed1b4e00a7366459449596e305b5fc90d772d2f26ced7ab772c627d78e1c1fca26ceec309cc85f698e810cab0d56a2bb4cf1d0242cc07df51e8832d8bd45888664fd3a191befc501f03e749a1081847691a5fc0c44c2db0c6a370d7620172e661e6a72811839b05f7b0106e9fb23d7adca4713ef8bcb1e90328063a218b7d75606d97683295750aa4c4a0881967fe9c7949ea9c21fa74247f60c75b025402673de8d5ebacf8626c2e47ef2063f7fd222bc6aaf78a201f74da219b819169ec440920aa2e54344f41586b95d6193bd357704f055a2ed26e2dd45da88450be93dfef7d3b04c8985bcce2a28cf54684b7a622eb7b9d9e9abdbca9739915e6fbfd2acea207ed856298f3fd7dd8f224bbf5eb641c185595f914d665efde5fee645fa7fb02e58731dabf8218d55df012b8f2875ac4e754e36ada65d9510a01640d78bb718551c92d586c8305076ae231e337f80b2b3dc115795e71e75b96fbb427b782553a4e1a16d344192b7fe3b3dd80845c2ffc8f820cb6f4c024510d1f2cf44ff9c6f8c9cd1a3f1b5c5bf6393eae1e4043b9580b1bda1c9c94026ac12b27c85b28e0257ddabd254c98a94608429285e7f06bca9b4a4903d280897108e13112b5980110e3c4ced0c0359c2bb4c1643d5de5de5b0de6aa7cd3f393220099b464616273a1f9012576910079b7d141277b7b794c5bdb9cdd0ececbb1ab562e64d2b0a72839241c272843e3adbd26e39e09a7ba007bf8f634fe7b539b666a55ee3d51c0cdc184e6c54cec056019778eac2f909ab8daced788bc97765ffb5c47f5957cdd23d9c3a5c802c6bdbce3782a82791af14d43343779894d7e400d5e937ce5c2114d322baaf7e038add3b5dab6c67fffaa2a680c1a2ccf80c1e4d5a043010ee587608d450db0fc8eff8763f03c25e75e7ab207e88929a7c90817f63c715cc0bc74a434a463cc1cf2887f0f2650ebdb60a5623275b92da3c75f79b6069f7a1c812e0ab270616c2c431971b6135c7f5db64d1be1b4d7c4c56f3957cb2efbc0ad16718fd4c4bf135db27d9c4b38ab0117ae86c9f6b9c12360cf5292bd5dc92c20bb42fa554bfe57671844297553e400ac9a253f540a689ee7d47147e0a964e1783f14f0191cf2587f66406123f416e722e9773d233782cc206f1144e64dc9d9a554ec082a34a61f116f7130b0d90a5a3f643fca8e9e6779300ca73f3b29b3b1279f95f17aeb51430864c5c4d67192cd027d5aa632f6423b2e2669d4a8a4989e9bb3cda22d55ae29a1220b69a230240d22e1e705e330b8b88ba5de3e6a3fa31c9e03bc1f3fdc25d44f28150fce7402c89708bced3bc4a69bfa8710179bf0192df3a5de893b1855466b73efa2369a27e7d6b2b9139043cbcf821bdca1508361475ec939a2851b47d71c40a42ccf409729c6ae3d0a07886b083eadac6338faa6729aee3d1d803bc4473c4c82412db4d47bdfad8372a06a95cd94c73dbbf1e5566dde9a6b27e49b695312e388be88e2d1abc8ea65119457d796b9a1511fd99f279798dce81ee2de054c22c39ab6fd83619e8ec411ae7ee80c6b2ae48eee94d2be96cb46cc948305b94fce73684187588e4614b67cc5d7566306fd706825c716579ff4563558ba6a38443a12e75fc3d9f0c30c8c191ab18988ec409a178819644b2b6e816a50b146a6445dd4742066628de71bef223d52a15cc0c72d5f6f4df0047fe9ee96439b3d08386a428e3c6342f5d2e88e732c7e6bd8064d03a6925a65b5c9c9abe156361cbcf0733d3e4f8a17a0a556118ed371fa0ac85da782886673ba664601589fb99afc3597ea697a15bde23ded82d0e570fd64bd7570109bcb4fff8d19a0c1e4364e8fdebd20239a72935f32e51ab611438c83d88e808f572621080eb4cfc3118ce834b9b5f6df3038559c283066a687618b54d7461840b089e50bf0fe181787123cc57b85a646f0c39042f42cf1c64c1691a8e5429ce62569ce2471b59528658500e1ff5d79eca3f3049c4eafd207c5e45b7fea0ced9cb07c29301ad85de9bbf07de39be12804641a8bfee7d258a8741cdce6fe0f527f20805729e425dd844fe5d385f9bfe5bb0396ab62ab32f60cdcc8924a6d6e3c89ef0f8516c76376433db1b3c3199578d20d2cea5e6957f2572b6988f1d7fb9944cea7ce89de961e1e09921eb1b66a8ec142ef121b4c9c37e5ed689e3e4823f66bc032d671210690be2092e9a65840865085c6986f7399453b791a41689cb43856ddfed260a986aa2089125a6dca56eea1a1adf25c8946e0d043ab1e81af5107e28de9fd755c10b78e813dc1b3eb79b1409a1fbba68333be196fda8c4366d7188028b01e0e41e73fb2a7b06cb1995527322e1741ee51841247f50eaf373d9c73dd08bc870598a3b9340ac96a781513cc4eb8e60e10a7a3046f1feaa3d8dd2d4bb67b5a7137303768557afa24bad9a9aaa37a39613d50e7e0a27116ea8b1ef81c053c46dade52e9b19dc5311160e48a299d489e47d6741968a3dd07db316d1b6b6173250c038c17fc1bac843220cb156c2bc46b30ffdf9dc8758b89f580d6d8deb8542ca58ad9ce92f0ae3a05d787b66a0c2ded65b44a882eb143d7e6384b8ae49425b49a52fa681837dc477e7528d8d6d2f263f32bdbb4fc12183d3adb2c6473db3a92ff0d2306c4e9471d3e690d19f0eca3d15745fb552e32216d10549d06e4dc18d21777786989989c3605237db09aefb6f40bf2521f3860e2a9b30807fcd4256402f5bb46e6a2a6ba97d6105d312b088870b99dc868af89649b0e3c94133271a1d3407d0e5602fb2f9b048bd7f2748abf080163ad8c13384065fb9632ef77b6624d7322e1d5de0b040ddc3fb6ab7d288e97b28182e6d9ddf937e9e5d37dd04dc4b039ee2626edda4af800fd75074b762cf3a94d7e8c268f060dcfb7df2386633b226d3fb362faff82e22dfa0657bf3c2939fd966eba94182e41138d4d635512d95760dfb56e14114861544d98817f380a774d1bed816504df42520faff6ea4a33867c2c677d1f2b74939351b7cbe41e26dfe7dd798f465d487ae2a60ba2c8979415589fb75f6ff5909e66b8ff4f6db2ecc6dc6f5adbd4a0baed08febc5b35841cc28b2e10e78f60cda07e7c65cc2a7890e78d37625e311691528455b59ed0619f634c6f8f9d5a586cc23b114ec99cba00b263a1fce34230c70c7e170dbe95af382e872500ae406b91fea519dd62d4f89bec9d671b22e6df24278aef6c2658193f2e290e12a419f0a415f2d3a3af389e153d14e120155c999d779cc212d82e5370096bf675340aaa7d6950e4097410655cda09f951cf18c0f7b0fe2a06c2362c0e34799714f114158fbb6d401483457b3b44642b062e785333db3917b5186eaae8e6c9e1eaede6543e227da5c272a3569888b7ae5c445c7e76f28188748ba905ed96768a01880120acf9385b8e5e44ef57b682c045e17b293902dc1c7d736e02c8862ec76eef79ab9f93464f25ed5e4be13273a9af394b5fb78527bf015398929aeb20023890c79095c6eef9e9b60ab64d0519336de3880e781fc0a5dcc24a63a0adbca16e47297db3f772d88c9cd75cd361bde05cd6dd559435c7d93ee602c125be286de8c205c7fbb8c59ddd8a494b76624ed80f24b4965590fcab4bede82eeb8fc6d2e0e364e58bb5c09f000e11b7dc933b87e64c2039971450fc81ca846714f9f584695cfd5eb462b3d285e737dba46b114020f3ef1204747590c714e9d6a2746e13a9bb7ded251810ce24467ffd9dce5444146e69fdcc231562b8e9ba6264b82bc2a25a8e990f505e23144f3ae44f72a5a35a60f1f4d8cf582da3ad3640a86b58fba895777a32d46cf35f4f504136980f9316b0e5ae8d815314793d04a30049eab54dd3ba3d5aac6a1cd0267c2e1941a361a911cc83b831fc526f69e0b04fb2a0bdde01e213c610972efd4bfdb0a068d6f1f3aec9e3e66b4ce4818c35a2f51c55bf950dd2fd7a9e489c861c09ea8d68d26b70423d1dfac5676a5872956704f7c7248fcf8ae63c1e3b59a2d7321f212e1ebbd9d43442194666d4c92e3391758629761a7442c5a474bed393e80c58f0db77f516f822f2d33ab54bdfac83fbba257569e9ba1ad2c1e3e2c2a7594e5ab2676da45fd874b8d2343388f2c52ff954a85458518b0221d5861cab13c81cfaa0d3232c272b946245e494c786642391d7f118fdb3c0f6820395f41b525679c142afb249ba155ada30839e15ec3de65a4a460ddba026866dd43edc92ad05c10645b46c8190c1fe1207f7054f8074983ff1b0b7cf0eb3312c910d1928e1ea3bd8dfcc35f82c9731d805405b903d44fc6dbb26b330d35f74fcef5c6de8eb677403d5b2ccf8281244780e46f9e9de51cab36dc281d3c16606062ce0735af517c821b3e0b6fa54f4194783b717a6a4f08ed349fd8780b3d19b8ef13ba6909c598101f0796142de968cf7e5b3d094aa546ae086cd3525ea9d602976684c6683d52b30d707b4da1103b2136a6c194f1dd208e8e51ba451ecd5d2f93e6635930ef1343225dd3937ea717a77ea6f4c846eded3ad04d96b6c320babed070822c74d24197d4b50e245031b92cb15781a86ee1fa213fc6b8020071b939ba78bfaf7b1dd118f39f28a00db0a422aaee920daaa7a36c712ed1df85d33bbd4d0c8d5112c03de56741bc090dfe55f00695113d6cdccef7bbbf09a2c7a03e7004e02fc164202b090f23ef641be4b2bed5ecbac7f2d21ce0226aff93e9b12c8efb87722e7ed9cf841378e577f1944da3382b072899f9a0b366fa79c59d2f4bab0e3f57ba487cce83a8b52b737680483592201d34add464b94e851edef1de51ff0eca37cacae0d1788462666497db83d02bdddae2ceb4bf8961d961f02612eefcc038894092ad035259127009f44eb83a9e033c7e924ba41d1be85665da6964a74690ef003bdd93ddc919e6830099cad494930cc120fdb2b9c7d868a4283364db5f321b9f4ccaa4aa4e6d2ecc0588ecd541bb2c09c2ff306c84b7eb474d533e4b3b3c69f105868b32344c5f0be6ee694de4d6db58244741a6df4112f3022c47a7b8af1e84e280a09575737e2a89726800df53de79f742ddf87cf112475458287dbfa664ae9b33a30503dd3035fcfd7a3c737b2760dec98e13975c60354289c417c17ceb0d43dcca68b810df3f0b5a7d223e1ae0cc695e5095171771274f71ebabe1e5c99a16bca32d68b9558f469f1441b372698c7c0ff2034b515d97792a6224d946fb7f433e9829c22b3f61e1ed24e2219c4d156baed249f9ac18863ec3e6b46c839cb3d7f0c4c10e77a7f859376100ddf8eae7abe73a35cfbb0d47790569677ca73faa625f4c6c53b1c71222326f0e456bcbcfc87e96ad5412a35b03f3d9aa29e971a06f63da836f3ec49aa3eaf4994f6bcd9caa6d79fb1a182ab9a092354294cfdc57fc0509f2da499019519a39d1b1683f0f10a90710f0d3dfbcd73fef9d3988945d720120af761ea5afbf93fb7c611564ee403c252e1d28585370b06bb4514cd84a3af18e916d86304e772fcd54eb9d3ed61375c54aea177efcacb026802fd8bee7c9ac0bce7e9f4beb677f16a05729a1fbfd1129014e97a45f725fa14de4f728b20d7e6b8c1ec1bf13854192013f1ac937d4005da12161178210e29032053cf8dd02868afae0d56df0b5db64810aaaf20d8f1c5cfcdb11f030df7c351347efe43f00cc73d6d11da035833d511a9e27450552538c9792a1ade6b568171ab611119d6411aef6255392452cf088a4ec379e6913f093cb5ff9ef91db8936fed0ee89e3f39e8039fec14470ae925f05896e7783d72bc6d1539542a4edee27addea4d4030159277a28b0cce870bdc7e10e093245707044ac52d17d3e936a3ee27a44ba65af6969ac4c38275e1a5e3302e79633f39adad439b8389bb56e3b7e05d61b41b99253a68cc7ccb5434647f25ab3e0ac6e9ee7728454e5cb86fcfd08a69edc2189de2163cd964d4004bae0bbf76d173c7759470f3413679ac6812090b1ba9fe004f9e8a12fa25041110d729c482eddcccea0cd1d0a70ea2d057c51f7a38f3bca29ba42e8cff48190f23bd8e05f0113f20ab406b065e9a123acc871335c1df340d18edf3aba55f5a6e1e9083d5036c0b627d0e7bca19b7bef1c9cf5af7f8b5062e4ec99f91da20a722588b34d27a84fb1d64d4da2020ac098704a41c41edcd5766ec160eccd425872bac933777180f2b15f00a5e6ad512a53dd6dfb9a98537d769fe77e6bf60b5ea239aab5083069209fe8ad6776332c4a2cbe0073f6bfd9a9bd022199b4307bbfd311d4d777cb0e6b1bf7e193e2f3ef648a2cfa05f562f5870e3ff2c023689288cd7dba2978b009080e6c8c6192a6eccee889eadae8e99f82d464fabbaca057a01ebfbaa4f828af20c09d5b78e8bb326d3964571484e86928ed8219683152341f1259b1fd99fe1ec15e5e71b3cc2c6809ca5965b038c8d0ab1ebacd9380f38cfaac0100d249b9b5a8f2e04f83f36065919d7b19a634b371c5c6a7c6fa347849916605d4e6247af1cc5fc31ad1f3b5940a38729e76a8799837437a57af78abb8bf6d7a41848d510e75cc994a67123a3e1ad7eee90751a78a4fd8a2ae4ab8dc9f3151a2f0ff44373e1f2d4aea5529e0fabf230c5e7fd437c82841278f83f6bcd626c41e9a2b3feb612a8fc64d997a1e7d9195adfc9d9b70e368938492a5f0d2f32cc30b71679b614f61883435558f00b251d66e0dbd71141c1b8222459af15dc1cc655f9b7bfd463e1e703f0d651b3df2f02326016ce2759648f4d3d1d8080b9adfc0b2ac510197ae49290e4c37728cb834daff605369cb4094c7242da66a326d6b85a6303941d0ef379bb110ec791dba227ba74e0c30ed7bb409d434b37c18839581d64d91bcb66903e1b1b85936f251cd0e0011ecc6e8ae2cea23e10de81292c62a62f0b54b5ac01a06e171c84f900e9923e305edd7e9b20d303ef4757e2ac1b19a8cff8935b70de0bb074017a2f2b867fa48cd9661c2ddfa39a8771006a9c13d558f06a3b7dcd8787ee1ea69f0b0ee9abed4caf7ef9a8509f20e092c7eb0d0de9310ad58af587ed2c59ab6965a2059a5e488a7908cf380959f0557ba6d71c46a62f55b9c78a40d7d566ba4ea4ac5000b5712c86148b821454075949fd7ea3c98aafa3846f37eb5494bf9cbe84bf0873902cb7a3117adeb8eca056e79ab1cdf496b8985f192f45407527fb4f854363e4c1de4c4e8ba73f0e0b8f847024e019e241205e56b1090e7353142d7998542b4300f42e36f35341fb924f3c5757c823361d0c39c19b1e9eac1d1db83bbb6e54bd62dc50b62875510167402e8f9564a9e4d026a80106f9003f01dd4c7a490be3ddea37b128a6adfb634df1c7ba113a0b954d364b417ecae6a38c732d9a2743f772fa18d260aedadbe1bfa1073d6f2f92bb601dd92144a7d4aa856550cf78e3e0067dd26d8065e354468fc6502c598d2c510b4ce40329ff4592294ab13f34f025ae156fe3629dbd1f910b05cc4339342100a2545b19de87950effe67f8635007978bcc0c969b55196aacc93f8ac8a4491b15ede729772e02abfb499b615863535d2350a2c877b3845475d018c5e75e3af36aad8fd362eab4f5c7b18e73f0ec873cf16026b7732bba66e4bdca5f5d37c03888ba8b6a0742ad8151c934e6c4157911fc39409edbc396f784c29523ec8719f188be61d76f0143cab4ea08c703e4e46d36a5722993810cd700623ef54b741e37e60e6ccb141669f0f33c2ee31e1bdd1a6ca5c65528a8749891223ea559e065dd68711d701c4472273c41df51ee84373190da726147338900bd38a0b56c378db00d0a68b08d67c46282025cfdc85cb3403c3d430aad5a045e486f1dcee20f3529f221b340bc9f9e3bc1a7f01c1451b8357cfe32c3a4091cf3da8fdfab1950e57989f8d6b48b9f07dae4c1a5ab1c54369c193dd4fd4f40950dcb9f0f61d1c0037693e22867daad9a2934e5c022fc77e9c75bcb4f3894aa9b04dc1c89c9701eec08aa5941a80b662fe83b919192ddf187dc19c08fa53a1e1f4e10bd92b3fef58015d8904f4ad755b72a025880ee8120f2d68327a289a7acc5ad5633d7d763fea24362d8cfa04ee6db06024025d26c7c128cf107e7df8f2cb05a9c7e0ab71e2f831895ea3d720d292f5aff13c1ca79e140fe614a2ee6ea22026cad8419638957d0111d35f3f1344b1182183093cb11d8ddd754de1012e26a7464e1330a2ade7820694ab2ff9fb3462c6d4a306060c0cc113db362c102345b44074bdc6711c61da97196c7f3bd6f2e74633cf67ecdbc665fe887e7f2f49459ed5d4db0005b19c93302add0a1da6f4712acd453c4f3958707116b393e05c0921b9bb8e0f48c8f4eb8447fea1e72f9c82df60b8f09d997528c9b152bd07081ab532d59b60f428cc57490b3028868361da3909a5b42ac000f027277bf551ab8bfa7ae2a858d1624ff1bb28c1364d511e9d768502545e1c110c0b912caa4542a0ffb58c2095ca6599c40b6c59ef7e06dd52e3e14cb3409167b8cd949d75ec3c42eeb32dec9ca16ce0c61bf3cbaf3b683eacc45b8f9f187408ef4d064f73ba4c00216ca01dce5813c185ebfea8986346c58b749ad2fb6eac263f0da0f3c1bf9c56fa1db7146934327de19fcfe7aceffe4f27b883fb3bac78485306610c387bc66730353a0b360ebe8c4cd03bf9673a4155c04e9a399ba1878d1900f0ad9758513426ca97dd095da9e183072cd2a5cc2bb5de6527cb7896c44ea7fa0077015d63a0a86dc06654e11abf8bb4bddb76808efc31291dd91a395d8c66b7a5707f3c6d9f5adea135b3308f52dda5d196812e769de5a92cf22cf76884210faf6751094b06bee6e43f3844d44e4754fd4626d0ffc56d608e15932ead2ddf55ef923d1e31685e7cfc361ba4b06866917e8f760baf4251f97deaff87962413108cc1766256797506ea320b181f4d9f8e9793b3dc06f6451f4a857e0e4924aa9eeb832cc34182d160c32ddb500f1f3eebe50983cac213523200e0ea50915d432fe4f2fc39e7a4e0e1019d155db1f40cc21b3dde547c7a9fad3e7dbca5cca13b03d3978bc16c9eae104308063be53ca76310d02432acd8b49332c1b3e918abbda3e478e77fa2a9bfb7b91616c9f5d4fa41a26482c3e57f405a7838a3d9fbb3ab0a06ed653f6382bc4cd06d2b6957e06904a189c12a1b07705f38e480f169c65fdfdef347b300f5f7e5a82eb46d926fc2f80d5b78656e308d50776bde4115fe9ca21340274a5cb9ad626f9cff7698de815adf7c1cccd3770a98ff966052fa51d178cdaebfa5d3d50d48e6e337b33964f1c0a316262d5fb719b8cea7db5b1820e03fd1ce2f515d38f77366d0d9432f54494f26bcf9ecd364a6d962ef6d4659b0763dabb54c48b66bc853563e7b67bb12cf1f73e33d0846186ab6969b77c710afd65a45dd6abf617a5c0c476411d6d2b708ec094d6c6501b8fd1cbdd2b0555fadcec1f4ff0b318aca3b3e9b7ccc64130aaabba5e1c53344ec897e7c2e6b0fcef2058c4203b5fca645787d94a10930e058e2abb62f11b541029da981c5078468990e822c236e31ff07ab45c5e40c56a6fc9b2dd4e254d1774431fedf89c3edca24b619084c22586c09592a50d1d9c4c08733929c80d7fef80b8c5a161a7ee85dce326db7d9521f90083ddcdf3dc9fd349730b57570b9a46bb69e054923999ab599164a79dd78cf916fd41e18478333bf627cbdae8189b959d46fb8013fdbbb2aef70ca36551f7e42b50b6cbdc5dece99f4d93f861563920697a9cdb59e8f38e6f6664477e13497678e2bdd03a51e1fc657e6313d116d266f52138c822a73dbbaea2b73656549ab1cb98f94425b61ceab90b72b962c46b8037b28c9825cfda4ca9a7c0fe51c03408120953295c0450c7c783f4af733a768a0e7b5e4b9038c241d231c2fe84cf53e2cecbe14e49e92e36f57375d8a6a264200321110ceba7002913d157c256cf7778c44c4907ecdc10e6872434c405a64444b3eaed177c85ce17ba8c897dbbe4236689593e59846f0663bb784c638659a5c67b9d15c05a9550009ea597da02850185a9963d18bfe75438a0fabee9a3d42f8ed02bf60893539e367ebe745af30bdddbcb65d736ae81c8833520f95e94ec37e0a526b5ca1c1621e254ae5d3ed24ee1e21b5342a7056404fc43ca54edb17e38edf71b440367370e1604d0217329b017f5d1ca5d7444ea6eeea61865084052bdd697856232a71dfdcda3ae3227b41af6bc947cce36c2c8a4651ace9fde878328516b5e5f272e0997e2bea57661e4a036aa4cf0d7026ea0b10134eab256f754569e7c556ed32cdee6c6369bf09ccf766a4b7e5c9750513ac79cdef5d8a2771ada2e79e1cd10fd08b358fc5a69b30f728dc01e0696fa006f192ec1ccb4e2f8e43b706e5e84f7a4acf15acb952aaf0e2743fd44d0628a5977d4b8eb471f076a79a2b8ca86f5499b637859a5f7612578e15b059410a75fd4ef0a2dccbea81b1d4a7b817e62dde261c28dd48eca6dd47773886de3cf46d9b0976a63e1bf2692df981ce7916c2accee521762204f80740324cbb2a64625e22ca077d3df96670b0eab020974b40f8146af2ef74de886fefd4ca1b294fe49e1bc879c74d8d590f313a09417008b8e82a279f6c2358c7283b0ac2fe71d45d8fd0353c02862f128b67baaf1b094f632a5b1cb56c214a063b67a249a8be8e3f68b73970ae3798bc56ffb7573da3dbabf0a20dea6bd2e998be5409ad1732140296608c89a6a626ce2b4d8b677bb30ec04b6a0ace0517bb60dffc55481e260039358e9213cd7e00a5b301b08298592fbee7960003985efc0616af940c3d29f1a22fd20710960e3d3b81bf6cfb631e6f94287851a0036f6e4a68daa7d3953d56b149ec6931a06e4ab8891b74e7e228f8dcdb33595933123d156a16b854a532b69579a735dd3b941151a2ffa9c9f184c1638345622005c99770daaea047bf81cbf9f2710cc8ef5353cbfd6bba06f15b7c66f83016854f20b901f354ff6330cee9ac9581ee7b7705e8b4a2132d261c102bea7077406a47c54fcaac3d5b6b2f5c2c20f55b1ad2cd9a55fe9b089887ef75c6a4dc462b8ae8a1c07d49157cdfc38e0bbada3c86ea66381e826dbfc495b44ca982d006a92d20b9d2c1706b598de6ed8c1a79b68ada7b7063f6576572a24754e2151a503e9e9f372d4000b3183e63f8a86c8f54c23d9eea28d5af0584d0054259fc21ced5b92e8188c037748036c1f898e60f84b630ecb2dede09aa5863d5517ec4eec4e151efe11c2067602993d671bfb06459a3bea71b0a65040b619a7034fb640d815ecf3168c7cd3afec916346102eec57bb8c6d95b0b87440002754e5bccdc45af3cdcc25d023312606cca01345585732ba3abcb8e4da83903cce73a0a1b2ea1e81ee72c5d1cf366418684cd63f1d0e681fdec776c170f599074185d7bfbaaa6df7380d7d128335a12c8dca038d790fe710d9b8fcd2ebef08b87c19994875db01ef262cb5839c8e8ff3d31e79cf35ce7509e8b4f87f13e1b02d0d0532935e2e1cdc544923222d1c0869ddc486b7e7c96e6271a24bf33a40aa39d378900461795f60440d2b8b31d8cea4925447c6c3742081fc21d11fdec231d7ba89c60bba1b3d304079491549bc0799ee83888f07ff9d93a0c71cc75f4253278c54465432fb060a2596641e6455ff8b2a6e7df8ad58134ff8f6775deb446d4838ef8c0b74265093127db25dd5dc69d359772dcbeb60ebc6d1e3cb11f31bbae166b6f09859746853e8f0f4a8601e0d2b570ea03ee1ab838c76677f591b41e9728c89f1e36839720feabc9d0164484b88c280e0897cbda5cde47a7a7bcf9e9ef9ebfaf464820b1519f4e681fbb06346963e6adb76b39ceda6d9d14821cce019aa0f9c5686fd4587895a9c82253bd1695c21a1c660ee4a562793078cdaf731691a2f0aa3cfd91f2d35e29ca2c2f2de11fbef8265e4f6b21f998f72b0f624ea57e03c8463eff54f4eec414dd6b3fea9516a7bfff8b233cf2f3291c6a286d40ccded7b29ced91f64f3943db892e666999537e8d874238c7e4edb6d39c33f83c951787bb55824cbb13cbac46bbd067065315ea7158659b0ce65a20f7c6d4586fc13d1e6d36fa1bcd08ff7afd1e86235aeaf83937a49f4c3ea151c83e51fe2bbac2af1916b4e562ff7195003b193e1c2f7dd15dbeb2961dfc7f2e6cc1a5b1cbd68b2fa67a2eb80a9a7955cccd7a8ee40208a886ce9dd1ce0b23522043debea2bcd8c2010317bc896b43090862843b446f93cfe9af7d1c03ab629e71d0d42c82e3aa2ebde2a66efd0bab33260bce66d63703697ae89fad64e84c5fa16adb63cf916e045b359fd14c79213330e8d7a3790b33463618f5df2d9b395fbd1ae98349d692ca72835ee92cf56297ca50c31fdd0044cfa41d0392f4a22eee513a6d66cbb6bf710cf12bd1f51bad823e4c074b5f428a1d07409dd3c30ee580c98b9214ba60722f9b2a600862fa7bdfc0526b2feebb3a14bf7cd3732cf0ae539bf4876227bedb7f83e09ad98087527eceedfda89b8a9696131c5ee821844eb9f581f9e2e5ce6d3655d22f3042f2309124866a5d60762793ac893fec3ce7dab5dd5d515105d325c274f44553bc76603683d0111932ede59878b097f6221e31781643186f1b46988b2f073b230643f7e30f0006e035f475e05eb0422552b3d6edaf9816fcc90fba4f2c955699536cf10fdc6646c9a8b9c92781b4e803b92beb693bfca5586713bd550caf19e88e38343cd42e7df94f827f52c41ad01d72398073eacff8e8d4b3450994b09664466f15f85375bd505ef6747141d366c463e3a04f0fab3c7a42b935f170bbed5206d77e050dc829d6ef4cff30a1d2e980e01d3198cb5cfa9ce9112579aa200408e652064474f92e258a49f89ce52d82dbb5d2eb61f947e79fafb4cb746f2c346096ea52100040640d951a50b445377a7d93c8ba7aa21559233bd2b87d6722cfc1017d5f358cbc0c3d3fe9788f6f4a48dc94f74fc41c724da202407d71d3b318b14b83c8ae9e1eec9f983786facaa78b400f20232bf632aeb016b3ee04d6cc9c60b98766ddecc4509884ad44055433beb8b3625515ef486ef108665f595cda523cfdbaa587c453e6f60fd7fea5a1472eb816103f7dea2e485206c141ff5f838f623a9b03ea3c3b615747517f17464c146334f1941f7b59e52267e3aceed81fe26ba9cb677fe05fe3ff0f99f5673d860cb71be76cfd51377c3068fa00988fc3d6e0d3e03afd81d731eeb014142742b4aff1572dad89d581311eca8cf90743ecb899cfedb7f053f652537cf2412b162db202acfc9952d6f485ad20b419ea03c1fac1601e66539cdf233c913865bdd95d8b12911969e7ea00518d8164d92cbb94a9e2901baf02c4de5aed0340cabf59c1ee7cd09f28c9f9deb9f7f4ec11d97e07fa91e5ca9a0620b1546c5967be8fbafacfea787820c7e58e284847f81885024f71bfc4cd5d42460b9c4acea77bb86eafa7129b041ee45c1384b9c58876ad92305b9aaceb706b48cdb793167880456c8003982c92e4edf56e0cfaec536ce5ad98d5c078a917c058d8801dd11ffb6b7c291ecdd9f1ce960f06006c9e9376fc9261cbf45fbe59f77ff6bddabaed5d2183a4cea3bcdb58543571c68fc637d9a83eee595f1e47b7a654583d919093a09e7a76398a2041ce6b7ba8b4d0b62ae7e738fe5e3edb59c815e0921046db79f490d84babcc159ef54092ddf8ba50c87bc152c97cfe87b8d74e16a21aaa5a1500bba20937e0bf0355cf93481c7884cab8fe3b0efe868b235ba7aed02f4c5b2e29d376cedf01f21f1ed201ba8812ae2d26e9d4b17c8b2e32d96d6420b41ca1801a177cae46c242997c458b6ccd831eb6142a03b60e4111897a516bf447d62794f50c158bd2e171cb1918b99f7b0703f41fb66716d42a7f10ed22ab4ffd00812b199a7409904061322682722bc4737f3c5dcae8dde517f4cb8fb263cdb12586a68bb0fc8d86677b698740f54e1c5d98981e14e33142427574cf7a8243f000ee883234426f96b331b8c219d0399f74685a4dcd948d442139633c9478a557c79f771efaf3360267dfee741f4c87937a35a29a2a86183a628d88ecae874285a97af649539b4b03518406dc2ac56b0e2ec5248a5971cf297877fde17950030f53a58cc5f6af3206f49ad3e0a40b53529a394c355304ab702a1bc1dcfd728e815888f2f335e8a4640a4f6f9eef2eed7a0140d073d595e11dbc02fa026f249abd85d974fe0dc76735174d589239e1578af4e00c6ede8d79d28729be153f6e8f64e2958a5b9b261da435be1ef67afb4f23e803f6d62abd8d3d9968d31795b800491c1865028eaf69d2b7c6b656a1064ceec91cc0bd09b780b8141a3d361f47c771da625933cc5a36a245fe1782f3871a5af7a4be22a260763d3170b8ad08b1e902d48ffa1d06920b3c16bb65c7da544d19aea716d35721a83eb28e07833f66a64abdfc26af4a758520579ad967bce6538a1d044b9cc62cdd3219f100dd619f46481253dda8c6abda46841e0066abd5b6fdb1e4acd91cf49ce1029b60d049772105cf85a4919ee32e3ef3efa707e2d886a16d8d67cffc4021199db629b7e5485d9be35b624bd159b481c05c0da9b75bdad62fbf73da113ffb6068b845f8c580af9fe07b0502948369f8068f6de7dc6f34793875154b2d1cb7e4d49f64547b2c9c5de327c0ed88396665ec07e20d754bbf681526f5d85bc954416a122bbfca58c250a79fe50e6067314f3d94bf20a0e5cd330dd12a1976b8d8e0931d6ffbc6866e7b50e66a9a429b6de07332f081897aca5c52f30d84e9266254336f7267dc891324b4a4251d8a76d5452b737abc3c053b683960f581d0528c251cb1f59d4c828ac46942f1858e46b97405e795bc5b1965d68f72bbff4497def00d4122647d969c7d26a4c85ae79431f919b2385f5bf70d2c64ecc9f719705a5fa9cfd0469c6c40c28d5a96917e11b1094d98694ca343dcc22e6b224ae38aa488b3a655c0625a353455e6854b5baea152a94b86b30490e61e5b113efb59986dbbb3fa7f45221448a0b402c1ea8c6a12e1540a1d2962828c805cf3b576c32815cfcd1bde109a6c696d2629051a2eb76fc9059613133b4d1ce8fa4498b539e9cda49fe6274d6fce612bdabeb9c422addef45c194d7c610f7194d201bda74a51a6f58eac9dca45e7dfe41eae9f1b0f8ac72e1f7f377f4522c1578568bb69140e5dfb1242e8e0ef290fa3c7e0a73d2831ba1829f05d383d24aeeb6f17e34297fcbfbf0d85f6e2398b5c507dd34d2577405b6e867525e860ff4bba694b1b25d677853cd65df9a15951617b5d837dfecce4b676efcb8eef8f2e01ea136b2405b9864816ca444d96e8ce7d0d5ab6e1e04ea3f36e703c1d5d18ffadd9f5ea92e95674d21650ea72114e11bec3a62638816f8b2bb995ec5c2ccd3234b0ba3626cb32b4a75b50cf3d5619d81d3296820285d1bab9f3e1e8bac20274f4fe7fe73f0fb59b16ef47caea731d20fa349fe8a5b1f19eef07cf73e83e0a8e438a3a1d9a22f73637c28048535285932386513581db62065e55cba9abd4151599cc4ff84f9a12ef916aa27b14211092e24e11a567c54e1fd11de91c8792984fbd3865ff9fe1f324711b0e54f67b7b5f9f46af43d4d38e9097006fe7107bcaf847fc038a78ac50164e14f3fc15f14990c7e9a02475c1986e7c39a0120d6432efdf5ee6b68b21ddef71212e443e33b0f91720f0542ef04b5ed1e62ae218a2bfd1159c5906ae0d7b36f985ef75620d341df7c6919f466d99546baaaff6c47ef5e539521cd97197cfed547be38e5c6d3aeeaa1f8c30d2ff925baeb9bbdf24be7164c157e07d5aa4abe87ed6fcbf25740e3c82fa036122bff7c164fd1044e9521ead1c5de6dc777af31d121f7e476622a06e7476f82ae321d5b487c693738502f228d3b94c42a754655120b2900b88b96f29602553532e339fca349e6cb840831c97bf49b2bcde4036fb47e74401f4bf163ddb86a29c9f294f68ee1166557273e8853390a51a830e803b6e02c7ac1a0fb7e35255a3abf8439212118f9b8f59a850f670f006e76f4d97c3566b3cc50e18c7f6cddf7c16846b697eaf4f81a91d8de7f58524362ec3c69df654a768c010c0774228e234ba9f8f0395ea65d1507212bf69c496dcbb64be82631630c5b875d50ff3c71ef21d41f8f7b11671459942d7565d7e59875339a89d2614f4c65a6090eb61066b0b4ca571f9894e6d9f2c06119ae532658fc3d79d1018f53f2643b684bf87a5159c5c1ca6b40ba13598fb2195f0a11b6aa9a01c5ee663075a2f415e3b5cbf7deb2fbd78ca2ae010308533f5e95ea6eeae1da81526bc11a6846a2dca1077afb317611b9b1ce5fc9fdbc8d6638e4434ad627eae362f89fe4342dcdd5204e32db33a0572ce82607cac36c639cdc008abd93404ffda7cfbf7e0f652c78bf4dcade8951aa6d6c38813dd091facc9a76b8f91b69e820dffd46ee2aed6dd70baeb8afda6704f6c8fcfb569169a62155e32b05b4555c4f032c6f7224f2c9d142627c9255415b9047c26fb7ca96f67390862799d0fc559324747cd3f6f171a1a6a07a94f15185879e417b24212835a6ed5e40e330a6c5f4e159a02f5e1f6acc6acc20301ad35a9672e073259344c711aca6aa515d25fed5e5dcefafc92f4f97b58480f3eef44f76029e4128b30d47591b654c09f96316666ca9246d2809e40d692cced4c9364bb3a2c4976759098b69b72165e8160a4ef3e87546233374c25488b5d66ca21d4f0f0cf86d6accc06daceaa1a7a7726fbb2d0e651d43a33e23eaec87d64b8310bdb8c1bddfe8e2e1959923ac7447889e7b565a2b406346974fbf5059d77c3055a99a48c0bed584ebdd877939c8cfe4eba23ab6a3ff22de5fd5f277e32114ec2a2398a7a82951016e6b917b787ae2f28c214d3a4233f25117463fc5eceebd41a2baf8d61890c39a8ca405348e6568081ba2a657319708f206aa401b222a53e8828f482bfe4e5069fa312e0534fd7e470569b38d146dbba0f82901abea3bcae352ad02d312e861b42760c4b18898e21f89a9765cadb7a0914d458c8f7099927fe2581805fb04add443307b099ae7ddf37f3b67e8b7ce70981b5b2e352b284e387cb5aeffd820488f0a8ebf91d75256dd0ba3680546e42739305c266b849668036961bb45e478f436c4041f2a2becfe730e0b0be3fa14467ba566a583f94d9b5c25fa789decf13e72871dd865a5d37cb71569d7fa4d92f42effa2c02eed1e2880035131359911018f2ebe1817205de978e0b0e25fa03515e41f6b068b3a25e316a61638d4a8cda9198d2d9a0b21b8a0f3f1cd5af600ac87421f5bc80772a93841d60ca76e30c86988c4e80ec8d73a3997d093fb483e35fa53e6843256f9ee8ad42b92ef38ff0a15b727987e1a8a499c8f4314b84672c85ea582c69ff42e38d264e5e435a93ee43531728334af0066f045e36cfe82af07890a52c7a24cdb2360738d207e03eaee44a5ab38672fbe0ef3a9606bba4ea4b976ad76c4a740171f7e864911692babdc379ad440d925bce42df7d7f0d6c0622924672dc04d4025ec3190d65c576f3d63dfd98b2ad64e0d1f5e7dc879a1d851ee8898c233d78c791cd8f1f6ba4f07505f945c4b98dc35155015a86a72999c837aa63d79f7cff6a6511e5b06c64346be4a2f2d3ef43a70fbef5cda9299227d86b222d84eb88ebc5c7a6e68c36f24778af48cbd53465379ee287f21f60fb0210c6e8f32eb1d4e55e6e5a08abe7602744165add59a493d524c3c972a135c4637aa108d97abc6f74c369bcda2ccdb5fa0de0e93bb62fe2c7e7e9d422a7e8446848144ae9af5498a16766c34643338545aa623bca64e9ea582228f276c1a52b2855898185b13b0060f93be9eab787da3c46e3949d9bb985a30066ce3561b7f5673d73034dcf50f2975a9a9436ae1716374d2d2ee2dcd1fe4d08b789113f8586a983b00ca543f61d453d340a8591fd88b59d49c1878603284fcf37a340df02a868c176aec880bb044fdbd6b97f80a2055118884dc52177a60a6a76e068b3997365eb3aa90a2cf59d35c038993f24686c1c68fc137795b363a36b9c7320c0f2f24ce25d3d2d5ab6f9e2f879b263bdeb2f745097a916e0a6ae43b83f28aa7cbf92632b961c530792cc0d78756e84fe102eaea0038d606234ef8a355e5086ab24186990873553e290f959b346b94a7e8664d0634a66c3b4ba13f8578fc0847a41a98e61c8571d9cd598968afbd1de971a1e82be8bc17bd5736b9398295aa4ed2214b7c7674a86361263b7545c3448687e842d36c9522c331f0032b23f53c4d073919a06693b7abdb9d0c4eb6500be6b899da74f9a5b34e70be7bedbfd8b703d4c1fdf47fbb267f39967ab1ad75b38538a28103b654a0c9af80cf1e160a436f4e2aba40adb1ff8561a800657d9c6cb72dd1f9a6662b0f13d12370405f88cd80567261aaab3173ea6ded74a57452f8671f2301b93d2d4bd7cbd28a495d5986d4b20b6ac43843d03b4e2686ce3d53f4546277bda70ffce339e5e243f10b44ec96781331f261b77a020d07fb7a89388e7e6a9870e71cb2eb2f81edc480467c9bf6e7c35f0a5d32219533ee0cd37a9256c356cbbfa2c730eeef2693a4213f01371374e6456beb072ee423dccc45d0a49612db79ef4f3dc4fc31bb4388e8efefcaff81e9b7f3bdc999d71883ddb41ebe3f724a6d383bb99e35abd4852667c0920d73e84f91ec10d9e89eee8b32999796d587802b3846a2afc05fc374049d2c20f0df53379c22dedfc17506d008011dac60cf4ea4bd9d25180bd5e708ddad82525925dc839f9c899628180db5b57168c08bc71bbae69bc0750e5c81026be4a8a90e832267118ba14ab826df4c3cf3c807925b836c495541bd82a115ab00dc92dd6858f2cba47d04a332bca32f84cf9dd24cb0591045a4b30215ab25ba718ffd986e27f2734e7f0bdd1d5dfc43dbd9729f833b8cdcbe95fc400ccf7f14a61c6b61c3acb6a7a12b69c57edd19172c8fadd6964b7797ecc9d475e57607caf73bcff76344bba51dc55b00baebb7a2bb84d835d8a9fff3f738311dcade042a2bc3be9dab33f9891149e7da61faf3ef0bcdb895bfa3f50f86a38849ba2986a3bcdb1887fd289c82c4e72dc0a9d528c8b46abd0213216a8a038e5e27d538d0338b8ed1b87fb97240001b5b6f1eaa56b2d00bf325c4c1f6425b166f173ffa3dab11c435e0f87d9f10eaf889f24d9cf0d68b20687d2f65cd9f652f6b181a26c891ffee29fc8e547aaff7cf7ba7cf2352cc282f3287fdf82ef32213e8f223d68fc21a827100e1f0e22bbaca6a53354735e7cb1a9f72f8b1c80c0e46aa58b8d73f04781377cd2cfa99bc4edaf572c129ff74c7cfe0c3bed4a17a62c6f75ace40daedde2a6340fdcc57dd44b0ef8c905839d6d952c5b247c73266610b8a3a95a24d85ef42371790be46311d8ed5be5c8028733064e1e9cd05da52315be736ee389c5ff9b6f4d452650b7fdfe62b67c0e1f661163d69c160e98d5e9e588d1076c45e7288e05c55ed1c837c9ef9c80fd1ecf92b4441adce36a46fe0f5fb0271052592e388a868f3978222ebf0ef3ea386e08764cd3a37a4dea19e89001d3815c35deb6c84fccbaf9a2ef591af759ed0fa9e9d6d587fce9fda3fa34a3783d6bc7fb5a96925ca7fc470128a2903ad884903e9baaa436c361dbb82cf46c459a5b38daac0c9b5ccc6ce4db7b568e64f4af0cbda05143a77e80e38a7432192d44eba5618d227c1dd6c93283395a983e7c33fd4fb650c3c752d2558b74862b9de1b1a1b4e11b6674b1da7e80801edcf6472dafb95b9a2760e05022ba5488cb2472776eaf8fe4aa28e5925fec12e8f07a20314c14190b1d3aba1796ae9947504b1e246d87ffcd77f684bdcbd7c7874f9e063c6adcf8dd7ed7abb87173b31bdb7c77e0292fa03453fea7e866df9805599bf97f0f0e95f64755d10bf74023cb4d7f7733da9fc093c95268f3c72344ef4037fdb9187551d3637a651db81590ebd1b9ba6486b17a37a1c747e58c036af739d0517be5ece26eed61d08b5884617ec8cc9eebaa2c28328d30bd8577de39091e5e3f8ae3336c185a1546815ea5b64ce674a8ba12254cbc7934177a0c8906737580475feb60af9f569881be33f7497c5b22ccca4a81d9fd35caa97f05ae4251774acb73d24a9b2e137cd92c0033f855d03fb49f21514ec985f7fc090d88d348360c6202aaca50303710986807812705058d021d1818384c05b70a8982fef12a9e73dd427ed58b774c879fbdd741d0283c145d49344f799b09a3cafd54d5a4c9ee02f202d8027452865e0c182f5cb460b1226fe7368bc63d4fccb29e255f77346f07c8f73c27ef7b55c76e3599db2ef73c6746cbc97364b131f0029da3a571b9f39a6edc3cd9dc6d9202b9bcddb6f164366bcaf4f4291bf3d54e012c6beaca5c6f9e87b198b4d18d8da93156bda4e9f3363f5a5bcecdd19a3a5bbecdf5b9fc7ae00d1a11b6ff1f7cfe4d2e1a139aab076c8333e5705df8f660a60beb06ee4319aee89c0a25c8d880825124f4b7fdbf33ef3e6ce7613fde97b6d87b04845270741700108efcc738659d68c56c65d5840141db7fc7ae597a2362a68361f00550697fe74f92b7f73f90e24b9ad352f6cf29867e73f8f980eae5a9fabff32391dbe398b64b01b8295cb8b61fefe13c0f7b94fde1bdb23b0097a1ca6c4b94a0045cae70a89d55b55439d0e3d4dbfa5a5f59f43019638d188bcf0ce0b01cdfae34915c682a1df98a2ede9f678077dd699715ab1cb17d45a2a0963995d5ddba0c924582ca177e66819229dadcec3d73a420ce8debbf9fff7bf04e9552955adbb0d61c6012e63e7f94a3ae7563d9f4aa37141fa109856f7fecb73e796215ddff4b7586eca44d4ac95aa4890a9a82d4cb6b5ba109d45a87bebdc9afff56fd7dd5e96d4c925c8afe470048f597451eabbfbbe4a8253815e864c54a575532c6e626098ea4397cdeb149bc6324e5b4bf7bce8199be91b4bd7901ded9e6f3551c361fe1ab9e7d9172f2a635624535230d31152e42f5277823bd039c4eedc6defadf8eddefe32fd7ad8a86c69ceedc718e86e66d32334c2cab93af3efa2446a428b5074c4eebed38ed4d26069b8754e16a7e2e36f65b2084d05642de013a214d41b0d73dc80f0789a2c37550e8f0bcaf8d8bc608889cfbbbdddeea9b40f6a46ad20e5b2bf33c9e30a4f9fd5163b9d2e178db8f1bfb6b84381fc51e76eeb65e793dc09c88f80269dfbdb17e4bbe7fb72d6dcb17054785c21c8f7bfbfd5fee5f7fdcaef4de6e9ab765346759cfd190de3ea2e5b98e253ba0c329eb240ace015d84e503135b59710cc9d064eda6ba775efe7eff71dc1b46528f607b39528588e7dc8a2fcbaaecae8e4ab379e91a4bcf4067f6561dd00804c80c6ccefef1836d7aa1d82e5d539f4aaf6a50a02ce974cd408c0907cb009f7a81983eebe3ab003813c5664dade004014577e2a7df62e1b3478f308ff07cc148f9dad6244ef04c07b2e6e26879693c5a078f92ae91e3e3d350a4e31e5e65c62ddd4940d7565f3405e95758b483409aa7ae937fbdcdaa2dde93e6b1179b35c8e9deaddfcafd24f2ebeb0becb8dffbbefbbbddec3b80934b7f9389919195ed15cedfcdd6b027dfbe7af99bf772872c3dba08e88cae0934a27340902e573034806a4e195e0c9403651626a968b944923913e763efa2df00303b4428bbe9695f76c111904653df6497d7a8763915a3eb0051f4bd2c4a0874f325d34b8f132300f872b3b3c4cfd4073ce82597988cae9f6cbaccd0b401166eed74df7bdb75b9476345f8734dd2245d374593e3221bd7253015e335ea0456bd7bb327fba5df1207db40d17591ca93092aad42be79016ecc5068b1a431c6165d13ebf66bdea182d8dfd58b2f5d0fc3ccc2c2ce63ea1a762ddcf53ed59cd2ab35ebddf52894419e0bcfa7dbf30af5ba59a39ee9fe976ea71b96cd1a3569bc68049c0d92edf7d3edbea3765bac3a5cecd5c2fb557f7abcdc9677bfede58545b5422ff869b30debad506c136a65f350358fbd66a55e77829e119a69a20acb688d4d2a96c35a72fc8e2ff13e7cbc0f644531496176d8df7f3fffbf83f5b39abfbfc7f3beea6da6f4cc7ff0deabf9fdfc9560604aba5ba9c477f23f67a78eca2614babbbac0708d9ee16795c96ecc0803eecdde4fcf8722a8f4ee228f753adef3833fe27d502a95caab21b3457381fef4d993e74e9de19ce29b1d40d730a78d8a9874d85d963426d2921583fce6eb4d2242c1834fd8979c8d4706704c32997c4e78b6e9d6abd98332b231b130b0bb7d2eaca64ff32b5198341512c264899224488e1829f24764889f90207dca2f23a13c63a0342320dbf887cfcf882d5e1d04a9259868d7670b901f3e7af0f1d8a123078ea81b368435f6b034ac6f5d6660ad75f16111553c5227fc7e7c485371d88a49f0367c07f33659a214030308182c5405e48220b525cc1edfae8717aaf5c43de56eaa8e9c96b60c8cf6d88c3470c243cf488646d95685b51257082083641a7477155453c52530f0fa34f8053af1a6a30f9a280a38147609383e8a14b35819d85eb9b13435860659a0f9be30b4903335d02bed7992a671c5fd50775c4bac3407c81a4412ee4938a9ef88577fb085543094228737baf6d0f551e5a8a0fc4e7a7fb9ffefeb0f7f6f0e5f655f6767f9f82cf643259bd6668f3cdefbd7b1b76d9bedce777e8fffb429feae79b0b3c7c5eeadb7e6e15d77bbefebdffeeff130bf7bbf7656d6dc9d37dbdfdbb74f7eed3bdcddff1feb5faf7ff376e61cc7cbfed37d91655d70f9b8f548bd8c3c7e3a73396c6fc7556fefe01d2a6d5ad776ee947a95f0bd5c7eb69b67ef2d177767eb7b56962deecacaca3aeec9e7febd8de33f6ebfedafd7ddf4b7dffdede5cb5dbbcbfebf6bbec3defc7e57f8f7edb5dffb7ddfdfabe9566ddebbd3fbefbcf5f13ededa996baa9df28e2cf6b7f7625349572f6d73e06f68b4e9bcfa7ffe610e5fb6af9c595bd68eb5602d57abd56669f1c4be8c50695a120e6d35e0da1a6a0df5b26a372c026da0083585514229b0c14b6d41bc646f636f626f441053ba661b4c82a96b60ea0ea6eed372f909a65e87c235a388db679fd5aad7ead4aa42a1fa14ab4f9b4f6a337b45d74ddbd30c1628b84a604523a8babff7499b4d03d4f6f654eac3c4767bdcb543fdcdd520f51f4cdd5ab7e1e69d9d952546fe7f948b73f3f61ef6faffbb37b2bb87cd3546f0f113a849386a056faf792646ce11349a1a13821f92aec1707c38e871bbaf075868b1f8cbac56067ea963aa9a06b7a73447fb5c38c352829d1994fb9c1c449b357830f7178bacb5b495442178d5b9727382b0ca99aebd9e77d84a8d3432744aedb0e4fa58737da9bbf272709e17683a6a1938a420cb56856c8aaab79cec868685080d12b40536ae80a4800e53558eaeb53c3df40b5b351c6f9362b9e20d57a132c54a0a5d24f917a8e4f157459c629645d8f472712c2e50a0514cf8bb0231642ccf733cff5e99546c0986fdf628f9dd1b14bfb4e19a5725270d4f9cf83d3d4d9808a8d2d7004b86566c6c1d09e282b68b2fea204c22b05618c85b90a2a8e46a0d7408604835dd26e9b377bd117c885605d04053720e58c541c2404b37651d016280a987519f1230e2e5fc11a5cf4e268a381004fb934284e9c6101f23e8aa5f4dd73e9ef4139b9020578a987d05a8d04c0c8050115b10c81a32e9ba8795a00cdee9485c16c912ecd1c732dfd13aa4fae163c11ae2dd230a87d08f8f871693d633e31ddbc105e6888bfd26a23874f81d67804b1a918e283da9831c08e83a47544d38852b22e380e3860d2921979ed53b386829de8f842a28422d06f29adf2ba305747d8396b0c54412d9775a2350d1f51e1d0087f2106013d5a5a6617b7c3cbe13d7d89b21c329de6691d3bd4cddaf481ccf99fb77cddb7bf998854299d5e891f945436332f709310ce449610ca0eb18d8e65ba11cc7713c7fe1a2c5904594d70bc600ee700554a0fee00531ee4595a83638cc539102c5801326c64a7cd1b58b2d4fa22b50683742818b2f6828a205f3a9380ca1044363fd5fb380e281187ef05b315ee061587cca2026d711874e029a84c3ab18969495021806291457da524f0288823c1480703386beba433e21a8c0962b39206c70a1018cd8dfa0a843d47857a4b2188f3c3982ea512046d30af2b66bbed6289e749eb5da6b7ec889b1dd2d7fadcdb939f0d7dbe56eff151230e4e2306c39877b6e538204040959b03de01a100d271176b77438e127e54e9f104e22b638553a84a1c40d9fe98bfad02024d4a3414f9cc03e80463b744f2426b4006820e401c78cc8852a251f330a1dbb4d009bc818660903084ed0fd48275a205b8fbc3170a951f1afaf48b5be02288c30238eaab7820f4b8b420c906526e69161141ae14f8bae1691885331d620ba81034b9b261d35048581f860dad0cf2319202adde8f38069c777ca416726439ee117aa4cb94f4e9638826ddcfcc0620a54140672c3c2685f6cd0e6799e96ae45a8d97a354e8e408a37583f38e55bfe804a22406a3b029b41a8b4151bb319803a1a3a73410014128e89e401813c22d5f5d94e06a4e6e442e8684272b00e2991082169080208c0000000080080001a08000dd2ea0be6a922b4a281631a7bd11cb1d70701b758275f6da78dbf35686db10dc43a5ee5467a93beef45a5a16219b526199962a0d759150c090e7adfc7e587fa0a011055798fde7a8f77d3377fa7d2cd8662376f3d693a7fc4f059e5b73ae8238cf9f8fd67e4530f6021cba3e2f2dc3d0de16604ee079e963c1bd15e4d00552d49abf0d566caf97c3e21ff13ec2144bc6d595415961ee1c1a10d6f1aff8b42c81fc5899d521b4659bed03fe67898cb1966047a8171a3815be6c84cd5cd29440b7c656bdf2aac729b957722491c07c85570cd40c3f1c01b5161e734e4a580defa22db3577ffa069300303a2636e779d81991b9f963572162300c550592c38f4042e8fc90f390c787f87ede747f729f4f3368e49de66df3667cee666726c322333286d3634581fd158d735a8f73ae02d8a8b7f41cdf756a6bcb06c673377b03afb7f27274f857ee01f10bca2926d4edf18eb53b0c66b7639ee623fec586746defa6f743e987736ab38179ff775852fbf1b24a246cac367d5d01721bed5a84b348194da119bf4ce90870364f651dcbdab3f2a355236ec38df7d7d25c5b94aa13eef30c8c4b1672857e3577e89765d8abcdc16df7d7c3a535e881d2a33b9678daf2a6efe1e85869d8cb5c350df34bcdba439fe093c6b2acb38750333d3e651e9edb634b0bb49248c303b4e6846e6eb94847c2f4dd8cf531cc3477852137d5ff344f5e9942ca9ca820b0d0bda41d2e86b192abd179889463830cadebe2fac5e51088f83fd3bf6adf7f32e79945d69a2a4ff798facabfaea74bd78a07be3983b329fb3b2cb9ab658cb3e458e473b891511ad4f20e0723bead20b97bf8cb0a51d8cc1859e4f604f80b557f73fe896516697d2a62d43ea84fbf887a4ee1963ec91bcc4113c20ffa0a2e5b10e354508bfb93d5d50c0a0461dbdc17c5a5b868104e72489a3634b782cea877569ab6e984da5e1024130888e1c7d87ee1f5d5eb9f29185cce533f1b58d1f6d3b07f211368d86373395af2fb7a61df7419567c74bc4d7fcb7463a1023d577f1fd767a01475f00c07397e3fae6850747250ec1c023e2e9288d748878be4c86bf8cbde4b52c700fec333650022e246bcfd5b2085bec83f7a33cde341a6c96fe96fcffd12271518dc80ca47cd1f34ce05a24e895dc174dbe8bf8846baf25acb0a991d53af1fe60ba8561719894fdaa49d45be75b997d5b1bec6cd462a900f071a45cbaed846093487c82c86cabe976c3164c81f09037cd48e17d7af065db9cf7e129980f949b8909622e7b243a70c83d2d8a1ce346d535e910729cbc71f805f6a0f6b7691ecf2619c44978bf23d79663c31c1e1d5166cc3ea5d83077843930b83f062b331e553a72373a5f8f6a45b385c28399f258d2fe88f881df39ce5e047b1c3cf87cedd3da58424b324f32b45ead1d91fcb5cc82ef7bdf8612f7ddc3862c831a1c20308927f9ba0ffa7b410a43262c3252ca0b82183c091d731b6a42398ac505071da52c8eee067840348e46a5dcae54f003634740e0868720e7de10e2f7f8a3660dc70624a327d03dade330c648ce2fbb0a75086e227f7cf109a15b9ba00757ed156d06f4efa3e215fc45d412d817a00fccdc374a733295146d65a2650623f98855cc243ba5d6200fb242c4dec686b0548131187a2c5d42b74f2946c0dfb0fee44bf109731fdbde996313ea1cf1a18e4e81fda60f83ed43592bd516d19d87af66f5c7556a3ed24ef3ee7bc1d9688f632856bec5be8a2848b3a3ac8de4a6b7c749d145e8c0a22ceda4e7e5d885eb1293cc24523fc392916d0119c3cb115ab7776e3a4276cbd24080742089039ed6049565bbcf384410ec342033b1ba9073e67f96cb28cf67887e00dcb07d0ee51b7e6b0bbab7ab868f3d43d51877b0bc04513ac8efbd0272952556e1946232f52929d9aad284bfb8ea226cd93b6c9bde9ad86a54132448bbb6240f9765fe70376c926a008eee8a56f747d78ff94f59ecc5aab982ab7fdfa3053f8349fabf59c6e9cc5b69e4d702207a8c1ce15b28df40c5284f75a4be10efe07ddb3d85c0c7c2fdf4c47fe8041a41d37de15c7e5c159321a7ecb0cee00365ad1cfcd69d4c3b04c40f9f1d5b1ec1f2070c0ec310922feb40b024e91c8ae1685ec27ca5e1b2e0ef1c63f0413f9292863f81e6d72376d2b759fc0deae28e18b7a2848c8b3e9b71d76f1a670e32c81bde9c390716b891f0bf7ebd741f209a058c83bb9361c7fed6f7eb999d0064159f3bcec6057316f382519df830f2259b3869077e7bf515274b9d60bc7adf125b86a78b2f86451bee7a611c0b1cb64e2f8cf18095089671cb0ad6f14269fcaa5d3a60691e3f396bc6e28dc6b84e95a971d4804ac333c9fea6d947188e26735396ccc6679ff0eea074e55cfbad7934addf0b55b936ee79e13800722e9c1e61756f1796216fa6bb78b5f1fcdf2efe082c28f5add428f00849e515908812bed07faf45853c26bfe46f8fe44da57a9f31c89f7cc6637e18bc8f12af829fb8ad3341bff9de4c3f78e38b5f27e6e577ffff273f02a2516603c12cb96de008cabb30385ec25194073224f528237c8f6779d13d189bbb82e138211e3c00e8bbd0de84364e24f2d4e14306ddf6fa30351f0063d44d97ff0e50ee94c9456c83cd986ea81ba772dc2adda2d7dc07b7a1a722b1309fe24080cfce139819828bc99a0f463f9d633c0c871826532243c19385d903f2bfb7fc719506fb729ef11a4fff528f393dda49a36721602572ef87ba0c4f922de4695ada0873500b87b74864a32940554c86e494846967e214e3a5271b4138f26c5101c1b514e8faf9d91ac5c98c38fa95e868200f747c91e1d3fd5a1bbb6422adaf82444df6b9e45618671d26cd0f4c5322f6db9f8c96582fa2acf4dbae40e8b06b16b0244a3743646b4858b278335874d6916ff6656bfa39cb16b21677cd4e8a29fa5452d520caff6ab7481c0f30a57990ba6c44c12581b2354f2ba07662babb482efd10a8d4d1006d324a3cbb0f5711bcc7b3fa28fdf3f3fd99f8a2f5064531c4eead03b1a9a65aa5870edce76f7a794661cc6ad2accca5c138e0f3a60e84cf3a399b2a38040971203fbf683ab65fcbc4741d3b78e25bdc4fea5e5b3a1329a2d9cbf552ede5faebf472fd757ab9feba5ebe975eff25dbebee4ff7fabd88bd7e2fb2d79bbd9efa6f374b20983c9d8e67fd254b0100e6c82fef1b67fd73f8e34c1292046a5b51d52a20b3cd9eb6b1b75ac06b0e7afae0b6743641bb00e11ab4310b0d170abb6bcebcab923e37296bda060008baf1995d062ef56561c55e7175ae75e8b56bc347cec1f7204c89fa2a78b20ef9ef4ec068c81db25e876d1184b8dd6f2a1a1ef23e6db14f383d4080bddf30dfe49f179eb3af9559660a53b9d96d6a26daf06974ad7be2f5e415d1c1d5dcfe72f01ad43d9e95136c039778ddb01ae91a0622f8f7ecaff3564e8fe650ec9347b8abe618068b700e3a352b6ab459770bca32cd2a87e0f317a10cb16a5e279974ba1026a0057758d7db4386d277c006fdfec363ef3c23a0d9ffe636597953849752b133560229863ab42cede64593f460828fdcff094516bf78e95c4979fadaddf4c5ecac4ae601fa7abde300129ab65e40825b6d754c5365dfd3d8afb49a4d952da1eca62949ca8df62e99db4cb4ebc0cefd0ee98c5e29a986717e0d4bdb49fbd0ae351d11074cf0c203599bdabaea14c9e2f9b710c32af71f8bfe38c785b709ee309c20ff3d46e1bdfb990e605791b65564d7414412021872c69924b9a5b59958f980ca68ad313c69762d3428b6bec5628ee372104485f0df8236e29ed0e6d3a02c0742bbbe93ff605fec9bea3798ff19962c4cfa0c2513c15dbc225fc7c3b612eea406de37f83df83b58e4152b8a7bf1285fe1ea776164750466f2955fa65f936f0a7d01ed73fe20af392e2bd465098443b6fb080761d2c0b92b312881cd847d4f8acbeaf0bd639abf3fee0a080f177191053b76563e639d615e924804e8aa1ef8ea0732b8a30fd93f7dabbeb8e492aa3db36b52bbf13a1618f093ae1e99f4d07162c9ac84b566fa5a54172ef5bf0a65183f02ebfe34bdf7a9dcd8d3d2995db78fd3d9a969a6554107cdae97a255297ba3d23d37516658ec4cd3eece7918c2bbcea1ab9497ea666537f2dcec5ae948a3df70ac69c613e158577b157fe67872f9722d31c6dabe99d6fb16ada242fb9ee9931a61fd8336128909dc7b90539c8829de4177ff6c2cf3a0b1ea51b36b06e17323df8a414095b357241395de9adbb069a178955d47a169f441d40398cfc92a4dfb204d293e089ca741359d0ef95c5ea5bbc0e98b9dcd826e9b1a0a0e65590ff490e4d8aa347b586f83421e65d746881bff70cb335cb71afa68ae7440d1d96aba62cb6b80cee9f8eac8e4543de303b3e511fb5c177aec6cb2eb2bf58617088b08abae28f2dfa99770945c3c00f35580add3ab42f1e5a93b76c599a28e18c050a8bc925db78abd9041cdad2479e97eacc118c845452396095635ffc6b786dcf29edec68c97a131be96e2eea41304982776d98ca4ae9c41cbad5a4b2bb96311fc88810e5ba73ee601baf88b6176d2ea0dfc4df7615cb7d634a6527f4629e5a9fb4416eb6b01f5e880911af99d177eda050e820a23a2c916d7a64259395a4f83a11d72c40d873d64c8aebbe77845b5b27c4515beae6b044dc5e018e29327a957d20e40951c165bd9f503a8f49c1deec241164e8789cf65a23301025ca43a5177932346919eab349accb00874bf45d5d56e4b2939bf5fdb692ab80e09917910040b70a8ab0e31e1dd3a7ab639c01d16735757456a61de311afc0c33a8d11ad8b30d80c11eb484989de58f740c1eddccb32d496a29a05270160bd47e66a562f23f7cbe088cea4631822985ceb8f6005d159761d7d7215852b3992b901be3f0c05f65bbb4ab15be395c755a944db0f0bdebe903410c5245789eca3c415da5840e88e3895dfd6d555488858565a90224e574a44b76e52b13adb12fc0b75d7ccb705c23f674747929f3f2820496c868167f1665bcd38c3b0afc751c3f2496c550c1f663936a22253b65ce4ab5ee5fc8b53ed6ad5d3f7ae45f610bd5a4ea3f9e0305e6ca5b181689257124449a838899786f0ed040fd7276d3bd2f0483d6239f27e4553b73de9229991766e80b0af15b54f4c1c76f18c2aeb9e297275d3bf83b42f41adb7181e56ead18667e36ad08c72cbd1f9120412e8a54aa8004656a4e61e20dc9d44dc9e754fecc365dc59150e36189e4b063f5d8f5fe88aaff92c7ae9f21a12d4996ec554c7ce50dae132bfaa842a1fba31d226a412dec5ebf97c3ebc802756fefdeb7d982f4c27593ac7154ae65196891d10d0485d584883e0748824c385c643583651511a0199ef8794c082ee9a0608cdf23377748907007cf560670bcf0c6f47a8813ddc595ca4c269b5435e455182e08ebe03f084325944be9322c4a53778a8bcf113e149bd9d871c137ab6058f30ae69bfa7d76d3e6f939c188623a3834c9d35177dc6c136276ee882492a159c61c03445ed612260652186fb900533681548a28d1aa86063fe11f8d32a4c984e363760cb1eb4641074f9937787eb86e3fcb3e855accd1b2ee3a7ee89ec401e3583267c671e766db45b21f219a524c06f444030377d1b6ec562d3d0269dde3f0af96ce2e196bfec23bad053a8902f44da2ed1fa08e60a5abb7655ac2de134dcc85ab185c2809cd3abaa68bbebaa989cbd341b3bce7fc30cff66b9742ee925b9990486f3cb6f97b01284d853190bbbc76e6dcd67b68cd0555abd841a9eaca21e0e0ce405a8f253770923e13e11dc397183964703122ac293edda41661ff2c5ce820e5f0fc4f530d76ccc5ad99727faa3b8e13347bae003e855db3c7ce04928486768125e0ed3ec687be1ad76d53b11cbeff7804bb8662223902fb9dfd08332c3c89df0c7d8ec2c050375ab12f9920b0bbb1ca63fb48e71d409a498ce995fe0c29b134f593046acce87733541ec148ff03a11e7893c1e4e716904735fa6ccf25626460ff44910d1b42a2881c340ae8f444629b6a3cd35ba35447fa76840b937e205fd4b980e9409cacd82796e377380a9ed3699875a3c48cd4d44ad63326d7c9774120c6e85e68e808f354e6e57a00f37e44b47f69744661392358c082f07659a04842a1691553470d46e4de3f0cbf8c15bf8c5fda304ed2ce7fd64cd042fa2f51e5ea41d3f5852e167d059ed1ccdf2673cb59f544dcaeb58fbda27d6df5788d09d82b5bf0a82cfff42ed57ed3e5e44f6c1f5047547c505d515b0990a744f566164a0a86b4a3a77e47ef6bb070cef010dcd15f4d4da091911e533c1971e4a91d7f3cd5e2286822e891d76e4eb149761c30f39b1d62841ca7421c7d427d23a0d917a972d4fcc2d91033a98e26fcac82aa12697a7e484ae252a68da1912ad4b6eb0012feebd0f4aaa4946aca48bf83c9b5aa8c6f977c1ebac582d4eebf0fac2108a88c7478c327743fccacd4fa475617d97f7dffb56609d83583db1d4ac3cff875dd37913bb1572642f09289253e4eb1740f0f065585a2c78e90172ad4851ce928223fc457716ea1ff2f569dc2c037d149608e442a35130e82f096546b72169d878e4bb60d7762945194415078f9eb0c4448ca9e5c3e84813f5204006242c1a309c1fa8ac71b4327c44d5d374e41b922443286a557d7a8f183357f89f9a3bb40cb421bcd48eb1ea5244d99a276e841a79b9d1ac46e51394168158e3d31afa54d4edbc8b193e27d60501ef2ae2fcf19d9bc7368f027c46ae67431e996df8089868025ff724c017d0066337600c940566c4679b07c0fcf1f2f5724ee4b6793c175e22087389fc920c922f5bd5cd7d1c258d0286be42db1bb3c09a6921dc6336e131adf4df850af579563021c4e4b9cd9fec30bb36a67941a83e355da678e757c5d277f43b6a7a614952dae4edb67619c005384a2dc815604e850bdae9bc18ffae9344e6f80d2555b9199315bfbf8b06d7a3624190cffb7a5d478060d525ca286743c54b7624a7d06a8279ba65e29e8753d7158e0117710dc7b8c0a25f0446264890dbd9d86478b00d8de6dc4195ebb3beb5cb64b5c4bda51632267f5c0949c4d55d18d1b1fe5d8528a757f48662752a25a03dfab56b74d2a5dfcc62f5f08398b924ee7151e795dab56d32e72d5573fd4f07aa2897d6d00f7138ae0cb34d7efe9df047f8d079afeeb25757d0f64f073cd50441a10be65acaf8bb5b6bfcb88bafe0f5fb865eab7a28724523d71fa7a5dc7c9923b3df99158a643377212b804c8e8be50d66b93390216f5ba0ed2c78433e47a63986369bb96b116c334a479462f70a0e0abfc2841915ed7057ee1745002cf187679f4baf66d3c24d80fb03a9734e800e31e89703d4a4253a656cbaa8012da605a2d3738ae78aa1e538b3e2d897662140420c97df9a8de37f68977190634282cfc453bc2796d2f84ac88fdaefc0996a6c754b1dc215efef26381a12bba01995ee075ddac3ee1bb19d2145cdd775d1785764d1b454fd6807973499cbfb0e7fe93c1153a2defced2c73fa6d2f50544d6d55153c05677330067875a055b9d66c09dcbf9ac311abde7d3dfcfae7bc3d8c799c3b8ab3725afa3cec3f22802b1235eaa59538bc0927fdd88d0c59d9b9375816ce3815e755db77683f9e7e2d0b48b10fbe051e9269215474a2679adae9c926c3da3ca6b29573e99ead58e16e7b3194dc608e751e21c9f32da65b56df9ae29b6b035af6cb169255c3ac3486baf40422c479e4743d46c693819f66294427eaf40d78bb8cade5c277b620d6a738fd039009468a738a664f05dcdb90f86fc193e69590bb8a76197abd9c8d08794124f28419450461ca114956b9609d531f8eb2fea380e9643d414ef5d9d211e3833abc23d89bba0a1a350039edc7d658a28c41a89d889a4a5249fe0ffd81321bd2aa7a424b0359f24f67c67768d41d003676a8d0302256e989a47e69c58aa1cc57268edb4496224d3f95e49abff961a2b731f839e5140afbbaa86c86ee48d874647dafbe52358100f96d9ee888c04c3963d563a756e7713bcc7f19b059932b8f92cf4d385ec50c0921109673c3dc341fd7d223a260db08348bb62ef28db0f9220e474bb349b5b293b27bd0a03e0b10509282c7e54ba6fe3cc194b5a2f27dda9bea7a622f9481c9d3f85417a6ed3ce1c3b76f2a0c6539b489c1069f886da642de689226f1ce546f8a78b5d017bac5d0d63cb5785a91f9d4039b2d724d3398c38ce0c8daecbc9ea75e96840f66f7decfb7f8c5e273efff568a20ad081a793afd8ad3c50769282707bb68ea603e9cd08e3871417987a5668edd0a7514dbe0462581e4784b5d6dca9dabfddc00e39d4d3316f8b3968ba73cfd817b08760d2b431d5918f17b02aa1017f1ce924083f1cd348e2708895ea99d8a47bf803e528604c2940ddf69a81f9688293cff8487889bd4c0d5c01ed68c977c5459b2f33de4c4fd8cf87482d85cbe84d9dda0b0c319109487d6147fb66141095999d1f72a5ff4e952532330fce9a9e379f2c03824fba362e2f7220b9a4d1b7b721920287d623288e723a7d7ca42ce19f82d8e65140e619164790d0742075290739af27e17c101fe86645f3af94d673f4c8a8b99a938fc3c14196cc017b405989a9a0c6eeb47aa06a9636e06eb060c99d3737d014d41769a654687994293bda9af6ba8f52876e14286dd063e099ca31b42358698c8ca564f2478c26e3e60cb7987ccc13fc6aed9461c78f7c43638f6e66586241d5b188c21b2039ae7f357e33e37dc6608cd6397834f3efaa4400dc2113befd4244a8f674f4f861cd120d012e18037d2195413e4ca37007fe1296459784647f027889b167487cb75a3a4a04f29e2a17d0b49070207086efc762d882f792a2b23f28c1a58fd040c1dad0de2fbaf6683b1d2bcbf19577ae9bab8c5f319c42bf7e054bfe3e87d2e879d76c3b449e5cd0d35db43dc9d867a996f9c763eb2b46df7baa5145efea41ae3c11beb188953d714a41da66d1280cffdaf91a7406dc29dd9a367ee945828bc0ddac0c24dacf8914af0fbcc07cbcb1baebc6c74dde01e9e8aab8fa388d89ec27502643f80a1ac1e40a7bca730c7de01a25fac2fde017babc47bcd32768327cc6616b15ac52a0d45bef77d2b8a5663bf4c88854e9148dc5bdebdff3a1de192547191e0f8072d1b9a654e24f26bdc8129bf1e8220a335b427db95a57d7debe237a75eece91348b187890f28df3a5d1159e67993f234c850a4fa58e0538d5910009172fca85db68a03fe951ae3da0285c744226a3f51b3ba8b9383f49874314d6a659c4b3a0b9171c4f0b61b49a0b8d2fb4b438a7815300323540f9e5366761915131091d6331174007903083fa95059c2767bf8dc65912cb29413411792108b8de32863e14fcd6f0266aac3e07bc6ca6deadce64b9cea1475fd3ce4ca80d6881c9d4e8aec93a4b45c896f39a6e2cb348d48179bcb8b2ef066f38adaf4c55b3760d3c3253d5ee404b05808bad1c47cfc7217b6ce3b731571ddf377585727cb54d04e7e816a34bc4eb02f14f3b5c6f72ec5ba137a83cb936d3b0ed19a0cfc29c42886382eb205ed352815f68ad78c9c70c1a7697f07698ea39e43b5ebf92e5cceacd45843dcecda98e5a21fc7dbecd34e8bd8a02bbea9c81eafab707ccf65bc1fbf5bc03e51ad8f85e6ca382038f1d5e54046845ff9970a71b60302aa5f12b3c62a0bef4dc5e4a57c91a8131fc26484560e1781b80f721041a382a04018da04c03bebd50a534861bac8a6860ee5698849aca8d9d59e76fe0f50554c085de5d9b5d12ad1005bed30e4f14692528dcb789004290ab08be7e0259251c6b3dee52563c490121054a2ca312c4b053d6f3d97e0ed43c0348dfbf72066d6e752e153e67bfc38757376fd8487f38e8fafbbb8d4d51a1ac29517c68e3995a44c88ce8960086332d3404aa9db6273bd92aaf584f6a85634ef3f054f35f3c84a4e23c2c8c62de8237e4d1ca8853ea16c316fe4191f234305a27ab318e1cd10b63bb906ee5cbbef6bec18d6eda4046662dd0096ce6552a26d6fa3e68c2eb07214056f929a4442aaaf9671294e49f4963d7707ba6e54304dee03405ea909a2d329db67a6a55658256a9cfd4a3a6db30ca7c35196aeebaa3f6f0ba075eb7759f2a6412fe35ece80d1af6d17f018179bbf51351d38b165cf468c149ac0bd7d1b2d09cbda354ed1100f1e0666d386b702344a21f5241bb985027f647d31891bcb3b6c67f926cf3977b6f1e08664c6139b4b13cceeff214c15c8259e51e7ef91236c5e28ae4587566d640e3e4c330bbc8c44eea1722819094c4cb9ac1b7731e351e9089286ee81c38802eb3d9009e92861909d64c1b11f0edc6c60d17b4172a31e065fc212b6bc09b4e9639236c0c50dbd586c0112cef23776b9dd5fab3afb68082741bbe609e9f4fa569966b862f084319d42d0ce5c5eb5a7306b8333cae9448e10f716ce00c145bbc17f21e87ebda2920eeffa787b650373ed9b37cc1f5e1a93071c3d8545c78614d79e8c1d693f513d4c5273eb1752b696cc82fe67c0292ef700b64ec210d666e8b4598fd5d967a200975e4abc2cb7d6005410ddf1ef32cf390b6ccda0e4660bbb84e88e468da1925bd88aece292bdc6a2e8bfad147d0d849f2acd3aae9096eaaea80793a96998e7c1681292128ef5398cef6949f56e9ae4e4f19bbf7e95c59dc5c5cb263812ca0483e1abca2eb3b645f5ef888e1d8508d696f93067b82db993bbb114f171e80c7a5cf617f1c7fc467850fdd0acaa6aead66220faa08dac08867d4861a39186f9af5a0f2672e4910c5577627f34fc194d0a87dab3476f42b096762e33a0d6ff7edf62b35c33ffc9b048426fb0164bbd0bd7c823c582fd340192231a6c4876cd3853b404ea55d51b78bd2ab88ce1ca04a653d6693005a76dd15612d33603992d927870d2f3ac026bdf06e66fe4636ad1a83c0ad23a56660bdaeac361cf1bfb806eafa409fadaec13191482b987c5061dbc8ba968dc0414de658aac559b7014a6913ee93050d1955efc9ed248e2121df4a85027381b7ddac53eabf55b14afe4d57fd07671cd0a8bf658e8fbf4f1273fec8fa1f696d41554ff682d9c73b8fa0bda8515f4b50279a6b20d5fffedce47c1b6da7d6218e8fc46230b3b18cc5cc1eff830e7fc1e10a0e1076adeec246a82d131200db8ee761e96d8b18841f1d6cc3f9399ef31d437c036e309c6f6be2cd4a2ef2a84c12a91364ebbd5c6222619bc97c2ca8cdcbdb0d80ec3407a248c88be112d935cf7eaddabebd3d5532e17bae21c052acee9ddc6a459759f6afa33e457d3d6b9ac393bd22f00a46e395ad1f99d8896d1d22bb5b331ac7a94fa1454147c06e38accdbb8fcbb2be1bded7487119c28cf953e3811ebe6a9454647bbcf7d0df8ddfc1d56def80b53787c96f348c0efc0faa8f0a2af11d2790b7a8a6b6d8301ba5d4d48f0125b608509a33151b001ee099b2246d75b98757d96f49d7f9f428ad7ae9ca6bd18ece16baf6ce2d3c4bfc9c55d908f63e768911798c2043427b492753039db1f5b366e233d53e26efff9a20e581cb839df1b3d6dc235d3e67bf29dbaa0280563877a9e10086f9a9064744220df189e5b8db8a34b9c3d80a77c500af17d8d7c5e680601e56f9cfa231f05a4399de69c5c1e15ee092f7f76dcb7915f83d7c81102b1cf53240d657083f3b5989a0f550e12596d333ede4e189ad0c1f9f15ff05fbdb680afa037f3fa0827da99f853e267ba2fa83a4282ac2494de042a0adaaf9eabf9fee8b7f8cf3de13add1fbcf043e96847e1302dcb38f686488a78df036e6c38bcea59081c469943000b8557c0c6527934d22b80520ff9ac22b7258f3bf25827c2b7601685257addbcb98e9e007404b68f8800e9bb0eea3c5705d922c61e697a51796ff6c6a3c2a53a5946eda201faeeb6d4501e1a5ffae9a1bfe572ab8d514c5f504869d1486239cdda471939c9c2bc65e68a9a660537e8282068606f5da499f61cea6ae951ba5c27d55c766fa56cd0c25b1d51e78b52f7fecaaabc509085e94ddc3df1095ddd8a983579afa5cb3f1c89fe5350a7f4c38cbb513295a1e2f6946565c8611246ebc3dd6980fd9b531e372221bb3188aa85a5cef837eaca49741b2e704138e3988fff354c35cdb4dcfcfb1d97249ecfce27477c8a2ddebd75ab566ad8ee58c6421898f26dd1210098b98b5bc7efb728b2400a52034873716d983d61bfbdcfa80d4280427db02383e35fe864d568a84f3cdb06d67adc41490deeee8b12749b2ae88379c4171f13dae41b9cb5341bd3ce3d52280afb0be69a7ec257e3591874e4efcdb0b1939be8a9ea837c8212a04bbef85ddfd86539400ec6ea3a4573527322771923258dbc4ef12910739d13b60f778c7ca4e00e9e55d88a17c7d2e4b0a8443c29d1e4cd1a75a8c6a05ca1d15ce20332e15be9df152e81af705945c00dbb6214d2a780a91494453864240927fedf6ebaea58a294d7bd191a1816f9bc51156ff3a9566d07f39ec6e2fd841e5b47e95dd912a1bcb15bce8a462d8af0f6329de4e190459aabe064ff7ee0d68166f48b415835ec6d4862b318e5e2031c0e0d4213052252f446c21941de850b3bfb9b427b7796540e0d49145fb554b5ae7494f603de559a09f7aa7055643966d53f84bf4cbc130a7f235639f4f89093eb8fb44665c58b8f12c5fb07a572366544ba638791f47cbe45828c5cb3895e2d0f3bffea3bda4b30ba357bc337f88d725768982978aea6aea937da0ad9985f7aa9001293a214fa4f8d7fce10170e47d07ed0ca681096def0bbf57ba28e015884f63e3d9e880039764091a78337d8cfc6e49fdf99bcd5860cc3bf0ce542ea6c65e8f2433740d0c0f7aaf306f5e9ae1c6ae95d35cb72677eb4088e090cf04d6f3f8ccd08ca36bbd532dc7d8615544367ec1caa2bd2e88a72b60a53695bc231a88c365bec0dd68db17b854529907ac5dfd75b550d9cc73ec6d1ddb5f308181be4a97b2ab452173c5cf7d11e76f8c0cb22d092a80172764bc22993629d1cd14c01633a21bf6dbf91fc500e053c884bd013827b096a39f9e31b6cd6abe5e18c6ca5304ac81773c792173d20605cd26d3919fc96c7ae2adcbc1ca2f095a3e860fe2dcc7d844b55b9479069bf306d842e7312edd0cfd9b929950a1728971f9dcf308ce3287442bfd08b818d7a7e2a6165934d017381f4023c8e80c4d4255ef79c9dd57cf4eecde24ce8f579b7243754ce5bc0dffbadab648d52360b53c069cb71e9ed0f9ff318da7fc7fb1677cbd6afbbea2fe0f591e1283b22038a8631de283fb20bee0106750d2bc17287fc8b69af47b1f8694331f0e5822e464355ba29b5035dc3732fce3b4d11cf7b0f2f02f93dc35fec6a865a17225439a8d91c921c04ac3cc63dd675188317d4864b8b40ae5f3105fcff1d333281f82e6a61da67a58fc3b29f89e8b4aa5fe8c423d52b62c89935672ae63dbecf540b9cdde39b9188bd2ec8042de05831a4e2deae85e7a6c0c060b234ac1db7fad481309db117574a0cb069ceb5212073cab4e5f4ecda51c990d01da30740ce890549d08cb07684b482dff6617ec8bbcb9db1f29cacd520b6a8b8b6e8e4bf09076dccbfadeb52f98067a82f4010f8aa37bb16039983a31cf0fe501580b116008352bf930d9daaaa7e5300c2fe3731fc24fecb1fddbc3078a1ad49caffd0a3f9608ea157467e012461d05142f51404d5d7387b9e7b195325158b5d7f0ec67014ab4cc8e00ef8f4eac23944af6f7dbf0bcece71b4947acd5ff6cf85071ffed584c6e09b82057b7dcc1382d44146a4126da72aff4f64569125eee667940e84d7c619bdac71f0c4b4470a45a216f4c0f613c399fbf70abc83fc1cd46271b5bcf459117f1d596d7e43718ac394330d9bab7f5634c981fe38df5ab1fd7ab4644d222f0d1c8dcf0ea9ab649bd046dfbd3a0fdc5197a26491e6cc21e7bd758897a199deeb69489e276354bb21ab5fe6f23e31b99d89f962dfcda96c16cf5fb0d6da84b2fe4aab55c184f8090fe487c1459f94338fc505a20359b5a011eaa5dd5945148d4cff36157bffdf5c0211c0cb48ff3e00ce0445c8d616073cc434973d763fe066634cfa41ae5359f39c132555e7ff14ebd95c5d5e6ae4589d66c00cda2b82cb98d8e493ecaa051873bc7452bee85511133ae0c458b6135b4279016593a43b54fa421e4873014f3938d8b6340a2337de67568a79a38050f528627d833480704db941ea11ed468d394ae742f49113c4abfb9d4bd2616d2ce7207aba8c910815702326e99cd0bd169b30ab047f7580532f9a8c6dabd285043cf1f7e5a027a5820accb13c9f8cfae5a7ac1db214c5e1f19b2257a3d2474176430609a36f4b6bc823f161aff09c73cbcd9b0dc4b14e1612ae063f23d96a4f1c270431fe5be1c337034bd1327c5794adb2d6628b859804812cf282e324ec2281880a75e1a619cfabf62f0c8b5f56c7970aca5761363866f5c3620972ecbb518a78456dcadb200028631491954ab47c9a4f22f806774bd6a5efb2f9ffa08505cc44ad795454e48496b0f27a9d4924d3862a34457a696a4e1e270bbb326ec6b1e91e99dda07e80ba1224de7454326dc8c2e7670530b09cc23429a507864becbb585705deff308fd519963fd1ec4c6e8af5354c1b8ec3bc3c5005c43281582d2a732cc6312ec8b807e91d7a344b83ac3b6cc4787a45407b2fae3e693475aeffb1ccc60c0295c917ed3d5a329f0356a148e5c59f06b40c79d587cd32cb55b314c1646a463a10b3822956ee4b77889ce65d56d64934c9a3da11058f91419a6fdc85feb9cd2e4dec375e91079e8e484add37c4fd941cb4af1a3928a19f444e76bdd41ce27ee35623f51ad4e8f567c5297379fec78793bf80dcca6b2d60f0c1d83e2295e55717d60e02c7e028d4c708c327ca2e3684ac5818dfd2449a91afe59ac06071cc381055ee664e9d245c90d2b192cf01683170eddfc1b3b33791c37c46de0fb16a7cfa09353be12785297ede4dd128d69ddf37cb20b1953234a17e93a9cc2727622d23dd399fa2cd27c7419193e20fbce6a96d6b3845cdfaf376c53d2fe2f3d3213263c78c327d46211628da4a5d1beb327fde3a31aa2ce71c53baf3b6ffbd9bad6be0197ca667dd84e67dd5a7ce2b5e002dcef000f499dff10bc3345b1f88be52c54b4efe7ce32938a198d79c26f08c0e1fac3c47e267cbc0155fe8e36ab00e1ef0da61a984ba98f794ccb183d3e285c1fd32cec430a353ae7115b9f160e2245511e781b3103971797940b7808d1d1e9f0e3253d63a1b2ee4f44d46822dd34681270ec7dd7f8844d76b17466d650a5b5a721abb44449cf7b539418af2366e3f9ffc82e325d0191e603397573f71dc634bd2d0a047e7c8c25bbd1e0420a8be70e26a470ea133077ceb56eba905cc79b440b6aedbc3602821f0e5f3a800a434cc62db0e11f6ba1e28183b40188f791ec358b12a5f1f681c26d9aa7f539c595fd22aea3b86ed49190e4411d8ce6edb5040db727fc8bffe6fcc8de563bf0a036498168d5f5f0fb09715b3233911f6946ec982138cc42abbddb9ceaffb12aea441cf6d16f2feef0caa6db6a19f52aae4ef56ac70f7c99df061813d90b16f585f3298b6d860cfb1651df28cedbeca095b0d4806a6af132a9c985be953ad3c3cc8bcc580c4260fc6296d57625bbf20bc93cc39e7a346ac70c16789e85add0a46a5e3216cd9ec7b3019f96d55990ebe646116a89863e726df7dae8282035ed6cf24e9e96f0f79353971b394c8ffa2f306c4bbcfa6a9c3726f81f40dc008fa908d1cbf69d925829ed690f9c24a90a5ec06ec133d9a66e46f84d73ace0ffd1ce119cd7ad22490a5e631a9686c5c508e5e3899946efe0d3322d82a0b4ce6d3e7b19d250e4805ecd7e04e1a289b508cc14e357f49def90e0b736f3fe22500cf7ce0d412fbb6956feda0de249dcb6d08364702f60a4aa612760c27cc223f5b6e83e51f8267aa4f7caf21b2775178dc63fd89989d0e747d6e17434c4a1aaf22fe34719d3820573a1d5dee5c72abba8ca2a492f9d3416ba74ac887494bffeae387ec0bb001bada2d8cacf22d903dc253c26de6162296089639f36b47f48cb9ab10f7ec74955df2220e4838b3940187820bbc04fe4f5681542d94e2cdc220ef11d276b049de08e73e8a5e3241022e4cdc40fa253df2ae9abd51f35ce0d2825609b293f67a0e83b427c62213ca124ba4e546441d574d9454676f31ca59bc15cd2262835c0ffc458d90117252c50e21552e82cb3e2447c5dbf8454012fcd4fa122474b3c699c092b14720c12c5795cda3543e063514b4e2aab99c82675171b163ce19dba7d789f3f1e61275bba1e4c4d576d130c372ef3d3e5e1b52c2fd425d8064cf9ff206bbe7031333ba7fa7ce2a8fb0ec610a38ed1ec1f03efc1194d4363ba4cbbaa6c1f5390c363babcac5d0677f2a6156ae39244de35d66e536161d31a03211800559947b72bbb570ea69ee093fd5ccb26275ff740bb3e50790eb6664fd9ab6bd7ca7f125e71bafe619f4117fdda7e29dae007e2cd0a0e02c1c5bf70ecaa5841a2ce50ad48e1982fb8f1c319fd1b21ccc1d460f8f753e7a7a9797fa4f2fe1d90368dbf06bf80dcedf1d1813ba13ee144ae9055c296c5fa3fa729d5e2f32375d3dc69be6285014bc56a02e0df539ec27d89b4161b177270f9c77600e0588921bf3fd77d78fd9e931a7f3a64ef94ef8e702394657013839f9810a8547804f74bd8382fbb5f0c5c951f0f00d8fe9f0f86a31ea8ac1e218c106c52f52eb4334c20872d8275b5f4ce69635a1f9eea27429ad8245767daf9e3a28f59cde2287cc16eb24010d786e081b69c5e59dbde9250069917a19b30d33c9c2d5b0c2d9385d4d4b489e2ac44eb709444e010158e4bf53eb61d668c06ebbe135a83ce43606b2e9ce290964dbcd6e157a5555fb1953e100bd4911c587361d0b6855dd12be0b57c18fd014661a2f59333f54acf8a28b27d0ec350c6f0959bd1085a8bb83a20b061c71196372765a1443edacbe76e0f1c52a12ee03a9ea840d4edd1637babcc8da79f1dddd56e143ba05bf0ebb5a145b78ece6b940ec5abac9a58f9008821d320295bc534c82aea51e55fe815c4d37b429e356d0e1d68d6eab00a8cb611bda50fe52ad22428c959c01ca26a8d2f2abf51f28ad597873fbf281ceded7c452d5b1d5ac5c7255acde9aa2038d4322299304f9701b545d725e8941b7e77514b19d3817d639669974a18b457e482fb29182da40791ae701a75051372ba27e6ee7fa9b4c4f2d58639a1bfcd6e7a60e823fec506f636057fdd698d6d25e47f8e671ef059c24bdac262714c5ab75ed8df1c4951c7181945b7a08e34421dfe5d329bb6d075e5e6928738f4e3f56dfc5cc018cd11b673011d112ee4bb79881b5e5372951043f7049af7b670bb50b8ccde7446bd0e6ec4615eee36a88139ff4145890da0e1e13ea535ff3f688bb72ae21dd899af98fd30b0556209082f368a2136072ee896e08c9fbf57d38a1530ef74c178e6cb449443560ee25a8c8adb8acf392edffcb5e488d6c34c72b29d477987409ed232d8a9b6e52fce895414c51a39494d39942bbaecfe6976a9633a7ba3747ea63adff14c39b8bdf8fa651c2ae411a0cd0939bc323ff27bc1872bff1d1c5c9823ad57de9e47a141fd92e30eede5397393c736bdfbd6b850d624b89dc2072cbe2a99b91b8c5d3161cd533d2589b38a1d6da48b1394514e2dfda05636085da3504a1c999742460d1ccf990a7e16ed94958b890e94c3a083e25ab7b0d9b682255b8f066e19cf4a97682419376c6d3b1a18f92f0cdee665e73d7ee98fe29413dd0ef382acfa42fdd57cb3dcc5eb49889d111e0c5c4377ad72c77d0e8a3c670de1ad64802c1f25d9a19246e014ee3216d314ff3b8f0efa75adbcf971ead74285b95e256348465e5ef2eeb1ea63027932a100824e13a2c996c491ba2009a05723e142200a1fb678c20843b57477fe218f975990404012c6c67d1b3cd9e080d71151837a164cfdb1be3230ebc65daa18c40f54752f8f786c1de7a9314ee10363e6d9c34d498832924b336fcf3f30ea2e766b8dc6d8c118d87a6ded85c60b71df777c74e4d66c55a64129f731549733ad9cb8af6af795114af03cf3023fb56adf7d31293a0e7c4ab60f01728a903ae2d857411d36a3275daee2e50fb4422745e54cfa567bb6463c7e6d983920bb2c2ece18df33c682ee7b0bd4286d80cb713d5ebb2e8f7130e9121a359a346b8244ddc083bc7602255fc78944443281fd908c884a5057a33c8d98bbf3a087f7a25ea3724ce2dcc495c83f30c16c36f6a5c5193f6cda480d379a6b1ebf24007d663589f74b9494cfeeee15321782102e690f896177ac1c689638bbb00f1278a5dbf26f766b775fbe7200d9e573e09b0a3c5f1b0fbdf7d1ac94937e5c68a12daf6a487ef382b5cc2d187205c1947bcb83a9007051209ed768127c019458864f9bbef27bc04fe7680f20d3d88f9ae0961da09ec082aa4409932facc9f732ce452682c25959da4384399e112ef19133bda3620e581476ba22765bfc2bc05982a05bc7b858b06fda0b25da5a3bd6d345fe4b4d8cce264d0982487d7e533447cfeb2e1d7cf8d9d3d304bef879f6404d91e7b9c5cab048dc2a8fd582d0970d911c33cfcca2727dc350dcc772dcd97035fccc977478e8f34104af77ea83d1714a675fd76e8caf60ddc6b62cf66b0685e17f59a1b0872b293a4553f895dd9ca244a2f464a00f2291b7b701462575d0fa6d8065e1ed813863c51b33c81be364155c56152842c2ca1459b71a233c41595b09808c407fc4981dae88b2956a29a55636f8365fbbf5b52b427494c6460d9e89e77c098912c4f793313777b6a9e1edfb4c66a717308f3d38031f8ec81403daaa8db62ffbb7fc9499d4076bac818a5123ff4ee4590bd2eeff6c0fa981a6ab340463561a002a2fd5e3cd67d3437156d428dec8cc6267adb07c804a1b6d9883a923b1129d105974226f8a070622c00f581e153c7c0b2486a34a8826624bb287bc83964a5561dd681a6547489426e7b3feb23a8649142456646ceea658aedf2334a05623d192a4d5c6c07836d85a7ddb5524b2a4115d207971644515448942eddbd40e9c178ac9e9098ef94f664b95e0e363d8e17e2e2e10b868e0071310087122f089bcd9598707ed296d6b7bab9f5a46923e0ff86270b4f79d4b2e39c3f76e6e7343bf7960b4c908b46eea2e0aebb260db3a5c3fba11a4aec04e1752e1af18ad4317c43a637cffc171fbfc425b9f2ca24044d93c6c0180b749f8d26f21c502561cf538d3783d9e6cd7dc3144a5c7adef84a8f92152cf0043e836f0be6a81147e74d6709a9f31e09fca69926d323bd69f23f52c62081a4687cd9dda49b9d9fa98274dc86ced70dde32981d7c8ab5dcbe4cdd8aabda817d1f6d7b4c9997786837fd78a5986c119dcfaf1f25b0fb33508ed66ce943ec2abfac9b4f0963861c1813eb5ab4379c3a8d53f379097f08496e594b356ea6c84a041054ae0081727bb65e2b33f2a162f69abc09e48b555dfc7a2312f2083cd9eda47a5784f470fba4045d3c7073c8385c68e13dc0838b19af8e9e3bd3239947e3530690d359c933e4d55d910f34a3b50141a37e89182cfbd0f26e8b4642621c76ae67af5309672e8cf82ae3e98bf695fe668f9809788a23e3dbf56c28b8ac938944d8eea03ffa365f807801edb223542c50363f54743f503c2fca720f3e701eeac3a6571f2acb3403efb041df0686ea94976998858af04b433dbbe614b38cf6a58a8ac49a97d9b9a3a45c25f13fb63254ee3cee04e85b125db7b368aacb55c251ef17f4560b3ce8c0bd7e316cf08c41139afe4c00a72157826667021772d15e1e6df300f4cfcfcd3d4d2b1648e280727bf3f2c91f19b8609b0e4c579a74771ec2ce1f21f01739444f850f735e395e8080f7ec8f3f0ec009844e1c5ac5ecbbd680aa482860756211b62054d67b103b04ae08947215db6948d82092da49e0d0326fbb5a3f900ef170747ce1742c0d3b27b41a6c285713b78366197e38fe1610f01614f3fd19d3817e350d7790b66212eaa0856dd92baf2683824ca4f3be7761f4e936da7154ca3c0d9ecf6e64516378b5f0e956fe4df35e3019f79966eb4dd0e7ec89c31a36728a0eae0ab82c6643eab6235abd116ecfcd80fac556fb7d7e3c9ad193ad6e3ab653ecccc6a7bffaa2008de622fb31a29e41b2f8e6c2eb9b6193cf33444b4a9929810034f834f3756b959db992f0306d88a34aeda712f9b2904ef89349a15f38180e92b74b37f15f654fd5a84814daa6a9db52edd94600de64702cdd538e0e969a4881fc9699e0408fe7a10c2534fafdbcc76b9cdc606e010a94a5653486674fb121188fa4bf909414e7dbf06a6259e44e181ab343efdf072aa1893d32156b29a62a6025db3f0fd7504973f30f8fb9048ab79b0b6bf788683761f7668f013b2cb3a6f60e5baf302a3bc744572789f42cef6a863de063bfda87bebd315c6be95c68f03e556a96580d4e46b6ce8cfdac6bcfe9c4d21bde6d3acb358b79530337b8d26b5f00e36d783d68e8d2cbbecd95c15c71a0eba0895665c146af5b06c5caa1fe48a8d5e16f294ae206e930830b5f659f1bb8d0692db6cf3b9963a4bd0be1e2ecb2cf990095263f29d0c36cef5a0f8b52bdbbb7c85e632468a645abbc54de6486bd4705fa6a12dd6f64f13e532bb053a1b4ccf95c8075441a5f7965ae0539033439e9a620838e67af8e05c81a70b381fb4970b331b76ca01189d7a59132765d8c701994c48f0b884a7d0836263f17e132534c03fc393c24ffa379921d821d94c81c8f5879e0dcdbcb286906d78dd818b4c0c30e4b2ec641420978bf2f57345ebd6fe2cfd9d2a77e7ba6ccaef3fb2306932e0ab19b2010a084b747da84c3098335aae23f865e841b401ad512c04f5e5e0eec5275175b485170879ab4606d34a37bc9f6298d586c525f60e40f509c71ccfc9da15fe65539bfaee7812ff44da97ee71f239f484548bd994c9fa745873c5365c0c244978d861ec7c9c6d10011d05978103d614331903a30b4eb1fd7b506c75b32ea2a203508c8a838c6596ebccf90cdea0c28ff8c3374fcbee6092b619a6ef4d5f1d3ccc190717a06193b62dfe4560e69a9daf9679e38e8d9682589d692e5ed2edf3e97e7318d44dd9559ec4e74d92ecf5b506ce2625a40a2bb94b1fe3234ceb13a151458fada1466f941ba2feaf4c6266d513110e7ccf6553bd1c302cb58044458f28f928150408e8f4171f39884c055901f201ac7e4d520f0d5205f2c3530ca51deeceeda982ab214ede486b1307ed7144d241b070bd3102361fd0ad5d2a30ae1009969e4029c9adb1411e2eb01909d9cc00b4d12f6681132b142173879ce6fc45aeb4ab1a998523d6e087f0eb3c6d465586d84034148bf279a6604dbc2c94df2c7288a36e66ce1ed4ecda80d64434d2f187f6ff9ccf3253006edbe8b2b07d0c9da7d45fb3ed4c87ca5a1a9ec41c857400b8fd2c009c3203004a0001a00b52eda67e3d5373bdc3abca58532e345870978a83312ad08f38fb18d7e08318eeb2727beea77b8d8fd3cb644194051e546df0b26d2783d23aff945f655984bc8b2c54324d9053020dc40f08f5428fd09066a133ede2c64c2a3afa78c9ebcd0e81d8b7d698b8749cb07114e380fe2d94fd837afcbcb9500e2df5b426c627c55716e1defb3819d0cb69fd57c6e68fdf44f6b5d6b5c78752b4dd4af35082bff4349a3098670fd35c98c7d118c9e4611fe4b335816be91bc402e0063401853923271b6c91ebea383ee2904823be8391f7cc6dbff6f923326409adf1290f3c7f4f7a50d336d8b8bc31d874ace15b260b07031b0d5376cef6b327b39e9353439c4710611aadc4781132047546c430f74dbf80cd6578580c967b3575138b4a4950b004756b0217c051b2547d64683380dead0035413b01cf2f85ac4f919f9d2cf573856fcf1d9aea9b33b3998976575aae82bb2212aec249f146b0f8d1473eecd744fe508a3b8de642ccbfb551c795b48952e0f42132d3fe5ef9c40b59cf9c84430b40e058908f161c383669b4245ac2fb091256258d5da60cb405f7a2b63694b5f50b9cf8545e7295bb2ba45dc17db266a91d9dd7683dd9092c27c2a6c2d7e1bd68e65890ad7f964eb329690b8c7696f65d50e7e6c1907a815ae18cefb6ceb42cb93805cd599ac917c9af71c6756e995fabdd08bc23d44bd79ad570fb47fd973ef46bda72ee1b5d9ee5d8e04d8c1097fb9a08ec9ef4b49c8c6b3a4b5debed98e38fd7ab3d7532bf7fdc2a092861c0234d0e06fb4165867c1090906f41a5d510a232ae806e1c52f344abfd28e926139c2ce298977aec15b9952450294ee9e3c89fbbbd3597371f89f0d49bfa5665a49b41c6c4d30ed58a80322966998f757885a56bc670e0344a46e75b665f1f32d3b8b4c107bcb44c7ba7663e996d52f2cad03e9123daffaa29510191797c37ca0597d7ad047dd40dcfbc5b9d3ac0703e575c786027f8024db0d5de27bf0fc8561038bf18e8285c57b5db44580996412fcb243f23c8422ab054b01ae10d5357da41637de8813b4f67ae90aa97872c375c153a9adf3061490102d4318bcd01596e2b1b56f6e4a23c325f689a13ca1d1f0c2a8f9aec579dc5162b3cd7b47204b985b639c4594f0a1f5421efb7900d8e13ffa205f151d3c85797c359410ba15e80851488e42040eb79dcf5eab5980577e560d28e8f9fac9e9d133ae359b5e7c595524cc1f8665729b1582a41d6c45445888890c71af3555718d943b26f32c50ea52d4f20510876295d9d4288d04e63209304eedc0522f640c51bf7886cf281031c09ad9468dfaae44d284961cbbe6f02e7a1c62a30a2a638ecb3aeeb252ff8db20de6ab3f0f63172124e5c9c3f9f18a9b9a3125471fd3850d7f57f4719157fe2cbca3ff3e8b5cfe130f718e3d4f08775471e4b59937cb38a885c69ace8350379241a3206c31232b540b19203dd58e5d676166820593375e163e902d748e4a5cc8242df648e727e4cbe51b3ed895cbd2059538268dee51d21340c034a15c5423910885b0704020040050081504120401580005005421561a7ba5af7eb82f3c016b307fdc1cd2a8f4a4e82708c52f40c8a4652d05ff02c454b52180416041c047be9e92ec5ffce0523c8064006694319f0ddee55ca441ef5673f4d315f60a5d85ccfa56252f3027258d7e3725de7e6e5f1cf07aff62bb3005e047ad81c10dfb7d57d2bd7c1e6f358b04f2b0e038ecb655dff535cf7dbbfc468bb14879b92a5ba3efd7eb99e8593e2dfbcef5c61fcef5fee9a8d536cf689e35b8c224ab09f7bf893a61d49308c4a6c50123c2247ed90b6435922b49b6ba935f4a5f807fb52adea590b9f3203b9d94e353e5f230b8ead7c5e6f164bbe5ae9c8bccdfcee683d2ecf640c17f6f2a9bc0308c15632a872b5656d3a906d6e6f5162cd88574aa0025ba908e9d2aeae1f82f14ee20a35fb9fde1f78101e0bf151d6eaa382cc762d180c0683176fc44811c20322a4d611749d29590869c347ff7c2e387e7cfcea18d9cf944ae757c514c1fcfae0389e2f15c2870f5919da18de9e486a62aeebc1bbe8e411f3cb130667ba8847b171eaa3770a7f55c7a39dc35f9511f995e8eb8863f8281d460c73d273a2bcf0fcea0e1f95635663c9218ed48daad8af0a27cdc2cdcc2aa43041026104088382810f00d33bdac1d95cfe23376030f65bd0a794d5864fbca724a317d6c10af2f0ee12d8d5d12148cf7dbddd035c39721cdcf60d80016d965b1b5b167b556259b3aafd1548238076561d6026a02c0099e0985818152cff4a32f5ea92e24b492e2d34689859666fe0b9c83eb343879b8bf37ab370602c774e676295b57989f2988a67e68a6c8ad861806d99a3b12c67f1382cedd9c8a05525cf828cf91b137bc74674390677f1d6912bc64afc8d4a7aa58237005d610a25a055ab686be430db0ef8c5f261d17634eeae0d8f1178b5a8f93108484927fa4fd1aad5a5bc2e5658163513deac2a504eaeb0c4ed561e56557bc4ae90991fc7892bbb957940c2dda315365da91b6ea5e6eadd81ab603038db66edca7dbd6070f55b85ea9cb302665651a19a0aff3d334c911295c2dd42ac578015fdd31fde925154945f1e1fe1d19ba4304e9537a0a4d075a92800504f4e4dcc9b2a263666b503c35d665459642ffc75a5ca12b349301eca891a5888adb904385bbe9fcd749f8da8282ff74d2e0d2ce3f802058dbd3905496ee132baea6a13d68883483a4ba6a411dfb007b201311d28e192fcf3d4c73e9a84e9478a2b0f992d3c40684c50e09fe155aa14abeb5e3426bfdac60289d8fffdc1ffbb5e63b07ee88304a44a99e77cea39ca6ef448d3e73fafeed19327bcc423fe5cb8b93b4a3fa50823de90d1ad102498caae88bea7e4daa91345c75fe7dc88b8f96ff5b8a4b39cb3942363c8169c4662ccf07b0833ee6515fe0a5b4d1c84d85a8e1ae20439dc9916e0bc0852820d089026768d8bcdc6c969bddd2c02b9b236dafdf11534eb39a9488902c5f795b58e4f9cec4dc4c6cac2ccc8ac3b9325fa299de2ca333cb6f834ae942d4d8b860e6fab55fca77df52de9935b2a29dadaf1fc559ccfabecb388261d6e7b16d9463b090c779dfce6f8946d07784d26c0291d501bcee8883387006101e8ace048a7b8f4e3496df3b3cd485e2f1a402bdbe43fc03ff22459d09693a20857985cbef17ea88b4f5218fc0101c43841aacde0698fd50aa411f0cbf3445c517bc1e3597580998032b27a4c2caca682fdfcab9ed65e75572dadf19a6babd6caaab1ea2b6ff5aba8dcd45f2aca4bc508f57ca2ee4d771dad99ac8d4bd05ae99a8474645417f13dc9e1a1dad965eb58a90fce0ce029423c0733467a71de5660ff3530788d96f00b9a9707a2fbe8f00a789fd8a22cef538b5a83b39069d774eb9a75c3ec3b321b3c55d4d69dc3d5bca55717fa73299ea04e5c4a91978e76764e562b21c5cddfcaae83d633b820b13ab24ae41f07fea513cb9b88f599592fb37308b6bf9ab6b627ba24bb074daf3429cbe13715f7028b16135b6e24fdc0e12e32cdf45cd3648fd21085916ab4157d1aff4f435cf9b76cf0157b2ffd537c8d82d78af77b8d9b33005672c9503d3aa32d5ad93377327995124974287ac000ef082ea96ab4d59dda037ce744c63d7ab136cfd3815fc07dfc37051ce765e06cab331f313f4ab0357b5b64c6d8a16377ae74013c06dab45bb44eeedcb8a47da19df9118305d3c98284b7d13a2411d51e679007b78646cdaa1e4d0e419dd11383e00103aa1cb17142c2d96b766516f57422218d28da50534db6531607503469043512a1a18c87808d80006f974d974e25d312140405b202ef9b1996bf130929febaa9954daba085eeacc9e26431c4860abbde9c7680971493b7a74f427ebcd83c95a076d39473e948a928eac4743bfe9881e210d00fc1b5eb3b9d9430ea286138b422c40508e605e0baa528a52925365c18175d74f823c20ab29386ca0f191818f0d9c9a151b7a085f2b82993c589901e28324828b4c0ea49890a40f4a808a9c9947bfb3ab766af25da560ede4b172e5b1221b36051bbe21fadd855a8e053a430a3401d9f3869c264899224bf11c911ba3d73978e6984c95884c91cc227e48bde0e6281fc60fad8cef560eee2bd2cda9b8d5b5c5b63d3918329beba59b983dc9d7cf4e66db3bd5d5b366f6d016f5f76198d39ae39ae1bb8420d05d39403b71554de0e20a43ac9877983a9cd753fb1d99a93bd72a26fa853c5afffc394d589bf44582b9b9ae5f72cc97cac9179e455bb6eb3709f6b5f6083d56d4b713e774b46ce22dfd1743fef4e5cd6caf5c9b1f9345f107cd90bd1a3bdb72224ecc3f276d795fc0fab64bc3efadddf582bf375b1b6348adb4e781ebb7fbd6c3ea7ffeea5efe638f1b26b64c0899d96cfb6569d85656f32fc9f71040c3c3f2f0bcf933d3884f1f95cadaa37c8ae5c1b0b6a5fa949247775e9bffa8db37ebb725c38ad7e66fde6741d9e17285b8acece8a7ae849d07dd84e63a7c9a4214b9811a23700748931b4a19895e9536b5918ae87cb5c5d8ae7df4bcf7529de67d6c3e2c179fe86273c57271a9e4966e3c19ec18c6769bf78671a44d2370a50f476d2763e1f5aad2a8c171045e35cb3f95bbe3af57d05894997ce16276b0aa318f6a8a160cfa17a253b905e5a887969de9683ebce6e9aa69b611cac57dac5dfddfb86c9b75973fe46a2a9cf74a18468caf9aeef39e0205a2ac6f7f47817ffae7e270dfbb954d7ffdbbeeff9b6edeb53bd5ad5bf3955ac0ad7e2a59e32af1859112b76511c9a2c6232a1895da044c41cbf4748a0107500002c4ac2e5599761b2c5af8f2aeda0459269376a19369db99a96fa4f3d12894151c886dc7619e325e97d1729c6394768b2e061b5ac324b504d22b0b86db178c11cfd33bbf8b4f371659a010c56a42fc490f8881d627b32e07c62c1f164a3495c31afbf58d97eb6e6f58bcfd15695ba2ae435b1569997ba4b0f6f5379fafcffdf5430e5459ab302d7002b2b964a248541c23c9d4e649ca8d353f5221a62b5802220f0cc532cf720320a28cab8285d2a94e3e30fedc962971b1e614883b23bbeb712d4971e81b614ece29d92ac1e3760aa0c7911a2022003050696e048779211935694216f43b933e4f4e4c8c6ebed718e6a8f567e54a1e2a7488902c587e313274d982ca9ebba11893f6224accead483d444837ce8a0de26b20cffa879d840136eba3ae8934460fc06189c47a53e7bd6605245f4bd5a4a32632d7941938524bf131558ffee7d5568cfcb181c5803bb439565b800e4bdecbd6bc2c56ee5a05dfe5dd4dcdd607bb7eb7a7f73df1be8b7f9ea7bbe977bbbe87fbc4fb6e2e079ef9fe9779c174ff7f04b802e868ad4e256d2af62535b062b0c47bfb86d4e990f0effdbcc6877c3f8f75dd6f073cfb5ddfebe3e0331c4ce08381fd693e95e29faceb7bf8ebe3ab7ff575ab601afc753731fe130e430e28757b4606cd1bc825d66638183b8c6995a8cb8b036dfc559391ed4209cd935dccffb45a9e32a5522da4e0acbbd71a688edbd1fb9e0338077f58c1ef20f65ad67eb15eb4117e22cff73fddb3033c7775ed795aabb77fffd526917fe9946c8fba1162eb41c81883c17de31afc60cff769d9ccb4b614766875781f42199372cc78b23042dc4034a1393884f6501e3344617828384280d9788318f08e5208dddc9c5eadc4f0668b0b6d869300b60cf57ca1cebe70c4c522b148822cbbe6dfbc695da558014295f92e2bf1e921396840741df70d9de581de8f5e731ed1521ab229187e3874021c1a1bd51e3a7030fc31e01c46d39840d64482478262788bcd490cc2a060e003b483b3b9fcb720815d1d1d82b9afb77b801b07b77d33e0d6c696c55ed7ac850a152aa4bc23d4f31b34c065f09a0520ef6190e2172c5428a43041026104088382810f00d33bdac1d95cfe23376030f65bd0c727ded30beb600579787709eceae810cc7dbddd035cb9b8eddb1d00bfb57ee3e41268bb726e4c9e437440b55ac9d718ed54644bb44b7a1bc21a0d483f7929fe1904f736e97ec32019562add069c52bc50fbbcdd10b35ab15818f566d3c2cafafb8a45defcf2a2c36e65ad14afb16bb5177b5830d463889115857e49424d2b9fe6e990e09debcdcbf773b136e7ded5fd9fa54575ec65bdbdaf4b715d9f0befe13c046cfadd5299f40e20e5cf1cb5aa671fbdc9cc9a4b12cbf8c8b1426fa4746c548386080dd5eb33e3931443cca92205164af84ce7d3e5c2fcfe146a1e780af6d3733fd7c7795af2582cc5a76740e99ee7e977e1715a8aa7d9fcdd35cd27f7ae293fb1dca07b4bcdd04d377f2b3106f833ebb88fef9490cc4685e3e79bab87d72bb6f5b2b362c444adb01e175db7a4d5aed621383abeb5dafe944035bb679d542683e427d68ef377561a5a79dc1c24edf2b7ec8ba66086c0b22a87dbdeea0163feb672e2df65978aecfe695fdcbf6285d7ded8aaa02c2cf0f7a7d3bb2ab1ae07547862537f4f319ed9b05d36ebf5abea974903fc2d45bd0e217535a54ea8c76a4163e9dc4c644a8bcafa2aa225eea703de4a8d520ae00db506be9dc4615a4008f377d3dfc97c78a1a2af22e0efbbf9542d74a6584be6feb67537346711171ee94cd3c2437af93b5aa763cbc93839e548b309969b897ac3b14a24e2f2f792ee5436b5b29a83ea2eb6e39abfa1e622269d2e4c0849cf0668342b2b08a3908e5e4cc80b9fc29c90fb01014bdb05230aca3f5fa6a22b24b8b33fa6421c9018c8ba8186d204c63c6979b035128b9a53b6ea0023c322801408c044a654649a5c5490706dd92b9316e83b18bb43c339099c0206256209fad5434b4a044d8fbbbe2c1269b6cc15c092aa05f3e08c40a645e4a99e587a01a50399a94cf9c8999d30140e0684290457a16d4832411e2f987e4548e14aca8f3c3a1c2d0d506f24d93ccd99d136c6310425484a704a8827913087c3db23a1a1120286a808f1d4d0c3c618f87625301ca4e98ed748f2292dac8721648233b6c87bfd4a221587e61b89a30b6237510c8ac823308c24196571248dba91100933877a316ed8b9f98f57576814b85c016b6cd247c8c8b802405159bd04a1e82249fd9db2b25a40bd22c4a7426c6365919386816e86628b32636c1a0cdd44619043253dc6fb3a862056c5b891f0fbc8cccf9911c018387f1b41256071d9b09be2733a2c4243fed3ae61bf7ce8abd4ae73f1056e20aabb96a048caa6f1fdf4f710595329e9762e36918e66b4487337a56e3ebbae69aa2689d05d67119d8568cfda6ea65b547f9b53ad1a7189f6c2feb64652ddf95b0908e7f6784508ae069e4bbce690d695b732be0ae58945a94808518b73e88b771a54c64fe3746d50ee5b2713b17f8ab46ca552d4a420325151582e50e490ae533da1f2854cd309c77b721d4059e75f7bb81a7a497d2787bb8056b26821931d7ff22653b91c5b739de14d87f1d861d6a133a796d3270e9c3a3441313e5b630fde24ee01bbd9633b1b5495f11bbe4a4850f6718fa480e24327e9714d9e165ed28f485b1c01a197a864f499bb19000101098122280063421018128c0864b1502c1a118bdb361000b426c342a7472285f14244128e6114c910049001c000620018203003323603f69b1f19321aedd3d3a2dde9c3e66e9ad548fd6299a5bb2144113f626e50ec210deb43792f3e470140c8d3092901577e176fc71a3cca4ceb262f0b2b3f7ed3a94374e927b5288c747615c068b48d59dcc7a4a9d980ef82aec29a5286a1e17edb8812ac0fdc31a18793702950ef3082e743c1039f3c0463a524f5efc9e7235cd92437ce714bb05657304884a5736c0ef6d3ab0d786ff9ffb271670707c3122f302d3183db63566f95664f9632aa4c666e9988c29ae077be6e8a23ed5861e3d070ac4ba73acd80eb79885efc1fe1b503deafe2e8685497f9eb54de0f61447d3940dc6cc6a0abd84be29e19f57284d8e8b324d067cfc44cbdb0b1a2dbd8ada97d26d9aba7c085c9e70c877296553a019b8a5c42ffd9b688e2920370e8e071eaf82f56fc3ccd7fc7d456234aa438dce6849af1f9e43bef16cc4e360451f25f81b65761ef36f1c590c385bd28941b1617ce72b016743188ea5465a3e2d64e99eeb4df67acf2feb39425883e19b817e5d92a8a8de1058081b2238cbe3b9dcc9029783c1d1f893cad5939a0a8822569e944290cc81a56048fdf542812bba84d70de1b61a8fb21e9a3b3f8b34a7b36d89c61624c257f032a08218e1b65349ee07b1cc1d86bb2d5e9af23708c04822e8f916f4463ba84201e25a92715c3009c16b6ea12c4274cbb565bcae80e373bf7b8a7d67de0822321db1aa6d1d431aa4e3a5cff668a1c04f24fc36ca079821a2149eb5a3cc1d98776d1bfab4d107ae51378364eb10f318f9a4e2a21ac3756578765329e864801630dbffdd7f877df10e474c2d3182398a20bfcf7b6a25ee25d529b9410f838bc1068dc87e1a31b57e04d61a4f2889cc32499463768b6818dba314f3b585a6fc179be367547904bc8d20d940972a33abccbebbe088a696a0fdcad44e3292b4ac4f6861425695c385dc07aef9fef227416902683bf359e9fc2afc41dab636ea7a39173ac61b33b98b0f43efb1e1a4d6ff48cdd9bb6e8b0967937afe3b59e02d652c39c61f61d8f654c6a8f5cf0f19a34ca82ea924114a79c21a03e07c8332ab5ff9f314b22fe10a949245b544395b85a6937f3af19b49bfc3b122ca89bb94cde668ec72ff464cd1375dad253d625c87d3193a26d54b51c9a2dba8c6a18b6239264a99a028d614c52831b0ca06dbe8cd3a900f9a779da9a39670a2d1e0c3dfc6de5e2d2fd7f13a36f219837c2587738963e1292d76ddf4387010a21a56ba319c9bace1b0eb7a3ea1f48224b73b67fe54ea7fc23deae980821183d1cbeec848f2d51033e91243840d0244d62679e132bb8166e3445322b3a9fdfca3e5aa11178b9722cbc69ae6de82ff8008c5380f62f38e7f36482aec5d8f6da4a829e70390bbbb4f4ddcdef1126ce5411fcdb09f587bd5c212d7090b10e44b35009c224fe683074cd3f1faa9eb74410cf6650ef1a2c555c0297304466e7708e173659f5d3804462b5d3bde3a1c8e8d67ae86e13fffd11b6a42efc7dc4c8b872d04bba0b7cd642a0756efb06c1c79d4c62c966c4fe553397324c997d310dfa777232ec57e2fd530d4a1ad1df64f6829257daef4b580648bf49c6a1aa31101df351938ac2341eb779de5b55613b755e61e86374742fbc314ad6d7dff1bfe5541c05f1cd757f47ea69f9b9bf97708b962a5ed84304ed576fb9fe8d456fb678a6d70d9cc3add983e8645d2c709205e496eec605e3aca62744b4c0cb142b467c5e1174a6a5c4f90f89c9121d2ec0cdc15738590af6e2637dc0c2c5842e99684145fcee37df52e099fa37e783173a30ad5ed6d040a16c0f2f3f42c9bb24049159bfb12819414b1964caadca50c5d15588302a27f35579f0b950b9c091fdb923b5abb23b55075b7a99ed53601864f3efc42c0e399bc56be92450eefedbc5309a5c84d2c45807709fbfac8daac59e64272cc4af8101b4f7bfcf904c091ace04fb31900800619080dbb518550c0a8acedc964105d07c7c4239948d94de8be0a99d1a12a4604d6203d96a220e636576e0e9a026e8e307f023b5b54f9b10392d83d54e9be97996d31ce7d2b0de92952445e4c279878f026d08d1caff26ae3a92da2c3c1560851c077b895aa84651d4bd92feb97b93c7ef40b1ed2091d7622a7f9a6445d6b4a94535f906dd478e31767eb77528c168ae36d2e9d79e34d347d8880bcc8fd1cf54376dcf53bcfcd2f50f85e93b89657e451a39b158cc29f23b97b693b48c408d8a08caba9095b007a4c0674488463993b4f85ead1d70003c46130b9593325bd63e376406c47108a420029fcfe98ea5b341a098693474f7f0263deaedfcf1398eb28a881b299b6f9670538d0c655ae7a43e833b92d03f5cbc550cf98c9e3b85df5ef17634e60c5379fc2e74d26ec2cf4d9e5a445fa926d32132ba84377e1896efb380f22c165b982e9aa3fa878121283ee717b8577bbac32fe30a91829702d3ffc81d06bd43c09643c5968f1a6db272ba1077422c256979a27f712ed4250d38367c53aaf4015a2f23572e80ce36f30d8ad4f67cb805895d9f76dcab7a05e064f81e178dee22e8b2e0366b33b8c2b69f48e43088b55f85ab40c96838f67aff32400df1f74f1793162808013d0977f2c0b427d57f93a1bce36df7f2fa362fa234e6474194777111c715f711d9c84a04d00a1369b77e18aa4e56832692e9525095b68b174e3e07aaa783ca2fd0fbfdedbd8c72a65498a079d46f987f7aa5c13282618c8b2298bb8e5c5d3a5cd8394f9ec4efbec61defac1fc4b4ecc176251b71d136d655826b115043e5322e6c07549fc2e8070a372e6c19df3bdb926eb6b3e87887909af047d4d083566ceee6134474e3c9544ccd6994d585a1e27025309e5a19a31432ff648389084ca3695e5c25c7d5fe427e0a723c784bf15014a30eae6e7450e5072a79f75ffe5d67bfd35d6e4c8d98b85f467c83f31f42a2d11bae0d307706a61b3ba036d9d24f0627109e220654c7bcb912882818a9e3b7b59b217adb1e0d4e5705badd867e10d80accae555a31f4cdb19be60d883756a66c0f3ea0bc57b96d9934323d7751bfecd6ea842826b99bb717df4a8205e49026e50907caf4918ec76ec83b0d7308c8491c9d4a9cc7a2bf0f01c4ae2d7ae0f0d2743055df2f5029e974f2613336332b04aab2c6966ee2c887063d4cdac01712ea8ee98158dca696db63af2e8dc4e7080f1e9a7f621b840022c0f9eddcd4c6a5a15f96cb7c5f3c5e1fa7d5322636bc013ee273b5ac51aac16263aa748fa5b79e559a0b159d1292147e98cf92fd965f1e4426b5d327e0c84e7657ef3220b5dc9534ea336fed21ff1dbba7eafd23741e53a0f37ffabf018adbf4a709bf91100f31b1a7cfccfe53f0a0cbdf913422c1d28b3c35f8d2c5036cb8ea7039683662372a83da4400f1e666f1bf3dc8223675efd18b0f63e7cb5498a8dde6138aa28ebeb990720784c5172ba8e0d2219a0725f9fe5d72542a0fc510bb00f7c09f2a670a71d2aadc2e6a44321c73ca98bb52bdf1000786081b68780b3bb8f8efba83d3d2b93356bd696f174de90b50249c3b238ffeb10c2bfafaff0844f741a70907ef0560c1bb912b0c9e1f4fe69b87f21d0b9a0a8a3fae7ecb5df4f323e0bbfcede15478154c3fab5a71f7a97e8297d15a94c4f09cb5c33c88de68cc8f9ae709c23dbfecaa85dbbe4f260e142615415aedea6c33af2e84938a0927f5a69f8bced3f572afb9e45d6a5b279ce02d9776f29484b28885ee750efd34418299244d6c0d58fbf0d9dd6e1cf15173ca660076d17b4afe03f383db54d26df95ed9232099c0b8a9b09980805d1364e367747247a28af30b61d1d15b2bad9a3491138216af64a1bff67a2a3167719ad56e389b3d7b4f1f23d024f310e7bcbf1319fbe93946387a4e8bcfa86beb5e3a20e078944eddf9be9c9c21f372a69caf083751cb6ec43640c99af4c06276710d6e121bef592eb75479e2c7c6abb4da95b801f460793ac5eb6657cc85e9b45dfb6cb53f3f34863da82087847ed7b24f4814f5596a8dfe4cd2442dcccbb73794e16244c327b2912337ffafc2b722439088010b4a821c017380ab79283b98ad33f7056b3c5e5009c0b50c1eb3927473e4a34718ac3796ecd775af2be4f3e3df79a2ecd2121759572fc7028646cf3afdc0fa328c135f8ed87e6930f05781897796da5f2219ba69c3c3c36f04c18bbbb7352c18c4c3dfd5e81a9aab18ff44ef217b0f527d1b25f84b7096e2f4d75673da25ff29c8481898fcccf6e16b686ffc03a778521f58d5bf574a2b24a1bae71b726accce857d9164510fa0432335d607b4ff3156dbf708f9ce084d8a3e96b7ed83c8740b74c326ce7008f1c28bbfc883bbada722f19ac19c6c9b5fe980bd4fa69be7f07ce7542fb5caa5ff00ab54ca1ede44e2ee69186f8ada64f01ec2aaaadf5e16546ea26f7ce9c1a4517a37fa4e852c79703faf309f0855a96ddc5ce7f793f5d6a8cfa0142ea04eeedab0e56407a48930ee6dfc934a1b665504a375612c1e44e0f2c61bb12ecf01a9f3e56fb95659855138abb56b8fd5681955db1c1c8de05a5392a2b1b6c5f41a85386e66eb9635690766038d48b6916d353d4a55b06b55f79fbdbbb670fd421a7498f94fbc4d76f89158222212d057e63a39e356940aa4287defc7a167030063cbeaf64976e8d7aa197fb63adc762c34629276ffbcb7be37cdf89a2c196859c7e2d5820171c59843693cdebce29f1aa718dafe88a3059441b6cc1e20f6f0741e918f23c4a3939a81b9d33ee3af655195ce3cb46c563ce632062be1aa3f980c284ed53c96d860572c92e094521d1824468911617181e4f4f1e7f8a7e1b1a76827e9fb8d6deef0d496c038624d7ad161fe22e7501ef2e2ac20b323ff8ab4e543c1fefd9d9316a387cf89f1bf0166376b39c91dcfb1b2315d1f2035ade9c0f7cc992dcdff5f5b1fa43c30e9e58d5cd31cdabf3a18fdeecaa8bc71da8ec965c8661f76f3e3ce6c9fe2d78e9a36fa1226be69b98a846387c4652c453e13cb0f3ee0450432bc768e1a7daf051fdb642978c358bc6a2ab66197ca7c67b71b9208b2c1a6e68cccf277407a83a0cc570b464976102a40add05ccb8a861c43eabe98adc952f6725921871d08d03c9296105b6413bd4823c6d3ab478798f3a139d82e523beb57747b7aae9bade0d902f36acb444539337c4c7f0b0b060dbd6a8a9088cf353272425ea3027ce1e39fc95f38247126aab85275271bf99386d118e8ca7c3e175ba2fb2dc3a727e7e8fb8ffb9db5b9fe90f7c3cfa2cb676492191c98ff9c2f0c302b3920a71b1927c14ef53252bc805287eb26f21a1f38bb51734c7d2d276d727705513a244650b67a1bd7ef5a95b96b48639e4ec82c7197041b428e735143ab0028a57fca31e4725e4baa37ca179585ea79037bf0418a4cdb5710a7942d421e263ec993c1953b147861a1381c607fe36257b986866b3602a08b34dbf922f588a3e855a8d024caba72aab4a5d8b0ecfce3ecd08794f8703c07171d04c8ef2c5106f89b7fbaa04644e37e98b0605c4a215a6d0e51db100476f435d46372a9af6361efc618325d151bb3ca4266b1c6d9e2d589d140b5abb37817a2c18f81f592ae1e3d266e8a6006a40f3e5ecb6fec038947f563296d187b8bfe50b2a18fe190f3851aaae38bd9bf11e70663b8af86d91239cd6e42467583bea994dee40da2eedea7a6703929b153173804d378cbecfa88770f37cdf80cbc969ac8d5341526825b71926673b7674108b94ca7d9c8d92f3e702dfa612f0d1eb2e376a0ce8454863eebfa3fbc83149f01cfe5f1ca07a10af26deb77617299295041c6c9c711d65b55e63534851467256d4a7c09261f943d167a54f3d98aa9b9e5e1183a5ef8d74ea016ee6c21e74ed33ee6cf6436f6ee93bcc209d80bb423a6b3bef6509681c75eb3418c06608093295febc98a6b9decf923e892dfc025e9df76edb9d9c02f58acb1c26a7608ed10d5fa74c8834e7ec804baf7fef78d6b0af7546ef0d770d558f357a394e5b7304c4809ee3bdbcabe872da41263df73bfc8f819d67a3fc4734419817b68483e458ed611bdb1edf52e497d0146f00e7f7d7f720d268a65e363c625b38745256243022f2587be1ebd57288eba12c5c2c084287a200721d4ad84e87a059029a9ff43e8d81b3792fba56fdc4096dca86166641bd28d10ecfee899f6aedba1231f4a5cc3d5e8ed38ea1a7d5fa937409238cba71b5eea1f3f751ac75d7092e24b6f413c8e6868a3bb22b7510b1f6ea8b08d8143942e6916b983866152f839fb2bfccde4ac01469e7d6d522a0a83cadb98c8c5020795daea3a6c661f78cdebb01cc4bd5e13a833bea39164785d7effb9ec655baf93870af95291afd50f163b75f035ea73a62cf24c3413347659960fa28d34ee0f5f877692062da26898585e03b2094d05265da47fc1e2f9ac6d7f86fb08114d4a17cdb5bf2e88ebc59de10c0f2732bd30b3b9a41afb496603be76e328950ec4c325bd815bc7d5e80422a2557df40ffa669d38afc2494eee42e729b781ddc1f1a16b1a73e6d303aa88c8d9df961091778c7ce851a386bc7c27ce14c32580b760546b4563a065660a9fbbf908dcf2a37f4096beac62bc923ce8864a78f5077a197fc3ef3f7a4675c5e67749958162d0a93051fcaf22b8c53afbdf8a3a708415e1619c81a803f99acdc05d64f9d42a013bb8ed5aa56f80eeb32d053e09b54766050043eddfb8cde5768532a5ea259c9e97e07b7babeee1e75eafcbf1bf91792aa6e07add246c88a24953eb6b787cabd97b3a3eaba7796727c238e993f77ca80bb8d937615d519ce48871fa2a5cfae8b9a759fe88a9af0a4c3ce21ebd5c9672a1195f1b9d56ea5339e8ef24b1cdf44341506861d72f5d3539a7cdcb9459cd549c79c08fabe118d84931837ffa20d067f8ce79dfc94d4c9f4d863692a7634284981d6971bfa202350b72bf83a5e790ed8a10f0c64df44de7719a4ec5105582357a84d59f7df261dd8dd117235cba60950662e4ca784d5903b186989e83766d489ba5ba2e3175162be4701d831e74ce033553ce492abcab947d3858b558d551b1e5d4b830d83f0591b1d90e63f5f725f37585c4b06b99102624637da120733fb9c8cdcf714d669dfcc03f2de9d029a5a2e6d09b9dc709ffef354a890c23d7673e07007486e0dd4f2fc680221c149f3d04a222a695660237f4e7f89f801e944adc6e80a9d03836365f0bc8980e1e2dbb9d6f464acbe644e7c8824db6af5030c322b5720b1b920930412a554080aa8d4c866dfb07e4ae9e1c6285328870f748a5c27ae2abd14627004b51871bf63f915409552b8483edbe9dfb3665a89b4b6fa2b7d956b09067238743be55494d50415bb78f20ab64dcff8840d850593e708e65bdfdee2250ccc0dacebea3fd2faa5bae034bb4495261784b098a96bfb0d9aaa344f31eb218cdc4093c1aaf5054ac3e9c03ff40eb1bdf6541a4e25b315ee5c1491d0239c6526aa84403bc239b32bd8b64b58374de7ae6883f7b7c747e64891d58320a8119c928755c129da0c37fac862cf80d2b07fd28dc9b248cd1efaa450c504603b5242b9fc2c04eeda2ad1e7a4b1ca7794a61cb8e2d7af80811eaf7d08249fb56e0031b3c2d802306ccf9039030837d70b1b6893aadde84918074894991fb7b10028c99ab3cb34ed1309334760c6577ed48d20ac02c1eb50b3fd0a550549e4be66d80f1d352201ad640bd8d4e73c986508644dd0632b22f5840861d5cbb12dbcf9741459f070590254fd7cbf81b984448919e5da4d2ca74c744eb12442e03b8fac7c23574b4f7569c3197520e4a8572a0f7cb64bffc3683de45c8f3ac00741ab4b25976e60c1f4e57f21cc16805387784889db0e69c7852e59d2c4c69f538945e97cff449ae1e462ca539bfe7eafa37c58dfb8f5c10fb33a561ee04f893f3a07baec57338ac17da29de06253d61a9f503b3312ad3ef97361a86f1bede117cb6bfd0fa9df50cc5c8d989c7760d79363f71632686ad8aab0a8a77d9f225750da934acad0c44976de2afc7407ceb12e38cf1a39827f1574f3379b6e8b8f61080e62047e26b85b24eae1ff78bde8c823bf2f73f0643e6cfd641fde9c81c8effbf5ba6f7ea4aee6b86e33bd3121a509edb7ffe95f18df7d3c0930e76087e27d33046931b43174dfa7330c2321ed50f47d3d81d6f0474b3b7c2028ef38272ca876327eb33c32649d24e02db28520ceebb0a9b5de362e60abf096fdcac47fdfac4a7037bbb39822f787afeb2c7ef2d9a86a4cc3be04987bbab3b6299dd24ede43e924be062e6d88c20716fd855ecc3f4e58226b8c7e36356892327495ab48d5e4c54c53da2c8d0c2c6b7274c265f1b9b3b9e1f8633f8f325d526a41f06746390794c17d21e40bdaf386c95fa3d0b31b9bf552606ee0dcb0b5b1dc197037b8bf2273f8203a06b8b0c92c50de3d43a98d565b5eff130cbd90e443c29e447b3c07d0d2f938fe43964b9c34c4cf2cd093b80791d5e92f01900feee676c8faf512691d11d0bc95f605eddd9534fa48f1de6e7b07bde30d9fd31ad158df2691525961d3118cbd850b74ac08e75f0f076af29e716cbf00e59b092ed88a334f002fff5fa15da65dd670b73ee275ece24f3ce5fd1335e091dc9fb0806811455431939193fdb2b3eea64f16dbc087fecbf3b4f8c0a8ab19694dbeb0cfbb99cdc28e14329f5818121b83adfd63d70da9e82731cce44a1904c8278bf7907d6ce069a75365ed4f5d2f0f9b7a0b889b11b7d978bcff06716c475267251a6a9eb075596beaf251bf613c28ae6c8bed3122ee13ad5408d49a3efe2111e4f09f0f152045061944c7c54a8bc14e076996b588c08c014522c3315e2cea2526af36e9355bf6053cff1060abafd2ed58a55078e53a8d47cdcfde39477a65b0a6a21c52997cdf0001a13c4875c91593f98d793639f3e624f1c0b6b189fb52e6cb066a7ea1573b45eb16bbc37fe3307b17919bff61f30d79940acb75a601c7f6172f3fb02142f73ff68f4e1a845bfb5dcf145547c5138149c6fbed907e29eeefe7668d5f2fe55d96816fd6add5cdf60ff69c9caf81b6ebbff6ef97e8e7495980a85d3ce080c975cb3f04f040f530d279f63102ad1983949234fc266cce07650f8806a2c4b1c58ac4b2b89b1027cf2add99e9205217830f97db1b992802256f8f80cb719e0ccf096a3896bce2fa7c71ccb13a8cb707fcefd58ffbec4e6ed20ed158bc69a9873cacae179ce1ce7028841feb950e735f17c66ad1cf1bc2eb81c343cd89bee85cdb31f51837198658bee2d4216dbad58f6697254a63d4255461458166ce7fea760e48f6238513026ef167c515026175c6daa6f777937b24eea67bd4b972878036a584be296f88b27e6a0d471624c1b755e223edc54a394079252c607c784af8ad927821735673ec635ebcf0127d684edc5509e9519412a22562c323eb75c03d0be8734c986eeda56c2cec3833b2210a5fe2a64bd5183c5bd68b82940abc7dcf79174bcffa6fb5f49421be0f50f85691f88a2e356e1290917391c0c19c1c19c0092432145c2201483f174a11bcb0c46e7d740d0270d3f19ee09ee3e7dac938321ae63d8ffd0a2f684ef722fc59cd9f97dcd2398135dc6fc5ab0e38236d39d78d76203544e5dea79eeca9835ad5d3bf7a0bb981ebcd302bda9dd96f4031c65b055193acb986ce4b1c5abea2ecf57cf702cce319a8861fc360eb35df282c79834924613a96c480a158b3ec847c43586dcc7f21c3655b83f3b7d4f34d24db5a077c65f03fea033fc9e996369bcc936cda5acd6108a3641278a61a78ad988a3e3dbda1512aed925b9485e4279bdabaebdc4c65063be0688cc3e6a98ff2c818e00f616a140157994108216ba1d4c81f0901597803f791e486ce8667fd4f9db95788a613538fba77b81d82bec17fc869a06d16be9e9d45e14f1c9054c116f6914e0e710d54ac229f8b367512f4c4855541208ec4f672f69f5942939f54897c5f3e2eea38c993454d4383c48c0d63594d642d92ed17d9ba49b53299d71f3409e96d3d815fff92ae22a2213d93205e0549e8ac1d0753c5b3a1a1e4d4ed2bb0244b24d8f4b3be97b2c2d48e54f7dfe71636e65bc6db4b29d442a26510119ce6a0783b85e05065447f903b51a53ce7d42a90d4b062002f2184b2381d1adb0325a789f6710f4db076725bc8ac34706ec18a63fe4ad157cc2514ea2a2087e9404315770e60eeeb24e0864e6dc0cff0183ad77741a306875a706d45026ba3f7a3449d0a4e71c03e5071a3d1f0c797b0f6280627b22c76428158f19d5f44ff76f51059727d600afdf53e58814668698065e9d295ff9506aa6992af26da21dadb9b4d0d63ce69a86703f37dd3802eef93a6b3fc4400fec06a8790dd639d4650f4813f7d779deb49b30438f49eec38f7c8f44487671df24a991d55db77fbf31084e1702397b7ec78539b21099e63d1d92059b39afd42d2079b7042f3390da9a21b75233db077a46ca6b4f86fc994ad13d46977455315042b5317f047ed4adfdb915c1ababb022a13bac3ec53f76097170d1b6fb9f6fd5a838ba4f9c5bb610b553314e0a5b2fb31139bf84de53bb3e291385a7d3eddd8c7491ff6dcb649340f5bafbd281204827a2093d2a9297b82aa63ba2d3cee70df17f51cc2c5f82f5b6ee2a5a82cd4332478f4656911bcd7751d5530d5317db3371b401acd2627c8947ea6eeae7d8b33f31882ab91add9bb1becabb37762fa422ea13e32352c75e5a1f980077ce79c6433aa6621272803bc94cd44787125116c7e4b92a0fbc1c14adae76672ba2ec084223ba8e191524e8787ba40c55388c5fc8c5d4b6383f9944d8461f5a501797319957069d9f51ffe0c0910a8950640aa85ce85c2ce57739ec80d4fe52b62afa0c32de21cf901ddcbd01a90335495db08985c111f70958e261402ed022ea34cf38511b74a665cf5071f2cb1a26869bd10f68bf3cd5413b5da799238ea12e52762000d8ee2b64b8701c9b2c6da0c6f071982a326fd0245219badf07db3c94b3494c42e715575a183877f7229e611914e9570c12770bda1d59deb1b866a2414c2e9fc6ddf1c7e708dc6c601e4270262c05800f27c1c48ac2343e4f86885a790ec54383fbde5b149407062ae821f84116d8238a664950249e1dd7fe50d379fb885a0c63a05981ac9ab6a805852c152cbda6b401691714b7ca55d36e3aae259ff871fd337136799af287b4da3a34a6981300ef90c0d0f9714ea85c9c1f921bbad891d70e1780be9e1592cd0410bbe1bcd734b3d13982e90571d268b1bca6d11556421787ca0900fd5cc7703a959636062d46e249a3c5090787753576d9e1dad632c03fa39c161236f46e2b7f478723443faedea7fe209a92133299fbe903242d29aee1c823d02c8a6ccd3024f7f11803581072bc1d5af4e469273d4ef8577854d5b3f42373c0b48275106e444b531556161de4a35598486a6a2974d283159cf87a70f745fbe77824e7461f00f5526e77bfc1604f27171334b0a1870a9d91b39afa1eb82e309daf9f7ad4103b96e54b60d8f582f7233a71d27218f0019336b878de16b92c0ed17b5398cd38cbba6c017016b3671a29043f68254fa3230e834819c770630f7c041e142aabcd55d739340817b17a7e12ec73877f5d9003c15e01e18bc36dff31f0575b0c3c70f54ffa10cf78d71dc291a9bd0400bd0d77e2a44737b5b6192f47f3994da60e9d1c48248e3368e4c61c04c637c5de43f2211206537ceaa7ab38bab6dbb8df4bf80b0a02127c134140ff404b25bbd227e9493636cddc2331f0273d00199376de75f0745bd3fdd3bd6ed8c5aac736cebc30eb15d4cb858d96da991599a15580cf1e7fc201c7a0d67df10352ee243b80c3de4c66e23ccf9bbd2a2db4700902a8e8c4ab2bcafaf86dd34522d628d08c9ae6e9296d4d935a8a6ff3b51bdf9515def01a06c587ff02646869ec61731b44a791b821ca30c6682c5152cbd85f398fb8f55a6c9b474b840d924ab0c1ae69876a069ed3dc6dea78d44f90616fd2844868b3484948e95897e09b1c191af624305975732ef004e38dcea44a88925b6f1480ba56e7eb50f9a83f374280d4ee267b1f840651c4f07a7f1f287e41e13be6897f8db7051aac15990c1ed5610da91fcbe974db7459a60e3abc939a3bf8c783c04e544e08a949d3f6330f13e549bde93b856c45034dc67b87b85879fae7e4e9d877362cf53ee07f454e3d8b2c41ac6386dbfdef89743743e9b9cbbc7bef129f91b0e3b514ab4c20cffe1fa783c29aad658c9a199d3f31eb1fa3045aec84ed6822cc1d4d2f6b677e5809d8b0eac234dc99507fcc90e71f4c8ab0ef79b6aaff001e6ff90ed3004ec2de62ffb3720966b5bebe8d5d81fb4b7365ea3d84d2a7ce194fadd4aef9f60d1983702633c3e0831fb418e621481c9752f6515f5e10c2411052d51e4a13069ae399670a5e19affa5088497f8629f2898b19f92a1425d147fae995de4cd9e2467f56e1e04f88a871238b45f1df99de6b09859d83a5ea91c47a90999720aae18b934066b2a1ce5935db035cec9f73e35eb63c1a6cd5ddeb5be89fac10299cf9bd0263478c3964ff02a990b44f0122bd050ef1c16ba24f89297a0b59adb6cfa741fc27ae6979443fe6c8d6af9fe980598276845344f8e53a0903cd8e3f5f9e7b676902a5905ef3c2b4f6cad8644832e366bbae0a8eb966b9f15a3075bbc280212cf2d3e0603857ffef48fff11edc309afe936f44cb3d58c85aa4d126f5938d90a5228cb067e9f29692c18f92117ef1bc5fdb3cef1a3125cb63f1492c44f9405b51c8b6698ad652915f9fcbd143d1722daa0306e4faf53e512fbefe382b4477bf2cf3db1dde5c0e8817987f50c2310ede3130c8b5fd5e96c732524e3d48115cf52b16d5cb49577c142ddf4dab561357d48c7058547b54cf30414fca9b8d587df5fffc747ea57eba1ea29941d1d77a90376963ebf1d7a300ee1bf73eb134e796ce1ab90acfab4ecdae867482dcb1b89c20e3ebe6ed2cf6e6491d70437e7c62084822ec5320faa02bfec74b606128de9f79fb1290f02c71837330f08d16cf9a249256bbff9a01df6a95d70d2c70d106d07bbafc93d642329c083169b07f7666fe1701171233ad014bf27f4af4ffc3c84b5737b79a5188f488edec5741ed15586b363a67ba07180fa1c5e98f20e2d087a37bd5ce405c2d9e399909d471af374547c5d29b49305a98c94f9d7ea878697f47903f542f8e688d844cb7f3e7e50cbf41f4133f8a9491a0593bdf233304f931ebf911dac0a4e25ba874864538649dd27a50e0d7ad0907a3457d040ced07f6dda56324deae014f41bebc06006710bfed3653f40faf19002103936c49b0166570e728f704649e113b2b8329fc4d928bd6fc6bd38c5f9f86c035d3f328cb99dc0b616e8757d0b3e90ef20c69a869c1ac9a750c6e86420f3830d25f585586604b5369a61013a43bb5a235f88589213c08c2af6ac8dd200dcb183f4e1f0f784fd7aacbd1dbd7555e602f91d551884823408cdd527c9c378161fda6c24f59eedc62ebde2e818901446b2427c3edd38e66ba5f2e7da681cddcff7c7de41f0a0701e7fa5f606aea06fbcd3d1f813711a511c8ee9a413c4de26539536fbb1293581cf14fe855a7deabb0b98a1e3e59cee3154271742d2cb9672cacfd5810a48fc468457b774c71654e37613156dd3e6688e3bad6ccf2c89e0a773b8f4782043000f13aa5ba7bd25855438fc3677fbb57a8692c0adfb0cfc93d3484808cb693a0d1c4eec71bc1c47c33ada935d1ac7823cc4dcf2f4405208a85feaa81a786de303fe831aabde6ae5f8b281cbd6f0810c8f833f169fc6f10617f8b2f35465186ad9eb26b995bbd4f25feeab7ca00a453b31f39ab5c5c29a8e1c8ef7f48d89e250eaba07c68e1ae0db44406eaf86f2373c9a12723d1836556f29658d7c541c580075e8f259679cc592fe8b56ba3a9b5fd0c601db90557bd4e779a24749b3b61400a93cd7a08ac4e1f720fe62852730d2e81c9dc9c29cb2fb82908223f826a189965b07eab1b73f4431835279a2acd53c24b85d6ae31f4dfc8c31e47fe2305a36aa3f398be109cc8ff314d07dc25454a1599f3af81c308f4f4283e82ce4c11d0961dd7075bbe359a9481c18d8a8a3c3e02d0093c0cf6b7d9d5fe5bd3550950305d9466affd603ade508ea1e1d3270f33bae284be0f87eaeb63ebcb9f812b683d1dce4f37d0e317fd7f3a0f71007b9eaccde6797ae80dba9c6ead6381da4322c64a7d667d0e614ebcddee34e1149389cc72ef91873c7eb0d12a793534d948c93dd78547134ac6628c267e2853f0d33b727713c5c51ee27dcf2b13b05be878abaa528f8f972dd382ac39e7cfc505b238fccecf297adbe4aa1c05407c16d0ae991b0fd033f16a9b589227258c59b392d2e5d930fec8969f30a8e5ed61ec8e7ae4b66cf0dfbb371c6a750dbd5cfa28cd863b7ae6b3a0bbb2270559fd38458672ebcaf662dc5f6ed414d91ce953ad1a8aab3da8e1cb378374f1ef835addf3d2267704bd2800711c65a68a3465b67283298c255a71732fb04f328d1d1ef63a2af5f9f4e29f40b95da8c7491a0efcf6045f1182fdfd5cc3c7e3ffacb5f63d8698e9a2de9fa548f23fd74265bfd31e461cfdbb38f07c878a805e2b3ffaf8203cbbdca2899aa1d180fae3208fd6b9fe14b567445bb686d3c9198504c8e69a2920880695b5936874d9d2fc564f629ea50fd6b6ad633fc83bcd2dcc4282db8d3542259a98dd4ddaae174c7e9619c091c0db515952ba3b40253f5d854ca698339a000d8833f8eea00948a0733f82bb5a7aed16c2cf834705a8bfddff4efe611d2699a345ff7d10e3dbcee47f7e66c84e7a6664c787ee6c6d6f8863537f3a39365293952b259c3be9e5d69ad2cdccf86ad763ec6a47c1f1de62f57944bb5bc2f38b601dbff8ec6117effb927f9f977e1298b7b3902c5c9e5e0b33c3916332aab52bafd32e84f35d927ced7fb5acb81128166cfffde22b212d9de0e07182a4cdff52d81123a27b461d265de3ce6bebd68aee2067ecc89f91efb9c5fa05add507ce7a861982cfadb9bdf28eb8c8d6bc57528a7df2d05a28fe44331ad59651f21f82def6b8cc9f5715f3bf687e9b35e22c8ba316cd7acb4c0ad54238eeebea7ea7810f2f083e7eb81301b8672deb650923dd8d3bb9a0d66630876df4509d8d98807326057371d661f8ab9059fea4708f6506c0d44fcd1e96236d4a7a48bac03cf2276330799c05fa2b467006fb0bc284be62ab52448b501dd841d2500be2261d825a9a4f36866d39a8edb9c4ed25adc29b1646379cb58973624460dc02e813239ca1a9eee7d492d8053317e54582a02a568497f4fe8466c15cb6554de66b7d57d95b6a790601c704edd70194bc175b655fe9a0861a7107e168799e5b1f106e60f51af91c3b328b468496c7c400995ad363816ff64fb4980eccd27b035999e81c292d2f5dd8b3cdaa81311e6499eceb10f93831c0700d44e93e4bb9da37ebbb8c42039fb05b2f39a7d8f1055145e41106e53468d40ddebd20b2959feff427a106e8a3d8dfc77ec5d866bca6e3f9f8b7fb72198f8383ea8c3473ef7307f1a6b7170dd616032e361669b2532540af12dc78fb5cdfeb1ae519c6be488f88a6de16c75f20f8a8090a73a16b3d9c2f83a4b878a0f9248ca6b77f02a3def113c8be450a868b6e18f31fc3fcd81f93afba2ec8f918efbb67fa1759a0cb3a1ec27fb2a20b26e9e34b1d2cf8ac76105075dd6997dcfb9e9308066a8267bf88d94b3546a384c75b2dbc5ead37d2b85ea8a23b6102ba26fdf7b2b8fc97ed4ebfbe879afa96f9c6d6817964239c87957ea816c5339ec8d430d235bf65b2f9a140e669014aa869f0d9340fd043698ca9c174e29ec9e8fcc98f84c43b3b4e533f7fe6b493cf3fd071b3c39879cc047cce9cfd280d64c5377bad67966b523d23cb0ae13054974b5e180f054f4d80521b42f65ec581aee8a5eb80a4898bc18ce9cfc6902b4c625bc6c52026f43eb4ecf26274c39574151bb7c56d78f6765e9011aa9bacd6e9e51cd02dc28095b51f2c1199fbe54740930086be7f8c301898b9a32e62e71c6e9c1a56b4084281429333588e587af2daf53613530c6ce8951538f4f84ea3d961f00ec094c501b68d49e321a8ecc7d0a2a67453e588e0a88d938411b08cd333d6724617172750e1c20df37cd6f9783d9cbd9bb6134fd683da160356b0630251ac9b08cf85bf2c82d7d9e5a190f312f3c06f11d4a0ae92a38470cb885c1f0218fd896d9568be02468d9b3c9ba2c02d58c422338803fa9002bbfbb82309eaeb91d1f8850170c2c6eb6dec407963c027e41405c1f6bf099121bb3b6be746e75570ddfe8387f97584a7b93b62c5cafea816f6c69e3ffc3d4bddf706c6b06e224182f986ddff9c5b27179d8d2efcaf9f9d4836b032d5a8eac10d9a12c6858afd962301439edaeac645dec3f96b3a0bd804a29ca9144cdb3de22f34719c5df5389453fe5ec4f0d6bbdfc6b025f8b9131197e9557b869f94520774a7fb70c653b20bd2c3581011f3f60a8d5d7ed464d9a836fd7229eb839b6c6f2057d5dd24de86ec926f4c3bf0cd854fb61d4f2030dc873cdfe260a4c5554d3e7b66e385c90a20f786041e19fe0930b9e8fa3e7e154c9c8e893f34ccbe0cbd7d4db7f016a816fc5374e16a22063078310c067243ed2109645781c4bfe36cffa9aff4a5319d4c558af882fcdb818f797ce062ea6e5420c6a6bc64ebdb118cee4814679ce1b7ae03e1b8fd61390eedc4c1ced7a5cd0a9fade9e9352fb7b8b2f620f2893bc782c984cfa6c27f1b308e34bc04c86c9d3311d1b9f842b0b7a77dd68fc48e52d2ed0de9215082f749590e05aa6106eadfe893c85a787cfb7a636ab2485c62e808de7e1f8a9246d03512f25918d6185434d30a23c59be69d4eb27e41d7fde9f47a99b9c089c59f9ca0e5e38497a8f519d34248129721912743bb6a703795eba3d3d2846b573aad347663e906254f3a25e25ffb1d3c888776f85b70497b28b130eb1019f16bbbf74c8ebc799bc4dbb52d238831e1aedc48f907922a27e5922de75c725325d406d59f0847d8ae4e7d8facb1518fc67e12790d982960e829a6735a3cbb172ea5b6fab27c1363e46a3cbd7d4bc864f02eae2f842411540f88e43696d7940d5d1dff0ee7a9e33e80167c6f72ccf44ed88ecab07a6e3e3f651f91e8a0252f4c201ddba12f25fa7af3cf4feecb9cde40cf9713cf561d0d2552e00630d1efaaa1b3ff82063b56ae2f1f40b2f8553b8092ce79f8f64f39d90980339b85957cf08dc79dcd5dd7c93d236422a792e1b1e0d331132ddfb3facf7f3d8f5300f720a7b55ff31a128450d799cd59be9774512fc884eabb9223e1e84fdff0a14a3cbeb2dcf49d2e2a0280d570683a9c13989a0d18d9d6e53291e848dd9cd7cf2b5458f7cab8bdbc534cf44c001777e2a78921eb7254fb53b3f53012a45a3dc0112f615f651ef8f6399123d54165bd8c08c9dcb581ca72ccae59d6af082a1232374318a1456705fde6760b3f1febebd4c457a103de5ac473ee3dad9553ff0d3533ac0d5c88f58f443fca80880d7f2d773ab766065b88b98541195810dba8ce45cde48095386a4c105a76fcd4db2a12218ad9887ef2c061054b171341e5486f71a23cf0e379b985b0b9be282f36d936d176f4911ea7ce918c1b07b99215c4423c298f517f3954feecffaa0ce64544926ec48e85e8316ef2559dff68e760f32b0a8cb6fe0a92787c8ef0eab738c03143a538be7efac6f9286a9ee59c95ee8dfd6a3f6c8e7b46fc69fe4e793063a77fba769fb33de53f44a54f8fb11c7e78a1f610dc7dead3fac298a2a6f99b35fd45e9f93d401e3590f85807a05f9bac1bb00652efaefc319520b592e6721230e2f8de5cfe6dce9c03f5d63d1e0f47988957f0643471b4c4580f6b987a5bb5f41c9f916f88e9a57cc04ca1af4d03ab8307153385b8a4856a0424941f63352418799c8b65d00dec03d90ed7250de4c5e7b7efec938feca4008ecb4db817dd8fd33045ff35e3fcbcbdb1e6206ceca5ea2b6898ad25addb951197c9f64f3d439cbedc191b3b5f1e5ff9b14c12463d116d8c9160de190993f6a8d4fd7682ee9de870e81aa9761b2d5fce91e5b2fc6139836d9d9d261abc12581c144e871a638eb8e291cbcffa8eb21db4707a70c0c89b288dea347a5a6688489b7979f73033ff17afb08715394b017c69fc882e7659f5749ca62400960f1cb2aed7909aa5cdf1b19b23d6afbeb65ec918a763270c6f64283bb68fcf09fd9b83ba5e8daabcb0af34e745526f435806451fb5edb05339c8573f376ef9f62e7233d49b8dcab88d5606dad8bf7fd8555859eb887e227714a7cbaf9b19c65813ec46e7b5a50beabddd6c88c86010995cf782dcbf5b3e1a689e3bcf9baff1bcb591ccb28df1ecafb14cb006bfb6c78d5dad53d8d4401aa88648d340ae9fd0a6fde24948102485416f795b46f899b7c2e4aa57894b6e1ea61eca05101f337f3ad3504fd0e5e654398c26d3d97b26a8073af870ef5ac5e71fe30992405814a4f0cb20a00286cd6ea3822866052dca0a920e99172d1fa52ec8544ce4379a0fcb2e35d108b47dce3fe25f93ae20ee664113ffc3ae2560d2382f3925b21fcbed5e7d8b290359cd77ecb570f95bdee52c6429ca489fdb9d975c2a6392f9e724d147375674535e1fc88bca29d8d2486c1fb6d81886c28072393266d2ea71f787611ebf680d8aacd8e6f7835edbf43c663587fd89ce298ca8267abcdc64a533bcafed9389feff337510b9bd41f438902e0db32e36b281d00bd4d3347e168dbc113369f86f3e1c9c8b5525137f3419216d0871ffb0924abed70983abcd1884380b9bd4de9bcdc90df942e74051842011b07f19455fa74d281981d10c56b6c67edff41ed1177b2bc68d1e8ca0e79126a31978fb104210aab21431bbf6ca5297f8423b814599a2c1b11038fb9deaba0c9484811d8afdeb3b367ba76799fb86f136a282b089a95a792809fdcea7cbc78884d31d9497221ae48473c60c9e05eb73d3c323becb3411c8ed37c9962c51ecedcffe9cf46cd33a763ffd96ed45ccf907874e116fe49e3a013b1eb072d6494e26e6e94c0acd5e3c52fd9e5e91336b8fa6f146c999154a6a706f6bb5794a6a0230aa281db1742b8b1da6623dbcc4fce98bb80f83144d167c5aba7ba0c423c4605efa1e6a912ff814f09d5962066f2d866f23b70f7cda098ab485aeb1476a88276178bb6b61ab71cd4411a0c6adae62a3ca4c6129888c85af8d0de4353873ef9471b82c298e8bd3708658acc6a58f9edda304b464c1584bb68a3f99f1eb24ce38250cc31aef3f591bfad2777309933c216f62b22e00bf949d75f62a4f2476c83a4ce9694279320d1698009397e42e267c4ae3f5187f839169f643f409610d05064bdd74e1939b0bf2498d5ec1220fe8283915f740656729f796a85d58a52781ddf06fceb1ff6b2b28e604b17e16a187a84d25fe5be000ee5bda5000608df9fee854cf33c8a59e9391d1ab4c43e32aac7c62efd38b5633fb4c78c0384f5af668cfa630b66225dcf0d3cedddf9552aa7cf788a5747c45c1c9a4b380d3a7faa0c57e455f891148d38bf90099fa6ba454002961171ba67f7a19abcfd86fdeb122315877da731bb6331e27b835d780e28baa1944fcc847bdab073371f25bb29aaafb35a89fbf4de5c502d07b74906c88b1ec801311f659d941999fe92d17e1a6ee935d93a166247ba864dec97ed03591f0fcd4bc87105b289f452392cac57ef47cf598969a37fc593ec563da9e6c008fe985adb1eb7d1fbd10313e291fcbdde5db1f668286ee61600160cc6b9fdb3586577c1e8b6b322d06292d2929fa42db10395bb987a93fb75849b25becefea787c9667e9e27ffcd14660f34e2381216706eacd3b70885b78c64d4154ea9af2fc6138a60200bd21ac4a3c203be0623a34f7abe32c06331a491b8b8b909e06a2d24bf77304c2c72301566b056ac230dab0700efaa87ec9fe6885a9ee0c7ed8a6936f7ca4e571332532f7d146b5e97b573920b07e6730e90bcb2de097baf5999adce36afcd20b260c4cee2690706e0f3c0f2253b042269cb549ec209461c3a6fd9bb33ebcbaa62627986d9d09066e72e2c9ffe5591b4c9197ee333ff3a7c33edb85107c02239e7dca2652a002f7062e9486f994384afec70786cb9e16b3d765ed15d70161b4084699488cae055c20d037d1a82bd3f0401565e0d26f45bf167e23d8632c336b30156aa15a23c5aa7a5826dca2984d21f70c94dd44b597e84280b44fa2497f8750d68fdc4fdf2bab374d1f947a7a19ea5f808fbb2038bc138a6de247fb4b7dfd92c0429474707869e9a5683c2b8732ee5b566d7c7c63c17e828230196b1b805c9cafc2b5bcc272a9dec6adcf75e714f02a9cfb1f67686d641cb69105d1bbcffed088313aab29b055f173fb08081c7ee51843c69c7eda0723d14fc771c5c87e3e1637d7ec63cac9b20434f40ddd9e7c4377c28d5dd5a781074a158b0a2a1baf3068ecffa53f28cd11031a318f641d524a5e29b2ae6202efc04d70b6dce069efe747452fac01b8ea46f84632c7baaae5e7b6359d1529e7c1db106ec4281805b3a6c32063ebce6976bebd1bea770c62ccffc3e6d68fb8f2a938f61e7aee8c4f3b0b332b7165417be12a10e82e487bc904ba534207f296cd9beb116a00f6ec5eab6489fb894ffc83f53ce8da6beccbdee8361f8f34489c1d757884fdacd0696e765b79fdfdcb0e9e1230575b31e93670d54de716f84458d51e02544a7b14ef8110f8ed6907b1cce9849a2a3ecc256101bebad7f66e7b6d4e8ea6c5c99818f8d0c71378757497d6e04bffa3ca2af0dfec9c0cbbe9a00464784d6410a1391f73e383634632f43226e359e9039431e8155a57db1b596331b8f4f19d6a78ddca94eabcf8e1b3977e37bbc7a2c586ba1420a269f85a0d3f062aa57597b7f853f621fb32581839fbad2d19ff080fa7f36344a074e161c6c06c8be0b1ea7e281e7d12fe9944c5bfa2b22c5870a67a415934a02137ca21488e67b3c338c9ab8d197b3f90b1511e6a73ec70e68b53eea93b3c576a42f8565dc04dc479029a47cfe89e411f467c6a0b83dcaf47ab16d18df7a36b2c8532071b3ccbf7d7129e469346b0a93a8e10860abe250ac880f115fee58ad3ed66c8f8845b46949fed0e0614869cc09047fb016858dab741b3feb0a2c9e94cd3545983ba56329b9298b179c94e45ca08c19e141748c88b4a76de70d2216cf4c4c1266fe5cb89128cc073a51272095405d126972d874245ca77537b76e0ff29366773bbc39725dd8898a41f1a94e95c12ce1a8b896f012fdeb0cd5ff94499ff727b1d7d319d84f2768ef1b789ccde83621effe859a2054c6cf6f74c807ffa8af944673b556f1f75fc1fb490146cc45ed7c0ae44c6603417bfba5671fb72f6cad76ea22f56b661356a38cc2edff4971be0f458110707deb08d72c0e027c99399c7d4176b4c4707a4fad9e79c47c231d21d7a3d81a1bb18e41e22e121571978dd67028abfd681970db29863db8985ff0f522418038e5677a4c48663ced4eb0a6f8a654eb2a1d5f08f77d8e3ce08e183bfae2f2362eee2ccc43216b4aab78c852965e8b10ced68a5e5009f0255fbf4d9479208cda22038439a9ba8767ebd07912b7c3e553345682c05c924fdb4806b35f905a0998125bd6e5a1d1d1e1a980cfb6fe4c5c9eb3805478e1b9c971c49eb268a9682ebcba6ec64d686187e9edacc53658fc979daeee21e6f4f41d6453d0227c947006d5890240cbf7d8c19e69ce24740c1fe3c728f47491d5ef2649dac5618f5eb5d205a0dcbdb350cd90064ead1a3739be4afc1462b1bc8770e1b08af1ca27050973b2cf568b09757795382e546532817bd62aef497f71802a3eff3fefbdefee5c284246b9d5f45579e8c52c4d64c3c9805b3535432dc23d4b41d1d891777c051669bb95b81df907ee3a22fd3cc33518e7d1a310e2c70cc58db86c4da8e58606d839c17ea7b20cd44052013ba025c63f8e116d5ee0ae30abc6dfdb4030b8a072e72f2813304238a1dc9e51ec04ad1b5ef5b61e2520d99346001a84930799c956ac3618feb5a41ef44d6e2682830e40ba1562f7a9dfdf0c36185cdd686c543122d220c407939a4e646a3fce5c62144a5564b2e11554469495ca82165115c9972735cf436a46d8ddb41bbde31d3b4d4936aa3374cab4f1caee881eabb34e85259c7bf89b800bcb12a40c1f7cc28e90a8b9cce92e382130b1d93a546e41fc85f49d4ba1e1bd8eda599706a10f525564de10299662348c62daf77ab8ed2668c9c9228f06fd893cc64f6d3b98e904c9526c369632d3c2a18216ced106d8911ac2a786cac6619c5555f1e1335411688000330aade21195e73004136d75a14fa0c3095a30b90c8559bcf1f2bf15816bc873531b8bba175db1edcea14d32c59d63597def3df896a04666f9cff862740fa2ed11747e998aed6f36ca202e37a5297a11e2cac1848fee92342950aafb64da4ad5b3174275760e1e7f4b080b8dddb9958069f803af2174784fe828227a5f1243368d9f8cbd8c7bd44c4d1e700be498f55cdd2e82b1fe1d0cd5b53b0f04b29efe35c9a244b55266d859c3c0a69f29210757448b1a23e19c0544d8a3e16287eb08c8f7535d9d95b7f504f793f98ea9c3904c994350ebac43cb4931289441be9fe1f721dc9b36aa9dd35d108a0c9aa20d5f17fa428cebcc1e7a468a7b5271d3ebd9a224aaed00a3b58809b3f39dee9f8e1694d2cea61284cd862d40f1197658627b2311e835cef62a10475ffb8325b1f78a4b1366cd7b1eb18c7b0920309f7b995c8fb636931e9f92e9f1082f9c1e14aad0832e26261f493e48efc409fa05d2775919b606e925a4a65c888ea650fc987929d8af9b1d5fabf137c4e5ea57fbe8af4db9344d0185748cc4a0a1f89c4427a0a9d73a665fafe219206b855d4f3b66aa744357fa461b7ceb34a0c12ec07b6b0023b0a3377ac3746aa5641b78e51cd88a74ec441cad125a4ba5baca6e42b085b579565461702f20d9f2be8df2dd42aed5903269e0843ac7e9cb4fb138113cada7b870e2e3200546dc3d939287ea9dd884a0baed323c166061ad035e6803838a5fbed0415d56d1e649ae5f8c6429223d539c387e4eee6533ca63268f7ff4099f8d8aa39e72c62da8ff2e63232abec308a606d4970532cfb05bef2e6a20622b1c2924c833350dd6482b0efb526ac8442bfcd1b8f76f26418773bf1a54c9979917abee5fcfa2ec4544102bc57a292f269f86c8f77913061ddb6172aff8ddd3e455215d96f74c20b340daa3778f7d5951f106990eaeba194ab9ccb8e1f0d29265bbaab90d6459a7e826fb7534374e3017a025a75630bc958623434c5887fe21a6c862dc3c681912e06cdc8fa1ff3faab121e2d98a184dc5d1dbbd9f70626c8456853d72d09ce289523e26526b8f429077f6fe725132eb24e614706b0079926b34626205a1071d8f81b6d9f51961d5a5367b8f69d9f504406e59fc83ea4ec05a0b76f35952fe5e29bd99809f3a3c2fa4070ec53add1b3a61ad2fa86839019782389c517afecade16c69cb082dc7f7fb2532b72c685a2fc3f50984755e608b0510bbf6af81c16ea70fd3611b6aefbe13caada431beadf7e7a7e2484059669159fb88d3a3b73ca2d3c18b4c8da28f4f29545e57223bdd16254696a01bdc8cf5ed747bced12b8b4e696917e1ee8ad2ec0f2189dab4ab9d2ca2c42a8296bf03c016ab77a2415d65c5975c6a8650e37e32ee00534d7c585114891e9b9237e9bbaa558428c41fed85ea00f91cd5fddda9c1561b3f05a63960d7add4b7b04263fca7736e546ae78f2c9b640249181a811e2a50f17e46e1885382a17abab0daa4c1b8f36b1e6b0048c9f3d3c7668a7173a06d8c77c81da05bdf9fddac590aa2c9126e80c1142247b21deee7c53028255a623250309fa893724bc9a01922f9ae550cd4f95859fc56ac0d50b7932281f43595cc25674d8501077b353c74508c661df6e5c377e69bc2da99dd8faae8503e7015960d38a85a54ffedd63c0bef29390c4d646a629d92e053801b9df9a5662c1b8fda6e8ad80e7de430698c00699ad9b31feb97813708b74cde929f9a8fdad05698d77ce730e78afbf0d5e574f4d1d1472886366e59cfb0fcf84751eb81c849dd47d2d7e49011e2ccb2cb0f87099447037fda52f95f18428590cac0ed3404006ae8b11d8bea71c90239a92cac589ee9814584a5c48c44119379a62e1d2cae39a1f8ca8f7ba35cb59c66adba56f4299368a16ef99c225b2a015265a9b4a7c5ff352bee7c76d421e154d6f1f468a5a8217c54f3298295b4ed140cf28d59e250ec019e218df64a3631ac4161ab47936bdf4bc20620505121b3260d7d3f751f32a2fb05b53369273b29f9be314cc6647787a20459bf1a766e0c2f0d4e82c1c5fd14afc9a67fd82cc8459ec611755cfa0cd5328c9547bfb76a5b733a4c51478134582ab148a27d4860f106beb2ad3227924a0f5a59c14caf258f8e56a93130c9032894f1556d73b4f89036fb5ad9ef5be809f97ba8f9bb66d9a5fa87a9dd1e68cb3bca382737af479cdbe9f1ef97ec56cc9446feeb64a7906e5bd4116c58671efec6de647e0ed81c0241141776b0f153b333951a01784a46b599f13d8049adfa8d20e2ac76064296f546277b7f45479731dffdf9709ef09ad3694e14c5bacb879d6b06d4d1760c0c165ee30bac52bfa84641c931f223cccefb15404361b091b7d334754a0d1543ab554112880a0dbd2fa9f5c163a5f0409fe60600ddbfed1e0dd774ac5d7d4ca8dc13281ca7d425dc86011d77ba57c6c9cef7a9c01388b630bbbdcfd97e8ec90d1d75e7c97626ab58c6b06f3be1b3161c1464e5290eeb5218136554760e7e3850451c3a9f1f1fdc10ad22222a5ae54014336511d129b8a7b26321b8e80a4feade16cea7c4ff0a99ff15b1463177b9cbd1ab16722a9f74e9bfa5119d1e808cb61c3df09ab8b39c193ce90fcf65e7f9be8f0ed60449ca43e41e4d7bb94e0330f53c14e9344830fef798cc0103d2d8906bcf95fe8b71dbc15726396f4e041cfea36cff2f8f0014cad0de81d54a12f9b0f8a086d012caa4a5cc40574354b9889acde283b44f53985901070b295fb2830f6567fc4a58d01ae7d3bf9d69ec229cc3716ff7c0083fe725da1e3afa2df317e17c53758128f05b473813e3d35a58f6c270fb8d671975a5b94b400ed58426981d427fd15f449f3d725c0d5806da14c200f57f6766a4e6f8cbf5af6d7800ec73c3e36af5d7c429f8a32b2d1025f5bfa9e08efa573188de889b757693c76d82dec1a89192848f35f6fc766abfec4e65939bd85ce6c8956bff26109e924eadb4874e234546359b007f09fd30506a2524cb3bfec5fd75a1ca7c37f582bf42a437b9432f5b246727245b9d409eda665b8cbd948b1fe6711ed6cc48b4f56638ed6f3c5f623c6102f0f5d23a08e4bd84ca7637bfdc914453dbf9100cc5208d035bee0b8263df777ca907046b123e2f9c12f378db3532a118822b308f9e33196ae17441db146b362bcec4b3f91f98f321625e365ab3bb4b71b968e6415939a14863548f986c34f5c8444306ab2594aa4068f511cb814ead06a40bc0b03643232336732d6ab29154d1138573d06a4b4e231a43153a2d09ab3ada72d0ea23260e862435a52a00a51e42f21814d59380e061a3bad5233c3f0e58ea7997303e09075030bbfcdb04c497254a332abf0ee5699064124b391da0a0f53fa1fa3087b36da73e0c634f9f1c18589fbd6f63c28de304c5f8dd8021f9a7b0f534190b3da2f28a452f467105f809468af8484ab7cb5a1722cb87eef4e7817ad92e100519793ab342256b5654d95b866c6f814d3a6921d65abdfd5f477edd5210826e991bdbd33b5ded853723890761535bbc83ca22cd42bf4f59403bd7485ca32b99afa38fa57970f529a817e1248a102e0790dadf4f83ef7c07c27a81ba629dddf3f2e33f21470802a16b0e1d26fdf2e3f7b3fd0483a7bdeb322a3d0bbe3b3888f4e213d9470d1c080e8814b0be9bfee6753540642587b5d56e1dde65d1362904924f030803bf99c0fb7b3a65262e6081827de7bb820b7491bdcbbd796fd77cd187c113836548e830f6c71fddf1dcc857c1cd098ae9f583d87fb83682610c93d5724f8294d962edc0d2ce5a6f8926bea8ec1dba8c81b8a15e1a86bf66893ea9034eec221320972ab30a8f3c09d172201b9dbcbb2fda179fbcdff55ca4c950f883e6d10e9166e86892974835ca3799cfaa3f80e9ce25868176c24dce8cdd4bfc25d98ce3a09b5fade58f7237b7463487a057087af51080dbc258107e5f0a96d4f9791002d79dce61d44ad9a05ab3a82934a85e2bea7af5a4dc14a48cb4a5219f894dedb70ad59cf0da060c4dd9e0744cb15f70a3157aa1717fe63ba60bf830e2a626cb2498b0012821ca1b8fb7068a33ea452992ff3eabe2e673b24856559bbe48b7bb47b7e110aca743ec51bc02af1a5c27c33c400915a4456cad106f9979072a3c7df7e76b728ebca9748b8753f456582ded9b47e37d0ff0174ac2f06ff9a188e7970e827bbaf42045532ec934b7eb21fd6ce1d370f247cb56d233ba845fcef76d6ed0ca1f5d2bb0c098b525c706fb89480aaf2017eb32b43608eee1d7f2ec44e97e0a512c0518a563f9b29fe7eee1e6b7701b9514ed9588e51235ed5086bd362f0bb51cad41eff26744e173f2702af647f1aa796bcf8b698a8185e5f689f0c334946f8f611c46a541f813627325fadbcf363ef87cbe749594f359eacec96c69d9621cc773ee9fe2f3d0229c405e1a24ded3a2c7d3fc752e8214e2c8cd476f1e95c144ce191221d9bf1eec6d40de53b8fd1b3845657807ddb9fac09d659b2686f45b6cc7e8b2c65d9330e42121aab1032ad2fa26d3870738bfcba0e1387bfbc4b9ec407bfb9f178580670db299fe6fdffe28bb720b820440f6dd8b6c5bab69146b887b70eb421c4364c989ee5d99b607a3547d7adfbdccd3d2c9fde16ca1685fbc5c342e6328ad38c984e31582f3baf8cebfc1a8a983e989afbdc1bc9f5aafd3921e0dd8a69f7a5e511e1a7e3a7582f3f6814f6bb9b1527d96ec3d218d405d1f0f8b4c1fb9450fd7d36cf8b8ccbade71b77b360d3785e92b272424e49bb76bcc0c1e39ca02bc5f649f6c8d450bef175e7d63664cb9b9021f39757ef6cfc20b9f1e54df1985a73dc4690d2505efa33bf6270cc6fce5e96c59b88118aa3003c35bd7de01bd2bc48611f8873a6bed797e603a4f835b7c42a8f9a3aff08f480dbb37feae562197ab9b1068e51d602f073685a33c75204ee14edf9ee860d6c2fb724e98f65f26b80e1edf76c702e18fe18144c002f9d9c0250da4141990870b0cae403228a08694c0811e909c0c1013b8480219ed569a51fa2de49dceec7adfa3ac5fb4f0783ad42f5e26a1c7b6111d60d5e8dcdef4d3731bdbeadd9db0697e739a32c43fa850eb23c581db5ba01f316253031b72bd7f6673c16ddc62326f49001f615cb1365c180128dae98d4ff539db523aeff9236cbf501a2e8a08bc2e628799b178ef18137c1c6dc777ef65145112b2205bcad1f69bb7cab10dbd30615d4d1fe31d21564f88867bc7d1a38a4f2485bbb56ff35b2f2db8f9b20cc20048db1463622bf706ee5c393e36e86b62d1e80c13fd67a2b4fd950f4e0c5766dfa31a580f8b7798afef76a0e52eeff15f7de5fcfb341b165525599a71b918ca346d2f378f3c3b6bcbb6e96c7220defe472ce1b7cab4e111169b615814df1922182670daa5b111f6560bf60004d8c9769c6846006f9c86dd6cbc07eb26cef80815c6de64e0a50dff45c39b6382fb4d440b11a4b159f510b1058f21ded1403791063944a1ef8f5d477a1ee255f6e20059a7fb846c2f89fb808c53cf5f0b5848fd84171fa5a566df91ae24ec3b7e97f9bf7393d002a3239e7e07efcfede2aab1a084efb6c6f58e474d782fc24d9d9a8ef51f449d5678a30e049c4fc7c513cffd423187a9d9bf04729803e04ff4c708dc1fd5c4985b9210168b7c5375a2ca568e4564cd46d8add51cdeb0089ee2c22b0422ad10b3d454cd4960c27bd710272cb64d7c5b7535e8eefab87c5e45105e0e1eaf6541dd03700074291fb6acc75edd12789c9dcd63ff68c3658c8a99c2704bee67327468e56c367f51a8ec8957a060b84f949be78ad3a29de688ec8fb81de89f8cb113e26f40b52853536611cdca5a7207ffc5f0dcef181915a2dc56a4d0808d195ecee451f264048a081992025d2040b61e143b9b9af2d4ecf23783d09484bf6e6ca0f82ccbb7c946cb829ea587a751437ff6e2c9a95d358d3bf4a8f223be49c118eb5626f8050afe9df553eab2d25322b14a4c7cd89c47c01483d59015e6adb995daf183f64de78f91c63d9eaa401677615abf432d06a625f8a75660ad3d29f951697865787b269d3ca9417e198353f0fc92be7d709c46af5953b467d1efb670bbb053c0c24e52276c90b6493c48989ef0e6473581b122f1923cd53cc12b86228e6b22ece3790e9a5a377bf5fcd3f9dec394736fe9032416ee0d8501e7a11ca7d03e40338478de1cdbba14a6347549160a5f218b9e4b391cca5181dde26ed0835e81bad351abf9444c6a138d1e952f05d188f1b6837117cf8ab1d96aeb409adbcebd9f3499b162edfe261351c7c9d137d4cb719cd71210e78a9d49d07c9480f04e52334be64adedc3dda0138fb7e1b4e4983b80f464e0350a0bb6603e8708cfea9fb7638c99e6f656ae718d8e44cc60998a664f31bf19f65f1c7dd5520f869e6d2344e54dbcb13e3d20466fa6afa0331cfe4db5a55cd1b2e58792fde37efd951f96443feb7e28a02e674543ad117f2490ee82a34c90539d3ee864e6ff53cf821a938ee24c32c43b9a6b3985f920a2a31f2e9ae5cd56cd2b74d01ab8784a08a9b737a622a77314890625f8e38e7939a075ce387785e5b805f7e80ced01567d191fd8ea73a9b9c335abeac351305e7be4add24e80d73ee6fdd555447badc9b89b36a6a30b4f38adf881aabbf3cd9a418fa09421e2b26ff3c9f380ed9c5ae3f3117c999010c59018c8b02b44c5f616d73414250503c4fcd710b30bd2eab0352ddcc26417aa1941b3c252fcb29d88eff4f3de5de4476c3784ff5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e3a6a0da05ca59913bc38a8630590f2627cb6604cff828a6e3f579ca6c59ace013d1d3719f5b0b12c7105c073c507445948f12b746dcf32e843354583c9702cc02063f78c98723ddc9073523ef3beefda0c4d7fefc408aac59dbfe80a72ac8e3ce59e94c040f5e73d9b7addd6cb603d15d3f27bbb460270642b5bcaf032ea04d56a3a3a4451d0515452cc523078b453209a991915ae47e17a14de24068195438b6ce7fba9f1d24d621096d40968226c787aa52cab436e861bf0f96184f068e388b5f8142236583849f3c7b4368dedb5a0f7c6106a238dc00e52a6875748afbc9af2d71a884fd766a541b89fdf398c30e28e791507a6121f51012de6b294d626e80b2e11a40951cb8168aed6b7babdd7d9df7c1bea3aa7a234edf1de5f956479e17ffd15bbc885e8f6f0277f1911ea2d81999711f80dd640beb40c65c281764968c2251c9371de33989070ea019b2ba1869b841643c17e29e0a6f3219b1556e79eaf03123735310fcdd785692bbc89d897b2d21cf9905a3fd7df37218996d44646f50e17fa7348cc45e65fe7a0ab43d2d15d72125d860d7a3c3d66a534acd2b64fc9831db19ed79463971e515d2342920ca19c17c14b79dd82df7eda7d4f9b0e0ab4e31268ac5b62d198642a96e55e171020391e53f0e281a7e0b6ee4451b21240b32d18a9264fce524d92586aa78ea899c2571341a47eb0b77b5027aad87ddaf5d0f21e345065c05fc9a652bb13cbaec440c21890a6ea994cd4eb0ec90f3cf2369ace13800a11c3ad5379b141196050bef6b01f670874028bdc2dc16747b3a6fe5e5a1952a029356fb02434869fc2ebfe4b4814db19ee90f2591d909e7f688965d639105f29b0b41dc3fb4c9732a7a8d523f619b2ba595db135963dac5b1fba77e9c4142862e17d275eab9756494cfb92879d100d9d68c9d8c9abf2f00e7af8b7a5951a3e17ba3a7aa1bc5b5a722e2d93844415cb45fb2ec81acaafae8e8b8a429d0311450992b1a6f7dcb24ae478aa9dfb381b04a141c1eb927df56e832d55b12fc71503b46767897564c4589c577727266c11d2eca5d8db886d6df4c625f20b3de01bdb23eb461607be8ac3381e28a3fd4c1649b655d2116cfe6e9c604b534f31d7110e8aefb64f1397b16067458518828b1ca5a1bff8720fac271ab96a37ad01d6161e4e9960c27256b9e160552c24ce44129516c2cd031e57f535cebb136de33a1dabab010b0318ac2a2bd82f768a4f62175689346f02e0bcbb5513f3c46e0cb51289a8edb1d0ccc792ef1eb8d44a7aee1d07ba578e400ad3dbf24b93106ffbf11706c8df7100d5a87cf56f0fda58fc2713d60c66e933bba7fabb4cb2298e60a61e11d7848729fc5295c9a38e540b1a85180eacd0d2bac9a8aa0783d8766fae9d13e3ac1a1e5edcdadda5d1c057b2b0621f4f8a484b4bb0487e51419aac8ec01b19d9a1d3d5d5596dcbdacde156a53316147b81dc77117b573ce2d7e7abeac211102acf6059825ef2c63626a6acaa04b619bba580476818f56bc551eb56559d911496840006ed792a23d1a722dfdd7d7410560734a3e18fddd1810cd13196fc531a456cf6e81a73e4a7343da7f444fd0f159e56f853e2281d535d97525d6a97d91062578db903db61eb2ef2509510bff51ae845a4c7cf484ebc585bdadda6659115206b836cd9d37163ade2e1171f1e4111cd119fad28861c9f480403f364639b1b0bdb18be536bb0e5069d358f1de91516a21547cb0f89f3ea6b4a9172e420ab1137bc71784cdbb84446aa1b846d01451c5f63c1c6d615c70305554903be9a9d1619e9cd6b45de383637770769fec1411646a263c1565858720e97b1f21cce67abd1811c01df7913f571128e2817a5ec5541ce16347f61dc90c10ed886126e4756357d24206502c7e768e48ca41d253978f7301d80ea016cb9201dd7b61784fa2cf9f3b099bb3423614d17acf81239f74728534e5c5f54386815f2ac5a1e2e2cd3b9750b7d7f436053445b8a48185823dcc7f7d53099cf19a9367c3b6d1326d2f9728c89b48eb28f0ef1f92b151fb8412e8fa3072a7228a60bf4c7bcdd18fa9abea54f39bbc1861ed65c0697e413f6f7300919c25e9cd730f0fad624d41ff85f5a071468e549798d262fdf83761960e6e1051020516ec70a52bfe5cf5e141a8581d10c80daf1056f0e9984d94b10f5d468821400c44fd6e4e3f4a0f5121a2b77ed01aa9969d911b71cf7b3f7db14bcc58a018814eead7492b0c55cf9af102c09de68a6ed7c4954ea806f9428b31a24d4e453b857ca3a10559abf76205c1583761d4360793b6273aaaeff5e8016119ebdc8d166f52b9db810b132cb33571b7f646d4152c4bc7d600df48ea25cdf15ccb68a67db69fdcae63dc3d84e7d7f11df8a7772c50f2fabd72f058ee42eff1b80d5925b0473f288ac8c6a3e1dbf651666444249d028f5d3563d55984affea11a3a003424d4188b95795bbf31032ab1ce9e60268d7cd39617977fcc2405bef1654520220797161e72df9c968cd15591286509d998eb568a57c5b767415565b1dd2a64ae13e912051fd15c5f6dd447c170e1fa21aff404da7ca443792b1d0c9124acb69f764ceae0b116e58504fb40f1e3b3ceec550d88b3ca7f179733f900c18c9c9f137da7909ca85f4c7c232403d13db42e9bff6c2a8a96fba0c9eb766c81ee39bbacc2bcf53212695707e2c52a018824995708972a91ab8dd2665f074b3139d75881a0f8475f78c2f3e08e787851f175ea07b7236915f0a269806ec9f3719dfe419965bf84019d5844605f07f2c144cea47abafc600e1103705d18c99231047dda467cee724d5b4478fd21906b1cc9dd6e952d81fb7ddc39f72a81438270a4b45eedb79192c7e6919c2861059d8a911a2e35f298f46300f8f36711a7a13bba7811cb3baa56bf3d8d85e27152fa995ec9ae3286251898fade04bec101775efe0f7380e9de80e4caf9aac131b792a591a932dd8b05372d625e256a9152e5547480fbe798ddcc1deb7814554117cbb0bda7e968f15949c978ccf08ba1b972fd614ff11a67776b0dfd6726d2e16798cde43ffa751f991f3b278f5bdbe118eadfdd2fe3f1cc21cecb75a2263641cd88a64423233b00117f05f15b5b5b6839b8ec25901ac59e6dd90c42b12a303395f1704f6ceacc2a3fc1ad4121d839c2d4cac695e72bd9b1cca484342179ce38ad6895418f5fde2160807699b12c605abbd0f548dee2f6bf10cd874c51d056b22fe7276d7be8c22c170462ad11704bc4ecb28c512ffd64e678d6bbb0d13a0f97d78743b51cb247ed87b125f7c1e4d61fef929c90d09b731adfc417f63180a81cb9421d4d7a0c52724ca34cc821377ce7854cfb9bf676f0c6d4321ad371ff9712ddda594cc1f59708acf4d57f918c7f4bd7d51ddd67f7af3a13f3eacfa130bee2fc9e82ebeffc3b89c32fd79f71fd624f3a020bf316636fa16c2fdc79219781d5c1a1acc27b85efbab01cb6c751460e47c7bae09539318c9bc67a2f05d1099a094c5b042eb1ef474943f6ae72f1ae1e67604270289e55c2add32881ff314e7eb2b9d85cea0b7b0eeb028a07fc210d8dfdf616f4a0159b44a4e7433ccd01aad4ce6e725d5cde029a23e908fd67315f1d651865177714deeb4cbd972782911e857e9d6e8bee87bb054ac8f848d751b201321df5332bafc59dd890c6aa4f7158042e7184328c863ae4a6e70eee99211666ad827380d0d0617114a1a17431e1ceb21adec2ca43d6b12746e7b129c7e16564e57bdf01cfe88db5c58fc41e3fe11234a2562b49496415f618d603605cb1ce9d41de829aaab677fe73d4df8d0081787dd1720bb2156b932b964d7f9736d12a5958c662b6923c2eac13af2c2ec7b1d1dded61e89ba82cebb34625b025796171818df4b076235a5fcf6b4e201acde1259f36479d89c883b94f187373613311ee1f583c7464a6dfcdc5a06c6914227181a2b03069f6e573017af9ed1a79b521390ded13ccb7d251a2518311ca692ea1e40e5a7303cfe1d48b7795ae384a8bb18005186c0c9314bd3c5c7ae829d53c913cdb4a3cd42e9115209a617d1c885a81fa4901c3e0221db7407b8df403a9e5319500d4acb01b415f705601967fbe44214a70a08099b29def837b37a52fc833510d7dd0ca89142308e59b82ab79339ef19134b0a200e028d3ee1f9eef84261bf140f3c08803e9b3d65e7c758fa9b1a9910e42c0d0064f8c86ea50c8e90f9908e1aea23a499e9f9d38bb7a3714061da3e15bb1c50e1ba94a93cf982f4991a15ff102b61b39bc4ba75c78ed120c35dbb311b891a29166a95c4d20b0ee768b162c115a17bba118877d0db6f3e1f87278267119b925d1c40bf802ce663983e3fd0d81b4975e44933cc33bd51b64665ff0c4716d45d506e8fd68fcaa75e0551cc70d21153c9b3e34b571944d9fd6e4eade7831ca93af68209794703e19725a58aeccf16bafbc468d4606ccf807984ea6ef03f122af9070e87347ae59af5d3104b1a331d2294390b6c902e51e22a43da08155c17b5a9c7d5bca68bda8155cfe1d310b012870fd9222e71df909c55e5025381e61d6c0c144f8b5a4cda16de1dcfa89aeb178aa3a9a5a27ba3ae787eb1a520e22213a905a9a26a5fd27d2797b5a29a369e1e54d12082887fdb971facf74e15927e1877a780ce06667c794c23c6d8dd749813f10b01e40a702d8fad6ba32796545a1f5ad60050a259240cbeefb51f7810151915459ad981141d70fef2f7b2f9d91014776a7b149b4317c0fe5bc6282e7b0d10f24392edc405f2ccca2c0a0e7d2baf19c29c0ebed0375b0a6fbda171ca228c14cee33ecb73f948088c97b427d51b7010b09f6478ec5b0edaac25540c55f94c1ac07f5060f0af3e7bbdb7a9d610610a1533664080f3bfcb95972ceede731ad5105270cd665266acef5847b064b990ee1adb59a4b80e852326476cf3b6faa68b1549aeb693d8d0821e6c23295f95853c1175b08a1ff41a9efdac38a8feee08941bf759d5b229afb197bd938698250710162c7b77f5ba258eac97dc9e131e6ca61113c558222b097d7abf2dfeb8c9793d1c766aad4eefa0fd61cc57cb60a1949716c5eebd0b591afee7091309e74ddd12123ab1fc455b5d63a6dc840ed8affbea1cc88d306baf4a1c85b0d03e13f3622217d4d726bcf26ee3d026dacb75c2e88112868ca4c6ea179fb4d72946899da79c1d6b705005efdf182a46ee04a11786b01789f3d99d25b3e0546b8b9d4d799ef3127452f6626febcd8778452f7c2897521e5da85e82bf220bd3c66abfc986124218e4b94b68cc1b3c0f9f88ff3ad20e68136d2979407a2c601898da989183e40c1f24219433c856b34613e2130e361dd718b64d4329a0788f38dcb4dca4914adf138aaf6ba866277f5a602161a182aacb1fa2bfefb9eb8532154db44db49bbb6f194e998c6189d18eaa3d90a4f6e26259140ce1d61aa1a7d8eecad9b62b4f824710459b245e9b72277e11f68adfb1030c1a04491d1849f585fe0df83b195b69d614d0a04a13d45d9ecba4f92f147c87ab104d01115253c963df3a5ce6b9f90bac1a7167da740fa11c192fb01efbfa6f5615c152482ad980b0ad25c04b2f2ff3111134510daa8e34e71509cd12b27eeb4f1bc40d71ee3e5d1fab6d0a0f283289d9159da48d8b651719bc57080c2028d47a11943a7c123cf2f42c590de0ccd9b9f71b439596dbfcf4c3f0e03db370e1c75f1603111216975d365a1acbf5268139e61104e81cf024fc569090de220b358fa31cd0ece38c1d30dfd9a64b82a25d3fe916da23833db1597fe1eba2ce4eb13254125c39382fb5c2cb6879d17de44e84531de32d60bf5d35d65394a70376171c8be665b12a78a976ecb6a68ecfc412fa44d76fb5aa260ff1138bd77db2071e626adfbf2a22523f27436fac642806184e887f99884edb651f9cf289502038134a0dcc28744ac56f6593ea0fb433c01e3ba40987f6a16a59840f2273f6c2991896b6076cf8e7eead36d9b4f59135ae1356570ce0f33f7e4924f5ba2283227d1f45acd64cf6ff64d4e99095e868e83019d189783df8ff8343ee7344ed5320271474a19397c6cc9ccff18f03f10f4d1f105202b925a447617f1cb305e87faecb190f35c7b7e9d24dcc165cd1ecfff1a214d990d25f210f0b3d12b0da23335b8210c1e75099684bab6150b32a06852b6a1a67b94014baa2224e405c556b6abc2115539400dd94e84e0bcd4944bceec9e71051ed00c887da171248a9d3c64a760c1bdabd00a06c4846db6c87dc6bd591a315af64cd4cbd0605498a9fe3efdda74f11b13ae27ac80a08a843ff38e62fa6b21bf42ee8fb39a2395369ff931ef38428165df2ec2ffbb4c77587ff0fb2f503ba112eea47e69121d9223fff7fb622d35c1cf254068541817ab565ffff91e8a8b016f5433837010162c4b73233db86ed2612ee9ff3f10168363a5984eb91a4150b1d8b19f6279bb95efbe069bc7450113c17d67a5e86e2fa7e2fe787635d407496125691fdd6d0f797e571d93862cd86bd1dabdaca780d937984c17a2de83dd2ca1756156f2d714261d09ac88a8631a80813222218af4e6a684d91daaa3d4f40741ee8b479f23e8853a4daae88643f005d18875d6128ff6cdce9ae586d50cc997d13a495680d65ae60a9e48d481a7a5c2f1f8344ed3db7beb3ba8371a0ae61b0f218369d8a312c32f62e36c1e6bee759f513f0617782131dbde4899bd7973ff6ee1f5a4e2c35a97dca83a1afdfdf32f88b1915a556f720fea19ce7f2b24cc2f96f14aa1d12f9b3311b4ab9288f709b945910dd95b6c1ecb55e43f50de580c5ed281a4ade5e01575ee535c4a41d67048bed14d5b11801ac7eb7c4691d7e52d008be1022b65a9b799725a10f2f30b7b3a7c91a815e154961acb74dd958f3f8c21f6e159b4b44078123c6d7ade0f59335e624112bacd33e9b053d5949345686223d6e1bbc89dccb159efde06dc3110582caf11563a1e36f1118feb3246941379b3b8e11d19bd27fb559638607753525c5c5161c0ee30e339114e9d1d290f750379e78160b1c3f8fda76ba74750dc6402c18fa1178c631e59024f7edbb48a367e059c31c2d055bb7401d2c8bc9d3b51f4dae021724047c5fcd7d566fd40f2be6708b6812066dc69848c9f07eedb2113d4e12741d9fbd9ee006a1c09857c2a7fda40e9017e6ca4b4dd2800047799becca50a5d912a24479481dce00d88ec5ad448108291e82d02d6d17d833133fd1579d9ad32018cea624247946f6a865a7ac4a15764d137da43aa08e3dbd746fa57a778856e21e645095e63e31645d8cb7fbc50612b518b7a6aaebcb8db64a702c96d16b0ec41357a4aa12131624111a47f0e81217a01fdfe9ee0edc4483da146cf35342df4c198021bfd87c9d02e243232943687f3d143381327afd7d684e361c323110b8ce509095c9404abdc6b94b2951e819c60ba7a677d4330831d2c76f87dab9146b09ec1ec67629a08d0ed3bfd2ae9410dfdbac64a35742004917b8ff1d7e871a19e323eab5df01cda0126099b1313915aeb51c88914cce704d75e6ad278efa10e25594a6b5ade31aafbb70490c7d2a1be8774385c457e97bf2628d073d97bb1587f935046a7987c98eb50a0664df621171c2bc06108fa575e48877d66c65d11b2735ca6ba6a5b7f7e9d392abf01d41161fc4a1bc1e1ec65fee0f0f568db1cd1165d302a3ff16b3b189484f7c1c51dc9b4d501ce932df288ed406d9c9160e7d497173e3208fb220d87605143b127c2e0f8285059b7eeacd59f13b532b1dcabea5019e37afcbeed747f42fdc5517a19884344bf95809bfac6cc38c16ab1200101419401f88136a1880841ed01284d71765cd1d205fa0e87648a2941a40e59c30901ec4bc163426f56b1c11a0d8855734c84e676dc11b3d9160e458408cb5781daf1550efe2d6e41a92d54d06cff010f64ae1c7022d20b49dd97943781a949002282c2a8bb9340332b7f4ad14e70184fee471d919881f2fe727aa7c21d7e6fae03180d4dbe98ca039593ea0c95224b00888ef8d1f04beb3166e05b5b5b81385ad609cc94622e3a618e6d878037cd8ea9bd01e8f872b824dc7e27369b6e22079cff91280dad003641b695743b8178862821eb1a1162ad3ce12b42afb22661d4a9cf4878261f5b9abbfa45cc3f12963a05c3954cbf7e6191a37fa5dc8b34729beb560a0e0c478f5baa099b32de378c818f6d6b24074044090fc8d4b7dcf59c6ef50910550b47b719e5c43f0b76ba4f50664a1da0dc63354eca5061c0080865984dea4a8c85ba0b4b32784110020e86f2516ced2ba72c8a1a031e5e2cbae9b8187698f3aca087e5e1b00596d3f4d01b1f4a199647ec50e1b1140af488fa041dd710ac0fddd76d2611510db1ab30892540e0d307d951447ba1aeac8f06f45dbf428083e6edd6c6cb41024fbeccb161232338acdc9148887e114ed39e87e9c96febfec40fc196ae9191a342451cf211efff793a83d50e2315010416d2543aae5fef5b8124de45a3e641492c8eed3149f7e336757609df14d7d19b67aea08da465e00416db8046ea1dc1fb28c924548ec3aa04844f3c2e4e4e913de2ff7565aa749c85a15b0f31d5ee418d6fbb4ec30115c7ab11a9c70a5751d1f651df193be8a79ecae90616687697213efbd28c7c9e87d511172f88fe3c4621eb576791c7eb1eed24a47fb390ebbfd1262d497a3dd5daa871d197ac8d129bd177bc97d0c55f594e9649f983a4674ac1ded9dce275519fd119f639fe4abc88b126845c271aa5f7cd6863cc7ddd6ba2e17c2d6320e95771b8ca80b39958c69fa1c39c6df28bd2a915749a743ddf7811c12c8b717736c7575ad1b9194d475a2a316baa5dd8fc7d2d29862b5b949138b4c1c9487eab9bcc3839f5d11140eecd6af11792965e8abb46407b5159911a7cc1b16d7737ee2d6e13d49225bffd5d0bfa21b66088f4d26adc66df598bf85e2b7451180caf2e06f5838c9327f2f27db259715207d2fd98b6e867bff5efbf051effc1a34aebd67170534ad5f1b9d369315de10c119ad415d06819837624404f89a151532601892f447a17ec57a5505b6015b1a1f3c4fdbf8cc246fbb6c55c311e17810270b23123700ee4aeac72a3456199714f0cdabd64480a9dde47935c1abdfbc19b6602b062bf0890a2f6cc158cb0b1610e438b6c7356c2ccd3ac7f12ebe8e1b141dc7a339438777800939aeba6d722219e4b80c08146995e04bc75929090f6b1f8ef30785ac615d6c8f1cd8b965e9a21372f049a617ba7447b3234e28bfa38b188f6cdc8f9de85119a0ac61f2ae8cae1ed9c3e9796231d30fe40b7d57ed172d13cf346418bbfdc713dd4e5cade85df81703427dde29fdb9589462b3d86275f61d42490e2b3a3e74b79c1d70c75d09ba1292dbd1b5c84d51e503254c39b58b6817775246e33aa1a5de442e9f87a2ae421d8af30bcec484270beb7cc39425ad49126df08e01f665f1cd255cf4f96e18dc1688acf28173bf6d412f7371b88a1e931cd5ab3731a897e488fde746b316f3db11ca96853d92bd1debfca11860dcef52167dfce6ccf62ce5257cca1e78d3abe71bce5d10401a3caf978d3e132b64cb7011427514d0200b9bfd300ed8353dfecc1592921904e9cd013dbd114e83cc3d401b9bfb8fa2b120214616cb10d29f26081182fa330bde68a9d7dbfd94c647304a1523f9008e15c393cd523d3ab859bc9c1ab69bc078ed597cc053662413b8f5a110a3c2f0d668709bb0e87fed172673ca144cf3ac0c834cc2dce2dfe89def0ffd190f18ece7d16ff9c9ed8bb1c2f5293e10131ee761c6cb773ce9ee5d3373b44d1498e560fab7be958ba36a350090216119fe1ef9f8652e7b6e4cc54200f469b91f5fb39bbbfffc0cc54fbb298038e2d31337a082aa3f3c50b6232a34a0c6dac818444823954f4be4a3ac3441487811fb1e2b0d36bd11af6ee6ebc0282debea5c137590832cd65a0ae026f172f8a52534189374a4b78bf10c9870ad8f760f2f411edcc8c652f716085f66cc19aa69bde812137b7827b51ccaf67f3fa014c4eca217d7995671e2a37cf45f4fc819f5a78b1d2620d6866de6cdf89b311d30f948771230a88be8086001f7027e247c371b15173c92ae220bb8c1b4839d2d5b0562da1c651badf50613f9507282fc58437d08123f6218b3c85737e50ea33b2f949c8a16cf7adedfba2d859ed28b0a3bb9432d1cc10cebcb943c13a36397e6c4534a9c11f1cfe5feb90b3d20b6e85c0316ee439f7ea80eceae8b4ca8e32234841b758a234f29c9404dd72f49ce95a03211126deca273fb9020cd7bdb41bb487f155688a78b503ab568c05a5212ea1adf1a36b5485772447141b878734bd270cb1083e21aed8e95cd51e65650de064dfe14249b61a8f2fa40e69f6ce49548e03d1af7003da9d79ce8efe3c3ae5d2dac661034418c930dc4e2ebdc741ab53857801481516ff81075db26141261e2066da019f192459b2a2949984cab7c4d24440410adf7164275735bbe1fd6db602d55051498b59c925250f2ada7cb12b978aa0619ffe2433767e46e99917e57e71655481fdf6d8a82c04ee5ff1aaf96502e358d1357092da370a2debfe15abce479827018ad4bf8cb0c4bd62f9a71eb5d18a38c1e4c2f7bffe7eee55d0027b33aefe517131ffb59ffa16a5f75c0f05f096bdfdd17e779307f4a45b792f0ecb7cb4557d51d304c7e8f4e8bb25b16f4529f8b56a5123cdf5d33222e9ff21bb127872eac4e170b5735c0aaf946ef629df1283a57221d675621b80a5c8cd55d0297598476351201ac29660d73ef4af5c2fc6f25d4c2160117b4bfd04fab9db2f3fbcb2e89731c608ed077e2118ba24f787d3fbd35c811f9b1c4155bd62d8b63d65c8f2c433a1677de35dbf14bf96dfc0b34b3f7d3c81b0aab012977cfbbc47d8700d07a845d11cd1542f354c3ea355da9008499e5b415409b12302a746583b4d300e5ff1e221b08a10b5e9a681fd2508420ef5f53f5104a898ef5c042a70665a5e8ea37a832159d2bf23271135148becea2e545527f1a425bd7bf26ac32ed36c185af6b938f101232cd6f30577fa88431679b4678b314977ec08bfc2c9fd2e5fd40425856e0191e4f58d71d7ca3a3af9e6829f7352c10e6622e4d255b8c8c5bc6c2f3744337149ffb79a0ee71af6ff277b33052144519877a98486a4e9b0bef55e0bc6659961f944c5f6d02114167b5350c36e0f7bd13ba1fb708435511c122438f43d875ad18a8e7e4ca93aa5571eb1373544ed3d81ec910cf5e9c8ad52673ecc7f410844713fbd4827643ed8af08fe7f931156519183a8a235494a8adec7361787e5abe1f1e643696b45c89ec73e83c0b8ff8d6d312fdc3bbe1b3abe790220cceb2b6cc8817fdb42adaa09621352b8f815fe4ff6a1d1eb15a8824fe34017bf9b0bbeedf6212655d71aaad3d82c1d9379d6aea97fb16bfb40d1519cde231d0854405e57dba1cf79028ad2fc02d1fa2d34a23af8ef41135b572983b30f9a68a881dec5ab2711682628f7e4a7cb750adea24a7f11e0e1c919d198faead7252ac12770857d38811f604e0321a590f6757d794ca2c08eb15330698bf602fd3402d0d3afd37ca651be003bf779cfd83483c4844fe629e1f11d8c4ae9503fda45a4b5ad5bdfb8567150e761a7b443c4e31deb04aad7a67c11ac989f0ccaae5d0de8aae4eacace0b8103bac2c80151f85962d5a62d7d718e7144ad737e0da6626fcb8f03acd0ddf201a8ee622cc4800989d73d644a0688b541032a02bff5a00fe84100c56c842ae69143e88f6be71803da6148f6b7ad31984194e2ab42e8ee0cccfd97206594820e51f709a30dd580ce021c807a4372d34ef130dc17c146f0f582aba098d853801eb1850f19bd94a13eeb4284cf0a686c1251fd27601c80ecc1471992f5628f498771386d4017a12ff59cd7fbb6b32317f5518a8498218d77eb0c05faa067ffdde6a1e096e516f464f6ed87b2a646f5ecb02138bc9250b18e389ce1a353d0b367ec317ee3bef0dde5b2c8261820c8ec35db41d7585b5c86ab95bf17cd1c7389aba9012d2e6e27ac5a7b22ddcc5f9c640e9341786a09bd9b6511f395337b8f89023021d544401481293b3039422739b3a562112699501dad677a00439eb4f42c9aba916c3fa8190cc95c84507e6e392bb16541cba3c51da9f5d9d8bc46fce3b358eb411e88be5d007b584aeb50bc28ac2b12116e3ee1ec549e2251aa38e722d331eaa1b4d55331b6ead57f0259967fcdf524a11a12a00a2c9986d6c6f7f81fb97e79c154935800afcfe88474bdf61fa7d21041b4e2190865d9fb50c8f2b7dbcee94e210a12934e83407e3cf72769c6b2a3a1b150a34412202c9db830f948306b508621a86c06855a15d69b2893c122471457d10a7f0c2aa09b5031faccb166dcd969c14d1ac73154ca2c426977e5cc880bcc319034c688d6fe53a781ecf397dd0551a10035fc270cb9e4916e642889c44eb2014c4f6f24c7e06dc9b9f53aac31526291976b42fe01d08d38287e894349b6f731fc9d01dac12e5c3b15411dd00c125a813fc44255757de34dea9551441312f92183b96ee2ced15c255146b5991fdbab61ee51d153cb44d99b5ece2d77ade3432135e651a4b21a1ffe2a7db8d1916c2fe17b6fee09d6989bfdb9152f19f9b72fe1d319fac02e2b557299bd3f643a107bf12fec657835aa3adf38188f49489c96e17bdb82d24310c9970a2aa31faeb7b4a1d76939cb69ea75f86a50a5f7c738d4e1254b843648691f7e74ecd765bd030e21669a654fde775f5a1a280547204bd9a1c01e854feb06939a565d074c722b6e0110222ea3d1dc4870e7f045279abe3581682aa648d24b529d29e85a657961cef1b91ea5ed836115a438313c8f6dd71751136a5768e8495301464187a7455ced215834e14b2e5ba3c197d9e98d1ea81471b12b14c8fcff4c52f0e63ffc232b10c1156dd1f730372b7bbd13bbf737fdd4f15acd4e74f844ea52ac60aaf50dfd4a31aebe4f0b11251a7dabb666d920b65a610261e6d5e572551d16ac008774efecf14b0650836ad6ea58585f0ca14e2fd031a8e3fc5412c65877353d6fe4cad7e4210718f3652773e6950e88b3ea0581e53144e33c426158e8364e22e4ec8eee56719224075709a71a4fd9aba617a6adfc11f1548498600c786dea0147d8ca22bd9131a9adba7c0782816c9599c2f8b76cf18a180d2d1f096b25b3b7083fb2d54031f64902383569e4f19252632bd9c1462137e74ec23ec85a35faeaf7eecc3993a189d91e72c67678cf7995b9ee73440491e02bb107ca0c0b73a40f9c21021c8ed12c3e9149bc8b0654990b7f354293aa9173324dac1fa1cbf5b74a530aab388931da05628b91c7257b968675e4a70357c12486c72e7a34201f65ccc421b175a074fe14ca298a1938133747f13e21c9864d10c7065ff44fc30a0a82f4c0d12bebd0510cc3e3f563b3dc8923b9f90162e2d07147f0ecf2b8a4c7a770ac7341c3d7c846c0f69615bd66fac8a66fca0114c9ba54753c339f2cb8b572d803b09161f028f192834c8eebe6ead38608a8b1b5361f90f99203d5537656c237c363711a8b9f753bf688c2a857e472c1b04851512a8f528ef822f75265e59f72145e61a0b899979d5b13d09d8da973a35ebcf104eebffd74a1e8d0b8ed13d8902e6031522e6ff8ddd65708ef1458d2b83df441ad5efbf78aa3f06f9b64b38fbb10b6b10caebef1695cf47b7a45e067a9ece8514bde6ab5c7ac319e54df687184642a7193670eb792c1a30aff0f954cf6b890810434c6698b720fcda6c382ac3c6ab0a1454df7f7ee528bb1188c6f473b8560d192ad71fde1ef329162af8f19066ac501f7ae6d34af337da4d1a3b971ac06b921319e0881df0c550e1e0093d21b00677181f18eb246cf7a419594c8c295cc8941e13ef1297a31a07b0b7aff79939fd1c13d8aad77c4ce1089ca59b7500883ce4178e950d9c9f190b038f029300aa4bdd1d797d88c103f0e66199e15b404a4faa12d79ceab104ac60baffd972d01ce354170d4465de05d7f8a87f908f04e41b2a1d884affaa63869bc94fbad9826e513a122a1dbf95fc6702bce3289023cae5c81674e42ebbfb0103ab1c3374ac3c1f7b1cc94efd543de1e1eaf19f117ba23caa8c599a65eec7ba66673040161acbcbd4efef00ffe9796940813cd01bf05effe4f595603f32ec41c8d0256211ac363f5e73bb38cf3e6752fa44afba155704cf3550ea06830e01e738165b291bb662a1217252e411a96090e3edd8f91064bb09aa0e675d56d378745c294f38153d2a8c54d2c0f42b089791b3f362861a669ad77483f8781b65fe3a50d8fd931000810d52a4365762febd49644efdb81440e190664d04edfa7d2d5cfda13ce719c88c1a60b022d4bc6e9c593ee5853010fa2f21785c2b096c8a03f08d5ea73c14f87b299633760b076d046c3136d14b19f6dab37bc053ce488805c7bd83c59e1fda68504d58f4802d75639c56723bc3131083a4606e31e178527c43ec4e0ab41800e37e1515188115ac3c8215e0827c83088472238e8430853a3a3b056873205212865a0e720a981f90215380e9acd19d43222222222249514192241d0111210a1164104166c468570e79451c03c800fb1a32d85e6c467f4cbdb24f0c08c4340382b5f69359be7be3c38b9154b33099ae60118211b4137d2cc184a6fcc8df3ca2cc145f8a0550ff592543f59934e066c89cde2941e0ab722ca363ee480979cedeab6e797529d838f745ec43fcb2fb5000519f9b812c80727a4cfe7702920999fef7449493f03069c916d02501f832af98a6904e37fa58b736d0079df110876b27d3730860b3b97f26e9c5ee6242d00b887a848508c8d40394048137aff0f3a255b19519f48651aa9b8d9ebfb44005a3cb23be8cd2a81f353687c3e6837af566f4e9085584dc0f5fd57ddfc5def702c52bcf1c559717e64a6569d783a52d9f38461f4fbade279b2730d9c6e7c72b92472e2657f30507f39899fb7844e4691241030b29498514220c572b1ba6be915d0769174a6baa887b4d4fd5820e4b85e1c2a5bf0b7e9fa8540952bc8a90107f8dc592fcd135797fb96dc9f4bbe62000bb3903c253d393c5a6dd455729fae2cfd94f9abc3e96a94bc822c35762bff31ae1c5b41f217a4a1a42d32918ac1df233b85eb742dc12fe01567b3ad9d213eea8269a383126933e324f39dec06e908f05f67ee2d47566c37b81869bc84ad9281027be197cc014ca59b0fc06bc6b2a450ef42fab47cb9b07fd8f29df26f556533e5fb51fdf22ed13d87801fa62dd58d4638a74807360cc1856c11475512c3c9c502a350e2009eea6ddf83cc7d3d24a79b6a0334fbf3f095ed24edf62503e70a34ab66677e7fec93d2b9518bf91112a95ab6929e88dacd8697161f34cd3e27805a824fe622f55eeff871870af9d0c66aba4666563032c1800c40c10878740881500641a88536b6e6fc9bcf367e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa5d182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b01756235a18915bf0c8a45464761206060b609bf01d060ec100c8b07a18b2412248c1500062c2e3075382a8da88d5c8edc8f4d4e4f5051cf90154c9139062d286e29b54892ba4f463a602c5d7d226020285c75302d3146296f202028674e614e2b2f29686578746173722008951108282c2c34063a420a4c01700e7e0b009c80eaac81be9bf6ff0cc108414c19658861024155376b001c367f9bb8f396ba7f04e8c8b3e79adc91957c3f9e83f8d022a46f152448260a7f73655a5d12839f814be3c40acbe2384c84741ba44f6082f8cf0914d8441315fcf1ca265cfa911f455debe454bf45da76ffe2b1a58153562820a62e5225f2ca7e83eed768a25e045fa27adf48cd7a70116c7f8d939b17b7bfaffff93f48771e1a907de99d4d50d2db0e616e5c2edc87600e0e83684bea6322afa3ff54f2f6bdd482bbb1608dc09e121c4d07cb321998a36d09e6c0f8b54e332579dfd4e66f1d2edacebd75553f32db0d01df184fa0ac04a44a4b54db63a1dcd75a8b633f68ed0623fabfb67d217d2aab383738fadb6283fd86ab8553c57f3ea974e1c06ced41bffa3ae7c479b13c470dcaa9d05efc9ac3b9ca5c61629d51f44f498f2c55c7f56210809e5be1c0fdb5c28f8a79b04386ccbe3af6d91f40b6686be438c2815b280d19bc760453740c7fb02f8fa0055b9b02069209a5ae715919ef69c200f8273b8d9ba7944b443b0e7b05f65bb70ead4c910b9bb2156e9fb90ec4b72611176591df628af685dbef36fccb79431a16388ed95ba07fc219b27030b22049e881bb513aa2c97f8262ba87fcd5ffbd62da5d6c75b700a717ffdc3d3f7a3891f408aefebe308faa011fc6e72ec90eb93469a4cb34230fde121e0f0f06790c8689f8409001d63d01a39cf6ad0a850c173710168f3051af60ae0f40c98ff20bfe787a85935b5a8c5d57191fd80b71806f1fd8ac2081fdc2b68ee7c9d49f20ffd7c211bc115c200004200f60bc10cc6e62f7fb0c02020b2a0f2c009896f03f244059408f88c36af82e4163419741cd41024237426d42a242d6420c437643ab43e143444b448044b544ea44912045355445028945c045f445ea29465f46179346c846fe463347e368479e47d2470748a53d48e7a64879dc484c4946497c495cb14973e5494a9a514a854aba4af04ace244b415a4ba9904b13c44bf94b2f4c634c984c1bcf4c91034df5384d6e4da24dd74d0d4e64424e3d774e0cac4ee24e4f4c4f814f16b64feb4f99215055505f8a50c050f5507b2a516d6051c894517ac9510052345269529f521dd352240853ad3e530c73534fa75363dd531e5447547d547db254e65455e85155a28655bb553ff1552556125b569156fec556fa563057806457e099578cd057ef04586b39586f58a358d858350e59c143597859ae59e2595a4d5a32825ab75a9eec5a225b565b8c8c5bc15bf65b4d2b5c30615c7c955c5bca5c79005d57345d6d6a5dc4a05d75d45d095e405e745ecca95e7fdf5e5f5b485f727e5fb35ff1e75fed6052608760bd60f260c32661f45c619161c6610cfb6131626562d49b62d0620563cf3a63706332a463fed9639f64446478796456af6436e36465144e658365e8b865ee653d226657668d66c26638f666862c67d46167899667ebcc6713016835686b68a168d568b10a69af40697469f1aa69e0696a496a737f6a08b36a0ae86a80eaa830c87c4108821042848410015dd2667210663a93c28214f6ffaf031a46113315c33226e8188c90a99249ca54cb8498a99a59ce8c9e41d044d148d2aca6a1a889aa2159535db3b089b289b4096d93b8b9ba89bc497df30a9c289c254ed638207242e550e6a4ce41e85ce940ea54eb40ec4ced54ee5cef5cf05cf140f254f3287a56f52c7b2edd93f079e5b3f469ed93f839553fca9fe91f0aa055404ba069208aa05741c9a0ab831242a7842e85ae851643a9862a87a2871244a1882489ae898a28faab2265d174d1c2e82ba3a5d1b511e268d451e4d1f4910aa4282449a46a2489a4a8a46452d5490aa52b25a4d2d44a8aa5ac5a522ebd5e5230cd8a29c9f49ae9a2295513b2a9e9a685d39513d269da69e2a9d4d3f2e9ea2704d41514126a682844d45554322aea2885d453520029552d353155356539153d55417545b5a43a4d055175aa6a59155d156155656569556d5571d5ea2a79557d45817585054bacd05889ac505953665d674d686594161150e510522bad55b155b575b935bd55c195e28ae402cd15d1b5ea9aeca2ee72e185f2c2d20bed65f1a5fa72e417acbf28c052607e09562c54ad798930a9306458751885189518528cb49862cc57d49849d602c8627d9724b00e1b4b9a6b0d7db48b25b561626b2bc81b8d1ef05a261f01acb989bc1acfd89b07a17684b997bb8128a5af554aa1333eafcf2fb09e00f069650786a37501441d0064166b30536b886bbe6bf36b276c5d6c926cc6c76cfd6c23326d666d9c6d70d16d0c066e8f3b6e716ea56edb6e2c6f456f7a6f3db06fcce46f7f70507043847054b970e9ef7023715658718e71e3c371dcf771532d72d46272899772abcd720b02733673816c73a173d673860b741441747574ab74e1743c750b4a75678075b475f1ea7520768c54762f8976bbbf7615f3765a28775f779377b0c8775cfe773278b867789d78d2780779823c79317279a6794ddc79707a8c467a6f7b7ab17a7fe57a7bdb507bd2857b46ba7b4cf07b5f247c597cfa907cc47cc7f97c2f7d637d0a987dce7db0037e9c377e036d7ee2a27edad77e0d7f427f29767fac7f75626672755c00d8a1a045a53dad1afa13ff333e093a561368196c036d1a6e6f70717273ce11ff0200030507090a000b0d0f204000507090a000b0d000e000f05ca7d8eb001e2d86a81552535458a912cca9615fa2aa15203a3a52d9085541732e0162b3ab58ac2f55736580eaa890507a0cb10811108208111a85ab6dd6522146601144a860e644f947799756078f200923ff004cb880c9b999410c619c7e42ec02d80905cc55dfecb4ffabc3faab377f0061871d7ff46530fa8dea51764b024889831d12f6dd497e37dddceb6bafbec5197df87a183760836bfb00528db0e4ea105d19749911d81a6eecd439c6cf9270b7dd49d3fc84838bd4c3079b3a3687a33ae1e647c63776e1046c8cebffa5b11bc1fdea2fe8efdf911754bc5711657fa526f65b1163011df074fa412ce75b3d54dfe379d7fba813043fd00700a8521ec90e0bd1498bbf634f17c50117d60c850d306c50557aea4a553e47b417fe78569595d9b40847b219601b4436cc32ff8165ed8661cef1de39e2d3c88252c7624cb48e3c0bb45931956b1fd7179075c62dc467e304516e872d7df2ca8fcfc05b880dece12f4677e2486b7187f9ee979d1f6b0c60b95a4a977ba898ff0b19a2c88d540ef9913e0a0caa3068894135861419b2cad83223eb8c5a687ca511a546af35a2d8b86a23971b576f74c1112a8e2e39b2e6a845c7571da1b2a3ea8e2d3caef2c8a547d41e5b7cc4ea63ca8fac3f72017215c89420a106f92224aa905e866c1d528548a944b214d95a2416235b8d7c3912ea912f48a222e92549d4245b9484aaa4ca92a94b6261d295c99526a936d9e2e4aa935c9e7c7db2054aaf50b244d91a25172951a57499d2ea94162a5fa9e4a5cad52a45ac246a25c995a1571ac1d22b9629595acd5245cb562d59b6fcba650a9756b974e972b54b2e5eae7aa9f2a5d42f51c05405134a98d9a203dcb500bb4a6c1220012b01260182ba1c5951c14016db8beb4359e53bdf4e0e7f59f3349f75e71b5bfff56bbd08c03c762ceac881c3ca6195427e9c974da0f582b171597057aedbcd82b3db39ac1c1cdff6411a372d4ba59e8227258c946d142651a65012a97b50d60204d852f1a6842c0c3dfefa230b43f01d8f9e143ede4fe06e276677132224402664f0f96662c66449db8d600c0d9d26f586bf5eb232b43570b56a4e333749e264e2632e23fd35350eea81b37c8ce22491894ed1b2b17185ff76fc7371f5dd48e276700333da1106dd7d8c15e705acc967e43396608cdac57b638ad4371114e1a60e569007e6ca719bcd046442dc8204b983fc712d0348628effb96cd7be7fa47d483a7df570fae1c1c0c23ef8f003f7a0d363bcf35804ef3bc2c8cdf97bc719bc2fcef1015e50a066532d16c06c0224d9fcd3ecd3e4d3dcc3741362d3d4938741803d4000b20702ca02908d89a5e5dda1eda1ad697bb59a46b7a7e5958589c76981be8078e8893d005795d7a40080b2a4921fbe66d63f72d6363f78fc9cfbd4d98db6fa6cedee037c226db702e99b0f74cf953d53000cdab6e8a1e6593443d324e12fbca74bc1f8835db7ad94bcee3b76c2dc76eaea38166655a08a4058878c8e0f3a52f6817bcee2892172e2ec1112040e9cc1b0487f53e096f9fb8de0bd668a1a386a02a4016c8b7c1146670304201b130b1b6026a02c00d998989980b20064636261d4016602ca02908d899909280b40362616461d6026a02c00d9985818dc9fd6ee0623e2e99d4d1f0de0e38b9983342e4a2e350af1b628cd19e2c1df5af8a663b9d655d6a209094f78fe860c0bf8234e0888e37e6662634c5284296146a673b9692063131415a9b884d472e4528f3c181526759bb6ac2db470a5026a8031c4ac43270330e0e1412640f0ce37617d4d90af180b8c951dd86ad2e13461b14a7759b121ab7e7f183a636e7f8d00b13255855ec6c2a8f863d55516d5f44899d9d3549729411c03ca8ecaa4100b50258521816f92c29d68f83089e2aa31d6429c3ca27088c9cab849b452c0812378dbd979b2e583a630e6c0ea12b4094a411fa7f763b7a01b4fd3edc564f968d7b075a57d241d36465665c364e69129e4be904d6b3a8f946844614453903d307f038c55c998343045f064236711340cbad5a4b465126d4afa2233da8dfc9c4d45309a88548c3d493c0d9b86ba343de702dc7b4e06025829686a4686130dfd139522f3ec04673d52064ddb73a312514c820f1a290e0bd37e785cacd9f4bbd968dbadc61b7723d91813fd93d5936918ddbb7be685b5f10940f55857f505a704b6076303aa4e2be7afa2724e39a59c514e004e28e79353d3b56e5ae346c1d0640537396fb0263541c726b56c53016ad3199c2e4dd52cdc8b2bc2492f452606036c2e3ccc46333ca558189bc9bc147c02fad08599544036e0b14cef9a31717413132024005999b7044e26c3b3b37802c6e07c05d8e2599db5181343b0238ab989101000831006666165784a72d8d35200978a011016cf1832016660784acac8c8a6539406a863633f27d3432666771389fce7970132016e15a6c48693533424222f46b122fc486adad44cf42a8c32957d9317d6e3990a01870560d3b52d6387d6d435050487911e4ad19465638f018905a8b4f4cf650d7a0083761020128984234110e5400ea7be0344888165caa452497c0a07c4c3288862108c61000001008401000a008018e09c54f0051b01dd75271de042619e43dfdd93a45f5c4c05b2132dd35f5c4c82c8992c917fe040115d2412ff3ff63786f54c005e42345e1b56fbe7eda797e4b8b98af42e1a7b2374a4fef572191273efb43f76a14b377ba10fba7a4a6b51d6572d65a0a9419b4f4fed5574ecb250550cf69e0b980837078651e47ea8ab67a1f3e7d9c9bb67207fac7a324f35753c8293f16a6a531bb6e7241d36131187bd99990640f7818463aef2671bf963ae0319eccb86c609efbbb1cb55b999a98ec46a37b37e6f2948db4dd59418cfd6f9505eadbfc803405e60aa5ff188a108c6a7eab28afb73f6b53660ade5a6556ef8f3977ca5d9e39c2aa59d68d9e7bb1d261fcad928a8267e28090af596ad8f4cbc1b48a987adc9cbf2c05267688f9d53b01b59fd37df01ca1e15b103f4b3c73542bca8543a56a98a34cb4f2e53dfd76e5b41fc2090e9d4f2487fcfd2dfbfeba1e865984fd4be8b04a58de427e9411b5ab75933c460edbb833f1187c4df10494cb83f531e571cd93b31a3315dce5e117ea234e837172fa1033425470aecd83d28ad247032eb4835be75fdd87a006efe3397c7c5d26a63f89bf5435e1baff32e96b48193220fd8e70ea028a0da1b2396d1346e24f416f6ead8415f16bddfca7ecba34a104eee6d01c10d59f17c2d42e3c1ef4d449f9ea1beec83a6400f538cefca5e665fc7264c2fe6b4bdf47a91529b76e1c06d7b8ffb64a8e21fde07ff981133f541c8fe53df8620a91e56a3827a91fb4cfcf83aeb2095c6f3202af764f020a619e17300cac8d8c4cbdc0667c16f3ed05720fd2ec7104cfc8fbb4ccb0e2e7a68a391fdf34a68cf1817a32e5efa5363debb6ccff7be0853fb76d47f9ea97ba7b8ab279b003e42100670b17d1079337bba9e6a039a1f251ae2deafd147e35ce6c14742aaee2a43b7b563e9a6736d3add08395dc3511f643db15caf1a6ee0fe2fa2ed4716011f4e0eb6feb31c0d310810e9191d37ea126f95c4fb662a27bc84a534e336b8d7a20ff7eaba43a843296d64e6f2b1f528dedab427b04dd9d9cd12c5fa6fbc5e4fa370741b92823b08e549f1c09050908167c7bf1a1d7de0f4db63694f1011e7f578a83cdc640fda6e463edf7d1fbf8d1f8d12051855d94c0e1ee861b2a65f1dda327d5a69c18f59cb7a1962c1a17ebbe5abf0b521673f21022531364c73167d803f3ef9547c9f3f2ff6caa6ca0974ed2307f6d9251046e8851d8945191a16919b6ee8e13896e033ff51b6e3233ab3f87146c68ba3adc5f8c8e118bfb670f9fe624a7c42990584b32ee17d3dcc1747bcefd90055504a1bed44b2bef3152138896e35758447999109a35f32ce9bfc3d7af0026737b1e303c50861eeccbc5b54e9acf9f7e7a5f8ced2b0bd36566a03943ce0abdb881046eb704ed27d40429aea837139f823f611939f80b28334276e8d387a7c815efc020ed3f438a103d4e113e23f8a6c1777e753f41008915eae3d00864bfeb304506f177653aa76030aafa6b4fca0477a9afde1ac1b899f36df6bbb07323b47f65b76eb6c57aab5dd24e9d5d66ad851c37c72b7cf54577f8bb247c3d3e93d1f0639ba38857db4b521e70f7d602c9e4366e3bc7826bce06362d61f010ff34e7547e15c00bac82b0544ef5ef1bbf2f604beaf056a1205ca1146ade68ef28e8687e6477207c46f7587dd7f5947c9b731199993828685378e82ec14236a8855c51b03ea2ab0b60308a21f6d45a5365bfda3a5130ad451f677cd21de9273d7d4bdcb26fc76420ea1281e076df65b811784ea6f51f008afd402de8d706c86f9db2f69e58e4d7c49bc0ca0d0858d5797eefb80ebe821d700e3e581914d3f52600a991843e8990cf4e8656c01a37db8d2effbe639ab2c633d428779dd401ff4dda4e6937e45c942631fb0e678c2aa5b92f1b4e202ad06ad4f889e0f16de552405f4179b57fdddf99eb16c69e384bbbfe51a7d1b15f2a20d0dc9bd06d4dfc086ddd0e59b3027dc66cd414c9c155dfd6a61646b5650d3ef3f1808fa3450696cc8a68721a69aca97f617320b6e5ae8752afe8a9d306c3bed1818ea9983e601affaee20891f24e006d86ee0bd51b8ee441271b564d9ddf18bb4d5b48a6d26667f6c4488c7b97937f5098bafb2a2ea1efd5dcc54e908e212b66f098fcdc3b45b4d12434dac5f79da3fba0d2fd2d18177654bc7f67b45b5825859691a3e02bbce1d7c1090dfc4f54488f9ce2ef20c9505c55a8985626fd0fb043c39fe584e3d37fcc6de8de8dab47a2ed0120c8c827fb9cc3a91cee3cde30facd622764c858f094207a5e2805db749de6689b29830fd972848fca601449b59f80bdd4c3218036b15de41232eda028979328b77be2d9efec4fb6b34efd69637c627ee40252325f0719066ef89b8e551a381dc006c7dc3fa51d7d0c2ef83f823873375a5526b8601860ecff1163d8fc8b355e8cf8d103e7f68aa3e9449521bcaef6db52bb125a4d7fc34e002634c7dc3f17a0f87cbd3b81285f5666e304aa7634dc6d58da4681f1db191c69acb28309b9f1471d3b4df37b573ffa98b56c27c572635932dfa37d0993724732e8c893956fd621d09f0aa169aca1b5a34f6f1753741023eb73010ad1843ca5bd3bb813155f9fbecd85085547da03c7e43b9a055202270398b6eec03afaa7e43670ef3743980fced0259b0cce7afc195d15eda3ef0c08e09278810028dbca8352fda62dcb1aa3e71b6e31847e4aa96974c0fa4dd6fc38d3c8e4ef97066ca56d4d5f07915f1ba3e3971b85ff655f9b60c902d1a3d523da7a8dcb3c6f7c588fe66f7821b4643b580e6b3b7d5b2214d43a8391b6109e972d3a2864df9e57b996f4226239bb506792fc9cbaf89a6b4df0d9c393bba33d4981707d5aa9085cac056b057fdc3a03975c8fd376364a326347deca387396452291d0be81cfd1bd49a8f1c92c10e37be1bee0d1599cdb48de1a3f01d4efdae259f036e15868ce27d8cff0dac93a4d72c1fa722087b124ae64031716d1bcfc5d84d08ce1b8a224ff7102518a1f3ca3167df26478eafb94f296771e0781212da07ca61df9e7125a0717993a26c77e010092050611f88ed3f4a67daf42b676cbd59a28d7b11b0328f4f650bc2e1e955c9b0a4fb6669a892c63df753d03116cf707065e03de2a185ca197882ce8fc05df5bc0ee11324a2031aada26fc0c62e23ede7bf464b08a6e89d92d9f21c4df61b685d0fb6f9f641e4a9790d6fc66d83cdda58397df6fba1ae32ea59bc06e636823e22922b150a36398801e7a7f3327c9e851ffcc8d10ce4157b278701e018c21a34b721198936e166f0aa7c4dfc741dda8dbb25d3ca5a8d8176fbf476c07b52bed774236fbf0f7d36df2341f2e83f5e1459db50d8f139757c42dcda2259894ebaf62ff4702a42701d66aa83ebf8e8f5eaf2311f7f346a238a8fe707cf3f09608e0e68969c1335df46db85b5854292817f6eb8be797a43b0999aa10f7ff83d43b7b399f0d3226fc0f92d6abcc5c9f29e27e1bdbd983478843b6f5fbe26f7f7a23c636e829073c8ceb95ef76874cbfc36ee2a63ff3b30786de0506a34bdf7e3a02dafd66d38f69849036db89b2e10079a77e3804733ae694e032941efcb0b0e064415c4a3077404effc950b78e99cddc5db290c7ef4c30b451b3bb3c0e45ab227c17832a2d8c3c0433587ae96f4b6b2f079b163c187a9829bafa789515513317ce9bef58ec6095b3cdb56e983d6846576c8a93f7cbf1d2ab8370d3d37b6e1ea223f8191c81ed4b981f0ea91da5d0e498553684dfe1339daa4e58f0ee5ec1cec2fdcc38313d661ebe7e1716fa7071cb9d67db9bf7c51229e65104f3ad33869a93b207f0fa6a6736341c3cfe5cf0cc6ca2f420762fc4b1ad6026d8a628c9c9d1282b17345b2fec1995d4c23125adf2aea2fbe3d854a8e54b23523cfe1fc5114719851d33afb0ed8bee51881987d15aae7c1f5b6c1c5815d78b46175b96648aa6f374440c64e89c8fb686795d58982e4f64838077fa724ce32444ccfce39b0f717210c63d68a68fc0133bbb04220b56e45c95f3c1b0aa99ca264db469dc3fba728c634a6a674f619723f8b1106b9f65a54cf0f306be8f241279e8e279eca238efa3dda785ae5cd2308b9da79608c7ead680721c86acbc0b9f589dadd09088a9f0b66d12b75ba65d805a50ef2f5c00d7b55bf6600a4f5c600bbfa93707d9ccd00aa13df1ae0a73e514e9f3240617be119f1597db726b65097436627bc219eaa3b7a329e69eea181cefcc9ac2ab876dbec1d564e738ea634553970beb3bf505ff8fc00cc3933b20d0ef304f36c10d411149fdc9b6e1a7af822eaac99ed7b72ae41137d3250afec198e0dfd49bb5ddd5267211825382289cfc363e6c8974f75abbfeafd67840f13ffe89d73dc18e4fcaa00b53efda434187d1e2ec8e8987987db3c635f92a5dbaf572cc00bd6d992201ccab582402525b026a9c185774584cbe85e97292b22b6191182274c734d64baca65d38fa48e2e876cfbd72a4cec452216800e0d701902823544beed1a3aa46162788775eb91fd98ba4c0ea87d820b693e64843028c619395063ef87670fba51cb3d0a79f6c59091d6cb38461e950a19aca951b22cccb310ffe7d1fda0abd7e27f3eeff961845b397a41e724ade7f7ce11d61d9b5806be3027bdcc5c680a71297c5901722c31c46638e4db0df46da97c7988694f4b987913311810cf1a3f893a0d712fd21906ce81eadfd298014ee150b1f2f6a6d90d4af29c2293e7828224376c34b1f43f28593584474cbde041e889c64da553fd57bc74ef9765225c77b30f657fa58223207ec2a82415fd627da286960cb4792df8f3ba70501a3a2d3337da4b3128f6f81b62df196e11142aa2533103d3db3c5b55649a54bf541d7eea67829241b948bb1d279982d2fa03cb590c745e98097f699e399e65d58dfe53c7ce6f5466b37e975744ac855bc3b90b6dd52a01293eb58c1b834860fa84a4b3e3823b4c82ad7f1cded095a1d9b35837c05f3c7b345508df5b5fb9b6b9974378a4677886004378b1ad914d167bbad0c316071b0428f13d44928add52aa065c498bd496a2e6f200e3065646d14649214387cf6e207df1fd5fb1f71dc855f23133a9547fee669eff9b4b25fb3b0e6376a0ddab32a5d406ff8e16c58e76d8996239f95c7e20e2432138386bb918b10c2adaeb1dab007fe03321957d1f0b215463154e9c142aee8322f81393e42622666c2e4ac9eda59e20dd333bebaeeaceb41b19a5d9e4b134d1b9a3205ed65688f9585872d925132c1a5fb1075741394f768c8da17e968a0e5a7e65bd2487badef4f4c13badc48782f8818fc4c2ab1d19bf6f0f24c31fdae1dbf793220c7b3dd2a31ed82a1d9062caffb44ce6c9ff3b97b61347a315e7f6c7367b6bd8e4fecaf74b50ef9ad0a14a6e0a454ec738b953219f5ce9fb8bb93ad257a3e3b6a4033ce2dbd0ea51a6ce01fa9a3102fb306fdb9c8eb25003211f2c8cbc1941f9ca481ffcea5ec9ec6b6e8528c5014c6e096de1d56fed5e31680f6673d796b9e16f96acba4c925dfe1a0020266984b2340f66c184444e58610fe2f2829465158ffe16a09910b6317e57aa080208f216f82cadf13ae0457a5ad2493eb14e43e5fd04819ea041fe0aef40728f64b5e44080c8a547602a4df8f48ec97bd2a43ea926098a90ffb15b2bc337f54e2c15af492ecb157c0e31a9a98f2aba03f144ac2782ee5f5ddfae18c012e094557963f26983cf1dd6f77ef74cbdddc69b49b27dc097c89ef76e2d1cd0b7a7bce54b342bee9e85b140399dd25cd21accad2f01680016a7154305654c302727b8701a71c817857e29c9712f69537d70bbc00c07e0028d48604311f5200b701fed51ce7ee16af9a6b6ce7355f9e8d4776d8ca480b620c07917e91842aba05f09fdcc278656fc9cc7ef4addafc0f6354ac9a6491891c126c7624a38e16f50584476ef5f6e70e6a990249512ec7e0447ad65fefd0eddec7e3222b539f761b974d7bc41f8413e59674950f0d4ddba81a64fd620fc93719a814c970f38aa2aa5f1632502edaf1e8709c8d45864703d782e662bf164852556bf424abdad54723676f36e1c7ee86c6d4e94c356a36bb95e086d7acf36e3afd2f8f1d1c23bddbedabd27f0daa5c5e177f853e46c981daba435e429ba08e27fcf41dcd8fc3eff03c01bdc8834e9f79af7e66a1bca03011c8e5b581058be8c2799dd017d87da542b4f08d63aab64ec1eb900253bbf5b0107a3f90ade7d8d73e158b06a33e9a635a510aa8629729b9c5c7976805d910ad9e4294d1d6f4fd4b4aca8615d0c20f66042659aa5f2602f8689f9448bf35590a68b73a0135f0934389e42931051f9f30606724634d8737f917649c8ead60b54653c51dfb7706d67c6dcea61d5df380930b750a7acfa2c020a50ba7f9605711219f6c38916f6071c9373f550d4156ab741c717707f64d59ac8466c4b02545b0086b5d23080f606541bb3f33f7569cb9fedcf5dceaa49a5739174808560a1a2cd0c05a421253785e44a171237dcee0f813625770ac500c300c600143f127fde6b7dba7cbc20387fe5ec41db7b2a773085dd934277f7d236ec982780bec30ea87892f46f671d18d1b4b3a50576ee76d0feffcf774c1a52878ae9ed2375b602748ea0a38e83ce810ec15199c9df1b736c4af57256f0fcd0864bf8c1b9ae8de170e138fdbae298ac3136f4fdbcb17d93e579b82acc4d870de6a941c8cdc79c621346abbd36dcbb26b227ca8129d1bb5aee956b977662468ab533833163a00d7dbe67b48d9dd8bc5f852acef2bc458566e5006401a335518670067fdc316d374c670558dfab51c754c5fbbc82696ed824c7cd7c0339cc698bc97cc112dc12cbd2ee57cc9c4a70217a2f5a9768dab8d2f7cb7326b52595d812496afb6e8914c8c0eb90482f33f641cfe8153a5ac0b4e18ed872bf90666ce833ea39e3bdbe5fd123cfdb15918b5c884c6b97a271aeb7d973065b44deba83e8ecc7fbb24908c321b2a3d38ef35943da8b4ba135c321db7fa24b3485725e270a9a0bba0adafa7e7380ecca30753809a888c74b027f98ff979bf5dffeb11b673de7deef56fbdba7915e11e01808779702d044d004d09703e6c5a525ccb2a29282726252423262159947b744b621201f7ecf8377fd9be35e8f8e5b0bf231abc7da6a5831ba79a0573d576e573373ae6b5abd5985d3bedfc9ccaa36002e1ff71fab5222181a0168aaf6f25fd67945daeafea9ae004e44f9b717ecee4de580f1603e292af5eb05cf4985a524ca9056ae975f2b5b95b79b77d92908c7f7b0ba3102cf46326a71f7adb89f5076d4a0279e4c8bef87a7c72a09149e83819eeea717d32a9d8d932096d346f5cdc9ed0fcf59f0f837a429b54d0db05e03aa761d401350e9863a816a525713a80656faa0203bd7043601c275c0da80b517b0dcd957081010d0dad5bd205badda57d584885a80c6d61b360096414bf131d7386dd7ce59256bb0326b0700a96f740583b5204b6926becd743a94393059d82b169672881249b288513801c9b716deadc844bedf647c22a40da2187f5b40fc254e632d430d640c163f902c65695bc60242c5b2e6140f3216f016970ba2acf03ae73f7798de6384742fb22ba5273758d89cf8fefa9a9189b16faf2ee2cde517840aac430667b70343151924148846665194e548083d3e252426bbf49a8ba4076c4d120388a7dd9dbc1510f93e46c42e4d2ecc7561fc8733d46f6de47db1198f38a64e9f69aa250a490b7f92d3d81dc6c0b7fc511c0d10988e2251ce559b5e71bb8575a63b666c90a2085a6a32a6538d3deb9fb9fb27a3e35a55e615edd4437579d44f6d5c7ed8b8d4ee099ded7c99a1f78a6f304193f8bf13d6be04c78bfcaf688cd786e1cdbd39081eef44a4edc813ea41db07f66b370dbe1c582adea9153f141a571f60705594f6a178bdf0097b88e2f977fa4ffdc46e1d2d0e8accf7e7589d64006b092bbd42cb37f7de8bc7fd88149dbda1a83f0adf64c6bdaf5e231f935999a5387942e7202e70b243e0c31d41dc2904c625ee554a8f1b711cd664ff5ee5dbdced36aaf2cadb3848738e0a6a6bd50427fd04f3ea86c2bf9ba8a0fdd2a25d4cfb7521ada69432cbef9659f1cf8beebaa73f9b823a64cbe57c566f2d2ebf9c687ddea19df571d3011b0deb14c83e24baa0f5236d321ab7bc002b187fe7a0281324d4572cea0839789ff230e547cc3fd82f55368a116556b667ba105ed8e85eb5889110bbf2e4a7a9bf6a7faf5fbdfd593702fb7463e77b5afdf0b35c7f0ef98797b4eadb2e992ca6fc0f0522e7352b940dda0419a110cda91e0f6b3a6d7d46bc3a6c7cbc6b9f3cf8317748d0d078492e2dbcfb406d6b2d9d9ed6cf76bd7581353f8aea84322f0638f63875db97fec3b7213b381d116aab7e40c6c9ef1dc3d7c33dd8e7f28c83b750324dc00c364b73c1fe0ea8206aa19f16c6fc1be28ca00b7cc5ea74d331aae7fa9d4fed49217bf3e1412ffbda33c0e36804bbb90a19daadaecf04f79eb30623cba30a34bdef8f9de2b494543bf51b958910f30fd5d7acb6fda75fcb9cb96cbe53491b34b6858ee4a4ffb88587da59183018b4b5c0a3ced83f8823902628d1907999fe696a151ce7acda91f6ef318f92a9bdc88c730e1af255e518e2a368c8aded559da1f47255f672ed8f8e0c36e6ee1f42ee59bf42b3ff303f79ae76fe3ce70600a8adf9d1c87b2fe5e9c5f624a3943a3027cfcf2ff6a183f907441f643f0b04fd88561f8071d7daf9b1f18d5c91d75d791c4ddef847ae7ca0648f357e7b6578add5c61c9a95c44e2a89338e8d50bf91692153a47bd5ff36dec23ec7ec07ec3ae9894a1d5bbdb8b0b08aba1044e6dda0f7f6eccf9a1ef84ca8d817c56ae1f1fd56d4a1bb237b5dc752d12a9f88d270541a093304d0b30915b8a3bbe6e7f4815c07c3689d9a5df28b2033b805cd14ce79b7d5bb83c9fc68f0cf3868dcabed61bae63d919a4cf3e904783eab02e9a68e4392c5fa050aeb2eecc1a04896e8a99d3726fd823bb47a9fb0cc493781aa0f4fa6fee87578dc04c944884088cec02f04a5d8cc62014722a1bfdf4ec62fa52f46c4fee1477879269f2edaa579d6170309add283a2d32c2dd7ad34b2370ab1f59e26d9833af314959495ff7efbdfae4fbeb7e1f7ea1bc8c5edd6f08bc22a29bee2f919e9c3e21ef5b8bc3fd693b0424ef1988d23d9b14f5a42ec8b07d049933225fe70fa3b186f38419fac658c2aae82f7ee292a09fa22cb130678c0666b78439f6a48ae885cc126fa5f157fcb5167e75bc1cfc5df867f3426b912b3faabbe45eb2a3c4261a7e78c6e3761ae7f3cce8ac8a37112404a6574c86cab499eb6d897b0035bbc4b6e8c67166475488f104cffe4a107cc26a16278b20ad395a4f8aae90a67c56239c86ef8e4fc616bf243a4ddf99463010a9c3ee90c291fd732eda839c16bca43772794bace969ba327ecfacd6def1468e75aed9d7e4827626f8934cc8f5e826757073488000db4b8a7767cdd8a78a3417485c82811c729f46514f6e9c764d70742a6c96849e23faa398f23fcd1c2cc587ac3683ffc7302476baeff502253a7249965387c7eda7b3bfd1d3bd0934686cff299a5adcb2442b49a10cc99acd0fed47696f49563373dab338c8264aff7b9505989eb78a7047994608cd1ae80e3e41bca6d3b362478a81ceadfd4b9f54e8b95f5b37bcb1a505bf5478016e80c751be4691b075456289e5f8f4c7851c7c117e9b1a46f8b35ce363e17a0bff662e74a6c253448fa1b971f44bc03f1660f5f86f5d92c43a9897d4b44b1de27b6d902562260ffa36b35e125ee6fae0afe06c2f70311a968b1a6ff452c73e4fa7965ea1da51c4647fa457f36bad8080e5714a36d6e1c4493e6471dd93654270ebcfe9c91b43a19c9e6ccbca04b4f04c5e36062590a21b3756ace5511618a6e7fc3eb87eb6f277179ff499b05afb03aad974eddbc48870c65fb80153713794020f6d1664a0f1f622c3e35ebf6ab30b4c0060bf915706e10902db364879ef3df0d0d89198eccf89a77ed28c94eb226e1a167e4d88057096ba4321fcfd9a039f20b6391ba52c5c6b2545a26f6b8a1de326daf417fdd238d9f7376b831601493e7d9d6392e8c7691919edef13f7c429c43fbb59f37963d77155f8ac2fe70eb6fbc2c3151767a6364fe10ab1eb5e49f9f14e647c2d90737dff19abfdf42cf6ca6b969fc1c0ecef2a00c134765c3e3060e83a59ec856cc4ea6798539a010533ca88fab18bde4c4bf5f5ba5af6cf3ab09799b19e756165b92e309b8773d106f6393eeeb4fe3741bc0c96d2b26ce7967fad75dd25249f58c3f2b76c053302c4e4c3f1e0f6366152de2c84ed196edd4ad97ee46a1352e5a37b6dd6fe282cf58cba40aec47a5c91cee21b82c12c9c917f4931789203b9b0be797178820ebe001ed57ffd90d0e0a5667f0ac8832fdec2794fb00c935e953d2ea68174ce1bf2d1ab49994e09106af748cc5605862d9f9252b7fb8bff87be1f2920581eb46cfc57e6e559c8a0820c6b98a69ad9eb15fe5d0881cb294189c6c23966d086707b7f20d343434212b9fac643a6307246c00ea70141a3820665207985d39dc9242a9cf0a2cd39ae8ce8a75d3dd0078eacabc212dbaa94519cbffa186029ffa77a8c6b5260fabb4628cbbed12364b2974019801a0010c0c5dbea0dd301dd30e5bc8f237ee632335249a8288ecd54d01ccf6d319c23fcd72d83e5d03742397fd8163fbb58578dbc7d4e5ed6fd219b45d19878902965b19d941cd10ca6edd42aa62eda79ec9cff743ff3246db3f4776ec66c510e9dffa697fe15acc10e2ef81ee3b558ffe296efccf1a6aef574309fbf95cfcf3c11074e39ba5cf8eb647cfc2e6fef2e29743fc9f1b9b2e6a2bdc5e45b4ff2983cdf6e2910e5b8f0b686fb2c91f48b61fc9c648bb98e17ea75efc580a64bf6ae12d1e1e67579c76bc35d8f74400fab352dbef043521bad97ee56e9733b00dee87c69123587d166cfbb28eecd41bfbb90dba4059da9fb55aaa3a2c623b75c77eaa3eb1c3532cbfdbdb9936883895c7f6a3a14576a8fc2e1070fb7cb83df1aa9f6f06d66305db936f99f63b4afb9913b48fb9b11deef299fecc40f644afedc62fdaab97f64765b51ba16cb722da8e8c937dfec4f5774dfbdce9cfaf9df67e5f2f1e8bb1f1f81a8bfebe46a5178b48235c342e8dc7a2fcc962557c0c78283ae995bf1af44f1764b96f2f48b5fad10adc82453381340f72dbe1ec6f803db344402a1263f2fee5199843a05ea52757edc93df9955f6b2c9c9a63fb538499246919adbf54d7d9f0edb3c2fa7bf6f558140549fb77ea91df5923f632615441676cb429ba040390879d5f234d6d00e13321da155705d6e747943a0588c976730d4b3bd3879dbf15f47ea5175cfcce331d0dfeac41d200417d5347ffec16bb31cb54a0a9973bbc0ed679fa9d714c969ec39392890344743d36702d746bd6d9f99344df2348856096609f3d6d2ddba5dae2df26b24395651610eb3ed82e568906d6efc4280098a2fd58094ca47f2802f99f2dacb68f0dc8fa98978ffc5c066db247fbe266bf1216c284a1f064bff323fffc26bbd1c99e99ca274d5a9fb7ce38cde75a1b2df0c2c6c8fa711a314707c7531be842703e10b7b69769cad0f11ae2fe68d8123a4fc7cbe327ead0a4c00e12aa6980a202c161be609a413383af82b3addd6a0e4e7ea6033d5f7ace34c2433b950f0dbb7fba00d36e4d4480baf56b62569ba41f3d69e57ad839322f7631ab1a663c5c2d055f3d46d25fa5276f4b950473a63ed0ac4a44d0feaa3cc603202c65d0dfe7a61d24444af5cf9d35ba6e65b8f1bb2b363de8d73e677949a8eeb34b4c898ab07562b737bf165bc51868b237d562a7f6d964e2cf0aacc318d6f244fd9a092aa7aaaa5f70f08b8a61a5e5feed22fdce28231a409fb35a34b01c6d68e5474661cabff731b03fbf2304d38f4420fb181d74ee84d0b0d7dd6241bbf7a2d10753690dae94100496cdc1e1574d625ba7eec953a2ebd4429964609f0b17c9eac79103be247f3ecc581260e1b3206195c10a9f24fd67935c24e16dd23ab50ddd082621430933201c491b8ba47401a0e732063d216e946ef5db84e34a5e9557ff80c89ed490c1614718e4cfce472bae2fed89615c59d9e8c58c879e2ba82ccca97ee99afc48a57eee83122c80847a0eb96aa4ff59c0abac8776e4838222ba03f579d09eec786fb4cb895db08c2d7f0b4458b35feed288ae57f926015ac1e5d4a86c528f1c992ec4c03a558e21bfcf2aafd8f663b91d3a09ae338f10d9d13dc342e83bb22bad617f7a40f63881a019261dd6afa1f6bf38b61e74695f4298fb2c1625332ca26e0147a37c8c9571f48563a3545451d9bc82a5b8b0905745a923f4657e3decef3b9355cba8a756f38567a8d44391f3d4f2b3622b195594967141f44dca565d47f8354af9b2f862ff2697525b5df380eaf35583f3033fe64c213d2a3f3cb57eead162161594ed5995f7d5450795ab3a6743cdb6326fe02c1c8e112fcbb9c822893ece9533ac0e47fd4b70388803f86df14332cd732164a893f740f988731660461aed0b160e4ada62a265a118e6c08448c8b48f5d019f69f786d746518534aef410718b152e0828b67bbaa2fa9593740ed6c19c8f09c87a55cd50caaf4b268bf4926b326124a8cedfb85d86909243b42827b8ffe6b814443fd54a2015c80737909c5cbe7c90b5806b57e9d5b9d50b4255b25bbd0d103bb44300d5768ff49d8f053192534bb875f86f39a8ce850515568e3eab298248cff1f60c09a3ffd591d594a325e5db3f35b08d6262832f68793266a0a69d70e546317bd2fd7d6ffba56cf1679b18ea41e07de67b0444feb70e6d82a26722a1a0f5cad1a76c718560d071da5e49a40542c032c2dc4f75073ff489a0a50787ef8ca310dc6716d101840aa8b393dc88714d20972405c93406f3a03828229a5609a5b5cb490e337c388dcdc986c23407dde5cbbd902f53f907bb68706d99a94f12f3fd6b3b29f69a49e6757ea901caa7ecf231b8264f0e634991c68382dde45fd2e7251a7ac472a70fac70d6bb5c5fb158a48bede0248acfbd47a32aededf5ecef54e9e7762dcb2789fbbc029866d8ec49c5986b186961df2ae433f2307d90fb2745c04c2042af471592b2a22d354552c05aa3e0171a54c2605db792c5098e4e163728cfa5b5258b24256b7ff9c7db51a10159fd6083c0a3087166b953a1397174e9c107025af3d6d884c5d9ec5f8ecf187a89c41bdb5767f48e8261d963576114434795a2c53f699ba9df41c379cf65eae072e0195da5474b4f476e667169a5d4f0b7353321ad9810f84df3a378e666b4df01c65da0909457d773783c635c1f1cf1681809b419235610d6e6e152966e1929c50232d210e0f62902ecb7aa79b6fbc00c65f7eaaaf8ccbd899523c848a5b4adfcc6599f833b58d2f5faa7d9652f944620cf2147cf7818b85b3fbcfbdafc5fa3a2eae358d7d9dc7b240d401433ebc9473bf4fc73fd87ee676489284167de86fe232afb9ef53d40c9d5cd12b543dd5adabbd7e835fc7b64d2e6462b47ad902b67f3c7ac7d26d3b040ead7c67a8f178166dac92b23770ff219d7b03da5ce5fa9ffa37879b737d1e32f34a3cc69e473f69e1e7d3327c49463c75c6ec6d59ee0308e5b87981dd2a3fb09cc94e235c7ef59ed3bbe7cdd3bc31ea1f96f7cf2cb98c31e5900d86da4cf54a9c79177f7ea41ff3037c87b9113bc08ff30ddc5fcb11f1fb99faa5e3107c6dde381a331c2ba787bf95e4019f2d2468f01ac4ee73ed2286ae246bedd19f731f6c7cb9770b1bdb334673497fe985c9f01ecd5a1c9357428cf873c7c2e62df7c66a7b28fcd0c073fcf2fc41ae5aa32bd8732464d99e3c3f09f35b3296f329d7f5ecf955fdebcb404cef8d92783bc03a7b30f7bf411279c0a7e79a22bdf2393cff5315d6c1e9cef690f7113e65dac7e200ff474ed73cdd2226fc57edeb5738fe5dd1be25d9592359fe60fb913366aff977f7d07b88be961a0dda2cf51e7d1dd805779253c0bfe95cd6415a167ce7cfe3e9d2e7fe3d67a7e470bc8abc790572e7c99771b768ee7fdffe743ba9cf3bedf3cdfdaeff521b306f9908bbf7f7b1d71dfb18c6e261e60b545dd7f5922be71ffe5bca71ebd999cfe9bae1bfab556f3202f031e39e0dffe70ee52aeb4a3e4475d30a71071747e34dd975dc0bd193fe7d8dfce4c9b51d65e6c1ebdfdfba7fcf1581786fdb1bbb56d5da347c3e5aa373e97f3696393304293706c5d3731ed395892c30d1c65ae6c7cf03b049ea7ca5c5de3b1fc2ffca94fb0107f318e593bd333dd8a11451fa0c7555af316f950fff18aa31bc2678f3d32f32774d6b1bdb46e35f2541fbdf14a6b06d8492e674179df0ec9e1dbb92fdbf10b437f60b17fb23f728ee97baa5b7d4bed9b383a5c796bd107729487dd76b22ff66dccf73bd9573f68a3ce5a073ebbcac9bd7cef3ed77b5b809300b0e686d08dd330dbfc0de78d3f589dfb334f573a9265e437d1461dc743a03c5a6daaffb7d05eb0c33479dadd6dc25bfe07aee3be105fea9fd1e4b1dd1b0e98e7d247e49a0f3b3e331be573c84bcdc36e784f2493987cbc2b1e34f91b2db125b3331b6c72c2d25d6e8effd29135ca94df18de0bdc76622f85036f1c757239c3173e355e7ddc764b65beabc35d6eb2433fedd13ce935e509edd458fd87d9e4a41edcf9779cbbdcd7c113fc4a6ba94dd8778e19dff88a1531f172150cddad8fc4bf3f774c8cff609f043f6637c0f8733aa769b03ed84d7dac183cf76fd86d6977b715d094b9ed73bb3c11edba9d8d741658b69f89d7f7f3dea7de41b78c8ccfe6f430e28fb1d1bd38fc72377e4e7c789033f89f4ef8231ebc930e62da67fd301bebd4ebfcc6f1bdc1c6b88c4f67c1c9fe083d007d36e6397fc4b4f9dcb86bd1effd459ab3e81b3ad5e1aade6f121fce917afc363dcd10cf5274fdb11cfbe667b1092f788acbe9213dc6b73e4db60ffac6580153feb9c1cc6b518d1a1553decdcabf54f1a6ef3a3ed6452f3ce7dccbf46aaf00bd127d9f17fe0bfef67af88f9a0dd154a783f8b296fa59171a38facb0567f0758a8cedb5615b312e6c44277b4abe06d389f90922b049ab6e642eb21468671bfc87c8139074bda321a425b36eadedff1c25e310697e374d7026f95d02d930dedc99d5e7145a9b626321270052c3a07be3e10fc886ff53523d04dd5fad1d3e52cbb24f1c377a9bd30d157132873ba41f61e9ef5070a2ce5cfb2f3dfe98d228d45876469161b8ee728dec7bbfd4221391081a263e220d23c1e1f314e9cf27c6511bcd4d3dd4670544b9c226b312f1c6a4025299fca51515be5c72aff9ddc470747287d73097035e174146348ce8a92e5c51938f21f2a1c19c897c6342c9d23bcddfc0cc65fa64f8c68522ceecb393b47505e2f5e7c3df247fce7c0e013c1000a2040e0ce0f80130cc19455023d24a28a39d751286bb7c1187db55fb3f71836c3760568c8f558254e979032e31569ee00442e115cfae4623c8d97d8102b8f17ed1044a63736425ad196397c724725eb1572504ffaed322a225de8e972582859f06d3252864aa480366f3d243d008453f56d3233ebcccdd76f366120f7630cfa2674d4c09bea5a1b69872fc9598e5a9cdd9262b4a930ba1697077688030ccf1b500f7b3545a2b9fd1c5cfbe733e7ec3807e3f5f6dd1521e9471aedbd25be9438726571a1840907367759a468b1e8624f8b4cdc2627572a5e6ec5e7917d743da1e5dcdfc3dcedfdd820e13e1ebf7f6a5d5b18fd8708e57e38d53ed07f0dfdcb6174cac61ca36e34bcaec765773dc5ee6a9d402dae62cb9cacaf097e069b15bf9c7d190703dddc7deba1800588e19876c91dbe1b5dd07b6affb23bd1abcba367f8a78e43c671eb4af29383f2b5e6545792b27e2ecd19c6d5126a343f7eb162b3faaabc0d284b64aee3e76b7fc671e1bf72addf4dfa46509e389348657836d91a156c4da4237ab9e23f5a946729fecb4a96afa2b709f3ee79f667478eebed979e3bf617634ac5e55996654e5a95513b4c5cb206c9620933d8e6f39c0f9e9b94f787db65ef5273cb1feffbfd7f2cd7323eee436e1c0e3a5698055597e2c71f51911f7a58b8df760cee5659eb31d34a251c49666a1f825ee42414307e1abdaad26fac5df74b9c725dca9a41400740d060301041004000706060607050505040d060905049a69990b0100b2a92e1f20a6f9000100e8c90901003ad26546bdf60402003a6a016c8667572c9104df84e27e0102f2af46663b39280602007a646c9da87bcefe28b24b20184888f90200b80c01007455a9bf515e3363fc2c8f243e135e331efaf70635c647e30a0200629286592f10dd0d730f157fd026caabe68ea24399c9c297c7f7bc8fb430b9e973545b3c52825f34083e041da2acea8a29b4200185d70604009398b2e22151d606653a715230046d1e1be6d40461149467034a6a1858c422528103a851e9522c07d10c41c841e6d810271d718a18139285c2b019734a0c87259a197e1f70b7bbe985e8bfcd66f0d1851a6d3c1db9478e6a828cdc0bc4845056dd310eb2445a8f294f2fdd9dbc7920002f7e665ceb0b5e9c89aad5b3c9dd0c2330cb85ec38439e6aa8a0d423c446dad58c4fbff2bee87e67804da36087f6cdb2c0340e16982eb469ab9be6c4f0e79a9bee80610665119bebe120a62f616bd4d2542eaccd5c9be45930a68d38c61b611a4bdd9430dc20224d316f0177f025cff6c100fe60b33c846d4b958bb035066883824127ff416ac046ff0e9e367bc6e51e596816e7341fb9ae3a63860a07ba9a8b0471b0f7446107a86e2cecbcfdd4e9ece1f9eb074d51ca0b724f491d0742213dcdd15ee47b51388cdf6772d29effd013f7e98833bea3f842b15420f91b434a5e7c16c8539c6ce788c3adb44d94c7eedf175fad11d9ff89d30fadb03fe3d793a3a230cc23b90106525a5d9ea8a1400c5f0facd439198d018f0e126e9cb8f82b723a8d60ae3e3a3be2cb2fb31f755e5e3a6f6c5f60a01e7839461aea86bafb2ee76b97689ef3742fcedf210f8ec8fe70fb1fdfcf07e37bf9989d73085311b66ac6f74fb62fdd00cef798111644210044203d1e39cf70a0aece351d2f045e0143e44272b1925d32d2b3d83e9ddc4afd2d0b3bc9180523969e04d0d0b1ed98c27961f1a0d0b4070200f58e25b02cb50a0319020100efd0f52570247039ccfc6d42806107e85787b9eed505f9daa2d24b2c7eae1f00eccdf4a6515aad53174761911dfe69f6a8484cebeae5649fcfe818dfc0afd12a0b784b6c41229eea705080c9f91cfd33dee7400b3b9164dd094878664736cb57388aba5c7d82b222015d3eccfc6a9a81c806210801a98abd901e4eebcc3767a6d642e22ffba85bc0da0ab5e5c1f1b4957126523308e9ac69fb030012f311c600b2b9e91c4c0df88882b88b431844da8b88e1117c5d6606a8b27ddb0be4dbc39677324878cb396c427276a68869e6df56f48efe2e46ea1e4e5d62cfb2cf2405eecbac4676cfa2007ce35f521c4c6db2932cba6999a5d57a99beee1b5d77abdbf121be9fb899b482532f0234c28abae8e4ab7e5b30d3742625033312f0e462d6be3112a1743666e9e6f4f86c9c11415fd2cd185e8e8f7008faddda7ac5a6d863ec8e5e3f4ef1c57dad0c42c6f679a9f222ce22050f80c57491894fd050acc8812cfa9e35d20205e68cbcfd0a0bb5ba8d8276c2f2301006df6136063ce8180e3e009803e400b4ce4c12424f7fc16a8154c79abb9c6f22148ec70c0e44d10139cc3666480bf9db794c587971a12858fca82423b386e717decd137a5a2fceb0581664948205a882c8d718926a028cc371e03a4a9603c29f0ed83ad437233a3f8015c25a01e72c735ff2ad8e4d658663be62605607b5e14399776cfb4bdd06062634cb31c1bcd0c86d7629366c6a9ed2732fc321a7b0cab9c0193aec258cfd7259ede23e9d1d870f6f52a6dbc1b0d1da58395737da303631891b16b4a6fbd289a61093176926268681e67cc78b911c8abc7ee6b10f6525ff81918bf996b577771bacceea90618c8d9fe8e97c0e5736e51b2ce38935646b67999cd11d33cf0fbee062ec18e6eb10ef2b53bb6e67dd21641d9737cc3d5d7dd0dab880329971c5368d25d88c20b5b08f5c97ad816bf43b3bf0fb2157528c7c360673956c5bcdce061879c7e67dab27c6c8d697b48d86077363819366254ce36dee995017cf1021f1a6339eb1056eba2b78bcbca77f86b33adf4430c68eb9290c6ca8e7befc94c6707377285ce1007d3ae9ec28b71d85abd5bb23aa3f56dece81cbaf28bb9a1e6c9fbb72a04474036fb471d1b26aceb5b86ce40dd3dc772ef722d7a0cdce5ccefc1bbd66b6ca4c297ef65a23c7db39191dc37836a1976cbdbf035063a2f6fd0586995d4f61d8369fd8e1d8ae626a611c1893bdda9345f9e0e54dfbe26442c6e4a78dc19e183c9a1d7e686d0c4af1b1d55e65cf91de32ed2e3bef78785b2f2cd898ccd3c3d13abed34bfee24ea9f219b0bfa250f9e39c02539631f380a13e91e3505dafc0d5e24c330d08f3efbab1389b39965cded9b98ec152e5d836ecd33bdfc1ed706137ce231aac3e000440be910f7238681da000754728aa296230bc14cef1d2a95e622c5d8d4e2322e838f8a6d63f20f323ad807aaa3060c8f8007e0bc677b7b48785b5f7d84f7f401568988c5fce1ac0936283005eb07994f4265684d3ef9c9d306d3328fa55857943b689351639563819ee4e7b3a0c6c6a4214d8571e25f80b01006ae6825181cefe84b4eb636b9a3bd0e919beee2353d3037cac491eb1d798c84e6f0dbb4a0939cf5a7bb091ff2faea577a7faa2209a17f8896a0eef34c789b9669665952fc00e3e612afdaa0333e3d84419a6530fcea44bcb064f2497c74bf4a2753969556932c0f0d1ea46d404694afa6033c26f4caa8b381926563c1de2865f26c26cdd80900323531954e9193b486090c0fe24ae3565cd171f4f9513592e4ae937ca19498c8a114192739b7c6f370838a1aac7bd5c20bc031afb49e792c2bb200e527e6ed3b68564102b5b3d33860324eecda017f3091e0bec80b02d028ebe2ebb310609b01545cafa552af92962810676bffb382620e465952959fb06c90047e0c3f313d69d3125f1afdf774a1f76285637ccaca03d3cd2b3dd5a1a35c9b5960aeba54f2e7cd55a5c00e33a8b5e799738cd55859e714ee87558461b0a3a11d2a9d91590d1c347ece0107e51d8c3929667971dad7d5eb98c46767d6cc89b0472f5a8104075566a4b2b0073af5787dd4dad2f54d4a77bab53833f148a5d4ced3b2dc4089a10410f0ddc7eeff1850333edeff2070100a4b01fea9265a4d4c8a9a08131be03e4084409390760b17bd1011176d2b85e0d41716243f082e056527348e2444630600b6a3e6e949f5b1c5429fcddde02e4147f60e1d3cb05772d5d6da04cf600523c6cc4f42d078c20bb090ced86b60ab283cfe35f3e6eed1d81b1546616826a3f362db80af93ed7b0e03213e6665e8ed70740deed674343e58ca578a347679793748dbded4c0636986b0131f7fd5ccc6035ca386237c3f80b1a5031732a9aca70a05a8a13438b6c1343b90f19fabaf090c05334b2da04e5dc6fab2b4e2fdf0f19d6bcb35e7f8780fadb2b5b1d4da3d304343a0fe48ad5050d3d6748d3a6f2f3867e2d0ef792895c74a45282cdae548425a4c101db4700ba0173b1e1b88a0b4c7c3005cbd458885b74c20650805cf04d22930b7447597206fa0d4318f488b8b7e79d7edbbc40218df5971b107497785686aada41e00c3c62926636f894497994c47f7029fc1cf8b0d474b1e96dbb90620cd220976a24543302af57ecec7f524a7a87b7174731c030c235c67693a232f8aa27f763444d2e400302fd0154d32f0370b07c3c2c0d127833c59366f55af8d910d0f3560434c0f01ae41c901ea28ffd4c215bca451ad5a82e5e5c31b79806bcc7a1cb3adcbd2bf72e0fe25c8fbf4c7c8457e313d6b75d0224a25c8ca6b6a8bcf7d77758c4973b100434ab8ceb9420fb0737c610840ba893806f6333951128201910475ddbd3ef01a34c814decbb65d4a495c9edb5f05a6c2083f96317b83512323be8936e7da34edceb00197a8035cc0f98fbd42d7dc3a3312cef4d737bbe95f1ed6c713503618a87b16faaed0dd1e4cfcd8e6492985b71f8d3d1322b48da0d531cf60d79ac63476a5b62db1bda7813e6ac269e51df65e34816bb198c2bf81b61b3ffca8fe3b75d6b8b3bbbd663fe25f0b1329b066f5fbecad0951687d4f741c462032d388aa9d39b93316a9eb1470963b974d16c0fee30b6cebd751d0c0ea28d6cf150839cee524fb884f3d0b76bd6ecc78abc1d45afcc3ed88c8beb7ea88dc00695cb864d5b12ccae4daaca8aa5efd96a8b5669b7d8157366bf67b3ce6b9a006317ccf8419cd36ddf65f78c6887cf5f39b031d68bdbadf80d47602d8ff5c670bc580d279ad33167ab675d1bbd4b1b28193cd347fb99de821ab039fb0c7415a62db1b664820d8d2d7ace5822a6ebfadb8f1c770fdee20157d0a01c3569e36c0cfbdeca756d270f20b6af90c89efc6cea4de2366beaf27a13cd9dd78cc89c855a4d074b200c60d4f85d870f1e63ccf05dc6e67496ea9ba5e5660d37cd638865da3e39c8da8d96d9bee0215bd4d7afd36cc734e5665e1f8320bedbdeaa5106d5b99976d0f552666b677436e613db75ff3519a04b838fe406121bf3da416fd9787abeb2b030e1caedd6bfdd5a5ddf8da0d2166e6506ffc239608740c3ddf8a65cd1946ff63af63551db61dcb093e659a10704ddf12e76b86e33388f84858b7536d86672bfb771e6d778bb41a6cedb35229af3ad1fc0896d6e86340a8bf55c3ae8315bfd221a8a45baf79eb768a3fdad8dedd18eb3242d7738b5ae3535d7cb8b3256868c1a87ad5806170e5337a56daeecd2291e8b995a27961631cf9046b6c8d21b3c847b8c75024fbe716fece2eb45370919e04302e6b63f6c9e6b02c6b1fae7db19d9f4bc23e32c4ff2258e67f0961af001b1d13a78de748338715d274de33bd5e4d8731b4d666fbcdcf8b196ee6a623672c3242bbf0d0b37a11f86e64b6acf3c6c909a2e75d36ca669c9c251f79907cff2f674b11a7ab4dee17775e09860d962a5edb38ccb1b6ce76783f556c95968def6876de61680d5259ac27ad8ae93d32a4bb6c14cb75d3b026746de6127aa8d511d78f20761ef10f3990c492bf3b9d1971ec890e574db45043bf3a7dfaa98305c3338f90e6129e5a838e798f71eb7d6b479ca8eb3363b34d6dfbf75c0c8245fb13db3f7782866bba741336e90dfa318d6a58d2e36512026fb982e6c429186f564f7046fe132c26a2c6f168932bbe353a75deb96d413c7f93dae3ccba06934e06ed523bc3d196ea2ee9dd8e4eb1847cb54b3970f2c12d7cc7a0044800535abf73fdc854b4310dabb07371545f3a413017bbfcf1b7abde53e7d9d144491c1e51583b39001857cd424e059ae31aedefbdc9c7d17deb7e9aada851516f2e212e17b003054f00087ef7f02e390c0520824b29dcd83b3d7c0ccad2607561206e75126f48c050a36c8bcff2fe212aac2addd07e87aaa66968072d2546384066d1effa0736393ddd35e641a4a055c1a9a617f1b4be0103dd432c3a5b3dd13189607befa043f6f86b6e0c170517eae725336c80a40738f16f7e25d2151602f668d0f3f012088e3a679ae71a4773a2ac1948f625dced1b2414e48293cd6d9ac00466d4e7c6ad34272281f989f726e352252752671a11242753f3f39d7cbd900abdb7a4d15f61d93eb8c08388ebe5328a6870c3cf5250232817430116081eae88a1e5c8cc9a66f9f0a3a023235654de66217230496c62dfdf2d3c2b9d4c77e5fe2d5ec4a494e8d6098c8b5e394c42bb80ecc6814566ca0d052273d6dda2cc40a959c6790c1f1debf3df8edcebf92575e0deeb184fa2a49f01bfc50024a2b90638449a0a8691600e1eb73e5c6ea1aacdcf828c80cf62668496c46d808b6e699c9c3b04813cb632e128a205004e5d90938cc940f40707dad4e7ea586dcd8fc64ec76a042b4e4ca0b34640b3bd8abc5bbf5d64b7b5e24c6f63b6b51010008390e0965997ae616baea76a623ac3cd596778d8c0c82ee1e09ea4a1fa9d90636d0c1bbeb75a5184889b987680a3a9879795a0dee22038cf1372348e567873262d22cd11e28aa7834acdc610ad0a301484127bd9ef02045e8d9baa97c350ad27234c42708c307de0ea2d243248f90d5b68263505c9207810f875a4e7eab653d12d96696c68a86582dc19561914411341aa889630e4bebccd67150e238f3d49eceb3e34d59f9962f5f2e031444d1a4c50ddfdca1d1391a28f0d202bd2486db68982af4e3135ae4c8a422fced919f80b8e8e717bb8ed65d31c146def288a140189b6e8053cc9f7a383bd474566b9ba0752e3edadb7c9b13847acfb044e61a8c658a290a472bf2a27cac2fb9037a8cbca1d1c81657f6bfef41dbf9ac95c52ebeb697bcf42103711692535c92c2641de111754802e308e917475f403b6b0f88d36989653343ddbab19b296c1cc70c6b9bf8d958f8631aa7884dcb9e01e28ef90939c8f80e70492ae8423c11ec1cdb0b18e065857c4f82cb9ba609c2d1b6fa2af4d51ad85c1e6b40de0ec6a7da690ebe7b5cc3a417944526fe2ed63825b4bcec492dd458f02031612a5adbc97b4e82b2ef1f4f30932e4575567759c6ac51f6fb013121024116fedfa376b4e40cc8c1a2000b05350d5079bb5b8b72521b4be1c2cbfb4d7da7d705a530bf01e20900c02d1949ca12ae152eb6dacf80b03262db6ce7905b8bf098f7683c0ced4deff424b0350ff09fcf9a25885bbf2a718d693e263a1af60358280974a44bec1de16512d2a5c99c97c70f3faedec8bcec6a9afb2bcdfd1faf4b7b11415ac8dcd1782a0939ae55d8b98e612aae087acfff7b67cbfbc2955fd10b056f50de5087b772add432b2e2421726b69d70b3e31949d3b471442f0dd9412fbddc0cb4e025fd6d9dea92cd20019ad0003a6a0c4e3a1bffe026a6ae039fd7aa84b445758e22d06ebeb5321408387d3e3dd82c015f8f9ccc6fa6371834092afe6922e03478a87fafef96431b55f2c60ac477951b8e85b50dcac4a5a7888e6f4d1a053559faf458403c00e1f6268115f12b0f0636d5262db40fc1713b71ab471c4b0b1c4cb98c26fef90234c491726011ac8d2858d9c5eb1b8bbbb1e1bc9d2aff7c9bf59c78b9724580451848e43c0232d606881ac5980d845839bef80aeb08a04cee576f065ed129f3f62bb0b8ec75a542236a97e0784d7d48fc10403620f323fd66614273a37e1402f2c6999dcd609082556f9f33175f7a6739d9cd9a7bec6500b8dc302555683d4070cd3e909275b3dc113f6f76576e9e50ec99a4d1521646295904a2a757df7544df1c9e3ace10c4c4f497a054350030fedfb6ad6995ad8e775c370c3415b083ea619ccc27ee2b0179a954841e96ae8fe515af334c5641223464a38429be9bcbb0e08378ec1c607d23b06e4a2e115df215dabded7630abc5e616649431122f5f2050dac72c5c45497cc1530b72a21a4a6041d760e86aca0442405d8dee94d3034df9d628961718f90890fb2b60281246fddeeb1b302bb3e0d115451b4bddcbb6e68984b99ab380e3010104cf1cf152bfefc9f9a8d85a8aa8d8a1449e7f46e1c7a87666cd4abfa0adcb0574a4d45bfec9aa1998462754750c3ccf4e7d5044251df9c2f2644519e2ddbe8bed6231b394a2835071e886d3c5c9bf5a3b8a6b76491646404c12d49194e4c5981f10f1d8081d4d9c2ddb2e320a9576e2c323ebde16ceafed790cb81c4cb0a790716893bc92b7e76b4c09eaffae1040f4247faf5918be056c4dac3613f40d3d27573767aca3eef0a182540e6ea3b78a3bd3f12136e089e6cc1e58881a4474f929f690a3d381b14c131a4add0d6439afdfed1deacb9cf54fea7a5b49795be636175ee89aca4b5384656d480e3e2a6a0d3db2855058029c320776b56d9da7d7a3aeba9b15d1af75600863932506f6d7c0b71ee89c6f3ad1ba8e7413dc2a1f4fc0fef38ac39abded1fa4a734f4d5ccfa47774a508fbf6e4fe6c7e3c444741343b588aa61c16b44e5dd07375f8f3b1cf89e693fe7e15714cc169bcbf004fd2d21a8f2549a6def1f78a8593a4bfdbe94562bbe27bbebe41419035d2c04e136b6e68d6e14f508facea15afc743d4c2dc49cba15b8e80131ea1a98a28bbbdc0c99228ae91cde380d5383f727413ec71316465989cfff4ce493c33ed62ab691c1caa807037346d90943d893c327576338ac2d07abbbf243738814a8b420ff01b365099080643e9d6c374cc4bf0436ff883659f83e4b964dcc8cc34083d1df3ed3efb6c9560b76f30c5dc298615b21afb53ad932358bcc2ebdc7a001265b53030c74e1c416197db04d1c789fe3fec69e6adec99f99facae3ba65e260dad876edfc2bdb38bf26bd92b6e55184fd715d589167c3a6e96a4c72cf5cb5fd332768fde05013ce1db0193667ca70a3db03de6667f739f253bd7fb7a18927e0b35c730f6376d8f6ed2fb5f18cb65ad719f772c90c655028f306bfd899da6a4c66a600665a4670a7a4e92c7d54ce5c7554bdab195b9a9d0d13640c1b57ae6c23ec10d669cafefd0c703a2777e24c8bf4ba058d246e39a739ebd66cc62f6139dc3bbd255ebb1db716337f08c36535f0c7c687743eb5799e1abf85fccd4ee5c377a634e45c61730175277ea1d49c58cba4eda5055b864fbdf00da523a6d7310076f0bdb15dd3b1e731ff8cae37b08465ab867923c2dac4a61fce56c6e3795b781b346a4b950173a7b4984db363c37773dac2cc6fb0192d3e7a52fbb2f7697a860bed1258dda103d69add23fb9fa9d8a44ed0536ec1d66f7e396de9fbba7900abcbc4027731f3cfb93ddd06749977eae88c6571f8c5441b617705fc1c1b6f848f0c99b44d65e8f671970d32b4ed346cc9aa08f7ad3f8ed1de8d16c2f931139bad1fb78fe07e546e1e3a6bb476d496ec5b30dc4a6d9cf500d3dd6f1b9b24b6367dc2b5a5dbec42f76296bad5aa69d66ce08c318faf7be70cd90679064bbe35f609bdcce2e0607285ad33cd7d326937801d3018faedad0b4c78728db5635acc8c5cc98a3cc0c2b9d96d65c7d743fbcf0e7c642bdb02973b2e79de5970c9d73ee698eb899255f34edadf6242b2bd436435076bda922639e7ad17568e0b7f9d762bb5d66c9fd964ff36ebd62846db7ed6d47e7596b2a459c4f4a3ce2fdb30f6869db366b06e1eba823ac86ee7eb1607f79db89fc8b233da06c98cf398b1ed79eb7a22cfba3c798b7188d5a90dc7b1bfd3471dc48c477788b5b34643d83b7b531a08ba9f4d4bc33382381b6dc61a6301f133f1eb16532eb3b916090c7424b101ed9d97a39925dcc78d4fef6281d63c3963cd8127bb033f6efa267f85110aa03686e7cb2c1f1c0046e93a892d87cceb5c6479097d0b76279e8e78c4ce85fd0f77779368fa527392bbbcf9ba014dfdcd91ede06e67fdec5dfbbe680b7a700dd95ceb9b5333dee66d2f48f2849de4d08d756cebb1d6762c68cb185ae021f7921e1a8b7ce1fb8bf38ebfb58b7bf0199efa89ef105b28ada9c3798870a28efd5e672d31be4d54d34eb78a81bd2fea56baf1cde54472d19decac3199cdf6fbd36b7f52663fa49ddfe9a116dbb0dffefe1b764435d95a3333c1cb959bf2b3aebd6006cbf44dfb4b1de0ddb203d0164c780dc1318e86cdb12826c54c06f86814cc400c2df6c0b668331cceaaf3fcecf2884b69a11c30cebc681853cfac19fad86fd84033c72107d333c09bda257519d0f3b647db63c486f15ce2e7363ed4f96c863b74c1a47559f344e9ea16ec32fd565ab0b97726e36ccbf2584f64742b9f61639661b3e5e50f6ce646ab0bbd4f9aa72669abbf9a5b7813cc76ec91ad0f1b4543e67eefce580917ecec0d3d98daa068434a6db7096b4f968ebaff0299881d9deca6d30bebc180b76ecb4563b5e1f6bcdacc535d488bf34ec838034f35c03d38d36d779b3984854e9be3f63e39ecb23bd851755fca968e15ebcd94ed62ae6c49eeeb7468fbbc2dd3e8aa8f5e6f1bb7f4fb9f7f21c306cbaf22c726d0f885f14e98bf47ed6641970ff2b9816547c35dae26d007da0fb5f28a96be010b6f8d7bd0799370b9bcf134dd189afa716d2d47b4e403d8e2c5afe4e2857646328a918de2edb46f8865cfd9db255b1c94dd0cb1be770dd77a3c60a0969cc874af18dc23db17feb0abbbc6fbec720e7239c4bdc87bdd81ce7af6d3e0b86bd19837ac9bbb6377d62dbbb3fe8cec1f66f2088bb9e270a57c609ed5d42fe5581ed89e92863a7fc1bd6ed57d4cab143fda61ea0be512dae1609ab6c195583a5cc8c540abe7da7b37da4eb2da69cce2d1b16995ae1ee6a6dd0ed83f647df3e658d0bb55e49d5283a7450c2eccd6214e3d36c5c6cf75d8749d6d8c2259a9cd4b2fb130e30860c678684c6bfb09dc3c74d65d1373dd21533b681602cee8adbb7304cd9ac2135f19bf984d6b1becc1a40b0bdda56612ea653460c28cde6c5a46bbb0313d4f69c38cb25bfd5fa186bc515bddcdec00cbc15baf019f93739016a7588c051c7ea8ece49987e4ba013b9a736fdb45e1cc80a1df90b3bfe0a103b81adbf910be6536dacca62358450ad8da33f0013675f20df7ed16a3312305566a8a09707950dba57ccd85cfdbb4adefa86d86da7d58f797334d036eb61acd45560f9dbbf059d1d1443bf067daecf635e8b0b0a15dcf2b011bb5bf1ece9ee90b0cc5b2dee479a2320636ed06b63c637a1ab23a79e9b926031a5d6b2dba1cffb194270bd665b72fad613435619bdadd8d0f6c66ee2e1d6d56dfce19b859141b76d2e68635ecbe595ebf8df53bc8d44ee6bb23df3bb79903ced4a4d7ceee080f26334287191ab36baa2df160f0b9966aeee37a7742b6adb5bc64835a6b33c81614b6c01a7c7800fa6c9c1a3b20a0560727f48c49ee381b106e6254fa19e14533e64c275b2b8866d89b11f14907600d052f8a7fed6765fe87c6177ee001a69e72477fbfe3f64f32a7018b01740166cca6f7cb967597ae329b54b7a7329928c450bcd889301360b6d359d7343d73a7dbaf66d3b69325925e4ca6d369db754d6b69695b94c9b4ede488e7723aeb9aa6c3e0ae1b573b02e99e93dfb38fbd93dfadf79cfc5e9da977f2fbf44e7e9736b990ee39f95b58d240d634da04f4d15df2083aa143508690a183ac27120e703581d092e30ec08f3d7f0a9755f9802864b0736ca4307ad3d3db996d230951295844a8b56862b85778a7c0a1f406091c209ab63a164c23cc6c6805b2289ebb2bf58d4d017aa6197c25be69629a596b03056c4322c4ab34460ab78e202f305eeba24ce3373b8d9da60d6a5559840c079f69506b735ba429ac24b1b438210a18fd1eb855591bf4c942f73c556833e8a95195adff417533d7456c1c245d46509dc16df7e6ec30901eec562cd12ac3cd0036e1fb210e33aa0c11ac31519c1cb5ec92c87073442604c593c8ef4be4aecc542624f631a4e0a66a2266dcd8e7e3c5131165ce4328b010f1e0bda94d88d0c16970c2a243f322aa578c0056226e4c546b52e54623449c02c9c17a69115df3a5074ba10c2953dd2db99543738083122286be416106c4356295082fc248df2d145f914c0b63ef390fb87d3f9a5c478bbbc65dc10f7e4e4d410043b03e9f5028debff619ce347b1bce0c0aa5691cf796d9f6db77f84edff7fff30985ba51717b2cc58f3d9f509a462106c5c34e7c1877ca9d92926a36ef1bc76d9ba649d85d75736a4afbfc976aa5cf26148fb6d951289eb3d979762be79085a54140d252695f38928ac0c389122342f454548141e5eb5501a8f5e14a2646cedf24223aa2752525753176693c642464761d82d9729846cf09ab092d6bb9f48a5a60a0801552052947068da4d90286429453d302030508504d613915b93082599b5f67751d16e5d55c2eb9687cec89e74e56032bfa00060355051cd510b8a7025415002b7db9ba9586eb53ddfd82558df70309ea5f22702b969fd0f001fffcc48163bf2262be3d72de33b90afc7ba98769dab6e76ab7dacc6e995fdf33b82733b0d55bd6ad72a74a5aa900014a4a875ecdffbb75ea9b48ea3dd97922ac04d3cb0e7d68db7476ab7726f39fa66fee34bba58069ff8a4fbbc358b9249a73b94442aa6b9a9ec1b3f57bc66c26e13e7c39fca8d50f1960b18cac7a57665189b51a31d86cd875411069f03c4183c57933e0de5298e051e39020073b6e216b1e96ac88599d0a677490c0f1c52810a03f7e943caa6154ec4b0c73f8850ba1962c8164c02a7f52a03819d2453707f6f675b724dab221407cc0a259cdc8aa63e230a836ca1bd04a152a7a792d583819333942e3ae4e06dd0ab93838afb62dab8f65fb862f291756047c793bcd8a68ccf8d0b3e2d1c31e3c485a917e1f7f2f22cdbf2ce23b9311bf252e868691dfe95a9c7fbf03f37740d8f73a93c0ef749d7fa7ebbf719efff75ecef3ffdef9f2fcbf77729efff79e97e7ffbd4bcbbdf7c0de7bff1b8fc7e3f1d2b85c2e97cb4be5fc3b935f9efff76e68f8df7b9122ffbd1312e6f97fef62719efff71e1898e7ffbdf3f1e5f97fef64f27fef7b7bffbd0302e6f97fef797979fedf3bd3d23c2b9578b863f159d9fb83954adc8acfcade5fc1acecfdbbca6e953be52aa7b3b2f7d7ce4aa9565ad7b3b2f7af93f3ac54f6fe49a5722bbbf5015e159a50bf2082623a8f848179f0dc81b443674e1c386ed83cae7154d3c8886651f1cc2016b299c1c12e5cf090031d39ea70a156a6a57545c518050b3200c8b2d1238b38b1d7ea46063e9137c4dc20bca351575796d5e203dddf182db0418f880e185cd52abc522e2c796b20e651307c5560e07b2d5bf0c582889baa060ad751318ded2c5a458ed89a088c14c616f029ef03be6a3467c7957b31c3ff08802623cce7c8bba5a42b8ca1a52307886b87af69d6d71bd5754a20679727a71a48c7d6875b1b13ad6d3d848c4e790c320a7988d8b9c80f23ab4303b46cb9eed0ae612142b9f9a6156a2de28d895d596960d7b8a8c4d65085e7415c48f720c61d317c42d090240262868120073963e22486e5d475985097b44a12eeb6d9281e541e0451735229d6029cc02a856c09a2b3215523078b457919ad984387357771b058a90239f0a567a1ab8f4b6581e015111d7056143a42e51a6f61b420310086f779ea0efaaa98e27d9dc7974dee300891be3d285091867be07242898add6d8c3237ca081975226b4c116c32fd352f4e736392c6848ac06f223e503344b2e1c10003dab2600c1b3c4517182828ad51f3f0c35017443616213cdc68ec51d7223c3724488815a824e6fd077398211286799c98684800e4718028b11b144003e101a7f2dc3ac7f965ca60d774b594d9b1c587320ac92f3e05119953133b71f49e1e559b05f5762d797d97fbd9f96aba0df9da1f51000353f73d288b3fd771abe8208401e147a7775f3628dd1437e45aad671f18be1833258e9c4a9ef6ef98ac16fb2f73c4f9eaed21ead4cb6702d4fd577bc5b61e684f2c8bb085a5f56894e37f142f1e490ef9ce54acff56de6af3f94932925ca493d9f6b4574e41bfd13e85defdddc84198c84e07d2b186d5c1f6e07d5df27e5a3ca16f17fa0de7acc1fe708b880e51e1da5d56d847da4ceb1a905cb165fe497fed90a361ba7a5b5d1fa7038127e493df01a673ab1e05ffed4f9cf171868600f2630c2c38ef6c0f0ff86c7c04fcc69578fde2f93b889dade1ec5bc72667cfe98a93485bdd4147c176cc7690452d0bb0f7bf109bfb88836fc86dd6808eeca50df71f7b7dc16fba3f3cfe740e9f967bba21ef153844dcd5df3cc3d5a7bf74fdf0cdf3dccefedfe130805b36bd7f8cafbd3d36861fdd3b5aac0166c3a3b66ec2fd7205ff665eab3fc7eb2e843161aecfb35a7fd53dfc48df6b077f8eabbde9f5741ec549ec203734fa982d8fb98fb64897dff30c3ab48780c5eabd7056dd4bf60c0d22ab65465a31c75e8463dbc0aff98c3f742f4e194bc06372af9705995bbbfbf53f34c1660043ddb9adabfe367f086ec28263eace7d85fa1030c7bdbcdead93bdfdd7b9f6af714191dfc0a56cc7c1fc72614e591fdc213d61e610f7781a63894374784fc692b6586985168d719f0e7070472efac4471eff7bf8f1f6b5c20adb628fca36676f1e1cf9fe1c532b1e7ae0c4b5def0b77f588d1f5f6c0b9e3d0fce373d8ab94c4ed60537c9b47ba4f867fe9fa9316f065d06f0c0223f3bdfe0f577d01facee04bb6e98f6cc0e490960d05dd6cf7b6f3073b7d888d9e03efb8bb8f0d17113dd06f68de8f1e404fe00c2f5d45d7557333cf41f8936343bc96dc0336280586c6765cb6bea1c5ef47011abcfc989bce09bff4364fb6377f801880b06d09ecdd81d0b7753f7feb8d1a9270a799c6f5fe03b17353e4c8db58d14db0035938dabab2bb7610f37cb0df0aa6dc7ebc542a3d9789cd27d452aa2584f0dde10dc3b14995ab83ca55bc0066252b26855a56ef41c92fb53ccc26c02c278fd19b8c6d3dba47ff0faae45ff54eae6d5a913afac8e38238022a902ce2073483374c67f03ae5cccf6b02174f3b1ff76ef66e871f9a856aeaf76162e876b73cc3f63dec16a68a1734415bc7da1001b3485d870c70f716372ee5be07e4e9b3bf0c79a94c6f38d78828dfb48b2f7c0437ad9dde317445f1b383779495b9a3bf6b628ab6cff0d2de9e5ee8e5f10cddae0bee1457a69eeb1d7a25d857d37b8a42dbb3bfe7a78c3dd5aac3b92f303a1f5ff083acc6b2c881b1b107add8f65ccba32b7c90c49bdeb65f7033118d8e1125b37b0411b69a2e93dd8469a209806374c4e0ce2c92a287e6f534c8f1d062aa30e44aafff42e26dcfa208d56bcb62ba405f46fcc329d2de67ce60494e9acc72db9900ec019ed05743b9d7becb52f881a223a2713adb6431dd2141c41bb4af60f788e788edccfe142bb60e6c8d688957ff5e96c4f102538140aefe54f5e74a96ea841fc94b12f0f9b6bb075838ea0bb12ce85ede19a99f17596c07b77e85bd79263c08e6661fabcae81cf5dd3feb5b8f91e6da55a66a09161739581f730a86860c686ed535ee5b30a399915861e122532ea586a1bc8d827da3f0168a673d6a524cffd1f9007f8cc7e53d370b483acc3b4c3f1ff39fd3ba03c32037ced25bf89ffdcfc3c3e03ede3583b6c58b9dee0f3d335e2511116c6b69afacf273c8a6c96ebef3267b7df5b90df1e567e56f348152237a9a72c17289c9ab29f5e467078c2992ef15476f60fb3c2e2ad9b3a9c1e0b970abf7227ba46a2b5ba8f9fdba1c95605a4807596d7f13ce61f4d2db8049f11dc34dafb43a2dfd6719cecc044dc80d65506374ce5743e686275e33e18d5a4f74058725bf628eb5ac96e2c66431674f3de5ba5d490d59db7a649925895c9bfd9ea9f946afb5dd887bc81a908ec327b9e0b5988af8e06059581c5c6892914ba27feb6940c3cc81042bcefc9d12f62b5dc6be9491d5a73ca477de1cb57138f49bcaf65b37858ab7d412c2d58efd9a347f756d1e5d60ad873bd0575e822f097ff2cac43b3969ca7bf284246881c9042de0561101be8260caaec107778c54caa9df98229a22cc21035b750b30e06ddf3692b35744c218e1e39e79ff361b8d3e967f56ad6b12e1bd760b1dde44cc82539eb25ec3d783e8b67261d86690d46721670a27cef31f6c63dd85c7737af904712f714da45f0a28cae544b35d1f7b14a0354301098e0900b5cd100c656476dd70d50c142532353eec6bbfe8dfb9c9e7de263749c7319c2522d20f984a0311b13d1011f1cdc85136d1e3b2083716876f24ce00fd73ed9aa623d201d559f41dddb3ffdd0aa78325d735bc1824528dc41618d0d82505097cf6ee047b045e6a89389296dfeb0d92803cf62dbe47b637a6bb91c2c3bd6742f2dc2518fc460dff1fa6dc88d0e7b7c893cba93f1b5180d1103a8ddc34ac5e275b21bc9350d3a1b580fce2277b007cef193da0e53608be2b5ddad86849b9f737b3cb25acaa0b1d8842dab43c8d57a2fb0c89fe54b6351aee2608817616b87dd1aa75cc0e763b569920d9465357ecd3d6553f05b0cfd7bd46b57b7cf5665192feea9b3d1c40ec2ee681ef03682fd64da3a73ddab4d6e51baec8b6ea576f820d76dbae5b07599d170a34b5693db086fbcb3cf9e9d5407b1d0ebf66d30b1b836f73f633cb56f169c09bf155a9df7df9c3bcee4aeb7bd0becc8b6bc19e550b5a83375124ecc2205e824367e66ce7b5c0c2c52a353decadb707c836f4793747fdbc391f51e547f67b29ae87c1da6a5c044a727b3e189cfb65bec6cc1acecd0b6c1529e2ee154de5369837665a738712e56690dd182d003ba163c4e7701f497004a6ca0193720e24e07eb7240c5a052bf7a01e082fc552d3044c2e74afd163d807b1070aa42cf20e80f6cb1fb42bf9023c6bd9b082d697bcb2da54c32bc018201320180db3e5924232583202a020ae1efb8e30faf8a5abca7b8c91b5ca2a14f8e27df8a137128b0658535d097cf17236ffa79cc6421004505069a101e851410dc167405ca11e6879e80b58959820e8a710d91cc2d40d49c53e7210509e4d42010b10e19d401372281b6cc21080b6c93489e8470c0b6c822eb35588e30cd89235f832b2885866e8cda283231093e08a2adb93c33e0a12b2cebb3a8c3121c1614a265ffce6c031f78c65997ddb01c42f8600c70db41acc31240461870c0060813dc10e1d0b3ed8b040c53692ca038e6451d7b6033a736469bd1c0b2c0c2202acab89884a132b4e7c586476752b9369117b456459d76208f4cc171e2019c83cb363cc832b46804e7cc8f4d403db0c9cb3c17afabbe3e7594b1222925c58b3d0e6759635d7af2a400f470016acf0d2e085ae459e8919a0e716a7e1983068b11f2d314a0150468c91e1580bea873cf932f30c4292234845e11734c76592f924e1a61f049b02a2ab2c1c1185d371488ef4e99c1ad158621f0e6da9824b89e07960a09d7cc22ec4477aa3cc13cd2e3edc61fe553611f9dee6142d270369ed09619a8168c9d555256525652128218fce0e14e839dd7014ac8c92c5228b194766c6801317f7992d352c6ee6935ef8e7dfbbbadd07c7dd88a43a55c8ed54dd74c1dd37238da1475da56aaeaa666e8c77d672c26695392f57b86dd3c7d2deddfa5580fcdd66cce4a5c630190fa2eaef8d56f927ecaaf36e0cda2ca5b5a5befed2c34c3d4abea5834c095542d57093c341ea095b0809faba6b29e6acd76e56b14fe177bba62e325aca7aa02194186ee9eb567492f8d6a77c6fa20f92b6f5e5595dadcd61cffd5678dddda9cf12c8e5f283d17567cda7575dfac9d90a76e2cfaa999d34a7cedeea65f9269442556f3de2d6ade10b0735e8d8ae198577ab53622a50e98321c5d769abe497cb047637ee3a9a3b80f738faca91f18b626e621335d85c866d9aafb1937c1b20811f731081c9ca3a3020dc40bcda797c637037aac68314e89e271d3a1d8e302e397c5b645441e4b8d5268ea18d3722525f2189489a38d9d4258cce8155d85da2e296cd4d578bc345122cc72ed801d127f7c191a7d1e383100b34ce8a1ce60c2e14f6e303352efc35688c3ec2143040403c5e8609691c099a50a0a1f54021c451961368544fdc4c2891f59db28b9e1b3a53bef9c75e7d20ec3f9bbdeb9f7ef6e765ff3d7bf3b9ff6773fe67ae7fd1ceeff9bbffbb90a3ff5e5496feefc5dddf96ff73febff1cbffed76e7fb59bf9f7bca551ae7975ba757e7f6f5dcd3cc3ee2fe57ff7bb86e39ef7bffd85eef773346be8c3f07679d48d660e7da7fcdddf3d473914ce1c0a85f3a6baeebe6e1d6fada1eed6d2ecf277faecbabbebe7d90eef7fab8e63ecefdf6e13f5a5fd5ff717eefdedd0a8cb35ef511d7f8e5af93be549559ee127a95443ffffaf39fa1ddedc0a8d76a876778eeee976fff97663a67f6a8fe6cf5459bbd3777ffe2b160ac5e3fc3909de5afa9d4399f62b55b5d4defb85bbb4aaed3118f5d5bceb9ca4618de5bb29a676f7bb95d49d4e650030d59ee2f91af377f96bad7eaf31e72f0cfd9fc2016484befa9868c0a32233266f4ef2cf13c0dd01114cb4502a5ea0416df94fd96d099410344358d745b09198a8e5de13ad999ccd28755010f5047246c5e1a0a583144540542b382d7c00e3d91887e4f00f8dcc288cf9b187aa151ab75cd15201c5dad9f502d34fe322300c78906589de58152a6096386582670c84983f2d7e534389090cad34fa8dd9d2b2e9c213c1366b287012f273d1c80f4ac44f32c92da31c8ce2e070753e2a456629993e6cbf16f0696249c6724054906cd0b762ae7a32278534503408b7e909c2735399ed94da4538b7181c9fb628b1be9579fdcb8d0ca534119c4212486d32667c4232dae3d1644986481d188f78ba0464b7fcea54dc82ed13f3e6f5c88643eaa4c95d9c5f963245293d7c0cba948b5391e537a14308429b7759faf620d8776a283855a9787165f824c28d08966bd44d4e0b063da0d230a11db6a15584c5e99b0b304f3f7884a9090ea3cb57c946e8e5c1f18a42918c3fda2e4924312d01569a7a688e5ca0820d0ce27562cd9b2cae40391c7795994bf86c1fff44bed461dd0e188ba27ed03dc1acebc2330491a32e354942f30d070bcfcc75211beb99a0af1d497857241610f205d222ed87d8d699a09a8814a82407bd2e008383413c1a114ba6821e34503200747470a9ec880eb060381050f4ff029bdd4e024d83604d731b91c6af715d12e7dfe9a462a09d78d13a3a4d1a714cc4b0776cb3d6235a01b8a577b15f1b23761b9a59f7940b279b5e1f8e4de2a82df77eb61d9668083100be616e4e971a9c3ca346cc43accdd9329ea21858390abb30ad560d89c958d268ae01db32080cb8f0c13b8367f7a6df03e133076749771cd80e35ce146fa709dc24cbe3ac8373079bf05bd364b365649bfdfc9eef3d33b9f3c0f282c6f1914e101336d36526eb46d0ce27cf65a979eb5f23d4129a00534ea8debae0469ea9183b2b64c489e9aea73a0c067f726444976cd69f4d83438f433c237e28877928dcdb474b7f95ff0859e15ec1c0f7a6f78cae6d7b9eb4582494bfce1ddad8c5cd13f80ad291c4aef3c5ddf5323a5b03b32373305ca65d8dcc3b084360077dbab9ade2f6b40cb3658f384ca28758f3e43ca950c5b27cd2f7df2a18a1c1bb3a6fbeab88706b0034868a8116887b89c4cc653c4b82afced107c9de649355b8c04dcf0308ddd0fb59b655e2bb7d9fcc613073071f3bacf6b172e7633ac358913fafdcf3a6d332c3d96acc56387688d25e4faea6e2005ea15b3b43eb5edb81f93ddb424429fc3ab3f232bc28b71caac430b101b10b60f73e58cca47bef7066ca0996b1d8db0142e4f931998559bceadcee93660e1dcc95c029d8463759ece66983b9c14dda68ac2f48b7a5acdfeddfde5b495b4e1b0d4f10c6168af0aa0c342ae957cc6e349bc04fde6a06c3d25ed038f8c6b5ccb6e2bd073ccba3a6b2c35ccc8686b61eb931aa85a8a4ef13667b7fc7a04b4cc4bf8b900f31fcf4390d8be0e79cfbec3762e55e6af1d712bdfe73ddce6e7171ed1cfc5e06f8909097bca5509ac19d526cda5caf9a0ba969b13a9c91ae3298ac69d3429a2eeb75d1f3958e9640cd833b27050f6330d43912d420bef9623039ebf5d2f21b3f6de81081687012a31c643b59a81876557f448b9c92c95f1e2072377d1b170909dfb78be55a523e979deba541b1ec8a40bf1b0dfa9fc306c8eccbfb6d3824f783b553a2ad4930aa11d24723e2078259473a324e2bbbffdc515b408cccbf56bad02304368e2a27910e41d67e954d8e0e032c1b9c8296a4dc453672fb2c6ef01f5de640a13ad9ceca021afbb56b714cb1731348c1d80d94b7ffeed94bf2e13ad3e1a587fa5c8b73d6ebf5b28235a1e9c3e2e361c6e7d26ae05a00880f8cfb11073bfe539bf519f190cfe7f173975fe973859efa3683c865f2d12a4047a11d6107a2a4acc1986140ab14ba2eb78decbc66b275e2c74562d72eb6735b95c8fa7b9313cb32eaaa67adff8775f735a65dafca7b441a270bf16d63c74df3037ce0e839aa43d56a71835764adef27fc89464ce3f8c4ee275bdde669a3aa61242f893ff9d96c6465ccd2b8f8b5a03d11d863ce3d2d68cab6c7302b82ed1e3157becf4a49c8b37ecf636fd42171ba826ee9579cf8a186da2bd0404b3fac725904cec7a539712ebf078166ab11f8196cf714650c86e4be4bbf141241eb39cd6703cea8577370694da5a1bbdc02c74dfb26ea80f11e633b234a45fdad9adb46079e1ed99c1629c23c4992ef5e5b9b71b9cc8717ffcb184109f408657f72d348f2436964f44341487711b329ad8b7fd0082430fd24c4c9cf4e2e82d491089bbf4fca2b2ce4c5973ab29c6df6d0e55b7682221cac99ce5d6b1f373b979aa8d5d1cccb40c0ecff926ef4b057e56154e774486c65e1cb69ed577f93f2f11c89d9670d75e7fe2aab4f73a71611b62c9de8a8c9a05c1f2eee5c9f1ee980750bad5341cbe909a2e1607b641c531b52ea0f623260dd6fb326e56e3f3cb98d80187984aee7b7aa9bd34db20412f6e7d97a7a0b36e7ad9a6d282d7ca92cf9a793f7d40643b754b7fc83447191189a401e3d1934c4ae9e16f9a2caee0e3f632c726f311485c968e3203057177d5f2ba5b526a8306f48e4d74ab0ed47d55e3b278945d362e7a4f17440a6f71fbc9fbd5a914e2fdf4829b61a877bde526d4edffdde83c5ea9f1e7f2b28262c29feba9824ec327f1182318173418624d681d0be0e9c139c09557e0c5a4a524fe16ddffa5cf85b144a11a2ad0b90634f05634ca7cd0a2c0ec924f33471092128ca5c756aa9638c0a4ec30e4a2c6b79cbf42e39ba889200a6bdc0abec78c63b3ab87513c9f798ef73ffe870e634ec3a45c38a2cf9812e9ec484176d27305bb0ee671886db6c0fa3096232f575eef2970cc9d529bc4eb09cd39c7c674e0d17cf9fdf0f82cff2053b7b5974d96f1fe1141fcd509116a60f75a580287bece5fd77583db53ad92a6301efe6714932053559fe4451647143567ffbd098f4646dd76aaa04c3cc49e7007132ccb4c389f134281650810694b74a82e69ee7f4639e7f3ee8bfccfaf48e223bd7da827f3d0998ed6657497d5156777de215e0b879d18ad7dc16c8d1e458662380dd47b8d0c8b187559d7b6a2e3637fbbc707a80f6fdc8fd6e885a70609c9b7be8c6f3a4b0d7f9886949c82c5f08f3efa35e69d0ec219f53cd5962e3e86d92d4719caafe93c8e8c7f61ba397b951e0a0fdd66f8e55b817b357fcb4370926882182346735b76b15a626a0736f6547fd2e17afa9e4c6df7a70c6f4e71053e4fcbb67823ac5a576ad2fb56a565e69802c4c89b5d1a39af80d8f6c73e4641e3207ab097d35452f723f4a5ce678827d84f39763df813b06df18ee0ae01cce6fe1241b7a1101ca85629bc791f24aafa6baae329c78581f0df7fe33849572f3dff36637586d257c0a655396bbc47af4f27ba92721249ae0665ad1f1183075e82f9f1ac0fd573b07253911acad198feabebed56da3df7e6ff42196822ed9a5499773f9e254f2799ca57024dcfea4e7a8aa4d4062da71272643baf54d8642c4a33af5b099de973329ed95dd0718bcf65032686d49ff6d519636c314543c3b97f98f4b3cadf27e45b0bdfb65cc3e7d53249188e80b7de2d1687651a3c21df1cbc174c8c79ff3678de1e4f92dd62ee18bd8b3635d61f7bcc6e1f101f9ee01202527d7e33a55e76fd541f19c09f323700c2ba203ae225a0345c6cfbd669b51477b09a241427fc6549676f656d42aad445b21311fb70898d9c8a70f4924f702be3cc319b312da2e47e3df7b2d5f5783f9d5c616a4ab777b2f503c736ecfcda66ab0380d56a40ee4cda23ed8345805cf8f3fdc88163879dec6e9060dd5a22fd7653c2e145ca1c7625fcb3ceb5d4d09fb7a81ba8a3183ea9c8362c6f3a6a6a111542829ffcdf63bce3829b7a3f3ed3f77856f11b19c8c0979d9ef75ee12a5a1bf5c843d88e6fcefaff9baf90da0d8db8741e4f294d747326e3a83ea25b705cf6f1ace513eb74f3ac1add6c3554cf75b80e6ed12d283a3e1525848ab0cf7f1129a3cfe616fe4c8a10ebd3ddc5386396e532b1a5c3461b8bf2afc968315459d9ae53392aeeda27f0f7f3556c452e4cbeee0a942cd045b7db13f2378c0eff5feaa5bdfb9fa873208dbd04b17c3d9e64e60f85d9f89e35e1b3ea7ab3facc89a6ad8fb0aecd5fb475c485f937654ae7b1f82394729d3f34cc30c89cdbb198249ffe1e78f04ad576eea7a839e895cae5de0b9ee8af54dc6b0525ad39c13f9cf06c3679cbe816042f73eaae7b7bb290a661f81f5b0f1d67f857add2af272aec3f61d510aae28f71bed49973e3561c9aab871a93af4fc9da57ac6f0c80827785bfe73dac340fe877f73c6ed8def57bedadf3375e6e20c7935c3430ff2af83cb523e753dce687b6f9aaeacab85d8ad33a6d5f70616ba34f75ded51583b1ec3c3f1f64fd1f00b68c66cb420e0eab247bbec7a39effb5160ee2560d36cced6df34fe7bb186f2069b3f0ed4b6a8b92086fd0b193378f70a397b6b82e7f798a1de166ebc52f49f4a183c18cc00a9f95656efc53898eec75a4c15fde71733d4f1971a9355399bd8d7a709a3cf74754fcac3ef34cc7d6eb11ecf0d31fc073c8fccea2f89f973860489d554e696ae8f26c53d3e31ce0f1ee54b0da6cd80bf3b5f80c77364deacf6c69bd76ebd0e36cd9fce809a3f4f9dd9b42f8b33ac8bd5de85fce0231e447af83b2a9bd7c4fc679efd386c79c1fdff50e9e062ab290f378bced2ebe16686ae76df735a8b41077c54a671e24a77d237d7708535fd9f5bc36312bbfc6dbddac569e0bde17fdef1e31b67173ee8fc33b415ff10c6bc3ca88ee49821607b3cd8ca1d4fffd621f753b4f71cfdd28d612e142267e731c7e1ffedb2b2a1ce03d866eebe9bb8d5fd4768fd5765b96dcbcc0e4a9d99e301ed0d7eb9e34a39fcd41fc31591add976973d4fc2172df41853ed0c069a3f08ebfb181eeb581ee1438eb5a8ff6fc71f53233bca9efc709245afa94cb2dc91bbf710e9f83786c3bfdfd51ff8ef01d7e080d1d0c84ec37006557a74e704ff777835590c9f67339bfaf29b6b977dfcfc9ba9ee9294ec63a2d6be7b0a969bfda1dbe2b4b6f528cfacd092f6db5f6706882b18eff89710a6dfc83b269dcb32dfdd057b03d48700448344b0daf3aacf2580e96e5e6811b6020071c9723ceba24d06194508630cfaa5417e4ad36db9c26b7d8f7020bb648f38e69d12ba059f1bff09b47904f65b802938fcde95828d48d05ee91c0019ee0606003f78035c6611f370812ceb9447be018ba8019bc20218191d4104e95bcd4d0db6610996b316d9906a56ff4ac16b585016721dce71126b953d99fb46eeb73756c652fa41430fd24003f16978476c173eed24be96346022c972304995ee1ec71ed0828c26c21ec845ae7b32bcff39e19cbf62eddf913c884a4f1ee48f3db45517bd0197f8e08b929ad2579ef71ac0e66baf65d633f4927234d37e0ca46b165a0257e26ad34c0f744bb32b0e030092fb9866a954b61326d169ab30db6cd56f18609735bb1dbddc4cf82498d20b365d128e379232019eff5a05f888855c71ca61273dc7535ecc1f03b13fc950fce9927520f46b3eef5c67ac0dcd2ae68366716d2fd330ee8a7720fdde89933e2b0a8648716bf99f6ab6d615459bd949e43149540dd035391687770656013d97f09934be9c4776feafd9c50139e2e437ed96d8818184cd6b26cf51c82ccef39c3bece757b1c4612189233feac97466b2008c4ca6e38a2bd6ae1c9c868c9a490ce27e2f023e0ab3b30c393ddc61ad5603948b986873f06a8b33c16c0fd645f418a0a0485a3332ddeb472091da3728d0aa48ad06a86bf35fe26718ea3513cd785faa65ff4fa8e744766edd7bca1b8b5a4e0116030089477d1c7019b872a5d101aa53928e2c5622692b94082f4838f97eb30ec720762f848ead568028985a41f0a59d832eba401085dc85bf77d67d262a0db825224755902e0db95afba700bbd80bb4dd51953e88244c0e9944e34fbb668ce5fea52cef78207a252cd56810310fb8c942dd7ef19cc27a24cc9a42711ccf720b64cc4bfaa316c115a709fe963ed261d984120fb11da3cd7fd8429b27c4a75e2d9b35905cd3b2eb7e7e9df6f97106b15b062fda9ff8bce63be3d80613e53982dba7455d08ac67b20703fa80d9df9673dcc76748a2b01b04ad81435bb434ab021de0ce23a8a5e48dc770b61c06faf98c079a6911969eec93de4374c611aeb93dcd21a2fb21fb01c40df18d6436f844fe731e7cd687301d76ca81328b4306c56337f216fb2e070600cc2962e6b65e9b04fa8e99fa7fdb60e58341cbdf8af668853092c85bb48a077a39c35b0e97630bdf7d5c2c43ba7b3d18b5c56eda269d4858cf6af89841371522ba717c664aa25a88f1b45de3688e5d232437422c228be41aa64f142bdda50f652750f82bd360386eba78e1804f37c143490195a102d982071a1a05040030d77ae3758036a255d7b51a3bc52ae0adf8713372c27b2468505d0838e766dd7c1b8631852e3de653118c5b262317ca6f31b0e719b625b23ce47f80802b47ef61f4e79231a8919a25c716d711aecb746a756a0616582bcc1ec6a6ff6c5c168a272621b8308bfea73ceef75e6e1936c000abc438ee65a846cf765dd4822d98b9dc7aec951e779d4855209754bf6a7f4eb46a38e6a7d105ae20c95bd5fcb33fb69a45fd86818b9cf5b35ea44da7b090f9095243f36ac3660214d733de5ff0a809cf05fca7a34eba628d96c46d44bbaa659540314cf79efba449a39e5f11d4077c014038af4fb79a573cffad0e682a848f626d69c2811305e9a543ba24f075d980c078a3411d0e050700c770cffdbfe018c1909901b810bbe06521cedb843dec30043308d6e188bd658c4908ecc3ea1acdbf2e9ecbc8f7101379152221822b8992059c0603003ac431dc99a1d4759c6a478a0592b9616c2e36e15f6a8bf4b519dcd573ca739e8a41ecaf5888e954c08d2b0bce07b226ce58014e1264fcf5acc61fdc875e3236dec5220332915f50f9b00122be396e54cb11c5355faa52404012bd53feaa5512620ade3be2896af46fc85923338e8f9836e80a6344876e3f020200858cf378f46143eea0fbb1db5719d77e727db2c6aab3166f31da25cef455f5659d88c40f1cae11b96d161cc733dcc77281292221ae681d217f415700bc21cce481c967844298da616c3fac011d00c4d68dc06b7bd40bef46efeb5f0c91f4737a065cd8fdb4a7123c046a2c63e96429923d48f38244762117c030b932367770681346afa893fcef9afd6eabb463da703256d9c57ce734ea4719cc54ff6dc618cb39e4520e9f48751e712348bfce75650da08f3e490ab5913c4dc4c5707ad205c171192ef17a2344ce32e1f6a17c256f1af59cd7358893a049e5328d35a1aa4e1128dac41d2421fc100022b4ef0cb56b76118bb8118551a9d33ae393f4cf86d65b06604a554dff9b00d6128117ab610a9765c0f2e335b35cb45f17ba2aca6a138a3539b0e9360780a4ad6dfe92603de5b3bb51aa592829db376015ee653102deb9c1d3713c329bf466bf757734df3378bae45a2694ad5d6809bf97404fc2fba2632f02aa61caec4af7a2aeb7899438e1e02a2e4ba4028f4d1d008e4d10e59c42f23662b60fa1fa1ac3a4cf18c3c20bacd6b8f77ce57f8ae087c66b505b76ca8deebc280601454f3eab66cf89e22eddf1a891a453fb069f7349021dac17b4caeac234ca2733e5f86e44ecf7ae8c95ca6d17b4e12e32da25d0401eab49d37ca8515dc6201ba5e0b36dadb69980368f746aa550c31c6ce3d95e44f4211e12c6ce6cf77a82ebb861949ce582e86daffef15efc6db3c62349f29ae0b56fde7ce79048a1e39aa65d97f0a8e9620d02731bc6768160b99843d9771fca6a2d099e610ce198f49b68c1b36962d9be17473623cb77005b04b973bad6827ab058646fd12edb38bc67967a903bda855417240634a0a54e56cdf77c72fa4cc3f08e0f6888e1cd844bf7ba63bff0eb87ee99721a181c1657ef9625e8ce7783414fc68345731b1cc4f25c7b180417a44f6fbc5724f27746f112d59abf27cd0bb25c2e469f0acdd8357e273a00648815a8b4403e070363f40870605846a54f2a811600749fd00153aac1d08827993995fbbdfd04dcf8916d050c982abcb191e1b5957d394beec0955918cb9ae6b585b9ed71a36c97af36fee2a48bdacbe114f82dd6e7837fb57cbec80077a4edeac42bdf22eb9ccbceccac371900376955566aa70bdf266d8f7523ee31d9ee2b6bb35cda64dd1d1e8ab3943de4e9b76e9c0de60a5e77f3549a7fd879367673da9c93b6d768cd26dbaf3f2b3d18ee06acb5f3ac69777cd7158766596d87d37f24978e1fc9f0dbac5abed7fdb1833cdaa4bcf59bbd11b3d0b4173c49708cc9d203d72b67838cc5cd9db5ff5a16bae3c476264b5e9fe5c5c6b5d1c8b662b5d8fadb3943d73541239c6187c8656fc79ec7a6458e8d8d9e3e68cb0d1f770c6886a303c670e9b1fab5601e5163cc6d788a25add0002fc911b3511bddff336f5a4d6cadbabf6cd94d7bb2389394fb358d3f7a100370a8237337dd071b00bb5698c51dbb0cc793c2f3eb589c33f0b01fa3367b3ad110687aee99dbe5326e30a2f11d6a4c8bda4c1fcf19f64a5e3c58037fda492769ee8636a231e6b4c0537ff18d678cb54af7e1a69af1a80c4933e2da8f9832ef87ed730766ee6e3aefda8def0bd7d9b792a3b79c018e4fed94cdc0aa905a7806e3b22a573cd6871f71f9a16309fb87d03947ee33e4e8cdc5d4e1b293cfbffdee3aa18b23884c56985e7d99b5a701b8b7951739a6ad30c6612ce208e960043ed76ec7e3729c6d845db337e7f0e646b36f1cc88c9778851394bb16b9be2d6b3ad4b51f3460aec8a2b9d8a1a33054161b4ceb0de83cdae45bad6399de2c38ea27ec6324635ec7ecba87b9a72bac68eadcdb2513b746cdffdc3323ea1cae3bc73781a1cbcce6e0c4a9e23fd6f6e3f6ec3f181be493f1d5bc27dad2e0addc45571cb7b6413212a10bef61254dbaad461f053a58ae3f3e5c0bd6b09d76ded2f678424655e003eda5368a6319b3ad598b63316bcb0f671a45e6f2ba7023cd9759b3117866ad0e34e7cadc7ea15913af9b8b36ec241ef6fd62369c70209e65374dfe6986969eb99dbb59eb719ee0a1bf4d4fedcca0134f33b4b4aa5e45ab11a2eeb5cda5dfd4d8666cc363411ec8c58562851e6a66ec6698a3dd6fc39ec5d7355b19b54d1e4f5babceaa493b99953768bbe66ebbe49827da65c4666c74b2adefdd381af82fc981a784857686b0b911d89ad4c268c774bfc8646b2c6fd7ce2c915977d8079eee6cd10da4b5ce58d5c801e0a3be1c6c2887e4e8894a57493a7559a3b760a7fe2f95d1be26edf06132596f8b1ecbdb9681ea889769da75cd0c445f6a383d2c7b9f705bc0ead5ca185b460cd6312b782467594fff3a8d9c0b7662e000aced709b615c9b6f710d698b987495c5db8fe8b0f19c4d1ff8d2ed93b6f678392366f5d45b99d4b66de0d24ab7894eef246a829875559be8de37b789dd76e78cfbbba6919d792156cee8c6cf78aeac974c6bf2402792ad65e359a998d85b270c676681a32ed29e761f6e224dfe15648ace272bdbf9d02b2fc62e937705ac7147135657933d57dcfd10136dd3243b8e6ce2d468f66277b3164a72ed99d69657d344c3cce0d7a0ee758a0f50aba671e6bd8930037261464b8e073c6ab783f1ad6735d37bf88603a2712763cf458f36443d8db6a3234c69a4dcdcec69efbd49daed80f32cdc1ffdc219787f314b1948030c65c9d6b647b1f4ce1f19cd5893c8bceac2ce32b626797d44ec3ed11060f89158617ef6d1a7cd4d612b6dd3fddfb9f0a429318ab5673ad6f5e7b2c4fecd3b6e6e2dad65589b8a2ebead7c866834717cebd8a6f696155ff5340fb4da188ffdc8cc7d960ce5618ef77c62fbc3d8dad6d0c1d1db5d24fa0efce7b130aeab76d8b0d8bdd3697ac9465ee591133f6697750ee4f9d8760eb1d2e9e5a4dda67c05cd2e18248fdcb14b6963fdb0d86bbc774d72404b4c6077c5ebd2d1ecd49ae1c41d037917cd629bbaed7df4681a1f149954bb5bd8b61957ccc2b937f93b5c64a98700428f973abf64d8d60459bd8e64fd9c5b3e224ede35cd6b32a81957bf763b3b0e0aff08ccb5e166878b1903f0b69bfe43c4c8e3e9b75c30616a0980acdadd6739416b98332847b8918371b0ee595803dba5d9bf7336e47a66460c7827e0a9a5145119e044ae45d816ec8a8fd740963963e4bbe47216dbf85b87b64e1ff737c108a6681816df30171933bf9b5623c6466eaeb557686f94a3e83e865ac5c4d76e5a3e7b0f4acb3b3e455bfdb0e849f7731a71ca05b76293218d6681a6bc4372abad866156586dd6aa336a9bd94ad70f55f6dbf8cfdce75fdad9fb01ae6f3d6fd57069dcba3e6b64dbb97fabee976db64647988bf04ab5360c7979ce3932decd7442af63e9b7e8d085504c94396d4b1bce3a9bbd0b97bb555c8d78cc1bb3954d6c3f460c09387a44e32fdcd7c6fd9e9708bbafbddb47b6db8b1ab69ff6f2f65ae3176c67a6b6156336fad2cc83ac21fb598233fe6774337359c9a8ebdab8ee863ebd762e2bda986fb41dcde4d4cdb0c064f2ea416760d3aa379ce4b9936f1023f3ecbc39747379c29be8525c78702a9b1e4b45b3d05c90bda13952d6aee91b0b5bec60dbbdf9f7eabec52c6271173512c6aa7d6366261f0696d50cd1388dca1d6618cae68d54e79d46fa1706fbd06bc9c6373f88458d0e48d1cc0627ffd0b9308b7dd27d07d20618a25971086e55de31fede2136fe807fe012f7de45fbbc323c146f1f9cc1369c93d5df719b7435afb057b2a5cfbe7bde76965a3306722ef758b4c1456a677ccf844fa71d8fd66a86359d65794764ff296b1b653203c368d43d663619921da69d43f885b3ba3adb7e52d7baa415cdf2bcc69d9c16dc53b6b33fe6cc3aa7a1a04b97c4cfab2b1acd029840d67734e5367ae72dd31af7178de14c2ee60869e11d00deb79d1f6fd13ccf75e62eadca4562d856b285822330cfd01b2c9fb8258f92e37097beb3ab976b5c030cd7d4d44e1c31f7ec91c427da61780bfff0c9f837c00a1b0a5efa504fc74c0373b43196afd814a635a61d6aab2fb2e5d43f5911e698900b6b8d6fd08a8f3c8c8daf357f6804a6cc5e377b838b6fe3325973465664d02c4e4cfe8e1f206b86d5db39de2cbf31c19e64d4efc3379ad91c862e43d332fe5cd8760702ac0a010c0501bd5e699da53b1726b3feb580726eff3bb2b65fbd12429ca1d4df2cb55d42b99ab9eb96bf055820643002c64689052a030400b42e96d407ca579a7a49d5666b11d055ae64d580ad631a73e07ea3fcb268f5580a030067de747fe02d511f3fe765703d722dd69b44b670541eb00928333a9513e6dcffb634dd8b349da696ef39e84cfddb7995b024c4dc8353ca9af3613b0290ab619fa886449be30fc38e9e13c74ffb73075ab38c356710ab13015a3ff4c6f0c06998015c09ed8ab64dff29d2b452a40db962d0798d980a86171f21bb1fe215d89ba3ddd67f4360acf6637be452fb50a9bf5d5803fa8f0e12006e1a51f916a25db6b8155dab1bde68d1037853ac52ccf9a494562cdee643af08c1320602005f47f68403ba17872f691435ddfba5faa150a9f29045888a3375de914ee9413921019c87e87d88aefb98409641b05969e02c3042eabb631dc503bae18ac71560085d251597c98067127e29ed4d68dfa604cafbf89fef5350088e9ed42f9836a708a95172045ab327cfadd7660fdf3cae4c35bfa34e50fb2ad5dd945b03642634debc651cc5289974dded639c86744cf89c3ae5b5f135f8692c362dbdeefba6b964571d8b96f57c7c0a9bbc14b41bce2a8a5e40e850b9c77e9ca517fb900cf09bb316d57c64ef8ef7078458c15c0568f545ee4e1dcc25812a3c47de03bd16d47f00b78082a39702b9d15697d7894bd677c30d93aac66f8d5c06a109a4a11d00c3e17f65479ea24091fa50c5c8717722838da3cd51aa61ad787263f93c952780a304f562b44286e71770cc7730340399ce2b3089603823c132e41e2253ce9bc5047a1b1f52de3b0261ba00717133f08b5d30701b33bd7d286bf53354217a15a05f0a64449a5c7b08620be089b5536b2db6e0414c9c3a84469dfe30e232f05f357b3b0c0f6f1aaa53dc25e3402e32b771d17ca64f4ea7ae57f26a80e13e98ef46027654df63af9b43842f51c85661f24f02977b864c57c6293fe84d1c53acd1098a3583a1781351fa777d793b5ddb87ad8a953f02cd2f000026f0a759b25f0a9372924f70a70ba20c598012f39a0da64af6994492304cd753fe4be0b8635a1c5b338932f289a35b7c24760ca64e57ff7939ae596f31da4b4da6c561844fc01d7c27b059cb76832ce89f8e390db544efc42152ab8e390dc16bd4cb2432daab536c7770418dfd74fc319e640c9b846ae1242805c849f137df7544be5ce886f88cbe679dc7b60779d21215df450c0300a14cc91911f59f8c83ec31e008b09e3c39c386536f658b36f39e5fb830d6fa745b24785747f0f87c6712963f111e44f33d0670be6cb8c8738c37fb0e0800b634956319fe99bc5220dc4f0e83ce79873202ab936115c00c6585902aed7b60ee8c858f9a6872dbe233756cd22f5bd22c9a7f6e5e20e38119721e15055e16a9424da5ae0114848a5c07c46da0f943f28fe8c926328fa0842c241cb7f541b8d936fd0c3292a68f2dc45e1c752b2fdb86419a1bc217f6505b21114099ca23a6af893436417d7c87f00e92067e65be56e19c05e48206ead27b5d1f600b161a00c313a36f60a7d513b04bd58d362ed66bc4e633f6ada8b18bec5cb56a37b9f9d622f76b089cc73e842fa1597880803e2529b66c0cf014ab09c52e454b0cc72460f237e0d00790a2b066a1f5752d00599a032a39a90a7234d48b21257b2346a0b15936f998f943fc31d879245b6612bb9937d16f9a82a663d5210a7f96ff8ee7a9525ec7939c56af7d4c272b94aad38a674d09b1a44f6de4399410da21ca91392dd8c069131630dfd58cb2dc98f16a15775402030026d8754eb8c042461605b35c7645f29bbc46a6e3d410d88f0ccc7b2615f9a4dd49b2f861045dca7557b022ca8b36b55ec87f8857408907bd5da6fea97c8747eeb0c2862f83884407f176525d13bb38feeca37e926f1dd05ff198515c161d14c8fb77f14c84a4f3608aebabf2e78e5cea852dbd75b531f2708317dd007b789aa275c820cc02c5670fdd842ed204acb16717e5670552fd7e419c1d9ea75fb8a64466bf904d23cc7e6a6bfa4cf58d3811de7f28862e187147a17266965829d30d820ed1e097711c0a1d3dee9967754f40cabd5b4b0ed3586611aa157ed7771f25cd933eb6549540d576915359e47f2ad778321167b330eced4094ce78ce973f863108822c85d129683402c8660e14bc4df6f57acd016935b4185b06139155c3aad4d674bd6845bcf3748cf5d47bb8466510d52eaf69f26d42f1959d6c170ea8b76d54fc7806ee4340f0bedead4b0ccf23b0e684a149741f36910679314e5923386ac36cb5bdb03e36e2343873353f4a7b89545f3110ae564ba54b1b721d3b46ae5735f600a819c138ea057c3a932dd503e8c51e19a827b4318a765103007e406f41136c33379f4a97b69f2edd6228dcbb64d279e1669b46acb5930b8d90a26ed72ddba10a8d4f282c714559c2c3619afbc9f9bde77436731ee17dc37b49f4d27005b737e9d939404b9f380007b0d8835eb79cfd8f4c1a1ec1f41bc429085db6469eccff7621c11a04afeda408be5d2fa75233aab8da7973c421c9cf2c324f13d69cc530d8682bb05bd723333e33f2129a4aac8f5117bf3f1cc84063eef7a0e63b8934fca367f1a2cca85f6974af04b6f3eb3a61ecf59e77cc1b0628c61ccf923a9578fda822cb99f2a49ad6452f9c0110c05e7d28a192a6d385de7a58cf52060ee4575e07a562d06e69b55e0939fcb5606444b04ed8244752e33013885fd668084ef6a9526dd62b304cb552bb26e95f915de8bf68b55ea611fe1f01206d5c20c8ab56f29d5ca442cc834d22afec973ee97a76cb829fef9fa721d37f1e386338fba44caaefba79745be602e7fb80d847da5f8c622be20698b0113eb5ab040c81d63364eb832bb40d94eded72325159b233db62ae0ebd8994b50eea88c8215ede05ad8ae31d01bb597f2a9331cf6dfb6ad67f52b9b7e14af9dc28943f58cc3de8017037a3c052a34c54ad97a068b4959eb9d402772f453daa83e4156e5316b0b9338c7f10eb92ca45dc7ced89ca7365b1895aafe56953a40575ce7c2cae072cd4f16d13be73689557eaa1f38ae58c851bf2a95e09c66f0374835233dc3d7eef67b856fd824bf47c639da652c910f47dd6a4fe3a695762c0e2f33c511815b204b4977ce299ce5006fbfca5a5069a38bee8905ed9257821d780bf68a80a916c5b2c6733f09786911069e38ee5535a03f98d802b9b5d51b63b3fade1b71ecf7a9039cd76cc6f07a2df860760d532a04b85ee20d2d188612d521570d99f4a943f71c057ce409a270734f49b69782356fe219348533d9624cd66ee1b74ea9505806a0ea3da200c824044980b80600b300fe542863a372f5ad10013e68d6d1530f49d18fc00e5b45ca85162f6c260267ffe80342acc36e131c007de29ba657d3f761ee24d7a1629c8e68f39e82fd7a24b002fb25ba907cb69096216b3006d690b2216a8d7e053c36c47b07a25ffa8d7820fb7599e459ff59394516c156f7a116a1fc712e2c030b8600b8c047d51fc1519252053fcbf183ee706ae67d04281c16a14b143ecca6843cdd178630e1f230d907cd5822a508bdf88c16afb82510b596422e5049c3a4538e3cbfda0a99254602c10c4742a32e029b601e623ce1d01e88431e32a09b912e946f069e79ed32f623ede851e02b228b40dc2672c3f8c29ef989f00969f38931e045c0776df1daf95ac2cda8833ee50a9ec09c302ae2ad33022210477825e33ed8bcd926f1ee1a8536b13f18f9bfc9d069a45c336b2148fa06cfd9956be4cb7106009c4ec8a96f9a03cedcb4829de28d0a0ca9f3d71026b164ef932f515d964cd84e557df35e092eb6f00abae34f7c179bd49bd663412cc7535e49fc55601c7f40093650e48f184534a0d62bb8c97493ae46952fd46f524cfb96fda91ca01407ba813dc7b252a994222cd28b53a335a923d7b4a2ad61fca171b7520f16b6e62dd3a05b02f0e27da2ee028eb3614eb70782314a510b80eb9ad18701b38914aa33ae241ea88310dcf4bf6b13fa69f741d2ce4097d0072037a61baf299ab16a74f640fdd41be76da2167c060b9a0d156bfbd1adf2cb75f7d2696f705623a3e6e796d177e2634e6a6077c3c2d0c5b291af4f479bb264394d42dd22b891fae07d3742d86561a0576ff70ea371dc64218fca9d81a0904cb346b592a2da75051bafd7d5722a02b8404c78150790f008a2fd452ab41e9ad58339fab54632571f8af1a36df5eb7e356a44235ac54d21a8d8b275f264ff878c43feec76c4b56a6510aa0765137ae63bc62cbf6807a86a24ac423f4ab8857a24d90e981e2b26c1ac5c8171ec9b3ed86aa966414bdd7758c3477d0b4bc895807bd04b6b76034e359e4d47d08b1f69d4ef7db82be030cdf358e81ea6914899471645b1d4bf3db274384b543640f707bdd290a0200ce275ad2750a7f9580474cf4cb74e280c56aae0f69f3355abc19bb14a34b16df2bd91198449dd31f3be60faa46f58eef9c36a6d0bd2aa20b27d9c5112d3a5ae50cb781764eda45edef742d8935404291179d2bd4419b5d050392cc6a2fe123bc22d4f87d434e5013db4d1db104ee952ddf923ba90206ba227b146d9b34a96074746ac35ed5d68112bb9ec353bd21e4a55c67c0d403828698551f78d37a13d15ea874cd6c14848266f18b94f69685a78b4d878e4ffa7d0c7c8cc109a2613e2001433c6f7a5d12b029ec13f78d9c2982a14c10882c88b861ec714550bf4f4df9818c674d34dce38c706808b311ba9d451fd1731c95d15f077409c46223d57c4baa039e4955ae822d01acaa535fe14af2773925d7a2f8943c8e363bfe09b26d18ea447738ac624dbaa550c2e6610c018ed27d081b8fc52730470a9dc84bf1fca70ac086fb19c20fc16a569dc13ef264dbd160af5733f6fe6fdc93f049dd27f576e65554ffdf060151af4d3d00c93060d729d1b6ce57c0b25003ace994e13e03078ff049c08c375dec39326d2f49a22226fe839c4579849742c82e38a4ac5520b67edf24d4df64531cb9576e1778339f4719fd19a380421db0ff3a63cc3ae93c7a87905c1ea9471addbb714efac46923e6dc3f8f3a56188cbcc26dbb437c27ab665702e4512f48bcda7e0e4f124af367729e076e16903800a931f4591b3b210000a6792246024bb241f879d094f5eba21fc82881e835a2d75902bafb2e1d00008c9aa5cfd30ef478a3ac8de6f7647e3d31d904943e756c3be990767a282802ad60eb58b18ec20bc9a4fdd837d32d460910c515ce037781b7608af32f887226795ac82585477638c1e47ad3f9a22bee753751ddbfe9808b27ea08613ab181495e065f08f20139ebf9b0439c1dc61fb47d663ee60f1f9fc916fa56987a2229d454215901cf78f69fb5ccb962d27358e22a83e1546850292ae14b32db54bde49b2d24b125943d8821c87143eb20e33df018bc871fd029f9643b6c853087565d0647a142fa3f988215c56e8846e96e4d10521a1c0aee0c480b49aae28d1418396605181eb2383c3b94af1fda83ec882cd7262d933b14d779488f37737e832ef966b4c258328d18db7f2733e2a0016341711aadb4b74511146b0816fbfaa26123ea6f5500abd5bc5ab15a7e89b15c95331f080cb5620d0eb717da10961aaa55fe343f08a841f18790ac4a292d46bdc32026244920e73d1c8f58b1ffaa9b392fea10b965be1eb29de97746cb28ba700eb67ee737678d9c99dd6547ac551cacff847a3a6be247cf0ed664b0582603ae783a0ab2a3fb449ed02d5e90fc84e07c0aee3d48987ed0276ec72f27aadb0bfd23d2f3585fea93ec86556d5f9fce24e7f86562244dd93bec49d10e54323dc26b9ce6c21bf4623ca9010100e8d7019029a884a03e0373140970604c3ca92fae9a10b47f0cfbd2ce1c86b558b1c42b8c8a9c6b0eb35e37b8da869778b48170d8353ed9a657b02d77d7b78b5e9f3d38ba2f3c4346ef18603b6ccd3584833067ff96cfce3f0c331534dbf8d2aeb4e0cab7207bebb67173cab238c3e1f146bb6553aff89eaee9c9775b87d670f7aa2573b9872d2cd9dc1699590bc68fd54823b0e742766128b0c316963168b62b06b15e82d0f35ad3e8dbbb0cff295b43fb70935197b8856e74a417e35bfd10566ab429cb45dc917b3ec886debbdebc2e72b032d34632a633da56edf140b3efc9ba97e582b020f7bc6456e75c1cc0c80efc219ec86ba690b478b27c2e8a49df65db35b798a7d54b263c18c8c2d81b18e7823770a6b39098b4d9594341de399ddeca16dcd8cfc8ddfc5bda0a36dc224fa461b6e3a1e553b822592c57533e09fb3a9e57ed65926747df1ef0f681ec8fbba3436b31d5d52c9a8ccccfca6ff9a2a70f9ee9c374e0ce27e76523b6a165b6ff921badf8d3185c7fb94707bdfc0ceb866cca1cacf682b5336e716b73171bbab0018d8cac6df06d1751dc02b3e55ec9e890dcc2eddd577142fb52e50d28d6b3f73517dbee60b682d5a7839876cee636e0dbdd863e5be8db621bd09407fcd3d861cfccb7d095063825a6766d7bbb8c630ec68081d924333e318ab15a64638ae811de940c28237b62c3ef3d0617b16c02582eab61f3e1c7ca1633b80b6ce3fe438f78e64d2cbe13a3a7dd9c01eeb6b3830b8cf9c19e8f6e67959737be862d5debf0059e242cb3c9a763e4bb383097358ac5077eff8e7e6fc74ebdf67e07ee0e4320ec3bb211538d3368563756003f862fb921f364b811c359fde06dbfcd197c1e619bf32d3d87c7a73b58c8da1ba04396b27fb653dc413378359b26b7fa711942c75359831ac13340c345dd92935aaa2b62ac7ca1a46fc1f38e74fa76975cf16add72649f81186bca2f6117fda9b83142fcd70f2daef3f00b3917ff19837b7ee8209d9ad69be779f8cadc9d0cfb1a75d33e4b9f63246e88ce7c7be09d1b3276b20c47aedbbde98e69ee69a017a777c9280b4846884ee60662fc5acfb31999f3b6fdf4eac5e172200db6612e8cb010763699716fed67596cf1681c7c5996e9c038b57122b3a5cdd6639b9a79c7e20dafdc6d5d9561a8b349e88eeda07d332f17dfa7e52cf8b6b6beb64b7a81ed6b56336cbb60c7257633679355ce595c788e1e6bd4d7423233948995779905a691d9488bb07b26ea431d6c9dc4dac7d332c8f3dc3c404379756cc8a788d1b1d76ca3583466342b6ec4cdf9e023700f93a3680b4777b7ee1131fdcdb0d7a933308a53ecc5c186db81b93b2d5c7de162c6ca1c181edb6dc457fe3cff4f3c8dde9596958d2c9b453bf1f9bc982136bec5a9b1346f62778f1977b5e3b0f7b09146b2b7038f20f638a5b266b762e669a4b3239e74e79965463af989533953dbbf8d53ae5a7a3f039fee717974e66ef035d3719caa7167be398dbc05db2ac3899cdf21c8d52f07c359076339e2fcccee7c86732e7ba6b198c323d9e56bc6f8e6798806ecb9b1b4e63eb6c0890e63f4745960a6ad667ecea7c0f1068cb56d7b719d9108cf83c3e6f11618a4fb921b77c9942d26746d4f9c52db9aafaed8e80c62153d849b1f01a336df129bb1b088790987764d0fb07943c28c3faf275d616ba42fd9d2608c8566b839e4164f7ea7cd25d73054f7e91f252b68abea6be4ce2afbb5fab68fbe58260f94d2adc9b44b89fd0ea64c7cb8ed48931fceb82d2c791ddaf5e4956baae9c21659d1b03497a73ebc5cdb87bfd2bcdc0af0c84e2370db11b3dee6e4fe172cb4743776639e9d9fd3d8e7a096dc9d7ac597a849c4184060b5ec736e13bd7a3e8925b76326ce924153acceb1d672b36af4943b9dbc5976ed745c471bb4014dfe8abd3297dc25ede8cd70ea47ef8b6161fe4cb1896d3b5f3406de971660d3a58c3e13dbbd0e06660c7987cdcb069fd9956bba8cc7f2d0ed82b680296e551bdbd4b9334deec03ca4b309994c33bddaf2c98bbc06af7f19033f6bb608a8379b6a8b4c64652033acdd760c437a20319ce5bfce2b77742ed8d67cee966a5126b1f1169bd26a7f668d055d9b6af20d5c7204862ce214b68f01edb8f6e96d9d730806d50ab77e7bc3df3106cc33e2535ef90667757816b871d30569c79e051d688cb3284371818dd5e139acb6edeae19ab459b801dc4d39be332b2dcc98b4722aeb1a78ddc42adc075f93b63ddc09372a5978c22cbdb266c7b885432e9db197d875661636eb6db8857bca2f5cfeab5d8f83edd4622413df555b7123aee1e5d76a67d8f15d7e66f01e76bec5e80053adf26ac39b75a64dbb66839d6f7a637600a679916c78fd0ed41d3ac93618c931e7cfb1376247debb602eb49966abc6bb1a9ea3e8ec969c6fe309de69ce5dbad4d04d3cb59195c72ebb8a582c5c8443b579c3910edf7cf60c60bc7c5870439e95e0218ec13bf0316367da6dea731268e697dc53c2a433f1fa5d8762824916e86d6d55719b3358b3d2f87b83195b199a30e3164b987240933d369518742546efb6f3b7ca6a46edbc4097303fd7e1cbe7c5e87d2b690a6ed9b619c4137effb01ad9860d04bb1837099f979b0e3c63fb7d339cce49ae3665f484fddb6f6714832dc74a701fd4261d59d39916a145998886d08e316baf98d1eb0f6665771af39c33f1001d77536c1bace584c34fb77e62a3a9ac8d7733d07c0fc158c5e021b23c7ca4359e80576a3973db1a769d8d4fc0c78369df134370a8c9b83ad336c910629c87d7821bb8a6f37d3a672dabcfc4db9186bd66271d331b32eb8051efd8fecc8d4fcb2f99c5e52e4c166fdf699bd93f2137bdae7b6593993fd4f44bb81ab10c7b2b30910ee192019dbdd8627b1a4cef4c2f54c496e67b39e0f61886dcd0d9d959a5ef7c55164f70cc6b7ee9d307ddbc9e0dccc98e9b8d218318c60c0f0693ce39dbc9c8192b6dac1e5d7d7bded5dd6dab2e1b6e02f6e3b898997859ff8c275dcadee7cec4c531f3044f4ca6969d1d98cbf0308eece535d77aaec339754306f3c3b2a3695edbb3efcdba13be02aeace1f16e3661a90d99c78f16bb627709eecd0f995a6e084cbf5c3b114797ad9eec649b9ef0f6d8d81fae6440573e63dabb631f0db03393dce2dfd202ec4e6f628fcf75d17267ddb0631abbffd2e403bf72afd28e3769dadb2a2e99a730c81b879d93ce97c6ae0dccd46a2873499cb778c941ec1d76b9810b976e5fa6f11abd374e39fcde186b95eee81d7ff4bbdd38a77f86be9ac3e18f5ced1a9872f3a6be8081c7e980ff0636a01b86b0d08995f6dfb6f741f7d01b90e7c5a6aee83e9d41e6afd6f663453fb63fa3c50d59309ffb412c32302b6e39c3e4de7cfa30a03d987177d0a8c6a85e9781316c0321d57ab79659d9e17397da5a6bdba6e99e98c40527a7472d1aa113ede999ad3c20373caa83f5482b7ee7e1667dba56f48ea9cdf77bb8a1339f4aafcacaee1f75601017c5b4f7e1563c0c74d4c2c8e532e7de1c639760c6e1f6cb43cf67d393165b2c36b975de834b60ccbcac6b2be9d58e3fc3e05e7bab4563d3fde233d20fc399cb115c96b954986733dda447bb1acc8cb955776c4b5abde4c14d9822ab8e145e1eda8caec9c83df56c77e6d1f1d5ef6b0d57b1825b7e35d8b3cf3371fefd8d31e3841703b7c1088df8921868abd57894892d6117666eaedb076271376abcfd654e31e94edda1e7b22c63c3c8df225bc18deebcae26226bdcf3bd58d06e72d55acdea976deb89a6763447cdf36bc40e82d989b4e958b70dcfefc46228566099766fd6ae46d6eabc636959c3b4cb0632b69d388e7d4cfb3dafbb16b5be6aeedfafd1f36d06ecbd9ae6c69a6f33e3f3c10c9901bc7127dcbaec59df809c22b76558a1bdee640323269bdf74dff2fdb3ac55bb9aafc4e697d0765cd50c6de281a53c1c403c1626dd71f8f2fe785332ec660c38d9756106b7c87e776446bafd9cdd2cf8c119058dfe8ddfdd69ecefbb3ba26facb9ef2c2661176df0b8de627d3e902c17b7fa602da3df9bad36173b84814f537793f96c3b6d0143d4d44890291b178fd99595a3f324b5c8ac4e74306c39f999dfb641769e70e10334dc666f4fd0b4dc5bd2943755379869c5b937659a0bc2aa7b3c24ad45dbb509039fd53f65ff27002b08382b5ed0e54d963dc8191cd08d5a4fbcafae609f437eef5b8d3b36cc2eb6013bad0de6a0861f5bb0a531e8f82d9b6c705bb37a6f6d513a75189be0a5ca6b02195ffef79765addb8b75c42eb702b5b7edad9ddb697e13b3adb539b65ba6c1cbc71abfe1c90dcdc9dd017691dd4c2d34e4c41f6435d75da3c67af19b7bf618c117b4f33c069fc990168b3868221bda3956775f68d683ce8fc17bb7450fb9d31d0b7eb0a22366edbcc03b33094fa1e0a8b97ce7fccee1cb62e6741c9ff79466b2ac0ed1603ba2771abde939612e0efcc2d97ac5f48107bcc8aa8a453083f5b869b8edbe6e524306b06c53c3d6e66dc80b829cd5b0538e65f3302aa821bf9f5569b0989531b813da42ee17c5b85c0fe85cd64b2e6efda8d8b5cd5bcd414b66f995cc22fb425edd71022b0d21379596dd6044ba4d8df6d5a6f77a8b3bb0cecf8da162dcd779261fd80d361bab31bb1ff5562782b7dcb431187be49362c4a6dc79bf1b901db2c1d6d8c03769e663589616f4b51ee83ed83c399fe06c3d274c7ab0ad34a65bce0eb0c0b0d5603e508dcf67b7a7a93af7891d7033770c62e2b5731cea04ec75b3b9d712d36fd23526a673dbccb9ec195b999d5dbd4d5fcae7b7844d0c1cd4013cdc5bea168eee2353cdbe2dc0386403aff99a317c5393dadcb9716b87d3c037c543c6bcecdd50cbcb1a585aacfd592ffb36788cc3d39f305ba616d4a2552d6a0bf765e3e4c41e885b32847d65ce624007763d183e6cf39656bef3e416625df670620666939a09f7503d116333b71d4afec353baf750ddce0526d9d9c7c216175ae684a01d8e403d693acc657a22eb6da7137ac309e61bdafcd89cce01e6c60ee46e359e83df00e36d98e8e0d75b70030dcbbe6e633b423b835a63580b77e431b4aa0bac781716b1d56538ab8599914338362b73cad1cf8c3958a29d3c67420b33c94dde625f03dd01e660e554f6dca3acdba9b566741df94a0b7b93750fbfe30b73b949de00bc2dcdbb0ffa526f78dd23617df8464c9cc9a7f57d0458f22d984a2c3b803d3dce56ed569bab498b6f8bcfa7777daec455a3fb5fbb8d9d6f339a98ab435dcd28dead34f695580ddb8087b5c514d3b5cbfb16c624cf1b9705bbc97ec37a9b874a416b5eec79fe1945863886250dc886059961b8dc3d4d749287e0866fcc6e9bef162b3a302b1ad11656c0d44358b1ba3354466e273e305b5e68dfdc4f3a6287cdb7ef57091aac6460174ee98f19988d5d7c000b63febebe218769647901779ce0b88398abef88e9d1d95dd8ca29b5c19a8fdffb42cfd8672b5cc676f3732edcc29a116f504b7ed8d90ddae9534257ab0ea25d2db28bcd2fcc367a2ceb066d928dd74f667ac125b3b4d47c8b4631c1e05178ff94e69e90053f4b6425eeb39165ccb2d1cbcfcfddbeeda7757bee7b779a75e74c26706136bc70e4bced8d3c811bcf08b31a8358b3e9fc3437d9daed639661510671e3edf6004faf585ace0edb7de57222ec15ac3972c770c18eb27dc2e8e506ae9eedc7888d99baee6df52b1c9619a18d756de83427998cb9d1224f5a8741f2c470aace901959c5c4e906c6fcf05d7b4118f8c35855f78b77c030d92d5b74b27ac85cf5d533f23e907466629d772e236f72211992954e0802caf293edb6afa98d76bd34c684bc410b678fd54573a90e1f873ba4fdd0b696e0ceae46b72b0f51ee799a66ff4653bf7094c3d8adc61c65e6c75c66bc8659c2cb518f892ddbb267f0d9607b175525d0314f7bda42edfdeef47f7d35682a35ddf0073ec65d076c98912ee16ec60ccde57556e8453b9adff237dad8cf77b1e7217ff4e0afbda543998a8b525b078d61a92f8c58d1c45b8710ac96c57852744d137d90ca18b3eb0d3c9511edba67ec01a3dc4ced4dbaf03d47ac66ce4d5dd434389c7fa7e1d7e3db66ce3e9836ce677f0c4c33243e00f43b008f88309d46c11ee03db86e70626c5aac050212f35278d155962e8724b1af104aa4257e6e302de66a12663279243135613bfda45f351afe48a6a9140a216d18e8595bc462284651acb149f895f633550f948a32877672cd70861de89140f60a8a8891c019b661a85089ea79830086551d002403a5636e021557b0db3d9f60883318c054ad8543d12ac5ee53bc979fcf2816c901ab829e16be50b309849d3b0f840ed240b70aaf0ef2450048f0470405bc69f7dc39d87f55be84192205721bf056b16b99412ee859cf8d3827d2eb89345926ca444f36adb9e3ea93ee97c6644cf7bbfd3328091c0131606b8c4eb30ad087cb6ead198b48b14fea5d762fbe2cb15af8a373711ac2a2cb1b8eb25d60c92e0d7142bb74fc7aef8dfbb228d1ff8af8a135e7348f65ec2c0bdd8840ad2d429653be66b56b11c989b3d75c06ea98a16b39c21f0ec2bc649eec158915beacdf98b3664a6f2d9c470174491a198cd73442ed049798a0d4726cc506c91dc8d51207ebce850174929bbe1bbc154f0412afc7652dd08a96ed09d57eb20b8b985863e37f84ed65ce935008c0fc8194324fa887e07536573c17c2e18cac160e671d901cfe83dcc36e73283bea868a6510e048d30303c640ebacf5399240ef6fd813b2c67d4858168e2ed948f789f2813f25fc23274ebed22b541401a940e9bc65b4de3e01a9d922d0237c4e598a2503ab92f3f6783f99b8e268f269c29ba41bfaa707db7a7c7aa501418ea7e616f23e979c4420ad169a5ba2e6919e4714f83f87d4592d3188b0d990aa10c6136e1939168a4cd077b920b80bd670c9fab15cb5ab0ca30c025b1fb56953d43191a46bb70886b25bff838df6f0fb5290e58eac5794fd63bca2ab06825a2a751dda787921622e098811869ea651142079a04b7722b65f15bd44ed1c20f25f3aea7b3bb83ac368db230cb42adc9b58e23f9e46de63741f76379e49444c37e6a03e2ad24f5a7c3e67294ff7a13fa9a999a212f692a79641abdd19bee8931f03912fc72c812cb714842d42eba29445f0703211bc7c3d420532bc318c384385861494d07b35e009ac08cb50dc8d4a93cb7b26db9236e52f33ed94f97eaa0bafbc080600e441031680984ec59b4685e68e377936b2bab755704320cbb46e54fd465260e32fd84fdb7a3ccdf77ddb8e66b3c810ac379087925c0435a13be47883868ea5fef19ab5df7de6480656af47f265f018a6f1598cedb92279e2eea58f68630eb7d05a05b1e95494de2b73cc97598931f5a004323301bc2027316f3144343233494a696a4cb76cb76e73445a7a644c4a6a6a4e4e6e68666a72797b8177790607200a28030b636c7383c1e8424204c248a209a251d218b257d0c218f643f5218e15ae7d8f7fffb63fff57737a9e6b8109da7341237c7afdf1b1e483b6271e669236b3cb32d68e9fbb013bdf626cf9d729c268bcd2271ec07152fb6c4377da33be0bbc5d9e628a0e4f36368de62eddc52aa66ed1bbd98b91ade006c2ce1b65e5a9f55d6671bbc9e80e57f2169d700c95e326b1e26c1103751a2be8b8d5f93811d9cdf6268c2bcc8f6d78769e660750aeccdff44e6cd47a4b3e1a835ff00026d978bb6cb447b2b71803b7e31ac60b1c01f74dd06cfb307719efda8c4d9e7d6db3b3a6767a6780180fbc937cd10d9cc40599e72dc79fd51dfd4e9b3ade715e72bd39616fdb978d76de620136c8bd8a69e3d67ccb350327c6f213ccb9d2adcebaa9271f44648dc90afbba5884c518900c830b5bd9cb899b3830f0ea56b5fbe8c54f5f24da2e6883cd9b8c3119074339b943669b27bfcb1e183d1f661ca6eac485a68249de601fd37ded9371d9a8384af6e7e2cb18d0c915da761b6b71e2534c07fb400788bd7581ddd9809f80ffc1bfea161c8e8177186c86e52980c3fba203ed31ec08ac0f62c953c66fbea0239ac8ccf7ac4ce9b5afd21b1b7792395c0633c0c587e2cab441ecd9ecf178d6d2743dbbbe1e70098b699384ad5ac9a61ca34650f6d824f3373a6527c934037d4f4eb4eba29bded98c4907f4ca9e5f636686637a0fc70e3dd79499d565eb29733edcfa77597c6963c0824ecabddb380c1332d6cbdae8e2323ddcb0190fb17fdc0f43bbf3b8ec296683c4361be6b3d38ae6bc7d855a60968899dbb6d897befece5836b4e4389ded26539e6190dd4df03dcdb7195e3da10f98d60a5e714ff49039e74423da844db7085758395bb2e35cc78e6f5b7618c7702c2d3a6ed8b78f61989ed42adcb9eb6c3ab35c1cc067ba109b9ee86d67305dc698225a06e1e3467a38ec3580c90bade7dac545b594ce3ddf404bceda9c53b5320de4e98067ee4853d8906b58ec33e6d11736831919d978c64ebe7120b3341b602b3b99bc33b7aaad2a4ebc80cd6f7ab7831f270b71ab9ec330d2f32946b0d69a8e4cdcc98ce7bf86abdbba2766f48cb2d8ca3d9ba798e894613caef556a3deb26ee42cdf46570b0799e9bbcf603256edba69e5c3cf6554133951e9e35b9f3688b9985d131866412e7edf1c36d59ced7eb6504e65667fbc7d90e3e6d1703101968a253d88cc119b0f9f88569f3823861aeb956c6b6cd80567c9c8add50b9a6f1eadc4183ce452f841b6c338f5afa8ce5e778b8cab1f9bc7e1adb57be15edeb9cda65d8dabd36ff313de11f4dc71550b3f60fb7f0d610b93d40c3dbc250d62bb91c1f5c33823a825f78ceeb8b72f8365f3d8bc8bcb714166b7fd1e9ea48bb1d18e7763f5c7b4b853c7620d0638ca74daecedd64ed375c21eb1a9c6c61dfc427f1c792133735ef0eabcdc04e43500343978950245010801b2b8a50108c6c0bac1c298b5a36582277448c74a4d0ecdb2ab99a10b7180b3dc10004244458e47484b4c4d4e4f225052545557615051026265595b5c676b6d4b6f5416177074751d6f76251db3b4c6c7697576c13d046355f05c665f616568696a7b9d6d859f717072737475788283ab898a1c8b8c7a909192b8be731342084200014214000100011020332e3235212120053f213f2030693435363738392b123d28296e31323361656f78686b6c6d6e70737452612f637343b0632f6f759001466748682749494c6c4e6f505152534d54454c4d5a42436545466fd0d2d3694158c093a01144696a3739313033323135323334313635313833353731495649584943444d6976697869696c63646d302b222e34353637383932302831293233343536373839313031323334353637383932312e3233343536373839313031323334353637383932286162636465666768696a6b6c6d6e6f707172737475767778797a414453565758595a6162656668696a6f7071727477797a303a3a3d6a5661cd9f9f28363f59858ca0ba3f656b8296abe0f59bf9151a38415c6982b6c8e3d71feb020a1527735080f80f223871dbe5f1fe725e7ff4fe0b13506173c308364b2f348797a4b9e0e5f00828206279b3cbd4db0f14346b2a363b3f47595bac8489dce6181f28308b92767daebfeedbe2f33ab8be74cbf9737c367f8abd018012337f89e381f3fc0c821f6e72784d864088637e89d2008a8c55789d6470b3ab8e9bb0b59149c6ccd177951c96b9e8515e6269cbedf301a8dbdf9699aca89adf259b323c5ae59c9ea5bbc3cdd1f9fd0e13203b4a528d9ca020003044452099209a888ab3c80011aa02acad030405b0b1b2b3b4b51a06070821090a0b0c0d0e0f1011126162636465666768696a6b6c6d6e6f707172737475601415c7c8ccced3d7d91cdddf1d1e20222327292b2c2d2e2f323640474cf1f25758598485889192949ea10009db0a2d0b325919012959572803050607090b0c0e0f10111200610203050607090b0c0e0f1011126e0b6965ab128c09946d51036b5d086770282a68093e790d5479a18cb452e37c665b76014fc7546d11f34f555e8f7b323132333234323532363237323832393330333133343335020305090b0c00610261036105610661076109610b610c610e610f611061116112b7006e0b746e946d036b6709d83775699070e8059899636be6f33b9766541c33333333343434343436373839353031323334353637383931303183c1a8c2c81f627583ccccd4511a03f20c8d25849022529214a5a44ea63180f79cb20b363726df5dae131f5809c957f88be2ebe3455c24f6cc8337acee84be8773662dec874afbb3d095153ee03ec445ac8d0073d1f47ef806f84af52f09676aaa3709ee94fd935c19e111c3a5643f55726a40dc4af757b13e96cab33a4fc43568f0471b47fb4a5264f5cdcdc4d323d260139e2ce0e4d916541e4b4447463e6c7f7eeae787f2dd1db2137b04466cbaf75cfc122c8c194f1215239fc50b81a71804e8b998dde00e2104d5737e2342fdaf5957d1f6e85537f968ef31b2e44fbe5ae1342fca0dd6616c262e23f0476883b85e764152af97fc30ec03057b4458dbb6566bd9d66e2f8f9d9fda08bbdf677f63fce626b710ef691b793f1ab7f4b0e38d939ba4c13c271c9b8a8747c7a6e2e1d1716978786c5c96c23ce4d4a6d6bd21c641f1cf481adc4e2c360117309beb76fc7f02c40fdd11949a3e4c39897ac4d466ecc78a7f205cb63949856872651a8273602a4d4fa66fe1bea2791a508c33c2f895680ce38baad6efb5d7e065786458afd6eef0abe2f9e7f81c708e02b081f00004c0a89a1d08e8ab492ec7cf810c33c344e8b4f7bc9937e033dc659ea4390bb84df5276ca3a6eb87b41c2838f113557b3a4036c6c71582e4609e63ce7900cfea9f398f5625a8ac989bee12f26f92eacf574c48b92b7d1ae26ff47fa2a7d79c11bdb96538e917a1f4f5067b0c7921a390f5f3424b113f5e0be00e404defe5fbe5e9895d16be4d8e203e86311ec7f8c65c4a6bcfdbbc993de17de2616ad158615e1f82cc75009adffd83a2dd717cfc355a9bef6ccfed3c17761928ced5cdbb8bf3d942a8470ef38c30e132878ea81bdc4ff3afde9a027758ba203d82d05fd22b486f907a4d991c01d1756562fcbb48a8ed6b0083214c377fcd08e296461e7e9c307886ef225c08ba9d50300bb4bc37b4b343cfb07ff54e2020ec25c86ee07fde9cc4c48fb2eecfe4701a656fb89e47903c8fa7597f7d94a7bb255e3304ae3cc8e0ef4a66f14b2a9ec2d06fbcdec67a23ed71aa1fec9b7324eac6afe87506d4d8c7fb93dea9a1ce3e34fb8e28e3027871c639ca25382c13ae8be65bcb9cbc4434babc085e056890014c0c0022ce332c70ad0ebc0b89101b2dce18a2eede4df04f45e5f30829d84823f4f8caf34c74abfa7a5c0701a3c04255559d177b9b9f39ef1abd3985f12f5f3a57dbffb23f49adf538564cf4bbb1a4bd087692df98351b370b176e7a65370cfec7b5fa791ef79782b72bdf725bd592c68afb0a472cfbac7e3de831a5e9f674ec3d6f76e71484d4a7e773cbcc5ca97263fda026b778723026d5adeeeaa654123555844fb72dd18466240a81cecf67d3c3d16430e5851cc510fc3c4ba5e3368a36c12417be5615b110ea31312a0d10060584e120000480f0ac303e504792a439ef44636f90ccfe26fb666807fdcee280bf7b487c71c26207dfd4e90e0cea0c1dc407038fb0746e794f1a5cdeacc67703976f7004817cc456387754625084e935398bf06964a1e403661be62e913959bfb0e8b0dad8293a1f5e34eddf538a676487fe676e7dcac3e49bbe2c5615f8adb86bc3833068c0ff3b760cdd7ba46c716bacb1a40d2a58f1b8184e763d5d0ba0c84cb15063709a34137edacc765f70c6cc2127ce8c59638d91ab26f2b6e03c0d0022ce342e60af0e14004310243e832d228020441e37b5c92625395fdaca5b46fec8e61584a772bb4b88a4df8884f12290b601a440e030719050c859ebffffffffbfd7719b96d5c71498d7719b96d5c716da92e3a792768a287250cc2847931a94d19d3d388c6c8e086e42e685364edc30cb0ee3baaea0348ee31e436caddd96f7def9dff40bf17703ae55e3ff526fadc166ce29cb176211786e07c7f9965fc888602d486d2ec910326a80416812857e79d4d766c92d9a5ef2b2b8e61537ffffef75dca665f53185d7719b96d5c74e80d6c8c452b1560180f0a840fcc192d0c848d36c06d185488b6497d633abe4a79419253b7cc5ff3a6dc52823a56b2de6ee72fe77dd7e364d68f0c9933fbb73340b597672a709082f4090c9eff09df70671528f61cb344f378bd472d98ca360d2d1a9824fc9000c0d888130179cc53b93a71e78e3f6be30f33b6325ea481feb71e1766fd259c07b64d74d8ba068c3344d7dcf031b792a5fc397773ba8c4219e661b7d1006dd2de50febff2b1de51b93701effa77313ccf9acd4ff66af0266737f3ef9fe2059597a7169ef35f15712dfa7f9e4f87bf583788b09cc1800e61853352075d201011d81d33ebc2b09d458536100517413365bd799aaaf0c0920e9e52325db24ba0a1ca146089146558ad8640403003f410e59003d004000ab49d01863c716532cb1bee60eb7706e580b3f57aab99563a3b362e1dcb05c523c3435a99f1919989817169414929312931111909015150d8f8d8f0e0e018cd6a888482808c8a7a73574d151211110b05a6558504c9800b404f03b097e27c1ef24a84245403c38a01a0618aa0cba63fcbe377f35bde67bab7929345f4fcd5fcd84a7e9d91d5c4b5f4deeba7d35b36beef5dafc1c353fdaf6d4b326b7e6f7790286ab1421073798c1d53439e636de7893535963ad396b3675c75d894b1110a807044d8b591647f15115e3c618bf0df9237df0fbf59d14dec2bb028845efe2f1b62fdb3a2ca1ff4d854ef5f4d47e7a9ca65bc6dadce75e5eecdce7276bdce75eb3bf99dcea9d4e7d13775dfab272df770681e1a8c1f803c1968cc86cdc720a12402102950839916024b2240a0a4a92a4b0ac01006b72e8ed96230bb9733c05bf38f49f1b497c7a91d7e3b99851fb28df3259ae3fe8e11f754dcc9895042bca8f3023cff858e31134dfbfe1c2c1af062e416e89b6c1a9e618823c362eadd7e0c25478f84d959ffaef4c9dff45ec4bfaf597ad4210124a089c48021e7d213a4bc09ee5e9ba626670c83cbf65ae87d9dcc53b003d0d1602879af7ee6c7b693331a4e77c9fc1fde5d007d2e56fb2e17954da74ec4f74e52bded8c02bdef19a63a9273160e398bf3295bffe3db34efe9d7340bbcee88d633f9204a65e75af200c5def79c0973e83567843853b3ef4fef88e473e9a97fc5d9ff2e92fcbdf6a851cfe997fc06b3e0fd1c33dc346fd43ff286c02f91f1f7b480f8e7f85bf117fd2405e922a1b43e51edf2fa2cc5ae4ae5ca81620b716b7481fed871d1e44385f36ecddbb8d6ef6345d3e968c363dd2b5b28efd9a797ea8e7d2fda1b8edd3b8cebdb72d6fffdfcbdee3b2dff58f770daf50787b6f15b8dff3cc7b2ef513b80f7fdb077fbb47631cd9f861db72594dbe6e3ebdf657218faa625e84589009b160dc7d2973a2d1604b31f09c27ba3fe843ac393cd3dccc656132e8effc82e29301641c00d41a4a473344454920002c2731cc2c01023a3b16172e14135f5f7b7d141510110a0b08090c0d0e0f5b5d2e3a2123262a2b2d3c3e3d5c242540204b4b4c4d4e4e4f4f505051515252212753544827554a54272728292a2b2c2d2e2f303132333435363738393a4142434445464748494a44212326272a2b2c2e2f3c3d3e3f405b5c5d5e5f607b7c7d7e85860201fbf2a1a3a5a7a9e3e5e7c3fcf3999a6011a2aca6a5a90290919293a0cbd0d1e69953a366aba45657911d5ea96462609b279c6784aaab6c04dfa7058e06f87677717a087d7e80a8a667a788718fa1a298c0c1c20a1e6847664231010292939495969798999a9b9c9d9e9fa0a198a3a4a5a6a7a8a907b1b5b6b7b8babbbcbdbebfc0c1c2c3c4c5c6c7c8c902b5b8bac6c1c0dcdd04040404040404043a3b3c41424344454647484b4d4e89d95658e9afcf414a4b91555fab51b1272f48322d374a333941354231342a2e3036383a6ebaa16f472d363a2c44baa130302c2c322c332c342c352c362c372c382c392c2841292842434445464748494a4b4c4d4e4f505152535455565758595a145315434344575a485344535050434d4452444a7b4bb3b581e0a881f803419a19112a49d2a403a20c892520024e8494884c281249949c1494a42d1c88475bc742caf2bfded2e093fa0b9a982bbe57753967deb5fa297d5feaafd47dd3cbff7d1911258942f0dee63e3cf5b282388241b376b4ce591a720eaaaafc6dfed887f791e83f0f258bac822b40bf3ad9ad3530733fd75b8f3a037c12e0c2b432c3cdbbe603d6d38109de962388790a2e4683a43bc0971041a6cf7a68722f0339755e874eae39b164c849e64996d8564826c11929419206f7992c5ff37fecc848291ed3bdf51f228ecf8de5d6deff1785fdf0c4c78d9f3cc4feddd156cb59675cb8f17ece6fa646cb7c06ad3f354e98c3d68587c5d3a0d30f210ce62f50a587961cf44e39c9dd3d23cc0a617fe97dc455d97c37e11b62413d18cad9b92374be13cbee11ba12580959e2ef01d5ab062b492d6fe02d6cb626ce3509a0b4fdd38de79a1273d0bc542998d1b67c233dd0253aef6906ce8f08d871869f9370f7fcf0fbc0cbe4082477faff3125c5b29786bf34ec67638a9a73281f0efa68080eb240973851df1c6364349adc9cf875ce8548037b9b8336e31236123a3b23e5175d8933e4716e773673a339f268a7e663f5514f7e25b18f8f68bcfa9f8d23a6e97ae088e6524e7ceeafd2c28b39e2048d47c03eb63f6360cfa06b03ac3000042c4b625b538c1ae389a420217165525fb01d427da9f039146f62634a902df307708d817a08806e6772b655912c008c895bb970d776dd52576597ef53424a386373794416186c000bf41b380014b7100000ffac6cb818b9b074babb4cbcdc6cbdbea838bfc870c000c148c2d868c3f888c467740154aa40749c755876eca07734781c79b0687afc907b407cb87f4880d8c081708200835c845485e4cc868788b06489f4cc8a848b8c8c8d3c8e8e8f30909091f8ac92749394e878950896a87c970c98bc7499289a9a9b9c609d149ed8849fa0a1a34ca4f07ca5a6b440a7c4a8a9aaa454abe474acad38aec858afafb0b1cc5cb2ecf0b3b4b5b5b6b7dcb7b8b9bdbe50c0c1c42a7172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293949596979899d804162014dc0e06101be89c1c381dec881e401ffc9820342178221423b04c24e884250827982828ec9c29742a042bcc2c602df4882e1c2fb04430d874311408329ca833343536bc583738d4ec397048b0f030494949494a4a4a4a4b4b4b4b4c545094d4145151515152525252535326a054552c56d0b8575859e0c85ab45b5cf0885d5e0c5f5f60f0a461506263f0bc648c6566bc67680069a4586a6ba86c106dcc5c6eecbc6f707172e09073741875d08876770878c064799c7f16005005004190ca580098f23a041c1b2e01c4f13a8a3d000102030405060708090a0b730c0d0e0f101112131415161718191a1b731c1d1e1f202122232425262728292a385f524e76437336393172685462473045655f375f5f73746332365f2b305f5a4e34636f726533666d7435577269746539775f31376861373436376437306130643331613035452c4c34244c54242e2e2e532447542463376132333938663931323765366361452d5235335f632e2e2e2e24753230246173446562753338613038633437643534336239613761452e7b36394c81e1a881a05952d86b0ca1193104214423222212150f021188e11106cf13420c094402111191111111499224cb01679b075645a3b0a52a8805f33abeae4a9807a7e6fc62ac4078de19af375d422e73f5ebd4e8e6ad9e10ae42cbf4c292d061caa09aed39506b0658559b67dd1601bb3d349659b6ccb4969af8c8823af19315eac41ce1a14eac308a3a91de32ea44aaf0a813c97ea44ea464943a91de5bea447a97a913e9cd4d9d48953c7522d907d58934a2519d88b6402eab82aa13df51559d988e6ad58915feab4ea41dc8ea440a37ad4e24da6e752239ccd589c4c1ab13e96a5f9d4895827522093fac1309bd8c75221d8eac13a9a2659d6877818a3c03ad13bf4f699d9821d53ab1fa5feb444aa6ad13e93ab74ea451be75223918ae13a912b94e24e8e63a914644a4eb443aa4e6de7711ebc15f3937393eac429109e05d5f7e03d316ca07dca927f8c40c7d227f5134f2302c77715702911dfeb109e8c47fa89775206776fb655f494fa8036c1b5906d006ab8573f874f964532bb87f68e402e50a77b2ca88ad51440a2aebd535a1a24c0518a9b8a3769300fd400b362828c47dee29a8a013e226425875a32983800748a5dc906e755b16ffe2ed74208c77690819a2a97738a2d47719a6893b3ca6d47539a2c4bb3c26d4778407d22fa24063a40ef19de232819fc757eb9ef673b14e77e79b69ed06dbb5c06f91d5cb24865cdc074d486fa367a42b3f04a1de9c4fc6c925fcfb3702a47e438066c23b37e0305a14dd82d066ebc631e6daf782834fd02bc969eac50bccef287437d207461e878a392cb48c98c400abf6afe5558d160ed376d7802b5eb24eec3130e09b3e6255608e5e72128fcc1e748483b916199342174a9de17f812a7a46873b270d1567e259b683232044320f32bf87ad6469612397227f2c99e4f06f41c264d88cac0c280a3a25569ba20428cc6b82c9840541c7d37e60ca61e81458922ddd09c61f2c789d101868833182fe28cc824548f0fe6cfea444e89998bf1c6f9edff592682ae3cf79fdc72e37294b2fdd270203c3ae29cc0155bc978f9c28c6ed824f22b28b5925e1ef3b85bf353d02703059fc182bea76b618afe3fd1ebdd79fa3001fbe049c9fcef8de1d188c05d381318057584d08e366f19fd84f0edf26dc600a723bcf9a06f8c60bc6009aa3ed1dc9e6991f3e4d1f3426012a48ad374860684dd201ffffffffffffff7faeaa2200000000299d4e903663f695bff5691fb5945292f93444c28fa2f17b1f3dd5c6a6734a32c994d2247886cf0fdec13b7807efe01decd58eb8530378037b03cab239176b84f1b882120457069e357539db420018705c9bb6e94a5d0a8524c8c9c0055a3ddbf8e154c99c3dddd42362814fbda650d3a69583495460fba0310b2b4b05059e7d291ee9e2cda12ca2893bb8f856c54d2d34c86cf126296cc52a8e664791f7b3d23147a8120791678c592b9a010c79a6d851d98694181c29f93e2999eab55ab66bf1b7acac1df934c7cae16db31213f86b35a8a4d10b20e4555b8da6a5a4acd77eac4d13e4f5185a7d422ace7d94e4b92d5a26d57a420100d2c82bf5c7f13ac84def668127711eb76c0924b3ddde5051878f5eaef80e8be74baa6a974a6f99fa5cf18dd8ba6a4bd9d2d285deed9519ef144b20ec59ebe6c6abed7ab69c1a9bc6f62c5b2b887a5e5ebe3acfcfd32b5c8a9d25a266835e535b889dbb14814789931d2dc75458e9379ad8ba4c0202afda4987ad7835778c25924a102198057840b6c50e178e38608f3569c34a890f76a28a3f481bed31c48050f10b2f4db7229a0d50be505b8d991faa92a800063c53876d62c6d9716b1b5d4c9116707a9db535fb8caf73bf6664161e46a4a501428444b790e2515d5373900a6249eaf189185293d8248f5f37ce0eb57321954e3c4014ea52e2c3d0fab1847d430b3445b2b1c8078aecb3d031348f2de489c7447a6a4c5ba8c890891c140a250b275ad2bba41ab15ae34dfcc1e4666fb5c24295fc185241a562075287acf9f255e944c7a1e3931fb6342a354da980868d19231e793ded20a38671c85a3c408e6eb386f3daa6bad67636a7309592200e0952c48710530513af364fa3755e1b385e579d55d5b848f9d43ff263a6d3255fe29531b7e13ed8fcdcf8c392dad4bdd03a61e3f99834cbb44215ee1a9f38b139730c2ae7cb04bcd95ebccd6c551c9b10e223258180c7d34493aa58611acb244384868f343d0ea07ac9088b1f23ddacc5de30c027dfddd5c7d859c3c183462e134a3c6e4a793093d2665263be23894f8b6870b5e3279d615a8064c3781d5514998b8cf8bbf622e2e4bd8ecf1e56fa191a65982d36eda451692bceb761ad462d77a2320309b25c00e69be362db94518d677fcd25a6a698631e9291cb2af4d9b0b39025dae558c1cc47ed2032da630cc254fcb3e78e697b7d2a5d83c60d1a52d0d802f1f01bb7e98850f25ef3e6092b078f898200e746b50f1faa391420944f6c759698376a46242acd1bde4ffd9ca549b5a36e7885c889d1618d4c1b9e196ae485dc0eb2e1f1d85249d7902ddb6d174cc78e83aea8865f837d8a95e6364cd2f0aafd305665b64816951feb26bf3041c32fe665ab50352f1121aec5137d902788989ce1afa5a65ec6d4564cccf0eb0c63ee86dba40cdbbcfba8f603b12c7e1049ce266478a5db08b1e6c34ca163244d3019c3a746b88bae20a9e0fa86d88e297450285a34c6c30946a11c26c91ac405061331bc725b61786ebeeb50ede1831330a4e4b6ae2d1f5f4869a135ee5ef83cb4da3563bedc053ee78c635bc685cf6665dc025acb68e2447644132dbc3a8e9e4cdb78c0240b097147608285c75b3cd58b961b042657f8a3122ac3891556dae56876528537de9a2fafb89950e1d7c2b4b229dc2d18490fc4e39329bc4aded64dbb6a9d48e19baf26ab9bb4c9e49d2293283c628d6b9dd38e59570e1a3629e35599d68a514ca0f0976811eb2e9609983ce1935f3b085d23ee318a39213164cce9054c9af0ba143a8d8a97983021dd627ab092504c96a0994ea23b253c3acb4a29c49280145a66cc09129ed197eac59ad099cdbd23bcb6c2c6f87a25237c322a66aba408afd42d72ef24026e6aa74da9753b8437da5031ab103e253ae9ce414c36c4fc240868656ab76ac8f86629a133b66a962d2710be536a9436b5c1ac31f9c1a3e6d185b48d52263ef8a3e760f6e04d432d51ef1a1e1c83ce31534c76d0c97c3c32d1c1696aa5755d691c931c704abb1829bfd4895a99e080737b11a2ec55a7ba96892c3631b9c17b37f2c105e31d131b3c4b7652734c6af0c9a0648695d51c01131afc49de7c789a9fcce01b324d8f7bb5f244069f7c57086a22066bd5aa3c6886b0ee090c9eb175195262f2824fd4d49c61529c0b92ee221b60d282c7c3677a20360bfe54eaf36b857c4c56f0ea89d66bace62b262a786ebf14fc5d73769c15d31c370d98a0201d62521a81c909f228d42b8fa37b121313fcaa9578ba0b272578c4caf862cb13123c52890869dae32bb720998ce02f2533ea309be3c668a711c141c7fcbc47a0686d1282c690d2759b2620f8952ae5ee075e25d6fc509173e2817794ba29914974252663fc625eac4b2ac82a08130f14930efca1baa62c393d261cf8b614bb4c834e6b4cc4684c3799ab66dd248c5fb46cd4156aaa92b9930d3c42db877913fa800918af894aa1a8632a265f7cb774162faa2c242487784f34c0da9c86472da65a31f10265638a05aa115b94f069561b995892f06ab151743c0c2a2d32890509aab3cf6aad332976e3c6a3014019cb113ecdee267578dcc86183c5089fc89149a3cb14e170d370221e3c73148f272e6fc72c96f08b8508cf6814b5ec1c6319c29f31cd9162ea305a645268b16311c2a777e3bd22e7e0124b1054429487aaf30d0b19af92e9c50e8d3a8a94320a8542c1c50af26101c259671227612c3f38cb13aefe62f14126a5ee08b5079c79898d9e1330161e3ccb754e5def2eb15876f06d12d3c1f7e9692c55325f8597552cab9636eef151e11d356c3cb183096e0b0e1e319d5d662eb0dce06f15d3ad4186356df0cbafd5a075b5d2e0957be2459f686099c11b950e714aa9250516197caf83d05b1f97c480355e9a5882c11f562d4dda4d8a113af782674f7d52aacdc610bb585cf079bb3c0f9f64885a81a505bfb6152b2eee29170b0b3e31c8b282d67059abaae04f27c698596d53b2a843e9ce1014bca674902b9dc07282e745cbfac762823f7b6857bbb96974208b62a35e3c7a05095ea5a3891b9aa37a252c816504df2a9152a62448168b085e15af6d948b8ba85a2c2178bc64dcb4bda91b7ea8c40202c5d48dc2b63952f12c2e58d842b6e7a42e1e38d8e7ca075515f174252ee5d4630a1d393ad5db32c62fd487d8156a430a0aebc18342a1e0d091c3c6124da8c761e9c06b6ba78c8d786e2c1c78749e0d6411e3b95d5b3232cb62f13bc4984a6c03cf9632eb34965808215239596401e31d372d20942234d22172cb14c9132438b88ae58b5f5f67255b34f0cb08d362902876ec70e4d3c4e2c5afd31aeef9b12438b2711289eff486105e2b5b6b25048976900f275ca20fc9e411279733d70f936aab58f34acce934b24996d69e89181347bc1f4e1af1e6142d6d8c78366d2eef384feb45bc2ae5edcc4890a3644c14f16d0ebb5392c5b180111c14ca8f922dc12411cfd83254890c8e383182a30705e109268878d455bad09991ae43bc2f8358ad215e0f39df62d885784e798eb2d372f510e2b9a59e4dc43a8845cba420d8b0844358110ac51c73132f2681485e4a01f1895c0d3b257134954ae398fce119f16e6a7e38279dd687476993556fb7c9f6c48747c6347b626bede115eac3ce69b71023b6f4f0c99d987a7b1e1e97f3a1c2c36b42be585bab6d9a99eef0ccdbcac526d5593b668747aa31cfba6a9bea808c0ea2c3a336cc5bb87c0e2953d3ed2387570a213cd674888fa238fc3ae5e8301cbe315d018a07cf0c0ffcbad2a42eed3227f905c18c319eb9369fd18137dba897196770a0d742cd6c13e357d331b77213ab42dd33c27837a7462dcf750e5f4a1b7883d4d7089f0f6680f1899d6a68b3ed176f12db609e325a0df5cd30be4e9df65ec10c2f3e31e57628949ed06089c42b739459a3442e90ea3ca8688144e7c13e4c4cadb0b91ffff1a38614ca8f78d52b2f53321a83c511af129a3e890e21bec31c2c8df8d596137a05cd0b1646bc623a7ad88e0194d461de1d5e066f745772c9659a5228148ae90a7227e2b3a9ec4e8878476d4a216c07a5ae96cb21be91fbadb618e2116ac5da0af1ebb069d6d60d215e11efa474126abe0ca2bb53c72288eff374654fc112883c8d3b21201e3d79535c9e08ff802671d1681f3f54c6982a36779b474f9a8860f1c3772b5be7dd4eb35163892c7df83e4d2cb964e1c3334ec8ef5262a9372828c6b287374c9ddd2b51342c7af85bdbcca4d33c24ecb4cdf0f0ed8bb14d5388e50eefbed49c34c9276f5286c50edfc7a0a5882da35d875fa926efa83e47475d15ee220b1d1e9dc25e49bda1b72151dc5ee6f08cdc38c2c3547aec32c810834e1c6e8d450e8fe9ce0e63ba9439a22fdad4304b4cd3b6ee5c3216387cf66a3633cb090ac513bd487a109637bc5a84fc303f6eee41a13422fa1116377c22d6125b15b7a65dc6d286576ec6fc3062bb97c3c612c6306161c3b7e6c6cfb671d3b977500ccb1a5ef16979ca73174f324ca1a01ad442c45aebb5a4e17df9596d5aaba6182b765ad0f0eaf4f069a35653ad9ccef0ed284aeb9aaeb36731c3b7a796e15765234bc65d898d9dc91e0b199ed1cad6cb18b261db9362e0f5e673361b4bc933e9252e6178c47627a19e1a59c07014a9f385c744481726432ffc29bb2e7c43d4b6930b9f8caf648df1dac26b4bd7e6d612ee5a40b3477d3d1511a568d80de5131e2c59f84e0a55d5575fbbc3cf04a21058b0f06b3a255d75b94558aef0c7dbb23e7d502ff9818207143b763010162bbca3cc741a8e3682c982a50acf49b56bcc8bf1428557c3e73a8c650a8f10b729d55cac8baa1a3793b048a1b18f51c7b3bcbcaaa827159b31b674885128e7f81c1696282865da51ac2899b5eda10c9632d22a6b28973a83c263b341ba99dc30f584777673bedadb71ad358b135e3146caa456dc04954ee3b4d94c78b410320bd3b284f4a502893aa844099691e88a4e4265a868861d2371181c0a898b2452d1903c0a41a903d4ef0144e35928108fc2312006811003411002800c8400029041c8208630527971180bb9b47f53ca69ff16a74f7d07d7907f30479a5cad7bc1fdc19fe10b93597c65863f24784255b10b3b3109c802151e712e29c000a578f1c56103b58550aaf9216570f768b161ddabf9c80cd69b46aa0ac75d0c217efa740772378bf538bdbb66f3b17f1dbc83bc71ccc5f7f3478cc81eb5a4ad7afcd8835077bad0889f5e25399590930d00a3d87d6dfdc86ef6c7e7215e4ef4aa8b8056d51e712275c9e5098a27f9e177a4064e5f2170cd6c54ff044a72369588b09e2428666cf791db5cce125be04391db8868e3de157d5e725683bb50471be2756a3335b2b12d92b3b8cfa32fac56968050a77613b1b860c5fa171f71638bca7312cf933c53b8125e82c1bb461f9f130078d4bac035c2ec80fee468be4dd7201ccb28342a5244c78132c54b0db5f98dd4c517b398ee2e2a6aa00313fcff06e7fc1feaa0856111cd7407f290ea2843baa79002d32c74e36bf715ed4527e4a13f4ed50678ead927ebfe09cf4229ccaff9f0798fcd4e41d8419c35b0eb46a5c9f45c41a7feb2770290363026c51b0b6bf1409041c28e5d665fc1dae07cf501329367a4a2f64831f0491aeb919f84d915406d782f45a3dde177e192b1fcc8feec74f4fb38839a46ce81144d6a22342ebf621f1ac0b04b79e0b51c21ee4898f1810392066e8d109a790285fe2e9604fef20380d2dceb98e024591d40539eb297f55e30b81575998311ed9121f91cdd0acb95f45e7172ded61c54f4261d4910d8c81b55c6848f60acfc94faa37b046d05e8a2e5233a566a1070b5dfea273792cb1f93caa80706b80dbd0de2c0285ae6386c2d85afb13e1b6b3a70ccacdbb6688bf527841d1a4370883a84006e84686da50b1d789bdffcf743c4a68e79838b37a94038e90a12a1a2f53eb3514dd6a87bd464247e3df28997229be77f9e03c55c85b58e9868444a4e85dfc9607c7d0d7c687093777caa63d902921af0aa1f0ed3eeebc9f8a5673b8ac48bc98c8e150eff0a25e1fd4bb18410f7b4050fe5e1382aff57c8331b3b82a0bfb1f6e6700cf600c4e1358370bc9b9fbd5aab6b6e4a4822f1be4932a7851aae384ee96bd5194835e983658ef174f2e5c119a9adad5522e5a412da08eeab8a1b1e7959bdad7c807d28716083f29720f62de0c14c11139483bd238636e4480470dd390d1ab2ab0e4c616e63b215a2d42fb3feacff3115e4ddae51a3bd76ac6630d4420b636bba10ed769a22880e231495e7c25bdea5d55be6ee5c02bfbe1360069ff7de87efb75fb073f211ff487495ffe76d7bed2291d94774ffc142ae85fd90cf46402ee181991107510a1e282aff883a647d4108b67afb0d8005f2c1a683ffc6ecb341368fc916d2b66a975b49d25c137cd5164dcd89507d0ddd5df682d25d88b3f394a7556edcdac8ec774c6448649fd2baf81e8460435dc1180be5814082ca924a1c8b43d878f928444c254243146435719b48f03e9f2c66f60b64a3968ac2be5c5052e220ec8018a18a55184d69ed8100d118941548779a18fac1d82d93eb74494a09daec272912deae2b19d35a2b8b2265d9b84d4b61f6dd067c53924b01f975c1cead9d52641a8fc6270a9eb6991aea7c2a6a292cb169ea735ac2f1e08a05276219a88bcfe683a56f945395884a91669a506a6b38750096379298a0ba26244980d40e0ef140a41454c8c2bf6bb1567d6d9122ee51c6e46f5a2cdf667e30293b628014c6e9ba211e434b87b69aed83027f59f25994f0338f194fa6738b4ed39635a866cc9cf1e299093c9e1906e921a1d2230d78f3116951f49afb1a8c0d59989b6b1047f35e991466cb4a3123d91c1543cde269e2ed29fae395835b433c2e003bf05e4818ca554a9f6ff75e58d71268dc32e7c6c490bba4993a737c8b9f4e40ca982cbd003000a4b52fc79c9f1b5638a8efdf73439efcc4ac56c077c727314a2e5a4d78f8f0e20c08f7537e9ab69973ca91eba8252f327da739ec293f249b72280cff8a208517931e4b65f04dbde0c3e847ddcf75a85a0593b72cce8e47b6b9ed376cda3a893352fad80ac98dae18c5571ba681d5dcaa8cd6cafee4f689d1cab83f35bfc16b9db277d658b184d4c22d14c051056430ab64324d6d475efa918424d70527c1129d8ec2cda1695849a2e80d12b6b86b7bc7dbe6c249f585f137784bae4839b60171f7d6ba8ad1efe102582d42e06fd0579fce63af8b2cba67dce5b7a82c8d531173fd10b07440ec44d1c1b88426497127ec346528e2319e448b62e5e8543e4d4d168500d5a2799a0acf53459f97b1b79debba1b52de3aaf66b5111ec9754480f89ed5c8cdd4e24f4c49c50c6a7e424b481176580b04bdee8141b5f5674ed4798b0b21e019c7c3249a431203aff313c0a3b47f1f656cc8fe43da62c1db1c02e9a611327d0564f6eaa60556155e8019506b9b0eef73a463bf3b41c194454bc6b6a0c47199d3146fc1e550e88b3562fa9d9aa4872540e81a91f6a2879c32d7ab880739532fe3ed9dcab1f433045b4d7af88a7201d5d927500a5bf7a470b60e2f7d823997322fd63faeb3478e811790148da6ba3b975f6f01c74941fed9576f58e91afcd3cc567396508822ad4fdce824423070f870faea1818d6d38d81590f8c52d3b81c449615a68a8c5fb65baba6f54eaf968068daba27600a4daa0ad79ff4da427ce717860fe83fd627470c856dbbd8235ab19ba7fa2ffdf2abea564ebccfe30486caef25baea2b81de4682044130885a288df1965a69075e7cf61171c495d15a1635d1732f196b752ec5197c658e4df115d285499a697acfe9249a929d176981bc2b3aceb418ee918733187ea9faad9427ff8c72f09872c94185d3f6728e787aefb1c19a9d0364de7d024845ca6821f904491b8270547daea20eb86510c50894577c909c9b5d007a70123e52603b89f8bc7c0115d3f3201118eefd60c67ee1a797d8a60bff85b228d0381bb5168f580f0531f051a40f003d5be401efe926cdea51c53d774ef1066c39e70dbff366b4e10981260058a08e11ddd825d917341cfa6128f30f48ebbcb8be7165e961845311f96bcd34ba4503d89b8e0436b292479376d908e4888ce10a52c5c46b00548b842806b20101b7305ef36b286fabbe4e69d6efe08481893494440a371fb25e0585f992f8230209e9a68f261a3723aba8d0c43b40a6f4bee487484a59b497676a54636441dc1b4b923cb7b3c4c7afda7f2088fda7f1cefe8b16f425517dd18575b300ea03d8fe1d506909ffb4fb5d509cdfd29c22383f929a9015d84849a0b6653e91f3c2829bf52e9fdb4fae1d9ba3e49d7d0d08c6fbda8cf40c5e47b4131c579257b59c213ac59375a9c13aedadea7ada44c36c162d8c501741ef41beadee05c1d0420a3051aeb0100799546b879b9f420504e34776a5111b8e1a2fcc02ece326820dc0f9017978f3320432e4078f9e8e4b095f69cac77041564d269c0f2ca23d50604bbce2edcc58a49be309ca0a1ec0304e05c67da9e1b97d0f18d487abf31ac89bbc3473218f5c3caf8a4002cadfbac0b7b8710099ce0909c034877b3638021aecf3fa52e925805b370fd049506664e8514645ad72002237843266e673aff03fda37ef7da28eb9df1b4dc8c9dd13462a6c946d3e5784199b26173a20230ec3d6babe51865cbbf9e88408c46149665b711c9a7ac0c87c6ca434a627cd4fc5a912a6baabf95dfc355789fc95289f1b5efe1fc6a88fa36ffc204a6b2f0897fe2b5112923ce50ed1e12b0f5aa32db9f797ce296e02ac3035efba6d155d92cecd31e178d6099588fa3d9ba79ecb6459afb08ccd9a399ac4023ed00896602ac0fee8a5e44f7ae478c60ce959491cc5169f3ed277d8d3c62b90a58dbf0bafb51bf6c73832a69f83db0cdc578a2939fae3d93b448cabbe931aebe7a4937e07dbaf78fee4c7106d626f0020aede183e0ca153c1a0400b12517686aa165d0bb61d451b0362f2477f96fab061d81ecd22e302ebc788aa1bd718f17c269f4d853fa6b63e0184888cbb475db8220b2dda7e8f2734b9e3d4942a44e8a68ddb81d7491100db8270a64bfeed2b6f646f6748a8153494d71bca4b9cf12bf21dde40e18282c2658c602cccdde4bb72921edaee089feeab939dde08974d856738cf768e07ec4c600d7a44c2c18bc6bb6f7ac7a0e06a81f518a9851dec85da3901dfa23709ecf852473417eb55d72a9d60bbbcf81dc8cb7409c1a0c64eb654cd7f177f2adf07abc393ab15a61e003c6f057e870f8f12c0aa21ebb4ea3cf69959999b756029a8a0b238b8af7b7d7447aa1e253d8c49f9a9619c402557d4120e591a16a771ad96b112d75bfada4d1f38724414abea3b6d37252b6b748625f395cbe6fdd591e74001dae93890242bb1918e2000c6f571a3be47fcb0aca01fb46ceb626060d12ea1192f3f8ce455efd571d1c00184f112d18a87965de2e8fa9f0823525769f2fe31173fb578166a88f1061de433478000528e1bd702d049ee9a3fa8e313efd1118371fd95f1a85171249a258f095a63b06f4d3abb2e46098fde69dc91514a87a6edbe42dadfce8b0f2e6eefb139b99d6bd3c56065603bfa45296ab01c796faa66e286feed811c38307b314a509bf36782a8543d2d12f6f4d6ed1988d430f1162963929668a8a19299f4d1e716c9d8983bc60769a0f4e39fad57ebe34a2c34bc2b1496039f2af3823032518d0315add79c63c719fe3c64d091648762708e5c6bead1cb38a55f5a9b6f438f3172be241e43d4d057f092e62289027710d9fd3f3ffaf1daf0ec5e81ba17b9751cf51956a262f7ed9b49ff96d9bf3726c4cbec0acd40bc5f5d308825e206ef88658a11fe1ace3feb6dc9d1489c6771ff1331dcfa854dcc62a3794514b428ea21a2fcee61993c47db2004af27187f38f2a060bbf2299f2fbfc31c05e52a0885fac0c7225c40be187fcdfc72016ca766450a23c081c70a334a84d1a742c52e7792d6b28c22aed75d37ab27f892f15e7ddbf6dbf61d8ade953f28256e4af3b68849f0b556c0a99099658ba49ea94267a35fac919dc815a95176e68a6be07d0419f6d4a096774df3f6374a8d970851305b4df1aa0d6389e116904d1d76f5fdf1a12f3dfff95ed0a01147104236df6c8842869400d21c96ac0777c428580af2272d19e522131a396a37b0e592821e152c82c0584ec2caf936d117def91889ff3d466d41d0162155422ca55bc6cf7d1c2b034a944f5de5aa0ef42d1602a8f0a609e30a00f98c99d6ad823eff98a1d2fa61cbbb84b693484c1de82b1405bd827c6b268b1dfed30cfe9ec7b285c2198939a95e5eb76438b13904f6d7aab93f5f373cd08154c7494a45e5e8b4ff41ed127755658f7ac741ec4e1b01d137c0d28e43cf030cce8d92ecda19a5ff9205e773b0523282cd2a761bb50aecaf8b38c17ecd5bdcf094d8d2b9ca25c52150557ee47a44b1717cd4b18f63214468a82703427cbd76f6ee8f79fac40b7d20c95f09006d55ebcd44de719a6163c979d34dfc04bc26a0cc2a6808899d7069af9b6f2f57c8bba04c1086cd06c8e14d01d34bd452d459c769debd2c86ce50565c298721dbe27f098a37cf044745866b837c69051cbf88ccb3254f85a9caf3c85cad9f179e7486ab2e5cf34cecd73514defcd7592ef5ea5c18a0681c5c4e614ba583471802078d3c295bdec0f5a3a7757e71a2b1cae30111571bc214c299bcfa68a21c23848473644b0e5599ead87a57e8dca3a304299965693b285f6fabfec15a349562a0752e733309ad85468f8263a5caac843feb2746c1fbe2c080128b164d8bac347c20e6c97e56ac6f3ea290f005d4eca173d52fc59a1c84197fef2393cb08ddfd566caf6f501d48d2295970f6dfeb54e7242decb07f3dbc7c7f3d52a971b961edd71e444481a4bce813eec3e466834e9425e646773111e592594044f78f8ae2f171f68956d878753d6213229b0772f4bf9d4ce39d1cebd4b5582129e9416522385b62023ac2c331438488052eb8c235c243e97d7a9cbecf264bab27062fe53ee4dd8efaa14ebd809d0d340b53ab8a393c5a8cb883dcf70059e43673f4529629c638762120d71a9a011688cd6a905a0ae2136da8210d101e9659474383e0d8e06633801db41055f3217c0dcb340cfdfdcd56f8c3cc40e5d7eba938e4cd7c62774f3f76fb77155cf354a6fec84c7ecd14e858e97837c108d3986424a964bf77f259e245fc17bf09d092793c2543852d9048fd477604f25fa8e374b5d64fe676952dfdf96deefb05fb67a75ff08b5f86f183c3e2dc1450c9f41b10d47232ff9f7e6cd6e8e1341e907a025819edd1264e681dc7842317c5098fd70e01bb18154c794f69fdb16f479b8e8898412cb2f6fa8ac60e018160e17fc4a52de1a3ad092105c59060917777f471d8f6c72e567d6241d8a9ced9c2a099cd29a19022768cbba8a9c695dd48a6a505508144b9fb1c989317823362555547080f912ae8fc8e6cda2ea534ed960a4d90480fe6f449844d2be73644cdc454fe1d0480d6451d6a7162eca0a67794896305f4d8e9cdce4a00b10b0eba7ac9bfe63a343cd8c2fb6f767a84d2990909e592d1157a20551d9280c777aa8a7aca357f0e60010b2bae28c9dbf87541f13b356c915bb82eae03ca4f93df55c6abe45c20576005c128f4d5062252557970267cbe7e97aa83c3bdd73ab0de16ec4e020d312393cc0c3747fbea6e11c717581b81bb7d59066c3f6dda426656d6e747e7b45bc7bd2b1e7e049d1a10b8ccca53704626e613388e1bc9be6073fe56c648857504527b8fa78085dda80e7f4b1fde6fc245f703592494604dc947cfbeba229a9895ac75e1579436a1bbe8054cbd4af199f0fa9c422d4f0cf288c84395c20358111029921e211551dd0d1142f4239ce81ee6e019328931ed699a1ea74ca09ffb7932a882f057992a2d94e086eaaff353b9d4a42aa103993fe67f67e2e894227a64a05e50b5d94e9d1e9b3bfb6479fcd2a8994ee1f62e98ea78d09c7a847917fbf328ba1dc98bb2d888e8fc249b03b38de018cc2b7c59d1c3f9d9b58088481a89a398413382d3efa0deb47f7da9ec97cfc82d37c905a9805fa180c5509d9c7aa00fdcfaa771b24261f35c142f1d6e3c61af7e3633b6cde21e12b5136c1771aa6b8d11d6cfd9cf78b6d0265778cb9da4203dd50aff1a98a89dbb4d334681345fafd4924fc1fdfcc9f47f8500397eda1b81089afcda04284d4141fa01ab7382fcb0d04d04dd3f68133c629aa3c3c987af51f6f9237951588da66a048fa4440d87735c5ccf446f1085aa6352db74973c1e535db942b5c5a2d5fa745b615fb970d433babf0c8cd8612d58d976e4cf0d119bd3b391958d86767525f1c15402354d9e528c93f9d2173724d710c677e86d2cbc9e85871c75519aa7b7a49bf6ff829786ff25a4fae3318affb1c9c5afde5010668dbdb1e6d64464bad419f1fac138e2955f21ea809ff20bb9ed7df73a50be2c6e13dc84c90307c1ebc38fef0764e75ddf7c675e3a52901eb4674fa051996568729cea0101465abc4b635c2c23114be79eb7a706a4d36cb57a28bb9f255f89c2a1ec727de19c1f910555de85d85dc9b127134246451895c71299e1fbca9d2bf536fde1f220e5636c38f375909a5ee971e5e6b750d8fcf6bb1030d5d7399f580cd3590232af43c890627839c6d4d741e317ebc01a6fc8ff651c2a7c7049978d876d0cf7d1453435e0947df38b6f036769ffae07d2006304d88c7f74a424e22f6c7e2935fb4df7920a7ff42c04dc094e766a9966a13767dea3152ad0c6c44eb8a9548a935f98b360e95135ce22c3510963b124658da4a4004ee92a12659863388d5afaea764a41d13b0d9eff27122922154dbb4526c4c8b6907727c4186c625afc10c2cedcca6439c00f8f3d9c02fca8126421d59dec35d8c617367a8e71f68a0ee557e61a55674cb1c964a302637c17033c97e6ad39941b18fedb967dba62a251446ca84be0ae826037a19fa3228b9e5d939c64f825e98c2f0cbe28163e3a6f1430a64eb4d27f9cb87046fc94f484a178a46857af32dc980259c5e62c348fb1a6e3372dddab3a25f0526e12759d12673b8a774f2b484350fa1e69311d901827d76e5d18473de88b69ae674e849dc0eb9b5b416cd48551ddfe05ec2ada1d401011db4b09f33b849d6e07d7bcdff60f032184a800cad300233680b2241d02c3d09024499224499224494ed4a2152cb2524aa9dc8421f633242bca9149a694522ad93f09a5fa4f42a9fe93502ab7c4123402240215024c514323256a8fedcf48ee4e65779ef6dc6624f58e2c99513bb90b20164c19ca173e054115940143465a6875d18d9150e7d33ebead8ecac28891ce37868e6b88d9c084914e738a730fe6b205465ae4f97825afa6d839ea8bd40c13d17b919e738e109b7617e9b5955ca4c547ac70b7486a956aa5fcd6abd222b1ecd7548c5ca966b2488bbdea878b21d78d457aece95aca5c917c75b162ac48f9fb9c157356456aece1d24545627476aeb8113345ea74ebf5fbaf2b9dc9489156fd7a2d991957169400661469395a2b939ff75c50bd00068a847635dff5ca0ee354647f2b56d095c01f00f3447a57ed2d63ce416bc0389198cf71eab0dfe7e85e5ed8a795f304d34442af35c60739aa37c03081c729ecd60f01270988016689e4e8acc3992e9743675d5ef1c02891f81f6a4345efbf5b539b5aaa6071c03dd61a0147130052982452f3e6da6a2be1000609ed6545eee967999f73a78039a2adb61129dfb9f1d751ac80292235bfe35ed757625ff98013038688b447ad548fb8be0a33447ac65c04a47cbc054688b4dcdbe7f4c5ae3810ae380782f8f7d7d8fb32c10a1069ada2853a680b981f923e267bb9266ca0d00d8c0fefea48f115bd3662ddf4c6583a95f95035b309a902d343622d1f42ebbcf49c85e5324209dad2d2d2f200f0c0f090ba9d7e0e5fbb94a05e1302be7e2e9e19303b2486dae894ff3bfd8b79b9b87e2acfc0e8904e6722f5f65e9e3e7ec8607248ef39fb6a7d905b0b00180c0eca9dea355e98aa58981b10c26cf7ee75c408d5551fe501dda0a47ec6b8c8d827e9e5da7e64c6dded496a6e3db5db9da47d0d1b3acd35f3e624a1f6f8b199feeaefdee45db99b3e4d52b6f78e166b3bd36532617f781f6f3726492d2a1e968c2953adeb8db92425ae76fea205309634c73c1939752af9dcee440b5d2f602849d8baeca8ba11ea49d451ca3d76271849d23bbebb50156368159f45269273b2bbd105080692c48ca52277019847d2ea6deb1ce04842ac48ad5a668fce29ba379278f5bd76ce716bcc9e5ac130923c1bbd6464de4ab92f92d4bd9fa516bbb7b85f91c4fa315dcdbea543ee9ec826627564e5d3985a0edd601049bade71778eb2b3600e49bbbe0d93ffbf39cff7523086a4c5d69f83ded9d55f6c82292429a6f8b9fae386fedb6c6008499feff66d2626eafef34192fe3a88b10cccbee73aae9135e61e48422873f12e42e6b06dd2c00092b2a9f5c9369573823780f923a975d673c65e53e83573aa60307ea46ff858b95ecf05d3875bfc67d7d841773e12235ee998eb7a67de23adcec3a9477ba5af5f53e50c604fd682c9a32d67be5e3078b4a55891ab47974782b92321765c3cdc9942964ba690458f60ec48ec3f5d1db9b79c3bf81040c16199407760e8484721673c3c073a8514f169216c802507468eb4ceb3a7685b3c4f40179838921ee5c68f711938fe243ecac74698da2759f3d55c31771860de48dfccf2b01b0959e2ba9cfc57806923ad85eaf03a6f42730db4a87256c1b0f1bacfaa536ba4b6effd7aa446626f8ead5d1a495fb2d4d35e0da15bf594114d168afc5b76a2804572dc10f33557a48554f3bcaaf5455624b55ebaf3163755a45c471df556229ef6683554a444b65ee352ac515111cd142951af6dd76c15b54a46423452a483efa5a0f02f4d37c7903f6e09b4b0d04091d869760ea3ea3b79619f9e2f41f344cad67f6b5de2a2fac32868696969f14be344f27d6a9db77c1b43760c9a26d25956e7dbb7374c24ddd60c17ed364b246c4ad92991563f54ecd8f93f2f5f8ee07a80268984b0a1554e77ab5bbc4122f1b7d5eb207d785a7344725cdd99f907d735462ca5eb9636e5a6885ce4a71e3ac59cd5b172ef2c3444a465cdf5b03eb8341bd91089b71d851ebd10c97b214b6cf4b4b109021519dbfdecb2a3734565e64e96068884942333720a1db7e68794effc39ebd58d0f6919b2f5a8b5548c374fd3437a96bc721f59a96e271b1ed271cceab1f7cefd6687f45eb7d152bc6bd7a16f7448cc1c5aef7348aff9b86e70489f8d7fb9e5f5e786f4e73d1dafb736a4a3967374be8684d063738886d4fa569d4dc7777fd76686e454b76dfb5f8eb899922131f7c8a94d0c29dba5c2b718fe633024c4f05be6728da1f6ddcd0be9306ca99af7b89050f34a54c47b5a48cabd3d84a7612135d474a592fc3da60fb9e77615d3ec07a9a58c4a724d95a8cc29e9d377b937253d73fc5e9952d2abb6ae14fb777eef6286948498d1b2cc47cddb28a9ed363f4f5da37cea34234a6ab61e59b19729ea0e259d97e8139b766a487a4d172b741bb02e24b15b4584cd5f657222d01092d66b5d6589af6d478089194033881ecf7d55c74a5dfe35ad20f7071a41121e94a8216fdc04921843e6a61a1172abb10548423eedd0ff6ef34723f53c0cb131451ebc668d1f8d11ae723f8a2e57357da8373aa855eb756baf88e01a3eb0f9a046adbd7344d4db2eef7bb432bfe2a7aaae6327d933e00241959696468ff4bdde88e8d636974772beda31dfe7a5088ff49bb9b89d99ca75cdef48cad1dd3784f4135ff50ecd6b57dc673de3839068ea487bbc39774b0fd2f7a1a12331d36e8e3ed961646f139389668eed7e5cdf3dbbfe5eab3decd0621f3952eafad5d3dab7f05f7468e270cddda8cd7bf21925d0c091503142f6cbe1afd75ed30d68de486f95d5e979e59071f5d8d0b8911ab9c30fe55b4ea7eaaae049a16923a9de77c721f61cd7a22a1be9dd53fd72ad566ae1ea54ac46d25ef4e69a897413f389268da4cf92df599f3a76cc1a349273ce79df5aedb46d7f6724dcc7edd8a8e5aae6fa0178a13123b9b588109f4b969114bdc396ea343cc9bc1b16125a572d68c848ecdead19233dc6d4b7e35aa14607d6ee0a8d1849bdf7f39cb11f46c9ebc2f9619ce3c82177ad6f35d5b001a3179d3359918fa6afee17e93d720c3dd71381c68ba47c9c195bcada7471d251a347c8e9fa0e657b43687d7005cb5a40334968b848ab7bdb5a474b51b6345ba4a7eb74b97696d3b650267b168d169ba808f1b93bb9cfd10d849de83381086020182293480574d9326a05e603b366703c1849511c022110c3800cc220086210328410420822841804d19979f0d010429d4acead52d1fad1a1cb0b598f80d56a82e1685f56e1f722b98396d8cfd2ae5308405e33d734b4d5fa9d2ef61ecd1cf3b38bc012634131200d489387de75cdc41e70578b4192646cc49fdd15cb8ded5f07d92eceda11472eaa4019436f0c5fac49f6be45d250e4c9b7f9ff2b6bdd70c076528016a0174ef758aae0f893a6d9f7b193867571f265407bdd6a1b67977e7c7124f0c25fc1fe56d7c65b9bba3c78d10b421db357ed6e48c7e0826a7435e2d81697f11a02d488aa5d23f2c67cfa94fc0543958139a220fcbaf47877478339b72e56abf075bd8af7f77ee5c084bf7177f91f50d1a8bbf22d51d6bbfe4cc688e84787669c060ea800884332a8da56ac8003602ddbed7e4b5b6af8a0a2387e3c0a7ee192742225cc5dffbee1527a864560f18aff4d0e5fef22b7e5e43daf659b6767467d8ed4bb4e15173d539604d481ef9b26242c6e8ef643af8e522f4ee084343a28d8129fba3f58d890ddaf9104e71bb5633e94e50633d97c5b73dd833c94949fe404f280c2a30bc5713bc3759b9b554d8ca79dcffbd7286e0fb96442848f682c42a8081dd0859fd888d1a3f9d5a00cdd7710ad6cab88d0869c408d1caec1b92f449704465aedfb2f017b87e30491923ce78261d0cb15f93e2223a8c51602830436a3249050f69548d135d8aaf2f4f644219b86aab82d4338e90f40ccbc74349e45a20d77d45cf17e9a9d719090f5d89dacf340e406bb9cbb5d1e6789a4b682b82de4356feeaf4326f7c7ad880c090f2d30c89552c4ef374e2a52647bcc224c862ec8e82d9951a032ca9694e3f595559a100eb47923d5254323e9b1e10c0d7802d4b350dc33289c058f7676bf58e685b02b09b04769bdef8fc3a33f0348f8bfa1532bc2058a57006f2f67a4494e86fccdbede76d081ef14622d2d40f8524c58515ba939a8cc226e44a908958fda7b1c143044f9c2e6c9a885a92676a75a902f01403b23990b2d46ade64d9f34c1844f18f8067592b02856674a9c1e9139b0a31d12b5aaf395a5d57833c791f0b72a53eca3e780d97845674a6bf1597ac7e3eee14e1cf101c7f493e7a397aaeb454a4f388db237247dba9b16991ca0ef441608c95a2ec4edd135eb127556543ef33a6eee8271119561099e9f1e567633f4d225c101825e6a94558873790bb99f750a05154a345c4ca42854bc6e9de7c525678e25f35a7c6b8b34e5dcbc352ef0eaa0fb460175a309a9cdd7d836bc54f86c26e6ac32880e46b56c9e06b470b985b566e306f2854b9b9f8f8c08b180a01a8c089ae3a43d1fb404111188efc094187d85733f58a16d3bac291e793f1bc0e71a7dd0f111f2cd2b3dffcf8ef003bd30845c37f17fe59a777e61fa9e12b14b4a31bda685aae66551a3149485d616a7a79bf11d8cc39394b0f4cad54395b1caa62807c1127fe88dd7072b957ef949f23663c2f579f60407719addd9e66226c2e62f5b0738004d3a945654d9d2de77ced7cfe0ceed934b13876ae7d88ad560a38cd60553ebad7a30d2c725a852cb1d899ed3c46f8dd323ed0eed5a6d52816eae1da4a1715d6605012b730d89d105d3c5345666e232820357103ab05ea1d11548274117fd0eab267437c5f43d893f07725a4c3771ef4f5339611a5829ea5a8ed56657213d60b85f5b096c441cdea747b117aa3d846540b57015d6e0484c886876c1fe7fba3d403510a1c5ed2b00c7bd9b591364d8780df528b2a3a633ec6e46617102cd5dee8068f8f7fbc5836607f4aa8a153a2b7b8b4761c667857e338be86682adf7003a9dbc13f3a7591e18a80620a45f7c46c31359d4ff73f6db3b9aa1b92f8f2e9bb83be4a17cacc77a52b35c24b1e4db8c23a3da68df09202882d50909a5641099566c2cfb80d6bfb81bcda0e72886f7bf03c0a5c69293a233d4d88c03596e1fa3dd97d04d41cb99e9f0474df3d49af0725d6c74a0e6d49315255e8b260fdd3a6c9cb96cb771ab2ed8fdff4e3fece5406da4d1a99cf5cd301f033a272a25bc087b3f4fc2082e25d53604b688fbd604e295884b696618c642a2704a373c848b16e43f495c36f8a36cd292bd2eadc42aa1f1ab7aa3e9e9f147eac9bdbac10e6569f39b59b1448478fc11018fdc65ca143e3588e4c9b8a715d7d09b1534d097ea5b1172aadafb58ce4d0a03865ab5c318990a3cdb53b6abca542dd82e11abc35324255b08ade64c7b08d5fedf1044f0e243f14bf117ccbf8c7886629832b4883dbc98cd01a9a3572050e2f10f99b5b1b8d06b0992883f0d5d0641be18e7818c1b76f4a8c3a3d454d2cc1e42ff60b853b3d7a3395a500b280720c1dae3d3cc03e508ad05243662412cd06e2b79d650d9470989a659c43b403dd22e44a50b86fbc9ac39c4e3379b88e3c726da9d4486574917967e0573b5aa8d135c4af902c503c1d368f905e604b5fa37c7ed9ad22b424339587250f4614f0c59fb28c2bd03daa3b1053372680270e1c9b12477cfe5d795df2d9bc169166625509ecd4b9145529b7e4d809e6692be4775af543ccf4b065e6974b0f49cf5e329140786535271961f9abe08dc606375fc7a66534a237f830e9c0ec002b9b9d963e8c2f086622ec5189bbcc57e8083700515ea305e24bb076eae5901c844e36e0b1124646a38930f869009425c6587336bc746f2d54e58e6c8e35afad01e4484952daaef94435aac55ec80d1ab62f9fe2bcbd8c98a3e8fb298a3db0bd7293ef227ae6ff132b5c62014d622dca62aaa4ed526767af7944b1c983f7f8a6a1d7365db737d806ffbe88c2d2559b6af948579733dd305005c4ac88bf1dd446f6b7cc65411a5a5320642a665fd3c7760850639ea143fcc23ad6d01b96a58a6f54d008bd5d2309d94cef13af4fc937ec59cb6461511cd2d60bb99d7d5285750fcf372d29b5930777c774486f655ac7c548ba040f0824d610f2cf1d2201acd5b374036887b295bfaac04ef394c3d73a36e643363475644d762b38995bc203a263b54c304c8e6ed162d39ee54162d16b37d12e7962b201d0d396dcce5432c5c804022987c5b62b6b6906a59c319da18e4a60dfe0aff8d3890a95f94d1abecf3f2233f26185c32963d2705a1c1a9370c2be1617cf606b6f70c9837b3ab9582d45adc2e4846de40af5330b699d1d9adc8213a70d0e3bb0a9fc5a6b36cd4c607f4a1407ec6d67bf81b10942c3f84586c8dedee69cfc28a82f4a38fae2051cb2b0893be01015f1ccde20bdd8ae69c242685721f2df270b297f205fcf65c048fd58a88512ff2abbaa36b83cc2b48cfa20d80bc1a6fda1d9e08d706afb73d3998866c097447b5e12440d49e4a54a0acebae001ca7bd997c69f199ea29de10ffcf938105c5f6fdbb946b494655175181a75cfc3b8dc3976acafd733102a36d74beb83e32899938d3eaf3d925cd5d003ecd36026cecb646cd30495ff8d47a8d10f3cfbbd2b4f444f5f9c9f11f5d3a2e47492defd5958bb26d32672c1d97ef359a932516472c0bf91cab9e978a9ec3309aa3208da6110b912c3bdca14e8769b36f187f3f62920598aec87effa3584831561a85f0bbe8ffae68b3a2bdd893ac2016bc03953c4a87625d23e3916d57c94c782b457790669fae1d8dc6b12b6a42bdc7f273010dceec3c0abf7b0bde8b775fd0e889920d88a208a3133d262d3a25dbc39a41d47c93e8749cff55cf237d85de4252e19272bac6b753574273044cdad6008bb4b3ee25e90fd720addaec7c5f1f78efd0cb952e6a9f15a4a826f04418377b04e0e7bf69e545c9d1ef6b66643e4acc1c8c8a7383ee57417c9382b749ecfa6d0e9182601be7c9520c6313c4fe6c81667489beff0bc4dfae20d0b5341e49a3e483e90483637c865a29ec68f7932f22a3924cbb44b06668a4466fd58b498c39d9d95636c16007e25b0460aec79268ec89685e355316f24c9542ad450697ddd59a8e94fa4fea28db23fa6b5165107ee7a0577b7f1b52f353e5007708338b1128e18244f9deddc84806fb178db03390f642c661df39010c81f4f574af8b3c9224c324e271686d2ad70f432a37084544b3f7bb8c09a80c652f10483f156fca6d44b28ae48ed3e57de9c80d6a8e21a47c84a26d122126ea71ab5b4cb5b7a3ae17a9dc1d3b4ed080067ddbaf77c50158b686669ded474c209deba8730003046ad4c5b00eee619bd2f27a1770943b99848d3b715129eddbfc351f6f15d0ae5105d1c7e5689910000ffbb9d5b1b5ce6dbfc636fa4606469321e1bed586c40c87b10e641ff38a9c1657c2b549cc34395f4ceb5a1734f2af03f53bf5277653865d863372b9ff4e1aec00e7be3cc416380260f8d6af9fc4b913a006a522487a36cb9e2f8a09d3f5ef1e2f6d2f1c7e0579e9fe5d2cf38e704777999cd3173cc8000a71ed3840b05c49e5eca2a2a2a2a2a2a2a2a2a2a2a2a262929971a5ad6538b66ddbb66de5dcd829a479cbbdabfcca0f9f11fa9ff2949b9292a6d19fd29fd29fd2cf270f158103870379037fd6589a1b4f650ff3850e7a9570994783e65f4f2e72d0b8e585f891e21a4933407262718183fe2f47084fff9c612b2e6e50eeb9d469d1e2c61e05acaab8b0419f32639f5a0487972935e87733cc18cfe9201d1a74594b43543e66d057caed0a1fe22683367a030d49934e958730898b1874ad92fc3fefc31b8db88041ae51e47a4117e2185c2e79f8d6781774525afa197f599c866183549c10163413ad6377dd7c44d415b4da703d8b2a685c644e9245f5ede468d142ed22054d857f98e2050a3a0f19c7b468a15616b83841bf0dfc7f5556724c3c81076c9121e0c204adea46688cdf18735182de5174e674cd0509380df7d0cc70982ad9e7a739825ff2705d8ca0dd1072fe543e49a51741938fab32764fd9130222675d35a4188b7e4f74732b0f82663bfc2b7a6ddf9c19c4b67ca0f9cbe2aed913b999157d4af175621ee85f1a69a68a3ea99b9865c7a403edff4495034d46c88aed8763d9403f296485989d09d14013f23b868a1e9645cd31bb3232d03bd22c57958e39065ac7f0a435be38f0074fd147cd90d0bb19af146dbe5ce12b5194744472a0e8daac62e858cba8f184e2a913bd6af886e7482f9b68c351c830937a10979089b655fc326c8cb733668976a752ac35677cbc125df94ad46b1c1196bd24fa8e4895127e1c94c3906822c547f4525d693932347c8e114de38ce6e3c93d4abc88de27e48d2e886854736a92907374f5b036e06288c642d6a059a947e042882ec4506da17fadb7a317413419c1c55374bc00b1472ccd0fcd564efafe1351373a3eb4d97534ef45fea287612c93d8e78154293c7439c577dcdab4e73b74911f059dbca631476f872e553436089aaea943e3c03c45c53d4fc9a2af9824627e659566e8d04807919eb6ac571532871e57998557e5d0a766944174c896c7a14d093d1cfacc16195b7fc3d33837b42359346e43a316fa82c86c68a32583c6f95d431bcd42467d35f439926449162f15336968a55adb1f3b8c0ad34043630e1d584cced0789c087f1d59dcb36a864e2cc7cde072fe59863a5b85cd641d32b497b465530c25c131f419c5308fcb783931748d63f4bd10af739884a1776d60f181c614250a86b6dfdd27a5419430bfd00477cd9d39c9a50e99173a770be69375a111cfceae6b9171ca8a0b4dd89630316fa1b3cc39430b7da590db54d2290260ca303bca6b68298a4c4500b0d0baa6d2d90b9762c69a4e04e00a6dce78346afa445ab4c8b442b311ad2aba878005436fb0f9ee184c4cd055ca953b399ba45382a61bfe8320d593a091fccc085a958c298f7e9ccb2e82461b4f43cb0d43e784a0a968e1b0b442b068c65d631034e172bea211fff11c198e5acc07dad18b890c49caa4b5a2cf15dc1b64e678cff040f3214c3bef35d247156d8aa91724da81e6e2dfe3e59d03f9caa3509d0db4135308f13332a7812eee49cecda421155d4ae1e124abf065a093dc98c2409b743c378454613653f41fe3539ea7a4e8a14ac6788ddb2389a2cbcd12bf71d2010517e22d1768534ff6893e5f472bc488e644e77023ca334db451f733169d893ef384457889be1b474589be727886563d7a128d87a96c5015c348b43a313c39f2fc11ede7ef081d55521cd788aecff1eaf5569cbc887ee7dbf385ec11d185c62cff5ecb738d217a10c92244fb1b9231fcecdd06d1894fea105620da6f8d1342d4f147f3872e957f061e1fdaf694f34915400f5d54c60ea5e3240f8dc54591ad08b5f6f0d074aa955ad29c4fbf437fa631c67578981d9a4abf20979e953ab413735a96c414fc23caa2d19237a9fc78325b0d7341874efb3b354a3ef9a6219b43db20447587c9a19f0cd5af6773b2ea9809f080c0451cce922b558e19216b4ae0020eaa5c69a7b4566b8a8912b2af7b831b7a11cbd0c2ff540a1001077802b2b2b868439b5152f10fd0a2458b162db47e70c1065c831a2e0d7df4798922bbd541432bed2395428c8eadc0c519faaed6aa9ca354c639522eccd003094fd973e65e94a15a30e0820c0bb8581e87938b965101176268b2f6c46c185a8b62f91de3257a5f30349fa5f1bcfa85d6c7617e09d50b5d96f97bbbc6c61b52bad0a70a99496b70a1cb0c53ce703caab3854633b56677eb85f1b5d0ba65ebf9ae70c938b3d0ea89967ae33e0f0b4d8f8c84afd0ab570c39f230788eab15dacff8347546e5ad421faccf2ff49504a9d04ca4943385d6b35cbc52e8ca25e5af50b26e143a37cdd49973de75f843a14b0bfdf09fd0babbc5ab1473a9139a30f3a99123827bd1842e325d4326b43211f24a06b1d5052e96d0599aaa85eb90e23184b850421bca9287b9c5188a8b247429fc447bc2ec83fc14129a794f4d499dd997c2e3e20866846a61808b2234e9d28eb223864c26111abd0ccb9aa3bde262086d3ecdb8dd4f333a9b17c52dcf625d04a1f595b17c61da71f66bad1208ed4792d0733c1fa229a83f6827cb74d84895cf0b1f34d3282ba66c8c1c297fd1836a01801e2ee86459db81210fd454e224a441591475e7036d4fc586153d74cf3939f3ea8166b24b344731e5abe8338c4c6bb88ac374a06f90f39b488439d08486391549a5636a36d06cc830585e566f43035d5f468bbf194fb64245136349de88ab8d2419687ebcc35a64f4c9186833ce9cefff144df618e25188c191e852283e3be128f4f3c75f295034a124b447e4cf8bf6024dccd510233aca13cd47c4fa679c27e24ef41d734e96da3977b0893e5f7b0487591d26dad9906173a76451d7259aa8a155a28fc99ea19ca54934399924aadc44a20b22611ed159d61c2ccb67f81c23ba1c7f0d56f4419e14d1740e0e62fc8989e8c31c666cb7e8103d8e132f33be24335188a61c3e82e8e2e5749c3dd203a2cfa8b1e3460da9fc0fbdb5e6203d213e34ed2b59ea5699151b400fade60ed98fc43c18ad338e873e3a8790e5c5ad3bf4b317db7a196b87363ccc59c333ae0e5d86a0911f5665a81166d1e56fd693eef8a143ff151d0e3c2f87cca17d946439f4a6a7c12bbc1b871eb46e648daec2a1b3a47943bbbd1b9a984e4ba6b9369012613634d924c89bb8be8656fb33a7338e39c5a2863e1f5926d3d0aa576b88900c82863ece86067b3147ce404e127d3743d79dfe992f43e799621a698690a1098d57d98e3f663e86563f4bb00cd51443172ba95138d3c2d05acca071ca58180cfd77ca171a998dd48b175ac776a14ffad0233be7071786229fb285d64308d142d329ce7ccea08f63cd429bb16be5040bfd74f4e857ac94fc0a589456683d4385984336ab7a5568634c9d633ece0e43a8d04ccafc14d6b8e7dfa249a1570b6f14da55cb1614fa34710c32744f683264bae384d65267ab90424613faf8abd6bf7957471f668fd359421352b7f6f67877f295d0a3d00d43f9e724a1899c08f312ba41421322daf138421bc25ac6cd6b1aa1f34f15a16fe0b9a5fa4388d06996660cdddb21f4d97121f419958583d0c3d83eb38eec02810ce2a4f6077d5ef785599709df078d965588dcb41c323de84332c285acbc23290f9aca386407cd3bf8b9f2efb15607bd698c8e5993392873d04b0e59f7453d682a71d0eff8e7067d0a8b5e19d26929b441962acf6b77356863fc14a3413f9d3135cef14cfd0cdacc20b975354e065d863f578e3a388ac862d0e6d070aaa9bbdf814127f91c5a56c96aec0b9a8cb33f8abaa04d8e93e3c965b6a009d5f062c8823ee9abff557c67056d57344b61a382be3d3b749b821e5aa824dfa3a0cf18c54226cdf3524ed06b010498a2a99c71c77229ca17b284248ac6a772d286f1d3df3d33b894bb7da2c9a1572718ffd59a68bc53b9e74af1243598e83c235da213d7509e5425da8d389f0ce43c9b49f4219548349253fc68a9aa3da23de9186536a2cb26a92dd365595e115d8a3dd25eea1b11cd877c2231335fea354473397778de56885e2787e5889e2c7e4134b29239e58c74806852ae8c5ca33f68ff43e71722efee401f7ad5483e017a68fcc264f2d0635891739d131d786825c41c2a9455eed0058f29bae5e48edb6287fe227ce676ec61b1d7a1072929da35ea593496fe1f3fc2a498d1a18ddc889f23f1cea193ce7320198f5b470ebd6549939cf329c3c4a109fad94d1aa8693ae0d0c6edc8712de869e60d4db55ef0cd10379482e6bc0dad8ca6f6cc98523618792e640d7dcc8c5089e0aac1abf40ad3d03af20ca1a373911f1a9a992cb21be433b49a61c3ccd04f2847fa3ea229a30cbdc6f191ca18b4a48a0c6dfb6ff49cd48ca14b8f1d619532c4d068a368be29cd63320c5d64866a393074de0e5b22b32ff4fd20269178a1b34691ff442ec7b60b6dca8f75e821624a870bcd6718b3e52d346f314475b0415d2df4d81ba5ecab46c94239a79013739c96b1d064e0d92b675976fc0a5dfbc8e95ba4856fadc0844534aad067c731eb7eecf3980a6db29cb450a7d0554c5a4aa1cdfc73e838c50e6346a1c991bcd3518c9cc150687536e63cecec133a93ec0b11927b4e74421f1d1a6bdb84be4c52c621db1f13da4a779997d0858a194a68f2b7428e96aa25a1fd7cad9c111f24347a9d22a3abcbf73a42e320e48dd07ac38fb9b18714a1b54cde3a1b2d2969dd296508238965f923841e97cc5b8968c3e409c23084fe00a16f8b22c1a47737e507bdf7c5cb55f13f4c7cd087f55e90078d1e3439634316797036680dfd0e7a9dcf75d0cf7e6aca2cef249a1cf4292d73d450191cf4a1816ba3ca0dfacd154442aeb0bbdaa0899db245a4066c4f831e59acd87891909719b4e7a2b90c885be29f186c1d2a03835ee337f2ebe7769017341932f0d368c720cb2e68420ad3944aa46d413eb2a03d2bc75841b3d738b8a8a66c5c054de7e71032235f1953d05e0af9b3646b899ba2a0970be36de6093aff90ff3bbbe54413741ac9e74f635682e65d53a66687142724412fa143246b8c94f808dad8fcc6283226a513412baeff13267e9521e872f83ded1d8b3e96b9b69bc5202908fa88513c9b57f439a45e02849da883a2d4894c8861180429c890917be342120c04824a8351b97cdd32da0ef34638100a84c16020040882301082200882200842802004088220088220087219f90bd06a76454b76d5c86db62a6259c85ca6ad5ea515cc4c790f8ec711cdc44320a23445e0ade43c2c564b5424e75c5982270c9669a608b425e7b0320a59ac18f1c56bb4ec9b4af0cdbf00840c474c87f8daebee71ea985271f6676236f4f3cf1da999addd0a8599fa0a55ed2419af8f3615f67f6f939993aa7529c8b6a659190d85d19e2ec64c84249eeec10fea3b929e80449eb73f8a65a5c996a057ef556a5fd536607db95e1e9563507f5e2b3d3800627ca7b13f60547a1f3f8728318de75c3f83f1e4928a5df4b65a860ccc5a7d826164d90b6c5a6dc88943b00549561864c06478db229ba8211ce58b41e233b9adbc7b1d532466e5d1ba6391ccdf23339b4887290f6fd139d1a5ff6171995a9aa960f23bcd003e38630d64d6402061bde027dbb99efbbce85d5a5164aea1a5b7411b24a994493682f7bf651d0ae347d3a37f77667e4e8917fd18aa24b35cd1a581613f75542196a24119cd2ef64ebae5a642f1235985acb5c23356793cd324e9d6fbe23e524e8a898ceced5020614a36246c79f2420f624a0f327a68abce4497974dc721083e2f56766713e6954abafe7b2dff5aedc7a6a182bafc401a480d15c3e53d685cbdffdd3c4cd1975deb44050dfd40370f5d3fd02e69ceb9c33ee55d7cc6c3d1dd5d5c58523943b65e53495341f611b389e1eae84c2fb169e549417adbe5a591656c23861848a260160e220539282435c372b9ed3378d8416d7817c646fe39a0497df62643b1b8e587ca2d949015464c086be284f897fabc5415679d0200caacd4b404a14354d208ad6f597598d2844512663f09a0ab7cd8a6940a888ee6226f29d4480bffe46d356c2a0fb0a12d5c21e3326954d2b1caaa9c8f8d4cce7353f0f25356fe93072b124bb43533a5e1be5fdb5a4901b5d93b17958e70104464cffc49ab044cc69bd02821c70fd7c4a4a51eef46b0f6558e6682ae4151c100cd9c13030dd98f4065e9668d45c123acb6ca72100586445c6701e926a6840dfffa77a8371c5e0832f5138388d4e8258b965d47cfbd3caa622ab8d338378d9702d1f829d3c639e0f5e77ba7814d90ae6113485ac287bce529cc2306e22a973985393adb597e1ba437f70558e88c52797e07c5642bd028cb7c0e9c77df2fc4f1873a9cf540e51a294c321e8212cbc73b76dc5af8159c50a937461238cb33b50a4767601a53a9bcf3573fc2985b96b3f5ea39429912eaa29a8933dae45279c40b78410e54d96ac97998074b044887218dc62c2461461e955a220f07de4b3d1f9f85a6530719dd8c4a6f1b3e3b6c9f2e69451c4125c0e0e29f87e5013c09ca6c4bf69c54d0a5429e03da0da26833f1294f90010ab4437c8cd95c581b007bec2083f25f3b40c2a499528a90cc08694c2e84472e974c69e583ccc30de19ed4c51f67799ee8af5b81c835a6a20e0d2db2624d1f15b96445497e04f314bf46291d93a08b47d4848fd2e2e5291b03c136a89ca7fcf653f68c87a8841c68f75b8f8529964a6617fa541e26957dd7da48ce43a3101d758647e5a72aa0121f1d9c4e091bcb4d99031b22789f6a9734d118499ae40cab07fc5c692b77a97d9265871a184e7ec656f53d5b56a94cd97b95226d4b1d02185b3e8d03064b93ce9906c02653b64891dfc226e11095f9d16e29312c45e6a9ec48883ff692253fa7c876d64186e69ba6240e863b6aa9ec44dc61ee99f8df694923d9c9a0656e1a86e5e7d44048faa335cdcb53f0e2a90ff8f1e6f9d06a5dd1a4f416ef8a582c3a76a8db84f7e86b1ca91e227781362f834e4ac91a6cc80ced6a4adfcada0f443116628a20ea3a92261cb579e724ef7377831ce95c507d1fe8839c9ef6676ce550ebfa59ccf044a8206c748d123c1a0a896c52741abaab1224f57708086d3ebd0bf5ec023b198df52113a87ef18dcf30d180ecc1047b0ee4cd362ceb30affe6b4d5dcec525291fec910e8dd4edf45f07c20ea0b47e0b9ceb86c8a69a7b8f2fadb9784bdeef6e6202463eeb0d76b9892e988aa142a5f7dd573acd86a3b03b745571b1cc93d5253596d46434bfe498c19b70212db1a07efb4b06d0f8a69ad5c2fa4764c7705970a5256e80d67aaba780bd98458b4db3e65eb90c3beb6c57c79a5c03442b7c51ece4d2e867240df85f46a0e26ecaba9e30833f035e2c8bf55c344d6ab233828a2a5f268436cc1dfcafc685b121a5a46db2c02175991bb113398056733d1ab8d5ed5376d8ba5e69ee546a6eb37887f30097f2118bed65cbd02d5d7bbbbc8d69aba3f373381c8a6a74113742da6a6cb3641b4eab74ba71e78c44af90339c1f80e15fb16a29343a9abeebead67578d6d12f39aec1541ba2176cf06f9e0ccbe00b061eb563dafc3d44dbc1f20d44a2dc2940b83a245a91c7cfe44510d8aaf84f1287471702db781253278f7d60ff5e100a2a9bc54fdf6ab5dbe7a755e6a27bf484678eda3462e02d755c0b887a3283dc269b60ed7fab17ad0c4fff18e41750c38dfb558a282eac0c205a1c289121adf951d3309786397054641406f0ccae3a9b57b9ba323c1fbd0020aab2ef53ed66f43b25b964c90bed757e697f72122367268d184bc776741a7680daa4c05b05d042f7a0c1a9102261495fe67fb3abcd0eb707e66bca326648428d06e5a227c1889453b9bb7d2114978dbb7087ac6d608f81c932c8b8a908979fd3a5e91486e3ea3d6a1b6c46265cab140d13151fb7ce6ab44d3a7c4e598ebbc9dc8ba93272931fb93e1a933afb6be7e5510102997201e015197a7d5e410b7b6d1372d73e72a57c68a8f9b4ce525315a5b6b2e32f67ba9c1bca6b01069e77193b9eb9be96807dcc780759d766d61bed60d646aaaad961b851a88b73a6f418234adca45c12d386190027aa913d2be551501affba431154ed2d4f6a5bf40d2894877a858fdbbd962bde6f1fdeb452ce76aa9161dc1dd54b81ac0cd3ba332f48d74125195aab1d1843d35fe5dac37de04083930c3ab0210c875b2a42f5a881493102188cc42eeaa8759e2819cb35109dd79fe6dc90827e8ac0025e03095acda095a0dcfb55a673b2858849277b8af04537c206f193966525b9986225071b87f29b2c5c65c327169d0bee1b2cb78c6c1204b97db9f573302926839823b8aff437ac1656af29a36ded1faf4650a22f9c6edbca7bc9364b6b05f3333b71122c19414197f17ee146f24bd46cfa87914d07a7821776b730e4f8ed67d9bd30a3c0a73842b403c79e043380ca5b9662881960554638264369103ca87174f063f41bc1f23c4f77f50466def5ac8d5421de8f996e16ad064ddc6884253d23d0be2313652b8342563d9555b8b19246d09e7f849c7bfb65d01271466776d7e0f89de77195025fce432f9d3665181493eae281582fc1d2fb233a23c07d23f586e9d303af0cf76a60ca5817161341cb8a68fc8b94583243203c1b1b945798e554080b822402aacfa23e9b278e2be4116f09c4ecac24198e54a1305074d09813adbd2b055f9673a4c63bfd5debff13a1394c89f5d8d035692006028d53d08b89e55faa611e356ae75e81a1618965b10046acaa4eed9b8af610184415e94e8759406212950ae92bada9ac783df3290e3571dc2b26c571c0db6011757edbce94221aab865f8c742aa7a67c4317c3ba170b23dcb639d9211655f852b486751db134064cb2698645340f3041a3248aceb7b30dadd63367859df82fa56b31fe084eb63146f6dfaf106287aedf5b1d0a66eee5184aba7af9005dad0f7df2cf097c3fee3e2f10ba61b1d1aea0d4091ab010dfcb2f4c0da717de8a8a82e81d69eb01ac5600eac8d41e3ed05a530e0000000000000000000000000040865dd1b66ddbb6edaaefdb30000000e10557382f73930472850750bfc0facccccc94fe8b07f8e201becd43e1d801db01dc01650abaa1a2ac83cdc2ee4d5c55780eb6289e7431788c8811076b8555875b41655237d82336c67d418a11426a831d6fe8599e56cc8a1aac951f4d9475686e4983f52990fcd019ec204a3aedc98a393b19ac9d15a285b6919fb118ac65b2191d1572390c96d457127efc512f588263ad598abb60ff8b32dca35884895ab036ac4487f9499c059ba5a3a458c1629eab163da655b053b228f07228f952b0a33aff991422146ce28debcf4ba41c7f82354d62bcf7311a8509b6c0ff825fc48ea425d8bb4143947c1809b60b2dd00a7fbbe1e523d8cf67ba1e2e82f5c208ff465142b0436698b5ed1a04abc5ade818ddb0e407d68a697e2e224ad8d803eb9c438e5021164f2ce98d0e1c3f3fedc412244fb02bebca64138be34a974c2c5a816c58540c25f98a4b6cea0d2e0aeff15fafc4ce113b1e4e62c7d40f0f7df2ca312496be941c1dfd473c4164c32bba8cd8d7245dc462213ac67469d5d310b1451bdd109be68745c86709b19833c685130951104bba9e980f11205693d817c44897991fb6d02436cd20a6e486fab0533c75deb81be9dec316ceed668587e5d1bee9e277d882f551b93439d5617338fd4bf613e42287fdea9a510cf993aee0b0388ab80f7e9f29ea1b76b028cdd66cc3407aa4f1ae61c924b17b4f9bd904765394e3232cc80fd83c1e44bd70c016cf8da953d8caa768c09aa7fdbc4e25ff3360c78d71f6731aa36f014bde7b3ebf144415b043b5f4eb112b9980f5c1f3d6e2e8bb11013bf2073b35f1324ef0006bfcfa46a955902a0cb085f8982f9ced26b100eb7e85162347030196496bb807ea19b694ab7bc15fccb04a05214cfcb40ccb333895bd1ec9b0c4f935b4b193146763581f7ff3eac729a49418964a89561bb9751685610b95fab47061d760d8f164cc1fbed717b694bca2f88d4c511b2f6c0e211d7951f495902e6c5a51eec9424a044773618bd661bf85255fc8154be4a2e4b4b7b16ba1f459583eefec6232ce58d82267247b6ad17de385d9a4a6a4b0c292193fa25fbef1cef10b1543a9b0346aa095d63d8d32851d2c8a63aab0a892c29621cf2783a3320a5b4f860d9c44557e286c3b27fd143d9855e01396581d67df396127ff8f06df9ab0c95970f095c75361c22aa9a28cf15d4d874b58b6e2bfb27d58296109b91f85855494bb24ac5e399c5148582c23e9859c8c0c7284ad324d832f0b2a39c808fba95db0e15b5184adf14efa3844d851144e2def368587b0fe850bc91a2c84d3a1ca0fc22a17ffa43ce4eb0a10960c672c3f582b9d7225abad7db0c476dd3dd84108757c1456ffc63cd81b9b662b2b0a29dfc17ea3f0c1e1380ef9055bac3877c976c10e4fc7f2ae316ec15e95f34f4e519a5c59b0a5380a47f3d2156c514f54bcb23e55b085a23a51e5e22a4a0a163bd589b04f8182d5411cc4f339b9f4045ba84f7a8167821da34b1dd27497607d0aba23c11644ca913ee63282edee52321f51043b5a7886bc951ac342b04fc67e556f698440b0a3d01eec793a5e467d60e9e6d16ab08c07d6aa6046cf6ad265d013cb3e1c8b126771626da41316c4820cef2676281d8ed2299089fdd2fa2c73262d643ab09c4ec8124b37c87fbc127de49b93d82e598a640fe2e8331c89edbfe2afc8102d8a3e623f95498df41b55f5466cd15943dbb8ec4a1691dda3877c3911a4f2b9693cb92f43ec284ad99f166574b9107b7ed5c4e76f7a340852ae20a50ce7c306626b745e312799feb0fe64aa9022e530d987355283b287bda367fba624e4618769f19f21f23bde0efb84ae66e35ee6df745853d233da8814c581edd3a293c57d0e5bc3a82832f5a95c4dc1e1ebb9738a1b9acb862d35050f9ab3ae61ddf3dafd89084f6e607f6c7073b1410d6c8ed6d32291d19446c9c05a6362a1cc05033b88ebeceb1e8ffd028bd68aa4681f7d0b6c331567c3b0f8285e81452c521c0f9d02cb455f919813d862c76c7812d82aa6789abc2424023b0631ab2f20b004034902208001008006332cf17052893d795686cd762df32b9072189261bb5569903e618d6115eb2d5b739e468b61f9710a4dd15968c2b08ca43cf0bfa690e2c1b038c6e842d45ffb0b5b14b9bc33a382d8b017f6edff99fc47e124b50b5b8e49294a71a45cd8916686f5d7c55bd88286bdb867413a8a6961fbbe601eea9156ccc2162b886879a6c6228585b526a37bd420d20519e40a3b5c69e687bd14e756586f233fec2a6c1988830519312aac1632ed363d85459fa2aa06dabc214b61afd0f34e57821a85cd6c23ac0516488c50d8c28ac94ba4f3a2269fb0340c1f9335d93e9db0c5c8415a7343e76c9ab05d43743a589a30610b32c1bbd6ef25ecc852c3c694c263d0a0847d2c8a622aaa98d6e2246cd1cc8548391f831e095b92ba35fb086b5f05b75b6184bd2c477046d5b408abe8c56581c5e7f289b085726610263aa52a87b0f33598a50d8bd2a110960817a5b004612dab28722ecf45e880b04ea30a1655da09f90fd66b8afb9cb9f3c1d698eb291b2febc18ee2869b0b2baa20050fd670b0d60e96bf8cdc94d7c1aad660ec619ac3cbc1927164d4aa70f4218483ad2bb28c7810bfc1b6cdf13842bf526a6cc005411ba4acc19e9171eb3153280d9610ebd2c85c44b0c7cf601f934a319e820c797b17ce22063b9aa584bcdcc3606f0281a0a84138a790318418636444fc013d420851069559a50342130a21f8ffff84803f449cf44298171d6f9fcaf0896aa4b7377d1d36b73e5be4ff2c55d7f59ab0f4c7119ac09e96c9fa45afc1329c98dbeda2af69f53b68eaf4ba616dbf62cad30c73b432b7f8bdb2516e1811788ecbbca70eba833e9b8c115339b7dccece30d79efc569ec8b4b923f9b226a34165f7db581da5f876309c369ec17873fcb4afde84160d1f43f7c023490e03f6a81395f01a1c24fa3863e02d59c1226f337494836c27669ae78253396df3d5110bc6d2f4a91fe01ca5b90d7d6485d914293fa8b020beb77e2605bd6df625761439d8ad23c696e9f328553e09e779201561e83055726aca02f663eb9052ca4776b537e1da00a44256a145e9a758670f1d9d3c361c4d5b0b64bcd12a76fa1c5e72e38a8d315854460cdab71fdfdeb5b7b0d678ec3ce774ead184e9a463aa383dea99f425ac824a09f191342a2a65d644f1bd00225522f322175f994369fda68fcedaf8e908e194bd5cf32f7a5d66cb0bdf081ef0cac489f004cb7c05ecb00bb9bdb36ce38b4749641e3be90a2c5d32bcbd28f3098c217b76fe1424b4c84d0abbeaa6ab10f4c6d6080caa2f10530bdf5725d16f8a8d451ca375cc33e1d9255d5f5dde50939c280b25651a4edfa0935eb61859e027071b8e52dde698853a3038a8fb6149a830b6dcfe88dded3498cd24af4861559ea16cee41b10dc456365cbcf4eb37809d74cd6c0c2523db152cfbf066d12153f62ecbfe1ef2f0dda604eec9abf2b4f63da71201870c030a1b682052596de63e646e386c8c89169bdc604b54749752da39b53cf9002d24141862cb662ddbef1d320bb35ac26b9644f7264b93168baea0e15785a9f5f370882554a2881b1d33f9ea6b8b92d40236d121ade9249c9320f3fe8903d9068f8dd9902eda5c9a860bed3cad4754080a6f2f16d8618dd434b312f46b4d91680d0e6043dc7d0f63bfbf841e4c441c9783101bef2906543dc1ef1d524fe053d6eb48d850e6612fda915d1ef455fbf001363fba68941bd8414713482ab43836633f984ab40b76613f2e0dee107765047fc88edcf79ce044f700d91979bcb272770acb28ea69afec1920c4f600fafa994d3690b2a4720cc003f0003c000fc0a308be33a20ad836150be07f57caf77e7e30eb9db158435252e6a6994500000000000000d0a444ea1bae04c804e70447091d4f41f3384e6b32bdfeeea0a0bf4a29f35788bf87c5094a39c48db019eaa3e8df4f358bc4dd8e1851348d2b63637387a7f150b4f135b769fb7c8a29a06822a43cd9f95524dc4f341e2585cc5229ada827faa431a6d07fb0c1839de832c6b37959ba936a9c683dce955be58cda440f83a40c2d5995729a6893e5f487296564a239f7aecaadda1e4cf4396c961e6b77df984b34bf6bad3f9da3164b3431354a315e7cd568a94423b9d454f77399c8946843e23cac76126d4caf12ff51178f245a91b8d1d39147bb1809426ac50c39ee1b247af5c6a0231c48e6114d0e65f297f2620cbd237a8fdab0e5f5228de82be7c2473ba79492115d6a3c1782558c8417d1fe6c8cb2d09f229a6891838f58aad859223acbd9b2485bc554d523a2c9b21e3e728826e73c1ff3c34dda784334a2e91fd6276fb75e88becf51de30abf0f9a20549393388567b4dff27a32cbd209a14f9daa251dc9c2381e84a2e56f418af53c480e82a6b14cf12626ca87f68fb4b53c8ee28f9e3873e3fb372da5cf23e34667ab1b253c987ae91e6c813aee4b2873efe66f08d41c974460f7db498d29f723aa6781efa73d5bcb1f2a7e7050f3dc62878761e55cdf60e4dca7b218a48544ed40e7dcae720f387b69c5387b63563864d212cf974685e63644df9b9fb1cda2499125bda338e520e8d6607e91b3a4152300efdae669491e60e1cdaf8cfe8509e33ca1bba08c11c878cb2e77f881bfa0ec1a2660cef33bfb7a10b49755e44d2c286be336c87d0701c2d5e43d7f128e70e4d6d711035b4171f398c8ca8f0d3d0ab7c874a0e2ff669d0d08708918c3c68b28c33b4d7d3534163069a1133b41743a776b7c55c86269e46ec0c26b4c78890a1f7ce9d31836368a5fc73d6970c7e11439b35ac815f6605370ccd040fa94611cb830a86763dd63a49b614fe42d75239788e8c72f55e68d46462239866554d179a1099e7236542b8d0f6af83acdc16fa882d2164e03169440b5d8311c71eafcc42f31ab3e883d9140b4d4a14d5d09c8f2b34312c6cceff1a2bb4a655b11d585aec55e871c5178be548db322a74be9261326f98bb53e8438ac831ea2b85ce7443af79a41f853eaf22fdfafd352b5068b7da7df3bf83779ed0a644dff0e761e675421bbd627e88b778b96c4213f1634c36a4181599d0e8f76948eddc125a8b9647237bc33d4b95d05f7b6f4af5e83fafe8e15676c77c12da2dd7f8d8d83a12dadcdf8fb11a78981ca191afee0cf11d6aaa18a1adf0d219fc6a650e17a10f3959b7eebe4684261f663c56a9271e3604332ec5fe2685d03b980c4ec3314e10faee8b3a716dda300542bb9b9152128d0e2b3acdd5e02b66941f74d5192c5ea6c3077dca1f2bbb3b1a3de83b839049bc2f863ce8cc610c7156d1650d0bdf9c59fedb41db19837783f6f0dbeba0c9c8453a27073da8cc2749332682832665485c444afd06fd894a8acfbed8a087ab9771d95793576ad07c6e1cc772a2790c0d3a7598223368c4536c87ef9f32e822c62c92a747c5bd18b42b9e19aaa3060c7a8c65decfcbdc7b418f22f354e6b8a04deb88a59a1634d2f8729c055df598a88f54c987aca0872168e636dfac0afafd145269a4479e99822e784e778e0e14349631225fbff4023841fbba0e63a7be58e1328a263a84485fd60f5151741a5e42881d4bb664ef4f123dcac95c62e849119e1453949546a2bdd895aa392f7b7c0e249ab2b8217f78f290445365ec0a007960f18866fee5a35573e374dc11cdeaf445f78cffb6caa211edac690c49cb21d23f23ba86594cf253660c32c66211cd4859c568c773521a45f439f29f76643e4c13d1f686a00fe2653b888f88e6916a46e3e8bc909243b49e91af2557ec04cf1aa2a9c81b652d1a7785e873c634c81e56a13b21da8c21a753dd274ecc06d1c3cb9c410c8e2467a704d1f47feb86e8e62d516211881e3b489714752f4d1640742513534596998b3962f1872e858ca7aa3c65f8ca7ee82235e8b9dc182d77068b3ef429be6c8ed90b3174c287ae33e3424e8ed44125167b683f4e8aa441b72dfdd243a7d1fb2d29cffcc4f3d0c68eded95711e989c143ff1f3bd9733497cbce1dfac98a682cb925a384d8a19f2c39b235b276787e1d7af1ab76998c2134497468c733b894b4444d83640e5da5a4111b6357df74e5d075c7ed542251538e701cda32ef2bdf2d8921261cda914c96f12747216fc61bfacd156931e6a16787baa16f38bd5faa7be5176b432b19ea3f0cfe9625336c6842533fce285518cdafa119bf14a27867c97797851aba6ca1a583436ddd60b14843bb92113b4efea6cce940611b2f608186e61ac49c5cf5553268d44016674073cba334d98a87635a8285199ad9b3d6cf95565a5e199a104d3b85d1cfd51cd2a82b5890a14d92b3f84738b9287d0c5d3bb06c316c87886e2cc4d0c4c5ecb5bc9be17a1661e88377c6209a054d9e4930f4a873a7b1c3289eb4c1e20b668b48bbc8b46aa5e3a41a553a4849ea2cc0c20b4da5e4319dd0966140c001820134295874a1d5f38f97433e08db3083000b2ef462eab152e8b83125ba8576a66337e764daf142da00165ae8715cb0cc41b4ddc3950c60918536c644736c87df174b2ad56c16586853caf0d4d0ec978f7385a65365dc39664dff0c63856652c2730863ae41ab42d7d9334274c8313c7a2a349b52c83955e3bc9d2f536872e8688be5c5cf4ea4d08786c6215ae81c8e42eb3f9165be9f7a26149a987e1e21653a10c713fa0aab15fe1e799e5a27b4fb5ad69335a18f0dd11a07d15c39a94c68c251e565b095213496d07563c9a712ba98e2f7fac5c8767f5cd1699f58ce6efa49be92d06e341dd730b9488a040cfc020b24f422a1355a4a6707c71fa1d7241ad7c24325c7f1aec0c2085deeac21669c2da947b8089d758ccdd88f8a8a02b48e29b02042176325cae3554f259321f4a0e4db2a5944c721c542085d88af99a106d193b204a11f590b51b2e5f32df53707e063030b20b4d191e40b163dfbb6cc8184020b2bdacf11720e53c63ec8f9413bc9323237ccc0736932c0c207bdb68449fc3c9e98b9151358f4a0b36e98715697edf0a0cfee69a02ff33b175345eb385c452719ff944276d096a71c3178686c12a3834e62846e8fa792c839073dd831f3ccfd3fb72c0e5a53f308721a212ac56ed085caa93276f88f2f5ca91f60618326333a461c19f1c6730ddad82096c728b982382e69d07fe4d129b71431cd9c411346c6617c8690e461326863ee7635f5f2888d105880450c7ac91349d9e3a6ee7b7a011630682acfab84bacae7682b30058b1734b21d93779ec89435ee82764ec2456f9c90ece68f52008b16349d53337e51f597054d6ce8f0a12556a7b0ada00d195b74eb6822b1412a68e3e9ae8404ec66ef7fca21e7b23ef449346e4e511de724e343ffb8b15f069ed952640f6d340efaad27a173f4d08528b37a199539ce3cf4fe6d1234a7e70a0f8de798294cb42807397768537cc638430a1d3f62872e43978611a4fd51aa0e1ab8a043ab3f22bf1364bc537b318776a32a85992ea9525fe5d0b564cb133ecc6534c04a711187265ee24704c9207abe0138f4dbb18e7306bda11791fe94b8d91cc73cbba189d0b90f2b6a66070788db0d2edad03e1649d91d564f6bbb6ca85c2fa331a270b186be336af8b0320e21d9d22a2ed460dcf4ec174f823e78a4a16f59958ca5290e2ab86c8a5101e8c1051a8a9ddf6b6f3f6b02545a828b33f418a47ac8acd11d67cd0cad56d0146754b2c5011765e87fad637f67cf625a0a810b3274922bcf67c91944880ee0620cad66c3f698a54b2c88557914b810439fd95ac52abc7153641d60b7021761e8a3524e33b27caa8ce400c305183a49dae11d574e6529fb85ce42ccde2b2af3e0a35cb8f0c21a3623256872cf2f06175d683223a688e131456133a6ac70c185e6b334f495a87943f5b12670b1850b2df427f27a61fd58430e91e20053d8b8518a858b2c34d6260f1bcb8ae42d374020582c7431c2c6b764d0c515ba909b552f445738a95801175660e3f58a55e852ec43499527e3afa2c29847235c50a19fecdf1efa3064de33855653def45268e9903b29f422e5f87159fcff7750c142b88842af5395a2e35fc91d2a50683c9679e8668d12ea5e3ca1b9508e2ac6bf58e58d13da47f16433566e33cd9bd083282671fc35fc432634f2d83d430a9d7409fdc6983b73164f15e3a9842693fb07471925060147b8b8a29194b276cb717f4b4273ae65e1abb2e5f5182434f339a378914246ede5c5119aa96ad850b673a97a8cd04e76fed4191e319217a10de192634e31b9e38c8880334001356f547b418426546c0a9ba186d70c15bf8500aa5cc0c5109a4e89b38f61d0ca960ba193bd7029a408b78a9120f472dab0e733dc48ff02083decfc9254c7a5b207ade8f43c5c49ce0c9fb30f9bc2c50f1a07791692fbcc47491e00ab9670e183b5e7ace24466f87f91b8e8c15e6615ab62d92ddeaa99b1c6a4e91f82687bc183a66185fc8c8b986ee7a28ae6729eec4dd9919c325b71b183565245b9247361c2ecc7830b1d34a9f1f3865bfe8ad91b15459b831ee3cd9dcc1b3a130c6819051c60071738682fc67b6507edaa94bf41131bb56a0c779491a30040c1850dfa18d57c938fd6977e0dfa282fd94953beca7997624d7041835683ef637c0eb442d619f4eb9d219e3bf2484719f4b82c258d8e717cabdd80d1115cc4a0ad4649b3659070581d0c9a09236f2a21d722828b17f4183a926f6c11729e1017b491b2f1e51037c2bbd182226ac6a6197563d79d059d74e76e47f5eb919d04172b205358f06c39e5103de6e042059dc6dcf961d87c192a2e52309692979c79529c0d0abc18ad1845f2fc3c548a371200000d2e4ed065a58aba131b369ccc28da99ad945a2bab580631a26823c6fc9ba75207099f50347f3215ac33b430289aef0d3146cae5fd4c7ea2910a214e8ae787ff78a297e4ff1fe238650d77a2b310eeb02fa5d8d7404e3455f9e57177aa52749b20cd1dc9642095250b4db42215d5cdb344499d33d137c8ade4d99593438b891e5f5a7b38d4ec9c7297683fe63b1db74f9e7020b1b04473b164e3a8785be4ed01560b6051892655c7da4537a64f28d1a4903ac609f21f59e524ba0e9a63b0fc375a69861671e84c1b87fdabf4f3644e31c514cb8e6801874e72084bf11b45ce0fb252438b37741acbaf310a4d22d7bba1fdc90ccf1c44a839bc0d6dc31c919372f898c1cb865ed7a1a59c1c62cc946ab186e6f1c3c7eae3204f6aea942191bd7be354af408b34742e0dc3e528eb3d0db52102e338b440432f92e452552c716cee19facf97c8ccb6e80e8e42b43043a7a7adfde620ba166568377be4c5b95468f890a18b8fb1e4ff2c2911ff18ba7487e11f3f49de2386b673474af1b532120786a1b7cca5e181e7c3cc300f182ad60f2dc0d0a47c0a71ac43886bd217fa8b789e753d73f7efc74068e185ae63c276524b51e992152dbad04b5bb87c1938388b0aab68c1853e23f9c7d4792a358cd94273d9d19b132f58a6cab6d0429ff14165381bc63bc6816e428b2c74157e2b6fd64b1e8e81852e52de0e9f5dbab3a95768ce42d28cf3302f2689159a765c0e728aabd03a88bfec8ccce16351a10b3fdb72d5fbdad031852e5f9860feb04274c6a5d048c819c69cf26670b98f42ef12264fab5b6aca24147a4f0ff330333e377c9fd0493ba87ca29d354fe48426ce7145e3f82dcbae09cd3ca8a09d32889c1f87099d490639856bd909cb12fa4f8ee17fc7f2b8595442d7380507a12bcef5cd2bba1c9aa7b1a16f7f6692d07c6a8e31b926698b0b09ad58d8909450393c4217599153bae699899211da3c0e46a35b8ad0c56af1b8fd92a29621420f3bc647b698a9426443e8c2c45370cbe41f1a5a08a1d57315cb289c54b20c55428b20b49d2924c5e45c6a2a109a0ae2c95265f0b819079a092dace8347b4a71be1ae53fe82da65cb0f6ce07ad6ee7119749d318e9413f291d39c2e5c8631125d5152d78d06ac8f0b175cea46829364e8b2a5ac72b29e7abc2c48f7e8ab5d26207fda7385daa21e54d21c4a668a183bea3d563488ed621156891837ef36c85a88e3d45a492022d70d05587104ac3788e8d77f5418b1bf4783dea75ca9c45b6a2850dfa9c62c6cbed6555fde02b5ad4a07f182a29af45ceecb8bf089022b4a0416b993fe617df2b3367063df4902c6a8e002d64d0fcb9abbe94e5f87b0c5aed8a9dcb9dff571e18b4b9a2c2a60aebbfa0093f9efda1216c878c0bfaf8e14855e29ae5f52d6833c692f829a7b8f859d0e48971d325c49fc357d05eaef6cbd9b5d88b0a7acb9fe337f6fcc95a0aba7c58a9336773ca140afa473a1ff2558814276f71823ee5f3141d4c8a18338ae6a25c46328e3aa2e8c3c7140f6a15630945af969dc57fc3fbf1a0e82f5fdaf74c92f9fe89f6b43d7725e98b279a981a6b8e3176db894e3e49941063429f9ce8f33de4cc9142b7892efec4327a8a269a7c1029b75486ee0e92892e4b9c8ced13738c893eafa68c51be9ccb5fa29d6eb7b0d1e579c4b544974933727c4f31735f893e7c55f6313d29d19e3628b7e4d94f93936873dc38b2249a8de93d2dc97b92a591e822cc464787ed480389ae3f1be51c3ad22dfe88ce25594ce91847b419312af3a6ae117ddc149d8fb9c8db6144a7218495ef8e17d184f68f5d155263338a6892efe3869162d64a13d1c50b398fe7502522fa570793ad71b6bc213c44e3287c83a4292239c7105d4a1e21e4f7abcdbb42347f9dd2f1567809d1e3abfcb1fbcc628683e841254bcbd822257f82e872e4ac2bfe68e4c608440ff35146112b67f70388ce2774f008925c63fe0f6d0872165fc34669cf0f1d845aa823558a2c08622008612006822044d907b3541910048848e5c12847721cc4351f436360301a0843a140180c0c03c1402010080402813008c22008832008c410152831c5e80315b4dace6c6e4512112e92c0568969e4e9886270a1afbc47f0b56c677c0cf828e5a47f1bbed0b7056fd58ee357c50fc0219a475a399945354cdae4467d3d1046504f20094cc91d4074cbbabe64cc383c51200fa3c2152a8d96c8e62d0e95f7b1cfe8958048150e680f68b02947da8423335843ca33f84b01a024530426c804239321cbcad8460cf0147cfc041b2e775d20867c2aafc46e65b62c5b923f698a32f992614d44d556de2a267872b39ebb90757053552a12b25ec6d9ddd6a5272fa084653912994b1c8b20c117dff4c8efdbd7125b253af417848c27c4b843d5d8b49a5b4018812c6f2d55760c2c845f2837b3a269a0732f0978991856b4e5a728b1de7d3e7e96c17c052335682f3bae1b34c3310314ce7c35a6109e59d86cbd1974331b33093338665866e4cc30cf7268e4cde49be19829e13314e6be99c15ab3778d52e1b160334a665b61b66404494ff07ac363405ac652a098ce69e9b3091c051a8c9352a589d7ce8515b6761f72e88fa1eb43e1bdf73f3685962a2cc0b2924ac6466eb778910ad6eb3e9cbaa8d76a5844f7fc7d280a441d9144d53d1e8e47570e4930cfbc6b67c003f9aa96d7c342caf92c90d29b9b025ef206ec044c7b9543a3c985f08b49f9f6031e150407a9e86384f5214298d94b57c90873243dceb0c0b6ea84a0cdf66f4fa6ca2e4a78098b1ffd1f8896a7514fe1e05720b8c9143d00ddafea407e4f42bc4e233f2e720aa074041b8739ec9921b8b9ef84340c97e83765d56b70bd6cc6ba6ccbb6b66d4b7691bde61367c1fcffbfcdb7a28583e817a17fd45861fb14ad0ddb5ed03bf054b0b8fec43c132e5ffb8f5f2cbfdce88b3a869a61966a452af16acfe19161e730ec6887e0877efceeaf58797a57532d201ad007e0d77a939e480f60475462154969956bb5aaa54a8aa340856701e2646e79c26d6103275440cb3e9e48c831ca8c251161103faf07536bc63e8b5c0562e2af948b46cffa88caa983204b3efdd6c27a688c901cd9d8a93469387c11a71e8dd0c5372163ba3d7672284a74b9fbd62ea5415b050605aec707e063a6a505fd97b1e4023d93da101b76b470436c91eb4dbbf290e37fada9877e0c37c7c5d71256f5beed2a37902455a4f19c147167ea43e46e37e4e48d9c7b29cfba53d0dd5fcbfd17528313c0232378453d7d2298c3d2aa1d7f0916ce88adcca85f4420bf7fc32540f21d069ae03e9d90980a441437605aa4e53b931fbc508535d7e12a5ef4ee9f199dfa64ed72929ecb2c7d070e797b787305973483cc4a69ba9418801342bb375e077b4839e10bbafe622069e9d62d7c9eea0cbabd8786adfc65b87d1102467b6e0a0792bb7dbc411b7e0a6338ec2002f7778ee53ae818dac59c909b6310e2c7add0336206b1a6648942218fcf1278d49efa6777876b5460d74fe23cb33cf98052a54d480be968a6024948a66c57f7b8c43c344fc3c126cbcd40dfc890c44de05d1927bb8e957e1b350dd4c4a99e86f5e49f6bc553f89f6ab0f6a683fab68d32b873742cccf56ea0f759482d86356e6aa207b1b7a6e5c22e054e31141111f6874f0e4aa67fd762b34defa3b78ca465c8e21b6e59ad0d3e07a344c4a308f5708105d2497b5cdae9e78455c7e21c76d6b7111b5600a31c543661192c8eab9bb14b1ea5d9e14af099ba964247ce36ea51760deb2ad02b849fddc9dc5e24d08f49ca910ae8e4c0f22c766a8fda37ebc5804aff4f1119109a96351883d74a17924ecda542530c3d0c4248065d498feba9b5b43b46ef2c95d5c8486041e36253000a0b8c13989c2d111223605702aea45a048a88a422a62a08c9afec1923996aa81aadf27435e56097da4d940d1eb9a526c1e13c5d2ae2c1382690063ad2485f47f2c34e3bbc722747cf44acb0138ba897de04f8bd5852777201731fe204c060d0e558183302cc64ee483fb1c1d572b0753e07953c141bf726c1154588385c1ac9105c1337f2f5d03526b964deab2a63b108dd58e8a09ba83a26fa3062f16e09c3c957df0f7ce2afa92e3ec9d88bb7e435fb6989bf8e3e8db09837aa5487be3ff07742dcc465797fdc222e044d870a571a41df501a1980b31119a5ac09e028cbb4b59e4afb44297e51d086cb8d12a5be7ae7c0b5c14dd1cfc7cd1ac98eca531ae893f43a3a12061014761bc332142482a9f44e8388c4c2b3ac9e2ee1065b83c842e952a74d293ae5bde762fc1f0f4d7d7a6c6382d877b1c2ca92f22b6a2b3e98bb7834045e35c2011772c94118da28fd2e230104b019cf0e05259260463e0fdba11db2305310dd632db39f18aabe33288199f25d3cdb270ffda8e425e2c1c301b00f61574fcd8f604f7df4e2df357c8573fae74589074a1ea3f6ca5fc1c157b351e02ab38248692480145f85214d6a97f316b978de55684c494ccdbe099d64f60f063ad9ea043608091c6d78cc2d8aacce700cfed57652187d97cfbcbc36e707e307b5c0f5b48221763f8a8e189f344555367aa7e0dd18cc9610ca1b45eb874629c53e8bfa12b94940e40fc0819fb38f2f473c11093a2e37e4f97749804f2ec2ce414649ac1126c584291d3c54bbba03fe954e39c759a34c5259d859662d5fbf7c6536af0cbe72ff4e32a922e6b0a3572a6f5538426cfb9da9aae8316b7b9675aa7a0f8816062e04d067812e02bab2a03e013a2c702900dd16e820c09d85f408a09305ef06801e0c39ea08c04b0adede09dd6b34140d040a746ae1e902e58874817fa99e2f59d3dcb3acb851d2bb9e9108fdc7bce578bc7658e2d99aeea87103db6deffa5e9616d45d45145fcbcac7b6d72b0719d66ca177a8590900ce5cf768337ae35eb3b78bf00f781769a7c9491bc8431830b1d0b9ba5453d63254c22bdb3d6ce535153bf9fc369d9ddd6121822df9b126fa827aec13f44b2eb3dea88a72d5b7ba022dd9318f8b7f27e902d1af722de8e9e995d13e73ffb3a4cda92a34219ae9b22f4bdfcd99eb736daefe95621d570bc65209aba2b182a0aaa4b274aa1cdeb57b95ab2b9c95f2ac12c64ec6cb8a4d955167f56a8f291e02a0a8545385122ae1c93cec0f7d15b54cf7d3df104b7e5c00e4f574b2cb5732540d807640792bb70bcb4b54cc94cf9be903a177aebe1b7d6d904897aac59c3536734c8b3c89eb42e6a86cda0616225b159320b9c139d50d6eefb9c1bd5efea5d72e764b38e8b8da45520786d05762b5cdbf12bc4e52286fd06e02d33bc25856cd8aee8c69490ad332209f77a0da7ad3dcbdef2ca903c34692b0f423194483a27c682030cd052f29c97042356373777d84155e7a74d9e0924a4832206849fde90fd3814008a9dd62cb009b02250c9423c00c3001703200b7bc08f08826b7083bdb968643432faa2302cc73180bf71502ab72310336e51217c56be6bd020a2382fe2cf3eb0623af44dae127ac09cdba32f5d57a699291cf2529e306691127df4bceccbd555aa53f6673b7bbac6bbba4ab2eaf2d978e18ebf735c66e961d8bdb58f553a0f2265eb9b509cf399a18d4a959c54af6a9bfd4dae4db2ac431ca77a998d24291dbd1a5ab72634e7893dbf2b7b765359654a6cd0349dabcc915356c9cdff3a52fbb727fbbd6dac33162f75393cd3fb093e5d99095a884796ac087ae52a8e00e00198f6748f96846ed2451d336ed763447a6a652a256e20ae60c1ab204d1028ed53999b38d68ab0020ecf0dbcdac7cdf33734a6d4dbf780dd3bc796569ccd3b26eeb8bb6165baada313345d3a812f19060ae63a4818ff89dcd7a471ae192f65920ad004da3fcd585ead5390217686cfb6dc5ad3fb56eb6b53c6579728f575d43584fdcbc904148562fe12d8959e57e1c573a0c47d634dcbdc0dc30bbfedaf3543ef022b8611e59e07dc8171fba1f6927c26e2169b63bc2512c07af95f87e32b71daa86199eebbe254a367094fde5ca12f14adf757421d74de491e58f112dba5784ecebd992c4e397bfed3e6e0a9aee7b5fbb546f29a15ebcaa1b01c98a6a8f0fe97dec1d962a93b20bcb2fefc49d3da4ea00aac8ad463380b4940ef030c30c33cc30c30cc36bac13df5036015e294b92229f96fb51aa3253da1501f49f8452fd27a1548e1050fda77803610468044904c6cd61d7c5a327b150f87430ef0dbcb17d7e85d2bce4ed8b56285747ec8ab87448cc54a120b22797ed48636da8506ac9319a694e1f27ed2914254bfd1c582749074ba1e4e1b4d33d753c0ae5904f34c697d6904c2814429414b3faf133d93ea11cb1d12068dad40945b7ce18597e56b509651822def75e6d43442614bb3adc6fcafcd533965094941f8b7c749a19251482446ce86ed3dce9249426e3ec295e9afa66249455a5538fc4aba8c5114aaf2551b2daf6c708e5985a37e2a68cb1d617a19499cbf33a2343ec4e84b27d56d8f6dd579d6608a5edfe9e97de3efb5508c5ec2552ffe3ba7365104a9a634d5fe983e41d02a1987725587b7d5b3f28a7b9b3cd918cf441f11cccd866c7388f480568d183e2c90449359b76baa380313008d0820785ecd25fd651e3b8a5861d687145d99186475a6b7813a281163b386b72bafb1287dba905410b1db86f2e292d950d43fa5be4a034b2f66ef7f1c6536580b24fb4c041d61b6524c48d112f6c7183f2061f95f474119d3e560b1b94dcdf27a3d4c6b9ccaa62a6801635288a4c4613e56d3bccb4e25bd0a0b4db9fa55657c2d533284c5c63ff4d0e25c632285dc68cbffe3f6ab41e83926d84af8746613f0c8a92234363ccdbe2e20bca1b73f8fcda68fd23c605e59c9da74f57fdb3d52d28c44d2af595dfa871585086ff5a53d36ab3758b15942efb2626cec5d7e3541472d4f010327e465494c17a9ae83ed739d8a72865c78cb3d83a7a774d51baff4f4b4719f248ae1485cc253679776e9d254531c3d3f49afe274d6d14c5b412dba63c4614e5f31c0d827a148f9e0a45316e96ea2efb9cf5038a42c6483d274485744ac502d800169f2884a7f4f40cdb5f9df744b93e55d6ad23c9ea6d274ad912fd41182fed5b3951487a9353db2c736db98952e8c7d6c804f3bf5868a238521fba22668b879045264a6d224134b96a3e6f448205264a9e61ccf890381e913f0022585ca2783a639d12de61222609c1c212c554cfe69631aae5023403200616952847dcfc12f9345f6674e7c08212e51c52c66c8ca3a73537061693284d3c8a6e90f3dc6a2a0c2c2451cc49118d1eb9d1461f89628dbc6c8ba775073224ca3986eda09fce91eee41185a81d1e84bc561e62aa4043010b479455a443a80e9651ef528145238a611e633d8f52ee702b8a185830a2bcbd5b8fcc4f736af022cab29a637d92f49d2684acbec04211e5dc9a613ad643e49488f2ee5ec34eb9c85003c00a2c1051ce9a7f5be1d9d97f7d1687288eae862bb9f68cb34438c0c2106528d95dc33295b4c505168528fd4d8aeafaa358db037b0a0050b0204441ae27bd3bc6ce41ac4194b1dba78d713e1ca82b8842c648f7c0cd3b67490074c02210653c21dcf7676b4eb30a062c00510ecdc9deeec3e688559b60f18782c6d2da1a55c9e8d1b41fb0f043d9e3ff4d9664dc53d73834028b3e141ca69db1f1e8f6ec908d41b0e043e9e17f92dc702547ac0a022cf650aa33bd49158f36a63293030b3d946b32cad39e98313bbed7030738dbb20db0c84321dfda89dbacaf8c060f054d1e24a79efd3277054953321cf774a4eb940a5cecc00c26b4aa6a5c48459602173a38a88734e16056357f460ec8daf83d74e4de71042e7050f4ece1dec24184f1cd0d0a23f9e19e438826593324b8b041d983a60e49b18e602f596dc1450d8a556f937a24834a8bab051734b0818b191423dbdd71c89d3f5dcfc2820b19143647c8210371106fb2a28cc1450c4a395329d9633f47f430284c34ef9c31ef4f6ef38242c831a68cddd6b79b754161b55532bdad6594a30565a954937cf1ecaa8c056510cd367496f499543230b85841e1b46198cc33ea21d622154f9cc7c8fef241eaaa9095e10a5aa0a268b9793db9c984ae4f51cc091e7a369c3488dc14e5ec740e93f9869a3897a27493e6495e3fde669614858d3bf1c6f3d64e6e140511d17d1836ee6322a228a804f3cf20c79c24334251c8690dc5fd7154c99839cd410b509443e40f33c906f136ff8942a6798c57f7446deb8932789439d31f55c67c76a27813e7193c39ae8769c189b27d8ecec9d99c3fcda446b5a1c5260a49fdc3868c9d846d649501a28526ca1927fd578938d03e2b60a678689189b24731d3d0115736875a288716982827fbeab9ffbdd1bfae4e0d2d2e51f24917a29226f1499345e0d0c21265dd8d310d253ea8bbace80c2d2a51c6f661e725fb8488b12a2eb4a044b15c32ede73421364717a0800420a01cc00076458b4994d1c65a57f86bd86658a18524ca38ec3f1a6418128324042d225110bffdf6ae8f11d15a40a2245eaebdd6c07beb7f444123fa6b12cbe06593168e289e67f27170eec133d3a21156baa8c3761529ef76f09bcb673bf52e0778125a30a2f837afc1f2aee4246711854f13554334da8a287d55b44d5675dc8d4d44f9244a3ec3df881883883286ab0d634b3c8ed63844b13bf8d9750ef113aa95c9a08521ca55994b337fce716b538872ea8c736ffaf30951f4b49bbb0f62fecce5200a5ee1380307d31941947663c637a4f4acee02518c9baa0ee3df1c6e35101045cf315552219b39ff437962c48e9122cf33c6fd5088a8584989103263fb50f41b5f87f528d2e60c1fcae130a767fd6589d87b28d5c7e40719bf8afeab87f27eb6717bc7185923f350ce898f9a721c231e8a0e465e6c1b3dc81dcafd8e634e9ec6f443861d8a31c7cd13f6569f7d1d0a13331d3a8cc68f0e85886692395ca5886b2de650ca2ce1673a8a5d95a982167228e3b1480713cdb4a48d437162dc6b8c1b4adba424052de05094918d3719933a3cf30da5b9ccdeb6d9c8abdd50ea0deaa8d53b5fde12c0d036943a42ce1b11b00ea3400b3694b14faee40c9325a7d203b45843d1cd3588e63cce991e35946f537d364476370dc5998d9af77fa1d2b8166828394c1fc13ea8dee20c85bdabeb38b927ff773eac00599a176861868244ef7eef68eb65e6075a94a110a76a7d3e3fdead5ad89677532d29f96388095a8ca10c3426e9e5779a475f15862dc450ce18198f41e885a903685182166038418b2f9c9e9bbd1f9cc89902682456b478677424df85d244a527751c37b9cc85b2ee6be8c99e25c6e46ca1b819674d7b7dff39ae8562c675128fdef067a1b005cf6c064d721b262c810b5194b3c8a3c638aa47b6242470118a328c0ff7bf67d5732270018a42e82c69e51ae4d64a0971f18973dda3cea0be3b4f143d44fb90213a46179f4e6c13b6618c931fdcf99c28596690e45fe29b38d491f94d7658684713454d3e9363ed24a5cf991884130769a422fea1982869b07ef9948919b878897f63d658c795ccec59a290f1f8afdc7c92b857828819969f4487ea9c4389e2e41032e58ce3c924feb2f106f971d6022e245198d075cf501e7a9c07115c44a220563e9b2d42234b1a12458951df1cbdadaa03032e1e51c69bbfaa1e3f9e46ea135c38a2b4715c526ef99a79be11658f2eb94a633acd99116568967a1eb2e4eed68b287f5507df8619beb5a888428c987ffa4165b8ce12517ca0dd12420c3eff3e22ca613bade62957b3e610c5ecd4d030622f25ec8628b404cfa2dfe2eac92e44c173b63cecedf7454c8882e7f6b8edbdceaf0fa26c9d4306a6f51b2288c255789a88a229933e0251d88f9c6a3597791320caad333b228d33d7e7fce1b59c0f31213ad69c1740156406304c840b3f14426a67f82182fee34f1f8a1e911bc3cc30a897cf87b6d1e728a91d869702177b28ce78f736d29cf0683d946c4732449878d4a4e7a10ca427e407c7fe99643c14727b6fbbd5ab5ad23b14e33e370607e33176daa190d1d56bd09c1e9e86d4a134917733cfe3e6090e3a94df733cc958a2152bfbc0c51c0ad5c935af7eec9db011811c8a77129961520dad191f8742d6d4edd5287e915b3814424c75ee8788196df20de58c706159dfe14b463794b1fda43d9415f7e80a176d28ba9bb6a8cd653fcc6143f9e325348a8c1e3d7d0da57a1c9f4a6536dcb86a28e6ecf58c4d43eadd340d25f12b4bd74dad3f49349491ceeec4f3f68f26394371746f6bc2e7bcdc2c95e0c20ca5ce6cecba79f22f43216acef83f9e48fb5a115c90a1301a62f377348c13e53114e39786ecd83a8e762286c2874d948ec906754718cac1cdd6eca2b1687f6028db8a23cba03995fd170aa61fec41a4cfdca779a198197df41f4dccd9af04240086e0a20be59734bb49edf4b15cb863532746cec3d3b7603649e613631d7efa6881748edf3784cdc8c39f856c2d6cfe64346fc760816ef82065873e0ce12bd46e0eb33583a0158a2defdbf83ba4eb4657a19c3466d99038e9c7c15428c7c63932a7b64588a7f07835c876709d1e2985b23a625ee4511b056d1a5577c7b407894281d4c91d4cfc6d22a74ff03af28b079ff2cb38e19ad0fc12f5d17d9d4d28ef87e6dc8feb2acc64425d19cbf4a3a25c820d1fb77cb6b5500965ed9ce148ca9019cf49c82406ff98aa3a23224838fb4db2f190279f1f415b7be8bdf9f37d3c8cc06ad60df1387b705c11cad21ded93f7e1686b4470274c83fc6c08e5c8feae9db6f32a5c08e19e92c8c9147277100cb5ecbb0e326d1201e1d7adb43a07769b3e5594d12d0a5cfca0209f73b55aeea3fcd807858fb27ed8c9bafd2bd30ab8e84129b3e5fa53eceaaa63013009173c28cad944c497aba80f01a0c20b4214d46163b993f87f320ea29093c2719a5e8dd8bd35918c23c3028084178228abdb6834cc71af3769800c3ce045200a93c5de6bbdd2e432bc004419c4e7bc485fa674ec1fcad054fd937ac80e9798185ef8a198f38afb5a7eaee9f0451f8a3145e3663412c2f4fc820fa597c697a9434886d68a4285177b28466ebc6d90397bd250145ee8a138317b240df1e76573f250fc93e858d2dd630ec143a16bfd41d89011c6fb3b946622266f282aa612b743314454567b90cdb3993a9437494695d5c9d84e3a94ba7f6296b4977715cfa19452f72f1a799fcb95437936b47f0c9b339659e35034cf95c9fa92493894319c8a90355a6acf379451dee418398c9d04dd50f6103b1b1d562389601b8af719e2a5a7cbb79c0de59cf4f174b71a6d98aca1749ab5254987ad6fd4501e0d5d9bed886c8c9186a2cf6b66d8396a9a1f1a4a112551d63267284669de389b32baa6cb0ca5489af377deccf31e8e89176528e9762c0d3f22ed9d2143c1f51c6a7bee5bf43d8672e87732aba8f485180af9d2cdde27e49f476ae14518ca99e536b6db9a65845e80a13411ae6762658267880d2fbe50ce15d9e1e7e66dcad60b65f8407faf33f61819210a4c400211800091038818805d289a4bbd77f287edad15850be5cbf59f5989a061de2d9461d76debf67a9a84175a28fbc6b809568d63dee68ef0220bc5dce86adcf31d496e6c8df0020b658ff8da530b999fac28557871857269a7cea4217d46d62195145e58a17069558d266a699854bea842a13c6610bb61c6191e5a688617542894bf7d66d1bcd26c4fa1103e2437ff4c8d34c003eccaf0420a051bfff851c2aacace5128553c98cdc933f8acd9824241f771c6a844c7fff02794c781bf79a77fed4f6983f0c209e5ecf9b426de63706b81f0a209657096669bd354594854af78c184e2a7c99867390fb4a14f78b184e264f2d4b0f9734c78a184f299fb030f124cde4f422982776884f0fa30664571c20b2494d15cf47679d22cd93c42399e5744cd2812ce6384a2842dcfa8e88edbaf08259776b42ae26ed50d2294e591c7b56de96da887507cf133d136cdbe9a10ca50349dbbe69c836b2a08c58829246a4f560f1d20941a64cf6524cbd89cfda0b0a97b9191345487b70f8abd9a5c6c235e7efb1e14c3d5c1aed9638cb3cc83f2d5a884341539f29b57141e67145b12a6cdf3bc83a2b66b5c9734af89691d14a2937ea64f31d53ee7a0341f638669f93a950a07c5f3d48ffc20c31bc7b841c9a6576f66b7fd4f628352e5830f49c7e5275283829e74168f736d3e350dcaf2a033c8af3e8eaa9f41b17e5364c4de4563181994fe63ee9ecc1e5327fb2206c5e849d56642c3c8d6302876c447992773e7d8fb8242af868d971df76d321714b323d59a8c6bdd5e6a4139af87cfed91872f3116941c8790f7465bfb61eac50a4aaf136e33cc4d349f0617a92863102f3fe698e7df8caa8a25b840452143e99ad4d4734937e0e214a57b18534dc7cd6ae251c085290ab6bac9464379867e95a2183a5a6e589f73f5042e4851aa52fdc6a7b9a6095c8ca25c845bec03b5201408858766490a63519a47c53e1d52d22a82645fd27fbcfc37d4fe38e41c37210cd03953303aaadd2098d01143ff3e71a4895020aa6bbebf817d227d7d34ef39682373f457498b914549edb52b7acb4e75c4be5fb13bea1369ed80db1c5a5624b235b04bda5f530caca6eca0c8a2a880d7bc7f4b77bd1d8c310185a79f4117d5467c73c3a01f4653de100687cae0e1e09cbc408ff0b9cacaad3285ba085170049a6c85e6aa16bbe178e7eb72744beccae66dea9ad30d4c75dda9d3ef2e7acff3c6ddedf09adc8de3edebfabc7535a7a6e4e1fd0edd7a213bf5f1c63c3a98e32fd023b43171964040475d272fb6254f54af77cd56bdb834d1c236053c43416a76102e0781d3a81975e75cec6a4da709cfe8d82cecb23a8e0bf818a5567adba3ef23ca5355b44ba32146c5a589030a022de70c5dbdbbf3d3a2a85c9eb407b51f8c21552e23a3d93221839cf53fe1ce72e01a6cccbc20e286d4af48513f5ed138763f6e8d18ab73f2e2a3eda56cbc253318f7d5e76b33c2329a5a05d7617a79dfa932530c34cd449ed8ff486fc62cb36b8c0b2323637741799e6509a132c0aeefa4e0bcf465dc7e37f8d436b334ae94b68dc183805511f89adec99d8c62f55b542a5796bb9de0d3f563e8a95b5800a41df834c8edcb16e2ea50942a655988fcf40e0ad9e06ec8492f0ca8e34a41680836bfb7e492c8af468ff5c29b409138700b64082ae2da263f53f024a10fef70595b5320aab0bb56d80e6e7f0b3101eb906acf6b543ccf1a3db5934c672908aa44b5b72e10d5011305230d8f412f7176dc93c1ec2c0ef4831f8b6aedb594d0fb55a97997456413d6790bd4b9218c469a2a0b2b3c799e061d655c6fd703af3cae08d7cbae285eebae532231b87a5c67b86271f5b84eb86272b5414e70c5e3ea749df78acb3586cb4c72adf1ec8ffe185ce5b8e670b1b8ca7189d1321ae36ad68cf35168aec1f847d5d8a9240c38103399efc871590623a3518e3d6da3b65a438d267c4920a1671b87be7af58af30e308158b643f7dea4ed3b47110b40ce8753fe8357717fe702fa35b9754749cb200be4f262a7f41c16860649ed93c59ddd718ad7df330774b068f1452205effac7d44a8490182916801a358ebf8091e06cca0f01dc7bbe45f4e08480c405ed47c0c405ec4810c5450c87d0309dfc13f8878e5ba242d36a6afaef74f254f0741a3aff0834e6b3389d629089573dd10a1534387a20f022b2e1cc2a2ad0b79a91356d86a86769b5c373b40fc620c4188c6960720dd8f882e70e2210da194018280f58e609789c7433c0f260132c6a253ecd307031d5db4213c1be58f8fae3ce3519966647d9f3b8f02fce9cfa0e29453918e3a09f4d642f5a8b2c13a4c18b61b481c860537f830c11729815cf6e3c3e9fe7c739079ced8c8e0908455f78ef00c180c11b0396413903c118780beb2f82e14d99b8c0525ef7b4bd743f0066000c00230330baa28ca13577ee01d1c3da63c2439e471c8f93e5ac84191fde220931fb0e7a5e210a107fe70020549c875310a0205c40a444d84b240b0112736683f93b3ee19961c7f3e8475c656c55f4c78112b9f3bd19924d688a54c8bb170737dd497bece275bf7742e9c57f1f67fd3d66ac7b4aada7836697dfaf9ea6ead9f67d391160c265a7ff6ea7678bd3d86c392bbc3b7170a3c77977e5382bfb3b33f55a6dc377ac64ba59d6f855ca90fbcd99ebd18b436ef7dfd936a06eadc979837e319565761d1e1847419c622798bbbad9e81f3b8f597bf9db4706c34c424523087a43bfcd45b7f59a899a7a708c8e2c6c293b3447c5a5750e8b93f649840ce3a28e9536e1eff76aa198d170ff67622fd0fe2f99a57adcf3e79e7b7e9514cc24fdf88c03e5436c3369e6bf3f79179dcce5ffb15b94d63a74fa5c132a2d67c86af7b76a04a937dfc44d11fc9dbcba03f9a5bc07d667a4e8ec0b1bb400e0aa00949b82cfcfa519de036f74159e9f745fc808a6f0a377f8ff90b161d22881eaa9e63e285c2bb9449caa8136bdbd759f8032c2122547725442d675433fea98057ba13f010e808b1520c7a48f2d80918a22938e4f3f48041f7d9a30e6a18b46fe3d439845ebf8cf5f34746fc46687e941251c252825764a252ef56a2dad5fff537fe023bd18a146e7ccfabf8692a90de2a7345feabda0549af46d13805b4f3c3c3738a47c329d659c3d014d541e76bd199d047bb2798c3a9bd32b9a30c57145a2f6e58caacc49783ed6426ff6e9d865a486d6080811b24ee0a495900727e500eaeef10c1c5806ff9dc5e056cf402ffbe78a50eb6e3d63f8cfb718991660372c4a37cffa8d12d4548dc7403e7ddfd8094988baf296eaa393dcf06c8c9bf77f3537363cb8729499197dfa4435371f13cb700d4a6ae19d959597290d6afacc2337341303ac7d2e658f0505f59c23e73da2ffafbb2151f6d2ecbba280e3a9cbf83af8a0cefe958b306e49fa7286ee57a84ccc00a7cb51efb1b0eba391d0712e67e25f8d9912f034e3964054c7dff26af3ce89bfc10190928918842d79385cdbaff5a6586369f3476f0e6599b32725d443e63463b2300eadca0681c27a260486783d43371b90def4025d7cf78e9793f9c4b949e55ad32257b27bd2969c3becad83994581121c9df5a22b24c7ab6257b255689b49574fa29285571977b6ec75169b79757275396a627085168afc5c95f93b7dab9b5d29115bb0e554a2daa0a429cc9621ab6f5f9b1c00c01b342d23213295a1cb672a44f30abcadd854b47cfe118040b95e0330dde034a54c33c7c2d8983e98affbe14aedcfd097fb514495b14253d574a3ab734fd56c31f4a16e2bc20c1bb7d03d695872b6a32ff985eacfe4565841c782130a8935882d66f09138ea4c8a740e1be9bcd702a334d74cb0f067723184b4d86da995be440c0be180b555e8a1cbc2c6795be5b1d7fe1fa8f223eb828acd9c1e3a51e4149ee451f58678f2f07985c3643b03484883857d9256c879a0ca68a8e74cfdc21cf15543053d84de7032a6d854b2b9b07597f42abdec69fa5adbc557b6bf73e74d3401dab975994a8682152e6edee427d9751597f01a428857ddc097dfc2bc25c6d2d9956918890302e650186231bf921041c6cf098d2c961ad0c35588a73ab236880de4351dee232094c7f776c29cb067fc943fe77452c34b3887d10c4046000775da2b025322f0d24d4db9c77d70dede0035c56cf2894b2dc9eae3976cf148e2a6c5bb91c3e9e6a28149fb42494f9549b81c086f7362a9047b6bcc89ec2584d2b0531ede2f4dd329726829ef0bc36eb57a526a11e2077be561dbf9d2a90cc77062eea1c31304eaf60f772cc74a5cca1b3f05cbf483969854285de1063dc0f207cc57784883d015bf1b65ff216e79778df95ae1ae10a2c285f22e61a41c41c05476113aac4c0417ea776c0aadcba384ccb2c90b3b9a92eaad89f01022561e0582f063b239ad1e62474215d192e6b64d369b1023c8e63b9ac4117f92c6e467a3e8a1bf798c4d1430e52a00543f154dbb880f6ff6d12b18978dcf25e0442ae80522407cf1f865739bd75a972a1b4aac1d65ec2a10dc37d9456ca431b5a75a79ea695722da51dafbd00c76062157dbcddb7d9618503fe525a374190b1d2f449be2b3f38112cfaaa59c2cd3cec1295c45b88f3876d5da110a85fae14d7e09cd4b7b9111aec85047a727ce257afe2627041579c6dc313263155603914348ac5ec02fc17beeb5be310d01b852f87791e3d1abf269450d91785c49f509cd7bf43a3fd0204ee785bd3d20ee197afa0329a44c0f961d53c1b738167e2b986800117aa235f185e2fb69ac94c1dda12100c3b3a3e8a664ea97efdf289e3cb214c5f156795647445e03468c514b8321859e869721fb929f61fa2d986bd60d49b4815230db04ca509c2d20228527cfbb341e3f290cb25f06f0030250bab95d90f5e9a307f57801b8f6940eaef1bc545e40117e739dda3995e9d217a34482af2e96c9e02714c491f08080acff87c59aafd0140fc11004a64d31423459b29a2e5662a61c805db8adcc9679db47e12e6c52c59c04c21062003c4684554defdb3cc27adae916bc8b1685d68af6af01ab24dfbcbccd07d0f7fe85d742103af04634eb8acb88d9cf8960f6b299cbb0df2f05cde2da665ab5f37d3e1fa27ebb67888c3a5c114b3a8024ed1a2e0487be022c49024e74c4120b3160b0a4900330333333333333333333e3ce8c10b47303d555add6554a4a4aca4f3a33f1e9ccc4dd6f7fb3d667be22edcd12f60a100b140bffe9e67cf8268af5ef713d1a3acc6e6ba2fc71ca7ed946d58fcf4471d3dbfe7fc4246f3051f230b5544a08f11c798972cebbe119436daeb696287cc830113c628a51b51285f94ee3211966b64389d289d8d7cc6f327327512cf3c80de1dd3d5e5312e54082c8c71ad3eaec91286878d07c17ad1da71012e5caee383fa7f6c8f18f287c36ffdb11c57cfbcaec2c221d758d287eeaea9b89f5aece884256ffcf64ce4ffed9224a6e7b1bd1ce838a2878d0bfcfcc895422caadda3abf112435888872edc7f41f07bfd10e51fa8e5aa65c473444e15c3e902c8999a3890a510e4b26ec6457c43c84284908cf1d2b73f2182283b0f7c33b76d3f75cb90c41944d7360731f6a9ba84802198128c69a6abdf024e381072b0d6400a270ae295183959a7918fda1182d22649ca7f2efe8ba810c3f146214fba825e476a0cb03197d18810c3e143f0ed2bfa4c477f20d7340c61e8a59a2b7679fc79dc6ce800c3d2cde6b133ed49e781632f280ca74bc3990e029192cb100c842061ebef358df03e9204888dfa1490bcfdd579f1d0efa41e71cac54e6380afe3b50081975b8e398838f69bc630f890e85d5601a3d8690ce51af42818c3914f43ec85f3321af7610081c32e450f9868f3645b898dd620001dc808c38940c3894f635bfea32febe5c196f28c98ffe8418161e1e196e483dfc28d33651fb6146461b8aa35ae213e2e174cd86624a9af650d52015fa1a0ad92a1fa2e7d691673594c3ba6e6a3267300da5cdf19f687d10a15d34942acc56a2d8c7b996c9384331bd4644b8ecd3982219662894a77c59f5c60f66196528e4edae0fc226fdfcad03aec220830ca57ee9982fd5b13bae1021630c850e46628e4945fd1d840c3194cd24244d7cd38ee8118662f7ae9489e410de13206480a1dcf1326b7eaa900eed0be5307dd463f9ea1a5e195e2867bf11cb36cbd4f1d185626eb674c7d311b32b178a39c70f357b32ce5d27630bc5ff8db5f6d199440e2d142362aef8a6ed8d310be5fc3a3e37e13ff6e8928185720ee2ff3239f5e47c85e25db9448edf391af1b04221986592d5c92a923955285daded0731c664ef4d8562f628433493b296dc1e50644ca12cf7369fed1691b72385723e8f77630e3f0e91b42840a11c6385c7b1bf7b2b06194f38ce414887729dce718e0d6438a138d9d674c6d7d306f90b329a503e4fe3d5f77160e639cc03858d90c18472103f488c13265d31c840912da194bb9d745ba77ecb19146920061e60c18101af4186120a39444be6d0346cbd7f4646120a51323ebe8cded3c86520a1282539673d8de1c93ae502194728264f112d422d428eb6a1daaa16c83042e93b8ed41c7d77dcb89ffa800c3a407525a308e593901fc71c98db8c29830865b1cc21639779dcc3a8206308e59459e35ce3650e5bf50008a6204308851c3e6e0913b307b1531d110a4641f5af338789e4c94c8b00604218c028743cc98ecc62aac3bf288be6209f33c64c71faa224613db7959a77181ebd28bece67979b96659017e53082d85eb78b42088fc14b5d3e92ec7551ce12c3dc2c34e7a835b9287e983166d6d19689695c94b22b5b93fa04f5956f5148df5c2bf1936c725b14d455a3fdb3cc5a146bd4d4cd3f3772b2b428e460d62b34d4aeb328ec6707fdfc295994352ef3d3c7f8e8268c45317ef410438e9090dbc162dbcd88f2996f7d18c27845319aa4524d15191fae2895a64adfc7502b4affdaaf9933a27d877e0921200c5694256449dd1a3afb5a526410086315c5f6605bf63dfdd78383305481c7d1d5e64d2babdb85918a728e79e2fd4636af898ae2566908d9667d9322555608e31485099e37c79e2687cd1c5314dfeb623c722e6bb74b517ec9edac1d45eee84b8a62a4932cd1f64e24661425cda9e19ff11e578da23846343b346625fb2d2d3db25f5c4118a1286e471dbff34e849831bc4218a0284db6cf927e35fab2303e51ee8be8e82d5136080814c2f004fd671d06efbe0b6174a2e81a7e4b25e2bbcd1d85303851a6fe8f57f5eddf36475508631345eb5f0f5ec38907b9260a7999cddebd2f3e3413c589796da326cfea8889a27a7c65fff93cc4d471894287eb68b879695596282673d11ce847d681742a51c874d521642bd7ad2951d0ed97ec129a9a44c983141e7744f91c4f5e12e5921826e37ad49d399128885f6c769db2f8a443a2e091bd399e90b41de711e538de63fad846cea3db11e508b6d13347238adda3dd71beb60f358c28774e111d795cff21be88722c55d7dafa322ba27037a9233dfb14a66d220a1ff89aa7f389ad1f11257b6d934f1fedb67c8842da98237dc869fdd31065cbe8317b0c175f122d44293febb4d6d7075713a2741e7587e39b1fe73c886294f4b14d99fb079d200a7962e86eaff210221988e2aba7fca85bcaab0744398eefe3ee68d63afe508e423bba9ae54ee49c1fcaf9b7fa1d64fc10b27d2866911cf48608d137c887b2862cfde1597ef8617b2845c89f96ff24e6a187628a9824c3b5c41c5896878264c9c75dbdb5dae3a11cf2390a8f35b6ef7e8762ce1cfb72fb96a9961d0a496f2273e77e895f87a247cca1fde770af3b1dca610ee321989e475ecfa1907e273aa3ab68be248772c4acb16a3ccc118792776a071ffa9f4b854321dafffa860eabbade5018d5cee17eb86aec86d24885448771ee23d1c181a00861b4a194f5127a724d78df940261b0a198b348ca14a5d31122e72042ca30d650969cef9b8c71aba1186124dd869ce243ec8b0a8330d2504a89e9d73f4ea240330561a0a1907bbe9d2a763e48fd190af17c62c73812b4523743b1e3fe4de7342242ba0ce5b49e191d6cc8297dc9508c11f37e9b6bc679378662fe86106a256742d2c4504e9ec43d104d23e1af30c250981c76f081494f4e9e840186a284a5c4dc7ae801cc40185f285747b68d41ae3d9b87170af19db386c58ca5c7bb50fcf2fb1c5b6b3b5e990b85727d8bee7c9713d52d14effdce2d62d48c855a287cf4895145d3d648592807abaf13bc337658287eb0dbb6e57be39dba4239d498d9337ffac93956286da857f338d9436154a190579133adac2df243855266aecc6a9124373153288ef8698ee9f5ea24964221bfd54f79dca6756f14ca913215d7915abfa65028486fccd7dd7c93794239a9640f72e871473ba3130aa3398e98d363d7df9b50fcc862e31ff856048f09e5ce653539fcf6d0d95a427932c6a78ec7d70d86a1845247f7d03725ab27f9826681f305c24842212dc2d5e6d4fea62112ca296c3577cacd71c8ef08850f3bbf363b47cd08a5f51024f6ccdc2294473bd49f24379f8f2c110a2b1113d2c6d0182987504e2d8f7aaca337fb2e0c21142f3f92cec983f82044030846c15f6268debdce696a420f0c0018e5e889213e1a3c46fb24dd0206f08bed463a79b8bf7a2cd30792e630005fd00906d08bf26f8e6e3468f2c83d2f4a129e43fa8d84fcfa2e0ac9347efe65bb9777e8a2e49a1ac3d97d2093cd45f9d6ea264aecf4b82846f25aaffc910c1db728b7a48de91f7e08a7dba26c11b183f8ffa321d7a2d0f9e7fa3eec35465a94730ad5d6da241e78b328785eebd74f7b8b4b16659997d2d0fb103ab128e7306f90d8ad551f31b028dcbd8dc7581d861ceb57943b8e6cd31cadc77bb9a27c11e3c3241f7b0821dc8a527bdb8b5776501f8715e518b52f73dedca1cbb98ac2d64988abd69ff25545c13d5f47cb64de375351888f6357fa345e464445c1576af3239bb8c7ed14e59c502a1de6c57698a2f05e92913fcc91c44895a238fe2db93910b7bd4951b2f89bfe487b36a706308af2e76c9273258f679481d43f0c4014a5e820459c1c874251d0f8f86ddf5cd710501476e43632829dc7b15a18c0274af7a1a68ea47a698e681606e08972dcb1b9ee7bbc713e9e58184027ca3147abefb1f773925801657708a17c4431b35a83aa9f848ceb6e808623ca71ef86c8e149b7e3c6ac11e5f87a246d3f64f9d8a7c188b274a0b91f36e4c971902f738006f04a0b341651e870e244750935ab8086220a3fb99a3c4368a9cee6d34844f1f326d368958aae191185db741a6db3871e6c8728c43cd179a3ebc96914c902340c51f84e1e5ab3354854993c8146214a669de398d6c2c3643e21cab61e596f33e750d264108524f97a3e3ea679820844b13afc4eb99fe3b90d208a29527788f05f3efefea1a81df9a3912ddc437e2035745c19d93f4c1fcab1488cd4752b1fd6c787729624cdb0b5313bff15d0d84379334659bdaaeb0fd743693749c8970979375f7928d9d7d975e0d9d29344f4d0c04371c287121f6cb2a3ecd8e02e40e30e85f0fffba883f5c8363b9463bfaeb98ca422bdd5d3a84339247f194d93adfe99d4d0a04379cc3a8e75437ed4933387826c68bcc9104f3c3fe450aa9f0da9358758154f1cca5942b26cfc9d0e35d2804321472f22f77198c753a86f28474b6b999ffc9c767343d1839a7c5fe2716bee3540a30de5cdf1336d328d629af1010d361463b43bffed2097a92ea0b186624711dc26cee4d59c6613d05043f1fc3dccf54e997f4f1a6928657a4c7f94b93c0a6b4b40030da50f23efaf94ada724a07186b28f6b95e887ff5d0e6898a1d0e1c6107ff78314c13234ca50c8b1c7fbcd9bee1c04c950f2bfddac919cea0334c650360f3796f32329ff1443215c34dd6690cdd0930ed008433199868d7777d4791d6028547810ede9ccf91dfc8592069998ae5732465cbd50a8d57fbdda36ff389a46174a1effccfe7a1c987b880be5ea90ab7e475a1a5b28e548cd564f94beac8542fed592c931b95928bee5ac768a1f4f150b45c955391f9b3ea2795ca1b41aedee6943b4bd56286e4e1fb7576613a656a19c6b5b3ddb6f9354284ee88fa2913959ff5328769c3e7d91311e4b500a459b98a3edf871cdbb1785f276fcc16ab74a909f0614cabae273911fc460e1d17842614e24e6cbece8788bb50b349c50aefce82fcb63929afc088b54086834a134b61965249788b4580c041a4c28e71ce99f073974cce341b48472c7c922234cbef00e0b68280195d3fd099e6e224614349250360bd7281fa6c4451e054f4641030945afe98f89fb971f73d0384261ace348529d6cc824d130c2e9bd2309d271669c09b5824611ca6a25f1def3778c7711a1b093c2349b749c66ff2114373eaeb4db1cb8a7c8276808a1f01127ff74e3a87d87de8c6050017a06304a22d31b628b64f70bc0f68b427724e521f59d8f644d0d337c518e9b7a89f0bbe942ef4559e436cf574667b1986f062f4abed6f53d1eff697dc48c5d943b49a87fe760dc2e62a68b75628eecdb3facfb52073038dfe740a07415337251ea7c23e973d0906e73b82855c7fb1c5f423552c713336e518ed43aa88cd59ee7d5181430ccb045399e6fad98fe34f57f2d0aeb71c7f6183d9034195a9483b46c0c3b1dadda3d8b42d54bbc2bb19f4cae2c0ad71fbaf6dddc8519b128470e3a78b831e5193f60518ea6575c32e44e655e510e3e75dc1cf9f4c3ee8ae255a6d68e5f6ad3fcad28a89faa64399bd8a761850d66aca2b09aea226e648e35c4785798a18a72a77dd09ea573c2189438cc484521af87d1a3cf13ab230715259b933249d5ac9e9b53945a52c793da3f533f531463c44714d7283d1796a21835d5aa9e753ace6137cc20456962cd3d92e44126f5184549dee340ee23c4489b1745a183e8f70aef2f4d7b28ca618e36c4799c34a2038ab2468fc903d58cc1c3f013a5529d0f75195e9f27cafaf2718789d133a7081a6674a21c075dd56a1a442b2d0b64ee6006278a53961f73acbb993e1d401998b18962a47ad4a9b67c279c9a288766ff503b76f021489928c7ef1b225f3272ae1e13250fa976d693c7e14dfa1285d33299183d7f9cf7b54421aceb49458e5b250a5a7f9951d322f57fc20c4a14a34bb01bd530f93c51983189428e3e66ba87ecf1e19f8039618624caf1638eb69b93831cecc7861991284588ac6992460ee3df84d6300312853c2f8fe3ebaedbff3ca278be1aef3224840e83c54d98e1886294654bdd07dbda69443979cf996d9cbcaac2308311e538e32653b71e7e3f8b2043f7b52784d224be22568deb3726216988a93bcc4844d9d6438e3bc7eb8828557659a6b90dd96fe2851987f057d623cfd341fb6b8a0665d510859f0d61a3c6e7ae750b510c1a614d33573f2606450b330851ba134935718ffd20cafe1d129131d4c7600ba21c79c58e5f7f24f9c181287ce4612d2e5a42b28028b887947c7794bf66fea17ce1d9adf129aa19cff0432107a51d59b8c73b697930a30f05bd8e98ba4388b87ef0a1903eb4d8bc53b5d2efa1ec27595f9bf33cccd133f4506cd3b24e3eb6319e87ee63c93ef9343c983f680eb379189d74ceb84331660e5346f620ade6ac1466d8a1fc9d569a9255fa93593ac38c3a1442c2e771b3d3f133040cb8401766d0a1e4fff19f87f320c2d33964e612cccb4b72a5698933e450cca187910e246fd499196042712878a49f4652f7a6ead819702859a8c73149afb5e430cc7843a1533a9668d687b567b8a19c771ec63f93ee8fe18c36143e92b7262dfda84333d850f6ea30f29fe488ac2f79c58c3594ccb43d083b713a83a40c33d450304fed9b61c6f7e2dac28c3494e3d8df2c1e465e06099961061a8a99839ab348919abae30ce5fb310f39cf554f8a4e5b31c30ce5dc943af9ae5744424152a96ad231c738a0000ec80f98f3be790250c58c321473cc9bbed751a4ad920b33c850ced979af3a5df58f361a4361227fe8d490a13e1e2b0a33c4509aecfad21944ee6e9a1186b2b44eed4fb64c4e80180c243ff16036a6c7eb5940a42698f18562aa577379cd91e3c9aafec4c00334c30be5b0bb50a96b4fc91dc95d203dce1eda440fce8dc40c2e94831b0d398ede6727a7b750108f3de3277b1c9bc3195a388e42379a4ddc69d16764a1105e329594950791692c944efb3efe0e0dab2b3a61c6150aeff935462acfd1f103068e33ac50be0da323693787494e6146158a9d1d657fccf821c2a64231dc84ec11fd40ab83a750b290bca16394dea4520ae5b2eb38ac63350d1fa3508e737e8490e543914cb90b33a0508e19a127cd3d8dce75339e50288f3c66cf08af2680820870106638a1b8ba39eda4daab194d284f9eecd0f2b3ebf65299c184d227cf2a9b3ff02b09b1662ca19022a241e29c4c0ec20498a1849247b11d2377506a2ff76046120ab6163dd1fe99a13c48286ee8eced617a555ff708e5f9b0bd7635b9fa8d50c8eef17ed4bfa9e12a42f15aaadfa3d9981e512214a3a6cc2289489c101f61c6100a97f31d73f479e1d731430845c9da513ecc5112728251f068f34cf255cfa1e600a3fca1b64f6aabc4caff8b729966c8086da27932be2887f449269f3b8aa8792fcae5a61e965e8dd4d5bc286944351bd3341659dd45b9a3640f4b7356f75e17c534915d3e38b90d752e4a11724cf3dc9ec3b6898bc247bfcd75952ae1b94531ac86fd3087549e42b445b163a94cce557d355d2d8a3e6fb2394f76e2871625fb603c8e33e7206ad66651926c3b1f71efb9e3645172b34f89b9433f8f2a2e828c5814e4567e3bd49e0f2cca37a21ee4fc67f11eaf28a4c74df5f5ded9b9a2b8679a2707b72b19b7a2742391e956348579cd8a52cb8fcc7a0e3b083bafa2e091af3e7b46c43b54519ccd7150c9160bbb5351dc24572dbd79e79aa2a224aaeb91bb48ac84f214658f0ffd69b2c31c695314a2c3b22445d456cd4a510ea2d54bdc241139a64851cedc9194931a1460d5a056c6280a2512b43cde241f35720e101545d1b77f3bdcd68fe3745686a2183d3ecde95e1b127532c80045f9035f93501fe63899876401199f28c9c7cfa17ac7b20fbf27caa17fc871de58f3751b3ddca4e5f6c1861365f9f8e657c97a98e746cd5a1285f4783d4fefe03e2251f0d45135f9c7511942a2505d1e76a893ae69aa4714d3d27b226f07df8f23ca1dbfe1d3a1768ee246143c8acefd39cce321ca889264f20e7f9f7ba2498b286cf458bc7add03f95044613232c7dcba9b7e1251caf3f6f4684333ca8828ef76dc0fc29c4c660f51aa92da0cb7ff9e1b410c4394c3b41fa4c9dc56d3f14a5ac42844f9f543738c938f77e5cb15e31063102e8620e8c5084421875893ed5891e3b86200a224eaa1e68df0371b2462fca15c1163fe81c7f0a8bb1f4a97f1214e72e6f034eb4379264ddc181d516362f850ce71c8398ffbc9fcf6501657fba8eeedb356ad874268fe4ff1ef71634e1e0a251293e38507f1193c14d4ab3ac7fdfc21e70ee57b0fdf63a40e3f99762865e71c475329f1d43a14b2fd37448f345316d3a13cffeb19e341ce1c4aad6163bed41c7c6cad1c8a1e26895912e51e84641cca6166ff3093f1ca1c0ec5d3ef1cccb4e4e8927b437952e720df4a785f871bca5144aa9ddcd571f8b7a160972fd3ae9592426343d93786fcb93ba3831c6b286e328fa38ebbf8d14a0d45af7129bdd6da09a134943cbc9e8f9c9ad1a3a1505bba1bd3c76cd29fa1dc1fe66aaade71182562984113629481046290a120e623e935ba8dc9448c319457d5a462573edf3c8821863988118634880186728e74148b146fbd8c2020c617caf13aca8f36f1364513c30b54001388d1050a88c185720e1371131df86be6d84269f2be65ceb8b48f7a2d9435d47694501eebe959287bdc103bc41cc721498385f27aa63d9bb2ded4f8158a92413ee6e49943b4d80ae520c78e25d77d9864aa50e8f5f0ebafe3fc195e2a9434574e87d8b14fa59b42b932647d0faa032b0f2914e284188fead9443c6244a1f0f7f2aaa175eb5b7f811850a00288408c271422248d1a13971d39d803319c50d0e8af29e3dba78e115c84184d28e8f846ada992549b6642593a8ecc3dfa749d542ea19c2313edc0ffed37740ec88059410c25945263073165b43c4d911849280751a246c9d4440c2414437f78a61d5fd7438f184728d84b7d08aadb55ae400c2394552cf203e9601a2e2ab1408c22946b2555c6cd5123c62806118aa23b1aca9378985215630885d3ace2ba31d8fb5b6208a1a06b95b163448c92a099622318a5b98f29aed73d9d35af1bc028dc7f9c438f4329b0f18b42e8f838362f4fe3df71c0862f8a1d25e754ab9aa45d9cc0462fca71bc19f63136071f5597d8e0452187dc1b63ac98f5975ab1b18be295c7c9daf1f073a38bc25cf59c4878bc9a3920efb0918be279a6cc9dcd76391eac241bc1062e8af3691a2ac3f79cdab728f664b2b689de2e0d366c518c9f328608f191a616250f4643564d8de1665609618316a5edcd689a1af3329b5914d5c3b8539739c8d9b228a6915cd73799bac38c4541739ef425bbc2a21cb2a5bbd97f47af1faf286afa2087fc9ee60ebbfdc1862b0a39c8d37b16e521cba715a5ebae0d161b1da757d3c1062b4a71b1f62135668f5e45297722863e934817795514f4c63f98c66b646c95838d5494736fb8e998eea3911c5450015cb0718ad295cf67d427f7ce08b191bac186298ae925e79f8d321b62c217d828453183bae4795fbd66b4021ba4284b47b555394fa9bb2c021ba328c5eac4ffc03c43c5a86c88a2acbf9e6342456c84a2e0befed9a52473642ea94b6c80a220d591fc7ae891a4063f519675effcb3f76b25dd6d78a2f8e981bb478f10398c2db1d18962feb29c777df10d27274a2539aac799a4a292c5acc4c626caeb7166ccb9b483d4ed8626728d0869fb24834995a9d8c84431fc555caa3aa9861c982844f3783dded98c23f2c6250a5ffd39773ac823d75aa210225b6a6489dea1aa8d4a9cc6233d66c953a208aa13727dbdd9cac2486c4ca2d072f321bf2272c6e0c620034428071b9228786cd699651eba416c44a2381f8d5f75a689e2938cc306240a915b9975827ab8adadcc9265b0f1886252f9d83c439464a9032eb0e1885247e8bc0f6f9d4b22122007878d469454729c5d722acf703a230a39c4942dd1a31d2d091b361661b4cbd06b9ed7422b6c28a21c5fb59d56dcc7ded7b0910882c799e3eea0aa959760031185f4a1b9a48e3ded47331b60e3104d9819a92f3bcb8fd91a62f3ca35ebe842e0f17a90fc71eae30f556183108550fb99127fd24739d5b03188a29fc687f93ebac38582502b2ed363a8eab0ed8d407013612a5e367e499cb0143600716af5fc9cffe18e1b7f288784d788edd1de0369025f5fd8f043d9834c99e66f2745e8fb509c4e3b31e33cb48e743e14bb75cd3e7d564ed77b28fbdf6bcec14cb7357a2864e87873a4ac499bd23c14fd22623f0cfebe398887c26bba8d69a9dbeadca134f9a3c7288f21ad6d87f294bbe6b8885badea50ac0f4534f7a4ee20841061830e8c66aa7784f026dfd5e55712d991c5ab5dd898433179f487f2c9ff48229dd2802bc3861c0af971684fed9ca3471961230ee55862df236ba673eaa9081b7028644e96d2b15c662a6be30d054d13273da7d5e8f8bba190e483ec134fb7d1751b0ae6aa37d1c37564b86c2884c7319cabeab778b986e2764b0861acbe25643594e64df53fcc1d9d634d43d103dbdc21be373c7268287684e9cfab1eeae4384321a947d576c79890313394337b3b77c363f730b737d828437123bfadd85974a469830ce5b0532c3b68fca5a83c8672d4d8e9e30e49a2a3cb820d3114d37ca8f11f96867f9c8d30942edf3d5426abcde1088672b895395aa69b79ce6d7ca13019713afaaff29668c30b65b7f81dff0f43aed1b10ba57997b2c87156dd2c6e70a118e32c3a26bb9e48b8b18572268b10458398a585626be8b49a263b639a37b2500e7aff274278a4b1c36ac106160a5d9b6e3d8ea9be4d4e156c5ca13ce7113fada9fa35be61051c6c5421071b5428efc70d1b133cc8e1074f37a6e0830d2914b37a38f5b8ff5ecfc22894bb3babfaece49c157e60030aa5cc1d59a4491a4b07683262e309a5eab655adcd12356f89880d2794ae3ece96644889f55c1d369a400518c30613cabfbb199761633e150a1b4b289fb9fa875c275d09e55d8f325535a56c0ecedf4842c165d533df7e5fd4464239b6dd75e8c808e9438f5032f92047a991de399d46287ff053dba1dae672c24bd828426d10c136865018fdcedf312d3f6e1b4228596c7df039db3ee6084661ea567b3526cf470f304a1b7c3bb375ededff8b72eeee206b4c1ec718e38bd2ab6aaf4d4e3131bd28a84ae8402d82f8bebc28c84599e58648beef77514e5f31af7abfd96aa38bd27e7e1c45f28c59ee5c1432471e427fea73197151c83b1b0f3a8f78e82d0a1efd213d3c990899dba21872c67a4996ccc6b916a5f53b8d1cfd45479916e57c3b8f934c3f86c8cea21cf2a1f6e35cd941872cca718a9c0dc173c4a2b0f22913b6edb64d8545a9334b9bc7ea1dfee315a58da1d77ffb9f564c5794ce25febe5ce4d88a62860fc92e5d554e3356142376dfc7614cd77eaca2a01fda84742941725451cc91f57f7092b353b431a0918a525e7da88746677450510e1d424c22ade3b8ea14c5abced0e9d8b729ca1d6ce61ce430dfd4a5287ce797878c0c21a4418a72c67f071e6689d912338a62a7b1d89863ef49f35351a0218aa27e98ec9023897af487a2e03a6d5f2139ce71186a7247a0018a42a8d4746a1fc40e42fc4449f626e3877dcde1c313c5cde80f3a23d643b64e14237bdc7983d4bd7ae852418313e5207fe8d8ea91189452d0d844f9af3dfeb6b20e34ab8972b99b67efc418e3643251be7b9f36115593f061a2b89563a64974f2eb14058d4b143e4e53ece47037e46b89e2c587b491ac6376597ea0518962de3bf1a98f3be4ddc8064a47070d4a9443676eeeec6132f9593b8972eef03707ebfff19c2a8962d04ffa6131b3c1c7481424f8cdc504ff98e996010d48146e3e667402633ca298ec230fa2c4b0936e724439b33cb647fd12a5c5461453e49289a0bb1273461427837dddcf848eac165148dfc1b8a688e11e9a8a28f4c7b8cae94ff3619a8862efb556787c2ce92522ca8145fa9034c778479b4394d3747590b22ccadb3644b13acc115aa7b39fb94294cb3aec287c62da450240853108510c1ee40e837c1c33761c2ec61844316db43b68968c7afde15e8c218842eee8186bd355c25719285b8c118852a6f21c7298b76be6d2620c40944dda75b2a63a910f31c61fca419e0ef4e347cf114bd2508ce18752c60e3226e918a66db5568cd18752a55a4ebfae8becc701845531061fca1e43d44a842cfa8fb1877287fee1c6ccc9d227581018430f65db9cb483965c95d4e4a1906d7ff722780ea247e3a15075bae9113197e31d8a1b4c3ddfae3df3a576284d2a8ff34a0ed6e4e3ea50fedb1c53af6332c95163d0a1782a91612bf53ff8a800a89b18630e440ebc7e24bdba835a0ea5dda8adbe6b9e3f5971a864377f7c67d5b03a1cca5924b2369fa47afe6fe863f8549943cfd9c60de51ccf9db4e62106cfb44191887332122f33061bca375134553a6cab43c47818630da50f6b7bafcf75f31e35142e3eaa741c567910ec3494f23cd4ba8c28e5371acad5df3b71ff26e638ce50be0f3f6c8c31577b3d6628e7aa65677d781d9a3214c2cadd7ed2f2fb204c86728e7dafceba768e31358c3186b2c57feaa89798e0816818430c658b77cf0d213a0ec40c4379f53ee3e37b6875c0507c893dbd9b63625f28fe771cd8bbd6e720a688f80d6378210fbe7b9b338741acee82496c5bbd3fccfa980b46caf390ad036b59790b7f75faeb3115d7f1b490b5ad5f6466f0b72a0b96e6da6dd3f0416cc282933c7a89b67efb39e40a751cd573baa3931014c6b04231fc4aafa60ff5fab4c0185528c45cd947b5499a9a1d154af541cdc76a6f13d59942396a3c8a6f5be9b7c79042f1324bae7f7e25b48c82338c118592d4446749af1e876bc6804221c7217bf02061af5305c67842c953856a9a6b38099a319c50f80e773d575b6f848a026334a1983efee147ec20c918188309e58d2aa7195cfb23f34b2887ee9cce3d5e4244d80f6328a128162b9de38c6e1d1dc64842d95dd227f16b991cf984100e6320a1d093626d530763d1c7a020628c23943ca7ef9837f3c48bc708e5f06e5f3b8f35c5e7452868c79b225f6f6e5c4b84627447f565d6121c42693fdb658ef2cdc61042c9a367e6e828f1e1a142d4084629a29ac6f8fc30ba2aaa018ca2b47d7ff6dbbd66f78bc2075d8d1e877dc97168a9e18b42d48a709b0e9d73d84107d4e8c5aae3a14ac71ee14210d4e085e61ea4f299bc751705930e7b0d8d1d86759d19a8a18b82d7fc7aec09cfa1baf6811ab92846988d5c599613af415c943ce672798f2dd276c86ea0c62d8abb12836d5eef681db345f9b43de663095779a0462d0a317ca8a756bf21d5b428c68fc3fd0e62aec68e2e8f5914fb34871f6e6cc2f8298b7210cd3d49ce4186747855a0462ccaf9f243583789b559a0062ccad39d43cffc5b3d890151a0c62b0a5fed9e3cded4f0d0b8e09c19105794e73fc7c941e83063b0e800355a51ce32730f67454c7b6545299284c5c7617e936e5651b28f237d093a1df5e4aa284d0e53988a62ba93dafb9ce4e30d2a8a65b113f6c642728a9297c9e47b47fd47b229cae1268d3a123cdc28d4284521e5ba4695cd9ea4e8f36607bf8f1ed27d5090440d354651d8f4718758da92e39b8a0687030ba8218a72469fcec155d4d30a851aa128c721bcc5734c5d963e2868f338a788bfc9cbe36a7ca21c7733c71f439e589af6442186787f7efab023f13a519cfdf6e8d634559dcd89827ce439a8ebd8c39073fe1c0ee46ea2609659fba38ff6d75913e50c921d84d0b1320759268a5b2f1fab47475417a88189428cfa48ffe31205e9207c3cfcc991203dd25aa2a4f5bddd215ef344cb30802b519a90376adaf18d4a89f277fad42b7f1b31395001352651d41c868821ecb5cac7d6904441323cc7cfbc37d5e725a04624ca113671e727f2e6a887c4d23ba122c68f5d663ea2549bed83f38fdf131a21a08623f28969433e29df4a1b519af093f2cf23c5c689566b30a21841656492e678c8b1887257e86e8eb74d9d554431e33b42ab5fa3939b883fccd304d368df210209a9bb3b624223ba894739a87188c269c6ce223b531e046b18a205350a51886b4dbf2f9e6b1d56831065efefbcf3d7a21bed4114f6dbe33c5f766aad09a21c3349d4a81aae26ab1188c2a607fab9f13946eb0c11310cd40044e937748a88dc19faed3f94eebc6e420e31f91bfd50b62c0f35c6c8e155c6abfa50cc7156917bf6c33c5f830f47f5e1266d5cbc7cb4d7d8433907d2715946f9c0cc20d4d043a1834f11e2c79c274c6e3da8918742fadccf39f7d4df63f0504c353777bd0f397cfa831a7728f7a40e74663bb2f98d1d0a26dfe1c23cae8874faa0461d4a9d2a7517f9a3f907d3a16c1da68fb42e3d6a7767063ca8318772e4be1fb22bd4904339887889ba0ea99edaa5428d3894ab3ff09464fb81e59a52a80187e2cc8791cc883ef7e90de5d7e4e183eb78379444534fdfe688d5ecb7a1aca99d26e57558b16d146ab0a19c6c7bf25c7dc2f75e4361dda3ceb1860c39c8ad1a8ada21f78177fcd9b7494339c4eb3874f81e47db9f136aa0a1106f3f5efdec58bbbc63833394eb327cbc7733142c7e353cee9acd884931a14619cae9e5b93466481346e225d420436173e4ce7c496afc3d8662dcd0c821e4351443d926da87f5091ad1a36128de96e728328e4666040c453ff108f9d1273c6dbe509cdd4d8fceb1d587bd50d0903ffe7035b3b9a4bb50dc9a8d164fe51f72560935b8508873591b1e67dbcee5164a2a4147b2834d0b850abf7155adbbff64a11cb3d7d4c7749a22c420a10616ca1fd7679bf9decfbe572884bce6e8e061c80ac593dbd5d431986d67aa50dc760f7ecb630f67d6a3422168cc209e7d3dbd7c369842f927049138f6ff1e52289a9fdac4e97dbe8228149244d6d579c80f99864259dd7237e720eaa70829428d2714b73c48be2a1df137ea84824cbaa67f1cebdb6a4239466696e8146e1d6798508e3ad80f3759c895644b28c7a168d8e7d7138b8e12ca12a35a64f36799d016116a24a13469d7f663d90fd9e39050765ffd70925c07d1264508358e50d20fc5c3c8f6e107fd3042693a7f8a9596b8e12942f9cdcfc5f2b3ef4e2294db638e3204372f8bce104a126c73c8fc70d73c358450524d1a3bce4194441d8cd2fa448f29054661f4346fcebb868aff17856b93931cae3cdced8b92f7c7a4a6393aa4b217c50fe5b35dbe97e68c17855811cb71dbe4f95d1462c40fdc264e109b185d9432e8a43cc9d1ce96b9286fdae022a2593a2eca8194dcd5c9c41e8f5b94463684ee36f31c5e6d8b722acfb87e1f5b6a4e2dca71c79824479f3efa4f8ba2871d3b7507d669fb2c8ab52e979339ce8f6d591422747590bb08ef8845e183cf4ee6f0d39d6151f2d5ede471e039fcc9af2897471c8f3afc4c3eae2bca99a1a3f7d208fd9d5614d2b4bca3498dd10c2b4a5bf2b7ed418e1def55147272837af6f8df4315e5a83a90a86712bfdc541432d5ebbab5ed4c121585381233b7ad5aada7284bd88823a92b739499a25877193b3a12264a5a8a42d29ff1a039cb574b8aa2e42078f4d388d91d45516bb6ef53ec6fa85214e5a0d351048f6c3ff8a128e60fef209383a22c11db417bcee21bff44b93645bef1305856ed8972f8e851dd4cece7193b512ca9ccf8387b87c470a21c24ef38f4a893e3d24d94fc3b3575e8f34e13650d5fb1e9f5731ccf4c14d3dc8e7c9aff28414c1456b3e74c2fd7dadc250aaa295f4e3e435ccb12e5fdc8d9df398a7013ab443966c7b8861c3dc61c942887e81911bea3bcf749948a75a874ad07a44110000080016040281808b7ae0f5394100808860866a1489424591ca9ba032443c1e3e2832122c142e1c080a2c0c08060a08060003078400c060502a03028100c87c7c1663818f31e00e10e10606f06d41b02f54240bd09b07702ec85807b2580de05482f06645cefa81fa857979e44409f960774d502daaf98a01cd338296b760b30fa9c1457af5097ac9275b4bc8cdfe695a8e2e859e375a3377be7540732dab0f3b35c3d07e5cb3450c6e4d8a24ee459b138b4bfe27d7f678ac0466e887849ef2079b98f42b3b766c7e3e5157b4c14e6c4e3f255f521228b19bb5836ef472cdaa092c338bde578867566c601f2d0050e40d9654b02e1b826eabcabeb652a43d96ea66ac1baae299c11182a239dec0d8386e5ec9265255c72b79d8b83023b64cb744a8dc04e14b3342572faffa7c55b35a5dca7aa90075d8262a8152f6a2cdf686b1bb84d988064193f202fc0f00f2632dc4f29c493924ed1adf4aafa92f4af4431f6f38873afca615c8f30b881615a8b6e84fab90bbcb7732edff48203b936e8f63d18375e3ac1b4bacb6b4e798e13da2d2cddd6696f514a292c70bd3b54bfe080e6bf5d834c0e8d4bde5a22019fa8c612af3e3b32e08a0bbca533fa188294b384ee88e391058c30c91f5e436edc3928a352c721502fbebaf0cb91454b397abe3438155048518d094464082bc002a791380d4a881087d66fde1000a03b1e4a1c680ae9fd6c491ea368b90287dd028decb1637a4adb747806045d7073cbca7b3a1f0454b0c062d6a90b2a44dd7ba2ceaeae77858a5144d8b08eb459e795a0c925e0155bcd754ab60c9a89d19bf1b3cd3d958a1c9318a5e51a64af0c434619a6bcb1ea06de1004beffb7813ab17d1a0fba48a6ad866c43aab1105f525d5d794316639413e73ee4e76a3ed420648ad3cbed20c3497886cbe3fb8eaa9f46629310189d65d74e56e6b31961079734f94eb6872c298a4cb0252319594e44c19852ef53dfdc6878d2bd1b888430f1f1ec945978cc667f63509304918145bf2ecdbcdb01054f3e6b892cc447ef47bc3166c5f03be094ef290dd8ef28f5d179c59c9ae2a90f287bf9d2b06179c2316a1d31d829c0016d02f2f86c6dfaa018ac553f2c36bcaf2cdc1fbbeae94371a8cf8be2b54f634b3a185cc1ae90bbe21b064bb98111ef990f49509291041d86306a31966f3966048240b4004e18701589a7d62ea33126c8396754254dec6d87cb04b5b65a6ce18396ccaa6d5bb64692b4c92b5400f7d941afac4a3eeeb13e75410f0a05c1102296bca4397d40dd71902bac88e3a8a6f7ef0e822378c5639c0b20a8bd83321ef6806dfe71dff7a6216142aaf901075ceb2145608152fea2bb6786653372a1816f3b82a35da1819811819c4a2ff888440b88c6393a965979a57d62e0f5b67c7ddc96faab500b85e771949ee2a823b34a42b99eb9a70438918aa4242f99d590be1288552fa467d02ac95248881e925530dd80b9d34487025e518979835dcca90b8cc99291287e528cd7e7f75db023b44c97550afb1a6929652da1e21b150c56dc664a0ccb9ee54eaf5e318611fb151728003753b8f226c6c5e48ac8b33a9209558b43eac90e80418654c9508073ca1a535e39e128b0894d3209896c80e6c1e7e4399c0276f79796c3c5ef6c8138ab754707ecd2131c29ad52907c85aa8455662dac87604eed439e0222c359d84312529048a2ebe85116730bb96ee1b257387dc0358bdb9000157fc438afbda32398cf5bdae4c385dd5d5bb386577b5fe6d01ae2090554b792233b010228e3ed4a22d5d8d74688ebbb25ca08a51d671bc2e9b30a06846640bf4f9ba290a284c455989808a661ed556768f1008d23a4020f229f668b65b53681d3c9cb020136f86fde45a11fd213922bc16eaf500c6a13a780787d2b444b50756ae797190d1d9e4dd4e766d228ebecc0470f6899e85846e2a201723de31978c1b73659c95ff0059ab359e678127c3126a995656711360119bcb3d3636f673ca2076f41e36291bfc64d66f3941fd240b8684f44d75cf98b4f0cddbf16975d61dbf3fd93c9971d1167b0100f775a8f2f37ecf206f17d2884d83cda2ce9bf2416817c77688417ff9f4c6228f8c59218c9699cdd47156d2473b2734a756ddf9aab6b687c0d8e641b9a5a53f9587e2c3307ec84b4686ae69498301793290189980007bdcbb42eb60821a2b030e5ac6a7a03a1208f523e8c7cf6632f4398ecec41113ba4627a1331a0c6f362b45d569859c72351485b922e428198984216c104c29ff50e6d7d41d45d8c1581874da8380b707ea4fae8e08933059a297750eebd55bed3228d4f73d13a55e2345b522c15d7e7119a700a4e8d52f57414255c5de8b9d97566a761521d5460dd4dc1a28cf582f63b73d07ad5eb34e6a098ea6ea7a4d5e934ea76dea6985cca2323fa5c928aa406e9274a72bad34d69009ab186a2baa770ba9dd2a19e736f5a9176a4654517229c5514c7637d0ca6159c3116178abad1a3522690720d8e09833c093ac311d8c0e252403bd9141f7e9d3c012684d1e21e1b82920129f0083281955725fe88b8c92f0946a35d86912b30ec9a18a45843d0ea008a035cb14891a22a1cb66dbde500a148afd387d0be3f312269ce18b62bb0bc6798017fa4a5d88437d2ad007503fd4d60aaa41195e1d60d209980ceeb9738a9ee062283d7160e7167496fdb4868f722e86d91b18c82848da4c7a8506267e03e6c59b117ad9795793960c46e07ee560ee2557cb7d85e57a9d96e185e25f64edd4cd92603bb98c5c24d4c32a27f9d65a39e707afd431ad64b55f3e5f9c145da082ab057d96d2f1b4dde2a3891352145515a0e00b4b47d026ae5783cce72434edc2070645d24fa7fb6db68f9a9c10892a0dac2c132c9952207f92f1cebed1d8e49873ac6c9740ce3b2836bad4f31773a01d1e88d1d634a3facd39188c80e26c26aadea0415f7f7ce129644e7abe8ec4012108d056b73fe639c7566a965296e5f18d560a2cf9657539132861a922bcadbaffd9381137c845812f12c54e7b49b7cdedd139794bf0417c015aedeefc2dc8b54ca92ced4bb0f8362e669dc7b20d226339c991ceb33a35359a6a2501e1121187af75d6b16496a2b2c31b780359ab905314e1f6fb4cbb96b4f5d6807d496fdc381eedfbdb63fdb88c09c288d39230c8c93389a77c8ed559c39bdeaed532f2049444b15b28e6d2aa326756732d419f129c1aecbad4bb7279c297d9f69ec8e100dd1b29f1523442e7430aae97bc379f846f81a7015db3d890e708136bd29d646f14924e2eebbdea2fdc2ad9e4c150cc234894d58b47f5cdb6e39deaeaced606d5ca468100d8625450e241cceb31bbafb496b2dd46dae93d98f72d248bc7f72df4871fd91e5d8cb3b715aca3253e5bd18a9849b4a2c80b7ba1b2f4a043723e6f738fc5f204c017e785ad8e2930f3926e17c654015dc554a57c43dd1de620d37fc722120d199d739e421d4ac488086272ca206b7472fc73ec4d615f59f2027713c63a94886ad2506bcf1be399f108e4178219f08255585cfd93a9848b2326e89d2a734d32a8a9345f784664201b7c0e9d6097e523016246da064e5b183f2f71315f1828a096b85e805771947b700a55e4a1a5ee1e054d6a9845cf3ca4660dfda92ab366e505660766575e87644cbeaf669d2f4b87a1b59b90b0616cfbc3cb60408d786531528a3921d6af78d5d6673cfd18465f0c732fe515a7c36c28892fe495ec6c2b2e6b8c018a7e254354b399b489bbbe6c98629fe81efa184b66ba62929c11a40367a852b7210b61a80702647a8b3b9fc580fe31d44530f63ab2aa81471fc96aa4a64441bf899e3ad969248ef6462f198362c04619c8b742841b8aa113bbcdc996d04646da1cdf39de15a28da6a6ca40c9ea141193970a83c4a6f820daa89c912b42c7096e109f7cfa3f849abc8508840ccc1489e917b652c2ca64d86125b69c3285d78df1cb07ae02a9a223a268d8225b729a97085edb9959ac621a3632bb39d03e8acc619f73e8db9518089b938104e8de1a0eb6fea5aaa3a82180e1b61c02d3ed4022ac300153acf9dacc52dc919fca5a0f3eb00281a59207cf15f34183f4922d1376e94a1659b646280e589dcddefe364f68364d277437be29ae3e4007aecb5d1df58b24539ecc7f9309f69436d86026ef9d7565d00be84c5e8c16aa61e00bffbe3d6f821c09650b188a86578bd1f03be90e6ea638a82ea7edfcccd0d86ff177c0a30179498264b8abb7de94ade8c2cf777122d6239d818a66646d066cbdd33bbb3c7d813c53b8469d16d4858e8784773e6fce2a517bfa0f8bab3274738c044119974b8f49ad8d56cd4787f500ebc7d7b14cd275bfcec28ad2dc48cfd813717ca3529199d2cd67b899f518c9a5cb805aca2c89acf8313beb73dfd18cfe37b84d08c6cf8725211679cab33d5902b4cb3fb08819c5d89015d7bb6976049a1c4fe0f01fb2f92681b21beeca27956e1549fe61d846f46926b888c4af8d015352f828ab321cf52321106c828720a61649f5bcc3d471eec0d665d9ea0eb4da6443fb6a57a02461a876c8482b5a2f6dc021a540b8e5a55b4b9b535d4180d215004ef33518fd227af0661ff600cf013e24f53da22c5dec7ab61cd62c5a0def644e71f46b58f3ccb51c4f55992e004d444ea04fd12e6710461254b3862e33bff2964fb99a73ede750814ab457cdf91b952d652c60be4b18591e1e730a408076f729520d727d85293db16c475db2cf36dd26d33d3ecc3da0165a16d3d7ae57e2cdf2fbb2de1ffcfe4465ab61a2dcb279d4355fbcce9b6058d897903a51fad371b2f14d3540451aa052e374fbacf0f46fa7a577dc6ca912d584055eea7cd62c7bde9b373615cf1961c67701e1463a936b219498020ca303aa57e241f8d7c9475381ac8c85acfb99e8bd50dd56abe3e7f015e371876561a357571c04b7417d2802425d00ecf52ff3cab7b7ae20f35e0c579ef06547700e8ae86707dbae0af6417a81b83b49d2007854e2873f04d4d0ddd7e72b7513bec2f27c7c2d8f89232b99f7d6d59d247cf87c94cd32a21e4694c6b6a684aad9782698071e98bb22c16450c987c93c0322bed3d82c114590ed639c579f064c8a8c95b06eea1c81af475f567e297eefa6e9efe6ddc86e8c57b3150801e934d6cb1197da5023c40bbf735e82036a75daaf235bb29c3e3c4dde28174ef382581e34deed6a75d5484dfea36d637bb9b3c03a9c2fd46f5d8eda9d011994ce3d39b472409b2740febf70a267332ecba678f22a730254e95f50c72a23c8ea4761fd431c67e97ee3b2a002749e32f9e08273b4f49dde2049ec2bbe9d5330c1aba7c476474984add540e2a15a492c9550a2c056a3ec578ec0fe1fafb4e99000fbb85489745c03562898ac62a471bd70f7a3a9573c68898515807b6e8e5a7db9bc70ca0829ec88c921fcb3f371121158165bc48cf65ad64279e905f3009b6ad79f6ffbd011e2d3b919e456212fe8b620d54f89b4d63efd8fff019e203ba988c62152b40715dc496861d9f49bd83b8a98434ec5e43f23b4001e2d35815468b582d93dc5dab7cf1f7a94c3350d973f4bafad0d2420b81efdad83b598eae0d342808bfe0732d969c2e7a0e86b30fbdcbc59426f02d686e2f02ed1d3393f61e25ce464a7a514ac47959bb311939628b71abd5aa01de1df57f9089ee004e3ddb11bb61e865f3d62e077af775711c1e829069a5d94183a3cd8eb0eb3b3aab8a3424a009fad803365c4bf318d68cfda81b5f9baea0ab836b27527d1c91ef8f73ed16a645c75cc75004a9bd5e69c2eb2e081ac329b29e37f919ddc962fc4b038ba8f5cc2cf76072d3b523b36bb82a09984b78989e89498efdb3a4288806b41c2ff8dd56461f63659a18c1aa44c87be5e59c02b80a4d098ef709e72883c873de52583173b0865c493a40b8163cb45c15a57d494b997c103779d62e2ec0bc477bac73f1fef84b836b8e9e7282ec778aed95b12d11b879d33a73533ccb63e069a40cc67c304435074b0534cbba27b5e01eb05a5342ed365be8d84cd53bdd77b73b21863c88ce2b345b392fdad0e6faad0f71911cfb883d86ded70dee251b3e8482c3cf72c97c183c51267feb5f99161ceb04172730feb6bbe9370248b68d9b26408895d14b1bf3567f05c2ace24642f53292dae257c15f26f45174f0009af91cab282a4b718c62720afd608548e7fdf37eb0db0952cd2313bc2cbca1e0038153540812c9b9424c10f32affb85a00867b80726a376ce598a2416c716bc0fcb6afcc8260d3ffc6491cbb6e66459d4cbc8ca1290f72424d95a655f2afa4c862974a4b66641495ecff12ab3e0eb7a0c8788dc5a496fd94cdbf4fccd9256ab00fefd8cf0fd918282841a8c811a2cde3e312f81dde3c7996c7f8cc166e16e8e11920bae8381440dcf829ebea4c7e19ca14813fe1590bcea9a5fd24a7087a5d24389abcbaeb438a05775ccc32268e01a0e088fe28ad073f748a43d8e525ecd178ac6962bba3755a7d826d2032422032133ecc65a9838048a393a00b749a99121b8af20ab1a7d7a0049a4607f9a1f9304dfa46e6a709c700e5858b0ad98bda8237cfe2070c09526959161623fc1cfffe27f9ec44032825fa2a1962aa6e38acb2a640393162704ab44e6f45bed05ea41b87cf5c1b16d76ac8d91049e62f6704f211284ae8aca03d040ede65d95c6266b5be928dca15aa7084d5434a58dd18905fd4c8b543356304698b3ab242f699a24d74153f12ba46fcb7615fc0495678a331c22c519439dc4a6566991f0d7eca96371086f07051adb2d5040463a8e82eb09c27df3a0eab11d4affe2f5a3edb5b7d51c6d09e497e7281c495e188097ca12b83beb10d32ed6b368cb741af4c20016ab0287d7008c9491e122729ba486ab920e17424864359cbadc4cc5ae4002ff5887c87eda0812007022967b90555a192be7a416caaf7a02d15b60f23217ecfdafa563fbc8bf8f4ded62862edccc36d8e40c75f6c50115837b6063dc397629e52eda0bc369571ae4bde9a65f990f83546275c3489a4be1526fd40810b05a43462d733de29b3202586a8f078f74bae1c27ab0a869052915f5f6669d42de52ff19549e40c8dea7b468e3f016f6d57e1e23abd50c675ab77c071c3dbf8c5c49ea013be60a42f9e0b979e03e77f896e172c109bc1b60502a71d2eb2a4fafa9b552b9280fd830915b15017393cf9bf51045c6d257ee19c173813e22b24c794ff0998fddacd438251b6704dab756863907e852eca5c8b20806e1ee2df81a1cc832d2ced30bdf54d8c1cfc470fcb24c57ab733fe3ecfb88cddc406e31d378c613b61b994455d9a4aaf977f1fb7ae1eed74c253ec677cc5a5e9b8d62e347405ee9f80ecff1373b2514f8317b1815cc1bf49ecf6a7681abb914cc33a211beec50bc37fe430b5d4c2720b96b62c96d85dc21761d890a61f78a003aeee808171196b3371e9a93780355e157c7d6eedf3316abe60e051448698f2afcd2c22ed0445046143d9c89703f0f6964044ffa3979b1cd04b7aaef3e33a85d277bc850f48173f635d6bd6ebd6db810ea390083809681862532a60709c88ef5ff598719866572369258738ea04a6b4eba06c048399cea2f631186e6a774cd0cae2b3e6be914108bb43f2866c083191caf84cdba39594a4f8a05095e2be0a51e76e10ee4e68454b8594255a662a72837460086ef58eb0c8ead086ac4fbc01e1a902594976c8618b65ea31dbc370632403e2f532d67c0440ab825e85da78fe723114925d8126caf20578adfac2bb15773e57cd29df511143dd0fb7d18420969107e1b10afa61c3052e16e38482eb7f9db25b2cf5605fd4976aaca3eab82843b44bc7a3d4fdfb612646996ff28294235fa40a3953b29e2473a26c3493c8a2d2d9542c1f988a36ae42ef1d0e4d0a2c32b7a2aa0d0366e566f1bc2016430d58355b31764ba55bbdec4ecd76d686c84b4186296a2d2e9154fa8717dfb631afa6ec9f5311b9fc6f8843361c77fe3370c58f4245ba5d99266917a329511fb4dbcbd592cf79cd11be9fa6e88c2ba762ff65935866bc6c343135e041672ca4793463b4d8ec3faab0fe3e69661fa218799458d41cb0d66781cb4eeae6bc364b261d89d85c175302ce2f554d9b73151cb255517249da2053431be20c417252938b7618100c6532d7249a7b29194eca3b6917190b1a0717e928d3c24f81c31f73f65e82a1a847422237f6c840bc5f88d38a59fd02251741c33acff35a933f7d47cd3608a5030a22b96d5db4387ea1d3f6d5f5af8047baeb279bcc7ae264f0c8a847c882aa563657fa367e9a90ea2261ab7f4422782344c70c0201efc680d0cb52e6669512af055874d7198645c392f0dbfdeea3e020d1f28e4a945784fd34d47105d21c6891e16d3a18d442b1259e4f0392e9fc1eb652c61c3968dce69baf2c0269ad949c67cd439ab9c978ee41270c6ce1d2f27dce345d13ec4fa73f1b502de445e7bdecc5a70abdec56160f2bd9a52cc0994153ae11ee614c72c7d90952d38ade2f346e388d7432aaf75973e1534a174c3f300c21540cc844f5a43ed3fb6a2c0a799827355ab2a91bb9528d29c1a892ac90d0c88cdd4217c8f7c58239883f6a6c2fa643f1db76dc48e7198cbba2b548710812cced2562c0d49bf8e92868a6c38fb0f4bb689da7af800914556524bbbf95aeaf64679c500e5b457481eea59f57ba7fc2e9306e17a596d00a6d6bd95f2785451b30ae22179927fd2964c7e37b17f8f295b164a8316fe48471d0385ba4b6080c76643867bc7a23abdd1706291363d0f835be4ea1f9e90e2311c983d57d3c7ce066b8afa8e5429df0ca4b4f77d1e2d93c35ae45d7337a76559777b479994a76f5d02f982501f320521339030b051105629df447ac0c6dd0e5ca2c730aad4d5ee3a6d52f8b89c75e0468c56f20bb8f1a982babb60520323cd28d83657c412cefde0a574adecfe853eb24ca0e3e6d2517f27ff29f83b466f90cb5879271438cb72c50a70f708cde2d5245c3d5c4ccbc049ee9705bc583e5177887869090a2d3acef8a52e2bf27a015a2619ec46eafa2eebb2ad087f0dbe2da4293b0f45913d1cc77ba2fe0660b983f5ca0fab221bbc30bde802869b34424008388d468e0baede84231cae58b38b428fbeb8301269f3d0b4d7a7bcf09120131d191bf39511d06e875213ae961da9f23b90d58b5925306bdd2ad323259a0510165808ed479052413d2f86b7e9ff853aa3c949844b60e3811a260e1733627465723baa8037b97b5aea541b7663e93804150e5b80087502b7f4d8bb52a021a1ba7726875e853f0c5c9038d456673bec5a9df686888e2a20a0f7f11afb8d36b70cf860d3ca874c0538f768e83c5aa5264be99ef40624ba80088a69c7a06eac510b1ae90491a2f1a8531ffb4db1422a99d0830938e7d5fdf4026a0094a6116ccc7875d5e2718338bf2c1866e9c3633896aabf45a65cae0deb433af62ce6a292032336bce11e045e897a039050e7211e160149f550cf83de4f84dccfed839d842430778b02f71c67e0e7854643fb34bb40a20611067b2dcb3ba35c7e85ee52c152aeccc988c1286f996a88ad1d48435ec6116262757fc57e8a8970da32e37295e1bf956af578eb4944878fb6346607d35162daf93459a809953e5892e1baf8902423f0e0002c405782e73f2df7ea952f920e10f67988667f9d9682695c6a65bf9d49d6aeaa16e5695dc26c612c2ac26206df5fc32c073f164184e32b7c19c8c2b31cf3a27623e2cabcef8b3d5b42d0d4d139b8b389952823c094e6eb314f52c75cf2113a3843977ce90d9dc94648b93a8b3e14437c3a68aba9f9161824785fc63e7d04835c94672cfdd5bd80fc22ab42be08c418ae4ae4a19ac030b280f187468965560d991f14382f0e504d8f12efd99e299a9fd67b44044f3b2655d3d8d3110ee4944f9fe4cf3335f869df5fac56ec0c2838d9daa5e49f7993803f7d77c955053fd506cb4c9487c9da717186ef66772146ff3d1609deaad7b2a51fb458e6875f238c59d1f6e5e0f0b07f2fb6d61dcb90fef8bdf22b0954f8b98d6ad48499813dd8ba888328d77438ae49cc03b230bb5e837793987c07dfe3805c666a28a5639c2891a6c7a92f14647f95e5b8b71a263161c8633eda346682abc99410dfeeb4640bc6240facd0925c9855f809de18273104ac212b63ba58998a3aca408678d1495b39b5614ab1d7ad55a97dfae96a9eda132cb25d5fc5ddbc65eb5cb39dbe3d4dc0af86299317c3f75851b6b987abad5feb81b60345fccfb9422393c7c9f035bcf5126c62b953c38ab553c40da4e58e65bdc738b7c1585bf468eff619ae527c0b7d4a4b53c2ac05115c9774081ef54a33e3f854e4be0391058f5e691904e254a75ca058cb701eaa8278f3280b2a47203c3300cc3300cc3300cc330d4d2823bb222fa5b022d314cb9e56e57ca8a481f8761ba77da864d124af59fc401370509a208ed084b870ccc2347087d3382e610cd96b7d52034bb307e9f8176398804a1d665f029c4f9bd9581d073b0f81ff7b5cf8380d0d2841919cdaff9903fe8d59b7f51d7e1e107b22f9778ccfbf81bd407dddbdc249b55bb3cb0e0030e63e548d299427234e7241326671c167b50a62ce287540eea42c4420f5a9cca1b770b39f21848c0220f4a4897c4c38eeca397a42a6081073daf51c7c3c9aa6ce01dd4065fb915737a3cb11c606107f54be26916fbd422d741af9e94267fbe0ed18e0e6ac877f98367cda0f632072d36cfa4f1b90fdb8d1cf4b91829a77c52441f07756267576ec7b03c3b70d02b4fe6d0109a0db078839e1f9fc9cc778e19a5042cdca07b369b0cb6a2243439480758b4419b1f978ca4626c902110b060c31ad49006349cc10c6520c318c41006307cc10b5de0c216b490052c5cc10a55a0c214a41005283cc1094d60c212949004241cc1084520c21084804510740c623283906346b12651c002089a6db8834baf1117992360f103258754facef2be2f72010b1fa8915a7ae7bc5389ccf8052c7aa0370a918cf12e934ecf03edb3e3abb342f5ce6607fa3caeb80cb772483aea402f4b66bac941bcc6490ed4f06e66d67d561d8203257efc53ecfcecbdb0b8811a8d36866421c88689850d94dee01f42b8d439fe35d0f1ce4ce6a461c62c87064a5bc619f3c6b493c567a0c8c96e96dbcaaa8a0c349be8d679e05e8fda18281d3a6bfa0b1e9e718181a61169e7938798b7b417281b39cf2ec8fe855d58b840bffa30235631993b462bb43d871937ff4a3a7558a1e7b38a6311633ecf9855289aef4268a431643d5215ba4f8e3e08733e32dd0052a1a51c62842faf984785d6bb396b83f82d139653e8eff77631e58f69433685ee96aaf2ed96c54cf15268b13be32f72ece4129342fdfcd320c5de77bb76148a77aab649a9518ecc07200ae562643ccfe13983cc8442e99c1e6e37da24f601858e2b34fae41ee3d7f213fabca5871143f7b8c5137a083969fac8316c7e904e68f2a1faf7427e7fc6092564464c67749a5136a17f0ee9838e994908d10b06a0091dc3a4a71f2c2f3e8704a50503c884fa11e98185dfb00dc684125c62eaec6ff6a9720935db537bcce6d982f596d0f2a386ef592248fd95502ecba5903bdbbbde945024b32cc4b69827cf49e8edde313b8cfc97882494b0f14397ee68c62f12eaee8b95d4e370d23890d07a6267c9c96332ff1fa14706f6e93d4e6cca1da186eee9c5afccd14d237474296387f9298ccf08c5dae3a7730c7331b60825472e2f091d7964724528e9372ec72f99459f083d95447874bb113788d0b7333ea378afd799436829e60c39e7d9e02868081d6eaef37b4921f48dd72f0bf20f3a4508ad6d1efd874c610dea41e8e835f84eee2f085d3a3d4adb207c9b81d0f3d3c7fb90e91df780d03dc545369d4e0dfe83f6f37043b764ebadfda0c4bc31e413cbf441dfd4391ee6341f77e283a2e7c8348530571983f7a04efd7b3c8d7c90397ad073b61c373c23cdfbe641bbdbb1b09d318e23785023d2785dc8f80e3a88e93aa77dcd34d5da4109bb371f6f4d1d143fed8bd738df980e3aca1cca4f82cb9f3d072dc94c8eec8d42c4e5a0e6938a6a93ecf2c541bff0783633550edbc241d3bc3e93d019779b37e829e26f277f9aa4b9e2061d4b2a479be3a512b90d3a4659f10dc65a36a8198dc3c791c67adf1a944a63e7a0a75483d67ee64042a62ce4d3a0946e2ecfeaa0414bf39a6f3eff7c06edb22e525bb0efcca0d94f230f95fbd3d9322833e348672f6dcc48066dbb3f5cc4710bfb8d41cf58dbb26ccc1b8a41bf061f743ac6101f1f062d46e524d16d1efb0683dac8e15f67948345f60b3a6ebf7b2029650a1a2f28e176a4bc35759a4b1734b7ac8929c55caa930b9a47be35ccb86f9e2da8bb1171b6368cb747b4a0f5a6d711b70b27b9cb822e39638c273d8ff1c6820ee2f762e514226df60afa5b4baeb61b4fb962053d0407d719a38d4c21ab8272413fac42c8bb9a0a7a4617d3d8e79c1729350525d25cd6b35c55b54b41c7ba9353f71d053d6e85448cc1632f040a4ad08893bb9ff3851c3d4187bd2d152b85e6dd098aa50d12ce7e2b66bd094ae770f93853295b9609ba6520f1528e768c9b2528299b6c9c8bd394a0f944a6ee14f2f23fc60092a045e5f893ed1d096a8c0c22e664a16257630047c0774426a71c3482629a2dd3f6054f3f9e227841ffb2eb89a6142d11b4e9972aedaa0ca1f8e171efbc7363c40841a970fd30cdbe7f252b08f966b314a2eabf530404bd3eba2fe5fcf0f1877ec05ec924b10827bda30f343b39495b1a1ce65c4a7a506807e1528a3c92b51a000f7418e4e73e6e25cbadef4091b020916d6b37c5880e340f71e21df9201a9939d0d36cc6ec68bdff6e0038d02eaa4ff2cec52b18c00d947b6fd16ded142357468301d8407f983d3782668f786ba065781aca2eff3d6f4c07064003dd2f62be90726c0033d8c00064403e8018a837bae97c772e4c4e81817e77296498dd62ce0de301bc606caea769828201b8e06039375fd08ee009ae688576e1d95290da48ed322b9414ec61e67c2cfdc0b30add32caf69a73d00dcb401995f12b54a106b9889696e89338af48853651a50fe481a8502e9dcbdb3daad84972c529d4dc37ff235ed5e6c022832b4ca1eb04ebccfc3136d39b31b8a214a428b3d848878c514a7bde284e36deb1bd36c3c830bb4214c58c25c7f4c0663c662414973cf810c7732165cc81a2d05a3bb1b37f5c8509b2e08a4f9c264abbc3155ce1090b5cd189ba821375c5263e708526ea8a4c8ce197c69b189d937ae3812b307109255c4a736f652ff2d8b384e630a243d3d6c5ec8a4a40e08a075c3109125c210932400fae88840e5e2cc7e4143edb3f2494cb417359e4ea9c3d3f4273af0c2116ad23d4101c48654bfda0c3a4115a69cc7d1a2bcb9d7d8cd0510a0f2a37756aa0db158b50241ef46e6a181dfb158a5043d5b9557d85d8f81c2628354c507bb82211ba7fcaefa353a5bbf98072e10a44e82799a51b4c0af21772083d258fb126ba1cb4a70ca1a31cc25212f1c6d71959b8a2107a6c9029864bc4da7021846e197de5cc77fa581f849a7fccddef7bc3a705a1cde4f9ce3e8cc848064249f231e7de89f1c24300a179670a9a2a1b9b34aa884af1e08a3f685fd2b87192cbf61eaef083d6388289e87eede5bb0ffa8ce5bedc8dc6e32e3e2869fc32f0201bffc15c82efc75c2336eddf15d40889952ff56e06e9b4829a734a21c95964a09d57410d12da51234fd25141e971df2dc76dad6d4d418d9c14e64f331ee74e0a9ac5b11dc9ea19c79228e878b6e36488e1730f0525a5a9bc6ebf473d4107a2392eeec0ad7c72829e2b235d280d8913ec26a81bf3b822f2c79df299a0856e989819d9d9dd2d41cf49b3dd2cdb51c4871294e45f7a394f6f57d649506362249954a92c790612d4f06c8de49ae6d27647504fc2ecc5edc9a18d6204c52f277a2b9c85ff6c1134737997cb9826827219564ee589a9f1cf43d02c37b37ece398cd929043559758c8a06f621c683a08e378ce3a82f85dc050082ee1eb649e34f4ad917e0074a4b768e1d8d629bc63ed0af36a47864294758ae078ac3ecb0319d51ceeaf0404ba1a7d1298de7936b073a0a19a3ef8f771436a203257e63e5fd64b893650ef4882f9d31824e08edc1818e47bfc3e58bf6c976033dd64e59e30b9bc5331be8911bb5ce5b54679b0b5003fd66f66c521ecfb9200db48c88b03187c65ae698813aeee9ff733f6c8727031d45fedd4cfd92e2c51828d29233908b7bd53ac140f92e97c67e778f176819c784b9145e7fde2b800b146978febe1fd3e3f75ba1d54bb5ff8f67fc9db0620c62666f98a9526515da487e5dee88ae60b72ad4fdf26c9672cc30bf940a4d927ea8abb871f429a850cfe2ee23891566e43e85122ca5902fa6ed754e53e8d1c12bbb8730b71d520a2d23695de50c373ae79042cf679741c7a4703d7b146af0c93a8d82e3b33d45a17e9e33d3f04b992e120ac546436ccc70bec4c1a0d06267c6654ed9ab41e4133ac6db1b247249efcb9e50dc62b3ffe64f27748b51b539794e6856959d33cc96bb6c6d428d8f31b476848489594d282d59a19b2d84dd8a6442dbbc95b53de65c61427f1036744a319ae2a62fa1c4832cfff83137bc892594ded466152f32530935f466cf9562d5bb9b9450633df24ce218f66b38093dff7c90f0ee493ee89250b3cce3fbf6e46c5822a1444b5f7c6455d1f08584fe28653c6fd3acfbf2115ac6e51c636bb664d871848ee1c6fd0cef51081236424ba53121cbcae3c70c23146dcb1a41cc65be3b8bd0bbaad283f7b00fdf2b42cd220e53d23466d25a2294346339e425670ee920424b9a63889f377cdab20ea16377d0b6214ea50ecd108a5666dcedf4295b5f08cddcf22237e6f028d584d0828b56cb64ced52165104ad871547593f2c5941184ba591c6cf8daf90cc240e8d16127fc2beee41c0242f786f127db6d8af60f5ad8c86e5ec38cf783f2113b6dccb8a92ca3faa0866411823dac7c76121fb4c68d53c6a76f9613da8396531a494f3384a4500f7a307389bbcbbf61cc3c6819d6e58c528765b83f1ef44aff9183a5cd294abe836eb973dab6abdf928d1d34b39bc8de8ce3a5adeaa067acb7a71f423a2831269fcf2e19196698392839568dc5e9cc8d6a39e8a8817c88080d3164c4419149979193c414cf2b38e89233e9a772c590ae7d83d695f1a5b029db39f0dda06c86a1379195a72da50dcaa5549b1946e3ab98d8a0046990c51c5d5ea39035284983cf477cad062d6cec76995026d75e1af4cfb28c319503c99aa041ad288d998abbcfd838837662972f9bc126f9b8199448a3b17d93a66a5029839e619ba3bc2fdbfa0919f40699212274e68c1c36063d46e2db74ca15f9423168f9fe829e6b9c700b8541bb4e39527d67c9e61f30a8d9c64d73bea08710fa5f4ba41d66e905653cf5a7cf0cef636b5dd032c865ff6e7b9ea4c1053de855c56b789539db825a3b926aea71ac1c335ad03c226ce5c859333a3b0b6a349214e2a6cdeb96b1a057bb69ba7f8c7c3ce50a7abc67d2d83476f9772b68fede65c135c68fd55541b710637eed8fd393472a2821bf72740cd719f21494e8bc9071c1764cf2525023446d3892f1cfdfa2a0a7ecbb79171ce79842a0a06e0c291a4de5987c3e4f50dcba61c4ccb0d2db09ca3dce18fbb5fde7ce9ba05c6ee9f4e06ca7f665829a6a1a24f3cd6021624b5053a6f461e3999ea65a095afea73ddb8ead9f9204ad2fe50e2515228dc52041eba80bf248343d36f1086aa5880615a75ab365047d33d6647190b62e4b45502a77b7a7aabff1d42082fe19f3b74f7264de0f419d6e34923c47cedc1d21e89aec265d0663e79931020204419d1833a4e63285970d045daf1a7e774afeb9ba1f6831ee73cc72f0e38ef581f61fd9e3ce656ceff640afb47727217d6a1c363cd063f79584cfdf9766074ab6a394ad363ca31275a085ebb43e96ec39a64b0ef48db30d6722b471cce3409d3e9d7831d8bd3f6ea0a53acd717269f57fc4066a8dede7b39033a1628440801ae81972d020deb5757da181621f6397b7e9e7949f19e81b4ee2478acb787197819283e5efee880ec740a99822a40cba2d242c30503c3abebca7766f3c03015ea0c58df9d26321800bf4dcdf21b9a5b9446a030316add04af3a7c741343be83c61851e3cc7af14335492101aa155ec30fccd6736578ceac8a9429b5c215c7cc47b341582452af4f9729c2c629f65d658a042cf166a24fb668e4c29a253e8213daeebe9eed7a09f31859e3723a79a18d9a4aa83b4002c4aa175a5d67007d5174ecf0116a4d0bdcbcabcef53cc481ec606588c429df0a8fe6dc6e3666b808528f40cc79327f41ef64f0a0eb0088512194845a7542974642c40a1fff475c62b0444c0e2137a689434dacf7f4a7b4f68e61d4a43fe77d3ca3aa1ec84fd0659de93e61427944e316d23cfa02dc509042c36a1449cde9cb951678dd7846eb3ad91e122b1b199d02fc3c8c61074673b4c287913c6536c58ddd2b984d2306576d2d1186b2da1c994c4d8c7b9f26f5e09fdff62f95b87aa146a4ae8d9a257351abbf1f22414e97f8f976056912309e5d365b021e37bbc7323a1cc5846694adaee5848288e63ec6f65c891c64768fe5d197c4e773963c6115a869f95693aa7f94b6984de285e7687f1c86184da2947dcf88b86105f84fa8fab33c89e6446938a503a6efaefdd0b31950129609108cd3be4f08d7425a18308dd518490f7bc3587cc2174cdfd7931bf6fd1a121342dc9cab3473d16430aa1c5cc080649b85885e29ace3cfb37872435122e54a19d63344182c3a4428b3d653795213ee7ee0a17a850ff43f27dcca8610c122a5c9c42fbf060b1bdfe805ae1c2145a059b88e1e7d96cbe5228135a34ce727edb86149af8585d7ec5143656a3d093c31c7ede952be5690a17a2d0eeedb4e2ae7b721643a1231f333197b18f880185321947fa4edee68bc0c52774df8e49b4628e45cf37860b4f28e136e9771e3ba174c9c33c9b7149aa94a38127b8e0843229b44ebb5eee07c9acc2c526d4b0e9f1b97fca89b4d1842e39c3bb54467b1759d5172e32a1bd07f3cb709511f98309ed370433917ecd8e312ea1e5df5cd5e82c56ce4133840b4b2817fbea3a4b4cee4b847051091d45c6601bbb6337fb29a1db7faab2b35067ad49e16212ca7ea38f15921e66b447e14212ea564ce1ce622ec77c94132e22a1564d9ecb15ef72ee030a850b48a89b913ece7b95c127ef116a83dbce3d6256ed188e5043f353de944a6378632f1aa1e4df98734aef37a13323749ca22f52f96bcc487cc0c522146b90bd1f2644a68689e042117a783b76cf9df563a4a8ba7091084d441b671091347d06044e20b84084feb131b61c11c206d30cba380419c0051786d0c3e3ad1c2e9875ce6121b44a5d7e61b51731440e1784a88b41d4852034fdb2149ab572fe074920f47d142cf87e54d08c0342cbb6310dcc5a3ad778f107085cf8812c70d107358d648eb719c3d0b764808c0a177c5063868b874d0ebf8fed41092119a6789bc8e841d76017dbe173f2233d0f9a7cc63967fcd8624c8c07651e04d7acf00e5a9b84c59035e463caeca07568501342ae3aa8d92d030d194b74d2241dd43cb239f22c67f4a9f5c1c51c34f188e4b2df599e9192830b39e819f25bfc8721bcc41307254d08314a42a6ec8e8683a28f228d7908f563c10c5cbc41cbfd6833e4deb80dbbc0851bb4af1cbcf7d1e392ca698316596f5ac37ec898436cd0913bbec6a221153c1078d1c0c51ab4cb51217b68999801ac145ca8410b9ddffb6f37f4691eb848831e72e3fc8db1c62c1b2b3428f126c7a6d6ef541d3c83f6ee12c35408d1f9a00d5c9841f7d3dde8ef8fd8f9802ee1a20cca7e6690410a913fbd4c06356c0cdb20a2db916fc6a0566948e6b155e9dd13838e2327e396c9d871a5907011065dfe61856309eb8f3c18b4cb0d8246854b29fd9b3fb8f882529d31a68c330c162fe8212406c9107c2cb7ee82163692ed5fe7efe5ed03da840b2e286d9d63f64d23658ed9c28516941019cef9a64b6946045c6441914f1b34e40b8f617b327081053d23c96e607641de240a5c5c41694f327b8dcc410eb9b08276379df1cdccd24fd7808b2a282196e3b7ac556fd1c00515349f72c99491cb2786982c5c4c41cdbf387f0eef722ab890823ad262216d7d8d9f77828b28e81e636a9dcb15fa2249820b28dcc513d47e94735dacb096c7851394cbe69d796e0e2a135c3481779c3388f1f5329d0738ba60c25795517647c13196a07d4a2ff2121df3f2721fb8508292dd161fb46a93041d997de4ff209ddd9b0e5c2041dd8cdfc927c6f1cfdba00d5c1c419139b1b0780e747723689a3f875fb6e463dd174149f2d11f3c48c389a0b6f5e5f3d8cc60f31d823ef1b971d8d88cc36384a04bd61466a2d1fa7a0641edb398ed1f245945454a7001041de34dd1f036344c59f203ed73687adf2c3af16cac315cf840edce2e1a7244903d7ba0866c795933def68dc703258c3ec6f8336cc9e11da893f35cb81cbe71a7c601fcf8215700f0c2850e34f148d65ff133ed2939501a87dd9441c385e0b00b1ce8ba1d6248eef9c6be1be81e4fffebfae3d5a36da066fe4dbc946cdb83a506da66cb869658a92d341aa8ef92c52e677d386e071733504a5b46c3cb5be343323eb8908112c9ac32e80bb9a4590cb4d9f794ad7fb1326c700103cd62a88ba13a766ce45cbc404b19e9d5e36e491d737870e102bd1df7869ac8ecd83e2614a015da6bdc4bb8fe7b343f2bd4d88f4f25afc9e436ab50b2468448edf83452a80ab55a42d85cce9f164f0e0a900a3200040a800a0b14e014ea24b14622e935cfdda6a835a7890a690b5329948ce18bc4fe83ac4892427fb08d3ec5f68ddb9b51a8f91ce6a4132e1f4d2c0addae43b814343b9e70844287211124a3f3f141a124dd7c1b41a76224f309adc376b60967f134e63da19e893ccec9cc6163a4136a79b6fe1821e6c15938a1496cc3dce1a6b70fde84d6f9c143827b55c756134a4e8fa531b87f14829809adae51ce0749625f224ca831dfc79054162427be845e6f3dfbd911ea3765092598bc8fe630cd93eb4ae895cfeaadbbd14c091dbf76968b960c363809a52f2509e28d2c489892d066e3bc3168a44542f98c3d9383f71c43839050f2e685bd8a94e92ce7118abd56651c096e3f1347e899fbe124448677363742477617f5da29238cd03c7cfa201395e259b8081d74a5146387c821bd44115a23cb58278d3aeeec44a80ddc624c76139a378808bd43c72f9959a7cad843e8a01bf8a6947d1b42c9217c9cb16a4b197385d0e3d3bffde5dc5b488873de0df97239631f8496f37136d2e07e611b4128155f2ffa7275662c03a165ae788b3f2f1f690208ed316af79873997fd93fa81fd3edf9f92cb3577ed0e2e41c73e43669f3d907753487ec76cc0bc9201fd4cb992575c618f4357c0f5ae3e8bdebbf1029a4e84107e7a933a6329bf4940735fcede6ae901af84bf0a03d081162ca9971cc11b983debad9c3f4e43c2f6407c5dc3764103a1ac56c75d027f77b7f865c7eccd3418fc99917a4263f67770e5aa7f7f2398fff142739a87997c7edc526e3e8e3a0c7eb86c6fcc81dad81837a595f82d96c4baa8c37e855ae29ec824dd0ce0d7a8edc1db2c30ef26f698392e2e5d796a09dbb2e6cd0a74e4224b7646e7cac4199fded0c8d62d6bdd4a0d8dd97c61e7b188f4f839e510a53c16c3e693ed0a0f44d277ba49b1ec4740675724e88d9c3fc6cf0cca0a6cacf31368a15f3aa32e89dff218390917c3e9c0cca4b8a1ff219c5dbcb63d06a721eddf9ce9fc6118392c1fcebbc4186d34d18b4bf4629c7e0fdd2d3824113af90cc5116bf5bf9828e1ec3209d3cb564cc7841ab98526967168bb9b30b7abcf7580d66cbbe5b2ea8a9246844ca3e2158b905c53f66c86d49291bec5ad033f0ff9eb33839c5982ce812bbe56b23340e318c05cda44a8eb91dc3c4cbe8337e02592842913c31484a6172fa4c22d4ddb0c70d3b38320b44286124870ff1724f1fc9802c0e81b5ce84ace08e623b682425b23084de1fa11edbebe4b1b328841eec82e40c5e5791200b42a85b1232cc09b77146da44168360c2a4891909d1200b41282d3137fb4c3b635420b20084babb9de179d23c3985a50959fc41cb1d15bb91243f462147b2f0831f7a2983783afa591fc8cbf93e5278777586024816b2e043167bd0745e424e2ed94a26040b59e84109b7f4e923f6a7f663248b3c6481071d6deedfef09f555060a1a2a421677d0937583e47be61b3486d090851df40e1252a3334719df58073dc65ece7fa691ce733a2855d5161fc4648c52630ecae44e6af4e9663bc972d04b2b79c88e41b4228e83da4162fce7871332bc6401077dae527ddc8912bf46166fe02b4823bf5c3ff71537e87842c59ea51231fd0097451b2847e5402a05b390ca7268467ffa217ccec6a122240b36281a627b126b589b275a83ae5d312e6cfed993a418b2508366933ba50c7a3d216ac8220d4a7db0ce92cd610e9519b24083d2d5b5e1f533dda73980647106fd614ede5cbb71be9980dd200b33a8b9bac239b03cd3bf208b32a83159654e1d8376d84dc2200b32e8a07ccfb3d565cd5915b218830e4312cf21a3bc551655166238a4ca962c82a5c7f0cb220c5ab65597a5f19b10c933075980418b7731fb3fb1358efb82ae6d1fa924850ab778165ed052e7987c14c365e4be0beaa4ece64153e7cfe77041bdd8be6b3ca1adf1bd05dd3dd7a6ce38edb7580b5a6eeb0b3aa92b889c05bdd247c8c9a3c5821e9fa1edf9fac2bf828e5cc72e43343ec9b1821a326c53bacee13f66aaa0e7ab2ce1cd715f6d54502a461bebc478648c32051db87b556474ce94a71494e8f0a962ba73b9dc45410bb9e9909374d28b312868177c22e30e0736967a8216b3fc4f280b27e849bb326a5c3e21314dd0e72bc70c13b4ac1c8f3178e4e1a45f822e579193d3c4d93295a0bfe624912e5d6c8f9d24e89e77f63538be0aba2341cd3ec98eea265ec78fa0e4fc64927377f04e6923683e5d791b270fc9f822a8972e7b66cede476722e818677acde922e7eb4350627e737dce919f622b04f5c473d4c3b6ccb207414b1a1bb8fded650f0d10f408ff1aa3af5bfaf30335e4b1d8317e3d7dfb408b701aa6334f6e38961e7819678bf29b0a0f34d1bc0c33ded9983e77a099cfbc6f6b684d4c079a6ede49c92a69760ccc81122b854ec7581a077aaa24172a68ee06ea5d8594e953f08f10b181d211f9b133b7b6db35507bf353b28bc8f32e0d74f028a418461e3df26e063a4a69bcc176d963b80c94736f1d07fe203a1b0335864f2a9f246ebfc140994dd952d6e8acff05cac68bcde79b1996850b7409a57967322c0791566812679e61447d8a8d62851a1c669c3f7cbc8cfd2af476101be163c6616b55e8797f73c766f3ca2e15eaa5f49ddfc6c423225428d16d22123155a5f814eafcfedce61d49db9a4287317884b8186fb62c85da31a141fa749a7e420ac5fe2fe573fc555ab5188512eb6c43bab8707c62e1400b51a8696ab3c37d9463f85d8b5028f5603fb466824b682d40a174b7e564e2a8f36bffc469e18915b4e80419a05b7042a9b70c3757e68deeb7896aa1097dd3d57c5625bfcb9d4ca8c9b2def5327fce9cc6841639f86ccb6f7b085e421f9988065e592fb32d2ca1c5cb49f963bedc6725f4bfcb49939547093d62c8ec1d735d38af5b4c42d73ef74b19274d86630b49508b48580b48588b47540b47588b46e812e13ee52bf3d3ab5b30820cb00825cde528b9c9f61de22d1461929b383123f9700d12811689d8400b44548b43540b43e81669366b4ce6dc518b4228af9bb9bfc2e1855812420b31e49f7d8da614720290418b41a8799e133a9b7f9a4fc152b4b0bca2bf3ccc47a4112d02a1f6797a1022e5087b23196788168010418b3fe830e48c1d2e13f7fc4683440b3f282d9783d9e7fc923f7dd0dc67cbb51ea51473cf0725ca62f0ca777d97f7a084dc983b67e88b19440ffa040f1b1b1ae34fb99307753a57708b97da4ee241dd7a1bb19f2fcddfeea0b8c688878a241a536e07a553fe1023523feaa0f9766ee4b4f12a3374d01dfd89a7fec8b5953968614c52ec9875e983725074f2da4e6cf71cc671d0db2b35b27c0f0307bd1c7f6f32cf7e13ed1b14bf10f3a5cb92838b7183922278f60b2391b76f831ae53177ea90e3769c0d4a681af9b886192f5bd6a047dec70c0949776e548316be77f2972be373b64e8b34687329ffb76642e454b6051ad41edfec129307afcb197409213bc64b11cef21666b0166550f43d58664d16b31e06b90519d4f0f9e371cf55270fa5b71883d21236fde79dcfa5065a8841ef1c5383caf63c69608b306859c23dc685d2903518f407e30dc31c39f038bfa055f4bb64cbcd361ff18266b1626cae942fa6ba2e687a7ae516b1e25bcae1821292c9dbe3c99e8d635bd03784bb8d2105cbf1b5a066cd6bdaa4c13b260b7a5644c3981fde342b2c6856f92bd248daad90b7b882a67934c8e6f7cfd25b41ab934b21e65441cfedb8db614dfc981115c800176831053dbe86450add9a8c9782ee3dfb60ee3b5eb751502f9f754dc413a1a0a36db419a943634b5a3c410fbb5d21d87ccc19c53f504544444444c6540002d122012d9aa058cce1738a493fdbcbf287164cd0672cdd48a874e96b43005ca1c512f44dc92e5ed09090334a505f27eeb869f75e4897cda14512d44791c3c734b1d7294645a70512f48c7eabf81031d89d6968710435e2f72b04bbf031122cd5b630823e297b4c62291ebde518685104454e32495e44b66fb128d082088aa70ef93d66e990fa1e829a3dfa6283fdd3aa334b022d84a06494114e3325ebd8f0165a04018d37cbc11d83ad2c0a2d80a0e64c3d9a3972ccb2d801c3092d7ea0e7f0295557cc54f63e50e41dd768f0b09cccf740f70c7a2e46b67b3c393cd0b1d7d45c7cd6c70e94cbc9defa6233045b074ac46096c245e9fcc93950729d7dde0d3974ea141ca8f9b2b4c3534ac11b6863d6afd5ae216738b18196c3716b5be54d235bd440cb12ab14f67e66320d74198d33d62037032d67d494fc2603bd37e27ff4f6c36f11033d837767bfbcc8c70706a494e163f0ba022d5ea0ef65984bdf7307d95bb840efe81c43ce0d1a9f93562891171c75fa49e1c66385124ab437bca3028711a863f5711c06411004611088611838f40703a6100804830686318a23319003a2dea5033351601c128302213118081204c2402020080402c1c220100c0682826030200c100564500ab41f61cec13a65ec930efa93478c6444cde548b16ba68c9f2883697f5d5b1672df40c669598823ec241c2708acbf75d2d90de20f4f881fc7b1fba300c792c2aa6615fe908f293dc482681f38b4eab387f8a13848f5d0e5c3502486db25f52486866a7271a5e3c8d6c192a3cb367b68c11cd75882d9954468908ddcc072e29425d3cf810e2b6b44b66689450966495415fb0c3aee1a298b75449e48f698d0db71232e26ceb1a9c965822926f933a02f80c3f3c217876c745855e43b02ea1c3d2d733e9f77cdc115b6a110939f316df172134948095e1ddc61a607594d4fbbcd52db5708fe51eea6138bb36a72681116d85bbdef63f5280cf09cc7f9732a4a240058dc81861e4ab3110d53ce3b3a9df8fd8c96591bce546fde871cef75cff9b89b884c5b0dfd61ba2ae5f315382bbdaa5c5f001cc21b29e3648419db8c661815c943e925f2ed57859a7e3e86df0e4ed957783a2500629b718cb57f68419fedf9ea816d5b94b50b03f1e8d4a00e3b8d6ee9bb51359d6611b317728eb1cd6e3f640437fb10003266506b3a341ffce5f50701564296f17331ce47df008030c9520d8bdb9b498dc79b5468f5cb32e452885a2a6140d656a6fc88e329bf704f52c4faefa191a6fb4b43aa437d7e3e5b95ae021ae0b560a03083b4c8fa90c62f414a24e5165b55e4fddb904c4acd4d08a839d5e84281f7f4584506839637640652a1b9c8532156dcf64fc665a63e7b858b8fea1993ab3eae6bd00fc013211846b62ef082cf667cc5069478f016440246d385a2b1476ef1907d55bac742dc613a782b23adb27530c5b2b0f4492cceeffaf1e20206195c1731d6f9063490a6ff06de84db1ecdc770b8c3a90611052990e444ff2c1ec0e04442ee9b50b924b682226064236fc479487834d862c407bc5b43dfa0e114fa88ee45636668882dcc1d7c6268d0847d881251c349d806641124d6f0b6744330d4445a2700657ddf12cc68b127613da41421711b8cc5540147e8345ab5053811f26057c4172171196c055e115e642ef29e03a20a23244e1d706e9a546eecf6578e6a8768a1a9e498ecfb2f33dd83eca7c04ca3e378a70b693c749ab839f5bdb5ab6f62af8fc5a6861afe5e877945119f6cbc54ea7cccf94be5635cfe735a2689de51dbbd8d2e33f3f40a76e7a6004b7587d3ca47a2527a62a7532a62870a7ebaeb0660c7ac6081984d202605f7917293740f57341362046711854a44c96f5180207ffb72e57d263f0ca488888925253b63c3b79e6752d26463d58f2b5b9f170183b99894e04344b2446a70108fe1439bd8b0268a6b5c3755fa847da328af082b307812ddd682ad926c34b92a9a1a68e97866ff0f7b6ded1490190f5d1e307541994c4e62413a30489ba91f838e80bbc006371d64836694f1a1761f0a48b5f46bd89be6fb90470fe525e7ba9a67a3bbeaf60efff993064f9f129bd5d8bafa2ee6ff3cd140bee0085810803205e9f6f5b2326dd14507b8731c8063d5cec6df89f48741c886cbb28b4ca1db38cbe84f9023c0fbe2de3d696cb47677b97bb0da26cfdcaa7797b3d5e566f6f4079c9c442e8e92ac68924f9778438c3f619ae8425d48cea45e26709d19a0c8d9464bc3de8679439f46ea0efb25be242218812a9492f1d4611050bee7086f6d5f30886c0a39a298a33bca518ee2dc3edeae37f274b5c326feee3009dd8addc540c939c27eb841b54511a26a15b0dbb6d2de93b47137b2ade0106e6b52f47a975d3d09c34322cf2a8f6f82b576ace5cdb0a6caea8eabda2425d55175f8a4a6a65655da21d2331bf2b8e6a483f3566420df116a4d271ab8740bd060d43c80fe1f2b05f9cfa921b3acdf0bab78ac832e6e68249fb088b7303df434c3beb41a40ff85a4c214390f09076943bfee54d62046a4a0d60876246bb1b2719d1c6667e614658cf70ac64e03320cc5318307f186d3fddd91947c57d416ddc83205c56285c81d60a387e2fb8a219a076c0265e55c198afeef9cfd61003bfca3d05ab0db264898bd8b1637fac91c7a4eaa3083eb66e8a8a3f5103b2bfa104e23146b66853543d2ee28ccc9cf23a0392601f6d33842f0ae30d94c25f1012e09219791870cd3140fac2769be83081b96354e48f65d5d39a2ab574d8a9d225545f12aea07f5690ab011e89df9b0648eedc0aee40ecd59c10fe491bce22452517f120be51659acf6142144a57ea44e1be1c01be4f822f87b2baff02ea2a038e9d2fb3fec35d4ea79b3291b9f65ee5a6a0253fc2760ad0af1aa488f6e116433c0c5e795b814a1521885b58553b6fd5aa5f15089e36db5ce4e858ccda918118753d580b8375d4c5c768cbd5fe238888637ecd2d64aa62876ce272d0060542fb08a37bd5f40f102fb90f0e12a81dd0b6e43f9adcd642ee63e1e6bd6a975ae06a07ab92399f034b973a5e628ab9ada8c8b48f0f7313ba39ad259005c761d9ad25f301ac26321bc46b466e3920d38346efb9aee61d3b692c06e89de25b97c20b103e042dce030636e5124d4b80d0d25609bcd24be2189eb7eb20a1bda7128993fed6149485c3b2a95b44c88d76fc24f3d699b07394e66024d529c75a9e0f175b0ce1c26a2a1ab1d159736fb61d90b5a14fe5efd3ec0d7055ad07d40924b81d96ac0eec149fdfebf8a23790d6c7e246214a1dbe5204c40052939e0d5a7ed9133b07e8f76ce7e43c20ac5babe1e722bb0072ed7d2a9b14ce385bec6cf96a933edfc0180846125b3e78cf87f639a472b9c167d15dffddc94ddd3a555cc1dab80710b1a4904baa3493c27da548a54b65dd27693cb6071d6d17500f64e02d3c0fe2a16d5835fc22798d045f17c42271122cca144bbb07985016ed8fd5aec04667bcc631b2f33d4c84f6920fac5644901c15b8e8285138573e6bf300951781ed4a30247dee8eb88488f291811dbcc44efd51886700318d3383ba6e4a080f7b998c0f11ab54985607103cc227da733cf6e33403cfc7b803eb81e411d90fbcf059384f3371b71cccd05932655a0d9f521eb508664853a141810beaa791f1fabf4a18c1784e7228905f0afb47b53b7a0438cc8c193188215bd1fef04abf41f89b51e13ab7b5eb34a38120712a14670ddd99c0c9af605631ac115017333d89195c1683a2ffb689ea540f38a6fe07cfa11cf8848bbb73d61cabec9c0dbd815267f34723634c5d1bfe6ba92c0ee3e2239d5de192838238bf9d7f07107d71b495f7f20296184b41aea8278d28a9ffad32f0ab6873e24ac455c52df02f4049855e8f0bb670ea68c69fb6e56e89ec512ed5b392a58ff787993faec0cef004bc94065afa625faaf2141f29a9f1dd9ec838941819edfb7dd1b1efc493c638ff05c3bd4440bea1c056bdf7870f6b8edab38879a12f3b2d1367a371d3a1a6f08652b526c6b626d2bac91a4de05d5010f78d92d177682c4973f6f915a9203f87f8a2c8fa05c03acefa96ef446bc27613b712afbdab4e4bcb861b187aace60698469d527fd66672090aba37c487d863eeaf21175fbb8299d7dbc827eb6b89d6f5cad83e2588a84a0cbeede5fbac697c546c0f3015ff451c18df4e903c4019f6060e8820f1503a9cb3fb03b909befa36a7f09cb0d5374983b5e2624930b38cd535704d1d30bbf4a6244c4b7e409d4d1b9a4a7ce852d46dea240e2321d866338a239654528587a02790afcd3e5f6be16f88670880aca2b5998d57d8cf4c5e8f6c0891b699b6b19f93065dce45cb9a7e024ca83a6fcd40ab68e086d64252f7aa5a7684992dc0dda5f817540d5d1fdc2fa67660f2cb51c6da8be82a14228184a86fa8d5160d3378722502b54118a4201a128d40a5584a2504028d38632ac99e0a3a049d93d0acc58b2ac428da13ad48e2b8e400ab58592a13854182a3946417d99499151bb54d1e250582819aa4385a138141d4a86ea5061280e458792a13a54188a43d14e4186caa162289c28556a84caa16051d4a5e85005a806058262501b54098a4181a018d40655826250202806b541d54471311a5404a54155e328131ce45039a819aa877aa154c501725a863a43152805aa0055a00650044a812a4025c9280096823da1b050040a3b5172286f159b3484a2502b1411aa420da1ac50c050a1582b0af9d7600a6584aa502054d486c295b71128e0faa443cda272428442427183182a87d2a1c8501c2a86ca297428321487fa384401d2982053078577e97ef75008940eb5b30a7a437a510a75b24269336e86aaa07428180a87d2a166a81c0a86c20d74a8192a8782a170287dd46891404150d4a06a50a5a1aa8feaaa1b801d058a4309844870503d2804858392a0be151400a0d84a28fe287e4a2b8541a106205485aa42d10828c94cf6e1a04428814241e5a024280c0a826a5035289a0a6a5afba4800b81900438d43c8a4a05a01ad40d4a82625021a876d45d4a36205021a836ea22254151a80829362915b54b9da0e8a81b4b51be42ed463559ca64ab905b9c93ce7e1d8b85a0de5051d49da568cf515aa901aa418d8e425ccab8d1416135a67533af22c7025ad59f0f1c831a43a1b428e239110a9428a05a3e504ce1b30886b55bb5fb5e4c2132f68ca0a341e8e87c440c0e829cf13dbd07a80f18b722ddd3ee4076cc63fb50189d2f18e93ba38a2cf7e304e273a56778e301644a6ed49234c9e54ea3d81c5e947f0037097d48f55434d8a9152b59948de76087c2d8e68328d184f47c2858acaad3b01ae0be7e7f5eb4a314be91fe1b352d519354c5fb1863749da4b3ff077e6c4e0fc274e25e1a5d7769974f40453dc474da541176d8ea40c26e8532415a4752f80811db0a230652b007e49dd480209a8b09efc3b758dcd4e4048b9a8394f788a4a45ed8620d1d91dd267339cb3e9c6ef97d24d98bb84c94b9c3731649f458580afe34a61ed48132ba6ff58b281a89c785b79c521a4f24820014406420b384fb85e05978d533628fe89712d6a79a4a61b5460d142685d555dabca22a0895905edfa22a63119406a38ba2c952148e9d087daae7f31fd7a9673a7366fe151b7610b9ebafdae807855085b6a439ebf0ea7c9511ab829a0ae896bfcee84403b2d1d38ae75b0a335263254e4bae2039762b87bb696aca36bb12a44e0e7b3cb414649b371fe680e021135a54b947b148eaa7c78ac1769c10674e7e849d5345bf82a321574bccb2284012fff3046354b6305dd6c50f6b77162f5e6795e73cc062813b0a84674cfa4838a49472cf90948febf74bca85450c0184482eed77b8e81c8d70454e2f511beeda60894c0b9bad80b9af8011b9c70e89c01960ea513c6a221e851e30423d6874b0a11ed42d4ad483524b16f5a0919a510fea8877d483d23322f5a0d10b493da8ab8f520f4a9958ea41a3cb33f5a0ce654d3d28d5a9530f1ac5f7a907759482ea41a92ba37ad02837523da81bc7540f4ac999aa078d48a8ea415d3a563d287de1aa078dea87d5833a4067f5a0145dad1e34b2bad583ba6271f5a0d4455d3d68e4a6570feaeafbea4169eb80f5a0115ac27a50a7b8580f4aa132d68346e793f5a00eca653d28fda8590f1ac5f7ac0775c245eb412993d27ad068b46a3da81bb7d683d2b2b3f5a0b9478fe422e5a66c1c90ba23a9803bf2838f03965b354915c9b8f5ba44db5be31a553eb7af3536236bd01d75990dc9d7c7631ee5bd7a62bfc56d1ecd9325c1f3deb8f19dcf2b1db3fb79482775533fcd2b1ed49b9bf6699fda130f36add041b2b8099f3fb313a13c9e10cc55596c0beb24026808b81f50c3819cab62149a222a148b7b682246c98088b38c2bbfca34508f17ceb667286d1b51c0905c03dea8a0b4361b9c495dfc4d703335ef1a9c012db5e6a49966c08f621a961c66f8911bbdb6f1888a70ac6675069c9481ba8739fb27cd843e9fcc90cbccd34d8f592dd38dbbc1681b4fe4cb644c9f454fe6176be5c69366c2cef53169a60c6c11d5b4ea55b3a369f4683f326b91b41943f40201fc1910909f85d146e926a8f9ee86dc49eb9793cdde989ba826aeb933a6832941cbd6bc6b7006a4d4ce7dd994353ab4f18a6f3406a2d89ebb06df44580d16c93933bdd1423afe80a7c65935093d13c375f7e562e2ce30bb15501cf13b2dd2682ca0d546e0ad9702026605548a6871712006501d378e526d082f50b65303c432f6e48896220eec1aa632233b14e27dad2a3e523d3b1741569b918b05486513c7c4224bfcce719dd1cc065a6cb0f1516b1e1bbf12fecaeaa749ae073ab224915cd80d7414187a314b99ed16ec466efc7c803952246f0faa40612fe301d0794b171c8335fe11fb5c01e637f7f2841ce069f2d2297dc216b37c21985dd6bac64aae28c2dd404ddb3dfce52cd575d4865a50bfa0eda1ab52b2ccce417f180ddcfa4c9a58a11067272e341946d502a6e3437f953da4189bf4cba8599d0af28fd92d28de652cd646bcb18a313852ca71d3c76d72ef41d928fb97ecd4f0a30520c796bb66831a10a7a0685cf84c2361c302ae6e00c060d48fb73dd88c4459115175a7c5c0f99c7a3865a426bb968b99c0f6b1886d01a511ec6b07a25d68d2663e9227a165309c54bd2325ebf809109310eb91750e5238ef2379c2b85939450554ad71f894d359a5213c427b3c410d01b6c0c040ea4bb62c022ef440cdea8b3649b8d01e0928b2f1a30d0ad0a37d2363f5e68e56f0e86724c3ec4249e3402373b3f58405892ebad4112cd2042df77bfa55feb3becbfd8a0413c41a084f9b25cf256430ec0c32588ecf1ff2c2fdcfdb31e09d8bd398dc46a810b89a15e17a03785260293afd69f4f6298228fa3696085b04e820c35e0d3ce000da1b3a513bd0de520e400105145040010514500062898811c76901609b0f45cf0f0b7c31c00529299f08a583af631756d2de151111c1ea31331df8e201be9819fe04eb04fd0459d4e47615b40b22efe55f149953418b42838d1463a6e9d7a6a08460e297e13a21634f0a3a383e8b973729395351d03270eab828bc9bfd0d05ed25452904a7905c92e209fa6b853436955cb439419786afd0e6ad50514a13f44be14138be4c31963341b7db8cee9f1443bb65094a259350f732e65219256841499adc25a177eb24e87ed1650c27c6792a90a05e5314a52b47932e188fa0fd63ad18a36e89c7d008ba250787475262a1cb222873a23931d299649a89a034d65c2efbcdf1e787a0fdc51317885ba4f0128236e5d779291edf620441ffb8873b22a97e2f0704252f2b8ea4cafc404961e24511264c5338fb40adb610a6277445eab9079cc54d53f7dc387fe7811685bf943e9fe1a12d3bd0c28558f1c367fadc880eb4f37c3ca7dad3c729075a94e514f48fbcd97c3850323d760c131ffb486ea065e75f838cb2bd29b281960287f17ce1ebbea53ca1ff37db6433dc953c6aa0675f6593a035d22f0d149f3c67a0c519a92477418ac74806ba5f0cf287696587b263a085cb18d610e2f13f16064a63105b312f3285c85ea0849724129715646c415ca024b98d497369641b6e81a2936d2c0ab362463961817af664c951aa9479d10af4a8b01f6bdfc53695a940f3c8f4fff0cde29a4b819602bbc660225536493aa17b59ccf07c33da328d02c565fbb91df7136871aef1c86559c45426d0fbf99f3f341e53864aa078970411ed4681be45135a8c212cc6b664e42081b6ff9162ccc01e81da15d8877ee3455fae08d4be883339126f4f87404b713ec5204368341d08f08a082619d668db040826948c913e0aab9d229ff303ba4f5510db6e15bfe43da0c538f4cee3f0d78e3ba0452d21c6b388654a811c50b2afba1e53dcd3e66d40176b3f3bb94ac1825e036aa518f99f7461247933a03b94848ad9ec5dc480f62116f9c2826609352a76dd5be3d26c48091d03bdaab3ac94f92e80b8801641520517f66146f2814842cd9d19694ba94ab6b18016451b8eb6c6a2402eae8016cc656dc9183745ad21a1a3381c53747141a48ba68016b956fcbf54d1c3c604b49022bd0abeed299d47689145f392bb4245ca151046e8b395b6196e404840dbc8c82d6663099b8a09404440bdbc1e79dc16248fb808251faa72fe2e94d344e8be3b17b34968a34ce31240404049d16532cbe5df2e99076881469e5bc6d5912d589800c201caa328a85c35636185aa01ca489c9a74927791620668291ceda89c51e2d82d4079e8fa9214be7351030805e8d81452576ed37de8e932ec8ce8891ff8a0543bc344e89b887c7bd03a1f568a6f8c290a237ad043ef1c7ecbc5bdacf3a0598ca52a322c4837191e346948e167dbc38e77d02ccc88ddfd1a6d37eda06ba3288f0b1e438aac3ae8db4036c3ff7c2f88e9a04f99bfc5a8a6518c3c07c5a28cf41778e7c48b72d0c5b1d539e4d990491c146bd8193bf3dc78b3924afc0007cd5aec02198bc72f8b37686516ffb5c3bfdffadca0f867ef53fc16a264d206f52739860d87b141ab96ffca986cca82770dea76c4c91753d4e78d1bfca00645daba526ca9828c33f08734289ad7c81a76d68c5f883fa04169dc60952a9f73247d06b5a23827d39cf7dc6585fa8319b4baaea865e47d3ff33228cf121b85ed93020f9b0c3a3686370a232a84708e41afe671ac5131254b7162d07c42c4331e297da4fd10062df21f1cc57c9697525475801fc0a03f4ccbe5e49cf8e10b3aeef58b63cf37acd10b8a39f355f027179f2bfca10be5089b064f1917d40b24fc84abd8f8411a267ed8423a9e36a799f76c1493272895fa5e67527a7a6471827a1759488a30e578a926e8be0f7b5781bec4d298a0e3a30b1ee2b12ccc97804ea56e46192b4a72104ad02f64f73f473e3f9d2441ab90d9cb93426b2468766ec971856d3e7c1c416f6451dbde77851941a7287a9614bcb251042d7265f871b21b5f2182d271d5bed753516acc1074a92435366ea92b060941931c8b2c7107e1cbd231f78ef1ff40502e12098f68eb8bff40a770f3e173932ed713840f3469147f2cfde38a9da207ea84d81bb3491312e781de5411ff16d50567fb0ed4fcc720ee5b7278f9d5813a269724c9533d0ac91ce822f670a61c54b988037d72e4feb97cd97cf1206ea09e76a4e0e3ce7726c4064a234bd33111e245624f688e1eb4e24ea6f8f1ab81f678ba5d2a3091779e063ac8254b937dab32031d83743128c967076993817af1e846300973a9c618e8562fa11f4c8a4d320406ea95543ef85ca8ecff0b9454bd9763b51585db2e502b833c8b4bf1c2d9a4054aa46077f33b9a32c8022d36b8b8e0a3d917ef0a9409b902778aa2c6586a15a85929e40a6b87656197022d427c5d3b36776be8842e3a8fb782e4c8a06d1468f99d0fe28e955314e5043a4ad5702fc95df8104da0388a79e2365bf949b2043aa3cae82687f7701b4da8ff582ac8d217b7521c09f448b158941f2d5f158e403ba9f89245dc268944a0d45639560c4e65598540496185d6a5323da73010686299997361aa4f6642f1488145e1b32b2ef83ea038bfec5c14122737850734f349ceb022b958eeea80fa39db14ee56d828fa38a04522a9e5bbac258bb501bd26d274833a7f900b0de8a59719a5cf6f159b0c28137715f1ec19d24918d0194eab61458625122ea1dd49859d2dee75975242977caefc7b9a88f4053449d3dec8eff12493d0bdad2c863b7e53325a400b8ec22ec9cfa66d910aa8cff970b72279649050fba250218d9b17f552409b7ab878cee256b66f02cab38665c8acf0c15e8e506e37f6ed19bea3e430428b0912370e2a42962c01ad2bd06a76391d6b33027a5e5c8e33d51784c714a18f857cd9185f8bbc4b84f6b5d923b98d1a651408281673b31f4365f369827880f21ec94184838d888d201ca05dae8a268331bfe0f6201aa0bd3f66edc8d17f140334db483515568c44f30f62015a3e78ab90afb660fb2014a0f4c7c3be948271a6147dd01d2cb00db190622ccc07ad3292cfc9e882acf0da831e2103cbfd12db0ed6838e5351fdec85cd894f1e9406a3b13f618dc246f0a0cfbc5e96d2c691d2ef507eb41392e143653476d071b72f4c662a4911d7410bfa1e7293ba2c5548072db2ece5293e5f1a7b0e3a9a4cf154fcac8beb958366992cc566fdf815af38685f51680b2636329807072d8a2f6b9b4406b941ff06b59183d3369ec353b41b9410327c7e88fce8cc6983daf7903bce9a763a6283163248417365c66791b8066543cba21b8d8ce37f3528b9925410692b3d3597061d465de5d08a5210aa45837e236e2e11325ec68b3328964f82fe83b8f322318392ad1e3d3948aa4a721974cb7272b1e3911ee464d0fd82d69d63964ae18d41af3897e6f2889d238a411f3f9d8d7d8c2c4e1106ed6e27c89e492ca90f0cfad66490c741cb58cb5fd0f247f24ad97a4109fa2eee11278e575417748cadc275ff6534c5053db6252cd93bb6a0c52d17112a6c3c5b6a4109d395d2f3a346337e16b4f0b4323796051fa9c282dea7154c5ffc6e0dce15d44991652cd10afb695841d3d8c76a034ca6cb207acae55582b259166d932c9fc49904451f3c66b78c539e201214095931d788dbfc454750eee2128fb1c8bee28da065487d15bf6ff683200a5104bd268c8997f5d7a510a2104450ae27b89b05e1962a8a21a8272d6d3198d7f6420841b10aaa2d38bd6bdc0641ab4917dd39f6d61e89100208fa63ab105eceb2cff43fd0c624544492a8d67cb108217ca003d17e6c5cee710ff49290d0159bc558e2e7813a212768c74cca28b677a0c784cfc595c12db85b07f6a3bc95e243ee73509a9967fd273171140e74d6ed0b236e7a6cb21ba8f91422856c8153786ca0dc68d5378a51a6388f2794c711cbcaabb29ca6064aa4688be185f10da7a08126b25926f30cefbdcf40b9c83175b25d168827032d36db98a929068aa4cb589fd359168561a07ffc557014ec6414b342bc4077edccf313b9747121840b908abed82d66bef96d4131c8a96f9a60513d21040bd47e71096731b04bd92a99012156a0dea316b3dea6472faa40a748517eafa9078789408814a83772492bb2b027c405a2104ee81646c4d98b62890a7242a04071cbc8c563f7e2471a3221c409d4f36b4a6138c81805db04ba645c153f63354a1d9740713747ed20d9e8f1d4843e15f8a4a6f0fdf43612e85f9219ece43647f711e81532d91e523e859808d4b0f87022fcad1cf31068a3914165a98bb264068116bc2e0871e6c7328d4cdc406bf32cfebe35fe01bfb162ccbb8d6e7c3da04dba98f771893d6c4b0884e880ee382ec5c0e2597fc41ca8c4461b1b22d8c71bb82698bd83940dfc8268a084c880da91ecede1233927b1092130309a9b2cbfb08c7b1c4b901e0587bf974726ce1908a1840971019da73abb724a43cccd62841049680e8d19368e7ab9186b01f5e2b967beafd8c4b90a28729951259bedb8a84442c91f870916ea9d9fa180ce1539e808c78febbf09e80c33bbc2869846e139427ff012194970bb946523d4aa68ec19171e45b090803e8f2f4a3b8d8dff6222a0459cabac213979912d429f880fe17cf61f3b4f84f20cb246ca9851302910d02b8e4a5781859b7ce303b4cd7bb0d1dc9297a403b4cc717c7e5b16635069802edacf38e4b2e4061306282d17ff61f937b1ed02944b4127ea2b0a2c9c142114a0cf37c5d0bf9f5d17d2071d77be5f84074f931e7cd0a762c670e65168b7072dceb1ca148511df98e841abe03f9fc1a5bd79481eb4de8a7e070f5a486eae8da9e9ffefa077c37bb3d8665029de0e5a852cbf6b7c1d94b76c2e17577664b8d1417d09c7b18b6c8b1c3c07c52e634616374c2c47cb41bf709ebf97ac67bcc44187dc71a7b9cabb5bc341692c62a7e58c3247fe069d5e3206db984adf2a3768153fe3eb31380a2bd206451c4648f160e3c96e36a86173514881c964d7c045b1226f239998ddd4a046da0b223bed6490390d5a08dd964871c579148306cdcb194fb8d3646974066dbfa942ca8bef109a4187f4db15e4bedc2db13268e68fc3dff9afeb413268e3174bdebf67a7508e41fd0a6d7137ac282f2a31e84d2f29c83d6fc96d1206bdb752c620b235053106839231625b2cbdbd14fa822ed9e3158d768587ec052dce9bd2c68a0d0d6217b4e0f6f2b9ebe2b0b9a056a620369fa51809770b5a0ad2657881040797642d28b253814e652ffb2c0b3a9334a6d823f8486c60418de04c369365e1c47b05fdf246895d0c19a7bb157464975299fb7eefdc5550ae52a420ec65548f7154502ec496b692f87af54c4117698cd1cfc4dcf7580afa45966a7bab27333a0a7ac65c6638ed9a0ff920a01047d06bae9dc3c7e2e9ae8ca0c596e2d2cabbd2d787288216ed03a7d4d916324d04258d56d3fb5b18191e8252e3f1a67bf12f272f042dacc726c25f14b424085a9ccacbcd28288f11087af6450a3b521c4d96ff404b295c4dae18d97dfb40b320e4dec96e79efd1031d636f8a20669271e38162f571e1bca1828576a06485e5e32499f59e4207cadd536e7ec8af9be740b7ba70de3aca42338d03bdf2fee243f2bda8bf81922fbcc0a6d1640a591b68f1d0d116ee11abe227b49d7051a415cb82add440fddd0bd573f1a2244b032d5cf094a2d2898cf133d0d1d9646558488eb30cb420548cc6d9d8a22c31502b7c2ce9a2ef921c250c74d778ab18ccc4705879814ef1c5176366d8fd0971811ed7589c242e7c4bb6407b6eebb20bda90d560819e3fe12aec6ddad22bd042c30a7eb2a4ca225181d6173f86d0f35197812950de9c52cccba87b6e27349788787055934e4681f65071fbe05194716b27501a824fb488c7c5bf09d4b8fae72c0f7b585102252fc613b3ddfabf55137a45ced6a39c3c65211268598f39dfa765293e0235f28314fcbecf591422d0827421f20cf284149b2142503021ff62adb83239cc300408b43f07dd97d18a6976cc21985046aaa277bcc661f801dde286dc3acb8f2df51ed0e7290829496f4c941dd0717b957ea449e18dce01fdcbfb1b3e48880fee06148fd1b650e5575d811ad051e0fb3b8ef4c26887c880faa8298fdd3b04bf3c06347947b1ca2ba727e74be8282a977cd41e75d14ae89051c6154c010c7101a52d0ef18bf3a2a0e524b4709aaf2c92dec9a9b0801a19f3efcd571453505740338b3c8f41f9de668c84cee6a02b96b91fbd96024a06e6c841bc4c33c1310135627e429e964b63f108b5c2b7702b876cefc308ed511426795b901d059d047414867338fdc774190165e467520afc620bb12a42fd393b9df79dd109114abead1432ca082d1f0474cb6faf15c5a8fc62867880a6a5f13c11ac51d88c211ca05634fc548409c99d37402d6b883ca65362510c06e8e40facf6b52dec8a0568397f9f22f31f49391c4201ca37d44e05e1cd96be310421faa0656898d5b793456f0ac1074547dbc2c5c56489e34710620fea36651091aa2ea69c10420f5ae4c0a92cc5d85561971784c883e6e4180521194529041ef608ef87e4dae68f8208710713c20e5aa3402764f0bd37d6418d9778b1b1efdbd884107450f4f9fd295cec288f0442cc61a0edb0fd95c1a40742c841e986299fe424790911077d23ffbf9a2cd70928ca098480831e3bd3dfe5c82ca30442bc41bbd7670aa62e63d80884700371b7ade3f8b71a80de10e24088362831a15fe7214cf341049013820d4a4a8f1d8d8cd95369c642ac419dabcf0bd9529925aa8102900613020d25c4194a0833e85996c432251d91ec1c0a5106fdf13b7b32df580c0008410645a6e2853b372928b9e418f47108a6179cc7529210420c5ae404c75c412e2a9110220c3aa3e84b81356eca1d1e210418748cc1629af88723f98212342aee4bf8e765a342784177eb366794dec9aab2841042704109ef89b96989f493105bd04296c6853e58d89d01b2b4a0554861faa2a98ab442882ce8484a2aa58af1a3a7460186105850b2ddc533b5b8f839470321aea07ccc7786844ea6aca0784b643eae9cdd165808204415146d7ce9ac0c2eba0753418bcd7a418a457e2e68a7a053680a825c7c2b0b8252502adc8e8664419eaf03811051d027c3028be5294a61cc841050d0cb821437234bf1f13f26c413f42faff8a26c5191c2d601219ca0436645329938ceb8a2094a83439e348dcb61058b0342304127171b07b253a12f2196a05b02830af8721008a210046110046110044118864108100c4110840041108400411886442008f3034898a35dc62855e9d2c77c744fafeff9d45ead6fe9bbfb241fd9eb7cf1deb4cff9b0bdc257f6767d5c1ff3957aadb7db733ebf57d2977cdb1ed9a77ceddeaeeff3a99eb697f5a57cd583caeb6fd8028cff56b91879ac701f091b935226a7e11ac1c3e6e15ce8012e9f84ec9a7dbe27bbd2dd2be6fe7622ad5ab4db309d2cd9b4ba90c32caec58d4fd9a46a5a539aa669edae30cdd239edd6ebadef46ea92d5e4eaa0f44129a88ab785282471cb83d23e0190a8c8991dfd3029a40c69b0217402e8b53912ce1054bdd29e8f6331328ab801a68f3069f29adf2f0b974df23ea4d284a82b1f3f66814f0040d167aa021246b9e1190b156e337d08222a3b3c5e34dc1da7b3c0a6fa6997f8265a641f112db8aeeb6813cc5b25c38e7abf1c9cfef7f917bb02304969b3cc4c3c9c9cc8569af3b348deddfafabc2dcc1fa928d1287a58b8ce2c05d17aa16bced8347c24ed57ef7cf7772902ac5483e2e535febcd7da35dc98b0fd81b55a8e856f292b94747bc99e57f1e362f860d2ab6870db9bca5044c607b8a0cfecb7c2f09ec52bf4344bc66fab0eed53b2eaad45b25c5a75ed3e28458dd4ee89c6c9694441735b8cac55370dbe9a0120adcaad504ec905bb30c307e74d1bc5eb9f763336deac43668b6fb46e160abc8918cbf7df41aa567b1bd9e2b8e72baccd9159584a54f24ca2ef810942c60ae0ec3e51e583baa67069258992af2ca58c92d2bde9a5ff5cf96faa429d1146944f701ce0b07da0d51ba7fca8e8eb8f28631946bc9f2992356b3a1597a92146db6fa993dd86e722e5f45ac29380531194eecb7cd5cbc2ad4e24e72026f1bfd86b788cfdcf2e48b10265dac588f8d61a9a4d43c0a8e194afca614800e8abd0b382876ef6f1a7ba7ef23b3a71730dfeb8b02cf08c48800590a23aee46f21109c1ee08ea5b00dc8ad5eed183638a1047f4e1e503a1eaad2edeffdc7efd1cb8d390bce0995089a189c0a7e545d489e20cd957bad400e22182c3591a61f95a2e59145a19fcadd2fc36ad49505c629873d8360ce373e400f78ffe200d061ba82711fa5f3680714db93c4618613a8e8a344c30f5c1c78181714b0aad364a06cafc0ff22c969164a07c5925b64d8cb6a8f4232b02b4e39d886d8465af9a43b744c8e058295bf23eb7187e3da3871623d33a8e171fc52dcb8b78a72439e29be98657bdc8d455f6a957adcd67d14551d76144bbbe06ffe3142a43899f51c4df7d88b66c8af6ca4c50274d796491081216421f8489984ec364a78169888f266750aa7b0f991c6b30b026b155a35a13f5c2808d11b59093e30a235d53c3ed11217545213d76d5e001e603a20a1a3e21906e3690d21138068f3c92ab24ba15aed42cca2d84da36eda1f18386815e041618a7905e73749e24c37eaca3a80f3c336943a907bf7eb4e4dd681dae4fbc91db364cbdc7930d13f3407d5cb0c3b762374c1785fbb24efdfac8f122b065f419aee78180ae2e3e9d4eb3e2fc61bdd1d8ae13e571b0185433ce73986a197dc56ec10f2a43999d01af50b221b88ddaef186bc6964b62a8bf1f77413d944295500b75a124144255a8083545b91482aa5009b5429950c0f834a13254ef545650a1c43d6ad5fc7c4961158eda29a5fda052304db7869b5e8612508680a09ec682322804153751587cd7a018811a0baa42ad282d15a11a6a87722887aa47add48e816a28980af850c2a8906250064ab89ba4503d0a75a1682530979a23ae0c146aa124141c955e8afeb113a7322cba5585026615d84d45718775340385951a280a4e8af60da5eca38022bb1d05a8c592879a40059d47816dd44835a809a5a2aa4b99b62a0d167d525ca885ba7b50be5806148652500945a122948aa22d85a02a548482500a15a12a1442a1500895a36a4b8950dca87f8b0ab5a1325443ed500ee55035d4437d51dea4c8d3d50da5a098aa846aa81dcaa11caa866aa80de50ec53ffdc46e3cfd52ffc93e6828d78847a5d4814250169508af3142399443f5500ff5a134944375a80db5a1dc004365a8879aa11c8aa1623b21a078535c0c877228f70a2a76232f0dc0407151494d01834d61298b6aa91d0aa010941a15a5522a83a250122aa1e228ea5217caa16c28378afa299d4f8bd2bb50100a22a8a8cf3a804b4d7a94c18e192e288242a23250d270370245500a4a89fa2e75af4129d42c0ae6904a08ac4889134880a58381a250cca0a02828826a500dcaa0681146d1f4ea0a4a4542e42cd44728a8796bb81be1a1ba475f95670bc58f2a9f3aecd41bd85dc870b787ca501aca1b2a877aa81e2aa554395e46332405014a3f0116ac50126aa1a4a8b029a074a95d06d30f4cd42c0a5d13ee1678fff6c006e97e3208cc05863907983d1e752155f75af41ea44fcbe41d4a2c0d765ebd68577f2331228e8a1b2805d5800226e493e7ce147a4af6eda15f05feb30a104bc13d9413520bc1134f85caa114ea86f24d453b42315487e2506fd4de5209e5c346098d1d7f99b5a10e948e407971c574a1d851c080bdf1318169192c3c7ed92a4ea9e0c02b73686bf66ff953406a794cfcd12ca9791ee2793ca43d36b7808b34febaf8778ac60f349eba4016cf60adda9d205bb6bb167314a6fb40b1e82f059bdee8328d5196f80620c1956f81d51f8b050120295fa11c0965a0af893be25f305a76ead6db75fe2fc8a7f556a17e9f6ab7dffe29facedbc37d90011ee6d330e304c4007aa7dd4039b0b2a472fcffffffff4737b2fbcfccdcffffbbbdfb73f7ff37930c0d75b252caeaf4e6a2fb764a372b2252b64cba131322fa53fa533a1b5b420504f90303040401154930eace9ee6de9452551215485834c57d90f32eac40c511b6691423e4938f4cb21156359dd374195de5fd5c45112650418475f3b6447a258487e7550c41011542b08a2058051048c50facc2077ba8e7aa94f3a3a5d2ae2201153cd826c27ef09c99328b1ca08289b5ae66339e4b6617a2abd8c1deab129fd1a33fafae42077b0edf57791d5e96a67ba222079ba49b1455bba7139ec244050e36d99443fe309ff86902600a153758ad36d452d9e3c8478dc1820a1b908a1a8c06542c611534b88a19900a19ecfbd9fdd0c7186c39e38565f4d50fb383c1fa413e3ac4081d5f5fb03fbc09b29de1223c73c1ea30c624a40fdfe1b7608b7161e3c6b1bede9458d2a7f3d1931016ecb8ce7a62e3f63cbe821de694bbd16c8439a954b094568e3949ea5191821d576d38b3caa31b8382c54b253dce206fe7f1047bb838a192671c21b5374113bde721be7b0d9319a828c19e32fb30590609d6df99e01df28d546a5731827d662d86a71c250d15c1dae928cc4e34b23d3d044b85cc6bb83958c80f82d52edf94f957695cfd8175cf1e68864dc9e0f1c01e27ac74f249f51fd381354f76073f8df11bca813575659efbd17cb5990decd930a48cb1d3274f57686091cab0239395415a3912db430f8e3f7d43889c0289a51a6caa4f8fa80b3e628bbd53cb48263f70a8239610f3452ef94e35331bb185937869a42fd83e18b189dc67901d96f6276711fbc7cc899a63189f4c11cb6e8c21dc4d0e0f729988353acf57eca03bdf41c47a2132d8744ce3f4e121d69220a92e62c66c37c4620ec7ba32fc9c6a0ab1e307ea91ee9248bc1c21f6fa18e63088a71ce941ecb99138c84cf73182d862f332e427d35c21168825fcc6f3b81933a51b109b8923ebad1c728615f287452476de64a4cfc0f6c3f2411f4508890cbbf6610d362221365afc85c58775a3a61c345cec4fe6d8c39ab33d5124f3874ca91ef634f163e4468660d5c8c3fa1956fccff16af625051e364be799362df767437758aa63945463222a976387bd32ef7f4cff18c257874d1c559fe78e4f79d161d90b5f37a951726ea49843a590c372bf299a8618c6536a72428a38acfa9b5134cbaab9f0994801871d59b40bdf2379d251f586d564ab1f87becdfb7089440a37ec7f31263c7c9c905157231129dab0e4bbac9986f9e7c9c186fd347ee368d7db71d1a05ac30e2d1ead4fceb53fbe1ab69a0915d37d65a5e80252a461cde0ac41a8887f393d1a76bc3f29fd87be09172906a438c3121e2593a419546fbc9c486186fd2b72e750260e332e8abd1a5dbe3cd37d19d6cda94a2131a386fd21c35a91642f3ef6d55d660cfba54c0b21a36c90242c86353e4773889863fc981286cde16855c69a89e65130ec20baf3cc85e8876942b1a319e9e078ad4a1bf88575a662b5bf37d9c4e7854d44529a4fe946250ea6dc5927690b172c512bec5acc88e1f3568b16ec28560e791ba67d878c24284714164aac1dd737e96f8409eab082050bd6cff8e269a83f08f2af600992638fe605cbb555b0afa7b039c6fe9c7b3c295822dd7f87943c42ce44c176a9fba2f839d0af4fb04d68a65574c58aed02162658c27e66b0b81d3e38ba04cbe648f1f1311e340e09b6d00c8d1f2bce716c46b064ce9a6990c6724558043bae10e9b87f261982bd4312395daf94900010106c61196652474daedc7f609bc8bca1766205892918b0f0c0f63195ff3372f430ee1dd8af338568ccc8e4cac281ed2f75a7a4a229f61bd8ab1e6f88f1a3e7c3d242037ba8dfcdb45551d38d48ec1d6bd23c6a60174ca288a002126b8f97a6982e27c6c63d62076974aa3a8350b19575a0c211fbe4c5e355092a629946ac0ec426623fef45f23062eb9cecae1ea7680ea340c522b6ccf823963f2e6e158ad84348a193c58aa8d5301aa848c4f27b1f2489a4ecfab40110b14df487e239a66f49cc551c62efbc174f3b87b0a51b62fdd5ce3999393543bf108be785c910e3e7e11d426c5f61bbba9265e567107b9edcfb8ad1bfbc0b62b5141fee3ea28532105ba61b0779791945088875f25d2caf1499a9e17fd8f3a6b5b865994b6b3f6c193a3585bbd4a35df7614f8f226a4dc4c90c321ff6fcb5bbf12c7b581bc6d8c9ed859d49f5b07df04fdf6832caba300f9bafa498e2a7d8d7e3618f9e3b58da268dfdefb0753cc8d390ba51e5ecb03452fdd0c87a2c227558fbe3f378ae1c5e0da3c3bab6fab7f7206f3c87653d76d2fddac89dcb618fa6316c70d0294e5371d836fefd85b8f9e879c06187563752bfb2f1a254f18655ebc1d5778c72b1a7ab70c39e1998ce079dce8ea4032adab0958ca4eb34ea21c6b061db8c533a595ecd386bd881e785a88d23524892ab504355a4613ff19052a3ab52d90e0dab784e96e71d297615537186ae30435744b13912c9ddea9841acbca20c6458b2d24a886221afc9872bc4b04f871c72aaff14cf6818f6fded9a38d3ffc8100cfb4d544e1e7943828e5701c596634eb44f164e27837c61d34649bd3f222483468517ba3002c085255ace37d739ea53fe5b582ff554ada528bbdfd1c2eab13e37f9c47ec4260b9b56aeca958da1685cb1b0e7f4c9d797710afeb82bec2316f57b52aed0c0f1c49e1c64fed0171b45d37c007562910a1a53cd6a9ccd315361853583f09446b941e6ce5761c711f3963cb85cbd760515969c1e612772c8875613ebd9d8594e1573d8c829ecb0661f88468f711c2685ad1b6cd9549a7fde2a0acb94fd7588e9eb61aa80c23a5ff3b0b3430eb1e2094bf049196dc631d94ade097b081b2b07659dcbef26ac314cea04a971143f8509abe68792394f541e892d619f0c629171cfa22fbc075428e1b831b52ba6ae50674120e7d1f26c9c13524a22968cc137881a2fd6ae8858cef2368e9e3bc254168758ff4387c9c91f4dca6288f247e95c04d174e139804521f6c9d29cec3fa4bf4921c49e7169bdaf2cafa3066031885563beaa0d9e8f3494432d04b1698ec6309686d6a9759c580462ebd5db9c648ee2034f001130800ac10210eb4605a98d332617cf3fec95624acbe0b6235c0e0a0b3f6c1f0f5436ca38d8bf0f6bde8c73e247d0ecf1f9b05a6c54abebb011e27bd8ae1aaf3494f47f41d7c326a28ee3cc67dc39a5f3b0a4f5a076173c2c61f1a72a1a9b359a3b2c3156caa9b243e310b6c36abdb6f2d197344f5c8725acea6ddc8829694d87e57163a4612cf3c8660e4b7e6808e92234ee6491c312a62afe5315a65a1cf6340e2dc274082139e0b055aef8ac94b39351be618d16e13c4a0a131b75c39e3c7edc2061359f04dbb0ca6630cbb1713a931c1bf6cf30e6cd066aaf61075df795d9297a9b1ab6b334eb49b221d9c4d2b08a5fd78486351cc86f8ace196aec0ceba57a6e14c5fbe2c40c8b5df24916bb47f344a2d8f7624a3973a865e7cbb04e49cea8b4eb388f830c4bc39c1fe1cf92e4494de0d8620c4b65f2ce301763aa6921862dc288e7964af2f27d098b302cc9572775762c4fa20c2cc0b0a9954acde8d8c60c0476061650acf9f31bfba3994f0c2dbeb046faff9c3acb3e6ba2050b2f6caa551e6d2b63a70b3bb228ab375a9d2ae95cd852ece47ce131dacaf51636db7114529e4632bf1696e847bb9f72f259dc64618f8b7e57a92ba60a2b1696ca33b6e76867378957d8417cb0931ec5c8e4d8136b4c1c2fd30fa97e776299c999e2d2c414f12656586c34ea5ccc931e3b057081451596e07b0f3236a8471621162ca8b03ef4e0fd2b9b2e7dba89b5c35f46fdc6f12fe63c6131856d7bec2ed2c7fcb9419cb090c2b25f1593e68b21ee3da2b0af97e77012437eaf3246152ca060f1040b27ac516472569cb58fe126ac0eca34638acc141167c20e354ca3436ef4437a093bcabd7a1427338828614db9c66b160f2f49d86f322b3635d6dea448583d068dfcf31d935c47586284fc86709315521a614b71264c929e5ded6011b6d2ff98f293b28d624458738e639a162743d8c2c6957ca4f4e57021ec8d2f45861f7262464710f6d2b039e5af3d88d5006187511137fca3d47391c50f0e65e123c44ed24a57c2c2077bd2f3f4effd7822318b1e2c99e274aecde8e6c11aa5c246ee039b8c2e4cac918f64ed3f3390dcedc0b3184f1b171f078f2c74b085744ed5ccd45045b2c8c11a424ad70dbc63ea262c70501637d84433ea22452693ae98c0c206abe4ee5b8f3a97720c1db7a8c19215ed32834b1e7652c5c06289ed62a72e5c96e5eceb031634a080c50cb6f10e938e232336bc0c0b1958c022066e0103b3b2423d2b1cc7860b5a12991a9d2403162f58f7d27e137ca186c5f1899546add5e6220d5bcf8c569c0a99c2f468d87247c44607fd0c5b8594aa73ad83649b31c35e239f328cc12475c5516c269a2c7357ef3758cab087a875f050f3789e0c6b849892b7d2bc525ec7b078fcb8069ed12b3d430c3b88492673e66e36f461d8725aa5501517623e18d6ba1c2485ca317e6c7501c51a3d07391d895d91325f58ec3a6e1af94be2e0e2853d565f83140d1391c62e2c113d62c5c5f8e3cc2eb8b0048f0815e34fc82fb6b09574cf75d8f34819d1c23a55296258dcbf900d2eb2b0a612154f7be2f8b482851d4c74d0cd3c5f92e515b64726314aff533dc22796c80d1e23c9cd5144e2c47679743aaf3746dfd08515d6928ace4bb96c18297a5185a5e743c667f4c172f2e0043070418535363aba59cdbaed0b122e9a5843def278e657e2b09cc2ea21a5efff1cd5ce15e1420ae5cdfe68e5a0e310d8235c4461094fea3087e5731411112ea0b046494ed9da58f9534c5c3c61c918e6fa41776a48dd85138eb9e2d131d449fbc8266c29cd75469de49ffc2839b86002513979324fa5ca18b958c2ea21ca97a729472921802e71a184e285534bb13f2bc9d16ae22209abd786101f7ddacd5f7081847de3e7f4ac05174758d5d1580a768ff6638a00a4a6c4851176601fcdfcebe2d1778ab0c6709b1ae5b9cd3926c2123286d5f84ab487b0a70929af444e0e6c21ec19c1a6247eeab8294158734afe973358f04b0261cdd813bb106772dd0f96c9b992a9397767731fac96a72f6c6e547feb1e2ce1c43b5cfe4cc890e1c1569953553fa43e2799d857d5ce3106dd95d90e96cc7ea4b5f91fd3c43ad82bacd557c4768d9e83cd274d868c3a6a6c300e962e319f9c536f33798355e21ca3490919256683b5718c6fa64ae321a9c11af2fd49b8d4713c4b2c739ec17dc4a09a330a0dd614e247e5942f2f3358e337549e0eff1816cb603b49991452d29ea3c4606f10cda3c60e1ee5242e60b0353ebb8d69bc81ae2fd8e762f094519f7cacd4054bc424a9f94c242dd83a45f3f506ebd0a6546209c731ccced7a35f0238b4f48205fba79041fcb44e3b8e2b5865bc772dc7f4241d152c41fd265e8c3217924bc1721ec3c145916d180ab6917b981e66994efc044b8875a982c68b548b0956e9d03c19d322ea2bc11a6b633e90649b4623c17e729dd7199ecf221bc1922983cbaa941e11ece932e4ed4e4eb34a08560b8f261ff9049541b09403b5f8d98c30e507b6a81c1c5ada992017f1c0f6a86afea1c67437042e3ab0a78a38279f3ceae7c0a29f51e74716a761ce06f6bc0cf6a1c6a498c375a1813de7147333a3f0b1e6482c979eeed27607eb1212eb358a195f3db71e7cc4269739e3988c466473c4a221f3216216321ab14d77481755e467c41663d20895158b96452c69e9617adc483571452c07830ae8d22a044118908688310821449d770392200cc31806811004811004411006411004641004411084804110628cc720d43c0654f81ca94d6c426b2a7de13f5010ebb222d79675f3ba8a5a5196adfb831f80580caa5df5aa566d56e8eadfcd2655a324e77b8372bdf2d427704781a650a5109242944f8999ebdce306c2de337b8f953e74cb2809db6dedbd4c04670c0a6307a5b64837b88e8bdf2dc2ca49254ce416c282efe163e28c1fd7439ac345010d9f0c806560b547e290fe0dde5096aea9533b3d7e2df47b87e83ab475d04d481b83438cb65712473b2be65faeff83df345273c50b62a291c85fa9c7f54c501dd091fb450c071df12f2c241c5cc03980f4e887b472a8df117bf91b40ac8e1756983fb2d015f82400039fcda388ca417619fb84b324c6ca20268997adcd7ce2f7eb752fbdddda898b3a648df525eb49cada2904b828c1a4f31d7b04cc6885fc5a190ea81fee7faff2ce6b2df740df6aeb477ed917f25abbb30a2e824d41fc96656ef339ec9060664c7e79a9b03bb2cd889e94732724577fb4026b8b3922dac317aab8a08985a1ba711451aa14874f176e0e830ef40b7abfa73bae6aa770c13d691f1b43dd0914fffee11fb365e8846c93593c2ba3ec7845bc9c173f03df115f4058ec9608afaf19e7cf7e40bd23bc754942a362ca3fe3c4858eaea2959c398cec2616a914cfd0e041583db45f90c2b73acc423b320e02a724bf0cbbafcf609c1fc023a13b36673b7d9739dfb9f950e8887b7373e3e78a005692afd2c6f089f4713b54d5eee810dd1723fe85f098e11cfd586448ce662ef4d595720ce1113a8b84f567dbca059253f8cdf45ed5342714e80234e69d154d739e807f1f13b07b0c14ef2d78624b02c2fd19e0e6070b71f0ebc71e5841c9d706781e68cff76c4c3e6108ded73ec25cf0236ae0199441ab1f060bef4fb12225996630ec7764964522e1f33ea982d99d639ea2160e23fa198ca8e5022de5c07d0614649da3c3100ed76e142f3cee65486b4e5112febdcb23278507f71ead0a293762f2949b062a834d8afc81457da1adc907211aa12261b4c20b0117818b905bc2ae027c091c3970dd250460aef10deedbb82bc4c03816dcf4301eb2e4cb10aa24623310fa65a3100f9464b51a75513da1c5e2aa1e1beeca2838017afafabb8c5fb3f8abfa805e9bfca8e5eb5e4db3b2ecbd680247788c4a5e022361466b5dd8bd0a44983176cb55f81c06dc63576dcc22c724190643c290f3f6467ce0c08d9f880170d7a76b5a097a55396b4463ecd53c1cd6ab2421efd8bdefdc8291b751db9326e7388ff8731b5d266b7d73434064a95629c935b26212f149cb305bf403e49256e97caaab122b0856ef5510125a0a003568610ac0200b3621489fb434561ad0e086eb1967b6075e2ee44ea8ca32a031f7eb485e3ec2b270da80579a8ce5be6a01858aefd4b1059c3e71b7e0e08033ecc9665041956caee408061c03ed0f0077f153fbca8c0ae1050b6575386e5cf75d757bff013d75564788e7e81dede9e5cbb2d57e477c8f13ddc337179debaaf96e747995c90ae83078f8ddd0bdc6b10f069e469305ac827b30c6bdc00288108c23e2028b315da889143b55a402f92ddd4354cb41148e1bf7aac72e6b9d6751d7c1c71a00162a90e834944eb876da6e74e1a988d2f51a7caad95ce008bc8d821d64b7d57dc8ae162af73169cbbc2fe21cac50b9f214de27df57b4eef2d00ffd900515252fbdf9988710f29138f61d7a76b1d8ea7f60b086e8ea4b766d2193074238f987c95c995d488335b46ff0058a9b63eef65d02be604b76d084b76afda443f64f84f4f81ac3b259b66422ba0a6b149de4330ccd92ae506265f00d81d477a2821a7d823dc9b58e4ec8069805ce83b5205b4005aa8057c801091440958284c5016ec031705f4c0fb0c352f805441741e106600ae020bfeec789445ba81d4fab9dd09f6c492dba1e6821549f455c6ef100fe5bb85cb9d58aef4049a7c57fb57e7fdb4049f4fbddefabc9fad88f1b621665197f48b36f9e4f0d1f5b400f33bb0115db050888dc59e052d5d31a69d0316f9ed6edb6b20a70e3af60851c50275849c4d74960143c1827e618d68eae3aed9c14db92c8b74d5d16234e062ee39f29c1396ad64d998ec1fa0e7abd9e6a4c6daa6b6a97322ee68e4b5dd44ba3ed4f51c4cfe8c067639572820f0830ef98148d55ca04096fe826ba937719ec7b6711c5fe623438ae3880acbb2db27c163e770e7fc0006044d64aa0ac5f896a98523e4474814bfc5a44d65270a0cd484e3d5ca9319609889510715dffc555208ed6fff08980452ab750ebf0b9fe2da7f3969de0f6aa8596e87bf396583c1795ac5ace3101b02cb11c73b8f3d6308db4671ac62d28250a58c66d355f8f29447b4e74fb82e467a0717154bc21b5220ec4556256093e68f1b094ad9b183c47149d155dc7b890bfaf5837c8cfd3065bfbd486804acf1aa9c54b72468ccd01bbffd8f1f811c2212f82c96ec5f5496429cb463becdc171b8dc35fefd1b0feb1910ce40115f9355fd2b10e967c3263827e1ca91a0ea2d2be199a7674079ec883e4c2e2dc10be0fc88dde3a65d7327c245c92171e7d97dda28eddccab48cb2b100873acb672065f2bad6e24cb6c7857bddf924974f4ee5cb7059f59986977afd54c6a616d3b302d37fb974aafac561205a44d9aeaaea29b9811f8b406012db9b19e4a375bd7ec5bd696a32ee76a00aaec460c199b32a08afc3f90c7a449420eb058b4eb3c929afefff90577cb3a081565b6a8a2835a328adc4b51048bf0b6ff83bd378c75a81cfc6d391a15557062d31782cb4da6454573b9d882b91c34d7b77c6e93009aec4f13c211f39e0a46097bec0d7d5998171059e296a13222adcaca512986ef995413744a5913b9fb1b35bd47c7c26885f41ed972a6b4f06c89848434c2e246d14635a391464f235c23ae51aed1ae23076033fc9f00fa5c79353eb0b0248503c0c0050c5cc0c0050c5cc0c005c8856fe25dfc7df3170f3c1fea6ffca1242b3ad1bbd533b18d2db12949b66c975db056f4a7f4a7f4a7f4a60a61034203320355ac893199e564e88b1ce831e9abaf32b60307ea66d666e4b84ced20375032fef676ace90d890dd4f417ba6f1e32d28c4180450dd49d47711b21e672e8d040c71b1b36f6f0cf12c22680c50c76d3bfd0bec6e3284506ba644d5dbccbec69e4182815117d9142879cb9e102163020274716993597afd9c50bb41067f36c5c88664d0414b070819263669431327d374a69810e33f29ce798f62060c102e5aa3573e3cbe60781c50ad4898e95c6934c63fba84071b1f469fa71baf8221d609102c5f3e6bcf9d43ea1835c7f151fb73ff2c7031628d0fe3753c56491f4933c815aa9f16ce82e8d371db030818e1fa6ad739cfc97c070424b369b11bef3e3382a815e39f2b3848cc92f76137a77cfa6b2f870bf1009940ca6679e6f620e121c815a2fdbffd212bae38508b454798e81f8ece5f198d02c7689ec74444532028b10e8adf934498e61fe4185000b10286321f2fedeeb76f897503ef45995d8654d9901164aa8b9f451c54fa91c86fe01edb532aacfc923cf4349689f71e74f8e3e9bbfc603eae3f68e8e6abce16148a861b331e8749e1c75f008cd5c33894d6d08e5597440efd875d696dfc781a5000b23b4f89fac9e8ded174b409119c0a2087c6367640e8f596ac082035ae8b2f95ca3fbf9f66203da8790317469eefc8e171ad04c247fae4b4963e7c4f0018b0c94bf34be2b64e610e30b0c28ffa182c59db97cc61750347d969c5f2a74a5d3023aea0fa73795193b995e54805424a2379d788ca4452e4988a8537976a7d429681587b00a435845214a0521ac62101400095408427369091edfb27b49b26e501108c5e275cc94e6c9cf67d0121580d025cc73d6656866d18651a2e20fa4c20f6a89a69af9cd2837a3fba0653e9eb74c658d3ccb0752b107255de7dd12e9998800461951a107bd363e6b33a6abc88355e0a154dc418ddb4cad27a1ce73de0e7ac6e53a92c43c77ab83926f37c5921caaa5e174d072b3b72b321ce3d9cc416ff30d7161ff81a4510e5a7487face9181a54e1cd4d1dedc58dba663f8e0a0f95c05f7fcdd297fec0d9a079d969c97b3e3db0dbac6d87efe6fbfb441af14520c6ddc206f4cb1410911dc6d3464e567d6a064cd5d8f3c9d8774113528fab093f6a3cc972f0b701f0065a1220d4ae3cb727f0d3307a75081063d26a3a8e8af4fd5f1041890460050838a335485194a45194a05194ac5180a040267c6af595fd721947bb8d752b125f60e43e8f8dd722c4433c61129845e92c2398a972d6143081defbd7bd98ee49b73109a8b2509321986847b0842936f8f54229a61ac02a10589e5e0cbaff16704105aba87976b725e99e5ffa0e56e98eabce1623ccb0f4af67c141ac84faaccf7a146bf99d27d852ce1839e334bfeca716b32b23d689de3fba38e7b9f41470f5a87fbe91cebb06d330f8a67d8cc9d1ca5d019040fda87fc0c27c4caeefa1d140b23ad21577d6783eca0b55ed087f716c28e7550423c5b084d33153b1df4bbd2d0971a73502e56de10472c2ecb2407255486d8fc3f9a6d903868de9951c8686e0c2638a8212fd7e23331f9b6f5c4e20d6a44de4b7bbfd9ae63dca0e6103166898bf1ee6883b63de1f15548715cb625166c50ab2384d18ed130d8650d7acce8f6712447ed17aa4177fbac0d237769d0f264b02d370f3428973457ecb99e998b9d4189e39d82c77cd30ad30c4a650e5215225fcae852062d26f191e4c0aac62b32e82373f618873ff1ec1874185e63aab3e8703f995888419114df9162b6b22477b1601106351b6fdc7a94679a1118d48cdc529d65c7971bfb052d83cf3f17637e3c442fa85b1e3c690e7e17b488ce16de3743661cb9a045b63c1e2433263b84c5167477cf4c1273bcce9a51b5d0829eec5e6aba7298dcaf165950b2c5f8dde6a94374281758503ba4cb9f313e4695ffe20a8a7f45c7dbdeb7093daa606185451594cc9af15b8a79bc217b3758504189d870f7e1c76bd49b5a4c4193bdba1c6f244c421652503b262cbbf2a68b3521241651d052fb63cbd68c7b642284090b28e8156e4b3c36759ce00d4284c513b4c7b923bf79c3096a0e39e49248c4bbe734e13cbef12193bc51a498a05b8ab9f2cc1795dd5b2c41b1c81d934132460d430b2520d69d493225b12031850839d11f343432dba3b71649d0e324adf3bd0b79528e2db140827a1edf99f737f972041db8d648c56f867f715b18411b09151b769222e83177fa94673c3c53644104a5720872f13d833f88028b21e8f17343beb2f3cb580841b97897c386b0f9b26f101407251ff141da9c180304e593c409b1dc752e923fd03624e9f449c4cc9bb1f081dee12cf435987ba0ccdbdf67e30b679a8d94c082074a4c134eeb3cb3034526528e197fb08d0e34e6a96acb3419a5aca0bb7bd6dc3806e11954056d1be54e54597ad71c15b4b898dc9c9b1fbc3c0575f2e357888b7d0ea514b4b0dfe7e036ee5566a2a0ef699d6614312a3b84821acfabb2f9ce7c784f50e661a7a0a1cc777f7282d20ecb43c945e7a64f13d490d16ede30414db921bf5b42367c72096a4c785bb8f05f571625e80ed2a3aa9ecd5312940cf143fa3d44558448d035854464784e9342c611f44e35b1d5fbfadeb511d4ce2d8d31cae2f06c2e82de9ba781450cb9328a10418f4fd159e6deb18b3804ad5d32583e9ebc7b9d1074073957ce29e3b0b1f1415067774fae71ced93a03047d27424cc72676e7e00fb40d9671f1f7fd34321fe830b4660f9d7ba07fceb77b98c6739a0c0f340d5a3b1ed9ca34623b50e2b7847d9c24364c391d6829c9cec74f8ef5e29e03cd3e3cb6a015b95d3b0e3433cd8ddb7b7142ee6fa0e6d449b3830eb142d66ca0674c3c93b8398c64b6067a7cca28c51099fa2d69a0644811327d8611795366a0e7fc28367eb867d21b19a8632e0f32a72edced182839d2c6ec13af444316067a6a4d2943b0fbcd92bc40cb86ffda1e77c473ca05baed974d9c5d83919016e87ee31bec25f3c57b2cd0b3d6e38c789ff1e36a057a96f830e49f98db9a5581322fa91ef49e021da44a0f1ecf6de8b19e50321ec4f3eb1473b8a040cb19be1191c39959068a1368db8d7f1cc567cce936811eb3df87bcf78656ce091ddd9e3ef6bd364f6509f4bc8fd92948048d0c37a17cffc51c74323d88045aeadc49a6acc334c411287ed63b156b3cbd542250b3c7eba44c33196742ef28dd6cd93c9ec1044508f4903b9d9cfcbe238fa10081164633dcdc38c3ec28846209259d3d8c316741c26528a1f9e40ae1df41b325f301b553863929df67f8f625a1f95fdce71015fa470fe8215625a94ae9617e07124a87509653fe0ff7a51da1560aa5f5d7bbff72077494c11ea5471353b01085117a86397ef454c48e2187a2087533c68ad70b72f6110774cd0ce117e4be0d28611333c445ff87d734a004c7392fd31b32ca39037a464bc6a143735f9e30a058dfb987b2128b644171012da6f66cf9a236c2038505748f933b668adc165ea2a880fe932a245f8e185a8289d0223f5aa3e2c7e29d88d01e9d1e299cd036cc8488cf666fad049a98dbd935ccf394b2529a50a63b33b643187d0c4f410225c2b51d8510ae613847a0c607c92e26a99f64961422d0afbced43fe36897432a1c4183383c9926398c88740addfec1cbcb366e61a04ea3dfa12c99f916bc94b6897fccecb73d2c47e95503b6c8cdc1d6d5a9d7d408d973d570a8dcc47325224a1c79cf43d4f1f9bec9fc2039abd46fae468ba628a23a103c95472d60f2f3a47a8e9ff37e64db90ee89a1b841cbff7153742a9d0fa48f975f9b1275214a1c9885ebcca88e13107348f91f3f355081731c789141bd036e4ce66da75d209526840379197ac4a592bc7540674dcd8cbf3267d6e689a488101a5e64385b4e7dcb831525c40cfddd8e3387cc39f89141650c27306e5c16ccb4a5101ed3f2f2ce4e79990ef44e8dd3024c75ec1338b4ba04084529b7d93e3e7d6287d0835c4e5cf6133569b850da15888849966ca6369520825abc21e657eb91c49020521f4701f3a75848fd420f43acdf6609e990d7b4128b936a3b9a8c93d109ac5099eac4ae3eb998050b39bc38e991c4decf10f3a684d23996253c6baaa50f841cf1a11651323d834d02881a20f4a486f45384d17e6e1837a49ff3374fea460972a02c51e74cf589e715eca1be2d7831afae3059dbecba18f16a0c803ee9adaeab773fe061501051ed48eb3ae18dd92f3021477501af7457098f7bd1593040a3b68133ac71c19278f3eae8316dd91fa25857bc9221d94945c3c87542ecbdacc41f1086d1d3f8295e54b0ecac5c7371b368f8312bc1f3eea8611ebe275040a38e89eec66c4266750d5be41ed6c8df24e27a51c5aa900851b74ff182f77f26b2c746d50da93e7aee41dccce6783f29b1907fd2cb11bed1ab45495ac3be7f96a8fab41cbe1516ebbf20c3d711af4f0973d92774a23214683f60f62cfaa3ec41ce119949893911da6971c3262061da5bd98bb1b96fc7e65d043c82026d99a102b6590413bc9fbe2ef96a1e53306fd264cdf4c0e1659326250ee7df3c27424996fc3a044eaf8ec38986ef805063d4edc904c2668ef5f50af919fef8514be9df58296c62de5f4f0dded8216cadfb23dd89c2cc505756423e5dcf271b9615bd0c552dd84f4a7f350d1829e2385c618de6faf5516949c9a7ce1a2e64335b0a06f8c1ccde7685a1ce30ada6c028268b87272884210840041081084411816fc065220188e62188442188442108480611004413008214810066110044208861093fc0e73944c4643f2b9548a36e4413e82a0721f1426094111633e181a5d83aca11a95344a0ed0863d6522b50dd3909817123f03f130fdc0b01865f7d5faf43b14af602c37b73e50ad23449798a858abe31421628b23b064de32d98a8d199db2002258903b50d34dbb7e24c03f7c7a94e8835cc03799c741c552a79d80a2a3fd8a569fa650420b5615e103531992004c7eba4496b3f45b90fb7440dd107ae5418f802dab9c989a7970bf2609c737a15e06dbd8e5d924c70dbc669c629eb7b5b1e23d57d9481bbceda7e0c7ec89d632b77e0678348c464a94f209c3420cf0100505cd82aab95281b4cd212751d42c2cae0149b65487405648103a697a41c3f3938b0e1180c282779e5aa38fd192c9b376cc03ee6c1e36f4fdb0b5bb5d3f708fd34b0c549fb59d8f437114074a068aaf06d5502ca00aaa816aa01e140185689405a57baa2abf00a0fade699497c2507ba88742412d500795813a1eac241c8a87ea46f9524828a005e5fb1818db5bf45097134a5f7c44a8054a40195082068302501c8080f24031500009cab5ddc263a8014a03e550282862904d448218a8068a40255018286006652810500aca4061a00c2a0b8d4207da22a091d0517a940a7d3fff1daa8742a89e5030a4d2d1437da148a6f294f6640a320d712b06d54271a25a2928a166a2d45a7c619ffe275ebd51ee802194da5063284c289f53dbc04f79287800292802c58ae2a558a8729474292e5483620c16239d3a821aa8011480e28afa52325221414c537d2105a4d613931c540505200aa054565ee11afa13c4ade8a8f54819f4e29c73e556bbc89a78c4a140a8287a400fa48da310a1ecd80695a126d40745601470be53fe78b1edecb4a527af8148eff74673549b5e9450076aea44219ea9fd06c50c14b088fbcf84292722338098e43caca98b0d837756fb53199e6c1b93334d73a2b5d8baaae1a09b2a8a2b448a2f28b3fe17c7222e719d0c7b6d2d312fa8e4d4f01c578e5190b6f7c656e14604d696df532a04c3164b3de9f4c666f599c873ac85d5b0a801c5e1207fc2bdb97b218828e909462601239fe10b3221090219089e5f06be8426639e15709fbfd318dac3edca218b06e30e8ca9700eb8f43f69c5db1c3886c9a6b11ab18cbd63bc8a71ed8ef9f4054296735d32e8b9df5d8e0a9f45c962792055bfe1421567749c9ae5e972bb169e50dea359e0d9c794675a3176cd4b426933e54af62240fbf1300731997934432f27dfbee2e138f3a2f00ebb4408f6d86beae45e848e4094703a8fb8998fda69cede867139ad2127c274a51f33184646b3d6fcfb48dc4c4086770f0ae05594d6a4326d4840a3eac4e1c0d3f169a1881aefdb4bd5aacf7386f283a3539fb77363996c182d45d6a487fd1d896895133b2925b94558df24209f84f4fb9501bf12019d47e29fafd14db7eefa5cce5026751d681bd69672cbaa323022198ccce7128200773672d612097190e049041a459c3f20db760095b7010cd77355eb7cdf678baadd4f659529c1fed203a3c6f9d38b038c0c820faf7bc4aa12136cabafb9bb77ff93313ab90b1d7d03725fd9f8efa90a10eea188587360c1cfd3f3ca393001c6064551a8ceab85f5b4d6cf9b4a25ee3ee8ed51cf8c12b793bafe885507e2fbb1fded3b4af1293248273971d258e67b892a7d69a803fc8b308da5492dc734f0975ad4bb111313404ce20069cf72166af49a9931a4b955f3bf4f6f15729c37087c3901a9a26ff1ee9c3841a19cdb55142ef9df00c87958b0aff55529682ffb4aa5db2f557023a5d272120244185c9c2e84e6385849738fc3c332a3f9fbcae7ba3edce143d88c72157968a43b872cbf541dd1249b628e272dfc84fff644448af21e0599a013b904ff8125ea90a21c497db3f1ec755cf8705732e67f19eda74812344bb466a2302966e904084b9ff13d816166804457738986c20095539100cb7a9706bd180bffd0314291ff84e87261529e2ae934a6b40704c3a6e3b663226f612a212f45f47e974bf2585879a184a0f7277d4f237a0d6197b1e743140dd1867302a50a759cfbc54ed514b03570ad21770d69aa03404d79bbb9096174591a6e3f718898396f838e273ddcba99bdfcb1529bba18158b15e996caa9effcf3e824bafa8a83a21c2ad9005a5d7bc9613ae43c48473f82f2217f31d261b2250357850c5a6bdad6af31c901627d41a8c855123ac100566ccb640ee8ebe001258279173bbe0f5c276915db521e9cc38e29f3af36aa607f73296ba2cb4d8cbf88125c062f0f424d9423f1206ad848bc448f210281a55b1a7c3c012a7c32633b90b08224070000000000000000000000a1907ec78e089404bca34d4564ef4a62d428bbfe0d003ac98a8888d27d6b5b7a261100000000000040070122063e062b069465ff8fd0ebecaae96a8436e71cc710e3f1c4aab808fd9e68c46d8f32761cf9050611fa96b7987393fca74a4ed144ddf648db3f770e61b50263088d498e69e5b125843625338a9eab8e5b2cc090a2c9f1a3ecffe8c9cae2cf08423b21f2e4285ce25a64c9c181018446bc2d5ee9c8878c240ac60f7acbd5298f7a1ce5760d0c1ff4c9dc5582871dba57b534307ad04721258b493373921da998c183569367b7e6ff3077e412a781b183662c66ad143e84ea38cc9681a18326ddf25b652b07ea9f0503238a76425399775c08a9a43ac03172d0a68aa4982b5e660b71d054f9e54bf638f875995a60dca07fdd68d7cf18643ece02c306ed4f7aec1d56d8cd09131835e8cd8393f031be6f7cc8c1a041f3e162ca178f13627104183368b6cc5fc27f0a3171014306e58449163ff0e0d17f4ec18841bbb1d6f1c792fe312a3d010306fdc78f3a8459f9e079262860bca01ff32ccb9187c9f1afc770412b5d994a9284f928e706c16841e71fe40e92a35b0897c1825d3ec5fff13048c859028c1574b9a345b21c3b6e0e1243054d8b66b29cbdba3a96918226ce9ec7d1538e353507054d2a9196ea48d7a2879fa0cd41eaeb5946e5387a26e8724aa84869b12d985582266eccac99335f4ee8481d1824683b68aebfe84b87f0e4803182564dd33c6e8f3fd65442802182363eec77845019721ca9096084a035afee2084d490e3bf4e74eefa1f4757189d90ace0441f36aa27b669d68fc32a36d1bb4a44c5c4ed8ad06450a1893e8ed3193de796ec964d519189462c76fc8b5ee79cac93a20213ed59f2983147976c9ebc449783c73afb1f7186a2875061894ec353924c296ed99e4a74b973a46b6a0c7973184af41eeac7e4a79f83cb7e126d7f289ae7d95274a85548a293f80af1abe3e548f6075444a2091f13cc83f828ca940c4505247a4bad1bf3179932e4543ca28f5017cb96a1ba432e50e18846af72b8b2f0ec8849105434a28fe38947ad98dd2c515430a2178b9e216567eef89137a85844d37139e9b467864dab42117df0913987d13b42cc600d2a12d1e5d6ecb2e261d61c6210d1e58f39a2659276048a96a2e2104dfc8da17b3986777f18a2d90f2c4e7e1c261a620ad18608f1ff03cf2b39f009d15ccbe7f138f46056d920bacc78f9e2897c6ed72b04d15bca532154083b39850ea808441f65484ec6a65c91399e5001888a3f74317ce3f4bea88a9e03402654f8a12b77f98a2fcbd6731fbaea90e348e652f218e1437f713cca669814cf8e3df4a24127acff472eeaa14b91f361c7dd978cf3d0a5d841e8eb48ab3c793c749121e5c739ca3a21dc8a0a54d8a10d97d731731c2d34c6ebd08678e2f23948873e320b31e21de48f379e437ff9b44d4374645c2b87463a5272903dda938f431fe74b1d0d2dd51e84c0a149dd29277c9ca22529dfd065cf13c3731c85f038dcd0e78fe2e594c929757e6de8bab4639190515a5b36f45179abb65c8ed15d43db91a5250be97ecd392ad2d07ad0cd39598586662a27d94979465a2a67e825c5fcd5b9638ec3ff66e8e330f7c2e377cc16d11a5494a10f7c52373adc48d93964683c4a16cd9d24c95fc6d044978e73ee7949d93562e83d7847ad9c959230f4d326b9727e2499fa0143efe1a3886231668b5df9426fd123b71c54e8cff55ee8326286f9184cb3c35d683fce41f4f8c3bc7b8c0b4ddcecd03263981026df4297b3b5c7cd72209a622df4e5a1a7f0f8d43a599b85f6527ae4b831c349070b7d54215ae85eafd0c714fff0e4ca4343acd0877cb27b1183e6096515ca1d4d4276e49ea14217728a9fb8ef3231855368e24a8e7a73c5d31429b49e349b8977644c8a45a1091dfdb1612af13f28f4539231c7413e3fb67a42bbd9a4c4222c3ace914185137af1304f87d3612a079b26b4497307321bfd83143e13fac0ba83cbc1eab7b9be843e5cd89689a6ff619c95d0e7dc1b54562353943709bdc5f8e15fd6e061e791d0e607ab90e562ca1a1fa109495248b660e971103142177e2d84e5bae71caa45e8345512f71cbe1d744784ce3c8ea9a39347c7af4dd15c7e71f3c861f23209a91842dfb137b2d7b3997ce471a142085621c55504e12a80d0964e66f5eef83974fc55fca09d8fc3ca082fc1f364ed0a153ee86755e793a6c4d294eb41132d3ae589211e6cc683e662e8bcee8f9f18da1df43e1d5b8c67cf876f464f8829eceb471b9a20edee9392c75be7c00341830d6dcc396ed18d12739cc61ada0a973f46cad97fc7fd40430dcdc6903a6ec716234583461a9a549ef24b7b50333dd040435b1de4f0cd1f69afa5a0f0005a071a67682d6e0cd7bf1de6b5d40ccd8748cf618e2ce2064b95a1eb92280febf8fdb2d520433df18d31f449bb633534496f561a6268dcd24233b6a49803c0058d30b4e175bce5c3908ea260e8a274d090a2a22a5b697ca19ed041e36874a1cd6ed91de69063548a0b4dc7674e652969dcfed8421376ffc3196868a1ed1463900efc75aea32cf4bb3e231f7c5cce16e64a34b0d0c614ab42851ca479ce009a685ca1cfbf16378f860ea1d58615fa114921e4e6cbd5314715fa20e46ce171dc9d9c34d0a0421b39593fc745be8e038d29b49bea9b63f158b68614fa6072789ce358dfe71634a2d067a5d8b94287b39a2b140d283439fe4e712ab88a7a81c613fa96b0a921837f46818613fa8f103dc4f4f84d398c59139aa0d3631e9fabe2714c6843e5e749ca0d11c49a406309edf77f86f7c739771c274ed150429343cfe1efa6d029458546127cf938498e52298776976a48682494c4575aa43c99d0384293a99724e78729910dd02da161842e4e76ebac9f6121b962644a6814a10f6278dfd8d5f2a869438308bda618aa83c98d9796b34f684ce18d217431ece67a7cfe23514308d790a29e684023087d8c9be4a0e324312d6f00211b3f68f800038d1e601a1111d6653ee6dc250d1ed4051a3be8b473f0ff818575d0cb7aa8d31df55f486844d15a5cb08e5a76f5446be4a00d518f9d6603077decb092bf91d5b2264fd0b8419f7a92e3df1ce61cd3860ddaf18fe2c4f01dbc3d6ed4a09eb0408306d69841e7515765f3831ce51419f433b37eaa1a41f48f411f66ef90e4a1648c7860d0586c3e3509d39d9817f4618e838b93a4c364c8b8a0fd64395316aa24e74a0bda4df1fa3a5f96881c16749a22bc47c5c794e1afa069d1a09ee318d5392a68a4327a8e521653094941bf925d62b38a69d01c054d497a9883587b6afc04ed84f821f8f55a6ed0046dac7c84e429b44e684bd07ba4faa9f3196511214173f152222c33e72f73049d6f6fd8d0618478181134957ff64cb3766b898d10f4713c1fc87874a2cbb2b8413632451c8fc1893ee81c527789071e87b1892e3f75185e3bd48b9e410146268e8109c6259261897ac21995e837450d3990cdf8312106255a8f53ec4b1aa11fbccf98843124618c48681e564258a4640ecf0c3020d185b21cc387d639d009e3114d7a47292bd31512bd23dabc5c49268784ce68441f8b65938b6599fd6430a22f0faa3dae47d7ac94b18826a5d439e65c7bc62c4311fd5e859686f09673c748843110d1b549f0c915ba1554358c43b411a6917949e3a48a8f6108651442198448c6209421086304a2fd1873104d8ff23100918c3f28c30fc9e8437366b139e4cb61187c68fec3d8d1252ef7579cb187fe3bdcfe2f754b1544861e3a4b3985c9539943b763e4a1dd24612aedabd917030f7db5e6501621e79e64dca113ffd189dcd48f82c50e6dfccca6d115242dcc75e8839ea59872c6c8223f1dda3c313d274f98f0c81cda8d578b5795831ed5e5d04f8ed7639f2c21fec5a13fcf8bb7f0c9517ecd31e0d0a5601aa67f2aa450f11b9afcbda56f49334ace0d4d8ce25b95b34472b4a1dfd8e03eb1494284960d8d87cb1339be3cb917b2862efe4751d3c34b29891ada148f3ae5cbff326b1ada90377cd821cb99c4140d7d141a379587ed8ccf19ba74f318127fad3a9766e8346cb6a77407613a6568265efc53f4dd6c496690a1498f428e1cc7ba3c7b8731066388a19e704618ba28512ea807e22215061894f1852ef4d7f39fe50e79de6378a19911d95055ddfd397c8c2e3491794ac62c079e9d3c0617ba789d838f9a2c5d47c2d8429321e4ca94cc9c16412d345d39420ef3854c9d2cf4e17cef7e0e2a4a3c0f0badcea6501953c45fce155a4b99e358daa16892cd0aede498e4294615faf854275eee6f330d830ac798421f8c6e90ce15c9e411185268d7f37c4cf23186e9ae088c287421c70ce79d33728c1e0e85ae25cb66979062d6b0613ca1b11cc6c8afb1527a58080c27f4a18c845db18e13738c0481d184a63c34ee6e4811331e3098d08bc48ecb830e3aa8e494ed80b184ae428c29bc27b73e068612fab872e4dae551b4e61c06032309ed6597ca4c5e7640d1626020a10fcabdafa959d06fcb318b0521ba1846c6fce396c9498b417426ab1f653de58bd05a08a29ff839657b65ca918681e82f59e50fa6b37c788f65810520fa5072ecccd7147996fd432f979edfa3d0632988167ee873ce434691aa9211fbd04bc4477ffecb1e25f9d08bcee6363ff5d5dcb18766529ccab1a7bea587a6f3f2525e6b92f6390fed872c39a371913c2f786834be03bf5cd63175f20efd8690c345740fcdbfd9a1d56c3944b48ea7d6a197f68d498951e27ec4820efde496040b251d069358cca1c931c4efa82db090433b16435292cf23919638985c34e7c342a8ac592358c0a1b92c3231e88489589637f8c0c20dfd64fcdd982fcbcf6fdad06867f14dd63d1b331bfa28b5475599396caeca1a1acff59047a282c71e35f41243a4e955ee888da4a1cd81774c11224b97ae68e8643bca23ab96397c1c8b33f49edac7222c97073b9aa1dfb7304b5621c4545e19dabcff571e75f46c860c002081c518dab4d0314eb0100b31f4e1b1713c9e5884e11c876e4c59cac4acf3030b3074b17df36e08adee9b7ea1936b155f0f7625c7a41768550bd93a2606048b2eb431a5e48f973d8c1e83165ce86363f9165b6827c7bdd3922fe7209b16fa942d99b77f1e4d2159e85f3bae881f6877181d26b0c00232b13a24d5244bc7453db0b8422f7939cc4ad90a665185b3a082594ca14d794e2dc7eb51b0d02da4504fbc4514d4020a8de507e5c963d552873fa1cfc861c5f689749e64e1847e723e8f5379a03a1fd6002fc0a209ad45921065592747410214c308b06042eb51520b9f74377e94c512888512884512880512d4e2085d5774ce4d193a37b23042b331e5f1eab063cfa208bd4cc5dfee1ce4891c6e41845644e2e364e192648b29fa9452c71273e0512aa1c510fa384a4b9eb7775d63c84a050b21341f6b9c281d3e999e3d45030b29fa4bad28712ea5bfada58445109a78f14724c62ecf32610184e62bc54c1126e515d3e0262c7ed06f66988c1d27e9bc29b12b0d58f8a09724d91b921f0737dda207fdbeee88b7b7c7c658f0a04badf29c34f772dfdc411324e4f26cadd0e9380b1dd41313b088a2c9ea6d15c27c9385d40092b0c12207cd59a58aad1c34c67238e8828a448933cf4ba9dfa089975338f19c24e6cc36e8cb3342976690b0a841b3f117923ae1fb7325e560418326f37b28f996b363fa6531832e5f1cbda016c12cbb1885850c1abfa01a937feb656931e8ca3442cfa2a3856b6001833e8e43c694e3795754c70b9a3ecd6c7ad54105c0c0c205162de8e348af734db3aaec7b040b16b4b97f43bc5c295b2e044f60b1822e2484f4a78bca2eb05041339b3dbe8a1f7a3ec614f4d6b9992519efc002054df956c9e6872def9da0cdbc393a82c6f0a30e2c4cd07e896a7cd3ca6f0b4bd0467a9c598f9652e52541d333d92784f038658819419b2194677865e9ea5c047d949c732ee7ceebe6b108419b2f564b26f22f96d589be2a986f48c6f7704f4e74bdfa196344f4636e37d18e66771c526f26f734d187ca3f9d4bd641544726ba8ef4503dde98c389184cb4177ae32b78f54ff02ed18656861c77f28e72b3441ffc524e7720fa51522bd185874e7c95be8eb850a2d1781e4e0c9ef3c34726d14f6fbc947cc3a4ae1c92e825b379eaf0df9fb444a2d9e0999e397ef96907243ad1f7eeca18d9a3f98fe8e30ffff8cf77b5d5e388ce7773a3f9b98d6877e2324f450f34e4c788665e5325a4f09175982da20fe2c72e6b294792293414d148864b914f4a7c5e5c1c3412d1585a54ebec55860e21a26fd528a950fd41054547d138449beffb7ffac169a86e882678f8a62bd929f5ae85e8a2762ca91d98871e8711823406d14bcaf2ead82d654c960d1a82d046209a58893a39ea7aca87dca001882edc43ee38758ae573fea1d1ec36c915c5ac748441c30f6db41ce5871f5b840cab0f4dc88fa4574469f8d42d0a1a7c68af2d747aeacfae1eb5875637a87865c99c2b058a7643430f5dec334f1dc7b1673ed7d0c843139e951d5a5e4c35f9c2d0c04317ceb3f4c4d417b5fe0e6d88526e5962e8794968d8a1f1e062382d3d0bf1cc461dda0fb37a877794374e8e111a74682ce5d8ff4345b64489148d3934d73f9144a34777757dd09043133fb404fd285e498e40230ecd8485203bd1eb31c280061cfa8e2265fec848a6e73140e30d4dfcee489346578f66b1050d37b4e61f011798e883e9fe98ac5c5ca2efead18826ee3172bbb0449bc9b234758a9b434c5d5482d27efd6acd517350a20faf2b84cdd131bf9844eff9fe61cc92e85c2e4f7546594e34126d07ad612d2de58044ff41e490301f63acf2883ec630b196893aa209a7177c3676572cde887e2bcb5945c91d73d432a2f1fc9bf286f9d4713059449f834674fc28f3aa6ea777549626a2d10e2a4688ca39f40922fab0438e47319d96e3f2104de44b1e8b41a3f2c3106d26d5ac1dbd2f85e873d2e5ccff3524443ff9b1866eb1e8fedb20bae47a1a63244a8c0f13449fd923775c593b4ca5005c04a20a700108f5da32e6f073e6fca1af8aa9572bcbfdb2c70ffdc76a8bf02da61f367d682544cd55317af00f723eb499c3cb5eeda189b9be1f37225e2ed643ef15c6aabc43aff7ca439b7f62fa8719938d2d1efa2c9e3c3df6e4aae7efd07a4ecb1e8e8f4888d8a10f3aec7033936fce7bd6a1e92027763eb4e8af081dfa60122ebab397c1e398433f31dac3872f65eacba1eb386c480fbea41387dedac27db5233b88140efdaf5ab88c71375d326fe8ba93b4c48d98e2e5d20dfdec56d4b9d0716011b6a18fb92ccb57c46f0a3936343b9a5c249e07e271aca18f53f0ed30ab557968d5d0f7c5eb78124f733a6968d463491da1c7f2f34743a33db943c562cf6768d33ab223e51c46c21766e8af32efa6d439e4c85d94a1312fd7d01549ddc355001764e83757a807963c93e7e7620ced967c98638a1a9a032fc4d0f78ec6c7c19e4872c94518daf2f3582e633b236cc0d0e4d07d2f3e595289952f1863d0cce1923c74bdd068fe7a7831cb25e54517fa2044bb274b93a90717daafe8b1e1630f64835be883e5f779f1cad3d369a18dab292f632c7bf0b8c882b943c9e7794a72b36c232eb0d07f5c1ee7bfec13297588042eaed0884b4fb49861e7f463852627d195903bd41f8a8b2ab41ff24d263f0c6a7a52a18ebc732589b9237ecfc5c3c5147ab3e09bee9fb21239c830702185ce62669fcfb9bd1ae10b5c4481948a12f1cee4a9e1e0020aed45f88a1e45a68e3bfb843ee653a259889d3ac69cd0fcc58d512b875499e39bd0751c62751091b3c00513da9cee1b52fe1f72f42ca1cb0e47b363af8c31042b70a1843e678cc9121f879c184942332dc95c477c520ea9095c20a169cf082b1fb56847e8bd8395a6477647be392e8cd0c71b2b5d3eeeb2142b56c045115ad70bd7a5a671a3e45c10a19d30de15a6a1f29a471a29733145e3918cfa8408218b740ca1edd8c3cdb25ae132b310faf69394cde3f0fbb2762145af97a1b1613e88ac2941e8c2a4d2d25c962baf0442bbc1b7c7e390fa411732e4e4287e38123cc8077dc8644831064ff297b9e8411f26cbf350ce3c3ea92e78d0ec8575de1c83c4540da0ed9270b183dee2a4ca571ecb27bad0415f6995f331d3a3ca9c288a737e6d395f6c8e220a488003944b04173938362f0d936331330ee8883fb140e1e206ed455ff7f7ede920b21736e8e3f8e2e54a4594996bd05496f9febc7296531a34de1affd33d9e41ab96a92dc40e3ade2383a643cfd43e79521a13832ee6caeeaa7ad9bc3f30683cc58ad5f15e7694bfa0cd39494bbfbc071d362e682e79ff4c8899b39c16f4a95dd5b43cd47f9f055dcae1634e49965265059d986c4a5c8b1e845c057dce15b4f3e64e98600afa541d5c75c56f286853de5831f269fa479513f4c1a5ea5809714de26f8226984fa518443ace94a00f25538546f68fbe93a0f74d31922dbd436a3e82a3fc8da12b6c8e08fae8e9f9df5533e5f622046d0cbb6173fa4cee44dbd9e364c5f0181f87139d240951214e642fde449774ce5f8247d1ffad269ae9489f1873ccd59d4cf4b316174324548e620413ed4a5be5a6e5d6082fd1bf860acdd9e71e566a894ea26be5cfd1ba379a95e8575348c6c5f7ae1c94e8b3acfeb8654e7ac8243a7fdd10cf636fd9244aa28f2c2c32a5889e722c12fdf79494cbe6df081d247a8ba173e41a26d91a7b44977372947ed7e9f871441b66d5839c2a0791984634de1d866f04f9907c46f4493c06ebb3881d888be83d0e73903be5249b5544937a3487950721455589e82d8618da91f4655e10d186cf4839b44ec1773f445be65153a524c509c9107d1c2cc7ed17cfcb4204851eb8734669240a4108100441188681c86c7ec3506870280683014220182806838260401008020c200581402010180484c160a0203445b3887e9ef953db541d7839d3e4c9c8b722893567f702c1a02e776ac913a4c7d915e9f1308a8eaad47d971d82fd20d365445ef85558cb95c00213798510cba80203856c898461c69b546c4ed124ada837de0a10490a9e07208f871420335b0bb661fe1340b232793ca12b69834ade2d0e8c611bdd26aba2955a4918915dd543ffb60f9cf830adfa5335516df4aae2e05c784a0ca59a069104a00bcdfe15d57190ef80632566e7d2b394daa846b7ed876e1f7544df2d34684c0c2919d722a461b55c542d23084e51fc43454f94c88a09ff847555c6bd505becbf4274bac26a61b893eec5008731a9980be0edbfc447fe057a39a67d0c1333622a4fd87dbbf49728e620172285d3885e7100246ab225c28e32c62989ea298b891c339ee22f3f1146d12ec7f072572c69299e5ac47f2243f21d33551ec313c89e6df0e9eb3018d61913be6eed7932b8efafe0b83bc507e91f6bedd2411e2d3409150460bc632d21178e8794e8d96d339616001b830788ac4faa1392cda9a8816f71c2696282f0aac5c86a0a089ddcf760c389e7dec84201fd46a9528e58b71693fc1e104e534c94b03bab760403374a0244397dede88e496b0e5471b667ca41509043d3d0d06b3232900a103b3ac6a1874333eca693511640362150cb65c4f4c86610af3e19a9b4010d83f8f1df26a20a7245f4897af94cf220c26f345afe21fc715e593536c04b6bf6e9318892f6e3053c8748e0590cf13fb7f6b95bfb0a9bf47db69e03ac11c718a9bf1eb8a4215086281621a631982180c69efddee6a1781986074a19caa39fc2bda386b87c206c412f3d0466fa9ed88743f7d66cf8d2d326b48f3fc20129ef421130d9125328798208117adbfb48862248ee9b41c38f4c28074d8df290a50d51d40741b237e1e58c7070fa4be14ac3a6c273a125c6b71f4620c5cf07bbbf2fd0f5fc3f9790073a7c5cf0f53c7efca157e81f7a412ed1f5f10d7bc0c3fff5d01ddf6ffc65715f248aedd89ca42b838d5bd9411185f3432c99186746e7131a3b6d353ebce5877b9b9da6211987e2b91dcb3320abcdd49ec110dc06e17d94d746667dbfb706af4dcb939e14f65f05170b596fa26b05ceec17f020f3550d56f91d749aa9180ef36fc30b324cd096a8635c9097625a061a5c1570c06aeeb3ba0ce15331e4e0e68b45313dcdf883b2a61aa02ddfe367ddaf898f05746966126b9b7d0589b8d02df807e502c04527ff8eba509459949af71e1d6c6dfba607b2922d4cb90af447bc2895c9af939c22b8a3ba1ba47d4e73636e204b0c0efa8d79895ed9f89990188203cd60725aea6238f3782ce3906a3ef43cda26cb9112f04fc38fcca7bef80bd84f92b68927cf862e5e890375dce7ed43fe11fe3933d67169a98be1fc472717cec1bb665a812e9d2617a828cea419b4326f0e2d817dd57c986f001f74f40ec04f5c12a8f4e720e95008013ad0414b1c70434a203e91d48db7294ae4f23d255c84f6f6e9f54eff6011997ccb90b7b2e7765eb417d1dfccff8b4d2487d082cbfd60c3ecfe1d8d7d0fa66ca679157effc0c1e142c96f3779410425340ecbe569bf1c5e05600efbd093746165278625c0b97c410d5474056bb7a0deade9040f1ac8e3a3c7ae74b23b968a2b2b775feb3f61757c42399a00a869138ab1231152c23b816e7252e59c8a96d2d7f6583c628c7daf9f92631da089507c79198da674e11ee13714ce1f01bd872eac905e6f7b30e33dd651b2afd412aa2307d4216b69d84320fba5f9a529f6176e31da94dfc89030f394a0fe4e7c3614ade022cd0533f128ce314e5a745473640239610647bc62b0693f881b43e75b3c25258abb784b7b35e4c8794ba84230accf1d14d09e8d63c285902ba92014a532fdf4e76fa132cee1da0141b2688bf2f6ae02be188ea6153b692546e447be3f0f312d49ee90ab12b3cb68b2689dda3ed127987d6ac0310742e185426481afa74fe6757e7d4d2b86501c795de0d58e69872a590c817f996633b89116483e245aa4e448820488e4952457c22131903c26d19512241912209217498e84406223e1bf486ea9f9619062a4fd318937ec42a8390b780ee87d8670f01a8b87486f1f5406a9b826b0acf9163a0ad20a9ddc5fa14454c77a00284f52a7d81fb3ece70566407496bc7fe9e43d0f281f4cbca593ad20e7e89cc8c9075073083d86a25150bc34ea316f1a4c8b2625cad020c3ae8cc463d46838a11eaa6a3fb2bfca13e8bd08514edbe0c8552b6bf62ddd69bd6facb67bf91a36333b2ae69aaae51616b2961d4129f7a91563f783f5261af013c13a27f3632d2fc50ec89622cd67791c3a885baf42a599b01a574bc684ef791eb2cd892140ecef28179c68bb486512929051a592b41e2e20d9ee1b4aa929a3c783e2b6d37164b08da680e39e8dd5c5678151996917be7fd86828a7727212f31e059368914131cd696a3e5764363b14728d971ff27349eeaa76313e22a0fc7375b426c008cb9ee263ef4a4cef9c2f7be380d9d9a396814827a09f5e9faeb0a4f08f7bbea9a6e000fa080b88fbd3e9cda5a16b201a8bc590f5f686651a548602f74e9cbd1a35d9edeebde4b1f81b73dd48f6f483232399523e95a7b903c3e84d3c3dc35c2d3869c103f087f04a150f8fcd886838a36978d0d3ae5a40cccf34d7012cfb009f614015a6cee5f113b352012292df4bd1c0fad6ac11e66c61f73234258a57c6fe5651772bbeff991090d792180e045b72065910623ac20b805e0da3bf6e8aa49924f8db10da868932ab6a4186c52ffa29e56f4dec257bdbe72f5a8e742c9a664cae0854bdfe3b94a508fb401f556d08f00436a342901d48aabd2453af3314e4be7860dba78ab24e6b21b1ce5cbca4b75b5c85bfb9de115f18757477ede7be73e6a8471dac24f6cf17226fd86f2e24c45d4a770ff40ea672990915e064ddc5c96a166461780500dddbbd610d04ea369bfd61c341d240295ebc1a3b86c57340ebe61a7837ed4d12da3c01f85968db7861d21b36930a7f6f6c420e537bc52784fbb4040192b336b7b447ad551fbb82f9d7e04c68a3dc0e0bd6467f904670727dff55bdc654fec43796633fd7409c77163acbac3dbc0d8612d47ee012dbf44c3cfb4005d6a63e07ec4b620724506109255e7af3d14e5b2ba45e4c46f9d89f95a5f5874381aff28ec2b19ca45757202cb82af7daf33407246f4393462cc6be410f7bf27af6a25486cad2101640752fca71444bceedc368a729150ae3c47e83fc92da5674dc8509b931235110c2c7be30d14335955390d4c0cef2b0d06a46dacb608f79ac3a208a62129e6ebdc64072304f320e6dc229780b778035b085f6c07361129c029b812d18000b380a5c025cd0d7f1dd5cbc2ce087fd036114106f1d6ab7951b59f863a8d4428f6a8b21006aeef475c81c3d005bd0956e4664b36b6e616cb1dbed63b950f674671066b332220d9c383d91a4167ae37703b43af7b598e9e8be46992c5cbc9ab71485c3b90d2971885d9235cd7f63e8494134572e0c92f06478e930c608b9c57cf46d2f4a90f20f8aa86063d9f07831965b216c43aad624d6512569b41db7e2ad704368639a8669a932c60583a3af154369f7e615d33ac7fe181ed936bcec8aaa5cf76631c1a573c9dbbc27bec214398a06524c5f5354fa9b2fd2ccb851a882a24e63cdfa7ad76f37a545f18badb1d3722ca22694b363a93251946f16e9929889eff60b5b14e38096fbde25d90fb48da7976eff46a9cb2e4559cc663fc6640a7ee8647fd173c9569d25585643f78192fbc3d69bd3eb4ec53be8984367e784c2c106781c2996e032834da817b27718f430cd6fde9b6a56bf0e35ed621eeac3e6a3b85052aca5afa7020bddc23732d3d64bc0cc2a0b479ee85817d2cee1e7b92b0b87bbee3c9270a9b29d2547ba0192ba4270f065433a8db7d48eea9ec166e30be75ac03fafbe00d387352296c52c8121c744f321b12eeca69d612a2963ad197ea51abbff4c0162be7ce2fba53013d246ee9071693335e44a382937454d51508ea2bfac2c06c49e48ec138e50f83088da090720d73e6e7d96b2096ab8037fec23874cbbcca8a30df1b137b85a383a9274d2d8bcac5bbffd2e90a979662fb44f89f17928d1fa2a32efff28ec3a90d0b4a37dd17cc1df79376b4b0ee86f3fc8d7b3e4dd57f44fd21601700ae89dfc08a011b82cf14f5ab2aa2ea899fd789b396a08f664b5b08d0be173cfe1baba3a32687db6b086bda8093b9527da1aafaa35e8d1bc301bbf6b774a354e97973266cc3bba1766bf2d9c978687dd6144cbcab0983f3972501b77687bb293c2fa2477c5d5be1a25f93a51c732e0d4a834d8fbb8f394943be9a74f6e430d6587e764fd495a52b242fdaef76ef2e44740121a7e763f3e3a3d74d85be4db269f0d4c145b10840a425bafd873cc1da68a8f7bd599a2dda4163f530eaaf02c1b060719232c63c0288f8d5ef16fc638c6c10647fcd800e8af08ae7d640e5c6c300898474501343b856a83b1aedf0d0a0aa3acf88120dbbee28e4192c95b2b1ecaa519603a616d5ad06c0f81c1387c90d343f9c8d29d4cff98c38f9ae929535d7c566e353eb612044f06d59b5785d7ed08c04f38551005043910547a097e1ab3d786b84331eac6e31e2ffae168f43563501a1cf91a399960c14dfb40b57f67710f56fa261065464493cd48897e9eaccf9c1b71bb3690ff5c240cc5446c52d22e074a1c6a83f99c08c48ee22d8de1ca51bc51400c87ea6262992712e4cdc9d1a75d159c69bafb8a9ba24fa498edc6b13f0793c39bc3f41361312ee00640ad67e89e9f797eb3d1300203bac8b9baad16e45814224a1ea1078b0f6829c9989ccddbcbe311028405b849dcd05d7475d48d5dc90d6e207ae5c9b638376b9404ec35799049bb334261093402a0813f0be6081b490de67c61c961b14370563945f325b5b981661a9856843e831b072882d400f0801f017d002808d495057de90d400e24d6d5552df409e5750f2fa06403ca8041838dbe3e9e8b3bb6004f086832c72d3a34caa00f3007800a103be01180032000ac03ca5b0574d9ebab8e0514057e0028b454c013808e001500b800c58bdd436cc6e810c14c55f9401043f0101188d911e0095f12180404c28280ef08d0aaf474f4a77323a9a319365cdb4fca7832e6988c822215c424a1e2d35286362559fe8fa44586d9449d2cf0cfb38b26b6eb14c3695932f632211e1c0ea90de0a7e4d60608fc8b008a18912b39a0b282140e0000000000000000000000085044102ca8814fe9dc38b1a0ef96159e74c5fe328ad8cc9d9b92926443d2e478395e8e97e365e00cbf029a02a20267cd7c92327ed38881f58d677d9ea3612e09031f7f43f33b0806a651b2b3746972a338165f6074d23ea6447e04b0f0c22dbac055e4f7cb5d89166d2dc0820bace896bfc37cb3dcfce0c516b80d21a769fc1c2df0f911f17b344a767e648150c9dc18f97668646081052e2617b79070180eba2bb0197dc619c58f8a6a000b2bf0f531b877cc5313cd2a709d2d7d6c7bdb2d23cd010b2af037a64e810d39c7c92fff8e2da11418b1bc14a24279660f041651e0e25449beb46f7cbc8102bb21397fff5b469bf180c513f84a3a212d24118bf77002abd9728da5cdd93c5b8b26b019777956e3d44c9a6102a36d122f346c0bb15f021342f4d2ff0cdf5702ab195faabfd5b9c49424f0f51f792381d31c634ec8761dcb11d8d08aa1d52b6a99b446e0634c1f0f0fc9a95652044ec2f14a3976cb4d1944e0f63a4908558ed267e410789c5d2519fbce3f4708ecdb7ab67514d3512f085c8e39aed4a66c18150302bbadd12949cae8078ce696b6887d665afa804d53e51fdf51f48dd503d64246913679f60f730a4e25e8a4a76c9d92b6e0011b2945ae588db1f965b1033eecdc5c3b8b77f4bfd001ff394da7b76dae9c97450ed87bcdaae7bd163b4a1638e0e2c70d3935e2f424173700c0130b1b2c6ac04dd4a5ba2f1bb12a1733e027ae45dc9b0c95922d62500b0d2c6040162f200b17f03873de8708dfdab2ff007981450b74c102b25801633539af3f8310b1a7a14e2c54b0480163be1ec7b2a73d0e2f168b0758000216e8c09d141652d4a2010b148c4514b838c12d4c401ab7eff7fc96cb238b12686973ddbf955db2940d16505860f1049fd359b46e69d61fab0c120b12707a1d53ff2a660458c7e9c69f1a52252700131622e02e585d684d535e110d01637145abc24a72b41b045c06d5789dbffa53ea8b0fd442064d6482b7cd9ba5dbffa1b96b02134d5ca2094b7015776f45f42f75a268a2126c7a54c993eb553ab404c694d195022e68669e6e7cdb3a0d29b87c89b40ab9278e4701db19c3b294c634b6250a26bc7b75f24f45869f80890d4b2a467656ca4cc079c665faade2265596800939aa78a49f929c42c1e36d49bab71299173ec1e7c4734df6f9b0244702fe7210ffcd7f04dc78470dc9fb538c8608786d102157e9576ec842c0654e3a59733a4d81800739da5bb21af7fc51c507d8649e621e4b9df2b48e2313b7c0042e2ec1c77af8933e765942e58439b1b0043fb5f963e6212df995e063ce9aa1c5d490d9a404e3929269679e36b99d040f1ce6714fde919a1a92e02a3f6a5c5ee521c333128c6aedaae668aa6d21c1bd75ba8b16bd06417c04e393bbf2bfb33b6a1cc1fe44fcd021760cf5b846b08d36d5e30fa1f23c8ce0f34aea847e4939466b118c37d4cffbb06ef38414b148442d10c16977dc14f3a7bdf83887c072caf6f7b1b263689c21f8d578aa533185c8398560bc742f784a123bb524185810829ba0bd6e15fdc3d3abc062106c8829c54729f28260f3a94dd6dedcc87b078291cc99935b3206cb0104a7c923fc4e53e450933ff0528e265bccb66b5cf92177b1509ef137ab8b3ef0e365d59dece203ab5e27a59baef7ed1e58071624d7eda707f6d2a89f6ba5c61192073625f407eb5a17c7c0033f5ef5595c535b14fb0e8cdee688dc3076e0255a3fc7b58899671df81829e3beecc8fbd8d281cf74dbe8435cff109f03ef593f6da91c9828915146460f891a8903ebb731e4cc9fc9410f072e98fe59086269af37b0190791f6dfdcc049bb8febb55f480d6d032b0ec4d6fafc3c69d8c06b9ba4fbaa38b519ae81c93a1134a4b70916730b35b0faf9f93c7f0aeadea681079e52469219679ea78a865af4e20c9c653b94ce187d8c1bf30b33b0bb521142d4b499624e19386f4f8d186c22039719a2a4acefbcce9431308d6d481133b0f6c9f16d2c6ba42796817dc9e5e920d669d74706ce3dca7b479366b83606bec6575dcbd2ad9f626044f24355becdd3300c5ce683eab47d194fa8c0c0954483d0ab16436ea8e20b7c10f3d4d8abddb17e5ee025faf2eaee1e4a490a454517f86a17d178521ee2e75c60e36e98979de7d003155b28b4f18676c3f06881d83d317fd41e8b21dea503a9868e34a696546081cd2bcb196879b08852c51558cdef5b0facaa3e6605a6242c8569fa509f5c4515f8f870c2cbb15e349636011554e071887af9738ce3a92904011553d0cfd3d745f2d7901b93c6810a2930397d044f221933c41ca3c0f48865f231d5906ea38065215aed7932f4024fa0ddfd61598a8e7def612a9cc007b17c2356f61bb45a404513f8a87efa8fc7ae60022b413b6f1249dd4ebf62095cc41c53cad37f8512b88779925d655013099e65a022096c0ac93bcab2646b8e1da00209fca6b5102ad562f8f74eb419034639a0e2089c6d4889346f8bf67a851198688bd428a5fc3639b5815ec030035414810feb38951d3483aa1544e0f372369d942a2c6ff8808a2130e2d135af55dfe35fcb0e8b408510f8680c47438bf95ec450002a82c0df646dfb6a4697fd0304ce62a4e9cf3b2164c6fc80cd989f3564c99bdef880cd4da661a2577fd91e70515f530c1a62c6eefd14dc67f1a98749825d78c0e495364cc1a2328b65076cdba3bacefa0c66711df02949489edfe780ebda34bbfcfb40bcc601ffaa8f82a7c80d1813ff8c29c3fce8333660d3854af2ed1cf7aa064c7c899981577e376869c0459de3901f78799ecc80899a48593779d152193091737a8c6dfdee291203d67d8236ce90d49c8701f7e3a2db39c2ebf617f0a59fbe6d5344765dc0e7d8f1d71f4888e4b405ac5b3a4e1169517761016b39d6e3151e336657c05b63907ddd77cfa12ae02d6844957814e0c0b7c9c07980a4606ddb2aa42499dd3f0510a180e96bd89b21a128f84e218ed37553a31a734027603ca3c77a95239a3894402660da72238d4ac0a4e749fbf5c93ba7d2048282a9b41ac325a7478d266225017aa216132012b071a3c45091464022e0f562f2504945acaa35205008986e09c9f35fbf643f2010f09fb3c5a81855ade304f3803ec065dcc61984281e2f7e996033446818a1d4ac7b4cf0c06ce399b5e3c94973092e785e87a8b0fa9bd4128c59b014f4617d6ead128c8ffb8466a86f9c114a7092f2750c7517b5a132091ea5e3f61c0dcae27e24c176dce8d32ce9b01b1809aebc3e575cc9c973ae718a0a4830ed304330fd3c1e74aa7804934b322df574fc4863852318cd47da206672f1491bc1ab46750b2155e84be1eaa082118c03df49f9af92bbe716c144e774965b6e98fb312854288255b3ae0ffd52514d5191086e249927776c6652390343052278e4e9ee973d35ca0a1587e0ca27f374450c5d798521f88faa167a25ccbc1b541482cb20ea1aff818e659a105c36fbd537061583e03a5a95655ac876a220f8ea94f17e5a7a28896e051581e024f568a76dd6d7c603a2e20fa44714c9c0bcb3b33ba40a3f30e1913f0589761fb81b49efcd11aa7279645254f08173bdbe87d639a5272bf6c095e6e5e82c993f63980a3db00f3bdfc47821c52aacc803f71f49d28f07d62ce657c8b76d14f377e07382a68a19a4fc103bf0188d4d1e5f572dc7a8031bd32cdd6b1a04718d0e6c3cad3ce11e27e3a7620ebc6664153f5799a48a1c98caa3521aed1e75c781c77b92b62f559f57870317f2879ee98690b57d030ff254854c21752849bb81f5d4c87e8faf2194da062eb7798e948cecd1d9c05ebdc5948cb2cde159b106eed333c58f1f35f738d4c06dfc1acfbdd6ea69a6818db49169fb7432c5a081fb74d99dea37e6f033b02da2633154028248fc717969017fab2c78689c6bc669376f7fa3f3a4b9d5aedd2c9c9cddea3882968b5608ed8792a56f2797542bf143051d4f20de094df50225593f2b4d50e3001f89c7306fb712518e2c0c9c771877c6fa056509ae164c42e1a0c4a7dc010e03c4a5f596a479db1ddb452fda6d5fc40ea0e16c963fe487b1447b0bf4f8fc22c4e9a86b8bdf58d94d038f98f6860379edc72e2a8d244a5b49bc6976e744d435963d6b486b395655460beb8fec30e562f6a7bc2f4a346f12f4ff4dd562715a1d3863b915d3c5ef48fb368e9253c37fa48a632682688844d457630916fe6d96b3f92afe3be21c858aadeae96bfcaaa8956dad3a0319525610914b4ddf27cf8715793c1387401facb17b4e1fb76a17b918db1cdf7c7bf4a16ebe272c73e652d212db2c0498e8c4b91ff9a6da14bdaf60f5a0f7e5a9993934f3c802cca1c6e419672ef5f478e73027033c4a3eb825fabec51b0f64d80edbb0c6748f82253481edc17e3b98f90b89802e74aa2d83cc718fc1845c18f3502302a0d017e09c950118a0e498137a58172fb18915c625c49732f55d47c15d4fcad96c79cbcfcf87c695b300f72a063452ecfdc3b4a3b2426bfc686063c9cf844e98371074604186d7d94bcc6e7dcb08a8ac54cebeeb6a173c997fca70087136ed306f12ef6cb0018b2d8633b42091601a21827960a389b5ee55fd29abe2517a5206b86bbe18e964fc055e23f882462c797422255e4fadb35a4027f4502a5d89d42694f1c37928b327d621e3987051b8255fa9bfe1d5d2acf36a05654a2d6200c94503127a3e2abc2b154b7f1d13445e1fc913d4461e06272b2e96b6ca27c580dd0c3eb8327d7bf46fcdb12f752b85a63493c228bdabbae75459a830cbc12d1afa88522f78abe93fe11bf1d5a21babc65ce094ccc569e9c0f80eb3a0144400ac40a5406ca1917ba65fb687bc1895d5f160b70cc064f8598407a7b05506495b51e546f7934519c69045fddef2844765d50dda6a2847dbc2391d36e1084ca3a727469e5ba0315831a8fd034d012c0c69424e1d7e5f97c33e6866f1eb088b90e8c131c0c6240bfbf065255d8dd2157316563012f057d14760ccacb3c2ab094d5855988f1e48dfe1497d47268a60bdf792055639114d9de0e9e3a00adc8633cda82bae583028d288f47a691a1513dec0d1ce4c81ae377e364e705a2b73f043de134b39d8aec700f201fb4a63007fe5431c162e232362e00a3ad20f3b8721cf539ba1cd5d0b66d6ec66ed7526645bd51a71b799986d7d63ba5f694399b59bc1f6ce166b163333cd1597b8b2ae26090ddc74f4ea2ad3f33b094ca3de354dc40b9dd44e089e255600e1f0b44aacffabad548d0686ade97009a73d14462b3bf5cd0b392216154ce6856268582e8c8c5f89eac40b59788b091b0f6aef29782c58fdc68165453e66a82e8f3461b414ee17ace308920278b4419a435d718c04cf6817d061a4c0f28051e81da04e0c9c40592ccfaf4426572aa81f8cd6afd48fee12068c9f96b30cc0d46e4b93e772cc7d516338b06b9edc3db5219a321943557be3d1a35ff2653506887b2f59c74487962feb0131b9b19b4b8130f206d002d4fda995c747310125c35f63095007b6cedabb16845b9fb8e55fb252b3c669e02585f33a806df306f1b21ae3366a37300efbe706613cf9ade2ccf233cd0bbf428d741c4fce9d354793539f8bd0f302c67493fa1368416ed2ceb4905c44a7e54e26a67dcf084e8a545815a56e3ae610fdab89c20c672cc134e0dca2425005cf610ad75930d4954eea14e6e6b8e3d19bfbb9daf1c7c33122e5abb208da52c9550a7f08a375e2869317c1f85f0d61abcbb13ac10d17d32de0ebd2f1650b4ca186a983d0d922a3f0c714beed00aac5e14925682215e038364315c25169845771e893afe139221a4ca91ff18ee1b8d6bba915771d808e983dee7a37ccfcf41d40853462c0c71f0e51cf5d4fb91616fb5da5b04ae9aaf54c524058e6c32da42e8e6cf1e9da56cc5a148c9b108daa9617674bb1b526ecea6afd556066a65337701e2383088331fd8c6c85ba0d1a243f25ae130f27a80629eb7b9f49d4d99b55aa0613255377c3d57fc65b3a03dc236283bc9211c696275c9ee784a3dcc8a901a7e5b0fb10d9abd7f9d119f71acbdaee9b0901656e43258558b6e273920520510926d82a3d1af5ecbc85f073444de33fb9469c839026f45985d144d3efd454b52db4eb72daf21559cc837d1627db3e3290103d592ed811102c201be3d9f16175cab954c603da8dd54ceb21ba26aa3357e0b9ea5c4dfc22aef8e43cb496526b5f3a9687ae28524cc61efa535dd5fc71b478c944275196af6f453ecdb128c66fa782c5dac3bda0c1c8326b3f810c54f100dae74d4a3290b44ae1303f3f3f3f3f3f3fa37d5c5f5f1f5349059c937293db39360241ed782529292969325a01000000000000000080419304a4049204a39eaf346ca02d64d0f794b8e0c4a37ffe183413c4372ea930e8525c10fc2aa5640e7941e3522dec95d2053dc658e00fde8591d5b6a075c184490d525e7fa12ce8a1b9f26f6c99b8b815f4ce0f0f26fe39ec8b900a1aab24b959ac1f5ec6299afcef514bdaae169ba2fd08f962294bd1a68fe5afc67bf120291a6bc820a5f3678b858da2478eb25ac895aa85289a9f1656543f48c687a2ef16993569e8a068f3b232b4285a7c982c52309fe85c0cd9ea2eecd417ef899e45b93a34742db245279aec4721464ed5e1a2e184ce265a47791442c5329268a217c30dbf104ee2922313cd4f308b3a13d39a62a217534ae962fce67ce6257a7581b9a885ee38a9257a1421a5ae5b78681d57a2d59e141f8f64e1c529d19488b57f859c497d1200e8c148a2b32029f55f77e74a22d14b5476867a31cd1f906845639c454e1943ce8f68251c741f8b418a8d7344d3389b0da7e221de881e5a9a930b254b5fb68c68f72d498a2c6cc1496a1751af03877486cfe01a45f4e011e38c8d443431d2b2677b79478e88662b76c41cdde7168b437411cab5a1599e8618a297d0b8214224f21b8568a2658165a954b8282544cf38a5cf795c4cf1419011443bdbba924d0d275e20faf8d85ce78ab21140f4ebde9131ea64b099fea167080e82c5f04ed50fed6e98b4284be2abef4397059a252d66f1b3b6c3875e7aa31bf9b92899650f5dc44b9018eed0af851e9aca626185e88ffd28230f3578e8c2378b7fa65a0c420b35cc1d7a783a1983314da9208e1d6aea7043879a39d4c8a1d3993267c7327f721c9a28ed14eb2058c6221cfac6996dde17f8865e10aa9fe5aad91d4a3734de90d1fa244a7ebf0d4d4873ae9608ffc9b2a10dd54899c6ad90b186f6daf474f4c524c1443534d9f9a513cd5dada7a17378515576f468a7a0a1cf6913758ae2e20ccd994f9f83178be10b6286de61853b0b2a2353b60c5d7abf6b4c64a1b964e82cdd2c3ae3e630f1c60000188c18fa2e9576748a594b85a1f7d1cbba7ffa58d281a15179957281367ee417fae8987831c638b5792f34a716d1632a9eb3285d687c5d7d5ab0e22c23179a46594226ff8bdd6a0bed4b49d47574b1c01fd342935d59db5f1f7a363959e8514eb8c4dc2ad91f0b7385a63bcf212ae423efadd048f016f8b4582c0a2eaad0570b9f431b728470b9a28fbe10b2247325b5a0426bc1acad62a8e56d58b178c20b42f20bb1528a33855ed62c48350831bf149a6d14272659160b251c85d64c5ca8959ddaab84421396197268a9c5b59ed0834c73698cc54f9b7242ff6f913ba2c4bed037a10f4b2dcc87d06b726142d79581497ef7ef992ca19f8751592e192e6a95d033f227554799fa45127a1997c917c2757386842e03ad701925b390ad23f46217d917a8566851444668abc5fad0991bc58917a1cb781e954964a1ff85084d9869ec426bb05a2d86506e53ef4a595c0e2134bb7fe262f9a84a0d428ff719b4525eb99c40682e6588fba7f739f0076d3a3ec655b119181ff4e3700dcb5d68a5f5a07fe8522e88e9294ef1a0cbe1d0fc25bb4b6592ac01b3835e6021165958c15a7c080c0001b43d8c0e7aca22876616936e981587c9418f4f47bea14688cf241906078db7b022e83784b8c303ff47644166c18b9db98238d19cb505af102fbb5ae5b4894ea2acb28bc41fc50069a27924ddfd39e1bde5052813ed4b94d9fcca60cd81a0074198e8a9cba247ba8386ea8f01822ed18ebcb3d84acf7b4b74fae2eb7cb2707cf9fa0355a26d516894059251d27f9cda8128d1f864d4299abd31da50aa034da287f05c71e1a8bb41152049b4abfaeafd325f91d12af48e2c126d9e65647d89f47640a2398d6a142e16112d8e4ba047b4da183562632989f61cd19c658547893293b46d441b1947ecf4dcd27216572046f4823c9222bc58d0f8ea5e418be842652bdf9c13270708da0aa488269a459d90ab595d9027a2492e48590cf7c50faec18868ae3172668589741c1da249a97f1dd9410532441b93f1bc1d88c30da042f44c11926847853c161a204274d5181d440b2cb528a7000da2c716032dcfaf3433175a0312043941e31bff5b50c9828f408168d73f2345b22040b413342b55ea466164575a01fda1eb8a18d1bb734e1e5558012006e4879e23c5d252407de8e5d734fdf7290b63fe03285382f8d0a47e2cf2d0add897c1b4872eeebbb85452974f84f4d025297f07a3ddd170a63c7429e7b8287f38746ff17868e623f4c754a53ebbb843972384ca7845e6c72476e882849828d969b90ebd60a3a15f86177885970e7d83c8fe30f2a9c8787368f6a531f3c72d8524911c3aeb4f77e16e544afc0b1487f6c15667257de1d0850a5d998946a923fb86266ab479f78f3ed6d00dbde0321e5bec3ca92f2e501bdaabcc0da2c3e339107415880dad3308d533199f31c8afa1cbc2963895531b42e46ae84924e7c56ff134f40d2a2f862fc8e2df1c0dbdc8c7729c84a4fe62312be80c3d76ec601dd7db302243512033f4ab19794c624e839c2881cad09a36ff48b49c5723c9d09a5eca090e2dd4b21f061a43bb578e1a8f0b060389a10959647e9629c8ec65f60a0a433b6b1ddf20b55870f15450a154203034931c6ea330795918ef1be80b9dc3f216ef5c48eac24c0de485be613355d8df310d4b0cd48566cd4adf2ab9a05b945b2410177ab2b4dcdcbd175b3c7381b6d0eae3b518f3beaf5f05d2427f715de028863b48ccb3d0eb9c59dc6f51bee08562a1ab0e87172cb82047b357d015fa920b6529435690155af9ce49f1752cda15a80abdc8fc7a7cbf61836574452faca859299f59e4a752a10b2e2ff9252a3e0ed0684597719c382cf99eaf08a7d0b7ae476ee85f3e61429c782029f4e154a92cecbc18419a81a2d0bbb8241e3a23cbc2ef9c015906824297a2f17bce1e077a422f860adf3b93eb18ef849ef4af3c2caa49529ad06316e645c8c4b72c137a07320de57b5e42eb9ffea294923bd15342a393752b3f74de2c09fd0b92bfa3fa8f84462faa372699e4fe113a6bada4bd33319e374297ad720b1fb5f8293ca622b4d93bf952bac50e2742df1dc97a2bb8d045e110ba7c212f460bed2b8d0ba1d5d7dccbcf8c52e841682432db731c47fb09841e8c64d88caad2157fd07b830bb2b8c528498a0f9ae8e2252e967f317c3d202a46403ce8c2e38949d2e83ca9eca073e80217889459525d07cd8ec5899347ddade4a0cb40d625b33aa9cb38682e5a47e8c9dea0b5c851da3b3e1ea90d9a791e6bd4d7d28d1a74193919b2585d50a1412bdf50f729551c1767d0c41468c9ba48766b5e9c176c40a845f424f1454e619e0dd22aa814d14ece89e71c0eb45c602562f786356b7312ab6cec988890c552ca294de0085000dea210d1eec884d428f528bd0ed1e9f5839fcc2fbe16bf5586e87423fc336c315603ab10bd8b2479ca64cbf9628b105d4b667136de0b17f119841a718d5666f12c2a115de8e973ce2e0aa2abfcdd27d9547bb22825103d101744ae574b051526860244974e129f29a274af3fb4a55ece2c36d90f4d167b7f47b2f89be9f6a1d7887c0c219b33b9e4430f27a92747a61c92527be82b5e0c6223d52b58161384d243e342c7dd9fbdfe30af2b42e5a10b69411c3f697137458c50786823a383efd3e9178b9926d41dfa16e87ff9496c58961d7a887bd9fb19e457beead06591b750c2bcc40552d1a119cb4fc917c98f5673e834bdc1f55be448962463a1e4d0636d2bcbf0581475df32541c3ab90e67c79df1a8151c9ac7757917684766b1a85d40bda1b190a724e9bc182a37f4285aa0cf6fb1275fbeda4016283634312ea8f0a8efad7aada1072ed0ca7d112422c8a506aad21a9ac5591e2ac4c41b6b64d588c7a7d2d0c65ea4c5572909afd0d085066bb4bc0e43225767e83173053fcb483fba2b33342e9c722cf07754952a65e8f9ac1fca6c3a7e7290a1bffc623017933bc83fc7d0c5c6ae9ce6d3d28d1243e327258d9ac5228ead305c8101eb0bcd6493f4eb89a7ef7a79a10d89117243fe84d0aa0b555c685d14cd727e8b3146b026701881da421352fbeeaba8c48bd57a4069a117b518f87c7573b4372a0bbba07da6f4c551d95f2d2c705d81cb0a3d947146a7e0e6189669888963a82a5ca1ae68e3bf229f4aa62cb345052d2bfa2f79758a551591d5147a3173e307cec8a2742a29b4e358dcc041034b141a2d6d7531a52c163af8a1d0ffcb4956c8c93e7942d3a2366f2ad9b178e1842edebc4c1e845a16e74de8254fcea48cf9e2fb4ce8bc7c2e468b5168085942dfdb502c379428f1544217f23fd1c94363b224f4c20ab91b3927758784be31fbbb38c67cac8ed087a4d468e4bce9a06284d685575615a223bd17a1996c1826b34e0d1b44e852fe27ac396316c84368db85e7c85d2284265a72bd8a1a19a30c0942af13de5cd071d6e27500a12d7fc740f499c5a0ff4117c6e725de43651fb4e242f9091aa2ff720f3a756185a858897c250fba1c8fa3ff3aad45d6eea0d976c62326518ea7eaa04991cd717553b2d83207cd63414b7455c6ee2c70d0e73eb464708183f3ee063dbc183fb558a58513b141fba14fd6a28a8e6dd6a01767850b257453332b1af42c2feaecf8bd149966d0ca64c18e755a64864d064dca9641435bb4b4f818347975925843a6ce0b83a6517c2855550e7c7d412f7e081965310bfde2e882762aa3b418b9b6205b2d685ebeaa222ba59b3e66cf502c68b264cf9e8cb12c4a640bb5827e24e20521c49f07195b512a68fe852917f152722e879f40a7e822f79347fab3180b4e53f44062e5bda83cb32cc440a5e823985c34a87438491074188814bd5828991c646ebd7c99798146d1fbc5a9647591fc0982060389a28716b9203b72e1a168e7a2b83b9fe3b0c881a2899042fe1b8358e53fd165d4207e955d204f34936de178965d7c5227ba06a9f7869d2d5ad3a35b6234c2b191f3e3890d087015e68676565c702dc99f5116c4dad0887b748398c950bf3736b42b2e46a92a573a90d3d670cc56548bcab986843cea30d36d3907116ec0d4d0769e3b9c366543392d0dbd3e4749ca1833a2674343e3a2b0aa90ef183e2a05b033f4bded3026372f7e6a1c3033b42a5d2a338f4298ec27c0cad03f9365cc225990fb0529da8091a1b9d42b69f7f970086d0cc48c67896a75445b7a3ac3ef3fb18a2ccc77a0c0c4d0e9a3c49f17f50b27c42c0c7dfbc8745834e7c3d5c0d0bf538864f0c7c872f685def1ee833a5f384aa500cc0bed9957ba28c51e753650655d682d4e4f859dd518799020d3b84055d816689816ccb24012302cf4e28f5e0bf118f744e202d8153adf1d4929b5545d9259a1bf1079ed7e4157ce6555e81b7f397606117a5d905dd1987fb5304fb68235cea8d0c3c71888845c55dea959d1c74335e38b1c74ba189b42934b2c645812331b2d5430297412526441e8c915b32834193c2d63f1ca58ca4219040685763446f345b25bcce737c09ed059ce7488b21b161b372774c9324ed27d7250a91a80b458139acb6251ca204343de8a8c093d58cd7359d7eaaf902da139c918cef1fbcc252ba1b50c72b28de5f18996847642681279d90bad18129a7db1d863e2d12a45003b42e318d6c5526a61ceecf82ac846a00a3023f4f31455c5253a709eac085d488dc617c4c76231348c088dbbbfeac36ec53ced06604368225a7cd2e2168b856e99105a4be220d673b4fb20742173e390f31f4b12203429ce3097b1445efcf6832663bca053af2a8a0be310980f7a7078412e07fd7c2af6a0c765964a2e6267d771c9832e1a666431d617656ca66c075d435f75b785e3fc94a4833edf3f24fa5a1663686d098c039683ce6352d6cb287ac070d06390b81519496c44eadd006b37e8cac2fb51b614291d3b02b3417f79625fa80d1f8b9f3bec80d5a0c9c276528911f9992a8c94186034e8057171f1b293bfe42b0536835e64f99fdf1f9341effbacf13bd762e72c065d49e94fe5c74277589a010c063ac6a974555fb848321ea3394366602fe8fb2f8bf931d0055d6e939e6b9e4b1667d6821e56e45916e49308b13116b4a1e9a832724d3dd55650797b78b839ab965b94b59871b5c5ce26ce5041050a4c056d652c70f1ef355bba758ace816361868b528b32b5482a4099a2f708dd48c9373233c3017757a568755ccc92ffd9f2451652b4d5427f810b22e9b8a0a95174151daa334fb5184514bdb53023bf38a65c8cda2a0450a168e33cc3a3c5d1262581a235098dafbf1a89ab5b9f68a4b1f80b2d4fe8e8211d9fa11d2533df908e13d1cc3152d94ef4a023fbe3e3d7c8169ce8542cbac02f9f74788bda442f88cf822e691cb590d244d33d59980fbdd92c7e26fa165cf01231d13eca605bd493727c1c75891e45f4cbe8daa1167f59a237c9169c557495684542935763ca5c51e228f94c699086738c6e9f469e1b658e9626126a124d64f18bb2844ea9ab5692e8e234666d313cccae54247a6ce9a01dfb45f1a2a820d1c685ec2857c82d7ebd1ed10b3bbf2d56c3742f03508e68679f274f44482a41661a1fd82cc1094460d5884633cdb7a1a4e3e145028a11a3a4a89b0183fea8326310428880080821841042b23e023204411090a62884a2946294517e7220240c63208642108443180641100421403006411004410821c418a3c122f387b200a8d55695dead4f23c2c12d031192efefabb17b9dac64b9c5d61dfd8d30d9c7e1d6df77963f3be0c50101c0cfabfc7d8700a3e55b59c4f81e889842bf2dbedd6769f9462bf8f556fc8e80f4f5dffb321e5e5040a9ae0fe27c0c2488e917a39b70f87d567a6b2de538e4d97ba43f9015069cdb04b852ef80eb234eaf2b288e72448a782a93616fa98473f686e3832969bd1f7907eb736a23eddeed3b09c0349fbc5a9cb300498d449fa0e9ee0185d58b4f79a123e3c3936229ba5c0079969670e510817a0c3ab8f166d697111a60b552a1a57d974f837f31fa96ea15ab939e4f2b52a2272def9815337ab57bff6172bb25d2f1c752181318c91d29b3cca92e7b0480893d3c060f9b6d16f290ac8703fdc5719599c56b1e52b29ac85bb85a240021993a896c2de6d9cce63b48c59d6cc41f22be1aa37b3c4b13ee23390af0f36c0295977408613d226efc8085430c904a92c9a54a4ce2855ceedee59385191a7d4bf4fce7308f2d8a4a4dfb4db440fc5b52a78333d4465f9951027634ad7352f425a1f8eb9631fe7c46cedc938c26c8de3cf6f745f8323850b506578d86f3d2f64132e3b7f22e84f5a8040e28baa1e82ab009994d2d785a6ff8fc07d6ab3e609ddaef183e045444b5b62d4dec2a7e32e6f595986dd86efaf0b7167bad0e21671f38bbfa97ca26764cd1b50d197b0663167bef182de33c1ac5e0c7b1c3aa4cea183b393d4cc18d03a25e3b048c5634f88332a7f5a0172fc1f0bedd9f12402034faadd0a03903d8e1a850843c43e12438bd4049898631246a87e7517714f7d2bd0859090904024816ae84c43af7a89e7eb06eb2ebf3a90313a601d7de80b17a22781820f8bb9841b34232f4af1dee01d48ded65c5abde7e020c02861e8095b895748f89887c7c2b47ca51a321195817b089d26e80f016055e83f0220aa3dcf7116396a7b3c46eabbde7472281dcf4257e528a61e020b04bcca1cbc07f20aae2ff553cfde57afb3c408cba2470b96a7486d42ff40e4ed4e2a9bed7026719e2c5ca82c969df30dd139359f4c2cc40ddf2dae7291731b7f5416a7e0d88e51242bbb680dc31a00c12f5f88b443d2422b27c2a636173bb1be000da63734e5ddd117d532c4cf07b6a6ea9770aaaae9e5bc8e30be69780c6ed0dfbfc97e18c432c984e75bd01e0162edc12c05ab6a019286f1d99e2a32737961871592ae0813292e2d0250f9dc8fbb289b2aff38534e1ccebb6287b87b3a218a8efb41292bae37c841f6c21276ab890395831985a5f8ee2d4152b2238dcb0b5ec2d9c78a6288f7116c2193cc9dea794d399cb55bced8154409335f5f80e0fe9d931a53fb5d408d2dc34bc8a07059b5a36afea02e7327ddf329d77d20713af6d447c05da69369e963b2476b850beed923508f947eea744d56754391e782cdb41e08753070e0da59f3341fa0a9872aef174040cf7107868114611a046703f5dc5488ce423e9c8880b000bb61354a6055c5c243c6c59b0dd3e451e1a14beac8103dbbba2fa489152e1c990fcc59975e5ec8671b62c884ad885bb781d59f83a454307592c75aa70b7f8507e2cd5f1c049821ac5566aa408004a1a26a1f8775d6d6b77d9a3ef71f18688f2aefdbb4d4cdc083d401acd1e2bcac78689e18484169470e09afc6febb74170a6a2b2815daf2d8d064a687b73990fbc052c03f514e051f0dc6c9f4b24ce6508213daacec59820d4717f19a2f9977edcb53285f1546d8aa667320e229850429420cd81a81d039e89d8d52eb1d7947cfa0599ba61299df81948efe28eb8eb3bf107e84e949e5b74b86702a029854d60e0a8cf997cf9c5c34bcef928b4f3c331393132ad43b68e81194797bf976db764f3b56d9767eebff089f5ebda3e79b2f97d965732bd9ad87097b5b4617a3dbb1d83f4524d6c375fd654f7300b25d5efbded93fddd5370e3692f08e49383964f2580dc10930ea9bbbf545e7b0c189f376fb53d6e5761bb9fb160add29dc1cd71d145fd5e5411e4a9e01fde5c069b2b212c0e75fe52f4c83f6f237a286ef82cf5f062ebafde4afae7ffff93000c64faaf91a24ce2db9678d211164f49f9ff7860cabfb18e0d2821855369cf126a1d2ade6a4c8678ab40ee0a32badcb9716e7db4bac3297a38bbb2b67f90638cdda58bef467c87901bae400773b787d9316bf4c2b3468b3e1b4af18838f46a42112dc36109544708d08430dc55f03ec393be5bcfb60ef9898abeec8373ad4a271d1e965976cf8b2e2f8f9567cd66924642d64b1f74b4737c0a9316f957ddc7cb8d1c4461657d0f09b48a3de5ed8e5ea61854ce786e1ce24a2778d89067968b896571e4ac82f3a6b0cc218bfdd56aa4149f34036e8c8693e6b5572313bfa992296e6a4e921d9d4c9343878546d5fc8cd684049a6a86d9e4dc7277a865b336de2092e8336ac4547d24a804835207b06fd9aa4d83490aeeb4ea88db3201599b5da38a52d83441753a68fefd8ea8b33ecbffd0fe11ef9a037d3ff9f85c87a040872e5a4a43086afb08659f19b4e0356e8874c8a98722d0c78276b018026ef7cfde33418cbe0da87748462242ef15a555bad0ef04f766f28c89ab23afc0b2592af86a80c4168274c284e2abdd15f5a15d472a193949b47e737c403a03550c3545770ad41205f07a30a4e044710d85c87924dcbdd7228ef40f12e5a19200c1a58e6e94a6d1398c76a0399262ff9f90938b8516adc6b48029b17b137b640c8d65f83431b42833d7eb7f0320e773290d1dc47698562c1d0671bd8d63ffecfcfee3c053cdf4290f0c4ed27e70c0c0d2985ef8b59988b438cf0dc4cde458aea71565809211cfa78ceb71996b1cd403c6bbe9fe961c9c52a0900b98ed8ef311c972946468b52f088e6f145c146363e9d743be098e3a23b05c71adf336ddd4191d57913cf16b2843121c98e48be1df5c2bbaccc47691647a9440c850781b635441cff1c235927ee9bb444cbeae9a657ce951844ca002202f414ded3440603fe71b243b434ea50f7eb905e868e242a1a7e7f64141a90d99180eb4c76d663e760ce2b2b96167664f9d8f6f8ee3b05e238da5f9626ff453594d1e3579c23aece8965f3531101a4c0c349494df6e5ba4aea837479bfbea5dff9c65a299fdc3417588cd8f758eefde0228e94ade2193985fc370460834c470bccb8c185e4bbcd01a4b41b3e3de4295d3c3e0a62411a4138ce4a7f42137a8108d1d8f9795d062980036ecb3a1963474796abd9812803b6da10f3929209c6606b19340e4021e83e77a2fe4562123b75715734779ab3bae4bf805aee3068b5c88ee902a71d941b1aac712481f02fe035ce6d252041bcd42341e5daba5983001f4bb9bf9dcb10afd2448e02ff87fb55d319e21f7dec77bab1bf82870339f11faa6e077cbd5cfea51bd42f193f22ab381e357cd87e3975def538ff1443f4f7919c3dc0196f662f54dcfb796dd4f2552d93796f33b116a31ccea9dcc72a1ffc5edf2b08145e887bbbf716dc7fd88d5af086be61ba6f93547ef802d00dde25798c4027ca1d595bcbaf59e38f37768918c69c6bdda75b5e49e381909f434d19f78ab03b489fa322e6b32a6d928dd9a3af2f7ee8ca6b19c375744ff065301db5067cd29ca7d6bbf8ec5507a2557c76a88179209c02354a88faa50379dd754fcf97add5b5efe3a3bf3732ce039d809fad707a73fd0d32383885a87aebcccf32707dd318504b2717625661d9b0d4c53be42560b1f1c611d434a99a8a9c591b0f44a61634927943c69b8bd4ffd2c4520dd2ebd77f6d066f313b9cb2636310fdc78bd3a996ad6c824deaeadc829f6825551f7d195b6063efc44e53f7323f4a907e3cab90efd46dee83fa64553ad378a28182dcc0794b2cfe735b75d05d95534eb0c6adbd76b12b105a5f4c947ee831eb2e976f65edb763fd37e8a9ef1e39dedf75ef6599deacf1ebb2b17649be385919c58b3be08a2395fbd1de5385fd5feadfe6deb0aa5d043fc8e62954f0213d02501c5cd4081cf0aed2f8f7f6523ae06d5565823be71ea1420c9a862702c40dca588e2df2459032ac2368347d6f5ed8350dcb1c20e456f18317e060ec997c66bfb26f40201fa40ee563490b44ae1303f3f3faf3b5f7be9ab97be8ea7333ec74c3650e6ae94d41b7e931a7400a7a4a4a49487440000000000000000000040670562055805c5cb2a91d182c74c64e85fecf820b918bbca03297063e821bf4466c718cb8b0b7062e8a71ca590742a35166424e0c2d0fa347089f9621737d60786e6dcb2381ab53e8b9f5fe8293ff2457961530b2412382f7479dc23cb0b25835c9903ae0b3dc850295f6c7561461c0d705ce8b29b5990718b450d2d07b82d348f32478a1cbea71b9f165ad1f795ce1fb3a014c561a1176e46a508d70dcfd65da1b7941d0f3bbca238eeac508be26fff4bdcc92cecaa80893bb63947698b7c978a45ec7f918a008e8aa3c24de1328bac742d777697f6a4d05be3f869ccd272515168c7f2859523e3f71a02851e865b67b8d0a17c424f2a0e1969f76763e684267e52c57d31e78b5a4d682afce4e1a334372703a520a00005f80144314a138e094d5e71a88fde12ba8c1c88af47168fb82f382534e9cf2dbef852bddf54129a06fd76730779d1a84342638d45f94b75afa3d73b422f96053221a621f9ba3042fb63a1dbf8451e955b84465ae52344ca078fd011a1896091c20b367527c702dc103ab3e0ffd982cbfe9113c2d8de21a9b3cf7d8e0b0211e3e8d1b25926dee8de20ed2d8f115d2ae080d0fb33440b19e6a7e37f3fe8cb21af295b26bef341d7a077e22a4848a6fbf5a0676dd427212d1faae34193e1bbe3e5ee44646f8ab62d4bc672c7212ad9ed8097ce6e5175737266ac8e14521c8394e074d038646516e375376381010c3c1e082e074d3c5f7844ba58103ec540080e078d48e5b57859ec92edf9988005ee067536e844b52fdf8184eff9ae064d6997e335cb980b7234e8da24247dd8690a97bb19748d15b44b9d05f99e0cba7c9625836bfdc769e062208283419fcdd02dd07cbcd88f7b816de112d5152fe98d5151d9529214cd67fc27e1c0b9a01734566f3caf8e45fee25ad07c74e4774157b5342802f563412be578623e29ee94f5a8eab68a914bef56d0e8787597acae3a889f0a9a64196497822652b328f2513817a58782461e2cdd7d246a9a020b45cf5828b95152179ac6ba0203458f9db2509f2f64f6689fe8f20b22c313cd58163eba7f37b4f8c002c03ad1695316a35e5b8bbc47629c689f253f9ed8e02198010f48608802609be87b659e75dd21b52ca689268883a4ea0a2f9f0ccb44ff17ff3196feaac30613c54487385a587474b668e5ccc88c3016fec34bf4cc152ec429ae43164c00db1998259a6fa01e31e256f35830402b8555a2178a3a85b3ca38333229154689268be5b164ffa1d73b12d824baf217a52421e3388d00bcc5d7009344f3a24ce9588c72e42e3d123d85d8d32fbe1022c52091b678bca734ac645aab47fec93c9f16f68856e72d57e8df6be03ba25975f0a70f597a92a311fda34a17b7955b16d318d1b9a05194d4ac6e18670a5b442ba91752e1e245a1889ed1a4058e62678fc4024b442f79d6f21c2589181a9121a2c9e0053acd69b9cda81da2a7f8152db68bb1e65fa5031fb822cc23334453165f145a219ad482dc5241573f4e3542dc100eee8e1912cfd42c0ebff0176f3d11b441f4c2bcca3e9511da626182e873238e837e88735958208687a7f830579189ed868cb18c41664195636e80e8a2844ecebd862f54171dc8c01face886b90e89ce484fa98a9cd54d2da6249d991f7a0ae1cf5e2ed6fa507ca806981e5ae79e8bf8d805f290e6a189d4f0b21177faa382873674a34278b98fe3efd04770aefce2cc9f8d85519b1d5a0bd1725c168b1d7a6c2fb03a74f1bc2389c33977ac81c0e88035c44c84ca86b820caf93906f3ed90d91c7a617bb44b6c81affa72e857f2fa4203c9662c0e6dc0ae68273fae5938a3ab59c6a1dd6a744116f7bc58594c05c0e0d0a7a3282e7e41e8c9947b432b1171ff425b1297d68ae6ddb971e8a4af551385b9a17531ac2a9fac8c680d02514431da86f6c2e1fa42bc9255860d606ce8d529e5e577ab6b14a8384e160b661e256468dde27cc39f90e3184313dc63b2b01543a7fedd82f0d5df42c3d0c754109d8f87090f0c4da4a48e165a0b5f942f34214c16b3bc47c6c2bdd085368c9476b9286c5de89f233bb6a5e4829d0b9d837eb6c9f395575be8518a85fc0589d0420bcd3b5cd78dcac212a9b2d048e33809fa72b945c1024926b88464875ea1750db71049afb51b5668aa458e42ab45157acb712d78c699d92e15fd6f84881f7dec36a9d03b28ffd4abe4fee3149a8c39d9d0ea2f167652e885fda0f45bd025ba45a1ab46ba23791f36160a5d7669c68c1bbb58243da195b56ebc2e8a8b66c8093d4c76814f6c8bc9f226f41651b931498fa406137a51bb8747b294ae2fa1c90f4175b3ada15542e7cded02d516a5879b845e78faf0d1a2aaca14094d50ffd147c93c422f72516a9c1027c98a46e862b718f58b42aa45117a527df13b6345b80c89d05ce6d40a9545e1641c42936422bcf9e7818342e805ef707e267bed2cf20a0c42eb485b2ffdd9b4c4cf2a1008fd488af6f171870eb2422bf0079d94a5c6e9825131d1e7c8803ee81d2f8bcfdd1b4c0b92d98326663e7bb7c8f1dfcacce4412b311a3f155711719ca2c84c49093351d9542989e2cfced413accb823b681aeffa3c965e3885a883f62acf0b4f7d7ca3ca4401e680669ca1d6672ef8768183d23b1e421e4c3e3b33c31b5ee8c85c90155bc31b742d8ae162dccb39daa0f7d217839c84d34bc11a34279152fc459d16560a0d7aa4f39245165ffe2b3e83c691b9506432afbc509441d370f5aa59941f7bc418347e39f299659c8c13c2a0f3fd4992ee318de621bea0ef5d8709794474413bcf39da402afed4725705b6a07d16c93e48bd60fe65710159d065b790adb2193b94a23d9d8695197889852b687af345155fd2a10a7a16639e8c8c92cd829882d6255cf9f385d1ac3ca2a0c960cdc5cdada62edb85a2a98c5812a3dac2c8940345a35299375c5e3095ba4f34714f3bcebf65e24c3cd19f377ec166576c73ff3ad1788b9c51ce4e3fc6f271a2b32897d51f974498cb269a94b18f4bcaf2288bd34417b3f22d8690e3a2aa64a2ed97ec3c8d5298d91d13ad36b320be3348a690c5255a892e16e557be36362cd1acf95bc82e0612338e4a742e2f1e938e12fd7ce47da1574ad5c27612bd64980e7237a656ca24d1639d8cc5b2f8e2455691682e97833ca703ef1690681fee4f6e70690cd63da29d5417bcd01f4b4a6838a273e98de916778de881444e6b31ec46bdff31a2f7173f8acab0b94554a569a60e214d6a9e9631208080c9534453f15f50913b3256382f118d3e47c49638f167020e113deed291e8184c23840fd185a772715afc17f36b6788ae1aa31c21c2c2f2eb0cb842340ee2b005e9628e08d1675fb80ad720b44b45c00da27dcccd2cc642874cd126e004d1e3e3e61663bf18544effc224130b10bda0b9829bc349215f5619707fe8a59df14b9363b1e880f3430faa7d2657782801d7874e475d2ce8eb06d119e2438fe227e5b7e4b3a845d9430fb2f8b75163747d8f7c400fcd64310b62637cbafe6e1e9a6c216721afe3a748e0f0d06495a5ccd90ce2bcabc0dda1331d67ff1634c855a1089c1d3a17174cc6782b9f439f025787fe5fa42de71519e5635ce0e8d045f5888ede8cc2fb836a023787a63222332462772772683bdcc5821023f70519bd2bda53f1d797c612e1c5a12f2f9de8f50d673de1d0a6eaca9944ea7217f886ae45e1b22827e3d5ca9f15fd0b82557a0b240bdf41ce0d3de48a6389ab54a6946b4397dac4e164842b5901c78676c6b57253634c32216be85d7d27c85c52bfd0aaa197fce27f0a29378c6eab01978646365f0ccaadf197103834f462b38a7f144dadb3bf2a7af19b88489c8ecb3de0ced06351722c6e877d91a32a0267869ec5f0cb1d895e72ec3e50860e4e68ee94e5d05f9edf8749f9154df08a2d7e76a9fce2d0e98416b566541915383455cd022f59dfd043106f518b31648ec38a4ed31c475f982e90b8a1af106b6f78fd90721b5ad359918b92f3b16043eb93d772a5486da4aea1f7f57308f931529b6ae8bff3a21c8ba96b97861e64513ec782d01e2168682f1e39c49d30d158153d06e795e448a451ea0ccdba20828b9f3743ffb2d7cde26ab12037a30ced9c578e686de69f0c4da58ca731f4179a3c86fe1c226268b73c1eb518da5148189ab7482e5eb991db83a17158c9942bcbe217fe857e5c2cdeeb9c968dbdd00b72cb52d87041555d68df295bb0a5fd62310b2e74cd15e1e1fd82ec620b3da8e8a2721c8f2a5ae87b42fc0cf16ee19b85e6716e956b030b7d9bb67453377041aed037e7e4b9d861796f853655c2a96b86b9c855682e1d3c63cbc27e1654346929b43efe140b2d159af02213758cc13c48a7d0a5acb3e0235ddc782934e2d03158bb9c36320abda84e0b7ffa4128b41bd12da46f7c4bf784661dbe718e4a9089137a75e0e620f245cba29ad084ecb81b638c08116226741126111b99bc515f42ffd3aa1325340de73ffbbe7f7a12badef86bcb9c6ada02095d30adcec921a5d738422f8a17484af1518b6136425b9185aae51117528ad024f7b4143fdb2d5722f4a250b20d36ab420b1c428f752e659ddce28708a1118beefd2161f5ba2034eb26f318d93002a167e8987c623f68b3af32eccb102a291f3493bb61b3c56816a71ef4628165315f0bdc349ce5410ff9d84dfa62e2ff146d38e373f117d5c60eba881635f0b34c7db90e7a2f73c91688c38a72d054160b2aa38bb5e459e0a0c921a7e994bdd3b8413f27b2cda80f0ddba09599143ab32957aa4197050ee2f0284e6c060d9a46b15d1eda66fd0cba368d08ef2d148965d0b7b558279f85f1023906cd3f707fc1864b76c0a01763a5e97eb3285bfb82be2ac307a95d1c4e5cd053af3332ad05bdaba885d83be6ac290b9a384de1285d26222245efbff220c5dd245eaca0c7f3c2165565a8a057f173e697b83c730afab3088d71bc30e544417b59dcd9ab6e289a7228b9fc2db3a380a27394501291232bcd4f7422cedb0eb22764819e689fc57b3d3f2995749de81a38166c257d0c164e3429590c5d3db72c7872137de517646e78266fd1443b62aa9d8e05312599e877ccf10b2fcdb32f98e8923a65f002d9c825babe202fe5e019466f89b643b4719ef3444a257a2c8cb5fc0beab02d257a8c9f0e8d318976c2bcd8b2783e162a895e28d1eefd92329d46a28dcbfdb676142e4a42a297ed0c95e4d8e57f44d39859e8de577aa523fa7349fda8459afd60239a46599276b6b832f218d1436f167a455f687f11ed636159186b41e8d414d10bf757f5dd9c1a1c4c44ef2bf3c24ad523a2f3b5f8c2b7d0a2a61fa2551fd5379db87018a27794db501b9f29e34274e96247a1625f089224442f36ef38c7d8c522de20da88fb2e9c8e18f91544fba2d094c5e8bddf59207abc9bcf428b2b970744131de3ecbaf5a4f40f6dc48695233be31eebfcd0764b8b0b3d2744bef4a16fdcfa901b7ce84332480b2ef8688aeca1cd66cabc25d95c7a3df4e23eee42d332ff3d0fad83aeb8952578e8912409c9d363a5dfa14b2ea66a6f416cc90e3bb46e8e9cc57c9e8e731d5ad57f61ae978b59143ab497ef58d6f2b7d0dc39f4501b8317346551667268b3ffbb593c0fdcd22bba0cfb7e29251169320e4d7f96446cef31130eed9a63cb698f896eec0d9d43b2f078ea606ab1a2d9ec937214cd4c246e68da052d168645dad0c5673fcaf1870d3d981e550b51fdfd1adace99ccb9cce96aa8a1b3a86cd2d295b19f86aec1a50c1a9a6092b14ab046e170158d5cceef0b13a9059ea1c7973da4d7991a3243d32dcc089952c46ab20c1dca875eb067f10d5bb288650c0f10dd43e70fb20ee31b4ef5e281eaa18bd4d36951c6983c7429449ce42c8da2c3a27868cf3b1bb425937c87264f37cacf2f57b9c50ebd28754effb354b2ca6a1d5af5984ead78fce2950e9dc388144af3425864313a87465a4627f3938e3bb0052a875ee8c2af94911ed338b211e815ed9c4cb558941131a69640e3d044890a140eadf5bba75b5a8b1d7847027d43ffa08e414ac94fbd1213a8157d4bc840f5c3237645d40d5de57d08fd8e528e6329b40d3db4c506d91565a7522640535036f4f3d896423417c39c4c5141115197aac8288eac0555431b2d16537cb434743a19637416794e63960a4543fb98ce1de9c2e6d12a065a458fb195a50697a229f40c3db0f0f8c91bd1317645590135431a0f64d51de486e59d40cbd047c8785488dbb1e7c2950c9c6894c4696b87b8037181f4be182c4cf500191d83a9184cc3d0a839668718fa58e88c0528183ab578c17acbc55a95fa8526f96c868b62329852bdd04439f6b9ab5d68f51d46cd31cae2b928177a103322a5273f08b16fa18f941c2efc4721b4a085165ae972c98c7aae427b9a855eecd45a9172fa1015c5420f3f1d7a85e62b3f3a8538b4a36a85c6b1a852928b8ec5a0dd2ab4a193b5c142708bb8948ace5f2d84e0b3527951a542ebc81cb3206f6485884e614e930b4b8b96776a37c9ae0809d912954217262f3b3437895189422b9179276656f69640a18db71411f25a568b7f426f7d59902df2f22cdc093d54c6135f524d294d682e33fc8b91c55f30a149115ea412ffef8e25f428638cfdbd8d732aa1e76d24715af0180b1b49681ae5f64618936c2d121affab105b5c16b2c38ed0e78343937917c50b233411e234832479f028421b1ff931163988d0f479a6a7f86b3a86d085fe8408adfd2e531142e7ff62902c5f2b41e8b138231eaf6388f681d084a394c75fc21abbf8418fba5b90b1a1e283d65ad05266a6f7a08f75478e91a2468bc183de9fc55ae4ee0d2da6e8251d62540bbec51cefa08fb116447eac8a2d74d03c8b45d4e25c2cc86d0e9a581e2e7e5116598f38e82a0b9dd729bb564a6fd0374ab9f11d4cfc0a6dd0356fc525af0c7cba1af453c1b3526810d6c268d045e599cae713fac50c9a8cb218ee8c25cda964d05ed616a3901189412ff8714116a3be8cee61d0c446e671f291970ca7c1eccfc7ec8226aee5c3cba8c4f91674392ecc1c68479b2c68e264ca9f4c77eaa4e8316cd5eb8a887bed0a7a167fc9a8c52592511574e282eca616cffd22058d668c3f7017ba20988a825ece5110ef42d1e434eb847ca22d923e9108f944275b2dae94e7220ddf13bd6e7e4e9a47c84a27fa568739cf7950e982134d37434ac72217f9c726ba725fddb4202183b0269ae88218e760fbcbcf443397ea0e2afad1c54497628ef1259ae8b597e8c560f912cfc931a496e8428bc3946b4a092bd10b5ed83a9634a2a1a4447b5954e1052d73d19d4413c729bc649e90a292e82566578babf371c248f428ae24584a71990289e64f1e631447ae31ee116de748b27486e6dc11ad4a778b8143728635a2b38c65f4d9615bca18d14eaf8377e143ee70115de6ccf9ab92f6a714d18baf81794bbec0c3f144f462dce18217b750bc82885e1be8c7b78bb341ca211af38989cdf31aa28df48a4ff90f462c4497f9d924832be78e10a2176447a1a64f0eb218449724beca243f4c05d17b6be4c9b37c607e207afdf78e7ef082f301d15a37861746907116fe87d6adc23354f4435f21e5930b253a5bf4a117efba20690bfdca5b3ef45fa1674e2dae2c720f4d59f583870ce7a2d443b3cdbcd7302a84360f4d84e465b150da2dc443174e76f651c6170edea1c79d70cc228b8abed9a1734926b1cac9acaa43cfbbdda2104d29334587661ff656c60e252634872e4caa4883ffb852621042100441108461108438af0f6220240e8328844110044318044110044110084110044110044110829079b60ef866d15c2b200b58e8c940149f14a7e5aa73c2486e9d039e32b4146a4b67f655b77146a196156460e0f5c36c47472444ce4cc50507da071e18a35a44f8639574612f211e59fecc3674eadc01a1a488ef05b069c28af7e7fd2f6c16e0585c91723f45805088a1d39713f81b33a4710052d1e90f0f825303817cedc2c042926f93282502f98612e63f6193af6812ade9a7581cd9db5981fbc681a89a4bbf6cb07721080fee81db987a6a6033ba8dbb5a1201a45fbe475c42b70a29649f491a0bace86ea4eaaebca8a6d3252bf2b2d202ee09952caf61dbd2cdfc64d095d7a58d0199cbac271dbf463995aa48487cefd878a86f60db66c359fd26f51da2f1e29688727199874d9ae805c4e1741748ac954f157a7fda9f5a3815a68e33c40f7a61ed903f942b8cdb027710a81f58c3797b2e10eddef5a5c1924c5c2e5236e2cc608d603f2179e029691df1140d0fa8cc388bfce79b9043be67b581cdaed01bff06d5077fdf9e0a3ce240db9d49a200eb0dd0a4ca7b7238c02a281a53731ce34f6ef8727a04876d7068bdcd0da8015bd2cd1e3446a935da53f7fef053b7c08752000e23e08938e80a22c8b3c397b36999eecf45e03fcce3faa847dbb279f5c6278f7b37d98943a29c448760ad8b088e34bd78a79f7f8bd121a42a738276e7302fabbda92f39d2517673d84e86463fb6af7dce5a4d5c63c57e3430e4738635c9f132629631274b1797d96182e7b83740571acee78ceb6ca19af1318ce56427cefcedcec7062e39d891a70d74e5704d76b6025cd35bc1c9ee6d263be07424d0c935949fa9d9da4625a3638de67c878d34e5913efa88cf851d90b9041b571a3769fb39dc71c39e3c6ee627b143ecc86ef2b097b9c1b18a4a29e5ebd9ee7ceeb28763de362a5f9d56ca3760289a86c9c4ede4759f9d398d490a34d041db7360674df824a5d02f19aef457de3627b3e319ccdd6e9055bab908c19c7e09a3ebb32baf8d79dbc00f6fbeb671c9c9aebc366c94203a6010132b72109ce4bdf3045e978792a9451a876c66fa571c33091684f8e66c9e3e663ac86c56fa6c60ca89874c0eb7ccc332e7f99624af018264b1f57a476d4ee3c27d66656b342271a8a9990cd49145591c73af6e1a71c7591a95df9d7673b623d77d3be157fb46f86479db259b209398fa19cfc14469b6fcf864f9a13f5b0371a763162601999bb4377453b6805c5a1693b7275153e8adf042b9ac67b6e1e579d571675e3dd88e5ccda97aaf69ac92a6b372112062dc63375cc52fe30cb6d13e7adf1d2f0ba30af557be1ca54e96cbc449dc4cd175785c2505c24012a632435dd439aab6aad149ea2552d802258b35df24faa896a36f1a5995ff6f508285bd71aa8ca2004ce0890ccfc86c5d1d144243860658a989256500eb0961632173f281ed664e2ec6b892cc1a27f760b69c07eed343ec6430b2dcb577ab3cd14449ff3cf2999c86774cf4148cbaa1b776d0ff1d691b486e685d00bb4ecba4f452d8c395fee04445cb9f1e4e3f1c3e56a9eca97e9720d6d255a424ac7aaaf635d3402f0612709fbb86c8031c836762d91e58d89917dfe360fd926349c8fdbea7e9c4c51d914671312481b1c3aa94dd0680decddcd1929b08bb47e6f73441922c63d5c75d97575564af1ac4ebc23dc7bc8cecf92b15aa8142d5aa69593cad545f2b03915c5248dfb5e8068ff5f30019cb7dd45507d3b26e1b691b037bee418dd2e2776dbfb51dd465ca8fc8e3c5ae7501e088887675d183408b1e7babde8728d052f8b7794f94403c1a063519f4c589a9e27880e2a9cd169483953b3330f5297041c7cb923255bdd1c9afb19ccb0b0e54457aa7574d11cfc2887e14a4f2e57d2c98f2843564f74a09846209059d2e5b6139afa03e3b61b20948416e13e245a6f532924e50340d4850355c8a5ef740abbe22c0c6f013a4085a7e01222e635c964d886b49425032a48e9200ec077a68306d3eccffc81f9e9525d34ae74df1ccc451d04cb3b828c2cd9bf4ca87e1f279961e45b0e65be528503a3fb2468948fae1234521cea380483112a1d2113e3dfa448e23e0d38231b6187f943d723af68613b7574d1327887e7ac8c2b7ae7af2b43f7d622ee222e309708e6ffedc22a9c23fe6541cd118c5f8c7b8003d29e6f5238484a5c39fbeb6e76d8767b2f27b3fc164162efc201e16c1fdcc92593c3ed78b4abbd981c938c7eb433d4245af7a35019aca5fba63574b260a2ae91b3c212c4063b2ffbbe00258f31f28b9a0c8b0344a88a2813b2e075c61f16272bb6383d8e3347074757c8d001359c7a0d19ec77f15063cb343485a548796e2ec357a8132f6d3ad97d650a44bd243a2a401621ff9970fd7079bc91709a8ed5c98749b5d3c6d50b2b6f43b30769147adaa5c066d2cc1963d2533fcefbc84b2475ce51c15da2e395c4e719d2327085d644bb05863d300586ecb226d2d2e6c49563760285d958e66fc020c9425c641937f88af733773ee2d10f6a418b42c6d60d306adb64a39d8751ee888fafcb54d2580852f32364d6b158ade356c9435e6c306ccd7b351e3b08336d32f1a0c3fa2cecd8bd3303fec472e187530dd333b63dd2c1c7bafe4e10c2ed5b78a638fd6dba696d6f5252125a71908f669f6f90b2b000f49258d5bafc71d475872fe7b337b309d8d19fe44ef5be4a1c085b59bd67f7f6176efc6f1a98acd6c83f31d65cb07a7494ef2ed52ab319f57bd4be80ac2011bbd457ae7703eca6f0ef945341bfaf7cbdbf5a201b278167a57e40cf6c439a6347781d4b862ac6bcb6a6d46088cf051984f7aaaa6e3f2e3c1be6beacbc45fc898722f9ef2884c06d26ccfd297d7690dbb9f6a5ba2d9112ba210037836b4ad61ce58c97654d2919273465e883142442bcc700c2e173263a364b722a453ad94ce1f9d3cba5c3c27e69070db87fc23071711a5f2016f4ca3941ce56745e10f1c208e1c2f0cacb5926747a7bb3c0f2204f4e2b443014cf4fa8e7701af2db83183ee89438399db1bacde7c1de7148e1b9f926007ea9c0337521e19fdd994a20b2daaccb5c99a8c83ee154b3ad60b2578a4331daffa91b26626123285c67c285f8edef9adfa8293a33e78f647744bc0204bf40bffe0023d832880f3518f8ccc05535335efb2ad3025f94d306e5eb2a9d368f56545eaa8f8f1bcf0f177fe09664f14ea2273143d1696b0b2854ee67e36e3ce158b0c528bcc8643c4f6e973c904b54b856ac4a5323381621d485cd2a7464c68d91ef4a7d0f2c502671e3edf93a064587d5a6420be4eac557725077a3202d58b5eaa574c60a7af0d90241354ef32a5f39a3934a1114774507bea645e3025f74c9b6bc85c16f403fcc8f9e9d3f188604ffdb180a5b99e0df3b290e34dcd5b6efb988089408d947a530114622cad06c9ae5c6a39210ae37f68df8dec48a569f6e01085aec6ceb42e72fe50f003ed72275b78b8938437e471cc939ec968624c0317acd69e52ca0441d867311c45ca437c97ce1e1b63b9551830a11b0594be59a428480d16d660c36d0603aabd77f8991eefb5ef625663aea4c9cedff36f69673240647b4be59c69f3cf9a0382849f23a2653d9c69180accd34fe3a63b46afdef1ed540b1cf258b1ce8721e7af03d72e361519104f594d86288106851ceb3bac24e7428f6ca09d4ae2044e2c83742a949ab46fbca9682270c62c65b209a67db434800258e50456b0f3b606c460506558158267204845cd74e5da3c95940c79ecf5505c4b8fb82defff5890a7f61c3d78012aef22743270b08224073ccff33ccff33ccff33ccfc36f2f305f44993619e0f2b24348c8b2acb5a4a4a4a4d2f77a76bf20de06dcf24018f70615073307550e220702a1e7d39faf95a7f63f20965cfc0f334759b7fb80289df6e147e3478f2f88b972cd860c1da39dee01f9272dcfc7d2cb296617a4183df058e93fa8557541ce4165d4d0a8d0b59d5c10bd365f49fde50e0b2e88f6e215f7643fd97a0b52e63c969d5dc76eb405a952ccdb3106efd66b410edfb4c1735cf49616442db74c93dfcc591db3207a9cc37b98fc485e37b220c8e949e538ee351d0b72649d85c850bb316141b0cb8b5b7923be57790531a7e5fdd09febefe30a824f67a98b1d3e7b8e5610d3fe9c554cfb6936ac20a7aaa58e996ac32fab20666af0ddabfe0c73ab82d4d196a672aff8604f0531c796a37a8f473f6350418e5a69f13207f795e45310566d4b3f7554efbc298839e7e41feb860def280539998714a411dfd0349951903e65ace558939cb8a220c6bfde9c320d05715de5cae349450f0a52f9c7ccea96f3c2fc0431d7c318f653f4c89e204667ced4f9e5dbc24e90f28ce57aad3941b0fde816d7fbd8dd04396fccc14395db506d3541f8d33bfd58dd637f64821c2cc70eb7b0e88ec104a15fc534d33fd3475f82e0bd5a8294b27b94717f2cdcac0449e7fb52a79b4a51a404593ea7f2df8a1e7a6e1204d3fa28754cdbb5984a8294b27b7f6c44063f12a41cce87be1d79eef32141fc386bce37a721fa4710836898df5c96777547103a8e5b8afab1c74e6904412dc51ce8fa06a9242308954bdf24ff5b043973c7b97dec62aa15412cd714eb3bbe424dc4e93de8b84d668908a24b58e7c0dfbc731c827c97fbe356388d953704c1f3439990d5bbcb0b41b414c4742cf6c4680841d2d7f6d81c6b0641ce97c3b4967d2aa7204817d131c50e2e86ab0341fcd1f3142c84b5b58020475bfa497c73d23cff40f6d6bef83d19738f7e20bea5baf59c57ec3cec03395359cea6297df6f940e88e73d23b77b360d90339e73ae6ca9f51bff5403ecfa1751b653b28f340f8983549886aac7d782057ccc1dd496eacc8ee0ee478239be32c8d9e8f1d08a2659a3295bae3510792685b6b9d45fcd57420670e127b32a93985e7405cc975cf1d788a1739904e5e2ea68d735ec6817c259f731c338707151c08ea513d37456f0d91bd81701dbe59ba1437903fe8da1c7414cb6d6f0369f2d3fb986d748b6103795faf24a4adc5630d648df6cd14523a85ad0652cad9f6129bed514d03713dead10e3b98ce130de4b01ce71ca7cdb2b5ce404a59b356ea785d2f6620dc4b675ab28ebda32a03c9e3bae74fa39381f0fef371b0bcfce21808f3316e5df220ff3b6220a7bb797c7699d32b61208bb65ebcc7d18b060ca4f0f0aa3cdedf42fc05825a7f479b7773bc1a7b81dc9d3643abad6e90bb40f0d0f77c99dcad662e9024375b3ee46932c03ce02d10a378aa5fce66a7e21d81b540ce20962e3de66dcb9c0572fcb99d2fadabe216c60249c3ef624c7c246a397c0552857bf4b8ee5b8118d773dc213786fe78b90ae4cba39f63aa3f3a9ba940ccdedc64edff416c780a0459cb71e4e1c7b9714d299034db5e5783ce512078b2f7fdf07d32a59ea1400e543a850b9de3c7323f81a839e838e6980b5b9eb113c82ea6693eccd014ebc34d2044ed86fb1c3246259b99608655ccd97d67c99dbb87f954fe93ef015e0239aeec748ec7d49ff8045602c132dcfa827614459b012781a061dbc388baa794d38c0462be4efd130bd79af808a47c31457d6fde0a5963808d60beb027f5b9f993c7e12210275d56e522d7256e971f2e868f89ea603b9808c44f31b9129bbda3f5d4818780d9ad898767c5589776c66055ea6d3155275808a49079176dd4d26825030e0271d332f387bd99522dc65a602090ea3373d68df1db49c33f20fac71cac076e19f3ec0372ec61395a07b56b8f2fc83519e4cec56e3d3bb80704aff461e39b667d2cee2e743719f788372b91b6b29a4feff3cbc8ac941c1c2a1cac2e489aa453757c5861a65c10a673cab6b15f5ce38e0b5b36ea43632425d6be7d534ddb5b9063b2531e5b4befc05b5b906645c27f3eb61684d2b8f928a337d88eb4207d6bf856f24ceae9ce82b02191797c52337446e36365410ed6fe2c73b0a05516d67d606341def1ccb9547b2b750e2cc81ec54b9503933fbfec2b889963e5e71149afecba82b68b7651352fd1385bb715b7ac208729ef5cd6cf5fef397615a4dfba0e3d5c5510263dcacf1e777806c7e9d8149b0a728695d5748c5ec9282a48ba16d7636adfacea9b55a3614f41acd8102e7229de6d5b5310c37b7c1f4aebec7adc5210e7e2aa5b977d3cd69282d0693a0e7d215d45e31d05a1aabb62ec58a667e78a8214536f947bbd1c4d641b0a62aae89e26ee3df0c80205496222bbfef29f4be513e40bdf9529bfe50c5bf10439cde31ef3ea34596927081f770a7ad12f4e905662cbaf439b5d113741dca936fdb8f2c56dba9a20c65feb13cbf188b5b49920474aa64cb7f9a18a5e78b14c584c103a6eecc51c7c8a5e78511586bd04396c100fcd73541b9ed949d6e70ce4dc1d329e799e75be98819cd3311d711e6b85ad5106b26bbe8bb8e58731cc3f689081309657c56d73be745b1b1a63207b1012d73de371b868171a6220781c26ff603edc42230ce4503ad4db0f1f8fe70a0cc4e998298729222dc7ea32151a5f20a51c46955c6878819c6e1ed6e5a14ac74761a1d10552f2a0838b5b1d15df9c161a5c20e6f52a9dfba82d90d67b7fd2676c2b47dfa0a105a25699c9fa8f0773a9461608a1f6595e2d7a0e93d8c002e13cae90b1cbfb7350abb6710562f4a5b777d51c3e980a050d2b90b2d3a39ca360b3e9e42a907ad23f6753ba41057218997fc7cd732bea7434a6401c51fff0a9fe9125b9210562eacf1c3cf2fd0a8d2810be43c99803edf41c1d0ac4fedbbbca519d79cc693c8194779f72b49fb7626f3881f8b17fa1e36895d6dd6802f9e368557a1f3d85bac104c289de4f66f2f78f6f2c81ec6ec92e723ccc8d65369440b271f56c9633e9455b1586461248fb51fa90ae29a5b01eac420309a41cdac7f1e6c3cc9b1f4720c86deab096bbf362321b46207abc1e29eb8f3d0e5966a308a41c79b64f712bbb36b34104e2788c35d72ab33104629a077e1f7e6c0e27ce6c0881e49ea43fd4dceb8ec2998d2010738a521e7818b301049285796578cd9771328d1f902d4f3fc7261be42cdff00139e70f75b22aaea33bb2f105f1d2b947d9c3b03159a8d103a2e99f76745b1baf0ae62e087ee143c674c93bd61d5317c45c95d2a69c6da33a3217c4baeaaff8f33757615c904a5f3a3eaf83b1ec6e4165b9a8987c57ac69a75adc982af6276dcd5adb82105bf2b1677c74533db316e4b78fddbea931ce79202d885163f2819d75887d7816c4ece847473a2b749c2b0be2c7fa19af2b5ad8683516849fcbe954779739e28405592b8ee7eb64f015249ffcfc95e2a49277ae20c68ea398938d9dea8595d90a626a2e1d0b9552aece67b2a2bce85568ab82309e77bf37b976fc15073a15a820f7a74cc77e4f41cfa549b78ae92fbb823605b1e2e7a34b41cc56d239f88e11cd79a049c19767b47b6dc49da67838e8511c5aba98998276472da328081de4a9f864b09c922514241be970dff6281dd3a02046bdd0e6d14a3543f909b2ff4899740ce256567be2aa369b8bd4ae0b1a5ae2910cba13d79c20dfa774aaca75f9b1bd097238eb29f96ebeabc6d09a2058e8f84f071e857f3241bc10bb97d2afcdacc1253426486fde39f5275b31bb0b097d09b2574a29939758279f8c93d096207d103d799fe7aa2f461d85ae0429c6e8e043c754d1d1a84d684a90ad72c44c5a65760e7e424f821c7b4acdaeddfa75d089a12541d84a3b53cbfed82241f8ce9c177536cbc70f9b8ea02141aae4d3ef71b21453b27e04e13d4b6f3c55ebe3689923c8f1b8897afac0f693dd08c2666578c6495d9a11c4f461f8b82fb9b987f92288fee6deb221e3c7f1d98a20dee528ccd9f85abef4089d0892586cac9891e52e5d7fd18820d6f45d878e72a2e36b067d0862c7d4ebe9b84307226f0fda10644b59e35416d5afe4158210d3373dd7a5e92935353421481e7d3071ef9ebbd23308524a390cdf156ceddbfa410b82e8daaa695388d198d381204697ec388715537e17b30141aadc397ad0a0a973bcfba0ff40ccfd9d1c8f824b83f603392eeef5a57bd8f4596b2a741fc849b36d86b97d09cd0782b4bb67b4e98c41f5de0341f358943beff6525b0fa49bb0ac1bc767f3f750e83c78e301fb0e8436bfaf1c1b1f76a0ed40b08f62352f550e4387e10b741dc871901ecf817b9c72f637d074c89e03317233bbf6efacf62d079269e8eb9412a6f353c7a14dab35534f8d508b3b4dfdf87571f1a30b351cc8e19e798e2c2afffea3dfc0ed06a27e8bcfc717bb51b781e0d1079b3b956603397977ac7cbb2afde024f41a48b1a9f3d231e776bed540ea1cde88c8ed74f5d769207f1ce369b00e16d3e5d140928b31f24323cc73ce19c86a29efe57fb8b531871908261d2d2be57f4f39ca40ceb1dd5dce073a172603297df2f0ddb25f22346320768e3a4a77182dcd8b18485feea1eed241079fc3408afae8e3f30f367fbe6020544ef93b47e917c8e12daf630b31d5bb17c8fa3e1296e7ab1fcb2e10553487dd561f6846910b0471ed2d8b529539b52d10cecdb3254f0fe2632d902c574ef903d34f9f7ed15920ffbae5ab4ed50f3625b140bed4ecd165d771ea4de3425f81e8792ee48e27f7d03b6c0582679fd19ccf61c7c65b05928567bf857d773249a9408e6329b425578d0fe39c02e1a31c8c5dc61cb79d432990c2d2c7ac6935337217a2a1a3400ee7fc7763aa6bac770a0d056264b6c9b577ff0924d193fab072bbcdc309e4c0e475e3bcaae79b4098d48f8e1a7d9f6402293deef8d5cc7126b3049269bbcee6aea6cc29811ccac257dc9859472581bc1d87dab5ac90931e09e40f16a931dc5b85e508e4bffb7ed551974b1b81f4398ef7cc77911a17813c5bf12116b6cd934420254b61f3bf4297e68640dc3cd1f16d399597108829fb59d7c6ad3c834092f7ecea5309a4144dafda2a7996cc6358e24e636fff1f53b8d056a28da1e31e5757e70ec2a004297f1cb87850e7eb617e12a4ce2fbf63edfd61db189220ef6478540fc3880431c44396f88a8d010992868e62e2f3568f58334ae3ecaa6626ba2c47908386eb8a45f5d49bc16804c9728c8f83f9ffd7cf308254d1f13c4e6dd6f0513016b156aa3ff9eaded00f301441de8ee3437fcb39b01606d7018c44901a010622882127522c9674a4613e44d6d922d32faf3518601882ac495c3dd3a2967ed004188520cc7bd0f9d81ffe2104b96387cd696fd53d56b1b24a803108527b98c6921882408c4010fcf52c731c95371e0620c899dabd346ffa03951519695a661757ea0c30fc400cf6b11b83860e34458c3e1076358f7b3c971a34e70339f2cb59265a8c3d9c1eca8b82910752ea9f87171e3c9023b9acf4c9a30a96c1b883d98131ea40c8ee603f1cb352950e1d88f9dab5eaa3a2e2a2187320da77ea3fff8b51c58321077294d37ee8d53c8b99130762556e3491d613b528c662bca1d86ab55999980db57aadef55f724951e3b30dc408e2b65de5439b9a58fd306f285c7e14f65ba9442071b08fa3af141e650173d8bb106d2070f35cd6cf8bc4f510359d7573ade110ff3611869206ddeba0f272ad4721c0da41cf44d888b6db68fc63803f9634afab51654e52c186620e6857ffc9b6a34968c510672fa890cf9ebc1ec07061988e16d1ea5aee8a1ab3206624b7b95e50631c4404a16add25776549de230905335ca6b7dccfa390c30904f3fc7714e7229f3b55f2025cf3fe3e1d466de31bc404e1f899e99b9ff5c12a30be48e5bb7a3e6cb4a1363708120befb1d6fce9f1f47185b207a1c77c6bd180c2d90253cec7770bdf9ab62648118b2e39d7f947b75410c2c10df52c68e4865f4ff31807105f600461508a5679f534eb12e974a054277bebe8ed1c43faa604c6131a440ccfd39d2fda8993705230ac4f45cb7eed1fa45e7c0800229471d1a3267376cf0643e81e0e29e4f3aa89cbcfc8d02861308199a3adc9b3feb18c26802792d643ccd51a8b0361030984094fa1c195d8be1ab7387b104e2f5b644ebe4e68ca8fb058612c8e1c34bd951cd49351e024612c89a030f1d5bed7818a34402f9b2b378d413979acc2390c63bd8f7609bf6ac7218462047f3d7cce32986e90e0fa308e460a4e2e4c2538c8e2f0611486679d27f9ec118026308819424d7a3698e748ffc201032e694531fbf713b0e10c89fbf3c73ad5f12b7fc8014d1ffa2d6edd1d3f9801c7fbe53b0d44fde7f41bcf9cfcfae6fd1b1307a40deda4c9e72d0510e9e5d1037c7e1f2a672e8821c8a85b4643197bb7564e682f067aa1d4ec305693cda94dd5fd1e4e1dd2dc881590ee43b2d7fce38376c419c50b3ddbe510b72bcddd1347663ace4d282d4b6d135c79dde9c538d59f83eb326d2e93b7b4316a471bdb81c9edf3cc2462c4839f7e328256fc08228ee9269d6c177761aafc8edbe2b2ebb223a2ecb3633bbfb6774990f6db882fc9983c7180feb58635a41508f265610a6e3f03a7cb64cf5b2b10a62a8abf7ac9b69a882bcb751356eb5850d3752415679af38f991abd90d5490e3fe1c73e7fd74e81ba7207e283eef921ed387699882387e7b93e2d67ef92396825079bf3d2ffae58e1e222988e252b92aa4628fbfd71805793bece02fac949c45b8f2d0100531a78607b23b971a3e6e0a8d50903c108fc27a1ce3834e0314a420de1fef6610d73ce627c8e993c5b1f93064347ee809d2d77af01a5d9f6a19b7d1096d70a2bcf0406313c42463339add729acca109725eb18af0f84b3732412a4fd9b89921edf76c6082301d5f91c9ddf4526c5c82b0c92ce87ca0d95e6f5882701d8716a9982de5282156821835d7f7bcd47adb606850827449663d5ad3ec8fc34994c42f357ce568ad24c81d9a3fcc1a3a548a42a1110972ad8f6938b78fc76c40821cc7a13b8adf1d6dea0f9dd0780449536fa7b8fd118586230817f6b345f5d046902ac5f4a49a3489ce8e8c2057fccf67f933ff6dacb108f2859bf238639bc647431104171b378f88af90552311887c8597a98cb6baaa4587511ad6a1e3f2686920821b8720590a1ef9a6b49daf370c41fec91c8f6a78aa5b0b41909b760b1fa3fa53861064f3e0926545677d1cdb180439e8641e94479a6663419072fc51cca77f9473d003413cb51c5ee6342048b31f6636babcdf6bfe40d0cdaa10b9b6efb5fd404ea1d5366c471e5dde1a7d207ffa761cc5945a15d3e003b983f8722b8b58fb1d1b7b20a85ec890e59aab239bd0d003493a8e3ace6bd49618f340ddc66b68d8568d5a550d3c90ba7662da6d3b8cebef40a8f40eae53d60ef37fd8811c54c6b81e7db85107729c7f29b5b43ada36e840accf34f329afc5564a630ee4582f784e774797f7ae2107b2476afaf1ab61e6538d3890e398d3af4c5a356b3b68c081149f4e5ddc3e8a87c94668bc81143fa387fc7e9cfa6cfda2e10672fcf5cfe1a6abd106f26b5cab7c3a6d830d64b37e4bb9425d9cbdb1067294eda3a5cdb916b4861ac8610c95635cd90c554b1ac89b634bdfb1f454f4d74003a162434d4e01367841313278c10a16208100f82fe0010088c0d90494269046e600e63b0c91510838a0010508400ecc04140080111020000810400240a00001148117600100d8c006c60b0208a00001283728470635f0e200001800031250034f410a0e7064008322d48005367801118620844b0102281004205c0b6e808314a4200114f801413aaf7cf7f6a6b7c6aa4540011f1880025f1c80023d20995f480bfeb19ab10b720ef6f1a27330367e1d7a9b19ba2087513d8bf9352767e48218673fe8283ec23b2cfbb690810b92c796e6b2fdd8bb7ffcc9fd110919b720b586ce34796993e9d80919b6204db7cfcd8d5e4fe5a82b64d482a8f1b2d57458794347d865c8a005212577f6e673b787dd0d19b32087e9b23fbefc9fe3c89045371ed7ee7151177667c4823c926711953fd77994010b721844a7fc7352bc337e4690f10a52baf70e32e5382b3264b882301e4aa75df3b07c3dec325a41cc9a65da7e9fa7218b41062bc86955a953084bafc933564168cbc1ae58e6e0519517b8204315a4bb185169cb971d5100cc90910af2655a78b020ea41a60315e4be90ab480619a7207bb8ab94354857830c531075cb92569794a575b26e90510a72cc8e3c63aae4712c2f186490829029a37dc9f46fa58c5190d25ef2fd43f4764888d9017044862848531699ccf6bc66d34e019566648482645b3f53f5551f562acd0005a12c3a0e4d2fe3da734270199ff004667482501a9ea143e5f2cf3127089f738edc66624ec2dd045934585e738fb2675a13e4d0ba5ad25f4626749b8ef4d6902f35afc89c99720ce67edf6125c8c004c954ad73c847317af81997207dec81e707199620ca87de1267655482d8e1aa45e618c4ce2d9428bedbc5d47863df143226517fc76d39aa94b5e26b850c49541e2cc52a3775cc61831e43462452fb1caf4ac366ab54210312c4d6f15829b779365afe22e311ed6aeef0ca233afa3edb1154967eb855d1c2e7f0d1086cadddc2e56c076f5b790623de4f32661f34edb5bb087210513127153fea960c457cf966b331e767cb0ce8c848849d6c2de3e3cc9ca4e33e031144b9d4b9837ab1ad1e6b051987b0cd62bcdb2344442bca5f2dcdcbae25b3a49180aa065430c83004e1fa3e568bb57eb915827c2aff96e3fd50f7c3241b198420b8e445c5bc1e772c76c62048b19aa28b7655ca92c2902108bcddb252ab335d2a3e2eedf8547b6c50034158ab0fe3ba4865ec58053200419a74b368b577f9329d0293410d5290b57f282ffc40d8bc37dae221a73c4a0b32fa407c20a6940329cd41a4427f64ec819c633dcf71d238d765e88110ef729e926a8a0fe7813095369d24cfc00366dc81706f62d7314a3efc070776207b67e4c71d22d53dc5562da80339bae30bcb7e5943638a0ee48a7f755fef69c92b389803c134cdabffc72be2f916c881b4992ab7dd720c5badc049e085179b1107a278181e4754aaa440061c08e71fc5d99cde52aa76848c37d4f21d1ddff19d269f5d69eba63b64c717941cb806d85490e10652f82bebd02c2e3ed30a818c3610dc2cc33f07ae29ef560ab2d850cd8d74d46d749b8e3510b3d7234b51af3a0a0c5810810c3510e619d5a2595a6e5a13273da7fe559a43f78c3410a42ee3d459ea60d2460349f66e83878c36e7d18c3310f75a2ccf5968aece9b81786215173ebf0719fb3290fd63b1fa382b19c86df997c34b317494320682e5a044bef22b7876c4408ee1c2bad586d1dd8e30105a2bbae6f8e3cd170703f9547e5d3a8f5f2007dfe351df66d2d49817c8f19aa53ba5ffd4691748b145b32a7eb8b173647081d4a9c645dc73ca6167c61648d7f19dd9f36ae67701e8438616c8f963f32c769d4b1d6464811cf67a1e17df8e32cac082655ca14e906105d2a8a87d8e5a7bfba902e943ff782bae5dbd221588eaaa9dbede7ed2b4291c77dce179109d3b6eac35902105c2c648d7b25cb777499081cd88026be321ebf112276a59e220030a9af104f2c795cec1c20e4c21c309a4f8a14f9efdc779f5e5434613086e1632b996ec6ec632984085d564949d85b4aa65e62867cb94ed9c79ca58024144df623425792f8f0c25902e99da7f878f9fd292910492e8c485918104aa2f328e40eebcb31b9ba398ce304279e1818c22103fc533884052b9500f43ed875fef10c8db97d99f9e0c21103e66328ba6faf1bc20103afa6ac8f5eb4eeb0081e8a1e207e16debb71e3f2064464b75fe7bf61cfb80201d1f46d3982c658932bed8525334edf2c926bfcbf1cbd28c1e106fec4733577eb7f0ef82f49d6264d0f4a8880a4317644b9acf463e0a462ed2aa3ad7ae95ed4c4b1517790b82f787651dc43c8efa6d418e92a7e81fadaaf2f15a9092e7a43155488d7b396841880fd3e6984344657a16c4ec39c9d47ea7fb609505b92d3a76470f4d7396b120584729e66588eb9c3d5810534cef1cf3c798977c450e305c410ad1adabd49932e9ad3052eb64cf2c5f0a8315b80a555453955262d6f536a3658d0023158d0a425b5d4ad5319585d69c22314c41940d7e9bc30eaee662948234b9ef67259b03d50c29887155a43e4cf3e6bb8c8294c3185f3b8ab15b7b15055935f2b7ac0d056153f8f8833d57fb160314fd89c6f04463748298d297dff2426dc7cf097264105f8f4a3b65bd9b205c4c1fc7c2550c4313c4f8152a771e6bdb313241d49439fe595e4c10b5839ae598cc8edb2e11863ab8a33582200a411004411086822032d91da38070e150181083c3402048080a0301e1301808048dc260200882311044410c438b3855f99402e0d6f4c8e8b6225a77443ec62e1a6a05dd4eb3bff03fdbf235ea9b93d731c7d66ea7104f0869b4acf560f3d25cd0042697380f3d3de4a50510a930c29bd299fb0016c888861684fd3b0052e149d5e804fa070540f4acbcc9ff6d944dc9b559cd4a82ab104ec288953e4f24b1f8d9a5cd4c7aa6c09080062e06a555fb78d3762032f0319d639ab88141920f6e77e45b6dff4f0d6d8cdba0366f8af630c9d945c606a4deacca58a5e429d30cf5be8ab1e3029f4fca6e3bf6384e32d9bc4adb96307b31cfd8da22048e7c71664a84d94ba608e7801fb49ab455a868780711584c84961218426957b762536560ae957ae36704676d2877771b8fd4ccc17c65a926490de13a570b3b8eda567d158f5165afdc7c9b84ac85ad9d96612a406c5d7dcc5648ccbdccd3084cf2fefad42ab04a70a085c2d8984ae4265fb3e244e92ad54a8b409f39e3555305a1a2125c2bd1919608ecc02a903b9538198de09eb238e3c52d3fe990f97161a69ff0baf1842605c51406ba408e9cf43bc158a36d89faeda0989ae285b08c2a17ab1a3a289ab12f6128f861e3afa117e29f0c6a8687fd2aeb5abf7f274524a4fd299eb9e8f211aa9b7cc142583f4df0da73a150d7073de73300daf3501329ad7805909e7d311f7d3a07104d4dd3fdab23eeddd784334ac0fcbfc6339d18b201706232bd251eee3f270827b8bf25b5fc4099184bfc91d3b49c1c66e66220e3a046e146a108abcd6e9d747bc109615e8c78094552c421c1b438ccfc13d54ea5649d6b0616a337bb5514bd446be03e67f6c9ffdf5210ed5dc8126ca398ef2775482af76a4ed9d0f8d61fac8b526a8e424260fb479871a201ce7ca535cc02505f9ebe03a8f513d20043aa89e0e0be6863c1f84f956d9cb0966740fb1a2dfc0513f145088bc48c561465118aea1243e5099e99776bad39392b358285743eb2f5a49380d89c59da50cd2055c1a23a0c1a409d11d8d77807f2dbb314584bb7377898e3ceda2f89f8623f6cae72c8e42cab8e4d29b845eed34bacf55b00aef597e3131518870d924853c103cc8ffcf954a53ad068fbeb19936c076cc97193def4df34790cdd4acce5167675b03556268f975368aff02917b3969e545f338e6f25fffec59bc1aed543757bbdf3ff98bfd7a854138b72ce01b95d678b96fefb204b0a0d473e58e6eeb50768b2190a7cf853dd6b344010026711ff7f2da6032a958e398a2cbcd62b0ce8c8913a85ebead81914b1afde238ef501290216d096d6a79c47def1260779f31e91269614191866b79167a28af16bb5336ac61cd2cc49e9353d9509e8635ba19b48ad7323a5af96737ccb91716744b2c44294392fae0d72032860cae2c1a17d0a6837ba4f96d84c369327ebec9aac42d673419efc0b6824e2bb06dd040adab73c00d0d5f1e8e19c82460c1a1f99c96138539a9043b918fbdf021b5d045c6793fa400128828a32dbd5002fa6d9af8a65a8e1b1b9797ba2cc674810a4bbc15c40cc2e2de6ab40548b6e8c7027f42c860d8636f1fbe4e7025429ad06594449db0b486301a29792aeeee3674a506ca57e5d6960dcea5392a2b50c51fe5eb93edd071eed4d5731b4a44c1956be1f7fccb0b9dce1ad227176f32a62a1ea3f417fedcac433ed2d6174a98a59fe5e57c01b98596de042592e8a67aaba1dc80dfe1416f61ab74cb97fc8b322654f4054e0f04e573ecf73a027a8128c2134804e0450a146204457322cdbab48abcabaa8c671faa5a9a6f4090a4d7823d675fb7e96872c80afc9c13f8cbc48e950d6c555263d20e757e125a2f033a4da78a8d214b8f18b25fede3e3681dff66ee011467f4a8a64b24d3916de3c69ab391c08146d1c219253f45ba0784a459569543b25b0ad5e4860793a48bc1b58ba352a7a956cda2ee2287b557962b6e172401710fafefa8bef8c6f25cc70309bb184f7007e1182ba1ee053190d105d82fadf35377937da34684214e7ef58d4ffbfde23344fed062e10346fb73d97d1ca3790324cb527a819941a8e3696d5c6b4c06267c524b43bcf44649acd191b4cfdbd9259623a0e0d4a7903f69a5a52e60124ec567e4233a132bf6af1468b95d702e4c6a1964adb84bd7629fc97ee3c60b0233fc24bc44d19ecacdda6a1a984a68dffaeb77d8d9be1e1de2750cab3e54af524a632f7ecbfb6ba6c61da61899579f3914cf27c49dc13704c36ffbeabc7f62b7058a1314df508db2846c767b778a3ec639088ae23eb185e20a2261eeb55e1194b7f253fe64c9b9f6662bf88bb1506c4d62f740ea2a03ed1d8da6edd450a93d8948b937f264d53c1dbf4a5abc014256ce0ca05e79df29a71aa8b10680a95404f557375c21bb1c5732c0640569b44cf8d1e29c733623bac820d3be7226a651895b8e3c8b0e6596e83eda253cb2462be4af9042041ba8cf50453d0f0656e41f1df459ff16401e60014d8e9fb92df29a26dd5f8ec8f97e9bf4027219cb2ef379942cc377ee099b042fc3c8fa58a5ae73c11d8b6ca82d05e866e64154d8d7a16ceb324f7bdd7492b11588c07422d0e459549cc2de36d1507864056009f17a7d89f3a6bcd088f6405205ea68db1955f4d4b4e170aea03c4f48af9bbef5e5a0de99360243b5f3720768b8c88a06fe867f1e994241b49d459ffcb4055465c5a442e080f0f9b025d4a62f472120ab376c1431574deb9567249ae1819cbe5f2174eacdd71d17d06e5d4c4e3174cac3f12c851009cf529070ec4c80450e70ae66a01b86df12efb17e675f8ae637b40725462734a55aec6d7a353e237a51854cd1f6acc0362ca0a40ea7f162a781bdc1676aecc9a3b216be2e27b398e43429cdbc11fdcd727e0c063a368e42a4f7bcb02066b45996361cb9fb24d35cffab8845495a32bdf4ca04315342c002ff8ce27e7c129a869f48d18556d74e3ad4be8f509f5a8fea1568f0685a8895493e50c02415a9edd8dee3289ecf554a52ab50da6a05272a338774877e54caee1e39c2e6ce07129115579187c5c445d661d85906cd74cf58ff34bd5a0994674426346269d4623124092ac0bdaec06a9782f4ac9bc584e8deedaa2b7d9894b578799a98c8296d770840e6437c90aaa6b51cc2c69e71b9fd298e2a9468bd9ec13bd406da345a54a3f9853ed756a54db480b45265e45da1c5eb49a5f947c73b6584f8c85848dc691109170a4d93ec6230a655080ea91175647a9644af4f12426cb66d4136f81e5015d7675f8e0f9d4bf55130c8bd7128435dbbb5e49ad02d1a0b88c80ea01a9ebe265671529c37ae95c29e5d8882b5dd8311a5e821259a1851c9d53151fdb40adbc7e96e082831a12e89460cb6e36b03f6ef5a1fba10a047ef3f6279ad9891ebb07f80ee72d287f7ac5018b579d27e3f27bcb3e239d52ab99ac447a50116cb4f2182ef284596cbb285e5c7c089c209622608799d4d00b4253eff0de7e64cede07e0574754c2eab4138796b436a03544b040e2e93f224f49de0bef837730ca0dfc3636db3f1677a403201e7bbb0f7d0259b5d8f355d7f02ce51ac74afd554db49ccb9bea0968c6f37d336cda889d30da213aee8063222c1eb1404596313406a31ea8cb17bfa26c18de6ca9e1e07aa636247b4538ff43f51a52fc0bab105b8168bb85f255710632e095932bf9af71811012254951ce91a00036459aeb54310c701f90031bb645fb6c3d4becddb104f403b11771317b0009c14e089c4d3dd07d11e45a4099b7614225239365effdd919006263e5673816c51746070a9934b55eab9c56b1594f3966d55b909912180fe5ac601c6ff4a78672a69ac6906f179fab2951b76764a7a30a81182ba56e372a21a3945d0acb4559782a75ac8c5c0218ce225dd59b2d815f754ab82c1dba95640798e07cfc54eb3dfa8d612d0f03896b0f6633fef5f9e5f09ada1dfff826799057737f102d0fbd879b89697f2e06ba41f5a33a4023b8cbd2c3913f1f90ccc72d2935531f8e5ff617aa7e26c01b0b905c270da6d68293a04d3b86960847d57a4d8660ed599bde48152857b9abd2ef36fdf9112eb1efb01e94aa3b5ddc1c544a5242e4978bfd5244fe79da6b1a819fb84923f845d83821c0f48ab21ed6cca611fc818b34625fff26875ddef2f314129414318876f8d80ef9777f797aa27ff844a8809910c4aefc33647f4003900273bf6ff76b3fe1f5ea11e5f964537a818acd136d044cc899e3886d8f20429680567a3718a4d985cf70f8d1e3f997dd45e0bdbab8b9f8ee5a9410c748f29271c699c4c070d072895b573062780ad0b8ad903baa7f418b4f5a5a8958905d5795c2cc02895975b2dacce8c42e98931329562da32f829ca0375279688bd312235e7bd546b11f983076e4ff7115cbce76bf837735e9cc5644b273fb9e20465b1380d14693c0b4e2a55bd7cde268fd8900a94e28202c5ffec9b0a97ccb8b9e4b61a4549479006dcd89853abbeae3b9edfa2933e3d4bd43452b6759b45c073982ca89c1d5e81bc07c07063c965d804a5daa0b2e3e974b65d91de63ac40b1d9c9fa3140315dfeba3594572db71480eb8f9f99231a31cd072ed598bbd0995498e3d220b8a431152b6d76c7285c2731a53915221aeb26131417ad155844048cd93b0185ffb8efc0c33eb9689d4da459fd13223c8706cc05b63963b9784116a41cd91f21af8bb53c215a256c86e4e0468778904dacab633f084a3f9ebc57132327a12c5a152a2ce2dedc2e1cd8be43daf52b9b1123f896e2512da94ea5140664de4b825628ecdb19300fd02fad5a5a5a8387eee7ecd277bf0fcd59aaa82652af0382a93d0b332f6d18dd3c377c6903d4e275a8630b7ca721e73c78162280409a39aed666c904be3b3441131a7ccbd84c3565b5035f0d5bd47e55a266b1b296a1a50e2d5faea10c35ed180853fdfe2e365ce081402ff46cc193b59e1ee896b7f4fc1b88927a1f3b50087aa58c7feac44bbb0abf073091f4d9ea1fd5bf22459a02228472fb2352799a76fa931f50d25560779e8df9fe0e92625265a15f5106cf3a8b20b95906a474ec529b204e95dbf452556048561987e5c254543df83a80a68eebc823020aaf6e6cb5c599f8de92aad3682910a8b537342dea7494a8a975b9fb074f8ead1bbe01f0f0e09643bd65fbfa421db8423bee0c9e5e272466e7b84abfff74b8b940a9e053f0a2d1eedc4081036e80886a8850a1d5cd3ee427ae20438073e162e2c221e0e5bfd32650bc56d3f9cb114e4ba21a75ac5499c2c0e55b0562673a82c5dfc0a8b3fac2065db1476b1ae5074c62bcc10e5be8d75f6a15697077c86591e51ae8681201c74200c96cb3407cf4e32cc8e4c6ac5b3dec6cc6e8e2dd0714aaed0414c502d8f7e736f7c662ec286e8584547c280f2401337b187bab8e99bb5639cc3915ed22127365ee737f7c6f766a79a7c931dd4cc1bae36573d1e50f71054b7231f4160b8da39af6638e85d63d692904c906184d329821abad0a3228ffd74cb1a1979db2292f108708a6b74844dd0649a5bdc1c9f9baba133e9f4f4668141b27f3754484237711362ba752a5155461cd03d9c61d1699e662ffac81cc32e6be286eee026d9001fe5614338499004b5e4dc231be4a19bb8a17bb00387fe92415cdc367ebe39817518153003d4cb9bae0696607254b3538c0bc037f800f9538a2c9109204c728410492ef9d9dfffae17630aba24250a65bd9f2091fee749f51948d5ca978b334b920a75225e304d61a0942cfb68150f1f21182b9ea0c3803388a1da716603045956bcd96aa4ca22f2930401b51f8158591bb4d6c4be750256fe46d70469b1ac68453f4253c21f2364de31a1f76cd96e960d615fd4c308fd595d21252849417a3ab46942819110487dbf8588545d12b7fbe9b9a10333a5ec60fe329c75dff18c57fdc6787fbd04f9179f851b116651472fccf90538530c2db0aefcc9ae4466fa50c167bca161e0260119998b0b15d6ec21198cc2304329dc8c0c975846f8ff6f64c7b30cb62975eae1837eb2dd98a9a875fb266c0d7876c7e1140732c2ca96cecbbc0f55800e600ee805404b2a2981c972955fa6b6b509ef6ba68c05981df77ad84136e279696ab671db489049e759a0a5c3061882345cd761202143be13b752d8f1a316e09ea4f56397db4483bbb827ae2a18c08d80501dac72f0308cb5ffa976c00240937df9e222c8baef6385d01caffc45ff6b3eca5edf312099d16a1de144cbbe2383f4b61d3e2a425cefd2064a7133e71890c30c15799398afeeaa789c90d081031dc09bef407078dbf5c9ddeca1acd68e264997f3a873ad6dfd3f1bb647c9828c36e40850a7852e04b0ce5cd0944316234075b09063dd01f00a8501a3b80bd318b0989f0af37b4b6278e4168a8d52eebe7cbbbd2fbfe6acfe0230685e2299af6e07cf3b2b3b648dcacb33c1fc2a5f3984648e4508", + "0x3a65787472696e7369635f696e646578": "0x00000000", + "0x3c311d57d4daf52904616cf69648081e4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x3c311d57d4daf52904616cf69648081e5e0621c4869aa60c02be9adcc98a0d1d": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", + "0x3f1467a096bcd71a5b6a0c8155e20810308ce9615de0775a82f8a94dc3d285a1": "0x01", + "0x3f1467a096bcd71a5b6a0c8155e208103f2edf3bdf381debe331ab7446addfdc": "0x000064a7b3b6e00d0000000000000000", + "0x3f1467a096bcd71a5b6a0c8155e208104e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x45323df7cc47150b3930e2666b0aa3134e7b9012096b41c4eb3aaf947f6ea429": "0x0200", + "0x57f8dc2f5ab09467896f47300f0424384e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x57f8dc2f5ab09467896f47300f0424385e0621c4869aa60c02be9adcc98a0d1d": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", + "0x6dd12b3ae7975bb95f841f4505bc193c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x7474449cca95dc5d0c00e71735a6d17d4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x79e2fe5d327165001f8232643023ed8b4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x7b3237373ffdfeb1cab4222e3b520d6b4e7b9012096b41c4eb3aaf947f6ea429": "0x0500", + "0xb8753e9383841da95f7b8871e5de32694e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xc2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x0000b0d86b9088a60000000000000000", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3518366b5b1bc7c99d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3a647e755c30521d38eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0x8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", + "0xcec5070d609dd3497f72bde07fc96ba04e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950391c80dfcd87103c6175726180d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d": "0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950b1f8315351e09c7d61757261808eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48": "0x8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", + "0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", + "0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a488eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", + "0xd57bce545fb382c34570e5dfbf338f5e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xd5e1a2fa16732ce6906189438c0a82c64e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xe38f185207498abb5c213d0fb059b3d84e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xe38f185207498abb5c213d0fb059b3d86323ae84c43568be0d1394d5d0d522c4": "0x05000000", + "0xf0c365c3cf59d671eb72da0e7a4113c44e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xf52655874ffe10d91f60f35a7739938b4e7b9012096b41c4eb3aaf947f6ea429": "0x0000" + }, + "childrenDefault": {} + } + } +} diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/pov_recovery.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/pov_recovery.rs index 059670eacbe7c..5c0b2e1236cf2 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/pov_recovery.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/pov_recovery.rs @@ -151,14 +151,14 @@ async fn build_network_config() -> Result { } } })) - .with_node(|node| { + .with_validator(|node| { node.with_name("validator-0").validator(true).with_args(vec![ ("-lparachain::availability=trace,sync=info,parachain=debug,libp2p_mdns=debug,info").into(), ]) }); (1..validator_cnt).fold(r, |acc, i| { - acc.with_node(|node| { + acc.with_validator(|node| { node.with_name(&format!("validator-{i}")).with_args(vec![ ("-lparachain::availability=trace,sync=debug,parachain=debug,libp2p_mdns=debug").into(), ("--reserved-only").into(), diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/rpc_collator_build_blocks.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/rpc_collator_build_blocks.rs index 819e99f68f15d..3348f6cdd3aae 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/rpc_collator_build_blocks.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/rpc_collator_build_blocks.rs @@ -108,12 +108,12 @@ async fn build_network_config() -> Result { .with_default_command("polkadot") .with_default_image(images.polkadot.as_str()) .with_default_args(vec![("-lparachain=debug").into()]) - .with_node(|node| node.with_name("alice")) - .with_node(|node| node.with_name("bob")) - .with_node(|node| node.with_name("charlie")) - .with_node(|node| node.with_name("one").validator(false)) - .with_node(|node| node.with_name("two").validator(false)) - .with_node(|node| node.with_name("three").validator(false)) + .with_validator(|node| node.with_name("alice")) + .with_validator(|node| node.with_name("bob")) + .with_validator(|node| node.with_name("charlie")) + .with_validator(|node| node.with_name("one").validator(false)) + .with_validator(|node| node.with_name("two").validator(false)) + .with_validator(|node| node.with_name("three").validator(false)) }) .with_parachain(|p| { p.with_id(PARA_ID) diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/runtime_upgrade.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/runtime_upgrade.rs index f890011e57d4b..14c0703e457d1 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/runtime_upgrade.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/runtime_upgrade.rs @@ -73,8 +73,8 @@ async fn build_network_config() -> Result { .with_default_command("polkadot") .with_default_image(images.polkadot.as_str()) .with_default_args(vec![("-lparachain=debug").into()]) - .with_node(|node| node.with_name("alice")) - .with_node(|node| node.with_name("bob")) + .with_validator(|node| node.with_name("alice")) + .with_validator(|node| node.with_name("bob")) }) .with_parachain(|p| { p.with_id(PARA_ID) diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/statement_store.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/statement_store.rs index 988441b15b835..87a46107f8a3f 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/statement_store.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/statement_store.rs @@ -4,56 +4,21 @@ // Test that people-westend enables the statement store in the node and that statements are // propagated to peers. -use anyhow::anyhow; +use std::time::Duration; + use sp_core::{Bytes, Encode}; -use zombienet_sdk::{subxt::ext::subxt_rpcs::rpc_params, NetworkConfigBuilder}; +use sp_statement_store::{SubmitResult, Topic, TopicFilter}; +use zombienet_sdk::subxt::ext::subxt_rpcs::rpc_params; + +use crate::zombie_ci::statement_store_bench::{get_keypair, spawn_network}; #[tokio::test(flavor = "multi_thread")] async fn statement_store() -> Result<(), anyhow::Error> { let _ = env_logger::try_init_from_env( env_logger::Env::default().filter_or(env_logger::DEFAULT_FILTER_ENV, "info"), ); - // images are not relevant for `native`, but we leave it here in case we use `k8s` some day - let images = zombienet_sdk::environment::get_images_from_env(); - - let config = NetworkConfigBuilder::new() - .with_relaychain(|r| { - let r = r - .with_chain("westend-local") - .with_default_command("polkadot") - .with_default_image(images.polkadot.as_str()) - .with_default_args(vec!["-lparachain=debug".into()]) - // Have to set a `with_node` outside of the loop below, so that `r` has the right - // type. - .with_node(|node| node.with_name("validator-0")); - - (1..6).fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) - }) - .with_parachain(|p| { - p.with_id(2400) - .with_default_command("polkadot-parachain") - .with_default_image(images.cumulus.as_str()) - .with_chain("people-westend-local") - .with_default_args(vec![ - "--force-authoring".into(), - "-lparachain=debug".into(), - "--enable-statement-store".into(), - ]) - .with_collator(|n| n.with_name("charlie")) - .with_collator(|n| n.with_name("dave")) - }) - .with_global_settings(|global_settings| match std::env::var("ZOMBIENET_SDK_BASE_DIR") { - Ok(val) => global_settings.with_base_dir(val), - _ => global_settings, - }) - .build() - .map_err(|e| { - let errs = e.into_iter().map(|e| e.to_string()).collect::>().join(" "); - anyhow!("config errs: {errs}") - })?; - let spawn_fn = zombienet_sdk::environment::get_spawn_fn(); - let network = spawn_fn(config).await?; + let network = spawn_network(&["charlie", "dave"], 8).await?; assert!(network.wait_until_is_up(60).await.is_ok()); let charlie = network.get_node("charlie")?; @@ -64,40 +29,40 @@ async fn statement_store() -> Result<(), anyhow::Error> { // Create the statement "1,2,3" signed by dave. let mut statement = sp_statement_store::Statement::new(); + let topic: Topic = [0u8; 32].into(); // just a dummy topic statement.set_plain_data(vec![1, 2, 3]); - let dave = sp_keyring::Sr25519Keyring::Dave; - statement.sign_sr25519_private(&dave.pair()); + statement.set_topic(0, topic); + statement.set_expiry_from_parts(u32::MAX, 0); + let dave = get_keypair(0); + statement.sign_sr25519_private(&dave); let statement: Bytes = statement.encode().into(); + // Subscribe to statements with topic "topic" to dave. + let stop_after_secs = 20; + let mut subscription = dave_rpc + .subscribe::( + "statement_subscribeStatement", + rpc_params![TopicFilter::MatchAll(vec![topic].try_into().expect("Single topic"))], + "statement_unsubscribeStatement", + ) + .await?; // Submit the statement to charlie. - let _: () = charlie_rpc.request("statement_submit", rpc_params![statement.clone()]).await?; - - // Ensure that charlie stored the statement. - let charlie_dump: Vec = charlie_rpc.request("statement_dump", rpc_params![]).await?; - if charlie_dump != vec![statement.clone()] { - return Err(anyhow!("Charlie did not store the statement")); - } - - // Query dave until it receives the statement, stop if 20 seconds passed. - let query_start_time = std::time::SystemTime::now(); - let stop_after_secs = 20; - loop { - let dave_dump: Vec = dave_rpc.request("statement_dump", rpc_params![]).await?; - if !dave_dump.is_empty() { - if dave_dump != vec![statement.clone()] { - return Err(anyhow!("Dave statement store is not the expected one")); - } - break; - } + let _: SubmitResult = + charlie_rpc.request("statement_submit", rpc_params![statement.clone()]).await?; - let elapsed = - query_start_time.elapsed().map_err(|_| anyhow!("Failed to get elapsed time"))?; - if elapsed.as_secs() > stop_after_secs { - return Err(anyhow!("Dave did not receive the statement in time")); - } + let statement_bytes = + tokio::time::timeout(Duration::from_secs(stop_after_secs), subscription.next()) + .await + .expect("Should not timeout") + .expect("Should receive") + .expect("Should not error"); - tokio::time::sleep(core::time::Duration::from_secs(1)).await; - } + assert_eq!(statement_bytes, statement); + // Now make sure no more statements are received. + assert!(tokio::time::timeout(Duration::from_secs(stop_after_secs), subscription.next()) + .await + .is_err()); + log::info!("Statement store test passed"); Ok(()) } diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/statement_store_bench.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/statement_store_bench.rs index a284344ec703a..ee0b539264d46 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/statement_store_bench.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/statement_store_bench.rs @@ -5,12 +5,22 @@ use anyhow::anyhow; use codec::{Decode, Encode}; +use futures::stream::{FuturesUnordered, StreamExt}; use log::{debug, info, trace}; use sc_statement_store::{DEFAULT_MAX_TOTAL_SIZE, DEFAULT_MAX_TOTAL_STATEMENTS}; -use sp_core::{blake2_256, sr25519, Bytes, Pair}; -use sp_statement_store::{Channel, Statement, Topic}; -use std::{cell::Cell, collections::HashMap, time::Duration}; -use tokio::time::timeout; +use sp_core::{blake2_256, hexdisplay::HexDisplay, sr25519, Bytes, Pair}; +use sp_statement_store::{ + statement_allowance_key, Channel, Statement, StatementAllowance, SubmitResult, Topic, + TopicFilter, +}; +use std::{ + cell::Cell, + collections::HashMap, + path::{Path, PathBuf}, + sync::Arc, + time::Duration, +}; +use tokio::{sync::Barrier, time::timeout}; use zombienet_sdk::{ subxt::{backend::rpc::RpcClient, ext::subxt_rpcs::rpc_params}, LocalFileSystem, Network, NetworkConfigBuilder, @@ -20,10 +30,9 @@ const GROUP_SIZE: u32 = 6; const PARTICIPANT_SIZE: u32 = GROUP_SIZE * 8333; // Target ~50,000 total const MESSAGE_SIZE: usize = 512; const MESSAGE_COUNT: usize = 1; -const MAX_RETRIES: u32 = 100; const RETRY_DELAY_MS: u64 = 500; -const PROPAGATION_DELAY_MS: u64 = 2000; -const TIMEOUT_MS: u64 = 3000; +const SUBSCRIBE_TIMEOUT_SECS: u64 = 200; +const RPC_POOL_SIZE: usize = 10000; /// Single-node benchmark. /// @@ -44,18 +53,22 @@ async fn statement_store_one_node_bench() -> Result<(), anyhow::Error> { ); let collator_names = ["alice", "bob"]; - let network = spawn_network(&collator_names).await?; + let network = spawn_network(&collator_names, PARTICIPANT_SIZE).await?; info!("Starting statement store benchmark with {} participants", PARTICIPANT_SIZE); let target_node = collator_names[0]; let node = network.get_node(target_node)?; - let rpc_client = node.rpc().await?; - info!("Created single RPC client for target node: {}", target_node); + + let mut rpc_pool = Vec::with_capacity(RPC_POOL_SIZE); + for _ in 0..RPC_POOL_SIZE { + rpc_pool.push(node.rpc().await?); + } + info!("Created RPC connection pool with {} connections to {}", RPC_POOL_SIZE, target_node); let mut participants = Vec::with_capacity(PARTICIPANT_SIZE as usize); for i in 0..(PARTICIPANT_SIZE) as usize { - participants.push(Participant::new(i as u32, rpc_client.clone())); + participants.push(Participant::new(i as u32, rpc_pool[i % RPC_POOL_SIZE].clone())); } let handles: Vec<_> = participants @@ -94,22 +107,33 @@ async fn statement_store_many_nodes_bench() -> Result<(), anyhow::Error> { ); let collator_names = ["alice", "bob", "charlie", "dave", "eve", "ferdie"]; - let network = spawn_network(&collator_names).await?; + let network = spawn_network(&collator_names, PARTICIPANT_SIZE).await?; info!("Starting statement store benchmark with {} participants", PARTICIPANT_SIZE); - let mut rpc_clients = Vec::new(); + let mut rpc_pools: Vec> = Vec::new(); + for &name in &collator_names { let node = network.get_node(name)?; - let rpc_client = node.rpc().await?; - rpc_clients.push(rpc_client); + let mut pool = Vec::with_capacity(RPC_POOL_SIZE); + for _ in 0..RPC_POOL_SIZE { + pool.push(node.rpc().await?); + } + rpc_pools.push(pool); } - info!("Created RPC clients for {} collator nodes", rpc_clients.len()); + + info!( + "Created RPC connection pool: {} connections x {} nodes = {} total", + RPC_POOL_SIZE, + collator_names.len(), + RPC_POOL_SIZE * collator_names.len() + ); let mut participants = Vec::with_capacity(PARTICIPANT_SIZE as usize); for i in 0..(PARTICIPANT_SIZE) as usize { - let client_idx = i % collator_names.len(); - participants.push(Participant::new(i as u32, rpc_clients[client_idx].clone())); + let node_idx = i % collator_names.len(); + let conn_idx = (i / collator_names.len()) % RPC_POOL_SIZE; + participants.push(Participant::new(i as u32, rpc_pools[node_idx][conn_idx].clone())); } info!( "{} participants were distributed across {} nodes: {} participants per node", @@ -153,54 +177,65 @@ async fn statement_store_memory_stress_bench() -> Result<(), anyhow::Error> { env_logger::Env::default().filter_or(env_logger::DEFAULT_FILTER_ENV, "info"), ); - let collator_names = ["alice", "bob", "charlie", "dave", "eve", "ferdie"]; - let network = spawn_network(&collator_names).await?; - - let target_node = collator_names[0]; - let node = network.get_node(target_node)?; - let rpc_client = node.rpc().await?; - info!("Created single RPC client for target node: {}", target_node); - let total_tasks = 64 * 1024; let payload_size = 1024; let submit_capacity = DEFAULT_MAX_TOTAL_STATEMENTS.min(DEFAULT_MAX_TOTAL_SIZE / payload_size) as u64; let statements_per_task = submit_capacity / total_tasks as u64; + + let collator_names = ["alice", "bob", "charlie", "dave", "eve", "ferdie"]; + let network = spawn_network(&collator_names, total_tasks).await?; + + let target_node = collator_names[0]; + let node = network.get_node(target_node)?; + let mut rpc_pool = Vec::with_capacity(RPC_POOL_SIZE); + for _ in 0..RPC_POOL_SIZE { + rpc_pool.push(node.rpc().await?); + } + info!("Created RPC connection pool with {} connections to {}", RPC_POOL_SIZE, target_node); + let num_collators = collator_names.len() as u64; let propogation_capacity = submit_capacity * (num_collators - 1); // 5x per node let start_time = std::time::Instant::now(); - info!("Starting memory stress benchmark with {} tasks, each submitting {} statements of {}B payload, total submit capacity per node: {}, total propagation capacity: {}", - total_tasks, statements_per_task, payload_size, submit_capacity, propogation_capacity); + info!( + "Starting memory stress benchmark with {} tasks, each submitting {} statements of {}B payload, total submit capacity per node: {}, total propagation capacity: {}", + total_tasks, statements_per_task, payload_size, submit_capacity, propogation_capacity + ); - for _ in 0..total_tasks { - let rpc_client = rpc_client.clone(); + for idx in 0..total_tasks { + let rpc_client = rpc_pool[idx as usize % RPC_POOL_SIZE].clone(); tokio::spawn(async move { - let (keyring, _) = sr25519::Pair::generate(); + let keyring = get_keypair(idx); let public = keyring.public().0; for statement_count in 0..statements_per_task { let mut statement = Statement::new(); - let topic = - |idx: usize| blake2_256(format!("{idx}{statement_count}{public:?}").as_bytes()); + let topic = |idx: usize| -> Topic { + blake2_256(format!("{idx}{statement_count}{public:?}").as_bytes()).into() + }; statement.set_topic(0, topic(0)); statement.set_topic(1, topic(1)); statement.set_topic(2, topic(2)); statement.set_topic(3, topic(3)); + statement.set_expiry_from_parts(u32::MAX, statement_count as u32); statement.set_plain_data(vec![0u8; payload_size]); statement.sign_sr25519_private(&keyring); loop { let statement_bytes: Bytes = statement.encode().into(); let Err(err) = rpc_client - .request::<()>("statement_submit", rpc_params![statement_bytes]) + .request::("statement_submit", rpc_params![statement_bytes]) .await else { break; // Successfully submitted }; if err.to_string().contains("Statement store error: Store is full") { - info!("Statement store is full, {}/{} statements submitted, `statements_per_task` overestimated", statement_count, statements_per_task); + info!( + "Statement store is full, {}/{} statements submitted, `statements_per_task` overestimated", + statement_count, statements_per_task + ); break; } @@ -299,7 +334,10 @@ async fn statement_store_memory_stress_bench() -> Result<(), anyhow::Error> { let total_submitted: u64 = submitted_metrics.iter().map(|(_, count, _)| *count).sum(); if total_submitted == submit_capacity * num_collators { - info!("Reached total submit capacity of {} statements per node in {}s, benchmark completed successfully", submit_capacity, elapsed); + info!( + "Reached total submit capacity of {} statements per node in {}s, benchmark completed successfully", + submit_capacity, elapsed + ); break; } } @@ -307,31 +345,96 @@ async fn statement_store_memory_stress_bench() -> Result<(), anyhow::Error> { Ok(()) } -/// Spawns a network using a custom chain spec (people-rococo-spec.json) which validates any signed -/// statement in the statement-store without additional verification. -async fn spawn_network(collators: &[&str]) -> Result, anyhow::Error> { +/// Creates a custom chain spec with injected statement allowances. +/// +/// Returns the path to the temporary chain spec file. +/// +/// The chain spec template generates by: +/// `polkadot-parachain build-spec --chain people-westend-local --raw` +fn create_chain_spec_with_allowances( + participant_count: u32, + base_dir: &Path, +) -> Result { + let chain_spec_template = include_str!("people-westend-local-spec.json"); + let mut chain_spec: serde_json::Value = serde_json::from_str(chain_spec_template) + .map_err(|e| anyhow!("Failed to parse chain spec JSON: {}", e))?; + let genesis = chain_spec + .get_mut("genesis") + .and_then(|g| g.get_mut("raw")) + .and_then(|r| r.get_mut("top")) + .and_then(|t| t.as_object_mut()) + .ok_or_else(|| anyhow!("Failed to access genesis.raw.top in chain spec"))?; + + // Use static maximum values for benchmarks + let allowance = StatementAllowance { max_count: 100_000, max_size: 1_000_000 }; + let allowance_hex = format!("0x{}", HexDisplay::from(&allowance.encode())); + info!("Injecting statement allowance: {:}", allowance_hex); + for idx in 0..participant_count { + let keypair = get_keypair(idx); + let account_id = keypair.public(); + + let storage_key = statement_allowance_key(account_id.0); + let storage_key_hex = format!("0x{}", HexDisplay::from(&storage_key)); + + genesis.insert(storage_key_hex, serde_json::Value::String(allowance_hex.clone())); + } + + let chain_spec_path = base_dir.join("people-westend-custom.json"); + let chain_spec_json = serde_json::to_string_pretty(&chain_spec) + .map_err(|e| anyhow!("Failed to serialize chain spec: {}", e))?; + + std::fs::write(&chain_spec_path, chain_spec_json) + .map_err(|e| anyhow!("Failed to write chain spec to file: {}", e))?; + + info!("Created custom chain spec at: {}", chain_spec_path.display()); + + Ok(chain_spec_path) +} + +/// Spawns a network using a custom chain spec with injected statement allowances. +pub async fn spawn_network( + collators: &[&str], + participant_count: u32, +) -> Result, anyhow::Error> { assert!(collators.len() >= 2); let images = zombienet_sdk::environment::get_images_from_env(); + + let base_dir = std::env::var("ZOMBIENET_SDK_BASE_DIR") + .ok() + .map(PathBuf::from) + .unwrap_or_else(|| std::env::temp_dir().join(format!("zombienet-{}", std::process::id()))); + std::fs::create_dir_all(&base_dir) + .map_err(|e| anyhow!("Failed to create base directory: {}", e))?; + + let chain_spec_path = create_chain_spec_with_allowances(participant_count, &base_dir)?; + // Headroom for the ~5,000 subscriptions that + // actually end up on each pooled conn (500 participants * 10 subscriptions each) + let max_subs_per_conn = PARTICIPANT_SIZE / RPC_POOL_SIZE as u32 * 16; + let config = NetworkConfigBuilder::new() .with_relaychain(|r| { - r.with_chain("rococo-local") + r.with_chain("westend-local") .with_default_command("polkadot") .with_default_image(images.polkadot.as_str()) .with_default_args(vec!["-lparachain=debug".into()]) - .with_node(|node| node.with_name("validator-0")) - .with_node(|node| node.with_name("validator-1")) + .with_validator(|node| node.with_name("validator-0")) + .with_validator(|node| node.with_name("validator-1")) }) .with_parachain(|p| { let p = p .with_id(2400) + .with_chain_spec_path(chain_spec_path.to_str().expect("Valid UTF-8 path")) .with_default_command("polkadot-parachain") .with_default_image(images.cumulus.as_str()) - .with_chain_spec_path("tests/zombie_ci/people-rococo-spec.json") .with_default_args(vec![ "--force-authoring".into(), - "-lstatement-store=info,statement-gossip=info,error".into(), + "--max-runtime-instances=32".into(), + "-linfo,statement-store=info,statement-gossip=info".into(), "--enable-statement-store".into(), - "--rpc-max-connections=50000".into(), + format!("--rpc-max-connections={}", PARTICIPANT_SIZE + 1000).as_str().into(), + format!("--rpc-max-subscriptions-per-connection={max_subs_per_conn}") + .as_str() + .into(), ]) // Have to set outside of the loop below, so that `p` has the right type. .with_collator(|n| n.with_name(collators[0])); @@ -340,9 +443,8 @@ async fn spawn_network(collators: &[&str]) -> Result, a .iter() .fold(p, |acc, &name| acc.with_collator(|n| n.with_name(name))) }) - .with_global_settings(|global_settings| match std::env::var("ZOMBIENET_SDK_BASE_DIR") { - Ok(val) => global_settings.with_base_dir(val), - _ => global_settings, + .with_global_settings(|global_settings| { + global_settings.with_base_dir(base_dir.to_str().expect("Valid UTF-8 path")) }) .build() .map_err(|e| { @@ -458,7 +560,7 @@ impl Participant { fn new(idx: u32, rpc_client: RpcClient) -> Self { debug!(target: &format!("participant_{idx}"), "Initializing participant {}", idx); - let (keyring, _) = sr25519::Pair::generate(); + let keyring = get_keypair(idx); let (session_key, _) = sr25519::Pair::generate(); let group_start = (idx / GROUP_SIZE) * GROUP_SIZE; @@ -481,28 +583,9 @@ impl Participant { } } - async fn wait_for_retry(&mut self) -> Result<(), anyhow::Error> { - if self.retry_count >= MAX_RETRIES { - return Err(anyhow!("No more retry attempts for participant {}", self.idx)) - } - - self.retry_count += 1; - if self.retry_count % 10 == 0 { - debug!(target: &self.log_target(), "Retry attempt {}", self.retry_count); - } - tokio::time::sleep(tokio::time::Duration::from_millis(RETRY_DELAY_MS)).await; - - Ok(()) - } - - async fn wait_for_propagation(&mut self) { - trace!(target: &self.log_target(), "Waiting {}ms for propagation", PROPAGATION_DELAY_MS); - tokio::time::sleep(tokio::time::Duration::from_millis(PROPAGATION_DELAY_MS)).await; - } - async fn statement_submit(&mut self, statement: Statement) -> Result<(), anyhow::Error> { let statement_bytes: Bytes = statement.encode().into(); - let _: () = self + let _: SubmitResult = self .rpc_client .request("statement_submit", rpc_params![statement_bytes]) .await?; @@ -513,31 +596,10 @@ impl Participant { Ok(()) } - async fn statement_broadcasts_statement( - &mut self, - topics: Vec, - ) -> Result, anyhow::Error> { - let statements: Vec = self - .rpc_client - .request("statement_broadcastsStatement", rpc_params![topics]) - .await?; - - let mut decoded_statements = Vec::new(); - for statement_bytes in &statements { - let statement = Statement::decode(&mut &statement_bytes[..])?; - decoded_statements.push(statement); - } - - self.received_count += decoded_statements.len() as u32; - trace!(target: &self.log_target(), "Received {} statements (counter: {})", decoded_statements.len(), self.received_count); - - Ok(decoded_statements) - } - fn create_session_key_statement(&self) -> Statement { let mut statement = Statement::new(); statement.set_channel(channel_public_key()); - statement.set_priority(self.sent_count); + statement.set_expiry_from_parts(u32::MAX, self.sent_count); statement.set_topic(0, topic_public_key()); statement.set_topic(1, topic_idx(self.idx)); statement.set_plain_data(self.session_key.public().to_vec()); @@ -566,7 +628,7 @@ impl Participant { statement.set_topic(0, topic0); statement.set_topic(1, topic1); statement.set_channel(channel); - statement.set_priority(self.sent_count); + statement.set_expiry_from_parts(u32::MAX, self.sent_count); statement.set_plain_data(request_data); statement.sign_sr25519_private(&self.keyring); @@ -579,38 +641,48 @@ impl Participant { } async fn receive_session_keys(&mut self) -> Result<(), anyhow::Error> { - let mut pending = self.group_members.clone(); + let pending = self.group_members.clone(); + + let mut subscriptions = Vec::new(); trace!(target: &self.log_target(), "Pending session keys to receive: {:?}", pending.len()); - loop { - let mut completed_this_round = Vec::new(); - for &idx in &pending { - match timeout( - Duration::from_millis(TIMEOUT_MS), - self.statement_broadcasts_statement(vec![topic_public_key(), topic_idx(idx)]), + + for idx in &pending { + let subscription = self + .rpc_client + .subscribe::( + "statement_subscribeStatement", + rpc_params![TopicFilter::MatchAll( + vec![topic_public_key(), topic_idx(*idx)].try_into().expect("Two topics") + )], + "statement_unsubscribeStatement", ) - .await - { - Ok(Ok(statements)) if !statements.is_empty() => { - if let Some(statement) = statements.first() { - let data = statement.data().expect("Must contain session_key"); - let session_key = sr25519::Public::from_raw(data[..].try_into()?); - self.session_keys.insert(idx, session_key); - completed_this_round.push(idx); - } - }, - res => { - debug!(target: &self.log_target(), "No statements received for idx {:?}: {:?}", idx, res); - }, - } - } + .await?; + subscriptions.push((*idx, subscription)); + } - pending.retain(|x| !completed_this_round.contains(x)); - if pending.is_empty() { - break; - } - trace!(target: &self.log_target(), "Session keys left to receive: {:?}, waiting {}ms for retry", pending.len(), RETRY_DELAY_MS); - self.wait_for_retry().await?; + let mut futures: FuturesUnordered<_> = subscriptions + .into_iter() + .map(|(idx, mut subscription)| async move { + let statement_bytes = + timeout(Duration::from_secs(SUBSCRIBE_TIMEOUT_SECS), subscription.next()) + .await + .map_err(|_| anyhow!("Timeout waiting for session key"))? + .ok_or_else(|| anyhow!("Subscription ended unexpectedly"))? + .map_err(|e| anyhow!("Subscription error: {}", e))?; + let statement = Statement::decode(&mut &statement_bytes[..]) + .map_err(|e| anyhow!("Failed to decode statement: {}", e))?; + let data = statement.data().ok_or_else(|| anyhow!("Statement missing data"))?; + let session_key = sr25519::Public::from_raw( + data[..].try_into().map_err(|_| anyhow!("Invalid session key length"))?, + ); + Ok::<_, anyhow::Error>((idx, session_key)) + }) + .collect(); + + while let Some(result) = futures.next().await { + let (idx, session_key) = result?; + self.session_keys.insert(idx, session_key); } assert_eq!( @@ -641,49 +713,54 @@ impl Participant { } async fn receive_messages(&mut self, round: usize) -> Result<(), anyhow::Error> { - let mut pending: Vec<(u32, sr25519::Public)> = + let pending: Vec<(u32, sr25519::Public)> = self.session_keys.iter().map(|(&idx, &key)| (idx, key)).collect(); let own_session_key = self.session_key.public(); - trace!(target: &self.log_target(), "Pending messages to receive: {:?}", pending.len()); - loop { - let mut completed_this_round = Vec::new(); - for &(sender_idx, sender_session_key) in &pending { - match timeout( - Duration::from_millis(TIMEOUT_MS), - self.statement_broadcasts_statement(vec![ - topic_message(), - topic_pair(&sender_session_key, &own_session_key), - ]), + let mut subscriptions = Vec::new(); + + for &(sender_idx, sender_session_key) in &pending { + let subscription = self + .rpc_client + .subscribe::( + "statement_subscribeStatement", + rpc_params![TopicFilter::MatchAll( + vec![topic_message(), topic_pair(&sender_session_key, &own_session_key)] + .try_into() + .expect("Two topics") + )], + "statement_unsubscribeStatement", ) - .await - { - Ok(Ok(statements)) if !statements.is_empty() => { - if let Some(statement) = statements.first() { - let data = statement.data().expect("Must contain request"); - let req = StatementMessage::decode(&mut &data[..])?; - - if let std::collections::hash_map::Entry::Vacant(e) = - self.received_messages.entry((sender_idx, req.message_id)) - { - e.insert(false); - self.pending_messages.insert(sender_idx, Some(req.message_id)); - completed_this_round.push((sender_idx, sender_session_key)); - } - } - }, - res => { - debug!(target: &self.log_target(), "No statements received for sender {:?}: {:?}", sender_idx, res); - }, - } - } + .await?; + subscriptions.push((sender_idx, subscription)); + } - pending.retain(|x| !completed_this_round.contains(x)); - if pending.is_empty() { - break; + let mut futures: FuturesUnordered<_> = subscriptions + .into_iter() + .map(|(sender_idx, mut subscription)| async move { + let statement_bytes = + timeout(Duration::from_secs(SUBSCRIBE_TIMEOUT_SECS), subscription.next()) + .await + .map_err(|_| anyhow!("Timeout waiting for message"))? + .ok_or_else(|| anyhow!("Subscription ended unexpectedly"))? + .map_err(|e| anyhow!("Subscription error: {}", e))?; + let statement = Statement::decode(&mut &statement_bytes[..]) + .map_err(|e| anyhow!("Failed to decode statement: {}", e))?; + let data = statement.data().ok_or_else(|| anyhow!("Statement missing data"))?; + let req = StatementMessage::decode(&mut &data[..]) + .map_err(|e| anyhow!("Failed to decode message: {}", e))?; + Ok::<_, anyhow::Error>((sender_idx, req.message_id)) + }) + .collect(); + + while let Some(result) = futures.next().await { + let (sender_idx, message_id) = result?; + if let std::collections::hash_map::Entry::Vacant(e) = + self.received_messages.entry((sender_idx, message_id)) + { + e.insert(false); + self.pending_messages.insert(sender_idx, Some(message_id)); } - trace!(target: &self.log_target(), "Messages left to receive: {:?}, waiting {}ms for retry", pending.len(), RETRY_DELAY_MS); - self.wait_for_retry().await?; } assert_eq!( @@ -696,7 +773,6 @@ impl Participant { self.group_members.len(), "Not every request received" ); - Ok(()) } @@ -705,20 +781,15 @@ impl Participant { debug!(target: &self.log_target(), "Session keys exchange"); self.send_session_key().await?; - trace!(target: &self.log_target(), "Session keys sent"); - self.wait_for_propagation().await; - trace!(target: &self.log_target(), "Session keys requests started"); + trace!(target: &self.log_target(), "Session keys sent, receiving session keys"); self.receive_session_keys().await?; trace!(target: &self.log_target(), "Session keys received"); for round in 0..MESSAGE_COUNT { debug!(target: &self.log_target(), "Messages exchange, round {}", round + 1); self.send_messages(round).await?; - trace!(target: &self.log_target(), "Messages sent"); - self.wait_for_propagation().await; trace!(target: &self.log_target(), "Messages requests started"); self.receive_messages(round).await?; - trace!(target: &self.log_target(), "Messages received"); } let elapsed = start_time.elapsed(); @@ -733,22 +804,22 @@ impl Participant { } fn topic_public_key() -> Topic { - blake2_256(b"public key") + blake2_256(b"public key").into() } fn topic_idx(idx: u32) -> Topic { - blake2_256(&idx.to_le_bytes()) + blake2_256(&idx.to_le_bytes()).into() } fn topic_pair(sender: &sr25519::Public, receiver: &sr25519::Public) -> Topic { let mut data = Vec::new(); data.extend_from_slice(sender.as_ref()); data.extend_from_slice(receiver.as_ref()); - blake2_256(&data) + blake2_256(&data).into() } fn topic_message() -> Topic { - blake2_256(b"message") + blake2_256(b"message").into() } fn channel_public_key() -> Channel { @@ -762,3 +833,349 @@ fn channel_message(sender: &sr25519::Public, receiver: &sr25519::Public) -> Chan data.extend_from_slice(receiver.as_ref()); blake2_256(&data) } + +pub fn get_keypair(idx: u32) -> sr25519::Pair { + sr25519::Pair::from_string(&format!("//StatementBench//{idx}"), None).expect("Valid seed") +} + +struct LatencyBenchConfig { + num_rounds: usize, + num_nodes: usize, + num_clients: u32, + max_retries: u32, + interval_ms: u64, + req_timeout_ms: u64, + messages_pattern: &'static [(usize, usize)], +} + +impl LatencyBenchConfig { + fn messages_per_client(&self) -> usize { + self.messages_pattern.iter().map(|(count, _)| count).sum() + } +} + +#[derive(Debug, Clone)] +struct RoundStats { + send_duration: Duration, + receive_duration: Duration, + full_latency: Duration, + sent_count: u32, + received_count: u32, + receive_attempts: u32, +} + +#[tokio::test(flavor = "multi_thread")] +async fn statement_store_latency_bench() -> Result<(), anyhow::Error> { + let _ = env_logger::try_init_from_env( + env_logger::Env::default().filter_or(env_logger::DEFAULT_FILTER_ENV, "info"), + ); + + let config = Arc::new(LatencyBenchConfig { + num_nodes: 5, + num_clients: 50000, + interval_ms: 10000, + num_rounds: 1, + messages_pattern: &[(5, 1024 / 2)], + max_retries: 500, + req_timeout_ms: 3000, + }); + + let collator_names: Vec = + (0..config.num_nodes).map(|i| format!("collator{i}")).collect(); + let collator_names: Vec<&str> = collator_names.iter().map(|s| s.as_str()).collect(); + + let network = spawn_network(&collator_names, config.num_clients).await?; + + info!("Starting Latency benchmark"); + info!(""); + info!("Clients: {}", config.num_clients); + info!("Nodes: {}", config.num_nodes); + info!("Rounds: {}", config.num_rounds); + info!("Interval, ms: {}", config.interval_ms); + info!("Messages, per round: {}", config.messages_per_client() as u32 * config.num_clients); + info!("Message pattern:"); + for &(count, size) in config.messages_pattern { + info!(" - {} messages {} bytes", count, size); + } + info!(""); + + let clients_per_node = config.num_clients as usize / config.num_nodes; + let pool_size_per_node = RPC_POOL_SIZE.min(clients_per_node); + let mut rpc_pools: Vec> = Vec::new(); + for &name in &collator_names { + let node = network.get_node(name)?; + let mut pool = Vec::with_capacity(pool_size_per_node); + for _ in 0..pool_size_per_node { + pool.push(node.rpc().await?); + } + rpc_pools.push(pool); + } + info!( + "Created RPC connection pool: {} connections x {} nodes = {} total", + pool_size_per_node, + collator_names.len(), + pool_size_per_node * collator_names.len() + ); + + let barrier = Arc::new(Barrier::new(config.num_clients as usize)); + let sync_start = std::time::Instant::now(); + + // Generate unique test run ID using timestamp to avoid interference with old data + let test_run_id = std::time::SystemTime::now() + .duration_since(std::time::UNIX_EPOCH) + .unwrap() + .as_micros() as u64; + + let handles: Vec<_> = (0..config.num_clients) + .map(|client_id| { + let config = Arc::clone(&config); + let barrier = Arc::clone(&barrier); + let keyring = get_keypair(client_id); + let node_idx = (client_id as usize) % config.num_nodes; + let conn_idx = (client_id as usize / config.num_nodes) % pool_size_per_node; + let rpc_client = rpc_pools[node_idx][conn_idx].clone(); + let neighbour_id = (client_id + 1) % config.num_clients; + let neighbour_node_idx = (neighbour_id as usize) % config.num_nodes; + if node_idx == neighbour_node_idx && config.num_nodes > 1 { + panic!( + "Client {client_id} and neighbour {neighbour_id} are on the same node {node_idx}!" + ); + } + + tokio::spawn(async move { + barrier.wait().await; + + if client_id == 0 { + let sync_time = sync_start.elapsed(); + debug!( + "All {} tasks synchronized and starting work in {:.3}s", + config.num_clients, + sync_time.as_secs_f64() + ); + } + + let submission_jitter = (client_id % 1000) as u64; + tokio::time::sleep(Duration::from_millis(submission_jitter)).await; + + let mut rounds_stats = Vec::new(); + for round in 0..config.num_rounds { + let round_start = std::time::Instant::now(); + + // Create subscriptions for messages we expect to receive + if client_id == 0 { + info!("Creating subscriptions for expected messages"); + } + + let mut subscriptions = Vec::new(); + for msg_idx in 0..config.messages_per_client() as u32 { + let topic_str = format!("{test_run_id}-{client_id}-{round}-{msg_idx}"); + + if client_id == 0 { + info!("Subscribed {msg_idx} message(s) {topic_str:?}"); + } + + let topic: Topic = blake2_256(topic_str.as_bytes()).into(); + + let subscription = rpc_client + .subscribe::( + "statement_subscribeStatement", + rpc_params![TopicFilter::MatchAll( + vec![topic].try_into().expect("Single topic") + )], + "statement_unsubscribeStatement", + ) + .await + .map_err(|e| { + anyhow!( + "Client {}: Failed to subscribe for message {} from neighbour {}: {}", + client_id, + msg_idx, + neighbour_id, + e + ) + })?; + subscriptions.push((msg_idx, topic_str, subscription)); + } + + if client_id == 0 { + info!("Created {} subscriptions", subscriptions.len()); + } + + // Step 2: Send messages + let mut msg_idx: u32 = 0; + + if client_id == 0 { + info!("Start sending messages"); + } + + for &(count, size) in config.messages_pattern { + for _ in 0..count { + let mut statement = Statement::new(); + + let topic_str = format!("{test_run_id}-{client_id}-{round}-{msg_idx}"); + let topic = blake2_256(topic_str.as_bytes()); + let channel = blake2_256(msg_idx.to_le_bytes().as_ref()); + + // Use timestamp for priority + let timestamp_ms = std::time::SystemTime::now() + .duration_since(std::time::UNIX_EPOCH) + .unwrap() + .as_millis() as u32; + + statement.set_channel(channel); + statement.set_expiry_from_parts(u32::MAX, timestamp_ms); + statement.set_topic(0, topic.into()); + statement.set_plain_data(vec![0u8; size]); + statement.sign_sr25519_private(&keyring); + + let encoded: Bytes = statement.encode().into(); + let result: SubmitResult = rpc_client + .request("statement_submit", rpc_params![encoded]) + .await?; + + msg_idx += 1; + if client_id == 0 { + info!("Sent {msg_idx} message(s) {topic_str:?}, {result:?}"); + } + } + } + + let sent_count = msg_idx; + let send_duration = round_start.elapsed(); + + // Step 3: Wait for subscriptions to receive messages + let receive_start = std::time::Instant::now(); + let mut received_count = 0; + let receive_attempts = subscriptions.len() as u32; + + if client_id == 0 { + info!("Start receiving messages via subscriptions"); + } + + let total_timeout = + Duration::from_millis(config.req_timeout_ms * config.max_retries as u64); + + let mut futures: FuturesUnordered<_> = subscriptions + .into_iter() + .map(|(msg_idx, topic_str, mut subscription)| async move { + match timeout(total_timeout, subscription.next()).await { + Ok(Some(Ok(_statement_bytes))) => Ok((msg_idx, topic_str)), + Ok(Some(Err(e))) => Err(anyhow!( + "Subscription error for message {}: {}", + msg_idx, + e + )), + Ok(None) => Err(anyhow!( + "Subscription ended unexpectedly for message {}", + msg_idx + )), + Err(_) => Err(anyhow!("Timeout waiting for message {}", msg_idx)), + } + }) + .collect(); + + while let Some(result) = futures.next().await { + match result { + Ok((msg_idx, topic_str)) => { + received_count += 1; + if client_id == 0 { + info!( + "Received {received_count} message(s) {topic_str:?} (msg_idx: {})", + msg_idx + ); + } + }, + Err(e) => { + return Err(anyhow!( + "Client {}: Failed to receive message from neighbour {}: {}", + client_id, + neighbour_id, + e + )); + }, + } + } + + let receive_duration = receive_start.elapsed(); + let full_latency = round_start.elapsed(); + if full_latency < Duration::from_millis(config.interval_ms) { + tokio::time::sleep( + Duration::from_millis(config.interval_ms) - full_latency, + ) + .await; + } + + rounds_stats.push(RoundStats { + send_duration, + receive_duration, + full_latency, + sent_count, + received_count, + receive_attempts, + }); + } + + // Verify all messages were sent and received + let expected_count = config.messages_per_client() as u32; + for stats in &rounds_stats { + if stats.sent_count != expected_count { + return Err(anyhow!( + "Client {}: Expected {} messages sent, but got {}", + client_id, + expected_count, + stats.sent_count + )); + } + if stats.received_count != expected_count { + return Err(anyhow!( + "Client {}: Expected {} messages received, but got {}", + client_id, + expected_count, + stats.received_count + )); + } + } + + Ok::<_, anyhow::Error>(rounds_stats) + }) + }) + .collect(); + + let mut all_round_stats = Vec::new(); + for handle in handles { + let stats = handle.await??; + all_round_stats.extend(stats); + } + + let calc_stats = |values: Vec| -> (f64, f64, f64) { + let min = values.iter().copied().fold(f64::INFINITY, f64::min); + let max = values.iter().copied().fold(f64::NEG_INFINITY, f64::max); + let avg = values.iter().sum::() / values.len() as f64; + (min, avg, max) + }; + + let send_s = + calc_stats(all_round_stats.iter().map(|s| s.send_duration.as_secs_f64()).collect()); + let read_s = + calc_stats(all_round_stats.iter().map(|s| s.receive_duration.as_secs_f64()).collect()); + let latency_s = + calc_stats(all_round_stats.iter().map(|s| s.full_latency.as_secs_f64()).collect()); + let attempts = calc_stats(all_round_stats.iter().map(|s| s.receive_attempts as f64).collect()); + let attempts_per_msg = ( + attempts.0 / config.messages_per_client() as f64, + attempts.1 / config.messages_per_client() as f64, + attempts.2 / config.messages_per_client() as f64, + ); + + info!(""); + info!(" Min Avg Max"); + info!("Send, s {:>8.3} {:>8.3} {:>8.3}", send_s.0, send_s.1, send_s.2); + info!("Receive, s {:>8.3} {:>8.3} {:>8.3}", read_s.0, read_s.1, read_s.2); + info!("Latency, s {:>8.3} {:>8.3} {:>8.3}", latency_s.0, latency_s.1, latency_s.2); + info!( + "Attempts, per msg {:>8.1} {:>8.1} {:>8.1}", + attempts_per_msg.0, attempts_per_msg.1, attempts_per_msg.2 + ); + + Ok(()) +} diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/sync_blocks.rs b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/sync_blocks.rs index 4bdcc996228f6..952ad681082d2 100644 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/sync_blocks.rs +++ b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/sync_blocks.rs @@ -78,8 +78,8 @@ async fn build_network_config() -> Result { // Leaving them in case we switch to `k8s` some day. resources.with_request_cpu(2).with_request_memory("2G") }) - .with_node(|node| node.with_name("alice")) - .with_node(|node| node.with_name("bob")) + .with_validator(|node| node.with_name("alice")) + .with_validator(|node| node.with_name("bob")) }) .with_parachain(|p| { p.with_id(PARA_ID) diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/warp-sync-parachain-spec.json b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/warp-sync-parachain-spec.json deleted file mode 100644 index daaee1e7cffa5..0000000000000 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/warp-sync-parachain-spec.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "name": "Custom", - "id": "custom", - "chainType": "Live", - "bootNodes": [], - "telemetryEndpoints": null, - "protocolId": null, - "properties": { - "tokenDecimals": 12, - "tokenSymbol": "UNIT" - }, - "codeSubstitutes": {}, - "genesis": { - "runtimeGenesis": { - "code": "0x0061736d0100000001ee034060017f0060037f7f7f017f60017f017f60047f7f7f7f0060027f7f017f60037f7f7f0060087f7f7f7f7f7f7f7f0060057f7f7f7f7f0060047f7f7f7f017f60097f7f7f7f7f7f7f7f7f0060077f7f7f7f7f7f7f0060027f7f0060067f7f7f7f7f7f006000017f6000006000017e60047f7f7e7e0060017e0060017e017e60037f7e7f017f60027f7f017e60027f7e017f60037f7e7e0060027e7e0060027e7e017e60017e017f60037e7e7f017e60017f017e60037e7e7e017e60027e7e017f60047e7e7e7f017e60027e7f017e60037e7e7e0060027e7f017f60097f7f7f7f7e7e7f7f7f0060037e7f7f0060047e7e7f7f017f60067f7f7f7f7f7f017f60057f7f7f7f7f017f60077f7f7f7f7f7f7f017f60097f7f7f7f7f7f7f7f7f017f60097f7f7f7f7f7f7e7e7e0060047f7c7f7f017f60037f7c7f017f60037e7f7f017f60087f7c7f7f7f7f7f7f00600b7f7f7f7f7f7f7f7f7f7f7f0060037e7f7f017e60047f7e7f7f0060067f7f7e7e7f7f00600a7f7f7f7f7f7f7f7f7f7f0060077f7f7e7e7f7f7f0060067f7f7f7e7e7f00600b7f7f7f7e7e7e7e7e7e7e7e017f60027e7f0060087f7f7e7e7e7e7f7f0060057f7f7f7e7f0060047f7f7f7e0060027f7e0060077f7f7e7e7e7e7e017e60027c7f017f60077f7e7e7e7e7e7e0060047f7e7e7f0060057f7e7e7e7e0002c40d2a03656e76066d656d6f727902001503656e76336578745f73746f726167655f70726f6f665f73697a655f73746f726167655f70726f6f665f73697a655f76657273696f6e5f31000f03656e761c6578745f6d6973635f7072696e745f6865785f76657273696f6e5f31001103656e761d6578745f6d6973635f7072696e745f757466385f76657273696f6e5f31001103656e76226578745f6d6973635f72756e74696d655f76657273696f6e5f76657273696f6e5f31001203656e76236578745f63727970746f5f656432353531395f7665726966795f76657273696f6e5f31001303656e76376578745f63727970746f5f736563703235366b315f65636473615f7265636f7665725f636f6d707265737365645f76657273696f6e5f32001403656e76256578745f63727970746f5f737232353531395f67656e65726174655f76657273696f6e5f31001503656e76236578745f63727970746f5f737232353531395f7665726966795f76657273696f6e5f32001303656e76196578745f6c6f6767696e675f6c6f675f76657273696f6e5f31001603656e761f6578745f6c6f6767696e675f6d61785f6c6576656c5f76657273696f6e5f31000d03656e761c6578745f73746f726167655f617070656e645f76657273696f6e5f31001703656e761b6578745f73746f726167655f636c6561725f76657273696f6e5f31001103656e76226578745f73746f726167655f636c6561725f7072656669785f76657273696f6e5f32001803656e76286578745f73746f726167655f636f6d6d69745f7472616e73616374696f6e5f76657273696f6e5f31000e03656e761c6578745f73746f726167655f6578697374735f76657273696f6e5f31001903656e76196578745f73746f726167655f6765745f76657273696f6e5f31001203656e761e6578745f73746f726167655f6e6578745f6b65795f76657273696f6e5f31001203656e761a6578745f73746f726167655f726561645f76657273696f6e5f31001a03656e762a6578745f73746f726167655f726f6c6c6261636b5f7472616e73616374696f6e5f76657273696f6e5f31000e03656e761a6578745f73746f726167655f726f6f745f76657273696f6e5f32001b03656e76196578745f73746f726167655f7365745f76657273696f6e5f31001703656e76276578745f73746f726167655f73746172745f7472616e73616374696f6e5f76657273696f6e5f31000e03656e76296578745f64656661756c745f6368696c645f73746f726167655f636c6561725f76657273696f6e5f31001703656e76306578745f64656661756c745f6368696c645f73746f726167655f636c6561725f7072656669785f76657273696f6e5f32001c03656e762a6578745f64656661756c745f6368696c645f73746f726167655f6578697374735f76657273696f6e5f31001d03656e76276578745f64656661756c745f6368696c645f73746f726167655f6765745f76657273696f6e5f31001803656e762c6578745f64656661756c745f6368696c645f73746f726167655f6e6578745f6b65795f76657273696f6e5f31001803656e76286578745f64656661756c745f6368696c645f73746f726167655f726561645f76657273696f6e5f31001e03656e76286578745f64656661756c745f6368696c645f73746f726167655f726f6f745f76657273696f6e5f32001f03656e76276578745f64656661756c745f6368696c645f73746f726167655f7365745f76657273696f6e5f31002003656e76306578745f64656661756c745f6368696c645f73746f726167655f73746f726167655f6b696c6c5f76657273696f6e5f33001803656e76206578745f68617368696e675f626c616b65325f3132385f76657273696f6e5f31001903656e76206578745f68617368696e675f626c616b65325f3235365f76657273696f6e5f31001903656e761e6578745f68617368696e675f74776f785f3132385f76657273696f6e5f31001903656e761e6578745f68617368696e675f74776f785f3235365f76657273696f6e5f31001903656e761d6578745f68617368696e675f74776f785f36345f76657273696f6e5f31001903656e76226578745f6f6666636861696e5f696e6465785f636c6561725f76657273696f6e5f31001103656e76206578745f6f6666636861696e5f696e6465785f7365745f76657273696f6e5f31001703656e761c6578745f616c6c6f6361746f725f667265655f76657273696f6e5f31000003656e761e6578745f616c6c6f6361746f725f6d616c6c6f635f76657273696f6e5f31000203656e762a6578745f747269655f626c616b65325f3235365f6f7264657265645f726f6f745f76657273696f6e5f32002103cd16cb16000404000b0503070b010404000104050b0b0b051022010c0404050303030205030c0303030503030305020303030205040e23042404040504012526010401272804010404040404040b050505070a070707030729040400002a2b040e050500000005270204010401042c04040404040401010426010407040307070a2d2d0505050505050504020a0b0b0b0b0505030505040205050301040405010303040502050b03020403060b0b0b2e0b0c07070703050b0b0b00000703000301000b0b0a070c0305040b0f0b0705050e0e0e07060c0307080a0307000b0005050400030b0b000b0500050000000000030b0b0b07050b010001050c0c0401030b0400000b03040707070b04040404080503070503000003070000000500030b0000000000000307000000000005050b0000000005000f05050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050302050c0b070b070b0c0b0c0b070b0c0b0b0b0b05050505050505050303030b050b010b0b0b010b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b00000000000000000000000000000000000b0b0b0b0b0b0b0b03000400040b00000b000b050404050405050505050405040505050505050505050505050505000b0b0b0b0b00000b040b05050b050b05000b0b000b0b0b0b0b060b100404040404060b0b0b0b04050b0b0b0b0b072e0b0c070b0003040504040404040000000a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a02040705032f070703053001030303030707070707070b030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030401000101010431050505030303010200080204040205050b32320b030b0000040500000000000808080808080808010104040b0b06060303050507070b050b0101050503030b0b0707030309090a0a03080807070700000b0b07000202030000000003030b0b04000002050e000000030c0500050c050c050c050c050c050c050c050c050c050c050c050c050c050c050c050c050c050c050c050c050c050c050c050c040a030b050b0b0b0b0b0b0b0b0b0b00000000050105000b0b0b0b0b0b01020b000301050a0b00090404040400040404040404040000050b14040b0500000000000000040b05020b050c0c0b0b0b0b0b0b0b0b0b0400000b0400000b0404020004000404000b05330b031010341033050b0b0b0b050b0b0b0b0b000007020b35100b04000000000005000b040b0b0b0b0b020b000000050505050b050505050000000b0404040404040404040404040404040404040404040404000000000a0401010107040404050b0404000004040000000000000000000000000000000b0b0b0b0b0b0b0b0b0b00040000000f0b0000170000003600110000000000001b00000b0b0e000b0b0b050505030b0b0b000b0b000b00000000000b0b0b0b0b0b0b050205070404040404040404000005070b0b050b0308050c0c0b05050b0b0b0b0b0b0b0b14141414141414141414141414141414141414141414141414140b0b000b0b000b0b000b0b000b0b0b0b0b0b0b0b0b0b0b000000000000000807040b0004000b0b0b0b0b0b0b05110b000b000b0000000b000b0b0b0b020b00040005000b0b0b0b0b0b05050b0b0b050b050404000b370000000b0b0404040404040000000004030304040500030b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c080808081608080808080808050008080808080808080808080b0500000000000000000b000000000000000000000000000000000000000000000b0b0505050507030105040b000b0b0b0b0b0b000400000005050b0b00000000000b03070404050400000000000000070b0b0b0b0b0b0b0b0b0b0b0b0b030305050303070707070c0703030505050505050505050505050505050505050505050505050505050503050503050505030404040b10100000000002052605000b000b01000b0b060a040b0b0303030505050e0b04040e000000000b020000000b0b0b0b0b0b040700050b0b050b05050505050b0500000b000b0b0b06150e1000100004000b000b0b0b0b0404040404070707040b0b0404040b040b0b0b000b000003000201050b040330030b04040a0c0a0c0b00000b0b0b000000000004030c07030505070305050505030707030705070b0b0c0c0b03030a0a030a0a03030705070707070700000c0c0303010b0b0b0b0b0b0b0b010401050438383838053907050104020202070503000307050705030503050707070307030700070303030307050301010b0b0b0b0b0b0c03030101030303030b0b0b0b070700000b0b0b0b04040401010500000000000004040404040104020801040b0b260b0c0b0c0b0b2602040c0b0b0b0b0b0505050b0b030303010101030307050301010b0b0b0b0b0b0b0b0b050b0c260c0c0c26040b05000505000b0b0b0b0b0b0b0b0b0b05050505030303030303030303030707070707070707040000030500000b050b0505050b0b05050b0b0b0b0505050b05050b0b3a000e3b04040404050505050b0b0b0b0b0b00050505050505050b0505050b0b05050b0b050b0b0b0b0b050c0505020b0b0b020b0b0b0b0b0b0b080801050b0b0305050b0b0b0b0b0203070c0c0b030307070a0a0b0b0b0b0b0b0b00000000000b0b0b050305050404040004000505000000070b04000004030400040404040003070000000507050300000003030000000b0b00040200040e0b040b00070407050507070c0000000000040b0505020b0401080a040404050c0507050b0403050b010504050b070b0b000000000300000000050505050b00000b0000030705050b04000004363c0c0b330b0b0a05050505050505070b00030000030b0b070004000000000000000305070a0404040400050c0c05000b0007070b040404040404040401040b3a1601040b05040504010400040701030b04000a040404010404040202010401030005040b0d0b050404050500050000050505030b07073d03070005000000030b07050b0504050000040404000405050b000004040b030c04040000070400050504070304000000000000000000053a3a3a3a3a050302030b0b0b0b0508050508070d0b0b000b0b0b050b070e0405050c0e0b030e030a08070706030c0705050505050b0300020b04040b0b050b0c070c00050505050505050505050505050c0c0b050b00000b0b0b050b00050305030307070a0a08080b0b0b0b0b05050503070303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030300050b0b0b0b000b00000b0400000500000004000000000000050505000400040701030b040b00000000000000070b0c0b0c0b070b0b0b0b050503030503030b040404040000000a0407030b070704070b04040500000303050b0b00030b070300000005050000000000000004000004070505030702050500040404040b000404030b0b05040b0404040b0b0b080b0b04053e01010101013f0101013f3e3f3f3e3e0407017001b805b8050619037f01418080c0000b7f0041f0bfd3000b7f0041f0bfd3000b0798071e195f5f696e6469726563745f66756e6374696f6e5f7461626c6501000e76616c69646174655f626c6f636b00cf070c436f72655f76657273696f6e00db0912436f72655f657865637574655f626c6f636b00dc0915436f72655f696e697469616c697a655f626c6f636b00dd092741757261556e696e636c756465645365676d656e744170695f63616e5f6275696c645f75706f6e00de092852656c6179506172656e744f66667365744170695f72656c61795f706172656e745f6f666673657400df0915417572614170695f736c6f745f6475726174696f6e00e00913417572614170695f617574686f72697469657300e109114d657461646174615f6d6574616461746100e2091c4d657461646174615f6d657461646174615f61745f76657273696f6e00e3091a4d657461646174615f6d657461646174615f76657273696f6e7300e4091d4163636f756e744e6f6e63654170695f6163636f756e745f6e6f6e636500e5091c426c6f636b4275696c6465725f6170706c795f65787472696e73696300e6091b426c6f636b4275696c6465725f66696e616c697a655f626c6f636b00e70920426c6f636b4275696c6465725f696e686572656e745f65787472696e7369637300e8091c426c6f636b4275696c6465725f636865636b5f696e686572656e747300e9092b5461676765645472616e73616374696f6e51756575655f76616c69646174655f7472616e73616374696f6e00ea09214f6666636861696e576f726b65724170695f6f6666636861696e5f776f726b657200eb091f53657373696f6e4b6579735f6465636f64655f73657373696f6e5f6b65797300ec092153657373696f6e4b6579735f67656e65726174655f73657373696f6e5f6b65797300ed09234765744c61737454696d657374616d705f6765745f6c6173745f74696d657374616d7000ee092b436f6c6c656374436f6c6c6174696f6e496e666f5f636f6c6c6563745f636f6c6c6174696f6e5f696e666f00ef0920476574436f726553656c6563746f724170695f636f72655f73656c6563746f7200f0091a47656e657369734275696c6465725f6275696c645f737461746500f1091947656e657369734275696c6465725f6765745f70726573657400f2091b47656e657369734275696c6465725f7072657365745f6e616d657300f3091d47657450617261636861696e496e666f5f70617261636861696e5f696400f4090a5f5f646174615f656e6403010b5f5f686561705f62617365030209ca0a010041010bb705293233342a2b3536379001414445464748494b4c534e4f5051524254555657586d5f6f716197016c6e707f7e9b019c019f01b302d301d501d101d201c0119f11df01830281029402cb11a702881192028e02e401e50193028c119e118b02b202b002b1028602a2028711c002ba02be11bf02be02bb028611da02cd02d702cf02c902da15c802c602c702ca02b216ce02c502d002d102d802db02fd03fe03e30398119711c311c211c111d815f303f503fa07b70ad507c7109a0bbd118e128f0a9c0beb07bd04c704bb04bc04e408d104d504f004980ba912ad09a30cee08fc15f4088c0dcc11bf169d04e515c80ce715c90ca10bae128d11a80aaa08e103e003f208de03a90b9e04ab08cd0ad502ac08e510c610a20baa0aa50ba00ba90ac80aca0cb3108e11af09ae09dd03890de203e30ce410ef089a16eb01ec01ed01ee01ef01f101f201f301f401f501f601f701f801f901fa01fb01fc01fd01fe01ff0180028f069006f001be04b504c108e508f305f9059906990e9c0edc0ee00e92069a0e9b0e9506b50bb40bb30bb70b9606920d900d93069806d20b97068f0da506a406da06e415c40fe606b40ac0079707aa0ca707e703e603e503e803e403a807cd08be16d3079e12f10cf915910ad407d607ac0bd803fe15bc169f129b0ba012ab0beb08cd12ce129d0bd903a40ce615a20ced08ec08c202dc03e608a50ca80bba0ec407c207c107d007ef07a712f307f40799089c0cf9079308a8049b089c089d08920aa40be908aa0be708a30bdf03d907f703da03b608ea08dc08d108bf08d408e008d708d608d008ce08b90ebc09cf08f70cc109c208d208db08dd08c009e108be08a802f108f00880099201a60ba70ba909ab04f308e0018b11d6028c0a9e0b90128011a602c409fb04fa048d0a900ae210980af80cbf09ca08e310e6105cb910a510c708d50abc08cc08d80afc11aa128e0adb03970b990b8b0de808d40bc308bf0cc00c8e01d40a9b099f0bc810fa03d310c016d010bf11e115d10cee0ca60795019601fe0c820d850dea0cb304f90ca00cfa05a10cc606d606aa06bc06ae06fb05fe05fd058006b306c406b806c806c206a806c006b106c306ac06be06b606ce06d006cf06cd06d106d206d406b906c906b006b206a706cc06d706ab06bb06af06b406c506b706c706c106a906bf06ad06bd06b506d306d506ba06ca06a606cb06be09bd09c209c10bc008fa0c810dd30aae0e830da20dbe0d9e0dbd0da10dc10dfb11de11af0e920e940e8c0e900e8d0e8f0e8e0e930e950e8b0e910eb60ecf04b70eb80eb30eb40ed004dd11b50ebe0ebd0ebb0ebd08bc0ec408eb0eed0ee20ee60ee30ee50ee40eea0eec0ee10ee70edb0edf0edd0ede0ed304d204ba08f60cd00ab404bb09bf07c608a00fbe0fc30fc10fc20fa810a610a410b110b610ba10b810bc10bb11ae10ad10c110bf10cc10c010cd10cb10d110d410d710d810d9105edb10ed10fa10891195119411a111a011c811ca116a9401dc11d7118401d811d911df11e011da11ed11f011ee11ec11fa11f7118b1280128a12f411f911f811f6119c12ac12bb12b412b312c012ab12b612af12ad12ba12bc12c312b512bd12bf12c612c812ca12cb12cc12cf12c9128a13d712d812d6128b13eb12ec12ed12ee12ef12f012f112f212f312f412f512f612dc12dd12de1285138613e312e412f712f812f912fa12fb12fc12fd12fe12ff128e13df12e012e112e2128013811382138313841387138813de159112fa15e215db15ee15e915df15fd15fb15e315ea15e815d215dd15f015f315f115ef15f615f715f8159416921693169516b416b316ad16b816b916b716ba16bb16bd16c116cd16d216ce16cb16cc16d1160a99bc8601cb16220002402000280200450d00200028020441002802a8bfd38000118080808000000b0b1e00200128021c418080c080004105200128022028020c118180808000000b1e00200128021c418580c08000410b200128022028020c118180808000000b4301017f23808080800041206b2201248080808000200141003602182001410136020c200141bc80c0800036020820014204370210200141086a200010f280808000000bcb0101047f23808080800041206b220224808080800002402000280200220341016a220420034101742205200420054b1b22044108200441084b1b220441004e0d0041004100200110ae80808000000b4100210502402003450d002002200336021c20022000280204360214410121050b20022005360218200241086a41012004200241146a10af80808000024020022802084101470d00200228020c2002280210200110ae80808000000b200228020c21032000200436020020002003360204200241206a2480808080000b1d00024020000d00200210ac80808000000b2000200110b980808000000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10af8080800020052802084101470d0120052802102102200528020c21060b2006200241b881c0800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000bb90301077f23808080800041106b2202248080808000024002400240024020012802042203450d00200128020021042003410371210502400240200341044f0d0041002103410021060c010b2004411c6a21072003417c712108410021034100210603402007280200200741786a280200200741706a280200200741686a28020020036a6a6a6a2103200741206a21072008200641046a2206470d000b0b02402005450d00200641037420046a41046a21070340200728020020036a2103200741086a21072005417f6a22050d000b0b0240200128020c450d0020034100480d012003411049200428020445710d01200341017421030b4100210720034100480d0220030d010b41012107410021030c020b41002d00b8bfd380001a200341002802b0bfd380001182808080000022070d01410121070b2007200341b882c0800010ae80808000000b20024100360208200220073602042002200336020002402002419080c08000200110e2808080000d0020002002290200370200200041086a200241086a280200360200200241106a2480808080000f0b41d882c0800041d6002002410f6a41c882c08000419c84c0800010a481808000000b4f01017f02402000280200200028020822036b20024f0d002000200320024101410110b080808000200028020821030b200028020420036a2001200210e9968080001a2000200320026a36020841000bef0201037f23808080800041106b2202248080808000024002402001418001490d002002410036020c024002402001418010490d000240200141808004490d002002410c6a41037221032002200141127641f001723a000c20022001410676413f71418001723a000e20022001410c76413f71418001723a000d410421040c020b2002410c6a410272210320022001410c7641e001723a000c20022001410676413f71418001723a000d410321040c010b2002410c6a41017221032002200141067641c001723a000c410221040b20032001413f71418001723a000002402000280200200028020822016b20044f0d002000200120044101410110b080808000200028020821010b200028020420016a2002410c6a200410e9968080001a2000200120046a3602080c010b0240200028020822042000280200470d00200041e485c0800010ad808080000b2000200441016a360208200028020420046a20013a00000b200241106a24808080800041000b1200200041f486c08000200110e2808080000b220002402000280200450d00200028020441002802a8bfd38000118080808000000b0b4f01017f02402000280200200028020822036b20024f0d002000200320024101410110b080808000200028020821030b200028020420036a2001200210e9968080001a2000200320026a36020841000bef0201037f23808080800041106b2202248080808000024002402001418001490d002002410036020c024002402001418010490d000240200141808004490d002002410c6a41037221032002200141127641f001723a000c20022001410676413f71418001723a000e20022001410c76413f71418001723a000d410421040c020b2002410c6a410272210320022001410c7641e001723a000c20022001410676413f71418001723a000d410321040c010b2002410c6a41017221032002200141067641c001723a000c410221040b20032001413f71418001723a000002402000280200200028020822016b20044f0d002000200120044101410110b080808000200028020821010b200028020420016a2002410c6a200410e9968080001a2000200120046a3602080c010b0240200028020822042000280200470d00200041fc87c0800010ad808080000b200028020420046a20013a00002000200441016a3602080b200241106a24808080800041000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410336020c200341bc89c08000360208200342023702142003418a80808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210f280808000000b0d002001200010bc8f808000000bb90102017f017e23808080800041306b22022480808080002002200036020c418a80808000ad4220862002410c6aad842103024041002d00b9bfd380000d0020024102360214200241e88ac080003602102002420137021c200220033703282002200241286a360218200241106a410041f88ac0800010f380808000000b20024102360214200241e88ac080003602102002420137021c200220033703282002200241286a360218200241106a41888bc0800010f280808000000b880503017f017e027f23808080800041c0006b220224808080800020013502602103200241306a4200370300200241286a4200370300200241206a4200370300200241186a4200370300200241106a4200370300200241086a4200370300200242003703002001419a8bc08000410110bc80808000024002402001280260413f71220441384b0d00413820046b21040c010b20012002413810bc8080800041382001280260413f7122056b210420054139490d002004413841808cc0800010aa81808000000b20012002200410bc80808000200220034205884280808038832003423b862003422b8642808080808080c0ff0083842003421b86428080808080e03f832003420b864280808080f01f838484843703382001200241386a410810bc808080002000200128025c220441187420044180fe03714108747220044108764180fe03712004411876727236001c20002001280258220441187420044180fe03714108747220044108764180fe03712004411876727236001820002001280254220441187420044180fe03714108747220044108764180fe03712004411876727236001420002001280250220441187420044180fe03714108747220044108764180fe0371200441187672723600102000200128024c220441187420044180fe03714108747220044108764180fe03712004411876727236000c20002001280248220441187420044180fe03714108747220044108764180fe03712004411876727236000820002001280244220441187420044180fe03714108747220044108764180fe03712004411876727236000420002001280240220141187420014180fe03714108747220014108764180fe037120014118767272360000200241c0006a2480808080000bdf3e01477f02402002450d00034020002000280260413f7122036a2001200241c00020036b220320022003491b220310e9968080001a2000200320002802606a220436026002402004413f710d002000200028023c220441187420044180fe03714108747220044108764180fe03712004411876727222054119772005410e77732005410376732000280238220441187420044180fe03714108747220044108764180fe03712004411876727222066a2000280220220441187420044180fe03714108747220044108764180fe03712004411876727222074119772007410e7773200741037673200028021c220441187420044180fe03714108747220044108764180fe03712004411876727222086a2000280204220441187420044180fe03714108747220044108764180fe03712004411876727222094119772009410e77732009410376732000280200220441187420044180fe03714108747220044108764180fe037120044118767272220a6a2000280224220441187420044180fe03714108747220044108764180fe037120044118767272220b6a2006410f772006410d77732006410a76736a220c6a2000280218220441187420044180fe03714108747220044108764180fe037120044118767272220d411977200d410e7773200d410376732000280214220441187420044180fe03714108747220044108764180fe037120044118767272220e6a20066a2000280210220441187420044180fe03714108747220044108764180fe037120044118767272220f411977200f410e7773200f41037673200028020c220441187420044180fe03714108747220044108764180fe03712004411876727222106a2000280230220441187420044180fe03714108747220044108764180fe03712004411876727222116a2000280208220441187420044180fe03714108747220044108764180fe03712004411876727222124119772012410e777320124103767320096a2000280228220441187420044180fe03714108747220044108764180fe03712004411876727222136a2005410f772005410d77732005410a76736a2214410f772014410d77732014410a76736a2215410f772015410d77732015410a76736a2216410f772016410d77732016410a76736a22176a2000280234220441187420044180fe03714108747220044108764180fe03712004411876727222184119772018410e777320184103767320116a20166a200028022c220441187420044180fe03714108747220044108764180fe03712004411876727222194119772019410e777320194103767320136a20156a200b411977200b410e7773200b4103767320076a20146a20084119772008410e7773200841037673200d6a20056a200e411977200e410e7773200e41037673200f6a20186a20104119772010410e777320104103767320126a20196a200c410f77200c410d7773200c410a76736a221a410f77201a410d7773201a410a76736a221b410f77201b410d7773201b410a76736a221c410f77201c410d7773201c410a76736a221d410f77201d410d7773201d410a76736a221e410f77201e410d7773201e410a76736a221f410f77201f410d7773201f410a76736a22204119772020410e777320204103767320064119772006410e777320064103767320186a201c6a20114119772011410e777320114103767320196a201b6a20134119772013410e7773201341037673200b6a201a6a2017410f772017410d77732017410a76736a2221410f772021410d77732021410a76736a2222410f772022410d77732022410a76736a22236a20174119772017410e7773201741037673201c6a200c411977200c410e7773200c4103767320056a201d6a2023410f772023410d77732023410a76736a22246a20164119772016410e7773201641037673201b6a20236a20154119772015410e7773201541037673201a6a20226a20144119772014410e7773201441037673200c6a20216a2020410f772020410d77732020410a76736a2225410f772025410d77732025410a76736a2226410f772026410d77732026410a76736a2227410f772027410d77732027410a76736a22286a201f411977201f410e7773201f4103767320226a20276a201e411977201e410e7773201e4103767320216a20266a201d411977201d410e7773201d4103767320176a20256a201c411977201c410e7773201c4103767320166a20206a201b411977201b410e7773201b4103767320156a201f6a201a411977201a410e7773201a4103767320146a201e6a2024410f772024410d77732024410a76736a2229410f772029410d77732029410a76736a222a410f77202a410d7773202a410a76736a222b410f77202b410d7773202b410a76736a222c410f77202c410d7773202c410a76736a222d410f77202d410d7773202d410a76736a222e410f77202e410d7773202e410a76736a222f411977202f410e7773202f4103767320234119772023410e7773202341037673201f6a202b6a20224119772022410e7773202241037673201e6a202a6a20214119772021410e7773202141037673201d6a20296a2028410f772028410d77732028410a76736a2230410f772030410d77732030410a76736a2231410f772031410d77732031410a76736a22326a20284119772028410e7773202841037673202b6a20244119772024410e777320244103767320206a202c6a2032410f772032410d77732032410a76736a22336a20274119772027410e7773202741037673202a6a20326a20264119772026410e777320264103767320296a20316a20254119772025410e777320254103767320246a20306a202f410f77202f410d7773202f410a76736a2234410f772034410d77732034410a76736a2235410f772035410d77732035410a76736a2236410f772036410d77732036410a76736a22376a202e411977202e410e7773202e4103767320316a20366a202d411977202d410e7773202d4103767320306a20356a202c411977202c410e7773202c4103767320286a20346a202b411977202b410e7773202b4103767320276a202f6a202a411977202a410e7773202a4103767320266a202e6a20294119772029410e777320294103767320256a202d6a2033410f772033410d77732033410a76736a2238410f772038410d77732038410a76736a2239410f772039410d77732039410a76736a223a410f77203a410d7773203a410a76736a223b410f77203b410d7773203b410a76736a223c410f77203c410d7773203c410a76736a223d410f77203d410d7773203d410a76736a223e203c203a20382032203020272025201f201d201b200c20112007200f2000280250223f411a77203f41157773203f41077773200028025c22406a200a6a200028025822412000280254224273203f712041736a4198dfa894046a220a200028024c22436a22046a203f20106a204220126a204120096a20042042203f73712042736a2004411a772004411577732004410777736a419189dd89076a2244200028024822456a220f2004203f7371203f736a200f411a77200f41157773200f410777736a41cff783ae7b6a2246200028024422476a2210200f200473712004736a2010411a772010411577732010410777736a41a5b7d7cd7e6a2248200028024022046a22122010200f7371200f736a2012411a772012411577732012410777736a41db84dbca036a224920452047200472712047200471722004411e772004411377732004410a77736a200a6a22096a220a6a200820126a200d20106a200e200f6a200a2012201073712010736a200a411a77200a41157773200a410777736a41f1a3c4cf056a220d2009411e772009411377732009410a777320092004722047712009200471726a20446a220f6a2207200a201273712012736a2007411a772007411577732007410777736a41a485fe91796a220e200f411e77200f41137773200f410a7773200f200972200471200f200971726a20466a22106a22122007200a7371200a736a2012411a772012411577732012410777736a41d5bdf1d87a6a22442010411e772010411377732010410a77732010200f722009712010200f71726a20486a22096a220a2012200773712007736a200a411a77200a41157773200a410777736a4198d59ec07d6a22462009411e772009411377732009410a77732009201072200f712009201071726a20496a220f6a22086a2019200a6a201320126a200b20076a2008200a201273712012736a2008411a772008411577732008410777736a4181b68d94016a220b200f411e77200f41137773200f410a7773200f200972201071200f200971726a200d6a22106a22122008200a7371200a736a2012411a772012411577732012410777736a41be8bc6a1026a22112010411e772010411377732010410a77732010200f722009712010200f71726a200e6a22096a220a2012200873712008736a200a411a77200a41157773200a410777736a41c3fbb1a8056a22132009411e772009411377732009410a77732009201072200f712009201071726a20446a220f6a2207200a201273712012736a2007411a772007411577732007410777736a41f4baf995076a2219200f411e77200f41137773200f410a7773200f200972201071200f200971726a20466a22106a22086a200520076a2006200a6a201820126a20082007200a7371200a736a2008411a772008411577732008410777736a41fee3fa86786a220a2010411e772010411377732010410a77732010200f722009712010200f71726a200b6a22056a22092008200773712007736a2009411a772009411577732009410777736a41a78df0de796a22072005411e772005411377732005410a77732005201072200f712005201071726a20116a22066a220f2009200873712008736a200f411a77200f41157773200f410777736a41f4e2ef8c7c6a22082006411e772006411377732006410a777320062005722010712006200571726a20136a220c6a2210200f200973712009736a2010411a772010411577732010410777736a41c1d3eda47e6a220b200c411e77200c41137773200c410a7773200c200672200571200c200671726a20196a22056a22126a201520106a201a200f6a201420096a20122010200f7371200f736a2012411a772012411577732012410777736a41868ff9fd7e6a22092005411e772005411377732005410a77732005200c722006712005200c71726a200a6a22066a22142012201073712010736a2014411a772014411577732014410777736a41c6bb86fe006a220f2006411e772006411377732006410a77732006200572200c712006200571726a20076a220c6a22152014201273712012736a2015411a772015411577732015410777736a41ccc3b2a0026a2210200c411e77200c41137773200c410a7773200c200672200571200c200671726a20086a22056a221a2015201473712014736a201a411a77201a41157773201a410777736a41efd8a4ef026a22122005411e772005411377732005410a77732005200c722006712005200c71726a200b6a22066a221b6a2017201a6a201c20156a201620146a201b201a201573712015736a201b411a77201b41157773201b410777736a41aa89d2d3046a221c2006411e772006411377732006410a77732006200572200c712006200571726a20096a220c6a2214201b201a7371201a736a2014411a772014411577732014410777736a41dcd3c2e5056a221a200c411e77200c41137773200c410a7773200c200672200571200c200671726a200f6a22056a22152014201b7371201b736a2015411a772015411577732015410777736a41da91e6b7076a221b2005411e772005411377732005410a77732005200c722006712005200c71726a20106a22066a22162015201473712014736a2016411a772016411577732016410777736a41d2a2f9c1796a221d2006411e772006411377732006410a77732006200572200c712006200571726a20126a220c6a22176a202220166a201e20156a202120146a20172016201573712015736a2017411a772017411577732017410777736a41ed8cc7c17a6a221e200c411e77200c41137773200c410a7773200c200672200571200c200671726a201c6a22056a22142017201673712016736a2014411a772014411577732014410777736a41c8cf8c807b6a221c2005411e772005411377732005410a77732005200c722006712005200c71726a201a6a22066a22152014201773712017736a2015411a772015411577732015410777736a41c7ffe5fa7b6a221a2006411e772006411377732006410a77732006200572200c712006200571726a201b6a220c6a22162015201473712014736a2016411a772016411577732016410777736a41f39780b77c6a221b200c411e77200c41137773200c410a7773200c200672200571200c200671726a201d6a22056a22176a202420166a202020156a202320146a20172016201573712015736a2017411a772017411577732017410777736a41c7a29ead7d6a221d2005411e772005411377732005410a77732005200c722006712005200c71726a201e6a22066a22142017201673712016736a2014411a772014411577732014410777736a41d1c6a9366a221e2006411e772006411377732006410a77732006200572200c712006200571726a201c6a220c6a22152014201773712017736a2015411a772015411577732015410777736a41e7d2a4a1016a221c200c411e77200c41137773200c410a7773200c200672200571200c200671726a201a6a22056a22162015201473712014736a2016411a772016411577732016410777736a418595dcbd026a221a2005411e772005411377732005410a77732005200c722006712005200c71726a201b6a22066a22176a202a20166a202620156a202920146a20172016201573712015736a2017411a772017411577732017410777736a41b8c2ecf0026a221b2006411e772006411377732006410a77732006200572200c712006200571726a201d6a220c6a22142017201673712016736a2014411a772014411577732014410777736a41fcdbb1e9046a221d200c411e77200c41137773200c410a7773200c200672200571200c200671726a201e6a22056a22152014201773712017736a2015411a772015411577732015410777736a41939ae099056a221e2005411e772005411377732005410a77732005200c722006712005200c71726a201c6a22066a22162015201473712014736a2016411a772016411577732016410777736a41d4e6a9a8066a221c2006411e772006411377732006410a77732006200572200c712006200571726a201a6a220c6a22176a202c20166a202820156a202b20146a20172016201573712015736a2017411a772017411577732017410777736a41bb95a8b3076a221a200c411e77200c41137773200c410a7773200c200672200571200c200671726a201b6a22056a22142017201673712016736a2014411a772014411577732014410777736a41ae928b8e786a221b2005411e772005411377732005410a77732005200c722006712005200c71726a201d6a22066a22152014201773712017736a2015411a772015411577732015410777736a4185d9c893796a221d2006411e772006411377732006410a77732006200572200c712006200571726a201e6a220c6a22162015201473712014736a2016411a772016411577732016410777736a41a1d1ff957a6a221e200c411e77200c41137773200c410a7773200c200672200571200c200671726a201c6a22056a22176a202e20166a203120156a202d20146a20172016201573712015736a2017411a772017411577732017410777736a41cbcce9c07a6a221c2005411e772005411377732005410a77732005200c722006712005200c71726a201a6a22066a22142017201673712016736a2014411a772014411577732014410777736a41f096ae927c6a221a2006411e772006411377732006410a77732006200572200c712006200571726a201b6a220c6a22152014201773712017736a2015411a772015411577732015410777736a41a3a3b1bb7c6a221b200c411e77200c41137773200c410a7773200c200672200571200c200671726a201d6a22056a22162015201473712014736a2016411a772016411577732016410777736a4199d0cb8c7d6a221d2005411e772005411377732005410a77732005200c722006712005200c71726a201e6a22066a22176a203420166a203320156a202f20146a20172016201573712015736a2017411a772017411577732017410777736a41a48ce4b47d6a221e2006411e772006411377732006410a77732006200572200c712006200571726a201c6a220c6a22142017201673712016736a2014411a772014411577732014410777736a4185ebb8a07f6a221c200c411e77200c41137773200c410a7773200c200672200571200c200671726a201a6a22056a22152014201773712017736a2015411a772015411577732015410777736a41f0c0aa83016a221a2005411e772005411377732005410a77732005200c722006712005200c71726a201b6a22066a22162015201473712014736a2016411a772016411577732016410777736a41968293cd016a221b2006411e772006411377732006410a77732006200572200c712006200571726a201d6a220c6a22176a203620166a203920156a203520146a20172016201573712015736a2017411a772017411577732017410777736a4188d8ddf1016a221d200c411e77200c41137773200c410a7773200c200672200571200c200671726a201e6a22056a22142017201673712016736a2014411a772014411577732014410777736a41cceea1ba026a221e2005411e772005411377732005410a77732005200c722006712005200c71726a201c6a22066a22152014201773712017736a2015411a772015411577732015410777736a41b5f9c2a5036a221c2006411e772006411377732006410a77732006200572200c712006200571726a201a6a220c6a22162015201473712014736a2016411a772016411577732016410777736a41b399f0c8036a221a200c411e77200c41137773200c410a7773200c200672200571200c200671726a201b6a22056a22176a20304119772030410e7773203041037673202c6a20386a2037410f772037410d77732037410a76736a221b20166a203b20156a203720146a20172016201573712015736a2017411a772017411577732017410777736a41cad4e2f6046a221f2005411e772005411377732005410a77732005200c722006712005200c71726a201d6a22066a22142017201673712016736a2014411a772014411577732014410777736a41cf94f3dc056a221d2006411e772006411377732006410a77732006200572200c712006200571726a201e6a220c6a22152014201773712017736a2015411a772015411577732015410777736a41f3dfb9c1066a221e200c411e77200c41137773200c410a7773200c200672200571200c200671726a201c6a22056a22162015201473712014736a2016411a772016411577732016410777736a41ee85bea4076a22202005411e772005411377732005410a77732005200c722006712005200c71726a201a6a22066a22176a20324119772032410e7773203241037673202e6a203a6a20314119772031410e7773203141037673202d6a20396a201b410f77201b410d7773201b410a76736a221a410f77201a410d7773201a410a76736a221c20166a203d20156a201a20146a20172016201573712015736a2017411a772017411577732017410777736a41efc695c5076a22142006411e772006411377732006410a77732006200572200c712006200571726a201f6a220c6a22152017201673712016736a2015411a772015411577732015410777736a4194f0a1a6786a221f200c411e77200c41137773200c410a7773200c200672200571200c200671726a201d6a22056a22162015201773712017736a2016411a772016411577732016410777736a4188849ce6786a221d2005411e772005411377732005410a77732005200c722006712005200c71726a201e6a22066a22172016201573712015736a2017411a772017411577732017410777736a41fafffb85796a221e2006411e772006411377732006410a77732006200572200c712006200571726a20206a220c6a221a20406a36025c20002043200c411e77200c41137773200c410a7773200c200672200571200c200671726a20146a2205411e772005411377732005410a77732005200c722006712005200c71726a201f6a2206411e772006411377732006410a77732006200572200c712006200571726a201d6a220c411e77200c41137773200c410a7773200c200672200571200c200671726a201e6a22146a36024c2000204120334119772033410e7773203341037673202f6a203b6a201c410f77201c410d7773201c410a76736a221c20156a201a2017201673712016736a201a411a77201a41157773201a410777736a41ebd9c1a27a6a221d20056a22156a360258200020452014411e772014411377732014410a77732014200c722006712014200c71726a201d6a22056a36024820002042203320344119772034410e77732034410376736a201b6a203e410f77203e410d7773203e410a76736a20166a2015201a201773712017736a2015411a772015411577732015410777736a41f7c7e6f77b6a221b20066a22166a360254200020472005411e772005411377732005410a77732005201472200c712005201471726a201b6a22066a3602442000200c203f6a203420384119772038410e77732038410376736a203c6a201c410f77201c410d7773201c410a76736a20176a20162015201a7371201a736a2016411a772016411577732016410777736a41f2f1c5b37c6a220c6a3602502000200420062005722014712006200571726a2006411e772006411377732006410a77736a200c6a3602400b200120036a2101200220036b22020d000b0b0bee2d01297e200020002903102204200129002022057c200029033022067c2207200129002822087c200720028542ebfa86dabfb5f6c11f85422089220942abf0d3f4afeebcb73c7c220a200685422889220b7c220c200129006022027c2000290318220d200129003022077c2000290338220e7c220f200129003822107c200f20038542f9c2f89b91a3b3f0db0085422089220342f1edf4f8a5a7fda7a57f7c220f200e8542288922117c22122003854230892213200f7c221420118542018922157c2216200129006822037c2016200029030822172001290010220f7c200029032822187c2219200129001822117c2019429fd8f9d9c291da829b7f85422089221942bbceaaa6d8d0ebb3bb7f7c221a201885422889221b7c221c201985423089221d85422089221e2000290300221f200129000022167c200029032022207c2221200129000822197c200029034020218542d1859aeffacf9487d100854220892221428892f39dffccf984ea007c222220208542288922237c2224202185423089222520227c22227c222620158542288922277c2228200129004822157c201c200129005022217c200c200985423089220c200a7c221c200b85420189220a7c220b200129005822097c200b202585422089220b20147c2214200a85422889220a7c2225200b85423089222920147c2214200a85420189222a7c222b2001290078220a7c202b20122001290070220b7c202220238542018922127c2222200a7c2022200c85422089220c201d201a7c221a7c221d20128542288922127c2222200c85423089222385422089222b20242001290040220c7c201a201b85420189221a7c221b20157c201b2013854220892213201c7c221b201a85422889221a7c221c2013854230892213201b7c221b7c2224202a85422889222a7c222c20097c202220037c2028201e85423089221e20267c222220278542018922267c222720077c2027201385422089221320147c221420268542288922267c2227201385423089221320147c221420268542018922267c222820107c2028202520057c201b201a85420189221a7c221b200c7c201b201e85422089221b2023201d7c221d7c221e201a85422889221a7c2223201b85423089221b854220892225201c200b7c201d20128542018922127c221c20217c201c202985422089221c20227c221d20128542288922127c2222201c85423089221c201d7c221d7c222820268542288922267c222920087c202320167c202c202b85423089222320247c2224202a85420189222a7c222b200f7c202b201c85422089221c20147c2214202a85422889222a7c222b201c85423089221c20147c2214202a85420189222a7c222c200f7c202c202720087c201d20128542018922127c221d20117c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892227202220197c201b201a85420189221a7c221b20027c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c2224202a85422889222a7c222c20107c2023200a7c2029202585423089222320287c222520268542018922267c222820037c2028201385422089221320147c221420268542288922267c2228201385423089221320147c221420268542018922267c222920197c2029202b20027c201b201a85420189221a7c221b20167c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892229202220097c201d20128542018922127c221d200c7c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20037c202320117c202c202785423089222320247c2224202a8542018922277c222a20077c202a201c85422089221c20147c221420278542288922277c222a201c85423089221c20147c221420278542018922277c222c20027c202c202820157c201d20128542018922127c221d20057c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892228202220217c201b201a85420189221a7c221b200b7c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20057c202320097c202b202985423089222320257c222520268542018922267c2229200b7c2029201385422089221320147c221420268542288922267c2229201385423089221320147c221420268542018922267c222b20167c202b202a20117c201b201a85420189221a7c221b20197c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b85422089222a202220107c201d20128542018922127c221d20157c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b200f7c202320087c202c202885423089222320247c222420278542018922277c222820217c2028201c85422089221c20147c221420278542288922277c2228201c85423089221c20147c221420278542018922277c222c20057c202c2029200a7c201d20128542018922127c221d200c7c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d8542208922292022200f7c201b201a85420189221a7c221b20077c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20077c202320217c202b202a85423089222320257c222520268542018922267c222a200a7c202a201385422089221320147c221420268542288922267c222a201385423089221320147c221420268542018922267c222b200c7c202b202820087c201b201a85420189221a7c221b20107c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892228202220157c201d20128542018922127c221d20167c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20167c202320097c202c202985423089222320247c222420278542018922277c222920027c2029201c85422089221c20147c221420278542288922277c2229201c85423089221c20147c221420278542018922277c222c20097c202c202a20117c201d20128542018922127c221d20037c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d85422089222a2022200b7c201b201a85420189221a7c221b20197c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c200a7c2023200c7c202b202885423089222320257c222520268542018922267c222820117c2028201385422089221320147c221420268542288922267c2228201385423089221320147c221420268542018922267c222b200b7c202b202920077c201b201a85420189221a7c221b20217c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b8542208922292022200f7c201d20128542018922127c221d20027c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b200b7c202320107c202c202a85423089222320247c222420278542018922277c222a20087c202a201c85422089221c20147c221420278542288922277c222a201c85423089221c20147c221420278542018922277c222c20037c202c202820197c201d20128542018922127c221d20157c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892228202220057c201b201a85420189221a7c221b20037c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20157c202320057c202b202985423089222320257c222520268542018922267c222920217c2029201385422089221320147c221420268542288922267c2229201385423089221320147c221420268542018922267c222b200f7c202b202a20197c201b201a85420189221a7c221b200a7c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b85422089222a202220027c201d20128542018922127c221d20087c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20027c202320077c202c202885423089222320247c222420278542018922277c222820117c2028201c85422089221c20147c221420278542288922277c2228201c85423089221c20147c221420278542018922277c222c20197c202c2029200c7c201d20128542018922127c221d20097c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892229202220167c201b201a85420189221a7c221b20107c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c200c7c202320117c202b202a85423089222320257c222520268542018922267c222a20157c202a201385422089221320147c221420268542288922267c222a201385423089221320147c221420268542018922267c222b20077c202b202820107c201b201a85420189221a7c221b200b7c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892228202220037c201d20128542018922127c221d20097c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20097c2023200a7c202c202985423089222320247c222420278542018922277c222920057c2029201c85422089221c20147c221420278542288922277c2229201c85423089221c20147c221420278542018922277c222c20117c202c202a200f7c201d20128542018922127c221d20217c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d85422089222a202220087c201b201a85420189221a7c221b20167c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20197c202320167c202b202885423089222320257c222520268542018922267c2228200c7c2028201385422089221320147c221420268542288922267c2228201385423089221320147c221420268542018922267c222b20057c202b2029200b7c201b201a85420189221a7c221b20157c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892229202220077c201d20128542018922127c221d200a7c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20107c202320037c202c202a85423089222320247c222420278542018922277c222a20107c202a201c85422089221c20147c221420278542288922277c222a201c85423089221c20147c221420278542018922277c222c20077c202c202820217c201d20128542018922127c221d20087c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d854220892228202220027c201b201a85420189221a7c221b200f7c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20117c202320197c202b202985423089222320257c222520268542018922267c222920087c2029201385422089221320147c221420268542288922267c2229201385423089221320147c221420268542018922267c222b20027c202b202a200c7c201b201a85420189221a7c221b20057c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b85422089222a202220217c201d20128542018922127c221d200f7c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20057c202320157c202c202885423089222320247c222420278542018922277c2228200b7c2028201c85422089221c20147c221420278542288922277c2228201c85423089221c20147c221420278542018922277c222c20087c202c202920037c201d20128542018922127c221d20167c201d202385422089221d201b201e7c221b7c221e20128542288922127c2223201d85423089221d8542208922292022200a7c201b201a85420189221a7c221b20097c201b201385422089221320247c221b201a85422889221a7c22222013854230892213201b7c221b7c222420278542288922277c222c20027c202320077c202b202a85423089222320257c222520268542018922267c222a20107c202a201385422089221320147c221420268542288922267c222a201385423089221320147c221420268542018922267c222b20037c202b2028200f7c201b201a85420189221a7c221b20117c201b202385422089221b201d201e7c221d7c221e201a85422889221a7c2223201b85423089221b854220892228202220167c201d20128542018922127c221d20197c201d201c85422089221c20257c221d20128542288922127c2222201c85423089221c201d7c221d7c222520268542288922267c222b20157c202320217c202c202985423089222320247c222420278542018922277c222920097c2029201c85422089221c20147c221420278542288922277c2229201c85423089221c20147c221420278542018922277c222c200a7c202c202a200b7c201d20128542018922127c221d200a7c201d202385422089220a201b201e7c221b7c221d20128542288922127c221e200a85423089220a8542208922232022200c7c201b201a85420189221a7c221b20157c201b201385422089221520247c2213201a85422889221a7c221b201585423089221520137c22137c222220278542288922247c222720097c201e20037c202b202885423089220320257c2209202685420189221e7c222520077c2025201585422089220720147c2215201e8542288922147c221e200785423089220720157c221520148542018922147c222520107c2025202920057c2013201a8542018922057c2210200c7c20102003854220892210200a201d7c22037c220a20058542288922057c220c2010854230892210854220892213201b200b7c200320128542018922037c220b20217c200b201c85422089222120097c220920038542288922037c220b202185423089222120097c22097c221220148542288922147c221a200485200b20197c2010200a7c221020058542018922057c221920027c201920078542208922022027202385423089220720227c22197c220a20058542288922057c220b2002854230892202200a7c220a853703102000200d2011201e20087c200920038542018922087c22037c2003200785422089220720107c221020088542288922087c220385200f200c20167c201920248542018922117c22167c2016202185422089220f20157c221620118542288922117c2219200f85423089220f20167c221685370318200020192017852003200785423089220720107c2210853703082000200b201f85201a201385423089220320127c22198537030020002018200a200585420189852003853703282000200e2019201485420189852002853703382000200620162011854201898520078537033020002020201020088542018985200f853703200bdf3004017f087e067f257e2380808080004180016b22092480808080002003290338210a2003290330210b2003290328210c2003290320210d2003290318210e2003290310210f2003290308211020032903002111410021122009410041800110eb9680800021132001200241807c41807f20081b41002002417f6a2209200920024b1b71220920022009491b22146a211502400240200220146b221441ff004d0d0041800121140c010b20132015201410e99680800021150b41800441800120081b221620096a21172007ad427f7c21182006200772ad427f7c211902400240034020142107201521082018211a2019211b024020092012460d00201241807f460d0220124180016a20024b0d03200120126a21084200211a41800121074200211b0b200d2008290038221c200e200a7c2008290030221d7c221e7c201b201e8542f9c2f89b91a3b3f0db0085422089221f42f1edf4f8a5a7fda7a57f7c2220200a8542288922217c22222008290008221b2011200d7c2008290000221e7c22237c202320042007ad7c22248542d1859aeffacf9487d100854220892223428892f39dffccf984ea007c2225200d8542288922267c2227202385423089222820257c2229202685420189222a7c200829007022237c222b200829007822257c202b20082900282226200f200b7c2008290020222c7c222d7c201a202d8542ebfa86dabfb5f6c11f85422089221a42abf0d3f4afeebcb73c7c222d200b85422889222e7c222f201a8542308922308542208922312008290018221a2010200c7c2008290010222b7c22327c203220052024200454ad7c220585429fd8f9d9c291da829b7f85422089220442bbceaaa6d8d0ebb3bb7f7c2232200c8542288922337c2234200485423089223520327c22327c2236202a8542288922377c2238200829006822047c2008290060222a202f7c2022201f85423089222220207c222f202185420189221f7c222020047c2020203585422089222020297c2221201f85422889221f7c2229202085423089223520217c2239201f85420189223a7c2221201d7c20212008290040221f20277c203220338542018922277c2232200829004822207c203220228542208922222030202d7c222d7c223020278542288922277c2232202285423089223385422089223b2008290050222120347c202d202e85420189222d7c222e200829005822227c202e2028854220892228202f7c222e202d85422889222d7c222f2028854230892228202e7c222e7c2234203a85422889223a7c223c20267c203220237c2038203185423089223120367c223220378542018922367c223720217c2037202885422089222820397c223720368542288922367c2238202885423089222820377c223720368542018922367c2239201a7c2039202920207c202e202d8542018922297c222d20257c202d203185422089222d203320307c222e7c223020298542288922297c2231202d85423089222d854220892233202f202c7c202e20278542018922277c222e201f7c202e203585422089222e20327c222f20278542288922277c2232202e85423089222e202f7c222f7c223520368542288922367c223920257c203120227c203c203b85423089223120347c2234203a85420189223a7c223b201c7c203b202e85422089222e20377c2237203a85422889223a7c223b202e85423089222e20377c2237203a85420189223a7c223c20047c203c2038201b7c202f20278542018922277c222f202a7c202f203185422089222f202d20307c222d7c223020278542288922277c2231202f85423089222f8542208922382032201e7c202d20298542018922297c222d202b7c202d202885422089222820347c222d20298542288922297c22322028854230892228202d7c222d7c2234203a85422889223a7c223c20207c203120227c2039203385423089223120357c223320368542018922357c2236201f7c2036202885422089222820377c223620358542288922357c2237202885423089222820367c223620358542018922357c2239202c7c2039203b20267c202d20298542018922297c222d202b7c202d203185422089222d202f20307c222f7c223020298542288922297c2231202d85423089222d8542208922392032202a7c202f20278542018922277c222f201e7c202f202e85422089222e20337c222f20278542288922277c2232202e85423089222e202f7c222f7c223320358542288922357c223b20227c2031201c7c203c203885423089223120347c2234203a8542018922387c223a201b7c203a202e85422089222e20367c223620388542288922387c223a202e85423089222e20367c223620388542018922387c223c20237c203c203720217c202f20278542018922277c222f20237c202f203185422089222f202d20307c222d7c223020278542288922277c2231202f85423089222f8542208922372032201a7c202d20298542018922297c222d201d7c202d202885422089222820347c222d20298542288922297c22322028854230892228202d7c222d7c223420388542288922387c223c20257c2031201c7c203b203985423089223120337c223320358542018922357c223920207c2039202885422089222820367c223620358542288922357c2239202885423089222820367c223620358542018922357c223b201f7c203b203a20047c202d20298542018922297c222d202a7c202d203185422089222d202f20307c222f7c223020298542288922297c2231202d85423089222d85422089223a2032201a7c202f20278542018922277c222f201b7c202f202e85422089222e20337c222f20278542288922277c2232202e85423089222e202f7c222f7c223320358542288922357c223b20217c2031202c7c203c203785423089223120347c223420388542018922377c2238201e7c2038202e85422089222e20367c223620378542288922377c2238202e85423089222e20367c223620378542018922377c223c20257c203c2039202b7c202f20278542018922277c222f201d7c202f203185422089222f202d20307c222d7c223020278542288922277c2231202f85423089222f854220892239203220267c202d20298542018922297c222d20217c202d202885422089222820347c222d20298542288922297c22322028854230892228202d7c222d7c223420378542288922377c223c201a7c203120207c203b203a85423089223120337c223320358542018922357c223a201e7c203a202885422089222820367c223620358542288922357c223a202885423089222820367c223620358542018922357c223b20047c203b2038202b7c202d20298542018922297c222d202c7c202d203185422089222d202f20307c222f7c223020298542288922297c2231202d85423089222d854220892238203220267c202f20278542018922277c222f201c7c202f202e85422089222e20337c222f20278542288922277c2232202e85423089222e202f7c222f7c223320358542288922357c223b201f7c2031201d7c203c203985423089223120347c223420378542018922377c2239201f7c2039202e85422089222e20367c223620378542288922377c2239202e85423089222e20367c223620378542018922377c223c201a7c203c203a20237c202f20278542018922277c222f201b7c202f203185422089222f202d20307c222d7c223020278542288922277c2231202f85423089222f85422089223a203220227c202d20298542018922297c222d202a7c202d202885422089222820347c222d20298542288922297c22322028854230892228202d7c222d7c223420378542288922377c223c201b7c2031202b7c203b203885423089223120337c223320358542018922357c2238202a7c2038202885422089222820367c223620358542288922357c2238202885423089222820367c223620358542018922357c223b20207c203b2039201e7c202d20298542018922297c222d20227c202d203185422089222d202f20307c222f7c223020298542288922297c2231202d85423089222d8542208922392032201d7c202f20278542018922277c222f20217c202f202e85422089222e20337c222f20278542288922277c2232202e85423089222e202f7c222f7c223320358542288922357c223b202c7c203120257c203c203a85423089223120347c223420378542018922377c223a20237c203a202e85422089222e20367c223620378542288922377c223a202e85423089222e20367c223620378542018922377c223c20217c203c2038202c7c202f20278542018922277c222f20047c202f203185422089222f202d20307c222d7c223020278542288922277c2231202f85423089222f8542208922382032201c7c202d20298542018922297c222d20267c202d202885422089222820347c222d20298542288922297c22322028854230892228202d7c222d7c223420378542288922377c223c201f7c2031202a7c203b203985423089223120337c223320358542018922357c223920267c2039202885422089222820367c223620358542288922357c2239202885423089222820367c223620358542018922357c223b20227c203b203a20237c202d20298542018922297c222d20047c202d203185422089222d202f20307c222f7c223020298542288922297c2231202d85423089222d85422089223a2032201b7c202f20278542018922277c222f20257c202f202e85422089222e20337c222f20278542288922277c2232202e85423089222e202f7c222f7c223320358542288922357c223b201a7c203120207c203c203885423089223120347c223420378542018922377c2238202b7c2038202e85422089222e20367c223620378542288922377c2238202e85423089222e20367c223620378542018922377c223c20207c203c2039201e7c202f20278542018922277c222f201c7c202f203185422089222f202d20307c222d7c223020278542288922277c2231202f85423089222f8542208922392032201d7c202d20298542018922297c222d201a7c202d202885422089222820347c222d20298542288922297c22322028854230892228202d7c222d7c223420378542288922377c223c202b7c203120047c203b203a85423089223120337c223320358542018922357c223a20227c203a202885422089222820367c223620358542288922357c223a202885423089222820367c223620358542018922357c223b20217c203b2038202a7c202d20298542018922297c222d201b7c202d203185422089222d202f20307c222f7c223020298542288922297c2231202d85423089222d8542208922382032201c7c202f20278542018922277c222f20237c202f202e85422089222e20337c222f20278542288922277c2232202e85423089222e202f7c222f7c223320358542288922357c223b201e7c2031201f7c203c203985423089223120347c223420378542018922377c2239201d7c2039202e85422089222e20367c223620378542288922377c2239202e85423089222e20367c223620378542018922377c223c201f7c203c203a20267c202f20278542018922277c222f201e7c202f203185422089222f202d20307c222d7c223020278542288922277c2231202f85423089222f85422089223a203220257c202d20298542018922297c222d202c7c202d202885422089222820347c222d20298542288922297c22322028854230892228202d7c222d7c223420378542288922377c223c20217c2031201d7c203b203885423089223120337c223320358542018922357c223820257c2038202885422089222820367c223620358542288922357c2238202885423089222820367c223620358542018922357c223b20267c203b203920227c202d20298542018922297c222d201a7c202d203185422089222d202f20307c222f7c223020298542288922297c2231202d85423089222d854220892239203220237c202f20278542018922277c222f20207c202f202e85422089222e20337c222f20278542288922277c2232202e85423089222e202f7c222f7c223320358542288922357c223b201b7c2031201b7c203c203a85423089223120347c223420378542018922377c223a202c7c203a202e85422089222e20367c223620378542288922377c223a202e85423089222e20367c223620378542018922377c223c20267c203c2038202a7c202f20278542018922277c222f202b7c202f203185422089222f202d20307c222d7c223020278542288922277c2231202f85423089222f854220892238203220047c202d20298542018922297c222d201c7c202d202885422089222820347c222d20298542288922297c22322028854230892228202d7c222d7c223420378542288922377c223c20047c203120217c203b203985423089223120337c223320358542018922357c2239202b7c2039202885422089222820367c223620358542288922357c2239202885423089222820367c223620358542018922357c223b201e7c203b203a201c7c202d20298542018922297c222d201d7c202d203185422089222d202f20307c222f7c223020298542288922297c2231202d85423089222d85422089223a2032201f7c202f20278542018922277c222f202c7c202f202e85422089222e20337c222f20278542288922277c2232202e85423089222e202f7c222f7c223320358542288922357c223b201d7c2031201a7c203c203885423089223120347c223420378542018922377c2238202a7c2038202e85422089222e20367c223620378542288922377c2238202e85423089222e20367c223620378542018922377c223c201c7c203c203920257c202f20278542018922277c222f20227c202f203185422089222f202d20307c222d7c223020278542288922277c2231202f85423089222f854220892239203220207c202d20298542018922297c222d20237c202d202885422089222820347c222d20298542288922297c22322028854230892228202d7c222d7c223420378542288922377c223c20237c2031201e7c203b203a85423089223120337c223320358542018922357c223a201b7c203a202885422089222820367c223620358542288922357c223a202885423089222820367c223620358542018922357c223b20257c203b2038202c7c202d20298542018922297c222d20267c202d203185422089222d202f20307c222f7c223020298542288922297c2231202d85423089222d8542208922382032202b7c202f20278542018922277c222f201a7c202f202e85422089222e20337c222f20278542288922277c2232202e85423089222e202f7c222f7c223320358542288922357c223b20047c2031202a7c203c203985423089223120347c223420378542018922377c223920047c2039202e85422089220420367c222e20378542288922367c22372004854230892204202e7c222e20368542018922367c2239201d7c2039203a201f7c202f202785420189221d7c222720207c20272031854220892227202d20307c222d7c222f201d85422889221d7c22302027854230892227854220892231203220217c202d20298542018922297c222d20227c202d202885422089222820347c222d20298542288922297c22322028854230892228202d7c222d7c223420368542288922367c223920267c203020237c203b203885423089222320337c222620358542018922307c223320217c20332028854220892221202e7c2228203085422889222e7c2230202185423089222120287c2228202e85420189222e7c2233201a7c2033203720207c202d202985420189221a7c222020257c202020238542208922232027202f7c22257c2220201a85422889221a7c222720238542308922238542208922292032202c7c2025201d85420189221d7c2225201f7c2025200485422089222520267c2226201d85422889221d7c222c202585423089222520267c22267c2204202e85422889221f7c222d202985423089222920047c2204201f8542018985202c201e7c202320207c221e201a8542018922237c222c202b7c202c202185422089222c2039203185423089221a20347c222b7c221f20238542288922237c2220202c85423089222c85210d2030201b7c2026201d85420189221d7c221b202a7c201b201a85422089221b201e7c221e201d85422889221d7c2226201b85423089221b201e7c221e201d85420189200c85202720227c202b203685420189221d7c221a201c7c201a202585422089221c20287c2225201d85422889221d7c221a201c85423089221c85210c202d200e85202c201f7c222c85210e202020108520048521102026201185201c20257c221c852111200a201c201d8542018985201b85210a200b202c20238542018985202985210b201e200f85201a85210f202421042017201220166a2212470d000b2003200a3703382003200b3703302003200c3703282003200d3703202003200e3703182003200f370310200320103703082003201137030020134180016a2480808080000f0b41807f20124180016a41f48cc0800010ac81808000000b20124180016a200241f48cc0800010aa81808000000b950402047f027e024002400240024002400240024020002d00d00122030d0041002103200221040c010b200241800120036b220520022005491b220420036a22062004490d0120064180014b0d02200020036a2001200410e9968080001a200020002d00d00120046a22033a00d001200120046a2101200220046b2104200520024f0d00410021032000200041800120004180016a20002903c001200041c8016a220229030020002d00d2014101410010be80808000200041003a00d001200020002903c00122074280017c22083703c001200220022903002008200754ad7c3703000b024041002004417f6a2202200220044b1b41807f712202450d0020042002490d0520002001200220004180016a20002903c001200041c8016a220329030020002d00d2014101410010be80808000200020002903c00122072002ad7c22083703c001200320032903002008200754ad7c370300200120026a2101200420026b210420002d00d00121030b2004418001200341ff017122026b220320042003491b220420026a22032004490d0220034180014b0d03200020026a2001200410e9968080001a200020002d00d00120046a3a00d00120000f0b2003200641e48dc0800010ac81808000000b200641800141e48dc0800010aa81808000000b2002200341e48dc0800010ac81808000000b200341800141e48dc0800010aa81808000000b2002200441f48dc0800010aa81808000000bfc0501097f0240024002400240024020020d00410021060c010b200120026a210720052d008001210841002106200121094100210a03400240024020092c0000220b4100480d002005200b6a2d0000220c41ff01470d012000200a3602042000200b3602000f0b2000200a3602042000418280c4003602000f0b02400240200620044b0d00200320066a210d2006450d01024002402006410371220e0d002003210b0c010b2003210b0340200b200b2d0000413a6c200c6a220c3a0000200b41016a210b200c410876210c200e417f6a220e0d000b0b20064104490d010340200b200b2d0000413a6c200c6a220c3a0000200b41016a220e200e2d0000413a6c200c4108766a220c3a0000200b41026a220e200e2d0000413a6c200c4108766a220c3a0000200b41036a220e200e2d0000413a6c200c4108766a220c3a0000200c410876210c200b41046a220b200d470d000c020b0b2006200441908fc0800010aa81808000000b0240200c450d00200620044f0d04200d200c3a0000200641016a21060b200a41016a210a200941016a22092007470d000b20062004200620044b1b210e200841ff0171210c0240034020012d0000200c470d01200320066a410020062004491b210b200e2006460d03200141016a2101200b41003a0000200641016a21062002417f6a22020d000b0b200620044b0d0320064102490d00200320066a21044100210b02402006410176220e4101460d002006417f6a210c200e41feffffff0771210a4100210b03402003200c6a220d2d00002109200d2003200b6a220e2d00003a0000200e20093a00002004200b417e736a220d2d00002109200d200e41016a220e2d00003a0000200e20093a0000200c417e6a210c200a200b41026a220b470d000b0b2006410271450d002003200b6a220c2d0000210e200c2004200b417f736a220b2d00003a0000200b200e3a00000b2000418380c400360200200020063602040f0b2000200b3602042000418080c4003602000f0b2000428080c4003702000f0b2006200441808fc0800010aa81808000000baa0201037f2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000b1e00200128021c41a090c08000410b200128022028020c118180808000000bf50202027f017e23808080800041c0006b22032480808080002003200236020c024002400240200128020822042002460d0020020d0120004200370208200041ac90c08000360200200020012802043602040c020b20012902002105200141ac90c0800036020020002005370200200141086a2204290200210520044200370200200041086a20053702002001200128020420026a3602040c010b024020042002490d00200341106a2001410c6a20012802042004200128020028020011838080800000200341106a41086a22042002360200200020032902103702002001200128020820026b3602082001200128020420026a360204200041086a20042902003702000c010b20034102360214200341b891c080003602102003420237021c2003200436023c2003418b80808000ad42208622052003413c6aad84370330200320052003410c6aad843703282003200341286a360218200341106a41c891c0800010f280808000000b200341c0006a2480808080000b22002000410036020c2000200336020820002002360204200041ac90c080003602000b7a01017f410021040240024020034100480d00024020030d00410121040c020b41002d00b8bfd380001a200341002802b0bfd380001182808080000022040d01410121040b20042003419090c0800010ae80808000000b20042002200310e99680800021022000200336020820002002360204200020033602000b960101017f410021040240024020034100480d00024020030d00410121040c020b41002d00b8bfd380001a200341002802b0bfd380001182808080000022040d01410121040b20042003418894c0800010ae80808000000b20042002200310e99680800021022000200336020820002003360204200020023602002000411d4181012003410a76674102746b200341ffff074b1b36020c0b040041000b02000b6b01017f024020012802002204410171450d002000200120042004417e712002200310ca808080000f0b20042004280208220141016a36020802402001417f4c0d002000200436020c2000200336020820002002360204200041dc92c080003602000f0b10da80808000000be00101017f41002d00b8bfd380001a02400240410c41002802b0bfd38000118280808000002206450d0020064102360208200620033602002006200420036b20056a3602042001200620012802002203200320024622021b36020002402002450d002000200636020c2000200536020820002004360204200041dc92c080003602000f0b20032003280208220141016a3602082001417f4c0d012000200336020c2000200536020820002004360204200041dc92c08000360200200641002802a8bfd38000118080808000000f0b4104410c10b980808000000b10da80808000000b820301037f23808080800041106b220424808080800002400240024020012802002201410171450d00200220036a2001417e7122052002200310ec968080006b21060c010b41002106200141002001280208220520054101461b360208024020054101470d002001280204210620012802002105200141002802a8bfd380001180808080000020052002200310ec968080001a0c010b0240024020034100480d00410121052003450d0141002d00b8bfd380001a200341002802b0bfd380001182808080000022050d01410121060b20062003419090c0800010ae80808000000b20052002200310e9968080001a200120012802082202417f6a3602082003210620024101470d00200141046a280200417f4c0d01200128020041002802a8bfd3800011808080800000200141002802a8bfd3800011808080800000200321060b200020033602082000200536020420002006360200200441106a2480808080000f0b419092c08000412b2004410f6a418092c0800041cc92c0800010a481808000000ba00201057f0240024002400240024020012802002201410171450d00411d41810120022001417e7122046b220520036a2201410a76674102746b200141ffff074b1b2106024020022004470d0020062102200121030c050b2006410576220720056a220241808080c000490d0241002d00b8bfd380001a411441002802b0bfd38000118280808000002202450d01200241013602102002200720016a22083602082002200420076b360204200220083602002002200641027641077136020c0c030b200020012002200310cd808080000f0b4104411410b980808000000b20024105742006411d717221020b4100200120056b2206200620014b1b2101200420056a21040b2000200236020c2000200336020820002001360204200020043602000bb80401057f23808080800041106b22042480808080000240024002400240024020012802084101470d002001280200210520012802042106200141002802a8bfd3800011808080800000411d4181012006410a76674102746b200641ffff074b1b2107200220056b220820036a2103024020022005470d00200721010c050b02402007410576220220086a220141808080c000490d0041002d00b8bfd380001a411441002802b0bfd38000118280808000002201450d02200141013602102001200220036a3602082001200520026b3602042001200220066a3602002001200741027641077136020c0c040b20014105742007411d717221010c030b410021050240024020034100480d00410121052003450d0141002d00b8bfd380001a200341002802b0bfd380001182808080000022050d01410121050b20052003419090c0800010ae80808000000b20052002200310e9968080001a200120012802082206417f6a360208024020064101470d00200141046a280200417f4c0d02200128020041002802a8bfd3800011808080800000200141002802a8bfd38000118080808000000b411d4181012003410a76674102746b200341ffff074b1b2101200321060c030b4104411410b980808000000b419092c08000412b2004410f6a418092c0800041cc92c0800010a481808000000b4100200320086b2202200220034b1b2103200620086b2106200520086a21050b2000200136020c200020063602082000200336020420002005360200200441106a2480808080000bea0101017f23808080800041106b2203248080808000024002400240024020002802002200410171450d00200120026a2000417e7122006b417f4c0d02200041002802a8bfd38000118080808000000c010b200020002802082202417f6a36020820024101470d00200041046a280200417f4c0d02200028020041002802a8bfd3800011808080800000200041002802a8bfd38000118080808000000b200341106a2480808080000f0b419092c08000412b2003410f6a418092c0800041bc92c0800010a481808000000b419092c08000412b2003410f6a418092c0800041cc92c0800010a481808000000b6801017f024020012802002204410171450d0020002001200420042002200310ca808080000f0b20042004280208220141016a36020802402001417f4c0d002000200436020c2000200336020820002002360204200041dc92c080003602000f0b10da80808000000b830301037f23808080800041106b220424808080800002400240024020012802002201410171450d00200220036a20012002200310ec9680800022016b2105200121060c010b41002105200141002001280208220620064101461b360208024020064101470d002001280204210520012802002106200141002802a8bfd380001180808080000020062002200310ec968080001a0c010b0240024020034100480d00410121062003450d0141002d00b8bfd380001a200341002802b0bfd380001182808080000022060d01410121050b20052003419090c0800010ae80808000000b20062002200310e9968080001a200120012802082202417f6a3602082003210520024101470d00200141046a280200417f4c0d01200128020041002802a8bfd3800011808080800000200141002802a8bfd3800011808080800000200321050b200020033602082000200636020420002005360200200441106a2480808080000f0b419092c08000412b2004410f6a418092c0800041cc92c0800010a481808000000b9b0201057f0240024002400240024020012802002201410171450d00411d418101200220016b220420036a2205410a76674102746b200541ffff074b1b2106024020022001470d0020062102200521030c050b2006410576220720046a220241808080c000490d0241002d00b8bfd380001a411441002802b0bfd38000118280808000002202450d01200241013602102002200720056a22083602082002200120076b360204200220083602002002200641027641077136020c0c030b200020012002200310cd808080000f0b4104411410b980808000000b20024105742006411d717221020b4100200520046b2206200620054b1b2105200120046a21010b2000200236020c2000200336020820002005360204200020013602000be50101017f23808080800041106b2203248080808000024002400240024020002802002200410171450d00200120026a20006b417f4c0d02200041002802a8bfd38000118080808000000c010b200020002802082202417f6a36020820024101470d00200041046a280200417f4c0d02200028020041002802a8bfd3800011808080800000200041002802a8bfd38000118080808000000b200341106a2480808080000f0b419092c08000412b2003410f6a418092c0800041bc92c0800010a481808000000b419092c08000412b2003410f6a418092c0800041cc92c0800010a481808000000b2301017f410121010240200028020022004101710d00200028020841014621010b20010b4901017f200128020022012001280208220441016a36020802402004417f4a0d0010da80808000000b2000200136020c2000200336020820002002360204200041dc92c080003602000bdc0201037f23808080800041106b2204248080808000410021052001280200220141002001280208220620064101461b36020802400240024020064101470d002001280204210520012802002106200141002802a8bfd380001180808080000020062002200310ec968080001a0c010b0240024020034100480d00410121062003450d0141002d00b8bfd380001a200341002802b0bfd380001182808080000022060d01410121050b20052003419090c0800010ae80808000000b20062002200310e9968080001a200120012802082202417f6a3602082003210520024101470d00200141046a280200417f4c0d01200128020041002802a8bfd3800011808080800000200141002802a8bfd3800011808080800000200321050b200020033602082000200636020420002005360200200441106a2480808080000f0b419092c08000412b2004410f6a418092c0800041cc92c0800010a481808000000b1300200020012802002002200310cd808080000b0d0020002802002802084101460b960101027f23808080800041106b22032480808080002000280200220020002802082204417f6a3602080240024020044101470d00200041046a280200417f4c0d01200028020041002802a8bfd3800011808080800000200041002802a8bfd38000118080808000000b200341106a2480808080000f0b419092c08000412b2003410f6a418092c0800041cc92c0800010a481808000000bff0402067f027e23808080800041d0006b2202248080808000410121030240200128021c220441f092c0800041022001280220220528020c2206118180808000000d00024020002802042207450d002000280200210141a080808000ad422086200241286aad84210841a180808000ad4220862002410f6aad8421090340200220012d000022033a000f02400240024002400240024002400240024020030e230305050505050505050200050501050505050505050505050505050505050505050506040b200441f392c0800041022006118180808000000d060c070b200441f592c080004102200611818080800000450d060c050b200441f792c080004102200611818080800000450d050c040b2004418493c080004102200611818080800000450d040c030b200341dc00460d010b0240200341606a41ff017141df00490d002002200937032820024101360224200241013602142002418893c080003602102002410136021c200241033a004c20024108360248200242203702402002428080808020370238200241023602302002200241306a3602202002200241286a36021820042005200241106a10e280808000450d030c020b200241013602342002419093c080003602302002420137023c20022008370310200220033602282002200241106a36023820042005200241306a10e280808000450d020c010b20024101360234200241fc92c080003602302002420137023c20022008370310200220033602282002200241106a36023820042005200241306a10e280808000450d010b410121030c030b200141016a21012007417f6a22070d000b0b200441f292c08000410120061181808080000021030b200241d0006a24808080800020030b1700419894c08000410541f894c0800010f480808000000bc20603037f027e027f02402002280200220341134d0d0002400240200042808084fea6dee111540d002001200341706a22046a22052000200042808084fea6dee11180220642808084fea6dee1117e7d2200428080e983b1de1680a7410174418c96c080006a2f00003b00002005410c6a200042e40080220742e40082a7410174418c96c080006a2f00003b00002005410a6a20004290ce008042e40082a7410174418c96c080006a2f00003b0000200541086a200042c0843d8042e40082a7410174418c96c080006a2f00003b0000200541066a20004280c2d72f80a741e40070410174418c96c080006a2f00003b0000200541046a20004280c8afa02580a741e40070410174418c96c080006a2f00003b00002005410e6a2000200742e4007e7da7410174418c96c080006a2f00003b0000200541026a20004280a094a58d1d80a741ffff037141e40070410174418c96c080006a2f00003b00002006a721050c010b0240024020004280c2d72f5a0d00200021060c010b2002200341786a2203360200200120036a2205200020004280c2d72f8022064280c2d72f7e7da7220441c0843d6e410174418c96c080006a2f00003b0000200541046a200441e4006e220841e40070410174418c96c080006a2f00003b0000200541066a2004200841e4006c6b410174418c96c080006a2f00003b0000200541026a20044190ce006e41ffff037141e40070410174418c96c080006a2f00003b00000b2006a72108024020064290ce005a0d0020032104200821050c010b20012003417c6a22046a200820084190ce006e22054190ce006c6b220841ffff037141e4006e2209410174418c96c080006a2f00003b0000200120036a417e6a2008200941e4006c6b41ffff0371410174418c96c080006a2f00003b00000b02400240200541e4004f0d00200521030c010b20012004417e6a22046a2005200541ffff037141e4006e220341e4006c6b41ffff0371410174418c96c080006a2f00003b00000b0240200341ffff03712205410a490d0020012004417e6a22036a2005410174418c96c080006a2f00003b0000200220033602000f0b20012004417f6a22056a20034130723a0000200220053602000f0b41d497c08000411c41f097c0800010f480808000000b19002000290300200041086a2903004101200110dd808080000b810503017f027e017f23808080800041a0016b22042480808080002004412736029c0102400240200142808020540d00200441306a2000420042f3b2d8c19e9ebdcc957f420010f196808000200441c0006a2001420042f3b2d8c19e9ebdcc957f420010f196808000200441206a2000420042d2e1aadaeda7c987f600420010f196808000200441d0006a2001420042d2e1aadaeda7c987f600420010f196808000200441e0006a200020014200420010f196808000200441d0006a41086a290300200441c0006a41086a29030020042903402201200441306a41086a2903007c2205200154ad7c2201200441206a41086a2903002004290320220620057c200654ad7c7c2205200154ad7c2004290350220620057c2201200654ad7c200441e0006a41086a2903007c200120042903607c2206200154ad7c2201423e8821052006423e8820014202868421010c010b20004213882001422d868442bda282a38eab04802101420021050b200441106a20012005428080e0b0b79fb79cf500420010f196808000200429031020007c200441f5006a2004419c016a10db80808000200428029c012107024020012005844200510d00200441f5006a41146a41302007416c6a10eb968080001a2004411436029c01200420014213882005422d8684220042bda282a38eab048022052001428080e0b0b79fb79cf500420010f196808000200429030020017c200441f5006a2004419c016a10db80808000200428029c012107200042bda282a38eab04540d00200441f6006a41302007417f6a10eb968080001a20042005a741306a3a0075410021070b2003200241014100200441f5006a20076a412720076b10e3808080002107200441a0016a24808080800020070be80201037f2380808080004180016b2202248080808000200220002d000022004101714130723a007f200041017622036741686a210402400240200041024f0d00200241ff006a21000c010b200220034101714130723a007e024020044107470d00200241fe006a21000c010b200220004102764101714130723a007d024020044106470d00200241fd006a21000c010b200220004103764101714130723a007c024020044105470d00200241fc006a21000c010b200220004104764101714130723a007b024020044104470d00200241fb006a21000c010b200220004105764101714130723a007a024020044103470d00200241fa006a21000c010b200220004106764101714130723a0079024020044102470d00200241f9006a21000c010b200220004107764130723a0078200241f8006a21000b20014101418a96c0800041022000418101200441f8006a41ff01716b10e380808000210020024180016a24808080800020000b910101037f2380808080004180016b220224808080800020002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e380808000210020024180016a24808080800020000b840701027f23808080800041206b220324808080800002400240024002400240024002400240024002400240024020010e2806010101010101010102040101030101010101010101010101010101010101010101080101010107000b200141dc00460d040b2001418006490d072002410171450d07200110b081808000450d072003410c6a41026a41003a0000200341003b010c2003200141147641b09ec080006a2d00003a000f20032001410476410f7141b09ec080006a2d00003a001320032001410876410f7141b09ec080006a2d00003a001220032001410c76410f7141b09ec080006a2d00003a001120032001411076410f7141b09ec080006a2d00003a00102003410c6a20014101726741027622026a220441fb003a00002004417f6a41f5003a00002003410c6a2002417e6a22026a41dc003a00002003410c6a41086a22042001410f7141b09ec080006a2d00003a00002000410a3a000b200020023a000a2000200329010c370000200341fd003a0015200041086a20042f01003b00000c090b20004180043b010a20004200370102200041dce8013b01000c080b20004180043b010a20004200370102200041dce4013b01000c070b20004180043b010a20004200370102200041dcdc013b01000c060b20004180043b010a20004200370102200041dcb8013b01000c050b20004180043b010a20004200370102200041dce0003b01000c040b200241800271450d0120004180043b010a20004200370102200041dcce003b01000c030b200241808004710d010b02402001108d818080000d00200341166a41026a41003a0000200341003b01162003200141147641b09ec080006a2d00003a001920032001410476410f7141b09ec080006a2d00003a001d20032001410876410f7141b09ec080006a2d00003a001c20032001410c76410f7141b09ec080006a2d00003a001b20032001411076410f7141b09ec080006a2d00003a001a200341166a20014101726741027622026a220441fb003a00002004417f6a41f5003a0000200341166a2002417e6a22026a41dc003a0000200341166a41086a22042001410f7141b09ec080006a2d00003a00002000410a3a000b200020023a000a20002003290116370000200341fd003a001f200041086a20042f01003b00000c020b2000200136020420004180013a00000c010b20004180043b010a20004200370102200041dcc4003b01000b200341206a2480808080000b1400200128021c2001280220200010e2808080000ba705010a7f23808080800041306b22032480808080002003200136022c20032000360228200341033a00242003422037021c41002104200341003602142003410036020c02400240024002400240200228021022050d00200228020c2200450d012002280208220120004103746a21062000417f6a41ffffffff017141016a21042002280200210003400240200041046a2802002207450d00200328022820002802002007200328022c28020c118180808000000d040b20012802002003410c6a200141046a280200118480808000000d03200041086a2100200141086a22012006470d000c020b0b20022802142201450d00200141057421082001417f6a41ffffff3f7141016a210420022802082109200228020021004100210703400240200041046a2802002201450d00200328022820002802002001200328022c28020c118180808000000d030b2003200520076a220141106a28020036021c20032001411c6a2d00003a00242003200141186a2802003602202001410c6a28020021064100210a4100210b024002400240200141086a2802000e03010002010b2006410374210c4100210b2009200c6a220c2802000d01200c28020421060b4101210b0b200320063602102003200b36020c200141046a280200210602400240024020012802000e03010002010b2006410374210b2009200b6a220b2802000d01200b28020421060b4101210a0b200320063602182003200a3602142009200141146a2802004103746a22012802002003410c6a200141046a280200118480808000000d02200041086a21002008200741206a2207470d000b0b200420022802044f0d012003280228200228020020044103746a22012802002001280204200328022c28020c11818080800000450d010b410121010c010b410021010b200341306a24808080800020010bbc0601077f0240024020010d00200541016a210620002802142107412d21080c010b412b418080c4002000280214220741017122011b2108200120056a21060b0240024020074104710d00410021020c010b0240024020034110490d002002200310af8180800021010c010b024020030d00410021010c010b2003410371210902400240200341044f0d00410021014100210a0c010b2003410c71210b410021014100210a034020012002200a6a220c2c000041bf7f4a6a200c41016a2c000041bf7f4a6a200c41026a2c000041bf7f4a6a200c41036a2c000041bf7f4a6a2101200b200a41046a220a470d000b0b2009450d002002200a6a210c03402001200c2c000041bf7f4a6a2101200c41016a210c2009417f6a22090d000b0b200120066a21060b024020002802000d000240200028021c22012000280220220c20082002200310e480808000450d0041010f0b200120042005200c28020c118180808000000f0b02400240024002402000280204220120064b0d00200028021c22012000280220220c20082002200310e480808000450d0141010f0b2007410871450d01200028021021092000413036021020002d001821074101210b200041013a0018200028021c220c2000280220220a20082002200310e4808080000d02200120066b41016a2101024003402001417f6a2201450d01200c4130200a28021011848080800000450d000b41010f0b0240200c20042005200a28020c11818080800000450d0041010f0b200020073a00182000200936021041000f0b200120042005200c28020c11818080800000210b0c010b200120066b2106024002400240410120002d0018220120014103461b22010e03020001020b20062101410021060c010b20064101762101200641016a41017621060b200141016a2101200028021021092000280220210c200028021c210a024003402001417f6a2201450d01200a2009200c28021011848080800000450d000b41010f0b4101210b200a200c20082002200310e4808080000d00200a20042005200c28020c118180808000000d00410021010340024020062001470d0020062006490f0b200141016a2101200a2009200c28021011848080800000450d000b2001417f6a2006490f0b200b0b410002402002418080c400460d0020002002200128021011848080800000450d0041010f0b024020030d0041000f0b200020032004200128020c118180808000000ba00601067f0240200028020022032000280208220472450d0002402004410171450d00200120026a210502400240200028020c22060d0041002107200121080c010b41002107200121080340200822042005460d020240024020042c00002208417f4c0d00200441016a21080c010b0240200841604f0d00200441026a21080c010b0240200841704f0d00200441036a21080c010b200441046a21080b200820046b20076a21072006417f6a22060d000b0b20082005460d00024020082c00002204417f4a0d0020044160491a0b024002402007450d00024020072002490d0020072002460d01410021040c020b200120076a2c000041404e0d00410021040c010b200121040b2007200220041b21022004200120041b21010b024020030d00200028021c20012002200028022028020c118180808000000f0b200028020421030240024020024110490d002001200210af8180800021040c010b024020020d00410021040c010b2002410371210602400240200241044f0d0041002104410021070c010b2002410c712105410021044100210703402004200120076a22082c000041bf7f4a6a200841016a2c000041bf7f4a6a200841026a2c000041bf7f4a6a200841036a2c000041bf7f4a6a21042005200741046a2207470d000b0b2006450d00200120076a21080340200420082c000041bf7f4a6a2104200841016a21082006417f6a22060d000b0b02400240200320044d0d00200320046b2106024002400240410020002d0018220420044103461b22040e03020001020b20062104410021060c010b20064101762104200641016a41017621060b200441016a21042000280210210720002802202108200028021c210003402004417f6a2204450d0220002007200828021011848080800000450d000b41010f0b200028021c20012002200028022028020c118180808000000f0b0240200020012002200828020c11818080800000450d0041010f0b410021040340024020062004470d0020062006490f0b200441016a210420002007200828021011848080800000450d000b2004417f6a2006490f0b200028021c20012002200028022028020c118180808000000b8805010a7f23808080800041106b22022480808080000240024002400240024020002802004101470d00200028020421032002200128020c220436020c20022001280208220536020820022001280204220636020420022001280200220136020020002d001821072000280210210820002d00144108710d01200821092007210a0c020b200028021c2000280220200110e78080800021050c030b200028021c20012006200028022028020c118180808000000d014101210a200041013a0018413021092000413036021020024201370200200320066b21014100210641002001200120034b1b21030b02402004450d002004410c6c21040340024002400240024020052f01000e03000201000b200528020421010c020b200528020821010c010b024020052f0102220b41e807490d0041044105200b4190ce00491b21010c010b41012101200b410a490d0041024103200b41e400491b21010b2005410c6a2105200120066a2106200441746a22040d000b0b024002400240200320064d0d00200320066b21040240024002404101200a200a41ff01714103461b41ff017122050e03020001020b20042105410021040c010b20044101762105200441016a41017621040b200541016a210520002802202106200028021c210103402005417f6a2205450d0220012009200628021011848080800000450d000c040b0b200028021c2000280220200210e78080800021050c010b20012006200210e7808080000d014100210502400340024020042005470d00200421050c020b200541016a210520012009200628021011848080800000450d000b2005417f6a21050b200520044921050b200020073a0018200020083602100c010b410121050b200241106a24808080800020050bc70401087f23808080800041106b22032480808080000240024020022802042204450d00200020022802002004200128020c11818080800000450d00410121020c010b0240200228020c2205450d00200228020822042005410c6c6a2106200341086a41046a21070340024002400240024020042f01000e03000201000b024002402004280204220241c100490d002001410c6a280200210503400240200041f098c0800041c000200511818080800000450d00410121020c090b200241406a220241c0004b0d000c020b0b2002450d032001410c6a28020021050b200041f098c080002002200511818080800000450d02410121020c050b2000200428020420042802082001410c6a28020011818080800000450d01410121020c040b20042f01022102200741003a00002003410036020802400240200241e807490d004104410520024190ce00491b21050c010b410121052002410a490d0041024103200241e400491b21050b200341086a20056a2208417f6a220920022002410a6e220a410a6c6b4130723a00000240200341086a2009460d002008417e6a2209200a410a704130723a0000200341086a2009460d002008417d6a2209200241e4006e410a704130723a0000200341086a2009460d002008417c6a2209200241e8076e410a704130723a0000200341086a2009460d002008417b6a20024190ce006e4130723a00000b2000200341086a20052001410c6a28020011818080800000450d00410121020c030b2004410c6a22042006470d000b0b410021020b200341106a24808080800020020bef0401037f23808080800041c0006b220724808080800002400240200028021c220820012002200028022028020c220911818080800000450d00410121020c010b0240024020002d00144104710d0041012102200841bbc4c0800041012009118180808000000d0220032000200428020c11848080800000450d010c020b0240200841bcc4c080004102200911818080800000450d00410121020c020b41012102200741013a0017200741186a41086a200041086a290200370300200741186a41106a200041106a290200370300200741186a41186a200041186a28020036020020074190c4c080003602382007200029021c370208200720002902003703182007200741176a3602102007200741086a3602342003200741186a200428020c118480808000000d01200728023441b6c4c080004102200728023828020c118180808000000d010b0240024020002d00144104710d000240200028021c41afc4c080004102200028022028020c11818080800000450d00410121020c030b4101210220052000200628020c11848080800000450d010c020b41012102200741013a0017200741186a41086a200041086a290200370300200741186a41106a200041106a290200370300200741186a41186a200041186a28020036020020074190c4c080003602382007200029021c370208200720002902003703182007200741176a3602102007200741086a3602342005200741186a200628020c118480808000000d01200728023441b6c4c080004102200728023828020c118180808000000d010b200028021c41bec4c080004101200028022028020c1181808080000021020b200741c0006a24808080800020020bea0601037f23808080800041c0006b220924808080800002400240200028021c220a20012002200028022028020c220b11818080800000450d00410121020c010b0240024020002d00144104710d0041012102200a41bbc4c080004101200b118180808000000d0220032000200428020c11848080800000450d010c020b0240200a41bcc4c080004102200b11818080800000450d00410121020c020b41012102200941013a0017200941186a41086a200041086a290200370300200941186a41106a200041106a290200370300200941186a41186a200041186a28020036020020094190c4c080003602382009200029021c370208200920002902003703182009200941176a3602102009200941086a3602342003200941186a200428020c118480808000000d01200928023441b6c4c080004102200928023828020c118180808000000d010b0240024020002d00144104710d000240200028021c41afc4c080004102200028022028020c11818080800000450d00410121020c030b20052000200628020c11848080800000450d01410121020c020b41012102200941013a0017200941186a41086a200041086a290200370300200941186a41106a200041106a290200370300200941186a41186a200041186a28020036020020094190c4c080003602382009200029021c370208200920002902003703182009200941176a3602102009200941086a3602342005200941186a200628020c118480808000000d01200928023441b6c4c080004102200928023828020c118180808000000d010b0240024020002d00144104710d000240200028021c41afc4c080004102200028022028020c11818080800000450d00410121020c030b4101210220072000200828020c11848080800000450d010c020b41012102200941013a0017200941186a41086a200041086a290200370300200941186a41106a200041106a290200370300200941186a41186a200041186a28020036020020094190c4c080003602382009200029021c370208200920002902003703182009200941176a3602102009200941086a3602342007200941186a200828020c118480808000000d01200928023441b6c4c080004102200928023828020c118180808000000d010b200028021c41bec4c080004101200028022028020c1181808080000021020b200941c0006a24808080800020020b2d00024020002d00000d00200141b099c08000410510e5808080000f0b200141b599c08000410410e5808080000bbc07010e7f23808080800041106b2203248080808000410121040240200228021c22054122200228022022062802102207118480808000000d000240024020010d0041002101410021080c010b41002108410020016b21094100210a2000210b2001210c0240024002400340200b200c6a210d4100210202400340200b20026a220e2d0000220f41817f6a41ff017141a101490d01200f4122460d01200f41dc00460d01200c200241016a2202470d000b200c200a6a21020c040b200e41016a210b02400240200e2c0000220f417f4c0d00200f41ff0171210f0c010b200b2d0000413f71210c200f411f712110200e41026a210b0240200f415f4b0d002010410674200c72210f0c010b200c410674200b2d0000413f7172210c200e41036a210b0240200f41704f0d00200c2010410c7472210f0c010b200c410674200b2d0000413f71722010411274418080f0007172210f200e41046a210b0b200341046a200f4181800410e0808080000240024020032d0004418001460d0020032d000f20032d000e6b41ff01714101460d002008200a20026a220e4b0d0102402008450d00024020082001490d0020082001470d030c010b200020086a2c000041bf7f4c0d020b0240200e450d000240200e2001490d00200e20096a450d010c030b2000200a6a20026a2c000041bf7f4c0d020b2005200020086a200a20086b20026a200628020c220e118180808000000d030240024020032d0004418001470d0020052003280208200711848080800000450d010c050b2005200341046a20032d000e220c6a20032d000f200c6b200e118180808000000d040b02400240200f4180014f0d004101210e0c010b0240200f4180104f0d004102210e0c010b41034104200f41808004491b210e0b200e200a6a20026a21080b02400240200f4180014f0d004101210f0c010b0240200f4180104f0d004102210f0c010b41034104200f41808004491b210f0b200f200a6a220f20026a210a200d200b6b220c450d030c010b0b200020012008200e41bc99c0800010f980808000000b410121040c030b200f20026a21020b0240200820024b0d0002402008450d00024020082001490d0020082001470d020c010b200020086a2c000041bf7f4c0d010b024020020d00410021010c020b024020022001490d0020022001460d020c010b200020026a2c000041bf7f4c0d00200221010c010b200020012008200241cc99c0800010f980808000000b2005200020086a200120086b200628020c118180808000000d002005412220071184808080000021040b200341106a24808080800020040bb40101047f23808080800041106b2202248080808000410121030240200128021c22044127200128022022052802102201118480808000000d00200241046a200028020041810210e0808080000240024020022d0004418001470d0020042002280208200111848080800000450d010c020b2004200241046a20022d000e22006a20022d000f20006b200528020c118180808000000d010b2004412720011184808080000021030b200241106a24808080800020030bb80201017f23808080800041106b220224808080800020002802002100024002402001280200200128020872450d002002410036020c024002402000418001490d0002402000418010490d000240200041808004490d0020022000413f71418001723a000f2002200041127641f001723a000c20022000410676413f71418001723a000e20022000410c76413f71418001723a000d410421000c030b20022000413f71418001723a000e20022000410c7641e001723a000c20022000410676413f71418001723a000d410321000c020b20022000413f71418001723a000d2002200041067641c001723a000c410221000c010b200220003a000c410121000b20012002410c6a200010e58080800021010c010b200128021c200020012802202802101184808080000021010b200241106a24808080800020010bb50202027f017e2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d0120002903004101200110938180800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000b180020002802002001200028020428020c118480808000000bb10201037f2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000b140020012000280200200028020410e5808080000b3601017f23808080800041106b2202248080808000200241013b010c2002200136020820022000360204200241046a10e792808000000b7001017f23808080800041306b2203248080808000200341086a41106a200041106a290200370300200341086a41086a200041086a29020037030020032000290200370308200320013a002d200341003a002c200320023602282003200341086a360224200341246a10e792808000000b4d01017f23808080800041206b22032480808080002003410036021020034101360204200342043702082003200136021c200320003602182003200341186a3602002003200210f280808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410236020c200341909ac08000360208200342023702142003418a80808000ad42208622042003ad8437032820032004200341046aad843703202003200341206a360210200341086a200210f280808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41a09ac080002005410c6a41a09ac080002003200410f780808000000bb00302017f017e23808080800041f0006b22072480808080002007200236020c2007200136020820072004360214200720033602100240024002400240200041ff01710e03000102000b200741c09ac08000360218410221020c020b200741c29ac08000360218410221020c010b200741c49ac08000360218410721020b2007200236021c024020052802000d002007410336025c200741fc9ac0800036025820074203370264200741a280808000ad4220862208200741106aad8437034820072008200741086aad84370340200741a380808000ad422086200741186aad843703382007200741386a360260200741d8006a200610f280808000000b200741206a41106a200541106a290200370300200741206a41086a200541086a290200370300200720052902003703202007410436025c200741b09bc0800036025820074204370264200741a280808000ad4220862208200741106aad8437035020072008200741086aad84370348200741a480808000ad422086200741206aad84370340200741a380808000ad422086200741186aad843703382007200741386a360260200741d8006a200610f280808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41b09ac080002005410c6a41b09ac080002003200410f780808000000b13002000200120022003200410fa80808000000bd10902057f017e23808080800041f0006b22052480808080002005200336020c200520023602080240024002400240024002400240024002402001418102490d00024020002c00800241bf7f4c0d00410321060c030b20002c00ff0141bf7f4c0d01410221060c020b200520013602142005200036021041002106410121070c020b20002c00fe0141bf7f4a21060b2000200641fd016a22066a2c000041bf7f4c0d0120052006360214200520003602104105210641c09cc0800021070b2005200636021c200520073602180240200220014b22060d00200320014b0d00200220034b0d0202402002450d00200220014f0d0020032002200020026a2c000041bf7f4a1b21030b20052003360220200121020240200320014f0d00200341016a220741002003417d6a2202200220034b1b2202490d04024020072002460d00200720026b21080240200020036a2c000041bf7f4c0d002008417f6a21060c010b20022003460d000240200020076a2207417e6a22032c000041bf7f4c0d002008417e6a21060c010b200020026a22092003460d0002402007417d6a22032c000041bf7f4c0d002008417d6a21060c010b20092003460d0002402007417c6a22032c000041bf7f4c0d002008417c6a21060c010b20092003460d002008417b6a21060b200620026a21020b02402002450d00024020022001490d0020022001460d010c070b200020026a2c000041bf7f4c0d060b20022001460d040240024002400240200020026a22032c00002201417f4a0d0020032d0001413f7121002001411f7121062001415f4b0d01200641067420007221010c020b2005200141ff0171360224410121010c020b200041067420032d0002413f717221000240200141704f0d0020002006410c747221010c010b200041067420032d0003413f71722006411274418080f00071722201418080c400460d060b20052001360224024020014180014f0d00410121010c010b024020014180104f0d00410221010c010b41034104200141808004491b21010b200520023602282005200120026a36022c20054105360234200541c89dc080003602302005420537023c200541a380808000ad422086220a200541186aad843703682005200a200541106aad84370360200541a580808000ad422086200541286aad84370358200541a680808000ad422086200541246aad843703502005418a80808000ad422086200541206aad843703482005200541c8006a360238200541306a200410f280808000000b20052002200320061b36022820054103360234200541889ec080003602302005420337023c200541a380808000ad422086220a200541186aad843703582005200a200541106aad843703502005418a80808000ad422086200541286aad843703482005200541c8006a360238200541306a200410f280808000000b2000200141002006200410f980808000000b20054104360234200541e89cc080003602302005420437023c200541a380808000ad422086220a200541186aad843703602005200a200541106aad843703582005418a80808000ad422086220a2005410c6aad843703502005200a200541086aad843703482005200541c8006a360238200541306a200410f280808000000b2002200741a09ec0800010ac81808000000b2004108a81808000000b2000200120022001200410f980808000000bd71105017f047e027f167e057f23808080800041306b22042480808080000240024002400240024002400240024002400240024002400240200129030022054200510d00200129030822064200510d01200129031022074200510d02200520077c22072005540d0320052006540d04200341104d0d052007428080808080808080205a0d06200420012f011822013b01082004200520067d22083703002001200141606a200120074280808080105422091b220a41706a200a2007422086200720091b220742808080808080c0005422091b220a41786a200a2007421086200720091b2207428080808080808080015422091b220a417c6a200a2007420886200720091b2207428080808080808080105422091b220a417e6a200a2007420486200720091b2207428080808080808080c0005422091b2007420286200720091b220b427f556b22096b411074411075220a417f4c0d072004427f200aad220c88220720088337031020082007560d08200420013b0108200420053703002004200720058337031020052007560d0941a07f20096b41107441107541d0006c41b0a7056a41ce106d220141d1004f0d0a2001410474220141c09ec080006a290300220742ffffffff0f8322062005200c423f83220c862205422088220d7e220e422088220f20074220882210200d7e22117c2010200542ffffffff0f8322057e220742208822127c2113200e42ffffffff0f83200620057e4220887c200742ffffffff0f837c22144280808080087c4220882105420141002009200141c89ec080006a2f01006a6b413f71ad220786220e427f7c211520062008200c862208422088220c7e221642ffffffff0f832006200842ffffffff0f8322087e4220887c201020087e220842ffffffff0f837c22174280808080087c42208821182010200c7e21192008422088211a2016422088211b200141ca9ec080006a2f0100210102402010200b200b427f85423f88862208422088221c7e221d2006201c7e220b422088221e7c2010200842ffffffff0f8322087e220c422088221f7c200b42ffffffff0f83200620087e4220887c200c42ffffffff0f837c22204280808080087c4220887c42017c2216200788a7220a4190ce00490d00200a41c0843d490d0c0240200a4180c2d72f490d0041084109200a418094ebdc034922091b21214180c2d72f418094ebdc0320091b21090c0e0b41064107200a4180ade2044922091b212141c0843d4180ade20420091b21090c0d0b0240200a41e400490d0041024103200a41e8074922091b212141e40041e80720091b21090c0d0b410a4101200a41094b22211b21090c0c0b41e4a9c08000411c4180aac0800010f480808000000b4190aac08000411d41b0aac0800010f480808000000b41c0aac08000411c41dcaac0800010f480808000000b41e4acc080004136419cadc0800010f480808000000b419cacc08000413741d4acc0800010f480808000000b41ecaac08000412d419cabc0800010f480808000000b41acabc08000412d41dcabc0800010f480808000000b41b9c0c08000411d41ccc1c0800010f480808000000b200441003602184100200441106a2004200441186a41dcc1c0800010f680808000000b200441003602184100200441106a2004200441186a41dcc1c0800010f680808000000b200141d10041d4a9c0800010f580808000000b41044105200a41a08d064922091b21214190ce0041a08d0620091b21090b201320057c211320162015832105202120016b41016a212220162019201b7c201a7c20187c7d221842017c220c201583210841002101024002400240024002400240024002400340200a20096e212320032001460d02200220016a2224202341306a22253a000002400240200c200a202320096c6b220aad200786220620057c220b560d0020212001470d01200141016a21014201210603402006210b2008210c200120034f0d06200220016a2005420a7e2205200788a741306a22093a0000200141016a2101200b420a7e2106200c420a7e220820052015832205580d000b2006201620137d7e220720067c210d200820057d200e54220a0d07200720067d22152005560d030c070b200c200b7d220c2009ad2007862207542109201620137d220842017c21132008427f7c220e200b580d05200c2007540d05201e201f7c20204280808080087c422088220c7c201d7c21084202201b201a7c20174280808080087c4220887c20197c200520077c220b20067c7c7d21164200200f20127c20144280808080087c4220887c221520117c200620057c7c7d21192015200b7c2010200d201c7d7e7c201e7d201f7d200c7d210c034002402006200b7c2215200e540d00201920087c2006200c7c5a0d00200620057c210b410021090c070b20242025417f6a22253a0000200520077c2105201620087c211002402015200e5a0d00200b20077c210b200c20077c210c200820077d2108201020075a0d010b0b20102007542109200620057c210b0c050b200141016a21012009410a4921232009410a6e21092023450d000b41ecabc08000108881808000000b200220016a417f6a2123200c420a7e200e20057c7d2110200e20157d2116201520057d211942002107034002402005200e7c22062015540d00201920077c201620057c5a0d004100210a0c050b20232009417f6a22093a0000201020077c220c200e54210a200620155a0d052007200e7d210720062105200c200e540d050c000b0b2003200341fcabc0800010f580808000000b20012003418cacc0800010f580808000000b02402013200b580d0020090d000240200b20077c22052013540d002013200b7d200520137d540d010b200041003602000c040b02400240200b4202540d00200b2018427d7c580d010b200041003602000c040b200020223b01082000200141016a3602040c020b200521060b0240200d2006580d00200a0d0002402006200e7c2205200d540d00200d20067d2005200d7d540d010b200041003602000c020b02400240200b42147e2006560d002006200b42587e20087c580d010b200041003602000c020b200020223b0108200020013602040b200020023602000b200441306a2480808080000b960906017e017f047e027f017e057f0240024002400240024002400240200129030022054200510d002005428080808080808080205a0d012003450d0241a07f20012f0118220141606a200120054280808080105422061b220141706a20012005422086200520061b220542808080808080c0005422061b220141786a20012005421086200520061b2205428080808080808080015422061b2201417c6a20012005420886200520061b2205428080808080808080105422061b2201417e6a20012005420486200520061b2205428080808080808080c0005422061b2005420286200520061b2205427f556b22066b41107441107541d0006c41b0a7056a41ce106d220141d1004f0d032001410474220141c09ec080006a290300220742ffffffff0f83220820052005427f85423f8886220542208822097e220a4220882007422088220720097e7c2007200542ffffffff0f8322057e22074220887c200a42ffffffff0f83200820057e4220887c200742ffffffff0f837c4280808080087c4220887c220541402006200141c89ec080006a2f01006a6b220b413f71ad220888a7210c200141ca9ec080006a2f01002101024020054201200886220d427f7c22098322074200520d002003410a4b0d07200341027441a0aec080006a280200200c4b0d070b0240200c4190ce00490d00200c41c0843d490d050240200c4180c2d72f490d0041084109200c418094ebdc034922061b210e4180c2d72f418094ebdc0320061b21060c070b41064107200c4180ade2044922061b210e41c0843d4180ade20420061b21060c060b0240200c41e400490d0041024103200c41e8074922061b210e41e40041e80720061b21060c060b410a4101200c41094b220e1b21060c050b41e4a9c08000411c41d0adc0800010f480808000000b41e0adc0800041244184aec0800010f480808000000b41acadc0800041214194aec0800010f480808000000b200141d10041d4a9c0800010f580808000000b41044105200c41a08d064922061b210e4190ce0041a08d0620061b21060b02400240024002400240200e20016b411074418080046a411075220f200441107441107522014c0d00200b41ffff03712110200f20046b4110744110752003200f20016b2003491b2211417f6a2112410021010340200c20066e210b20032001460d03200c200b20066c6b210c200220016a200b41306a3a000020122001460d04200e2001460d02200141016a21012006410a49210b2006410a6e2106200b450d000b41ccaec08000108881808000000b2000200220034100200f20042005420a802006ad200886200d10fd808080000f0b200141016a21012010417f6a413f71ad210a42012105034002402005200a88500d00200041003602000f0b200120034f0d03200220016a2007420a7e2207200888a741306a3a00002005420a7e2105200720098321072011200141016a2201470d000b2000200220032011200f20042007200d200510fd808080000f0b2003200341dcaec0800010f580808000000b2000200220032011200f2004200cad20088620077c2006ad200886200d10fd808080000f0b2001200341ecaec0800010f580808000000b200041003602000bb30301047f02400240024002400240024002400240024020072008580d00200720087d2008580d03024002400240200720067d2006580d00200720064201867d20084201865a0d010b20062008560d010c0a0b200320024b0d050c080b2007200620087d22087d2008560d08200320024b0d05200120036a21094100210a2001210b024003402003200a460d01200a41016a210a200b417f6a220b20036a220c2d00004139460d000b200c200c2d000041016a3a00002003200a6b41016a20034f0d07200c41016a4130200a417f6a10eb968080001a0c070b024020030d004131210a0c030b200141313a000020034101470d014130210a0c020b200041003602000f0b4130210a200141016a41302003417f6a10eb968080001a0b2004411074418080046a4110752104200320024f0d03200420054110744110754c0d032009200a3a0000200341016a21030c030b200041003602000f0b20032002419cafc0800010aa81808000000b2003200241fcaec0800010aa81808000000b200320024d0d0020032002418cafc0800010aa81808000000b200020043b010820002003360204200020013602000f0b200041003602000b1e00200128021c41acafc08000410b200128022028020c118180808000000b1e00200128021c41b7afc08000410e200128022028020c118180808000000b5c01017f23808080800041306b22012480808080002001410136020c200141d8afc0800036020820014201370214200141a980808000ad4220862001412f6aad843703202001200141206a360210200141086a200010f280808000000b5c01017f23808080800041306b22012480808080002001410136020c200141fcafc0800036020820014201370214200141aa80808000ad4220862001412f6aad843703202001200141206a360210200141086a200010f280808000000b5301017f23808080800041c0086b2204248080808000200441b0086a200120022003200441800820044180086a410410a7818080002000200441b0086a10e6808080002103200441c0086a24808080800020030b5401017f23808080800041e0006b2203248080808000200341d0006a2001200241002003410f6a4111200341206a410410a6818080002000200341d0006a10e6808080002102200341e0006a24808080800020020b4202017f017c2001280214410171210220002b03002103024020012802084101470d00200120032002200128020c1082818080000f0b2001200320021083818080000b4701017f23808080800041206b2200248080808000200041003602182000410136020c200041d0b0c0800036020820004204370210200041086a41dcb1c0800010f280808000000b0f00200120002002108781808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410336020c200341a8b3c08000360208200342023702142003418a80808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210f280808000000b4301017f23808080800041206b2201248080808000200141003602182001410136020c20014188b2c0800036020820014204370210200141086a200010f280808000000b4301017f23808080800041206b2201248080808000200141003602182001410136020c200141ccb2c0800036020820014204370210200141086a200010f280808000000b130041c0b3c08000412b200010f480808000000b6a01017f23808080800041306b22032480808080002003200136020c2003200036020820034101360214200341ecb3c080003602102003420137021c200341a380808000ad422086200341086aad843703282003200341286a360218200341106a200210f280808000000bf60201077f41012107024002402002450d00200120024101746a210820004180fe037141087621094100210a200041ff0171210b0340200141026a210c200a20012d000122026a210d024020012d000022012009460d00200120094b0d02200d210a200c2101200c2008460d020c010b024002400240200d200a490d00200d20044b0d012003200a6a210103402002450d032002417f6a210220012d0000210a200141016a2101200a200b470d000b410021070c050b200a200d4180b5c0800010ac81808000000b200d20044180b5c0800010aa81808000000b200d210a200c2101200c2008470d000b0b2006450d00200520066a210b200041ffff03712101410121070340200541016a210a0240024020052c000022024100480d00200a21050c010b0240200a200b460d00200241ff007141087420052d0001722102200541026a21050c010b41f0b4c08000108a81808000000b200120026b22014100480d01200741017321072005200b470d000b0b20074101710bef01000240200041204f0d0041000f0b0240200041ff004f0d0041010f0b0240200041808004490d000240200041808008490d00200041f0833849200041e0ffff007141e0cd0a47200041feffff0071419ef00a4771200041c091756a417a4971200041d0e2746a4172497120004190a8746a417149712000418090746a41de6c49712000418080746a419e744971200041b0d9736a417b497120004180fe476a41b0c5544971710f0b20004190b5c08000412c41e8b5c0800041d00141b8b7c0800041e603108c818080000f0b2000419ebbc08000412841eebbc0800041a2024190bec0800041a902108c818080000bc50101047f23808080800041106b22022480808080004103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff01714101742205418d96c080006a2d00003a000f20022005418c96c080006a2d00003a000e0b024002402000450d002004450d010b2002410d6a2003417f6a22036a200441017441fe0171418d96c080006a2d00003a00000b20014101410141002002410d6a20036a410320036b10e3808080002103200241106a24808080800020030bdd0201067f23808080800041106b220324808080800002400240200041ffff0371220441e807490d00410121052003200020044190ce006e22064190ce006c6b220441ffff037141e4006e22074101742208418d96c080006a2d00003a000d20032008418c96c080006a2d00003a000c20032004200741e4006c6b41ffff03714101742204418d96c080006a2d00003a000f20032004418c96c080006a2d00003a000e0c010b41052105200021062004410a490d0020032000200041ffff037141e4006e220641e4006c6b41ffff03714101742205418d96c080006a2d00003a000f20032005418c96c080006a2d00003a000e410321050b02400240200041ffff0371450d00200641ffff0371450d010b2003410b6a2005417f6a22056a2006410174411e71418d96c080006a2d00003a00000b20022001410141002003410b6a20056a410520056b10e3808080002100200341106a24808080800020000b11002000280200410120011091818080000b970301087f23808080800041106b2203248080808000410a2104200021050240200041e807490d00410a2104200021060340200341066a20046a2207417d6a200620064190ce006e22054190ce006c6b220841ffff037141e4006e2209410174220a418d96c080006a2d00003a00002007417c6a200a418c96c080006a2d00003a00002007417f6a2008200941e4006c6b41ffff03714101742208418d96c080006a2d00003a00002007417e6a2008418c96c080006a2d00003a00002004417c6a2104200641fface2044b21072005210620070d000b0b02400240200541094b0d00200521060c010b200341066a20046a417f6a2005200541ffff037141e4006e220641e4006c6b41ffff03714101742207418d96c080006a2d00003a0000200341066a2004417e6a22046a2007418c96c080006a2d00003a00000b024002402000450d002006450d010b200341066a2004417f6a22046a2006410174411e71418d96c080006a2d00003a00000b2002200141014100200341066a20046a410a20046b10e3808080002106200341106a24808080800020060b11002000290300410120011093818080000b9c0303027f027e047f23808080800041206b220324808080800041142104200021050240200042e807540d00411421042000210603402003410c6a20046a2207417d6a200620064290ce008022054290ce007e7da7220841ffff037141e4006e2209410174220a418d96c080006a2d00003a00002007417c6a200a418c96c080006a2d00003a00002007417f6a2008200941e4006c6b41ffff03714101742208418d96c080006a2d00003a00002007417e6a2008418c96c080006a2d00003a00002004417c6a2104200642fface2045621072005210620070d000b0b024020054209580d002003410c6a20046a417f6a2005a72207200741ffff037141e4006e220741e4006c6b41ffff03714101742208418d96c080006a2d00003a00002003410c6a2004417e6a22046a2008418c96c080006a2d00003a00002007ad21050b024002402000500d002005500d010b2003410c6a2004417f6a22046a2005a7410174411e71418d96c080006a2d00003a00000b20022001410141002003410c6a20046a411420046b10e3808080002107200341206a24808080800020070b2301027e200029030022022002423f8722038520037d2002427f5520011093818080000baa0201037f2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000ba00201037f2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d0120004101200110918180800021000c020b410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000be00401047f2380808080004180016b2202248080808000024002400240200128021422034110710d00024020034120710d0041012103200028020041012001109181808000450d020c030b20002802002103410021040340200220046a41ff006a2003410f712205413072200541376a2005410a491b3a00002004417f6a21042003410f4b21052003410476210320050d000b4101210320014101418896c080004102200220046a4180016a410020046b10e380808000450d010c020b20002802002103410021040340200220046a41ff006a2003410f712205413072200541d7006a2005410a491b3a00002004417f6a21042003410f4b21052003410476210320050d000b4101210320014101418896c080004102200220046a4180016a410020046b10e3808080000d010b41012103200128021c418cc2c080004102200128022028020c118180808000000d0002400240200128021422034110710d0020034120710d0120002802044101200110918180800021030c020b20002802042103410021040340200220046a41ff006a2003410f712205413072200541d7006a2005410a491b3a00002004417f6a21042003410f4b21052003410476210320050d000b20014101418896c080004102200220046a4180016a410020046b10e38080800021030c010b20002802042103410021040340200220046a41ff006a2003410f712205413072200541376a2005410a491b3a00002004417f6a21042003410f4b21052003410476210320050d000b20014101418896c080004102200220046a4180016a410020046b10e38080800021030b20024180016a24808080800020030b9b0202057f017e23808080800041306b2202248080808000410121030240200128021c220441a8c2c08000410c2001280220220528020c2206118180808000000d00200028020421012002410336020420024190c2c080003602002002420337020c200241a380808000ad4220862001ad843703182002418a80808000ad42208622072001410c6aad8437032820022007200141086aad843703202002200241186a36020820042005200210e2808080000d00200441b4c2c0800041022006118180808000000d00200241186a41086a2000280200220141086a290200370300200241186a41106a200141106a2902003703002002200129020037031820042005200241186a10e28080800021030b200241306a24808080800020030b820401077f0240024002400240200141800a4f0d00200141057621020240024020002802a0012203450d00200341284b0d032002417f6a2104200341027420006a417c6a2105200320026a41027420006a417c6a21060340200420036a41274b0d02200620052802003602002006417c6a21062005417c6a21052003417f6a22030d000b0b2001411f712104024020014120490d0020004100200241027410eb968080001a0b20002802a00120026a2105024020040d00200020053602a00120000f0b2005417f6a220341274b0d0320052107200020034102746a2802002206410020016b2208762203450d040240200541274b0d00200020054102746a2003360200200541016a21070c050b2005412841acc3c0800010f580808000000b200220036a417f6a412841acc3c0800010f580808000000b41d6c3c08000411d41acc3c0800010f480808000000b2003417f6a412841acc3c0800010f580808000000b2003412841acc3c0800010f580808000000b02400240200241016a220120054f0d002008411f712108200541027420006a41786a210303402005417e6a41284f0d02200341046a200620047420032802002206200876723602002003417c6a210320012005417f6a2205490d000b0b200020024102746a22032003280200200474360200200020073602a00120000f0b417f412841acc3c0800010f580808000000bc006030b7f037e017f23808080800041a0016b22032480808080002003410041a00110eb9680800021040240024002400240024020002802a00122052002490d00200541294f0d01200120024102746a21060240024002402005450d00200541016a21072005410274210241002108410021090340200420084102746a210a03402008210b200a210320012006460d09200341046a210a200b41016a21082001280200210c200141046a220d2101200c450d000b200cad210e4200210f2002210c200b21012000210a0340200141284f0d042003200f20033502007c200a350200200e7e7c22103e02002010422088210f200341046a2103200141016a2101200a41046a210a200c417c6a220c0d000b2005210302402010428080808010540d00200b20056a220341284f0d03200420034102746a200fa7360200200721030b20092003200b6a2203200920034b1b2109200d21010c000b0b4100210941002103034020012006460d07200341016a21032001280200210a200141046a22082101200a450d0020092003417f6a2201200920014b1b2109200821010c000b0b2003412841acc3c0800010f580808000000b2001412841acc3c0800010f580808000000b200541294f0d0120024102742107200241016a2111200020054102746a210d4100210b2000210a4100210903402004200b4102746a21080340200b210c20082103200a200d460d05200341046a2108200c41016a210b200a2802002106200a41046a2205210a2006450d000b2006ad210e4200210f20072106200c210a2001210802400340200a41284f0d012003200f20033502007c2008350200200e7e7c22103e02002010422088210f200341046a2103200a41016a210a200841046a21082006417c6a22060d000b2002210302402010428080808010540d00200c20026a220341284f0d05200420034102746a200fa7360200201121030b20092003200c6a2203200920034b1b21092005210a0c010b0b200a412841acc3c0800010f580808000000b2005412841acc3c0800010aa81808000000b2005412841acc3c0800010aa81808000000b2003412841acc3c0800010f580808000000b2000200441a00110e996808000220320093602a001200441a0016a24808080800020030bc104010d7f2001417f6a21032000280204210420002802002105200028020821064100210741002108410021094100210a02400340200a4101710d0102400240200920024b0d000340200120096a210b02400240200220096b220c41074b0d00024020022009470d00200221090c040b4100210d0340200b200d6a2d0000410a460d02200c200d41016a220d470d000b200221090c030b024002400240200b41036a417c712200200b460d002000200b6b21004100210d0340200b200d6a2d0000410a460d042000200d41016a220d470d000b2000200c41786a220e4b0d020c010b200c41786a210e410021000b03404180828408200b20006a220d280200220f418a94a8d000736b200f724180828408200d41046a280200220d418a94a8d000736b200d727141808182847871418081828478470d01200041086a2200200e4d0d000b0b02402000200c470d00200221090c030b03400240200b20006a2d0000410a470d002000210d0c020b200c200041016a2200470d000b200221090c020b2009200d6a220041016a21090240200020024f0d00200b200d6a2d0000410a470d002009210b200921000c030b200920024d0d000b0b4101210a2008210b2002210020082002460d020b0240024020062d0000450d00200541a8c4c080004104200428020c118180808000000d010b200020086b210c4100210d024020002008460d00200320006a2d0000410a46210d0b200120086a21002006200d3a0000200b210820052000200c200428020c11818080800000450d010b0b410121070b20070b5801027f20002802042102200028020021030240200028020822002d0000450d00200341a8c4c080004104200228020c11818080800000450d0041010f0b20002001410a463a0000200320012002280210118480808000000bdc0302047f017e23808080800041c0006b220524808080800041012106024020002d00040d0020002d000521070240200028020022082d00144104710d0041012106200828021c41afc4c0800041acc4c08000200741017122071b4102410320071b200828022028020c118180808000000d01200828021c20012002200828022028020c118180808000000d01200828021c41b1c4c080004102200828022028020c118180808000000d0120032008200428020c1184808080000021060c010b41012106024020074101710d00200828021c41b3c4c080004103200828022028020c118180808000000d010b41012106200541013a0017200541186a41086a200841086a290200370300200541186a41106a200841106a290200370300200541186a41186a200841186a2802003602002005200829021c3702082008290200210920054190c4c08000360238200520093703182005200541176a3602102005200541086a360234200541086a20012002109b818080000d00200541086a41b1c4c080004102109b818080000d002003200541186a200428020c118480808000000d00200528023441b6c4c080004102200528023828020c1181808080000021060b200041013a0005200020063a0004200541c0006a24808080800020000bf90202047f017e23808080800041c0006b220324808080800041012104024020002d00040d0020002d0005210502400240200028020022062d00144104710d00410121042005410171450d01200628021c41afc4c080004102200628022028020c11818080800000450d010c020b41012104024020054101710d00200628021c41bfc4c080004101200628022028020c118180808000000d020b41012104200341013a0017200341186a41086a200641086a290200370300200341186a41106a200641106a290200370300200341186a41186a200641186a2802003602002003200629021c3702082006290200210720034190c4c08000360238200320073703182003200341176a3602102003200341086a3602342001200341186a200228020c118480808000000d01200328023441b6c4c080004102200328023828020c1181808080000021040c010b20012006200228020c1184808080000021040b200041013a0005200020043a0004200341c0006a24808080800020000b120020004190c4c08000200110e2808080000ba40c03097f017e017f024020040d002000410036023c200020033602382000200236023420002001360230200041003a000e20004181023b010c20002002360208200042003703000f0b41012105410021060240024002400240024002400240024002400240024020044101470d0041012107410021080c010b410121094100210a4101210b41002106410121050340200b210c2006200a6a220b20044f0d0202400240200320096a2d000041ff017122092003200b6a2d0000220b4f0d00200c20066a41016a220b200a6b2105410021060c010b02402009200b460d0041012105200c41016a210b41002106200c210a0c010b4100200641016a220b200b20054622091b2106200b410020091b200c6a210b0b200b20066a22092004490d000b41012109410021084101210b41002106410121070340200b210c200620086a220b20044f0d0302400240200320096a2d000041ff017122092003200b6a2d0000220b4d0d00200c20066a41016a220b20086b2107410021060c010b02402009200b460d0041012107200c41016a210b41002106200c21080c010b4100200641016a220b200b20074622091b2106200b410020091b200c6a210b0b200b20066a22092004490d000b200a21060b200420062008200620084b220b1b220d490d0220052007200b1b220b200d6a2206200b490d03200620044b0d040240024020032003200b6a200d10ed96808000450d002004410371210c024002402004417f6a41034f0d004100210b4200210e0c010b2004417c7121094100210b4200210e034042012003200b6a220641036a310000864201200641026a310000864201200641016a310000864201200631000086200e84848484210e2009200b41046a220b470d000b0b2004200d6b21090240200c450d002003200b6a210603404201200631000086200e84210e200641016a2106200c417f6a220c0d000b0b2009200d2009200d4b1b41016a210b417f210a200d2105417f21060c010b41012108410021064101210941002105024003402009220c20066a220720044f0d01200420066b200c417f736a220920044f0d082006417f7320046a20056b220a20044f0d0902400240200320096a2d000041ff017122092003200a6a2d0000220a4f0d00200741016a220920056b2108410021060c010b02402009200a460d00200c41016a21094100210641012108200c21050c010b4100200641016a22092009200846220a1b210620094100200a1b200c6a21090b2008200b470d000b0b41012108410021064101210941002107024003402009220c20066a220f20044f0d01200420066b200c417f736a220920044f0d0a2006417f7320046a20076b220a20044f0d0b02400240200320096a2d000041ff017122092003200a6a2d0000220a4d0d00200f41016a220920076b2108410021060c010b02402009200a460d00200c41016a21094100210641012108200c21070c010b4100200641016a22092009200846220a1b210620094100200a1b200c6a21090b2008200b470d000b0b200420072005200720054b1b6b210502400240200b0d004200210e4100210b4100210a0c010b200b41037121094100210a02400240200b41044f0d004200210e4100210c0c010b200b417c7121084100210c4200210e034042012003200c6a220641036a310000864201200641026a310000864201200641016a310000864201200631000086200e84848484210e2008200c41046a220c470d000b0b2009450d002003200c6a210603404201200631000086200e84210e200641016a21062009417f6a22090d000b0b200421060b2000200436023c200020033602382000200236023420002001360230200020063602282000200a360224200020023602202000410036021c2000200b360218200020053602142000200d3602102000200e370308200041013602000f0b200b200441d8c5c0800010f580808000000b200b200441d8c5c0800010f580808000000b200d200441b8c5c0800010aa81808000000b200b200641c8c5c0800010ac81808000000b2006200441c8c5c0800010aa81808000000b2009200441e8c5c0800010f580808000000b200a200441f8c5c0800010f580808000000b2009200441e8c5c0800010f580808000000b200a200441f8c5c0800010f580808000000bb50a02057f037e02400240024002400240024020014108490d0020014107712202450d0520002802a001220341294f0d01024020030d00200041003602a0010c060b2003417f6a41ffffffff0371220441016a2205410371210620024102744188c6c080006a280200200276ad21070240200441034f0d0042002108200021020c050b200541fcffffff07712104420021082000210203402002200235020020077e20087c22083e0200200241046a2205200535020020077e20084220887c22083e0200200241086a2205200535020020077e20084220887c22083e02002002410c6a2205200535020020077e20084220887c22093e020020094220882108200241106a21022004417c6a22040d000c050b0b20002802a001220541294f0d01024020050d00200041003602a00120000f0b20014102744188c6c080006a35020021072005417f6a41ffffffff0371220241016a220441037121060240200241034f0d0042002108200021020c030b200441fcffffff07712104420021082000210203402002200235020020077e20087c22083e0200200241046a2201200135020020077e20084220887c22083e0200200241086a2201200135020020077e20084220887c22083e02002002410c6a2201200135020020077e20084220887c22093e020020094220882108200241106a21022004417c6a22040d000c030b0b2003412841acc3c0800010aa81808000000b2005412841acc3c0800010aa81808000000b02402006450d0003402002200235020020077e20087c22093e0200200241046a2102200942208821082006417f6a22060d000b0b024002402009428080808010540d0020054128460d01200020054102746a2008a7360200200541016a21050b200020053602a00120000f0b4128412841acc3c0800010f580808000000b02402006450d0003402002200235020020077e20087c22093e0200200241046a2102200942208821082006417f6a22060d000b0b024002402009428080808010540d0020034128460d01200020034102746a2008a7360200200341016a21030b200020033602a0010c010b4128412841acc3c0800010f580808000000b024002402001410871450d0002400240024020002802a001220341294f0d00024020030d00410021030c030b2003417f6a41ffffffff0371220241016a220441037121060240200241034f0d0042002107200021020c020b200441fcffffff07712104420021072000210203402002200235020042e1eb177e20077c22073e0200200241046a2205200535020042e1eb177e20074220887c22073e0200200241086a2205200535020042e1eb177e20074220887c22073e02002002410c6a2205200535020042e1eb177e20074220887c22083e020020084220882107200241106a21022004417c6a22040d000c020b0b2003412841acc3c0800010aa81808000000b02402006450d0003402002200235020042e1eb177e20077c22083e0200200241046a2102200842208821072006417f6a22060d000b0b2008428080808010540d0020034128460d02200020034102746a2007a7360200200341016a21030b200020033602a0010b02402001411071450d00200041b0c6c080004102109a818080001a0b02402001412071450d00200041b8c6c080004103109a818080001a0b0240200141c00071450d00200041c4c6c080004105109a818080001a0b0240200141800171450d00200041d8c6c08000410a109a818080001a0b0240200141800271450d0020004180c7c080004113109a818080001a0b200020011099818080001a20000f0b4128412841acc3c0800010f580808000000bd23103017f047e1c7f23808080800041a00a6b22042480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240200129030022054200510d00200129030822064200510d01200129031022074200510d02200520077c22082005540d0320052006540d04200341104d0d0520012c001a210920012e01182101200420053e0200200441014102200542808080801054220a1b3602a001200441002005422088a7200a1b360204200441086a410041980110eb968080001a200420063e02a401200441014102200642808080801054220a1b3602c402200441002006422088a7200a1b3602a801200441a4016a41086a410041980110eb968080001a200420073e02c802200441014102200742808080801054220a1b3602e803200441002007422088a7200a1b3602cc02200441c8026a41086a410041980110eb968080001a200441f0036a4100419c0110eb968080001a200441013602ec032004410136028c052001ad4230864230872008427f7c797d42c29ac1e8047e4280a1cda0b4027c422088a7220a411074411075210b0240024020014100480d00200420011099818080001a200441a4016a20011099818080001a200441c8026a20011099818080001a0c010b200441ec036a410020016b4110744110751099818080001a0b02400240200b417f4a0d0020044100200b6b41ffff0371220110a1818080001a200441a4016a200110a1818080001a200441c8026a200110a1818080001a0c010b200441ec036a200a41ffff017110a1818080001a0b20042802a001210c200441fc086a200441a00110e9968080001a2004200c36029c0a20042802e803220d200c200d200c4b1b220e41294f0d0602400240200e0d004100210e0c010b200e410171210f02400240200e4101470d0041002110410021110c010b200e413e71211241002110200441fc086a2101200441c8026a210a410021110340200120012802002213200a2802006a221420104101716a2215360200200141046a221020102802002216200a41046a2802006a221020142013492015201449726a221436020020102016492014201049722110200a41086a210a200141086a21012012201141026a2211470d000b0b0240200f450d00200441fc086a201141027422016a220a200a280200220a200441c8026a20016a2802006a220120106a22143602002001200a4920142001497221100b2010410171450d00200e4128460d08200441fc086a200e4102746a4101360200200e41016a210e0b2004200e36029c0a200e200428028c052211200e20114b1b220141294f0d08200141027421010240024003402001450d01417f2001417c6a2201200441fc086a6a280200220a2001200441ec036a6a280200221447200a20144b1b220a450d000c020b0b417f410020011b210a0b0240200a20094e0d00200b41016a210b0c130b0240200c0d004100210c0c0b0b200c417f6a41ffffffff0371220141016a2214410371210a0240200141034f0d0020042101420021050c0a0b201441fcffffff077121142004210142002105034020012001350200420a7e20057c22053e0200200141046a22102010350200420a7e20054220887c22053e0200200141086a22102010350200420a7e20054220887c22053e02002001410c6a22102010350200420a7e20054220887c22063e020020064220882105200141106a21012014417c6a22140d000c0a0b0b41d0c8c08000411c41ecc8c0800010f480808000000b41fcc8c08000411d419cc9c0800010f480808000000b41acc9c08000411c41c8c9c0800010f480808000000b4190cbc08000413641c8cbc0800010f480808000000b41c8cac0800041374180cbc0800010f480808000000b41d8c9c08000412d4188cac0800010f480808000000b200e412841acc3c0800010aa81808000000b4128412841acc3c0800010f580808000000b2001412841acc3c0800010aa81808000000b0240200a450d00034020012001350200420a7e20057c22063e0200200141046a210120064220882105200a417f6a220a0d000b0b2006428080808010540d00200c4128460d012004200c4102746a2005a7360200200c41016a210c0b2004200c3602a00120042802c402221341294f0d0141002115410021012013450d032013417f6a41ffffffff0371220141016a2214410371210a0240200141034f0d00200441a4016a2101420021050c030b201441fcffffff07712114200441a4016a210142002105034020012001350200420a7e20057c22053e0200200141046a22102010350200420a7e20054220887c22053e0200200141086a22102010350200420a7e20054220887c22053e02002001410c6a22102010350200420a7e20054220887c22063e020020064220882105200141106a21012014417c6a22140d000c030b0b4128412841acc3c0800010f580808000000b2013412841acc3c0800010aa81808000000b0240200a450d00034020012001350200420a7e20057c22063e0200200141046a210120064220882105200a417f6a220a0d000b0b024020064280808080105a0d00201321010c010b20134128460d01200441a4016a20134102746a2005a7360200201341016a21010b200420013602c402200d450d02200d417f6a41ffffffff0371220141016a2214410371210a0240200141034f0d00200441c8026a2101420021050c020b201441fcffffff07712114200441c8026a210142002105034020012001350200420a7e20057c22053e0200200141046a22102010350200420a7e20054220887c22053e0200200141086a22102010350200420a7e20054220887c22053e02002001410c6a22102010350200420a7e20054220887c22063e020020064220882105200141106a21012014417c6a22140d000c020b0b4128412841acc3c0800010f580808000000b0240200a450d00034020012001350200420a7e20057c22063e0200200141046a210120064220882105200a417f6a220a0d000b0b024020064280808080105a0d00200d21150c010b200d4128460d02200441c8026a200d4102746a2005a7360200200d41016a21150b200420153602e8030b20044190056a200441ec036a41a00110e9968080001a200420113602b00620044190056a41011099818080002117200428028c052101200441b4066a200441ec036a41a00110e9968080001a200420013602d407200441b4066a41021099818080002118200428028c052101200441d8076a200441ec036a41a00110e9968080001a200420013602f808200441d8076a410310998180800021190240024020042802f808221a20042802a0012211201a20114b1b220f41284b0d0020044190056a417c6a210d200441b4066a417c6a210c200441d8076a417c6a210e200428028c05211b20042802b006211c20042802d407211d4100211e0340201e211f200f41027421010240024003402001450d01417f200e20016a280200220a2001417c6a220120046a280200221447200a20144b1b220a450d000c020b0b417f410020011b210a0b410021200240024002400240024002400240024002400240024002400240024002400240024002400240024002400240200a41014b0d000240200f450d0041012110200f4101712121410021110240200f4101460d00200f413e712112410021114101211020042101200441d8076a210a0340200120012802002213200a280200417f736a221420104101716a2215360200200141046a221020102802002216200a41046a280200417f736a221020142013492015201449726a221436020020102016492014201049722110200a41086a210a200141086a21012012201141026a2211470d000b0b02402021450d002004201141027422016a220a200a280200220a201920016a280200417f736a220120106a22143602002001200a4920142001497221100b2010410171450d020b2004200f3602a00141082120200f21110b201d2011201d20114b1b221241294f0d01201241027421010240024003402001450d01417f200c20016a280200220a2001417c6a220120046a280200221447200a20144b1b220a450d000c020b0b417f410020011b210a0b02400240200a41014d0d00201121120c010b02402012450d00410121102012410171212141002111024020124101460d002012413e71210f410021114101211020042101200441b4066a210a0340200120012802002213200a280200417f736a221420104101716a2215360200200141046a221020102802002216200a41046a280200417f736a221020142013492015201449726a221436020020102016492014201049722110200a41086a210a200141086a2101200f201141026a2211470d000b0b02402021450d002004201141027422016a220a200a280200220a201820016a280200417f736a220120106a22143602002001200a4920142001497221100b2010410171450d040b200420123602a001202041047221200b201c2012201c20124b1b222141294f0d03202141027421010240024003402001450d01417f200d20016a280200220a2001417c6a220120046a280200221447200a20144b1b220a450d000c020b0b417f410020011b210a0b02400240200a41014d0d00201221210c010b02402021450d00410121102021410171210f41002111024020214101460d002021413e71211241002111410121102004210120044190056a210a0340200120012802002213200a280200417f736a221420104101716a2215360200200141046a221020102802002216200a41046a280200417f736a221020142013492015201449726a221436020020102016492014201049722110200a41086a210a200141086a21012012201141026a2211470d000b0b0240200f450d002004201141027422016a220a200a280200220a201720016a280200417f736a220120106a22143602002001200a4920142001497221100b2010410171450d060b200420213602a001202041026a21200b201b2021201b20214b1b220f41294f0d05200f41027421010240024003402001450d01417f2001417c6a2201200441ec036a6a280200220a200120046a280200221447200a20144b1b220a450d000c020b0b417f410020011b210a0b02400240200a41014d0d002021210f0c010b0240200f450d0041012110200f4101712121410021110240200f4101460d00200f413e712112410021114101211020042101200441ec036a210a0340200120012802002213200a280200417f736a221420104101716a2215360200200141046a221020102802002216200a41046a280200417f736a221020142013492015201449726a221436020020102016492014201049722110200a41086a210a200141086a21012012201141026a2211470d000b0b02402021450d002004201141027422016a220a200a280200220a200441ec036a20016a280200417f736a220120106a22143602002001200a4920142001497221100b2010410171450d080b2004200f3602a001202041016a21200b201f2003460d0b2002201f6a202041306a3a000020042802c4022222200f2022200f4b1b220141294f0d07201f41016a211e200141027421010240024003402001450d01417f2001417c6a2201200441a4016a6a280200220a200120046a280200221447200a20144b1b2212450d000c020b0b417f410020011b21120b200441fc086a200441a00110e9968080001a2004200f36029c0a20042802e8032223200f2023200f4b1b222041294f0d080240024020200d00410021200c010b202041017121244100211041002111024020204101460d002020413e71212141002110200441fc086a2101200441c8026a210a410021110340200120012802002213200a2802006a221420104101716a2215360200200141046a221020102802002216200a41046a2802006a221020142013492015201449726a221436020020102016492014201049722110200a41086a210a200141086a21012021201141026a2211470d000b0b02402024450d00200441fc086a201141027422016a220a200a280200220a200441c8026a20016a2802006a220120106a22143602002001200a4920142001497221100b2010410171450d0020204128460d0a200441fc086a20204102746a4101360200202041016a21200b2004202036029c0a2020201b2020201b4b1b220141294f0d0a200141027421010240024003402001450d01417f2001417c6a2201200441fc086a6a280200220a2001200441ec036a6a280200221447200a20144b1b220a450d000c020b0b417f410020011b210a0b024002400240201220094822010d00200a20094e0d010b200a20094e0d1c20010d010c1b0b4100211341002111200f450d0f200f417f6a41ffffffff0371220141016a2214410371210a0240200141034f0d0020042101420021060c0f0b201441fcffffff077121142004210142002106034020012001350200420a7e20067c22053e0200200141046a22102010350200420a7e20054220887c22053e0200200141086a22102010350200420a7e20054220887c22053e02002001410c6a22102010350200420a7e20054220887c22053e020020054220882106200141106a21012014417c6a22140d000c0f0b0b200441011099818080001a200428028c05220120042802a001220a2001200a4b1b220141294f0d0c200141027421012004417c6a2110200441ec036a417c6a21110240024003402001450d01201020016a210a201120016a21142001417c6a2101417f20142802002214200a280200220a472014200a4b1b220a450d000c020b0b417f410020011b210a0b200a4102490d190c1a0b41bcc3c08000411a41acc3c0800010f480808000000b2012412841acc3c0800010aa81808000000b41bcc3c08000411a41acc3c0800010f480808000000b2021412841acc3c0800010aa81808000000b41bcc3c08000411a41acc3c0800010f480808000000b200f412841acc3c0800010aa81808000000b41bcc3c08000411a41acc3c0800010f480808000000b2001412841acc3c0800010aa81808000000b2020412841acc3c0800010aa81808000000b4128412841acc3c0800010f580808000000b2001412841acc3c0800010aa81808000000b200320034198cac0800010f580808000000b2001412841acc3c0800010aa81808000000b0240200a450d00034020012001350200420a7e20067c22053e0200200141046a210120054220882106200a417f6a220a0d000b0b024020054280808080105a0d00200f21110c010b200f4128460d012004200f4102746a2006a7360200200f41016a21110b200420113602a0012022450d022022417f6a41ffffffff0371220141016a2214410371210a0240200141034f0d00200441a4016a2101420021060c020b201441fcffffff07712114200441a4016a210142002106034020012001350200420a7e20067c22053e0200200141046a22102010350200420a7e20054220887c22053e0200200141086a22102010350200420a7e20054220887c22053e02002001410c6a22102010350200420a7e20054220887c22053e020020054220882106200141106a21012014417c6a22140d000c020b0b4128412841acc3c0800010f580808000000b0240200a450d00034020012001350200420a7e20067c22053e0200200141046a210120054220882106200a417f6a220a0d000b0b024020054280808080105a0d00202221130c010b20224128460d01200441a4016a20224102746a2006a7360200202241016a21130b200420133602c402024020230d00410021230c030b2023417f6a41ffffffff0371220141016a2214410371210a0240200141034f0d00200441c8026a2101420021060c020b201441fcffffff07712114200441c8026a210142002106034020012001350200420a7e20067c22053e0200200141046a22102010350200420a7e20054220887c22053e0200200141086a22102010350200420a7e20054220887c22053e02002001410c6a22102010350200420a7e20054220887c22053e020020054220882106200141106a21012014417c6a22140d000c020b0b4128412841acc3c0800010f580808000000b0240200a450d00034020012001350200420a7e20067c22053e0200200141046a210120054220882106200a417f6a220a0d000b0b2005428080808010540d0020234128460d03200441c8026a20234102746a2006a7360200202341016a21230b200420233602e803201a2011201a20114b1b220f41284d0d000b0b200f412841acc3c0800010aa81808000000b4128412841acc3c0800010f580808000000b4128412841acc3c0800010f580808000000b2002201e6a2111201f2101417f210a024003402001417f460d01200a41016a210a200220016a21142001417f6a2210210120142d00004139460d000b200220106a221441016a220120012d000041016a3a0000201041026a201e4f0d01201441026a4130200a10eb968080001a0c010b02400240201e0d00413121010c010b200241313a00000240201f0d00413021010c010b41302101200241016a4130201f10eb968080001a0b0240201e20034f0d00201120013a0000200b41016a210b201f41026a211e0c010b201e200341a8cac0800010f580808000000b0240201e20034b0d002000200b3b01082000201e36020420002002360200200441a00a6a2480808080000f0b201e200341b8cac0800010aa81808000000b8e2a03017f037e1a7f23808080800041c0066b22052480808080000240024002400240024002400240024002400240024002400240024002400240200129030022064200510d00200129030822074200510d01200129031022084200510d02200620087c2006540d0320062007540d0420012e01182101200520063e020c20054101410220064280808080105422091b3602ac01200541002006422088a720091b360210200541146a410041980110eb968080001a200541b4016a4100419c0110eb968080001a200541013602b001200541013602d0022001ad4230864230872006427f7c797d42c29ac1e8047e4280a1cda0b4027c422088a72209411074411075210a0240024020014100480d002005410c6a20011099818080001a0c010b200541b0016a410020016b4110744110751099818080001a0b02400240200a417f4a0d002005410c6a4100200a6b41ffff037110a1818080001a0c010b200541b0016a200941ffff017110a1818080001a0b20052802d002210b2005419c056a200541b0016a41a00110e9968080001a2005200b3602bc062003210c02402003410a490d0002400240200b41284d0d00200b21010c010b2005419c056a41786a210d2003210c200b2101034002402001450d002001410274210902400240200141ffffffff036a220e41ffffffff0371220f0d002005419c056a20096a2101420021060c010b200d20096a2101200f41016a41feffffff07712109420021060340200141046a220f2006422086200f350200842206428094ebdc038022073e0200200120062007428094ebdc037e7d4220862001350200842206428094ebdc038022073e020020062007428094ebdc037e7d2106200141786a21012009417e6a22090d000b200141086a21010b200e4101710d002001417c6a22012006422086200135020084428094ebdc03803e02000b200c41776a220c41094d0d0220052802bc0622014129490d000b0b2001412841acc3c0800010aa81808000000b200c4102744188c6c080006a2802004101742209450d0520052802bc06220141294f0d060240024020010d00410021010c010b2001410274210f2009ad210602400240200141ffffffff036a220c41ffffffff037122010d002005419c056a200f6a2101420021070c010b200141016a41feffffff07712109200f2005419c056a6a41786a2101420021070340200141046a220f2007422086200f35020084220720068022083e020020012007200820067e7d422086200135020084220720068022083e02002007200820067e7d2107200141786a21012009417e6a22090d000b200141086a21010b0240200c4101710d002001417c6a220120074220862001350200842006803e02000b20052802bc0621010b20052802ac0122102001201020014b1b221141294f0d070240024020110d00410021110c010b201141017121120240024020114101470d004100210c4100210e0c010b2011413e7121134100210c2005419c056a21012005410c6a21094100210e034020012001280200220d20092802006a220f200c4101716a2214360200200141046a220c200c2802002215200941046a2802006a220c200f200d492014200f49726a220f360200200c201549200f200c4972210c200941086a2109200141086a21012013200e41026a220e470d000b0b02402012450d002005419c056a200e41027422016a2209200928020022092005410c6a20016a2802006a2201200c6a220f3602002001200949200f20014972210c0b200c410171450d0020114128460d092005419c056a20114102746a4101360200201141016a21110b200520113602bc06200b2011200b20114b1b220141294f0d09200141027421010240024003402001450d01417f2001417c6a2201200541b0016a6a280200220920012005419c056a6a280200220f472009200f4b1b2209450d000c020b0b417f410020011b21090b024020094102490d00024020100d0041002110200541003602ac010c0d0b2010417f6a41ffffffff0371220141016a220f41037121090240200141034f0d002005410c6a2101420021060c0c0b200f41fcffffff0771210f2005410c6a210142002106034020012001350200420a7e20067c22063e0200200141046a220c200c350200420a7e20064220887c22063e0200200141086a220c200c350200420a7e20064220887c22063e02002001410c6a220c200c350200420a7e20064220887c22073e020020074220882106200141106a2101200f417c6a220f0d000c0c0b0b200a41016a210a0c0b0b41d0c8c08000411c41d8cbc0800010f480808000000b41fcc8c08000411d41e8cbc0800010f480808000000b41acc9c08000411c41f8cbc0800010f480808000000b4190cbc08000413641e8ccc0800010f480808000000b41c8cac08000413741d8ccc0800010f480808000000b41f3c3c08000411b41acc3c0800010f480808000000b2001412841acc3c0800010aa81808000000b2011412841acc3c0800010aa81808000000b4128412841acc3c0800010f580808000000b2001412841acc3c0800010aa81808000000b02402009450d00034020012001350200420a7e20067c22073e0200200141046a2101200742208821062009417f6a22090d000b0b02402007428080808010540d0020104128460d022005410c6a20104102746a2006a7360200201041016a21100b200520103602ac010b4100210d02400240200a411074411075220120044110744110752209480d00200a20046b4110744110752003200120096b2003491b220c0d014100210d0b4100210c0c020b200541d4026a200541b0016a41a00110e9968080001a2005200b3602f403200541d4026a4101109981808000211620052802d0022101200541f8036a200541b0016a41a00110e9968080001a2005200136029805200541f8036a4102109981808000211720052802d00221012005419c056a200541b0016a41a00110e9968080001a200520013602bc06200541b0016a417c6a2111200541d4026a417c6a2113200541f8036a417c6a21152005419c056a417c6a21142005419c056a4103109981808000211820052802d002210b20052802f4032119200528029805211a20052802bc06211b20052802ac0121104100211c02400340201c211d0240024002400240024002400240024002400240024002400240201041294f0d00201d41016a211c2010410274210f410021010240024002400340200f2001460d012005410c6a20016a2109200141046a21012009280200450d000b201b2010201b20104b1b221e41294f0d04201e41027421010240024003402001450d01417f201420016a28020022092001417c6a22012005410c6a6a280200220f472009200f4b1b2209450d000c020b0b417f410020011b21090b4100211f0240200941024f0d004101210e201e410171211f4100210d0240201e4101460d00201e413e7121204100210d4101210e2005410c6a21012005419c056a210903402001200128020022102009280200417f736a220f200e4101716a2212360200200141046a220e200e2802002221200941046a280200417f736a220e200f2010492012200f49726a220f360200200e202149200f200e4972210e200941086a2109200141086a21012020200d41026a220d470d000b0b0240201f450d002005410c6a200d41027422016a220920092802002209201820016a280200417f736a2201200e6a220f3602002001200949200f20014972210e0b200e410171450d072005201e3602ac014108211f201e21100b201a2010201a20104b1b222041294f0d072020410274210103402001450d02417f201520016a28020022092001417c6a22012005410c6a6a280200220f472009200f4b1b2209450d000c030b0b200c20034b0d04200c201d460d132002201d6a4130200c201d6b10eb968080001a0c130b417f410020011b21090b02400240200941014d0d00201021200c010b02402020450d004101210e202041017121224100210d024020204101460d002020413e71211e4100210d4101210e2005410c6a2101200541f8036a210903402001200128020022102009280200417f736a220f200e4101716a2212360200200141046a220e200e2802002221200941046a280200417f736a220e200f2010492012200f49726a220f360200200e202149200f200e4972210e200941086a2109200141086a2101201e200d41026a220d470d000b0b02402022450d002005410c6a200d41027422016a220920092802002209201720016a280200417f736a2201200e6a220f3602002001200949200f20014972210e0b200e410171450d070b200520203602ac01201f410472211f0b20192020201920204b1b221e41294f0d06201e41027421010240024003402001450d01417f201320016a28020022092001417c6a22012005410c6a6a280200220f472009200f4b1b2209450d000c020b0b417f410020011b21090b02400240200941014d0d002020211e0c010b0240201e450d004101210e201e41017121224100210d0240201e4101460d00201e413e7121204100210d4101210e2005410c6a2101200541d4026a210903402001200128020022102009280200417f736a220f200e4101716a2212360200200141046a220e200e2802002221200941046a280200417f736a220e200f2010492012200f49726a220f360200200e202149200f200e4972210e200941086a2109200141086a21012020200d41026a220d470d000b0b02402022450d002005410c6a200d41027422016a220920092802002209201620016a280200417f736a2201200e6a220f3602002001200949200f20014972210e0b200e410171450d090b2005201e3602ac01201f41026a211f0b200b201e200b201e4b1b221041294f0d08201041027421010240024003402001450d01417f201120016a28020022092001417c6a22012005410c6a6a280200220f472009200f4b1b2209450d000c020b0b417f410020011b21090b02400240200941014d0d00201e21100c010b02402010450d004101210e201041017121224100210d024020104101460d002010413e71211e4100210d4101210e2005410c6a2101200541b0016a210903402001200128020022122009280200417f736a220f200e4101716a2221360200200141046a220e200e2802002220200941046a280200417f736a220e200f2012492021200f49726a220f360200200e202049200f200e4972210e200941086a2109200141086a2101201e200d41026a220d470d000b0b02402022450d002005410c6a200d41027422016a220920092802002209200541b0016a20016a280200417f736a2201200e6a220f3602002001200949200f20014972210e0b200e410171450d0b0b200520103602ac01201f41016a211f0b0240201d2003460d002002201d6a201f41306a3a0000201041294f0d0b024020100d00410021100c0e0b2010417f6a41ffffffff0371220141016a220f41037121090240200141034f0d002005410c6a2101420021060c0d0b200f41fcffffff0771210f2005410c6a210142002106034020012001350200420a7e20067c22063e0200200141046a220e200e350200420a7e20064220887c22063e0200200141086a220e200e350200420a7e20064220887c22063e02002001410c6a220e200e350200420a7e20064220887c22073e020020074220882106200141106a2101200f417c6a220f0d000c0d0b0b2003200341b8ccc0800010f580808000000b2010412841acc3c0800010aa81808000000b201e412841acc3c0800010aa81808000000b200c200341c8ccc0800010aa81808000000b41bcc3c08000411a41acc3c0800010f480808000000b2020412841acc3c0800010aa81808000000b41bcc3c08000411a41acc3c0800010f480808000000b201e412841acc3c0800010aa81808000000b41bcc3c08000411a41acc3c0800010f480808000000b2010412841acc3c0800010aa81808000000b41bcc3c08000411a41acc3c0800010f480808000000b2010412841acc3c0800010aa81808000000b02402009450d00034020012001350200420a7e20067c22073e0200200141046a2101200742208821062009417f6a22090d000b0b2007428080808010540d0020104128460d022005410c6a20104102746a2006a7360200201041016a21100b200520103602ac01201c200c470d000b4101210d0c020b4128412841acc3c0800010f580808000000b4128412841acc3c0800010f580808000000b0240024002400240024002400240200b41294f0d000240200b0d004100210b0c030b200b417f6a41ffffffff0371220141016a220f41037121090240200141034f0d00200541b0016a2101420021060c020b200f41fcffffff0771210f200541b0016a21014200210603402001200135020042057e20067c22063e0200200141046a220e200e35020042057e20064220887c22063e0200200141086a220e200e35020042057e20064220887c22063e02002001410c6a220e200e35020042057e20064220887c22073e020020074220882106200141106a2101200f417c6a220f0d000c020b0b200b412841acc3c0800010aa81808000000b02402009450d0003402001200135020042057e20067c22073e0200200141046a2101200742208821062009417f6a22090d000b0b2007428080808010540d00200b4128460d01200541b0016a200b4102746a2006a7360200200b41016a210b0b2005200b3602d002200b2010200b20104b1b220141294f0d0120014102742101024003402001450d01417f2001417c6a2201200541b0016a6a280200220920012005410c6a6a280200220f472009200f4b1b2209450d000b200941ff01714101470d040c030b200d20014571450d030240200c417f6a220120034f0d00200220016a2d00004101710d030c040b200120034188ccc0800010f580808000000b4128412841acc3c0800010f580808000000b2001412841acc3c0800010aa81808000000b0240200c20034b0d002002200c6a210e410021012002210902400340200c2001460d01200141016a21012009417f6a2209200c6a220f2d00004139460d000b200f200f2d000041016a3a0000200c20016b41016a200c4f0d02200f41016a41302001417f6a10eb968080001a0c020b02400240200c0d00413121090c010b200241313a00000240200c4101470d00413021090c010b41302109200241016a4130200c417f6a10eb968080001a0b200a4110742101200a41016a210a20014110752004411074411075480d01200c20034f0d01200e20093a0000200c41016a210c0c010b200c20034198ccc0800010aa81808000000b200c20034b0d010b2000200a3b01082000200c36020420002002360200200541c0066a2480808080000f0b200c200341a8ccc0800010aa81808000000b8f0101017f23808080800041c0006b22052480808080002005200136020c2005200036020820052003360214200520023602102005410236021c200541fcccc0800036021820054202370224200541a280808000ad422086200541106aad84370338200541a380808000ad422086200541086aad843703302005200541306a360220200541186a200410f280808000000ba603000240024002402002450d0020012d000041304d0d01200641034d0d02200541023b0100024002400240024002400240200341107441107522064101480d0020052001360204200341ffff037122032002490d01200541003b010c200520023602082005200320026b36021020040d02410221010c050b200520023602202005200136021c200541023b0118200541003b010c200541023602082005419dcfc080003602042005410020066b220336021041032101200420024d0d04200420026b220220034d0d04200220066a21040c030b200541023b0118200541013602142005419ccfc08000360210200541023b010c200520033602082005200220036b22023602202005200120036a36021c200420024b0d01410321010c030b200541013602202005419ccfc0800036021c200541023b01180c010b200420026b21040b20052004360228200541003b0124410421010b20002001360204200020053602000f0b4184cec08000412141a8cec0800010f480808000000b41b8cec08000411f41d8cec0800010f480808000000b41e8cec080004122418ccfc0800010f480808000000b890607017f017e017f027e017f027e027f23808080800041c0006b22082480808080000240024002400240200741034d0d00200541104d0d012001bd21090240024020019944000000000000f07f620d004103210a0c010b024020094280808080808080f8ff0083220b4280808080808080f8ff00520d004102210a0c010b200942ffffffffffffff0783220c42808080808080800884200942018642feffffffffffff0f832009423488a741ff0f71220d1b220e420183210f0240200b4200520d000240200c50450d004104210a0c020b200d41cd776a210d200fa7410173210a4201210b0c010b428080808080808020200e420186200e4280808080808080085122101b210e4202420120101b210b200fa7410173210a41cb7741cc7720101b200d6a210d0b2008200d3b01202008200b370318200842013703102008200e3703082008200a3a00220240024002400240200a417e6a220d450d004101210a41f0cfc0800041f1cfc080002009423f88a722111b41f0cfc08000410120111b20021b21104101201120021b2102200d4103200d4103491b417f6a0e03010302010b20064103360208200641f2cfc08000360204200641023b010041012110410021024101210a0c060b20064103360208200641f5cfc08000360204200641023b01000c050b200841346a200841086a2004200510fb808080000240024020082802340d00200841286a200841086a2004200510a2818080000c010b200841286a41086a200841346a41086a280200360200200820082902343703280b20082008280228200828022c20082f013020032006200710a5818080002008280204210a200828020021060c040b4102210a200641023b01002003450d0220062003360210200641003b010c200641023602082006419dcfc080003602040c030b41e8cec08000412241a0cfc0800010f480808000000b41b0cfc08000412d41e0cfc0800010f480808000000b4101210a20064101360208200641f8cfc080003602040b2000200a36020c200020063602082000200236020420002010360200200841c0006a2480808080000b970705027f037e017f027e037f23808080800041c0006b2208248080808000410321090240024002400240200741034d0d002001bd210a0240024020019944000000000000f07f620d000c010b0240200a4280808080808080f8ff0083220b4280808080808080f8ff00520d00410221090c010b200a42ffffffffffffff0783220c42808080808080800884200a42018642feffffffffffff0f83200a423488a741ff0f71220d1b220e420183210f0240200b4200520d000240200c50450d00410421090c020b200d41cd776a2110200fa741017321094201210b0c010b428080808080808020200e420186200e4280808080808080085122101b210e4202420120101b210b200fa7410173210941cb7741cc7720101b200d6a21100b200820103b01202008200b370318200842013703102008200e370308200820093a00220240024002402009417e6a220d450d004101210941f0cfc0800041f1cfc08000200a423f88a722111b41f0cfc08000410120111b20021b21124101201120021b21020240200d4103200d4103491b417f6a0e03000203000b20064103360208200641f5cfc08000360204200641023b01000c060b20064103360208200641f2cfc08000360204200641023b01004101211241002102410121090c050b41022109200641023b01002003450d0320062003360210200641003b010c200641023602082006419dcfc080003602040c040b41744105201041107441107522094100481b20096c41047641156a220920054b0d01200841346a200841086a20042009410020036b4180807e200341808002491b220d10fc80808000200d411074411075210d0240024020082802340d00200841286a200841086a20042009200d10a3818080000c010b200841286a41086a200841346a41086a280200360200200820082902343703280b024020082e01302209200d4c0d0020082008280228200828022c200920032006200710a58180800020082802042109200828020021060c040b41022109200641023b0100024020030d004101210920064101360208200641f8cfc080003602040c040b20062003360210200641003b010c200641023602082006419dcfc080003602040c030b41e8cec08000412241fccfc0800010f480808000000b418cd0c08000412541b4d0c0800010f480808000000b4101210920064101360208200641f8cfc080003602040b2000200936020c200020063602082000200236020420002012360200200841c0006a2480808080000b0f0020002001200210a981808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410236020c200341f8d2c08000360208200342023702142003418a80808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210f280808000000b0f0020002001200210ab81808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410236020c20034198d3c08000360208200342023702142003418a80808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210f280808000000b0f0020002001200210ad81808000000b7902017f017e23808080800041306b220324808080800020032001360204200320003602002003410236020c200341ccd3c08000360208200342023702142003418a80808000ad4220862204200341046aad84370328200320042003ad843703202003200341206a360210200341086a200210f280808000000bf30503057f027e017f02402002450d004100200241796a2203200320024b1b2104200141036a417c7120016b21054100210303400240024002400240200120036a2d0000220641187441187522074100480d00200520036b4103710d01200320044f0d020340200120036a2206280204200628020072418081828478710d03200341086a22032004490d000c030b0b4280808080802021084280808080102109024002400240024002400240024002400240024002400240200641c4d0c080006a2d0000417e6a0e030001020a0b200341016a22062002490d0242002108420021090c090b42002108200341016a220a2002490d02420021090c080b42002108200341016a220a2002490d02420021090c070b4280808080802021084280808080102109200120066a2c000041bf7f4a0d060c070b2001200a6a2c0000210a024002400240200641a07e6a0e0e0002020202020202020202020201020b200a41607141a07f460d040c030b200a419f7f4a0d020c030b02402007411f6a41ff0171410c490d002007417e71416e470d02200a4140480d030c020b200a4140480d020c010b2001200a6a2c0000210a0240024002400240200641907e6a0e050100000002000b2007410f6a41ff017141024b0d03200a41404e0d030c020b200a41f0006a41ff017141304f0d020c010b200a418f7f4a0d010b0240200341026a22062002490d00420021090c050b200120066a2c000041bf7f4a0d0242002109200341036a220620024f0d04200120066a2c000041bf7f4c0d05428080808080e00021080c030b4280808080802021080c020b42002109200341026a220620024f0d02200120066a2c000041bf7f4c0d030b428080808080c00021080b42808080801021090b200020082003ad84200984370204200041013602000f0b200641016a21030c020b200341016a21030c010b200320024f0d000340200120036a2c00004100480d012002200341016a2203470d000c030b0b20032002490d000b0b2000200236020820002001360204200041003602000be90601087f024002402001200041036a417c71220220006b2203490d00200120036b22044104490d002004410371210541002106410021010240200220004622070d004100210102400240200020026b2208417c4d0d00410021090c010b4100210903402001200020096a22022c000041bf7f4a6a200241016a2c000041bf7f4a6a200241026a2c000041bf7f4a6a200241036a2c000041bf7f4a6a2101200941046a22090d000b0b20070d00200020096a21020340200120022c000041bf7f4a6a2101200241016a2102200841016a22080d000b0b200020036a210002402005450d0020002004417c716a22022c000041bf7f4a210620054101460d00200620022c000141bf7f4a6a210620054102460d00200620022c000241bf7f4a6a21060b20044102762108200620016a21030340200021042008450d02200841c001200841c001491b220641037121072006410274210541002102024020084104490d002004200541f007716a21094100210220042101034020012802002200417f7341077620004106767241818284087120026a20012802042202417f734107762002410676724181828408716a20012802082202417f734107762002410676724181828408716a200128020c2202417f734107762002410676724181828408716a2102200141106a22012009470d000b0b200820066b2108200420056a2100200241087641ff81fc0771200241ff81fc07716a418180046c41107620036a21032007450d000b2004200641fc01714102746a22022802002201417f734107762001410676724181828408712101024020074101460d0020022802042200417f7341077620004106767241818284087120016a210120074102460d0020022802082202417f7341077620024106767241818284087120016a21010b200141087641ff811c71200141ff81fc07716a418180046c41107620036a0f0b024020010d0041000f0b2001410371210902400240200141044f0d0041002103410021020c010b2001417c712108410021034100210203402003200020026a22012c000041bf7f4a6a200141016a2c000041bf7f4a6a200141026a2c000041bf7f4a6a200141036a2c000041bf7f4a6a21032008200241046a2202470d000b0b2009450d00200020026a21010340200320012c000041bf7f4a6a2103200141016a21012009417f6a22090d000b0b20030bb00301047f0240024041004111200041afb004491b220120014108722201200141027441fcd6c080006a280200410b742000410b7422014b1b220220024104722202200241027441fcd6c080006a280200410b7420014b1b220220024102722202200241027441fcd6c080006a280200410b7420014b1b2202200241016a2202200241027441fcd6c080006a280200410b7420014b1b2202200241016a2202200241027441fcd6c080006a280200410b7420014b1b220241027441fcd6c080006a280200410b74220320014620032001496a20026a220241214b0d00200241027441fcd6c080006a2203280200411576210141ef0521040240024020024121460d002003280204411576210420020d00410021020c010b2003417c6a28020041ffffff007121020b024020042001417f736a450d00200020026b2103200141ef05200141ef054b1b21022004417f6a210441002100034020022001460d03200020014184d8c080006a2d00006a220020034b0d012004200141016a2201470d000b200421010b20014101710f0b2002412241dcd6c0800010f580808000000b200241ef0541ecd6c0800010f580808000000bd016010e7f23808080800041306b22072480808080000240024002400240024002400240024002400240024002400240024002400240024002400240200128020022082f018a012209410b490d00200128020421092001280208210a41002d00b8bfd380001a418c0141002802b0bfd3800011828080800000220b450d09200b41003b018a01200b4100360258200a4105490d01200a417b6a0e020304020b200841dc006a220c2001280208220a4102746a210b200a41016a220d20094d0d06200b20023602000c070b200b20082f018a01417b6a22013b018a012001410c4f0d08200841ec006a210d200841206a210c200841246a210e4104210f4128211041f000211120092112200821130c040b200b20082f018a0141796a22013b018a012001410c4f0d08200a41796a210a200841f4006a210d200841306a210c200841346a210e410021124106210f4138211041f80021110c020b200b20082f018a01417a6a22013b018a012001410c4f0d082008280270210d2008280228210c200828022c210e200b41dc006a200841f4006a200141027410e9968080001a200b200841306a200141037410e9968080001a200841063b018a012008200436022c20082003360228200820023602704105210a20092112200821130c0a0b200b20082f018a01417a6a22013b018a012001410c4f0d08200841f0006a210d200841286a210c2008412c6a210e4100210a4105210f4130211041f4002111410021120b200b21130b200e280200210e200c280200210c200d280200210d200b41dc006a200820116a200141027410e9968080001a200b200820106a200141037410e9968080001a2008200f3b018a01201341dc006a2210200a4102746a21010240024020132f018a01220f200a4b0d00200120023602000c010b2010200a41016a22114102746a2001200f200a6b221041027410ec968080001a20012002360200201320114103746a2013200a4103746a201041037410ec968080001a0b2013200a4103746a22012003360200200120043602042013200f41016a3b018a010c070b200c200d4102746a200b2009200a6b220c41027410ec968080001a200b20023602002008200d4103746a2008200a4103746a200c41037410ec968080001a0b2008200a4103746a220b2003360200200b20043602042008200941016a3b018a0120012802042112200821130c060b4104418c0110b980808000000b2001410b4188e4c0800010aa81808000000b2001410b4188e4c0800010aa81808000000b2001410b4188e4c0800010aa81808000000b2001410b4188e4c0800010aa81808000000b02400240200828025822010d00410021040c010b4100210403400240024020092004470d0020082f018801210802400240024002400240024020012f018a012204410b490d00200941016a210420084105490d0141002109410521032008417b6a0e020204030b200141dc006a220f200841027422106a2103200841016a2109200441016a21020240024020082004490d002003200d360200200120084103746a220d200e360204200d200c3602000c010b200f200941027422116a2003200420086b220f410274221410ec968080001a2003200d360200200120094103746a200120084103746a220d200f41037410ec968080001a200d200e360204200d200c3602002001418c016a220d20106a41086a200d20116a201410ec968080001a0b200120023b018a01200120094102746a418c016a200b3602002009200441026a220d4f0d090240200420086b220c41016a4103712204450d00200120084102746a4190016a210803402008280200220b20093b018801200b2001360258200841046a2108200941016a21092004417f6a22040d000b0b200c4103490d09200941027420016a4198016a21080340200841746a280200220420093b01880120042001360258200841786a2802002204200941016a3b018801200420013602582008417c6a2802002204200941026a3b0188012004200136025820082802002204200941036a3b01880120042001360258200841106a2108200d200941046a2209470d000c0a0b0b200741043602102007200436020c20072001360208200741146a200741086a10b28180800020072802142101200821090c030b200741053602102007200436020c20072001360208200741146a200741086a10b281808000200728021422082f018a01220141016a21090240024020014106490d00200841f4006a200841f0006a2001417b6a220441027410ec968080001a2008200d360270200841306a200841286a200441037410ec968080001a2008200e36022c2008200c360228200841a8016a200841a4016a2001410274416c6a10ec968080001a200820093b018a012008200b3602a4010c010b2008200b3602a4012008200e36022c2008200c3602282008200d360270200820093b018a0120014105470d050b2001410371210b4106210902402001417b6a4103490d00200141fcff037141786a210c41062101410021040340200820046a220941a4016a280200220d20013b018801200d2008360258200941a8016a280200220d200141016a3b018801200d2008360258200941ac016a280200220d200141026a3b018801200d2008360258200941b0016a2802002209200141036a3b01880120092008360258200441106a21042001417a6a210d200141046a22092101200d200c470d000b0b200b450d04200820094102746a418c016a210103402001280200220420093b01880120042008360258200141046a2101200941016a2109200b417f6a220b0d000c050b0b200841796a2109410621030b200720033602102007200436020c20072001360208200741146a200741086a10b281808000200728021c21010b200141dc006a22102009410274220f6a2103200941016a210820012f018a01220441016a210202400240200420094b0d002003200d360200200120094103746a220d200e360204200d200c3602000c010b2010200841027422116a2003200420096b2210410274221410ec968080001a2003200d360200200120084103746a200120094103746a220d201041037410ec968080001a200d200e360204200d200c3602002001418c016a220d200f6a41086a200d20116a201410ec968080001a0b200120084102746a418c016a200b360200200120023b018a0102402008200441026a220d4f0d000240200420096b220c41016a4103712204450d002001200f6a4190016a210903402009280200220b20083b018801200b2001360258200941046a2109200841016a21082004417f6a22040d000b0b200c4103490d00200120084102746a4198016a21090340200941746a280200220420083b01880120042001360258200941786a2802002204200841016a3b018801200420013602582009417c6a2802002204200841026a3b0188012004200136025820092802002204200841036a3b01880120042001360258200941106a2109200d200841046a2208470d000b0b200728021422080d010c040b41a8e4c08000413541e0e4c0800010f480808000000b200728022c210e2007280228210c2007280224210d20072802202104200728021c210b20072802182109200828025822010d000b0b200528020022012802002209450d012001280204210341002d00b8bfd380001a41bc0141002802b0bfd38000118280808000002208450d022008200936028c01200841003b018a0120084100360258200941003b018801200920083602582001200341016a3602042001200836020020032004470d032008200d36025c200841013b018a012008200b360290012008200e3602042008200c360200200b41013b018801200b20083602580b2000200a3602082000201236020420002013360200200741306a2480808080000f0b41b4e1c08000108a81808000000b410441bc0110b980808000000b41f4e1c08000413041a4e2c0800010f480808000000be603010a7f200128020022022f018a01210341002d00b8bfd380001a0240024002400240024041bc0141002802b0bfd38000118280808000002204450d0020044100360258200420022f018a01220520012802082206417f736a22073b018a012007410c4f0d012005200641016a22086b2007470d02200241dc006a220520064102746a2802002109200220064103746a220a280204210b200a280200210a200441dc006a200520084102746a200741027410e9968080001a2004200220084103746a200741037410e9968080002108200220063b018a0120082f018a01220441016a21072004410c4f0d03200320066b22052007470d042008418c016a200220064102746a4190016a200541027410e9968080002105200128020421014100210602400340200520064102746a280200220720063b01880120072008360258200620044f0d01200620062004496a220620044d0d000b0b2000200b3602182000200a3602142000200936021020002001360204200020023602002000200136020c200020083602080f0b410441bc0110b980808000000b2007410b4188e4c0800010aa81808000000b41d0e3c08000412841f8e3c0800010f480808000000b2007410c4198e4c0800010aa81808000000b41d0e3c08000412841f8e3c0800010f480808000000bc605020e7f027e024002400240024002400240200028021422022f018a01220320016a2204410c4f0d00200028020c22052f018a0122062001490d012005200620016b22073b018a01200220043b018a01200241dc006a220820014102746a20082003410274220910ec968080001a200220014103746a2002200341037410ec968080001a2006200741016a22036b22062001417f6a470d022008200541dc006a220a20034102746a2006410274220b10e99680800021082002200520034103746a2006410374220610e99680800021022000280200220c2000280208220d4102746a41dc006a220e280200210f200520074103746a2902002110200e200a20074102746a280200360200200c200d4103746a22072902002111200720103702002008200b6a200f360200200220066a201137020020002802182107024020002802100d002007450d050c060b2007450d052002418c016a2200200141027422016a2000200941046a10ec968080001a2000200520034102746a418c016a200110e9968080001a200441016a220741037121054100210120044103490d0320024198016a21002007413c712103410021010340200041746a280200220720013b01880120072002360258200041786a2802002207200141016a3b018801200720023602582000417c6a2802002207200141026a3b0188012007200236025820002802002207200141036a3b01880120072002360258200041106a21002003200141046a2201470d000c040b0b41f0e4c08000413341a4e5c0800010f480808000000b41b4e5c08000412741dce5c0800010f480808000000b41d0e3c08000412841f8e3c0800010f480808000000b2005450d00200141027420026a418c016a210003402000280200220720013b01880120072002360258200041046a2100200141016a21012005417f6a22050d000b0b0f0b41ece5c0800041284194e6c0800010f480808000000bb207040b7f017e027f017e024002400240024002400240200028020c22022f018a01220320016a2204410c4f0d00200028021422052f018a0122062001490d01200220043b018a012005200620016b22073b018a0120002802002206200028020822084102746a41dc006a2209280200210a20052001417f6a220b410374220c6a290200210d2009200541dc006a220e200b410274220f6a280200360200200620084103746a220629020021102006200d370200200241dc006a220820034102746a200a360200200220034103746a2010370200200b2004200341016a22066b470d02200820064102746a200e200f10e9968080001a200220064103746a2005200c10e9968080001a200e200e20014102746a2007410274220810ec968080001a2005200520014103746a200741037410ec9680800021052000280218210e024020002802100d00200e450d050c060b200e450d05200220064102746a418c016a2005418c016a22002001410274220e10e9968080001a20002000200e6a200841046a10ec968080001a024020014103712200450d00200341027420026a4190016a210103402001280200220320063b01880120032002360258200141046a2101200641016a21062000417f6a22000d000b0b0240200b4103490d00200641027421000340200220006a2201418c016a280200220320063b0188012003200236025820014190016a2802002203200641016a3b0188012003200236025820014194016a2802002203200641026a3b0188012003200236025820014198016a2802002201200641036a22033b01880120012002360258200641046a2106200041106a210020032004470d000b0b2007417f460d04200741016a220041037121014100210620074103490d0320054198016a21022000417c712103410021060340200241746a280200220020063b01880120002005360258200241786a2802002200200641016a3b018801200020053602582002417c6a2802002200200641026a3b0188012000200536025820022802002200200641036a3b01880120002005360258200241106a21022003200641046a2206470d000c040b0b41a4e6c08000413241d8e6c0800010f480808000000b41e8e6c0800041284190e7c0800010f480808000000b41d0e3c08000412841f8e3c0800010f480808000000b2001450d00200641027420056a418c016a210203402002280200220020063b01880120002005360258200241046a2102200641016a21062001417f6a22010d000b0b0f0b41ece5c08000412841a0e7c0800010f480808000000bfc06020f7f017e02400240200128020c22022f018a01220341016a2204200128021422052f018a0122066a2207410c4f0d0020012802102108200128020421092001280200220a2f018a01210b200220073b018a01200a2001280208220c4102746a220141dc006a220d280200210e200d200141e0006a200b200c417f736a220f410274221010ec968080001a200241dc006a220120034102746a200e360200200120044102746a200541dc006a200641027410e9968080001a200a200c4103746a220129020021112001200141086a200f41037410ec968080001a200220034103746a2011370200200220044103746a2005200641037410e9968080001a200a200c41016a22014102746a220d418c016a200d4190016a201010ec968080001a02402001200b4f0d00200b200c6b417e6a210e0240200f410371220f450d00200c410274200a6a4190016a210c0340200c280200220d20013b018801200d200a360258200c41046a210c200141016a2101200f417f6a220f0d000b0b200e4103490d002001410274200a6a4198016a210c0340200c41746a280200220f20013b018801200f200a360258200c41786a280200220f200141016a3b018801200f200a360258200c417c6a280200220f200141026a3b018801200f200a360258200c280200220f200141036a3b018801200f200a360258200c41106a210c200b200141046a2201470d000b0b200a200a2f018a01417f6a3b018a01024020094102490d00200641016a2201200720036b470d022002418c016a20044102746a2005418c016a200141027410e9968080001a02402001410371220a450d00200341027420026a4190016a210103402001280200220c20043b018801200c2002360258200141046a2101200441016a2104200a417f6a220a0d000b0b20064103490d002004410274210a03402002200a6a2201418c016a280200220c20043b018801200c200236025820014190016a280200220c200441016a3b018801200c200236025820014194016a280200220c200441026a3b018801200c200236025820014198016a2802002201200441036a220c3b01880120012002360258200441046a2104200a41106a210a200c2007470d000b0b200541002802a8bfd380001180808080000020002008360204200020023602000f0b41d0e8c08000412a41fce8c0800010f480808000000b41d0e3c08000412841f8e3c0800010f480808000000bc80e07087f017e027f017e017f017e027f20002802002103024020002802042204450d0002400240200441037122050d00200421060c010b2004210603402006417f6a2106200320032f018a014102746a418c016a28020021032005417f6a22050d000b0b20044104490d000340200320032f018a014102746a418c016a280200220320032f018a014102746a418c016a280200220320032f018a014102746a418c016a280200220320032f018a014102746a418c016a28020021032006417c6a22060d000b0b200128021c210720012802182108200128021421092001280210210a2001290208210b2001280204210c2001280200210d0240034002400240200d4102460d00200b210e200c210f200d4101710d010c030b20092007460d022009280200210f2009290204210e2009410c6a21090b4100210d024020092007460d002009410c6a2106200929020421104101210d0240200f2009280200220c460d002010210b200621090c010b024020062007470d002010210b200f210c200621092010210e4100210d0c010b200941186a21062009290210210b0240200f200928020c220c460d00200621092010210e0c010b0340200b210e024020062007470d00200e210b200f210c200621094100210d0c020b2006280200210c2006290204210b2006410c6a22092106200f200c460d000b0b200e422088a72111200ea72112024002400240024002400240024020032f018a012206410b490d004100210402400240034020032802582203450d01200441016a210420032f018a01410b4f0d000c020b0b200028020421052000280200210641002d00b8bfd380001a41bc0141002802b0bfd38000118280808000002203450d022003200636028c01200341003b018a012003410036025820002003360200200641003b018801200620033602582000200541016a22043602040b41002d00b8bfd380001a418c0141002802b0bfd38000118280808000002205450d02200541003b018a01200541003602582004417f6a2201450d04034041002d00b8bfd380001a41bc0141002802b0bfd38000118280808000002206450d042006200536028c01200641003b018a0120064100360258200541003b01880120052006360258200621052001417f6a2201450d050c000b0b2003200641016a3b018a01200320064102746a41dc006a200f360200200320064103746a22062011360204200620123602000c040b410441bc0110b980808000000b4104418c0110b980808000000b410441bc0110b980808000000b20032f018a012206410b4f0d012003200641016a22013b018a01200320064102746a41dc006a200f360200200320064103746a2206201136020420062012360200200320014102746a418c016a2005360200200520013b018801200520033602582004450d0002400240200441037122050d00200421060c010b2004210603402006417f6a2106200320032f018a014102746a418c016a28020021032005417f6a22050d000b0b20044104490d000340200320032f018a014102746a418c016a280200220320032f018a014102746a418c016a280200220320032f018a014102746a418c016a280200220320032f018a014102746a418c016a28020021032006417c6a22060d000b0b2002200228020041016a3602000c010b0b41c4e1c08000412041b4e2c0800010f480808000000b02402008450d00200a41002802a8bfd38000118080808000000b024020002802042204450d00200028020021050340024002400240024020052f018a012203450d0020052003417f6a22074102746a22094190016a28020022062f018a01220341054f0d032009418c016a28020022012f018a01220d410520036b220c490d012001200d200c6b220f3b018a01200641053b018a01200641dc006a2202200c41027422116a20022003410274220810ec968080001a2006200c4103746a2006200341037410ec968080001a200d200f41016a220c6b220d410420036b470d022002200141dc006a2212200c410274220a6a200d410274220010e996808000210220062001200c4103746a200d410374220c10e9968080002103200941dc006a2209280200210d2001200f4103746a290200210e20092012200f4102746a280200360200200520074103746a2205290200210b2005200e370200200220006a200d3602002003200c6a200b37020020044101460d052003418c016a220520116a2005200841046a10ec968080001a20052001200a6a418c016a201110e9968080001a200328028c01220541003b01880120052003360258200328029001220541013b01880120052003360258200328029401220541023b01880120052003360258200328029801220541033b01880120052003360258200328029c01220541043b0188012005200336025820032802a001220541053b018801200520033602580c030b41f3ddc080004119418cdfc0800010f480808000000b41b4e5c08000412741dce5c0800010f480808000000b41d0e3c08000412841f8e3c0800010f480808000000b200621052004417f6a22040d000b0b0bcc0f02157f017e23808080800041a0016b220324808080800020012802002204200128020822054102746a220641dc006a220728020021082007200641e0006a2005417f7320042f018a0122096a220a41027410ec968080001a200420054103746a2206280204210b2006280200210c2006200641086a200a41037410ec968080001a20042009417f6a22063b018a012001280204210d024002400240200641ffff037141044b0d00024020042802582201450d00200d41016a2107024002400240024020042f01880122090d0020012f018a010d012003410136026c20034184e3c080003602682003420037027420032003419c016a360270200341e8006a418ce3c0800010f280808000000b2003200d36022c200320043602282003200d3602242003200736021820032009417f6a220736021c200320013602142003200120074102746a418c016a2802002201360220024020012f018a012207200641ffff037122016a41016a410c490d00200341146a410110b381808000200541016a21050c040b200520014b0d01200520076a41016a2105200341086a200341146a10b58180800020032802082104200328020c210d0c030b2003200d3602482003200d3602402003200436023c200341003602382003200736023420032001360230200320012802900122013602440240200641ffff0371220620012f018a016a41016a410c490d00200341306a410110b4818080000c030b200520064b0d012003200341306a10b581808000200328020021042003280204210d0c020b41b0e7c08000418e0141c0e8c0800010f480808000000b41b0e7c08000418e0141c0e8c0800010f480808000000b20042802582209450d0020092f018a01220641044b0d00200d41016a210e0240024002400340200e21012009220f2802582209450d01200641ffff03712110200141016a210e0240024002400240200f2f01880122060d00024020092f018a0122060d00200341013602880120034184e3c0800036028401200342003702900120032003419c016a36028c0120034184016a418ce3c0800010f280808000000b2003200136028001200320013602782003200f36027441002111200341003602702003200e36026c200320093602682003200928029001220a36027c201041016a2201200a2f018a0122126a2213410c4f0d01200f2107200a210f20102114201221100c030b200320013602642003200f3602602003200136025c2003200e36025020032006417f6a22113602542003200936024c2003200920114102746a418c016a2802002207360258201020072f018a0122146a41016a410c490d01200341cc006a410520106b10b3818080000c070b200341e8006a410520106b10b4818080000c060b201441016a220120106a211320092f018a0121060b200720133b018a01200920114102746a220a41dc006a221228020021152012200a41e0006a200641ffff037122162011417f736a220a410274221710ec968080001a200741dc006a220620144102746a20153602002006200141027422156a200f41dc006a201041027410e9968080001a200920114103746a220629020021182006200641086a200a41037410ec968080001a200720144103746a2018370200200720014103746a200f201041037410e9968080001a2009201141016a22064102746a2212418c016a220a20124190016a201710ec968080001a0240201620064d0d00201620116b417e6a21170240201620066b4103712211450d000340200a280200221220063b01880120122009360258200a41046a210a200641016a21062011417f6a22110d000b0b20174103490d00200920064102746a4198016a210a0340200a41746a280200221120063b01880120112009360258200a41786a2802002211200641016a3b01880120112009360258200a417c6a2802002211200641026a3b01880120112009360258200a2802002211200641036a3b01880120112009360258200a41106a210a2016200641046a2206470d000b0b200920092f018a01417f6a3b018a010240200e4102490d00201041016a2206201320146b470d032007418c016a20156a200f418c016a200641027410e9968080001a0240201320016b221241016a410371220a450d00200720156a418c016a210603402006280200221120013b01880120112007360258200641046a2106200141016a2101200a417f6a220a0d000b0b20124103490d002001410274210a03402007200a6a2206418c016a280200221120013b0188012011200736025820064190016a2802002211200141016a3b0188012011200736025820064194016a2802002211200141026a3b0188012011200736025820064198016a2802002206200141036a22113b01880120062007360258200141046a2101200a41106a210a20112013470d000b0b200f41002802a8bfd380001180808080000020092f018a01220641044d0d000c040b0b200641ffff0371450d010c020b41d0e3c08000412841f8e3c0800010f480808000000b2002450d0120022802042201450d0220022001417f6a36020420022002280200220128028c01220636020020064100360258200141002802a8bfd38000118080808000000b200020053602142000200d3602102000200436020c2000200b3602082000200c36020420002008360200200341a0016a2480808080000f0b419ce0c08000108a81808000000b419ce3c08000412141c0e3c0800010f480808000000ba30501087f23808080800041306b2204248080808000200128020821052001280200210602400240200128020422070d0020042005360208200441003602042004200636020020002004200228020010b7818080000c010b20022802002108200620054102746a418c016a280200210102402007417f6a2202450d002007417e6a2105024020024103712207450d0003402002417f6a2102200120012f018a014102746a418c016a28020021012007417f6a22070d000b0b20054103490d000340200120012f018a014102746a418c016a280200220120012f018a014102746a418c016a280200220120012f018a014102746a418c016a280200220120012f018a014102746a418c016a28020021012002417c6a22020d000b0b2004200136020c2004200133018a014220864280808080707c370210200441186a2004410c6a200810b7818080002004280228210220042802202106200428021c2108200428021821050240200428022c2207200428022422012f018a01490d000340200241016a210220012f0188012207200128025822012f018a014f0d000b0b200120074102746a220941dc006a220a280200210b200a2005360200200120074103746a2205280204210a2005200636020420052802002106200520083602000240024020020d00200741016a21050c010b20094190016a2802002101410021052002417f6a2207450d002002417e6a2108024020074107712202450d0003402007417f6a2107200128028c0121012002417f6a22020d000b0b20084107490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200741786a22070d000b0b20002005360214200041003602102000200136020c2000200a360208200020063602042000200b3602000b200441306a2480808080000bd004020c7f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c02400240024002402002450d002001280204210520012802002106418020210703400240200328020c220820046b2002200720022007491b22094f0d00024002400240200920046a220441ffffffff014d0d00410021070c010b2004410274210a4100210b02402008450d00200320032802103602242003200841027436022c4104210b0b2003200b360228200341186a4104200a200341246a10958280800020032802184101470d0120032802202104200328021c21070b200720044188ebc0800010ae80808000000b2003200328021c3602102003200436020c0b02402007450d000240024020054104490d002009417f6a210c2003280214220d41027421042005417c6a220b41027641016a210e4100210703402001200b220536020420012006220841046a22063602002008280000210b0240200d20076a220a200328020c470d002003410c6a4198ebc080001096828080000b200328021020046a200b3602002003200a41016a360214200c2007460d022005417c6a210b200441046a2104200e200741016a2207470d000b200720094f0d010b200328020c450d05200328021041002802a8bfd38000118080808000000c050b200841046a21060b200328021422042107200220096b22020d000b200328020c2207418080808078460d022003290210210f0c010b2003290210210f410021070b2000200f370204200020073602000c010b20004180808080783602000b200341306a2480808080000b9b0303037f017e077f23808080800041206b2203248080808000024002400240200128020422042002490d00024020020d0041002105420121060c020b20012802002107418080012108410021094101210a41002105024003400240200520096b2002200820022008491b220b4f0d004100210c0240024002402009200b6a220820094f0d000c010b20084100480d004100210c02402005450d002003200536021c2003200a3602144101210c0b2003200c360218200341086a41012008200341146a10958280800020032802084101470d012003280210210d200328020c210c0b200c200d4188ebc0800010ae80808000000b200328020c210a200821050b2004200b490d01200a20096a2007200b10e9968080001a20012004200b6b220436020420012007200b6a2207360200200b20096a220921082002200b6b22020d000b2005418080808078460d012009ad422086200aad8421060c020b2005450d00200a41002802a8bfd38000118080808000000b20004180808080783602000c010b20002006370204200020053602000b200341206a2480808080000b9e0601087f23808080800041206b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001180808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310c7928080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220341ffffffff074f0d032000200341016a36020c02400240200028021822050d002000200336020c2001280200450d01200128020441002802a8bfd38000118080808000000c010b200028021420054102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c20012802102104200128020c21062002200336021020032802080d062003417f360208410021070240024020044100480d00200328021041e8006a2802002108200328020c2109410121072004450d0141002d00b8bfd380001a200441002802b0bfd380001182808080000022070d01410121070b2007200441b0eec0800010ae80808000000b20072006200410e99680800021072002200436021c2002200736021820022004360214200241086a200141086a280200360200200220012902003703002009200241146a20022008118580808000002003200328020841016a36020820032003280200417f6a220436020020040d00200241106a10c7928080000b20002000280204417f6a360204200241206a24808080800020054100470f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bdc0401047f23808080800041106b22012480808080000240024002400240024002402000280204220241ffffffff074f0d00024020002802080d00200120002802001180808080000020002802040d022000417f360204024020002802080d00200041013602082000200129020037020c200041146a200141086a290200370200410021020c010b024020002802182203450d00200028021421020340200228020022042004280200417f6a2204360200024020040d00200210c7928080000b200241046a21022003417f6a22030d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b200041013602082000200129020037020c200041146a200141086a2902003702002000200028020441016a2202360204200241ffffffff074f0d030b2000200241016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822030d002000200436020c0c010b200028021420034102746a417c6a2802002202200228020041016a22043602002004450d052000200028020c417f6a36020c2001200236020020022802080d062002417f360208200228020c200228021041ec006a280200118080808000002002200228020841016a36020820022002280200417f6a2204360200024020040d00200110c7928080000b2000280204417f6a21020b20002002360204200141106a24808080800020034100470f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bd00501047f23808080800041206b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200341086a20012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020837020c200141146a200341106a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410c7928080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200329020837020c200141146a200341106a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d032001200541016a36020c02400240200128021822060d002001200536020c410221050c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020420042802080d062004417f360208200341086a200428020c2002280200200228020420022802082205280200200528020441002004200428021041d0006a28020011868080800000200328021c2106024020032802082205418080808078460d002005450d00200328020c41002802a8bfd38000118080808000000b2004200428020841016a36020820042004280200417f6a2202360200024020020d00200341046a10c7928080000b20054180808080784721052001280204417f6a21040b200120043602042000200636020420002005360200200341206a2480808080000f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bf20401047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410c7928080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d032001200541016a36020c02400240200128021822060d0020004181808080783602002001200536020c0c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020020042802080d062004417f3602082000200428020c200228020020022802042002280208200428021041286a280200118780808000002004200428020841016a36020820042004280200417f6a2205360200024020050d00200310c7928080000b2001280204417f6a21040b20012004360204200341106a2480808080000f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bd80601057f23808080800041206b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d002004410c6a20012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020c37020c200141146a200441146a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510c7928080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200429020c37020c200141146a200441146a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d032001200641016a36020c02400240200128021822070d00200041003602002001200636020c0c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536021c20052802080d062005417f3602082004410c6a200528020c200220032005280210411c6a2802001183808080000002400240200428020c2206418080808078470d00410021020c010b20042802102103024002400240200428021422082006460d0041002d00b8bfd380001a410c41002802b0bfd38000118280808000002207450d0120074101360208200720063602042007200336020041dc92c080002102200821060c030b024020060d0041ac90c0800021024101210341002107410021060c030b41ec91c0800021022003410171450d01200321070c020b4104410c10b980808000000b2003410172210741d891c0800021020b200020073602102000200636020c2000200336020820002002360204200041013602002005200528020841016a36020820052005280200417f6a2206360200024020060d002004411c6a10c7928080000b2001280204417f6a21050b20012005360204200441206a2480808080000f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000beb0501067f23808080800041206b22032480808080000240024002400240024002402000280204220441ffffffff074f0d00024020002802080d00200320002802001180808080000020002802040d022000417f360204024020002802080d00200041013602082000200329020037020c200041146a200341086a290200370200410021040c010b024020002802182205450d00200028021421040340200428020022062006280200417f6a2206360200024020060d00200410c7928080000b200441046a21042005417f6a22050d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b200041013602082000200329020037020c200041146a200341086a2902003702002000200028020441016a2204360204200441ffffffff074f0d030b2000200441016a360204200028020c220641ffffffff074f0d032000200641016a36020c02400240200028021822050d002000200636020c0c010b200028021420054102746a417c6a2802002204200428020041016a22063602002006450d052000200028020c417f6a36020c2003200436021020042802080d062004417f360208410021060240024020024100480d00200428021041d8006a2802002107200428020c2108410121062002450d0141002d00b8bfd380001a200241002802b0bfd380001182808080000022060d01410121060b2006200241b0eec0800010ae80808000000b20062001200210e99680800021062003200236021c200320063602182003200236021420034180808080783602002008200341146a20032007118580808000002004200428020841016a36020820042004280200417f6a2206360200024020060d00200341106a10c7928080000b2000280204417f6a21040b20002004360204200341206a24808080800020054100470f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bf10601097f23808080800041206b2202248080808000024002400240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001180808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310c7928080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220441ffffffff074f0d032000200441016a36020c0240200028021822060d002000200436020c0c080b200028021420064102746a417c6a2802002203200328020041016a22043602002004450d042000200028020c417f6a36020c200128020c21052001280208210720012802042104200128020021012002200336021020032802080d052003417f36020841002108024020044100480d00200328021041d8006a2802002109200328020c210a024020040d00410121080c080b41002d00b8bfd380001a200441002802b0bfd380001182808080000022080d07410121080b2008200441b0eec0800010ae80808000000b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000b20082001200410e99680800021012002200436021c2002200136021820022004360214410021040240024020054100480d00410121042005450d0141002d00b8bfd380001a200541002802b0bfd380001182808080000022040d01410121040b2004200541b0eec0800010ae80808000000b20042007200510e9968080002104200220053602082002200436020420022005360200200a200241146a20022009118580808000002003200328020841016a36020820032003280200417f6a2204360200024020040d00200241106a10c7928080000b2000280204417f6a21030b20002003360204200241206a24808080800020064100470bee0401047f23808080800041106b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001180808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310c7928080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822050d002000200436020c410221040c010b200028021420054102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c2002200336020020032802080d062003417f360208200328020c200128020020012802042001280208200328021041c0006a2802001188808080000021042003200328020841016a36020820032003280200417f6a2205360200024020050d00200210c7928080000b2000280204417f6a21030b20002003360204200241106a24808080800020040f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bd50501047f23808080800041206b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200341086a20012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020837020c200141146a200341106a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410c7928080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200329020837020c200141146a200341106a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d032001200541016a36020c02400240200128021822060d002001200536020c410221050c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020420042802080d062004417f360208200341086a200428020c200228020020022802042002280208200228020c2205280200200528020441002004200428021041d4006a28020011898080800000200328021c2106024020032802082205418080808078460d002005450d00200328020c41002802a8bfd38000118080808000000b2004200428020841016a36020820042004280200417f6a2202360200024020020d00200341046a10c7928080000b20054180808080784721052001280204417f6a21040b200120043602042000200636020420002005360200200341206a2480808080000f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000be20401047f23808080800041106b22032480808080000240024002400240024002402000280204220441ffffffff074f0d00024020002802080d00200320002802001180808080000020002802040d022000417f360204024020002802080d00200041013602082000200329020037020c200041146a200341086a290200370200410021040c010b024020002802182205450d00200028021421040340200428020022062006280200417f6a2206360200024020060d00200410c7928080000b200441046a21042005417f6a22050d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b200041013602082000200329020037020c200041146a200341086a2902003702002000200028020441016a2204360204200441ffffffff074f0d030b2000200441016a360204200028020c220541ffffffff074f0d032000200541016a36020c02400240200028021822060d002000200536020c410221050c010b200028021420064102746a417c6a2802002204200428020041016a22053602002005450d052000200028020c417f6a36020c2003200436020020042802080d062004417f360208200428020c200120022004280210413c6a2802001181808080000021052004200428020841016a36020820042004280200417f6a2206360200024020060d00200310c7928080000b2000280204417f6a21040b20002004360204200341106a24808080800020050f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bf20401047f23808080800041106b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d00200420012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020037020c200141146a200441086a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510c7928080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200429020037020c200141146a200441086a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d0320032d000021032001200641016a36020c02400240200128021822070d0020004180808080783602002001200636020c0c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536020020052802080d062005417f3602082000200528020c20022003410171200528021041e4006a280200118380808000002005200528020841016a36020820052005280200417f6a2206360200024020060d00200410c7928080000b2001280204417f6a21050b20012005360204200441106a2480808080000f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bcb0501057f23808080800041206b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d00200441086a20012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020837020c200141146a200441106a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510c7928080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200429020837020c200141146a200441106a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d0320032802042108200328020021032001200641016a36020c02400240200128021822070d002001200636020c410221060c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536020420052802080d062005417f360208200441086a200528020c20022003200841002005200528021041cc006a280200118a8080800000200428021c2107024020042802082206418080808078460d002006450d00200428020c41002802a8bfd38000118080808000000b2005200528020841016a36020820052005280200417f6a2203360200024020030d00200441046a10c7928080000b20064180808080784721062001280204417f6a21050b200120053602042000200736020420002006360200200441206a2480808080000f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000b820601087f23808080800041206b22022480808080000240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001180808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310c7928080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220441ffffffff074f0d032000200441016a36020c02400240200028021822050d002000200436020c0c010b200028021420054102746a417c6a2802002203200328020041016a22043602002004450d052000200028020c417f6a36020c2001280208210420012802042106200128020021072002200336021020032802080d062003417f360208410021010240024020044100480d00200328021041dc006a2802002108200328020c2109410121012004450d0141002d00b8bfd380001a200441002802b0bfd380001182808080000022010d01410121010b2001200441b0eec0800010ae80808000000b20012006200410e99680800021012002200436021c2002200136021820022004360214200241808080807836020020092007200241146a20022008118380808000002003200328020841016a36020820032003280200417f6a2204360200024020040d00200241106a10c7928080000b2000280204417f6a21030b20002003360204200241206a24808080800020054100470f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bf00401047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410c7928080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d0320022d000021022001200541016a36020c02400240200128021822060d0020004180808080783602002001200536020c0c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020020042802080d062004417f3602082000200428020c2002410171200428021041e0006a280200118580808000002004200428020841016a36020820042004280200417f6a2205360200024020050d00200310c7928080000b2001280204417f6a21040b20012004360204200341106a2480808080000f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000be60401047f23808080800041106b22012480808080000240024002400240024002402000280204220241ffffffff074f0d00024020002802080d00200120002802001180808080000020002802040d022000417f360204024020002802080d00200041013602082000200129020037020c200041146a200141086a290200370200410021020c010b024020002802182203450d00200028021421020340200228020022042004280200417f6a2204360200024020040d00200210c7928080000b200241046a21022003417f6a22030d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b200041013602082000200129020037020c200041146a200141086a2902003702002000200028020441016a2202360204200241ffffffff074f0d030b2000200241016a360204200028020c220341ffffffff074f0d032000200341016a36020c02400240200028021822040d002000200336020c410221030c010b200028021420044102746a417c6a2802002202200228020041016a22033602002003450d052000200028020c417f6a36020c2001200236020020022802080d062002417f360208200228020c200228021041f0006a2802001182808080000021032002200228020841016a36020820022002280200417f6a2204360200024020040d00200110c7928080000b200341017321032000280204417f6a21020b20002002360204200141106a24808080800020030f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bf30401047f23808080800041106b22032480808080000240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410c7928080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220541ffffffff074f0d032001200541016a36020c02400240200128021822060d0020004181808080783602002001200536020c0c010b200128021420064102746a417c6a2802002204200428020041016a22053602002005450d052001200128020c417f6a36020c2003200436020020042802080d062004417f3602082000200428020c200228020020022802042002280208200428021041c8006a280200118780808000002004200428020841016a36020820042004280200417f6a2205360200024020050d00200310c7928080000b2001280204417f6a21040b20012004360204200341106a2480808080000f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bee0401057f23808080800041106b22022480808080000240024002400240024002402001280204220341ffffffff074f0d00024020012802080d00200220012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200229020037020c200141146a200241086a290200370200410021030c010b024020012802182204450d00200128021421030340200328020022052005280200417f6a2205360200024020050d00200310e6818080000b200341046a21032004417f6a22040d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200229020037020c200141146a200241086a2902003702002001200128020441016a2203360204200341ffffffff074f0d030b2001200341016a360204200128020c220441ffffffff074f0d032001200441016a36020c02400240200128021822050d002001200436020c410021040c010b200128021420054102746a417c6a2802002203200328020041016a22043602002004450d052001200128020c417f6a36020c2002200336020020032802080d062003417f360208200328020c2003280210410c6a280200118280808000002105410121042003200328020841016a36020820032003280200417f6a2206360200024020060d00200210e6818080000b2001280204417f6a21030b200120033602042000200536020420002004360200200241106a2480808080000f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000be70401047f23808080800041106b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d00200420012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020037020c200141146a200441086a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510c7928080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200429020037020c200141146a200441086a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d032001200641016a36020c02400240200128021822070d0020004181808080783602002001200636020c0c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536020020052802080d062005417f3602082000200528020c200220032005280210411c6a280200118380808000002005200528020841016a36020820052005280200417f6a2206360200024020060d00200410c7928080000b2001280204417f6a21050b20012005360204200441106a2480808080000f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000be60401047f23808080800041106b22012480808080000240024002400240024002402000280204220241ffffffff074f0d00024020002802080d00200120002802001180808080000020002802040d022000417f360204024020002802080d00200041013602082000200129020037020c200041146a200141086a290200370200410021020c010b024020002802182203450d00200028021421020340200228020022042004280200417f6a2204360200024020040d00200210c7928080000b200241046a21022003417f6a22030d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b200041013602082000200129020037020c200041146a200141086a2902003702002000200028020441016a2202360204200241ffffffff074f0d030b2000200241016a360204200028020c220341ffffffff074f0d032000200341016a36020c02400240200028021822040d002000200336020c410221030c010b200028021420044102746a417c6a2802002202200228020041016a22033602002003450d052000200028020c417f6a36020c2001200236020020022802080d062002417f360208200228020c200228021041f4006a2802001182808080000021032002200228020841016a36020820022002280200417f6a2204360200024020040d00200110c7928080000b200341017321032000280204417f6a21020b20002002360204200141106a24808080800020030f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bfa06010a7f23808080800041206b2202248080808000024002400240024002400240024002402000280204220341ffffffff074f0d00024020002802080d00200220002802001180808080000020002802040d022000417f360204024020002802080d00200041013602082000200229020037020c200041146a200241086a290200370200410021030c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310c7928080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b200041013602082000200229020037020c200041146a200241086a2902003702002000200028020441016a2203360204200341ffffffff074f0d030b2000200341016a360204200028020c220441ffffffff074f0d032000200441016a36020c0240200028021822060d002000200436020c0c080b200028021420064102746a417c6a2802002203200328020041016a22043602002004450d042000200028020c417f6a36020c20012802102105200128020c21072001280208210420012802042108200128020021012002200336021020032802080d052003417f36020841002109024020044100480d00200328021041dc006a280200210a200328020c210b024020040d00410121090c080b41002d00b8bfd380001a200441002802b0bfd380001182808080000022090d07410121090b2009200441b0eec0800010ae80808000000b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000b20092008200410e99680800021082002200436021c2002200836021820022004360214410021040240024020054100480d00410121042005450d0141002d00b8bfd380001a200541002802b0bfd380001182808080000022040d01410121040b2004200541b0eec0800010ae80808000000b20042007200510e9968080002104200220053602082002200436020420022005360200200b2001200241146a2002200a118380808000002003200328020841016a36020820032003280200417f6a2204360200024020040d00200241106a10c7928080000b2000280204417f6a21030b20002003360204200241206a24808080800020064100470be80401047f23808080800041106b22042480808080000240024002400240024002402001280204220541ffffffff074f0d00024020012802080d00200420012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200429020037020c200141146a200441086a290200370200410021050c010b024020012802182206450d00200128021421050340200528020022072007280200417f6a2207360200024020070d00200510c7928080000b200541046a21052006417f6a22060d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200429020037020c200141146a200441086a2902003702002001200128020441016a2205360204200541ffffffff074f0d030b2001200541016a360204200128020c220641ffffffff074f0d032001200641016a36020c02400240200128021822070d0020004181808080783602002001200636020c0c010b200128021420074102746a417c6a2802002205200528020041016a22063602002006450d052001200128020c417f6a36020c2004200536020020052802080d062005417f3602082000200528020c20022003200528021041c4006a280200118380808000002005200528020841016a36020820052005280200417f6a2206360200024020060d00200410c7928080000b2001280204417f6a21050b20012005360204200441106a2480808080000f0b4190edc08000108181808000000b41a0edc08000108081808000000b41b0edc08000108181808000000b4188ecc080001081818080000b000b4198ecc08000108081808000000bd30703027f017e027f23808080800041a0016b2208248080808000200841086a41086a200141086a28020022093602002008411c6a200241086a28020036020020082001290200220a370308200820053602282008200436022420082003360220200820022902003702142008200736023020072802042102200728020021012008200636022c200828020c210702400240024002400240024002400240024002400240200aa74101710d0002402001450d00200820043602702008200336026c20084184808080783602682001200841e8006a200228020c118b80808000000b4100210120094100480d0220090d01410121010c090b20094120470d05200628020c2109200841386a41186a2206200741186a290000370300200841386a41106a220b200741106a290000370300200841386a41086a220c200741086a29000037030020082007290000370338200841dc006a2005200841386a200841146a200911838080800000200828025c2205418080808078460d04200828026421092008280260210702402001450d0020084194016a200841d0006a2903003702002008418c016a200841c8006a29030037020020084184016a200841c0006a2903003702002008200829033837027c2008200436027820082003360274200820093602702008200736026c20084180808080783602682001200841e8006a200228020c118b80808000000b4100210120094100480d0320090d02410121010c070b41002d00b8bfd380001a200941002802b0bfd380001182808080000022010d07410121010b2001200941f491c1800010ae80808000000b41002d00b8bfd380001a200941002802b0bfd380001182808080000022010d04410121010b2001200941f491c1800010ae80808000000b200841e8006a41186a2006290300370300200841e8006a41106a200b290300370300200841e8006a41086a200c2903003703002008200829033837036841002d00b8bfd380001a413041002802b0bfd38000118280808000002209450d012009418580808078360200200920082903683702042009410c6a200841f0006a290300370200200941146a200841f8006a2903003702002009411c6a20084180016a2903003702002000418080808078360200200020093602040c040b4120200941a0f0c08000108681808000000b4104413010b980808000000b20012007200910e99680800021012000200936020820002001360204200020093602002005450d01200741002802a8bfd38000118080808000000c010b20012007200910e99680800021072000200936020820002007360204200020093602000b200841a0016a2480808080000b0c002000200110d2818080000b840701087f23808080800041e0036b2202248080808000200128020421032001280200280200220428020421052004280200210620012802082207280208200128020c2802006a22084101762104200728020421092007280200210702400240024002400240024020084101710d00200420094b0d02200241003a00e001200220043602dc01200220073602d8010c010b200420094b0d02200420094f0d03200241013a00e001200220073602d801200220043602dc012002200720046a2d000041f001713a00e1010b200220062003200241d8016a200528020c11838080800000024020022802002204418080808078470d00200241d8016a41086a2204200341086a290000370300200241d8016a41106a2207200341106a290000370300200241d8016a41186a2209200341186a290000370300200220032900003703d8012001280210280200210341002d00b8bfd380001a0240413041002802b0bfd38000118280808000002201450d00200120022903d801370204200141858080807841848080807820031b3602002001410c6a2004290300370200200141146a20072903003702002001411c6a200929030037020020004108360200200020013602040c050b4104413010b980808000000b200241d8016a20022802042207200228020810b882808000024020022802d8014107460d0020002002200241d8016a41d80110e99680800010e8818080002004450d04200741002802a8bfd38000118080808000000c040b200241b0036a41086a2209200241e4016a290200370300200241b0036a41186a2208200341086a290000370300200241b0036a41206a2205200341106a290000370300200241b0036a41286a2206200341186a290000370300200220022902dc013703b003200220032900003703c00341002d00b8bfd380001a0240413041002802b0bfd38000118280808000002201450d00200120022903b003370200200141286a2006290300370200200141206a2005290300370200200141186a2008290300370200200141106a200241b0036a41106a290300370200200141086a200929030037020020004108360200200020013602042004450d04200741002802a8bfd38000118080808000000c040b4104413010b980808000000b200420094184a1cd800010aa81808000000b200420094194a1cd800010aa81808000000b2004200941a4a1cd800010f580808000000b200241e0036a2480808080000b9a0401067f23808080800041206b22022480808080002001280204210320012802002204280200210520042802042104200241106a41086a2001280208220141086a28020036020020022001290200370310200241046a20052003200241106a200428020c118380808000000240024002400240024020022802042205418080808078470d0041002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d022001418580808078360200200120032900003700042001410c6a200341086a290000370000200141146a200341106a2900003700002001411c6a200341186a29000037000020004108360200200020013602040c010b200228020c220141f5ffffff074f0d0220022802082106024002402001410b6a41fcffffff077122070d00410421040c010b41002d00b8bfd380001a200741002802b0bfd38000118280808000002204450d040b2004428180808010370200200441086a2006200110e9968080001a02402005450d00200641002802a8bfd38000118080808000000b2000200136020820002004360204200041073602002000200329000037000c200041246a200341186a2900003700002000411c6a200341106a290000370000200041146a200341086a2900003700000b200241206a2480808080000f0b4104413010b980808000000b41bc84c08000412b200241106a41ac84c0800041e486c0800010a481808000000b4104200710b980808000000b940701027f2380808080004180016b220b248080808000200b2008360214200b200736021002400240024020012802002208450d00200b2008360218200b2001280204220736021c02402009450d00200b2004360250200b200336024c200b4184808080783602482009200b41c8006a200a28020c118b80808000000b20082008280200220941016a36020020094100480d0120002007360204200020083602002000200141086a2201290200370208200041206a200141186a290200370200200041186a200141106a290200370200200041106a200141086a290200370200200820082802002200417f6a36020020004101470d02200b41186a10d0968080000c020b200b41186a41186a200141046a220841186a2201290000370300200b41186a41106a200841106a2207290000370300200b41186a41086a200841086a220c290000370300200b2008290000370318200b41c8006a41186a2001290000370300200b41c8006a41106a2007290000370300200b41c8006a41086a200c290000370300200b2008290000370348200b2002360244200b200b41186a360240200b200b41106a36023c200b41086a2005200b41c8006a200b413c6a41b0f0c08000200611878080800000200b28020c21080240200b280208450d0020004100360200200020083602040c020b024002400240024002400240024020082802002207417e6a2201410420014106491b0e06050005020103050b20082802342201450d04200841346a21070c050b2007450d0320082802042201450d03200841046a21070c040b20082802040d010c020b200841046a2107200828020421010c020b20082802082201450d00200841086a21070c010b41c4f0c0800041ec0041b0f1c08000108b81808000000b20012001280200220841016a36020020084100480d00200728020421082007280200210102402009450d00200b41f4006a200b41306a290300370200200b41ec006a200b41286a290300370200200b41e4006a200b41186a41086a290300370200200b200b29031837025c200b2004360258200b2003360254200b2008360250200b418080808078360248200b200141086a36024c2009200b41c8006a200a28020c118b80808000000b2000200b2903183700082000200836020420002001360200200041206a200b41186a41186a290300370000200041186a200b41186a41106a290300370000200041106a200b41206a2903003700000c010b000b200b4180016a2480808080000b9a0401067f23808080800041206b22022480808080002001280204210320012802002204280200210520042802042104200241106a41086a2001280208220141086a28020036020020022001290200370310200241046a20052003200241106a200428020c118380808000000240024002400240024020022802042205418080808078470d0041002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d022001418580808078360200200120032900003700042001410c6a200341086a290000370000200141146a200341106a2900003700002001411c6a200341186a29000037000020004108360200200020013602040c010b200228020c220141f5ffffff074f0d0220022802082106024002402001410b6a41fcffffff077122070d00410421040c010b41002d00b8bfd380001a200741002802b0bfd38000118280808000002204450d040b2004428180808010370200200441086a2006200110e9968080001a02402005450d00200641002802a8bfd38000118080808000000b2000200136020820002004360204200041073602002000200329000037000c200041246a200341186a2900003700002000411c6a200341106a290000370000200041146a200341086a2900003700000b200241206a2480808080000f0b4104413010b980808000000b41bc84c08000412b200241106a41ac84c0800041e486c0800010a481808000000b4104200710b980808000000b881f04047f017e0b7f027e23808080800041f0026b2206248080808000200641d0006a41086a200141086a22072802003602002006200129020037035020022802002108200228020421092006200336025c200641e0006a41086a2007280200220736020020062001290200220a370360200641f0006a41186a220b200341206a290000370300200641f0006a41106a220c200341186a290000370300200641f0006a41086a220d200341106a290000370300200620032900083703704100210e20064100360290012006280264220f4101742110200641a0026a41086a2111200aa72112200528021421130240024003402006200e36029401200641a0026a41186a200b290300370300200641a0026a41106a200c2903003703002011200d290300370300200620062903703703a002200620064194016a3602c801200620064190016a3602c4012006200641d0006a3602c0012006200641f0006a3602bc012006200641dc006a3602b801200641086a2004200641a0026a200641b8016a41b4f2c08000201311878080800000200628020c210320062802080d01200e41016a210e0240200628025c220141306a2802002214450d00200141346a2802002101201141186a200b290300370000201141106a200c290300370000201141086a200d29030037000020112006290370370000200620033602a40220064181808080783602a0022014200641a0026a200128020c118b80808000000b024003400240024002400240024002400240024002400240024002400240024002400240024002402003280200417e6a2201410420014106491b0e06000203040501000b200628025c220341306a2802002207450d08200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c080b200641013602a402200641c0f4c080003602a002200642013702ac02200641ae80808000ad422086418cf4c08000ad843703b8012006200641b8016a3602a802200641a0026a41c8f4c0800010f280808000000b0240200641e0006a200341046a10da968080000d00200628025c220341306a2802002207450d07200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c070b0240024020032802342207450d0020072007280200220141016a36020020014100480d0f200641a0016a200341c4006a290000370300200641a8016a200341cc006a290000370300200641b0016a200341d4006a2900003703002006200329003c370398012003280238210f0c010b200641a0016a200341c4006a290000370300200641a8016a200341cc006a290000370300200641b0016a200341d4006a2800003602002006200329003c370398012003280038210f0b200628025c22032802002101200328020421102006290350210a200641d4026a20064198016a41086a290300370200200641dc026a20064198016a41106a290300370200200641e4026a20064198016a41186a2903003702002006200f3602c802200620073602c40220062006290398013702cc022006200341306a3602ec02200620103602c002200620013602bc02200620053602b802200620043602b402200620093602b002200620083602ac02200641003a00a8022006200a3702a002200641b8016a200641c4026a200641a0026a2008200920042013200120102003280230200328023410d48180800020062802b80122010d030c100b0240200641e0006a200341286a10d9968080000d00200628025c220341306a2802002207450d06200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c060b20062007200328025422016a2207360268200620012006280290016a36029001200341046a21030c0d0b02400240024020102007460d0020074101762201200f4f0d0102402003280238201220016a2d00002201410f71200141047620074101711b22014d0d002003280234200141246c6a22032d00004102470d030b200628025c220341306a2802002207450d07200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c070b20032802040d0841002101200628025c220341306a2802002207450d07200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c070b2001200f41a4f2c0800010f580808000000b2006200741016a2207360268200620062802900141016a360290010c0c0b0240200641e0006a200341386a10d9968080000d00200628025c220341306a2802002207450d04200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c040b0240201020076b20032802642201460d00200120076a22154101762214200f4f0d02024002402003280234201220146a2d00002214410f71201441047620154101711b22144d0d002003280230201441246c6a22032d00004102470d010b200628025c220341306a2802002207450d05200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c050b2006200141016a220120076a2207360268200620062802900120016a360290010c0c0b20032802000d0241002101200628025c220341306a2802002207450d04200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c040b200641306a41086a200641b8016a41106a290200220a370300200641306a41106a200641b8016a41186a2902002216370300200641306a41186a200641d8016a2902002217370300200641106a41086a200a370300200641106a41106a2016370300200641106a41186a2017370300200620062902c001220a3703302006200a37031020062802bc01210f20022802002112200228020421140c060b2014200f41a4f2c0800010f580808000000b0240024020032802042207450d0020072007280200220141016a36020020014100480d092003280208210120064198026a200341246a29000037030020064190026a2003411c6a29000037030020064188026a200341146a2900003703002006200329000c370380020c010b2003280008210120064198026a200341246a28000036020020064190026a2003411c6a29000037030020064188026a200341146a2900003703002006200329000c370380020b200641d4026a20064180026a41086a290300370200200641dc026a20064180026a41106a290300370200200641e4026a20064180026a41186a290300370200200620013602c802200620073602c40220062006290380023702cc02200620053602b802200620043602b402200620093602b002200620083602ac02200641003a00a802200620062903503702a0022006200628025c220341306a3602ec022006200328020422073602c0022006200328020022013602bc02200641b8016a200641c4026a200641a0026a2008200920042013200120072003280230200328023410d48180800020062802b8012201450d0a200641306a41086a200641b8016a41106a290200370300200641306a41106a200641b8016a41186a290200370300200641306a41186a200641d8016a290200370300200620062902c00137033020062802bc01210f0c030b200641106a41086a200641306a41086a290300370300200641106a41106a200641306a41106a290300370300200641106a41186a200641306a41186a29030037030020062006290330370310200228020021122002280204211441002101410021030c040b0c010b0240024020032802082207450d0020072007280200220141016a36020020014100480d06200328020c2101200641e0016a41186a200341286a290000370300200641f0016a200341206a290000370300200641e8016a200341186a290000370300200620032900103703e0010c010b200328000c2101200641e0016a41186a200341286a280000360200200641f0016a200341206a290000370300200641e8016a200341186a290000370300200620032900103703e0010b200641d4026a200641e0016a41086a290300370200200641dc026a200641e0016a41106a290300370200200641e4026a200641e0016a41186a290300370200200620013602c802200620073602c402200620062903e0013702cc02200620053602b802200620043602b402200620093602b002200620083602ac02200641003a00a802200620062903503702a0022006200628025c220341306a3602ec022006200328020422073602c0022006200328020022013602bc02200641b8016a200641c4026a200641a0026a2008200920042013200120072003280230200328023410d48180800020062802b8012201450d07200641306a41086a200641b8016a41106a290200370300200641306a41106a200641b8016a41186a290200370300200641306a41186a200641d8016a290200370300200620062902c00137033020062802bc01210f0b200641106a41186a200641306a41186a290300370300200641106a41106a200641306a41106a290300370300200641106a41086a200641306a41086a29030037030020062006290330370310200228020021122002280204211420010d0041002101410021030c010b20012001280200220341016a36020020034100480d02200641b9026a200641286a290300370000200641b1026a200641206a290300370000200641a9026a200641186a290300370000200620062903103700a1022006200f3602bc01200620013602b80103402001280204210303402003417f460d012003417f4c0d032001200341016a2001280204220720072003461b360204200720034721102007210320100d000b0b20062802bc012103200120012802002207417f6a360200024020074101470d00200641b8016a10d0968080000b200620033602c802200620013602c402410221030b200620033a00a002200420122014200641a0026a2005280210118380808000002000200f36020820002001360204410021030c070b418098cd800041f898cd800010cf968080000b000b024020032d00000d00200341096a290000210a200341116a290000211620032900012117200b200341196a290000370300200c2016370300200d200a370300200620173703700c030b200328020421030c000b0b0b20062802bc0121030b20002003360204410121030b20002003360200200641f0026a2480808080000b802804077f017e1a7f017e23808080800041d0046b22052480808080002001280228210620014100360228024002400240024020060d00200541086a41306a2207200141306a290200370300200541086a41286a200141286a290200370300200541086a41206a200141206a2208290200370300200541086a41186a200141186a2209290200370300200541086a41106a200141106a2206290200370300200541086a41086a200141086a220a29020037030020052001290200370308200541c0006a41086a200441086a220b280200220136020020052004290200220c370340200541d0006a41186a220d2008290000370300200541d0006a41106a220e2009290000370300200541d0006a41086a220f20062900003703002005200a290000370350200528024422104101742111200b2802002112200541d0006a4107722113200541f0006a41186a2114200541f0006a410c6a21152005418c016a2116200541f0006a41106a2106200541f0006a41046a2117200ca72118200428020421192004280200211a2007280200211b200528023c211c200528020c211d2005280208211e4100211f4100210b02400240024002400340200b20126a220941017621080240024020094101710d00200820194b0d06200541003a0078200520083602742005201a3602700c010b200820194b0d04200820194f0d03200541013a00782005201a360270200520083602742005201a20086a2d000041f001713a00790b20054198046a201e200541d0006a200541f0006a201d28020c1183808080000002402005280298042220418080808078470d00200541f0006a41186a2208200541d0006a41186a290300370300200541f0006a41106a2209200541d0006a41106a290300370300200541f0006a41086a2204200541d0006a41086a2903003703002005200529035037037041002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d02200120052903703702042001418580808078418480808078201f1b3602002001410c6a2004290300370200200141146a20092903003702002001411c6a20082903003702002000418180808078360200200020013602040c090b20052802a0042108200528029c0421210240201b450d0020062005290350370000200641186a200d290300370000200641106a200e290300370000200641086a200f2903003700002005200836027c200520213602782005428280808088808080807f370270201b200541f0006a201c28020c118b80808000000b200541f0006a2021200810b882808000024002400240024002402005280270220a4107460d00201f41016a211f0340200541f0036a41086a2222200641086a2223280200360200200520062902003703f003200528027c21042005280278210820052802742109200541cc026a201641a40110e9968080001a20052902b802210c20052802b402212420052802b0022125024002400240024002400240200a417d6a2226410420264104491b0e050001020304000b0240201b450d00200528023c210120052003360278200520023602742005418680808078360270201b200541f0006a200128020c118b80808000000b20004180808080783602000c120b0240024020052802f40341017420052802f8036b201120016b2201470d00200541f0036a200541c0006a10d7968080002001460d010b0240201b450d00200528023c210120052003360278200520023602742005418680808078360270201b200541f0006a200128020c118b80808000000b20004180808080783602000c120b20052007360298012005201d360294012005201e360290012005200336028c012005200236028801200541003a00840120052019360280012005201a36027c20052004360278200520083602742005200936027020054198046a200541f0006a200541fc006a20022003201e201d200710d0818080000240200528029804418080808078460d002000200529029804370200200041086a20054198046a41086a2802003602000c120b2000200528029c0436020420004181808080783602000c110b20052802f403212620052802f80321220240200541c0006a200541f0036a10d796808000220a202641017420226b460d000240201b450d00200528023c210120052003360278200520023602742005418680808078360270201b200541f0006a200128020c118b80808000000b20004180808080783602000c110b20052001200a6a22013602480c020b201520052903f003370200201541086a20222802003602002005200436027820052008360274200520093602702014200541cc026a41a40110e9968080001a200520253602ac0202400240024020112001460d002001410176220820104f0d01200541f0006a201820086a2d00002208410f71200841047620014101711b410c6c6a220828020022094102470d020240201b450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201b20054198046a200128020c118b80808000000b20004180808080783602000c120b0240024020244102460d00200520073602c0042005201d3602bc042005201e3602b804200520033602b404200520023602b004200541003a00ac04200520193602a8042005201a3602a4042005200c37029c0420052024360298042005418c046a20054198046a200541a4046a20022003201e201d200710d081808000200528028c04418080808078460d012000200529028c04370200200041086a2005418c046a41086a2802003602000c130b0240201b450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201b20054198046a200128020c118b80808000000b20004180808080783602000c120b200020052802900436020420004181808080783602000c110b2008201041a4f2c0800010f580808000000b4101210a2005200141016a220136024820082802082104200828020421080c010b20052902c00221272005200c4220883e0280042005202737028404200620052903f003370200202320222802003602002005200436027c20052008360278200520093602742005200a3602702016200541cc026a41a40110e9968080001a0240200541c0006a20054180046a10d79680800022082027a74101742027422088a76b460d000240201b450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201b20054198046a200128020c118b80808000000b20004180808080783602000c0f0b02400240201120016b2008460d00200120086a2204410176220920104f0d010240200541f0006a201820096a2d00002209410f71200941047620044101711b410c6c6a222628020022094102470d000240201b450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201b20054198046a200128020c118b80808000000b20004180808080783602000c110b20052001200841016a220a6a220136024820262802082104202628020421080c020b0240024020254102460d00200520073602c0042005201d3602bc042005201e3602b804200520033602b404200520023602b004200541003a00ac04200520193602a8042005201a3602a4042005200c3e02a0042005202436029c0420052025360298042005418c046a20054198046a200541a4046a20022003201e201d200710d081808000200528028c04418080808078460d012000200529028c04370200200041086a2005418c046a41086a2802003602000c110b0240201b450d00200528023c2101200520033602a0042005200236029c04200541868080807836029804201b20054198046a200128020c118b80808000000b20004180808080783602000c100b200020052802900436020420004181808080783602000c0f0b2009201041a4f2c0800010f580808000000b200a200b6a210b024020090d0020044120460d054100210120044100480d0420040d03410121010c0d0b200541f0006a2008200410b8828080002005280270220a4107470d000b0b20054198046a41086a2208201741086a29020037030020054198046a41186a2209200541d0006a41086a29030037030020054198046a41206a2204200541d0006a41106a29030037030020054198046a41286a2206200541d0006a41186a290300370300200520052903503703a804200520172902003703980441002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d032001200529039804370200200141286a2006290300370200200141206a2004290300370200200141186a2009290300370200200141106a20054198046a41106a290300370200200141086a20082903003702002000418180808078360200200020013602040c0b0b41002d00b8bfd380001a200441002802b0bfd380001182808080000022010d09410121010b2001200441b0efc0800010ae80808000000b200841026a2d000021092008410f6a290000210c200841176a29000021272008411f6a2d0000210420082f0000210a2008280003212620132008290007370000201341186a20043a0000201341106a2027370000201341086a200c37000020052026360053200520093a00522005200a3b01502020450d01202141002802a8bfd38000118080808000000c010b0b4104413010b980808000000b4104413010b980808000000b2008201941a4a1cd800010f580808000000b200820194194a1cd800010aa81808000000b200820194184a1cd800010aa81808000000b200128022c210b200541f0006a41306a200141306a290200220c370300200541f0006a41286a200141286a290200370300200541f0006a41206a200141206a290200370300200541f0006a41186a200141186a290200370300200541f0006a41106a200141106a290200370300200541f0006a41086a200141086a2902003703002005200129020037037020052003360290042005200236028c04410121160240024002400240024002400240024002400240024002400240200ca72222450d00024020222002200320052802a4012802101181808080000041ff01710e03010002010b410021160b200620022003200b28020c1181808080000022260d010b200541cc026a20042005418c046a200541f0006a2006200b10d68180800020052802d002210820052802cc020d010c080b418080808078210a20262d00000e03090201090b2000418180808078360200200020083602040c0b0b20262802242208417f460d01202641016a21252008280200210103402001450d022001417f4c0d032008200141016a200828020022092009200146220a1b36020020092101200a450d000b2026280228210a2022450d062016200a412149720d0620052802a4012101200541f8026a202541186a290000370200200541f0026a202541106a290000370200200541e8026a202541086a290000370200200520033602dc02200520023602d8022005200a3602d4022005200841086a3602d00220054180808080783602cc02200520252900003702e0022022200541cc026a200128020c118b80808000000c060b200541e8026a202641196a290000370200200541e0026a202641116a290000370200200541d8026a202641096a290000370200200541003602cc02200520262900013702d002200541003a005820052004290200370250200541086a200541cc026a200541d0006a200220032006200b28021420052802702005280274202220052802a40110d481808000200528020c210a20052802082208450d0220054198046a41186a2209200541286a29020037030020054198046a41106a2204200541086a41186a290200370300200541a0046a2226200541086a41106a290200370300200520052902103703980420082008280200220141016a360200024020014100480d00200541e5026a2009290300370000200541dd026a2004290300370000200541d5026a202629030037000020052005290398043700cd022005200a36020c2005200836020803402008280204210103402001417f460d012001417f4c0d062008200141016a2008280204220920092001461b360204200920014721042009210120040d000b0b200528020c2101200820082802002209417f6a360200024020094101470d00200541086a10d0968080000b200520013602f402200520083602f002200541023a00cc022006200528028c04200528029004200541cc026a200b280210118380808000000c060b000b200541cc026a20042005418c046a200541f0006a2006200b10d68180800020052802d002210820052802cc02450d032000418180808078360200200020083602040c080b418098cd8000419099cd800010cf96808000000b20004181808080783602002000200a3602040c060b418098cd800041f898cd800010cf96808000000b20052802d402210a20080d00418080808078210a0c010b200520083602cc022005200a3602d0024100210102400240200a4100480d0041012101200a450d0141002d00b8bfd380001a200a41002802b0bfd380001182808080000022010d01410121010b2001200a41f491c1800010ae80808000000b2001200841086a200a10e9968080002101200820082802002209417f6a360200024020094101470d00200541cc026a10d0968080000b200aad4220862001ad84210c0b2000200c3702042000200a3602000c020b20012008200410e996808000210841002d00b8bfd380001a0240413041002802b0bfd380001182808080000022010d004104413010b980808000000b2001200436020c2001200836020820012004360204200141888080807836020020012005290350370010200020013602042000418180808078360200200141186a200541d8006a290300370000200141206a200541e0006a290300370000200141286a200541d0006a41186a2903003700000b2020450d00202141002802a8bfd38000118080808000000b200541d0046a2480808080000be70601097f23808080800041f0006b2205248080808000200541d0006a20012002200310e28180800002400240024002400240024002400240024020052802502203418180808078460d002003418080808078460d0320052f0055200541d7006a2d00004110747241087420052d005472210641022101200528025822024104490d012002417c7122074104460d0120074108460d012007410c460d0120074110460d012002416c6a2207450d01200628000021022006280004210820062800082109200628000c210a2006280010210b0240024020062d0014220c0e020100030b20074121490d02200541d0006a41186a200641156a220141186a290000370300200541d0006a41106a200141106a290000370300200541d0006a41086a200141086a290000370300200520012900003703500b200541286a41186a200541d0006a41186a290300370300200541286a41106a200541d0006a41106a290300370300200541286a41086a200541d0006a41086a29030037030020052005290350370328200241087621074100210d200c21010c020b200041023a0014200041003a00000c070b4101210d410121020b02402003450d00200641002802a8bfd38000118080808000000b200d0d0320014102460d002005411f6a200541286a411f6a280000360000200541186a200541286a41186a290300370300200541106a200541286a41106a290300370300200541086a200541286a41086a290300370300200520052903283703000c010b200541086a2004411d6a290000370300200541106a200441256a290000370300200541186a2004412d6a2900003703002005411f6a200441346a28000036000020052004290015370300410221024102210120042d001422034102460d0120042f0001200441036a2d00004110747221072004280210210b200428020c210a200428020821092004280204210820042d00002102200321010b200020073b00012000200b3602102000200a36020c200020093602082000200836020420002005290300370015200041036a20074110763a00002000411d6a200541086a290300370000200041256a200541106a2903003700002000412d6a200541186a290300370000200041346a2005411f6a2800003600000b200020013a00140c010b200041023a00140b200020023a00000b200541f0006a2480808080000bb60302027f047e23808080800041206b22052480808080002005410c6a20012002200310e2818080000240024002400240200528020c2203418180808078460d00024002402003418080808078460d00200541136a2d0000210220052f0011210120052d001021062005200528021436021c2005200620012002411074724108747222013602182005410c6a200541186a108a82808000200541156a3300002107200541176a3100002108200535001121092005310010210a200528020c210202402003450d00200141002802a8bfd38000118080808000000b410121032002418080808078460d032009200842308620074220868484420886200a842107200428020041808080807872418080808078460d01200428020441002802a8bfd38000118080808000000c010b20042802002202418080808078460d03200429020421070b20002007370204200020023602000c030b410021030b2000418080808078360200200020033a000420042802002200418080808078460d012000450d01200428020441002802a8bfd38000118080808000000c010b2000418080808078360200200041023a00040b200541206a2480808080000bc70502027f027e23808080800041f0016b2204248080808000200441d0016a41086a2205200341086a280200360200200420032902003703d0012004200441d0016a10af82808000200441d0016a109182808000024002402002200441186a412010ed96808000450d00200441d0016a41186a200241186a290000370300200441d0016a41106a200241106a2900003703002005200241086a290000370300200420022900003703d00102402004200441d0016a10ab828080002203450d00200328022c41004a0d010b200041808080807836028002200041003a0000024020042802042201450d000240200428020c2205450d002004280200220041086a21022000290300427f8542808182848890a0c0807f8321060340024020064200520d000340200041807d6a210020022903002106200241086a22032102200642808182848890a0c0807f83220642808182848890a0c0807f510d000b200642808182848890a0c0807f852106200321020b2006427f7c210702402000410020067aa74103766b41306c6a220341706a280200450d00200341746a28020041002802a8bfd38000118080808000000b200720068321062005417f6a22050d000b0b2001200141016aad42307ea722026a4177460d00200428020020026b41002802a8bfd38000118080808000000b2004280238450d01200428023c41002802a8bfd38000118080808000000c010b20044188016a200441c80010e9968080001a200441c8006a41206a41d8f4c0800041014100280288bfd38000118580808000002000428080808080808080807f370300200441c8006a41186a200241186a290000370300200441c8006a41106a200241106a290000370300200441c8006a41086a200241086a2900003703002004200229000037034820004188016a200441c8006a41880110e9968080001a2000200136029802200041003b0190020b200441f0016a2480808080000bc1240b127f017e017f017e017f017e017f017e017f017e087f23808080800041a0026b2203248080808000200128029802210441002105200341a8016a41002900e0d6ca800037030020034190016a41106a41002900d8d6ca800037030020034190016a41086a41002900d0d6ca8000370300200341002900c8d6ca8000370390012003200436020c200341c0006a2003410c6a410441002802a0bfd380001185808080000020032003410c6a41046a3602642003200341c0006a41086a36025c2003200341b0016a3602542003410136024c20032003410c6a3602602003200341c0006a360258200320034190016a36025020034184016a200341cc006a4190d5ca8000109291808000200341cc006a20012003280288012206200328028c0110e2818080000240024002400240024002400240200328024c2204418180808078460d00024002402004418080808078460d0020032f0051200341d3006a2d00004110747241087420032d0050722107024002402003280254220841204f0d00410121050c010b200341c0006a41086a2007410d6a2f00003b010020034190016a41086a200741176a290000370300200341a0016a2007411f6a2d00003a0000200320072900053703402003200729000f3703900120072d0004210920072d0003210a20072f0001210b20072d000021050b02402004450d00200741002802a8bfd38000118080808000000b20084120490d0220034188026a41086a200341c0006a41086a2f01003b0100200341f0016a41086a20034190016a41086a290300370300200341f0016a41106a20034190016a41106a2d00003a0000200320032903403703880220032003290390013703f0010c010b4100210b20034188026a41086a41003b0100200341f0016a41086a420037030020034180026a41003a00002003420037038802200342003703f0014100210a41002109410021050b0240200328028401450d00200641002802a8bfd38000118080808000000b200128029802210641002d00b8bfd380001a412c41002802b0bfd38000118280808000002204450d0420042006360028200441206a41002900e0d5ca8000370000200441186a41002900d8d5ca8000370000200441106a41002900d0d5ca8000370000200441086a41002900c8d5ca8000370000200441002900c0d5ca800037000020034190016a20012004412c10e2818080002003280290012206418180808078460d012006418080808078460d0320032f00950120034197016a2d00004110747241087420032d0094017221024100210c4100210d41002107024020032802980122084104490d002002280000210c4100210d02402008417c714104470d00410021070c010b2002280004210d410121070b02402006450d00200241002802a8bfd38000118080808000000b410121062007450d02200441002802a8bfd38000118080808000000c050b200020053a0005200041073a00042000418080808078360200200328028401450d05200641002802a8bfd38000118080808000000c050b410021060b200441002802a8bfd3800011808080800000200020063a0005200041083a000420004180808080783602000c030b41002106200441002802a8bfd38000118080808000002001280298022104200341a8016a41002900b8d5ca800037030020034190016a41106a41002900b0d5ca800037030020034190016a41086a41002900a8d5ca8000370300200341002900a0d5ca8000370390012003200436020c200341c0006a2003410c6a410441002802a0bfd380001185808080000020032003410c6a41046a3602642003200341c0006a41086a36025c2003200341b0016a3602542003410136024c20032003410c6a3602602003200341c0006a360258200320034190016a36025020034184016a200341cc006a4190d5ca800010929180800020034190016a20012003280288012207200328028c0110e281808000024002402003280290012204418180808078460d004100210802402004418080808078460d0020032f00950120034197016a2d00004110747241087420032d00940172210e0240200328029801220f410449200f417c7141044672220f0d00200e2800042106200e28000021080b02402004450d00200e41002802a8bfd38000118080808000000b41012104200f0d020b0240200328028401450d00200741002802a8bfd38000118080808000000b41002002280214220420066b2206200620044b1b210d41002002280210220420086b2206200620044b1b210c0c030b410021040b200020043a0005200041083a00042000418080808078360200200328028401450d02200741002802a8bfd38000118080808000000c020b4101412c10b980808000000b2001280298022104200341a8016a41002900a0d6ca8000370300200341a0016a4100290098d6ca800037030020034190016a41086a4100290090d6ca800037030020034100290088d6ca80003703900120032004360298022003410c6a20034198026a410441002802a0bfd3800011858080800000200320034198026a41046a36026420032003410c6a41086a36025c2003200341b0016a3602542003410136024c200320034198026a36026020032003410c6a360258200320034190016a36025020034184016a200341cc006a4190d5ca80001092918080002003280288012104200328028c012106200341003602980120034280808080c00037029001200341c0006a20012004200620034190016a10d9818080000240024002400240024002400240024002400240024020032802402210418080808078460d0020032802482106200328024421110240200328028401450d00200441002802a8bfd38000118080808000000b2001280298022104200341a8016a41002900c0d6ca8000370300200341a0016a41002900b8d6ca800037030020034190016a41086a41002900b0d6ca8000370300200341002900a8d6ca80003703900120032004360298022003410c6a20034198026a410441002802a0bfd3800011858080800000200320034198026a41046a36026420032003410c6a41086a36025c2003200341b0016a3602542003410136024c200320034198026a36026020032003410c6a360258200320034190016a36025020034184016a200341cc006a4190d5ca80001092918080002003280288012104200328028c012107200341003602980120034280808080c00037029001200341c0006a20012004200720034190016a10d98180800020032802402212418080808078460d0520032802482113200328024421140240200328028401450d00200441002802a8bfd38000118080808000000b2006ad423c7e2215a72104410021072015422088a70d02200441fcffffff074b0d0220040d0141042107410021040c040b200020032d00443a0005200041093a00042000418080808078360200200328028401450d0a200441002802a8bfd38000118080808000000c0a0b41002d00b8bfd380001a200441002802b0bfd380001182808080000022070d01410421070b2007200441b8f5c0800010ae80808000000b200621040b20034100360214200320073602102003200436020c02402006450d0020064102742116200341e1006a21064100290080d6ca8000211720034190016a41186a211841002900f8d5ca8000211920034190016a41106a211a41002900f0d5ca8000211b20034190016a41086a211c41002900e8d5ca8000211d410021020340201120026a280200210720032001280298023602442003200736024020182017370300201a2019370300201c201b3703002003201d3703900120034184016a200341c0006a20034190016a109b918080002003280288012104200328028c012108200341023a00a401200341cc006a20012004200820034190016a10d88180800020032d004c210e20032d0060220f4102460d07200341186a41086a221e200641086a290000370300200341186a41106a221f200641106a290000370300200341186a41186a2220200641186a290000370300200341186a411f6a22212006411f6a2800003600002003200629000037031820032902582115200328025421222003280250212320032f014e212420032d004d21250240200328028401450d00200441002802a8bfd38000118080808000000b024020032802142208200328020c470d002003410c6a41e8f5c080001097828080000b20032802102008413c6c6a2204200f3a0018200420153702102004202236020c20042023360208200420243b0106200420253a00052004200e3a00042004200736020020042003290318370019200441216a201e290300370000200441296a201f290300370000200441316a2020290300370000200441386a20212800003600002003200841016a3602142016200241046a2202470d000b0b02402010450d00201141002802a8bfd38000118080808000000b2013ad423c7e2215a72104410021062015422088a70d02200441fcffffff074b0d0220040d0141042106410021040c040b200020032d00443a00052000410a3a000420004180808080783602000240200328028401450d00200441002802a8bfd38000118080808000000b2010450d05201141002802a8bfd38000118080808000000c050b41002d00b8bfd380001a200441002802b0bfd380001182808080000022060d01410421060b2006200441c8f5c0800010ae80808000000b201321040b200341003602482003200636024420032004360240024002402013450d002013410274211c200341e1006a21064100290080d6ca8000211720034190016a41186a211141002900f8d5ca8000211920034190016a41106a211841002900f0d5ca8000211b20034190016a41086a211a41002900e8d5ca8000211d41002107034020012802980221042003201420076a280200220836029c0220032004360298022011201737030020182019370300201a201b3703002003201d3703900120034184016a20034198026a20034190016a109b918080002003280288012104200328028c012102200341023a00a401200341cc006a20012004200220034190016a10d88180800020032d004c210e20032d0060220f4102460d02200341c8016a41086a221e200641086a290000370300200341c8016a41106a221f200641106a290000370300200341c8016a41186a2220200641186a290000370300200341c8016a411f6a22212006411f6a280000360000200320062900003703c80120032902582115200328025421222003280250212320032f014e212420032d004d21250240200328028401450d00200441002802a8bfd38000118080808000000b0240200328024822022003280240470d00200341c0006a41d8f5c080001097828080000b20032802442002413c6c6a2204200f3a0018200420153702102004202236020c20042023360208200420243b0106200420253a00052004200e3a000420042008360200200420032903c801370019200441216a201e290300370000200441296a201f290300370000200441316a2020290300370000200441386a20212800003600002003200241016a360248201c200741046a2207470d000b0b02402012450d00201441002802a8bfd38000118080808000000b200020032903880237001d200020032903f00137002720034190016a41086a22012003410c6a41086a280200360200200341a4016a200341c0006a41086a280200360200200041256a20034188026a41086a2f01003b00002000412f6a200341f0016a41086a290300370000200041376a200341f0016a41106a2d00003a00002003200329020c370390012003200329024037029c01200020053a00182000200b3b00192000200a3a001b200020093a001c2000200d36023c2000200c360238200041106a20034190016a41106a290300370200200041086a200129030037020020002003290390013702000c020b20012802980221012000200836020c200020013602082000200e3a00052000410b3a000420004180808080783602000240200328028401450d00200441002802a8bfd38000118080808000000b02402012450d00201441002802a8bfd38000118080808000000b02402003280240450d00200328024441002802a8bfd38000118080808000000b200328020c450d01200328021041002802a8bfd38000118080808000000c010b200020012802980236020c200020073602082000200e3a00052000410b3a000420004180808080783602000240200328028401450d00200441002802a8bfd38000118080808000000b02402010450d00201141002802a8bfd38000118080808000000b0240200328020c450d00200328021041002802a8bfd38000118080808000000b2012450d00201441002802a8bfd38000118080808000000b200341a0026a2480808080000bc80402057f027e23808080800041e0006b2202248080808000200128029802210341002104200241306a4100290088d4ca8000370300200241186a41106a4100290080d4ca8000370300200241186a41086a41002900f8d3ca8000370300200241002900f0d3ca800037031820022003360238200241d8006a200241386a410441002802a0bfd38000118580808000002002200241386a41046a3602542002200241d8006a41086a36024c2002200241386a3602442002410136023c2002200241386a3602502002200241d8006a3602482002200241186a3602402002410c6a2002413c6a4190d5ca8000109291808000200241186a200120022802102203200228021410e28180800002400240024020022802182201418180808078460d0002402001418080808078470d00410221040c010b2002411f6a2d0000210420022f001d210520022d001c21062002200228022036024020022006200520044110747241087472220536023c200241186a2002413c6a1089828080000240024020022802182204418080808078460d00200235001d200241236a310000423086200241216a33000042208684844208862107200231001c21080c010b42002108420021070b02402001450d00200541002802a8bfd38000118080808000000b2004418080808078470d01410121040b200020043a00052000410c3a0004410121010c010b2000200436020420002007200884370208410021010b200020013602000240200228020c450d00200341002802a8bfd38000118080808000000b200241e0006a2480808080000bef0301057f23808080800041e0006b2202248080808000200128029802210341002104200241306a4100290080d7ca8000370300200241186a41106a41002900f8d6ca8000370300200241186a41086a41002900f0d6ca8000370300200241002900e8d6ca800037031820022003360238200241d8006a200241386a410441002802a0bfd38000118580808000002002200241386a41046a3602542002200241d8006a41086a36024c2002200241386a3602442002410136023c2002200241386a3602502002200241d8006a3602482002200241186a3602402002410c6a2002413c6a4190d5ca8000109291808000200241186a200120022802102203200228021410e2818080000240024020022802182201418180808078460d004102210502402001418080808078460d0020022f001d2002411f6a2d00004110747241087420022d001c7221040240024020022802202206450d0020042d000041ff01712205450d004101410220054101461b21050c010b410021050b200645200541024672210602402001450d00200441002802a8bfd38000118080808000000b4101210420060d010b2000410f3a0000200020053a00010c010b200020043a0001200041043a00000b0240200228020c450d00200341002802a8bfd38000118080808000000b200241e0006a2480808080000bd00301057f23808080800041e0006b2202248080808000200128029802210341002104200241306a41002900a0d7ca8000370300200241186a41106a4100290098d7ca8000370300200241186a41086a4100290090d7ca800037030020024100290088d7ca800037031820022003360238200241d8006a200241386a410441002802a0bfd38000118580808000002002200241386a41046a3602542002200241d8006a41086a36024c2002200241386a3602442002410136023c2002200241386a3602502002200241d8006a3602482002200241186a3602402002410c6a2002413c6a4190d5ca8000109291808000200241186a200120022802102203200228021410e2818080000240024020022802182201418180808078460d0002402001418080808078472205450d0020022f001d2002411f6a2d00004110747241087420022d001c7221040240024020022802200d00410121060c010b20042d000041004721060b02402001450d00200441002802a8bfd38000118080808000000b4101210420060d010b2000410f3a0000200020053a00010c010b200020043a0001200041053a00000b0240200228020c450d00200341002802a8bfd38000118080808000000b200241e0006a2480808080000bef0503057f017e027f23808080800041c0006b2201248080808000200141246a41b8f6c08000412341dbf6c0800041354104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41fc81c18000108482808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080800137020c2001410c6a41ec82c1800010b8918080002001280210220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141306a41086a220841013602002007420437022c20074203370224200741e184c180003602202007410f36021c200741bb85c18000360218200741b3808080003602102001200129020c3703300240200828020022072001280230470d00200141306a41ec82c1800010b8918080000b2001280234200741386c22086a2207420437022c20074203370224200741e184c180003602202007410e36021c200741ca85c18000360218200741b380808000360210200742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc1337030020012802342107200120012802303602142001200736020c2001200720086a41386a36021820012007360210200141306a2001410c6a41fc81c1800010858280800002402005418080808078470d0041fc82c180004111419083c18000108b81808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a41fc81c18000108482808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bab0804057f017e037f017e23808080800041d0006b2201248080808000200141306a4190f7c08000411641dbf6c0800041354104410010c7918080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41fc81c18000108482808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a41ec82c1800010b891808000200128021c22084282a1a9c9eea2b5c92f3703082008428ae6f3f7c78ea4cfd100370300200141c0006a41086a220941013602002008420437022c20084211370224200841e485c180003602202008410c36021c200841d885c18000360218200841b480808000360210200120012902183703400240200928020022092001280240470d00200141c0006a41ec82c1800010b8918080000b2001280244200941386c6a2208420437022c200842233702242008419c86c180003602202008412736021c200841f585c18000360218200841b580808000360210200842cba5daa8d6d0fbe022370308200842d1cde4eefdc19fb39f7f3703002007200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41ec82c1800010b8918080000b200128021c200941386c6a2208420437022c20084222370224200841cf86c180003602202008411036021c200841bf86c18000360218200841b680808000360210200842958de5a38ff8ac9c7e370308200842c7e4bab3a8dbede820370300200141c8006a200941016a220836020020012001290318220a37034002402008200aa7470d00200141c0006a41ec82c1800010b8918080000b2001280244200841386c22096a2208420437022c20084222370224200841cf86c180003602202008410f36021c200841f186c18000360218200841b680808000360210200842958de5a38ff8ac9c7e370308200842c7e4bab3a8dbede8203703002001280244210820012001280240360220200120083602182001200820096a41386a3602242001200836021c200141c0006a200141186a41fc81c1800010858280800002402005418080808078470d0041fc82c180004111419083c18000108b81808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41fc81c18000108482808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000bbf1207087f017e067f027e017f047e017f23808080800041206b22052480808080000240024002400240024002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c20074108491b220a4101764b0d01410021022001280200210b0240200920084107714100476a2209450d002009410171210c024020094101460d00200941feffffff03712104410021020340200b20026a22092009290300220d427f85420788428182848890a0c0800183200d42fffefdfbf7efdfbfff00847c370300200941086a22092009290300220d427f85420788428182848890a0c0800183200d42fffefdfbf7efdfbfff00847c370300200241106a21022004417e6a22040d000b0b200c450d00200b20026a22022002290300220d427f85420788428182848890a0c0800183200d42fffefdfbf7efdfbfff00847c3703000b20084108490d02200b20086a200b2900003700000c030b20040d040c060b02400240200a41016a22092002200920024b1b2202410f490d000240200241ffffffff014b0d00417f200241037441076e417f6a677641016a21020c020b2004450d07200541003602182005410136020c200541c4f7c0800036020820054204370210200541086a41b0f8c0800010f280808000000b41044108411020024108491b20024104491b21020b024002402002ad42307e220d422088a70d00200da72209200241086a220c6a220e2009490d00200e41f9ffffff07490d010b2004450d06200541003602182005410136020c200541c4f7c0800036020820054204370210200541086a41b0f8c0800010f280808000000b41002d00b8bfd380001a200e41002802b0bfd3800011828080800000220f450d04200f20096a41ff01200c10eb96808000210c2002417f6a220f200241037641076c200f4108491b210e2001280200211002402006450d00200c41506a2111200c41086a2112201041506a2113200329030042208921142010290300427f8542808182848890a0c0807f8321152010210241002103200621160340024020154200520d000340200341086a21032002290308210d200241086a22092102200d42808182848890a0c0807f83220d42808182848890a0c0807f510d000b200d42808182848890a0c0807f852115200921020b0240200c200f2013410020157aa741037620036a220b6b41306c6a220929000841002903c8bfd3800020147c85220d4220882217200929001841002903c0bfd380002218852219422088221a7e200d42ffffffff0f83220d201942ffffffff0f8322197e85201720197e200d201a7e85422088852009290000201485220d42ffffffff0f8322172009290010201885221842ffffffff0f8322197e85200d422088220d201842208822187e85200d20197e201720187e8542208885a7221b7122046a29000042808182848890a0c0807f83220d4200520d00410821090340200420096a2104200941086a2109200c2004200f7122046a29000042808182848890a0c0807f83220d500d000b0b2015427f7c21170240200c200d7aa741037620046a200f7122096a2c0000417f4c0d00200c29030042808182848890a0c0807f837aa741037621090b20172015832115200c20096a201b41197622043a00002012200941786a200f716a20043a00002011200941506c6a220941286a2013200b41506c6a220441286a290000370000200941206a200441206a290000370000200941186a200441186a290000370000200941106a200441106a290000370000200941086a200441086a290000370000200920042900003700002016417f6a22160d000b0b2001200f3602042001200c3602002001200e20066b36020841818080807821022007450d0720072008ad42307ea722096a4177460d07201020096b41002802a8bfd38000118080808000000c070b200b41086a200b200810ec968080001a2008450d010b200b41086a2111200b41506a211020032903004220892115200b21164100210203400240200b2002220e6a22082d0000418001470d002010200e41506c6a211220104100200e6b41306c6a211b024003402007201b29000841002903c8bfd3800020157c85220d4220882214201b29001841002903c0bfd38000221785221842208822197e200d42ffffffff0f83220d201842ffffffff0f8322187e85201420187e200d20197e8542208885201b290000201585220d42ffffffff0f832214201b290010201785221742ffffffff0f8322187e85200d422088220d201742208822177e85200d20187e201420177e8542208885a7220371220421090240200b20046a29000042808182848890a0c0807f83220d4200520d0041082102200421090340200920026a2109200241086a2102200b200920077122096a29000042808182848890a0c0807f83220d500d000b0b0240200b200d7aa741037620096a20077122026a2c0000417f4c0d00200b29030042808182848890a0c0807f837aa741037621020b200220046b200e20046b732007714108490d01200b20026a22092d000021042009200341197622033a00002011200241786a2007716a20033a0000200241506c21020240200441ff01460d00200b20026a2113415021040340201620046a22022d000021032002201320046a22092d00003a0000200920033a0000200241016a22032d0000210c2003200941016a220f2d00003a0000200f200c3a0000200241026a22032d0000210c2003200941026a220f2d00003a0000200f200c3a0000200241036a22022d000021032002200941036a22092d00003a0000200920033a0000200441046a22040d000c020b0b0b200841ff013a00002011200e41786a2007716a41ff013a0000201020026a220241286a201241286a290000370000200241206a201241206a290000370000200241186a201241186a290000370000200241106a201241106a290000370000200241086a201241086a290000370000200220122900003700000c010b2008200341197622023a00002011200e41786a2007716a20023a00000b200e41016a2102201641506a2116200e2007470d000b0b2001200a20066b36020841818080807821020c030b200541003602182005410136020c200541c4f7c0800036020820054204370210200541086a41b0f8c0800010f280808000000b410821022004450d024108200e10b980808000000b410021020b0b2000200e36020420002002360200200541206a2480808080000bfc0201017f23808080800041c0006b22042480808080000240024020012d0090024101460d0020012d0091024101460d01200420014188016a220136023c2004419c89c18000360238200420013602342004410036022c200442003702242004410036021c20044200370214200441086a200441146a20022003108882808000024002402004280208418180808078460d0020002004290208370200200041086a200441086a41086a2802003602000c010b0240024002400240200428020c220128020041fcffffff076a2203410320034105491b0e0403030102000b2001280204450d02200128020841002802a8bfd38000118080808000000c020b2001280204450d01200128020841002802a8bfd38000118080808000000c010b200110e3818080000b200141002802a8bfd380001180808080000020004181808080783602000b200441c0006a2480808080000f0b41c0f8c08000410f41b8f9c0800010f480808000000b41c0f8c08000410f41a8f9c0800010f480808000000bc00101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020841002802a8bfd38000118080808000000c030b2000280204450d02200028020841002802a8bfd38000118080808000000c020b200010e3818080000c010b2001450d01200028020421000b200041002802a8bfd38000118080808000000b0bdc0101017f23808080800041106b220424808080800002400240024002402002200141206a412010ed96808000450d00200441046a200141c0006a2002200310aa828080002004280204418180808078460d0120002004290204370200200041086a200441046a41086a2802003602000c020b41002d00b8bfd380001a410141002802b0bfd38000118280808000002201450d02200041013602082000200136020420004101360200200141003a00000c010b20004180808080783602000b200441106a2480808080000f0b4101410141b8fac0800010ae80808000000be30101017f23808080800041106b22032480808080000240024002400240024002402001200041206a412010ed96808000450d00200341046a200041c0006a2001200210aa8280800020032802042200418180808078470d01410021000c040b41002d00b8bfd380001a410141002802b0bfd38000118280808000002200450d04200041003a00000c010b02402000418080808078470d00410021000c030b2000450d01200328020821000b200041002802a8bfd38000118080808000000b410121000b200341106a24808080800020000f0b4101410141b8fac0800010ae80808000000b3801017f024020002802002200417f460d0020002000280204417f6a220136020420010d00200041002802a8bfd38000118080808000000b0be90601057f2380808080004180056b2202248080808000024002400240024020012802000d00200128020421030240200128020822044120460d0041002101024020044100480d00024020040d00410121010c040b41002d00b8bfd380001a200441002802b0bfd380001182808080000022010d03410121010b2001200441b8fac0800010ae80808000000b200041003a0000200020032f00003b00012000200329000737000820002003280003360204200041036a200341026a2d00003a0000200041106a2003410f6a290000370000200041186a200341176a290000370000200041206a2003411f6a2d00003a00000c020b200241086a2001280204200128020810b8828080000240024020022802084107460d00200241e0016a200241086a41d80110e9968080001a200241b8036a200241e0016a10e88180800020022802bc03210320022802b80322044108460d01200241a0046a200241b8036a41086a41e00010e9968080001a41002d00b8bfd380001a024041e80041002802b0bfd38000118280808000002201450d002001200336020420012004360200200141086a200241a0046a41e00010e9968080001a20002001360204200041013a00000c040b410441e80010b980808000000b200241e0016a41186a22034200370300200241e0016a41206a22044200370300200241e0016a41286a22054200370300200241e0016a41086a2206200241146a2902003703002002200229020c3703e001200242003703f00141002d00b8bfd380001a0240413041002802b0bfd38000118280808000002201450d00200120022903e001370200200141286a2005290300370200200141206a2004290300370200200141186a2003290300370200200141106a200241e0016a41106a290300370200200141086a2006290300370200200041023a0000200020013602040c030b4104413010b980808000000b200041023a0000200020033602040c010b20012003200410e996808000210341002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d01200142003702102001200436020c2001200336020820012004360204200141888080807836020020002001360204200041023a0000200141186a4200370200200141206a4200370200200141286a42003702000b20024180056a2480808080000f0b4104413010b980808000000bc61902067f017e23808080800041f0016b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802002203417d6a2204410420044104491b0e050300040102030b200241e8006a200141106a10e096808000024020012802040d000240200128020c22044100480d00200441f5ffffff074f0d122001280208210302402004410b6a41fcffffff077122050d00410421010c190b41002d00b8bfd380001a200541002802b0bfd380001182808080000022010d184104200510b980808000000b41b099cd8000412b200241ef016a41a099cd800041dc99cd800010a481808000000b200128020c22044120470d11200241206a2001280208220141086a290000370200200241286a200141106a290000370200200241306a200141186a29000037020020024100360214200220012900003702180c170b200141c4016a2105200141046a2106024020012802b8014102460d0041102104410f21030c050b024020012802ac014102460d00410f2104410e21030c050b024020012802a0014102460d00410e2104410d21030c050b02402001280294014102460d00410d2104410c21030c050b02402001280288014102460d00410c2104410b21030c050b0240200128027c4102460d00410b2104410a21030c050b024020012802704102460d00410a2104410921030c050b024020012802644102460d0041092104410821030c050b024020012802584102460d0041082104410721030c050b0240200128024c4102460d0041072104410621030c050b024020012802404102460d0041062104410521030c050b024020012802344102460d0041052104410421030c050b41022103024020012802284102460d0041042104410321030c050b0240200128021c4102460d00410321040c050b41022104024020012802104102460d00410121030c050b410421074100210320062802004102470d03410021060c050b024020012802b4014102460d0041102104410f21050c0a0b024020012802a8014102460d00410f2104410e21050c0a0b0240200128029c014102460d00410e2104410d21050c0a0b02402001280290014102460d00410d2104410c21050c0a0b02402001280284014102460d00410c2104410b21050c0a0b024020012802784102460d00410b2104410a21050c0a0b0240200128026c4102460d00410a2104410921050c0a0b024020012802604102460d0041092104410821050c0a0b024020012802544102460d0041082104410721050c0a0b024020012802484102460d0041072104410621050c0a0b0240200128023c4102460d0041062104410521050c0a0b024020012802304102460d0041052104410421050c0a0b41022105024020012802244102460d0041042104410321050c0a0b024020012802184102460d00410321040c0a0b410221040240200128020c4102460d00410121050c0a0b410421064100210520034102470d08410021030c0a0b200041023602000c150b200241e8006a200141106a10e0968080002002413c6a200141046a10e781808000024020022d003c22014102460d00200020022f003d3b00052000200229024437020c200041076a20022d003f3a0000200041146a2002413c6a41106a2902003702002000411c6a2002413c6a41186a290200370200200041246a2002413c6a41206a28020036020020022802402104200041d0006a20024190016a290200370200200041c8006a200241e8006a41206a290200370200200041c0006a200241e8006a41186a290200370200200041386a200241e8006a41106a290200370200200041306a200241f0006a2902003702002000200229026837022820002004360208200020013a0004200041043602000c150b2002280240210120004108360200200020013602042002280290014129490d14200228026841002802a8bfd38000118080808000000c140b410121040b2002200336026041002d00b8bfd380001a200441246c220741002802b0bfd38000118280808000002203450d0c20024100360244200220033602402002200436023c200241003602e801200241003602702002200536026c200220063602682002200241e8016a36027c20022002413c6a3602782002200241e0006a360274200241e8006a200241ef016a200241e8016a109e828080001a20022802e80122040d012002280244210320022802402107200228023c21060b41002104200528020022054102460d024101210420054101710d01200220012802c801220520012802cc01220110e39680800020022903002108200241a0016a200520014100280288bfd380001185808080000020022008370298010c020b2000410836020020002004360204024020022802442201450d002002280240210003400240024020002d00000e03010001000b200041046a2802002204108782808000200441002802a8bfd38000118080808000000b200041246a21002001417f6a22010d000b0b200228023c450d10200228024041002802a8bfd38000118080808000000c100b20012802cc0122054120470d0a200241a4016a20012802c801220141086a290000370200200241ac016a200141106a290000370200200241b4016a200141186a29000037020020024100360298012002200129000037029c010b20002004360204200041053602002000200229029801370208200020033602382000200736023420002006360230200041106a200241a0016a290200370200200041186a20024198016a41106a290200370200200041206a20024198016a41186a290200370200200041286a20024198016a41206a2902003702000c0e0b410121040b2002200536026441002d00b8bfd380001a200441246c220541002802b0bfd38000118280808000002203450d0820024100360244200220033602402002200436023c200241003602e801200241003602702002200141c0016a36026c200220013602682002200241e8016a36027c20022002413c6a3602782002200241e4006a360274200241e8006a200241ef016a200241e8016a109c828080001a20022802e80122040d012002280244210320022802402106200228023c21050b200241e8006a200141cc016a10e0968080004100210420012802c00122074102460d024101210420074101710d01200241086a20012802c401220720012802c801220110e39680800020022903082108200241c8016a200720014100280288bfd3800011858080800000200220083702c0010c020b2000410836020020002004360204024020022802442201450d002002280240210003400240024020002d00000e03010001000b200041046a2802002204108782808000200441002802a8bfd38000118080808000000b200041246a21002001417f6a22010d000b0b200228023c450d0a200228024041002802a8bfd38000118080808000000c0a0b20012802c80122074120470d06200241cc016a20012802c401220141086a290000370200200241d4016a200141106a290000370200200241dc016a200141186a290000370200200241003602c001200220012900003702c4010b20002002290268370238200041e0006a20024190016a290200370200200041d8006a200241e8006a41206a290200370200200041d0006a200241e8006a41186a290200370200200041c8006a200241e8006a41106a290200370200200041c0006a200241e8006a41086a29020037020020002004360200200020022902c0013702042000410c6a200241c0016a41086a290200370200200041146a200241c0016a41106a2902003702002000411c6a200241c0016a41186a290200370200200041246a200241c0016a41206a29020037020020002003360234200020063602302000200536022c0c080b41bc84c08000412b200241ef016a41ac84c0800041e486c0800010a481808000000b4120200441c4fbc08000108681808000000b4104200741a4fbc0800010ae80808000000b4120200541c4fbc08000108681808000000b4104200541b4fbc0800010ae80808000000b4120200741c4fbc08000108681808000000b2001428180808010370200200141086a2003200410e9968080001a200241146a41086a200320044100280288bfd380001185808080000020022004360218200220013602140b200020022902683702042000412c6a20024190016a290200370200200041246a200241e8006a41206a2902003702002000411c6a200241e8006a41186a290200370200200041146a200241e8006a41106a2902003702002000410c6a200241e8006a41086a29020037020020004103360200200020022902143702342000413c6a200241146a41086a290200370200200041c4006a200241146a41106a290200370200200041cc006a200241146a41186a290200370200200041d4006a200241146a41206a2902003702000b200241f0016a2480808080000bfd0e01117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610b7828080000c010b200241746a21080340024020040d0020002001200220034101200610a0828080000c020b20002001410376220941d4006c6a210a2000200941306c6a210b02400240200141c000490d002000200b200a200910b48280800021090c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b21090b2004417f6a2104200741086a41086a2000200920006b410c6e220f410c6c6a220c41086a2802003602002007200c290200370308024002400240024002402005450d002005280200200c2802004f0d010b200120034b0d014100210b2000210920022001410c6c22106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b410c6c6a22134f0d0003402002200a41746a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a2009410c6a220e280200200c2802004922141b200b200d6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200941186a220d280200200c28020049220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200941246a220d280200200c2802004922141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210b200941306a22092013490d000b0b0240200920002012410c6c6a22144f0d0003402002200a41746a220a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a280200360200200b200d6a210b2009410c6a22092014490d000b0b024020122001460d00200a41746a220a200b410c6c6a220d2009290200370200200d41086a200941086a2802003602002009410c6a2109200121120c010b0b20002002200b410c6c221210e99680800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2011200d41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200d41026a220d470d000b0b2016450d002017200d410c6c6a22092011200d417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b200b450d002001200b4f0d02200741003602282007410136021c200741e4fcc0800036021820074204370220200741186a41ecfcc0800010f280808000000b200120034b0d004100210d2000210920022001410c6c22116a2212210a03400240200920004100200f417d6a220b200b200f4b1b410c6c6a22134f0d0003402002200a41746a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a200c2802002009410c6a220e2802004f22141b200d200b6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200c280200200941186a220d2802004f220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200c280200200941246a220d2802004f22141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210d200941306a22092013490d000b0b024020092000200f410c6c6a22144f0d0003402002200a41746a220a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a280200360200200d200b6a210d2009410c6a22092014490d000b0b0240200f2001460d002002200d410c6c6a220b2009290200370200200b41086a200941086a2802003602002009410c6a2109200d41016a210d200a41746a210a2001210f0c010b0b20002002200d410c6c221310e99680800021002001200d6b210b02402001200d460d00200b410171210f200020136a21154100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2015210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2012200c41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200c41026a220c470d000b0b200f450d002015200c410c6c6a22092012200c417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b02402001200d4f0d00200d200141fcfcc0800010a881808000000b200020136a210041002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610e981808000200b2101200b41214f0d010b0b2000200b20022003200610b7828080000b200741306a2480808080000ba20201017f23808080800041306b220524808080800020052004360214200520033602102005200136020c02400240024020002802082004470d0020032000280204200410ed968080000d00200028020c2001470d012002200041106a2200412010ed968080000d02200541306a2480808080000f0b2005420037022420054281808080c00037021c200541c4fec080003602184100200541106a2000200541186a41ccfec0800010ad82808000000b2005420037022420054281808080c00037021c20054180ffc0800036021841002005410c6a2000410c6a200541186a4188ffc0800010ac82808000000b2005420037022420054281808080c00037021c200541c0ffc08000360218410020022000200541186a41c8ffc0800010ae82808000000bdb0102027f017e23808080800041106b2206248080808000200641046a41dcbcd380002001200210cc818080000240024020062802042201418180808078460d0002402001418080808078470d00410021050c020b20062802082107200320062902082208a72008422088a72202200520022005491b22056a200220056b2205200420052004491b10e9968080001a410121052001450d01200741002802a8bfd38000118080808000000c010b418cfdc0800041244198fec08000108b81808000000b2000200236020420002005360200200641106a2480808080000b6401017f23808080800041106b22042480808080002004200336020c200420023602082004200136020420042000360200024041dcbcd38000200410c1818080000d00418cfdc0800041244198fec08000108b81808000000b200441106a2480808080000b6e01017f23808080800041206b22032480808080002003410c6a41dcbcd380002001200210bf818080000240200328020c0d00418cfdc0800041244198fec08000108b81808000000b20002003290210370200200041086a200341186a290200370200200341206a2480808080000b3a00024041dcbcd380002000200110c48180800041ff017122014102470d00418cfdc0800041244198fec08000108b81808000000b20014101710b2c00024041dcbcd380002000200110c0818080000d00418cfdc0800041244198fec08000108b81808000000b0b5a01027f23808080800041106b2200248080808000200041086a4190bcd3800010cb81808000024020002802080d0041d8ffc08000411b41f4ffc08000108b81808000000b200028020c2101200041106a2480808080002001ad0b800101017f23808080800041106b2202248080808000200220013a0003200241046a41dcbcd38000200241036a10c88180800002402002280204418080808078470d00418cfdc0800041244198fec08000108b81808000000b20002002290204370200200041086a200241046a41086a280200360200200241106a2480808080000b920101017f23808080800041206b2205248080808000200520043602102005200336020c200520023602182005200136021420052005410c6a36021c200541dcbcd38000200541146a10bd818080000240200528020022044102470d00418cfdc0800041244198fec08000108b81808000000b200528020421032000200436020020002003360204200541206a2480808080000b7601017f23808080800041206b2203248080808000200341086a41086a200241086a280200360200200320013602182003200036021420032002290200370308024041dcbcd38000200341086a10bb818080000d00418cfdc0800041244198fec08000108b81808000000b200341206a2480808080000b7801017f23808080800041106b2203248080808000200341046a41dcbcd380002001200210cf8180800002402003280204418180808078470d00418cfdc0800041244198fec08000108b81808000000b20002003290204370200200041086a200341046a41086a280200360200200341106a2480808080000b2800024041dcbcd3800010bc818080000d00418cfdc0800041244198fec08000108b81808000000b0b5401017f0240024041dcbcd3800010c98180800041ff017122004102460d002000410171450d010f0b418cfdc0800041244198fec08000108b81808000000b418480c18000412c41b080c18000108b81808000000b5401017f0240024041dcbcd3800010cd8180800041ff017122004102460d002000410171450d010f0b418cfdc0800041244198fec08000108b81808000000b41c080c18000412a41ec80c18000108b81808000000ba80201027f23808080800041306b2205248080808000410021060240024020024100480d00024020020d00410121060c020b41002d00b8bfd380001a200241002802b0bfd380001182808080000022060d01410121060b2006200241c484cd800010ae80808000000b20062001200210e996808000210120052002360214200520013602102005200236020c2005200436022c2005200336022820052005410c6a360224200541186a41dcbcd38000200541246a10be8180800002402005280218418180808078460d0020002005290218370200200041086a200541186a41086a2802003602000240200528020c450d00200528021041002802a8bfd38000118080808000000b200541306a2480808080000f0b418cfdc0800041244198fec08000108b81808000000b8a0302027f017e23808080800041306b2208248080808000410021090240024020024100480d00024020020d00410121090c020b41002d00b8bfd380001a200241002802b0bfd380001182808080000022090d01410121090b2009200241c484cd800010ae80808000000b20092001200210e996808000210120082002360214200820013602102008200236020c2008200436022c2008200336022820082008410c6a360224200841186a41dcbcd38000200841246a10be818080000240024020082802182204418180808078460d0002402004418080808078470d00410021030c020b200828021c21012005200829021c220aa7200a422088a72202200720022007491b22036a200220036b2203200620032006491b10e9968080001a410121032004450d01200141002802a8bfd38000118080808000000c010b418cfdc0800041244198fec08000108b81808000000b0240200828020c450d00200828021041002802a8bfd38000118080808000000b2000200236020420002003360200200841306a2480808080000b860201027f23808080800041206b2206248080808000410021070240024020014100480d00024020010d00410121070c020b41002d00b8bfd380001a200141002802b0bfd380001182808080000022070d01410121070b2007200141c484cd800010ae80808000000b20072000200110e99680800021002006200136020820062000360204200620013602002006200536021c2006200436021820062003360214200620023602102006200636020c024041dcbcd380002006410c6a10ce81808000450d0002402006280200450d00200628020441002802a8bfd38000118080808000000b200641206a2480808080000f0b418cfdc0800041244198fec08000108b81808000000bfb0101027f23808080800041206b2204248080808000410021050240024020014100480d00024020010d00410121050c020b41002d00b8bfd380001a200141002802b0bfd380001182808080000022050d01410121050b2005200141c484cd800010ae80808000000b20052000200110e9968080002100200420013602102004200036020c200420013602082004200336021c200420023602182004200441086a360214024041dcbcd38000200441146a10c781808000450d0002402004280208450d00200428020c41002802a8bfd38000118080808000000b200441206a2480808080000f0b418cfdc0800041244198fec08000108b81808000000b900201017f23808080800041206b2205248080808000200520043602102005200336020c410021040240024020024100480d00024020020d00410121040c020b41002d00b8bfd380001a200241002802b0bfd380001182808080000022040d01410121040b2004200241c484cd800010ae80808000000b20042001200210e99680800021042005200236021c2005200436021820052002360214200541dcbcd38000200541146a2005410c6a10c6818080000240200528020022034102460d002005280204210102402002450d00200441002802a8bfd38000118080808000000b2000200136020420002003360200200541206a2480808080000f0b418cfdc0800041244198fec08000108b81808000000b880201027f23808080800041206b2204248080808000410021050240024020014100480d00024020010d00410121050c020b41002d00b8bfd380001a200141002802b0bfd380001182808080000022050d01410121050b2005200141c484cd800010ae80808000000b20052000200110e9968080002100200420013602102004200036020c200420013602082004200336021c200420023602182004200441086a360214024041dcbcd38000200441146a10c28180800041ff017122014102460d0002402004280208450d00200428020c41002802a8bfd38000118080808000000b200441206a24808080800020014101710f0b418cfdc0800041244198fec08000108b81808000000bb30201017f23808080800041306b2207248080808000200720063602102007200536020c410021060240024020024100480d00024020020d00410121060c020b41002d00b8bfd380001a200241002802b0bfd380001182808080000022060d01410121060b2006200241c484cd800010ae80808000000b20062001200210e99680800021062007200236021c2007200636021820072002360214200720043602282007200336022420072007410c6a36022c2007200741146a360220200741dcbcd38000200741206a10c3818080000240200728020022024102460d002007280204210602402007280214450d00200728021841002802a8bfd38000118080808000000b2000200636020420002002360200200741306a2480808080000f0b418cfdc0800041244198fec08000108b81808000000b960201017f23808080800041206b2204248080808000200420033a0007410021030240024020024100480d00024020020d00410121030c020b41002d00b8bfd380001a200241002802b0bfd380001182808080000022030d01410121030b2003200241c484cd800010ae80808000000b20032001200210e9968080002103200420023602102004200336020c20042002360208200441146a41dcbcd38000200441086a200441076a10c58180800002402004280214418080808078460d0020002004290214370200200041086a200441146a41086a28020036020002402002450d00200341002802a8bfd38000118080808000000b200441206a2480808080000f0b418cfdc0800041244198fec08000108b81808000000ba80201027f23808080800041306b2205248080808000410021060240024020024100480d00024020020d00410121060c020b41002d00b8bfd380001a200241002802b0bfd380001182808080000022060d01410121060b2006200241c484cd800010ae80808000000b20062001200210e996808000210120052002360214200520013602102005200236020c2005200436022c2005200336022820052005410c6a360224200541186a41dcbcd38000200541246a10ca8180800002402005280218418180808078460d0020002005290218370200200041086a200541186a41086a2802003602000240200528020c450d00200528021041002802a8bfd38000118080808000000b200541306a2480808080000f0b418cfdc0800041244198fec08000108b81808000000b100020004204370208200042003702000bf303010d7f410121020240200128020422034104490d0020012003417c6a220436020420012001280200220541046a36020020044104490d00200528000021062001200341786a22043602042001200541086a36020020044104490d00200528000421072001200341746a220436020420012005410c6a36020020044104490d00200528000821082001200341706a22043602042001200541106a36020020044104490d00200528000c210920012003416c6a22043602042001200541146a36020020044104490d002005280010210a2001200341686a22043602042001200541186a36020020044104490d002005280014210b2001200341646a220436020420012005411c6a36020020044104490d002005280018210c2001200341606a22043602042001200541206a36020020044104490d00200528001c210d20012003415c6a22043602042001200541246a36020020044104490d002005280020210e2001200341586a22043602042001200541286a36020020044104490d00200528002421022000200e36022c2000200d3602282000200c3602242000200b3602202000200a36021c2000200936021820002008360214200020073602102000200636020c200020023602042001200341546a36020420012005412c6a36020020002005280028360208410021020b200020023602000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b880808000360218200042fba0d4a6a49fe194d20037031020004283b28ce3b5a19fe418370308200041023a00000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b4105762107200128020821010c010b0240200420066b2208410576220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a41002007410841201099828080002003280208210a200328020c21090b200a20094105746a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41386e2107200128020821010c010b0240200420066b220841386e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a41002007410841381099828080002003280208210a200328020c21090b200a200941386c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bf40101067f23808080800041106b22022480808080002000280200220041086a2802002103200041046a280200210041012104200128021c220541c0c4c080004101200128022028020c2206118180808000002107200241003a0009200220073a0008200220013602040240024002402003450d0003402002200036020c200241046a2002410c6a41d08cc18000109e818080001a200041016a21002003417f6a22030d000b4101210420022d00084101710d022002280204220028021c2105200028022028020c21060c010b20070d010b200541c1c4c08000410120061181808080000021040b200241106a24808080800020040bf40401037f0240024002400240024002402000280200417e6a2201410420014106491b0e050501020304000b2000280204220120012802002201417f6a36020020014101470d04200041046a10d0968080000c040b0240200028022c4129490d00200028020441002802a8bfd38000118080808000000b20002802342201450d03200120012802002202417f6a36020020024101470d03200041346a10d0968080000f0b024020002802504129490d00200028022841002802a8bfd38000118080808000000b20002d0004450d0220002802082201108782808000200141002802a8bfd38000118080808000000f0b024020002802382202450d00200028023421010340024020012d000022034102460d002003450d00200141046a2802002203108782808000200341002802a8bfd38000118080808000000b200141246a21012002417f6a22020d000b0b02402000280230450d00200028023441002802a8bfd38000118080808000000b2000280204450d0120002802082201450d01200120012802002202417f6a36020020024101470d01200041086a10d0968080000f0b024020002802604129490d00200028023841002802a8bfd38000118080808000000b024020002802342202450d00200028023021010340024020012d000022034102460d002003450d00200141046a2802002203108782808000200341002802a8bfd38000118080808000000b200141246a21012002417f6a22020d000b0b0240200028022c450d00200028023041002802a8bfd38000118080808000000b2000280200450d0020002802042201450d00200120012802002202417f6a36020020024101470d00200041046a10d0968080000f0b0bae03010b7f23808080800041d0006b2204248080808000410021054100210602400240024020012802004101470d0020012802040d01200141046a21072001417f360204200141086a21060b024020012802104101470d0020012802140d02200141146a21082001417f360214200141186a21050b410021090240024020060d004100210a0c010b2006280204210b2006280200210a0b2001280228210c2001280224210d200128022021010240024020050d000c010b2005280204210e200528020021090b2004410c6a41106a200c41086a2900003702002004410c6a41186a200c41106a2900003702002004412c6a200c41186a2900003702002004200d3602102004200136020c2004200e3602402004200936023c2004200b3602382004200a3602342004200c2900003702142004410036024c200420033602482004200236024420002004410c6a20022003200441c4006a10d78180800002402005450d002008200828020041016a3602000b02402006450d002007200728020041016a3602000b200441d0006a2480808080000f0b41f088c18000108081808000000b418089c18000108081808000000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a3602000240024002400240024020042d000022054103710e0400040201000b20002001200541027610ba818080000f0b200541044f0d0320024105490d0320012002417b6a3602042001200441056a360200200428000122024180808080044f0d010c030b20024104490d0220012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722202418002490d02200241087420057241027621020b20002001200210ba818080000f0b2003450d0020012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610ba818080000f0b20004180808080783602000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a3602000240024002400240024020042d000022054103710e0400040201000b20002001200541027610b9818080000f0b200541044f0d0320024105490d0320012002417b6a3602042001200441056a360200200428000122024180808080044f0d010c030b20024104490d0220012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722202418002490d02200241087420057241027621020b20002001200210b9818080000f0b2003450d0020012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610b9818080000f0b20004180808080783602000ba80601067f23808080800041306b2201248080808000200141083602042001419089c1800036020041002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d002002419089c18000360200200241046a4108360200419089c18000410810bc91808000450d0141002d00b8bfd380001a41c00041002802b0bfd380001182808080000022030d02410841c00010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236020c200141d0c5cb800036020820014201370214200141b980808000ad4220862001ad843703202001200141206a360210200141086a41e0c5cb800010f280808000000b200341ba80808000360238200342caaab4c4d7addfd7053703302003428484fae4a8f2b1b119370328200341013602242003419989c18000360220200341bb8080800036021820034289d0e6adc0e7a38d463703102003428bfa8ea7fac390de25370308200341013602042003419889c1800036020020014102360210200120033602082001200341c0006a3602142001200336020c200141206a200141086a41fc81c1800010848280800020012802282104200128022421052001280220210620014100360210200142808080808001370208200141086a41ec82c1800010b891808000200128020c220342b18496dec1b1a390e2003703002003410036023020034280808080c0003703282003410036022020034100360218200341bc80808000360210200342eecc8cbbee9fd3d74a370308200128020c210320012001280208360210200120033602082001200341386a3602142001200336020c200141206a200141086a41fc81c1800010858280800020012006360210200120053602082001200520044105746a3602142001200536020c200041c4006a200141086a41fc81c18000108482808000200141136a200141206a41086a28020036000020002002ad4280808080108437023c20004101360238200041003a00002000410036025820004280808080c0003703502001200129022037000b20002001290008370001200041086a2001410f6a290000370000200141306a2480808080000b860403047f017e047f23808080800041306b2202248080808000200128020c2103410021042001410036020c02402003450d002001410c6a21052001290210210603402006a721070240024020064220882206200333018a015a0d002006a721080c010b20032109034020092802582203450d03200741016a210720092f018801210820032109200820032f018a014f0d000b0b0240200320084103746a2209280200200941046a28020072450d000240024020070d00200841016a21080c010b200320084102746a4190016a2802002103410021082007417f6a2209450d002007417e6a210a024020094107712207450d0003402009417f6a2109200328028c0121032007417f6a22070d000b0b200a4107490d000340200328028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012103200941786a22090d000b0b200120083602142001420037020c200129021021060c010b0b200128020422092009280200417f6a360200200220083602282002200736022420022003360220200241086a200241206a200141086a2002412f6a10b8818080002000410c6a200241086a41086a28020036020020002002290208370204200241206a41086a2002411c6a2802002203360200200220022902142206370320200541086a200336020020052006370200410121040b20002004360200200241306a2480808080000bda0301077f23808080800041306b2203248080808000200220016b2204413c6e210502400240024002400240024020022001460d0041002d00b8bfd380001a2005410c6c220241002802b0bfd38000118280808000002206450d032006210220052107034020022001280200360200200241086a4100200141046a2802002208200141106a2802006b2209200920084b1b360200200241046a4100200141086a2802002208200141146a2802006b2209200920084b1b3602002001413c6a21012002410c6a21022007417f6a22070d000b20032003412f6a36020c2004413c460d02200441ec09490d01200620052003410c6a109f828080000c020b20004100360208200041003602000c040b2006200541012003410c6a10b6828080000b41002d00b8bfd380001a418c0141002802b0bfd38000118280808000002201450d01200141003b018a0120014100360258200341003602042003200136020020034100360208200320063602202003200636021c2003410236020c20032005360224200320062005410c6c6a36022820032003410c6a200341086a10b68180800020002003280208360208200020032902003702000c020b4104200210b980808000000b4104418c0110b980808000000b200341306a2480808080000bb90204047f017e017f017e024020002802442201450d000240200028024c2202450d002000280240220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341807d6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2005427f7c210702402003410020057aa74103766b41306c6a220641706a280200450d00200641746a28020041002802a8bfd38000118080808000000b200720058321052002417f6a22020d000b0b2001200141016aad42307ea722046a4177460d00200028024020046b41002802a8bfd38000118080808000000b02402000280278450d00200028027c41002802a8bfd38000118080808000000b0be20601107f23808080800041206b22032480808080000240024002400240024002400240024002400240024020020d004100210241002d00b8bfd380001a418c0141002802b0bfd38000118280808000002204450d06200441003b018a0120044100360258024020012f018a012205450d00200441dc006a2106200141dc006a210741002108034020042f018a012202410b4f0d032004200241016a3b018a01200620024102746a2007280200360200200420024103746a2001290200370200200741046a2107200141086a21012005200841016a2208470d000b200521020b2000200236020820004100360204200020043602000c0a0b200341086a200128028c012002417f6a2209108f8280800020032802082202450d0841002d00b8bfd380001a200328020c210a41bc0141002802b0bfd38000118280808000002204450d012004200236028c01200441003b018a0120044100360258200241003b01880120022004360258200320043602082003200a41016a36020c20012f018a01450d072004418c016a210b200441dc006a210c200141dc006a21072003280210210d200121084100210e0340200841046a280200210f2008280200211020072802002111200341146a200741346a2802002009108f82808000200328021c211202400240200328021422020d0041002d00b8bfd380001a418c0141002802b0bfd38000118280808000002202450d0541002105200241003b018a01200241003602580c010b200328021821050b200a2005470d0420042f018a012205410b4f0d052004200541016a22063b018a01200c20054102746a2011360200200420054103746a2205200f36020420052010360200200b20064102746a2002360200200220063b01880120022004360258200741046a2107200841086a21082012200d6a41016a210d200e41016a220e20012f018a014f0d070c000b0b41c4e1c08000412041e4e1c0800010f480808000000b410441bc0110b980808000000b4104418c0110b980808000000b41f4e1c08000413041a4e2c0800010f480808000000b41c4e1c08000412041b4e2c0800010f480808000000b4104418c0110b980808000000b2003200d3602100b20002003290208370200200041086a200341086a41086a2802003602000c010b41b08ac18000108a81808000000b200341206a2480808080000bfc0401057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a2100200128028c0121012004417f6a22040d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200041786a22000d000b0b20012104410021020b024002400240200220042f018a014f0d00200421000c010b034020042802582200450d0220042f0188012102200441002802a8bfd3800011808080800000200541016a210520002104200220002f018a014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a4190016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a2104200028028c0121002005417f6a22050d000b0b20014107490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b200441002802a8bfd38000118080808000004190eac08000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a2104200028028c0121002005417f6a22050d000b0b20024108490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b034020002802582104200041002802a8bfd38000118080808000002004210020040d000b0b0bab0501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a2100200128028c0121012005417f6a22050d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200041786a22000d000b0b20012100410021020b024002400240200220002f018a014f0d0020022105200021010c010b034020002802002201450d0220002f0188012105200041002802a8bfd3800011808080800000200441016a210420012100200520012f018a014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4190016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a2106200028028c0121002004417f6a22040d000b0b20074107490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200641786a22060d000b0b024020012005410c6c6a41046a2201280200450d00200128020441002802a8bfd38000118080808000000b410021012003417f6a22030d010c030b0b200041002802a8bfd38000118080808000004190eac08000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a2104200028028c0121002005417f6a22050d000b0b20024108490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b034020002802002101200041002802a8bfd38000118080808000002001210020010d000b0b0ba40101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141fc81c180001084828080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041c080808000360218200042a4a89c91fe84fa97827f3703102000429391a7de89e0c997ae7f370308200041023a0000200141106a2480808080000bdc0201037f23808080800041206b220124808080800041002d00b8bfd380001a0240413041002802b0bfd38000118280808000002202450d00200241ba80808000360228200242caaab4c4d7addfd7053703202002428484fae4a8f2b1b119370318200241bb8080800036021020024289d0e6adc0e7a38d463703082002428bfa8ea7fac390de253703002001200241306a220336021c200141023602182001200236021420012002360210200141086a200141106a20022002200141206a200310a182808000200128020c2103200142888080808001370210200142808080808001370218200041c4006a200141106a41fc81c180001084828080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200320026b41186e36020c2000200236020820004102360204200041043a0000200141206a2480808080000f0b4108413010b980808000000bdb0201037f23808080800041206b220124808080800041002d00b8bfd380001a0240413041002802b0bfd38000118280808000002202450d00200241c1808080003602282002428892e6fcf8c7eedd20370320200242cfdcf7988bd4d823370318200241bb8080800036021020024289d0e6adc0e7a38d463703082002428bfa8ea7fac390de253703002001200241306a220336021c200141023602182001200236021420012002360210200141086a200141106a20022002200141206a200310a182808000200128020c2103200142888080808001370210200142808080808001370218200041c4006a200141106a41fc81c180001084828080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200320026b41186e36020c2000200236020820004102360204200041043a0000200141206a2480808080000f0b4108413010b980808000000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bf10101077f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b220541ffffffff034d0d0041004100200110ae80808000000b0240024020054104200541044b1b2207410274220641fcffffff074b0d004100210502402004450d002002200441027436021c20022000280204360214410421050b20022005360218200241086a41042006200241146a10958280800020022802084101470d0120022802102108200228020c21030b20032008200110ae80808000000b200228020c21042000200736020020002004360204200241206a2480808080000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad423c7e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d0020022004413c6c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10958280800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42247e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441246c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10958280800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10958280800020052802084101470d0120052802102102200528020c21060b2006200241c48bc1800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000bbe0101077f41002103024002402001410f712204410f470d00410121032002280208220541016a200228020422064b0d0020022802002107410f2108200521010340200120064f0d022002200141016a3602080240200720016a2d0000220941ff01470d00200841ff016a210841012103200141026a2109200141016a2101200920064d0d010c020b0b200920086a2104410021030b20002004360204200020033602000f0b20052006200520064b1b200641e089cd800010f580808000000b810701097f23808080800041106b22022480808080000240024002400240024002402001280208220341016a2204200128020422054b22060d000240200320054f0d0020012004360208024002400240024002400240024002400240024002402001280200220720036a2d00002208450d0020084106764102730e0403020a01030b200041003a00000c100b2008413f712208413f470d030240200341026a20054b0d00413f2108200421030340200320054f0d0d2001200341016a2209360208200720036a2d0000220a41ff01470d04200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c0f0b2008413f712208413f470d040240200341026a20054b0d00413f2108200421030340200320054f0d0d2001200341016a2209360208200720036a2d0000220a41ff01470d05200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c0e0b2008413f712208413f470d050240200341026a20054b0d00413f2108200421030340200320054f0d0d2001200341016a2209360208200720036a2d0000220a41ff01470d06200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c0d0b200a20086a21080b20002008360204200041023a00000c0b0b200a20086a21080b2000200836020420004181023b01000c090b200a20086a21080b20002008360204200041013b01000c070b0240024002400240200841e001714120460d00200841f001714110460d01200041053a00000c0a0b2008411f712208411f470d020240200341026a20054b0d00411f2108200421030340200320054f0d0a2001200341016a2209360208200720036a2d0000220a41ff01470d03200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c090b200241086a20082001109a82808000024020022802080d00200228020c2101200041033a0000200020013602040c090b200041053a00000c080b200a20086a21080b20002008360204200041043a00000c060b2003200541e089cd800010f580808000000b200041053a00000c040b2004200520061b200541e089cd800010f580808000000b2004200520061b200541e089cd800010f580808000000b2004200520061b200541e089cd800010f580808000000b2004200520061b200541e089cd800010f580808000000b200241106a2480808080000bdb05010f7f23808080800041f0006b22032480808080004100210402402000280200220520002802042206460d0020002802102107200028020c210820002802082109200341cc006a41086a210a200341cc006a410172210b034020002005410c6a220c360200024020082802002009490d000240024020052802004102470d004102210d0c010b200341cc006a200510e781808000200341c8006a41026a2205200b41026a2d00003a0000200341286a41086a220e200a41086a290200370300200341286a41106a220f200a41106a290200370300200341286a41186a2210200a41186a2802003602002003200b2f00003b01482003200a29020037032820032802502111024020032d004c220d4102460d00200341246a41026a20052d00003a0000200341086a41086a200e290300370300200341086a41106a200f290300370300200341086a41186a2010280200360200200320032f01483b0124200320032903283703080c010b024020022802002205450d000240024002400240200528020041fcffffff076a220c4103200c4105491b0e0403030102000b2005280204450d02200528020841002802a8bfd38000118080808000000c020b2005280204450d01200528020841002802a8bfd38000118080808000000c010b2005109d828080000b200541002802a8bfd38000118080808000000b20022011360200410121042000200941016a3602080c030b02402007280208220e2007280200470d00200741b08cc180001098828080000b2007280204200e41246c6a220520032f01243b00012005200d3a00002005201136020420052003290308370208200541036a200341246a41026a2d00003a0000200541106a200341086a41086a290300370200200541186a200341086a41106a290300370200200541206a200341086a41186a2802003602002007200e41016a3602080b2000200941016a2209360208200c2105200c2006470d000b0b200341f0006a24808080800020040bc00101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020841002802a8bfd38000118080808000000c030b2000280204450d02200028020841002802a8bfd38000118080808000000c020b2000109d828080000c010b2001450d01200028020421000b200041002802a8bfd38000118080808000000b0bdb05010f7f23808080800041f0006b22032480808080004100210402402000280200220520002802042206460d0020002802102107200028020c210820002802082109200341cc006a41086a210a200341cc006a410172210b034020002005410c6a220c360200024020082802002009490d000240024020052802004102470d004102210d0c010b200341cc006a200510e781808000200341c8006a41026a2205200b41026a2d00003a0000200341286a41086a220e200a41086a290200370300200341286a41106a220f200a41106a290200370300200341286a41186a2210200a41186a2802003602002003200b2f00003b01482003200a29020037032820032802502111024020032d004c220d4102460d00200341246a41026a20052d00003a0000200341086a41086a200e290300370300200341086a41106a200f290300370300200341086a41186a2010280200360200200320032f01483b0124200320032903283703080c010b024020022802002205450d000240024002400240200528020041fcffffff076a220c4103200c4105491b0e0403030102000b2005280204450d02200528020841002802a8bfd38000118080808000000c020b2005280204450d01200528020841002802a8bfd38000118080808000000c010b2005109d828080000b200541002802a8bfd38000118080808000000b20022011360200410121042000200941016a3602080c030b02402007280208220e2007280200470d00200741c08cc180001098828080000b2007280204200e41246c6a220520032f01243b00012005200d3a00002005201136020420052003290308370208200541036a200341246a41026a2d00003a0000200541106a200341086a41086a290300370200200541186a200341086a41106a290300370200200541206a200341086a41186a2802003602002007200e41016a3602080b2000200941016a2209360208200c2105200c2006470d000b0b200341f0006a24808080800020040b830203037f017e017f2380808080004180206b2203248080808000024002400240200141aad828200141aad828491b2204200120014101766b2205200420054b1b220441d602490d002004ad420c7e2206a721054100210702402006422088a70d00200541fcffffff074b0d00024020050d0041042107410021040c030b41002d00b8bfd380001a200541002802b0bfd380001182808080000022070d02410421070b20072005418088c1800010ae80808000000b20002001200341d502200141c10049200210a0828080000c010b2000200120072004200141c10049200210a082808000200741002802a8bfd38000118080808000000b20034180206a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041746a210b200041186a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410c6c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201328020c221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d032018410c6a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d022018410c6a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b2015410c6c20126a6a21140340201328020021162013201428020036020020142016360200201341046a221629020021072016201441046a221929020037020020192007370200201441746a21142013410c6a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510e981808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d410c6c22136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b410c6c6a210e024020134101710d00200e201820022003201841017267410174413e734100200510e9818080000b20094101710d01200e2018410c6c6a201620022003201641017267410174413e734100200510e9818080000c010b201741017421090c010b024020094102490d0020134102490d0020162018201620184922141b221320034b0d002002200e2018410c6c6a2209200e20141b2013410c6c221410e996808000221c20146a2114024002400240201620184f0d00201a211303402013200941746a2209201441746a221420142802002218200928020022164922191b2212290200370200201341086a201241086a28020036020020142019410c6c6a21142009201820164f410c6c6a2209200e460d02201341746a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a280200360200200e410c6a210e2013201820164f410c6c6a22132014460d0220092012410c6c6a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10e9968080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510e9818080000b200641d0026a2480808080000ba70102027f037e024020012802042206200128020c2207460d00034020062903102108200629030821092006290300210a2001200641186a220636020402400240200a42d5a981be8fd2c3ae26520d00200942c8efbb97c8e7e5ff49520d00200621060c010b20032008370310200320093703082003200a370300200341186a210320012802042106200128020c21070b20062007470d000b0b20002003360204200020023602000bb20101017f23808080800041d0006b22022480808080002002200028020036020c200241c280808000ad4220862002410c6aad843703282002410136022420024101360214200241d8dbca80003602102002410136021c200241033a004c200241043602482002422037024020024102360238200241023602302002200241306a3602202002200241286a360218200128021c2001280220200241106a10e2808080002101200241d0006a24808080800020010bc30502057f017e23808080800041c0006b2203248080808000024020012002460d0020002d000521042000280200210520002d0004210620032001360204200141016a210741012101024020064101710d00024020052d0014410471450d0041012101024020044101710d00200528021c41bfc4c080004101200528022028020c118180808000000d020b41012101200341013a0017200341186a41086a200541086a290200370300200341186a41106a200541106a290200370300200341186a41186a200541186a2802003602002003200529021c3702082005290200210820034190c4c08000360238200320083703182003200341176a3602102003200341086a360234200341046a200341186a10b2828080000d01200328023441b6c4c080004102200328023828020c1181808080000021010c010b4101210102402004410171450d00200528021c41afc4c080004102200528022028020c118180808000000d010b200341046a200510b28280800021010b200041013a0005200020013a000420072002460d000340200320073602042001410171210641012101024020060d00024020052d00144104710d0041012101200528021c41afc4c080004102200528022028020c118180808000000d01200341046a200510b28280800021010c010b200529021c2108200341013a0017200341186a41086a200541086a290200370300200341186a41106a200541106a290200370300200341186a41186a200541186a280200360200200320083702082005290200210820034190c4c08000360238200320083703182003200341176a3602102003200341086a3602340240200341046a200341186a10b2828080000d00200328023441b6c4c080004102200328023828020c1181808080000021010c010b410121010b200041013a0005200020013a0004200741016a22072002470d000b0b200341c0006a24808080800020000bf30c01177f23808080800041c0006b2204248080808000200441086a2105200128020421062001280200210702400240024002400240024020012802100d0020044100360210200441003602080c010b20012802082208450d0120052008200128020c108f828080000b200420063602042004417f200720022802006a220120012007491b2201360200410c2108410821094104210a02402001200328020022074d0d004102210b0c030b2004417f200620022802046a220120012006491b220136020402402001200328020422074d0d004103210b0c030b0240024020022802082201450d002002280210220c450d002001410047210d200328020c210e2003280208210f200441286a2110200228020c211141002106034002400240024020060d00200d410171450d004101210d2011450d0120112107024020114107712202450d0003402007417f6a2107200128028c0121012002417f6a22020d000b0b20114108490d010340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200741786a22070d000c020b0b200d4101710d0141f48dc18000108a81808000000b2001210641002101410021110b02400240201120062f018a014f0d00200621032011210b0c010b034020062802582203450d04200141016a210120062f018801210b20032106200b20032f018a014f0d000b0b0240024020010d00200b41016a2111200321060c010b2003200b4102746a4190016a2802002106410021112001417f6a2207450d002001417e6a2102024020074107712201450d0003402007417f6a2107200628028c0121062001417f6a22010d000b0b20024107490d000340200628028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012106200741786a22070d000b0b2003200b4102746a41dc006a2212280200210802400240024002400240200428020822130d002004200a360224200420143602202004410036021c200420083602182004200536021441002d00b8bfd380001a418c0141002802b0bfd380001182808080000022010d014104418c0110b980808000000b200428020c21150340201341786a2109201341dc006a210720132f018a0122164102742101417f210a02400340024020010d002016210a0c020b200728020021022001417c6a2101200a41016a210a200941086a2109200741046a2107417f2002200847200220084b1b22024101460d000b200241ff0171450d040b02402015450d002015417f6a21152013200a4102746a418c016a28020021130c010b0b2004200a36022441002114200441003602202004201336021c20042008360218200420053602142004200a36023c2004410036023820042013360234200441286a200441346a200841004100200441146a201010b1818080002004280230210220042802282101200428021421070c010b4100210220014100360258200141013b018a012001200836025c200142003702002004410036020c20042001360208200521070b2007200728020841016a360208200120024103746a21090c010b200a21142005210a0b02400240200f450d00200c417f6a210c2003200b4103746a220141046a280200211720012802002118200928020421192009280200211a2012280200210b200e2115200f21130340201341786a2108201341dc006a210720132f018a0122164102742101417f2103024002400340024020010d00201621030c020b200728020021022001417c6a2101200341016a2103200841086a2108200741046a2107417f2002200b472002200b4b1b22024101460d000b200241ff0171450d010b2015450d022015417f6a2115201320034102746a418c016a28020021130c010b0b417f201a20186a22012001201a491b2201200841046a28020022074d0d01410021060c060b41848ec18000413441948fc18000108b81808000000b0240417f201920176a220720072019491b2202200828020022074d0d0041012106200221010c050b200920023602042009200136020041002101200c0d000b0b2000200429020037020420004100360200200041146a200441106a2802003602002000410c6a200441086a2902003702000c040b41e48dc18000108a81808000000b41c08ac18000108a81808000000b2000200636020441102108410c21094108210a0b2000200a6a200b360200200020096a2007360200200020086a20013602002000410136020020051090828080000b200441c0006a2480808080000b8f08010f7f23808080800041306b22022480808080002000200028020020012802006b3602002000200028020420012802046b36020402400240024020012802082203450d00200128021022040d010b200028020821050c010b4100210620034100472107200128020c2108034002400240024020060d002007410171450d00410121072008450d0120082101024020084107712209450d0003402001417f6a2101200328028c0121032009417f6a22090d000b0b20084108490d010340200328028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012103200141786a22010d000c020b0b20074101710d0141f48dc18000108a81808000000b2003210641002103410021080b024002400240200820062f018a014f0d0020062101200821090c010b034020062802582201450d02200341016a210320062f018801210920012106200920012f018a014f0d000b0b0240024020030d00200941016a2108200121060c010b200120094102746a4190016a2802002106410021082003417f6a220a450d002003417e6a210b0240200a4107712203450d000340200a417f6a210a200628028c0121062003417f6a22030d000b0b200b4107490d000340200628028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012106200a41786a220a0d000b0b0240024020002802082205450d002004417f6a2104200120094103746a210c200120094102746a41dc006a280200210d200028020c210e2005210f0340200f41786a210b200f41dc006a2101200f2f018a0122104102742103417f210a02400340024020030d002010210a0c020b200128020021092003417c6a2103200a41016a210a200b41086a210b200141046a2101417f2009200d472009200d4b1b22094101460d000b200941ff0171450d030b200e450d01200e417f6a210e200f200a4102746a418c016a280200210f0c000b0b41a48fc18000413041d48fc18000108b81808000000b200b200b280200200c2802006b360200200b41046a22032003280200200c2802046b360200410021032004450d020c010b0b41e48dc18000108a81808000000b0240024020050d002002420037020c2002200041106a36020820022002412f6a3602040c010b200041086a21060240200028020c2209450d0002400240200941077122010d00200921030c010b2009210303402003417f6a2103200528028c0121052001417f6a22010d000b0b20094108490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200341786a22030d000b0b20024200370214200220053602102002200636020c2002200041106a36020820022002412f6a3602040b03402002411c6a200241046a108c82808000200228021c0d000b200241306a2480808080000b1e00200128021c41e48fc18000410f200128022028020c118180808000000bf20503057f017e027f23808080800041c0006b2201248080808000200141246a41f38fc180004111418490c1800041334104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41fc81c18000108482808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080800137020c2001410c6a41ec82c1800010b8918080002001280210220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141306a41086a220841013602002007420437022c20074203370224200741e184c180003602202007410936021c200741d884c18000360218200741b3808080003602102001200129020c3703300240200828020022072001280230470d00200141306a41ec82c1800010b8918080000b2001280234200741386c22086a2207420437022c20074203370224200741e184c180003602202007410b36021c200741e484c18000360218200741b380808000360210200742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc1337030020012802342107200120012802303602142001200736020c2001200720086a41386a36021820012007360210200141306a2001410c6a41fc81c1800010858280800002402005418080808078470d0041fc82c180004111419083c18000108b81808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a41fc81c180001084828080002001410c6a410b6a200141306a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000b920704057f017e037f017e23808080800041d0006b2201248080808000200141306a41b790c18000410d418490c1800041334104410010c7918080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41fc81c18000108482808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a41ec82c1800010b891808000200128021c220842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a220941013602002008420437022c20084203370224200841e184c180003602202008410d36021c200841ef84c18000360218200841b380808000360210200120012902183703400240200928020022092001280240470d00200141c0006a41ec82c1800010b8918080000b2001280244200941386c6a2208420437022c20084203370224200841e184c180003602202008410f36021c200841fc84c18000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc133703002007200941016a220836020020012001290340220a37031802402008200aa7470d00200141186a41ec82c1800010b8918080000b200128021c200841386c22096a2208420437022c200842233702242008419885c180003602202008410d36021c2008418b85c18000360218200841c38080800036021020084283d19e9cdf83aaead500370308200842fbd0d19deaf194d72f370300200128021c210820012001280218360220200120083602182001200820096a41386a3602242001200836021c200141c0006a200141186a41fc81c1800010858280800002402005418080808078470d0041fc82c180004111419083c18000108b81808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41fc81c18000108482808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000b880301077f4101210202400240024002402001280208220341016a2204200128020422054d0d000c010b200320054f0d012001200436020802400240024002400240024002402001280200220620036a2d000022074103710e0400010203000b20074102762108410021020c060b0240200341026a220320054d0d000c060b200120033602082004417f470d02417f200341d089cd800010ac81808000000b200341046a220320054b0d04200120033602082004417d490d022004200341d089cd800010ac81808000000b20074104490d020c030b0240200620046a2d000022010d000c030b20014108742007724102762108410021020c020b200620046a22012f0000200141026a2d0000411074722201418002492102200141087420077241027621080c010b200341056a220320054b0d00200120033602082004417c4f0d02200620046a28000022084180808080044921020b20002008360204200020023602000f0b2003200541e089cd800010f580808000000b2004200341d089cd800010ac81808000000bb50201017f02400240024002402002200141186a412010ed96808000450d0041808080807821042001200210ab8280800022010d010c030b410021020240200128024022044100480d00200128023c2102024020040d00410121010c030b41002d00b8bfd380001a200441002802b0bfd380001182808080000022010d02410121020b2002200441f087c1800010ae80808000000b0240200128022c41014e0d000c020b4100210202400240200128022822044100480d0020012802242102024020040d00410121010c020b41002d00b8bfd380001a200441002802b0bfd380001182808080000022010d01410121020b2002200441f087c1800010ae80808000000b20012002200410e9968080001a0c010b20012002200410e9968080001a0b2000200436020820002001360204200020043602000ba80303017f067e047f0240200028020c0d0041000f0b20002802042202200129000841002903c8bfd38000200029031042208922037c8522044220882205200129001841002903c0bfd38000220685220742208822087e200442ffffffff0f832204200742ffffffff0f8322077e85200520077e200420087e85422088852001290000200385220342ffffffff0f8322042001290010200685220542ffffffff0f8322067e8520034220882203200542208822057e85200320067e200420057e85422088852203a7712109200342198842ff0083428182848890a0c080017e21052000280200220a41506a21004100210b0240024003400240200a20096a29000022042005852203427f85200342fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832203500d00034020012000410020037aa741037620096a2002716b220c41306c6a412010ed96808000450d032003427f7c200383220350450d000b0b0240200420044201868342808182848890a0c0807f83500d00410021090c030b200b41086a220b20096a20027121090c000b0b200a200c41306c6a21090b200941506a410020091b0b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41c490c180002005410c6a41c490c180002003200410f780808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41d490c180002005410c6a41e490c180002003200410f780808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41f490c180002005410c6a41f490c180002003200410f780808000000b9b1207027f027e0a7f027e017f047e047f2380808080004190016b220224808080800041002d00b8bfd380001a0240410141002802b0bfd38000118280808000002203450d00200341003a0000410041003502bcbfd3800042c4e6c11b85200241086aad22047e200442ae94e698017e4220898522043e02bcbfd380002004422088220542a2f0a4a00a7e200442ffffffff0f83220442d0e3fccc027e85200542d0e3fccc027e200442a2f0a4a00a7e85422089852104024041002d00e0bfd380004102460d0010bf8f8080000b200241206a41a893c1800041014100280288bfd3800011858080800000200241106a41002903c093c1800037030020024101360248200220033602442002410136024020022004370318200241002903b893c1800037030802400240024020012802002203450d0020012802082206450d0020034100472107200241d0006a41086a21082001280204210941002101034002400240024020010d002007410171450d00410121072009450d012009210102402009410771220a450d0003402001417f6a2101200328028c012103200a417f6a220a0d000b0b20094108490d010340200328028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012103200141786a22010d000c020b0b20074101710d01419893c18000108a81808000000b2003210141002103410021090b02400240200920012f018a014f0d002001210a2009210b0c010b03402001280200220a450d04200341016a210320012f018801210b200a2101200b200a2f018a014f0d000b0b0240024020030d00200b41016a2109200a21010c010b200a200b4102746a4190016a2802002101410021092003417f6a220c450d002003417e6a210d0240200c4107712203450d000340200c417f6a210c200128028c0121012003417f6a22030d000b0b200d4107490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200c41786a220c0d000b0b4100210c02400240024002400240200a200b410c6c6a2203410c6a280200220d4100480d00200341086a2802002103200d450d0241002d00b8bfd380001a200d41002802b0bfd3800011828080800000220a0d014101210c0b200c200d41f087c1800010ae80808000000b200a2003200d10e996808000210a2002280244210b02400240200d200228024846220c0d00200a41002802a8bfd38000118080808000000c010b200a200b200d10ed96808000210e200a41002802a8bfd3800011808080800000200e450d030b200241d0006a2003200d4100280288bfd380001185808080000041002d00b8bfd380001a200d41002802b0bfd3800011828080800000220f450d06200f2003200d10e9968080002103200c450d012003200b200d10ed968080000d01200341002802a8bfd38000118080808000000c020b2002280248450d01200241d0006a200341004100280288bfd38000118580808000004101210f0b200241f0006a41186a200241d0006a41186a2900002205370300200241f0006a41106a200241d0006a41106a2900002210370300200241f0006a41086a2008290000221137030020022002290050220437037041002112201141002903c8bfd38000200229031842208922137c8522114220882214200541002903c0bfd38000221585220542208822167e201142ffffffff0f832211200542ffffffff0f8322057e85201420057e201120167e85422088852004201385220542ffffffff0f8322112010201585221042ffffffff0f8322137e8520054220882205201042208822107e85200520137e201120107e85422088852205421988221142ff0083428182848890a0c080017e21102002280208220e41506a210b2004422088a721172004a72118200228020c220a2005a7221971221a2103024003400240200e20036a29000022052010852204427f85200442fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832204500d000340200241f0006a200b410020047aa741037620036a200a716b41306c220c6a412010ed96808000450d032004427f7c200483220450450d000b0b0240200520054201868342808182848890a0c0807f8350450d00201241086a221220036a200a7121030c010b0b0240200e201a6a29000042808182848890a0c0807f8322044200520d00410821030340201a20036a210b200341086a2103200e200b200a71221a6a29000042808182848890a0c0807f832204500d000b0b0240200e20047aa7410376201a6a200a7122036a2c0000220b417f4c0d00200e200e29030042808182848890a0c0807f837aa741037622036a2d0000210b0b0240200b410171450d0020022802100d002002200241086a4101200241086a41106a410110e18180800002402002280208220e200228020c220a201971220b6a29000042808182848890a0c0807f8322044200520d00410821030340200b20036a210b200341086a2103200e200b200a71220b6a29000042808182848890a0c0807f832204500d000b0b200e20047aa7410376200b6a200a7122036a2c0000220b417f4c0d00200e200e29030042808182848890a0c0807f837aa741037622036a2d0000210b0b200e20036a2011a741ff0071220c3a0000200e200341786a200a716a41086a200c3a0000200e410020036b41306c6a220341506a2018360200200341706a200d360200200341746a200f360200200341786a200d3602002003417c6a41013602002002200228021441016a36021420022002280210200b4101716b360210200341586a220a41106a200841106a290000370000200a41086a200841086a290000370000200a2008290000370000200341546a20173602000c010b0240200e200c6a2203417c6a220b280200220a4101480d00200b200a41016a360200200d450d01200f41002802a8bfd38000118080808000000c010b0240200341706a220c280200450d00200341746a28020041002802a8bfd3800011808080800000200b280200210a0b200c200d360200200341786a200d360200200341746a200f360200200b200a41016a3602000b410021032006417f6a22060d000b0b2000200241086a41c80010e9968080001a20024190016a2480808080000f0b418893c18000108a81808000000b4101200d41f087c1800010ae80808000000b4101410141f491c1800010ae80808000000bb10201037f2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000bb00101047f23808080800041106b22022480808080002000280200220041046a28020021032000280200210041012104200128021c41c0c4c080004101200128022028020c118180808000002105200241003a000d200220053a000c20022001360208200241086a2000200020036a10a3828080002101024020022d000c0d002001280200220128021c41c1c4c080004101200128022028020c1181808080000021040b200241106a24808080800020040bc10301047f2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff01714101742205418d96c080006a2d00003a000220022005418c96c080006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe0171418d96c080006a2d00003a00000b2001410141014100200220036a410320036b10e38080800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000b140020012000280200200028020410e5808080000b8c0101037f024020034108490d00200020002003410376220341306c22046a2000200341d4006c22056a200310b48280800021002001200120046a200120056a200310b48280800021012002200220046a200220056a200310b48280800021020b200020022001200028020022032001280200220449220520042002280200220649731b20052003200649731b0bef08010a7f2000200028020c22032000280200220449410c6c6a2205200041244118200028022420002802184922061b6a22072000200320044f410c6c6a220320004118412420061b6a220428020020032802004922061b200728020020052802004922081b2209280200210a20042003200720081b20061b220b280200210c200241086a2007200520081b220741086a280200360200200220072902003702002002200b2009200c200a4922071b220529020037020c200241146a200541086a280200360200200241206a2009200b20071b220741086a280200360200200220072902003702182002412c6a2003200420061b220341086a280200360200200241246a22072003290200370200200041306a220341184124200028025420002802484922051b6a22042003200028023c2206200028023022084f410c6c6a220020034124411820051b6a2205200528020020032006200849410c6c6a22032802004922061b200428020020002802004922081b2209280200210a20032005200020081b20061b220b280200210c200241386a2005200320061b220541086a280200360200200241306a220320052902003702002002413c6a2009200b200a200c4922051b2206290200370200200241c4006a200641086a280200360200200241c8006a200b200920051b2205290200370200200241d0006a200541086a280200360200200241d4006a22052000200420081b2200290200370200200241dc006a200041086a28020036020020012003200220032802002204200228020022064922001b2208290200370200200141086a200841086a280200360200200120072005200528020022082007280200220949220b1b220a290200370254200141dc006a200a41086a280200360200200120032000410c6c6a22002002200420064f410c6c6a2202200028020022042002280200220649220a1b220329020037020c200141146a200341086a2802003602002001200741744100200b1b6a2207200541744100200820094f1b6a220320032802002205200728020022084922091b220b290200370248200141d0006a200b41086a28020036020020012000200a410c6c6a22002002200420064f410c6c6a2202200028020022042002280200220649220b1b220a290200370218200141206a200a41086a280200360200200120074174410020091b6a2207200341744100200520084f1b6a2203200328020022082007280200220949220a1b220529020037023c200141c4006a200541086a28020036020020012000200b410c6c6a22052002200420064f410c6c6a2202200528020022042002280200220649220b1b22002902003702242001412c6a200041086a2802003602002001200741744100200a1b6a2200200341744100200820094f1b6a2207200728020022092000280200220a4922031b2208290200370230200141386a200841086a280200360200024002402002200420064f410c6c6a20004174410020031b6a410c6a470d002005200b410c6c6a2007417441002009200a4f1b6a410c6a460d010b108581808000000b0bd00103047f017e017f02402002417f6a20014f0d00024020022001460d0020002001410c6c6a210420002002410c6c22056a21060340024020062802002207200641746a2802004f0d00200629020421082005210202400340200020026a2201200141746a2209290200370200200141086a200941086a28020036020002402002410c470d00200021020c020b200241746a21022007200141686a280200490d000b200020026a21020b20022008370204200220073602000b2005410c6a21052006410c6a22062004470d000b0b0f0b000b860b020f7f017e23808080800041106b22052480808080000240024020014102490d00024002400240200141106a20034b0d00200141017621062001410f4b0d010240200141074d0d002002200041244118200028022420002802184922071b6a22032000200028020c22082000280200220949410c6c6a220a2003280200200a28020049220b1b220c290200370200200241086a200c41086a280200360200200220004118412420071b6a220c2000200820094f410c6c6a22072003200b1b200c28020020072802004922081b2209200a2003200720081b200b1b22032009280200200328020049220a1b220b29020037020c200241146a200b41086a280200360200200241206a20032009200a1b220341086a280200360200200220032902003702182002412c6a2007200c20081b220341086a2802003602002002200329020037022420002006410c6c220d6a2203411841242003280224200328021849220a1b6a220b2003200328020c220c200328020022084f410c6c6a2207200341244118200a1b6a220a200a2802002003200c200849410c6c6a220c2802004922081b200b28020020072802004922091b220e280200210f200c200a200720091b20081b221028020021112002200d6a220341086a200a200c20081b220a41086a2802003602002003200a2902003702002003200e2010200f201149220a1b220c29020037020c200341146a200c41086a280200360200200341206a2010200e200a1b220a41086a2802003602002003200a2902003702182003412c6a2007200b20091b220741086a28020036020020032007290200370224410421120c030b20022000290200370200200241086a200041086a28020036020020022006410c6c22036a2207200020036a2203290200370200200741086a200341086a280200360200410121120c020b000b2000200220022001410c6c6a220310b58280800020002006410c6c22076a200220076a200341e0006a10b582808000410821120b2005410236020c20052006ad4220863703002012410c6c210b200120066b2113410021034102210c03402005200341016a22073602082003410274210a2007210302402012201320062005200a6a28020022071b220f4f0d0020002007410c6c22036a2111410c210e200220036a220d2110201221090340200d2009410c6c22076a2203201120076a22072902002214370200200341086a200741086a28020036020002402014a72208200341746a2802004f0d0020032902042114200e210a20102107024003402007200b6a2203200341746a220c290200370200200341086a200c41086a2802003602000240200b200a470d00200d21030c020b200a410c6a210a200741746a21072008200341686a280200490d000b2007200b6a21030b20032014370204200320083602000b200e41746a210e2010410c6a2110200941016a2209200f470d000b20052802082103200528020c210c0b200c2003470d000b20002001410c6c41746a22036a210b200220036a210a20022006410c6c6a220341746a210703402000200320022003280200220c200228020022084922091b220e290200370200200041086a200e41086a280200360200200b2007200a200a280200220e2007280200221049220d1b220f290200370200200b41086a200f41086a280200360200200b41746a210b2000410c6a2100200741744100200d1b6a2107200a41744100200e20104f1b6a210a2002200c20084f410c6c6a210220032009410c6c6a21032006417f6a22060d000b2007410c6a210702402001410171450d002000200220032002200749220b1b220c290200370200200041086a200c41086a2802003602002003200220074f410c6c6a21032002200b410c6c6a21020b20022007470d012003200a410c6a470d010b200541106a2480808080000f0b108581808000000bac0905047f017e027f017e087f23808080800041f0046b220324808080800041002104200341003602ac03200320023602a803200320013602a403200341b0036a200341a4036a109b8280800020032802b403210520032d00b103210642818080800821070240024002400240024020032d00b0032208417d6a0e03000002010b410121040b410321094200210a0240024002400240024002400240024020080e050901020002090b410121060b428080808008210720032802ac03220b41016a20024b0d062005410171220c0d010c040b428080808008210720032802ac03220d41016a20024b0d052005410171220e0d010c020b0240200b20024f0d002001200b6a2d00004110490d030c050b200b2002419494c1800010f580808000000b0240200d20024f0d002001200d6a2d00004110490d010c040b200d200241b494c1800010f580808000000b2005410176200e6a200d6a220f20032802a80322084b0d012003200f3602ac030240024020040d00200341106a200341a4036a10a98280800020032802100d03428180808008210720032802ac03221020032802146a221120032802a8034b0d04410421090c010b4281808080082107200f41206a221120084b0d03410421094201210a200f21100b0c030b2005410176200c6a200b6a221220032802a80322084b0d00201241026a220520084b0d00200320053602ac03024002400240024002402012417d4b0d00200520024b0d01200120126a2f0000220f450d05410221092006410171450d04024020040d00200341086a200341a4036a10a98280800020032802080d0620032802ac032205200328020c6a220420032802a8034b0d06410021090c040b201241226a220420084d0d020c050b2012200541a494c1800010ac81808000000b2005200241a494c1800010aa81808000000b410121090b200320043602ac032004ad4220862005ad8421070b200341023602e404200341023602d804200341023602cc04200341023602c004200341023602b404200341023602a8042003410236029c0420034102360290042003410236028404200341023602f803200341023602ec03200341023602e003200341023602d403200341023602c803200341023602bc03200341023602b00341002104200341b0036a210803400240200f200441ffff037176410171450d002003200341a4036a10a98280800020032802000d0220032802ac03220d2003280204220e6a220520032802a8034b0d02200841086a2005360200200841046a200d3602002008200e412047360200200320053602ac030b2008410c6a2108200441016a22044110470d000b20032802bc03210e20032802b803210f20032802b403210d20032802b0032111200341f4016a200341c0036a41b00110e9968080001a200742ffffffff0f83210a2007422088a721100c020b42818080800821070b20004107360200200020073702040c010b2003200e3602342003200f3602302003200d36022c200320113602282003200936021c20032010ad422086200a84370220200341386a200341f4016a41b00110e9968080001a2003200c3602f001200320123602ec012003200b3602e80120002003411c6a2001200210d3968080000b200341f0046a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41b495c1800010b8918080002004280208220542cae6f2fb85e3bae83e3703002005410036023020054280808080c0003703282005410036022020054100360218200541c980808000360210200542d6f7deeeeacdfbfd1437030820042802042106200428020821070240200128020822082001280200470d00200141a495c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b840603047f017e037f23808080800041c0006b22012480808080002001410c6a41186a41e895c18000411341fb95c1800041184104410010c7918080002001410036022020014280808080c00037021841002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d00200241bb8080800036021820024289d0e6adc0e7a38d463703102002428bfa8ea7fac390de25370308200241023602042002419396c18000360200200141086a200141186a220341086a2802003602002001200329020037030020012802242104200129022821052001410c6a41086a410036020020014280808080800137020c2001410c6a41b495c1800010b891808000200128021022034289d0e6adc0e7a38d463703082003428bfa8ea7fac390de25370300200141306a41086a220641013602002003420437022c200342023702242003419396c180003602202003410936021c200341ac96c18000360218200341bb808080003602102001200129020c370330024002402006280200220620012802302207460d0020012802342208200641386c6a2203420437022c200342133702242003419996c180003602202003410436021c2003419596c18000360218200341ca8080800036021020034296e397c6bfa5aeee46370308200342aceff0b4f2bd8f8fe4003703000c010b200141306a41b495c1800010b89180800020012802342208200641386c6a2203420437022c200342133702242003419996c180003602202003410436021c2003419596c18000360218200341ca8080800036021020034296e397c6bfa5aeee46370308200342aceff0b4f2bd8f8fe400370300200128023021070b2004418080808078460d012000410136024c20002002360248200041013602442000200537023c200020043602382000200836020820002007360204200041003a0000200020012903003702502000200641016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000f0b4108412010b980808000000b41c495c18000411141d895c18000108b81808000000ba40501067f23808080800041c0006b2201248080808000200141063602102001419b99c1800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d002002419b99c18000360200200241046a4106360200419b99c18000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236022c200141d0c5cb800036022820014201370234200141b980808000ad4220862001410c6aad843703182001200141186a360230200141286a41e0c5cb800010f280808000000b200341c980808000360218200342d6f7deeeeacdfbfd14370310200342cae6f2fb85e3bae83e37030820034101360204200341a199c18000360200200141286a41086a410036020020014280808080c000370228200141286a41a495c1800010af96808000200128022c220442808080808001370200200141186a41086a22054101360200200441003a00202004410436021c200441a299c180003602182004420437021020044200370208200120012902283703182001410c6a200141186a41a699c18000410410b98280800020012802142106200128021021042001200128020c3602302001200436022820012004200641246c6a3602342001200436022c200141186a200141286a41b497c1800010c1828080002000410136024c2000200336024820004101360244200141336a200528020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129021837002b20002001290028370001200041086a2001412f6a290000370000200141c0006a2480808080000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10bc8280800020052802084101470d0120052802102102200528020c21060b20062002419c9ac1800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041cb80808000360218200042e6a4b28ff3d5fccd54370310200042c2a4ccf0dfd9dcf66a370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041ca8080800036021820004296e397c6bfa5aeee46370310200042aceff0b4f2bd8f8fe400370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41246e2107200128020821010c010b0240200420066b220841246e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a410020074104412410bd828080002003280208210a200328020c21090b200a200941246c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000b800904027f017e037f017e23808080800041d0006b2201248080808000200141306a41c39ac18000410d41ac9ac1800041174104410010c791808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a22044100360200200142808080808001370218200141186a41b495c1800010b891808000200128021c22054284d8dde1abe5b282977f370308200542e78cf08ea884e486dd00370300200141c0006a41086a220641013602002005420437022c20054212370224200541d397c180003602202005410f36021c200541c497c18000360218200541cd80808000360210200120012902183703400240200628020022062001280240470d00200141c0006a41b495c1800010b8918080000b2001280244200641386c6a2205420437022c20054218370224200541f897c180003602202005411336021c200541e597c18000360218200541ce80808000360210200542af96ecdbe9fb9e904e370308200542a2c0e39bcbb28788543703002004200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41b495c1800010b8918080000b200128021c200641386c6a2205420437022c20054223370224200541a398c180003602202005411336021c2005419098c18000360218200541cf80808000360210200542b3e0dee59fb1ee889d7f370308200542e4d9dfe3cecb8ae96b370300200141c0006a41086a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41b495c1800010b8918080000b2001280244200641386c6a2205420437022c20054203370224200541e198c180003602202005411b36021c200541c698c18000360218200541b380808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141186a41086a200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41b495c1800010b8918080000b200128021c200641386c6a2205420437022c20054218370224200541f298c180003602202005410e36021c200541e498c18000360218200541b380808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141c8006a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41b495c1800010b8918080000b2001280244200641386c6a2205420437022c200542083702242005419399c180003602202005410936021c2005418a99c18000360218200541d080808000360210200542aa86bdf2eecaaab2fd00370308200542e799b0dd8fb894deba7f37030002402002418080808078470d0041c495c18000411141d895c18000108b81808000000b20012802442105200128024021042000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041003a0000200020012903083702502000200641016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41c09bc1800010b8918080002004280208220542938999d482a589cd373703002005410036023020054280808080c0003703282005410036022020054100360218200541d180808000360210200542a69ef7cf85b1b9b00837030820042802042106200428020821070240200128020822082001280200470d00200141b09bc1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b960301037f02400240024020002802002202280200220041c000490d00200041808001490d012000418080808004490d0202402001280200220320012802082200470d0020012000410110fc9080800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410fc9080800020012802042104200128020821000b2001200041046a360208200420006a20023600000f0b200041027421020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b2000410274410172210202402001280200200128020822006b41014b0d0020012000410210fc90808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b2000410274410272210202402001280200200128020822006b41034b0d0020012000410410fc90808000200128020821000b2001200041046a360208200128020420006a20023600000bba0501047f23808080800041306b220124808080800020014108360204200141f4a1c1800036020041002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241f4a1c18000360200200241046a410836020041f4a1c18000410810bc91808000450d0141002d00b8bfd380001a41c00041002802b0bfd380001182808080000022030d02410841c00010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236020c200141d0c5cb800036020820014201370214200141b980808000ad4220862001ad843703202001200141206a360210200141086a41e0c5cb800010f280808000000b200341d280808000360238200342f38fe0e88aedd39166370330200342f9eaf9a5c4a49ececb0037032820034101360224200341fda1c18000360220200341bb8080800036021820034289d0e6adc0e7a38d463703102003428bfa8ea7fac390de2537030820034101360204200341fca1c1800036020020014100360210200142808080808001370208200141086a41c09bc1800010b891808000200128020c220442b99ff2c1bfbfb5de847f3703002004410036023020044280808080c0003703282004410036022020044100360218200441d380808000360210200442f2b7f8f891f78fe375370308200128020c210420012001280208360210200120043602082001200441386a3602142001200436020c200141206a200141086a41cc9ec1800010d2828080002000410236024c2000200336024820004102360244200141136a200141206a41086a28020036000020002002ad4280808080108437023c20004101360238200041003a00002000410036025820004280808080c0003703502001200129022037000b20002001290008370001200041086a2001410f6a290000370000200141306a2480808080000bf50503047f017e017f23808080800041c0006b22012480808080002001410c6a41186a418ea3c18000411641eba2c1800041184104410010c7918080002001410036022020014280808080c00037021841002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d00200241b380808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc133703082002410b36020420024183a3c18000360200200141086a200141186a220341086a2802003602002001200329020037030020012802242104200129022821052001410c6a41086a410036020020014280808080800137020c2001410c6a41c09bc1800010b8918080002001280210220342d7c9cb8fc1cf97db3e370308200342e88488d0c0e3aebc13370300200141306a41086a220641013602002003420437022c2003420b370224200341999dc180003602202003410736021c200341929dc18000360218200341b3808080003602102001200129020c3703300240200628020022032001280230470d00200141306a41c09bc1800010b8918080000b2001280234200341386c22066a2203420437022c2003420f370224200341be9dc180003602202003410336021c200341bb9dc18000360218200341d48080800036021020034296e397c6bfa5aeee46370308200342aceff0b4f2bd8f8fe40037030020012802342103200120012802303602142001200336020c2001200320066a41386a36021820012003360210200141306a2001410c6a41cc9ec1800010d2828080002004418080808078460d012000410136024c2000200236024820004101360244200141176a200141306a41086a2802003600002000200537023c20002004360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b41d09bc18000411141e49bc18000108b81808000000be50904047f017e027f017e23808080800041d0006b2201248080808000200141306a41fea1c1800041064184a2c18000411b4104410010c7918080002001410036022c20014280808080c00037022441002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d002002410036023820024104360224200241a5a2c18000360220200241b380808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc13370308200241063602042002419fa2c18000360200200141086a41086a200141246a220341086a280200360200200120032902003703082001280230210420012902342105200141186a41086a22064100360200200142808080808001370218200141186a41c09bc1800010b891808000200128021c22034282a1a9c9eea2b5c92f3703082003428ae6f3f7c78ea4cfd100370300200141c0006a41086a220741013602002003420437022c2003420c370224200341fe9bc180003602202003410b36021c200341b19cc18000360218200341b480808000360210200120012902183703400240200728020022072001280240470d00200141c0006a41c09bc1800010b8918080000b2001280244200741386c6a2203420437022c20034206370224200341909cc180003602202003410636021c2003418a9cc18000360218200341d580808000360210200342c4fac092d1a1b49e887f37030820034290bb95eeb18dc1e7533703002006200741016a2207360200200120012903402208370318024020072008a7470d00200141186a41c09bc1800010b8918080000b200128021c200741386c6a2203420437022c2003420c370224200341fe9bc180003602202003410a36021c200341f49bc18000360218200341b48080800036021020034282a1a9c9eea2b5c92f3703082003428ae6f3f7c78ea4cfd100370300200141c0006a41086a200741016a2207360200200120012903182208370340024020072008a7470d00200141c0006a41c09bc1800010b8918080000b2001280244200741386c6a2203420437022c2003420c370224200341fe9bc180003602202003410f36021c200341a29cc18000360218200341b48080800036021020034282a1a9c9eea2b5c92f3703082003428ae6f3f7c78ea4cfd100370300200141186a41086a200741016a2203360200200120012903402208370318024020032008a7470d00200141186a41c09bc1800010b8918080000b200128021c200341386c22076a2203420437022c200342063702242003419c9cc180003602202003410636021c200341969cc18000360218200341d680808000360210200342ad9ddbeab5be8e9d0537030820034281f5a5a9fb86eaf153370300200128021c210320012001280218360220200120033602182001200320076a41386a3602242001200336021c200141c0006a200141186a41cc9ec1800010d2828080002004418080808078460d012000410236024c2000200236024820004102360244200141236a200141c0006a41086a2802003600002000200537023c20002004360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000f0b410841c00010b980808000000b41d09bc18000411141e49bc18000108b81808000000bf50503047f017e017f23808080800041c0006b22012480808080002001410c6a41186a41d9a2c18000411241eba2c1800041184104410010c7918080002001410036022020014280808080c00037021841002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d00200241b380808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc133703082002410b36020420024183a3c18000360200200141086a200141186a220341086a2802003602002001200329020037030020012802242104200129022821052001410c6a41086a410036020020014280808080800137020c2001410c6a41c09bc1800010b8918080002001280210220342d7c9cb8fc1cf97db3e370308200342e88488d0c0e3aebc13370300200141306a41086a220641013602002003420437022c2003420b370224200341999dc180003602202003410736021c200341929dc18000360218200341b3808080003602102001200129020c3703300240200628020022032001280230470d00200141306a41c09bc1800010b8918080000b2001280234200341386c22066a2203420437022c20034213370224200341a89dc180003602202003410436021c200341a49dc18000360218200341d48080800036021020034296e397c6bfa5aeee46370308200342aceff0b4f2bd8f8fe40037030020012802342103200120012802303602142001200336020c2001200320066a41386a36021820012003360210200141306a2001410c6a41cc9ec1800010d2828080002004418080808078460d012000410136024c2000200236024820004101360244200141176a200141306a41086a2802003600002000200537023c20002004360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b41d09bc18000411141e49bc18000108b81808000000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b380808000360218200042d7c9cb8fc1cf97db3e370310200042e88488d0c0e3aebc13370308200041063a00000beb0804047f017e027f017e23808080800041d0006b2201248080808000200141306a41a9a2c18000411741c0a2c1800041174104410010c7918080002001410036022c20014280808080c00037022441002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d00200241b380808000360238200242d7c9cb8fc1cf97db3e370330200242e88488d0c0e3aebc1337032820024101360224200241d8a2c18000360220200241b48080800036021820024282a1a9c9eea2b5c92f3703102002428ae6f3f7c78ea4cfd10037030820024101360204200241d7a2c18000360200200141086a41086a200141246a220341086a280200360200200120032902003703082001280230210420012902342105200141186a41086a22064100360200200142808080808001370218200141186a41c09bc1800010b891808000200128021c220342aa86bdf2eecaaab2fd00370308200342e799b0dd8fb894deba7f370300200141c0006a41086a220741013602002003420437022c20034208370224200341fb9cc180003602202003410b36021c200341f09cc18000360218200341d080808000360210200120012902183703400240200728020022072001280240470d00200141c0006a41c09bc1800010b8918080000b2001280244200741386c6a2203420437022c20034201370224200341ef9cc180003602202003411336021c200341dc9cc18000360218200341b380808000360210200342d7c9cb8fc1cf97db3e370308200342e88488d0c0e3aebc133703002006200741016a2207360200200120012903402208370318024020072008a7470d00200141186a41c09bc1800010b8918080000b200128021c200741386c6a2203420437022c20034201370224200341db9cc180003602202003411936021c200341c29cc18000360218200341b48080800036021020034282a1a9c9eea2b5c92f3703082003428ae6f3f7c78ea4cfd100370300200141c8006a200741016a2203360200200120012903182208370340024020032008a7470d00200141c0006a41c09bc1800010b8918080000b2001280244200341386c22076a2203420437022c200342033702242003418f9dc180003602202003410c36021c200341839dc18000360218200341b380808000360210200342d7c9cb8fc1cf97db3e370308200342e88488d0c0e3aebc133703002001280244210320012001280240360220200120033602182001200320076a41386a3602242001200336021c200141c0006a200141186a41cc9ec1800010d2828080002004418080808078460d012000410236024c2000200236024820004102360244200141236a200141c0006a41086a2802003600002000200537023c20002004360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000f0b410841c00010b980808000000b41d09bc18000411141e49bc18000108b81808000000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10cb8280800020052802084101470d0120052802102102200528020c21060b200620024198a4c1800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041d78080800036021820004294c29986b0dca3dc70370310200042b99993b1cc9fe695ad7f370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041d880808000360218200042affda997b2b19dd51f370310200042aabe96f18781829517370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041d980808000360218200042a9febaf6b3f3eacdb37f370310200042a4b0f7a3a6ae9bf8aa7f370308200041023a00000bb10401047f23808080800041306b220124808080800020014106360214200141a8a4c1800036021041002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241a8a4c18000360200200241046a410636020041a8a4c18000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236021c200141d0c5cb800036021820014201370224200141b980808000ad422086200141106aad8437030020012001360220200141186a41e0c5cb800010f280808000000b200341d180808000360218200342a69ef7cf85b1b9b008370310200342938999d482a589cd3737030820034101360204200341aea4c18000360200200141186a41086a410036020020014280808080c000370218200141186a41b09bc1800010af96808000200128021c220442808080808001370200200141086a4101360200200441003a00202004410436021c200441afa4c18000360218200442043702102004420037020820012001290218370300200141186a200141b3a4c18000410410c3828080002000410136024c200020033602482000410136024420002002ad4280808080108437023c200041013602382000410036025820004280808080c0003703502000200128022036020c20002001290218370204200041013a0000200141306a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41386e2107200128020821010c010b0240200420066b220841386e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108413810cc828080002003280208210a200328020c21090b200a200941386c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b4105762107200128020821010c010b0240200420066b2208410576220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108412010cc828080002003280208210a200328020c21090b200a20094105746a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb60501087f23808080800041106b220224808080800041002d00b8bfd380001a024002400240410441002802b0bfd38000118280808000002203450d002002410036020c200220033602082002410436020441002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d0120032001290000370000200341186a2204200141186a290000370000200341106a2205200141106a290000370000200341086a2206200141086a290000370000200241046a4100412010fc9080800020022802082207200228020c22086a22092003290000370000200941086a2006290000370000200941106a2005290000370000200941186a20042900003700002002200841206a220936020c200341002802a8bfd3800011808080800000200128022021030240200228020420096b41034b0d00200241046a2009410410fc9080800020022802082107200228020c21090b200720096a20033600002002200941046a220936020c41002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d022003200141246a2201290000370000200341186a2205200141186a290000370000200341106a2206200141106a290000370000200341086a2208200141086a29000037000002402002280204220420096b411f4b0d00200241046a2009412010fc908080002002280204210420022802082107200228020c21090b200720096a22012003290000370000200141186a2005290000370000200141106a2006290000370000200141086a2008290000370000200341002802a8bfd380001180808080000020002007200941206a4100280288bfd380001185808080000002402004450d00200741002802a8bfd38000118080808000000b200241106a2480808080000f0b4101410441a0a5c1800010ae80808000000b4101412010b980808000000b4101412010b980808000000b820904027f017e037f017e23808080800041d0006b2201248080808000200141306a41b0a5c18000411541c5a5c1800041254104410010c791808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a22044100360200200142808080808001370218200141186a41c09bc1800010b891808000200128021c220542f5e2b59ac8e0d9f8cf00370308200542c5beb08de1b3c5bb40370300200141c0006a41086a220641013602002005420437022c20054217370224200541eb9ec180003602202005410f36021c200541dc9ec18000360218200541da80808000360210200120012902183703400240200628020022062001280240470d00200141c0006a41c09bc1800010b8918080000b2001280244200641386c6a2205420437022c20054215370224200541939fc180003602202005411136021c200541829fc18000360218200541db80808000360210200542d494acf4edddeaf221370308200542d4cfdcf3d480b9d8e8003703002004200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41c09bc1800010b8918080000b200128021c200641386c6a2205420437022c2005421b370224200541b99fc180003602202005411136021c200541a89fc18000360218200541dc80808000360210200542dbffe9f4cea3c89be100370308200542d4eac2a0b0cb8380df00370300200141c0006a41086a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41c09bc1800010b8918080000b2001280244200641386c6a2205420437022c20054229370224200541e79fc180003602202005411336021c200541d49fc18000360218200541dd80808000360210200542a1f6f9e6d3d3b59e563703082005428d8ef1be99e8cff279370300200141186a41086a200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41c09bc1800010b8918080000b200128021c200641386c6a2205420437022c20054210370224200541a8a0c180003602202005411836021c20054190a0c18000360218200541de80808000360210200542fac8d9a8ffc7afa6ed00370308200542ffae8aa1c6f3abf2ae7f370300200141c8006a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41c09bc1800010b8918080000b2001280244200641386c6a2205420437022c20054216370224200541c8a0c180003602202005411036021c200541b8a0c18000360218200541df808080003602102005429da7fde2c1caf7b55d370308200542a4dce7f8a4f1d7ad817f37030002402002418080808078470d0041d09bc18000411141e49bc18000108b81808000000b20012802442105200128024021042000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041003a0000200020012903083702502000200641016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000be20203027f017e037f23808080800041306b2201248080808000200141246a41eaa5c18000411141c5a5c1800041254104410010c791808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41c09bc1800010b89180800020012802102205428ae6f3f7c78ea4cfd1003703002005420437022c20054209370224200541dea0c1800036022020054100360218200541b48080800036021020054282a1a9c9eea2b5c92f37030802402004418080808078470d0041d09bc18000411141e49bc18000108b81808000000b200128020c2105200128021021062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200636020820002005360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000ba30101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141e4a1c1800010d3828080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041e080808000360218200042cdd38ed9dd96f0b9ee00370310200042b392dae5cf95cf8545370308200041023a0000200141106a2480808080000b910201027f23808080800041106b220124808080800041002d00b8bfd380001a0240413041002802b0bfd38000118280808000002202450d00200241d280808000360228200241bb8080800036021020024289d0e6adc0e7a38d463703082002428bfa8ea7fac390de25370300200242f38fe0e88aedd39166370320200242f9eaf9a5c4a49ececb00370318200142888080808001370200200142808080808001370208200041c4006a200141e4a1c1800010d3828080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000410236020c2000200236020820004102360204200041043a0000200141106a2480808080000f0b4108413010b980808000000bab0201037f23808080800041206b22032480808080004100210402400240200241046a22054100480d00024020050d00410121040c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022040d01410121040b2004200541e4a6c1800010ae80808000000b20034100360214200320043602102003200536020c200320023602182003200341186a36021c2003411c6a2003410c6a10c4828080000240200328020c200328021422056b20024f0d002003410c6a2005200210fc90808000200328021421050b200328021020056a2001200210e9968080001a200328020c2101200020032802102204200520026a4100280288bfd380001185808080000002402001450d00200441002802a8bfd38000118080808000000b200341206a2480808080000bd20503067f017e017f23808080800041c0006b2201248080808000200141246a41f4a6c18000410a41fea6c1800041204104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d0020024100360238200241013602242002419fa7c18000360220200241cc80808000360218200242dbd791d5c2919eaecd00370310200242e6ed8d82cc91adcb05370308200241013602042002419ea7c1800036020020014102360238200120023602302001200241c0006a36023c200120023602342001410c6a200141306a41cc9ec1800010d382808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c2104200128021021052001280214210620012902282107200128022421082001410036021420014280808080800137020c2001410c6a41c09bc1800010b8918080002001280210220242aceff0b4f2bd8f8fe4003703002002420437022c20024206370224200241bc9cc1800036022020024100360218200241d48080800036021020024296e397c6bfa5aeee46370308200128021021022001200128020c3602142001200236020c2001200241386a36021820012002360210200141306a2001410c6a41cc9ec1800010d2828080002008418080808078460d01200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41e4a1c1800010d382808000200141176a200141306a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b41d09bc18000411141e49bc18000108b81808000000b08001080808080000bcc0602077f017e23808080800041c0006b2203248080808000410021042003410036022020034280808080c0003702180240024002402002450d0041d50a21050240034002402003280218220620046b2002200520022005491b22074f0d00024002400240200720046a220441aad5aad5004d0d00410021030c010b2004410c6c21084100210902402006450d002003200328021c36023020032006410c6c360238410421090b20032009360234200341246a41042008200341306a10e18a80800020032802244101470d01200328022c2105200328022821030b200320054188a8c1800010ae80808000000b2003200328022836021c200320043602180b02400240024002402005450d00200341106a200110c4838080004101210620032802100d022003280214210441012105410121060c010b200328022021040c020b0340200341246a2001200410dd828080002003280224418080808078460d01200341306a41086a2206200341246a41086a280200360200200320032902243703300240200328022022042003280218470d00200341186a4198a8c1800010ed8a8080000b200328021c2004410c6c6a22092003290330370200200941086a20062802003602002003200441016a220436022020072005460d02200341086a200110c48380800020052007492106200328020c2104200541016a21052003280208450d000b0b200328022021042006410171450d0002402004450d00200328021c21012004410171210641002107024020044101460d002004417e7121042001210541002107034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b02402005410c6a280200450d00200541106a28020041002802a8bfd38000118080808000000b200541186a21052004200741026a2207470d000b0b2006450d0020012007410c6c6a2205280200450d00200528020441002802a8bfd38000118080808000000b2003280218450d02200328021c41002802a8bfd38000118080808000000c020b20042105200220076b22020d000b20032802182205418080808078460d00200329021c210a0c020b20004180808080783602000c020b200329021c210a410021050b2000200a370204200020053602000b200341c0006a2480808080000bc80303047f017e077f23808080800041206b22032480808080000240024002400240024020012802082204200128021022056b2002490d00024020020d0041002106420121070c040b200128020421084180800121094100210a4101210b41002106024003402002200920022009491b220c200a6a210902402006200a6b200c4f0d004100210d0240024020094100480d004100210d02402006450d002003200636021c2003200b3602144101210d0b2003200d360218200341086a41012009200341146a10e18a80800020032802084101470d012003280210210e200328020c210d0b200d200e4188a8c1800010ae80808000000b200328020c210b200921060b200420056b200c490d012005200c6a220d2005490d03200d20044b0d04200b200a6a200820056a200c10e9968080001a2001200d360210200d21052009210a2002200c6b22020d000b2006418080808078460d012009ad422086200bad8421070c040b2006450d00200b41002802a8bfd38000118080808000000b20004180808080783602000c030b2005200d41a8c8ca800010ac81808000000b200d200441a8c8ca800010aa81808000000b20002007370204200020063602000b200341206a2480808080000b800602087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b3062105024003402001417f200128020422062002200520022005491b220741146c6a220820082006491b220636020402400240200620012802084f0d0002402003280208220620046b20074f0d00024002400240200420076a220441e6cc99334d0d00410021030c010b200441146c21094100210802402006450d002003200328020c3602282003200641146c360230410421080b2003200836022c200341146a41042009200341286a10e18a80800020032802144101470d01200328021c2105200328021821030b200320054188a8c1800010ae80808000000b2003200328021836020c200320043602080b2005450d01200341146a200110dc8d80800020032d00144105460d002007417f6a210a410021050340200341286a41106a2208200341146a41106a280200360200200341286a41086a2209200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a4198a8c1800010f5958080000b200328020c200441146c6a22062003290328370200200641086a2009290300370200200641106a20082802003602002003200441016a360210200a2005460d02200341146a200110dc8d808000200541016a210520032d00144105470d000b200520074f0d010b024020032802102204450d00200328020c21050340024020052d0000220641034b0d002005200641027441b8a8c180006a2802006a2206280200450d00200641046a28020041002802a8bfd38000118080808000000b200541146a21052004417f6a22040d000b0b2003280208450d02200328020c41002802a8bfd38000118080808000000c020b200328021022042105200220076b22020d000b20032802082205418080808078460d00200329020c210b0c020b20004180808080783602000c020b200329020c210b410021050b2000200b370204200020053602000b200341c0006a2480808080000bbd0502077f017e23808080800041b0046b2203248080808000410021042003410036020c2003428080808080023702040240024002402002450d00413c21050240034002402003280204220620046b2002200520022005491b22074f0d00024002400240200720046a220441f8f0e1034d0d00410021030c010b20044190026c21084100210902402006450d00200320032802083602a002200320064190026c3602a802411021090b200320093602a402200341106a41102008200341a0026a10e18a80800020032802104101470d0120032802182105200328021421030b200320054188a8c1800010ae80808000000b20032003280214360208200320043602040b02402005450d00200341106a200110ba8a808000024020032903104205510d002007417f6a2106410021050340200341a0026a200341106a41900210e9968080001a0240200328020c22042003280204470d00200341046a4198a8c1800010f18a8080000b200328020820044190026c6a200341a0026a41900210e9968080001a2003200441016a36020c20062005460d02200341106a200110ba8a808000200541016a210520032903104205520d000b200520074f0d010b0240200328020c2204450d0020032802082105034002402005290300427e7c220a420354200a420152710d00200541306a2d000041ff01714102470d00200541346a280200450d00200541386a28020041002802a8bfd38000118080808000000b200541a0016a10c28b80800020054190026a21052004417f6a22040d000b0b2003280204450d02200328020841002802a8bfd38000118080808000000c020b200328020c22042105200220076b22020d000b20032802042205418080808078460d002003290208210a0c020b20004180808080783602000c020b2003290208210a410021050b2000200a370204200020053602000b200341b0046a2480808080000bed0304047f017e057f017e23808080800041206b220324808080800002400240024020012802002204280208220541046a2802002002490d00024020020d0041002106420121070c020b418080012108410021094101210a41002106024003402001417f2001280204220b2002200820022008491b220c6a22082008200b491b2208360204200820012802084f0d010240200620096b200c4f0d00410021050240024002402009200c6a220820094f0d000c010b20084100480d004100210502402006450d002003200636021c2003200a360214410121050b20032005360218200341086a41012008200341146a10e18a80800020032802084101470d012003280210210b200328020c21050b2005200b4188a8c1800010ae80808000000b200328020c210a20042802082105200821060b20052802042208200c490d01200a20096a2005280200220b200c10e9968080001a20052008200c6b3602042005200b200c6a3602002004427f20042903002207200cad7c220d200d2007541b370300200c20096a220921082002200c6b22020d000b2006418080808078460d012009ad422086200aad8421070c020b2006450d00200a41002802a8bfd38000118080808000000b20004180808080783602000c010b20002007370204200020063602000b200341206a2480808080000bf30602097f017e23808080800041d0006b22032480808080002003410036022420034280808080c00037021c024002400240024002402002450d0041aa0521044100210503402001417f200128020422062002200420022004491b220741186c6a220820082006491b2206360204200620012802084f0d030240200328021c220620056b20074f0d00024002400240200520076a220541d5aad52a4d0d00410021030c010b200541186c21094100210802402006450d00200320032802203602442003200641186c36024c410421080b20032008360248200341386a41042009200341c4006a10e18a80800020032802384101470d0120032802402101200328023c21030b200320014188a8c1800010ae80808000000b2003200328023c3602202003200536021c0b024002402004450d0041002104410121060340200341106a200110c5838080000240024020032802100d00200341386a2001200328021410e08280800020032802382208418080808078460d002003280240210a200328023c2109200341086a200110c583808000024020032802080d00200341c4006a2001200328020c10e0828080002003280244418080808078470d020b2008450d00200941002802a8bfd38000118080808000000b200328022421052006410171450d030c070b200341286a41086a220b200341c4006a41086a28020036020020032003290244370328024020032802242206200328021c470d002003411c6a4198a8c1800010da928080000b2003280220200641186c6a2205200a36020820052009360204200520083602002005200329032837020c200541146a200b2802003602002003200641016a2205360224200441016a2204200749210620072004470d000c020b0b200328022421050b20052104200220076b22020d000b200328021c2201418080808078460d032003290220210c0c010b2003290220210c410021010b2000200c370204200020013602000c020b02402005450d0020032802202101034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b02402001410c6a280200450d00200141106a28020041002802a8bfd38000118080808000000b200141186a21012005417f6a22050d000b0b200328021c450d00200328022041002802a8bfd38000118080808000000b20004180808080783602000b200341d0006a2480808080000bc605030f7f037e017f23808080800041c0006b2203248080808000410021042003410036020c20034280808080103702040240024002402002450d0020012802042105200128020021064180042107410121080240034002402003280204220920046b2002200720022007491b220a4f0d004100210b02400240200a20046a220c410574220d4100480d004100210402402009450d002003200836021020032009410574360218410121040b20032004360214200341346a4101200d200341106a10e18a80800020032802344101470d01200328023c210e2003280238210b0b200b200e4188a8c1800010ae80808000000b2003200328023822083602082003200c3602040b02402007450d00024002402005411f4d0d00200a417f6a210f200328020c2210410574210d200541606a220941057641016a211141002104034020012009220536020420012006220741206a2206360200200741086a2900002112200741106a290000211320072900002114200341106a41186a220c200741186a290000370300200341106a41106a220b2013370300200341106a41086a220e2012370300200320143703100240201020046a22152003280204470d00200341046a4198a8c1800010e28a808000200328020821080b2008200d6a22092003290310370000200941186a200c290300370000200941106a200b290300370000200941086a200e2903003700002003201541016a36020c200f2004460d02200541606a2109200d41206a210d2011200441016a2204470d000b2004200a4f0d010b2003280204450d03200841002802a8bfd38000118080808000000c030b200741206a21060b200328020c220421072002200a6b22020d000b20032802042207418080808078460d00200329020821120c020b20004180808080783602000c020b20032902082112410021070b20002012370204200020073602000b200341c0006a2480808080000bd80502087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b30621050240034002402003280208220620046b2002200520022005491b22074f0d00024002400240200720046a220441e6cc99334d0d00410021030c010b200441146c21084100210902402006450d002003200328020c3602282003200641146c360230410421090b2003200936022c200341146a41042008200341286a10e18a80800020032802144101470d01200328021c2105200328021821030b200320054188a8c1800010ae80808000000b2003200328021836020c200320043602080b02402005450d00200341146a200110df8d808000024020032d00144105460d002007417f6a210a410021050340200341286a41106a2209200341146a41106a280200360200200341286a41086a2208200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a4198a8c1800010f5958080000b200328020c200441146c6a22062003290328370200200641086a2008290300370200200641106a20092802003602002003200441016a360210200a2005460d02200341146a200110df8d808000200541016a210520032d00144105470d000b200520074f0d010b024020032802102204450d00200328020c21050340024020052d0000220641034b0d002005200641027441b8a8c180006a2802006a2206280200450d00200641046a28020041002802a8bfd38000118080808000000b200541146a21052004417f6a22040d000b0b2003280208450d02200328020c41002802a8bfd38000118080808000000c020b200328021022042105200220076b22020d000b20032802082205418080808078460d00200329020c210b0c020b20004180808080783602000c020b200329020c210b410021050b2000200b370204200020053602000b200341c0006a2480808080000ba90303057f017e037f23808080800041206b220324808080800041002104024002400240417f2001280208220541086a280200200541106a2802006b2205410020012802042206200128020c6b2207200720064b1b6a220620062005491b2002490d00024020020d00420121080c020b418080012107410021054101210941002104024003400240200420056b2002200720022007491b22064f0d004100210a024002400240200520066a220720054f0d000c010b20074100480d004100210a02402004450d002003200436021c200320093602144101210a0b2003200a360218200341086a41012007200341146a10e18a80800020032802084101470d012003280210210b200328020c210a0b200a200b4188a8c1800010ae80808000000b200328020c2109200721040b2001200920056a200610bc838080000d01200620056a22052107200220066b22020d000b2004418080808078460d012005ad4220862009ad8421080c020b2004450d00200941002802a8bfd38000118080808000000b20004180808080783602000c010b20002008370204200020043602000b200341206a2480808080000bf30602097f017e23808080800041d0006b22032480808080002003410036022420034280808080c00037021c024002400240024002402002450d0041aa0521044100210503402001417f200128020422062002200420022004491b220741186c6a220820082006491b2206360204200620012802084f0d030240200328021c220620056b20074f0d00024002400240200520076a220541d5aad52a4d0d00410021030c010b200541186c21094100210802402006450d00200320032802203602442003200641186c36024c410421080b20032008360248200341386a41042009200341c4006a10e18a80800020032802384101470d0120032802402101200328023c21030b200320014188a8c1800010ae80808000000b2003200328023c3602202003200536021c0b024002402004450d0041002104410121060340200341106a200110c2838080000240024020032802100d00200341386a2001200328021410e68280800020032802382208418080808078460d002003280240210a200328023c2109200341086a200110c283808000024020032802080d00200341c4006a2001200328020c10e6828080002003280244418080808078470d020b2008450d00200941002802a8bfd38000118080808000000b200328022421052006410171450d030c070b200341286a41086a220b200341c4006a41086a28020036020020032003290244370328024020032802242206200328021c470d002003411c6a4198a8c1800010da928080000b2003280220200641186c6a2205200a36020820052009360204200520083602002005200329032837020c200541146a200b2802003602002003200641016a2205360224200441016a2204200749210620072004470d000c020b0b200328022421050b20052104200220076b22020d000b200328021c2201418080808078460d032003290220210c0c010b2003290220210c410021010b2000200c370204200020013602000c020b02402005450d0020032802202101034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b02402001410c6a280200450d00200141106a28020041002802a8bfd38000118080808000000b200141186a21012005417f6a22050d000b0b200328021c450d00200328022041002802a8bfd38000118080808000000b20004180808080783602000b200341d0006a2480808080000b9e0404047f017e077f017e23808080800041206b22032480808080000240024002400240024020012802002204280208220541086a280200200541106a2802006b2002490d00024020020d0041002106420121070c040b418080012108410021094101210a41002106024003402001417f2001280204220b2002200820022008491b220c6a22082008200b491b2208360204200820012802084f0d01200c20096a21080240200620096b200c4f0d00410021050240024020084100480d004100210502402006450d002003200636021c2003200a360214410121050b20032005360218200341086a41012008200341146a10e18a80800020032802084101470d012003280210210b200328020c21050b2005200b4188a8c1800010ae80808000000b200328020c210a20042802082105200821060b2005280208220d2005280210220b6b200c490d01200b200c6a220e200b490d03200e200d4b0d04200a20096a2005280204200b6a200c10e9968080001a2005200e3602102004427f20042903002207200cad7c220f200f2007541b370300200821092002200c6b22020d000b2006418080808078460d012008ad422086200aad8421070c040b2006450d00200a41002802a8bfd38000118080808000000b20004180808080783602000c030b200b200e41a8c8ca800010ac81808000000b200e200d41a8c8ca800010aa81808000000b20002007370204200020063602000b200341206a2480808080000b8406020d7f027e23808080800041c0006b2203248080808000410021042003410036020c20034280808080103702040240024002402002450d00200128020021052001280204210620012802082107418004210841012109024003402001417f20062002200820022008491b220a4105746a220b200b2006491b22063602042003280204210b02400240024020062007490d00200b210c0c010b02400240200b20046b200a490d00200b210c0c010b4100210d024002402004200a6a220c410574220e4100480d00410021040240200b450d00200320093602102003200b410574360218410121040b20032004360214200341346a4101200e200341106a10e18a80800020032802344101470d01200328023c210f2003280238210d0b200d200f4188a8c1800010ae80808000000b2003200328023822093602082003200c3602040b024002402008450d002005280208220b28020422084120490d02200a417f6a210f4100210c0c010b200328020c21040c020b0340200b200841606a360204200b200b280200220841206a3602002005427f2005290300221042207c221120112010541b370300200341106a41086a2204200841086a290000370300200341106a41106a220e200841106a290000370300200341106a41186a220d200841186a290000370300200320082900003703100240200328020c220b2003280204470d00200341046a4198a8c1800010e28a8080000b20032802082209200b4105746a22082003290310370000200841086a2004290300370000200841106a200e290300370000200841186a200d2903003700002003200b41016a220436020c200f200c460d02200c41016a210c2005280208220b280204220841204f0d000b200c200a4f0d012003280204210c0b200c450d02200941002802a8bfd38000118080808000000c020b200421082002200a6b22020d000b20032802042208418080808078460d00200329020821100c020b20004180808080783602000c020b20032902082110410021080b20002010370204200020083602000b200341c0006a2480808080000b8606020d7f027e23808080800041a0086b2203248080808000410021042003410036021020034280808080103702080240024002402002450d002001280200210520012802042106200128020821074101210841102109024003402001417f20062002200920022009491b220a410a746a220b200b2006491b22063602042003280208210b0240024002400240024020062007490d00200b210c0c010b02400240200b20046b200a490d00200b210c0c010b4100210d024002402004200a6a220c410a74220e4100480d00410021040240200b450d00200320083602142003200b410a7436021c410121040b2003200436021820034194086a4101200e200341146a10e18a8080002003280294084101470d01200328029c08210f200328029808210d0b200d200f4188a8c1800010ae80808000000b2003200328029808220836020c2003200c3602080b024002402009450d0020052802082209280208220e2009280210220b6b418008490d02200941106a210d200a417f6a210f4100210c0c010b200328021021040c040b0340200b4180086a2104200b41ff774b0d022004200e4b0d0320092802042109200d20043602002005427f200529030022104280087c221120112010541b370300200341146a2009200b6a41800810e9968080001a0240200328021022092003280208470d00200341086a4198a8c1800010ee8a8080000b200328020c22082009410a746a200341146a41800810e9968080001a2003200941016a2204360210200f200c460d04200c41016a210c2005280208220941106a210d2009280208220e2009280210220b6b4180084f0d000b200c200a4f0d032003280208210c0b200c450d04200841002802a8bfd38000118080808000000c040b200b200441a8c8ca800010ac81808000000b2004200e41a8c8ca800010aa81808000000b200421092002200a6b22020d000b20032802082209418080808078460d00200329020c21100c020b20004180808080783602000c020b200329020c2110410021090b20002010370204200020093602000b200341a0086a2480808080000bc406020e7f017e2380808080004190016b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d00200341ed006a21054191022106024003400240200328020c220720046b2002200620022006491b22084f0d00024002400240200820046a220441a2c488114d0d00410021030c010b2004413c6c21094100210a02402007450d002003200328021036025820032007413c6c3602604104210a0b2003200a36025c200341186a41042009200341d8006a10e18a80800020032802184101470d0120032802202106200328021c21030b200320064188a8c1800010ae80808000000b2003200328021c3602102003200436020c0b02402006450d00410021044101210702400340200128020422064104490d0120012006417c6a36020420012001280200220641046a3602002006280000210a200341d8006a200110a98480800020032d006c22094102460d01200341c0006a41106a220b200341d8006a41106a280200360200200341c0006a41086a220c200341d8006a41086a290200370300200341186a41086a220d200541086a290000370300200341186a41106a220e200541106a290000370300200341186a41186a220f200541186a290000370300200341186a411f6a22102005411f6a2800003600002003200329025837034020032005290000370318024020032802142207200328020c470d002003410c6a4198a8c180001097828080000b20032802102007413c6c6a220620032903403702042006200a360200200620093a0018200620032903183700192006410c6a200c290300370200200641146a200b280200360200200641216a200d290300370000200641296a200e290300370000200641316a200f290300370000200641386a20102800003600002003200741016a360214200441016a2204200849210720082004470d000c020b0b2007410171450d00200328020c450d02200328021041002802a8bfd38000118080808000000c020b200328021422042106200220086b22020d000b200328020c2206418080808078460d00200329021021110c020b20004180808080783602000c020b20032902102111410021060b20002011370204200020063602000b20034190016a2480808080000bba0602077f017e23808080800041306b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d004180082105024003402001417f200128020422062002200520022005491b22074104746a220820082006491b220636020402400240200620012802084f0d0002402003280204220620046b20074f0d00024002400240200420076a220441ffffff3f4d0d00410021030c010b200441047421094100210802402006450d002003200328020836022041042108200320064104743602280b20032008360224200341106a41042009200341206a10e18a80800020032802104101470d0120032802182105200328021421030b200320054188a8c1800010ae80808000000b20032003280214360208200320043602040b2005450d01200341106a200110c98a8080002003280210418080808078460d002007417f6a2109410021050340200341206a41086a2206200341106a41086a290200370300200320032902103703200240200328020c22042003280204470d00200341046a4198a8c1800010e88a8080000b200328020820044104746a22082003290320370200200841086a20062903003702002003200441016a36020c20092005460d02200341106a200110c98a808000200541016a21052003280210418080808078470d000b200520074f0d010b0240200328020c2205450d00200328020821082005410171210141002104024020054101460d002005417e7121062008210541002104034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b0240200541106a280200450d00200541146a28020041002802a8bfd38000118080808000000b200541206a21052006200441026a2204470d000b0b2001450d00200820044104746a2205280200450d00200528020441002802a8bfd38000118080808000000b2003280204450d02200328020841002802a8bfd38000118080808000000c020b200328020c22042105200220076b22020d000b20032802042205418080808078460d002003290208210a0c020b20004180808080783602000c020b2003290208210a410021050b2000200a370204200020053602000b200341306a2480808080000bd80502087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b30621050240034002402003280208220620046b2002200520022005491b22074f0d00024002400240200720046a220441e6cc99334d0d00410021030c010b200441146c21084100210902402006450d002003200328020c3602282003200641146c360230410421090b2003200936022c200341146a41042008200341286a10e18a80800020032802144101470d01200328021c2105200328021821030b200320054188a8c1800010ae80808000000b2003200328021836020c200320043602080b02402005450d00200341146a200110da8d808000024020032d00144105460d002007417f6a210a410021050340200341286a41106a2209200341146a41106a280200360200200341286a41086a2208200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a4198a8c1800010f5958080000b200328020c200441146c6a22062003290328370200200641086a2008290300370200200641106a20092802003602002003200441016a360210200a2005460d02200341146a200110da8d808000200541016a210520032d00144105470d000b200520074f0d010b024020032802102204450d00200328020c21050340024020052d0000220641034b0d002005200641027441b8a8c180006a2802006a2206280200450d00200641046a28020041002802a8bfd38000118080808000000b200541146a21052004417f6a22040d000b0b2003280208450d02200328020c41002802a8bfd38000118080808000000c020b200328021022042105200220076b22020d000b20032802082205418080808078460d00200329020c210b0c020b20004180808080783602000c020b200329020c210b410021050b2000200b370204200020053602000b200341c0006a2480808080000bf70602077f017e23808080800041c0006b2203248080808000410021042003410036022020034280808080c0003702180240024002402002450d0041d50a2105024003402001417f200128020422062002200520022005491b2207410c6c6a220820082006491b220636020402400240200620012802084f0d0002402003280218220620046b20074f0d00024002400240200420076a220441aad5aad5004d0d00410021030c010b2004410c6c21094100210802402006450d002003200328021c36023020032006410c6c360238410421080b20032008360234200341246a41042009200341306a10e18a80800020032802244101470d01200328022c2105200328022821030b200320054188a8c1800010ae80808000000b2003200328022836021c200320043602180b0240024002402005450d00200341106a200110c2838080004101210620032802100d022003280214210441012105410121060c010b200328022021040c030b0340200341246a2001200410e6828080002003280224418080808078460d01200341306a41086a2206200341246a41086a280200360200200320032902243703300240200328022022042003280218470d00200341186a4198a8c1800010ed8a8080000b200328021c2004410c6c6a22082003290330370200200841086a20062802003602002003200441016a220436022020072005460d03200341086a200110c28380800020052007492106200328020c2104200541016a21052003280208450d000b0b200328022021042006410171450d010b02402004450d00200328021c21062004410171210841002101024020044101460d002004417e7121072006210541002101034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b02402005410c6a280200450d00200541106a28020041002802a8bfd38000118080808000000b200541186a21052007200141026a2201470d000b0b2008450d0020062001410c6c6a2205280200450d00200528020441002802a8bfd38000118080808000000b2003280218450d02200328021c41002802a8bfd38000118080808000000c020b20042105200220076b22020d000b20032802182205418080808078460d00200329021c210a0c020b20004180808080783602000c020b200329021c210a410021050b2000200a370204200020053602000b200341c0006a2480808080000ba70602077f017e23808080800041f0016b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d004192012105024003402001417f200128020422062002200520022005491b220741f0006c6a220820082006491b220636020402400240200620012802084f0d0002402003280204220620046b20074f0d00024002400240200420076a220441c9a492094d0d00410021030c010b200441f0006c21094100210802402006450d0020032003280208360280012003200641f0006c36028801410421080b2003200836028401200341106a4104200920034180016a10e18a80800020032802104101470d0120032802182105200328021421030b200320054188a8c1800010ae80808000000b20032003280214360208200320043602040b2005450d01200341106a200110ec838080002003280210418080808078460d002007417f6a210641002105034020034180016a200341106a41f00010e9968080001a0240200328020c22042003280204470d00200341046a4198a8c1800010eb8a8080000b2003280208200441f0006c6a20034180016a41f00010e9968080001a2003200441016a36020c20062005460d02200341106a200110ec83808000200541016a21052003280210418080808078470d000b200520074f0d010b0240200328020c2207450d002003280208210841002102034002402008200241f0006c6a22062802082204450d00200628020421050340024020052d0000220141034b0d002005200141027441b8a8c180006a2802006a2201280200450d00200141046a28020041002802a8bfd38000118080808000000b200541146a21052004417f6a22040d000b0b02402006280200450d00200628020441002802a8bfd38000118080808000000b200241016a22022007470d000b0b2003280204450d02200328020841002802a8bfd38000118080808000000c020b200328020c22042105200220076b22020d000b20032802042205418080808078460d002003290208210a0c020b20004180808080783602000c020b2003290208210a410021050b2000200a370204200020053602000b200341f0016a2480808080000ba005020c7f027e2380808080004190106b22032480808080002003410036020c20034280808080103702040240024002402002450d002001280200210420012802042105200128020821064110210741002108024003402001417f20052002200720022007491b2209410a746a220a200a2005491b220536020402400240200520064f0d0002402003280204220a20086b20094f0d004100210b02400240200820096a220c410a74220d4100480d00410021080240200a450d0020032003280208360290082003200a410a7436029808410121080b2003200836029408200341106a4101200d20034190086a10e18a80800020032802104101470d012003280218210e2003280214210b0b200b200e4188a8c1800010ae80808000000b200320032802143602082003200c3602040b2007450d0120034190086a410041800810eb968080001a200428020820034190086a41800810bc838080000d002009417f6a210a4100210703402004427f2004290300220f4280087c22102010200f541b370300200341106a20034190086a41800810e9968080001a0240200328020c22082003280204470d00200341046a4198a8c1800010ee8a8080000b20032802082008410a746a200341106a41800810e9968080001a2003200841016a36020c200a2007460d0220034190086a410041800810eb968080001a200741016a2107200428020820034190086a41800810bc83808000450d000b200720094f0d010b2003280204450d02200328020841002802a8bfd38000118080808000000c020b200328020c22082107200220096b22020d000b20032802042204418080808078460d002003290208210f0c020b20004180808080783602000c020b2003290208210f410021040b2000200f370204200020043602000b20034190106a2480808080000b9706020f7f027e23808080800041d0006b2203248080808000410021042003410036020c20034280808080103702040240024002402002450d002001280200210520012802042106200128020821074180042108200341306a41186a2109200341306a41106a210a200341306a41086a210b024003402001417f20062002200820022008491b220c4105746a220d200d2006491b220636020402400240200620074f0d0002402003280204220d20046b200c4f0d004100210e024002402004200c6a220f41057422104100480d00410021040240200d450d00200320032802083602302003200d410574360238410121040b20032004360234200341106a41012010200341306a10e18a80800020032802104101470d01200328021821112003280214210e0b200e20114188a8c1800010ae80808000000b200320032802143602082003200f3602040b2008450d0120094200370300200a4200370300200b4200370300200342003703302005280208200341306a412010bc838080000d00200c417f6a21114100210403402005427f2005290300221242207c221320132012541b370300200341106a41086a2210200b290300370300200341106a41106a220f200a290300370300200341106a41186a220e2009290300370300200320032903303703100240200328020c220d2003280204470d00200341046a4198a8c1800010e28a8080000b2003280208200d4105746a22082003290310370000200841086a2010290300370000200841106a200f290300370000200841186a200e2903003700002003200d41016a36020c20112004460d0220094200370300200a4200370300200b420037030020034200370330200441016a21042005280208200341306a412010bc83808000450d000b2004200c4f0d010b2003280204450d02200328020841002802a8bfd38000118080808000000c020b200328020c220421082002200c6b22020d000b20032802042208418080808078460d00200329020821120c020b20004180808080783602000c020b20032902082112410021080b20002012370204200020083602000b200341d0006a2480808080000b8708020a7f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c02400240024002402002450d00418008210503400240200328020c220620046b2002200520022005491b22074f0d00024002400240200720046a220441ffffff3f4d0d00410021010c010b200441047421084100210902402006450d0020032003280210360224410421092003200641047436022c0b20032009360228200341186a41042008200341246a10e18a80800020032802184101470d0120032802202104200328021c21010b200120044188a8c1800010ae80808000000b2003200328021c3602102003200436020c0b0240024002402005450d00410021064101210a0340200128020422054104490d0220012005417c6a220936020420012001280200220441046a3602002009450d022004280000210b20012005417b6a220c3602042001200441056a3602000240024002400240024020042d000422084103710e0400010302000b200841027621040c030b200c450d0520012005417a6a3602042001200441066a36020020042d00052204450d05200441087420087241027621040c020b200841044f0d0420094105490d042001200541776a3602042001200441096a360200200428000522044180808080044f0d010c040b20094104490d032001200541786a3602042001200441086a36020020042f0005200441076a2d0000411074722204418002490d03200441087420087241027621040b200341246a2001200410f18280800020032802242209418080808078460d022003290228210d024020032802142204200328020c470d002003410c6a4198a8c1800010e88a8080000b200328021020044104746a2205200b36020c2005200d370204200520093602002003200441016a2204360214200641016a2206200749210a20072006470d000c030b0b200328021421040c010b20032802142104200a410171450d0002402004450d00200328021021062004410171210941002105024020044101460d002004417e7121042006210141002105034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b0240200141106a280200450d00200141146a28020041002802a8bfd38000118080808000000b200141206a21012004200541026a2205470d000b0b2009450d00200620054104746a2201280200450d00200128020441002802a8bfd38000118080808000000b200328020c450d04200328021041002802a8bfd38000118080808000000c040b20042105200220076b22020d000b200328020c2201418080808078460d022003290210210d0c010b2003290210210d410021010b2000200d370204200020013602000c010b20004180808080783602000b200341306a2480808080000b9b0303037f017e077f23808080800041206b2203248080808000024002400240200128020422042002490d00024020020d0041002105420121060c020b20012802002107418080012108410021094101210a41002105024003400240200520096b2002200820022008491b220b4f0d004100210c0240024002402009200b6a220820094f0d000c010b20084100480d004100210c02402005450d002003200536021c2003200a3602144101210c0b2003200c360218200341086a41012008200341146a10e18a80800020032802084101470d012003280210210d200328020c210c0b200c200d4188a8c1800010ae80808000000b200328020c210a200821050b2004200b490d01200a20096a2007200b10e9968080001a20012004200b6b220436020420012007200b6a2207360200200b20096a220921082002200b6b22020d000b2005418080808078460d012009ad422086200aad8421060c020b2005450d00200a41002802a8bfd38000118080808000000b20004180808080783602000c010b20002006370204200020053602000b200341206a2480808080000beb0602077f027e23808080800041306b22032480808080002003410036021420034280808080c00037020c0240024002402002450d00418008210441002105024003402001417f200128020422062002200420022004491b22074104746a220820082006491b2206360204024002400240200620012802084f0d000240200328020c220620056b20074f0d00024002400240200520076a220541ffffff3f4d0d00410021030c010b200541047421094100210802402006450d0020032003280210360224410421082003200641047436022c0b20032008360228200341186a41042009200341246a10e18a80800020032802184101470d0120032802202101200328021c21030b200320014188a8c1800010ae80808000000b2003200328021c3602102003200536020c0b2004450d014100210441012106024003402003410036022420012802002205280208200341246a410410bc838080000d012005427f2005290300220a42047c220b200b200a541b370300200328022421082003200110c18380800020032802000d01200341246a2001200328020410f38280800020032802242209418080808078460d012003290228210a024020032802142205200328020c470d002003410c6a4198a8c1800010e88a8080000b200328021020054104746a2206200836020c2006200a370204200620093602002003200541016a2205360214200441016a2204200749210620072004470d000c040b0b200328021421052006410171450d020b02402005450d00200328021021062005410171210741002104024020054101460d002005417e7121052006210141002104034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b0240200141106a280200450d00200141146a28020041002802a8bfd38000118080808000000b200141206a21012005200441026a2204470d000b0b2007450d00200620044104746a2201280200450d00200128020441002802a8bfd38000118080808000000b200328020c450d03200328021041002802a8bfd38000118080808000000c030b200328021421050b20052104200220076b22020d000b200328020c2201418080808078460d002003290210210a0c020b20004180808080783602000c020b2003290210210a410021010b2000200a370204200020013602000b200341306a2480808080000bfb0304077f017e027f017e23808080800041206b220324808080800041002104024002400240417f200128020022052802082206280208220741086a280200200741106a2802006b2207410020062802042208200628020c6b2209200920084b1b6a220820082007491b2002490d00024020020d004201210a0c020b418080012109410021084101210b41002104024003402001417f2001280204220c2002200920022009491b22076a22092009200c491b2209360204200920012802084f0d010240200420086b20074f0d004100210c024002400240200820076a220920084f0d000c010b20094100480d004100210c02402004450d002003200436021c2003200b3602144101210c0b2003200c360218200341086a41012009200341146a10e18a80800020032802084101470d0120032802102106200328020c210c0b200c20064188a8c1800010ae80808000000b200328020c210b20052802082106200921040b2006200b20086a200710bc838080000d012005427f2005290300220a2007ad7c220d200d200a541b370300200720086a22082109200220076b22020d000b2004418080808078460d012008ad422086200bad84210a0c020b2004450d00200b41002802a8bfd38000118080808000000b20004180808080783602000c010b2000200a370204200020043602000b200341206a2480808080000bcc0602087f017e23808080800041c0006b2203248080808000200128020022042802082205200528020441016a220636020402400240200620052802084b0d00410021062003410036021020034280808080c000370208024002402002450d0041b3062105024003402001417f200128020422042002200520022005491b220741146c6a220820082004491b220436020402400240200420012802084f0d0002402003280208220420066b20074f0d00024002400240200620076a220641e6cc99334d0d00410021030c010b200641146c21094100210802402004450d002003200328020c3602282003200441146c360230410421080b2003200836022c200341146a41042009200341286a10e18a80800020032802144101470d01200328021c2105200328021821030b200320054188a8c1800010ae80808000000b2003200328021836020c200320063602080b2005450d01200341146a200110d98d80800020032d00144105460d002007417f6a210a410021050340200341286a41106a2208200341146a41106a280200360200200341286a41086a2209200341146a41086a290200370300200320032902143703280240200328021022062003280208470d00200341086a4198a8c1800010f5958080000b200328020c200641146c6a22042003290328370200200441086a2009290300370200200441106a20082802003602002003200641016a360210200a2005460d02200341146a200110d98d808000200541016a210520032d00144105470d000b200520074f0d010b024020032802102206450d00200328020c21050340024020052d0000220441034b0d002005200441027441b8a8c180006a2802006a2204280200450d00200441046a28020041002802a8bfd38000118080808000000b200541146a21052006417f6a22060d000b0b2003280208450d02200328020c41002802a8bfd38000118080808000000c020b200328021022062105200220076b22020d000b20032802082205418080808078460d00200329020c210b200128020021040c020b20004180808080783602000c030b200329020c210b410021050b2000200b37020420002005360200200428020822052005280204417f6a3602040c010b20004180808080783602000b200341c0006a2480808080000ba70602077f017e23808080800041f0016b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d004192012105024003402001417f200128020422062002200520022005491b220741f0006c6a220820082006491b220636020402400240200620012802084f0d0002402003280204220620046b20074f0d00024002400240200420076a220441c9a492094d0d00410021030c010b200441f0006c21094100210802402006450d0020032003280208360280012003200641f0006c36028801410421080b2003200836028401200341106a4104200920034180016a10e18a80800020032802104101470d0120032802182105200328021421030b200320054188a8c1800010ae80808000000b20032003280214360208200320043602040b2005450d01200341106a200110ef838080002003280210418080808078460d002007417f6a210641002105034020034180016a200341106a41f00010e9968080001a0240200328020c22042003280204470d00200341046a4198a8c1800010eb8a8080000b2003280208200441f0006c6a20034180016a41f00010e9968080001a2003200441016a36020c20062005460d02200341106a200110ef83808000200541016a21052003280210418080808078470d000b200520074f0d010b0240200328020c2207450d002003280208210841002102034002402008200241f0006c6a22062802082204450d00200628020421050340024020052d0000220141034b0d002005200141027441b8a8c180006a2802006a2201280200450d00200141046a28020041002802a8bfd38000118080808000000b200541146a21052004417f6a22040d000b0b02402006280200450d00200628020441002802a8bfd38000118080808000000b200241016a22022007470d000b0b2003280204450d02200328020841002802a8bfd38000118080808000000c020b200328020c22042105200220076b22020d000b20032802042205418080808078460d002003290208210a0c020b20004180808080783602000c020b2003290208210a410021050b2000200a370204200020053602000b200341f0016a2480808080000bfa0602087f027e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d004180082105024003402001417f200128020422062002200520022005491b22074104746a220820082006491b2206360204024002400240200620012802084f0d000240200328020c220620046b20074f0d00024002400240200420076a220441ffffff3f4d0d00410021030c010b200441047421094100210802402006450d0020032003280210360224410421082003200641047436022c0b20032008360228200341186a41042009200341246a10e18a80800020032802184101470d0120032802202104200328021c21030b200320044188a8c1800010ae80808000000b2003200328021c3602102003200436020c0b2005450d01410021064101210a0240034020012802002205280208220428020422084104490d0120042008417c6a36020420042004280200220841046a3602002005427f2005290300220b42047c220c200c200b541b370300200828000021082003200110c58380800020032802000d01200341246a2001200328020410e08280800020032802242209418080808078460d012003290228210b024020032802142204200328020c470d002003410c6a4198a8c1800010e88a8080000b200328021020044104746a2205200836020c2005200b370204200520093602002003200441016a2204360214200641016a2206200749210a20072006470d000c040b0b20032802142104200a410171450d020b02402004450d00200328021021062004410171210741002101024020044101460d002004417e7121052006210441002101034002402004280200450d00200441046a28020041002802a8bfd38000118080808000000b0240200441106a280200450d00200441146a28020041002802a8bfd38000118080808000000b200441206a21042005200141026a2201470d000b0b2007450d00200620014104746a2204280200450d00200428020441002802a8bfd38000118080808000000b200328020c450d03200328021041002802a8bfd38000118080808000000c030b200328021421040b20042105200220076b22020d000b200328020c2204418080808078460d002003290210210b0c020b20004180808080783602000c020b2003290210210b410021040b2000200b370204200020043602000b200341306a2480808080000b800602087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b3062105024003402001417f200128020422062002200520022005491b220741146c6a220820082006491b220636020402400240200620012802084f0d0002402003280208220620046b20074f0d00024002400240200420076a220441e6cc99334d0d00410021030c010b200441146c21094100210802402006450d002003200328020c3602282003200641146c360230410421080b2003200836022c200341146a41042009200341286a10e18a80800020032802144101470d01200328021c2105200328021821030b200320054188a8c1800010ae80808000000b2003200328021836020c200320043602080b2005450d01200341146a200110de8d80800020032d00144105460d002007417f6a210a410021050340200341286a41106a2208200341146a41106a280200360200200341286a41086a2209200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a4198a8c1800010f5958080000b200328020c200441146c6a22062003290328370200200641086a2009290300370200200641106a20082802003602002003200441016a360210200a2005460d02200341146a200110de8d808000200541016a210520032d00144105470d000b200520074f0d010b024020032802102204450d00200328020c21050340024020052d0000220641034b0d002005200641027441b8a8c180006a2802006a2206280200450d00200641046a28020041002802a8bfd38000118080808000000b200541146a21052004417f6a22040d000b0b2003280208450d02200328020c41002802a8bfd38000118080808000000c020b200328021022042105200220076b22020d000b20032802082205418080808078460d00200329020c210b0c020b20004180808080783602000c020b200329020c210b410021050b2000200b370204200020053602000b200341c0006a2480808080000b8708020a7f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c02400240024002402002450d00418008210503400240200328020c220620046b2002200520022005491b22074f0d00024002400240200720046a220441ffffff3f4d0d00410021010c010b200441047421084100210902402006450d0020032003280210360224410421092003200641047436022c0b20032009360228200341186a41042008200341246a10e18a80800020032802184101470d0120032802202104200328021c21010b200120044188a8c1800010ae80808000000b2003200328021c3602102003200436020c0b0240024002402005450d00410021064101210a0340200128020422054104490d0220012005417c6a220936020420012001280200220441046a3602002009450d022004280000210b20012005417b6a220c3602042001200441056a3602000240024002400240024020042d000422084103710e0400010302000b200841027621040c030b200c450d0520012005417a6a3602042001200441066a36020020042d00052204450d05200441087420087241027621040c020b200841044f0d0420094105490d042001200541776a3602042001200441096a360200200428000522044180808080044f0d010c040b20094104490d032001200541786a3602042001200441086a36020020042f0005200441076a2d0000411074722204418002490d03200441087420087241027621040b200341246a2001200410f18280800020032802242209418080808078460d022003290228210d024020032802142204200328020c470d002003410c6a4198a8c1800010e88a8080000b200328021020044104746a2205200b36020c2005200d370204200520093602002003200441016a2204360214200641016a2206200749210a20072006470d000c030b0b200328021421040c010b20032802142104200a410171450d0002402004450d00200328021021062004410171210941002105024020044101460d002004417e7121042006210141002105034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b0240200141106a280200450d00200141146a28020041002802a8bfd38000118080808000000b200141206a21012004200541026a2205470d000b0b2009450d00200620054104746a2201280200450d00200128020441002802a8bfd38000118080808000000b200328020c450d04200328021041002802a8bfd38000118080808000000c040b20042105200220076b22020d000b200328020c2201418080808078460d022003290210210d0c010b2003290210210d410021010b2000200d370204200020013602000c010b20004180808080783602000b200341306a2480808080000bbd0502077f017e23808080800041b0046b2203248080808000410021042003410036020c2003428080808080023702040240024002402002450d00413c21050240034002402003280204220620046b2002200520022005491b22074f0d00024002400240200720046a220441f8f0e1034d0d00410021030c010b20044190026c21084100210902402006450d00200320032802083602a002200320064190026c3602a802411021090b200320093602a402200341106a41102008200341a0026a10e18a80800020032802104101470d0120032802182105200328021421030b200320054188a8c1800010ae80808000000b20032003280214360208200320043602040b02402005450d00200341106a200110bb8a808000024020032903104205510d002007417f6a2106410021050340200341a0026a200341106a41900210e9968080001a0240200328020c22042003280204470d00200341046a4198a8c1800010f18a8080000b200328020820044190026c6a200341a0026a41900210e9968080001a2003200441016a36020c20062005460d02200341106a200110bb8a808000200541016a210520032903104205520d000b200520074f0d010b0240200328020c2204450d0020032802082105034002402005290300427e7c220a420354200a420152710d00200541306a2d000041ff01714102470d00200541346a280200450d00200541386a28020041002802a8bfd38000118080808000000b200541a0016a10c28b80800020054190026a21052004417f6a22040d000b0b2003280204450d02200328020841002802a8bfd38000118080808000000c020b200328020c22042105200220076b22020d000b20032802042205418080808078460d002003290208210a0c020b20004180808080783602000c020b2003290208210a410021050b2000200a370204200020053602000b200341b0046a2480808080000bc30702077f017e23808080800041c0006b2203248080808000200128020022042802082205200528020441016a220636020402400240200620052802084b0d00410021072003410036022020034280808080c000370218024002402002450d0041d50a2105024003402001417f200128020422042002200520022005491b2206410c6c6a220820082004491b220436020402400240200420012802084f0d0002402003280218220420076b20064f0d00024002400240200720066a220741aad5aad5004d0d00410021030c010b2007410c6c21094100210802402004450d002003200328021c36023020032004410c6c360238410421080b20032008360234200341246a41042009200341306a10e18a80800020032802244101470d01200328022c2105200328022821030b200320054188a8c1800010ae80808000000b2003200328022836021c200320073602180b0240024002402005450d00200341106a200110c3838080004101210420032802100d022003280214210741012105410121040c010b200328022021070c030b0340200341246a2001200710fb828080002003280224418080808078460d01200341306a41086a2204200341246a41086a280200360200200320032902243703300240200328022022072003280218470d00200341186a4198a8c1800010ed8a8080000b200328021c2007410c6c6a22082003290330370200200841086a20042802003602002003200741016a220736022020062005460d03200341086a200110c38380800020052006492104200328020c2107200541016a21052003280208450d000b0b200328022021072004410171450d010b02402007450d00200328021c21042007410171210841002101024020074101460d002007417e7121062004210541002101034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b02402005410c6a280200450d00200541106a28020041002802a8bfd38000118080808000000b200541186a21052006200141026a2201470d000b0b2008450d0020042001410c6c6a2205280200450d00200528020441002802a8bfd38000118080808000000b2003280218450d02200328021c41002802a8bfd38000118080808000000c020b20072105200220066b22020d000b20032802182205418080808078460d00200329021c210a200128020021040c020b20004180808080783602000c030b200329021c210a410021050b2000200a37020420002005360200200428020822052005280204417f6a3602040c010b20004180808080783602000b200341c0006a2480808080000bf50304047f017e067f017e23808080800041206b220324808080800002400240024020012802002204280208220528020041046a2802002002490d00024020020d0041002106420121070c020b418080012108410021094101210a41002106024003402001417f2001280204220b2002200820022008491b220c6a22082008200b491b2208360204200820012802084f0d010240200620096b200c4f0d004100210b0240024002402009200c6a220820094f0d000c010b20084100480d004100210b02402006450d002003200636021c2003200a3602144101210b0b2003200b360218200341086a41012008200341146a10e18a80800020032802084101470d012003280210210d200328020c210b0b200b200d4188a8c1800010ae80808000000b200328020c210a20042802082105200821060b20052802002208280204220b200c490d01200a20096a2008280200220d200c10e9968080001a2008200b200c6b3602042008200d200c6a3602002004427f20042903002207200cad7c220e200e2007541b370300200c20096a220921082002200c6b22020d000b2006418080808078460d012009ad422086200aad8421070c020b2006450d00200a41002802a8bfd38000118080808000000b20004180808080783602000c010b20002007370204200020063602000b200341206a2480808080000ba70602077f017e23808080800041f0016b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d004192012105024003402001417f200128020422062002200520022005491b220741f0006c6a220820082006491b220636020402400240200620012802084f0d0002402003280204220620046b20074f0d00024002400240200420076a220441c9a492094d0d00410021030c010b200441f0006c21094100210802402006450d0020032003280208360280012003200641f0006c36028801410421080b2003200836028401200341106a4104200920034180016a10e18a80800020032802104101470d0120032802182105200328021421030b200320054188a8c1800010ae80808000000b20032003280214360208200320043602040b2005450d01200341106a200110eb838080002003280210418080808078460d002007417f6a210641002105034020034180016a200341106a41f00010e9968080001a0240200328020c22042003280204470d00200341046a4198a8c1800010eb8a8080000b2003280208200441f0006c6a20034180016a41f00010e9968080001a2003200441016a36020c20062005460d02200341106a200110eb83808000200541016a21052003280210418080808078470d000b200520074f0d010b0240200328020c2207450d002003280208210841002102034002402008200241f0006c6a22062802082204450d00200628020421050340024020052d0000220141034b0d002005200141027441b8a8c180006a2802006a2201280200450d00200141046a28020041002802a8bfd38000118080808000000b200541146a21052004417f6a22040d000b0b02402006280200450d00200628020441002802a8bfd38000118080808000000b200241016a22022007470d000b0b2003280204450d02200328020841002802a8bfd38000118080808000000c020b200328020c22042105200220076b22020d000b20032802042205418080808078460d002003290208210a0c020b20004180808080783602000c020b2003290208210a410021050b2000200a370204200020053602000b200341f0016a2480808080000bbd0502077f017e23808080800041b0046b2203248080808000410021042003410036020c2003428080808080023702040240024002402002450d00413c21050240034002402003280204220620046b2002200520022005491b22074f0d00024002400240200720046a220441f8f0e1034d0d00410021030c010b20044190026c21084100210902402006450d00200320032802083602a002200320064190026c3602a802411021090b200320093602a402200341106a41102008200341a0026a10e18a80800020032802104101470d0120032802182105200328021421030b200320054188a8c1800010ae80808000000b20032003280214360208200320043602040b02402005450d00200341106a200110b98a808000024020032903104205510d002007417f6a2106410021050340200341a0026a200341106a41900210e9968080001a0240200328020c22042003280204470d00200341046a4198a8c1800010f18a8080000b200328020820044190026c6a200341a0026a41900210e9968080001a2003200441016a36020c20062005460d02200341106a200110b98a808000200541016a210520032903104205520d000b200520074f0d010b0240200328020c2204450d0020032802082105034002402005290300427e7c220a420354200a420152710d00200541306a2d000041ff01714102470d00200541346a280200450d00200541386a28020041002802a8bfd38000118080808000000b200541a0016a10c28b80800020054190026a21052004417f6a22040d000b0b2003280204450d02200328020841002802a8bfd38000118080808000000c020b200328020c22042105200220076b22020d000b20032802042205418080808078460d002003290208210a0c020b20004180808080783602000c020b2003290208210a410021050b2000200a370204200020053602000b200341b0046a2480808080000bc90702087f027e23808080800041306b2203248080808000200128020022042802082205200528020441016a220636020402400240200620052802084b0d00410021052003410036021420034280808080c00037020c024002402002450d004180082106024003402001417f200128020422042002200620022006491b22074104746a220820082004491b2204360204024002400240200420012802084f0d000240200328020c220420056b20074f0d00024002400240200520076a220541ffffff3f4d0d00410021030c010b200541047421094100210802402004450d0020032003280210360224410421082003200441047436022c0b20032008360228200341186a41042009200341246a10e18a80800020032802184101470d0120032802202105200328021c21030b200320054188a8c1800010ae80808000000b2003200328021c3602102003200536020c0b2006450d01410021044101210a0240034020012802002206280208280200220528020422084104490d0120052008417c6a36020420052005280200220841046a3602002006427f2006290300220b42047c220c200c200b541b370300200828000021082003200110c38380800020032802000d01200341246a2001200328020410fb8280800020032802242209418080808078460d012003290228210b024020032802142205200328020c470d002003410c6a4198a8c1800010e88a8080000b200328021020054104746a2206200836020c2006200b370204200620093602002003200541016a2205360214200441016a2204200749210a20072004470d000c040b0b20032802142105200a410171450d020b02402005450d00200328021021042005410171210741002101024020054101460d002005417e7121062004210541002101034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b0240200541106a280200450d00200541146a28020041002802a8bfd38000118080808000000b200541206a21052006200141026a2201470d000b0b2007450d00200420014104746a2205280200450d00200528020441002802a8bfd38000118080808000000b200328020c450d03200328021041002802a8bfd38000118080808000000c030b200328021421050b20052106200220076b22020d000b200328020c2205418080808078460d002003290210210b200128020021040c020b20004180808080783602000c030b2003290210210b410021050b2000200b37020420002005360200200428020822052005280204417f6a3602040c010b20004180808080783602000b200341306a2480808080000bf705020c7f027e23808080800041a0086b2203248080808000200128020022042802082205200528020441016a220636020402400240200620052802084b0d0041002107200341003602102003428080808010370208024002402002450d002001280204210820012802082109411021054101210a024003402001417f20082002200520022005491b220b410a746a220620062008491b22083602042003280208210602400240024020082009490d00200621070c010b02400240200620076b200b490d00200621070c010b4100210c024002402007200b6a2207410a74220d4100480d004100210c02402006450d002003200a36021420032006410a7436021c4101210c0b2003200c36021820034194086a4101200d200341146a10e18a8080002003280294084101470d01200328029c08210e200328029808210c0b200c200e4188a8c1800010ae80808000000b2003200328029808220a36020c200320073602080b024002402005450d0020042802082802002205280204220c418008490d02200b417f6a210d410021060c010b200328021021070c020b03402005200c4180786a36020420052005280200220c4180086a3602002004427f2004290300220f4280087c22102010200f541b370300200341146a200c41800810e9968080001a0240200328021022052003280208470d00200341086a4198a8c1800010ee8a8080000b200328020c220a2005410a746a200341146a41800810e9968080001a2003200541016a2207360210200d2006460d02200641016a210620042802082802002205280204220c4180084f0d000b2006200b4f0d01200328020821070b2007450d02200a41002802a8bfd38000118080808000000c020b200721052002200b6b22020d000b20032802082205418080808078460d00200329020c210f0c020b20004180808080783602000c030b200329020c210f410021050b2000200f37020420002005360200200428020822052005280204417f6a3602040c010b20004180808080783602000b200341a0086a2480808080000bc806020d7f027e23808080800041c0006b2203248080808000200128020022042802082205200528020441016a220636020402400240200620052802084b0d00410021072003410036020c2003428080808010370204024002402002450d00200128020421082001280208210941800421054101210a024003402001417f20082002200520022005491b220b4105746a220620062008491b22083602042003280204210602400240024020082009490d002006210c0c010b02400240200620076b200b490d002006210c0c010b4100210d024002402007200b6a220c410574220e4100480d004100210702402006450d002003200a36021020032006410574360218410121070b20032007360214200341346a4101200e200341106a10e18a80800020032802344101470d01200328023c210f2003280238210d0b200d200f4188a8c1800010ae80808000000b20032003280238220a3602082003200c3602040b024002402005450d002004280208280200220628020422054120490d02200b417f6a210f4100210c0c010b200328020c21070c020b03402006200541606a36020420062006280200220541206a3602002004427f2004290300221042207c221120112010541b370300200341106a41086a2207200541086a290000370300200341106a41106a220e200541106a290000370300200341106a41186a220d200541186a290000370300200320052900003703100240200328020c22062003280204470d00200341046a4198a8c1800010e28a8080000b2003280208220a20064105746a22052003290310370000200541086a2007290300370000200541106a200e290300370000200541186a200d2903003700002003200641016a220736020c200f200c460d02200c41016a210c20042802082802002206280204220541204f0d000b200c200b4f0d012003280204210c0b200c450d02200a41002802a8bfd38000118080808000000c020b200721052002200b6b22020d000b20032802042205418080808078460d00200329020821100c020b20004180808080783602000c030b20032902082110410021050b2000201037020420002005360200200428020822052005280204417f6a3602040c010b20004180808080783602000b200341c0006a2480808080000bcc0602077f017e23808080800041c0006b2203248080808000410021042003410036022020034280808080c0003702180240024002402002450d0041d50a21050240034002402003280218220620046b2002200520022005491b22074f0d00024002400240200720046a220441aad5aad5004d0d00410021030c010b2004410c6c21084100210902402006450d002003200328021c36023020032006410c6c360238410421090b20032009360234200341246a41042008200341306a10e18a80800020032802244101470d01200328022c2105200328022821030b200320054188a8c1800010ae80808000000b2003200328022836021c200320043602180b02400240024002402005450d00200341106a200110bf838080004101210620032802100d022003280214210441012105410121060c010b200328022021040c020b0340200341246a2001200410e4828080002003280224418080808078460d01200341306a41086a2206200341246a41086a280200360200200320032902243703300240200328022022042003280218470d00200341186a4198a8c1800010ed8a8080000b200328021c2004410c6c6a22092003290330370200200941086a20062802003602002003200441016a220436022020072005460d02200341086a200110bf8380800020052007492106200328020c2104200541016a21052003280208450d000b0b200328022021042006410171450d0002402004450d00200328021c21012004410171210641002107024020044101460d002004417e7121042001210541002107034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b02402005410c6a280200450d00200541106a28020041002802a8bfd38000118080808000000b200541186a21052004200741026a2207470d000b0b2006450d0020012007410c6c6a2205280200450d00200528020441002802a8bfd38000118080808000000b2003280218450d02200328021c41002802a8bfd38000118080808000000c020b20042105200220076b22020d000b20032802182205418080808078460d00200329021c210a0c020b20004180808080783602000c020b200329021c210a410021050b2000200a370204200020053602000b200341c0006a2480808080000bce0304067f017e037f017e23808080800041206b220324808080800041002104024002400240417f20012802082205280208220641086a280200200641106a2802006b2206410020052802042207200528020c6b2208200820074b1b6a220720072006491b2002490d00024020020d00420121090c020b20012903002109418080012108410021074101210a41002104024003400240200420076b2002200820022008491b22064f0d004100210b024002400240200720066a220820074f0d000c010b20084100480d004100210b02402004450d002003200436021c2003200a3602144101210b0b2003200b360218200341086a41012008200341146a10e18a80800020032802084101470d012003280210210c200328020c210b0b200b200c4188a8c1800010ae80808000000b200328020c210a200821040b2005200a20076a200610bc838080000d012001427f20092006ad7c220d200d2009541b2209370300200620076a22072108200220066b22020d000b2004418080808078460d012007ad422086200aad8421090c020b2004450d00200a41002802a8bfd38000118080808000000b20004180808080783602000c010b20002009370204200020043602000b200341206a2480808080000bf70602077f017e23808080800041c0006b2203248080808000410021042003410036022020034280808080c0003702180240024002402002450d0041d50a2105024003402001417f200128020422062002200520022005491b2207410c6c6a220820082006491b220636020402400240200620012802084f0d0002402003280218220620046b20074f0d00024002400240200420076a220441aad5aad5004d0d00410021030c010b2004410c6c21094100210802402006450d002003200328021c36023020032006410c6c360238410421080b20032008360234200341246a41042009200341306a10e18a80800020032802244101470d01200328022c2105200328022821030b200320054188a8c1800010ae80808000000b2003200328022836021c200320043602180b0240024002402005450d00200341106a200110c1838080004101210620032802100d022003280214210441012105410121060c010b200328022021040c030b0340200341246a2001200410f3828080002003280224418080808078460d01200341306a41086a2206200341246a41086a280200360200200320032902243703300240200328022022042003280218470d00200341186a4198a8c1800010ed8a8080000b200328021c2004410c6c6a22082003290330370200200841086a20062802003602002003200441016a220436022020072005460d03200341086a200110c18380800020052007492106200328020c2104200541016a21052003280208450d000b0b200328022021042006410171450d010b02402004450d00200328021c21062004410171210841002101024020044101460d002004417e7121072006210541002101034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b02402005410c6a280200450d00200541106a28020041002802a8bfd38000118080808000000b200541186a21052007200141026a2201470d000b0b2008450d0020062001410c6c6a2205280200450d00200528020441002802a8bfd38000118080808000000b2003280218450d02200328021c41002802a8bfd38000118080808000000c020b20042105200220076b22020d000b20032802182205418080808078460d00200329021c210a0c020b20004180808080783602000c020b200329021c210a410021050b2000200a370204200020053602000b200341c0006a2480808080000bfa0602087f027e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d004180082105024003402001417f200128020422062002200520022005491b22074104746a220820082006491b2206360204024002400240200620012802084f0d000240200328020c220620046b20074f0d00024002400240200420076a220441ffffff3f4d0d00410021030c010b200441047421094100210802402006450d0020032003280210360224410421082003200641047436022c0b20032008360228200341186a41042009200341246a10e18a80800020032802184101470d0120032802202104200328021c21030b200320044188a8c1800010ae80808000000b2003200328021c3602102003200436020c0b2005450d01410021064101210a0240034020012802002205280208220428020422084104490d0120042008417c6a36020420042004280200220841046a3602002005427f2005290300220b42047c220c200c200b541b370300200828000021082003200110c58380800020032802000d01200341246a2001200328020410e08280800020032802242209418080808078460d012003290228210b024020032802142204200328020c470d002003410c6a4198a8c1800010e88a8080000b200328021020044104746a2205200836020c2005200b370204200520093602002003200441016a2204360214200641016a2206200749210a20072006470d000c040b0b20032802142104200a410171450d020b02402004450d00200328021021062004410171210741002101024020044101460d002004417e7121052006210441002101034002402004280200450d00200441046a28020041002802a8bfd38000118080808000000b0240200441106a280200450d00200441146a28020041002802a8bfd38000118080808000000b200441206a21042005200141026a2201470d000b0b2007450d00200620014104746a2204280200450d00200428020441002802a8bfd38000118080808000000b200328020c450d03200328021041002802a8bfd38000118080808000000c030b200328021421040b20042105200220076b22020d000b200328020c2204418080808078460d002003290210210b0c020b20004180808080783602000c020b2003290210210b410021040b2000200b370204200020043602000b200341306a2480808080000bd80502087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b30621050240034002402003280208220620046b2002200520022005491b22074f0d00024002400240200720046a220441e6cc99334d0d00410021030c010b200441146c21084100210902402006450d002003200328020c3602282003200641146c360230410421090b2003200936022c200341146a41042008200341286a10e18a80800020032802144101470d01200328021c2105200328021821030b200320054188a8c1800010ae80808000000b2003200328021836020c200320043602080b02402005450d00200341146a200110dd8d808000024020032d00144105460d002007417f6a210a410021050340200341286a41106a2209200341146a41106a280200360200200341286a41086a2208200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a4198a8c1800010f5958080000b200328020c200441146c6a22062003290328370200200641086a2008290300370200200641106a20092802003602002003200441016a360210200a2005460d02200341146a200110dd8d808000200541016a210520032d00144105470d000b200520074f0d010b024020032802102204450d00200328020c21050340024020052d0000220641034b0d002005200641027441b8a8c180006a2802006a2206280200450d00200641046a28020041002802a8bfd38000118080808000000b200541146a21052004417f6a22040d000b0b2003280208450d02200328020c41002802a8bfd38000118080808000000c020b200328021022042105200220076b22020d000b20032802082205418080808078460d00200329020c210b0c020b20004180808080783602000c020b200329020c210b410021050b2000200b370204200020053602000b200341c0006a2480808080000bc70503097f017e017f23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c0240024002402002450d00200128020421052001280200210641d50a2107024003400240200328020c220820046b2002200720022007491b22094f0d00024002400240200920046a220441aad5aad5004d0d00410021030c010b2004410c6c210a4100210b02402008450d002003200328021036022420032008410c6c36022c4104210b0b2003200b360228200341186a4104200a200341246a10e18a80800020032802184101470d0120032802202106200328021c21030b200320064188a8c1800010ae80808000000b2003200328021c3602102003200436020c0b02402007450d00024020054108490d002001200541786a22073602042001200641086a22083602004101210402400240200741044f0d0020072105200821060c010b2006290000210c4101210402400240024003402004210820012007417c6a220536020420012006410c6a220d360200200641086a280000210b024020032802142204200328020c470d002003410c6a4198a8c1800010ed8a8080000b20032802102004410c6c6a220a200b360208200a200c3702002003200441016a360214024020092008460d0020054108490d022001200741746a22073602042001200641146a360200200841016a2104200629000c210c200d210620074104490d030c010b0b2007417c6a21052006410c6a21060c050b2006410c6a21060c010b200d41086a2106200721050b200820094921040b2004450d010b200328020c450d02200328021041002802a8bfd38000118080808000000c020b200328021422042107200220096b22020d000b200328020c2206418080808078460d002003290210210c0c020b20004180808080783602000c020b2003290210210c410021060b2000200c370204200020063602000b200341306a2480808080000bf30602077f017e23808080800041f0016b2203248080808000200128020022042802082205200528020441016a220636020402400240200620052802084b0d00410021062003410036020c20034280808080c000370204024002402002450d004192012105024003402001417f200128020422042002200520022005491b220741f0006c6a220820082004491b220436020402400240200420012802084f0d0002402003280204220420066b20074f0d00024002400240200620076a220641c9a492094d0d00410021030c010b200641f0006c21094100210802402004450d0020032003280208360280012003200441f0006c36028801410421080b2003200836028401200341106a4104200920034180016a10e18a80800020032802104101470d0120032802182105200328021421030b200320054188a8c1800010ae80808000000b20032003280214360208200320063602040b2005450d01200341106a200110ea838080002003280210418080808078460d002007417f6a210441002105034020034180016a200341106a41f00010e9968080001a0240200328020c22062003280204470d00200341046a4198a8c1800010eb8a8080000b2003280208200641f0006c6a20034180016a41f00010e9968080001a2003200641016a36020c20042005460d02200341106a200110ea83808000200541016a21052003280210418080808078470d000b200520074f0d010b0240200328020c2207450d002003280208210841002102034002402008200241f0006c6a22042802082206450d00200428020421050340024020052d0000220141034b0d002005200141027441b8a8c180006a2802006a2201280200450d00200141046a28020041002802a8bfd38000118080808000000b200541146a21052006417f6a22060d000b0b02402004280200450d00200428020441002802a8bfd38000118080808000000b200241016a22022007470d000b0b2003280204450d02200328020841002802a8bfd38000118080808000000c020b200328020c22062105200220076b22020d000b20032802042205418080808078460d002003290208210a200128020021040c020b20004180808080783602000c030b2003290208210a410021050b2000200a37020420002005360200200428020822052005280204417f6a3602040c010b20004180808080783602000b200341f0016a2480808080000bb305020c7f027e23808080800041a0086b2203248080808000410021042003410036021020034280808080103702080240024002402002450d002001280200210520012802042106200128020821074110210841012109024003402001417f20062002200820022008491b220a410a746a220b200b2006491b22063602042003280208210b02400240024020062007490d00200b21040c010b02400240200b20046b200a490d00200b21040c010b4100210c024002402004200a6a2204410a74220d4100480d004100210c0240200b450d00200320093602142003200b410a7436021c4101210c0b2003200c36021820034194086a4101200d200341146a10e18a8080002003280294084101470d01200328029c08210e200328029808210c0b200c200e4188a8c1800010ae80808000000b2003200328029808220936020c200320043602080b024002402008450d0020052802082208280204220c418008490d02200a417f6a210d4100210b0c010b200328021021040c020b03402008200c4180786a36020420082008280200220c4180086a3602002005427f2005290300220f4280087c22102010200f541b370300200341146a200c41800810e9968080001a0240200328021022082003280208470d00200341086a4198a8c1800010ee8a8080000b200328020c22092008410a746a200341146a41800810e9968080001a2003200841016a2204360210200d200b460d02200b41016a210b20052802082208280204220c4180084f0d000b200b200a4f0d01200328020821040b2004450d02200941002802a8bfd38000118080808000000c020b200421082002200a6b22020d000b20032802082208418080808078460d00200329020c210f0c020b20004180808080783602000c020b200329020c210f410021080b2000200f370204200020083602000b200341a0086a2480808080000b800602087f017e23808080800041c0006b2203248080808000410021042003410036021020034280808080c0003702080240024002402002450d0041b3062105024003402001417f200128020422062002200520022005491b220741146c6a220820082006491b220636020402400240200620012802084f0d0002402003280208220620046b20074f0d00024002400240200420076a220441e6cc99334d0d00410021030c010b200441146c21094100210802402006450d002003200328020c3602282003200641146c360230410421080b2003200836022c200341146a41042009200341286a10e18a80800020032802144101470d01200328021c2105200328021821030b200320054188a8c1800010ae80808000000b2003200328021836020c200320043602080b2005450d01200341146a200110db8d80800020032d00144105460d002007417f6a210a410021050340200341286a41106a2208200341146a41106a280200360200200341286a41086a2209200341146a41086a290200370300200320032902143703280240200328021022042003280208470d00200341086a4198a8c1800010f5958080000b200328020c200441146c6a22062003290328370200200641086a2009290300370200200641106a20082802003602002003200441016a360210200a2005460d02200341146a200110db8d808000200541016a210520032d00144105470d000b200520074f0d010b024020032802102204450d00200328020c21050340024020052d0000220641034b0d002005200641027441b8a8c180006a2802006a2206280200450d00200641046a28020041002802a8bfd38000118080808000000b200541146a21052004417f6a22040d000b0b2003280208450d02200328020c41002802a8bfd38000118080808000000c020b200328021022042105200220076b22020d000b20032802082205418080808078460d00200329020c210b0c020b20004180808080783602000c020b200329020c210b410021050b2000200b370204200020053602000b200341c0006a2480808080000ba407020a7f017e23808080800041e0026b22032480808080002003410036021420034280808080c00037020c02400240024002402002450d00200341f0016a410c6a210441840121054100210603400240200328020c220720066b2002200520022005491b22084f0d00024002400240200820066a2206419084a1084d0d00410021030c010b200641fc006c21094100210a02402007450d00200320032802103602f0012003200741fc006c3602f8014104210a0b2003200a3602f4012003418c016a41042009200341f0016a10e18a808000200328028c014101470d01200328029401210620032802900121030b200320064188a8c1800010ae80808000000b20032003280290013602102003200636020c0b024002402005450d00410021074101210a0340200341f0016a200110ed838080000240024020032802f0012209418080808078460d0020032802f801210520032802f401210b2003418c016a200441e40010e9968080001a2003200110c483808000024020032802000d00200341f0016a2001200328020410f98280800020032802f001418080808078470d020b02402005450d00200b21060340024020062d0000220741034b0d002006200741027441b8a8c180006a2802006a2207280200450d00200741046a28020041002802a8bfd38000118080808000000b200641146a21062005417f6a22050d000b0b2009450d00200b41002802a8bfd38000118080808000000b20032802142106200a410171450d0302402006450d00200328021021050340200510b98b808000200541fc006a21052006417f6a22060d000b0b200328020c450d07200328021041002802a8bfd38000118080808000000c070b200341186a41086a220c200341f0016a41086a280200360200200320032902f001370318200341286a2003418c016a41e40010e9968080001a02402003280214220a200328020c470d002003410c6a4198a8c1800010e48a8080000b2003280210200a41fc006c6a220620053602082006200b360204200620093602002006410c6a200341286a41e40010e9968080001a200641f8006a200c280200360200200620032903183702702003200a41016a2206360214200741016a2207200849210a20082007470d000c020b0b200328021421060b20062105200220086b22020d000b200328020c2206418080808078460d022003290210210d0c010b2003290210210d410021060b2000200d370204200020063602000c010b20004180808080783602000b200341e0026a2480808080000b950802087f017e23808080800041306b2203248080808000410021042003410036021020034280808080c00037020802400240024002402002450d0041d50a2105034002402003280208220620046b2002200520022005491b22074f0d00024002400240200720046a220441aad5aad5004d0d00410021030c010b2004410c6c21084100210902402006450d002003200328020c36022020032006410c6c360228410421090b20032009360224200341146a41042008200341206a10e18a80800020032802144101470d01200328021c2101200328021821030b200320014188a8c1800010ae80808000000b2003200328021836020c200320043602080b02400240024002402005450d000240200128020422060d00410121080c030b41012105410121080c010b200328021021040c020b034020012006417f6a220a36020420012001280200220441016a3602000240024002400240024020042d000022094103710e0400010203000b200941027621040c030b200a450d0420012006417e6a3602042001200441026a36020020042d00012204450d04200441087420097241027621040c020b20064104490d0320012006417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722204418002490d03200441087420097241027621040c010b200941044f0d0220064105490d0220012006417b6a3602042001200441056a36020020042800012204418080808004490d020b200341146a2001200410f1828080002003280214418080808078460d01200341206a41086a2206200341146a41086a280200360200200320032902143703200240200328021022042003280208470d00200341086a4198a8c1800010ed8a8080000b200328020c2004410c6c6a22092003290320370200200941086a20062802003602002003200441016a220436021020072005460d0220052007492108200541016a2105200128020422060d000b0b200328021021042008410171450d0002402004450d00200328020c21062004410171210741002105024020044101460d002004417e7121042006210141002105034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b02402001410c6a280200450d00200141106a28020041002802a8bfd38000118080808000000b200141186a21012004200541026a2205470d000b0b2007450d0020062005410c6c6a2201280200450d00200128020441002802a8bfd38000118080808000000b2003280208450d04200328020c41002802a8bfd38000118080808000000c040b20042105200220076b22020d000b20032802082201418080808078460d02200329020c210b0c010b200329020c210b410021010b2000200b370204200020013602000c010b20004180808080783602000b200341306a2480808080000b900404057f017e077f017e23808080800041206b2203248080808000024002400240024002402001280208220441086a2802002205200441106a28020022066b2002490d00024020020d0041002107420121080c040b200129030021084180800121094100210a200441106a210b200441086a210c4101210d41002107024003402002200920022009491b220e200a6a2109024002402007200a6b200e490d002006210f0c010b4100210f0240024020094100480d004100210f02402007450d002003200736021c2003200d3602144101210f0b2003200f360218200341086a41012009200341146a10e18a80800020032802084101470d0120032802102106200328020c210f0b200f20064188a8c1800010ae80808000000b200328020c210d200b280200210f200c2802002105200921070b2005200f6b200e490d01200f200e6a2206200f490d03200620054b0d04200d200a6a2004280204200f6a200e10e9968080001a200b20063602002001427f2008200ead7c221020102008541b22083703002009210a2002200e6b22020d000b2007418080808078460d012009ad422086200dad8421080c040b2007450d00200d41002802a8bfd38000118080808000000b20004180808080783602000c030b200f200641a8c8ca800010ac81808000000b2006200541a8c8ca800010aa81808000000b20002008370204200020073602000b200341206a2480808080000b900d02107f017e23808080800041e0016b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d0041920121050240034002402003280204220620046b2002200520022005491b22074f0d00024002400240200720046a220441c9a492094d0d00410021030c010b200441f0006c21084100210902402006450d00200320032802083602b0012003200641f0006c3602b801410421090b200320093602b40120034190016a41042008200341b0016a10e18a8080002003280290014101470d01200328029801210520032802940121030b200320054188a8c1800010ae80808000000b2003200328029401360208200320043602040b024002402005450d00410021084101210a02400340200128020422094120490d012001200941606a220b36020420012001280200220541206a360200200341f0006a41086a220c200541086a290000370300200341f0006a41106a220d200541106a290000370300200341f0006a41186a220e200541186a29000037030020032005290000370370200b450d0120012009415f6a22043602042001200541216a22063602000240024002400240024020052d0020220f4103710e0400030201000b200f410276210b0c030b200f41044f0d04200b4105490d0420012009415b6a22043602042001200541256a22063602002005280021220b4180808080044f0d020c040b200b4104490d0320012009415c6a22043602042001200541246a220636020020052f0021200541236a2d0000411074722205418002490d032005410874200f72410276210b0c010b2004450d0220012009415e6a22043602042001200541226a220636020020052d00212205450d022005410874200f72410276210b0b20044120490d012001200441606a22093602042001200641206a220536020020034190016a41086a220f200641086a29000037030020034190016a41106a2210200641106a29000037030020034190016a41186a2211200641186a290000370300200320062900003703900120094120490d012001200441406a3602042001200641c0006a360200200341b0016a41086a2206200541086a290000370300200341b0016a41106a2204200541106a290000370300200341b0016a41186a2209200541186a290000370300200320052900003703b001200341d4016a200110e88b80800020032802d4012212418080808078460d01200341d0006a41086a220a200c290300370300200341d0006a41106a220c200d290300370300200341d0006a41186a220d200e290300370300200341306a41086a220e200f290300370300200341306a41106a220f2010290300370300200341306a41186a2210201129030037030020032003290370370350200320032903900137033020032902d8012113200341106a41186a22112009290300370300200341106a41106a22092004290300370300200341106a41086a22042006290300370300200320032903b0013703100240200328020c22062003280204470d00200341046a4198a8c1800010eb8a8080000b2003280208200641f0006c6a22052013370204200520123602002005200329035037020c2005200b36022c20052003290330370230200541146a200a2903003702002005411c6a200c290300370200200541246a200d290300370200200541386a200e290300370200200541c0006a200f290300370200200541c8006a201029030037020020052003290310370250200541e8006a2011290300370200200541e0006a2009290300370200200541d8006a20042903003702002003200641016a220436020c200841016a2208200749210a20072008470d000c030b0b200328020c2104200a410171450d0102402004450d002003280208210b4100210803400240200b200841f0006c6a22092802082201450d00200928020421050340024020052d0000220641034b0d002005200641027441b8a8c180006a2802006a2206280200450d00200641046a28020041002802a8bfd38000118080808000000b200541146a21052001417f6a22010d000b0b02402009280200450d00200928020441002802a8bfd38000118080808000000b200841016a22082004470d000b0b2003280204450d03200328020841002802a8bfd38000118080808000000c030b200328020c21040b20042105200220076b22020d000b20032802042205418080808078460d00200329020821130c020b20004180808080783602000c020b20032902082113410021050b20002013370204200020053602000b200341e0016a2480808080000be009020e7f017e2380808080004190016b2203248080808000410021042003410036021420034280808080c00037020c02400240024002402002450d00200341cc006a41086a210520034180016a41046a210641a402210703400240200328020c220820046b2002200720022007491b22094f0d00024002400240200920046a22044192c9a4124d0d00410021030c010b200441386c210a4100210b02402008450d00200320032802103602602003200841386c3602684104210b0b2003200b360264200341186a4104200a200341e0006a10e18a80800020032802184101470d0120032802202101200328021c21030b200320014188a8c1800010ae80808000000b2003200328021c3602102003200436020c0b024002402007450d004100210b4101210c034002400240200128020422074104490d0020012007417c6a220836020420012001280200220441046a36020020084104490d00200428000021082001200741786a3602042001200441086a3602002004280004210420034180016a200110fe898080002003280280014101460d0020052006290200370200200541086a200641086a280200360200200320043602502003200836024c024020012802042208450d0020012008417f6a220736020420012001280200220a41016a220436020002400240200a2d0000220d0e020100020b20084121490d0120012008415f6a22073602042001200a41216a2208360200200341e0006a41086a200441086a290000370300200341e0006a41106a200441106a290000370300200341e0006a41186a200441186a29000037030020032004290000370360200821040b2007450d0020012007417f6a220a3602042001200441016a36020041022108024020042d00000e020300010b02400240200a450d0020012007417e6a3602042001200441026a36020020042d000141ff01712204450d004101410220044101461b21080c010b410021080b200a450d0020084102470d020b200510808a8080000b20032802142104200c410171450d0302402004450d00200328021041086a21010340200110808a808000200141386a21012004417f6a22040d000b0b200328020c450d07200328021041002802a8bfd38000118080808000000c070b200341386a41106a220a200341cc006a41106a280200360200200341386a41086a220c2005290200370300200341186a41086a220e200341e0006a41086a290300370300200341186a41106a220f200341e0006a41106a290300370300200341186a41186a2210200341e0006a41186a2903003703002003200329024c37033820032003290360370318024020032802142207200328020c470d002003410c6a4198a8c1800010ea8a8080000b2003280210200741386c6a220420032903383702002004200d3a001420042003290318370015200420083a0035200441086a200c290300370200200441106a200a2802003602002004411d6a200e290300370000200441256a200f2903003700002004412d6a20102903003700002003200741016a2204360214200b41016a220b200949210c2009200b470d000c020b0b200328021421040b20042107200220096b22020d000b200328020c2201418080808078460d02200329021021110c010b20032902102111410021010b20002011370204200020013602000c010b20004180808080783602000b20034190016a2480808080000bf70602077f017e23808080800041c0006b2203248080808000410021042003410036022020034280808080c0003702180240024002402002450d0041d50a2105024003402001417f200128020422062002200520022005491b2207410c6c6a220820082006491b220636020402400240200620012802084f0d0002402003280218220620046b20074f0d00024002400240200420076a220441aad5aad5004d0d00410021030c010b2004410c6c21094100210802402006450d002003200328021c36023020032006410c6c360238410421080b20032008360234200341246a41042009200341306a10e18a80800020032802244101470d01200328022c2105200328022821030b200320054188a8c1800010ae80808000000b2003200328022836021c200320043602180b0240024002402005450d00200341106a200110c5838080004101210620032802100d022003280214210441012105410121060c010b200328022021040c030b0340200341246a2001200410e0828080002003280224418080808078460d01200341306a41086a2206200341246a41086a280200360200200320032902243703300240200328022022042003280218470d00200341186a4198a8c1800010ed8a8080000b200328021c2004410c6c6a22082003290330370200200841086a20062802003602002003200441016a220436022020072005460d03200341086a200110c58380800020052007492106200328020c2104200541016a21052003280208450d000b0b200328022021042006410171450d010b02402004450d00200328021c21062004410171210841002101024020044101460d002004417e7121072006210541002101034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b02402005410c6a280200450d00200541106a28020041002802a8bfd38000118080808000000b200541186a21052007200141026a2201470d000b0b2008450d0020062001410c6c6a2205280200450d00200528020441002802a8bfd38000118080808000000b2003280218450d02200328021c41002802a8bfd38000118080808000000c020b20042105200220076b22020d000b20032802182205418080808078460d00200329021c210a0c020b20004180808080783602000c020b200329021c210a410021050b2000200a370204200020053602000b200341c0006a2480808080000bba0602077f017e23808080800041306b2203248080808000410021042003410036020c20034280808080c0003702040240024002402002450d004180082105024003402001417f200128020422062002200520022005491b22074104746a220820082006491b220636020402400240200620012802084f0d0002402003280204220620046b20074f0d00024002400240200420076a220441ffffff3f4d0d00410021030c010b200441047421094100210802402006450d002003200328020836022041042108200320064104743602280b20032008360224200341106a41042009200341206a10e18a80800020032802104101470d0120032802182105200328021421030b200320054188a8c1800010ae80808000000b20032003280214360208200320043602040b2005450d01200341106a200110c98a8080002003280210418080808078460d002007417f6a2109410021050340200341206a41086a2206200341106a41086a290200370300200320032902103703200240200328020c22042003280204470d00200341046a4198a8c1800010e88a8080000b200328020820044104746a22082003290320370200200841086a20062903003702002003200441016a36020c20092005460d02200341106a200110c98a808000200541016a21052003280210418080808078470d000b200520074f0d010b0240200328020c2205450d00200328020821082005410171210141002104024020054101460d002005417e7121062008210541002104034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b0240200541106a280200450d00200541146a28020041002802a8bfd38000118080808000000b200541206a21052006200441026a2204470d000b0b2001450d00200820044104746a2205280200450d00200528020441002802a8bfd38000118080808000000b2003280204450d02200328020841002802a8bfd38000118080808000000c020b200328020c22042105200220076b22020d000b20032802042205418080808078460d002003290208210a0c020b20004180808080783602000c020b2003290208210a410021050b2000200a370204200020053602000b200341306a2480808080000bd906020d7f027e23808080800041c0006b2203248080808000410021042003410036020c20034280808080103702040240024002402002450d00200128020021052001280204210620012802082107418004210841012109024003402001417f20062002200820022008491b220a4105746a220b200b2006491b22063602042003280204210b0240024002400240024020062007490d00200b210c0c010b02400240200b20046b200a490d00200b210c0c010b4100210d024002402004200a6a220c410574220e4100480d00410021040240200b450d00200320093602102003200b410574360218410121040b20032004360214200341346a4101200e200341106a10e18a80800020032802344101470d01200328023c210f2003280238210d0b200d200f4188a8c1800010ae80808000000b2003200328023822093602082003200c3602040b024002402008450d0020052802082208280208220e2008280210220b6b4120490d02200841106a210d200a417f6a210f4100210c0c010b200328020c21040c040b0340200b41206a2104200b415f4b0d022004200e4b0d0320082802042108200d20043602002005427f2005290300221042207c221120112010541b370300200341106a41086a22042008200b6a220841086a290000370300200341106a41106a220e200841106a290000370300200341106a41186a220d200841186a290000370300200320082900003703100240200328020c220b2003280204470d00200341046a4198a8c1800010e28a8080000b20032802082209200b4105746a22082003290310370000200841086a2004290300370000200841106a200e290300370000200841186a200d2903003700002003200b41016a220436020c200f200c460d04200c41016a210c2005280208220841106a210d2008280208220e2008280210220b6b41204f0d000b200c200a4f0d032003280204210c0b200c450d04200941002802a8bfd38000118080808000000c040b200b200441a8c8ca800010ac81808000000b2004200e41a8c8ca800010aa81808000000b200421082002200a6b22020d000b20032802042208418080808078460d00200329020821100c020b20004180808080783602000c020b20032902082110410021080b20002010370204200020083602000b200341c0006a2480808080000bbf0702097f017e23808080800041d0006b2203248080808000200128020022042802082205200528020441016a22063602040240024002400240200620052802084b0d002003410036022420034280808080c00037021c024002402002450d0041aa0521064100210503402001417f200128020422042002200620022006491b220741186c6a220820082004491b2204360204200420012802084f0d040240200328021c220420056b20074f0d00024002400240200520076a220541d5aad52a4d0d00410021030c010b200541186c21094100210802402004450d00200320032802203602442003200441186c36024c410421080b20032008360248200341386a41042009200341c4006a10e18a80800020032802384101470d0120032802402101200328023c21030b200320014188a8c1800010ae80808000000b2003200328023c3602202003200536021c0b024002402006450d0041002106410121040340200341106a200110c3838080000240024020032802100d00200341386a2001200328021410fb8280800020032802382208418080808078460d002003280240210a200328023c2109200341086a200110c383808000024020032802080d00200341c4006a2001200328020c10fb828080002003280244418080808078470d020b2008450d00200941002802a8bfd38000118080808000000b200328022421052004410171450d030c080b200341286a41086a220b200341c4006a41086a28020036020020032003290244370328024020032802242204200328021c470d002003411c6a4198a8c1800010da928080000b2003280220200441186c6a2205200a36020820052009360204200520083602002005200329032837020c200541146a200b2802003602002003200441016a2205360224200641016a2206200749210420072006470d000c020b0b200328022421050b20052106200220076b22020d000b200328021c2205418080808078460d042003290220210c200128020021040c010b2003290220210c410021050b2000200c37020420002005360200200428020822012001280204417f6a3602040c030b20004180808080783602000c020b02402005450d0020032802202101034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b02402001410c6a280200450d00200141106a28020041002802a8bfd38000118080808000000b200141186a21012005417f6a22050d000b0b200328021c450d00200328022041002802a8bfd38000118080808000000b20004180808080783602000b200341d0006a2480808080000bf30602097f017e23808080800041d0006b22032480808080002003410036022420034280808080c00037021c024002400240024002402002450d0041aa0521044100210503402001417f200128020422062002200420022004491b220741186c6a220820082006491b2206360204200620012802084f0d030240200328021c220620056b20074f0d00024002400240200520076a220541d5aad52a4d0d00410021030c010b200541186c21094100210802402006450d00200320032802203602442003200641186c36024c410421080b20032008360248200341386a41042009200341c4006a10e18a80800020032802384101470d0120032802402101200328023c21030b200320014188a8c1800010ae80808000000b2003200328023c3602202003200536021c0b024002402004450d0041002104410121060340200341106a200110c1838080000240024020032802100d00200341386a2001200328021410f38280800020032802382208418080808078460d002003280240210a200328023c2109200341086a200110c183808000024020032802080d00200341c4006a2001200328020c10f3828080002003280244418080808078470d020b2008450d00200941002802a8bfd38000118080808000000b200328022421052006410171450d030c070b200341286a41086a220b200341c4006a41086a28020036020020032003290244370328024020032802242206200328021c470d002003411c6a4198a8c1800010da928080000b2003280220200641186c6a2205200a36020820052009360204200520083602002005200329032837020c200541146a200b2802003602002003200641016a2205360224200441016a2204200749210620072004470d000c020b0b200328022421050b20052104200220076b22020d000b200328021c2201418080808078460d032003290220210c0c010b2003290220210c410021010b2000200c370204200020013602000c020b02402005450d0020032802202101034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b02402001410c6a280200450d00200141106a28020041002802a8bfd38000118080808000000b200141186a21012005417f6a22050d000b0b200328021c450d00200328022041002802a8bfd38000118080808000000b20004180808080783602000b200341d0006a2480808080000b8708020a7f017e23808080800041306b2203248080808000410021042003410036021420034280808080c00037020c02400240024002402002450d00418008210503400240200328020c220620046b2002200520022005491b22074f0d00024002400240200720046a220441ffffff3f4d0d00410021010c010b200441047421084100210902402006450d0020032003280210360224410421092003200641047436022c0b20032009360228200341186a41042008200341246a10e18a80800020032802184101470d0120032802202104200328021c21010b200120044188a8c1800010ae80808000000b2003200328021c3602102003200436020c0b0240024002402005450d00410021064101210a0340200128020422054104490d0220012005417c6a220936020420012001280200220441046a3602002009450d022004280000210b20012005417b6a220c3602042001200441056a3602000240024002400240024020042d000422084103710e0400010302000b200841027621040c030b200c450d0520012005417a6a3602042001200441066a36020020042d00052204450d05200441087420087241027621040c020b200841044f0d0420094105490d042001200541776a3602042001200441096a360200200428000522044180808080044f0d010c040b20094104490d032001200541786a3602042001200441086a36020020042f0005200441076a2d0000411074722204418002490d03200441087420087241027621040b200341246a2001200410f18280800020032802242209418080808078460d022003290228210d024020032802142204200328020c470d002003410c6a4198a8c1800010e88a8080000b200328021020044104746a2205200b36020c2005200d370204200520093602002003200441016a2204360214200641016a2206200749210a20072006470d000c030b0b200328021421040c010b20032802142104200a410171450d0002402004450d00200328021021062004410171210941002105024020044101460d002004417e7121042006210141002105034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b0240200141106a280200450d00200141146a28020041002802a8bfd38000118080808000000b200141206a21012004200541026a2205470d000b0b2009450d00200620054104746a2201280200450d00200128020441002802a8bfd38000118080808000000b200328020c450d04200328021041002802a8bfd38000118080808000000c040b20042105200220076b22020d000b200328020c2201418080808078460d022003290210210d0c010b2003290210210d410021010b2000200d370204200020013602000c010b20004180808080783602000b200341306a2480808080000beb0602077f027e23808080800041306b22032480808080002003410036021420034280808080c00037020c0240024002402002450d00418008210441002105024003402001417f200128020422062002200420022004491b22074104746a220820082006491b2206360204024002400240200620012802084f0d000240200328020c220620056b20074f0d00024002400240200520076a220541ffffff3f4d0d00410021030c010b200541047421094100210802402006450d0020032003280210360224410421082003200641047436022c0b20032008360228200341186a41042009200341246a10e18a80800020032802184101470d0120032802202101200328021c21030b200320014188a8c1800010ae80808000000b2003200328021c3602102003200536020c0b2004450d014100210441012106024003402003410036022420012802002205280208200341246a410410bc838080000d012005427f2005290300220a42047c220b200b200a541b370300200328022421082003200110c18380800020032802000d01200341246a2001200328020410f38280800020032802242209418080808078460d012003290228210a024020032802142205200328020c470d002003410c6a4198a8c1800010e88a8080000b200328021020054104746a2206200836020c2006200a370204200620093602002003200541016a2205360214200441016a2204200749210620072004470d000c040b0b200328021421052006410171450d020b02402005450d00200328021021062005410171210741002104024020054101460d002005417e7121052006210141002104034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b0240200141106a280200450d00200141146a28020041002802a8bfd38000118080808000000b200141206a21012005200441026a2204470d000b0b2007450d00200620044104746a2201280200450d00200128020441002802a8bfd38000118080808000000b200328020c450d03200328021041002802a8bfd38000118080808000000c030b200328021421050b20052104200220076b22020d000b200328020c2201418080808078460d002003290210210a0c020b20004180808080783602000c020b2003290210210a410021010b2000200a370204200020013602000b200341306a2480808080000bc90702087f027e23808080800041306b2203248080808000200128020022042802082205200528020441016a220636020402400240200620052802084b0d00410021052003410036021420034280808080c00037020c024002402002450d004180082106024003402001417f200128020422042002200620022006491b22074104746a220820082004491b2204360204024002400240200420012802084f0d000240200328020c220420056b20074f0d00024002400240200520076a220541ffffff3f4d0d00410021030c010b200541047421094100210802402004450d0020032003280210360224410421082003200441047436022c0b20032008360228200341186a41042009200341246a10e18a80800020032802184101470d0120032802202105200328021c21030b200320054188a8c1800010ae80808000000b2003200328021c3602102003200536020c0b2006450d01410021044101210a0240034020012802002206280208280200220528020422084104490d0120052008417c6a36020420052005280200220841046a3602002006427f2006290300220b42047c220c200c200b541b370300200828000021082003200110c38380800020032802000d01200341246a2001200328020410fb8280800020032802242209418080808078460d012003290228210b024020032802142205200328020c470d002003410c6a4198a8c1800010e88a8080000b200328021020054104746a2206200836020c2006200b370204200620093602002003200541016a2205360214200441016a2204200749210a20072004470d000c040b0b20032802142105200a410171450d020b02402005450d00200328021021042005410171210741002101024020054101460d002005417e7121062004210541002101034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b0240200541106a280200450d00200541146a28020041002802a8bfd38000118080808000000b200541206a21052006200141026a2201470d000b0b2007450d00200420014104746a2205280200450d00200528020441002802a8bfd38000118080808000000b200328020c450d03200328021041002802a8bfd38000118080808000000c030b200328021421050b20052106200220076b22020d000b200328020c2205418080808078460d002003290210210b200128020021040c020b20004180808080783602000c030b2003290210210b410021050b2000200b37020420002005360200200428020822052005280204417f6a3602040c010b20004180808080783602000b200341306a2480808080000bfd0101047f23808080800041106b220324808080800002402001450d00200141047421042000410c6a21010340200141786a280200210520032001417c6a28020022003602082003200341086a36020c2003410c6a200210d58380800002402002280200200228020822066b20004f0d0020022006200010fc90808000200228020821060b200228020420066a2005200010e9968080001a2002200620006a22003602080240200228020020006b41034b0d0020022000410410fc90808000200228020821000b2002200041046a360208200228020420006a2001280000360000200141106a2101200441706a22040d000b0b200341106a2480808080000b9d0202057f027e23808080800041106b220324808080800002402001450d0020014104742104200228020821010340200341046a10b787808000200328020821050240200228020020016b200328020c22064f0d0020022001200610fc90808000200228020821010b2002280204220720016a2005200610e9968080001a2002200120066a220136020802402003280204450d00200541002802a8bfd38000118080808000000b200041086a2903002108200029030021090240200228020020016b410f4b0d0020022001411010fc9080800020022802042107200228020821010b200041106a2100200720016a22062008370008200620093700002002200141106a2201360208200441706a22040d000b0b200341106a2480808080000b880201047f23808080800041106b220324808080800002402001450d0020014104742104200041086a2101200228020821000340200141046a28020021050240200228020020006b41034b0d0020022000410410fc90808000200228020821000b2002200041046a360208200228020420006a20053600002001417c6a28020021062003200128020022003602082003200341086a36020c2003410c6a200210d58380800002402002280200200228020822056b20004f0d0020022005200010fc90808000200228020821050b200228020420056a2006200010e9968080001a2002200520006a2200360208200141106a2101200441706a22040d000b0b200341106a2480808080000bad0201037f23808080800041206b22042480808080004100210502400240200141046a22064100480d00024020060d00410121050c020b41002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410121050b2005200641a8a8c1800010ae80808000000b20044100360214200420053602102004200636020c200420013602182004200441186a36021c2004411c6a2004410c6a10d5838080000240200428020c200428021422066b20014f0d002004410c6a2006200110fc90808000200428021421060b200428021020066a2000200110e9968080001a200428020c21002002200320042802102205200620016a41002802c8bdd380001183808080000002402000450d00200541002802a8bfd38000118080808000000b200441206a2480808080000bf60202027f017e4100210141002d00b8bfd380001a0240412041002802b0bfd38000118280808000002202450d00200220002900002203370000200241186a200041186a290000370000200241106a200041106a290000370000200241086a200041086a29000037000002402003a741ff01710d0020022d00010d0020022d00020d0020022d00030d0020022d00040d0020022d00050d0020022d00060d0020022d00070d0020022d00080d0020022d00090d0020022d000a0d0020022d000b0d0020022d000c0d0020022d000d0d0020022d000e0d0020022d000f0d0020022d00100d0020022d00110d0020022d00120d0020022d00130d0020022d00140d0020022d00150d0020022d00160d0020022d00170d0020022d00180d0020022d00190d0020022d001a0d0020022d001b0d0020022d001c0d0020022d001d0d0020022d001e0d0020022d001f4521010b200241002802a8bfd380001180808080000020010f0b4101412041a8a8c1800010ae80808000000bb90201047f23808080800041206b220324808080800041002104024002402000280204220541046a22064100480d0020002802002100024020060d00410121040c020b41002d00b8bfd380001a200641002802b0bfd380001182808080000022040d01410121040b2004200641a8a8c1800010ae80808000000b20034100360214200320043602102003200636020c200320053602182003200341186a36021c2003411c6a2003410c6a10d5838080000240200328020c200328021422066b20054f0d002003410c6a2006200510fc90808000200328021421060b200328021020066a2000200510e9968080001a200328020c21002001200220032802102204200620056a41002802c8bdd380001183808080000002402000450d00200441002802a8bfd38000118080808000000b200341206a2480808080000bc61b03087f017e057f23808080800041a0036b220624808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01aa092208410b490d00200128020421092001280208210a41002d00b8bfd380001a41ac0941002802b0bfd38000118280808000002208450d0b200841003b01aa09200841003602a008200a4105490d01200a417b6a0e020304020b200741a4086a220b2001280208220a410c6c6a210c02400240200a41016a220920084d0d00200c2002290200370200200c41086a200241086a2802003602000c010b200b2009410c6c6a200c2008200a6b220b410c6c10ec968080001a200c41086a200241086a280200360200200c20022902003702002007200941e0006c6a2007200a41e0006c6a200b41e0006c10ec968080001a0b2007200a41e0006c6a200341e00010e9968080001a2007200841016a3b01aa092001280204210d0c070b200820072f01aa09417b6a22013b01aa0920072802d408210c20072902d808210e200641a4026a20074180036a41e00010e9968080001a2001410c4f0d0a200841a4086a200741e0086a2001410c6c10e9968080001a2008200741e0036a200141e0006c10e9968080001a200741043b01aa09200641c4016a200641a4026a41e00010e9968080001a2009210d2007210b0c040b200820072f01aa0941796a22013b01aa0920072802ec08210c20072902f008210e200641a4026a200741c0046a41e00010e9968080001a2001410c4f0d0a200841a4086a200741f8086a2001410c6c10e9968080001a2008200741a0056a200141e0006c10e9968080001a200741063b01aa09200641c4016a200641a4026a41e00010e9968080001a200a41796a210a0c020b200820072f01aa09417a6a22013b01aa0920072802e008210c20072902e408210e200641a4026a200741e0036a220a41e00010e9968080001a2001410c4f0d0a200841a4086a200741ec086a2001410c6c10e9968080001a2008200741c0046a200141e0006c10e9968080001a200641c4016a200641a4026a41e00010e9968080001a200741e0086a220141086a200241086a28020036020020012002290200370200200a200341e00010e9968080001a200741063b01aa094105210a2009210d2007210b0c030b200820072f01aa09417a6a22013b01aa0920072802e008210c20072902e408210e200641a4026a200741e0036a41e00010e9968080001a2001410c4f0d0a200841a4086a200741ec086a2001410c6c10e9968080001a2008200741c0046a200141e0006c10e9968080001a200741053b01aa09200641c4016a200641a4026a41e00010e9968080001a4100210a0b4100210d2008210b0b200b41a4086a200a410c6c6a210102400240200b2f01aa09220f200a4b0d0020012002290200370200200141086a200241086a2802003602000c010b2001410c6a2001200f200a6b2210410c6c10ec968080001a200141086a200241086a28020036020020012002290200370200200b200a41e0006c6a220141e0006a2001201041e0006c10ec968080001a0b200b200a41e0006c6a200341e00010e9968080001a200b200f41016a3b01aa090b200641046a200641c4016a41e00010e9968080001a200c418080808078470d01200b21070b2000200a3602082000200d360204200020073602000c010b200641e4006a200641046a41e00010e9968080001a0240024020072802a00822010d00410021020c010b20064198036a211120064190036a2112200641a4026a410c6a211341002102034020092002470d0820072f01a8092102024002400240024002400240024002400240024020012f01aa092203410b490d00200941016a210720024105490d012002417b6a0e020304020b200141a4086a22102002410c6c6a2109200241016a2107200341016a210f0240024020022003490d002009200e3702042009200c3602002001200241e0006c6a200641e4006a41e00010e9968080001a0c010b20102007410c6c6a2009200320026b2210410c6c10ec968080001a2009200e3702042009200c3602002001200741e0006c6a2001200241e0006c6a220c201041e0006c10ec968080001a200c200641e4006a41e00010e9968080001a200141ac096a220c20024102746a41086a200c20074102746a201041027410ec968080001a0b2001200f3b01aa09200120074102746a41ac096a20083602002007200341026a22094f0d070240200320026b220341016a4103712208450d00200120024102746a41b0096a210203402002280200220c20073b01a809200c20013602a008200241046a2102200741016a21072008417f6a22080d000b0b20034103490d07200741027420016a41b8096a21020340200241746a280200220820073b01a809200820013602a008200241786a2802002208200741016a3b01a809200820013602a0082002417c6a2802002208200741026a3b01a809200820013602a00820022802002208200741036a3b01a809200820013602a008200241106a21022009200741046a2207470d000c080b0b2006200136020441042101201221090c040b20062001360204200241796a2102410621010c020b2006410536020c2006200736020820062001360204200641a4026a200641046a109e8380800020062802900322072f01aa09220141016a210202400240024020014106490d00200741ec086a200741e0086a2001417b6a2209410c6c10ec968080001a2007200e3702e4082007200c3602e008200741c0046a200741e0036a220c200941e0006c10ec968080001a200c200641e4006a41e00010e9968080001a200741c8096a200741c4096a2001410274416c6a10ec968080001a200720023b01aa09200720083602c4090c010b2007200e3702e4082007200c3602e008200741e0036a200641e4006a41e00010e9968080001a200720023b01aa09200720083602c40920014105470d010b2001410371210c4106210202402001417b6a4103490d00200141fcff037141786a210341062101410021080340200720086a220241c4096a280200220920013b01a809200920073602a008200241c8096a2802002209200141016a3b01a809200920073602a008200241cc096a2802002209200141026a3b01a809200920073602a008200241d0096a2802002202200141036a3b01a809200220073602a008200841106a21082001417a6a2109200141046a2202210120092003470d000b0b200c450d00200720024102746a41ac096a210103402001280200220820023b01a809200820073602a008200141046a2101200241016a2102200c417f6a220c0d000b0b20062902a802210e20062802a402210c200641c4016a201341e00010e9968080001a0c030b2006200136020441002102410521010b201121090b2006200136020c20062007360208200641a4026a200641046a109e838080002009280200220141a4086a22102002410c6c6a2109200241016a210720012f01aa09220341016a210f02400240200320024b0d002009200e3702042009200c3602002001200241e0006c6a200641e4006a41e00010e9968080001a0c010b20102007410c6c6a2009200320026b2210410c6c10ec968080001a2009200e3702042009200c3602002001200741e0006c6a2001200241e0006c6a220c201041e0006c10ec968080001a200c200641e4006a41e00010e9968080001a200141ac096a220c20024102746a41086a200c20074102746a201041027410ec968080001a0b200120074102746a41ac096a20083602002001200f3b01aa0902402007200341026a22094f0d000240200320026b220341016a4103712208450d00200120024102746a41b0096a210203402002280200220c20073b01a809200c20013602a008200241046a2102200741016a21072008417f6a22080d000b0b20034103490d00200120074102746a41b8096a21020340200241746a280200220820073b01a809200820013602a008200241786a2802002208200741016a3b01a809200820013602a0082002417c6a2802002208200741026a3b01a809200820013602a00820022802002208200741036a3b01a809200820013602a008200241106a21022009200741046a2207470d000b0b20062902a802210e20062802a402210c200641c4016a201341e00010e9968080001a20062802900321070b200c418080808078470d010b2000200a3602082000200d3602042000200b3602000c030b200628029c03210220062802980321082006280294032109200641e4006a200641c4016a41e00010e9968080001a20072802a00822010d000b0b200428020022012802002209450d072001280204210341002d00b8bfd380001a41dc0941002802b0bfd38000118280808000002207450d08200720093602ac09200741003b01aa09200741003602a008200941003b01a809200920073602a0082001200341016a3602042001200736020020032002470d092007200e3702a8082007200c3602a408200741013b01aa092007200641e4006a41e00010e996808000220720083602b0092000200a3602082000200d3602042000200b360200200841013b01a809200820073602a0080b200641a0036a2480808080000f0b410441ac0910b980808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b41f0adc18000413541a8aec1800010f480808000000b41fcaac18000108a81808000000b410441dc0910b980808000000b41bcabc18000413041ecabc1800010f480808000000bcf0401097f23808080800041e0016b2202248080808000200128020022032f01aa09210441002d00b8bfd380001a0240024002400240024041dc0941002802b0bfd38000118280808000002205450d00200541003602a008200520032f01aa09220620012802082207417f736a22083b01aa09200241f0006a41086a200341a4086a22092007410c6c6a220a41086a2802003602002002200a29020037037020024180016a2003200741e0006c6a41e00010e9968080001a2008410c4f0d012006200741016a220a6b2008470d02200541a4086a2009200a410c6c6a2008410c6c10e9968080001a20052003200a41e0006c6a200841e0006c10e996808000210a200320073b01aa09200241086a200241f0006a41086a280200360200200220022903703703002002410c6a20024180016a41e00010e9968080001a200a2f01aa09220541016a21082005410c4f0d03200420076b22062008470d04200a41ac096a200320074102746a41b0096a200641027410e9968080002106200128020421014100210702400340200620074102746a280200220820073b01a8092008200a3602a008200720054f0d01200720072005496a220720054d0d000b0b200020013602702000200336026c2000200241ec0010e996808000220720013602782007200a360274200241e0016a2480808080000f0b410441dc0910b980808000000b2008410b41d0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000b2008410c41e0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000ba214030c7f017e017f23808080800041306b2205248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f018a012207410b490d00200128020421082001280208210941002d00b8bfd380001a418c0141002802b0bfd38000118280808000002207450d09200741003b018a012007410036020020094105490d012009417b6a0e020304020b200641046a210802402001280208220941016a220a20074b0d002008200a410c6c6a20082009410c6c6a200720096b410c6c10ec968080001a0b20082009410c6c6a22082002290200370200200841086a200241086a2802003602002006200741016a3b018a012001280204210b2006210c0c070b200720062f018a01417b6a22013b018a012001410c4f0d08200641346a210a200641386a210d4104210e41c000210f2008210b2006210c0c040b200720062f018a0141796a22013b018a012001410c4f0d08200941796a2109200641cc006a210a200641d0006a210d4100210b4106210e41d800210f0c020b200720062f018a01417a6a22013b018a012001410c4f0d082006280240211020062902442111200741046a200641cc006a2001410c6c10e9968080001a200641063b018a01200641c8006a200241086a28020036020020062002290200370240410521092008210b2006210c0c030b200720062f018a01417a6a22013b018a012001410c4f0d08200641c0006a210a200641c4006a210d410021094105210e41cc00210f4100210b0b2007210c0b200a2802002110200d2902002111200741046a2006200f6a2001410c6c10e9968080001a2006200e3b018a01200c41046a21010240200c2f018a01220a20094d0d0020012009410c6c6a220d410c6a200d200a20096b410c6c10ec968080001a0b20012009410c6c6a22012002290200370200200141086a200241086a280200360200200c200a41016a3b018a010b2010418080808078460d0002400240200628020022020d00410021010c010b200541286a2112200541206a210f41002101034020082001470d0820062f01880121010240024002400240024002400240024020022f018a01220a410b490d00200841016a210620014105490d012001417b6a0e020304020b200241046a220e2001410c6c6a2108200141016a2106200a41016a210d024002402001200a490d0020082011370204200820103602000c010b200e2006410c6c6a2008200a20016b220e410c6c10ec968080001a20082011370204200820103602002002418c016a220820014102746a41086a200820064102746a200e41027410ec968080001a0b2002200d3b018a01200220064102746a418c016a20073602002006200a41026a22104f0d090240200a20016b220a41016a4103712207450d00200220014102746a4190016a210103402001280200220820063b01880120082002360200200141046a2101200641016a21062007417f6a22070d000b0b200a4103490d09200641027420026a4198016a21010340200141746a280200220720063b01880120072002360200200141786a2802002207200641016a3b018801200720023602002001417c6a2802002207200641026a3b0188012007200236020020012802002207200641036a3b01880120072002360200200141106a21012010200641046a2206470d000c0a0b0b2005200236020841042102200f21080c040b20052002360208200141796a2101410621020c020b200541053602102005200636020c20052002360208200541146a200541086a10a083808000200528022022062f018a01220141016a21020240024020014106490d00200641cc006a200641c0006a2001410c6c41446a10ec968080001a2006201137024420062010360240200641a8016a200641a4016a2001410274416c6a10ec968080001a200620023b018a01200620073602a4010c010b200620073602a4012006201137024420062010360240200620023b018a0120014105470d040b200141037121084106210202402001417b6a4103490d00200141fcff037141786a211041062101410021070340200620076a220241a4016a280200220a20013b018801200a2006360200200241a8016a280200220a200141016a3b018801200a2006360200200241ac016a280200220a200141026a3b018801200a2006360200200241b0016a2802002202200141036a3b01880120022006360200200741106a21072001417a6a210a200141046a22022101200a2010470d000b0b2008450d03200620024102746a418c016a210103402001280200220720023b01880120072006360200200141046a2101200241016a21022008417f6a22080d000c040b0b2005200236020841002101410521020b201221080b200520023602102005200636020c200541146a200541086a10a0838080002008280200220241046a220e2001410c6c6a210a200141016a210620022f018a01220841016a210d02400240200820014b0d00200a2011370204200a20103602000c010b200e2006410c6c6a200a200820016b220e410c6c10ec968080001a200a2011370204200a20103602002002418c016a220a20014102746a41086a200a20064102746a200e41027410ec968080001a0b200220064102746a418c016a20073602002002200d3b018a0102402006200841026a220a4f0d000240200820016b221041016a4103712207450d00200220014102746a4190016a210103402001280200220820063b01880120082002360200200141046a2101200641016a21062007417f6a22070d000b0b20104103490d00200220064102746a4198016a21010340200141746a280200220720063b01880120072002360200200141786a2802002207200641016a3b018801200720023602002001417c6a2802002207200641026a3b0188012007200236020020012802002207200641036a3b01880120072002360200200141106a2101200a200641046a2206470d000b0b200528022021060b2005290218211120052802142210418080808078460d02200528022c21012005280228210720052802242108200628020022020d000b0b200328020022022802002208450d072002280204210a41002d00b8bfd380001a41bc0141002802b0bfd38000118280808000002206450d082006200836028c01200641003b018a0120064100360200200841003b018801200820063602002002200a41016a36020420022006360200200a2001470d0920062007360290012006201137020820062010360204200641013b018a01200741013b018801200720063602000b200020093602082000200b3602042000200c360200200541306a2480808080000f0b4104418c0110b980808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b41f0adc18000413541a8aec1800010f480808000000b41fcaac18000108a81808000000b410441bc0110b980808000000b41bcabc18000413041ecabc1800010f480808000000b8d0401097f23808080800041206b2202248080808000200128020022032f018a01210441002d00b8bfd380001a0240024002400240024041bc0141002802b0bfd38000118280808000002205450d0020054100360200200520032f018a01220620012802082207417f736a22083b018a01200241106a41086a200341046a22092007410c6c6a220a41086a2802003602002002200a2902003703102008410c4f0d012006200741016a220a6b2008470d02200541046a2009200a410c6c6a2008410c6c10e9968080001a200320073b018a01200241086a200241106a41086a2802003602002002200229031037030020052f018a01220841016a210a2008410c4f0d03200420076b2206200a470d042005418c016a200320074102746a4190016a200641027410e996808000210a200128020421064100210702400340200a20074102746a280200220120073b01880120012005360200200720084f0d01200720072008496a220720084d0d000b0b200020063602102000200336020c200020022903003702002000200636021820002005360214200041086a200241086a280200360200200241206a2480808080000f0b410441bc0110b980808000000b2008410b41d0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000b200a410c41e0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000bbb1b010d7f23808080800041e0026b220524808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f01f6062207410b490d00200128020421072001280208210841002d00b8bfd380001a41f80641002802b0bfd38000118280808000002209450d0b200941003b01f606200941003602f00620084105490d012008417b6a0e020304020b02402001280208220841016a220920074b0d002006200941d0006c6a2006200841d0006c6a200720086b41d0006c10ec968080001a0b2006200841d0006c6a200241d00010e9968080001a2006200741016a3b01f6062001280204210a0c070b200920062f01f606417b6a22013b01f60620054180026a200641c0026a41cc0010e9968080001a200541fc016a41026a220b2006418f036a2d00003a0000200520062f008d033b01fc012001410c4f0d0a20062d008c03210c200920064190036a200141d0006c10e9968080001a200641043b01f606200541b0016a20054180026a41cc0010e9968080001a200541ac016a41026a200b2d00003a0000200520052f01fc013b01ac012007210a2006210d0c040b200920062f01f60641796a22013b01f60620054180026a200641e0036a41cc0010e9968080001a200541fc016a41026a220b200641af046a2d00003a0000200520062f00ad043b01fc012001410c4f0d0a20062d00ac04210c2009200641b0046a200141d0006c10e9968080001a200641063b01f606200541b0016a20054180026a41cc0010e9968080001a200541ac016a41026a200b2d00003a0000200520052f01fc013b01ac01200841796a21080c020b200920062f01f606417a6a22013b01f60620054180026a20064190036a220841cc0010e9968080001a200541fc016a41026a220b200641df036a2d00003a0000200520062f00dd033b01fc012001410c4f0d0a20062d00dc03210c2009200641e0036a200141d0006c10e9968080001a200541b0016a20054180026a41cc0010e9968080001a200541ac016a41026a200b2d00003a0000200520052f01fc013b01ac012008200241d00010e9968080001a200641063b01f606410521082007210a2006210d0c030b200920062f01f606417a6a22013b01f60620054180026a20064190036a41cc0010e9968080001a200541fc016a41026a2208200641df036a2d00003a0000200520062f00dd033b01fc012001410c4f0d0a20062d00dc03210c2009200641e0036a200141d0006c10e9968080001a200641053b01f606200541b0016a20054180026a41cc0010e9968080001a200541ac016a41026a20082d00003a0000200520052f01fc013b01ac01410021080b4100210a2009210d0b0240200d2f01f606220120084d0d00200d200841d0006c6a220b41d0006a200b200120086b41d0006c10ec968080001a0b200d200841d0006c6a200241d00010e9968080001a200d200141016a3b01f6060b200541106a200541b0016a41cc0010e9968080001a2005410c6a41026a2201200541ac016a41026a2d00003a0000200520052f01ac013b010c200c41ff01714102470d01200d21060b200020083602082000200a360204200020063602000c010b200541e0006a200541106a41cc0010e9968080001a200541dc006a41026a20012d00003a0000200520052f010c3b015c0240024020062802f00622010d00410021020c010b200541dd026a210e20054180026a41106a210f41002102034020072002470d0820062f01f406210602400240024002400240024002400240024020012f01f6062202410b490d00200741016a210220064105490d01410021074105210b2006417b6a0e020204030b200641016a21070240200620024f220e0d002001200741d0006c6a2001200641d0006c6a200220066b41d0006c10ec968080001a0b200241016a21102001200641d0006c6a200541e0006a41cc0010e996808000220b200c3a004c200b20052f015c3b004d200b41cf006a200541dc006a41026a2d00003a0000200141f8066a210b200241026a210c0240200e0d00200b20064102746a41086a200b20074102746a200220066b41027410ec968080001a0b200120103b01f606200b20074102746a20093602002007200c4f0d060240200220066b220b41016a4103712209450d00200120064102746a41fc066a210603402006280200220220073b01f406200220013602f006200641046a2106200741016a21072009417f6a22090d000b0b200b4103490d06200741027420016a4184076a21060340200641746a280200220920073b01f406200920013602f006200641786a2802002209200741016a3b01f406200920013602f0062006417c6a2802002209200741026a3b01f406200920013602f00620062802002209200741036a3b01f406200920013602f006200641106a2106200c200741046a2207470d000c070b0b20054104360218200520023602142005200136021020054180026a200541106a10a2838080002005280280022101200621070c030b20054105360218200520023602142005200136021020054180026a200541106a10a28380800020052802800222064190036a210720062f01f606220141016a21020240024020014106490d00200641e0036a2007200141d0006c41f07c6a10ec968080001a2007200541e0006a41cc0010e9968080001a2006200c3a00dc03200620052f015c3b00dd03200641df036a200541dc006a41026a2d00003a000020064194076a20064190076a2001410274416c6a10ec968080001a200620023b01f60620062009360290070c010b2007200541e0006a41cc0010e9968080001a2006200c3a00dc032006200936029007200620023b01f606200620052f015c3b00dd03200641df036a200541dc006a41026a2d00003a000020014105470d040b200141037121024106210702402001417b6a4103490d00200141fcff037141786a210b41062101410021090340200620096a22074190076a280200220c20013b01f406200c20063602f00620074194076a280200220c200141016a3b01f406200c20063602f00620074198076a280200220c200141026a3b01f406200c20063602f0062007419c076a2802002207200141036a3b01f406200720063602f006200941106a21092001417a6a210c200141046a22072101200c200b470d000b0b2002450d03200620074102746a41f8066a210103402001280200220920073b01f406200920063602f006200141046a2101200741016a21072002417f6a22020d000c040b0b200641796a21074106210b0b2005200b360218200520023602142005200136021020054180026a200541106a10a28380800020052802880221010b200741016a21062001200741d0006c6a210b20012f01f606220241016a211002400240200220074b0d00200b200541e0006a41cc0010e996808000220b200c3a004c200b20052f015c3b004d200b41cf006a200541dc006a41026a2d00003a00000c010b2001200641d0006c6a200b200220076b221141d0006c10ec968080001a200b200541e0006a41cc0010e996808000220b200c3a004c200b20052f015c3b004d200b41cf006a200541dc006a41026a2d00003a0000200141f8066a220c20074102746a41086a200c20064102746a201141027410ec968080001a0b200120064102746a41f8066a2009360200200120103b01f60602402006200241026a220c4f0d000240200220076b220b41016a4103712209450d00200120074102746a41fc066a210703402007280200220220063b01f406200220013602f006200741046a2107200641016a21062009417f6a22090d000b0b200b4103490d00200120064102746a4184076a21070340200741746a280200220920063b01f406200920013602f006200741786a2802002209200641016a3b01f406200920013602f0062007417c6a2802002209200641026a3b01f406200920013602f00620072802002209200641036a3b01f406200920013602f006200741106a2107200c200641046a2206470d000b0b20052802800221060b200528028c02210220052802880221092005280284022107200541b0016a200f41cc0010e9968080001a200541fc016a41026a2201200e41026a2d00003a00002005200e2f00003b01fc0120052d00dc02220c4102470d010b200020083602082000200a3602042000200d3602000c030b200541e0006a200541b0016a41cc0010e9968080001a200541dc006a41026a20012d00003a0000200520052f01fc013b015c20062802f00622010d000b0b200328020022012802002207450d072001280204210b41002d00b8bfd380001a41a80741002802b0bfd38000118280808000002206450d08200620073602f806200641003b01f606200641003602f006200741003b01f406200720063602f0062001200b41016a36020420012006360200200b2002470d09200641013b01f6062006200541e0006a41cc0010e9968080002206200c3a004c200620093602fc06200620052f015c3b004d200641cf006a200541de006a2d00003a0000200020083602082000200a3602042000200d360200200941013b01f406200920063602f0060b200541e0026a2480808080000f0b410441f80610b980808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b41f0adc18000413541a8aec1800010f480808000000b41fcaac18000108a81808000000b410441a80710b980808000000b41bcabc18000413041ecabc1800010f480808000000bed0301087f23808080800041a0016b2202248080808000200128020022032f01f606210441002d00b8bfd380001a0240024002400240024041a80741002802b0bfd38000118280808000002205450d00200541003602f006200520032f01f606220620012802082207417f736a22083b01f606200241d0006a2003200741d0006c6a41d00010e9968080001a2008410c4f0d012006200741016a22096b2008470d0220052003200941d0006c6a200841d0006c10e9968080002106200320073b01f6062002200241d0006a41d00010e996808000210920062f01f606220541016a21082005410c4f0d03200420076b22022008470d04200641f8066a200320074102746a41fc066a200241027410e9968080002102200128020421014100210702400340200220074102746a280200220820073b01f406200820063602f006200720054f0d01200720072005496a220720054d0d000b0b2000200136020420002003360200200041106a200941d00010e9968080001a2000200136020c20002006360208200941a0016a2480808080000f0b410441a80710b980808000000b2008410b41d0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000b2008410c41e0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000bd72001147f2380808080004190016b22062480808080000240024002400240024002400240024002400240024002400240024002400240200128020022072f0192032208410b490d00200128020421092001280208210a41002d00b8bfd380001a41940341002802b0bfd38000118280808000002208450d09200841003b019203200841003602e002200a4105490d01200a417b6a0e020304020b200741e4026a220b200128020822094102746a210c200941016a220d20084d0d06200c20023602000c070b200820072f019203417b6a22013b019203200641d8006a41086a220d20074188016a290000370300200641d8006a41106a220b20074190016a290000370300200641d8006a41186a220e20074198016a29000037030020062007290080013703582001410c4f0d0820072802f402210c200841e4026a200741f8026a200141027410e9968080001a2008200741a0016a200141057410e9968080001a200741043b019203200641286a41086a200d290300370300200641286a41106a200b290300370300200641286a41186a200e290300370300200620062903583703282009210f200721100c040b200820072f01920341796a22013b019203200641d8006a41086a220d200741c8016a290000370300200641d8006a41106a220b200741d0016a290000370300200641d8006a41186a220e200741d8016a290000370300200620072900c0013703582001410c4f0d0820072802fc02210c200841e4026a20074180036a200141027410e9968080001a2008200741e0016a200141057410e9968080001a200741063b019203200641286a41086a200d290300370300200641286a41106a200b290300370300200641286a41186a200e29030037030020062006290358370328200a41796a210a0c020b200820072f019203417a6a22013b019203200641d8006a41086a220d200741a8016a290000370300200641d8006a41106a220b200741b0016a290000370300200641d8006a41186a220e200741b8016a290000370300200620072900a0013703582001410c4f0d0820072802f802210c200841e4026a200741fc026a200141027410e9968080001a4105210a2008200741c0016a200141057410e9968080001a200641286a41186a200e290300370300200641286a41106a200b290300370300200641286a41086a200d29030037030020062006290358370328200720023602f802200741063b019203200741a0016a22012003290000370000200141086a200341086a290000370000200141106a200341106a290000370000200141186a200341186a2900003700002009210f200721100c0a0b200820072f019203417a6a22013b019203200641d8006a41086a220d200741a8016a290000370300200641d8006a41106a220b200741b0016a290000370300200641d8006a41186a220e200741b8016a290000370300200620072900a0013703582001410c4f0d0820072802f802210c200841e4026a200741fc026a200141027410e9968080001a2008200741c0016a200141057410e9968080001a200741053b019203200641286a41086a200d290300370300200641286a41106a200b290300370300200641286a41186a200e290300370300200620062903583703284100210a0b4100210f200821100b201041e4026a220b200a4102746a21010240024020102f019203220d200a4b0d00200120023602000c010b200b200a41016a220e4102746a2001200d200a6b220b41027410ec968080001a200120023602002010200e4105746a2010200a4105746a200b41057410ec968080001a0b2010200a4105746a220141186a200341186a290000370000200141106a200341106a29000037000020012003290000370000200141086a200341086a2900003700002010200d41016a3b0192030c070b200b200d4102746a200c200820096b220b41027410ec968080001a200c20023602002007200d4105746a200720094105746a200b41057410ec968080001a0b200720094105746a220c41186a200341186a290000370000200c41106a200341106a290000370000200c2003290000370000200c41086a200341086a2900003700002007200841016a3b019203200128020421032000200936020820002003360204200020073602000c060b410441940310b980808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b200641086a41186a220b200641286a41186a220e290300370300200641086a41106a2211200641286a41106a2212290300370300200641086a41086a2213200641286a41086a221429030037030020062006290328370308024002400240024002400240024020072802e00222030d00410021010c010b200641e4006a210241002101034020092001470d0220072f0190032107024002400240024002400240024020032f0192032201410b490d00200941016a210120074105490d01410021094105210d2007417b6a0e020204030b200341e4026a220b2007410274220e6a2102200741016a2109200141016a210d0240024020072001490d002002200c360200200320074105746a220c2006290308370000200c41186a200641086a41186a290300370000200c41106a200641086a41106a290300370000200c41086a200641086a41086a2903003700000c010b200b200941027422116a2002200120076b220b410274221210ec968080001a2002200c360200200320094105746a200320074105746a220c200b41057410ec968080001a200c41186a200641086a41186a290300370000200c41106a200641086a41106a290300370000200c41086a200641086a41086a290300370000200c200629030837000020034194036a220c200e6a41086a200c20116a201210ec968080001a0b2003200d3b019203200320094102746a4194036a20083602002009200141026a220c4f0d0c0240200120076b220241016a4103712201450d00200320074102746a4198036a210703402007280200220820093b019003200820033602e002200741046a2107200941016a21092001417f6a22010d000b0b20024103490d0c200941027420036a41a0036a21070340200741746a280200220120093b019003200120033602e002200741786a2802002201200941016a3b019003200120033602e0022007417c6a2802002201200941026a3b019003200120033602e00220072802002201200941036a3b019003200120033602e002200741106a2107200c200941046a2209470d000c0d0b0b20064104360254200620013602502006200336024c200641d8006a200641cc006a10a48380800020062802582103200721090c030b20064105360254200620013602502006200336024c200641d8006a200641cc006a10a483808000200628025822072f019203220341016a210902400240024020034106490d00200741fc026a200741f8026a2003417b6a220141027410ec968080001a2007200c3602f802200741c0016a200741a0016a200141057410ec968080001a200741b8016a200b290300370000200741b0016a2011290300370000200741a8016a2013290300370000200720062903083700a001200741b0036a200741ac036a2003410274416c6a10ec968080001a200720093b019203200720083602ac030c010b2007200c3602f802200720062903083700a001200720083602ac03200720093b019203200741a8016a2013290300370000200741b0016a2011290300370000200741b8016a200b29030037000020034105470d010b200341037121084106210902402003417b6a4103490d00200341fcff037141786a210d41062103410021010340200720016a220941ac036a280200220c20033b019003200c20073602e002200941b0036a280200220c200341016a3b019003200c20073602e002200941b4036a280200220c200341026a3b019003200c20073602e002200941b8036a2802002209200341036a3b019003200920073602e002200141106a21012003417a6a210c200341046a22092103200c200d470d000b0b2008450d00200720094102746a4194036a210303402003280200220120093b019003200120073602e002200341046a2103200941016a21092008417f6a22080d000b0b2014200241086a2902003703002012200241106a290200370300200e200241186a290200370300200620022902003703280c030b200741796a21094106210d0b2006200d360254200620013602502006200336024c200641d8006a200641cc006a10a48380800020062802840121030b200341e4026a2215200941027422166a210d200941016a210720032f019203220141016a211702400240200120094b0d00200d200c360200200320094105746a220c2006290308370000200c41186a200b290300370000200c41106a2011290300370000200c41086a20132903003700000c010b2015200741027422186a200d200120096b2215410274221910ec968080001a200d200c360200200320074105746a200320094105746a220c201541057410ec968080001a200c41186a200b290300370000200c41106a2011290300370000200c41086a2013290300370000200c200629030837000020034194036a220c20166a41086a200c20186a201910ec968080001a0b200320074102746a4194036a2008360200200320173b01920302402007200141026a220c4f0d000240200120096b220d41016a4103712201450d00200320166a4198036a210903402009280200220820073b019003200820033602e002200941046a2109200741016a21072001417f6a22010d000b0b200d4103490d00200320074102746a41a0036a21090340200941746a280200220120073b019003200120033602e002200941786a2802002201200741016a3b019003200120033602e0022009417c6a2802002201200741026a3b019003200120033602e00220092802002201200741036a3b019003200120033602e002200941106a2109200c200741046a2207470d000b0b2014200241086a2902003703002012200241106a290200370300200e200241186a2902003703002006200229020037032820062802582207450d070b2006280260210c200628025c210920062802840121082006280288012101200b200e29030037030020112012290300370300201320142903003703002006200629032837030820072802e00222030d000b0b200428020022032802002209450d012003280204210241002d00b8bfd380001a41c40341002802b0bfd38000118280808000002207450d022007200936029403200741003b019203200741003602e002200941003b019003200920073602e0022003200241016a3602042003200736020020022001470d032007200c3602e402200741013b019203200720062903083702002007200836029803200741086a200641086a41086a290300370200200741106a200641086a41106a290300370200200741186a200641086a41186a290300370200200841013b019003200820073602e002200020103602002000200f3602042000200a3602080c050b41f0adc18000413541a8aec1800010f480808000000b41fcaac18000108a81808000000b410441c40310b980808000000b41bcabc18000413041ecabc1800010f480808000000b2000200a3602082000200f360204200020103602000b20064190016a2480808080000baa0501097f23808080800041c0006b2202248080808000200128020022032f019203210441002d00b8bfd380001a0240024002400240024041c40341002802b0bfd38000118280808000002205450d00200541003602e002200520032f019203220620012802082207417f736a22083b019203200241206a41086a200320074105746a220941086a290000370300200241206a41106a200941106a290000370300200241206a41186a200941186a290000370300200220092900003703202008410c4f0d012006200741016a22096b2008470d02200341e4026a220620074102746a280200210a200541e4026a200620094102746a200841027410e9968080001a2005200320094105746a200841057410e9968080002109200320073b019203200241086a200241206a41086a290300370300200241106a200241206a41106a290300370300200241186a200241206a41186a2903003703002002200229032037030020092f019203220541016a21082005410c4f0d03200420076b22062008470d0420094194036a200320074102746a4198036a200641027410e9968080002106200128020421014100210702400340200620074102746a280200220820073b019003200820093602e002200720054f0d01200720072005496a220720054d0d000b0b2000200a36020820002001360204200020033602002000200229030037020c200020013602302000200936022c200041146a200241086a2903003702002000411c6a200241106a290300370200200041246a200241186a290300370200200241c0006a2480808080000f0b410441c40310b980808000000b2008410b41d0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000b2008410c41e0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000bf91c03087f017e057f23808080800041e0006b220624808080800002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01ba022208410b490d00200128020421092001280208210a41002d00b8bfd380001a41bc0241002802b0bfd38000118280808000002208450d0e200841003b01ba02200841003602b001200a4105490d01200a417b6a0e020304020b200741b4016a220b2001280208220a410c6c6a210902400240200a41016a220c20084d0d0020092002290200370200200941086a200241086a2802003602000c010b200b200c410c6c6a20092008200a6b220b410c6c10ec968080001a200941086a200241086a280200360200200920022902003702002007200c4104746a2007200a4104746a200b41047410ec968080001a0b2007200a4104746a220941086a200341086a290200370200200920032902003702002007200841016a3b01ba022001280204210d0c070b200820072f01ba02417b6a22013b01ba02200641306a41086a220b200741c8006a290200370300200620072902403703302001410c4f0d0b20072902e801210e20072802e401210c200841b4016a200741f0016a2001410c6c10e9968080001a2008200741d0006a200141047410e9968080001a200741043b01ba02200641206a41086a200b290300370300200620062903303703202009210d2007210f0c040b200820072f01ba0241796a22013b01ba02200641306a41086a220b200741e8006a290200370300200620072902603703302001410c4f0d09200729028002210e20072802fc01210c200841b4016a20074188026a2001410c6c10e9968080001a2008200741f0006a200141047410e9968080001a200741063b01ba02200641206a41086a200b29030037030020062006290330370320200a41796a210a0c020b200820072f01ba02417a6a22013b01ba02200641306a41086a220a200741d8006a290200370300200620072902503703302001410c4f0d0720072902f401210e20072802f001210c200841b4016a200741fc016a2001410c6c10e9968080001a2008200741e0006a200141047410e9968080001a200641206a41086a200a29030037030020062006290330370320200741063b01ba02200741f0016a220141086a200241086a28020036020020012002290200370200200741d0006a22012003290200370200200141086a200341086a2902003702004105210a2009210d2007210f0c030b200820072f01ba02417a6a22013b01ba02200641306a41086a220a200741d8006a290200370300200620072902503703302001410c4f0d0520072902f401210e20072802f001210c200841b4016a200741fc016a2001410c6c10e9968080001a2008200741e0006a200141047410e9968080001a200741053b01ba02200641206a41086a200a290300370300200620062903303703204100210a0b4100210d2008210f0b200f41b4016a2210200a410c6c6a210102400240200f2f01ba02220b200a4b0d0020012002290200370200200141086a200241086a2802003602000c010b2010200a41016a2211410c6c6a2001200b200a6b2210410c6c10ec968080001a200141086a200241086a28020036020020012002290200370200200f20114104746a200f200a4104746a201041047410ec968080001a0b200f200a4104746a220141086a200341086a29020037020020012003290200370200200f200b41016a3b01ba020b200641086a2201200641206a41086a29030037030020062006290320370300200c418080808078470d01200f21070b2000200a3602082000200d360204200020073602000c070b200641106a41086a2001290300370300200620062903003703100240024020072802b00122010d00410021030c010b200641d4006a2112200641cc006a2113200641306a410c6a210b4100210303400240024020092003470d0020072f01b8022103024002400240024002400240024020012f01ba022202410b490d00200941016a210720034105490d012003417b6a0e020304020b200141b4016a22102003410c6c6a2109200341016a2107200241016a210b0240024020032002490d002009200e3702042009200c360200200120034104746a22092006290310370200200941086a200641106a41086a2903003702000c010b20102007410c6c6a2009200220036b2210410c6c10ec968080001a2009200e3702042009200c360200200120074104746a200120034104746a2209201041047410ec968080001a200941086a200641106a41086a29030037020020092006290310370200200141bc026a220920034102746a41086a200920074102746a201041027410ec968080001a0b2001200b3b01ba02200120074102746a41bc026a20083602002007200241026a220c4f0d0f0240200220036b220241016a4103712208450d00200120034102746a41c0026a210303402003280200220920073b01b802200920013602b001200341046a2103200741016a21072008417f6a22080d000b0b20024103490d0f200741027420016a41c8026a21030340200341746a280200220820073b01b802200820013602b001200341786a2802002208200741016a3b01b802200820013602b0012003417c6a2802002208200741026a3b01b802200820013602b00120032802002208200741036a3b01b802200820013602b001200341106a2103200c200741046a2207470d000c100b0b2006200136020041042101201321090c040b20062001360200200341796a2103410621010c020b200641053602082006200736020420062001360200200641306a200610a683808000200628024c22072f01ba02220141016a210302400240024020014106490d00200741fc016a200741f0016a2001417b6a2209410c6c10ec968080001a2007200e3702f4012007200c3602f001200741e0006a200741d0006a200941047410ec968080001a200741d8006a200641106a41086a29030037020020072006290310370250200741d8026a200741d4026a2001410274416c6a10ec968080001a200720033b01ba02200720083602d4020c010b2007200e3702f4012007200c3602f00120072006290310370250200720083602d402200720033b01ba02200741d8006a200641106a41086a29030037020020014105470d010b200141037121094106210302402001417b6a4103490d00200141fcff037141786a210c41062101410021080340200720086a220341d4026a280200220220013b01b802200220073602b001200341d8026a2802002202200141016a3b01b802200220073602b001200341dc026a2802002202200141026a3b01b802200220073602b001200341e0026a2802002203200141036a3b01b802200320073602b001200841106a21082001417a6a2102200141046a220321012002200c470d000b0b2009450d00200720034102746a41bc026a210103402001280200220820033b01b802200820073602b001200141046a2101200341016a21032009417f6a22090d000b0b200641206a41086a200b41086a2902003703002006200b2902003703200c040b2006200136020041002103410521010b201221090b2006200136020820062007360204200641306a200610a6838080002009280200220141b4016a22112003410c6c6a2102200341016a210720012f01ba02220941016a211002400240200920034b0d002002200e3702042002200c360200200120034104746a22022006290310370200200241086a200641106a41086a2903003702000c010b20112007410c6c6a2002200920036b2211410c6c10ec968080001a2002200e3702042002200c360200200120074104746a200120034104746a2202201141047410ec968080001a200241086a200641106a41086a29030037020020022006290310370200200141bc026a220220034102746a41086a200220074102746a201141027410ec968080001a0b200120074102746a41bc026a2008360200200120103b01ba0202402007200941026a22024f0d000240200920036b220c41016a4103712208450d00200120034102746a41c0026a210303402003280200220920073b01b802200920013602b001200341046a2103200741016a21072008417f6a22080d000b0b200c4103490d00200120074102746a41c8026a21030340200341746a280200220820073b01b802200820013602b001200341786a2802002208200741016a3b01b802200820013602b0012003417c6a2802002208200741026a3b01b802200820013602b00120032802002208200741036a3b01b802200820013602b001200341106a21032002200741046a2207470d000b0b200641206a41086a200b41086a2902003703002006200b290200370320200628024c21070c010b41f0adc18000413541a8aec1800010f480808000000b2006290234210e2006280230220c418080808078460d07200628025821032006280254210820062802502109200641106a41086a200641206a41086a2903003703002006200629032037031020072802b00122010d000b0b024002400240200428020022012802002209450d002001280204210241002d00b8bfd380001a41ec0241002802b0bfd38000118280808000002207450d01200720093602bc02200741003b01ba02200741003602b001200941003b01b802200920073602b0012001200241016a3602042001200736020020022003470d022007200e3702b8012007200c3602b401200741013b01ba0220072006290310370200200720083602c002200741086a200641106a41086a2903003702002000200a3602082000200d3602042000200f360200200841013b01b802200820073602b0010c090b41fcaac18000108a81808000000b410441ec0210b980808000000b41bcabc18000413041ecabc1800010f480808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b410441bc0210b980808000000b2000200a3602082000200d3602042000200f3602000b200641e0006a2480808080000b8c05010a7f23808080800041c0006b2202248080808000200128020022032f01ba02210441002d00b8bfd380001a0240024002400240024041ec0241002802b0bfd38000118280808000002205450d00200541003602b001200520032f01ba02220620012802082207417f736a22083b01ba02200241206a41086a200341b4016a22092007410c6c6a220a41086a280200360200200241306a41086a200320074104746a220b41086a2902003703002002200a2902003703202002200b2902003703302008410c4f0d012006200741016a220a6b2008470d02200541b4016a2009200a410c6c6a2008410c6c10e9968080001a20052003200a4104746a200841047410e996808000210a200320073b01ba02200241086a200241206a41086a280200360200200241146a200241306a41086a290300370200200220022903203703002002200229033037020c200a2f01ba02220541016a21082005410c4f0d03200420076b220b2008470d04200a41bc026a200320074102746a41c0026a200b41027410e996808000210b200128020421014100210702400340200b20074102746a280200220820073b01b8022008200a3602b001200720054f0d01200720072005496a220720054d0d000b0b200020013602202000200336021c20002002290300370200200020013602282000200a360224200041086a200241086a290300370200200041106a200241106a290300370200200041186a200241186a280200360200200241c0006a2480808080000f0b410441ec0210b980808000000b2008410b41d0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000b2008410c41e0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000bf61b010f7f23808080800041f0006b220524808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f018e022207410b490d00200128020421072001280208210841002d00b8bfd380001a41900241002802b0bfd38000118280808000002209450d0b200941003b018e02200941003602880220084105490d012008417b6a0e020304020b02402001280208220841016a220920074b0d002006200941186c6a2006200841186c6a200720086b41186c10ec968080001a0b2006200841186c6a22092002290200370200200941106a200241106a290200370200200941086a200241086a2902003702002006200741016a3b018e022001280204210a0c070b200920062f018e02417b6a22013b018e02200541c8006a41086a220b200641ec006a290200370300200541c8006a41106a220c200641f4006a280200360200200520062902643703482001410c4f0d0a2006280260210d2009200641f8006a200141186c10e9968080001a200641043b018e02200541306a41086a200b290300370300200541306a41106a200c280200360200200520052903483703302007210a2006210e0c040b200920062f018e0241796a22013b018e02200541c8006a41086a220b2006419c016a290200370300200541c8006a41106a220c200641a4016a28020036020020052006290294013703482001410c4f0d0a200628029001210d2009200641a8016a200141186c10e9968080001a200641063b018e02200541306a41086a200b290300370300200541306a41106a200c28020036020020052005290348370330200841796a21080c020b200920062f018e02417a6a22013b018e02200541c8006a41086a220b20064184016a290200370300200541c8006a41106a22082006418c016a2802003602002005200629027c3703482001410c4f0d0a2006280278210d200920064190016a200141186c10e9968080001a200541306a41106a2008280200360200200541306a41086a200b29030037030020052005290348370330200641063b018e02200641f8006a220141106a200241106a290200370200200141086a200241086a29020037020020012002290200370200410521082007210a2006210e0c030b200920062f018e02417a6a22013b018e02200541c8006a41086a220b20064184016a290200370300200541c8006a41106a22082006418c016a2802003602002005200629027c3703482001410c4f0d0a2006280278210d200920064190016a200141186c10e9968080001a200641053b018e02200541306a41086a200b290300370300200541306a41106a200828020036020020052005290348370330410021080b4100210a2009210e0b0240200e2f018e02220b20084d0d00200e200841186c6a220141186a2001200b20086b41186c10ec968080001a0b200e200841186c6a22012002290200370200200141106a200241106a290200370200200141086a200241086a290200370200200e200b41016a3b018e020b200541106a2201200541306a41106a280200360200200541086a2202200541306a41086a29030037030020052005290330370300200d418080808078470d01200e21060b200020083602082000200a360204200020063602000c010b200541186a41106a2001280200360200200541186a41086a2002290300370300200520052903003703180240024020062802880222020d00410021010c010b200541e8006a210f200541e0006a2110200541c8006a41046a210c41002101200541186a41106a2111034020072001470d0820062f018c022101024002400240024002400240024002400240024020022f018e02220b410b490d00200741016a210620014105490d012001417b6a0e020304020b200141016a2106200b41016a210c2002200141186c6a2107024002402001200b490d002007200d360200200720052903183702042007410c6a200541206a290300370200200741146a200541286a2802003602000c010b2002200641186c6a2007200b20016b221141186c10ec968080001a2007200d360200200720052903183702042007410c6a200541186a41086a290300370200200741146a200541286a28020036020020024190026a220720014102746a41086a200720064102746a201141027410ec968080001a0b2002200c3b018e02200220064102746a4190026a20093602002006200b41026a220d4f0d070240200b20016b220b41016a4103712207450d00200220014102746a4194026a210103402001280200220920063b018c022009200236028802200141046a2101200641016a21062007417f6a22070d000b0b200b4103490d07200641027420026a419c026a21010340200141746a280200220720063b018c022007200236028802200141786a2802002207200641016a3b018c0220072002360288022001417c6a2802002207200641026a3b018c02200720023602880220012802002207200641036a3b018c022007200236028802200141106a2101200d200641046a2206470d000c080b0b2005200236020041042102201021070c040b20052002360200200141796a2101410621020c020b200541053602082005200636020420052002360200200541c8006a200510a883808000200528026022062f018e02220141016a210202400240024020014106490d0020064190016a200641f8006a200141186c41887f6a10ec968080001a2006200d3602782006200529031837027c20064184016a200541186a41086a2903003702002006418c016a2011280200360200200641ac026a200641a8026a2001410274416c6a10ec968080001a200620023b018e02200620093602a8020c010b2006200d3602782006200529031837027c200620093602a802200620023b018e0220064184016a200541186a41086a2903003702002006418c016a201128020036020020014105470d010b200141037121094106210202402001417b6a4103490d00200141fcff037141786a210b41062101410021070340200620076a220241a8026a280200220d20013b018c02200d200636028802200241ac026a280200220d200141016a3b018c02200d200636028802200241b0026a280200220d200141026a3b018c02200d200636028802200241b4026a2802002202200141036a3b018c022002200636028802200741106a21072001417a6a210d200141046a22022101200d200b470d000b0b2009450d00200620024102746a4190026a210103402001280200220720023b018c022007200636028802200141046a2101200241016a21022009417f6a22090d000b0b200541306a41086a200c41086a290200370300200541306a41106a200c41106a2802003602002005200c2902003703300c030b2005200236020041002101410521020b200f21070b2005200236020820052006360204200141016a2106200541c8006a200510a88380800020072802002202200141186c6a210720022f018e02220b41016a211202400240200b20014b0d002007200d360200200720052903183702042007410c6a200541186a41086a290300370200200741146a20112802003602000c010b2002200641186c6a2007200b20016b221341186c10ec968080001a2007200d360200200720052903183702042007410c6a200541186a41086a290300370200200741146a201128020036020020024190026a220720014102746a41086a200720064102746a201341027410ec968080001a0b200220064102746a4190026a2009360200200220123b018e0202402006200b41026a220d4f0d000240200b20016b220b41016a4103712207450d00200220014102746a4194026a210103402001280200220920063b018c022009200236028802200141046a2101200641016a21062007417f6a22070d000b0b200b4103490d00200220064102746a419c026a21010340200141746a280200220720063b018c022007200236028802200141786a2802002207200641016a3b018c0220072002360288022001417c6a2802002207200641026a3b018c02200720023602880220012802002207200641036a3b018c022007200236028802200141106a2101200d200641046a2206470d000b0b200541306a41086a200c41086a290200370300200541306a41106a200c41106a2802003602002005200c290200370330200528026021060b2005280248220d418080808078470d010b200020083602082000200a3602042000200e3602000c030b200528026c210120052802682109200528026421072011200541306a41106a280200360200200541186a41086a200541306a41086a2903003703002005200529033037031820062802880222020d000b0b200328020022022802002207450d072002280204210b41002d00b8bfd380001a41c00241002802b0bfd38000118280808000002206450d082006200736029002200641003b018e022006410036028802200741003b018c0220072006360288022002200b41016a36020420022006360200200b2001470d092006200d360200200641013b018e022006200529031837020420062009360294022006410c6a200541206a290300370200200641146a200541286a280200360200200020083602082000200a3602042000200e360200200941013b018c0220092006360288020b200541f0006a2480808080000f0b410441900210b980808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b41f0adc18000413541a8aec1800010f480808000000b41fcaac18000108a81808000000b410441c00210b980808000000b41bcabc18000413041ecabc1800010f480808000000bbe0401087f23808080800041306b2202248080808000200128020022032f018e02210441002d00b8bfd380001a0240024002400240024041c00241002802b0bfd38000118280808000002205450d002005410036028802200520032f018e02220620012802082207417f736a22083b018e02200241186a41086a2003200741186c6a220941086a290200370300200241186a41106a200941106a290200370300200220092902003703182008410c4f0d012006200741016a22096b2008470d0220052003200941186c6a200841186c10e9968080002109200320073b018e02200241086a200241186a41086a290300370300200241106a200241186a41106a2903003703002002200229031837030020092f018e02220541016a21082005410c4f0d03200420076b22062008470d0420094190026a200320074102746a4194026a200641027410e9968080002106200128020421014100210702400340200620074102746a280200220820073b018c022008200936028802200720054f0d01200720072005496a220720054d0d000b0b2000200136021c20002003360218200020022903003702002000200136022420002009360220200041086a200241086a290300370200200041106a200241106a290300370200200241306a2480808080000f0b410441c00210b980808000000b2008410b41d0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000b2008410c41e0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000bc61b03087f017e057f23808080800041a0076b220624808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01aa142208410b490d00200128020421092001280208210a41002d00b8bfd380001a41ac1441002802b0bfd38000118280808000002208450d0b200841003b01aa14200841003602a013200a4105490d01200a417b6a0e020304020b200741a4136a220b2001280208220a410c6c6a210c02400240200a41016a220920084d0d00200c2002290200370200200c41086a200241086a2802003602000c010b200b2009410c6c6a200c2008200a6b220b410c6c10ec968080001a200c41086a200241086a280200360200200c20022902003702002007200941e0016c6a2007200a41e0016c6a200b41e0016c10ec968080001a0b2007200a41e0016c6a200341e00110e9968080001a2007200841016a3b01aa142001280204210d0c070b200820072f01aa14417b6a22013b01aa1420072802d413210c20072902d813210e200641a4056a20074180076a41e00110e9968080001a2001410c4f0d0a200841a4136a200741e0136a2001410c6c10e9968080001a2008200741e0086a200141e0016c10e9968080001a200741043b01aa14200641c4036a200641a4056a41e00110e9968080001a2009210d2007210b0c040b200820072f01aa1441796a22013b01aa1420072802ec13210c20072902f013210e200641a4056a200741c00a6a41e00110e9968080001a2001410c4f0d0a200841a4136a200741f8136a2001410c6c10e9968080001a2008200741a00c6a200141e0016c10e9968080001a200741063b01aa14200641c4036a200641a4056a41e00110e9968080001a200a41796a210a0c020b200820072f01aa14417a6a22013b01aa1420072802e013210c20072902e413210e200641a4056a200741e0086a220a41e00110e9968080001a2001410c4f0d0a200841a4136a200741ec136a2001410c6c10e9968080001a2008200741c00a6a200141e0016c10e9968080001a200641c4036a200641a4056a41e00110e9968080001a200741e0136a220141086a200241086a28020036020020012002290200370200200a200341e00110e9968080001a200741063b01aa144105210a2009210d2007210b0c030b200820072f01aa14417a6a22013b01aa1420072802e013210c20072902e413210e200641a4056a200741e0086a41e00110e9968080001a2001410c4f0d0a200841a4136a200741ec136a2001410c6c10e9968080001a2008200741c00a6a200141e0016c10e9968080001a200741053b01aa14200641c4036a200641a4056a41e00110e9968080001a4100210a0b4100210d2008210b0b200b41a4136a200a410c6c6a210102400240200b2f01aa14220f200a4b0d0020012002290200370200200141086a200241086a2802003602000c010b2001410c6a2001200f200a6b2210410c6c10ec968080001a200141086a200241086a28020036020020012002290200370200200b200a41e0016c6a220141e0016a2001201041e0016c10ec968080001a0b200b200a41e0016c6a200341e00110e9968080001a200b200f41016a3b01aa140b200641046a200641c4036a41e00110e9968080001a200c418080808078470d01200b21070b2000200a3602082000200d360204200020073602000c010b200641e4016a200641046a41e00110e9968080001a0240024020072802a01322010d00410021020c010b20064198076a211120064190076a2112200641a4056a410c6a211341002102034020092002470d0820072f01a8142102024002400240024002400240024002400240024020012f01aa142203410b490d00200941016a210720024105490d012002417b6a0e020304020b200141a4136a22102002410c6c6a2109200241016a2107200341016a210f0240024020022003490d002009200e3702042009200c3602002001200241e0016c6a200641e4016a41e00110e9968080001a0c010b20102007410c6c6a2009200320026b2210410c6c10ec968080001a2009200e3702042009200c3602002001200741e0016c6a2001200241e0016c6a220c201041e0016c10ec968080001a200c200641e4016a41e00110e9968080001a200141ac146a220c20024102746a41086a200c20074102746a201041027410ec968080001a0b2001200f3b01aa14200120074102746a41ac146a20083602002007200341026a22094f0d070240200320026b220341016a4103712208450d00200120024102746a41b0146a210203402002280200220c20073b01a814200c20013602a013200241046a2102200741016a21072008417f6a22080d000b0b20034103490d07200741027420016a41b8146a21020340200241746a280200220820073b01a814200820013602a013200241786a2802002208200741016a3b01a814200820013602a0132002417c6a2802002208200741026a3b01a814200820013602a01320022802002208200741036a3b01a814200820013602a013200241106a21022009200741046a2207470d000c080b0b2006200136020441042101201221090c040b20062001360204200241796a2102410621010c020b2006410536020c2006200736020820062001360204200641a4056a200641046a10aa8380800020062802900722072f01aa14220141016a210202400240024020014106490d00200741ec136a200741e0136a2001417b6a2209410c6c10ec968080001a2007200e3702e4132007200c3602e013200741c00a6a200741e0086a220c200941e0016c10ec968080001a200c200641e4016a41e00110e9968080001a200741c8146a200741c4146a2001410274416c6a10ec968080001a200720023b01aa14200720083602c4140c010b2007200e3702e4132007200c3602e013200741e0086a200641e4016a41e00110e9968080001a200720023b01aa14200720083602c41420014105470d010b2001410371210c4106210202402001417b6a4103490d00200141fcff037141786a210341062101410021080340200720086a220241c4146a280200220920013b01a814200920073602a013200241c8146a2802002209200141016a3b01a814200920073602a013200241cc146a2802002209200141026a3b01a814200920073602a013200241d0146a2802002202200141036a3b01a814200220073602a013200841106a21082001417a6a2109200141046a2202210120092003470d000b0b200c450d00200720024102746a41ac146a210103402001280200220820023b01a814200820073602a013200141046a2101200241016a2102200c417f6a220c0d000b0b20062902a805210e20062802a405210c200641c4036a201341e00110e9968080001a0c030b2006200136020441002102410521010b201121090b2006200136020c20062007360208200641a4056a200641046a10aa838080002009280200220141a4136a22102002410c6c6a2109200241016a210720012f01aa14220341016a210f02400240200320024b0d002009200e3702042009200c3602002001200241e0016c6a200641e4016a41e00110e9968080001a0c010b20102007410c6c6a2009200320026b2210410c6c10ec968080001a2009200e3702042009200c3602002001200741e0016c6a2001200241e0016c6a220c201041e0016c10ec968080001a200c200641e4016a41e00110e9968080001a200141ac146a220c20024102746a41086a200c20074102746a201041027410ec968080001a0b200120074102746a41ac146a20083602002001200f3b01aa1402402007200341026a22094f0d000240200320026b220341016a4103712208450d00200120024102746a41b0146a210203402002280200220c20073b01a814200c20013602a013200241046a2102200741016a21072008417f6a22080d000b0b20034103490d00200120074102746a41b8146a21020340200241746a280200220820073b01a814200820013602a013200241786a2802002208200741016a3b01a814200820013602a0132002417c6a2802002208200741026a3b01a814200820013602a01320022802002208200741036a3b01a814200820013602a013200241106a21022009200741046a2207470d000b0b20062902a805210e20062802a405210c200641c4036a201341e00110e9968080001a20062802900721070b200c418080808078470d010b2000200a3602082000200d3602042000200b3602000c030b200628029c07210220062802980721082006280294072109200641e4016a200641c4036a41e00110e9968080001a20072802a01322010d000b0b200428020022012802002209450d072001280204210341002d00b8bfd380001a41dc1441002802b0bfd38000118280808000002207450d08200720093602ac14200741003b01aa14200741003602a013200941003b01a814200920073602a0132001200341016a3602042001200736020020032002470d092007200e3702a8132007200c3602a413200741013b01aa142007200641e4016a41e00110e996808000220720083602b0142000200a3602082000200d3602042000200b360200200841013b01a814200820073602a0130b200641a0076a2480808080000f0b410441ac1410b980808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b2001410b41d0adc1800010aa81808000000b41f0adc18000413541a8aec1800010f480808000000b41fcaac18000108a81808000000b410441dc1410b980808000000b41bcabc18000413041ecabc1800010f480808000000bd50401097f23808080800041e0036b2202248080808000200128020022032f01aa14210441002d00b8bfd380001a0240024002400240024041dc1441002802b0bfd38000118280808000002205450d00200541003602a013200520032f01aa14220620012802082207417f736a22083b01aa14200241f0016a41086a200341a4136a22092007410c6c6a220a41086a2802003602002002200a2902003703f00120024180026a2003200741e0016c6a41e00110e9968080001a2008410c4f0d012006200741016a220a6b2008470d02200541a4136a2009200a410c6c6a2008410c6c10e9968080001a20052003200a41e0016c6a200841e0016c10e996808000210a200320073b01aa14200241086a200241f0016a41086a280200360200200220022903f0013703002002410c6a20024180026a41e00110e9968080001a200a2f01aa14220541016a21082005410c4f0d03200420076b22062008470d04200a41ac146a200320074102746a41b0146a200641027410e9968080002106200128020421014100210702400340200620074102746a280200220820073b01a8142008200a3602a013200720054f0d01200720072005496a220720054d0d000b0b200020013602f001200020033602ec012000200241ec0110e996808000220720013602f8012007200a3602f401200241e0036a2480808080000f0b410441dc1410b980808000000b2008410b41d0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000b2008410c41e0adc1800010aa81808000000b4198adc18000412841c0adc1800010f480808000000b9807030d7f037e027f23808080800041a0026b2202248080808000024002400240024002400240200028021422032f01e20c220420016a2205410c4f0d00200028020c22062f01e20c22072001490d012006200720016b22083b01e20c200320053b01e20c2003200141186c6a2003200441186c10ec968080001a2003418c026a2209200141fc006c6a2009200441fc006c10ec968080001a2007200841016a220a6b22072001417f6a470d0220032006200a41186c6a200741186c220b10e996808000210320092006418c026a220c200a41fc006c6a200741fc006c220d10e99680800021092002410c6a200c200841fc006c6a41fc0010e9968080001a2000280200220c2000280208220e41186c6a2207290200210f2006200841186c6a220841106a2902002110200841086a29020021112007200829020037020020024188016a41106a2212200741106a220829020037030020024188016a41086a2213200741086a220729020037030020072011370200200820103702002002200f37038801200241a4016a200c200e41fc006c6a418c026a220841fc0010e9968080001a20082002410c6a41fc0010e9968080001a2003200b6a220841106a2012290300370200200841086a201329030037020020082002290388013702002009200d6a200241a4016a41fc0010e9968080001a20002802182108024020002802100d002008450d050c060b2008450d05200341e40c6a2200200141027422016a2000200441027441046a10ec968080001a20002006200a4102746a41e40c6a200110e9968080001a200541016a220841037121064100210120054103490d03200341f00c6a21002008413c712107410021010340200041746a280200220820013b01e00c2008200336028802200041786a2802002208200141016a3b01e00c20082003360288022000417c6a2802002208200141026a3b01e00c200820033602880220002802002208200141036a3b01e00c2008200336028802200041106a21002007200141046a2201470d000c040b0b41b8aec18000413341ecaec1800010f480808000000b41fcaec18000412741a4afc1800010f480808000000b4198adc18000412841c0adc1800010f480808000000b2006450d00200141027420036a41e40c6a210003402000280200220820013b01e00c2008200336028802200041046a2100200141016a21012006417f6a22060d000b0b200241a0026a2480808080000f0b41b4afc18000412841dcafc1800010f480808000000b8909050c7f017e027f027e027f23808080800041a0026b2202248080808000024002400240024002400240200028020c22032f01e20c220420016a2205410c4f0d00200028021422062f01e20c22072001490d01200320053b01e20c2006200720016b22083b01e20c2002410c6a2006418c026a22092001417f6a220a41fc006c220b6a41fc0010e9968080001a2000280200220c2000280208220d41186c6a2207290200210e2006200a41186c220f6a221041106a2902002111201041086a29020021122007201029020037020020024188016a41106a2210200741106a221329020037030020024188016a41086a2214200741086a220729020037030020072012370200201320113702002002200e37038801200241a4016a200c200d41fc006c6a418c026a220741fc0010e9968080001a20072002410c6a41fc0010e9968080001a2003200441186c6a220741106a2010290300370200200741086a201429030037020020072002290388013702002003418c026a2210200441fc006c6a200241a4016a41fc0010e9968080001a200a2005200441016a22076b470d022003200741186c6a2006200f10e9968080001a2010200741fc006c6a2009200b10e9968080001a20062006200141186c6a200841186c10ec96808000210620092009200141fc006c6a200841fc006c10ec968080001a20002802182109024020002802100d002009450d050c060b2009450d05200320074102746a41e40c6a200641e40c6a22002001410274220910e9968080001a2000200020096a200841027441046a10ec968080001a024020014103712200450d00200441027420036a41e80c6a210103402001280200220420073b01e00c2004200336028802200141046a2101200741016a21072000417f6a22000d000b0b0240200a4103490d00200741027421000340200320006a220141e40c6a280200220420073b01e00c2004200336028802200141e80c6a2802002204200741016a3b01e00c2004200336028802200141ec0c6a2802002204200741026a3b01e00c2004200336028802200141f00c6a2802002201200741036a22043b01e00c2001200336028802200741046a2107200041106a210020042005470d000b0b2008417f460d04200841016a220041037121014100210720084103490d03200641f00c6a21032000417c712104410021070340200341746a280200220020073b01e00c2000200636028802200341786a2802002200200741016a3b01e00c20002006360288022003417c6a2802002200200741026a3b01e00c200020063602880220032802002200200741036a3b01e00c2000200636028802200341106a21032004200741046a2207470d000c040b0b41ecafc18000413241a0b0c1800010f480808000000b41b0b0c18000412841d8b0c1800010f480808000000b4198adc18000412841c0adc1800010f480808000000b2001450d00200741027420066a41e40c6a210303402003280200220020073b01e00c2000200636028802200341046a2103200741016a21072001417f6a22010d000b0b200241a0026a2480808080000f0b41b4afc18000412841e8b0c1800010f480808000000bfd07010f7f2380808080004180016b220224808080800002400240200128020c22032f01e20c220441016a2205200128021422062f01e20c22076a2208410c4f0d00200128021021092001280204210a2001280200220b2f01e20c210c200320083b01e20c200241106a220d200b2001280208220e41186c6a220141106a290200370300200241086a220f200141086a290200370300200220012902003703002001200141186a200c200e417f736a221041186c10ec968080001a2003200441186c6a220141106a200d290300370200200141086a200f290300370200200120022903003702002003200541186c6a2006200741186c10e9968080001a2002200b200e41fc006c6a2201418c026a220f41fc0010e996808000210d200f20014188036a201041fc006c10ec968080001a2003418c026a2201200441fc006c6a200d41fc0010e9968080001a2001200541fc006c6a2006418c026a200741fc006c10e9968080001a200b200e41016a22014102746a220241e40c6a200241e80c6a201041027410ec968080001a02402001200c4f0d00200c200e6b417e6a210f024020104103712210450d00200e410274200b6a41e80c6a210203402002280200220e20013b01e00c200e200b36028802200241046a2102200141016a21012010417f6a22100d000b0b200f4103490d002001410274200b6a41f00c6a21020340200241746a280200221020013b01e00c2010200b36028802200241786a2802002210200141016a3b01e00c2010200b360288022002417c6a2802002210200141026a3b01e00c2010200b3602880220022802002210200141036a3b01e00c2010200b36028802200241106a2102200c200141046a2201470d000b0b200b200b2f01e20c417f6a3b01e20c0240200a4102490d00200741016a2201200820046b470d02200341e40c6a20054102746a200641e40c6a200141027410e9968080001a02402001410371220b450d00200441027420036a41e80c6a210103402001280200220220053b01e00c2002200336028802200141046a2101200541016a2105200b417f6a220b0d000b0b20074103490d002005410274210b03402003200b6a220141e40c6a280200220220053b01e00c2002200336028802200141e80c6a2802002202200541016a3b01e00c2002200336028802200141ec0c6a2802002202200541026a3b01e00c2002200336028802200141f00c6a2802002201200541036a22023b01e00c2001200336028802200541046a2105200b41106a210b20022008470d000b0b200641002802a8bfd38000118080808000002000200936020420002003360200200d4180016a2480808080000f0b4198b2c18000412a41c4b2c1800010f480808000000b4198adc18000412841c0adc1800010f480808000000bb613020f7f057e23808080800041c0016b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01e6024102746a41e8026a28020021042006417f6a22060d000b0b20054104490d000340200420042f01e6024102746a41e8026a280200220420042f01e6024102746a41e8026a280200220420042f01e6024102746a41e8026a280200220420042f01e6024102746a41e8026a28020021042007417c6a22070d000b0b200341306a200141306a280200360200200341286a200141286a290200370300200341206a200141206a290200370300200341186a200141186a290200370300200341106a200141106a290200370300200341086a200141086a2902003703002003200129020037030020034198016a41016a2108200341116a21090240034020032802042106200328020c210a0240024020032d001022074102460d0020082009290000370000200841186a200941186a290000370000200841106a200941106a290000370000200841086a200941086a29000037000020074101710d010c030b2006200a460d0220082006290000370000200841086a200641086a290000370000200841106a200641106a290000370000200841186a200641186a2900003700002003200641206a22063602040b200341f8006a41186a220b200841186a290000370300200341f8006a41106a220c200841106a290000370300200341f8006a41086a220d200841086a29000037030020032008290000370378024002402006200a460d0020092006290000370000200941086a2201200641086a220e290000370000200941106a2205200641106a220f290000370000200941186a2210200641186a22112900003700002003200641206a220736020402400240200341f8006a2009412010ed968080000d00200d200e290000370300200c200f290000370300200b2011290000370300200320062900003703782007200a460d0102400340200920072900003700002001200741086a2900003700002005200741106a2900003700002010200741186a290000370000200741206a2107200341f8006a2009412010ed968080000d01200d2001290000370300200c2005290000370300200b2010290000370300200320092900003703782007200a460d030c000b0b200320073602040b200341013a00100c020b200320073602040b2009200329039801370000200941086a20034198016a41086a290300370000200941106a20034198016a41106a290300370000200941186a20034198016a41186a290300370000200341003a00100b200341386a41186a2210200b290300370300200341386a41106a220a200c290300370300200341386a41086a220b200d29030037030020032003290378370338024002400240024002400240024020042f01e6022207410b490d004100210502400240034020042802e0022204450d01200541016a210520042f01e602410b4f0d000c020b0b200028020421062000280200210741002d00b8bfd380001a41980341002802b0bfd38000118280808000002204450d02200420073602e802200441003b01e602200441003602e00220002004360200200741003b01e402200720043602e0022000200641016a22053602040b41002d00b8bfd380001a41e80241002802b0bfd38000118280808000002206450d02200641003b01e602200641003602e0022005417f6a2201450d04034041002d00b8bfd380001a41980341002802b0bfd38000118280808000002207450d04200720063602e802200741003b01e602200741003602e002200641003b01e402200620073602e002200721062001417f6a2201450d050c000b0b2004200741016a3b01e602200420074105746a22072003290338370000200741186a2010290300370000200741106a200a290300370000200741086a200b2903003700000c040b410441980310b980808000000b410441e80210b980808000000b410441980310b980808000000b20042f01e6022207410b4f0d012004200741016a22013b01e602200420074105746a22072003290338370000200741186a2010290300370000200741106a200a290300370000200741086a200b290300370000200420014102746a41e8026a2006360200200620013b01e402200620043602e0022005450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01e6024102746a41e8026a28020021042006417f6a22060d000b0b20054104490d000340200420042f01e6024102746a41e8026a280200220420042f01e6024102746a41e8026a280200220420042f01e6024102746a41e8026a280200220420042f01e6024102746a41e8026a28020021042007417c6a22070d000b0b2002200228020041016a3602000c010b0b418cabc18000412041fcabc1800010f480808000000b02402003280208450d00200328020041002802a8bfd38000118080808000000b024020002802042205450d00200028020021060340024002400240024020062f01e6022204450d0020062004417f6a22084102746a220441ec026a28020022072f01e602220141054f0d03200441e8026a28020022092f01e6022204410520016b2210490d012009200420106b220a3b01e602200741053b01e602200720104105746a2007200141057410ec968080001a2004200a41016a220b6b2204410420016b470d0220072009200b4105746a2004410574220c10e9968080002104200620084105746a220629000021122009200a4105746a220841086a2900002113200841106a2900002114200841186a290000211520062008290000370000200641186a2208290000211620082015370000200641106a2208290000211520082014370000200641086a22062900002114200620133700002004200c6a220641186a2016370000200641106a2015370000200641086a20143700002006201237000020054101460d05200441e8026a2206201041027422086a2006200141027441046a10ec968080001a20062009200b4102746a41e8026a200810e9968080001a20042802e802220641003b01e402200620043602e00220042802ec02220641013b01e402200620043602e00220042802f002220641023b01e402200620043602e00220042802f402220641033b01e402200620043602e00220042802f802220641043b01e402200620043602e00220042802fc02220641053b01e402200620043602e0020c030b41c8a8c18000411941e4a9c1800010f480808000000b41fcaec18000412741a4afc1800010f480808000000b4198adc18000412841c0adc1800010f480808000000b200721062005417f6a22050d000b0b200341c0016a2480808080000bf61406107f017e017f017e017f027e23808080800041a0016b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f0192034102746a4194036a28020021042006417f6a22060d000b0b20054104490d000340200420042f0192034102746a4194036a280200220420042f0192034102746a4194036a280200220420042f0192034102746a4194036a280200220420042f0192034102746a4194036a28020021042007417c6a22070d000b0b200341086a2208200141106a290200370300200341106a2209200141186a290200370300200341186a220a200141206a290200370300200320012902083703002001280234210b2001280230210c200128022c210d2001280228210e2001280204210f20012802002110024003400240024020104102460d0020034180016a41186a200a29030037030020034180016a41106a200929030037030020034180016a41086a20082903003703002003200329030037038001200f211120104101710d010c030b200d200b460d02200d280200211120034180016a41186a200d411c6a29020037030020034180016a41106a200d41146a29020037030020034180016a41086a200d410c6a2902003703002003200d29020437038001200d41246a210d0b200341e0006a41186a220620034180016a41186a290300370300200341e0006a41106a220120034180016a41106a290300370300200341e0006a41086a220520034180016a41086a2903003703002003200329038001370360410021100240200d200b460d00200d280200210f200a200d411c6a2902003703002009200d41146a2902003703002008200d410c6a2902003703002003200d290204370300200d41246a210d02402011200f460d00410121100c010b20052008290300370300200120092903003703002006200a290300370300200320032903003703600240200d200b470d002011210f0c010b02400340200d2207280200210f200a2007411c6a2902003703002009200741146a29020037030020082007410c6a2902003703002003200729020437030002402011200f460d00410121100c020b20052008290300370300200120092903003703002006200a29030037030020032003290300370360200741246a220d200b470d000b410021102011210f0b200741246a210d0b200341206a41186a221220062903002213370300200341206a41106a221420012903002215370300200341206a41086a221620052903002217370300200341c0006a41086a22062017370300200341c0006a41106a22012015370300200341c0006a41186a2205201337030020032003290360221337032020032013370340024002400240024002400240024020042f0192032207410b490d004100210502400240034020042802e0022204450d01200541016a210520042f019203410b4f0d000c020b0b200028020421062000280200210741002d00b8bfd380001a41c40341002802b0bfd38000118280808000002204450d022004200736029403200441003b019203200441003602e00220002004360200200741003b019003200720043602e0022000200641016a22053602040b41002d00b8bfd380001a41940341002802b0bfd38000118280808000002206450d02200641003b019203200641003602e0022005417f6a2201450d04034041002d00b8bfd380001a41c40341002802b0bfd38000118280808000002207450d042007200636029403200741003b019203200741003602e002200641003b019003200620073602e002200721062001417f6a2201450d050c000b0b2004200741016a3b019203200420074102746a41e4026a2011360200200420074105746a220741186a2005290300370000200741106a2001290300370000200741086a2006290300370000200720032903403700000c040b410441c40310b980808000000b410441940310b980808000000b410441c40310b980808000000b20042f0192032207410b4f0d012004200741016a22013b019203200420074102746a41e4026a2011360200200420074105746a220741186a2012290300370000200741106a2014290300370000200741086a201629030037000020072003290320370000200420014102746a4194036a2006360200200620013b019003200620043602e0022005450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f0192034102746a4194036a28020021042006417f6a22060d000b0b20054104490d000340200420042f0192034102746a4194036a280200220420042f0192034102746a4194036a280200220420042f0192034102746a4194036a280200220420042f0192034102746a4194036a28020021042007417c6a22070d000b0b2002200228020041016a3602000c010b0b418cabc18000412041fcabc1800010f480808000000b0240200c450d00200e41002802a8bfd38000118080808000000b024020002802042205450d00200028020021060340024002400240024020062f0192032204450d0020062004417f6a22094102746a220d4198036a28020022042f019203220741054f0d03200d4194036a28020022012f019203220a410520076b220f490d012001200a200f6b22083b019203200441053b019203200441e4026a2211200f410274220b6a20112007410274220c10ec968080001a2004200f4105746a2004200741057410ec968080001a200a200841016a220f6b220a410420076b470d022011200141e4026a2210200f410274220e6a200a410274220210e996808000211120042001200f4105746a200a410574220a10e9968080002107200341e0006a41086a2212200120084105746a220f41086a290000370300200341e0006a41106a2214200f41106a290000370300200341e0006a41186a2216200f41186a290000370300200d41e4026a220d2802002100200f2900002113200d201020084102746a2802003602002003201337036020034180016a41186a200620094105746a220641186a220d290000221337030020034180016a41106a200641106a220f290000221537030020034180016a41086a200641086a22082900002217370300200320062900002218370380012006200329036037000020082012290300370000200f2014290300370000200d2016290300370000201120026a20003602002007200a6a220641186a2013370000200641106a2015370000200641086a20173700002006201837000020054101460d0320074194036a2206200b6a2006200c41046a10ec968080001a20062001200e6a4194036a200b10e9968080001a200728029403220641003b019003200620073602e002200728029803220641013b019003200620073602e002200728029c03220641023b019003200620073602e00220072802a003220641033b019003200620073602e00220072802a403220641043b019003200620073602e00220072802a803220641053b019003200620073602e0020c030b41c8a8c18000411941e4a9c1800010f480808000000b41fcaec18000412741a4afc1800010f480808000000b4198adc18000412841c0adc1800010f480808000000b200421062005417f6a22050d000b0b200341a0016a2480808080000bc80e07087f017e027f017e017f017e027f20002802002103024020002802042204450d0002400240200441037122050d00200421060c010b2004210603402006417f6a2106200320032f018a014102746a418c016a28020021032005417f6a22050d000b0b20044104490d000340200320032f018a014102746a418c016a280200220320032f018a014102746a418c016a280200220320032f018a014102746a418c016a280200220320032f018a014102746a418c016a28020021032006417c6a22060d000b0b200128021c210720012802182108200128021421092001280210210a2001290208210b2001280204210c2001280200210d0240034002400240200d4102460d00200b210e200c210f200d4101710d010c030b20092007460d022009280200210f2009290204210e2009410c6a21090b4100210d024020092007460d002009410c6a2106200929020421104101210d0240200f2009280200220c460d002010210b200621090c010b024020062007470d002010210b200f210c200621092010210e4100210d0c010b200941186a21062009290210210b0240200f200928020c220c460d00200621092010210e0c010b0340200b210e024020062007470d00200e210b200f210c200621094100210d0c020b2006280200210c2006290204210b2006410c6a22092106200f200c460d000b0b200e422088a72111200ea72112024002400240024002400240024020032f018a012206410b490d004100210402400240034020032802582203450d01200441016a210420032f018a01410b4f0d000c020b0b200028020421052000280200210641002d00b8bfd380001a41bc0141002802b0bfd38000118280808000002203450d022003200636028c01200341003b018a012003410036025820002003360200200641003b018801200620033602582000200541016a22043602040b41002d00b8bfd380001a418c0141002802b0bfd38000118280808000002205450d02200541003b018a01200541003602582004417f6a2201450d04034041002d00b8bfd380001a41bc0141002802b0bfd38000118280808000002206450d042006200536028c01200641003b018a0120064100360258200541003b01880120052006360258200621052001417f6a2201450d050c000b0b2003200641016a3b018a01200320064102746a41dc006a200f360200200320064103746a22062011360204200620123602000c040b410441bc0110b980808000000b4104418c0110b980808000000b410441bc0110b980808000000b20032f018a012206410b4f0d012003200641016a22013b018a01200320064102746a41dc006a200f360200200320064103746a2206201136020420062012360200200320014102746a418c016a2005360200200520013b018801200520033602582004450d0002400240200441037122050d00200421060c010b2004210603402006417f6a2106200320032f018a014102746a418c016a28020021032005417f6a22050d000b0b20044104490d000340200320032f018a014102746a418c016a280200220320032f018a014102746a418c016a280200220320032f018a014102746a418c016a280200220320032f018a014102746a418c016a28020021032006417c6a22060d000b0b2002200228020041016a3602000c010b0b418cabc18000412041fcabc1800010f480808000000b02402008450d00200a41002802a8bfd38000118080808000000b024020002802042204450d00200028020021050340024002400240024020052f018a012203450d0020052003417f6a22074102746a22094190016a28020022062f018a01220341054f0d032009418c016a28020022012f018a01220d410520036b220c490d012001200d200c6b220f3b018a01200641053b018a01200641dc006a2202200c41027422116a20022003410274220810ec968080001a2006200c4103746a2006200341037410ec968080001a200d200f41016a220c6b220d410420036b470d022002200141dc006a2212200c410274220a6a200d410274220010e996808000210220062001200c4103746a200d410374220c10e9968080002103200941dc006a2209280200210d2001200f4103746a290200210e20092012200f4102746a280200360200200520074103746a2205290200210b2005200e370200200220006a200d3602002003200c6a200b37020020044101460d052003418c016a220520116a2005200841046a10ec968080001a20052001200a6a418c016a201110e9968080001a200328028c01220541003b01880120052003360258200328029001220541013b01880120052003360258200328029401220541023b01880120052003360258200328029801220541033b01880120052003360258200328029c01220541043b0188012005200336025820032802a001220541053b018801200520033602580c030b41c8a8c18000411941e4a9c1800010f480808000000b41fcaec18000412741a4afc1800010f480808000000b4198adc18000412841c0adc1800010f480808000000b200621052004417f6a22040d000b0b0b880f03067f017e047f23808080800041c0006b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f018a014102746a418c016a28020021042006417f6a22060d000b0b20054104490d000340200420042f018a014102746a418c016a280200220420042f018a014102746a418c016a280200220420042f018a014102746a418c016a280200220420042f018a014102746a418c016a28020021042007417c6a22070d000b0b200341086a41186a200141186a280200360200200341086a41106a200141106a290200370300200341086a41086a200141086a29020037030020032001290200370308200341246a200341086a10808f80800002402003280224418080808078460d00200341246a41086a21080240034002400240024002400240024020042f018a012207410b490d004100210502400240034020042802002204450d01200541016a210520042f018a01410b4f0d000c020b0b200028020421062000280200210741002d00b8bfd380001a41bc0141002802b0bfd38000118280808000002204450d022004200736028c01200441003b018a012004410036020020002004360200200741003b018801200720043602002000200641016a22053602040b41002d00b8bfd380001a418c0141002802b0bfd38000118280808000002206450d02200641003b018a01200641003602002005417f6a2201450d04034041002d00b8bfd380001a41bc0141002802b0bfd38000118280808000002207450d042007200636028c01200741003b018a0120074100360200200641003b01880120062007360200200721062001417f6a2201450d050c000b0b2004200741016a3b018a012003290224210920042007410c6c6a2207410c6a2008280200360200200741046a20093702000c040b410441bc0110b980808000000b4104418c0110b980808000000b410441bc0110b980808000000b20042f018a012207410b4f0d022004200741016a22013b018a0120042007410c6c6a2207410c6a2008280200360200200741046a2003290224370200200420014102746a418c016a2006360200200620013b018801200620043602002005450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f018a014102746a418c016a28020021042006417f6a22060d000b0b20054104490d000340200420042f018a014102746a418c016a280200220420042f018a014102746a418c016a280200220420042f018a014102746a418c016a280200220420042f018a014102746a418c016a28020021042007417c6a22070d000b0b2002200228020041016a360200200341246a200341086a10808f8080002003280224418080808078470d000c020b0b418cabc18000412041fcabc1800010f480808000000b20032802202204200328021822016b2205410c6e2106024020042001460d0020064101712102410021070240200541746a410c490d00200641feffffff017121062001210441002107034002402004280200450d00200441046a28020041002802a8bfd38000118080808000000b02402004410c6a280200450d00200441106a28020041002802a8bfd38000118080808000000b200441186a21042006200741026a2207470d000b0b2002450d0020012007410c6c6a2204280200450d00200428020441002802a8bfd38000118080808000000b0240200328021c450d00200328021441002802a8bfd38000118080808000000b024020032802082204418280808078480d002004450d00200328020c41002802a8bfd38000118080808000000b024020002802042201450d00200028020021070340024002400240024020072f018a012204450d0020072004417f6a22004102746a22054190016a28020022042f018a01220641054f0d032005418c016a28020022022f018a012208410520066b2205490d012002200820056b220a3b018a01200441053b018a01200441046a220b2005410c6c6a200b2006410c6c10ec968080001a2008200a41016a220c6b2208410420066b470d02200b200241046a220d200c410c6c6a2008410c6c220810e996808000210b200d200a410c6c6a220a41086a280200210d20072000410c6c6a220741046a220029020021092000200a2902003702002007410c6a220728020021002007200d360200200b20086a220741086a20003602002007200937020020014101460d052004418c016a2207200541027422056a2007200641027441046a10ec968080001a20072002200c4102746a418c016a200510e9968080001a200428028c01220741003b01880120072004360200200428029001220741013b01880120072004360200200428029401220741023b01880120072004360200200428029801220741033b01880120072004360200200428029c01220741043b0188012007200436020020042802a001220741053b018801200720043602000c030b41c8a8c18000411941e4a9c1800010f480808000000b41fcaec18000412741a4afc1800010f480808000000b4198adc18000412841c0adc1800010f480808000000b200421072001417f6a22010d000b0b200341c0006a2480808080000ba112050b7f017e027f037e027f23808080800041306b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01e2014102746a41e4016a28020021042006417f6a22060d000b0b20054104490d000340200420042f01e2014102746a41e4016a280200220420042f01e2014102746a41e4016a280200220420042f01e2014102746a41e4016a280200220420042f01e2014102746a41e4016a28020021042007417c6a22070d000b0b20012802202108200128021c2109200128021821052001280214210a2001280210210b200128020c210c2001280208210d2001290200210e03402010210f20122111200bad422086200cad84211303400240024002400240200d418180808078460d0020052107200d2106200e21120c010b024020052008470d004180808080782101200341106a2106418180808078210d20112112200f21100c020b200541146a2107200529020c211320052802082106200529020021120b418080808078210102402006418080808078470d00200341106a2106418180808078210d2011211220072105200f21100c010b2013a721100240024020072008470d00418080808078210d200721050c010b200741146a21052007280210210b200728020c210c2007290200210e2007280208220d418080808078460d002012200e510d020b200320063602102013422088a721012003410c6a21060b20062001360200024020032802102214418080808078470d00024020082005460d00200820056b220741146e220641017121014100210402402007416c6a4114490d00200541206a2107200641feffffff007121064100210403400240200741686a280200450d002007416c6a28020041002802a8bfd38000118080808000000b02402007417c6a280200450d00200728020041002802a8bfd38000118080808000000b200741286a21072006200441026a2204470d000b0b2001450d002005200441146c6a2207280208450d00200741086a28020441002802a8bfd38000118080808000000b02402009450d00200a41002802a8bfd38000118080808000000b0240200d418280808078480d00200d450d00200c41002802a8bfd38000118080808000000b024020002802042201450d00200028020021060340024002400240024020062f01e2012207450d0020062007417f6a22104102746a220441e8016a28020022072f01e201220541054f0d03200441e4016a280200220d2f01e2012204410520056b220f490d01200d2004200f6b22083b01e201200741053b01e2012007200f4103746a2007200541037410ec968080001a200741dc006a220b200f410c6c6a200b2005410c6c10ec968080001a2004200841016a220c6b2202410420056b470d022007200d200c4103746a2002410374221410e9968080002104200b200d41dc006a2215200c410c6c6a2002410c6c220210e996808000210b200341106a41086a20152008410c6c6a221541086a28020022003602002015290200210e200620104103746a221529000021122015200d20084103746a2900003700002003200e37031020062010410c6c6a220641dc006a221029020021132010200e370200200641e4006a2206280200211020062000360200200420146a2012370000200b20026a22062013370200200641086a201036020020014101460d03200441e4016a2206200f410274220f6a2006200541027441046a10ec968080001a2006200d200c4102746a41e4016a200f10e9968080001a20042802e401220641003b01e0012006200436025820042802e801220641013b01e0012006200436025820042802ec01220641023b01e0012006200436025820042802f001220641033b01e0012006200436025820042802f401220641043b01e0012006200436025820042802f801220641053b01e001200620043602580c030b41c8a8c18000411941e4a9c1800010f480808000000b41fcaec18000412741a4afc1800010f480808000000b4198adc18000412841c0adc1800010f480808000000b200721062001417f6a22010d000b0b200341306a2480808080000f0b200328020c2115024002400240024002400240024020042f01e2012207410b490d004100210f02400240034020042802582204450d01200f41016a210f20042f01e201410b4f0d000c020b0b200028020421062000280200210741002d00b8bfd380001a41940241002802b0bfd38000118280808000002204450d02200420073602e401200441003b01e2012004410036025820002004360200200741003b01e001200720043602582000200641016a220f3602040b41002d00b8bfd380001a41e40141002802b0bfd38000118280808000002206450d02200641003b01e20120064100360258200f417f6a2201450d04034041002d00b8bfd380001a41940241002802b0bfd38000118280808000002207450d04200720063602e401200741003b01e20120074100360258200641003b01e00120062007360258200721062001417f6a2201450d050c000b0b2004200741016a3b01e201200420074103746a201237000020042007410c6c6a220741e4006a2015360200200741e0006a2010360200200741dc006a20143602000c040b410441940210b980808000000b410441e40110b980808000000b410441940210b980808000000b20042f01e2012207410b4f0d012004200741016a22013b01e201200420074103746a201237000020042007410c6c6a220741e0006a2010360200200741dc006a2014360200200741e4006a2015360200200420014102746a41e4016a2006360200200620013b01e00120062004360258200f450d0002400240200f41037122060d00200f21070c010b200f210703402007417f6a2107200420042f01e2014102746a41e4016a28020021042006417f6a22060d000b0b200f4104490d000340200420042f01e2014102746a41e4016a280200220420042f01e2014102746a41e4016a280200220420042f01e2014102746a41e4016a280200220420042f01e2014102746a41e4016a28020021042007417c6a22070d000b0b2002200228020041016a3602000c030b418cabc18000412041fcabc1800010f480808000000b200729020c21132012210e2006450d00201041002802a8bfd38000118080808000002012210e0c000b0b0bdc15050f7f027e027f017e017f23808080800041306b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01b6014102746a41b8016a28020021042006417f6a22060d000b0b20054104490d000340200420042f01b6014102746a41b8016a280200220620062f01b6014102746a41b8016a280200220620062f01b6014102746a41b8016a280200220620062f01b6014102746a41b8016a28020021042007417c6a22070d000b0b200128021c210820012802182109200128021421052001280210210a200128020c210b2001280208210c2001280204210d200128020021010340200f210e20112110200bad422086200cad842112200121110340201121010240024002400240200d418180808078460d002005210720122113200d2114200121110c010b024020052008470d004180808080782115200341106a2106418180808078210d20102111200e210f0c020b200541106a21072005290208211320052802042114200528020021110b418080808078211502402014418080808078470d00200341106a2106418180808078210d2010211120072105200e210f0c010b20134220882216a721152013a7210f0240024020072008470d00418080808078210d200721050c010b200741106a2105200728020c210b2007280208210c200728020021012007280204220d418080808078460d0020112001460d020b200320143602102003410c6a21060b20062015360200024020032802102217418080808078470d00024020082005460d00200820056b410476210f4100210403400240200520044104746a221128020c2207450d00201128020821142007410171211541002106024020074101460d002007417e7121014100210620142107034002402007280200450d00200741046a28020041002802a8bfd38000118080808000000b0240200741106a280200450d00200741146a28020041002802a8bfd38000118080808000000b200741206a21072001200641026a2206470d000b0b2015450d00201420064104746a2207280200450d00200728020441002802a8bfd38000118080808000000b0240201141046a2207280200450d00200728020441002802a8bfd38000118080808000000b200441016a2204200f470d000b0b02402009450d00200a41002802a8bfd38000118080808000000b0240200d418280808078480d000240200b450d00200b4101712104410021060240200b4101460d00200b417e712101200c210741002106034002402007280200450d00200741046a28020041002802a8bfd38000118080808000000b0240200741106a280200450d00200741146a28020041002802a8bfd38000118080808000000b200741206a21072001200641026a2206470d000b0b2004450d00200c20064104746a2207280200450d00200728020441002802a8bfd38000118080808000000b200d450d00200c41002802a8bfd38000118080808000000b024020002802042204450d00200028020021060340024002400240024020062f01b6012205450d0020062005417f6a220d4102746a221141bc016a28020022072f01b601220141054f0d03201141b8016a28020022112f01b601220f410520016b2214490d012011200f20146b22153b01b601200741053b01b601200741046a22082014410274220c6a20082001410274221710ec968080001a200741306a220b2014410c6c6a200b2001410c6c10ec968080001a200f201541016a22146b220f410420016b470d022008201141046a2201201441027422026a200f41027410e9968080001a200b201141306a22082014410c6c6a200f410c6c221410e996808000210f200341106a41086a20082015410c6c6a220841086a280200220b36020020082902002113200620054102746a220528020021082005200120154102746a280200360200200320133703102006200d410c6c6a220641306a2201290200211220012013370200200641386a220628020021012006200b3602002007200c6a2008360200200f20146a22062012370200200641086a200136020020044101460d03200741b8016a2206200c6a2006201741046a10ec968080001a2006201120026a41b8016a200c10e9968080001a20072802b801220641003b01b4012006200736020020072802bc01220641013b01b4012006200736020020072802c001220641023b01b4012006200736020020072802c401220641033b01b4012006200736020020072802c801220641043b01b4012006200736020020072802cc01220641053b01b401200620073602000c030b41c8a8c18000411941e4a9c1800010f480808000000b41fcaec18000412741a4afc1800010f480808000000b4198adc18000412841c0adc1800010f480808000000b200721062004417f6a22040d000b0b200341306a2480808080000f0b200328020c210e024002400240024002400240024020042f01b6012207410b490d004100211502400240034020042802002204450d01201541016a211520042f01b601410b4f0d000c020b0b200028020421062000280200210741002d00b8bfd380001a41e80141002802b0bfd38000118280808000002204450d02200420073602b801200441003b01b6012004410036020020002004360200200741003b01b401200720043602002000200641016a22153602040b41002d00b8bfd380001a41b80141002802b0bfd38000118280808000002206450d02200641003b01b601200641003602002015417f6a2214450d04034041002d00b8bfd380001a41e80141002802b0bfd38000118280808000002207450d04200720063602b801200741003b01b60120074100360200200641003b01b40120062007360200200721062014417f6a2214450d050c000b0b2004200741016a3b01b60120042007410c6c6a220641386a200e360200200641346a200f360200200641306a2017360200200420074102746a41046a20113602000c040b410441e80110b980808000000b410441b80110b980808000000b410441e80110b980808000000b20042f01b6012207410b4f0d012004200741016a22143b01b60120042007410c6c6a221041346a200f360200201041306a2017360200200420074102746a41046a2011360200201041386a200e360200200420144102746a41b8016a2006360200200620143b01b401200620043602002015450d0002400240201541037122060d00201521070c010b2015210703402007417f6a2107200420042f01b6014102746a41b8016a28020021042006417f6a22060d000b0b20154104490d000340200420042f01b6014102746a41b8016a280200220620062f01b6014102746a41b8016a280200220620062f01b6014102746a41b8016a280200220620062f01b6014102746a41b8016a28020021042007417c6a22070d000b0b2002200228020041016a3602000c030b418cabc18000412041fcabc1800010f480808000000b2007290208211202402013428080808010540d002015410171211741002106024020164201510d002015417e71210141002106200f2107034002402007280200450d00200741046a28020041002802a8bfd38000118080808000000b0240200741106a280200450d00200741146a28020041002802a8bfd38000118080808000000b200741206a21072001200641026a2206470d000b0b2017450d00200f20064104746a2207280200450d00200728020441002802a8bfd38000118080808000000b2014450d00200f41002802a8bfd38000118080808000000c000b0b0ba71001127f23808080800041a0036b2203248080808000200341d0006a41086a200128020022042001280208220541186c6a220641086a290200370300200341d0006a41106a200641106a290200370300200320062902003703502006200641186a2005417f7320042f01e20c22076a220841186c10ec968080001a200341d0006a41186a2004200541fc006c6a2206418c026a220941fc0010e9968080001a200920064188036a200841fc006c10ec968080001a20042007417f6a22063b01e20c2001280204210a0240200641ffff037141044b0d0002402004280288022201450d00200a41016a2107024002400240024020042f01e00c22080d0020012f01e20c0d01200341013602a402200341ccacc180003602a002200342003702ac0220032003419c036a3602a802200341a0026a41d4acc1800010f280808000000b2003200a3602302003200436022c2003200a3602282003200736021c20032008417f6a2207360220200320013602182003200120074102746a41e40c6a2802002201360224024020012f01e20c2201200641ffff037122066a41016a410c490d00200341186a410110ab83808000200541016a21050c040b200520064b0d01200520016a41016a2105200341106a200341186a10ad83808000200328021021042003280214210a0c030b2003200a36024c2003200a360244200320043602402003410036023c2003200736023820032001360234200320012802e80c22013602480240200641ffff0371220620012f01e20c6a41016a410c490d00200341346a410110ac838080000c030b200520064b0d01200341086a200341346a10ad8380800020032802082104200328020c210a0c020b41f8b0c18000418e014188b2c1800010f480808000000b41f8b0c18000418e014188b2c1800010f480808000000b2004280288022208450d0020082f01e20c220141044b0d00200a41016a210b0240024002400340200b21062008220c280288022208450d01200141ffff0371210d200641016a210b0240024002400240200c2f01e00c22010d00024020082f01e20c22090d00200341013602a402200341ccacc180003602a002200342003702ac0220032003419c036a3602a802200341a0026a41d4acc1800010f280808000000b2003200636029c0220032006360294022003200c360290024100210e2003410036028c022003200b360288022003200836028402200320082802e80c220136029802200d41016a220620012f01e20c220f6a2210410c4f0d01200c21072001210c200d2111200f210d0c030b20032006360280022003200c3602fc01200320063602f8012003200b3602ec0120032001417f6a220e3602f001200320083602e80120032008200e4102746a41e40c6a28020022073602f401200d20072f01e20c22116a41016a410c490d01200341e8016a4105200d6b10ab838080000c070b20034184026a4105200d6b10ac838080000c060b201141016a2206200d6a211020082f01e20c21090b200720103b01e20c200341a0026a41106a22122008200e41186c6a220141106a290200370300200341a0026a41086a2213200141086a290200370300200320012902003703a0022001200141186a200941ffff03712214200e417f736a220f41186c10ec968080001a2007201141186c6a220141106a2012290300370200200141086a2013290300370200200120032903a0023702002007200641186c6a200c200d41186c10e9968080001a200341a0026a2008200e41fc006c6a2201418c026a220941fc0010e9968080001a200920014188036a200f41fc006c10ec968080001a2007418c026a2201201141fc006c6a200341a0026a41fc0010e9968080001a2001200641fc006c6a200c418c026a200d41fc006c10e9968080001a2008200e41016a22014102746a221241e40c6a2209201241e80c6a200f41027410ec968080001a0240201420014d0d002014200e6b417e6a21120240201420016b410371220e450d0003402009280200220f20013b01e00c200f200836028802200941046a2109200141016a2101200e417f6a220e0d000b0b20124103490d00200820014102746a41f00c6a21090340200941746a280200220e20013b01e00c200e200836028802200941786a280200220e200141016a3b01e00c200e2008360288022009417c6a280200220e200141026a3b01e00c200e2008360288022009280200220e200141036a3b01e00c200e200836028802200941106a21092014200141046a2201470d000b0b200820082f01e20c417f6a3b01e20c0240200b4102490d00200d41016a2201201020116b470d03200741e40c6a2006410274220e6a200c41e40c6a200141027410e9968080001a0240201020066b220f41016a4103712209450d002007200e6a41e40c6a210103402001280200220e20063b01e00c200e200736028802200141046a2101200641016a21062009417f6a22090d000b0b200f4103490d00200641027421090340200720096a220141e40c6a280200220e20063b01e00c200e200736028802200141e80c6a280200220e200641016a3b01e00c200e200736028802200141ec0c6a280200220e200641026a3b01e00c200e200736028802200141f00c6a2802002201200641036a220e3b01e00c2001200736028802200641046a2106200941106a2109200e2010470d000b0b200c41002802a8bfd380001180808080000020082f01e20c220141044d0d000c040b0b200141ffff0371450d010c020b4198adc18000412841c0adc1800010f480808000000b200241013a00000b2000200341d0006a41940110e9968080002206200536029c012006200a360298012006200436029401200341a0036a2480808080000bad0603087f017e017f23808080800041d0026b2203248080808000200128020821042001280200210502400240200128020422060d0020032004360208200341003602042003200536020020002003200210b4838080000c010b200520044102746a41e40c6a280200210102402006417f6a2204450d002006417e6a2105024020044103712206450d0003402004417f6a2104200120012f01e20c4102746a41e40c6a28020021012006417f6a22060d000b0b20054103490d000340200120012f01e20c4102746a41e40c6a280200220120012f01e20c4102746a41e40c6a280200220120012f01e20c4102746a41e40c6a280200220120012f01e20c4102746a41e40c6a28020021012004417c6a22040d000b0b2003200136020c200320013301e20c4220864280808080707c370210200341186a2003410c6a200210b483808000200341b8016a41106a2205200341186a41106a2207290200370300200341b8016a41086a2208200341186a41086a2209290200370300200320032902183703b801200341d4016a200341186a41186a220a41fc0010e9968080001a20032802b0012104024020032802b401220620032802ac0122012f01e20c490d000340200441016a210420012f01e00c220620012802880222012f01e20c4f0d000b0b2001200641186c6a2202290200210b200220032903b8013702002007200241106a220c2902003703002009200241086a220229020037030020022008290300370200200c20052903003702002003200b370318200a2001200641fc006c6a418c026a220241fc0010e9968080001a2002200341d4016a41fc0010e9968080001a0240024020040d00200641016a21020c010b200120064102746a41e80c6a2802002101410021022004417f6a2206450d002004417e6a2105024020064107712204450d0003402006417f6a210620012802e40c21012004417f6a22040d000b0b20054107490d00034020012802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2101200641786a22060d000b0b2000200341186a41940110e9968080002204200236029c01200441003602980120042001360294010b200341d0026a2480808080000bd802010b7f20032802142104200328021021052003280208210620032802042107034020012f01e20c220841186c21094100210a417f210b4100210c2001210302400240024002400340200b210d2009200a460d010240417f2007200328020420062003280208220e2006200e491b10ed96808000220b2006200e6b200b1b220e410047200e4100481b220e0d00024020052001200a6a220e41106a2802002004200e41146a280200220e2004200e491b10ed96808000220b2004200e6b200b1b220e41004e0d00200c21080c030b200e410047210e0b200341186a2103200c41016a210c200a41186a210a200d41016a210b200e4101460d000b200e41ff0171450d01200d41016a21080b20020d02410121030c010b41002103200b21080b2000200836020c2000200236020820002001360204200020033602000f0b2002417f6a2102200120084102746a41e40c6a28020021010c000b0bd802010b7f20032802142104200328021021052003280208210620032802042107034020012f018e02220841186c21094100210a417f210b4100210c2001210302400240024002400340200b210d2009200a460d010240417f2007200328020420062003280208220e2006200e491b10ed96808000220b2006200e6b200b1b220e410047200e4100481b220e0d00024020052001200a6a220e41106a2802002004200e41146a280200220e2004200e491b10ed96808000220b2004200e6b200b1b220e41004e0d00200c21080c030b200e410047210e0b200341186a2103200c41016a210c200a41186a210a200d41016a210b200e4101460d000b200e41ff0171450d01200d41016a21080b20020d02410121030c010b41002103200b21080b2000200836020c2000200236020820002001360204200020033602000f0b2002417f6a2102200120084102746a4190026a28020021010c000b0ba305010c7f2003280220200341206a2003280248220441284b22051b21062003280224200420051b210702400240024020032d004c4101710d00034020012f01f606220841d0006c210941002105417f2104024002400340024020092005470d00200821040c020b0240417f2003200120056a220a412010ed96808000220b410047200b4100481b220b0d00417f2006200a41206a220b280200200b200a41c8006a280200220c41284b220d1b2007200a41246a280200200c200d1b220b2007200b491b10ed96808000220c2007200b6b200c1b220b410047200b4100481b220b0d004100200a41cc006a2d00004101716b210b0b200541d0006a2105200441016a2104200b4101460d000b200b41ff0171450d010b2002450d032002417f6a2102200120044102746a41f8066a28020021010c010b0b410021050c020b20032d004d41ff0171210e034020012f01f606220f41d0006c210c41002105417f21094100210a024002400340200a21040240200c2005470d00200f21040c030b0240417f2003200120056a220a412010ed96808000220b410047200b4100481b220b0d00417f2006200a41206a220b280200200b200a41c8006a280200220d41284b22081b2007200a41246a280200200d20081b220b2007200b491b10ed96808000220d2007200b6b200d1b220b410047200b4100481b220b0d004101210b200a41cc006a2d0000410171450d00200e200a41cd006a2d0000220b490d02200e200b47210b0b200441016a210a200541d0006a2105200941016a2109200b4101460d000b200b41ff01710d0141002105200921040c040b200941016a21040b2002450d012002417f6a2102200120044102746a41f8066a28020021010c000b0b41012105410021020b2000200436020c2000200236020820002001360204200020053602000bfc0303027f047e047f23808080800041a0016b2202248080808000200242cfc4f4d18decb3a8d80037008801200242e8afb0b6b9e781b59d7f37008001200242c0c38addfcd9c9c1c400370078200242c2d5a39edcfaf091cd00370070200241e0006a200241f0006a412010ba83808000200241086a20022903684200428080c002420010f196808000200241f0006a4200420020022903084200200228026022031b200241106a290300420020031b428094ebdc03420010999280800020024188016a290300210420022903800121052002290378210620022903702107200241c0006a109288808000200241f0006a200241c0006a41f8b4c1800010808c80800020022802782208410a7421092002280270210a200228027421030240024020080d004101210b0c010b41002d00b8bfd380001a200941002802b0bfd3800011828080800000220b0d004101200941f882c4800010ae80808000000b2002200b2003200910e996808000220b36021c2002200a360234200220033602302002200336022c2002200b20096a3602282002200b360220200220083602242002200320096a36023820022005a7410a7641ffffff0120054280808080105441002004501b1b41ffffff012007200684501b36023c200041046a2002411c6a41f8b4c18000108a8c80800020004104360200200241a0016a2480808080000bf10303017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802a0bdd38000118580808000000240024020032802080d00200042003703000c010b200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a722064108490d0020004201370300200020052900003703080c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b200042003703000b200341246a200520062003280218280210118580808000000b20034190016a2480808080000ba70402067f027e23808080800041106b2202248080808000024002400240024002400240024020012802082203280204200328020c22044b0d00024020032802082204280208220520042802102206470d00410121060c030b200641016a2207450d03200720054b0d042004280204210520042007360210200520066a2d000021050c010b2003200441016a36020c200328020020046a2d000021050b2001427f200129030042017c22082008501b370300410021060b4101210420064101710d020240024002400240024020054103710e0400020301000b200541fc01714102762103410021040c070b200541ff01714104490d020c050b200241003b010a200220053a000a4101210420032002410a6a410172410110bc838080000d042001427f200129030042017c22082008501b37030020022f010a220141ff014d0d0520014102762103410021040c050b20024100360204200220053a0004410121042003200241046a410172410310bc838080000d032001427f2001290300220842037c220920092008541b3703002002280204220141027621032001418080044921040c040b2002410036020c20032002410c6a410410bc838080000d022001427f2001290300220842047c220920092008541b370300200228020c22034180808080044921040c030b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b0b2000200336020420002004360200200241106a2480808080000bfb0201047f024002402002450d0002400240024002400240024020002802042203200028020c22044b0d000240200028020822002802082203200028021022046b20024f0d0041010f0b200420026a22052004490d01200520034b0d022001200028020420046a200210e9968080001a200020053602100c060b4100200320046b2205200520034b1b2203200220032002491b220620054b0d022001200028020020046a200610e99680800021012000200620046a36020c41002104200220034d0d060240200028020822002802082205200028021022046b200220036b22024f0d0041010f0b200420026a22062004490d03200620054b0d04200120036a200028020420046a200210e9968080001a2000200636021041000f0b2004200541a8c8ca800010ac81808000000b2005200341a8c8ca800010aa81808000000b2006200541d8bcc1800010aa81808000000b2004200641a8c8ca800010ac81808000000b2006200541a8c8ca800010aa81808000000b410021040b20040bc30304047f017e017f017e0240024020012802082202280200220328020422040d00410121040c010b20032004417f6a3602044101210420032003280200220541016a3602002001427f200129030042017c22062006501b37030002400240024002400240024020052d000022054103710e0400010402000b20054102762103410021040c050b2002280200220328020422020d010c040b20054104490d020c030b20032002417f6a3602044101210420032003280200220241016a3602002001427f200129030042017c22062006501b370300024020022d000022010d000c030b20014108742005724102762103410021040c020b2002280200220228020422074103490d0120022007417d6a36020420022002280200220341036a3602002001427f2001290300220642037c220820082006541b37030020032f0000200341026a2d0000411074722201418002492104200141087420057241027621030c010b2002280200220228020422054104490d0020022005417c6a36020420022002280200220341046a3602002001427f2001290300220642047c220820082006541b370300200328000022034180808080044921040b20002003360204200020043602000ba20304057f017e017f017e024002402001280208220228020422030d00410121040c010b20022003417f6a22053602044101210420022002280200220641016a3602002001427f200129030042017c22072007501b37030002400240024002400240024020062d000022084103710e0400010402000b20084102762106410021040c050b20050d010c040b20084104490d020c030b20022003417e6a3602044101210420022002280200220641016a3602002001427f200129030042017c22072007501b370300024020062d000022010d000c030b20014108742008724102762106410021040c020b20034104490d0120022003417c6a36020420022002280200220441036a3602002001427f2001290300220742037c220920092007541b37030020042f0000200441026a2d0000411074722201418002492104200141087420087241027621060c010b20034105490d0020022003417b6a36020420022002280200220441046a3602002001427f2001290300220742047c220920092007541b370300200428000022064180808080044921040b20002006360204200020043602000b980601077f23808080800041106b22022480808080000240024002400240024002400240024002400240024020012802042203200128020c22044b0d00024020012802082205280208220620052802102207470d00410121070c0a0b200741016a2208450d02200820064b0d032005280204210620052008360210200620076a2d000021050c010b2001200441016a220736020c200128020020046a2d00002105200721040b024002400240024020054103710e0400010203000b200541fc01714102762101410021070c0b0b200220053a000941012107200241013a000820022001360204200241003b010c200241046a2002410c6a410210c0838080000d0920022f010c220441ff014d0d0a20044102762101410021070c0a0b200220053a000941012107200241013a0008200220013602042002410036020c200241046a2002410c6a410410c0838080000d08200228020c220441027621012004418080044921070c090b41012107200541ff017141044f0d072002410036020402400240200320044b0d00200128020822012802082205200128021022046b4104490d09200441046a21072004417b4b0d04200720054b0d0520012802042105200120073602102002200520046a2800003602040c010b4100200320046b2206200620034b1b2205410420054104491b220320064b0d05200241046a200128020020046a200310e9968080001a2001200320046a36020c200541034b0d00200128020822012802082206200128021022046b410420056b2203490d08200420036a22072004490d06200720064b0d07200241046a20056a200128020420046a200310e9968080001a200120073602100b200228020422014180808080044921070c080b417f200841a8c8ca800010ac81808000000b2008200641a8c8ca800010aa81808000000b2004200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b2003200641d8bcc1800010aa81808000000b2004200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000b0b2000200136020420002007360200200241106a2480808080000b850601057f20002d00042103200041003a0004024002400240024002400240024002400240024002400240024020030d000240200028020022002802042204200028020c22034b0d000240200028020822002802082204200028021022036b20024f0d0041010f0b200320026a22052003490d04200520044b0d052001200028020420036a200210e9968080001a200020053602100c020b4100200420036b2205200520044b1b2204200220042002491b220620054b0d052001200028020020036a200610e99680800021052000200620036a36020c41002103200220044d0d020240200028020822002802082203200028021022016b200220046b22024f0d0041010f0b200120026a22062001490d06200620034b0d07200520046a200028020420016a200210e9968080001a2000200636021041000f0b200120002d00053a000041012103200141016a21052002417f6a21020240200028020022002802042204200028020c22014b0d00200028020822002802082204200028021022016b2002490d02200120026a22032001490d08200320044b0d092005200028020420016a200210e9968080001a200020033602100c010b4100200420016b2206200620044b1b2204200220042002491b220720064b0d092005200028020020016a200710e99680800021052000200720016a36020c200220044d0d00200028020822002802082206200028021022016b200220046b2202490d01200120026a22032001490d0a200320064b0d0b200520046a200028020420016a200210e9968080001a200020033602100b410021030b20030f0b2003200541a8c8ca800010ac81808000000b2005200441a8c8ca800010aa81808000000b2006200541d8bcc1800010aa81808000000b2001200641a8c8ca800010ac81808000000b2006200341a8c8ca800010aa81808000000b2001200341a8c8ca800010ac81808000000b2003200441a8c8ca800010aa81808000000b2007200641d8bcc1800010aa81808000000b2001200341a8c8ca800010ac81808000000b2003200641a8c8ca800010aa81808000000bb50402057f027e23808080800041106b22022480808080000240024002400240024002400240200128020022032802082201280204200128020c22044b0d00024020012802082201280208220520012802102204470d00410121040c030b200441016a2206450d03200620054b0d042001280204210520012006360210200520046a2d000021050c010b2001200441016a36020c200128020020046a2d000021050b2003427f200329030042017c22072007501b370300410021040b4101210120044101710d020240024002400240024020054103710e0400020301000b200541fc01714102762103410021010c070b200541ff01714104490d020c050b200241003b010a200220053a000a4101210120032802082002410a6a410172410110bc838080000d042003427f200329030042017c22072007501b37030020022f010a220441ff014d0d0520044102762103410021010c050b20024100360204200220053a0004410121012003280208200241046a410172410310bc838080000d032003427f2003290300220742037c220820082007541b3703002002280204220141027621032001418080044921010c040b2002410036020c20032802082002410c6a410410bc838080000d022003427f2003290300220742047c220820082007541b370300200228020c22034180808080044921010c030b417f200641a8c8ca800010ac81808000000b2006200541a8c8ca800010aa81808000000b0b2000200336020420002001360200200241106a2480808080000ba40504047f017e017f017e02400240200128020022022802082201280208220320012802102204460d00024002400240024002400240200441016a2205450d00200520034b0d0120012802042103200120053602102002427f200229030042017c22062006501b3703000240024002400240024002400240200320046a2d000022044103710e0400010203000b20044102762104410021010c0d0b20022802082201280208220520012802102203460d0b200341016a2207450d07200720054d0d022007200541a8c8ca800010aa81808000000b200228020822012802082205200128021022036b4103490d0a200341036a21072003417c4b0d07200720054d0d022007200541a8c8ca800010aa81808000000b4101210120044104490d020c0a0b20012802042105200120073602102002427f200229030042017c22062006501b370300200520036a2d00002201450d0820014108742004724102762104410021010c090b20012802042105200120073602102002427f2002290300220642037c220820082006541b370300200520036a22012f0000200141026a2d0000411074722202418002492101200241087420047241027621040c080b200228020822032802082207200328021022056b4104490d07200541046a21012005417b4b0d04200120074b0d0520032802042104200320013602102002427f2002290300220642047c220820082006541b370300200420056a28000022044180808080044921010c070b417f200541a8c8ca800010ac81808000000b2005200341a8c8ca800010aa81808000000b417f200741a8c8ca800010ac81808000000b2003200741a8c8ca800010ac81808000000b2005200141a8c8ca800010ac81808000000b2001200741a8c8ca800010aa81808000000b410121010b20002004360204200020013602000bcf0304037f017e027f017e0240024020012802002201280208280200220228020422030d00410121030c010b20022003417f6a3602044101210320022002280200220441016a3602002001427f200129030042017c22052005501b37030002400240024002400240024020042d000022044103710e0400010402000b20044102762102410021030c050b2001280208280200220228020422060d010c040b20044104490d020c030b20022006417f6a3602044101210320022002280200220641016a3602002001427f200129030042017c22052005501b370300024020062d000022010d000c030b20014108742004724102762102410021030c020b2001280208280200220628020422074103490d0120062007417d6a36020420062006280200220241036a3602002001427f2001290300220542037c220820082005541b37030020022f0000200241026a2d0000411074722201418002492103200141087420047241027621020c010b2001280208280200220428020422064104490d0020042006417c6a36020420042004280200220241046a3602002001427f2001290300220542047c220820082005541b370300200228000022024180808080044921030b20002002360204200020033602000b870401067f024002402001280208220220012802102203460d00024002400240024002400240200341016a2204450d0020022004490d0120012802042105200120043602100240024002400240024002400240200520036a2d000022064103710e0400010203000b20064102762106410021070c0d0b41012107024020022004470d000c0d0b200341026a21032004417f460d07200320024d0d022003200241a8c8ca800010aa81808000000b200220046b4103490d0a200341046a21032004417c4b0d07200320024d0d022003200241a8c8ca800010aa81808000000b4101210720064104490d020c0a0b200120033602100240200520046a2d000022010d000c0a0b20014108742006724102762106410021070c090b20012003360210200520046a22012f0000200141026a2d0000411074722201418002492107200141087420067241027621060c080b200220046b4104490d07200341056a21032004417b4b0d04200320024b0d0520012003360210200520046a28000022064180808080044921070c070b417f200441a8c8ca800010ac81808000000b2004200241a8c8ca800010aa81808000000b417f200341a8c8ca800010ac81808000000b2004200341a8c8ca800010ac81808000000b2004200341a8c8ca800010ac81808000000b2003200241a8c8ca800010aa81808000000b410121070b20002006360204200020073602000bc30304037f017e027f017e0240024020012802002201280208220228020422030d00410121030c010b20022003417f6a3602044101210320022002280200220441016a3602002001427f200129030042017c22052005501b37030002400240024002400240024020042d000022044103710e0400010402000b20044102762102410021030c050b2001280208220228020422060d010c040b20044104490d020c030b20022006417f6a3602044101210320022002280200220641016a3602002001427f200129030042017c22052005501b370300024020062d000022010d000c030b20014108742004724102762102410021030c020b2001280208220628020422074103490d0120062007417d6a36020420062006280200220241036a3602002001427f2001290300220542037c220820082005541b37030020022f0000200241026a2d0000411074722201418002492103200141087420047241027621020c010b2001280208220428020422064104490d0020042006417c6a36020420042004280200220241046a3602002001427f2001290300220542047c220820082005541b370300200228000022024180808080044921030b20002002360204200020033602000b830504057f017e017f017e0240024020012802082202280208220320022802102204460d00024002400240024002400240200441016a2205450d0020032005490d0120022802042106200220053602102001427f200129030042017c22072007501b3703000240024002400240024002400240200620046a2d000022084103710e0400010203000b20084102762108410021060c0d0b41012106024020032005470d000c0d0b200441026a21042005417f460d07200420034d0d022004200341a8c8ca800010aa81808000000b200320056b4103490d0a200441046a21042005417c4b0d07200420034d0d022004200341a8c8ca800010aa81808000000b4101210620084104490d020c0a0b20022802042103200220043602102001427f200129030042017c22072007501b3703000240200320056a2d000022010d000c0a0b20014108742008724102762108410021060c090b20022802042106200220043602102001427f2001290300220742037c220920092007541b370300200620056a22012f0000200141026a2d0000411074722201418002492106200141087420087241027621080c080b200320056b4104490d07200441056a21042005417b4b0d04200420034b0d0520022802042106200220043602102001427f2001290300220742047c220920092007541b370300200620056a28000022084180808080044921060c070b417f200541a8c8ca800010ac81808000000b2005200341a8c8ca800010aa81808000000b417f200441a8c8ca800010ac81808000000b2005200441a8c8ca800010ac81808000000b2005200441a8c8ca800010ac81808000000b2004200341a8c8ca800010aa81808000000b410121060b20002008360204200020063602000b880301077f4101210202400240024002402001280208220341016a2204200128020422054d0d000c010b200320054f0d012001200436020802400240024002400240024002402001280200220620036a2d000022074103710e0400010203000b20074102762108410021020c060b0240200341026a220320054d0d000c060b200120033602082004417f470d02417f200341d089cd800010ac81808000000b200341046a220320054b0d04200120033602082004417d490d022004200341d089cd800010ac81808000000b20074104490d020c030b0240200620046a2d000022010d000c030b20014108742007724102762108410021020c020b200620046a22012f0000200141026a2d0000411074722201418002492102200141087420077241027621080c010b200341056a220320054b0d00200120033602082004417c4f0d02200620046a28000022084180808080044921020b20002008360204200020023602000f0b2003200541e089cd800010f580808000000b2004200341d089cd800010ac81808000000be50303057f027e017f0240024020012802042202450d0020012002417f6a220336020420012001280200220441016a220536020020042d00002206ad2107024002400240024002400240024020064103710e0403000102030b2003450d0620012002417e6a3602042001200441026a36020020043100012208500d06200842088620078442028821070c070b20024104490d0520012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722201418002490d052001ad42088620078442028821070c060b200641027622090e050201010103010b2006410276ad21070c040b200641134b0d02200941046a21032002417e6a2102420021074100210403402002417f460d03200120023602042001200541016a22063602002002417f6a210220053100002004410374413871ad86200784210720062105200441016a220441ff01712003490d000b2007427f412820094103746b413871ad88560d030c020b20024105490d0120012002417b6a3602042001200441056a36020020042800012201418080808004490d012001ad21070c020b20024109490d002001200241776a3602042001200441096a3602002004290001220742ffffffffffffffff00560d010b200042013703000f0b20002007370308200042003703000be10503027f047e047f024020012802002201280208220228020422030d00200042013703000f0b20022003417f6a36020420022002280200220341016a360200420121042001427f200129030042017c22052005501b37030020032d00002202ad2105024002400240024002400240024002400240024020024103710e0402030001020b2001280208220228020422034103490d0720022003417d6a36020420022002280200220341036a3602002001427f2001290300220642037c220720072006541b37030020032f0000200341026a2d0000411074722201418002490d072001ad42088620058442028821050c080b200241027622080e050302020204020b2002410276ad21050c060b200128020822022802042203450d0420022003417f6a36020420022002280200220341016a360200420121042001427f200129030042017c22062006501b37030020033100002206500d04200642088620058442028821050c050b200241134d0d02200042013703000f0b420121042001280208220228020422034104490d0220022003417c6a36020420022002280200220341046a3602002001427f2001290300220542047c220620062005541b37030020032800002201418080808004490d022001ad21050c030b420121042001280208220228020422034108490d012002200341786a36020420022002280200220341086a3602002001427f2001290300220542087c220620062005541b3703002003290000220542ffffffffffffffff00560d020c010b200841046a210920012802082203280204417f6a2102420021054100210a4201210403402002417f460d012003200236020420032003280200220b41016a3602002001427f200129030042017c22062006501b3703002002417f6a2102200b310000200a410374413871ad862005842105200a41016a220a41ff01712009490d000b2005427f412820084103746b413871ad88560d010b200020043703000f0b20002005370308200042003703000bbd0705057f017e017f027e057f23808080800041106b220224808080800002400240024002400240024002400240024002400240200128020022012802082203280204200328020c22044b0d00024020032802082203280208220520032802102204470d00410121040c030b200441016a2206450d03200620054b0d042003280204210520032006360210200520046a2d000021030c010b2003200441016a36020c200328020020046a2d000021030b2001427f200129030042017c22072007501b370300410021040b4201210720044101710d070240024002400240024020034103710e0401020300010b2003410276413f7122080e050903030308030b200341fc0171410276ad21090c090b200241003b0108200220033a00082001280208200241086a410172410110bc838080000d09420121072001427f200129030042017c22092009501b37030020022f0108220141ff014d0d092001410276ad21090c080b20024100360208200220033a00082001280208200241086a410172410310bc838080000d082001427f2001290300220942037c220a200a2009541b3703002002280208220141ffff034d0d082001410276ad21090c070b200341ff017141134b0d07200841046a210b2001280208220c280204210d200c28020c210442002109410021030340024002400240200d20044b0d00410121050240200c2802082206280208220e2006280210220f470d000c030b200f41016a2205450d062005200e4b0d072006280204210e20062005360210200e200f6a2d000021060c010b200c200441016a220536020c200c28020020046a2d00002106200521040b2001427f200129030042017c22072007501b370300410021050b4201210720054101710d082006ad42ff01832003410374413871ad862009842109200341016a220341ff0171200b490d000b2009427f412820084103746b413871ad88560d060c070b417f200641a8c8ca800010ac81808000000b2006200541a8c8ca800010aa81808000000b417f200541a8c8ca800010ac81808000000b2005200e41a8c8ca800010aa81808000000b200242003703082001280208200241086a410810bc838080000d022001427f2001290300220942087c220a200a2009541b3703002002290308220942ffffffffffffffff00560d010c020b200241003602082001280208200241086a410410bc838080000d012001427f2001290300220942047c220a200a2009541b3703002002280208220141ffffffff034d0d012001ad21090b20002009370308420021070b20002007370300200241106a2480808080000bf30503027f047e047f024020012802002201280208280200220228020422030d00200042013703000f0b20022003417f6a36020420022002280200220341016a360200420121042001427f200129030042017c22052005501b37030020032d00002202ad2105024002400240024002400240024002400240024020024103710e0402030001020b2001280208280200220228020422034103490d0720022003417d6a36020420022002280200220341036a3602002001427f2001290300220642037c220720072006541b37030020032f0000200341026a2d0000411074722201418002490d072001ad42088620058442028821050c080b200241027622080e050302020204020b2002410276ad21050c060b200128020828020022022802042203450d0420022003417f6a36020420022002280200220341016a360200420121042001427f200129030042017c22062006501b37030020033100002206500d04200642088620058442028821050c050b200241134d0d02200042013703000f0b420121042001280208280200220228020422034104490d0220022003417c6a36020420022002280200220341046a3602002001427f2001290300220542047c220620062005541b37030020032800002201418080808004490d022001ad21050c030b420121042001280208280200220228020422034108490d012002200341786a36020420022002280200220341086a3602002001427f2001290300220542087c220620062005541b3703002003290000220542ffffffffffffffff00560d020c010b200841046a210920012802082802002203280204417f6a2102420021054100210a4201210403402002417f460d012003200236020420032003280200220b41016a3602002001427f200129030042017c22062006501b3703002002417f6a2102200b310000200a410374413871ad862005842105200a41016a220a41ff01712009490d000b2005427f412820084103746b413871ad88560d010b200020043703000f0b20002005370308200042003703000bcc0805047f027e017f027e037f0240200128020022012802082202280208220320022802102204470d00200042013703000f0b0240024002400240024002400240024002400240200441016a2205450d00200520034b0d012002280204210320022005360210420121062001427f200129030042017c22072007501b370300200320046a2d00002202ad21070240024002400240024002400240024002400240024020024103710e0403000102030b20012802082202280208220320022802102204460d12200441016a2205450d0c200520034d0d032005200341a8c8ca800010aa81808000000b200128020822022802082203200228021022046b4103490d11200441036a21052004417c4b0d0c200520034d0d032005200341a8c8ca800010aa81808000000b200241027622080e050403030305030b2002410276ad21070c100b2002280204210320022005360210420121062001427f200129030042017c22092009501b370300200320046a3100002209500d0e200942088620078442028821070c0f0b20022802042103200220053602102001427f2001290300220942037c220a200a2009541b370300200320046a22012f0000200141026a2d0000411074722201418002490d0d2001ad42088620078442028821070c0e0b200241134d0d03200042013703000f0b42012106200128020822022802082203200228021022046b4104490d0b200441046a21052004417b4b0d07200520034d0d012005200341a8c8ca800010aa81808000000b42012106200128020822022802082203200228021022046b4108490d0a200441086a2105200441774b0d07200520034d0d092005200341a8c8ca800010aa81808000000b20022802042103200220053602102001427f2001290300220742047c220920092007541b370300200320046a2800002201418080808004490d092001ad21070c0a0b200841046a210b20012802082205280208210c200528021021024200210741002104420121060340200c2002460d092002417f460d070240200241016a2203200c4d0d00200241016a200c41a8c8ca800010aa81808000000b2005280204210d200520033602102001427f200129030042017c22092009501b370300200d20026a3100002004410374413871ad86200784210720032102200441016a220441ff0171200b490d000b2007427f412820084103746b413871ad88560d090c080b417f200541a8c8ca800010ac81808000000b2005200341a8c8ca800010aa81808000000b417f200541a8c8ca800010ac81808000000b2004200541a8c8ca800010ac81808000000b2004200541a8c8ca800010ac81808000000b2004200541a8c8ca800010ac81808000000b417f200241016a41a8c8ca800010ac81808000000b20022802042103200220053602102001427f2001290300220742087c220920092007541b370300200320046a290000220742ffffffffffffffff00560d010b200020063703000f0b20002007370308200042003703000b820b0a017f017e037f017e017f017e027f017e037f017e23808080800041206b22022480808080004200210302400240200128020022042802082201280208220520012802102206470d00420121070c010b02400240024002400240024002400240024002400240200641016a2208450d00200820054b0d012001280204210520012008360210420121072004427f200429030042017c22092009501b37030002400240024002400240024002400240024002400240024002400240200520066a2d000022014103710e0403000102030b20042802082206280208220820062802102205460d18200541016a220a450d0f200a20084d0d03200a200841a8c8ca800010aa81808000000b200428020822062802082208200628021022056b4103490d17200541036a210a2005417c4b0d0f200a20084d0d03200a200841a8c8ca800010aa81808000000b2001410276220b0e0d04030303050303030303030306030b2001410276ad210c0c130b200628020421082006200a360210420121072004427f200429030042017c22092009501b370300200820056a2d00002204450d142004410874200172410276ad210c0c120b200628020421082006200a3602102004427f2004290300220942037c220c200c2009541b370300200820056a22042f0000200441026a2d0000411074722204418002490d132004410874200172410276ad210c0c110b200141334d0d06420121070c120b42012107200428020822012802082205200128021022066b4104490d11200641046a21082006417b4b0d0a200820054d0d022008200541a8c8ca800010aa81808000000b42012107200428020822012802082205200128021022066b4108490d10200641086a2108200641774b0d0a200820054d0d022008200541a8c8ca800010aa81808000000b42012107200428020822012802082205200128021022066b4110490d0f200641106a21082006416f4b0d0a200820054d0d022008200541a8c8ca800010aa81808000000b20012802042105200120083602102004427f2004290300220942047c220c200c2009541b370300200520066a2800002201418080808004490d0e2001ad210c0c0c0b20012802042105200120083602102004427f2004290300220942087c220c200c2009541b370300200520066a290000220c428080808080808080015a0d0b0c0d0b20012802042105200120083602102004427f2004290300220942107c220c200c2009541b370300200520066a220141086a290000220942ffffffffffffffff00580d0c2001290000210c0c0b0b200b41046a210d20042802082208280208210a20082802102101420021034100210642012107200241186a210e4200210c420021090340200a2001460d0c2001417f460d08200141016a2205200a4b0d092008280204210f200820053602102004427f200429030042017c22102010501b370300200241106a200f20016a3100004200200641037441f8007110ef96808000200e29030020098421092002290310200c84210c20052101200641016a220641ff0171200d490d000b2002427f427f41e800200b4103746b41f8007110e496808000200c2002290300562009200241086a29030022105620092010511b0d0a0c0b0b417f200841a8c8ca800010ac81808000000b2008200541a8c8ca800010aa81808000000b417f200a41a8c8ca800010ac81808000000b2005200a41a8c8ca800010ac81808000000b2006200841a8c8ca800010ac81808000000b2006200841a8c8ca800010ac81808000000b2006200841a8c8ca800010ac81808000000b417f200141016a41a8c8ca800010ac81808000000b200141016a200a41a8c8ca800010aa81808000000b420021090b2000200c3703102000200937031842002107420021030b2000200737030020002003370308200241206a2480808080000ba30709017f017e027f017e027f027e027f017e017f23808080800041206b220224808080800042002103024002402001280208220428020422050d00420121060c010b20042005417f6a220736020420042004280200220841016a360200420121062001427f200129030042017c22092009501b3703000240024002400240024002400240024002400240024020082d000022084103710e0403000102030b2007450d0a20042005417e6a36020420042004280200220541016a360200420121062001427f200129030042017c22092009501b37030020052d00002204450d0a2004410874200872410276ad210a0c080b20054104490d0920042005417c6a36020420042004280200220541036a3602002001427f2001290300220942037c220a200a2009541b37030020052f0000200541026a2d0000411074722204418002490d092004410874200872410276ad210a0c070b2008410276220b0e0d02010101030101010101010104010b2008410276ad210a0c050b200841334d0d03420121060c060b4201210620054105490d0520042005417b6a36020420042004280200220541046a3602002001427f2001290300220942047c220a200a2009541b37030020052800002204418080808004490d052004ad210a0c030b4201210620054109490d042004200541776a36020420042004280200220541086a3602002001427f2001290300220942087c220a200a2009541b3703002005290000220a428080808080808080015a0d020c040b4201210620054111490d0320042005416f6a36020420042004280200220541106a3602002001427f2001290300220942107c220a200a2009541b370300200541086a290000220942ffffffffffffffff00580d032005290000210a0c020b200b41046a210c2005417e6a21052001290300210d420021034100210842012106200241186a210e4200210a4200210903402005417f460d032004200536020420042004280200220741016a3602002001427f200d42017c220d200d501b220d370300200241106a20073100004200200841037441f8007110ef968080002005417f6a2105200e29030020098421092002290310200a84210a200841016a220841ff0171200c490d000b2002427f427f41e800200b4103746b41f8007110e496808000200a2002290300562009200241086a290300220d562009200d511b0d010c020b420021090b2000200a3703102000200937031842002106420021030b2000200637030020002003370308200241206a2480808080000b870907067f027e017f027e017f017e047f23808080800041306b2202248080808000024002400240024002400240024002400240024002400240024020012802082203280204200328020c22044b0d00024020032802082204280208220520042802102206470d00410121060c030b200641016a2207450d03200720054b0d042004280204210520042007360210200520066a2d000021040c010b2003200441016a36020c200328020020046a2d000021040b2001427f200129030042017c22082008501b370300410021060b420021084201210920064101710d090240024002400240024020044103710e0401020300010b2004410276413f71220a0e0d0a030303090303030303030308030b200441fc0171410276ad210b0c0a0b200241003b0120200220043a00202003200241206a410172410110bc838080000d0b420121092001427f200129030042017c220c200c501b37030020022f0120220341ff014d0d0b2003410276ad210b0c090b20024100360220200220043a00202003200241206a410172410310bc838080000d0a2001427f2001290300220c42037c220b200b200c541b3703002002280220220341ffff034d0d0a2003410276ad210b0c080b200441ff017141334b0d09200a41046a210d2001290300210e200328020c21062003280204210f41002104200241186a21104200210b4200210c0340024002400240200f20064b0d0041012105024020032802082207280208221120072802102212470d000c030b201241016a2205450d06200520114b0d072007280204211120072005360210201120126a2d000021070c010b2003200641016a220536020c200328020020066a2d00002107200521060b2001427f200e42017c22082008501b220e370300410021050b420021084201210920054101710d0a200241106a2007ad42ff01834200200441037441f8007110ef968080002010290300200c84210c2002290310200b84210b200441016a220441ff0171200d490d000b2002427f427f41e800200a4103746b41f8007110e496808000200b200229030056200c200241086a290300220e56200c200e511b0d080c090b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b417f200541a8c8ca800010ac81808000000b2005201141a8c8ca800010aa81808000000b42002108200241286a22044200370300200242003703202003200241206a411010bc838080000d042001427f2001290300220c42107c220b200b200c541b3703002004290300220c42ffffffffffffffff00580d042002290320210b0c030b42002108200242003703202003200241206a410810bc838080000d032001427f2001290300220c42087c220b200b200c541b3703002002290320220b42ffffffffffffffff00560d010c030b200241003602202003200241206a410410bc838080000d022001427f2001290300220c42047c220b200b200c541b3703002002280220220341ffffffff034d0d022003ad210b0b4200210c0b2000200b3703102000200c37031842002109420021080b2000200937030020002008370308200241306a2480808080000bd80708017f017e027f027e017f017e047f017e23808080800041206b2202248080808000420021030240024020012802002201280208220428020422050d00420121060c010b20042005417f6a36020420042004280200220541016a360200420121062001427f200129030042017c22072007501b3703000240024002400240024002400240024002400240024020052d000022044103710e0403000102030b200128020822052802042208450d0a20052008417f6a36020420052005280200220841016a360200420121062001427f200129030042017c22072007501b37030020082d00002201450d0a2001410874200472410276ad21090c080b2001280208220528020422084103490d0920052008417d6a36020420052005280200220841036a3602002001427f2001290300220742037c220920092007541b37030020082f0000200841026a2d0000411074722201418002490d092001410874200472410276ad21090c070b2004410276220a0e0d02010101030101010101010104010b2004410276ad21090c050b200441334d0d03420121060c060b420121062001280208220428020422054104490d0520042005417c6a36020420042004280200220541046a3602002001427f2001290300220742047c220920092007541b37030020052800002201418080808004490d052001ad21090c030b420121062001280208220428020422054108490d042004200541786a36020420042004280200220541086a3602002001427f2001290300220742087c220920092007541b37030020052900002209428080808080808080015a0d020c040b420121062001280208220428020422054110490d032004200541706a36020420042004280200220541106a3602002001427f2001290300220742107c220920092007541b370300200541086a290000220742ffffffffffffffff00580d03200529000021090c020b200a41046a210b20012802082205280204417f6a2104420021034100210842012106200241186a210c420021094200210703402004417f460d032005200436020420052005280200220d41016a3602002001427f200129030042017c220e200e501b370300200241106a200d3100004200200841037441f8007110ef968080002004417f6a2104200c290300200784210720022903102009842109200841016a220841ff0171200b490d000b2002427f427f41e800200a4103746b41f8007110e49680800020092002290300562007200241086a290300220e562007200e511b0d010c020b420021070b200020093703102000200737031842002106420021030b2000200637030020002003370308200241206a2480808080000bdc0707017f017e037f037e027f017e027f23808080800041206b2202248080808000420021030240024020012802082204280200220528020422060d00420121070c010b20052006417f6a36020420052005280200220641016a360200420121072001427f200129030042017c22082008501b3703000240024002400240024002400240024002400240024020062d000022054103710e0403000102030b200428020022062802042204450d0a20062004417f6a36020420062006280200220441016a360200420121072001427f200129030042017c22082008501b37030020042d00002201450d0a2001410874200572410276ad21090c080b2004280200220628020422044103490d0920062004417d6a36020420062006280200220441036a3602002001427f2001290300220842037c220920092008541b37030020042f0000200441026a2d0000411074722201418002490d092001410874200572410276ad21090c070b2005410276220a0e0d02010101030101010101010104010b2005410276ad21090c050b200541334d0d03420121070c060b420121072004280200220528020422064104490d0520052006417c6a36020420052005280200220641046a3602002001427f2001290300220842047c220920092008541b37030020062800002201418080808004490d052001ad21090c030b420121072004280200220528020422064108490d042005200641786a36020420052005280200220641086a3602002001427f2001290300220842087c220920092008541b37030020062900002209428080808080808080015a0d020c040b420121072004280200220528020422064110490d032005200641706a36020420052005280200220641106a3602002001427f2001290300220842107c220920092008541b370300200641086a290000220842ffffffffffffffff00580d03200629000021090c020b200a41046a210b20042802002206280204417f6a21052001290300210c420021034100210442012107200241186a210d420021094200210803402005417f460d032006200536020420062006280200220e41016a3602002001427f200c42017c220c200c501b220c370300200241106a200e3100004200200441037441f8007110ef968080002005417f6a2105200d290300200884210820022903102009842109200441016a220441ff0171200b490d000b2002427f427f41e800200a4103746b41f8007110e49680800020092002290300562008200241086a290300220c562008200c511b0d010c020b420021080b200020093703102000200837031842002107420021030b2000200737030020002003370308200241206a2480808080000bab0a0b017f017e037f017e027f017e017f017e017f017e027f23808080800041206b2202248080808000420021030240024020012802082204280208220520042802102206470d00420121070c010b02400240024002400240024002400240024002400240200641016a2208450d0020052008490d012004280204210920042008360210420121072001427f200129030042017c220a200a501b37030002400240024002400240024002400240024002400240024002400240200920066a2d000022094103710e0403000102030b20052008460d18200641026a21062008417f460d0f200620054d0d032006200541a8c8ca800010aa81808000000b200520086b4103490d17200641046a21062008417c4b0d0f200620054d0d032006200541a8c8ca800010aa81808000000b2009410276220b0e0d04030303050303030303030306030b2009410276ad210c0c130b2004280204210520042006360210420121072001427f200129030042017c220a200a501b370300200520086a2d00002204450d142004410874200972410276ad210c0c120b20042802042105200420063602102001427f2001290300220a42037c220c200c200a541b370300200520086a22042f0000200441026a2d0000411074722204418002490d132004410874200972410276ad210c0c110b200941334d0d06420121070c120b42012107200520086b4104490d11200641056a21062008417b4b0d0a200620054d0d022006200541a8c8ca800010aa81808000000b42012107200520086b4108490d10200641096a2106200841774b0d0a200620054d0d022006200541a8c8ca800010aa81808000000b42012107200520086b4110490d0f200641116a21062008416f4b0d0a200620054d0d022006200541a8c8ca800010aa81808000000b20042802042105200420063602102001427f2001290300220a42047c220c200c200a541b370300200520086a2800002204418080808004490d0e2004ad210c0c0c0b20042802042105200420063602102001427f2001290300220a42087c220c200c200a541b370300200520086a290000220c428080808080808080015a0d0b0c0d0b20042802042105200420063602102001427f2001290300220a42107c220c200c200a541b370300200520086a220441086a290000220a42ffffffffffffffff00580d0c2004290000210c0c0b0b200b41046a210d2001290300210e420021034100210642012107200241186a210f4200210c4200210a034020052008460d0c2008417f460d08200841016a220920054b0d0920042802042110200420093602102001427f200e42017c220e200e501b220e370300200241106a201020086a3100004200200641037441f8007110ef96808000200f290300200a84210a2002290310200c84210c20092108200641016a220641ff0171200d490d000b2002427f427f41e800200b4103746b41f8007110e496808000200c200229030056200a200241086a290300220e56200a200e511b0d0a0c0b0b417f200841a8c8ca800010ac81808000000b2008200541a8c8ca800010aa81808000000b417f200641a8c8ca800010ac81808000000b2008200641a8c8ca800010ac81808000000b2008200641a8c8ca800010ac81808000000b2008200641a8c8ca800010ac81808000000b2008200641a8c8ca800010ac81808000000b417f200841016a41a8c8ca800010ac81808000000b200841016a200541a8c8ca800010aa81808000000b4200210a0b2000200c3703102000200a37031842002107420021030b2000200737030020002003370308200241206a2480808080000bed0708017f017e027f027e017f017e047f017e23808080800041206b2202248080808000420021030240024020012802002201280208280200220428020422050d00420121060c010b20042005417f6a36020420042004280200220541016a360200420121062001427f200129030042017c22072007501b3703000240024002400240024002400240024002400240024020052d000022044103710e0403000102030b200128020828020022052802042208450d0a20052008417f6a36020420052005280200220841016a360200420121062001427f200129030042017c22072007501b37030020082d00002201450d0a2001410874200472410276ad21090c080b2001280208280200220528020422084103490d0920052008417d6a36020420052005280200220841036a3602002001427f2001290300220742037c220920092007541b37030020082f0000200841026a2d0000411074722201418002490d092001410874200472410276ad21090c070b2004410276220a0e0d02010101030101010101010104010b2004410276ad21090c050b200441334d0d03420121060c060b420121062001280208280200220428020422054104490d0520042005417c6a36020420042004280200220541046a3602002001427f2001290300220742047c220920092007541b37030020052800002201418080808004490d052001ad21090c030b420121062001280208280200220428020422054108490d042004200541786a36020420042004280200220541086a3602002001427f2001290300220742087c220920092007541b37030020052900002209428080808080808080015a0d020c040b420121062001280208280200220428020422054110490d032004200541706a36020420042004280200220541106a3602002001427f2001290300220742107c220920092007541b370300200541086a290000220742ffffffffffffffff00580d03200529000021090c020b200a41046a210b20012802082802002205280204417f6a2104420021034100210842012106200241186a210c420021094200210703402004417f460d032005200436020420052005280200220d41016a3602002001427f200129030042017c220e200e501b370300200241106a200d3100004200200841037441f8007110ef968080002004417f6a2104200c290300200784210720022903102009842109200841016a220841ff0171200b490d000b2002427f427f41e800200a4103746b41f8007110e49680800020092002290300562007200241086a290300220e562007200e511b0d010c020b420021070b200020093703102000200737031842002106420021030b2000200637030020002003370308200241206a2480808080000b980906057f027e017f027e067f017e23808080800041306b22022480808080000240024002400240024002400240024002400240024002400240200128020022032802082201280204200128020c22044b0d00024020012802082201280208220520012802102204470d00410121040c030b200441016a2206450d03200620054b0d042001280204210520012006360210200520046a2d000021010c010b2001200441016a36020c200128020020046a2d000021010b2003427f200329030042017c22072007501b370300410021040b420021074201210820044101710d090240024002400240024020014103710e0401020300010b2001410276413f7122090e0d0a030303090303030303030308030b200141fc0171410276ad210a0c0a0b200241003b0120200220013a00202003280208200241206a410172410110bc838080000d0b420121082003427f200329030042017c220b200b501b37030020022f0120220141ff014d0d0b2001410276ad210a0c090b20024100360220200220013a00202003280208200241206a410172410310bc838080000d0a2003427f2003290300220b42037c220a200a200b541b3703002002280220220141ffff034d0d0a2001410276ad210a0c080b200141ff017141334b0d09200941046a210c2003280208220d280204210e200d28020c210441002101200241186a210f4200210a4200210b0340024002400240200e20044b0d00410121050240200d2802082206280208221020062802102211470d000c030b201141016a2205450d06200520104b0d072006280204211020062005360210201020116a2d000021060c010b200d200441016a220536020c200d28020020046a2d00002106200521040b2003427f200329030042017c22072007501b370300410021050b420021074201210820054101710d0a200241106a2006ad42ff01834200200141037441f8007110ef96808000200f290300200b84210b2002290310200a84210a200141016a220141ff0171200c490d000b2002427f427f41e80020094103746b41f8007110e496808000200a200229030056200b200241086a290300221256200b2012511b0d080c090b417f200641a8c8ca800010ac81808000000b2006200541a8c8ca800010aa81808000000b417f200541a8c8ca800010ac81808000000b2005201041a8c8ca800010aa81808000000b42002107200241286a22014200370300200242003703202003280208200241206a411010bc838080000d042003427f2003290300220b42107c220a200a200b541b3703002001290300220b42ffffffffffffffff00580d042002290320210a0c030b42002107200242003703202003280208200241206a410810bc838080000d032003427f2003290300220b42087c220a200a200b541b3703002002290320220a42ffffffffffffffff00560d010c030b200241003602202003280208200241206a410410bc838080000d022003427f2003290300220b42047c220a200a200b541b3703002002280220220141ffffffff034d0d022001ad210a0b4200210b0b2000200a3703102000200b37031842002108420021070b2000200837030020002007370308200241306a2480808080000b960301037f02400240024020002802002202280200220041c000490d00200041808001490d012000418080808004490d0202402001280200220320012802082200470d0020012000410110fc9080800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410fc9080800020012802042104200128020821000b2001200041046a360208200420006a20023600000f0b200041027421020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b2000410274410172210202402001280200200128020822006b41014b0d0020012000410210fc90808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b2000410274410272210202402001280200200128020822006b41034b0d0020012000410410fc90808000200128020821000b2001200041046a360208200128020420006a20023600000bc00404027f017e047f017e23808080800041206b22022480808080000240024002400240024020002802002203290300220442c000540d00200442808001540d0120044280808080045a0d022004a7410274410272210302402001280200200128020822006b41034b0d0020012000410410fc90808000200128020821000b2001200041046a360208200128020420006a20033600000c030b2004a741027421030240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20033a00000c020b2004a7410274410172210302402001280200200128020822006b41014b0d0020012000410210fc90808000200128020821000b2001200041026a360208200128020420006a20033b00000c010b4113200479a741037622054102746b21060240200128020020012802082207470d0020012007410110fc90808000200128020821070b2001200741016a22003602082001280204220820076a20063a0000200541786a2107200329030021090340200921040240024020012802002000460d00200021030c010b20012000410110fc9080800020012802042108200128020821030b2001200341016a2200360208200820036a2004a73a000020044208882109200741016a22070d000b2002200937030020044280025a0d010b200241206a2480808080000f0b2002420037021420024281808080c00037020c200241c0b6c180003602084100200241f8b5c18000200241086a41c8b6c1800010f680808000000b890504027f027e047f027e23808080800041306b22022480808080000240024020002802002203290300220442c000544100200341086a29030022055022001b0d00024020044280800154410020001b0d000240200442808080800454410020001b0d00413320057920047942c0007c20054200521ba741037622064102746b21070240200128020020012802082208470d0020012008410110fc90808000200128020821080b2001200841016a22003602082001280204220920086a20073a0000200641706a2108200341086a290300210a2003290300210b0340200a2104200b21050240024020012802002000460d00200021030c010b20012000410110fc9080800020012802042109200128020821030b2001200341016a2200360208200920036a2005a73a00002005420888200442388684210b2004420888210a200841016a22080d000b2002200b3703002002200a37030820054280025441002004501b0d032002420037022420024281808080c00037021c200241c0b6c180003602184100200241e0b6c18000200241186a41f0b6c1800010c296808000000b2004a7410274410272210302402001280200200128020822006b41034b0d0020012000410410fc90808000200128020821000b2001200041046a360208200128020420006a20033600000c020b2004a7410274410172210302402001280200200128020822006b41014b0d0020012000410210fc90808000200128020821000b2001200041026a360208200128020420006a20033b00000c010b2004a741027421030240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20033a00000b200241306a2480808080000b0a00200010d9838080000bdc0a04067f017e027f017e23808080800041d0006b2201248080808000200141306a41d5b8c18000410641dbb8c18000411b4104410010c791808000200142043702282001420037022020014280808080800137021841002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d002002410036023820024104360224200241fcb8c18000360220200241b380808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc1337030820024106360204200241f6b8c1800036020020014102360248200120023602402001200241c0006a36024c20012002360244200141186a200141c0006a41bccec2800010b08b808000200141086a41086a200141246a220241086a2802003602002001200229020037030820012802182103200128021c2104200128022021052001280230210620012902342107200141186a41086a22084100360200200142808080808001370218200141186a41e0e1c1800010b891808000200128021c22024282a1a9c9eea2b5c92f3703082002428ae6f3f7c78ea4cfd100370300200141c0006a41086a220941013602002002420437022c2002420c370224200241efe2c180003602202002410b36021c200241e4e2c18000360218200241b480808000360210200120012902183703400240200928020022092001280240470d00200141c0006a41e0e1c1800010b8918080000b2001280244200941386c6a2202420437022c2002420637022420024181e3c180003602202002410636021c200241fbe2c18000360218200241e480808000360210200242c4fac092d1a1b49e887f37030820024290bb95eeb18dc1e7533703002008200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41e0e1c1800010b8918080000b200128021c200941386c6a2202420437022c2002420c370224200241efe2c180003602202002410a36021c20024187e3c18000360218200241b48080800036021020024282a1a9c9eea2b5c92f3703082002428ae6f3f7c78ea4cfd100370300200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41e0e1c1800010b8918080000b2001280244200941386c6a2202420437022c2002420c370224200241efe2c180003602202002410f36021c20024191e3c18000360218200241b48080800036021020024282a1a9c9eea2b5c92f3703082002428ae6f3f7c78ea4cfd100370300200141186a41086a200941016a220236020020012001290340220a37031802402002200aa7470d00200141186a41e0e1c1800010b8918080000b200128021c200241386c22096a2202420437022c20024206370224200241a6e3c180003602202002410636021c200241a0e3c18000360218200241d680808000360210200242ad9ddbeab5be8e9d0537030820024281f5a5a9fb86eaf153370300200128021c210220012001280218360220200120023602182001200220096a41386a3602242001200236021c200141c0006a200141186a41bccec2800010b18b8080002006418080808078460d0120012003360220200120043602182001200436021c2001200420054105746a360224200041c4006a200141186a41a892c4800010b08b808000200141236a200141c0006a41086a2802003600002000200737023c20002006360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bab0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000418008360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bdc0201037f23808080800041206b220124808080800041002d00b8bfd380001a0240413041002802b0bfd38000118280808000002202450d00200241b380808000360228200242d7c9cb8fc1cf97db3e370320200242e88488d0c0e3aebc13370318200241b380808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002001200241306a220336021c200141023602182001200236021420012002360210200141086a200141106a20022002200141206a200310e087808000200128020c2103200142888080808001370210200142808080808001370218200041c4006a200141106a41a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200320026b41186e36020c2000200236020820004102360204200041043a0000200141206a2480808080000f0b4108413010b980808000000bde0201037f23808080800041206b220124808080800041002d00b8bfd380001a0240413041002802b0bfd38000118280808000002202450d00200241e580808000360228200242e4e8e8bbbad2e8c5977f370320200242f9d5cc8a9ccf97fc30370318200241e680808000360210200242bcc7c3f1859dd5c41b370308200242f5e5cdd2effda5d8d8003703002001200241306a220336021c200141023602182001200236021420012002360210200141086a200141106a20022002200141206a200310e087808000200128020c2103200142888080808001370210200142808080808001370218200041c4006a200141106a41a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200320026b41186e36020c2000200236020820004102360204200041043a0000200141206a2480808080000f0b4108413010b980808000000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004114360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004120360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004108360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000ba40101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041e780808000360218200042d9d1a5958acddccda77f370310200042bb82a2f99fad8c91c100370308200041063a0000200141106a2480808080000ba30101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041e880808000360218200042e2e68fceaa92ce9c7b370310200042e987d8bed5a3d0fbfb00370308200041063a0000200141106a2480808080000ba30101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041e980808000360218200042a5e9e3ab9e929adc2c37031020004293888c8f89fdc6ec9e7f370308200041063a0000200141106a2480808080000ba20101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041b380808000360218200042d7c9cb8fc1cf97db3e370310200042e88488d0c0e3aebc13370308200041063a0000200141106a2480808080000b8f0403057f017e017f23808080800041c0006b2201248080808000200141246a418fb8c180004112418abec18000412f4104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d0020024100360218200241013602042002418dbdc1800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c21042001280210210220012802142105200129022821062001280224210720014288808080800137020c200142808080808001370214200141306a2001410c6a41bccec2800010b18b8080002007418080808078460d01200120043602142001200236020c200120023602102001200220054105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000b920403057f017e017f23808080800041c0006b2201248080808000200141246a41a1b8c18000410c418ebdc1800041274104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d0020024100360218200241013602042002418dbdc1800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a22032001410c6a410c6a220241086a28020036020020012002290200370300200128020c21042001280210210220012802142105200129022821062001280224210720014288808080800137020c200142808080808001370214200141306a2001410c6a41bccec2800010b18b8080002007418080808078460d01200120043602142001200236020c200120023602102001200220054105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000b920503067f017e017f23808080800041c0006b2201248080808000200141246a41adb8c18000410e41b5bdc1800041294104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d0020024100360218200241013602042002418dbdc1800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c2104200128021021052001280214210620012902282107200128022421082001410036021420014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220242b2f8c3808688d5ba3b3703002002420437022c20024203370224200241a8ecc1800036022020024100360218200241ea80808000360210200242dee5dd95dddee6d666370308200128021021022001200128020c3602142001200236020c2001200241386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002008418080808078460d01200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000b930503067f017e017f23808080800041c0006b2201248080808000200141246a41bbb8c18000410a41e8bcc1800041254104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d0020024100360218200241013602042002418dbdc1800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c2104200128021021052001280214210620012902282107200128022421082001410036021420014280808080800137020c2001410c6a41e0e1c1800010b891808000200128021022024290bb95eeb18dc1e7533703002002420437022c20024208370224200241a0ecc1800036022020024100360218200241e480808000360210200242c4fac092d1a1b49e887f370308200128021021022001200128020c3602142001200236020c2001200241386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002008418080808078460d01200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000b8f0403057f017e017f23808080800041c0006b2201248080808000200141246a41c5b8c18000411041debdc18000412c4104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d0020024100360218200241013602042002418dbdc1800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c21042001280210210220012802142105200129022821062001280224210720014288808080800137020c200142808080808001370214200141306a2001410c6a41bccec2800010b18b8080002007418080808078460d01200120043602142001200236020c200120023602102001200220054105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000baa09010a7f23808080800041206b220224808080800002400240200128022c220341c0004f0d00410121030c010b02402003418080014f0d00410221030c010b410441052003418080808004491b21030b4100210402400240417f2001280208220541146c20036a41046a220620062003491b22064100480d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022040d01410121040b2004200641f4cac1800010ae80808000000b2002410036020c200220043602082002200636020441002d00b8bfd380001a024002400240412041002802b0bfd38000118280808000002203450d002001412c6a21072003200129000c370000200341186a2208200141246a290000370000200341106a22092001411c6a290000370000200341086a220a200141146a2900003700004100210b02402006411f4b0d00200241046a4100412010fc9080800020022802082104200228020c210b0b2004200b6a22062003290000370000200641186a2008290000370000200641106a2009290000370000200641086a200a2900003700002002200b41206a36020c200341002802a8bfd380001180808080000020022007360214200241146a200241046a10d58380800041002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d0120032001290030370000200341186a2207200141c8006a290000370000200341106a2208200141c0006a290000370000200341086a2209200141386a29000037000002402002280204200228020c22046b411f4b0d00200241046a2004412010fc90808000200228020c21040b2002280208220b20046a22062003290000370000200641086a2009290000370000200641106a2008290000370000200641186a20072900003700002002200441206a220636020c200341002802a8bfd380001180808080000041002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d0220032001290050370000200341186a2207200141e8006a290000370000200341106a2208200141e0006a290000370000200341086a2209200141d8006a2900003700000240200228020420066b411f4b0d00200241046a2006412010fc908080002002280208210b200228020c21060b200b20066a22042003290000370000200441186a2007290000370000200441106a2008290000370000200441086a20092900003700002002200641206a36020c200341002802a8bfd380001180808080000020012802042103200220053602102002200241106a360214200241146a200241046a10d58380800002402005450d00200541146c2105200228020c21010340200241146a200310d795808000200228021821040240200228020420016b200228021c22064f0d00200241046a2001200610fc90808000200228020c21010b200228020820016a2004200610e9968080001a2002200120066a220136020c02402002280214450d00200441002802a8bfd38000118080808000000b200341146a21032005416c6a22050d000b0b20002002290204370200200041086a200241046a41086a280200360200200241206a2480808080000f0b4101412010b980808000000b4101412010b980808000000b4101412010b980808000000bd40603047f027e017f2380808080004180016b22022480808080000240024002400240024020012802002203280208280200220428020422054120490d002004200541606a36020420042004280200220541206a3602002003427f2003290300220642207c220720072006541b370300200241106a41086a200541086a290000370300200241106a41106a200541106a290000370300200241106a41186a200541186a29000037030020022005290000370310200241086a200110c38380800020022802080d012003280208280200220428020422054120490d02200228020c21082004200541606a36020420042004280200220541206a3602002003427f2003290300220642207c220720072006541b370300200241306a41086a200541086a290000370300200241306a41106a200541106a290000370300200241306a41186a200541186a290000370300200220052900003703302003280208280200220428020422054120490d032004200541606a36020420042004280200220541206a3602002003427f200642c0007c220720072006541b370300200241d0006a41086a200541086a290000370300200241d0006a41106a200541106a290000370300200241d0006a41186a200541186a290000370300200220052900003703502002200110c383808000024020022802000d00200241f4006a2001200228020410f48280800020022802742201418080808078460d00200229027821062000200229031037000c20002002290330370030200041246a200241106a41186a2903003700002000411c6a200241106a41106a290300370000200041146a200241106a41086a290300370000200041386a200241306a41086a290300370000200041c0006a200241306a41106a290300370000200041c8006a200241306a41186a29030037000020002002290350370050200041d8006a200241d0006a41086a290300370000200041e0006a200241d0006a41106a290300370000200041e8006a200241d0006a41186a2903003700002000200836022c20002006370204200020013602000c050b20004180808080783602000c040b20004180808080783602000c030b20004180808080783602000c020b20004180808080783602000c010b20004180808080783602000b20024180016a2480808080000b880803067f027e017f2380808080004180016b2202248080808000024002400240024002402001280200220328020822042802082205200428021022066b4120490d00200641206a2107024002402006415f4b0d00200720054b0d0120042802042105200420073602102003427f2003290300220842207c220920092008541b370300200241106a41086a200520066a220441086a290000370300200241106a41106a200441106a290000370300200241106a41186a200441186a29000037030020022004290000370310200241086a200110c283808000024002400240024020022802080d00200328020822042802082205200428021022066b4120490d02200641206a21072006415f4b0d07200720054d0d012007200541a8c8ca800010aa81808000000b20004180808080783602000c090b200228020c210a20042802042105200420073602102003427f2003290300220842207c220920092008541b370300200241306a41086a200520066a220441086a290000370300200241306a41106a200441106a290000370300200241306a41186a200441186a29000037030020022004290000370330200328020822042802082205200428021022066b4120490d07200641206a21072006415f4b0d06200720054d0d012007200541a8c8ca800010aa81808000000b20004180808080783602000c070b20042802042105200420073602102003427f200842c0007c220920092008541b370300200241d0006a41086a200520066a220441086a290000370300200241d0006a41106a200441106a290000370300200241d0006a41186a200441186a290000370300200220042900003703502002200110c283808000024020022802000d00200241f4006a2001200228020410898380800020022802742204418080808078460d00200229027821082000200229031037000c20002002290330370030200041246a200241106a41186a2903003700002000411c6a200241106a41106a290300370000200041146a200241106a41086a290300370000200041386a200241306a41086a290300370000200041c0006a200241306a41106a290300370000200041c8006a200241306a41186a29030037000020002002290350370050200041d8006a200241d0006a41086a290300370000200041e0006a200241d0006a41106a290300370000200041e8006a200241d0006a41186a2903003700002000200a36022c20002008370204200020043602000c070b20004180808080783602000c060b2006200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b20004180808080783602000c030b2006200741a8c8ca800010ac81808000000b2006200741a8c8ca800010ac81808000000b20004180808080783602000b20024180016a2480808080000b900703057f027e017f2380808080004190016b2202248080808000200241f0006a41186a22034200370300200241f0006a41106a22044200370300200241f0006a41086a22054200370300200242003703700240024002400240024020012802002206280208200241f0006a412010bc838080000d00200241106a41086a2005290300370300200241106a41106a2004290300370300200241106a41186a20032903003703002006427f2006290300220742207c220820082007541b37030020022002290370370310200241086a200110c18380800020022802080d01200228020c2109200241f0006a41186a22034200370300200241f0006a41106a22044200370300200241f0006a41086a22054200370300200242003703702006280208200241f0006a412010bc838080000d02200241306a41086a2005290300370300200241306a41106a2004290300370300200241306a41186a20032903003703002006427f2006290300220742207c220820082007541b37030020022002290370370330200342003703002004420037030020054200370300200242003703702006280208200241f0006a412010bc838080000d03200241d0006a41086a200241f0006a41086a290300370300200241d0006a41106a200241f0006a41106a290300370300200241d0006a41186a200241f0006a41186a2903003703002006427f200742c0007c220820082007541b370300200220022903703703502002200110c183808000024020022802000d00200241f0006a2001200228020410f78280800020022802702201418080808078460d00200229027421072000200229031037000c20002002290330370030200041246a200241106a41186a2903003700002000411c6a200241106a41106a290300370000200041146a200241106a41086a290300370000200041386a200241306a41086a290300370000200041c0006a200241306a41106a290300370000200041c8006a200241306a41186a29030037000020002002290350370050200041d8006a200241d0006a41086a290300370000200041e0006a200241d0006a41106a290300370000200041e8006a200241d0006a41186a2903003700002000200936022c20002007370204200020013602000c050b20004180808080783602000c040b20004180808080783602000c030b20004180808080783602000c020b20004180808080783602000c010b20004180808080783602000b20024190016a2480808080000b9b0702077f017e2380808080004180016b22022480808080000240024002400240024020012802082203200128021022046b4120490d00200441206a2105024002402004415f4b0d00200520034b0d012001280204210320012005360210200241106a41086a200320046a220441086a290000370300200241106a41106a200441106a290000370300200241106a41186a200441186a29000037030020022004290000370310200241086a200110c483808000024002400240024020022802080d0020012802082205200128021022046b4120490d02200441206a21032004415f4b0d07200520034f0d012003200541a8c8ca800010aa81808000000b20004180808080783602000c090b200228020c21062001280204210720012003360210200241306a41086a200720046a220841086a290000370300200241306a41106a200841106a290000370300200241306a41186a200841186a29000037030020022008290000370330200520036b4120490d07200441c0006a21042003415f4b0d06200420054d0d012004200541a8c8ca800010aa81808000000b20004180808080783602000c070b20012004360210200241d0006a41086a200720036a220441086a290000370300200241d0006a41106a200441106a290000370300200241d0006a41186a200441186a290000370300200220042900003703502002200110c483808000024020022802000d00200241f4006a2001200228020410e38280800020022802742201418080808078460d00200229027821092000200229031037000c20002002290330370030200041246a200241106a41186a2903003700002000411c6a200241106a41106a290300370000200041146a200241106a41086a290300370000200041386a200241306a41086a290300370000200041c0006a200241306a41106a290300370000200041c8006a200241306a41186a29030037000020002002290350370050200041d8006a200241d0006a41086a290300370000200041e0006a200241d0006a41106a290300370000200041e8006a200241d0006a41186a2903003700002000200636022c20002009370204200020013602000c070b20004180808080783602000c060b2004200541a8c8ca800010ac81808000000b2005200341a8c8ca800010aa81808000000b20004180808080783602000c030b2004200341a8c8ca800010ac81808000000b2003200441a8c8ca800010ac81808000000b20004180808080783602000b20024180016a2480808080000b970702077f017e23808080800041f0006b2202248080808000024002400240024002400240024002400240200128020422034120490d002001200341606a220436020420012001280200220541206a360200200241086a200541086a290000370300200241106a200541106a290000370300200241186a200541186a290000370300200220052900003703002004450d0420012003415f6a22063602042001200541216a22073602000240024020052d002022084103710e0403040100030b200841044f0d0520044105490d0520012003415b6a22063602042001200541256a2207360200200528002122034180808080044f0d040c050b20044104490d0420012003415c6a22063602042001200541246a220736020020052f0021200541236a2d0000411074722205418002490d04200541087420087241027621030c030b20004180808080783602000c070b200841027621030c010b2006450d0120012003415e6a22063602042001200541226a220736020020052d00212205450d01200541087420087241027621030b20064120490d012001200641606a22043602042001200741206a2205360200200241206a41086a200741086a290000370300200241206a41106a200741106a290000370300200241206a41186a200741186a2900003703002002200729000037032020044120490d022001200641406a3602042001200741c0006a360200200241c0006a41086a200541086a290000370300200241c0006a41106a200541106a290000370300200241c0006a41186a200541186a29000037030020022005290000370340200241e4006a200110e88b80800020022802642201418080808078460d03200229026821092000200229030037000c20002002290320370030200041246a200241186a2903003700002000411c6a200241106a290300370000200041146a200241086a290300370000200041386a200241206a41086a290300370000200041c0006a200241206a41106a290300370000200041c8006a200241206a41186a29030037000020002002290340370050200041d8006a200241c0006a41086a290300370000200041e0006a200241c0006a41106a290300370000200041e8006a200241c0006a41186a2903003700002000200336022c20002009370204200020013602000c040b20004180808080783602000c030b20004180808080783602000c020b20004180808080783602000c010b20004180808080783602000b200241f0006a2480808080000bcb0603047f027e017f2380808080004180016b22022480808080000240024002400240024020012802002203280208220428020422054120490d002004200541606a36020420042004280200220541206a3602002003427f2003290300220642207c220720072006541b370300200241106a41086a200541086a290000370300200241106a41106a200541106a290000370300200241106a41186a200541186a29000037030020022005290000370310200241086a200110c58380800020022802080d012003280208220428020422054120490d02200228020c21082004200541606a36020420042004280200220541206a3602002003427f2003290300220642207c220720072006541b370300200241306a41086a200541086a290000370300200241306a41106a200541106a290000370300200241306a41186a200541186a290000370300200220052900003703302003280208220428020422054120490d032004200541606a36020420042004280200220541206a3602002003427f200642c0007c220720072006541b370300200241d0006a41086a200541086a290000370300200241d0006a41106a200541106a290000370300200241d0006a41186a200541186a290000370300200220052900003703502002200110c583808000024020022802000d00200241f4006a2001200228020410de8280800020022802742201418080808078460d00200229027821062000200229031037000c20002002290330370030200041246a200241106a41186a2903003700002000411c6a200241106a41106a290300370000200041146a200241106a41086a290300370000200041386a200241306a41086a290300370000200041c0006a200241306a41106a290300370000200041c8006a200241306a41186a29030037000020002002290350370050200041d8006a200241d0006a41086a290300370000200041e0006a200241d0006a41106a290300370000200041e8006a200241d0006a41186a2903003700002000200836022c20002006370204200020013602000c050b20004180808080783602000c040b20004180808080783602000c030b20004180808080783602000c020b20004180808080783602000c010b20004180808080783602000b20024180016a2480808080000bcc0701087f23808080800041106b220224808080800041002d00b8bfd380001a024002400240412041002802b0bfd38000118280808000002203450d002003200029000c370000200341186a2204200041246a290000370000200341106a22052000411c6a290000370000200341086a2206200041146a29000037000002402001280200200128020822076b411f4b0d0020012007412010fc90808000200128020821070b200128020420076a22082003290000370000200841086a2006290000370000200841106a2005290000370000200841186a20042900003700002001200741206a360208200341002802a8bfd380001180808080000020022000412c6a360204200241046a200110d58380800041002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d0120032000290030370000200341186a2205200041c8006a290000370000200341106a2206200041c0006a290000370000200341086a2209200041386a29000037000002402001280200200128020822076b411f4b0d0020012007412010fc90808000200128020821070b2001280204220420076a22082003290000370000200841086a2009290000370000200841106a2006290000370000200841186a20052900003700002001200741206a2208360208200341002802a8bfd380001180808080000041002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d0220032000290050370000200341186a2205200041e8006a290000370000200341106a2206200041e0006a290000370000200341086a2209200041d8006a2900003700000240200128020020086b411f4b0d0020012008412010fc9080800020012802042104200128020821080b200420086a22072003290000370000200741186a2005290000370000200741106a2006290000370000200741086a20092900003700002001200841206a360208200341002802a8bfd38000118080808000002000280204210320022000280208220036020020022002360204200241046a200110d58380800002402000450d00200041146c2104200128020821000340200241046a200310d795808000200228020821070240200128020020006b200228020c22084f0d0020012000200810fc90808000200128020821000b200128020420006a2007200810e9968080001a2001200020086a220036020802402002280204450d00200741002802a8bfd38000118080808000000b200341146a21032004416c6a22040d000b0b200241106a2480808080000f0b4101412010b980808000000b4101412010b980808000000b4101412010b980808000000be20601117f23808080800041106b2204248080808000200441046a200110e08b80800002400240024020042802042205418080808078460d00200441046a20042802082206200428020c220710ae818080002004280204450d012005450d00200641002802a8bfd38000118080808000000b20004181808080783602000c010b200441046a200110e08b80800002400240024020042802042208418080808078460d00200441046a20042802082209200428020c220a10ae818080002004280204450d012008450d00200941002802a8bfd38000118080808000000b20004181808080783602000c010b024002400240024002402001280204220b4104490d002001200b417c6a220c36020420012001280200220d41046a360200200c4104490d01200d280000210e2001200b41786a220c3602042001200d41086a360200200c4104490d02200d280004210f2001200b41746a3602042001200d410c6a360200200d2800082110200441046a200110e58b8080002004280204220c418080808078460d03200428020c21112004280208211202400240024020020d002011410c6c21032012417c6a21020340024020030d00410021024101210b0c030b200341746a2103200241046a210b2002410c6a220d2102200b29000042dfd5adc696f381b09b7f520d000b200d28020021030b410021020240200341034f0d004101210b0c010b2001280204220d4104490d012001200d417c6a221336020420012001280200221441046a3602002014280000210b20034103460d002013450d012001200d417b6a3602042001201441056a36020020142d000421020b200020023a00342000200b3602302000201036022c2000200f3602282000200e360224200020113602202000201236021c2000200c3602182000200a360214200020093602102000200836020c2000200736020820002006360204200020053602000c070b2000418180808078360200200c41808080807872418080808078460d04201241002802a8bfd38000118080808000000c040b20004181808080783602000c030b20004181808080783602000c020b20004181808080783602000c010b20004181808080783602000b2008450d00200941002802a8bfd38000118080808000000b2005450d00200641002802a8bfd38000118080808000000b200441106a2480808080000bef0802077f017e23808080800041a0086b220124808080800002402000280218220241e8fb034b0d000240024002400240024002402002450d004100210303402001410041800810eb968080002204210541002106034041002d00b8bfd380001a410841002802b0bfd38000118280808000002207450d03200720033600002007200636000420044180086a200741084100280298bfd3800011858080800000200741002802a8bfd3800011808080800000200541186a20044180086a41186a290000370000200541106a20044180086a41106a290000370000200541086a20044180086a41086a2900003700002005200429008008370000200541206a2105200641016a22064120470d000b20044180086a200310888880800041002d00b8bfd380001a2004280288082107200428028408210541800841002802b0bfd38000118280808000002206450d03200520072006200441800810e996808000220641800841002802c8bdd3800011838080800000200641002802a8bfd38000118080808000000240200428028008450d00200541002802a8bfd38000118080808000000b200341016a22032002470d000b0b2001428fc293ebfcb2d69240370018200142a697eca999a192e817370010200142c0c38addfcd9c9c1c400370008200142c2d5a39edcfaf091cd0037000020012002360280082001412020014180086a410441002802c8bdd3800011838080800000200029030022084280c8afa025560d02200142ecefd7e4f19abeaecc00370018200142c98dcdf1f0adada9c400370010200142c0c38addfcd9c9c1c400370008200142c2d5a39edcfaf091cd0037000020012008370380082001412020014180086a410841002802c8bdd3800011838080800000200029030822084280c8afa025560d03200142988af5b38bd59ae3ad7f370018200142958ff2c2ebc1eefc79370010200142c0c38addfcd9c9c1c400370008200142c2d5a39edcfaf091cd0037000020012008370380082001412020014180086a410841002802c8bdd3800011838080800000200029031022084280c8afa025580d042001410036021020014101360204200141ecb9c1800036020020014204370208200141f4b9c1800010f280808000000b4101410810b980808000000b410141800810b980808000000b2001410036021020014101360204200141ccbac1800036020020014204370208200141d4bac1800010f280808000000b20014100360210200141013602042001419cbac1800036020020014204370208200141a4bac1800010f280808000000b200142cfc4f4d18decb3a8d800370018200142e8afb0b6b9e781b59d7f370010200142c0c38addfcd9c9c1c400370008200142c2d5a39edcfaf091cd0037000020012008370380082001412020014180086a410841002802c8bdd3800011838080800000200141a0086a2480808080000f0b20014101360204200141b8b9c180003602002001420137020c200141eb80808000ad4220864180b9c18000ad8437038008200120014180086a360208200141c0b9c1800010f280808000000baa0201037f2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000bc10501047f2380808080004180016b2201248080808000200142c0c38addfcd9c9c1c40037000a200142c2d5a39edcfaf091cd003700022001411c6a200141026a411041002802a8bdd380001185808080000002400240200128021c2202418080808078460d0020012802202103024020012802244110490d00200141026a2003411010ed96808000210402402002450d00200341002802a8bfd38000118080808000000b20040d0120004200370300200041086a42003703000c020b2002450d00200341002802a8bfd38000118080808000000b200141003b011241002102024041002802ecbfd380004103490d002001410736021820014180c6c38000360214200141ec80808000ad422086200141126aad84370368200141ed80808000ad422086200141146aad8437036041002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142023702542001410336024c200141ecbbc1800036024820014116360244200141e2b7c18000360240200142c280808030370238200141a0b7c180003602342001421637022c200141f8b7c180003602282001410036022420014281808080900737021c200241c4dbc88000200441024622041b28021021022001200141e0006a360250200341dcdbc8800020041b2001411c6a2002118b808080000020012f011221020b2001411c6a4180c6c3800041074100280290bfd38000118580808000002001411c6a41106a220341809ac5800041154100280290bfd3800011858080800000200141e0006a41186a2001411c6a41186a290000370300200141e0006a41106a2003290000370300200141e0006a41086a2001411c6a41086a2900003703002001200129001c370360200120023b011c200141e0006a41202001411c6a410241002802c8bdd3800011838080800000200041086a4200370300200042003703000b20014180016a2480808080000bf60201047f23808080800041c0006b220224808080800020022000360204410121000240200128021c22034194d5c18000410e2001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110cc888080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10cc888080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000bff0401087f23808080800041106b22022480808080000240024002400240200028026c0e03000102000b02402001280200220320012802082204470d0020012004410110fc9080800020012802002103200128020821040b2001200441016a22053602082001280204220620046a41003a0000200028027021040240200320056b41034b0d0020012005410410fc9080800020012802042106200128020821050b200620056a2004360000200541046a21050c020b0240200128020020012802082205470d0020012005410110fc90808000200128020821050b200128020420056a41013a0000200541016a21050c010b0240200128020020012802082205470d0020012005410110fc90808000200128020821050b200128020420056a41023a0000200541016a21050b200120053602082000200110de87808000200028026421052002200028026822003602082002200241086a36020c2002410c6a200110d583808000024002402000450d0020004105742106034041002d00b8bfd380001a412041002802b0bfd38000118280808000002200450d0220002005290000370000200041186a2207200541186a290000370000200041106a2208200541106a290000370000200041086a2209200541086a29000037000002402001280200200128020822036b411f4b0d0020012003412010fc90808000200128020821030b200541206a2105200128020420036a22042000290000370000200441086a2009290000370000200441106a2008290000370000200441186a20072900003700002001200341206a360208200041002802a8bfd3800011808080800000200641606a22060d000b0b200241106a2480808080000f0b4101412010b980808000000bff0a04067f017e027f017e23808080800041d0006b2201248080808000200141306a41b9bec18000410b41c4bec18000410c4104410010c791808000200142043702282001420037022020014280808080800137021841002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d00200241ee80808000360238200242b9ae9c9d87a9e0f55c37033020024286d8d0b0e0fff190837f3703282002410b360224200241d5bec18000360220200241b380808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc1337030820024105360204200241d0bec1800036020020014102360248200120023602402001200241c0006a36024c20012002360244200141186a200141c0006a41bccec2800010b08b808000200141086a41086a200141186a410c6a220241086a2802003602002001200229020037030820012802182103200128021c2104200128022021052001280230210620012902342107200141186a41086a22084100360200200142808080808001370218200141186a41e0e1c1800010b891808000200128021c220242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a220941013602002002420437022c20024205370224200241dbecc180003602202002410536021c200241d6ecc18000360218200241b380808000360210200120012902183703400240200928020022092001280240470d00200141c0006a41e0e1c1800010b8918080000b2001280244200941386c6a2202420437022c20024208370224200241b6ecc180003602202002410936021c200241e0ecc18000360218200241b380808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002008200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41e0e1c1800010b8918080000b200128021c200941386c6a2202420437022c20024208370224200241b6ecc180003602202002410936021c200241beecc18000360218200241b380808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41e0e1c1800010b8918080000b2001280244200941386c6a2202420437022c20024208370224200241b6ecc180003602202002410b36021c200241abecc18000360218200241b380808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141186a41086a200941016a220236020020012001290340220a37031802402002200aa7470d00200141186a41e0e1c1800010b8918080000b200128021c200241386c22096a2202420437022c2002420b370224200241cbecc180003602202002410436021c200241c7ecc18000360218200241ee80808000360210200242b9ae9c9d87a9e0f55c37030820024286d8d0b0e0fff190837f370300200128021c210220012001280218360220200120023602182001200220096a41386a3602242001200236021c200141c0006a200141186a41bccec2800010b18b8080002006418080808078460d0120012003360220200120043602182001200436021c2001200420054105746a360224200041c4006a200141186a41a892c4800010b08b808000200141236a200141c0006a41086a2802003600002000200737023c20002006360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bcc0804067f017e027f017e23808080800041d0006b2201248080808000200141306a41e0bec18000410b41c4bec18000410c4104410010c791808000200142043702282001420037022020014280808080800137021841002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d00200241b48080800036023820024282a1a9c9eea2b5c92f3703302002428ae6f3f7c78ea4cfd100370328200241013602242002418dbdc18000360220200241ef80808000360218200242dbebd387ecd7f7a373370310200242c09afdd283a3b5991e37030820024101360204200241ebbec1800036020020014102360248200120023602402001200241c0006a36024c20012002360244200141186a200141c0006a41bccec2800010b08b808000200141086a41086a200141186a410c6a220241086a2802003602002001200229020037030820012802182103200128021c2104200128022021052001280230210620012902342107200141186a41086a22084100360200200142808080808001370218200141186a41e0e1c1800010b891808000200128021c220242adf8f9ac87b2e6d9f20037030820024286cfee8bbaa89fcf1d370300200141c0006a41086a220941013602002002420437022c20024205370224200241eeecc180003602202002410536021c200241e9ecc18000360218200241f080808000360210200120012902183703400240200928020022092001280240470d00200141c0006a41e0e1c1800010b8918080000b2001280244200941386c6a2202420437022c2002420137022420024184edc180003602202002410536021c200241ffecc18000360218200241ef80808000360210200242dbebd387ecd7f7a373370308200242c09afdd283a3b5991e3703002008200941016a220236020020012001290340220a37031802402002200aa7470d00200141186a41e0e1c1800010b8918080000b200128021c200241386c22096a2202420437022c20024206370224200241f9ecc180003602202002410636021c200241f3ecc18000360218200241f18080800036021020024283e591dba5adc3e76d3703082002429fdfe3fcf4e7e783b87f370300200128021c210220012001280218360220200120023602182001200220096a41386a3602242001200236021c200141c0006a200141186a41bccec2800010b18b8080002006418080808078460d0120012003360220200120043602182001200436021c2001200420054105746a360224200041c4006a200141186a41a892c4800010b08b808000200141236a200141c0006a41086a2802003600002000200737023c20002006360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bda0101057f23808080800041106b220224808080800020022000360208200241086a200110d6838080002002200041086a36020c2002410c6a200110d68380800020002d0010210302402001280200220420012802082205470d0020012005410110fc9080800020012802002104200128020821050b2001280204220620056a20033a00002001200541016a220536020820002d00112100024020042005470d0020012004410110fc9080800020012802042106200128020821050b2001200541016a360208200620056a20003a0000200241106a2480808080000bcc0603067f017e017f23808080800041c0006b22012480808080002001410c6a41186a41ecbec18000411841c4bec18000410c4104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d0020024100360218200241013602042002418dbdc1800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2001410c6a410c6a220241086a28020036020020012002290200370300200128020c2103200128021021042001280214210520012802242106200129022821072001410c6a41086a410036020020014280808080800137020c2001410c6a41e0e1c1800010b891808000200128021022024282a1a9c9eea2b5c92f3703082002428ae6f3f7c78ea4cfd100370300200141306a41086a220841013602002002420437022c200242073702242002419fedc180003602202002410936021c20024196edc18000360218200241b4808080003602102001200129020c3703300240200828020022022001280230470d00200141306a41e0e1c1800010b8918080000b2001280234200241386c22086a2202420437022c2002420437022420024192edc180003602202002410d36021c20024185edc18000360218200241f280808000360210200242febac4ad81b6fafcb37f37030820024298848fa1dab08ba17437030020012802342102200120012802303602142001200236020c2001200220086a41386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002006418080808078460d01200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000baf0d02067f017e2380808080004190046b22022480808080000240024002400240024002400240024020012802082203200128021022046b410c490d002004410c6a2105200441734b0d02200520034d0d012005200341a8c8ca800010aa81808000000b20004181808080783602000c060b2001280204210620012005360210200241186a41086a200620046a220741086a28000036020020022007290000370318024002400240024002400240200241186a4184bfc18000410c10ed96808000450d00200241003602342002410c36022c200220013602302002200241186a360228200241a8016a41186a22014200370300200241a8016a41106a22044200370300200241a8016a41086a4200370300200242003703a801200241286a200241a8016a412010bc838080000d01200241b0036a41186a2001290300370300200241b0036a41106a2004290300370300200241b0036a41086a200241a8016a41086a2201290300370300200220022903a8013703b003200241106a200241286a10bf8380800020022802100d0120022802142103200241a8016a41186a22044200370300200241a8016a41106a2205420037030020014200370300200242003703a801200241286a200241a8016a412010bc838080000d01200241d0036a41186a2004290300370300200241d0036a41106a2005290300370300200241d0036a41086a200241a8016a41086a2201290300370300200220022903a8013703d003200442003703002005420037030020014200370300200242003703a801200241286a200241a8016a412010bc838080000d01200241f0036a41186a2204200241a8016a41186a290300370300200241f0036a41106a2205200241a8016a41106a290300370300200241f0036a41086a2001290300370300200220022903a8013703f003200241a8016a200241286a10e78b80800020022802a8012201418080808078460d01200241cc006a200241b0036a41086a290300370200200241d4006a200241b0036a41106a290300370200200241dc006a200241b0036a41186a290300370200200241f0006a200241d0036a41086a2206290300370200200241f8006a200241d0036a41106a29030037020020024180016a200241d0036a41186a290300370200200220022903b003370244200220022903d00337026820022902ac012108200241a0016a200429030037020020024198016a200529030037020020024190016a200241f0036a41086a290300370200200220022903f00337028801200220013602382002200837023c20022003360264200241a8016a200241286a10de8b80800020022802a801418080808078460d042006200241a8016a41086a280200360200200220022902a8013703d003200241f0036a200241286a10e38b80800020022802f003418080808078460d02200241ac026a200241f0036a41086a280200360200200220022902f0033702a402200241b4026a200241386a41f00010e9968080001a200241ac036a200241d0036a41086a280200360200200220022903d0033702a403200241a8016a200241b4026a41fc0010e9968080001a2000200241a8016a41880110e9968080001a0c0b0b20032005460d082004410d6a21042005417f460d06200420034b0d0720012004360210200620056a2d00004101470d02200241086a200110c48380800020022802080d09200241a8016a2001200228020c108a8380800020022802a8012205418080808078460d0920022802b001210420022802ac0121032002200110c483808000024020022802000d00200241a8016a2001200228020410dc8280800020022802a801418080808078460d00200020022902a801370210200041186a200241b0016a2802003602002000200436020c200020033602082000200536020420004180808080783602000c0b0b200041818080807836020002402004450d00200321010340200110b98b808000200141fc006a21012004417f6a22040d000b0b2005450d0a200341002802a8bfd38000118080808000000c0a0b20004181808080783602000c090b2000418180808078360200200241d0036a10da8b80800020022802d003450d0220022802d40341002802a8bfd38000118080808000000c020b20004181808080783602000c070b20004181808080783602000b200241386a10d98b8080002001450d052008a741002802a8bfd38000118080808000000c050b2004200541a8c8ca800010ac81808000000b417f200441a8c8ca800010ac81808000000b2004200341a8c8ca800010aa81808000000b20004181808080783602000c010b20004181808080783602000b20024190046a2480808080000bf90303017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802a0bdd38000118580808000000240024020032802080d00200041003a00000c010b200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a72206418008490d00200041016a200541800810e9968080001a200041013a00000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b200041003a00000b200341246a200520062003280218280210118580808000000b20034190016a2480808080000b1e00200128021c41f4c8c180004105200128022028020c118180808000000b140020012000280204200028020810e5808080000ba40403017f017e037f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d0020004180808080783602000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10ea87808000024002402003280248418080808078460d0020002003290248370200200041086a200341c8006a41086a2802003602000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b20004180808080783602000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000ba40403027f017e027f2380808080004190016b2202248080808000200241086a2000200141002802a0bdd38000118580808000000240024020022802080d00410321030c010b200241186a41086a200241086a41086a290200220437030020022002290208370318200228021c2105024002402004a72206450d0041022103024020052d00000e020200010b0240024020064101460d0020052d000141ff01712203450d004101410220034101461b21030c010b410021030b20064101460d0020034102470d010b024041002802ecbfd38000450d002002413c6a4190bfc1800041022000200110f38d808000200241e280808000ad4220862002418f016aad84370330200241e380808000ad4220862002413c6aad8437032841002802d4bcd38000210341002802d0bcd38000210141002802e8bfd380002100200242023702800120024102360278200241acbfc18000360274200241103602702002418bc0c1800036026c200242cf80808010370264200241bcbfc18000360260200242203702582002419bc0c180003602542002410036025020024281808080c003370248200341c4dbc88000200041024622001b28021021032002200241286a36027c200141dcdbc8800020001b200241c8006a2003118b8080800000200228023c450d00200228024041002802a8bfd38000118080808000000b410321030b200241246a200520062002280218280210118580808000000b20024190016a24808080800020030ba40403017f017e037f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d0020004180808080783602000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10df8b808000024002402003280248418080808078460d0020002003290248370200200041086a200341c8006a41086a2802003602000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b20004180808080783602000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000ba40403017f017e037f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d0020004180808080783602000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10e68b808000024002402003280248418080808078460d0020002003290248370200200041086a200341c8006a41086a2802003602000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b20004180808080783602000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000b9c0403017f017e037f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d00200041003602000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10f5898080000240024020032802480d002000200329024c3702042000410c6a200341c8006a410c6a280200360200200041013602000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b200041003602000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000be90503017f017e097f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d0020004180808080783602000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10e08b80800002400240024020032802482207418080808078460d00200328024c21080240200328022422094104490d002003280250210a20032003280220220b41046a220c36022020032009417c6a220d360224200d4120490d00200b280000210d2003200b41246a220b36022020032009415c6a2209360224200941034b0d020b2007450d00200841002802a8bfd38000118080808000000b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b20004180808080783602000c010b2000200d36020c2000200a36020820002008360204200020073602002000200c2900003700102000200b280000360230200041186a200c41086a290000370000200041206a200c41106a290000370000200041286a200c41186a2900003700000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000b940403027f017e037f2380808080004190016b2203248080808000200341086a2001200241002802a0bdd38000118580808000000240024020032802080d00410321040c010b200341186a41086a200341086a41086a290200220537030020032003290208370318200328021c21060240024002402005a72207450d000240024020062d000022040e03000401020b20074105490d0120062800012108410021040c030b410221040c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210441002802d0bcd38000210841002802e8bfd380002102200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200441c4dbc88000200241024622021b28021021042003200341286a36027c200841dcdbc8800020021b200341c8006a2004118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b410321040b0b200341246a200620072003280218280210118580808000000b200020083602042000200436020020034190016a2480808080000b820403027f017e037f2380808080004190016b2202248080808000200241086a2000200141002802a0bdd38000118580808000000240024020022802080d00410221030c010b200241186a41086a200241086a41086a290200220437030020022002290208370318200228021c2105024002402004a72206450d0020052d000041ff01712203450d004101410220034101461b21030c010b410021030b02402003410220061b22034102470d0041002802ecbfd38000450d002002413c6a4190bfc1800041022000200110f38d808000200241e280808000ad4220862002418f016aad84370330200241e380808000ad4220862002413c6aad8437032841002802d4bcd38000210141002802d0bcd38000210041002802e8bfd380002107200242023702800120024102360278200241acbfc18000360274200241103602702002418bc0c1800036026c200242cf80808010370264200241bcbfc18000360260200242203702582002419bc0c180003602542002410036025020024281808080c003370248200141c4dbc88000200741024622071b28021021012002200241286a36027c200041dcdbc8800020071b200241c8006a2001118b8080800000200228023c450d00200228024041002802a8bfd38000118080808000000b200241246a200520062002280218280210118580808000000b20024190016a24808080800020030b930403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802a0bdd38000118580808000000240024020032802080d0020004200370308200042003703000c010b200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a722064110490d002000420037030820004201370300200020052900003703102000200541086a2900003703180c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b20004200370308200042003703000b200341246a200520062003280218280210118580808000000b20034190016a2480808080000bfa0303027f017e027f2380808080004190016b2202248080808000200241086a2000200141002802a0bdd38000118580808000000240024020022802080d00410221030c010b200241186a41086a200241086a41086a290200220437030020022002290208370318200228021c2105024002402004a72206450d00024020052d000022030e020200010b4101210320064101460d0020052d0001450d010b024041002802ecbfd38000450d002002413c6a4190bfc1800041022000200110f38d808000200241e280808000ad4220862002418f016aad84370330200241e380808000ad4220862002413c6aad8437032841002802d4bcd38000210341002802d0bcd38000210141002802e8bfd380002100200242023702800120024102360278200241acbfc18000360274200241103602702002418bc0c1800036026c200242cf80808010370264200241bcbfc18000360260200242203702582002419bc0c180003602542002410036025020024281808080c003370248200341c4dbc88000200041024622001b28021021032002200241286a36027c200141dcdbc8800020001b200241c8006a2003118b8080800000200228023c450d00200228024041002802a8bfd38000118080808000000b410221030b200241246a200520062002280218280210118580808000000b20024190016a24808080800020030bf60603017f017e077f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d0020004180808080783602000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a7220536022420032003280214220636022002400240024020054120490d00200341c8006a41086a200641086a290000370300200341c8006a41106a200641106a290000370300200341c8006a41186a200641186a2900003703002003200641206a360220200320062900003703482003200541606a220736022420074104490d002003200641246a36022020032005415c6a220736022420074104490d00200628002021082003200541586a3602242003200641286a36022020062800242109200341286a200341206a10e48b80800020032802282207418080808078460d002003280230210a200328022c210b200341286a200341206a10e48b8080002003280228418080808078470d012007450d00200b41002802a8bfd38000118080808000000b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b20004180808080783602000c010b2000200329022837020c200041146a200341286a41086a280200360200200041306a200341e0006a290300370000200041286a200341d8006a290300370000200041206a200341c8006a41086a290300370000200020032903483700182000200936023c200020083602382000200a3602082000200b360204200020073602000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000bf70303027f017e037f2380808080004190016b220324808080800041002104200341086a2001200241002802a0bdd38000118580808000000240024020032802080d000c010b200341186a41086a200341086a41086a290200220537030020032003290208370318200328021c2106024002402005a722074104490d0020062800002108410121040c010b41002108024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210441002802d0bcd38000210241002802e8bfd380002101200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200441c4dbc88000200141024622011b28021021042003200341286a36027c200241dcdbc8800020011b200341c8006a2004118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b410021040b200341246a200620072003280218280210118580808000000b200020083602042000200436020020034190016a2480808080000bcd0603017f017e067f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d0020004181808080783602000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220024002402005450d0020032005417f6a22073602242003200641016a3602200240024002400240024020062d000022084103710e0400030201000b200841027621070c030b200841044f0d0320054105490d0320032005417b6a3602242003200641056a360220200628000122074180808080044f0d020c030b20054104490d0220032005417c6a3602242003200641046a36022020062f0001200641036a2d0000411074722207418002490d02200741087420087241027621070c010b2007450d0120032005417e6a3602242003200641026a36022020062d00012207450d01200741087420087241027621070b200341c8006a200341206a10e08b80800020032802482208418080808078460d00200341c8006a200328024c22092003280250220a10ae8180800002402003280248450d002008450d01200941002802a8bfd38000118080808000000c010b2000200736020c2000200a36020820002009360204200020083602000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002108200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200841024622081b28021021022003200341286a36027c200141dcdbc8800020081b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b20004181808080783602000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000ba40403017f017e037f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d0020004180808080783602000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10e08b808000024002402003280248418080808078460d0020002003290248370200200041086a200341c8006a41086a2802003602000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b20004180808080783602000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000b990403017f017e037f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d0020004180808080783602000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10e88b8080000240024020032802482207418080808078460d002000200329024c370204200020073602000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b20004180808080783602000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000bc00403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802a0bdd38000118580808000000240024020032802080d00200041023a00000c010b200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a722064120490d0020064120460d00410021070240024020052d00200e020100020b410121070b200020073a000020002005290000370001200041196a200541186a290000370000200041116a200541106a290000370000200041096a200541086a2900003700000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b200041023a00000b200341246a200520062003280218280210118580808000000b20034190016a2480808080000bc00403017f017e037f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d00200041023602000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10aa898080000240024020032802484102460d0020002003290248370200200041186a200341c8006a41186a290200370200200041106a200341c8006a41106a290200370200200041086a200341c8006a41086a2902003702000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b200041023602000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000ba10403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802a0bdd38000118580808000000240024020032802080d00200041003a00000c010b200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a722064120490d00200041013a000020002005290000370001200041196a200541186a290000370000200041116a200541106a290000370000200041096a200541086a2900003700000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b200041003a00000b200341246a200520062003280218280210118580808000000b20034190016a2480808080000bae0403017f017e037f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d00200042003703000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10c8838080000240024020032802480d0020032903502104200341c8006a200341206a10c88380800020032802480d002000200329035037031020002004370308200042013703000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b200042003703000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000b850403017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802a0bdd38000118580808000000240024020032802080d00200042003703000c010b200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a722064108490d002006417c714108460d002000420137030020002005280008360210200020052900003703080c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b200042003703000b200341246a200520062003280218280210118580808000000b20034190016a2480808080000ba40403017f017e037f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d0020004180808080783602000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a10e98b808000024002402003280248418080808078460d0020002003290248370200200041086a200341c8006a41086a2802003602000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b20004180808080783602000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000bec0403017f017e037f2380808080004190016b220324808080800020032001200241002802a0bdd38000118580808000000240024020032802000d00200042003703000c010b200341106a41086a200341086a29020022043703002003200329020037031020032004a72205360224200320032802142206360220200341c8006a200341206a109c898080000240024020032802480d0020002003290350370308200041306a200341c8006a41306a290300370300200041286a200341c8006a41286a290300370300200041206a200341c8006a41206a290300370300200041186a200341c8006a41186a290300370300200041106a200341c8006a41106a290300370300200042013703000c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b200042003703000b2003411c6a200620052003280210280210118580808000000b20034190016a2480808080000b8e0503017f017e057f2380808080004190016b2203248080808000200341086a2001200241002802a0bdd38000118580808000000240024020032802080d00200041003602000c010b200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a722064104490d002006417c7122074104460d0020074108460d002007410c460d0020074110460d0020074114460d0020074118460d00200641646a4110490d00200528000021022005280004210120052800082107200528000c210820052800102109200020052800143602202000200936021c2000200836021820002007360214200020013602102000200236020c200041013602002000200528002036022c20002005290018370224200020052900243702040c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b200041003602000b200341246a200520062003280218280210118580808000000b20034190016a2480808080000bb20503017f017e037f2380808080004190016b2203248080808000200341086a2001200241002802a0bdd38000118580808000000240024020032802080d0020004200370308200042003703000c010b200341186a41086a200341086a41086a290200220437030020032003290208370318200328021c2105024002402004a722064104490d002006417c7122074104460d0020074108460d002007410c460d00200641706a41c000490d002005280000210220052800042101200528000821072000420037030820004201370300200020073602582000200136025420002002360250200020052900403703402000200529003037033020002005290020370320200020052900103703102000200528000c36025c2000200541c8006a2900003703482000200541386a2900003703382000200541286a2900003703282000200541186a2900003703180c010b024041002802ecbfd38000450d002003413c6a4190bfc1800041022001200210f38d808000200341e280808000ad4220862003418f016aad84370330200341e380808000ad4220862003413c6aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002107200342023702800120034102360278200341acbfc18000360274200341103602702003418bc0c1800036026c200342cf80808010370264200341bcbfc18000360260200342203702582003419bc0c180003602542003410036025020034281808080c003370248200241c4dbc88000200741024622071b28021021022003200341286a36027c200141dcdbc8800020071b200341c8006a2002118b8080800000200328023c450d00200328024041002802a8bfd38000118080808000000b20004200370308200042003703000b200341246a200520062003280218280210118580808000000b20034190016a2480808080000bf30c01067f23808080800041306b22012480808080002001410036020c20014280808080800137020441002d00b8bfd380001a024002400240024002400240024002400240412041002802b0bfd38000118280808000002202450d002002412236021c200241e0c1c18000360218200241db0036021420024185c1c180003602102002410036020c200242c8808080103702042002418ec7c18000360200200141106a41084100410141011097928080002001280214210320012802104101460d01200128021822044200370000200141046a41ac99c4800010a58a8080002001280208220542d1b7cad1fcf7c4b6847f37020820054100360200200541013a0074200541043602702005200236026c20054288808080c000370264200520043602602005200336025c20054207370244200541eb9fc48000360240200541f380808000360218200542c0ce84fcacdaaac8947f3702102001410136020c41002d00b8bfd380001a412041002802b0bfd38000118280808000002202450d022002412236021c200241e0c1c18000360218200241db0036021420024185c1c180003602102002410036020c200242ca80808010370204200241bbc0c18000360200200141106a41084100410141011097928080002001280214210420012802104101460d032001280218220642003700000240200128020c22032001280204470d00200141046a41ac99c4800010a58a8080000b2001280208200341f8006c6a220541013a0074200541043602702005200236026c20054288808080c000370264200520063602602005200436025c20054207370244200541d39dc48000360240200541f380808000360218200542c0ce84fcacdaaac8947f370210200542d1b7cad1fcf7c4b6847f3702082005410036020041002d00b8bfd380001a2001200341016a36020c412041002802b0bfd38000118280808000002202450d042002412236021c200241e0c1c18000360218200241db0036021420024185c1c180003602102002410036020c200242bf8080801037020420024182c2c18000360200200141106a41084100410141011097928080002001280214210420012802104101460d052001280218220642003700000240200128020c22032001280204470d00200141046a41ac99c4800010a58a8080000b2001280208200341f8006c6a220541013a0074200541043602702005200236026c20054288808080c000370264200520063602602005200436025c20054206370244200541fe9bc48000360240200541f380808000360218200542c0ce84fcacdaaac8947f370210200542d1b7cad1fcf7c4b6847f370208200541003602002001200341016a36020c2001410036021041002d00b8bfd380001a41c00041002802b0bfd38000118280808000002205450d062005412f36023c200541dfc6c18000360238200541da0036023420054185c6c18000360230200541dc0036022c200541a9c5c18000360228200541da00360224200541cfc4c18000360220200541dd0036021c200541f2c3c18000360218200541da0036021420054198c3c180003602102005410036020c200542a980808010370204200541efc2c180003602002001410836022c2001200536022820014108360224200141106a200141246a200141046a10b38880800041002d00b8bfd380001a410841002802b0bfd38000118280808000002202450d07200241c1c2c180003602002002412e36020441002d00b8bfd380001a410441002802b0bfd38000118280808000002203450d08200341003600000240200128020c22042001280204470d00200141046a41ac99c4800010a58a8080000b2001280208200441f8006c6a220541013a0074200541013602702005200236026c2005428480808010370264200520033602602005410436025c2005420e3702442005418a9ec48000360240200541b380808000360218200542d7c9cb8fc1cf97db3e370210200542e88488d0c0e3aebc1337020820054100360200200041086a200441016a360200200020012902043702002000410736021020004180c6c3800036020c200141306a2480808080000f0b4104412010b980808000000b2003200128021841a48bcc800010ae80808000000b4104412010b980808000000b2004200128021841a48bcc800010ae80808000000b4104412010b980808000000b2004200128021841a48bcc800010ae80808000000b410441c00010b980808000000b4104410810b980808000000b4101410410b980808000000be10702067f027e23808080800041206b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240200128020022032802082204280208220520042802102206460d00200641016a2207450d09200720054b0d0a20042802042105200420073602102003427f200329030042017c22082008501b370300200520066a2d00000e050102030405060b200041003602000c110b0240200328020822042802082205200428021022066b4104490d00200641046a21072006417b4b0d0a200720054b0d0b20042802042105200420073602102003427f2003290300220842047c220920092008541b370300200520066a28000021042002200110d689808000200228020022034102460d00200228020421012000200336020820002004360204200041013602002000200136020c0c110b200041003602000c100b0240200328020822042802082206200428021022016b4108490d00200141086a2105200141774b0d0b200520064b0d0c2004280204210620042005360210200041023602002000200620016a2900003703082003427f2003290300220842087c220920092008541b3703000c100b200041003602000c0f0b0240200328020822042802082206200428021022016b4108490d00200141086a2105200141774b0d0c200520064b0d0d2004280204210620042005360210200041033602002000200620016a2900003703082003427f2003290300220842087c220920092008541b3703000c0f0b200041003602000c0e0b200241086a200110c283808000024020022802080d00200241146a2001200228020c10e8828080002002280214418080808078460d00200020022902143702042000410c6a2002411c6a280200360200200041043602000c0e0b200041003602000c0d0b200328020822042802082206200428021022016b4108490d02200141086a2105200141774b0d0b200520064d0d012005200641a8c8ca800010aa81808000000b200041003602000c0b0b2004280204210620042005360210200041053602002000200620016a2900003703082003427f2003290300220842087c220920092008541b3703000c0a0b200041003602000c090b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b2006200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b2001200541a8c8ca800010ac81808000000b2005200641a8c8ca800010aa81808000000b2001200541a8c8ca800010ac81808000000b2005200641a8c8ca800010aa81808000000b2001200541a8c8ca800010ac81808000000b200241206a2480808080000bc40603047f027e017f23808080800041206b2202248080808000024002400240024002400240024002402001280200220328020828020022042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e050102030406050b200041003602000c060b02402003280208280200220428020422014104490d0020042001417c6a36020420042004280200220141046a3602002003427f2003290300220642047c220720072006541b370300200328020828020022042802042205450d002001280000210820042005417f6a36020420042004280200220141016a3602002003427f200642057c220720072006541b3703000240024020012d000022010e020100020b2003280208280200220428020422014104490d0120042001417c6a36020420042004280200220141046a3602002003427f200642097c220720072006541b37030020012800002104410121010b2000200436020c2000200136020820002008360204200041013602000c060b200041003602000c050b02402003280208280200220428020422014108490d00200041023602002004200141786a36020420042004280200220141086a360200200020012900003703082003427f2003290300220642087c220720072006541b3703000c050b200041003602000c040b02402003280208280200220428020422014108490d00200041033602002004200141786a36020420042004280200220141086a360200200020012900003703082003427f2003290300220642087c220720072006541b3703000c040b200041003602000c030b200241086a200110c383808000024020022802080d00200241146a2001200228020c10ff828080002002280214418080808078460d00200020022902143702042000410c6a2002411c6a280200360200200041043602000c030b200041003602000c020b200041003602000c010b02402003280208280200220428020422014108490d00200041053602002004200141786a36020420042004280200220141086a360200200020012900003703082003427f2003290300220642087c220720072006541b3703000c010b200041003602000b200241206a2480808080000b830602067f027e23808080800041206b2202248080808000024002400240024002400240200128020022032802082204280204200428020c22054b0d00024020042802082204280208220620042802102205470d00410121040c030b200541016a2207450d03200720064b0d042004280204210620042007360210200620056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2003427f200329030042017c22082008501b370300410021040b024002400240024002400240024020044101710d00200541ff01710e050102030406050b200041003602000c080b2002410036021002402003280208200241106a410410bc838080000d002003427f2003290300220842047c220920092008541b370300200228021021042002200110d489808000200228020022034102460d00200228020421012000200336020820002004360204200041013602002000200136020c0c080b200041003602000c070b2002420037031002402003280208200241106a410810bc838080000d002003427f2003290300220842087c220920092008541b37030020002002290310370308200041023602000c070b200041003602000c060b2002420037031002402003280208200241106a410810bc838080000d002003427f2003290300220842087c220920092008541b37030020002002290310370308200041033602000c060b200041003602000c050b200241086a200110c183808000024020022802080d00200241106a2001200228020c10ee828080002002280210418080808078460d00200020022902103702042000410c6a200241186a280200360200200041043602000c050b200041003602000c040b200041003602000c030b2002420037031002402003280208200241106a410810bc838080000d002003427f2003290300220842087c220920092008541b37030020002002290310370308200041053602000c030b200041003602000c020b417f200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000b200241206a2480808080000baf0603047f027e017f23808080800041206b2202248080808000024002400240024002400240024002402001280200220328020822042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e050102030406050b200041003602000c060b02402003280208220428020422014104490d0020042001417c6a36020420042004280200220141046a3602002003427f2003290300220642047c220720072006541b370300200328020822042802042205450d002001280000210820042005417f6a36020420042004280200220141016a3602002003427f200642057c220720072006541b3703000240024020012d000022010e020100020b2003280208220428020422014104490d0120042001417c6a36020420042004280200220141046a3602002003427f200642097c220720072006541b37030020012800002104410121010b2000200436020c2000200136020820002008360204200041013602000c060b200041003602000c050b02402003280208220428020422014108490d00200041023602002004200141786a36020420042004280200220141086a360200200020012900003703082003427f2003290300220642087c220720072006541b3703000c050b200041003602000c040b02402003280208220428020422014108490d00200041033602002004200141786a36020420042004280200220141086a360200200020012900003703082003427f2003290300220642087c220720072006541b3703000c040b200041003602000c030b200241086a200110c583808000024020022802080d00200241146a2001200228020c1088838080002002280214418080808078460d00200020022902143702042000410c6a2002411c6a280200360200200041043602000c030b200041003602000c020b200041003602000c010b02402003280208220428020422014108490d00200041053602002004200141786a36020420042004280200220141086a360200200020012900003703082003427f2003290300220642087c220720072006541b3703000c010b200041003602000b200241206a2480808080000bdd0602057f017e23808080800041106b22022480808080000240024002400240024002402000280200417f6a0e050001020304000b02402001280200220320012802082204470d0020012004410110fc9080800020012802002103200128020821040b200041086a21052001280204220620046a41003a00002001200441016a2204360208200028020421000240200320046b41034b0d0020012004410410fc9080800020012802042106200128020821040b2001200441046a360208200620046a20003600002005200110d8898080000c040b02402001280200220320012802082204470d0020012004410110fc9080800020012802002103200128020821040b2001280204220620046a41013a00002001200441016a2204360208200029030821070240200320046b41074b0d0020012004410810fc9080800020012802042106200128020821040b2001200441086a360208200620046a20073700000c030b02402001280200220320012802082204470d0020012004410110fc9080800020012802002103200128020821040b2001280204220620046a41023a00002001200441016a2204360208200029030821070240200320046b41074b0d0020012004410810fc9080800020012802042106200128020821040b2001200441086a360208200620046a20073700000c020b0240200128020020012802082204470d0020012004410110fc90808000200128020821040b200128020420046a41033a00002001200441016a360208200028020821042002200028020c22003602082002200241086a36020c2002410c6a200110d5838080002000450d012000410a7421032001280208210003400240200128020020006b41ff074b0d002001200041800810fc90808000200128020821000b200128020420006a200441800810e9968080001a200120004180086a220036020820044180086a210420034180786a22030d000c020b0b02402001280200220320012802082204470d0020012004410110fc9080800020012802002103200128020821040b2001280204220620046a41043a00002001200441016a2204360208200029030821070240200320046b41074b0d0020012004410810fc9080800020012802042106200128020821040b2001200441086a360208200620046a20073700000b200241106a2480808080000bbc0503067f017e027f23808080800041c0006b2201248080808000200141186a41e8c7c18000410441f8b7c1800041164104410010c791808000200142043702102001420037020820014280808080800137020041002d00b8bfd380001a024002400240412041002802b0bfd38000118280808000002202450d0020024100360218200241013602042002418dbdc1800036020020014101360238200120023602302001200241206a36023c200120023602342001200141306a41bccec2800010b08b80800041002d00b8bfd380001a20012802002103200128020421042001280208210520012802182106200129021c2107410841002802b0bfd38000118280808000002208450d01200841002903b0c8c180003702002001410036020820014280808080c000370200200141306a200141b8c8c180004111108e858080002001200141306a41c9c8c18000410b10b885808000200141306a200141d4c8c18000410b10bb858080002001200141306a41dfc8c180004105109e85808000200141246a200141e4c8c18000411010b685808000200128022c210920012802282102200120012802243602082001200236020020012002200941246c6a36020c20012002360204200141306a200141bccec2800010af8b8080002006418080808078460d022001200336020820012004360200200120043602042001200420054105746a36020c200041c4006a200141a892c4800010b08b8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410841ecccc1800010ae80808000000b41f0e1c1800041114184e2c18000108b81808000000bcd0703067f017e037f23808080800041c0006b2201248080808000200141246a41f4c8c18000410541f8b7c1800041164104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a02400240024002400240412041002802b0bfd38000118280808000002202450d0020024100360218200241013602042002418dbdc1800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b80800041002d00b8bfd380001a200128020c210320012802102104200128021421052001280224210620012902282107410841002802b0bfd38000118280808000002208450d01200841002903a0c9c1800037020041002d00b8bfd380001a2001410036021420014280808080c00037020c411841002802b0bfd38000118280808000002209450d02200941106a41002902e88fc28000370200200941086a41002902e08fc28000370200200941002902d88fc280003702002001410c6a41d0e1c1800010af9680800020012802102202428080808030370208200242808080808001370200200241003a00202002411236021c200241a8c9c180003602182002410336021420022009360210200141306a41086a41013602002001200129020c37033041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d03200941002902f88ec280003702000240200128023822022001280230470d00200141306a41d0e1c1800010af968080000b2001280234200241246c220a6a220241013a00202002410b36021c200241bac9c180003602182002410136021420022009360210200242808080801037020820024280808080800137020020012802342102200120012802303602142001200236020c20012002200a6a41246a36021820012002360210200141306a2001410c6a41bccec2800010af8b8080002006418080808078460d04200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41a892c4800010b08b8080002001410c6a410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410841ecccc1800010ae80808000000b4104411810b980808000000b4104410810b980808000000b41f0e1c1800041114184e2c18000108b81808000000bca0402047f017e024002400240024020002d00000e0400010203000b02402001280200220220012802082203470d0020012003410110fc9080800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41003a000020002d00012100024020022004470d0020012002410110fc9080800020012802042105200128020821040b200520046a20003a00002001200441016a3602080f0b02402001280200220220012802082203470d0020012003410110fc9080800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41013a0000200029030821060240200220046b41074b0d0020012004410810fc9080800020012802042105200128020821040b200520046a20063700002001200441086a3602080f0b02402001280200220220012802082203470d0020012003410110fc9080800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41023a0000200029030821060240200220046b41074b0d0020012004410810fc9080800020012802042105200128020821040b200520046a20063700002001200441086a3602080f0b02402001280200220220012802082203470d0020012003410110fc9080800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41033a0000200029030821060240200220046b41074b0d0020012004410810fc9080800020012802042105200128020821040b200520046a20063700002001200441086a3602080b9b0301037f23808080800041106b220224808080800002402001280200220328020020032802082204470d002003200441014101410110948a808000200328020821040b2003200441016a360208200328020420046a41fb003a00002002200136020c20024180023b010802400240200241086a41c5c9c180004107200010fc8a80800022030d00024020022d00084101470d0041002d00b8bfd380001a411441002802b0bfd38000118280808000002203450d022003420037020c2003410d3602000c010b200241086a41ccc9c180004107200041086a10fc8a80800022030d00024020022d00084101470d0010879280800021030c010b200241086a41d3c9c18000410e200041186a10fe8a80800022030d00024020022d00084101470d0010879280800021030c010b200241086a41e1c9c18000410b200041106a10fc8a80800022030d000240200228020822034180fe0371450d0020034101710d00200228020c280200418eb8c18000410141e0cdc1800010cf8b8080000b410021030b200241106a24808080800020030f0b4104411410b980808000000b950501027f23808080800041c0006b2202248080808000200241003602142002410036020c200241808080807836020002400240200241c5c9c180004107200110868b80800022030d00200241ccc9c180004107200141086a10868b80800022030d00200241d3c9c18000410e200141186a10838b80800022030d00200241e1c9c18000410b200141106a10868b80800022030d00200241186a41106a200241106a290200370300200241186a41086a200241086a290200370300200220022902003703182000200241186a1088928080000c010b200041063a00002000200336020402402002280200418180808078460d0002400240200228020c22000d0041002100410021010c010b200220022802102201360234200220003602302002410036022c20022001360224200220003602202002410036021c41012100200228021421010b200220013602382002200036022820022000360218200241186a10d68a80800020022802002200418080808078460d012000450d01200228020441002802a8bfd38000118080808000000c010b024002400240024020022d00040e0704040102030004000b02400240200228020822000d0041002100410021010c010b2002200228020c2201360234200220003602302002410036022c20022001360224200220003602202002410036021c41012100200228021021010b200220013602382002200036022820022000360218200241186a10d68a8080000c030b2002280208450d02200228020c41002802a8bfd38000118080808000000c020b2002280208450d01200228020c41002802a8bfd38000118080808000000c010b200241086a10d58b8080002002280208450d00200228020c41002802a8bfd38000118080808000000b200241c0006a2480808080000bcd0201057f23808080800041106b2203248080808000410521044100210502400240200028020022060e03010000010b41012105410121040b41002d00b8bfd380001a0240200441002802b0bfd38000118280808000002207450d002003200736020820032004360204410121040240024002400240024020060e03000201000b200741003a0000410121042003410136020c200028020421064100210002402005450d00200341046a4101410410fc90808000200328020445210020032802082107200328020c21040b200720046a2006360000200120022007200441046a41002802c8bdd38000118380808000002000450d020c030b410221040b200720043a0000200120022007410141002802c8bdd38000118380808000000b200741002802a8bfd38000118080808000000b200341106a2480808080000f0b4101200441f4cac1800010ae80808000000bc00301087f23808080800041106b220324808080800041002d00b8bfd380001a02400240410141002802b0bfd38000118280808000002204450d002003410036020c200320043602082003410136020441002d00b8bfd380001a412041002802b0bfd38000118280808000002204450d0120042000290001370000200441186a2205200041196a290000370000200441106a2206200041116a290000370000200441086a2207200041096a290000370000200341046a4100412010fc9080800020032802082208200328020c22096a220a2004290000370000200a41086a2007290000370000200a41106a2006290000370000200a41186a20052900003700002003200941206a220a36020c200441002802a8bfd380001180808080000020002d00002100024020032802042204200a470d00200341046a200a410110fc908080002003280204210420032802082108200328020c210a0b2008200a6a20003a0000200120022008200a41016a41002802c8bdd380001183808080000002402004450d00200841002802a8bfd38000118080808000000b200341106a2480808080000f0b4101410141f4cac1800010ae80808000000b4101412010b980808000000bb00601057f20002802082102024020012802002203200128020822046b41034b0d0020012004410410fc9080800020012802002103200128020821040b2001200441046a22053602082001280204220620046a2002360000200028020c21020240200320056b41034b0d0020012005410410fc908080002001280200210320012802042106200128020821050b2001200541046a2204360208200620056a2002360000200028021021050240200320046b41034b0d0020012004410410fc9080800020012802042106200128020821040b200620046a20053600002001200441046a22053602082000280214210202402001280200220320056b41034b0d0020012005410410fc9080800020012802002103200128020821050b2001200541046a22043602082001280204220620056a2002360000200028021821020240200320046b41034b0d0020012004410410fc908080002001280200210320012802042106200128020821040b2001200441046a2205360208200620046a2002360000200028021c21040240200320056b41034b0d0020012005410410fc9080800020012802042106200128020821050b200620056a20043600002001200541046a22053602082000280220210202402001280200220320056b41034b0d0020012005410410fc9080800020012802002103200128020821050b2001200541046a22043602082001280204220620056a2002360000200028022421020240200320046b41034b0d0020012004410410fc908080002001280200210320012802042106200128020821040b2001200441046a2205360208200620046a2002360000200028022821040240200320056b41034b0d0020012005410410fc9080800020012802042106200128020821050b200620056a20043600002001200541046a22053602082000280200210202402001280200220320056b41034b0d0020012005410410fc9080800020012802002103200128020821050b2001200541046a22043602082001280204220620056a2002360000200028020421000240200320046b41034b0d0020012004410410fc9080800020012802042106200128020821040b2001200441046a360208200620046a20003600000b8d0301057f23808080800041206b220324808080800002400240200028020c220441c0004f0d00410121050c010b02402004418080014f0d00410221050c010b410441052004418080808004491b21050b4100210602400240417f2000280208220420056a41046a220720072005491b22054100480d0041002d00b8bfd380001a200541002802b0bfd380001182808080000022070d01410121060b2006200541f4cac1800010ae80808000000b20034100360214200320073602102003200536020c20032000410c6a36021c2003411c6a2003410c6a10d58380800020002802042106200320043602182003200341186a36021c2003411c6a2003410c6a10d5838080000240200328020c2207200328021422006b20044f0d002003410c6a2000200410fc90808000200328020c2107200328021421000b2003280210220520006a2006200410e9968080001a200120022005200020046a41002802c8bdd380001183808080000002402007450d00200541002802a8bfd38000118080808000000b200341206a2480808080000ba10801077f23808080800041206b22022480808080004100210302400240417f417f20012802202204410c6c417f417f200128021422052001280208220641046a22076a41046a220820082007491b2207410c6a220820082007491b22076a41046a220820082007491b220741056a220820082007491b22074100480d0041002d00b8bfd380001a200741002802b0bfd380001182808080000022080d01410121030b2003200741f4cac1800010ae80808000000b20024100360214200220083602102002200736020c20012802042108200220063602182002200241186a36021c2002411c6a2002410c6a10d5838080000240200228020c200228021422076b20064f0d002002410c6a2007200610fc90808000200228021421070b200228021020076a2008200610e9968080001a2002200720066a36021420012802102103200220053602182002200241186a36021c2002411c6a2002410c6a10d5838080000240200228020c2206200228021422076b20054f0d002002410c6a2007200510fc90808000200228020c2106200228021421070b2002280210220820076a2003200510e9968080001a2002200720056a2205360214200128022421070240200620056b41034b0d002002410c6a2005410410fc90808000200228020c210620022802102108200228021421050b200820056a20073600002002200541046a2205360214200128022821070240200620056b41034b0d002002410c6a2005410410fc9080800020022802102108200228021421050b200820056a20073600002002200541046a2205360214200128022c21060240200228020c20056b41034b0d002002410c6a2005410410fc90808000200228021421050b200228021020056a20063600002002200541046a360214200128021c2106200220043602182002200241186a36021c2002411c6a2002410c6a10d5838080002002280214210502402004450d0020062004410c6c6a210303400240200228020c220420056b41074b0d002002410c6a2005410810fc90808000200228020c2104200228021421050b2002280210220720056a20062900003700002002200541086a2205360214200641086a28020021080240200420056b41034b0d002002410c6a2005410410fc9080800020022802102107200228021421050b200720056a20083600002002200541046a22053602142006410c6a22062003470d000b0b200128023021070240200228020c220620056b41034b0d002002410c6a2005410410fc90808000200228020c2106200228021421050b2002280210220420056a20073600002002200541046a220536021420012d00342107024020062005470d002002410c6a2006410110fc9080800020022802102104200228021421050b2000200229020c370200200420056a20073a0000200041086a200541016a360200200241206a2480808080000bc10100024002400240024002400240200241796a0e080003030302030301030b0240200141c5c9c18000410710ed96808000450d00200141ccc9c18000410710ed968080000d03200041013a00010c050b200041003a0001200041003a00000f0b200141d3c9c18000410e10ed96808000450d020c010b200141e1c9c18000410b10ed968080000d00200041033a00010c020b20002001200241ecc9c18000410410c18e808000360204200041013a00000f0b200041023a00010b200041003a00000bd30503067f017e017f23808080800041c0006b2201248080808000200141246a4198cbc18000410e41a6cbc1800041254104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d002002410036023820024101360224200241cbcbc18000360220200241f480808000360218200242ad81c296a8a1bddf10370310200242f4a9a9b6bc97b5dace00370308200241013602042002418dbdc1800036020020014102360238200120023602302001200241c0006a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c2104200128021021052001280214210620012902282107200128022421082001410036021420014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220242f9eb8acfdfd8f3edd6003703002002420437022c20024206370224200241f9ecc1800036022020024100360218200241f580808000360210200242d2a69f9f8b9bfcecf100370308200128021021022001200128020c3602142001200236020c2001200241386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002008418080808078460d01200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bf503010b7f23808080800041206b210202400240024002400240200128020422034104490d0020012003417c6a220436020420012001280200220541046a36020020044104490d01200528000021062001200341786a22043602042001200541086a36020020044104490d02200528000421072001200341746a220436020420012005410c6a36020020044104490d03200528000821082001200341706a22043602042001200541106a36020020044104490d04200528000c210920012003416c6a22043602042001200541146a36020002402004450d002005280010210a20012003416b6a3602042001200541156a220b3602000240024020052d0014220c0e020100020b20044121490d0120012003414b6a3602042001200541356a360200200241086a200b41086a290000370300200241106a200b41106a290000370300200241186a200b41186a2900003703002002200b2900003703000b2000200c3a0014200020022903003700152000411d6a200241086a290300370000200041256a200241106a2903003700002000412d6a200241186a2903003700002000200a3602102000200936020c2000200836020820002007360204200020063602000f0b200041023a00140f0b200041023a00140f0b200041023a00140f0b200041023a00140f0b200041023a00140f0b200041023a00140b830301047f20002802002102024020012802002203200128020822046b41034b0d0020012004410410fc9080800020012802002103200128020821040b2001280204220520046a20023600002001200441046a2204360208200028020421020240200320046b41034b0d0020012004410410fc908080002001280200210320012802042105200128020821040b200520046a20023600002001200441046a2204360208200028020821020240200320046b41034b0d0020012004410410fc9080800020012802042105200128020821040b200520046a20023600002001200441046a2204360208200028020c210202402001280200220320046b41034b0d0020012004410410fc9080800020012802002103200128020821040b2001280204220520046a20023600002001200441046a2204360208200028021021020240200320046b41034b0d0020012004410410fc9080800020012802042105200128020821040b2001200441046a360208200520046a2002360000200041146a200110d7898080000be20904067f017e027f017e23808080800041d0006b2201248080808000200141306a41cccbc18000411741e3cbc1800041174104410010c791808000200142043702282001420037022020014280808080800137021841002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d00200241b380808000360238200242d7c9cb8fc1cf97db3e370330200242e88488d0c0e3aebc1337032820024101360224200241fbcbc18000360220200241b48080800036021820024282a1a9c9eea2b5c92f3703102002428ae6f3f7c78ea4cfd10037030820024101360204200241facbc1800036020020014102360248200120023602402001200241c0006a36024c20012002360244200141186a200141c0006a41bccec2800010b08b808000200141086a41086a200141246a220241086a2802003602002001200229020037030820012802182103200128021c2104200128022021052001280230210620012902342107200141186a41086a22084100360200200142808080808001370218200141186a41e0e1c1800010b891808000200128021c220242aa86bdf2eecaaab2fd00370308200242e799b0dd8fb894deba7f370300200141c0006a41086a220941013602002002420437022c20024208370224200241a5bfc280003602202002410b36021c2002419abfc28000360218200241d080808000360210200120012902183703400240200928020022092001280240470d00200141c0006a41e0e1c1800010b8918080000b2001280244200941386c6a2202420437022c20024201370224200241c0bfc280003602202002411336021c200241adbfc28000360218200241b380808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002008200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41e0e1c1800010b8918080000b200128021c200941386c6a2202420437022c200242013702242002418dbfc280003602202002411936021c200241f4bec28000360218200241b48080800036021020024282a1a9c9eea2b5c92f3703082002428ae6f3f7c78ea4cfd100370300200141c8006a200941016a220236020020012001290318220a37034002402002200aa7470d00200141c0006a41e0e1c1800010b8918080000b2001280244200241386c22096a2202420437022c2002420337022420024187fbc180003602202002410c36021c2002418ebfc28000360218200241b380808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002001280244210220012001280240360220200120023602182001200220096a41386a3602242001200236021c200141c0006a200141186a41bccec2800010b18b8080002006418080808078460d0120012003360220200120043602182001200436021c2001200420054105746a360224200041c4006a200141186a41a892c4800010b08b808000200141236a200141c0006a41086a2802003600002000200737023c20002006360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bbd0403087f027e027f23808080800041306b2202248080808000200241086a200110c383808000024002400240024020022802080d00200241106a2001200228020c10fb8280800020022802102203418080808078460d002002280214210420012802002205280208280200220628020422074104490d012002280218210820062007417c6a36020420062006280200220941046a3602002005427f2005290300220a42047c220b200b200a541b370300024020012802002207280208280200220628020422054120490d00200928000021092006200541606a36020420062006280200220541206a3602002007427f2007290300220a42207c220b200b200a541b370300200241106a41086a2207200541086a290000370300200241106a41106a220c200541106a290000370300200241106a41186a220d200541186a2900003703002002200529000037031020012802002206280208280200220128020422054104490d002000200836020820002004360204200020033602002000200229031037001020012005417c6a36020420012001280200220341046a360200200041186a2007290300370000200041206a200c290300370000200041286a200d2903003700002006427f2006290300220a42047c220b200b200a541b370300200020032800003602302000200936020c0c040b20004180808080783602000c020b20004180808080783602000c020b20004180808080783602000b2003450d00200441002802a8bfd38000118080808000000b200241306a2480808080000bf505030a7f027e017f23808080800041306b2202248080808000200241086a200110c2838080000240024002400240024002400240024002400240024020022802080d00200241106a2001200228020c10e68280800020022802102203418080808078460d00200228021421042001280200220528020822062802082207200628021022086b4104490d02200841046a21092008417b4b0d06200920074d0d012009200741a8c8ca800010aa81808000000b20004180808080783602000c090b2002280218210a2006280204210b200620093602102005427f2005290300220c42047c220d200d200c541b3703002001280200220728020822062802082209200628021022056b4120490d02200541206a210e2005415f4b0d05200e20094d0d01200e200941a8c8ca800010aa81808000000b20004180808080783602000c020b200b20086a2800002109200628020421082006200e3602102007427f2007290300220c42207c220d200d200c541b370300200241106a41086a200820056a220641086a290000370300200241106a41106a200641106a290000370300200241106a41186a200641186a290000370300200220062900003703102001280200220828020822012802082205200128021022066b4104490d00200641046a21072006417b4b0d04200720054b0d0520012802042105200120073602102000200a360208200020043602042000200336020020002002290310370010200041186a200241186a290300370000200041206a200241206a290300370000200041286a200241106a41186a2903003700002008427f2008290300220c42047c220d200d200c541b3703002000200520066a2800003602302000200936020c0c060b20004180808080783602000b2003450d04200441002802a8bfd38000118080808000000c040b2008200941a8c8ca800010ac81808000000b2005200e41a8c8ca800010ac81808000000b2006200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b200241306a2480808080000bb70403057f027e047f23808080800041d0006b2202248080808000200241086a200110c1838080000240024002400240024020022802080d00200241306a2001200228020c10f38280800020022802302203418080808078460d0020022802382104200228023421052002410036023020012802002206280208200241306a410410bc838080000d022006427f2006290300220742047c220820082007541b37030020022802302109200241306a41186a220a4200370300200241306a41106a220b4200370300200241306a41086a220c42003703002002420037033020012802002206280208200241306a412010bc838080000d01200241106a41086a200c290300370300200241106a41106a200b290300370300200241106a41186a200a2903003703002006427f2006290300220742207c220820082007541b370300200220022903303703102002410036023020012802002201280208200241306a410410bc838080000d012001427f2001290300220742047c220820082007541b3703002002280230210120002004360208200020053602042000200336020020002002290310370010200041186a200241186a290300370000200041206a200241206a290300370000200041286a200241106a41186a290300370000200020013602302000200936020c0c040b20004180808080783602000c030b20004180808080783602000c010b20004180808080783602000b2003450d00200541002802a8bfd38000118080808000000b200241d0006a2480808080000bb40403087f027e027f23808080800041306b2202248080808000200241086a200110c583808000024002400240024020022802080d00200241106a2001200228020c10e08280800020022802102203418080808078460d002002280214210420012802002205280208220628020422074104490d012002280218210820062007417c6a36020420062006280200220941046a3602002005427f2005290300220a42047c220b200b200a541b370300024020012802002207280208220628020422054120490d00200928000021092006200541606a36020420062006280200220541206a3602002007427f2007290300220a42207c220b200b200a541b370300200241106a41086a2207200541086a290000370300200241106a41106a220c200541106a290000370300200241106a41186a220d200541186a2900003703002002200529000037031020012802002206280208220128020422054104490d002000200836020820002004360204200020033602002000200229031037001020012005417c6a36020420012001280200220341046a360200200041186a2007290300370000200041206a200c290300370000200041286a200d2903003700002006427f2006290300220a42047c220b200b200a541b370300200020032800003602302000200936020c0c040b20004180808080783602000c020b20004180808080783602000c020b20004180808080783602000b2003450d00200441002802a8bfd38000118080808000000b200241306a2480808080000b8f0401077f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110d583808000024020012802002205200128020822066b20044f0d0020012006200410fc9080800020012802002105200128020821060b2001280204220720066a2003200410e9968080001a2001200620046a2204360208200028020c21060240200520046b41034b0d0020012004410410fc9080800020012802042107200128020821040b200720046a20063600002001200441046a220636020841002d00b8bfd380001a0240412041002802b0bfd38000118280808000002204450d0020042000290010370000200441186a2205200041286a290000370000200441106a2203200041206a290000370000200441086a2208200041186a2900003700000240200128020020066b411f4b0d0020012006412010fc9080800020012802042107200128020821060b200720066a22072004290000370000200741186a2005290000370000200741106a2003290000370000200741086a20082900003700002001200641206a2206360208200441002802a8bfd3800011808080800000200028023021000240200128020020066b41034b0d0020012006410410fc90808000200128020821060b2001200641046a360208200128020420066a2000360000200241106a2480808080000f0b4101412010b980808000000bf60801087f23808080800041f0006b2208248080808000410121090240024002400240024020022d00044101470d002001280200210a200841e4006a200241056a220110ff8780800020082008280268220b200828026c1096848080004100210c02402008280200410171450d002008280258200828025c724521092008280250210c0b02402008280264450d00200b41002802a8bfd38000118080808000000b0240024002402009450d0041800221090c010b200c200a4d0d0141800621090b200020093b01002000418080808078360210200041026a41003a0000200228020022002000280200417f6a220036020020000d02200210cd8b8080000c020b41002d00b8bfd380001a410c41002802b0bfd3800011828080800000220b450d03200841186a220d200141186a290000370300200841106a220e200141106a290000370300200841086a220f200141086a2900003703002008200129000037030041002d00b8bfd380001a412441002802b0bfd38000118280808000002209450d02200920082903003700002009200a360020200941186a200d290300370000200941106a200e290300370000200941086a200f290300370000200b4124360208200b2009360204200b4124360200410421094100210d02400240200c200a4f0d0041002d00b8bfd380001a410c41002802b0bfd38000118280808000002209450d01200841186a220d200141186a290000370300200841106a220e200141106a290000370300200841086a220f200141086a2900003703002008200129000037030041002d00b8bfd380001a412441002802b0bfd3800011828080800000220c450d06200c2008290300370000200c200a417f6a360020200c41186a200d290300370000200c41106a200e290300370000200c41086a200f290300370000200941243602082009200c360204200941243602004101210d0b2000200129000037003120002002290200370258200041c9006a200141186a290000370000200041c1006a200141106a290000370000200041396a200141086a290000370000200041e0006a200241086a290200370200200041e8006a200241106a290200370200200041f0006a200241186a290200370200200041f8006a200241206a290200370200200041226a200b4110763a00002000200b3b0120200041003a0030200041013a0028200041013602242000200b4118763a00232000410136021c2000200d360218200020093602142000200d3602102000427f370308200042003703000c020b4104410c10b980808000000b200042891c37034020004288c9883f370338200041013a0030200041013a0028200042043703202000420037031820004280808080c0003703102000427f3703082000420037030020002002290200370258200041f8006a200241206a290200370200200041f0006a200241186a290200370200200041e8006a200241106a290200370200200041e0006a200241086a2902003702000b200841f0006a2480808080000f0b4101412410b980808000000b4104410c10b980808000000b4101412410b980808000000b870403017f037e027f23808080800041c0006b2202248080808000200242d3d8c5d2a9b9d2c1ac7f37002820024282ca868eabf3add0cf00370020200242fc90b9e5d09296e777370018200242a6d4e6f1a4dd959860370010200241086a200241106a4120108a84808000420021030240024020012802004101470d0020012903082203500d01200129031022044200200235020c420020022802084101711b220520047d220420042005561b22042003827d20047c21030b200241106a200342ffffffff0f200342ffffffff0f541ba722061089888080002002280214220120022802184100280298bdd3800011848080800000210702402002280210450d00200141002802a8bfd38000118080808000000b410121010240024020070d00200041800a3b00010c010b200041016a2101200241346a2006108988808000200241106a20022802382207200228023c1090848080000240024020022d00100d0020014200370000200141186a4200370000200141106a4200370000200141086a42003700000c010b20012002290011370000200141186a200241296a290000370000200141106a200241216a290000370000200141086a200241196a2900003700000b02402002280234450d00200741002802a8bfd38000118080808000000b410021010b200020013a0000200241c0006a2480808080000f0b41acc7cc8000108881808000000baf0f05017f027e017f037e0b7f23808080800041c00b6b220424808080800042c0f1ec00210542d50b21060240200242c0f1ec00540d00200342d50b540d00200442988af5b38bd59ae3ad7f370038200442958ff2c2ebc1eefc79370030200442c0c38addfcd9c9c1c400370028200442c2d5a39edcfaf091cd00370020200441b0086a200441206a412010ba83808000200441106a20042903b808420020042802b0081b4200200342ab747c420010f196808000200441206a420042002004290310200441106a41086a290300428094ebdc034200109992808000200441386a22072903002106200429032821032004290320210820042903302105200442ecefd7e4f19abeaecc00370038200442c98dcdf1f0adada9c400370030200442c0c38addfcd9c9c1c400370028200442c2d5a39edcfaf091cd00370020200441b0086a200441206a412010ba83808000200420042903b808420020042802b0081b4200200242c08e937f7c420010f196808000200441206a420042002004290300200441086a290300428094ebdc03420010999280800042002004290330427f2007290300501b427f2004290320200429032884501b22024295fdfee37e7c220920092002561b42a5fd8b0380210a4200200542a2787c220920092005561b42a1782006501b42a1782008200384501b220842c81780210342002105420021060240200842c817540d0042002105420021062003200a560d00200342ffffffff0f83220542c8177e42de077c2106200542a5fd8b037e42eb82819c017c21052003a7220b450d00410021070340200441b0086a2007108888808000200441206a20042802b408220c20042802b80810fc83808000024020042802b008450d00200c41002802a8bfd38000118080808000000b200b200741016a2207470d000b0b42004200200220057d220320032002561b22024292bfcd7e7c220320032002561b2202428b9e06540d002002428b9e0680210241002d00b8bfd380001a0240024041c00041002802b0bfd3800011828080800000220d450d00200d4200370000200d41386a220e4200370000200d41306a220f4200370000200d41286a22104200370000200d41206a22114200370000200d41186a22124200370000200d41106a22134200370000200d41086a22144200370000200441b0086a41c8006a410041810110eb96808000210b200442003703f008200442f9c2f89b91a3b3f0db003703e808200442ebfa86dabfb5f6c11f3703e0082004429fd8f9d9c291da829b7f3703d808200442d1859aeffacf9487d1003703d008200442f1edf4f8a5a7fda7a57f3703c808200442abf0d3f4afeebcb73c3703c008200442bbceaaa6d8d0ebb3bb7f3703b808200442c892f795ffccf984ea003703b0082002a72215450d0141002107034002400240200741ff0171220c41c100490d00200b200c6a200d418001200c6b220710e9968080001a200420042903f0084280017c3703f008200441b0086a200b4200420010bd80808000200b200d20076a200c41406a220741807f716a200710e9968080001a0c010b200b200c6a2207200d290000370000200741386a200e290000370000200741306a200f290000370000200741286a2010290000370000200741206a2011290000370000200741186a2012290000370000200741106a2013290000370000200741086a2014290000370000200c41c0006a21070b200420073a00f8092015417f6a22150d000c020b0b410141c00041d8c7c1800010ae80808000000b200441206a200441b0086a41d00110e9968080001a2004200429036020042d00e8012207ad7c370360200441206a41c8006a210c02402007418001460d00200c20076a410041800120076b10eb968080001a0b200441003a00e801200441206a200c427f420010bd80808000200441c00a6a41086a2207200441206a41086a290300370300200441c00a6a41106a220c200441206a41106a290300370300200441c00a6a41186a220b200441206a41186a290300370300200441c00a6a41206a22152004290340370300200441c00a6a41286a220e200441206a41286a290300370300200441c00a6a41306a220f200441206a41306a290300370300200441c00a6a41386a2210200441206a41386a290300370300200420042903203703c00a200441800a6a41086a22112007290300370300200441800a6a41106a2212200c290300370300200441800a6a41186a220c200b290300370300200441800a6a41206a220b2015290300370300200441800a6a41286a2215200e290300370300200441800a6a41306a220e200f290300370300200441800a6a41386a220f2010290300370300200420042903c00a3703800a41002d00b8bfd380001a024041c00041002802b0bfd380001182808080000022070d00410141c00041ecccc1800010ae80808000000b200242ffffffff0f83428b9e067e20057c42eec0b2017c2105200720042903800a370000200741386a200f290300370000200741306a200e290300370000200741286a2015290300370000200741206a200b290300370000200741186a200c290300370000200741106a2012290300370000200741086a2011290300370000200d41002802a8bfd3800011808080800000200741002802a8bfd38000118080808000000b2000200637030820002005370300200441c00b6a2480808080000b1e00200128021c4184cbc180004114200128022028020c118180808000000bf90401047f23808080800041c0006b220224808080800020002802002100200128021c220341014100200128022028020c2204118180808000002105200220003602002002200041016a360204024002402005450d00410121000c010b0240024020012d00144104710d0041012100200341bbc4c0800041012004118180808000000d022002200110b684808000450d010c020b0240200341bcc4c080004102200411818080800000450d00410121000c020b41012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a28020036020020024190c4c080003602382002200129021c370208200220012902003703182002200241176a3602102002200241086a3602342002200241186a10b6848080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b0240024020012d00144104710d000240200128021c41afc4c080004102200128022028020c11818080800000450d00410121000c030b41012100200241046a200110b784808000450d010c020b41012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a28020036020020024190c4c080003602382002200129021c370208200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10b7848080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200128021c41bec4c080004101200128022028020c1181808080000021000b200241c0006a24808080800020000bf90201047f23808080800041c0006b220224808080800020022000280200360204410121000240200128021c22034188d5c18000410c2001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110ca888080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ca888080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000bf90201047f23808080800041c0006b220224808080800020022000280200360204410121000240200128021c220341a2d5c1800041102001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110ca888080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ca888080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000b1e00200128021c41e7d1ca8000410f200128022028020c118180808000000bd30703027f017e027f23808080800041a0016b2208248080808000200841086a41086a200141086a28020022093602002008411c6a200241086a28020036020020082001290200220a370308200820053602282008200436022420082003360220200820022902003702142008200736023020072802042102200728020021012008200636022c200828020c210702400240024002400240024002400240024002400240200aa74101710d0002402001450d00200820043602702008200336026c20084184808080783602682001200841e8006a200228020c118b80808000000b4100210120094100480d0220090d01410121010c090b20094120470d05200628020c2109200841386a41186a2206200741186a290000370300200841386a41106a220b200741106a290000370300200841386a41086a220c200741086a29000037030020082007290000370338200841dc006a2005200841386a200841146a200911838080800000200828025c2205418080808078460d04200828026421092008280260210702402001450d0020084194016a200841d0006a2903003702002008418c016a200841c8006a29030037020020084184016a200841c0006a2903003702002008200829033837027c2008200436027820082003360274200820093602702008200736026c20084180808080783602682001200841e8006a200228020c118b80808000000b4100210120094100480d0320090d02410121010c070b41002d00b8bfd380001a200941002802b0bfd380001182808080000022010d07410121010b200120094198dbc1800010ae80808000000b41002d00b8bfd380001a200941002802b0bfd380001182808080000022010d04410121010b200120094198dbc1800010ae80808000000b200841e8006a41186a2006290300370300200841e8006a41106a200b290300370300200841e8006a41086a200c2903003703002008200829033837036841002d00b8bfd380001a413041002802b0bfd38000118280808000002209450d012009418580808078360200200920082903683702042009410c6a200841f0006a290300370200200941146a200841f8006a2903003702002009411c6a20084180016a2903003702002000418080808078360200200020093602040c040b4120200941acd0c18000108681808000000b4104413010b980808000000b20012007200910e99680800021012000200936020820002001360204200020093602002005450d01200741002802a8bfd38000118080808000000c010b20012007200910e99680800021072000200936020820002007360204200020093602000b200841a0016a2480808080000bd00501047f23808080800041d0006b220224808080800002400240024002400240024002400240024020012802002203417e6a2204410420044106491b0e06000102040503000b41002d00b8bfd380001a410141002802b0bfd38000118280808000002201450d05200041013602082000200136020420004101360200200141003a00000c070b20024280808080c0003702202002200128023022034101713a002c200241043602282002200141046a36021c200220012802384120200128023422041b36021020022004453602082002200441086a200141386a20041b36020c20002002411c6a2003200241086a10f78b8080000c060b200128025421042002411c6a200141046a10c4848080002000200241086a20042002411c6a10ee8b808000000b410021030240200128020822044100480d0020012802042101024020040d00410121030c050b41002d00b8bfd380001a200441002802b0bfd380001182808080000022030d04410121030b2003200441ecccc1800010ae80808000000b4102210402402001280204450d002002200128020c4120200128020822041b3602102002200441086a2001410c6a20041b36020c20044521040b2002200436020820002002411c6a200241086a10ed8b808000000b2002410436022820024280808080c0003702202002200141386a36021c2002200128026422054101713a002c20024110360214200241cccec1800036021020022001280230220436020820022004200128023441246c6a36020c4102210402402003410171450d00200220012802084120200128020422041b36024c20022004200120041b41086a36024820044521040b2002200436024420002002411c6a2005200241086a200241c4006a10f18b8080000c020b4101410141ecccc1800010ae80808000000b2003200141086a200410e99680800021012000200436020820002001360204200020043602000b200241d0006a2480808080000b0c002000200110bc848080000bb70801087f23808080800041f0066b2202248080808000200128020421032001280200280200220428020421052004280200210620012802082207280208200128020c2802006a220841017621042007280204210920072802002107024002400240024002400240024020084101710d00200420094b0d02200241003a00a0052002200436029c0520022007360298050c010b200420094b0d02200420094f0d03200241013a00a00520022007360298052002200436029c052002200720046a2d000041f001713a00a1050b200241b0036a2006200320024198056a200528020c11838080800000024002400240024020022802b0032204418080808078470d0020024198056a41086a2204200341086a29000037030020024198056a41106a2207200341106a29000037030020024198056a41186a2209200341186a29000037030020022003290000370398052001280210280200210341002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d012001200229039805370204200141858080807841848080807820031b3602002001410c6a2004290300370200200141146a20072903003702002001411c6a200929030037020020004108360200200020013602040c080b20024198056a20022802b403220720022802b803220910ec8b80800020024190056a220120024198056a410c6a2902003703002002200229029c053703880520022802980522084107470d01200241d8016a410c6a200129030037020020022002290388053702dc010c020b4104413010b980808000000b200241b0036a41146a20024198056a41146a41c40110e9968080001a200241b0036a410c6a2001290300370200200220083602b00320022002290388053702b403200241d8016a200241b0036a2007200910d39680800020022802d8014107470d040b20024198056a41086a2209200241e4016a29020037030020024198056a41186a2208200341086a29000037030020024198056a41206a2205200341106a29000037030020024198056a41286a2206200341186a290000370300200220022902dc0137039805200220032900003703a80541002d00b8bfd380001a0240413041002802b0bfd38000118280808000002201450d002001200229039805370200200141286a2006290300370200200141206a2005290300370200200141186a2008290300370200200141106a20024198056a41106a290300370200200141086a200929030037020020004108360200200020013602042004450d05200741002802a8bfd38000118080808000000c050b4104413010b980808000000b200420094184a1cd800010aa81808000000b200420094194a1cd800010aa81808000000b2004200941a4a1cd800010f580808000000b20002002200241d8016a41d80110e99680800010c3848080002004450d00200741002802a8bfd38000118080808000000b200241f0066a2480808080000b9a0401067f23808080800041206b22022480808080002001280204210320012802002204280200210520042802042104200241106a41086a2001280208220141086a28020036020020022001290200370310200241046a20052003200241106a200428020c118380808000000240024002400240024020022802042205418080808078470d0041002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d022001418580808078360200200120032900003700042001410c6a200341086a290000370000200141146a200341106a2900003700002001411c6a200341186a29000037000020004108360200200020013602040c010b200228020c220141f5ffffff074f0d0220022802082106024002402001410b6a41fcffffff077122070d00410421040c010b41002d00b8bfd380001a200741002802b0bfd38000118280808000002204450d040b2004428180808010370200200441086a2006200110e9968080001a02402005450d00200641002802a8bfd38000118080808000000b2000200136020820002004360204200041073602002000200329000037000c200041246a200341186a2900003700002000411c6a200341106a290000370000200041146a200341086a2900003700000b200241206a2480808080000f0b4104413010b980808000000b41bc84c08000412b200241106a41ac84c0800041e486c0800010a481808000000b4104200710b980808000000bf20401047f23808080800041c0006b2202248080808000200128021c220341014100200128022028020c2204118180808000002105200220003602002002200041016a360204024002402005450d00410121000c010b0240024020012d00144104710d0041012100200341bbc4c0800041012004118180808000000d022002200110b684808000450d010c020b0240200341bcc4c080004102200411818080800000450d00410121000c020b41012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a28020036020020024190c4c080003602382002200129021c370208200220012902003703182002200241176a3602102002200241086a3602342002200241186a10b6848080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b0240024020012d00144104710d000240200128021c41afc4c080004102200128022028020c11818080800000450d00410121000c030b41012100200241046a200110b784808000450d010c020b41012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a28020036020020024190c4c080003602382002200129021c370208200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10b7848080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200128021c41bec4c080004101200128022028020c1181808080000021000b200241c0006a24808080800020000bd10501097f23808080800041206b22032480808080004100210402400240417f200028020022002802082205410c6a22062006200541046a491b22054100480d0041002d00b8bfd380001a200541002802b0bfd380001182808080000022060d01410121040b2004200541f4cac1800010ae80808000000b20034100360214200320063602102003200536020c200028020421072003200028020822053602182003200341186a36021c2003411c6a2003410c6a10d5838080000240200328020c2208200328021422046b20054f0d002003410c6a2004200510fc90808000200328020c2108200328021421040b2003280210220620046a2007200510e9968080001a2003200420056a2205360214200028020c21040240200820056b41034b0d002003410c6a2005410410fc9080800020032802102106200328021421050b200620056a20043600002003200541046a220436021441002d00b8bfd380001a0240412041002802b0bfd38000118280808000002205450d0020052000290010370000200541186a2209200041286a290000370000200541106a220a200041206a290000370000200541086a220b200041186a2900003700000240200328020c220720046b411f4b0d002003410c6a2004412010fc90808000200328020c210720032802102106200328021421040b200620046a22082005290000370000200841186a2009290000370000200841106a200a290000370000200841086a200b2900003700002003200441206a2204360214200541002802a8bfd3800011808080800000200028023021000240200720046b41034b0d002003410c6a2004410410fc9080800020032802102106200328021421040b200620046a2000360000200328020c2100200120022006200441046a41002802c8bdd380001183808080000002402000450d00200641002802a8bfd38000118080808000000b200341206a2480808080000f0b4101412010b980808000000b970801057f2380808080004180066b220224808080800002400240024002400240024002400240024002400240024020012802000d0020012802042103200128020822044120460d034100210120044100480d0220040d01410121010c090b200241a8046a200128020422032001280208220410ec8b808000200241a0046a2201200241a8046a410c6a290200370300200220022902ac043703980420022802a80422054107470d03200241086a410c6a2001290300370200200220022903980437020c0c040b41002d00b8bfd380001a200441002802b0bfd380001182808080000022010d07410121010b2001200441ecccc1800010ae80808000000b200041003a0000200020032f00003b00012000200329000737000820002003280003360204200041036a200341026a2d00003a0000200041106a2003410f6a290000370000200041186a200341176a290000370000200041206a2003411f6a2d00003a00000c060b200241c0026a41146a200241a8046a41146a41c40110e9968080001a200241c0026a410c6a2001290300370200200220053602c00220022002290398043702c402200241086a200241c0026a2003200410d39680800020022802084107470d010b200241a8046a41186a22034200370300200241a8046a41206a22044200370300200241a8046a41286a22054200370300200241a8046a41086a2206200241146a2902003703002002200229020c3703a804200242003703b80441002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d01200120022903a804370200200141286a2005290300370200200141206a2004290300370200200141186a2003290300370200200141106a200241a8046a41106a290300370200200141086a2006290300370200200041023a0000200020013602040c040b200241a8046a200241086a41d80110e9968080001a200241c0026a200241a8046a10c18480800020022802c402210320022802c00222044108460d01200241e0016a200241c0026a41086a41e00010e9968080001a41002d00b8bfd380001a024041e80041002802b0bfd38000118280808000002201450d002001200336020420012004360200200141086a200241e0016a41e00010e9968080001a20002001360204200041013a00000c040b410441e80010b980808000000b4104413010b980808000000b200041023a0000200020033602040c010b20012003200410e996808000210341002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d01200142003702102001200436020c2001200336020820012004360204200141888080807836020020002001360204200041023a0000200141186a4200370200200141206a4200370200200141286a42003702000b20024180066a2480808080000f0b4104413010b980808000000bc61902067f017e23808080800041f0016b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802002203417d6a2204410420044104491b0e050300040102030b200241e8006a200141106a10e096808000024020012802040d000240200128020c22044100480d00200441f5ffffff074f0d122001280208210302402004410b6a41fcffffff077122050d00410421010c190b41002d00b8bfd380001a200541002802b0bfd380001182808080000022010d184104200510b980808000000b41b099cd8000412b200241ef016a41a099cd800041dc99cd800010a481808000000b200128020c22044120470d11200241206a2001280208220141086a290000370200200241286a200141106a290000370200200241306a200141186a29000037020020024100360214200220012900003702180c170b200141c4016a2105200141046a2106024020012802b8014102460d0041102104410f21030c050b024020012802ac014102460d00410f2104410e21030c050b024020012802a0014102460d00410e2104410d21030c050b02402001280294014102460d00410d2104410c21030c050b02402001280288014102460d00410c2104410b21030c050b0240200128027c4102460d00410b2104410a21030c050b024020012802704102460d00410a2104410921030c050b024020012802644102460d0041092104410821030c050b024020012802584102460d0041082104410721030c050b0240200128024c4102460d0041072104410621030c050b024020012802404102460d0041062104410521030c050b024020012802344102460d0041052104410421030c050b41022103024020012802284102460d0041042104410321030c050b0240200128021c4102460d00410321040c050b41022104024020012802104102460d00410121030c050b410421074100210320062802004102470d03410021060c050b024020012802b4014102460d0041102104410f21050c0a0b024020012802a8014102460d00410f2104410e21050c0a0b0240200128029c014102460d00410e2104410d21050c0a0b02402001280290014102460d00410d2104410c21050c0a0b02402001280284014102460d00410c2104410b21050c0a0b024020012802784102460d00410b2104410a21050c0a0b0240200128026c4102460d00410a2104410921050c0a0b024020012802604102460d0041092104410821050c0a0b024020012802544102460d0041082104410721050c0a0b024020012802484102460d0041072104410621050c0a0b0240200128023c4102460d0041062104410521050c0a0b024020012802304102460d0041052104410421050c0a0b41022105024020012802244102460d0041042104410321050c0a0b024020012802184102460d00410321040c0a0b410221040240200128020c4102460d00410121050c0a0b410421064100210520034102470d08410021030c0a0b200041023602000c150b200241e8006a200141106a10e0968080002002413c6a200141046a10c084808000024020022d003c22014102460d00200020022f003d3b00052000200229024437020c200041076a20022d003f3a0000200041146a2002413c6a41106a2902003702002000411c6a2002413c6a41186a290200370200200041246a2002413c6a41206a28020036020020022802402104200041d0006a20024190016a290200370200200041c8006a200241e8006a41206a290200370200200041c0006a200241e8006a41186a290200370200200041386a200241e8006a41106a290200370200200041306a200241f0006a2902003702002000200229026837022820002004360208200020013a0004200041043602000c150b2002280240210120004108360200200020013602042002280290014129490d14200228026841002802a8bfd38000118080808000000c140b410121040b2002200336026041002d00b8bfd380001a200441246c220741002802b0bfd38000118280808000002203450d0c20024100360244200220033602402002200436023c200241003602e801200241003602702002200536026c200220063602682002200241e8016a36027c20022002413c6a3602782002200241e0006a360274200241e8006a200241ef016a200241e8016a10f8858080001a20022802e80122040d012002280244210320022802402107200228023c21060b41002104200528020022054102460d024101210420054101710d01200220012802c801220520012802cc01220110e39680800020022903002108200241a0016a200520014100280288bfd380001185808080000020022008370298010c020b2000410836020020002004360204024020022802442201450d002002280240210003400240024020002d00000e03010001000b200041046a280200220410c48b808000200441002802a8bfd38000118080808000000b200041246a21002001417f6a22010d000b0b200228023c450d10200228024041002802a8bfd38000118080808000000c100b20012802cc0122054120470d0a200241a4016a20012802c801220141086a290000370200200241ac016a200141106a290000370200200241b4016a200141186a29000037020020024100360298012002200129000037029c010b20002004360204200041053602002000200229029801370208200020033602382000200736023420002006360230200041106a200241a0016a290200370200200041186a20024198016a41106a290200370200200041206a20024198016a41186a290200370200200041286a20024198016a41206a2902003702000c0e0b410121040b2002200536026441002d00b8bfd380001a200441246c220541002802b0bfd38000118280808000002203450d0820024100360244200220033602402002200436023c200241003602e801200241003602702002200141c0016a36026c200220013602682002200241e8016a36027c20022002413c6a3602782002200241e4006a360274200241e8006a200241ef016a200241e8016a10f6858080001a20022802e80122040d012002280244210320022802402106200228023c21050b200241e8006a200141cc016a10e0968080004100210420012802c00122074102460d024101210420074101710d01200241086a20012802c401220720012802c801220110e39680800020022903082108200241c8016a200720014100280288bfd3800011858080800000200220083702c0010c020b2000410836020020002004360204024020022802442201450d002002280240210003400240024020002d00000e03010001000b200041046a280200220410c48b808000200441002802a8bfd38000118080808000000b200041246a21002001417f6a22010d000b0b200228023c450d0a200228024041002802a8bfd38000118080808000000c0a0b20012802c80122074120470d06200241cc016a20012802c401220141086a290000370200200241d4016a200141106a290000370200200241dc016a200141186a290000370200200241003602c001200220012900003702c4010b20002002290268370238200041e0006a20024190016a290200370200200041d8006a200241e8006a41206a290200370200200041d0006a200241e8006a41186a290200370200200041c8006a200241e8006a41106a290200370200200041c0006a200241e8006a41086a29020037020020002004360200200020022902c0013702042000410c6a200241c0016a41086a290200370200200041146a200241c0016a41106a2902003702002000411c6a200241c0016a41186a290200370200200041246a200241c0016a41206a29020037020020002003360234200020063602302000200536022c0c080b41bc84c08000412b200241ef016a41ac84c0800041e486c0800010a481808000000b4120200441bccfc18000108681808000000b41042007419ccfc1800010ae80808000000b4120200541bccfc18000108681808000000b4104200541accfc1800010ae80808000000b4120200741bccfc18000108681808000000b2001428180808010370200200141086a2003200410e9968080001a200241146a41086a200320044100280288bfd380001185808080000020022004360218200220013602140b200020022902683702042000412c6a20024190016a290200370200200041246a200241e8006a41206a2902003702002000411c6a200241e8006a41186a290200370200200041146a200241e8006a41106a2902003702002000410c6a200241e8006a41086a29020037020020004103360200200020022902143702342000413c6a200241146a41086a290200370200200041c4006a200241146a41106a290200370200200041cc006a200241146a41186a290200370200200041d4006a200241146a41206a2902003702000b200241f0016a2480808080000b970801057f2380808080004180066b220224808080800002400240024002400240024002400240024002400240024020012802000d0020012802042103200128020822044120460d034100210120044100480d0220040d01410121010c090b200241a8046a200128020422032001280208220410ec8b808000200241a0046a2201200241a8046a410c6a290200370300200220022902ac043703980420022802a80422054107470d03200241086a410c6a2001290300370200200220022903980437020c0c040b41002d00b8bfd380001a200441002802b0bfd380001182808080000022010d07410121010b2001200441ecccc1800010ae80808000000b200041003a0000200020032f00003b00012000200329000737000820002003280003360204200041036a200341026a2d00003a0000200041106a2003410f6a290000370000200041186a200341176a290000370000200041206a2003411f6a2d00003a00000c060b200241c0026a41146a200241a8046a41146a41c40110e9968080001a200241c0026a410c6a2001290300370200200220053602c00220022002290398043702c402200241086a200241c0026a2003200410d39680800020022802084107470d010b200241a8046a41186a22034200370300200241a8046a41206a22044200370300200241a8046a41286a22054200370300200241a8046a41086a2206200241146a2902003703002002200229020c3703a804200242003703b80441002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d01200120022903a804370200200141286a2005290300370200200141206a2004290300370200200141186a2003290300370200200141106a200241a8046a41106a290300370200200141086a2006290300370200200041023a0000200020013602040c040b200241a8046a200241086a41d80110e9968080001a200241c0026a200241a8046a10c38480800020022802c402210320022802c00222044108460d01200241e0016a200241c0026a41086a41e00010e9968080001a41002d00b8bfd380001a024041e80041002802b0bfd38000118280808000002201450d002001200336020420012004360200200141086a200241e0016a41e00010e9968080001a20002001360204200041013a00000c040b410441e80010b980808000000b4104413010b980808000000b200041023a0000200020033602040c010b20012003200410e996808000210341002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d01200142003702102001200436020c2001200336020820012004360204200141888080807836020020002001360204200041023a0000200141186a4200370200200141206a4200370200200141286a42003702000b20024180066a2480808080000f0b4104413010b980808000000bc61902067f017e23808080800041f0016b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802002203417d6a2204410420044104491b0e050300040102030b200241e8006a200141106a10e096808000024020012802040d000240200128020c22044100480d00200441f5ffffff074f0d122001280208210302402004410b6a41fcffffff077122050d00410421010c190b41002d00b8bfd380001a200541002802b0bfd380001182808080000022010d184104200510b980808000000b41b099cd8000412b200241ef016a41a099cd800041dc99cd800010a481808000000b200128020c22044120470d11200241206a2001280208220141086a290000370200200241286a200141106a290000370200200241306a200141186a29000037020020024100360214200220012900003702180c170b200141c4016a2105200141046a2106024020012802b8014102460d0041102104410f21030c050b024020012802ac014102460d00410f2104410e21030c050b024020012802a0014102460d00410e2104410d21030c050b02402001280294014102460d00410d2104410c21030c050b02402001280288014102460d00410c2104410b21030c050b0240200128027c4102460d00410b2104410a21030c050b024020012802704102460d00410a2104410921030c050b024020012802644102460d0041092104410821030c050b024020012802584102460d0041082104410721030c050b0240200128024c4102460d0041072104410621030c050b024020012802404102460d0041062104410521030c050b024020012802344102460d0041052104410421030c050b41022103024020012802284102460d0041042104410321030c050b0240200128021c4102460d00410321040c050b41022104024020012802104102460d00410121030c050b410421074100210320062802004102470d03410021060c050b024020012802b4014102460d0041102104410f21050c0a0b024020012802a8014102460d00410f2104410e21050c0a0b0240200128029c014102460d00410e2104410d21050c0a0b02402001280290014102460d00410d2104410c21050c0a0b02402001280284014102460d00410c2104410b21050c0a0b024020012802784102460d00410b2104410a21050c0a0b0240200128026c4102460d00410a2104410921050c0a0b024020012802604102460d0041092104410821050c0a0b024020012802544102460d0041082104410721050c0a0b024020012802484102460d0041072104410621050c0a0b0240200128023c4102460d0041062104410521050c0a0b024020012802304102460d0041052104410421050c0a0b41022105024020012802244102460d0041042104410321050c0a0b024020012802184102460d00410321040c0a0b410221040240200128020c4102460d00410121050c0a0b410421064100210520034102470d08410021030c0a0b200041023602000c150b200241e8006a200141106a10e0968080002002413c6a200141046a10c284808000024020022d003c22014102460d00200020022f003d3b00052000200229024437020c200041076a20022d003f3a0000200041146a2002413c6a41106a2902003702002000411c6a2002413c6a41186a290200370200200041246a2002413c6a41206a28020036020020022802402104200041d0006a20024190016a290200370200200041c8006a200241e8006a41206a290200370200200041c0006a200241e8006a41186a290200370200200041386a200241e8006a41106a290200370200200041306a200241f0006a2902003702002000200229026837022820002004360208200020013a0004200041043602000c150b2002280240210120004108360200200020013602042002280290014129490d14200228026841002802a8bfd38000118080808000000c140b410121040b2002200336026041002d00b8bfd380001a200441246c220741002802b0bfd38000118280808000002203450d0c20024100360244200220033602402002200436023c200241003602e801200241003602702002200536026c200220063602682002200241e8016a36027c20022002413c6a3602782002200241e0006a360274200241e8006a200241ef016a200241e8016a10f7858080001a20022802e80122040d012002280244210320022802402107200228023c21060b41002104200528020022054102460d024101210420054101710d01200220012802c801220520012802cc01220110e39680800020022903002108200241a0016a200520014100280288bfd380001185808080000020022008370298010c020b2000410836020020002004360204024020022802442201450d002002280240210003400240024020002d00000e03010001000b200041046a280200220410c48b808000200441002802a8bfd38000118080808000000b200041246a21002001417f6a22010d000b0b200228023c450d10200228024041002802a8bfd38000118080808000000c100b20012802cc0122054120470d0a200241a4016a20012802c801220141086a290000370200200241ac016a200141106a290000370200200241b4016a200141186a29000037020020024100360298012002200129000037029c010b20002004360204200041053602002000200229029801370208200020033602382000200736023420002006360230200041106a200241a0016a290200370200200041186a20024198016a41106a290200370200200041206a20024198016a41186a290200370200200041286a20024198016a41206a2902003702000c0e0b410121040b2002200536026441002d00b8bfd380001a200441246c220541002802b0bfd38000118280808000002203450d0820024100360244200220033602402002200436023c200241003602e801200241003602702002200141c0016a36026c200220013602682002200241e8016a36027c20022002413c6a3602782002200241e4006a360274200241e8006a200241ef016a200241e8016a10f4858080001a20022802e80122040d012002280244210320022802402106200228023c21050b200241e8006a200141cc016a10e0968080004100210420012802c00122074102460d024101210420074101710d01200241086a20012802c401220720012802c801220110e39680800020022903082108200241c8016a200720014100280288bfd3800011858080800000200220083702c0010c020b2000410836020020002004360204024020022802442201450d002002280240210003400240024020002d00000e03010001000b200041046a280200220410c48b808000200441002802a8bfd38000118080808000000b200041246a21002001417f6a22010d000b0b200228023c450d0a200228024041002802a8bfd38000118080808000000c0a0b20012802c80122074120470d06200241cc016a20012802c401220141086a290000370200200241d4016a200141106a290000370200200241dc016a200141186a290000370200200241003602c001200220012900003702c4010b20002002290268370238200041e0006a20024190016a290200370200200041d8006a200241e8006a41206a290200370200200041d0006a200241e8006a41186a290200370200200041c8006a200241e8006a41106a290200370200200041c0006a200241e8006a41086a29020037020020002004360200200020022902c0013702042000410c6a200241c0016a41086a290200370200200041146a200241c0016a41106a2902003702002000411c6a200241c0016a41186a290200370200200041246a200241c0016a41206a29020037020020002003360234200020063602302000200536022c0c080b41bc84c08000412b200241ef016a41ac84c0800041e486c0800010a481808000000b4120200441bccfc18000108681808000000b41042007419ccfc1800010ae80808000000b4120200541bccfc18000108681808000000b4104200541accfc1800010ae80808000000b4120200741bccfc18000108681808000000b2001428180808010370200200141086a2003200410e9968080001a200241146a41086a200320044100280288bfd380001185808080000020022004360218200220013602140b200020022902683702042000412c6a20024190016a290200370200200041246a200241e8006a41206a2902003702002000411c6a200241e8006a41186a290200370200200041146a200241e8006a41106a2902003702002000410c6a200241e8006a41086a29020037020020004103360200200020022902143702342000413c6a200241146a41086a290200370200200041c4006a200241146a41106a290200370200200041cc006a200241146a41186a290200370200200041d4006a200241146a41206a2902003702000b200241f0016a2480808080000bc50201057f23808080800041306b22022480808080000240024020012d00000d00200041003a000020002001290001370001200041196a200141196a290000370000200041116a200141116a290000370000200041096a200141096a2900003700000c010b200241046a200128020410ba84808000200241106a41186a22034200370300200241106a41106a22044200370300200241186a22054200370300200242003703100240200228020c220141204f0d00200241106a20022802082206200110e9968080001a20002001360204200041013a0000200041206a2003290300370000200041186a2004290300370000200041106a2005290300370000200020022903103700082002280204450d01200641002802a8bfd38000118080808000000c010b41f0cec18000411a418ccfc1800010f480808000000b200241306a2480808080000bce4002277f037e2380808080004190076b22052480808080002001280228210620014100360228024002400240024002400240024020060d002001280204210720012802002108200541206a41186a2209200141206a290200370300200541206a41106a220a200141186a290200370300200541206a41086a220b200141106a290200370300200520012902083703202001280230210c2001280234210d200541106a41086a200441086a280200220e36020020052004290200370310200541d0036a41046a210f200541d0036a41146a2110200541b8056a41146a2111200541b8056a41046a2112200541206a4107722113200541b8056a41186a2114200541b8056a410c6a2115200541b8056a411c6a2116200541b8056a41106a2117200541c0006a411c6a2118200541c0006a41106a2119200541c0006a41046a211a2004280204211b2004280200211c200e211d4100211e4100211f0240024002400340201f200e6a222041017621010240024020204101710d002001201b4b0d05200541003a00c005200520013602bc052005201c3602b8050c010b2001201b4b0d032001201b4f0d02200541013a00c0052005201c3602b805200520013602bc052005201c20016a2d000041f001713a00c1050b200541d0036a2008200541206a200541b8056a200728020c11838080800000024020052802d0032221418080808078470d00200541b8056a41186a2220200541206a41186a290300370300200541b8056a41106a221d200541206a41106a290300370300200541b8056a41086a2204200541206a41086a290300370300200520052903203703b80541002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d0b200120052903b8053702042001418580808078418480808078201e1b3602002001410c6a2004290300370200200141146a201d2903003702002001411c6a2020290300370200200041013a0000200020013602040c0a0b20052802d803210120052802d40321220240200c450d0020172005290320370200201741186a2009290300370200201741106a200a290300370200201741086a200b290300370200200520013602c405200520223602c0052005428280808088808080807f3702b805200c200541b8056a200d28020c118b80808000000b200541b8056a2022200110ec8b808000200541a8056a41086a2223201241086a2224290200370300200520122902003703a80502400240024002400240024020052802b80522044107460d00201e41016a211e200528021422254101742126200528021021272022212003402010201141c40110e9968080001a200f41086a2023290300370200200f20052903a805370200200520043602d003200541c0006a200541d0036a2020200110d396808000200528024022064107460d02200541c0036a41086a2228201941086a280200360200200520192902003703c003200528024c2101200528024821202005280244210420054198026a201841a40110e9968080001a2005280284022129200528028002212a0240024002400240024002400240024002400240024002402006417d6a222b4104202b4104491b0e050001020304000b0240200c450d00200520033602c005200520023602bc0520054186808080783602b805200c200541b8056a200d28020c118b80808000000b200041003b01000c1a0b0240024020052802c40341017420052802c8036b2026201d6b221d470d00200541c0036a200541106a10d796808000201d460d010b0240200c450d00200520033602c005200520023602bc0520054186808080783602b805200c200541b8056a200d28020c118b80808000000b200041003b01000c1a0b0240024020044101710d000240200c450d00200520033602c005200520023602bc0520054184808080783602b805200c200541b8056a200d28020c118b80808000000b200541b8056a202020014100280288bfd38000118580808000000c010b0240200c450d00200520033602c005200520023602bc0520054185808080783602b805200c200541b8056a200d28020c118b80808000000b20014120470d04200541b8056a41186a202041186a290000370300200541b8056a41106a202041106a290000370300200541b8056a41086a202041086a290000370300200520202900003703b8050b200020052f01b8053b0002200041046a20052d00ba053a0000200541d8036a200541c7056a290000222c370300200541e0036a200541cf056a290000222d370300200541e8036a200541d7056a2d000022013a0000200520052900bf05222e3703d00320052800bb052120200041216a20013a0000200041196a202d370000200041116a202c3700002000202e3700092000202036000520004180023b01000c190b20052802c403212b20052802c80321280240200541106a200541c0036a10d7968080002206202b41017420286b460d000240200c450d00200520033602c005200520023602bc0520054186808080783602b805200c200541b8056a200d28020c118b80808000000b200041003b01000c190b2005201d20066a221d3602180c080b200528028c02212b2005280288022106201520052903c003370200201541086a2028280200360200200520013602c005200520203602bc05200520043602b805201420054198026a41a40110e9968080001a2005202a3602f4060240024002402026201d460d00201d410176220120254f0d01200541b8056a202720016a2d00002201410f712001410476201d4101711b410c6c6a222028020022044102470d020240200c450d00200520033602d803200520023602d40320054186808080783602d003200c200541d0036a200d28020c118b80808000000b200041003b01000c1a0b024020294102460d00024020294101710d000240200c450d00200520033602d803200520023602d40320054184808080783602d003200c200541d0036a200d28020c118b80808000000b200541d0036a2006202b4100280288bfd38000118580808000000c0a0b0240200c450d00200520033602d803200520023602d40320054185808080783602d003200c200541d0036a200d28020c118b80808000000b202b4120470d05200541d0036a41186a200641186a290000370300200541d0036a41106a200641106a290000370300200541d0036a41086a200641086a290000370300200520062900003703d0030c090b0240200c450d00200520033602d803200520023602d40320054186808080783602d003200c200541d0036a200d28020c118b80808000000b200041003b01000c190b2001202541c0d2c1800010f580808000000b410121062005201d41016a221d36021820202802082101202028020421200c070b200529029002212c2005200529028802222d4220883e02a8052005202c3702ac05201720052903c003370200201741086a2028280200360200200520013602c405200520203602c005200520043602bc05200520063602b805201620054198026a41a40110e9968080001a0240200541106a200541a8056a10d7968080002201202ca7410174202c422088a76b460d000240200c450d00200520033602d803200520023602d40320054186808080783602d003200c200541d0036a200d28020c118b80808000000b200041003b01000c170b02402026201d6b2001460d00201d20016a2204410176222020254f0d030240200541b8056a202720206a2d00002220410f71202041047620044101711b410c6c6a222028020022044102470d000240200c450d00200520033602d803200520023602d40320054186808080783602d003200c200541d0036a200d28020c118b80808000000b200041003b01000c180b2005201d200141016a22066a221d36021820202802082101202028020421200c070b0240202a4102460d00202da721010240202a4101710d000240200c450d00200520033602d803200520023602d40320054184808080783602d003200c200541d0036a200d28020c118b80808000000b200541d0036a202920014100280288bfd38000118580808000000c060b0240200c450d00200520033602d803200520023602d40320054185808080783602d003200c200541d0036a200d28020c118b80808000000b20014120470d04200541d0036a41186a202941186a290000370300200541d0036a41106a202941106a290000370300200541d0036a41086a202941086a290000370300200520292900003703d0030c050b0240200c450d00200520033602d803200520023602d40320054186808080783602d003200c200541d0036a200d28020c118b80808000000b200041003b01000c160b4120200141bcd0c18000108681808000000b4120202b41bcd0c18000108681808000000b2020202541c0d2c1800010f580808000000b4120200141bcd0c18000108681808000000b200020052f01d0033b0002200041046a20052d00d2033a0000200541c8006a200541df036a290000222c370300200541d0006a200541e7036a290000222d370300200541d8006a200541ef036a2d000022013a0000200520052900d703222e37034020052800d3032120200041216a20013a0000200041196a202d370000200041116a202c3700002000202e3700092000202036000520004180023b01000c110b200020052f01d0033b0002200041046a20052d00d2033a0000200541c8006a200541df036a290000222c370300200541d0006a200541e7036a290000222d370300200541d8006a200541ef036a2d000022013a0000200520052900d703222e37034020052800d3032120200041216a20013a0000200041196a202d370000200041116a202c3700002000202e3700092000202036000520004180023b01000c100b2006201f6a211f024020040d0020014120460d064100211d20014100480d0520010d044101211d0c0f0b200541b8056a2020200110ec8b80800020232024290200370300200520122902003703a80520052802b80522044107470d000b0b201a20052903a805370200201a41086a200541a8056a41086a2903003702000b200541b8056a41086a2220201a41086a290200370300200541b8056a41186a221d200541206a41086a290300370300200541b8056a41206a2204200541206a41106a290300370300200541b8056a41286a2206200541206a41186a290300370300200520052903203703c8052005201a2902003703b80541002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d03200120052903b805370200200141286a2006290300370200200141206a2004290300370200200141186a201d290300370200200141106a200541b8056a41106a290300370200200141086a2020290300370200200041013a0000200020013602040c0c0b41002d00b8bfd380001a200141002802b0bfd3800011828080800000221d0d0a4101211d0b201d200141ecccc1800010ae80808000000b202041026a2d000021012020410f6a290000212c202041176a290000212d2020411f6a2d0000210420202f000021062020280003212320132020290007370000201341186a20043a0000201341106a202d370000201341086a202c37000020052023360023200520013a0022200520063b01202021450d01202241002802a8bfd38000118080808000000c010b0b4104413010b9808080000c040b2001201b41a4a1cd800010f580808000000b2001201b4194a1cd800010aa81808000000b2001201b4184a1cd800010aa81808000000b200128022c2112200541b8056a41306a200141306a290200222c370300200541b8056a41286a200141286a290200370300200541b8056a41206a200141206a290200370300200541b8056a41186a200141186a290200370300200541b8056a41106a200141106a290200370300200541b8056a41086a200141086a290200370300200520012902003703b8050240024002400240024002400240202ca72220450d0020202002200320052802ec052802101181808080000041ff01714102460d010b200620022003201228020c1181808080000022200d010b2005200541b8056a360210200541206a41086a200441086a280200222036020020052004290200222c370320200541c0006a41186a2217200141206a290000370300200541c0006a41106a2210200141186a290000370300200541c0006a41086a2211200141106a290000370300200520012900083703404100212a200541003602c0032005280224221f410174210f200541d0036a41086a2128202ca7211920122802142118024003402005202a3602a805200541d0036a41186a2017290300370300200541d0036a41106a201029030037030020282011290300370300200520052903403703d003200520043602a0022005200541a8056a3602a8022005200541c0036a3602a4022005200541c0006a36029c022005200541106a36029802200541086a2006200541d0036a20054198026a41d0d2c18000201811878080800000200528020c210120052802080d0102402005280210221d41306a2802002223450d00201d41346a280200211d202841186a2017290300370000202841106a2010290300370000202841086a201129030037000020282005290340370000200520013602d40320054181808080783602d0032023200541d0036a201d28020c118b80808000000b202a41016a212a034002400240024002400240024002400240024002402001280200417e6a221d4104201d4106491b0e06000203040501000b2005280210220141306a2802002220450d05200141346a2802002101200520033602d803200520023602d40320054186808080783602d0032020200541d0036a200128020c118b80808000000c050b200541013602d403200541dcd4c180003602d003200542013702dc03200541f680808000ad42208641a8d4c18000ad8437039802200520054198026a3602d803200541d0036a41e4d4c1800010f280808000000b0240200541206a200141046a10da968080000d002005280210220141306a2802002220450d04200141346a2802002101200520033602d803200520023602d40320054186808080783602d0032020200541d0036a200128020c118b80808000000c040b02402001280234221d450d00201d201d280200222041016a3602002020417f4c0d102005280210222041346a2802002104202028023021202001290054212c2001280050211f200128004c2119200128004821232001280044212b20012800402128200128003c210f20052001280238222a36029c022005201d3602980202402020450d00200520033602d803200520023602d40320054184808080783602d0032020200541d0036a200428020c118b80808000000b201d201d280200220141016a36020020014100480d10201d201d2802002201417f6a36020020014101470d0c20054198026a10d0968080000c0c0b200128005421202001280050211d200128004c211f20012800482119200128004421232001280040212b200128003c21282001280038210f200528021022012802302204450d05200141346a2802002101200520033602d803200520023602d40320054185808080783602d0032004200541d0036a200128020c118b80808000000c050b0240200541206a200141286a10d9968080000d002005280210220141306a2802002220450d03200141346a2802002101200520033602d803200520023602d40320054186808080783602d0032020200541d0036a200128020c118b80808000000c030b200520202001280254221d6a22203602282005201d20052802c0036a3602c003200141046a21010c050b024002400240200f2020460d002020410176221d201f4f0d01024020012802382019201d6a2d0000221d410f71201d41047620204101711b221d4d0d002001280234201d41246c6a22012d00004102470d030b2005280210220141306a2802002220450d04200141346a2802002101200520033602d803200520023602d40320054186808080783602d0032020200541d0036a200128020c118b80808000000c040b20012802040d042005280210220141306a2802002220450d03200141346a2802002101200520033602d803200520023602d40320054186808080783602d0032020200541d0036a200128020c118b80808000000c030b201d201f41c0d2c1800010f580808000000b2005202041016a2220360228200520052802c00341016a3602c0030c040b0240200541206a200141386a10d9968080000d002005280210220141306a2802002220450d01200141346a2802002101200520033602d803200520023602d40320054186808080783602d0032020200541d0036a200128020c118b80808000000c010b024002400240200f20206b2001280264221d460d00201d20206a222b4101762223201f4f0d01024002402001280234201920236a2d00002223410f712023410476202b4101711b22234d0d002001280230202341246c6a22012d00004102470d010b2005280210220141306a2802002220450d04200141346a2802002101200520033602d803200520023602d40320054186808080783602d0032020200541d0036a200128020c118b80808000000c040b2005201d41016a221d20206a2220360228200520052802c003201d6a3602c0030c060b20012802000d012005280210220141306a2802002220450d02200141346a2802002101200520033602d803200520023602d40320054186808080783602d0032020200541d0036a200128020c118b80808000000c020b2023201f41c0d2c1800010f580808000000b02402001280204221d450d00201d201d280200222041016a3602002020417f4c0d0d2005280210222041346a2802002104202028023021202001290024212c2001280020211f200128001c2119200128001821232001280014212b20012800102128200128000c210f20052001280208222a36029c022005201d3602980202402020450d00200520033602d803200520023602d40320054184808080783602d0032020200541d0036a200428020c118b80808000000b201d201d280200220141016a36020020014100480d0d201d201d2802002201417f6a36020020014101470d0920054198026a10d0968080000c090b200128002421202001280020211d200128001c211f20012800182119200128001421232001280010212b200128000c21282001280008210f200528021022012802302204450d02200141346a2802002101200520033602d803200520023602d40320054185808080783602d0032004200541d0036a200128020c118b80808000000c020b41002101200541003a00d003200620022003200541d0036a2012280210118380808000000c090b02402001280208221d450d00201d201d280200222041016a3602002020417f4c0d0b2005280210222041346a2802002104202028023021202001290028212c2001280024211f20012800202119200128001c21232001280018212b200128001421282001280010210f2005200128020c222a36029c022005201d3602980202402020450d00200520033602d803200520023602d40320054184808080783602d0032020200541d0036a200428020c118b80808000000b201d201d280200220141016a36020020014100480d0b201d201d2802002201417f6a36020020014101470d0720054198026a10d0968080000c070b200128002821202001280024211d2001280020211f200128001c2119200128001821232001280014212b20012800102128200128000c210f200528021022012802302204450d00200141346a2802002101200520033602d803200520023602d40320054185808080783602d0032004200541d0036a200128020c118b80808000000b20052020ad422086201dad84222c3700e9032005201f3600e503200520193600e103200520233600dd032005202b3600d903200520283600d5032005200f3600d10341012104200541013a00d003200620022003200541d0036a2012280210118380808000004100211d200f212a0c060b024020012d00000d00200141096a290000212c200141116a290000212d2001290001212e2017200141196a2900003703002010202d3703002011202c3703002005202e3703400c020b200128020421010c000b0b0b20002001360204410121010c040b024020202d00000d00410021010c030b200541d8006a202041196a290000370300200541d0006a202041116a290000370300200541c8006a202041096a29000037030020052020290001370340410121010c020b201d201d280200220141016a36020020014100480d032005202a3602442005201d3602400340201d280204210103402001417f460d012001417f4c0d06201d200141016a201d280204222020202001461b360204202020014721042020210120040d000b0b20052802442101201d201d2802002220417f6a360200024020204101470d00200541c0006a10d0968080000b200520013602f8032005201d3602f4032005202c3700e9032005201f3600e503200520193600e103200520233600dd032005202b3600d903200520283600d5032005200f3600d103200541023a00d003200620022003200541d0036a201228021011838080800000410021040b200541d0036a41086a2201202b360200200541d0036a41106a22202019360200200541d0036a41186a202c370200200541c0006a41186a202c370300200520233602dc03200541c0006a41086a20012902003703002005201f3602e403200541c0006a41106a2020290200370300200520283602d4032005200f3602d0032005202a3602f4032005201d3602f003200520052902d003370340024020040d00201d201d2802002201417f6a36020020014101470d00200541f0036a10d0968080000b410121010b200020013a0001200020052903403700022000410a6a200541c8006a290300370000200041126a200541d0006a2903003700002000411a6a200541d8006a290300370000410021010b200020013a00000c040b000b418098cd800041f898cd800010cf96808000000b201d2020200110e996808000211d41002d00b8bfd380001a0240413041002802b0bfd380001182808080000022200d004104413010b980808000000b2020200136020c2020201d3602082020200136020420204188808080783602002020200529032037021020002020360204200041013a0000202041186a200541286a290300370200202041206a200541306a290300370200202041286a200541206a41186a2903003702000b2021450d00202241002802a8bfd38000118080808000000b20054190076a2480808080000f0b4104413010b980808000000b940701027f2380808080004180016b220b248080808000200b2008360214200b200736021002400240024020012802002208450d00200b2008360218200b2001280204220736021c02402009450d00200b2004360250200b200336024c200b4184808080783602482009200b41c8006a200a28020c118b80808000000b20082008280200220941016a36020020094100480d0120002007360204200020083602002000200141086a2201290200370208200041206a200141186a290200370200200041186a200141106a290200370200200041106a200141086a290200370200200820082802002200417f6a36020020004101470d02200b41186a10d0968080000c020b200b41186a41186a200141046a220841186a2201290000370300200b41186a41106a200841106a2207290000370300200b41186a41086a200841086a220c290000370300200b2008290000370318200b41c8006a41186a2001290000370300200b41c8006a41106a2007290000370300200b41c8006a41086a200c290000370300200b2008290000370348200b2002360244200b200b41186a360240200b200b41106a36023c200b41086a2005200b41c8006a200b413c6a41ccd0c18000200611878080800000200b28020c21080240200b280208450d0020004100360200200020083602040c020b024002400240024002400240024020082802002207417e6a2201410420014106491b0e06050005020103050b20082802342201450d04200841346a21070c050b2007450d0320082802042201450d03200841046a21070c040b20082802040d010c020b200841046a2107200828020421010c020b20082802082201450d00200841086a21070c010b41e0d0c1800041ec0041ccd1c18000108b81808000000b20012001280200220841016a36020020084100480d00200728020421082007280200210102402009450d00200b41f4006a200b41306a290300370200200b41ec006a200b41286a290300370200200b41e4006a200b41186a41086a290300370200200b200b29031837025c200b2004360258200b2003360254200b2008360250200b418080808078360248200b200141086a36024c2009200b41c8006a200a28020c118b80808000000b2000200b2903183700082000200836020420002001360200200041206a200b41186a41186a290300370000200041186a200b41186a41106a290300370000200041106a200b41206a2903003700000c010b000b200b4180016a2480808080000b9a0401067f23808080800041206b22022480808080002001280204210320012802002204280200210520042802042104200241106a41086a2001280208220141086a28020036020020022001290200370310200241046a20052003200241106a200428020c118380808000000240024002400240024020022802042205418080808078470d0041002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d022001418580808078360200200120032900003700042001410c6a200341086a290000370000200141146a200341106a2900003700002001411c6a200341186a29000037000020004108360200200020013602040c010b200228020c220141f5ffffff074f0d0220022802082106024002402001410b6a41fcffffff077122070d00410421040c010b41002d00b8bfd380001a200741002802b0bfd38000118280808000002204450d040b2004428180808010370200200441086a2006200110e9968080001a02402005450d00200641002802a8bfd38000118080808000000b2000200136020820002004360204200041073602002000200329000037000c200041246a200341186a2900003700002000411c6a200341106a290000370000200041146a200341086a2900003700000b200241206a2480808080000f0b4104413010b980808000000b41bc84c08000412b200241106a41ac84c0800041e486c0800010a481808000000b4104200710b980808000000b881f04047f017e0b7f027e23808080800041f0026b2206248080808000200641d0006a41086a200141086a22072802003602002006200129020037035020022802002108200228020421092006200336025c200641e0006a41086a2007280200220736020020062001290200220a370360200641f0006a41186a220b200341206a290000370300200641f0006a41106a220c200341186a290000370300200641f0006a41086a220d200341106a290000370300200620032900083703704100210e20064100360290012006280264220f4101742110200641a0026a41086a2111200aa72112200528021421130240024003402006200e36029401200641a0026a41186a200b290300370300200641a0026a41106a200c2903003703002011200d290300370300200620062903703703a002200620064194016a3602c801200620064190016a3602c4012006200641d0006a3602c0012006200641f0006a3602bc012006200641dc006a3602b801200641086a2004200641a0026a200641b8016a41f4d4c18000201311878080800000200628020c210320062802080d01200e41016a210e0240200628025c220141306a2802002214450d00200141346a2802002101201141186a200b290300370000201141106a200c290300370000201141086a200d29030037000020112006290370370000200620033602a40220064181808080783602a0022014200641a0026a200128020c118b80808000000b024003400240024002400240024002400240024002400240024002400240024002400240024002402003280200417e6a2201410420014106491b0e06000203040501000b200628025c220341306a2802002207450d08200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c080b200641013602a402200641dcd4c180003602a002200642013702ac02200641f680808000ad42208641a8d4c18000ad843703b8012006200641b8016a3602a802200641a0026a41e4d4c1800010f280808000000b0240200641e0006a200341046a10da968080000d00200628025c220341306a2802002207450d07200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c070b0240024020032802342207450d0020072007280200220141016a36020020014100480d0f200641a0016a200341c4006a290000370300200641a8016a200341cc006a290000370300200641b0016a200341d4006a2900003703002006200329003c370398012003280238210f0c010b200641a0016a200341c4006a290000370300200641a8016a200341cc006a290000370300200641b0016a200341d4006a2800003602002006200329003c370398012003280038210f0b200628025c22032802002101200328020421102006290350210a200641d4026a20064198016a41086a290300370200200641dc026a20064198016a41106a290300370200200641e4026a20064198016a41186a2903003702002006200f3602c802200620073602c40220062006290398013702cc022006200341306a3602ec02200620103602c002200620013602bc02200620053602b802200620043602b402200620093602b002200620083602ac02200641003a00a8022006200a3702a002200641b8016a200641c4026a200641a0026a2008200920042013200120102003280230200328023410c68480800020062802b80122010d030c100b0240200641e0006a200341286a10d9968080000d00200628025c220341306a2802002207450d06200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c060b20062007200328025422016a2207360268200620012006280290016a36029001200341046a21030c0d0b02400240024020102007460d0020074101762201200f4f0d0102402003280238201220016a2d00002201410f71200141047620074101711b22014d0d002003280234200141246c6a22032d00004102470d030b200628025c220341306a2802002207450d07200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c070b20032802040d0841002101200628025c220341306a2802002207450d07200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c070b2001200f41c0d2c1800010f580808000000b2006200741016a2207360268200620062802900141016a360290010c0c0b0240200641e0006a200341386a10d9968080000d00200628025c220341306a2802002207450d04200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c040b0240201020076b20032802642201460d00200120076a22154101762214200f4f0d02024002402003280234201220146a2d00002214410f71201441047620154101711b22144d0d002003280230201441246c6a22032d00004102470d010b200628025c220341306a2802002207450d05200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c050b2006200141016a220120076a2207360268200620062802900120016a360290010c0c0b20032802000d0241002101200628025c220341306a2802002207450d04200341346a2802002103200620093602a802200620083602a40220064186808080783602a0022007200641a0026a200328020c118b80808000000c040b200641306a41086a200641b8016a41106a290200220a370300200641306a41106a200641b8016a41186a2902002216370300200641306a41186a200641d8016a2902002217370300200641106a41086a200a370300200641106a41106a2016370300200641106a41186a2017370300200620062902c001220a3703302006200a37031020062802bc01210f20022802002112200228020421140c060b2014200f41c0d2c1800010f580808000000b0240024020032802042207450d0020072007280200220141016a36020020014100480d092003280208210120064198026a200341246a29000037030020064190026a2003411c6a29000037030020064188026a200341146a2900003703002006200329000c370380020c010b2003280008210120064198026a200341246a28000036020020064190026a2003411c6a29000037030020064188026a200341146a2900003703002006200329000c370380020b200641d4026a20064180026a41086a290300370200200641dc026a20064180026a41106a290300370200200641e4026a20064180026a41186a290300370200200620013602c802200620073602c40220062006290380023702cc02200620053602b802200620043602b402200620093602b002200620083602ac02200641003a00a802200620062903503702a0022006200628025c220341306a3602ec022006200328020422073602c0022006200328020022013602bc02200641b8016a200641c4026a200641a0026a2008200920042013200120072003280230200328023410c68480800020062802b8012201450d0a200641306a41086a200641b8016a41106a290200370300200641306a41106a200641b8016a41186a290200370300200641306a41186a200641d8016a290200370300200620062902c00137033020062802bc01210f0c030b200641106a41086a200641306a41086a290300370300200641106a41106a200641306a41106a290300370300200641106a41186a200641306a41186a29030037030020062006290330370310200228020021122002280204211441002101410021030c040b0c010b0240024020032802082207450d0020072007280200220141016a36020020014100480d06200328020c2101200641e0016a41186a200341286a290000370300200641f0016a200341206a290000370300200641e8016a200341186a290000370300200620032900103703e0010c010b200328000c2101200641e0016a41186a200341286a280000360200200641f0016a200341206a290000370300200641e8016a200341186a290000370300200620032900103703e0010b200641d4026a200641e0016a41086a290300370200200641dc026a200641e0016a41106a290300370200200641e4026a200641e0016a41186a290300370200200620013602c802200620073602c402200620062903e0013702cc02200620053602b802200620043602b402200620093602b002200620083602ac02200641003a00a802200620062903503702a0022006200628025c220341306a3602ec022006200328020422073602c0022006200328020022013602bc02200641b8016a200641c4026a200641a0026a2008200920042013200120072003280230200328023410c68480800020062802b8012201450d07200641306a41086a200641b8016a41106a290200370300200641306a41106a200641b8016a41186a290200370300200641306a41186a200641d8016a290200370300200620062902c00137033020062802bc01210f0b200641106a41186a200641306a41186a290300370300200641106a41106a200641306a41106a290300370300200641106a41086a200641306a41086a29030037030020062006290330370310200228020021122002280204211420010d0041002101410021030c010b20012001280200220341016a36020020034100480d02200641b9026a200641286a290300370000200641b1026a200641206a290300370000200641a9026a200641186a290300370000200620062903103700a1022006200f3602bc01200620013602b80103402001280204210303402003417f460d012003417f4c0d032001200341016a2001280204220720072003461b360204200720034721102007210320100d000b0b20062802bc012103200120012802002207417f6a360200024020074101470d00200641b8016a10d0968080000b200620033602c802200620013602c402410221030b200620033a00a002200420122014200641a0026a2005280210118380808000002000200f36020820002001360204410021030c070b418098cd800041f898cd800010cf968080000b000b024020032d00000d00200341096a290000210a200341116a290000211620032900012117200b200341196a290000370300200c2016370300200d200a370300200620173703700c030b200328020421030c000b0b0b20062802bc0121030b20002003360204410121030b20002003360200200641f0026a2480808080000bdc2904257f017e037f017e23808080800041c0076b220524808080800020012802282106200141003602280240024002400240024020060d00200541086a41306a2207200141306a290200370300200541086a41286a200141286a290200370300200541086a41206a200141206a2208290200370300200541086a41186a200141186a2206290200370300200541086a41106a200141106a2209290200370300200541086a41086a200141086a220a29020037030020052001290200370308200541c0006a41086a200441086a2201280200220b36020020052004290200370340200541d0006a41186a220c2008290000370300200541d0006a41106a220d2006290000370300200541d0006a41086a220e20092900003703002005200a2900003703502001280200210f20054180046a41046a210920054180046a41146a2110200541e8056a41146a2111200541e8056a41046a2112200541d0006a4107722113200541e8056a41186a2114200541e8056a410c6a2115200541e8056a411c6a2116200541e8056a41106a2117200541f0006a411c6a2118200541f0006a41106a2119200541f0006a41046a211a2004280204211b2004280200211c2007280200211d200528023c211e200528020c211f20052802082120410021214100210a0240024002400340200a200f6a220841017621010240024020084101710d002001201b4b0d05200541003a00f005200520013602ec052005201c3602e8050c010b2001201b4b0d032001201b4f0d02200541013a00f0052005201c3602e805200520013602ec052005201c20016a2d000041f001713a00f1050b20054180046a2020200541d0006a200541e8056a201f28020c1183808080000002402005280280042222418080808078470d00200541e8056a41186a2208200541d0006a41186a290300370300200541e8056a41106a220b200541d0006a41106a290300370300200541e8056a41086a2204200541d0006a41086a290300370300200520052903503703e80541002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d09200120052903e805370204200141858080807841848080807820211b3602002001410c6a2004290300370200200141146a200b2903003702002001411c6a20082903003702002000418180808078360200200020013602040c080b200528028804210120052802840421230240201d450d0020172005290350370000201741186a200c290300370000201741106a200d290300370000201741086a200e290300370000200520013602f405200520233602f0052005428280808088808080807f3702e805201d200541e8056a201e28020c118b80808000000b200541e8056a2023200110ec8b808000200541d8056a41086a2224201241086a2225290200370300200520122902003703d80502400240024002400240024020052802e80522044107460d00202141016a2121200528024422264101742127200528024021282023210803402010201141c40110e9968080001a200941086a2024290300370200200920052903d8053702002005200436028004200541f0006a20054180046a2008200110d396808000200528027022064107460d02200541f0036a41086a2229201941086a280200360200200520192902003703f003200528027c21012005280278210820052802742104200541c8026a201841a40110e9968080001a20052902b802212a20052802b402212b20052802b002212c0240024002400240024002402006417d6a222d4104202d4104491b0e050001020304000b0240201d450d00200520033602f005200520023602ec0520054186808080783602e805201d200541e8056a201e28020c118b80808000000b20004180808080783602000c120b0240024020052802f40341017420052802f8036b2027200b6b220b470d00200541f0036a200541c0006a10d796808000200b460d010b0240201d450d00200520033602f005200520023602ec0520054186808080783602e805201d200541e8056a201e28020c118b80808000000b20004180808080783602000c120b20052007360290062005201f36028c06200520203602880620052003360284062005200236028006200541003a00fc052005201b3602f8052005201c3602f405200520013602f005200520083602ec05200520043602e80520054180046a200541e8056a200541f4056a200220032020201f200710b9848080000240200528028004418080808078460d002000200529028004370200200041086a20054180046a41086a2802003602000c120b200020052802840436020420004181808080783602000c110b20052802f403212d20052802f80321290240200541c0006a200541f0036a10d7968080002206202d41017420296b460d000240201d450d00200520033602f005200520023602ec0520054186808080783602e805201d200541e8056a201e28020c118b80808000000b20004180808080783602000c110b2005200b20066a220b3602480c020b201520052903f003370200201541086a2029280200360200200520013602f005200520083602ec05200520043602e8052014200541c8026a41a40110e9968080001a2005202c3602a4070240024002402027200b460d00200b410176220120264f0d01200541e8056a202820016a2d00002201410f712001410476200b4101711b410c6c6a220828020022044102470d020240201d450d0020052003360288042005200236028404200541868080807836028004201d20054180046a201e28020c118b80808000000b20004180808080783602000c120b02400240202b4102460d00200520073602a8042005201f3602a404200520203602a0042005200336029c042005200236029804200541003a0094042005201b360290042005201c36028c042005202a370284042005202b36028004200541f0006a20054180046a2005418c046a200220032020201f200710b9848080002005280270418080808078460d0120002005290270370200200041086a200541f0006a41086a2802003602000c130b0240201d450d0020052003360288042005200236028404200541868080807836028004201d20054180046a201e28020c118b80808000000b20004180808080783602000c120b2000200528027436020420004181808080783602000c110b2001202641c0d2c1800010f580808000000b410121062005200b41016a220b36024820082802082101200828020421080c010b20052902c002212e2005202a4220883e02d8052005202e3702dc05201720052903f003370200201741086a2029280200360200200520013602f405200520083602f005200520043602ec05200520063602e8052016200541c8026a41a40110e9968080001a0240200541c0006a200541d8056a10d7968080002201202ea7410174202e422088a76b460d000240201d450d0020052003360288042005200236028404200541868080807836028004201d20054180046a201e28020c118b80808000000b20004180808080783602000c0f0b024002402027200b6b2001460d00200b20016a2204410176220820264f0d010240200541e8056a202820086a2d00002208410f71200841047620044101711b410c6c6a220828020022044102470d000240201d450d0020052003360288042005200236028404200541868080807836028004201d20054180046a201e28020c118b80808000000b20004180808080783602000c110b2005200b200141016a22066a220b36024820082802082101200828020421080c020b02400240202c4102460d00200520073602a8042005201f3602a404200520203602a0042005200336029c042005200236029804200541003a0094042005201b360290042005201c36028c042005202a3e0288042005202b360284042005202c36028004200541f0006a20054180046a2005418c046a200220032020201f200710b9848080002005280270418080808078460d0120002005290270370200200041086a200541f0006a41086a2802003602000c110b0240201d450d0020052003360288042005200236028404200541868080807836028004201d20054180046a201e28020c118b80808000000b20004180808080783602000c100b2000200528027436020420004181808080783602000c0f0b2008202641c0d2c1800010f580808000000b2006200a6a210a024020040d0020014120460d064100210b20014100480d0520010d044101210b0c0d0b200541e8056a2008200110ec8b80800020242025290200370300200520122902003703d80520052802e80522044107470d000b0b201a20052903d805370200201a41086a200541d8056a41086a2903003702000b200541e8056a41086a2208201a41086a290200370300200541e8056a41186a220b200541d0006a41086a290300370300200541e8056a41206a2204200541d0006a41106a290300370300200541e8056a41286a2206200541d0006a41186a290300370300200520052903503703f8052005201a2902003703e80541002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d03200120052903e805370200200141286a2006290300370200200141206a2004290300370200200141186a200b290300370200200141106a200541e8056a41106a290300370200200141086a20082903003702002000418180808078360200200020013602040c0a0b41002d00b8bfd380001a200141002802b0bfd3800011828080800000220b0d084101210b0b200b200141ecccc1800010ae80808000000b200841026a2d000021012008410f6a290000212a200841176a290000212e2008411f6a2d0000210420082f000021062008280003212420132008290007370000201341186a20043a0000201341106a202e370000201341086a202a37000020052024360053200520013a0052200520063b01502022450d01202341002802a8bfd38000118080808000000c010b0b4104413010b980808000000b2001201b41a4a1cd800010f580808000000b2001201b4194a1cd800010aa81808000000b2001201b4184a1cd800010aa81808000000b200128022c210a200541e8056a41306a200141306a290200222a370300200541e8056a41286a200141286a290200370300200541e8056a41206a200141206a290200370300200541e8056a41186a200141186a290200370300200541e8056a41106a200141106a290200370300200541e8056a41086a200141086a290200370300200520012902003703e80520052003360254200520023602504101212d0240024002400240024002400240024002400240024002400240202aa72224450d000240202420022003200528029c062802101181808080000041ff01710e03010002010b4100212d0b200620022003200a28020c1181808080000022190d010b20054180046a2004200541d0006a200541e8056a2006200a10c88480800020052802840421082005280280040d010c080b418080808078210920192d00000e03090201090b2000418180808078360200200020083602040c0b0b20192802242208417f460d01201941016a21292008280200210103402001450d022001417f4c0d032008200141016a2008280200220b200b20014622091b360200200b21012009450d000b201928022821092024450d06202d2009412149720d06200528029c062101200541ac046a202941186a290000370200200541a4046a202941106a2900003702002005419c046a202941086a29000037020020052003360290042005200236028c0420052009360288042005200841086a360284042005418080808078360280042005202929000037029404202420054180046a200128020c118b80808000000c060b2005419c046a201941196a29000037020020054194046a201941116a2900003702002005418c046a201941096a29000037020020054100360280042005201929000137028404200541003a001020052004290200370208200541f0006a20054180046a200541086a200220032006200a28021420052802e80520052802ec052024200528029c0610c6848080002005280274210920052802702208450d02200541c8026a41186a220b20054190016a290200370300200541c8026a41106a2204200541f0006a41186a290200370300200541d0026a2219200541f0006a41106a290200370300200520052902783703c80220082008280200220141016a360200024020014100480d0020054199046a200b29030037000020054191046a200429030037000020054189046a2019290300370000200520052903c80237008104200520093602742005200836027003402008280204210103402001417f460d012001417f4c0d062008200141016a2008280204220b200b2001461b360204200b2001472104200b210120040d000b0b2005280274210120082008280200220b417f6a3602000240200b4101470d00200541f0006a10d0968080000b200520013602a804200520083602a404200541023a00800420062005280250200528025420054180046a200a280210118380808000000c060b000b20054180046a2004200541d0006a200541e8056a2006200a10c8848080002005280284042108200528028004450d032000418180808078360200200020083602040c080b418098cd8000419099cd800010cf96808000000b2000418180808078360200200020093602040c060b418098cd800041f898cd800010cf96808000000b200528028804210920080d0041808080807821090c010b20052008360280042005200936028404410021010240024020094100480d00410121012009450d0141002d00b8bfd380001a200941002802b0bfd380001182808080000022010d01410121010b200120094198dbc1800010ae80808000000b2001200841086a200910e996808000210120082008280200220b417f6a3602000240200b4101470d0020054180046a10d0968080000b2009ad4220862001ad84212a0b2000202a370204200020093602000c020b200b2008200110e996808000210b41002d00b8bfd380001a0240413041002802b0bfd380001182808080000022080d004104413010b980808000000b2008200136020c2008200b36020820082001360204200841888080807836020020082005290350370010200020083602042000418180808078360200200841186a200541d8006a290300370000200841206a200541e0006a290300370000200841286a200541d0006a41186a2903003700000b2022450d00202341002802a8bfd38000118080808000000b200541c0076a2480808080000f0b4104413010b980808000000bb80201027e024002400240024002402001280200417f6a0e050001020304000b20004200370310200042d10b370308200041186a4200370300200041206a41003b01002000200135020c420020012802081b220242c999c7007e42e0b5b1027c2203200242a78cf7047e42a0b69c027c220220032002561b3703000f0b20004200370308200042b0a29302370300200041106a4200370300200041186a4200370300200041206a41003b01000f0b20004200370308200042d8f19002370300200041106a4200370300200041186a4200370300200041206a41003b01000f0b20004200370300200041023b0120200041186a4200370300200041106a4200370300200041086a42003703000f0b2000420037030820004201370300200041106a4200370300200041186a4200370300200041206a41003b01000b8c0701037f23808080800041c0036b2201248080808000200141106a200041f00010e9968080001a20014282fceae49dd9e2861d3700cc02200142de8c84a1ecd0a6d30c3700c40220014284c2b1b3ef9292841e3700bc02200142bce2f4b8c5daf6fa293700b4022001418c016a200141b4026a412010ff8380800002400240200128028c01418080808078470d0020014100360288012001428080808010370380010c010b20014180016a41086a2001418c016a41086a2802003602002001200129028c01370380010b200141003a008c0120012001418c016a3602b402200141106a200141b4026a10ce8b808000024002400240024020012d008c01410171450d0020014188026a200141c5016a29000037030020014180026a200141bd016a290000370300200141f8016a200141b5016a290000370300200141f0016a2001418c016a41216a290000370300200141e8016a200141a5016a290000370300200141e0016a2001419d016a290000370300200141d8016a20014195016a2900003703002001200129008d013703d001200141086a200128021422022002200128021841146c6a10a18a8080002001280208450d012001200128020c220236029002200141b4026a200141106a10e98380800020014194026a20012802b802220320012802bc024100280288bfd3800011858080800000024020012802b402450d00200341002802a8bfd38000118080808000000b20022001280288014f0d02200141d0016a20014194026a4120200128028401220320024105746a41002802f8bed3800011888080800000450d03200141b4026a200141106a41f00010e9968080001a200141b4026a41f8006a200041f8006a280200360200200120002902703702a403200141b4026a10dc868080000240200128028001450d00200341002802a8bfd38000118080808000000b200141c0036a2480808080000f0b41b2d5c1800041234198d6c18000108b81808000000b41a8d6c18000412141ccd6c18000108b81808000000b200141023602b80220014188d7c180003602b402200142023702c002200141fb80808000ad42208620014180016aad843703b8032001418a80808000ad42208620014190026aad843703b0032001200141b0036a3602bc02200141b4026a4198d7c1800010f280808000000b200141003602c402200141013602b802200141bcd7c180003602b402200142043702bc02200141b4026a41c4d7c1800010f280808000000bb50201017f02400240024002402002200141186a412010ed96808000450d0041808080807821042001200210cd8480800022010d010c030b410021020240200128024022044100480d00200128023c2102024020040d00410121010c030b41002d00b8bfd380001a200441002802b0bfd380001182808080000022010d02410121020b2002200441a89dc5800010ae80808000000b0240200128022c41014e0d000c020b4100210202400240200128022822044100480d0020012802242102024020040d00410121010c020b41002d00b8bfd380001a200441002802b0bfd380001182808080000022010d01410121020b2002200441a89dc5800010ae80808000000b20012002200410e9968080001a0c010b20012002200410e9968080001a0b2000200436020820002001360204200020043602000ba80303017f067e047f0240200028020c0d0041000f0b20002802042202200129000841002903c8bfd38000200029031042208922037c8522044220882205200129001841002903c0bfd38000220685220742208822087e200442ffffffff0f832204200742ffffffff0f8322077e85200520077e200420087e85422088852001290000200385220342ffffffff0f8322042001290010200685220542ffffffff0f8322067e8520034220882203200542208822057e85200320067e200420057e85422088852203a7712109200342198842ff0083428182848890a0c080017e21052000280200220a41506a21004100210b0240024003400240200a20096a29000022042005852203427f85200342fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832203500d00034020012000410020037aa741037620096a2002716b220c41306c6a412010ed96808000450d032003427f7c200383220350450d000b0b0240200420044201868342808182848890a0c0807f83500d00410021090c030b200b41086a220b20096a20027121090c000b0b200a200c41306c6a21090b200941506a410020091b0bcc0301077f23808080800041e0006b2203248080808000200320023a00102003200136020c2003410036021c20034280808080103702142003413c6a2003410c6a10c58e8080000240024020032d003c0d00200341c3006a21010240034020032d003d450d012003413c6a200328020c10df8880800020032d003c4101460d02200341206a41086a2204200141086a290000370300200341206a41106a2205200141106a290000370300200341206a41186a2206200141186a2f00003b010020032001290000370320200328003f210720032f003d21080240200328021c22092003280214470d00200341146a41d0d8c1800010e28a8080000b200328021820094105746a22022007360002200220083b0000200220032903203700062002410e6a2004290300370000200241166a20052903003700002002411e6a20062f01003b00002003200941016a36021c2003413c6a2003410c6a10c58e80800020032d003c450d000c020b0b20002003290214370200200041086a200341146a41086a2802003602000c010b200328024021022000418080808078360200200020023602042003280214450d00200328021841002802a8bfd38000118080808000000b200341e0006a2480808080000b1e00200128021c41d4d7c180004111200128022028020c118180808000000b1e00200128021c41e0d8c180004111200128022028020c118180808000000b1e00200128021c41d2cecb80004103200128022028020c118180808000000b1e00200128021c4194cbcb80004108200128022028020c118180808000000b1e00200128021c41e5d7c18000410a200128022028020c118180808000000bf80205047f017e017f017e027f024020002802242201450d000240200028022c2202450d002000280220220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341e07c6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b02402003410020057aa74103766b41346c6a220641506a280200450d002006414c6a28020041002802a8bfd38000118080808000000b2005427f7c21070240200641546a2d00004102490d00200641786a2802002208417f460d00200820082802042209417f6a36020420094101470d002006417c6a280200410b6a4104490d00200841002802a8bfd38000118080808000000b200720058321052002417f6a22020d000b0b2001200141016aad42347ea741076a41787122046a4177460d00200028022020046b41002802a8bfd38000118080808000000b0b2c000240200028020041034b0d002000280204450d00200028020841002802a8bfd38000118080808000000b0bee0401037f0240024002400240024002402000280200417e6a2201410420014106491b0e050501020304000b2000280204220120012802002201417f6a36020020014101470d04200041046a10d0968080000c040b0240200028022c4129490d00200028020441002802a8bfd38000118080808000000b20002802342201450d03200120012802002202417f6a36020020024101470d03200041346a10d0968080000f0b024020002802504129490d00200028022841002802a8bfd38000118080808000000b20002d0004450d022000280208220110d684808000200141002802a8bfd38000118080808000000f0b024020002802382202450d002000280234210103400240024020012d00000e03010001000b200141046a280200220310c48b808000200341002802a8bfd38000118080808000000b200141246a21012002417f6a22020d000b0b02402000280230450d00200028023441002802a8bfd38000118080808000000b2000280204450d0120002802082201450d01200120012802002202417f6a36020020024101470d01200041086a10d0968080000f0b024020002802604129490d00200028023841002802a8bfd38000118080808000000b024020002802342202450d002000280230210103400240024020012d00000e03010001000b200141046a280200220310c48b808000200341002802a8bfd38000118080808000000b200141246a21012002417f6a22020d000b0b0240200028022c450d00200028023041002802a8bfd38000118080808000000b2000280200450d0020002802042201450d00200120012802002202417f6a36020020024101470d00200041046a10d0968080000f0b0b801201117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610988f8080000c010b200241706a21080340024020040d0020002001200220034101200610e8868080000c020b200741086a41086a200020002001200610a38680800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10ed968080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10ed968080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10ed968080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10ed968080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10ed968080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610e99680800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10ed968080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10ed968080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10ed968080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10ed968080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10ed968080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474221510e9968080002116200120116b210d024020012011460d00200d4101712117201620156a21124100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2012210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b2017450d002012200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b0240200120114f0d00201120014198dac1800010a881808000000b201620156a210041002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610d784808000200d2101200d41214f0d010b0b2000200d20022003200610988f8080000b200741306a2480808080000bf90e01117f23808080800041306b220724808080800002400240200141214f0d0020002001200220032006109f8f8080000c010b200241706a21080340024020040d00200020012002200341012006108a878080000c020b20002001410376220941f0006c6a210a200020094106746a210b02400240200141c000490d002000200b200a2009109c86808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2902003703002007200c290200370308200c20006b410476210f024002400240024002402005450d002005280200200c2802004f0d010b200120034b0d014100210b200021092002200141047422106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b4104746a22134f0d0003402002200a41706a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200941106a220e280200200c2802004922141b200b200d6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200941206a220d280200200c28020049220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200941306a220d280200200c2802004922141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210b200941c0006a22092013490d000b0b02402009200020124104746a22144f0d0003402002200a41706a220a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a290200370200200b200d6a210b200941106a22092014490d000b0b024020122001460d00200a41706a220a200b4104746a220d2009290200370200200d41086a200941086a290200370200200941106a2109200121120c010b0b20002002200b410474221210e99680800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a290200370200200941106a2011200d41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200d41026a220d470d000b0b2016450d002017200d4104746a22092011200d417f734104746a220a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d004100210d200021092002200141047422116a2212210a03400240200920004100200f417d6a220b200b200f4b1b4104746a22134f0d0003402002200a41706a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200c280200200941106a220e2802004f22141b200d200b6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200c280200200941206a220d2802004f220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200c280200200941306a220d2802004f22141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210d200941c0006a22092013490d000b0b024020092000200f4104746a22144f0d0003402002200a41706a220a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a290200370200200d200b6a210d200941106a22092014490d000b0b0240200f2001460d002002200d4104746a220b2009290200370200200b41086a200941086a290200370200200941106a2109200d41016a210d200a41706a210a2001210f0c010b0b20002002200d410474221310e99680800021002001200d6b210b02402001200d460d00200b410171210f200020136a21154100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2015210903402009200a290200370200200941086a200a41086a290200370200200941106a2012200c41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200c41026a220c470d000b0b200f450d002015200c4104746a22092012200c417f734104746a220a290200370200200941086a200a41086a2902003702000b02402001200d4f0d00200d20014198dac1800010a881808000000b200020136a210041002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610d884808000200b2101200b41214f0d010b0b2000200b200220032006109f8f8080000b200741306a2480808080000b801201117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610988f8080000c010b200241706a21080340024020040d002000200120022003410120061086878080000c020b200741086a41086a200020002001200610a38680800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10ed968080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10ed968080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10ed968080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10ed968080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10ed968080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610e99680800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10ed968080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10ed968080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10ed968080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10ed968080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10ed968080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474221510e9968080002116200120116b210d024020012011460d00200d4101712117201620156a21124100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2012210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b2017450d002012200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b0240200120114f0d00201120014198dac1800010a881808000000b201620156a210041002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610d984808000200d2101200d41214f0d010b0b2000200d20022003200610988f8080000b200741306a2480808080000b801201117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610988f8080000c010b200241706a21080340024020040d0020002001200220034101200610f0868080000c020b200741086a41086a200020002001200610a38680800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10ed968080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10ed968080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10ed968080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10ed968080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10ed968080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610e99680800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10ed968080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10ed968080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10ed968080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10ed968080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10ed968080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474221510e9968080002116200120116b210d024020012011460d00200d4101712117201620156a21124100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2012210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b2017450d002012200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b0240200120114f0d00201120014198dac1800010a881808000000b201620156a210041002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610da84808000200d2101200d41214f0d010b0b2000200d20022003200610988f8080000b200741306a2480808080000b801201117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610988f8080000c010b200241706a21080340024020040d002000200120022003410120061080878080000c020b200741086a41086a200020002001200610a38680800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10ed968080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10ed968080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10ed968080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10ed968080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10ed968080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610e99680800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10ed968080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10ed968080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10ed968080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10ed968080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10ed968080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474221510e9968080002116200120116b210d024020012011460d00200d4101712117201620156a21124100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2012210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b2017450d002012200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b0240200120114f0d00201120014198dac1800010a881808000000b201620156a210041002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610db84808000200d2101200d41214f0d010b0b2000200d20022003200610988f8080000b200741306a2480808080000b801201117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610988f8080000c010b200241706a21080340024020040d0020002001200220034101200610ec868080000c020b200741086a41086a200020002001200610a38680800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10ed968080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10ed968080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10ed968080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10ed968080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10ed968080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610e99680800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10ed968080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10ed968080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10ed968080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10ed968080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10ed968080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474221510e9968080002116200120116b210d024020012011460d00200d4101712117201620156a21124100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2012210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b2017450d002012200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b0240200120114f0d00201120014198dac1800010a881808000000b201620156a210041002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610dc84808000200d2101200d41214f0d010b0b2000200d20022003200610988f8080000b200741306a2480808080000bf40b01117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610998f8080000c010b2002416c6a21080340024020040d0020002001200220034101200610f6868080000c020b200020014103762209418c016c6a210a2000200941d0006c6a210b02400240200141c000490d002000200b200a200910a18680800021090c010b200021092000200b410810ed96808000220c2000200a410810ed96808000734100480d00200a200b200b200a410810ed96808000200c734100481b21090b2004417f6a2104200741106a2000200920006b41146e220d41146c6a220e41106a280200360200200741086a200e41086a2902003703002007200e290200370300024002400240024002402005450d002005200e410810ed96808000417f4a0d010b200120034b0d014100210b2000210a2002200141146c220f6a2210210c200d211103400240200a2000201141146c6a22124f0d0003402002200c416c6a220c200a200e410810ed9680800022134100481b200b41146c6a2209200a290200370200200941106a200a41106a280200360200200941086a200a41086a2902003702002013411f76200b6a210b200a41146a220a2012490d000b0b024020112001460d00200c416c6a220c200b41146c6a2209200a290200370200200941106a200a41106a280200360200200941086a200a41086a290200370200200a41146a210a200121110c010b0b20002002200b41146c221410e99680800021152001200b6b211102402001200b460d0020114101712116201520146a21174100210c02402001200b41016a460d002011417e7121122008200f6a21094100210c2017210a0340200a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200a41146a2010200c41feffffff037341146c6a2213290200370200200a411c6a201341086a290200370200200a41246a201341106a280200360200200941586a2109200a41286a210a2012200c41026a220c470d000b0b2016450d002017200c41146c6a220a2010200c417f7341146c6a2209290200370200200a41106a200941106a280200360200200a41086a200941086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021092000210a2002200141146c22146a2211210c03400240200a2000200d41146c6a22124f0d0003402002200c416c6a220c200e200a410810ed96808000417f4a22131b200941146c6a220b200a290200370200200b41106a200a41106a280200360200200b41086a200a41086a290200370200200920136a2109200a41146a220a2012490d000b0b0240200d2001460d002002200941146c6a220b200a290200370200200b41106a200a41106a280200360200200b41086a200a41086a290200370200200a41146a210a200941016a2109200c416c6a210c2001210d0c010b0b20002002200941146c221010e9968080002100200120096b210b024020012009460d00200b410171210d200020106a21154100211302402001200941016a460d00200b417e71210e200820146a210c410021132015210a0340200a200c290200370200200a41106a200c41106a280200360200200a41086a200c41086a290200370200200a41146a2011201341feffffff037341146c6a2212290200370200200a411c6a201241086a290200370200200a41246a201241106a280200360200200c41586a210c200a41286a210a200e201341026a2213470d000b0b200d450d002015201341146c6a220a20112013417f7341146c6a220c290200370200200a41106a200c41106a280200360200200a41086a200c41086a2902003702000b0240200120094f0d00200920014198dac1800010a881808000000b200020106a210041002105200b2101200b41214f0d030c020b000b201520146a20112002200320042007200610dd84808000200b2101200b41214f0d010b0b2000200b20022003200610998f8080000b200741306a2480808080000b801201117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610988f8080000c010b200241706a21080340024020040d002000200120022003410120061094878080000c020b200741086a41086a200020002001200610a38680800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10ed968080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10ed968080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10ed968080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10ed968080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10ed968080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610e99680800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10ed968080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10ed968080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10ed968080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10ed968080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10ed968080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474221510e9968080002116200120116b210d024020012011460d00200d4101712117201620156a21124100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2012210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b2017450d002012200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b0240200120114f0d00201120014198dac1800010a881808000000b201620156a210041002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610de84808000200d2101200d41214f0d010b0b2000200d20022003200610988f8080000b200741306a2480808080000b801201117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610988f8080000c010b200241706a21080340024020040d00200020012002200341012006108c878080000c020b200741086a41086a200020002001200610a38680800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10ed968080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10ed968080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10ed968080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10ed968080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10ed968080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610e99680800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10ed968080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10ed968080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10ed968080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10ed968080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10ed968080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474221510e9968080002116200120116b210d024020012011460d00200d4101712117201620156a21124100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2012210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b2017450d002012200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b0240200120114f0d00201120014198dac1800010a881808000000b201620156a210041002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610df84808000200d2101200d41214f0d010b0b2000200d20022003200610988f8080000b200741306a2480808080000b801201117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610988f8080000c010b200241706a21080340024020040d002000200120022003410120061090878080000c020b200741086a41086a200020002001200610a38680800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10ed968080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10ed968080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10ed968080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10ed968080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10ed968080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610e99680800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10ed968080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10ed968080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10ed968080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10ed968080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10ed968080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474221510e9968080002116200120116b210d024020012011460d00200d4101712117201620156a21124100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2012210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b2017450d002012200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b0240200120114f0d00201120014198dac1800010a881808000000b201620156a210041002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610e084808000200d2101200d41214f0d010b0b2000200d20022003200610988f8080000b200741306a2480808080000b801201117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610988f8080000c010b200241706a21080340024020040d002000200120022003410120061088878080000c020b200741086a41086a200020002001200610a38680800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10ed968080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10ed968080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10ed968080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10ed968080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10ed968080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610e99680800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10ed968080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10ed968080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10ed968080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10ed968080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10ed968080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474221510e9968080002116200120116b210d024020012011460d00200d4101712117201620156a21124100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2012210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b2017450d002012200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b0240200120114f0d00201120014198dac1800010a881808000000b201620156a210041002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610e184808000200d2101200d41214f0d010b0b2000200d20022003200610988f8080000b200741306a2480808080000bd00c01127f23808080800041306b220724808080800002400240200141214f0d0020002001200220032006109c8f8080000c010b2002416c6a21080340024020040d00200020012002200341012006108e878080000c020b200020014103762209418c016c6a210a2000200941d0006c6a210b02400240200141c000490d002000200b200a2009109a8680800021090c010b200021092000280200220c200b280200220d49200041106a280200220e200b41106a280200220f49200e200f461b2210200c200a280200221149200e200a41106a280200220c49200e200c461b470d00200a200b2010200d201149200f200c49200f200c461b731b21090b2004417f6a2104200741106a2000200920006b41146e221241146c6a221041106a2211280200360200200741086a201041086a29020037030020072010290200370300024002400240024002402005450d00200528020020102802004f200541106a280200220a2011280200220b4f200a200b461b0d010b200120034b0d014100210b2000210a2002200141146c22136a2214210f2012211503400240200a2000201541146c6a220d4f0d0003402002200f416c6a220f200a280200201028020049200a41106a28020022092011280200220e492009200e461b220c1b200b41146c6a220e200a290200370200200e41106a2009360200200e41086a200a41086a290200370200200b200c6a210b200a41146a220a200d490d000b0b024020152001460d00200f416c6a220f200b41146c6a2209200a290200370200200941106a200a41106a280200360200200941086a200a41086a290200370200200a41146a210a200121150c010b0b20002002200b41146c221510e99680800021162001200b6b210d02402001200b460d00200d4101712117201620156a21184100210e02402001200b41016a460d00200d417e71210c200820136a21094100210e2018210a0340200a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200a41146a2014200e41feffffff037341146c6a220f290200370200200a411c6a200f41086a290200370200200a41246a200f41106a280200360200200941586a2109200a41286a210a200c200e41026a220e470d000b0b2017450d002018200e41146c6a220a2014200e417f7341146c6a2209290200370200200a41106a200941106a280200360200200a41086a200941086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021092000210a2002200141146c22146a2215210f03400240200a2000201241146c6a220d4f0d0003402002200f416c6a220f2010280200200a2802004f2011280200220e200a41106a280200220b4f200e200b461b220c1b200941146c6a220e200a290200370200200e41106a200b360200200e41086a200a41086a2902003702002009200c6a2109200a41146a220a200d490d000b0b024020122001460d002002200941146c6a220b200a290200370200200b41106a200a41106a280200360200200b41086a200a41086a290200370200200a41146a210a200941016a2109200f416c6a210f200121120c010b0b20002002200941146c221010e9968080002111200120096b210b024020012009460d00200b4101712100201120106a21124100210f02402001200941016a460d00200b417e71210d200820146a210e4100210f2012210a0340200a200e290200370200200a41106a200e41106a280200360200200a41086a200e41086a290200370200200a41146a2015200f41feffffff037341146c6a220c290200370200200a411c6a200c41086a290200370200200a41246a200c41106a280200360200200e41586a210e200a41286a210a200d200f41026a220f470d000b0b2000450d002012200f41146c6a220a2015200f417f7341146c6a220e290200370200200a41106a200e41106a280200360200200a41086a200e41086a2902003702000b0240200120094f0d00200920014198dac1800010a881808000000b201120106a210041002105200b2101200b41214f0d030c020b000b201620156a200d2002200320042007200610e284808000200b2101200b41214f0d010b0b2000200b200220032006109c8f8080000b200741306a2480808080000b801201117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610988f8080000c010b200241706a21080340024020040d0020002001200220034101200610f8868080000c020b200741086a41086a200020002001200610a38680800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10ed968080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10ed968080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10ed968080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10ed968080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10ed968080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610e99680800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10ed968080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10ed968080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10ed968080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10ed968080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10ed968080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474221510e9968080002116200120116b210d024020012011460d00200d4101712117201620156a21124100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2012210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b2017450d002012200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b0240200120114f0d00201120014198dac1800010a881808000000b201620156a210041002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610e384808000200d2101200d41214f0d010b0b2000200d20022003200610988f8080000b200741306a2480808080000b801201117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610988f8080000c010b200241706a21080340024020040d002000200120022003410120061082878080000c020b200741086a41086a200020002001200610a38680800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10ed968080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10ed968080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10ed968080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10ed968080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10ed968080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610e99680800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10ed968080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10ed968080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10ed968080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10ed968080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10ed968080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474221510e9968080002116200120116b210d024020012011460d00200d4101712117201620156a21124100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2012210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b2017450d002012200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b0240200120114f0d00201120014198dac1800010a881808000000b201620156a210041002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610e484808000200d2101200d41214f0d010b0b2000200d20022003200610988f8080000b200741306a2480808080000be31201167f23808080800041306b220724808080800002400240200141214f0d0020002001200220032006109b8f8080000c010b200241746a21080340024020040d0020002001200220034101200610fc868080000c020b200741086a41086a200020002001200610a2868080002209410c6c6a220a41086a220b2802003602002007200a2902003703082004417f6a2104024002400240024002402005450d00200541046a280200200a41046a280200200541086a280200220c200b280200220d200c200d491b10ed96808000220e200c200d6b200e1b417f4a0d010b200120034b0d014100210d2000210f20022001410c6c22106a2211211220092113034002400240200f200041002013417d6a220c200c20134b1b410c6c6a2214490d00200f210c0c010b410021154100211603402002201220156a220e41746a200f20166a220c41046a280200200a41046a2217280200200c41086a22182802002219200b280200221a2019201a491b10ed96808000221b2019201a6b201b1b221b4100481b200d410c6c6a2219200c290200370200201941086a20182802003602002002200e41686a200c41106a2802002017280200200c41146a22182802002219200b280200221a2019201a491b10ed96808000221c2019201a6b201c1b221a4100481b201b411f76200d6a221b410c6c6a220d200c410c6a290200370200200d41086a20182802003602002002200e415c6a200c411c6a2802002017280200200c41206a2218280200220d200b2802002219200d2019491b10ed96808000221c200d20196b201c1b22194100481b201a411f76201b6a221a410c6c6a220d200c41186a290200370200200d41086a20182802003602002002200e41506a200c41286a2802002017280200200c412c6a2217280200220d200b280200220e200d200e491b10ed968080002218200d200e6b20181b220d4100481b2019411f76201a6a220e410c6c6a2219200c41246a290200370200201941086a2017280200360200200d411f76200e6a210d201541506a2115200f201641306a22166a220c2014490d000b201220166b21120b0240200c20002013410c6c6a22194f0d0003402002201241746a2212200c41046a280200200a41046a280200200c41086a2216280200220e200b2802002217200e2017491b10ed968080002215200e20176b20151b220e4100481b200d410c6c6a2217200c290200370200201741086a2016280200360200200e411f76200d6a210d200c410c6a220c2019490d000b0b024020132001460d00201241746a2212200d410c6c6a220e200c290200370200200e41086a200c41086a280200360200200c410c6a210f200121130c010b0b20002002200d410c6c221910e996808000211a2001200d6b211502402001200d460d002015410171210f201a20196a21184100211702402001200d41016a460d002015417e712116200820106a210e410021172018210c0340200c200e290200370200200c41086a200e41086a280200360200200c410c6a2011201741feffffff0373410c6c6a2212290200370200200c41146a201241086a280200360200200e41686a210e200c41186a210c2016201741026a2217470d000b0b200f450d0020182017410c6c6a220c20112017417f73410c6c6a220e290200370200200c41086a200e41086a2802003602000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d004100210e2000210f20022001410c6c22116a22132112034002400240200f200041002009417d6a220c200c20094b1b410c6c6a2214490d00200f210c0c010b410021154100211603402002201220156a220d41746a200a41046a2217280200200f20166a220c41046a280200200b2802002219200c41086a2218280200221a2019201a491b10ed96808000221b2019201a6b201b1b417f4a221b1b200e410c6c6a2219200c290200370200201941086a20182802003602002002200d41686a2017280200200c41106a280200200b2802002219200c41146a2218280200221a2019201a491b10ed96808000221c2019201a6b201c1b417f4a221a1b200e201b6a221b410c6c6a220e200c410c6a290200370200200e41086a20182802003602002002200d415c6a2017280200200c411c6a280200200b280200220e200c41206a22182802002219200e2019491b10ed96808000221c200e20196b201c1b417f4a22191b201b201a6a221a410c6c6a220e200c41186a290200370200200e41086a20182802003602002002200d41506a2017280200200c41286a280200200b280200220d200c412c6a2217280200220e200d200e491b10ed968080002218200d200e6b20181b417f4a220d1b201a20196a220e410c6c6a2219200c41246a290200370200201941086a2017280200360200200e200d6a210e201541506a2115200f201641306a22166a220c2014490d000b201220166b21120b0240200c20002009410c6c6a22194f0d0003402002201241746a2212200a41046a280200200c41046a280200200b280200220d200c41086a22162802002217200d2017491b10ed968080002215200d20176b20151b417f4a220d1b200e410c6c6a2217200c290200370200201741086a2016280200360200200e200d6a210e200c410c6a220c2019490d000b0b024020092001460d002002200e410c6c6a220d200c290200370200200d41086a200c41086a280200360200200c410c6a210f200e41016a210e201241746a2112200121090c010b0b20002002200e410c6c221510e99680800021192001200e6b210d02402001200e460d00200d410171211a201920156a210f4100211702402001200e41016a460d00200d417e712116200820116a210b41002117200f210c0340200c200b290200370200200c41086a200b41086a280200360200200c410c6a2013201741feffffff0373410c6c6a2212290200370200200c41146a201241086a280200360200200b41686a210b200c41186a210c2016201741026a2217470d000b0b201a450d00200f2017410c6c6a220c20132017417f73410c6c6a220b290200370200200c41086a200b41086a2802003602000b02402001200e4f0d00200e20014198dac1800010a881808000000b201920156a210041002105200d2101200d41214f0d030c020b000b201a20196a2015200220032004200741086a200610e584808000200d2101200d41214f0d010b0b2000200d200220032006109b8f8080000b200741306a2480808080000bfd0e01117f23808080800041306b220724808080800002400240200141214f0d0020002001200220032006109a8f8080000c010b200241746a21080340024020040d0020002001200220034101200610fe868080000c020b20002001410376220941d4006c6a210a2000200941306c6a210b02400240200141c000490d002000200b200a2009109f8680800021090c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b21090b2004417f6a2104200741086a41086a2000200920006b410c6e220f410c6c6a220c41086a2802003602002007200c290200370308024002400240024002402005450d002005280200200c2802004f0d010b200120034b0d014100210b2000210920022001410c6c22106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b410c6c6a22134f0d0003402002200a41746a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a2009410c6a220e280200200c2802004922141b200b200d6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200941186a220d280200200c28020049220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200941246a220d280200200c2802004922141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210b200941306a22092013490d000b0b0240200920002012410c6c6a22144f0d0003402002200a41746a220a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a280200360200200b200d6a210b2009410c6a22092014490d000b0b024020122001460d00200a41746a220a200b410c6c6a220d2009290200370200200d41086a200941086a2802003602002009410c6a2109200121120c010b0b20002002200b410c6c221210e99680800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2011200d41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200d41026a220d470d000b0b2016450d002017200d410c6c6a22092011200d417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b200b450d002001200b4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d004100210d2000210920022001410c6c22116a2212210a03400240200920004100200f417d6a220b200b200f4b1b410c6c6a22134f0d0003402002200a41746a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a200c2802002009410c6a220e2802004f22141b200d200b6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200c280200200941186a220d2802004f220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200c280200200941246a220d2802004f22141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210d200941306a22092013490d000b0b024020092000200f410c6c6a22144f0d0003402002200a41746a220a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a280200360200200d200b6a210d2009410c6a22092014490d000b0b0240200f2001460d002002200d410c6c6a220b2009290200370200200b41086a200941086a2802003602002009410c6a2109200d41016a210d200a41746a210a2001210f0c010b0b20002002200d410c6c221310e99680800021002001200d6b210b02402001200d460d00200b410171210f200020136a21154100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2015210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2012200c41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200c41026a220c470d000b0b200f450d002015200c410c6c6a22092012200c417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b02402001200d4f0d00200d20014198dac1800010a881808000000b200020136a210041002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610e684808000200b2101200b41214f0d010b0b2000200b200220032006109a8f8080000b200741306a2480808080000bab0d01117f23808080800041c0006b220724808080800002400240200141214f0d0020002001200220032006109e8f8080000c010b200241606a21080340024020040d0020002001200220034101200610f4868080000c020b20002001410376220941e0016c6a210a200020094107746a210b02400240200141c000490d002000200b200a2009109b86808000210c0c010b2000210c2000200b412010ed9680800022092000200a412010ed96808000734100480d00200a200b200b200a412010ed968080002009734100481b210c0b2004417f6a2104200741086a41186a200c41186a290000370300200741086a41106a200c41106a290000370300200741086a41086a200c41086a2900003703002007200c290000370308200c20006b410576210d024002400240024002402005450d002005200c412010ed96808000417f4a0d010b200120034b0d01410021092000210a20022001410574220e6a220f2110200d211103400240200a200020114105746a22124f0d0003402002201041606a2210200a200c412010ed9680800022134100481b20094105746a220b200a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a2900003700002013411f7620096a2109200a41206a220a2012490d000b0b024020112001460d00201041606a221020094105746a220b200a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a290000370000200a41206a210a200121110c010b0b200020022009410574221410e9968080002115200120096b2111024020012009460d0020114101712116201520146a21174100211302402001200941016a460d002011417e7121122008200e6a210b410021132017210a0340200a200b290000370000200a41186a200b41186a290000370000200a41106a200b41106a290000370000200a41086a200b41086a290000370000200a41206a200f201341feffff3f734105746a2210290000370000200a41286a201041086a290000370000200a41306a201041106a290000370000200a41386a201041186a290000370000200b41406a210b200a41c0006a210a2012201341026a2213470d000b0b2016450d00201720134105746a220a200f2013417f734105746a220b290000370000200a41186a200b41186a290000370000200a41106a200b41106a290000370000200a41086a200b41086a2900003700000b2009450d00200120094f0d02200741003602382007410136022c20074180dac1800036022820074204370230200741286a4188dac1800010f280808000000b200120034b0d00410021102000210a2002200141057422146a2211210903400240200a2000200d4105746a22124f0d0003402002200941606a2209200c200a412010ed96808000417f4a22131b20104105746a220b200a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a290000370000201020136a2110200a41206a220a2012490d000b0b0240200d2001460d00200220104105746a220b200a290000370000200b41186a200a41186a290000370000200b41106a200a41106a290000370000200b41086a200a41086a290000370000200a41206a210a201041016a2110200941606a21092001210d0c010b0b200020022010410574220f10e9968080002100200120106b2109024020012010460d002009410171210d2000200f6a21154100210c02402001201041016a460d002009417e712112200820146a210b4100210c2015210a0340200a200b290000370000200a41186a200b41186a290000370000200a41106a200b41106a290000370000200a41086a200b41086a290000370000200a41206a2011200c41feffff3f734105746a2213290000370000200a41286a201341086a290000370000200a41306a201341106a290000370000200a41386a201341186a290000370000200b41406a210b200a41c0006a210a2012200c41026a220c470d000b0b200d450d002015200c4105746a220a2011200c417f734105746a220b290000370000200a41186a200b41186a290000370000200a41106a200b41106a290000370000200a41086a200b41086a2900003700000b0240200120104f0d00201020014198dac1800010a881808000000b2000200f6a21004100210520092101200941214f0d030c020b000b201520146a2011200220032004200741086a200610e78480800020092101200941214f0d010b0b20002009200220032006109e8f8080000b200741c0006a2480808080000bfd0e01117f23808080800041306b220724808080800002400240200141214f0d0020002001200220032006109a8f8080000c010b200241746a21080340024020040d0020002001200220034101200610ee868080000c020b20002001410376220941d4006c6a210a2000200941306c6a210b02400240200141c000490d002000200b200a2009109f8680800021090c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b21090b2004417f6a2104200741086a41086a2000200920006b410c6e220f410c6c6a220c41086a2802003602002007200c290200370308024002400240024002402005450d002005280200200c2802004f0d010b200120034b0d014100210b2000210920022001410c6c22106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b410c6c6a22134f0d0003402002200a41746a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a2009410c6a220e280200200c2802004922141b200b200d6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200941186a220d280200200c28020049220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200941246a220d280200200c2802004922141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210b200941306a22092013490d000b0b0240200920002012410c6c6a22144f0d0003402002200a41746a220a2009280200200c28020049220d1b200b410c6c6a220e2009290200370200200e41086a200941086a280200360200200b200d6a210b2009410c6a22092014490d000b0b024020122001460d00200a41746a220a200b410c6c6a220d2009290200370200200d41086a200941086a2802003602002009410c6a2109200121120c010b0b20002002200b410c6c221210e99680800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2011200d41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200d41026a220d470d000b0b2016450d002017200d410c6c6a22092011200d417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b200b450d002001200b4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d004100210d2000210920022001410c6c22116a2212210a03400240200920004100200f417d6a220b200b200f4b1b410c6c6a22134f0d0003402002200a41746a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a2802003602002002200a41686a200c2802002009410c6a220e2802004f22141b200d200b6a220b410c6c6a220d200e290200370200200d41086a200941146a2802003602002002200a415c6a200c280200200941186a220d2802004f220e1b200b20146a220b410c6c6a2214200d290200370200201441086a200941206a2802003602002002200a41506a220a200c280200200941246a220d2802004f22141b200b200e6a220b410c6c6a220e200d290200370200200e41086a2009412c6a280200360200200b20146a210d200941306a22092013490d000b0b024020092000200f410c6c6a22144f0d0003402002200a41746a220a200c28020020092802004f220b1b200d410c6c6a220e2009290200370200200e41086a200941086a280200360200200d200b6a210d2009410c6a22092014490d000b0b0240200f2001460d002002200d410c6c6a220b2009290200370200200b41086a200941086a2802003602002009410c6a2109200d41016a210d200a41746a210a2001210f0c010b0b20002002200d410c6c221310e99680800021002001200d6b210b02402001200d460d00200b410171210f200020136a21154100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2015210903402009200a290200370200200941086a200a41086a2802003602002009410c6a2012200c41feffffff0373410c6c6a220e290200370200200941146a200e41086a280200360200200a41686a210a200941186a21092014200c41026a220c470d000b0b200f450d002015200c410c6c6a22092012200c417f73410c6c6a220a290200370200200941086a200a41086a2802003602000b02402001200d4f0d00200d20014198dac1800010a881808000000b200020136a210041002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610e884808000200b2101200b41214f0d010b0b2000200b200220032006109a8f8080000b200741306a2480808080000bbe0e01117f23808080800041c0006b220724808080800002400240200141214f0d0020002001200220032006109d8f8080000c010b2002415c6a21080340024020040d0020002001200220034101200610ea868080000c020b20002001410376220941fc016c6a210a200020094190016c6a210b02400240200141c000490d002000200b200a200910a08680800021090c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b21090b2004417f6a2104200741206a2000200920006b41246e220f41246c6a221041206a280200360200200741186a201041186a290200370300200741106a201041106a290200370300200741086a201041086a29020037030020072010290200370300024002400240024002402005450d00200528020020102802004f0d010b200120034b0d014100210b200021092002200141246c22116a2212210c200f21130340024020092000201341246c6a220e4f0d0003402002200c415c6a220c2009280200201028020049220d1b200b41246c6a220a2009290200370200200a41206a200941206a280200360200200a41186a200941186a290200370200200a41106a200941106a290200370200200a41086a200941086a290200370200200b200d6a210b200941246a2209200e490d000b0b024020132001460d00200c415c6a220c200b41246c6a220a2009290200370200200a41206a200941206a280200360200200a41186a200941186a290200370200200a41106a200941106a290200370200200a41086a200941086a290200370200200941246a2109200121130c010b0b20002002200b41246c221410e99680800021152001200b6b211302402001200b460d0020134101712116201520146a21174100210d02402001200b41016a460d002013417e71210e200820116a210a4100210d2017210903402009200a290200370200200941206a200a41206a280200360200200941186a200a41186a290200370200200941106a200a41106a290200370200200941086a200a41086a290200370200200941246a2012200d41feffffff037341246c6a220c2902003702002009412c6a200c41086a290200370200200941346a200c41106a2902003702002009413c6a200c41186a290200370200200941c4006a200c41206a280200360200200a41b87f6a210a200941c8006a2109200e200d41026a220d470d000b0b2016450d002017200d41246c6a22092012200d417f7341246c6a220a290200370200200941206a200a41206a280200360200200941186a200a41186a290200370200200941106a200a41106a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602382007410136022c20074180dac1800036022820074204370230200741286a4188dac1800010f280808000000b200120034b0d004100210c200021092002200141246c22146a2213210b0340024020092000200f41246c6a220e4f0d0003402002200b415c6a220b201028020020092802004f220d1b200c41246c6a220a2009290200370200200a41206a200941206a280200360200200a41186a200941186a290200370200200a41106a200941106a290200370200200a41086a200941086a290200370200200c200d6a210c200941246a2209200e490d000b0b0240200f2001460d002002200c41246c6a220a2009290200370200200a41206a200941206a280200360200200a41186a200941186a290200370200200a41106a200941106a290200370200200a41086a200941086a290200370200200941246a2109200c41016a210c200b415c6a210b2001210f0c010b0b20002002200c41246c221210e99680800021002001200c6b210b02402001200c460d00200b410171210f200020126a21154100210e02402001200c41016a460d00200b417e712110200820146a210a4100210e2015210903402009200a290200370200200941206a200a41206a280200360200200941186a200a41186a290200370200200941106a200a41106a290200370200200941086a200a41086a290200370200200941246a2013200e41feffffff037341246c6a220d2902003702002009412c6a200d41086a290200370200200941346a200d41106a2902003702002009413c6a200d41186a290200370200200941c4006a200d41206a280200360200200a41b87f6a210a200941c8006a21092010200e41026a220e470d000b0b200f450d002015200e41246c6a22092013200e417f7341246c6a220a290200370200200941206a200a41206a280200360200200941186a200a41186a290200370200200941106a200a41106a290200370200200941086a200a41086a2902003702000b02402001200c4f0d00200c20014198dac1800010a881808000000b200020126a210041002105200b2101200b41214f0d030c020b000b201520146a20132002200320042007200610e984808000200b2101200b41214f0d010b0b2000200b200220032006109d8f8080000b200741c0006a2480808080000bf90e01117f23808080800041306b220724808080800002400240200141214f0d0020002001200220032006109f8f8080000c010b200241706a21080340024020040d0020002001200220034101200610fa868080000c020b20002001410376220941f0006c6a210a200020094106746a210b02400240200141c000490d002000200b200a2009109c86808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2902003703002007200c290200370308200c20006b410476210f024002400240024002402005450d002005280200200c2802004f0d010b200120034b0d014100210b200021092002200141047422106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b4104746a22134f0d0003402002200a41706a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200941106a220e280200200c2802004922141b200b200d6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200941206a220d280200200c28020049220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200941306a220d280200200c2802004922141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210b200941c0006a22092013490d000b0b02402009200020124104746a22144f0d0003402002200a41706a220a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a290200370200200b200d6a210b200941106a22092014490d000b0b024020122001460d00200a41706a220a200b4104746a220d2009290200370200200d41086a200941086a290200370200200941106a2109200121120c010b0b20002002200b410474221210e99680800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a290200370200200941106a2011200d41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200d41026a220d470d000b0b2016450d002017200d4104746a22092011200d417f734104746a220a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d004100210d200021092002200141047422116a2212210a03400240200920004100200f417d6a220b200b200f4b1b4104746a22134f0d0003402002200a41706a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200c280200200941106a220e2802004f22141b200d200b6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200c280200200941206a220d2802004f220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200c280200200941306a220d2802004f22141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210d200941c0006a22092013490d000b0b024020092000200f4104746a22144f0d0003402002200a41706a220a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a290200370200200d200b6a210d200941106a22092014490d000b0b0240200f2001460d002002200d4104746a220b2009290200370200200b41086a200941086a290200370200200941106a2109200d41016a210d200a41706a210a2001210f0c010b0b20002002200d410474221310e99680800021002001200d6b210b02402001200d460d00200b410171210f200020136a21154100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2015210903402009200a290200370200200941086a200a41086a290200370200200941106a2012200c41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200c41026a220c470d000b0b200f450d002015200c4104746a22092012200c417f734104746a220a290200370200200941086a200a41086a2902003702000b02402001200d4f0d00200d20014198dac1800010a881808000000b200020136a210041002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610ea84808000200b2101200b41214f0d010b0b2000200b200220032006109f8f8080000b200741306a2480808080000bf90e01117f23808080800041306b220724808080800002400240200141214f0d0020002001200220032006109f8f8080000c010b200241706a21080340024020040d002000200120022003410120061092878080000c020b20002001410376220941f0006c6a210a200020094106746a210b02400240200141c000490d002000200b200a2009109c86808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2902003703002007200c290200370308200c20006b410476210f024002400240024002402005450d002005280200200c2802004f0d010b200120034b0d014100210b200021092002200141047422106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b4104746a22134f0d0003402002200a41706a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200941106a220e280200200c2802004922141b200b200d6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200941206a220d280200200c28020049220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200941306a220d280200200c2802004922141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210b200941c0006a22092013490d000b0b02402009200020124104746a22144f0d0003402002200a41706a220a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a290200370200200b200d6a210b200941106a22092014490d000b0b024020122001460d00200a41706a220a200b4104746a220d2009290200370200200d41086a200941086a290200370200200941106a2109200121120c010b0b20002002200b410474221210e99680800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a290200370200200941106a2011200d41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200d41026a220d470d000b0b2016450d002017200d4104746a22092011200d417f734104746a220a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d004100210d200021092002200141047422116a2212210a03400240200920004100200f417d6a220b200b200f4b1b4104746a22134f0d0003402002200a41706a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200c280200200941106a220e2802004f22141b200d200b6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200c280200200941206a220d2802004f220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200c280200200941306a220d2802004f22141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210d200941c0006a22092013490d000b0b024020092000200f4104746a22144f0d0003402002200a41706a220a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a290200370200200d200b6a210d200941106a22092014490d000b0b0240200f2001460d002002200d4104746a220b2009290200370200200b41086a200941086a290200370200200941106a2109200d41016a210d200a41706a210a2001210f0c010b0b20002002200d410474221310e99680800021002001200d6b210b02402001200d460d00200b410171210f200020136a21154100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2015210903402009200a290200370200200941086a200a41086a290200370200200941106a2012200c41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200c41026a220c470d000b0b200f450d002015200c4104746a22092012200c417f734104746a220a290200370200200941086a200a41086a2902003702000b02402001200d4f0d00200d20014198dac1800010a881808000000b200020136a210041002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610eb84808000200b2101200b41214f0d010b0b2000200b200220032006109f8f8080000b200741306a2480808080000bf90e01117f23808080800041306b220724808080800002400240200141214f0d0020002001200220032006109f8f8080000c010b200241706a21080340024020040d002000200120022003410120061096878080000c020b20002001410376220941f0006c6a210a200020094106746a210b02400240200141c000490d002000200b200a2009109c86808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2902003703002007200c290200370308200c20006b410476210f024002400240024002402005450d002005280200200c2802004f0d010b200120034b0d014100210b200021092002200141047422106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b4104746a22134f0d0003402002200a41706a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200941106a220e280200200c2802004922141b200b200d6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200941206a220d280200200c28020049220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200941306a220d280200200c2802004922141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210b200941c0006a22092013490d000b0b02402009200020124104746a22144f0d0003402002200a41706a220a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a290200370200200b200d6a210b200941106a22092014490d000b0b024020122001460d00200a41706a220a200b4104746a220d2009290200370200200d41086a200941086a290200370200200941106a2109200121120c010b0b20002002200b410474221210e99680800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a290200370200200941106a2011200d41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200d41026a220d470d000b0b2016450d002017200d4104746a22092011200d417f734104746a220a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d004100210d200021092002200141047422116a2212210a03400240200920004100200f417d6a220b200b200f4b1b4104746a22134f0d0003402002200a41706a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200c280200200941106a220e2802004f22141b200d200b6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200c280200200941206a220d2802004f220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200c280200200941306a220d2802004f22141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210d200941c0006a22092013490d000b0b024020092000200f4104746a22144f0d0003402002200a41706a220a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a290200370200200d200b6a210d200941106a22092014490d000b0b0240200f2001460d002002200d4104746a220b2009290200370200200b41086a200941086a290200370200200941106a2109200d41016a210d200a41706a210a2001210f0c010b0b20002002200d410474221310e99680800021002001200d6b210b02402001200d460d00200b410171210f200020136a21154100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2015210903402009200a290200370200200941086a200a41086a290200370200200941106a2012200c41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200c41026a220c470d000b0b200f450d002015200c4104746a22092012200c417f734104746a220a290200370200200941086a200a41086a2902003702000b02402001200d4f0d00200d20014198dac1800010a881808000000b200020136a210041002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610ec84808000200b2101200b41214f0d010b0b2000200b200220032006109f8f8080000b200741306a2480808080000b801201117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610988f8080000c010b200241706a21080340024020040d002000200120022003410120061084878080000c020b200741086a41086a200020002001200610a38680800022094104746a220a41086a2902003703002007200a2902003703082004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210d2000210b20022001410474220e6a220f210c2009211003400240200b200041002010417d6a2211201120104b1b4104746a22124f0d0003402002200c41706a200b280200200a280200200b41046a2802002213200a41046a2211280200221420132014491b10ed968080002215201320146b20151b22154100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200b41106a2216280200200a280200200b41146a28020022132011280200221420132014491b10ed968080002217201320146b20171b22144100481b2015411f76200d6a22154104746a220d2016290200370200200d41086a200b41186a2902003702002002200c41506a200b41206a2216280200200a280200200b41246a280200220d20112802002213200d2013491b10ed968080002217200d20136b20171b22134100481b2014411f7620156a22144104746a220d2016290200370200200d41086a200b41286a2902003702002002200c41406a220c200b41306a2215280200200a280200200b41346a280200220d20112802002211200d2011491b10ed968080002216200d20116b20161b220d4100481b2013411f7620146a22114104746a22132015290200370200201341086a200b41386a290200370200200d411f7620116a210d200b41c0006a220b2012490d000b0b0240200b200020104104746a22154f0d0003402002200c41706a220c200b280200200a280200200b41046a2802002211200a41046a280200221320112013491b10ed968080002214201120136b20141b22114100481b200d4104746a2213200b290200370200201341086a200b41086a2902003702002011411f76200d6a210d200b41106a220b2015490d000b0b024020102001460d00200c41706a220c200d4104746a2211200b290200370200201141086a200b41086a290200370200200b41106a210b200121100c010b0b20002002200d410474221610e99680800021172001200d6b211502402001200d460d0020154101712112201720166a21104100211102402001200d41016a460d002015417e7121142008200e6a210c410021112010210b0340200b200c290200370200200b41086a200c41086a290200370200200b41106a200f201141feffffff00734104746a2213290200370200200b41186a201341086a290200370200200c41606a210c200b41206a210b2014201141026a2211470d000b0b2012450d00201020114104746a220b200f2011417f734104746a220c290200370200200b41086a200c41086a2902003702000b200d450d002001200d4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d00410021112000210b20022001410474220f6a2210210c03400240200b200041002009417d6a220d200d20094b1b4104746a22124f0d0003402002200c41706a200a280200200b280200200a41046a220d2802002213200b41046a280200221420132014491b10ed968080002215201320146b20151b417f4a22151b20114104746a2213200b290200370200201341086a200b41086a2902003702002002200c41606a200a280200200b41106a2216280200200d2802002213200b41146a280200221420132014491b10ed968080002217201320146b20171b417f4a22141b201120156a22154104746a22112016290200370200201141086a200b41186a2902003702002002200c41506a200a280200200b41206a2216280200200d2802002211200b41246a280200221320112013491b10ed968080002217201120136b20171b417f4a22131b201520146a22144104746a22112016290200370200201141086a200b41286a2902003702002002200c41406a220c200a280200200b41306a2215280200200d280200220d200b41346a2802002211200d2011491b10ed968080002216200d20116b20161b417f4a220d1b201420136a22114104746a22132015290200370200201341086a200b41386a2902003702002011200d6a2111200b41c0006a220b2012490d000b0b0240200b200020094104746a22154f0d0003402002200c41706a220c200a280200200b280200200a41046a280200220d200b41046a2802002213200d2013491b10ed968080002214200d20136b20141b417f4a220d1b20114104746a2213200b290200370200201341086a200b41086a2902003702002011200d6a2111200b41106a220b2015490d000b0b024020092001460d00200220114104746a220d200b290200370200200d41086a200b41086a290200370200200b41106a210b201141016a2111200c41706a210c200121090c010b0b200020022011410474221510e9968080002116200120116b210d024020012011460d00200d4101712117201620156a21124100210c02402001201141016a460d00200d417e7121142008200f6a210a4100210c2012210b0340200b200a290200370200200b41086a200a41086a290200370200200b41106a2010200c41feffffff00734104746a2213290200370200200b41186a201341086a290200370200200a41606a210a200b41206a210b2014200c41026a220c470d000b0b2017450d002012200c4104746a220b2010200c417f734104746a220a290200370200200b41086a200a41086a2902003702000b0240200120114f0d00201120014198dac1800010a881808000000b201620156a210041002105200d2101200d41214f0d030c020b000b201720166a2015200220032004200741086a200610ed84808000200d2101200d41214f0d010b0b2000200d20022003200610988f8080000b200741306a2480808080000bf90e01117f23808080800041306b220724808080800002400240200141214f0d0020002001200220032006109f8f8080000c010b200241706a21080340024020040d0020002001200220034101200610f2868080000c020b20002001410376220941f0006c6a210a200020094106746a210b02400240200141c000490d002000200b200a2009109c86808000210c0c010b2000200a200b20002802002209200b280200220c49220d200c200a280200220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2902003703002007200c290200370308200c20006b410476210f024002400240024002402005450d002005280200200c2802004f0d010b200120034b0d014100210b200021092002200141047422106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b4104746a22134f0d0003402002200a41706a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200941106a220e280200200c2802004922141b200b200d6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200941206a220d280200200c28020049220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200941306a220d280200200c2802004922141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210b200941c0006a22092013490d000b0b02402009200020124104746a22144f0d0003402002200a41706a220a2009280200200c28020049220d1b200b4104746a220e2009290200370200200e41086a200941086a290200370200200b200d6a210b200941106a22092014490d000b0b024020122001460d00200a41706a220a200b4104746a220d2009290200370200200d41086a200941086a290200370200200941106a2109200121120c010b0b20002002200b410474221210e99680800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a290200370200200941106a2011200d41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200d41026a220d470d000b0b2016450d002017200d4104746a22092011200d417f734104746a220a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c20074180dac1800036021820074204370220200741186a4188dac1800010f280808000000b200120034b0d004100210d200021092002200141047422116a2212210a03400240200920004100200f417d6a220b200b200f4b1b4104746a22134f0d0003402002200a41706a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200c280200200941106a220e2802004f22141b200d200b6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200c280200200941206a220d2802004f220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200c280200200941306a220d2802004f22141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210d200941c0006a22092013490d000b0b024020092000200f4104746a22144f0d0003402002200a41706a220a200c28020020092802004f220b1b200d4104746a220e2009290200370200200e41086a200941086a290200370200200d200b6a210d200941106a22092014490d000b0b0240200f2001460d002002200d4104746a220b2009290200370200200b41086a200941086a290200370200200941106a2109200d41016a210d200a41706a210a2001210f0c010b0b20002002200d410474221310e99680800021002001200d6b210b02402001200d460d00200b410171210f200020136a21154100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2015210903402009200a290200370200200941086a200a41086a290200370200200941106a2012200c41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200c41026a220c470d000b0b200f450d002015200c4104746a22092012200c417f734104746a220a290200370200200941086a200a41086a2902003702000b02402001200d4f0d00200d20014198dac1800010a881808000000b200020136a210041002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610ee84808000200b2101200b41214f0d010b0b2000200b200220032006109f8f8080000b200741306a2480808080000bbc0101047f0240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802b80121012003417f6a22030d000b0b20024108490d00034020012802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012101200441786a22040d000b0b200042003702082000200136020441012101200041013602000b200041046a410020011b0bc60401047f23808080800041c0006b2202248080808000024002400240024002400240024020002802002203417d6a41002003417c6a4105491b0e06000102030405000b2002200036020441012100200128021c220341dcdcc18000410d2001280220220428020c2205118180808000000d050240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d07200241046a200110ad8e8080000d07200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0641012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ad8e8080000d06200228023441b6c4c080004102200228023828020c118180808000000d060b200341bec4c08000410120051181808080000021000c050b200128021c41e9dcc18000410d200128022028020c1181808080000021000c040b200128021c41f6dcc18000410f200128022028020c1181808080000021000c030b200128021c4185ddc18000410b200128022028020c1181808080000021000c020b200128021c4190ddc180004111200128022028020c1181808080000021000c010b200128021c41a1ddc18000410b200128022028020c1181808080000021000b200241c0006a24808080800020000b862a07047f017e077f027e057f047e1a7f23808080800041c00e6b2205248080808000200541bc0c6a2001200210a89280800020052802d00c210620052802cc0c210720052802c80c210820052902c00c2109024002400240024002400240024020052802bc0c220a418080808078460d0020052802c40c210b20052802c00c210c20052802dc0c210d20052802d40c210e20052802d80c210f2009422088a721012009a721020240024002400240024002402009428080808020540d0020022f000041b0f001460d010b200541bc0c6a2002200110fd8780800020052f01bc0c0d02200541b6076a200541bc0c6a41106a2202290200370100200541c6076a200541bc0c6a41206a2201290200370100200541ce076a200541e40c6a290200370100200541d6076a200541ec0c6a2f01003b0100200520052902c40c3701ae07200520052902d40c3701be07200520052802c00c3601aa07200520052f01be0c3b01a807200541bc0c6a200541a8076a10ec90808000200541a8066a41206a20012d00003a0000200541a8066a41186a200541bc0c6a41186a290200370300200541a8066a41106a2002290200370300200541a8066a41086a200541bc0c6a41086a290200370300200520052902bc0c3703a80620052802e00c220141224f0d06200541bc0c6a200541a8066a200120034100200f200e418080808078461b20031b2202410120021b2004200d20031b410020021b10c69680800020052d00bc0c0d022005418a066a200541bc0c6a41036a2d00003a0000200541e8036a41086a2202200541bc0c6a41106a290000370300200541e8066a41086a2201200541bc0c6a41206a290000370300200541e8066a41106a200541bc0c6a41286a290000370300200541e8066a41186a200541ec0c6a290000370300200541e8066a41206a200541f40c6a290000370300200541e8066a41286a200541fc0c6a2d00003a0000200520052f00bd0c3b018806200520052900c40c3703e803200520052900d40c3703e80620052800c00c210320054197066a2002290300370000200541a7066a20012d00003a00002005200336008b06200520052903e80337008f06200520052903e80637009f06200541bc0c6a20054188066a412010b09280800020052802c80c210420052802c40c210320052802c00c210120052802bc0c450d0142042109200141034b0d082003450d08200441002802a8bfd38000118080808000000c080b200541bc0c6a200241026a2001417e6a10f48d8080004206210920052802bc0c0d0720052802c00c2202418080808078460d0720052802c40c211020052902c40c22114280808080f0ffffffff0083221242808080808004510d020c030b20052802cc0c211320052802d00c2114200541fc036a200541bc0c6a41186a41ec0110e9968080001a20054180066a20054188066a41186a290100370200200541f8056a20054188066a41106a290100370200200541f0056a20054188066a41086a29010037020020052005290188063702e805200541f8016a200541fc036a41ec0110e9968080001a200541fc036a41ec016a21020c080b420421090c050b200541a8076a41186a22152011a7220141186a290000370300200541a8076a41106a2216200141106a290000370300200541a8076a41086a2217200141086a290000370300200520012900003703a807200541bc0c6a200541a8076a412010b09280800020052802bc0c4101460d0320052802d00c211420052802cc0c211320052802c80c210420052802c40c210320052802c00c2101200541b00a6a200541bc0c6a41186a41ec0110e9968080001a200541a40c6a2017290300370200200541ac0c6a2016290300370200200541b40c6a2015290300370200200520052903a80737029c0c0b02402002450d00201041002802a8bfd38000118080808000000b201242808080808004520d03200541f8016a200541b00a6a41ec0110e9968080001a200541b00a6a41ec016a21020c050b20094280808080708321120c030b2001412141f4ddc1800010aa81808000000b200541e8066a41106a200541d00c6a280200360200200541e8066a41086a200541c80c6a290200370300200520052902c00c3703e8064194dec18000411a200541e8066a4184dec1800041b0dec1800010a481808000000b0240200e418080808078460d000240200d450d00200f21020240200d4107712201450d00200f21020340200241003a0000200241016a21022001417f6a22010d000b0b200d4108490d00200f200d6a21010340200241003a0000200241003a0001200241003a0002200241003a0003200241003a0004200241003a0005200241003a0006200241003a0007200241086a22022001470d000b0b200e450d00200e4107712103410021010240200e4108490d00200e417871210e410021010340200f20016a220241003a0000200241016a41003a0000200241026a41003a0000200241036a41003a0000200241046a41003a0000200241056a41003a0000200241066a41003a0000200241076a41003a0000200e200141086a2201470d000b0b02402003450d00200f20016a21020340200241003a0000200241016a21022003417f6a22030d000b0b200f41002802a8bfd38000118080808000000b0240200b450d0002400240200b41077122010d00200c21020c010b200c21020340200241003a0000200241016a21022001417f6a22010d000b0b200b4108490d00200c200b6a21010340200241003a0000200241003a0001200241003a0002200241003a0003200241003a0004200241003a0005200241003a0006200241003a0007200241086a22022001470d000b0b0240200a450d00200a4107712103410021010240200a4108490d00200a417871210f410021010340200c20016a220241003a0000200241016a41003a0000200241026a41003a0000200241036a41003a0000200241046a41003a0000200241056a41003a0000200241066a41003a0000200241076a41003a0000200f200141086a2201470d000b0b02402003450d00200c20016a21020340200241003a0000200241016a21022003417f6a22030d000b0b200c41002802a8bfd38000118080808000000b420021122008450d00200741002802a8bfd38000118080808000000b20002006360214200020073602102000200836020c2000200942ffffffff0f83201284370204410121020c010b200541a8076a41186a200241186a290200370300200541a8076a41106a200241106a290200370300200541a8076a41086a200241086a290200370300200520022902003703a807200520143602cc0c200520133602c80c200520043602c40c200520033602c00c200520013602bc0c200541d00c6a200541f8016a41ec0110e9968080001a200520083602f003200520073602e80320052007200641216c6a3602f403200520073602ec03200541f8016a200541a8076a410110d09180800041002102410121010340200541f8016a20026a2d0000200541bc0c6a20026a2d00004610c7968080002001712101200241016a22024120470d000b200110c796808000210141012102200541f8016a10d39180800002400240200141ff01714101460d0041002102200541003a00a807200541003a00a907200541003a00aa07200541003a00ab07200541003a00ac07200541003a00ad07200541003a00ae07200541003a00af07200541003a00b007200541003a00b107200541003a00b207200541003a00b307200541003a00b407200541003a00b507200541003a00b607200541003a00b707200541003a00b807200541003a00b907200541003a00ba07200541003a00bb07200541003a00bc07200541003a00bd07200541003a00be07200541003a00bf07200541003a00c007200541003a00c107200541003a00c207200541003a00c307200541003a00c407200541003a00c507200541003a00c607200541003a00c7070c010b20054188066a41186a200541a8076a41186a29030037030020054188066a41106a200541a8076a41106a29030037030020054188066a41086a200541a8076a41086a290300370300200520052903a807370388060b200541a8066a41206a20052902dc0c2209370300200541a8066a41386a2201200541bc0c6a41386a290200370300200541a8066a41306a200541bc0c6a41306a2902002212370300200541a8066a41286a200541bc0c6a41286a2902002211370300200541a8066a41086a200541bc0c6a41086a2902002218370300200541a8066a41106a200541bc0c6a41106a2902002219370300200541a8066a41186a200541bc0c6a41186a290200221a370300200520052902bc0c221b3703a806200541f8016a41306a2012370300200541f8016a41286a2011370300200541f8016a41206a2009370300200541f8016a41186a201a370300200541f8016a41106a2019370300200541f8016a41086a2018370300200541f8016a41386a20012903003703002005201b3703f801200520023a00b802200541c1026a20054188066a41086a290300370000200541c9026a20054188066a41106a290300370000200541d1026a20054188066a41186a29030037000020052005290388063700b902200541a8076a200541e8036a200541f8016a10df87808000200541e8066a41086a2202200541a8076a41086a290000370300200541e8066a41106a2201200541a8076a41106a290000370300200541e8066a41186a2203200541a8076a41186a290000370300200541e8066a41206a2208200541a8076a41206a290000370300200541e8066a41286a2207200541a8076a41286a290000370300200541e8066a41306a2206200541a8076a41306a290000370300200541e8066a41386a2204200541a8076a41386a290000370300200520052900a8073703e80620052d00ea07211420052d00eb07211020052d00ec07211520052d00ed07211620052d00ee07211720052d00ef07211c20052d00f007211d20052d00f107211e20052d00f207211f20052d00f307212020052d00f407212120052d00f507212220052d00f607212320052d00f707212420052d00f807212520052d00f907212620052d00fa07212720052d00fb07212820052d00fc07212920052d00fd07212a20052d00fe07212b20052d00ff07212c20052d008008212d20052d008108212e20052d008208212f20052d008308213020052d008408213120052d008508213220052d008608213320052d008708213420052d008808213520052d00e8072113200541f8016a41b4acc68000200541e8066a10b78f808000200541d0086a200541f8016a10b88f808000200541f0086a200541f8016a41a00110e9968080001a20054190086a41086a200229030037030020054190086a41106a200129030037030020054190086a41186a200329030037030020054190086a41206a200829030037030020054190086a41286a200729030037030020054190086a41306a200629030037030020054190086a41386a2004290300370300200520052903e8063703900802402013410171450d00200520143a00a807200520103a00af0a200520153a00ae0a200520163a00ad0a200520173a00ac0a2005201c3a00ab0a2005201d3a00aa0a2005201e3a00a90a2005201f3a00a80a200520203a00a70a200520213a00a60a200520223a00a50a200520233a00a40a200520243a00a30a200520253a00a20a200520263a00a10a200520273a00a00a200520283a009f0a200520293a009e0a2005202a3a009d0a2005202b3a009c0a2005202c3a009b0a2005202d3a009a0a2005202e3a00990a2005202f3a00980a200520303a00970a200520313a00960a200520323a00950a200520333a00940a200520343a00930a200520353a00920a200541003a00f801200541003a00a807200541003a00af0a200541003a00ae0a200541003a00ad0a200541003a00ac0a200541003a00ab0a200541003a00aa0a200541003a00a90a200541003a00a80a200541003a00a70a200541003a00a60a200541003a00a50a200541003a00a40a200541003a00a30a200541003a00a20a200541003a00a10a200541003a00a00a200541003a009f0a200541003a009e0a200541003a009d0a200541003a009c0a200541003a009b0a200541003a009a0a200541003a00990a200541003a00980a200541003a00970a200541003a00960a200541003a00950a200541003a00940a200541003a00930a200541003a00920a0b20052903900821092005280298082107200528029c08210620052802a00821042005410c6a200541a4086a41ec0110e9968080001a200541bc0c6a10d191808000200541bc0c6a10d3918080000240200e418080808078460d000240200d450d00200f21020240200d4107712201450d00200f21020340200241003a0000200241016a21022001417f6a22010d000b0b200d4108490d00200f200d6a21010340200241003a0000200241003a0001200241003a0002200241003a0003200241003a0004200241003a0005200241003a0006200241003a0007200241086a22022001470d000b0b200e450d00200e4107712103410021010240200e4108490d00200e4178712108410021010340200f20016a220241003a0000200241016a41003a0000200241026a41003a0000200241036a41003a0000200241046a41003a0000200241056a41003a0000200241066a41003a0000200241076a41003a00002008200141086a2201470d000b0b02402003450d00200f20016a21020340200241003a0000200241016a21022003417f6a22030d000b0b200f41002802a8bfd38000118080808000000b0240200b450d0002400240200b41077122010d00200c21020c010b200c21020340200241003a0000200241016a21022001417f6a22010d000b0b200b4108490d00200c200b6a21010340200241003a0000200241003a0001200241003a0002200241003a0003200241003a0004200241003a0005200241003a0006200241003a0007200241086a22022001470d000b0b0240200a450d00200a4107712103410021010240200a4108490d00200a417871210f410021010340200c20016a220241003a0000200241016a41003a0000200241026a41003a0000200241036a41003a0000200241046a41003a0000200241056a41003a0000200241066a41003a0000200241076a41003a0000200f200141086a2201470d000b0b02402003450d00200c20016a21020340200241003a0000200241016a21022003417f6a22030d000b0b200c41002802a8bfd38000118080808000000b20002004360214200020063602102000200736020c20002009370204200041186a2005410c6a41ec0110e9968080001a410021020b20002002360200200541c00e6a2480808080000bbe0301067f23808080800041106b220324808080800041002104024002402002280204220541216a22064100480d0020022802002107024020060d00410121040c020b41002d00b8bfd380001a200641002802b0bfd380001182808080000022040d01410121040b2004200641d0e0c1800010ae80808000000b410021082003410036020c200320043602082003200636020402402005415f490d00200341046a410020054101410110948a8080002003280204210620032802082104200328020c21080b200420086a2007200510e9968080001a2003200820056a220536020c024020022d00084101470d0020022d00092102024020052006470d00200341046a41e0e0c1800010ad80808000200328020821040b200420056a20023a00002003200541016a220536020c200328020421060b0240200620056b411f4b0d00200341046a200541204101410110948a808000200328020c21050b200328020820056a22062001290000370000200041086a200541206a360200200641086a200141086a290000370000200641106a200141106a290000370000200641186a200141186a29000037000020002003290204370200200341106a2480808080000b9c0506027f017e017f017e027f017e23808080800041106b220424808080800002400240024002400240024002402002200141186a412010ed96808000450d00200441046a2002200310f28480800020042802082105200128020c450d0220012903102005200428020c220210f4848080002106200128020422072006a7712103200642198842ff0083428182848890a0c080017e2108200128020021094100210a03400240200920036a290000220b2008852206427f85200642fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832206500d000340024020022009410020067aa741037620036a2007716b411c6c6a2201416c6a280200470d002005200141686a280200200210ed96808000450d050b2006427f7c200683220650450d000b0b200b200b4201868342808182848890a0c0807f8350450d03200a41086a220a20036a20077121030c000b0b410021030240200128024022024100480d00200128023c2101024020020d00410121030c060b41002d00b8bfd380001a200241002802b0bfd380001182808080000022030d05410121030b2003200241a89dc5800010ae80808000000b410021032001417c6a28020041004a0d010b20004180808080783602000c010b02400240200141786a28020022024100480d00200141746a2802002101024020020d00410121030c020b41002d00b8bfd380001a200241002802b0bfd380001182808080000022030d01410121030b2003200241a89dc5800010ae80808000000b20032001200210e99680800021012000200236020820002001360204200020023602000b2004280204450d01200541002802a8bfd38000118080808000000c010b20032001200210e99680800021012000200236020820002001360204200020023602000b200441106a2480808080000bb00403027e037f037e20002002ad8a210041002903c8bfd38000210341002903c0bfd3800021040240024020024111490d00200320007c210302402002418002490d00200120022000200341002903d0bfd3800020007c41002903d8bfd3800020007c200410c08f80800021000c020b0240200241f001712205450d0020012002410f716a210603402001200620056a22074f0d01200741786a2900002004852208422088220920012900082003852203422088220a7e200842ffffffff0f832208200342ffffffff0f8322037e852008200a7e200920037e85422089852103200741706a2900002004852208422088220920012900002000852200422088220a7e200842ffffffff0f832208200042ffffffff0f8322007e852008200a7e200920007e85422089852100200141106a2101200541706a22050d000b0b200020038521000c010b024002400240200241074b0d00200241034b0d012002450d02200120026a417f6a310000420886200120024101766a310000842003852103200020013100008521000c020b20012900002000852100200120026a41786a29000020038521030c010b200020013500008521002003200120026a417c6a3500008521030b20004220882208200342208822097e200042ffffffff0f832200200342ffffffff0f8322037e85200820037e200020097e854220898521000b200442ffffffff0f8322032000a7200273ad22087e20004220882200200442208822047e85200420087e200020037e85422089850b880d03067f087e057f23808080800041d0006b22052480808080004100210602400240024002400240024002400240024020044100480d002004450d0241002d00b8bfd380001a200441002802b0bfd380001182808080000022060d01410121060b2006200441a89dc5800010ae80808000000b20062003200410e9968080002106200128023c210702400240200128024020044622080d00200641002802a8bfd38000118080808000000c010b20062007200410ed968080002109200641002802a8bfd38000118080808000002009450d020b200541106a200320044100280288bfd380001185808080000041002d00b8bfd380001a200441002802b0bfd3800011828080800000220a450d02200a2003200410e99680800021032008450d0420032007200410ed968080000d04200341002802a8bfd38000118080808000000c050b20012802400d020b20002001290018370000200041186a200141306a290000370000200041106a200141286a290000370000200041086a200141206a2900003700000c040b4101200441a89dc5800010ae80808000000b200541106a200341004100280288bfd38000118580808000004101210a0b200541306a41186a200541106a41186a290000220b370300200541306a41106a200541106a41106a290000220c370300200541306a41086a200541106a41086a290000220d37030020052005290010220e370330200d41002903c8bfd380002001290310422089220f7c85220d4220882210200b41002903c0bfd38000221185220b42208822127e200d42ffffffff0f83220d200b42ffffffff0f83220b7e852010200b7e200d20127e8542208885200e200f85220b42ffffffff0f83220d200c201185220c42ffffffff0f83220f7e85200b422088220b200c422088220c7e85200b200f7e200d200c7e8542208885220b421988220d42ff0083428182848890a0c080017e210c2001280200220941506a2107200e422088a72113200ea7211420012802042206200ba72215712216210341002117024003400240200920036a290000220b200c85220e427f85200e42fffdfbf7efdfbfff7e7c8342808182848890a0c0807f83220e500d000340200541306a20074100200e7aa741037620036a2006716b220841306c6a412010ed96808000450d03200e427f7c200e83220e50450d000b0b0240200b200b4201868342808182848890a0c0807f8350450d00201741086a221720036a20067121030c010b0b0240200920166a29000042808182848890a0c0807f83220e4200520d00410821030340201620036a2107200341086a21032009200720067122166a29000042808182848890a0c0807f83220e500d000b0b02402009200e7aa741037620166a20067122036a2c00002208417f4c0d002009200929030042808182848890a0c0807f837aa741037622036a2d000021080b200541106a41086a210702402008410171450d0020012802080d00200541086a20014101200141106a410110e1818080000240200128020022092001280204220620157122086a29000042808182848890a0c0807f83220e4200520d00410821030340200820036a2108200341086a21032009200820067122086a29000042808182848890a0c0807f83220e500d000b0b2009200e7aa741037620086a20067122036a2c00002208417f4c0d002009200929030042808182848890a0c0807f837aa741037622036a2d000021080b200920036a200da741ff007122173a00002009200341786a2006716a41086a20173a00002001200128020820084101716b3602082001200128020c41016a36020c2009410020036b41306c6a220341506a2014360200200341706a2004360200200341746a200a360200200341786a20043602002003417c6a4101360200200341586a220641106a200741106a290000370000200641086a200741086a29000037000020062007290000370000200341546a20133602000c010b02402009200841306c6a2203417c6a220728020022064101480d002007200641016a3602002004450d01200a41002802a8bfd38000118080808000000c010b0240200341706a2208280200450d00200341746a28020041002802a8bfd3800011808080800000200728020021060b20082004360200200341786a2004360200200341746a200a3602002007200641016a3602000b20002005290010370000200041186a200541106a41186a290000370000200041106a200541106a41106a290000370000200041086a200541106a41086a2900003700000b200541d0006a2480808080000bf80301037f23808080800041306b220524808080800041002106024002400240024002400240024020044100480d002004450d0241002d00b8bfd380001a200441002802b0bfd380001182808080000022060d01410121060b2006200441a89dc5800010ae80808000000b20062003200410e99680800021060240024020012802402004460d00200641002802a8bfd38000118080808000000c010b2006200128023c200410ed968080002107200641002802a8bfd38000118080808000002007450d020b200541046a200320044100280288bfd380001185808080000041002d00b8bfd380001a200441002802b0bfd380001182808080000022060d034101200441a89dc5800010ae80808000000b20012802400d010b20002001290018370000200041186a200141306a290000370000200041106a200141286a290000370000200041086a200141206a2900003700000c020b200541046a200341004100280288bfd3800011858080800000410121060b20062003200410e99680800021032005200436022c20052003360228200520043602242001200541046a2002200541246a10f784808000200041186a200541046a41186a290000370000200041106a200541046a41106a290000370000200041086a200541046a41086a290000370000200020052900043700000b200541306a2480808080000b820506047f017e017f017e037f027e23808080800041306b22042480808080002003280204210502400240024002400240200328020822062000280240470d002005200028023c200610ed96808000450d010b200441086a2001200210f2848080002000290310200428020c22072004280210220110f4848080002108200028020422092008a7712106200842198842ff0083428182848890a0c080017e210a200041106a210b2000280200210c4100210d03400240200c20066a290000220e200a85220f427f85200f42fffdfbf7efdfbfff7e7c8342808182848890a0c0807f83220f500d00034002402001200c4100200f7aa741037620066a2009716b411c6c6a2202416c6a280200470d002007200241686a280200200110ed96808000450d050b200f427f7c200f83220f50450d000b0b200e200e4201868342808182848890a0c0807f8350450d03200d41086a220d20066a20097121060c000b0b2003280200450d02200541002802a8bfd38000118080808000000c020b02402004280208450d00200741002802a8bfd38000118080808000000b02402002417c6a220128020022064101480d002001200641016a3602002003280200450d02200541002802a8bfd38000118080808000000c020b0240200241706a220c280200450d00200241746a28020041002802a8bfd3800011808080800000200128020021060b200c20032902003702002001200641016a360200200c41086a200341086a2802003602000c010b20042802082102200441286a200341086a2802003602002004410136022c2004200136021c20042007360218200420023602142004200329020037022020002008200441146a200b10f9848080000b200441306a2480808080000bc40306027f017e027f017e037f027e23808080800041306b220324808080800002402001200041186a412010ed96808000450d00200341086a2001200210f2848080002000290310200328020c22042003280210220110f4848080002105200028020422062005a7712107200542198842ff0083428182848890a0c080017e2108200041106a21092000280200210a4100210b0240024003400240200a20076a290000220c200885220d427f85200d42fffdfbf7efdfbfff7e7c8342808182848890a0c0807f83220d500d00034002402001200a4100200d7aa741037620076a2006716b411c6c6a2202416c6a280200470d002004200241686a280200200110ed96808000450d040b200d427f7c200d83220d50450d000b0b200c200c4201868342808182848890a0c0807f8350450d02200b41086a220b20076a20067121070c000b0b02402003280208450d00200441002802a8bfd38000118080808000000b2002417c6a22012001280200417f6a3602000c010b20032802082102200342808080807037022820034280808080103702202003200136021c200320043602182003200236021420002005200341146a200910f9848080000b200341306a2480808080000b8a0401067f23808080800041106b2204248080808000024020002802002205200028020422062001a722077122086a29000042808182848890a0c0807f8322014200520d00410821090340200820096a2108200941086a21092005200820067122086a29000042808182848890a0c0807f832201500d000b0b0240200520017aa741037620086a20067122096a2c00002208417f4c0d002005200529030042808182848890a0c0807f837aa741037622096a2d000021080b02402008410171450d0020002802080d00200441086a20004101200341011080858080000240200028020022052000280204220620077122086a29000042808182848890a0c0807f8322014200520d00410821090340200820096a2108200941086a21092005200820067122086a29000042808182848890a0c0807f832201500d000b0b200520017aa741037620086a20067122096a2c00002208417f4c0d002005200529030042808182848890a0c0807f837aa741037622096a2d000021080b200520096a200741197622073a00002005200941786a2006716a41086a20073a00002000200028020820084101716b3602082000200028020c41016a36020c2005410020096b411c6c6a41646a220941186a200241186a280200360200200941106a200241106a290200370200200941086a200241086a29020037020020092002290200370200200441106a2480808080000b350002402001200041186a412010ed968080000d0041010f0b02402000200110cd8480800022000d0041000f0b200028022c41004a0bc90201017f0240024002402002200141186a412010ed96808000450d0002402001200210cd848080002201450d0041002104200128022c41004a0d020b20004180808080783602000f0b410021040240200128024022024100480d00200128023c2101024020020d00410121040c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022040d02410121040b2004200241a89dc5800010ae80808000000b02400240200128022822024100480d0020012802242101024020020d00410121040c020b41002d00b8bfd380001a200241002802b0bfd380001182808080000022040d01410121040b2004200241a89dc5800010ae80808000000b20042001200210e99680800021012000200236020820002001360204200020023602000f0b20042001200210e99680800021012000200236020820002001360204200020023602000bba0201017f024002400240024020022001280200220441186a412010ed96808000450d0041808080807821012004200210cd8480800022020d010c030b410021020240200428024022014100480d00200428023c2104024020010d00410121020c030b41002d00b8bfd380001a200141002802b0bfd380001182808080000022020d02410121020b2002200141a89dc5800010ae80808000000b0240200228022c41014e0d000c020b4100210402400240200228022822014100480d0020022802242104024020010d00410121020c020b41002d00b8bfd380001a200141002802b0bfd380001182808080000022020d01410121040b2004200141a89dc5800010ae80808000000b20022004200110e9968080001a0c010b20022004200110e9968080001a0b2000200136020820002002360204200020013602000bcc0204047f017e017f017e024020002802042204450d000240200028020c2205450d002000280200220641086a21072006290300427f8542808182848890a0c0807f8321080340024020084200520d000340200641a07e6a210620072903002108200741086a22092107200842808182848890a0c0807f83220842808182848890a0c0807f510d000b200842808182848890a0c0807f852108200921070b02402006410020087aa74103766b411c6c6a220941646a280200450d00200941686a28020041002802a8bfd38000118080808000000b2008427f7c210a0240200941706a280200450d00200941746a28020041002802a8bfd38000118080808000000b200a20088321082005417f6a22050d000b0b200420032002ad200441016aad7ea76a417f6a410020036b7122076a4177460d00200028020020076b41002802a8bfd38000118080808000000b0bc70303027f017e027f23808080800041206b22042480808080000240024002400240024002402002410f490d00200241ffffffff014b0d02417f200241037441076e417f6a677641016a21050c010b41044108411020024108491b20024104491b21050b02402001ad2005ad7e2206422088a70d002006a7220241784b0d00200241076a4178712201200541086a22076a22022001490d00200241f9ffffff07490d020b024020030d00410021050c030b200441003602182004410136020c200441bcdfc1800036020820044204370210200441086a41a8e0c1800010f280808000000b024020030d00200042003702000c030b200441003602182004410136020c200441bcdfc1800036020820044204370210200441086a41a8e0c1800010f280808000000b41002d00b8bfd380001a0240200241002802b0bfd38000118280808000002208450d00200820016a41ff01200710eb9680800021012000410036020c20002005417f6a22023602042000200136020020002002200541037641076c20024108491b3602080c020b024020030d00410821050c010b4108200210b980808000000b2000200236020820002005360204200041003602000b200441206a2480808080000bc010070c7f027e017f017e017f047e027f23808080800041206b220524808080800002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d01200541086a4138200a41016a22092002200920024b1b200410fe848080002005280210210b200528020c210c2005280208220d450d042001280200210e02402006450d00200d41086a210f200e41486a211020032903004220892111200e290300427f8542808182848890a0c0807f832112200e210220062113410021030340024020124200520d000340200341086a210320022903082114200241086a22042102201442808182848890a0c0807f83221442808182848890a0c0807f510d000b201442808182848890a0c0807f852112200421020b0240200d200c2010410020127aa741037620036a22156b41386c6a220429000841002903c8bfd3800020117c8522144220882216200429001841002903c0bfd38000221785221842208822197e201442ffffffff0f832214201842ffffffff0f8322187e85201620187e201420197e85422088852004290000201185221442ffffffff0f8322162004290010201785221742ffffffff0f8322187e8520144220882214201742208822177e85201420187e201620177e8542208885a7221a7122096a29000042808182848890a0c0807f8322144200520d00410821040340200920046a2109200441086a2104200d2009200c7122096a29000042808182848890a0c0807f832214500d000b0b2012427f7c21160240200d20147aa741037620096a200c7122046a2c0000417f4c0d00200d29030042808182848890a0c0807f837aa741037621040b20162012832112200d20046a201a41197622093a0000200f200441786a200c716a20093a0000200d2004417f7341386c6a220441306a200e2015417f7341386c6a220941306a290000370000200441286a200941286a290000370000200441206a200941206a290000370000200441186a200941186a290000370000200441106a200941106a290000370000200441086a200941086a290000370000200420092900003700002013417f6a22130d000b0b2001200c3602042001200d3602002001200b20066b360208418180808078210c2007450d0320072008ad42387ea722026a4177460d03200e20026b41002802a8bfd38000118080808000000c030b20040d014100210c0c020b410021022001280200211a0240200920084107714100476a2204450d002004410171210d024020044101460d00200441feffffff03712109410021020340201a20026a220420042903002214427f85420788428182848890a0c0800183201442fffefdfbf7efdfbfff00847c370300200441086a220420042903002214427f85420788428182848890a0c0800183201442fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200d450d00201a20026a220220022903002214427f85420788428182848890a0c0800183201442fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00201a20086a201a2900003700000c010b201a41086a201a200810ec968080001a2008450d010b201a41086a2110201a41486a211b20032903004220892112201a21154100210203400240201a2002220f6a220b2d0000418001470d00201b4100200f6b41386c6a210e201a200f417f7341386c6a2108024003402007200e29000841002903c8bfd3800020127c8522144220882211200e29001841002903c0bfd38000221685221742208822187e201442ffffffff0f832214201742ffffffff0f8322177e85201120177e201420187e8542208885200e290000201285221442ffffffff0f832211200e290010201685221642ffffffff0f8322177e8520144220882214201642208822167e85201420177e201120167e8542208885a7220371220921040240201a20096a29000042808182848890a0c0807f8322144200520d0041082102200921040340200420026a2104200241086a2102201a200420077122046a29000042808182848890a0c0807f832214500d000b0b0240201a20147aa741037620046a20077122026a2c0000417f4c0d00201a29030042808182848890a0c0807f837aa741037621020b200220096b200f20096b732007714108490d01201a20026a22042d000021092004200341197622033a00002010200241786a2007716a20033a00000240200941ff01460d0041482109201a200241486c6a21130340201520096a22022d000021032002201320096a22042d00003a0000200420033a0000200241016a22032d0000210d2003200441016a220c2d00003a0000200c200d3a0000200241026a22032d0000210d2003200441026a220c2d00003a0000200c200d3a0000200241036a22022d000021032002200441036a22042d00003a0000200420033a0000200941046a22090d000c020b0b0b200b41ff013a00002010200f41786a2007716a41ff013a0000201a2002417f7341386c6a220241306a200841306a290000370000200241286a200841286a290000370000200241206a200841206a290000370000200241186a200841186a290000370000200241106a200841106a290000370000200241086a200841086a290000370000200220082900003700000c010b200b200341197622023a00002010200f41786a2007716a20023a00000b200f41016a2102201541486a2115200f2007470d000b0b2001200a20066b360208418180808078210c0c010b200541003602182005410136020c200541bcdfc1800036020820054204370210200541086a41a8e0c1800010f280808000000b0b2000200b3602042000200c360200200541206a2480808080000bdd15060a7f027e017f017e027f047e23808080800041206b220524808080800002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d01200541086a411c200a41016a22092002200920024b1b200410fe848080002005280210210a200528020c210b2005280208220c450d042001280200210d02402006450d00200c41086a210e200d290300427f8542808182848890a0c0807f83210f20032903002110200d2102200621034100211103400240200f4200520d000340201141086a211120022903082112200241086a22042102201242808182848890a0c0807f83221242808182848890a0c0807f510d000b201242808182848890a0c0807f85210f200421020b0240200c200b2010200d4100200f7aa741037620116a22136b411c6c6a220441686a2802002004416c6a28020010f484808000a722147122096a29000042808182848890a0c0807f8322124200520d00410821040340200920046a2109200441086a2104200c2009200b7122096a29000042808182848890a0c0807f832212500d000b0b200f427f7c21150240200c20127aa741037620096a200b7122046a2c0000417f4c0d00200c29030042808182848890a0c0807f837aa741037621040b2015200f83210f200c20046a201441197622093a0000200e200441786a200b716a20093a0000200c2004417f73411c6c6a220441186a200d2013417f73411c6c6a220941186a280000360000200441106a200941106a290000370000200441086a200941086a290000370000200420092900003700002003417f6a22030d000b0b2001200b3602042001200c3602002001200a20066b360208418180808078210b2007450d0320072008ad421c7ea741076a41787122026a4177460d03200d20026b41002802a8bfd38000118080808000000c030b20040d014100210b0c020b41002102200128020021110240200920084107714100476a2204450d002004410171210c024020044101460d00200441feffffff03712109410021020340201120026a220420042903002212427f85420788428182848890a0c0800183201242fffefdfbf7efdfbfff00847c370300200441086a220420042903002212427f85420788428182848890a0c0800183201242fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200c450d00201120026a220220022903002212427f85420788428182848890a0c0800183201242fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00201120086a20112900003700000c010b201141086a2011200810ec968080001a2008450d010b201141086a210e2003290300211641002102034002402011200222036a22082d0000418001470d0020112003417f73411c6c6a21042011410020036b411c6c6a2202416c6a2113200241686a21140240034020162013280200220bad8a211241002903c8bfd38000211541002903c0bfd38000210f2014280200210202400240200b4111490d00201520127c21150240200b418002490d002002200b2012201541002903d0bfd3800020127c41002903d8bfd3800020127c200f10c08f80800021120c020b0240200b41f001712209450d002002200b410f716a210d03402002200d20096a220c4f0d01200c41786a290000200f85221042208822172002290008201585221542208822187e201042ffffffff0f832210201542ffffffff0f8322157e85201020187e201720157e85422089852115200c41706a290000200f85221042208822172002290000201285221242208822187e201042ffffffff0f832210201242ffffffff0f8322127e85201020187e201720127e85422089852112200241106a2102200941706a22090d000b0b201220158521120c010b024002400240200b41074b0d00200b41034b0d01200b450d022002200b6a417f6a3100004208862002200b4101766a310000842015852115201220023100008521120c020b200229000020128521122002200b6a41786a29000020158521150c010b2012200235000085211220152002200b6a417c6a3500008521150b20124220882210201542208822177e201242ffffffff0f832212201542ffffffff0f8322157e85201020157e201220177e854220898521120b2007200f42ffffffff0f832215200b2012a773ad22107e20124220882212200f422088220f7e85200f20107e201220157e8542208885a7220b71220c210902402011200c6a29000042808182848890a0c0807f8322124200520d0041082102200c21090340200920026a2109200241086a21022011200920077122096a29000042808182848890a0c0807f832212500d000b0b0240201120127aa741037620096a20077122026a2c0000417f4c0d00201129030042808182848890a0c0807f837aa741037621020b02402002200c6b2003200c6b732007714108490d00201120026a22092d0000210c2009200b411976220b3a0000200e200241786a2007716a200b3a000020112002417f73411c6c6a2102200c41ff01460d0220042d00012109200420022d00013a000120042d0002210c200420022d00023a000220042d0003210b200420022d00033a000320042d0000210d200420022d00003a0000200220093a00012002200c3a00022002200b3a00032002200d3a000020042d00052109200420022d00053a000520042d0006210c200420022d00063a000620042d0007210b200420022d00073a000720042d0004210d200420022d00043a0004200220093a00052002200c3a00062002200b3a00072002200d3a000420042d00092109200420022d00093a000920042d000a210c200420022d000a3a000a20042d000b210b200420022d000b3a000b20042d0008210d200420022d00083a0008200220093a00092002200c3a000a2002200b3a000b2002200d3a000820042d000d2109200420022d000d3a000d20042d000e210c200420022d000e3a000e20042d000f210b200420022d000f3a000f20042d000c210d200420022d000c3a000c200220093a000d2002200c3a000e2002200b3a000f2002200d3a000c20042d00112109200420022d00113a001120042d0012210c200420022d00123a001220042d0013210b200420022d00133a001320042d0010210d200420022d00103a0010200220093a00112002200c3a00122002200b3a00132002200d3a001020042d00152109200420022d00153a001520042d0016210c200420022d00163a001620042d0017210b200420022d00173a001720042d0014210d200420022d00143a0014200220093a00152002200c3a00162002200b3a00172002200d3a001420042d00192109200420022d00193a001920042d001a210c200420022d001a3a001a20042d001b210b200420022d001b3a001b20042d0018210d200420022d00183a0018200220093a00192002200c3a001a2002200b3a001b2002200d3a00180c010b0b2008200b41197622023a0000200e200341786a2007716a20023a00000c010b200841ff013a0000200e200341786a2007716a41ff013a0000200241186a200441186a280000360000200241106a200441106a290000370000200241086a200441086a290000370000200220042900003700000b200341016a210220032007470d000b0b2001200a20066b360208418180808078210b0c010b200541003602182005410136020c200541bcdfc1800036020820054204370210200541086a41a8e0c1800010f280808000000b0b2000200a3602042000200b360200200541206a2480808080000ba114070b7f027e017f017e017f047e017f23808080800041206b220524808080800002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d01200541086a4120200a41016a22092002200920024b1b200410fe848080002005280210210a200528020c210b2005280208220c450d042001280200210d02402006450d00200c41086a210e200d41606a210f20032903004220892110200d290300427f8542808182848890a0c0807f832111200d210220062103410021120340024020114200520d000340201241086a211220022903082113200241086a22042102201342808182848890a0c0807f83221342808182848890a0c0807f510d000b201342808182848890a0c0807f852111200421020b0240200c200b200f20117aa741037620126a22144105746b220429000841002903c8bfd3800020107c8522134220882215200429001841002903c0bfd38000221685221742208822187e201342ffffffff0f832213201742ffffffff0f8322177e85201520177e201320187e85422088852004290000201085221342ffffffff0f8322152004290010201685221642ffffffff0f8322177e8520134220882213201642208822167e85201320177e201520167e8542208885a722197122096a29000042808182848890a0c0807f8322134200520d00410821040340200920046a2109200441086a2104200c2009200b7122096a29000042808182848890a0c0807f832213500d000b0b2011427f7c21150240200c20137aa741037620096a200b7122046a2c0000417f4c0d00200c29030042808182848890a0c0807f837aa741037621040b20152011832111200c20046a201941197622093a0000200e200441786a200b716a20093a0000200c2004417f734105746a220441186a200d2014417f734105746a220941186a290000370000200441106a200941106a290000370000200441086a200941086a290000370000200420092900003700002003417f6a22030d000b0b2001200b3602042001200c3602002001200a20066b360208418180808078210b2007450d03200d20084105746b41002802a8bfd38000118080808000000c030b20040d014100210b0c020b41002102200128020021120240200920084107714100476a2204450d002004410171210c024020044101460d00200441feffffff03712109410021020340201220026a220420042903002213427f85420788428182848890a0c0800183201342fffefdfbf7efdfbfff00847c370300200441086a220420042903002213427f85420788428182848890a0c0800183201342fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200c450d00201220026a220220022903002213427f85420788428182848890a0c0800183201342fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00201220086a20122900003700000c010b201241086a2012200810ec968080001a2008450d010b201241086a210d201241606a210f2003290300422089211141002102034002402012200222196a220e2d0000418001470d00200f20194105746b210b20122019417f734105746a2104024003402007200b29000841002903c8bfd3800020117c8522134220882210200b29001841002903c0bfd38000221585221642208822177e201342ffffffff0f832213201642ffffffff0f8322167e85201020167e201320177e8542208885200b290000201185221342ffffffff0f832210200b290010201585221542ffffffff0f8322167e8520134220882213201542208822157e85201320167e201020157e8542208885a7220371220c210902402012200c6a29000042808182848890a0c0807f8322134200520d0041082102200c21090340200920026a2109200241086a21022012200920077122096a29000042808182848890a0c0807f832213500d000b0b0240201220137aa741037620096a20077122026a2c0000417f4c0d00201229030042808182848890a0c0807f837aa741037621020b02402002200c6b2019200c6b732007714108490d00201220026a22092d0000210c2009200341197622033a0000200d200241786a2007716a20033a000020122002417f734105746a2102200c41ff01460d0220042d00002109200420022d00003a000020042d0001210c200420022d00013a000120042d00022103200420022d00023a000220042d00032114200420022d00033a0003200220093a00002002200c3a0001200220033a0002200220143a000320042d00042109200420022d00043a0004200220093a000420042d00052109200420022d00053a0005200220093a000520042d00062109200420022d00063a0006200220093a000620042d00072109200420022d00073a0007200220093a000720042d00082109200420022d00083a0008200220093a000820042d00092109200420022d00093a0009200220093a000920042d000a2109200420022d000a3a000a200220093a000a20042d000b2109200420022d000b3a000b200220093a000b20042d000c2109200420022d000c3a000c200220093a000c20042d000d2109200420022d000d3a000d200220093a000d20042d000e2109200420022d000e3a000e200220093a000e20042d000f2109200420022d000f3a000f200220093a000f20042d00102109200420022d00103a0010200220093a001020042d00112109200420022d00113a0011200220093a001120042d00122109200420022d00123a0012200220093a001220042d00132109200420022d00133a0013200220093a001320042d00142109200420022d00143a0014200220093a001420042d00152109200420022d00153a0015200220093a001520042d00162109200420022d00163a0016200220093a001620042d00172109200420022d00173a0017200220093a001720042d00182109200420022d00183a0018200220093a001820042d00192109200420022d00193a0019200220093a001920042d001a2109200420022d001a3a001a200220093a001a20042d001b2109200420022d001b3a001b200220093a001b20042d001c2109200420022d001c3a001c200220093a001c20042d001d2109200420022d001d3a001d200220093a001d20042d001e2109200420022d001e3a001e200220093a001e20042d001f2109200420022d001f3a001f200220093a001f0c010b0b200e200341197622023a0000200d201941786a2007716a20023a00000c010b200e41ff013a0000200d201941786a2007716a41ff013a0000200241186a200441186a290000370000200241106a200441106a290000370000200241086a200441086a290000370000200220042900003700000b201941016a210220192007470d000b0b2001200a20066b360208418180808078210b0c010b200541003602182005410136020c200541bcdfc1800036020820054204370210200541086a41a8e0c1800010f280808000000b0b2000200a3602042000200b360200200541206a2480808080000b8f0f070c7f027e017f017e017f047e027f23808080800041206b220524808080800002400240024002400240200128020c220620026a22022006490d00200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d01200541086a418801200a41016a22092002200920024b1b200410fe848080002005280210210b200528020c210c2005280208220d450d042001280200210e02402006450d00200d41086a210f200e41f87e6a211020032903004220892111200e290300427f8542808182848890a0c0807f832112200e210220062113410021030340024020124200520d000340200341086a210320022903082114200241086a22042102201442808182848890a0c0807f83221442808182848890a0c0807f510d000b201442808182848890a0c0807f852112200421020b0240200d200c2010410020127aa741037620036a22156b4188016c6a220429000841002903c8bfd3800020117c8522144220882216200429001841002903c0bfd38000221785221842208822197e201442ffffffff0f832214201842ffffffff0f8322187e85201620187e201420197e85422088852004290000201185221442ffffffff0f8322162004290010201785221742ffffffff0f8322187e8520144220882214201742208822177e85201420187e201620177e8542208885a7221a7122096a29000042808182848890a0c0807f8322144200520d00410821040340200920046a2109200441086a2104200d2009200c7122096a29000042808182848890a0c0807f832214500d000b0b2012427f7c21160240200d20147aa741037620096a200c7122046a2c0000417f4c0d00200d29030042808182848890a0c0807f837aa741037621040b20162012832112200d20046a201a41197622093a0000200f200441786a200c716a20093a0000200d2004417f734188016c6a200e2015417f734188016c6a41880110e9968080001a2013417f6a22130d000b0b2001200c3602042001200d3602002001200b20066b360208418180808078210c2007450d0320072008ad4288017ea722026a4177460d03200e20026b41002802a8bfd38000118080808000000c030b20040d014100210c0c020b410021022001280200211a0240200920084107714100476a2204450d002004410171210d024020044101460d00200441feffffff03712109410021020340201a20026a220420042903002214427f85420788428182848890a0c0800183201442fffefdfbf7efdfbfff00847c370300200441086a220420042903002214427f85420788428182848890a0c0800183201442fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200d450d00201a20026a220220022903002214427f85420788428182848890a0c0800183201442fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00201a20086a201a2900003700000c010b201a41086a201a200810ec968080001a2008450d010b201a41086a2110201a41f87e6a211b20032903004220892112201a21154100210203400240201a2002220f6a22082d0000418001470d00201b4100200f6b4188016c6a210e201a200f417f734188016c6a210b024003402007200e29000841002903c8bfd3800020127c8522144220882211200e29001841002903c0bfd38000221685221742208822187e201442ffffffff0f832214201742ffffffff0f8322177e85201120177e201420187e8542208885200e290000201285221442ffffffff0f832211200e290010201685221642ffffffff0f8322177e8520144220882214201642208822167e85201420177e201120167e8542208885a7220371220921040240201a20096a29000042808182848890a0c0807f8322144200520d0041082102200921040340200420026a2104200241086a2102201a200420077122046a29000042808182848890a0c0807f832214500d000b0b0240201a20147aa741037620046a20077122026a2c0000417f4c0d00201a29030042808182848890a0c0807f837aa741037621020b200220096b200f20096b732007714108490d01201a20026a22042d000021092004200341197622033a00002010200241786a2007716a20033a00000240200941ff01460d0041f87e2109201a200241f87e6c6a21130340201520096a22022d000021032002201320096a22042d00003a0000200420033a0000200241016a22032d0000210d2003200441016a220c2d00003a0000200c200d3a0000200241026a22032d0000210d2003200441026a220c2d00003a0000200c200d3a0000200241036a22022d000021032002200441036a22042d00003a0000200420033a0000200941046a22090d000c020b0b0b200841ff013a00002010200f41786a2007716a41ff013a0000201a2002417f734188016c6a200b41880110e9968080001a0c010b2008200341197622023a00002010200f41786a2007716a20023a00000b200f41016a2102201541f87e6a2115200f2007470d000b0b2001200a20066b360208418180808078210c0c010b200541003602182005410136020c200541bcdfc1800036020820054204370210200541086a41a8e0c1800010f280808000000b0b2000200b3602042000200c360200200541206a2480808080000bee10070b7f027e017f017e017f037e017f23808080800041c0006b22052480808080000240024002400240200128020c220620026a22022006490d000240200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d002005410c200a41016a22092002200920024b1b200410fe848080002005280208210a2005280204210b2005280200220c450d032001280200210d02402006450d00200c41086a210e200d41746a210f200d290300427f8542808182848890a0c0807f83211020032903002111200d210220062103410021120340024020104200520d000340201241086a211220022903082113200241086a22042102201342808182848890a0c0807f83221342808182848890a0c0807f510d000b201342808182848890a0c0807f852110200421020b200542003703082005420037030020052011370310200541003a0038200541002903d8bfd38000370330200541002903d0bfd38000370328200541002903c8bfd38000370320200541002903c0bfd38000370318200f410020107aa741037620126a22146b410c6c6a220428020041086a2004280204200510b68b8080000240024020052d00380d00200529031021130c010b2005290318200529030885221342208822152005290310200529030085221642208822177e201342ffffffff0f832213201642ffffffff0f8322167e85201320177e201520167e854220888521130b0240200c200b2013a722187122096a29000042808182848890a0c0807f8322134200520d00410821040340200920046a2109200441086a2104200c2009200b7122096a29000042808182848890a0c0807f832213500d000b0b2010427f7c21150240200c20137aa741037620096a200b7122046a2c0000417f4c0d00200c29030042808182848890a0c0807f837aa741037621040b20152010832110200c20046a201841197622093a0000200e200441786a200b716a20093a0000200c2004417f73410c6c6a220441086a200d2014417f73410c6c6a220941086a280000360000200420092900003700002003417f6a22030d000b0b2001200b3602042001200c3602002001200a20066b360208418180808078210b2007450d0220072008ad420c7ea741076a41787122026a4177460d02200d20026b41002802a8bfd38000118080808000000c020b41002102200128020021120240200920084107714100476a2204450d002004410171210c024020044101460d00200441feffffff03712109410021020340201220026a220420042903002213427f85420788428182848890a0c0800183201342fffefdfbf7efdfbfff00847c370300200441086a220420042903002213427f85420788428182848890a0c0800183201342fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200c450d00201220026a220220022903002213427f85420788428182848890a0c0800183201342fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00201220086a20122900003700000c010b201241086a2012200810ec968080001a2008450d010b201241086a210d201241746a210f2003290300211741002102034002402012200222186a220e2d0000418001470d00200f410020186b410c6c6a210b20122018417f73410c6c6a210902400340200542003703082005420037030020052017370310200541003a0038200541002903d8bfd38000370330200541002903d0bfd38000370328200541002903c8bfd38000370320200541002903c0bfd38000370318200b28020041086a200b280204200510b68b8080000240024020052d00380d00200529031021130c010b2005290318200529030885221342208822102005290310200529030085221542208822167e201342ffffffff0f832213201542ffffffff0f8322157e85201320167e201020157e854220888521130b20072013a7220371220c210402402012200c6a29000042808182848890a0c0807f8322134200520d0041082102200c21040340200420026a2104200241086a21022012200420077122046a29000042808182848890a0c0807f832213500d000b0b0240201220137aa741037620046a20077122026a2c0000417f4c0d00201229030042808182848890a0c0807f837aa741037621020b02402002200c6b2018200c6b732007714108490d00201220026a22042d0000210c2004200341197622033a0000200d200241786a2007716a20033a000020122002417f73410c6c6a2102200c41ff01460d0220092d00012104200920022d00013a000120092d0002210c200920022d00023a000220092d00032103200920022d00033a000320092d00002114200920022d00003a0000200220043a00012002200c3a0002200220033a0003200220143a000020092d00052104200920022d00053a000520092d0006210c200920022d00063a000620092d00072103200920022d00073a000720092d00042114200920022d00043a0004200220043a00052002200c3a0006200220033a0007200220143a000420092d00092104200920022d00093a000920092d000a210c200920022d000a3a000a20092d000b2103200920022d000b3a000b20092d00082114200920022d00083a0008200220043a00092002200c3a000a200220033a000b200220143a00080c010b0b200e200341197622023a0000200d201841786a2007716a20023a00000c010b200e41ff013a0000200d201841786a2007716a41ff013a0000200241086a200941086a280000360000200220092900003700000b201841016a210220182007470d000b0b2001200a20066b360208418180808078210b0c010b20040d024100210b0b0b2000200a3602042000200b360200200541c0006a2480808080000f0b2005410036021020054101360204200541bcdfc1800036020020054204370208200541a8e0c1800010f280808000000b9311070c7f027e017f017e017f037e027f23808080800041c0006b22052480808080000240024002400240200128020c220620026a22022006490d000240200220012802042207200741016a2208410376220941076c20074108491b220a4101764d0d0020054134200a41016a22092002200920024b1b200410fe848080002005280208210b2005280204210c2005280200220d450d032001280200210e02402006450d00200d41086a210f200e414c6a2110200e290300427f8542808182848890a0c0807f83211120032903002112200e210220062113410021030340024020114200520d000340200341086a210320022903082114200241086a22042102201442808182848890a0c0807f83221442808182848890a0c0807f510d000b201442808182848890a0c0807f852111200421020b200542003703082005420037030020052012370310200541003a0038200541002903d8bfd38000370330200541002903d0bfd38000370328200541002903c8bfd38000370320200541002903c0bfd380003703182010410020117aa741037620036a22156b41346c6a22042802002004280204200510918d8080000240024020052d00380d00200529031021140c010b2005290318200529030885221442208822162005290310200529030085221742208822187e201442ffffffff0f832214201742ffffffff0f8322177e85201420187e201620177e854220888521140b0240200d200c2014a722197122096a29000042808182848890a0c0807f8322144200520d00410821040340200920046a2109200441086a2104200d2009200c7122096a29000042808182848890a0c0807f832214500d000b0b2011427f7c21160240200d20147aa741037620096a200c7122046a2c0000417f4c0d00200d29030042808182848890a0c0807f837aa741037621040b20162011832111200d20046a201941197622093a0000200f200441786a200c716a20093a0000200d2004417f7341346c6a220441306a200e2015417f7341346c6a220941306a280000360000200441286a200941286a290000370000200441206a200941206a290000370000200441186a200941186a290000370000200441106a200941106a290000370000200441086a200941086a290000370000200420092900003700002013417f6a22130d000b0b2001200c3602042001200d3602002001200b20066b360208418180808078210c2007450d0220072008ad42347ea741076a41787122026a4177460d02200e20026b41002802a8bfd38000118080808000000c020b41002102200128020021190240200920084107714100476a2204450d002004410171210d024020044101460d00200441feffffff03712109410021020340201920026a220420042903002214427f85420788428182848890a0c0800183201442fffefdfbf7efdfbfff00847c370300200441086a220420042903002214427f85420788428182848890a0c0800183201442fffefdfbf7efdfbfff00847c370300200241106a21022009417e6a22090d000b0b200d450d00201920026a220220022903002214427f85420788428182848890a0c0800183201442fffefdfbf7efdfbfff00847c3703000b02400240024020084108490d00201920086a20192900003700000c010b201941086a2019200810ec968080001a2008450d010b201941086a21102019414c6a211a2003290300211820192115410021020340024020192002220f6a220b2d0000418001470d00201a4100200f6b41346c6a210e2019200f417f7341346c6a210802400340200542003703082005420037030020052018370310200541003a0038200541002903d8bfd38000370330200541002903d0bfd38000370328200541002903c8bfd38000370320200541002903c0bfd38000370318200e280200200e280204200510918d8080000240024020052d00380d00200529031021140c010b2005290318200529030885221442208822112005290310200529030085221642208822177e201442ffffffff0f832214201642ffffffff0f8322167e85201420177e201120167e854220888521140b20072014a7220371220921040240201920096a29000042808182848890a0c0807f8322144200520d0041082102200921040340200420026a2104200241086a21022019200420077122046a29000042808182848890a0c0807f832214500d000b0b0240201920147aa741037620046a20077122026a2c0000417f4c0d00201929030042808182848890a0c0807f837aa741037621020b200220096b200f20096b732007714108490d01201920026a22042d000021092004200341197622033a00002010200241786a2007716a20033a00000240200941ff01460d00414c210920192002414c6c6a21130340201520096a22022d000021032002201320096a22042d00003a0000200420033a0000200241016a22032d0000210d2003200441016a220c2d00003a0000200c200d3a0000200241026a22032d0000210d2003200441026a220c2d00003a0000200c200d3a0000200241036a22022d000021032002200441036a22042d00003a0000200420033a0000200941046a22090d000c020b0b0b200b41ff013a00002010200f41786a2007716a41ff013a000020192002417f7341346c6a220241306a200841306a280000360000200241286a200841286a290000370000200241206a200841206a290000370000200241186a200841186a290000370000200241106a200841106a290000370000200241086a200841086a290000370000200220082900003700000c010b200b200341197622023a00002010200f41786a2007716a20023a00000b200f41016a21022015414c6a2115200f2007470d000b0b2001200a20066b360208418180808078210c0c010b20040d024100210c0b0b2000200b3602042000200c360200200541c0006a2480808080000f0b2005410036021020054101360204200541bcdfc1800036020020054204370208200541a8e0c1800010f280808000000bbb080b017f027e037f017e027f017e097f017e027f017e017f23808080800041206b2202248080808000410041003502bcbfd3800042c4e6c11b852002ad22037e200342ae94e698017e4220898522033e02bcbfd380002003422088220442a2f0a4a00a7e200342ffffffff0f83220342d0e3fccc027e85200442d0e3fccc027e200342a2f0a4a00a7e85422089852103024041002d00e0bfd380004102460d0010bf8f8080000b200120033703102001280204210520012802002106200141002903c0e0c18000370300200128020c2107200141086a41002903c8e0c180003703000240024020050d00420021080c010b2006200541016aad421c7ea741076a41787122096bad422086200520096a41096aad8421080b02402007450d00200641086a210a2006290300427f8542808182848890a0c0807f83210b200041106a210c03400240200b4200520d000340200641a07e6a2106200a2903002103200a41086a2209210a200342808182848890a0c0807f83220342808182848890a0c0807f510d000b200342808182848890a0c0807f85210b2009210a0b4100210d20064100200b7aa74103766b411c6c6a220941786a280200210e200941746a280200210f200941706a2802002110200941646a28020021112009417c6a28020021122000290310200941686a28020022132009416c6a280200221410f4848080002115200028020422162015a7712117201542198842ff0083428182848890a0c080017e21182007417f6a2107200b427f7c200b83210b200028020021190240024003400240201920176a29000022042018852203427f85200342fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832203500d000340024020142019410020037aa741037620176a2016716b411c6c6a2209416c6a280200470d002013200941686a280200201410ed96808000450d040b2003427f7c200383220350450d000b0b200420044201868342808182848890a0c0807f8350450d02200d41086a220d20176a20167121170c000b0b02402011450d00201341002802a8bfd38000118080808000000b02402009417c6a2214280200221741004e0d000240200941706a2219280200450d00200941746a28020041002802a8bfd3800011808080800000201428020021170b20192010360200200941786a200e360200200941746a200f3602002014201720126a36020020070d020c030b2014201720126a36020002402010450d00200f41002802a8bfd38000118080808000000b20070d010c020b2002200e3602142002200f3602102002201036020c20022012360218200220143602082002201336020420022011360200200020152002200c10f98480800020070d000b0b02402005450d00200842ffffffff0f83500d002008422088a741002802a8bfd38000118080808000000b02402001280238450d00200128023c41002802a8bfd38000118080808000000b200241206a2480808080000b9c0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c200542073702242005419de2c180003602202005410636021c200541fafac18000360218200541ff8080800036021020054296e397c6bfa5aeee4637030841002d00b8bfd380001a20042802042106200428020821070240411841002802b0bfd38000118280808000002208450d00200841106a41002902f4f4c18000370200200841086a41002902ecf4c18000370200200841002902e4f4c180003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541033602142005200836021020054281808080303702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104411841bccfc2800010ae80808000000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d0020094100290380aec2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a2205410d3a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903c8adc2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541083a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542bbb29bdbe58c978c523703002005420437022c200542f400370224200541fbd2c28000360220200541003602182005418181808000360210200542f09accaef398c8da2337030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d0020094100290388b5c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541073a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542d1f3edc2da85aa849d7f3703002005410036023020054280808080c00037032820054100360220200541003602182005418281808000360210200542ac84afa0eaa7faab0137030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903a8b3c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541093a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410736021c2005418284c28000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410c36021c200541b6b7c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410c36021c200541b6b7c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d0020094100290388b0c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541003a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000be10501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b8918080002004280218220542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200441086a41086a220641013602002005420437022c2005420337022420054187fbc180003602202005410936021c200541808ec28000360218200541b38080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420b370224200541b18ec280003602202005410d36021c200541a48ec280003602182005418381808000360210200542b0d988acc7ec87a1f20037030820054292b2fdc9aa83bbd1f4003703000c010b200441086a41e0e1c1800010b891808000200428020c200741386c6a2205420437022c2005420b370224200541b18ec280003602202005410d36021c200541a48ec280003602182005418381808000360210200542b0d988acc7ec87a1f20037030820054292b2fdc9aa83bbd1f400370300200428020c2109200428020821080b41002d00b8bfd380001a0240413041002802b0bfd38000118280808000002206450d00200641286a41002902ec8ac28000370200200641206a41002902e48ac28000370200200641186a41002902dc8ac28000370200200641106a41002902d48ac28000370200200641086a41002902cc8ac28000370200200641002902c48ac2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541003a00202005200336021c2005200236021820054106360214200520063602102005410636020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104413041bccfc2800010ae80808000000b8d0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054282a1a9c9eea2b5c92f3703082005428ae6f3f7c78ea4cfd100370300200441086a41086a220641013602002005420437022c200542073702242005419fedc180003602202005410936021c20054196edc18000360218200541b48080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420d3702242005419784c280003602202005410536021c200541aa84c280003602182005418481808000360210200542cca2f7a9c98cb281c400370308200542b1c39a89aa9fd69cc2003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420d3702242005419784c280003602202005410536021c200541aa84c280003602182005418481808000360210200542cca2f7a9c98cb281c400370308200542b1c39a89aa9fd69cc200370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903a883c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541073a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000bbf0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054299f9eea68ae9918f897f370308200542939b9bfb8e8dcfaf817f370300200441086a41086a220641013602002005420437022c20054214370224200541abe8c180003602202005410336021c200541e2e8c18000360218200541858180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005421f370224200541c3e8c180003602202005410436021c200541bfe8c180003602182005418681808000360210200542e1a2a48bf08199db02370308200542e982dbf0d981db979b7f3703000c010b200441086a41e0e1c1800010b891808000200428020c200741386c6a2205420437022c2005421f370224200541c3e8c180003602202005410436021c200541bfe8c180003602182005418681808000360210200542e1a2a48bf08199db02370308200542e982dbf0d981db979b7f370300200428020c2109200428020821080b41002d00b8bfd380001a0240412041002802b0bfd38000118280808000002206450d00200641186a41002902f4e6c18000370200200641106a41002902ece6c18000370200200641086a41002902e4e6c18000370200200641002902dce6c1800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541033a00202005200336021c2005200236021820054104360214200520063602102005410436020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104412041bccfc2800010ae80808000000bfb0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e4bdf1e8c1f1c6cf8d7f3703002005420437022c2005420c37022420054198ebc180003602202005410736021c2005418284c28000360218200541808180800036021020054298c69af39cdb87a7917f37030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903b082c280003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541043a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000bfa0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c200542073702242005419de2c180003602202005410436021c200541f6fac18000360218200541ff8080800036021020054296e397c6bfa5aeee4637030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903c0edc180003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541023a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903c8b4c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a2205410a3a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542efc9c9edb5e7b3a6c7003703002005410036023020054280808080c00037032820054100360220200541003602182005418781808000360210200542acf6debeefe0d9c8d30037030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bd10501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b8918080002004280218220542e1a2a48bf08199db02370308200542e982dbf0d981db979b7f370300200441086a41086a220641013602002005420437022c2005421f370224200541c3e8c180003602202005410436021c200541bfe8c18000360218200541868180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c20054206370224200541a2e8c180003602202005410636021c2005419ce8c180003602182005418881808000360210200542f7c2afbed8aff8dbba7f370308200542c4e4baf8df8dda95c1003703000c010b200441086a41e0e1c1800010b891808000200428020c200741386c6a2205420437022c20054206370224200541a2e8c180003602202005410636021c2005419ce8c180003602182005418881808000360210200542f7c2afbed8aff8dbba7f370308200542c4e4baf8df8dda95c100370300200428020c2109200428020821080b41002d00b8bfd380001a0240412841002802b0bfd38000118280808000002206450d00200641206a4100290294e8c18000370200200641186a410029028ce8c18000370200200641106a4100290284e8c18000370200200641086a41002902fce7c18000370200200641002902f4e7c1800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541013a00202005200336021c2005200236021820054105360214200520063602102005410536020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104412841bccfc2800010ae80808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542f7b1fbfcfa8db5ea2b3703002005420437022c200542ec0037022420054194d8c28000360220200541003602182005418981808000360210200542dd80a1b0aabbd7e4cc0037030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903f0b5c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541053a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b89180800020042802082205429be990aad1c1cdff5c3703002005410036023020054280808080c00037032820054100360220200541003602182005418a81808000360210200542a88d8de795a6a89a6f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903f8acc2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541133a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b891808000200428020822054298d8a7b2caadf5de123703002005420437022c200542eb0037022420054190d2c28000360220200541003602182005418b81808000360210200542f9c8e99d91fa808f1f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542d6c6e8afe48cb0c3b37f3703002005410036023020054280808080c00037032820054100360220200541003602182005418c81808000360210200542cabefaafb4e8da84f50037030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b8918080002004280218220542f7c2afbed8aff8dbba7f370308200542c4e4baf8df8dda95c100370300200441086a41086a220641013602002005420437022c20054206370224200541a2e8c180003602202005410b36021c200541d5ccc28000360218200541888180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054211370224200541e8ccc280003602202005410836021c200541e0ccc28000360218200541b48080800036021020054282a1a9c9eea2b5c92f3703082005428ae6f3f7c78ea4cfd1003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c20054211370224200541e8ccc280003602202005410836021c200541e0ccc28000360218200541b48080800036021020054282a1a9c9eea2b5c92f3703082005428ae6f3f7c78ea4cfd100370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903f0c9c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541043a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542b8cce49f84d9c9da847f3703002005420437022c2005421c37022420054180d9c28000360220200541003602182005418d81808000360210200542c8e0d7d2b9f0b8856a37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bfa0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542f3fee5add4c78eeadc003703002005420437022c20054215370224200541eb8dc280003602202005410736021c200541e48dc280003602182005418e81808000360210200542a4b8dcf3ae80abbe5e37030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903a085c280003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542bb82a2f99fad8c91c1003703002005410036023020054280808080c0003703282005410036022020054100360218200541e780808000360210200542d9d1a5958acddccda77f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bfb0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e4bdf1e8c1f1c6cf8d7f3703002005420437022c2005420c37022420054198ebc180003602202005410736021c2005418284c28000360218200541808180800036021020054298c69af39cdb87a7917f37030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903d882c280003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542c18b8eb39ececb99de003703002005410036023020054280808080c00037032820054100360220200541003602182005418f81808000360210200542f285eecfab8efdf27a37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bbc0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe400370300200441086a41086a220641013602002005420437022c2005420337022420054190fbc180003602202005410636021c2005418afbc18000360218200541ff8080800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420337022420054187fbc180003602202005410736021c20054180fbc18000360218200541b380808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc133703000c010b200441086a41e0e1c1800010b891808000200428020c200741386c6a2205420437022c2005420337022420054187fbc180003602202005410736021c20054180fbc18000360218200541b380808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200428020c2109200428020821080b41002d00b8bfd380001a0240412041002802b0bfd38000118280808000002206450d00200641186a41002902c4efc18000370200200641106a41002902bcefc18000370200200641086a41002902b4efc18000370200200641002902acefc1800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541063a00202005200336021c2005200236021820054104360214200520063602102005410436020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104412041bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542aadbb795f0a6cebe3e3703002005410036023020054280808080c00037032820054100360220200541003602182005419081808000360210200542f8eec1f3b18b88ea3637030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bfa0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e987d8bed5a3d0fbfb003703002005420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b37030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903e0b1c280003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541103a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000bfa0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054213370224200541cabfc280003602202005410d36021c200541a0d0c28000360218200541ff8080800036021020054296e397c6bfa5aeee4637030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d0020084100290398d0c280003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903d0afc2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541123a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542f9fb9c9199c8c3f3917f3703002005420437022c200542e900370224200541bcd6c28000360220200541003602182005419181808000360210200542edc496abb3a887f8c50037030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541053a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542b180d7cde8bdaea6c7003703002005420437022c200542ed00370224200541cfd5c28000360220200541003602182005419281808000360210200542c8fa87c7a1bcb5ae3437030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8b0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b8918080002004280218220542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200441086a41086a220641013602002005420437022c2005420a370224200541cda6c280003602202005410336021c200541d0ebc18000360218200541e88080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410336021c200541a8e8c18000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410336021c200541a8e8c18000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903c0b2c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541153a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000bf00501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b8918080002004280218220542979ccdaaf0e5eac138370308200542c8dc9cd4d6b4aa864b370300200441086a41086a220641013602002005420437022c2005420a370224200541cda6c280003602202005410536021c200541c8a6c28000360218200541938180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420437022420054192edc180003602202005410a36021c200541fba6c28000360218200541f280808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba1743703000c010b200441086a41e0e1c1800010b891808000200428020c200741386c6a2205420437022c2005420437022420054192edc180003602202005410a36021c200541fba6c28000360218200541f280808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba174370300200428020c2109200428020821080b41002d00b8bfd380001a0240413841002802b0bfd38000118280808000002205450d00200541306a41002902d09fc28000370200200541286a41002902c89fc28000370200200541206a41002902c09fc28000370200200541186a41002902b89fc28000370200200541106a41002902b09fc28000370200200541086a41002902a89fc28000370200200541002902a09fc2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a2206410a3a00202006200336021c2006200236021820064107360214200620053602102006410736020c2006200741016a3602082006200936020420062008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104413841bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b89180800020042802082205429997cc8fdaa9d184a87f3703002005420437022c2005420c370224200541a4e2c18000360220200541003602182005419481808000360210200542c1d8d8ce8bf6d6e42537030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bac0601077f23808080800041206b220424808080800041002d00b8bfd380001a2004410036021c200442808080808001370214024002400240410841002802b0bfd38000118280808000002205450d0020054100290398ecc18000370200200441146a41e0e1c1800010b8918080002004280218220642f8d1acd6cd92e3cc44370308200642d595a0c6efdb9fb6eb00370300200641013602302006200536022c2006429480808010370224200641d3ebc180003602202006410336021c200641d0ebc180003602182006419581808000360210200441086a41086a41013602002004200429021437030841002d00b8bfd380001a410841002802b0bfd38000118280808000002205450d01200541002903c8ebc18000370200024002402004280210220720042802082208460d00200428020c2209200741386c6a220641013602302006200536022c2006428c8080801037022420064198ebc180003602202006410336021c200641a8e8c18000360218200641808180800036021020064298c69af39cdb87a7917f370308200642e4bdf1e8c1f1c6cf8d7f3703000c010b200441086a41e0e1c1800010b891808000200428020c200741386c6a220641013602302006200536022c2006428c8080801037022420064198ebc180003602202006410336021c200641a8e8c18000360218200641808180800036021020064298c69af39cdb87a7917f370308200642e4bdf1e8c1f1c6cf8d7f370300200428020c2109200428020821080b41002d00b8bfd380001a410841002802b0bfd38000118280808000002205450d02200541002903b0e9c1800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220641013a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200936020420062008360200200041086a200a41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000b4104410841bccfc2800010ae80808000000b4104410841bccfc2800010ae80808000000bc80301067f23808080800041106b22042480808080002004410036020c20044280808080800137020441002d00b8bfd380001a02400240410841002802b0bfd38000118280808000002205450d0020054100290390ebc18000370200200441046a41e0e1c1800010b8918080002004280208220642d1f3edc2da85aa849d7f370300200641013602302006200536022c2006428e80808010370224200641d3eac180003602202006410b36021c200641c8eac180003602182006418281808000360210200642ac84afa0eaa7faab0137030841002d00b8bfd380001a2004280204210720042802082108410841002802b0bfd38000118280808000002205450d01200541002903f0e9c180003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220641033a00202006200336021c20062002360218200641013602142006200536021020064281808080103702082006200836020420062007360200200041086a200941016a2206360200200141086a200636020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000b4104410841bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542bbeefa98e893a7ad023703002005410036023020054280808080c00037032820054100360220200541003602182005419681808000360210200542eef8e7b09dc4b6b53f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bf40301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542a08292a0e2ba9cea6d3703002005420437022c20054211370224200541e2a6c280003602202005410336021c200541e2e8c1800036021820054197818080003602102005428786bbbb88fd88b1d20037030841002d00b8bfd380001a2004280204210620042802082107024041c00041002802b0bfd38000118280808000002205450d00200541386a41002902c8a3c28000370200200541306a41002902c0a3c28000370200200541286a41002902b8a3c28000370200200541206a41002902b0a3c28000370200200541186a41002902a8a3c28000370200200541106a41002902a0a3c28000370200200541086a4100290298a3c2800037020020054100290290a3c280003702000240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220941063a00202009200336021c2009200236021820094108360214200920053602102009428180808080013702082009200736020420092006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441c00041bccfc2800010ae80808000000bdf0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054299f9eea68ae9918f897f370308200542939b9bfb8e8dcfaf817f370300200441086a41086a220641013602002005420437022c20054214370224200541abe8c180003602202005410436021c200541c4a6c28000360218200541858180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541cda6c280003602202005410536021c200541c8a6c280003602182005419381808000360210200542979ccdaaf0e5eac138370308200542c8dc9cd4d6b4aa864b3703000c010b200441086a41e0e1c1800010b891808000200428020c200741386c6a2205420437022c2005420a370224200541cda6c280003602202005410536021c200541c8a6c280003602182005419381808000360210200542979ccdaaf0e5eac138370308200542c8dc9cd4d6b4aa864b370300200428020c2109200428020821080b41002d00b8bfd380001a0240413041002802b0bfd38000118280808000002206450d00200641286a41002902bca6c28000370200200641206a41002902b4a6c28000370200200641186a41002902aca6c28000370200200641106a41002902a4a6c28000370200200641086a410029029ca6c2800037020020064100290294a6c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541033a00202005200336021c2005200236021820054106360214200520063602102005410636020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104413041bccfc2800010ae80808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542aceff0b4f2bd8f8fe4003703002005410036023020054280808080c0003703282005410036022020054100360218200541ff8080800036021020054296e397c6bfa5aeee4637030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b891808000200428020822054287aadc85b2cbefae4b3703002005420437022c2005421e37022420054185dac28000360220200541003602182005419881808000360210200542ac99e6c2bf98a1b6837f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542d3919c93b889f0efe8003703002005420437022c2005421f370224200541cbd9c28000360220200541003602182005419981808000360210200542baa4e4e197bfbfc46e37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bac0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054299f9eea68ae9918f897f370308200542939b9bfb8e8dcfaf817f370300200441086a41086a220641013602002005420437022c20054214370224200541abe8c180003602202005410336021c200541e2e8c18000360218200541858180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541cda6c280003602202005410836021c200541f3a6c280003602182005419381808000360210200542979ccdaaf0e5eac138370308200542c8dc9cd4d6b4aa864b3703000c010b200441086a41e0e1c1800010b891808000200428020c200741386c6a2205420437022c2005420a370224200541cda6c280003602202005410836021c200541f3a6c280003602182005419381808000360210200542979ccdaaf0e5eac138370308200542c8dc9cd4d6b4aa864b370300200428020c2109200428020821080b41002d00b8bfd380001a0240411841002802b0bfd38000118280808000002206450d00200641106a41002902b49bc28000370200200641086a41002902ac9bc28000370200200641002902a49bc2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541083a00202005200336021c2005200236021820054103360214200520063602102005410336020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104411841bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b89180800020042802082205428adbc7a0d0abe0c0917f3703002005420437022c2005422a370224200541a8dbc28000360220200541003602182005419a81808000360210200542e1939da2d58a94b26a37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541063a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bd10301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542d1b7cad1fcf7c4b6847f3703002005420437022c20054208370224200541908ec280003602202005410c36021c200541988ec28000360218200541f380808000360210200542c0ce84fcacdaaac8947f37030841002d00b8bfd380001a20042802042106200428020821070240413041002802b0bfd38000118280808000002205450d00200541286a410029029888c28000370200200541206a410029029088c28000370200200541186a410029028888c28000370200200541106a410029028088c28000370200200541086a41002902f887c28000370200200541002902f087c280003702000240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220941043a00202009200336021c20092002360218200941063602142009200536021020094281808080e0003702082009200736020420092006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104413041bccfc2800010ae80808000000b830301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542abdde2aa93eeee88f5003703002005420437022c2005421537022420054188c5c280003602202005410436021c200541c7ecc180003602182005419b81808000360210200542f9afadd6ea998fb4c90037030841002d00b8bfd380001a2004280204210620042802082107024041c80041002802b0bfd38000118280808000002205450d00200541c0c4c2800041c80010e99680800021080240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541003a00202005200336021c2005200236021820054109360214200520083602102005428180808090013702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441c80041bccfc2800010ae80808000000b9d0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542d1b7cad1fcf7c4b6847f3703002005420437022c20054208370224200541908ec280003602202005410736021c200541bc8ec28000360218200541f380808000360210200542c0ce84fcacdaaac8947f37030841002d00b8bfd380001a20042802042106200428020821070240411841002802b0bfd38000118280808000002208450d00200841106a41002902b086c28000370200200841086a41002902a886c28000370200200841002902a086c280003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541013a00202005200336021c20052002360218200541033602142005200836021020054281808080303702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104411841bccfc2800010ae80808000000b9d0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410736021c2005418284c28000360218200541808180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200741386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2109200428020821080b41002d00b8bfd380001a0240411041002802b0bfd38000118280808000002206450d00200641086a4100290288b1c2800037020020064100290280b1c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541013a00202005200336021c2005200236021820054102360214200520063602102005410236020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104411041bccfc2800010ae80808000000bb10603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41e0e1c1800010b891808000200428021422064298c69af39cdb87a7917f370308200642e4bdf1e8c1f1c6cf8d7f370300200441086a220741013602002006420437022c2006420c37022420064198ebc180003602202006410336021c200641e2e8c180003602182006418081808000360210200420042902103703000240200728020022072004280200470d00200441e0e1c1800010b8918080000b2004280204200741386c6a2206420437022c2006420c370224200641ddbfc280003602202006410a36021c200641e8c0c28000360218200641e880808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420c370224200641ddbfc280003602202006410336021c200641f2c0c28000360218200641e880808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441106a41e0e1c1800010b8918080002004280214200741386c6a2206420437022c2006420c370224200641ddbfc280003602202006410336021c200641f2c0c28000360218200641e880808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703002004280214210a200428021021090b41002d00b8bfd380001a0240411041002802b0bfd38000118280808000002205450d00200541086a41002902e0c0c28000370200200541002902d8c0c2800037020002402001280208220b2001280200470d00200141d0e1c1800010af968080000b2001280204200b41246c6a220641003a00202006200336021c2006200236021820064102360214200620053602102006410236020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104411041bccfc2800010ae80808000000be20301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542d1b7cad1fcf7c4b6847f3703002005420437022c20054208370224200541908ec280003602202005410736021c200541898ec28000360218200541f380808000360210200542c0ce84fcacdaaac8947f37030841002d00b8bfd380001a20042802042106200428020821070240413841002802b0bfd38000118280808000002205450d00200541306a41002902dc8dc28000370200200541286a41002902d48dc28000370200200541206a41002902cc8dc28000370200200541186a41002902c48dc28000370200200541106a41002902bc8dc28000370200200541086a41002902b48dc28000370200200541002902ac8dc280003702000240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220941023a00202009200336021c20092002360218200941073602142009200536021020094281808080f0003702082009200736020420092006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104413841bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542b0df8adbf6d8aab6d7003703002005420437022c2005421f370224200541eedac28000360220200541003602182005419c818080003602102005428c87f6cabb9498c64a37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542f9e2fba5ced7aaeb2f3703002005420437022c20054215370224200541d2dbc28000360220200541003602182005419d81808000360210200542d2c3c5dfd9edb5847d37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903a8b5c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541143a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000bae0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054299f9eea68ae9918f897f370308200542939b9bfb8e8dcfaf817f370300200441086a41086a220641013602002005420437022c20054214370224200541abe8c180003602202005410336021c200541e2e8c18000360218200541858180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200741386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2109200428020821080b41002d00b8bfd380001a0240411841002802b0bfd38000118280808000002206450d00200641106a41002902a8a4c28000370200200641086a41002902a0a4c2800037020020064100290298a4c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541053a00202005200336021c2005200236021820054103360214200520063602102005410336020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104411841bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e88488d0c0e3aebc133703002005410036023020054280808080c0003703282005410036022020054100360218200541b380808000360210200542d7c9cb8fc1cf97db3e37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bf90201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e88488d0c0e3aebc133703002005420437022c20054215370224200541a9cdc280003602202005411536021c20054194cdc28000360218200541b380808000360210200542d7c9cb8fc1cf97db3e37030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d0020084100290390ccc280003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541013a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000b930501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054299f9eea68ae9918f897f370308200542939b9bfb8e8dcfaf817f370300200441086a41086a220641013602002005420437022c20054214370224200541abe8c180003602202005410436021c200541c4a6c28000360218200541858180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420437022420054192edc180003602202005410a36021c200541fba6c28000360218200541f280808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba1743703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420437022420054192edc180003602202005410a36021c200541fba6c28000360218200541f280808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba174370300200428020c2108200428020821070b41002d00b8bfd380001a024041f80041002802b0bfd38000118280808000002205450d00200541e496c2800041f80010e996808000210902402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541043a00202005200336021c200520023602182005410f360214200520093602102005410f36020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b410441f80041bccfc2800010ae80808000000b8e0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b8918080002004280218220542cca2f7a9c98cb281c400370308200542b1c39a89aa9fd69cc200370300200441086a41086a220641013602002005420437022c2005420d3702242005419784c280003602202005410e36021c2005418984c28000360218200541848180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054211370224200541f183c280003602202005410d36021c200541e483c280003602182005419e81808000360210200542eafdfa9ea5b682b4987f37030820054289c386dbb2faff95d8003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c20054211370224200541f183c280003602202005410d36021c200541e483c280003602182005419e81808000360210200542eafdfa9ea5b682b4987f37030820054289c386dbb2faff95d800370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903a081c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541013a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b89180800020042802082205428ae6f3f7c78ea4cfd1003703002005410036023020054280808080c0003703282005410036022020054100360218200541b48080800036021020054282a1a9c9eea2b5c92f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bfa0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e982dbf0d981db979b7f3703002005420437022c2005421f370224200541c3e8c180003602202005410436021c200541bfe8c180003602182005418681808000360210200542e1a2a48bf08199db0237030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903e8e4c180003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000bfa0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542bea0bfe7cfca97e5b57f3703002005420437022c2005420d370224200541e9fac180003602202005410536021c200541e4fac180003602182005419f81808000360210200542a6b7fac4ba94c98d2537030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903e0f6c180003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541043a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903e8b3c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541043a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000bae0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c200542073702242005419de2c180003602202005410436021c200541f6fac18000360218200541ff8080800036021020054296e397c6bfa5aeee4637030841002d00b8bfd380001a20042802042106200428020821070240412041002802b0bfd38000118280808000002208450d00200841186a41002902b8f6c18000370200200841106a41002902b0f6c18000370200200841086a41002902a8f6c18000370200200841002902a0f6c180003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541043602142005200836021020054281808080c0003702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104412041bccfc2800010ae80808000000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d0020094100290398b4c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a2205410b3a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000b8c0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542939b9bfb8e8dcfaf817f3703002005420437022c20054214370224200541abe8c180003602202005410336021c200541a8e8c18000360218200541858180800036021020054299f9eea68ae9918f897f37030841002d00b8bfd380001a20042802042106200428020821070240411041002802b0bfd38000118280808000002208450d00200841086a4100290290e4c1800037020020084100290288e4c180003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541023a00202005200336021c20052002360218200541023602142005200836021020054281808080203702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104411041bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542c683ecdad7b7cee11c3703002005420437022c2005421b3702242005418ddbc2800036022020054100360218200541a081808000360210200542e4c5a3d2899fbccd9c7f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541053a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b89180800020042802082205428ff9f7cbc0adc4c0613703002005410036023020054280808080c0003703282005410036022020054100360218200541a181808000360210200542ab83dfd99683ccab987f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903d8acc2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541113a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000bfb0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e78cf08ea884e486dd003703002005420437022c20054208370224200541dcfac180003602202005410436021c200541d8fac18000360218200541a28180800036021020054284d8dde1abe5b282977f37030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903b0fac180003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541053a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000ba10603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41e0e1c1800010b891808000200428021422064298c69af39cdb87a7917f370308200642e4bdf1e8c1f1c6cf8d7f370300200441086a220741013602002006420437022c2006420c37022420064198ebc180003602202006410436021c200641b2b7c280003602182006418081808000360210200420042902103703000240200728020022072004280200470d00200441e0e1c1800010b8918080000b2004280204200741386c6a2206420437022c2006420c37022420064198ebc180003602202006410236021c200641b0b7c28000360218200641808180800036021020064298c69af39cdb87a7917f370308200642e4bdf1e8c1f1c6cf8d7f3703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420a370224200641cda6c280003602202006410636021c200641b384c28000360218200641e880808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703000c010b200441106a41e0e1c1800010b8918080002004280214200741386c6a2206420437022c2006420a370224200641cda6c280003602202006410636021c200641b384c28000360218200641e880808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb003703002004280214210a200428021021090b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002205450d00200541002903a8b7c2800037020002402001280208220b2001280200470d00200141d0e1c1800010af968080000b2001280204200b41246c6a220641023a00202006200336021c2006200236021820064101360214200620053602102006410136020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410436021c200541fe8fc28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410436021c200541fe8fc28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d0020094100290388b2c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541033a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000bf00501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054299f9eea68ae9918f897f370308200542939b9bfb8e8dcfaf817f370300200441086a41086a220641013602002005420437022c20054214370224200541abe8c180003602202005410436021c200541c4a6c28000360218200541858180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541cda6c280003602202005410536021c200541c8a6c280003602182005419381808000360210200542979ccdaaf0e5eac138370308200542c8dc9cd4d6b4aa864b3703000c010b200441086a41e0e1c1800010b891808000200428020c200741386c6a2205420437022c2005420a370224200541cda6c280003602202005410536021c200541c8a6c280003602182005419381808000360210200542979ccdaaf0e5eac138370308200542c8dc9cd4d6b4aa864b370300200428020c2109200428020821080b41002d00b8bfd380001a0240413841002802b0bfd38000118280808000002205450d00200541306a41002902c49ac28000370200200541286a41002902bc9ac28000370200200541206a41002902b49ac28000370200200541186a41002902ac9ac28000370200200541106a41002902a49ac28000370200200541086a410029029c9ac28000370200200541002902949ac2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220641003a00202006200336021c2006200236021820064107360214200620053602102006410736020c2006200741016a3602082006200936020420062008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104413841bccfc2800010ae80808000000bc80301067f23808080800041106b22042480808080002004410036020c20044280808080800137020441002d00b8bfd380001a02400240410841002802b0bfd38000118280808000002205450d0020054100290390ebc18000370200200441046a41e0e1c1800010b8918080002004280208220642d1f3edc2da85aa849d7f370300200641013602302006200536022c2006428e80808010370224200641d3eac180003602202006410b36021c200641c8eac180003602182006418281808000360210200642ac84afa0eaa7faab0137030841002d00b8bfd380001a2004280204210720042802082108410841002802b0bfd38000118280808000002205450d0120054100290398eac180003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220641003a00202006200336021c20062002360218200641013602142006200536021020064281808080103702082006200836020420062007360200200041086a200941016a2206360200200141086a200636020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000b4104410841bccfc2800010ae80808000000bfa0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e987d8bed5a3d0fbfb003703002005420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b37030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903a8afc280003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a2205410f3a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000b820301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c200542073702242005419de2c180003602202005410436021c200541f6fac18000360218200541ff8080800036021020054296e397c6bfa5aeee4637030841002d00b8bfd380001a2004280204210620042802082107024041c80041002802b0bfd38000118280808000002205450d0020054194f3c1800041c80010e99680800021080240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a2205410b3a00202005200336021c2005200236021820054109360214200520083602102005428180808090013702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441c80041bccfc2800010ae80808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e4bdf1e8c1f1c6cf8d7f3703002005410036023020054280808080c0003703282005410036022020054100360218200541808180800036021020054298c69af39cdb87a7917f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e4bdf1e8c1f1c6cf8d7f3703002005420437022c2005420937022420054194e2c1800036022020054100360218200541808180800036021020054298c69af39cdb87a7917f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542c5f6f6aafae388d49a7f3703002005420437022c2005421b370224200541ead9c2800036022020054100360218200541a381808000360210200542c190b696becaf9c72937030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541053a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542a285b8d09edad8baee003703002005420437022c200542f200370224200541ddd4c2800036022020054100360218200541a481808000360210200542b0b0cbe1be89ba894a37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b89180800020042802082205428fd3ebfded80fadcc7003703002005420437022c2005421c370224200541a3dac2800036022020054100360218200541a581808000360210200542ec8bfafa8192a6808f7f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bf40301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b89180800020042802082205428ae6f3f7c78ea4cfd1003703002005420437022c200542073702242005419fedc180003602202005410936021c20054196edc18000360218200541b48080800036021020054282a1a9c9eea2b5c92f37030841002d00b8bfd380001a2004280204210620042802082107024041c00041002802b0bfd38000118280808000002205450d00200541386a4100290288fac18000370200200541306a4100290280fac18000370200200541286a41002902f8f9c18000370200200541206a41002902f0f9c18000370200200541186a41002902e8f9c18000370200200541106a41002902e0f9c18000370200200541086a41002902d8f9c18000370200200541002902d0f9c180003702000240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a2209410a3a00202009200336021c2009200236021820094108360214200920053602102009428180808080013702082009200736020420092006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441c00041bccfc2800010ae80808000000bc80703047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41e0e1c1800010b891808000200428021422064298c69af39cdb87a7917f370308200642e4bdf1e8c1f1c6cf8d7f370300200441086a220741013602002006420437022c2006420c37022420064198ebc180003602202006410436021c200641b2b7c280003602182006418081808000360210200420042902103703000240200728020022072004280200470d00200441e0e1c1800010b8918080000b2004280204200741386c6a2206420437022c2006420c37022420064198ebc180003602202006410236021c200641b0b7c28000360218200641808180800036021020064298c69af39cdb87a7917f370308200642e4bdf1e8c1f1c6cf8d7f3703002005200741016a2207360200200420042903002208370310024020072008a7470d00200441106a41e0e1c1800010b8918080000b2004280214200741386c6a2206420437022c2006420a370224200641cda6c280003602202006410636021c200641b384c28000360218200641e880808000360210200642e2e68fceaa92ce9c7b370308200642e987d8bed5a3d0fbfb00370300200441086a200741016a22073602002004200429031022083703000240024020072008a72209460d002004280204220a200741386c6a2206420437022c20064206370224200641d4b7c280003602202006411236021c200641c2b7c28000360218200641a681808000360210200642d49e93cdb1f2d5f38a7f370308200642e8c1ade1aeee9582b47f3703000c010b200441e0e1c1800010b8918080002004280204200741386c6a2206420437022c20064206370224200641d4b7c280003602202006411236021c200641c2b7c28000360218200641a681808000360210200642d49e93cdb1f2d5f38a7f370308200642e8c1ade1aeee9582b47f3703002004280204210a200428020021090b41002d00b8bfd380001a0240411041002802b0bfd38000118280808000002205450d00200541086a410029028cb7c2800037020020054100290284b7c2800037020002402001280208220b2001280200470d00200141d0e1c1800010af968080000b2001280204200b41246c6a220641063a00202006200336021c2006200236021820064102360214200620053602102006410236020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104411041bccfc2800010ae80808000000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542bbeefa98e893a7ad023703002005420437022c20054208370224200541b0e2c18000360220200541003602182005419681808000360210200542eef8e7b09dc4b6b53f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e48ae8ebafc78eaa927f3703002005410036023020054280808080c0003703282005410036022020054100360218200541a781808000360210200542f690e19096bde9db0937030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bfb0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e4bdf1e8c1f1c6cf8d7f3703002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020054298c69af39cdb87a7917f37030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903e0b2c280003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a2205410e3a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000bf90201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542e88488d0c0e3aebc133703002005420437022c2005420337022420054187fbc180003602202005410536021c200541d0ccc28000360218200541b380808000360210200542d7c9cb8fc1cf97db3e37030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903b8cac280003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541033a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542b2e4bed691f0d682143703002005420437022c2005422f370224200541bfdac2800036022020054100360218200541a881808000360210200542e79cf5cf94e0d9e9c40037030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542a8d0d793afb8c3ab997f3703002005420437022c2005422f3702242005419cd9c2800036022020054100360218200541a98180800036021020054283e1cffc8f8991e70937030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bfb0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b891808000200428020822054289c386dbb2faff95d8003703002005420437022c20054211370224200541f183c280003602202005410d36021c200541e483c280003602182005419e81808000360210200542eafdfa9ea5b682b4987f37030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903d883c280003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c200542073702242005419de2c1800036022020054100360218200541ff8080800036021020054296e397c6bfa5aeee4637030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542b1c39a89aa9fd69cc2003703002005410036023020054280808080c00037032820054100360220200541003602182005418481808000360210200542cca2f7a9c98cb281c40037030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542a8b7e4fc879093e7ac7f3703002005420437022c20054208370224200541b8e2c1800036022020054100360218200541aa81808000360210200542a6ebd886b799bbb94f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bb00603047f017e037f23808080800041206b2204248080808000200441106a41086a22054100360200200442808080808001370210200441106a41e0e1c1800010b891808000200428021422064299f9eea68ae9918f897f370308200642939b9bfb8e8dcfaf817f370300200441086a220741013602002006420437022c20064214370224200641abe8c180003602202006410636021c200641dca6c280003602182006418581808000360210200420042902103703000240200728020022072004280200470d00200441e0e1c1800010b8918080000b2004280204200741386c6a2206420437022c20064214370224200641abe8c180003602202006410436021c200641c4a6c28000360218200641858180800036021020064299f9eea68ae9918f897f370308200642939b9bfb8e8dcfaf817f3703002005200741016a22073602002004200429030022083703100240024020072008a72209460d002004280214220a200741386c6a2206420437022c2006420a370224200641cda6c280003602202006410536021c200641c8a6c280003602182006419381808000360210200642979ccdaaf0e5eac138370308200642c8dc9cd4d6b4aa864b3703000c010b200441106a41e0e1c1800010b8918080002004280214200741386c6a2206420437022c2006420a370224200641cda6c280003602202006410536021c200641c8a6c280003602182006419381808000360210200642979ccdaaf0e5eac138370308200642c8dc9cd4d6b4aa864b3703002004280214210a200428021021090b41002d00b8bfd380001a0240411041002802b0bfd38000118280808000002205450d00200541086a41002902b09cc28000370200200541002902a89cc2800037020002402001280208220b2001280200470d00200141d0e1c1800010af968080000b2001280204200b41246c6a220641023a00202006200336021c2006200236021820064102360214200620053602102006410236020c2006200741016a3602082006200a36020420062009360200200041086a200b41016a2206360200200141086a200636020020002001290200370200200441206a2480808080000f0b4104411041bccfc2800010ae80808000000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b89180800020042802082205428b9dd0b9a6aeaf8b0c3703002005420437022c200542ef00370224200541a5d7c2800036022020054100360218200541ab81808000360210200542a18d9193ea8fddc6be7f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541073a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410336021c200541e2e8c18000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420a370224200541cda6c280003602202005410636021c200541b384c28000360218200541e880808000360210200542e2e68fceaa92ce9c7b370308200542e987d8bed5a3d0fbfb00370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903d0aec2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a2205410c3a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000bab0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c2005420d370224200541a4c5c280003602202005410736021c2005419dc5c28000360218200541ff8080800036021020054296e397c6bfa5aeee4637030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bfa0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c200542073702242005419de2c180003602202005410636021c200541fafac18000360218200541ff8080800036021020054296e397c6bfa5aeee4637030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903f8efc180003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541073a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000bfa0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b891808000200428020822054293888c8f89fdc6ec9e7f3703002005420437022c2005420337022420054198fbc180003602202005410536021c20054193fbc18000360218200541e980808000360210200542a5e9e3ab9e929adc2c37030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903a0f4c180003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541013a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000b820301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b89180800020042802082205429689d19c9dddeae3d0003703002005420437022c20054209370224200541ebbec280003602202005410336021c200541e8bec28000360218200541ac8180800036021020054288f9c7d083eedee26c37030841002d00b8bfd380001a2004280204210620042802082107024041980141002802b0bfd38000118280808000002205450d00200541d0bdc2800041980110e99680800021080240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541003a00202005200336021c20052002360218200541133602142005200836021020054281808080b0023702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b410441980141bccfc2800010ae80808000000bae0301067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b89180800020042802082205428ae6f3f7c78ea4cfd1003703002005420437022c200542073702242005419fedc180003602202005410936021c20054196edc18000360218200541b48080800036021020054282a1a9c9eea2b5c92f37030841002d00b8bfd380001a20042802042106200428020821070240412041002802b0bfd38000118280808000002208450d00200841186a41002902d0fac18000370200200841106a41002902c8fac18000370200200841086a41002902c0fac18000370200200841002902b8fac180003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541093a00202005200336021c20052002360218200541043602142005200836021020054281808080c0003702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104412041bccfc2800010ae80808000000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542c982be88d19fa5cbf1003703002005420437022c200542ee00370224200541efd3c2800036022020054100360218200541ad81808000360210200542bf8988bda2e6f5939a7f37030820042802042106200428020821070240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bcd0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054291868b8ddbdca2c1db00370308200542dda5bd97f7f7bd890e370300200441086a41086a220641013602002005420437022c200542133702242005418ea7c280003602202005410936021c20054185a7c28000360218200541ae8180800036021020042004290214370308024002402006280200220720042802082208460d00200428020c2209200741386c6a2205420437022c2005420a370224200541cda6c280003602202005410536021c200541d7a6c280003602182005419381808000360210200542979ccdaaf0e5eac138370308200542c8dc9cd4d6b4aa864b3703000c010b200441086a41e0e1c1800010b891808000200428020c200741386c6a2205420437022c2005420a370224200541cda6c280003602202005410536021c200541d7a6c280003602182005419381808000360210200542979ccdaaf0e5eac138370308200542c8dc9cd4d6b4aa864b370300200428020c2109200428020821080b41002d00b8bfd380001a0240412841002802b0bfd38000118280808000002206450d00200641206a41002902f0a0c28000370200200641186a41002902e8a0c28000370200200641106a41002902e0a0c28000370200200641086a41002902d8a0c28000370200200641002902d0a0c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541093a00202005200336021c2005200236021820054105360214200520063602102005410536020c2005200741016a3602082005200936020420052008360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104412841bccfc2800010ae80808000000bfa0201067f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41e0e1c1800010b8918080002004280208220542fcc6e4c9c5aad7f7817f3703002005420437022c2005420f37022420054185cdc280003602202005410c36021c200541f9ccc28000360218200541af81808000360210200542bfbd94d2b1b4cff45537030841002d00b8bfd380001a20042802042106200428020821070240410841002802b0bfd38000118280808000002208450d00200841002903c8ccc280003702000240200128020822092001280200470d00200141d0e1c1800010af968080000b2001280204200941246c6a220541053a00202005200336021c20052002360218200541013602142005200836021020054281808080103702082005200736020420052006360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441106a2480808080000f0b4104410841bccfc2800010ae80808000000b8c0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054298c69af39cdb87a7917f370308200542e4bdf1e8c1f1c6cf8d7f370300200441086a41086a220641013602002005420437022c2005420c37022420054198ebc180003602202005410636021c200541a484c28000360218200541808180800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c200542073702242005419fedc180003602202005410436021c200541e083c28000360218200541b48080800036021020054282a1a9c9eea2b5c92f3703082005428ae6f3f7c78ea4cfd1003703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c200542073702242005419fedc180003602202005410436021c200541e083c28000360218200541b48080800036021020054282a1a9c9eea2b5c92f3703082005428ae6f3f7c78ea4cfd100370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d002009410029039082c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541053a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000b8b0501077f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a41e0e1c1800010b891808000200428021822054282a1a9c9eea2b5c92f3703082005428ae6f3f7c78ea4cfd100370300200441086a41086a220641013602002005420437022c200542073702242005419fedc180003602202005410936021c20054196edc18000360218200541b48080800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c2005420437022420054192edc180003602202005410d36021c20054185edc18000360218200541f280808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba1743703000c010b200441086a41e0e1c1800010b891808000200428020c200641386c6a2205420437022c2005420437022420054192edc180003602202005410d36021c20054185edc18000360218200541f280808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba174370300200428020c2108200428020821070b41002d00b8bfd380001a0240410841002802b0bfd38000118280808000002209450d00200941002903c881c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220541063a00202005200336021c2005200236021820054101360214200520093602102005410136020c2005200641016a3602082005200836020420052007360200200041086a200a41016a2205360200200141086a200536020020002001290200370200200441206a2480808080000f0b4104410841bccfc2800010ae80808000000b1e00200128021c41e7dbc280004110200128022028020c118180808000000bdb05010f7f23808080800041f0006b22032480808080004100210402402000280200220520002802042206460d0020002802102107200028020c210820002802082109200341cc006a41086a210a200341cc006a410172210b034020002005410c6a220c360200024020082802002009490d000240024020052802004102470d004102210d0c010b200341cc006a200510c284808000200341c8006a41026a2205200b41026a2d00003a0000200341286a41086a220e200a41086a290200370300200341286a41106a220f200a41106a290200370300200341286a41186a2210200a41186a2802003602002003200b2f00003b01482003200a29020037032820032802502111024020032d004c220d4102460d00200341246a41026a20052d00003a0000200341086a41086a200e290300370300200341086a41106a200f290300370300200341086a41186a2010280200360200200320032f01483b0124200320032903283703080c010b024020022802002205450d000240024002400240200528020041fcffffff076a220c4103200c4105491b0e0403030102000b2005280204450d02200528020841002802a8bfd38000118080808000000c020b2005280204450d01200528020841002802a8bfd38000118080808000000c010b200510f5858080000b200541002802a8bfd38000118080808000000b20022011360200410121042000200941016a3602080c030b02402007280208220e2007280200470d00200741d4f0c280001098828080000b2007280204200e41246c6a220520032f01243b00012005200d3a00002005201136020420052003290308370208200541036a200341246a41026a2d00003a0000200541106a200341086a41086a290300370200200541186a200341086a41106a290300370200200541206a200341086a41186a2802003602002007200e41016a3602080b2000200941016a2209360208200c2105200c2006470d000b0b200341f0006a24808080800020040bc00101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020841002802a8bfd38000118080808000000c030b2000280204450d02200028020841002802a8bfd38000118080808000000c020b200010f5858080000c010b2001450d01200028020421000b200041002802a8bfd38000118080808000000b0bdb05010f7f23808080800041f0006b22032480808080004100210402402000280200220520002802042206460d0020002802102107200028020c210820002802082109200341cc006a41086a210a200341cc006a410172210b034020002005410c6a220c360200024020082802002009490d000240024020052802004102470d004102210d0c010b200341cc006a200510c084808000200341c8006a41026a2205200b41026a2d00003a0000200341286a41086a220e200a41086a290200370300200341286a41106a220f200a41106a290200370300200341286a41186a2210200a41186a2802003602002003200b2f00003b01482003200a29020037032820032802502111024020032d004c220d4102460d00200341246a41026a20052d00003a0000200341086a41086a200e290300370300200341086a41106a200f290300370300200341086a41186a2010280200360200200320032f01483b0124200320032903283703080c010b024020022802002205450d000240024002400240200528020041fcffffff076a220c4103200c4105491b0e0403030102000b2005280204450d02200528020841002802a8bfd38000118080808000000c020b2005280204450d01200528020841002802a8bfd38000118080808000000c010b200510f5858080000b200541002802a8bfd38000118080808000000b20022011360200410121042000200941016a3602080c030b02402007280208220e2007280200470d00200741d4f0c280001098828080000b2007280204200e41246c6a220520032f01243b00012005200d3a00002005201136020420052003290308370208200541036a200341246a41026a2d00003a0000200541106a200341086a41086a290300370200200541186a200341086a41106a290300370200200541206a200341086a41186a2802003602002007200e41016a3602080b2000200941016a2209360208200c2105200c2006470d000b0b200341f0006a24808080800020040bdb05010f7f23808080800041f0006b22032480808080004100210402402000280200220520002802042206460d0020002802102107200028020c210820002802082109200341cc006a41086a210a200341cc006a410172210b034020002005410c6a220c360200024020082802002009490d000240024020052802004102470d004102210d0c010b200341cc006a200510c284808000200341c8006a41026a2205200b41026a2d00003a0000200341286a41086a220e200a41086a290200370300200341286a41106a220f200a41106a290200370300200341286a41186a2210200a41186a2802003602002003200b2f00003b01482003200a29020037032820032802502111024020032d004c220d4102460d00200341246a41026a20052d00003a0000200341086a41086a200e290300370300200341086a41106a200f290300370300200341086a41186a2010280200360200200320032f01483b0124200320032903283703080c010b024020022802002205450d000240024002400240200528020041fcffffff076a220c4103200c4105491b0e0403030102000b2005280204450d02200528020841002802a8bfd38000118080808000000c020b2005280204450d01200528020841002802a8bfd38000118080808000000c010b200510f5858080000b200541002802a8bfd38000118080808000000b20022011360200410121042000200941016a3602080c030b02402007280208220e2007280200470d00200741e4f0c280001098828080000b2007280204200e41246c6a220520032f01243b00012005200d3a00002005201136020420052003290308370208200541036a200341246a41026a2d00003a0000200541106a200341086a41086a290300370200200541186a200341086a41106a290300370200200541206a200341086a41186a2802003602002007200e41016a3602080b2000200941016a2209360208200c2105200c2006470d000b0b200341f0006a24808080800020040bdb05010f7f23808080800041f0006b22032480808080004100210402402000280200220520002802042206460d0020002802102107200028020c210820002802082109200341cc006a41086a210a200341cc006a410172210b034020002005410c6a220c360200024020082802002009490d000240024020052802004102470d004102210d0c010b200341cc006a200510c084808000200341c8006a41026a2205200b41026a2d00003a0000200341286a41086a220e200a41086a290200370300200341286a41106a220f200a41106a290200370300200341286a41186a2210200a41186a2802003602002003200b2f00003b01482003200a29020037032820032802502111024020032d004c220d4102460d00200341246a41026a20052d00003a0000200341086a41086a200e290300370300200341086a41106a200f290300370300200341086a41186a2010280200360200200320032f01483b0124200320032903283703080c010b024020022802002205450d000240024002400240200528020041fcffffff076a220c4103200c4105491b0e0403030102000b2005280204450d02200528020841002802a8bfd38000118080808000000c020b2005280204450d01200528020841002802a8bfd38000118080808000000c010b200510f5858080000b200541002802a8bfd38000118080808000000b20022011360200410121042000200941016a3602080c030b02402007280208220e2007280200470d00200741e4f0c280001098828080000b2007280204200e41246c6a220520032f01243b00012005200d3a00002005201136020420052003290308370208200541036a200341246a41026a2d00003a0000200541106a200341086a41086a290300370200200541186a200341086a41106a290300370200200541206a200341086a41186a2802003602002007200e41016a3602080b2000200941016a2209360208200c2105200c2006470d000b0b200341f0006a24808080800020040b1e00200128021c41f7dbc280004111200128022028020c118180808000000b3e0020004101360200024020052802002200450d0020042000118080808000000b02402005280204450d00200441002802a8bfd38000118080808000000b0b860101017f024002402001280208410f490d0041ef85cd800020012802042203410f10ed96808000450d010b20002802002001200210fc858080000f0b024020022802002200418080808078460d002000450d00200228020441002802a8bfd38000118080808000000b02402001280200450d00200341002802a8bfd38000118080808000000b0ba60905067f017e017f017e037f23808080800041106b220324808080800002402000280298012204418080808078460d00024020002802642205450d000240200028026c2206450d002000280260220741086a21082007290300427f8542808182848890a0c0807f8321090340024020094200520d000340200741a07e6a210720082903002109200841086a220a2108200942808182848890a0c0807f83220942808182848890a0c0807f510d000b200942808182848890a0c0807f852109200a21080b02402007410020097aa74103766b411c6c6a220a41646a280200450d00200a41686a28020041002802a8bfd38000118080808000000b2009427f7c210b0240200a41706a280200450d00200a41746a28020041002802a8bfd38000118080808000000b200b20098321092006417f6a22060d000b0b2005200541016aad421c7ea741076a41787122086a4177460d00200028026020086b41002802a8bfd38000118080808000000b2004450d00200028029c0141002802a8bfd38000118080808000000b2000418080808078360298014200210902402002280200418080808078460d00200235020821090b0240024002400240024002400240024020002802200d002000200029032842017c37032820002802300d012000200029033820097c37033841012108024020002d00e8024101460d00410021080c080b024020002802b401220c0d00417f21070c080b20002802b801210d0340200c41a07e6a2104200c41a4136a2108200c2f01aa14220e410c6c210a417f21060240024003400240200a0d00200e21060c020b2008280208210720082802042105200a41746a210a200641016a2106200441e0016a21042008410c6a2108417f4194dec2800020052007411020074110491b10ed968080002205411020076b20051b220741004720074100481b22074101460d000b200741ff0171450d010b200d450d08200d417f6a210d200c20064102746a41ac146a280200210c0c010b0b2004200428020041054b22084103746a2802002207450d020240200441046a220a280200200a20081b2007412c6c6a220741546a2206280200220841014b0d00200741586a22052802002104200741706a280200210a02402008410171450d002004200a460d010b2003200741646a36020c2003410c6a20082004200a10a8968080002005200a36020041012108200641013602000b4158210a02400240024002402008417e6a2208410220084102491b0e03010200010b4164210a0b2007200a6a22070d010b20002802000d042000200029030842017c3703082000280210450d074188f8cc8000108081808000000b20002802000d04200735020821092000200029030842017c37030820002802100d052000200029031820097c370318410121080240200728020841044f0d00417f21070c080b200728020428000021070c070b4198f8cc8000108081808000000b41a8f8cc8000108081808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b417f2107410121080b200041b4016a200120022008200710a196808000200341106a2480808080000bfe0101027f23808080800041206b2203248080808000410021040240024002400240024020024100480d00024020020d004101210441012001200210e9968080001a0c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022040d01410121040b2004200241d4efc2800010ae80808000000b20042001200210e99680800021012002410f490d0041ef85cd80002001410f10ed96808000450d010b20002802002101200320023602102003200436020c2003200236020820034180808080783602142001200341086a200341146a10fc858080000c010b200141002802a8bfd38000118080808000000b200341206a2480808080000b1300200028020020012002200310ff858080000bf70c05067f017e017f017e077f23808080800041206b220424808080800002402000280298012205418080808078460d00024020002802642206450d000240200028026c2207450d002000280260220841086a21092008290300427f8542808182848890a0c0807f83210a03400240200a4200520d000340200841a07e6a21082009290300210a200941086a220b2109200a42808182848890a0c0807f83220a42808182848890a0c0807f510d000b200a42808182848890a0c0807f85210a200b21090b024020084100200a7aa74103766b411c6c6a220b41646a280200450d00200b41686a28020041002802a8bfd38000118080808000000b200a427f7c210c0240200b41706a280200450d00200b41746a28020041002802a8bfd38000118080808000000b200c200a83210a2007417f6a22070d000b0b2006200641016aad421c7ea741076a41787122096a4177460d00200028026020096b41002802a8bfd38000118080808000000b2005450d00200028029c0141002802a8bfd38000118080808000000b2000418080808078360298014101210d0240024020002d00e8024101460d004100210d0c010b024020002802b401220e0d00417f210f0c010b20002802b801211002400340200e41a07e6a2105200e41a4136a2109200e2f01aa142211410c6c210b417f21070240024003400240200b0d00201121070c020b2009280208210820092802042106200b41746a210b200741016a2107200541e0016a21052009410c6a2109417f4194dec2800020062008411020084110491b10ed968080002206411020086b20061b220841004720084100481b22084101460d000b200841ff0171450d010b2010450d022010417f6a2110200e20074102746a41ac146a280200210e0c010b0b02400240024002402005200528020041054b22094103746a2802002208450d000240200541046a220b280200200b20091b2008412c6c6a220841546a2207280200220941014b0d00200841586a22062802002105200841706a280200210b02402009410171450d002005200b460d010b2004200841646a360204200441046a20092005200b10a8968080002006200b36020041012109200741013602000b4158210b02400240024002402009417e6a2209410220094102491b0e03010200010b4164210b0b2008200b6a22090d010b20002802000d022000200029030842017c3703082000280210450d054188f8cc8000108081808000000b20002802000d022009350208210a2000200029030842017c37030820002802100d0320002000290318200a7c3703184101210d0240200928020841044f0d00417f210f0c060b2009280204280000210f0c050b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b4101210d417f210f0b4200210a02402003280200418080808078460d002003350208210a0b02400240024020002802200d002000200029032842017c37032820002802300d0120002000290338200a7c370338410021090240200128020822084100480d0020012802042109024020080d004101210b0c040b41002d00b8bfd380001a200841002802b0bfd3800011828080800000220b0d03410121090b2009200841d4efc2800010ae80808000000b4198f8cc8000108081808000000b41a8f8cc8000108081808000000b200b2009200810e996808000210e200041a8016a211202400240024020002802a80122100d00200441003602140c010b20002802ac01211102400340201041a4086a210920102f01aa092213410c6c210b417f21050240024003400240200b0d00201321050c020b200941086a2107200941046a2106200b41746a210b200541016a21052009410c6a2109417f200e200628020020082007280200220720082007491b10ed968080002206200820076b20061b220741004720074100481b22074101460d000b200741ff0171450d010b2011450d022011417f6a2111201020054102746a41ac096a28020021100c010b0b20042012360214200420053602102004201136020c2004201036020820044180808080783602042008450d02200e41002802a8bfd38000118080808000000c020b2004200536021c20044100360218200420103602140b200420123602102004200836020c2004200e360208200420083602040b200441046a200041b4016a200110d98880800020022003200d200f10a196808000200441206a2480808080000bb80101027f23808080800041206b2204248080808000410021050240024020034100480d00024020030d00410121050c020b41002d00b8bfd380001a200341002802b0bfd380001182808080000022050d01410121050b2005200341d4efc2800010ae80808000000b20052002200310e9968080002102200420033602102004200236020c20042003360208200441808080807836021420002802002001200441086a200441146a10ff85808000200441206a2480808080000b880f05057f017e017f017e087f23808080800041206b22032480808080000240200028029801418080808078460d00024020002802642204450d000240200028026c2205450d002000280260220641086a21072006290300427f8542808182848890a0c0807f8321080340024020084200520d000340200641a07e6a210620072903002108200741086a22092107200842808182848890a0c0807f83220842808182848890a0c0807f510d000b200842808182848890a0c0807f852108200921070b02402006410020087aa74103766b411c6c6a220941646a280200450d00200941686a28020041002802a8bfd38000118080808000000b2008427f7c210a0240200941706a280200450d00200941746a28020041002802a8bfd38000118080808000000b200a20088321082005417f6a22050d000b0b2004200441016aad421c7ea741076a41787122076a4177460d00200028026020076b41002802a8bfd38000118080808000000b200028029801450d00200028029c0141002802a8bfd38000118080808000000b2000418080808078360298014100210b4100210c024020002d00e8024101470d00024020002802b401220d0d00417f210e4101210c0c010b20002802b801210e02400340200d41a07e6a2104200d41a4136a2107200d2f01aa14220c410c6c2109417f2105024002400340024020090d00200c21050c020b200728020821062007280204210f200941746a2109200541016a2105200441e0016a21042007410c6a2107417f4194dec28000200f2006411020064110491b10ed96808000220f411020066b200f1b220641004720064100481b22064101460d000b200641ff0171450d010b200e450d02200e417f6a210e200d20054102746a41ac146a280200210d0c010b0b02400240024002402004200428020041054b22074103746a2802002206450d000240200441046a2209280200200920071b2006412c6c6a220641546a2205280200220741014b0d00200641586a220f2802002104200641706a280200210902402007410171450d0020042009460d010b2003200641646a360214200341146a20072004200910a896808000200f200936020041012107200541013602000b4158210902400240024002402007417e6a2207410220074102491b0e03010200010b416421090b200620096a22070d010b20002802000d022000200029030842017c3703082000280210450d054188f8cc8000108081808000000b20002802000d02200735020821082000200029030842017c37030820002802100d032000200029031820087c3703184101210c0240200728020841044f0d00417f210e0c060b2007280204280000210e0c050b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b4101210c417f210e0b024020002802b4012207450d0020002802bc01220f450d00200041c4016a2110200041c0016a211120002802b80121004100210b410021040340024002402004450d002000210920072105200421070c010b4100210902402000450d0020002106024020004107712205450d0003402006417f6a210620072802ac1421072005417f6a22050d000b0b20004108490d00034020072802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142107200641786a22060d000b0b410021050b024002400240024002400240200920072f01aa144f0d00200721060c010b034020072802a0132206450d02200541016a210520072f01a814210920062107200920062f01aa144f0d000b0b0240024020050d00200941016a2100200621040c010b200620094102746a41b0146a2802002104410021002005417f6a2207450d002005417e6a210d024020074107712205450d0003402007417f6a210720042802ac1421042005417f6a22050d000b0b200d4107490d00034020042802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142104200741786a22070d000b0b200f417f6a210f20062009410c6c6a220741ac136a2802002002490d032001200741a4136a2207280204200210ed968080000d032006200941e0016c6a220928020820092802002206200641054b22061b2205450d012009280204200941046a20061b2005412c6c6a41546a280200210520034180808080783602084100210d0240200728020822064100480d0020072802042107024020060d004101210d0c040b41002d00b8bfd380001a200641002802b0bfd3800011828080800000220d0d034101210d0b200d200641a89dc5800010ae80808000000b41e8b3c18000108a81808000000b4181e2c2800041fc0041c0e3c28000108b81808000000b20054103472105200d2007200610e996808000210d024002402011201128020041054b22074103746a28020022120d00410021072006450d01200d41002802a8bfd38000118080808000000c010b2003200636021c2003200d360218200320063602142010280200201020071b2012410c6c6a41746a200341146a10de8a80800041017321070b200b20056a210b2009200341086a2007200c200e109e968080000b41002107200f0d000b0b200341206a248080808000200b0bc505010a7f23808080800041106b2201248080808000024020002d00840222020d00200041013a008402200020002802c80120002802c0012203200341054b1b36028002024002400240024020002802a8012203450d0020002802b0012204450d002003410047210520002802ac0121064100210703402005410171450d02024002402007450d002006210820032109200721030c010b4100210802402006450d0020062105024020064107712209450d0003402005417f6a210520032802ac0921032009417f6a22090d000b0b20064108490d00034020032802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092103200541786a22050d000b0b410021090b02400240200820032f01aa094f0d00200321050c010b034020032802a0082205450d05200941016a210920032f01a809210820052103200820052f01aa094f0d000b0b0240024020090d00200841016a2106200521070c010b200520084102746a41b0096a2802002107410021062009417f6a2203450d002009417e6a210a024020034107712209450d0003402003417f6a210320072802ac0921072009417f6a22090d000b0b200a4107490d00034020072802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092107200341786a22030d000b0b02402005200841e0006c6a22032d0050450d0041c0ddc2800041c1002001410f6a4188dcc280004184dec2800010a481808000000b41012105200341013a005020032003280214200328020c2208200841054b1b36024c410021032004417f6a22040d000b0b20002d00d802450d024198dcc2800041382001410f6a4188dcc2800041b0ddc2800010a481808000000b4198efc48000108a81808000000b41e8b3c18000108a81808000000b200041013a00d8022000200028029c022000280294022203200341054b1b3602d4020b200141106a24808080800020020bed0601097f02400240200041c0016a220120002802c001220241054b22034103746a220428020022052002410520031b460d0020002802c401200041c4016a20031b21030c010b200110fc8e808000200041c8016a210420002802c801210520002802c40121030b20032005410c6c6a22034100360208200341003602002004200428020041016a360200024020002802a8012204450d0020002802b0012206450d002004410047210520002802ac0121074100210103400240024002402005410171450d00024002402001450d002007210520042102200121040c010b4100210502402007450d0020072103024020074107712202450d0003402003417f6a210320042802ac0921042002417f6a22020d000b0b20074108490d00034020042802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092104200341786a22030d000b0b410021020b02400240200520042f01aa094f0d00200421030c010b034020042802a0082203450d03200241016a210220042f01a809210520032104200520032f01aa094f0d000b0b024020020d00200541016a2107200321010c030b200320054102746a41b0096a2802002101410021072002417f6a2204450d022002417e6a2108024020044107712202450d0003402004417f6a210420012802ac0921012002417f6a22020d000b0b20084107490d02034020012802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092101200441786a22040d000c030b0b4198efc48000108a81808000000b41e8b3c18000108a81808000000b024002402003200541e0006c6a2204410c6a2209200428020c220841054b22054103746a220328020022022008410520051b460d002004280210200441106a20051b21050c010b200910fc8e808000200441146a210320042802142102200428021021050b4100210420052002410c6c6a2205410036020820054100360200410121052003200328020041016a3602002006417f6a22060d000b0b0240024020004194026a2201200028029402220241054b22034103746a220428020022052002410520031b460d0020002802980220004198026a20031b21030c010b200110a58f8080002000419c026a2104200028029c02210520002802980221030b20032005410c6c6a22034100360208200341003602002004200428020041016a3602000bde1205057f017e017f017e087f23808080800041306b22042480808080000240200028029801418080808078460d00024020002802642205450d000240200028026c2206450d002000280260220741086a21082007290300427f8542808182848890a0c0807f8321090340024020094200520d000340200741a07e6a210720082903002109200841086a220a2108200942808182848890a0c0807f83220942808182848890a0c0807f510d000b200942808182848890a0c0807f852109200a21080b02402007410020097aa74103766b411c6c6a220a41646a280200450d00200a41686a28020041002802a8bfd38000118080808000000b2009427f7c210b0240200a41706a280200450d00200a41746a28020041002802a8bfd38000118080808000000b200b20098321092006417f6a22060d000b0b2005200541016aad421c7ea741076a41787122086a4177460d00200028026020086b41002802a8bfd38000118080808000000b200028029801450d00200028029c0141002802a8bfd38000118080808000000b2000418080808078360298014100210c4100210d024020002d00e8024101470d00024020002802b401220e0d00417f210f4101210d0c010b20002802b801211002400340200e41a07e6a2105200e41a4136a2108200e2f01aa142211410c6c210a417f21060240024003400240200a0d00201121060c020b2008280208210720082802042112200a41746a210a200641016a2106200541e0016a21052008410c6a2108417f4194dec2800020122007411020074110491b10ed968080002212411020076b20121b220741004720074100481b22074101460d000b200741ff0171450d010b2010450d022010417f6a2110200e20064102746a41ac146a280200210e0c010b0b02400240024002402005200528020041054b22084103746a2802002207450d000240200541046a220a280200200a20081b2007412c6c6a220741546a2206280200220841014b0d00200741586a22122802002105200741706a280200210a02402008410171450d002005200a460d010b2004200741646a360208200441086a20082005200a10a8968080002012200a36020041012108200641013602000b4158210a02400240024002402008417e6a2208410220084102491b0e03010200010b4164210a0b2007200a6a22080d010b20002802000d022000200029030842017c3703082000280210450d054188f8cc8000108081808000000b20002802000d02200835020821092000200029030842017c37030820002802100d032000200029031820097c3703184101210d0240200828020841044f0d00417f210f0c060b2008280204280000210f0c050b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b4101210d417f210f0b02400240200128020822074100480d0020012802042108024020070d004101210a0c020b41002d00b8bfd380001a200741002802b0bfd3800011828080800000220a0d014101210c0b200c200741d4efc2800010ae80808000000b200a2008200710e996808000210e200041a8016a2113200041b4016a210c02400240024020002802a80122100d00200441003602180c010b20002802ac01210002400340201041a4086a210820102f01aa092211410c6c210a417f21050240024003400240200a0d00201121050c020b200841086a2106200841046a2112200a41746a210a200541016a21052008410c6a2108417f200e201228020020072006280200220620072006491b10ed968080002212200720066b20121b220641004720064100481b22064101460d000b200641ff0171450d010b2000450d022000417f6a2100201020054102746a41ac096a28020021100c010b0b2004201336021820042005360214200420003602102004201036020c20044180808080783602082007450d02200e41002802a8bfd38000118080808000000c020b200420053602202004410036021c200420103602180b20042013360214200420073602102004200e36020c200420073602080b410021100240200441086a200c200110d98880800022072802002208450d0020072802082212450d00200741106a21112007410c6a21012007280204210e41002110410021050340024002402005450d00200e210a20082106200521080c010b4100210a0240200e450d00200e21070240200e4107712206450d0003402007417f6a210720082802ac1421082006417f6a22060d000b0b200e4108490d00034020082802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142108200741786a22070d000b0b410021060b024002400240024002400240200a20082f01aa144f0d00200821070c010b034020082802a0132207450d02200641016a210620082f01a814210a20072108200a20072f01aa144f0d000b0b0240024020060d00200a41016a210e200721050c010b2007200a4102746a41b0146a28020021054100210e2006417f6a2208450d002006417e6a2100024020084107712206450d0003402008417f6a210820052802ac1421052006417f6a22060d000b0b20004107490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200841786a22080d000b0b2012417f6a21122007200a410c6c6a220841ac136a2802002003490d032002200841a4136a2208280204200310ed968080000d032007200a41e0016c6a220a280208200a2802002207200741054b22071b2206450d01200a280204200a41046a20071b2006412c6c6a41546a28020021062004418080808078360224410021000240200828020822074100480d0020082802042108024020070d00410121000c040b41002d00b8bfd380001a200741002802b0bfd380001182808080000022000d03410121000b2000200741a89dc5800010ae80808000000b41e8b3c18000108a81808000000b4181e2c2800041fc0041c0e3c28000108b81808000000b2006410347210620002008200710e9968080002100024002402001200128020041054b22084103746a280200220c0d00410021082007450d01200041002802a8bfd38000118080808000000c010b200420073602102004200036020c200420073602082011280200201120081b200c410c6c6a41746a200441086a10de8a80800041017321080b201020066a2110200a200441246a2008200d200f109e968080000b4100210820120d000b0b200441306a24808080800020100bf204010a7f23808080800041106b2201248080808000410021020240024002400240200041b4016a410010a09680800022030d0020002802b001410020002802a80122041b21052004410047210620002802ac012107024003402005450d012006410171450d03024002402002450d002007210820042106200221040c010b4100210802402007450d0020072109024020074107712202450d0003402009417f6a210920042802ac0921042002417f6a22020d000b0b20074108490d00034020042802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092104200941786a22090d000b0b410021060b02400240200820042f01aa094f0d00200421090c010b034020042802a0082209450d06200641016a210620042f01a809210820092104200820092f01aa094f0d000b0b0240024020060d00200841016a2107200921020c010b200920084102746a41b0096a2802002102410021072006417f6a2204450d002006417e6a210a024020044107712206450d0003402004417f6a210420022802ac0921022006417f6a22060d000b0b200a4107490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200441786a22040d000b0b2005417f6a210541012106410021042009200841e0006c6a410010a096808000450d000b41c4dec2800041382001410f6a41a4dec2800041fcdec2800010a481808000000b20004188026a41001086868080000d030b200141106a24808080800020030f0b4198efc48000108a81808000000b41e8b3c18000108a81808000000b4198dcc2800041382001410f6a41a4dec2800041b4dec2800010a481808000000beb1103087f037e037f23808080800041e0016b220224808080800041012103200028020c2104024002400240024020002d00504101470d0020002802142004200441054b1b200028024c4d0d010b2000410c6a2205200441054b22044103746a22062802002207450d00200041106a2208280200210320062007417f6a22073602002003200820041b2007410c6c6a220728020421034100210941002104024020072802002206450d0020072802082109410121040b2002200936022c2002200336022820022006360224200241003602202002200436021c2002200336021820022006360214200241003602102002200436020c200241e0006a2002410c6a109a8a808000200228026021040240024020010d002004418080808078460d010340200241306a41106a200241e0006a41106a2201290200220a370300200241306a41086a200241e0006a41086a2203290200220b37030020022002290260220c370330200241c8006a41106a2207200a370300200241c8006a41086a2209200b3703002002200c37034820002802002204450d05200241e0006a20042000280204200241c8006a10b68380800020022802604101460d052002280264200228026c41fc006c6a418c026a210402400240024002400240024002402005200528020041054b220d4103746a2802002206450d002008280200210e200120072903003703002003200929030037030020022002290348370360200e2008200d1b2006410c6c6a41746a200241e0006a10dd8a808000450d06200428027821010c010b200428020420042802782201200141054b1b4102490d010b2004410441f800200141054b22011b6a22072802002209450d0120072009417f6a22093602002004280200220d200420011b200941186c6a2201280200210f20012802042109200128020821072003200141146a2802003602002002200129020c370360200428020420042802782201200141054b22011b220e450d020240200d200420011b200e41186c6a220e41746a2201280200220d418080808078460d00200d450d00200e41786a28020041002802a8bfd38000118080808000000b20012002290360370200200141086a2003280200360200200428020420042802782203200341054b22031b2201450d032007410274210d02402004280200200420031b200141186c6a220341686a220e280200200341706a220128020022046b20074f0d00200e2004200741044104109b96808000200128020021040b2003416c6a28020020044102746a2009200d10e9968080001a2001200420076a3602000240200f450d00200941002802a8bfd38000118080808000000b20060d040b02402002280248450d00200228024c41002802a8bfd38000118080808000000b2002280254450d03200228025841002802a8bfd38000118080808000000c030b4181e2c2800041fc004190e3c28000108b81808000000b4181e2c2800041fc0041b0e3c28000108b81808000000b4181e2c2800041fc0041a0e3c28000108b81808000000b200241e0006a2002410c6a109a8a8080002002280260418080808078470d000c020b0b2004418080808078460d000340200241306a41106a200241e0006a41106a290200220a370300200241306a41086a200241e0006a41086a290200220b37030020022002290260220c370330200241c8006a41106a200a370300200241c8006a41086a200b3703002002200c37034820002802002204450d04200241e0006a20042000280204200241c8006a10b68380800020022802600d042002280264200228026c41fc006c6a418c026a2204410441f800200428027841054b22031b6a22012802002205450d0320012005417f6a22053602002004280200200420031b200541186c6a22032802042105200328020021010240200328020c41808080807872418080808078460d00200328021041002802a8bfd38000118080808000000b02402001450d00200541002802a8bfd38000118080808000000b0240200428020420042802782204200441054b1b0d00200241e0006a2000200241c8006a10df8a8080002002280260450d00024020022802dc01220441054b0d002004450d01024020022802702203418080808078460d002003450d00200228027441002802a8bfd38000118080808000000b02402002280264450d00200228026841002802a8bfd38000118080808000000b20044101460d0102402002280288012203418080808078460d002003450d00200228028c0141002802a8bfd38000118080808000000b0240200228027c450d0020022802800141002802a8bfd38000118080808000000b20044102460d01024020022802a0012203418080808078460d002003450d0020022802a40141002802a8bfd38000118080808000000b0240200228029401450d0020022802980141002802a8bfd38000118080808000000b20044103460d01024020022802b8012203418080808078460d002003450d0020022802bc0141002802a8bfd38000118080808000000b024020022802ac01450d0020022802b00141002802a8bfd38000118080808000000b20044104460d01024020022802d0012204418080808078460d002004450d0020022802d40141002802a8bfd38000118080808000000b20022802c401450d0120022802c80141002802a8bfd38000118080808000000c010b20022802642105024020022802682203450d0020052104034002402004410c6a2802002201418080808078460d002001450d00200441106a28020041002802a8bfd38000118080808000000b02402004280200450d00200441046a28020041002802a8bfd38000118080808000000b200441186a21042003417f6a22030d000b0b200541002802a8bfd38000118080808000000b02402002280248450d00200228024c41002802a8bfd38000118080808000000b02402002280254450d00200228025841002802a8bfd38000118080808000000b200241e0006a2002410c6a109a8a8080002002280260418080808078470d000b0b2002410c6a10918b808000410021030b200241e0016a24808080800020030f0b4181e2c2800041fc004190e3c28000108b81808000000b4194e4c2800041d50141ece5c28000108b81808000000bbc1205057f017e017f017e087f23808080800041306b22022480808080000240200028029801418080808078460d00024020002802642203450d000240200028026c2204450d002000280260220541086a21062005290300427f8542808182848890a0c0807f8321070340024020074200520d000340200541a07e6a210520062903002107200641086a22082106200742808182848890a0c0807f83220742808182848890a0c0807f510d000b200742808182848890a0c0807f852107200821060b02402005410020077aa74103766b411c6c6a220841646a280200450d00200841686a28020041002802a8bfd38000118080808000000b2007427f7c21090240200841706a280200450d00200841746a28020041002802a8bfd38000118080808000000b200920078321072004417f6a22040d000b0b2003200341016aad421c7ea741076a41787122066a4177460d00200028026020066b41002802a8bfd38000118080808000000b200028029801450d00200028029c0141002802a8bfd38000118080808000000b2000418080808078360298014100210a4100210b024020002d00e8024101470d00024020002802b401220c0d00417f210d4101210b0c010b20002802b801210e02400340200c41a07e6a2103200c41a4136a2106200c2f01aa14220f410c6c2108417f2104024002400340024020080d00200f21040c020b2006280208210520062802042110200841746a2108200441016a2104200341e0016a21032006410c6a2106417f4194dec2800020102005411020054110491b10ed968080002210411020056b20101b220541004720054100481b22054101460d000b200541ff0171450d010b200e450d02200e417f6a210e200c20044102746a41ac146a280200210c0c010b0b02400240024002402003200328020041054b22064103746a2802002205450d000240200341046a2208280200200820061b2005412c6c6a220541546a2204280200220641014b0d00200541586a22102802002103200541706a280200210802402006410171450d0020032008460d010b2002200541646a360208200241086a20062003200810a8968080002010200836020041012106200441013602000b4158210802400240024002402006417e6a2206410220064102491b0e03010200010b416421080b200520086a22060d010b20002802000d022000200029030842017c3703082000280210450d054188f8cc8000108081808000000b20002802000d02200635020821072000200029030842017c37030820002802100d032000200029031820077c3703184101210b0240200628020841044f0d00417f210d0c060b2006280204280000210d0c050b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b4101210b417f210d0b02400240200128020822054100480d0020012802042106024020050d00410121080c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022080d014101210a0b200a200541d4efc2800010ae80808000000b20082006200510e996808000210c200041a8016a2111200041b4016a210a02400240024020002802a801220e0d00200241003602180c010b20002802ac01210002400340200e41a4086a2106200e2f01aa09220f410c6c2108417f2103024002400340024020080d00200f21030c020b200641086a2104200641046a2110200841746a2108200341016a21032006410c6a2106417f200c201028020020052004280200220420052004491b10ed968080002210200520046b20101b220441004720044100481b22044101460d000b200441ff0171450d010b2000450d022000417f6a2100200e20034102746a41ac096a280200210e0c010b0b2002201136021820022003360214200220003602102002200e36020c20024180808080783602082005450d02200c41002802a8bfd38000118080808000000c020b200220033602202002410036021c2002200e3602180b20022011360214200220053602102002200c36020c200220053602080b4100210c0240200241086a200a200110d98880800022052802002206450d0020052802082200450d00200541106a210a2005410c6a210e200528020421104100210c410021030340024002402003450d002010210820062104200321060c010b4100210802402010450d0020102105024020104107712204450d0003402005417f6a210520062802ac1421062004417f6a22040d000b0b20104108490d00034020062802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142106200541786a22050d000b0b410021040b02400240024002400240200820062f01aa144f0d00200621050c010b034020062802a0132205450d02200441016a210420062f01a814210820052106200820052f01aa144f0d000b0b0240024020040d00200841016a2110200521030c010b200520084102746a41b0146a2802002103410021102004417f6a2206450d002004417e6a2101024020064107712204450d0003402006417f6a210620032802ac1421032004417f6a22040d000b0b20014107490d00034020032802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142103200641786a22060d000b0b2005200841e0016c6a220428020820042802002206200641054b22061b2201450d012004280204200441046a20061b2001412c6c6a41546a280200210120024180808080783602244100210f024020052008410c6c6a220541ac136a28020022064100480d00200541a8136a2802002105024020060d00410121080c040b41002d00b8bfd380001a200641002802b0bfd380001182808080000022080d034101210f0b200f200641a89dc5800010ae80808000000b41e8b3c18000108a81808000000b4181e2c2800041fc0041c0e3c28000108b81808000000b2001410347210120082005200610e996808000210802400240200e200e28020041054b22054103746a280200220f0d00410021052006450d01200841002802a8bfd38000118080808000000c010b200220063602102002200836020c20022006360208200a280200200a20051b200f410c6c6a41746a200241086a10de8a80800041017321050b200c20016a210c2004200241246a2005200b200d109e96808000410021062000417f6a22000d000b0b200241306a248080808000200c0beb0b05057f017e017f017e057f23808080800041c0036b22012480808080000240200028029801418080808078460d00024020002802642202450d000240200028026c2203450d002000280260220441086a21052004290300427f8542808182848890a0c0807f8321060340024020064200520d000340200441a07e6a210420052903002106200541086a22072105200642808182848890a0c0807f83220642808182848890a0c0807f510d000b200642808182848890a0c0807f852106200721050b02402004410020067aa74103766b411c6c6a220741646a280200450d00200741686a28020041002802a8bfd38000118080808000000b2006427f7c21080240200741706a280200450d00200741746a28020041002802a8bfd38000118080808000000b200820068321062003417f6a22030d000b0b2002200241016aad421c7ea741076a41787122056a4177460d00200028026020056b41002802a8bfd38000118080808000000b200028029801450d00200028029c0141002802a8bfd38000118080808000000b200041808080807836029801024002400240200041b4016a410110a09680800022090d0020002802b0012107200041003602b00120002802a8012105200041003602a80120002802ac01210420012007410020051b360224200120043602202001200536021c20014100360218200120054100472207360214200120043602102001200536020c2001410036020820012007360204200141286a200141046a109f8a808000024020012802282207418080808078460d00200041a8016a210a200141286a410c6a210220014194016a41106a210b200141f4016a41106a210c034020012802302105200128022c210320014194016a200241e00010e9968080001a20014194016a410110a0968080000d0302400240200128029c010d000240024020012802940122050d00410021050c010b200120012802980122043602fc02200120053602f802200141003602f402200120043602ec02200120053602e802200141003602e402410121050b2001410036028003200120053602f002200120053602e002200141e0026a108f8b8080000240024020012802a001220441054b0d00200b21052004450d010340200510d98a8080002005410c6a21052004417f6a22040d000c020b0b20014194016a41106a280200210d024020012802a8012204450d00200d21050340200510d98a8080002005410c6a21052004417f6a22040d000b0b200d41002802a8bfd38000118080808000000b024020012802e801450d0020012802ec0141002802a8bfd38000118080808000000b2007450d01200341002802a8bfd38000118080808000000c010b200120053602dc02200120033602d802200120073602d402200141e0026a20014194016a41e00010e9968080001a200141f4016a200a200141d4026a200141e0026a10db8a80800020012802c802418080808078460d000240024020012802f40122050d0041002105410021040c010b200120012802f80122043602fc02200120053602f802200141003602f402200120043602ec02200120053602e802200141003602e4024101210520012802fc0121040b2001200436028003200120053602f002200120053602e002200141e0026a108f8b80800002400240200128028002220441054b0d00200c21052004450d010340200510d98a8080002005410c6a21052004417f6a22040d000c020b0b200141f4016a41106a280200210702402001280288022204450d00200721050340200510d98a8080002005410c6a21052004417f6a22040d000b0b200741002802a8bfd38000118080808000000b20012802c802450d0020012802cc0241002802a8bfd38000118080808000000b200141286a200141046a109f8a80800020012802282207418080808078470d000b0b200141046a108e8b80800020004188026a41011086868080000d020b200141c0036a24808080800020090f0b41c4dec280004138200141e0026a41a4dec28000419cdfc2800010a481808000000b4198dcc280004138200141e0026a41a4dec28000418cdfc2800010a481808000000bd10e01097f23808080800041f0036b22032480808080002001280298012104200141808080807836029801200141c0006a21050240024002402004418080808078470d0020034100360290022003410036028002200341003602ec01200341003602dc01200320012802b80122063602f401200320012802b40122073602f001200320063602e401200320073602e001200320012802ac01220436029802200320012802a80122063602940220032004360288022003200636028402200320012802bc01410020071b3602f8012003200741004722073602e801200320073602d801200320012802b001410020061b36029c0220032006410047220736028c02200320073602fc01200341a0026a2002200341d8016a200341fc016a410110a68e80800020034188036a41186a200341a0026a41186a29030037030020034188036a41106a200341a0026a41106a29030037030020034188036a41086a200341a0026a41086a290300370300200320032903a0023703880320034188036a41206a200341a0026a41206a41c80010e9968080001a200520034188036a41e80010e9968080001a20012802980121042001418080808078360298012004418080808078460d010b200341b0016a20014190016a290300370300200341a8016a20014188016a290300370300200341a0016a20014180016a29030037030020034180016a41186a200141f8006a29030037030020034180016a41106a200141f0006a29030037030020034180016a41086a200141e8006a290300370300200341f0006a41086a2001419c016a220741086a280200360200200320012903603703800120032007290200370370200341b8016a41186a200541186a290000370300200341b8016a41106a200541106a290000370300200341b8016a41086a200541086a290000370300200320052900003703b80120034188036a200141b4016a41d40010e9968080001a200141003a0084022001410036028002200142003702bc01200141003602b401200328029c0322062003280294032207200741054b22051b0d01200328029003410020032802880322021b210820024100472109200328028c03210a0240024020050d002007450d0120034188036a41106a21050340200510d98a8080002005410c6a21052007417f6a22070d000c020b0b20034198036a280200210702402006450d00200721050340200510d98a8080002005410c6a21052006417f6a22060d000b0b200741002802a8bfd38000118080808000000b20012802a801210741002105200141003602a80120012802b001210b200141003602b001200320083602242003200a3602202003200236021c20034100360218200320093602142003200a3602102003200236020c200341003602082003200936020420012802ac01210620034188036a20014188026a41d40010e9968080001a200141003a00d802200141003602d402200142003703900220014100360288024100210102402003280288032202450d002003200328028c032201360244200320023602402003410036023c20032001360234200320023602302003410036022c4101210520032802900321010b20032001360248200320053602382003200536022802400240200328029403220541054b0d002005450d0120034188036a41106a21010340200110a6968080002001410c6a21012005417f6a22050d000c020b0b20034188036a41106a28020021020240200328029c032205450d00200221010340200110a6968080002001410c6a21012005417f6a22050d000b0b200241002802a8bfd38000118080808000000b200341a0026a200341286a418ce1c28000109a8c808000200041e8006a200341046a418ce1c2800010818c8080002003200b410020071b36026c20032006360268200320073602642003410036026020032007410047220136025c2003200636025820032007360254200341003602502003200136024c200041f4006a200341cc006a418ce1c28000108c8c808000200341d8036a20034180016a41306a290300370300200341d0036a20034180016a41286a290300370300200341c8036a200341a0016a290300370300200341c0036a20034180016a41186a29030037030020034188036a41306a20034180016a41106a29030037030020034188036a41286a20034180016a41086a2903003703002000200329037037025c200041e4006a200341f0006a41086a28020036020020032003290380013703a80320034188036a41186a200341b8016a41186a29030037030020034188036a41106a200341b8016a41106a29030037030020034188036a41086a200341b8016a41086a290300370300200320032903b80137038803200020034188036a41d80010e99680800022012004360258200120032903a0023703800120014188016a200341a0026a41086a280200360200200341f0036a2480808080000f0b41c4dfc28000413541fcdfc28000108b81808000000b200341003602b002200341013602a402200341fce3c280003602a002200342043702a802200341a0026a4184e4c2800010f280808000000bd10e01097f23808080800041f0036b22032480808080002001280298012104200141808080807836029801200141c0006a21050240024002402004418080808078470d0020034100360290022003410036028002200341003602ec01200341003602dc01200320012802b80122063602f401200320012802b40122073602f001200320063602e401200320073602e001200320012802ac01220436029802200320012802a80122063602940220032004360288022003200636028402200320012802bc01410020071b3602f8012003200741004722073602e801200320073602d801200320012802b001410020061b36029c0220032006410047220736028c02200320073602fc01200341a0026a2002200341d8016a200341fc016a410110a58e80800020034188036a41186a200341a0026a41186a29030037030020034188036a41106a200341a0026a41106a29030037030020034188036a41086a200341a0026a41086a290300370300200320032903a0023703880320034188036a41206a200341a0026a41206a41c80010e9968080001a200520034188036a41e80010e9968080001a20012802980121042001418080808078360298012004418080808078460d010b200341b0016a20014190016a290300370300200341a8016a20014188016a290300370300200341a0016a20014180016a29030037030020034180016a41186a200141f8006a29030037030020034180016a41106a200141f0006a29030037030020034180016a41086a200141e8006a290300370300200341f0006a41086a2001419c016a220741086a280200360200200320012903603703800120032007290200370370200341b8016a41186a200541186a290000370300200341b8016a41106a200541106a290000370300200341b8016a41086a200541086a290000370300200320052900003703b80120034188036a200141b4016a41d40010e9968080001a200141003a0084022001410036028002200142003702bc01200141003602b401200328029c0322062003280294032207200741054b22051b0d01200328029003410020032802880322021b210820024100472109200328028c03210a0240024020050d002007450d0120034188036a41106a21050340200510d98a8080002005410c6a21052007417f6a22070d000c020b0b20034198036a280200210702402006450d00200721050340200510d98a8080002005410c6a21052006417f6a22060d000b0b200741002802a8bfd38000118080808000000b20012802a801210741002105200141003602a80120012802b001210b200141003602b001200320083602242003200a3602202003200236021c20034100360218200320093602142003200a3602102003200236020c200341003602082003200936020420012802ac01210620034188036a20014188026a41d40010e9968080001a200141003a00d802200141003602d402200142003703900220014100360288024100210102402003280288032202450d002003200328028c032201360244200320023602402003410036023c20032001360234200320023602302003410036022c4101210520032802900321010b20032001360248200320053602382003200536022802400240200328029403220541054b0d002005450d0120034188036a41106a21010340200110a6968080002001410c6a21012005417f6a22050d000c020b0b20034188036a41106a28020021020240200328029c032205450d00200221010340200110a6968080002001410c6a21012005417f6a22050d000b0b200241002802a8bfd38000118080808000000b200341a0026a200341286a418ce1c28000109a8c808000200041e8006a200341046a418ce1c2800010818c8080002003200b410020071b36026c20032006360268200320073602642003410036026020032007410047220136025c2003200636025820032007360254200341003602502003200136024c200041f4006a200341cc006a418ce1c2800010848c808000200341d8036a20034180016a41306a290300370300200341d0036a20034180016a41286a290300370300200341c8036a200341a0016a290300370300200341c0036a20034180016a41186a29030037030020034188036a41306a20034180016a41106a29030037030020034188036a41286a20034180016a41086a2903003703002000200329037037025c200041e4006a200341f0006a41086a28020036020020032003290380013703a80320034188036a41186a200341b8016a41186a29030037030020034188036a41106a200341b8016a41106a29030037030020034188036a41086a200341b8016a41086a290300370300200320032903b80137038803200020034188036a41d80010e99680800022012004360258200120032903a0023703800120014188016a200341a0026a41086a280200360200200341f0036a2480808080000f0b41c4dfc28000413541fcdfc28000108b81808000000b200341003602b002200341013602a402200341fce3c280003602a002200342043702a802200341a0026a4184e4c2800010f280808000000bd10501037f02402001410441f800200128027841054b22021b6a22032802002204450d0020032004417f6a2204360200200020012802002203200120021b200441186c6a220229020c370200200041086a200241146a28020036020002402002280200450d00200228020441002802a8bfd38000118080808000000b024002402001280278220241054b0d002002450d010240200128020c2200418080808078460d002000450d00200128021041002802a8bfd38000118080808000000b02402001280200450d00200128020441002802a8bfd38000118080808000000b20024101460d01024020012802242200418080808078460d002000450d00200128022841002802a8bfd38000118080808000000b02402001280218450d00200128021c41002802a8bfd38000118080808000000b20024102460d010240200128023c2200418080808078460d002000450d00200128024041002802a8bfd38000118080808000000b02402001280230450d00200128023441002802a8bfd38000118080808000000b20024103460d01024020012802542200418080808078460d002000450d00200128025841002802a8bfd38000118080808000000b02402001280248450d00200128024c41002802a8bfd38000118080808000000b20024104460d010240200128026c2202418080808078460d002002450d00200128027041002802a8bfd38000118080808000000b2001280260450d01200128026441002802a8bfd38000118080808000000f0b024020012802042202450d0020032101034002402001410c6a2802002200418080808078460d002000450d00200141106a28020041002802a8bfd38000118080808000000b02402001280200450d00200141046a28020041002802a8bfd38000118080808000000b200141186a21012002417f6a22020d000b0b200341002802a8bfd38000118080808000000b0f0b4181e2c2800041fc004180e3c28000108b81808000000bfa1e03047f017e097f23808080800041f0026b220a2480808080000240024020030d00418080808078210b0c010b4100210c024002402003280208220b4100480d002003280204210c0240200b0d004101210d0c020b41002d00b8bfd380001a200b41002802b0bfd3800011828080800000220d0d014101210c0b200c200b41a89dc5800010ae80808000000b200bad422086200d200c200b10e996808000ad84210e0b200a200936029801200a200836029401200a200536029001200a200436028c01200a41003b019c01200a200e37028401200a200b36028001200a41f0016a2002200a4180016a10ff8d8080000240024002400240200a2802f001220b418080808078460d00200a41046a41046a200a41f0016a41046a41f40010e9968080001a200a200236027c200a200b360204200a41d8006a210f2006410171211041002111410021120340200a2802402108200a418080808078360240200a280244210d02400240024002400240024002400240024002400240024002400240024002400240200a2d00790d00200a2802482113200a4180016a41186a200f41186a2209290000370300200a4180016a41106a200f41106a2205290000370300200a4180016a41086a200f41086a2204290000370300200a200f290000370380014100210b0240200a28024c418080808078460d00200a200a2902503702a801200a41a4e6c280003602a4012002210b0b200a200b3602a0010240024020022802000d0041002104200a41003602b001410021060c010b200a41f0016a41186a2009290000370300200a41f0016a41106a2005290000370300200a41f0016a41086a2004290000370300200a200f2900003703f001200a41b0016a200241086a200a41f0016a10b28b808000200a2802b00122094100472104200a41b0016a410020091b21060b0240024020022802d00122090d0041002109200a41003602c001410021050c010b20022802d401220c2802080d02200c41086a2214417f36020020092802080d03200941086a2215417f36020020022802d80122052802080d042005417f360208200a200541086a3602d401200a20143602cc01200a20153602c401200a200541106a3602d001200a200c410c6a3602c801200a200941106a22053602c00120054100472109200a41c0016a410020051b21050b200a4190e6c2800041a4e6c28000200b1b36029402200a200a41a0016a2002200b1b36029002200a41d4e6c2800036028c02200a200536028802200a410036028402200a200936028002200a41b8e6c280003602fc01200a20063602f801200a41003602f401200a20043602f001200a200a4180016a36029802200a41d8016a200a41046a200a41f0016a10d1898080002008418080808078460d05200a2802d8012202418280808078480d04200a2802e0012013470d04200a2802dc01220b200d201310ed968080000d04200a41e4016a200a41046a200a41f0016a10d18980800002402002450d00200b41002802a8bfd38000118080808000000b200a41d8016a41086a200a41e4016a41086a280200360200200a200a2902e4013703d8010c040b41808080807821140240200841808080807872418080808078470d000c140b200d41002802a8bfd380001180808080000041808080807821140c050b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b2008450d00200d41002802a8bfd38000118080808000000b200a2802e0012108200a2802dc01210d200a2802d80121140240200a2802c001450d00200a2802c4012202200228020041016a360200200a2802cc012202200228020041016a360200200a2802d4012202200228020041016a3602000b0240200a2802b001450d00200a2802b4012202200228020041016a360200200a2802b801450d00200a2802bc012202200228020041016a3602000b0240024020144180808080786a0e020100030b200a41013a007941808080807821140c010b200a41023a0079200d280200220241858080807846200a2d007871210b0240024002400240200241fcffffff076a2202410320024105491b0e0403030102000b200d280204450d02200d28020841002802a8bfd38000118080808000000c020b200d280204450d01200d28020841002802a8bfd38000118080808000000c010b200d10f5858080000b200d41002802a8bfd38000118080808000004180808080782114200b450d020b0c0c0b02402010450d0020112007470d00200721110c0c0b0240024002400240024020030d0020012802b401220c450d0420012802b80121130340200c41a07e6a2104200c41a4136a2102200c2f01aa142215410c6c2109417f2105024002400340024020090d00201521050c020b2002280208210b20022802042106200941746a2109200541016a2105200441e0016a21042002410c6a2102417f200d20062008200b2008200b491b10ed9680800022062008200b6b20061b220b410047200b4100481b220b4101460d000b200b41ff0171450d010b2013450d062013417f6a2113200c20054102746a41ac146a280200210c0c010b0b2004200428020041054b22024103746a280200220b450d060240200441046a2209280200200920021b200b412c6c6a220b41546a2205280200220241014b0d00200b41586a22062802002104200b41706a280200210902402002410171450d0020042009460d010b200a200b41646a3602f001200a41f0016a20022004200910a8968080002006200936020041012102200541013602000b4158210902400240024002402002417e6a2202410220024102491b0e03010200010b416421090b200b20096a22020d010b20012802000d082001200129030842017c3703082001280210450d044188f8cc8000108081808000000b20012802000d08200228020821022001200129030842017c3703082001280210450d014188f8cc8000108081808000000b20012802a8012215450d01200341086a2802002105200341046a280200211320012802ac0121160340201541a07f6a2106201541a4086a210220152f01aa092217410c6c2109417f2104024002400340024020090d00201721040c020b2002280208210b2002280204210c200941746a2109200441016a2104200641e0006a21062002410c6a2102417f2013200c2005200b2005200b491b10ed96808000220c2005200b6b200c1b220b410047200b4100481b220b4101460d000b200b41ff0171450d010b2016450d032016417f6a2116201520044102746a41ac096a28020021150c010b0b2006280200220c450d01200641046a28020021130340200c41a07e6a2104200c41a4136a2102200c2f01aa142215410c6c2109417f2105024002400340024020090d00201521050c020b2002280208210b20022802042106200941746a2109200541016a2105200441e0016a21042002410c6a2102417f200d20062008200b2008200b491b10ed9680800022062008200b6b20061b220b410047200b4100481b220b4101460d000b200b41ff0171450d010b2013450d032013417f6a2113200c20054102746a41ac146a280200210c0c010b0b2004200428020041054b22024103746a280200220b450d080240200441046a2209280200200920021b200b412c6c6a220b41546a2205280200220241014b0d00200b41586a22062802002104200b41706a280200210902402002410171450d0020042009460d010b200a200b41646a3602f001200a41f0016a20022004200910a8968080002006200936020041012102200541013602000b4158210902400240024002402002417e6a2202410220024102491b0e03010200010b416421090b200b20096a22020d010b20012802000d0a2001200129030842017c3703082001280210450d034188f8cc8000108081808000000b20012802000d0a200228020821022001200129030842017c37030820012802100d0b0b200120012903182002ad7c3703182003450d020b200a200836028801200a200d36028401200a201436028001200a4180808080783602f00120012003200a4180016a200a41f0016a10ff85808000201141016a2202417f20021b2111201241016a2202417f20021b21120c0a0b201141016a2202417f20021b21112014450d09200d41002802a8bfd38000118080808000000c090b200a200836028801200a200d36028401200a201436028001200a4180808080783602f0012001200a4180016a200a41f0016a10fc85808000201141016a2202417f20021b2111201241016a2202417f20021b21120c080b41002802ecbfd380004104490d0a200a41013602f401200a418ce7c280003602f001200a42013702fc01200a41b081808000ad422086200a41ef026aad843703c001200a200a41c0016a3602f801200a41e4e7c2800036029001200a411536028c01200a41f8e7c2800036028801200a410436028401200a41f4e7c2800036028001200a41f0016a4104200a4180016a4100200a10da908080000c0a0b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b200a28027c22020d000b41808080807821140c010b41002112024041002802ecbfd380004104490d00200a41b081808000ad422086200a41ef026aad843703f00141002802d4bcd38000210241002802d0bcd38000210b41002802e8bfd380002109200a420137023c200a4101360234200a418ce7c28000360230200a410436022c200a41f4e7c28000360228200a42cd808080c000370220200a4194e7c2800036021c200a4215370214200a41f8e7c28000360210200a410036020c200a4281808080b0d400370204200241c4dbc88000200941024622091b2802102102200a200a41f0016a360238200b41dcdbc8800020091b200a41046a2002118b80808000000b2000418080808078360200410021110c020b200a2802402202418080808078460d002002450d00200a28024441002802a8bfd38000118080808000000b0240200a28024c2202418080808078460d002002450d00200a28025041002802a8bfd38000118080808000000b0240200a28020c220b450d00200a28020841086a210203402002280200220920092802002209417f6a360200024020094101470d00200210e08a8080000b200241306a2102200b417f6a220b0d000b0b0240200a280204450d00200a28020841002802a8bfd38000118080808000000b0240200a2802384129490d00200a28021041002802a8bfd38000118080808000000b200020083602082000200d360204200020143602000b200020113602102000201236020c200a41f0026a2480808080000b821f03047f017e097f23808080800041f0026b220a2480808080000240024020030d00418080808078210b0c010b4100210c024002402003280208220b4100480d002003280204210c0240200b0d004101210d0c020b41002d00b8bfd380001a200b41002802b0bfd3800011828080800000220d0d014101210c0b200c200b41a89dc5800010ae80808000000b200bad422086200d200c200b10e996808000ad84210e0b200a200936029801200a200836029401200a200536029001200a200436028c01200a41003b019c01200a200e37028401200a200b36028001200a41f0016a2002200a4180016a10fd8d80800002400240024002400240200a2802f001220b418080808078460d00200a41046a41046a200a41f0016a41046a41f40010e9968080001a200a200236027c200a200b360204200a41d8006a210f2006410171211041002111410021120340200a2802402108200a418080808078360240200a280244210d024002400240024002400240024002400240024002400240024002400240024002400240200a2d00790d00200a2802482113200a4180016a41186a200f41186a2209290000370300200a4180016a41106a200f41106a2205290000370300200a4180016a41086a200f41086a2204290000370300200a200f290000370380014100210b0240200a28024c418080808078460d00200a200a2902503702a801200a41fce5c280003602a4012002210b0b200a200b3602a00102400240200228024422060d0041002104200a41003602b001410021060c010b200a41f0016a41186a2009290000370300200a41f0016a41106a2005290000370300200a41f0016a41086a2004290000370300200a200f2900003703f001200a41b0016a2006200a41f0016a10b28b808000200a2802b00122094100472104200a41b0016a410020091b21060b02400240200228024822090d0041002109200a41003602c001410021050c010b200228024c220c2802080d02200c41086a2214417f36020020092802080d03200941086a2215417f360200200228025022052802080d042005417f360208200a200541086a3602d401200a20143602cc01200a20153602c401200a200541106a3602d001200a200c410c6a3602c801200a200941106a22053602c00120054100472109200a41c0016a410020051b21050b200a4190e6c2800041fce5c28000200b1b36029402200a200a41a0016a2002200b1b36029002200a41d4e6c2800036028c02200a200536028802200a410036028402200a200936028002200a41b8e6c280003602fc01200a20063602f801200a41003602f401200a20043602f001200a200a4180016a36029802200a41d8016a200a41046a200a41f0016a10d1898080002008418080808078460d05200a2802d8012202418280808078480d04200a2802e0012013470d04200a2802dc01220b200d201310ed968080000d04200a41e4016a200a41046a200a41f0016a10d18980800002402002450d00200b41002802a8bfd38000118080808000000b200a41d8016a41086a200a41e4016a41086a280200360200200a200a2902e4013703d8010c040b41808080807821140240200841808080807872418080808078470d004200210e0c160b200d41002802a8bfd38000118080808000000c050b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b2008450d00200d41002802a8bfd38000118080808000000b200a2802e0012108200a2802dc01210d200a2802d80121140240200a2802c001450d00200a2802c4012202200228020041016a360200200a2802cc012202200228020041016a360200200a2802d4012202200228020041016a3602000b0240200a2802b001450d00200a2802b4012202200228020041016a360200200a2802b801450d00200a2802bc012202200228020041016a3602000b024020144180808080786a0e020200030b200a41013a00790b4200210e41808080807821140c0e0b200a41023a0079200d280200220241858080807846200a2d007871210b0240024002400240200241fcffffff076a2202410320024105491b0e0403030102000b200d280204450d02200d28020841002802a8bfd38000118080808000000c020b200d280204450d01200d28020841002802a8bfd38000118080808000000c010b200d10f5858080000b200d41002802a8bfd38000118080808000004200210e4180808080782114200b450d010c0d0b02402010450d0020112007470d00200721110c0c0b0240024002400240024020030d0020012802b401220c450d0420012802b80121130340200c41a07e6a2104200c41a4136a2102200c2f01aa142215410c6c2109417f2105024002400340024020090d00201521050c020b2002280208210b20022802042106200941746a2109200541016a2105200441e0016a21042002410c6a2102417f200d20062008200b2008200b491b10ed9680800022062008200b6b20061b220b410047200b4100481b220b4101460d000b200b41ff0171450d010b2013450d062013417f6a2113200c20054102746a41ac146a280200210c0c010b0b2004200428020041054b22024103746a280200220b450d060240200441046a2209280200200920021b200b412c6c6a220b41546a2205280200220241014b0d00200b41586a22062802002104200b41706a280200210902402002410171450d0020042009460d010b200a200b41646a3602f001200a41f0016a20022004200910a8968080002006200936020041012102200541013602000b4158210902400240024002402002417e6a2202410220024102491b0e03010200010b416421090b200b20096a22020d010b20012802000d082001200129030842017c3703082001280210450d044188f8cc8000108081808000000b20012802000d08200228020821022001200129030842017c3703082001280210450d014188f8cc8000108081808000000b20012802a8012215450d01200341086a2802002105200341046a280200211320012802ac0121160340201541a07f6a2106201541a4086a210220152f01aa092217410c6c2109417f2104024002400340024020090d00201721040c020b2002280208210b2002280204210c200941746a2109200441016a2104200641e0006a21062002410c6a2102417f2013200c2005200b2005200b491b10ed96808000220c2005200b6b200c1b220b410047200b4100481b220b4101460d000b200b41ff0171450d010b2016450d032016417f6a2116201520044102746a41ac096a28020021150c010b0b2006280200220c450d01200641046a28020021130340200c41a07e6a2104200c41a4136a2102200c2f01aa142215410c6c2109417f2105024002400340024020090d00201521050c020b2002280208210b20022802042106200941746a2109200541016a2105200441e0016a21042002410c6a2102417f200d20062008200b2008200b491b10ed9680800022062008200b6b20061b220b410047200b4100481b220b4101460d000b200b41ff0171450d010b2013450d032013417f6a2113200c20054102746a41ac146a280200210c0c010b0b2004200428020041054b22024103746a280200220b450d080240200441046a2209280200200920021b200b412c6c6a220b41546a2205280200220241014b0d00200b41586a22062802002104200b41706a280200210902402002410171450d0020042009460d010b200a200b41646a3602f001200a41f0016a20022004200910a8968080002006200936020041012102200541013602000b4158210902400240024002402002417e6a2202410220024102491b0e03010200010b416421090b200b20096a22020d010b20012802000d0a2001200129030842017c3703082001280210450d034188f8cc8000108081808000000b20012802000d0a200228020821022001200129030842017c37030820012802100d0b0b200120012903182002ad7c3703182003450d020b200a200836028801200a200d36028401200a201436028001200a4180808080783602f00120012003200a4180016a200a41f0016a10ff85808000201141016a2202417f20021b2111201241016a2202417f20021b21120c0a0b201141016a2202417f20021b21112014450d09200d41002802a8bfd38000118080808000000c090b200a200836028801200a200d36028401200a201436028001200a4180808080783602f0012001200a4180016a200a41f0016a10fc85808000201141016a2202417f20021b2111201241016a2202417f20021b21120c080b41002802ecbfd380004104490d0b200a41013602f401200a418ce7c280003602f001200a42013702fc01200a41b081808000ad422086200a41ef026aad843703c001200a200a41c0016a3602f801200a41e4e7c2800036029001200a411536028c01200a41f8e7c2800036028801200a410436028401200a41f4e7c2800036028001200a41f0016a4104200a4180016a4100200a10da908080000c0b0b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b200a28027c22020d000b41808080807821140c010b41002112024041002802ecbfd380004104490d00200a41b081808000ad422086200a41ef026aad843703f00141002802d4bcd38000210241002802d0bcd38000210b41002802e8bfd380002109200a420137023c200a4101360234200a418ce7c28000360230200a410436022c200a41f4e7c28000360228200a42cd808080c000370220200a4194e7c2800036021c200a4215370214200a41f8e7c28000360210200a410036020c200a4281808080b0d400370204200241c4dbc88000200941024622091b2802102102200a200a41f0016a360238200b41dcdbc8800020091b200a41046a2002118b80808000000b2000418080808078360200410021110c030b200dad210e0b200a2802402202418080808078460d002002450d00200a28024441002802a8bfd38000118080808000000b0240200a28024c2202418080808078460d002002450d00200a28025041002802a8bfd38000118080808000000b0240200a28020c220b450d00200a28020841086a210203402002280200220920092802002209417f6a360200024020094101470d00200210e08a8080000b200241306a2102200b417f6a220b0d000b0b0240200a280204450d00200a28020841002802a8bfd38000118080808000000b0240200a2802384129490d00200a28021041002802a8bfd38000118080808000000b2000201436020020002008ad422086200e843702040b200020113602102000201236020c200a41f0026a2480808080000b865401347f2380808080004180116b2202248080808000200241d8076a41086a200141186a290200370300200220012902103703d807200241086a41086a200141086a290200370300200241186a41086a2001412c6a290000370300200241286a200141346a290000370300200241186a41186a2001413c6a290000370300200220012902003703082002200129002437031802400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024041002d00b4bdd380004101460d0020012802202103410041013a00b4bdd3800041002802b0bdd380002104410041b1818080003602b0bdd3800041002d00ccbdd380004101460d01410041013a00ccbdd3800041002802c8bdd380002105410041b2818080003602c8bdd3800041002d00a4bdd380004101460d02410041013a00a4bdd3800041002802a0bdd380002106410041b3818080003602a0bdd3800041002d009cbdd380004101460d03410041013a009cbdd380004100280298bdd380002107410041b481808000360298bdd3800041002d0084bdd380004101460d04410041013a0084bdd380004100280280bdd380002108410041b581808000360280bdd3800041002d00c4bdd380004101460d05410041013a00c4bdd3800041002802c0bdd380002109410041b6818080003602c0bdd3800041002d008cbdd380004101460d06410041013a008cbdd380004100280288bdd38000210a410041b781808000360288bdd3800041002d00fcbcd380004101460d07410041013a00fcbcd3800041002802f8bcd38000210b410041b8818080003602f8bcd3800041002d00acbdd380004101460d08410041013a00acbdd3800041002802a8bdd38000210c410041b9818080003602a8bdd3800041002d00d4bdd380004101460d09410041013a00d4bdd3800041002802d0bdd38000210d410041ba818080003602d0bdd3800041002d00bcbdd380004101460d0a410041013a00bcbdd3800041002802b8bdd38000210e410041bb818080003602b8bdd3800041002d0094bdd380004101460d0b410041013a0094bdd380004100280290bdd38000210f410041bc81808000360290bdd3800041002d00acbed380004101460d0c410041013a00acbed3800041002802a8bed380002110410041bd818080003602a8bed3800041002d00bcbed380004101460d0d410041013a00bcbed3800041002802b8bed380002111410041be818080003602b8bed3800041002d00ccbed380004101460d0e410041013a00ccbed3800041002802c8bed380002112410041bf818080003602c8bed3800041002d0094bed380004101460d0f410041013a0094bed380004100280290bed380002113410041c081808000360290bed3800041002d00d4bed380004101460d10410041013a00d4bed3800041002802d0bed380002114410041c1818080003602d0bed3800041002d00a4bed380004101460d11410041013a00a4bed3800041002802a0bed380002115410041c2818080003602a0bed3800041002d009cbed380004101460d12410041013a009cbed380004100280298bed380002116410041c381808000360298bed3800041002d00c4bed380004101460d13410041013a00c4bed3800041002802c0bed380002117410041c4818080003602c0bed3800041002d00b4bed380004101460d14410041013a00b4bed3800041002802b0bed380002118410041c5818080003602b0bed3800041002d00fcbdd380004101460d15410041013a00fcbdd3800041002802f8bdd380002119410041c6818080003602f8bdd3800041002d00f4bdd380004101460d16410041013a00f4bdd3800041002802f0bdd38000211a410041c7818080003602f0bdd3800041002d00b0bcd380004101460d17410041013a00b0bcd3800041002802acbcd38000211b410041c8818080003602acbcd38000200241003602e807200241e80b6a200241d8076a10fb83808000200241d8076a410c6a221c20022802dc0720022802e00720022802d8072802101185808080000020022802e80b221d418180808078460d18200241a8016a41086a200241800c6a280200360200200220022902f80b3703a80120022802f40b211e20022802f00b210120022802ec0b211f2002413c6a200241840c6a41ec0010e9968080001a20024180036a200241086a410c6a2220200228020c2002280210200228020828020011838080800000200241d8076a41086a222120024180036a41086a29020037030020022002290280033703d807200241003602e807200241e80b6a200241d8076a10ed83808000201c20022802dc07202128020020022802d8072802101185808080000020022802e80b418080808078460d19200241b8016a200241e80b6a41f00010e9968080001a02400240201d418080808078460d0041002d00b8bfd380001a41fc0041002802b0bfd3800011828080800000221c450d1c200241880c6a200241a8016a41086a22212802003602002002201e3602fc0b200220013602f80b2002201f3602f40b2002201d3602f00b200241013602ec0b200220022903a8013702800c2002418c0c6a2002413c6a41e00010e9968080001a201c201e36020c201c2001360208201c201f360204201c201d360200201c20022903a801370210201c41186a2021280200360200201c411c6a2002413c6a41e00010e9968080001a200241013602e80b200241e80b6a10808b808000200241a8026a41086a200241a4016a2802003602002002200229029c013703a802201c21014101211f4101211e0c010b200241a8026a41086a200241a8016a41086a280200360200200220022903a8013703a802201e450d1c0b200241d8076a200241b8016a10e983808000200241e80b6a20022802dc07221d20022802e0074100280288bfd38000118580808000002001410c6a211c024020022802d807450d00201d41002802a8bfd38000118080808000000b201c200241e80b6a412010ed968080000d1c200241003602b802200241003602c40220024280808080c0003702bc02200241003602d00220024280808080c0003702c802200241003602dc0220024280808080c0003702d402200241003602e00220024180808080783602e40220024180808080783602f0022002201e3602fc02200241e80b6a200241a8026a200241e8016a222210d78e80800020022802e80b4101460d1d200241d8076a200241f00b6a41c80010e9968080001a20022802ac02212320022802a8022124024020022802b002221c450d00201c41017121254100211d0240201c4101460d00201c417e7121212023211c4100211d03400240201c280200450d00201c41046a28020041002802a8bfd38000118080808000000b0240201c410c6a280200450d00201c41106a28020041002802a8bfd38000118080808000000b201c41186a211c2021201d41026a221d470d000b0b2025450d002023201d410c6c6a221c280200450d00201c28020441002802a8bfd38000118080808000000b02402024450d00202341002802a8bfd38000118080808000000b200241e80b6a10c08b808000200241f8056a41186a221c202241186a290200370300200241f8056a41106a221d202241106a290200370300200241f8056a41086a2221202241086a290200370300200220222902003703f805200241e00a6a41fce9c2800041014100280288bfd380001185808080000020024180036a41106a200241e80b6a41086a29030037030020024180036a41186a200241e80b6a41106a29030037030020024180036a41206a200241e80b6a41186a29030037030020024180036a41286a200241e80b6a41206a29030037030020024180036a41306a200241e80b6a41286a29030037030020024180036a41386a200241e80b6a41306a290300370300200241c0036a200241e80b6a41386a2903003703002002420137038003200220022903e80b3703880320024180036a41c8006a200241d8076a41c80010e9968080002122200241a8046a2223201c290300370300200241a0046a221c201d29030037030020024198046a221d2021290300370300200241b8046a200241e00a6a41086a290300370300200241c0046a200241e00a6a41106a290300370300200241c8046a200241e00a6a41186a2903003703002002428080808080808080807f3703e004200241003602d004200220022903f80537039004200220022903e00a3703b004200241ec056a108e8d808000200241840c6a2023290300370200200241fc0b6a201c290300370200200241f40b6a201d290300370200200220024180036a41086a41002002280280031b3602980c2002410036028c0c200220223602e80b20022002290390043702ec0b20022802ec05221d201d28020041016a221c360200201c450d1e20022802f0052221202128020041016a221c360200201c450d1e20022802f4052222202228020041016a221c360200201c450d1e200241e0106a41086a200241e80b6a41046a221c41086a290000370300200241e0106a41106a2223201c41106a290000370300200241e0106a41186a2224201c41186a2900003703002002201c2900003703e01020022802980c212520022802e80b21260240200228028c0c221c450d00201c201c280200417f6a2227360200024020270d002002418c0c6a10c98b8080000b20022802900c221c201c280200417f6a221c3602000240201c0d00200241900c6a10cc8b8080000b20022802940c221c201c280200417f6a221c360200201c0d00200241940c6a10ca8b8080000b200241ec056a41046a2128200241ec056a41086a2129200241e80b6a41fce9c2800041014100280288bfd380001185808080000020024194066a2024290300370200200241f8056a41146a2023290300370200200241f8056a410c6a200241e0106a41086a290300370200200241f8056a412c6a200241e80b6a41086a290200370200200241ac066a200241e80b6a41106a290200370200200241b4066a200241e80b6a41186a290200370200200220263602f8052002428080808080808080807f3702cc06200220223602c806200220213602c4062002201d3602c006200220253602bc06200220022903e0103702fc05200220022902e80b37029c06200241003a00dc09200241003602d80920024200370294092002420037038809200241003a00c00a200241003602bc0a20024280808080c0003702b40a200241003a00b00a200241003602ac0a200242003703e809200241003602e0092002410036028009200242003703900820024100360288082002420037038008200241003602f807200242003703f007200241003602e807200242003703e007200241003602d807200241d8076a41c0006a200241e80e6a41d80010e9968080001a200241fc086a200241dc0e6a41086a222a28020036020020024180808080783602f008200220022902dc0e3702f408200241003602d80a2002201f3602d00a200220013602c80a20022001201e41fc006c6a222b3602d40a200241c40f6a41cc006a211e200241c40f6a412c6a2122200241c40f6a41086a211f200241bc106a41086a212c200241bc106a41046a212d200241dc0b6a41086a212e200241dc0b6a41046a212f200241840d6a2127200241e80b6a41c0006a2130200241e80b6a41d0006a2123200241980c6a2124200241e80b6a410c6a2125200241e00a6a41046a2131200241f8056a41d0006a2132200241f8056a41cc006a2133200241c0066a21344100211c03402002200141fc006a22263602cc0a2001280200221d418080808078460d21200241c40f6a200141046a41f80010e9968080001a2002201c41016a22353602d80a2031200241c40f6a41f80010e9968080001a2002201d3602e00a2002201c3602dc0a202541186a201f41186a290200370200202541106a201f41106a290200370200202541086a201f41086a2902003702002025201f29020037020020242022290200370200202441086a202241086a290200370200202441106a202241106a290200370200202441186a202241186a2902003702002023201e290200370200202341086a201e41086a290200370200202341106a201e41106a290200370200202341186a201e41186a290200370200200228028c0b2101200241e80b6a200241e00a6a41f0f6c2800010d38b808000200220013602940c024020022802c001221c450d0020022802bc0121010340024020012d0000221d41034b0d002001201d4102744180f7c280006a2802006a221d280200450d00201d41046a28020041002802a8bfd38000118080808000000b200141146a2101201c417f6a221c0d000b0b024020022802b801450d0020022802bc0141002802a8bfd38000118080808000000b200241b8016a200241e80b6a41f00010e9968080001a20022802d80b4190026c211c20022802d40b220141907f6a21210340201c450d2120012903004202520d2120012802a001211d201c41f07d6a211c20214190026a212120014190026a2101201d418080808078460d00201d41ffffffff076a221d41074b201d41014672450d000b20212003200241186a200228020c200228021010ea81808000200241dc0b6a108e8d808000200241003a00ec0d200241003602e80d200242003702a40d200241003a00d00e200241003602cc0e20024280808080c0003702c40e200241003a00c00e200241003602bc0e200242003703f80d200241003602f00d200242003703980d200241003602900d200242003703a00c200241003602980c200242003703900c200241003602880c200242003703800c200241003602f80b200242003703f00b200241003602e80b2030200241e80e6a41d80010e9968080001a202720022902dc0e370200202741086a202a28020036020020024180808080783602800d200241003b01c410200220024180036a3602c0102002200241e80b6a3602bc1020024194ebc280003602cc102002200241dc0b6a3602c810200220213602d8102002200241e00a6a3602dc102002200241bc106a3602d4102002200241c8106a3602d0104190bcd38000200241d0106a10d58c808000200241e80b6a10918680800020022802dc0b22012001280200417f6a2201360200024020010d00200241dc0b6a10c98b8080000b20022802e00b22012001280200417f6a2201360200024020010d00202f10cc8b8080000b20022802e40b22012001280200417f6a2201360200024020010d00202e10ca8b8080000b200241e80b6a200241e00a6a41fc0010e9968080001a200241003b01d8102002200241f8056a3602d4102002200241d8076a3602d01020024194ebc280003602c0102002200241bc106a3602e80c2002200241d0106a3602e40c2002200241ec056a3602bc104190bcd38000200241e80b6a10de8c808000200241bc106a108e8d808000200241003b01d810200220024180036a3602d4102002200241d8076a3602d01020024194ebc280003602e00b2002200241bc106a3602dc0b2002200241b8016a3602940c2002200241e4026a3602900c2002200241fc026a36028c0c2002200241dc0a6a3602880c2002200241e0026a3602840c2002200241d4026a3602800c2002200241b8026a3602fc0b2002200241bc026a3602f80b2002200241c8026a3602f40b2002200241f0026a3602f00b2002200241d0106a3602ec0b2002200241dc0b6a3602e80b4190bcd38000200241e80b6a10d68c80800020022802bc1022012001280200417f6a2201360200024020010d00200241bc106a10c98b8080000b20022802c01022012001280200417f6a2201360200024020010d00202d10cc8b8080000b20022802c41022012001280200417f6a2201360200024020010d00202c10ca8b8080000b2035211c202621012026202b470d000c210b0b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b200241003602f80b200241013602ec0b200241d0a6c380003602e80b200242043702f00b200241e80b6a41d8a6c3800010f280808000000b4190ecc28000411c200241dc0a6a41dcebc2800041acecc2800010a481808000000b41ecebc280004113200241dc0a6a41dcebc280004180ecc2800010a481808000000b410441fc00418ce1c2800010ae80808000000b418de8c280004128419ce9c28000108b81808000000b200242003702e40720024281808080c0003702dc07200241e4e9c280003602d8074100201c200241e80b6a200241d8076a41ece9c2800010ae82808000000b200241003602e807200241013602dc07200241c4ebc280003602d807200242043702e007200241d8076a41ccebc2800010f2808080000b000b41a0eec28000412d41d0eec28000108b81808000000b200241c80a6a10e38880800002400240024002400240024020022802d0022224450d00200241003a00c81020024180808080783602d0102024410c6c212120022802cc0241086a211c200241e80b6a41066a2122200241c8106a41016a2123200241c80a6a41066a211f0340201c417c6a28020021012002201c280200221d3602c010200220013602bc100240024002400240201d450d002002201d417f6a221e3602c0102002200141016a3602bc100240024020012d00000e020001020b201e450d012002201d417e6a221e3602c0102002200141026a3602bc10201e450d0120012d0001211e2002201d417d6a3602c0102002200141036a3602bc1020012d0002210120022d00c8100d02200220013a00ca102002201e3a00c910200241013a00c8100c040b200241e80b6a200241bc106a10e98780800020022802e80b2201418080808078470d020b41f4edc28000411c200241dc0a6a41dcebc280004190eec2800010a481808000000b200220233602c80a024020022d00c910201e41ff0171470d0020022d00ca1041ff0171200141ff0171460d020b200241023602ec0b200241f8ecc280003602e80b200242023702f40b200220013a00dd0b2002201e3a00dc0b200241c981808000ad422086200241dc0b6aad843703e80a200241ca81808000ad422086200241c80a6aad843703e00a2002200241e00a6a3602f00b200241e80b6a4188edc2800010f280808000000b20022f01ec0b211d201f41046a202241046a2f01003b0100201f20222801003601002002201d3b01cc0a200220013602c80a024020022802d010418080808078460d0020022802d00a211e20022802d810211d2002200241d0106a3602dc0b201d201e470d0420022802d41020022802cc0a221e201d10ed968080000d042001450d01201e41002802a8bfd38000118080808000000c010b200241d0106a41086a200241c80a6a41086a280200360200200220022902c80a3703d0100b201c410c6a211c202141746a22210d000b20022802c402220141ffff004b0d020240200120022802bc02470d00200241bc026a41e4f7c3800010ed8a8080000b20022802c0022001410c6c6a221c4100290280eac28000370200201c41086a4100280288eac280003602002002200141016a221c3602c40220022802c802211e20022802cc0221210240024002400240201c20022802d00222016a222241818001490d0002402001450d002001410171211f4100211c024020014101460d00200141feffffff0071211d202121014100211c034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b02402001410c6a280200450d00200141106a28020041002802a8bfd38000118080808000000b200141186a2101201d201c41026a221c470d000b0b201f450d002021201c410c6c6a2201280200450d00200128020441002802a8bfd38000118080808000000b201e0d010c020b2001410c6c211d024020022802bc02201c6b20014f0d00200241bc026a201c20014104410c10948a80800020022802c402211c0b20022802c002201c410c6c6a2021201d10e9968080001a200220022802c40220016a3602c402201e450d020b202141002802a8bfd38000118080808000000b2022418080014b0d040b20022802d0102201418080808078460d002001450d0020022802d41041002802a8bfd38000118080808000000b20022802e4022201418080808078460d03200020022902bc0237020c200020022902d402370218200020022802e002360234200020022802b802360230200020022902f402370228200020022802f002360224200020022902e80237020420002001360200200041146a200241bc026a41086a280200360200200041206a200241d4026a41086a280200360200200241d8076a109186808000024020022802c0062201450d0020012001280200417f6a221c3602000240201c0d00203410c98b8080000b20022802c40622012001280200417f6a2201360200024020010d00203310cc8b8080000b20022802c80622012001280200417f6a220136020020010d00203210ca8b8080000b024020022802d0062201418080808078460d0002402001450d0020022802d40641002802a8bfd38000118080808000000b02402002280298072201418080808078460d002001450d00200228029c0741002802a8bfd38000118080808000000b024020022802a4072201418080808078460d002001450d0020022802a80741002802a8bfd38000118080808000000b024020022802e406221c450d0020022802e00641086a210103402001280200221d201d280200221d417f6a3602000240201d4101470d00200110e08a8080000b200141306a2101201c417f6a221c0d000b0b024020022802dc06450d0020022802e00641002802a8bfd38000118080808000000b2002280290074129490d0020022802e80641002802a8bfd38000118080808000000b20022802ec0522012001280200417f6a2201360200024020010d00200241ec056a10c98b8080000b20022802f00522012001280200417f6a2201360200024020010d00202810cc8b8080000b20022802f40522012001280200417f6a2201360200024020010d00202910ca8b8080000b20024180036a109286808000024020022802e4042201418080808078460d0002402001450d0020022802e80441002802a8bfd38000118080808000000b024020022802ac052201418080808078460d002001450d0020022802b00541002802a8bfd38000118080808000000b024020022802b8052201418080808078460d002001450d0020022802bc0541002802a8bfd38000118080808000000b024020022802f804221c450d0020022802f40441086a210103402001280200221d201d280200221d417f6a3602000240201d4101470d00200110e08a8080000b200141306a2101201c417f6a221c0d000b0b024020022802f004450d0020022802f40441002802a8bfd38000118080808000000b20022802a4054129490d0020022802fc0441002802a8bfd38000118080808000000b20240d04024020022802d0022201450d0020022802cc0221212001410171211e4100211c024020014101460d002001417e71211d202121014100211c034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b02402001410c6a280200450d00200141106a28020041002802a8bfd38000118080808000000b200141186a2101201d201c41026a221c470d000b0b201e450d002021201c410c6c6a2201280200450d00200128020441002802a8bfd38000118080808000000b20022802c802450d0420022802cc0241002802a8bfd38000118080808000000c040b200241023602ec0b200241d4edc280003602e80b200242023702f40b200241cb81808000ad422086200241dc0b6aad843703e80a200241cc81808000ad422086200241c80a6aad843703e00a2002200241e00a6a3602f00b200241e80b6a41e4edc2800010f280808000000b200242013702ec0b200241003602e80b41bceac280004126200241e80b6a41f4eac280004184ebc2800010a481808000000b41bceac280004126200241dc0a6a41aceac2800041e4eac2800010a481808000000b418ceac280004110419ceac28000108b81808000000b024020022802c001221c450d0020022802bc0121010340024020012d0000221d41034b0d002001201d4102744180f7c280006a2802006a221d280200450d00201d41046a28020041002802a8bfd38000118080808000000b200141146a2101201c417f6a221c0d000b0b024020022802b801450d0020022802bc0141002802a8bfd38000118080808000000b410020043602b0bdd38000410020053602c8bdd38000410020063602a0bdd3800041002007360298bdd3800041002008360280bdd38000410020093602c0bdd380004100200a360288bdd380004100200b3602f8bcd380004100200c3602a8bdd38000410041003a00b4bdd38000410041003a00ccbdd38000410041003a00a4bdd38000410041003a009cbdd38000410041003a0084bdd38000410041003a00c4bdd38000410041003a008cbdd38000410041003a00fcbcd38000410041003a00acbdd380004100200d3602d0bdd380004100200e3602b8bdd380004100200f360290bdd38000410020103602a8bed38000410020113602b8bed38000410020123602c8bed3800041002013360290bed38000410020143602d0bed38000410020153602a0bed38000410041003a00d4bdd38000410041003a00bcbdd38000410041003a0094bdd38000410041003a00acbed38000410041003a00bcbed38000410041003a00ccbed38000410041003a0094bed38000410041003a00d4bed38000410041003a00a4bed3800041002016360298bed38000410020173602c0bed38000410020183602b0bed38000410020193602f8bdd380004100201a3602f0bdd380004100201b3602acbcd38000410041003a009cbed38000410041003a00c4bed38000410041003a00b4bed38000410041003a00fcbdd38000410041003a00f4bdd38000410041003a00b0bcd380002020200228020c200228021020022802082802101185808080000020024180116a2480808080000b02000b02000b990902077f027e23808080800041306b22012480808080000240024020002802b40122020d0041002102410021030c010b20012002360224200141003602202001200236021420014100360210200120002802b80122023602282001200236021820002802bc012103410121020b2001200336022c2001200236021c2001200236020c2001410c6a108f8b8080000240024020002802c001220341054b0d002003450d01200041c4016a21020340200210d98a8080002002410c6a21022003417f6a22030d000c020b0b200041c4016a2802002104024020002802c8012203450d00200421020340200210d98a8080002002410c6a21022003417f6a22030d000b0b200441002802a8bfd38000118080808000000b410021024100210341002104024020002802a8012205450d0020012005360224200141003602202001200536021420014100360210200120002802ac0122033602282001200336021820002802b0012104410121030b2001200436022c2001200336021c2001200336020c2001410c6a108e8b8080004100210302402000280288022204450d00200120043602242001410036022020012004360214200141003602102001200028028c022202360228200120023602182000280290022103410121020b2001200336022c2001200236021c2001200236020c2001410c6a10908b80800020004194026a10a18f808000024020002802e4022202450d0020002802e00221062002410171210741002103024020024101460d002002417e71210520062102410021030340024020022002280200418080808078464102746a2204280200450d00200441046a28020041002802a8bfd38000118080808000000b02402002200241146a280200418080808078464102746a220441146a280200450d00200441186a28020041002802a8bfd38000118080808000000b200241286a21022005200341026a2203470d000b0b2007450d002006200341146c6a22022002280200418080808078464102746a2202280200450d00200228020441002802a8bfd38000118080808000000b024020002802dc02450d0020002802e00241002802a8bfd38000118080808000000b0240200028029801418080808078460d00024020002802642206450d000240200028026c2205450d002000280260220341086a21022003290300427f8542808182848890a0c0807f8321080340024020084200520d000340200341a07e6a210320022903002108200241086a22042102200842808182848890a0c0807f83220842808182848890a0c0807f510d000b200842808182848890a0c0807f852108200421020b02402003410020087aa74103766b411c6c6a220441646a280200450d00200441686a28020041002802a8bfd38000118080808000000b2008427f7c21090240200441706a280200450d00200441746a28020041002802a8bfd38000118080808000000b200920088321082005417f6a22050d000b0b2006200641016aad421c7ea741076a41787122026a4177460d00200028026020026b41002802a8bfd38000118080808000000b200028029801450d00200028029c0141002802a8bfd38000118080808000000b200141306a2480808080000b9f0704047f017e017f017e0240200028024c2201450d00024020002802542202450d002000280248220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341807d6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2005427f7c210702402003410020057aa74103766b41306c6a220641706a280200450d00200641746a28020041002802a8bfd38000118080808000000b200720058321052002417f6a22020d000b0b2001200141016aad42307ea722046a4177460d00200028024820046b41002802a8bfd38000118080808000000b0240200028028001450d0020002802840141002802a8bfd38000118080808000000b02402000290300500d00024020002802142201450d000240200028021c2202450d002000280210220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341c0776a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2003410020057aa74103766b4188016c6a41987f6a10d6848080002005427f7c20058321052002417f6a22020d000b0b2001200141016aad4288017ea722046a4177460d00200028021020046b41002802a8bfd38000118080808000000b20002802342201450d000240200028023c2202450d002000280230220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341c07c6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2003410020057aa74103766b41386c6a41486a10d4848080002005427f7c20058321052002417f6a22020d000b0b2001200141016aad42387ea722046a4177460d00200028023020046b41002802a8bfd38000118080808000000b024020002802d0012204450d0020042004280200417f6a2203360200024020030d00200041d0016a10c98b8080000b20002802d40122042004280200417f6a2204360200024020040d00200041d4016a10cc8b8080000b20002802d80122042004280200417f6a220436020020040d00200041d8016a10ca8b8080000b0b1200200141e0eec28000410210e5808080000b940301077f23808080800041f0006b2203248080808000200341046a2002410c6a41d40010e9968080001a02402003280218220420032802102205200541054b22061b0d00200328020c210720032802082108200328020421090240024020060d002005450d01200341046a41106a21060340200610d98a8080002006410c6a21062005417f6a22050d000c020b0b200341046a41106a280200210502402004450d00200521060340200610d98a8080002006410c6a21062004417f6a22040d000b0b200541002802a8bfd38000118080808000000b200020083602282000200936022420004100360220200020083602182000200936021420004100360210200020022902603702302000200229020037020020002007410020091b36022c20002009410047220636021c2000200636020c200041386a200241e8006a280200360200200041086a200241086a280200360200200341f0006a2480808080000f0b200341003602682003410136025c200341fce3c2800036025820034204370260200341d8006a4184e4c2800010f280808000000b3301017f20002802042201200128020041016a36020002402000280208450d00200028020c2200200028020041016a3602000b0b3a01017f20002802042201200128020041016a360200200028020c2201200128020041016a36020020002802142200200028020041016a3602000b7301017f200028020022012001280200417f6a2201360200024020010d00200010c98b8080000b200028020422012001280200417f6a2201360200024020010d00200041046a10cc8b8080000b200028020822012001280200417f6a2201360200024020010d00200041086a10ca8b8080000b0b220002402000280200450d00200028020441002802a8bfd38000118080808000000b0b7e01027f024020002802482201450d0020012001280200417f6a2202360200024020020d00200041c8006a10c98b8080000b200028024c22012001280200417f6a2201360200024020010d00200041cc006a10cc8b8080000b200028025022012001280200417f6a220136020020010d00200041d0006a10ca8b8080000b0bcc0101057f024020034108490d00200020002003410376220341d0006c22046a20002003418c016c22056a2003109a8680800021002001200120046a200120056a2003109a8680800021012002200220046a200220056a2003109a8680800021020b0240200028020022052001280200220649200041106a2802002203200141106a28020022044920032004461b2207200520022802002208492003200241106a28020022054920032005461b470d002002200120072006200849200420054920042005461b731b21000b20000b9e0101027f024020034108490d00200020002003410376220341077422046a2000200341e0016c22056a2003109b8680800021002001200120046a200120056a2003109b8680800021012002200220046a200220056a2003109b8680800021020b024020002001412010ed96808000220320002002412010ed96808000734100480d002002200120012002412010ed968080002003734100481b21000b20000b8c0101037f024020034108490d00200020002003410376220341067422046a2000200341f0006c22056a2003109c8680800021002001200120046a200120056a2003109c8680800021012002200220046a200220056a2003109c8680800021020b200020022001200028020022032001280200220449220520042002280200220649731b20052003200649731b0bfd0101067f024020034108490d00200020002003410376220341067422046a2000200341f0006c22056a2003109d8680800021002001200120046a200120056a2003109d8680800021012002200220046a200220056a2003109d8680800021020b2000280200220620012802002207200041046a2802002203200141046a280200220420032004491b10ed96808000210802402006200228020022092003200241046a280200220520032005491b10ed968080002206200320056b20061b2008200320046b20081b2203734100480d0020022001200720092004200520042005491b10ed968080002200200420056b20001b2003734100481b21000b20000b860201067f024020034108490d00200020002003410376220341306c22046a2000200341d4006c22056a2003109e8680800021002001200120046a200120056a2003109e8680800021012002200220046a200220056a2003109e8680800021020b200041046a2802002206200141046a2802002207200041086a2802002203200141086a280200220420032004491b10ed96808000210802402006200241046a28020022092003200241086a280200220520032005491b10ed968080002206200320056b20061b2008200320046b20081b2203734100480d0020022001200720092004200520042005491b10ed968080002200200420056b20001b2003734100481b21000b20000b8c0101037f024020034108490d00200020002003410376220341306c22046a2000200341d4006c22056a2003109f8680800021002001200120046a200120056a2003109f8680800021012002200220046a200220056a2003109f8680800021020b200020022001200028020022032001280200220449220520042002280200220649731b20052003200649731b0b8d0101037f024020034108490d0020002000200341037622034190016c22046a2000200341fc016c22056a200310a08680800021002001200120046a200120056a200310a08680800021012002200220046a200220056a200310a08680800021020b200020022001200028020022032001280200220449220520042002280200220649731b20052003200649731b0b9f0101027f024020034108490d00200020002003410376220341d0006c22046a20002003418c016c22056a200310a18680800021002001200120046a200120056a200310a18680800021012002200220046a200220056a200310a18680800021020b024020002001410810ed96808000220320002002410810ed96808000734100480d002002200120012002410810ed968080002003734100481b21000b20000bf70101097f024020014108490d0020002001410376220341d4006c6a21042000200341306c6a210502400240200141c000490d002000200520042003109e8680800021060c010b200041046a2802002207200541046a2802002208200041086a2802002201200541086a280200220320012003491b10ed968080002109200021062007200441046a280200220a2001200441086a280200220b2001200b491b10ed9680800022072001200b6b20071b2009200120036b20091b2201734100480d00200420052008200a2003200b2003200b491b10ed9680800022062003200b6b20061b2001734100481b21060b200620006b410c6e0f0b000bee0101097f024020014108490d0020002001410376220341f0006c6a2104200020034106746a210502400240200141c000490d002000200520042003109d8680800021060c010b2000280200220720052802002208200041046a2802002201200541046a280200220320012003491b10ed9680800021092000210620072004280200220a2001200441046a280200220b2001200b491b10ed9680800022072001200b6b20071b2009200120036b20091b2201734100480d00200420052008200a2003200b2003200b491b10ed9680800022062003200b6b20061b2001734100481b21060b200620006b4104760f0b000b1e00200128021c41e4efc28000410c200128022028020c118180808000000b1e00200128021c41f0efc280004105200128022028020c118180808000000b2601017f23808080800041106b2202248080808000200241086a200128020410a18e808000000b2601017f23808080800041106b2202248080808000200241086a200128020410a28e808000000bef0101037f23808080800041206b2208248080808000024002402003410f4b0d00200241ef85cd8000200310ed9680800021090c010b41ef85cd80002002410f10ed9680800021090b024002402009450d002001280200220920022003108186808000210a2008410c6a200920012802044100200220032004200520062007108c86808000200041086a2008410c6a41086a2802003602002000200829020c370200200a200828021822036a2102200828021c21010c010b20004180808080783602004100210341002102410021010b20002001360214200020023602102000200336020c200841206a2480808080000bef0101037f23808080800041206b2208248080808000024002402003410f4b0d00200241ef85cd8000200310ed9680800021090c010b41ef85cd80002002410f10ed9680800021090b024002402009450d002001280200220920022003108186808000210a2008410c6a200920012802044100200220032004200520062007108d86808000200041086a2008410c6a41086a2802003602002000200829020c370200200a200828021822036a2102200828021c21010c010b20004180808080783602004100210341002102410021010b20002001360214200020023602102000200336020c200841206a2480808080000bc709020b7f037e23808080800041f0006b22042480808080000240024002400240024002400240024002400240200128020022052802b4012206450d0020052802b80121070340200641a07e6a2108200641a4136a210920062f01aa14220a410c6c210b417f210c0240024003400240200b0d00200a210c0c020b2009280208210d2009280204210e200b41746a210b200c41016a210c200841e0016a21082009410c6a2109417f2002200e2003200d2003200d491b10ed96808000220e2003200d6b200e1b220d410047200d4100481b220d4101460d000b200d41ff0171450d010b2007450d022007417f6a21072006200c4102746a41ac146a28020021060c010b0b2008200828020041054b22094103746a280200220d450d050240200841046a220b280200200b20091b200d412c6c6a220d41546a2203280200220941014b0d00200d41586a2208280200210c200d41706a280200210b02402009410171450d00200c200b460d010b2004200d41646a36024c200441cc006a2009200c200b10a8968080002008200b36020041012109200341013602000b4158210b02400240024002402009417e6a2209410220094102491b0e03010200010b4164210b0b200d200b6a22090d010b20052802000d072005200529030842017c3703082005280210450d024188f8cc8000108081808000000b20052802000d072009350208210f2005200529030842017c3703082005280210450d024188f8cc8000108081808000000b200441cc006a20012802042002200310f78d80800020042d004c22094102460d07200441086a41186a200441e5006a290000220f370300200441086a41106a200441dd006a2900002210370300200441086a41086a200441d5006a2900002211370300200441286a41086a2011370300200441286a41106a2010370300200441286a41186a200f3703002004200429004d220f3703082004200f37032820094101710d020b20004180808080783602000c020b20052005290318200f7c370318200441086a200928020420092802084100280288bfd3800011858080800000200441286a41186a200441086a41186a290000370300200441286a41106a200441086a41106a290000370300200441286a41086a200441086a41086a290000370300200420042900083703280b20044100360254200442808080801037024c41002d00b8bfd380001a412041002802b0bfd38000118280808000002209450d0520092004290328370000200941186a2203200441286a41186a290300370000200941106a220c200441286a41106a290300370000200941086a2208200441286a41086a290300370000200441cc006a4100412010fc908080002004280250200441cc006a41086a220b280200220e6a220d2009290000370000200d41086a2008290000370000200d41106a200c290000370000200d41186a2003290000370000200b200e41206a360200200941002802a8bfd3800011808080800000200041086a200b2802003602002000200429024c3702000b200441f0006a2480808080000f0b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4184f1c280004130200441ef006a41f4f0c2800041b4f1c2800010a481808000000b4101412010b980808000000bc709020b7f037e23808080800041f0006b22042480808080000240024002400240024002400240024002400240200128020022052802b4012206450d0020052802b80121070340200641a07e6a2108200641a4136a210920062f01aa14220a410c6c210b417f210c0240024003400240200b0d00200a210c0c020b2009280208210d2009280204210e200b41746a210b200c41016a210c200841e0016a21082009410c6a2109417f2002200e2003200d2003200d491b10ed96808000220e2003200d6b200e1b220d410047200d4100481b220d4101460d000b200d41ff0171450d010b2007450d022007417f6a21072006200c4102746a41ac146a28020021060c010b0b2008200828020041054b22094103746a280200220d450d050240200841046a220b280200200b20091b200d412c6c6a220d41546a2203280200220941014b0d00200d41586a2208280200210c200d41706a280200210b02402009410171450d00200c200b460d010b2004200d41646a36024c200441cc006a2009200c200b10a8968080002008200b36020041012109200341013602000b4158210b02400240024002402009417e6a2209410220094102491b0e03010200010b4164210b0b200d200b6a22090d010b20052802000d072005200529030842017c3703082005280210450d024188f8cc8000108081808000000b20052802000d072009350208210f2005200529030842017c3703082005280210450d024188f8cc8000108081808000000b200441cc006a20012802042002200310f58d80800020042d004c22094102460d07200441086a41186a200441e5006a290000220f370300200441086a41106a200441dd006a2900002210370300200441086a41086a200441d5006a2900002211370300200441286a41086a2011370300200441286a41106a2010370300200441286a41186a200f3703002004200429004d220f3703082004200f37032820094101710d020b20004180808080783602000c020b20052005290318200f7c370318200441086a200928020420092802084100280288bfd3800011858080800000200441286a41186a200441086a41186a290000370300200441286a41106a200441086a41106a290000370300200441286a41086a200441086a41086a290000370300200420042900083703280b20044100360254200442808080801037024c41002d00b8bfd380001a412041002802b0bfd38000118280808000002209450d0520092004290328370000200941186a2203200441286a41186a290300370000200941106a220c200441286a41106a290300370000200941086a2208200441286a41086a290300370000200441cc006a4100412010fc908080002004280250200441cc006a41086a220b280200220e6a220d2009290000370000200d41086a2008290000370000200d41106a200c290000370000200d41186a2003290000370000200b200e41206a360200200941002802a8bfd3800011808080800000200041086a200b2802003602002000200429024c3702000b200441f0006a2480808080000f0b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4184f1c280004130200441ef006a41f4f0c2800041b4f1c2800010a481808000000b4101412010b980808000000bbd0601067f23808080800041c0026b22032480808080002001280200220441c0006a210502400240200428029801418080808078460d00200341d0006a41186a200541186a290000370300200341d0006a41106a200541106a290000370300200341d0006a41086a200541086a290000370300200320052900003703500c010b200128020421062003410036021c2003410036020c2003410036024020034100360230200320042802b8012207360224200320042802b40122013602202003200736021420032001360210200320042802ac012208360248200320042802a80122073602442003200836023820032007360234200320042802bc01410020011b36022820032001410047220136021820032001360208200320042802b001410020071b36024c20032007410047220436023c2003200436022c200341f0006a2006200341086a2003412c6a200210a58e808000200341d0006a41186a2204200341f0006a41186a290300370300200341d0006a41106a2201200341f0006a41106a290300370300200341d0006a41086a2207200341f0006a41086a29030037030020032003290370370350200341d8016a41206a200341f0006a41206a41c80010e9968080001a200341d8016a41086a2007290300370300200341d8016a41106a2001290300370300200341d8016a41186a2004290300370300200320032903503703d8012005200341d8016a41e80010e9968080001a0b41002d00b8bfd380001a200341003602e00120034280808080103702d8010240412041002802b0bfd380001182808080000022040d004101412010b980808000000b20042003290350370000200441186a2207200341d0006a41186a290300370000200441106a2202200341d0006a41106a290300370000200441086a2206200341d0006a41086a290300370000200341d8016a4100412010fc9080800020032802dc01200341d8016a41086a220128020022086a22052004290000370000200541086a2006290000370000200541106a2002290000370000200541186a20072900003700002001200841206a360200200441002802a8bfd3800011808080800000200041086a2001280200360200200020032902d801370200200341c0026a2480808080000bbd0601067f23808080800041c0026b22032480808080002001280200220441c0006a210502400240200428029801418080808078460d00200341d0006a41186a200541186a290000370300200341d0006a41106a200541106a290000370300200341d0006a41086a200541086a290000370300200320052900003703500c010b200128020421062003410036021c2003410036020c2003410036024020034100360230200320042802b8012207360224200320042802b40122013602202003200736021420032001360210200320042802ac012208360248200320042802a80122073602442003200836023820032007360234200320042802bc01410020011b36022820032001410047220136021820032001360208200320042802b001410020071b36024c20032007410047220436023c2003200436022c200341f0006a2006200341086a2003412c6a200210a68e808000200341d0006a41186a2204200341f0006a41186a290300370300200341d0006a41106a2201200341f0006a41106a290300370300200341d0006a41086a2207200341f0006a41086a29030037030020032003290370370350200341d8016a41206a200341f0006a41206a41c80010e9968080001a200341d8016a41086a2007290300370300200341d8016a41106a2001290300370300200341d8016a41186a2004290300370300200320032903503703d8012005200341d8016a41e80010e9968080001a0b41002d00b8bfd380001a200341003602e00120034280808080103702d8010240412041002802b0bfd380001182808080000022040d004101412010b980808000000b20042003290350370000200441186a2207200341d0006a41186a290300370000200441106a2202200341d0006a41106a290300370000200441086a2206200341d0006a41086a290300370000200341d8016a4100412010fc9080800020032802dc01200341d8016a41086a220128020022086a22052004290000370000200541086a2006290000370000200541106a2002290000370000200541186a20072900003700002001200841206a360200200441002802a8bfd3800011808080800000200041086a2001280200360200200020032902d801370200200341c0026a2480808080000ba508020d7f017e23808080800041106b220524808080800002400240024002400240024002400240200128020022062802a8012207450d00200228020821082002280204210920062802ac01210a0340200741a07f6a210b200741a4086a210c20072f01aa09220d410c6c210e417f210f0240024003400240200e0d00200d210f0c020b200c2802082110200c2802042111200e41746a210e200f41016a210f200b41e0006a210b200c410c6a210c417f200920112008201020082010491b10ed968080002211200820106b20111b221041004720104100481b22104101460d000b201041ff0171450d010b200a450d02200a417f6a210a2007200f4102746a41ac096a28020021070c010b0b200b2802002211450d00200b41046a28020021090340201141a07e6a210f201141a4136a210c20112f01aa142207410c6c210e417f21080240024003400240200e0d00200721080c020b200c2802082110200c280204210b200e41746a210e200841016a2108200f41e0016a210f200c410c6a210c417f2003200b2004201020042010491b10ed96808000220b200420106b200b1b221041004720104100481b22104101460d000b201041ff0171450d010b2009450d022009417f6a2109201120084102746a41ac146a28020021110c010b0b200f200f28020041054b220c4103746a2802002210450d020240200f41046a220e280200200e200c1b2010412c6c6a221041546a2208280200220c41014b0d00201041586a220b280200210f201041706a280200210e0240200c410171450d00200f200e460d010b2005201041646a3602002005200c200f200e10a896808000200b200e3602004101210c200841013602000b4158210e0240024002400240200c417e6a220c4102200c4102491b0e03010200010b4164210e0b2010200e6a22100d010b20062802000d042006200629030842017c370308024020062802100d00418080808078210c0c090b4188f8cc8000108081808000000b20062802000d04201035020821122006200629030842017c3703082006280210450d014188f8cc8000108081808000000b2005200128020420022003200410fa8d8080002005280200220c418180808078460d04200529020421120c060b2006200629031820127c3703184100210e02402010280208220c4100480d00201028020421100240200c0d004101210e0c060b41002d00b8bfd380001a200c41002802b0bfd3800011828080800000220e0d054101210e0b200e200c41d4efc2800010ae80808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4184f1c2800041302005410f6a41f4f0c2800041c4f1c2800010a481808000000b200cad422086200e2010200c10e996808000ad8421120b200020123702042000200c360200200541106a2480808080000ba508020d7f017e23808080800041106b220524808080800002400240024002400240024002400240200128020022062802a8012207450d00200228020821082002280204210920062802ac01210a0340200741a07f6a210b200741a4086a210c20072f01aa09220d410c6c210e417f210f0240024003400240200e0d00200d210f0c020b200c2802082110200c2802042111200e41746a210e200f41016a210f200b41e0006a210b200c410c6a210c417f200920112008201020082010491b10ed968080002211200820106b20111b221041004720104100481b22104101460d000b201041ff0171450d010b200a450d02200a417f6a210a2007200f4102746a41ac096a28020021070c010b0b200b2802002211450d00200b41046a28020021090340201141a07e6a210f201141a4136a210c20112f01aa142207410c6c210e417f21080240024003400240200e0d00200721080c020b200c2802082110200c280204210b200e41746a210e200841016a2108200f41e0016a210f200c410c6a210c417f2003200b2004201020042010491b10ed96808000220b200420106b200b1b221041004720104100481b22104101460d000b201041ff0171450d010b2009450d022009417f6a2109201120084102746a41ac146a28020021110c010b0b200f200f28020041054b220c4103746a2802002210450d020240200f41046a220e280200200e200c1b2010412c6c6a221041546a2208280200220c41014b0d00201041586a220b280200210f201041706a280200210e0240200c410171450d00200f200e460d010b2005201041646a3602002005200c200f200e10a896808000200b200e3602004101210c200841013602000b4158210e0240024002400240200c417e6a220c4102200c4102491b0e03010200010b4164210e0b2010200e6a22100d010b20062802000d042006200629030842017c370308024020062802100d00418080808078210c0c090b4188f8cc8000108081808000000b20062802000d04201035020821122006200629030842017c3703082006280210450d014188f8cc8000108081808000000b2005200128020420022003200410f88d8080002005280200220c418180808078460d04200529020421120c060b2006200629031820127c3703184100210e02402010280208220c4100480d00201028020421100240200c0d004101210e0c060b41002d00b8bfd380001a200c41002802b0bfd3800011828080800000220e0d054101210e0b200e200c41d4efc2800010ae80808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4184f1c2800041302005410f6a41f4f0c2800041c4f1c2800010a481808000000b200cad422086200e2010200c10e996808000ad8421120b200020123702042000200c360200200541106a2480808080000b15002000410036020820004280808080c0003702000b860101017f024002402001280208410f490d0041ef85cd800020012802042203410f10ed96808000450d010b20002802002001200210fc858080000f0b024020022802002200418080808078460d002000450d00200228020441002802a8bfd38000118080808000000b02402001280200450d00200341002802a8bfd38000118080808000000b0be20101057f20012802042102024020012802082203450d002003410171210441002105024020034101460d002003417e7121062002210341002105034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b0240200341186a280200450d002003411c6a28020041002802a8bfd38000118080808000000b200341306a21032006200541026a2205470d000b0b2004450d002002200541186c6a2203280200450d00200328020441002802a8bfd38000118080808000000b02402001280200450d00200241002802a8bfd38000118080808000000b0bb705020b7f017e23808080800041306b2203248080808000024002400240024002400240200028020022042802b4012205450d0020042802b80121060340200541a07e6a2107200541a4136a210820052f01aa142209410c6c210a417f210b0240024003400240200a0d002009210b0c020b2008280208210c2008280204210d200a41746a210a200b41016a210b200741e0016a21072008410c6a2108417f2001200d2002200c2002200c491b10ed96808000220d2002200c6b200d1b220c410047200c4100481b220c4101460d000b200c41ff0171450d010b2006450d022006417f6a21062005200b4102746a41ac146a28020021050c010b0b2007200728020041054b22084103746a280200220c450d010240200741046a220a280200200a20081b200c412c6c6a220c41546a2202280200220841014b0d00200c41586a2207280200210b200c41706a280200210a02402008410171450d00200b200a460d010b2003200c41646a36020c2003410c6a2008200b200a10a8968080002007200a36020041012108200241013602000b4158210a02400240024002402008417e6a2208410220084102491b0e03010200010b4164210a0b200c200a6a22080d010b20042802000d032004200429030842017c370308410021082004280210450d064188f8cc8000108081808000000b20042802000d032008350208210e2004200429030842017c37030820042802100d0420042004290318200e7c370318410121080c050b2003410c6a20002802042001200210f78d80800020032d000c22084102470d044184f1c2800041302003412f6a41f4f0c2800041d4f1c2800010a481808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b200341306a24808080800020084101710bb705020b7f017e23808080800041306b2203248080808000024002400240024002400240200028020022042802b4012205450d0020042802b80121060340200541a07e6a2107200541a4136a210820052f01aa142209410c6c210a417f210b0240024003400240200a0d002009210b0c020b2008280208210c2008280204210d200a41746a210a200b41016a210b200741e0016a21072008410c6a2108417f2001200d2002200c2002200c491b10ed96808000220d2002200c6b200d1b220c410047200c4100481b220c4101460d000b200c41ff0171450d010b2006450d022006417f6a21062005200b4102746a41ac146a28020021050c010b0b2007200728020041054b22084103746a280200220c450d010240200741046a220a280200200a20081b200c412c6c6a220c41546a2202280200220841014b0d00200c41586a2207280200210b200c41706a280200210a02402008410171450d00200b200a460d010b2003200c41646a36020c2003410c6a2008200b200a10a8968080002007200a36020041012108200241013602000b4158210a02400240024002402008417e6a2208410220084102491b0e03010200010b4164210a0b200c200a6a22080d010b20042802000d032004200429030842017c370308410021082004280210450d064188f8cc8000108081808000000b20042802000d032008350208210e2004200429030842017c37030820042802100d0420042004290318200e7c370318410121080c050b2003410c6a20002802042001200210f58d80800020032d000c22084102470d044184f1c2800041302003412f6a41f4f0c2800041d4f1c2800010a481808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b200341306a24808080800020084101710b952504107f017e027f017e23808080800041b0026b22032480808080004100210402400240200128020822054100480d002001280204210620002802002107410121042005450d0141002d00b8bfd380001a200541002802b0bfd380001182808080000022040d01410121040b2004200541a89dc5800010ae80808000000b20042006200510e996808000210820002802042109024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020072d00e802220a4101470d00024020072802b401220b0d00417f210c0c010b20072802b801210d0340200b41a07e6a210e200b41a4136a2100200b2f01aa14220f410c6c2110417f2111024002400340024020100d00200f21110c020b2000280208210420002802042112201041746a2110201141016a2111200e41e0016a210e2000410c6a2100417f4194dec2800020122004411020044110491b10ed968080002212411020046b20121b220441004720044100481b22044101460d000b200441ff0171450d010b0240200d0d00417f210c0c030b200d417f6a210d200b20114102746a41ac146a280200210b0c010b0b200e200e28020041054b22004103746a2802002204450d010240200e41046a2210280200201020001b2004412c6c6a220441546a2211280200220041014b0d00200441586a2212280200210e200441706a280200211002402000410171450d00200e2010460d010b2003200441646a360228200341286a2000200e201010a8968080002012201036020041012100201141013602000b4158211002400240024002402000417e6a2200410220004102491b0e03010200010b416421100b200420106a22000d010b20072802000d032007200729030842017c370308024020072802100d00417f210c0c020b4188f8cc8000108081808000000b20072802000d03200035020821132007200729030842017c37030820072802100d042007200729031820137c3703180240200028020841044f0d00417f210c0c010b2000280204280000210c0b20072802200d04200235020821132007200729032842017c37032820072802300d052007200729033820137c3703380240024020050d00410121000c010b41002d00b8bfd380001a200541002802b0bfd38000118280808000002200450d070b20002008200510e996808000210b0240200741b4016a2214280200220d0d004100210d0c080b20072802b801210f0340200d41a4136a2100200d2f01aa142215410c6c210441e001210e417f2111024002400340024020040d00201521110c020b200041086a2110200041046a2112200441746a2104201141016a2111200e41a07e6a210e2000410c6a2100417f200b201228020020052010280200221020052010491b10ed968080002212200520106b20121b221041004720104100481b22104101460d000b201041ff0171450d010b200f450d09200f417f6a210f200d20114102746a41ac146a280200210d0c010b0b02402005450d00200b41002802a8bfd38000118080808000000b200d200e6b21000c080b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b4198f8cc8000108081808000000b41a8f8cc8000108081808000000b4101200541a89dc5800010ae80808000000b20032011360224200341003602202003200d36021c20032014360218200320053602142003200b3602102003200536020c2003410036022802400240200d0d004100210441002d00b8bfd380001a41ac1441002802b0bfd38000118280808000002200450d03200041003602a013200741003602b801200720003602b401200041ac136a200341146a2802003602002000200329020c3702a413200041013b01aa142000200341286a41e00110e9968080001a0c010b200320113602a0022003410036029c022003200d36029802200320053602ac022003200b3602a802200320053602a4022003418c026a20034198026a200341a4026a200341286a200341186a200341286a10a9838080002003280294022104200328028c022100200328021821140b2014201428020841016a3602082000200441e0016c6a21000b02400240200741c0016a20072802c00141054b22044103746a28020022100d00410021112005450d01200841002802a8bfd38000118080808000000c010b200320053602302003200836022c2003200536022820072802c401200741c4016a20041b2010410c6c6a41746a200341286a10de8a80800041017321110b200041086a210b200041046a21040240200028020820002802002210201041054b220e1b0d00200341003a002820032005360214200320063602102003200936020c200320034198026a360218200341a4026a2009200341286a2003410c6a108a8e80800020032802a4022205418180808078460d0202402005418080808078470d0020034100360214200342808080801037020c0c130b20032902a80221132003200536020c200320133702102013428080808010540d122013422088211602400240024002402013a722102d000022114103710e0402030100020b20134280808080d000540d15201141034b0d152010280001221141ffffffff034b0d140c150b20134280808080c000540d1420102f0001201041036a2d000041107472220e41ff014d0d14200e41087420117241027621110c130b201141027621110c120b20164201520d100c120b200028020421122000200e4103746a210502400240024002400240024002400240024020110d0020052802002205450d0b20122004201041054b1b2005412c6c6a220541546a2211280200417e6a2210410220104102491b0e03010302010b20052802002205450d0b20122004201041054b1b2005412c6c6a220541546a220e280200417e6a2210410220104102491b0e03030405030b0240200541606a220b28020022100d000c140b02400240024002402005415c6a220d28020022122d000022074103710e0402030100020b20104105490d16200741034b0d162012280001220e41ffffffff034b0d150c160b20104104490d1520122f0001201241036a2d000041107472220f410874200772410276210e200f41ff014b0d140c150b2007410276210e0c130b20104101470d110c130b2002280204210e0240200541646a220b2802002005416c6a221028020022126b200228020822114f0d00200b2012201141014101109b96808000201028020021120b200541686a28020020126a200e201110e9968080001a200241003602082010201028020020116a36020002402002280200450d00200e41002802a8bfd38000118080808000000b200541706a2205200528020041016a360200200a0d180c190b200341286a41086a200241086a28020036020020032002290200370328410021124101210b0c130b0240200541606a28020022100d000c0b0b024002402005415c6a28020022052d0000220e4103710e0404050100040b20104105490d0b200e41034b0d0b2005280001221141ffffffff034b0d0a0c0b0b20104104490d0a20052f0001200541036a2d0000411074722212410874200e724102762111201241ff014b0d090c0a0b200341086a200241086a2802003602002003200229020037030041002112410121070c0a0b2005416c6a2211280200210d200341086a2207200541646a221041086a280200360200200320102902003703002011410036020020104280808080103702002002280204211202402003280200200728020022106b200228020822114f0d0020032010201141014101109b96808000200328020821100b200328020420106a2012201110e9968080001a200241003602082003201020116a36020802402002280200450d00201241002802a8bfd38000118080808000000b4101210f200541706a28020041016a2107200541586a2802002111200e28020021120c0b0b200e41027621110c060b20104101470d040c060b410441ac1410b980808000000b4184f1c28000413020034198026a41f4f0c2800041e4f1c2800010a481808000000b4181e2c2800041fc0041b0e3c28000108b81808000000b4181e2c2800041fc0041b0e3c28000108b81808000000b024020052d000122110d000c020b2011410874200e7241027621110b4100210e0240024020104100480d0041002d00b8bfd380001a201041002802b0bfd3800011828080800000220e0d014101210e0b200e201041a89dc5800010ae80808000000b200e2005201010e996808000210520032010360208200320053602042003201036020020022802042112024020022802082205450d0020032010200541014101109b968080002003280204210e200328020821100b200e20106a2012200510e9968080001a4100210f200241003602082003201020056a36020802402002280200450d00201241002802a8bfd38000118080808000000b41012112201141016a21070c020b200341086a200241086a2802003602002003200229020037030041002112410121070b4100210f0b0b0240024020002000280200220241054b22054103746a2210280200220e2002410520051b460d002000280204200420051b21050c010b200010a68f8080002000280208210e20002802042105200b21100b2005200e412c6c6a2205200d36020c2005200f360208200520113602042005201236020020052003290300370210200541186a200341086a2802003602002005410036022820054280808080c0003702202005200736021c2010201028020041016a360200200a450d090c080b024020122d0001220e0d000c020b200e410874200772410276210e0b200228020421080240200541586a220728020020106b2002280208220f4f0d0020072010200f41014101109b96808000200d2802002112200b28020021100b201220106a2008200f10e9968080001a20024100360208200b200b280200200f6a36020002402002280200450d00200841002802a8bfd38000118080808000000b200341286a41086a200741086a280200360200200320072902003703282007410036020041012112200d4101360200200b4100360200200e41016a210b0c010b200341286a41086a200241086a28020036020020032002290200370328410021124101210b0b2011280200417e6a21100b411021070240024002402010410220104102491b0e020002010b410421070b201120076a2210280200450d00201028020441002802a8bfd38000118080808000000b201120123602002005415c6a4100360200200541586a200e360200200541646a22102003290328370200201041086a200341286a41086a280200360200200541706a200b360200200a0d030c040b20102d0001220e450d01200e41087420117241027621110b2002280204210e024020052016a722126b200228020822054f0d002003410c6a2012200541014101109b9680800020032802102110200328021421120b201020126a200e200510e9968080001a200241003602082003200328021420056a36021402402002280200450d00200e41002802a8bfd38000118080808000000b200341346a2003410c6a41086a2802003602002003200329020c37022c201141016a21120240024020002000280200220741054b22054103746a2210280200220e2007410520051b460d002000280204200420051b21050c010b200010a68f8080002000280208210e20002802042105200b21100b2005200e412c6c6a2205410036020820052011360204200541013602002005200329022837020c200541146a200341286a41086a2902003702002005410036022820054280808080c0003702202005201236021c2010201028020041016a360200200a0d010c020b200341346a200241086a2802003602002003200229020037022c0240024020002000280200220e41054b22054103746a22102802002211200e410520051b460d002000280204200420051b21050c010b200010a68f8080002000280208211120002802042105200b21100b20052011412c6c6a22054100360208200541003602002005200329022837020c200541146a200341286a41086a290200370200200542043702242005420137021c2010201028020041016a3602000240200328020c450d00200328021041002802a8bfd38000118080808000000b200a450d010b2000200028020041054b22054103746a2802002200450d012004280200200420051b2000412c6c6a220541786a210402402005417c6a22102802002200450d00200428020020004102746a417c6a280200200c460d010b02402000200541746a2205280200470d0020054198f7cc8000109d968080000b200428020020004102746a200c3602002010200041016a3602000b02402001280200450d00200641002802a8bfd38000118080808000000b200341b0026a2480808080000f0b4181e2c2800041fc0041a0e3c28000108b81808000000b952504107f017e027f017e23808080800041b0026b22032480808080004100210402400240200128020822054100480d002001280204210620002802002107410121042005450d0141002d00b8bfd380001a200541002802b0bfd380001182808080000022040d01410121040b2004200541a89dc5800010ae80808000000b20042006200510e996808000210820002802042109024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020072d00e802220a4101470d00024020072802b401220b0d00417f210c0c010b20072802b801210d0340200b41a07e6a210e200b41a4136a2100200b2f01aa14220f410c6c2110417f2111024002400340024020100d00200f21110c020b2000280208210420002802042112201041746a2110201141016a2111200e41e0016a210e2000410c6a2100417f4194dec2800020122004411020044110491b10ed968080002212411020046b20121b220441004720044100481b22044101460d000b200441ff0171450d010b0240200d0d00417f210c0c030b200d417f6a210d200b20114102746a41ac146a280200210b0c010b0b200e200e28020041054b22004103746a2802002204450d010240200e41046a2210280200201020001b2004412c6c6a220441546a2211280200220041014b0d00200441586a2212280200210e200441706a280200211002402000410171450d00200e2010460d010b2003200441646a360228200341286a2000200e201010a8968080002012201036020041012100201141013602000b4158211002400240024002402000417e6a2200410220004102491b0e03010200010b416421100b200420106a22000d010b20072802000d032007200729030842017c370308024020072802100d00417f210c0c020b4188f8cc8000108081808000000b20072802000d03200035020821132007200729030842017c37030820072802100d042007200729031820137c3703180240200028020841044f0d00417f210c0c010b2000280204280000210c0b20072802200d04200235020821132007200729032842017c37032820072802300d052007200729033820137c3703380240024020050d00410121000c010b41002d00b8bfd380001a200541002802b0bfd38000118280808000002200450d070b20002008200510e996808000210b0240200741b4016a2214280200220d0d004100210d0c080b20072802b801210f0340200d41a4136a2100200d2f01aa142215410c6c210441e001210e417f2111024002400340024020040d00201521110c020b200041086a2110200041046a2112200441746a2104201141016a2111200e41a07e6a210e2000410c6a2100417f200b201228020020052010280200221020052010491b10ed968080002212200520106b20121b221041004720104100481b22104101460d000b201041ff0171450d010b200f450d09200f417f6a210f200d20114102746a41ac146a280200210d0c010b0b02402005450d00200b41002802a8bfd38000118080808000000b200d200e6b21000c080b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b4198f8cc8000108081808000000b41a8f8cc8000108081808000000b4101200541a89dc5800010ae80808000000b20032011360224200341003602202003200d36021c20032014360218200320053602142003200b3602102003200536020c2003410036022802400240200d0d004100210441002d00b8bfd380001a41ac1441002802b0bfd38000118280808000002200450d03200041003602a013200741003602b801200720003602b401200041ac136a200341146a2802003602002000200329020c3702a413200041013b01aa142000200341286a41e00110e9968080001a0c010b200320113602a0022003410036029c022003200d36029802200320053602ac022003200b3602a802200320053602a4022003418c026a20034198026a200341a4026a200341286a200341186a200341286a10a9838080002003280294022104200328028c022100200328021821140b2014201428020841016a3602082000200441e0016c6a21000b02400240200741c0016a20072802c00141054b22044103746a28020022100d00410021112005450d01200841002802a8bfd38000118080808000000c010b200320053602302003200836022c2003200536022820072802c401200741c4016a20041b2010410c6c6a41746a200341286a10de8a80800041017321110b200041086a210b200041046a21040240200028020820002802002210201041054b220e1b0d00200341003a002820032005360214200320063602102003200936020c200320034198026a360218200341a4026a2009200341286a2003410c6a10898e80800020032802a4022205418180808078460d0202402005418080808078470d0020034100360214200342808080801037020c0c130b20032902a80221132003200536020c200320133702102013428080808010540d122013422088211602400240024002402013a722102d000022114103710e0402030100020b20134280808080d000540d15201141034b0d152010280001221141ffffffff034b0d140c150b20134280808080c000540d1420102f0001201041036a2d000041107472220e41ff014d0d14200e41087420117241027621110c130b201141027621110c120b20164201520d100c120b200028020421122000200e4103746a210502400240024002400240024002400240024020110d0020052802002205450d0b20122004201041054b1b2005412c6c6a220541546a2211280200417e6a2210410220104102491b0e03010302010b20052802002205450d0b20122004201041054b1b2005412c6c6a220541546a220e280200417e6a2210410220104102491b0e03030405030b0240200541606a220b28020022100d000c140b02400240024002402005415c6a220d28020022122d000022074103710e0402030100020b20104105490d16200741034b0d162012280001220e41ffffffff034b0d150c160b20104104490d1520122f0001201241036a2d000041107472220f410874200772410276210e200f41ff014b0d140c150b2007410276210e0c130b20104101470d110c130b2002280204210e0240200541646a220b2802002005416c6a221028020022126b200228020822114f0d00200b2012201141014101109b96808000201028020021120b200541686a28020020126a200e201110e9968080001a200241003602082010201028020020116a36020002402002280200450d00200e41002802a8bfd38000118080808000000b200541706a2205200528020041016a360200200a0d180c190b200341286a41086a200241086a28020036020020032002290200370328410021124101210b0c130b0240200541606a28020022100d000c0b0b024002402005415c6a28020022052d0000220e4103710e0404050100040b20104105490d0b200e41034b0d0b2005280001221141ffffffff034b0d0a0c0b0b20104104490d0a20052f0001200541036a2d0000411074722212410874200e724102762111201241ff014b0d090c0a0b200341086a200241086a2802003602002003200229020037030041002112410121070c0a0b2005416c6a2211280200210d200341086a2207200541646a221041086a280200360200200320102902003703002011410036020020104280808080103702002002280204211202402003280200200728020022106b200228020822114f0d0020032010201141014101109b96808000200328020821100b200328020420106a2012201110e9968080001a200241003602082003201020116a36020802402002280200450d00201241002802a8bfd38000118080808000000b4101210f200541706a28020041016a2107200541586a2802002111200e28020021120c0b0b200e41027621110c060b20104101470d040c060b410441ac1410b980808000000b4184f1c28000413020034198026a41f4f0c2800041e4f1c2800010a481808000000b4181e2c2800041fc0041b0e3c28000108b81808000000b4181e2c2800041fc0041b0e3c28000108b81808000000b024020052d000122110d000c020b2011410874200e7241027621110b4100210e0240024020104100480d0041002d00b8bfd380001a201041002802b0bfd3800011828080800000220e0d014101210e0b200e201041a89dc5800010ae80808000000b200e2005201010e996808000210520032010360208200320053602042003201036020020022802042112024020022802082205450d0020032010200541014101109b968080002003280204210e200328020821100b200e20106a2012200510e9968080001a4100210f200241003602082003201020056a36020802402002280200450d00201241002802a8bfd38000118080808000000b41012112201141016a21070c020b200341086a200241086a2802003602002003200229020037030041002112410121070b4100210f0b0b0240024020002000280200220241054b22054103746a2210280200220e2002410520051b460d002000280204200420051b21050c010b200010a68f8080002000280208210e20002802042105200b21100b2005200e412c6c6a2205200d36020c2005200f360208200520113602042005201236020020052003290300370210200541186a200341086a2802003602002005410036022820054280808080c0003702202005200736021c2010201028020041016a360200200a450d090c080b024020122d0001220e0d000c020b200e410874200772410276210e0b200228020421080240200541586a220728020020106b2002280208220f4f0d0020072010200f41014101109b96808000200d2802002112200b28020021100b201220106a2008200f10e9968080001a20024100360208200b200b280200200f6a36020002402002280200450d00200841002802a8bfd38000118080808000000b200341286a41086a200741086a280200360200200320072902003703282007410036020041012112200d4101360200200b4100360200200e41016a210b0c010b200341286a41086a200241086a28020036020020032002290200370328410021124101210b0b2011280200417e6a21100b411021070240024002402010410220104102491b0e020002010b410421070b201120076a2210280200450d00201028020441002802a8bfd38000118080808000000b201120123602002005415c6a4100360200200541586a200e360200200541646a22102003290328370200201041086a200341286a41086a280200360200200541706a200b360200200a0d030c040b20102d0001220e450d01200e41087420117241027621110b2002280204210e024020052016a722126b200228020822054f0d002003410c6a2012200541014101109b9680800020032802102110200328021421120b201020126a200e200510e9968080001a200241003602082003200328021420056a36021402402002280200450d00200e41002802a8bfd38000118080808000000b200341346a2003410c6a41086a2802003602002003200329020c37022c201141016a21120240024020002000280200220741054b22054103746a2210280200220e2007410520051b460d002000280204200420051b21050c010b200010a68f8080002000280208210e20002802042105200b21100b2005200e412c6c6a2205410036020820052011360204200541013602002005200329022837020c200541146a200341286a41086a2902003702002005410036022820054280808080c0003702202005201236021c2010201028020041016a360200200a0d010c020b200341346a200241086a2802003602002003200229020037022c0240024020002000280200220e41054b22054103746a22102802002211200e410520051b460d002000280204200420051b21050c010b200010a68f8080002000280208211120002802042105200b21100b20052011412c6c6a22054100360208200541003602002005200329022837020c200541146a200341286a41086a290200370200200542043702242005420137021c2010201028020041016a3602000240200328020c450d00200328021041002802a8bfd38000118080808000000b200a450d010b2000200028020041054b22054103746a2802002200450d012004280200200420051b2000412c6c6a220541786a210402402005417c6a22102802002200450d00200428020020004102746a417c6a280200200c460d010b02402000200541746a2205280200470d0020054198f7cc8000109d968080000b200428020020004102746a200c3602002010200041016a3602000b02402001280200450d00200641002802a8bfd38000118080808000000b200341b0026a2480808080000f0b4181e2c2800041fc0041a0e3c28000108b81808000000bce1601137f23808080800041c0006b2204248080808000200441246a200128020422052002200310fc8d80800002400240024002400240024020042802242206418180808078460d00200428022c210720042802282108200128020022012802b4012209450d0320012802b8012101200441023602302004200336022c20042002360228200441013602242004410c6a20092001200441246a1090968080002004280218210a0240200428020c22010d00200a450d0441acdcc18000108a81808000000b20042802102109200428021421032004280220210b02402001200a470d002003200b460d040b02400240200320012f01aa144f0d00200121020c010b034020012802a0132202450d03200941016a210920012f01a814210320022101200320022f01aa144f0d000b0b200341e0016c210c20022003410c6c6a41a4136a210d0240024020090d00200341016a2103200221010c010b200220034102746a41b0146a2802002101410021032009417f6a220e450d002009417e6a210f0240200e4107712209450d000340200e417f6a210e20012802ac1421012009417f6a22090d000b0b200f4107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200e41786a220e0d000b0b2002200c6a2110200d41086a280200210c200d41046a28020021112006418080808078460d044100210902400240024002400340200821120340200622134180808080784621140240024003400240024020094101710d002010210e200c2102201121080c010b024020010d00200a450d0a41acdcc18000108a81808000000b02402001200a470d002003200b460d0a0b024002400240200320012f01aa14490d00410121094100210e0340200e210820012802a0132202450d02200841016a210e2009417f6a210920012f01a814210320022101200320022f01aa144f0d000b2002200341e0016c6a210e20022003410c6c6a41a4136a2106024020094101470d0020022101200341016a21030c030b200220034102746a41b0146a2802002101410021032009450d0202400240410020096b220d4107710d00200d21020c010b41002102410020084107716b2108034020012802ac14210120082002417f6a2202470d000b200220096b21020b200d4108490d02034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200241786a22020d000c030b0b2001200341e0016c6a210e20012003410c6c6a41a4136a2106200341016a21030c010b41bcdcc18000108a81808000000b200641086a2802002102200641046a28020021080b20140d01201220082007200220072002491b10ed968080002209200720026b20091b22064100480d08200e200e28020041054b22094103746a280200220d450d060240200e280204200e41046a20091b200d412c6c6a220e41546a220f280200220941014b0d00200e41586a22152802002116200e41706a280200210d02402009410171450d002016200d460d010b2004200e41646a360224200441246a20092016200d10a8968080002015200d36020041012109200f41013602000b4158210d0240024002402009417e6a2209410220094102491b0e03010200010b4164210d0b200e200d6a0d030b4101210920060d000b200441246a20052008200210fc8d80800020042802242206418180808078460d04200428022c210720042802282108410121092013450d03201241002802a8bfd38000118080808000000c030b200e200e28020041054b22094103746a2802002206450d050240200e280204200e41046a20091b2006412c6c6a220d41546a2206280200220e41014b0d00200d41586a2214280200210f200d41706a28020021090240200e410171450d00200f2009460d010b2004200d41646a360224200441246a200e200f200910a896808000201420093602004101210e200641013602000b4180808080782106410121094158210f02400240200e417e6a220e4102200e4102491b0e03010300010b4164210f0b200d200f6a450d010b0b0b41002101024020024100480d00024020020d00410121010c080b41002d00b8bfd380001a200241002802b0bfd380001182808080000022010d07410121010b2001200241d4efc2800010ae80808000000b4184f1c2800041302004413f6a41f4f0c2800041f4f1c2800010a481808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b2000200736020820002012360204200020133602000c050b4184f1c2800041302004413f6a41f4f0c280004184f2c2800010a481808000000b41bcdcc18000108a81808000000b20012008200210e9968080002101200020023602082000200136020420002002360200201341808080807872418080808078460d02201241002802a8bfd38000118080808000000c020b2000200736020820002008360204200020063602000c010b02400240024002402010201028020041054b22024103746a2802002209450d0002402010280204201041046a20021b2009412c6c6a220941546a2208280200220241014b0d00200941586a22062802002107200941706a280200210e02402002410171450d002007200e460d010b2004200941646a360224200441246a20022007200e10a8968080002006200e36020041012102200841013602000b4158210e024002402002417e6a2202410220024102491b0e03010300010b4164210e0b2009200e6a450d014100210102400240200c4100480d00200c450d0441002d00b8bfd380001a200c41002802b0bfd380001182808080000022010d01410121010b2001200c41d4efc2800010ae80808000000b20012011200c10e9968080001a0c030b41e4fccc800041fc0041c8fecc8000108b81808000000b0240024002402001200a470d002003200b460d010b0340024002400240200320012f01aa14490d00410121094100210e0340200e210820012802a0132202450d02200841016a210e2009417f6a210920012f01a814210320022101200320022f01aa144f0d000b2002200341e0016c6a210e20022003410c6c6a41a4136a2107024020094101470d0020022101200341016a21030c030b200220034102746a41b0146a2802002101410021032009450d0202400240410020096b22064107710d00200621020c010b41002102410020084107716b2108034020012802ac14210120082002417f6a2202470d000b200220096b21020b20064108490d02034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200241786a22020d000c030b0b2001200341e0016c6a210e20012003410c6c6a41a4136a2107200341016a21030c010b41bcdcc18000108a81808000000b200e200e28020041054b22024103746a2802002209450d02200741086a280200210c200741046a28020021060240200e280204200e41046a20021b2009412c6c6a220941546a2208280200220241014b0d00200941586a220d2802002107200941706a280200210e02402002410171450d002007200e460d010b2004200941646a360224200441246a20022007200e10a896808000200d200e36020041012102200841013602000b4158210e0240024002402002417e6a2202410220024102491b0e03010200010b4164210e0b2009200e6a450d004100210102400240200c4100480d00200c450d0641002d00b8bfd380001a200c41002802b0bfd380001182808080000022010d01410121010b2001200c41d4efc2800010ae80808000000b20012006200c10e9968080001a0c050b2001200a470d002003200b470d000b0b20004180808080783602000c030b41e4fccc800041fc0041c8fecc8000108b81808000000b4100210c410121010b2000200c3602002000200cad4220862001ad843702040b200441c0006a2480808080000bce1601137f23808080800041c0006b2204248080808000200441246a200128020422052002200310fe8d80800002400240024002400240024020042802242206418180808078460d00200428022c210720042802282108200128020022012802b4012209450d0320012802b8012101200441023602302004200336022c20042002360228200441013602242004410c6a20092001200441246a1090968080002004280218210a0240200428020c22010d00200a450d0441acdcc18000108a81808000000b20042802102109200428021421032004280220210b02402001200a470d002003200b460d040b02400240200320012f01aa144f0d00200121020c010b034020012802a0132202450d03200941016a210920012f01a814210320022101200320022f01aa144f0d000b0b200341e0016c210c20022003410c6c6a41a4136a210d0240024020090d00200341016a2103200221010c010b200220034102746a41b0146a2802002101410021032009417f6a220e450d002009417e6a210f0240200e4107712209450d000340200e417f6a210e20012802ac1421012009417f6a22090d000b0b200f4107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200e41786a220e0d000b0b2002200c6a2110200d41086a280200210c200d41046a28020021112006418080808078460d044100210902400240024002400340200821120340200622134180808080784621140240024003400240024020094101710d002010210e200c2102201121080c010b024020010d00200a450d0a41acdcc18000108a81808000000b02402001200a470d002003200b460d0a0b024002400240200320012f01aa14490d00410121094100210e0340200e210820012802a0132202450d02200841016a210e2009417f6a210920012f01a814210320022101200320022f01aa144f0d000b2002200341e0016c6a210e20022003410c6c6a41a4136a2106024020094101470d0020022101200341016a21030c030b200220034102746a41b0146a2802002101410021032009450d0202400240410020096b220d4107710d00200d21020c010b41002102410020084107716b2108034020012802ac14210120082002417f6a2202470d000b200220096b21020b200d4108490d02034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200241786a22020d000c030b0b2001200341e0016c6a210e20012003410c6c6a41a4136a2106200341016a21030c010b41bcdcc18000108a81808000000b200641086a2802002102200641046a28020021080b20140d01201220082007200220072002491b10ed968080002209200720026b20091b22064100480d08200e200e28020041054b22094103746a280200220d450d060240200e280204200e41046a20091b200d412c6c6a220e41546a220f280200220941014b0d00200e41586a22152802002116200e41706a280200210d02402009410171450d002016200d460d010b2004200e41646a360224200441246a20092016200d10a8968080002015200d36020041012109200f41013602000b4158210d0240024002402009417e6a2209410220094102491b0e03010200010b4164210d0b200e200d6a0d030b4101210920060d000b200441246a20052008200210fe8d80800020042802242206418180808078460d04200428022c210720042802282108410121092013450d03201241002802a8bfd38000118080808000000c030b200e200e28020041054b22094103746a2802002206450d050240200e280204200e41046a20091b2006412c6c6a220d41546a2206280200220e41014b0d00200d41586a2214280200210f200d41706a28020021090240200e410171450d00200f2009460d010b2004200d41646a360224200441246a200e200f200910a896808000201420093602004101210e200641013602000b4180808080782106410121094158210f02400240200e417e6a220e4102200e4102491b0e03010300010b4164210f0b200d200f6a450d010b0b0b41002101024020024100480d00024020020d00410121010c080b41002d00b8bfd380001a200241002802b0bfd380001182808080000022010d07410121010b2001200241d4efc2800010ae80808000000b4184f1c2800041302004413f6a41f4f0c2800041f4f1c2800010a481808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b2000200736020820002012360204200020133602000c050b4184f1c2800041302004413f6a41f4f0c280004184f2c2800010a481808000000b41bcdcc18000108a81808000000b20012008200210e9968080002101200020023602082000200136020420002002360200201341808080807872418080808078460d02201241002802a8bfd38000118080808000000c020b2000200736020820002008360204200020063602000c010b02400240024002402010201028020041054b22024103746a2802002209450d0002402010280204201041046a20021b2009412c6c6a220941546a2208280200220241014b0d00200941586a22062802002107200941706a280200210e02402002410171450d002007200e460d010b2004200941646a360224200441246a20022007200e10a8968080002006200e36020041012102200841013602000b4158210e024002402002417e6a2202410220024102491b0e03010300010b4164210e0b2009200e6a450d014100210102400240200c4100480d00200c450d0441002d00b8bfd380001a200c41002802b0bfd380001182808080000022010d01410121010b2001200c41d4efc2800010ae80808000000b20012011200c10e9968080001a0c030b41e4fccc800041fc0041c8fecc8000108b81808000000b0240024002402001200a470d002003200b460d010b0340024002400240200320012f01aa14490d00410121094100210e0340200e210820012802a0132202450d02200841016a210e2009417f6a210920012f01a814210320022101200320022f01aa144f0d000b2002200341e0016c6a210e20022003410c6c6a41a4136a2107024020094101470d0020022101200341016a21030c030b200220034102746a41b0146a2802002101410021032009450d0202400240410020096b22064107710d00200621020c010b41002102410020084107716b2108034020012802ac14210120082002417f6a2202470d000b200220096b21020b20064108490d02034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200241786a22020d000c030b0b2001200341e0016c6a210e20012003410c6c6a41a4136a2107200341016a21030c010b41bcdcc18000108a81808000000b200e200e28020041054b22024103746a2802002209450d02200741086a280200210c200741046a28020021060240200e280204200e41046a20021b2009412c6c6a220941546a2208280200220241014b0d00200941586a220d2802002107200941706a280200210e02402002410171450d002007200e460d010b2004200941646a360224200441246a20022007200e10a896808000200d200e36020041012102200841013602000b4158210e0240024002402002417e6a2202410220024102491b0e03010200010b4164210e0b2009200e6a450d004100210102400240200c4100480d00200c450d0641002d00b8bfd380001a200c41002802b0bfd380001182808080000022010d01410121010b2001200c41d4efc2800010ae80808000000b20012006200c10e9968080001a0c050b2001200a470d002003200b470d000b0b20004180808080783602000c030b41e4fccc800041fc0041c8fecc8000108b81808000000b4100210c410121010b2000200c3602002000200cad4220862001ad843702040b200441c0006a2480808080000b10002000200128020410a48e808000000b10002000200128020410a38e808000000baa0b020d7f037e23808080800041f0006b22052480808080000240024002400240024002400240024002400240200128020022062802a8012207450d00200228020821082002280204210920062802ac01210a0340200741a07f6a210b200741a4086a210c20072f01aa09220d410c6c210e417f210f0240024003400240200e0d00200d210f0c020b200c2802082110200c2802042111200e41746a210e200f41016a210f200b41e0006a210b200c410c6a210c417f200920112008201020082010491b10ed968080002211200820106b20111b221041004720104100481b22104101460d000b201041ff0171450d010b200a450d02200a417f6a210a2007200f4102746a41ac096a28020021070c010b0b200b2802002211450d00200b41046a28020021090340201141a07e6a210f201141a4136a210c20112f01aa142207410c6c210e417f21080240024003400240200e0d00200721080c020b200c2802082110200c280204210b200e41746a210e200841016a2108200f41e0016a210f200c410c6a210c417f2003200b2004201020042010491b10ed96808000220b200420106b200b1b221041004720104100481b22104101460d000b201041ff0171450d010b2009450d022009417f6a2109201120084102746a41ac146a28020021110c010b0b200f200f28020041054b220c4103746a2802002210450d050240200f41046a220e280200200e200c1b2010412c6c6a221041546a2208280200220c41014b0d00201041586a220b280200210f201041706a280200210e0240200c410171450d00200f200e460d010b2005201041646a36024c200541cc006a200c200f200e10a896808000200b200e3602004101210c200841013602000b4158210e0240024002400240200c417e6a220c4102200c4102491b0e03010200010b4164210e0b2010200e6a220c0d010b20062802000d072006200629030842017c3703082006280210450d024188f8cc8000108081808000000b20062802000d07200c35020821122006200629030842017c3703082006280210450d024188f8cc8000108081808000000b200541cc006a200128020420022003200410818e80800020052d004c220c4102460d07200541086a41186a200541e5006a2900002212370300200541086a41106a200541dd006a2900002213370300200541086a41086a200541d5006a2900002214370300200541286a41086a2014370300200541286a41106a2013370300200541286a41186a20123703002005200529004d221237030820052012370328200c4101710d020b20004180808080783602000c020b2006200629031820127c370318200541086a200c280204200c2802084100280288bfd3800011858080800000200541286a41186a200541086a41186a290000370300200541286a41106a200541086a41106a290000370300200541286a41086a200541086a41086a290000370300200520052900083703280b20054100360254200542808080801037024c41002d00b8bfd380001a412041002802b0bfd3800011828080800000220c450d05200c2005290328370000200c41186a2208200541286a41186a290300370000200c41106a220f200541286a41106a290300370000200c41086a220b200541286a41086a290300370000200541cc006a4100412010fc908080002005280250200541cc006a41086a220e28020022116a2210200c290000370000201041086a200b290000370000201041106a200f290000370000201041186a2008290000370000200e201141206a360200200c41002802a8bfd3800011808080800000200041086a200e2802003602002000200529024c3702000b200541f0006a2480808080000f0b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4184f1c280004130200541ef006a41f4f0c280004194f2c2800010a481808000000b4101412010b980808000000baa0b020d7f037e23808080800041f0006b22052480808080000240024002400240024002400240024002400240200128020022062802a8012207450d00200228020821082002280204210920062802ac01210a0340200741a07f6a210b200741a4086a210c20072f01aa09220d410c6c210e417f210f0240024003400240200e0d00200d210f0c020b200c2802082110200c2802042111200e41746a210e200f41016a210f200b41e0006a210b200c410c6a210c417f200920112008201020082010491b10ed968080002211200820106b20111b221041004720104100481b22104101460d000b201041ff0171450d010b200a450d02200a417f6a210a2007200f4102746a41ac096a28020021070c010b0b200b2802002211450d00200b41046a28020021090340201141a07e6a210f201141a4136a210c20112f01aa142207410c6c210e417f21080240024003400240200e0d00200721080c020b200c2802082110200c280204210b200e41746a210e200841016a2108200f41e0016a210f200c410c6a210c417f2003200b2004201020042010491b10ed96808000220b200420106b200b1b221041004720104100481b22104101460d000b201041ff0171450d010b2009450d022009417f6a2109201120084102746a41ac146a28020021110c010b0b200f200f28020041054b220c4103746a2802002210450d050240200f41046a220e280200200e200c1b2010412c6c6a221041546a2208280200220c41014b0d00201041586a220b280200210f201041706a280200210e0240200c410171450d00200f200e460d010b2005201041646a36024c200541cc006a200c200f200e10a896808000200b200e3602004101210c200841013602000b4158210e0240024002400240200c417e6a220c4102200c4102491b0e03010200010b4164210e0b2010200e6a220c0d010b20062802000d072006200629030842017c3703082006280210450d024188f8cc8000108081808000000b20062802000d07200c35020821122006200629030842017c3703082006280210450d024188f8cc8000108081808000000b200541cc006a200128020420022003200410808e80800020052d004c220c4102460d07200541086a41186a200541e5006a2900002212370300200541086a41106a200541dd006a2900002213370300200541086a41086a200541d5006a2900002214370300200541286a41086a2014370300200541286a41106a2013370300200541286a41186a20123703002005200529004d221237030820052012370328200c4101710d020b20004180808080783602000c020b2006200629031820127c370318200541086a200c280204200c2802084100280288bfd3800011858080800000200541286a41186a200541086a41186a290000370300200541286a41106a200541086a41106a290000370300200541286a41086a200541086a41086a290000370300200520052900083703280b20054100360254200542808080801037024c41002d00b8bfd380001a412041002802b0bfd3800011828080800000220c450d05200c2005290328370000200c41186a2208200541286a41186a290300370000200c41106a220f200541286a41106a290300370000200c41086a220b200541286a41086a290300370000200541cc006a4100412010fc908080002005280250200541cc006a41086a220e28020022116a2210200c290000370000201041086a200b290000370000201041106a200f290000370000201041186a2008290000370000200e201141206a360200200c41002802a8bfd3800011808080800000200041086a200e2802003602002000200529024c3702000b200541f0006a2480808080000f0b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4184f1c280004130200541ef006a41f4f0c280004194f2c2800010a481808000000b4101412010b980808000000bc61a020c7f027e2380808080004190026b220424808080800020012802042105200128020021062002280208210720022802042108200441046a200210ab96808000024002400240024002400240024002400240024002400240024002400240024002400240024002400240200628029801418080808078460d00200428020c21072004280208210820062802b4012209450d0220062802b801210a0340200941a07e6a210b200941a4136a210220092f01aa14220c410c6c210d417f210e0240024003400240200d0d00200c210e0c020b200228020821012002280204210f200d41746a210d200e41016a210e200b41e0016a210b2002410c6a2102417f2008200f2007200120072001491b10ed96808000220f200720016b200f1b220141004720014100481b22014101460d000b200141ff017141ff01470d010b200a450d04200a417f6a210a2009200e4102746a41ac146a28020021090c010b0b200b200b28020041054b22024103746a2802002201450d0e0240200b41046a220d280200200d20021b2001412c6c6a220141546a2207280200220241014b0d00200141586a220b280200210e200141706a280200210d02402002410171450d00200e200d460d010b2004200141646a360210200441106a2002200e200d10a896808000200b200d36020041012102200741013602000b4158210d0240024002402002417e6a2202410220024102491b0e03010200010b4164210d0b2001200d6a22010d020b20062802000d0f2006200629030842017c3703082006280210450d044188f8cc8000108081808000000b20062802a8012209450d0520062802ac01210a0340200941a07f6a210b200941a4086a210220092f01aa09220c410c6c210d417f210e0240024003400240200d0d00200c210e0c020b200228020821012002280204210f200d41746a210d200e41016a210e200b41e0006a210b2002410c6a2102417f2008200f2007200120072001491b10ed96808000220f200720016b200f1b220141004720014100481b22014101460d000b200141ff017141ff01470d010b200a450d07200a417f6a210a2009200e4102746a41ac096a28020021090c010b0b41002102410021070240200b280200220d450d00200b41086a2802002107200b41046a2802002101410121020b200420073602a401200420013602a0012004200d36029c012004410036029801200420023602940120042001360290012004200d36028c0120044100360288012004200236028401200441106a2005200b41d4006a20044184016a200310848e808000200441f0006a210b2004280270418080808078460d06200441106a410172210e20042d0010450d0720044180808080783602f8010c080b20062802000d0e200135020821102006200629030842017c37030820062802100d0f2006200629031820107c3703184100210d02400240200128020822024100480d002001280204210d410121012002450d0141002d00b8bfd380001a200241002802b0bfd380001182808080000022010d014101210d0b200d200241d4efc2800010ae80808000000b2002ad4220862001200d200210e996808000ad8421100c010b200441003a0010200420073602dc01200420083602d801200420053602d40120042004418f026a3602e001200441f8016a2005200441106a200441d4016a108a8e80800020042802f8012202418180808078460d082002418080808078460d0120042902fc0121100b2010a721010240201042808080808004540d00200441a8016a41186a200141186a290000370300200441a8016a41106a200141106a290000370300200441a8016a41086a200141086a290000370300200420012900003703a8012002450d02200141002802a8bfd38000118080808000000c020b2002450d00200141002802a8bfd38000118080808000000b200441a8016a4101410141211099878080000b2004280204450d0e200428020841002802a8bfd38000118080808000000c0e0b2004418080808078360270200441f0006a210b0b20042802082108200428020c2102200441003a00d4012004200236028002200420083602fc01200420053602f80120042004418f026a36028402200441c8016a2005200441d4016a200441f8016a108a8e80800020042802c8012202418180808078460d022002418080808078460d0520042802cc01210d20042902cc01221042808080808004540d04200441a8016a41186a2010a7220141186a290000370300200441a8016a41106a200141106a290000370300200441a8016a41086a200141086a290000370300200420012900003703a8014101210e2002450d0b200d41002802a8bfd38000118080808000000c0b0b200441003602dc0120044280808080103702d40141002d00b8bfd380001a412041002802b0bfd38000118280808000002202450d092002200e290000370000200241186a2207200e41186a290000370000200241106a220f200e41106a290000370000200241086a2208200e41086a290000370000200441d4016a4100412010fc9080800020042802d801200441d4016a41086a220d28020022096a22012002290000370000200141086a2008290000370000200141106a200f290000370000200141186a2007290000370000200d200941206a360200200241002802a8bfd3800011808080800000200441f8016a41086a200d280200360200200420042902d4013703f8010b2006200441046a200441f8016a10fc858080000240200628029801418080808078460d0002402006280264220f450d000240200628026c2207450d002006280260220141086a21022001290300427f8542808182848890a0c0807f8321100340024020104200520d000340200141a07e6a210120022903002110200241086a220d2102201042808182848890a0c0807f83221042808182848890a0c0807f510d000b201042808182848890a0c0807f852110200d21020b02402001410020107aa74103766b411c6c6a220d41646a280200450d00200d41686a28020041002802a8bfd38000118080808000000b2010427f7c21110240200d41706a280200450d00200d41746a28020041002802a8bfd38000118080808000000b201120108321102007417f6a22070d000b0b200f200f41016aad421c7ea741076a41787122026a4177460d00200628026020026b41002802a8bfd38000118080808000000b200628029801450d00200628029c0141002802a8bfd38000118080808000000b200641808080807836029801200441a8016a41086a200e41086a290000370300200441a8016a41106a200e41106a290000370300200441a8016a41186a200e41186a2900003703002004200e2900003703a8014100210e0c090b2004280270418080808078460d00200441386a200441c8006a411c410810fd848080002004280270450d00200428027441002802a8bfd38000118080808000000b02402004280204450d00200841002802a8bfd38000118080808000000b4184f1c2800041302004418f026a41f4f0c2800041a4f2c2800010a481808000000b2002450d00200d41002802a8bfd38000118080808000000b4101210e200441a8016a4101410141211099878080000c050b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b4101412010b980808000000b02402004280270418080808078460d000240200428023c220f450d00024020042802442207450d002004280238220141086a21022001290300427f8542808182848890a0c0807f8321100340024020104200520d000340200141a07e6a210120022903002110200241086a220d2102201042808182848890a0c0807f83221042808182848890a0c0807f510d000b201042808182848890a0c0807f852110200d21020b02402001410020107aa74103766b411c6c6a220d41646a280200450d00200d41686a28020041002802a8bfd38000118080808000000b2010427f7c21110240200d41706a280200450d00200d41746a28020041002802a8bfd38000118080808000000b201120108321102007417f6a22070d000b0b200f200f41016aad421c7ea741076a41787122026a4177460d00200428023820026b41002802a8bfd38000118080808000000b2004280270450d00200b28020441002802a8bfd38000118080808000000b200e450d002004280204450d00200428020841002802a8bfd38000118080808000000b20044100360218200442808080801037021041002d00b8bfd380001a0240412041002802b0bfd38000118280808000002202450d00200220042903a801370000200241186a2207200441a8016a41186a290300370000200241106a220e200441a8016a41106a290300370000200241086a220b200441a8016a41086a290300370000200441106a4100412010fc908080002004280214200441106a41086a220d280200220f6a22012002290000370000200141086a200b290000370000200141106a200e290000370000200141186a2007290000370000200d200f41206a360200200241002802a8bfd3800011808080800000200041086a200d2802003602002000200429021037020020044190026a2480808080000f0b4101412010b980808000000bc61a020c7f027e2380808080004190026b220424808080800020012802042105200128020021062002280208210720022802042108200441046a200210ab96808000024002400240024002400240024002400240024002400240024002400240024002400240024002400240200628029801418080808078460d00200428020c21072004280208210820062802b4012209450d0220062802b801210a0340200941a07e6a210b200941a4136a210220092f01aa14220c410c6c210d417f210e0240024003400240200d0d00200c210e0c020b200228020821012002280204210f200d41746a210d200e41016a210e200b41e0016a210b2002410c6a2102417f2008200f2007200120072001491b10ed96808000220f200720016b200f1b220141004720014100481b22014101460d000b200141ff017141ff01470d010b200a450d04200a417f6a210a2009200e4102746a41ac146a28020021090c010b0b200b200b28020041054b22024103746a2802002201450d0e0240200b41046a220d280200200d20021b2001412c6c6a220141546a2207280200220241014b0d00200141586a220b280200210e200141706a280200210d02402002410171450d00200e200d460d010b2004200141646a360210200441106a2002200e200d10a896808000200b200d36020041012102200741013602000b4158210d0240024002402002417e6a2202410220024102491b0e03010200010b4164210d0b2001200d6a22010d020b20062802000d0f2006200629030842017c3703082006280210450d044188f8cc8000108081808000000b20062802a8012209450d0520062802ac01210a0340200941a07f6a210b200941a4086a210220092f01aa09220c410c6c210d417f210e0240024003400240200d0d00200c210e0c020b200228020821012002280204210f200d41746a210d200e41016a210e200b41e0006a210b2002410c6a2102417f2008200f2007200120072001491b10ed96808000220f200720016b200f1b220141004720014100481b22014101460d000b200141ff017141ff01470d010b200a450d07200a417f6a210a2009200e4102746a41ac096a28020021090c010b0b41002102410021070240200b280200220d450d00200b41086a2802002107200b41046a2802002101410121020b200420073602a401200420013602a0012004200d36029c012004410036029801200420023602940120042001360290012004200d36028c0120044100360288012004200236028401200441106a2005200b41d4006a20044184016a200310828e808000200441f0006a210b2004280270418080808078460d06200441106a410172210e20042d0010450d0720044180808080783602f8010c080b20062802000d0e200135020821102006200629030842017c37030820062802100d0f2006200629031820107c3703184100210d02400240200128020822024100480d002001280204210d410121012002450d0141002d00b8bfd380001a200241002802b0bfd380001182808080000022010d014101210d0b200d200241d4efc2800010ae80808000000b2002ad4220862001200d200210e996808000ad8421100c010b200441003a0010200420073602dc01200420083602d801200420053602d40120042004418f026a3602e001200441f8016a2005200441106a200441d4016a10898e80800020042802f8012202418180808078460d082002418080808078460d0120042902fc0121100b2010a721010240201042808080808004540d00200441a8016a41186a200141186a290000370300200441a8016a41106a200141106a290000370300200441a8016a41086a200141086a290000370300200420012900003703a8012002450d02200141002802a8bfd38000118080808000000c020b2002450d00200141002802a8bfd38000118080808000000b200441a8016a4101410141211099878080000b2004280204450d0e200428020841002802a8bfd38000118080808000000c0e0b2004418080808078360270200441f0006a210b0b20042802082108200428020c2102200441003a00d4012004200236028002200420083602fc01200420053602f80120042004418f026a36028402200441c8016a2005200441d4016a200441f8016a10898e80800020042802c8012202418180808078460d022002418080808078460d0520042802cc01210d20042902cc01221042808080808004540d04200441a8016a41186a2010a7220141186a290000370300200441a8016a41106a200141106a290000370300200441a8016a41086a200141086a290000370300200420012900003703a8014101210e2002450d0b200d41002802a8bfd38000118080808000000c0b0b200441003602dc0120044280808080103702d40141002d00b8bfd380001a412041002802b0bfd38000118280808000002202450d092002200e290000370000200241186a2207200e41186a290000370000200241106a220f200e41106a290000370000200241086a2208200e41086a290000370000200441d4016a4100412010fc9080800020042802d801200441d4016a41086a220d28020022096a22012002290000370000200141086a2008290000370000200141106a200f290000370000200141186a2007290000370000200d200941206a360200200241002802a8bfd3800011808080800000200441f8016a41086a200d280200360200200420042902d4013703f8010b2006200441046a200441f8016a10fc858080000240200628029801418080808078460d0002402006280264220f450d000240200628026c2207450d002006280260220141086a21022001290300427f8542808182848890a0c0807f8321100340024020104200520d000340200141a07e6a210120022903002110200241086a220d2102201042808182848890a0c0807f83221042808182848890a0c0807f510d000b201042808182848890a0c0807f852110200d21020b02402001410020107aa74103766b411c6c6a220d41646a280200450d00200d41686a28020041002802a8bfd38000118080808000000b2010427f7c21110240200d41706a280200450d00200d41746a28020041002802a8bfd38000118080808000000b201120108321102007417f6a22070d000b0b200f200f41016aad421c7ea741076a41787122026a4177460d00200628026020026b41002802a8bfd38000118080808000000b200628029801450d00200628029c0141002802a8bfd38000118080808000000b200641808080807836029801200441a8016a41086a200e41086a290000370300200441a8016a41106a200e41106a290000370300200441a8016a41186a200e41186a2900003703002004200e2900003703a8014100210e0c090b2004280270418080808078460d00200441386a200441c8006a411c410810fd848080002004280270450d00200428027441002802a8bfd38000118080808000000b02402004280204450d00200841002802a8bfd38000118080808000000b4184f1c2800041302004418f026a41f4f0c2800041a4f2c2800010a481808000000b2002450d00200d41002802a8bfd38000118080808000000b4101210e200441a8016a4101410141211099878080000c050b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b4101412010b980808000000b02402004280270418080808078460d000240200428023c220f450d00024020042802442207450d002004280238220141086a21022001290300427f8542808182848890a0c0807f8321100340024020104200520d000340200141a07e6a210120022903002110200241086a220d2102201042808182848890a0c0807f83221042808182848890a0c0807f510d000b201042808182848890a0c0807f852110200d21020b02402001410020107aa74103766b411c6c6a220d41646a280200450d00200d41686a28020041002802a8bfd38000118080808000000b2010427f7c21110240200d41706a280200450d00200d41746a28020041002802a8bfd38000118080808000000b201120108321102007417f6a22070d000b0b200f200f41016aad421c7ea741076a41787122026a4177460d00200428023820026b41002802a8bfd38000118080808000000b2004280270450d00200b28020441002802a8bfd38000118080808000000b200e450d002004280204450d00200428020841002802a8bfd38000118080808000000b20044100360218200442808080801037021041002d00b8bfd380001a0240412041002802b0bfd38000118280808000002202450d00200220042903a801370000200241186a2207200441a8016a41186a290300370000200241106a220e200441a8016a41106a290300370000200241086a220b200441a8016a41086a290300370000200441106a4100412010fc908080002004280214200441106a41086a220d280200220f6a22012002290000370000200141086a200b290000370000200141106a200e290000370000200141186a2007290000370000200d200f41206a360200200241002802a8bfd3800011808080800000200041086a200d2802003602002000200429021037020020044190026a2480808080000f0b4101412010b980808000000b940101037f23808080800041206b22092480808080002001280200220a200220032004108486808000210b2009410c6a200a20012802042002200320042005200620072008108d86808000200041086a2009410c6a41086a2802003602002000200929020c370200200928021821012000200928021c36021420002001200b6a3602102000200136020c200941206a2480808080000b940101037f23808080800041206b22092480808080002001280200220a200220032004108486808000210b2009410c6a200a20012802042002200320042005200620072008108c86808000200041086a2009410c6a41086a2802003602002000200929020c370200200928021821012000200928021c36021420002001200b6a3602102000200136020c200941206a2480808080000b900101037f23808080800041206b220724808080800020012802002208200210878680800021092007410c6a200820012802042002410020072003200420052006108d86808000200041086a2007410c6a41086a2802003602002000200729020c370200200728021821012000200728021c3602142000200120096a3602102000200136020c200741206a2480808080000b900101037f23808080800041206b220724808080800020012802002208200210878680800021092007410c6a200820012802042002410020072003200420052006108c86808000200041086a2007410c6a41086a2802003602002000200729020c370200200728021821012000200728021c3602142000200120096a3602102000200136020c200741206a2480808080000b1300200028020020012002200310ff858080000b9a07020d7f017e23808080800041306b2204248080808000024002400240024002400240200028020022052802a8012206450d00200128020821072001280204210820052802ac0121090340200641a07f6a210a200641a4086a210b20062f01aa09220c410c6c210d417f210e0240024003400240200d0d00200c210e0c020b200b280208210f200b2802042110200d41746a210d200e41016a210e200a41e0006a210a200b410c6a210b417f200820102007200f2007200f491b10ed9680800022102007200f6b20101b220f410047200f4100481b220f4101460d000b200f41ff0171450d010b2009450d022009417f6a21092006200e4102746a41ac096a28020021060c010b0b200a2802002210450d00200a41046a28020021080340201041a07e6a210e201041a4136a210b20102f01aa142206410c6c210d417f21070240024003400240200d0d00200621070c020b200b280208210f200b280204210a200d41746a210d200741016a2107200e41e0016a210e200b410c6a210b417f2002200a2003200f2003200f491b10ed96808000220a2003200f6b200a1b220f410047200f4100481b220f4101460d000b200f41ff0171450d010b2008450d022008417f6a2108201020074102746a41ac146a28020021100c010b0b200e200e28020041054b220b4103746a280200220f450d010240200e41046a220d280200200d200b1b200f412c6c6a220f41546a2207280200220b41014b0d00200f41586a220a280200210e200f41706a280200210d0240200b410171450d00200e200d460d010b2004200f41646a36020c2004410c6a200b200e200d10a896808000200a200d3602004101210b200741013602000b4158210d0240024002400240200b417e6a220b4102200b4102491b0e03010200010b4164210d0b200f200d6a220b0d010b20052802000d032005200529030842017c3703084100210b2005280210450d064188f8cc8000108081808000000b20052802000d03200b35020821112005200529030842017c37030820052802100d042005200529031820117c3703184101210b0c050b2004410c6a200028020420012002200310808e80800020042d000c220b4102470d044184f1c2800041302004412f6a41f4f0c2800041b4f2c2800010a481808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b200441306a248080808000200b4101710b9a07020d7f017e23808080800041306b2204248080808000024002400240024002400240200028020022052802a8012206450d00200128020821072001280204210820052802ac0121090340200641a07f6a210a200641a4086a210b20062f01aa09220c410c6c210d417f210e0240024003400240200d0d00200c210e0c020b200b280208210f200b2802042110200d41746a210d200e41016a210e200a41e0006a210a200b410c6a210b417f200820102007200f2007200f491b10ed9680800022102007200f6b20101b220f410047200f4100481b220f4101460d000b200f41ff0171450d010b2009450d022009417f6a21092006200e4102746a41ac096a28020021060c010b0b200a2802002210450d00200a41046a28020021080340201041a07e6a210e201041a4136a210b20102f01aa142206410c6c210d417f21070240024003400240200d0d00200621070c020b200b280208210f200b280204210a200d41746a210d200741016a2107200e41e0016a210e200b410c6a210b417f2002200a2003200f2003200f491b10ed96808000220a2003200f6b200a1b220f410047200f4100481b220f4101460d000b200f41ff0171450d010b2008450d022008417f6a2108201020074102746a41ac146a28020021100c010b0b200e200e28020041054b220b4103746a280200220f450d010240200e41046a220d280200200d200b1b200f412c6c6a220f41546a2207280200220b41014b0d00200f41586a220a280200210e200f41706a280200210d0240200b410171450d00200e200d460d010b2004200f41646a36020c2004410c6a200b200e200d10a896808000200a200d3602004101210b200741013602000b4158210d0240024002400240200b417e6a220b4102200b4102491b0e03010200010b4164210d0b200f200d6a220b0d010b20052802000d032005200529030842017c3703084100210b2005280210450d064188f8cc8000108081808000000b20052802000d03200b35020821112005200529030842017c37030820052802100d042005200529031820117c3703184101210b0c050b2004410c6a200028020420012002200310818e80800020042d000c220b4102470d044184f1c2800041302004412f6a41f4f0c2800041b4f2c2800010a481808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4188f8cc8000108081808000000b200441306a248080808000200b4101710bc90201017f23808080800041306b220524808080800020002802004188026a2100024002400240024020030d004100210441002d00b8bfd380001a410741002802b0bfd38000118280808000002203450d01200341036a41002800afdfc28000360000200341002800acdfc28000360000024020024100480d00024020020d00410121040c040b41002d00b8bfd380001a200241002802b0bfd380001182808080000022040d03410121040b2004200241bcf3cc800010ae80808000000b200041acdfc28000410720012002200320041099968080000c020b4101410710b980808000000b20042001200210e9968080002101200520023602202005200136021c2005200236021820054107360214200520033602102005410736020c200541808080807836022420002005410c6a200541246a41002005109f968080000b200541306a2480808080000bcb23030f7f037e097f23808080800041b0016b22052480808080002005410c6a2001280204220620022003200410888e8080000240024002400240024002400240024002400240200528020c2207418180808078460d0020052802142108200528021021094100210a0240200128020022012802a801220b450d002002280208210c2002280204210d20012802ac01210e0340200b41a07f6a210f200b41a4086a2101200b2f01aa092210410c6c2111417f2112024002400340024020110d00201021120c020b2001280208210a20012802042113201141746a2111201241016a2112200f41e0006a210f2001410c6a2101417f200d2013200c200a200c200a491b10ed968080002213200c200a6b20131b220a410047200a4100481b220a4101460d000b200a41ff0171450d010b0240200e0d004100210a0c030b200e417f6a210e200b20124102746a41ac096a280200210b0c010b0b0240200f2802002201450d00200f41046a28020021112005410236029c01200520043602980120052003360294014101210a2005410136029001200541f0006a2001201120054190016a1090968080000c010b2005410036027c200541003602704101210a0b200541d8006a200541f0006a41106a2902002214370200200541d0006a200541f0006a41086a2902002215370200200520052902702216370248200541003602602005410036022820054190016a41086a201537030020054190016a41106a20143703002005410036024420052016370390010240200a450d00200541c4006a210b200541106a2211200541c8006a2213290200370200201141106a201341106a290200370200201141086a201341086a290200370200200528021c210c024002402005280210220a450d002005280224210f20052802182112200a200c470d042012200f460d010c040b200c0d0b0b410021010340200541f0006a210a024020014102460d0020054190016a41086a201341086a29020037030020054190016a41106a201341106a290200370300200520013602702005201329020037039001200b210a0b200a41003602002005280270450d012011200529039001370200201141106a20054190016a41106a290300370200201141086a20054190016a41086a290300370200200528021c210c024002402005280210220a0d00200c450d010c0d0b2005280224210f20052802182112200a200c470d042012200f470d040b200528024421010c000b0b2000200836020820002009360204200020073602000c020b4184f1c280004130200541af016a41f4f0c2800041d4f2c2800010a481808000000b2005410136020c2005280214210d02400240024002402012200a2f01aa144f0d00200a21010c010b0340200a2802a0132201450d02200d41016a210d200a2f01a81421122001210a201220012f01aa144f0d000b0b2001201241e0016c6a210320012012410c6c6a41a4136a210e0240200d0d00201241016a210a0c020b200120124102746a41b0146a28020021014100210a200d417f6a2212450d01200d417e6a211002402012410771220d450d0003402012417f6a211220012802ac142101200d417f6a220d0d000b0b20104107490d01034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101201241786a22120d000c020b0b41bcdcc18000108a81808000000b2005200a3602182005410036021420052001360210200e41046a2802002117200e41086a28020021182005200336026c20052018360268200520173602642005410136026002402007418080808078460d0020052005280244360270200528025c21102005280254210420052802502112200528024c21132005280248210d41002111024002400240024003402009211903402007221a41808080807846211b02400240034002400240024002400240024020114101710d00201721092018210b200321110c010b41002111024003400240024020010d00200c450d0141acdcc18000108a81808000000b02402001200c470d00200a200f460d010b02400240200a20012f01aa144f0d002001210b0c010b034020012802a013220b450d04201141016a211120012f01a814210a200b2101200a200b2f01aa144f0d000b0b200a41e0016c2109200b200a410c6c6a41a4136a21070240024020110d00200a41016a210a200b21010c010b200b200a4102746a41b0146a28020021014100210a2011417f6a220e450d002011417e6a211c0240200e4107712211450d000340200e417f6a210e20012802ac1421012011417f6a22110d000b0b201c4107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200e41786a220e0d000b0b200b20096a2111200741086a280200210b200741046a28020021090c030b20054190016a210102402005280270220a4102460d002005200a36029001200541f0006a21012004210c2010210f0b200141003602002012210a20132111200d21012005280290010d000c030b0b41bcdcc18000108a81808000000b201b0d05201920092008200b2008200b491b10ed96808000220e2008200b6b200e1b22074100480d002011201128020041054b220e4103746a280200221c450d0a02402011280204201141046a200e1b201c412c6c6a220e41546a221d280200221141014b0d00200e41586a221e280200211f200e41706a280200211c02402011410171450d00201f201c460d010b2005200e41646a3602900120054190016a2011201f201c10a896808000201e201c36020041012111201d41013602000b4158211c2011417e6a2211410220114102491b0e03020301020b20002008360208200020193602042000201a3602000c0d0b4164211c0b200e201c6a0d030b4101211120070d000b20054190016a200620022009200b10888e8080002005280290012207418180808078460d042005280298012108200528029401210941012111201a450d03201941002802a8bfd38000118080808000000c030b2011201128020041054b220e4103746a2802002207450d0502402011280204201141046a200e1b2007412c6c6a221c41546a2207280200220e41014b0d00201c41586a221d280200211b201c41706a28020021110240200e410171450d00201b2011460d010b2005201c41646a3602900120054190016a200e201b201110a896808000201d20113602004101210e200741013602000b4180808080782107410121114158211b02400240200e417e6a220e4102200e4102491b0e03010300010b4164211b0b201c201b6a450d010b0b0b410021010240200b4100480d000240200b0d00410121010c050b41002d00b8bfd380001a200b41002802b0bfd380001182808080000022010d04410121010b2001200b41d4efc2800010ae80808000000b4184f1c280004130200541af016a41f4f0c2800041c4f2c2800010a481808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b20012009200b10e99680800021012000200b360208200020013602042000200b360200201a41808080807872418080808078460d01201941002802a8bfd38000118080808000000c010b20054100360260024002402003200328020041054b22014103746a280200220a450d0002402003280204200341046a20011b200a412c6c6a220a41546a2212280200220141014b0d00200a41586a220d280200210f200a41706a280200210c02402001410171450d00200f200c460d010b2005200a41646a3602900120054190016a2001200f200c10a896808000200d200c36020041012101201241013602000b4158210c024002402001417e6a2201410220014102491b0e03010300010b4164210c0b200a200c6a450d014100210102400240024020184100480d00024020180d00420121140c030b41002d00b8bfd380001a201841002802b0bfd380001182808080000022010d01410121010b2001201841d4efc2800010ae80808000000b20012017201810e996808000ad21140b20002018360200200020142018ad422086843702040c020b41e4fccc800041fc0041c8fecc8000108b81808000000b200541286a210202400240200528020c4101470d002005200236028c012005200541af016a36028801200528021c210102402005280210220a450d0003402005280218210c0240200a2001470d00200c2005280224460d030b2005280214211202400240200c200a2f01aa144f0d00200a21010c010b0340200a2802a0132201450d07201241016a2112200a2f01a814210c2001210a200c20012f01aa144f0d000b0b2001200c41e0016c6a210f2001200c410c6c6a41a4136a210d0240024020120d00200c41016a210e0c010b2001200c4102746a41b0146a28020021014100210e2012417f6a220a450d002012417e6a21120240200a410771220c450d000340200a417f6a210a20012802ac142101200c417f6a220c0d000b0b20124107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200a41786a220a0d000b0b2005200e3602182005410036021420052001360210200d41046a29020021142005200f360298012005201437029001200541f0006a20054188016a20054190016a10b28e80800020052802702201418080808078470d03200528021c21012005280210220a0d000b0b20010d080b0240200528024422014102460d00200541003602442001410171450d0020112013290200370200201141106a201341106a290200370200201141086a201341086a2902003702002005410136020c2005200236028c012005200541af016a36028801200528021c2101024002402005280210220a450d000340200528021821110240200a2001470d0020112005280224460d030b2005280214210c024002402011200a2f01aa144f0d00200a21010c010b0340200a2802a0132201450d0a200c41016a210c200a2f01a81421112001210a201120012f01aa144f0d000b0b2001201141e0016c6a211220012011410c6c6a41a4136a210f02400240200c0d00201141016a21130c010b200120114102746a41b0146a280200210141002113200c417f6a220a450d00200c417e6a210c0240200a4107712211450d000340200a417f6a210a20012802ac1421012011417f6a22110d000b0b200c4107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200a41786a220a0d000b0b200520133602182005410036021420052001360210200f41046a290200211420052012360298012005201437029001200541f0006a20054188016a20054190016a10b28e80800020052802702201418080808078470d04200528021c21012005280210220a0d000b0b20010d050b200541003602440b2005410036020c02402005280228450d002005200b36028c012005200541af016a36028801200528023821010240200528022c220a450d000340200528023421110240200a2001470d0020112005280240460d030b2005280230210c024002402011200a2f01aa144f0d00200a21010c010b0340200a2802a0132201450d0b200c41016a210c200a2f01a81421112001210a201120012f01aa144f0d000b0b2001201141e0016c6a211220012011410c6c6a41a4136a210f02400240200c0d00201141016a21130c010b200120114102746a41b0146a280200210141002113200c417f6a220a450d00200c417e6a210c0240200a4107712211450d000340200a417f6a210a20012802ac1421012011417f6a22110d000b0b200c4107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200a41786a220a0d000b0b20052013360234200541003602302005200136022c200f41046a290200211420052012360298012005201437029001200541f0006a20054188016a20054190016a10b28e80800020052802702201418080808078470d0320052802382101200528022c220a0d000b0b20010d060b20004180808080783602000c010b20002005290274370204200020013602000b200541b0016a2480808080000f0b41bcdcc18000108a81808000000b41acdcc18000108a81808000000b41bcdcc18000108a81808000000b41acdcc18000108a81808000000b41bcdcc18000108a81808000000b41acdcc18000108a81808000000b41acdcc18000108a81808000000bcb23030f7f037e097f23808080800041b0016b22052480808080002005410c6a2001280204220620022003200410868e8080000240024002400240024002400240024002400240200528020c2207418180808078460d0020052802142108200528021021094100210a0240200128020022012802a801220b450d002002280208210c2002280204210d20012802ac01210e0340200b41a07f6a210f200b41a4086a2101200b2f01aa092210410c6c2111417f2112024002400340024020110d00201021120c020b2001280208210a20012802042113201141746a2111201241016a2112200f41e0006a210f2001410c6a2101417f200d2013200c200a200c200a491b10ed968080002213200c200a6b20131b220a410047200a4100481b220a4101460d000b200a41ff0171450d010b0240200e0d004100210a0c030b200e417f6a210e200b20124102746a41ac096a280200210b0c010b0b0240200f2802002201450d00200f41046a28020021112005410236029c01200520043602980120052003360294014101210a2005410136029001200541f0006a2001201120054190016a1090968080000c010b2005410036027c200541003602704101210a0b200541d8006a200541f0006a41106a2902002214370200200541d0006a200541f0006a41086a2902002215370200200520052902702216370248200541003602602005410036022820054190016a41086a201537030020054190016a41106a20143703002005410036024420052016370390010240200a450d00200541c4006a210b200541106a2211200541c8006a2213290200370200201141106a201341106a290200370200201141086a201341086a290200370200200528021c210c024002402005280210220a450d002005280224210f20052802182112200a200c470d042012200f460d010c040b200c0d0b0b410021010340200541f0006a210a024020014102460d0020054190016a41086a201341086a29020037030020054190016a41106a201341106a290200370300200520013602702005201329020037039001200b210a0b200a41003602002005280270450d012011200529039001370200201141106a20054190016a41106a290300370200201141086a20054190016a41086a290300370200200528021c210c024002402005280210220a0d00200c450d010c0d0b2005280224210f20052802182112200a200c470d042012200f470d040b200528024421010c000b0b2000200836020820002009360204200020073602000c020b4184f1c280004130200541af016a41f4f0c2800041d4f2c2800010a481808000000b2005410136020c2005280214210d02400240024002402012200a2f01aa144f0d00200a21010c010b0340200a2802a0132201450d02200d41016a210d200a2f01a81421122001210a201220012f01aa144f0d000b0b2001201241e0016c6a210320012012410c6c6a41a4136a210e0240200d0d00201241016a210a0c020b200120124102746a41b0146a28020021014100210a200d417f6a2212450d01200d417e6a211002402012410771220d450d0003402012417f6a211220012802ac142101200d417f6a220d0d000b0b20104107490d01034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101201241786a22120d000c020b0b41bcdcc18000108a81808000000b2005200a3602182005410036021420052001360210200e41046a2802002117200e41086a28020021182005200336026c20052018360268200520173602642005410136026002402007418080808078460d0020052005280244360270200528025c21102005280254210420052802502112200528024c21132005280248210d41002111024002400240024003402009211903402007221a41808080807846211b02400240034002400240024002400240024020114101710d00201721092018210b200321110c010b41002111024003400240024020010d00200c450d0141acdcc18000108a81808000000b02402001200c470d00200a200f460d010b02400240200a20012f01aa144f0d002001210b0c010b034020012802a013220b450d04201141016a211120012f01a814210a200b2101200a200b2f01aa144f0d000b0b200a41e0016c2109200b200a410c6c6a41a4136a21070240024020110d00200a41016a210a200b21010c010b200b200a4102746a41b0146a28020021014100210a2011417f6a220e450d002011417e6a211c0240200e4107712211450d000340200e417f6a210e20012802ac1421012011417f6a22110d000b0b201c4107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200e41786a220e0d000b0b200b20096a2111200741086a280200210b200741046a28020021090c030b20054190016a210102402005280270220a4102460d002005200a36029001200541f0006a21012004210c2010210f0b200141003602002012210a20132111200d21012005280290010d000c030b0b41bcdcc18000108a81808000000b201b0d05201920092008200b2008200b491b10ed96808000220e2008200b6b200e1b22074100480d002011201128020041054b220e4103746a280200221c450d0a02402011280204201141046a200e1b201c412c6c6a220e41546a221d280200221141014b0d00200e41586a221e280200211f200e41706a280200211c02402011410171450d00201f201c460d010b2005200e41646a3602900120054190016a2011201f201c10a896808000201e201c36020041012111201d41013602000b4158211c2011417e6a2211410220114102491b0e03020301020b20002008360208200020193602042000201a3602000c0d0b4164211c0b200e201c6a0d030b4101211120070d000b20054190016a200620022009200b10868e8080002005280290012207418180808078460d042005280298012108200528029401210941012111201a450d03201941002802a8bfd38000118080808000000c030b2011201128020041054b220e4103746a2802002207450d0502402011280204201141046a200e1b2007412c6c6a221c41546a2207280200220e41014b0d00201c41586a221d280200211b201c41706a28020021110240200e410171450d00201b2011460d010b2005201c41646a3602900120054190016a200e201b201110a896808000201d20113602004101210e200741013602000b4180808080782107410121114158211b02400240200e417e6a220e4102200e4102491b0e03010300010b4164211b0b201c201b6a450d010b0b0b410021010240200b4100480d000240200b0d00410121010c050b41002d00b8bfd380001a200b41002802b0bfd380001182808080000022010d04410121010b2001200b41d4efc2800010ae80808000000b4184f1c280004130200541af016a41f4f0c2800041c4f2c2800010a481808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b20012009200b10e99680800021012000200b360208200020013602042000200b360200201a41808080807872418080808078460d01201941002802a8bfd38000118080808000000c010b20054100360260024002402003200328020041054b22014103746a280200220a450d0002402003280204200341046a20011b200a412c6c6a220a41546a2212280200220141014b0d00200a41586a220d280200210f200a41706a280200210c02402001410171450d00200f200c460d010b2005200a41646a3602900120054190016a2001200f200c10a896808000200d200c36020041012101201241013602000b4158210c024002402001417e6a2201410220014102491b0e03010300010b4164210c0b200a200c6a450d014100210102400240024020184100480d00024020180d00420121140c030b41002d00b8bfd380001a201841002802b0bfd380001182808080000022010d01410121010b2001201841d4efc2800010ae80808000000b20012017201810e996808000ad21140b20002018360200200020142018ad422086843702040c020b41e4fccc800041fc0041c8fecc8000108b81808000000b200541286a210202400240200528020c4101470d002005200236028c012005200541af016a36028801200528021c210102402005280210220a450d0003402005280218210c0240200a2001470d00200c2005280224460d030b2005280214211202400240200c200a2f01aa144f0d00200a21010c010b0340200a2802a0132201450d07201241016a2112200a2f01a814210c2001210a200c20012f01aa144f0d000b0b2001200c41e0016c6a210f2001200c410c6c6a41a4136a210d0240024020120d00200c41016a210e0c010b2001200c4102746a41b0146a28020021014100210e2012417f6a220a450d002012417e6a21120240200a410771220c450d000340200a417f6a210a20012802ac142101200c417f6a220c0d000b0b20124107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200a41786a220a0d000b0b2005200e3602182005410036021420052001360210200d41046a29020021142005200f360298012005201437029001200541f0006a20054188016a20054190016a10b28e80800020052802702201418080808078470d03200528021c21012005280210220a0d000b0b20010d080b0240200528024422014102460d00200541003602442001410171450d0020112013290200370200201141106a201341106a290200370200201141086a201341086a2902003702002005410136020c2005200236028c012005200541af016a36028801200528021c2101024002402005280210220a450d000340200528021821110240200a2001470d0020112005280224460d030b2005280214210c024002402011200a2f01aa144f0d00200a21010c010b0340200a2802a0132201450d0a200c41016a210c200a2f01a81421112001210a201120012f01aa144f0d000b0b2001201141e0016c6a211220012011410c6c6a41a4136a210f02400240200c0d00201141016a21130c010b200120114102746a41b0146a280200210141002113200c417f6a220a450d00200c417e6a210c0240200a4107712211450d000340200a417f6a210a20012802ac1421012011417f6a22110d000b0b200c4107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200a41786a220a0d000b0b200520133602182005410036021420052001360210200f41046a290200211420052012360298012005201437029001200541f0006a20054188016a20054190016a10b28e80800020052802702201418080808078470d04200528021c21012005280210220a0d000b0b20010d050b200541003602440b2005410036020c02402005280228450d002005200b36028c012005200541af016a36028801200528023821010240200528022c220a450d000340200528023421110240200a2001470d0020112005280240460d030b2005280230210c024002402011200a2f01aa144f0d00200a21010c010b0340200a2802a0132201450d0b200c41016a210c200a2f01a81421112001210a201120012f01aa144f0d000b0b2001201141e0016c6a211220012011410c6c6a41a4136a210f02400240200c0d00201141016a21130c010b200120114102746a41b0146a280200210141002113200c417f6a220a450d00200c417e6a210c0240200a4107712211450d000340200a417f6a210a20012802ac1421012011417f6a22110d000b0b200c4107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200a41786a220a0d000b0b20052013360234200541003602302005200136022c200f41046a290200211420052012360298012005201437029001200541f0006a20054188016a20054190016a10b28e80800020052802702201418080808078470d0320052802382101200528022c220a0d000b0b20010d060b20004180808080783602000c010b20002005290274370204200020013602000b200541b0016a2480808080000f0b41bcdcc18000108a81808000000b41acdcc18000108a81808000000b41bcdcc18000108a81808000000b41acdcc18000108a81808000000b41bcdcc18000108a81808000000b41acdcc18000108a81808000000b41acdcc18000108a81808000000b0e00200028020410a78e808000000b0e00200028020410a88e808000000b10002000200128020410a98e808000000b10002000200128020410aa8e808000000bcc0101027f410021050240024020034100480d0020002802002100024020030d00410121050c020b41002d00b8bfd380001a200341002802b0bfd380001182808080000022050d01410121050b2005200341d4efc2800010ae80808000000b20052002200310e9968080002106024020002802e402220520002802dc02470d00200041dc026a41b4dfc2800010e78a8080000b20002802e002200541146c6a220220043602102002200136020c2002200336020820022006360204200220033602002000200541016a3602e4020b0d0020002802001083868080000b0d0020002802001085868080000b0d0020002802001088868080000bd00101027f410021040240024020034100480d0020002802002100024020030d00410121040c020b41002d00b8bfd380001a200341002802b0bfd380001182808080000022040d01410121040b2004200341d4efc2800010ae80808000000b20042002200310e9968080002105024020002802e402220420002802dc02470d00200041dc026a41b4dfc2800010e78a8080000b20002802e002200441146c6a220220013602102002200336020c200220053602082002200336020420024180808080783602002000200441016a3602e4020bd70902117f027e23808080800041a0016b2201248080808000200028020022022802c80120022802c0012203200341054b1b41016a210302400240034002402003417f6a22030d00200141086a20022000280204108a868080002001280288012204418080808078460d022001280290012105200128028c01210620012802840121072001280280012108200128027c21092001280274210a2001280270210b2001280264210c2001280260210d2001280234210e200128022c210f20012802282110024020012802782200450d00200a2103034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a2802002211418080808078460d002011450d00200341106a28020041002802a8bfd38000118080808000000b200341186a21032000417f6a22000d000b0b0240200b450d00200a41002802a8bfd38000118080808000000b02402007450d004100210b034002402008200b41186c6a220a280200450d00200a28020441002802a8bfd38000118080808000000b0240200a2802142200450d00200a2802102103034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a2802002211418080808078460d002011450d00200341106a28020041002802a8bfd38000118080808000000b200341186a21032000417f6a22000d000b0b0240200a28020c450d00200a28021041002802a8bfd38000118080808000000b200b41016a220b2007470d000b0b02402009450d00200841002802a8bfd38000118080808000000b02402005450d0020062103034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a280200450d00200341106a28020041002802a8bfd38000118080808000000b0240200341186a2802002200418080808078460d002000450d002003411c6a28020041002802a8bfd38000118080808000000b200341246a21032005417f6a22050d000b0b02402004450d00200641002802a8bfd38000118080808000000b0240200f450d000240200e450d00201041086a21032010290300427f8542808182848890a0c0807f832112201021000340024020124200520d000340200041a07e6a210020032903002112200341086a22112103201242808182848890a0c0807f83221242808182848890a0c0807f510d000b201242808182848890a0c0807f852112201121030b02402000410020127aa74103766b411c6c6a221141646a280200450d00201141686a28020041002802a8bfd38000118080808000000b2012427f7c21130240201141706a280200450d00201141746a28020041002802a8bfd38000118080808000000b20132012832112200e417f6a220e0d000b0b200f200f41016aad421c7ea741076a41787122036a4177460d00201020036b41002802a8bfd38000118080808000000b0240200d450d00200c41002802a8bfd38000118080808000000b2002108286808000450d0341e4f2c2800041c5002001419f016a4188dcc2800041acf3c2800010a481808000000b2002108886808000450d000b41ccf3c28000418e022001419f016a41a4dec2800041dcf5c2800010a481808000000b4184f1c2800041302001419f016a41f4f0c2800041bcf3c2800010a481808000000b200141a0016a2480808080000bd70902117f027e23808080800041a0016b2201248080808000200028020022022802c80120022802c0012203200341054b1b41016a210302400240034002402003417f6a22030d00200141086a200220002802041089868080002001280288012204418080808078460d022001280290012105200128028c01210620012802840121072001280280012108200128027c21092001280274210a2001280270210b2001280264210c2001280260210d2001280234210e200128022c210f20012802282110024020012802782200450d00200a2103034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a2802002211418080808078460d002011450d00200341106a28020041002802a8bfd38000118080808000000b200341186a21032000417f6a22000d000b0b0240200b450d00200a41002802a8bfd38000118080808000000b02402007450d004100210b034002402008200b41186c6a220a280200450d00200a28020441002802a8bfd38000118080808000000b0240200a2802142200450d00200a2802102103034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a2802002211418080808078460d002011450d00200341106a28020041002802a8bfd38000118080808000000b200341186a21032000417f6a22000d000b0b0240200a28020c450d00200a28021041002802a8bfd38000118080808000000b200b41016a220b2007470d000b0b02402009450d00200841002802a8bfd38000118080808000000b02402005450d0020062103034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a280200450d00200341106a28020041002802a8bfd38000118080808000000b0240200341186a2802002200418080808078460d002000450d002003411c6a28020041002802a8bfd38000118080808000000b200341246a21032005417f6a22050d000b0b02402004450d00200641002802a8bfd38000118080808000000b0240200f450d000240200e450d00201041086a21032010290300427f8542808182848890a0c0807f832112201021000340024020124200520d000340200041a07e6a210020032903002112200341086a22112103201242808182848890a0c0807f83221242808182848890a0c0807f510d000b201242808182848890a0c0807f852112201121030b02402000410020127aa74103766b411c6c6a221141646a280200450d00201141686a28020041002802a8bfd38000118080808000000b2012427f7c21130240201141706a280200450d00201141746a28020041002802a8bfd38000118080808000000b20132012832112200e417f6a220e0d000b0b200f200f41016aad421c7ea741076a41787122036a4177460d00201020036b41002802a8bfd38000118080808000000b0240200d450d00200c41002802a8bfd38000118080808000000b2002108286808000450d0341e4f2c2800041c5002001419f016a4188dcc2800041acf3c2800010a481808000000b2002108886808000450d000b41ccf3c28000418e022001419f016a41a4dec2800041dcf5c2800010a481808000000b4184f1c2800041302001419f016a41f4f0c2800041bcf3c2800010a481808000000b200141a0016a2480808080000b9306010e7f2380808080004190016b2201248080808000024002400240024002400240200028020022022802c80120022802c0012203200341054b1b2204450d0020024188026a2105200241b4016a21064100210703402006410010a0968080000d024100210841002109024020022802a8012203450d0020022802b001210920022802ac01210a0b200741016a21072003410047210b024003402009450d01200b410171450d05024002402008450d00200a210c2003210b200821030c010b4100210c0240200a450d00200a210d0240200a4107712208450d000340200d417f6a210d20032802ac0921032008417f6a22080d000b0b200a4108490d00034020032802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092103200d41786a220d0d000b0b4100210b0b02400240200c20032f01aa094f0d002003210d0c010b034020032802a008220d450d08200b41016a210b20032f01a809210c200d2103200c200d2f01aa094f0d000b0b02400240200b0d00200c41016a210a200d21080c010b200d200c4102746a41b0096a28020021084100210a200b417f6a2203450d00200b417e6a210e02402003410771220b450d0003402003417f6a210320082802ac092108200b417f6a220b0d000b0b200e4107490d00034020082802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092108200341786a22030d000b0b2009417f6a21094101210b41002103200d200c41e0006c6a410010a096808000450d000b41c4dec280004138200141a4dec2800041fcdec2800010a481808000000b200541001086868080000d0520072004470d000b0b200120022000280204108a86808000200128028001418080808078470d044184f1c280004130200141f4f0c2800041ecf5c2800010a481808000000b41ccf3c28000418e02200141a4dec2800041fcf5c2800010a481808000000b4198efc48000108a81808000000b41e8b3c18000108a81808000000b4198dcc280004138200141a4dec2800041b4dec2800010a481808000000b41ec90c68000410f41ac92c6800010f480808000000b9306010e7f2380808080004190016b2201248080808000024002400240024002400240200028020022022802c80120022802c0012203200341054b1b2204450d0020024188026a2105200241b4016a21064100210703402006410010a0968080000d024100210841002109024020022802a8012203450d0020022802b001210920022802ac01210a0b200741016a21072003410047210b024003402009450d01200b410171450d05024002402008450d00200a210c2003210b200821030c010b4100210c0240200a450d00200a210d0240200a4107712208450d000340200d417f6a210d20032802ac0921032008417f6a22080d000b0b200a4108490d00034020032802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092103200d41786a220d0d000b0b4100210b0b02400240200c20032f01aa094f0d002003210d0c010b034020032802a008220d450d08200b41016a210b20032f01a809210c200d2103200c200d2f01aa094f0d000b0b02400240200b0d00200c41016a210a200d21080c010b200d200c4102746a41b0096a28020021084100210a200b417f6a2203450d00200b417e6a210e02402003410771220b450d0003402003417f6a210320082802ac092108200b417f6a220b0d000b0b200e4107490d00034020082802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092108200341786a22030d000b0b2009417f6a21094101210b41002103200d200c41e0006c6a410010a096808000450d000b41c4dec280004138200141a4dec2800041fcdec2800010a481808000000b200541001086868080000d0520072004470d000b0b200120022000280204108986808000200128028001418080808078470d044184f1c280004130200141f4f0c2800041ecf5c2800010a481808000000b41ccf3c28000418e02200141a4dec2800041fcf5c2800010a481808000000b4198efc48000108a81808000000b41e8b3c18000108a81808000000b4198dcc280004138200141a4dec2800041b4dec2800010a481808000000b41ec90c68000410f41ac92c6800010f480808000000bfc06020b7f017e23808080800041d0006b220424808080800002400240024002400240024002400240200128020022052802b4012206450d0020052802b80121070340200641a07e6a2108200641a4136a210920062f01aa14220a410c6c210b417f210c0240024003400240200b0d00200a210c0c020b2009280208210d2009280204210e200b41746a210b200c41016a210c200841e0016a21082009410c6a2109417f2002200e2003200d2003200d491b10ed96808000220e2003200d6b200e1b220d410047200d4100481b220d4101460d000b200d41ff0171450d010b2007450d022007417f6a21072006200c4102746a41ac146a28020021060c010b0b2008200828020041054b22094103746a280200220d450d020240200841046a220b280200200b20091b200d412c6c6a220d41546a2203280200220941014b0d00200d41586a2208280200210c200d41706a280200210b02402009410171450d00200c200b460d010b2004200d41646a360218200441186a2009200c200b10a8968080002008200b36020041012109200341013602000b4158210b02400240024002402009417e6a2209410220094102491b0e03010200010b4164210b0b200d200b6a220d0d010b20052802000d042005200529030842017c370308024020052802100d0041808080807821090c090b4188f8cc8000108081808000000b20052802000d04200d350208210f2005200529030842017c3703082005280210450d014188f8cc8000108081808000000b20012802042109200441003a001820042003360244200420023602402004200936023c2004200441cf006a3602482004410c6a2009200441186a2004413c6a10898e808000200428020c2209418180808078460d042004290210210f0c060b20052005290318200f7c3703184100210b0240200d28020822094100480d00200d280204210d024020090d004101210b0c060b41002d00b8bfd380001a200941002802b0bfd3800011828080800000220b0d054101210b0b200b200941d4efc2800010ae80808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4184f1c280004130200441cf006a41f4f0c28000418cf6c2800010a481808000000b2009ad422086200b200d200910e996808000ad84210f0b2000200f37020420002009360200200441d0006a2480808080000bfc06020b7f017e23808080800041d0006b220424808080800002400240024002400240024002400240200128020022052802b4012206450d0020052802b80121070340200641a07e6a2108200641a4136a210920062f01aa14220a410c6c210b417f210c0240024003400240200b0d00200a210c0c020b2009280208210d2009280204210e200b41746a210b200c41016a210c200841e0016a21082009410c6a2109417f2002200e2003200d2003200d491b10ed96808000220e2003200d6b200e1b220d410047200d4100481b220d4101460d000b200d41ff0171450d010b2007450d022007417f6a21072006200c4102746a41ac146a28020021060c010b0b2008200828020041054b22094103746a280200220d450d020240200841046a220b280200200b20091b200d412c6c6a220d41546a2203280200220941014b0d00200d41586a2208280200210c200d41706a280200210b02402009410171450d00200c200b460d010b2004200d41646a360218200441186a2009200c200b10a8968080002008200b36020041012109200341013602000b4158210b02400240024002402009417e6a2209410220094102491b0e03010200010b4164210b0b200d200b6a220d0d010b20052802000d042005200529030842017c370308024020052802100d0041808080807821090c090b4188f8cc8000108081808000000b20052802000d04200d350208210f2005200529030842017c3703082005280210450d014188f8cc8000108081808000000b20012802042109200441003a001820042003360244200420023602402004200936023c2004200441cf006a3602482004410c6a2009200441186a2004413c6a108a8e808000200428020c2209418180808078460d042004290210210f0c060b20052005290318200f7c3703184100210b0240200d28020822094100480d00200d280204210d024020090d004101210b0c060b41002d00b8bfd380001a200941002802b0bfd3800011828080800000220b0d054101210b0b200b200941d4efc2800010ae80808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41f8f7cc8000108081808000000b41f8f7cc8000108081808000000b4184f1c280004130200441cf006a41f4f0c28000418cf6c2800010a481808000000b2009ad422086200b200d200910e996808000ad84210f0b2000200f37020420002009360200200441d0006a2480808080000b830503017f017e057f23808080800041106b22022480808080002000290300210302402001280200200128020822046b41074b0d0020012004410810fc90808000200128020821040b2001200441086a360208200128020420046a2003370000200028021421052002200028021822043602082002200241086a36020c2002410c6a200110d58380800002402004450d002004410c6c2106200541086a210403402004417c6a28020021072002200428020022053602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822086b20054f0d0020012008200510fc90808000200128020821080b200128020420086a2007200510e9968080001a2001200820056a3602082004410c6a2104200641746a22060d000b0b200028022021052002200028022422043602082002200241086a36020c2002410c6a200110d583808000024002402004450d002004410c6c2106200541086a210403402004417c6a28020021072002200428020022053602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822086b20054f0d0020012008200510fc90808000200128020821080b200128020420086a2007200510e9968080001a2001200820056a22053602082004410c6a2104200641746a22060d000c020b0b200128020821050b200029030821030240200128020020056b41074b0d0020012005410810fc90808000200128020821050b200128020420056a20033700002001200541086a220436020820002d00282105024020012802002004470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a20053a0000200241106a2480808080000b920501037f02400240024020002d00000d000240200128020020012802082202470d0020012002410110fc90808000200128020821020b2001200241016a220336020841002104200128020420026a41003a0000024002400240024002400240024002400240024002400240024020002d00010e0d000102030405060708090a0b0c000b20012802002003460d0d0c0e0b4101210420012802002003460d0c0c0d0b4102210420012802002003460d0b0c0c0b4103210420012802002003460d0a0c0b0b4104210420012802002003460d090c0a0b4105210420012802002003460d080c090b4106210420012802002003460d070c080b20002d000221040240024020012802002003460d00200321000c010b20012003410110fc90808000200128020821000b2001200041016a2203360208200128020420006a41073a000020012802002003460d060c070b4108210420012802002003460d050c060b4109210420012802002003460d040c050b410a210420012802002003460d030c040b410b210420012802002003460d020c030b410c210420012802002003460d010c020b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b410121042001200241016a2203360208200128020420026a41013a000002400240024020002d00010e03000102000b4100210420012802002003460d020c030b20012802002003460d010c020b20002d000221040240024020012802002003460d00200321000c010b20012003410110fc90808000200128020821000b2001200041016a2203360208200128020420006a41023a000020012802002003470d010b20012003410110fc90808000200128020821030b2001200341016a360208200128020420036a20043a00000b900201027f23808080800041106b22022480808080002002200041a0016a360204200128021c41b0f7c280004112200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41c2f7c28000410820004190f7c28000109d818080001a200241086a41caf7c280004108200241046a41a0f7c28000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710b880302017f077e23808080800041d0026b2201248080808000200142f89aef8eef91e1ce967f3700c802200142b4d6d6dfccc6b592c3003700c002200142fc90b9e5d09296e7773700b802200142a6d4e6f1a4dd9598603700b002200141086a200141b0026a4120109484808000420021024200210342002104420021054200210642002107024020012802084101470d002001290338210720012903302106200129032821052001290320210420012903182103200129031021020b200141086a10cb87808000024020012903a0022208427f427f200220047c220420042002541b220220067c220420042002541b2204580d0020012903a8022202427f427f200320057c220620062003541b220320077c220620062003541b2203580d00200141086a20004200200820047d220420042008561b4200200220037d220320032002561b10ec8c808000200129030821022001200129031037031020012002370308200141023a00b002200141086a200141b0026a1098898080000b200141d0026a2480808080000bef1403047f037e067f23808080800041a0086b2201248080808000200010dd868080001a02400240200028022c2202450d0020014190016a2002417f6a108988808000200141d0056a20012802940122022001280298011090848080000240024020012d00d0050d00200141b8036a4200370300200141b0036a4200370300200141a8036a4200370300200142003703a0030c010b200141b8036a200141e9056a290000370300200141b0036a200141e1056a290000370300200141a8036a200141d9056a290000370300200120012900d1053703a0030b0240200128029001450d00200241002802a8bfd38000118080808000000b200141a0036a2000410c6a412010ed968080000d002001410c6a200041f00010e9968080001a2000280270210320002802742102200028027821002001410036028c012001200220004190026c6a220436028801200120033602840120012002360280012001200236027c0240024002402000450d00200120024190026a360280010240200229030022054205510d0041e681808000ad422086200141a0036aad2206842107200141c0046a2108200141a0036a410872210941002103034020014190016a200241086a41880210e9968080001a2001200128028c01220041016a36028c012001200036029c03200120053703a003200920014190016a41880210e9968080001a0240024020054202510d00410021020c010b0240024020012802c0042204418080808078460d00200441ffffffff076a2202410849200241014771450d010b410021020240200441fdffffff076a0e06010202020200020b20012802c8044104460d00410021020c010b20032000470d0441012102200341016a21030b024041002802ecbfd380004104490d00200120073703880841002802d4bcd38000210441002802d0bcd38000210a41002802e8bfd38000210b20014201370288062001410136028006200141f4fbc280003602fc05200141123602f805200141fcfbc280003602f405200142c4808080c0003702ec052001418cf8c280003602e8052001420f3702e0052001419cfac280003602dc05200141003602d80520014281808080f0d6003702d005200441c4dbc88000200b410246220b1b2802102104200120014188086a36028406200a41dcdbc88000200b1b200141d0056a2004118b80808000000b200141d0056a200141a0036a41900210e9968080001a200120023a00e007200141bc056a200141d0056a200210de86808000024020012d00bc054110460d0020012802800122022001280288012204460d03200120024190026a36028001200229030022054205510d020c010b0b41022102200141f4076a41026a220420012d00bf053a0000200120012f00bd053b01f407024041002802ecbfd38000450d00200141033602d405200141d8fcc280003602d005200142023702dc05200141e781808000ad422086200141f4076aad84370380082001418a80808000ad4220862001419c036aad843703f8072001200141f8076a3602d805200141f0fcc28000360298082001410f360294082001419cfac28000360290082001411236028c08200141fcfbc2800036028808200141d0056a410120014188086a4100200110da908080000b20014188086a41026a20042d00003a0000200120012f01f4073b0188080c030b20024190026a21020b200420026b4190026e2100024020042002460d00034002402002290300427e7c22054203542005420152710d00200241306a2d000041ff01714102470d00200241346a280200450d00200241386a28020041002802a8bfd38000118080808000000b200241a0016a10d38880800020024190026a21022000417f6a22000d000b0b0240200128028401450d00200128027c41002802a8bfd38000118080808000000b200142beee8ae9ce8fa2b1977f3700e80520014295d4f9afa2868fb8643700e005200142fc90b9e5d09296e7773700d805200142a6d4e6f1a4dd9598603700d0050240200141d0056a412010868480800041fd01710d0010df868080000b10c18c8080002001280238220210db86808000200210ef8c808000200141d0056a10c28c80800020012001280214220836028808200120012802d805220236029001024020082002470d0020012802d40521022008450d0420012802102104410021002008210c02400340200420006a2203200220006a220910d99580800020032d0000220d20092d0000470d01410c210a4108210b024002400240024002400240200d0e050001020405000b200341016a280000200941016a280000470d060c020b200341016a280000200941016a280000460d010c050b200341016a280000200941016a280000470d040b4110210a410c210b0b2004200a20006a22036a2802002209200220036a280200470d022004200b20006a22036a280200200220036a280200200910ed968080000d020b200041146a2100200c417f6a220c0d000c060b0b200141003602b003200141013602a40320014184fac280003602a003200142043702a803200141a0036a418cfac2800010f280808000000b200142003702ac0320014281808080c0003702a40320014184f8c280003602a003410020014188086a20014190016a200141a0036a41d0f8c2800010f880808000000b200810e086808000410021020b200141fc006a10e288808000200120023a00a003200120012f0188083b00a10320012001418a086a2d00003a00a303200120003602a403200141013602d405200141acfac280003602d005200142013702dc05200141e881808000ad42208620068437039001200120014190016a3602d805200141d0056a41b4fac2800010f280808000000b200141003602e005200141013602d405200141e0fac280003602d005200142043702d805200141d0056a41e8fac2800010f280808000000b02402001410c6a41306a2200200141d0056a41306a2204412010ed96808000450d004183dbcc8000410e41002802e0bdd38000118b80808000002000412041002802d8bdd38000118b80808000002004412041002802d8bdd38000118b80808000000b024020002004412010ed96808000450d00200141003602b003200141013602a40320014188f9c280003602a003200142043702a803200141a0036a4190f9c2800010f280808000000b02402001410c6a41d0006a200141d0056a41d0006a412010ed968080000d0002402008450d000340024020022d0000220041034b0d002002200041027441cc84c380006a2802006a2200280200450d00200041046a28020041002802a8bfd38000118080808000000b200241146a21022008417f6a22080d000b0b024020012802d005450d0020012802d40541002802a8bfd38000118080808000000b024020012802142200450d00200128021021020340024020022d0000220441034b0d002002200441027441cc84c380006a2802006a2204280200450d00200441046a28020041002802a8bfd38000118080808000000b200241146a21022000417f6a22000d000b0b0240200128020c450d00200128021041002802a8bfd38000118080808000000b200141a0086a2480808080000f0b200141003602b003200141013602a403200141c4f9c280003602a003200142043702a803200141a0036a41ccf9c2800010f280808000000b9d0a02087f067e23808080800041d0026b220124808080800020002802082102200028020421032001410036021820014280808080c00037021002402002450d00200241146c21020340200141cc026a21042001210541102106410c2107024002400240024020032d00000e050201010003020b20012104200141b8026a2105410c2106410821070b2005200320076a2802003602002004200320066a2802003602000c010b4100210502400240200328021022044100480d00200328020c210520032800012107024020040d00410121060c020b41002d00b8bfd380001a200441002802b0bfd380001182808080000022060d01410121050b2005200441a89dc5800010ae80808000000b20062005200410e99680800021080240200128021822062001280210470d00200141106a41f0c5cc800010f5958080000b2001280214200641146c6a220520043602102005200836020c2005200436020820052007360001200541003a00002001200641016a3602180b200341146a21032002416c6a22020d000b0b200141086a200141106a41086a2802003602002001200129021037030010bd8c808000200142a0b9ab8f9ae5999778370028200142f999a7c78cd1d1cdb17f370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141b8026a200141106a4120108b8480800002400240024020012802b8022203418180808078460d004101210220012802bc022104024020012802c4024102490d0020012802c0024116470d0041afc2c380002004411610ed9680800041004721020b0240200341808080807872418080808078460d00200441002802a8bfd380001180808080000020020d010c020b2002450d010b200141106a10ed8c808000200129031821092001290310210a200141106a10a9878080002001290318210b2001290310210c200141106a10eb8c8080002001290318210d2001290310210e200141c0026a4100280284c4c38000360200200141023602c402200141002902fcc3c380003703b802200142a0b9ab8f9ae5999778370028200142f999a7c78cd1d1cdb17f370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141b8026a200141106a412010a584808000427f200a427f200c200e7c220e200e200c541b7c220c200c200a541b210a427f2009427f200b200d7c220c200c200b541b7c220b200b2009541b21090c010b420021094200210a0b2000412c6a2000410c6a200110bc8c808000200141106a200028022c10f08c8080002001290318210b2001290310210c200141106a10cb87808000200129039802210d2001427f427f2009200b7c220b200b2009541b220920012903a0027c220b200b2009541b3703182001427f200d427f200a200c7c22092009200a541b22097c220a200a2009541b370310200141023a00b802200141106a200141b8026a109889808000200142003702b80220014293bb8a9cbb9ab6b31a370028200142ffabedd185d3d8d216370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141b8026a200141106a412010a284808000024020012802082202450d00200128020421030340024020032d0000220441034b0d002003200441027441cc84c380006a2802006a2204280200450d00200441046a28020041002802a8bfd38000118080808000000b200341146a21032002417f6a22020d000b0b02402001280200450d00200128020441002802a8bfd38000118080808000000b200141d0026a24808080800041000bd81e05037f017e027f027e017f23808080800041c00a6b2203248080808000200341146a200110bc8a8080002003200328021c22043602b4022003200328021822053602b002200341206a418002200341b0026a10ff8a8080000240024002400240024002400240200329032022064205510d0020032f01282107200341b0056a410a72200341206a410a7241860210e9968080001a200320073b01b805200320063703b0052003200341bf0a6a3602c007200341206a200341b0056a200341bf0a6a10c58a808000200320032f01283b019008200320032d002a3a009208200329032022064205510d01200341b0026a410b72200341206a410b7241b50110e9968080001a200320063703b002200320032f0190083b01b802200320032d0092083a00ba02200341b0056a20034180036a220810d187808000200341b0026a2107420021064200210902400240024020032903b002427e7c220aa74101200a4203541b0e03020100020b200341c0026a21070b200341206a2007200810ba87808000427f2003290320220642d0c196017c220920092006541b2109200329032821060b200341f8036a41106a200937030020034190046a2006370300200341f8036a41086a200341b0056a41086a290300370300200341f8036a41206a200341b0056a41206a290300370300200320032903b0053703f80320020d03200342beee8ae9ce8fa2b1977f3700c80520034295d4f9afa2868fb8643700c005200342fc90b9e5d09296e7773700b805200342a6d4e6f1a4dd9598603700b005200341b0056a412010868480800041fd01714101460d0310df868080000c030b200041003a0002200041103b01000c010b200020032f0190083b0001200041103a0000200041036a20032d0092083a00000b2003280214450d01200541002802a8bfd38000118080808000000c010b20032802142102200341086a418baec580004110108a84808000200341b0056a200328020c410020032802081b1087888080002005200420032802b405220720032802b805109a83808000024020032802b005450d00200741002802a8bfd38000118080808000000b02402002450d00200541002802a8bfd38000118080808000000b200341b0056a200341b0026a41c00110e9968080001a0240024002400240024002400240024002400240024002400240024020032903b005427e7c2206a7410120064203541b0e03000102000b20034180066a2105200328028006418180808078470d0220034188066a10a68c808000220241ff01714102460d0220024180feff077141087621040c0a0b200341900a6a41186a2202200341f8026a290300370300200341900a6a41106a2207200341f0026a290300370300200341980a6a2208200341e8026a290300370300200341b0096a41106a200341b0026a41106a290300370300200341b0096a41186a200341b0026a41186a290300370300200341b0096a41206a200341b0026a41206a290300370300200341b0096a41286a200341b0026a41286a290300370300200320032903e0023703900a200320032903b0023703b009200320032903b8023703b80941002d00b8bfd380001a411041002802b0bfd38000118280808000002205450d02200541d0c5c3800036020c2005410136020820054281808080103702002003412d6a2008290300370000200341356a20072903003700002003413d6a2002290300370000200341013a0024200320032903900a3700252003200536022041002d00b8bfd380001a411041002802b0bfd38000118280808000002202450d03200241b8c5c3800036020c20024101360208200242818080801037020020052005280200417f6a2207360200024020070d00200341206a10cd8b8080000b20034190086a41086a200341206a41086a29020037030020034190086a41106a200341206a41106a29020037030020034190086a41186a200341206a41186a29020037030020034190086a41206a200341206a41206a290200370300200320023602202003200329022037039008200341206a20034180066a41f00010e9968080001a200341e0046a200341b0096a20034190086a200341206a200341f8036a2004410010b38c8080000c080b200341e0096a41106a200341b0026a41206a290300370300200341e0096a41186a200341b0026a41286a290300370300200341e0096a41206a200341e0026a290300370300200341e0096a41286a200341e8026a290300370300200320032903c0023703e0092003200341b0026a41186a2903003703e80920032d00f005210741002d00b8bfd380001a411041002802b0bfd38000118280808000002205450d032005428180808010370200200541d0c5c3800036020c20054101360208200341023a00242003200536022041002d00b8bfd380001a411041002802b0bfd38000118280808000002202450d04200241b8c5c3800036020c20024101360208200242818080801037020020052005280200417f6a2208360200024020080d00200341206a10cd8b8080000b20034190086a41086a200341206a41086a29020037030020034190086a41106a200341206a41106a29020037030020034190086a41186a200341206a41186a29020037030020034190086a41206a200341206a41206a290200370300200320023602202003200329022037039008200341206a20034180066a41f00010e9968080001a200341e0046a200341e0096a20034190086a200341206a200341f8036a2004200710b38c8080000c070b02402005200341f8036a200410b987808000220241ff01714102460d0020024180feff077141087621040c080b20034190086a200541f00010e9968080001a41002d00b8bfd380001a411041002802b0bfd38000118280808000002205450d042005428180808010370200200541d0c5c3800036020c20054101360208200341023a00242003200536022041002d00b8bfd380001a411041002802b0bfd38000118280808000002204450d05200441b8c5c3800036020c20044101360208200442818080801037020020052005280200417f6a2202360200024020020d00200341206a10cd8b8080000b20034188096a41086a2202200341206a41086a29020037030020034188096a41106a2207200341206a41106a29020037030020034188096a41186a2208200341206a41186a29020037030020034188096a41206a220b200341206a41206a2902003703002003200436022020032003290220370388090240024020032d008c09450d00200328028809220528020820034190086a200528020c280214118480808000000d00200341f8076a410610fc8780800020052005280200417f6a2204360200200341003a00f007200342003703d807024020040d0020034188096a10cd8b8080000b20034190086a10c387808000200341d8076a21050c010b200341206a20034190086a41f00010e9968080001a200341900a6a41206a200b290300370300200341900a6a41186a2008290300370300200341900a6a41106a2007290300370300200341900a6a41086a200229030037030020032003290388093703900a200341d8076a200341206a200341900a6a10d287808000200341d8076a20032903d8074202514103746a21050b200341206a41186a200541186a290300370300200341206a41106a200541106a290300370300200341206a41086a200541086a290300370300200320052903003703200240200341f8036a200341206a10b48c808000220541ff01714102470d00200341f8036a200341206a10b48c8080001a200341e0046a41306a200341d8076a41306a290300370300200341e0046a41286a200341d8076a41286a290300370300200341e0046a41206a200341d8076a41206a290300370300200341e0046a41186a200341d8076a41186a290300370300200341e0046a41106a200341d8076a41106a290300370300200341e0046a41086a200341d8076a41086a290300370300200320032903d8073703e0040c070b200320053a00e804200320054108763b00e9040c080b4104411010b980808000000b4104411010b980808000000b4104411010b980808000000b4104411010b980808000000b4104411010b980808000000b4104411010b980808000000b200341e0046a41086a210520032903e00422064203510d02200341a0046a41136a200341e0046a41136a290000370000200341a0046a41186a200341e0046a41186a29000037000020034198056a41086a2202200341e0046a41296a290000370300410f210420034198056a410f6a2207200341e0046a41306a280000360000200320032900eb043700ab04200320032900810537039805200320052f01003b01d8042003200541026a2d00003a00da0420032d0080052105200341aa046a20032d00da043a0000200341a0046a41306a2007280000360000200341a0046a41296a2002290300370000200320053a00c004200320032f01d8043b01a80420032003290398053700c10420032003280294053602d404200320063703a0040240024020064202520d00200341b0056a41206a200341f8036a41206a290300370300200341b0056a41186a200341f8036a41186a290300370300200341b0056a41106a200341f8036a41106a290300370300200341b0056a41086a200341f8036a41086a290300370300200320032903f8033703b005200341a0046a200341b0056a10be8c8080000c010b024020032d0098044102470d00200041083a0002200041103b01000c050b200341b0056a41206a200341f8036a41206a290300370300200341b0056a41186a200341f8036a41186a290300370300200341b0056a41106a200341f8036a41106a290300370300200341b0056a41086a2204200341f8036a41086a290300370300200320032903f8033703b005200341a0046a200341b0056a10be8c808000200341b0056a410f6a20034198056a410f6a280000360000200420034198056a41086a29030037030020032003290398053703b005200521040b200020043a0000200020032903b005370001200041096a200341b8056a290300370000200041106a200341bf056a2800003600002001290300427e7c22064203542006420152710d0520012d003041ff01714102470d050c040b200320043b00e904200320023a00e804200510e0868080000b200341e8046a21050b200320052f010022043b01d8042003200541026a2d000022053a00da04200041036a20053a0000200020043b0001200041103a00000b2001290300427e7c22064203542006420152710d0120012d003041ff01714102470d010b2001280234450d00200128023841002802a8bfd38000118080808000000b200141a0016a10e086808000200341c00a6a2480808080000bff0302017f067e23808080800041d0026b2200248080808000200042beee8ae9ce8fa2b1977f37002020004295d4f9afa2868fb864370018200042fc90b9e5d09296e777370010200042a6d4e6f1a4dd959860370008200041013a00b002200041086a4120200041b0026a410141002802c8bdd3800011838080800000200042d3d8c5d2a9b9d2c1ac7f37002020004282ca868eabf3add0cf00370018200042fc90b9e5d09296e777370010200042a6d4e6f1a4dd9598603700082000200041086a4120108a84808000200042f89aef8eef91e1ce967f3700c802200042b4d6d6dfccc6b592c3003700c002200042fc90b9e5d09296e7773700b802200042a6d4e6f1a4dd9598603700b002200041086a200041b0026a4120109484808000420021014200210242002103420021044200210542002106024020002802084101470d002000290338210620002903302105200029032821042000290320210320002903182102200029031021010b200041086a10cb87808000024020002903a002427f427f200120037c220320032001541b220120057c220320032001541b580d0020002903a802427f427f200220047c220120012002541b220120067c220220022001541b580d00200041106a420037030020004200370308200041023a00b002200041086a200041b0026a1098898080000b200041d0026a2480808080000ba90c01087f23808080800041306b220124808080800002400240024002400240024002400240024002402000280200220241ffffffff076a2203410120034108491b0e080102090903040500010b20002802084104470d08200028020c450d080c060b0240024002400240024002400240024020002d0008417f6a0e0a010f0203040506070f0f000b200028020c0d0c0c0e0b200028020c0d0b0c0d0b200028020c0d0a0c0c0b200028020c0d090c0b0b2000410c6a10d88b808000200028020c0d080c0a0b20002802102103024020002802142202450d002002410171210441002105024020024101460d002002417e7121062003210241002105034002402002280200450d00200241046a28020041002802a8bfd38000118080808000000b02402002410c6a280200450d00200241106a28020041002802a8bfd38000118080808000000b200241186a21022006200541026a2205470d000b0b2004450d0020032005410c6c6a2202280200450d00200228020441002802a8bfd38000118080808000000b200028020c0d080c090b2000280210450d08200028021421030c070b200028020c0d050c070b02402002418080808078470d0020002802042103410421020c040b02402002450d00200028020441002802a8bfd38000118080808000000b200041d8006a10d98a808000200028023821060240200028023c2203450d002003410171210441002102024020034101460d002003417e7121052006210341002102034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b0240200341106a280200450d00200341146a28020041002802a8bfd38000118080808000000b200341206a21032005200241026a2202470d000b0b2004450d00200620024104746a2203280200450d00200328020441002802a8bfd38000118080808000000b02402000280234450d00200641002802a8bfd38000118080808000000b02400240200028026422030d0041002103410021020c010b2001200336022420014100360220200120033602142001410036021020012000280268220336022820012003360218200028026c2102410121030b2001200236022c2001200336021c2001200336020c2001410c6a10fd8980800020002802442107024020002802482208450d0041002104034002402007200441f0006c6a22062802082202450d00200628020421030340024020032d0000220541034b0d002003200541027441cc84c380006a2802006a2205280200450d00200541046a28020041002802a8bfd38000118080808000000b200341146a21032002417f6a22020d000b0b02402006280200450d00200628020441002802a8bfd38000118080808000000b200441016a22042008470d000b0b02402000280240450d00200741002802a8bfd38000118080808000000b41cc002102200028024c2203418080808078470d030c060b024002400240024002400240024020002d0010417f6a0e07000102030405060c0b20002d00144102470d0b2000280218450d0b200028021c21030c0a0b024020002d00144102470d002000280218450d00200028021c41002802a8bfd38000118080808000000b20002d00384102470d0a200028023c450d0a200028024021030c090b20002d00144102470d092000280218450d09200028021c21030c080b20002d00144102470d082000280218450d08200028021c21030c070b20002d00144102470d072000280218450d07200028021c21030c060b2000280214450d06200028021821030c050b20002d00144102470d052000280218450d05200028021c21030c040b024002400240024020002d00082203417c6a41042003417b6a41ff01714105491b417f6a0e0400010203080b200028020c220310e0868080000c060b2000280220220310e0868080000c050b20002d000c4102470d052000280210450d05200028021421030c040b024020034102470d00200028020c450d00200028021041002802a8bfd38000118080808000000b200028022c220310e0868080000c030b200028020441808080807872418080808078460d03200028020821030c020b2003450d02200020026a28020421030c010b200028021021030b200341002802a8bfd38000118080808000000b200141306a2480808080000bf70101027f23808080800041306b2201248080808000200142beee8ae9ce8fa2b1977f37002820014295d4f9afa2868fb864370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd9598603700100240200141106a412010868480800041fd01710d0010df868080000b10c18c808000200142d3d8c5d2a9b9d2c1ac7f37002820014282ca868eabf3add0cf00370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141086a200141106a4120108a84808000200128020c410020012802084101711b220210db86808000200210ef8c808000200010c28c808000200141306a2480808080000bac0201037f23808080800041c0006b2201248080808000200141086a200041ccfbc2800010d38b8080002000412c6a22022000410c6a200141086a10bc8c808000200141346a200010e983808000200141146a20012802382200200128023c4100280288bfd380001185808080000002402001280234450d00200041002802a8bfd38000118080808000000b2002200141146a108e88808000024020012802102202450d00200128020c21000340024020002d0000220341034b0d002000200341027441cc84c380006a2802006a2203280200450d00200341046a28020041002802a8bfd38000118080808000000b200041146a21002002417f6a22020d000b0b02402001280208450d00200128020c41002802a8bfd38000118080808000000b200141c0006a2480808080000bf21905037f017e017f027e067f23808080800041f0086b2204248080808000200442d3d8c5d2a9b9d2c1ac7f37003820044282ca868eabf3add0cf00370030200442fc90b9e5d09296e777370028200442a6d4e6f1a4dd959860370020200441086a200441206a4120108a848080002004200428020c41016a410120042802084101711b3602c0062004410036022820044280808080c000370220200441c0066a2003200441206a10bc8c808000024020042802282205450d00200428022421030340024020032d0000220641034b0d002003200641027441cc84c380006a2802006a2206280200450d00200641046a28020041002802a8bfd38000118080808000000b200341146a21032005417f6a22050d000b0b02402004280220450d00200428022441002802a8bfd38000118080808000000b200441146a200210bc8a8080002004200428021c22053602c4062004200428021822033602c006200441206a418002200441c0066a10ff8a808000024002400240024002400240024002400240200429032022074205510d0020042f01282106200441b0026a410a72200441206a410a7241860210e9968080001a200420063b01b802200420073703b002200441206a200441b0026a200441ef086a10c58a808000200420042f01283b01c006200420042d002a3a00c2060240200429032022074205510d00200441c0046a410b72200441206a410b7241b50110e9968080001a200420073703c004200420042f01c0063b01c804200420042d00c2063a00ca04200441206a20044190056a220610d187808000200441c0046a2108420021074200210902400240024020042903c004427e7c220aa74101200a4203541b0e03020100020b200441d0046a21080b200441c0066a2008200610ba87808000427f20042903c006220742d0c196017c220920092007541b210920042903c80621070b20044198066a2009370300200441a0066a200737030020044188066a41086a200441206a41086a29030037030020044188066a41206a200441206a41206a290300220737030020042004290320370388062007a741ff01714102460d0602400240024002400240024002400240024020042903c004427e7c2207a7410120074203541b0e03000102000b200428029005418180808078460d0220044181023b01200c030b200441d8066a220b20044188056a290300370300200441c0066a41106a220c20044180056a290300370300200441c8066a220d200441f8046a290300370300200420042903f0043703c00641002d00b8bfd380001a411041002802b0bfd38000118280808000002208450d09200841d0c5c3800036020c2008410136020820084281808080103702002004412d6a200d290300370000200441356a200c2903003700002004413d6a200b290300370000200441013a0024200420042903c0063700252004200836022041002d00b8bfd380001a411041002802b0bfd3800011828080800000220b450d0a200b41b8c5c3800036020c200b4101360208200b42818080801037020020082008280200417f6a220c3602000240200c0d00200441206a10cd8b8080000b200441c0086a41086a200441206a41086a290200370300200441c0086a41106a200441206a41106a290200370300200441c0086a41186a200441206a41186a290200370300200441c0086a41206a200441206a41206a2902003703002004200b360220200420042902203703c008200441c0066a200441c0046a200441c0086a200620044188066a20052001410010b28c80800020042903900742028520044198076a29030084500d04200441206a200441c0066a41800210e9968080001a20042802f00122052005280200417f6a2201360200200441e0076a2105024020010d00200441f0016a10cd8b8080000b20002005290300370300200041286a200541286a290300370300200041206a200541206a290300370300200041186a200541186a290300370300200041106a200541106a290300370300200041086a200541086a2903003703000c060b20042d008005210c41002d00b8bfd380001a411041002802b0bfd38000118280808000002208450d0a2008428180808010370200200841d0c5c3800036020c20084101360208200441023a00242004200836022041002d00b8bfd380001a411041002802b0bfd3800011828080800000220b450d0b200441c0046a41106a210d200b41b8c5c3800036020c200b4101360208200b42818080801037020020082008280200417f6a220e3602000240200e0d00200441206a10cd8b8080000b200441c0086a41086a200441206a41086a290200370300200441c0086a41106a200441206a41106a290200370300200441c0086a41186a200441206a41186a290200370300200441c0086a41206a200441206a41206a2902003703002004200b360220200420042902203703c008200441c0066a200d200441c0086a200620044188066a20052001200c10b28c80800020042903900742028520044198076a29030084500d04200441206a200441c0066a41800210e9968080001a20042802f00122052005280200417f6a2201360200200441e0076a2105024020010d00200441f0016a10cd8b8080000b20002005290300370300200041286a200541286a290300370300200041206a200541206a290300370300200041186a200541186a290300370300200041106a200541106a290300370300200041086a200541086a2903003703000c050b200441206a200120044198056a10a78c80800020042802302208418080808078470d010b200420042d002222053a00c206200420042f012022013b01c006200041026a20053a0000200020013b010020004180808080783602100c030b200441b0066a41086a220f200441206a41086a220e290300370300200420042903203703b0062004280234210c200428023c21102004280240210d20042903482107200428023821012004280244210b200441206a200620044188066a200510b887808000024020042802302205418080808078460d00200441c0086a41086a200e2903002209370300200441c0066a411c6a200441206a411c6a290200370200200441c0066a41246a200441206a41246a290200370200200441c0066a412c6a200441206a412c6a280200360200200441c0066a41086a2009370300200420042902343702d406200420042903203703c006200420053602d006200e200f290300370300200420073703482004200b3602442004200d3602402004201036023c200420013602382004200c36023420042008360230200420042903b0063703202000200441c0066a200441206a10e0958080000c030b200420042d002222053a00c208200420042f0120220e3b01c008200041026a20053a00002000200e3b0100200041808080807836021002402001450d002001410171210e41002100024020014101460d002001417e712101200c210541002100034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b02402005410c6a280200450d00200541106a28020041002802a8bfd38000118080808000000b200541186a21052001200041026a2200470d000b0b200e450d00200c2000410c6c6a2205280200450d00200528020441002802a8bfd38000118080808000000b02402008450d00200c41002802a8bfd38000118080808000000b0240200b450d00200b4101712108410021000240200b4101460d00200b417e712101200d210541002100034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b02402005410c6a280200450d00200541106a28020041002802a8bfd38000118080808000000b200541186a21052001200041026a2200470d000b0b2008450d00200d2000410c6c6a2205280200450d00200528020441002802a8bfd38000118080808000000b2010450d02200d41002802a8bfd38000118080808000000c020b200020042f01c0063b01002000418080808078360210200041026a20042d00c2063a00000c010b200020042f01c0063b01002000418080808078360210200041026a20042d00c2063a00000b200610e08680800002402004280214450d00200341002802a8bfd38000118080808000000b2002290300427e7c22074203542007420152710d0920022d003041ff01714102470d090c080b200020042f01c0063b01002000418080808078360210200041026a20042d00c2063a00000c060b2000418080808078360210200041003b01000c050b4104411010b980808000000b4104411010b980808000000b4104411010b980808000000b4104411010b980808000000b200041808080807836021020004180123b0100200610e0868080000b02402004280214450d00200341002802a8bfd38000118080808000000b2002290300427e7c22074203542007420152710d0120022d003041ff01714102470d010b2002280234450d00200228023841002802a8bfd38000118080808000000b200241a0016a10e086808000200441f0086a2480808080000b800601087f024002402002450d00200120026a2106200341016a210741002108200121090240034002400240200820044b0d0020092d0000210a0240024020080d00200a210b0c010b0240024020084101710d00200a210b2003210a0c010b2003200a20032d0000410874200a72413a6e220b413a6c6b3a00002007210a0b20084101460d00200320086a210c0340200a200a2d000041ff0171410874200b6a220b200b413a6e220b413a6c6b3a0000200a41016a220d200d2d0000410874200b6a220b200b413a6e220b413a6c6b3a0000200a41026a220a200c470d000b0b200b450d01034020042008460d04200320086a200b200b413a6e220a413a6c6b3a0000200841016a2108200b413a49210d200a210b200d0d020c000b0b200820044184ffc2800010aa81808000000b200941016a22092006470d000b20082004200820044b1b210b0240034020012d00000d0120042008460d020240200b2008460d00200141016a2101200320086a41003a0000200841016a21082002417f6a22020d010c020b0b200b200441f4fec2800010f580808000000b0240200820044b0d002008450d02200320086a210120054180016a21044100210b024003402003200b6a220d2d0000220a413a4f0d01200d2004200a6a2d00003a00002008200b41016a220b470d000b4101210b024020084101470d004100210a0c050b4100210a4100210b0240200841017622044101460d002008417f6a210d200441feffffff077121024100210b03402003200d6a220c2d00002109200c2003200b6a22042d00003a0000200420093a00002001200b417e736a220c2d00002109200c200441016a22042d00003a0000200420093a0000200d417e6a210d2002200b41026a220b470d000b0b02402008410271450d002003200b6a220d2d00002103200d2001200b417f736a220b2d00003a0000200b20033a00000b2008210b0c040b200a413a41e4fec2800010f580808000000b2008200441d4fec2800010aa81808000000b4101210a0c010b4100210b4100210a0b2000200b3602042000200a3602000bde0101037f02400240024002400240200228021c0e020002010b4100410041cc83c3800010f580808000000b20022802182203280204220420032802002203490d0220042001280200220128020822054d0d012004200541ec83c3800010aa81808000000b4101410141dc83c3800010f580808000000b200128020421012000200420036b3602042000200120036a3602002000200229020c370208200041106a200241146a28020036020002402002280200450d00200228020441002802a8bfd38000118080808000000b0f0b2003200441ec83c3800010ac81808000000b4701017e02402000290300427e7c22014203542001420152710d0020002d003041ff01714102470d002000280234450d00200028023841002802a8bfd38000118080808000000b0bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c10049200210e886808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c10049200210e8868080000b20034180206a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510d784808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510d7848080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510d7848080000c010b201541017421090c010b024020094102490d00200e4102490d00201420162014201649220e1b221320034b0d002002201220164104746a22092012200e1b2013410474220e10e9968080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10ed96808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510d7848080000b200641d0026a2480808080000b830203037f017e017f2380808080004180206b22032480808080000240024002402001418ec80d2001418ec80d491b2204200120014101766b2205200420054b1b220441f200490d002004ad42247e2206a721054100210702402006422088a70d00200541fcffffff074b0d00024020050d0041042107410021040c030b41002d00b8bfd380001a200541002802b0bfd380001182808080000022070d02410421070b200720054184a0c5800010ae80808000000b20002001200341f100200141c10049200210ea868080000c010b2000200120072004200141c10049200210ea86808000200741002802a8bfd38000118080808000000b20034180206a2480808080000bb30c03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b2000415c6a210b200041c8006a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41246c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b02400240024002402013280224221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d03201841246a2118201921162014201541016a2215470d000c020b0b410221154101211a20144102460d02200c20126a21184102211503402018280200221920164f0d02201841246a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b2015410176211a0b200b201541246c6a2118200021190340201920126a221441086a221329020021072013201820126a221641086a221729020037020020172007370200201641146a2802002113201641106a2217280200210f2017201441106a221b290200370200201429020021072014201629020037020020162007370200201b200f360200201441146a2013360200201641186a221328020021172013201441186a220f280200360200200f20173602002016411c6a2213280200211720132014411c6a220f280200360200200f2017360200201441206a221428020021132014201641206a2216280200360200201620133602002018415c6a2118201941246a2119201a417f6a221a0d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510e984808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41246c22146a211c200020146a211b03402006418e026a200e417f6a22196a2d0000200f490d010240024002400240200641046a20194102746a28020022144101762218200941017622126a221320034b0d002014200972410171450d010b2000200d20136b41246c6a210e024020144101710d00200e201820022003201841017267410174413e734100200510e9848080000b20094101710d01200e201841246c6a201220022003201241017267410174413e734100200510e9848080000c010b201341017421090c010b024020094102490d0020144102490d0020122018201220184922161b220920034b0d002002200e201841246c6a2214200e20161b200941246c221610e996808000221720166a2116024002400240201220184f0d00201c2109034020092014415c6a22182016415c6a2216201628020022122018280200221549221a1b2214290200370200200941086a201441086a290200370200200941106a201441106a290200370200200941186a201441186a290200370200200941206a201441206a2802003602002016201a41246c6a21162018201220154f41246c6a2214200e460d022009415c6a210920162017470d000c020b0b024020090d00201721180c020b201721180340200e20142018201428020022122018280200221549221a1b2209290200370200200e41086a200941086a290200370200200e41106a200941106a290200370200200e41186a200941186a290200370200200e41206a200941206a280200360200200e41246a210e2018201220154f41246c6a22182016460d022014201a41246c6a2214201b470d000c020b0b2014210e201721180b200e2018201620186b10e9968080001a0b201341017441017221090b410121142019210e201941014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510e9848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c10049200210ec86808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c10049200210ec868080000b20034180206a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510dc84808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510dc848080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510dc848080000c010b201541017421090c010b024020094102490d00200e4102490d00201420162014201649220e1b221320034b0d002002201220164104746a22092012200e1b2013410474220e10e9968080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10ed96808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510dc848080000b200641d0026a2480808080000b830203037f017e017f2380808080004180206b2203248080808000024002400240200141aad828200141aad828491b2204200120014101766b2205200420054b1b220441d602490d002004ad420c7e2206a721054100210702402006422088a70d00200541fcffffff074b0d00024020050d0041042107410021040c030b41002d00b8bfd380001a200541002802b0bfd380001182808080000022070d02410421070b200720054184a0c5800010ae80808000000b20002001200341d502200141c10049200210ee868080000c010b2000200120072004200141c10049200210ee86808000200741002802a8bfd38000118080808000000b20034180206a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041746a210b200041186a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410c6c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201328020c221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d032018410c6a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d022018410c6a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b2015410c6c20126a6a21140340201328020021162013201428020036020020142016360200201341046a221629020021072016201441046a221929020037020020192007370200201441746a21142013410c6a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510e884808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d410c6c22136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b410c6c6a210e024020134101710d00200e201820022003201841017267410174413e734100200510e8848080000b20094101710d01200e2018410c6c6a201620022003201641017267410174413e734100200510e8848080000c010b201741017421090c010b024020094102490d0020134102490d0020162018201620184922141b221320034b0d002002200e2018410c6c6a2209200e20141b2013410c6c221410e996808000221c20146a2114024002400240201620184f0d00201a211303402013200941746a2209201441746a221420142802002218200928020022164922191b2212290200370200201341086a201241086a28020036020020142019410c6c6a21142009201820164f410c6c6a2209200e460d02201341746a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a280200360200200e410c6a210e2013201820164f410c6c6a22132014460d0220092012410c6c6a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10e9968080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510e8848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c10049200210f086808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c10049200210f0868080000b20034180206a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510da84808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510da848080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510da848080000c010b201541017421090c010b024020094102490d00200e4102490d00201420162014201649220e1b221320034b0d002002201220164104746a22092012200e1b2013410474220e10e9968080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10ed96808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510da848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c10049200210f286808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c10049200210f2868080000b20034180206a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41047422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b02400240024002402013280210221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d03201841106a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d02201841106a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b201541047420126a6a21140340201329020021072013201429020037020020142007370200201341086a221629020021072016201441086a221929020037020020192007370200201441706a2114201341106a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510ee84808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b4104746a210e024020134101710d00200e201820022003201841017267410174413e734100200510ee848080000b20094101710d01200e20184104746a201620022003201641017267410174413e734100200510ee848080000c010b201741017421090c010b024020094102490d0020134102490d0020162018201620184922141b221320034b0d002002200e20184104746a2209200e20141b2013410474221410e996808000221c20146a2114024002400240201620184f0d00201a211303402013200941706a2209201441706a221420142802002218200928020022164922191b2212290200370200201341086a201241086a290200370200201420194104746a21142009201820164f4104746a2209200e460d02201341706a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a290200370200200e41106a210e2013201820164f4104746a22132014460d02200920124104746a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10e9968080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510ee848080000b200641d0026a2480808080000be80101057f2380808080004180206b22032480808080000240024020014190a10f20014190a10f491b2204200120014101766b2205200420054b1b2204418101490d00200441057421064100210702400240200541ffffff3f4b0d0020064100480d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410121070b200720064184a0c5800010ae80808000000b2000200120052004200141c10049200210f486808000200541002802a8bfd38000118080808000000c010b200020012003418001200141c10049200210f4868080000b20034180206a2480808080000b851204017f017e157f017e23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802107024002402001418120490d00410141202001410172676b41017622087420012008766a41017621090c010b200120014101766b220841c000200841c000491b21090b200041606a210a200041206a210b4101210c4100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41057422126a2113024002402001200d6b22082009490d0002400240200841024f0d00200821140c010b0240024002400240201341206a2013412010ed9680800041004822150d004102211420084102460d04200b20126a2116410221140340201641206a22172016412010ed968080004100480d03201721162008201441016a2214470d000c020b0b410221144101211820084102460d02200b20126a2116410221140340201641206a22172016412010ed96808000417f4a0d02201721162008201441016a2214470d000b0b200821140b20142009490d022015450d010240201441024f0d00410121140c020b201441017621180b200a20144105746a2117200021130340201320126a220828000021152008201720126a221628000036000020162015360000201641056a2d00002115201641046a220f2d00002119200f200841046a22102f00003b0000200841076a2d0000210f200841066a221a2d0000211b201a201641066a221c2f00003b0000201020193a0000200841056a20153a0000201c201b3a0000201641076a200f3a0000200841086a22152d0000210f2015201641086a22192d00003a00002019200f3a0000200841096a22152d0000210f2015201641096a22192d00003a00002019200f3a00002008410a6a22152d0000210f20152016410a6a22192d00003a00002019200f3a00002008410b6a22152d0000210f20152016410b6a22192d00003a00002019200f3a00002008410c6a22152d0000210f20152016410c6a22192d00003a00002019200f3a00002008410d6a22152d0000210f20152016410d6a22192d00003a00002019200f3a00002008410e6a22152d0000210f20152016410e6a22192d00003a00002019200f3a00002008410f6a22152d0000210f20152016410f6a22192d00003a00002019200f3a0000200841106a22152d0000210f2015201641106a22192d00003a00002019200f3a0000200841116a22152d0000210f2015201641116a22192d00003a00002019200f3a0000200841126a22152d0000210f2015201641126a22192d00003a00002019200f3a0000200841136a22152d0000210f2015201641136a22192d00003a00002019200f3a0000200841146a22152d0000210f2015201641146a22192d00003a00002019200f3a0000200841156a22152d0000210f2015201641156a22192d00003a00002019200f3a0000200841166a22152d0000210f2015201641166a22192d00003a00002019200f3a0000200841176a22152d0000210f2015201641176a22192d00003a00002019200f3a0000200841186a22152d0000210f2015201641186a22192d00003a00002019200f3a0000200841196a22152d0000210f2015201641196a22192d00003a00002019200f3a00002008411a6a22152d0000210f20152016411a6a22192d00003a00002019200f3a00002008411b6a22152d0000210f20152016411b6a22192d00003a00002019200f3a00002008411c6a22152d0000210f20152016411c6a22192d00003a00002019200f3a00002008411d6a22152d0000210f20152016411d6a22192d00003a00002019200f3a00002008411e6a22152d0000210f20152016411e6a22192d00003a00002019200f3a00002008411f6a22082d0000211520082016411f6a22162d00003a0000201620153a0000201741606a2117201341206a21132018417f6a22180d000b0b201441017441017221100c010b024020040d002008200920082009491b41017421100c010b20132008412020084120491b22082002200341004100200510e784808000200841017441017221100b2010410176200d6aad200dad221d7c20077e200d200c4101766bad201d7c20077e8579a7210f0b02400240200e4102490d00200a200d41057422086a211a200020086a211903402006418e026a200e417f6a22136a2d0000200f490d010240024002400240200641046a20134102746a28020022084101762217200c41017622126a221820034b0d002008200c72410171450d010b2000200d20186b4105746a2116024020084101710d002016201720022003201741017267410174413e734100200510e7848080000b200c4101710d01201620174105746a201220022003201241017267410174413e734100200510e7848080000c010b2018410174210c0c010b0240200c4102490d0020084102490d00201220172012201749220e1b220820034b0d002002201620174105746a220c2016200e1b2008410574220e10e9968080002215200e6a210e024002400240201220174f0d00201a21080340200c41606a210c200e41606a210e2008200e200c200e200c412010ed968080002212417f4a22141b2217290000370000200841186a201741186a290000370000200841106a201741106a290000370000200841086a201741086a290000370000200e2012411a764120716a210e200c20144105746a220c2016460d02200841606a2108200e2015470d000c020b0b024020080d00201521080c020b20152108034020162008200c200c2008412010ed968080002214417f4a22121b2217290000370000201641186a201741186a290000370000201641106a201741106a290000370000201641086a201741086a290000370000201641206a2116200820124105746a2208200e460d02200c2014411a764120716a220c2019470d000c020b0b200c2116201521080b20162008200e20086b10e9968080001a0b2018410174410172210c0b410121082013210e201341014b0d000c020b0b200e21080b2006418e026a20086a200f3a0000200641046a20084102746a200c36020002402011450d00200841016a210e2010410176200d6a210d2010210c0c010b0b200c4101710d002000200120022003200141017267410174413e734100200510e7848080000b200641d0026a2480808080000b830203037f017e017f2380808080004180206b220324808080800002400240024020014180b51820014180b518491b2204200120014101766b2205200420054b1b220441cd01490d002004ad42147e2206a721054100210702402006422088a70d00200541fcffffff074b0d00024020050d0041042107410021040c030b41002d00b8bfd380001a200541002802b0bfd380001182808080000022070d02410421070b200720054184a0c5800010ae80808000000b20002001200341cc01200141c10049200210f6868080000c010b2000200120072004200141c10049200210f686808000200741002802a8bfd38000118080808000000b20034180206a2480808080000b8b0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b2000416c6a210b200041146a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41146c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201341146a2013410810ed9680800041004822160d004102211520144102460d04200c20126a2117410221150340201741146a22182017410810ed968080004100480d03201821172014201541016a2215470d000c020b0b410221154101211920144102460d02200c20126a2117410221150340201741146a22182017410810ed96808000417f4a0d02201821172014201541016a2215470d000b0b201421150b2015200a490d022016450d010240201541024f0d00410121150c020b201541017621190b200b201541146c6a2118200021130340201320126a221441086a221629020021072016201820126a221741086a220f290200370200200f2007370200201429020021072014201729020037020020172007370200201741106a221728020021162017201441106a2214280200360200201420163602002018416c6a2118201341146a21132019417f6a22190d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510dd84808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41146c22146a211a200020146a211b03402006418e026a200e417f6a22136a2d0000200f490d010240024002400240200641046a20134102746a28020022144101762218200941017622126a221920034b0d002014200972410171450d010b2000200d20196b41146c6a210e024020144101710d00200e201820022003201841017267410174413e734100200510dd848080000b20094101710d01200e201841146c6a201220022003201241017267410174413e734100200510dd848080000c010b201941017421090c010b024020094102490d0020144102490d0020122018201220184922171b220920034b0d002002200e201841146c6a2214200e20171b200941146c221710e996808000221620176a2117024002400240201220184f0d00201a210903402014416c6a21142017416c6a211720092017201420172014410810ed968080002212417f4a22151b2218290200370200200941106a201841106a280200360200200941086a201841086a29020037020020172012411f7641146c6a21172014201541146c6a2214200e460d022009416c6a210920172016470d000c020b0b024020090d00201621090c020b201621090340200e2009201420142009410810ed968080002215417f4a22121b2218290200370200200e41106a201841106a280200360200200e41086a201841086a290200370200200e41146a210e2009201241146c6a22092017460d0220142015411f7641146c6a2214201b470d000c020b0b2014210e201621090b200e2009201720096b10e9968080001a0b201941017441017221090b410121142013210e201341014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510dd848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c10049200210f886808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c10049200210f8868080000b20034180206a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510e384808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510e3848080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510e3848080000c010b201541017421090c010b024020094102490d00200e4102490d00201420162014201649220e1b221320034b0d002002201220164104746a22092012200e1b2013410474220e10e9968080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10ed96808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510e3848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c10049200210fa86808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c10049200210fa868080000b20034180206a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41047422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b02400240024002402013280210221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d03201841106a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d02201841106a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b201541047420126a6a21140340201329020021072013201429020037020020142007370200201341086a221629020021072016201441086a221929020037020020192007370200201441706a2114201341106a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510ea84808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b4104746a210e024020134101710d00200e201820022003201841017267410174413e734100200510ea848080000b20094101710d01200e20184104746a201620022003201641017267410174413e734100200510ea848080000c010b201741017421090c010b024020094102490d0020134102490d0020162018201620184922141b221320034b0d002002200e20184104746a2209200e20141b2013410474221410e996808000221c20146a2114024002400240201620184f0d00201a211303402013200941706a2209201441706a221420142802002218200928020022164922191b2212290200370200201341086a201241086a290200370200201420194104746a21142009201820164f4104746a2209200e460d02201341706a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a290200370200200e41106a210e2013201820164f4104746a22132014460d02200920124104746a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10e9968080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510ea848080000b200641d0026a2480808080000b830203037f017e017f2380808080004180206b2203248080808000024002400240200141aad828200141aad828491b2204200120014101766b2205200420054b1b220441d602490d002004ad420c7e2206a721054100210702402006422088a70d00200541fcffffff074b0d00024020050d0041042107410021040c030b41002d00b8bfd380001a200541002802b0bfd380001182808080000022070d02410421070b200720054184a0c5800010ae80808000000b20002001200341d502200141c10049200210fc868080000c010b2000200120072004200141c10049200210fc86808000200741002802a8bfd38000118080808000000b20034180206a2480808080000b8d0c03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041746a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410c6c220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201241106a2802002215201241046a280200201241146a2802002216201241086a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d032017410c6a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d022017410c6a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410c6c200f6a6a21160340201228020021132012201628020036020020162013360200201241046a221329020021072013201641046a221a290200370200201a2007370200201641746a21162012410c6a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510e584808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d410c6c22126a211b200020126a211803402006418e026a200e417f6a22146a2d0000200f490d010240024002400240200641046a20144102746a280200220e4101762216200941017622136a221520034b0d00200e200972410171450d010b2000200d20156b410c6c6a21120240200e4101710d002012201620022003201641017267410174413e734100200510e5848080000b20094101710d0120122016410c6c6a201320022003201341017267410174413e734100200510e5848080000c010b201541017421090c010b024020094102490d00200e4102490d00201320162013201649220e1b221720034b0d00200220122016410c6c6a22092012200e1b2017410c6c220e10e9968080002219200e6a210e024002400240201320164f0d00201b211603402016200e41746a2213200941746a2217200e41786a280200200941786a280200200e417c6a280200220e2009417c6a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a28020036020020132009411f76410c6c6a210e2017201a410c6c6a22092012460d02201641746a2116200e2019470d000c020b0b024020170d00201921160c020b201921160340201220162009200941046a280200201641046a280200200941086a2802002213201641086a280200221720132017491b10ed96808000221a201320176b201a1b221a417f4a22131b2217290200370200201241086a201741086a2802003602002012410c6a211220162013410c6c6a2216200e460d022009201a411f76410c6c6a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122014210e201441014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510e5848080000b200641d0026a2480808080000b830203037f017e017f2380808080004180206b2203248080808000024002400240200141aad828200141aad828491b2204200120014101766b2205200420054b1b220441d602490d002004ad420c7e2206a721054100210702402006422088a70d00200541fcffffff074b0d00024020050d0041042107410021040c030b41002d00b8bfd380001a200541002802b0bfd380001182808080000022070d02410421070b200720054184a0c5800010ae80808000000b20002001200341d502200141c10049200210fe868080000c010b2000200120072004200141c10049200210fe86808000200741002802a8bfd38000118080808000000b20034180206a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041746a210b200041186a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410c6c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b0240024002400240201328020c221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d032018410c6a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d022018410c6a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b2015410c6c20126a6a21140340201328020021162013201428020036020020142016360200201341046a221629020021072016201441046a221929020037020020192007370200201441746a21142013410c6a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510e684808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d410c6c22136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b410c6c6a210e024020134101710d00200e201820022003201841017267410174413e734100200510e6848080000b20094101710d01200e2018410c6c6a201620022003201641017267410174413e734100200510e6848080000c010b201741017421090c010b024020094102490d0020134102490d0020162018201620184922141b221320034b0d002002200e2018410c6c6a2209200e20141b2013410c6c221410e996808000221c20146a2114024002400240201620184f0d00201a211303402013200941746a2209201441746a221420142802002218200928020022164922191b2212290200370200201341086a201241086a28020036020020142019410c6c6a21142009201820164f410c6c6a2209200e460d02201341746a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a280200360200200e410c6a210e2013201820164f410c6c6a22132014460d0220092012410c6c6a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10e9968080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510e6848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c100492002108087808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c1004920021080878080000b20034180206a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510db84808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510db848080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510db848080000c010b201541017421090c010b024020094102490d00200e4102490d00201420162014201649220e1b221320034b0d002002201220164104746a22092012200e1b2013410474220e10e9968080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10ed96808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510db848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c100492002108287808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c1004920021082878080000b20034180206a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510e484808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510e4848080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510e4848080000c010b201541017421090c010b024020094102490d00200e4102490d00201420162014201649220e1b221320034b0d002002201220164104746a22092012200e1b2013410474220e10e9968080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10ed96808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510e4848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c100492002108487808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c1004920021084878080000b20034180206a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510ed84808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510ed848080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510ed848080000c010b201541017421090c010b024020094102490d00200e4102490d00201420162014201649220e1b221320034b0d002002201220164104746a22092012200e1b2013410474220e10e9968080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10ed96808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510ed848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c100492002108687808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c1004920021086878080000b20034180206a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510d984808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510d9848080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510d9848080000c010b201541017421090c010b024020094102490d00200e4102490d00201420162014201649220e1b221320034b0d002002201220164104746a22092012200e1b2013410474220e10e9968080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10ed96808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510d9848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c100492002108887808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c1004920021088878080000b20034180206a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510e184808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510e1848080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510e1848080000c010b201541017421090c010b024020094102490d00200e4102490d00201420162014201649220e1b221320034b0d002002201220164104746a22092012200e1b2013410474220e10e9968080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10ed96808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510e1848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c100492002108a87808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c100492002108a878080000b20034180206a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41047422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b02400240024002402013280210221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d03201841106a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d02201841106a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b201541047420126a6a21140340201329020021072013201429020037020020142007370200201341086a221629020021072016201441086a221929020037020020192007370200201441706a2114201341106a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510d884808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b4104746a210e024020134101710d00200e201820022003201841017267410174413e734100200510d8848080000b20094101710d01200e20184104746a201620022003201641017267410174413e734100200510d8848080000c010b201741017421090c010b024020094102490d0020134102490d0020162018201620184922141b221320034b0d002002200e20184104746a2209200e20141b2013410474221410e996808000221c20146a2114024002400240201620184f0d00201a211303402013200941706a2209201441706a221420142802002218200928020022164922191b2212290200370200201341086a201241086a290200370200201420194104746a21142009201820164f4104746a2209200e460d02201341706a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a290200370200200e41106a210e2013201820164f4104746a22132014460d02200920124104746a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10e9968080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510d8848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c100492002108c87808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c100492002108c878080000b20034180206a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510df84808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510df848080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510df848080000c010b201541017421090c010b024020094102490d00200e4102490d00201420162014201649220e1b221320034b0d002002201220164104746a22092012200e1b2013410474220e10e9968080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10ed96808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510df848080000b200641d0026a2480808080000b830203037f017e017f2380808080004180206b220324808080800002400240024020014180b51820014180b518491b2204200120014101766b2205200420054b1b220441cd01490d002004ad42147e2206a721054100210702402006422088a70d00200541fcffffff074b0d00024020050d0041042107410021040c030b41002d00b8bfd380001a200541002802b0bfd380001182808080000022070d02410421070b200720054184a0c5800010ae80808000000b20002001200341cc01200141c100492002108e878080000c010b2000200120072004200141c100492002108e87808000200741002802a8bfd38000118080808000000b20034180206a2480808080000bf20b03017f027e127f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b2000416c6a210b200041386a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41146c22126a210f024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240200f2802142215200f28020049200f41246a2802002216200f41106a28020022174920162017461b22180d004102211420134102460d04200c20126a2117410221140340201741706a28020022192015492017280200221520164920152016461b0d03201741146a211720152116201921152013201441016a2214470d000c020b0b410221144101211920134102460d02200c20126a2117410221140340201741706a28020022192015492017280200221520164920152016461b4101470d02201741146a211720152116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621190b200b201441146c6a2115200021170340201720126a221641086a220f2902002107200f201520126a221341086a221829020037020020182007370200201629020021072016201329020037020020132007370200201341106a2213280200210f2013201641106a22162802003602002016200f3602002015416c6a2115201741146a21172019417f6a22190d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b200f2013412020134120491b22162002200341004100200510e284808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41146c22166a211a200020166a211803402006418e026a200e417f6a22126a2d0000200f490d010240024002400240200641046a20124102746a280200220e4101762215200941017622176a221420034b0d00200e200972410171450d010b2000200d20146b41146c6a21160240200e4101710d002016201520022003201541017267410174413e734100200510e2848080000b20094101710d012016201541146c6a201720022003201741017267410174413e734100200510e2848080000c010b201441017421090c010b024020094102490d00200e4102490d0020172015201720154922131b220e20034b0d0020022016201541146c6a2209201620131b200e41146c221310e996808000221920136a2113024002400240201720154f0d00201a210e0340200e2009416c6a22152013416c6a221720172802002015280200492013417c6a28020022132009417c6a28020022094920132009461b22091b2213290200370200200e41086a201341086a290200370200200e41106a201341106a2802003602002017200941146c6a21132015200941017341146c6a22092016460d02200e416c6a210e20132019470d000c020b0b0240200e0d002019210e0c020b2019210e034020162009200e2009280200200e28020049200941106a2802002215200e41106a28020022174920152017461b22171b2215290200370200201641086a201541086a290200370200201641106a201541106a280200360200201641146a2116200e201741017341146c6a220e2013460d022009201741146c6a22092018470d000c020b0b200921162019210e0b2016200e2013200e6b10e9968080001a0b201441017441017221090b410121162012210e201241014b0d000c020b0b200e21160b2006418e026a20166a200f3a0000200641046a20164102746a200936020002402011450d00201641016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510e2848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c100492002109087808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c1004920021090878080000b20034180206a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510e084808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510e0848080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510e0848080000c010b201541017421090c010b024020094102490d00200e4102490d00201420162014201649220e1b221320034b0d002002201220164104746a22092012200e1b2013410474220e10e9968080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10ed96808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510e0848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c100492002109287808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c1004920021092878080000b20034180206a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41047422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b02400240024002402013280210221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d03201841106a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d02201841106a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b201541047420126a6a21140340201329020021072013201429020037020020142007370200201341086a221629020021072016201441086a221929020037020020192007370200201441706a2114201341106a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510eb84808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b4104746a210e024020134101710d00200e201820022003201841017267410174413e734100200510eb848080000b20094101710d01200e20184104746a201620022003201641017267410174413e734100200510eb848080000c010b201741017421090c010b024020094102490d0020134102490d0020162018201620184922141b221320034b0d002002200e20184104746a2209200e20141b2013410474221410e996808000221c20146a2114024002400240201620184f0d00201a211303402013200941706a2209201441706a221420142802002218200928020022164922191b2212290200370200201341086a201241086a290200370200201420194104746a21142009201820164f4104746a2209200e460d02201341706a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a290200370200200e41106a210e2013201820164f4104746a22132014460d02200920124104746a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10e9968080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510eb848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c100492002109487808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c1004920021094878080000b20034180206a2480808080000bff0b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041246a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d410474220f6a2112024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240201228021022152012280200201241146a2802002216201241046a280200221420162014491b10ed968080002217201620146b20171b41004822180d004102211420134102460d04200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b4100480d03201741106a2117201a2116201921152013201441016a2214470d000c020b0b410221144101211720134102460d02200c200f6a21174102211403402017417c6a280200221920152017280200221a2016201a2016491b10ed968080002215201a20166b20151b417f4a0d02201741106a2117201a2116201921152013201441016a2214470d000b0b201321140b2014200a490d022018450d010240201441024f0d00410121140c020b201441017621170b200b2014410474200f6a6a21160340201229020021072012201629020037020020162007370200201241086a221329020021072013201641086a221a290200370200201a2007370200201641706a2116201241106a21122017417f6a22170d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b20122013412020134120491b22162002200341004100200510de84808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422126a211b200020126a211803402006418e026a200e417f6a22176a2d0000200f490d010240024002400240200641046a20174102746a280200220e4101762216200941017622146a221520034b0d00200e200972410171450d010b2000200d20156b4104746a21120240200e4101710d002012201620022003201641017267410174413e734100200510de848080000b20094101710d01201220164104746a201420022003201441017267410174413e734100200510de848080000c010b201541017421090c010b024020094102490d00200e4102490d00201420162014201649220e1b221320034b0d002002201220164104746a22092012200e1b2013410474220e10e9968080002219200e6a210e024002400240201420164f0d00201b21160340200941706a2114200e41706a211320162013201420132802002014280200200e41746a280200220e200941746a2802002209200e2009491b10ed96808000221a200e20096b201a1b2209417f4a221a1b220e290200370200201641086a200e41086a29020037020020132009411b764110716a210e2014201a4104746a22092012460d02201641706a2116200e2019470d000c020b0b024020130d00201921160c020b20192116034020122016200920092802002016280200200941046a2802002214201641046a280200221320142013491b10ed96808000221a201420136b201a1b221a417f4a22141b2213290200370200201241086a201341086a290200370200201241106a2112201620144104746a2216200e460d022009201a411b764110716a22092018470d000c020b0b20092112201921160b20122016200e20166b10e9968080001a0b201541017441017221090b410121122017210e201741014b0d000c020b0b200e21120b2006418e026a20126a200f3a0000200641046a20124102746a200936020002402011450d00201241016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510de848080000b200641d0026a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b200720064184a0c5800010ae80808000000b2000200120052004200141c100492002109687808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c1004920021096878080000b20034180206a2480808080000bab0a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41047422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b02400240024002402013280210221620132802004922170d004102211520144102460d04200c20126a2118410221150340201828020022192016490d03201841106a2118201921162014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a21184102211503402018280200221920164f0d02201841106a2118201921162014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b201541047420126a6a21140340201329020021072013201429020037020020142007370200201341086a221629020021072016201441086a221929020037020020192007370200201441706a2114201341106a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510ec84808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b4104746a210e024020134101710d00200e201820022003201841017267410174413e734100200510ec848080000b20094101710d01200e20184104746a201620022003201641017267410174413e734100200510ec848080000c010b201741017421090c010b024020094102490d0020134102490d0020162018201620184922141b221320034b0d002002200e20184104746a2209200e20141b2013410474221410e996808000221c20146a2114024002400240201620184f0d00201a211303402013200941706a2209201441706a221420142802002218200928020022164922191b2212290200370200201341086a201241086a290200370200201420194104746a21142009201820164f4104746a2209200e460d02201341706a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092802002218201328020022164922121b2219290200370200200e41086a201941086a290200370200200e41106a210e2013201820164f4104746a22132014460d02200920124104746a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10e9968080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510ec848080000b200641d0026a2480808080000b1e00200128021c41e080c38000410e200128022028020c118180808000000bf10e010e7f2380808080004180016b22072480808080000240024002400240024002400240024002400240024002400240024002400240024020010e020102000b200041146a2108200141146c2209416c6a41146e210a2000280210210b200028020c210c2000280200210d4100210e200041046a280200220f211003404100211102402008200e41146c6a221241046a2802002213200f2013200f491b2213450d0020122802002112410021110340200d20116a2d0000201220116a2d0000470d012013201141016a2211470d000b201321110b2011201020112010491b2110200e41016a220e200a470d000b20040d02201020024b0d034100210d0c050b0240200328020822112003280200470d00200341dc8ccd800010ad808080000b200328020420116a41003a00002003201141016a3602080c0e0b20002802102111200028020c21132005410171450d040240201120064f0d002007201136020c2007201336020820074180808080783602040c0d0b200741106a201320114100280288bfd380001185808080000041002d00b8bfd380001a412041002802b0bfd38000118280808000002211450d0520112007290010370000201141186a200741106a41186a290000370000201141106a200741106a41106a290000370000201141086a200741106a41086a2900003700002007412036020c20072011360208200741203602040c0c0b201020024b0d01410021140c020b2010200f4b0d04200741d0006a41086a221141003602002007428080808010370250200020012010200741d0006a410020052006109887808000200741106a41086a2011280200360200200720072902503703102003200741106a10d18e8080000c0b0b2010200f4b0d04200d20026a210d201020026b2114201021020b200741c8006a4200370300200741c0006a4200370300200741386a4200370300200741306a4200370300200741286a4200370300200741106a41106a4200370300200741186a4200370300200742003703102002200f4621084100211103402011210a200820014b0d0741002113024020082001460d002009200841146c22116b2112200020116a211141002113200a41ff01712110034020022011280204220e4f0d08201128020020026a2d00002010470d01201141146a2111201341016a21132012416c6a22120d000b0b200741106a200a4102746a2013360200201320086a2108200a41016a22114110470d000b0240024002402002200f470d0002402005410171450d00200b2006490d00200741d0006a200c200b4100280288bfd380001185808080000041002d00b8bfd380001a412041002802b0bfd3800011828080800000220c0d024101412041d080c3800010ae80808000000b418080808078210e200c21110c020b418180808078210e20074181808080783602500c090b200c2007290050370000200c41186a2213200741d0006a41186a290000370000200c41106a2212200741d0006a41106a290000370000200c41086a2210200741d0006a41086a29000037000041002d00b8bfd380001a412041002802b0bfd38000118280808000002211450d052011200c290000370000201141186a2013290000370000201141106a2012290000370000201141086a20102900003700004120210b4120210e0b2007200b360258200720113602542007200e3602500c070b2007201136020c2007201336020820074180808080783602040c070b4101412041d080c3800010ae80808000000b2010200f41dc81c3800010aa81808000000b2010200f41ec81c3800010aa81808000000b4101412041a89dc5800010ae80808000000b2002200e419c82c3800010f580808000000b20082001418c82c3800010a881808000000b2003200d2014200741d0006a200741106a200741106a41c0006a10d08e808000200241016a210d200e418180808078472111024002400240024020054101710d004100210203400240200741106a20026a2802002212450d00201220116a22132012490d04201320014b0d05200741f4006a41086a2210410036020020074280808080103702742000201141146c6a2012200d200741f4006a200441002006109887808000200741d0006a41086a2010280200360200200720072902743703502003200741d0006a10d18e808000201321110b200241046a220241c000470d000c020b0b4100210203400240200741106a20026a2802002212450d00201220116a22132012490d03201320014b0d04200741f4006a41086a2210410036020020074280808080103702742000201141146c6a2012200d200741f4006a200441012006109887808000200741d0006a41086a2010280200360200200720072902743703502003200741d0006a10d18e808000201321110b200241046a220241c000470d000b0b200e418280808078480d03200c41002802a8bfd38000118080808000000c030b2011201341fc81c3800010ac81808000000b2013200141fc81c3800010aa81808000000b0240200041046a28020022112002490d002003200028020020026a201120026b200741046a10b1968080000c010b2002201141cc81c3800010a881808000000b20074180016a2480808080000bd10401057f23808080800041f0006b220424808080800020044100360214200442808080801037020c41002d00b8bfd380001a0240410441002802b0bfd38000118280808000002205450d00200541003602002004410036025c20044200370254200442818080802037024c20042005360248200441003602442004410036023c200442003702342004410036022c2004420037022420042004410c6a360260200441186a200441246a41bc83c3800010938c8080002004410036026c2004428080808010370264200428021c2206200428022022074100200441e4006a20012002200310988780800020042802642101200020042802682208200428026c4100280288bfd380001185808080000002402007450d002007410171210041002102024020074101460d00200641206a21032007417e7121074100210203400240200341686a280200450d002003416c6a28020041002802a8bfd38000118080808000000b02402003417c6a280200450d00200328020041002802a8bfd38000118080808000000b200341286a21032007200241026a2202470d000b0b2000450d002006200241146c6a2203280208450d00200341086a28020441002802a8bfd38000118080808000000b02402004280218450d00200641002802a8bfd38000118080808000000b200541002802a8bfd38000118080808000000240200428020c450d00200428021041002802a8bfd38000118080808000000b02402001450d00200841002802a8bfd38000118080808000000b200441f0006a2480808080000f0b4104410441ac82c3800010ae80808000000bf40303027f017e017f23808080800041c0016b22022480808080002002410036020c200242808080808002370204200241106a200110fe8880800002402002280210418180808078460d00200241046a41bc84c3800010f18a8080002002280208220341053a000820034202370300200341a0016a200241106a41f00010e9968080001a2002410136020c0b20024188016a2001109f8c80800002402002280288014101470d0020022903900121040240200228020c22052002280204470d00200241046a41bc84c3800010f18a8080000b200228020820054190026c6a220320043703a80120034183808080783602a001200341053a0008200342023703002002200541016a36020c0b20024198016a200110b9838080000240200228029801450d00200241b8016a20024198016a41086a29030037020020022002290398013702b0010240200228020c22032002280204470d00200241046a41bc84c3800010f18a8080000b200228020820034190026c6a22014188808080783602a001200141053a000820014202370300200120022902ac013702a401200141ac016a200241ac016a41086a290200370200200141b4016a200241bc016a2802003602002002200341016a36020c0b20002002290204370200200041086a200241046a41086a280200360200200241c0016a2480808080000b8e0402047f017e23808080800041306b22032480808080000240024020022802782204450d00200228027422022903004202520d0020024190026a210220044190026c41f07d6a21050340200241907f6a280200220441808080807847200441ffffffff076a220641074b2006410146727121060240024002400240024002400240200441fdffffff076a0e06000303030301030b200241987f6a2001109e8c80800041ff017122044102460d012003410036022c2003410036021c2003410036020c2003410c6a10fa8980800041002d00b8bfd380001a410141002802b0bfd38000118280808000002205450d03200520043a000041002d00b8bfd380001a41e40141002802b0bfd38000118280808000002202450d04200241013b01e20120024280808080103702582002410136026420022005360260200242f4d2b59bc7ae98b830370200200341033a000c2003410c6a10d88780800020004180023b010c200042808080801037020420002002360200200020032f010a3b010e0c080b2006417f73200241987f6a280200410447710d060b2005450d050c030b20062005410047710d020c040b4101410110b980808000000b410441e40110b980808000000b200541f07d6a21052002290300210720024190026a210220074202510d000b0b200041013b010c2000410036020820004200370200200020032f010a3b010e0b200341306a2480808080000bff0201047f23808080800041c0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a41c48ac3800010958c80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c41002802a8bfd38000118080808000000c010b200228020c2101024020034101460d00024020034115490d00200120032002413f6a10fb868080000c010b2001200341012002413f6a10928f8080000b2002280208210441002d00b8bfd380001a0240418c0141002802b0bfd380001182808080000022050d004104418c0110b980808000000b200541003b018a012005410036020020024100360218200220053602142002410036021c200220012003410c6c6a36023820022004360234200220013602302002200136022c2002418180808078360220200241146a200241206a2002411c6a10b1838080002000200228021c360208200020022902143702000b200241c0006a2480808080000bff0201047f23808080800041c0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a41c48ac3800010858c80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c41002802a8bfd38000118080808000000c010b200228020c2101024020034101460d00024020034115490d00200120032002413f6a10fb868080000c010b2001200341012002413f6a10928f8080000b2002280208210441002d00b8bfd380001a0240418c0141002802b0bfd380001182808080000022050d004104418c0110b980808000000b200541003b018a012005410036020020024100360218200220053602142002410036021c200220012003410c6c6a36023820022004360234200220013602302002200136022c2002418180808078360220200241146a200241206a2002411c6a10b1838080002000200228021c360208200020022902143702000b200241c0006a2480808080000bf10202047f017e23808080800041306b2202248080808000200241086a200110c38380800002400240024020022802080d00200228020c210320012802002802082204200428020441016a2205360204200520042802084b0d010240024020030d00410021040c010b02402003410a4f0d00418c0121040c010b417f2003410a6ead42bc017e2206a72006422088a71b21040b2001417f2001280204220520046a220420042005491b22043602040240200420012802084f0d0041002104200241003a00132002200336022820024100360224200220013602202002200241136a36022c200241146a200241206a109f878080000240024020022d00130d00200020022902143702042000410c6a2002411c6a2802003602000c010b200241146a10d98a808000410121040b20002004360200200128020028020822012001280204417f6a3602040c030b200041013602000c020b200041013602000c010b200041013602000b200241306a2480808080000bff0201047f23808080800041c0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a41c48ac3800010868c80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c41002802a8bfd38000118080808000000c010b200228020c2101024020034101460d00024020034115490d00200120032002413f6a10fb868080000c010b2001200341012002413f6a10928f8080000b2002280208210441002d00b8bfd380001a0240418c0141002802b0bfd380001182808080000022050d004104418c0110b980808000000b200541003b018a012005410036020020024100360218200220053602142002410036021c200220012003410c6c6a36023820022004360234200220013602302002200136022c2002418180808078360220200241146a200241206a2002411c6a10b1838080002000200228021c360208200020022902143702000b200241c0006a2480808080000bff0201047f23808080800041c0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a41c48ac3800010898c80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c41002802a8bfd38000118080808000000c010b200228020c2101024020034101460d00024020034115490d00200120032002413f6a10fb868080000c010b2001200341012002413f6a10928f8080000b2002280208210441002d00b8bfd380001a0240418c0141002802b0bfd380001182808080000022050d004104418c0110b980808000000b200541003b018a012005410036020020024100360218200220053602142002410036021c200220012003410c6c6a36023820022004360234200220013602302002200136022c2002418180808078360220200241146a200241206a2002411c6a10b1838080002000200228021c360208200020022902143702000b200241c0006a2480808080000b990301057f23808080800041206b22022480808080000240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0400030201000b200641027621030c030b200641044f0d0320034105490d0320012003417b6a3602042001200541056a360200200528000122034180808080044f0d020c030b20034104490d0220012003417c6a3602042001200541046a36020020052f0001200541036a2d0000411074722203418002490d02200341087420067241027621030c010b2004450d0120012003417e6a3602042001200541026a36020020052d00012203450d01200341087420067241027621030b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10a287808000024020022d00030d00200020022902043702042000410c6a2002410c6a280200360200200041003602000c020b200241046a10d98a808000200041013602000c010b200041013602000b200241206a2480808080000bff0201047f23808080800041c0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a41c48ac38000108b8c80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c41002802a8bfd38000118080808000000c010b200228020c2101024020034101460d00024020034115490d00200120032002413f6a10fb868080000c010b2001200341012002413f6a10928f8080000b2002280208210441002d00b8bfd380001a0240418c0141002802b0bfd380001182808080000022050d004104418c0110b980808000000b200541003b018a012005410036020020024100360218200220053602142002410036021c200220012003410c6c6a36023820022004360234200220013602302002200136022c2002418180808078360220200241146a200241206a2002411c6a10b1838080002000200228021c360208200020022902143702000b200241c0006a2480808080000b8a0501097f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110d583808000024002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a2105200428028c0121042000417f6a22000d000b0b20074108490d010340200428028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012104200541786a22050d000c020b0b20064101710d0141d0bac38000108a81808000000b2004210541002104410021070b02400240200720052f018a014f0d0020052100200721080c010b034020052802002200450d04200441016a210420052f018801210820002105200820002f018a014f0d000b0b0240024020040d00200841016a2107200021050c010b200020084102746a4190016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a2109200528028c0121052004417f6a22040d000b0b200a4107490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200941786a22090d000b0b20002008410c6c6a220441086a280200210820022004410c6a28020022043602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822006b20044f0d0020012000200410fc90808000200128020821000b200128020420006a2008200410e9968080001a2001200020046a360208410021042003417f6a22030d000b0b200241106a2480808080000f0b41c0bac38000108a81808000000ba30102057f017e410021024101210302400240024020012802082204280208220520042802102206460d00200641016a2202450d01200220054b0d0220042802042103200420023602102001427f200129030042017c22072007501b370300200320066a2d00002102410021030b200020023a0001200020034101713a00000f0b417f200241a8c8ca800010ac81808000000b2002200541a8c8ca800010aa81808000000bd70102047f017e0240024002400240024020012802082202280204200228020c22034b0d00024020022802082202280208220420022802102203470d00410121020c030b200341016a2205450d03200520044b0d042002280204210420022005360210200420036a2d000021030c010b2002200341016a36020c200228020020036a2d000021030b2001427f200129030042017c22062006501b370300410021020b200020033a0001200020024101713a00000f0b417f200541a8c8ca800010ac81808000000b2005200441a8c8ca800010aa81808000000be60401037f23808080800041206b220124808080800041002d00b8bfd380001a024041c00141002802b0bfd38000118280808000002202450d00200241ed818080003602b80120024284c1c5dc9bbfbce2d5003703b0012002429ec692bf91df96dcea003703a801200241ee818080003602a00120024282eaeff8bd8deab96a370398012002428cb4eaf6d2e4e99c6137039001200241ef8180800036028801200242fea2a696bac592e05537038001200242edd296fec89a92cbf000370378200241f081808000360270200242b8c48594f89496a9f1003703682002429dea8097f89db3deaa7f370360200241f181808000360258200242e0d5919ba5a692cded00370350200242f2fcccbcccfa9cc7eb00370348200241f281808000360240200242b1fdcbfbbbc7c1881f370338200242d0b4e0ab80ecdaf84f370330200241f3818080003602282002428de6f1e7b1cceff28b7f370320200242c68a83df9f9db5f5f200370318200241f48180800036021020024286b0debed0a5cda96a3703082002428dfcddabd884c8cc263703002001200241c0016a220336021c200141083602182001200236021420012002360210200141086a200141106a20022002200141206a200310e087808000200128020c2103200142888080808001370210200142808080808001370218200041c4006a200141106a41a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200320026b41186e36020c2000200236020820004108360204200041043a0000200141206a2480808080000f0b410841c00110b980808000000b8f0403057f017e017f23808080800041c0006b2201248080808000200141246a41a886c38000410b41ea8bc3800041264104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241908cc3800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c21042001280210210220012802142105200129022821062001280224210720014288808080800137020c200142808080808001370214200141306a2001410c6a41bccec2800010b18b8080002007418080808078460d01200120043602142001200236020c200120023602102001200220054105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000b8f0403057f017e017f23808080800041c0006b2201248080808000200141246a41b386c38000410d41e48ec3800041284104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241908cc3800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c21042001280210210220012802142105200129022821062001280224210720014288808080800137020c200142808080808001370214200141306a2001410c6a41bccec2800010b18b8080002007418080808078460d01200120043602142001200236020c200120023602102001200220054105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bce0201037f23808080800041c0006b2201248080808000200141086a418cc1c38000411a41002802a0bdd380001185808080000041002d00b8bfd380001a02400240410441002802b0bfd38000118280808000002202450d0020024181848c20360000200141043602202001200236021c200120022002410172200241017122031b360224200141ec91c0800041d891c0800020031b3602182001280208450d0120012802104104470d01200128020c2800002002280000470d01200141246a2002410441998080800041958080800020031b11858080800000024020012802082202450d00200141146a200128020c20012802102002280210118580808000000b2000420037030820004201370300200141c0006a2480808080000f0b4101410410b980808000000b200141003602284100200141086a200141186a200141286a41e8c1c3800010fb8c808000000bdd0201037f23808080800041d0006b220324808080800020032001200241c48ac3800010948c80800002400240200328020822040d0020004100360208200041003602002003280200450d01200328020441002802a8bfd38000118080808000000c010b20032802042102024020044101460d00024020044115490d0020022004200341cf006a10f3868080000c010b200220044101200341cf006a10948f8080000b2003280200210541002d00b8bfd380001a024041e80241002802b0bfd380001182808080000022010d00410441e80210b980808000000b200141003b01e602200141003602e002200341003602102003200136020c20034100360214200341023a00282003200220044105746a360224200320053602202003200236021c200320023602182003410c6a200341186a200341146a10ae83808000200020032802143602082000200329020c3702000b200341d0006a2480808080000bfa1402057f047e23808080800041e0086b2203248080808000200342f89aef8eef91e1ce967f3700c806200342b4d6d6dfccc6b592c3003700c006200342fc90b9e5d09296e7773700b806200342a6d4e6f1a4dd9598603700b00620034188036a200341b0066a4120109484808000024002402003280288030d00200341286a4200370300200341206a4200370300200341186a4200370300200341106a4200370300200341086a4200370300200342003703000c010b200341286a200341b8036a290300370300200341206a20034188036a41286a290300370300200341186a20034188036a41206a290300370300200341106a20034188036a41186a290300370300200341086a20034188036a41106a29030037030020032003290390033703000b20034190066a41086a22044200370300200341e0056a41086a22054200370300200341d0056a41086a22064200370300200341b8056a41086a22074200370300200341b8056a41106a410036020020034188036a41106a200341a0066a41086a2903003703002003420037039006200342003703e005200342003703d005200342003703b8052003420037038803200320032903a00637039003200342013703b803200341c8036a200429030037030020032003290390063703c003200342003703e003200342003703d803200342c8b0c9333703d003200341f0036a20034180066a41086a29030037030020032003290380063703e803200342003703b804200342003703b004200342c8b0c9333703a804200341c8046a200341f0056a41086a290300370300200320032903f0053703c004200342003703d004200341e0046a2005290300370300200320032903e0053703d804200342003703e804200341f8046a2006290300370300200320032903d0053703f0042003420037039805200342b0d0e7cd01370390052003420037038805200342c8b0c93337038005200341a8056a2007290300370300200320032903b8053703a0052003428180808080a0f8fa053703b0052003428080a0013703a0042003428088a5a9a307370398042003420137039004200342808080053703880420034280a094a58d1d37038004200342013703f8032003428080e0033703b0032003428098effbe9153703a803200342013703a003200341b0066a20034188036a10cf9080800002400240024002400240024002400240024020032903b0064202510d00200341306a200341b0066a41a80210e9968080001a427f2000290308220820002903187c220920092008541b2108427f2000290300220920002903107c220a200a2009541b2109024002400240024020002d002022050e03000102000b427f427f20082003290380017c220a200a2008541b22082001ad7c220a200a2008541b210a427f200920032903787c220820082009541b2108200341306a21040c020b427f427f200820032903d8017c220a200a2008541b22082001ad7c220a200a2008541b210a427f200920032903d0017c220820082009541b210820034188016a21040c010b427f427f200820032903b0027c220a200a2008541b22082001ad7c220a200a2008541b210a427f200920032903a8027c220820082009541b2108200341e0016a21040b2004290318502206450d0120042802300d012003210002400240024020050e03020001020b200341106a21000c010b200341206a21000b2000427f20002903082209200a7c220a200a2009541b3703082000427f2000290300220920087c220820082009541b3703000c020b200320032d00b8063a00df0841c4d5c8800041e000200341df086a41f0d4c8800041a4d6c8800010a481808000000b2003210002400240024020050e03020001020b200341106a21000c010b200341206a21000b2000290300220920087c22082009540d0120002903082209200a7c220a2009540d012000200a370308200020083703000b2003210020050e03030102030b41002802ecbfd380004104490d0341002802d4bcd38000210041002802d0bcd38000210441002802e8bfd380002105200342003702c00320034281808080c0003702b803200341dc8ec380003602b4032003410f3602b003200341998dc380003602ac03200342d5808080c0003702a403200341c48cc380003602a0032003422637029803200341ea8bc3800036029403200341003602900320034281808080b01537028803200441dcdbc88000200541024622051b20034188036a200041c4dbc8800020051b280210118b80808000000c030b200341106a21000c010b200341206a21000b200029030821092000290300210802400240024020060d0020082004290320560d0120092004290328560d010b0240427f427f2003290300220a20032903107c220b200b200a541b220a20032903207c220b200b200a541b20032903c802560d00427f427f2003290308220a20032903187c220b200b200a541b220a20032903287c220b200b200a541b20032903d002580d020b20042802304101470d01024020082004290338560d0020092004290340580d020b41002802ecbfd380004104490d0241002802d4bcd38000210041002802d0bcd38000210441002802e8bfd380002105200342003702c00320034281808080c0003702b803200341b48ec380003602b4032003410f3602b003200341998dc380003602ac03200342d5808080c0003702a403200341c48cc380003602a0032003422637029803200341ea8bc3800036029403200341003602900320034281808080b01937028803200441dcdbc88000200541024622051b20034188036a200041c4dbc8800020051b280210118b8080800000410021000c030b41002802ecbfd380004104490d0141002802d4bcd38000210041002802d0bcd38000210441002802e8bfd380002105200342003702c00320034281808080c0003702b8032003418c8ec380003602b4032003410f3602b003200341998dc380003602ac03200342d5808080c0003702a403200341c48cc380003602a0032003422637029803200341ea8bc3800036029403200341003602900320034281808080901737028803200441dcdbc88000200541024622051b20034188036a200041c4dbc8800020051b280210118b8080800000410021000c020b200341d8026a41286a200341286a290300370300200341d8026a41206a200341206a290300370300200341d8026a41186a200341186a290300370300200341d8026a41106a200341106a290300370300200341d8026a41086a200341086a290300370300200320032903003703d80220034295f38cfcb699a3c4ef003700a003200342a8db95cdaa86daa71937009803200342fc90b9e5d09296e77737009003200342a6d4e6f1a4dd95986037008803200320023602b00620034188036a4120200341b0066a410441002802c8bdd3800011838080800000200342f89aef8eef91e1ce967f3700a003200342b4d6d6dfccc6b592c30037009803200342fc90b9e5d09296e77737009003200342a6d4e6f1a4dd95986037008803200341b0066a200341d8026a10858980800020034188036a412020032802b406220020032802b80641002802c8bdd3800011838080800000024020032802b006450d00200041002802a8bfd38000118080808000000b410221000c010b410021000b200341e0086a248080808000200041800c720bc90d02067f047e2380808080004180086b22032480808080002003418080c0023602102003428080f0818080802837020820034295f38cfcb699a3c4ef003700c802200342a8db95cdaa86daa7193700c002200342fc90b9e5d09296e7773700b802200342a6d4e6f1a4dd9598603700b0022003200341b0026a4120108a848080002003417f2003280204410020032802001b220420026a220220022004491b22023602c805200341106a21052003410c6a2106200341086a210402400240024020012d002022070e03020001020b200621040c010b200521040b02400240024002400240200220042802004d0d00024041002802ecbfd380004104490d00200341086a210202400240024020070e03020001020b200621020c010b200521020b200320023602e004200341f581808000ad422086200341e0046aad843703e0052003418a80808000ad422086200341c8056aad843703d80541002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002104200342023702e802200341b48cc380003602dc022003410f3602d802200341998dc380003602d402200342d5808080c0003702cc02200341c48cc380003602c802200342263702c002200341ea8bc380003602bc02200341003602b80220034281808080a00a3702b002200341023602e002200241c4dbc88000200441024622041b28021021022003200341d8056a3602e402200141dcdbc8800020041b200341b0026a2002118b80808000000b200041800c3b01000c010b200341b8056a41086a2204420037030020034188056a41086a22054200370300200341f8046a41086a22064200370300200341e0046a41086a22084200370300200341e0046a41106a4100360200200341b0026a41106a200341c8056a41086a290300370300200342003703b8052003420037038805200342003703f804200342003703e004200342003703b002200320032903c8053703b802200342013703e002200341f0026a2004290300370300200320032903b8053703e80220034200370388032003420037038003200342c8b0c9333703f80220034198036a200341a8056a41086a290300370300200320032903a80537039003200342003703e003200342003703d803200342c8b0c9333703d003200341f0036a20034198056a41086a29030037030020032003290398053703e803200342003703f80320034188046a20052903003703002003200329038805370380042003420037039004200341a0046a2006290300370300200320032903f80437039804200342003703c004200342b0d0e7cd013703b804200342003703b004200342c8b0c9333703a804200341d0046a2008290300370300200320032903e0043703c8042003428180808080a0f8fa053703d8042003428080a0013703c8032003428088a5a9a3073703c003200342013703b803200342808080053703b00320034280a094a58d1d3703a803200342013703a0032003428080e0033703d8022003428098effbe9153703d002200342013703c802200341d8056a200341b0026a10cf9080800020032903d8054202510d01200341086a200341d8056a41a80210e9968080001a200341086a210402400240024020070e03020001020b200341e0006a21040c010b200341b8016a21040b20042802004101470d0220042903102109427f2001290308220a20012903187c220b200b200a541b210a0240427f2001290300220b20012903107c220c200c200b541b220c2004290308220b560d00200a2009580d030b200320093703e8042003200b3703e004024041002802ecbfd380004104490d002003200a3703e0052003200c3703d805200341f681808000ad4220862209200341e0046aad8437031020032009200341d8056aad8437030841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd380002104200342023702e802200341d88dc380003602dc022003410f3602d802200341998dc380003602d402200342d5808080c0003702cc02200341c48cc380003602c802200342263702c002200341ea8bc380003602bc02200341003602b8022003428180808090073702b002200341023602e002200241c4dbc88000200441024622041b28021021022003200341086a3602e402200141dcdbc8800020041b200341b0026a2002118b80808000000b200041063b0001200041003a00000b4180808080782102411021010c020b200320032d00e0053a000841c4d5c8800041e000200341086a41f0d4c8800041a4d6c8800010a481808000000b200041013a0028200042043703202000420037031820004280808080c0003703102000427f37030820004200370300413021010b200020016a200236020020034180086a2480808080000bb00707017f017e017f077e027f087e017f23808080800041c0006b220124808080800042022102200141206a41106a210302400240024020002903002204420285200041086a290300220584500d00420021062000420037030820012004370320200120053703282000200420058450ad42018622023703002001200029031022073703302001200041186a290300220837033802402004a74101710d00200421092005210a0c020b200120073703102001200437030020012008370318200120053703080c020b420021062001420037032820014200370320420021094200210a0b0240024020002903202204420285200041286a29030022058450450d0042002104420021050c010b20004200370328200042003703202001200029033022073703102001200041386a29030022083703180b20012004370300200120053703082009200a84500d00200310f6878080000b2002a7210b024002402004a7220c4101710d000c010b200041386a290300210d200041186a290300210e200041286a29030021092000290330210f200029031021102000290320210a034002400240024002400240024020024202852006844200520d004200210520014200370328200142003703204202210442002111420021120c010b420021052000420037030820012002370320200120063703282000200220068450ad4201862204370300200120103703302001200e3703382004a7210b2002a74101710d0120022111200621120b42022113200a42028520098450450d014200211442002102420021060c020b20012010370310200120023703002001200e370318200120063703080c020b4200211320004200370328200042003703202001200f3703102001200d37031842002114200a2102200921060b200120023703002001200637030802402011201284500d00200310f6878080000b2013210a201421090b02402002a74101710d0020022104200621050c020b427f2008200141186a2903007c200720012903107c22062007542215ad7c22022015200220085420022008511b22151b2108427f200620151b210720042102200521060c000b0b02402004200584500d00200141106a10f6878080000b0240200c200720088442005271450d002001200737032020012008370328200141206a10f6878080000b02400240200b41037122154103460d0020150e03010001010b200041106a10f6878080000b02400240200028022022154103714103460d0020150e03010001010b200041306a10f6878080000b200141c0006a2480808080000b800302047f047e23808080800041306b22022480808080000240024002402001280208220328020022042802042205450d0020042005417f6a36020420042004280200220541016a3602002001427f2001290300220642017c22072007501b370300024002402005310000220850450d00420021060c010b200328020022042802042205450d0120042005417f6a36020420042004280200220541016a3602002001427f200642027c220720072006541b37030042022008420f838622074204540d014201210620053100004208862008844204882007420c884201200742ff3f561b7e220820075a0d010b200241086a200110bd8380800020022802080d01200228020c2104200241106a200110d183808000024020022802104101710d00200229032021092000200241286a29030037032820002009370320200020043602182000200837031020002007370308200020063703000c030b200042023703000c020b200042023703000c010b200042023703000b200241306a2480808080000b920203027f017e017f23808080800041106b22022480808080000240024020002802000d000240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41003a00000c010b200029030822047aa7417f6a2203410f2003410f491b410120031b20002903102004420c884201200442ff3f561b80a741047472210502402001280200200128020822036b41014b0d0020012003410210fc90808000200128020821030b2001200341026a360208200128020420036a20053b00000b2002200041186a360208200241086a200110d5838080002002200041206a36020c2002410c6a200110d783808000200241106a2480808080000b8f0c02067f047e23808080800041b0026b220224808080800002400240024002400240024002400240024002400240024002400240024002400240200128020022032802082204280208220520042802102206460d00200641016a2207450d0a200720054b0d0b20042802042105200420073602102003427f200329030042017c22082008501b370300200520066a2d00000e09010203040506080709080b20004189808080783602000c0f0b200241f0006a200110cc8c8080000240024020022d0070450d00200241d0016a41206a200241f0006a41206a2903002208370300200241d0016a41186a200241f0006a41186a2903002209370300200241d0016a41106a200241f0006a41106a290300220a370300200241d0016a41086a200241f0006a41086a290300220b3703002002410c6a200b370200200241146a200a3702002002411c6a2009370200200241246a20083702002002200229037022083703d00120022008370204200020022902003702042000410c6a200241086a290200370200200041146a200241106a2902003702002000411c6a200241186a290200370200200041246a200241206a2902003702002000412c6a200241286a28020036020041818080807821040c010b41898080807821040b200020043602000c0e0b2002200110b08980800002402002280200418180808078460d002000200241f00010e9968080001a0c0e0b20004189808080783602000c0d0b024020032802082204280208220520042802102206460d00200641016a2207450d09200720054b0d0a20042802042105200420073602102003427f200329030042017c22082008501b370300200520066a2d00000d002002200110cc8380800020022802004101460d002000200229030837030820004183808080783602000c0d0b20004189808080783602000c0c0b024020032802082204280208220120042802102206460d00200641016a2206450d0a200620014b0d0b200420063602102003427f200329030042017c22082008501b3703000b20004189808080783602000c0b0b200241f0006a200110a488808000024020022d0070450d00200241d0016a200241f0006a41e00010e9968080001a2002410c6a200241d0016a41e00010e9968080001a200041046a200241ec0010e9968080001a20004185808080783602000c0b0b20004189808080783602000c0a0b200241f0006a200110ab8a808000024020022d0070410a460d00200241d0016a41206a200241f0006a41206a2903002208370300200241d0016a41186a200241f0006a41186a2903002209370300200241d0016a41106a200241f0006a41106a290300220a370300200241d0016a41086a200241f0006a41086a290300220b3703002002410c6a200b370200200241146a200a3702002002411c6a2009370200200241246a20083702002002200229037022083703d00120022008370204200020022902003702042000410c6a200241086a290200370200200041146a200241106a2902003702002000411c6a200241186a290200370200200041246a200241206a2902003702002000412c6a200241286a28020036020020004186808080783602000c0a0b20004189808080783602000c090b2002200110888d80800002402002280200418180808078460d00200020022902003702042000410c6a200241086a28020036020020004187808080783602000c090b20004189808080783602000c080b20004189808080783602000c070b200241f0006a200110988480800002402002280270450d00200241d0016a41086a200241f0006a41086a29030022083703002002410c6a20083702002002200229037022083703d00120022008370204200020022902003702042000410c6a200241086a290200370200200041146a200241106a28020036020020004188808080783602000c070b20004189808080783602000c060b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b417f200641a8c8ca800010ac81808000000b2006200141a8c8ca800010aa81808000000b200241b0026a2480808080000b8d0c02067f047e23808080800041b0026b220224808080800002400240024002400240024002400240200128020022032802082204280204200428020c22054b0d00024020042802082204280208220620042802102205470d00410121040c030b200541016a2207450d03200720064b0d042004280204210620042007360210200620056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2003427f200329030042017c22082008501b370300410021040b024002400240024002400240024002400240024020044101710d00200541ff01710e09010203040506080709080b20004189808080783602000c0d0b200241f0006a200110cb8c8080000240024020022d0070450d00200241d0016a41206a200241f0006a41206a2903002208370300200241d0016a41186a200241f0006a41186a2903002209370300200241d0016a41106a200241f0006a41106a290300220a370300200241d0016a41086a200241f0006a41086a290300220b3703002002410c6a200b370200200241146a200a3702002002411c6a2009370200200241246a20083702002002200229037022083703d00120022008370204200020022902003702042000410c6a200241086a290200370200200041146a200241106a2902003702002000411c6a200241186a290200370200200041246a200241206a2902003702002000412c6a200241286a28020036020041818080807821040c010b41898080807821040b200020043602000c0c0b2002200110b18980800002402002280200418180808078460d002000200241f00010e9968080001a0c0c0b20004189808080783602000c0b0b2002200110e28c808000024020022802000d002000200229030837030820004183808080783602000c0b0b20004189808080783602000c0a0b024002400240200128020022032802082204280204200428020c22014b0d0020042802082204280208220520042802102201460d02200141016a2201450d0a200120054b0d0b200420013602100c010b2004200141016a36020c0b2003427f200329030042017c22082008501b3703000b20004189808080783602000c090b200241f0006a200110a688808000024020022d0070450d00200241d0016a200241f0006a41e00010e9968080001a2002410c6a200241d0016a41e00010e9968080001a200041046a200241ec0010e9968080001a20004185808080783602000c090b20004189808080783602000c080b200241f0006a200110ad8a808000024020022d0070410a460d00200241d0016a41206a200241f0006a41206a2903002208370300200241d0016a41186a200241f0006a41186a2903002209370300200241d0016a41106a200241f0006a41106a290300220a370300200241d0016a41086a200241f0006a41086a290300220b3703002002410c6a200b370200200241146a200a3702002002411c6a2009370200200241246a20083702002002200229037022083703d00120022008370204200020022902003702042000410c6a200241086a290200370200200041146a200241106a2902003702002000411c6a200241186a290200370200200041246a200241206a2902003702002000412c6a200241286a28020036020020004186808080783602000c080b20004189808080783602000c070b2002200110878d80800002402002280200418180808078460d00200020022902003702042000410c6a200241086a28020036020020004187808080783602000c070b20004189808080783602000c060b20004189808080783602000c050b200241f0006a2001109a8480800002402002280270450d00200241d0016a41086a200241f0006a41086a29030022083703002002410c6a20083702002002200229037022083703d00120022008370204200020022902003702042000410c6a200241086a290200370200200041146a200241106a28020036020020004188808080783602000c050b20004189808080783602000c040b417f200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000b417f200141a8c8ca800010ac81808000000b2001200541a8c8ca800010aa81808000000b200241b0026a2480808080000bd40e03047f047e017f23808080800041c0026b2202248080808000024002400240024002400240024002400240024002402001280200220328020828020022042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e09010203040506080709080b20004189808080783602000c090b200241106a200110ce8c8080000240024020022d0010450d00200241f0006a41206a200241106a41206a2903002206370300200241f0006a41186a200241106a41186a2903002207370300200241f0006a41106a200241106a41106a2903002208370300200241f0006a41086a200241106a41086a2903002209370300200241d0016a410c6a2009370200200241d0016a41146a2008370200200241d0016a411c6a2007370200200241d0016a41246a2006370200200220022903102206370370200220063702d401200020022902d0013702042000410c6a200241d0016a41086a290200370200200041146a200241d0016a41106a2902003702002000411c6a200241d0016a41186a290200370200200041246a200241d0016a41206a2902003702002000412c6a200241f8016a28020036020041818080807821030c010b41898080807821030b200020033602000c080b0240200328020828020022042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030002400240024020052d00000e020001030b200241d0016a200110828f80800020022802d0012203418080808078460d02200241186a200241dc016a280200360200200220022902d401370310200241f0006a200241e0016a41e00010e9968080001a0c010b2002200110c38380800020022802000d01200241d0016a2001200228020410fb82808000418080808078210320022802d001418080808078460d01200241106a41086a200241d0016a41086a280200360200200220022902d0013703100b20002003360200200020022903103702042000410c6a200241186a280200360200200041106a200241f0006a41e00010e9968080001a0c080b20004189808080783602000c070b0240200328020828020022042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000d00200241d0016a200110cb8380800020022802d0014101460d00200020022903d80137030820004183808080783602000c070b20004189808080783602000c060b0240200328020828020022042802042201450d0020042001417f6a3602042004200428020041016a3602002003427f200329030042017c22062006501b3703000b20004189808080783602000c050b200241106a200110a588808000024020022d0010450d00200241f0006a200241106a41e00010e9968080001a200241dc016a200241f0006a41e00010e9968080001a200041046a200241d0016a41ec0010e9968080001a20004185808080783602000c050b20004189808080783602000c040b200241106a200110af8a808000024020022d0010410a460d00200241f0006a41206a200241106a41206a2903002206370300200241f0006a41186a200241106a41186a2903002207370300200241f0006a41106a200241106a41106a2903002208370300200241f0006a41086a200241106a41086a2903002209370300200241d0016a410c6a2009370200200241d0016a41146a2008370200200241d0016a411c6a2007370200200241d0016a41246a2006370200200220022903102206370370200220063702d401200020022902d0013702042000410c6a200241d0016a41086a290200370200200041146a200241d0016a41106a2902003702002000411c6a200241d0016a41186a290200370200200041246a200241d0016a41206a2902003702002000412c6a200241f8016a28020036020020004186808080783602000c040b20004189808080783602000c030b4189808080782105024020032802082802002204280204220a450d002004200a417f6a36020420042004280200220a41016a3602002003427f200329030042017c22062006501b370300418080808078210302400240200a2d00000e020001020b200241086a200110c38380800020022802080d01200241d0016a2001200228020c10fb8280800020022802d0012203418080808078460d012003418180808078460d0120022902d40121060b200020063703082000200336020441878080807821050b200020053602000c020b20004189808080783602000c010b200241106a200110998480800002402002280210450d00200241f0006a41086a200241106a41086a2903002206370300200241d0016a410c6a2006370200200220022903102206370370200220063702d401200020022902d0013702042000410c6a200241d0016a41086a290200370200200041146a200241e0016a28020036020020004188808080783602000c010b20004189808080783602000b200241c0026a2480808080000bc50e03047f047e017f23808080800041c0026b2202248080808000024002400240024002400240024002400240024002402001280200220328020822042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e09010203040506080709080b20004189808080783602000c090b200241106a200110cd8c8080000240024020022d0010450d00200241f0006a41206a200241106a41206a2903002206370300200241f0006a41186a200241106a41186a2903002207370300200241f0006a41106a200241106a41106a2903002208370300200241f0006a41086a200241106a41086a2903002209370300200241d0016a410c6a2009370200200241d0016a41146a2008370200200241d0016a411c6a2007370200200241d0016a41246a2006370200200220022903102206370370200220063702d401200020022902d0013702042000410c6a200241d0016a41086a290200370200200041146a200241d0016a41106a2902003702002000411c6a200241d0016a41186a290200370200200041246a200241d0016a41206a2902003702002000412c6a200241f8016a28020036020041818080807821030c010b41898080807821030b200020033602000c080b0240200328020822042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030002400240024020052d00000e020001030b200241d0016a200110848f80800020022802d0012203418080808078460d02200241186a200241dc016a280200360200200220022902d401370310200241f0006a200241e0016a41e00010e9968080001a0c010b2002200110c58380800020022802000d01200241d0016a2001200228020410e082808000418080808078210320022802d001418080808078460d01200241106a41086a200241d0016a41086a280200360200200220022902d0013703100b20002003360200200020022903103702042000410c6a200241186a280200360200200041106a200241f0006a41e00010e9968080001a0c080b20004189808080783602000c070b0240200328020822042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000d00200241d0016a200110c98380800020022802d0014101460d00200020022903d80137030820004183808080783602000c070b20004189808080783602000c060b0240200328020822042802042201450d0020042001417f6a3602042004200428020041016a3602002003427f200329030042017c22062006501b3703000b20004189808080783602000c050b200241106a200110a388808000024020022d0010450d00200241f0006a200241106a41e00010e9968080001a200241dc016a200241f0006a41e00010e9968080001a200041046a200241d0016a41ec0010e9968080001a20004185808080783602000c050b20004189808080783602000c040b200241106a200110ae8a808000024020022d0010410a460d00200241f0006a41206a200241106a41206a2903002206370300200241f0006a41186a200241106a41186a2903002207370300200241f0006a41106a200241106a41106a2903002208370300200241f0006a41086a200241106a41086a2903002209370300200241d0016a410c6a2009370200200241d0016a41146a2008370200200241d0016a411c6a2007370200200241d0016a41246a2006370200200220022903102206370370200220063702d401200020022902d0013702042000410c6a200241d0016a41086a290200370200200041146a200241d0016a41106a2902003702002000411c6a200241d0016a41186a290200370200200041246a200241d0016a41206a2902003702002000412c6a200241f8016a28020036020020004186808080783602000c040b20004189808080783602000c030b4189808080782105024020032802082204280204220a450d002004200a417f6a36020420042004280200220a41016a3602002003427f200329030042017c22062006501b370300418080808078210302400240200a2d00000e020001020b200241086a200110c58380800020022802080d01200241d0016a2001200228020c10e08280800020022802d0012203418080808078460d012003418180808078460d0120022902d40121060b200020063703082000200336020441878080807821050b200020053602000c020b20004189808080783602000c010b200241106a2001109b8480800002402002280210450d00200241f0006a41086a200241106a41086a2903002206370300200241d0016a410c6a2006370200200220022903102206370370200220063702d401200020022902d0013702042000410c6a200241d0016a41086a290200370200200041146a200241e0016a28020036020020004188808080783602000c010b20004189808080783602000b200241c0026a2480808080000baf0a02077f027e23808080800041b0016b2203248080808000200041306a220410b5878080002105410121064101210702402000280218220841c000490d0041022107200841808001490d00410441052008418080808004491b21070b4100210902402000290320220a42c000544100200041286a290300220b5022081b0d000240200a4280800154410020081b450d00410221060c010b0240200a42808080800454410020081b450d00410421060c010b4111200b79200a7942c0007c200b4200521ba74103766b21060b02400240200520076a20066a41046a22074100480d00024020070d00410121060c020b41002d00b8bfd380001a200741002802b0bfd380001182808080000022060d01410121090b2009200741e894c3800010ae80808000000b2003410036024820032006360244200320073602402004200341c0006a10b6878080002000200341c0006a10af87808000200041a0016a200341c0006a10b88b808000200328024421002003280240210602400240200328024822054180024b0d0002400240024020012d00000e03000102000b200341c0006a41186a200241186a290000370300200341c0006a41106a200241106a290000370300200341c0006a41086a200241086a29000037030020032002290000370340200141016a20002005200341c0006a41002802e0bed380001188808080000021070c030b200341c0006a41186a200241186a290000370300200341c0006a41106a200241106a290000370300200341c0006a41086a200241086a29000037030020032002290000370340200141016a20002005200341c0006a41002802f8bed380001188808080000021070c020b41002107200341206a200020054100280288bfd3800011858080800000200341c0006a200141016a200341206a41002802e8bed380001185808080000020032d00400d01200341e8006a41206a200341c0006a41216a2d00003a000020034180016a200341d9006a290000370300200341f8006a200341d1006a290000370300200341f0006a200341c9006a2900003703002003200329004137036820034190016a200341e8006a41214100280288bfd380001185808080000020034190016a2002412010ed968080004521070c010b2003200020054100280288bfd380001185808080000002400240024020012d00000e03000102000b200341c0006a41186a200241186a290000370300200341c0006a41106a200241106a290000370300200341c0006a41086a200241086a29000037030020032002290000370340200141016a20034120200341c0006a41002802e0bed380001188808080000021070c020b200341c0006a41186a200241186a290000370300200341c0006a41106a200241106a290000370300200341c0006a41086a200241086a29000037030020032002290000370340200141016a20034120200341c0006a41002802f8bed380001188808080000021070c010b41002107200341206a200341204100280288bfd3800011858080800000200341c0006a200141016a200341206a41002802e8bed380001185808080000020032d00400d00200341e8006a41206a200341c0006a41216a2d00003a000020034180016a200341d9006a290000370300200341f8006a200341d1006a290000370300200341f0006a200341c9006a2900003703002003200329004137036820034190016a200341e8006a41214100280288bfd380001185808080000020034190016a2002412010ed968080004521070b02402006450d00200041002802a8bfd38000118080808000000b200341b0016a24808080800020070ba40502037f017e410821010240024002400240024002400240024002402000280200220241ffffffff076a2203410120034108491b0e080102030004050607010b000b41082103024002400240024002400240024002400240024020002d0008417f6a0e0b0009010203040506070708000b200028021441046a21030c080b200028021441046a21030c070b200028021441046a21030c060b200028021441186c41047221030c050b2000280214410c6c41046a21030c040b417f2000280218220041086a22032003200041046a491b21030c030b200028021441046a21030c020b410021030c010b200028021441046a21030b200341016a21000c060b024002402002418080808078460d00417f417f417f417f417f417f20002802082203410c6a22012001200341046a491b220341032000350260420c7e2204a741046a2004422088a71b6a220120012003491b2203200028023c4104746a41046a220120012003491b22034103200028026c2201410474410472200141ffffffff004b1b6a220120012003491b2203200028024841f0006c6a41046a220120012003491b22034101200028025441056a200028024c418080808078461b6a220020002003491b21000c010b200028020c41046a21000b200041016a21000c050b02402000290308220442c0005a0d00410221000c050b02402004428080015a0d00410321000c050b024020044280808080045a0d00410521000c050b410a200479a74103766b21000c040b200041106a10a88880800021000c030b200041086a10b18a80800021000c020b4101200028020c41056a2000280204418080808078461b21000c010b0240024002402000280208417f6a0e050002020102000b4109410520002802101b21010c010b2000280214410a7441047221010b200141016a21000b200041016a0bc00501037f23808080800041106b2202248080808000024002400240024002400240024002400240200028020041ffffffff076a2203410120034108491b0e080102030004050607010b000b200041086a21030240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41003a00002003200110cf8c8080000c060b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41013a00002000200110b2898080000c050b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200041086a2104200128020420036a41023a00002001200341016a2200360208024020012802002000470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41003a00002002200436020c2002410c6a200110d6838080000c040b200041106a21030240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41043a00002003200110a7888080000c030b200041086a21030240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41053a00002003200110b08a8080000c020b200041046a21030240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41073a00002003200110868d8080000c010b200041086a21030240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41083a000020032001109c848080000b200241106a2480808080000bca0101057f23808080800041206b220124808080800041002102200141003602102001428080808010370208200141146a10b78780800041012103200128021821040240200128021c2205450d00200141086a4100200510fc90808000200128020c2103200128021021020b200320026a2004200510e9968080001a2001200220056a36021002402001280214450d00200441002802a8bfd38000118080808000000b20002001290208370200200041086a200141086a41086a280200360200200141206a2480808080000bb70b03017f017e027f23808080800041c0046b2204248080808000200441013a0030200442043703282004420037032020044280808080c0003703182004427f37031020044200370308200441013a00d003200442043703c803200442003703c00320044280808080c0003703b8032004427f3703b003200442003703a80320044188046a200441a8036a200441086a10e095808000200441013a0060200442043703582004420037035020044280808080c0003703482004427f37034020044200370338200441a8036a20044188046a200441386a10e095808000200441013a0090012004420437038801200442003703800120044280808080c0003703782004427f3703702004420037036820044188046a200441a8036a200441e8006a10e095808000200441013a00c001200442043703b801200442003703b00120044280808080c0003703a8012004427f3703a0012004420037039801200441a8036a20044188046a20044198016a10e095808000200441013a00f001200442043703e801200442003703e00120044280808080c0003703d8012004427f3703d001200442003703c80120044188046a200441a8036a200441c8016a10e095808000200441013a00a0022004420437039802200442003703900220044280808080c000370388022004427f37038002200442003703f801200441a8026a20044188046a200441f8016a10e09580800020044188046a2002200310ac87808000024002402004280298042203418080808078460d00200441f8026a411c6a20044188046a411c6a290200370200200441f8026a41246a20044188046a41246a290200370200200441f8026a412c6a20044188046a412c6a280200360200200441d8026a41086a20044188046a41086a2903002205370300200441f8026a41086a20053703002004200429029c0437028c03200420042903880422053703d802200420053703f8022004200336028803200441a8036a41286a200441a8026a41286a290300370300200441a8036a41206a200441a8026a41206a290300370300200441a8036a41186a200441a8026a41186a290300370300200441a8036a41106a200441a8026a41106a290300370300200441a8036a41086a200441a8026a41086a290300370300200420042903a8023703a80320044188046a200441a8036a200441f8026a10e095808000200441013a008004200442043703f803200442003703f00320044280808080c0003703e8032004427f3703e003200442003703d803200020044188046a200441d8036a10e0958080000c010b200420042f01880422033b01d802200420042d008a0422023a00da02200041026a20023a0000200020033b0100200041808080807836021020042802bc022106024020042802c0022200450d002000410171210741002103024020004101460d002000417e7121022006210041002103034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002002200341026a2203470d000b0b2007450d0020062003410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b024020042802b802450d00200641002802a8bfd38000118080808000000b20042802c8022106024020042802cc022200450d002000410171210741002103024020004101460d002000417e7121022006210041002103034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002002200341026a2203470d000b0b2007450d0020062003410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b20042802c402450d00200641002802a8bfd38000118080808000000b200441c0046a2480808080000bcc04010b7f23808080800041c0006b2203248080808000200341086a2001200210ac878080000240024020032802182204418080808078460d00200328023821052003280228210620032802242107200328021c2108200328022c210902402003280220220a450d00200a410171210b4100210c0240200a4101460d00200a417e71210d2008210a4100210c03400240200a280200450d00200a41046a28020041002802a8bfd38000118080808000000b0240200a410c6a280200450d00200a41106a28020041002802a8bfd38000118080808000000b200a41186a210a200d200c41026a220c470d000b0b200b450d002008200c410c6c6a220a280200450d00200a28020441002802a8bfd38000118080808000000b02402004450d00200841002802a8bfd38000118080808000000b02402009450d00200941017121044100210c024020094101460d002009417e71210d2006210a4100210c03400240200a280200450d00200a41046a28020041002802a8bfd38000118080808000000b0240200a410c6a280200450d00200a41106a28020041002802a8bfd38000118080808000000b200a41186a210a200d200c41026a220c470d000b0b2004450d002006200c410c6c6a220a280200450d00200a28020441002802a8bfd38000118080808000000b02402007450d00200641002802a8bfd38000118080808000000b4106210a20012002200510ab87808000210c0c010b20032f010820032d000a41107472220c410876210a0b200341c0006a2480808080004100200a410874200c41ff0171220a4102461b200a720b2b00200042923842c7d30020012903005022011b370308200042e0a3eaee0042b0a1f0ee0020011b3703000bed0704017f027e027f0a7e23808080800041b0016b220724808080800020022903302108200229032821090240024002400240024020022d00000d0020012802182101200741c8006a200241196a290000370300200741c0006a200241116a290000370300200741386a200241096a290000370300200720022900013703302007200741306a10ff87808000200741d0006a2007280204220a200728020810968480800020072802a001410020072802504101711b210b02402007280200450d00200a41002802a8bfd38000118080808000000b200b2001490d012007200141016a36022c200741306a2007412c6a109088808000410221014100210b4200210c0c020b2002290308220d421888210e200d420888a721012002290310210f200da7210b4201210c0c010b200041023b0001200041003a00000c010b024020052006200228023810ab87808000220641ff01714102470d00200241d8006a2903002110200229035021110240024002402002280240410171450d004200210d4202211242891c211341f8fd93012102420221140c010b200241e8006a290300211220022903602114200741306a41186a220620024188016a290000370300200741306a41106a220520024180016a290000370300200741386a220a200241f8006a290000370300200720022900703703304200210d02400240201420128450450d0042002113420021120c010b200741d0006a200741306a2014201241004102410010fe8780800020072802500d02200741d0006a41186a29030021132007290360211520074188016a200741306a41186a29030037030020074180016a200741c0006a290300370300200741083a0050200741f8006a200741306a41086a29030037030020072013370368200720153703602007200729033037037041014100200741d0006a10a98c808000420121120b200741186a2006290300370300200741106a2005290300370300200720072903303703002007200a290300370308201542188821142015a721020b200020143e0043200020113703502000201337034820002007290300370360200041c7006a20144220883c000020002010370358200041e8006a2007290308370300200041f0006a200741106a290300370300200041f8006a200741186a2903003703002000410f6a200e4220883c00002000200e3e000b200041c2006a20024110763a0000200020023b01402000200f370310200020013b00092000200b3a000820002008370320200020093703182000200c3703000c030b200041026a41003a000020004180023b01000c010b200041063b0001200020063a00000b4200210d420321120b200020123703302000200d370338200741b0016a2480808080000b860505037f037e017f017e037f23808080800041b0016b2202248080808000200241a4016a410010898880800020024183016a20022802a801220320022802ac011090848080000240024020022d0083010d00200241d8006a4200370300200241d0006a4200370300200241c8006a4200370300200242003703400c010b200241d8006a2002419c016a290000370300200241d0006a20024194016a290000370300200241c8006a2002418c016a29000037030020022002290084013703400b024020022802a401450d00200341002802a8bfd38000118080808000000b20024183016a200110b2848080004101210320024183016a41016a21010240024020022d0083014101470d00200220012f000022043b01602002200141026a2d000022013a0062200041036a20013a0000200020043b00010c010b200241e0006a41186a200141186a2900002205370300200241e0006a41106a200141106a2900002206370300200241e0006a41086a200141086a2900002207370300200241086a2203200241c0006a41086a290300370300200241106a2204200241c0006a41106a290300370300200241186a2208200241c0006a41186a29030037030020022001290000220937036020022002290340370300200241386a22012005370300200241306a220a2006370300200241286a220b2007370300200241206a220c2009370300200020022903003702042000410c6a2003290300370200200041146a20042903003702002000411c6a2008290300370200200041246a200c2903003702002000412c6a200b290300370200200041346a200a2903003702002000413c6a200129030037020020004102360244410021030b200020033a0000200241b0016a2480808080000be915010b7f23808080800041106b22012480808080002001410036020c20014280808080800137020441002d00b8bfd380001a02400240024002400240024002400240413841002802b0bfd38000118280808000002202450d002002410d360204200241b386c38000360200200241306a220341e780808000360200200241286a220442d9d1a5958acddccda77f370300200241206a220542bb82a2f99fad8c91c100370300200241186a220641f481808000360200200241106a22074286b0debed0a5cda96a370300200241086a2208428dfcddabd884c8cc26370300200141046a410041014108413810948a80800020012802082209200128020c220a41386c6a220b2002290300370300200b41086a2008290300370300200b41106a2007290300370300200b41186a2006290300370300200b41206a2005290300370300200b41286a2004290300370300200b41306a20032903003703002001200a41016a220336020c200241002802a8bfd380001180808080000041002d00b8bfd380001a413841002802b0bfd38000118280808000002202450d01200241e780808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c100370320200241f3818080003602182002428de6f1e7b1cceff28b7f370310200242c68a83df9f9db5f5f200370308200241123602042002418fb8c18000360200024020012802042003470d00200141046a200341014108413810948a80800020012802082109200128020c21030b2009200341386c6a220b2002290300370300200b41306a200241306a290300370300200b41286a200241286a290300370300200b41206a200241206a290300370300200b41186a200241186a290300370300200b41106a200241106a290300370300200b41086a200241086a2903003703002001200341016a220336020c200241002802a8bfd380001180808080000041002d00b8bfd380001a413841002802b0bfd38000118280808000002202450d02200241b380808000360230200242d7c9cb8fc1cf97db3e370328200242e88488d0c0e3aebc13370320200241f281808000360218200242b1fdcbfbbbc7c1881f370310200242d0b4e0ab80ecdaf84f37030820024110360204200241c5b8c18000360200024020012802042003470d00200141046a200341014108413810948a80800020012802082109200128020c21030b2009200341386c6a220b2002290300370300200b41306a200241306a290300370300200b41286a200241286a290300370300200b41206a200241206a290300370300200b41186a200241186a290300370300200b41106a200241106a290300370300200b41086a200241086a2903003703002001200341016a220336020c200241002802a8bfd380001180808080000041002d00b8bfd380001a413841002802b0bfd38000118280808000002202450d03200241b48080800036023020024282a1a9c9eea2b5c92f3703282002428ae6f3f7c78ea4cfd100370320200241f181808000360218200242e0d5919ba5a692cded00370310200242f2fcccbcccfa9cc7eb003703082002410c360204200241a1b8c18000360200024020012802042003470d00200141046a200341014108413810948a80800020012802082109200128020c21030b2009200341386c6a220b2002290300370300200b41306a200241306a290300370300200b41286a200241286a290300370300200b41206a200241206a290300370300200b41186a200241186a290300370300200b41106a200241106a290300370300200b41086a200241086a2903003703002001200341016a220336020c200241002802a8bfd380001180808080000041002d00b8bfd380001a413841002802b0bfd38000118280808000002202450d04200241b48080800036023020024282a1a9c9eea2b5c92f3703282002428ae6f3f7c78ea4cfd100370320200241f081808000360218200242b8c48594f89496a9f1003703102002429dea8097f89db3deaa7f3703082002410e360204200241adb8c18000360200024020012802042003470d00200141046a200341014108413810948a80800020012802082109200128020c21030b2009200341386c6a220b2002290300370300200b41306a200241306a290300370300200b41286a200241286a290300370300200b41206a200241206a290300370300200b41186a200241186a290300370300200b41106a200241106a290300370300200b41086a200241086a2903003703002001200341016a220336020c200241002802a8bfd380001180808080000041002d00b8bfd380001a413841002802b0bfd38000118280808000002202450d05200241e780808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c100370320200241ef81808000360218200242fea2a696bac592e055370310200242edd296fec89a92cbf0003703082002410a360204200241bbb8c18000360200024020012802042003470d00200141046a200341014108413810948a80800020012802082109200128020c21030b2009200341386c6a220b2002290300370300200b41306a200241306a290300370300200b41286a200241286a290300370300200b41206a200241206a290300370300200b41186a200241186a290300370300200b41106a200241106a290300370300200b41086a200241086a2903003703002001200341016a220336020c200241002802a8bfd380001180808080000041002d00b8bfd380001a413841002802b0bfd38000118280808000002202450d06200241e780808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c100370320200241ee8180800036021820024282eaeff8bd8deab96a3703102002428cb4eaf6d2e4e99c613703082002410b360204200241a886c38000360200024020012802042003470d00200141046a200341014108413810948a80800020012802082109200128020c21030b2009200341386c6a220b2002290300370300200b41306a200241306a290300370300200b41286a200241286a290300370300200b41206a200241206a290300370300200b41186a200241186a290300370300200b41106a200241106a290300370300200b41086a200241086a2903003703002001200341016a220b36020c200241002802a8bfd380001180808080000041002d00b8bfd380001a413841002802b0bfd38000118280808000002202450d07200241e780808000360230200242d9d1a5958acddccda77f370328200242bb82a2f99fad8c91c100370320200241ed8180800036021820024284c1c5dc9bbfbce2d5003703102002429ec692bf91df96dcea0037030820024118360204200241f3adc5800036020002402001280204200b470d00200141046a200b41014108413810948a80800020012802082109200128020c210b0b2009200b41386c6a22092002290300370300200941306a200241306a290300370300200941286a200241286a290300370300200941206a200241206a290300370300200941186a200241186a290300370300200941106a200241106a290300370300200941086a200241086a290300370300200141046a41086a2209200b41016a360200200241002802a8bfd3800011808080800000200041086a200928020036020020002001290204370200200141106a2480808080000f0b4108413810b980808000000b4108413810b980808000000b4108413810b980808000000b4108413810b980808000000b4108413810b980808000000b4108413810b980808000000b4108413810b980808000000b4108413810b980808000000bf52c06057f017e047f017e047f017e23808080800041800a6b2209248080808000200941e0056a41206a220a200241206a290200370300200941e0056a41186a220b200241186a290200370300200941e0056a41106a220c200241106a290200370300200941e0056a41086a220d200241086a290200370300200941013a00d805200942043703d005200942003703c80520094280808080c0003703c005427f210e2009427f3703b805200942003703b005200920022902003703e005200941013a00d803200942043703d003200942003703c80320094280808080c0003703c0032009427f3703b803200942003703b003200941106a200941b0036a200941b0056a10e0958080000240024020092d00e4054101470d00200941e0056a410572109b83808000450d0020092802e00522022002280200417f6a2202360200024020020d00200941e0056a10cd8b8080000b200042003703482000420237034041002102200041003a000220004180143b010020092802242105024020092802282200450d0020004101712104024020004101460d002000417e7121012005210041002102034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002001200241026a2202470d000b0b2004450d0020052002410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b02402009280220450d00200541002802a8bfd38000118080808000000b20092802302105024020092802342200450d002000410171210441002102024020004101460d002000417e7121012005210041002102034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002001200241026a2202470d000b0b2004450d0020052002410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b200928022c450d01200541002802a8bfd38000118080808000000c010b200941b0036a410f6a220f200d290300370000200941b0036a41176a2210200c290300370000200941b0036a411f6a2211200b290300370000200941b0036a41276a2212200a2903002213370000200941b0026a41276a22022013370000200920092903e0053700b703200941b0026a41086a200941b0036a41086a220a290000370300200941b0026a41106a200941b0036a41106a220b290000370300200941b0026a41186a200941b0036a41186a220c290000370300200941b0026a41206a200941b0036a41206a220d290000370300200920092900b0033703b002200941013a00b006200942043703a806200942003703a00620094280808080c000370398062009427f37039006200942003703880620094188066a412c6a20092800b302360000200920092802b0023600b106200941b8066a41206a2002290000370300200941b8066a41186a200941b0026a411f6a2214290000370300200941b8066a41106a200941b0026a41176a2215290000370300200941b8066a41086a200941b0026a410f6a2216290000370300200920092900b7023703b806200941b0036a41286a2217200941106a41286a290300370300200d200941106a41206a290300370300200c200941106a41186a290300370300200b200941106a41106a290300370300200a200941106a41086a290300370300200920092903103703b003200941b0026a200941b0036a20094188066a10e095808000200941013a0088072009420437038007200942003703f80620094280808080c0003703f0062009427f3703e806200942003703e006200941b0036a200941b0026a200941e0066a10e095808000200941013a00b807200942043703b007200942003703a80720094280808080c0003703a0072009427f370398072009420037039007200941c0006a200941b0036a20094190076a10e095808000200942d3d8c5d2a9b9d2c1ac7f3700c80320094282ca868eabf3add0cf003700c003200942fc90b9e5d09296e7773700b803200942a6d4e6f1a4dd9598603700b003200941086a200941b0036a4120108a84808000200935020c420020092802084101711b21130240024020012802004101470d002001290308220e4200510d0120012903102218200e7c4200201320187d221820182013561b2218200e827d20187c210e0b200f200941b8066a41086a2903003700002010200941b8066a41106a2903003700002011200941b8066a41186a2903003700002012200941b8066a41206a290300221837000020022018370000200920092903b8063700b703200941b0026a41086a220f200941b0036a41086a220a290000370300200941b0026a41106a2210200941b0036a41106a220b290000370300200941b0026a41186a2211200941b0036a41186a220c290000370300200941b0026a41206a200941b0036a41206a220d290000370300200920092900b0033703b002200941013a00e807200942043703e007200942003703d80720094280808080c0003703d00720094200200e20137d22132013200e561b3703c807200942003703c007200941c0076a412c6a20092800b302360000200920092802b0023600e907200941f0076a41206a2002290000370300200941f0076a41186a2014290000370300200941f0076a41106a2015290000370300200941f0076a41086a2016290000370300200920092900b7023703f0072017200941c0006a41286a290300370300200d200941c0006a41206a290300370300200c200941c0006a41186a290300370300200b200941c0006a41106a290300370300200a200941c0006a41086a290300370300200920092903403703b003200941f0006a200941b0036a200941c0076a10e0958080002009200141206a22123602a40120092001411c6a3602a0012009410136029002200941013602880220092007360280022009200941ff096a36028c022009200941a0016a36028402200941b0036a200141186a200941f0076a20032004200520094180026a200810b184808000024020092802c0032202418080808078460d00200941a8016a41086a2201200a290300370300200920092903b0033703a801200941b0026a200941c4036a41c40010e9968080001a200941c8086a41206a200941a8046a290300370300200941c8086a41186a200941a0046a290300370300200941c8086a41106a20094198046a290300370300200941c8086a41086a20094190046a29030037030020094198086a41086a200129030037030020094198086a411c6a200f29020037020020094198086a41246a201029020037020020094198086a412c6a201128020036020020092009290388043703c808200920023602a808200920092903a80137039808200920092902b0023702ac08200941d8016a41206a200941ec026a290200370300200941d8016a41186a200941e4026a290200370300200941d8016a41106a200941b0026a412c6a290200370300200941d8016a41086a200941b0026a41246a290200370300200920092902cc023703d801200941b0036a41286a2202200941f0006a41286a290300370300200d200941f0006a41206a290300370300200c200941f0006a41186a290300370300200b200941f0006a41106a290300370300200a200941f0006a41086a290300370300200920092903703703b003200941a8016a200941b0036a20094198086a10e095808000200941b0036a2004200510ac87808000024020092802c0032201418080808078470d00200920092f01b0033b018002200920092d00b2033a00820220092802c80822022002280200417f6a2202360200024020020d00200941c8086a10cd8b8080000b200920092d00820222023a008205200920092f01800222013b0180052000420037034820004202370340200041026a20023a0000200020013b010020092802bc012105024020092802c0012200450d002000410171210441002102024020004101460d002000417e7121012005210041002102034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002001200241026a2202470d000b0b2004450d0020052002410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b024020092802b801450d00200541002802a8bfd38000118080808000000b20092802c8012105024020092802cc012200450d002000410171210441002102024020004101460d002000417e7121012005210041002102034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002001200241026a2202470d000b0b2004450d0020052002410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b20092802c401450d03200541002802a8bfd38000118080808000000c030b200941f0086a411c6a200941b0036a411c6a290200370200200941f0086a41246a200941b0036a41246a290200370200200941f0086a412c6a200941b0036a412c6a28020036020020094180026a41086a220a200941b0036a41086a220b290300370300200941a0096a41206a200941c8086a41206a290300370300200941a0096a41186a200941c8086a41186a290300370300200941a0096a41106a200941c8086a41106a290300370300200941a0096a41086a200941c8086a41086a290300370300200920092902c40337028409200920092903b00337038002200920092903c8083703a00920092802e003210d20094180056a41086a220c200a290300370300200920092903800237038005200941f0086a41086a200c29030037030020092009290380053703f00820092001360280092002200941a8016a41286a290300370300200941b0036a41206a2202200941a8016a41206a290300370300200941b0036a41186a2201200941a8016a41186a290300370300200941b0036a41106a220c200941a8016a41106a290300370300200b200941a8016a41086a290300370300200920092903a8013703b00320094180026a200941b0036a200941f0086a10e095808000200941013602fc04200941013602f404200920073602ec042009200941ff096a3602f8042009200941ff096a3602f004200941b0036a2012200941a0096a200320042005200941ec046a200810e78c808000200920092f01c0033b01a0032009200941c2036a2d00003a00a203024020092903b003220e42028520092903b803221384500d00200941b0026a200941c3036a41ed0010e9968080001a20094180056a41206a2205200941d0046a29030037030020094180056a41186a2204200941c8046a29030037030020094180056a41106a2208200941b0036a4190016a290300370300200941c8096a41086a200941f5026a290000370300200941c8096a41106a200941fd026a290000370300200941c8096a41186a20094185036a290000370300200941c8096a41206a2009418d036a290000370300200941c8096a41286a20094195036a2900003703002009200941b0036a4188016a29030037038805200920092903b00437038005200920092900ed023703c809200020092f01a0033b0150200041d2006a20092d00a2033a0000200020092900b002370053200041db006a200941b0026a41086a290000370000200041e3006a200941b0026a41106a290000370000200041eb006a200941b0026a41186a290000370000200041f3006a200941b0026a41206a290000370000200041fb006a200941b0026a41286a29000037000020004183016a200941b0026a41306a29000037000020004188016a200941e5026a290000370000200941b0036a41286a20094180026a41286a290300370300200220094180026a41206a290300370300200120094180026a41186a290300370300200c20094180026a41106a290300370300200b200a29030037030020092009290380023703b00320004190016a200941b0036a200941c8096a10e095808000200020133703482000200e370340200041206a200941d8016a41206a290300370300200041186a200941d8016a41186a290300370300200041106a200941d8016a41106a290300370300200041086a200941d8016a41086a290300370300200020092903d80137030020004200370328200041306a42003703002000200d36023820002009290380053703c001200041c8016a200929038805370300200041d0016a2008290300370300200041d8016a2004290300370300200041e0016a20052903003703000c030b2000420037034820004202370340200020092f01a0033b0100200041026a20092d00a2033a0000200928029402210502402009280298022200450d002000410171210441002102024020004101460d002000417e7121012005210041002102034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002001200241026a2202470d000b0b2004450d0020052002410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b0240200928029002450d00200541002802a8bfd38000118080808000000b20092802a0022105024020092802a4022200450d002000410171210441002102024020004101460d002000417e7121012005210041002102034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002001200241026a2202470d000b0b2004450d0020052002410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b200928029c02450d02200541002802a8bfd38000118080808000000c020b200920092d00b20322023a00aa01200920092f01b00322013b01a8012000420037034820004202370340200041026a20023a0000200020013b0100200928028401210502402009280288012200450d002000410171210441002102024020004101460d002000417e7121012005210041002102034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002001200241026a2202470d000b0b2004450d0020052002410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b0240200928028001450d00200541002802a8bfd38000118080808000000b200928029001210502402009280294012200450d002000410171210441002102024020004101460d002000417e7121012005210041002102034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002001200241026a2202470d000b0b2004450d0020052002410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b200928028c01450d01200541002802a8bfd38000118080808000000c010b41acc7cc8000108881808000000b200941800a6a2480808080000b1e00200128021c4198cac38000411b200128022028020c118180808000000b1e00200128021c41a0c2c38000410f200128022028020c118180808000000b040041010b040041010ba90c01087f23808080800041306b220124808080800002400240024002400240024002400240024002402000280200220241ffffffff076a2203410120034108491b0e080102090903040500010b20002802084104470d08200028020c450d080c060b0240024002400240024002400240024020002d0008417f6a0e0a010f0203040506070f0f000b200028020c0d0c0c0e0b200028020c0d0b0c0d0b200028020c0d0a0c0c0b200028020c0d090c0b0b2000410c6a10d88b808000200028020c0d080c0a0b20002802102103024020002802142202450d002002410171210441002105024020024101460d002002417e7121062003210241002105034002402002280200450d00200241046a28020041002802a8bfd38000118080808000000b02402002410c6a280200450d00200241106a28020041002802a8bfd38000118080808000000b200241186a21022006200541026a2205470d000b0b2004450d0020032005410c6c6a2202280200450d00200228020441002802a8bfd38000118080808000000b200028020c0d080c090b2000280210450d08200028021421030c070b200028020c0d050c070b02402002418080808078470d0020002802042103410421020c040b02402002450d00200028020441002802a8bfd38000118080808000000b200041d8006a10d98a808000200028023821060240200028023c2203450d002003410171210441002102024020034101460d002003417e7121052006210341002102034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b0240200341106a280200450d00200341146a28020041002802a8bfd38000118080808000000b200341206a21032005200241026a2202470d000b0b2004450d00200620024104746a2203280200450d00200328020441002802a8bfd38000118080808000000b02402000280234450d00200641002802a8bfd38000118080808000000b02400240200028026422030d0041002103410021020c010b2001200336022420014100360220200120033602142001410036021020012000280268220336022820012003360218200028026c2102410121030b2001200236022c2001200336021c2001200336020c2001410c6a10fd8980800020002802442107024020002802482208450d0041002104034002402007200441f0006c6a22062802082202450d00200628020421030340024020032d0000220541034b0d002003200541027441e0cac380006a2802006a2205280200450d00200541046a28020041002802a8bfd38000118080808000000b200341146a21032002417f6a22020d000b0b02402006280200450d00200628020441002802a8bfd38000118080808000000b200441016a22042008470d000b0b02402000280240450d00200741002802a8bfd38000118080808000000b41cc002102200028024c2203418080808078470d030c060b024002400240024002400240024020002d0010417f6a0e07000102030405060c0b20002d00144102470d0b2000280218450d0b200028021c21030c0a0b024020002d00144102470d002000280218450d00200028021c41002802a8bfd38000118080808000000b20002d00384102470d0a200028023c450d0a200028024021030c090b20002d00144102470d092000280218450d09200028021c21030c080b20002d00144102470d082000280218450d08200028021c21030c070b20002d00144102470d072000280218450d07200028021c21030c060b2000280214450d06200028021821030c050b20002d00144102470d052000280218450d05200028021c21030c040b024002400240024020002d00082203417c6a41042003417b6a41ff01714105491b417f6a0e0400010203080b200028020c220310c3878080000c060b2000280220220310c3878080000c050b20002d000c4102470d052000280210450d05200028021421030c040b024020034102470d00200028020c450d00200028021041002802a8bfd38000118080808000000b200028022c220310c3878080000c030b200028020441808080807872418080808078460d03200028020821030c020b2003450d02200020026a28020421030c010b200028021021030b200341002802a8bfd38000118080808000000b200141306a2480808080000b1e00200128021c41e0bac380004105200128022028020c118180808000000b5d00024020002d00000d00200041dac6c380004104200110f98a8080000f0b41002d00b8bfd380001a0240411441002802b0bfd380001182808080000022000d004104411410b980808000000b2000420037020c2000410d36020020000b5d00024020002d00000d00200041adc9c38000410a200110f38a8080000f0b41002d00b8bfd380001a0240411441002802b0bfd380001182808080000022000d004104411410b980808000000b2000420037020c2000410d36020020000b5d00024020002d00000d00200041b7c9c380004107200110fd8a8080000f0b41002d00b8bfd380001a0240411441002802b0bfd380001182808080000022000d004104411410b980808000000b2000420037020c2000410d36020020000b5d00024020002d00000d00200041f8c1c380004104200110f88a8080000f0b41002d00b8bfd380001a0240411441002802b0bfd380001182808080000022000d004104411410b980808000000b2000420037020c2000410d36020020000b5d00024020002d00000d002000419bc9c380004112200110f48a8080000f0b41002d00b8bfd380001a0240411441002802b0bfd380001182808080000022000d004104411410b980808000000b2000420037020c2000410d36020020000b5d00024020002d00000d00200041bec9c380004107200110f38a8080000f0b41002d00b8bfd380001a0240411441002802b0bfd380001182808080000022000d004104411410b980808000000b2000420037020c2000410d36020020000b960501057f23808080800041a0066b2201248080808000200141b8036a41086a22024200370300200141d8026a41086a22034200370300200141c8026a41086a22044200370300200141b0026a41086a22054200370300200141b0026a41106a4100360200200141106a200141c8036a41086a290300370300200142003703b803200142003703d802200142003703c802200142003703b00220014200370300200120012903c80337030820014201370330200141c0006a2002290300370300200120012903b8033703382001420037035820014200370350200142c8b0c933370348200141e8006a200141f8026a41086a290300370300200120012903f802370360200142003703b001200142003703a801200142c8b0c9333703a001200141c0016a200141e8026a41086a290300370300200120012903e8023703b801200142003703c801200141d8016a2003290300370300200120012903d8023703d001200142003703e001200141f0016a2004290300370300200120012903c8023703e8012001420037039002200142b0d0e7cd01370388022001420037038002200142c8b0c9333703f801200141a0026a2005290300370300200120012903b002370398022001428180808080a0f8fa053703a8022001428080a001370398012001428088a5a9a307370390012001420137038801200142808080053703800120014280a094a58d1d370378200142013703702001428080e0033703282001428098effbe91537032020014201370318200141f0036a200110cf90808000024020012903f0034202520d00200120012d00f8033a009f0641c4d5c8800041e0002001419f066a41f0d4c8800041a4d6c8800010a481808000000b2000200141f0036a41a80210e9968080001a200141a0066a2480808080000bff39010f7f23808080800041e0066b220124808080800041002d00b8bfd380001a0240024002400240024002400240024002400240024041801541002802b0bfd38000118280808000002202450d00200141c8006a10c38c808000200141386a10c48c8080002001412c6a10c58c80800020014198016a10ab8980800020014188016a10ac89808000200141d8016a10e08c808000200141c8016a10e18c80800041002d00b8bfd380001a413041002802b0bfd38000118280808000002203450d0141002d00b8bfd380001a410841002802b0bfd38000118280808000002204450d0220044126360204200441c5dbc58000360200200341013602282003200436022420034101360220200341e980808000360218200342a5e9e3ab9e929adc2c37031020034293888c8f89fdc6ec9e7f37030820034106360204200341ebdbc58000360200200141003602980620014280808080800137029006200141c8066a410441004101410110839180800020012802cc06210520012802c8064101460d0320012802d006220641e40036000020014190066a41ac99c4800010a58a80800020012802940622044100360200200141a0036a41086a4101360200200441013a00742004420437026c20044204370264200420063602602004200536025c2004420b370244200441b29fc48000360240200441bb8080800036021820044289d0e6adc0e7a38d463702102004428bfa8ea7fac390de2537020820012001290290063703a003200141b0046a109a88808000200141a0046a109e8880800020014194046a10a088808000200141003602e8052001428080808080013702e005200141003602c80641002d00b8bfd380001a410841002802b0bfd38000118280808000002204450d0420044121360204200441b0f8c48000360200200141013602980620012004360294062001410136029006200141c8066a20014190066a200141e0056a10a189808000200141e0046a41086a200141e0056a41086a280200360200200120012902e0053703e00441002d00b8bfd380001a413041002802b0bfd38000118280808000002204450d0541002d00b8bfd380001a410841002802b0bfd38000118280808000002205450d0620054112360204200541d1f8c48000360200200441013602282004200536022420044101360220200441f781808000360218200442e1a2a48bf08199db02370310200442e982dbf0d981db979b7f3703082004410b360204200441e3f8c4800036020020014188056a10cb8a808000200141f8046a10cc8a808000200141e0056a10978480800020014190066a10a48a80800020014180066a10a68a80800041002d00b8bfd380001a413041002802b0bfd38000118280808000002205450d0741002d00b8bfd380001a410841002802b0bfd38000118280808000002206450d0820064126360204200641ebf7c48000360200200541013602282005200636022420054101360220200541f8818080003602182005429ab680e2dfdc8482c500370310200542bffffebae1aeaabcb77f3703082005410b36020420054191f8c48000360200200141c8066a10b78880800041002d00b8bfd380001a411041002802b0bfd38000118280808000002206450d092006412336020c200641eca6c48000360208200641e0003602042006418ca6c480003602002002410636027c200241d4c6c3800036027820024100360270200241003602682002418d81808000360260200242c8e0d7d2b9f0b8856a370358200242b8cce49f84d9c9da847f3703502002410036024820024100360240200241a581808000360238200242ec8bfafa8192a6808f7f3703302002428fd3ebfded80fadcc70037032820024100360220200241003602182002418b81808000360210200242f9c8e99d91fa808f1f37030820024298d8a7b2caadf5de123703002002410036029c012002428080808080013702940120024280808080c0003703b801200242003703c001200220012903483703800120024188016a200141c8006a41086a29030037030020024190016a200141c8006a41106a280200360200200220012903383703a001200241a8016a200141386a41086a2802003602002002200129022c3702ac01200241b4016a2001412c6a41086a280200360200200241003a00d8012002410f3602dc02200241c5c6c380003602d802200241003602d002200241003602c802200241a9818080003602c00220024283e1cffc8f8991e7093703b802200242a8d0d793afb8c3ab997f3703b002200241003602a802200241003602a002200241a88180800036029802200242e79cf5cf94e0d9e9c40037039002200242b2e4bed691f0d68214370388022002410036028002200241003602f80120024181818080003602f001200242f09accaef398c8da233703e801200242bbb29bdbe58c978c523703e001200241d0016a2001411c6a41086a2902003702002002200129021c3702c801200220012800153600d901200241dc016a200141156a41036a280000360000200241003602fc022002428080808080013702f402200241003602a40320024280808080800137028c0320024200370294032002420437029c03200241f0026a20014198016a41106a280200360200200241e8026a20014198016a41086a29030037030020022001290398013703e00220022001290388013703800320024188036a20014188016a41086a280200360200200220012903783703a803200241b0036a200141f8006a41086a290300370300200241013a00b803200241003602e003200241003602d803200241ad818080003602d003200242bf8988bda2e6f5939a7f3703c803200242c982be88d19fa5cbf1003703c003200241003602f803200220012800713600b903200241bc036a200141f1006a41036a280000360000200220012903a8023703e803200241f0036a200141a8026a41086a2903003703002002418c046a20014194026a41106a28020036020020024184046a20014194026a41086a29020037020020022001290294023702fc0320024198046a20014180026a41086a290300370300200220012903800237039004200241003602a004200241b4046a200141ec016a41106a280200360200200241ac046a200141ec016a41086a290200370200200220012902ec013702a404200241093602bc04200241bcc6c380003602b804200241d0046a200141d8016a41106a280200360200200241c8046a200141d8016a41086a290300370300200220012903d8013703c004200241003602dc042002428080808080013702d404200241e8046a200141c8016a41086a280200360200200220012903c8013703e0042002410036028405200242043702fc04200242013702f404200220033602f004200241013602ec0420024190056a200141b8016a41086a290300370300200220012903b80137038805200241023a0098052002419c056a200141b1016a41036a280000360000200220012800b10136009905200241003602c005200241003602b805200241a4818080003602b005200242b0b0cbe1be89ba894a3703a805200242a285b8d09edad8baee003703a005200241d0056a200141e8036a41086a290300370300200220012903e8033703c805200241003602d805200241ec056a200141d4036a41106a280200360200200241e4056a200141d4036a41086a290200370200200220012902d4033702dc05200241f8056a200141c0036a41086a290300370300200220012903c0033703f005200241003602800620024194066a200141ac036a41106a2802003602002002418c066a200141ac036a41086a290200370200200220012902ac03370284062002410d36029c06200241afc6c3800036029806200241a8066a200141a0036a41086a280200360200200220012903a0033703a006200242003703e00620024280808080c0003703d806200242083703d006200242003703c8062002428080808080013703c006200242083703b8062002420d3703b006200241afc6c380003602ac06200241f0066a20014190036a41086a29030037030020022001290390033703e806200241033a00f806200241fc066a20014189036a41036a28000036000020022001280089033600f906200241083602fc07200241a7c6c380003602f807200241003602f007200241003602e80720024199818080003602e007200242baa4e4e197bfbfc46e3703d807200242d3919c93b889f0efe8003703d007200241003602c807200241003602c0072002419c818080003602b8072002428c87f6cabb9498c64a3703b007200242b0df8adbf6d8aab6d7003703a807200241003602a0072002410036029807200241928180800036029007200242c8fa87c7a1bcb5ae3437038807200242b180d7cde8bdaea6c700370380072002410036029c082002428080808080013702940820024280808080c0003703b808200242003703c00820024190086a200141b0046a41106a28020036020020024188086a200141b0046a41086a290300370300200220012903b00437038008200220012903a0043703a008200241a8086a200141a0046a41086a28020036020020022001290294043702ac08200241b4086a20014194046a41086a280200360200200241043a00d808200241043602dc09200241a3c6c380003602d809200241003602d009200241003602c809200241a3818080003602c009200242c190b696becaf9c7293703b809200242c5f6f6aafae388d49a7f3703b009200241003602a809200241003602a009200241a08180800036029809200242e4c5a3d2899fbccd9c7f37039009200242c683ecdad7b7cee11c370388092002410036028009200241003602f80820024191818080003602f008200242edc496abb3a887f8c5003703e808200242f9fb9c9199c8c3f3917f3703e008200241d0086a20014180046a41086a29030037030020022001290380043703c808200220012800f9033600d908200241dc086a200141f9036a41036a280000360000200241a3c6c380003602ec09200220043602900a200241003602a40a200242043703f009200242083703f8092002428080808080013703800a20024280808080103703880a200242013702940a2002420437029c0a200241053a00b80a200241e8096a200141e0046a41086a280200360200200220012903e0043703e009200220012903d0043703a80a200241b00a6a200141d0046a41086a290300370300200241003602d00a200241003602880b200241003602800b2002419a818080003602f80a200242e1939da2d58a94b26a3703f00a2002428adbc7a0d0abe0c0917f3703e80a200241bc0a6a200141c9046a41036a280000360000200220012800c9043600b90a200241c80a6a200141b0056a41086a2207290300370300200220012903b0053703c00a200241e40a6a2001419c056a41106a2208280200360200200241dc0a6a2001419c056a41086a22092902003702002002200129029c053702d40a200241980b6a200141f8026a41086a2203290300370300200220012903f8023703900b200241003602a00b200241b40b6a200141e4026a41106a220a280200360200200241ac0b6a200141e4026a41086a220b290200370200200220012902e4023702a40b200241123602bc0b20024191c6c380003602b80b200241d00b6a20014188056a41106a280200360200200241c80b6a20014188056a41086a29030037030020022001290388053703c00b200241003602dc0b2002428080808080013702d40b200241e80b6a200141f8046a41086a280200360200200220012903f8043703e00b200241003602840c200242043702fc0b200242003702f40b2002428080808080013702ec0b200241900c6a200141e0006a41086a2204290300370300200220012903603703880c200241063a00980c2002419c0c6a200141f1046a41036a280000360000200220012800f1043600990c200241003602c00c200241003602b80c200241ab818080003602b00c200242a18d9193ea8fddc6be7f3703a80c2002428b9dd0b9a6aeaf8b0c3703a00c200241d00c6a200141d0026a41086a220c290300370300200220012903d0023703c80c200241003602d80c200241ec0c6a200141bc026a41106a220d280200360200200241e40c6a200141bc026a41086a220e290200370200200220012902bc023702dc0c200241f80c6a2003290300370300200220012903f8023703f00c200241003602800d200241940d6a200a2802003602002002418c0d6a200b290200370200200220012902e4023702840d2002428a80808080808080807f37029c0d20024187c6c380003602980d200241ac0d6a200141c8056a41086a220f290200370200200220012902c8053702a40d200241003602e40d200242043702dc0d200242003702d40d2002428080808080013702cc0d200242083702c40d200242003702bc0d2002428080808080013702b40d200241f00d6a2004290300370300200220012903603703e80d200241073a00f80d200241fc0d6a200141c1056a41036a280000360000200220012800c1053600f90d200241073602fc0e20024180c6c380003602f80e200241003602f00e200241003602e80e20024198818080003602e00e200242ac99e6c2bf98a1b6837f3703d80e20024287aadc85b2cbefae4b3703d00e200241003602c80e200241003602c00e2002419d818080003602b80e200242d2c3c5dfd9edb5847d3703b00e200242f9e2fba5ced7aaeb2f3703a80e200241003602a00e200241003602980e20024189818080003602900e200242dd80a1b0aabbd7e4cc003703880e200242f7b1fbfcfa8db5ea2b3703800e200241003602c40f2002428080808080013702940f2002420037029c0f200242083702a40f2002428080808080013702ac0f200242003702b40f200242043702bc0f200241083a00d80f200241900f6a200141e0056a41106a280200360200200241880f6a200141e0056a41086a290300370300200220012903e0053703800f200220012903603703c80f200241d00f6a2004290300370300200241003602f00f200241dc0f6a200141d9056a41036a280000360000200220012800d9053600d90f200241e80f6a2007290300370300200220012903b0053703e00f20024184106a2008280200360200200241fc0f6a20092902003702002002200129029c053702f40f20024190106a200c290300370300200220012903d002370388102002410036029810200241ac106a200d280200360200200241a4106a200e290200370200200220012902bc0237029c10200241b8106a2003290300370300200220012903f8023703b010200241003602c010200241d4106a200a280200360200200241cc106a200b290200370200200220012902e4023702c410200241043602dc10200241fcc5c380003602d810200241f0106a20014190066a41106a280200360200200241e8106a20014190066a41086a29030037030020022001290390063703e010200241003602fc102002428080808080013702f41020024188116a20014180066a41086a280200360200200220012903800637038011200241003602a4112002420437029c11200242013702941120022005360290112002410136028c11200241b0116a2004290300370300200220012903603703a811200241093a00b811200241bc116a200141f9056a41036a280000360000200220012800f9053600b911200241c8116a2007290300370300200220012903b0053703c011200241003602d011200241e4116a2008280200360200200241dc116a20092902003702002002200129029c053702d411200241f0116a200c290300370300200220012903d0023703e811200241003602f8112002418c126a200d28020036020020024184126a200e290200370200200220012902bc023702fc1120024198126a2003290300370300200220012903f80237039012200241003602a012200241b4126a200a280200360200200241ac126a200b290200370200200220012902e4023702a412200241073602bc12200241f5c5c380003602b812200241d0126a200141c8066a41106a280200360200200241c8126a200141c8066a41086a290300370300200220012903c8063703c0122002410036028413200242043702fc12200242003702f4122002428080808080013702ec12200242083702e412200242003702dc122002428080808080013702d41220024190136a200429030037030020022001290360370388132002410a3a0098132002419c136a200141aa066a41036a280000360000200220012800aa0636009913200241a8136a2007290300370300200220012903b0053703a013200241003602b013200241c4136a2008280200360200200241bc136a20092902003702002002200129029c053702b413200241d0136a200c290300370300200220012903d0023703c813200241003602d813200241ec136a200d280200360200200241e4136a200e290200370200200220012902bc023702dc13200241f8136a2003290300370300200220012903f8023703f013200241003602801420024194146a200a2802003602002002418c146a200b290200370200200220012902e402370284142002428d80808080808080807f37029c14200241e8c5c3800036029814200241ac146a200f290200370200200220012902c8053702a414200242023703e014200220063602dc1420024280808080203702d4142002428080808080013702cc14200242083702c414200242003702bc142002428080808080013702b414200241f0146a2004290300370300200220012903603703e8142002410b3a00f814200241fc146a200141b1066a41036a280000360000200220012800b1063600f91441002d00b8bfd380001a410241002802b0bfd38000118280808000002204450d0a200041023602e001200020043602dc01200041023602d801200441840a3b0000200141c8066a10bd87808000024020012802d006220420012802c806470d00200141c8066a41e0e5c5800010e68a8080000b20012802cc06200441386c22036a220441e780808000360230200442d9d1a5958acddccda77f370328200442bb82a2f99fad8c91c100370320200441e780808000360218200442d9d1a5958acddccda77f370310200442bb82a2f99fad8c91c10037030820044114360204200441cce5c58000360200200120012802c80622053602c006200120012802cc0622043602bc06200120043602b8062001200420036a41386a22033602c406200141086a200141b8066a20042004200141c8066a200310e187808000200020043602e801200128020c2103200020053602e4012000200320046b41386e3602ec012001428080808080013702c0062001428880808080013702b806200041fc016a200210ce878080002000410c3602f801200020023602f4012000410c3602f001200041f9818080003602d001200042bd868ea3cfe298dbb77f3703c801200042dac1fcfbc3c3ba8fb17f3703c001200041fa818080003602b8012000429c8dc8c8b580f8edb37f3703b001200042ff8384ccd1e7e0f6c8003703a801200041f7818080003602a001200042e1a2a48bf08199db0237039801200042e982dbf0d981db979b7f3703900120004185818080003602880120004299f9eea68ae9918f897f37038001200042939b9bfb8e8dcfaf817f370378200041fb81808000360270200042f7acf7fbabffaffad200370368200042b783ebacdccac48c17370360200041fc81808000360258200042849698b891c5d4eacd00370350200042e9fdbcddc8e6aea03d370348200041ef80808000360240200042dbebd387ecd7f7a373370338200042c09afdd283a3b5991e370330200041f781808000360228200042e1a2a48bf08199db02370320200042e982dbf0d981db979b7f370318200041fd81808000360210200042f8a5f7bbeea0cec3ee00370308200042eaa0a287b6edecd9b67f370300200141e0066a2480808080000f0b410841801510b980808000000b4108413010b980808000000b4104410810b980808000000b200520012802d00641acc9ca800010ae80808000000b4104410810b980808000000b4108413010b980808000000b4104410810b980808000000b4108413010b980808000000b4104410810b980808000000b4104411010b980808000000b4101410210b980808000000bcb0302037f017e23808080800041306b2203248080808000200020022001109b8780800002400240200228020022000d0041002102410021000c010b200320003602242003410036022020032000360214200341003602102003200228020422003602282003200036021820022802082100410121020b2003200036022c2003200236021c2003200236020c2003410c6a10fa8980800020012802042104024020012802082200450d00200421020340024020022d0000220541034b0d002002200541027441e0cac380006a2802006a2205280200450d00200541046a28020041002802a8bfd38000118080808000000b200241146a21022000417f6a22000d000b0b02402001280200450d00200441002802a8bfd38000118080808000000b20012802742105024020012802782200450d0020052102034002402002290300427e7c22064203542006420152710d00200241306a2d000041ff01714102470d00200241346a280200450d00200241386a28020041002802a8bfd38000118080808000000b200241a0016a10c28b80800020024190026a21022000417f6a22000d000b0b02402001280270450d00200541002802a8bfd38000118080808000000b200341306a2480808080000ba25b01137f23808080800041a0066b220224808080800041002d00b8bfd380001a0240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024041c80641002802b0bfd38000118280808000002203450d0041002d00b8bfd380001a410841002802b0bfd38000118280808000002204450d01200441e5bac380003602002004412436020441002d00b8bfd380001a412041002802b0bfd38000118280808000002205450d02200541b291c38000360200200541fe8180800036021820054294adeeeae587ddfdc5003703102005429eef9090c3dee6cacc003703082005410536020441002d00b8bfd380001a410841002802b0bfd38000118280808000002206450d0320064190bbc380003602002006411936020441002d00b8bfd380001a412041002802b0bfd38000118280808000002207450d04200741f98ac38000360200200741ff81808000360218200742a9febaf6b3f3eacdb37f370310200742a4b0f7a3a6ae9bf8aa7f3703082007410636020441002d00b8bfd380001a410841002802b0bfd38000118280808000002208450d05200841d000360204200841b6bbc3800036020020024280808080303703a0052002420137028405200220083602800520024281808080103703f804200220073602f404200241013602f00420024180828080003602e804200242dcd0b285dc9183ed867f3703e004200242ea91db80d3f0d08ce4003703d804200241103602d40420024186bcc380003602d004200242013702b404200220063602b00420024281808080103703a804200220053602a404200241013602a004200241e78080800036029804200242d9d1a5958acddccda77f37039004200242bb82a2f99fad8c91c100370388042002410d36028404200241a9bbc3800036028004200242013702e403200220043602e00320024280808080103703d8032002428080808080013703d00320024181828080003602c803200242d0e8cfd2fdd781eac1003703c003200242da8cbdbae0b2f5f6093703b803200241073602b40320024189bbc380003602b0032002418c066a200241b0036a41c48ac3800010fc8b80800041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d06200941c80036020420094196bcc38000360200200241086a41086a2002418c066a41086a2802003602002002200229028c0637030841002d00b8bfd380001a41c00041002802b0bfd38000118280808000002207450d07200741e8a6c380003602002007418282808000360238200742b1bafce0d8ff83847d370330200742dcaba9f9efbf9de32437032820074104360224200741f5a6c38000360220200741b48080800036021820074282a1a9c9eea2b5c92f3703102007428ae6f3f7c78ea4cfd1003703082007410d36020441002d00b8bfd380001a41d00041002802b0bfd38000118280808000002205450d082005412f36024c200541f4a9c38000360248200541d8003602442005419ca9c38000360240200541d80036023c200541c4a8c38000360238200541003602342005428e8080801037022c200541b6a8c38000360228200541d400360224200541e2a7c380003602202005410036021c2005429c80808010370214200541c6a7c38000360210200541cd0036020c200541f9a6c38000360208200541ce00360204200541a3aac380003602002002428080808010370380042002420a3702e403200220053602e00320024282808080a0013703d803200220073602d403200241023602d003200241f2808080003602c803200242febac4ad81b6fafcb37f3703c00320024298848fa1dab08ba1743703b8032002410e3602b403200241f1aac380003602b0032002418c066a200241b0036a41c48ac3800010fe8b80800041002d00b8bfd380001a41e80041002802b0bfd38000118280808000002207450d09200741e400360264200741bcafc380003602602007410936025c200741b3afc3800036025820074100360254200742aa8080801037024c20074189afc38000360248200741d700360244200741b2aec38000360240200741d80036023c200741daadc38000360238200741003602342007428d8080801037022c200741cdadc38000360228200741db00360224200741f2acc38000360220200741dd0036021c20074195acc3800036021820074100360214200742c98080801037020c200741ccabc38000360208200741cd00360204200741ffaac38000360200200241286a41086a2002418c066a41086a2802003602002002200229028c0637032841002d00b8bfd380001a410841002802b0bfd38000118280808000002205450d0a2005413d360204200541fcb5c38000360200200242808080801037038004200242013702e403200220053602e00320024280808080103703d8032002428080808080013703d003200241b3808080003602c803200242d7c9cb8fc1cf97db3e3703c003200242e88488d0c0e3aebc133703b803200241133602b403200241b9b6c380003602b0032002418c066a200241b0036a41c48ac3800010fa8b80800041002d00b8bfd380001a412041002802b0bfd38000118280808000002208450d0b200841ccb6c38000360200200841cc0036021c200841e7b7c38000360218200841da003602142008418db7c380003602102008410036020c200842c180808010370204200241c8006a41086a2002418c066a41086a2802003602002002200229028c0637034841002d00b8bfd380001a411841002802b0bfd38000118280808000002205450d0c200541d093c38000360200200541c9003602142005418793c380003602102005410036020c200542a48080801037020441002d00b8bfd380001a410841002802b0bfd38000118280808000002204450d0d200441273602042004418194c3800036020020024280808080203703d004200242013702b404200220043602b00420024280808080103703a8042002428080808080013703a004200241838280800036029804200242cdb5b484a1eafa85837f37039004200242f08fb485c1b688c918370388042002410b36028404200241a894c3800036028004200242033702e403200220053602e00320024280808080303703d8032002428080808080013703d00320024184828080003602c803200242a1bc8cbf8ea094df6f3703c003200242afb2db8ebbf9c0b7243703b8032002410d3602b403200241f493c380003602b0032002418c066a200241b0036a41c48ac3800010fd8b80800041002d00b8bfd380001a410841002802b0bfd3800011828080800000220a450d0e200a412e360204200a41b394c38000360200200241e8006a41086a2002418c066a41086a2802003602002002200229028c0637036841002d00b8bfd380001a410841002802b0bfd3800011828080800000220b450d0f200b41e2bcc38000360200200b412336020441002d00b8bfd380001a412041002802b0bfd38000118280808000002204450d1020044189bbc38000360200200441b380808000360218200442d7c9cb8fc1cf97db3e370310200442e88488d0c0e3aebc133703082004410736020441002d00b8bfd380001a412041002802b0bfd38000118280808000002205450d11200541abbec38000360200200541dd0036021c200541cebdc38000360218200541c1003602142005418dbdc380003602102005410036020c200542a98080801037020441002d00b8bfd380001a411841002802b0bfd38000118280808000002206450d1220064130360214200641e7bec380003602102006410036020c200642a98080801037020420064197bfc3800036020020024280808080303703a0052002420337028405200220063602800520024280808080303703f8042002428080808080013703f00420024185828080003602e804200242d0fa9baea08488e9363703e004200242cf8ac1f6c5e79f97fc003703d804200241113602d404200241c0bfc380003602d004200242043702b404200220053602b00420024281808080c0003703a804200220043602a404200241013602a004200241868280800036029804200242f0b9ee9ccba68e835a37039004200242b7b2a2dbb1ddeab9f900370388042002411336028404200241d4bec3800036028004200242013702e4032002200b3602e00320024280808080103703d8032002428080808080013703d0032002418f818080003602c803200242f285eecfab8efdf27a3703c003200242c18b8eb39ececb99de003703b803200241083602b40320024185bdc380003602b0032002418c066a200241b0036a41c48ac3800010fc8b80800041002d00b8bfd380001a410841002802b0bfd3800011828080800000220c450d13200c41c000360204200c41d1bfc3800036020020024188016a41086a2002418c066a41086a2802003602002002200229028c063703880141002d00b8bfd380001a412041002802b0bfd38000118280808000002205450d14200541c7b8c38000360200200541808180800036021820054298c69af39cdb87a7917f370310200542e4bdf1e8c1f1c6cf8d7f3703082005410736020441002d00b8bfd380001a410841002802b0bfd38000118280808000002204450d1520044130360204200441ceb8c38000360200200242808080801037038004200242013702e403200220043602e00320024281808080103703d803200220053602d403200241013602d003200241b3808080003602c803200242d7c9cb8fc1cf97db3e3703c003200242e88488d0c0e3aebc133703b8032002410d3602b403200241feb8c380003602b0032002418c066a200241b0036a41c48ac3800010fe8b80800041002d00b8bfd380001a410841002802b0bfd3800011828080800000220d450d16200d4120360204200d418bb9c38000360200200241a8016a41086a2002418c066a41086a2802003602002002200229028c063703a80141002d00b8bfd380001a412041002802b0bfd38000118280808000002206450d172006418c8fc38000360200200641fb81808000360218200642f7acf7fbabffaffad200370310200642b783ebacdccac48c173703082006410936020441002d00b8bfd380001a412041002802b0bfd38000118280808000002204450d18200441f68fc380003602002004411336021c200441e38fc38000360218200441ce00360214200441958fc380003602102004410036020c2004429b8080801037020441002d00b8bfd380001a410841002802b0bfd3800011828080800000220e450d19200e41a090c38000360200200e411a36020441002d00b8bfd380001a412041002802b0bfd3800011828080800000220b450d1a200b41c890c38000360200200b418782808000360218200b42c7b08da7e0eae9813e370310200b42afa5dbfcecd08ee9837f370308200b410836020441002d00b8bfd380001a410841002802b0bfd3800011828080800000220f450d1b200f41d090c38000360200200f41cf0036020441002d00b8bfd380001a41c00041002802b0bfd38000118280808000002205450d1c200541b291c380003602002005418782808000360238200542c7b08da7e0eae9813e370330200542afa5dbfcecd08ee9837f37032820054104360224200541b791c38000360220200541fe8180800036021820054294adeeeae587ddfdc5003703102005429eef9090c3dee6cacc003703082005410536020441002d00b8bfd380001a410841002802b0bfd38000118280808000002210450d1d201041d500360204201041bb91c3800036020020024280808080c0003703f005200242013702d405200220103602d00520024282808080103703c805200220053602c405200241023602c00520024188828080003602b805200242d5e4ddd083c3e7fa3c3703b00520024281fca2c1b0dac09e743703a8052002410f3602a4052002419092c380003602a00520024201370284052002200f3602800520024281808080103703f8042002200b3602f404200241013602f00420024189828080003602e804200242dce6a2eda3a3a8b3413703e004200242fc95a7ca848bb28bb27f3703d804200241133602d4042002419f91c380003602d004200242013702b4042002200e3602b00420024280808080103703a8042002428080808080013703a0042002418a8280800036029804200242a9febaf6b3f3eacdb37f37039004200242a4b0f7a3a6ae9bf8aa7f370388042002410e36028404200241ba90c3800036028004200242043702e403200220043602e00320024281808080c0003703d803200220063602d403200241013602d0032002418b828080003602c803200242ab8c9adfebb487f5d5003703c003200242919ddfa0f5b3d7964c3703b8032002410f3602b4032002419190c380003602b0032002418c066a200241b0036a41c48ac3800010998c80800041002d00b8bfd380001a410841002802b0bfd38000118280808000002210450d1e201041dc003602042010419f92c38000360200200241c8016a41086a2002418c066a41086a2802003602002002200229028c063703c80141002d00b8bfd380001a41e00041002802b0bfd38000118280808000002204450d1f200441dca1c38000360200200441b48080800036025820044282a1a9c9eea2b5c92f3703502004428ae6f3f7c78ea4cfd1003703482004410a360244200441e4a1c38000360240200441fb81808000360238200442f7acf7fbabffaffad200370330200442b783ebacdccac48c1737032820044102360224200441e2a1c380003602202004418c82808000360218200442a786f8aea8fefbf8403703102004428abec1ac85b5f8ccb07f3703082004410636020441002d00b8bfd380001a41c80041002802b0bfd38000118280808000002205450d2020054129360244200541dba4c38000360240200541d10036023c2005418aa4c38000360238200541003602342005429f8080801037022c200541eba3c38000360228200541d30036022420054198a3c38000360220200541d10036021c200541c7a2c38000360218200541d900360214200541eea1c380003602102005410036020c2005429a8080801037020420054184a5c38000360200200242808080801037038004200242093702e403200220053602e0032002428380808090013703d803200220043602d403200241033602d0032002418d828080003602c803200242ed909c989cb4eea8aa7f3703c003200242e1f5b7ce94edf0f4343703b803200241143602b4032002419ea5c380003602b0032002418c066a200241b0036a41c48ac3800010fe8b80800041002d00b8bfd380001a410841002802b0bfd38000118280808000002211450d21201141d300360204201141b2a5c38000360200200241e8016a41086a2002418c066a41086a2802003602002002200229028c063703e80141002d00b8bfd380001a412041002802b0bfd38000118280808000002205450d22200541f98ac38000360200200541ff81808000360218200542a9febaf6b3f3eacdb37f370310200542a4b0f7a3a6ae9bf8aa7f3703082005410636020441002d00b8bfd380001a410841002802b0bfd38000118280808000002204450d2320044132360204200441ff8ac38000360200200242808080801037038004200242013702e403200220043602e00320024281808080103703d803200220053602d403200241013602d003200241e7808080003602c803200242d9d1a5958acddccda77f3703c003200242bb82a2f99fad8c91c1003703b8032002410f3602b403200241b18bc380003602b0032002418c066a200241b0036a41c48ac3800010fe8b80800041002d00b8bfd380001a410841002802b0bfd38000118280808000002212450d2420124119360204201241c08bc3800036020020024188026a41086a2002418c066a41086a2802003602002002200229028c063703880241002d00b8bfd380001a412041002802b0bfd38000118280808000002204450d25200441c086c380003602002004418e828080003602182004429c84d0beecb495fdc300370310200442a780e2b79e8492d7223703082004410436020441002d00b8bfd380001a413841002802b0bfd38000118280808000002205450d26200541f587c3800036020020054134360234200541c187c380003602302005410036022c200542ac808080103702242005419587c380003602202005410036021c2005428f808080103702142005418687c38000360210200541c20036020c200541c486c38000360208200541c50036020441002d00b8bfd380001a412041002802b0bfd38000118280808000002206450d27200641cf88c38000360200200641ff8080800036021820064296e397c6bfa5aeee46370310200642aceff0b4f2bd8f8fe4003703082006410736020441002d00b8bfd380001a411841002802b0bfd3800011828080800000220b450d28200b4137360214200b41d688c38000360210200b410036020c200b42a680808010370204200b418d89c3800036020020024280808080203703d004200242033702b4042002200b3602b00420024281808080303703a804200220063602a404200241013602a0042002418f828080003602980420024294beb4db8af8efb2433703900420024286a597b3b592b8a2877f370388042002411336028404200241b389c3800036028004200242073702e403200220053602e00320024281808080f0003703d803200220043602d403200241013602d003200241ff808080003602c80320024296e397c6bfa5aeee463703c003200242aceff0b4f2bd8f8fe4003703b803200241153602b403200241ba88c380003602b0032002418c066a200241b0036a41c48ac3800010fd8b80800041002d00b8bfd380001a410841002802b0bfd38000118280808000002213450d292013411a360204201341d48ac38000360200200241a8026a41086a2002418c066a41086a2802003602002002200229028c063703a80241002d00b8bfd380001a410841002802b0bfd38000118280808000002205450d2a20054129360204200541b4c4c38000360200200242808080801037038004200242013702e403200220053602e00320024280808080103703d8032002428080808080013703d003200241e9808080003602c803200242a5e9e3ab9e929adc2c3703c00320024293888c8f89fdc6ec9e7f3703b803200241123602b403200241ddc4c380003602b003200241c4026a200241b0036a41c48ac3800010fa8b80800041002d00b8bfd380001a412041002802b0bfd38000118280808000002204450d2b200441f98ac38000360200200441ff81808000360218200442a9febaf6b3f3eacdb37f370310200442a4b0f7a3a6ae9bf8aa7f3703082004410636020441002d00b8bfd380001a412041002802b0bfd38000118280808000002205450d2c2005412a36021c200541adb3c380003602182005413d360214200541f0b2c380003602102005410036020c200542a780808010370204200541d7b3c38000360200200242808080801037038004200242043702e403200220053602e00320024281808080c0003703d803200220043602d403200241013602d00320024190828080003602c803200242f2b4e085bf979de0d3003703c003200242dd8996c9e6e7cc9b9c7f3703b803200241163602b403200241feb3c380003602b0032002418c066a200241b0036a41c48ac3800010fe8b80800041002d00b8bfd380001a412841002802b0bfd38000118280808000002206450d2d200641cd003602242006419bb5c38000360220200641c00036021c200641dbb4c3800036021820064111360214200641cab4c380003602102006410036020c200642b68080801037020420064194b4c38000360200200241e0026a41086a2002418c066a41086a2802003602002002200229028c063703e00241002d00b8bfd380001a410841002802b0bfd38000118280808000002205450d2e200541c200360204200541c3b1c38000360200200242808080801037038004200242013702e403200220053602e00320024280808080103703d8032002428080808080013703d00320024191828080003602c803200242919de5a9bfa3faa9d4003703c003200242e088d58dcecf8d82093703b8032002410d3602b40320024185b2c380003602b0032002418c066a200241b0036a41c48ac3800010fe8b80800041002d00b8bfd380001a410841002802b0bfd38000118280808000002214450d2f201441cc0036020420144192b2c3800036020020024180036a41086a2002418c066a41086a2802003602002002200229028c063703800341002d00b8bfd380001a412041002802b0bfd3800011828080800000220e450d30200e41f894c38000360200200e41ff80808000360218200e4296e397c6bfa5aeee46370310200e42aceff0b4f2bd8f8fe400370308200e410436020441002d00b8bfd380001a41d00041002802b0bfd38000118280808000002204450d312004411736024c200441dd97c38000360248200441d7003602442004418697c380003602402004410036023c2004428d80808010370234200441f996c38000360230200441d50036022c200441a496c38000360228200441d500360224200441cf95c38000360220200441ca0036021c2004418595c3800036021820044100360214200442898080801037020c200441fc94c38000360208200441d900360204200441f497c3800036020041002d00b8bfd380001a412041002802b0bfd3800011828080800000220f450d32200f41d898c38000360200200f419282808000360218200f4285e4df898ea1cfe6bb7f370310200f42b4fc80a8bd83e5fa967f370308200f410236020441002d00b8bfd380001a41f00041002802b0bfd38000118280808000002205450d332005412136026c200541979ec38000360268200541d800360264200541bf9dc38000360260200541d90036025c200541e69cc38000360258200541d300360254200541939cc38000360250200541d80036024c200541bb9bc38000360248200541d400360244200541e79ac38000360240200541c80036023c2005419f9ac3800036023820054100360234200542988080801037022c200541879ac38000360228200541d200360224200541b599c38000360220200541d50036021c200541e098c3800036021820054100360214200542868080801037020c200541da98c38000360208200541d800360204200541b89ec3800036020041002d00b8bfd380001a412041002802b0bfd3800011828080800000220b450d34200b41c00036021c200b41f29fc38000360218200b41d800360214200b419a9fc38000360210200b410036020c200b42d480808010370204200b41b2a0c380003602002002420e3702b404200220053602b00420024281808080e0013703a8042002200f3602a404200241013602a0042002418e82808000360298042002429c84d0beecb495fdc30037039004200242a780e2b79e8492d722370388042002410a36028404200241909fc38000360280042002420a3702e403200220043602e00320024281808080a0013703d8032002200e3602d403200241013602d00320024193828080003602c803200242cab38cf7d4f2f5d3b87f3703c003200242f7c294fb91f5eecf5b3703b8032002410b3602b403200241cd98c380003602b003200241cc046a2002418c066a41106a280200360200200241c4046a2002418c066a41086a220429020037020020024194056a200241f8056a41086a2902003702002002419c056a200241f8056a41106a28020036020020024186a1c380003602d0042002410c3602d404200242d3cefbb9dba18396713703d804200242a48ef19ba687a1bd593703e00420024194828080003602e8042002200b360280052002428080808080013703f00420024280808080c0003703f80420024204370284052002200229028c063702bc04200220022902f80537028c0520024280808080303703a0052002418c066a200241b0036a41c48ac3800010fc8b80800041002d00b8bfd380001a410841002802b0bfd38000118280808000002205450d352005413c36020420054192a1c3800036020020024190036a41086a20042802003602002002200229028c063703900341002d00b8bfd380001a410841002802b0bfd38000118280808000002204450d362004412c360204200441b8b0c38000360200200242808080801037038004200242013702e403200220043602e00320024280808080103703d8032002428080808080013703d003200241bb808080003602c80320024289d0e6adc0e7a38d463703c0032002428bfa8ea7fac390de253703b8032002410c3602b403200241e4b0c380003602b0032002418c066a200241b0036a41c48ac3800010fa8b80800041002d00b8bfd380001a410841002802b0bfd38000118280808000002204450d37200441c300360204200441f0b0c38000360200200241a0036a41086a220b2002418c066a41086a220e2802003602002002200229028c063703a00320034100360200200320022902183702042003410c6a200241186a41086a290200370200200320022903083702142003411c6a200241086a41086a2802003602002003410036023820034284808080d000370230200341debcc3800036022c2003410136022820032009360224200341013602202003200229023837023c200341c4006a200241386a41086a290200370200200341d4006a200241286a41086a2802003602002003200229032837024c200341003602702003429880808020370268200341a0b0c380003602642003410d3602602003200736025c2003410d360258200341fc006a200241d8006a41086a290200370200200320022902583702742003418c016a200241c8006a41086a2802003602002003200229034837028401200341003602a80120034294808080103702a001200341b3b8c3800036029c01200341043602980120032008360294012003410436029001200341b4016a200241f8006a41086a290200370200200320022902783702ac01200341c4016a200241e8006a41086a280200360200200320022903683702bc01200341003602e00120034287808080103702d801200341e194c380003602d401200341013602d0012003200a3602cc01200341013602c801200341ec016a20024198016a41086a29020037020020032002290298013702e401200341fc016a20024188016a41086a28020036020020032002290388013702f401200341003602980220034288808080203702900220034191c0c3800036028c0220034101360288022003200c360284022003410136028002200341a4026a200241b8016a41086a290200370200200320022902b80137029c02200341b4026a200241a8016a41086a280200360200200320022903a8013702ac02200341003602d0022003428f808080103702c802200341abb9c380003602c402200341013602c0022003200d3602bc02200341013602b802200341dc026a200241d8016a41086a290200370200200320022902d8013702d402200341ec026a200241c8016a41086a280200360200200320022903c8013702e40220034100360288032003428c808080e00037028003200341fb92c380003602fc02200341013602f802200320103602f402200341013602f00220034194036a200241f8016a41086a290200370200200320022902f80137028c03200341a4036a200241e8016a41086a280200360200200320022903e80137029c03200341003602c00320034296808080303702b80320034185a6c380003602b403200341013602b003200320113602ac03200341013602a803200341cc036a20024198026a41086a29020037020020032002290298023702c403200341dc036a20024188026a41086a28020036020020032002290388023702d403200341003602f80320034291808080203702f003200341d98bc380003602ec03200341013602e803200320123602e403200341013602e00320034184046a200241b4026a41086a290200370200200320022902b4023702fc0320034194046a200241a8026a41086a280200360200200320022903a80237028c04200341003602b0042003428b808080103702a804200341ee8ac380003602a404200341013602a0042003201336029c042003410136029804200341bc046a200241d0026a41086a290200370200200320022902d0023702b404200341cc046a200241c4026a41086a280200360200200320022902c4023702c404200341003602e80420034290808080103702e004200341efc4c380003602dc04200341003602d80420034280808080c0003702d004200341f4046a200241f0026a41086a290200370200200320022902f0023702ec0420034184056a200241e0026a41086a280200360200200320022903e0023702fc04200341003602a005200342948080803037029805200341e8b5c380003602940520034105360290052003200636028c052003410536028805200341ac056a200241f8056a41086a290200370200200320022902f8053702a405200341bc056a20024180036a41086a28020036020020032002290380033702b405200341003602d80520034292808080103702d005200341deb2c380003602cc05200341013602c805200320143602c405200341013602c005200341e4056a200e2902003702002003200229028c063702dc05200341f4056a20024190036a41086a28020036020020032002290390033702ec0520034100360290062003428e8080801037028806200341cea1c38000360284062003410136028006200320053602fc05200341013602f8052003419c066a200241b0036a41086a290200370200200320022902b00337029406200341ac066a200b280200360200200320022903a0033702a40620034290808080103702c006200341b3b1c380003602bc06200341013602b806200320043602b406200341013602b0062000410f360208200020033602042000410f360200200241a0066a2480808080000f0b410441c80610b980808000000b4104410810b980808000000b4108412010b980808000000b4104410810b980808000000b4108412010b980808000000b4104410810b980808000000b4104410810b980808000000b410841c00010b980808000000b410441d00010b980808000000b410441e80010b980808000000b4104410810b980808000000b4104412010b980808000000b4104411810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4108412010b980808000000b4104412010b980808000000b4104411810b980808000000b4104410810b980808000000b4108412010b980808000000b4104410810b980808000000b4104410810b980808000000b4108412010b980808000000b4104412010b980808000000b4104410810b980808000000b4108412010b980808000000b4104410810b980808000000b410841c00010b980808000000b4104410810b980808000000b4104410810b980808000000b410841e00010b980808000000b410441c80010b980808000000b4104410810b980808000000b4108412010b980808000000b4104410810b980808000000b4104410810b980808000000b4108412010b980808000000b4104413810b980808000000b4108412010b980808000000b4104411810b980808000000b4104410810b980808000000b4104410810b980808000000b4108412010b980808000000b4104412010b980808000000b4104412810b980808000000b4104410810b980808000000b4104410810b980808000000b4108412010b980808000000b410441d00010b980808000000b4108412010b980808000000b410441f00010b980808000000b4104412010b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000be70b02057f017e23808080800041e0016b22022480808080000240024020010d0041ac90c08000210341012100410021040c010b02402000410171450d0041ec91c080002103200021040c010b2000410172210441d891c0800021030b20022004360290012002200136028c01200220003602880120022003360284012002410036029401200241c8006a20024184016a10fd908080000240024002400240024002402002280248450d00200241b8016a41086a200241c8006a41086a2200290200370300200220022902483703b801200241c8006a20024184016a10fd9080800002402002280248450d00200241c8016a41086a2000290200370300200220022902483703c8010240200228028c01220120022802940122006b4104490d00200041046a21052000417b4b0d0420012005490d0720022802880121032002200536029401200120056b4120490d00200041246a21062005415f4b0d05200620014b0d06200320006a280000210420024198016a41086a200241c4016a280200360200200241ac016a200241c8016a41086a2903003702002002200636029401200241c8006a41086a200320056a220041086a290000370300200241c8006a41106a200041106a290000370300200241c8006a41186a200041186a290000370300200220022902bc0137039801200220022903c8013702a4012002200029000037034820022802b80121000c030b200241d4016a20022802cc0120022802d00120022802c801280210118580808000000b200241c4016a20022802bc0120022802c00120022802b801280210118580808000000b41002100200228028c01210120022802880121030b20024190016a200320012002280284012802101185808080000002402000450d00200241106a20024198016a41086a290300370200200241186a20024198016a41106a290300370200200241206a20024198016a41186a280200360200200241306a200241c8006a41086a290300370200200241386a200241c8006a41106a290300370200200241c0006a200241c8006a41186a2903003702002002200036020420022002290398013702082002200436022420022002290348370228200241c8006a200241046a108e8680800020024184016a200241c8006a108591808000200235028c012107200228028801210402402002280248450d00200228024c41002802a8bfd38000118080808000000b0240200228026c2200418080808078460d002000450d00200228027041002802a8bfd38000118080808000000b0240200228025c2200450d00200228025821052000410171210641002101024020004101460d002000417e7121032005210041002101034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002003200141026a2201470d000b0b2006450d0020052001410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b02402002280254450d00200228025841002802a8bfd38000118080808000000b024020022802682200450d00200228026421052000410171210641002101024020004101460d002000417e7121032005210041002101034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b0240200041106a280200450d00200041146a28020041002802a8bfd38000118080808000000b200041206a21002003200141026a2201470d000b0b2006450d00200520014104746a2200280200450d00200028020441002802a8bfd38000118080808000000b02402002280260450d00200228026441002802a8bfd38000118080808000000b200241e0016a24808080800020074220862004ad840f0b41ffc4c380004126200241df016a41b085c3800041a8c5c3800010a481808000000b2000200541a8c8ca800010ac81808000000b2005200641a8c8ca800010ac81808000000b2006200141a8c8ca800010aa81808000000b2005200141a8c8ca800010aa81808000000b040041010b980201027f024002400240024002400240024002402001280200220241ffffffff076a2203410120034108491b0e080102030004050607010b000b2000200141086a10848d8080000f0b20004200370308200041003a0021200041106a4200370300200041186a4200370300200042e807420020024180808080784622011b37030020004101410220011b3a00200f0b20004200370310200042d50b370308200042c097acc900370300200041023b0120200041186a42003703000f0b2000200141106a10e2878080000f0b2000200141086a108c8b8080000f0b20004200370300200041206a41003b0100200041186a4200370300200041106a4200370300200041086a42003703000f0b2000200141086a10ca848080000bc20d01077f23808080800041d0026b2203248080808000024002400240024002400240024002400240200128020041ffffffff076a2204410120044108491b0e080102030004050607010b000b200341c8006a200141286a290300370300200341c0006a200141206a290300370300200341386a200141186a290300370300200341306a200141106a290300370300200341086a200241086a290200370300200341106a200241106a290200370300200341186a200241186a290200370300200341206a200241206a2902003703002003200129030837032820032002290200370300200341003602c802200341003602c0022003200341c0026a3602cc02200341a0016a200341d00010e9968080001a2003200341cc026a3602f001200041b4bcd38000200341a0016a10dc8c808000200341c0026a10928b8080000c060b2003200141f00010e99680800022014190016a200241206a29020037020020014188016a200241186a29020037020020014180016a200241106a290200370200200141f8006a200241086a29020037020020012002290200370270200141003602c802200141003602c0022001200141c0026a3602cc02200141a0016a200141980110e9968080001a2001200141cc026a3602b802200041b4bcd38000200141a0016a10d48c808000200141c0026a10928b8080000c050b200320012903083703c0022003410036020820034100360200200320033602cc02200341a0016a41206a200241206a290200370300200341a0016a41186a200241186a290200370300200341a0016a41106a200241106a290200370300200341a0016a41086a200241086a290200370300200320022902003703a0012003200341cc026a3602cc012003200341c0026a3602c801200041b4bcd38000200341a0016a10da8c808000200310928b8080000c040b2003200141106a41e00010e99680800022014180016a200241206a290200370300200141f8006a200241186a290200370300200141f0006a200241106a290200370300200141e8006a200241086a29020037030020012002290200370360200141003602c802200141003602c0022001200141c0026a3602cc02200141a0016a200141900110e9968080001a2001200141cc026a3602b002200041b4bcd38000200141a0016a10d98c808000200141c0026a10928b8080000c030b200341c8006a200141286a290300370300200341c0006a200141206a290300370300200341386a200141186a290300370300200341306a200141106a290300370300200341086a200241086a290200370300200341106a200241106a290200370300200341186a200241186a290200370300200341206a200241206a2902003703002003200129030837032820032002290200370300200341003602c802200341003602c0022003200341c0026a3602cc02200341a0016a200341d00010e9968080001a2003200341cc026a3602f001200041b4bcd38000200341a0016a10dd8c808000200341c0026a10928b8080000c020b200341086a22042001410c6a280200360200200341146a200241086a2902003702002003411c6a200241106a290200370200200341246a200241186a2902003702002003412c6a200241206a290200370200200320012902043703002003200229020037020c200341003602c802200341003602c0022003200341c0026a3602cc02200341a0016a41306a200341306a280200360200200341a0016a41286a200341286a290300370300200341a0016a41206a200341206a290300370300200341a0016a41186a200341186a290300370300200341a0016a41106a200341106a290300370300200341a0016a41086a2004290300370300200320032903003703a0012003200341cc026a3602d401200041b4bcd38000200341a0016a10d78c808000200341c0026a10928b8080000c010b200341106a22042002290200370300200341086a2205200141106a290300370300200341186a2206200241086a290200370300200341206a2207200241106a290200370300200341286a2208200241186a290200370300200341306a2209200241206a29020037030020032001290308370300200341003602c802200341003602c0022003200341c0026a3602cc02200341a0016a41306a2009290300370300200341a0016a41286a2008290300370300200341a0016a41206a2007290300370300200341a0016a41186a2006290300370300200341a0016a41106a2004290300370300200341a0016a41086a2005290300370300200320032903003703a0012003200341cc026a3602d801200041b4bcd38000200341a0016a10db8c808000200341c0026a10928b8080000b200341d0026a2480808080000bbc0503057f017e037f23808080800041d0006b2201248080808000200141286a41b3cac38000410b418cc2c3800041144104410010c7918080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41bccec2800010b08b808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41d4c6c380004106109a85808000200141106a200141c0006a41c5c6c38000410f108985808000200141c0006a200141106a41bcc6c38000410910ee85808000200141106a200141c0006a41afc6c38000410d10d885808000200141c0006a200141106a41a7c6c38000410810a885808000200141106a200141c0006a41a3c6c38000410410a785808000200141c0006a200141106a4187c6c38000410a10e785808000200141346a200141c0006a4180c6c380004107109685808000200128023c210820012802382109200120012802343602182001200936021020012009200841246c6a36021c20012009360214200141c0006a200141106a41bccec2800010af8b80800002402007418080808078470d0041f0e1c1800041114184e2c18000108b81808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a892c4800010b08b808000200141106a410b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bed0403057f017e037f23808080800041d0006b2201248080808000200141286a41becac38000410c418cc2c3800041144104410010c7918080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41bccec2800010b08b808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41d4c6c380004106109d85808000200141106a200141c0006a41c5c6c38000410f10e185808000200141c0006a200141106a41a7c6c38000410810b385808000200141106a200141c0006a41a3c6c38000410410d785808000200141346a200141106a4180c6c38000410710b285808000200128023c210820012802382109200120012802343602182001200936021020012009200841246c6a36021c20012009360214200141c0006a200141106a41bccec2800010af8b80800002402007418080808078470d0041f0e1c1800041114184e2c18000108b81808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a892c4800010b08b8080002001411b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000b870503057f017e037f23808080800041d0006b2201248080808000200141286a41cacac38000410c418cc2c3800041144104410010c7918080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41bccec2800010b08b808000200141086a2202200141106a41146a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41d4c6c38000410610d985808000200141106a200141c0006a41c5c6c38000410f10e085808000200141c0006a200141106a41a7c6c38000410810bc85808000200141106a200141c0006a41a3c6c38000410410cb85808000200141c0006a200141106a4191c6c38000411210b585808000200141346a200141c0006a4180c6c38000410710bd85808000200128023c210820012802382109200120012802343602182001200936021020012009200841246c6a36021c20012009360214200141c0006a200141106a41bccec2800010af8b80800002402007418080808078470d0041f0e1c1800041114184e2c18000108b81808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a41a892c4800010b08b8080002001411b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bc00303057f017e017f23808080800041c0006b2201248080808000200141246a41d6cac380004107418cc2c3800041144104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41bccec2800010b08b808000200141086a22022001410c6a41146a28020036020020012001290218370300200128020c21032001280210210420012802142105200129022821062001280224210720014288808080800137020c200142808080808001370214200141306a2001410c6a41bccec2800010b18b80800002402007418080808078470d0041f0e1c1800041114184e2c18000108b81808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a2001410c6a41076a290000370000200141c0006a2480808080000bec0502027f027e23808080800041c0006b220124808080800020004191016a10af8c80800041dec6c3800041024101410041002802c8bdd3800011838080800000200028026c2102200142d8c192ad8deac8dd3f37002720014284ceb68ad8c4c79c8f7f37001f200142e7eacab6b7c9acbc263700172001428de2fdb2e288b2fcd70037000f200120023602302001410f6a4120200141306a410441002802c8bdd3800011838080800000200010f18780800041002102024020002d00704101470d00200141286a20004189016a290000370000200141206a20004181016a290000370000200141186a200041f9006a29000037000020012000290071370010410121020b200120023a000f2001410f6a1091898080004101108f89808000200041386a290300210320002903302104200142e3e3aca5e7a8ebef5c370027200142bfdcfcdef39bce8e6b37001f200142dbd4b188d8cab88410370017200142bfa89c83ea92efeb1a37000f20012003370338200120043703302001410f6a4120200141306a411041002802c8bdd3800011838080800000418cc1c38000411a41e0c6c38000410441002802c8bdd3800011838080800000200041c0006a10f2838080002000280264200028026810a38a80800020014282fceae49dd9e2861d370027200142de8c84a1ecd0a6d30c37001f20014289df9d82f381819238370017200142d7f0f3fea28baccae70037000f200141306a2001410f6a412010ff83808000024002402001280230418080808078470d00200141003602082001428080808010370300410121000c010b200141086a200141306a41086a2802003602002001200129023022033703002003a74521000b20014282fceae49dd9e2861d370027200142de8c84a1ecd0a6d30c37001f20014284c2b1b3ef9292841e370017200142bce2f4b8c5daf6fa2937000f20012001410f6a412010ae88808000024020000d00200128020441002802a8bfd38000118080808000000b10e98c808000200141c0006a2480808080000bb00501037f23808080800041e0006b2201248080808000024002400240024020002d00000e0400020103000b2001200029000137030841002802ecbfd380004104490d022001419582808000ad422086200141086aad8437031041002802d4bcd38000210041002802d0bcd38000210241002802e8bfd38000210320014201370254200141b0c7c3800036024820014111360244200141c0c7c38000360240200142bf808080c000370238200141a6c1c380003602342001421437022c2001418cc2c380003602282001410036022420014281808080f03137021c2001410236024c200041c4dbc88000200341024622031b28021021002001200141106a360250200241dcdbc8800020031b2001411c6a2000118b80808000000c020b41002802ecbfd38000450d0141002802d4bcd38000210041002802d0bcd38000210241002802e8bfd3800021032001420037025420014281808080c00037024c200141a4c8c3800036024820014111360244200141c0c7c38000360240200142bf80808010370238200141a6c1c380003602342001421437022c2001418cc2c380003602282001410036022420014281808080f03137021c200241dcdbc88000200341024622031b2001411c6a200041c4dbc8800020031b280210118b80808000000c010b41002802ecbfd38000450d0041002802d4bcd38000210041002802d0bcd38000210241002802e8bfd3800021032001420037025420014281808080c00037024c200141d8c8c3800036024820014111360244200141c0c7c38000360240200142bf80808010370238200141a6c1c380003602342001421437022c2001418cc2c380003602282001410036022420014281808080f03137021c200241dcdbc88000200341024622031b2001411c6a200041c4dbc8800020031b280210118b80808000000b200141e0006a2480808080000bbd0303057f017e017f23808080800041c0006b2201248080808000200141246a41e0c8c380004111418cc2c3800041144104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41bccec2800010b08b808000200141086a22022001410c6a41146a28020036020020012001290218370300200128020c21032001280210210420012802142105200129022821062001280224210720014284808080c00037020c20014280808080c000370214200141306a2001410c6a41bccec2800010af8b80800002402007418080808078470d0041f0e1c1800041114184e2c18000108b81808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000b910401037f23808080800041106b220224808080800002402001280200220328020020032802082204470d002003200441014101410110948a808000200328020821040b200328020420046a41fb003a00002003200441016a36020820024180023b01082002200136020c02400240200241086a41f1c8c38000410620004191016a220410f38a80800022030d00024020022d00084101470d0041002d00b8bfd380001a411441002802b0bfd38000118280808000002203450d022003420037020c2003410d3602000c010b200241086a41f7c8c38000410f200410f38a80800022030d00024020022d00084101470d0010879280800021030c010b200241086a4186c9c38000410d200041ec006a10fa8a80800022030d00024020022d00084101470d0010879280800021030c010b200241086a4193c9c380004108200010f58a80800022030d00200241086a200041f0006a10c58780800022030d00200241086a200041306a10c98780800022030d00200241086a200410c68780800022030d00200241086a200041c0006a10c78780800022030d00200241086a200041e0006a10c88780800022030d00200241086a200410ca8780800022030d000240200228020822034180fe0371450d0020034101710d00200228020c28020041a786c38000410141fcc0c3800010cf8b8080000b410021030b200241106a24808080800020030f0b4104411410b980808000000ba90601037f23808080800041c0006b2202248080808000200241003602142002410036020c200241808080807836020002400240200241f1c8c38000410620014191016a220310878b80800022040d00200241f7c8c38000410f200310878b80800022040d0020024186c9c38000410d200141ec006a108a8b80800022040d0020024193c9c380004108200110828b80800022040d00200241dac6c380004104200141f0006a10898b80800022040d002002419bc9c380004112200141306a10858b80800022040d00200241adc9c38000410a200310878b80800022040d00200241b7c9c380004107200141c0006a10888b80800022040d00200241f8c1c380004104200141e0006a10848b80800022040d00200241bec9c380004107200310878b80800022040d00200241186a41106a200241106a290200370300200241186a41086a200241086a290200370300200220022902003703182000200241186a1088928080000c010b200041063a00002000200436020402402002280200418180808078460d0002400240200228020c22000d0041002100410021040c010b200220022802102204360234200220003602302002410036022c20022004360224200220003602202002410036021c41012100200228021421040b200220043602382002200036022820022000360218200241186a10d68a80800020022802002200418080808078460d012000450d01200228020441002802a8bfd38000118080808000000c010b024002400240024020022d00040e0704040102030004000b02400240200228020822000d0041002100410021040c010b2002200228020c2204360234200220003602302002410036022c20022004360224200220003602202002410036021c41012100200228021021040b200220043602382002200036022820022000360218200241186a10d68a8080000c030b2002280208450d02200228020c41002802a8bfd38000118080808000000c020b2002280208450d01200228020c41002802a8bfd38000118080808000000c010b200241086a10d58b8080002002280208450d00200228020c41002802a8bfd38000118080808000000b200241c0006a2480808080000ba003000240024002400240024002400240024002400240024002402002417c6a0e0f050807060208040808010800080803080b200141f7c8c38000410f10ed968080000d07200041013a0001200041003a00000f0b20014186c9c38000410d10ed968080000d06200041023a0001200041003a00000f0b200129000042e2c2b18be6edd8b2f300520d05200041033a0001200041003a00000f0b2001419bc9c38000411210ed968080000d04200041053a0001200041003a00000f0b200141adc9c38000200210ed968080000d03200041063a0001200041003a00000f0b200128000041f3ea91fb06460d04200128000041e1eac98b06470d02200041083a0001200041003a00000f0b200141b7c9c38000200210ed96808000450d02200141bec9c38000200210ed968080000d01200041093a0001200041003a00000f0b200141f1c8c38000410610ed96808000450d030b20002001200241c8c9c38000410a10c18e808000360204200041013a00000f0b200041073a0001200041003a00000f0b200041043a0001200041003a00000f0b200041003a0001200041003a00000b9d0302037f017e41c100210102400240024002400240024020002d00002202416a6a22034102200341ff01714106491b41ff01710e06000104020503000b200041086a10c78c80800021010c040b41002101024002400240024020002d00080e06030003000102030b410421010c020b410121034101210102402000290310220442c000540d0002402004428080015a0d00410221010c010b024020044280808080045a0d00410421010c010b4109200479a74103766b21010b02402000290318220442c000540d0002402004428080015a0d00410220016a21010c030b024020044280808080045a0d00410420016a21010c030b4109200479a74103766b21030b200320016a21010c010b4121410120002d00091b21010b200141016a21010c030b4101210102400240024020002d00040e0400010502000b20002d000841027441c8cbc380006a28020021010c040b41c200412220002d00251b21010c030b20002d000841027441c8cbc380006a28020021010c020b4109410220002d00081b21010c010b200241027441f0cac380006a28020021010b200141016a0b850401017f02400240024002400240024020002d0000416a6a22024102200241ff01714106491b41ff01710e06000102030405000b200041086a21020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41003a00002002200110c68c8080000f0b200041086a21020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41013a00002002200110b3898080000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b2001200241016a360208200128020420026a41043a00002000200110a9888080000f0b200041046a21020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41053a00002002200110b28a8080000f0b200041106a21020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41063a00002002200110ce8a8080000f0b200041086a21020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41083a000020022001109f848080000be61901137f23808080800041a0036b2203248080808000024020012802042204200128020c2205460d00200241c1006a210620022d00402107200341206a41016a2108034020012004220941216a2204360204200341e0006a41086a220a200941096a290000370300200341e0006a41106a220b200941116a290000370300200341e0006a41186a220c200941196a2900003703002003200929000137036020092d0000210920034180016a41386a200241386a220d29000037030020034180016a41306a200241306a220e29000037030020034180016a41286a200241286a220f29000037030020034180016a41206a200241206a221029000037030020034180016a41186a200241186a221129000037030020034180016a41106a200241106a221229000037030020034180016a41086a200241086a22132900003703002003200229000037038001200320022d00413a00df01200320022d00423a00de01200320022d00433a00dd01200320022d00443a00dc01200320022d00453a00db01200320022d00463a00da01200320022d00473a00d901200320022d00483a00d801200320022d00493a00d701200320022d004a3a00d601200320022d004b3a00d501200320022d004c3a00d401200320022d004d3a00d301200320022d004e3a00d201200320022d004f3a00d101200320022d00503a00d001200320022d00513a00cf01200320022d00523a00ce01200320022d00533a00cd01200320022d00543a00cc01200320022d00553a00cb01200320022d00563a00ca01200320022d00573a00c901200320022d00583a00c801200320022d00593a00c701200320022d005a3a00c601200320022d005b3a00c501200320022d005c3a00c401200320022d005d3a00c301200320022d005e3a00c201200320022d005f3a00c101200320022d00603a00c0010240024020094101710d00200341c0026a41186a200c290300370300200341c0026a41106a200b290300370300200341c0026a41086a200a290300370300200320032903603703c002200341e0016a20034180016a200341c0026a4101108d8d808000200341206a41086a200341e0016a41086a290000370300200341206a41106a200341e0016a41106a290000370300200341206a41186a200341e0016a41186a290000370300200341206a41206a200341e0016a41206a290000370300200341206a41286a200341e0016a41286a290000370300200341206a41306a200341e0016a41306a290000370300200341206a41386a200341e0016a41386a290000370300200320032900e001370320200741ff01712109410021072009450d0141002107200341003a00df01200341003a00de01200341003a00dd01200341003a00dc01200341003a00db01200341003a00da01200341003a00d901200341003a00d801200341003a00d701200341003a00d601200341003a00d501200341003a00d401200341003a00d301200341003a00d201200341003a00d101200341003a00d001200341003a00cf01200341003a00ce01200341003a00cd01200341003a00cc01200341003a00cb01200341003a00ca01200341003a00c901200341003a00c801200341003a00c701200341003a00c601200341003a00c501200341003a00c401200341003a00c301200341003a00c201200341003a00c101200341003a00c0010c010b20082003290360370000200841186a200c290300370000200841106a200b290300370000200841086a200a290300370000200341013a0020200341e0016a20034180016a200341206a410110b892808000200341c0026a41086a2209200341e0016a41086a220c290000370300200341c0026a41106a220a200341e0016a41106a2214290000370300200341c0026a41186a220b200341e0016a41186a2215290000370300200320032900e0013703c002200341e0016a200341c0026a410110d091808000200320032d00c0023a008003200320032d00c1023a00ff02200320032d00c2023a00fe02200320032d00c3023a00fd02200320032d00c4023a00fc02200320032d00c5023a00fb02200320032d00c6023a00fa02200320032d00c7023a00f902200320092d00003a00f802200320032d00c9023a00f702200320032d00ca023a00f602200320032d00cb023a00f502200320032d00cc023a00f402200320032d00cd023a00f302200320032d00ce023a00f202200320032d00cf023a00f1022003200a2d00003a00f002200320032d00d1023a00ef02200320032d00d2023a00ee02200320032d00d3023a00ed02200320032d00d4023a00ec02200320032d00d5023a00eb02200320032d00d6023a00ea02200320032d00d7023a00e9022003200b2d00003a00e802200320032d00d9023a00e702200320032d00da023a00e602200320032d00db023a00e502200320032d00dc023a00e402200320032d00dd023a00e302200320032d00de023a00e202200320032d00df023a00e102024020074101710d0041002107200341003a008003200341003a00ff02200341003a00fe02200341003a00fd02200341003a00fc02200341003a00fb02200341003a00fa02200341003a00f902200341003a00f802200341003a00f702200341003a00f602200341003a00f502200341003a00f402200341003a00f302200341003a00f202200341003a00f102200341003a00f002200341003a00ef02200341003a00ee02200341003a00ed02200341003a00ec02200341003a00eb02200341003a00ea02200341003a00e902200341003a00e802200341003a00e702200341003a00e602200341003a00e502200341003a00e402200341003a00e302200341003a00e202200341003a00e102200341206a41386a200341e0016a41386a290000370300200341206a41306a200341e0016a41306a290000370300200341206a41286a200341e0016a41286a290000370300200341206a41206a200341e0016a41206a290000370300200341206a41186a2015290000370300200341206a41106a2014290000370300200341206a41086a200c290000370300200320032900e0013703200c010b200320022d00423a009f03200320022d00433a009e03200320022d00443a009d03200320022d00453a009c03200320022d00463a009b03200320022d00473a009a03200320022d00483a009903200320022d00493a009803200320022d004a3a009703200320022d004b3a009603200320022d004c3a009503200320022d004d3a009403200320022d004e3a009303200320022d004f3a009203200320022d00503a009103200320022d00513a009003200320022d00523a008f03200320022d00533a008e03200320022d00543a008d03200320022d00553a008c03200320022d00563a008b03200320022d00573a008a03200320022d00583a008903200320022d00593a008803200320022d005a3a008703200320022d005b3a008603200320022d005c3a008503200320022d005d3a008403200320022d005e3a008303200320022d005f3a008203200320022d00603a008103200341186a200b290300370300200341106a200a290300370300200341086a2009290300370300200320032903c002370300200341003a0020200341003a009f03200341003a009e03200341003a009d03200341003a009c03200341003a009b03200341003a009a03200341003a009903200341003a009803200341003a009703200341003a009603200341003a009503200341003a009403200341003a009303200341003a009203200341003a009103200341003a009003200341003a008f03200341003a008e03200341003a008d03200341003a008c03200341003a008b03200341003a008a03200341003a008903200341003a008803200341003a008703200341003a008603200341003a008503200341003a008403200341003a008303200341003a008203200341003a008103200341206a41386a200341e0016a41386a290000370300200341206a41306a200341e0016a41306a290000370300200341206a41286a200341e0016a41286a290000370300200341206a41206a200341e0016a41206a290000370300200341206a41186a2015290000370300200341206a41106a2014290000370300200341206a41086a200c290000370300200320032900e001370320410121070b20034180016a10d391808000200d200341206a41386a290300370000200e200341206a41306a290300370000200f200341206a41286a2903003700002010200341206a41206a2903003700002011200341206a41186a2903003700002012200341206a41106a2903003700002013200341206a41086a29030037000020022003290320370000200220073a004020062003290300370000200641086a200341086a290300370000200641106a200341106a290300370000200641186a200341186a29030037000020042005470d000b0b2000200241e10010e9968080001a02402001280208450d00200128020041002802a8bfd38000118080808000000b200341a0036a2480808080000ba70102027f037e024020012802042206200128020c2207460d00034020062903102108200629030821092006290300210a2001200641186a220636020402400240200a42d5a981be8fd2c3ae26520d00200942c8efbb97c8e7e5ff49520d00200621060c010b20032008370310200320093703082003200a370300200341186a210320012802042106200128020c21070b20062007470d000b0b20002003360204200020023602000bee0102047f077e23808080800041306b2106024020012802042207200128020c2208460d00200641206a210903402007290300210a200641186a41106a200741186a290300220b3703002009200741106a290300220c37030020062007290308220d370318200641106a200741306a290300220e370300200741286a290300210f200729032021102003200a3703002003200d370308200341106a200c370300200341186a200b37030020032010370320200341286a200f370300200341306a200e370300200341386a2103200741386a22072008470d000b200120073602040b20002003360204200020023602000bfb0301017e02400240024002400240024002400240024020012d0000417f6a0e09000102030405060708000b20004200370310200042891c37030820004290fef1d200370300200041186a4200370300200041206a41003b01000f0b20004200370310200042b4303703082000429898e98e01370300200041186a4200370300200041206a41003b01000f0b20004200370310200042891c370308200042b8f09cce00370300200041186a4200370300200041206a41003b01000f0b20004200370310200042891c370308200042a8ebcbd200370300200041186a4200370300200041206a41003b01000f0b20004200370310200042891c370308200042b8ad80c300370300200041186a4200370300200041206a41003b01000f0b20004200370310200041186a4200370300200041206a41003b01002000200135020c220242ab147e42de077c3703082000200242bcb9cbc2007e42d0d0ff067c3703000f0b20004200370310200042891c370308200042b0d1e1c400370300200041186a4200370300200041206a41003b01000f0b20004200370308200042d8ccc602370300200041106a4200370300200041186a4200370300200041206a41003b01000f0b20004200370308200041106a4200370300200041186a4200370300200041206a41003b0100200042f8b5b40e4280d3f00920012d00011b3703000bd90a01027f02400240024002400240024002400240024002400240024002400240024020002d00000e0f000102030405060708090a0b0c0d0e000b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41003a00000f0b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41013a00000f0b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41023a00000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200128020420026a41033a00002001200241016a220236020820002d00102103024020012802002002470d0020012002410110fc90808000200128020821020b200128020420026a20033a00002001200241016a22023602080240200128020020026b41034b0d0020012002410410fc90808000200128020821020b2001200241046a360208200128020420026a200028020c3600000f0b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41043a00000f0b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41053a00000f0b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41063a00000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200128020420026a41073a00002001200241016a220236020820002d00012100024020012802002002470d0020012002410110fc90808000200128020821020b2001200241016a360208200128020420026a20003a00000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200128020420026a41083a00002001200241016a220236020820002d00012100024020012802002002470d0020012002410110fc90808000200128020821020b2001200241016a360208200128020420026a20003a00000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200128020420026a41093a00002001200241016a220236020820002d00012100024020012802002002470d0020012002410110fc90808000200128020821020b2001200241016a360208200128020420026a20003a00000f0b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a410a3a00000f0b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a410b3a00000f0b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a410c3a00000f0b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a410d3a00000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200128020420026a410e3a00002001200241016a220236020820002d00012100024020012802002002470d0020012002410110fc90808000200128020821020b2001200241016a360208200128020420026a20003a00000bce0604067f017e047f017e23808080800041d0006b220224808080800002400240024002400240024020012802082203280204200328020c22044b0d00024020032802082204280208220520042802102206470d00410121060c030b200641016a2207450d03200720054b0d042004280204210520042007360210200520066a2d000021050c010b2003200441016a36020c200328020020046a2d000021050b2001427f200129030042017c22082008501b370300410021060b4103210420064101710d02024002400240200541ff01710e03000102050b200241c0006a22064200370300200241386a22054200370300200241306a22074200370300200241286a22094200370300200241206a220a4200370300200241186a220b4200370300200241106a220c4200370300200242003703082003200241086a41c00010bc838080000d0420002002290308370001200041096a200c290300370000200041116a200b290300370000200041196a200a290300370000200041216a2009290300370000200041296a2007290300370000200041316a2005290300370000200041396a20062903003700002001427f2001290300220842c0007c220d200d2008541b370300410021040c040b200241c0006a22064200370300200241386a22054200370300200241306a22074200370300200241286a22094200370300200241206a220a4200370300200241186a220b4200370300200241106a220c4200370300200242003703082003200241086a41c00010bc838080000d0320002002290308370001200041096a200c290300370000200041116a200b290300370000200041196a200a290300370000200041216a2009290300370000200041296a2007290300370000200041316a2005290300370000200041396a20062903003700002001427f2001290300220842c0007c220d200d2008541b370300410121040c030b200241086a410041c10010eb968080001a2003200241086a41c10010bc838080000d022001427f2001290300220842c1007c220d200d2008541b370300200041016a200241086a41c10010e9968080001a410221040c020b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b200020043a0000200241d0006a2480808080000bd80402047f027e4103210202402001280208220328020022042802042205450d0020042005417f6a36020420042004280200220541016a3602002001427f200129030042017c22062006501b37030002400240024020052d00000e03000102030b20032802002205280204220441c000490d022005200441406a36020420052005280200220441c0006a3602002001427f2001290300220642c0007c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000200041216a200441206a290000370000200041296a200441286a290000370000200041316a200441306a290000370000200041396a200441386a290000370000410021020c020b20032802002205280204220441c000490d012005200441406a36020420052005280200220441c0006a3602002001427f2001290300220642c0007c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000200041216a200441206a290000370000200041296a200441286a290000370000200041316a200441306a290000370000200041396a200441386a290000370000200041013a00000f0b20032802002204280204220541c100490d002004200541bf7f6a36020420042004280200220241c1006a3602002001427f2001290300220642c1007c220720072006541b370300200041016a200241c10010e9968080001a200041023a00000f0b200020023a00000b9b0602067f027e41032102024020012802082203280208220420032802102205460d0002400240024002400240024002400240200541016a2206450d0020042006490d0120032802042107200320063602102001427f200129030042017c22082008501b370300024002400240200720056a2d00000e030001020b0b200420066b41c000490d0a200541c1006a2105200641bf7f4b0d04200520044b0d0520032802042104200320053602102000200420066a2203290000370001200041096a200341086a290000370000200041116a200341106a290000370000200041196a200341186a290000370000200041216a200341206a290000370000200041296a200341286a290000370000200041316a200341306a290000370000200041396a200341386a2900003700002001427f2001290300220842c0007c220920092008541b370300410021020c0a0b200420066b41c000490d09200541c1006a2105200641bf7f4b0d05200520044b0d0620032802042104200320053602102000200420066a2203290000370001200041096a200341086a290000370000200041116a200341106a290000370000200041196a200341186a290000370000200041216a200341206a290000370000200041296a200341286a290000370000200041316a200341306a290000370000200041396a200341386a2900003700002001427f2001290300220842c0007c220920092008541b370300200041013a00000f0b200420066b41c100490d08200541c2006a2105200641be7f4b0d06200520044b0d0720032802042104200320053602102001427f2001290300220842c1007c220920092008541b370300200041016a200420066a41c10010e9968080001a200041023a00000f0b417f200641a8c8ca800010ac81808000000b2006200441a8c8ca800010aa81808000000b2006200541a8c8ca800010ac81808000000b2005200441a8c8ca800010aa81808000000b2006200541a8c8ca800010ac81808000000b2005200441a8c8ca800010aa81808000000b2006200541a8c8ca800010ac81808000000b2005200441a8c8ca800010aa81808000000b200020023a00000bb70402047f027e410321020240200128020822032802042204450d0020032004417f6a36020420032003280200220541016a3602002001427f200129030042017c22062006501b37030002400240024020052d00000e03000102030b200441c100490d022003200441bf7f6a36020420032003280200220441c0006a3602002001427f2001290300220642c0007c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000200041216a200441206a290000370000200041296a200441286a290000370000200041316a200441306a290000370000200041396a200441386a290000370000410021020c020b200441c100490d012003200441bf7f6a36020420032003280200220441c0006a3602002001427f2001290300220642c0007c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000200041216a200441206a290000370000200041296a200441286a290000370000200041316a200441306a290000370000200041396a200441386a290000370000200041013a00000f0b200441c200490d002003200441be7f6a36020420032003280200220441c1006a3602002001427f2001290300220642c1007c220720072006541b370300200041016a200441c10010e9968080001a200041023a00000f0b200020023a00000ba50501047f200041016a210202400240024020002d00000e03000102000b02402001280200220320012802082200470d0020012000410110fc9080800020012802002103200128020821000b2001200041016a22043602082001280204220520006a41003a00000240200320046b413f4b0d002001200441c00010fc9080800020012802042105200128020821040b200520046a22002002290000370000200041386a200241386a290000370000200041306a200241306a290000370000200041286a200241286a290000370000200041206a200241206a290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a2900003700002001200441c0006a3602080f0b02402001280200220320012802082200470d0020012000410110fc9080800020012802002103200128020821000b2001200041016a22043602082001280204220520006a41013a00000240200320046b413f4b0d002001200441c00010fc9080800020012802042105200128020821040b200520046a22002002290000370000200041386a200241386a290000370000200041306a200241306a290000370000200041286a200241286a290000370000200041206a200241206a290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a2900003700002001200441c0006a3602080f0b02402001280200220320012802082204470d0020012004410110fc9080800020012802002103200128020821040b2001200441016a22003602082001280204220520046a41023a00000240200320006b41c0004b0d002001200041c10010fc9080800020012802042105200128020821000b200520006a200241c10010e9968080001a2001200041c1006a3602080b920301057f23808080800041106b2202248080808000024002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a36020002400240024002400240024020052d000022064103710e0403020100030b200641044f0d0520034105490d0520012003417b6a3602042001200541056a3602002005280001418080808004490d050c070b20034104490d0420012003417c6a3602042001200541046a36020020052f0001200541036a2d0000411074722203418002490d04200341087420067221030c030b20040d010c030b200641027621030c030b20012003417e6a3602042001200541026a36020020052d00012203450d01200341087420067221030b20034183024b0d02200341027621030c010b20004180808080783602000c020b200241046a2001200310f18280800002402002280204418080808078460d0020002002290204370200200041086a200241046a41086a2802003602000c020b20004180808080783602000c010b20004180808080783602000b200241106a2480808080000bf60201057f23808080800041106b22022480808080000240024020012802042203450d0020012003417f6a220436020420012001280200220541016a360200024002400240024002400240024020052d000022064103710e0400040201000b200641027621030c020b200641044f0d0520034105490d0520012003417b6a3602042001200541056a3602002005280001418080808004490d050c030b20034104490d0420012003417c6a3602042001200541046a36020020052f0001200541036a2d0000411074722203418002490d04200341087420067241027621030b200341204b0d01200241046a2001200310e2828080002002280204418080808078460d0220002002290204370200200041086a200241046a41086a2802003602000c040b2004450d0220012003417e6a3602042001200541026a36020020052d0001450d020b20004180808080783602000c020b20004180808080783602000c010b20004180808080783602000b200241106a2480808080000b140020012000280200200028020410e5808080000b6502017f027e23808080800041e0006b2201248080808000024020002903002202200041086a290300220384500d0020001097898080002001200337031820012002370310200141103a000041014100200110a98c8080000b200141e0006a2480808080000b6502017f027e23808080800041e0006b2201248080808000024020002903002202200041086a290300220384500d00200010968980800020012003370318200120023703102001410f3a000041014100200110a98c8080000b200141e0006a2480808080000b8c0905037f027e037f017e027f23808080800041e0086b220224808080800020022001280210200128021441002802a8bdd38000118580808000000240024020022802002203418080808078460d0041e181808000ad4220862001410c6a2204ad842105419a82808000ad422086200241df086aad8421062002410c6a210703402002280204210802400240200228020820012802082209490d0020012802042008200910ed96808000450d010b2003450d02200841002802a8bfd38000118080808000000c020b2002290204210a02402004280200450d00200128021041002802a8bfd38000118080808000000b2001200a3702102001200336020c20024198086a200aa7200a422088a741002802a0bdd3800011858080800000024002400240200228029808450d00200241086a20024198086a41086a290200220a3703002002200229029808370300410021080240200aa722034100480d0020022802042108024020030d00410121090c030b41002d00b8bfd380001a200341002802b0bfd380001182808080000022090d02410121080b2008200341d0cbc8800010ae80808000000b41002802ecbfd38000450d01200220053703980841002802d4bcd38000210341002802d0bcd38000210841002802e8bfd3800021092002420137023820024101360230200241b0cfc3800036022c2002411636022820024182d0c38000360224200242ca8080801037021c200241b8cfc380003602182002421637021020024182d0c3800036020c2002410036020820024281808080c08901370200200341c4dbc88000200941024622091b2802102103200220024198086a360234200841dcdbc8800020091b20022003118b80808000000c010b20092008200310e9968080002109200720082003200228020028021011858080800000024020012d001c450d00200128021020012802144100280280bdd38000118b80808000000b024002402001280214220b20012802082208490d002002200128021020086a200b20086b2009200320012802181187808080000020022802000d01200041046a200241046a41840810e9968080001a200041013602002003450d05200941002802a8bfd38000118080808000000c050b2008200b41ccd0c3800010a881808000000b024041002802ecbfd38000450d002002200637039008200220053703880841002802d4bcd38000210841002802d0bcd38000210b41002802e8bfd38000210c200242023702d008200241bcd0c380003602c408200241163602c00820024182d0c380003602bc08200242ca808080103702b408200241b8cfc380003602b008200242163702a80820024182d0c380003602a408200241003602a00820024281808080b08b0137029808200241023602c808200841c4dbc88000200c410246220c1b2802102108200220024188086a3602cc08200b41dcdbc88000200c1b20024198086a2008118b80808000000b2003450d00200941002802a8bfd38000118080808000000b20022001280210200128021441002802a8bdd380001185808080000020022802002203418080808078470d000b0b200041003602000b200241e0086a2480808080000b1e00200128021c4188f2c380004105200128022028020c118180808000000bc60201047f23808080800041206b220124808080800041002d00b8bfd380001a02400240410141002802b0bfd38000118280808000002202450d00200241003a0000200141013602102001200236020c20014101360208200141086a410141034101410110948a808000200128020c2202200128021022036a220441003b0000200441026a41003a0000200128020821040240200341036a22034104470d002002280000210302402004450d00200241002802a8bfd38000118080808000000b200321020c020b2004418080808078460d012001200336021c200120023602182001200436021441c8d1c3800041cb00200141146a41b8d1c38000419cd1c3800010a481808000000b4101410110b980808000000b200041053a00102000200236020c2000410b360208200041acd1c38000360204200041033a0000200141206a2480808080000bf01b08047f017e017f017e077f037e0a7f047e23808080800041f0056b2201248080808000200028022421020240024020002802282203450d002003410371210402400240200341044f0d004200210541002106420021070c010b200241b0016a21082003417c7121094200210541002106420021070340200841086a290300200841506a220a41086a290300200841a07f6a220b41086a290300200841f07e6a220c41086a29030020077c200c290300220720057c2205200754ad7c7c200b290300220720057c2205200754ad7c7c200a290300220720057c2205200754ad7c7c2008290300220720057c2205200754ad7c2107200841c0016a21082009200641046a2206470d000b0b02402004450d00200641306c20026a41206a21080340200841086a29030020077c2008290300220720057c2205200754ad7c2107200841306a21082004417f6a22040d000b0b200142e4c5bdb4b2e9a5a6807f3700c802200142d790d7a3fef9fda0c8003700c00220014298d5afd2c6aeacae2f3700b802200142c2cdc8b0c7b9e78f857f3700b0022001200737033820012005370330200141b0026a4120200141306a411041002802c8bdd3800011838080800000200241206a2108200341306c210403400240200829030042f403544100200841086a290300501b450d00200141003602c002200141013602b402200141a4d4c380003602b002200142043702b802200141b0026a41acd4c3800010f280808000000b200841306a2108200441506a22040d000c020b0b200142e4c5bdb4b2e9a5a6807f3700c802200142d790d7a3fef9fda0c8003700c00220014298d5afd2c6aeacae2f3700b802200142c2cdc8b0c7b9e78f857f3700b0022001420037033820014200370330200141b0026a4120200141306a411041002802c8bdd38000118380808000000b200141046a20022002200341306c6a10aa878080000240024002400240024002400240200128020c2003470d0020002802142208418180808078460d042000280210210d200028021c210420002802182106200029030021052001200041086a290300220737031820012005370310200d450d01200542f3035620074200522007501b450d0241ccd2c38000200620084180808080784622081b210902400240410c200420081b220e4103490d00200141b0026a2009200e41ece7c38000410210a081808000200141306a200141b0026a10f28780800020012802304101470d010c050b200e4102470d0020092f000041fbfa01460d040b200141003602c002200141013602b402200141ace8c380003602b002200142043702b802200141b0026a41b4e8c3800010f280808000000b200141003602c002200141013602b402200141b4d2c380003602b002200142043702b802200141b0026a41bcd2c3800010f280808000000b200141003602c002200141013602b402200141c4e7c380003602b002200142043702b802200141b0026a41cce7c3800010f280808000000b200141003602c002200141013602b402200141a4d4c380003602b002200142043702b802200141b0026a41dce7c3800010f280808000000b419b82808000ad422086200141c8046aad84210f419c82808000ad422086200141b0026aad842110419d82808000ad422086200141206aad842111200141b0026a41206a2112200141f0006a2113200141b4026a2114200141206a41086a2115200141c1056a221641076a2117200141e8056a211841002119034020014100360238200142808080801037023020014184ffc380003602d002200141033a00c802200142203702c002200141003602b802200141003602b0022001200141306a3602cc0220194101200141b0026a1091818080000d02410021080240024002404100200e200128023822044102491b22064100480d00200128023421002001280230211a41002108024020060d004101211b410021060c030b41002d00b8bfd380001a200641002802b0bfd3800011828080800000221b0d0141012108200e211b0b2008201b418c85c4800010ae80808000000b200e21060b200141003602b8052001201b3602b405200120063602b005200141b0026a2009200e41ece7c38000410210a081808000200141306a200141b0026a10f287808000201b210c4100210b024020012802304101470d0041002108201b210c4100210603402001280238210b024020012802b00520086b200128023420066b220a4f0d00200141b0056a2008200a4101410110948a80800020012802b405210c20012802b80521080b200c20086a200920066a200a10e9968080001a20012008200a6a22083602b805024020012802b00520086b20044f0d00200141b0056a200820044101410110948a80800020012802b80521080b20012802b405220c20086a2000200410e9968080001a2001200820046a22083602b805200141306a200141b0026a10f287808000200b210620012802300d000b20012802b00521060b2009200b6a210a0240200620086b200e200b6b22044f0d00200141b0056a200820044101410110948a80800020012802b405210c20012802b80521080b200c20086a200a200410e9968080001a2015200820046a360200200120012902b0053703200240201a450d00200041002802a8bfd38000118080808000000b200141b0026a200128022420012802284100200110f184808000200141013602b405200141e8e8c380003602b005200142013702bc05200120113703c8042001200141c8046a3602b805200141bc046a200141b0056a10b18080800020012802c00421040240024020012802b0020d0020012802bc042108200141306a201441800210e9968080001a02402008450d00200441002802a8bfd38000118080808000000b200141e8046a41086a2204201341086a220b290000370300200141e8046a41106a2206201341106a220c290000370300200141e8046a41186a220a201341186a2200290000370300200120132900003703e80441002d00b8bfd380001a412041002802b0bfd380001182808080000022080d014101412010b980808000000b20012802c4042108200141b0056a41106a201441106a280200360200200141b0056a41086a201441086a290200370300200120142902003703b00520042008200141b0056a41ece9c3800041fce9c3800010a481808000000b200820012903e804370000200841186a200a290300370000200841106a2006290300370000200841086a2004290300370000200141b0026a41186a2000290000370300200141b0026a41106a200c290000370300200141b0026a41086a200b290000370300200141013602b40520014198e9c380003602b005200142013702bc052001201037039805200120132900003703b002200120014198056a3602b8052001418c056a200141b0056a10b180808000200141c8046a41086a220b2004290300370300200141c8046a41106a22042006290300370300200141c8046a41186a2206200a290300370300200120012903e8043703c8040240200128028c05450d0020012802900541002802a8bfd38000118080808000000b200841002802a8bfd3800011808080800000200141c8046a10f5878080001a200141b0056a200141c8046a200141c8046a200141106a10b78c80800002400240024020012903b005220542028520012903b80584500d002018290300211c20012903e005210720012903d005211d02402005a7410171450d00200141b0056a41186a290300210520012903c005211e201241186a2006290300370000201241106a2004290300370000201241086a200b290300370000201220012903c804370000200120053703c8022001201e3703c002200141003a00b00241014100200141b0026a10a98c8080000b201da74101710d01410f21080c020b20012016290000370398052001201728000036009f0520012d00c005210820012902cc05211f0c010b201220012903c804370000201241186a2006290300370000201241106a2004290300370000201241086a200b290300370000200141013a00b002200120073703c0022001201c3703c80241014100200141b0026a10a98c808000410f21082007201c84500d00200142003703b8022001200742f303200742f303541b42f303201c501b3703b002200141b0026a10f6878080000b200141013602b402200141c4e9c380003602b002200142013702bc022001200f3703b0052001200141b0056a3602b802200141a4056a200141b0026a10b18080800020012802a8052104200841ff0171410f470d03024020012802a405450d00200441002802a8bfd38000118080808000000b200141306a10d191808000200141306a10d39180800002402001280220450d00200128022441002802a8bfd38000118080808000000b201941016a2219200d470d000b0b024002402003450d00200341306c2104200141b0026a41106a220841086a2106200841186a210a0340200241286a2903002105200229032021072002200210f7878080001a2008420037030020064200370300200841106a4200370300200a4200370300200120053703b802200120073703b0022001428080808080808080807f3703e802200142003703e002200141306a2002200141b0026a10df8c80800020012d0030410f470d02200241306a2102200441506a22040d000b0b200141046a10938b808000200141f0056a2480808080000f0b41d8d2c3800041ea0041c4d3c3800010f480808000000b41acffc380004137200141b0056a419cffc3800041d480c4800010a481808000000b20012802ac052106200141b8026a200128009f05360000200120083a00b00220012001290398053700b1022001201f3702bc0220042006200141b0026a41cce9c3800041dce9c3800010a481808000000bc10401087f0240024002400240024020012802000d00024020012d000e0d0020012d000c2102200128023421032001280230210402400240024020012802042205450d00024020052003490d0020052003460d010c020b200420056a2c00004140480d010b20052003460d0102400240200420056a22062c00002207417f4a0d0020062d0001413f7121082007411f7121090240200741604f0d00200941067420087221070c020b200841067420062d0002413f717221080240200741704f0d0020082009410c747221070c020b200841067420062d0003413f71722009411274418080f000717221070c010b200741ff017121070b4101210620024101710d0502402007418001490d00410221062007418010490d0041034104200741808004491b21060b2001200620056a22053602042005450d040240024020052003490d0020052003470d010c060b200420056a2c000041bf7f4a0d050b410121020b20012002417f734101713a000c200420032005200341808ec4800010f980808000000b20012002417f734101713a000c20024101710d05200141013a000e0b200041003602000f0b200141086a2105200128023c210320012802382102200128023421042001280230210702402001280224417f460d00200020052007200420022003410010d5888080000f0b200020052007200420022003410110d5888080000f0b20052003460d01200420056a2c00002203417f4a0d0020034160491a0b200521030b200141003a000c0b2000200336020820002003360204200041013602000b040041000b140020012000280204200028020810e5808080000bb20d05027f087e0a7f027e037f23808080800041b0016b220124808080800020012000360200200141106a200010ff87808000200141c0006a2001280214220220012802181096848080000240024020012802404101710d00428080808080808080807f21034200210442002105420021064200210742002108420021094200210a0c010b20014188016a2903002103200141f8006a2903002105200141e8006a2903002107200141d8006a2903002109200129038001210a2001290370210420012903602106200129035021080b02402001280210450d00200241002802a8bfd38000118080808000000b024020034200530d0002402006200784500d0020042005844200520d00200141106a200010ff87808000200141c0006a2001280214220b2001280218109684808000200128024020012802980141004771210202402001280210450d00200b41002802a8bfd38000118080808000000b024020020d00024041002802ecbfd380004102490d002001419e82808000ad4220862001ad8437031041002802d4bcd38000210041002802d0bcd38000210241002802e8bfd38000210b20014201370278200141a4ddc3800036026c20014111360268200141b4ddc38000360264200142c38080802037025c20014188ccc38000360258200142173702502001418ecec3800036024c200141003602482001428180808090f00037024020014102360270200041c4dbc88000200b410246220b1b28021021002001200141106a360274200241dcdbc88000200b1b200141c0006a2000118b8080800000200128020021000b2000200010f7878080001a200842f403200842f403561b200842f40320094200521b2009501b2108200128020021000b200141046a200010ff87808000200141c0006a20012802082202200128020c220b109684808000024002402001280240410171450d00200141106a41286a2200200141f8006a220c290300370300200141106a41206a220d200141f0006a220e290300370300200141106a41186a220f200141c0006a41286a2210290300370300200141106a41106a2211200141c0006a41206a2212290300370300200120012903503703102001200141c0006a41186a22132903003703182001280298012214450d0020014188016a2903002115200129038001211620012802900121172001280294012118200128029c01211920132001290318370300200c2000290300370300200e200d2903003703002010200f2903003703002012201129030037030020012016370380012001420037034820014201370340200120012903103703502001201936029c012001201436029801200120173602900120012015370388012001201841016a2200417f20001b220c3602940141002d00b8bfd380001a024041d00041002802b0bfd38000118280808000002200450d0020002014360008200120003602a4012000200c360004200141d0003602a001200020173600002000201936000c200141103602a801200141c0006a41106a200141a0016a10b88a80800020012802a00121002002200b20012802a401221420012802a80141002802c8bdd380001183808080000002402000450d00201441002802a8bfd38000118080808000000b410f210b410121000c020b410141d00010b980808000000b4105210b410021000b02402001280204450d00200241002802a8bfd38000118080808000000b024020000d002001200b3a001041002802ecbfd38000450d002001419f82808000ad422086200141106aad843703a801200141f680808000ad42208641c8a9c58000ad843703a00141002802d4bcd38000210041002802d0bcd38000210241002802e8bfd38000210b20014202370278200141d4a9c5800036026c20014112360268200141c0aac58000360264200142ca8080801037025c200141e4a9c580003602582001421b370250200141d2aac5800036024c2001410036024820014281808080d02537024020014102360270200041c4dbc88000200b410246220b1b28021021002001200141a0016a360274200241dcdbc88000200b1b200141c0006a2000118b80808000000b200128020021000b20012003428080808080808080807f843703782001200a370370200120053703682001200437036020012007370358200120063703502001200937034820012008370340200141106a2000200141c0006a10ba8c808000200141d9006a2001280200220041186a290000370000200141d1006a200041106a2900003700002001410e3a00402001200041086a2900003700492001200029000037004141014100200141c0006a10a98c8080000b200141b0016a2480808080002003427f550bed0102017f047e23808080800041c0006b2201248080808000024020002903002202200041086a290300220384500d00200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a2001412010878480800020014200200141386a2903004200200128022041017122001b220420037d2001290330420020001b2203200254ad7d2205200320027d2202200356200520045620052004511b22001b37032820014200200220001b370320200141206a1094898080000b200141c0006a2480808080000bdd0605037f027e017f017e017f23808080800041b0016b2202248080808000200241046a200010ff87808000200241c0006a20022802082203200228020c22041096848080000240024020022802404101710d0042002105200241386a4200370300200241306a4200370300200241286a4200370300200241206a42003703002002420037031820024200370310428080808080808080807f21064100210741002100420021080c010b200241106a41286a200241f8006a290300370300200241106a41206a200241f0006a290300370300200241106a41186a200241c0006a41286a290300370300200241206a200241c0006a41206a290300370300200220022903503703102002200241c0006a41186a29030037031820024188016a29030021062002290380012108200228029c012100200228029801210720022903900121050b02400240200720007222090d00200241d1006a200141086a290000370000200241d9006a200141106a290000370000200241e1006a200141186a290000370000200241033a0048200241163a0040200220012900003700494101210741014100200241c0006a10a98c8080000c010b200741016a2201417f20011b21070b200241c0006a41186a2002290318370300200241f8006a200241106a41286a290300370300200241f0006a200241106a41206a290300370300200241c0006a41286a200241106a41186a290300370300200241c0006a41206a200241106a41106a29030037030020022008370380012002420037034820024201370340200220022903103703502002200036029c0120022007360298012002200537039001200220063703880141002d00b8bfd380001a024041d00041002802b0bfd38000118280808000002201450d0020012007360008200220013602a801200120054220883e0004200241d0003602a401200120053e00002001200036000c200241103602ac01200241c0006a41106a200241a4016a10b88a80800020022802a40121012003200420022802a801220020022802ac0141002802c8bdd380001183808080000002402001450d00200041002802a8bfd38000118080808000000b2009410047210102402002280204450d00200341002802a8bfd38000118080808000000b200241b0016a24808080800020010f0b410141d00010b980808000000b9e0501047f2380808080004180016b220124808080800020014298d5afd2c6aeacae2f37000c200142c2cdc8b0c7b9e78f857f3700042001411c6a200141046a411041002802a8bdd380001185808080000002400240200128021c2202418080808078460d0020012802202103024020012802244110490d00200141046a2003411010ed96808000210402402002450d00200341002802a8bfd38000118080808000000b20040d010c020b2002450d00200341002802a8bfd38000118080808000000b024041002802ecbfd380004103490d0020014108360218200141a7c6c38000360214200141a082808000ad42208641bcd4c38000ad84370368200141ed80808000ad422086200141146aad8437036041002802d4bcd38000210241002802d0bcd38000210341002802e8bfd38000210420014202370254200141c8d5c3800036024820014116360244200141f8cdc38000360240200142c38080803037023820014188ccc380003602342001421737022c2001418ecec380003602282001410036022420014281808080b01937021c2001410236024c200241c4dbc88000200441024622041b28021021022001200141e0006a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b2001411c6a41a7c6c3800041084100280290bfd38000118580808000002001411c6a41106a220241809ac5800041154100280290bfd3800011858080800000200141e0006a41186a2001411c6a41186a290000370300200141e0006a41106a2002290000370300200141e0006a41086a2001411c6a41086a2900003703002001200129001c370360200141013b011c200141e0006a41202001411c6a410241002802c8bdd38000118380808000000b20004200370300200041086a420037030020014180016a2480808080000bf60201047f23808080800041c0006b220224808080800020022000360204410121000240200128021c220341908ec48000410e2001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110cc888080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10cc888080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000b140020002802002000280204200110eb808080000b9d0501047f2380808080004180016b220124808080800020014284c2b1b3ef9292841e37000c200142bce2f4b8c5daf6fa293700042001411c6a200141046a411041002802a8bdd380001185808080000002400240200128021c2202418080808078460d0020012802202103024020012802244110490d00200141046a2003411010ed96808000210402402002450d00200341002802a8bfd38000118080808000000b20040d010c020b2002450d00200341002802a8bfd38000118080808000000b024041002802ecbfd380004103490d0020014107360218200141f5c5c38000360214200141a082808000ad42208641bcd4c38000ad84370368200141ed80808000ad422086200141146aad8437036041002802d4bcd38000210241002802d0bcd38000210341002802e8bfd38000210420014202370254200141c8d5c3800036024820014116360244200141f8cdc38000360240200142c380808030370238200141a5cec380003602342001421f37022c200141e8cec380003602282001410036022420014281808080c00637021c2001410236024c200241c4dbc88000200441024622041b28021021022001200141e0006a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b2001411c6a41f5c5c3800041074100280290bfd38000118580808000002001411c6a41106a220241809ac5800041154100280290bfd3800011858080800000200141e0006a41186a2001411c6a41186a290000370300200141e0006a41106a2002290000370300200141e0006a41086a2001411c6a41086a2900003703002001200129001c370360200141013b011c200141e0006a41202001411c6a410241002802c8bdd38000118380808000000b20004200370300200041086a420037030020014180016a2480808080000be40201047f23808080800041206b220224808080800041002d00b8bfd380001a02400240410141002802b0bfd38000118280808000002203450d0020032001417f6a3a0000200241013602102002200336020c20024101360208200241086a410141034101410110948a808000200228020c2203200228021022046a220541003b0000200541026a41003a0000200228020821050240200441036a22044104470d002003280000210402402005450d00200341002802a8bfd38000118080808000000b200421030c020b2005418080808078460d012002200436021c200220033602182002200536021441c8d1c3800041cb00200241146a41b8d1c3800041f4d7c3800010a481808000000b4101410110b980808000000b200041003a00102000200336020c200041033a000020002001411874411875410274220341848fc480006a2802003602082000200341e08ec480006a280200360204200241206a2480808080000bd83302097f067e2380808080004180016b220324808080800041808080807821040240024020020d00410021020c010b200120026a210541002106200121070340024002400240024020072c00002208417f4c0d00200741016a21070c010b20072d0001413f7121092008411f71210a02400240200841604f0d00200a4106742009722108200741026a21070c010b200941067420072d0002413f717221090240200841704f0d002009200a410c74722108200741036a21070c010b200941067420072d0003413f7172200a411274418080f00071722208418080c400460d05200741046a21070b200841ff004b0d010b410021060c010b02400240200641ff01712008200841b9f3ddf1796c200841a6b2858a036c220673ad429a077e422088a74101744184a7cd80006a2f01006a41b9f3ddf1796c200673ad429a077e422088a741027441b8b5cd80006a2802002206410020064108762008461b220941ff017122064d0d0020060d010b02400240024002400240024002400240200841ffdf004a0d00024020084185364a0d000240200841de134a0d000240200841f8074a0d00200841e07e6a2206411a4d0d040c090b0240200841860b4a0d00024020084187786a0e210c0b0b0b0b0b0b0b0b0b0c0b0b0b0c0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c000b0240200841ad776a0e050c0b0b0b0c000b200841b908470d0a0c0b0b200841c0726a220641134d0d040c070b0240200841c21e4a0d000240200841c7184a0d000240200841dd144a0d000240200841cd6b6a0e040d0c0c0d000b200841df13470d0b0c0c0b200841de14460d0b200841c816460d0b2008419417470d0a0c0b0b0240200841b21c4a0d00200841c818460d0b200841c019460d0b200841da1b470d0a0c0b0b200841b31c460d0a200841b31d460d0a2008418c1e470d090c0a0b0240200841bd616a0e770a0909090909090909090a090909090a090909090a090909090a0909090909090909090909090a0909090909090909090a090909090909090909090909090a09090909090909090909090909090909090a0909090909090909090a090909090a090909090a090909090a0909090909090909090909090a000b200841a620460d09200841fc21470d080c090b024020084181c2004a0d000240200841bc3f4a0d000240200841fa496a0e3e0b0a0b0a0b0a0b0a0b0a0a0a0b0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0b0a0b0a0a0a0a0a0b000b200841a7416a220641044b0d064101200674411571450d060c0a0b0240200841efbf7f6a0e7e0a09090909090a09090909090909090909090909090909090909090909090a0909090909090909090909090a090a0909090909090909090909090909090909090909090909090a090909090909090a090909090909090909090909090909090a0a09090909090909090909090a0a0a090909090909090909090909090a0a000b200841c3406a4102490d09200841a8c100470d080c090b024020084183c4004a0d00024020084188c3004a0d00200841febd7f6a0e3f0a0a0909090a090a09090909090909090909090a0a090909090909090909090909090a090a090a090909090909090909090909090909090a090a090909090a090b20084189c300460d09200841aec300460d09200841cdc300470d080c090b0240200841a8c6004a0d00200841fcbb7f6a0e5f0908080808090808090808080808080808080808080808080808080808080808090809080808080808080808080808080808080808080808080808080809080809080809080908080808080808080808080808080808080808080808090809080b0240200841dbd5004a0d00200841d7b97f6a4102490d09200841eac900460d092008418cd400470d080c090b02402008419edd004a0d00200841dcd500460d09200841efda00470d080c090b2008419fdd00460d08200841f3dd00470d070c080b0240200841fbfb034a0d000240200841e8d6024a0d00024020084180a07f6a0e80020a09090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090a0909090909090909090909090909090909090909090a090a090a090a090a090a090a090a090a090a090a090a09090a090a090a0909090909090909090909090909090909090909090909090909090909090909090909090909090909090a0909090909090909090a0a0909090909090909090909090a090a090a090a090a090a090a090a090a090a090a090a09090a090a090a0909090909090909090909090909090909090909090909090909090909090909090909090909090909090a0909090909090909090a0a000b200841d0e400460d09200841f0ce02470d080c090b02402008419cf6034a0d00200841f08b7c6a220641124b0d0441012006744185801471450d040c090b0240200841e3897c6a0e0d09080808080808080808080809000b200841bef603470d070c080b0240200841bda9044a0d00024020084184847c6a0eed0309080808080808080808080808080808080808080808080808080809090908080808080808080808080808080808080808080808090808080809090909090909090909090909090909080809090808080808080808080808080808080909090909090908080809090808080809090808080808080808080809080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080809080808090909090909080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808090909090909080808080808080808080808080808080808080808080808080809090909090909090908080808080808080808080809080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080809090908080809000b200841e6de7b6a220641114b0d0741012006744185800871450d070c080b0240200841c2af074a0d000240200841faad074a0d000240200841baa9074a0d00200841bea904460d0a200841b8b204460d0a200841a2a907470d090c0a0b0240200841c0ad074a0d00200841bba907460d0a200841c6aa07470d090c0a0b200841c1ad07460d09200841dbad07470d080c090b0240200841ceae074a0d00200841fbad07460d0920084195ae07460d09200841b5ae07470d080c090b024020084188af074a0d00200841cfae07460d09200841efae07470d080c090b20084189af07460d08200841a9af07470d070c080b0240200841dca3786a0e5b08070708070707070707070707070707070707070708070807070707070708070707070807080708070707070707070708070708070807080708070807070707080707070707070707070707070707070707070707070707070708000b200841c3af07460d0720084190e307460d070c060b410120067441818ac23971450d040c060b41012006744185802071450d020c050b200841e9d602470d030c040b200841f83a470d020c030b0240200841d76d6a2206410b4b0d004101200674418112710d030b200841870b470d010c020b2008418c796a220641184b0d00410120067441c188b008710d010b200841feffff0071220641d0e407460d00200841fcffff0071220a41f4dc07460d00200a41b4dc07460d00200a4180dc07460d002006419ea907460d00200641baab04460d00200641aea204460d00200641e0ff03460d002006419eff03460d00200641e4fe03460d002006419afe03460d002006418efe03460d00200641eafc03460d00200a41d4fc03460d00200641c0f603460d00200a41dcd602460d00200641f8cf02460d002006419ccd02460d00200641dce100460d00200641d6e100460d00200641d0e100460d00200641fce000460d00200641f6e000460d00200641f0e000460d00200641fcd800460d00200a41e0c500460d00200a41acc500460d0020064188c500460d00200841faffff00714180c500460d00200641f8c400460d00200641f4c400460d00200641acc400460d00200641cec300460d002006419ac300460d00200841e0ffff007141e0c200460d00200841f0ffff007141d0c200460d00200a41bcc200460d0020064180c200460d00200641b6c000460d00200a41d03f460d00200841f8ffff0071220b41d03e460d00200641c036460d00200641dc1d460d00200641ca19460d00200641dc16460d00200641dc13460d00200b41d812460d00200641f809460d00200641d609460d00200a41d009460d00200641f608460d00200641d008460d002006418008460d00200641f407460d002006418407460d00200641c006460d002006419e04460d00200641a003460d00200641b201460d00200841c47e6a4103490d00200841c07e6a4106490d00200841b97e6a4109490d00200841af7e6a4106490d00200841a77e6a4105490d00200841a07e6a4106490d00200841997e6a4109490d002008418f7e6a4106490d00200841877e6a4105490d00200841817e6a4111490d00200841ee7d6a4114490d00200841d87d6a4109490d00200841ce7d6a4106490d00200841c77d6a4108490d00200841bd7d6a4107490d00200841b47d6a4106490d00200841ac7d6a4112490d00200841987d6a4118490d00200841d17c6a4102490d00200841bc7c6a4119490d00200841a27c6a4106490d002008419a7c6a4110490d00200841887c6a4124490d00200841da7b6a410e490d00200841d07a6a4109490d00200841a87a6a4106490d00200841a07a6a4105490d00200841bd796a4102490d00200841f8786a4103490d00200841f2786a4103490d00200841d6786a4107490d00200841b6786a4105490d00200841b0786a4107490d0020084190786a4103490d00200841f4776a4103490d00200841a4776a4103490d00200841bf766a4102490d00200841a6766a4106490d002008419e766a4106490d0020084196766a410c490d00200841de736a4105490d002008418b736a4104490d00200841b56c6a4102490d00200841a76b6a4103490d00200841b5696a4102490d00200841b6686a4103490d00200841b9666a4102490d00200841b6656a4103490d00200841a4646a4103490d002008418b616a4105490d00200841d4456a4103490d00200841d0456a410b490d00200841c4456a4112490d00200841b1456a411c490d00200841e5446a4125490d0020084180446a419c01490d00200841e0426a41da00490d0020084180426a4116490d00200841e8416a4106490d00200841e0416a4126490d00200841b8416a4106490d00200841a1416a411f490d0020084180416a4135490d00200841ca406a4107490d00200841c1406a4103490d00200841be406a4103490d00200841ba406a4107490d00200841b3406a4103490d00200841aa406a4106490d00200841a3406a4103490d00200841a0406a410d490d0020084193406a4103490d002008418e406a4103490d002008418a406a4107490d0020084183406a4102490d0020084180406a410b490d00200841dcbf7f6a4103490d00200841cdbf7f6a4102490d00200841b9bf7f6a4103490d002008418cbf7f6a4106490d0020084186bf7f6a4103490d0020084180bf7f6a410a490d00200841f6be7f6a4103490d00200841f0be7f6a410d490d00200841fbbd7f6a4102490d00200841f6bd7f6a410a490d00200841e7bd7f6a4105490d00200841e0bd7f6a4103490d00200841d6bd7f6a4104490d00200841d1bd7f6a4103490d00200841cdbd7f6a4102490d00200841cbbd7f6a4104490d00200841bbbd7f6a4105490d00200841d1bb7f6a4102490d0020084193bb7f6a4105490d0020084196ba7f6a4104490d00200841a0b77f6a413c490d00200841e4b67f6a41ce00490d002008418cab7f6a4103490d0020084180a27f6a41d601490d00200841c89f7f6a4103490d002008418d9f7f6a4102490d00200841879f7f6a4102490d00200841e59e7f6a4102490d00200841ad9e7f6a4102490d00200841a79e7f6a4102490d00200841899e7f6a4104490d00200841cf9d7f6a41de00490d00200841ee9c7f6a4104490d00200841ea9c7f6a410a490d00200841809c7f6a411f490d00200841e09b7f6a410a490d00200841d69b7f6a411e490d00200841af9b7f6a410f490d00200841a09b7f6a411f490d00200841809b7f6a410a490d00200841f69a7f6a4127490d00200841cf9a7f6a410f490d00200841c09a7f6a41c002490d002008418eb07d6a4103490d0020084180a87d6a41a4d700490d00200841808e7c6a418e02490d00200841eb8b7c6a410a490d00200841db8b7c6a4102490d00200841d68b7c6a41c400490d00200841908b7c6a41ea00490d00200841808a7c6a4107490d00200841ed897c6a4105490d00200841e1897c6a410a490d00200841d6897c6a410d490d00200841c8897c6a4105490d00200841bd897c6a4102490d00200841ba897c6a41ec00490d00200841ad887c6a41eb02490d00200841b0857c6a41c000490d00200841ee847c6a4136490d0020084190847c6a410c490d00200841f0837c6a4107490d00200841cf837c6a4102490d00200841cd837c6a4102490d00200841b7837c6a4104490d00200841b3837c6a4103490d00200841b0837c6a4103490d00200841a1837c6a4103490d002008419c837c6a4103490d0020084190837c6a4103490d002008418a837c6a418701490d00200841ff817c6a4103490d00200841fb817c6a4103490d00200841f0817c6a410a490d00200841e4817c6a4103490d00200841e1817c6a4102490d00200841df817c6a411a490d00200841bf817c6a411a490d002008419a817c6a410a490d002008418f817c6a412d490d00200841e0807c6a411f490d00200841be807c6a4106490d00200841b6807c6a4106490d00200841ae807c6a4106490d00200841a6807c6a4103490d002008419b807c6a4102490d0020084197807c6a4104490d0020084193807c6a4102490d00200841fff07b6a4105490d00200841f9f07b6a412a490d00200841cef07b6a4109490d00200841b5d97b6a4102490d00200841c5d67b6a4102490d00200841a2dd786a4107490d00200841c5dc786a4106490d0020084180d8786a41d500490d00200841aad7786a41c700490d00200841dbd6786a4102490d00200841d7d6786a4104490d00200841d2d6786a410c490d00200841c3d6786a4107490d00200841bbd6786a41c100490d00200841f9d5786a4104490d00200841f3d5786a4108490d00200841ead5786a4107490d00200841e2d5786a411c490d00200841c5d5786a4104490d00200841c0d5786a4105490d00200841b6d5786a4107490d00200841aed5786a41d402490d00200841d8d2786a4119490d00200841bed2786a4119490d00200841a4d2786a411f490d0020084184d2786a4119490d00200841ead1786a411f490d00200841cad1786a4119490d00200841b0d1786a411f490d0020084190d1786a4119490d00200841f6d0786a411f490d00200841d6d0786a4119490d00200841bcd0786a4108490d00200841b2d0786a4132490d00200841d0bf786a413e490d00200841fba3786a411b490d00200841dfa3786a4102490d00200841d7a3786a410a490d00200841b3a3786a4103490d00200841afa3786a4102490d002008419fa3786a4102490d0020084199a3786a4104490d0020084194a3786a4107490d0020084187a3786a4104490d0020084180a3786a410a490d00200841f5a2786a4111490d00200841dfa2786a4103490d00200841dba2786a4105490d00200841d5a2786a4111490d00200841809e786a410b490d00200841f09d786a411f490d00200841d09d786a4120490d00200841969d786a4103490d00200841809c786a4103490d00200841f09b786a412c490d00200841c09b786a4109490d002008419088786a410a490d00200921062008418090746a419d044b0d010b200320053602602003200136025c200341013a006c2003420037026420034100360258200341003a005420034100360250200341003a004c20034100360248200341003a004420034100360240200341003a003c200341003b013820034100360278200342808080801037027020034184ffc38000360228200341033a00202003422037021820034100360210200341003602082003200341f0006a3602240240200341386a200341086a10f98e8080000d002003280278210220032802742101200328027021040c030b41acffc380004137200341ff006a419cffc3800041d480c4800010a481808000000b20072005470d000b0b200341386a2001200210ea908080000240024020032f01380d00200341306a200341386a412a6a290100220c370300200341286a200341386a41226a290100220d370300200341206a200341386a411a6a290100220e370300200341186a200341386a41126a290100220f370300200341106a200341386a410a6a29010022103703002003200329013a22113703082000412a6a200c370100200041226a200d3701002000411a6a200e370100200041126a200f3701002000410a6a201037010020002011370102200041003b0100200441808080807872418080808078460d01200141002802a8bfd38000118080808000000c010b200341126a200341386a410c6a28020022083601002003200329023c220c37010a2000410c6a20083601002000200c370104200041013b0100200441808080807872418080808078460d00200141002802a8bfd38000118080808000000b20034180016a2480808080000be90302037f047e23808080800041f0006b22072480808080002007200110ff87808000200741106a20072802042208200728020810968480800020072802102109200741286a290300210a2007290320210b02402007280200450d00200841002802a8bfd38000118080808000000b20072001200520061080888080002007290308210c2007290300210d024002400240024020040d00200d200254200c200354200c2003511b450d01200041073b01040c020b200c2003200d200254200c200354200c2003511b22061b2103200d200220061b21020b0240200b4200200941017122061b220d20025a200a420020061b220c20035a200c2003511b0d00200041073b01040c010b200741106a2001200d20027d220a200c20037d200d200254ad7d2203108188808000024020072802100d0002402007280220410171450d0020072903302202200741386a290300220b844200510d00200720023703102007200b370318200741106a10f6878080000b2000410036020020004200200c20037d200d200a54ad7d2203200d200a7d2202200d562003200c562003200c511b22011b37031820004200200220011b3703100c020b200020072902143702042000410c6a200728021c360200200020072903203703100b200041013602000b200741f0006a2480808080000bb90501057f23808080800041d0006b220224808080800041002103200241106a41d4c6c3800041064100280290bfd3800011858080800000200241106a41106a41a7f5c3800041074100280290bfd380001185808080000041002d00b8bfd380001a0240412041002802b0bfd38000118280808000002204450d0020042001290000370000200441186a200141186a290000370000200441106a200141106a290000370000200441086a200141086a290000370000200241c0006a200441204100280280bfd38000118580808000002002200441206a36023c200220043602382002200241c0006a41106a3602342002200241c0006a360230200241046a200241306a41b8c9c8800010aa90808000200441002802a8bfd38000118080808000000240024002400240200228020c220441206a22014100480d0020022802082105024020010d002002410036024820024280808080103702400c030b4100210641002d00b8bfd380001a200141002802b0bfd380001182808080000022030d01410121030b200320014184dac3800010ae80808000000b20024100360248200220033602442002200136024020044160490d010b200241c0006a410041204101410110948a80800020022802442103200228024821060b200320066a22012002290010370000200141186a200241106a41186a290000370000200141106a200241106a41106a290000370000200141086a200241106a41086a2900003700002002200641206a22013602480240200228024020016b20044f0d00200241c0006a200120044101410110948a80800020022802442103200228024821010b200320016a2005200410e9968080001a200041086a200120046a3602002000200229024037020002402002280204450d00200541002802a8bfd38000118080808000000b200241d0006a2480808080000f0b4101412010b980808000000bbf0402027f067e23808080800041f0006b2204248080808000200441e4006a200110ff87808000200420042802682205200428026c109684808000420021064200210742002108420021094200210a4200210b02402004280200410171450d00200441386a2903002107200441286a2903002109200441186a290300210b20042903302106200429032021082004290310210a0b02402004280264450d00200541002802a8bfd38000118080808000000b42004200200720097d2006200854ad7d2209200620087d2208200656200920075620092007511b22051b20031b210742004200200820051b20031b210602400240024002400240200241ff01710e03010002010b200a200b84500d02200441e4006a200110ff87808000200420042802682201200428026c1096848080002004280200200428025841014671210302402004280264450d00200141002802a8bfd38000118080808000000b20030d010c030b200a200b84500d01200441e4006a200110ff87808000200420042802682201200428026c1096848080004101210302402004280200410171450d00200428025445200428025841014b7221030b02402004280264450d00200141002802a8bfd38000118080808000000b20030d020b200642f403200642f403561b200642f40320074200521b2007501b21060c010b4200210a4200210b0b20004200200b20077d200a200654ad7d2207200a20067d2206200a562007200b562007200b511b22031b37030820004200200620031b370300200441f0006a2480808080000b960905027f017e017f037e017f23808080800041b0026b22042480808080002004200337030820042002370300200441f0006a200110ff87808000200441d0016a20042802742205200428027810968480800042002106200441e8016a290300420020042802d00141017122071b210320042903e001420020071b210202402004280270450d00200541002802a8bfd38000118080808000000b02400240200220038450450d00420021080c010b200441f0006a200110ff87808000200441d0016a2004280274220720042802781096848080004200210642002108024020042802d001410171450d0042002108420042f40320042802a4024520042802a80241014b721b21060b2004280270450d00200741002802a8bfd38000118080808000000b20044200200320087d2002200654ad7d2208200220067d2206200256200820035620082003511b22071b37031820044200200620071b370310200110f5878080001a200420013602d0012004200441106a3602d801200420043602d401200441f0006a2001200441d0016a10bb8c808000024002400240024020042903702202420285200429037884500d00200441f0006a41386a2903002108200441f0006a41286a290300210620042903a0012109200429039001210302402002a7410171450d00200441f0006a41186a2903002102200429038001210a200441d0016a41386a200141186a29000037030020044180026a200141106a290000370300200441d0016a41286a200141086a290000370300200420023703e8012004200a3703e001200441003a00d001200420012900003703f00141014100200441d0016a10a98c8080000b02402003a7410171450d0020044188026a200141186a29000037030020044180026a200141106a290000370300200441f8016a200141086a290000370300200420093703e001200441013a00d001200420083703e801200420012900003703f00141014100200441d0016a10a98c8080000b200441c0006a41086a2207200441b9016a290000370300200441c0006a410f6a2205200441c0016a280000360000200420042900b10137034020042d00b00121012003420285200684500d01200441286a410f6a220b2005280000360000200441286a41086a22052007290300370300200441d8006a41086a2005290300370300200441d8006a410f6a200b28000036000020042004290340370358200141ff0171410f470d0220002009370320200020033703102000410036020020002008370328200020063703180c030b200441c8006a20044189016a290000370300200441cf006a20044190016a280000360000200420042900810137034020042d00800121010b200441286a410f6a2207200441c0006a410f6a280000360000200441286a41086a2205200441c0006a41086a290300370300200420042903402203370328200041146a20072800003600002000410d6a200529030037000020002003370005200020013a0004200041013602000c010b20002004290358370005200020013a000420004101360200200041146a200441e7006a2800003600002000410d6a200441e0006a2903003700000b200441b0026a2480808080000bc00302037f047e23808080800041f0006b2204248080808000200441e4006a200110ff87808000200420042802682205200428026c109684808000200441186a2903004200200428020041017122061b21072004290310420020061b210802402004280264450d00200541002802a8bfd38000118080808000000b4100210602400240024002400240427f200820027c220220022008542205200720037c2005ad7c220320075420032007511b22051b220242f403544100427f200320051b2203501b0d002002200885200320078584500d01200420012002200310818880800020042802000d0202402004280210410171450d0020042903202209200441286a290300220a844200510d00200420093703002004200a370308200410f6878080000b20004200200320077d2002200854ad7d2207200220087d2208200256200720035620072003511b22061b37031820004200200820061b3703100c030b20004200370318200042003703100c030b20004200370318200042003703100c010b200020042902043702042000410c6a200428020c36020020002004290310370310410121060c010b410021060b20002006360200200441f0006a2480808080000bd00503047f057e017f23808080800041f0006b2206248080808000200620012003200410848880800041072107410021080240024002400240024002400240024002400240024002400240024020062802000e080706000105020304070b410421080c060b410821070c050b410521080c040b41082108200541ff01710d030b2003200484500d05200641e4006a200210ff87808000200620062802682209200628026c10968480800041012107200641186a2903004200200628020041017122081b210a2006290310420020081b210b200641286a290300210c2006290320210d02402006280264450d00200941002802a8bfd38000118080808000000b41082109200b20037c220e200b54220f200a20047c200fad7c220b200a54200b200a511b0d04200e42f403544100200b501b450d0341022107410721090c040b410821070b410121080b200020083a0005200020073a00040c030b200d420020081b220a200e7c200a54220f200c420020081b220a200b7c200fad7c220b200a54200b200a511b450d010b200020073a0005200020093a00040c010b20012002412010ed96808000450d0141002108200620012003200441012005410010fe87808000024020062802000d002006200220032004108288808000200641386a200141186a290000370300200641306a200141106a290000370300200641286a200141086a290000370300200641c8006a200241086a290000370300200641d0006a200241106a290000370300200641d8006a200241186a2900003703002006200437031820062003370310200641023a0000200620012900003703202006200229000037034041014100200610a98c80800020002004370318200020033703100c030b200020062902043702042000410c6a200628020c360200200020062903103703100b410121080c010b2000200337031020002004370318410021080b20002008360200200641f0006a2480808080000bdb0807017f017e017f057e017f067e017f2380808080004180016b220424808080800002400240024002402002200384500d00200442e4c5bdb4b2e9a5a6807f370018200442d790d7a3fef9fda0c80037001020044298d5afd2c6aeacae2f370008200442c2cdc8b0c7b9e78f857f370000200441206a200441201087848080004200210520042903304200200428022041017122061b200254200441386a290300420020061b220720035420072003511b0d012004200110ff87808000200441206a20042802042206200428020810968480800042002108420021094200210a4200210b4200210702402004280220410171450d00200441d8006a2903002108200441c8006a290300210a200441386a290300210720042903502105200429034021092004290330210b0b02402004280200450d00200641002802a8bfd38000118080808000000b0240200b2002542206200720035420072003511b450d0020004200370308200042003703000c040b2004200110ff87808000200441206a2004280204220c20042802081096848080004200210d4200210e4200210f42002110420021114200211202402004280220410171450d00200441d8006a290300210e200441c8006a2903002110200441386a29030021122004290350210d2004290340210f200429033021110b02402004280200450d00200c41002802a8bfd38000118080808000000b4200200e20107d200d200f54ad7d2210200d200f7d220f200d562010200e562010200e511b220c1b210e4200200f200c1b210d02402011201284500d002004200110ff87808000200441206a2004280204221320042802081096848080004101210c02402004280220410171450d00200428027445200428027841014b72210c0b02402004280200450d00201341002802a8bfd38000118080808000000b200d200d42f403200d42f403561b200d42f403200e4200521b200e501b200c1b210d0b02400240024042002011200d7d220f200f2011562012200e7d2011200d54ad7d220d201256200d2012511b220c1b2002544200200d200c1b220d200354200d2003511b0d00200b20027d220242f403544100200720037d2006ad7d2203501b0d014207210d0c020b20004200370308200042053703000c050b2004200110ff87808000200441206a2004280204220620042802081096848080004101210102402004280220410171450d00200428027445200428027841014b7221010b02402004280200450d00200641002802a8bfd38000118080808000000b2001450d034206210d0b0240427f200220097c2207200720025422012003200a7c2001ad7c220720035420072003511b22011b200554427f200720011b220720085420072008511b0d00200020023703102000200d37030020002003370318200042003703080c040b20004200370308200042053703000c030b20004200370308200042073703000c020b20004200370308200042033703000c010b20004200370308200042013703000b20044180016a2480808080000b8c0504017f027e027f027e2380808080004180016b220724808080800020072001200420061080888080000240024002402007290300220820025a2007290308220920035a2003200951220a1b0d0020050d00200041073b01040c010b200742e4c5bdb4b2e9a5a6807f370078200742d790d7a3fef9fda0c80037007020074298d5afd2c6aeacae2f370068200742c2cdc8b0c7b9e78f857f3700602007200741e0006a4120108784808000410121050240200729031042002007280200410171220b1b2002200820022008542003200954200a1b220a1b22085a200741186a2903004200200b1b220220032009200a1b22035a20022003511b0d0020004188023b01040c020b200720012008200341012004200610fe87808000024020072802000d00200741186a2206290300210220072903102103200742e4c5bdb4b2e9a5a6807f370078200742d790d7a3fef9fda0c80037007020074298d5afd2c6aeacae2f370068200742c2cdc8b0c7b9e78f857f3700602007200741e0006a41201087848080002007420020062903004200200728020041017122061b220920027d2007290310420020061b2208200354ad7d220c200820037d220d200856200c200956200c2009511b22061b37030820074200200d20061b3703002007109489808000200741386a200141186a290000370300200741306a200141106a290000370300200741286a200141086a29000037030020072002370318200720033703102007410b3a0000200720012900003703204100210541014100200710a98c80800020002002370318200020033703100c020b200020072902043702042000410c6a200728020c360200200020072903103703100b410121050b2000200536020020074180016a2480808080000ba90201037f23808080800041106b2203248080808000410021042003410c6a41003a000020034100360208200320012002200341086a4105410041002802b0bdd38000118c80808000000240024020032802000d00410021040c010b0240200328020422010d000c010b02400240024002400240024020032d000822054103710e0400010502000b20054102762102410121040c050b20014101470d010c040b200141054f0d010c030b024020032d000922020d000c030b20024108742005724102762102410121040c020b200541034b0d012003280009220241ffffffff034b21040c010b20014104490d0020032f000920032d000b41107472220241ff014b2104200241087420057241027621020b2000200236020420002004360200200341106a2480808080000bc50401057f23808080800041d0006b220224808080800041002103200241146a41d4c6c3800041064100280290bfd3800011858080800000200241246a41bbf6c38000410d4100280290bfd380001185808080000020022001360234200241c8006a200241346a410441002802a0bfd38000118580808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a41b8c9c8800010aa9080800002400240024002402002280210220141206a22044100480d00200228020c2105024020040d002002410036024020024280808080103702380c030b4100210641002d00b8bfd380001a200441002802b0bfd380001182808080000022030d01410121030b200320044184dac3800010ae80808000000b200241003602402002200336023c2002200436023820014160490d010b200241386a410041204101410110948a808000200228023c2103200228024021060b200320066a22042002290014370000200441186a200241146a41186a290000370000200441106a200241146a41106a290000370000200441086a200241146a41086a2900003700002002200641206a22043602400240200228023820046b20014f0d00200241386a200420014101410110948a808000200228023c2103200228024021040b200320046a2005200110e9968080001a200041086a200420016a3602002000200229023837020002402002280208450d00200541002802a8bfd38000118080808000000b200241d0006a2480808080000bc50401057f23808080800041d0006b220224808080800041002103200241146a4180c6c3800041074100280290bfd3800011858080800000200241246a4195f6c3800041094100280290bfd380001185808080000020022001360234200241c8006a200241346a410441002802a0bfd38000118580808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a41b8c9c8800010aa9080800002400240024002402002280210220141206a22044100480d00200228020c2105024020040d002002410036024020024280808080103702380c030b4100210641002d00b8bfd380001a200441002802b0bfd380001182808080000022030d01410121030b200320044184dac3800010ae80808000000b200241003602402002200336023c2002200436023820014160490d010b200241386a410041204101410110948a808000200228023c2103200228024021060b200320066a22042002290014370000200441186a200241146a41186a290000370000200441106a200241146a41106a290000370000200441086a200241146a41086a2900003700002002200641206a22043602400240200228023820046b20014f0d00200241386a200420014101410110948a808000200228023c2103200228024021040b200320046a2005200110e9968080001a200041086a200420016a3602002000200229023837020002402002280208450d00200541002802a8bfd38000118080808000000b200241d0006a2480808080000bc50401057f23808080800041d0006b220224808080800041002103200241146a41d4c6c3800041064100280290bfd3800011858080800000200241246a41adf6c3800041094100280290bfd380001185808080000020022001360234200241c8006a200241346a410441002802a0bfd38000118580808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a41b8c9c8800010aa9080800002400240024002402002280210220141206a22044100480d00200228020c2105024020040d002002410036024020024280808080103702380c030b4100210641002d00b8bfd380001a200441002802b0bfd380001182808080000022030d01410121030b200320044184dac3800010ae80808000000b200241003602402002200336023c2002200436023820014160490d010b200241386a410041204101410110948a808000200228023c2103200228024021060b200320066a22042002290014370000200441186a200241146a41186a290000370000200441106a200241146a41106a290000370000200441086a200241146a41086a2900003700002002200641206a22043602400240200228023820046b20014f0d00200241386a200420014101410110948a808000200228023c2103200228024021040b200320046a2005200110e9968080001a200041086a200420016a3602002000200229023837020002402002280208450d00200541002802a8bfd38000118080808000000b200241d0006a2480808080000bb90503047f027e037f23808080800041b0016b2202248080808000200241046a200110ff87808000200241c0006a20022802082203200228020c220110968480800002400240024020022802404101710d00410521010c010b200241106a41286a200241f8006a290300370300200241106a41206a200241f0006a290300370300200241106a41186a200241c0006a41286a290300370300200241206a200241c0006a41206a290300370300200220022903503703102002200241c0006a41186a290300370318024020022802980122040d00410521010c010b02402002280294012205410f4d0d00410621010c010b20024188016a290300210620022903800121072002280290012108200228029c012109200241c0006a41186a2002290318370300200241f8006a200241106a41286a290300370300200241f0006a200241106a41206a290300370300200241c0006a41286a200241106a41186a290300370300200241c0006a41206a200241106a41106a29030037030020022007370380012002420037034820024201370340200220022903103703502002200936029c012002200436029801200220083602900120022006370388012002200541016a220a3602940141002d00b8bfd380001a41d00041002802b0bfd38000118280808000002205450d0120052004360008200220053602a8012005200a360004200241d0003602a401200520083600002005200936000c200241103602ac01200241c0006a41106a200241a4016a10b88a80800020022802a40121052003200120022802a801220420022802ac0141002802c8bdd380001183808080000002402005450d00200441002802a8bfd38000118080808000000b410f21010b200020013a000002402002280204450d00200341002802a8bfd38000118080808000000b200241b0016a2480808080000f0b410141d00010b980808000000bff0701087f23808080800041a0026b2203248080808000200341046a200110ff87808000200341106a20032802082204200328020c220510968480800020034200370318200328021021012003420037031002400240024002400240024020014101470d00200328026c21062003280268210720032802642101200341f0006a200341206a220841c40010e9968080001a02400240024020070e020001020b41002802ecbfd38000450d0041002802d4bcd38000210741002802d0bcd38000210941002802e8bfd38000210a200342003702f80120034281808080c0003702f001200341acd7c380003602ec012003410f3602e801200341d9d6c380003602e401200342c1808080103702dc0120034198d6c380003602d8012003420c3702d001200341e8d6c380003602cc01200341003602c80120034281808080e0cd013702c001200941dcdbc88000200a410246220a1b200341c0016a200741c4dbc88000200a1b280210118b80808000000b2006200172450d0320010d02410121070b20034200370318200342013703102008200341f0006a41c40010e99680800021022000418f023b01002003200636026c20032007417f6a22073602682003200136026441002d00b8bfd380001a41d00041002802b0bfd38000118280808000002200450d0520002007360008200320003602c40120002001360004200341d0003602c001200020032802603600002000200636000c200341103602c8012002200341c0016a10b88a80800020032802c00121012004200520032802c401220020032802c80141002802c8bdd38000118380808000002001450d04200041002802a8bfd38000118080808000000c040b41002802ecbfd38000450d0241002802d4bcd38000210141002802d0bcd38000210241002802e8bfd380002107200342003702f80120034281808080c0003702f001200341ecd7c380003602ec012003410f3602e801200341d9d6c380003602e401200342c1808080103702dc0120034198d6c380003602d8012003420c3702d001200341e8d6c380003602cc01200341003602c8012003428180808080d1013702c001200241dcdbc88000200741024622071b200341c0016a200141c4dbc8800020071b280210118b80808000000c020b200041043a00000c020b200341d1016a200241086a290000370000200341d9016a200241106a290000370000200341e1016a200241186a290000370000200341043a00c801200341163a00c001200320022900003700c90141014100200341c0016a10a98c8080000b2000410f3b0100200420054100280280bdd38000118b80808000000b02402003280204450d00200328020841002802a8bfd38000118080808000000b200341a0026a2480808080000f0b410141d00010b980808000000bd20601057f23808080800041a0016b220224808080800041002103200241f0006a41d4c6c3800041064100280290bfd3800011858080800000200241f0006a41106a41a7f5c3800041074100280290bfd380001185808080000041002d00b8bfd380001a0240412041002802b0bfd38000118280808000002204450d0020042001290000370000200441186a200141186a290000370000200441106a200141106a290000370000200441086a200141086a2900003700002002200441204100280280bfd38000118580808000002002200441206a36029c0120022004360298012002200241106a360294012002200236029001200241e4006a20024190016a41b8c9c8800010aa90808000200441002802a8bfd38000118080808000000240024002400240200228026c220141206a22054100480d0020022802682106024020050d002002410036020820024280808080103702000c030b4100210341002d00b8bfd380001a200541002802b0bfd380001182808080000022040d01410121030b200320054184dac3800010ae80808000000b20024100360208200220043602042002200536020020014160490d010b2002410041204101410110948a80800020022802042104200228020821030b200420036a22052002290070370000200541186a200241f0006a41186a290000370000200541106a200241f0006a41106a290000370000200541086a200241f0006a41086a2900003700002002200341206a22053602080240200228020020056b20014f0d002002200520014101410110948a80800020022802042104200228020821050b200420056a2006200110e9968080001a200520016a21012002280200210502402002280264450d00200641002802a8bfd38000118080808000000b2002200420011096848080000240024020022802004101710d002000428080808080808080807f370338200042003703302000420037030020004200370340200041286a4200370300200041206a4200370300200041186a4200370300200041106a4200370300200041086a4200370300200041c8006a42003703000c010b2000200241106a41d00010e9968080001a0b02402005450d00200441002802a8bfd38000118080808000000b200241a0016a2480808080000f0b4101412010b980808000000bae0601067f23808080800041d0006b220224808080800041002103200241106a41d4c6c3800041064100280290bfd3800011858080800000200241106a41106a419cf5c38000410b4100280290bfd380001185808080000041002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002204450d0020042000290000370000200441186a200041186a290000370000200441106a200041106a290000370000200441086a200041086a290000370000200241c0006a200441204100280280bfd38000118580808000002002200441206a36023c200220043602382002200241c0006a41106a3602342002200241c0006a360230200241046a200241306a41b8c9c8800010aa90808000200441002802a8bfd38000118080808000000240024002400240200228020c220041206a22054100480d0020022802082106024020050d002002410036024820024280808080103702400c030b4100210341002d00b8bfd380001a200541002802b0bfd380001182808080000022040d01410121030b200320054184dac3800010ae80808000000b20024100360248200220043602442002200536024020004160490d010b200241c0006a410041204101410110948a80800020022802442104200228024821030b200420036a22052002290010370000200541186a200241106a41186a290000370000200541106a200241106a41106a290000370000200541086a200241106a41086a2900003700002002200341206a22053602480240200228024020056b20004f0d00200241c0006a200520004101410110948a80800020022802442104200228024821050b200420056a2006200010e9968080001a2002280240210702402002280204450d00200641002802a8bfd38000118080808000000b41002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d01200320012902003700002002410836024820022003360244200241083602402004200520006a200241c0006a41002802f8bcd380001185808080000002402007450d00200441002802a8bfd38000118080808000000b200241d0006a2480808080000f0b4101412010b980808000000b4101410810b980808000000be90501067f23808080800041d0006b220224808080800041002103200241146a41d4c6c3800041064100280290bfd3800011858080800000200241246a41adf6c3800041094100280290bfd380001185808080000020022000280200360234200241c8006a200241346a410441002802a0bfd38000118580808000002002200241346a41046a3602442002200241d0006a36023c2002200241346a3602402002200241c8006a360238200241086a200241386a41b8c9c8800010aa9080800002400240024002402002280210220441206a22004100480d00200228020c2105024020000d002002410036024020024280808080103702380c030b4100210641002d00b8bfd380001a200041002802b0bfd380001182808080000022030d01410121030b200320004184dac3800010ae80808000000b200241003602402002200336023c2002200036023820044160490d010b200241386a410041204101410110948a808000200228023c2103200228024021060b200320066a22002002290014370000200041186a200241146a41186a290000370000200041106a200241146a41106a290000370000200041086a200241146a41086a2900003700002002200641206a22063602400240200228023820066b20044f0d00200241386a200620044101410110948a808000200228023c2103200228024021060b200320066a2005200410e9968080001a2002280238210702402002280208450d00200541002802a8bfd38000118080808000000b41002d00b8bfd380001a0240412041002802b0bfd38000118280808000002200450d0020002001290000370000200041186a200141186a290000370000200041106a200141106a290000370000200041086a200141086a2900003700002003200620046a2000412041002802c8bdd3800011838080800000200041002802a8bfd380001180808080000002402007450d00200341002802a8bfd38000118080808000000b200241d0006a2480808080000f0b4101412010b980808000000ba20608017f037e027f017e017f017e017f037e23808080800041c0016b2202248080808000200141c8006a29030021032001290340210420012903002105200241046a200010ff87808000200241d0006a20022802082200200228020c22061096848080000240024020022802504101710d0020024200370318200242003703100c010b200220022903a0013703102002200241a8016a2903003703180b024002402005a70d0042002104200241f8006a4200370300200241f0006a4200370300200241e8006a4200370300200241e0006a42003703002002420037035820024200370350428080808080808080807f21030c010b200241d0006a41286a200141386a290300370300200241d0006a41206a200141306a290300370300200241d0006a41186a200141286a290300370300200241e0006a200141206a290300370300200220012903103703502002200141186a2903003703580b200241206a41286a200241d0006a41286a22012903002205370300200241206a41206a200241d0006a41206a22072903002208370300200241206a41186a200241d0006a41186a2209290300220a370300200241206a41106a200241d0006a41106a220b290300220c37030020022002290358220d37032820022002290350220e37032020024188016a200537030020024180016a20083703002001200a3703002007200c3703002009200d370300200220033703980120022004370390012002200e370360200241a8016a20022903183703002002420037035820024201370350200220022903103703a00141002d00b8bfd380001a024041d00041002802b0bfd38000118280808000002201450d00200120022903a801370008200220013602b801200241d0003602b401200120022903a001370000200241103602bc01200b200241b4016a10b88a80800020022802b40121012000200620022802b801220720022802bc0141002802c8bdd380001183808080000002402001450d00200741002802a8bfd38000118080808000000b02402002280204450d00200041002802a8bfd38000118080808000000b200241c0016a2480808080000f0b410141d00010b980808000000bec0502037f027e23808080800041c0016b220224808080800020012802002103200241046a200010ff87808000200241d0006a20022802082200200228020c22041096848080000240024020022802504101710d0042002105200241c8006a4200370300200241c0006a4200370300200241386a4200370300200241306a4200370300200241186a4100360200200242003703282002420037032020024200370310428080808080808080807f21060c010b200241206a41286a20024188016a290300370300200241206a41206a20024180016a290300370300200241206a41186a200241d0006a41286a290300370300200241306a200241d0006a41206a290300370300200241186a200241ac016a28020036020020022002290360370320200220022902a4013703102002200241d0006a41186a29030037032820024198016a290300210620022903900121050b200241d0006a41186a200229032837030020024188016a200241206a41286a29030037030020024180016a200241206a41206a290300370300200241d0006a41286a200241206a41186a290300370300200241d0006a41206a200241206a41106a290300370300200241ac016a200241186a2802003602002002200637039801200220053703900120022002290320370360200220033602a001200220022903103702a401200242003703582002420137035041002d00b8bfd380001a024041d00041002802b0bfd38000118280808000002201450d00200120022903a801370008200220013602b801200120022802a401360004200241d0003602b40120012003360000200241103602bc01200241d0006a41106a200241b4016a10b88a80800020022802b40121012000200420022802b801220320022802bc0141002802c8bdd380001183808080000002402001450d00200341002802a8bfd38000118080808000000b02402002280204450d00200041002802a8bfd38000118080808000000b200241c0016a2480808080000f0b410141d00010b980808000000bb00705037f027e017f017e037f23808080800041b0016b2201248080808000200141046a200010ff87808000200141c0006a20012802082202200128020c220310968480800002400240024020012802404101710d0042002104200141386a4200370300200141306a4200370300200141286a4200370300200141206a42003703002001420037031820014200370310428080808080808080807f210541002106420021070c010b200141106a41286a200141f8006a290300370300200141106a41206a200141f0006a290300370300200141106a41186a200141c0006a41286a290300370300200141206a200141c0006a41206a290300370300200120012903503703102001200141c0006a41186a29030037031820014188016a29030021052001290380012104200128029001210620012903980121072001280294012200450d002000417f6a21080c010b4100210841002802ecbfd38000450d004100210841002802d4bcd38000210041002802d0bcd38000210941002802e8bfd38000210a2001420037027820014281808080c00037027020014190d6c3800036026c2001410f360268200141d9d6c38000360264200142c18080801037025c20014198d6c380003602582001420c370250200141e8d6c3800036024c2001410036024820014281808080a0df01370240200941dcdbc88000200a410246220a1b200141c0006a200041c4dbc88000200a1b280210118b80808000000b200141c0006a41186a2001290318370300200141f8006a200141106a41286a290300370300200141f0006a200141106a41206a290300370300200141c0006a41286a200141106a41186a290300370300200141c0006a41206a200141106a41106a2903003703002001200437038001200142003703482001420137034020012001290310370350200120073703980120012008360294012001200636029001200120053703880141002d00b8bfd380001a024041d00041002802b0bfd38000118280808000002200450d00200020073e0008200120003602a80120002008360004200141d0003602a40120002006360000200020074220883e000c200141103602ac01200141c0006a41106a200141a4016a10b88a80800020012802a40121002002200320012802a801220820012802ac0141002802c8bdd380001183808080000002402000450d00200841002802a8bfd38000118080808000000b02402001280204450d00200128020841002802a8bfd38000118080808000000b200141b0016a2480808080000f0b410141d00010b980808000000ba20201027f41002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002201450d00200142c2d5a39edcfaf091cd003700002001428fd982e48187ca80be7f3700182001428a85bedcc9a5d68d07370010200142c0c38addfcd9c9c1c40037000841002d00b8bfd380001a412041002802b0bfd38000118280808000002202450d01200041003a001c2000412036021420002001360210200042a080808080043702082000200236020420004120360200200041a18280800036021820022001290000370000200241186a200141186a290000370000200241106a200141106a290000370000200241086a200141086a2900003700000f0b4101412041f882c4800010ae80808000000b4101412041a89dc5800010ae80808000000bb70201027f23808080800041d0006b220524808080800002400240200241074b0d004101210641002802ecbfd38000450d0141002802d4bcd38000210241002802d0bcd38000210441002802e8bfd3800021032005420037024420054281808080c00037023c200541b4cac8800036023820054113360234200541bccac88000360230200542c380808010370228200541c8c9c880003602242005421337021c200541bccac880003602182005410036021420054281808080900e37020c200441dcdbc88000200341024622031b2005410c6a200241c4dbc8800020031b280210118b80808000000c010b410121062002417c714108460d002004418008490d0020012800082102200041086a200341800810e9968080001a20002002360204410021060b20002006360200200541d0006a2480808080000ba50701037f410021010240200041ffff03712202413a490d0002400240200241c00f4a0d000240200241b7034a0d000240200241416a0ece010404040404040403040404030303040403030403030303030303030303030303030303030303030303030403030303040303040303030403030303030303030403030303040303030303030303030303030303030303030303030303030303030303030303030303030303030304030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030403030403030303030303030303030304000b200241a403470d020c030b0240200241d5084a0d00024020024194064a0d00200241b803460d042002419a05470d030c040b2002419506460d03200241e307470d020c030b0240200241d0756a0e0a03020202020202020203000b200241d608460d02200241ec0b470d010c020b0240200241de364a0d00024020024196114a0d000240200241bf706a0e30040303030303030303030303030303030303030303030403040303030303030303030303040303030303030303030304000b200241d46f6a220241144b0d024101200274418180c10071450d020c030b0240200241a51f4a0d002002419711460d03200241ce11460d03200241851a470d020c030b0240200241f1284a0d00200241a61f460d03200241e222470d020c030b200241f228460d02200241ce2f470d010c020b02400240200241cecd004a0d000240200241a1c5004a0d000240200241a1496a0e0705040404040405000b2002418a39460d04200241df39470d030c040b200241deba7f6a220341144b0d014101200374418180c80071450d010c030b0240200241fade004a0d000240200241ddd9004a0d00200241cfcd00460d04200241b9ce00470d030c040b200241ded900460d03200241acdc00470d020c030b0240200241bbe6004a0d00200241fbde00460d032002419fdf00470d020c030b200241bce600460d02200241e9f200460d020c010b200241f0c600460d01200241cfcc00460d010b02400240200041ffff0371220241c4094a0d00200241a87f6a0e320202020102020101010102020202010101010101010101010101010101010101010101010101010102020101010101010202010b200241bb766a4102490d01200241fc756a4102490d01200241e26e6a4102490d010b200041bca77f6a41ffff037141feff034921010b20010be40201047f23808080800041206b220224808080800041002d00b8bfd380001a02400240410141002802b0bfd38000118280808000002203450d002003200141ff01714101473a0000200241013602102002200336020c20024101360208200241086a410141034101410110948a808000200228020c2203200228021022046a220541003b0000200541026a41003a0000200228020821050240200441036a22044104470d002003280000210402402005450d00200341002802a8bfd38000118080808000000b200421030c020b2005418080808078460d012002200436021c200220033602182002200536021441c8d1c3800041cb00200241146a41b8d1c3800041d8dac3800010a481808000000b4101410110b980808000000b200041083a00102000200336020c200041033a000020004112410b200141ff017141014622031b360208200041e8dac3800041fadac3800020031b360204200241206a2480808080000b8c0605027f027e017f047e017f2380808080004180016b220b2480808080004102210c02402007a7410171450d004200210d420021074200210e02402009200358200a200458200a2004511b0d00200b41e0006a200010ff87808000200b200b280264220f200b280268109684808000200b41286a2903002110200b41186a2903002111200b2903202112200b2903102113200b28020021140240200b280260450d00200f41002802a8bfd38000118080808000000b420021074200210e20142012201384201020118484420052714101470d00200b20004200200920037d22072007200956200a20047d2009200354ad7d2207200a562007200a511b22141b4200200720141b1082888080000240200b2802000d00200b41186a290300210e200b2903102107200b41386a200041186a290000370300200b41306a200041106a290000370300200b41286a200041086a290000370300200b200e370318200b2007370310200b41073a0000200b200029000037032041014100200b10a98c8080000c010b420021074200210e0b42002104024002402007200985200e200a8584500d002009200756200a200e56200a200e511b450d01200a200e7d2009200754ad7d2104200920077d210d0b200b4200370328200b4201370320200b4200370308200b4201370300200b2005200d2005200d54200620045420062004511b22001b220a370330200b200d200a7d370310200b2006200420001b2209370338200b200420097d200d200a54ad7d370318200b10ad878080000c010b200b42e4c5bdb4b2e9a5a6807f370078200b42d790d7a3fef9fda0c800370070200b4298d5afd2c6aeacae2f370068200b42c2cdc8b0c7b9e78f857f370060200b200b41e0006a4120108784808000200b427f200b41186a2903004200200b280200410171220c1b2206200e200a7d2007200954ad7d7c200b2903104200200c1b220a200720097d7c2209200a54220cad7c220a200c200a200654200a2006511b220c1b370308200b427f2009200c1b370300200b1094898080004100210c0b200b4180016a248080808000200c418002720bef0504027f047e017f017e23808080800041c0016b2204248080808000200420033703082004200237030002400240200220038450450d0042002102420021030c010b200441106a200110ff87808000200441e0006a20042802142205200428021810968480800020044188016a2903002106200441f8006a29030021072004290380012108200429037021092004280260210a02402004280210450d00200541002802a8bfd38000118080808000000b200a2008200984200620078484420052714101470d00200110f5878080001a200441106a20012001200410b98c80800020042903102206420285200429031884500d00200441d8006a2903002107200441106a41386a290300210820042903502102200429034021032004290330210902402006a7410171450d00200441106a41186a29030021062004290320210b200441e0006a41386a200141186a29000037030020044190016a200141106a29000037030020044188016a200141086a290000370300200420063703782004200b370370200441003a0060200420012900003703800141014100200441e0006a10a98c8080000b02402009a7220a410171450d0020044198016a200141186a29000037030020044190016a200141106a29000037030020044188016a200141086a29000037030020042003370370200441013a006020042008370378200420012900003703800141014100200441e0006a10a98c8080000b0240200a4101470d002003200884500d00200442003703682004200342f303200342f303541b42f3032008501b370360200441e0006a10f6878080000b20044198016a200141186a29000037030020044190016a200141106a29000037030020044188016a200141086a290000370300200441053a00602004200129000037038001200420023703702004200737037841014100200441e0006a10a98c808000200429030820077d20042903002206200254ad7d2103200620027d21020b2000200237030020002003370308200441c0016a2480808080000bea0201047f23808080800041206b220224808080800041002d00b8bfd380001a02400240410141002802b0bfd38000118280808000002203450d0020032001417f6a3a0000200241013602102002200336020c20024101360208200241086a410141034101410110948a808000200228020c2203200228021022046a220541003b0000200541026a41003a0000200228020821050240200441036a22044104470d002003280000210402402005450d00200341002802a8bfd38000118080808000000b200421030c020b2005418080808078460d012002200436021c200220033602182002200536021441c8d1c3800041cb00200241146a41b8d1c380004188dbc3800010a481808000000b41014101418cf5c3800010ae80808000000b200041043a00102000200336020c200041033a000020002001411874411875410274220341d88fc480006a2802003602082000200341a88fc480006a280200360204200241206a2480808080000b0f002000280200200110a7928080000bba1c01077f23808080800041c0006b22012480808080002001410036020c20014280808080800137020441002d00b8bfd380001a0240024002400240024002400240024002400240024002400240024002400240024002400240410841002802b0bfd38000118280808000002202450d00200241f5dec380003602002002412636020441002d00b8bfd380001a411041002802b0bfd38000118280808000002203450d012003420037000820034200370000200141046a41ac99c4800010a58a8080002001280208220442e987d8bed5a3d0fbfb0037020820044100360200200441013a0074200441013602702004200236026c2004429080808010370264200420033602602004411036025c2004420d370244200441e199c48000360240200441e880808000360218200442e2e68fceaa92ce9c7b3702102001410136020c41002d00b8bfd380001a410841002802b0bfd38000118280808000002202450d02200241bddfc38000360200200241c20036020441002d00b8bfd380001a411041002802b0bfd38000118280808000002203450d0320034200370008200342003700000240200128020c22052001280204470d00200141046a41ac99c4800010a58a8080000b2001280208200541f8006c6a220441013a0074200441013602702004200236026c2004429080808010370264200420033602602004411036025c20044210370244200441bc9bc48000360240200441e880808000360218200442e2e68fceaa92ce9c7b370210200442e987d8bed5a3d0fbfb00370208200441003602002001200541016a220236020c41002d00b8bfd380001a41c00141002802b0bfd38000118280808000002204450d06200441d0003602bc01200441cee6c380003602b801200441ca003602b40120044184e6c380003602b001200441db003602ac01200441a9e5c380003602a801200441d4003602a401200441d5e4c380003602a0012004410036029c01200442848080801037029401200441efe3c38000360290012004410336028c01200441ece3c38000360288012004411d36028401200441b8e4c38000360280012004412c36027c200441bae2c380003602782004410d360274200441ade2c380003602702004410036026c2004428a80808010370264200441a3e2c380003602602004410036025c200442c580808010370254200441f3e3c380003602502004410036024c2004428480808010370244200441efe3c380003602402004410336023c200441ece3c380003602382004418601360234200441e6e2c380003602302004412c36022c200441bae2c380003602282004410d360224200441ade2c380003602202004410036021c2004428a80808010370214200441a3e2c380003602102004410036020c200442c280808010370204200441e1e1c3800036020041002d00b8bfd380001a410141002802b0bfd38000118280808000002206450d05200641023a000041002d00b8bfd380001a41c00041002802b0bfd38000118280808000002203450d04200342003700002003428080808080808080807f37003820034200370030200341286a4200370000200341206a4200370000200341186a4200370000200341106a4200370000200341086a4200370000024020022001280204470d00200141046a4180f6c3800010a58a8080000b2001280208200241f8006c6a2202200129021037024c20024207370244200241a7f5c38000360240200241ee80808000360238200242b9ae9c9d87a9e0f55c37033020024286d8d0b0e0fff190837f370328200241808180800036022020024298c69af39cdb87a7917f370318200242e4bdf1e8c1f1c6cf8d7f3703102002410136020c200220063602082002428180808010370300200241013a0074200241183602702002200436026c200242c0808080800337026420022003360260200241c00036025c200241d4006a200141106a41086a2902003702002001200541026a220436020c41002d00b8bfd380001a412041002802b0bfd38000118280808000002202450d09200241ffdfc38000360200200241eb0036021c200241f6e0c3800036021820024100360214200242c98080801037020c200241ade0c380003602082002412e36020441002d00b8bfd380001a410141002802b0bfd38000118280808000002203450d08200341023a000041002d00b8bfd380001a410441002802b0bfd38000118280808000002206450d07200141106a41086a2207410036020020012006360214200141043602102001410036023c20012001413c6a360220200141206a200141106a10d583808000200141306a41086a2206200728020036020020012001290210370330024020042001280204470d00200141046a4180f6c3800010a58a8080000b2001280208200441f8006c6a22044205370244200441b6f6c38000360240200441a28280800036023820044286a5f6e1adecc8e6b07f370330200442d9daf2c0d5ca96ac25370328200441808180800036022020044298c69af39cdb87a7917f370318200442e4bdf1e8c1f1c6cf8d7f3703102004410136020c2004200336020820044281808080103703002004200129033037025c200441013a0074200441043602702004200236026c20044104360268200441e4006a20062802003602002001200541036a220436020c41002d00b8bfd380001a411841002802b0bfd38000118280808000002202450d0c200241c5ddc38000360200200241ec00360214200241eeddc380003602102002410036020c200242a98080801037020441002d00b8bfd380001a410141002802b0bfd38000118280808000002203450d0b200341023a00002001410036023820014280808080800237023041002d00b8bfd380001a410441002802b0bfd38000118280808000002206450d0a200141106a41086a220741003602002001200636021420014104360210200141306a200141106a10c88b808000200141206a41086a2206200728020036020020012001290210370320024020042001280204470d00200141046a4180f6c3800010a58a8080000b2001280208200441f8006c6a220442083702442004419ef6c38000360240200441a382808000360238200442ab8583c9d7f3c1f8ed00370330200442e48aaacfa3cfbae48e7f370328200441808180800036022020044298c69af39cdb87a7917f370318200442e4bdf1e8c1f1c6cf8d7f3703102004410136020c2004200336020820044281808080103703002004200129032037025c200441013a0074200441033602702004200236026c20044103360268200441e4006a20062802003602002001200541046a220436020c41002d00b8bfd380001a410841002802b0bfd38000118280808000002202450d0f2002411b360204200241dadec3800036020041002d00b8bfd380001a410141002802b0bfd38000118280808000002203450d0e200341023a000041002d00b8bfd380001a410441002802b0bfd38000118280808000002206450d0d200141106a41086a220741003602002001200636021420014104360210200141003602202001200141206a360230200141306a200141106a10d58380800041104100200141106a109883808000200141306a41086a2206200728020036020020012001290210370330024020042001280204470d00200141046a4180f6c3800010a58a8080000b2001280208200441f8006c6a2204420537024420044190f6c38000360240200441a482808000360238200442c9918e9ffdb8c3d0ed00370330200442f0ded29baea3b1baf500370328200441808180800036022020044298c69af39cdb87a7917f370318200442e4bdf1e8c1f1c6cf8d7f3703102004410136020c2004200336020820044281808080103703002004200129033037025c200441013a0074200441013602702004200236026c20044101360268200441e4006a20062802003602002001200541056a220436020c41002d00b8bfd380001a410841002802b0bfd38000118280808000002202450d12200241223602042002419bdfc3800036020041002d00b8bfd380001a410141002802b0bfd38000118280808000002203450d11200341023a000041002d00b8bfd380001a410441002802b0bfd38000118280808000002206450d10200141106a41086a2207410036020020012006360214200141043602102001410036023c20012001413c6a360220200141206a200141106a10d583808000200141306a41086a2206200728020036020020012001290210370330024020042001280204470d00200141046a4180f6c3800010a58a8080000b2001280208200441f8006c6a22044207370244200441a6f6c38000360240200441a582808000360238200442c9f5eb9baef2c4fc9b7f3703302004429ac489e99af892e27b370328200441808180800036022020044298c69af39cdb87a7917f370318200442e4bdf1e8c1f1c6cf8d7f3703102004410136020c2004200336020820044281808080103703002004200129033037025c200441013a0074200441013602702004200236026c20044101360268200441e4006a2006280200360200200141046a41086a200541066a2204360200200041086a20043602002000200129020437020020004108360210200041a7c6c3800036020c200141c0006a2480808080000f0b4104410810b980808000000b4101411010b980808000000b4104410810b980808000000b4101411010b980808000000b410141c00010b980808000000b4101410110b980808000000b410441c00110b980808000000b4101410410b980808000000b4101410110b980808000000b4104412010b980808000000b41014104418cf5c3800010ae80808000000b4101410110b980808000000b4104411810b980808000000b41014104418cf5c3800010ae80808000000b4101410110b980808000000b4104410810b980808000000b41014104418cf5c3800010ae80808000000b4101410110b980808000000b4104410810b980808000000bd20503067f017e017f23808080800041c0006b2201248080808000200141246a41c8f6c38000410a41d2f6c3800041204104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d002002410036023820024101360224200241f2f6c38000360220200241a682808000360218200242c7d696b8eebdaebe827f370310200242cc83b6cbdba4c8c40f37030820024101360204200241b8f1c3800036020020014102360238200120023602302001200241c0006a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c2104200128021021052001280214210620012902282107200128022421082001410036021420014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220242cdf5c6b5a4fdcf9b033703002002420437022c20024206370224200241f9ecc1800036022020024100360218200241a78280800036021020024285a8c8b88ac9e984fb00370308200128021021022001200128020c3602142001200236020c2001200241386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002008418080808078460d01200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bd20503067f017e017f23808080800041c0006b2201248080808000200141246a41c8f6c38000410a41d2f6c3800041204104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d002002410036023820024101360224200241f2f6c38000360220200241a88280800036021820024297a58adcf6c6a6fc967f370310200242a184bad8bec1a6912237030820024101360204200241b8f1c3800036020020014102360238200120023602302001200241c0006a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c2104200128021021052001280214210620012902282107200128022421082001410036021420014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220242cde6f7a7d7b6d8fcc2003703002002420437022c20024206370224200241f9ecc1800036022020024100360218200241a9828080003602102002429c90c2ddcbddc2d873370308200128021021022001200128020c3602142001200236020c2001200241386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002008418080808078460d01200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bd10503067f017e017f23808080800041c0006b2201248080808000200141246a41c8f6c38000410a41d2f6c3800041204104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d002002410036023820024101360224200241f2f6c38000360220200241aa82808000360218200242b3edcdd0e0ffba86223703102002428dc9addbabbab7c4a77f37030820024101360204200241b8f1c3800036020020014102360238200120023602302001200241c0006a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c2104200128021021052001280214210620012902282107200128022421082001410036021420014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220242a2afc29e8cead6ef523703002002420437022c20024206370224200241f9ecc1800036022020024100360218200241ab828080003602102002428785c0dbdbf59fb87f370308200128021021022001200128020c3602142001200236020c2001200241386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002008418080808078460d01200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000b920901097f41002d00b8bfd380001a0240024002400240024002400240024041c00241002802b0bfd38000118280808000002201450d0041002d00b8bfd380001a0240411041002802b0bfd38000118280808000002202450d0020024200370008200242f40337000041002d00b8bfd380001a41c00041002802b0bfd38000118280808000002203450d032003418ceac380003602002003413c36023c20034183edc3800036023820034100360234200342a38080801037022c200341e0ecc38000360228200341d6003602242003418aecc38000360220200341d80036021c200341b2ebc38000360218200341d600360214200341dceac380003602102003410036020c200342d08080801037020441002d00b8bfd380001a410441002802b0bfd38000118280808000002204450d022004410036000041002d00b8bfd380001a412041002802b0bfd38000118280808000002205450d05200541bfedc38000360200200541eb0036021c200541f6e0c3800036021820054100360214200542b78080801037020c200541fcedc380003602082005413d36020441002d00b8bfd380001a410441002802b0bfd38000118280808000002206450d042006413236000041002d00b8bfd380001a411841002802b0bfd38000118280808000002207450d07200741bbeec38000360200200741ec00360214200741eeddc380003602102007410036020c200742c38080801037020441002d00b8bfd380001a410441002802b0bfd38000118280808000002208450d062008410036000041002d00b8bfd380001a410841002802b0bfd380001182808080000022090d084104410810b980808000000b4101411010b980808000000b410841c00210b980808000000b4101410410b980808000000b410441c00010b980808000000b4101410410b980808000000b4104412010b980808000000b4101410410b980808000000b4104411810b980808000000b200941d80036020420094189efc3800036020020012008360294022001410436029002200142013702a402200120093602a002200142848080801037039802200141b38080800036028802200142d7c9cb8fc1cf97db3e37038002200142e88488d0c0e3aebc133703f8012001410a3602f401200141e1efc380003602f001200142033702d401200120073602d00120014284808080303703c801200120063602c401200141043602c001200141b3808080003602b801200142d7c9cb8fc1cf97db3e3703b001200142e88488d0c0e3aebc133703a8012001410b3602a401200141feeec380003602a0012001420437028401200120053602800120014284808080c0003703782001200436027420014104360270200141b380808000360268200142d7c9cb8fc1cf97db3e370360200142e88488d0c0e3aebc1337035820014108360254200141b3eec3800036025020014208370234200120033602302001429080808080013703282001200236022420014110360220200141e880808000360218200142e2e68fceaa92ce9c7b370310200142e987d8bed5a3d0fbfb0037030820014112360204200141cedbc380003602002000410436020820002001360204200041043602000bf00302017f077e23808080800041b0016b2203248080808000200110f5878080001a200320012001200210b88c8080000240024020032903002204420285200329030884500d00200341c8006a2903002105200341386a290300210620032903402107200329033021082003290320210902402004a7410171450d00200341186a29030021042003290310210a200341d0006a41386a200141186a29000037030020034180016a200141106a290000370300200341f8006a200141086a290000370300200320043703682003200a370360200341003a00502003200129000037037041014100200341d0006a10a98c8080000b02402009a72202410171450d0020034188016a200141186a29000037030020034180016a200141106a290000370300200341f8006a200141086a29000037030020032008370360200341013a0050200320063703682003200129000037037041014100200341d0006a10a98c8080000b024020024101470d002008200684500d00200342003703582003200842f303200842f303541b42f3032006501b370350200341d0006a10f6878080000b2000200737031020002005370318410021010c010b200020032903103702042000410c6a200341186a2802003602002000200329021c370310410121010b20002001360200200341b0016a2480808080000bbc0501057f41002d00b8bfd380001a0240024002400240024041c00141002802b0bfd38000118280808000002201450d0041002d00b8bfd380001a410841002802b0bfd38000118280808000002202450d01200241ebefc380003602002002411d36020441002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d0220034199f0c380003602002003411b36020441002d00b8bfd380001a411841002802b0bfd38000118280808000002204450d03200441bbf0c38000360200200441ec00360214200441eeddc380003602102004410036020c2004429a8080801037020441002d00b8bfd380001a410841002802b0bfd380001182808080000022050d044104410810b980808000000b410841c00110b980808000000b4104410810b980808000000b4104410810b980808000000b4104411810b980808000000b20054119360204200541e6f0c38000360200200141013602b801200120053602b401200141013602b001200141e7808080003602a801200142d9d1a5958acddccda77f3703a001200142bb82a2f99fad8c91c100370398012001411036029401200141fff0c3800036029001200141033602880120012004360284012001410336028001200141ac82808000360278200142d687ccb79492eaa48f7f370370200142dec098f1dab59facaa7f37036820014111360264200141d5f0c38000360260200141013602582001200336025420014101360250200141e880808000360248200142e2e68fceaa92ce9c7b370340200142e987d8bed5a3d0fbfb0037033820014107360234200141b4f0c38000360230200141013602282001200236022420014101360220200141ad82808000360218200142d581fabfabc3feadea00370310200142dae4deb6f2a0b3f4663703082001411136020420014188f0c380003602002000410436020820002001360204200041043602000b8b0601037f23808080800041c0006b220224808080800020024100360218200241003602102002418080808078360204200241046a41086a2103024002400240200241046a418ff1c380004108200141206a10818b80800022040d00200241046a4197f1c38000410b2001108b8b80800022040d0020022802082101024020022802042204418180808078460d00200241276a200241186a280200360000200041053a00002002200229021037001f2000200229001c370001200041086a200241236a290000370000200441808080807872418080808078460d03200141002802a8bfd38000118080808000000c030b200141ff01714106460d01200020013a0000200041036a20014118763a0000200020014108763b0001200020032902003702042000410c6a200341086a2802003602000c020b200041063a00002000200436020402402002280204418180808078460d0002400240200228021022000d0041002100410021010c010b200220022802142201360238200220003602342002410036023020022001360228200220003602242002410036022041012100200228021821010b2002200136023c2002200036022c2002200036021c2002411c6a10d68a80800020022802042200418080808078460d022000450d02200228020841002802a8bfd38000118080808000000c020b024002400240024020022d00080e0705050102030005000b02400240200228020c22000d0041002100410021010c010b200220022802102201360238200220003602342002410036023020022001360228200220003602242002410036022041012100200228021421010b2002200136023c2002200036022c2002200036021c2002411c6a10d68a8080000c040b200228020c450d03200228021041002802a8bfd38000118080808000000c030b200228020c450d02200228021041002802a8bfd38000118080808000000c020b200310d58b808000200228020c450d01200228021041002802a8bfd38000118080808000000c010b41d084cc8000411c41ec84cc8000108b81808000000b200241c0006a2480808080000be20201037f23808080800041106b220224808080800002402001280200220328020020032802082204470d002003200441014101410110948a808000200328020821040b200328020420046a41fb003a00002003200441016a36020820024180023b01082002200136020c02400240200241086a418ff1c380004108200041206a10f68a80800022030d00024020022d00084101470d0041002d00b8bfd380001a411441002802b0bfd38000118280808000002203450d022003420037020c2003410d3602000c010b200241086a4197f1c38000410b200010fb8a80800022030d000240200228020822034180fe0371450d0020034101710d000240200228020c280200220328020020032802082204470d002003200441014101410110948a808000200328020821040b2003200441016a360208200328020420046a41fd003a00000b410021030b200241106a24808080800020030f0b4104411410b980808000000b921706047f017e037f017e027f017e23808080800041f0006b220224808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002402001280200220328020822042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e0b010a02030405060a0708090a0b200041003a00000c140b200241c0006a200110fa8880800020022d004022044105460d09200241086a41026a220720022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482105200241c0006a200110d083808000024020022802404101710d00200241c0006a41186a29030021062002290350210a200041076a20072d00003a0000200020022f01083b000520002002290328370210200041186a2008290300370200200041206a2009290300370200200020063703382000200a3703302000200536020c20002003360208200020043a0004200041013a00000c140b200041003a000020044102470d132003450d13200541002802a8bfd38000118080808000000c130b200241c0006a200110fa8880800020022d004022044105460d09200241206a41026a20022d00433a0000200241086a41086a200241d4006a2207290200370300200241086a41106a200241dc006a2208290200370300200220022f00413b01202002200229024c3703082002280244210320022802482105200241c0006a200110fa8880800020022d004022094105460d0a200241246a41026a20022d00433a0000200241286a41086a2007290200370300200241286a41106a2008290200370300200220022f00413b01242002200229024c3703282002280244210720022802482108200241c0006a200110d083808000024020022802404101710d00200241c0006a41186a29030021062002290350210a200041076a200241206a41026a2d00003a0000200020022f01203b000520002002290308370210200041186a200241086a41086a290300370200200041206a200241086a41106a290300370200200020093a0028200020022f01243b00292000412b6a200241246a41026a2d00003a0000200020083602302000200736022c200041c4006a200241286a41106a2903003702002000413c6a200241286a41086a29030037020020002002290328370234200020063703582000200a3703502000200536020c20002003360208200020043a0004200041023a00000c130b200041003a000020094102470d112007450d11200841002802a8bfd38000118080808000000c110b200241c0006a200110fa8880800020022d004022044105460d0a200241086a41026a220720022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482105200241c0006a200110d083808000024020022802404101710d00200241c0006a41186a29030021062002290350210a200041076a20072d00003a0000200020022f01083b000520002002290328370210200041186a2008290300370200200041206a2009290300370200200020063703382000200a3703302000200536020c20002003360208200020043a0004200041033a00000c120b200041003a000020044102470d112003450d11200541002802a8bfd38000118080808000000c110b200241c0006a200110fa8880800020022d004022044105460d0a200241086a41026a20022d00433a0000200241306a200241d4006a290200370300200241386a200241dc006a290200370300200220022f00413b01082002200229024c370328200228024421052002280248210702402001280200220328020822012802042208450d0020012008417f6a36020420012001280200220841016a3602002003427f200329030042017c22062006501b370300410021010240024020082d00000e020100020b410121010b200020022f01083b000520002002290328370210200041076a2002410a6a2d00003a0000200041186a200241306a290300370200200041206a200241386a2903003702002000200736020c20002005360208200020043a0004200020013a0001200041043a00000c110b200041003a000020044102470d102005450d10200741002802a8bfd38000118080808000000c100b200241c0006a200110fa8880800020022d004022044105460d0a200241086a41026a220820022d00433a0000200241286a41086a2209200241d4006a290200370300200241286a41106a220b200241dc006a290200370300200220022f00413b01082002200229024c37032820022802442105200228024821070240200128020022032802082201280204220c4110490d002001200c41706a36020420012001280200220c41106a3602002003427f2003290300220642107c220a200a2006541b370300200c41086a2900002106200c290000210a200041076a20082d00003a0000200020022f01083b000520002002290328370210200041186a2009290300370200200041206a200b290300370200200020063703382000200a3703302000200736020c20002005360208200020043a0004200041053a00000c100b200041003a000020044102470d0f2005450d0f200741002802a8bfd38000118080808000000c0f0b2002200110c583808000024020022802000d00200241086a2001200228020410e7828080002002280208418080808078460d00200241286a41086a200241086a41086a2802002204360200200241cb006a20043600002002200229020822063703282002200637004320002002290040370001200041086a200241c7006a290000370000200041063a00000c0f0b200041003a00000c0e0b200241c0006a200110fa8880800020022d004022044105460d09200241086a41026a220720022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482105200241c0006a200110d083808000024020022802404101710d00200241c0006a41186a29030021062002290350210a200041076a20072d00003a0000200020022f01083b000520002002290328370210200041186a2008290300370200200041206a2009290300370200200020063703382000200a3703302000200536020c20002003360208200020043a0004200041073a00000c0e0b200041003a000020044102470d0d2003450d0d200541002802a8bfd38000118080808000000c0d0b200328020822042802042205450d0920042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d0000220441ff017141014b0d09200241c0006a200110d083808000024020022802404101710d00200229035021062000200241d8006a29030037031820002006370310200020043a0001200041083a00000c0d0b200041003a00000c0c0b200241c0006a200110d08380800020022802404101710d0902402001280200220128020822042802042203450d00200241d8006a290300210a2002290350210d20042003417f6a36020420042004280200220341016a3602002001427f200129030042017c22062006501b370300410021040240024020032d00000e020100020b410121040b2000200d370310200020043a0001200041093a00002000200a3703180c0c0b200041003a00000c0b0b200041003a00000c0a0b200041003a00000c090b200041003a00000c080b200041003a00000c060b200041003a00000c060b200041003a00000c050b200041003a00000c040b200041003a00000c030b200041003a00000c020b200041003a00000c010b20044102470d002003450d00200541002802a8bfd38000118080808000000b200241f0006a2480808080000bb41906067f017e017f017e017f017e23808080800041f0006b220224808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022032802082204280208220520042802102206460d00200641016a2207450d0b200720054b0d0c20042802042105200420073602102003427f200329030042017c22082008501b370300200520066a2d00000e0b010a02030405060a0708090a0b200041003a00000c180b200241c0006a200110fb8880800020022d004022044105460d0b200241086a41026a220520022d00433a0000200241306a2207200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482106200241c0006a200110cd83808000024020022802404101710d00200241c0006a41186a29030021082002290350210a200041076a20052d00003a0000200020022f01083b000520002002290328370210200041186a2007290300370200200041206a2009290300370200200020083703382000200a3703302000200636020c20002003360208200020043a0004200041013a00000c180b200041003a000020044102470d172003450d17200641002802a8bfd38000118080808000000c170b200241c0006a200110fb8880800020022d004022044105460d0b200241206a41026a20022d00433a0000200241086a41086a200241d4006a2205290200370300200241086a41106a200241dc006a2207290200370300200220022f00413b01202002200229024c3703082002280244210320022802482106200241c0006a200110fb8880800020022d004022094105460d0c200241246a41026a20022d00433a0000200241286a41086a2005290200370300200241286a41106a2007290200370300200220022f00413b01242002200229024c3703282002280244210520022802482107200241c0006a200110cd83808000024020022802404101710d00200241c0006a41186a29030021082002290350210a200041076a200241206a41026a2d00003a0000200020022f01203b000520002002290308370210200041186a200241086a41086a290300370200200041206a200241086a41106a290300370200200020093a0028200020022f01243b00292000412b6a200241246a41026a2d00003a0000200020073602302000200536022c200041c4006a200241286a41106a2903003702002000413c6a200241286a41086a29030037020020002002290328370234200020083703582000200a3703502000200636020c20002003360208200020043a0004200041023a00000c170b200041003a000020094102470d152005450d15200741002802a8bfd38000118080808000000c150b200241c0006a200110fb8880800020022d004022044105460d0c200241086a41026a220520022d00433a0000200241306a2207200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482106200241c0006a200110cd83808000024020022802404101710d00200241c0006a41186a29030021082002290350210a200041076a20052d00003a0000200020022f01083b000520002002290328370210200041186a2007290300370200200041206a2009290300370200200020083703382000200a3703302000200636020c20002003360208200020043a0004200041033a00000c160b200041003a000020044102470d152003450d15200641002802a8bfd38000118080808000000c150b200241c0006a200110fb8880800002400240024020022d004022044105460d00200241086a41026a20022d00433a0000200241306a200241d4006a290200370300200241386a200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210520022802482107200128020022062802082201280208220920012802102203460d02200341016a220b450d0f200b20094d0d01200b200941a8c8ca800010aa81808000000b200041003a00000c160b200128020421092001200b3602102006427f200629030042017c22082008501b3703004100210102400240200920036a2d00000e020100020b410121010b200020022f01083b000520002002290328370210200041076a2002410a6a2d00003a0000200041186a200241306a290300370200200041206a200241386a2903003702002000200736020c20002005360208200020043a0004200020013a0001200041043a00000c150b200041003a000020044102470d142005450d14200741002802a8bfd38000118080808000000c140b200241c0006a200110fb8880800002400240024020022d004022044105460d00200241086a41026a20022d00433a0000200241306a200241d4006a290200370300200241286a41106a200241dc006a290200370300200220022f00413b01082002200229024c37032820022802442105200228024821072001280200220628020822012802082209200128021022036b4110490d02200341106a210b2003416f4b0d0f200b20094d0d01200b200941a8c8ca800010aa81808000000b200041003a00000c150b200128020421092001200b3602102006427f2006290300220842107c220a200a2008541b370300200920036a22012900002108200141086a290000210a200041076a2002410a6a2d00003a0000200020022f01083b000520002002290328370210200041186a200241286a41086a290300370200200041206a200241386a2903003702002000200a370338200020083703302000200736020c20002005360208200020043a0004200041053a00000c140b200041003a000020044102470d132005450d13200741002802a8bfd38000118080808000000c130b2002200110c283808000024020022802000d00200241086a200120022802041091838080002002280208418080808078460d00200241286a41086a200241086a41086a2802002204360200200241cb006a20043600002002200229020822083703282002200837004320002002290040370001200041086a200241c7006a290000370000200041063a00000c130b200041003a00000c120b200241c0006a200110fb8880800020022d004022044105460d0b200241086a41026a220520022d00433a0000200241306a2207200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482106200241c0006a200110cd83808000024020022802404101710d00200241c0006a41186a29030021082002290350210a200041076a20052d00003a0000200020022f01083b000520002002290328370210200041186a2007290300370200200041206a2009290300370200200020083703382000200a3703302000200636020c20002003360208200020043a0004200041073a00000c120b200041003a000020044102470d112003450d11200641002802a8bfd38000118080808000000c110b20032802082204280208220520042802102206460d0d200641016a2207450d0b200720054b0d0c20042802042105200420073602102003427f200329030042017c22082008501b370300200520066a2d0000220441ff017141014b0d0d200241c0006a200110cd83808000024020022802404101710d00200229035021082000200241d8006a29030037031820002008370310200020043a0001200041083a00000c110b200041003a00000c100b200241c0006a200110cd8380800002400240024020022802404101710d00200128020022032802082204280208220620042802102201460d02200141016a2205450d10200520064d0d012005200641a8c8ca800010aa81808000000b200041003a00000c110b200241d8006a290300210a2002290350210c20042802042106200420053602102003427f200329030042017c22082008501b3703004100210402400240200620016a2d00000e020100020b410121040b2000200c370310200020043a0001200041093a00002000200a3703180c100b200041003a00000c0f0b200041003a00000c0e0b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b200041003a00000c0b0b200041003a00000c0a0b200041003a00000c080b200041003a00000c080b417f200b41a8c8ca800010ac81808000000b2003200b41a8c8ca800010ac81808000000b200041003a00000c050b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b200041003a00000c020b417f200541a8c8ca800010ac81808000000b20044102470d002003450d00200641002802a8bfd38000118080808000000b200241f0006a2480808080000ba11706047f017e037f017e027f017e23808080800041f0006b220224808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002402001280200220328020828020022042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e0b010a02030405060a0708090a0b200041003a00000c140b200241c0006a200110f98880800020022d004022044105460d09200241086a41026a220720022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482105200241c0006a200110d383808000024020022802404101710d00200241c0006a41186a29030021062002290350210a200041076a20072d00003a0000200020022f01083b000520002002290328370210200041186a2008290300370200200041206a2009290300370200200020063703382000200a3703302000200536020c20002003360208200020043a0004200041013a00000c140b200041003a000020044102470d132003450d13200541002802a8bfd38000118080808000000c130b200241c0006a200110f98880800020022d004022044105460d09200241206a41026a20022d00433a0000200241086a41086a200241d4006a2207290200370300200241086a41106a200241dc006a2208290200370300200220022f00413b01202002200229024c3703082002280244210320022802482105200241c0006a200110f98880800020022d004022094105460d0a200241246a41026a20022d00433a0000200241286a41086a2007290200370300200241286a41106a2008290200370300200220022f00413b01242002200229024c3703282002280244210720022802482108200241c0006a200110d383808000024020022802404101710d00200241c0006a41186a29030021062002290350210a200041076a200241206a41026a2d00003a0000200020022f01203b000520002002290308370210200041186a200241086a41086a290300370200200041206a200241086a41106a290300370200200020093a0028200020022f01243b00292000412b6a200241246a41026a2d00003a0000200020083602302000200736022c200041c4006a200241286a41106a2903003702002000413c6a200241286a41086a29030037020020002002290328370234200020063703582000200a3703502000200536020c20002003360208200020043a0004200041023a00000c130b200041003a000020094102470d112007450d11200841002802a8bfd38000118080808000000c110b200241c0006a200110f98880800020022d004022044105460d0a200241086a41026a220720022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482105200241c0006a200110d383808000024020022802404101710d00200241c0006a41186a29030021062002290350210a200041076a20072d00003a0000200020022f01083b000520002002290328370210200041186a2008290300370200200041206a2009290300370200200020063703382000200a3703302000200536020c20002003360208200020043a0004200041033a00000c120b200041003a000020044102470d112003450d11200541002802a8bfd38000118080808000000c110b200241c0006a200110f98880800020022d004022044105460d0a200241086a41026a20022d00433a0000200241306a200241d4006a290200370300200241386a200241dc006a290200370300200220022f00413b01082002200229024c370328200228024421052002280248210702402001280200220328020828020022012802042208450d0020012008417f6a36020420012001280200220841016a3602002003427f200329030042017c22062006501b370300410021010240024020082d00000e020100020b410121010b200020022f01083b000520002002290328370210200041076a2002410a6a2d00003a0000200041186a200241306a290300370200200041206a200241386a2903003702002000200736020c20002005360208200020043a0004200020013a0001200041043a00000c110b200041003a000020044102470d102005450d10200741002802a8bfd38000118080808000000c100b200241c0006a200110f98880800020022d004022044105460d0a200241086a41026a220820022d00433a0000200241286a41086a2209200241d4006a290200370300200241286a41106a220b200241dc006a290200370300200220022f00413b01082002200229024c37032820022802442105200228024821070240200128020022032802082802002201280204220c4110490d002001200c41706a36020420012001280200220c41106a3602002003427f2003290300220642107c220a200a2006541b370300200c41086a2900002106200c290000210a200041076a20082d00003a0000200020022f01083b000520002002290328370210200041186a2009290300370200200041206a200b290300370200200020063703382000200a3703302000200736020c20002005360208200020043a0004200041053a00000c100b200041003a000020044102470d0f2005450d0f200741002802a8bfd38000118080808000000c0f0b2002200110c383808000024020022802000d00200241086a200120022802041080838080002002280208418080808078460d00200241286a41086a200241086a41086a2802002204360200200241cb006a20043600002002200229020822063703282002200637004320002002290040370001200041086a200241c7006a290000370000200041063a00000c0f0b200041003a00000c0e0b200241c0006a200110f98880800020022d004022044105460d09200241086a41026a220720022d00433a0000200241306a2208200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482105200241c0006a200110d383808000024020022802404101710d00200241c0006a41186a29030021062002290350210a200041076a20072d00003a0000200020022f01083b000520002002290328370210200041186a2008290300370200200041206a2009290300370200200020063703382000200a3703302000200536020c20002003360208200020043a0004200041073a00000c0e0b200041003a000020044102470d0d2003450d0d200541002802a8bfd38000118080808000000c0d0b200328020828020022042802042205450d0920042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d0000220441ff017141014b0d09200241c0006a200110d383808000024020022802404101710d00200229035021062000200241d8006a29030037031820002006370310200020043a0001200041083a00000c0d0b200041003a00000c0c0b200241c0006a200110d38380800020022802404101710d0902402001280200220128020828020022042802042203450d00200241d8006a290300210a2002290350210d20042003417f6a36020420042004280200220341016a3602002001427f200129030042017c22062006501b370300410021040240024020032d00000e020100020b410121040b2000200d370310200020043a0001200041093a00002000200a3703180c0c0b200041003a00000c0b0b200041003a00000c0a0b200041003a00000c090b200041003a00000c080b200041003a00000c060b200041003a00000c060b200041003a00000c050b200041003a00000c040b200041003a00000c030b200041003a00000c020b200041003a00000c010b20044102470d002003450d00200541002802a8bfd38000118080808000000b200241f0006a2480808080000bc61b06067f017e017f017e017f017e23808080800041f0006b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022032802082204280204200428020c22054b0d00024020042802082204280208220620042802102205470d00410121040c030b200541016a2207450d03200720064b0d042004280204210620042007360210200620056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2003427f200329030042017c22082008501b370300410021040b0240024002400240024002400240024002400240024020044101710d00200541ff01710e0b010a02030405060a0708090a0b200041003a00000c1c0b200241c0006a200110f78880800020022d004022044105460d0b200241086a41026a220620022d00433a0000200241306a2207200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482105200241c0006a200110d483808000024020022802404101710d00200241c0006a41186a29030021082002290350210a200041076a20062d00003a0000200020022f01083b000520002002290328370210200041186a2007290300370200200041206a2009290300370200200020083703382000200a3703302000200536020c20002003360208200020043a0004200041013a00000c1c0b200041003a000020044102470d1b2003450d1b200541002802a8bfd38000118080808000000c1b0b200241c0006a200110f78880800020022d004022044105460d0b200241206a41026a20022d00433a0000200241086a41086a200241d4006a2207290200370300200241086a41106a200241dc006a2209290200370300200220022f00413b01202002200229024c3703082002280244210320022802482105200241c0006a200110f78880800020022d004022064105460d0c200241246a41026a20022d00433a0000200241286a41086a2007290200370300200241286a41106a2009290200370300200220022f00413b01242002200229024c3703282002280244210720022802482109200241c0006a200110d483808000024020022802404101710d00200241c0006a41186a29030021082002290350210a200041076a200241206a41026a2d00003a0000200020022f01203b000520002002290308370210200041186a200241086a41086a290300370200200041206a200241086a41106a290300370200200020063a0028200020022f01243b00292000412b6a200241246a41026a2d00003a0000200020093602302000200736022c200041c4006a200241286a41106a2903003702002000413c6a200241286a41086a29030037020020002002290328370234200020083703582000200a3703502000200536020c20002003360208200020043a0004200041023a00000c1b0b200041003a000020064102470d192007450d19200941002802a8bfd38000118080808000000c190b200241c0006a200110f78880800020022d004022044105460d0c200241086a41026a220620022d00433a0000200241306a2207200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482105200241c0006a200110d483808000024020022802404101710d00200241c0006a41186a29030021082002290350210a200041076a20062d00003a0000200020022f01083b000520002002290328370210200041186a2007290300370200200041206a2009290300370200200020083703382000200a3703302000200536020c20002003360208200020043a0004200041033a00000c1a0b200041003a000020044102470d192003450d19200541002802a8bfd38000118080808000000c190b200241c0006a200110f78880800020022d004022034105460d0e2002410a6a20022d00433a0000200241306a200241d4006a290200370300200241386a200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210620022802482107024002400240200128020022012802082204280204200428020c22054b0d00024020042802082204280208220920042802102205470d00410121040c030b200541016a220b450d0f200b20094b0d10200428020421092004200b360210200920056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2001427f200129030042017c22082008501b370300410021040b024020044101710d004100210402400240200541ff01710e020100020b410121040b200020022f01083b000520002002290328370210200041076a2002410a6a2d00003a0000200041186a200241306a290300370200200041206a200241386a2903003702002000200736020c20002006360208200020033a0004200020043a0001200041043a00000c190b200041003a000020034102470d182006450d18200741002802a8bfd38000118080808000000c180b200241c0006a200110f78880800020022d004022044105460d0e200241086a41026a220620022d00433a0000200241286a41086a2207200241d4006a290200370300200241286a41106a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482105200241c0006a41086a220b420037030020024200370340024020012802002201280208200241c0006a411010bc838080000d002001427f2001290300220842107c220a200a2008541b370300200b29030021082002290340210a200041076a20062d00003a0000200020022f01083b000520002002290328370210200041186a2007290300370200200041206a2009290300370200200020083703382000200a3703302000200536020c20002003360208200020043a0004200041053a00000c180b200041003a000020044102470d172003450d17200541002802a8bfd38000118080808000000c170b2002200110c183808000024020022802000d00200241086a2001200228020410ef828080002002280208418080808078460d00200241286a41086a200241086a41086a2802002204360200200241cb006a20043600002002200229020822083703282002200837004320002002290040370001200041086a200241c7006a290000370000200041063a00000c170b200041003a00000c160b200241c0006a200110f78880800020022d004022044105460d0d200241086a41026a220620022d00433a0000200241306a2207200241d4006a290200370300200241386a2209200241dc006a290200370300200220022f00413b01082002200229024c3703282002280244210320022802482105200241c0006a200110d483808000024020022802404101710d00200241c0006a41186a29030021082002290350210a200041076a20062d00003a0000200020022f01083b000520002002290328370210200041186a2007290300370200200041206a2009290300370200200020083703382000200a3703302000200536020c20002003360208200020043a0004200041073a00000c160b200041003a000020044102470d152003450d15200541002802a8bfd38000118080808000000c150b024002400240200128020022032802082204280204200428020c22054b0d00024020042802082204280208220620042802102205470d00410121040c030b200541016a2207450d10200720064b0d112004280204210620042007360210200620056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2003427f200329030042017c22082008501b370300410021040b20044101710d0f41014102200541ff017122044101461b410020041b22044102460d0f200241c0006a200110d483808000024020022802404101710d00200229035021082000200241d8006a29030037031820002008370310200020043a0001200041083a00000c150b200041003a00000c140b200241c0006a200110d48380800020022802404101710d11200241d8006a290300210a2002290350210c024002400240200128020022012802082204280204200428020c22034b0d00024020042802082204280208220520042802102203470d00410121040c030b200341016a2206450d12200620054b0d132004280204210520042006360210200520036a2d000021030c010b2004200341016a36020c200428020020036a2d000021030b2001427f200129030042017c22082008501b370300410021040b024020044101710d004100210402400240200341ff01710e020100020b410121040b2000200c370310200020043a0001200041093a00002000200a3703180c140b200041003a00000c130b200041003a00000c120b417f200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000b200041003a00000c0f0b200041003a00000c0e0b200041003a00000c0c0b200041003a00000c0c0b417f200b41a8c8ca800010ac81808000000b200b200941a8c8ca800010aa81808000000b200041003a00000c090b200041003a00000c080b200041003a00000c070b417f200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000b200041003a00000c040b417f200641a8c8ca800010ac81808000000b2006200541a8c8ca800010aa81808000000b200041003a00000c010b20044102470d002003450d00200541002802a8bfd38000118080808000000b200241f0006a2480808080000b830b02047f027e23808080800041106b2202248080808000024002400240024002400240024002400240024020002d0000417f6a0e09000102030405060708000b200041306a2103200041046a21000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41003a00002000200110fd888080002002200336020c2002410c6a200110d7838080000c080b200041d0006a2103200041286a2105200041046a21000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41023a00002000200110fd888080002005200110fd888080002002200336020c2002410c6a200110d7838080000c070b200041306a2103200041046a21000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41033a00002000200110fd888080002002200336020c2002410c6a200110d7838080000c060b200041046a21030240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41043a00002003200110fd8880800020002d000121000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a20003a00000c050b200041046a21030240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41053a00002003200110fd88808000200041386a29030021062000290330210702402001280200200128020822046b410f4b0d0020012004411010fc90808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000c040b0240200128020020012802082204470d0020012004410110fc90808000200128020821040b200128020420046a41063a00002001200441016a360208200028020821042002200028020c22003602082002200241086a36020c2002410c6a200110d5838080002000450d032000410574210520012802082103034002400240200128020020036b411f4d0d00200321000c010b20012003412010fc90808000200128020821000b2001200041206a2203360208200128020420006a22002004290000370000200041086a200441086a290000370000200041106a200441106a290000370000200041186a200441186a290000370000200441206a2104200541606a22050d000c040b0b200041306a2103200041046a21000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41083a00002000200110fd888080002002200336020c2002410c6a200110d7838080000c020b0240200128020020012802082204470d0020012004410110fc90808000200128020821040b200041106a2103200128020420046a41093a00002001200441016a220436020820002d00012100024020012802002004470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a20003a00002002200336020c2002410c6a200110d7838080000c010b200041106a21030240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a410a3a00002002200336020c2002410c6a200110d78380800020002d000121000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a20003a00000b200241106a2480808080000bee0903017f027e017f024002400240024002400240024002400240024020002d0000417f6a0e09000102030405060708000b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b024002402000290330220242c000544100200041386a29030022035022001b450d00410121000c010b024020024280800154410020001b450d00410221000c010b0240200242808080800454410020001b450d00410421000c010b411120037920027942c0007c20034200521ba74103766b21000b417f200120006a220020002001491b21000c080b4121210441212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b024002400240024020002d00280e050300010302030b410121040c020b200028023441056a21040c010b411521040b417f200120046a220420042001491b2101024002402000290350220242c000544100200041d8006a29030022035022001b450d00410121000c010b024020024280800154410020001b450d00410221000c010b0240200242808080800454410020001b450d00410421000c010b411120037920027942c0007c20034200521ba74103766b21000b417f200120006a220020002001491b21000c070b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b024002402000290330220242c000544100200041386a29030022035022001b450d00410121000c010b024020024280800154410020001b450d00410221000c010b0240200242808080800454410020001b450d00410421000c010b411120037920027942c0007c20034200521ba74103766b21000b417f200120006a220020002001491b21000c060b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b200141016a2200417f20001b21000c050b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b417f200141106a220020002001491b21000c040b200028020c41057441047221000c030b41212101024002400240024020002d00040e050300010302030b410121010c020b200028021041056a21010c010b411521010b024002402000290330220242c000544100200041386a29030022035022001b450d00410121000c010b024020024280800154410020001b450d00410221000c010b0240200242808080800454410020001b450d00410421000c010b411120037920027942c0007c20034200521ba74103766b21000b417f200120006a220020002001491b21000c020b02402000290310220242c000544100200041186a29030022035022001b450d00410221000c020b024020024280800154410020001b450d00410321000c020b0240200242808080800454410020001b450d00410521000c020b411220037920027942c0007c20034200521ba74103766b21000c010b02402000290310220242c000544100200041186a29030022035022001b450d00410221000c010b024020024280800154410020001b450d00410321000c010b0240200242808080800454410020001b450d00410521000c010b411220037920027942c0007c20034200521ba74103766b21000b200041016a0ba32e03037f027e017f024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020002d00000e16000102030405060708090a0b0c0d0e0f101112131415000b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41003a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41013a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41023a00002001200241016a22043602080240200128020020046b411f4b0d0020012004412010fc90808000200128020821040b200041c0006a2102200128020420046a22072003290000370000200741186a200341186a290000370000200741106a200341106a290000370000200741086a200341086a2900003700002001200441206a22033602080240200128020020036b411f4b0d0020012003412010fc90808000200128020821030b200128020420036a22042002290000370000200441186a200241186a290000370000200441106a200241106a290000370000200441086a200241086a2900003700002001200341206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41033a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41043a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41053a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041026a2103200128020420026a41063a00002001200241016a22043602080240200128020020046b411f4b0d0020012004412010fc90808000200128020821040b200041226a2102200128020420046a22072003290000370000200741186a200341186a290000370000200741106a200341106a290000370000200741086a200341086a2900003700002001200441206a22033602080240200128020020036b411f4b0d0020012003412010fc90808000200128020821030b200128020420036a22042002290000370000200441186a200241186a290000370000200441106a200241106a290000370000200441086a200241086a2900003700002001200341206a2203360208200041d8006a2903002105200029035021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b200128020420036a22022005370008200220063700002001200341106a220336020820002d00012100024020012802002003470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a20003a00000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41073a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41083a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41093a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a410a3a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a410b3a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a410c3a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a410d3a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200041016a2100200128020420036a410e3a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010fc90808000200128020821030b2001200341206a360208200128020420036a22012000290000370000200141086a200041086a290000370000200141106a200041106a290000370000200141186a200041186a2900003700000f0b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a410f3a00002001200341016a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a41103a00002001200341016a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41113a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41123a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41133a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041206a2103200128020420026a41143a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b200128020420026a22042003290000370000200441186a200341186a290000370000200441106a200341106a290000370000200441086a200341086a2900003700002001200241206a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000f0b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a41153a00002001200341016a2203360208200041186a2903002105200029031021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b200128020420036a22022005370008200220063700002001200341106a2203360208200041286a2903002105200029032021060240200128020020036b410f4b0d0020012003411010fc90808000200128020821030b2001200341106a360208200128020420036a22012005370008200120063700000bac0603067f017e027f23808080800041c0006b2201248080808000200141186a41b4f1c380004104418ecec3800041174104410010c791808000200142043702102001420037020820014280808080800137020041002d00b8bfd380001a02400240024041c00041002802b0bfd38000118280808000002202450d002002410036023820024101360224200241b9f1c380003602202002410036021820024101360204200241b8f1c3800036020020014102360238200120023602302001200241c0006a36023c200120023602342001200141306a41bccec2800010b08b80800041002d00b8bfd380001a20012802002103200128020421042001280208210520012802182106200129021c2107410841002802b0bfd38000118280808000002208450d0120084100290380f2c380003702002001410036020820014280808080c000370200200141306a200141cbccc38000411410d1858080002001200141306a41dfccc38000410e10e685808000200141306a200141edccc38000411310b0858080002001200141306a4180cdc38000410c10c285808000200141306a2001418ccdc38000410f10bf858080002001200141306a419bcdc38000411010af85808000200141306a200141abcdc38000411110b4858080002001200141306a41bccdc38000411b10ef85808000200141246a200141d7cdc38000410410aa85808000200128022c210920012802282102200120012802243602082001200236020020012002200941246c6a36020c20012002360204200141306a200141bccec2800010af8b8080002006418080808078460d022001200336020820012004360200200120043602042001200420054105746a36020c200041c4006a200141a892c4800010b08b8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b4104410841f882c4800010ae80808000000b41f0e1c1800041114184e2c18000108b81808000000be51603067f017e037f23808080800041c0006b2201248080808000200141206a4188f2c380004105418ecec3800041174104410010c791808000200142043702182001420037021020014280808080800137020841002d00b8bfd380001a02400240024002400240024002400240024002400240024002400240024041c00041002802b0bfd38000118280808000002202450d002002410036023820024101360224200241b9f1c380003602202002410036021820024101360204200241b8f1c3800036020020014102360238200120023602302001200241c0006a36023c20012002360234200141086a200141306a41bccec2800010b08b80800041002d00b8bfd380001a20012802082103200128020c2104200128021021052001280220210620012902242107410841002802b0bfd38000118280808000002208450d01200841002903b0f2c3800037020041002d00b8bfd380001a2001410036021020014280808080c000370208410841002802b0bfd38000118280808000002209450d02200941002902f8a7c28000370200200141086a41d0e1c1800010af96808000200128020c2202428080808010370208200242808080808001370200200241003a00202002410e36021c20024198dbc380003602182002410136021420022009360210200141306a41086a41013602002001200129020837033041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d03200941002902d8a9c2800037020002402001280238220a2001280230470d00200141306a41d0e1c1800010af968080000b2001280234200a41246c6a220241013a00202002411536021c200241a6dbc3800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d04200941002902e0aac2800037020002402001280210220a2001280208470d00200141086a41d0e1c1800010af968080000b200128020c200a41246c6a220241023a00202002411336021c200241bbdbc3800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d05200941002902f0abc2800037020002402001280238220a2001280230470d00200141306a41d0e1c1800010af968080000b2001280234200a41246c6a220241033a00202002411236021c200241cedbc3800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d06200941002902d8a8c2800037020002402001280210220a2001280208470d00200141086a41d0e1c1800010af968080000b200128020c200a41246c6a220241043a00202002410d36021c200241e0dbc3800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d0720094100290298a9c2800037020002402001280238220a2001280230470d00200141306a41d0e1c1800010af968080000b2001280234200a41246c6a220241053a00202002411736021c200241eddbc3800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d08200941002902c8a7c2800037020002402001280210220a2001280208470d00200141086a41d0e1c1800010af968080000b200128020c200a41246c6a220241063a00202002410b36021c20024184dcc3800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d09200941002902b8aac2800037020002402001280238220a2001280230470d00200141306a41d0e1c1800010af968080000b2001280234200a41246c6a220241073a00202002410f36021c2002418fdcc3800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d0a200941002902b8acc2800037020002402001280210220a2001280208470d00200141086a41d0e1c1800010af968080000b200128020c200a41246c6a220241083a00202002410c36021c2002419edcc3800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d0b200941002902a8a8c2800037020002402001280238220a2001280230470d00200141306a41d0e1c1800010af968080000b2001280234200a41246c6a220241093a00202002410e36021c200241aadcc3800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d0c200941002902a8abc2800037020002402001280210220a2001280208470d00200141086a41d0e1c1800010af968080000b200128020c200a41246c6a2202410a3a00202002411336021c200241b8dcc3800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d0d20094100290280aac280003702000240200128023822022001280230470d00200141306a41d0e1c1800010af968080000b2001280234200241246c220a6a2202410b3a00202002410936021c200241cbdcc380003602182002410136021420022009360210200242808080801037020820024280808080800137020020012802342102200120012802303602102001200236020820012002200a6a41246a3602142001200236020c200141306a200141086a41bccec2800010af8b8080002006418080808078460d0e20012003360210200120043602082001200436020c2001200420054105746a360214200041c4006a200141086a41a892c4800010b08b808000200141086a410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000b20002001290008370001200041086a2001410f6a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b4104410841f882c4800010ae80808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b41f0e1c1800041114184e2c18000108b81808000000bc00803067f017e027f23808080800041c0006b2201248080808000200141186a41b8f2c380004105418ecec3800041174104410010c791808000200142043702102001420037020820014280808080800137020041002d00b8bfd380001a02400240024041c00041002802b0bfd38000118280808000002202450d002002410036023820024101360224200241b9f1c380003602202002410036021820024101360204200241b8f1c3800036020020014102360238200120023602302001200241c0006a36023c200120023602342001200141306a41bccec2800010b08b80800041002d00b8bfd380001a20012802002103200128020421042001280208210520012802182106200129021c2107410841002802b0bfd38000118280808000002208450d01200841002903e0f2c380003702002001410036020820014280808080c000370200200141306a200141e8f2c380004107108d858080002001200141306a41eff2c38000410810b985808000200141306a200141f7f2c38000410810cf858080002001200141306a41fff2c38000410a10d085808000200141306a20014189f3c38000410810c7858080002001200141306a4191f3c38000410a109785808000200141306a2001419bf3c38000411210db858080002001200141306a41adf3c380004107108a85808000200141306a200141b4f3c3800041081088858080002001200141306a41bcf3c380004107108c85808000200141306a200141c3f3c3800041061093858080002001200141306a41c9f3c38000410610c985808000200141306a200141cff3c38000410910e8858080002001200141306a41d8f3c380004108108785808000200141306a200141e0f3c38000410810de858080002001200141306a41e8f3c38000410610d385808000200141306a200141eef3c38000410910a4858080002001200141306a41f7f3c38000410610cd85808000200141306a200141fdf3c38000410810a6858080002001200141306a4185f4c380004106109985808000200141306a2001418bf4c38000410610be85808000200141246a200141306a4191f4c38000411310a985808000200128022c210920012802282102200120012802243602082001200236020020012002200941246c6a36020c20012002360204200141306a200141bccec2800010af8b8080002006418080808078460d022001200336020820012004360200200120043602042001200420054105746a36020c200041c4006a200141a892c4800010b08b8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b4104410841f882c4800010ae80808000000b41f0e1c1800041114184e2c18000108b81808000000b8c0301057f23808080800041206b2203248080808000200028020421042000280200210041002d00b8bfd380001a02402004410574410472220541002802b0bfd38000118280808000002206450d0020034100360214200320063602102003200536020c200320043602182003200341186a36021c2003411c6a2003410c6a10d5838080000240024020040d0020032802142104200328021021070c010b200441057421062003280214210403400240200328020c20046b411f4b0d002003410c6a2004412010fc90808000200328021421040b2003280210220720046a22052000290000370000200541086a200041086a290000370000200541106a200041106a290000370000200541186a200041186a2900003700002003200441206a2204360214200041206a2100200641606a22060d000b0b200328020c2100200120022007200441002802c8bdd380001183808080000002402000450d00200741002802a8bfd38000118080808000000b200341206a2480808080000f0b41012005418cf5c3800010ae80808000000b8c0301057f23808080800041206b22032480808080002000280208210441002d00b8bfd380001a02402004410574410472220541002802b0bfd38000118280808000002206450d0020034100360214200320063602102003200536020c20002802042100200320043602182003200341186a36021c2003411c6a2003410c6a10d5838080000240024020040d0020032802142104200328021021070c010b200441057421062003280214210403400240200328020c20046b411f4b0d002003410c6a2004412010fc90808000200328021421040b2003280210220720046a22052000290000370000200541086a200041086a290000370000200541106a200041106a290000370000200541186a200041186a2900003700002003200441206a2204360214200041206a2100200641606a22060d000b0b200328020c2100200120022007200441002802c8bdd380001183808080000002402000450d00200741002802a8bfd38000118080808000000b200341206a2480808080000f0b41012005418cf5c3800010ae80808000000bce0201037f23808080800041206b220324808080800041002d00b8bfd380001a02402002410574410472220441002802b0bfd38000118280808000002205450d0020034100360214200320053602102003200436020c200320023602182003200341186a36021c2003411c6a2003410c6a10d58380800002402002450d00200241057421052003280214210203400240200328020c20026b411f4b0d002003410c6a2002412010fc90808000200328021421020b200328021020026a22042001290000370000200441086a200141086a290000370000200441106a200141106a290000370000200441186a200141186a2900003700002003200241206a2202360214200141206a2101200541606a22050d000b0b2000200329020c370200200041086a2003410c6a41086a280200360200200341206a2480808080000f0b41012004418cf5c3800010ae80808000000bef0201047f23808080800041206b220324808080800041002104024002402002410c6c41046a22054100480d00024020050d00410121040c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022040d01410121040b20042005418cf5c3800010ae80808000000b20034100360214200320043602102003200536020c200320023602182003200341186a36021c2003411c6a2003410c6a10d58380800002402002450d002002410c6c2106200141086a210203402002417c6a28020021012003200228020022053602182003200341186a36021c2003411c6a2003410c6a10d5838080000240200328020c200328021422046b20054f0d002003410c6a2004200510fc90808000200328021421040b200328021020046a2001200510e9968080001a2003200420056a3602142002410c6a2102200641746a22060d000b0b2000200329020c370200200041086a2003410c6a41086a280200360200200341206a2480808080000bdc0201047f23808080800041206b22022480808080002001280208210341002d00b8bfd380001a02402003410574410472220441002802b0bfd38000118280808000002205450d0020024100360214200220053602102002200436020c20012802042101200220033602182002200241186a36021c2002411c6a2002410c6a10d58380800002402003450d00200341057421052002280214210303400240200228020c20036b411f4b0d002002410c6a2003412010fc90808000200228021421030b200228021020036a22042001290000370000200441086a200141086a290000370000200441106a200141106a290000370000200441186a200141186a2900003700002002200341206a2203360214200141206a2101200541606a22050d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b41012004418cf5c3800010ae80808000000be20401057f23808080800041f0006b220324808080800041002d00b8bfd380001a0240410141002802b0bfd38000118280808000002204450d00200441023a0000200341386a4200370300200341306a4200370300200341286a4200370300200341106a41106a4200370300200341d8006a42003703002003428080808080808080807f3703482003420037034020034200370318200342003703102003420037035041002d00b8bfd380001a024041d00041002802b0bfd38000118280808000002205450d0020032005360268200341d00036026420054200370000200541086a4200370000200341e4006a41086a22054110360200200341106a200341e4006a10b88a808000200341086a22062005280200360200200320032902643703000240200228020822072002280200470d0020024180f6c3800010a58a8080000b2002280204200741f8006c6a22054107360244200541a7f5c38000360240200541ae82808000360238200542c6e2fa8297bfd9df62370330200542efcabad0c0c4a6bdeb00370328200541808180800036022020054298c69af39cdb87a7917f370318200542e4bdf1e8c1f1c6cf8d7f3703102005410136020c20052004360208200542818080801037030020052000290200370248200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541013a0074200520012902003702682005200329030037025c200541e4006a2006280200360200200541f0006a200141086a2802003602002002200741016a360208200341f0006a2480808080000f0b410141d00010b980808000000b4101410110b980808000000b880301047f41002d00b8bfd380001a0240410141002802b0bfd38000118280808000002203450d00200341053a000041002d00b8bfd380001a0240410141002802b0bfd38000118280808000002204450d00200441003a00000240200228020822052002280200470d0020024180f6c3800010a58a8080000b2002280204200541f8006c6a2206410936024420064195f6c38000360240200641af82808000360238200642b1c9f8f0b68ca3b1a67f370330200642a480a1cbceaeb2f67a370328200641b380808000360220200642d7c9cb8fc1cf97db3e370318200642e88488d0c0e3aebc133703102006410136020c2006200336020820064281808080103703002006200029020037024820064101360264200620043602602006410136025c200641d0006a200041086a290200370200200641d8006a200041106a280200360200200641003a0074200641f0006a200141086a280200360200200620012902003702682002200541016a3602080f0b4101410110b980808000000b4101410110b980808000000bea0401097f23808080800041206b220324808080800041002d00b8bfd380001a0240410141002802b0bfd38000118280808000002204450d00200441053a000041002d00b8bfd380001a2003410036021c20034280808080103702140240412041002802b0bfd38000118280808000002205450d0020054200370000200541186a22064200370000200541106a22074200370000200541086a22084200370000200341146a4100412010fc908080002003280218200341146a41086a2209280200220a6a220b2005290000370000200b41086a2008290000370000200b41106a2007290000370000200b41186a20062900003700002009200a41206a360200200541002802a8bfd3800011808080800000200341086a41086a220620092802003602002003200329021437030802402002280208220b2002280200470d0020024180f6c3800010a58a8080000b2002280204200b41f8006c6a22054109360244200541adf6c38000360240200541b48080800036023820054282a1a9c9eea2b5c92f3703302005428ae6f3f7c78ea4cfd100370328200541b380808000360220200542d7c9cb8fc1cf97db3e370318200542e88488d0c0e3aebc133703102005410136020c20052004360208200542818080801037030020052000290200370248200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541013a0074200520012902003702682005200329030837025c200541e4006a2006280200360200200541f0006a200141086a2802003602002002200b41016a360208200341206a2480808080000f0b4101412010b980808000000b4101410110b980808000000bfd0301057f23808080800041206b220324808080800041002d00b8bfd380001a0240410141002802b0bfd38000118280808000002204450d00200441053a000041002d00b8bfd380001a0240410441002802b0bfd38000118280808000002205450d002003410c6a41086a22064100360200200320053602102003410436020c200341003602182003200341186a36021c2003411c6a2003410c6a10d583808000200341086a220720062802003602002003200329020c3703000240200228020822062002280200470d0020024180f6c3800010a58a8080000b2002280204200641f8006c6a2205410d360244200541bbf6c38000360240200541ff8080800036023820054296e397c6bfa5aeee46370330200542aceff0b4f2bd8f8fe400370328200541b380808000360220200542d7c9cb8fc1cf97db3e370318200542e88488d0c0e3aebc133703102005410136020c20052004360208200542818080801037030020052000290200370248200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541013a0074200520012902003702682005200329030037025c200541e4006a2007280200360200200541f0006a200141086a2802003602002002200641016a360208200341206a2480808080000f0b4101410441a8a8c1800010ae80808000000b4101410110b980808000000bd30503067f017e017f23808080800041c0006b2201248080808000200141246a41c8f6c38000410a41d2f6c3800041204104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d002002410036023820024101360224200241f2f6c38000360220200241f8818080003602182002429ab680e2dfdc8482c500370310200242bffffebae1aeaabcb77f37030820024101360204200241b8f1c3800036020020014102360238200120023602302001200241c0006a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c2104200128021021052001280214210620012902282107200128022421082001410036021420014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220242f08fb485c1b688c9183703002002420437022c20024206370224200241f9ecc18000360220200241003602182002418382808000360210200242cdb5b484a1eafa85837f370308200128021021022001200128020c3602142001200236020c2001200241386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002008418080808078460d01200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000be20501057f23808080800041306b22012480808080002001410036021420014280808080800137020c41002d00b8bfd380001a024002400240412841002802b0bfd38000118280808000002202450d00200241c300360224200241e0f9c38000360220200241d70036021c20024189f9c38000360218200241dc00360214200241adf8c380003602102002410036020c200242a58080801037020420024188f8c380003602002001410036022c2001428080808010370224200141186a200141246a10b1888080002001410c6a41ac99c4800010a58a8080002001280210220342ac8282c6c587c1dfe200370208200341003602002003420b370244200341929ac48000360240200341b082808000360218200342f2d1b595f8ed95ff7a3702102003200129021837025c200341013a0074200341053602702003200236026c20034105360268200341e4006a200141206a2802003602002001410136021441002d00b8bfd380001a412041002802b0bfd38000118280808000002202450d01200241a3fac380003602002002413736021c200241befbc38000360218200241d900360214200241e5fac380003602102002410036020c200242c28080801037020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d02200441003a0000024020012802142205200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200541f8006c6a220341003a0074200341043602702003200236026c20034281808080c000370264200320043602602003410136025c2003420d370244200341bd9fc48000360240200341b182808000360218200342959fa5a1f7d4899919370210200342a08f8acd99f2cfbb1937020820034100360200200041086a200541016a3602002000200129020c37020020004107360210200041f5c5c3800036020c200141306a2480808080000f0b4104412810b980808000000b4104412010b980808000000b4101410110b980808000000bb10202027f017e23808080800041c0006b220124808080800020014282fceae49dd9e2861d370038200142de8c84a1ecd0a6d30c37003020014289df9d82f381819238370028200142d7f0f3fea28baccae700370020200141146a200141206a412010ff83808000024002402001280214418080808078470d00200141003602102001428080808010370308410121020c010b200141086a41086a200141146a41086a2802003602002001200129021422033703082003a74521020b20014282fceae49dd9e2861d370038200142de8c84a1ecd0a6d30c37003020014284c2b1b3ef9292841e370028200142bce2f4b8c5daf6fa29370020200141086a200141206a412010ae88808000024020020d00200128020c41002802a8bfd38000118080808000000b200141c0006a2480808080000be40201047f23808080800041206b220224808080800041002d00b8bfd380001a02400240410141002802b0bfd38000118280808000002203450d0020032001417f6a3a0000200241013602102002200336020c20024101360208200241086a410141034101410110948a808000200228020c2203200228021022046a220541003b0000200541026a41003a0000200228020821050240200441036a22044104470d002003280000210402402005450d00200341002802a8bfd38000118080808000000b200421030c020b2005418080808078460d012002200436021c200220033602182002200536021441c8d1c3800041cb00200241146a41b8d1c380004184fec3800010a481808000000b4101410110b980808000000b200041013a00102000200336020c200041033a000020002001411874411875410274220341a090c480006a28020036020820002003418890c480006a280200360204200241206a2480808080000b1e00200128021c41f4f7c380004114200128022028020c118180808000000b3400200128021c41a689c48000419a89c4800020002802002d000022001b4107410c20001b200128022028020c118180808000000bb50202027f017e2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d0120002903004101200110938180800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000b1e00200128021c41f08fcc8000410f200128022028020c118180808000000b0f002000280200200110bf888080000b9d1201057f23808080800041c0006b2202248080808000024002400240024002400240024002400240024002400240024002400240024020002d00000e0f000102030405060708090a0b0c0d0e000b41012103200128021c220441f885c4800041052001280220220528020c2206118180808000000d0e0240024020012d00144104710d0041012103200441bbc4c0800041012006118180808000000d1020002802042000280208200110eb80808000450d010c100b200441bcc4c0800041022006118180808000000d0f41012103200241013a0004200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200536020c2002200436020820024190c4c08000360238200220012902003703182002200241046a3602102002200241086a36023420002802042000280208200241186a10eb808080000d0f200228023441b6c4c080004102200228023828020c118180808000000d0f0b200128021c41bec4c080004101200128022028020c1181808080000021030c0e0b200128021c41fd85c48000410c200128022028020c1181808080000021030c0d0b200128021c418986c480004109200128022028020c1181808080000021030c0c0b2002200041046a36020441012103200128021c2200419286c4800041062001280220220628020c2204118180808000000d0b0240024020012d00144104710d0041012103200041bbc4c0800041012004118180808000000d0d200241046a200110cb88808000450d010c0d0b200041bcc4c0800041022004118180808000000d0c41012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200636020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10cb888080000d0c200228023441b6c4c080004102200228023828020c118180808000000d0c0b200128021c41bec4c080004101200128022028020c1181808080000021030c0b0b200128021c419886c480004111200128022028020c1181808080000021030c0a0b200128021c41a986c48000410b200128022028020c1181808080000021030c090b200128021c41b486c480004110200128022028020c1181808080000021030c080b410121032002200041016a360204200128021c220041c486c4800041052001280220220628020c2204118180808000000d070240024020012d00144104710d0041012103200041bbc4c0800041012004118180808000000d09200241046a200110c588808000450d010c090b200041bcc4c0800041022004118180808000000d0841012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200636020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10c5888080000d08200241086a41b6c4c080004102109b818080000d080b200128021c41bec4c080004101200128022028020c1181808080000021030c070b410121032002200041016a360204200128021c220041c986c48000410a2001280220220628020c2204118180808000000d060240024020012d00144104710d0041012103200041bbc4c0800041012004118180808000000d08200241046a200110988d808000450d010c080b200041bcc4c0800041022004118180808000000d0741012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200636020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10988d8080000d07200228023441b6c4c080004102200228023828020c118180808000000d070b200128021c41bec4c080004101200128022028020c1181808080000021030c060b41012103200128021c220441d386c48000410d2001280220220528020c2206118180808000000d050240024020012d00144104710d0041012103200441bbc4c0800041012006118180808000000d07200128021c41a689c48000419a89c4800020002d000122001b4107410c20001b200128022028020c11818080800000450d010c070b200441bcc4c0800041022006118180808000000d062002200536021c2002200436021841012103200241013a000820002d000121002002200241086a360220200241186a41a689c48000419a89c4800020001b4107410c20001b109b818080000d06200241186a41b6c4c080004102109b818080000d060b200128021c41bec4c080004101200128022028020c1181808080000021030c050b200128021c41e086c480004109200128022028020c1181808080000021030c040b200128021c41e986c48000410a200128022028020c1181808080000021030c030b200128021c41f386c48000410b200128022028020c1181808080000021030c020b200128021c41fe86c48000410e200128022028020c1181808080000021030c010b410121032002200041016a360204200128021c2200418c87c4800041042001280220220628020c2204118180808000000d000240024020012d00144104710d0041012103200041bbc4c0800041012004118180808000000d02200241046a200110d28a808000450d010c020b200041bcc4c0800041022004118180808000000d0141012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200636020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10d28a8080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200128021c41bec4c080004101200128022028020c1181808080000021030b200241c0006a24808080800020030ba10101037f23808080800041106b22022480808080002000280200210041012103200128021c41c0c4c080004101200128022028020c118180808000002104200241003a000d200220043a000c20022001360208200241086a2000200041086a10b08e8080002101024020022d000c0d002001280200220128021c41c1c4c080004101200128022028020c1181808080000021030b200241106a24808080800020030bc70601047f23808080800041c0016b220224808080800020002802002103410121000240200128021c220441c8f6c38000410a200128022028020c2205118180808000000d000240024020012d00144104710d0041012100200441bbc4c0800041012005118180808000000d022003200110d28b808000450d010c020b200441bcc4c0800041022005118180808000000d0141012100200241013a0008200241c0006a41086a200141086a290200370300200241c0006a41106a200141106a290200370300200241c0006a41186a200141186a28020036020020024190c4c080003602602002200129021c370218200220012902003703402002200241086a3602202002200241186a36025c2003200241c0006a10d28b8080000d01200228025c41b6c4c080004102200228026028020c118180808000000d010b024002400240024020012d00144104710d0041012100200128021c41afc4c080004102200128022028020c118180808000000d04200128021422004110710d01024020004120710d004101210041c00041012001109181808000450d040c050b200241b4e0003b00be014101210020014101418896c080004102200241be016a410210e380808000450d030c040b200241013a0017200241186a41106a200141106a290200370300200241186a41086a200141086a290200370300200241186a41186a200141186a28020036020020024190c4c080003602382002200129021c37020820022001290200370318200228022c21002002200241176a3602102002200241086a3602340240024020004110710d00024020004120710d0041c0004101200241186a109181808000450d040c020b200241b4e0003b00be01200241186a4101418896c080004102200241be016a410210e3808080000d010c030b200241b4e0003b00be01200241186a4101418896c080004102200241be016a410210e380808000450d020b410121000c030b200241b4e0003b00be014101210020014101418896c080004102200241be016a410210e3808080000d020c010b41012100200228023441b6c4c080004102200228023828020c118180808000000d010b200128021c41bec4c080004101200128022028020c1181808080000021000b200241c0016a24808080800020000b940201027f23808080800041106b220224808080800020022000280200220041046a360204200128021c41d087c480004109200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41d987c48000410b2000419087c48000109d818080001a200241086a41e487c480004109200241046a41c087c48000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710b940201027f23808080800041106b220224808080800020022000280200220041206a360204200128021c41c08ec480004119200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41d98ec480004109200041a08ec48000109d818080001a200241086a41ec85c480004105200241046a41b08ec48000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710bb10201037f2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000b3900200128021c20002802002d0000410274220041e490c480006a280200200041bc90c480006a280200200128022028020c118180808000000b940201027f23808080800041106b2202248080808000200220002802002200360204200128021c41b087c480004106200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41b687c480004104200041046a419087c48000109d818080001a200241086a41ba87c480004105200241046a41a087c48000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710bab0101047f23808080800041106b2202248080808000200028020021032000280204210441012100200128021c41c0c4c080004101200128022028020c118180808000002105200241003a000d200220053a000c20022001360208200241086a2003200320044105746a10b18e8080002101024020022d000c0d002001280200220128021c41c1c4c080004101200128022028020c1181808080000021000b200241106a24808080800020000bb10201037f2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000b1900200028020022002802002000280204200110eb808080000bc10301047f2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff01714101742205418d96c080006a2d00003a000220022005418c96c080006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe0171418d96c080006a2d00003a00000b2001410141014100200220036a410320036b10e38080800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000bb30201027f23808080800041106b2202248080808000200220002802002200360204200128021c41dc85c48000410b200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41e785c4800041052000410c6a41ac85c48000109d818080001a200241086a41ec85c480004105200041086a41bc85c48000109d818080001a200241086a41f185c480004107200241046a41cc85c48000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710bb70201037f2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d0120002f010041012001108f8180800021000c020b20002f01002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ffff0371220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b20002f01002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ffff0371220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000b14002000280200280200410120011091818080000bba0301047f2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff01714101742205418d96c080006a2d00003a000220022005418c96c080006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe0171418d96c080006a2d00003a00000b2001410141014100200220036a410320036b10e38080800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000baa0201037f2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000b120020004184ffc38000200110e2808080000b220002402000280200450d00200028020441002802a8bfd38000118080808000000b0b220002402000280200450d00200028020441002802a8bfd38000118080808000000b0ba90c01087f23808080800041306b220124808080800002400240024002400240024002400240024002402000280200220241ffffffff076a2203410120034108491b0e080102090903040500010b20002802084104470d08200028020c450d080c060b0240024002400240024002400240024020002d0008417f6a0e0a010f0203040506070f0f000b200028020c0d0c0c0e0b200028020c0d0b0c0d0b200028020c0d0a0c0c0b200028020c0d090c0b0b2000410c6a10d88b808000200028020c0d080c0a0b20002802102103024020002802142202450d002002410171210441002105024020024101460d002002417e7121062003210241002105034002402002280200450d00200241046a28020041002802a8bfd38000118080808000000b02402002410c6a280200450d00200241106a28020041002802a8bfd38000118080808000000b200241186a21022006200541026a2205470d000b0b2004450d0020032005410c6c6a2202280200450d00200228020441002802a8bfd38000118080808000000b200028020c0d080c090b2000280210450d08200028021421030c070b200028020c0d050c070b02402002418080808078470d0020002802042103410421020c040b02402002450d00200028020441002802a8bfd38000118080808000000b200041d8006a10d98a808000200028023821060240200028023c2203450d002003410171210441002102024020034101460d002003417e7121052006210341002102034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b0240200341106a280200450d00200341146a28020041002802a8bfd38000118080808000000b200341206a21032005200241026a2202470d000b0b2004450d00200620024104746a2203280200450d00200328020441002802a8bfd38000118080808000000b02402000280234450d00200641002802a8bfd38000118080808000000b02400240200028026422030d0041002103410021020c010b2001200336022420014100360220200120033602142001410036021020012000280268220336022820012003360218200028026c2102410121030b2001200236022c2001200336021c2001200336020c2001410c6a10fd8980800020002802442107024020002802482208450d0041002104034002402007200441f0006c6a22062802082202450d00200628020421030340024020032d0000220541034b0d0020032005410274418c91c480006a2802006a2205280200450d00200541046a28020041002802a8bfd38000118080808000000b200341146a21032002417f6a22020d000b0b02402006280200450d00200628020441002802a8bfd38000118080808000000b200441016a22042008470d000b0b02402000280240450d00200741002802a8bfd38000118080808000000b41cc002102200028024c2203418080808078470d030c060b024002400240024002400240024020002d0010417f6a0e07000102030405060c0b20002d00144102470d0b2000280218450d0b200028021c21030c0a0b024020002d00144102470d002000280218450d00200028021c41002802a8bfd38000118080808000000b20002d00384102470d0a200028023c450d0a200028024021030c090b20002d00144102470d092000280218450d09200028021c21030c080b20002d00144102470d082000280218450d08200028021c21030c070b20002d00144102470d072000280218450d07200028021c21030c060b2000280214450d06200028021821030c050b20002d00144102470d052000280218450d05200028021c21030c040b024002400240024020002d00082203417c6a41042003417b6a41ff01714105491b417f6a0e0400010203080b200028020c220310d3888080000c060b2000280220220310d3888080000c050b20002d000c4102470d052000280210450d05200028021421030c040b024020034102470d00200028020c450d00200028021041002802a8bfd38000118080808000000b200028022c220310d3888080000c030b200028020441808080807872418080808078460d03200028020821030c020b2003450d02200020026a28020421030c010b200028021021030b200341002802a8bfd38000118080808000000b200141306a2480808080000b2c000240200028020041034b0d002000280204450d00200028020841002802a8bfd38000118080808000000b0be30303077f017e057f0240200128021422072005417f6a22086a220920034f0d0020052001280210220a6b210b200128021c210c2001280208210d2001290300210e0340024002400240200e200220096a3100008842018350450d002001200720056a22073602144100210920060d020c010b200d200c200d200c200d4b1b20061b220f2005200f20054b1b2110200220076a2111200f21090240024002400340024020102009470d004100200c20061b2112200d21090340024020122009490d002001200720056a2209360214024020060d002001410036021c0b2000200936020820002007360204200041013602000f0b2009417f6a220920054f0d05200920076a221320034f0d03200420096a2d0000200220136a2d0000460d000b20012007200a6a2207360214200b21092006450d050c060b200720096a20034f0d02201120096a2113200420096a2112200941016a210920122d000020132d0000460d000b2007200d6b20096a210720060d04410021090c030b2013200341e881c4800010f580808000000b2003200f20076a2209200320094b1b200341f881c4800010f580808000000b2009200541d881c4800010f580808000000b2001200936021c2009210c0b200720086a22092003490d000b0b20012003360214200041003602000bef0201037f23808080800041106b2202248080808000024002402001418001490d002002410036020c024002402001418010490d000240200141808004490d002002410c6a41037221032002200141127641f001723a000c20022001410676413f71418001723a000e20022001410c76413f71418001723a000d410421040c020b2002410c6a410272210320022001410c7641e001723a000c20022001410676413f71418001723a000d410321040c010b2002410c6a41017221032002200141067641c001723a000c410221040b20032001413f71418001723a000002402000280200200028020822016b20044f0d002000200120044101410110948a808000200028020821010b200028020420016a2002410c6a200410e9968080001a2000200120046a3602080c010b0240200028020822042000280200470d002000419c85c4800010ad808080000b200028020420046a20013a00002000200441016a3602080b200241106a24808080800041000b4f01017f02402000280200200028020822036b20024f0d002000200320024101410110948a808000200028020821030b200028020420036a2001200210e9968080001a2000200320026a36020841000bc20501087f23808080800041e0006b22032480808080000240024002402000280200450d00200341086a41106a200041106a280200360200200341086a41086a200041086a290200370300200320002902003703080240024020012802002204450d0020022802002105200128020421060340200441606a2107200441e4026a210220042f01920322084102742101417f2109024002400340024020010d00200821090c020b2002280200210a2001417c6a2101200941016a2109200741206a2107200241046a2102417f200a200547200a20054b1b220a4101460d000b200a41ff0171450d010b2006450d022006417f6a2106200420094102746a4194036a28020021040c010b0b200341206a41186a200741186a290000370300200341206a41106a200741106a290000370300200341206a41086a200741086a290000370300200320072900003703200c010b200341386a4200370300200341206a41106a4200370300200341206a41086a4200370300200342003703200b0240024020032802100d004100210a41002d00b8bfd380001a200328020c210241940341002802b0bfd38000118280808000002201450d04200141003602e0022002410036020420022001360200200141013b019203200120032802083602e40220012003290320370000200141086a200341206a41086a290300370000200141106a200341206a41106a290300370000200141186a200341206a41186a2903003700000c010b200341d8006a200041106a28020036020020032000290208370350200341c4006a200341d0006a2003280208200341206a200341086a4104722003411c6a10a383808000200328024c210a20032802442101200328020c21020b2002200228020841016a3602082001200a4105746a21010c010b2000280204200028020c4105746a21010b200341e0006a24808080800020010f0b410441940310b980808000000baf0601027f23808080800041e0016b220324808080800002400240024002402000280200418080808078460d00200341186a200041186a280200360200200341106a200041106a290200370300200341086a200041086a29020037030020032000290200370300410021042003410036028801200341003602800120032001280214200128020c2200200041054b1b36028c01200341003602900120034190016a20034180016a10fa8e808000200341e4006a200341c8016a290200370200200341dc006a200341c0016a290200370200200341d4006a200341b8016a290200370200200341cc006a200341b0016a290200370200200341c4006a20034190016a41186a2902003702002003413c6a20034190016a41106a290200370200200341346a20034190016a41086a290200370200200320032902900137022c200128024c2100200320012d00503a00702003200036026c20034100360228200341003602200240200228020822004100480d0020022802042101024020000d00410121020c030b41002d00b8bfd380001a200041002802b0bfd380001182808080000022020d02410121040b2004200041a89dc5800010ae80808000000b2000280204200028020c41e0006c6a21000c010b20022001200010e99680800021012003200036027c20032001360278200320003602740240024020032802100d004100210241002d00b8bfd380001a200328020c210141ac0941002802b0bfd38000118280808000002200450d03200041003602a0082001410036020420012000360200200041013b01aa09200041ac086a200341086a280200360200200020032903003702a4082000200341206a41e00010e9968080001a0c010b20034180016a41086a200341106a220041086a280200360200200320002902003703800120034190016a41086a200341086a2802003602002003200329030037039001200341d4016a20034180016a20034190016a200341206a2003410c6a2003411c6a109d8380800020032802dc01210220032802d4012100200328020c21010b2001200128020841016a3602082000200241e0006c6a21000b200341e0016a24808080800020000f0b410441ac0910b980808000000bdc0202037f017e23808080800041306b2205248080808000200541106a41086a2001280200220141086a220628020036020020064100360200200520012902003703102001428080808010370200200541086a200541106a20022003200410dc8b808000200528020c2104024002400240200528020822030d00200528021021022005411c6a200528021422062005280218220710ae81808000200528021c0d0202402001280200450d00200128020441002802a8bfd38000118080808000000b2001200736020820012006360204200120023602000c010b2005280210450d00200528021441002802a8bfd38000118080808000000b2000200336020020002004360204200541306a2480808080000f0b2005200529022022084220883e022c200520083e022820052007360224200520063602202005200236021c41c089c48000412b2005411c6a41b089c4800041c88ac4800010a481808000000b8f0201027f23808080800041106b220224808080800020022000410c6a360204200128021c418088c48000410d200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a418d88c480004105200041b8d1c38000109d818080001a200241086a41ec85c480004105200241046a41f087c48000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710ba50501047f23808080800041c0006b2202248080808000024002400240024002400240024002400240024020002f01000e09000102030405060708000b200128021c419288c480004109200128022028020c1181808080000021000c080b200128021c419b88c480004109200128022028020c1181808080000021000c070b2002200041026a36020441012100200128021c220341a488c4800041182001280220220428020c2205118180808000000d060240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d08200241046a200110d18a8080000d08200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0741012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10d18a8080000d07200228023441b6c4c080004102200228023828020c118180808000000d070b200341bec4c08000410120051181808080000021000c060b200128021c41bc88c48000410f200128022028020c1181808080000021000c050b200128021c41cb88c48000410d200128022028020c1181808080000021000c040b200128021c41d888c48000410d200128022028020c1181808080000021000c030b200128021c41e588c48000410b200128022028020c1181808080000021000c020b200128021c41f088c480004110200128022028020c1181808080000021000c010b200128021c418089c480004112200128022028020c1181808080000021000b200241c0006a24808080800020000ba30301047f23808080800041c0006b22022480808080000240024020002802000d00200128021c419289c480004104200128022028020c1181808080000021000c010b2002200041086a36020441012100200128021c2203419689c4800041042001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110d38a8080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10d38a8080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000b8c0501047f23808080800041c0006b220324808080800041002d00b8bfd380001a41002802b0bfd380002104024002400240024002400240200241ffff00712205413f4b0d004101210641012004118280808000002204450d02200420023a00000c010b4102210641022004118280808000002204450d02200420024106742005410876723a00012004200241fc017141027641c000723a00000b200320063602182003200436021420032006360210200341106a200641204101410110948a80800020032802142206200328021822046a22022001290000370000200241086a200141086a290000370000200241106a200141106a290000370000200241186a200141186a2900003700002003200441206a22013602182003411c6a2006200110a6928080002003280224220241014d0d022003280220210202402003280210220420016b41014b0d00200341106a200141024101410110948a8080002003280210210420032802142106200328021821010b200620016a20022f00003b0000200341003602302003428080808010370228200320063602382003200141026a220536023c2003200341286a360234200341086a200341346a200141036a41017620056a200341386a41b48cc4800010da888080002003280208210102402004450d00200641002802a8bfd38000118080808000000b20010d0320002003290228370200200041086a200341286a41086a2802003602000240200328021c450d00200241002802a8bfd38000118080808000000b200341c0006a2480808080000f0b4101410110b980808000000b4101410210b980808000000b4102200241a48cc4800010aa81808000000b41a4ffc28000412b200341386a4194ffc2800041d0ffc2800010a481808000000bf80702097f027e23808080800041f0006b2202248080808000200241286a200110f28e808000200228022c21030240024002400240024002400240024020022802282204418080808078460d0020022802302101200241b48cc480003602502002200136024c20022003360248410021052002410036026020024280808080103702582002200241d8006a36026c200241e4006a200241ec006a2001200241c8006a41b48cc4800010d08b80800002402002280264418380c400460d0002402002280258450d00200228025c41002802a8bfd38000118080808000000b410021050c060b20022802582206418080808078460d04200228025c210141012105200228026022074102490d0320012d0000220841c000490d0102402008411874411875417f4a0d00410421050c040b4102210920012d0001220a413f714108742008410274200a4106767241ff01717221080c020b200041013a0000200020033602040c060b410121090b2007200941226a470d000240200841feff0071412e470d00410721050c010b200241d8006a20012009412072220510a69280800002402002280260220a41014d0d0002400240200120056a200228025c220a200720056b10ed968080000d00200241306a200120096a2209410d6a290000370300200241386a200941156a2900003703002002413f6a2009411c6a2800003600002002200929000537032820092f0003210520092f0001210720092d0000210902402002280258450d00200a41002802a8bfd38000118080808000000b02402006450d00200141002802a8bfd38000118080808000000b2008109488808000450d01200841002f01d8bcd38000460d01410221050c050b02402002280258450d00200a41002802a8bfd38000118080808000000b410321050c020b200241086a41176a2201200241286a41176a280000360000200241086a41106a2208200241286a41106a290300370300200241086a41086a200241286a41086a290300220b37030020022002290328220c3703082000411d6a2001280000360000200041166a20082903003701002000410e6a200b3701002000200c370106200020053b0104200020073b0102200020093a0001410021010c040b4102200a41f08dc4800010aa81808000000b2006450d00200141002802a8bfd38000118080808000000b0b200220083b0166200220053b0164410121012002410136022c200241d88ac4800036022820024201370234200241b282808000ad422086200241e4006aad843703482002200241c8006a360230200241d8006a200241286a10b1808080002000200241d8006a10ce8e8080003602040b200020013a00002004450d00200341002802a8bfd38000118080808000000b200241f0006a2480808080000bc60401047f23808080800041c0006b2202248080808000024002400240024002400240024020002802002203417d6a41002003417c6a4105491b0e06000102030405000b2002200036020441012100200128021c220341d888c48000410d2001280220220428020c2205118180808000000d050240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d07200241046a200110ad8e8080000d07200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0641012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ad8e8080000d06200228023441b6c4c080004102200228023828020c118180808000000d060b200341bec4c08000410120051181808080000021000c050b200128021c41e08ac48000410d200128022028020c1181808080000021000c040b200128021c41ed8ac48000410f200128022028020c1181808080000021000c030b200128021c41fc8ac48000410b200128022028020c1181808080000021000c020b200128021c41878bc480004111200128022028020c1181808080000021000c010b200128021c41e588c48000410b200128022028020c1181808080000021000b200241c0006a24808080800020000b8f0201027f23808080800041106b22022480808080002002200041186a360204200128021c41b88bc480004110200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41c88bc48000410d200041988bc48000109d818080001a200241086a41d58bc480004108200241046a41a88bc48000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710bb10102037f017e200028020c2201200028020422026b4190026e2103024020012002460d00034002402002290300427e7c22044203542004420152710d00200241306a2d000041ff01714102470d00200241346a280200450d00200241386a28020041002802a8bfd38000118080808000000b200241a0016a10d38880800020024190026a21022003417f6a22030d000b0b02402000280208450d00200028020041002802a8bfd38000118080808000000b0b890302077f017e200028020c2201200028020422026b41fc006e2103024020012002460d0041002104034002402002200441fc006c6a22052802082206450d00200528020421010340024020012d0000220741034b0d0020012007410274418c91c480006a2802006a2207280200450d00200741046a28020041002802a8bfd38000118080808000000b200141146a21012006417f6a22060d000b0b02402005280200450d00200528020441002802a8bfd38000118080808000000b024020052802782206450d0020052802742101034002402001290300427e7c22084203542008420152710d00200141306a2d000041ff01714102470d00200141346a280200450d00200141386a28020041002802a8bfd38000118080808000000b200141a0016a10c28b80800020014190026a21012006417f6a22060d000b0b02402005280270450d00200528027441002802a8bfd38000118080808000000b200441016a22042003470d000b0b02402000280208450d00200028020041002802a8bfd38000118080808000000b0bbe0601047f23808080800041c0016b2202248080808000410121030240200128021c220441c8f6c38000410a200128022028020c2205118180808000000d000240024020012d00144104710d0041012103200441bbc4c0800041012005118180808000000d022000200110d18b808000450d010c020b200441bcc4c0800041022005118180808000000d0141012103200241013a0008200241c0006a41086a200141086a290200370300200241c0006a41106a200141106a290200370300200241c0006a41186a200141186a28020036020020024190c4c080003602602002200129021c370218200220012902003703402002200241086a3602202002200241186a36025c2000200241c0006a10d18b8080000d01200228025c41b6c4c080004102200228026028020c118180808000000d010b024002400240024020012d00144104710d0041012103200128021c41afc4c080004102200128022028020c118180808000000d04200128021422034110710d01024020034120710d0041012103412041012001109181808000450d040c050b200241b2e0003b00be014101210320014101418896c080004102200241be016a410210e380808000450d030c040b200241013a0017200241186a41106a200141106a290200370300200241186a41086a200141086a290200370300200241186a41186a200141186a28020036020020024190c4c080003602382002200129021c37020820022001290200370318200228022c21032002200241176a3602102002200241086a3602340240024020034110710d00024020034120710d0041204101200241186a109181808000450d040c020b200241b2e0003b00be01200241186a4101418896c080004102200241be016a410210e3808080000d010c030b200241b2e0003b00be01200241186a4101418896c080004102200241be016a410210e380808000450d020b410121030c030b200241b2e0003b00be014101210320014101418896c080004102200241be016a410210e3808080000d020c010b41012103200228023441b6c4c080004102200228023828020c118180808000000d010b200128021c41bec4c080004101200128022028020c1181808080000021030b200241c0016a24808080800020030bc00601047f23808080800041c0016b2202248080808000410121030240200128021c220441c8f6c38000410a200128022028020c2205118180808000000d000240024020012d00144104710d0041012103200441bbc4c0800041012005118180808000000d022000200110d28b808000450d010c020b200441bcc4c0800041022005118180808000000d0141012103200241013a0008200241c0006a41086a200141086a290200370300200241c0006a41106a200141106a290200370300200241c0006a41186a200141186a28020036020020024190c4c080003602602002200129021c370218200220012902003703402002200241086a3602202002200241186a36025c2000200241c0006a10d28b8080000d01200228025c41b6c4c080004102200228026028020c118180808000000d010b024002400240024020012d00144104710d0041012103200128021c41afc4c080004102200128022028020c118180808000000d04200128021422034110710d01024020034120710d004101210341c00041012001109181808000450d040c050b200241b4e0003b00be014101210320014101418896c080004102200241be016a410210e380808000450d030c040b200241013a0017200241186a41106a200141106a290200370300200241186a41086a200141086a290200370300200241186a41186a200141186a28020036020020024190c4c080003602382002200129021c37020820022001290200370318200228022c21032002200241176a3602102002200241086a3602340240024020034110710d00024020034120710d0041c0004101200241186a109181808000450d040c020b200241b4e0003b00be01200241186a4101418896c080004102200241be016a410210e3808080000d010c030b200241b4e0003b00be01200241186a4101418896c080004102200241be016a410210e380808000450d020b410121030c030b200241b4e0003b00be014101210320014101418896c080004102200241be016a410210e3808080000d020c010b41012103200228023441b6c4c080004102200228023828020c118180808000000d010b200128021c41bec4c080004101200128022028020c1181808080000021030b200241c0016a24808080800020030ba80501067f23808080800041c0006b220124808080800020014106360210200141b892c4800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241b892c48000360200200241046a410636020041b892c48000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d022003418781808000360218200342acf6debeefe0d9c8d300370310200342efc9c9edb5e7b3a6c70037030820034101360204200341be92c48000360200200141286a41086a410036020020014280808080c000370228200141286a41d0e1c1800010af96808000200128022c220442808080808001370200200141186a41086a22054101360200200441003a00202004410436021c200441bf92c480003602182004420437021020044200370208200120012902283703182001410c6a200141186a41c392c48000410410948580800020012802142106200128021021042001200128020c3602302001200436022820012004200641246c6a3602342001200436022c200141186a200141286a41bccec2800010af8b8080002000410136024c2000200336024820004101360244200141336a200528020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129021837002b20002001290028370001200041086a2001412f6a290000370000200141c0006a2480808080000f0b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236022c200141d0c5cb800036022820014201370234200141b980808000ad4220862001410c6aad843703182001200141186a360230200141286a41e0c5cb800010f280808000000b4108412010b980808000000bb40603047f017e017f23808080800041c0006b2201248080808000200141246a41ec97c48000410841f497c4800041234104410010c7918080002001410036022020014280808080c00037021841002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d00200241e880808000360238200242e2e68fceaa92ce9c7b370330200242e987d8bed5a3d0fbfb00370328200241073602242002419798c48000360220200241e780808000360218200242d9d1a5958acddccda77f370310200242bb82a2f99fad8c91c100370308200241023602042002418093c48000360200200141086a200141186a220341086a2802003602002001200329020037030020012802242104200129022821052001410c6a41086a410036020020014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220342d9d1a5958acddccda77f370308200342bb82a2f99fad8c91c100370300200141306a41086a220641013602002003420437022c20034202370224200341b184c280003602202003410236021c200341af84c28000360218200341e7808080003602102001200129020c3703300240200628020022032001280230470d00200141306a41e0e1c1800010b8918080000b2001280234200341386c22066a2203420437022c20034207370224200341b984c280003602202003410636021c200341b384c28000360218200341e880808000360210200342e2e68fceaa92ce9c7b370308200342e987d8bed5a3d0fbfb0037030020012802342103200120012802303602142001200336020c2001200320066a41386a36021820012003360210200141306a2001410c6a41bccec2800010b18b8080002004418080808078460d012000410236024c2000200236024820004102360244200141176a200141306a41086a2802003600002000200537023c20002004360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000b980704047f017e017f017e23808080800041d0006b2201248080808000200141306a418fa7c4800041084197a7c4800041334104410010c7918080002001410036022c20014280808080c00037022441002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d00200241b48080800036021820024282a1a9c9eea2b5c92f3703102002428ae6f3f7c78ea4cfd10037030820024101360204200241caa7c48000360200200141086a41086a200141246a220341086a280200360200200120032902003703082001280230210420012902342105200141186a41086a4100360200200142808080808001370218200141186a41e0e1c1800010b891808000200128021c220342e5afcae0b6cee8b5e200370308200342cec2f99abaaba4b1f600370300200141c0006a41086a220641013602002003420437022c2003420d370224200341bfc1c280003602202003410e36021c200341b1c1c28000360218200341c782808000360210200120012902183703400240200628020022062001280240470d00200141c0006a41e0e1c1800010b8918080000b2001280244200641386c6a2203420437022c20034209370224200341dac1c280003602202003410e36021c200341ccc1c28000360218200341c882808000360210200342fe85facc91fa8bfabf7f370308200342dee6c1e4ac97b8c13a370300200141206a200641016a2203360200200120012903402207370318024020032007a7470d00200141186a41e0e1c1800010b8918080000b200128021c200341386c22066a2203420437022c200342233702242003418ec1c280003602202003411836021c200341f6c0c28000360218200341c982808000360210200342d5c5bddfd3caeaffa77f370308200342aff2d6a5a4d38d8e1c370300200128021c210320012001280218360220200120033602182001200320066a41386a3602242001200336021c200141c0006a200141186a41bccec2800010b18b8080002004418080808078460d012000410136024c2000200236024820004101360244200141236a200141c0006a41086a2802003600002000200537023c20002004360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bb20603047f017e017f23808080800041c0006b2201248080808000200141246a41ec97c48000410841f497c4800041234104410010c7918080002001410036022020014280808080c00037021841002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d00200241e880808000360238200242e2e68fceaa92ce9c7b370330200242e987d8bed5a3d0fbfb00370328200241073602242002419798c48000360220200241ad82808000360218200242d581fabfabc3feadea00370310200242dae4deb6f2a0b3f466370308200241023602042002418093c48000360200200141086a200141186a220341086a2802003602002001200329020037030020012802242104200129022821052001410c6a41086a410036020020014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220342d581fabfabc3feadea00370308200342dae4deb6f2a0b3f466370300200141306a41086a220641013602002003420437022c20034202370224200341b184c280003602202003410236021c200341af84c28000360218200341ad828080003602102001200129020c3703300240200628020022032001280230470d00200141306a41e0e1c1800010b8918080000b2001280234200341386c22066a2203420437022c20034207370224200341b984c280003602202003410636021c200341b384c28000360218200341e880808000360210200342e2e68fceaa92ce9c7b370308200342e987d8bed5a3d0fbfb0037030020012802342103200120012802303602142001200336020c2001200320066a41386a36021820012003360210200141306a2001410c6a41bccec2800010b18b8080002004418080808078460d012000410236024c2000200236024820004102360244200141176a200141306a41086a2802003600002000200537023c20002004360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bcf0101017f41002d00b8bfd380001a0240413041002802b0bfd38000118280808000002201450d00200141b3808080003602282001418282808000360210200142b1bafce0d8ff83847d370308200142dcaba9f9efbf9de324370300200142d7c9cb8fc1cf97db3e370320200142e88488d0c0e3aebc13370318200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000410236020c2000200136020820004102360204200041043a00000f0b4108413010b980808000000ba50501067f23808080800041c0006b220124808080800020014106360210200141b892c4800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241b892c48000360200200241046a410636020041b892c48000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236022c200141d0c5cb800036022820014201370234200141b980808000ad4220862001410c6aad843703182001200141186a360230200141286a41e0c5cb800010f280808000000b2003418f81808000360218200342f285eecfab8efdf27a370310200342c18b8eb39ececb99de0037030820034101360204200341be92c48000360200200141286a41086a410036020020014280808080c000370228200141286a41d0e1c1800010af96808000200128022c220442808080808001370200200141186a41086a22054101360200200441003a00202004410436021c200441bf92c480003602182004420437021020044200370208200120012902283703182001410c6a200141186a41c392c48000410410a18580800020012802142106200128021021042001200128020c3602302001200436022820012004200641246c6a3602342001200436022c200141186a200141286a41bccec2800010af8b8080002000410136024c2000200336024820004101360244200141336a200528020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129021837002b20002001290028370001200041086a2001412f6a290000370000200141c0006a2480808080000ba50501067f23808080800041c0006b220124808080800020014106360210200141b892c4800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241b892c48000360200200241046a410636020041b892c48000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236022c200141d0c5cb800036022820014201370234200141b980808000ad4220862001410c6aad843703182001200141186a360230200141286a41e0c5cb800010f280808000000b200341a181808000360218200342ab83dfd99683ccab987f3703102003428ff9f7cbc0adc4c06137030820034101360204200341be92c48000360200200141286a41086a410036020020014280808080c000370228200141286a41d0e1c1800010af96808000200128022c220442808080808001370200200141186a41086a22054101360200200441003a00202004410436021c200441bf92c480003602182004420437021020044200370208200120012902283703182001410c6a200141186a41c392c48000410410cc8580800020012802142106200128021021042001200128020c3602302001200436022820012004200641246c6a3602342001200436022c200141186a200141286a41bccec2800010af8b8080002000410136024c2000200336024820004101360244200141336a200528020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129021837002b20002001290028370001200041086a2001412f6a290000370000200141c0006a2480808080000ba50501067f23808080800041c0006b220124808080800020014106360210200141b892c4800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241b892c48000360200200241046a410636020041b892c48000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236022c200141d0c5cb800036022820014201370234200141b980808000ad4220862001410c6aad843703182001200141186a360230200141286a41e0c5cb800010f280808000000b200341ff8080800036021820034296e397c6bfa5aeee46370310200342aceff0b4f2bd8f8fe40037030820034101360204200341be92c48000360200200141286a41086a410036020020014280808080c000370228200141286a41d0e1c1800010af96808000200128022c220442808080808001370200200141186a41086a22054101360200200441003a00202004410436021c200441bf92c480003602182004420437021020044200370208200120012902283703182001410c6a200141186a41c392c48000410410b18580800020012802142106200128021021042001200128020c3602302001200436022820012004200641246c6a3602342001200436022c200141186a200141286a41bccec2800010af8b8080002000410136024c2000200336024820004101360244200141336a200528020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129021837002b20002001290028370001200041086a2001412f6a290000370000200141c0006a2480808080000ba40501067f23808080800041c0006b220124808080800020014106360210200141b892c4800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241b892c48000360200200241046a410636020041b892c48000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236022c200141d0c5cb800036022820014201370234200141b980808000ad4220862001410c6aad843703182001200141186a360230200141286a41e0c5cb800010f280808000000b200341b380808000360218200342d7c9cb8fc1cf97db3e370310200342e88488d0c0e3aebc1337030820034101360204200341be92c48000360200200141286a41086a410036020020014280808080c000370228200141286a41d0e1c1800010af96808000200128022c220442808080808001370200200141186a41086a22054101360200200441003a00202004410436021c200441bf92c480003602182004420437021020044200370208200120012902283703182001410c6a200141186a41c392c48000410410c08580800020012802142106200128021021042001200128020c3602302001200436022820012004200641246c6a3602342001200436022c200141186a200141286a41bccec2800010af8b8080002000410136024c2000200336024820004101360244200141336a200528020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129021837002b20002001290028370001200041086a2001412f6a290000370000200141c0006a2480808080000ba40501067f23808080800041c0006b220124808080800020014106360210200141b892c4800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241b892c48000360200200241046a410636020041b892c48000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236022c200141d0c5cb800036022820014201370234200141b980808000ad4220862001410c6aad843703182001200141186a360230200141286a41e0c5cb800010f280808000000b2003419681808000360218200342eef8e7b09dc4b6b53f370310200342bbeefa98e893a7ad0237030820034101360204200341be92c48000360200200141286a41086a410036020020014280808080c000370228200141286a41d0e1c1800010af96808000200128022c220442808080808001370200200141186a41086a22054101360200200441003a00202004410436021c200441bf92c480003602182004420437021020044200370208200120012902283703182001410c6a200141186a41c392c48000410410ae8580800020012802142106200128021021042001200128020c3602302001200436022820012004200641246c6a3602342001200436022c200141186a200141286a41bccec2800010af8b8080002000410136024c2000200336024820004101360244200141336a200528020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129021837002b20002001290028370001200041086a2001412f6a290000370000200141c0006a2480808080000ba50501067f23808080800041c0006b220124808080800020014106360210200141b892c4800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241b892c48000360200200241046a410636020041b892c48000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236022c200141d0c5cb800036022820014201370234200141b980808000ad4220862001410c6aad843703182001200141186a360230200141286a41e0c5cb800010f280808000000b200341a781808000360218200342f690e19096bde9db09370310200342e48ae8ebafc78eaa927f37030820034101360204200341be92c48000360200200141286a41086a410036020020014280808080c000370228200141286a41d0e1c1800010af96808000200128022c220442808080808001370200200141186a41086a22054101360200200441003a00202004410436021c200441bf92c480003602182004420437021020044200370208200120012902283703182001410c6a200141186a41c392c48000410410dd8580800020012802142106200128021021042001200128020c3602302001200436022820012004200641246c6a3602342001200436022c200141186a200141286a41bccec2800010af8b8080002000410136024c2000200336024820004101360244200141336a200528020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129021837002b20002001290028370001200041086a2001412f6a290000370000200141c0006a2480808080000ba50501067f23808080800041c0006b220124808080800020014106360210200141b892c4800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241b892c48000360200200241046a410636020041b892c48000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236022c200141d0c5cb800036022820014201370234200141b980808000ad4220862001410c6aad843703182001200141186a360230200141286a41e0c5cb800010f280808000000b200341b48080800036021820034282a1a9c9eea2b5c92f3703102003428ae6f3f7c78ea4cfd10037030820034101360204200341be92c48000360200200141286a41086a410036020020014280808080c000370228200141286a41d0e1c1800010af96808000200128022c220442808080808001370200200141186a41086a22054101360200200441003a00202004410436021c200441bf92c480003602182004420437021020044200370208200120012902283703182001410c6a200141186a41c392c48000410410c48580800020012802142106200128021021042001200128020c3602302001200436022820012004200641246c6a3602342001200436022c200141186a200141286a41bccec2800010af8b8080002000410136024c2000200336024820004101360244200141336a200528020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129021837002b20002001290028370001200041086a2001412f6a290000370000200141c0006a2480808080000ba60501067f23808080800041c0006b220124808080800020014106360210200141b892c4800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241b892c48000360200200241046a410636020041b892c48000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236022c200141d0c5cb800036022820014201370234200141b980808000ad4220862001410c6aad843703182001200141186a360230200141286a41e0c5cb800010f280808000000b200341808180800036021820034298c69af39cdb87a7917f370310200342e4bdf1e8c1f1c6cf8d7f37030820034101360204200341be92c48000360200200141286a41086a410036020020014280808080c000370228200141286a41d0e1c1800010af96808000200128022c220442808080808001370200200141186a41086a22054101360200200441003a00202004410436021c200441bf92c480003602182004420437021020044200370208200120012902283703182001410c6a200141186a41c392c48000410410d58580800020012802142106200128021021042001200128020c3602302001200436022820012004200641246c6a3602342001200436022c200141186a200141286a41bccec2800010af8b8080002000410136024c2000200336024820004101360244200141336a200528020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129021837002b20002001290028370001200041086a2001412f6a290000370000200141c0006a2480808080000ba40501067f23808080800041c0006b220124808080800020014106360210200141b892c4800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241b892c48000360200200241046a410636020041b892c48000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236022c200141d0c5cb800036022820014201370234200141b980808000ad4220862001410c6aad843703182001200141186a360230200141286a41e0c5cb800010f280808000000b2003419081808000360218200342f8eec1f3b18b88ea36370310200342aadbb795f0a6cebe3e37030820034101360204200341be92c48000360200200141286a41086a410036020020014280808080c000370228200141286a41d0e1c1800010af96808000200128022c220442808080808001370200200141186a41086a22054101360200200441003a00202004410436021c200441bf92c480003602182004420437021020044200370208200120012902283703182001410c6a200141186a41c392c48000410410a38580800020012802142106200128021021042001200128020c3602302001200436022820012004200641246c6a3602342001200436022c200141186a200141286a41bccec2800010af8b8080002000410136024c2000200336024820004101360244200141336a200528020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129021837002b20002001290028370001200041086a2001412f6a290000370000200141c0006a2480808080000bb20503047f017e027f23808080800041d0006b2201248080808000200141146a41186a41c792c48000410c41d392c4800041184104410010c7918080002001410036022820014280808080c00037022041002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d00200241e780808000360238200242d9d1a5958acddccda77f370330200242bb82a2f99fad8c91c1003703282002410c360224200241f492c48000360220200241808180800036021820024298c69af39cdb87a7917f370310200242e4bdf1e8c1f1c6cf8d7f37030820024109360204200241eb92c48000360200200141086a41086a2203200141146a410c6a220441086a2802003602002001200429020037030820012902302105200128022c21062001410036021c20014280808080c000370214200141c4006a200141146a418093c48000410210d685808000200141146a200141c4006a418293c48000410510ab85808000200141c4006a200141146a418793c48000410310e385808000200141146a200141c4006a418a93c48000410910dc85808000200141386a200141146a419393c48000410910e58580800020012802402107200128023c21042001200128023836021c2001200436021420012004200741246c6a36022020012004360218200141c4006a200141146a41bccec2800010af8b8080002006418080808078460d012000410236024c20002002360248200041023602442001411f6a200141c4006a41086a2802003600002000200537023c20002006360238200041013a000020002001290308370250200041d8006a20032802003602002001200129024437001720002001290014370001200041086a2001411b6a290000370000200141d0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000ba60702067f027e23808080800041c0006b22022480808080000240024002400240024002400240024002400240024002400240024002400240024020012802082203280208220420032802102205460d00200541016a2206450d0920042006490d0a20032802042107200320063602102001427f200129030042017c22082008501b370300200720056a2d00000e050102030405060b200041053a00000c0f0b410521070240200420066b4120490d00200541216a21052006415f4b0d0a200520044b0d0b20032802042104200320053602102001427f2001290300220842207c220920092008541b3703002000200420066a2201290000370001200041096a200141086a290000370000200041116a200141106a290000370000200041196a200141186a290000370000410021070b200020073a00000c0e0b200041013a00000c0d0b200241086a200110c683808000024020022802080d00200241246a2001200228020c108c838080002002280224418080808078460d00200241306a41086a200241246a41086a2802002201360200200241206a20013600002002200229022422083703302002200837001820002002290015370001200041086a2002411c6a290000370000200041023a00000c0d0b200041053a00000c0c0b0240200420066b4120490d00200541216a21052006415f4b0d09200520044b0d0a20032802042104200320053602102001427f2001290300220842207c220920092008541b370300200041033a00002000200420066a2201290000370001200041096a200141086a290000370000200041116a200141106a290000370000200041196a200141186a2900003700000c0c0b200041053a00000c0b0b200420066b4114490d02200541156a21052006416b4b0d09200520044d0d012005200441a8c8ca800010aa81808000000b200041053a00000c090b20032802042104200320053602102001427f2001290300220842147c220920092008541b370300200041043a00002000200420066a2201290000370001200041096a200141086a290000370000200041116a200141106a2800003600000c080b200041053a00000c070b417f200641a8c8ca800010ac81808000000b2006200441a8c8ca800010aa81808000000b2006200541a8c8ca800010ac81808000000b2005200441a8c8ca800010aa81808000000b2006200541a8c8ca800010ac81808000000b2005200441a8c8ca800010aa81808000000b2006200541a8c8ca800010ac81808000000b200241c0006a2480808080000b840702067f027e23808080800041d0006b220224808080800002400240024002400240024020012802082203280204200328020c22044b0d00024020032802082204280208220520042802102206470d00410121040c030b200641016a2207450d03200720054b0d042004280204210520042007360210200520066a2d000021060c010b2003200441016a36020c200328020020046a2d000021060b2001427f200129030042017c22082008501b370300410021040b024002400240024002400240024020044101710d00200641ff01710e050102030406050b200041053a00000c080b200241c8006a22044200370300200241c0006a22064200370300200241386a2205420037030020024200370330024002402003200241306a412010bc838080000d0020002002290330370001200041096a2005290300370000200041116a2006290300370000200041196a20042903003700002001427f2001290300220842207c220920092008541b370300410021010c010b410521010b200020013a00000c070b200041013a00000c060b200241086a200110bb83808000024020022802080d00200241146a2001200228020c1082838080002002280214418080808078460d00200241206a41086a200241146a41086a28020022013602002002413b6a20013600002002200229021422083703202002200837003320002002290030370001200041086a200241376a290000370000200041023a00000c060b200041053a00000c050b200241c8006a22044200370300200241c0006a22064200370300200241386a220542003703002002420037033002402003200241306a412010bc838080000d0020002002290330370001200041096a2005290300370000200041116a2006290300370000200041196a20042903003700002001427f2001290300220842207c220920092008541b370300200041033a00000c050b200041053a00000c040b200041053a00000c030b200241c0006a22044100360200200241386a220642003703002002420037033002402003200241306a411410bc838080000d0020002002290330370001200041096a2006290300370000200041116a20042802003600002001427f2001290300220842147c220920092008541b370300200041043a00000c030b200041053a00000c020b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b200241d0006a2480808080000b920702067f027e23808080800041d0006b2202248080808000024002400240024002400240200128020022032802082204280204200428020c22054b0d00024020042802082204280208220620042802102205470d00410121040c030b200541016a2207450d03200720064b0d042004280204210620042007360210200620056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2003427f200329030042017c22082008501b370300410021040b024002400240024002400240024020044101710d00200541ff01710e050102030406050b200041053a00000c080b200241c8006a22044200370300200241c0006a22014200370300200241386a2205420037030020024200370330024002402003280208200241306a412010bc838080000d002003427f2003290300220842207c220920092008541b37030020002002290330370001200041096a2005290300370000200041116a2001290300370000200041196a2004290300370000410021040c010b410521040b200020043a00000c070b200041013a00000c060b200241086a200110c183808000024020022802080d00200241146a2001200228020c10f3828080002002280214418080808078460d00200241206a41086a200241146a41086a28020022043602002002413b6a20043600002002200229021422083703202002200837003320002002290030370001200041086a200241376a290000370000200041023a00000c060b200041053a00000c050b200241c8006a22044200370300200241c0006a22014200370300200241386a220542003703002002420037033002402003280208200241306a412010bc838080000d002003427f2003290300220842207c220920092008541b37030020002002290330370001200041096a2005290300370000200041116a2001290300370000200041196a2004290300370000200041033a00000c050b200041053a00000c040b200041053a00000c030b200241c0006a22044100360200200241386a220142003703002002420037033002402003280208200241306a411410bc838080000d002003427f2003290300220842147c220920092008541b37030020002002290330370001200041096a2001290300370000200041116a2004280200360000200041043a00000c030b200041053a00000c020b417f200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000b200241d0006a2480808080000b8f0703047f027e047f23808080800041206b22022480808080000240024020012802082203280200220428020422050d00410521040c010b20042005417f6a36020420042004280200220541016a3602002001427f200129030042017c22062006501b370300024002400240024002400240024020052d000022040e050007010204030b410521042003280200220528020422034120490d062005200341606a36020420052005280200220441206a3602002001427f2001290300220642207c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000410021040c060b200241086a200110bd8380800002402002280208450d00410521040c060b02402001280208220828020041046a280200200228020c22054f0d00410521040c060b410021092002410036021c20024280808080103702142005450d032001290300210641808001210302400340200241146a20092005200320052003491b2204410141014188a8c1800010f28a8080002002200228021c220a20046a36021c2002280218210920082802002203280204220b2004490d012009200a6a20032802002209200410e9968080001a2003200b20046b3602042003200920046a3602002001427f20062004ad7c220720072006541b2206370300200228021c22092103200520046b22050d000b4105210420022802142201418080808078460d06200229021821060c050b02402002280214450d00200941002802a8bfd38000118080808000000b410521040c050b410521042003280200220528020422034120490d042005200341606a36020420052005280200220441206a3602002001427f2001290300220642207c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000410321040c040b410521040c030b410521042003280200220528020422034114490d0220052003416c6a36020420052005280200220441146a3602002001427f2001290300220642147c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a280000360000410421040c020b20022902182106410021010b2000200637020820002001360204410221040b200020043a0000200241206a2480808080000bed0502047f027e23808080800041c0006b2202248080808000024002400240024002400240024002402001280200220328020828020022042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e050102030406050b200041053a00000c060b4105210402402003280208280200220128020422054120490d002001200541606a36020420012001280200220441206a3602002003427f2003290300220642207c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000410021040b200020043a00000c050b200041013a00000c040b200241086a200110c383808000024020022802080d00200241246a2001200228020c10fb828080002002280224418080808078460d00200241306a41086a200241246a41086a2802002203360200200241206a20033600002002200229022422063703302002200637001820002002290015370001200041086a2002411c6a290000370000200041023a00000c040b200041053a00000c030b02402003280208280200220428020422014120490d002004200141606a36020420042004280200220141206a3602002003427f2003290300220642207c220720072006541b370300200041033a000020002001290000370001200041096a200141086a290000370000200041116a200141106a290000370000200041196a200141186a2900003700000c030b200041053a00000c020b200041053a00000c010b02402003280208280200220428020422014114490d0020042001416c6a36020420042004280200220141146a3602002003427f2003290300220642147c220720072006541b370300200041043a000020002001290000370001200041096a200141086a290000370000200041116a200141106a2800003600000c010b200041053a00000b200241c0006a2480808080000be10502047f027e23808080800041c0006b2202248080808000024002400240024002400240024002402001280200220328020822042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e050102030406050b200041053a00000c060b4105210402402003280208220128020422054120490d002001200541606a36020420012001280200220441206a3602002003427f2003290300220642207c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000410021040b200020043a00000c050b200041013a00000c040b200241086a200110c583808000024020022802080d00200241246a2001200228020c10e0828080002002280224418080808078460d00200241306a41086a200241246a41086a2802002203360200200241206a20033600002002200229022422063703302002200637001820002002290015370001200041086a2002411c6a290000370000200041023a00000c040b200041053a00000c030b02402003280208220428020422014120490d002004200141606a36020420042004280200220141206a3602002003427f2003290300220642207c220720072006541b370300200041033a000020002001290000370001200041096a200141086a290000370000200041116a200141106a290000370000200041196a200141186a2900003700000c030b200041053a00000c020b200041053a00000c010b02402003280208220428020422014114490d0020042001416c6a36020420042004280200220141146a3602002003427f2003290300220642147c220720072006541b370300200041043a000020002001290000370001200041096a200141086a290000370000200041116a200141106a2800003600000c010b200041053a00000b200241c0006a2480808080000bd80702067f027e23808080800041c0006b220224808080800002400240024002400240024002400240024002400240024002400240024002400240200128020022032802082204280208220520042802102206460d00200641016a2207450d09200720054b0d0a20042802042105200420073602102003427f200329030042017c22082008501b370300200520066a2d00000e050102030405060b200041053a00000c0f0b410521060240200328020822042802082205200428021022016b4120490d00200141206a21062001415f4b0d0a200620054b0d0b20042802042105200420063602102003427f2003290300220842207c220920092008541b3703002000200520016a2204290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000410021060b200020063a00000c0e0b200041013a00000c0d0b200241086a200110c283808000024020022802080d00200241246a2001200228020c10e6828080002002280224418080808078460d00200241306a41086a200241246a41086a2802002204360200200241206a20043600002002200229022422083703302002200837001820002002290015370001200041086a2002411c6a290000370000200041023a00000c0d0b200041053a00000c0c0b0240200328020822042802082206200428021022016b4120490d00200141206a21052001415f4b0d09200520064b0d0a20042802042106200420053602102003427f2003290300220842207c220920092008541b370300200041033a00002000200620016a2204290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a2900003700000c0c0b200041053a00000c0b0b200328020822042802082206200428021022016b4114490d02200141146a21052001416b4b0d09200520064d0d012005200641a8c8ca800010aa81808000000b200041053a00000c090b20042802042106200420053602102003427f2003290300220842147c220920092008541b370300200041043a00002000200620016a2204290000370001200041096a200441086a290000370000200041116a200441106a2800003600000c080b200041053a00000c070b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b2001200641a8c8ca800010ac81808000000b2006200541a8c8ca800010aa81808000000b2001200541a8c8ca800010ac81808000000b2005200641a8c8ca800010aa81808000000b2001200541a8c8ca800010ac81808000000b200241c0006a2480808080000beb0603047f027e047f23808080800041206b2202248080808000024002402001280208220328020422040d00410521050c010b20032004417f6a36020420032003280200220541016a3602002001427f200129030042017c22062006501b370300024002400240024002400240024020052d000022050e050007010204030b4105210520044121490d0620032004415f6a36020420032003280200220541206a3602002001427f2001290300220642207c220720072006541b37030020002005290000370001200041096a200541086a290000370000200041116a200541106a290000370000200041196a200541186a290000370000410021050c060b200241086a200110be8380800002402002280208450d00410521050c060b02402001280208220841046a280200200228020c22054f0d00410521050c060b410021092002410036021c20024280808080103702142005450d0320012903002106418080012104200841046a210a02400340200241146a20092005200420052004491b2203410141014188a8c1800010f28a8080002002200228021c220920036a36021c20022802182104200a280200220b2003490d01200420096a20082802002204200310e9968080001a200a200b20036b3602002008200420036a3602002001427f20062003ad7c220720072006541b2206370300200228021c22092104200520036b22050d000b4105210520022802142201418080808078460d06200229021821060c050b02402002280214450d00200441002802a8bfd38000118080808000000b410521050c050b4105210520044121490d0420032004415f6a36020420032003280200220541206a3602002001427f2001290300220642207c220720072006541b37030020002005290000370001200041096a200541086a290000370000200041116a200541106a290000370000200041196a200541186a290000370000410321050c040b410521050c030b4105210520044115490d0220032004416b6a36020420032003280200220541146a3602002001427f2001290300220642147c220720072006541b37030020002005290000370001200041096a200541086a290000370000200041116a200541106a280000360000410421050c020b20022902182106410021010b2000200637020820002001360204410221050b200020053a0000200241206a2480808080000bde0601057f23808080800041106b220224808080800002400240024002400240024020002d00000e050001020304000b02402001280200220320012802082204470d0020012004410110fc9080800020012802002103200128020821040b200041016a21002001200441016a22053602082001280204220620046a41003a00000240200320056b411f4b0d0020012005412010fc9080800020012802042106200128020821050b200620056a220420002900003700002001200541206a360208200441186a200041186a290000370000200441106a200041106a290000370000200441086a200041086a2900003700000c040b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41013a00000c030b0240200128020020012802082205470d0020012005410110fc90808000200128020821050b2001200541016a360208200128020420056a41023a0000200028020821042002200028020c22003602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822056b20004f0d0020012005200010fc90808000200128020821050b200128020420056a2004200010e9968080001a2001200520006a3602080c020b02402001280200220320012802082204470d0020012004410110fc9080800020012802002103200128020821040b200041016a21002001200441016a22053602082001280204220620046a41033a00000240200320056b411f4b0d0020012005412010fc9080800020012802042106200128020821050b200620056a220420002900003700002001200541206a360208200441186a200041186a290000370000200441106a200041106a290000370000200441086a200041086a2900003700000c010b02402001280200220320012802082204470d0020012004410110fc9080800020012802002103200128020821040b200041016a21052001200441016a22003602082001280204220620046a41043a00000240200320006b41134b0d0020012000411410fc9080800020012802042106200128020821000b200620006a220420052900003700002001200041146a360208200441106a200541106a280000360000200441086a200541086a2900003700000b200241106a2480808080000bb613030b7f017e0e7f23808080800041c0016b220224808080800002400240024002400240024020012802002203450d0020012802042104200321050240024002400340200541d8006a210620052f01e20122074103742108417f21092005210a024002400340024020080d00200721090c020b419c93c48000200a410810ed96808000210b200841786a2108200941016a21092006410c6a2106200a41086a210a417f200b410047200b4100481b220b4101460d000b200b41ff0171450d010b2004450d022004417f6a2104200520094102746a41e4016a28020021050c010b0b20022006417c6a2902003702b801200241c8006a200241b8016a10838f8080002002280248220c418080808078470d010b2003450d02200128020421050340200341d8006a210620032f01e20122044103742108417f21092003210a02400340024020080d00200421090c020b41a493c48000200a410810ed96808000210b200841786a2108200941016a21092006410c6a2106200a41086a210a417f200b410047200b4100481b220b4101460d000b200b41ff0171450d030b2005450d032005417f6a2105200320094102746a41e4016a28020021030c000b0b200241206a41086a200241dd006a290000370300200241206a41106a200241e5006a290000370300200241386a200241ed006a2900003703002002413f6a200241f4006a29000037000020022002290055370320200229004d210d20022d004c210e200228027c210f200228028001211020022802840121092002280288012111200228028c01211220022802900121132002280294012114200241086a41106a200241a8016a280200360200200241086a41086a200241a0016a290200370300200220022902980137030820022802b401211520022802b001211620022802ac0121170c020b20022006417c6a2902003702b801200241c8006a200241b8016a10878f80800041808080807821142002280248220c418080808078460d00200241286a200241dd006a290000370300200241206a41106a200241e5006a290000370300200241386a200241ed006a2900003703002002413f6a200241f4006a290000370000200241086a41106a20024190016a280200360200200220022900553703202002200229028801370310200229004d210d20022d004c210e200228027c210f20022802800121102002280284012109200228029c012115200228029801211620022802940121174104211241002113410021110c010b20004181808080783602000c010b200242cce78dfda8f884f6bd7f370060200242a2f98685b9fa9aec34370058200242b9e088b7b6cdc2d113370050200242c5e4f4b9cff9d18a0b3700482002200241c8006a4120108a848080002002280204410020022802004101711b21054100211802402009450d002009410474210b2009417f6a41ffffffff007141016a2106410021084100210a02400340201020086a410c6a28020020054b0d01200a41016a210a200b200841106a2208470d000b2006210a0b2009200a490d042009200a6b2118200a450d00200a41017121064100210b0240200a4101460d00200a417e712109201021084100210b034002402008280200450d00200841046a28020041002802a8bfd38000118080808000000b0240200841106a280200450d00200841146a28020041002802a8bfd38000118080808000000b200841206a21082009200b41026a220b470d000b0b02402006450d002010200b4104746a2208280200450d00200828020441002802a8bfd38000118080808000000b024020180d00410021180c010b20102010200a4104746a201841047410ec968080001a0b02402017450d002015450d002017410047210b20152101201621042017210a410021080340024002400240200b410171450d0002402008450d00200a210b0c030b4100210b2004450d0120042108024020044107712209450d0003402008417f6a2108200a2802b801210a2009417f6a22090d000b0b20044108490d010340200a2802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b801210a200841786a22080d000c020b0b4198efc48000108a81808000000b200a2108410021040b02400240200420082f01b6014f0d00200421092008210a0c010b03402008280200220a450d05200b41016a210b20082f01b4012109200a21082009200a2f01b6014f0d000b0b02400240200b0d00200941016a2104200a21080c010b200a20094102746a41bc016a280200210841002104200b417f6a2206450d00200b417e6a210302402006410771220b450d0003402006417f6a210620082802b8012108200b417f6a220b0d000b0b20034107490d00034020082802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012108200641786a22060d000b0b0240200a2009410c6c6a220a41386a2802002203450d00200a41306a2107200a41346a2802002219410c6a210a200341047421092003417f6a41ffffffff007141016a21064100210b02400340200a28020020054b0d01200a41106a210a200b41016a210b200941706a22090d000b2006210b0b2003200b490d05200741003602082003200b6b211a02400240200b450d00200b410171211b410021090240200b4101460d00200b417e712106410021092019210a03400240200a280200450d00200a41046a28020041002802a8bfd38000118080808000000b0240200a41106a280200450d00200a41146a28020041002802a8bfd38000118080808000000b200a41206a210a2006200941026a2209470d000b0b0240201b450d00201920094104746a220a280200450d00200a28020441002802a8bfd38000118080808000000b2003200b460d020240200b2007280208220a470d00200a201a6a211a0c020b20072802042209200a4104746a2009200b4104746a201a41047410ec968080001a200a201a6a211a0c010b2003450d010b2007201a3602080b4101210b4100210a2001417f6a22010d000b0b2000200d3700052000200e3a00042000200c3602002000200229032037000d2000201436024c2000201336024820002012360244200020113602402000201836023c200020103602382000200f360234200041156a200241206a41086a2903003700002000411d6a200241206a41106a290300370000200041256a200241386a2903003700002000412c6a2002413f6a2900003700002000201536026c2000201636026820002017360264200041e0006a200241086a41106a280200360200200041d8006a200241086a41086a290300370200200020022903083702500b200241c0016a2480808080000f0b41e8b3c18000108a81808000000b200b200341f49fc5800010aa81808000000b200a200941f49fc5800010aa81808000000bc00501047f2380808080004180016b22012480808080002001429fc0cdd7f5aecec98b7f37000a200142f5cdd4baf8c9bf88593700022001411c6a200141026a411041002802a8bdd380001185808080000002400240200128021c2202418080808078460d0020012802202103024020012802244110490d00200141026a2003411010ed96808000210402402002450d00200341002802a8bfd38000118080808000000b20040d0120004200370300200041086a42003703000c020b2002450d00200341002802a8bfd38000118080808000000b200141003b011241002102024041002802ecbfd380004103490d002001410d360218200141e8c5c38000360214200141ca82808000ad422086200141126aad84370368200141ed80808000ad422086200141146aad8437036041002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142023702542001410336024c200141c896c48000360248200141163602442001419594c48000360240200142c980808030370238200141cc93c480003602342001422537022c200141ab94c480003602282001410036022420014281808080a00737021c200241c4dbc88000200441024622041b28021021022001200141e0006a360250200341dcdbc8800020041b2001411c6a2002118b808080000020012f011221020b2001411c6a41e8c5c38000410d4100280290bfd38000118580808000002001411c6a41106a220341809ac5800041154100280290bfd3800011858080800000200141e0006a41186a2001411c6a41186a290000370300200141e0006a41106a2003290000370300200141e0006a41086a2001411c6a41086a2900003703002001200129001c370360200120023b011c200141e0006a41202001411c6a410241002802c8bdd3800011838080800000200041086a4200370300200042003703000b20014180016a2480808080000bf60201047f23808080800041c0006b220224808080800020022000360204410121000240200128021c220341989ec48000410e2001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110cc888080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10cc888080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000b9d0501047f2380808080004180016b2201248080808000200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b3700042001411c6a200141046a411041002802a8bdd380001185808080000002400240200128021c2202418080808078460d0020012802202103024020012802244110490d00200141046a2003411010ed96808000210402402002450d00200341002802a8bfd38000118080808000000b20040d010c020b2002450d00200341002802a8bfd38000118080808000000b024041002802ecbfd380004103490d002001410f360218200141c5c6c38000360214200141ca82808000ad42208641e096c48000ad84370368200141ed80808000ad422086200141146aad8437036041002802d4bcd38000210241002802d0bcd38000210341002802e8bfd38000210420014202370254200141dc97c48000360248200141163602442001419594c48000360240200142cb80808030370238200141d094c480003602342001422737022c2001419b95c480003602282001410036022420014281808080801d37021c2001410236024c200241c4dbc88000200441024622041b28021021022001200141e0006a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b2001411c6a41c5c6c38000410f4100280290bfd38000118580808000002001411c6a41106a220241809ac5800041154100280290bfd3800011858080800000200141e0006a41186a2001411c6a41186a290000370300200141e0006a41106a2002290000370300200141e0006a41086a2001411c6a41086a2900003703002001200129001c370360200141023b011c200141e0006a41202001411c6a410241002802c8bdd38000118380808000000b20004200370300200041086a420037030020014180016a2480808080000ba00103017f017e017f23808080800041c0006b2201248080808000200142a2bba4efe3ffa586553700182001429c9a9bbf88a5a0fc937f37001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a20014120108784808000200129033021022000200141386a2903004200200128022041017122031b37030820002002420020031b370300200141c0006a2480808080000ba10103017f017e017f23808080800041c0006b2201248080808000200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a20014120108784808000200129033021022000200141386a2903004200200128022041017122031b37030820002002420020031b370300200141c0006a2480808080000b830102027f017e23808080800041306b2200248080808000200042e9c5fea9cdfbc4d26d37001820004286aaece2939beae46537001020004289df9d82f381819238370008200042d7f0f3fea28baccae700370000200041206a2000412010ba838080002000280220210120002903282102200041306a2480808080002002420020011b0bc50503037f017e047f23808080800041106b2202248080808000410121034101210402402001290300220542c000540d0002402005428080015a0d00410221040c010b024020054280808080045a0d00410421040c010b4109200579a74103766b21040b02402001290308220542c000540d0002402005428080015a0d00410221030c010b024020054280808080045a0d00410421030c010b4109200579a74103766b21030b410121064101210702402001290310220542c000540d0002402005428080015a0d00410221070c010b024020054280808080045a0d00410421070c010b4109200579a74103766b21070b02402001290318220542c000540d0002402005428080015a0d00410221060c010b024020054280808080045a0d00410421060c010b4109200579a74103766b21060b410121084101210902402001290320220542c000540d0002402005428080015a0d00410221090c010b024020054280808080045a0d00410421090c010b4109200579a74103766b21090b02402001290328220542c000540d0002402005428080015a0d00410221080c010b024020054280808080045a0d00410421080c010b4109200579a74103766b21080b41002d00b8bfd380001a0240200320046a20076a20066a20096a20086a220341002802b0bfd380001182808080000022040d004101200341e8a0c4800010ae80808000000b200241086a2206410036020020022004360204200220033602002002200136020c2002410c6a200210d6838080002002200141086a36020c2002410c6a200210d6838080002002200141106a36020c2002410c6a200210d6838080002002200141186a36020c2002410c6a200210d6838080002002200141206a36020c2002410c6a200210d6838080002002200141286a36020c2002410c6a200210d683808000200041086a200628020036020020002002290200370200200241106a2480808080000bf30101027f23808080800041306b2201248080808000200142d684ecb8c888e883c30037001c200142c5c58cc181f088c50c370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b37000441002d00b8bfd380001a0240412c41002802b0bfd38000118280808000002202450d00200120023602282001412c3602242001410036022c2000200141246a10a48480800020012802242100200141046a412020012802282202200128022c41002802c8bdd380001183808080000002402000450d00200241002802a8bfd38000118080808000000b200141306a2480808080000f0b4101412c10b980808000000bec0101067f23808080800041206b220124808080800020014281ffa0ee9dfeb487a57f370018200142e8f5928beff0b7b005370010200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b370000410121024100210341002d00b8bfd380001a024041014102200041ff017141024622041b220541002802b0bfd38000118280808000002206450d00024020040d00200620003a000141022102410121030b200620033a0000200141202006200241002802c8bdd3800011838080800000200641002802a8bfd3800011808080800000200141206a2480808080000f0b4101200510b980808000000b880101017f23808080800041306b2202248080808000200242e4c5bdb4b2e9a5a6807f370018200242d790d7a3fef9fda0c80037001020024298d5afd2c6aeacae2f370008200242c2cdc8b0c7b9e78f857f370000200220013703282002200037032020024120200241206a411041002802c8bdd3800011838080800000200241306a2480808080000bee0101027f23808080800041206b2201248080808000200142bb88f596f8cbf6cf4c3700182001428a85cd9fb3e4b2ae6d370010200142fc90b9e5d09296e777370008200142a6d4e6f1a4dd95986037000041002d00b8bfd380001a0240412041002802b0bfd380001182808080000022020d004101412010b980808000000b20022000290000370000200241186a200041186a290000370000200241106a200041106a290000370000200241086a200041086a290000370000200141202002412041002802c8bdd3800011838080800000200241002802a8bfd3800011808080800000200141206a2480808080000bf00101027f23808080800041206b2201248080808000200142e7adb0ba9bbab2f2fb00370018200142d39cf0bdba80f2ac10370010200142a988d1e9f0b7bbcf9c7f370008200142dc9ac4b0d794dae07937000041002d00b8bfd380001a0240412041002802b0bfd380001182808080000022020d004101412010b980808000000b20022000290000370000200241186a200041186a290000370000200241106a200041106a290000370000200241086a200041086a290000370000200141202002412041002802c8bdd3800011838080800000200241002802a8bfd3800011808080800000200141206a2480808080000bba0203027f017e017f23808080800041306b2201248080808000200142e4a4ce9096c6ccc1ed0037001c20014283b3bacea5969fd4847f370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004410021020240024041032000350208420c7e2203a741046a2003422088a71b22044100480d00024020040d00410121020c020b41002d00b8bfd380001a200441002802b0bfd380001182808080000022020d01410121020b2002200441e894c3800010ae80808000000b20012002360228200120043602242001410036022c2000200141246a10a38780800020012802242104200141046a412020012802282202200128022c41002802c8bdd380001183808080000002402004450d00200241002802a8bfd38000118080808000000b200010d98a808000200141306a2480808080000bc90101027f23808080800041206b2202248080808000200242b0f2f7f283ece7d10b370018200242cbf2abd1d7a8b9e0d70037001020024284c2b1b3ef9292841e370008200242bce2f4b8c5daf6fa2937000041002d00b8bfd380001a0240410c41002802b0bfd380001182808080000022030d004101410c41e8a0c4800010ae80808000000b2003200037000020032001360008200241202003410c41002802c8bdd3800011838080800000200341002802a8bfd3800011808080800000200241206a2480808080000be70101047f23808080800041206b2201248080808000200142db94c397a39dc1eaea00370018200142f2f7edb5a4809cb22b370010200142b9e088b7b6cdc2d113370008200142c5e4f4b9cff9d18a0b3700004101210241002d00b8bfd380001a02404102410120001b220341002802b0bfd38000118280808000002204450d002004210302402000450d00200441013a0000200441016a2103410221020b200341003a0000200141202004200241002802c8bdd3800011838080800000200441002802a8bfd3800011808080800000200141206a2480808080000f0b4101200310b980808000000b820101017f23808080800041306b2201248080808000200142e9c5fea9cdfbc4d26d37002020014286aaece2939beae46537001820014289df9d82f381819238370010200142d7f0f3fea28baccae70037000820012000370328200141086a4120200141286a410841002802c8bdd3800011838080800000200141306a2480808080000bbd0101027f23808080800041206b220124808080800020014282f1a7edb4d8f4c2a17f370018200142b098a68fd68bf8bbda00370010200142dbd4b188d8cab88410370008200142bfa89c83ea92efeb1a37000041002d00b8bfd380001a0240410141002802b0bfd380001182808080000022020d004101410110b980808000000b200220003a0000200141202002410141002802c8bdd3800011838080800000200241002802a8bfd3800011808080800000200141206a2480808080000be80101027f23808080800041306b2201248080808000200142e68dc38d9b83b9ae2837001c200142aa8ec1edcdf9d366370014200142b9e088b7b6cdc2d11337000c200142c5e4f4b9cff9d18a0b370004200141246a200010ab8e808000200141046a412020012802282202200128022c41002802c8bdd380001183808080000002402001280224450d00200241002802a8bfd38000118080808000000b02402000280200450d00200028020441002802a8bfd38000118080808000000b0240200028020c450d00200028021041002802a8bfd38000118080808000000b200141306a2480808080000bd70201027f23808080800041206b220124808080800002400240024020002d0000410171450d00200142e7adb0ba9bbab2f2fb00370018200142d39cf0bdba80f2ac10370010200142a988d1e9f0b7bbcf9c7f370008200142dc9ac4b0d794dae07937000041002d00b8bfd380001a412041002802b0bfd38000118280808000002202450d0220022000290001370000200241186a200041196a290000370000200241106a200041116a290000370000200241086a200041096a290000370000200141202002412041002802c8bdd3800011838080800000200241002802a8bfd38000118080808000000c010b200142e7adb0ba9bbab2f2fb00370018200142d39cf0bdba80f2ac10370010200142a988d1e9f0b7bbcf9c7f370008200142dc9ac4b0d794dae079370000200141204100280280bdd38000118b80808000000b200141206a2480808080000f0b4101412010b980808000000b8f0301077f23808080800041c0006b2201248080808000200142f4fa97f89782c7a62d37001c20014299cfe7ffe3b8eac708370014200142fc90b9e5d09296e77737000c200142a6d4e6f1a4dd9598603700042001413c6a2102200141386a210302400240024002400240024020002d000022040e050001020305000b2001200041016a36023420002802102105200028020c210641002104200321070c030b410121042001200041016a36023420002802102105200028020c2106200321070c020b2001200041016a36023420002802102105200028020c210641022104200321070c010b200141346a2107200028020c21052000280208210641032104200321020b20022005360200200720063602000b20012004360230200141246a200141306a10d695808000200141046a4120200141246a41002802f8bcd3800011858080800000024020002d0000220441034b0d002000200441027441ece9c480006a2802006a2200280200450d00200028020441002802a8bfd38000118080808000000b200141c0006a2480808080000be40201047f23808080800041c0006b2201248080808000200142bc8986ab88c2dce45737002020014280a9fbf0e5a2c1b3e500370018200142fc90b9e5d09296e777370010200142a6d4e6f1a4dd9598603700084100210202400240417f417f200028026c41027441e0e9c480006a2802002203200010dd878080006a220420042003491b220320002802684105746a41046a220420042003491b22034100480d0041002d00b8bfd380001a200341002802b0bfd380001182808080000022040d01410121020b2002200341f4cac1800010ae80808000000b200141346a41086a2202410036020020012004360238200120033602342000200141346a10f683808000200141286a41086a200228020036020020012001290234370328200141086a4120200141286a41002802f8bcd380001185808080000002402000280260450d00200028026441002802a8bfd38000118080808000000b200141c0006a2480808080000beb0102017f027e23808080800041c0006b2201248080808000200041086a290300210220002903002103200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a20014120108784808000200142e4c5bdb4b2e9a5a6807f370038200142d790d7a3fef9fda0c80037003020014298d5afd2c6aeacae2f370028200142c2cdc8b0c7b9e78f857f3700202001200237030820012003370300200141206a41202001411041002802c8bdd3800011838080800000200141c0006a2480808080000bc00d04047f027e017f017e23808080800041d0016b2201248080808000200028020821022000280204210320002802002100200142f89aef8eef91e1ce967f370028200142b4d6d6dfccc6b592c300370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd95986037001020014188016a200141106a4120109484808000024002402001280288010d00200141386a4200370300200141106a41206a4200370300200141286a4200370300200141206a4200370300200141186a4200370300200142003703100c010b200141106a41286a200141b8016a290300370300200141106a41206a20014188016a41286a290300370300200141106a41186a20014188016a41206a290300370300200141106a41106a20014188016a41186a290300370300200141186a20014188016a41106a29030037030020012001290390013703100b20014291cdeec7c8fdb89eac7f3700a0012001428c9e97b8b5e8dcc5fa0037009801200142fc90b9e5d09296e77737009001200142a6d4e6f1a4dd95986037008801200141d8006a20014188016a412010918480800020012903604200200128025822041b21052001290368420020041b2106200141106a210402400240024020002d002022070e03020001020b200141206a21040c010b200141106a41206a21040b2004427f2004290308220820067c220620062008541b3703082004427f2004290300220620057c220520052006541b370300427f2000290308220520002903187c220620062005541b2105427f2000290300220620002903107c220820082006541b2106024002400240024020070e03000102000b200142002001290318220820057d220520052008561b370318200142002001290310220520067d220620062005561b2205370310200141106a21040c020b200142002001290328220820057d220520052008561b370328200142002001290320220520067d220620062005561b2205370320200141206a21040c010b200142002001290338220820057d220520052008561b370338200142002001290330220520067d220620062005561b2205370330200141306a21040b2004427f2004290308220620032903087c220820082006541b3703082004427f200520032903007c220620062005541b37030020014295f38cfcb699a3c4ef003700a001200142a8db95cdaa86daa71937009801200142fc90b9e5d09296e77737009001200142a6d4e6f1a4dd95986037008801200141086a20014188016a4120108a848080002001200128020c410020012802081b22043602442001427f200229030022052004ad7c220620062005541b22053703482001427f427f2001290318220620012903287c220820082006541b220620012903387c220820082006541b220637035020014200200520067d220820082005561b2208370378024020052006580d00024041002802ecbfd380004102490d00200141cb82808000ad4220862205200141f8006aad8437037020012005200141d0006aad843703682001418a80808000ad422086200141c4006aad8437036020012005200141c8006aad8437035841002802d4bcd38000210441002802d0bcd38000210341002802e8bfd380002102200142043702c001200141053602b80120014184a2c480003602b4012001411f3602b001200141aca2c480003602ac01200142c9808080203702a401200141cc93c480003602a0012001421d37029801200141cba2c4800036029401200141003602900120014281808080b01f37028801200441c4dbc88000200241024622021b28021021042001200141d8006a3602bc01200341dcdbc8800020021b20014188016a2004118b8080800000200129037821080b200141106a210402400240024020002d00200e03020001020b200141106a41106a21040c010b200141106a41206a21040b2004427f2004290308220520087c220620062005541b3703080b200141b8016a200141106a41286a29030037030020014188016a41286a200141106a41206a29030037030020014188016a41206a200141106a41186a29030037030020014188016a41186a200141106a41106a29030037030020014188016a41106a200141106a41086a29030037030020012001290310370390012001420137038801200142f89aef8eef91e1ce967f370070200142b4d6d6dfccc6b592c300370068200142fc90b9e5d09296e777370060200142a6d4e6f1a4dd959860370058200141f8006a20014188016a41086a108589808000200141d8006a4120200128027c220020012802800141002802c8bdd380001183808080000002402001280278450d00200041002802a8bfd38000118080808000000b200141d0016a24808080800020080bc00202017f047e23808080800041c0006b2201248080808000200041086a290300210220002903002103200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a20014120108784808000200141386a29030021042001290330210520012802202100200142e4c5bdb4b2e9a5a6807f370038200142d790d7a3fef9fda0c80037003020014298d5afd2c6aeacae2f370028200142c2cdc8b0c7b9e78f857f3700202001427f200220044200200041017122001b22047c20032005420020001b22027c22032002542200ad7c22022000200220045420022004511b22001b3703082001427f200320001b370300200141206a41202001411041002802c8bdd3800011838080800000200141c0006a2480808080000bc10202017f047e23808080800041c0006b2201248080808000200041086a290300210220002903002103200142e4c5bdb4b2e9a5a6807f370018200142d790d7a3fef9fda0c80037001020014298d5afd2c6aeacae2f370008200142c2cdc8b0c7b9e78f857f370000200141206a20014120108784808000200141386a29030021042001290330210520012802202100200142e4c5bdb4b2e9a5a6807f370038200142d790d7a3fef9fda0c80037003020014298d5afd2c6aeacae2f370028200142c2cdc8b0c7b9e78f857f3700202001420020044200200041017122001b220420027d2005420020001b2202200354ad7d2205200220037d2203200256200520045620052004511b22001b37030820014200200320001b370300200141206a41202001411041002802c8bdd3800011838080800000200141c0006a2480808080000bb60502017f037e23808080800041a0016b220224808080800020012d000021012000290308210320002903002104200242f89aef8eef91e1ce967f370020200242b4d6d6dfccc6b592c300370018200242fc90b9e5d09296e777370010200242a6d4e6f1a4dd959860370008200241386a200241086a41201094848080000240024020022802380d00200241306a4200370300200241086a41206a4200370300200241206a4200370300200241186a4200370300200241106a4200370300200242003703080c010b200241086a41286a200241e8006a290300370300200241086a41206a200241386a41286a290300370300200241086a41186a200241386a41206a290300370300200241086a41106a200241386a41186a290300370300200241106a200241386a41106a290300370300200220022903403703080b200241086a210002400240024020010e03020001020b200241186a21000c010b200241286a21000b2000427f2000290300220520047c220420042005541b3703002000427f2000290308220420037c220320032004541b370308200241e8006a200241086a41286a290300370300200241386a41286a200241086a41206a290300370300200241386a41206a200241086a41186a290300370300200241386a41186a200241086a41106a290300370300200241386a41106a200241086a41086a2903003703002002200229030837034020024201370338200242f89aef8eef91e1ce967f37008c01200242b4d6d6dfccc6b592c30037008401200242fc90b9e5d09296e77737007c200242a6d4e6f1a4dd95986037007420024194016a200241386a41086a108589808000200241f4006a41202002280298012200200228029c0141002802c8bdd38000118380808000000240200228029401450d00200041002802a8bfd38000118080808000000b200241a0016a2480808080000bb60502017f037e23808080800041a0016b220224808080800020012d002021012000290308210320002903002104200242f89aef8eef91e1ce967f370020200242b4d6d6dfccc6b592c300370018200242fc90b9e5d09296e777370010200242a6d4e6f1a4dd959860370008200241386a200241086a41201094848080000240024020022802380d00200241306a4200370300200241086a41206a4200370300200241206a4200370300200241186a4200370300200241106a4200370300200242003703080c010b200241086a41286a200241e8006a290300370300200241086a41206a200241386a41286a290300370300200241086a41186a200241386a41206a290300370300200241086a41106a200241386a41186a290300370300200241106a200241386a41106a290300370300200220022903403703080b200241086a210002400240024020010e03020001020b200241186a21000c010b200241286a21000b200042002000290300220520047d220420042005561b370300200042002000290308220420037d220320032004561b370308200241e8006a200241086a41286a290300370300200241386a41286a200241086a41206a290300370300200241386a41206a200241086a41186a290300370300200241386a41186a200241086a41106a290300370300200241386a41106a200241086a41086a2903003703002002200229030837034020024201370338200242f89aef8eef91e1ce967f37008c01200242b4d6d6dfccc6b592c30037008401200242fc90b9e5d09296e77737007c200242a6d4e6f1a4dd95986037007420024194016a200241386a41086a108589808000200241f4006a41202002280298012200200228029c0141002802c8bdd38000118380808000000240200228029401450d00200041002802a8bfd38000118080808000000b200241a0016a2480808080000bd20101017f23808080800041c0006b2200248080808000200042e3e3aca5e7a8ebef5c370018200042bfdcfcdef39bce8e6b370010200042dbd4b188d8cab88410370008200042bfa89c83ea92efeb1a370000200041206a20004120108784808000200042e3e3aca5e7a8ebef5c370038200042bfdcfcdef39bce8e6b370030200042dbd4b188d8cab88410370028200042bfa89c83ea92efeb1a3700202000420037030820004200370300200041206a41202000411041002802c8bdd3800011838080800000200041c0006a2480808080000b9a0704047f017e027f017e23808080800041d0006b2201248080808000200141306a419e98c48000411041ae98c4800041174104410010c7918080002001410036022c20014280808080c00037022441002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d002002418881808000360218200242f7c2afbed8aff8dbba7f370310200242c4e4baf8df8dda95c10037030820024101360204200241be92c48000360200200141086a41086a200141246a220341086a280200360200200120032902003703082001280230210420012902342105200141186a41086a22064100360200200142808080808001370218200141186a41e0e1c1800010b891808000200128021c220342f7c2afbed8aff8dbba7f370308200342c4e4baf8df8dda95c100370300200141c0006a41086a220741013602002003420437022c20034201370224200341c684c280003602202003410636021c200341c084c280003602182003418881808000360210200120012902183703400240200728020022072001280240470d00200141c0006a41e0e1c1800010b8918080000b2001280244200741386c6a2203420437022c20034201370224200341c684c280003602202003410b36021c200341c784c280003602182003418881808000360210200342f7c2afbed8aff8dbba7f370308200342c4e4baf8df8dda95c1003703002006200741016a2203360200200120012903402208370318024020032008a7470d00200141186a41e0e1c1800010b8918080000b200128021c200341386c22076a2203420437022c20034201370224200341c684c280003602202003410936021c200341d284c280003602182003418881808000360210200342f7c2afbed8aff8dbba7f370308200342c4e4baf8df8dda95c100370300200128021c210320012001280218360220200120033602182001200320076a41386a3602242001200336021c200141c0006a200141186a41bccec2800010b18b8080002004418080808078460d012000410136024c2000200236024820004101360244200141236a200141c0006a41086a2802003600002000200537023c20002004360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000b8d0202017f057e23808080800041106b22022480808080002002200110c88380800002400240024020022802000d00200229030821032002200110c8838080002002280200450d010b420121030c010b200229030821042002200110c8838080000240024020022802000d00200229030821052002200110c8838080002002280200450d010b420121030c010b200229030821062002200110c8838080000240024020022802000d00200229030821072002200110c8838080002002280200450d010b420121030c010b200020022903083703302000200737032820002006370320200020053703182000200437031020002003370308420021030b20002003370300200241106a2480808080000ba80201017f23808080800041106b22022480808080002002200041c8006a36020c2002410c6a200110d6838080002002200041d0006a36020c2002410c6a200110d68380800020002001109e89808000200041186a2001109e89808000200041306a2001109e898080002002200041a0016a36020c2002410c6a200110d6838080002002200041a8016a36020c2002410c6a200110d683808000200041d8006a2001109e89808000200041f0006a2001109e8980800020004188016a2001109e898080002002200041f8016a36020c2002410c6a200110d683808000200220004180026a36020c2002410c6a200110d683808000200041b0016a2001109e89808000200041c8016a2001109e89808000200041e0016a2001109e89808000200241106a2480808080000bd90101037f23808080800041106b22022480808080000240024020002802000d000240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41003a00000c010b200041086a21030240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41013a000020022003360208200241086a200110d6838080002002200041106a36020c2002410c6a200110d6838080000b200241106a2480808080000b8c0301047f23808080800041206b220324808080800041002d00b8bfd380001a0240410441002802b0bfd38000118280808000002204450d002003410c6a41086a22054100360200200320043602102003410436020c200341003602182003200341186a36021c2003411c6a2003410c6a10d583808000200341086a220620052802003602002003200329020c3703000240200228020822052002280200470d00200241ac99c4800010a58a8080000b2002280204200541f8006c6a220441063602442004418c9ac48000360240200441cc82808000360218200442ddf7acc2c0cd978af10037021020044291969b8faae990a85e37020820044100360200200420002902003702482004200329030037025c20042001290200370268200441d0006a200041086a290200370200200441d8006a200041106a280200360200200441e4006a2006280200360200200441f0006a200141086a280200360200200441013a00742002200541016a360208200341206a2480808080000f0b4101410441e0fcc5800010ae80808000000bf90301087f23808080800041206b22032480808080002003410036021c200342808080801037021441002d00b8bfd380001a0240412041002802b0bfd38000118280808000002204450d0020044200370000200441186a22054200370000200441106a22064200370000200441086a22074200370000200341146a4100412010fc908080002003280218200341146a41086a220828020022096a220a2004290000370000200a41086a2007290000370000200a41106a2006290000370000200a41186a20052900003700002008200941206a360200200441002802a8bfd3800011808080800000200341086a41086a220520082802003602002003200329021437030802402002280208220a2002280200470d00200241ac99c4800010a58a8080000b2002280204200a41f8006c6a2204410a360244200441b89cc48000360240200441b48080800036021820044282a1a9c9eea2b5c92f3702102004428ae6f3f7c78ea4cfd10037020820044100360200200420002902003702482004200329030837025c20042001290200370268200441d0006a200041086a290200370200200441d8006a200041106a280200360200200441e4006a2005280200360200200441f0006a200141086a280200360200200441013a00742002200a41016a360208200341206a2480808080000f0b4101412010b980808000000b9e0201037f41002d00b8bfd380001a0240410141002802b0bfd38000118280808000002203450d00200341003a00000240200228020822042002280200470d00200241ac99c4800010a58a8080000b2002280204200441f8006c6a22054103360244200541da9fc48000360240200541808180800036021820054298c69af39cdb87a7917f370210200542e4bdf1e8c1f1c6cf8d7f370208200541003602002005200029020037024820054101360264200520033602602005410136025c20052001290200370268200541d0006a200041086a290200370200200541d8006a200041106a280200360200200541f0006a200141086a280200360200200541003a00742002200441016a3602080f0b4101410141e8a0c4800010ae80808000000b960201037f23808080800041206b2204248080808000200141386c4104722105410021060240024020014100480d0041002d00b8bfd380001a200541002802b0bfd380001182808080000022060d01410121060b2006200541e8a0c4800010ae80808000000b20044100360214200420063602102004200536020c200420013602182004200441186a36021c2004411c6a2004410c6a10d58380800002402001450d00200141386c2101034020002004410c6a10a389808000200041386a2100200141486a22010d000b0b200428020c21002002200320042802102201200428021441002802c8bdd380001183808080000002402000450d00200141002802a8bfd38000118080808000000b200441206a2480808080000bb80501067f20002802002102024020012802002203200128020822046b41034b0d0020012004410410fc9080800020012802002103200128020821040b2001200441046a22053602082001280204220620046a2002360000200028020421040240200320056b41034b0d0020012005410410fc9080800020012802042106200128020821050b2001200541046a360208200620056a2004360000200041086a2001108b8a80800002400240024020002d00140d000240200128020020012802082205470d0020012005410110fc90808000200128020821050b2001200541016a360208200128020420056a41003a00000c010b0240200128020020012802082205470d0020012005410110fc90808000200128020821050b200128020420056a41013a00002001200541016a220436020841002d00b8bfd380001a412041002802b0bfd38000118280808000002205450d012005200041156a2203290000370000200541186a2206200341186a290000370000200541106a2202200341106a290000370000200541086a2207200341086a2900003700000240200128020020046b411f4b0d0020012004412010fc90808000200128020821040b200128020420046a22032005290000370000200341086a2007290000370000200341106a2002290000370000200341186a20062900003700002001200441206a360208200541002802a8bfd38000118080808000000b02400240024020002d003522054102470d0041002105200128020020012802082200460d010c020b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b200128020420006a41013a00002001200041016a220036020820012802002000470d010b20012000410110fc90808000200128020821000b200128020420006a20053a00002001200041016a3602080f0b4101412010b980808000000b8b0303037f017e017f23808080800041106b2202248080808000410121030240200128020022044101470d00024002402001290308220542c0005a0d00410221030c010b02402005428080015a0d00410321030c010b024020054280808080045a0d00410521030c010b410a200579a74103766b21030b024002402001290310220542c0005a0d00410121060c010b02402005428080015a0d00410221060c010b024020054280808080045a0d00410421060c010b4109200579a74103766b21060b200320066a21030b41002d00b8bfd380001a0240200341002802b0bfd38000118280808000002206450d0020022006360204200220033602000240024020044101710d00200641003a0000200241013602080c010b200641013a0000200241013602082002200141086a36020c2002410c6a200210d6838080002002200141106a36020c2002410c6a200210d6838080000b20002002290200370200200041086a200241086a280200360200200241106a2480808080000f0b4101200341e8a0c4800010ae80808000000ba90301057f23808080800041206b220224808080800041002103024002400240024002400240024041012001280208220441056a20012802002205418080808078461b22064100480d002006450d0141002d00b8bfd380001a200641002802b0bfd380001182808080000022030d02410121030b2003200641e8a0c4800010ae80808000000b20024100360214200242808080801037020c2002410c6a4100410110fc9080800020022802102103200228021421062005418080808078460d030c010b200220033602102002200636020c2005418080808078460d01410021060b200320066a41013a00002002200641016a36021420012802042101200220043602182002200241186a36021c2002411c6a2002410c6a10d5838080000240200228020c200228021422066b20044f0d002002410c6a2006200410fc90808000200228021421060b200228021020066a2001200410e9968080001a2002200620046a3602140c020b410021060b200320066a41003a00002002200641016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000bcc38040a7f017e0e7f037e23808080800041c0026b22012480808080002001429588f09ae5e2ecacca003700d801200142a49ffa80bdc6acab633700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c001200141c0016a41204100280280bdd38000118b8080800000200142db94c397a39dc1eaea003700d801200142f2f7edb5a4809cb22b3700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c001200141c0016a41204100280280bdd38000118b808080000020014281ffa0ee9dfeb487a57f3700d801200142e8f5928beff0b7b0053700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c001410221020240200141c0016a412010808480800041ff017122034103460d00200141c0016a41204100280280bdd38000118b8080800000200321020b200142a9a5c4bef894cdeee70037009801200142d4c584efa7e5bfee6437009001200142b9e088b7b6cdc2d11337008801200142c5e4f4b9cff9d18a0b37008001200141c0016a20014180016a41201084848080000240024002400240024002400240024002400240024002400240024002400240024020012802c0012204418080808078460d0020012802c401210520012802cc012106200142cce78dfda8f884f6bd7f3700d801200142a2f98685b9fa9aec343700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c0012001200636028001200141c0016a412020014180016a410441002802c8bdd3800011838080800000200142d684ecb8c888e883c30037009801200142c5c58cc181f088c50c37009001200142b9e088b7b6cdc2d11337008801200142c5e4f4b9cff9d18a0b37008001200141c0016a20014180016a4120109584808000024020012802c0010d0020040d0c0c0d0b20012802e001210720012802d8012108200142e68dc38d9b83b9ae2837009801200142aa8ec1edcdf9d36637009001200142b9e088b7b6cdc2d11337008801200142c5e4f4b9cff9d18a0b37008001200141c0016a20014180016a4120108984808000024020012802c0012203418080808078470d0020040d0c0c0d0b20012802cc01210920012802c401210a20012902f801210b200141c8006a220c20012802d001220d200d20012802d401413c6c6a108d828080002001200b37024002402003450d00200a41002802a8bfd38000118080808000000b02402009450d00200d41002802a8bfd38000118080808000000b200142dff88396b8eeb3817c3700d80120014283e3ced79d99b9c6c4003700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c00120014180016a200141c0016a4120108f848080002001280280014102460d04200141e0006a41186a20014180016a41186a220e290200370300200141e0006a41106a20014180016a41106a220f290200370300200141e0006a41086a20014180016a41086a22102902003703002001200129028001370360200142e68dc38d9b83b9ae283700d801200142aa8ec1edcdf9d3663700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c00120014180016a200141c0016a4120108984808000200128028001418080808078460d0320012802702203450d0220012802782211450d024100210d20034100472112200128027421132001280294012214450d0120012802900121150340024002400240200d0d002012410171450d00410121122013450d012013210d024020134107712209450d000340200d417f6a210d200328028c0121032009417f6a22090d000b0b20134108490d010340200328028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012103200d41786a220d0d000c020b0b2012410171450d0b0c010b2003210d41002103410021130b024002402013200d2f018a014f0d00200d2109201321160c010b0340200d2802582209450d08200341016a2103200d2f01880121162009210d201620092f018a014f0d000b0b0240024020030d00201641016a21132009210d0c010b200920164102746a4190016a280200210d410021132003417f6a220a450d002003417e6a21170240200a4107712203450d000340200a417f6a210a200d28028c01210d2003417f6a22030d000b0b20174107490d000340200d28028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c01210d200a41786a220a0d000b0b200920164102746a41dc006a280200211841002103024020144101460d00410021032014210a03402003200a410176221720036a2219201820152019413c6c6a280200491b2103200a20176b220a41014b0d000b0b0240201820152003413c6c6a2203280200470d0020032003280208220a200920164103746a220928020420032802146a2216200a2016491b36021420032003280204220a200928020020032802106a2209200a2009491b3602100b410021032011417f6a22110d000c030b0b41fca2c48000419a024198a5c48000108b81808000000b4100210d0340024002400240200d0d002012410171450d00410121122013450d012013210d024020134107712209450d000340200d417f6a210d200328028c0121032009417f6a22090d000b0b20134108490d010340200328028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012103200d41786a220d0d000c020b0b2012410171450d090c010b2003210d41002103410021130b024002402013200d2f018a014f0d00200d21090c010b0340200d2802582209450d06200341016a2103200d2f01880121132009210d201320092f018a014f0d000b0b0240024020030d00201341016a21132009210d0c010b200920134102746a4190016a280200210d410021132003417f6a2209450d002003417e6a210a024020094107712203450d0003402009417f6a2109200d28028c01210d2003417f6a22030d000b0b200a4107490d000340200d28028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c01210d200941786a22090d000b0b410021032011417f6a22110d000b0b2001410020012802b801220320012802686b220d200d20034b1b3602b8012001410020012802bc012203200128026c6b220d200d20034b1b3602bc010b200141c0016a41386a20014180016a41386a290200370300200141c0016a41306a20014180016a41306a290200370300200141c0016a41286a20014180016a41286a290200370300200141c0016a41206a20014180016a41206a290200370300200141c0016a41186a200e290200370300200141c0016a41106a200f290200370300200141c0016a41086a20102902003703002001200129028001220b3703c00102400240200ba7418080808078470d00200142e68dc38d9b83b9ae283700a002200142aa8ec1edcdf9d36637009802200142b9e088b7b6cdc2d11337009002200142c5e4f4b9cff9d18a0b3700880220014188026a41204100280280bdd38000118b80808000000c010b200142e68dc38d9b83b9ae283700a002200142aa8ec1edcdf9d36637009802200142b9e088b7b6cdc2d11337009002200142c5e4f4b9cff9d18a0b37008802200141b4026a200141c0016a10ab8e80800020014188026a412020012802b802220320012802bc0241002802c8bdd380001183808080000020012802b402450d00200341002802a8bfd38000118080808000000b024020012802c0012203418080808078460d0002402003450d0020012802c40141002802a8bfd38000118080808000000b20012802cc01450d0020012802d00141002802a8bfd38000118080808000000b200141f0006a10808a8080000b200142e7db9c91c4f3a8dcb07f3700d8012001428ad8bd86f0dea2e4243700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c00120014180016a200141c0016a4120109384808000200128028401210920012802880121162001280280012103200142e68dc38d9b83b9ae2837009801200142aa8ec1edcdf9d36637009001200142b9e088b7b6cdc2d11337008801200142c5e4f4b9cff9d18a0b37008001200141c0016a20014180016a41201089848080004100210a41002016200341808080807846220d1b211641042009200d1b211741002003200d1b2118024020012802c0012203418080808078470d00200120163602880120012017360284012001201836028001410021130c050b20012802fc01211520012802f801210d20012802d001210a20012802cc01210902402003450d0020012802c40141002802a8bfd38000118080808000000b02402009450d00200a41002802a8bfd38000118080808000000b410021130240024020160d004100210a0c010b0240200d2007200d2007491b22110d004100210a0c010b4100210a2015201741086a2802002203490d004101210a024020164101460d00201741146a210d2016410c6c41746a21194101210a03402011200a41016a2209417f20091b2209490d012015417f2003200d2802006a221320132003491b2213490d01200d410c6a210d201321032009210a201941746a22190d000b0b200a20164b0d02200321130b2001200a360284012001201736028001200142908cf1f9cc86e8f8513700d801200142d4a4d2bc9ca3a4d7683700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c00120014180016a200141c0016a412010c58b8080000240024002402016200a490d002016200a6b2219ad420c7e220ba721034100210d0240200b422088a70d00200341fcffffff074b0d00024020030d004104210d410021150c040b41002d00b8bfd380001a200341002802b0bfd3800011828080800000220d0d024104210d0b200d200341fca5c4800010ae80808000000b200a201641fca5c4800010b880808000000b201921150b200d2017200a410c6c6a2019410c6c10e99680800021110240200a450d00200a41017121124100210d0240200a4101460d00200a417e712109201721034100210d034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a280200450d00200341106a28020041002802a8bfd38000118080808000000b200341186a21032009200d41026a220d470d000b0b2012450d002017200d410c6c6a2203280200450d00200328020441002802a8bfd38000118080808000000b02402018450d00201741002802a8bfd38000118080808000000b024002402016200a460d002019410371210902400240200a20166b417c4d0d004100210d410021160c010b2011412c6a21032019417c7121174100210d4100211603402003280200200341746a280200200341686a2802002003415c6a280200200d6a6a6a6a210d200341306a21032017201641046a2216470d000b0b2008410176211702402009450d002016410c6c20116a41086a210303402003280200200d6a210d2003410c6a21032009417f6a22090d000b0b200d20174b0d010b2001428fa48ce9f7dcc49a887f37009801200142cbb1ef82aade92ce2637009001200142b9e088b7b6cdc2d11337008801200142c5e4f4b9cff9d18a0b37008001200141c0016a20014180016a41201087848080004200210b42808090bbbad6adf00d211a024020012802c001410171450d0020012903d001221b42808090bbbad6adf00d85200141d8016a290300221c84500d00200141306a201b420042808090bbbad6adf00d420010f196808000200141206a201c420042808090bbbad6adf00d420010f196808000200141106a201c4200420042808090bbbad6adf00d10f196808000200141c0016a200141206a41086a290300221c2001290330220b20012903107c221b200b542203200141306a41086a290300220b200141106a41086a2903007c2003ad7c221a200b54201a200b511bad7c220b200b201c54ad201b201a428080a4b1fdad96c90e420010999280800020012903c00120012903c8018450450d0420012903d001221a42808090bbbad6adf00d201a42808090bbbad6adf00d561b201a42808090bbbad6adf00d200141d8016a290300220b4200521b200b501b211a0b2001428fa48ce9f7dcc49a887f3700d801200142cbb1ef82aade92ce263700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c0012001200b370388012001201a37038001200141c0016a412020014180016a411041002802c8bdd38000118380808000000b2001201936028801200120113602840120012015360280012015418080808078470d04200142e7db9c91c4f3a8dcb07f3700d8012001428ad8bd86f0dea2e4243700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c001200141c0016a41204100280280bdd38000118b80808000000c050b41bccdc48000108a81808000000b200a201641eca5c4800010aa81808000000b200141003602d001200141013602c401200141f885cc80003602c001200142043702c801200141c0016a41d886cc800010f280808000000b41cccdc48000108a81808000000b200120014180016a36028802200142e7db9c91c4f3a8dcb07f3700d8012001428ad8bd86f0dea2e4243700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c00120014188026a200141c0016a412010c68b8080000b02402001280280012203418080808078460d0002402001280288012209450d002001280284012116200941017121174100210d024020094101460d002009417e712109201621034100210d034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a280200450d00200341106a28020041002802a8bfd38000118080808000000b200341186a21032009200d41026a220d470d000b0b02402017450d002016200d410c6c6a2203280200450d00200328020441002802a8bfd38000118080808000000b20012802800121030b2003450d0020012802840141002802a8bfd38000118080808000000b2001428f9dab92a2fc9bd2723700d801200142e2f097f0d8d3f1adf3003700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c001200141086a200141c0016a4120108a84808000024020012802084101470d00200141c0016a41204100280280bdd38000118b80808000000b200141d4006a4104410410b68a808000200142dff88396b8eeb3817c3700d80120014283e3ced79d99b9c6c4003700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c00120014180016a200141c0016a4120108f84808000024002402001280280014102470d00200141003602782001410036027020014200370368200141023a007c20014100360260410121030c010b200141e0006a41186a20014180016a41186a290200370300200141e0006a41106a20014180016a41106a290200370300200141e0006a41086a20014180016a41086a29020037030020012001290280013703602002410220012d007c41024622031b21020b20014190016a200141dc006a28020036020020012013360284012001200a360280012001200129025437028801200120023a00b501200141003a009401200142939685e2c5afc3c6443700d801200142dbfcc3e0bc84a3df013700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c0012001200141c0016a4120108a848080002001280200210d20012802042109024020030d0020024102460d00410521030c060b20094100200d4101711b2203200620032006491b21090240200320064f0d002001280260450d002001280264220d2009490d0041042103200921160c060b200141c0016a200141e8006a20014180016a200141c0006a10a48280800020012802d001210a20012802cc01210d20012802c801211620012802c40121030240024020012802c0010d0020012802d4012117200141f0006a10808a808000200120173602782001200a3602742001200d3602702001201636026c20012003360268024020024102460d00200120023a007c0b20012009360264200141013602600c010b20034106470d060b20014188026a41186a200141e0006a41186a290300220b37030020014188026a41106a200141e0006a41106a29030037030020014188026a41086a200141e0006a41086a29030037030020012001290360221a37038802200142dff88396b8eeb3817c3700d80120014283e3ced79d99b9c6c4003700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c0014100210d417f417f410b417f200b42ffffffff0f83420c7e220ba72203410c6a22092009200341046a491b200b422088a71b220341054101201aa71b6a220920092003491b22034101410220012d00a4024102461b6a220920092003491b22034100480d0241002d00b8bfd380001a4101210d200341002802b0bfd38000118280808000002209450d02200120093602b802200120033602b402200141003602bc0220014188026a200141b4026a10a78980800020012802b4022103200141c0016a412020012802b802220d20012802bc0241002802c8bdd380001183808080000002402003450d00200d41002802a8bfd38000118080808000000b20014188026a41106a10808a808000200141c0016a41306a20014180016a41306a290200370300200141c0016a41286a20014180016a41286a290200370300200141c0016a41206a20014180016a41206a290200370300200141c0016a41186a20014180016a41186a290200370300200141c0016a41106a220320014180016a41106a290200370300200141c0016a41086a20014180016a41086a29020037030020012001290280013703c001200142b58ab3f59aafe8bb263700a0022001428197ddb2f4a682d8dd0037009802200142b9e088b7b6cdc2d11337009002200142c5e4f4b9cff9d18a0b370088024100210d417f410c417f2003350200420c7e220ba72203410d6a22092009200341046a491b200b422088a71b22034101410220012d00f5014102461b6a220920092003491b22034100480d0341002d00b8bfd380001a4101210d200341002802b0bfd38000118280808000002209450d03200141b4026a41086a220d4100360200200120093602b802200120033602b402200141c0016a200141b4026a10a389808000200141a8026a41086a200d280200360200200120012902b4023703a80220014188026a4120200141a8026a41002802f8bcd3800011858080800000200141c0016a41086a10808a808000200142e3d488ecd2ee88dde3003700d801200142ce80d7eca9b9a7a3163700d001200142b9e088b7b6cdc2d1133700c801200142c5e4f4b9cff9d18a0b3700c00141002d00b8bfd380001a410441002802b0bfd38000118280808000002203450d04200141003602880120012003360284012001410436028001200141003602602001200141e0006a3602880220014188026a20014180016a10d5838080004104410020014180016a1099838080002001280280012103200141c0016a4120200128028401220d20012802880141002802c8bdd380001183808080000002402003450d00200d41002802a8bfd38000118080808000000b200c10808a8080002004450d010b200541002802a8bfd38000118080808000000b200141c0026a2480808080000f0b200d200341e8a0c4800010ae80808000000b200d200341e8a0c4800010ae80808000000b4101410410b980808000000b2001200a3602cc012001200d3602c801200120163602c401200120033602c00141b8a5c480004122200141c0016a41a8a5c4800041dca5c4800010a481808000000b830401057f20002802082102024020012802002203200128020822046b41034b0d0020012004410410fc9080800020012802002103200128020821040b2001200441046a22053602082001280204220620046a2002360000200028020c21040240200320056b41034b0d0020012005410410fc9080800020012802042106200128020821050b2001200541046a360208200620056a2004360000200041106a2001108b8a8080000240024020002802000d000240200128020020012802082205470d0020012005410110fc90808000200128020821050b200128020420056a41003a0000200541016a21050c010b0240200128020020012802082205470d0020012005410110fc90808000200128020821050b200128020420056a41013a00002001200541016a2205360208200028020421040240200128020020056b41034b0d0020012005410410fc90808000200128020821050b200128020420056a2004360000200541046a21050b2001200536020802400240024020002d001c22004102470d004100210020012802002005460d010c020b024020012802002005470d0020012005410110fc90808000200128020821050b200128020420056a41013a00002001200541016a220536020820012802002005470d010b20012005410110fc90808000200128020821050b200128020420056a20003a00002001200541016a3602080bb70b01057f23808080800041f0006b22022480808080002002429588f09ae5e2ecacca00370018200242a49ffa80bdc6acab63370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b37000002402002412010868480800041fd01710d00200242bdb9c185ebd5beb6e0003700182002428ab9b2f0b1fbfe8ab77f370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241204100280280bdd38000118b80808000000b200242b58ab3f59aafe8bb263700182002428197ddb2f4a682d8dd00370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241d0006a200241201081848080000240024020022802502203418080808078470d00410421044100210541012106410021030c010b200228025421040240200228025822050d0041002105410121060c010b200242bb88f596f8cbf6cf4c3700682002428a85cd9fb3e4b2ae6d370060200242fc90b9e5d09296e777370058200242a6d4e6f1a4dd9598603700502002200241d0006a41201090848080002004200541386c6a21060240024020022d00000d00200241c8006a4200370300200241c0006a4200370300200241386a4200370300200242003703300c010b200241c8006a200241196a290000370300200241c0006a200241116a290000370300200241386a200241096a290000370300200220022900013703300b2006415c6a41013a00002006415d6a22062002290330370000200641086a200241306a41086a290300370000200641106a200241306a41106a290300370000200641186a200241306a41186a290300370000410021060b200242b58ab3f59aafe8bb263700182002428197ddb2f4a682d8dd00370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200420052002412010a289808000024020060d00200441086a21060340200610808a808000200641386a21062005417f6a22050d000b0b02402003450d00200441002802a8bfd38000118080808000000b200242a9a5c4bef894cdeee700370018200242d4c584efa7e5bfee64370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241204100280280bdd38000118b8080800000200242efe0d69cf8bda6cb5d370018200242d6e9cddfbec0b7fd78370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241204100280280bdd38000118b8080800000200242939685e2c5afc3c644370018200242dbfcc3e0bc84a3df01370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241204100280280bdd38000118b8080800000200242908cf1f9cc86e8f851370018200242d4a4d2bc9ca3a4d768370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241204100280280bdd38000118b8080800000200242e3d488ecd2ee88dde300370018200242ce80d7eca9b9a7a316370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241204100280280bdd38000118b80808000002002428ba4f08ac7ad89c4ad7f370018200242d7c9cea6cfa8b4c4a47f370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241204100280280bdd38000118b8080800000200242d684ecb8c888e883c300370068200242c5c58cc181f088c50c370060200242b9e088b7b6cdc2d113370058200242c5e4f4b9cff9d18a0b3700502002200241d0006a412010958480800020022802002106200228022421052002428f9dab92a2fc9bd272370018200242e2f097f0d8d3f1adf300370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b37000020022005410020061b36025020024120200241d0006a410441002802c8bdd3800011838080800000200041086a420037030020004200370300200241f0006a2480808080000b980704047f017e027f017e23808080800041d0006b2201248080808000200141306a41cba7c48000410e4197a7c4800041334104410010c7918080002001410036022c20014280808080c00037022441002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d00200241b48080800036021820024282a1a9c9eea2b5c92f3703102002428ae6f3f7c78ea4cfd10037030820024101360204200241caa7c48000360200200141086a41086a200141246a220341086a280200360200200120032902003703082001280230210420012902342105200141186a41086a22064100360200200142808080808001370218200141186a41e0e1c1800010b891808000200128021c220342e5afcae0b6cee8b5e200370308200342cec2f99abaaba4b1f600370300200141c0006a41086a220741013602002003420437022c2003420d370224200341bfc1c280003602202003410e36021c200341b1c1c28000360218200341c782808000360210200120012902183703400240200728020022072001280240470d00200141c0006a41e0e1c1800010b8918080000b2001280244200741386c6a2203420437022c20034220370224200341f1c1c280003602202003410e36021c200341e3c1c280003602182003418381808000360210200342b0d988acc7ec87a1f20037030820034292b2fdc9aa83bbd1f4003703002006200741016a2203360200200120012903402208370318024020032008a7470d00200141186a41e0e1c1800010b8918080000b200128021c200341386c22076a2203420437022c200342233702242003418ec1c280003602202003411836021c200341f6c0c28000360218200341c982808000360210200342d5c5bddfd3caeaffa77f370308200342aff2d6a5a4d38d8e1c370300200128021c210320012001280218360220200120033602182001200320076a41386a3602242001200336021c200141c0006a200141186a41bccec2800010b18b8080002004418080808078460d012000410136024c2000200236024820004101360244200141236a200141c0006a41086a2802003600002000200537023c20002004360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bf70301077f23808080800041306b220224808080800002400240200128020422034104490d0020012003417c6a220436020420012001280200220541046a36020020044104490d00200528000021042001200341786a3602042001200541086a36020020052800042103200241206a200110fe8980800020022802204101460d002002411c6a2002412c6a28020036020020022002290224370214200220033602102002200436020c024020012802042203450d0020012003417f6a220436020420012001280200220541016a22063602000240024020052d000022070e020100020b20034105490d0120012003417b6a22043602042001200541056a220636020020052800012108410121070b2004450d0020012004417f6a22053602042001200641016a360200410221030240024020062d00000e020100020b024002402005450d0020012004417e6a3602042001200641026a36020020062d000141ff01712201450d004101410220014101461b21030c010b410021030b2005450d0120034102460d010b2000200229020c370208200041186a2002410c6a41106a280200360200200041106a200241146a290200370200200020033a001c20002008360204200020073602000c020b200041023602002002410c6a41086a10808a8080000c010b200041023602000b200241306a2480808080000bfa4101097f23808080800041c0006b22012480808080002001410036020c20014280808080800137020441002d00b8bfd380001a02400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240413041002802b0bfd38000118280808000002202450d00200241edb9c480003602002002410f36022c20024187bcc48000360228200241dd00360224200241aabbc480003602202002410036021c200242938080801037021420024197bbc48000360210200241d80036020c200241bfbac48000360208200241d20036020441002d00b8bfd380001a410441002802b0bfd38000118280808000002203450d01200141106a41086a220441003602002001200336021420014104360210200141003602382001200141386a36023c2001413c6a200141106a10d583808000200141286a41086a2205200428020036020020012001290210370328200141046a41ac99c4800010a58a8080002001280208220342c1f898d1f7e9b7de8c7f3702082003410036020020034211370244200341a69ec48000360240200341cd8280800036021820034287918ab6cbe1f2b5887f3702102003200129032837025c200341013a0074200341063602702003200236026c20034106360268200341e4006a20052802003602002001410136020c41002d00b8bfd380001a411841002802b0bfd38000118280808000002203450d03200341f4b5c480003602002003412436021420034199b7c48000360210200341cb0036020c200341ceb6c48000360208200341da0036020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d02200441003a0000024020012802044101470d00200141046a41ac99c4800010a58a8080000b2001280208220241003a00ec01200241033602e801200220033602e40120024281808080303702dc01200220043602d801200241013602d4012002421b3702bc01200241da9dc480003602b801200241ce828080003602900120024290b98587f5eb82fbf30037028801200242e1afa08583bee4ae2237028001200241003602782001410236020c41002d00b8bfd380001a413041002802b0bfd38000118280808000002202450d05200241cfbec48000360200200241c20036022c200241d9c0c48000360228200241dc00360224200241fdbfc48000360220200241cf0036021c200241aebfc4800036021820024100360214200242898080801037020c200241a5bfc48000360208200241d60036020441002d00b8bfd380001a410441002802b0bfd38000118280808000002203450d04200141106a41086a220441003602002001200336021420014104360210200141003602382001200141386a36023c2001413c6a200141106a10d583808000200141286a41086a2205200428020036020020012001290210370328024020012802044102470d00200141046a41ac99c4800010a58a8080000b2001280208220342153702b402200341dd9ac480003602b002200341ff808080003602880220034296e397c6bfa5aeee4637028002200342aceff0b4f2bd8f8fe4003702f801200341003602f001200320012903283702cc02200341013a00e402200341063602e002200320023602dc02200341063602d802200341d4026a20052802003602002001410336020c41002d00b8bfd380001a412841002802b0bfd38000118280808000002203450d062003410b360224200341e2b9c48000360220200341d90036021c20034189b9c48000360218200341003602142003429e8080801037020c200341ebb8c48000360208200341d70036020420034194b8c480003602002001418080808078360210200141286a200141106a10a589808000024020012802044103470d00200141046a41ac99c4800010a58a8080000b2001280208220242113702ac03200241ab9bc480003602a803200241ff808080003602800320024296e397c6bfa5aeee463702f802200242aceff0b4f2bd8f8fe4003702f002200241003602e802200220012902283702c403200241003a00dc03200241053602d803200220033602d403200241053602d003200241cc036a200141306a2802003602002001410436020c41002d00b8bfd380001a411841002802b0bfd38000118280808000002203450d08200341c3bdc480003602002003410d360214200341c2bec48000360210200341cb0036020c200341f7bdc480003602082003413436020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d07200441003a0000024020012802044104470d00200141046a41ac99c4800010a58a8080000b2001280208220241003a00d404200241033602d004200220033602cc0420024281808080303702c404200220043602c004200241013602bc042002420e3702a404200241809bc480003602a004200241cf828080003602f803200242f5e2b59ac8e0d9f8cf003702f003200242c5beb08de1b3c5bb403702e803200241003602e0032001410536020c41002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d0a200341bcb5c480003602002003413836020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d09200441003a0000024020012802044105470d00200141046a41ac99c4800010a58a8080000b2001280208220241013a00cc05200241013602c805200220033602c40520024281808080103702bc05200220043602b805200241013602b4052002421437029c05200241c598c4800036029805200241f2808080003602f004200242febac4ad81b6fafcb37f3702e80420024298848fa1dab08ba1743702e004200241003602d8042001410636020c41002d00b8bfd380001a411841002802b0bfd38000118280808000002203450d0c200341b6acc4800036020020034122360214200341fdacc480003602102003410036020c200342c78080801037020441002d00b8bfd380001a410441002802b0bfd38000118280808000002204450d0b20044100360000024020012802044106470d00200141046a41ac99c4800010a58a8080000b2001280208220241013a00c406200241033602c006200220033602bc0620024284808080303702b406200220043602b006200241043602ac062002421937029406200241c49ac4800036029006200241b3808080003602e805200242d7c9cb8fc1cf97db3e3702e005200242e88488d0c0e3aebc133702d805200241003602d0052001410736020c41002d00b8bfd380001a413841002802b0bfd38000118280808000002202450d0e200241d3afc4800036020020024118360234200241dab2c48000360230200241db0036022c200241ffb1c48000360228200241dc00360224200241a3b1c480003602202002410036021c2002429b8080801037021420024188b1c48000360210200241d80036020c200241b0b0c48000360208200241dd0036020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d0d200441003a0000024020012802044107470d00200141046a41ac99c4800010a58a8080000b2001280208220341013a00bc07200341073602b807200320023602b40720034281808080f0003702ac07200320043602a807200341013602a4072003421837028c07200341da9cc4800036028807200341d0828080003602e006200342bcbce48ebeafe1cfee003702d806200342ceebccab95b980d5023702d006200341003602c8062001410836020c41002d00b8bfd380001a412841002802b0bfd38000118280808000002203450d10200341d2c2c4800036020020034118360224200341dab2c48000360220200341db0036021c200341ffb1c48000360218200341dc00360214200341a3b1c480003602102003410036020c200342b78080801037020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d0f200441003a0000024020012802044108470d00200141046a41ac99c4800010a58a8080000b2001280208220241013a00b408200241053602b008200220033602ac0820024281808080d0003702a408200220043602a0082002410136029c082002420e37028408200241fe99c4800036028008200241c9828080003602d807200242d5c5bddfd3caeaffa77f3702d007200242aff2d6a5a4d38d8e1c3702c807200241003602c0072001410936020c41002d00b8bfd380001a413041002802b0bfd38000118280808000002202450d12200241f2b2c480003602002002412b36022c200241ddaac4800036022820024100360224200242d38080801037021c2002418aaac48000360218200241db00360214200241afa9c480003602102002410036020c200242b18080801037020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d11200441003a0000024020012802044109470d00200141046a41ac99c4800010a58a8080000b2001280208220341003a00ac09200341063602a809200320023602a40920034281808080e00037029c09200320043602980920034101360294092003420f3702fc08200341b69dc480003602f808200341db808080003602d008200342d494acf4edddeaf2213702c808200342d4cfdcf3d480b9d8e8003702c008200341003602b8082001410a36020c41002d00b8bfd380001a413841002802b0bfd38000118280808000002202450d14200241c4a8c480003602002002412b360234200241ddaac480003602302002410036022c200242d3808080103702242002418aaac48000360220200241db0036021c200241afa9c4800036021820024100360214200242928080801037020c2002419da9c48000360208200241d90036020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d13200441003a000002402001280204410a470d00200141046a41ac99c4800010a58a8080000b2001280208220341003a00a40a200341073602a00a2003200236029c0a20034281808080f0003702940a200320043602900a2003410136028c0a200342163702f4092003418d9cc480003602f009200341d1828080003602c80920034298e0d5e1d68484e1fa003702c009200342d899c58ab7eeff8e2c3702b809200341003602b0092001410b36020c41002d00b8bfd380001a413041002802b0bfd38000118280808000002202450d1620024189afc480003602002002412b36022c200241ddaac4800036022820024100360224200242d38080801037021c2002418aaac48000360218200241db00360214200241afa9c480003602102002410036020c200242ca8080801037020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d15200441003a000002402001280204410b470d00200141046a41ac99c4800010a58a8080000b2001280208220341003a009c0b200341063602980b200320023602940b20034281808080e00037028c0b200320043602880b200341013602840b200342113702ec0a200341939dc480003602e80a200341d2828080003602c00a200342a1ddb1b9f5e7a2efa67f3702b80a20034290add783e4a9f9fff9003702b00a200341003602a80a2001410c36020c41002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d1820034188abc480003602002003411836021c2003419eacc48000360218200341d900360214200341c5abc480003602102003410036020c200342bd8080801037020441002d00b8bfd380001a200141003602182001428080808010370210412041002802b0bfd38000118280808000002202450d1720024200370000200241186a22064200370000200241106a22074200370000200241086a22084200370000200141106a4100412010fc908080002001280214200141106a41086a220528020022096a22042002290000370000200441086a2008290000370000200441106a2007290000370000200441186a20062900003700002005200941206a360200200241002802a8bfd3800011808080800000200141286a41086a220420052802003602002001200129021037032802402001280204410c470d00200141046a41ac99c4800010a58a8080000b20012802082202420e3702e40b200241dd9fc480003602e00b200241d3828080003602b80b200242d8f6fcd3bfe1f9b93a3702b00b200242cb80cdffc7c786a9663702a80b200241003602a00b200220012903283702fc0b200241013a00940c200241043602900c2002200336028c0c200241043602880c200241840c6a20042802003602002001410d36020c41002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d192003411836021c2003419eacc48000360218200341d900360214200341c5abc480003602102003410036020c200342d2808080103702042003419fadc480003602002001410036021820014100360210200141286a200141106a10c28a808000200141106a10f78980800002402001280204410d470d00200141046a41ac99c4800010a58a8080000b2001280208220242103702dc0c200241ee99c480003602d80c200241d4828080003602b00c200242e8dca9abb4d0b799a57f3702a80c20024297ccadd2e6a9c2a5ae7f3702a00c200241003602980c200220012902283702f40c200241013a008c0d200241043602880d200220033602840d200241043602800d200241fc0c6a200141306a2802003602002001410e36020c41002d00b8bfd380001a411841002802b0bfd38000118280808000002203450d1b200341f1adc480003602002003413b360214200341a3aec480003602102003410036020c200342b28080801037020441002d00b8bfd380001a410441002802b0bfd38000118280808000002204450d1a2004410036000002402001280204410e470d00200141046a41ac99c4800010a58a8080000b2001280208220241013a00840e200241033602800e200220033602fc0d20024284808080303702f40d200220043602f00d200241043602ec0d200242193702d40d200241ab9ac480003602d00d200241b3808080003602a80d200242d7c9cb8fc1cf97db3e3702a00d200242e88488d0c0e3aebc133702980d200241003602900d2001410f36020c41002d00b8bfd380001a411841002802b0bfd38000118280808000002203450d1d200341e2bcc480003602002003413b360214200341a3aec480003602102003410036020c200342a88080801037020441002d00b8bfd380001a410441002802b0bfd38000118280808000002204450d1c2004410036000002402001280204410f470d00200141046a41ac99c4800010a58a8080000b2001280208220241013a00fc0e200241033602f80e200220033602f40e20024284808080303702ec0e200220043602e80e200241043602e40e2002420d3702cc0e200241f29fc480003602c80e200241b3808080003602a00e200242d7c9cb8fc1cf97db3e3702980e200242e88488d0c0e3aebc133702900e200241003602880e2001411036020c41002d00b8bfd380001a411841002802b0bfd38000118280808000002203450d1f200341a9c2c480003602002003413b360214200341a3aec480003602102003410036020c200342a98080801037020441002d00b8bfd380001a410441002802b0bfd38000118280808000002202450d1e200141106a41086a2204410036020020012002360214200141043602102001410036023c20012001413c6a360228200141286a200141106a10d58380800041044100200141106a109983808000200141286a41086a2205200428020036020020012001290210370328024020012802044110470d00200141046a41ac99c4800010a58a8080000b2001280208220242143702c40f200241cd99c480003602c00f200241d5828080003602980f200242af96ecdbe9fb9e904e3702900f200242a2c0e39bcbb28788543702880f200241003602800f200220012903283702dc0f200241013a00f40f200241033602f00f200220033602ec0f200241033602e80f200241e40f6a20052802003602002001411136020c41002d00b8bfd380001a411841002802b0bfd38000118280808000002203450d202003413b360214200341a3aec480003602102003410036020c200342ab80808010370204200341deaec480003602002001410036021820014280808080c000370210200141286a200141106a10c78b808000024020012802044111470d00200141046a41ac99c4800010a58a8080000b20012802082202420e3702bc10200241f29ac480003602b810200241a2818080003602901020024284d8dde1abe5b282977f37028810200242e78cf08ea884e486dd0037028010200241003602f80f200220012902283702d410200241013a00ec10200241033602e810200220033602e410200241033602e010200241dc106a200141286a41086a2802003602002001411236020c41002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d21200341cc0036020420034196bcc480003602002001410036021820014280808080c000370210200141286a200141106a10c78b808000024020012802044112470d00200141046a41ac99c4800010a58a8080000b2001280208220242153702b411200241f59dc480003602b011200241a2818080003602881120024284d8dde1abe5b282977f37028011200242e78cf08ea884e486dd003702f810200241003602f010200220012902283702cc11200241013a00e411200241013602e011200220033602dc11200241013602d811200241d4116a200141286a41086a2802003602002001411336020c41002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d232003418abdc480003602002003413936020441002d00b8bfd380001a411041002802b0bfd38000118280808000002204450d2220044200370008200442808090bbbad6adf00d370000024020012802044113470d00200141046a41ac99c4800010a58a8080000b2001280208220241013a00dc12200241013602d812200220033602d41220024290808080103702cc12200220043602c812200241103602c412200242173702ac122002418e9bc480003602a812200241d682808000360280122002428390bcb585c5afd2603702f811200242b780e7ea9da7d3f55b3702f011200241003602e8112001411436020c41002d00b8bfd380001a411041002802b0bfd38000118280808000002203450d25200341a7b4c480003602002003413c36020c20034180b5c48000360208200341d90036020441002d00b8bfd380001a410441002802b0bfd38000118280808000002204450d2420044100360000024020012802044114470d00200141046a41ac99c4800010a58a8080000b2001280208220241013a00d413200241023602d013200220033602cc1320024284808080203702c413200220043602c013200241043602bc13200242213702a413200241f29cc480003602a013200241b3808080003602f812200242d7c9cb8fc1cf97db3e3702f012200242e88488d0c0e3aebc133702e812200241003602e0122001411536020c41002d00b8bfd380001a411041002802b0bfd38000118280808000002203450d262003412e36020c200341f9b3c48000360208200341d700360204200341bdb7c4800036020020014200370310200141286a200141106a10a489808000024020012802044115470d00200141046a41ac99c4800010a58a8080000b20012802082202421a37029c14200241cc9bc480003602981420024188818080003602f013200242f7c2afbed8aff8dbba7f3702e813200242c4e4baf8df8dda95c1003702e013200241003602d813200220012902283702b414200241003a00cc14200241023602c814200220033602c414200241023602c014200241bc146a200141306a2802003602002001411636020c41002d00b8bfd380001a411041002802b0bfd38000118280808000002203450d272003412e36020c200341f9b3c48000360208200341d600360204200341a3b3c4800036020020014200370310200141286a200141106a10a489808000024020012802044116470d00200141046a41ac99c4800010a58a8080000b20012802082202421937029415200241d59ec480003602901520024188818080003602e814200242f7c2afbed8aff8dbba7f3702e014200242c4e4baf8df8dda95c1003702d814200241003602d014200220012902283702ac15200241003a00c415200241023602c015200220033602bc15200241023602b815200241b4156a200141306a2802003602002001411736020c41002d00b8bfd380001a411841002802b0bfd38000118280808000002203450d28200341c400360214200341e5c1c480003602102003410036020c200342ca808080103702042003419bc1c480003602002001418080808078360210200141286a200141106a10a589808000024020012802044117470d00200141046a41ac99c4800010a58a8080000b20012802082202421837028c16200241b79ec4800036028816200241ff808080003602e01520024296e397c6bfa5aeee463702d815200242aceff0b4f2bd8f8fe4003702d015200241003602c815200220012902283702a416200241003a00bc16200241033602b816200220033602b416200241033602b016200141046a41086a4118360200200241ac166a200141286a41086a280200360200200041086a4118360200200020012902043702002000410f360210200041c5c6c3800036020c200141c0006a2480808080000f0b4104413010b980808000000b4101410441e8a0c4800010ae80808000000b4101410141e8a0c4800010ae80808000000b4104411810b980808000000b4101410441a8a8c1800010ae80808000000b4104413010b980808000000b4104412810b980808000000b4101410141e8a0c4800010ae80808000000b4104411810b980808000000b4101410110b980808000000b4104410810b980808000000b4101410410b980808000000b4104411810b980808000000b4101410110b980808000000b4104413810b980808000000b4101410110b980808000000b4104412810b980808000000b4101410141e8a0c4800010ae80808000000b4104413010b980808000000b4101410141e8a0c4800010ae80808000000b4104413810b980808000000b4101410141e8a0c4800010ae80808000000b4104413010b980808000000b4101412010b980808000000b4104412010b980808000000b4104412010b980808000000b4101410410b980808000000b4104411810b980808000000b4101410410b980808000000b4104411810b980808000000b4101410410b980808000000b4104411810b980808000000b4104411810b980808000000b4104410810b980808000000b4101411010b980808000000b4104410810b980808000000b4101410410b980808000000b4104411010b980808000000b4104411010b980808000000b4104411010b980808000000b4104411810b980808000000ba50301057f23808080800041306b220124808080800041002d00b8bfd380001a0240024041d00041002802b0bfd38000118280808000002202450d00200142d8c192ad8deac8dd3f37002820014284ceb68ad8c4c79c8f7f370020200142e7eacab6b7c9acbc263700182001428de2fdb2e288b2fcd700370010200141086a200141106a4120108a84808000200128020c21032001280208210441002d00b8bfd380001a0240410441002802b0bfd38000118280808000002205450d002005200341e40020044101711b36000041002d00b8bfd380001a410841002802b0bfd380001182808080000022030d024104410810b980808000000b4101410410b980808000000b410841d00010b980808000000b2003412e36020420034189c3c48000360200200041013602082000200236020420004101360200200220053602242002410436022020024201370234200220033602302002428480808010370328200241bb8080800036021820024289d0e6adc0e7a38d463703102002428bfa8ea7fac390de253703082002410a360204200241b7c3c48000360200200141306a2480808080000b840403037f017e037f23808080800041c0006b22012480808080002001411c6a41c1c3c480004104419b95c4800041274104410010c79180800041002d00b8bfd380001a024002400240412041002802b0bfd38000118280808000002202450d00200241be92c48000360200200241003602182002410136020441002d00b8bfd380001a200128021c210320012902202104410841002802b0bfd38000118280808000002205450d0120054100290388c4c480003702002001410036020c20014280808080c000370204200141346a200141046a4190c4c48000411310b785808000200141286a200141346a41a3c4c48000411810e98580800020012802302106200128022c21072001200128022836020c2001200736020420012007200641246c6a36021020012007360208200141346a200141046a41bccec2800010af8b8080002003418080808078460d022000410136024c20002002360248200041013602442001410f6a200141346a41086a2802003600002000200437023c20002003360238200041013a00002000410136025820002005360254200041013602502001200129023437000720002001290004370001200041086a2001410b6a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410841a8ccc4800010ae80808000000b41f0e1c1800041114184e2c18000108b81808000000bbd0c03037f017e047f23808080800041c0006b2201248080808000200141206a41bbc4c480004105419b95c4800041274104410010c79180800041002d00b8bfd380001a024002400240024002400240024002400240412041002802b0bfd38000118280808000002202450d00200241be92c48000360200200241003602182002410136020441002d00b8bfd380001a2001280220210320012902242104410841002802b0bfd38000118280808000002205450d01200541002903e0c4c4800037020041002d00b8bfd380001a2001410036021020014280808080c000370208410841002802b0bfd38000118280808000002206450d02200641002902c8c7c28000370200200141086a41d0e1c1800010af96808000200128020c2207428080808010370208200742808080808001370200200741003a00202007411336021c200741e8c4c480003602182007410136021420072006360210200141306a41086a41013602002001200129020837033041002d00b8bfd380001a410841002802b0bfd38000118280808000002206450d0320064100290288c6c280003702000240200128023822082001280230470d00200141306a41d0e1c1800010af968080000b2001280234200841246c6a220741013a00202007411436021c200741fbc4c4800036021820074101360214200720063602102007428080808010370208200742808080808001370200200141086a41086a200841016a3602002001200129033037030841002d00b8bfd380001a411041002802b0bfd38000118280808000002206450d04200641086a41002902f8c6c28000370200200641002902f0c6c280003702000240200128021022082001280208470d00200141086a41d0e1c1800010af968080000b200128020c200841246c6a220741023a00202007410636021c2007418fc5c4800036021820074102360214200720063602102007428080808020370208200742808080808001370200200141306a41086a200841016a3602002001200129030837033041002d00b8bfd380001a410841002802b0bfd38000118280808000002206450d05200641002902f0c8c280003702000240200128023822082001280230470d00200141306a41d0e1c1800010af968080000b2001280234200841246c6a220741033a00202007411a36021c20074195c5c4800036021820074101360214200720063602102007428080808010370208200742808080808001370200200141086a41086a200841016a3602002001200129033037030841002d00b8bfd380001a410841002802b0bfd38000118280808000002206450d06200641002902a0c8c280003702000240200128021022082001280208470d00200141086a41d0e1c1800010af968080000b200128020c200841246c6a220741043a00202007411d36021c200741afc5c4800036021820074101360214200720063602102007428080808010370208200742808080808001370200200141306a41086a200841016a3602002001200129030837033041002d00b8bfd380001a410841002802b0bfd38000118280808000002206450d07200641002902b0c9c280003702000240200128023822072001280230470d00200141306a41d0e1c1800010af968080000b2001280234200741246c22086a220741053a00202007410c36021c200741ccc5c48000360218200741013602142007200636021020074280808080103702082007428080808080013702002001280234210720012001280230360210200120073602082001200720086a41246a3602142001200736020c200141306a200141086a41bccec2800010af8b8080002003418080808078460d082000410136024c2000200236024820004101360244200141136a200141306a41086a2802003600002000200437023c20002003360238200041013a00002000410136025820002005360254200041013602502001200129023037000b20002001290008370001200041086a2001410f6a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410841a8ccc4800010ae80808000000b4104410810b980808000000b4104410810b980808000000b4104411010b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b41f0e1c1800041114184e2c18000108b81808000000b890703037f017e057f23808080800041c0006b2201248080808000200141186a41d8c5c480004105419b95c4800041274104410010c79180800041002d00b8bfd380001a02400240024002400240412041002802b0bfd38000118280808000002202450d00200241be92c48000360200200241003602182002410136020441002d00b8bfd380001a20012802182103200129021c2104410841002802b0bfd38000118280808000002205450d0120054100290380c6c4800037020041002d00b8bfd380001a2001410036020820014280808080c000370200410841002802b0bfd38000118280808000002206450d02200641002902b0cbc28000370200200141d0e1c1800010af968080002001280204220742808080808001370200200141306a41086a4101360200200741003a00202007411836021c20074188c6c4800036021820074101360214200720063602102007428080808010370208200120012902003703302001200141306a41a0c6c48000411910c18580800041002d00b8bfd380001a410841002802b0bfd38000118280808000002206450d03200641002902f0cac280003702000240200128020822082001280200470d00200141d0e1c1800010af968080000b2001280204200841246c6a220741023a00202007411b36021c200741b9c6c4800036021820074101360214200720063602102007428080808010370208200742808080808001370200200141306a41086a2209200841016a360200200120012902003703302001200141306a41d4c6c48000411810df85808000200141306a200141ecc6c480004119109c85808000200141246a200141306a4185c7c48000411110f085808000200128022c210620012802282107200120012802243602082001200736020020012007200641246c6a36020c20012007360204200141306a200141bccec2800010af8b8080002003418080808078460d042000410136024c20002002360248200041013602442001410b6a20092802003600002000200437023c20002003360238200041013a00002000410136025820002005360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410841a8ccc4800010ae80808000000b4104410810b980808000000b4104410810b980808000000b41f0e1c1800041114184e2c18000108b81808000000bf80202067f017e2380808080004180016b22022480808080000240024002400240024002400240200128020022032802082204280208220520042802102206460d00200641016a2207450d03200720054b0d0420042802042105200420073602102003427f200329030042017c22082008501b370300200520066a2d00000e020102050b20004181808080783602000c050b200241106a200110818f80800002402002280210418080808078460d002000200241106a41f00010e9968080001a0c050b20004181808080783602000c040b200241086a200110c283808000024020022802080d00200241106a2001200228020c10e6828080002002280210418080808078460d00200020022902103702042000410c6a200241186a28020036020020004180808080783602000c040b20004181808080783602000c030b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b20004181808080783602000b20024180016a2480808080000bca0302067f017e2380808080004180016b22022480808080000240024002400240024002400240200128020022032802082204280204200428020c22054b0d00024020042802082204280208220620042802102205470d00410121040c030b200541016a2207450d03200720064b0d042004280204210620042007360210200620056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2003427f200329030042017c22082008501b370300410021040b02400240024020044101710d00200541ff01710e020102050b20004181808080783602000c050b200241106a200110858f80800002402002280210418080808078460d002000200241106a41f00010e9968080001a0c050b20004181808080783602000c040b200241086a200110c183808000024020022802080d00200241106a2001200228020c10f3828080002002280210418080808078460d00200020022902103702042000410c6a200241186a28020036020020004180808080783602000c040b20004181808080783602000c030b417f200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000b20004181808080783602000b20024180016a2480808080000ba70201037f23808080800041106b2202248080808000024002402000280200418080808078460d000240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41003a00002000200110868f8080000c010b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a41013a00002001200341016a360208200028020821042002200028020c22003602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822036b20004f0d0020012003200010fc90808000200128020821030b200128020420036a2004200010e9968080001a2001200320006a3602080b200241106a2480808080000bfb0801057f23808080800041106b22022480808080000240024002400240024002400240024020002d00000e06000102030405000b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41003a00000c050b02402001280200220320012802082204470d0020012004410110fc9080800020012802002103200128020821040b2001280204220520046a41013a00002001200441016a2204360208200028020421000240200320046b41034b0d0020012004410410fc9080800020012802042105200128020821040b2001200441046a360208200520046a20003600000c040b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41023a00000c030b02402001280200220320012802082204470d0020012004410110fc9080800020012802002103200128020821040b2001280204220520046a41033a00002001200441016a2204360208200028020421000240200320046b41034b0d0020012004410410fc9080800020012802042105200128020821040b2001200441046a360208200520046a20003600000c020b200041086a21030240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41043a000020022003360208200241086a200110d6838080002002200041106a36020c2002410c6a200110d68380800041002d00b8bfd380001a412041002802b0bfd38000118280808000002204450d0220042000290018370000200441186a2205200041306a290000370000200441106a200041286a290000370000200441086a2206200041206a29000037000002402001280200200128020822036b411f4b0d0020012003412010fc90808000200128020821030b200128020420036a22002004290000370000200041086a2006290000370000200041106a200441106a290000370000200041186a20052900003700002001200341206a360208200441002802a8bfd38000118080808000000c010b0240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001280204220320046a41053a00002001200441016a2204360208024020002d00010d00024020012802002004470d0020012004410110fc9080800020012802042103200128020821040b2001200441016a360208200320046a41003a00000c010b0240200128020022062004470d0020012004410110fc908080002001280200210620012802042103200128020821040b200041026a21002001200441016a2205360208200320046a41013a00000240200620056b411f4b0d0020012005412010fc9080800020012802042103200128020821050b200320056a220420002900003700002001200541206a360208200441186a200041186a290000370000200441106a200041106a290000370000200441086a200041086a2900003700000b200241106a2480808080000f0b4101412010b980808000000bd114020b7f067e23808080800041f0026b220224808080800020012802082103200242d684ecb8c888e883c3003700e801200242c5c58cc181f088c50c3700e001200242b9e088b7b6cdc2d1133700d801200242c5e4f4b9cff9d18a0b3700d00120024180016a200241d0016a41201095848080004101210402400240024002400240024002402002280280014101470d002003200228029c014b0d052002280298012105200128020421064101210402402003450d0041002d00b8bfd380001a200341002802b0bfd38000118280808000002204450d050b20042006200310e9968080002106200242e7db9c91c4f3a8dcb07f3700e8012002428ad8bd86f0dea2e4243700e001200242b9e088b7b6cdc2d1133700d801200242c5e4f4b9cff9d18a0b3700d001410021070240200341046a22044100480d0041002d00b8bfd380001a200441002802b0bfd380001182808080000022070d02410121070b2007200441a8a8c1800010ae80808000000b2001280204210602402003450d0041002d00b8bfd380001a200341002802b0bfd38000118280808000002204450d030b20042006200310e9968080002106200242e7db9c91c4f3a8dcb07f3700e8012002428ad8bd86f0dea2e4243700e001200242b9e088b7b6cdc2d1133700d801200242c5e4f4b9cff9d18a0b3700d0014100210702400240200341046a22044100480d0041002d00b8bfd380001a200441002802b0bfd380001182808080000022070d01410121070b2007200441a8a8c1800010ae80808000000b200241003602d002200220073602cc02200220043602c802200220033602ec022002200241ec026a3602b802200241b8026a200241c8026a10d583808000024020022802c80220022802d00222046b20034f0d00200241c8026a2004200310fc9080800020022802d00221040b20022802cc0220046a2006200310e9968080001a200241c0026a200420036a360200200220022902c8023703b802200241d0016a4120200241b8026a41002802f8bcd38000118580808000002003450d01200641002802a8bfd38000118080808000000c010b200241003602d002200220073602cc02200220043602c802200220033602ec022002200241ec026a3602b802200241b8026a200241c8026a10d583808000024020022802c80220022802d00222046b20034f0d00200241c8026a2004200310fc9080800020022802d00221040b20022802cc0220046a2006200310e9968080001a200241c0026a200420036a360200200220022902c8023703b802200241d0016a4120200241b8026a41002802f8bcd380001185808080000002402003450d00200641002802a8bfd38000118080808000000b200242e7db9c91c4f3a8dcb07f3700e8012002428ad8bd86f0dea2e4243700e001200242b9e088b7b6cdc2d1133700d801200242c5e4f4b9cff9d18a0b3700d001200241c8026a200241d0016a412010938480800020022802c8022208418080808078460d0020022802cc022109024020022802d002220a450d00200a410371210702400240200a41044f0d00410021064100210b0c010b2009412c6a2104200a417c71210c410021064100210b03402004280200200441746a280200200441686a2802002004415c6a28020020066a6a6a6a2106200441306a2104200c200b41046a220b470d000b0b2005410176210c02402007450d00200b410c6c20096a41086a21040340200428020020066a21062004410c6a21042007417f6a22070d000b0b02402006200c4d0d002002428fa48ce9f7dcc49a887f3700e002200242cbb1ef82aade92ce263700d802200242b9e088b7b6cdc2d1133700d002200242c5e4f4b9cff9d18a0b3700c802200241d0016a200241c8026a4120108784808000200241f0006a2003410a76ad420042808090bbbad6adf00d420010f196808000200241e0006a2002290370428080708342004280809aa6eaafe301420010f196808000200241d0006a200241f0006a41086a290300220d42004280809aa6eaafe301420010f196808000200241c0006a200d420042004280809aa6eaafe30110f196808000200241e8016a2204290300210e20022903e001210f20022802d0012106200241d0016a200241d0006a41086a29030022102002290360220d20022903407c2211200d542207200241e0006a41086a290300220d200241c0006a41086a2903007c2007ad7c2212200d542012200d511bad7c220d200d201054ad2011201242808090bbbad6adf00d4200109992808000200241306a427f20022903e001220d428080a4b1fdad96c90e7c22122012200d542207200429030022102007ad7c22112010542012200d5a1b22071b427f20022903d00120022903d8018450220b1b220d4200200f42808090bbbad6adf00d200641017122061b2212420010f196808000200241106a427f201120071b427f200b1b220f42002012420010f196808000200241206a200d4200200e420020061b2212420010f1968080002002200f42002012420010f196808000200241d0016a200241206a41086a290300221020022903007c220d200241106a41086a2903007c2212200241306a41086a290300220f20022903207c220e200f54ad7c220f200e20022903107c2211200e54ad7c220e200241086a290300200d201054ad7c2012200d54ad7c200f201254ad7c200e200f54ad7c2002290330201142808090bbbad6adf00d42001099928080002004290300210d20022903e001211220022903d801210e20022903d001210f2002428fa48ce9f7dcc49a887f3700e801200242cbb1ef82aade92ce263700e001200242b9e088b7b6cdc2d1133700d801200242c5e4f4b9cff9d18a0b3700d0012002200d427f200f200e845022041b3703d00220022012427f20041b3703c802200241d0016a4120200241c8026a411041002802c8bdd38000118380808000000b200a410171210b410021060240200a4101460d00200a417e7121072009210441002106034002402004280200450d00200441046a28020041002802a8bfd38000118080808000000b02402004410c6a280200450d00200441106a28020041002802a8bfd38000118080808000000b200441186a21042007200641026a2206470d000b0b200b450d0020092006410c6c6a2204280200450d00200428020441002802a8bfd38000118080808000000b2008450d00200941002802a8bfd38000118080808000000b200241b0016a200128020420034100280288bfd3800011858080800000200241e2016a200241b8016a2203290200370100200241ea016a200241b0016a41106a2204290200370100200241f2016a200241b0016a41186a220629020037010020024185023b01d801200241173a00d001200220022902b0013701da0141014100200241d0016a10a98c80800020004100360204200020022902b001370208200041106a2003290200370200200041186a2004290200370200200041206a2006290200370200200041003a00000c030b4101200341a89dc5800010ae80808000000b4101200341a89dc5800010ae80808000000b20004181043b01000b02402001280200450d00200128020441002802a8bfd38000118080808000000b200241f0026a2480808080000bac0601037f2380808080004180016b2202248080808000200242a9a5c4bef894cdeee700370038200242d4c584efa7e5bfee64370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b370020024002400240200241206a41204100280298bdd38000118480808000000d00410421030c010b200242db94c397a39dc1eaea00370038200242f2f7edb5a4809cb22b370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b370020410121030240200241206a412010888480800041fd01714101470d00410221030c010b20024286f68fbaaaa6a6a63237003820024290a3c7c38f88c6c34f370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b370020200241206a41204100280298bdd38000118480808000000d00200242d684ecb8c888e883c300370018200242c5c58cc181f088c50c370010200242b9e088b7b6cdc2d113370008200242c5e4f4b9cff9d18a0b370000200241206a20024120109584808000024020022802200d00410521030c010b024020012802082203200228022c4d0d00410321030c010b200128020421042002200336020420022004360200200242bdb9c185ebd5beb6e0003700382002428ab9b2f0b1fbfe8ab77f370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b3700202002200241206a4120109c838080002002429588f09ae5e2ecacca00370038200242a49ffa80bdc6acab63370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b370020200241013a0000200241206a41202002410141002802c8bdd38000118380808000002001280200210120024286f68fbaaaa6a6a63237003820024290a3c7c38f88c6c34f370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b37002020042003200241206a4120109a8380800002402001450d00200441002802a8bfd38000118080808000000b200241003a0028200241173a002041014100200241206a10a98c8080002000410f3a00000c010b2000200310b9888080002001280200450d00200128020441002802a8bfd38000118080808000000b20024180016a2480808080000bb406020c7f017e23808080800041d0006b2202248080808000200242939685e2c5afc3c644370048200242dbfcc3e0bc84a3df01370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241106a200241306a4120108a848080002002280214210320022802102104200242e3d488ecd2ee88dde300370048200242ce80d7eca9b9a7a316370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a41201082848080002002280224210520022802282106200228022c2107200242908cf1f9cc86e8f851370048200242d4a4d2bc9ca3a4d768370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a41201093848080002002280224210820022802282109200228022c210a200242efe0d69cf8bda6cb5d370048200242d6e9cddfbec0b7fd78370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241086a200241306a4120108a84808000200228020c210b2002280208210c200242bdb9c185ebd5beb6e0003700482002428ab9b2f0b1fbfe8ab77f370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a4120108c848080002002280224210d2002290228210e2002428ba4f08ac7ad89c4ad7f370048200242d7c9cea6cfa8b4c4a47f370040200242b9e088b7b6cdc2d113370038200242c5e4f4b9cff9d18a0b370030200241246a200241306a4120108c84808000024002402002280224418080808078470d00200241186a200110e9838080000c010b200241186a41086a200241246a41086a280200360200200220022902243703180b2000200e3702282000200d3602242000200229031837021820002003410020044101711b3602342000200b4100200c4101711b36023020004100200720054180808080784622031b36021420004104200620031b36021020004100200520031b36020c20004100200a20084180808080784622051b36020820004104200920051b36020420004100200820051b360200200041206a200241206a280200360200200241d0006a2480808080000bd71a03037f017e0e7f23808080800041a0026b2203248080808000200341c8016a200110dc818080000240024020032802c8010d004101210120032802cc012204418080808078460d0120032802d001210541002101200341086a20032902d0012206a72006422088a74100280288bfd38000118580808000002004450d0141002101200541002802a8bfd38000118080808000000c010b410121010b200342b58ab3f59aafe8bb263700e0012003428197ddb2f4a682d8dd003700d801200342b9e088b7b6cdc2d1133700d001200342c5e4f4b9cff9d18a0b3700c8012003418c016a41003a000020034100360288012003200341c8016a412020034188016a4105410041002802b0bdd38000118c8080800000024002402003280200450d0020032802042204450d00024002400240024020032d00880122054103710e0400030201000b200541027621070c040b20044105490d02200541034b0d02200328008901220741ffffffff034d0d020c030b20044104490d0120032f00890120032d008b0141107472220441ffffff077141ff014d0d01200441087420057241027621070c020b20044101460d0020032d0089012204450d00200441087420057241027621070c010b410021070b02400240024002402001450d0020020d01200342bb88f596f8cbf6cf4c3700a0012003428a85cd9fb3e4b2ae6d37009801200342fc90b9e5d09296e77737009001200342a6d4e6f1a4dd95986037008801200341c8016a20034188016a4120109084808000024020032d00c8010d00200341c0006a4200370300200341386a4200370300200341306a4200370300200342003703280c040b200341c0006a200341e1016a290000370300200341386a200341d9016a290000370300200341306a200341d1016a290000370300200320032900c9013703280c030b02402002450d00200341286a41186a200341086a41186a290000370300200341286a41106a200341086a41106a290000370300200341286a41086a200341086a41086a290000370300200320032900083703280c030b200341e8006a41186a200341086a41186a290000370300200341e8006a41106a200341086a41106a290000370300200341e8006a41086a200341086a41086a29000037030020032003290008370368200342bb88f596f8cbf6cf4c3700a0012003428a85cd9fb3e4b2ae6d37009801200342fc90b9e5d09296e77737009001200342a6d4e6f1a4dd95986037008801200341c8016a20034188016a41201090848080000240024020032d00c8010d0020034188016a41186a420037030020034188016a41106a420037030020034188016a41086a420037030020034200370388010c010b20034188016a41186a200341e1016a29000037030020034188016a41106a200341d9016a29000037030020034188016a41086a200341d1016a290000370300200320032900c901370388010b200341e8006a20034188016a412010ed968080000d01200341286a41086a200341e8006a41086a290300370300200341286a41106a200341e8006a41106a290300370300200341286a41186a200341e8006a41186a290300370300200320032903683703280c020b200341003602d801200341013602cc01200341c8c7c480003602c801200342043702d001200341c8016a41d0c7c4800010f280808000000b200342003702d40120034281808080c0003702cc0120034180c8c480003602c8014100200341e8006a20034188016a200341c8016a4188c8c4800010ae82808000000b200341c8006a41186a200341286a41186a290300370300200341c8006a41106a200341286a41106a290300370300200341c8006a41086a200341286a41086a29030037030020032003290328370348200342b58ab3f59aafe8bb263700e0012003428197ddb2f4a682d8dd003700d801200342b9e088b7b6cdc2d1133700d001200342c5e4f4b9cff9d18a0b3700c80120034188016a200341c8016a412010818480800002400240024002400240024002400240200328028801418080808078470d00410021082003410036027020034280808080c000370368410421090c010b200341e8006a41086a20034188016a41086a28020022083602002003200329028801370368200328026c2109024020080d00410021080c010b200841386c210a41002101410121040340200920016a220541146a2d0000450d03200541156a200341c8006a412010ed96808000450d02200441016a2104200a200141386a2201470d000b0b410021040b20034100360270200320043602d4012003200820046b3602d801200320093602c80120032009200441386c6a3602cc012003200341e8006a3602d00120034188016a200341c8016a41a892c4800010928c8080000240024020032802682209418080808078470d00200342b58ab3f59aafe8bb263700e0012003428197ddb2f4a682d8dd003700d801200342b9e088b7b6cdc2d1133700d001200342c5e4f4b9cff9d18a0b3700c801200341c8016a41204100280280bdd38000118b80808000000c010b20032802702104200328026c2105200342b58ab3f59aafe8bb263700e0012003428197ddb2f4a682d8dd003700d801200342b9e088b7b6cdc2d1133700d001200342c5e4f4b9cff9d18a0b3700c80120052004200341c8016a412010a28980800002402004450d00200541086a21010340200110808a808000200141386a21012004417f6a22040d000b0b2009450d00200541002802a8bfd38000118080808000000b200328028c01210b200328028801210c02400240200328029001220d0d00200c450d01200b41002802a8bfd38000118080808000000c010b200342dff88396b8eeb3817c3700e00120034283e3ced79d99b9c6c4003700d801200342b9e088b7b6cdc2d1133700d001200342c5e4f4b9cff9d18a0b3700c801200341e8006a200341c8016a4120108f8480800020032802684102460d02200d41386c210e200341c8016a41086a2108200341e8006a41086a210f200341c8016a41156a21044100210520034188016a41186a210920034188016a411f6a210a024002400340200341b0016a41106a2210200b20056a220141106a280200360200200341b0016a41086a2211200141086a29020037030020034188016a41086a22122001411d6a29000037030020034188016a41106a2213200141256a29000037030020092001412d6a290000370300200a200141346a280000360000200320012902003703b0012003200141156a29000037038801200141146a2d000022144102460d012004200329038801370000200341c8016a41106a201028020036020020082011290300370300200441086a2012290300370000200441106a2013290300370000200441186a20092903003700002004411f6a200a280000360000200320032903b0013703c801200320143a00dc01200f200341c8016a10a582808000024020032d00fd0122014102460d0020032d0084012110200341023a008401200320103a008602200320013a00870220102001470d070b200810808a808000200e200541386a2205470d000c020b0b200e41486a2005460d00200141c0006a2101200e20056b41486a41386e21040340200110808a808000200141386a21012004417f6a22040d000b0b0240200c450d00200b41002802a8bfd38000118080808000000b20034188016a41186a200341e8006a41186a29020037030020034188016a41106a200341e8006a41106a29020037030020034188016a41086a200341e8006a41086a2902003703002003200329026822063703880102402006a722014102470d00200342dff88396b8eeb3817c3700e00120034283e3ced79d99b9c6c4003700d801200342b9e088b7b6cdc2d1133700d001200342c5e4f4b9cff9d18a0b3700c801200341c8016a41204100280280bdd38000118b80808000000c010b200342dff88396b8eeb3817c3700e00120034283e3ced79d99b9c6c4003700d801200342b9e088b7b6cdc2d1133700d001200342c5e4f4b9cff9d18a0b3700c80141002104417f417f410b417f20033502a001420c7e2206a72205410c6a22092009200541046a491b2006422088a71b22054105410120014101711b6a220120012005491b22014101410220032d00a4014102461b6a220520052001491b22014100480d0441002d00b8bfd380001a41012104200141002802b0bfd38000118280808000002205450d042003200536028c022003200136028802200341003602900220034188016a20034188026a10a7898080002003280288022101200341c8016a4120200328028c02220420032802900241002802c8bdd380001183808080000002402001450d00200441002802a8bfd38000118080808000000b20034198016a10808a8080000b2007200d6b20024101200241014b1b4f0d0420004200370300200041086a4200370300200341a0026a2480808080000f0b41bcc9c48000413a41f8c9c48000108b81808000000b41e8c8c4800041c10041acc9c48000108b81808000000b2003410036028802410020034186026a20034187026a20034188026a41b4a8c4800010d28c808000000b2004200141e8a0c4800010ae80808000000b200341003602d801200341013602cc01200341d0c8c480003602c801200342043702d001200341c8016a41d8c8c4800010f280808000000bc00201077f23808080800041306b2201248080808000200142b58ab3f59aafe8bb263700282001428197ddb2f4a682d8dd00370020200142b9e088b7b6cdc2d113370018200142c5e4f4b9cff9d18a0b370010200141046a200141106a41201081848080000240024020012802042202418080808078470d00410021030c010b2001280208210402400240200128020c22050d00410021030c010b200541386c2106200441156a21074101210302400240034002402007417f6a2d00004101470d0020072000412010ed96808000450d020b200741386a2107200341016a2103200641486a22060d000b200521030c010b200520036b21030b200441086a21070340200710808a808000200741386a21072005417f6a22050d000b0b2002450d00200441002802a8bfd38000118080808000000b200141306a24808080800020030bf80903027f017e037f23808080800041a0016b220324808080800020022802082104200342fd98e88aaae0e9ab7937003820034291b5f49a9dbec5afdb00370030200342b9e088b7b6cdc2d113370028200342c5e4f4b9cff9d18a0b370020200341c0006a200341206a41201090848080000240024020032d00400d00200341386a4200370300200341306a4200370300200341286a4200370300200342003703200c010b200341386a200341d9006a290000370300200341306a200341d1006a290000370300200341286a200341c9006a290000370300200320032900413703200b200042cd3e37030820002004ad428c99880c7e42d8bc9fef017c220537030002402004450d00200341033a0048200341173a00402003200436024c41014100200341c0006a10a98c80800020044104742106200228020441086a2100200341e4006a21070340200041046a280200210820072000417c6a280200200028020010d982808000200341c0006a41186a200341206a41186a290300370300200341c0006a41106a200341206a41106a290300370300200341c0006a41086a200341206a41086a2903003703002003200836026020032003290320370340200041106a2100200341206a200341c0006a10d482808000200641706a22060d000b200342fd98e88aaae0e9ab7937005820034291b5f49a9dbec5afdb00370050200342b9e088b7b6cdc2d113370048200342c5e4f4b9cff9d18a0b37004041002d00b8bfd380001a0240412041002802b0bfd38000118280808000002200450d0020002003290320370000200041186a200341206a41186a2206290300370000200041106a200341206a41106a2208290300370000200041086a200341206a41086a2207290300370000200341c0006a41202000412041002802c8bdd3800011838080800000200041002802a8bfd3800011808080800000200341f8006a2006290300370300200341f0006a2008290300370300200341e8006a200729030037030020032003290320370360200342cd3e37035820032005370350200341043a0048200341173a004041014100200341c0006a10a98c8080000c010b4101412010b980808000000b200341c0006a41186a200341206a41186a290300370300200341c0006a41106a200341206a41106a290300370300200341c0006a41086a200341206a41086a290300370300200320032903203703400240200341c0006a2001412010ed96808000450d00200341003602084100200341c0006a2001200341086a4188cac4800010ae82808000000b200342efe0d69cf8bda6cb5d370058200342d6e9cddfbec0b7fd78370050200342b9e088b7b6cdc2d113370048200342c5e4f4b9cff9d18a0b3700402003200436020841002106200341c0006a4120200341086a410441002802c8bdd38000118380808000002002280204210702402004450d0020044101712101024020044101460d00200441feffff3f7121082007210041002106034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b0240200041106a280200450d00200041146a28020041002802a8bfd38000118080808000000b200041206a21002008200641026a2206470d000b0b2001450d00200720064104746a2200280200450d00200028020441002802a8bfd38000118080808000000b02402002280200450d00200741002802a8bfd38000118080808000000b200341a0016a2480808080000bf81c010e7f23808080800041e0016b220524808080800020032802082106200328020021072005200328020422083602b401200520073602b001200541003602ac012005200741004722093602a801200520083602a401200520073602a0012005410036029c012005200936029801024002400240024002402006410020071b220a450d0002400240024020020e020001020b2005200a417f6a3602b80120054198016a10ef84808000220b450d03200b280204210c02400240200b280208220d200b28020022052f01b6014f0d00200521030c010b034020052802002203450d06200c41016a210c20052f01b401210d20032105200d20032f01b6014f0d000b0b02400240200c0d00200d41016a210d0c010b2003200d4102746a41bc016a28020021034100210d200c417f6a2205450d00200c417e6a210e02402005410771220c450d0003402005417f6a210520032802b8012103200c417f6a220c0d000b0b200e4107490d00034020032802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012103200541786a22050d000b0b200b200d360208200b4100360204200b20033602000c060b200528029c0121032007210d2008210f20092110034020052006417f6a22063602b801024002402010410171220c450d0020030d0002400240200f0d00200d21030c010b02400240200f410771220b0d00200f210c200d21030c010b200f210c200d21030340200c417f6a210c20032802b8012103200b417f6a220b0d000b0b200f4108490d00034020032802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012103200c41786a220c0d000b0b200542003702a0012005200336029c014101211020054101360298014100210d4100210f0c010b200c450d040b02400240200f20032f01b6014f0d002003210c200f210b0c010b03402003280200220c450d06200d41016a210d20032f01b401210b200c2103200b200c2f01b6014f0d000b0b02400240200d0d00200b41016a210f200c21030c010b200c200b4102746a41bc016a28020021034100210f200d417f6a220e450d00200d417e6a21110240200e410771220d450d000340200e417f6a210e20032802b8012103200d417f6a220d0d000b0b20114107490d00034020032802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012103200e41786a220e0d000b0b2005200f3602a401200541003602a0012005200336029c01200c200b4102746a41046a2802002001280200470d064100210d20060d000c020b0b200528029c0121032007210c2008211020092111034020052006417f6a22063602b801024002402011410171220d450d0020030d000240024020100d00200c21030c010b024002402010410771220b0d002010210d200c21030c010b2010210d200c21030340200d417f6a210d20032802b8012103200b417f6a220b0d000b0b20104108490d00034020032802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012103200d41786a220d0d000b0b200542003702a0012005200336029c014101211120054101360298014100210c410021100c010b200d450d030b02400240201020032f01b6014f0d002003210d2010210b0c010b03402003280200220d450d05200c41016a210c20032f01b401210b200d2103200b200d2f01b6014f0d000b0b02400240200c0d00200b41016a2110200d21030c010b200d200b4102746a41bc016a280200210341002110200c417f6a220e450d00200c417e6a210f0240200e410771220c450d000340200e417f6a210e20032802b8012103200c417f6a220c0d000b0b200f4107490d00034020032802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012103200e41786a220e0d000b0b200520103602a4014100210c200541003602a0012005200336029c01200d200b4102746a41046a280200210f2002210d0340200c200d410176220b200c6a220e200f2001200e413c6c6a280200491b210c200d200b6b220d41014b0d000b200f2001200c413c6c6a280200470d054100210c20060d000b0b2005410036024c200541003602382005200a360234200520083602302005200736022c2005410036022820052009360224200520083602202005200736021c2005410036021820052009360214200541086a200541146a41a892c4800010fb8b8080002005280210210c200528020c21032005200541df016a360298010240200c4102490d000240200c4115490d002003200c20054198016a108d878080000c010b2003200c410120054198016a10978f8080000b2005429ecfa7cc9cf7bd852c3700b001200542bd948bf28d9682e3d5003700a801200542b9e088b7b6cdc2d1133700a001200542c5e4f4b9cff9d18a0b37009801200541f8006a20054198016a41201083848080000240024020052802780d0020054100360268200541003602600c010b200541e8006a20054184016a2802003602002005200529027c3703600b200541003602742005410036026c200c450d022003200c41146c6a210a200541bc016a21124100210c03404101200c22112004200322062802102210491b210820042010200420104b1b210902400240200528026c220e0d00200541003602a00120052006360298012005200541ec006a36029c010c010b2006280200210d2005280270210402400340200e2f0192032207410274210f417f210c410021030240024003400240200f2003470d002007210c0c020b200e20036a210b200341046a2103200c41016a210c417f200d200b41e4026a280200280200220b47200d200b491b220b4101460d000b200b41ff0171450d010b2004450d022004417f6a2104200e200c4102746a4194036a280200210e0c010b0b2005200c3602a401200520043602a0012005200e36029c0120054100360298012005200541ec006a3602a8010c010b2005200c3602a801200541003602a4012005200e3602a00120052006360298012005200541ec006a36029c010b2008410120111b210c2009201020111b210420054198016a200541e0006a200610d88880800021032006280210210d20122006280208200628020c10d98280800020054198016a41186a200341186a220b29000037030020054198016a41106a200341106a220e29000037030020054198016a41086a200341086a220f29000037030020052003290000370398012005200d3602b801200541f8006a20054198016a10d482808000200b200541f8006a41186a290000370000200e200541f8006a41106a290000370000200f200541f8006a41086a29000037000020032005290078370000200641146a2203200a470d000c030b0b41cccdc48000108a81808000000b41bccdc48000108a81808000000b200542e2dda6cfa7f49787b17f3700b001200542facefdaea4d4b6b9d5003700a801200542b9e088b7b6cdc2d1133700a001200542c5e4f4b9cff9d18a0b37009801200541f8006a20054198016a4120109184808000200041086a42003703002000420037030002402002450d0020012002413c6c6a2111034002400240200528026c220e0d00200541003602a00120052001360298012005200541ec006a36029c010c010b2001280200210d2005280270210602400340200e2f0192032210410274210f417f210c410021030240024003400240200f2003470d002010210c0c020b200e20036a210b200341046a2103200c41016a210c417f200d200b41e4026a280200280200220b47200d200b491b220b4101460d000b200b41ff0171450d010b2006450d022006417f6a2106200e200c4102746a4194036a280200210e0c010b0b2005200c3602a401200520063602a0012005200e36029c0120054100360298012005200541ec006a3602a8010c010b2005200c3602a801200541003602a4012005200e3602a00120052001360298012005200541ec006a36029c010b200541f8006a41086a20054198016a200541e0006a200110d888808000220341086a290000370300200541f8006a41106a200341106a290000370300200541f8006a41186a200341186a290000370300200520032900003703780240024020012d00184101710d0020054198016a41186a420037030020054198016a41106a420037030020054198016a41086a420037030020054200370398010c010b20054198016a41186a200141316a29000037030020054198016a41106a200141296a29000037030020054198016a41086a200141216a29000037030020052001290019370398010b0240200541f8006a20054198016a412010ed968080000d002001413c6a22012011470d010c020b0b4198cac48000412941c4cac4800010f480808000000b200541f8006a41086a200541ec006a41086a2802003602002005200529026c3703782005429ecfa7cc9cf7bd852c3700b001200542bd948bf28d9682e3d5003700a801200542b9e088b7b6cdc2d1133700a001200542c5e4f4b9cff9d18a0b37009801200541f8006a20054198016a412010bf8a808000200541f8006a10f789808000200542939685e2c5afc3c6443700b001200542dbfcc3e0bc84a3df013700a801200542b9e088b7b6cdc2d1133700a001200542c5e4f4b9cff9d18a0b37009801200520043602784100210c20054198016a4120200541f8006a410441002802c8bdd3800011838080800000200541e0006a10f789808000200528020c210b02402005280210220d450d00200d410171210e0240200d4101460d00200b411c6a2103200d417e71210d4100210c03400240200341686a280200450d002003416c6a28020041002802a8bfd38000118080808000000b02402003417c6a280200450d00200328020041002802a8bfd38000118080808000000b200341286a2103200d200c41026a220c470d000b0b200e450d00200b200c41146c6a2203280204450d00200341046a28020441002802a8bfd38000118080808000000b02402005280208450d00200b41002802a8bfd38000118080808000000b200541e0016a2480808080000f0b41d4cac4800041d40041a8cbc4800010f480808000000b1e00200128021c41e8a2c480004114200128022028020c118180808000000ba50301047f23808080800041c0006b220224808080800002400240200028020022002802000d00200128021c41bf92c480004104200128022028020c1181808080000021000c010b2002200036020441012100200128021c220341c392c4800041042001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110c9888080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10c9888080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000bf90201047f23808080800041c0006b220224808080800020022000280200360204410121000240200128021c220341dccdc4800041042001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110bc888080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10bc888080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000ba50301047f23808080800041c0006b220224808080800002400240200028020022002802000d00200128021c41bf92c480004104200128022028020c1181808080000021000c010b2002200036020441012100200128021c220341c392c4800041042001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110998d8080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10998d8080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000b1e00200128021c419c91c48000410f200128022028020c118180808000000b3400200128021c41e3cdc4800041e0cdc4800020002802002d000022001b4102410320001b200128022028020c118180808000000ba80301047f23808080800041c0006b220224808080800002400240200028020022032d00000d00200128021c41bf92c480004104200128022028020c1181808080000021000c010b410121002002200341016a360204200128021c220341c392c4800041042001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110ca888080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ca888080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000ba80301047f23808080800041c0006b220224808080800002400240200028020022002d00004102470d00200128021c41bf92c480004104200128022028020c1181808080000021000c010b2002200036020441012100200128021c220341c392c4800041042001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110b8848080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10b8848080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000bc00101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020841002802a8bfd38000118080808000000c030b2000280204450d02200028020841002802a8bfd38000118080808000000c020b200010c3898080000c010b2001450d01200028020421000b200041002802a8bfd38000118080808000000b0bb90204047f017e017f017e024020002802042201450d000240200028020c2202450d002000280200220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341807d6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2005427f7c210702402003410020057aa74103766b41306c6a220641706a280200450d00200641746a28020041002802a8bfd38000118080808000000b200720058321052002417f6a22020d000b0b2001200141016aad42307ea722046a4177460d00200028020020046b41002802a8bfd38000118080808000000b02402000280238450d00200028023c41002802a8bfd38000118080808000000b0bd60103027f017e027f0240200128020822032002490d00200320026b2204ad42307e2205a72103410021060240024002402005422088a70d00200341fcffffff074b0d00024020030d0041042106410021070c030b41002d00b8bfd380001a200341002802b0bfd380001182808080000022060d01410421060b2006200341b0d3c4800010ae80808000000b200421070b2001200236020820062001280204200241306c6a200310e99680800021022000200436020820002002360204200020073602000f0b2002200341b0d3c4800010b880808000000b8e5003157f037e077f23808080800041b00d6b2205248080808000200541003602d80120054280808080c0003702d001200542003702b004024002400240024020022003460d0020054188046a41286a210620054188046a41046a2107200541f0096a41046a2108200541f0096a41146a2109200541d80b6a41146a210a200541d80b6a41046a210b200541d80b6a41016a210c2005418c026a41086a210d200541b8046a41086a210e200541b8046a41046a210f2005418c016a41106a21100240024002400240024002400240024002400240024002400240024002400240024003402002280204211102400240200228020822120d00410021130c010b20112d000041014621130b2002410c6a2114200541d80b6a201120136a2211201220136b221210ec8b808000200541086a41086a2215200b41086a2902003703002005200b290200370308024002400240024002400240024020052802d80b22164107470d00200f2005290308370200200f41086a200541086a41086a2903003702000c010b2009200a41c40110e9968080001a200841086a201529030037020020082005290308370200200520163602f009200541b8046a200541f0096a2011201210d39680800020052802b80422174107470d010b200541d80b6a41186a22114200370300200541d80b6a41206a220c4200370300200541d80b6a41286a22124200370300200541d80b6a41086a2215200f41086a290200370300200542003703e80b2005200f2902003703d80b41002d00b8bfd380001a413041002802b0bfd380001182808080000022130d014104413010b980808000000b20052802bc04211820054190066a200e41d00110e9968080001a410421164101211941002112410021150240024002402017417d6a2211410420114104491b0e050202010000020b41102119410121120b41002d00b8bfd380001a201941286c221141002802b0bfd38000118280808000002216450d02410121152016211102402012450d002019417f6a2211417871211220114107712115201621110340201141023a009802201141023a00f001201141023a00c801201141023a00a001201141023a0078201141023a0050201141023a0028201141023a0000201141c0026a2111201241786a22120d000b02402015450d00201541286c2115410021120340201120126a41023a00002015201241286a2212470d000b201120126a21110b201921150b201141023a0000201921120b200520153602ec03200520163602e803200520123602e40320052018360290022005201736028c02200d20054190066a41d00110e9968080001a200542003702f003024020130d00201421020c040b024020142003460d00200520022902103702f403200241186a21020c040b41002d00b8bfd380001a413041002802b0bfd38000118280808000002213450d022013420037020420134185808080783602002013410c6a4200370200201341146a42003702002013411c6a4200370200201421020c070b201320052903d80b370200201341286a2012290300370200201341206a200c290300370200201341186a2011290300370200201341106a200541d80b6a41106a290300370200201341086a201529030037020041012115201421020c070b4104201110b980808000000b4104413010b980808000000b200541d80b6a2005418c026a10c789808000024020052d00d80b450d0020052802dc0b21130c040b20052d00d90b21110340024020114101710d002005418c026a20054188046a10c889808000024020052802d801221120052802d001470d00200541d0016a41d4cfc4800010ec8a8080000b20052802d401201141f0016c6a2005418c026a41f00110e9968080001a2005201141016a3602d80120022003470d020c140b0240024020052802f40322120d00410021110c010b20052802b404221541017621110240024020154101710d00200528028c0420052802b0042215201541284b22151b22132011490d1020052802880420054188046a20151b2115410021130c010b200528028c0420052802b0042215201541284b22131b22152011490d0e201520114d0d0d200520052802880420054188046a20131b221520116a2d000041f001713a00c104410121130b200520133a00c004200520113602bc04200520153602b804200541f0096a2001200541b8046a201220052802f80310f584808000200c41186a200541f0096a41186a290000370000200c41106a200541f0096a41106a290000370000200c41086a200541f0096a41086a290000370000200c20052900f009370000410121110b200520113a00d80b200541b8046a2005418c026a200c410020111b10c98980800020052802b404221241017621110240024020124101710d00200528028c0420052802b0042212201241284b22121b22152011490d0c20052802880420054188046a20121b2112410021150c010b200528028c0420052802b0042212201241284b22151b22122011490d0a201220114d0d09200520052802880420054188046a20151b221220116a2d000041f001713a00f909410121150b200520153a00f809200520113602f409200520123602f0092005418c016a2001200541f0096a20052802bc04221520052802c00410f58480800020052802d8012211450d0220052011417f6a22113602d80120052802d401201141f0016c6a22112802004107460d022005418c026a201141f00110e9968080001a0240024002400240200528028c02417d6a2211410420114104491b0e050302020001030b20052802b4042211450d0220054188046a4104412820052802b00441284b22131b6a22162802002219450d0a200528028804211220162019417f6a2219360200201220054188046a20131b20196a2d0000211320052011417f6a22113602b4042011410171450d02201341f0017121190240024020054188046a4104412820052802b004221341284b22111b6a28020022162013412820111b460d002007200620111b2113201220054188046a20111b21110c010b20054188046a10ca96808000200528028c0421162005280288042111200721130b201120166a20193a00002013201328020041016a3602000c020b20052802e003211120052802dc032112024020052802b4042213450d0020054188046a4104412820052802b00441284b22191b6a22172802002214450d09200528028804211620172014417f6a2214360200201620054188046a20191b20146a2d0000211920052013417f6a22133602b4042013410171450d00201941f0017121140240024020054188046a4104412820052802b004221941284b22131b6a28020022172019412820131b460d002007200620131b2119201620054188046a20131b21130c010b20054188046a10ca96808000200528028c0421172005280288042113200721190b201320176a20143a00002019201928020041016a3602000b20054188046a201241017420116b10dc968080000c010b20054188046a20052802a00241017420052802a4026b10dc968080000b20052802f003221220052802ec0322114f0d0320052802e803201241286c6a221141003a00002011200529028c01370001201141096a2005418c016a41086a290200370000201141116a2010290200370000201141196a2005418c016a41186a2902003700002005201241016a3602f003024020052802b804450d00201541002802a8bfd38000118080808000000b200541d80b6a2005418c026a10c78980800020052d00d90b211120052d00d80b450d000b0b20052802dc0b21130c020b200541d8096a20054198016a290200370300200541e0096a200541a0016a290200370300200541e8096a200541a8016a28020036020020052005290290013703d009200528028c012113024020052802b804450d00201541002802a8bfd38000118080808000000b410021150c020b2012201141e4cfc4800010f580808000000b4101211520052802e403450d0020052802e80341002802a8bfd38000118080808000000b024020052802b0044129490d0020052802880441002802a8bfd38000118080808000000b024020052802d8012212450d0020052802d4012110201241017121164100210c024020124101460d00201041cc036a21112012417e7121124100210c034002402011418c7e6a280200450d00201141907e6a28020041002802a8bfd38000118080808000000b02402011417c6a280200450d00201128020041002802a8bfd38000118080808000000b201141e0036a21112012200c41026a220c470d000b0b2016450d002010200c41f0016c6a22112802d801450d00201141d8016a28020441002802a8bfd38000118080808000000b024020052802d001450d0020052802d40141002802a8bfd38000118080808000000b20150d0e200541f0016a41186a200541d0096a41186a2802002211360200200541f0016a41106a200541d0096a41106a290300221a370300200541f0016a41086a200541d0096a41086a290300221b370300200520052903d009221c3703f001200541146a201b3702002005411c6a201a370200200541246a2011360200200520133602082005201c37020c0240024002402004450d002004200541086a412010ed968080000d010b20054100360234200542808080801037022c200541e8cdc480003602dc04200520013602d804200541003602d004200542003702c804200541003602c004200542003702b8042005200541086a3602e004200541d80b6a200541b8046a10ca8980800020052802dc0b210c20052802d80b2212418080808078460d0a200541f0096a41306a2215200541d80b6a41386a280200360200200541f0096a41286a2213200541d80b6a41306a290200370300200541f0096a41206a2210200541d80b6a41286a290200370300200541f0096a41186a2216200541d80b6a41206a290200370300200541f0096a41106a2219200541d80b6a41186a290200370300200541f8096a2217200541d80b6a41106a290200370300200520052902e00b3703f00941002d00b8bfd380001a41c00041002802b0bfd380001182808080000022110d01410441c00010b980808000000b20002005290208370001200041003a000020002004290000370021200041196a200541086a41186a290200370000200041116a200541086a41106a290200370000200041096a200541086a41086a290200370000200041296a200441086a290000370000200041316a200441106a290000370000200041396a200441186a2900003700000c110b2011200c36020420112012360200201120052903f009370208201141106a2017290300370200201141186a2019290300370200201141206a2016290300370200201141286a2010290300370200201141306a2013290300370200201141386a20152802003602002011200541b8046a36023c201141fccdc48000411710d88d808000220c0d09200541e40b6a21080340200541d80b6a201110e08d808000024002400240024020052802d80b22154180808080786a0e02010f000b20052802dc0b210c0240024020052802e00b4117490d0041fccdc48000200c411710ed96808000450d010b02402015450d00200c41002802a8bfd38000118080808000000b20052802e40b450d0f20052802e80b41002802a8bfd38000118080808000000c0f0b024020052802ec0b4120470d0020052802e40b2116200541386a41186a221920052802e80b221241186a290000370300200541386a41106a2217201241106a290000370300200541386a41086a220b201241086a29000037030020052012290000370338024020052802342210200528022c470d002005412c6a41e0cec4800010e28a8080000b200528023020104105746a22132005290338370000201341086a200b290300370000201341106a2017290300370000201341186a20192903003700002005201041016a36023402402016450d00201241002802a8bfd38000118080808000000b2015450d040c030b200541fb096a200541d80b6a41086a280200360000200041043a000020002008290200370210200041186a200841086a280200360200200520052902d80b3700f309200020052900f009370001200041086a200541f7096a2900003700000c010b20052802dc0b220c280200418580808078460d01200541d8006a41286a2201200c41286a290200370300200541d8006a41206a2215200c41206a290200370300200541d8006a41186a2213200c41186a290200370300200541d8006a41106a2202200c41106a290200370300200541d8006a41086a2210200c41086a2902003703002005200c29020037035841002d00b8bfd380001a0240413041002802b0bfd38000118280808000002212450d0020122005290358370200201241286a2001290300370200201241206a2015290300370200201241186a2013290300370200201241106a2002290300370200201241086a201029030037020020002012360204200041053a0000200c41002802a8bfd38000118080808000000c010b4104413010b980808000000b201110a68d808000201141002802a8bfd38000118080808000000c0d0b200c41002802a8bfd38000118080808000000c000b0b41f8a2cd80004122419ca3cd8000108b81808000000b41f8a2cd80004122419ca3cd8000108b81808000000b2011201241dca3cd800010f580808000000b2011201241cca3cd800010aa81808000000b2011201541bca3cd800010aa81808000000b2011201541dca3cd800010f580808000000b2011201541cca3cd800010aa81808000000b2011201341bca3cd800010aa81808000000b2000200c360204200041053a00000c020b0240024002400240200c28020041fcffffff076a2212410320124105491b0e0403030102000b200c280204450d02200c28020841002802a8bfd38000118080808000000c020b200c280204450d01200c28020841002802a8bfd38000118080808000000c010b200c10c3898080000b200c41002802a8bfd38000118080808000000b201110a68d80800041002112201141002802a8bfd3800011808080800000200541086a200141186a412010ed96808000450d01200541d80b6a41186a200541086a41186a290200370300200541d80b6a41106a200541086a41106a290200370300200541d80b6a41086a200541086a41086a290200370300200520052902083703d80b02402001200541d80b6a10cd848080002211450d00201128022c41004a0d020b200041013a00000b200528022c450d04200528023041002802a8bfd38000118080808000000c040b200541003a008c012005280230211d200528022c211e02400240200528023422110d00410121110c010b201d20114105746a2108200541d80b6a41106a210d20054188046a41046a211f200541f0096a41046a2109200541f0096a41146a2107200541d80b6a41146a2106200541d80b6a41046a2114200541d80b6a41016a210c2005418c016a41056a21162005418c016a41016a2118200541d0096a41046a210a200541e0076a41086a2120200541b8046a41086a210f200541b8046a41046a212120054188046a41286a21224100211241002113201d21150340200541b0016a41186a201541186a290000370300200541b0016a41106a201541106a290000370300200541b0016a41086a201541086a290000370300200520152900003703b00102400240024002400240024002400240024002400240024002402012410171450d00201521110c010b02400240024020134101710d0020022003470d01410121130c0d0b2004450d0c200221100c010b2002410c6a211020022802082123200228020421040b41002111200541003602840420054280808080c0003702fc03200542003702b00402400240024002400340024002400240024002400240024020114101710d002004211220232111201021170c010b20102003460d012010410c6a211720102802082111201028020421120b0240024020110d00410021020c010b20122d000041014621020b200541d80b6a201220026a2212201120026b221310ec8b808000200541c80b6a41086a2211201441086a290200370300200520142902003703c80b02400240024020052802d80b22104107470d00202120052903c80b370200202141086a20112903003702000c010b2007200641c40110e9968080001a200941086a2011290300370200200920052903c80b370200200520103602f009200541b8046a200541f0096a2012201310d39680800020052802b804220b4107470d010b200d4200370200200d41086a4200370200200d41106a4200370200200d41186a4200370200200541d80b6a41086a2211202141086a290200370300200520212902003703d80b41002d00b8bfd380001a413041002802b0bfd380001182808080000022020d024104413010b980808000000b20052802bc04210e20054190066a200f41d00110e9968080001a41042110410121194100211241002113024002400240200b417d6a2211410420114104491b0e050202010000020b41102119410121120b41002d00b8bfd380001a201941286c221141002802b0bfd38000118280808000002210450d03410121132010211102402012450d002019417f6a2211417871211220114107712113201021110340201141023a009802201141023a00f001201141023a00c801201141023a00a001201141023a0078201141023a0050201141023a0028201141023a0000201141c0026a2111201241786a22120d000b02402013450d00201341286c2113410021120340201120126a41023a00002013201241286a2212470d000b201120126a21110b201921130b201141023a0000201921120b200520133602c009200520103602bc09200520123602b8092005200e3602e4072005200b3602e007202020054190066a41d00110e9968080001a200542003702c409024020020d00201721100c050b024020172003460d00200520172902043702c8092017410c6a21100c050b41002d00b8bfd380001a413041002802b0bfd38000118280808000002202450d032002420037020420024185808080783602002002410c6a4200370200200241146a42003702002002411c6a4200370200201721100c080b41002d00b8bfd380001a0240413041002802b0bfd38000118280808000002202450d002002420037020420024185808080783602002002410c6a4200370200200241146a42003702002002411c6a4200370200024020052802b0044129490d0020052802880441002802a8bfd38000118080808000000b02402005280284042212450d002005280280042101201241017121154100210c024020124101460d00200141cc036a21112012417e7121124100210c034002402011418c7e6a280200450d00201141907e6a28020041002802a8bfd38000118080808000000b02402011417c6a280200450d00201128020041002802a8bfd38000118080808000000b201141e0036a21112012200c41026a220c470d000b0b2015450d002001200c41f0016c6a22112802d801450d00201141d8016a28020441002802a8bfd38000118080808000000b20052802fc03450d1320052802800441002802a8bfd38000118080808000000c130b4104413010b980808000000b200220052903d80b370200200241286a200541d80b6a41286a290300370200200241206a200541d80b6a41206a290300370200200241186a200541d80b6a41186a290300370200200241106a200d290300370200200241086a201129030037020041012119201721100c070b4104201110b980808000000b4104413010b980808000000b200541d80b6a200541e0076a10c789808000024020052d00d80b450d0020052802dc0b21020c040b20052d00d90b21110340024020114101710d00200541e0076a20054188046a10c8898080000240200528028404221220052802fc03470d00200541fc036a41d4cfc4800010ec8a8080000b200528028004201241f0016c6a200541e0076a41f00110e9968080001a410121112005201241016a360284040c020b0240024020052802c80922120d00410021110c010b20052802b404221341017621110240024020134101710d00200528028c0420052802b0042213201341284b22131b22022011490d0a20052802880420054188046a20131b2113410021020c010b200528028c0420052802b0042213201341284b22021b22132011490d0a201320114d0d0b200520052802880420054188046a20021b221320116a2d000041f001713a00c104410121020b200520023a00c004200520113602bc04200520133602b804200541f0096a2001200541b8046a201220052802cc0910f584808000200c41186a200541f0096a41186a290000370000200c41106a200541f0096a41106a290000370000200c41086a200541f0096a41086a290000370000200c20052900f009370000410121110b200520113a00d80b200541b8046a200541e0076a200c410020111b10c98980800020052802b404221241017621110240024020124101710d00200528028c0420052802b0042212201241284b22121b22132011490d0c20052802880420054188046a20121b2112410021130c010b200528028c0420052802b0042212201241284b22131b22122011490d0c201220114d0d0d200520052802880420054188046a20131b221220116a2d000041f001713a00f909410121130b200520133a00f809200520113602f409200520123602f009200541d0096a2001200541f0096a20052802bc04221320052802c00410f5848080002005280284042211450d0220052011417f6a221136028404200528028004201141f0016c6a22112802004107460d02200541e0076a201141f00110e9968080001a024002400240024020052802e007417d6a2211410420114104491b0e050302020001030b20052802b4042211450d0220054188046a4104412820052802b00441284b22021b6a22192802002217450d10200528028804211220192017417f6a2217360200201220054188046a20021b20176a2d0000210220052011417f6a22113602b4042011410171450d02200241f0017121170240024020054188046a4104412820052802b004220241284b22111b6a28020022192002412820111b460d00201f202220111b2102201220054188046a20111b21110c010b20054188046a10ca96808000200528028c0421192005280288042111201f21020b201120196a20173a00002002200228020041016a3602000c020b20052802b409211120052802b0092112024020052802b4042202450d0020054188046a4104412820052802b00441284b22171b6a220b280200220e450d112005280288042119200b200e417f6a220e360200201920054188046a20171b200e6a2d0000211720052002417f6a22023602b4042002410171450d00201741f00171210e0240024020054188046a4104412820052802b004221741284b22021b6a280200220b2017412820021b460d00201f202220021b2117201920054188046a20021b21020c010b20054188046a10ca96808000200528028c04210b2005280288042102201f21170b2002200b6a200e3a00002017201728020041016a3602000b20054188046a201241017420116b10dc968080000c010b20054188046a20052802f40741017420052802f8076b10dc968080000b20052802c409221220052802c00922114f0d0320052802bc09201241286c6a221141003a0000201120052902d009370001201141096a200541d0096a41086a290200370000201141116a200541d0096a41106a290200370000201141196a200541d0096a41186a2902003700002005201241016a3602c409024020052802b804450d00201341002802a8bfd38000118080808000000b200541d80b6a200541e0076a10c78980800020052d00d90b211120052d00d80b450d000b0b20052802dc0b21020c020b200541d0016a41086a200a41086a290200370300200541d0016a41106a200a41106a290200370300200541d0016a41186a200a41186a2802003602002005200a2902003703d00120052802d0092102024020052802b804450d00201341002802a8bfd38000118080808000000b410021190c020b2012201141e4cfc4800010f580808000000b4101211920052802b809450d0020052802bc0941002802a8bfd38000118080808000000b024020052802b0044129490d0020052802880441002802a8bfd38000118080808000000b02402005280284042213450d0020052802800421172013410171210b41002112024020134101460d00201741cc036a21112013417e71211341002112034002402011418c7e6a280200450d00201141907e6a28020041002802a8bfd38000118080808000000b02402011417c6a280200450d00201128020041002802a8bfd38000118080808000000b201141e0036a21112013201241026a2212470d000b0b200b450d002017201241f0016c6a22112802d801450d00201141d8016a28020441002802a8bfd38000118080808000000b024020052802fc03450d0020052802800441002802a8bfd38000118080808000000b20190d09200541d80b6a41186a200541d0016a41186a2802002211360200200d200541d0016a41106a290300221a370300200541d80b6a41086a200541d0016a41086a290300221b370300200520052903d001221c3703d80b2016201c370000201641086a201b370000201641106a201a370000201641186a20113600002005200236008d01200541013a008c0141002113200541b0016a2111201021020b200c2011290000370000200c41186a201141186a290000370000200c41106a201141106a290000370000200c41086a201141086a29000037000041012112200c2018412010ed968080000d0a41002112200541003a008c010c0a0b2011200241bca3cd800010aa81808000000b2011201341cca3cd800010aa81808000000b2011201341dca3cd800010f580808000000b2011201341bca3cd800010aa81808000000b2011201241cca3cd800010aa81808000000b2011201241dca3cd800010f580808000000b41f8a2cd80004122419ca3cd8000108b81808000000b41f8a2cd80004122419ca3cd8000108b81808000000b20002002360204200041053a0000201e450d07201d41002802a8bfd38000118080808000000c070b41002112410021040b201541206a22152008470d000b200445210c20134521110b0240201e450d00201d41002802a8bfd38000118080808000000b02402012450d002000200529008d01370001200041033a0000200041196a2005418c016a41196a290000370000200041116a2005418c016a41116a290000370000200041096a2005418c016a41096a2900003700000c040b02400240024020110d00200c4101710d010c020b20022003470d010b20002005290208370001200041063a0000200041196a200541206a290200370000200041116a200541186a290200370000200041096a200541106a2902003700000c040b200041023a00000c030b41002d00b8bfd380001a413041002802b0bfd38000118280808000002213450d012013420037020420134185808080783602002013410c6a4200370200201341146a42003702002013411c6a4200370200024020052802b0044129490d0020052802880441002802a8bfd38000118080808000000b024020052802d8012212450d0020052802d4012101201241017121154100210c024020124101460d00200141cc036a21112012417e7121124100210c034002402011418c7e6a280200450d00201141907e6a28020041002802a8bfd38000118080808000000b02402011417c6a280200450d00201128020041002802a8bfd38000118080808000000b201141e0036a21112012200c41026a220c470d000b0b2015450d002001200c41f0016c6a22112802d801450d00201141d8016a28020441002802a8bfd38000118080808000000b20052802d001450d0020052802d40141002802a8bfd38000118080808000000b20002013360204200041053a00000c010b4104413010b980808000000b200541b00d6a2480808080000bbb0e010d7f23808080800041a0026b220224808080800002400240024002400240024002400240024002402001280200417d6a2203410420034104491b417e6a0e03030001040b200141046a21030c010b200121030b200241206a200341c00110e9968080001a20012802e4012204410f4b0d012004410c6c210520012802dc01200441286c6a210320024180026a41086a210620012802e0012107200241e0016a41106a2108024002400240034002400240024002400240024002400240200241206a20056a22092802000e03010007010b200941086a280200220a450d02200941046a280200210b20024180026a41186a420037030020024180026a41106a4200370300200642003703002002420037038002200a41204b0d0120024180026a200b200a10e9968080001a200241e0016a41086a200641086a2902003703002008200641106a290200370300200220062902003703e0012002280284022109200228028002210c4101210b0c050b200941046a280200210b200941086a280200220a4120460d03410021030240200a4100480d000240200a0d00410121040c0a0b41002d00b8bfd380001a200a41002802b0bfd380001182808080000022040d09410121030b2003200a41e0fdc5800010ae80808000000b410021030240200a4100480d0041002d00b8bfd380001a200a41002802b0bfd380001182808080000022040d02410121030b2003200a41e0fdc5800010ae80808000000b200041003a0001200041003a00000c0d0b2004200b200a10e9968080001a0c060b200241f8016a41026a200b41026a2d00003a0000200241e0016a41086a200b41176a2900003703002008200b411f6a2d00003a00002002200b2f00003b01f8012002200b29000f3703e001200b28000b2109200b280007210c200b280003210a4100210b0b200241fc016a41026a220d200241f8016a41026a2d00003a0000200220022f01f8013b01fc0120024180026a41106a220e20082903003703002006200241e0016a41086a290300370300200220022903e00137038002200420074f0d022003200b3a0000200341016a20022f01fc013b00002003410c6a2009360200200341086a200c360200200341046a200a360200200341106a200229038002370200200341036a200d2d00003a0000200341186a2006290300370200200341206a200e2903003702000b2001200441016a22043602e4012005410c6a2105200341286a210320044110470d000c050b0b2004200741c8d0c4800010f580808000000b2004200b200a10e9968080001a0b41002d00b8bfd380001a0240413041002802b0bfd380001182808080000022030d004104413010b980808000000b200342003702102003200a36020c200320043602082003200a3602042003418880808078360200200341186a4200370200200341206a4200370200200341286a420037020020002003360204200041013a00000c050b20012802e4010d00200128020c21032001280208210402400240024002400240200128020422054101470d002003450d010c030b20054101710d02024020034120470d002002411c6a41026a200441026a2d00003a0000200241086a200441176a290000370300200241106a2004411f6a2d00003a0000200220042f00003b011c2002200429000f370300200428000b21052004280007210b20042800032103410021060c040b41002105024020034100480d00024020030d00410121050c030b41002d00b8bfd380001a200341002802b0bfd380001182808080000022050d02410121050b2005200341e0fdc5800010ae80808000000b200041003b01000c070b20052004200310e9968080001a0c040b200241386a22054200370300200241206a41106a220b4200370300200241206a41086a420037030020024200370320200341204b0d02200241206a2004200310e9968080001a200241086a200b290300370300200241106a200529030037030020022002290328370300200228022421052002280220210b410121060b20012802e001450d03200141013602e40120012802dc01220420063a0000200420022f011c3b00012004200536020c2004200b3602082004200336020420042002290300370210200441036a2002411e6a2d00003a0000200441186a200241086a290300370200200441206a200241106a2903003702000b20004180023b01000c030b410021050240024020034100480d0041002d00b8bfd380001a200341002802b0bfd380001182808080000022050d01410121050b2005200341e0fdc5800010ae80808000000b20052004200310e9968080001a0b41002d00b8bfd380001a413041002802b0bfd38000118280808000002204450d02200442003702102004200336020c2004200536020820042003360204200441888080807836020020002004360204200041013a0000200441186a4200370200200441206a4200370200200441286a42003702000c010b4100410041b8d0c4800010f580808000000b200241a0026a2480808080000f0b4104413010b980808000000b990701077f23808080800041106b2202248080808000024002400240024002400240024002402000280200417d6a2203410420034104491b0e050702020001070b20002802e40121030240024020012d002c4101710d00200141046a210020034104742104024002402001410441282001280228220541284b22031b6a28020022062005412820031b460d002000200141286a20031b21002001280200200120031b21030c010b200110ca9680800020012802042106200128020021030b200320066a20043a00002000200028020041016a3602000c010b200128020420012802282200200041284b22001b2206450d032001280200200120001b20066a417f6a220020002d00002003723a00000b2001200128022c41016a36022c0c060b20002802d4012204410176210320002802d001210620002802cc0121050240024020044101710d00410021070240200320064b0d0041002108200321040c020b2003200641e4a0cd800010a881808000000b200320064f0d0341012107200341016a2104200520036a2d0000410f7121080b200220083a0005200220073a00042002200620046b36020c2002200520046a3602082001200241046a10de9680800020002802e40121030240024020012d002c4101710d00200141046a210020034104742104024002402001410441282001280228220541284b22031b6a28020022062005412820031b460d002000200141286a20031b21002001280200200120031b21030c010b200110ca9680800020012802042106200128020021030b200320066a20043a00002000200028020041016a3602000c010b200128020420012802282200200041284b22001b2206450d042001280200200120001b20066a417f6a220020002d00002003723a00000b2001200128022c41016a36022c0c050b20002802182205410176210320002802142106200028021021040240024020054101710d00410021050240200320064b0d0041002107200321000c020b2003200641e4a0cd800010a881808000000b200320064f0d0441012105200341016a2100200420036a2d0000410f7121070b200220073a0005200220053a00042002200620006b36020c2002200420006a3602082001200241046a10de968080000c040b41aca2cd8000413a41e8a2cd8000108b81808000000b2003200641f4a0cd800010f580808000000b41aca2cd8000413a41e8a2cd8000108b81808000000b2003200641f4a0cd800010f580808000000b200241106a2480808080000b9f0901097f23808080800041c0006b22032480808080002001280200417d6a2204410420044104491b21040240024002400240024002400240024002400240024002400240024002400240024020020d004102210520040e050102060703010b4101210520040e050003050602000b41002d00b8bfd380001a410141002802b0bfd38000118280808000002202450d09200041013602082000200236020420004101360200200241003a00000c080b20012802182205410176210420012802142102200128021021060240024020054101710d00410021070240200420024b0d0041002108200421090c020b2004200241e4a0cd800010a881808000000b200420024f0d0a41012107200441016a2109200620046a2d0000410f7121080b200320083a0025200320073a0024200341003602202003200220096b36021c2003200620096a360218200341086a41086a200141046a220441086a28020036020020032004290200370308200241017420056b21020c020b20012802d4012206410176210920012802d001210420012802cc0121080240024020064101710d004100210a0240200920044b0d004100210b200921070c020b2009200441e4a0cd800010a881808000000b200920044f0d0a4101210a200941016a2107200820096a2d0000410f71210b0b2003200b3a00252003200a3a0024200341003602202003200420076b36021c2003200820076a360218200441017420066b210420012802dc01220920012802e00141286c6a21062002450d042003200536020820032002ad428080808080048437020c0c050b20012802182209410176210520012802142104200128021021070240024020094101710d00410021080240200520044b0d004100210a200521060c020b2005200441e4a0cd800010a881808000000b200520044f0d0a41012108200541016a2106200720056a2d0000410f71210a0b2003200a3a0025200320083a0024200341003602202003200420066b36021c2003200720066a36021820032002ad428080808080048437020c20034101360208200441017420096b21020b2000200341186a2002200341086a10f68b8080000c040b2001280218210220012802142104200341086a200141106a10d89680800020012802e001450d0820012802dc012d00004102460d092000200341086a200441017420026b200341186a10ef8b808000000b024002402002450d002003200536020820032002ad428080808080048437020c0c010b200341106a200141cc016a280200360200200320012902c4013703080b2000200341186a200341086a10ed8b808000000b200341086a41086a200141c0016a220241086a280200360200200320022902003703080b2000200341186a200420092006200341086a10f48b8080000b024020012802d801450d0020012802dc0141002802a8bfd38000118080808000000b200341c0006a2480808080000f0b4101410141a8ccc4800010ae80808000000b2004200241f4a0cd800010f580808000000b2009200441f4a0cd800010f580808000000b2005200441f4a0cd800010f580808000000b4100410041f4cfc4800010f580808000000b4184d0c48000412441a8d0c48000108b81808000000b8f0501047f23808080800041c0066b220224808080800041002d00b8bfd380001a0240024041800341002802b0bfd38000118280808000002203450d0020024190046a41086a2001280228220441086a29000037030020024190046a41106a200441106a29000037030020024190046a41186a200441186a2900003703002002200429000037039004200241203602b804200220043602b404200241003602b00420024188026a200120024190046a200241b0046a41c8d8c88000410110ab8d808000200228028c0221010240024020022802880222054107460d00200241086a20024188026a41086a41fd0110e9968080001a200241bc046a200241086a41dc0110e9968080001a20024198066a41206a20024184026a2d00003a000020024198066a41186a200241fc016a29020037030020024198066a41106a200241086a41ec016a29020037030020024198066a41086a200241ec016a290200370300200220022902e4013703980641002d00b8bfd380001a41ec0141002802b0bfd38000118280808000002204450d032004200136020c200420053602082004428180808010370200200441106a200241bc046a41dc0110e9968080001a200320043602082003410036020020004200370234200041013602082000200336020420004108360200200320022903980637000c200341146a20024198066a41086a2903003700002003411c6a20024198066a41106a290300370000200341246a200241b0066a2903003700002003412c6a200241b8066a2d00003a00000c010b200041808080807836020020002001360204200341002802a8bfd38000118080808000000b200241c0066a2480808080000f0b410441800341c0d3c4800010ae80808000000b410441ec0110b980808000000bb50401097f2380808080004180016b2204248080808000200441c4006a200110ca89808000200428024821050240024020042802442206418080808078460d00200441086a41386a2207200441c4006a41386a280200360200200441086a41306a2208200441c4006a41306a290200370200200441086a41286a2209200441c4006a41286a290200370200200441086a41206a220a200441c4006a41206a290200370200200441086a41186a220b200441c4006a41186a290200370200200441086a41106a220c200441c4006a41106a2902003702002004200429024c3702102004200536020c200420063602080240200441086a20012002200310cc8980800022010d0020002004290208370200200041386a2007280200360200200041306a2008290200370200200041286a2009290200370200200041206a200a290200370200200041186a200b290200370200200041106a200c290200370200200041086a200441086a41086a2902003702000c020b200041808080807836020020002001360204024020042802102201450d00200428020c41086a210003402000280200220520052802002205417f6a360200024020054101470d00200010e08a8080000b200041306a21002001417f6a22010d000b0b02402004280208450d00200428020c41002802a8bfd38000118080808000000b200428023c4129490d01200428021441002802a8bfd38000118080808000000c010b2000418080808078360200200020053602040b20044180016a2480808080000bd70402037f017e23808080800041c0006b2204248080808000200441086a2000200120022003410110cf898080000240024020042d00080d00024020042d00090d002000280208210241002101200041003602082002450d02200028020441086a210303402003280200220020002802002200417f6a360200024020004101470d00200310e08a8080000b200341306a21032002417f6a22020d000c030b0b4100210120002802082203450d0120002003417f6a220236020820002802042205200241306c6a22032802004105460d0120002802002106200441106a41286a200341286a290200370300200441106a41206a200341206a290200370300200441106a41186a200341186a290200370300200441106a41106a200341106a290200370300200441106a41086a200341086a2902003703002003290200210741002101200041003602082004200737031002402002450d00200541086a210303402003280200220120012802002201417f6a360200024020014101470d00200310e08a8080000b200341306a21032002417f6a22020d000b20002802002106200028020821010b024020012006470d002000419cd5c4800010f08a8080000b2000280204200141306c6a22032004290310370200200341286a200441106a41286a290300370200200341206a200441106a41206a290300370200200341186a200441106a41186a290300370200200341106a200441106a41106a290300370200200341086a200441106a41086a2903003702002000200141016a360208410021010c010b200428020c21010b200441c0006a24808080800020010bcb2901167f23808080800041d0026b22032480808080000240024020012802082204450d0020012802042205200441306c6a220641506a2207450d00200141106a2108200141346a21092001410c6a210a200341306a41086a210b200341306a41046a210c200341306a41e4016a220d41206a210e0340200641546a210f200641586a221028020022112802e801211220112802e4012113024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020072802000e05030001020f030b2011280208417d6a2204410420044104491b417e6a0e03040506030b200f2802002104411821052011280208417d6a2214410420144104491b417d6a0e020908020b2011280208417d6a2206410420064104491b0e052525090a0b250b2007410141032011280208417d6a2201410420014104491b417e6a4103491b3602002000201036020c2000200a3602042000410136020020002006415d6a41002006415c6a2d00001b3602080c320b41a8d2c4800041e6004190d3c4800010f480808000000b201128021c220420112802182205490d0a200420124b0d0b201320056a2115200420056b21052011280220221441017621040240024020144101710d00410021160240200420054b0d0041002117200421140c020b2004200541e4a0cd800010a881808000000b200420054f0d0d41012116200441016a2114201520046a2d0000410f7121170b200320173a0031200320163a00302003200520146b3602382003201520146a360234200a200341306a10de968080002006415c6a2d00004101710d02200341186a4200370300200341106a4200370300200341086a4200370300200342003703000c030b2001280234211102400240200128023822064101710d000240024020082009201141284b22041b220628020022122011412820041b460d00200a280200200a20041b21110c010b200a10ca9680800020082802002112200a2802002111200821060b201120126a41003a00002006200628020041016a360200200128023821060c010b20082802002011201141284b1b450d0d0b2001200641016a36023820102802002104410421110240024002400240024020072802000e050001023003000b2004280208417d6a2211410420114104491b417e6a41034f0d02410121110c030b410221112004280208417d6a2206410420064104491b417d6a41024f0d01410021060c2e0b200f2802002111024002402004280208417d6a2206410420064104491b417d6a0e020001020b2011410e4b0d010c2d0b2011410f490d2c0b410321110b0c2b0b20112802d801220620112802d4012204490d0c200620124b0d0d201320046a2112200620046b210620112802dc01220441017621110240024020044101710d00410021130240201120064b0d0041002105201121040c020b2011200641e4a0cd800010a881808000000b201120064f0d0f41012113201141016a2104201220116a2d0000410f7121050b200320053a0031200320133a00302003200620046b3602382003201220046a360234200a200341306a10de968080002001280234211102400240200128023822064101710d000240024020082009201141284b22041b220628020022122011412820041b460d00200a280200200a20041b21110c010b200a10ca9680800020082802002112200a2802002111200821060b201120126a41003a00002006200628020041016a360200200128023821060c010b20082802002011201141284b1b450d100b2001200641016a36023820102802002104410421110240024002400240024020072802000e050001022d03000b2004280208417d6a2211410420114104491b417e6a41034f0d02410121110c030b410221112004280208417d6a2206410420064104491b417d6a41024f0d01410021060c2b0b200f2802002111024002402004280208417d6a2206410420064104491b417d6a0e020001020b2011410e4b0d010c2a0b2011410f490d290b410321110b0c280b200341186a2006415d6a220641186a290000370300200341106a200641106a290000370300200341086a200641086a290000370300200320062900003703000b2011280214210620112802102104024002400240024002400240201128020c0d000240024020062004490d00200620124b0d01410021110c030b2004200641b89ccd800010ac81808000000b2006201241b89ccd800010aa81808000000b20062004490d01200620124b0d02410121110b200320113602b8022003200620046b3602c0022003201320046a3602bc0220012802382206410176211120064101710d02200828020020092802002206200641284b22061b22042011490d12200a280200200a20061b2106410021040c030b2004200641c89ccd800010ac81808000000b2006201241c89ccd800010aa81808000000b200828020020092802002206200641284b22041b22062011490d10200620114d0d112003200a280200200a20041b220620116a2d000041f001713a00cd02410121040b200320043a00cc02200320113602c802200320063602c402200341306a20022003200341b8026a200341c4026a410110ab8d808000024020032802304107460d0041002d00b8bfd380001a41ec0141002802b0bfd38000118280808000002206450d122006428180808010370200200641086a200341306a41e40110e9968080001a0240200128020822072001280200470d00200141acd5c4800010f08a8080000b2001280204200741306c6a22112006360208201141003602002011200d29020037020c201141146a200d41086a2902003702002011411c6a200d41106a290200370200201141246a200d41186a2902003702002011412c6a200e2d00003a00002001200741016a3602080c2a0b20102802002104410421012003280234210602400240024020072802000e050002012725000b2004280208417d6a2201410420014104491b417e6a41034f0d24410121010c260b200f2802002101024002402004280208417d6a2211410420114104491b417d6a0e020001250b2001410e4b0d240c250b2001410f490d240c230b41022101410021112004280208417d6a2204410420044104491b417d6a41024f0d220c240b411421050b2004410f4b0d10201120056a2004410c6c6a22112802004102460d1302400240024020012802382214450d0020082009200928020041284b22051b2802002216450d14200a280200211520014110413420051b6a2016417f6a22163602002015200a20051b20166a2d0000211620012014417f6a220536023802402005410171450d00201641f00171211702400240200820092009280200221841284b22141b220528020022162018412820141b460d002015200a20141b21140c010b200a10ca9680800020082802002116200a2802002114200821050b201420166a20173a00002005200528020041016a360200200128023821050b20054101710d010b2004410474211502400240200820092009280200221641284b22051b220428020022142016412820051b460d00200a280200200a20051b21050c010b200a10ca9680800020082802002114200a2802002105200821040b200520146a20153a00002004200428020041016a3602000c010b200828020020092802002205200541284b22051b2214450d13200a280200200a20051b20146a417f6a220520052d00002004723a00000b20012001280238220541016a2214360238024002402006415c6a2d00004101710d00200341186a4200370300200341106a4200370300200341086a4200370300200342003703000c010b200341186a2006415d6a220641186a290000370300200341106a200641106a290000370300200341086a200641086a290000370300200320062900003703000b201128020821062011280204210402400240024002400240024020112802000d000240024020062004490d00200620124b0d01410021110c030b2004200641b89ccd800010ac81808000000b2006201241b89ccd800010aa81808000000b20062004490d01200620124b0d02410121110b200320113602b8022003200620046b3602c0022003201320046a3602bc02201441017621112005410171450d02200828020020092802002206200641284b22061b22042011490d18200a280200200a20061b2106410021040c030b2004200641c89ccd800010ac81808000000b2006201241c89ccd800010aa81808000000b200828020020092802002206200641284b22041b22062011490d16200620114d0d172003200a280200200a20041b220620116a2d000041f001713a00cd02410121040b200320043a00cc02200320113602c802200320063602c402200341306a20022003200341b8026a200341c4026a410110ab8d808000024020032802304107460d0041002d00b8bfd380001a41ec0141002802b0bfd38000118280808000002206450d182006428180808010370200200641086a200341306a41e40110e9968080001a0240200128020822072001280200470d00200141acd5c4800010f08a8080000b2001280204200741306c6a22112006360208201141003602002011200d29020037020c201141146a200d41086a2902003702002011411c6a200d41106a290200370200201141246a200d41186a2902003702002011412c6a200e2d00003a00002001200741016a3602080c280b20102802002104410421012003280234210602400240024020072802000e050002012220000b2004280208417d6a2201410420014104491b417e6a41034f0d1f410121010c210b200f2802002101024002402004280208417d6a2211410420114104491b417d6a0e020001200b2001410e4b0d1f0c200b2001410f490d1f0c1e0b41022101410021112004280208417d6a2204410420044104491b417d6a41024f0d1d0c1f0b200a201128021c20112802186b41017420112802206b10dc968080000c1b0b20012802382206450d1a20082009200928020041284b22111b2802002204450d16200a280200210720014110413420111b6a2004417f6a22043602002007200a20111b20046a2d0000210420012006417f6a22113602382011410171450d1a200441f00171210f02400240200820092009280200221241284b22061b221128020022042012412820061b460d002007200a20061b21060c010b200a10ca9680800020082802002104200a2802002106200821110b200620046a200f3a00002011201128020041016a3602000c1a0b200a20112802d80120112802d4016b41017420112802dc016b41016a10dc968080000c190b20012004417f6a2211360208200341086a22062005201141306c6a2211410c6a290200370300200341106a2207201141146a290200370300200341186a22042011411c6a290200370300200341206a220f201141246a290200370300200341286a22122011412c6a28020036020020032011290204370300201128020022114105460d17200c2003290300370200200c41286a2012280200360200200c41206a200f290300370200200c41186a2004290300370200200c41106a2007290300370200200c41086a2006290300370200200320113602302003280238221120112802002211417f6a360200024020114101470d00200b10e08a8080000b024020012802082211450d002001280204201141306c6a221141506a2206450d00201141586a280200210f201141546a2104410421110240024002400240024020062802000e050001021c03000b200f280208417d6a2211410420114104491b417e6a41034f0d02410121110c030b41022111200f280208417d6a2207410420074104491b417d6a41024f0d01410021070c1a0b2004280200211102400240200f280208417d6a2207410420074104491b417d6a0e020001020b2011410e4b0d010c190b2011410f490d180b410321110b0c170b200041003602000c260b2005200441d89ccd800010ac81808000000b2004201241d89ccd800010aa81808000000b2004200541f4a0cd800010f580808000000b41aca2cd8000413a41e8a2cd8000108b81808000000b2004200641d89ccd800010ac81808000000b2006201241d89ccd800010aa81808000000b2011200641f4a0cd800010f580808000000b41aca2cd8000413a41e8a2cd8000108b81808000000b2011200441bca3cd800010aa81808000000b2011200641cca3cd800010aa81808000000b2011200641dca3cd800010f580808000000b410441ec0110b980808000000b200441104198d2c4800010f580808000000b41f8a2cd80004122419ca3cd8000108b81808000000b41aca2cd8000413a41e8a2cd8000108b81808000000b2007410341022004410f461b360200200f200441016a3602000c130b2011200441bca3cd800010aa81808000000b2011200641cca3cd800010aa81808000000b2011200641dca3cd800010f580808000000b410441ec0110b980808000000b41f8a2cd80004122419ca3cd8000108b81808000000b201141016a2107410221110b20042007360200200620113602000c0c0b41c8d1c4800041cd0041a0d3c48000108b81808000000b02400240024020012802082211450d002001280204201141306c6a221141506a2206450d00201141586a280200210f201141546a2104410421110240024002400240024020062802000e050001020703000b200f280208417d6a2211410420114104491b417e6a41034f0d02410121110c030b41022111200f280208417d6a2207410420074104491b417d6a41024f0d01410021070c050b2004280200211102400240200f280208417d6a2207410420074104491b417d6a0e020001020b2011410e4b0d010c040b2011410f490d030b410321110b0c020b200041003602000c0f0b201141016a2107410221110b20042007360200200620113602000c0a0b410321010c010b200141016a2111410221010b200720013602002000200636020820004201370200200f20113602000c0a0b410321010c010b200141016a2111410221010b200720013602002000200636020820004201370200200f20113602000c070b201141016a2106410221110b20072011360200200f20063602000c020b201141016a2106410221110b20072011360200200f20063602000b20012802082204450d0120012802042205200441306c6a220641506a22070d000b0b200041003602000b200341d0026a2480808080000bde0a01047f2380808080004180016b2206248080808000200641c4006a200110ca898080002006280248210702400240024020062802442208418080808078460d00200641086a41386a200641c4006a41386a280200360200200641086a41306a200641c4006a41306a290200370200200641086a41286a200641c4006a41286a290200370200200641086a41206a200641c4006a41206a290200370200200641086a41186a200641c4006a41186a290200370200200641086a41106a200641c4006a41106a2902003702002006200629024c3702102006200736020c200620083602080240024020030d00200641c4006a200641086a200120042005410110cf8980800020062d0044450d03200628024821010c010b02402005450d002004200220052003200520034922091b10ed968080002208200520036b20081b4101480d000240024020090d0020022004200310ed96808000450d010b20062802102103200641003602102003450d04200741086a210103402001280200220520052802002205417f6a360200024020054101470d00200110e08a8080000b200141306a21012003417f6a22030d000c050b0b200641c4006a200641086a200120022003410110cf89808000024020062d0044450d00200628024821010c020b024020062d00454101710d0020062802102103200641003602102003450d04200628020c41086a210103402001280200220520052802002205417f6a360200024020054101470d00200110e08a8080000b200141306a21012003417f6a22030d000c050b0b200641c4006a200641086a200120042005410110cf89808000024020062d0044450d00200628024821010c020b200628020c220941086a2105200341017421044100210720062802102108410021010340024020082001470d00200641003602102008450d05200941086a210103402001280200220320032802002203417f6a360200024020034101470d00200110e08a8080000b200141306a21012008417f6a22080d000c060b0b0240024002400240024020052802002203280208417d6a2202410420024104491b0e050400010203040b200720032802206b200328021c20032802186b4101746a21070c030b200720032802206b200328021c20032802186b4101746a21070c020b200741016a21070c010b200720032802dc016b20032802d80120032802d4016b4101746a41016a21070b200141016a2101200541306a2105200720044d0d000b200641c4006a200641086a2001417f6a10c589808000200641086a10db8b80800002402006280208450d00200628020c41002802a8bfd38000118080808000000b200641086a41086a200641c4006a41086a280200360200200620062902443703080c030b200641086a20012002200310cc898080002201450d020b200041808080807836020020002001360204024020062802102200450d00200628020c41086a210103402001280200220320032802002203417f6a360200024020034101470d00200110e08a8080000b200141306a21012000417f6a22000d000b0b02402006280208450d00200628020c41002802a8bfd38000118080808000000b200628023c4129490d02200628021441002802a8bfd38000118080808000000c020b2000418080808078360200200020073602040c010b20002006290308370200200041386a200641086a41386a280200360200200041306a200641086a41306a290300370200200041286a200641086a41286a290300370200200041206a200641086a41206a290300370200200041186a200641086a41186a290300370200200041106a200641086a41106a290300370200200041086a200641086a41086a2903003702000b20064180016a2480808080000bba2501187f23808080800041e0066b2206248080808000200128020821072001410036020802402007450d00200128020441086a210803402008280200220920092802002209417f6a360200024020094101470d00200810e08a8080000b200841306a21082007417f6a22070d000b0b200141346a210a200141106a210b0240200141104134200128023441284b22081b6a280200450d00200b200a20081b41003602000b20014100360238200641e0046a41186a4200370300200641e0046a41106a4200370300200641e0046a41086a4200370300200642003703e004200641203602c806200641003602c006200620022802283602c406200641a0026a2002200641e0046a200641c0066a41c8d8c88000410110ab8d80800020062802a40221080240024020062802a002220c4107460d002006410c6a200641a0026a41086a220d41dc0110e9968080001a200641e8016a41086a2006418d046a290000370300200641e8016a41106a220e20064195046a290000370300200641e8016a41186a2006419d046a29000037030020062006290085043703e80120062d008404210f20064100360290022006200436028c02200620033602880241002d00b8bfd380001a0240024002400240024002400240024041ec0141002802b0bfd38000118280808000002207450d002001410c6a211020064185046a210920044101742111200641e8016a41086a2112200641e8016a41186a2113410021144100211503402007200836020c2007200c3602082007428180808010370200200741106a2006410c6a41dc0110e9968080001a02402001280208220c2001280200470d00200141acd5c4800010f08a8080000b2001280204200c41306c22166a2208200f3a000c2008200736020820084100360200200820062903e80137000d200841156a20122903003700002008411d6a200e290300370000200841256a20132903003700002001200c41016a2208360208024002402008450d00201620012802046a22070d010b41d0d3c4800041c7004198d4c48000108b81808000000b200741306a221741586a28020022082802e801210c20082802e4012116024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002402008280208417d6a2218410420184104491b0e050300010b02030b200828021c220120082802182209490d0e2001200c4b0d0f200620082802203602a8022006200120096b3602a4022006201620096a3602a002200641a0026a20064188026a10db9680800021082005450d03200841ff017141ff01470d040c320b200828021c221720082802182219490d0f2017200c4b0d1020062008280220221836029c022006201720196b2217360298022006201620196a221a3602940220064188026a20064194026a10d7968080002219201741017420186b460d0420064194026a20064188026a10db9680800021082005450d05200841ff017141ff01470d060c2f0b20082802d801221920082802d401221a490d102019200c4b0d11200620082802dc01221836029c0220062019201a6b22193602980220062016201a6a221b3602940220064188026a20064194026a10d796808000221a201941017420186b460d0b20064194026a20064188026a10db9680800021082005450d09200841ff017141ff01470d0a0c2c0b20044101742015460d2a20074103360200200041003b01000c320b200841ff01714101460d2e0b2000200641a0026a20064188026a10d796808000200441017420156b463a00010c2e0b200741013602002006201520196a221536029002201841017621070240024020184101710d004100211c0240200720174b0d004100211b200721180c020b2007201741e4a0cd800010a881808000000b200720174f0d0f4101211c200741016a2118201a20076a2d0000410f71211b0b2006201b3a00a1022006201c3a00a0022006201720186b3602a8022006201a20186a3602a4022010200641a0026a10de96808000200f4101710d02200641a8046a41186a4200370300200641a8046a41106a4200370300200641a8046a41086a4200370300200642003703a8040c030b200841ff01714101460d290b200020064194026a20064188026a10d796808000200441017420156b463a00010c290b200641a8046a41186a2013290300370300200641a8046a41106a200e290300370300200641a8046a41086a2012290300370300200620062903e8013703a8040b200828021421072008280210210f024002400240024002400240200828020c0d00024002402007200f490d002007200c4b0d01410021080c030b200f200741b89ccd800010ac81808000000b2007200c41b89ccd800010aa81808000000b2007200f490d012007200c4b0d02410121080b200620083602c80420062007200f6b3602d00420062016200f6a3602cc04201920146a2214410176210820144101710d02200820044b0d0f200641003a00dc04200620083602d804200620033602d4040c030b200f200741c89ccd800010ac81808000000b2007200c41c89ccd800010aa81808000000b200820044b0d0d200820044f0d0e200641013a00dc04200620033602d404200620083602d8042006200320086a2d000041f001713a00dd040b200641a0026a2002200641a8046a200641c8046a200641d4046a410110ab8d80800020062802a402210820062802a002220c4107460d0e200641e0046a200d41dc0110e9968080001a200641c0066a41086a200941086a290000370300200641c0066a41106a200941106a290000370300200641c0066a41186a200941186a290000370300200620092900003703c0060c1f0b20112015460d1d2015410176221820044f0d0f200320186a2d0000211820074102360200201741546a2018410f71201841047620154101711b22073602000240024020012d00384101710d002007410474211a02400240200b200a200a280200221c41284b22171b22182802002219201c412820171b460d002010280200201020171b21170c010b201010ca96808000200b280200211920102802002117200b21180b201720196a201a3a00002018201828020041016a3602000c010b200b280200200a2802002218201841284b22181b2217450d0f2010280200201020181b20176a417f6a221820182d00002007723a00000b2001200128023841016a36023820082007410c6c6a41186a220728020022184102460d102006201541016a22153602900202400240200f4101710d00200641a8046a41186a4200370300200641a8046a41106a4200370300200641a8046a41086a4200370300200642003703a8040c010b200641a8046a41186a2013290300370300200641a8046a41106a200e290300370300200641a8046a41086a2012290300370300200620062903e8013703a8040b200728020821082007280204210702400240024002400240024020184101710d000240024020082007490d002008200c4b0d014100210c0c030b2007200841b89ccd800010ac81808000000b2008200c41b89ccd800010aa81808000000b20082007490d012008200c4b0d024101210c0b2006200c3602c8042006200820076b3602d0042006201620076a3602cc04201441016a220741017621082014410171450d02200820044b0d15200641003a00dc04200620083602d804200620033602d4040c030b2007200841c89ccd800010ac81808000000b2008200c41c89ccd800010aa81808000000b200820044b0d13200820044f0d14200641013a00dc04200620033602d404200620083602d8042006200320086a2d000041f001713a00dd040b200641a0026a2002200641a8046a200641c8046a200641d4046a410110ab8d80800020062802a4022108024020062802a002220c4107460d00200641e0046a200d41dc0110e9968080001a200641c0066a41086a200941086a290000370300200641c0066a41106a200941106a290000370300200641c0066a41186a200941186a290000370300200620092900003703c00620062d008404210f200721140c200b200041013a0000200020083602040c2a0b200841ff01714101460d220b200020064194026a20064188026a10d796808000200441017420156b463a00010c220b20112015201a6a2215460d192015410176221c20044f0d132003201c6a2d0000211c20074102360200201741546a201c410f71201c41047620154101711b2217360200201841017621070240024020184101710d004100211c0240200720194b0d004100211d200721180c020b2007201941e4a0cd800010a881808000000b200720194f0d124101211c200741016a2118201b20076a2d0000410f71211d0b2006201d3a00a1022006201c3a00a0022006201920186b3602a8022006201b20186a3602a4022010200641a0026a10de968080000240024020012d00384101710d002017410474211c02400240200b200a200a280200221b41284b22181b22072802002219201b412820181b460d002010280200201020181b21180c010b201010ca96808000200b280200211920102802002118200b21070b201820196a201c3a00002007200728020041016a3602000c010b200b280200200a2802002207200741284b22071b2218450d132010280200201020071b20186a417f6a220720072d00002017723a00000b2001200128023841016a36023820082017410c6c6a41146a220728020022184102460d142006201541016a22153602900202400240200f4101710d00200641a8046a41186a4200370300200641a8046a41106a4200370300200641a8046a41086a4200370300200642003703a8040c010b200641a8046a41186a2013290300370300200641a8046a41106a200e290300370300200641a8046a41086a2012290300370300200620062903e8013703a8040b200728020821082007280204210702400240024002400240024020184101710d000240024020082007490d002008200c4b0d014100210c0c030b2007200841b89ccd800010ac81808000000b2008200c41b89ccd800010aa81808000000b20082007490d012008200c4b0d024101210c0b2006200c3602c8042006200820076b3602d0042006201620076a3602cc042014201a6a41016a2214410176210820144101710d02200820044b0d19200641003a00dc04200620083602d804200620033602d4040c030b2007200841c89ccd800010ac81808000000b2008200c41c89ccd800010aa81808000000b200820044b0d17200820044f0d18200641013a00dc04200620033602d404200620083602d8042006200320086a2d000041f001713a00dd040b200641a0026a2002200641a8046a200641c8046a200641d4046a410110ab8d80800020062802a4022108024020062802a002220c4107460d00200641e0046a200d41dc0110e9968080001a200641c0066a41086a200941086a290000370300200641c0066a41106a200941106a290000370300200641c0066a41186a200941186a290000370300200620092900003703c0060c1c0b20002008360204410121080c180b2009200141d89ccd800010ac81808000000b2001200c41d89ccd800010aa81808000000b2019201741d89ccd800010ac81808000000b2017200c41d89ccd800010aa81808000000b201a201941d89ccd800010ac81808000000b2019200c41d89ccd800010aa81808000000b2007201741f4a0cd800010f580808000000b200820044184a1cd800010aa81808000000b200820044194a1cd800010aa81808000000b2008200441a4a1cd800010f580808000000b200041013a0000200020083602040c1c0b41aca2cd8000413a41e8a2cd8000108b81808000000b20182004418cd5c4800010f580808000000b200041003b01000c190b200820044184a1cd800010aa81808000000b200820044194a1cd800010aa81808000000b2008200441a4a1cd800010f580808000000b2007201941f4a0cd800010f580808000000b41aca2cd8000413a41e8a2cd8000108b81808000000b201c2004418cd5c4800010f580808000000b41002108200041003a00010c030b200820044184a1cd800010aa81808000000b200820044194a1cd800010aa81808000000b2008200441a4a1cd800010f580808000000b200020083a00000c0e0b200041013a00010c070b20004180023b01000c0c0b20062d008404210f0b2006410c6a200641e0046a41dc0110e9968080001a2013200641c0066a41186a290300370300200e200641c0066a41106a2903003703002012200641c0066a41086a290300370300200620062903c0063703e80141002d00b8bfd380001a41ec0141002802b0bfd380001182808080000022070d000b0b410441ec0110b980808000000b20004180023b01000c070b200041003a0001200741043602000b200041003a00000c050b200041003a0001200741043602000b200041003a00000c030b200041003a0001200741043602000b200041003a00000c010b200041013a0000200020083602040b200641e0066a2480808080000bb20902077f017e23808080800041a0026b22022480808080000240024002400240024002400240024002400240024002400240024020012802002203450d00200128020821042003280200210520032802042106200328022821012002413c6a41286a220741003602002002413c6a20052003200141284b22081b220520052006200120081b6a10fd8e808000200241086a41286a2007280200360200200241086a41206a2002413c6a41206a290200370300200241086a41186a2002413c6a41186a290200370300200241086a41106a2002413c6a41106a290200370300200241086a41086a2002413c6a41086a2902003703002002200229023c3703082002200328022c3602342002413c6a2004280200220341086a20032802e40120032802e80110d396808000200228023c417d6a2203410420034104491b417f6a0e0401040302040b20004102360210200020012802043602000c080b200228025422054101762103200229024421092002280240210120022802502104200228024c21060240024020054101710d00410021070240200320044b0d0041002108200321050c020b2003200441e4a0cd800010a881808000000b200320044f0d0441012107200341016a2105200620036a2d0000410f7121080b200220083a009502200220073a0094022002200420056b36029c022002200620056a36029802200241086a20024194026a10de968080000c060b20022802900222054101762103200229028002210920022802fc012101200228028c02210420022802880221060240024020054101710d00410021070240200320044b0d0041002108200321050c020b2003200441e4a0cd800010a881808000000b200320044f0d0441012107200341016a2105200620036a2d0000410f7121080b200220083a009502200220073a0094022002200420056b36029c022002200620056a36029802200241086a20024194026a10de9680800020014102460d010c050b20022802800222014102470d030b2000410336021020022802304129490d04200228020841002802a8bfd38000118080808000000c040b2003200441f4a0cd800010f580808000000b2003200441f4a0cd800010f580808000000b20022902840221090b2002280234220441017621030240024020044101710d00200228020c20022802302205200541284b22051b22062003490d032002280208200241086a20051b2105410021060c010b200228020c20022802302205200541284b1b22062003490d03200620034d0d042002280208200241086a200541284b1b220520036a2d00004170712107410121060b02400240200441024f0d0041012104410021080c010b41002d00b8bfd380001a200341002802b0bfd38000118280808000002204450d05200321080b20042005200310e99680800021042000200937021420002001360210200020073a000d200020063a000c20002003360208200020043602042000200836020020022802304129490d00200228020841002802a8bfd38000118080808000000b200241a0026a2480808080000f0b2003200641bca3cd800010aa81808000000b2003200641cca3cd800010aa81808000000b2003200641dca3cd800010f580808000000b4101200341a8ccc4800010ae80808000000bfe0301037f23808080800041c0006b2203248080808000200341046a2001200210cd8980800002400240024002400240200328020422044101470d00200341086a21050340200341146a200510d0898080000240200328022422044103460d0020044102460d05200341306a41086a2202200341146a41086a2802003602002003200329021437033020032d0020450d0320032d0021210141002d00b8bfd380001a413041002802b0bfd38000118280808000002202450d04200241868080807836020020022003290330370204200220013a00102000200236020420004180808080783602002002410c6a200341386a2802003602000c060b200341046a2001200210cd89808000200328020422040d000b0b02402004450d0020032802080d000240024002400240200328020c220228020041fcffffff076a2201410320014105491b0e0403030102000b2002280204450d02200228020841002802a8bfd38000118080808000000c020b2002280204450d01200228020841002802a8bfd38000118080808000000c010b200210c3898080000b200241002802a8bfd38000118080808000000b20004181808080783602000c030b20002003290330370200200041086a20022802003602000c020b4104413010b980808000000b2000200328021436020420004180808080783602000b200341c0006a2480808080000bd40601067f23808080800041d0006b2203248080808000200341086a2001200210cd8980800002400240024002400240200328020822044101470d002003410c6a21050340200341306a200510d0898080000240200328024022044103460d0020044102460d0320032802382106200328023421012003280230210720032d003c450d0520032d003d210441002d00b8bfd380001a413041002802b0bfd38000118280808000002202450d04200220043a00102002200636020c200220013602082002200736020420024186808080783602002000200236020420004180808080783602000c060b200341086a2001200210cd89808000200328020822040d000b0b02402004450d00200328020c0d0002400240024002402003280210220228020041fcffffff076a2201410320014105491b0e0403030102000b2002280204450d02200228020841002802a8bfd38000118080808000000c020b2002280204450d01200228020841002802a8bfd38000118080808000000c010b200210c3898080000b200241002802a8bfd38000118080808000000b20004181808080783602000c030b2000200328023036020420004180808080783602000c020b4104413010b980808000000b2003280248210520032802442108024002402004450d00200341003a002c2003200636022820032001360224024020054120470d00200341306a41186a200841186a290000370300200341306a41106a200841106a290000370300200341306a41086a200841086a29000037030020032008290000370330200341186a2002200341306a200341246a10aa8d808000200328021c2102024020032802182204418080808078460d00200328022021050c030b2000200236020420004180808080783602002007450d03200141002802a8bfd38000118080808000000c030b4120200541b8d1c48000108681808000000b410021020240024020054100480d00024020050d00410121020c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022020d01410121020b2002200541a8ccc4800010ae80808000000b20022008200510e9968080001a200521040b20002005360214200020023602102000200436020c2000200636020820002001360204200020073602000b200341d0006a2480808080000bbe0202067f017e23808080800041206b22022480808080000240024002400240024002400240200128020022032802082204280208220520042802102206460d00200641016a2207450d05200720054b0d0620042802042105200420073602102003427f200329030042017c22082008501b370300200520066a2d00000e020203010b20004181808080783602000c030b20004181808080783602000c020b20004180808080783602000c010b200241086a200110c283808000024020022802080d00200228020c220441c0004b0d00200241146a2001200410e68280800020022802142204418080808078460d0020002002290218370204200020043602000c010b20004181808080783602000b200241206a2480808080000f0b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000bdc0202057f027e23808080800041106b220224808080800002400240024002400240200128020022032802082201280204200128020c22044b0d00024020012802082201280208220520012802102204470d00410121010c030b200441016a2206450d03200620054b0d042001280204210520012006360210200520046a2d000021050c010b2001200441016a36020c200128020020046a2d000021050b2003427f200329030042017c22072007501b370300410021010b410221040240024020014101710d0002400240200541ff01710e020100030b2002410036020c20032802082002410c6a410410bc838080000d012003427f2003290300220742047c220820082007541b370300200228020c2101410121040c020b410021040b0b2000200136020420002004360200200241106a2480808080000f0b417f200641a8c8ca800010ac81808000000b2006200541a8c8ca800010aa81808000000b900302067f017e23808080800041206b220224808080800002400240024002400240200128020022032802082204280204200428020c22054b0d00024020042802082204280208220620042802102205470d00410121040c030b200541016a2207450d03200720064b0d042004280204210620042007360210200620056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2003427f200329030042017c22082008501b370300410021040b0240024002400240024020044101710d00200541ff01710e020203010b20004181808080783602000c030b20004181808080783602000c020b20004180808080783602000c010b200241086a200110c183808000024020022802080d00200228020c220441c0004b0d00200241146a2001200410f38280800020022802142204418080808078460d0020002002290218370204200020043602000c010b20004181808080783602000b200241206a2480808080000f0b417f200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000bbc0202057f027e41022102024002400240024002400240200128020022032802082201280208220420012802102205470d000c010b200541016a2206450d01200620044b0d0220012802042104200120063602102003427f200329030042017c22072007501b37030002400240200420056a2d00000e020001020b410021020c010b200328020822052802082206200528021022046b4104490d00200441046a21012004417b4b0d03200120064b0d0420052802042102200520013602102003427f2003290300220742047c220820082007541b370300200220046a2800002101410121020b20002001360204200020023602000f0b417f200641a8c8ca800010ac81808000000b2006200441a8c8ca800010aa81808000000b2004200141a8c8ca800010ac81808000000b2001200641a8c8ca800010aa81808000000bfc0201067f024020002d00000d000240200128020020012802082202470d0020012002410110fc90808000200128020821020b2001200241016a360208200128020420026a41003a00000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b2001280204220320026a41013a00002001200241016a220436020841002d00b8bfd380001a0240412041002802b0bfd38000118280808000002202450d002002200041016a2200290000370000200241186a2205200041186a290000370000200241106a2206200041106a290000370000200241086a2207200041086a2900003700000240200128020020046b411f4b0d0020012004412010fc9080800020012802042103200128020821040b200320046a22002002290000370000200041186a2005290000370000200041106a2006290000370000200041086a20072900003700002001200441206a360208200241002802a8bfd38000118080808000000f0b4101412010b980808000000bd60101047f024020002802000d000240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41003a00000f0b02402001280200220220012802082203470d0020012003410110fc9080800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41013a0000200028020421000240200220046b41034b0d0020012004410410fc9080800020012802042105200128020821040b2001200441046a360208200520046a20003600000b9e0201037f23808080800041106b2202248080808000024002402000280200418080808078470d000240200128020020012802082200470d0020012000410110fc90808000200128020821000b200128020420006a41003a0000200041016a21000c010b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41013a0000200028020421042002200028020822003602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822036b20004f0d0020012003200010fc90808000200128020821030b200128020420036a2004200010e9968080001a200320006a21000b20012000360208200241106a2480808080000b8b0201047f024020002d00000d000240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41003a00000f0b02402001280200220220012802082203470d0020012003410110fc9080800020012802002102200128020821030b200041016a21002001200341016a22043602082001280204220520036a41013a00000240200220046b411f4b0d0020012004412010fc9080800020012802042105200128020821040b200520046a220320002900003700002001200441206a360208200341186a200041186a290000370000200341106a200041106a290000370000200341086a200041086a2900003700000bf80202027f017e23808080800041d0006b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd3800002402001450d002002410136020c200241b8dac48000360208200242003702142002200241cc006a360210200241086a4180dbc4800010f280808000000b200241386a41002902d4d9c48000370300200241306a41002902ccd9c48000370300200241286a41002902c4d9c48000370300200241206a41002902bcd9c48000370300200241186a41002902b4d9c48000370300200241106a41002902acd9c48000370300200241002902a4d9c48000370308200241c0006a200241086a10a68480800020022902442104200241d0006a24808080800020040bd60201027f2380808080004190026b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd380002000410120011b2100024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380002002200136020420022000360200200241086a200210ad8b80800002402002280208418080808078460d0020024184016a200241086a41fc0010e9968080001a20024184016a10dc8680800020024190026a24808080800042010f0b2002410136028801200241bcdbc48000360284012002420137029001200241d782808000ad4220862002418f026aad8437038002200220024180026a36028c0120024184016a4180dbc4800010f280808000000b9d0401037f2380808080004180026b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd380002000410120011b2100024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380002002200136020c2002200036020820024180016a200241086a10ee8380800002400240200228028001418080808078460d00200241106a20024180016a41f00010e9968080001a200241106a10dd868080002104024020022802182201450d00200228021421030340024020032d0000220041034b0d002003200041027441ece9c480006a2802006a2200280200450d00200041046a28020041002802a8bfd38000118080808000000b200341146a21032001417f6a22010d000b0b02402002280210450d00200228021441002802a8bfd38000118080808000000b41002d00b8bfd380001a410141002802b0bfd38000118280808000002203450d01200320043a000020024180026a2480808080002003ad428080808010840f0b20024101360214200241f4dbc480003602102002420137021c200241d782808000ad422086200241ff016aad843703f0012002200241f0016a360218200241106a4180dbc4800010f280808000000b4101410110b980808000000b9a0301027f23808080800041306b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380000240024020014120490d0020014178714120460d00200241086a41086a200041086a290000370300200241086a41106a200041106a290000370300200241086a41186a200041186a29000037030020022000290000370308200241086a200029002010e88c808000210041002d00b8bfd380001a410141002802b0bfd38000118280808000002203450d01200320003a0000200241306a2480808080002003ad428080808010840f0b2002410136020c200241a8dcc4800036020820024201370214200241d782808000ad4220862002412f6aad8437030020022002360210200241086a4180dbc4800010f280808000000b4101410110b980808000000ba60201027f23808080800041206b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380000240024020010d0041002d00b8bfd380001a410441002802b0bfd38000118280808000002203450d0120034100360000200241206a2480808080002003ad4280808080c000840f0b2002410136020820024198ddc480003602042002420037021020022002411c6a36020c200241046a4180dbc4800010f280808000000b4101410410b980808000000ba70201027f23808080800041206b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380000240024020010d0041002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d01200342f02e370000200241206a2480808080002003ad42808080808001840f0b2002410136020820024180dec480003602042002420037021020022002411c6a36020c200241046a4180dbc4800010f280808000000b4101410810b980808000000ba00302037f017e23808080800041306b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd38000024020010d0020024282fceae49dd9e2861d370024200242de8c84a1ecd0a6d30c37001c20024289df9d82f381819238370014200242d7f0f3fea28baccae70037000c20022002410c6a412010ff838080002002410c6a41012002280204200228020022034180808080784622011b22044100200228020820011b10af8880800020023502142105200228021021010240200341808080807872418080808078460d00200441002802a8bfd38000118080808000000b200241306a24808080800020054220862001ad840f0b20024101360210200241e8dec4800036020c2002420037021820022002412c6a3602142002410c6a4180dbc4800010f280808000000bea0202027f017e2380808080004190036b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd38000024020010d0020024180016a10cc87808000200241106a20024180016a10ac93808000200241046a200241106a10d78f80800020024180016a20022802082201200228020c10b1928080002002350288012104200228028401210302402002280204450d00200141002802a8bfd38000118080808000000b20024190036a24808080800020044220862003ad840f0b2002410136028401200241ccdfc48000360280012002420037028c0120022002418c036a3602880120024180016a4180dbc4800010f280808000000bfa0501037f2380808080004180046b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380000240024002400240024002400240200141034d0d002000280000210320024180016a10cc87808000200241106a20024180016a200310ab938080002002280210418880808078460d0120024188036a200241106a41f00010e9968080001a200241046a20024188036a10d78f80800020022802042203418080808078460d0141002100200228020c41056a22014100480d0320034521044100210020010d02200241003602880120024280808080103702800120024180016a4100410110fc90808000200228028401210320022802880121010c050b200241013602840120024184e0c48000360280012002420137028c01200241d782808000ad422086200241ff036aad8437038803200220024188036a3602880120024180016a4180dbc4800010f280808000000b4101210041002104410121010b41002d00b8bfd380001a200141002802b0bfd380001182808080000022030d01410121000b2000200141e8a0c4800010ae80808000000b2002200336028401200220013602800102402000450d00200341003a0000410121010c020b410021010b200320016a41013a00002002200141016a36028801200228020821002002200228020c22033602102002200241106a3602880320024188036a20024180016a10d583808000024020022802800120022802880122016b20034f0d0020024180016a2001200310fc9080800020022802880121010b20022802840120016a2000200310e9968080001a200120036a2101200228028401210320040d00200041002802a8bfd38000118080808000000b20024180046a2480808080002001ad4220862003ad840b860402037f017e23808080800041306b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd3800002400240024020010d0041002d00b8bfd380001a410c41002802b0bfd38000118280808000002203450d01200341103602082003428e808080f00137020041002d00b8bfd380001a411041002802b0bfd38000118280808000002201450d0220024100360214200220013602102002411036020c200241033602242002200241246a360228200241286a2002410c6a10d5838080000240200228020c200228021422016b410b4b0d002002410c6a2001410c10fc90808000200228021421010b200228021020016a22042003290000370000200441086a200341086a28000036000020023502102105200341002802a8bfd3800011808080800000200241306a24808080800020052001410c6aad422086840f0b20024101360210200241f0e0c4800036020c2002420037021820022002412c6a3602142002410c6a4180dbc4800010f280808000000b4104410c10b980808000000b4101411041a8a8c1800010ae80808000000b8d0301027f2380808080004180016b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd38000024002402001411f4d0d00200241186a200041186a290000370300200241106a200041106a290000370300200241086a200041086a29000037030020022000290000370300200241206a2002108c888080002002280260210041002d00b8bfd380001a410441002802b0bfd38000118280808000002203450d012003200036000020024180016a2480808080002003ad4280808080c000840f0b20024101360224200241a4e1c480003602202002420137022c200241d782808000ad422086200241ff006aad8437030020022002360228200241206a4180dbc4800010f280808000000b4101410410b980808000000be30302037f017e23808080800041c0046b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd380002000410120011b2100024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b4100210341004100280288bed38000118d808080000041ff01713602ecbfd380002002200136020c20022000360208200241106a200241086a10b98a808000024020022903104205510d00200241a0026a200241106a41900210e9968080001a024020022903a0024202520d0020022802c803210441012103024020022802c0032201418080808078460d00200141ffffffff076a2200410849200041014771450d010b02400240200141fdffffff076a0e06020101010100010b20044104460d010b410021030b200241106a200241a0026a200310de86808000200241a0026a200241106a10e58c80800020022902a4022105200241c0046a24808080800020050f0b200241013602a402200241d8e1c480003602a002200242013702ac02200241d782808000ad422086200241bf046aad843703b0042002200241b0046a3602a802200241a0026a4180dbc4800010f280808000000b9e0303027f017e027f2380808080004180016b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd38000024020010d00200210e186808000200241f0006a200210e9838080002002350278210420022802742105024020022802082201450d00200228020421030340024020032d0000220641034b0d002003200641027441ece9c480006a2802006a2206280200450d00200641046a28020041002802a8bfd38000118080808000000b200341146a21032001417f6a22010d000b0b02402002280200450d00200228020441002802a8bfd38000118080808000000b20024180016a24808080800020044220862005ad840f0b20024101360204200241c4e2c480003602002002420037020c2002200241fc006a36020820024180dbc4800010f280808000000b8e0504027f017e017f017e23808080800041d0006b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd380002000410120011b2100024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b4100210341004100280288bed38000118d808080000041ff01713602ecbfd380002002200136021c200220003602182002412c6a200241186a10f8898080000240200228022c4101460d00200241286a200241386a280200360200200220022902303703202002410c6a200241206a109a8780800041002101024020022802202200450d00200220022802242203360248200220003602442002410036024020022003360238200220003602342002410036023041012103200228022821010b2002200136024c2002200336023c2002200336022c2002412c6a10fa898080002002412c6a200228021022002002280214220110c38a808000200235023421042002280230210502402001450d0020002103034002402003290300427e7c22064203542006420152710d00200341306a2d000041ff01714102470d00200341346a280200450d00200341386a28020041002802a8bfd38000118080808000000b200341a0016a10c28b80800020034190026a21032001417f6a22010d000b0b0240200228020c450d00200041002802a8bfd38000118080808000000b200241d0006a24808080800020044220862005ad840f0b20024101360230200241fce2c4800036022c20024201370238200241d782808000ad4220862002410c6aad843703202002200241206a3602342002412c6a4180dbc4800010f280808000000bc40603037f017e017f23808080800041a0036b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd380002000410120011b2100024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380002002200136020c2002200036020820024194026a200241086a10ad8b8080000240200228029402418080808078460d0020024198016a20024194026a41fc0010e9968080001a20024190036a200241086a10f8898080000240200228029003450d0020024198016a10b98b8080000c010b200241106a41086a22012002419c036a28020036020020022002290294033703102002280298012103200241206a20024198016a41046a41f80010e9968080001a2003418080808078460d00200220033602940220024194026a41046a200241206a41f80010e9968080001a20024190036a41086a2001280200360200200220022903103703900320024198016a20024194026a20024190036a10cd878080004100210302400240410520022802a0012204ad42147e2205a741066a2005422088a71b22014100480d004100210341002d00b8bfd380001a200141002802b0bfd380001182808080000022000d01410121030b2003200141e8fdc2800010ae80808000000b20022000360298022002200136029402200020022f01a4013b00002002410236029c0220024198016a20024194026a10898a808000200235029c02210520022802980221064100210102402002280298012200450d002002200228029c0122033602b002200220003602ac02200241003602a802200220033602a0022002200036029c02200241003602980241012103200421010b200220013602b402200220033602a402200220033602940220024194026a10fa89808000200241a0036a24808080800020054220862006ad840f0b2002410136029802200241b0e3c4800036029402200242013702a002200241d782808000ad42208620024190036aad8437039801200220024198016a36029c0220024194026a4180dbc4800010f280808000000bfd0803037f017e027f23808080800041e0066b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd380002000410120011b2104024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380002002200136020c20022004360208024002402001450d0020022001417f6a36020c2002200041016a36020820002d0000220141024b0d00200241d0046a200241086a10b98a80800020022903d00422054205510d00200241c0026a200241d0046a41900210e9968080001a200228020c220041204f0d01024020022903c002427e7c22054203542005420152710d0020022d00f00241ff01714102470d0020022802f402450d0020022802f80241002802a8bfd38000118080808000000b200241e0036a10e0868080000b200241013602d404200241ece3c480003602d004200242013702dc04200241d782808000ad422086200241106aad843703c0022002200241c0026a3602d804200241d0046a4180dbc4800010f280808000000b200241a0026a41086a2002280208220341086a290000370300200241a0026a41106a200341106a290000370300200241a0026a41186a200341186a2900003703002002200041606a36020c2002200341206a360208200220032900003703a002200241106a410872200241d0046a41087241880210e9968080001a20022005370310200241d0046a2001200241106a200241a0026a10e386808000200241c0026a200241d0046a10e68c80800020023502c802210520022802c4022104024020022802e0042203418080808078460d00024020022802e8042200450d0020022802e40421062000410171210741002101024020004101460d002000417e7121002006210341002101034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a280200450d00200341106a28020041002802a8bfd38000118080808000000b200341186a21032000200141026a2201470d000b0b02402007450d0020062001410c6c6a2203280200450d00200328020441002802a8bfd38000118080808000000b20022802e00421030b02402003450d0020022802e40441002802a8bfd38000118080808000000b024020022802f4042203450d0020022802f00421062003410171210741002101024020034101460d002003417e7121002006210341002101034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a280200450d00200341106a28020041002802a8bfd38000118080808000000b200341186a21032000200141026a2201470d000b0b2007450d0020062001410c6c6a2203280200450d00200328020441002802a8bfd38000118080808000000b20022802ec04450d0020022802f00441002802a8bfd38000118080808000000b200241e0066a24808080800020054220862004ad840bdd0301027f2380808080004180026b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd380002000410120011b2100024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380002002200136020c2002200036020820024180016a200241086a10ee838080000240200228028001418080808078460d00200241106a20024180016a41f00010e9968080001a200241106a10e286808000024020022802182201450d00200228021421030340024020032d0000220041034b0d002003200041027441ece9c480006a2802006a2200280200450d00200041046a28020041002802a8bfd38000118080808000000b200341146a21032001417f6a22010d000b0b02402002280210450d00200228021441002802a8bfd38000118080808000000b20024180026a24808080800042010f0b20024101360214200241a0e4c480003602102002420137021c200241d782808000ad422086200241ff016aad843703f0012002200241f0016a360218200241106a4180dbc4800010f280808000000bdd0601057f23808080800041c0006b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd380002000410120011b2100024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380002002200136020420022000360200200241306a200210e08b808000418080808078210102400240024020022802302204418080808078460d0020022802342103024020022802384120490d00200241106a41186a2200200341186a290000370300200241106a41106a2205200341106a290000370300200241106a41086a2206200341086a2900003703002002200329000037031041002d00b8bfd380001a2002410036023820024280808080c000370230412041002802b0bfd38000118280808000002201450d0220012002290310370000200141186a2000290300370000200141106a2005290300370000200141086a2006290300370000200241306a41fcc1c3800010e88a80800020022802342200412036020020002001360204200042a080808090ac9db9e10037020820022802302101200228023421000b02402004450d00200341002802a8bfd38000118080808000000b41002d00b8bfd380001a410141152001418080808078461b220441002802b0bfd38000118280808000002203450d022002200336021420022004360210024002402001418080808078470d00200341003a0000410121040c010b200341013a000020024101360218200241013602082002200241086a360230200241306a200241106a10d58380800020004101200241106a109783808000200228021821042002280214210302402000280200450d00200028020441002802a8bfd38000118080808000000b2001450d00200041002802a8bfd38000118080808000000b200241c0006a2480808080002004ad4220862003ad840f0b20024101360214200241d8e4c480003602102002420137021c200241d782808000ad4220862002413f6aad843703082002200241086a360218200241106a4180dbc4800010f280808000000b4101412010b980808000000b4101200441e8a0c4800010ae80808000000bb30702037f017e23808080800041c0006b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd380002000410120011b2104024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380002002200136020c2002200436020802400240024002402001450d0020022001417f6a36020c410121012002200041016a360208024020002d00000e020200010b200241106a200241086a10e08b80800020022802102200418080808078470d020b2002410136021420024194e5c480003602102002420137021c200241d782808000ad4220862002413f6aad843703302002200241306a360218200241106a4180dbc4800010f280808000000b2002418080808078360230410021000c010b20022902142205422088a7210302400240024020054200590d00410021020c010b410121012005428080808010540d0141002d00b8bfd380001a200341002802b0bfd380001182808080000022010d01410121020b2002200341a89dc5800010ae80808000000b20012005a72204200310e99680800021012002200336023820022001360234200220033602302000452100410021010b200241106a41e1eac98b06200241306a41002802f0bed380001185808080000041002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002203450d0020032002290010370000200341186a200241106a41186a290000370000200341106a200241106a41106a290000370000200341086a200241106a41086a290000370000024020012000720d00200441002802a8bfd38000118080808000000b41002d00b8bfd380001a412441002802b0bfd38000118280808000002201450d01200241003602182002200136021420024124360210200241203602082002200241086a360230200241306a200241106a10d58380800002402002280210200228021822006b411f4b0d00200241106a2000412010fc90808000200228021821000b2002280214220420006a22012003290000370000200141186a200341186a290000370000200141106a200341106a290000370000200141086a200341086a290000370000200341002802a8bfd3800011808080800000200241c0006a248080808000200041206aad4220862004ad840f0b4101412010b980808000000b4101412441a8a8c1800010ae80808000000b8e0302027f027e23808080800041c0006b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380000240024020010d0020024284c1c7b7cda097febb7f3700202002429fbf94a8c1ded8e64f370018200242ebe5e9f6a0afd08944370010200242f087979bfcb996ebf100370008200241286a200241086a412010ba83808000200229033021042002290328210541002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d012003200442002005a71b370000200241c0006a2480808080002003ad42808080808001840f0b2002410136020c20024184e6c480003602082002420037021420022002413c6a360210200241086a4180dbc4800010f280808000000b4101410810b980808000000ba80803027f017e037f2380808080004180026b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd380002000410120011b2100024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380002002200136020c2002200036020820024180016a200241086a10ee838080000240200228028001418080808078460d00200241106a20024180016a41f00010e9968080001a20024180016a200241106a10b689808000024020022802182201450d00200228021421030340024020032d0000220041034b0d002003200041027441ece9c480006a2802006a2200280200450d00200041046a28020041002802a8bfd38000118080808000000b200341146a21032001417f6a22010d000b0b02402002280210450d00200228021441002802a8bfd38000118080808000000b200241106a20024180016a10c08a808000200235021821042002280214210502402002280288012203450d0020022802840121062003410171210741002101024020034101460d002003417e7121002006210341002101034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a280200450d00200341106a28020041002802a8bfd38000118080808000000b200341186a21032000200141026a2201470d000b0b2007450d0020062001410c6c6a2203280200450d00200328020441002802a8bfd38000118080808000000b0240200228028001450d0020022802840141002802a8bfd38000118080808000000b02402002280294012203450d0020022802900121062003410171210741002101024020034101460d002003417e7121002006210341002101034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b0240200341106a280200450d00200341146a28020041002802a8bfd38000118080808000000b200341206a21032000200141026a2201470d000b0b2007450d00200620014104746a2203280200450d00200328020441002802a8bfd38000118080808000000b0240200228028c01450d0020022802900141002802a8bfd38000118080808000000b024020022802a4012203418080808078460d002003450d0020022802a80141002802a8bfd38000118080808000000b0240200228029801450d00200228029c0141002802a8bfd38000118080808000000b20024180026a24808080800020044220862005ad840f0b20024101360214200241c0e6c480003602102002420137021c200241d782808000ad422086200241ff016aad843703f0012002200241f0016a360218200241106a4180dbc4800010f280808000000b920301037f23808080800041306b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380000240024020010d00200242d3d8c5d2a9b9d2c1ac7f37002420024282ca868eabf3add0cf0037001c200242fc90b9e5d09296e777370014200242a6d4e6f1a4dd95986037000c20022002410c6a4120108a84808000200228020421012002280200210441002d00b8bfd380001a410241002802b0bfd38000118280808000002203450d01200341003a00012003200141016a410120044101711b3a0000200241306a2480808080002003ad428080808020840f0b20024101360210200241a8e7c4800036020c2002420037021820022002412c6a3602142002410c6a4180dbc4800010f280808000000b4101410210b980808000000bb40302027f017e23808080800041c0006b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd380002000410120011b2100024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd3800020022001360208200220003602042002410c6a200241046a10e08b8080000240200228020c418080808078460d00200241186a41086a2002410c6a41086a2802003602002002200229020c3703182002410c6a200241186a10978e808000200241186a2002410c6a10e48c80800020023502202104200228021c21030240200228020c2201418080808078460d002001450d00200228021041002802a8bfd38000118080808000000b200241c0006a24808080800020044220862003ad840f0b2002410136021c200241d8e7c4800036021820024201370224200241d782808000ad4220862002413f6aad843703302002200241306a360220200241186a4180dbc4800010f280808000000bb80402037f017e23808080800041306b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd380002000410120011b2104024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd38000200220013602102002200436020c0240024002402001450d0020022001417f6a3602102002200041016a36020c4180808080782103024020002d00000e020300010b200241146a2002410c6a10e08b80800020022802142203418080808078460d00200241146a20022802182201200228021c220010ae818080002002280214450d012003450d00200141002802a8bfd38000118080808000000b2002410136021820024188e8c4800036021420024201370220200241d782808000ad4220862002412f6aad843703002002200236021c200241146a4180dbc4800010f280808000000b2000ad4220862001ad8421050b20022005370218200220033602142002200241146a10968e8080000240200341808080807872418080808078460d002005a741002802a8bfd38000118080808000000b200241146a200210a589808000200235021c210520022802182103024020022802002201418080808078460d002001450d00200228020441002802a8bfd38000118080808000000b200241306a24808080800020054220862003ad840bd10402037f017e23808080800041206b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380000240024020010d0041002d00b8bfd380001a02400240411841002802b0bfd38000118280808000002203450d0041002d00b8bfd380001a410b41002802b0bfd38000118280808000002201450d03200141076a41002800f995c58000360000200141002900f295c5800037000041002d00b8bfd380001a410d41002802b0bfd380001182808080000022040d014101410d10b980808000000b4104411810b980808000000b200441056a410029008296c58000370000200441002900fd95c580003700002003410d360214200320043602102003428b808080d001370208200320013602042003410b360200200241046a2003410210b088808000200235020c21052002280208210102402003280200450d00200328020441002802a8bfd38000118080808000000b0240200328020c450d00200328021041002802a8bfd38000118080808000000b200341002802a8bfd3800011808080800000200241206a24808080800020054220862001ad840f0b20024101360208200241f0e8c480003602042002420037021020022002411c6a36020c200241046a4180dbc4800010f280808000000b4101410b10b980808000000b8a0301037f23808080800041306b2202248080808000410041002802e8bfd380002203410120031b3602e8bfd38000024002402003450d0020034101470d0141002802e8bfd380004101462103034020030d000c020b0b410041b4e1cc80003602d4bcd38000410041cce1cc80003602d0bcd38000410041023602e8bfd380000b41004100280288bed38000118d808080000041ff01713602ecbfd380000240024020010d00200242d8c192ad8deac8dd3f37002420024284ceb68ad8c4c79c8f7f37001c200242e7eacab6b7c9acbc263700142002428de2fdb2e288b2fcd70037000c20022002410c6a4120108a84808000200228020421012002280200210441002d00b8bfd380001a410441002802b0bfd38000118280808000002203450d012003200141e40020044101711b360000200241306a2480808080002003ad4280808080c000840f0b20024101360210200241d8e9c4800036020c2002420037021820022002412c6a3602142002410c6a4180dbc4800010f280808000000b4101410410b980808000000b990301057f23808080800041206b22022480808080000240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0400030201000b200641027621030c030b200641044f0d0320034105490d0320012003417b6a3602042001200541056a360200200528000122034180808080044f0d020c030b20034104490d0220012003417c6a3602042001200541046a36020020052f0001200541036a2d0000411074722203418002490d02200341087420067241027621030c010b2004450d0120012003417e6a3602042001200541026a36020020052d00012203450d01200341087420067241027621030b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10f689808000024020022d00030d00200020022902043702042000410c6a2002410c6a280200360200200041003602000c020b200241046a10f789808000200041013602000c010b200041013602000b200241206a2480808080000b870301047f23808080800041e0006b2202248080808000200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a41b487c58000108d8c80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c41002802a8bfd38000118080808000000c010b200228020c21012002200241df006a360220024020034101460d00024020034115490d0020012003200241206a10e9868080000c010b200120034101200241206a10918f8080000b2002280208210441002d00b8bfd380001a024041940341002802b0bfd380001182808080000022050d00410441940310b980808000000b200541003b019203200541003602e00220024100360218200220053602142002410036021c20022001200341246c6a360254200220043602502002200136024c2002200136024820024102360220200241146a200241206a2002411c6a10af838080002000200228021c360208200020022902143702000b200241e0006a2480808080000bfe0401057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802940321012004417f6a22040d000b0b20024108490d000340200128029403280294032802940328029403280294032802940328029403280294032101200041786a22000d000b0b20012104410021020b024002400240200220042f0192034f0d00200421000c010b034020042802e0022200450d0220042f0190032102200441002802a8bfd3800011808080800000200541016a210520002104200220002f0192034f0d000b0b0240024020050d00200241016a21020c010b200020024102746a4198036a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802940321002005417f6a22050d000b0b20014107490d000340200028029403280294032802940328029403280294032802940328029403280294032100200441786a22040d000b0b410021012003417f6a22030d010c030b0b200441002802a8bfd380001180808080000041d8b3c18000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802940321002005417f6a22050d000b0b20024108490d000340200028029403280294032802940328029403280294032802940328029403280294032100200441786a22040d000b0b034020002802e0022104200041002802a8bfd38000118080808000002004210020040d000b0b0bff0301057f23808080800041c0006b22022480808080000240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0400030201000b200641027621050c030b200641044f0d0320034105490d0320012003417b6a3602042001200541056a360200200528000122054180808080044f0d020c030b20034104490d0220012003417c6a3602042001200541046a36020020052f0001200541036a2d0000411074722203418002490d02200341087420067241027621050c010b2004450d0120012003417e6a3602042001200541026a36020020052d00012203450d01200341087420067241027621050b41002103200241003a000f20022005360224200241003602202002200136021c20022002410f6a360228200241106a2002411c6a10f989808000024020022d000f0d00200020022902103702042000410c6a200241186a280200360200200041003602000c020b41002101024020022802102205450d00200220022802142201360238200220053602342002410036023020022001360228200220053602242002410036022041012103200228021821010b2002200136023c2002200336022c2002200336021c2002411c6a10fa89808000200041013602000c010b200041013602000b200241c0006a2480808080000b860301047f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a41b487c5800010f98b80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020441002802a8bfd38000118080808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a10f5868080000c010b200120034101200241186a10938f8080000b2002280200210441002d00b8bfd380001a024041e40141002802b0bfd380001182808080000022050d00410441e40110b980808000000b200541003b01e20120054100360258200241003602102002200536020c2002410036021420022001200341146c6a36023820022004360234200220013602302002200136022c20024181808080783602202002410c6a200241186a200241146a10b283808000200020022802143602082000200229020c3702000b200241c0006a2480808080000b9d0601097f024020002802202201450d00200028020c210220002802042103200028020021040240034020002001417f6a22013602200240024020044101712205450d0020030d002000280208210302402002450d0002400240200241077122060d00200221050c010b2002210503402005417f6a210520032802e40121032006417f6a22060d000b0b20024108490d00034020032802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012103200541786a22050d000b0b20004200370208200020033602044101210420004101360200410021020c010b2005450d020b20002802082106024002400240200220032f01e2014f0d0020022107200321050c010b034020032802582205450d0220032f01e0012107200341002802a8bfd3800011808080800000200641016a210620052103200720052f01e2014f0d000b0b0240024020060d00200741016a2102200521030c010b200520074102746a41e8016a2802002103410021022006417f6a2208450d002006417e6a2109024020084107712206450d0003402008417f6a210820032802e40121032006417f6a22060d000b0b20094107490d00034020032802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012103200841786a22080d000b0b2000200236020c2000410036020820002003360204024020052007410c6c6a41dc006a2205280200450d00200528020441002802a8bfd38000118080808000000b20010d010c030b0b200341002802a8bfd380001180808080000041d8b3c18000108a81808000000b418c8ac58000108a81808000000b200028020021032000410036020002402003450d000240200028020422030d0020002802082103200028020c2207450d0002400240200741077122060d00200721050c010b2007210503402005417f6a210520032802e40121032006417f6a22060d000b0b20074108490d00034020032802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012103200541786a22050d000b0b034020032802582105200341002802a8bfd38000118080808000002005210320050d000b0b0bff0301057f23808080800041c0006b22022480808080000240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0400030201000b200641027621050c030b200641044f0d0320034105490d0320012003417b6a3602042001200541056a360200200528000122054180808080044f0d020c030b20034104490d0220012003417c6a3602042001200541046a36020020052f0001200541036a2d0000411074722203418002490d02200341087420067241027621050c010b2004450d0120012003417e6a3602042001200541026a36020020052d00012203450d01200341087420067241027621050b41002103200241003a000f20022005360224200241003602202002200136021c20022002410f6a360228200241106a2002411c6a10fc89808000024020022d000f0d00200020022902103702042000410c6a200241186a280200360200200041003602000c020b41002101024020022802102205450d00200220022802142201360238200220053602342002410036023020022001360228200220053602242002410036022041012103200228021821010b2002200136023c2002200336022c2002200336021c2002411c6a10fd89808000200041013602000c010b200041013602000b200241c0006a2480808080000b860301047f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a41b487c5800010828c80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020441002802a8bfd38000118080808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a1091878080000c010b200120034101200241186a108e8f8080000b2002280200210441002d00b8bfd380001a024041b80141002802b0bfd380001182808080000022050d00410441b80110b980808000000b200541003b01b60120054100360200200241003602102002200536020c200241003602142002200120034104746a360234200220043602302002200136022c20022001360228200241818080807836021c2002410c6a200241186a200241146a10b383808000200020022802143602082000200229020c3702000b200241c0006a2480808080000be507010a7f024020002802202201450d00200028020c210220002802042103200028020021040240034020002001417f6a22013602200240024020044101712205450d0020030d002000280208210302402002450d0002400240200241077122060d00200221050c010b2002210503402005417f6a210520032802b80121032006417f6a22060d000b0b20024108490d00034020032802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012103200541786a22050d000b0b20004200370208200020033602044101210420004101360200410021020c010b2005450d020b20002802082106024002400240200220032f01b6014f0d0020022107200321050c010b034020032802002205450d0220032f01b4012107200341002802a8bfd3800011808080800000200641016a210620052103200720052f01b6014f0d000b0b0240024020060d00200741016a2102200521030c010b200520074102746a41bc016a2802002103410021022006417f6a2208450d002006417e6a2109024020084107712206450d0003402008417f6a210820032802b80121032006417f6a22060d000b0b20094107490d00034020032802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012103200841786a22080d000b0b2000200236020c2000410036020820002003360204024020052007410c6c6a220841386a2802002205450d00200841346a28020021092005410171210a41002106024020054101460d002005417e7121074100210620092105034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b0240200541106a280200450d00200541146a28020041002802a8bfd38000118080808000000b200541206a21052007200641026a2206470d000b0b200a450d00200920064104746a2205280200450d00200528020441002802a8bfd38000118080808000000b0240200841306a2205280200450d00200528020441002802a8bfd38000118080808000000b20010d010c030b0b200341002802a8bfd380001180808080000041d8b3c18000108a81808000000b418c8ac58000108a81808000000b200028020021032000410036020002402003450d000240200028020422030d0020002802082103200028020c2207450d0002400240200741077122060d00200721050c010b2007210503402005417f6a210520032802b80121032006417f6a22060d000b0b20074108490d00034020032802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012103200541786a22050d000b0b034020032802002105200341002802a8bfd38000118080808000002005210320050d000b0b0b990301057f23808080800041206b22022480808080000240024020012802042203450d0020012003417f6a220436020420012001280200220541016a3602000240024002400240024020052d000022064103710e0400030201000b200641027621030c030b200641044f0d0320034105490d0320012003417b6a3602042001200541056a360200200528000122034180808080044f0d020c030b20034104490d0220012003417c6a3602042001200541046a36020020052f0001200541036a2d0000411074722203418002490d02200341087420067241027621030c010b2004450d0120012003417e6a3602042001200541026a36020020052d00012203450d01200341087420067241027621030b200241003a00032002200336021820024100360214200220013602102002200241036a36021c200241046a200241106a10ff89808000024020022d00030d00200020022902043702042000410c6a2002410c6a280200360200200041003602000c020b200241046a10808a808000200041013602000c010b200041013602000b200241206a2480808080000b820301047f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a41b487c5800010968c80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020441002802a8bfd38000118080808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a10ed868080000c010b200120034101200241186a10958f8080000b2002280200210441002d00b8bfd380001a0240418c0141002802b0bfd380001182808080000022050d004104418c0110b980808000000b200541003b018a0120054100360258200241003602102002200536020c20024100360214200220012003410c6c6a360234200220043602302002200136022c20022001360228200241023602182002410c6a200241186a200241146a10b083808000200020022802143602082000200229020c3702000b200241c0006a2480808080000bfc0401057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a2100200128028c0121012004417f6a22040d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200041786a22000d000b0b20012104410021020b024002400240200220042f018a014f0d00200421000c010b034020042802582200450d0220042f0188012102200441002802a8bfd3800011808080800000200541016a210520002104200220002f018a014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a4190016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a2104200028028c0121002005417f6a22050d000b0b20014107490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b200441002802a8bfd380001180808080000041d8b3c18000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a2104200028028c0121002005417f6a22050d000b0b20024108490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b034020002802582104200041002802a8bfd38000118080808000002004210020040d000b0b0b8e0303037f017e017f23808080800041c0006b22022480808080002002200110c1838080000240024020022802000d0002400240200228020422030d00410021040c010b02402003410a4f0d0041b80121040c010b417f2003410a6ead42e8017e2205a72005422088a71b21040b2001417f2001280204220620046a220420042006491b22043602040240200420012802084f0d0041002104200241003a000f20022003360224200241003602202002200136021c20022002410f6a360228200241106a2002411c6a10828a808000024020022d000f0d00200020022902103702042000410c6a200241186a280200360200200041003602000c030b41002101024020022802102203450d00200220022802142201360238200220033602342002410036023020022001360228200220033602242002410036022041012104200228021821010b2002200136023c2002200436022c2002200436021c2002411c6a10fd89808000200041013602000c020b200041013602000c010b200041013602000b200241c0006a2480808080000b860301047f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a41b487c5800010ff8b80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020441002802a8bfd38000118080808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a10f1868080000c010b200120034101200241186a108e8f8080000b2002280200210441002d00b8bfd380001a024041b80141002802b0bfd380001182808080000022050d00410441b80110b980808000000b200541003b01b60120054100360200200241003602102002200536020c200241003602142002200120034104746a360234200220043602302002200136022c20022001360228200241818080807836021c2002410c6a200241186a200241146a10b383808000200020022802143602082000200229020c3702000b200241c0006a2480808080000b8e0303037f017e017f23808080800041c0006b22022480808080002002200110c5838080000240024020022802000d0002400240200228020422030d00410021040c010b02402003410a4f0d0041b80121040c010b417f2003410a6ead42e8017e2205a72005422088a71b21040b2001417f2001280204220620046a220420042006491b22043602040240200420012802084f0d0041002104200241003a000f20022003360224200241003602202002200136021c20022002410f6a360228200241106a2002411c6a10848a808000024020022d000f0d00200020022902103702042000410c6a200241186a280200360200200041003602000c030b41002101024020022802102203450d00200220022802142201360238200220033602342002410036023020022001360228200220033602242002410036022041012104200228021821010b2002200136023c2002200436022c2002200436021c2002411c6a10fd89808000200041013602000c020b200041013602000c010b200041013602000b200241c0006a2480808080000b860301047f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a41b487c5800010908c80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020441002802a8bfd38000118080808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a1095878080000c010b200120034101200241186a108e8f8080000b2002280200210441002d00b8bfd380001a024041b80141002802b0bfd380001182808080000022050d00410441b80110b980808000000b200541003b01b60120054100360200200241003602102002200536020c200241003602142002200120034104746a360234200220043602302002200136022c20022001360228200241818080807836021c2002410c6a200241186a200241146a10b383808000200020022802143602082000200229020c3702000b200241c0006a2480808080000b8e0303037f017e017f23808080800041c0006b22022480808080002002200110c2838080000240024020022802000d0002400240200228020422030d00410021040c010b02402003410a4f0d0041b80121040c010b417f2003410a6ead42e8017e2205a72005422088a71b21040b2001417f2001280204220620046a220420042006491b22043602040240200420012802084f0d0041002104200241003a000f20022003360224200241003602202002200136021c20022002410f6a360228200241106a2002411c6a10868a808000024020022d000f0d00200020022902103702042000410c6a200241186a280200360200200041003602000c030b41002101024020022802102203450d00200220022802142201360238200220033602342002410036023020022001360228200220033602242002410036022041012104200228021821010b2002200136023c2002200436022c2002200436021c2002411c6a10fd89808000200041013602000c020b200041013602000c010b200041013602000b200241c0006a2480808080000b860301047f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a41b487c5800010838c80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020441002802a8bfd38000118080808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a10f9868080000c010b200120034101200241186a108e8f8080000b2002280200210441002d00b8bfd380001a024041b80141002802b0bfd380001182808080000022050d00410441b80110b980808000000b200541003b01b60120054100360200200241003602102002200536020c200241003602142002200120034104746a360234200220043602302002200136022c20022001360228200241818080807836021c2002410c6a200241186a200241146a10b383808000200020022802143602082000200229020c3702000b200241c0006a2480808080000bd80302047f017e23808080800041c0006b22022480808080002002200110c38380800002400240024020022802000d002002280204210320012802002802082204200428020441016a2205360204200520042802084b0d010240024020030d00410021040c010b02402003410a4f0d0041b80121040c010b417f2003410a6ead42e8017e2206a72006422088a71b21040b2001417f2001280204220520046a220420042005491b22043602040240200420012802084f0d0041002104200241003a000f20022003360224200241003602202002200136021c20022002410f6a360228200241106a2002411c6a10888a8080000240024020022d000f0d00200020022902103702042000410c6a200241186a2802003602000c010b02400240200228021022040d0041002104410021030c010b200220022802142203360238200220043602342002410036023020022003360228200220043602242002410036022041012104200228021821030b2002200336023c2002200436022c2002200436021c2002411c6a10fd89808000410121040b20002004360200200128020028020822012001280204417f6a3602040c030b200041013602000c020b200041013602000c010b200041013602000b200241c0006a2480808080000b860301047f23808080800041c0006b2202248080808000200241186a41086a200141086a290200370300200220012902003703182002200241186a41b487c58000108f8c80800002400240200228020822030d0020004100360208200041003602002002280200450d01200228020441002802a8bfd38000118080808000000c010b2002280204210120022002413f6a360218024020034101460d00024020034115490d0020012003200241186a1089878080000c010b200120034101200241186a108e8f8080000b2002280200210441002d00b8bfd380001a024041b80141002802b0bfd380001182808080000022050d00410441b80110b980808000000b200541003b01b60120054100360200200241003602102002200536020c200241003602142002200120034104746a360234200220043602302002200136022c20022001360228200241818080807836021c2002410c6a200241186a200241146a10b383808000200020022802143602082000200229020c3702000b200241c0006a2480808080000bd60501097f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110d583808000024002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a210520042802e40121042000417f6a22000d000b0b20074108490d01034020042802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012104200541786a22050d000c020b0b20064101710d0141ac8ac58000108a81808000000b2004210541002104410021070b02400240200720052f01e2014f0d0020052100200721080c010b034020052802582200450d04200441016a210420052f01e001210820002105200820002f01e2014f0d000b0b0240024020040d00200841016a2107200021050c010b200020084102746a41e8016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a210920052802e40121052004417f6a22040d000b0b200a4107490d00034020052802e4012802e4012802e4012802e4012802e4012802e4012802e4012802e4012105200941786a22090d000b0b200020084103746a210920002008410c6c6a41dc006a210002402001280200200128020822046b41074b0d0020012004410810fc90808000200128020821040b2001200441086a360208200128020420046a2009290000370000200028020421082002200028020822043602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822006b20044f0d0020012000200410fc90808000200128020821000b200128020420006a2008200410e9968080001a2001200020046a360208410021042003417f6a22030d000b0b200241106a2480808080000f0b419c8ac58000108a81808000000ba50501097f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110d583808000024002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a210520042802b80121042000417f6a22000d000b0b20074108490d01034020042802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012104200541786a22050d000c020b0b20064101710d0141ac8ac58000108a81808000000b2004210541002104410021070b02400240200720052f01b6014f0d0020052100200721080c010b034020052802002200450d04200441016a210420052f01b401210820002105200820002f01b6014f0d000b0b0240024020040d00200841016a2107200021050c010b200020084102746a41bc016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a210920052802b80121052004417f6a22040d000b0b200a4107490d00034020052802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012105200941786a22090d000b0b20002008410c6c6a41306a2109200020084102746a41046a280200210002402001280200200128020822046b41034b0d0020012004410410fc90808000200128020821040b2001200441046a360208200128020420046a2000360000200941046a28020021042002200941086a28020022003602082002200241086a36020c2002410c6a200110d583808000200420002001109983808000410021042003417f6a22030d000b0b200241106a2480808080000f0b419c8ac58000108a81808000000bfc05010a7f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110d583808000024002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a2105200428028c0121042000417f6a22000d000b0b20074108490d010340200428028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012104200541786a22050d000c020b0b20064101710d0141ac8ac58000108a81808000000b2004210541002104410021070b02400240200720052f018a014f0d0020052100200721080c010b034020052802582200450d04200441016a210420052f018801210820002105200820002f018a014f0d000b0b0240024020040d00200841016a2107200021050c010b200020084102746a4190016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a2109200528028c0121052004417f6a22040d000b0b200a4107490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200941786a22090d000b0b200020084103746a2109200020084102746a41dc006a280200210002402001280200200128020822046b41034b0d0020012004410410fc90808000200128020821040b200128020420046a20003600002001200441046a2204360208200941046a280200210a2009280200210b02402001280200220820046b41034b0d0020012004410410fc9080800020012802002108200128020821040b2001200441046a22003602082001280204220920046a200b3600000240200820006b41034b0d0020012000410410fc9080800020012802042109200128020821000b2001200041046a360208200920006a200a360000410021042003417f6a22030d000b0b200241106a2480808080000f0b419c8ac58000108a81808000000ba70601067f23808080800041306b220124808080800020014108360204200141bdecc4800036020041002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241bdecc48000360200200241046a410836020041bdecc48000410810bc91808000450d0141002d00b8bfd380001a41c00041002802b0bfd380001182808080000022030d02410841c00010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236020c200141d0c5cb800036020820014201370214200141b980808000ad4220862001ad843703202001200141206a360210200141086a41e0c5cb800010f280808000000b200341d382808000360238200342d8f6fcd3bfe1f9b93a370330200342cb80cdffc7c786a96637032820034101360224200341c6ecc48000360220200341bb8080800036021820034289d0e6adc0e7a38d463703102003428bfa8ea7fac390de2537030820034101360204200341c5ecc4800036020020014102360210200120033602082001200341c0006a3602142001200336020c200141206a200141086a41bccec2800010b08b80800020012802282104200128022421052001280220210620014100360210200142808080808001370208200141086a41e0e1c1800010b891808000200128020c220342e7fdc59fefd792da3d3703002003410036023020034280808080c0003703282003410036022020034100360218200341dc82808000360210200342d3c2beb4a9fca0f746370308200128020c210320012001280208360210200120033602082001200341386a3602142001200336020c200141206a200141086a41bccec2800010b18b80800020012006360210200120053602082001200520044105746a3602142001200536020c200041c4006a200141086a41a892c4800010b08b808000200141136a200141206a41086a28020036000020002002ad4280808080108437023c20004101360238200041003a00002000410036025820004280808080c0003703502001200129022037000b20002001290008370001200041086a2001410f6a290000370000200141306a2480808080000ba30101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041dd82808000360218200042abdd9bb0e984acd86d370310200042f9f781c993c6b4aec900370308200041023a0000200141106a2480808080000bea0603067f017e017f23808080800041c0006b22012480808080002001410c6a41186a41a4fec48000411341b7fec4800041184104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d00200241bb8080800036021820024289d0e6adc0e7a38d463703102002428bfa8ea7fac390de2537030820024102360204200241cffec4800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a200141186a220241086a28020036020020012002290200370300200128020c2103200128021021042001280214210520012802242106200129022821072001410c6a41086a410036020020014280808080800137020c2001410c6a41e0e1c1800010b891808000200128021022024289d0e6adc0e7a38d463703082002428bfa8ea7fac390de25370300200141306a41086a220841013602002002420437022c20024202370224200241b184c280003602202002410936021c200241c1bfc28000360218200241bb808080003602102001200129020c3703300240200828020022022001280230470d00200141306a41e0e1c1800010b8918080000b2001280234200241386c22086a2202420437022c20024213370224200241cabfc280003602202002410436021c200241c7ecc18000360218200241ff8080800036021020024296e397c6bfa5aeee46370308200242aceff0b4f2bd8f8fe40037030020012802342102200120012802303602142001200236020c2001200220086a41386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002006418080808078460d01200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000b900804067f017e027f017e23808080800041d0006b2201248080808000200141306a41f0fbc48000410b41d3fbc4800041164104410010c791808000200142043702282001420037022020014280808080800137021841002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d00200241e880808000360218200242e2e68fceaa92ce9c7b370310200242e987d8bed5a3d0fbfb0037030820024107360204200241e9fbc4800036020020014101360248200120023602402001200241206a36024c20012002360244200141186a200141c0006a41bccec2800010b08b808000200141086a41086a200141246a220241086a2802003602002001200229020037030820012802182103200128021c2104200128022021052001280230210620012902342107200141186a41086a22084100360200200142808080808001370218200141186a41e0e1c1800010b891808000200128021c220242d687ccb79492eaa48f7f370308200242dec098f1dab59facaa7f370300200141c0006a41086a220941013602002002420437022c2002420e3702242002419190c280003602202002410236021c200241af84c28000360218200241ac82808000360210200120012902183703400240200928020022092001280240470d00200141c0006a41e0e1c1800010b8918080000b2001280244200941386c6a2202420437022c20024207370224200241b984c280003602202002410636021c200241b384c28000360218200241e880808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb003703002008200941016a220236020020012001290340220a37031802402002200aa7470d00200141186a41e0e1c1800010b8918080000b200128021c200241386c22096a2202420437022c20024207370224200241a690c280003602202002410736021c2002419f90c28000360218200241de82808000360210200242eae7fead99dd9dfcfc003703082002429bd283fdc7e8a2bb75370300200128021c210220012001280218360220200120023602182001200220096a41386a3602242001200236021c200141c0006a200141186a41bccec2800010b18b8080002006418080808078460d0120012003360220200120043602182001200436021c2001200420054105746a360224200041c4006a200141186a41a892c4800010b08b808000200141236a200141c0006a41086a2802003600002000200737023c20002006360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a200141186a41076a290000370000200141d0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000b900201027f23808080800041106b220124808080800041002d00b8bfd380001a0240413041002802b0bfd38000118280808000002202450d00200241d382808000360228200241bb8080800036021020024289d0e6adc0e7a38d463703082002428bfa8ea7fac390de25370300200242d8f6fcd3bfe1f9b93a370320200242cb80cdffc7c786a966370318200142888080808001370200200142808080808001370208200041c4006a200141a892c4800010b08b8080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000410236020c2000200236020820004102360204200041043a0000200141106a2480808080000f0b4108413010b980808000000bf00603067f017e017f23808080800041c0006b2201248080808000200141246a4197fcc48000411241a9fcc48000412810c6918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a0240024041800141002802b0bfd38000118280808000002202450d00200241f981808000360278200242bd868ea3cfe298dbb77f370370200242dac1fcfbc3c3ba8fb17f37036820024105360264200241e1fcc48000360260200241fa818080003602582002429c8dc8c8b580f8edb37f370350200242ff8384ccd1e7e0f6c80037034820024109360244200241d8fcc48000360240200241f781808000360238200242e1a2a48bf08199db02370330200242e982dbf0d981db979b7f37032820024104360224200241eef8c48000360220200241858180800036021820024299f9eea68ae9918f897f370310200242939b9bfb8e8dcfaf817f37030820024107360204200241d1fcc480003602002001410436023820012002360230200120024180016a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c2104200128021021052001280214210620012902282107200128022421082001410036021420014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220242aceff0b4f2bd8f8fe4003703002002410036023020024280808080c0003703282002410036022020024100360218200241ff8080800036021020024296e397c6bfa5aeee46370308200128021021022001200128020c3602142001200236020c2001200241386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002008418080808078460d01200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a2001410c6a41076a290000370000200141c0006a2480808080000f0b410841800110b980808000000b41f0e1c1800041114184e2c18000108b81808000000baa0703067f017e017f23808080800041c0006b2201248080808000200141246a41fbfbc48000410b41d3fbc4800041164104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d00200241e880808000360238200242e2e68fceaa92ce9c7b370330200242e987d8bed5a3d0fbfb0037032820024107360224200241e9fbc48000360220200241ac82808000360218200242d687ccb79492eaa48f7f370310200242dec098f1dab59facaa7f3703082002411136020420024186fcc4800036020020014102360238200120023602302001200241c0006a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a200141186a220241086a28020036020020012002290200370300200128020c2103200128021021042001280214210520012802242106200129022821072001410c6a41086a410036020020014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220242d687ccb79492eaa48f7f370308200242dec098f1dab59facaa7f370300200141306a41086a220841013602002002420437022c20024211370224200241ad90c280003602202002410236021c200241af84c28000360218200241ac828080003602102001200129020c3703300240200828020022022001280230470d00200141306a41e0e1c1800010b8918080000b2001280234200241386c22086a2202420437022c20024207370224200241b984c280003602202002410636021c200241b384c28000360218200241e880808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb0037030020012802342102200120012802303602142001200236020c2001200220086a41386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002006418080808078460d01200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002006360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000ba407010b7f02402000280200220428020020042802082200470d002004200041014101410110948a808000200428020821000b2004200041016a2205360208200428020420006a41223a00002002417f6a21062003417f732107200220036a2108410021092002210a02400240034041002100024003400240200a20006a220b2008470d00024020032009460d0002402009450d00200320094d0d04200220096a2c000041bf7f4c0d040b200220096a210b0240200428020020056b200320096b22004f0d002004200520004101410110948a808000200428020821050b200428020420056a200b200010e9968080001a2004200520006a22053602080b024020042802002005470d002004200541014101410110948a808000200428020821050b2004200541016a360208200428020420056a41223a000041000f0b200041016a2100200b2d0000220c41d880cc80006a2d0000220b450d000b02402009200920006a220d417f6a220e4f0d0002402009450d000240200320094b0d0020032009460d010c060b200220096a2c00004140480d050b02400240200e2003490d00200d20076a450d010c060b200620096a20006a2c000041bf7f4c0d050b0240200428020020056b2000417f6a220e4f0d0020042005200e4101410110948a808000200428020821050b200428020420056a200220096a200e10e9968080001a2004200520006a417f6a22053602080b200a20006a210a4187eec480002100024002400240024002400240024002400240200b41a47f6a0e1a070b0b0b0b0b060b0b0b010b0b0b0b0b0b0b020b0b0b030b0405000b200b4122470d0a4185eec4800021000c060b418beec4800021000c050b418deec4800021000c040b418feec4800021000c030b4191eec4800021000c020b200c410f7141c880cc80006a2d0000210b200c41047641c880cc80006a2d0000210c0240200428020020056b41054b0d002004200541064101410110948a808000200428020821050b200428020420056a2200200b3a00052000200c3a0004200041dceac18103360000200541066a21050c020b4189eec4800021000b0240200428020020056b41014b0d002004200541024101410110948a808000200428020821050b200428020420056a20002f00003b0000200541026a21050b20042005360208200d21090c010b0b200220032009200341a8edc4800010f980808000000b41c8edc48000412841f0edc4800010f480808000000b200220032009200920006a417f6a41b8edc4800010f980808000000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10e18a80800020052802084101470d0120052802102102200528020c21060b2006200241b08bc5800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000b9b0e010a7f02400240024002400240024002400240024020002d00000e06000102030405000b024020012802002202280200200228020822036b41034b0d002002200341044101410110948a808000200228020821030b2002200341046a360208200228020420036a41eeeab1e3063600000c060b20012802002102024020002d00010d0002402002280200200228020822036b41044b0d002002200341054101410110948a808000200228020821030b2002200341056a360208200228020420036a22024100280080eec48000360000200241046a41002d0084eec480003a000041000f0b02402002280200200228020822036b41034b0d002002200341044101410110948a808000200228020821030b2002200341046a360208200228020420036a41f4e4d5ab063600000c050b20002802082104024020012802002202280200200228020822036b200028020c22004f0d002002200320004101410110948a808000200228020821030b200228020420036a2004200010e9968080001a2002200320006a3602080c040b200120022000280208200028020c10938a8080001a0c030b200028020c21042000280208210302402001280200220228020020022802082200470d002002200041014101410110948a808000200228020821000b2002200041016a2205360208200228020420006a41db003a000002402004450d00200441047421044180022102034020024101710d03024020024180fe0371418002460d0002402001280200220028020020002802082205470d002000200541014101410110948a808000200028020821050b2000200541016a360208200028020420056a412c3a00000b2003200110958a80800022000d05200341106a2103200241ff817c71418004722102200441706a22040d000b02402001280200220228020020022802082203470d002002200341014101410110948a808000200228020821030b2002200341016a360208200228020420036a41dd003a00000c030b024020022802002005470d002002200541014101410110948a808000200228020821050b2002200541016a360208200228020420056a41dd003a00000c020b200028020c210602402001280200220228020020022802082203470d002002200341014101410110948a808000200228020821030b2002200341016a2204360208200228020420036a41fb003a0000024020060d00024020022802002004470d002002200441014101410110948a808000200228020821040b2002200441016a360208200228020420046a41fd003a00000c020b0240024020002802042203450d00410021022003410047210720002802082108418002210003402000210902400240024020020d002007410171450d00410121072008450d0120082102024020084107712200450d0003402002417f6a210220032802bc0221032000417f6a22000d000b0b20084108490d01034020032802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022103200241786a22020d000c020b0b20074101710d0141ac8ac58000108a81808000000b2003210241002103410021080b02400240024002400240200820022f01ba024f0d0020022100200821040c010b034020022802b0012200450d02200341016a210320022f01b802210420002102200420002f01ba024f0d000b0b0240024020030d00200441016a2108200021020c010b200020044102746a41c0026a2802002102410021082003417f6a2205450d002003417e6a210a024020054107712203450d0003402005417f6a210520022802bc0221022003417f6a22030d000b0b200a4107490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200541786a22050d000b0b20094101710d012004410474210520002004410c6c6a220341bc016a2802002104200341b8016a280200210a024020094180fe0371418002460d000240200128020022032802002003280208220b470d002003200b41014101410110948a8080002003280208210b0b2003200b41016a3602082003280204200b6a412c3a00000b200020056a210520012002200a200410938a8080001a02402001280200220328020020032802082200470d002003200041014101410110948a808000200328020821000b2003200041016a360208200328020420006a413a3a00002005200110958a8080002200450d020c080b419c8ac58000108a81808000000b41c8edc48000412841c48ec5800010f480808000000b200941ff817c71418004722100410021032006417f6a22060d000b20094101710d010b02402001280200220228020020022802082203470d002002200341014101410110948a808000200228020821030b2002200341016a360208200228020420036a41fd003a00000c020b41c8edc48000412841d48ec5800010f480808000000b41c8edc48000412841e48ec5800010f480808000000b410021000b20000ba40401077f0240024002400240200128022022020d00410021020c010b20012002417f6a36022002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac1421022004417f6a22040d000b0b20034108490d00034020022802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d030b2001280208210302400240200128020c2204200128020422052f01aa144f0d00200521020c010b034020052802a0132202450d03200341016a210320052f01a814210420022105200420022f01aa144f0d000b0b0240024020030d00200441016a2106200221050c010b200220044102746a41b0146a2802002105410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720052802ac1421052003417f6a22030d000b0b20084107490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200741786a22070d000b0b2001200636020c20014100360208200120053602042002200441e0016c6a210520022004410c6c6a41a4136a21020b20002005360204200020023602000f0b41e8b3c18000108a81808000000b4198efc48000108a81808000000bc00501047f2380808080004180016b220124808080800020014289df9d82f38181923837000a200142d7f0f3fea28baccae7003700022001411c6a200141026a411041002802a8bdd380001185808080000002400240200128021c2202418080808078460d0020012802202103024020012802244110490d00200141026a2003411010ed96808000210402402002450d00200341002802a8bfd38000118080808000000b20040d0120004200370300200041086a42003703000c020b2002450d00200341002802a8bfd38000118080808000000b200141003b011241002102024041002802ecbfd380004103490d0020014104360218200141fcc5c38000360214200141df82808000ad422086200141126aad84370368200141ed80808000ad422086200141146aad8437036041002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142023702542001410336024c200141b0f0c4800036024820014116360244200141dbeac48000360240200142bf808080303702382001419ceac480003602342001421337022c200141f1eac480003602282001410036022420014281808080f00937021c200241c4dbc88000200441024622041b28021021022001200141e0006a360250200341dcdbc8800020041b2001411c6a2002118b808080000020012f011221020b2001411c6a41fcc5c3800041044100280290bfd38000118580808000002001411c6a41106a220341809ac5800041154100280290bfd3800011858080800000200141e0006a41186a2001411c6a41186a290000370300200141e0006a41106a2003290000370300200141e0006a41086a2001411c6a41086a2900003703002001200129001c370360200120023b011c200141e0006a41202001411c6a410241002802c8bdd3800011838080800000200041086a4200370300200042003703000b20014180016a2480808080000bf60201047f23808080800041c0006b220224808080800020022000360204410121000240200128021c220341948fc58000410e2001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110cc888080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10cc888080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000bc00501047f2380808080004180016b2201248080808000200142a988d1e9f0b7bbcf9c7f37000a200142dc9ac4b0d794dae0793700022001411c6a200141026a411041002802a8bdd380001185808080000002400240200128021c2202418080808078460d0020012802202103024020012802244110490d00200141026a2003411010ed96808000210402402002450d00200341002802a8bfd38000118080808000000b20040d0120004200370300200041086a42003703000c020b2002450d00200341002802a8bfd38000118080808000000b200141003b011241002102024041002802ecbfd380004103490d0020014104360218200141a3c6c38000360214200141df82808000ad422086200141126aad84370368200141ed80808000ad422086200141146aad8437036041002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142023702542001410336024c200141b0f0c4800036024820014116360244200141dbeac48000360240200142bf8080803037023820014184ebc480003602342001421337022c200141c3ebc480003602282001410036022420014281808080c01237021c200241c4dbc88000200441024622041b28021021022001200141e0006a360250200341dcdbc8800020041b2001411c6a2002118b808080000020012f011221020b2001411c6a41a3c6c3800041044100280290bfd38000118580808000002001411c6a41106a220341809ac5800041154100280290bfd3800011858080800000200141e0006a41186a2001411c6a41186a290000370300200141e0006a41106a2003290000370300200141e0006a41086a2001411c6a41086a2900003703002001200129001c370360200120023b011c200141e0006a41202001411c6a410241002802c8bdd3800011838080800000200041086a4200370300200042003703000b20014180016a2480808080000b9c0601077f024002400240200128022022020d0020012802002102200141003602002002450d02200128020422020d0120012802082102200128020c2203450d0102400240200341077122040d00200321050c010b2003210503402005417f6a210520022802900221022004417f6a22040d000b0b20034108490d010340200228029002280290022802900228029002280290022802900228029002280290022102200541786a22050d000c020b0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802900221022004417f6a22040d000b0b20034108490d000340200228029002280290022802900228029002280290022802900228029002280290022102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b200128020821040240024002400240200128020c2203200128020422022f018e024f0d00200221050c010b03402002280288022205450d0220022f018c022103200241002802a8bfd3800011808080800000200441016a210420052102200320052f018e024f0d000b0b024020040d00200341016a2106200521020c020b200520034102746a4194026a2802002102410021062004417f6a2207450d012004417e6a2108024020074107712204450d0003402007417f6a210720022802900221022004417f6a22040d000b0b20084107490d010340200228029002280290022802900228029002280290022802900228029002280290022102200741786a22070d000c020b0b200241002802a8bfd380001180808080000041d8b3c18000108a81808000000b2001200636020c200141003602082001200236020420002005200341186c6a2202290200370200200041086a200241086a290200370200200041106a200241106a2902003702000f0b418c8ac58000108a81808000000b03402002280288022105200241002802a8bfd38000118080808000002005210220050d000b0b20004180808080783602000bac0601077f024002400240200128022022020d0020012802002102200141003602002002450d02200128020422020d0120012802082102200128020c2203450d0102400240200341077122040d00200321050c010b2003210503402005417f6a210520022802900221022004417f6a22040d000b0b20034108490d010340200228029002280290022802900228029002280290022802900228029002280290022102200541786a22050d000c020b0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802900221022004417f6a22040d000b0b20034108490d000340200228029002280290022802900228029002280290022802900228029002280290022102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b200128020821040240024002400240200128020c2203200128020422022f018e024f0d00200221050c010b034020022802002205450d0220022f018c022103200241002802a8bfd3800011808080800000200441016a210420052102200320052f018e024f0d000b0b024020040d00200341016a2106200521020c020b200520034102746a4194026a2802002102410021062004417f6a2207450d012004417e6a2108024020074107712204450d0003402007417f6a210720022802900221022004417f6a22040d000b0b20084107490d010340200228029002280290022802900228029002280290022802900228029002280290022102200741786a22070d000c020b0b200241002802a8bfd380001180808080000041d8b3c18000108a81808000000b2001200636020c2001410036020820012002360204200020052003410c6c6a220241046a290200370200200041086a2002410c6a280200360200200020024188016a29020037020c200041146a20024190016a2802003602000f0b418c8ac58000108a81808000000b034020022802002105200241002802a8bfd38000118080808000002005210220050d000b0b20004180808080783602000ba00601077f024002400240200128022022020d0020012802002102200141003602002002450d02200128020422020d0120012802082102200128020c2203450d0102400240200341077122040d00200321050c010b2003210503402005417f6a210520022802b80121022004417f6a22040d000b0b20034108490d01034020022802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012102200541786a22050d000c020b0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802b80121022004417f6a22040d000b0b20034108490d00034020022802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b200128020821030240024002400240200128020c2204200128020422022f01b6014f0d00200221050c010b034020022802002205450d0220022f01b4012104200241002802a8bfd3800011808080800000200341016a210320052102200420052f01b6014f0d000b0b024020030d00200441016a2106200521020c020b200520044102746a41bc016a2802002102410021062003417f6a2207450d012003417e6a2108024020074107712203450d0003402007417f6a210720022802b80121022003417f6a22030d000b0b20084107490d01034020022802b8012802b8012802b8012802b8012802b8012802b8012802b8012802b8012102200741786a22070d000c020b0b200241002802a8bfd380001180808080000041d8b3c18000108a81808000000b2001200636020c2001410036020820012002360204200020052004410c6c6a220241306a2902003702042000410c6a200241386a2802003602002000200520044102746a41046a2802003602000f0b418c8ac58000108a81808000000b034020022802002105200241002802a8bfd38000118080808000002005210220050d000b0b20004180808080783602040bb80601077f024002400240200128022022020d0020012802002102200141003602002002450d02200128020422020d0120012802082102200128020c2203450d0102400240200341077122040d00200321050c010b2003210503402005417f6a210520022802e40c21022004417f6a22040d000b0b20034108490d01034020022802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2102200541786a22050d000c020b0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802e40c21022004417f6a22040d000b0b20034108490d00034020022802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b200128020821030240024002400240200128020c2204200128020422022f01e20c4f0d00200221050c010b03402002280288022205450d0220022f01e00c2104200241002802a8bfd3800011808080800000200341016a210320052102200420052f01e20c4f0d000b0b024020030d00200441016a2106200521020c020b200520044102746a41e80c6a2802002102410021062003417f6a2207450d012003417e6a2108024020074107712203450d0003402007417f6a210720022802e40c21022003417f6a22030d000b0b20084107490d01034020022802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2102200741786a22070d000c020b0b200241002802a8bfd380001180808080000041d8b3c18000108a81808000000b2001200636020c200141003602082001200236020420002005200441186c6a2202290200370200200041086a200241086a290200370200200041106a200241106a290200370200200041186a2005200441fc006c6a418c026a41fc0010e9968080001a0f0b418c8ac58000108a81808000000b03402002280288022105200241002802a8bfd38000118080808000002005210220050d000b0b20004180808080783602000ba90601077f024002400240200128022022020d0020012802002102200141003602002002450d02200128020422020d0120012802082102200128020c2203450d0102400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac1421022004417f6a22040d000b0b20034108490d01034020022802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142102200541786a22050d000c020b0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac1421022004417f6a22040d000b0b20034108490d00034020022802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b200128020821030240024002400240200128020c2204200128020422022f01aa144f0d00200221050c010b034020022802a0132205450d0220022f01a8142104200241002802a8bfd3800011808080800000200341016a210320052102200420052f01aa144f0d000b0b024020030d00200441016a2106200521020c020b200520044102746a41b0146a2802002102410021062003417f6a2207450d012003417e6a2108024020074107712203450d0003402007417f6a210720022802ac1421022003417f6a22030d000b0b20084107490d01034020022802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142102200741786a22070d000c020b0b200241002802a8bfd380001180808080000041d8b3c18000108a81808000000b2001200636020c2001410036020820012002360204200020052004410c6c6a220241a4136a290200370200200041086a200241ac136a2802003602002000410c6a2005200441e0016c6a41e00110e9968080001a0f0b418c8ac58000108a81808000000b034020022802a0132105200241002802a8bfd38000118080808000002005210220050d000b0b20004180808080783602000ba90601077f024002400240200128022022020d0020012802002102200141003602002002450d02200128020422020d0120012802082102200128020c2203450d0102400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac0921022004417f6a22040d000b0b20034108490d01034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200541786a22050d000c020b0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac0921022004417f6a22040d000b0b20034108490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b200128020821030240024002400240200128020c2204200128020422022f01aa094f0d00200221050c010b034020022802a0082205450d0220022f01a8092104200241002802a8bfd3800011808080800000200341016a210320052102200420052f01aa094f0d000b0b024020030d00200441016a2106200521020c020b200520044102746a41b0096a2802002102410021062003417f6a2207450d012003417e6a2108024020074107712203450d0003402007417f6a210720022802ac0921022003417f6a22030d000b0b20084107490d01034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200741786a22070d000c020b0b200241002802a8bfd380001180808080000041d8b3c18000108a81808000000b2001200636020c2001410036020820012002360204200020052004410c6c6a220241a4086a290200370200200041086a200241ac086a2802003602002000410c6a2005200441e0006c6a41e00010e9968080001a0f0b418c8ac58000108a81808000000b034020022802a0082105200241002802a8bfd38000118080808000002005210220050d000b0b20004180808080783602000bfb0501077f024002400240200128022022020d0020012802002102200141003602002002450d02200128020422020d0120012802082102200128020c2203450d0102400240200341077122040d00200321050c010b2003210503402005417f6a210520022802f80621022004417f6a22040d000b0b20034108490d01034020022802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062102200541786a22050d000c020b0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802f80621022004417f6a22040d000b0b20034108490d00034020022802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b200128020821040240024002400240200128020c2203200128020422022f01f6064f0d00200221050c010b034020022802f0062205450d0220022f01f4062103200241002802a8bfd3800011808080800000200441016a210420052102200320052f01f6064f0d000b0b024020040d00200341016a2106200521020c020b200520034102746a41fc066a2802002102410021062004417f6a2207450d012004417e6a2108024020074107712204450d0003402007417f6a210720022802f80621022004417f6a22040d000b0b20084107490d01034020022802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062102200741786a22070d000c020b0b200241002802a8bfd380001180808080000041d8b3c18000108a81808000000b2001200636020c200141003602082001200236020420002005200341d0006c6a41d00010e9968080001a0f0b418c8ac58000108a81808000000b034020022802f0062105200241002802a8bfd38000118080808000002005210220050d000b0b200041023a004c0be60202077f017e23808080800041306b2203248080808000410021040240024020012002460d000340200141146a2105200341286a21062003412c6a210741102108410c2109024002400240024020012d00000e050301010002030b2003412c6a2106200341086a2107410c2108410821090b2007200120096a2802003602002006200120086a2802003602000b2005210120052002470d010c020b0240200128000141e1eac98b06460d002005210120052002470d010c020b0b20012802104108490d01200128020c290000210a20034282fceae49dd9e2861d370020200342de8c84a1ecd0a6d30c37001820034289df9d82f381819238370010200342d7f0f3fea28baccae7003700082003200341086a412010868880800002402003280200450d0020032802042201450d00200a2001ad82a72105410121040c020b41b0f2c48000108981808000000b0b2000200536020420002004360200200341306a2480808080000bd70102017f017e23808080800041c0006b22012480808080002001200042f02e802200370300200142e9c5fea9cdfbc4d26d37002820014286aaece2939beae46537002020014289df9d82f381819238370018200142d7f0f3fea28baccae700370010200141306a200141106a412010ba8380800020012001290338420020012802301b2202370308024020022000510d002001420037021c20014281808080c000370214200141f0f3c480003602104100200141086a2001200141106a41f8f3c4800010fc8c808000000b200141c0006a2480808080000b930301037f23808080800041306b220224808080800002402001450d0020024282fceae49dd9e2861d370028200242de8c84a1ecd0a6d30c37002020024289df9d82f381819238370018200242d7f0f3fea28baccae700370010200241046a200241106a412010ff8380800002400240024020022802042203418080808078460d0020022802082104200228020c0d012003450d00200441002802a8bfd38000118080808000000b20014121490d0120022001360214200220003602104198f4c480004139200241106a4188f4c4800041d4f4c4800010a481808000000b02402003450d00200441002802a8bfd38000118080808000000b200241003602202002410136021420024188f5c4800036021020024204370218200241106a4190f5c4800010f280808000000b200220013602082002200036020420024282fceae49dd9e2861d370028200242de8c84a1ecd0a6d30c37002020024289df9d82f381819238370018200242d7f0f3fea28baccae700370010200241046a200241106a412010ad888080000b200241306a2480808080000b8b0501047f23808080800041306b22012480808080002001410036021420014280808080800137020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d002002411b360204200241e5f5c480003602002001410036022c2001428080808010370224200141186a200141246a10b1888080002001410c6a41ac99c4800010a58a8080002001280210220341003602002003420b370244200341929ac48000360240200341b082808000360218200342f2d1b595f8ed95ff7a370210200342ac8282c6c587c1dfe2003702082003200129021837025c200341013a0074200341013602702003200236026c20034101360268200341e4006a200141186a41086a2802003602002001410136021441002d00b8bfd380001a411841002802b0bfd38000118280808000002202450d01200241a0f5c4800036020020024125360214200241c0f5c480003602102002410036020c200242a08080801037020441002d00b8bfd380001a410841002802b0bfd38000118280808000002204450d02200442003700000240200128020c4101470d002001410c6a41ac99c4800010a58a808000200128021021030b200341013a00ec01200341033602e801200320023602e40120034288808080303702dc01200320043602d801200341083602d4012003420b3702bc01200341ee9ec480003602b801200341828280800036029001200342b1bafce0d8ff83847d37028801200342dcaba9f9efbf9de32437028001200341003602782000200129020c370200200041086a410236020020004104360210200041fcc5c3800036020c200141306a2480808080000f0b4104410810b980808000000b4104411810b980808000000b4101410810b980808000000bf90103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42f8007e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841f8ffffff074b0d004100210502402004450d002002200441f8006c36021c20022000280204360214410821050b20022005360218200241086a41082008200241146a10e18a80800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bd60201037f41002d00b8bfd380001a0240024041d00041002802b0bfd38000118280808000002201450d0041002d00b8bfd380001a0240410841002802b0bfd38000118280808000002202450d00200242f02e37000041002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024104412010b980808000000b4101410810b980808000000b410841d00010b980808000000b200341cd0036021c20034192f7c4800036021820034100360214200342cf8080801037020c200341c3f6c48000360208200341c30036020420034180f6c480003602002001200236022420014108360220200142043702342001200336023020014288808080c000370328200141e980808000360218200142a5e9e3ab9e929adc2c37031020014293888c8f89fdc6ec9e7f3703082001410c360204200141dff7c480003602002000410136020820002001360204200041013602000bc50301037f23808080800041f0006b2202248080808000200241306a2001410d6a290000370300200241386a200141156a290000370300200241c0006a2001411d6a290000370300200128020022032003280200417f6a22033602002002200129000537032820012d00042104024020030d00200110cd8b8080000b024002400240024020040e020102000b200041023a00000c020b2000410f3a00000c010b200241086a41186a200241286a41186a290300370300200241086a41106a200241286a41106a290300370300200241086a41086a200241286a41086a29030037030020022002290328370308200242e7adb0ba9bbab2f2fb00370068200242d39cf0bdba80f2ac10370060200242a988d1e9f0b7bbcf9c7f370058200242dc9ac4b0d794dae079370050200241286a200241d0006a41201090848080000240024020022d0028450d00200241d0006a41186a200241c1006a290000370300200241d0006a41106a200241396a290000370300200241d0006a41086a200241316a29000037030020022002290029370350200241d0006a200241086a412010ed96808000450d010b200010f0878080000c010b2000410f3a00000b200241f0006a2480808080000bfc0603067f017e037f23808080800041c0006b2201248080808000200141246a41eef8c48000410441c3ebc4800041134104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a0240024002400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241f2f8c4800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b80800041002d00b8bfd380001a200128020c210320012802102104200128021421052001280224210620012902282107410841002802b0bfd38000118280808000002208450d01200841002903b8f9c480003702002001410036021420014280808080c00037020c200141306a2001410c6a41c0f9c48000410410c5858080002001410c6a200141306a41c4f9c480004115109585808000200141306a2001410c6a41d9f9c48000410710ca858080002001410c6a200141306a41e0f9c48000410710908580800041002d00b8bfd380001a411841002802b0bfd38000118280808000002209450d02200941106a41002902bce5c18000370200200941086a41002902b4e5c18000370200200941002902ace5c18000370200024020012802142202200128020c470d002001410c6a41d0e1c1800010af968080000b2001280210200241246c220a6a220241043a00202002410a36021c200241e7f9c4800036021820024103360214200220093602102002428080808030370208200242808080808001370200200128021021022001200128020c3602142001200236020c20012002200a6a41246a36021820012002360210200141306a2001410c6a41bccec2800010af8b8080002006418080808078460d03200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410810b980808000000b4104411810b980808000000b41f0e1c1800041114184e2c18000108b81808000000be00503067f017e027f23808080800041c0006b2201248080808000200141246a41f1f9c48000410541c3ebc4800041134104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a0240024002400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241f2f8c4800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b80800041002d00b8bfd380001a200128020c210320012802102104200128021421052001280224210620012902282107410841002802b0bfd38000118280808000002208450d0120084100290390fac4800037020041002d00b8bfd380001a2001410036021420014280808080c00037020c410841002802b0bfd38000118280808000002209450d0220094100290288e9c180003702002001410c6a41d0e1c1800010af968080002001280210220242808080808001370200200241003a00202002410b36021c20024198fac4800036021820024101360214200220093602102002428080808010370208200128021021022001200128020c3602142001200236020c2001200241246a36021820012002360210200141306a2001410c6a41bccec2800010af8b8080002006418080808078460d03200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41a892c4800010b08b8080002001410c6a410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410810b980808000000b4104410810b980808000000b41f0e1c1800041114184e2c18000108b81808000000bcb0603067f017e047f23808080800041c0006b2201248080808000200141186a41a3fac48000410541c3ebc4800041134104410010c791808000200142043702102001420037020820014280808080800137020041002d00b8bfd380001a0240024002400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241f2f8c4800036020020014101360238200120023602302001200241206a36023c200120023602342001200141306a41bccec2800010b08b80800041002d00b8bfd380001a20012802002103200128020421042001280208210520012802182106200129021c2107410841002802b0bfd38000118280808000002208450d01200841002903c8fac480003702002001410036020820014280808080c000370200200141306a200141d0fac48000410510d2858080002001200141306a41d5fac48000410a10ac8580800041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d02200941002902c0eac1800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220241023a00202002410a36021c200241dffac4800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a220b200a41016a36020020012001290200370330200141246a200141306a41e9fac48000410a10ad85808000200128022c210920012802282102200120012802243602082001200236020020012002200941246c6a36020c20012002360204200141306a200141bccec2800010af8b8080002006418080808078460d032001200336020820012004360200200120043602042001200420054105746a36020c200041c4006a200141a892c4800010b08b8080002001410b6a200b2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410810b980808000000b4104410810b980808000000b41f0e1c1800041114184e2c18000108b81808000000bbf0b02067f037e2380808080004190026b220224808080800002400240024002400240024002400240024002400240024002400240200128020022032802082204280208220520042802102206460d00200641016a2207450d07200720054b0d0820042802042105200420073602102003427f200329030042017c22082008501b370300200520066a2d00000e050102030405060b2000410a3a00000c0c0b2001417f2001280204220441f0006a220620062004491b22043602040240200420012802084f0d0041002d00b8bfd380001a41f00041002802b0bfd38000118280808000002204450d08200241306a200110b0878080002002280230418980808078470d09200441002802a8bfd38000118080808000000b2000410a3a00000c0b0b2001417f2001280204220441f0006a220620062004491b220436020402400240200420012802084f0d0041002d00b8bfd380001a41f00041002802b0bfd38000118280808000002204450d0a200241306a200110b0878080002002280230418980808078470d01200441002802a8bfd38000118080808000000b2000410a3a00000c0b0b200241a0016a200241306a41f00010e9968080001a2004200241a0016a41f00010e9968080002104200241a0016a200110cc83808000024020022802a0010d0020022903a8012108200241a0016a200110cc8380800020022802a0010d0020022903a8012109200020043602182000200937031020002008370308200041063a00000c0b0b2000410a3a0000200410ac8a808000200441002802a8bfd38000118080808000000c0a0b200241086a200110fb88808000024020022d00084105460d00200241306a41206a200241086a41206a2802002204360200200241306a41186a200241086a41186a2902002208370300200241306a41106a200241086a41106a2902002209370300200241306a41086a200241086a41086a290200220a370300200241ab016a200a370000200241b3016a2009370000200241bb016a2008370000200241c3016a2004360000200220022902082208370330200220083700a301200020022900a001370001200041096a200241a0016a41086a290000370000200041116a200241a0016a41106a290000370000200041196a200241a0016a41186a290000370000200041206a200241bf016a290000370000200041073a00000c0a0b2000410a3a00000c090b200241a0016a200110fb888080000240024020022d00a00122044105460d002002412c6a41026a20022d00a3013a0000200241106a200241b4016a290200370300200241186a200241bc016a290200370300200220022f00a1013b012c200220022902ac0137030820022802a401210520022802a80121072001417f2001280204220641f0006a220320032006491b22063602040240200620012802084f0d0041002d00b8bfd380001a41f00041002802b0bfd38000118280808000002206450d0a200241306a200110b0878080002002280230418980808078470d02200641002802a8bfd38000118080808000000b2000410a3a000020044102470d0a2005450d0a200741002802a8bfd38000118080808000000c0a0b2000410a3a00000c090b200241a0016a200241306a41f00010e9968080001a2006200241a0016a41f00010e9968080002101200020043a0000200020022f012c3b0001200041036a2002412e6a2d00003a000020002007360208200020053602042000200229030837020c200041146a200241106a2903003702002000411c6a200241186a290300370200200020013602240c080b200041093a00000c070b2000410a3a00000c060b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b411041f00010b980808000000b200241a0016a200241306a41f00010e9968080001a20002004200241a0016a41f00010e996808000360204200041053a00000c020b411041f00010b980808000000b411041f00010b980808000000b20024190026a2480808080000bcb0c01087f23808080800041306b2201248080808000024002400240024002400240024002402000280200220241ffffffff076a2203410120034108491b0e080102070703040500010b20002802084104470d06200028020c450d06200028021021030c050b0240024002400240024002400240024020002d0008417f6a0e0a010d0203040506070d0d000b200028020c450d0c200028021021030c0b0b200028020c450d0b200028021021030c0a0b200028020c450d0a200028021021030c090b200028020c450d09200028021021030c080b2000410c6a10d88b808000200028020c450d08200028021021030c070b20002802102103024020002802142202450d002002410171210441002105024020024101460d002002417e7121062003210241002105034002402002280200450d00200241046a28020041002802a8bfd38000118080808000000b02402002410c6a280200450d00200241106a28020041002802a8bfd38000118080808000000b200241186a21022006200541026a2205470d000b0b2004450d0020032005410c6c6a2202280200450d00200228020441002802a8bfd38000118080808000000b200028020c0d060c070b2000280210450d06200028021421030c050b200028020c450d05200028021021030c040b02402002418080808078470d002000280204450d05200028020821030c040b02402002450d00200028020441002802a8bfd38000118080808000000b200041d8006a10d98a808000200028023821060240200028023c2203450d002003410171210441002102024020034101460d002003417e7121052006210341002102034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b0240200341106a280200450d00200341146a28020041002802a8bfd38000118080808000000b200341206a21032005200241026a2202470d000b0b2004450d00200620024104746a2203280200450d00200328020441002802a8bfd38000118080808000000b02402000280234450d00200641002802a8bfd38000118080808000000b02400240200028026422030d0041002103410021020c010b2001200336022420014100360220200120033602142001410036021020012000280268220336022820012003360218200028026c2102410121030b2001200236022c2001200336021c2001200336020c2001410c6a10fd8980800020002802442107024020002802482208450d0041002104034002402007200441f0006c6a22062802082202450d00200628020421030340024020032d0000220541034b0d002003200541027441bc97c580006a2802006a2205280200450d00200541046a28020041002802a8bfd38000118080808000000b200341146a21032002417f6a22020d000b0b02402006280200450d00200628020441002802a8bfd38000118080808000000b200441016a22042008470d000b0b02402000280240450d00200741002802a8bfd38000118080808000000b200028024c41808080807872418080808078460d04200028025021030c030b024002400240024002400240024020002d0010417f6a0e07000102030405060a0b20002d00144102470d092000280218450d09200028021c21030c080b024020002d00144102470d002000280218450d00200028021c41002802a8bfd38000118080808000000b20002d00384102470d08200028023c450d08200028024021030c070b20002d00144102470d072000280218450d07200028021c21030c060b20002d00144102470d062000280218450d06200028021c21030c050b20002d00144102470d052000280218450d05200028021c21030c040b2000280214450d04200028021821030c030b20002d00144102470d032000280218450d03200028021c21030c020b024002400240024020002d00082203417c6a41042003417b6a41ff01714105491b417f6a0e0400010203060b200028020c220310ac8a8080000c040b2000280220220310ac8a8080000c030b20002d000c4102470d032000280210450d03200028021421030c020b024020034102470d00200028020c450d00200028021041002802a8bfd38000118080808000000b200028022c220310ac8a8080000c010b200028020441808080807872418080808078460d01200028020821030b200341002802a8bfd38000118080808000000b200141306a2480808080000b910c02067f037e2380808080004190026b22022480808080000240024002400240024002400240024002400240200128020022032802082204280204200428020c22054b0d00024020042802082204280208220620042802102205470d00410121040c030b200541016a2207450d03200720064b0d042004280204210620042007360210200620056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2003427f200329030042017c22082008501b370300410021040b024002400240024002400240024020044101710d00200541ff01710e050102030405060b2000410a3a00000c0c0b2001417f2001280204220441f0006a220320032004491b22043602040240200420012802084f0d0041002d00b8bfd380001a41f00041002802b0bfd38000118280808000002204450d08200241306a200110b1878080002002280230418980808078470d09200441002802a8bfd38000118080808000000b2000410a3a00000c0b0b2001417f2001280204220441f0006a220320032004491b220436020402400240200420012802084f0d0041002d00b8bfd380001a41f00041002802b0bfd38000118280808000002204450d0a200241306a200110b1878080002002280230418980808078470d01200441002802a8bfd38000118080808000000b2000410a3a00000c0b0b200241a0016a200241306a41f00010e9968080001a2004200241a0016a41f00010e9968080002104200241a0016a200110ca83808000024020022802a0010d0020022903a8012108200241a0016a200110ca8380800020022802a0010d0020022903a8012109200020043602182000200937031020002008370308200041063a00000c0b0b2000410a3a0000200410ac8a808000200441002802a8bfd38000118080808000000c0a0b200241086a200110f788808000024020022d00084105460d00200241306a41206a200241086a41206a2802002204360200200241306a41186a200241086a41186a2902002208370300200241306a41106a200241086a41106a2902002209370300200241306a41086a200241086a41086a290200220a370300200241ab016a200a370000200241b3016a2009370000200241bb016a2008370000200241c3016a2004360000200220022902082208370330200220083700a301200020022900a001370001200041096a200241a0016a41086a290000370000200041116a200241a0016a41106a290000370000200041196a200241a0016a41186a290000370000200041206a200241bf016a290000370000200041073a00000c0a0b2000410a3a00000c090b200241a0016a200110f7888080000240024020022d00a00122044105460d002002412c6a41026a20022d00a3013a0000200241106a200241b4016a290200370300200241186a200241bc016a290200370300200220022f00a1013b012c200220022902ac0137030820022802a401210620022802a80121072001417f2001280204220341f0006a220520052003491b22033602040240200320012802084f0d0041002d00b8bfd380001a41f00041002802b0bfd38000118280808000002203450d0a200241306a200110b1878080002002280230418980808078470d02200341002802a8bfd38000118080808000000b2000410a3a000020044102470d0a2006450d0a200741002802a8bfd38000118080808000000c0a0b2000410a3a00000c090b200241a0016a200241306a41f00010e9968080001a2003200241a0016a41f00010e9968080002101200020043a0000200020022f012c3b0001200041036a2002412e6a2d00003a000020002007360208200020063602042000200229030837020c200041146a200241106a2903003702002000411c6a200241186a290300370200200020013602240c080b200041093a00000c070b2000410a3a00000c060b417f200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000b411041f00010b980808000000b200241a0016a200241306a41f00010e9968080001a20002004200241a0016a41f00010e996808000360204200041053a00000c020b411041f00010b980808000000b411041f00010b980808000000b20024190026a2480808080000b890b03047f037e027f2380808080004190026b22022480808080000240024002400240024002400240024002400240024002402001280200220328020822042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e050102030405060b2000410a3a00000c0a0b2001417f2001280204220441f0006a220320032004491b22043602040240200420012802084f0d0041002d00b8bfd380001a41f00041002802b0bfd38000118280808000002204450d06200241306a200110b3878080002002280230418980808078470d07200441002802a8bfd38000118080808000000b2000410a3a00000c090b2001417f2001280204220441f0006a220320032004491b220436020402400240200420012802084f0d0041002d00b8bfd380001a41f00041002802b0bfd38000118280808000002204450d08200241306a200110b3878080002002280230418980808078470d01200441002802a8bfd38000118080808000000b2000410a3a00000c090b200241a0016a200241306a41f00010e9968080001a2004200241a0016a41f00010e9968080002104200241a0016a200110c983808000024020022802a0010d0020022903a8012106200241a0016a200110c98380800020022802a0010d0020022903a8012107200020043602182000200737031020002006370308200041063a00000c090b2000410a3a0000200410ac8a808000200441002802a8bfd38000118080808000000c080b200241086a200110fa88808000024020022d00084105460d00200241306a41206a200241086a41206a2802002201360200200241306a41186a200241086a41186a2902002206370300200241306a41106a200241086a41106a2902002207370300200241306a41086a200241086a41086a2902002208370300200241ab016a2008370000200241b3016a2007370000200241bb016a2006370000200241c3016a2001360000200220022902082206370330200220063700a301200020022900a001370001200041096a200241a0016a41086a290000370000200041116a200241a0016a41106a290000370000200041196a200241a0016a41186a290000370000200041206a200241bf016a290000370000200041073a00000c080b2000410a3a00000c070b200241a0016a200110fa888080000240024020022d00a00122044105460d002002412c6a41026a20022d00a3013a0000200241106a200241b4016a290200370300200241186a200241bc016a290200370300200220022f00a1013b012c200220022902ac0137030820022802a401210920022802a801210a2001417f2001280204220341f0006a220520052003491b22033602040240200320012802084f0d0041002d00b8bfd380001a41f00041002802b0bfd38000118280808000002203450d08200241306a200110b3878080002002280230418980808078470d02200341002802a8bfd38000118080808000000b2000410a3a000020044102470d082009450d08200a41002802a8bfd38000118080808000000c080b2000410a3a00000c070b200241a0016a200241306a41f00010e9968080001a2003200241a0016a41f00010e9968080002101200020043a0000200020022f012c3b0001200041036a2002412e6a2d00003a00002000200a360208200020093602042000200229030837020c200041146a200241106a2903003702002000411c6a200241186a290300370200200020013602240c060b200041093a00000c050b2000410a3a00000c040b411041f00010b980808000000b200241a0016a200241306a41f00010e9968080001a20002004200241a0016a41f00010e996808000360204200041053a00000c020b411041f00010b980808000000b411041f00010b980808000000b20024190026a2480808080000ba80c03047f037e027f2380808080004190026b22022480808080000240024002400240024002400240024002400240024002402001280200220328020828020022042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e050102030405060b2000410a3a00000c0a0b20032802082204200428020441016a22033602040240200320042802084b0d002001417f2001280204220441f0006a220320032004491b2204360204200420012802084f0d0041002d00b8bfd380001a41f00041002802b0bfd38000118280808000002204450d06200241306a200110b2878080002002280230418980808078470d07200441002802a8bfd38000118080808000000b2000410a3a00000c090b20032802082204200428020441016a220336020402400240200320042802084b0d002001417f2001280204220441f0006a220320032004491b2204360204200420012802084f0d0041002d00b8bfd380001a41f00041002802b0bfd38000118280808000002204450d08200241306a200110b2878080002002280230418980808078470d01200441002802a8bfd38000118080808000000b2000410a3a00000c090b200241a0016a200241306a41f00010e9968080001a2004200241a0016a41f00010e9968080002104200128020028020822032003280204417f6a360204200241a0016a200110cb83808000024020022802a0010d0020022903a8012106200241a0016a200110cb8380800020022802a0010d0020022903a8012107200020043602182000200737031020002006370308200041063a00000c090b2000410a3a0000200410ac8a808000200441002802a8bfd38000118080808000000c080b200241086a200110f988808000024020022d00084105460d00200241306a41206a200241086a41206a2802002204360200200241306a41186a200241086a41186a2902002206370300200241306a41106a200241086a41106a2902002207370300200241306a41086a200241086a41086a2902002208370300200241ab016a2008370000200241b3016a2007370000200241bb016a2006370000200241c3016a2004360000200220022902082206370330200220063700a301200020022900a001370001200041096a200241a0016a41086a290000370000200041116a200241a0016a41106a290000370000200041196a200241a0016a41186a290000370000200041206a200241bf016a290000370000200041073a00000c080b2000410a3a00000c070b200241a0016a200110f9888080000240024020022d00a00122034105460d002002412c6a41026a20022d00a3013a0000200241106a200241b4016a290200370300200241186a200241bc016a290200370300200220022f00a1013b012c200220022902ac0137030820022802a401210920022802a801210a20012802002802082204200428020441016a22053602040240200520042802084b0d002001417f2001280204220441f0006a220520052004491b2204360204200420012802084f0d0041002d00b8bfd380001a41f00041002802b0bfd38000118280808000002204450d08200241306a200110b2878080002002280230418980808078470d02200441002802a8bfd38000118080808000000b2000410a3a000020034102470d082009450d08200a41002802a8bfd38000118080808000000c080b2000410a3a00000c070b200241a0016a200241306a41f00010e9968080001a2004200241a0016a41f00010e9968080002104200020033a0000200020022f012c3b0001200041036a2002412e6a2d00003a00002000200a360208200020093602042000200229030837020c200041146a200241106a2903003702002000411c6a200241186a290300370200200128020028020822012001280204417f6a360204200020043602240c060b200041093a00000c050b2000410a3a00000c040b411041f00010b980808000000b200241a0016a200241306a41f00010e9968080001a20002004200241a0016a41f00010e996808000360204200041053a0000200128020028020822042004280204417f6a3602040c020b411041f00010b980808000000b411041f00010b980808000000b20024190026a2480808080000bfe0301037f23808080800041106b220224808080800002400240024002400240024020002d00002203417c6a41042003417b6a41ff01714105491b417f6a0e050001020304000b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a41003a00002001200341016a3602082000280204200110b6878080000c040b200041086a21040240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a41013a00002001200341016a3602082000280218200110b68780800020022004360208200241086a200110d6838080002002200041106a36020c2002410c6a200110d6838080000c030b200041046a21030240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41023a00002003200110fd888080000c020b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41033a00002000200110fd888080002000280224200110b6878080000c010b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41043a00000b200241106a2480808080000bfc0202037f017e410021010240024002400240024020002d00002202417c6a41042002417b6a41ff01714105491b417f6a0e050001020304000b200028020410b58780800021010c030b200028021810b5878080002101410121024101210302402000290308220442c000540d0002402004428080015a0d00410221030c010b024020044280808080045a0d00410421030c010b4109200479a74103766b21030b02402000290310220442c000540d0002402004428080015a0d00410221020c010b024020044280808080045a0d00410421020c010b4109200479a74103766b21020b417f2001200220036a6a220020002001491b21010c020b4121210102400240024020002d00040e050400010402040b410121010c030b200028021041056a21010c020b411521010c010b41212101024002400240024020020e050300010302030b410121010c020b200028020c41056a21010c010b411521010b417f2001200028022410b5878080006a220020002001491b21010b200141016a0bb90501027f024002400240024020002d00000e0400010203000b200041046a21020240200128020020012802082200470d0020012000410110fc90808000200128020821000b200128020420006a41003a00002001200041016a2200360208024020022d0000410f470d00024020012802002000470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41003a00000f0b024020012802002000470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41013a00002002200110e3878080000f0b200041216a21030240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041016a21002001200241016a360208200128020420026a41013a00002003200110da8980800002402001280200200128020822026b411f4b0d0020012002412010fc90808000200128020821020b2001200241206a360208200128020420026a22012000290000370000200141086a200041086a290000370000200141106a200041106a290000370000200141186a200041186a2900003700000f0b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41023a00000f0b200041046a21020240200128020020012802082200470d0020012000410110fc90808000200128020821000b200128020420006a41033a00002001200041016a2200360208024020022d0000410f470d00024020012802002000470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41003a00000f0b024020012802002000470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41013a00002002200110e3878080000bc00501047f2380808080004180016b2201248080808000200142e7eacab6b7c9acbc2637000a2001428de2fdb2e288b2fcd7003700022001411c6a200141026a411041002802a8bdd380001185808080000002400240200128021c2202418080808078460d0020012802202103024020012802244110490d00200141026a2003411010ed96808000210402402002450d00200341002802a8bfd38000118080808000000b20040d0120004200370300200041086a42003703000c020b2002450d00200341002802a8bfd38000118080808000000b200141003b011241002102024041002802ecbfd380004103490d002001410d360218200141afc6c38000360214200141df82808000ad422086200141126aad84370368200141ed80808000ad422086200141146aad8437036041002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142023702542001410336024c200141b0f0c4800036024820014116360244200141dbeac48000360240200142d480808030370238200141c8f0c480003602342001421e37022c2001419cf1c480003602282001410036022420014281808080f00237021c200241c4dbc88000200441024622041b28021021022001200141e0006a360250200341dcdbc8800020041b2001411c6a2002118b808080000020012f011221020b2001411c6a41afc6c38000410d4100280290bfd38000118580808000002001411c6a41106a220341809ac5800041154100280290bfd3800011858080800000200141e0006a41186a2001411c6a41186a290000370300200141e0006a41106a2003290000370300200141e0006a41086a2001411c6a41086a2900003703002001200129001c370360200120023b011c200141e0006a41202001411c6a410241002802c8bdd3800011838080800000200041086a4200370300200042003703000b20014180016a2480808080000bd70202017f017e23808080800041306b220224808080800002400240024002402000290300427e7c2203a7410120034203541b0e03000102000b200128021c4180fbc480004104200128022028020c1181808080000021000c020b2002200041306a360200200220003602042002410336020c20024190fbc4800036020820024202370214200241e082808000ad422086200241046aad84370328200241e182808000ad4220862002ad843703202002200241206a360210200128021c2001280220200241086a10e28080800021000c010b2002200041c0006a3602002002200041106a3602042002410336020c200241b0fbc4800036020820024202370214200241e082808000ad422086200241046aad84370328200241e282808000ad4220862002ad843703202002200241206a360210200128021c2001280220200241086a10e28080800021000b200241306a24808080800020000bbf0501047f2380808080004180016b2201248080808000200142dbd4b188d8cab8841037000a200142bfa89c83ea92efeb1a3700022001411c6a200141026a411041002802a8bdd380001185808080000002400240200128021c2202418080808078460d0020012802202103024020012802244110490d00200141026a2003411010ed96808000210402402002450d00200341002802a8bfd38000118080808000000b20040d0120004200370300200041086a42003703000c020b2002450d00200341002802a8bfd38000118080808000000b200141003b011241002102024041002802ecbfd380004103490d002001411236021820014191c6c38000360214200141df82808000ad422086200141126aad84370368200141ed80808000ad422086200141146aad8437036041002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142023702542001410336024c200141b0f0c4800036024820014116360244200141dbeac48000360240200142ce80808030370238200141baf1c480003602342001422237022c20014188f2c480003602282001410036022420014281808080c02737021c200241c4dbc88000200441024622041b28021021022001200141e0006a360250200341dcdbc8800020041b2001411c6a2002118b808080000020012f011221020b2001411c6a4191c6c3800041124100280290bfd38000118580808000002001411c6a41106a220341809ac5800041154100280290bfd3800011858080800000200141e0006a41186a2001411c6a41186a290000370300200141e0006a41106a2003290000370300200141e0006a41086a2001411c6a41086a2900003703002001200129001c370360200120023b011c200141e0006a41202001411c6a410241002802c8bdd3800011838080800000200041086a4200370300200042003703000b20014180016a2480808080000bdf0401087f23808080800041306b2203248080808000200220016b22044104762205410c6c210602400240200441a0d5aad57a4d0d00410021020c010b024002400240024020022001460d004100210741002d00b8bfd380001a0240200641002802b0bfd380001182808080000022080d00410421020c050b024020054101460d002001411c6a2106200541feffffff0071210941002107200821020340200641706a280200210a200241086a2006416c6a280200360200200241046a41013602002002200a3602002006280200210a200241146a2006417c6a280200360200200241106a41013602002002410c6a200a360200200241186a2102200641206a21062009200741026a2207470d000b0b02402004411071450d00200120074104746a2206410c6a280200210a20082007410c6c6a2202200641086a280200360208200241013602042002200a3602000b20032003412f6a36020c20044110460d02200441d002490d01200820052003410c6a10fd868080000c020b20004100360208200041003602000c020b2008200541012003410c6a10968f8080000b41002d00b8bfd380001a0240418c0141002802b0bfd380001182808080000022020d004104418c0110b980808000000b200241003b018a0120024100360258200341003602042003200236020020034100360208200320083602202003200836021c2003410236020c20032005360224200320082005410c6c6a36022820032003410c6a200341086a10b08380800020002003280208360208200020032902003702000b200341306a2480808080000f0b2002200641b487c5800010ae80808000000ba40904067f017e027f017e23808080800041d0006b2201248080808000200141306a41c8fbc48000410b41d3fbc4800041164104410010c791808000200142043702282001420037022020014280808080800137021841002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d00200241e880808000360218200242e2e68fceaa92ce9c7b370310200242e987d8bed5a3d0fbfb0037030820024107360204200241e9fbc4800036020020014101360248200120023602402001200241206a36024c20012002360244200141186a200141c0006a41bccec2800010b08b808000200141086a41086a200141246a220241086a2802003602002001200229020037030820012802182103200128021c2104200128022021052001280230210620012902342107200141186a41086a22084100360200200142808080808001370218200141186a41e0e1c1800010b891808000200128021c220242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb00370300200141c0006a41086a220941013602002002420437022c20024207370224200241b984c280003602202002410436021c200241fe8fc28000360218200241e880808000360210200120012902183703400240200928020022092001280240470d00200141c0006a41e0e1c1800010b8918080000b2001280244200941386c6a2202420437022c20024207370224200241b984c280003602202002410836021c200241f68fc28000360218200241e880808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb003703002008200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41e0e1c1800010b8918080000b200128021c200941386c6a2202420437022c20024207370224200241b984c280003602202002410636021c200241f08fc28000360218200241e880808000360210200242e2e68fceaa92ce9c7b370308200242e987d8bed5a3d0fbfb00370300200141c8006a200941016a220236020020012001290318220a37034002402002200aa7470d00200141c0006a41e0e1c1800010b8918080000b2001280244200241386c22096a2202420437022c2002420a3702242002418790c280003602202002410536021c2002418290c28000360218200241e382808000360210200242f6d5e2b0b8adf38905370308200242c1b7f9b28fd480a86b3703002001280244210220012001280240360220200120023602182001200220096a41386a3602242001200236021c200141c0006a200141186a41bccec2800010b18b8080002006418080808078460d0120012003360220200120043602182001200436021c2001200420054105746a360224200041c4006a200141186a41a892c4800010b08b808000200141236a200141c0006a41086a2802003600002000200737023c20002006360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bf50202027e047f200041086a290300210220002903002103024020012802002204200128020822056b410f4b0d0020012005411010fc9080800020012802002104200128020821050b2001200541106a22063602082001280204220720056a2205200237000820052003370000200041186a2903002102200029031021030240200420066b410f4b0d0020012006411010fc908080002001280200210420012802042107200128020821060b200720066a22052002370008200520033700002001200641106a2206360208200041286a2903002102200029032021030240200420066b410f4b0d0020012006411010fc9080800020012802042107200128020821060b200720066a22042002370008200420033700002001200641106a2206360208200041386a2903002102200029033021030240200128020020066b410f4b0d0020012006411010fc90808000200128020821060b2001200641106a360208200128020420066a22012002370008200120033700000bf80b02077f037e23808080800041b0036b22022480808080000240024002400240024002400240024020012802042203450d0020012003417f6a220436020420012001280200220541016a22063602000240024002400240024020052d000022074103710e0400030201000b200741027621050c030b200741044f0d0320034105490d0320012003417b6a22043602042001200541056a2206360200200528000122054180808080044f0d020c030b20034104490d0220012003417c6a22043602042001200541046a220636020020052f0001200541036a2d0000411074722203418002490d02200341087420077241027621050c010b2004450d0120012003417e6a22043602042001200541026a220636020020052d00012203450d01200341087420077241027621050b200220013602082004450d0320012004417f6a22083602042001200641016a3602002002420137030020062d00002203413f7121070240200341fe01714104470d00420221090c030b200341c00171210302402007417c6a0e020200040b200341c000470d032008450d0320012004417e6a3602042001200641026a36020020062d000121062002420237030020024180016a200210f38c8080002002290380014202510d0320024190036a41186a20024180016a41186a290300220937030020024190036a41106a20024180016a41106a290300220a370300200241cc026a41026a200241a3016a2d00003a0000200241df026a200229038801220b370000200241ef026a2009370000200241e7026a200a3700002002200b370398032002200229038001220937039003200220022f00a1013b01cc02200220093700d70220022d00a001210120022802a401210320022802a801210420022802ac012108420421090c020b200042053703000c060b2003418001470d0120024180016a200210fc8880800020022d00800122014105460d012002418e036a20022d0083013a000020024180036a20024199016a29000037030020024187036a200241a0016a280000360000200220022f0081013b018c0320022002290091013703f80220022802840121032002280288012104200228028c01210820022d009001210620024180016a200210e787808000024020022d0080014103460d00200241106a20024180016a41c20010e9968080001a20024180016a200210f38c80800020022903800122094202510d00200241d0026a41086a20024191016a290000370300200241e0026a20024199016a290000370300200241e8026a200241a1016a290000370300200241ef026a200241a8016a290000370000200241f0016a41086a200241f8026a41086a290300370300200241f0016a410f6a200241f8026a410f6a28000036000020022002290089013703d002200220022903f8023703f00120022d008801210720024183026a200241106a41c20010e9968080001a200241cc026a41026a2002418c036a41026a2d00003a0000200220022f018c033b01cc020c010b20014102470d012003450d01200441002802a8bfd38000118080808000000c010b20024280808080908080800137029403200220023602900320024180016a20024190036a10b387808000200228028001418980808078460d02200241106a20024180016a41f00010e9968080001a20022903002005ad520d01200020022903d002370009200020022f01cc023b0031200041286a200241ef026a290000370000200041216a200241e8026a290300370000200041196a200241e0026a290300370000200041116a200241d8026a290300370000200041336a200241ce026a2d00003a0000200041c1006a200241f0016a41d50010e9968080001a200041a0016a200241106a41f00010e9968080001a200020063a00402000200836023c2000200436023820002003360234200020013a0030200020073a0008200020093703000c040b200042053703000c030b20004205370300200241106a10ac8a8080000c010b200042053703000b2009427e7c22094203542009420152710d00200141ff01714102470d002003450d00200441002802a8bfd38000118080808000000b200241b0036a2480808080000bb50b05057f017e017f027e017f23808080800041c0036b2202248080808000200241086a200110bf83808000024002400240024002400240024002400240024020022802080d00200228020c210320024200370310200220013602180240024002402001280204200128020c22044b0d00024020012802082201280208220520012802102204470d00410121040c030b200441016a2206450d04200620054b0d052001280204210520012006360210200520046a2d000021010c010b2001200441016a36020c200128020020046a2d000021010b20024201370310410021040b20044101710d052001413f7121040240200141fe01714104470d00420221070c050b20014140712101024002402004417c6a0e020100070b200141ff017141c000470d062002200241106a10a58780800020022d00000d0620022d0001210820024190016a200241106a10f58c8080002002290390014202510d06200241a0036a41186a20024190016a41186a2903002207370300200241a0036a41106a20024190016a41106a2903002209370300200241de026a200241b3016a2d00003a0000200241ef026a200229039801220a370000200241ff026a2007370000200241f7026a20093700002002200a3703a803200220022903900122073703a003200220022f00b1013b01dc02200220073700e70220022d00b001210120022802b401210520022802b801210620022802bc01210b420421070c050b200141ff0171418001460d030c050b200042053703000c080b417f200641a8c8ca800010ac81808000000b2006200541a8c8ca800010aa81808000000b20024190016a200241106a10f68880800020022d00900122014105460d012002419e036a20022d0093013a000020024190036a200241a9016a29000037030020024197036a200241b0016a280000360000200220022f0091013b019c03200220022900a1013703880320022802940121052002280298012106200228029c01210b20022d00a001210820024190016a200241106a10e487808000024020022d0090014103460d00200241206a20024190016a41c20010e9968080001a20024190016a200241106a10f58c80800020022903900122074202510d00200241e0026a41086a200241a1016a290000370300200241f0026a200241a9016a290000370300200241f8026a200241b1016a290000370300200241ff026a200241b8016a29000037000020024180026a41086a20024188036a41086a29030037030020024180026a410f6a20024188036a410f6a28000036000020022002290099013703e00220022002290388033703800220022d009801210420024193026a200241206a41c20010e9968080001a200241dc026a41026a2002419c036a41026a2d00003a0000200220022f019c033b01dc020c010b20014102470d012005450d01200641002802a8bfd38000118080808000000c010b2002428080808090808080013702a4032002200241106a3602a00320024190016a200241a0036a10b187808000200228029001418980808078460d02200241206a20024190016a41f00010e9968080001a20022903102003ad520d01200020022903e002370009200020022f01dc023b0031200041286a200241ff026a290000370000200041216a200241f8026a290300370000200041196a200241f0026a290300370000200041116a200241e8026a290300370000200041336a200241de026a2d00003a0000200041c1006a20024180026a41d50010e9968080001a200041a0016a200241206a41f00010e9968080001a200020083a00402000200b36023c2000200636023820002005360234200020013a0030200020043a0008200020073703000c040b200042053703000c030b20004205370300200241206a10ac8a8080000c010b200042053703000b2007427e7c22074203542007420152710d00200141ff01714102470d002005450d00200641002802a8bfd38000118080808000000b200241c0036a2480808080000bdb0a05057f017e017f027e017f23808080800041c0036b2202248080808000200241086a200110c483808000024002400240024002400240024002400240024020022802080d00200228020c2103200220013602182001280208220420012802102205460d05200541016a2206450d01200620044b0d02200128020421042001200636021020024201370310200420056a2d00002201413f7121050240200141fe01714104470d00420221070c050b200141c001712101024002402005417c6a0e020100070b200141c000470d062002200241106a10a48780800020022d00000d0620022d0001210820024190016a200241106a10f48c8080002002290390014202510d06200241a0036a41186a20024190016a41186a2903002207370300200241a0036a41106a20024190016a41106a2903002209370300200241de026a200241b3016a2d00003a0000200241ef026a200229039801220a370000200241ff026a2007370000200241f7026a20093700002002200a3703a803200220022903900122073703a003200220022f00b1013b01dc02200220073700e70220022d00b001210120022802b401210420022802b801210620022802bc01210b420421070c050b2001418001460d030c050b200042053703000c080b417f200641a8c8ca800010ac81808000000b2006200441a8c8ca800010aa81808000000b20024190016a200241106a10f58880800020022d00900122014105460d012002419e036a20022d0093013a000020024190036a200241a9016a29000037030020024197036a200241b0016a280000360000200220022f0091013b019c03200220022900a1013703880320022802940121042002280298012106200228029c01210b20022d00a001210820024190016a200241106a10e687808000024020022d0090014103460d00200241206a20024190016a41c20010e9968080001a20024190016a200241106a10f48c80800020022903900122074202510d00200241e0026a41086a200241a1016a290000370300200241f0026a200241a9016a290000370300200241f8026a200241b1016a290000370300200241ff026a200241b8016a29000037000020024180026a41086a20024188036a41086a29030037030020024180026a410f6a20024188036a410f6a28000036000020022002290099013703e00220022002290388033703800220022d009801210520024193026a200241206a41c20010e9968080001a200241dc026a41026a2002419c036a41026a2d00003a0000200220022f019c033b01dc020c010b20014102470d012004450d01200641002802a8bfd38000118080808000000c010b2002428080808090808080013702a4032002200241106a3602a00320024190016a200241a0036a10b087808000200228029001418980808078460d02200241206a20024190016a41f00010e9968080001a20022903102003ad520d01200020022903e002370009200020022f01dc023b0031200041286a200241ff026a290000370000200041216a200241f8026a290300370000200041196a200241f0026a290300370000200041116a200241e8026a290300370000200041336a200241de026a2d00003a0000200041c1006a20024180026a41d50010e9968080001a200041a0016a200241206a41f00010e9968080001a200020083a00402000200b36023c2000200636023820002004360234200020013a0030200020053a0008200020073703000c040b200042053703000c030b20004205370300200241206a10ac8a8080000c010b200042053703000b2007427e7c22074203542007420152710d00200141ff01714102470d002004450d00200641002802a8bfd38000118080808000000b200241c0036a2480808080000bbe0904027f017e057f017e23808080800041206b22022480808080004101210302400240024002400240024002402001290300427e7c2204a7410120044203541b22050e03040001040b41212103024002400240024020012d00300e050300010302030b410121030c020b200128023c41056a21030c010b411521030b41012106200341016a2203417f20031b220341c10041c20020012d00544102491b6a220720034921034101210802402001280218220941c000490d0041022108200941808001490d00410441052009418080808004491b21080b417f200720031b2103410021092001290320220442c000544100200141286a290300220a5022071b0d02024020044280800154410020071b450d00410221060c030b200442808080800454410020071b450d01410421060c020b024002402001280228220341c0004f0d00410321030c010b02402003418080014f0d00410421030c010b410641072003418080808004491b21030b02402001290330220442c000544100200141386a290300220a5022081b450d00200341016a21030c030b024020044280800154410020081b450d00200341026a21030c030b0240200442808080800454410020081b450d00200341046a21030c030b20034111200a7920047942c0007c200a4200521ba74103766b6a21030c020b4111200a7920047942c0007c200a4200521ba74103766b21060b417f2003200620086a6a220820082003491b22034100480d010b41002d00b8bfd380001a200341002802b0bfd380001182808080000022080d01410121090b2009200341d8fdc4800010ae80808000000b2002200836021820022003360214024002400240024020050e03000102000b200820012d00083a00002002410136021c0c020b20084184013a00002002410136021c200141306a200241146a10fd88808000200141d4006a200241146a10e8878080002001200241146a10af878080000c010b200841c5003a00002002410136021c200141106a210620012d0040210741012105024020034101470d00200241146a4101410110fc9080800020022802182108200228021c21050b200820056a20073a00002002200541016a36021c2006200241146a10af878080000b200241086a2203200241146a41086a28020036020020022002290214370300200141a0016a200210b68780800020022003280200220136020c02400240200141c0004f0d00410121030c010b02402001418080014f0d00410221030c010b410441052001418080808004491b21030b4100210802400240200320016a22014100480d0041002d00b8bfd380001a200141002802b0bfd380001182808080000022030d01410121080b2008200141c8fdc4800010ae80808000000b2002410036021c200220033602182002200136021420022002410c6a360210200241106a200241146a10d583808000200228020021052002280204210802402002280214200228021c22016b200228020822034f0d00200241146a200120034101410110948a808000200228021c21010b200228021820016a2008200310e9968080001a2002200120036a36021c02402005450d00200841002802a8bfd38000118080808000000b20002002290214370200200041086a200241146a41086a280200360200200241206a2480808080000bbd0202067f027e23808080800041206b22022480808080000240024002402001280200220328020822042802082205200428021022066b4104490d00200641046a2107024002402006417b4b0d00200720054b0d0120042802042105200420073602102003427f2003290300220842047c220920092008541b370300200520066a2800002106200241086a200110c28380800002402002280208450d00200041046a21040c040b200241146a2001200228020c10ea82808000200041046a21042002280214418080808078460d032004200229021437020020002006360200200441086a200241146a41086a2802003602000c040b2006200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b20004180808080783602040c010b20044180808080783602000b200241206a2480808080000bea0202037f017e23808080800041106b2203248080808000410121044101210502402000290300220642c000540d0002402006428080015a0d00410221050c010b024020064280808080045a0d00410421050c010b4109200679a74103766b21050b02402000290308220642c000540d0002402006428080015a0d00410221040c010b024020064280808080045a0d00410421040c010b4109200679a74103766b21040b41002d00b8bfd380001a0240200420056a220441002802b0bfd38000118280808000002205450d002003200536020420032004360200200341003602082003200036020c2003410c6a200310d6838080002003200041086a36020c2003410c6a200310d683808000200328020021002001200220032802042204200328020841002802c8bdd380001183808080000002402000450d00200441002802a8bfd38000118080808000000b200341106a2480808080000f0b4101200441d8fdc4800010ae80808000000b9d0803037f017e077f23808080800041206b22032480808080004100210402400240410320002802082205ad42247e2206a741046a2006422088a71b22074100480d00024020070d00410121040c020b41002d00b8bfd380001a200741002802b0bfd380001182808080000022040d01410121040b2004200741d8fdc4800010ae80808000000b20034100360214200320043602102003200736020c200320053602182003200341186a36021c2003411c6a2003410c6a10d5838080000240024002402005450d0020002802002204450d00200441004721082000280204210941002107034002400240024020070d002008410171450d00410121082009450d0120092107024020094107712200450d0003402007417f6a210720042802940321042000417f6a22000d000b0b20094108490d010340200428029403280294032802940328029403280294032802940328029403280294032104200741786a22070d000c020b0b20084101710d0141ac8ac58000108a81808000000b2004210741002104410021090b02400240200920072f0192034f0d00200721002009210a0c010b034020072802e0022200450d04200441016a210420072f019003210a20002107200a20002f0192034f0d000b0b0240024020040d00200a41016a2109200021070c010b2000200a4102746a4198036a2802002107410021092004417f6a220b450d002004417e6a210c0240200b4107712204450d000340200b417f6a210b20072802940321072004417f6a22040d000b0b200c4107490d000340200728029403280294032802940328029403280294032802940328029403280294032107200b41786a220b0d000b0b2000200a4102746a41e4026a280200280200210b0240200328020c200328021422046b41034b0d002003410c6a2004410410fc90808000200328021421040b200328021020046a200b3600002003200441046a220436021441002d00b8bfd380001a412041002802b0bfd3800011828080800000220b450d03200b2000200a4105746a2200290000370000200b41186a220a200041186a290000370000200b41106a220c200041106a290000370000200b41086a220d200041086a2900003700000240200328020c20046b411f4b0d002003410c6a2004412010fc90808000200328021421040b200328021020046a2200200b290000370000200041086a200d290000370000200041106a200c290000370000200041186a200a2900003700002003200441206a36021441002104200b41002802a8bfd38000118080808000002005417f6a22050d000b0b200328020c21072001200220032802102204200328021441002802c8bdd380001183808080000002402007450d00200441002802a8bfd38000118080808000000b200341206a2480808080000f0b419c8ac58000108a81808000000b4101412010b980808000000b860601097f23808080800041206b2202248080808000410021030240417f20012802202204417f417f417f20012802082205410c6c220641046a2207200128021422084104746a41046a220920092007491b22074101200128022c41056a2001280224418080808078461b6a220920092007491b220741086a220920092007491b22076a41046a220920092007491b22074100480d0041002d00b8bfd380001a41012103200741002802b0bfd38000118280808000002209450d00200141246a210a20024100360214200220093602102002200736020c20012802042107200220053602182002200241186a36021c2002411c6a2002410c6a10d58380800002402005450d00200741086a210703402007417c6a28020021092002200728020022053602182002200241186a36021c2002411c6a2002410c6a10d5838080000240200228020c200228021422036b20054f0d002002410c6a2003200510fc90808000200228021421030b200228021020036a2009200510e9968080001a2002200320056a3602142007410c6a2107200641746a22060d000b0b20012802102107200220083602182002200241186a36021c2002411c6a2002410c6a10d583808000200720082002410c6a109983808000200a2002410c6a10d989808000200128023021050240200228020c200228021422076b41034b0d002002410c6a2007410410fc90808000200228021421070b200228021020076a20053600002002200741046a2207360214200128023421050240200228020c20076b41034b0d002002410c6a2007410410fc90808000200228021421070b200228021020076a20053600002002200741046a360214200128021c2105200220043602182002200241186a36021c2002411c6a2002410c6a10d5838080000240200228020c200228021422076b20044f0d002002410c6a2007200410fc90808000200228021421070b200228021020076a2005200410e9968080001a200041086a200720046a3602002000200229020c370200200241206a2480808080000f0b2003200741d8fdc4800010ae80808000000bc50203037f017e017f23808080800041106b2202248080808000410121034101210402402001290300220542c000540d0002402005428080015a0d00410221040c010b024020054280808080045a0d00410421040c010b4109200579a74103766b21040b02402001290308220542c000540d0002402005428080015a0d00410221030c010b024020054280808080045a0d00410421030c010b4109200579a74103766b21030b41002d00b8bfd380001a0240200320046a220341002802b0bfd380001182808080000022040d004101200341d8fdc4800010ae80808000000b200241086a2206410036020020022004360204200220033602002002200136020c2002410c6a200210d6838080002002200141086a36020c2002410c6a200210d683808000200041086a200628020036020020002002290200370200200241106a2480808080000bf60703037f017e077f23808080800041206b22022480808080004100210302400240410320012802082204ad42247e2205a741046a2005422088a71b22064100480d00024020060d00410121030c020b41002d00b8bfd380001a200641002802b0bfd380001182808080000022030d01410121030b2003200641d8fdc4800010ae80808000000b20024100360214200220033602102002200636020c200220043602182002200241186a36021c2002411c6a2002410c6a10d5838080000240024002402004450d0020012802002203450d00200341004721072001280204210841002106034002400240024020060d002007410171450d00410121072008450d0120082106024020084107712201450d0003402006417f6a210620032802940321032001417f6a22010d000b0b20084108490d010340200328029403280294032802940328029403280294032802940328029403280294032103200641786a22060d000c020b0b20074101710d0141ac8ac58000108a81808000000b2003210641002103410021080b02400240200820062f0192034f0d0020062101200821090c010b034020062802e0022201450d04200341016a210320062f019003210920012106200920012f0192034f0d000b0b0240024020030d00200941016a2108200121060c010b200120094102746a4198036a2802002106410021082003417f6a220a450d002003417e6a210b0240200a4107712203450d000340200a417f6a210a20062802940321062003417f6a22030d000b0b200b4107490d000340200628029403280294032802940328029403280294032802940328029403280294032106200a41786a220a0d000b0b200120094102746a41e4026a280200210a0240200228020c200228021422036b41034b0d002002410c6a2003410410fc90808000200228021421030b200228021020036a200a3600002002200341046a220336021441002d00b8bfd380001a412041002802b0bfd3800011828080800000220a450d03200a200120094105746a2201290000370000200a41186a2209200141186a290000370000200a41106a220b200141106a290000370000200a41086a220c200141086a2900003700000240200228020c20036b411f4b0d002002410c6a2003412010fc90808000200228021421030b200228021020036a2201200a290000370000200141086a200c290000370000200141106a200b290000370000200141186a20092900003700002002200341206a36021441002103200a41002802a8bfd38000118080808000002004417f6a22040d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b419c8ac58000108a81808000000b4101412010b980808000000beb0201047f23808080800041206b220324808080800020024190026c4104722104410021050240024020024100480d0041002d00b8bfd380001a200441002802b0bfd380001182808080000022050d01410121050b2005200441d8fdc4800010ae80808000000b2003410036020c2003200536020820032004360204200320023602102003200341106a360214200341146a200341046a10d58380800002402002450d0020024190026c2106200328020c21020340200341146a200110bc8a808000200328021821050240200328020420026b200328021c22044f0d00200341046a2002200410fc90808000200328020c21020b200328020820026a2005200410e9968080001a2003200220046a220236020c02402003280214450d00200541002802a8bfd38000118080808000000b20014190026a2101200641f07d6a22060d000b0b20002003290204370200200041086a200341046a41086a280200360200200341206a2480808080000b960201047f23808080800041106b22022480808080004100210302400240200110d29080800022044100480d00024020040d00410121030c020b41002d00b8bfd380001a200441002802b0bfd380001182808080000022030d01410121030b2003200441d8fdc4800010ae80808000000b200241086a220541003602002002200336020420022004360200200220014188026a36020c2002410c6a200210d683808000200220014190026a36020c2002410c6a200210d683808000200220014198026a36020c2002410c6a200210d6838080002002200141a0026a36020c2002410c6a200210d68380800020012002109d89808000200041086a200528020036020020002002290200370200200241106a2480808080000bf40a03017f017e037f2380808080004180086b22032480808080000240024002400240024002402001290300427e7c2204a7410120044203541b0e03000102000b2003200141a0016a41f00010e9968080001a420221040c030b200128023821052001280234210620012d003021072003418e016a200141d4006a41c20010e9968080001a0240024020070e03030100010b2006450d00200541002802a8bfd38000118080808000000b20004205370300200041013b0108200141a0016a10ac8a8080000c030b200341a8056a200141186a29030037030020034198056a41186a200141206a29030037030020034198056a41206a200141286a29030037030020034198056a41286a200141306a29030037030020034198056a41306a200141386a290300370300200320012903103703a00520012d004021072003200141a0016a41f00010e9968080001a420421040c010b200341d2016a200141336a2d00003a0000200341d0016a41136a200141c4006a290000370000200341d0016a41186a200141c9006a290000370000200320053600d701200320063600d301200320012f00313b01d0012003200129003c3700db01200341f0036a200141a0016a41f00010e9968080001a200341e0046a41286a2207200141286a290300370300200341e0046a41206a200141206a290300370300200341e0046a41186a200141186a290300370300200341e0046a41106a200141106a2903003703002003200141086a2903003703e804200320012903003703e004200341d0056a200341e0046a10bc8780800002400240024020032d00d0054101470d00200320032d00d3053a00ea03200320032f00d1053b01e803200341f0036a10ac8a8080000c010b200341ad076a200341d4056a41c40010e9968080001a200341bd066a200341f0036a41f00010e9968080001a20034198066a41086a200341e0046a41136a29000037030020034198066a41106a200341fb046a29000037030020034198066a41186a20034183056a290000370300200341b5066a2007290000370000200320032f01e8043b01e803200320032d00ea043a00ea03200320032900eb043703980620032903e00422044202520d010b200320032d00ea0322013a00e203200320032f01e80322073b01e0032000410a6a20013a0000200020073b0108200042053703000c020b200320032d00ea033a00e203200320032f01e8033b01e003200341f0016a410b7220034198066a41e50110e9968080001a200320043703f001200320032f01e0033b01f801200320032d00e2033a00fa01200341f0016a41306a21070240200341f0016a2003418e016a200341d0016a10b4878080000d002000420537030020004180083b0108200710ac8a8080000c020b20034198056a41206a200341f0016a410872220141206a29030037030020034198056a41186a200141186a29030037030020034198056a41106a200141106a29030037030020034198056a41086a200141086a29030037030020032001290300370398052003200741f00010e99680800022014198056a41306a200141d0016a41086a290100370300200120012901d0013703c005200120012900e1013703782001200141d0016a41186a29000037007f20012d00e00121070b200020043703002000200329039805370308200020073a004020002003290378370041200041c8006a200329007f370000200041106a200341a0056a290300370300200041186a20034198056a41106a290300370300200041206a20034198056a41186a290300370300200041286a20034198056a41206a290300370300200041306a20034198056a41286a290300370300200041386a20034198056a41306a290300370300200041d0006a200341f00010e9968080001a0b20034180086a2480808080000b3e01017f024002402001410b470d0041002102200041fcfdc48000410b10ed96808000450d010b200020014188fec48000410110c18e80800021020b20020b3e01017f024002402001410a470d004100210220004190fec48000410a10ed96808000450d010b20002001419cfec48000410110c18e80800021020b20020ba80403057f017e017f23808080800041c0006b2201248080808000200141246a41eef8c480004104419cf1c48000411e4104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a024002400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241f2f8c4800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b80800041002d00b8bfd380001a200128020c210320012802102102200128021421042001280224210520012902282106410841002802b0bfd38000118280808000002207450d01200741002903b8f9c4800037020020014284808080c00037020c20014280808080c000370214200141306a2001410c6a41bccec2800010af8b8080002005418080808078460d02200120033602142001200236020c200120023602102001200220044105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041013a00002000410136025820002007360254200041013602502001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410810b980808000000b41f0e1c1800041114184e2c18000108b81808000000ba90202067f027e23808080800041206b2202248080808000024002402001280200220328020822042802082205200428021022066b4104490d00200641046a2107024002402006417b4b0d00200720054b0d0120042802042105200420073602102003427f2003290300220842047c220920092008541b370300200520066a2800002104200241086a200110c283808000024020022802080d00200241146a2001200228020c10e6828080002002280214418080808078460d0020002002290214370200200041086a200241146a41086a2802003602002000200436020c0c040b20004180808080783602000c030b2006200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b20004180808080783602000b200241206a2480808080000b960404017f017e017f027e2380808080004180056b2208248080808000024002402006450d0020004200370308200042003703000c010b200841d0026a10cb8780800020082903e8042109200842e3e3aca5e7a8ebef5c370040200842bfdcfcdef39bce8e6b370038200842dbd4b188d8cab88410370030200842bfa89c83ea92efeb1a370028200841d0026a200841286a4120108784808000200841186a20082903e00242808090bbbad6adf00d20082802d00241017122061b42002009200220092002541b2202420010f196808000200841086a200841e8026a220a290300420020061b42002002420010f196808000200841d0026a200841086a41086a2903002202200841186a41086a290300220920082903087c220b200954ad7c22092009200254ad2008290318200b42808090bbbad6adf00d4200109992808000200a290300427f20082903d00220082903d802845022061b210c20082903e002427f20061b210b200841286a10cb87808000200841286a2106024002400240200741ff01710e03020100020b200841d8016a21060c010b20084180016a21060b20062903482102200841d0026a10cb8780800020082903e80421092000420037031820002009200220092002541b3703102000200c3703382000200b3703302000420037032820002001ad37032020004200370308200042013703000b200020043703402000200537034820084180056a2480808080000bfd0301047f23808080800041206b220124808080800020014100360210200142808080808001370208200141146a4110410041014101109792808000200128021821020240024020012802144101460d00200128021c22034200370008200342808090bbbad6adf00d370000200141086a41ac99c4800010a58a808000200128020c22044100360200200441013a00742004420437026c20044210370264200420033602602004200236025c200442113702442004418c9fc48000360240200441d6828080003602182004428390bcb585c5afd260370210200442b780e7ea9da7d3f55b3702082001410136021041002d00b8bfd380001a410141002802b0bfd38000118280808000002203450d01200341003a0000024020012802084101470d00200141086a41ac99c4800010a58a808000200128020c21040b200441013a00ec01200442043702e401200442013702dc01200420033602d801200441013602d4012004420e3702bc01200441989ec480003602b801200441e48280800036029001200442f085c8dba8d4fedd3a37028801200442d7feda9ca196b49ecc00370280012004410036027820002001290208370200200041086a41023602002000411236021020004191c6c3800036020c200141206a2480808080000f0b2002200128021c41a48bcc800010ae80808000000b4101410110b980808000000b820501037f41002d00b8bfd380001a0240024041d00041002802b0bfd38000118280808000002201450d0041002d00b8bfd380001a0240410141002802b0bfd38000118280808000002202450d00200241053a000041002d00b8bfd380001a41a80141002802b0bfd380001182808080000022030d02410441a80110b980808000000b4101410110b980808000000b410841d00010b980808000000b2003410e3602a401200341fc85c580003602a001200341d80036029c01200341a485c5800036029801200341d70036029401200341cd84c5800036029001200341d40036028c01200341f983c58000360288012003410036028401200342848080801037027c200341f583c5800036027820034131360274200341c483c58000360270200341c40036026c2003418083c5800036026820034115360264200341eb82c580003602602003410036025c200342a380808010370254200341c882c580003602502003411036024c200341b882c580003602482003410f360244200341a982c580003602402003410036023c200342d080808010370234200341d981c58000360230200341d30036022c2003418681c580003602282003413d360224200341c980c58000360220200341d40036021c200341f5ffc48000360218200341003602142003428b8080801037020c200341eaffc48000360208200341d60036020420034194ffc480003602002001200236022420014101360220200142153702342001200336023020014281808080d002370328200141cc80808000360218200142dbd791d5c2919eaecd00370310200142e6ed8d82cc91adcb05370308200141183602042001418a86c580003602002000410136020020002001360204200041013602080be20403067f017e027f23808080800041c0006b2201248080808000200141186a41a3fac4800041054188f2c4800041224104410010c791808000200142043702102001420037020820014280808080800137020041002d00b8bfd380001a024002400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241f2f8c4800036020020014101360238200120023602302001200241206a36023c200120023602342001200141306a41bccec2800010b08b80800041002d00b8bfd380001a20012802002103200128020421042001280208210520012802182106200129021c2107410841002802b0bfd38000118280808000002208450d01200841002903c8fac480003702002001410036020820014280808080c000370200200141246a200141a286c58000411210ba85808000200128022c210920012802282102200120012802243602082001200236020020012002200941246c6a36020c20012002360204200141306a200141bccec2800010af8b8080002006418080808078460d022001200336020820012004360200200120043602042001200420054105746a36020c200041c4006a200141a892c4800010b08b8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410810b980808000000b41f0e1c1800041114184e2c18000108b81808000000bf30202047f027e02402001280200220220012802082203470d0020012003410110fc9080800020012802002102200128020821030b2001200341016a22043602082001280204220520036a41003a00000240200220046b411f4b0d0020012004412010fc908080002001280200210220012802042105200128020821040b200520046a220320002900003700002001200441206a2204360208200341186a200041186a290000370000200341106a200041106a290000370000200341086a200041086a290000370000200041286a2903002106200029032021070240200220046b410f4b0d0020012004411010fc9080800020012802042105200128020821040b200520046a22032006370008200320073700002001200441106a2204360208200041386a2903002106200029033021070240200128020020046b410f4b0d0020012004411010fc90808000200128020821040b2001200441106a360208200128020420046a22012006370008200120073700000bff05020a7f017e23808080800041d0006b2202248080808000200242f4fa97f89782c7a62d37004420024299cfe7ffe3b8eac70837003c200242fc90b9e5d09296e777370034200242a6d4e6f1a4dd95986037002c200241206a2002412c6a4120108d848080000240024002402002280220418080808078470d0020024100360210410421030c010b200241106a41086a200241206a41086a280200220436020020022002290220370310200228021421032004450d00200441146c416c6a210541002106024002400340200241cc006a2107200241206a2108410c21094110210a02400240024002400240200320066a220b2d00000e050301010002030b200241206a21072002412c6a2108410c210a410821090b20082003200920066a6a28020036020020072003200a20066a6a2802003602000b20052006470d010c040b200b41016a28000041e1eac98b06460d0220052006460d030b200641146a21060c000b0b0240200b41106a28020022064108490d00200b410c6a280200290000210c0b200241106a10d98b80800002402002280210450d00200341002802a8bfd38000118080808000000b20064108490d0202400240108489808000200c560d00200c108e8980800020024282fceae49dd9e2861d370044200242de8c84a1ecd0a6d30c37003c20024289df9d82f381819238370034200242d7f0f3fea28baccae70037002c200241086a2002412c6a412010868880800020022802084101470d04200228020c450d010c040b2002410036023c20024101360230200241fcfec4800036022c200242043702342002412c6a4184ffc4800010f280808000000b41d4fec48000108981808000000b200321060340024020062d0000220741034b0d002006200741027441bc97c580006a2802006a2207280200450d00200741046a28020041002802a8bfd38000118080808000000b200641146a21062004417f6a22040d000b0b2002280210450d00200341002802a8bfd38000118080808000000b20004200370300200041086a4200370300200241d0006a2480808080000b1e00200128021c41e8fdc480004114200128022028020c118180808000000bf30101027f23808080800041106b220224808080800020022000280200360204200128021c41be8fc580004111200128022028020c118180808000002100200241003a000d200220003a000c20022001360208200241086a41cf8fc580004106200241046a41848fc58000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710b3900200128021c20002802002d00004102742200418497c580006a280200200041cc96c580006a280200200128022028020c118180808000000b940201027f23808080800041106b220224808080800020022000280200220041086a360204200128021c41e08bc580004106200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41e68bc580004108200041c08bc58000109d818080001a200241086a41ee8bc58000410a200241046a41d08bc58000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710b880102017f017e23808080800041306b2202248080808000200028020021002002410336020c2002418892cd800036020820024202370214200241cb82808000ad42208622032000ad8437032020022003200041086aad843703282002200241206a360210200128021c2001280220200241086a10e2808080002101200241306a24808080800020010bae0202027f017e2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d0120002903004101200110938180800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000bb10601097f024020002802202201450d00200028020c210220002802042103200028020021040240034020002001417f6a22013602200240024020044101712205450d0020030d002000280208210302402002450d0002400240200241077122060d00200221050c010b2002210503402005417f6a210520032802bc0221032006417f6a22060d000b0b20024108490d00034020032802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022103200541786a22050d000b0b20004200370208200020033602044101210420004101360200410021020c010b2005450d020b20002802082107024002400240200220032f01ba024f0d0020022106200321050c010b034020032802b0012205450d0220032f01b8022106200341002802a8bfd3800011808080800000200741016a210720052103200620052f01ba024f0d000b0b0240024020070d00200641016a2102200521030c010b200520064102746a41c0026a2802002103410021022007417f6a2208450d002007417e6a2109024020084107712207450d0003402008417f6a210820032802bc0221032007417f6a22070d000b0b20094107490d00034020032802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022103200841786a22080d000b0b2000200236020c2000410036020820002003360204200520064104746a2107024020052006410c6c6a41b4016a2205280200450d00200528020441002802a8bfd38000118080808000000b200710d78a80800020010d010c030b0b200341002802a8bfd380001180808080000041d8b3c18000108a81808000000b418c8ac58000108a81808000000b200028020021032000410036020002402003450d000240200028020422030d0020002802082103200028020c2207450d0002400240200741077122060d00200721050c010b2007210503402005417f6a210520032802bc0221032006417f6a22060d000b0b20074108490d00034020032802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022103200541786a22050d000b0b034020032802b0012105200341002802a8bfd38000118080808000002005210320050d000b0b0ba30401067f23808080800041306b22012480808080000240024002400240024020002d00000e050404010203000b02400240200028020422020d0041002102410021030c010b2001200236022420014100360220200120023602142001410036021020012000280208220236022820012002360218200028020c2103410121020b2001200336022c2001200236021c2001200236020c2001410c6a10d68a8080000c030b2000280204450d02200028020841002802a8bfd38000118080808000000c020b2000280204450d01200028020841002802a8bfd38000118080808000000c010b200028020821040240200028020c2203450d002004210203400240024002400240024020022d00000e050404010203000b02400240200241046a28020022050d0041002105410021060c010b200120053602242001410036022020012005360214200141003602102001200241086a2802002205360228200120053602182002410c6a2802002106410121050b2001200636022c2001200536021c2001200536020c2001410c6a10d68a8080000c030b200241046a280200450d02200241086a28020041002802a8bfd38000118080808000000c020b200241046a280200450d01200241086a28020041002802a8bfd38000118080808000000c010b200241046a10c38b8080000b200241106a21022003417f6a22030d000b0b2000280204450d00200441002802a8bfd38000118080808000000b200141306a2480808080000b40000240200028020022002802000d002000280208450d00200028020441002802a8bfd38000118080808000000b200041002802a8bfd38000118080808000000bab0501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a2100200128028c0121012005417f6a22050d000b0b20024108490d000340200128028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012101200041786a22000d000b0b20012100410021020b024002400240200220002f018a014f0d0020022105200021010c010b034020002802002201450d0220002f0188012105200041002802a8bfd3800011808080800000200441016a210420012100200520012f018a014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4190016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a2106200028028c0121002004417f6a22040d000b0b20074107490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200641786a22060d000b0b024020012005410c6c6a41046a2201280200450d00200128020441002802a8bfd38000118080808000000b410021012003417f6a22030d010c030b0b200041002802a8bfd380001180808080000041d8b3c18000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a2104200028028c0121002005417f6a22050d000b0b20024108490d000340200028028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012100200441786a22040d000b0b034020002802002101200041002802a8bfd38000118080808000002001210020010d000b0b0bb20402037f017e23808080800041a0026b22022480808080000240024002400240200028020022030d00200241086a200141cc0010e9968080001a200241066a200141cf006a2d00003a0000200220012f004d3b010420012d004c2101410021040c010b200241d0016a20032000280204200110b883808000024020022802d0010d004101210320012802484129490d02200128022041002802a8bfd38000118080808000000c020b20022802d401210420022902d8012105200241086a200141cc0010e9968080001a200241066a200141cf006a2d00003a0000200220012f004d3b010420012d004c21010b41012103200141ff01714102460d00200220003602602002200537025820022004360254200241e4006a200241086a41cc0010e9968080002103200241b3016a200241046a41026a2d00003a0000200220013a00b001200220022f01043b00b1010240024020040d0041002d00b8bfd380001a41f80641002802b0bfd38000118280808000002201450d032000410036020420002001360200200141003602f0062001200341d00010e99680800041013b01f6060c010b200241c0016a41086a200241d4006a41086a280200360200200220022902543703c001200241d0016a200341d00010e9968080001a200241b4016a200241c0016a200241d0016a200241e0006a200241b4016a10a183808000200228026021000b2000200028020841016a360208410021030b200241a0026a24808080800020030f0b410441f80610b980808000000bdc0504027f017e097f017e23808080800041d0006b22042480808080000240024002400240200128020022050d002002290204210620022802002107410021050c010b20022802082108200228020421092001280204210a02400340200541a4086a210720052f01aa09220b410c6c210c417f210d0240024003400240200c0d00200b210d0c020b200741086a210e200741046a210f200c41746a210c200d41016a210d2007410c6a2107417f2009200f2802002008200e280200220e2008200e491b10ed96808000220f2008200e6b200f1b220e410047200e4100481b220e4101460d000b200e41ff0171450d010b200a450d02200a417f6a210a2005200d4102746a41ac096a28020021050c010b0b2004200a36024420042005360240200429034021062002280200450d02200941002802a8bfd38000118080808000000c020b2004200d360248200441003602442002280200210720022902042106200429024421100b02402007418080808078470d002001210d0c010b2004201037021c20042005360218200420013602142004200637020c2004200736020802400240024020050d0041002d00b8bfd380001a41ac0941002802b0bfd38000118280808000002207450d022001410036020420012007360200200741003602a008200720042902083702a408200741013b01aa09200741ac086a200441106a2802003602002007200341e00010e9968080001a0c010b200441306a41086a200441186a220741086a28020036020020042007290200370330200441c0006a41086a200441086a41086a28020036020020042004290208370340200441246a200441306a200441c0006a2003200441146a200441246a109d83808000200428021421010b2001200128020841016a36020820004180808080783602540c020b410441ac0910b980808000000b20002006a7200d41e0006c6a220741e00010e9968080001a2007200341e00010e9968080001a0b200441d0006a2480808080000bfd0504027f017e097f017e23808080800041d0006b22042480808080000240024002400240200128020022050d002002290204210620022802002107410021050c010b20022802082108200228020421092001280204210a02400340200541b4016a210720052f01ba02220b410c6c210c417f210d0240024003400240200c0d00200b210d0c020b200741086a210e200741046a210f200c41746a210c200d41016a210d2007410c6a2107417f2009200f2802002008200e280200220e2008200e491b10ed96808000220f2008200e6b200f1b220e410047200e4100481b220e4101460d000b200e41ff0171450d010b200a450d02200a417f6a210a2005200d4102746a41bc026a28020021050c010b0b2004200a36024420042005360240200429034021062002280200450d02200941002802a8bfd38000118080808000000c020b2004200d360248200441003602442002280200210720022902042106200429024421100b02402007418080808078470d002001210d0c010b2004201037021c20042005360218200420013602142004200637020c2004200736020802400240024020050d0041002d00b8bfd380001a41bc0241002802b0bfd38000118280808000002207450d022001410036020420012007360200200741003602b001200720042902083702b401200741013b01ba0220072003290200370200200741bc016a200441086a41086a280200360200200741086a200341086a2902003702000c010b200441306a41086a200441186a220741086a28020036020020042007290200370330200441c0006a41086a200441086a41086a28020036020020042004290208370340200441246a200441306a200441c0006a2003200441146a200441246a10a583808000200428021421010b2001200128020841016a360208200041063a00000c020b410441bc0210b980808000000b20002006a7200d4104746a220729020037020020072003290200370200200041086a200741086a22072902003702002007200341086a2902003702000b200441d0006a2480808080000b820502057f017e23808080800041f0006b22022480808080000240024002400240200028020022030d00200241106a2001410c6a28020036020020022001290204370308200128021421042001280210210520012802002106410021010c010b200241d8006a20032000280204200110b783808000024020022802580d0002402001280200450d00200128020441002802a8bfd38000118080808000000b41012103200128020c450d02200128021041002802a8bfd38000118080808000000c020b200241106a2001410c6a2802003602002002200129020437030820012802002106200128021021052001280214210420022902602107200228025c21010b410121032006418080808078460d00200241206a200241086a41086a280200360200200220063602142002200229030837021820022007370234200220013602302002200036022c20022004360228200220053602240240024020010d0041002d00b8bfd380001a41900241002802b0bfd38000118280808000002201450d032000410036020420002001360200200141003602880220012002290214370200200141013b018e02200141086a200241146a41086a290200370200200141106a200241146a41106a2902003702000c010b200241c8006a41086a200241306a220141086a28020036020020022001290200370348200241d8006a41106a200241146a41106a290200370300200241d8006a41086a200241146a41086a290200370300200220022902143703582002413c6a200241c8006a200241d8006a2002412c6a2002413c6a10a783808000200228022c21000b2000200028020841016a360208410021030b200241f0006a24808080800020030f0b410441900210b980808000000bec04020c7f017e23808080800041d0006b22022480808080000240024002400240200028020022030d00200141046a2104410021030c010b200141046a210420012802082105200128020421062000280204210702400340200341046a210820032f018a012209410c6c210a417f210b0240024003400240200a0d002009210b0c020b200841086a210c200841046a210d200a41746a210a200b41016a210b2008410c6a2108417f2006200d2802002005200c280200220c2005200c491b10ed96808000220d2005200c6b200d1b220c410047200c4100481b220c4101460d000b200c41ff0171450d010b2007450d022007417f6a21072003200b4102746a418c016a28020021030c010b0b410121082001280200450d02200641002802a8bfd38000118080808000000c020b200bad422086210e0b410121082001280200220a418080808078460d002002200e37021c20022003360218200220003602142002200a3602082002200429020037020c0240024020030d0041002d00b8bfd380001a418c0141002802b0bfd38000118280808000002208450d0320004100360204200020083602002008410036020020082002290208370204200841013b018a012008410c6a200241106a2802003602000c010b200241306a41086a200241186a220841086a28020036020020022008290200370330200241c0006a41086a200241086a41086a28020036020020022002290208370340200241246a200241306a200241c0006a200241146a200241246a109f83808000200228021421000b2000200028020841016a360208410021080b200241d0006a24808080800020080f0b4104418c0110b980808000000be30301067f23808080800041d0026b22032480808080004100210402400240024020012802002205450d00200341086a20052001280204200210b68380800020032802084101460d00200341206a200341146a2802003602002003200329020c37031820032001360224200341003a002f200341b0016a200341186a2003412f6a10b58380800020032802b001210420032802b401210620032802bc01210220032802c0012107200341306a200341c4016a41800110e9968080001a20012001280208417f6a3602080240024020032d002f0d00200341b0016a200341306a41800110e9968080001a0c010b20012802002205450d0220012802042208450d0320012008417f6a360204200120052802e40c22083602002008410036028802200541002802a8bfd3800011808080800000200341b0016a200341306a41800110e9968080001a0b02402004418080808078470d00410021040c010b02402004450d00200641002802a8bfd38000118080808000000b02402002450d00200741002802a8bfd38000118080808000000b200041046a200341b0016a41046a41fc0010e9968080001a410121040b20002004360200200341d0026a2480808080000f0b41fc84c48000108a81808000000b41e4acc1800041214188adc1800010f480808000000b5d01017f0240200028020022002802e001450d0020002802e40141002802a8bfd38000118080808000000b02402000417f460d00200020002802042201417f6a36020420014101470d00200041002802a8bfd38000118080808000000b0bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bec0101077f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b220541ffffff3f4d0d0041004100200110ae80808000000b410021060240024020054104200541044b1b220741057422054100480d0002402004450d002002200441057436021c20022000280204360214410121060b20022006360218200241086a41012005200241146a10e18a80800020022802084101470d0120022802102108200228020c21030b20032008200110ae80808000000b200228020c21042000200736020020002004360204200241206a2480808080000bf10101077f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b220541ffffffff034d0d0041004100200110ae80808000000b0240024020054104200541044b1b2207410274220641fcffffff074b0d004100210502402004450d002002200441027436021c20022000280204360214410421050b20022005360218200241086a41042006200241146a10e18a80800020022802084101470d0120022802102108200228020c21030b20032008200110ae80808000000b200228020c21042000200736020020002004360204200241206a2480808080000bf90103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42fc007e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441fc006c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10e18a80800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf00101077f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b220541ffffff0f4d0d0041004100200110ae80808000000b0240024020054104200541044b1b2207410774220641fcffffff074b0d004100210502402004450d002002200441077436021c20022000280204360214410421050b20022005360218200241086a41042006200241146a10e18a80800020022802084101470d0120022802102108200228020c21030b20032008200110ae80808000000b200228020c21042000200736020020002004360204200241206a2480808080000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42387e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841f8ffffff074b0d004100210502402004450d002002200441386c36021c20022000280204360214410821050b20022005360218200241086a41082008200241146a10e18a80800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42147e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441146c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10e18a80800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf10101077f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b220541ffffffff004d0d0041004100200110ae80808000000b0240024020054104200541044b1b2207410474220641fcffffff074b0d004100210502402004450d00410421052002200441047436021c200220002802043602140b20022005360218200241086a41042006200241146a10e18a80800020022802084101470d0120022802102108200228020c21030b20032008200110ae80808000000b200228020c21042000200736020020002004360204200241206a2480808080000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42307e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841f0ffffff074b0d004100210502402004450d002002200441306c36021c20022000280204360214411021050b20022005360218200241086a41102008200241146a10e18a80800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42387e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441386c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10e18a80800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf90103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42f0007e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441f0006c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10e18a80800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf90103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42f0017e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441f0016c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10e18a80800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad420c7e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d0020022004410c6c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10e18a80800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bec0101077f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b220541ffffff014d0d0041004100200110ae80808000000b410021060240024020054104200541044b1b2207410a7422054100480d0002402004450d0020022004410a7436021c20022000280204360214410121060b20022006360218200241086a41012005200241146a10e18a80800020022802084101470d0120022802102108200228020c21030b20032008200110ae80808000000b200228020c21042000200736020020002004360204200241206a2480808080000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42187e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441186c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10e18a80800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42307e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441306c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10e18a80800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf90103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad4290027e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841f0ffffff074b0d004100210502402004450d00200220044190026c36021c20022000280204360214411021050b20022005360218200241086a41102008200241146a10e18a80800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000ba60203027f017e027f23808080800041206b220624808080800002400240024020040d002001417f7320024f0d010c020b2000280200220720016b20024f0d00200120026a22022001490d01410021010240200320046a417f6a410020036b71ad2002ad7e2208422088a7450d0041004100200510ae80808000000b024002402008a7220941808080807820036b4b0d004100210102402007450d002006200720046c36021c20062000280204360214200321010b20062001360218200641086a20032009200641146a10e18a80800020062802084101470d012006280210210a200628020c21010b2001200a200510ae80808000000b200628020c210120002002360200200020013602040b200641206a2480808080000f0b41004100200510ae80808000000bde0201037f024020002d00000d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110948a808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210938a8080001a02402004280200220028020020002802082205470d002000200541014101410110948a808000200028020821050b2000200541016a360208200028020420056a413a3a000002402004280200220028020020002802082204470d002000200441014101410110948a808000200028020821040b200028020420046a41fb003a00002000200441016a2204360208024020002802002004470d002000200441014101410110948a808000200028020821040b2000200441016a360208200028020420046a41fd003a000041000f0b41c8edc48000412841c48ec5800010f480808000000b950501047f23808080800041306b22042480808080000240024020002d00000d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110948a808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520042001200210938a8080001a02402005280200220028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a413a3a000002402005280200220028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a41fb003a0000200520044190fec48000410a10938a8080001a02402005280200220028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a413a3a00002004410036020c2004428080808010370204200441013602142004418086cc80003602102004420137021c200441e582808000ad4220862003ad843703282004200441286a360218200441046a41ec95c68000200441106a10e2808080000d01200428020421002005200420042802082206200428020c10938a8080001a02402000450d00200641002802a8bfd38000118080808000000b02402005280200220528020020052802082200470d002005200041014101410110948a808000200528020821000b2005200041016a360208200528020420006a41fd003a0000200441306a24808080800041000f0b41c8edc48000412841c48ec5800010f480808000000b419496c680004137200441106a418496c6800041cc96c6800010a481808000000be20101037f024020002d00000d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110948a808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210938a8080001a02402004280200220028020020002802082205470d002000200541014101410110948a808000200028020821050b2000200541016a360208200028020420056a413a3a00002003200410a2888080000f0b41c8edc48000412841c48ec5800010f480808000000b8b0901047f23808080800041206b22042480808080000240024020002d00000d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110948a808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520042001200210938a8080001a02402005280200220028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a413a3a0000200328020821072003280204210302402005280200220028020020002802082201470d002000200141014101410110948a808000200028020821010b200041086a21022000200141016a2206360208200028020420016a41db003a0000200041046a2101024002402007450d00024020002802002006470d002000200641014101410110948a808000200028020821060b2002200641016a360200200128020020066a41db003a000020042005360210200441800436020c200441146a200341002f01d8bcd3800010de888080002005200420042802182200200428021c10938a8080001a02402004280214450d00200041002802a8bfd38000118080808000000b2004410c6a2003290320200341286a29030010f78a808000200428020c22004101710d03024020004180fe0371450d0002402004280210280200220028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a41dd003a00000b024020074101460d002003200741306c6a2102200341306a2100034002402005280200220628020020062802082203470d002006200341014101410110948a808000200628020821030b2006200341016a360208200628020420036a412c3a000002402005280200220628020020062802082203470d002006200341014101410110948a808000200628020821030b2006200341016a360208200628020420036a41db003a000020042005360210200441800436020c200441146a200041002f01d8bcd3800010de888080002005200420042802182206200428021c10938a8080001a02402004280214450d00200641002802a8bfd38000118080808000000b2004410c6a2000290320200041286a29030010f78a808000200428020c22064101710d05024020064180fe0371450d0002402004280210280200220628020020062802082203470d002006200341014101410110948a808000200628020821030b2006200341016a360208200628020420036a41dd003a00000b200041306a22002002470d000b0b02402005280200220028020020002802082206470d002000200641014101410110948a808000200028020821060b200041086a2102200041046a21010c010b20002802002006470d002000200641014101410110948a808000200028020821060b200128020020066a41dd003a00002002200641016a360200200441206a24808080800041000f0b41c8edc48000412841c48ec5800010f480808000000b41c8edc48000412841f48ec5800010f480808000000ba80a02057f037e2380808080004190016b22032480808080000240024020002d00000d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110948a808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a00012004280200210702400240200242808020540d00200341386a2001420042f3b2d8c19e9ebdcc957f420010f196808000200341286a2001420042d2e1aadaeda7c987f600420010f196808000200341d8006a2002420042f3b2d8c19e9ebdcc957f420010f196808000200341c8006a2002420042d2e1aadaeda7c987f600420010f196808000200341c8006a41086a290300200341286a41086a290300200341386a41086a290300220820032903287c2202200854ad7c220920032903487c2208200954ad7c2008200341d8006a41086a290300200220032903587c200254ad7c7c2202200854ad7c2208423e8821092002423e8820084202868421080c010b20014213882002422d868442bda282a38eab04802108420021090b200341186a20082002428080e0b0b79fb79cf500420010f196808000411421000240200329031820017c22024290ce005a0d00200221010c020b411421000340200341e8006a20006a2204410f6a200220024290ce008022014290ce007e7da7220541ffff037141e4006e220641017441c487c580006a2f00003b0000200441116a2005200641e4006c6b41ffff037141017441c487c580006a2f00003b00002000417c6a2100200242ffc1d72f5621042001210220040d000c020b0b41c8edc48000412841e48ec5800010f480808000000b200341fb006a210502400240200142e300560d002001a721040c010b20052000417e6a22006a2001a72204200441ffff037141e4006e220441e4006c6b41ffff037141017441c487c580006a2f00003b00000b024002402004410a490d0020052000417e6a22066a200441017441c487c580006a2f00003b00000c010b20052000417f6a22066a20044130723a00000b02400240200820098450450d00200641136a21000c010b41142100200341e8006a41146a41302006417f6a10eb968080001a200341086a20084213882009422d8684220942bda282a38eab0480220a2002428080e0b0b79fb79cf500420010f19680800002400240200329030820087c22024290ce005a0d00200221010c010b411421000340200341e8006a20006a2204417c6a200220024290ce008022014290ce007e7da7220541ffff037141e4006e220641017441c487c580006a2f00003b00002004417e6a2005200641e4006c6b41ffff037141017441c487c580006a2f00003b00002000417c6a2100200242ffc1d72f5621042001210220040d000b0b02400240200142e300560d002001a721040c010b200341e8006a2000417e6a22006a2001a72204200441ffff037141e4006e220441e4006c6b41ffff037141017441c487c580006a2f00003b00000b024002402004410a490d00200341e8006a2000417e6a22006a200441017441c487c580006a2f00003b00000c010b200341e8006a2000417f6a22006a20044130723a00000b200942bda282a38eab04540d00200341e9006a41302000417f6a10eb968080001a2003200aa74130723a0068410021000b02402007280200200728020822046b412720006b22054f0d002007200420054101410110948a808000200728020821040b200728020420046a200341e8006a20006a200510e9968080001a2007200420056a36020820034190016a2480808080000bc00701047f23808080800041106b2204248080808000024020002d00000d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110948a808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210938a8080001a02402005280200220028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a413a3a000002402005280200220028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a41fb003a000020052000419cf8c48000410b10938a8080001a0240200028020020002802082206470d002000200641014101410110948a808000200028020821060b200028020420066a413a3a00002000200641016a22063602082003280208210220032802042101024020002802002006470d002000200641014101410110948a808000200028020821060b2000200641016a2203360208200028020420066a41db003a00000240024020020d00024020002802002003470d002000200341014101410110948a808000200028020821030b2000200341016a2206360208200028020420036a41dd003a00000c010b200441046a200141002f01d8bcd3800010de888080002005200020042802082200200428020c10938a8080001a02402004280204450d00200041002802a8bfd38000118080808000000b20052802002100024020024101460d00200241057441606a2102200141206a210603400240200028020020002802082203470d002000200341014101410110948a808000200028020821030b2000200341016a360208200028020420036a412c3a0000200441046a200641002f01d8bcd3800010de888080002005200020042802082200200428020c10938a8080001a02402004280204450d00200041002802a8bfd38000118080808000000b200641206a210620052802002100200241606a22020d000b0b0240200028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a41dd003a00002005280200220028020821060b024020002802002006470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a41fd003a0000200441106a24808080800041000f0b41c8edc48000412841c48ec5800010f480808000000bf90401047f23808080800041106b2204248080808000024020002d00000d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110948a808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210938a8080001a02402005280200220028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a413a3a000002402005280200220028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a41fb003a00002005200041f3fac48000410310938a8080001a0240200028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a2202360208200028020420066a413a3a00000240024020032d00000d000240200028020020026b41034b0d002000200241044101410110948a808000200028020821020b2000200241046a2205360208200028020420026a41eeeab1e3063600000c010b200441046a200341016a41002f01d8bcd3800010de888080002005200020042802082200200428020c10938a8080001a02402004280204450d00200041002802a8bfd38000118080808000000b2005280200220028020821050b024020002802002005470d002000200541014101410110948a808000200028020821050b2000200541016a360208200028020420056a41fd003a0000200441106a24808080800041000f0b41c8edc48000412841c48ec5800010f480808000000bce0601057f23808080800041306b22042480808080000240024020002d00000d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110948a808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210938a8080001a2003280200210002402005280200220628020020062802082203470d002006200341014101410110948a808000200628020821030b2006200341016a360208200628020420036a413a3a000002402005280200220728020020072802082206470d002007200641014101410110948a808000200728020821060b2007200641016a360208200728020420066a41fb003a00002005200041fcfdc48000410b10938a8080001a0240200728020020072802082205470d002007200541014101410110948a808000200728020821050b2007200541016a2208360208200728020420056a413a3a0000410a2105024020004190ce004f0d00200021060c020b410a21050340200441086a20056a2203417c6a200020004190ce006e22064190ce006c6b220241ffff037141e4006e220141017441c487c580006a2f00003b00002003417e6a2002200141e4006c6b41ffff037141017441c487c580006a2f00003b00002005417c6a2105200041ffc1d72f4b21032006210020030d000c020b0b41c8edc48000412841c48ec5800010f480808000000b02400240200641e3004b0d00200621000c010b200441086a2005417e6a22056a2006200641ffff037141e4006e220041e4006c6b41ffff037141017441c487c580006a2f00003b00000b024002402000410a490d00200441086a2005417e6a22056a200041017441c487c580006a2f00003b00000c010b200441086a2005417f6a22056a20004130723a00000b200441086a20056a21060240200728020020086b410a20056b22004f0d002007200820004101410110948a808000200728020821080b200728020420086a2006200010e9968080001a2007200820006a2200360208024020072802002000470d002007200041014101410110948a808000200728020821000b2007200041016a360208200728020420006a41fd003a0000200441306a24808080800041000bab0901077f23808080800041306b2204248080808000024002400240024020002d00000d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110948a808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210938a8080001a02402005280200220028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a413a3a0000024020032802142208418180808078470d00024020052802002200280200200028020822056b41034b0d002000200541044101410110948a808000200028020821050b2000200541046a360208200028020420056a41eeeab1e3063600000c030b02402005280200220928020020092802082200470d002009200041014101410110948a808000200928020821000b2009200041016a220a360208200928020420006a41db003a0000200420053602042004418004360200410a21050240200328021022004190ce004f0d00200021060c020b410a21050340200441086a20056a2202417c6a200020004190ce006e22064190ce006c6b220141ffff037141e4006e220741017441c487c580006a2f00003b00002002417e6a2001200741e4006c6b41ffff037141017441c487c580006a2f00003b00002005417c6a2105200041ffc1d72f4b21022006210020020d000c020b0b41c8edc48000412841c48ec5800010f480808000000b02400240200641e3004b0d00200621000c010b200441086a2005417e6a22056a2006200641ffff037141e4006e220041e4006c6b41ffff037141017441c487c580006a2f00003b00000b024002402000410a490d00200441086a2005417e6a22056a200041017441c487c580006a2f00003b00000c010b200441086a2005417f6a22056a20004130723a00000b200441086a20056a210602402009280200200a6b410a20056b22004f0d002009200a20004101410110948a8080002009280208210a0b2009280204200a6a2006200010e9968080001a2009200a20006a36020820042003290300200341086a29030010f78a80800002400240024020042d00000d0020042802042100024020042d00014101460d0002402000280200220528020020052802082206470d002005200641014101410110948a808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200441023a00012008418080808078470d01024020002802002205280200200528020822066b41034b0d002005200641044101410110948a808000200528020821060b2005200641046a360208200528020420066a41eeeab1e3063600000c020b41c8edc48000412841e48ec5800010f480808000000b200020002003280218200328021c10938a8080001a0b200428020022054101710d0120054180fe0371450d0002402000280200220028020020002802082205470d002000200541014101410110948a808000200028020821050b2000200541016a360208200028020420056a41dd003a00000b200441306a24808080800041000f0b41c8edc48000412841f48ec5800010f480808000000bb10301047f23808080800041306b22042480808080000240024020002d00000d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110948a808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520042001200210938a8080001a02402005280200220028020020002802082206470d002000200641014101410110948a808000200028020821060b2000200641016a360208200028020420066a413a3a00002004410036020c2004428080808010370204200441013602142004418086cc80003602102004420137021c200441cb82808000ad4220862003ad843703282004200441286a360218200441046a41ec95c68000200441106a10e2808080000d01200428020421002005200420042802082206200428020c10938a8080001a02402000450d00200641002802a8bfd38000118080808000000b200441306a24808080800041000f0b41c8edc48000412841c48ec5800010f480808000000b419496c680004137200441106a418496c6800041cc96c6800010a481808000000be20101037f024020002d00000d0020002802042104024020002d00014101460d0002402004280200220528020020052802082206470d002005200641014101410110948a808000200528020821060b2005200641016a360208200528020420066a412c3a00000b200041023a0001200420002001200210938a8080001a02402004280200220028020020002802082205470d002000200541014101410110948a808000200028020821050b2000200541016a360208200028020420056a413a3a00002003200410a0848080000f0b41c8edc48000412841c48ec5800010f480808000000bfd0401047f23808080800041306b22042480808080000240024020002d00000d0020002802042105024020002d00014101460d0002402005280200220628020020062802082207470d002006200741014101410110948a808000200628020821070b2006200741016a360208200628020420076a412c3a00000b200041023a0001200520002001200210938a8080001a2003280200210002402005280200220628020020062802082203470d002006200341014101410110948a808000200628020821030b2006200341016a360208200628020420036a413a3a000020052802002107410a2105024020004190ce004f0d00200021060c020b410a21050340200441086a20056a2203417c6a200020004190ce006e22064190ce006c6b220241ffff037141e4006e220141017441c487c580006a2f00003b00002003417e6a2002200141e4006c6b41ffff037141017441c487c580006a2f00003b00002005417c6a2105200041ffc1d72f4b21032006210020030d000c020b0b41c8edc48000412841c48ec5800010f480808000000b02400240200641e3004b0d00200621000c010b200441086a2005417e6a22056a2006200641ffff037141e4006e220041e4006c6b41ffff037141017441c487c580006a2f00003b00000b024002402000410a490d00200441086a2005417e6a22066a200041017441c487c580006a2f00003b00000c010b200441086a2005417f6a22066a20004130723a00000b02402007280200200728020822006b410a20066b22054f0d002007200020054101410110948a808000200728020821000b200728020420006a200441086a20066a200510e9968080001a2007200020056a360208200441306a24808080800041000bfc0c04067f017e017f027e23808080800041d0056b22032480808080002003200136029c022003410036029802200320023602940202400240024020022802042201450d0020022001417f6a220436020420022002280200220541016a22063602000240024002400240024020052d000022074103710e0400030201000b200741027621050c030b200741044f0d0320014105490d0320022001417b6a22043602042002200541056a2206360200200528000122054180808080044f0d020c030b20014104490d0220022001417c6a22043602042002200541046a220636020020052f0001200541036a2d0000411074722201418002490d02200141087420077241027621050c010b2004450d0120022001417e6a22043602042002200541026a220636020020052d00012201450d01200141087420077241027621050b200342003703a002200320034194026a3602a8022004450d0020022004417f6a22083602042002200641016a360200200342013703a00220062d00002201413f71210702400240200141fe01714104470d00420221090c010b200141c001712101024002402007417c6a0e020001030b2001418001470d02200341a0036a200341a0026a10f88880800020032d00a00322014105460d02200341ae056a20032d00a3033a0000200341a0056a200341b9036a290000370300200341a7056a200341c0036a280000360000200320032f00a1033b01ac05200320032900b1033703980520032802a403210420032802a803210620032802ac03210a20032d00b0032108200341a0036a200341a0026a10e587808000024020032d00a0034103460d00200341b0026a200341a0036a41c20010e9968080001a200341a0036a200341a0026a10f28c80800020032903a00322094202510d00200341f0046a41086a200341b1036a29000037030020034180056a200341b9036a29000037030020034188056a200341c1036a2900003703002003418f056a200341c8036a29000037000020034190046a41086a20034198056a41086a29030037030020034190046a410f6a20034198056a410f6a280000360000200320032900a9033703f00420032003290398053703900420032d00a8032107200341a3046a200341b0026a41c20010e9968080001a200341ec046a41026a200341ac056a41026a2d00003a0000200320032f01ac053b01ec040c020b20014102470d022004450d02200641002802a8bfd38000118080808000000c020b200141c000470d012008450d0120022004417e6a3602042002200641026a36020020062d00012108200342023703a002200341a0036a200341a0026a10f28c80800020032903a0034202510d01200341b0056a41186a200341a0036a41186a2903002209370300200341b0056a41106a200341a0036a41106a290300220b370300200341ec046a41026a200341c3036a2d00003a0000200341ff046a20032903a803220c3700002003418f056a200937000020034187056a200b3700002003200c3703b805200320032903a00322093703b005200320032f00c1033b01ec04200320093700f70420032d00c003210120032802c403210420032802c803210620032802cc03210a420421090b2003428080808090808080013702b4052003200341a0026a3602b005200341a0036a200341b0056a10b287808000024020032802a003418980808078460d00200341b0026a200341a0036a41f00010e9968080001a20032903a0022005ad510d02200341b0026a10ac8a8080000b2009427e7c22094203542009420152710d00200141ff01714102470d002004450d00200641002802a8bfd38000118080808000000b200042053703000c010b200341286a2003418f056a290000370000200341216a20034188056a290300370000200341196a20034180056a290300370000200341116a200341f8046a290300370000200341336a200341ee046a2d00003a0000200320032903f004370009200320032f01ec043b0031200341c1006a20034190046a41d50010e9968080001a200341a0016a200341b0026a41f00010e9968080002105200320083a00402003200a36023c2003200636023820032004360234200320013a0030200320073a00082003200937030002402002280204450d002000420537030002402009427e7c22094203542009420152710d00200141ff01714102470d002004450d00200641002802a8bfd38000118080808000000b200510ac8a8080000c010b2000200341900210e9968080001a0b200341d0056a2480808080000bf50202077f017e02402000280204220120002802002202460d00200120026b21032000200241fc006c6a41086a21044100210503402004200541fc006c6a22062802042107024020062802082202450d00200721000340024020002d0000220141034b0d002000200141027441bc97c580006a2802006a2201280200450d00200141046a28020041002802a8bfd38000118080808000000b200041146a21002002417f6a22020d000b0b02402006280200450d00200741002802a8bfd38000118080808000000b20062802742101024020062802782202450d0020012100034002402000290300427e7c22084203542008420152710d00200041306a2d000041ff01714102470d00200041346a280200450d00200041386a28020041002802a8bfd38000118080808000000b200041a0016a10c28b80800020004190026a21002002417f6a22020d000b0b02402006280270450d00200141002802a8bfd38000118080808000000b200541016a22052003470d000b0b0bf80802057f017e23808080800041c0006b2204248080808000024002400240024020002802002205418180808078460d0041002106024020024100480d00024020020d00410121060c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022060d02410121060b2006200241fc89c5800010ae80808000000b02400240024002402002411c470d00200141a28fc58000411c10ed96808000450d010b41002d00b8bfd380001a411441002802b0bfd38000118280808000002202450d012002420037020c2002410d3602000c040b41002d00b8bfd380001a411441002802b0bfd38000118280808000002202450d012002420037020c2002410d3602000c030b4104411410b980808000000b4104411410b980808000000b20062001200210e99680800021010240200541808080807872418080808078460d00200028020441002802a8bfd38000118080808000000b200020023602082000200136020420004180808080783602002004200029020437021c2004200236021802400240200328020822020d00410021022004410036023c20044280808080c0003702340c010b2003280204210141002d00b8bfd380001a2002410474220541002802b0bfd38000118280808000002203450d022001200241306c6a21072004410036023c20042003360238200420023602344108210541002106034041002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d0041002108200441003602102004200236020c20044102360208200441246a200141002f01d8bcd3800010de888080000240200428022c22034100480d0020042802282102024020030d00410121080c030b41002d00b8bfd380001a200341002802b0bfd380001182808080000022080d02410121080b2008200341f882c4800010ae80808000000b4104412010b980808000000b20082002200310e996808000210802402004280224450d00200241002802a8bfd38000118080808000000b200428020c220220042f00243b0001200241033a00002002200836020820022003360204200241036a200441246a41026a2d00003a00002002200336020c20044101360210200441246a2001290320200141286a29030010e39180800020042902282109200428022421080240200428020822034101470d00200441086a41b48ec5800010f29180800020042802082103200428020c21020b2002200937021820022008360214200241023a001020044102360210200429020c2109024020062004280234470d00200441346a41b48ec5800010f2918080000b200428023820056a220220093702002002417c6a2003360200200241786a41043a00002004200641016a220636023c200541106a2105200141306a22012007470d000b200428023421020b2004200429023837022c20042002360228200441043a0024200441086a2000410c6a200441186a200441246a10dc8a808000024020042d00084106460d00200441086a10d78a8080000b410021020b200441c0006a24808080800020020f0b4104200541c084cc800010ae80808000000ba20402037f017e23808080800041c0006b220424808080800002400240024020002802002205418180808078460d0041002106024020024100480d00024020020d00410121060c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022060d02410121060b2006200241fc89c5800010ae80808000000b02400240024002402002411c470d00200141a28fc58000411c10ed96808000450d010b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c040b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c030b4104411410b980808000000b4104411410b980808000000b20062001200210e99680800021010240200541808080807872418080808078460d00200028020441002802a8bfd38000118080808000000b2000200236020820002001360204200041808080807836020020042000290204220737021820042002360214200441206a200310a188808000024020042d00204106460d00200441306a41086a200441206a41086a29020037030020042004290220370330200441046a2000410c6a200441146a200441306a10dc8a808000024020042d00044106460d00200441046a10d78a8080000b410021000c010b200428022421002002450d002007a741002802a8bfd38000118080808000000b200441c0006a24808080800020000bf20302037f017e23808080800041306b220424808080800002400240024020002802002205418180808078460d0041002106024020024100480d0020033502002107024020020d00410121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022030d02410121060b2006200241fc89c5800010ae80808000000b02400240024002402002411c470d00200141a28fc58000411c10ed96808000450d010b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c040b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c030b4104411410b980808000000b4104411410b980808000000b20032001200210e99680800021010240200541808080807872418080808078460d00200028020441002802a8bfd38000118080808000000b200020023602082000200136020420004180808080783602002004200029020437021820042002360214200441046a200710e291808000200441023a00202004200429020837022820042004280204360224200441046a2000410c6a200441146a200441206a10dc8a808000024020042d00044106460d00200441046a10d78a8080000b410021000b200441306a24808080800020000ba50a02067f027e23808080800041d0006b220424808080800002400240024002400240024020002802002205418180808078460d0041002106024020024100480d00024020020d00410121060c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022060d02410121060b2006200241fc89c5800010ae80808000000b02400240024002402002411c470d00200141a28fc58000411c10ed96808000450d010b41002d00b8bfd380001a411441002802b0bfd38000118280808000002202450d012002420037020c2002410d3602000c040b41002d00b8bfd380001a411441002802b0bfd38000118280808000002202450d012002420037020c2002410d3602000c030b4104411410b980808000000b4104411410b980808000000b20062001200210e99680800021010240200541808080807872418080808078460d00200028020441002802a8bfd38000118080808000000b20002002360208200020013602042000418080808078360200200420002902043702042004200236020041002d00b8bfd380001a2004410036022020044100360218410b41002802b0bfd38000118280808000002202450d03200241076a41002800a3f8c480003600002002410029009cf8c480003700002004410b36021420042002360210200441808080807836020c200420042902103702382004410b36023402400240200328020822020d00410021022004410036022c20044280808080c0003702240c010b2003280204210141002d00b8bfd380001a2002410474220541002802b0bfd38000118280808000002203450d032004410036022c200420033602282004200236022420024105742107410c210541002106034041002103200441c0006a200141002f01d8bcd3800010de8880800002400240200428024822024100480d0020042802442103024020020d00410121080c020b41002d00b8bfd380001a200241002802b0bfd380001182808080000022080d01410121030b2003200241f882c4800010ae80808000000b20082003200210e996808000210802402004280240450d00200341002802a8bfd38000118080808000000b024020062004280224470d00200441246a41b48ec5800010f2918080000b200141206a2101200428022820056a22032002360200200341756a220920042f00403b0000200341746a41033a00002003417c6a2008360200200341786a2002360200200941026a200441c0006a41026a2d00003a00002004200641016a220636022c200541106a2105200741606a22070d000b200428022421020b2004200429022837024820042002360244200441043a0040200441246a200441186a200441346a200441c0006a10dc8a808000024020042d00244106460d00200441246a10d78a8080000b2004290218210a2004280210210302400240200428020c2202418180808078460d002004350220422086200a42208884210b200aa72101410521050240200241808080807872418080808078470d000c020b200341002802a8bfd38000118080808000000c010b200341ff01714106460d022004280214210120034108762102200a210b200321050b2004200b37024820042001360244200420053a0040200420023b0041200420024110763a00432004410c6a2000410c6a2004200441c0006a10dc8a808000024020042d000c4106460d002004410c6a10d78a8080000b410021020b200441d0006a24808080800020020f0b41d084cc8000411c41ec84cc8000108b81808000000b4104200541c084cc800010ae80808000000b4101410b10b980808000000be20702037f027e23808080800041a0016b22042480808080000240024002400240024020002802002205418180808078460d0041002106024020024100480d00024020020d00410121060c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022060d02410121060b2006200241fc89c5800010ae80808000000b02400240024002402002411c470d00200141a28fc58000411c10ed96808000450d010b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c040b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c030b4104411410b980808000000b4104411410b980808000000b20062001200210e99680800021010240200541808080807872418080808078460d00200028020441002802a8bfd38000118080808000000b2000200236020820002001360204200041808080807836020020042000290204220737021c2004200236021841002d00b8bfd380001a2004410036024820044100360240410a41002802b0bfd38000118280808000002201450d01200141086a41002f0098fec480003b000020014100290090fec480003700002004410a36023c2004200136023820044180808080783602342004200429023822083702602004410a36025c200441e8006a200310d58e808000024020042d00684106460d00200441f8006a41086a200441e8006a41086a29020037030020042004290268370378200441cc006a200441c0006a200441dc006a200441f8006a10dc8a808000024020042d004c4106460d00200441cc006a10d78a8080000b20042902402108200428023821010240024020042802342202418180808078460d00200435024842208620084220888421072008a72105410521030240200241808080807872418080808078470d000c020b200141002802a8bfd38000118080808000000c010b200141ff01714106460d04200428023c21052001410876210220082107200121030b2004200737022c20042005360228200420033a0024200420023b0025200420024110763a0027200441086a2000410c6a200441186a200441246a10dc8a808000024020042d00084106460d00200441086a10d78a8080000b410021000c010b200428026c21002008a741002802a8bfd38000118080808000002004410036029801200441003602880120044100360278200441f8006a10d68a8080002002450d002007a741002802a8bfd38000118080808000000b200441a0016a24808080800020000f0b4101410a10b980808000000b41d084cc8000411c41ec84cc8000108b81808000000bf70502037f017e23808080800041e0006b220424808080800002400240024020002802002205418180808078460d0041002106024020024100480d00024020020d00410121060c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022060d02410121060b2006200241fc89c5800010ae80808000000b02400240024002402002411c470d00200141a28fc58000411c10ed96808000450d010b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c040b2004410036024020044280808080103702382004410136024c2004418086cc800036024820044201370254200441cb82808000ad4220862003ad843703182004200441186a360250200441386a41ec95c68000200441c8006a10e2808080000d0120042802382102200441086a200428023c2201200428024010899280800002402002450d00200141002802a8bfd38000118080808000000b024020042d00084106460d00200041046a2102024020002d00044106460d00200210d78a8080000b20022004290208370200200241086a200441086a41086a290200370200410021000c040b200428020c21000c030b4104411410b980808000000b419496c680004137200441c8006a418496c6800041cc96c6800010a481808000000b20062001200210e99680800021010240200541808080807872418080808078460d00200028020441002802a8bfd38000118080808000000b200020023602082000200136020420004180808080783602002004200029020422073702302004200236022c200441386a200310d48e808000024020042d00384106460d00200441c8006a41086a200441386a41086a29020037030020042004290238370348200441186a2000410c6a2004412c6a200441c8006a10dc8a808000024020042d00184106460d00200441186a10d78a8080000b410021000c010b200428023c21002002450d002007a741002802a8bfd38000118080808000000b200441e0006a24808080800020000bd30301037f23808080800041306b220424808080800002400240024020002802002205418180808078460d0041002106024020024100480d00024020020d00410121060c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022060d02410121060b2006200241fc89c5800010ae80808000000b02400240024002402002411c470d00200141a28fc58000411c10ed96808000450d010b41002d00b8bfd380001a411441002802b0bfd38000118280808000002201450d012001420037020c2001410d3602000c040b41002d00b8bfd380001a411441002802b0bfd38000118280808000002201450d012001420037020c2001410d3602000c030b4104411410b980808000000b4104411410b980808000000b20062001200210e99680800021010240200541808080807872418080808078460d00200028020441002802a8bfd38000118080808000000b20002002360208200020013602042000418080808078360200410021012004410036022c20044100360224200441053a00202004200029020437021820042002360214200441046a2000410c6a200441146a200441206a10dc8a80800020042d00044106460d00200441046a10d78a8080000b200441306a24808080800020010ba20402037f017e23808080800041c0006b220424808080800002400240024020002802002205418180808078460d0041002106024020024100480d00024020020d00410121060c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022060d02410121060b2006200241fc89c5800010ae80808000000b02400240024002402002411c470d00200141a28fc58000411c10ed96808000450d010b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c040b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c030b4104411410b980808000000b4104411410b980808000000b20062001200210e99680800021010240200541808080807872418080808078460d00200028020441002802a8bfd38000118080808000000b2000200236020820002001360204200041808080807836020020042000290204220737021820042002360214200441206a200310a184808000024020042d00204106460d00200441306a41086a200441206a41086a29020037030020042004290220370330200441046a2000410c6a200441146a200441306a10dc8a808000024020042d00044106460d00200441046a10d78a8080000b410021000c010b200428022421002002450d002007a741002802a8bfd38000118080808000000b200441c0006a24808080800020000bbc0802037f027e23808080800041e0006b2204248080808000024002400240024020002802002205418180808078460d0041002106024020024100480d00024020020d00410121060c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022060d02410121060b2006200241fc89c5800010ae80808000000b02400240024002402002411c470d00200141a28fc58000411c10ed96808000450d010b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c040b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c030b4104411410b980808000000b4104411410b980808000000b20062001200210e99680800021010240200541808080807872418080808078460d00200028020441002802a8bfd38000118080808000000b20002002360208200020013602042000418080808078360200200420002902043702102004200236020c4100210141002d00b8bfd380001a2004410036022c20044100360224024002400240410341002802b0bfd38000118280808000002202450d00200241026a41002d00f5fac480003a0000200241002f00f3fac480003b0000200441033602202004200236021c20044180808080783602182004200429021c37024420044103360240024020032d00004101460d000c030b41002101200441d0006a200341016a41002f01d8bcd3800010de888080000240200428025822024100480d0020042802542101024020020d00410121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022030d02410121010b2001200241f882c4800010ae80808000000b4101410310b980808000000b20032001200210e9968080001a02402004280250450d00200141002802a8bfd38000118080808000000b410321010b200420013a0050200420042f004d3b00512004200236025c20042003360258200420023602542004200441cd006a41026a2d00003a0053200441306a200441246a200441c0006a200441d0006a10dc8a808000024020042d00304106460d00200441306a10d78a8080000b20042902242107200428021c21010240024020042802182202418180808078460d00200435022c42208620074220888421082007a72103410521050240200241808080807872418080808078470d000c020b200141002802a8bfd38000118080808000000c010b200141ff01714106460d02200428022021032001410876210220072108200121050b2004200837025820042003360254200420053a0050200420023b0051200420024110763a0053200441186a2000410c6a2004410c6a200441d0006a10dc8a808000024020042d00184106460d00200441186a10d78a8080000b410021000b200441e0006a24808080800020000f0b41d084cc8000411c41ec84cc8000108b81808000000bf30602037f027e23808080800041d0006b22042480808080000240024002400240024020002802002205418180808078460d0041002106024020024100480d0020033502002107024020020d00410121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022030d02410121060b2006200241fc89c5800010ae80808000000b02400240024002402002411c470d00200141a28fc58000411c10ed96808000450d010b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c040b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c030b4104411410b980808000000b4104411410b980808000000b20032001200210e99680800021010240200541808080807872418080808078460d00200028020441002802a8bfd38000118080808000000b20002002360208200020013602042000418080808078360200200420002902043702042004200236020041002d00b8bfd380001a2004410036022020044100360218410b41002802b0bfd38000118280808000002202450d01200241076a4100280083fec48000360000200241002900fcfdc480003700002004410b36021420042002360210200441808080807836020c200420042902103702382004410b360234200441246a200710e291808000200441023a00402004200429022837024820042004280224360244200441246a200441186a200441346a200441c0006a10dc8a808000024020042d00244106460d00200441246a10d78a8080000b200429021821072004280210210102400240200428020c2202418180808078460d00200435022042208620074220888421082007a72103410521050240200241808080807872418080808078470d000c020b200141002802a8bfd38000118080808000000c010b200141ff01714106460d03200428021421032001410876210220072108200121050b2004200837024820042003360244200420053a0040200420023b0041200420024110763a00432004410c6a2000410c6a2004200441c0006a10dc8a808000024020042d000c4106460d002004410c6a10d78a8080000b410021000b200441d0006a24808080800020000f0b4101410b10b980808000000b41d084cc8000411c41ec84cc8000108b81808000000bf60602037f017e23808080800041306b220424808080800002400240024020002802002205418180808078460d0041002106024020024100480d00024020020d00410121060c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000022060d02410121060b2006200241fc89c5800010ae80808000000b024002400240024002402002411c470d00200141a28fc58000411c10ed96808000450d010b41002d00b8bfd380001a411441002802b0bfd38000118280808000002200450d012000420037020c2000410d3602000c050b2003280214210241002d00b8bfd380001a411441002802b0bfd3800011828080800000210002402002418180808078460d002000450d022000420037020c2000410d3602000c050b2000450d022000420037020c2000410d3602000c040b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000b20062001200210e99680800021010240200541808080807872418080808078460d00200028020441002802a8bfd38000118080808000000b2000200236020820002001360204200041808080807836020020042000290204370218200420023602140240024020032802142201418180808078470d00410021020c010b4100210541002d00b8bfd380001a024002400240413041002802b0bfd38000118280808000002202450d00200441206a200335021010e291808000200428022021062002200429022437020820022006360204200241023a0000200441206a2003290300200341086a29030010e391808000200428022021062002200429022437021820022006360214200241023a001002402001418080808078470d000c030b410021050240200328021c22014100480d0020032802182105024020010d00410121030c030b41002d00b8bfd380001a200141002802b0bfd380001182808080000022030d02410121050b2005200141fc89c5800010ae80808000000b4104413010b980808000000b20032005200110e9968080001a410321050b2002200136022c2002200336022820022001360224200220053a00202002ad428080808030842107410421020b2004200737022820044103360224200420023a0020200441046a2000410c6a200441146a200441206a10dc8a808000024020042d00044106460d00200441046a10d78a8080000b410021000b200441306a24808080800020000bec0302027f037e23808080800041306b220224808080800002400240024002400240024020012d00002203417c6a41042003417b6a41ff01714105491b417f6a0e050001020304000b200241086a200128020410d187808000200229030821042002290310210520022d0028210120004200370310200041186a4200370300200041003a0021200020013a00202000427f200542ed0b7c220620062005541b3703082000427f200442b8c7e4037c220520052004541b3703000c040b2001290308210420012903102105200241086a200128021810d18780800020022d00282101200042003703102000200537030820002004370300200041186a4200370300200041003a0021200020013a00200c030b20004200370310200042ed0b37030820004288dbb903370300200041186a4200370300200041206a41003b01000c020b200241086a200128022410d187808000200229030821042002290310210520022d0028210120004200370310200041186a4200370300200041003a0021200020013a00202000427f200542ed0b7c220620062005541b3703082000427f200442b0ace0037c220520052004541b3703000c010b20004200370310200042ed0b370308200042e8d48703370300200041186a4200370300200041206a41003b01000b200241306a2480808080000b940801107f23808080800041206b220324808080800002400240024020020d004100210441002d00b8bfd380001a0240418c0141002802b0bfd38000118280808000002205450d00200541003b018a01200541003602000240024020012f018a01450d002001410c6a2106200541046a21074100210841002104034002400240200628020022024100480d002006417c6a2802002109024020020d004101210a0c020b41002d00b8bfd380001a200241002802b0bfd3800011828080800000220a0d01410121080b2008200241a89dc5800010ae80808000000b200a2009200210e996808000210a20052f018a012209410b4f0d022005200941016a3b018a0120072009410c6c6a220920023602082009200a360204200920023602002006410c6a2106200441016a220420012f018a01490d000b0b2000200436020820004100360204200020053602000c030b418cabc18000412041acabc1800010f480808000000b4104418c0110b980808000000b200341086a200128028c012002417f6a220b108d8b80800020032802082202450d0141002d00b8bfd380001a200328020c210c02400240024041bc0141002802b0bfd38000118280808000002205450d002005200236028c01200541003b018a0120054100360200200241003b01880120022005360200200320053602082003200c41016a36020c20012f018a01450d022005418c016a210d20014190016a21042001410c6a2109200541046a210e4100210f200328021021084100211002400240034002400240200928020022024100480d002009417c6a2802002106024020020d004101210a0c020b41002d00b8bfd380001a200241002802b0bfd3800011828080800000220a0d014101210f0b200f200241a89dc5800010ae80808000000b200a2006200210e9968080002111200341146a2004280200200b108d8b808000200328021c2112024002400240200328021422060d0041002d00b8bfd380001a418c0141002802b0bfd38000118280808000002206450d024100210a200641003b018a01200641003602000c010b2003280218210a0b200c200a470d0220052f018a01220a410b4f0d032005200a41016a22073b018a01200e200a410c6c6a220a2011360204200a2002360200200a2002360208200d20074102746a2006360200200620073b01880120062005360200200441046a21042009410c6a2109201220086a41016a2108201041016a221020012f018a014f0d050c010b0b4104418c0110b980808000000b41bcabc18000413041ecabc1800010f480808000000b418cabc18000412041fcabc1800010f480808000000b410441bc0110b980808000000b200320083602100b20002003290208370200200041086a200341086a41086a2802003602000b200341206a2480808080000f0b41d490c58000108a81808000000b9713010d7f23808080800041306b2201248080808000024020002802202202450d000240034020002002417f6a36022002400240200028020022024101470d0020002802040d00200028020821020240200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac0921022004417f6a22040d000b0b20034108490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200541786a22050d000b0b2000420037020820002002360204200041013602000c010b2002450d020b2000280208210302400240024002400240200028020c2204200028020422022f01aa094f0d00200221050c010b034020022802a0082205450d0220022f01a8092104200241002802a8bfd3800011808080800000200341016a210320052102200420052f01aa094f0d000b0b0240024020030d00200441016a2106200521020c010b200520044102746a41b0096a2802002102410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720022802ac0921022003417f6a22030d000b0b20084107490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200741786a22070d000b0b2000200636020c2000410036020820002002360204024020052004410c6c6a41a4086a2202280200450d00200228020441002802a8bfd38000118080808000000b024002402005200441e0006c6a220928020022020d0041002102410021050c010b200120023602242001410036022020012002360214200141003602102001200928020422023602282001200236021820092802082105410121020b2001200536022c2001200236021c2001200236020c2001410c6a108f8b808000200928020c220a41054b0d01200a450d02200941106a210b4100210c03400240200b200c410c6c6a22022802002205450d00200228020421060240024020022802082208450d00410021020340024002402002450d00200521040c010b4100210402402006450d0020062102024020064107712203450d0003402002417f6a2102200528028c0121052003417f6a22030d000b0b20064108490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200241786a22020d000b0b20052102410021060b024002400240200620022f018a014f0d0020062103200221050c010b034020022802002205450d0220022f0188012103200241002802a8bfd3800011808080800000200441016a210420052102200320052f018a014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a4190016a2802002102410021062004417f6a2207450d002004417e6a210d024020074107712204450d0003402007417f6a2107200228028c0121022004417f6a22040d000b0b200d4107490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200741786a22070d000b0b024020052003410c6c6a41046a2205280200450d00200528020441002802a8bfd38000118080808000000b410021052008417f6a22080d010c030b0b200241002802a8bfd380001180808080000041d8b3c18000108a81808000000b024020060d00200521020c010b02400240200641077122030d0020062104200521020c010b200621042005210203402004417f6a2104200228028c0121022003417f6a22030d000b0b20064108490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200441786a22040d000b0b034020022802002105200241002802a8bfd38000118080808000002005210220050d000b0b200c41016a220c200a470d000c030b0b200241002802a8bfd380001180808080000041d8b3c18000108a81808000000b2009280210210a02402009280214220b450d004100210c03400240200a200c410c6c6a22022802002205450d00200228020421060240024020022802082208450d00410021020340024002402002450d00200521040c010b4100210402402006450d0020062102024020064107712203450d0003402002417f6a2102200528028c0121052003417f6a22030d000b0b20064108490d000340200528028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012105200241786a22020d000b0b20052102410021060b024002400240200620022f018a014f0d0020062103200221050c010b034020022802002205450d0220022f0188012103200241002802a8bfd3800011808080800000200441016a210420052102200320052f018a014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a4190016a2802002102410021062004417f6a2207450d002004417e6a210d024020074107712204450d0003402007417f6a2107200228028c0121022004417f6a22040d000b0b200d4107490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200741786a22070d000b0b024020052003410c6c6a41046a2205280200450d00200528020441002802a8bfd38000118080808000000b410021052008417f6a22080d010c030b0b200241002802a8bfd380001180808080000041d8b3c18000108a81808000000b024020060d00200521020c010b02400240200641077122030d0020062104200521020c010b200621042005210203402004417f6a2104200228028c0121022003417f6a22030d000b0b20064108490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200441786a22040d000b0b034020022802002105200241002802a8bfd38000118080808000002005210220050d000b0b200c41016a220c200b470d000b0b200a41002802a8bfd38000118080808000000b02402009280254450d00200928025841002802a8bfd38000118080808000000b200028022022020d000c020b0b418c8ac58000108a81808000000b200028020021022000410036020002402002450d000240200028020422020d0020002802082102200028020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802ac0921022004417f6a22040d000b0b20034108490d00034020022802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092102200541786a22050d000b0b034020022802a0082105200241002802a8bfd38000118080808000002005210220050d000b0b200141306a2480808080000ba40601077f024020002802202201450d000240034020002001417f6a36022002400240200028020022014101470d0020002802040d00200028020821010240200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802ac1421012003417f6a22030d000b0b20024108490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200441786a22040d000b0b2000420037020820002001360204200041013602000c010b2001450d020b20002802082102024002400240200028020c2203200028020422012f01aa144f0d00200121040c010b034020012802a0132204450d0220012f01a8142103200141002802a8bfd3800011808080800000200241016a210220042101200320042f01aa144f0d000b0b0240024020020d00200341016a2105200421010c010b200420034102746a41b0146a2802002101410021052002417f6a2206450d002002417e6a2107024020064107712202450d0003402006417f6a210620012802ac1421012002417f6a22020d000b0b20074107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200641786a22060d000b0b2000200536020c2000410036020820002001360204024020042003410c6c6a41a4136a2201280200450d00200128020441002802a8bfd38000118080808000000b2004200341e0016c6a10a28f808000200028022022010d010c030b0b200141002802a8bfd380001180808080000041d8b3c18000108a81808000000b418c8ac58000108a81808000000b200028020021012000410036020002402001450d000240200028020422010d0020002802082101200028020c2202450d0002400240200241077122030d00200221040c010b2002210403402004417f6a210420012802ac1421012003417f6a22030d000b0b20024108490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200441786a22040d000b0b034020012802a0132104200141002802a8bfd38000118080808000002004210120040d000b0b0b9a0b01097f024020002802202201450d00200028020c210220002802042103200028020021040240034020002001417f6a22013602200240024020044101712205450d0020030d002000280208210302402002450d0002400240200241077122060d00200221050c010b2002210503402005417f6a210520032802e40c21032006417f6a22060d000b0b20024108490d00034020032802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2103200541786a22050d000b0b20004200370208200020033602044101210420004101360200410021020c010b2005450d020b20002802082107024002400240200220032f01e20c4f0d0020022106200321050c010b03402003280288022205450d0220032f01e00c2106200341002802a8bfd3800011808080800000200741016a210720052103200620052f01e20c4f0d000b0b0240024020070d00200641016a2102200521030c010b200520064102746a41e80c6a2802002103410021022007417f6a2208450d002007417e6a2109024020084107712207450d0003402008417f6a210820032802e40c21032007417f6a22070d000b0b20094107490d00034020032802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2103200841786a22080d000b0b2000200236020c200041003602082000200336020402402005200641186c6a2207280200450d00200728020441002802a8bfd38000118080808000000b0240200728020c450d00200728021041002802a8bfd38000118080808000000b2005200641fc006c6a2206418c026a21050240024020064184036a280200220641054b0d002006450d010240200528020c2207418080808078460d002007450d00200528021041002802a8bfd38000118080808000000b02402005280200450d00200528020441002802a8bfd38000118080808000000b20064101460d01024020052802242207418080808078460d002007450d00200528022841002802a8bfd38000118080808000000b02402005280218450d00200528021c41002802a8bfd38000118080808000000b20064102460d010240200528023c2207418080808078460d002007450d00200528024041002802a8bfd38000118080808000000b02402005280230450d00200528023441002802a8bfd38000118080808000000b20064103460d01024020052802542207418080808078460d002007450d00200528025841002802a8bfd38000118080808000000b02402005280248450d00200528024c41002802a8bfd38000118080808000000b20064104460d010240200528026c2206418080808078460d002006450d00200528027041002802a8bfd38000118080808000000b2005280260450d01200528026441002802a8bfd380001180808080000020010d030c050b20052802002108024020052802042206450d0020082105034002402005410c6a2802002207418080808078460d002007450d00200541106a28020041002802a8bfd38000118080808000000b02402005280200450d00200541046a28020041002802a8bfd38000118080808000000b200541186a21052006417f6a22060d000b0b200841002802a8bfd38000118080808000000b20010d010c030b0b200341002802a8bfd380001180808080000041d8b3c18000108a81808000000b418c8ac58000108a81808000000b200028020021032000410036020002402003450d000240200028020422030d0020002802082103200028020c2207450d0002400240200741077122060d00200721050c010b2007210503402005417f6a210520032802e40c21032006417f6a22060d000b0b20074108490d00034020032802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2802e40c2103200541786a22050d000b0b03402003280288022105200341002802a8bfd38000118080808000002005210320050d000b0b0bbb0601097f024020002802202201450d00200028020c210220002802042103200028020021040240034020002001417f6a22013602200240024020044101712205450d0020030d002000280208210302402002450d0002400240200241077122060d00200221050c010b2002210503402005417f6a210520032802900221032006417f6a22060d000b0b20024108490d000340200328029002280290022802900228029002280290022802900228029002280290022103200541786a22050d000b0b20004200370208200020033602044101210420004101360200410021020c010b2005450d020b20002802082106024002400240200220032f018e024f0d0020022107200321050c010b03402003280288022205450d0220032f018c022107200341002802a8bfd3800011808080800000200641016a210620052103200720052f018e024f0d000b0b0240024020060d00200741016a2102200521030c010b200520074102746a4194026a2802002103410021022006417f6a2208450d002006417e6a2109024020084107712206450d0003402008417f6a210820032802900221032006417f6a22060d000b0b20094107490d000340200328029002280290022802900228029002280290022802900228029002280290022103200841786a22080d000b0b2000200236020c200041003602082000200336020402402005200741186c6a2205280200450d00200528020441002802a8bfd38000118080808000000b0240200528020c450d00200528021041002802a8bfd38000118080808000000b20010d010c030b0b200341002802a8bfd380001180808080000041d8b3c18000108a81808000000b418c8ac58000108a81808000000b200028020021032000410036020002402003450d000240200028020422030d0020002802082103200028020c2207450d0002400240200741077122060d00200721050c010b2007210503402005417f6a210520032802900221032006417f6a22060d000b0b20074108490d000340200328029002280290022802900228029002280290022802900228029002280290022103200541786a22050d000b0b03402003280288022105200341002802a8bfd38000118080808000002005210320050d000b0b0bd30501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802900221012005417f6a22050d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200041786a22000d000b0b20012100410021020b024002400240200220002f018e024f0d0020022105200021010c010b03402000280288022201450d0220002f018c022105200041002802a8bfd3800011808080800000200441016a210420012100200520012f018e024f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4194026a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802900221002004417f6a22040d000b0b20074107490d000340200028029002280290022802900228029002280290022802900228029002280290022100200641786a22060d000b0b200120054103746a220441b0016a28020021010240200441b4016a28020022042802002205450d0020012005118080808000000b02402004280204450d00200141002802a8bfd38000118080808000000b410021012003417f6a22030d010c030b0b200041002802a8bfd380001180808080000041d8b3c18000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802900221002005417f6a22050d000b0b20024108490d000340200028029002280290022802900228029002280290022802900228029002280290022100200441786a22040d000b0b03402000280288022101200041002802a8bfd38000118080808000002001210020010d000b0b0bfe0401057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802e80221012004417f6a22040d000b0b20024108490d00034020012802e8022802e8022802e8022802e8022802e8022802e8022802e8022802e8022101200041786a22000d000b0b20012104410021020b024002400240200220042f01e6024f0d00200421000c010b034020042802e0022200450d0220042f01e4022102200441002802a8bfd3800011808080800000200541016a210520002104200220002f01e6024f0d000b0b0240024020050d00200241016a21020c010b200020024102746a41ec026a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802e80221002005417f6a22050d000b0b20014107490d00034020002802e8022802e8022802e8022802e8022802e8022802e8022802e8022802e8022100200441786a22040d000b0b410021012003417f6a22030d010c030b0b200441002802a8bfd380001180808080000041d8b3c18000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802e80221002005417f6a22050d000b0b20024108490d00034020002802e8022802e8022802e8022802e8022802e8022802e8022802e8022802e8022100200441786a22040d000b0b034020002802e0022104200041002802a8bfd38000118080808000002004210020040d000b0b0ba10601097f024020002802202201450d00200028020c210220002802042103200028020021040240034020002001417f6a22013602200240024020044101712205450d0020030d002000280208210302402002450d0002400240200241077122060d00200221050c010b2002210503402005417f6a210520032802f80621032006417f6a22060d000b0b20024108490d00034020032802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062103200541786a22050d000b0b20004200370208200020033602044101210420004101360200410021020c010b2005450d020b20002802082106024002400240200220032f01f6064f0d0020022107200321050c010b034020032802f0062205450d0220032f01f4062107200341002802a8bfd3800011808080800000200641016a210620052103200720052f01f6064f0d000b0b0240024020060d00200741016a2102200521030c010b200520074102746a41fc066a2802002103410021022006417f6a2208450d002006417e6a2109024020084107712206450d0003402008417f6a210820032802f80621032006417f6a22060d000b0b20094107490d00034020032802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062103200841786a22080d000b0b2000200236020c200041003602082000200336020402402005200741d0006c6a22052802484129490d00200541206a28020041002802a8bfd38000118080808000000b20010d010c030b0b200341002802a8bfd380001180808080000041d8b3c18000108a81808000000b418c8ac58000108a81808000000b200028020021032000410036020002402003450d000240200028020422030d0020002802082103200028020c2207450d0002400240200741077122060d00200721050c010b2007210503402005417f6a210520032802f80621032006417f6a22060d000b0b20074108490d00034020032802f8062802f8062802f8062802f8062802f8062802f8062802f8062802f8062103200541786a22050d000b0b034020032802f0062105200341002802a8bfd38000118080808000002005210320050d000b0b0bc40601097f024020002802202201450d00200028020c210220002802042103200028020021040240034020002001417f6a22013602200240024020044101712205450d0020030d002000280208210302402002450d0002400240200241077122060d00200221050c010b2002210503402005417f6a210520032802900221032006417f6a22060d000b0b20024108490d000340200328029002280290022802900228029002280290022802900228029002280290022103200541786a22050d000b0b20004200370208200020033602044101210420004101360200410021020c010b2005450d020b20002802082106024002400240200220032f018e024f0d0020022107200321050c010b034020032802002205450d0220032f018c022107200341002802a8bfd3800011808080800000200641016a210620052103200720052f018e024f0d000b0b0240024020060d00200741016a2102200521030c010b200520074102746a4194026a2802002103410021022006417f6a2208450d002006417e6a2109024020084107712206450d0003402008417f6a210820032802900221032006417f6a22060d000b0b20094107490d000340200328029002280290022802900228029002280290022802900228029002280290022103200841786a22080d000b0b2000200236020c2000410036020820002003360204024020052007410c6c6a220541046a2206280200450d00200628020441002802a8bfd38000118080808000000b024020054188016a2205280200450d00200528020441002802a8bfd38000118080808000000b20010d010c030b0b200341002802a8bfd380001180808080000041d8b3c18000108a81808000000b418c8ac58000108a81808000000b200028020021032000410036020002402003450d000240200028020422030d0020002802082103200028020c2207450d0002400240200741077122060d00200721050c010b2007210503402005417f6a210520032802900221032006417f6a22060d000b0b20074108490d000340200328029002280290022802900228029002280290022802900228029002280290022103200541786a22050d000b0b034020032802002105200341002802a8bfd38000118080808000002005210320050d000b0b0b891903047f027e037f23808080800041c0026b22022480808080002001280204210302400240024002400240024002400240200128020841756a0e03010200020b200341fd95c58000410d10ed968080000d010c020b200341f295c58000410b10ed96808000450d010b20004180808080783602000c010b2002410c36022820024200370220200241146a200241206a41b487c5800010988c80800020024106360240200242003702382002412c6a200241386a41b487c58000108e8c8080002002410036024c20024280808080c0003702442002410036027c20024280808080c000370274200241f4006a41d091c5800010e88a808000410121042002280278220141013a000c20014108360208200141f490c5800036020420014180808080783602002002410136027c200241d0006a200228021822052005200228021c4105746a41b487c5800010978c808000200241c4006a41d091c5800010e88a8080002002280248220341003a000c20034108360208200341f490c5800036020420034180808080783602002002410136024c200241083602bc02200241f490c580003602b8022002410236029401200241d0cac88000360290012002420237029c01200241e682808000ad42208622062001ad84370368200241e782808000ad422086200241b8026aad8422073703602002200241e0006a3602980120024180016a20024190016a10b180808000024020012802002208418080808078460d002008450d00200128020441002802a8bfd38000118080808000000b2001200229028001370200200141086a20024180016a41086a28020036020020022802742109024020022802444101470d00200241c4006a410141014104411010948a80800020022802482103200228024c21040b200320044104746a22082001290200370200200841086a200141086a2902003702002002200441016a220836024c02402009450d00200141002802a8bfd38000118080808000000b2002410036027c20024280808080c000370274200241f4006a41d091c5800010e88a8080002002280278220141013a000c20014103360208200141f3fac4800036020420014180808080783602002002410136027c024020082002280244470d00200241c4006a41d091c5800010e88a808000200228024821030b200320084104746a220341003a000c20034104360208200341c0f9c4800036020420034180808080783602002002200441026a220336024c200241043602bc02200241c0f9c480003602b8022002410236029401200241d0cac88000360290012002420237029c01200220062001ad84370368200220073703602002200241e0006a3602980120024180016a20024190016a10b180808000024020012802002204418080808078460d002004450d00200128020441002802a8bfd38000118080808000000b2001200229028001370200200141086a220820024180016a41086a28020036020020022802742109024020022802442003470d00200241c4006a200341014104411010948a808000200228024c21030b2002280248220420034104746a220a2001290200370200200a41086a20082902003702002002200341016a220836024c02402009450d00200141002802a8bfd38000118080808000000b2002410036027c20024280808080c000370274200241f4006a41d091c5800010e88a8080002002280278220141013a000c2001410c3602082001418092c5800036020420014180808080783602002002410136027c024020082002280244470d00200241c4006a41d091c5800010e88a808000200228024821040b200420084104746a220841003a000c2008410e3602082008418c92c5800036020420084180808080783602002002200341026a220336024c2002410e3602bc022002418c92c580003602b8022002410236029401200241d0cac88000360290012002420237029c01200220062001ad84370368200220073703602002200241e0006a3602980120024180016a20024190016a10b180808000024020012802002208418080808078460d002008450d00200128020441002802a8bfd38000118080808000000b2001200229028001370200200141086a220820024180016a41086a28020036020020022802742109024020022802442003470d00200241c4006a200341014104411010948a80800020022802482104200228024c21030b200420034104746a220a2001290200370200200a41086a20082902003702002002200341016a220836024c02402009450d00200141002802a8bfd38000118080808000000b2002410036027c20024280808080c000370274200241f4006a41d091c5800010e88a8080002002280278220141013a000c2001410b3602082001419cf8c480003602042001418080808078360200024020082002280244470d00200241c4006a41d091c5800010e88a808000200228024821040b200420084104746a220441003a000c20044104360208200441aaf2c4800036020420044180808080783602002002200341026a220936024c200241043602bc02200241aaf2c480003602b8022002410236029401200241d0cac88000360290012002420237029c01200220062001ad84370368200220073703602002200241e0006a3602980120024180016a20024190016a10b180808000024020012802002203418080808078460d002003450d00200128020441002802a8bfd38000118080808000000b2001200229028001370200200141086a220320024180016a41086a28020036020020022802742104024020022802442009470d00200241c4006a200941014104411010948a808000200228024c21090b2002280248220a20094104746a22082001290200370200200841086a200329020037020002402004450d00200141002802a8bfd38000118080808000000b200241e8016a4100360200200241e0016a4200370300200241d8016a4200370300200241f8016a200241346a28020036020020024190016a41106a200241e0006a41106a280200360200200242003703d0012002200229022c3703f0012002200229036037039001200220022903683703980120024181808080783602a401200241b8016a2002280258360200200220022903503703b001200242003703c801200242808090bbbad6adf00d3703c001200241013a008002200241e4003602fc0120024199026a41002900f891c5800037000020024191026a41002900f091c5800037000020024189026a41002900e891c58000370000200241002900e091c580003700810220024180016a20024190016a10db87808000024020022802b001450d0020022802b40141002802a8bfd380001180808080000020022802a4012201418280808078480d002001450d0020022802a80141002802a8bfd38000118080808000000b024020022802f001450d0020022802f40141002802a8bfd38000118080808000000b20022d0080014106460d0120024190016a41086a220120024180016a41086a29020037030020022002290280013703900141002103200241003602880120024280808080103702800120024190016a200a200941016a20024180016a10b590808000200241086a2001290300370300200220022903900137030002402009450d00200941016a417e712108200a2101410021030340024020012802002204418080808078460d002004450d00200141046a28020041002802a8bfd38000118080808000000b0240200141106a2802002204418080808078460d002004450d00200141146a28020041002802a8bfd38000118080808000000b200141206a21012008200341026a2203470d000b0b024020094101710d00200a20034104746a22032802002201418080808078460d002001450d00200328020441002802a8bfd38000118080808000000b02402002280244450d00200a41002802a8bfd38000118080808000000b02402002280214450d00200541002802a8bfd38000118080808000000b41002d00b8bfd380001a41800141002802b0bfd38000118280808000002201450d0220024100360298012002200136029401200241800136029001200220024190016a3602602002200241e0006a10958a8080002101200228029001210302402001450d002003450d0420022802940141002802a8bfd38000118080808000000c040b20022802940121012003418080808078460d0320002002280298013602082000200136020420002003360200200210d78a8080000b200241c0026a2480808080000f0b20022002280284013602900141ac92c58000412620024190016a419c92c5800041d091c5800010a481808000000b410141800110b980808000000b2002200136029001418a96c58000412f20024190016a419c92c5800041bc96c5800010a481808000000bd10101017f41002d00b8bfd380001a0240413041002802b0bfd38000118280808000002201450d00200141ff80808000360228200141ff8080800036021020014296e397c6bfa5aeee46370308200142aceff0b4f2bd8f8fe40037030020014296e397c6bfa5aeee46370320200142aceff0b4f2bd8f8fe400370318200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000410236020c2000200136020820004102360204200041043a00000f0b4108413010b980808000000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000bd20101017f41002d00b8bfd380001a0240413041002802b0bfd38000118280808000002201450d00200141ee82808000360228200141ff8080800036021020014296e397c6bfa5aeee46370308200142aceff0b4f2bd8f8fe40037030020014297aedcb4ebd3bbeab47f370320200142d4d6aeff87e4e1a6e100370318200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000410236020c2000200136020820004102360204200041043a00000f0b4108413010b980808000000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b48080800036021820004282a1a9c9eea2b5c92f3703102000428ae6f3f7c78ea4cfd100370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041f8818080003602182000429ab680e2dfdc8482c500370310200042bffffebae1aeaabcb77f370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041f480808000360218200042ad81c296a8a1bddf10370310200042f4a9a9b6bc97b5dace00370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041fb81808000360218200042f7acf7fbabffaffad200370310200042b783ebacdccac48c17370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041ef82808000360218200042e6a4b28ff3d5fccd54370310200042c2a4ccf0dfd9dcf66a370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041f082808000360218200042bc8ab78ab98db5ec9f7f370310200042d5b8cce0b4adbf894e370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041ff8080800036021820004296e397c6bfa5aeee46370310200042aceff0b4f2bd8f8fe400370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041af82808000360218200042b1c9f8f0b68ca3b1a67f370310200042a480a1cbceaeb2f67a370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041f182808000360218200042e2dc8ff6e0c8cde745370310200042f0a0c7ece695ecf0e800370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041aa82808000360218200042b3edcdd0e0ffba86223703102000428dc9addbabbab7c4a77f370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041a682808000360218200042c7d696b8eebdaebe827f370310200042cc83b6cbdba4c8c40f370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041f28280800036021820004281b5d5a398e091ef9f7f370310200042a3d0ea88fe89a6fb6c370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041f382808000360218200042b88f9eb1d0e3d7a1753703102000429cf2be92a79f94cde200370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041f482808000360218200042ee8ec3aac6c6c3a21a37031020004294e89aadf8e5e8cbe300370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000418781808000360218200042acf6debeefe0d9c8d300370310200042efc9c9edb5e7b3a6c700370308200041023a00000b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041808180800036021820004298c69af39cdb87a7917f370310200042e4bdf1e8c1f1c6cf8d7f370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041a88280800036021820004297a58adcf6c6a6fc967f370310200042a184bad8bec1a69122370308200041023a00000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b380808000360218200042d7c9cb8fc1cf97db3e370310200042e88488d0c0e3aebc13370308200041023a00000bdf0503047f017e027f23808080800041c0006b2201248080808000200141246a41d498c58000410541d998c58000411a4104410010c7918080002001410036022020014280808080c00037021841002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d00200241fb81808000360238200242f7acf7fbabffaffad200370330200242b783ebacdccac48c1737032820024109360224200241f998c580003602202002418a82808000360218200242a9febaf6b3f3eacdb37f370310200242a4b0f7a3a6ae9bf8aa7f37030820024106360204200241f398c58000360200200141086a200141186a220341086a2802003602002001200329020037030020012802242104200129022821052001410c6a41086a410036020020014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220342a9febaf6b3f3eacdb37f370308200342a4b0f7a3a6ae9bf8aa7f370300200141306a41086a220641013602002003420437022c20034206370224200341c6e2c180003602202003410636021c200341c0e2c180003602182003418a828080003602102001200129020c3703300240200628020022062001280230470d00200141306a41e0e1c1800010b8918080000b2001280234200641386c6a2203420437022c2003420e370224200341d6e2c180003602202003410a36021c200341cce2c180003602182003418982808000360210200342dce6a2eda3a3a8b341370308200342fc95a7ca848bb28bb27f3703002004418080808078460d0120012802342103200128023021072000410236024c20002002360248200041023602442000200537023c200020043602382000200336020820002007360204200041003a0000200020012903003702502000200641016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bd90401087f23808080800041e0016b2202248080808000200241f0006a200110ee838080000240024002400240024020022802702203418080808078460d0020022802782104200228027421052002410c6a200241fc006a41e40010e9968080001a20012802042206450d0320012006417f6a220736020420012001280200220841016a360200024002400240024020082d000022094103710e0400030201000b200941027621060c050b200941044f0d0520064105490d0520012006417b6a3602042001200841056a360200200828000122064180808080044f0d040c050b20064104490d0420012006417c6a3602042001200841046a36020020082f0001200841036a2d0000411074722206418002490d04200641087420097241027621060c030b20070d010c030b20004180808080783602000c030b20012006417e6a3602042001200841026a36020020082d00012206450d01200641087420097241027621060b200241f0006a2001200610fd828080002002280270418080808078460d0020002002290270370270200041f8006a200241f8006a2802003602002000410c6a2002410c6a41e40010e9968080001a2000200436020820002005360204200020033602000c010b200041808080807836020002402004450d00200521010340024020012d0000220041034b0d002001200041027441cca6c580006a2802006a2200280200450d00200041046a28020041002802a8bfd38000118080808000000b200141146a21012004417f6a22040d000b0b2003450d00200541002802a8bfd38000118080808000000b200241e0016a2480808080000bea08010b7f23808080800041106b2202248080808000200128022421030240024002400240034002402003450d00024002402001280228220420012802302205470d00200421060c010b2001200441106a220636022820042802002207418080808078470d030b024020052006460d00410021070240200520066b220841047622044101460d00200441feffffff007121054100210720062104034002402004280200450d00200441046a28020041002802a8bfd38000118080808000000b0240200441106a280200450d00200441146a28020041002802a8bfd38000118080808000000b200441206a21042005200741026a2207470d000b0b2008411071450d00200620074104746a2204280200450d00200428020441002802a8bfd38000118080808000000b0240200128022c450d00200341002802a8bfd38000118080808000000b200141003602240b0240024020012802004102460d0020022001109c8a80800020022802042206418080808078470d010b0240200128023822060d0020004180808080783602040c060b0240200128023c220420012802442205470d00200421030c040b2001200441106a220336023c20042802002207418080808078460d03200241086a2004410c6a28020036020020022004290204370300200128024821040c040b20022802082203200228020c4104746a21082002280200210902402001280224220a450d000240200128023022042001280228220b460d004100210702402004200b6b220c41047622044101460d00200441feffffff0071210541002107200b2104034002402004280200450d00200441046a28020041002802a8bfd38000118080808000000b0240200441106a280200450d00200441146a28020041002802a8bfd38000118080808000000b200441206a21042005200741026a2207470d000b0b200c411071450d00200b20074104746a2204280200450d00200428020441002802a8bfd38000118080808000000b200128022c450d00200a41002802a8bfd38000118080808000000b20012009360234200120083602302001200636022c20012003360228200120033602240c000b0b200020073602042000200429020437020820002001280234360200200041106a2004410c6a2802003602000c020b024020052003460d00410021070240200520036b220841047622044101460d00200441feffffff007121052003210441002107034002402004280200450d00200441046a28020041002802a8bfd38000118080808000000b0240200441106a280200450d00200441146a28020041002802a8bfd38000118080808000000b200441206a21042005200741026a2207470d000b0b2008411071450d00200320074104746a2204280200450d00200428020441002802a8bfd38000118080808000000b02402001280240450d00200641002802a8bfd38000118080808000000b2001410036023841808080807821070b200020073602042000200436020020002002290300370208200041106a200241086a2802003602000b200241106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41246e2107200128020821010c010b0240200420066b220841246e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a410020074104412410948a8080002003280208210a200328020c21090b200a200941246c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b4105762107200128020821010c010b0240200420066b2208410576220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108412010948a8080002003280208210a200328020c21090b200a20094105746a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41386e2107200128020821010c010b0240200420066b220841386e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108413810948a8080002003280208210a200328020c21090b200a200941386c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000b920a03037f087e067f23808080800041306b22032480808080000240024020012802200d00200141206a21042001417f360220200128022c2205200229001041002903c0bfd38000220685220742ffffffff0f83220820022900002001290338422089220985220a422088220b7e20074220882207200a42ffffffff0f83220a7e852002290018200685220642ffffffff0f83220c200229000841002903c8bfd3800020097c852209422088220d7e20064220882206200942ffffffff0f8322097e85854220882007200b7e2008200a7e85852006200d7e200c20097e85852206a7220e71210f2006421988220942ff0083428182848890a0c080017e21082001280228221041486a211141002112024002400240034002402010200f6a29000022072008852206427f85200642fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832206500d00034020022011410020067aa7410376200f6a2005716b221341386c6a412010ed96808000450d032006427f7c200683220650450d000b0b200720074201868342808182848890a0c0807f8350450d02201241086a2212200f6a200571210f0c000b0b2010201341386c6a210f0c010b200341186a200241106a290000370300200341106a41106a200241186a290000370300410041003502bcbfd3800042c4e6c11b85200341286aad22067e200642ae94e698017e4220898522063e02bcbfd3800020032002290008370310200642ffffffff0f83220742a2f0a4a00a7e21082006422088220642d0e3fccc027e210a2002280004211320022800002112024041002d00e0bfd380004102460d0010bf8f8080000b200742d0e3fccc027e2107200642a2f0a4a00a7e210b200a2008852108024020012802282205200128022c2211200e7122026a29000042808182848890a0c0807f8322064200520d004108210f03402002200f6a2102200f41086a210f2005200220117122026a29000042808182848890a0c0807f832206500d000b0b200b2007852107200842208921080240200520067aa741037620026a201171220f6a2c00002202417f4c0d002005200529030042808182848890a0c0807f837aa7410376220f6a2d000021020b2007200885210602402002410171450d0020012802300d00200341086a200141286a4101200141386a410110ff84808000024020012802282205200128022c2211200e7122026a29000042808182848890a0c0807f8322074200520d004108210f03402002200f6a2102200f41086a210f2005200220117122026a29000042808182848890a0c0807f832207500d000b0b200520077aa741037620026a201171220f6a2c00002202417f4c0d002005200529030042808182848890a0c0807f837aa7410376220f6a2d000021020b2005200f6a2009a741ff007122103a00002005200f41786a2011716a41086a20103a00002001200128023020024101716b3602302001200128023441016a36023420054100200f6b41386c6a220f41486a2012360200200f41786a2006370300200f41686a220241086a41002903b09cc58000370300200241002903a89cc58000370300200f41506a220241106a200341106a41106a290300370300200241086a200341106a41086a29030037030020022003290310370300200f414c6a20133602000b20012802000d012000200436020c200020013602042001417f3602002000200f41686a3602082000200141086a360200200341306a2480808080000f0b41f89ac58000108081808000000b41889bc58000108081808000000bcf0803037f087e067f23808080800041d0016b2205248080808000200128020022062802042207200229001041002903c0bfd38000220885220942ffffffff0f83220a20022900002006290310422089220b85220c422088220d7e20094220882209200c42ffffffff0f83220c7e852002290018200885220842ffffffff0f83220e200229000841002903c8bfd38000200b7c85220b422088220f7e20084220882208200b42ffffffff0f83220b7e85854220882009200d7e200a200c7e85852008200f7e200e200b7e85852208a722107121012008421988220b42ff0083428182848890a0c080017e210a2006280200221141f87e6a211241002113024002400240024003400240201120016a2900002209200a852208427f85200842fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832208500d00034020022012410020087aa741037620016a2007716b22144188016c6a412010ed96808000450d032008427f7c200883220850450d000b0b200920094201868342808182848890a0c0807f8350450d02201341086a221320016a20077121010c000b0b201120144188016c6a21010c010b2002280004211120022800002115200541086a20032004280210118b8080800000200528020c21070240200528020822044108460d00200541f0006a200541086a41086a41e00010e9968080001a0240200628020022142006280204221320107122126a29000042808182848890a0c0807f8322084200520d00410821010340201220016a2112200141086a21012014201220137122126a29000042808182848890a0c0807f832208500d000b0b0240201420087aa741037620126a20137122016a2c00002212417f4c0d002014201429030042808182848890a0c0807f837aa741037622016a2d000021120b200241086a210202402012410171450d0020062802080d00200520064101200641106a41011082858080000240200628020022142006280204221320107122126a29000042808182848890a0c0807f8322084200520d00410821010340201220016a2112200141086a21012014201220137122126a29000042808182848890a0c0807f832208500d000b0b201420087aa741037620126a20137122016a2c00002212417f4c0d002014201429030042808182848890a0c0807f837aa741037622016a2d000021120b201420016a200ba741ff007122033a00002014200141786a2013716a41086a20033a00002006200628020820124101716b3602082006200628020c41016a36020c2014410020016b4188016c6a220141f87e6a2015360200200141987f6a20043602002001419c7f6a2007360200200141807f6a220741106a200241106a290000370000200741086a200241086a29000037000020072002290000370000200141fc7e6a2011360200200141a07f6a200541f0006a41e00010e9968080001a0c010b410121010c010b200141987f6a2107410021010b2000200736020420002001360200200541d0016a2480808080000bbc0903037f047e057f23808080800041d0006b220424808080800002400240200028020822050d0020032d00004102490d0120032802242202417f460d0120032802282101200220022802042200417f6a36020420004101470d012001410b6a4104490d01200241002802a8bfd38000118080808000000c010b410021000240024020024100480d00024020020d00410121000c020b41002d00b8bfd380001a200241002802b0bfd380001182808080000022000d01410121000b2000200241c498c5800010ae80808000000b20002001200210e996808000210620052903102107200442003703182004420037031020042007370320200441003a0048200441002903d8bfd38000370340200441002903d0bfd38000370338200441002903c8bfd38000370330200441002903c0bfd3800037032820062002200441106a10918d8080000240024020042d00480d00200429032021070c010b20042903282004290318852207422088220820042903202004290310852209422088220a7e200742ffffffff0f832207200942ffffffff0f8322097e852007200a7e200820097e854220888521070b024020052802080d00200441086a20054101200541106a41011084858080000b2007421988220a42ff0083428182848890a0c080017e21092007a721002005280204210b2005280200210c4100210d4100210e03400240024002400240200c2000200b7122016a29000022082009852207427f85200742fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832207500d0003400240200c410020077aa741037620016a200b716b41346c6a220041506a2802002002470d0020062000414c6a280200200210ed96808000450d030b2007427f7c200783220750450d000b0b200842808182848890a0c0807f8321070240200e4101460d002007500d0220077aa741037620016a200b71210f0b024020072008420186834200520d004101210e0c030b0240200c200f6a2c000022004100480d00200c200c29030042808182848890a0c0807f837aa7410376220f6a2d000021000b200c200f6a200aa741ff007122013a0000200c200f41786a200b716a41086a20013a00002005200528020820004101716b3602082005200528020c41016a36020c200c4100200f6b41346c6a2201414c6a2006360200200141546a220041286a200341286a280200360200200041206a200341206a290200370200200041186a200341186a290200370200200041106a200341106a290200370200200041086a200341086a29020037020020002003290200370200200141506a20023602000c040b200041546a22012d0000210c20012003290200370200200141086a200341086a290200370200200141106a200341106a290200370200200141186a200341186a290200370200200041786a280200210b200141206a200341206a2902003702002000417c6a2802002100200141286a200341286a28020036020002402002450d00200641002802a8bfd38000118080808000000b200c41ff01714102470d03200b417f460d03200b200b2802042202417f6a36020420024101470d032000410b6a4104490d03200b41002802a8bfd38000118080808000000c030b4100210e0b2001200d41086a220d6a21000c000b0b200441d0006a2480808080000b940403027f047e037f23808080800041c0006b220324808080800002400240200028020822000d00410021020c010b410021040240200028020c450d0020002903102105200342003703082003420037030020032005370310200341003a0038200341002903d8bfd38000370330200341002903d0bfd38000370328200341002903c8bfd38000370320200341002903c0bfd3800037031820012002200310b68b8080000240024020032d00380d00200329031021050c010b2003290318200329030885220542208822062003290310200329030085220742208822087e200542ffffffff0f832205200742ffffffff0f8322077e85200520087e200620077e854220888521050b200028020422092005a7712104200542198842ff0083428182848890a0c080017e21072000280200210a4100210b0340024002400240200a20046a29000022062007852205427f85200542fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832205500d0003400240200a410020057aa741037620046a2009716b41346c6a220041506a2802002002470d0020012000414c6a280200200210ed96808000450d030b2005427f7c200583220550450d000b0b200620064201868342808182848890a0c0807f83500d01410021000b2000414c6a410020001b21040c020b200b41086a220b20046a20097121040c000b0b200441086a410020041b21020b200341c0006a24808080800020020bdc0504027f047e017f027e23808080800041106b22032480808080000240024020022d0038220441e0004b0d0020032001ad4200200410ef96808000200441206a2104200241086a290300200341086a29030084210520022903002003290300842106200229031021070c010b2002290318200241086a29030085220542208822062002290310200229030085220742208822087e200542ffffffff0f832205200742ffffffff0f8322077e85200520087e200620077e854220898521072001ad210642002105412021040b20022006370300200220043a00382002200537030820072001ad8a21050240024020014111490d00200229032020057c210602402001418002490d002000200120052006200229032820057c200229033020057c200229031810c08f80800021050c020b0240200141f001712204450d0020002001410f716a21092002290318210703402000200920046a22014f0d01200141786a2900002007852208422088220a20002900082006852206422088220b7e200842ffffffff0f832208200642ffffffff0f8322067e852008200b7e200a20067e85422089852106200141706a2900002007852208422088220a20002900002005852205422088220b7e200842ffffffff0f832208200542ffffffff0f8322057e852008200b7e200a20057e85422089852105200041106a2100200441706a22040d000b0b200520068521050c010b20022903202106024002400240200141074b0d00200141034b0d012001450d02200020016a417f6a310000420886200020014101766a310000842006852106200520003100008521050c020b20002900002005852105200020016a41786a29000020068521060c010b200520003500008521052006200020016a417c6a3500008521060b20054220882207200642208822087e200542ffffffff0f832205200642ffffffff0f8322067e85200720067e200520087e854220898521050b20022005370310200341106a2480808080000bbc0303027f087e037f4100210202402000280200220328020c450d0020032802042200200129001041002903c0bfd38000220485220542ffffffff0f83220620012900002003290310422089220785220842208822097e20054220882205200842ffffffff0f8322087e852001290018200485220442ffffffff0f83220a200129000841002903c8bfd3800020077c852207422088220b7e20044220882204200742ffffffff0f8322077e8585422088200520097e200620087e85852004200b7e200a20077e85852204a7712102200442198842ff0083428182848890a0c080017e21062003280200220c41f87e6a21034100210d0240024003400240200c20026a29000022052006852204427f85200442fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832204500d00034020012003410020047aa741037620026a2000716b220e4188016c6a412010ed96808000450d032004427f7c200483220450450d000b0b0240200520054201868342808182848890a0c0807f83500d00410021020c030b200d41086a220d20026a20007121020c000b0b200c200e4188016c6a21020b200241f87e6a410020021b21020b200241206a410020021b0bac0401077f2000280240210202402001280200200128020822036b41034b0d0020012003410410fc90808000200128020821030b2001280204220420036a20023600002001200341046a220236020841002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002203450d0020032000290000370000200341186a2205200041186a290000370000200341106a2206200041106a290000370000200341086a2207200041086a2900003700000240200128020020026b411f4b0d0020012002412010fc9080800020012802042104200128020821020b200420026a22082003290000370000200841186a2005290000370000200841106a2006290000370000200841086a20072900003700002001200241206a2202360208200341002802a8bfd380001180808080000041002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d012003200041206a2200290000370000200341186a2208200041186a290000370000200341106a2205200041106a290000370000200341086a2206200041086a2900003700000240200128020020026b411f4b0d0020012002412010fc9080800020012802042104200128020821020b200420026a22002003290000370000200041186a2008290000370000200041106a2005290000370000200041086a20062900003700002001200241206a360208200341002802a8bfd38000118080808000000f0b4101412010b980808000000b4101412010b980808000000bb00202047f017e20002802042101024020002802082202450d00200121030340024020032d0000220441034b0d002003200441027441cca6c580006a2802006a2204280200450d00200441046a28020041002802a8bfd38000118080808000000b200341146a21032002417f6a22020d000b0b02402000280200450d00200141002802a8bfd38000118080808000000b20002802742104024020002802782202450d0020042103034002402003290300427e7c22054203542005420152710d00200341306a2d000041ff01714102470d00200341346a280200450d00200341386a28020041002802a8bfd38000118080808000000b200341a0016a10c28b80800020034190026a21032002417f6a22020d000b0b02402000280270450d00200441002802a8bfd38000118080808000000b0ba20303047f017e027f23808080800041106b220224808080800002400240024002400240200128020422034108490d002001200341786a220436020420012001280200220541086a3602002004450d03200529000021062001200341776a22073602042001200541096a360200024002400240024020052d000822084103710e0400030201000b200841027621030c050b200841044f0d0520044105490d052001200341736a36020420012005410d6a360200200528000922034180808080044f0d040c050b20044104490d042001200341746a36020420012005410c6a36020020052f00092005410b6a2d0000411074722203418002490d04200341087420087241027621030c030b20070d010c030b20004180808080783602080c030b2001200341766a36020420012005410a6a36020020052d00092203450d01200341087420087241027621030b200241046a2001200310f1828080002002280204418080808078460d002000200229020437020820002006370200200041106a2002410c6a2802003602000c010b20004180808080783602080b200241106a2480808080000b9e0301077f23808080800041106b220224808080800002400240024002400240200128020422034104490d0020012003417c6a220436020420012001280200220541046a3602002004450d032005280000210620012003417b6a22073602042001200541056a360200024002400240024020052d000422084103710e0400030201000b200841027621030c050b200841044f0d0520044105490d052001200341776a3602042001200541096a360200200528000522034180808080044f0d040c050b20044104490d042001200341786a3602042001200541086a36020020052f0005200541076a2d0000411074722203418002490d04200341087420087241027621030c030b20070d010c030b20004180808080783602040c030b20012003417a6a3602042001200541066a36020020052d00052203450d01200341087420087241027621030b200241046a2001200310f1828080002002280204418080808078460d0020002002290204370204200020063602002000410c6a2002410c6a2802003602000c010b20004180808080783602040b200241106a2480808080000ba60202067f027e23808080800041206b2202248080808000024002402001280200220328020822042802082205200428021022066b4104490d00200641046a2107024002402006417b4b0d00200720054b0d0120042802042105200420073602102003427f2003290300220842047c220920092008541b370300200520066a2800002104200241086a200110c283808000024020022802080d00200241146a2001200228020c10e6828080002002280214418080808078460d0020002002290214370204200020043602002000410c6a2002411c6a2802003602000c040b20004180808080783602040c030b2006200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b20004180808080783602040b200241206a2480808080000bfe0101047f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a360208200028021021052002200028021422003602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822046b20004f0d0020012004200010fc90808000200128020821040b200128020420046a2005200010e9968080001a2001200420006a360208200241106a2480808080000bab0301077f23808080800041106b220224808080800041002d00b8bfd380001a02400240411841002802b0bfd38000118280808000002203450d00200320012802002204290000370000200341106a200441106a290000370000200341086a200441086a29000037000020022003360208200241183602042002411836020c2001280204210141002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d0120032001290000370000200341186a2205200141186a290000370000200341106a2206200141106a290000370000200341086a2207200141086a290000370000200241046a4118412010fc9080800020022802082204200228020c22086a22012003290000370000200141086a2007290000370000200141106a2006290000370000200141186a200529000037000020022802042101200341002802a8bfd380001180808080000020002004200841206a4100280288bfd380001185808080000002402001450d00200441002802a8bfd38000118080808000000b200241106a2480808080000f0b4101411841909cc5800010ae80808000000b4101412010b980808000000bae0301087f23808080800041106b2202248080808000024002402001280220220341c0004f0d00410121030c010b02402003418080014f0d00410221030c010b410441052003418080808004491b21030b41002d00b8bfd380001a02400240200341002802b0bfd38000118280808000002204450d0020024100360208200220043602042002200336020041002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d0120032001290000370000200341186a2205200141186a290000370000200341106a2206200141106a290000370000200341086a2207200141086a29000037000020024100412010fc908080002002280204200241086a220828020022096a22042003290000370000200441086a2007290000370000200441106a2006290000370000200441186a20052900003700002008200941206a360200200341002802a8bfd38000118080808000002002200141206a36020c2002410c6a200210d583808000200041086a200828020036020020002002290200370200200241106a2480808080000f0b4101200341909cc5800010ae80808000000b4101412010b980808000000bce0302017f037e23808080800041306b2201248080808000410041003502bcbfd3800042c4e6c11b85200141186aad22027e200242ae94e698017e42208922038522043e02bcbfd38000024041002d00e0bfd380004102460d0010bf8f8080000b200141046a410c6a41002903b09cc58000370200410041003502bcbfd3800042c4e6c11b8520027e20038522023e02bcbfd38000200141002903a89cc58000370208024041002d00e0bfd380004102460d0010bf8f8080000b200141186a410c6a41002903b09cc580003702002000410036020020002001290204370204200041003602202000410c6a200141046a41086a290200370200200041146a200141046a41106a280200360200200141002903a89cc5800037021c200020012902183702242000412c6a200141186a41086a290200370200200041346a200141186a41106a28020036020020002004422088220342a2f0a4a00a7e200442ffffffff0f83220442d0e3fccc027e85200342d0e3fccc027e200442a2f0a4a00a7e854220898537031820002002422088220442a2f0a4a00a7e200242ffffffff0f83220242d0e3fccc027e85200442d0e3fccc027e200242a2f0a4a00a7e8542208985370338200141306a2480808080000bee0101067f23808080800041106b22022480808080002000280200220028020821032000280204210041012104200128021c220541c0c4c080004101200128022028020c2206118180808000002107200241003a0009200220073a0008200220013602040240024002402003450d0003402002200036020c200241046a2002410c6a41dc96c68000109e818080001a200041016a21002003417f6a22030d000b4101210420022d00084101710d022002280204220028021c2105200028022028020c21060c010b20070d010b200541c1c4c08000410120061181808080000021040b200241106a24808080800020040b920d01087f23808080800041306b220124808080800002400240024002400240024002400240024002402000280200220241ffffffff076a2203410120034108491b0e080102090903040500010b20002802084104470d08200028020c450d080c060b0240024002400240024002400240024020002d0008417f6a0e0a010f0203040506070f0f000b200028020c0d0c0c0e0b200028020c0d0b0c0d0b200028020c0d0a0c0c0b200028020c0d090c0b0b20002802102102024020002802142204450d0020022103034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a280200450d00200341106a28020041002802a8bfd38000118080808000000b200341186a21032004417f6a22040d000b0b200028020c0d090c0a0b20002802102102024020002802142203450d002003410171210541002104024020034101460d002003417e7121062002210341002104034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b02402003410c6a280200450d00200341106a28020041002802a8bfd38000118080808000000b200341186a21032006200441026a2204470d000b0b2005450d0020022004410c6c6a2203280200450d00200328020441002802a8bfd38000118080808000000b200028020c0d080c090b2000280210450d08200028021421020c070b200028020c0d050c070b02402002418080808078470d0020002802042103410421020c040b02402002450d00200028020441002802a8bfd38000118080808000000b200041d8006a10d98a808000200028023821060240200028023c2203450d002003410171210541002102024020034101460d002003417e7121042006210341002102034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b0240200341106a280200450d00200341146a28020041002802a8bfd38000118080808000000b200341206a21032004200241026a2202470d000b0b2005450d00200620024104746a2203280200450d00200328020441002802a8bfd38000118080808000000b02402000280234450d00200641002802a8bfd38000118080808000000b02400240200028026422030d0041002103410021020c010b2001200336022420014100360220200120033602142001410036021020012000280268220336022820012003360218200028026c2102410121030b2001200236022c2001200336021c2001200336020c2001410c6a10fd8980800020002802442107024020002802482208450d0041002105034002402007200541f0006c6a22062802082202450d00200628020421030340024020032d0000220441034b0d002003200441027441cca6c580006a2802006a2204280200450d00200441046a28020041002802a8bfd38000118080808000000b200341146a21032002417f6a22020d000b0b02402006280200450d00200628020441002802a8bfd38000118080808000000b200541016a22052008470d000b0b02402000280240450d00200741002802a8bfd38000118080808000000b41cc002102200028024c2203418080808078470d030c060b024002400240024002400240024020002d0010417f6a0e07000102030405060c0b20002d00144102470d0b2000280218450d0b200028021c21020c0a0b024020002d00144102470d002000280218450d00200028021c41002802a8bfd38000118080808000000b20002d00384102470d0a200028023c450d0a200028024021020c090b20002d00144102470d092000280218450d09200028021c21020c080b20002d00144102470d082000280218450d08200028021c21020c070b20002d00144102470d072000280218450d07200028021c21020c060b2000280214450d06200028021821020c050b20002d00144102470d052000280218450d05200028021c21020c040b024002400240024020002d00082203417c6a41042003417b6a41ff01714105491b417f6a0e0400010203080b200028020c220210c28b8080000c060b2000280220220210c28b8080000c050b20002d000c4102470d052000280210450d05200028021421020c040b024020034102470d00200028020c450d00200028021041002802a8bfd38000118080808000000b200028022c220210c28b8080000c030b200028020441808080807872418080808078460d03200028020821020c020b2003450d02200020026a28020421020c010b200028021021020b200241002802a8bfd38000118080808000000b200141306a2480808080000bd70201067f23808080800041306b220124808080800020002802042102024020002802082203450d002002210403400240024002400240024020042d00000e050404010203000b02400240200441046a28020022050d0041002105410021060c010b200120053602242001410036022020012005360214200141003602102001200441086a2802002205360228200120053602182004410c6a2802002106410121050b2001200636022c2001200536021c2001200536020c2001410c6a10d68a8080000c030b200441046a280200450d02200441086a28020041002802a8bfd38000118080808000000c020b200441046a280200450d01200441086a28020041002802a8bfd38000118080808000000c010b200441046a10c38b8080000b200441106a21042003417f6a22030d000b0b02402000280200450d00200241002802a8bfd38000118080808000000b200141306a2480808080000bf40401037f0240024002400240024002402000280200417e6a2201410420014106491b0e050501020304000b2000280204220120012802002201417f6a36020020014101470d04200041046a10d0968080000c040b0240200028022c4129490d00200028020441002802a8bfd38000118080808000000b20002802342201450d03200120012802002202417f6a36020020024101470d03200041346a10d0968080000f0b024020002802504129490d00200028022841002802a8bfd38000118080808000000b20002d0004450d022000280208220110c48b808000200141002802a8bfd38000118080808000000f0b024020002802382202450d00200028023421010340024020012d000022034102460d002003450d00200141046a280200220310c48b808000200341002802a8bfd38000118080808000000b200141246a21012002417f6a22020d000b0b02402000280230450d00200028023441002802a8bfd38000118080808000000b2000280204450d0120002802082201450d01200120012802002202417f6a36020020024101470d01200041086a10d0968080000f0b024020002802604129490d00200028023841002802a8bfd38000118080808000000b024020002802342202450d00200028023021010340024020012d000022034102460d002003450d00200141046a280200220310c48b808000200341002802a8bfd38000118080808000000b200141246a21012002417f6a22020d000b0b0240200028022c450d00200028023041002802a8bfd38000118080808000000b2000280200450d0020002802042201450d00200120012802002202417f6a36020020024101470d00200041046a10d0968080000f0b0baa0301057f23808080800041206b2203248080808000410021040240024020002802042205410c6c41046a22064100480d0020002802002107024020060d00410121000c020b41002d00b8bfd380001a200641002802b0bfd380001182808080000022000d01410121040b2004200641909cc5800010ae80808000000b20034100360214200320003602102003200636020c200320053602182003200341186a36021c2003411c6a2003410c6a10d583808000024002402005450d002005410c6c2104200741086a210603402006417c6a28020021072003200628020022053602182003200341186a36021c2003411c6a2003410c6a10d5838080000240200328020c200328021422006b20054f0d002003410c6a2000200510fc90808000200328021421000b200328021020006a2007200510e9968080001a2003200020056a22053602142006410c6a2106200441746a22040d000c020b0b200328021421050b200328020c21062001200220032802102200200541002802c8bdd380001183808080000002402006450d00200041002802a8bfd38000118080808000000b200341206a2480808080000bb50301057f23808080800041206b220324808080800041002104024002402000280200220541086a2802002206410c6c41046a22004100480d00200541046a2802002107024020000d00410121050c020b41002d00b8bfd380001a200041002802b0bfd380001182808080000022050d01410121040b2004200041909cc5800010ae80808000000b20034100360214200320053602102003200036020c200320063602182003200341186a36021c2003411c6a2003410c6a10d583808000024002402006450d002006410c6c2104200741086a210003402000417c6a28020021072003200028020022063602182003200341186a36021c2003411c6a2003410c6a10d5838080000240200328020c200328021422056b20064f0d002003410c6a2005200610fc90808000200328021421050b200328021020056a2007200610e9968080001a2003200520066a22063602142000410c6a2100200441746a22040d000c020b0b200328021421060b200328020c21002001200220032802102205200641002802c8bdd380001183808080000002402000450d00200541002802a8bfd38000118080808000000b200341206a2480808080000bfb0201057f23808080800041206b2202248080808000410021030240024020012802082204410c6c41046a22054100480d0020012802042106024020050d00410121010c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022010d01410121030b2003200541909cc5800010ae80808000000b20024100360214200220013602102002200536020c200220043602182002200241186a36021c2002411c6a2002410c6a10d58380800002402004450d002004410c6c2103200641086a210503402005417c6a28020021062002200528020022043602182002200241186a36021c2002411c6a2002410c6a10d5838080000240200228020c200228021422016b20044f0d002002410c6a2001200410fc90808000200228021421010b200228021020016a2006200410e9968080001a2002200120046a3602142005410c6a2105200341746a22030d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b960202067f027e23808080800041106b2202248080808000200028020421032002200028020822003602082002200241086a36020c2002410c6a200110d58380800002402000450d002000410574210420012802082100034002402001280200220520006b41074b0d0020012000410810fc9080800020012802002105200128020821000b2001200041086a22063602082001280204220720006a2003290010370000200341086a2903002108200329030021090240200520066b410f4b0d0020012006411010fc9080800020012802042107200128020821060b200341206a2103200720066a22002008370008200020093700002001200641106a2200360208200441606a22040d000b0b200241106a2480808080000b6d01017f0240200028020022002802142201450d00200141216c4157460d00200028021020014105746b41606a41002802a8bfd38000118080808000000b02402000417f460d0020002000280204417f6a220136020420010d00200041002802a8bfd38000118080808000000b0bd30204047f017e027f017e0240200028020022012802142202450d000240200128021c2203450d002001280210220441086a21002004290300427f8542808182848890a0c0807f8321050340024020054200520d000340200441a07f6a210420002903002105200041086a22062100200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621000b2004410020057aa74103766b410c6c6a41746a220728020022062006280200417f6a22063602002005427f7c2108024020060d00200710cb8b8080000b200820058321052003417f6a22030d000b0b2002200241016aad420c7ea741076a41787122006a4177460d00200128021020006b41002802a8bfd38000118080808000000b02402001417f460d0020012001280204417f6a220036020420000d00200141002802a8bfd38000118080808000000b0b4501027f024020002802002201417f460d0020012001280204417f6a22023602042000280204410b6a4104490d0020020d00200141002802a8bfd38000118080808000000b0b3801017f024020002802002200417f460d0020002000280204417f6a220136020420010d00200041002802a8bfd38000118080808000000b0b7c01037f20002802002200280208210102402000410c6a28020022022802002203450d0020012003118080808000000b02402002280204450d00200141002802a8bfd38000118080808000000b02402000417f460d0020002000280204417f6a220136020420010d00200041002802a8bfd38000118080808000000b0bf109010f7f23808080800041e0006b2202248080808000024020002802082203450d0020004100360208410120036b2104200128020021052000280204210102400340200241d8006a2106200241dc006a2107410c210841102109024002400240024020012d00000e050101020003010b200241dc006a2106200241c0006a2107410c2109410821080b2007200120086a2802003602002006200120096a2802003602000c010b200141106a28020041c000470d00200141016a28000041e1eac98b06470d00200241086a22072001410c6a280200220641086a290000370300200241106a2208200641106a290000370300200241186a2209200641186a290000370300200241206a220a200641206a290000370300200241286a220b200641286a290000370300200241306a220c200641306a290000370300200241386a220d200641386a29000037030020022006290000370300024020052d00004101460d00200541013a000020052002290300370001200541096a2007290300370000200541116a2008290300370000200541196a2009290300370000200541216a200a290300370000200541296a200b290300370000200541316a200c290300370000200541396a200d290300370000024020012d0000220641034b0d002001200641027441cca6c580006a2802006a2206280200450d00200641046a28020041002802a8bfd38000118080808000000b024020040d004101210b0c040b410020046b2106200541016a210c4101210b0340200241d8006a2107200241dc006a2108410c21094110210a02400240024002400240200141146a22042d00000e050101020003010b200241dc006a2107200241c0006a2108410c210a410821090b2008200120096a41146a28020036020020072001200a6a41146a2802003602000c010b200141246a28020041c000470d00200141156a28000041e1eac98b06470d00200241086a2208200141206a280200220741086a290000370300200241106a2209200741106a290000370300200241186a220a200741186a290000370300200241206a220d200741206a290000370300200241286a220e200741286a290000370300200241306a220f200741306a290000370300200241386a2210200741386a29000037030020022007290000370300024020052d00004101460d00200541013a0000200c2002290300370000200c41086a2008290300370000200c41106a2009290300370000200c41186a200a290300370000200c41206a200d290300370000200c41286a200e290300370000200c41306a200f290300370000200c41386a2010290300370000200b41016a210b20042d0000220741034b0d022001200741027441cca6c580006a2802006a220141146a280200450d02200141186a28020041002802a8bfd38000118080808000000c020b2002410036025020024101360244200241a499c5800036024020024204370248200241c0006a41f099c5800010f280808000000b2001200b416c6c6a220141246a200441106a2802003602002001411c6a200441086a290200370200200141146a20042902003702000b200421012006417f6a22060d000c040b0b2002410036025020024101360244200241a499c5800036024020024204370248200241c0006a41f099c5800010f280808000000b200141146a2101200441016a22044101470d000b4100210b0b20002003200b6b3602080b200241e0006a2480808080000b4d01017f02402000280200200028020822046b20024f0d002000200420024101410110948a808000200028020821040b200028020420046a2001200210e9968080001a2000200420026a3602080bc20201067f23808080800041106b220524808080800020032802042106200328020021070240200128020022012802082203200320026a22084f0d00200321080240200128020020036b20024f0d002001200320024101410110948a808000200128020821080b2001280204220920086a210a024020024102490d00200a41002002417f6a220210eb968080001a2009200820026a22086a210a0b200a41003a0000200841016a21080b2001200836020802400240024020082003490d00200541086a20072006200128020420036a200820036b200410c0808080002005280208418380c400470d010240200528020c220820036a220320012802084b0d00200120033602080b2000418380c400360200200020083602040c020b2003200841fca0c5800010a881808000000b200020052903083702000b200541106a2480808080000bf00101067f23808080800041106b2202248080808000200028020821032000280204210041012104200128021c220541c0c4c080004101200128022028020c2206118180808000002107200241003a0009200220073a0008200220013602040240024002402003450d002003410574210103402002200036020c200241046a2002410c6a41ec96c68000109e818080001a200041206a2100200141606a22010d000b4101210420022d00084101710d022002280204220028021c2105200028022028020c21060c010b20070d010b200541c1c4c08000410120061181808080000021040b200241106a24808080800020040be90101067f23808080800041106b2202248080808000200028020821032000280204210041012104200128021c220541c0c4c080004101200128022028020c2206118180808000002107200241003a0009200220073a0008200220013602040240024002402003450d0003402002200036020c200241046a2002410c6a41dc96c68000109e818080001a200041016a21002003417f6a22030d000b4101210420022d00084101710d022002280204220028021c2105200028022028020c21060c010b20070d010b200541c1c4c08000410120061181808080000021040b200241106a24808080800020040bc10803027f017e107f23808080800041106b220324808080800020012802082204ad42147e2205a72106410021070240024002402005422088a70d00200641fcffffff074b0d00024020060d00410421080c030b2001280204210941002d00b8bfd380001a200641002802b0bfd380001182808080000022080d01410421070b2007200641b89dc5800010ae80808000000b2004450d00410021072004210a034020062007460d01024002400240024002400240024002400240200920076a220b2d0000220c0e050001020308000b4100210d0240200b41106a28020022014100480d00200b41036a2d0000210d200b41016a2f0000210e200b410c6a280200210f200b41046a2d0000210b024020010d00410121100c070b41002d00b8bfd380001a200141002802b0bfd380001182808080000022100d064101210d200121100b200d201041a89dc5800010ae80808000000b4100210d0240200b41106a28020022014100480d00200b41036a2d0000210d200b41016a2f0000210e200b410c6a280200210f200b41046a2d0000210b024020010d00410121110c050b41002d00b8bfd380001a200141002802b0bfd380001182808080000022110d044101210d200121110b200d201141a89dc5800010ae80808000000b4100210d0240200b41106a28020022014100480d00200b41036a2d0000210d200b41016a2f0000210e200b410c6a280200210f200b41046a2d0000210b024020010d00410121120c030b41002d00b8bfd380001a200141002802b0bfd380001182808080000022120d024101210d200121120b200d201241a89dc5800010ae80808000000b4100210d02400240200b410c6a28020022014100480d00200b41086a280200210f024020010d00410121130c020b41002d00b8bfd380001a200141002802b0bfd380001182808080000022130d014101210d200121130b200d201341a89dc5800010ae80808000000b200341046a210b200341086a210d2003410c6a210e2013200f200110e996808000210f0c030b200e200d4110747221142012200f200110e996808000210f2003200b3a000c2003210b200341046a210d200341086a210e200f210f0c020b200e200d4110747221142011200f200110e996808000210f2003200b3a000c2003210b200341046a210d200341086a210e200f210f0c010b200e200d4110747221142010200f200110e996808000210f2003200b3a000c2003210b200341046a210d200341086a210e200f210f0b200b2001360200200d200f360200200e20013602002003280200210d2003280204210e2003280208210f200328020c21150b200820076a2201200c3a0000200141036a20144110763a0000200141016a20143b0000200141106a200d3602002001410c6a200e360200200141086a200f360200200141046a2015360200200741146a2107200a417f6a220a0d000b0b200020043602082000200836020420002004360200200341106a2480808080000b1e00200128021c4194a0c58000410b200128022028020c118180808000000bb60201047f23808080800041306b2201248080808000024020002802082202450d002000280204210003400240024002400240024020002d00000e050404010203000b02400240200041046a28020022030d0041002103410021040c010b200120033602242001410036022020012003360214200141003602102001200041086a2802002203360228200120033602182000410c6a2802002104410121030b2001200436022c2001200336021c2001200336020c2001410c6a10d68a8080000c030b200041046a280200450d02200041086a28020041002802a8bfd38000118080808000000c020b200041046a280200450d01200041086a28020041002802a8bfd38000118080808000000c010b200041046a10c38b8080000b200041106a21002002417f6a22020d000b0b200141306a2480808080000bf00401067f024020002802082201450d00200028020422022100410021030340200220034107746a20002d000041084641027422046a210502400240024002400240200020046a22042d0000417c6a41ff01712206410420064104491b0e0404010203000b0240200441dc006a2802004129490d00200441346a28020041002802a8bfd38000118080808000000b2004412c6a28020041002802a8bfd380001180808080000020042d000022064103460d030240024020060e020105000b200441246a280200220420042802002204417f6a36020020044101470d04200541246a10d0968080000c040b200441046a2206280200220420042802002204417f6a36020020044101470d03200610d0968080000c030b0240200441dc006a2802004129490d00200441346a28020041002802a8bfd38000118080808000000b02400240200441046a2d00000e020104000b200441286a280200220420042802002204417f6a36020020044101470d03200541286a10d0968080000c030b200441086a2206280200220420042802002204417f6a36020020044101470d02200610d0968080000c020b200441d4006a2802004129490d012004412c6a28020041002802a8bfd38000118080808000000c010b200441306a28020041002802a8bfd3800011808080800000200441046a2d000022064103460d0002400240024020060e020103000b200441286a280200220420042802002204417f6a36020020044101470d02200541286a21040c010b200441086a2204280200220620062802002206417f6a36020020064101470d010b200410d0968080000b200341016a210320004180016a21002001417f6a22010d000b0b0bbc0101067f024020002802082201450d002000280204210241002103034002402002200341f0006c6a22042802082205450d00200428020421000340024020002d0000220641034b0d002000200641027441cca6c580006a2802006a2206280200450d00200641046a28020041002802a8bfd38000118080808000000b200041146a21002005417f6a22050d000b0b02402004280200450d00200428020441002802a8bfd38000118080808000000b200341016a22032001470d000b0b0b7401017f024020002802082201450d0020002802042100034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002001417f6a22010d000b0b0b6c01027f024020002802082201450d00200028020421000340024020002d0000220241034b0d002000200241027441cca6c580006a2802006a2202280200450d00200241046a28020041002802a8bfd38000118080808000000b200041146a21002001417f6a22010d000b0b0b860102017f017e024020002802082201450d0020002802042100034002402000290300427e7c22024203542002420152710d00200041306a2d000041ff01714102470d00200041346a280200450d00200041386a28020041002802a8bfd38000118080808000000b200041a0016a10c28b80800020004190026a21002001417f6a22010d000b0b0b5401027f024020002802082201450d00200028020441086a210003402000280200220220022802002202417f6a360200024020024101470d00200010e08a8080000b200041306a21002001417f6a22010d000b0b0b9c0201057f23808080800041106b2205248080808000024020012802082206200620026a22074f0d00200621070240200128020020066b20024f0d002001200620024101410110948a808000200128020821070b2001280204220820076a2109024020024102490d00200941002002417f6a220210eb968080001a2008200720026a22076a21090b200941003a0000200741016a21070b20012007360208024020072006490d00200541086a20032802002003280204200128020420066a200720066b200410e486808000200528020c21020240200528020822030d00200220066a220620074b0d00200120063602080b2000200336020020002002360204200541106a2480808080000f0b2006200741e8a1c5800010a881808000000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a3602000240024002400240024020042d000022054103710e0400040201000b20002001200541027610f8828080000f0b200541044f0d0320024105490d0320012002417b6a3602042001200441056a360200200428000122024180808080044f0d010c030b20024104490d0220012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722202418002490d02200241087420057241027621020b20002001200210f8828080000f0b2003450d0020012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610f8828080000f0b20004180808080783602000b5601017f23808080800041106b2202248080808000200241086a200110bf838080000240024020022802080d0020002001200228020c10df828080000c010b20004180808080783602000b200241106a2480808080000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a3602000240024002400240024020042d000022054103710e0400040201000b200020012005410276108e838080000f0b200541044f0d0320024105490d0320012002417b6a3602042001200441056a360200200428000122024180808080044f0d010c030b20024104490d0220012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722202418002490d02200241087420057241027621020b200020012002108e838080000f0b2003450d0020012002417e6a3602042001200441026a36020020042d00012202450d00200020012002410874200572410276108e838080000f0b20004180808080783602000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a3602000240024002400240024020042d000022054103710e0400040201000b20002001200541027610f1828080000f0b200541044f0d0320024105490d0320012002417b6a3602042001200441056a360200200428000122024180808080044f0d010c030b20024104490d0220012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722202418002490d02200241087420057241027621020b20002001200210f1828080000f0b2003450d0020012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610f1828080000f0b20004180808080783602000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a3602000240024002400240024020042d000022054103710e0400040201000b200020012005410276108d838080000f0b200541044f0d0320024105490d0320012002417b6a3602042001200441056a360200200428000122024180808080044f0d010c030b20024104490d0220012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722202418002490d02200241087420057241027621020b200020012002108d838080000f0b2003450d0020012002417e6a3602042001200441026a36020020042d00012202450d00200020012002410874200572410276108d838080000f0b20004180808080783602000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a3602000240024002400240024020042d000022054103710e0400040201000b20002001200541027610f0828080000f0b200541044f0d0320024105490d0320012002417b6a3602042001200441056a360200200428000122024180808080044f0d010c030b20024104490d0220012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722202418002490d02200241087420057241027621020b20002001200210f0828080000f0b2003450d0020012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610f0828080000f0b20004180808080783602000b5601017f23808080800041106b2202248080808000200241086a200110bf838080000240024020022802080d0020002001200228020c1081838080000c010b20004180808080783602000b200241106a2480808080000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a3602000240024002400240024020042d000022054103710e0400040201000b20002001200541027610e9828080000f0b200541044f0d0320024105490d0320012002417b6a3602042001200441056a360200200428000122024180808080044f0d010c030b20024104490d0220012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722202418002490d02200241087420057241027621020b20002001200210e9828080000f0b2003450d0020012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610e9828080000f0b20004180808080783602000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a3602000240024002400240024020042d000022054103710e0400040201000b2000200120054102761086838080000f0b200541044f0d0320024105490d0320012002417b6a3602042001200441056a360200200428000122024180808080044f0d010c030b20024104490d0220012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722202418002490d02200241087420057241027621020b2000200120021086838080000f0b2003450d0020012002417e6a3602042001200441026a36020020042d00012202450d002000200120024108742005724102761086838080000f0b20004180808080783602000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a3602000240024002400240024020042d000022054103710e0400040201000b2000200120054102761094838080000f0b200541044f0d0320024105490d0320012002417b6a3602042001200441056a360200200428000122024180808080044f0d010c030b20024104490d0220012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722202418002490d02200241087420057241027621020b2000200120021094838080000f0b2003450d0020012002417e6a3602042001200441026a36020020042d00012202450d002000200120024108742005724102761094838080000f0b20004180808080783602000b5601017f23808080800041106b2202248080808000200241086a200110bf838080000240024020022802080d0020002001200228020c1085838080000c010b20004180808080783602000b200241106a2480808080000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a3602000240024002400240024020042d000022054103710e0400040201000b20002001200541027610eb828080000f0b200541044f0d0320024105490d0320012002417b6a3602042001200441056a360200200428000122024180808080044f0d010c030b20024104490d0220012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722202418002490d02200241087420057241027621020b20002001200210eb828080000f0b2003450d0020012002417e6a3602042001200441026a36020020042d00012202450d0020002001200241087420057241027610eb828080000f0b20004180808080783602000ba20201047f024020012802042202450d0020012002417f6a220336020420012001280200220441016a3602000240024002400240024020042d000022054103710e0400040201000b200020012005410276108b838080000f0b200541044f0d0320024105490d0320012002417b6a3602042001200441056a360200200428000122024180808080044f0d010c030b20024104490d0220012002417c6a3602042001200441046a36020020042f0001200441036a2d0000411074722202418002490d02200241087420057241027621020b200020012002108b838080000f0b2003450d0020012002417e6a3602042001200441026a36020020042d00012202450d00200020012002410874200572410276108b838080000f0b20004180808080783602000bde0401047f23808080800041206b2204248080808000410021050240200241017641046a22064100480d0041002d00b8bfd380001a41012105200641002802b0bfd38000118280808000002207450d0020044100360214200420073602102004200636020c024002400240024002400240200341ff01710e050001020304000b200441023a00182004200236021c200441186a2004410c6a10e98e8080000c040b2004200236021c200441013b0118200441186a2004410c6a10e98e8080000c030b2004200236021c20044181023b0118200441186a2004410c6a10e98e8080000c020b200441043a00182004200236021c200441186a2004410c6a10e98e8080000c010b200441033a00182004200236021c200441186a2004410c6a10e98e8080000b20012802082102200128020021072001280204210302400240024020012d000c450d0020012d000d2106200141003a000c2006410f7121050c010b200220034f0d012001200241016a2206360208200720026a2d00002105200621020b024020042802142206200428020c470d002004410c6a200641014101410110948a8080000b200428021020066a20053a00002004200641016a2206360214200220034f0d0003402001200241016a2205360208200720026a2d0000210202402006200428020c470d002004410c6a200641014101410110948a8080000b200428021020066a20023a00002004200641016a22063602142005210220032005470d000b0b2000200429020c370200200041086a2004410c6a41086a280200360200200441206a2480808080000f0b2005200641c4a2c5800010ae80808000000bee0601067f23808080800041206b22042480808080004100210502400240024002400240200241017641046a22064100480d0041002d00b8bfd380001a41012105200641002802b0bfd38000118280808000002207450d0020044100360214200420073602102004200636020c024002400240024002400240200341ff01710e050001020304000b200441023a00182004200236021c200441186a2004410c6a10e98e8080000c040b2004200236021c200441013b0118200441186a2004410c6a10e98e8080000c030b2004200236021c20044181023b0118200441186a2004410c6a10e98e8080000c020b200441043a00182004200236021c200441186a2004410c6a10e98e8080000c010b200441033a00182004200236021c200441186a2004410c6a10e98e8080000b200128020421062001280200220528022821020240024020012d00100d002006200528020422072002200241284b1b4f0d0103402001200641016a220336020420072002200241284b22081b220220064d0d072005280200200520081b20066a2d00002102024020042802142206200428020c470d002004410c6a200641014101410110948a8080000b200428021020066a20023a00002004200641016a3602142003210620032005280204220720052802282202200241284b1b490d000c020b0b2006200528020422032002200241284b1b4f0d00200128020c4107712108200128020841077121090340024002402006450d0020032002200241284b22071b22022006417f6a4d0d05200220064d0d062005280200200520071b20066a22022d00002008762002417f6a2d00002009747221030c010b20032002200241284b22071b450d062005280200200520071b2d000041047621030b2001200641016a2206360204024020042802142202200428020c470d002004410c6a200241014101410110948a8080000b200428021020026a20033a00002004200241016a36021420062005280204220320052802282202200241284b1b490d000b0b2000200429020c370200200041086a2004410c6a41086a280200360200200441206a2480808080000f0b2005200641c4a2c5800010ae80808000000b2006417f6a200241dca3c5800010f580808000000b2006200241eca3c5800010f580808000000b4100410041cca3c5800010f580808000000b2006200241bca3c5800010f580808000000bad0a020a7f017e23808080800041f0016b2203248080808000410021042003410036022c2003200236022820032001360224200341306a200341246a10e88e8080002003280234210520032d00312106024002400240024020032d00302207417d6a0e03010100020b2000428780808090808080807f3702000c020b410121040b024002400240024002400240024002400240024020070e050002030103000b200041033602000c090b410121060b200328022c220741016a20024b0d0120054101712208450d06200720024f0d02200120076a2d00004110490d062000428780808080808080807f3702000c070b200328022c220741016a20024b0d0220054101712206450d04200720024f0d03200120076a2d00004110490d042000428780808080808080807f3702000c060b2000428780808080808080807f3702000c050b2007200241d4a4c5800010f580808000000b2000428780808080808080807f3702000c030b2007200241f4a4c5800010f580808000000b024002400240024002400240200541017620066a20076a2202200328022822014b0d002003200236022c20040d01200341186a200341246a10c78380800020032802180d02200328022c2201200328021c6a220420032802284b0d03410021050c050b2000428780808090808080807f3702000c060b200241206a220420014b0d0241012105200221010c030b2000428780808090808080807f3702000c040b2000428780808090808080807f3702000c030b2000428780808090808080807f3702000c020b2000200636021820002002360214200020073602102000200436020c2000200136020820002005360204200041043602000c010b02400240200541017620086a20076a2205200328022822094b0d00200541026a220a20094d0d012000428780808090808080807f3702000c020b2000428780808090808080807f3702000c010b2003200a36022c024002400240024002402005417d4b0d00200a20024b0d01200120056a2f0000220b450d024102210c2006410171450d04024002400240024020040d00200341106a200341246a10c78380800020032802100d01200328022c220a20032802146a220220032802284b0d024100210c0c070b200541226a220220094b0d024101210c0c060b2000428780808090808080807f3702000c070b2000428780808090808080807f3702000c060b2000428780808090808080807f3702000c050b2005200a41e4a4c5800010ac81808000000b200a200241e4a4c5800010aa81808000000b2000428780808090808080807f3702000c020b2003200236022c2002ad422086200aad84210d0b200341023602e401200341023602d801200341023602cc01200341023602c001200341023602b401200341023602a8012003410236029c0120034102360290012003410236028401200341023602782003410236026c2003410236026020034102360254200341023602482003410236023c2003410236023041002101200341306a2102024003400240200b200141ffff037176410171450d00200341086a200341246a10c78380800020032802080d02200328022c2206200328020c22096a220420032802284b0d02200241086a2004360200200241046a2006360200200220094120473602002003200436022c0b2002410c6a2102200141016a22014110470d000b2000410c6a200341306a41c00110e9968080001a200020083602d401200020053602d001200020073602cc012000200d3702042000200c3602000c010b2000428780808090808080807f3702000b200341f0016a2480808080000b4a01017f23808080800041206b220324808080800020034101360208200341bca4c580003602042003420037021020032003411c6a36020c200341046a41c4a4c5800010f280808000000b4a01017f23808080800041206b220424808080800020044101360208200441bca4c580003602042004420037021020042004411c6a36020c200441046a4184a5c5800010f280808000000b4a01017f23808080800041206b220424808080800020044101360208200441bca4c580003602042004420037021020042004411c6a36020c200441046a4184a5c5800010f280808000000b8c0a010e7f23808080800041f0006b2205248080808000200520012002410141044102200428020022064101461b20064102461b10ea8b8080000240200528020822072005280200470d00200541a8a5c5800010ad808080000b200528020420076a41003a00002005200741016a2202360208024020022005280200470d00200541a8a5c5800010ad808080000b200528020420026a41003a00002005200741026a2208360208024020064102460d0020042802082102200428020421040240024002402006410171450d0020082106200528020020086b20024f0d020c010b2005200236020c20052005410c6a360240200541c0006a200510d5838080002005280200200528020822066b20024f0d010b2005200620024101410110948a808000200528020821060b200528020420066a2004200210e9968080001a2005200528020820026a3602080b02400240024002402003280200220620032802042209470d004100210a410021060c010b2003280210210b20032802082104200328020c220c41046a210d2005410c6a410172210e200541c0006a41017221022005410c6a41086a210f4100210a410121100240034020062d00002103200641023a0000024020034103470d00200a4180fe037141087621060c030b0240024020034102470d00200541023a000c410021030c010b2002200641016a22012900003700002002411f6a2001411f6a280000360000200241186a200141186a290000370000200241106a200141106a290000370000200241086a200141086a290000370000200c2802042101200c28020821112005200c28020036023c20052011200c28022c2212201241284b22121b36023820052001200d20121b360234200520043a0069200541013a0068200520033a0040200b41046a28020021032005200541346a3602642005410c6a200b2802002003200541c0006a200541346a41012004109c8d80800020052d000c22014103460d024100210320014102460d00200528021021030240024020014101710d00200541203602342005200541346a360240200541c0006a200510d58380800002402005280200200528020822116b411f4b0d0020052011412010fc90808000200528020821110b200528020420116a2201200f2900003700072001200e2f00003b0000200141026a200e41026a2d00003a0000200120033600032001410f6a200f41086a290000370000200141176a200f41106a2900003700002001411f6a200f41186a2d00003a00002005201141206a3602080c010b200541c0006a41186a200f41186a290000370300200541c0006a41106a200f41106a290000370300200541c0006a41086a200f41086a2900003703002005200f290000370340200341214f0d052005200336026c2005200541ec006a360234200541346a200510d58380800002402005280200200528020822016b20034f0d0020052001200310fc90808000200528020821010b200528020420016a200541c0006a200310e9968080001a2005200120036a3602080b201021030b200441016a2104201041017421102003200a72210a200641246a22062009470d000b200a4180fe037141087621060c010b200a4180fe037141087621060b2008200528020822034b0d01200528020420076a2006410874200a41ff0171723b000020002005290200370200200041086a200541086a280200360200200541f0006a2480808080000f0b2003412041b8a5c5800010aa81808000000b200820034198a5c5800010aa81808000000bb50b010f7f2380808080004190016b22052480808080002005410c6a20012002410141044102200428020022064101461b20064102461b10eb8b808000024020052802142207200528020c470d002005410c6a41a8a5c5800010ad808080000b200528021020076a41003a00002005200741016a220236021402402002200528020c470d002005410c6a41a8a5c5800010ad808080000b200528021020026a41003a00002005200741026a220836021420082109024020064102460d0020042802082102200428020421040240024002402006410171450d0020082106200528020c20086b20024f0d020c010b200520023602402005200541c0006a360270200541f0006a2005410c6a10d583808000200528020c200528021422066b20024f0d010b2005410c6a200620024101410110948a808000200528021421060b200528021020066a2004200210e9968080001a2005200528021420026a22093602140b02400240024002400240200328020c220a0d0041002101410021030c010b2003280208210b2003280204210c20032802002106200541f0006a41186a210d200541f0006a41106a210e200541f0006a41086a210f410021014101210402400340024002402006450d002006200c460d00200641246a2102200621030c010b41002102200b2103200b450d020b2002210641002102024020032d000022104102460d0002400240201041017122100d00200541f0006a41026a200341036a2d00003a00002003280004210220032f00012109200541c0006a41086a200341106a290200370300200541c0006a41106a200341186a290200370300200541c0006a41186a200341206a2d00003a0000200520093b0170200520032902083703400c010b200541e4006a200328020410ba84808000200d4200370300200e4200370300200f420037030020054200370370200528026c220241204f0d05200541f0006a20052802682203200210e9968080001a200541c0006a41186a200d290300370300200541c0006a41106a200e290300370300200541c0006a41086a200f290300370300200520052903703703402005280264450d00200341002802a8bfd38000118080808000000b2005413c6a41026a2211200541f0006a41026a2d00003a0000200541186a41086a2209200541c0006a41086a290300370300200541186a41106a2212200541c0006a41106a290300370300200541186a41186a2213200541c0006a41186a290300370300200520052f01703b013c200520052903403703180240024020100d00200541203602402005200541c0006a360270200541f0006a2005410c6a10d5838080000240200528020c200528021422106b411f4b0d002005410c6a2010412010fc90808000200528021421100b200528021020106a22032005290318370007200320052f013c3b0000200341026a20112d00003a0000200320023600032003410f6a2009290300370000200341176a20122903003700002003411f6a20132d00003a0000201041206a21090c010b200d2013290300370300200e2012290300370300200f200929030037030020052005290318370370200241214f0d06200520023602642005200541e4006a360240200541c0006a2005410c6a10d5838080000240200528020c200528021422036b20024f0d002005410c6a2003200210fc90808000200528021421030b200528021020036a200541f0006a200210e9968080001a200320026a21090b20052009360214200421020b2004410174210420022001722101200a417f6a220a0d000b20014180fe037141087621030c010b20014180fe037141087621030b200820094b0d02200528021020076a2003410874200141ff0171723b00002000200529020c370200200041086a2005410c6a41086a28020036020020054190016a2480808080000f0b41f0cec18000411a418ccfc1800010f480808000000b2002412041b8a5c5800010aa81808000000b200820094198a5c5800010aa81808000000b8c0a010e7f23808080800041f0006b2205248080808000200520012002410141044102200428020022064101461b20064102461b10ea8b8080000240200528020822072005280200470d00200541a8a5c5800010ad808080000b200528020420076a41003a00002005200741016a2202360208024020022005280200470d00200541a8a5c5800010ad808080000b200528020420026a41003a00002005200741026a2208360208024020064102460d0020042802082102200428020421040240024002402006410171450d0020082106200528020020086b20024f0d020c010b2005200236020c20052005410c6a360240200541c0006a200510d5838080002005280200200528020822066b20024f0d010b2005200620024101410110948a808000200528020821060b200528020420066a2004200210e9968080001a2005200528020820026a3602080b02400240024002402003280200220620032802042209470d004100210a410021060c010b2003280210210b20032802082104200328020c220c41046a210d2005410c6a410172210e200541c0006a41017221022005410c6a41086a210f4100210a410121100240034020062d00002103200641023a0000024020034103470d00200a4180fe037141087621060c030b0240024020034102470d00200541023a000c410021030c010b2002200641016a22012900003700002002411f6a2001411f6a280000360000200241186a200141186a290000370000200241106a200141106a290000370000200241086a200141086a290000370000200c2802042101200c28020821112005200c28020036023c20052011200c28022c2212201241284b22121b36023820052001200d20121b360234200520043a0069200541013a0068200520033a0040200b41046a28020021032005200541346a3602642005410c6a200b2802002003200541c0006a200541346a41012004109a8d80800020052d000c22014103460d024100210320014102460d00200528021021030240024020014101710d00200541203602342005200541346a360240200541c0006a200510d58380800002402005280200200528020822116b411f4b0d0020052011412010fc90808000200528020821110b200528020420116a2201200f2900003700072001200e2f00003b0000200141026a200e41026a2d00003a0000200120033600032001410f6a200f41086a290000370000200141176a200f41106a2900003700002001411f6a200f41186a2d00003a00002005201141206a3602080c010b200541c0006a41186a200f41186a290000370300200541c0006a41106a200f41106a290000370300200541c0006a41086a200f41086a2900003703002005200f290000370340200341214f0d052005200336026c2005200541ec006a360234200541346a200510d58380800002402005280200200528020822016b20034f0d0020052001200310fc90808000200528020821010b200528020420016a200541c0006a200310e9968080001a2005200120036a3602080b201021030b200441016a2104201041017421102003200a72210a200641246a22062009470d000b200a4180fe037141087621060c010b200a4180fe037141087621060b2008200528020822034b0d01200528020420076a2006410874200a41ff0171723b000020002005290200370200200041086a200541086a280200360200200541f0006a2480808080000f0b2003412041b8a5c5800010aa81808000000b200820034198a5c5800010aa81808000000bfd09010e7f23808080800041f0006b2205248080808000200520012002410141044102200428020022064101461b20064102461b10ea8b8080000240200528020822072005280200470d00200541a8a5c5800010ad808080000b200528020420076a41003a00002005200741016a2202360208024020022005280200470d00200541a8a5c5800010ad808080000b200528020420026a41003a00002005200741026a2208360208024020064102460d0020042802082102200428020421040240024002402006410171450d0020082106200528020020086b20024f0d020c010b2005200236020c20052005410c6a360240200541c0006a200510d5838080002005280200200528020822066b20024f0d010b2005200620024101410110948a808000200528020821060b200528020420066a2004200210e9968080001a2005200528020820026a3602080b02400240024002402003280200220620032802042209470d004100210a410021060c010b2003280210210b20032802082104200328020c220c41046a210d2005410c6a410172210e200541c0006a41017221022005410c6a41086a210f4100210a410121100240034020062d00002103200641023a0000024020034103470d00200a4180fe037141087621060c030b0240024020034102470d00200541023a000c410021030c010b2002200641016a22012900003700002002411f6a2001411f6a280000360000200241186a200141186a290000370000200241106a200141106a290000370000200241086a200141086a290000370000200c2802042101200c28020821112005200c28020036023c20052011200c28022c2212201241284b22121b36023820052001200d20121b360234200520043a0069200541013a0068200520033a00402005200541346a3602642005410c6a200b200541c0006a200541346a41012004109d8d80800020052d000c22014103460d024100210320014102460d00200528021021030240024020014101710d00200541203602342005200541346a360240200541c0006a200510d58380800002402005280200200528020822116b411f4b0d0020052011412010fc90808000200528020821110b200528020420116a2201200f2900003700072001200e2f00003b0000200141026a200e41026a2d00003a0000200120033600032001410f6a200f41086a290000370000200141176a200f41106a2900003700002001411f6a200f41186a2d00003a00002005201141206a3602080c010b200541c0006a41186a200f41186a290000370300200541c0006a41106a200f41106a290000370300200541c0006a41086a200f41086a2900003703002005200f290000370340200341214f0d052005200336026c2005200541ec006a360234200541346a200510d58380800002402005280200200528020822016b20034f0d0020052001200310fc90808000200528020821010b200528020420016a200541c0006a200310e9968080001a2005200120036a3602080b201021030b200441016a2104201041017421102003200a72210a200641246a22062009470d000b200a4180fe037141087621060c010b200a4180fe037141087621060b2008200528020822034b0d01200528020420076a2006410874200a41ff0171723b000020002005290200370200200041086a200541086a280200360200200541f0006a2480808080000f0b2003412041b8a5c5800010aa81808000000b200820034198a5c5800010aa81808000000b990701067f23808080800041c0006b22062480808080002006410c6a20012002410141044102200528020022074101461b20074102461b10ea8b808000024020062802142208200628020c470d002006410c6a41a8a5c5800010ad808080000b200628021020086a41003a00002006200841016a220236021402402002200628020c470d002006410c6a41a8a5c5800010ad808080000b200628021020026a41003a00002006200841026a22093602142009210a024020074102460d0020052802082102200528020421050240024002402007410171450d0020092107200628020c20096b20024f0d020c010b2006200236023c20062006413c6a360218200641186a2006410c6a10d583808000200628020c200628021422076b20024f0d010b2006410c6a200720024101410110948a808000200628021421070b200628021020076a2005200210e9968080001a2006200628021420026a220a3602140b024002400240024020032004470d0041002102410021030c010b41002102200641186a41086a210b41012107034041002105024020032d000022014102460d000240024020014101710d002006412036023c20062006413c6a360218200641186a2006410c6a10d5838080000240200628020c2006280214220a6b411f4b0d002006410c6a200a412010fc908080002006280214210a0b2006280210200a6a2205200341016a2201290000370000200541086a200141086a290000370000200541106a200141106a290000370000200541186a200141186a290000370000200a41206a210a0c010b200641186a41186a200341206a290000370300200641186a41106a200341186a290000370300200b200341106a290000370300200620032900083703182003280204220541214f0d04200620053602382006200641386a36023c2006413c6a2006410c6a10d5838080000240200628020c200628021422016b20054f0d002006410c6a2001200510fc90808000200628021421010b200628021020016a200641186a200510e9968080001a200120056a210a0b2006200a360214200721050b2007410174210720052002722102200341286a22032004470d000b20024180fe037141087621030b2009200a4b0d01200628021020086a2003410874200241ff0171723b00002000200629020c370200200041086a2006410c6a41086a280200360200200641c0006a2480808080000f0b2005412041b8a5c5800010aa81808000000b2009200a4198a5c5800010aa81808000000bfd09010e7f23808080800041f0006b2205248080808000200520012002410141044102200428020022064101461b20064102461b10ea8b8080000240200528020822072005280200470d00200541a8a5c5800010ad808080000b200528020420076a41003a00002005200741016a2202360208024020022005280200470d00200541a8a5c5800010ad808080000b200528020420026a41003a00002005200741026a2208360208024020064102460d0020042802082102200428020421040240024002402006410171450d0020082106200528020020086b20024f0d020c010b2005200236020c20052005410c6a360240200541c0006a200510d5838080002005280200200528020822066b20024f0d010b2005200620024101410110948a808000200528020821060b200528020420066a2004200210e9968080001a2005200528020820026a3602080b02400240024002402003280200220620032802042209470d004100210a410021060c010b2003280210210b20032802082104200328020c220c41046a210d2005410c6a410172210e200541c0006a41017221022005410c6a41086a210f4100210a410121100240034020062d00002103200641023a0000024020034103470d00200a4180fe037141087621060c030b0240024020034102470d00200541023a000c410021030c010b2002200641016a22012900003700002002411f6a2001411f6a280000360000200241186a200141186a290000370000200241106a200141106a290000370000200241086a200141086a290000370000200c2802042101200c28020821112005200c28020036023c20052011200c28022c2212201241284b22121b36023820052001200d20121b360234200520043a0069200541013a0068200520033a00402005200541346a3602642005410c6a200b200541c0006a200541346a41012004109b8d80800020052d000c22014103460d024100210320014102460d00200528021021030240024020014101710d00200541203602342005200541346a360240200541c0006a200510d58380800002402005280200200528020822116b411f4b0d0020052011412010fc90808000200528020821110b200528020420116a2201200f2900003700072001200e2f00003b0000200141026a200e41026a2d00003a0000200120033600032001410f6a200f41086a290000370000200141176a200f41106a2900003700002001411f6a200f41186a2d00003a00002005201141206a3602080c010b200541c0006a41186a200f41186a290000370300200541c0006a41106a200f41106a290000370300200541c0006a41086a200f41086a2900003703002005200f290000370340200341214f0d052005200336026c2005200541ec006a360234200541346a200510d58380800002402005280200200528020822016b20034f0d0020052001200310fc90808000200528020821010b200528020420016a200541c0006a200310e9968080001a2005200120036a3602080b201021030b200441016a2104201041017421102003200a72210a200641246a22062009470d000b200a4180fe037141087621060c010b200a4180fe037141087621060b2008200528020822034b0d01200528020420076a2006410874200a41ff0171723b000020002005290200370200200041086a200541086a280200360200200541f0006a2480808080000f0b2003412041b8a5c5800010aa81808000000b200820034198a5c5800010aa81808000000bac0201017f23808080800041206b22042480808080000240024020032802000d002004410c6a20012002410010ea8b808000200328020421012004200328020822033602182004200441186a36021c2004411c6a2004410c6a10d5838080000240200428020c200428021422026b20034f0d002004410c6a200220034101410110948a808000200428021421020b200428021020026a2001200310e9968080001a200428021421020c010b2004410c6a20012002410310ea8b808000200328020421010240200428020c200428021422026b200328020822034f0d002004410c6a200220034101410110948a808000200428021421020b200428021020026a2001200310e9968080001a0b2000200429020c370200200041086a200220036a360200200441206a2480808080000bac0201017f23808080800041206b22042480808080000240024020032802000d002004410c6a20012002410010eb8b808000200328020421012004200328020822033602182004200441186a36021c2004411c6a2004410c6a10d5838080000240200428020c200428021422026b20034f0d002004410c6a200220034101410110948a808000200428021421020b200428021020026a2001200310e9968080001a200428021421020c010b2004410c6a20012002410310eb8b808000200328020421010240200428020c200428021422026b200328020822034f0d002004410c6a200220034101410110948a808000200428021421020b200428021020026a2001200310e9968080001a0b2000200429020c370200200041086a200220036a360200200441206a2480808080000b8f07010e7f2001280218210320012d000d210420012d00092105200128021421062001280210210720012d000c21082001280204210920012d0008210a2001280200210b034002400240024002400240024002400240024002400240024002400240200b417e6a0e020102000b0240200a41ff01714102460d00200a410171210c4100210a200141004102200c1b3a0008200c450d002009210d2005210e0c030b0240200b410171450d002009450d0002402009418002490d002001200941817e6a220d36020441ff01210e4102210a0c040b4100210d200141003602042009417f6a210e4102210a0c030b4102210a200141023602000b4102210b0240200841ff01714102460d004100210b200141003a000c20084101710d030b20014103360200200b21080b2007450d042006450d04200120062003200620032006491b220b6b220636021420012007200b6a220c360210024002400240200b0e020001020b4100410041bc9ec6800010f580808000000b4101410141cc9ec6800010f580808000000b20072d000041047420072d000172210e4103210b200c21072009210d0b2000280208220c2000280200460d01200d21090c090b02402000280208220c2000280200460d00410021084102210b2004210e0c090b4102210b410021082004210e4100210f410021102007450d050c010b0240200b4103470d00410021104103210b024020070d00200d21090c080b024020060d00200d21090c080b02402003450d00200620036e22092006200920036c6b4100476a2110200d21090c080b41bca6c58000108881808000000b2007450d0302400240200b4102470d004102210b41002008200841ff01714102461b21100c010b4100200a200a41ff01714102461b41002008200841ff01714102461b6a21100b200d21090b4100210d02402006450d002003450d02200620036e220d2006200d20036c6b4100476a210d0b417f201041ff01712210200d6a220d200d2010491b21100c050b0f0b41bca6c58000108881808000000b200b4102470d0141002008200841ff01714102461b210f200d21090b200f41ff017121104102210b410021070c010b4100200a200a41ff01714102461b210702400240200841ff01714102470d00200741ff017121100c010b200720086a41ff017121100b41002107200d21090b2000200c201041016a220d417f200d1b4101410110948a8080000b2000200c41016a3602082000280204200c6a200e3a00000c000b0b860603077f027e047f23808080800041306b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204200341186a200710ba8b80800020032802202209418080808078470d01200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290318210a2003290224210b41002d00b8bfd380001a024041d00041002802b0bfd3800011828080800000220c450d00200c200b37020c200c2009360208200c200a370200200341013602142003200c3602102003410436020c4101210d034020042005200420054b1b41016a210e034002400240200e200541016a2205460d000240200728020422014108490d002007200141786a220636020420072007280200220941086a3602002006450d002009290000210a2007200141776a220f3602042007200941096a3602000240024002400240024020092d000822024103710e0400010302000b200241027621090c030b200f450d032007200141766a36020420072009410a6a36020020092d00092209450d03200941087420027241027621090c020b200241044f0d0220064105490d022007200141736a36020420072009410d6a360200200928000922094180808080044f0d010c020b20064104490d012007200141746a36020420072009410c6a36020020092f00092009410b6a2d0000411074722209418002490d01200941087420027241027621090b200341186a2007200910f18280800020032802182209418080808078470d020b200841013a00000b2000200329020c370200200041086a2003410c6a41086a2802003602000c040b2009418180808078460d000b200329021c210b0240200d200328020c470d002003410c6a200d41014104411410948a8080002003280210210c0b200c200d41146c6a2201200b37020c200120093602082001200a3702002003200d41016a220d3602140c000b0b410441d000200210ae80808000000b200341306a2480808080000b8c10010b7f23808080800041d0026b2203248080808000024002400240024002400240024002400240200128025422042001280250460d00200141013602502001413c6a2105200128023821060240024020044101470d00200341d8006a41306a200141306a290300370300200341d8006a41286a200141286a290300370300200341d8006a41206a200141206a290300370300200341d8006a41186a200141186a290300370300200341d8006a41106a200141106a290300370300200341d8006a41086a200141086a29030037030020034198026a41086a200541086a29020037030020034198026a41106a200541106a2802003602002003200129030037035820032005290200370398022006417d6a0e020202010b20064104460d02200341d8006a41306a200141306a290300370300200341d8006a41286a200141286a290300370300200341d8006a41206a200141206a290300370300200341d8006a41186a200141186a290300370300200341d8006a41106a200141106a290300370300200341d8006a41086a200141086a29030037030020034198026a41086a200541086a29020037030020034198026a41106a200541106a2802003602002003200129030037035820032005290200370398020b200341086a41106a220420034198026a41106a280200360200200341086a41086a220720034198026a41086a290300370300200341206a41086a2208200341d8006a41086a290300370300200341206a41106a2209200341d8006a41106a290300370300200341206a41186a220a200341d8006a41186a290300370300200341206a41206a220b200341d8006a41206a290300370300200341206a41286a220c200341d8006a41286a290300370300200341206a41306a220d200341d8006a41306a29030037030020032003290398023703082003200329035837032041002d00b8bfd380001a41c00241002802b0bfd38000118280808000002205450d0320052003290320370300200520063602382005200329030837023c200541306a200d290300370300200541286a200c290300370300200541206a200b290300370300200541186a200a290300370300200541106a2009290300370300200541086a2008290300370300200541c4006a2007290300370200200541cc006a2004280200360200200341d8006a200141d80010e9968080001a4101210220032802ac0122042106200420032802a801460d06200328029001210620044101460d0420064104460d0220034198026a41306a200141306a29030037030020034198026a41286a200141286a29030037030020034198026a41206a200141206a29030037030020034198026a41186a200141186a29030037030020034198026a41106a200141106a29030037030020034198026a41086a200141086a29030037030020034180026a41086a200141c4006a29020037030020034180026a41106a200141cc006a28020036020020032001290300370398022003200129023c370380020c050b200041003602082000428080808080013702000c070b2000410036020820004280808080800137020020014188016a21012004417f6a21040340024020012802004103460d000240200141686a280200450d002001416c6a28020041002802a8bfd38000118080808000000b200141746a280200450d00200141786a28020041002802a8bfd38000118080808000000b200141d0006a21012004417f6a22040d000c070b0b41012102410121060c030b410841c002200210ae80808000000b20034198026a41306a200141306a29030037030020034198026a41286a200141286a29030037030020034198026a41206a200141206a29030037030020034198026a41186a200141186a29030037030020034198026a41106a200141106a29030037030020034198026a41086a200141086a29030037030020034180026a41086a200141c4006a29020037030020034180026a41106a200141cc006a28020036020020032001290300370398022003200129023c3703800202402006417d6a0e020000010b410121020c020b200341b0016a41106a220120034180026a41106a280200360200200341b0016a41086a220220034180026a41086a290300370300200341c8016a41086a220720034198026a41086a290300370300200341c8016a41106a220820034198026a41106a290300370300200341c8016a41186a220920034198026a41186a290300370300200341c8016a41206a220a20034198026a41206a290300370300200341c8016a41286a220b20034198026a41286a290300370300200341c8016a41306a220c20034198026a41306a29030037030020032003290380023703b00120032003290398023703c80120054180016a200c290300370300200541f8006a200b290300370300200541f0006a200a290300370300200541e8006a2009290300370300200541e0006a2008290300370300200541d8006a2007290300370300200520032903c8013703502005200636028801200520032903b00137028c0120054194016a20022903003702002005419c016a200128020036020041022102200421060b20042006460d00200420066b2104200341d8006a200641d0006c6a210103400240200141386a2802004103460d000240200141206a280200450d00200141246a28020041002802a8bfd38000118080808000000b2001412c6a280200450d00200141306a28020041002802a8bfd38000118080808000000b200141d0006a21012004417f6a22040d000b0b2000200236020820002005360204200041043602000b200341d0026a2480808080000bc80c02057f017e2380808080004180016b22032480808080002003410c6a200110ae8b808000024002402003280210418080808078470d002000410036020820004280808080c000370200024020012802004102460d00200110fd898080000b024020012802242202450d0002402001280230220420012802282200460d00410021050240200420006b220641047622044101460d00200441feffffff007121072000210441002105034002402004280200450d00200441046a28020041002802a8bfd38000118080808000000b0240200441106a280200450d00200441146a28020041002802a8bfd38000118080808000000b200441206a21042007200541026a2205470d000b0b2006411071450d00200020054104746a2204280200450d00200428020441002802a8bfd38000118080808000000b200128022c450d00200241002802a8bfd38000118080808000000b20012802382202450d01024020012802442204200128023c2200460d00410021050240200420006b220641047622044101460d00200441feffffff007121072000210441002105034002402004280200450d00200441046a28020041002802a8bfd38000118080808000000b0240200441106a280200450d00200441146a28020041002802a8bfd38000118080808000000b200441206a21042007200541026a2205470d000b0b2006411071450d00200020054104746a2204280200450d00200428020441002802a8bfd38000118080808000000b2001280240450d01200241002802a8bfd38000118080808000000c010b410021072001280244200128023c6b410476410020012802381b200128023020012802286b410476410020012802241b6a22044103200441034b1b41016a2205ad42147e2208a72104024002402008422088a70d00200441fcffffff074b0d00024020040d0041042107410021050c020b41002d00b8bfd380001a200441002802b0bfd380001182808080000022070d01410421070b20072004200210ae80808000000b2007200329020c370200200741106a2003410c6a41106a280200360200200741086a2003410c6a41086a290200370200200341013602082003200736020420032005360200200341206a200141cc0010e9968080001a200341ec006a200341206a10ae8b80800002402003280270418080808078460d0041142101410121040340024020042003280200470d0020032004200328025020032802486b410476410020032802441b2003280264200328025c6b41047641016a410120032802581b6a4104411410948a808000200328020421070b200720016a2205200329026c370200200541106a200341ec006a41106a280200360200200541086a200341ec006a41086a2902003702002003200441016a2204360208200141146a2101200341ec006a200341206a10ae8b8080002003280270418080808078470d000b0b024020032802204102460d00200341206a10fd898080000b024020032802442202450d0002402003280250220420032802482207460d00410021010240200420076b220641047622044101460d00200441feffffff007121052007210441002101034002402004280200450d00200441046a28020041002802a8bfd38000118080808000000b0240200441106a280200450d00200441146a28020041002802a8bfd38000118080808000000b200441206a21042005200141026a2201470d000b0b2006411071450d00200720014104746a2204280200450d00200428020441002802a8bfd38000118080808000000b200328024c450d00200241002802a8bfd38000118080808000000b024020032802582202450d00024020032802642204200328025c2207460d00410021010240200420076b220641047622044101460d00200441feffffff007121052007210441002101034002402004280200450d00200441046a28020041002802a8bfd38000118080808000000b0240200441106a280200450d00200441146a28020041002802a8bfd38000118080808000000b200441206a21042005200141026a2201470d000b0b2006411071450d00200720014104746a2204280200450d00200428020441002802a8bfd38000118080808000000b2003280260450d00200241002802a8bfd38000118080808000000b20002003290200370200200041086a200341086a2802003602000b20034180016a2480808080000b9609020a7f067e23808080800041a0026b22032480808080000240024020012802f401220420012802f0012205460d00200541d0006c210602400340200521070240200120066a220841386a28020022054103460d0020054104460d022001200741016a3602f00141002d00b8bfd380001a0240024041c00241002802b0bfd38000118280808000002206450d002006200536023820062008290300370300200641306a200841306a290300370300200641286a200841286a290300370300200641206a200841206a290300370300200641186a200841186a290300370300200641106a200841106a290300370300200641086a200841086a29030037030020062008413c6a29020037023c200641c4006a200841c4006a290200370200200641cc006a200841cc006a2802003602002003410136020c2003200636020820034104360204200341106a200141f80110e9968080001a20032802840222052003280280022202460d012005417f6a210920034188026a41086a210a20034188026a41106a210b4101210c0340200341106a200241d0006c6a21082002210703400240200841386a28020022014103460d00024020014104460d002003200741016a220236028002200a200841c4006a290200370300200b200841cc006a28020036020020032008413c6a290200370388020240200c2003280204470d00200341046a200c4101410841d00010948a808000200328020821060b200841206a290300210d200841286a290300210e200841306a290300210f200841186a2903002110200841106a2903002111200841086a29030021122006200c41d0006c6a2204200829030037030020042001360238200441086a2012370300200441106a2011370300200441186a2010370300200420032903880237023c200441306a200f370300200441286a200e370300200441206a200d370300200441c4006a200a290300370200200441cc006a200b2802003602002003200c41016a220c36020c20092007470d030c050b2003200741016a360280022005417f6a22062007460d040340024020084188016a2802004103460d000240200841f0006a280200450d00200841f4006a28020041002802a8bfd38000118080808000000b200841fc006a280200450d0020084180016a28020041002802a8bfd38000118080808000000b200841d0006a210820072006417f6a2206470d000c050b0b200841d0006a21082005200741016a2207470d000c030b0b0b410841c002200210ae80808000000b20002003290204370200200041086a200341046a41086a2802003602000c040b200641d0006a21062004200741016a2205470d000b0b200041003602082000428080808080013702002001200741016a3602f0012004417f6a22062007460d010340024020084188016a2802004103460d000240200841f0006a280200450d00200841f4006a28020041002802a8bfd38000118080808000000b200841fc006a280200450d0020084180016a28020041002802a8bfd38000118080808000000b200841d0006a210820072006417f6a2206470d000c020b0b200041003602082000428080808080013702000b200341a0026a2480808080000b9609020a7f067e23808080800041d0016b22032480808080000240024020012802a401220420012802a0012205460d00200541d0006c210602400340200521070240200120066a220841386a28020022054103460d0020054104460d022001200741016a3602a00141002d00b8bfd380001a0240024041c00241002802b0bfd38000118280808000002206450d002006200536023820062008290300370300200641306a200841306a290300370300200641286a200841286a290300370300200641206a200841206a290300370300200641186a200841186a290300370300200641106a200841106a290300370300200641086a200841086a29030037030020062008413c6a29020037023c200641c4006a200841c4006a290200370200200641cc006a200841cc006a2802003602002003410136020c2003200636020820034104360204200341106a200141a80110e9968080001a20032802b401220520032802b0012202460d012005417f6a2109200341b8016a41086a210a200341b8016a41106a210b4101210c0340200341106a200241d0006c6a21082002210703400240200841386a28020022014103460d00024020014104460d002003200741016a22023602b001200a200841c4006a290200370300200b200841cc006a28020036020020032008413c6a2902003703b8010240200c2003280204470d00200341046a200c4101410841d00010948a808000200328020821060b200841206a290300210d200841286a290300210e200841306a290300210f200841186a2903002110200841106a2903002111200841086a29030021122006200c41d0006c6a2204200829030037030020042001360238200441086a2012370300200441106a2011370300200441186a2010370300200420032903b80137023c200441306a200f370300200441286a200e370300200441206a200d370300200441c4006a200a290300370200200441cc006a200b2802003602002003200c41016a220c36020c20092007470d030c050b2003200741016a3602b0012005417f6a22062007460d040340024020084188016a2802004103460d000240200841f0006a280200450d00200841f4006a28020041002802a8bfd38000118080808000000b200841fc006a280200450d0020084180016a28020041002802a8bfd38000118080808000000b200841d0006a210820072006417f6a2206470d000c050b0b200841d0006a21082005200741016a2207470d000c030b0b0b410841c002200210ae80808000000b20002003290204370200200041086a200341046a41086a2802003602000c040b200641d0006a21062004200741016a2205470d000b0b200041003602082000428080808080013702002001200741016a3602a0012004417f6a22062007460d010340024020084188016a2802004103460d000240200841f0006a280200450d00200841f4006a28020041002802a8bfd38000118080808000000b200841fc006a280200450d0020084180016a28020041002802a8bfd38000118080808000000b200841d0006a210820072006417f6a2206470d000c020b0b200041003602082000428080808080013702000b200341d0016a2480808080000bf60601047f23808080800041e0006b220324808080800002400240024002400240200128025422042001280250460d002001410136025020012802382205417d6a0e020001020b200041003602082000428080808080013702000c020b2000410036020820004280808080800137020020044101460d0120014188016a21012004417f6a21040340024020012802004103460d000240200141686a280200450d002001416c6a28020041002802a8bfd38000118080808000000b200141746a280200450d00200141786a28020041002802a8bfd38000118080808000000b200141d0006a21012004417f6a22040d000c020b0b41002d00b8bfd380001a41c00241002802b0bfd38000118280808000002206450d01200620053602382006200129030037030020062001413c6a220429020037023c200641306a200141306a290300370300200641286a200141286a290300370300200641206a200141206a290300370300200641186a200141186a290300370300200641106a200141106a290300370300200641086a200141086a290300370300200641c4006a200441086a290200370200200641cc006a200441106a280200360200200341086a200141d80010e9968080001a41012105200328025c220421020240024020042003280258460d0002400240024020032802402202417d6a0e020100020b41012105410121020c020b410121050c020b2006200236028801200620012903003703502006200129023c37028c0120064180016a200141306a290300370300200641f8006a200141286a290300370300200641f0006a200141206a290300370300200641e8006a200141186a290300370300200641e0006a200141106a290300370300200641d8006a200141086a29030037030020064194016a200141c4006a2902003702002006419c016a200141cc006a28020036020041022105200421020b20042002460d00200420026b2104200341086a200241d0006c6a210103400240200141386a2802004103460d000240200141206a280200450d00200141246a28020041002802a8bfd38000118080808000000b2001412c6a280200450d00200141306a28020041002802a8bfd38000118080808000000b200141d0006a21012004417f6a22040d000b0b2000200536020820002006360204200041043602000b200341e0006a2480808080000f0b410841c002200210ae80808000000bec0703077f027e067f23808080800041306b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a220536020420034100360224024020072802002209280208200341246a410410bc838080000d002009427f2009290300220a42047c220b200b200a541b3703002003280224210c200341106a200710c18380800020032802100d00200341246a2007200328021410958380800020032802242209418080808078470d020b200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290228210a41002d00b8bfd380001a02400240024002400240024041c00041002802b0bfd3800011828080800000220d450d00200d200a370208200d2009360204200d200c360200200341013602202003200d36021c200341043602184101210e034020042005200420054b1b41016a210f034002400240200f200541016a2205460d002007280200220c280208220928020c21012009280204210620034100360224024002400240200620014b0d00200928020822092802082202200928021022016b4104490d02200141046a21062001417b4b0d08200620024b0d0920092802042102200920063602102003200220016a2800003602240c010b4100200620016b2202200220064b1b2206410420064104491b221020024b0d09200341246a200928020020016a201010e9968080001a2009201020016a36020c200641034b0d00200928020822092802082211200928021022016b410420066b2202490d01200120026a22102001490d0a201020114b0d0b200341246a20066a200928020420016a200210e9968080001a200920103602100b200c427f200c290300220a42047c220b200b200a541b37030020032802242101200341086a200710c18380800020032802080d00200341246a2007200328020c10958380800020032802242209418080808078470d020b200841013a00000b20002003290218370200200041086a200341186a41086a2802003602000c090b2009418180808078460d000b2003290228210a0240200e2003280218470d00200341186a200e41014104411010948a808000200328021c210d0b200d200e4104746a2206200a37020820062009360204200620013602002003200e41016a220e3602200c000b0b410441c000200210ae80808000000b2001200641a8c8ca800010ac81808000000b2006200241a8c8ca800010aa81808000000b2010200241d8bcc1800010aa81808000000b2001201041a8c8ca800010ac81808000000b2010201141a8c8ca800010aa81808000000b200341306a2480808080000bc70401057f23808080800041c0106b2203248080808000200341b8086a200110ee8780800002400240024020032802b8080d0020004100360208200042808080801037020002402001280200450d00200128020441002802a8bfd38000118080808000000b200128020c450d01200128021041002802a8bfd38000118080808000000c010b200341376a41016a200341b8086a41086a41800810e996808000210441002d00b8bfd380001a41802041002802b0bfd38000118280808000002205450d0120032005200441800810e996808000360208200341043602042003410136020c200341106a41186a200141186a290200370300200341106a41106a200141106a290200370300200341106a41086a200141086a29020037030020032001290200370310200341b8086a200341106a10ee87808000024020032802b8084101470d00200341c0086a210641800821024101210103402004200641800810e9968080002107024020012003280204470d00200341046a20014101410141800810948a808000200328020821050b200520026a200741800810e9968080001a2003200141016a220136020c20024180086a2102200341b8086a200341106a10ee8780800020032802b8080d000b0b02402003280210450d00200328021441002802a8bfd38000118080808000000b0240200328021c450d00200328022041002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000b200341c0106a2480808080000f0b4101418020200210ae80808000000b9c0c05027f017e047f027e077f23808080800041a0046b2203248080808000200341d4006a2001109e8a808000024002400240024020032802542204418080808078460d0020032902582105200341c0026a200341d4006a410c6a41e00110e9968080001a0240200341c0026a20032802c00241054b22064103746a22072802002208450d0020032802c402210920072008417f6a2208360200200341186a2009200341c0026a41046a20061b2008412c6c6a2206410c6a290200370300200341206a200641146a290200370300200341286a2006411c6a280200360200200320062902043703102006280200210702402006280220450d00200628022441002802a8bfd38000118080808000000b200341c0026a10a28f80800020074104460d01200341f0006a200341286a280200360200200341e8006a200341106a41106a290300370200200341e0006a200341186a2903003702002003200329031037025820032007360254200341d4006a41106a21090240200741014b0d00200328025821082003280270210602402007410171450d0020082006460d010b200320093602c002200341c0026a20072008200610a89680800020032006360258410121070b200341d8006a210641808080807821080240024002402007417e6a2207410220074102491b0e03010200010b200921060b2006290204210a200628020021080b200128022041016a2206417f20061b22064104200641044b1b2207ad42187e220ba72106410021090240200b422088a70d00200641fcffffff074b0d00024020060d004104210c410021070c040b41002d00b8bfd380001a200641002802b0bfd3800011828080800000220c0d03410421090b20092006200210ae80808000000b4181e2c2800041fc004190e3c28000108b81808000000b2000410036020820004280808080c0003702002001108f8b8080000c010b200c200a370210200c200836020c200c2005370204200c20043602002003410136020c2003200c36020820032007360204200341106a41206a200141206a280200360200200341106a41186a200141186a290200370300200341106a41106a200141106a290200370300200341106a41086a200141086a29020037030020032001290200370310200341d4006a200341106a109e8a808000024020032802542209418080808078460d00200341d4006a41106a210d200341d4006a41046a2107200341c0026a41046a210e200341d4006a410c6a210f41282102200341386a41086a2110200341386a41186a211141012104034020032902582105200341c0026a200f41e00110e9968080001a200341c0026a20032802c00241054b22014103746a22062802002208450d0320032802c402211220062008417f6a220836020020102012200e20011b2008412c6c6a2201410c6a290200370300200341386a41106a2208200141146a29020037030020112001411c6a280200360200200320012902043703382001280200210602402001280220450d00200128022441002802a8bfd38000118080808000000b200341c0026a10a28f80800020064104460d0120072003290338370200200741186a2011280200360200200741106a2008290300370200200741086a2010290300370200200320063602540240200641014b0d00200328025821082003280270210102402006410171450d0020082001460d010b2003200d3602c002200341c0026a20062008200110a89680800020032001360258410121060b4180808080782108200721010240024002402006417e6a2206410220064102491b0e03010200010b200d21010b2001290204210a200128020021080b024020042003280204470d00200341046a2004200328023041016a2201417f20011b4104411810948a8080002003280208210c0b200c20026a2201200a3702002001417c6a2008360200200141746a2005370200200141706a20093602002003200441016a220436020c200241186a2102200341d4006a200341106a109e8a80800020032802542209418080808078470d000b0b200341106a108f8b808000200041086a200341046a41086a280200360200200020032902043702000b200341a0046a2480808080000f0b4181e2c2800041fc004190e3c28000108b81808000000b9e0403077f017e017f23808080800041206b2203248080808000024002400240024020012802082204200128020422054d0d0020012802002106200128020c21072001200541016a22083602040240200628020422014104490d0020062001417c6a36020420062006280200220141046a36020020012800002101200341146a200610e28b80800020032802142209418080808078470d020b200741013a00000b2000410036020820004280808080c0003702000c010b2003290218210a41002d00b8bfd380001a41c00041002802b0bfd3800011828080800000220b450d01200b200a370208200b2009360204200b2001360200200341013602102003200b36020c200341043602080240200820044f0d00200420056b21094118210541012101034002400240200628020422044104490d0020062004417c6a36020420062006280200220441046a36020020042800002102200341146a200610e28b80800020032802142208418080808078470d010b200741013a00000c020b2003290218210a024020012003280208470d00200341086a200141014104411010948a808000200328020c210b0b200b20056a2204200a3702002004417c6a2008360200200441786a20023602002003200141016a2201360210200541106a210520092001470d000b0b20002003290208370200200041086a200341086a41086a2802003602000b200341206a2480808080000f0b410441c000200210ae80808000000b920504077f017e047f017e23808080800041306b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204200341206a200710bd8a80800020032802242209418080808078470d01200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b200328022021012003290228210a41002d00b8bfd380001a02400240024041c00041002802b0bfd3800011828080800000220b450d00200b200a370208200b2009360204200b20013602002003410136021c2003200b360218200341043602144101210c034020042005200420054b1b41016a210d034002400240200d200541016a2205460d000240200728020022062802082209280208220e200928021022016b4104490d00200141046a21022001417b4b0d062002200e4b0d072009280204210e200920023602102006427f2006290300220a42047c220f200f200a541b370300200e20016a2800002101200341086a200710c28380800020032802080d00200341206a2007200328020c10ea8280800020032802202209418080808078470d020b200841013a00000b20002003290214370200200041086a200341146a41086a2802003602000c060b2009418180808078460d000b2003290224210a0240200c2003280214470d00200341146a200c41014104411010948a8080002003280218210b0b200b200c4104746a2206200a37020820062009360204200620013602002003200c41016a220c36021c0c000b0b410441c000200210ae80808000000b2001200241a8c8ca800010ac81808000000b2002200e41a8c8ca800010aa81808000000b200341306a2480808080000bec0803037f017e057f23808080800041a0036b2203248080808000200341cc006a2001109f8a808000024002400240200328024c418080808078460d00200341d0016a200141246a200341cc006a10948680800020032802dc014102460d002003280284022104200328028002210520034198036a200341fc016a28020036020020034190036a200341d0016a41246a29020037030020034188036a200341ec016a290200370300200341f8026a41086a200341e4016a290200370300200320032902dc013703f8022003411c6a200341f8026a418ce1c2800010818c808000200341106a41086a200341d0016a41086a280200360200200320032902d00137031002402005450d00200441002802a8bfd38000118080808000000b2003280210418080808078470d010b2000410036020820004280808080c0003702002001108e8b8080000c010b200128022041016a2205417f20051b22054104200541044b1b2204ad42187e2206a7210541002107024002402006422088a70d00200541fcffffff074b0d00024020050d0041042108410021040c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022080d01410421070b20072005200210ae80808000000b20082003290310370200200841106a200341106a41106a290300370200200841086a200341106a41086a2903003702002003410136020c2003200836020820032004360204200341286a41206a200141206a280200360200200341286a41186a200141186a290200370300200341286a41106a200141106a290200370300200341286a41086a200141086a290200370300200320012902003703282003418c026a200341286a109f8a8080000240200328028c02418080808078460d00200341cc006a2109200341d0016a410c6a2101200341b8016a410c6a210a41182105410121020340200341d0016a20092003418c026a10948680800020032802dc014102460d01200328028402210b2003280280022104200341f8026a41206a200141206a280200360200200341f8026a41186a200141186a290200370300200341f8026a41106a200141106a290200370300200341f8026a41086a200141086a290200370300200320012902003703f802200a200341f8026a418ce1c2800010818c808000200341b8016a41086a2207200341d0016a41086a280200360200200320032902d0013703b80102402004450d00200b41002802a8bfd38000118080808000000b20032802b801418080808078460d01024020022003280204470d00200341046a2002200328024841016a2204417f20041b4104411810948a808000200328020821080b200820056a220420032903b801370200200441106a200341b8016a41106a290300370200200441086a20072903003702002003200241016a220236020c200541186a21052003418c026a200341286a109f8a808000200328028c02418080808078470d000b0b200341286a108e8b808000200041086a200341046a41086a280200360200200020032902043702000b200341a0036a2480808080000bea0905077f017e017f017e077f23808080800041306b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c21080240024003400240024020062005460d002001200541016a22053602042003200710c583808000024020032802000d00200341246a2007200328020410e08280800020032802242209418080808078470d020b200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290228210a41002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d012001200a3702042001200936020020034101360214200320013602102003410436020c02400240034020042005200420054b1b210b0240024003402005200b460d052007280200220928020822012802042206450d0420012006417f6a36020420012001280200220641016a3602002009427f2009290300220a42017c220c200c501b3703000240024002400240024020062d000022014103710e0400010302000b200141027621010c030b200928020822062802042202450d0720062002417f6a36020420062006280200220241016a3602002009427f200a42027c220c200c200a541b37030020022d00002209450d07200941087420017241027621010c020b200141044f0d062009280208220128020422064104490d0620012006417c6a36020420012001280200220641046a3602002009427f200a42057c220c200c200a541b370300200628000022014180808080044f0d010c060b2009280208220628020422024103490d0520062002417d6a36020420062006280200220241036a3602002009427f200a42047c220c200c200a541b37030020022f0000200241026a2d0000411074722209418002490d05200941087420017241027621010b2007280200220d280208220e41046a2802002001490d04200541016a2105024020010d004201210a4100210f0c020b200728020821102007280204210641808001211141012112410021024100210f03402007417f20062001201120012011491b22096a221120112006491b2206360204200620104f0d030240200f20026b20094f0d0041002113024002400240200220096a221120024f0d000c010b20114100480d004100210e0240200f450d002003200f36022c200320123602244101210e0b2003200e360228200341186a41012011200341246a10e18a80800020032802184101470d012003280220210e200328021c21130b2013200e4188a8c1800010ae80808000000b200328021c2112200d280208210e2011210f0b200e28020422112009490d03201220026a200e2802002213200910e9968080001a200e201120096b360204200e201320096a360200200d427f200d290300220a2009ad7c220c200c200a541b370300200920026a22022111200120096b22010d000b200f418180808078460d000b200f418080808078460d032002ad4220862012ad84210a0b024020032802142209200328020c470d002003410c6a200941014104410c10948a8080000b20032802102009410c6c6a2201200a3702042001200f3602002003200941016a3602140c010b0b200f450d00201241002802a8bfd38000118080808000000b200841013a00000b2000200329020c370200200041086a2003410c6a41086a2802003602000b200341306a2480808080000f0b41044130200210ae80808000000bfc0905077f017e017f017e077f23808080800041306b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c21080240024003400240024020062005460d002001200541016a22053602042003200710c383808000024020032802000d00200341246a2007200328020410fb8280800020032802242209418080808078470d020b200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290228210a41002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d012001200a3702042001200936020020034101360214200320013602102003410436020c02400240034020042005200420054b1b210b0240024003402005200b460d052007280200220928020828020022012802042206450d0420012006417f6a36020420012001280200220641016a3602002009427f2009290300220a42017c220c200c501b3703000240024002400240024020062d000022014103710e0400010302000b200141027621010c030b200928020828020022062802042202450d0720062002417f6a36020420062006280200220241016a3602002009427f200a42027c220c200c200a541b37030020022d00002209450d07200941087420017241027621010c020b200141044f0d062009280208280200220128020422064104490d0620012006417c6a36020420012001280200220641046a3602002009427f200a42057c220c200c200a541b370300200628000022014180808080044f0d010c060b2009280208280200220628020422024103490d0520062002417d6a36020420062006280200220241036a3602002009427f200a42047c220c200c200a541b37030020022f0000200241026a2d0000411074722209418002490d05200941087420017241027621010b2007280200220d280208280200220e41046a2802002001490d04200541016a2105024020010d004201210a4100210f0c020b200728020821102007280204210641808001211141012112410021024100210f03402007417f20062001201120012011491b22096a221120112006491b2206360204200620104f0d030240200f20026b20094f0d0041002113024002400240200220096a221120024f0d000c010b20114100480d004100210e0240200f450d002003200f36022c200320123602244101210e0b2003200e360228200341186a41012011200341246a10e18a80800020032802184101470d012003280220210e200328021c21130b2013200e4188a8c1800010ae80808000000b200328021c2112200d280208280200210e2011210f0b200e28020422112009490d03201220026a200e2802002213200910e9968080001a200e201120096b360204200e201320096a360200200d427f200d290300220a2009ad7c220c200c200a541b370300200920026a22022111200120096b22010d000b200f418180808078460d000b200f418080808078460d032002ad4220862012ad84210a0b024020032802142209200328020c470d002003410c6a200941014104410c10948a8080000b20032802102009410c6c6a2201200a3702042001200f3602002003200941016a3602140c010b0b200f450d00201241002802a8bfd38000118080808000000b200841013a00000b2000200329020c370200200041086a2003410c6a41086a2802003602000b200341306a2480808080000f0b41044130200210ae80808000000be40a010b7f23808080800041206b2203248080808000200341086a200110968a8080000240024002400240024002400240024020032802082204450d00200328020c2205200528020041054b22064103746a2802002207450d04200428020821082004280204210902402005280204200541046a20061b2007412c6c6a220441546a2207280200220541014b0d00200441586a220a280200210b200441706a280200210602402005410171450d00200b2006460d010b2003200441646a36021c2003411c6a2005200b200610a896808000200a200636020041012105200741013602000b4100210a4158210b41002107024002402005417e6a2205410220054102491b0e03010400010b4164210b0b2004200b6a22050d01410021070c020b2000410036020820004280808080c0003702000c020b20052802082106200528020421070b200128022041016a2205417f20051b22054104200541044b1b220b410474210402400240200541ffffffff004b0d00200441fcffffff074b0d0041002d00b8bfd380001a200441002802b0bfd380001182808080000022050d014104210a0b200a2004200210ae80808000000b2005200636020c20052007360208200520083602042005200936020020034101360218200320053602142003200b360210024020012802202208450d002001280200210c2001280204210720012802082105200128020c210b0340200c410171450d04024002402007450d0020052106200721050c010b4101210c410021060240200b450d00200b21010240200b4107712204450d0003402001417f6a210120052802ac1421052004417f6a22040d000b0b200b4108490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200141786a22010d000b0b4100210b0b02400240200b20052f01aa144f0d00200b2104200521010c010b034020052802a0132201450d07200641016a210620052f01a814210420012105200420012f01aa144f0d000b0b0240024020060d00200441016a210b200121070c010b200120044102746a41b0146a28020021074100210b2006417f6a2205450d002006417e6a2109024020054107712206450d0003402005417f6a210520072802ac1421072006417f6a22060d000b0b20094107490d00034020072802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142107200541786a22050d000b0b2001200441e0016c6a2205200528020041054b22064103746a2802002209450d0620012004410c6c6a220141ac136a2802002102200141a8136a280200210a02402005280204200541046a20061b2009412c6c6a220441546a2206280200220541014b0d00200441586a220d2802002109200441706a280200210102402005410171450d0020092001460d010b2003200441646a36021c2003411c6a20052009200110a896808000200d200136020041012105200641013602000b41002106415821090240024002402005417e6a2205410220054102491b0e03010200010b416421090b200420096a2205450d0020052802082101200528020421060b2008417f6a21080240200328021822042003280210470d00200341106a2004200841016a2205417f20051b4104411010948a8080000b200328021420044104746a2205200136020c20052006360208200520023602042005200a3602002003200441016a3602184100210520080d000b0b20002003290210370200200041086a200341106a41086a2802003602000b200341206a2480808080000f0b41e4fccc800041fc0041c8fecc8000108b81808000000b4198efc48000108a81808000000b41e8b3c18000108a81808000000b41e4fccc800041fc0041c8fecc8000108b81808000000be40a010b7f23808080800041206b2203248080808000200341086a200110968a8080000240024002400240024002400240024020032802082204450d00200328020c2205200528020041054b22064103746a2802002207450d04200428020821082004280204210902402005280204200541046a20061b2007412c6c6a220441546a2207280200220541014b0d00200441586a220a280200210b200441706a280200210602402005410171450d00200b2006460d010b2003200441646a36021c2003411c6a2005200b200610a896808000200a200636020041012105200741013602000b4100210a4158210b41002107024002402005417e6a2205410220054102491b0e03010400010b4164210b0b2004200b6a22050d01410021070c020b2000410036020820004280808080c0003702000c020b20052802082106200528020421070b200128022041016a2205417f20051b22054104200541044b1b220b410474210402400240200541ffffffff004b0d00200441fcffffff074b0d0041002d00b8bfd380001a200441002802b0bfd380001182808080000022050d014104210a0b200a2004200210ae80808000000b2005200636020c20052007360208200520083602042005200936020020034101360218200320053602142003200b360210024020012802202208450d002001280200210c2001280204210720012802082105200128020c210b0340200c410171450d04024002402007450d0020052106200721050c010b4101210c410021060240200b450d00200b21010240200b4107712204450d0003402001417f6a210120052802ac1421052004417f6a22040d000b0b200b4108490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200141786a22010d000b0b4100210b0b02400240200b20052f01aa144f0d00200b2104200521010c010b034020052802a0132201450d07200641016a210620052f01a814210420012105200420012f01aa144f0d000b0b0240024020060d00200441016a210b200121070c010b200120044102746a41b0146a28020021074100210b2006417f6a2205450d002006417e6a2109024020054107712206450d0003402005417f6a210520072802ac1421072006417f6a22060d000b0b20094107490d00034020072802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142107200541786a22050d000b0b2001200441e0016c6a2205200528020041054b22064103746a2802002209450d0620012004410c6c6a220141ac136a2802002102200141a8136a280200210a02402005280204200541046a20061b2009412c6c6a220441546a2206280200220541014b0d00200441586a220d2802002109200441706a280200210102402005410171450d0020092001460d010b2003200441646a36021c2003411c6a20052009200110a896808000200d200136020041012105200641013602000b41002106415821090240024002402005417e6a2205410220054102491b0e03010200010b416421090b200420096a2205450d0020052802082101200528020421060b2008417f6a21080240200328021822042003280210470d00200341106a2004200841016a2205417f20051b4104411010948a8080000b200328021420044104746a2205200136020c20052006360208200520023602042005200a3602002003200441016a3602184100210520080d000b0b20002003290210370200200041086a200341106a41086a2802003602000b200341206a2480808080000f0b41e4fccc800041fc0041c8fecc8000108b81808000000b4198efc48000108a81808000000b41e8b3c18000108a81808000000b41e4fccc800041fc0041c8fecc8000108b81808000000bed0904077f017e0f7f017e23808080800041c0006b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024002400240024002400240024003400240024020062005460d002001200541016a2205360204200341106a200710c183808000024020032802100d00200341346a2007200328021410f38280800020032802342209418080808078470d020b200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290238210a41002d00b8bfd380001a413041002802b0bfd3800011828080800000220b450d01200b200a370204200b2009360200200341013602242003200b3602202003410436021c4101210c02400240034020042005200420054b1b210d0240024003402005200d460d05200341086a200710c18380800020032802080d04417f2007280200220e280208220f280208220941086a280200200941106a2802006b22094100200f2802042201200f28020c6b2206200620014b1b6a220120012009491b200328020c2206490d04200541016a2105024020060d004201210a410021100c020b200728020821112007280204210141808001210241012112410021134100211003402007417f20012006200220062002491b22096a221420142001491b2201360204200120114f0d030240201020136b20094f0d004100210f024002400240201320096a221420134f0d000c010b20144100480d004100210f02402010450d002003201036023c200320123602344101210f0b2003200f360238200341286a41012014200341346a10e18a80800020032802284101470d0120032802302115200328022c210f0b200f20154188a8c1800010ae80808000000b200328022c2112200e280208210f201421100b02402002450d00201220136a21150240200f2802042214200f28020c22024b0d00200f28020822022802082216200228021022146b2009490d05201420096a22172014490d0b201720164b0d0c2015200228020420146a200910e9968080001a200220173602100c010b4100201420026b2217201720144b1b2214200920142009491b221620174b0d0c2015200f28020020026a201610e9968080002117200f201620026a36020c200920144d0d00200f28020822022802082218200228021022156b200920146b2216490d04201520166a22192015490d0d201920184b0d0e201720146a200228020420156a201610e9968080001a200220193602100b200e427f200e290300220a2009ad7c221a201a200a541b370300200920136a22132102200620096b22060d000b2010418180808078460d000b2010418080808078460d032013ad4220862012ad84210a0b0240200c200328021c470d002003411c6a200c41014104410c10948a8080002003280220210b0b200b200c410c6c6a2209200a370204200920103602002003200c41016a220c3602240c010b0b2010450d00201241002802a8bfd38000118080808000000b200841013a00000b2000200329021c370200200041086a2003411c6a41086a2802003602000b200341c0006a2480808080000f0b41044130200210ae80808000000b2014201741a8c8ca800010ac81808000000b2017201641a8c8ca800010aa81808000000b2016201741d8bcc1800010aa81808000000b2015201941a8c8ca800010ac81808000000b2019201841a8c8ca800010aa81808000000bf50901117f2380808080004190106b220324808080800002400240024020012802202204450d0020012004417f6a220536022020012802142206200128021c2207470d0141002107024002400240200128020c2208200128020422096b220a4100480d00024020082009470d00410121064100210b0c030b41002d00b8bfd380001a200a41002802b0bfd380001182808080000022060d01410121070b2007200a41f882c4800010ae80808000000b200a410a76210b0b20062009200a10e996808000220c200a6a210702402001280218450d00200128021041002802a8bfd38000118080808000000b2001200736021c2001200b3602182001200c3602142001200c36021020082009470d010b20004100360208200042808080801037020002402001280208450d00200128020041002802a8bfd38000118080808000000b2001280218450d01200128021041002802a8bfd38000118080808000000c010b200120064180086a220a360214200341106a200641800810e9968080001a0240024020050d00410121090c010b2005417f4100200128020c2001280204471b220920052009491b41016a21090b20094104200941044b1b220b410a74210c4100210802400240200941ffffff014b0d00200c4100480d0041002d00b8bfd380001a200c41002802b0bfd380001182808080000022080d01410121080b2008200c200210ae80808000000b2008200341106a41800810e99680800021092003410136020c200320093602082003200b3602042001280200210d2001280208210e2001280210210f2001280218210b02402005450d00417f4100200128020c221020012802042202471b211102400240201020026b220c4100480d00200c410a7621122004417e6a2109410020046b210441800821054101210103400240200a2007470d000240024020102002462207450d004101210a410021130c010b41002d00b8bfd380001a0240200c41002802b0bfd3800011828080800000220a0d00410121030c050b201221130b200a2002200c10e99680800021060240200b450d00200f41002802a8bfd38000118080808000000b02402007450d002013210b2006210f0c050b2006200c6a21072013210b2006210f0b20034190086a200a41800810e9968080001a024020012003280204470d00200341046a200141012009201120092011491b41016a200420016a41026a4101461b410141800810948a808000200328020821080b200a4180086a210a200820056a20034190086a41800810e9968080001a2003200141016a220136020c2009417f6a210920054180086a2105200420016a0d000c030b0b2004417e6a2105410020046b210441800821014101210a03400240200620016a22092007470d00410021030c020b20034190086a200941800810e9968080001a0240200a2003280204470d00200341046a200a41012005201120052011491b41016a2004200a6a41026a4101461b410141800810948a808000200328020821080b200820016a20034190086a41800810e9968080001a2003200a41016a220a36020c2005417f6a210520014180086a21012004200a6a0d000c020b0b2003200c41f882c4800010ae80808000000b0240200e450d00200d41002802a8bfd38000118080808000000b0240200b450d00200f41002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000b20034190106a2480808080000bcb0503077f017e037f23808080800041206b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204200341146a200710e08b80800020032802142209418080808078470d01200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290218210a41002d00b8bfd380001a0240413041002802b0bfd3800011828080800000220b450d00200b200a370204200b2009360200200341013602102003200b36020c200341043602084101210c034020042005200420054b1b41016a210d034002400240200d200541016a2205460d00024020072802042201450d0020072001417f6a220236020420072007280200220941016a3602000240024002400240024020092d000022064103710e0400010302000b200641027621090c030b2002450d0320072001417e6a3602042007200941026a36020020092d00012209450d03200941087420067241027621090c020b200641044f0d0220014105490d0220072001417b6a3602042007200941056a360200200928000122094180808080044f0d010c020b20014104490d0120072001417c6a3602042007200941046a36020020092f0001200941036a2d0000411074722209418002490d01200941087420067241027621090b200341146a2007200910f18280800020032802142209418080808078470d020b200841013a00000b20002003290208370200200041086a200341086a41086a2802003602000c040b2009418180808078460d000b2003290218210a0240200c2003280208470d00200341086a200c41014104410c10948a808000200328020c210b0b200b200c410c6c6a2201200a370204200120093602002003200c41016a220c3602100c000b0b41044130200210ae80808000000b200341206a2480808080000bec0803037f017e057f23808080800041a0036b2203248080808000200341cc006a2001109f8a808000024002400240200328024c418080808078460d00200341d0016a200141246a200341cc006a10948680800020032802dc014102460d002003280284022104200328028002210520034198036a200341fc016a28020036020020034190036a200341d0016a41246a29020037030020034188036a200341ec016a290200370300200341f8026a41086a200341e4016a290200370300200320032902dc013703f8022003411c6a200341f8026a418ce1c2800010818c808000200341106a41086a200341d0016a41086a280200360200200320032902d00137031002402005450d00200441002802a8bfd38000118080808000000b2003280210418080808078470d010b2000410036020820004280808080c0003702002001108e8b8080000c010b200128022041016a2205417f20051b22054104200541044b1b2204ad42187e2206a7210541002107024002402006422088a70d00200541fcffffff074b0d00024020050d0041042108410021040c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022080d01410421070b20072005200210ae80808000000b20082003290310370200200841106a200341106a41106a290300370200200841086a200341106a41086a2903003702002003410136020c2003200836020820032004360204200341286a41206a200141206a280200360200200341286a41186a200141186a290200370300200341286a41106a200141106a290200370300200341286a41086a200141086a290200370300200320012902003703282003418c026a200341286a109f8a8080000240200328028c02418080808078460d00200341cc006a2109200341d0016a410c6a2101200341b8016a410c6a210a41182105410121020340200341d0016a20092003418c026a10948680800020032802dc014102460d01200328028402210b2003280280022104200341f8026a41206a200141206a280200360200200341f8026a41186a200141186a290200370300200341f8026a41106a200141106a290200370300200341f8026a41086a200141086a290200370300200320012902003703f802200a200341f8026a418ce1c2800010818c808000200341b8016a41086a2207200341d0016a41086a280200360200200320032902d0013703b80102402004450d00200b41002802a8bfd38000118080808000000b20032802b801418080808078460d01024020022003280204470d00200341046a2002200328024841016a2204417f20041b4104411810948a808000200328020821080b200820056a220420032903b801370200200441106a200341b8016a41106a290300370200200441086a20072903003702002003200241016a220236020c200541186a21052003418c026a200341286a109f8a808000200328028c02418080808078470d000b0b200341286a108e8b808000200041086a200341046a41086a280200360200200020032902043702000b200341a0036a2480808080000be305010b7f23808080800041306b2203248080808000024002400240024020012802082204200128020422054d0d00200128020c21062001200541016a220736020402402001280200220128020422084104490d0020012008417c6a220936020420012001280200220a41046a220b3602002009411f4b0d020b200641013a00000b2000410036020820004280808080c0003702000c010b200a280000210c20012008415c6a3602042001200a41246a360200200341106a41086a2208200b41086a290000370300200341106a41106a220a200b41106a290000370300200341106a41186a220d200b41186a2900003703002003200b29000037031041002d00b8bfd380001a41900141002802b0bfd38000118280808000002209450d012009200c360200200920032903103702042009410c6a2008290300370200200941146a200a2903003702002009411c6a200d2903003702002003410136020c20032009360208200341043602040240200720044f0d00200420056b210c4128210841012104034002400240200128020422024104490d0020012002417c6a220736020420012001280200220b41046a22053602002007411f4b0d010b200641013a00000c020b200b280000210720012002415c6a3602042001200b41246a360200200341106a41086a2202200541086a290000370300200341106a41106a220b200541106a290000370300200341106a41186a220a200541186a29000037030020032005290000370310024020042003280204470d00200341046a200441014104412410948a808000200328020821090b200920086a2205417c6a200736020020052003290310370200200541086a2002290300370200200541106a200b290300370200200541186a200a2903003702002003200441016a220436020c200841246a2108200c2004470d000b0b20002003290204370200200041086a200341046a41086a2802003602000b200341306a2480808080000f0b4104419001200210ae80808000000bcb14010f7f23808080800041d0006b220324808080800002400240024002400240024002400240024002400240024002400240024002400240024020012802082204450d0020012004417f6a220536020802402001280200220641016a2207200128020422086a2209410e4b0d002001200736020020060e0e02030405060708090a0b0c0d0e0f010b2001410e3602000b2000410036020820004280808080103702000c0f0b200341c8006a41002900f891c58000370300200341c0006a41002900f091c58000370300200341386a41002900e891c58000370300200341002900e091c58000370330200341106a21010c0d0b200341c8006a41002900ea92c58000370300200341c0006a41002900e292c58000370300200341386a41002900da92c58000370300200341002900d292c58000370330200341106a21010c0c0b200341c8006a410029008a93c58000370300200341c0006a410029008293c58000370300200341386a41002900fa92c58000370300200341002900f292c58000370330200341106a21010c0b0b200341c8006a41002900aa93c58000370300200341c0006a41002900a293c58000370300200341386a410029009a93c580003703002003410029009293c58000370330200341106a21010c0a0b200341c8006a41002900ca93c58000370300200341c0006a41002900c293c58000370300200341386a41002900ba93c58000370300200341002900b293c58000370330200341106a21010c090b200341c8006a41002900ea93c58000370300200341c0006a41002900e293c58000370300200341386a41002900da93c58000370300200341002900d293c58000370330200341106a21010c080b200341c8006a410029008a94c58000370300200341c0006a410029008294c58000370300200341386a41002900fa93c58000370300200341002900f293c58000370330200341106a21010c070b200341c8006a41002900aa94c58000370300200341c0006a41002900a294c58000370300200341386a410029009a94c580003703002003410029009294c58000370330200341106a21010c060b200341c8006a41002900ca94c58000370300200341c0006a41002900c294c58000370300200341386a41002900ba94c58000370300200341002900b294c58000370330200341106a21010c050b200341c8006a41002900ea94c58000370300200341c0006a41002900e294c58000370300200341386a41002900da94c58000370300200341002900d294c58000370330200341106a21010c040b200341c8006a410029008a95c58000370300200341c0006a410029008295c58000370300200341386a41002900fa94c58000370300200341002900f294c58000370330200341106a21010c030b200341c8006a41002900aa95c58000370300200341c0006a41002900a295c58000370300200341386a410029009a95c580003703002003410029009295c58000370330200341106a21010c020b200341c8006a41002900ca95c58000370300200341c0006a41002900c295c58000370300200341386a41002900ba95c58000370300200341002900b295c58000370330200341106a21010c010b200341c8006a41002900ea95c58000370300200341c0006a41002900e295c58000370300200341386a41002900da95c58000370300200341002900d295c58000370330200341106a21010b20012003290330370000200141186a220a200341306a41186a290300370000200141106a220b200341306a41106a290300370000200141086a220c200341306a41086a29030037000041002d00b8bfd380001a2005410e20096b220720052007491b22074103200741034b1b41016a410420051b2207410574220941002802b0bfd3800011828080800000220d450d01200d2001290000370000200d41186a200a290000370000200d41106a200b290000370000200d41086a200c2900003700002003200d360204200320073602002003410136020802402005450d002003410f6a41016a21052004417e6a2107410020046b210e410c200820066a220f6b2109200341306a41186a2108200341306a41106a210a200341306a41086a210b41202102410121010340200f20016a41016a410e4b0d0102400240024002400240024002400240024002400240024002400240200620016a417f6a0e0d000102030405060708090a0b0c0f0b200841002900ea92c58000370300200a41002900e292c58000370300200b41002900da92c58000370300200341002900d292c580003703300c0c0b2008410029008a93c58000370300200a410029008293c58000370300200b41002900fa92c58000370300200341002900f292c580003703300c0b0b200841002900aa93c58000370300200a41002900a293c58000370300200b410029009a93c580003703002003410029009293c580003703300c0a0b200841002900ca93c58000370300200a41002900c293c58000370300200b41002900ba93c58000370300200341002900b293c580003703300c090b200841002900ea93c58000370300200a41002900e293c58000370300200b41002900da93c58000370300200341002900d293c580003703300c080b2008410029008a94c58000370300200a410029008294c58000370300200b41002900fa93c58000370300200341002900f293c580003703300c070b200841002900aa94c58000370300200a41002900a294c58000370300200b410029009a94c580003703002003410029009294c580003703300c060b200841002900ca94c58000370300200a41002900c294c58000370300200b41002900ba94c58000370300200341002900b294c580003703300c050b200841002900ea94c58000370300200a41002900e294c58000370300200b41002900da94c58000370300200341002900d294c580003703300c040b2008410029008a95c58000370300200a410029008295c58000370300200b41002900fa94c58000370300200341002900f294c580003703300c030b200841002900aa95c58000370300200a41002900a295c58000370300200b410029009a95c580003703002003410029009295c580003703300c020b200841002900ca95c58000370300200a41002900c295c58000370300200b41002900ba95c58000370300200341002900b295c580003703300c010b200841002900ea95c58000370300200a41002900e295c58000370300200b41002900da95c58000370300200341002900d295c580003703300b20052003290330370000200541186a220c2008290300370000200541106a2210200a290300370000200541086a2211200b290300370000024020012003280200470d002003200141012007200920072009491b41016a200e20016a41026a4101461b4101412010948a8080002003280204210d0b200d20026a22042005290000370000200441186a200c290000370000200441106a2010290000370000200441086a20112900003700002003200141016a22013602082007417f6a21072009417f6a2109200241206a2102200e20016a0d000b0b20002003290200370200200041086a200341086a2802003602000b200341d0006a2480808080000f0b41012009200210ae80808000000bac0803097f027e027f23808080800041206b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204024020072802002209280208280200220a280204220b4104490d00200a200b417c6a360204200a200a280200220b41046a3602002009427f2009290300220c42047c220d200d200c541b370300200b28000021092003200710c38380800020032802000d00200341146a200720032802041096838080002003280214220a418080808078470d020b200841013a00000b2000410036020820004280808080c0003702000c020b200a418180808078460d000b2003290218210c41002d00b8bfd380001a024041c00041002802b0bfd3800011828080800000220e450d00200e200c370208200e200a360204200e2009360200200341013602102003200e36020c200341043602084101210f034020042005200420054b1b41016a21060340024002402006200541016a2205460d00024020072802002209280208280200220a280204220b4104490d00200a200b417c6a360204200a200a280200220b41046a3602002009427f2009290300220c42047c220d200d200c541b3703002007280200220a28020828020022092802042201450d00200b280000210220092001417f6a36020420092009280200220b41016a360200200a427f200a290300220c42017c220d200d501b37030002400240024002400240200b2d000022094103710e0400010302000b2009410276210a0c030b200a280208280200220b2802042201450d03200b2001417f6a360204200b200b280200220141016a360200200a427f200c42027c220d200d200c541b37030020012d0000220a450d03200a410874200972410276210a0c020b200941044f0d02200a2802082802002209280204220b4104490d022009200b417c6a36020420092009280200220b41046a360200200a427f200c42057c220d200d200c541b370300200b280000220a4180808080044f0d010c020b200a280208280200220b28020422014103490d01200b2001417d6a360204200b200b280200220141036a360200200a427f200c42047c220d200d200c541b37030020012f0000200141026a2d000041107472220a418002490d01200a410874200972410276210a0b200341146a2007200a1096838080002003280214220a418080808078470d020b200841013a00000b20002003290208370200200041086a200341086a41086a2802003602000c040b200a418180808078460d000b2003290218210c0240200f2003280208470d00200341086a200f41014104411010948a808000200328020c210e0b200e200f4104746a2209200c3702082009200a360204200920023602002003200f41016a220f3602100c000b0b410441c000200210ae80808000000b200341206a2480808080000b9a0803097f027e027f23808080800041206b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024003400240024020062005460d002001200541016a2205360204024020072802002209280208220a280204220b4104490d00200a200b417c6a360204200a200a280200220b41046a3602002009427f2009290300220c42047c220d200d200c541b370300200b28000021092003200710c58380800020032802000d00200341146a200720032802041084838080002003280214220a418080808078470d020b200841013a00000b2000410036020820004280808080c0003702000c020b200a418180808078460d000b2003290218210c41002d00b8bfd380001a024041c00041002802b0bfd3800011828080800000220e450d00200e200c370208200e200a360204200e2009360200200341013602102003200e36020c200341043602084101210f034020042005200420054b1b41016a21060340024002402006200541016a2205460d00024020072802002209280208220a280204220b4104490d00200a200b417c6a360204200a200a280200220b41046a3602002009427f2009290300220c42047c220d200d200c541b3703002007280200220a28020822092802042201450d00200b280000210220092001417f6a36020420092009280200220b41016a360200200a427f200a290300220c42017c220d200d501b37030002400240024002400240200b2d000022094103710e0400010302000b2009410276210a0c030b200a280208220b2802042201450d03200b2001417f6a360204200b200b280200220141016a360200200a427f200c42027c220d200d200c541b37030020012d0000220a450d03200a410874200972410276210a0c020b200941044f0d02200a2802082209280204220b4104490d022009200b417c6a36020420092009280200220b41046a360200200a427f200c42057c220d200d200c541b370300200b280000220a4180808080044f0d010c020b200a280208220b28020422014103490d01200b2001417d6a360204200b200b280200220141036a360200200a427f200c42047c220d200d200c541b37030020012f0000200141026a2d000041107472220a418002490d01200a410874200972410276210a0b200341146a2007200a1084838080002003280214220a418080808078470d020b200841013a00000b20002003290208370200200041086a200341086a41086a2802003602000c040b200a418180808078460d000b2003290218210c0240200f2003280208470d00200341086a200f41014104411010948a808000200328020c210e0b200e200f4104746a2209200c3702082009200a360204200920023602002003200f41016a220f3602100c000b0b410441c000200210ae80808000000b200341206a2480808080000bf40d010d7f23808080800041206b2203248080808000024002400240024002400240024002400240024020012802004102460d00200341086a200110968a808000024020032802082204450d00200328020c2205200528020041054b22064103746a2802002207450d04200428020821082004280204210902402005280204200541046a20061b2007412c6c6a220441546a2207280200220541014b0d00200441586a220a280200210b200441706a280200210602402005410171450d00200b2006460d010b2003200441646a36021c2003411c6a2005200b200610a896808000200a200636020041012105200741013602000b410021074158210b024002402005417e6a2205410220054102491b0e03010500010b4164210b0b2004200b6a22050d020c030b200141023602000b024020012802242205450d0020052001280228460d002001200541186a36022441002005280210200528020c418080808078461b21072005280214210620052802082108200528020421090c020b2000410036020820004280808080c0003702000c050b20052802082106200528020421070b20012802242104024020012802004102470d0020040d02410021050c030b200128022021052004450d02417f2005200128022820046b41186e6a220420042005491b21050c020b41e4fccc800041fc0041c8fecc8000108b81808000000b200128022820046b41186e21050b200541016a2205417f20051b22054104200541044b1b220b41047421044100210a02400240200541ffffffff004b0d00200441fcffffff074b0d0041002d00b8bfd380001a200441002802b0bfd380001182808080000022050d014104210a0b200a2004200210ae80808000000b2005200636020c20052007360208200520083602042005200936020020034101360218200320053602142003200b3602102001280228210c200128022421082001280220210d200128020c210e20012802082105200128020421072001280200210b02400340024002400240024002400240200b4102460d00200d0d014100210d0b2008450d062008200c460d0641002008280210200828020c418080808078461b210620082802142109200828020821022008280204210a4102210b200841186a22012108200328021822042003280210460d010c040b200b410171450d07024002402007450d00200e210420052106200721050c010b4101210b410021040240200e450d00200e21010240200e4107712206450d0003402001417f6a210120052802ac1421052006417f6a22060d000b0b200e4108490d00034020052802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142105200141786a22010d000b0b410021060b02400240200420052f01aa144f0d00200521010c010b034020052802a0132201450d0a200641016a210620052f01a814210420012105200420012f01aa144f0d000b0b0240024020060d00200441016a210e200121070c010b200120044102746a41b0146a28020021074100210e2006417f6a2205450d002006417e6a2109024020054107712206450d0003402005417f6a210520072802ac1421072006417f6a22060d000b0b20094107490d00034020072802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142107200541786a22050d000b0b2001200441e0016c6a2205200528020041054b22064103746a2802002209450d0920012004410c6c6a220141ac136a2802002102200141a8136a280200210a02402005280204200541046a20061b2009412c6c6a220441546a2206280200220141014b0d00200441586a220f2802002109200441706a280200210502402001410171450d0020092005460d010b2003200441646a36021c2003411c6a20012009200510a896808000200f200536020041012101200641013602000b410021054158210f410021060240024002402001417e6a2201410220014102491b0e03010200010b4164210f0b410021062004200f6a2201450d0020012802082109200128020421060b200d417f6a210d200328021822042003280210470d03200b4102470d014102210b41002105200821014100210f2008450d020b200c20016b41186e210f4102210b200121080c010b41002105024020080d0041002108200d210f0c010b417f200d200c20086b41186e6a22012001200d491b210f0b200341106a2004200f41016a2201417f20011b4104411010948a8080000b200328021420044104746a2201200936020c20012006360208200120023602042001200a3602002003200441016a3602180c000b0b20002003290210370200200041086a200341106a41086a2802003602000b200341206a2480808080000f0b4198efc48000108a81808000000b41e8b3c18000108a81808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b9a05040d7f037e017f017e23808080800041306b220324808080800020012802042204200128020022056b220641386e21070240200641fcffffff074d0d0041002006200210ae80808000000b0240024020042005470d0020012802102108200128020c21092001280208210a4100210b4104210c20072106410021020c010b4100210b41002d00b8bfd380001a0240200641002802b0bfd3800011828080800000220c0d0041042006200210ae80808000000b20012802102108200128020c21092001280208210a200341276a210d200341206a210e410021020240034002402005200b6a220141146a2d0000220f4102470d00200141386a21050c020b200d200141346a280000360000200e2001412d6a290000370300200141156a29000021102001411d6a2900002111200141256a2900002112200141106a2802002113200141086a2902002114200c200b6a22062001290200370200200641086a2014370200200641106a2013360200200641256a20123700002006411d6a2011370000200641156a2010370000200641146a200f3a0000200641346a200d2800003600002006412d6a200e290300370000200241016a21022005200b41386a220b6a2004470d000b200421050b200420056b41386e21062007210b0b024002400240024020042005470d002008450d03200a41086a21062009200a2802082201460d02200a41046a21050c010b200541086a2101200a41046a21050340200110808a808000200141386a21012006417f6a22060d000b2008450d02200a41086a21062009200a2802082201460d010b20052802002205200141386c6a2005200941386c6a200841386c10ec968080001a0b2006200120086a3602000b200020023602082000200c3602042000200b360200200341306a2480808080000bd00903097f017e027f23808080800041a0016b2203248080808000200341286a2001109b8a80800002400240024020032802282204418080808078460d002003280238210520032802342106200328022c21070240200128022c2208200128022822094d0d0002402004450d00200741002802a8bfd38000118080808000000b2006450d01200541002802a8bfd38000118080808000000c010b200328023c210a2003280230210b20012009417f6a36022820012001280224220941046a3602242003200a36023c20032005360238200320063602342003200b3602302003200736022c200320083602442003200936024020032004360228200341146a2001413c6a200341286a10e586808000200328021c418080808078470d010b2000410036020820004280808080c000370200200110958b8080000c010b41002105410020012802282204200128022c22066b41016a20042006491b22042001280220220620042006491b41016a2204417f20041b22044104200441044b1b2206ad42147e220ca7210402400240200c422088a70d00200441fcffffff074b0d00024020040d004104210d410021060c020b41002d00b8bfd380001a200441002802b0bfd3800011828080800000220d0d01410421050b20052004200210ae80808000000b200d2003290214370200200d41106a200341146a41106a280200360200200d41086a200341146a41086a290200370200200341013602102003200d36020c20032006360208200341286a41386a200141386a290200370300200341286a41306a200141306a290200370300200341286a41286a200141286a290200370300200341286a41206a200141206a290200370300200341286a41186a200141186a290200370300200341286a41106a200141106a290200370300200341286a41086a200141086a2902003703002003200129020037032820034180016a200341286a109b8a80800002402003280280012202418080808078460d00200341e4006a210e411421044101210103402003280290012105200328028c0121062003280284012107024020032802542208200328025022094d0d0002402002450d00200741002802a8bfd38000118080808000000b2006450d02200541002802a8bfd38000118080808000000c020b200328029401210a200328028801210b20032009417f6a3602502003200328024c220941046a36024c2003200a3602940120032005360290012003200636028c012003200b3602880120032007360284012003200836029c0120032009360298012003200236028001200341ec006a200e20034180016a10e5868080002003280274418080808078460d01024020012003280208470d00200341086a2001410020032802502202200328025422066b41016a20022006491b22022003280248220620022006491b41016a2202417f20021b4104411410948a808000200328020c210d0b200d20046a2202200329026c370200200241106a200341ec006a41106a280200360200200241086a200341ec006a41086a2902003702002003200141016a2201360210200441146a210420034180016a200341286a109b8a8080002003280280012202418080808078470d000b0b200341286a10958b808000200041086a200341086a41086a280200360200200020032902083702000b200341a0016a2480808080000bc50401057f41002104024002400240200220016b41306e220541057422064100480d00024020022001470d0041002105410121070c030b4100210841002d00b8bfd380001a200641002802b0bfd380001182808080000022070d01410121040b20042006200310ae80808000000b2005410371210402402005417f6a4103490d00200541fcffff3f712103410021082007210220012106034020022006290000370000200241186a200641186a290000370000200241106a200641106a290000370000200241086a200641086a290000370000200241386a200641c8006a290000370000200241306a200641c0006a290000370000200241286a200641386a290000370000200241206a200641306a290000370000200241d8006a200641f8006a290000370000200241d0006a200641f0006a290000370000200241c8006a200641e8006a290000370000200241c0006a200641e0006a290000370000200241e0006a20064190016a290000370000200241e8006a20064198016a290000370000200241f0006a200641a0016a290000370000200241f8006a200641a8016a29000037000020024180016a2102200641c0016a21062003200841046a2208470d000b0b2004450d002001200841306c6a2102200720084105746a2106034020062002290000370000200641186a200241186a290000370000200641106a200241106a290000370000200641086a200241086a290000370000200241306a2102200641206a21062004417f6a22040d000b0b2000200536020820002007360204200020053602000bbf0704077f017e0c7f017e23808080800041c0006b22032480808080002001280208220420012802042205200420054b1b210620012802002107200128020c2108024002400240024003400240024020062005460d002001200541016a2205360204200341106a200710c283808000024020032802100d00200341346a2007200328021410e68280800020032802342209418080808078470d020b200841013a00000b2000410036020820004280808080c0003702000c020b2009418180808078460d000b2003290238210a41002d00b8bfd380001a413041002802b0bfd3800011828080800000220b450d01200b200a370204200b2009360200200341013602242003200b3602202003410436021c4101210c02400240034020042005200420054b1b210d0240024003402005200d460d05200341086a200710c28380800020032802080d042007280200220e280208220f41086a280200200f41106a2802006b200328020c2202490d04200541016a2105024020020d004201210a410021100c020b200728020821112007280204210641808001210141012112410021134100211003402007417f20062002200120022001491b22096a220120012006491b2206360204200620114f0d03200920136a21010240201020136b20094f0d004100210f0240024020014100480d004100210f02402010450d002003201036023c200320123602344101210f0b2003200f360238200341286a41012001200341346a10e18a80800020032802284101470d0120032802302114200328022c210f0b200f20144188a8c1800010ae80808000000b200328022c2112200e280208210f200121100b200f2802082215200f28021022146b2009490d03201420096a22162014490d09201620154b0d0a201220136a200f28020420146a200910e9968080001a200f2016360210200e427f200e290300220a2009ad7c22172017200a541b37030020012113200220096b22020d000b2010418180808078460d000b2010418080808078460d032001ad4220862012ad84210a0b0240200c200328021c470d002003411c6a200c41014104410c10948a8080002003280220210b0b200b200c410c6c6a2209200a370204200920103602002003200c41016a220c3602240c010b0b2010450d00201241002802a8bfd38000118080808000000b200841013a00000b2000200329021c370200200041086a2003411c6a41086a2802003602000b200341c0006a2480808080000f0b41044130200210ae80808000000b2014201641a8c8ca800010ac81808000000b2016201541a8c8ca800010aa81808000000bde0401097f23808080800041106b2203248080808000024002400240024020012802082204200128020422054d0d00200128020c21062001200541016a220736020402402001280200220128020422084104490d0020012008417c6a220936020420012001280200220a41046a36020020094104490d00200a280000210b2001200841786a22093602042001200a41086a360200200941034b0d020b200641013a00000b2000410036020820004280808080c0003702000c010b200a28000421092001200a410c6a3602002001200841746a360204200a280008210841002d00b8bfd380001a413041002802b0bfd3800011828080800000220a450d01200a2008360208200a2009360204200a200b3602002003410136020c2003200a360208200341043602040240200720044f0d00200420056b210b4114210841012102034002400240200128020422044104490d0020012004417c6a220736020420012001280200220541046a36020020074104490d00200528000021092001200441786a22073602042001200541086a360200200741034b0d010b200641013a00000c020b200528000421072001200441746a36020420012005410c6a36020020052800082104024020022003280204470d00200341046a200241014104410c10948a8080002003280208210a0b200a20086a220520043602002005417c6a2007360200200541786a20093602002003200241016a220236020c2008410c6a2108200b2002470d000b0b20002003290204370200200041086a200341046a41086a2802003602000b200341106a2480808080000f0b41044130200210ae80808000000bb80404027f017e047f037e200220016b22044105762205ad42307e2206a72107410021080240024002402006422088a70d00200741f0ffffff074b0d0041002108024020070d00411021094100210a0c030b41002d00b8bfd380001a200741002802b0bfd380001182808080000022090d01411021080b20082007200310ae80808000000b2005210a0b024020012002460d0041002108024020054101460d00200541feffff3f712103410021082009210720012102034020072002290000370000200241086a2900002106200241106a290000210b200241186a290000210c200741286a4200370300200741206a42808080808080808010370300200741186a200c370000200741106a200b370000200741086a2006370000200241386a2900002106200241306a290000210b200241286a290000210c200241206a290000210d200741d8006a4200370300200741d0006a42808080808080808010370300200741306a200d370000200741386a200c370000200741c0006a200b370000200741c8006a2006370000200741e0006a2107200241c0006a21022003200841026a2208470d000b0b02402004412071450d002009200841306c6a2207200120084105746a2202290000370000200241086a2900002106200241106a290000210b200241186a290000210c20074200370328200742808080808080808010370320200741186a200c370000200741106a200b370000200741086a20063700000b200521080b20002008360208200020093602042000200a3602000bcb14010f7f23808080800041d0006b220324808080800002400240024002400240024002400240024002400240024002400240024002400240024020012802082204450d0020012004417f6a220536020802402001280200220641016a2207200128020422086a2209410e4b0d002001200736020020060e0e02030405060708090a0b0c0d0e0f010b2001410e3602000b2000410036020820004280808080103702000c0f0b200341c8006a41002900f891c58000370300200341c0006a41002900f091c58000370300200341386a41002900e891c58000370300200341002900e091c58000370330200341106a21010c0d0b200341c8006a41002900ea92c58000370300200341c0006a41002900e292c58000370300200341386a41002900da92c58000370300200341002900d292c58000370330200341106a21010c0c0b200341c8006a410029008a93c58000370300200341c0006a410029008293c58000370300200341386a41002900fa92c58000370300200341002900f292c58000370330200341106a21010c0b0b200341c8006a41002900aa93c58000370300200341c0006a41002900a293c58000370300200341386a410029009a93c580003703002003410029009293c58000370330200341106a21010c0a0b200341c8006a41002900ca93c58000370300200341c0006a41002900c293c58000370300200341386a41002900ba93c58000370300200341002900b293c58000370330200341106a21010c090b200341c8006a41002900ea93c58000370300200341c0006a41002900e293c58000370300200341386a41002900da93c58000370300200341002900d293c58000370330200341106a21010c080b200341c8006a410029008a94c58000370300200341c0006a410029008294c58000370300200341386a41002900fa93c58000370300200341002900f293c58000370330200341106a21010c070b200341c8006a41002900aa94c58000370300200341c0006a41002900a294c58000370300200341386a410029009a94c580003703002003410029009294c58000370330200341106a21010c060b200341c8006a41002900ca94c58000370300200341c0006a41002900c294c58000370300200341386a41002900ba94c58000370300200341002900b294c58000370330200341106a21010c050b200341c8006a41002900ea94c58000370300200341c0006a41002900e294c58000370300200341386a41002900da94c58000370300200341002900d294c58000370330200341106a21010c040b200341c8006a410029008a95c58000370300200341c0006a410029008295c58000370300200341386a41002900fa94c58000370300200341002900f294c58000370330200341106a21010c030b200341c8006a41002900aa95c58000370300200341c0006a41002900a295c58000370300200341386a410029009a95c580003703002003410029009295c58000370330200341106a21010c020b200341c8006a41002900ca95c58000370300200341c0006a41002900c295c58000370300200341386a41002900ba95c58000370300200341002900b295c58000370330200341106a21010c010b200341c8006a41002900ea95c58000370300200341c0006a41002900e295c58000370300200341386a41002900da95c58000370300200341002900d295c58000370330200341106a21010b20012003290330370000200141186a220a200341306a41186a290300370000200141106a220b200341306a41106a290300370000200141086a220c200341306a41086a29030037000041002d00b8bfd380001a2005410e20096b220720052007491b22074103200741034b1b41016a410420051b2207410574220941002802b0bfd3800011828080800000220d450d01200d2001290000370000200d41186a200a290000370000200d41106a200b290000370000200d41086a200c2900003700002003200d360204200320073602002003410136020802402005450d002003410f6a41016a21052004417e6a2107410020046b210e410c200820066a220f6b2109200341306a41186a2108200341306a41106a210a200341306a41086a210b41202102410121010340200f20016a41016a410e4b0d0102400240024002400240024002400240024002400240024002400240200620016a417f6a0e0d000102030405060708090a0b0c0f0b200841002900ea92c58000370300200a41002900e292c58000370300200b41002900da92c58000370300200341002900d292c580003703300c0c0b2008410029008a93c58000370300200a410029008293c58000370300200b41002900fa92c58000370300200341002900f292c580003703300c0b0b200841002900aa93c58000370300200a41002900a293c58000370300200b410029009a93c580003703002003410029009293c580003703300c0a0b200841002900ca93c58000370300200a41002900c293c58000370300200b41002900ba93c58000370300200341002900b293c580003703300c090b200841002900ea93c58000370300200a41002900e293c58000370300200b41002900da93c58000370300200341002900d293c580003703300c080b2008410029008a94c58000370300200a410029008294c58000370300200b41002900fa93c58000370300200341002900f293c580003703300c070b200841002900aa94c58000370300200a41002900a294c58000370300200b410029009a94c580003703002003410029009294c580003703300c060b200841002900ca94c58000370300200a41002900c294c58000370300200b41002900ba94c58000370300200341002900b294c580003703300c050b200841002900ea94c58000370300200a41002900e294c58000370300200b41002900da94c58000370300200341002900d294c580003703300c040b2008410029008a95c58000370300200a410029008295c58000370300200b41002900fa94c58000370300200341002900f294c580003703300c030b200841002900aa95c58000370300200a41002900a295c58000370300200b410029009a95c580003703002003410029009295c580003703300c020b200841002900ca95c58000370300200a41002900c295c58000370300200b41002900ba95c58000370300200341002900b295c580003703300c010b200841002900ea95c58000370300200a41002900e295c58000370300200b41002900da95c58000370300200341002900d295c580003703300b20052003290330370000200541186a220c2008290300370000200541106a2210200a290300370000200541086a2211200b290300370000024020012003280200470d002003200141012007200920072009491b41016a200e20016a41026a4101461b4101412010948a8080002003280204210d0b200d20026a22042005290000370000200441186a200c290000370000200441106a2010290000370000200441086a20112900003700002003200141016a22013602082007417f6a21072009417f6a2109200241206a2102200e20016a0d000b0b20002003290200370200200041086a200341086a2802003602000b200341d0006a2480808080000f0b41012009200210ae80808000000b9609020a7f067e23808080800041f0026b22032480808080000240024020012802c402220420012802c0022205460d00200541d0006c210602400340200521070240200120066a220841386a28020022054103460d0020054104460d022001200741016a3602c00241002d00b8bfd380001a0240024041c00241002802b0bfd38000118280808000002206450d002006200536023820062008290300370300200641306a200841306a290300370300200641286a200841286a290300370300200641206a200841206a290300370300200641186a200841186a290300370300200641106a200841106a290300370300200641086a200841086a29030037030020062008413c6a29020037023c200641c4006a200841c4006a290200370200200641cc006a200841cc006a2802003602002003410136020c2003200636020820034104360204200341106a200141c80210e9968080001a20032802d402220520032802d0022202460d012005417f6a2109200341d8026a41086a210a200341d8026a41106a210b4101210c0340200341106a200241d0006c6a21082002210703400240200841386a28020022014103460d00024020014104460d002003200741016a22023602d002200a200841c4006a290200370300200b200841cc006a28020036020020032008413c6a2902003703d8020240200c2003280204470d00200341046a200c4101410841d00010948a808000200328020821060b200841206a290300210d200841286a290300210e200841306a290300210f200841186a2903002110200841106a2903002111200841086a29030021122006200c41d0006c6a2204200829030037030020042001360238200441086a2012370300200441106a2011370300200441186a2010370300200420032903d80237023c200441306a200f370300200441286a200e370300200441206a200d370300200441c4006a200a290300370200200441cc006a200b2802003602002003200c41016a220c36020c20092007470d030c050b2003200741016a3602d0022005417f6a22062007460d040340024020084188016a2802004103460d000240200841f0006a280200450d00200841f4006a28020041002802a8bfd38000118080808000000b200841fc006a280200450d0020084180016a28020041002802a8bfd38000118080808000000b200841d0006a210820072006417f6a2206470d000c050b0b200841d0006a21082005200741016a2207470d000c030b0b0b410841c002200210ae80808000000b20002003290204370200200041086a200341046a41086a2802003602000c040b200641d0006a21062004200741016a2205470d000b0b200041003602082000428080808080013702002001200741016a3602c0022004417f6a22062007460d010340024020084188016a2802004103460d000240200841f0006a280200450d00200841f4006a28020041002802a8bfd38000118080808000000b200841fc006a280200450d0020084180016a28020041002802a8bfd38000118080808000000b200841d0006a210820072006417f6a2206470d000c020b0b200041003602082000428080808080013702000b200341f0026a2480808080000bb20703017f017e067f23808080800041b0046b2203248080808000200341e4006a2001109d8a8080000240024002402003280264418080808078460d00200341b4036a200341e4006a41186a41fc0010e9968080001a200341186a41186a200341b4036a108b86808000200341186a41086a200341e4006a41086a290200370300200341186a41106a200341e4006a41106a2902003703002003200329026422043703182004a7418080808078470d010b2000410036020820004280808080c000370200200110908b8080000c010b200128022041016a2205417f20051b22054104200541044b1b2206ad42247e2204a7210541002107024002402004422088a70d00200541fcffffff074b0d00024020050d0041042108410021060c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022080d01410421070b20072005200210ae80808000000b20082003290318370200200841206a200341186a41206a280200360200200841186a200341186a41186a290300370200200841106a200341186a41106a290300370200200841086a200341186a41086a29030037020020034101360214200320083602102003200636020c200341c0006a41206a200141206a280200360200200341c0006a41186a200141186a290200370300200341c0006a41106a200141106a290200370300200341c0006a41086a200141086a29020037030020032001290200370340200341a0026a200341c0006a109d8a808000024020032802a002418080808078460d00200341a0026a41186a2109200341f8016a41186a210641242105410121020340200341b4036a200941fc0010e9968080001a2006200341b4036a108b86808000200341f8016a41086a2207200341a0026a41086a290200370300200341f8016a41106a220a200341a0026a41106a290200370300200320032902a00222043703f8012004a7418080808078460d0102402002200328020c470d002003410c6a2002200328026041016a2201417f20011b4104412410948a808000200328021021080b200820056a220120032903f801370200200141206a200341f8016a41206a280200360200200141186a2006290300370200200141106a200a290300370200200141086a20072903003702002003200241016a2202360214200541246a2105200341a0026a200341c0006a109d8a80800020032802a002418080808078470d000b0b200341c0006a10908b808000200041086a2003410c6a41086a2802003602002000200329020c3702000b200341b0046a2480808080000b8b0303047f017e067f23808080800041206b2204248080808000410021054100200220016b2206200620024b1b2207ad420c7e2208a72109024002402008422088a70d00200941fcffffff074b0d0041002106024020090d004104210a410021070c020b41002d00b8bfd380001a200941002802b0bfd3800011828080800000220a0d01410421050b20052009200310ae80808000000b0240200120024f0d00200120026b210b200a2102410021060340200441086a200120066a108788808000200441146a200428020c220c2004280210220d108c8480800041002109410121054100210302402004280214220e418080808078460d00200c200d4100280280bdd38000118b8080800000200428021c210920042802182105200e21030b02402004280208450d00200c41002802a8bfd38000118080808000000b200241086a2009360200200241046a2005360200200220033602002002410c6a2102200b200641016a22066a0d000b0b200020063602082000200a36020420002007360200200441206a2480808080000bd71201047f23808080800041c0006b2202248080808000024002400240024002400240024002400240024002400240024002400240024020002d00000e0f000102030405060708090a0b0c0d0e000b2002200041046a36020441012103200128021c220041a8f2c5800041052001280220220428020c2205118180808000000d0e0240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d10200241046a200110c988808000450d010c100b200041bcc4c0800041022005118180808000000d0f41012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10c9888080000d0f200228023441b6c4c080004102200228023828020c118180808000000d0f0b200128021c41bec4c080004101200128022028020c1181808080000021030c0e0b200128021c41adf2c58000410c200128022028020c1181808080000021030c0d0b200128021c41b9f2c580004109200128022028020c1181808080000021030c0c0b2002200041046a36020441012103200128021c220041c2f2c5800041062001280220220428020c2205118180808000000d0b0240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d0d200241046a200110cb88808000450d010c0d0b200041bcc4c0800041022005118180808000000d0c41012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10cb888080000d0c200228023441b6c4c080004102200228023828020c118180808000000d0c0b200128021c41bec4c080004101200128022028020c1181808080000021030c0b0b200128021c41c8f2c580004111200128022028020c1181808080000021030c0a0b200128021c41d9f2c58000410b200128022028020c1181808080000021030c090b200128021c41e4f2c580004110200128022028020c1181808080000021030c080b410121032002200041016a360204200128021c220041f4f2c5800041052001280220220428020c2205118180808000000d070240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d09200241046a200110c588808000450d010c090b200041bcc4c0800041022005118180808000000d0841012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10c5888080000d08200228023441b6c4c080004102200228023828020c118180808000000d080b200128021c41bec4c080004101200128022028020c1181808080000021030c070b410121032002200041016a360204200128021c220041f9f2c58000410a2001280220220428020c2205118180808000000d060240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d08200241046a200110988d808000450d010c080b200041bcc4c0800041022005118180808000000d0741012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10988d8080000d07200228023441b6c4c080004102200228023828020c118180808000000d070b200128021c41bec4c080004101200128022028020c1181808080000021030c060b410121032002200041016a360204200128021c22004183f3c58000410d2001280220220428020c2205118180808000000d050240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d07200241046a200110bb88808000450d010c070b200041bcc4c0800041022005118180808000000d0641012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10bb888080000d06200228023441b6c4c080004102200228023828020c118180808000000d060b200128021c41bec4c080004101200128022028020c1181808080000021030c050b200128021c4190f3c580004109200128022028020c1181808080000021030c040b200128021c4199f3c58000410a200128022028020c1181808080000021030c030b200128021c41a3f3c58000410b200128022028020c1181808080000021030c020b200128021c41aef3c58000410e200128022028020c1181808080000021030c010b410121032002200041016a360204200128021c220041bcf3c5800041042001280220220428020c2205118180808000000d000240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d02200241046a200110d28a808000450d010c020b200041bcc4c0800041022005118180808000000d0141012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10d28a8080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200128021c41bec4c080004101200128022028020c1181808080000021030b200241c0006a24808080800020030bb70101047f200020002802082202200028020c20026b4102762202200120022001491b22034102746a360208410021040240200220014f0d00200120036b2201450d0020002000280204220336020c2003200028020022056b41027621020240024020032005470d00200120022001200220014922041b22036b410020041b21040c010b03402002200120022001491b210341002104200220014f0d01200120036b22010d000b0b2000200520034102746a3602080b20040bd10304027f017e057f027e23808080800041306b22022480808080000240024020012802002203450d0020002903002104200128020421050340200341d4006a210620032f01e20122074103742101417f210820032100024002400340024020010d00200721080c020b4190abc580002000410810ed968080002109200141786a2101200841016a21082006410c6a2106200041086a2100417f200941004720094100481b22094101460d000b200941ff0171450d010b2005450d022005417f6a2105200320084102746a41e4016a28020021030c010b0b200641046a28020041074b0d01200241056a41002f0194abc580003b0000200241013a0000200241f0e0003b000720024100280190abc5800036000141a4acc58000412d20024194acc5800041d4acc5800010a481808000000b4198abc5800041284184acc58000108b81808000000b2006280200290000210a20024284c1c7b7cda097febb7f3700182002429fbf94a8c1ded8e64f370010200242ebe5e9f6a0afd08944370008200242f087979bfcb996ebf100370000200241206a2002412010ba838080002002290328210b20022802202101200241306a2480808080004101200b200458410174410220011b2004200a42b0ea017c561b0bc90302087f027e23808080800041306b22022480808080000240024020012802002203450d00200128020421040340200341d4006a210520032f01e20122064103742101417f210720032108024002400340024020010d00200621070c020b4190abc580002008410810ed968080002109200141786a2101200741016a21072005410c6a2105200841086a2108417f200941004720094100481b22094101460d000b200941ff0171450d010b2004450d022004417f6a2104200320074102746a41e4016a28020021030c010b0b200541046a28020041074b0d01200241056a41002f0194abc580003b0000200241013a0000200241f0e0003b000720024100280190abc5800036000141a4acc58000412d20024194acc5800041f4acc5800010a481808000000b4198abc58000412841e4acc58000108b81808000000b2005280200290000210a20024284c1c7b7cda097febb7f3700182002429fbf94a8c1ded8e64f370010200242ebe5e9f6a0afd08944370008200242f087979bfcb996ebf100370000200241206a2002412010ba838080002002290328210b20022802202101200042013703002000200b420020011b220b200a200b200a561b370308200241306a2480808080000b0900200041003602000b0900200041013602000b880601077f23808080800041c0006b220124808080800020014106360210200141e6adc5800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241e6adc58000360200200241046a410636020041e6adc58000410610bc91808000450d0141002d00b8bfd380001a41c00041002802b0bfd380001182808080000022030d02410841c00010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236021c200141d0c5cb800036021820014201370224200141b980808000ad4220862001410c6aad843703302001200141306a360220200141186a41e0c5cb800010f280808000000b2003418a81808000360238200342a88d8de795a6a89a6f3703302003429be990aad1c1cdff5c37032820034101360224200341edadc580003602202003418c81808000360218200342cabefaafb4e8da84f500370310200342d6c6e8afe48cb0c3b37f37030820034101360204200341ecadc5800036020020014102360220200120033602182001200341c0006a3602242001200336021c200141306a200141186a41bccec2800010b08b8080002001280238210420012802342103200128023021052001410036022020014280808080c000370218200141306a200141186a41eeadc580004102109b858080002001410c6a200141306a41f0adc58000410310988580800020012802142106200128021021072001200128020c3602202001200736021820012007200641246c6a3602242001200736021c200141306a200141186a41bccec2800010af8b80800020012005360220200120033602182001200320044105746a3602242001200336021c200041c4006a200141186a41a892c4800010b08b808000200141236a200141306a41086a28020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129023037001b20002001290018370001200041086a2001411f6a290000370000200141c0006a2480808080000b8a0601077f23808080800041c0006b220124808080800020014106360210200141e6adc5800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241e6adc58000360200200241046a410636020041e6adc58000410610bc91808000450d0141002d00b8bfd380001a41c00041002802b0bfd380001182808080000022030d02410841c00010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236021c200141d0c5cb800036021820014201370224200141b980808000ad4220862001410c6aad843703302001200141306a360220200141186a41e0c5cb800010f280808000000b2003418481808000360238200342cca2f7a9c98cb281c400370330200342b1c39a89aa9fd69cc20037032820034101360224200341edadc58000360220200341e780808000360218200342d9d1a5958acddccda77f370310200342bb82a2f99fad8c91c10037030820034101360204200341ecadc5800036020020014102360220200120033602182001200341c0006a3602242001200336021c200141306a200141186a41bccec2800010b08b8080002001280238210420012802342103200128023021052001410036022020014280808080c000370218200141306a200141186a41eeadc580004102109f858080002001410c6a200141306a41f0adc58000410310e48580800020012802142106200128021021072001200128020c3602202001200736021820012007200641246c6a3602242001200736021c200141306a200141186a41bccec2800010af8b80800020012005360220200120033602182001200320044105746a3602242001200336021c200041c4006a200141186a41a892c4800010b08b808000200141236a200141306a41086a28020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129023037001b20002001290018370001200041086a2001411f6a290000370000200141c0006a2480808080000b870601077f23808080800041c0006b220124808080800020014106360210200141e6adc5800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241e6adc58000360200200241046a410636020041e6adc58000410610bc91808000450d0141002d00b8bfd380001a41c00041002802b0bfd380001182808080000022030d02410841c00010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236021c200141d0c5cb800036021820014201370224200141b980808000ad4220862001410c6aad843703302001200141306a360220200141186a41e0c5cb800010f280808000000b2003418a81808000360238200342a88d8de795a6a89a6f3703302003429be990aad1c1cdff5c37032820034101360224200341edadc580003602202003418281808000360218200342ac84afa0eaa7faab01370310200342d1f3edc2da85aa849d7f37030820034101360204200341ecadc5800036020020014102360220200120033602182001200341c0006a3602242001200336021c200141306a200141186a41bccec2800010b08b8080002001280238210420012802342103200128023021052001410036022020014280808080c000370218200141306a200141186a41eeadc580004102108b858080002001410c6a200141306a41f0adc58000410310988580800020012802142106200128021021072001200128020c3602202001200736021820012007200641246c6a3602242001200736021c200141306a200141186a41bccec2800010af8b80800020012005360220200120033602182001200320044105746a3602242001200336021c200041c4006a200141186a41a892c4800010b08b808000200141236a200141306a41086a28020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129023037001b20002001290018370001200041086a2001411f6a290000370000200141c0006a2480808080000b8a0601077f23808080800041c0006b220124808080800020014106360210200141e6adc5800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241e6adc58000360200200241046a410636020041e6adc58000410610bc91808000450d0141002d00b8bfd380001a41c00041002802b0bfd380001182808080000022030d02410841c00010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236021c200141d0c5cb800036021820014201370224200141b980808000ad4220862001410c6aad843703302001200141306a360220200141186a41e0c5cb800010f280808000000b2003418781808000360238200342acf6debeefe0d9c8d300370330200342efc9c9edb5e7b3a6c70037032820034101360224200341edadc58000360220200341e780808000360218200342d9d1a5958acddccda77f370310200342bb82a2f99fad8c91c10037030820034101360204200341ecadc5800036020020014102360220200120033602182001200341c0006a3602242001200336021c200141306a200141186a41bccec2800010b08b8080002001280238210420012802342103200128023021052001410036022020014280808080c000370218200141306a200141186a41eeadc580004102109f858080002001410c6a200141306a41f0adc58000410310948580800020012802142106200128021021072001200128020c3602202001200736021820012007200641246c6a3602242001200736021c200141306a200141186a41bccec2800010af8b80800020012005360220200120033602182001200320044105746a3602242001200336021c200041c4006a200141186a41a892c4800010b08b808000200141236a200141306a41086a28020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129023037001b20002001290018370001200041086a2001411f6a290000370000200141c0006a2480808080000ba80401097f23808080800041306b220124808080800020012000200010a78c8080000240024020012802102202418080808078460d002001280224210320012802202104200128021c210520012802142106024020012802182200450d002000410171210741002108024020004101460d002000417e7121092006210041002108034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002009200841026a2208470d000b0b2007450d0020062008410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b02402002450d00200641002802a8bfd38000118080808000000b02402003450d002003410171210241002108024020034101460d002003417e7121092004210041002108034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002009200841026a2208470d000b0b2002450d0020042008410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b02402005450d00200441002802a8bfd38000118080808000000b410221000c010b20012f010020012d000241107472220041087621080b200141306a2480808080002008410874200041ff0171720bad0601087f2380808080004190016b22032480808080000240024002400240024020022d0000410b470d00200228020c210420022802082102200342f7b6fccfd083b2cf4d37008801200342afd2c6ffdbc495bc0837008001200342fc90b9e5d09296e777370078200342a6d4e6f1a4dd959860370070200341cc006a200341f0006a4120108e84808000024020032d004c22054102470d00200341086a410810fc878080000c010b2003412b6a410a6a200341cc006a410a6a2900003700002003412b6a41126a200341cc006a41126a2900003700002003412b6a41196a200341cc006a41196a2900003700002003200329004e37002d200320032d004d3a002c200320053a002b200341cc006a200220044100280288bfd3800011858080800000200341cc006a2003412c6a412010ed96808000450d01200341086a410910fc878080000b2000418080808078360210200041003b01000c010b200341256a2003412b6a41206a2d00003a0000200341046a41196a200341c3006a290000370000200341156a2003413b6a2900003700002003410d6a200341336a2900003700002003200329002b37000541002d00b8bfd380001a410c41002802b0bfd38000118280808000002204450d0220034100360254200342808080801037024c41002d00b8bfd380001a412041002802b0bfd38000118280808000002202450d0120022003290106370000200241186a22062003411e6a290100370000200241106a2207200341166a290100370000200241086a22082003410e6a290100370000200341cc006a4100412010fc908080002003280250200341cc006a41086a2209280200220a6a22052002290000370000200541086a2008290000370000200541106a2007290000370000200541186a20062900003700002009200a41206a360200200241002802a8bfd3800011808080800000200441086a20092802003602002004200329024c370200200041086a427f3703002000427f370300200041013a00282000410136022420002004360220200042808080801037031820004280808080c0003703100b20034190016a2480808080000f0b4101412010b980808000000b4104410c10b980808000000b9e0602017f097e23808080800041b0016b220524808080800002400240024020002903002206420285200041086a290300220784500d00200041286a290300210820002903202109200541186a200041c8006a290000370300200541106a200041c0006a290000370300200541086a200041386a29000037030020052000290030370300200041186a290300210a2000290310210b200541d0006a2002200110ab90808000200541d0006a2003200529035020052903582009200820012d002120022d00187241017120012d002010ca8a8080004200210c4200210d02402005280250410171450d00427f427f200541d0006a41186a290300220d200541d0006a41286a2903007c2005290360220c20052903707c220e200c542200ad7c220c2000200c200d54200c200d511b22001b220d200541d0006a41386a2903007c427f200e20001b220c2005290380017c220e200c542200ad7c220c2000200c200d54200c200d511b22001b210d427f200e20001b210c0b200520012002427f200c2005290390017c220e200e200c542200200d200541d0006a41c8006a2903007c2000ad7c220c200d54200c200d511b22001b220d427f200c20001b220c2009200820062007200b200a109688808000220041ff01714102470d02200541c8006a200541186a2903002206370000200541c0006a200541106a290300370000200541386a200541086a29030037000020052005290300370030200541e1006a200541216a41106a290000370000200541e9006a200541216a41186a290000370000200541f1006a200541c1006a290000370000200541f8006a2006370000200520083703980120052009370390012005200c370388012005200d370380012005411a3a0050200520052900213700512005200541216a41086a29000037005941014100200541d0006a10a98c8080004200210d420021080c010b2000290318210d200029031021080b4102210020022802004101470d002002420020022903102209200d7d220d200d2009561b370310200242002002290308220d20087d22082008200d561b3703080b200541b0016a248080808000200041ff0171418002720bc90501087f23808080800041b0016b2203248080808000200342d3d8c5d2a9b9d2c1ac7f37003820034282ca868eabf3add0cf00370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341186a200341206a4120108a8480800002402003280218410171450d00200328021c2204450d0020034293bb8a9cbb9ab6b31a370038200342ffabedd185d3d8d216370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341106a200341206a41201085848080002001410574210541002106024002400240200141ffffff3f4b0d004100210720054100480d002003280214210820032802102109410121062005450d0241002d00b8bfd380001a200541002802b0bfd380001182808080000022060d01410121060b2006200541c0f1c5800010ae80808000000b200121070b20062000200510e996808000210a200342b7aeb183f6f8ab9cd0003700382003428ab0f6f7cbd3f9e2d800370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd959860370020200341086a200341206a4120108a848080000240200328020c410020032802084101711b2206417f460d00200342b7aeb183f6f8ab9cd0003700382003428ab0f6f7cbd3f9e2d800370030200342fc90b9e5d09296e777370028200342a6d4e6f1a4dd9598603700202003200641016a3602ac01200341206a4120200341ac016a410441002802c8bdd3800011838080800000200341206a200241e00010e9968080001a200320083602900120034102200920094103461b36028c0120032001360288012003200a360284012003200736028001200341206a1093898080002001450d01034020032006360224200320043602202000200341206a108d88808000200041206a2100200541606a22050d000c020b0b2007450d00200a41002802a8bfd38000118080808000000b200341b0016a2480808080000b950503067f017e017f23808080800041c0006b22012480808080002001410c6a41186a41f3adc58000411841b4e6c58000411a4104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241ecadc5800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c2104200128021021052001280214210620012902282107200128022421082001410036021420014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220242c8dc9cd4d6b4aa864b3703002002420437022c2002420c370224200241ddbfc28000360220200241003602182002419381808000360210200242979ccdaaf0e5eac138370308200128021021022001200128020c3602142001200236020c2001200241386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002008418080808078460d01200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b41f0e1c1800041114184e2c18000108b81808000000bfb3003077f017e037f23808080800041e0046b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012d00282203417c6a41042003417b6a41ff01714105491b417f6a0e050001020304000b200128022c2103200241186a41206a200141206a2204290200370300200241186a41186a200141186a2205290200370300200241186a41106a200141106a2206290200370300200241186a41086a200141086a2207290200370300200220033602402002200129020037031802404199c2c88000411310bb90808000220841fe014b0d002002200841016a360280034199c2c88000411320024180036a410441002802c8bdd380001183808080000041002802d0bdd38000118e808080000020024180036a41206a200429020037030020024180036a41186a200529020037030020024180036a41106a200629020037030020024180036a41086a2007290200370300200220012902003703800320024180026a20024180036a10a78a80800020022d0080022201410f470d0520024180036a200341f00010e9968080001a41002d00b8bfd380001a411041002802b0bfd38000118280808000002201450d0e2001428180808010370200200141d0c5c3800036020c20014101360208200241003a008402200220013602800241002d00b8bfd380001a411041002802b0bfd38000118280808000002204450d0f200441b8c5c3800036020c20044101360208200442818080801037020020012001280200417f6a2205360200024020050d0020024180026a10cd8b8080000b200241b0046a41086a20024180026a41086a290200370300200241b0046a41106a20024180026a41106a290200370300200241b0046a41186a20024180026a41186a290200370300200241b0046a41206a20024180026a41206a290200370300200220043602800220022002290280023703b004200241e8006a20024180036a200241b0046a10d28780800042022109410f2101024020022903684202510d00200241b8016a41086a20024191016a290000370300200241c7016a20024198016a28000036000020022002290089013703b80120022d00880121010b20024191036a200241b8016a41086a29030037000020024180036a41186a200241c7016a280000360000200220013a008803200241003a008403200241193a008003200220022903b801370089034101410020024180036a10a98c808000200341002802a8bfd38000118080808000004100280290bdd38000118e8080800000200241df046a10ac9080800020024184036a20022f01f4033b0100200220022802f00336028003200041013a0020200041003a0018200042003703080c070b200228021822012001280200417f6a2201360200024020010d00200241186a10cd8b808000200228024021030b200310ac8c80800041002104200341002802a8bfd3800011808080800000410921010c050b20012802402103200241186a41206a200141206a2204290200370300200241186a41186a200141186a2205290200370300200241186a41106a200141106a2206290200370300200241186a41086a200141086a2207290200370300200220033602402002200129020037031802404199c2c88000411310bb90808000220841fe014b0d002002200841016a360280034199c2c88000411320024180036a410441002802c8bdd380001183808080000041002802d0bdd38000118e808080000020024180036a41206a200429020037030020024180036a41186a200529020037030020024180036a41106a200629020037030020024180036a41086a2007290200370300200220012902003703800320024180026a20024180036a10a78a80800020022d0080022201410f470d0720024180036a200341f00010e9968080001a41002d00b8bfd380001a411041002802b0bfd38000118280808000002201450d0f2001428180808010370200200141d0c5c3800036020c20014101360208200241003a008402200220013602800241002d00b8bfd380001a411041002802b0bfd38000118280808000002204450d10200441b8c5c3800036020c20044101360208200442818080801037020020012001280200417f6a2205360200024020050d0020024180026a10cd8b8080000b200241b0046a41086a20024180026a41086a290200370300200241b0046a41106a20024180026a41106a290200370300200241b0046a41186a20024180026a41186a290200370300200241b0046a41206a20024180026a41206a290200370300200220043602800220022002290280023703b004200241e8006a20024180036a200241b0046a10d28780800042022109410f2101024020022903684202510d00200241d0016a41086a20024191016a290000370300200241df016a20024198016a28000036000020022002290089013703d00120022d00880121010b20024191036a200241d0016a41086a29030037000020024180036a41186a200241df016a280000360000200220013a008803200241003a008403200241193a008003200220022903d001370089034101410020024180036a10a98c808000200341002802a8bfd38000118080808000004100280290bdd38000118e8080800000200241df046a10ac9080800020024184036a20022f01f4033b0100200220022802f00336028003200041013a0020200041003a0018200042003703080c090b200228021822012001280200417f6a2201360200024020010d00200241186a10cd8b808000200228024021030b200310ac8c80800041002104200341002802a8bfd3800011808080800000410921010c070b200128023021042001280234210520012d002c2103200241e8006a41206a200141206a2207290200370300200241e8006a41186a200141186a2208290200370300200241e8006a41106a200141106a220a290200370300200241e8006a41086a200141086a220b29020037030020024193016a2001412f6a2d00003a0000200241a4016a200141c0006a290200370200200241ac016a200141c8006a290200370200200220033a0090012002200536029801200220043602940120022001290200370368200220012f002d3b0091012002200129023837029c01024002400240024002404199c2c88000411310bb90808000220c41fe014b0d00410121062002200c41016a360280034199c2c88000411320024180036a410441002802c8bdd380001183808080000041002802d0bdd38000118e808080000020024180036a41206a200729020037030020024180036a41186a200829020037030020024180036a41106a200a29020037030020024180036a41086a200b2902003703002002200129020037038003200241186a20024180036a10a78a808000024020022d00182208410f470d0020030e030e0402040b200241f0016a200241226a290100370300200241f8016a2002412a6a2f01003b01002002200229011a3703e80120022d00192107024020034102460d00200821060c040b2008210620040d020c030b200228026822012001280200417f6a2201360200024020010d00200241e8006a10cd8b80800020022d00900121030b0240200341ff01714102470d00200228029401450d0020022802980141002802a8bfd38000118080808000000b41002107410921060c030b410121062004450d010b200541002802a8bfd38000118080808000000b41002802b8bdd38000118e8080800000200241df046a10ac908080000b200020022901ee01370028200041003a001842002109200042003703082000200228000a360019200020073a0021200020063a0020200041306a200241f6016a2901003700002000411c6a2002410d6a2800003600000c090b200241e0006a200141286a220341206a280200360200200241d8006a200341186a290200370300200241d0006a200341106a290200370300200241c8006a200341086a29020037030020022003290200370340200128024c2103200241186a41086a200141086a2205290200370300200241186a41106a200141106a2206290200370300200241186a41186a200141186a2207290200370300200241186a41206a200141206a220829020037030020022001290200370318200241e8006a200241186a41cc0010e9968080001a200220033602b401024002400240024002404199c2c88000411310bb90808000220a41fe014b0d00410121042002200a41016a360280034199c2c88000411320024180036a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241fc026a41026a20024193016a2d00003a0000200241e0026a41086a200241a4016a290200370300200241e0026a41106a200241ac016a290200370300200220022f0091013b01fc022002200229029c013703e00220022d009001210a200228029401210b200228029801210c20024180036a41206a200829020037030020024180036a41186a200729020037030020024180036a41106a200629020037030020024180036a41086a20052902003703002002200129020037038003200241b0046a20024180036a10a78a8080000240024020022d00b0042205410f470d00200a0e03010503050b200241d0026a200241ba046a290100370300200241d8026a200241c2046a2f01003b0100200220022901b2043703c80220022d00b10421010240200a4102460d00200521040c050b20052104200b0d030c040b20024180036a200341f00010e9968080001a41002d00b8bfd380001a411041002802b0bfd38000118280808000002201450d13200141d0c5c3800036020c200141013602082001428180808010370200200241cd046a200241ed026a290000370000200241c8046a200241e8026a290300370200200241b7046a200241fe026a2d00003a0000200220022903e0023702c0042002200c3602bc04200241013a00b404200220022f01fc023b00b5042002200b3602b804200220013602b00441002d00b8bfd380001a411041002802b0bfd38000118280808000002204450d14200441b8c5c3800036020c20044101360208200442818080801037020020012001280200417f6a2205360200024020050d00200241b0046a10cd8b8080000b200241f0036a41086a200241b0046a41086a290200370300200241f0036a41106a200241b0046a41106a290200370300200241f0036a41186a200241b0046a41186a290200370300200241f0036a41206a200241b0046a41206a290200370300200220043602b004200220022902b0043703f00320024180026a20024180036a200241f0036a10d28780800042022109410f210102402002290380024202510d0020024198046a41086a200241a9026a290000370300200241a7046a200241b0026a280000360000200220022900a1023703980420022d00a00221010b20024191036a20024198046a41086a29030037000020024180036a41186a200241a7046a280000360000200220013a008803200241193a008003200220022903980437008903200241033a0084034101410020024180036a10a98c808000200341002802a8bfd38000118080808000004100280290bdd38000118e8080800000200241df046a10ac9080800020022002280011360280032002200241116a41036a28000036008303200041003a00182000420037030820002002280280033600192000411c6a200228008303360000200041013a00200c160b200228026822012001280200417f6a2201360200024020010d00200241e8006a10cd8b8080000b024020022d0090014102470d00200228029401450d0020022802980141002802a8bfd38000118080808000000b20022802b401220310ac8c80800041002101200341002802a8bfd3800011808080800000410921040c030b41012104200b450d010b200c41002802a8bfd38000118080808000000b200310ac8c808000200341002802a8bfd380001180808080000041002802b8bdd38000118e8080800000200241df046a10ac908080000b200020022901ce02370028200041306a200241d6026a29010037000020022002280011360280032002200241146a28000036008303200041003a0018420021092000420037030820002002280280033600192000411c6a200228008303360000200020013a0021200020043a00200c110b200241e8006a41206a200141206a2203290200370300200241e8006a41186a200141186a2204290200370300200241e8006a41106a200141106a2205290200370300200241e8006a41086a200141086a22062902003703002002200129020037036802404199c2c88000411310bb90808000220741fe014b0d002002200741016a360280034199c2c88000411320024180036a410441002802c8bdd380001183808080000041002802d0bdd38000118e808080000020024180036a41206a200329020037030020024180036a41186a200429020037030020024180036a41106a200529020037030020024180036a41086a2006290200370300200220012902003703800320024180026a20024180036a10a78a80800020022d0080022201410f460d09200241206a2002418a026a290100370300200241286a20024192026a2f01003b0100200220022901820237031820022d008102210341002802b8bdd38000118e8080800000200241df046a10ac908080000c100b200228026822012001280200417f6a2201360200024020010d00200241e8006a10cd8b8080000b41002103410921010c0f0b200241f8036a2002418a026a29010037030020024180046a20024192026a2f01003b010020022002290182023703f00320022d0081022104200310ac8c808000200341002802a8bfd380001180808080000041002802b8bdd38000118e8080800000200241df046a10ac908080000b200020022901f60337002820024184036a20022f01f4033b0100200041306a200241fe036a290100370000200220022802f00336028003200020043a0021200020013a0020200041003a001842002109200042003703080b200020022802800336002220002009370300200041266a20024184036a2f01003b00000c0e0b200241f8036a2002418a026a29010037030020024180046a20024192026a2f01003b010020022002290182023703f00320022d0081022104200310ac8c808000200341002802a8bfd380001180808080000041002802b8bdd38000118e8080800000200241df046a10ac908080000b200020022901f60337002820024184036a20022f01f4033b0100200041306a200241fe036a290100370000200220022802f00336028003200020043a0021200020013a0020200041003a001842002109200042003703080b200020022802800336002220002009370300200041266a20024184036a2f01003b00000c0b0b200241b0046a41026a2001412d6a220341026a2d00003a0000200241c3046a200141386a220141086a290000370000200241c8046a22062001410d6a290000370000200220053600b704200220043600b304200220032f00003b01b004200220012900003700bb04200242e7adb0ba9bbab2f2fb0037009803200242d39cf0bdba80f2ac1037009003200242a988d1e9f0b7bbcf9c7f37008803200242dc9ac4b0d794dae07937008003200241a1026a20024180036a412010908480800020024189026a200241b0046a41086a29010037000020024191026a200241c0046a29010037000020024180026a41196a2006290100370000200241013a008002200220022901b00437008102200241186a41036a20024180026a41c40010e9968080001a200241193a00800320024180036a410172200241186a41c70010e9968080001a4101410020024180036a10a98c808000200241b0046a108a898080004100280290bdd38000118e8080800000200241df046a10ac90808000200041003a0018200042003703082000200228000a3600192000411c6a2002410a6a41036a280000360000200041013a0020420221090b200020022802e80136002220002009370300200041266a20022f01ec013b00000c090b200241023a008403200241193a0080034101410020024180036a10a98c808000200242e7adb0ba9bbab2f2fb0037009803200242d39cf0bdba80f2ac1037009003200242a988d1e9f0b7bbcf9c7f37008803200242dc9ac4b0d794dae0793700800320024180036a41204100280280bdd38000118b80808000004100280290bdd38000118e8080800000200241df046a10ac90808000200041013a0020200041003a001820004200370308200042023703000c080b4104411010b980808000000b4104411010b980808000000b4104411010b980808000000b4104411010b980808000000b4104411010b980808000000b4104411010b980808000000b200020022802183600222000200229011e370028200041266a20022f011c3b0000200041306a200241266a290100370000200020033a0021200020013a0020200041003a001820004200370308200042003703000c010b200020022802c80236002220002009370300200041266a20022f01cc023b00000b200241e0046a2480808080000ba90c01087f23808080800041306b220124808080800002400240024002400240024002400240024002402000280200220241ffffffff076a2203410120034108491b0e080102090903040500010b20002802084104470d08200028020c450d080c060b0240024002400240024002400240024020002d0008417f6a0e0a010f0203040506070f0f000b200028020c0d0c0c0e0b200028020c0d0b0c0d0b200028020c0d0a0c0c0b200028020c0d090c0b0b2000410c6a10d88b808000200028020c0d080c0a0b20002802102103024020002802142202450d002002410171210441002105024020024101460d002002417e7121062003210241002105034002402002280200450d00200241046a28020041002802a8bfd38000118080808000000b02402002410c6a280200450d00200241106a28020041002802a8bfd38000118080808000000b200241186a21022006200541026a2205470d000b0b2004450d0020032005410c6c6a2202280200450d00200228020441002802a8bfd38000118080808000000b200028020c0d080c090b2000280210450d08200028021421030c070b200028020c0d050c070b02402002418080808078470d0020002802042103410421020c040b02402002450d00200028020441002802a8bfd38000118080808000000b200041d8006a10d98a808000200028023821060240200028023c2203450d002003410171210441002102024020034101460d002003417e7121052006210341002102034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b0240200341106a280200450d00200341146a28020041002802a8bfd38000118080808000000b200341206a21032005200241026a2202470d000b0b2004450d00200620024104746a2203280200450d00200328020441002802a8bfd38000118080808000000b02402000280234450d00200641002802a8bfd38000118080808000000b02400240200028026422030d0041002103410021020c010b2001200336022420014100360220200120033602142001410036021020012000280268220336022820012003360218200028026c2102410121030b2001200236022c2001200336021c2001200336020c2001410c6a10fd8980800020002802442107024020002802482208450d0041002104034002402007200441f0006c6a22062802082202450d00200628020421030340024020032d0000220541034b0d002003200541027441f8f8c580006a2802006a2205280200450d00200541046a28020041002802a8bfd38000118080808000000b200341146a21032002417f6a22020d000b0b02402006280200450d00200628020441002802a8bfd38000118080808000000b200441016a22042008470d000b0b02402000280240450d00200741002802a8bfd38000118080808000000b41cc002102200028024c2203418080808078470d030c060b024002400240024002400240024020002d0010417f6a0e07000102030405060c0b20002d00144102470d0b2000280218450d0b200028021c21030c0a0b024020002d00144102470d002000280218450d00200028021c41002802a8bfd38000118080808000000b20002d00384102470d0a200028023c450d0a200028024021030c090b20002d00144102470d092000280218450d09200028021c21030c080b20002d00144102470d082000280218450d08200028021c21030c070b20002d00144102470d072000280218450d07200028021c21030c060b2000280214450d06200028021821030c050b20002d00144102470d052000280218450d05200028021c21030c040b024002400240024020002d00082203417c6a41042003417b6a41ff01714105491b417f6a0e0400010203080b200028020c220310ac8c8080000c060b2000280220220310ac8c8080000c050b20002d000c4102470d052000280210450d05200028021421030c040b024020034102470d00200028020c450d00200028021041002802a8bfd38000118080808000000b200028022c220310ac8c8080000c030b200028020441808080807872418080808078460d03200028020821030c020b2003450d02200020026a28020421030c010b200028021021030b200341002802a8bfd38000118080808000000b200141306a2480808080000bfe4c05037f017e067f037e037f23808080800041f0056b220224808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012d0028417f6a0e0b000102030405060708090a000b20012802302103200128022c2104200241b0026a41206a200141206a290200370300200241b0026a41186a200141186a290200370300200241b0026a41106a200141106a290200370300200241b0026a41086a200141086a290200370300200220012902003703b002024002404199c2c88000411310bb90808000220141fe014d0d0042002105410921010c010b2002200141016a3602d801410021014199c2c880004113200241d8016a410441002802c8bdd380001183808080000041002802d0bdd38000118e80808000004100280290bdd38000118e8080800000200241ef056a10ac90808000420221050b02402004450d00200341002802a8bfd38000118080808000000b20022802b00222042004280200417f6a2204360200024020040d00200241b0026a10cd8b8080000b200041003a0021200020013a0020200041003a001820004200370308200020053703000c220b200220012903303703b001200241b0026a41206a2204200141206a290200370300200241b0026a41186a2203200141186a290200370300200241b0026a41106a2206200141106a290200370300200241b0026a41086a2207200141086a290200370300200220012902003703b0022002200241b0016a3602d802024002404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602d8014199c2c880004113200241d8016a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241d8016a41206a2004290300370300200241d8016a41186a2003290300370300200241d8016a41106a2006290300370300200241d8016a41086a2007290300370300200220022903b00222053703d8012005a722012001280200417f6a220136020020022d00dc012104024020010d00200241d8016a10cd8b8080000b200441ff0171450d0141002802b8bdd38000118e8080800000200241ef056a10ac9080800042002105410221010c0c0b20022802b00222012001280200417f6a2201360200024020010d00200241b0026a10cd8b8080000b42002105410921010c0b0b4100210141002d00b8bfd380001a410841002802b0bfd380001182808080000022040d094101410810b980808000000b200128022c21042001280230210320012802342106200241ec016a200141086a2207290200370200200241f4016a200141106a2208290200370200200241fc016a200141186a220929020037020020024184026a200141206a220a290200370200200220063602e001200220033602dc01200220043602d801200220012902003702e40102404199c2c88000411310bb90808000220b41fe014b0d002002200b41016a3602b0024199c2c880004113200241b0026a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241b0026a41206a200a290200370300200241b0026a41186a2009290200370300200241b0026a41106a2008290200370300200241b0026a41086a20072902003703002002200129020022053703b0022005a722012001280200417f6a220136020020022d00b4022107024020010d00200241b0026a10cd8b8080000b024002400240200741ff0171450d00410221010c010b41072101024002400240024020032006410110ae8c808000220841766a41ff01712207410220074102491b0e03020100020b200821010b200241b0026a200110fc8780800020022d00b0022201410f470d010b200220063602b801200220033602b401200220043602b001200241b0026a200241b0016a10b58980800020022d00b0022201410f460d0e20024188016a200241ba026a29010037030020024190016a200241c2026a2f01003b0100200220022901b2023703800120022d00b10221060c020b20024188016a200241ba026a29010037030020024190016a200241c2026a2f01003b0100200220022901b2023703800120022d00b10221060b2004450d00200341002802a8bfd38000118080808000000b41002802b8bdd38000118e8080800000200241ef056a10ac908080000c200b20022802e40122012001280200417f6a2201360200024020010d00200241e4016a10cd8b80800020022802d80121040b02402004450d0020022802dc0141002802a8bfd38000118080808000000b41002106410921010c1f0b200128022c21042001280230210320012802342106200241ec016a200141086a2207290200370200200241f4016a200141106a2208290200370200200241fc016a200141186a220929020037020020024184026a200141206a220a290200370200200220063602e001200220033602dc01200220043602d801200220012902003702e40102404199c2c88000411310bb90808000220b41fe014b0d002002200b41016a3602b0024199c2c880004113200241b0026a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241b0026a41206a200a290200370300200241b0026a41186a2009290200370300200241b0026a41106a2008290200370300200241b0026a41086a20072902003703002002200129020022053703b0022005a722012001280200417f6a220136020020022d00b4022107024020010d00200241b0026a10cd8b8080000b0240200741ff01710d00200220063602b801200220033602b401200220043602b001200241b0026a200241b0016a10b58980800020022d00b0022201410f460d0c200241a0016a200241ba026a290100370300200241a8016a200241c2026a2f01003b0100200220022901b2023703980120022d00b10221040c1e0b4102210102402004450d00200341002802a8bfd38000118080808000000b0c1d0b20022802e40122012001280200417f6a2201360200024020010d00200241e4016a10cd8b80800020022802d80121040b02402004450d0020022802dc0141002802a8bfd38000118080808000000b41002104410921010c1d0b200241106a41086a200141346a2802003602002002200129022c370310200241b0026a41206a200141206a2204290200370300200241b0026a41186a200141186a2203290200370300200241b0026a41106a200141106a2206290200370300200241b0026a41086a200141086a2207290200370300200220012902003703b0022002200241106a3602d80202404199c2c88000411310bb90808000220841fe014b0d002002200841016a3602d8014199c2c880004113200241d8016a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241d8016a41206a2004290200370300200241d8016a41186a2003290200370300200241d8016a41106a2006290200370300200241d8016a41086a20072902003703002002200129020022053703d8012005a722012001280200417f6a220136020020022d00dc012104024020010d00200241d8016a10cd8b8080000b0240200441ff0171450d00410221034200210541b8bdd3800021060c1b0b41002103420221054190bdd38000210620022802182204450d1a2004417f6a41ffffffff0171210820022802142207210102402004410171450d00200728020420072802082007280210200728021441002802c8bdd3800011838080800000200741186a21010b2008450d1a2007200441186c6a2104034041002103200128020420012802082001280210200128021441002802c8bdd3800011838080800000200128021c20012802202001280228200128022c41002802c8bdd3800011838080800000200141306a22012004470d000c1b0b0b20022802b00222012001280200417f6a2201360200410921034200210520010d1a200241b0026a10cd8b8080000c1a0b200241206a41086a200141346a2802003602002002200129022c370320200241b0026a41206a200141206a2204290200370300200241b0026a41186a200141186a2203290200370300200241b0026a41106a200141106a2206290200370300200241b0026a41086a200141086a2207290200370300200220012902003703b0022002200241206a3602d80202404199c2c88000411310bb90808000220841fe014b0d002002200841016a3602d8014199c2c880004113200241d8016a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241d8016a41206a2004290200370300200241d8016a41186a2003290200370300200241d8016a41106a2006290200370300200241d8016a41086a20072902003703002002200129020022053703d8012005a722012001280200417f6a220136020020022d00dc012104024020010d00200241d8016a10cd8b8080000b0240200441ff0171450d00410221064200210541b8bdd3800021030c180b41002106420221054190bdd38000210320022802282207450d172007417f6a41ffffffff03712109200228022422082101024020074103712204450d00200821010340200128020420012802084100280280bdd38000118b80808000002001410c6a21012004417f6a22040d000b0b20094103490d1720082007410c6c6a2104034041002106200128020420012802084100280280bdd38000118b8080800000200128021020012802144100280280bdd38000118b8080800000200128021c20012802204100280280bdd38000118b80808000002001280228200128022c4100280280bdd38000118b8080800000200141306a22012004470d000c180b0b20022802b00222012001280200417f6a2201360200410921064200210520010d17200241b0026a10cd8b8080000c170b200241306a41086a200141386a280200360200200220012902303703302002200128022c3602b001200241b0026a41206a2204200141206a290200370300200241b0026a41186a2203200141186a290200370300200241b0026a41106a2206200141106a290200370300200241b0026a41086a2207200141086a290200370300200220012902003703b0022002200241b0016a3602dc022002200241306a3602d80202400240024002404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602d8014199c2c880004113200241d8016a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241d8016a41206a2004290300370300200241d8016a41186a2003290300370300200241d8016a41106a2006290300370300200241d8016a41086a2007290300370300200220022903b00222053703d8012005a722012001280200417f6a220136020020022d00dc012104024020010d00200241d8016a10cd8b8080000b0240200441ff0171450d00410221014200210541b8bdd3800021040c030b41002101200241086a2002280234220620022802382203410120022802b0014100280288bdd3800011878080800000420221054190bdd3800021042002280208450d0241002101024020034100480d00024020030d0041012006200310e9968080001a410021010c040b4100210141002d00b8bfd380001a200341002802b0bfd380001182808080000022070d02410121010b2001200341d0cbc8800010ae80808000000b20022802b00222012001280200417f6a2204360200410921014200210520040d02200241b0026a10cd8b8080000c020b20072006200310e99680800041002802a8bfd38000118080808000000b2004280200118e8080800000200241ef056a10ac908080000b02402002280230450d00200228023441002802a8bfd38000118080808000000b200041003a0021200020013a0020200041003a001820004200370308200020053703000c1c0b200241c0006a41086a200141346a2802003602002002200129022c370340200241d8016a41206a200141206a2204290200370300200241d8016a41186a200141186a2203290200370300200241d8016a41106a200141106a2206290200370300200241d8016a41086a200141086a2207290200370300200220012902003703d8012002200241c0006a3602800202400240024002404199c2c88000411310bb90808000220841fe014b0d002002200841016a3602b0024199c2c880004113200241b0026a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241b0016a41206a2004290200370300200241b0016a41186a2003290200370300200241b0016a41106a2006290200370300200241b0016a41086a20072902003703002002200129020022053703b0012005a722042004280200417f6a220436020020022d00b4012103024020040d00200241b0016a10cd8b8080000b200341ff01714101470d01200241d1026a200141056a220141186a290000370000200241c9026a200141106a290000370000200241c1026a200141086a290000370000200220012900003700b90241002101200241d9026a200228024420022802484100280288bfd3800011858080800000200241163a00b002200241053a00b80241014100200241b0026a10a98c808000420221054190bdd3800021040c020b20022802d80122012001280200417f6a2204360200420021054109210120040d02200241d8016a10cd8b8080000c020b410221014200210541b8bdd3800021040b2004280200118e8080800000200241ef056a10ac908080000b02402002280240450d00200228024441002802a8bfd38000118080808000000b200041003a0021200020013a0020200041003a001820004200370308200020053703000c1b0b20024180056a41186a200141c1006a29000037030020024180056a41106a200141396a29000037030020024180056a41086a200141316a2900003703002002200129002937038005200241d8016a41206a2204200141206a290200370300200241d8016a41186a2203200141186a290200370300200241d8016a41106a2206200141106a290200370300200241d8016a41086a2207200141086a290200370300200220012902003703d801200220024180056a3602800202404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602b0024199c2c880004113200241b0026a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241b0026a41206a2004290300370300200241b0026a41186a2003290300370300200241b0026a41106a2006290300370300200241b0026a41086a2007290300370300200220022903d80122053703b0022005a722012001280200417f6a220136020020022d00b4022104024020010d00200241b0026a10cd8b8080000b200441ff0171450d0741002802b8bdd38000118e8080800000200241ef056a10ac90808000410221010c130b20022802d80122012001280200417f6a2201360200024020010d00200241d8016a10cd8b8080000b410921010c120b20024180056a41186a200141c1006a29000037030020024180056a41106a200141396a29000037030020024180056a41086a200141316a2900003703002002200129002937038005200241d8016a41206a2204200141206a290200370300200241d8016a41186a2203200141186a290200370300200241d8016a41106a2206200141106a290200370300200241d8016a41086a2207200141086a290200370300200220012902003703d801200220024180056a3602800202404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602b0024199c2c880004113200241b0026a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241b0026a41206a2004290300370300200241b0026a41186a2003290300370300200241b0026a41106a2006290300370300200241b0026a41086a2007290300370300200220022903d80122053703b0022005a722012001280200417f6a220136020020022d00b4022104024020010d00200241b0026a10cd8b8080000b200441ff0171450d0741002802b8bdd38000118e8080800000200241ef056a10ac90808000410221010c110b20022802d80122012001280200417f6a2201360200024020010d00200241d8016a10cd8b8080000b410921010c100b20012802302106200128022c2104200241b0016a41206a200141206a290200370300200241b0016a41186a200141186a290200370300200241b0016a41106a200141106a290200370300200241b0016a41086a200141086a290200370300200220012902003703b00102404199c2c88000411310bb90808000220341fe014b0d002002200341016a3602b0024199c2c880004113200241b0026a410441002802c8bdd380001183808080000041002802d0bdd38000118e808080000020012802342101200242f7b6fccfd083b2cf4d3700e705200242afd2c6ffdbc495bc083700df05200242fc90b9e5d09296e7773700d705200242a6d4e6f1a4dd9598603700cf05200241a8056a200241cf056a4120108e848080000240024020022d00a80522034102470d00200241b0026a41046a410810fc878080000c010b20024180056a410a6a200241a8056a410a6a29000037000020024180056a41126a200241a8056a41126a29000037000020024180056a41196a200241a8056a41196a290000370000200220022900aa0537008205200220022d00a9053a008105200220033a008005200241a8056a200620014100280288bfd3800011858080800000200241a8056a20024180056a41016a412010ed96808000450d08200241b4026a410910fc878080000b20024180026a200241bc026a29020037030020024188026a200241c4026a280200360200200220022902b4023703f8010c080b410921034200210541002101024020040d00410021040c0f0b200641002802a8bfd3800011808080800000410021040c0e0b200420022903b00137000041f8b5c58000410a2004410841002802c8bdd3800011838080800000200441002802a8bfd3800011808080800000200241043a00d801200241d8016a1092898080004100280290bdd38000118e8080800000200241ef056a10ac90808000420221050b200041003a0021200020013a0020200041003a001820004200370308200020053703000c160b200241b0026a10cb8780800020022903c804210520022903d004210c4100280290bdd38000118e8080800000200241ef056a10ac90808000200041003a00202000200c3703182000200537031020004201370308200042023703000c150b200241b0026a10cb8780800020022903c804210520022903d004210c4100280290bdd38000118e8080800000200241ef056a10ac90808000200041003a00202000200c3703182000200537031020004201370308200042023703000c140b200241d1026a20024198056a2903002205370000200241b0026a41196a20024190056a290300220c370000200241b0026a41116a20024188056a290300220d3700002002200229038005220e3700b902200241b0016a41196a2005370000200241b0016a41116a200c370000200241b9016a200d3700002002200e3700b101200241013a00b001200242f7b6fccfd083b2cf4d3700c005200242afd2c6ffdbc495bc083700b805200242fc90b9e5d09296e7773700b005200242a6d4e6f1a4dd9598603700a805200241b0016a200241a8056a412010a384808000200241013a00d902200241063a00b802200241163a00b00241014100200241b0026a10a98c8080004100280290bdd38000118e8080800000200241ef056a10ac90808000200041003a00202000410f3b011020004200370308200042023703000c130b200241d1026a20024198056a2903002205370000200241b0026a41196a20024190056a290300220c370000200241b0026a41116a20024188056a290300220d3700002002200229038005220e3700b902200241b0016a41196a2005370000200241b0016a41116a200c370000200241b9016a200d3700002002200e3700b101200241003a00b001200242f7b6fccfd083b2cf4d3700c005200242afd2c6ffdbc495bc083700b805200242fc90b9e5d09296e7773700b005200242a6d4e6f1a4dd9598603700a805200241b0016a200241a8056a412010a384808000200241003a00d902200241063a00b802200241163a00b00241014100200241b0026a10a98c8080004100280290bdd38000118e8080800000200241ef056a10ac90808000200041003a00202000410f3b011020004200370308200042023703000c120b200241c1026a220920024180056a41106a220a290000370000200241b9026a20024180056a41086a220b290000370000200241b0026a41196a20024180056a41186a290000370000200241d1026a220f20024180056a41206a2d00003a000020024190026a41086a2203200241b0026a410a6a29010037030020024190026a41106a2207200241b0026a41126a29010037030020024190026a41186a2208200241ca026a290100370300200220022900800522053700b102200220022901b20237039002200241e0046a41186a22102008290300370300200241e0046a41106a22082007290300370300200241e0046a41086a2211200329030037030020022002290390023703e004200242f7b6fccfd083b2cf4d3700c802200242afd2c6ffdbc495bc083700c002200242fc90b9e5d09296e7773700b802200242a6d4e6f1a4dd9598603700b002200241b0026a41204100280280bdd38000118b80808000000240200620012005a741017110ae8c808000220741766a41ff01712203410220034102491b0e03020005020b200241f8016a410710fc878080000b2004450d01200641002802a8bfd38000118080808000000c010b200220013602b005200220063602ac05200220043602a805200241b0026a200241a8056a10b58980800020022d00b002410f460d0120024188026a200241c0026a28020036020020024180026a200241b8026a290200370300200220022902b0023703f8010b200241a8056a41086a200241e8016a290300370300200241b0026a41086a20024182026a290100370300200241be026a20024188026a290100370100200220022903e0013703a805200220022800f10136028005200220022901fa013703b0022002200241f4016a2800003600830520022d00f801210320022d00f9012104420021054100210141b8bdd3800021060c030b200241b0026a10cb87808000200242013703e001200220022903d00422053703f001200220022903c8043703e8012005a721010c010b20024180056a200710fc87808000200241b3056a200b290200370000200241bb056a200a280200360000200f2010290300370000200241c9026a20082903003700002009201129030037000020022002290280053700ab05200241e1026a200241a8056a41086a290000370000200241e8026a200241b7056a290000370000200220022903e0043700b902200241073a00b802200220022900a8053700d902200241163a00b00241014100200241b0026a10a98c808000200242003703e00102402004450d00200641002802a8bfd38000118080808000000b0b200241a8056a41086a200241e8016a290300370300200241b0026a41086a20024182026a290100370300200241be026a20024188026a290100370100200220022903e0013703a805200220022800f10136028005200220022901fa013703b0022002200241f4016a2800003600830541012103420221054190bdd3800021060b200241f0006a41086a200241a8056a41086a290300370300200241d0006a41086a200241b0026a41086a290300370300200241d0006a410e6a200241b0026a410e6a290100370100200220022903a8053703702002200228028005360268200220022800830536006b200220022903b0023703502006280200118e8080800000200241ef056a10ac908080000b20022802b00122062006280200417f6a2206360200024020060d00200241b0016a10cd8b8080000b200241ac056a20022f01543b0100200241b0026a41086a200241f0006a41086a290300370300200220022903703703b002200220022802683602d8012002200228006b3600db01200220022802503602a805024020054202510d0020002002290156370028200041306a200241de006a2901003700000b200020022903b002370308200020022802d801360019200020022802a805360022200020043a0021200020033a0020200020013a0018200020053703002000411c6a20022800db01360000200041106a200241b8026a290300370300200041266a200241ac056a2f01003b00000c090b200041003a0030200041003a0021200020013a0020200041003a0018200042003703000c080b200041003a0030200041003a0021200020013a0020200041003a0018200042003703000c070b2003280200118e8080800000200241ef056a10ac908080000b024020022802282201450d00200228022421072001410171210841002104024020014101460d002001417e7121032007210141002104034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b02402001410c6a280200450d00200141106a28020041002802a8bfd38000118080808000000b200141186a21012003200441026a2204470d000b0b2008450d0020072004410c6c6a2201280200450d00200128020441002802a8bfd38000118080808000000b02402002280220450d00200228022441002802a8bfd38000118080808000000b200041003a0021200020063a0020200041003a001820004200370308200020053703000c050b2006280200118e8080800000200241ef056a10ac908080000b024020022802182204450d0020022802142101034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b02402001410c6a280200450d00200141106a28020041002802a8bfd38000118080808000000b200141186a21012004417f6a22040d000b0b02402002280210450d00200228021441002802a8bfd38000118080808000000b200041003a0021200020033a0020200041003a001820004200370308200020053703000c030b41002802b8bdd38000118e8080800000200241ef056a10ac908080000b20002002280298013600222000200229019e01370028200020043a0021200020013a00202000420037031820004201370308200041266a20022f019c013b0000200041306a200241a6016a290100370000200042003703000c010b20002002280280013600222000200229018601370028200020063a0021200020013a00202000420037031820004201370308200041266a20022f0184013b0000200041306a2002418e016a290100370000200042003703000b200241f0056a2480808080000bad0401087f23808080800041d0006b2203248080808000024002402002450d00200341046a2000200141002802e8bdd3800011858080800000024020032802042202418080808078470d00410321020c020b200328020821012003200328020c36024c20032001360248200341106a200341c8006a4100200310f1838080000240024020032802102200418180808078470d00410121040c010b2003280218411646210520032802384103492104200328022c21062003280228210720032802202108200328021c21092003280214210a0b02402002450d00200141002802a8bfd38000118080808000000b410321022000418180808078460d0141012102024002402005410171450d00200a41afc2c38000411610ed968080002202410047200472410171450d014101410220021b21020b0240200041808080807872418080808078460d00200a41002802a8bfd38000118080808000000b0240200941808080807872418080808078460d00200841002802a8bfd38000118080808000000b200741808080807872418080808078460d02200641002802a8bfd38000118080808000000c020b0240200041808080807872418080808078460d00200a41002802a8bfd38000118080808000000b0240200941808080807872418080808078460d00200841002802a8bfd38000118080808000000b200741808080807872418080808078460d00200641002802a8bfd38000118080808000000b410a21020b200341d0006a24808080800020020beb0501047f23808080800041306b2201248080808000200141106a410010898880800041002d00b8bfd380001a200128021821022001280214210302400240412041002802b0bfd38000118280808000002204450d00200442c58a95aad4a8d1a2c500370000200441186a42c58a95aad4a8d1a2c500370000200441106a42c58a95aad4a8d1a2c500370000200441086a42c58a95aad4a8d1a2c500370000200320022004412041002802c8bdd3800011838080800000200441002802a8bfd380001180808080000002402001280210450d00200341002802a8bfd38000118080808000000b200141106a41186a42c58a95aad4a8d1a2c500370300200141106a41106a42c58a95aad4a8d1a2c500370300200141106a41086a42c58a95aad4a8d1a2c500370300200142c58a95aad4a8d1a2c500370310200141106a108989808000200141086a4100280284c4c380003602002001410236020c200141002902fcc3c38000370300200142a0b9ab8f9ae5999778370028200142f999a7c78cd1d1cdb17f370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd9598603700102001200141106a412010a584808000200142a2f5bea594dedcdb10370028200142d6888295b2b493ecbf7f370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141013a0000200141106a41202001410141002802c8bdd3800011838080800000200142d2daa4a6928283fa39370028200142a7fbb3c3b2f09acd28370020200142fc90b9e5d09296e777370018200142a6d4e6f1a4dd959860370010200141013a0000200141106a41202001410141002802c8bdd380001183808080000041002d00b8bfd380001a410441002802b0bfd38000118280808000002204450d0120044100360000418baec5800041102004410441002802c8bdd3800011838080800000200441002802a8bfd3800011808080800000200141306a2480808080000f0b4101412010b980808000000b4101410410b980808000000bf82c03017f017e057f23808080800041f0116b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002402001280200417f6a0e050001020304000b2001290308210320012802042104200241f0006a41206a2205200141306a290200370300200241f0006a41186a2206200141286a290200370300200241f0006a41106a2207200141206a290200370300200241f0006a41086a2208200141186a2902003703002002200129021037037020022004360220200220033702682002200241206a36029c012002200241e8006a3602980102404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602e0094199c2c880004113200241e0096a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241b8096a41206a2005290300370300200241b8096a41186a2006290300370300200241b8096a41106a2007290300370300200241b8096a41086a2008290300370300200220022903703703b8090240024020022d00bc09450d00200241a0016a41206a200241f0006a41206a290300370300200241a0016a41186a200241f0006a41186a290300370300200241a0016a41106a200241f0006a41106a290300370300200241a0016a41086a200241f0006a41086a290300370300200220022903703703a001024020022d00a40122040d0020022802a00122012001280200417f6a220136020020010d02200241a0016a10cd8b8080000c020b20022802a0012101200241e0096a41246a200241f0006a41246a280000360000200241e0096a411d6a200241f0006a411d6a290000370000200241e0096a41156a200241f0006a41156a290000370000200241e0096a410d6a200241f0006a410d6a290000370000200220022900753700e509200220043a00e409200220013602e00920012001280200417f6a2204360200024020040d00200241e0096a10cd8b8080000b410221010c140b20022802b80922012001280200417f6a220136020020010d00200241b8096a10cd8b8080000b2002428fc293ebfcb2d692403700f809200242a697eca999a192e8173700f009200242c0c38addfcd9c9c1c4003700e809200242c2d5a39edcfaf091cd003700e0092002200241e0096a4120108a8480800002402002280204410020022802004101711b2207200228026c410020022802681b470d00024002402002280220220820074d0d000340200241e0096a410041800810eb968080001a2007220641016a2107200241e0096a210141002105034041002d00b8bfd380001a410841002802b0bfd38000118280808000002204450d0b2004200636000020042005360004200241a0016a200441084100280298bfd3800011858080800000200441002802a8bfd3800011808080800000200141186a200241a0016a41186a290000370000200141106a200241a0016a41106a290000370000200141086a200241a0016a41086a290000370000200120022900a001370000200141206a2101200541016a22054120470d000b200241a0016a200241e0096a41800810e9968080001a200241e0096a200610888880800041002d00b8bfd380001a20022802e809210420022802e409210141800841002802b0bfd38000118280808000002205450d0b200120042005200241a0016a41800810e996808000220541800841002802c8bdd3800011838080800000200541002802a8bfd3800011808080800000024020022802e009450d00200141002802a8bfd38000118080808000000b20072008470d000c020b0b200820074f0d000340200241e0096a200810888880800020022802e409220120022802e8094100280280bdd38000118b8080800000024020022802e009450d00200141002802a8bfd38000118080808000000b2007200841016a2208470d000b0b200220022802683a00e909200241003a00e8092002411b3a00e00941014100200241e0096a10a98c808000200228022021012002428fc293ebfcb2d692403700f809200242a697eca999a192e8173700f009200242c0c38addfcd9c9c1c4003700e809200242c2d5a39edcfaf091cd003700e009200220013602a001200241e0096a4120200241a0016a410441002802c8bdd38000118380808000000c120b200241a4096a410110958880800020022d00a4092201410f460d1120022d00b409210420022d00a50921050c120b200228027022012001280200417f6a2201360200024020010d00200241f0006a10cd8b8080000b41002105410921010c120b20012903082103200241a0016a41206a2204200141306a290200370300200241a0016a41186a2205200141286a290200370300200241a0016a41106a2206200141206a290200370300200241a0016a41086a2207200141186a290200370300200220012902103703a001200220033703682002200241e8006a3602c80102404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602e0094199c2c880004113200241e0096a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241b8096a41206a2004290300370300200241b8096a41186a2005290300370300200241b8096a41106a2006290300370300200241b8096a41086a2007290300370300200220022903a0013703b8090240024020022d00bc09450d00200241f0006a41206a200241a0016a41206a290300370300200241f0006a41186a200241a0016a41186a290300370300200241f0006a41106a200241a0016a41106a290300370300200241f0006a41086a200241a0016a41086a290300370300200220022903a001370370024020022d007422040d00200228027022012001280200417f6a220136020020010d02200241f0006a10cd8b8080000c020b20022802702101200241e0096a41246a200241a0016a41246a280000360000200241e0096a411d6a200241a0016a411d6a290000370000200241e0096a41156a200241a0016a41156a290000370000200241e0096a410d6a200241a0016a410d6a290000370000200220022900a5013700e509200220043a00e409200220013602e00920012001280200417f6a2204360200024020040d00200241e0096a10cd8b8080000b410221010c100b20022802b80922012001280200417f6a220136020020010d00200241b8096a10cd8b8080000b0240200229036822034280c8afa025560d00200242ecefd7e4f19abeaecc003700f809200242c98dcdf1f0adada9c4003700f009200242c0c38addfcd9c9c1c4003700e809200242c2d5a39edcfaf091cd003700e00920022003370370200241e0096a4120200241f0006a410841002802c8bdd3800011838080800000200220022903683703f009200241013a00e8092002411b3a00e00941014100200241e0096a10a98c8080000c0e0b200241a4096a410210958880800020022d00a4092201410f460d0d20022d00b409210420022d00a50921050c0e0b20022802a00122012001280200417f6a2201360200024020010d00200241a0016a10cd8b8080000b41002105410921010c0e0b20012903082103200241a0016a41206a2204200141306a290200370300200241a0016a41186a2205200141286a290200370300200241a0016a41106a2206200141206a290200370300200241a0016a41086a2207200141186a290200370300200220012902103703a001200220033703682002200241e8006a3602c80102404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602e0094199c2c880004113200241e0096a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241b8096a41206a2004290300370300200241b8096a41186a2005290300370300200241b8096a41106a2006290300370300200241b8096a41086a2007290300370300200220022903a0013703b8090240024020022d00bc09450d00200241f0006a41206a200241a0016a41206a290300370300200241f0006a41186a200241a0016a41186a290300370300200241f0006a41106a200241a0016a41106a290300370300200241f0006a41086a200241a0016a41086a290300370300200220022903a001370370024020022d007422040d00200228027022012001280200417f6a220136020020010d02200241f0006a10cd8b8080000c020b20022802702101200241e0096a41246a200241a0016a41246a280000360000200241e0096a411d6a200241a0016a411d6a290000370000200241e0096a41156a200241a0016a41156a290000370000200241e0096a410d6a200241a0016a410d6a290000370000200220022900a5013700e509200220043a00e409200220013602e00920012001280200417f6a2204360200024020040d00200241e0096a10cd8b8080000b410221010c0c0b20022802b80922012001280200417f6a220136020020010d00200241b8096a10cd8b8080000b0240200229036822034280c8afa025560d00200242988af5b38bd59ae3ad7f3700f809200242958ff2c2ebc1eefc793700f009200242c0c38addfcd9c9c1c4003700e809200242c2d5a39edcfaf091cd003700e00920022003370370200241e0096a4120200241f0006a410841002802c8bdd3800011838080800000200220022903683703f009200241023a00e8092002411b3a00e00941014100200241e0096a10a98c8080000c0a0b200241a4096a410210958880800020022d00a4092201410f460d0920022d00b409210420022d00a50921050c0a0b20022802a00122012001280200417f6a2201360200024020010d00200241a0016a10cd8b8080000b41002105410921010c0a0b2001280208210620012802042104200241e0096a41206a200141306a290200370300200241e0096a41186a200141286a290200370300200241f0096a200141206a290200370300200241e8096a200141186a290200370300200220012902103703e0094109210502404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602a0014199c2c880004113200241a0016a410441002802c8bdd380001183808080000041002802d0bdd38000118e80808000004100280290bdd38000118e8080800000200241ef116a10ac90808000410f21050b02402004450d00200641002802a8bfd38000118080808000000b20022802e00922042004280200417f6a2204360200024020040d00200241e0096a10cd8b8080000b200141ff014f0d01200041003a002020004200370308200042023703000c100b20012903082103200241a0016a41206a2204200141306a290200370300200241a0016a41186a2205200141286a290200370300200241a0016a41106a2206200141206a290200370300200241a0016a41086a2207200141186a290200370300200220012902103703a001200220033703682002200241e8006a3602c80102404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602e0094199c2c880004113200241e0096a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241b8096a41206a2004290300370300200241b8096a41186a2005290300370300200241b8096a41106a2006290300370300200241b8096a41086a2007290300370300200220022903a0013703b8090240024020022d00bc09450d00200241f0006a41206a200241a0016a41206a290300370300200241f0006a41186a200241a0016a41186a290300370300200241f0006a41106a200241a0016a41106a290300370300200241f0006a41086a200241a0016a41086a290300370300200220022903a001370370024020022d007422040d00200228027022012001280200417f6a220136020020010d02200241f0006a10cd8b8080000c020b20022802702101200241e0096a41246a200241a0016a41246a280000360000200241e0096a411d6a200241a0016a411d6a290000370000200241e0096a41156a200241a0016a41156a290000370000200241e0096a410d6a200241a0016a410d6a290000370000200220022900a5013700e509200220043a00e409200220013602e00920012001280200417f6a2204360200024020040d00200241e0096a10cd8b8080000b410221010c070b20022802b80922012001280200417f6a220136020020010d00200241b8096a10cd8b8080000b0240200229036822034280c8afa025560d00200242cfc4f4d18decb3a8d8003700f809200242e8afb0b6b9e781b59d7f3700f009200242c0c38addfcd9c9c1c4003700e809200242c2d5a39edcfaf091cd003700e00920022003370370200241e0096a4120200241f0006a410841002802c8bdd3800011838080800000200220022903683703f009200241033a00e8092002411b3a00e00941014100200241e0096a10a98c8080000c050b200241a4096a410210958880800020022d00a4092201410f460d0420022d00b409210420022d00a50921050c050b20022802a00122012001280200417f6a2201360200024020010d00200241a0016a10cd8b8080000b41002105410921010c050b200041003a0021200020053a0020200041003a0018200042003703000c0e0b4101410810b980808000000b410141800810b980808000000b4100280290bdd38000118e8080800000200241ef116a10ac90808000200041003a002020004200370308200042023703000c0b0b200241d6006a200241b7096a2d00003a0000200220022901a609370358200220022f00b5093b01542002200241ac096a29010037015e41002802b8bdd38000118e8080800000200241ef116a10ac908080000b200020053a0021200020013a0020200041003a00182000420037030020002002290358370122200020043a0030200020022f01543b0031200041286a200229015e370100200041336a200241d6006a2d00003a00000c090b4100280290bdd38000118e8080800000200241ef116a10ac90808000200041003a002020004200370308200042023703000c080b2002413e6a200241b7096a2d00003a0000200220022901a609370340200220022f00b5093b013c2002200241ac096a29010037014641002802b8bdd38000118e8080800000200241ef116a10ac908080000b200020053a0021200020013a0020200041003a00182000420037030020002002290340370122200020043a0030200020022f013c3b0031200041286a2002290146370100200041336a2002413e6a2d00003a00000c060b4100280290bdd38000118e8080800000200241ef116a10ac90808000200041003a002020004200370308200042023703000c050b200241266a200241b7096a2d00003a0000200220022901a609370328200220022f00b5093b01242002200241ac096a29010037012e41002802b8bdd38000118e8080800000200241ef116a10ac908080000b200020053a0021200020013a0020200041003a00182000420037030020002002290328370122200020043a0030200020022f01243b0031200041286a200229012e370100200041336a200241266a2d00003a00000c030b4100280290bdd38000118e8080800000200241ef116a10ac90808000200041003a002020004200370308200042023703000c020b2002410e6a200241b7096a2d00003a0000200220022901a609370310200220022f00b5093b010c2002200241ac096a29010037011641002802b8bdd38000118e8080800000200241ef116a10ac908080000b200020053a0021200020013a0020200041003a00182000420037030020002002290310370122200020043a0030200020022f010c3b0031200041286a2002290116370100200041336a2002410e6a2d00003a00000b200241f0116a2480808080000ba50802057f027e2380808080004180016b220224808080800020022001280228290300370308200241106a41206a2203200141206a290200370300200241106a41186a2204200141186a290200370300200241106a41106a2205200141106a290200370300200241106a41086a2206200141086a290200370300200220012902003703102002200241086a3602380240024002400240024002404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602404199c2c880004113200241c0006a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241c0006a41206a2003290300370300200241c0006a41186a2004290300370300200241c0006a41106a2005290300370300200241c0006a41086a20062903003703002002200229031022073703402007a722012001280200417f6a220136020020022d00442103024020010d00200241c0006a10cd8b8080000b41022101200341ff01714102470d0220024287fabfddaff098b0e500370058200242bba3a3a09cb1a6b277370050200242ebe5e9f6a0afd08944370048200242f087979bfcb996ebf100370040200241c0006a41204100280298bdd38000118480808000000d0520024284c1c7b7cda097febb7f3700582002429fbf94a8c1ded8e64f370050200242ebe5e9f6a0afd08944370048200242f087979bfcb996ebf100370040200241e8006a200241c0006a412010ba838080002002290308210720022802684101470d0120022903702208500d01200720085a0d012002410036025020024101360244200241c0dcc5800036024020024204370248200241c0006a41c8dcc5800010f280808000000b200228021022012001280200417f6a2201360200024020010d00200241106a10cd8b8080000b410921010c020b20024284c1c7b7cda097febb7f3700582002429fbf94a8c1ded8e64f370050200242ebe5e9f6a0afd08944370048200242f087979bfcb996ebf10037004020022007370368200241c0006a4120200241e8006a410841002802c8bdd380001183808080000020024287fabfddaff098b0e500370058200242bba3a3a09cb1a6b277370050200242ebe5e9f6a0afd08944370048200242f087979bfcb996ebf100370040200241013a0068200241c0006a4120200241e8006a410141002802c8bdd3800011838080800000200229030810a28a8080004100280290bdd38000118e8080800000200241ff006a10ac90808000200041003a002020004200370308200042023703000c020b41002802b8bdd38000118e8080800000200241ff006a10ac908080000b200041003a0021200020013a0020200041003a0018200042003703000b20024180016a2480808080000f0b200241003602502002410136024420024188ddc5800036024020024204370248200241c0006a4190ddc5800010f280808000000ba90e05017f047e017f017e047f23808080800041b0046b2208248080808000200841c8016a41206a200241206a290200370300200841c8016a41186a200241186a290200370300200841c8016a41106a200241106a290200370300200841c8016a41086a200241086a290200370300200820022902003703c801200841c0026a200110bc87808000024002400240024020082d00c0020d00200841f4016a200841c4026a41c40010e9968080001a200820033602bc02200820073a00b80241002802acbcd38000118f80808000002109200841c0026a2001200841c8016a200320042005200841f4016a200841b8026a200610be878080000240200829038003220a420285200841c0026a41c8006a290300220b844200520d0020083301c00220083100c20242108684210c0c030b200841306a41c8006a200841d8036a29030037030020084180016a41106a200841c0026a41106a29030037030020084180016a41186a200841c0026a41186a29030037030020084180016a41206a200841c0026a41206a29030037030020084180016a41286a200841c0026a41286a29030037030020084180016a41306a200841c0026a41306a29030037030020084180016a41386a200841c0026a41386a290300370300200820082903d003370370200820082903c00237038001200820082903c8023703880120082802e003210d20082802e403210520082802ec03210420082802f003210620082903f803210e20082802e803210120082802f4032103200841306a41386a200841c8036a290300370300200841306a41306a200841c0036a290300370300200841306a41286a200841b8036a290300370300200841306a41206a200841b0036a290300370300200841306a41186a200841a8036a290300370300200841306a41106a200841a0036a290300370300200820084198036a2903003703382008200829039003370330200828028004210220082d00840421072008411f6a220f200841a4046a280000360000200841186a22102008419d046a290000370300200841106a221120084195046a290000370300200841086a22122008418d046a290000370300200820082900850437030020074102460d012009427f52ad210c0c020b200020082f00c1023b0000200041026a20082d00c3023a0000200042003703582000420237035020082802c80122002000280200417f6a220036020020000d02200841c8016a10cd8b8080000c020b200841cd026a2012290300370000200841d5026a2011290300370000200841dd026a2010290300370000200841e4026a200f280000360000200042003703582000420237035020004180183b0100200841023a00c402200820023602c002200820082903003700c50220022002280200417f6a2200360200024020000d00200841c0026a10cd8b8080000b02402001450d002001410171210741002102024020014101460d002001417e7121012005210041002102034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002001200241026a2202470d000b0b2007450d0020052002410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b0240200d450d00200541002802a8bfd38000118080808000000b02402003450d002003410171210741002102024020034101460d002003417e7121012006210041002102034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041186a21002001200241026a2202470d000b0b2007450d0020062002410c6c6a2200280200450d00200028020441002802a8bfd38000118080808000000b2004450d01200641002802a8bfd38000118080808000000c010b200020093703082000200c3703002000200829038001370310200041186a200829038801370300200041206a20084180016a41106a290300370300200041286a20084180016a41186a290300370300200041306a20084180016a41206a290300370300200041386a20084180016a41286a290300370300200041c0006a20084180016a41306a290300370300200041c8006a20084180016a41386a2903003703002000200b3703582000200a370350200041e0006a200841306a41d00010e9968080001a200020073a00d401200020023602d0012000200e3703c801200020033602c401200020063602c001200020043602bc01200020013602b801200020053602b4012000200d3602b001200020082903003700d501200041dd016a200841086a290300370000200041e5016a200841106a290300370000200041ed016a200841186a290300370000200041f5016a200841206a290300370000200041fc016a200841276a2800003600000b200841b0046a2480808080000bcf2004027f037e097f067e2380808080004190066b2207248080808000200741c0026a200120022003200420054100200610b28c80800020072f01c00220072d00c2024110747221080240024002402007290390032209420285200741c0026a41d8006a290300220a84500d0020072903c802210b200741c0046a41386a20074188036a290300370300200741c0046a41306a20074180036a290300370300200741c0046a41286a200741c0026a41386a290300370300200741c0046a41206a200741c0026a41306a290300370300200741c0046a41186a200741c0026a41286a290300370300200741c0046a41106a200741c0026a41206a290300370300200720072903d0023703c0042007200741c0026a41186a2903003703c804200741f0016a200741c0026a41e0006a41d00010e9968080001a200741c0016a41086a220220074190046a290300370300200741c0016a41106a220c20074198046a290300370300200741c0016a41186a220d200741a0046a290300370300200741c0016a41206a220e200741a8046a290300370300200741c0016a41286a220f200741b0046a29030037030020072007290388043703c001200728028004211020072802fc03211120072802f403211220072802f003211320072802f80321062007280284042114200741c0046a41d8006a20072903f801370300200741c0046a41e0006a200741f0016a41106a290300370300200741a8056a200741f0016a41186a290300370300200741b0056a200741f0016a41206a290300370300200741b8056a200741f0016a41286a290300370300200741c0056a200741f0016a41306a290300370300200741c8056a200741f0016a41386a29030037030020072009370380052007200a37038805200720072903f0013703900520074198016a41206a200f29030037030020074198016a41186a200e29030037030020074198016a41106a200d29030037030020074198016a41086a200c290300370300200720022903003703980102402006450d002006410171210d41002102024020064101460d002006417e71210c2012210641002102034002402006280200450d00200641046a28020041002802a8bfd38000118080808000000b02402006410c6a280200450d00200641106a28020041002802a8bfd38000118080808000000b200641186a2106200c200241026a2202470d000b0b200d450d0020122002410c6c6a2206280200450d00200628020441002802a8bfd38000118080808000000b02402013450d00201241002802a8bfd38000118080808000000b02402014450d002014410171211241002102024020144101460d002014417e71210c2010210641002102034002402006280200450d00200641046a28020041002802a8bfd38000118080808000000b02402006410c6a280200450d00200641106a28020041002802a8bfd38000118080808000000b200641186a2106200c200241026a2202470d000b0b2012450d0020102002410c6c6a2206280200450d00200628020441002802a8bfd38000118080808000000b02402011450d00201041002802a8bfd38000118080808000000b200741f0016a41286a200141286a290300370300200741f0016a41206a200141206a290300370300200741f0016a41186a200141186a290300370300200741f0016a41106a200141106a2903003703002007200141086a2903003703f801200720012903003703f001200741c0026a200741f0016a200741c0046a20074198016a20032004200510bb8780800020072903f0022209420385200741c0026a41386a290300220a8450450d0120072f01c002210620072d00c2022102200728029801220c200c280200417f6a220c360200200241107421020240200c0d0020074198016a10cd8b8080000b200620027221080b200020083b0108200042033703002000410a6a20084110763a0000200310ac8c8080000c010b200741c0006a41286a200741c0026a41286a290300370300200741c0006a41206a200741c0026a41206a290300370300200741c0006a41186a200741c0026a41186a290300370300200741c0006a41106a200741c0026a41106a290300370300200741106a20074190036a290300370300200741186a20074198036a290300370300200741206a200741a0036a290300370300200741286a200741a8036a290300370300200741306a200741c0026a41f0006a290300370300200741386a200741b8036a290300370300200720072903c802370348200720072903c0023703402007200729038003370300200720074188036a290300370308200741f0006a41106a20074198016a41106a290300370300200741f0006a41186a20074198016a41186a290300370300200741f0006a41206a20074198016a41206a2903003703002007200729039801370370200720074198016a41086a290300370378200741c0046a200341f00010e9968080001a0240024020072d0074450d0020072802702206280208200741c0046a200628020c280214118480808000000d0020074190026a410610fc8780800020062006280200417f6a220236020041002103200741003a00880242002115200742003703f001024020020d00200741f0006a10cd8b8080000b200741c0046a10c387808000200741f0016a21060c010b200741c0026a200741c0046a41f00010e9968080001a200741c0016a41206a200741f0006a41206a290300370300200741c0016a41186a200741f0006a41186a290300370300200741c0016a41106a200741f0006a41106a290300370300200741c0016a41086a2007290378370300200720072903703703c001200741f0016a200741c0026a200741c0016a10d287808000024020072903f00122154202510d00200741f0016a2106410021030c010b200741f0016a41086a21064101210320073502f80121150b20064201370300200641106a2202427f2002290300200429030822162015a722011b2215200429031822177c221820182015541b370300200641086a220c427f200c2903002004290300221920011b22152004290310221a7c221820182015541b370300200741c0026a41286a200741c0006a41286a290300370300200741c0026a41206a200741c0006a41206a290300370300200741c0026a41186a200741c0006a41186a290300370300200741c0026a41106a200741c0006a41106a2903003703002007200a3703f802200720093703f002200720072903483703c802200720072903403703c00220074188036a200729030837030020074190036a200741106a29030037030020074198036a200741186a290300370300200741a0036a200741206a290300370300200741a8036a200741286a290300370300200741b0036a200741306a290300370300200741b8036a200741386a2903003703002007200729030037038003200741c0016a41186a200641186a290300370300200741c0016a41106a2002290300370300200741c0016a41086a200c2903003703002007200629030022093703c001200741c0026a41306a210202402009a7410171450d0020074200420020072903d001220920072903e0027d220a200a2009561b220920072903d002420020072802c002410171220c1b7d220a200a2009561b3703d00120074200420020072903c801220920072903d8027d220a200a2009561b220920072903c8024200200c1b7d220a200a2009561b3703c8010b2004200741c0016a10b48c8080001a02400240024020022004200741c0016a2005200710a88c808000220241ff01714102470d00420021090240024020062802004101460d004200210a0c010b4200210a20072802c0014101470d004200200729038802200729038002220a20031b220920072903d0017d221520152009561b21094200200a20072903f80120031b220a20072903c8017d22152015200a561b210a0b2008410171450d02024041002802acbcd38000118f80808000002215427f520d00200741cd003602f405200741a0e2c580003602f00541002802ecbfd38000450d03200741ed80808000ad422086200741f0056aad843703a001200741f680808000ad42208641bcd6c48000ad843703980141002802d4bcd38000210241002802d0bcd38000210c41002802e8bfd380002101200742023702f804200741c8d6c480003602ec04200741123602e804200741a2d7c480003602e404200742ca808080103702dc04200741d8d6c480003602d8042007421b3702d004200741b4d7c480003602cc04200741003602c8042007428180808090203702c004200741023602f004200241c4dbc88000200141024622011b2802102102200720074198016a3602f404200c41dcdbc8800020011b200741c0046a2002118b80808000000c030b200720153703d805200742002015200b7d220920092015561b22093703e005200741c0046a200741c0016a200410ab9080800020072903c004210a200720072903c80422153703e80541002802ecbfd380002102024020152009540d0020024105470d02200741023602c404200741a8e3c580003602c004200742023702cc04200741cb82808000ad4220862209200741e0056aad843703f80520072009200741e8056aad843703f0052007200741f0056a3602c80420074184e4c580003602a8012007411d3602a401200741b3e4c580003602a0012007411f36029c0120074194e4c5800036029801200741c0046a410520074198016a4100200710da908080000c020b2002450d01200741023602c404200741ace5c580003602c004200742023702cc04200741cb82808000ad4220862209200741e0056aad843703f80520072009200741e8056aad843703f0052007200741f0056a3602c804200741bce5c580003602a8012007411d3602a401200741b3e4c580003602a0012007411f36029c0120074194e4c5800036029801200741c0046a410120074198016a4100200710da908080000c010b200041013b0009200020023a0008200042033703000c020b200720072903e005370388062007200a37038006200720043602c0042007200741d8056a3602c804200720074180066a3602c404200741c0046a109589808000210a200729038006210b200742004200427f201620177c220920092016541b22092007290388067d221520152009561b2215200a7d220a200a2015561b220a3703a00120074200427f2019201a7c221520152019541b2215200b7d220b200b2015561b220b3703980120074291cdeec7c8fdb89eac7f3700d8042007428c9e97b8b5e8dcc5fa003700d004200742fc90b9e5d09296e7773700c804200742a6d4e6f1a4dd9598603700c00420074198016a200741c0046a412010be8a808000200741c0046a2006200410ab908080004200200a20072903c80420097d7c22092009200a561b21094200200b20072903c00420157d7c220a200a200b561b210a0b024020062802004101470d00200642002006290310221520097d220920092015561b3703102006420020062903082209200a7d220a200a2009561b3703080b200020072903f001370300200041306a200741f0016a41306a290300370300200041286a200741f0016a41286a290300370300200041206a200741f0016a41206a290300370300200041186a200741f0016a41186a290300370300200041106a200741f0016a41106a290300370300200041086a200741f0016a41086a2903003703000b20074190066a2480808080000bb00304017f017e017f067e23808080800041d0006b220224808080800020024291cdeec7c8fdb89eac7f3700482002428c9e97b8b5e8dcc5fa00370040200242fc90b9e5d09296e777370038200242a6d4e6f1a4dd959860370030200241186a200241306a412010918480800020022903202103200228021821042002290328210520002903102106200029030021072000290318210820002903082109200241306a2001200010ab908080002002290330210a20024200427f200920087c220820082009541b20022903387d22082005420020041b2209200820095622011b220520097d220920092005561b37031020024200427f200720067c220920092007541b200a7d22092003420020041b2207200920075622041b220920077d220720072009561b3703080240024020040d002001450d010b200241086a2000109989808000200220053703202002200937031820024291cdeec7c8fdb89eac7f3700482002428c9e97b8b5e8dcc5fa00370040200242fc90b9e5d09296e777370038200242a6d4e6f1a4dd959860370030200241186a200241306a412010be8a8080000b200241d0006a24808080800041020be15404017f017e077f047e23808080800041a0066b22022480808080000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012d0000417f6a0e09000102030405060708000b200241b8026a200141246a280200360200200241b0026a2001411c6a290200370300200241f0016a41386a200141146a290200370300200241a0026a2001410c6a290200370300200241f0016a41086a200141e8006a290200370300200241f0016a41106a200141f0006a290200370300200241f0016a41186a200141f8006a290200370300200241f0016a41206a20014180016a2902003703002002200129020437039802200220012902603703f001200129033021032002200141386a29030037036820022003370360200241e0026a200241f0016a41cc0010e9968080001a2002200241e0006a3602ac0302404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602a0014199c2c880004113200241a0016a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241fe036a2002418b036a2d00003a0000200241e0036a41086a2002419c036a290200370300200241e0036a41106a200241a4036a290200370300200220022f0089033b01fc0320022002290294033703e00320022d0088032104200228028c0321052002280290032106200241a0016a41206a200241e0026a41206a290200370300200241a0016a41186a200241e0026a41186a290200370300200241a0016a41106a200241e0026a41106a290200370300200241a0016a41086a200241e0026a41086a290200370300200220022902e0023703a00120022d00a4012101200241f0056a41086a200241ed026a290000370300200241f0056a41106a200241f5026a290000370300200241f0056a41186a200241fd026a290000370300200220022900e5023703f00520022802a00122072007280200417f6a2207360200024020070d00200241a0016a10cd8b8080000b02400240200141ff01714101470d0020024180056a41186a200241f0056a41186a220129030037030020024180056a41106a200241f0056a41106a29030037030020024180056a41086a200241f0056a41086a290300370300200220022903f005370380050240024020040e03030100010b2005450d00200641002802a8bfd38000118080808000000b410121010c250b4102210120044102470d232005450d23200641002802a8bfd38000118080808000000c240b200241f0056a41026a200241fc036a41026a2d00003a000020024183066a200241e0036a41086a2903003700002001200241ed036a290000370000200220022f01fc033b01f005200220022903e0033700fb05200220063600f705200220053600f305200241a0016a20024180056a200241f0056a20022903602002290368410010838880800020022802a001450d09200241c8056a20022f01ae013b0100200220022901a6013703c00520022d00a4012201410f460d0920022d00a501210420022903b00121030c230b20022802e00222012001280200417f6a2201360200024020010d00200241e0026a10cd8b8080000b024020022d0088034102470d00200228028c03450d0020022802900341002802a8bfd38000118080808000000b41002104410921010c230b200241f0016a41c8006a200141246a280200360200200241f0016a41c0006a2001411c6a290200370300200241f0016a41386a200141146a290200370300200241f0016a41306a2001410c6a290200370300200241c4026a200141306a290200370200200241cc026a200141386a290200370200200241d4026a200141c0006a290200370200200241dc026a200141c8006a2802003602002002200129020437039802200220012902283702bc02200241f0016a41086a200141e8006a290200370300200241f0016a41106a200141f0006a290200370300200241f0016a41186a200141f8006a290200370300200241f0016a41206a20014180016a290200370300200220012902603703f001200129035021032002200141d8006a29030037036820022003370360200241e0026a200241f0016a41f00010e9968080001a2002200241e0006a3602d00302404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602a0014199c2c880004113200241a0016a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241bc046a41026a2002418b036a2d00003a0000200241a0046a41086a2002419c036a290200370300200241a0046a41106a200241a4036a2902003703002002419c046a41026a200241af036a2d00003a0000200220022f0089033b01bc0420022002290294033703a004200220022f00ad033b019c0420022d0088032104200228028c032106200228029003210820022d00ac03210720024180046a41086a200241c0036a29020037030020024180046a41106a200241e0026a41e8006a290200370300200220022902b8033703800420022802b403210920022802b003210a200241a0016a41206a200241e0026a41206a290200370300200241a0016a41186a200241e0026a41186a290200370300200241a0016a41106a200241e0026a41106a290200370300200241a0016a41086a200241e0026a41086a290200370300200220022902e00222033703a0012003a722012001280200417f6a220136020020022d00a4012105024020010d00200241a0016a10cd8b8080000b0240024002400240200541ff01710d000240024020040e03040100010b2006450d00200841002802a8bfd38000118080808000000b410121010c010b4102210120044102470d002006450d00200841002802a8bfd38000118080808000000b20074102460d010c200b20024180056a41026a200241bc046a41026a2d00003a000020024180056a41136a200241a0046a41086a29030037000020024180056a41186a200241a0046a410d6a290000370000200220022f01bc043b018005200220022903a00437008b052002200836008705200220063600830502400240024020070e03020100010b200a450d00200941002802a8bfd38000118080808000000b410121010c210b200241f0056a41026a2002419c046a41026a2d00003a0000200241f0056a41136a20024180046a41086a290300370000200241f0056a41186a20024180046a410d6a290000370000200220022f019c043b01f00520022002290380043700fb05200220093600f7052002200a3600f305200241a0016a20024180056a200241f0056a20022903602002290368410010838880800020022802a001450d0a200241c8056a20022f01ae013b0100200220022901a6013703c00520022d00a4012201410f460d0a20022d00a501210420022903b00121030c200b200a450d1e200941002802a8bfd38000118080808000000c1f0b20022802e00222012001280200417f6a2201360200024020010d00200241e0026a10cd8b8080000b024020022d0088034102470d00200228028c03450d0020022802900341002802a8bfd38000118080808000000b024020022d00ac034102470d0020022802b003450d0020022802b40341002802a8bfd38000118080808000000b41002104410921010c1f0b200241b8026a200141246a280200360200200241b0026a2001411c6a290200370300200241f0016a41386a200141146a290200370300200241a0026a2001410c6a290200370300200241f0016a41086a200141e8006a290200370300200241f0016a41106a200141f0006a290200370300200241f0016a41186a200141f8006a290200370300200241f0016a41206a20014180016a2902003703002002200129020437039802200220012902603703f001200129033021032002200141386a29030037036820022003370360200241e0026a200241f0016a41cc0010e9968080001a2002200241e0006a3602ac0302404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602a0014199c2c880004113200241a0016a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241de046a2002418b036a2d00003a0000200241c0046a41086a2002419c036a290200370300200241c0046a41106a200241a4036a290200370300200220022f0089033b01dc0420022002290294033703c00420022d0088032104200228028c0321052002280290032106200241a0016a41206a200241e0026a41206a290200370300200241a0016a41186a200241e0026a41186a290200370300200241a0016a41106a200241e0026a41106a290200370300200241a0016a41086a200241e0026a41086a290200370300200220022902e0023703a00120022d00a4012101200241f0056a41086a200241ed026a290000370300200241f0056a41106a200241f5026a290000370300200241f0056a41186a200241fd026a290000370300200220022900e5023703f00520022802a00122072007280200417f6a2207360200024020070d00200241a0016a10cd8b8080000b02400240200141ff01714101470d0020024180056a41186a200241f0056a41186a220129030037030020024180056a41106a200241f0056a41106a29030037030020024180056a41086a200241f0056a41086a290300370300200220022903f005370380050240024020040e03030100010b2005450d00200641002802a8bfd38000118080808000000b410121010c1d0b4102210120044102470d1b2005450d1b200641002802a8bfd38000118080808000000c1c0b200241f0056a41026a200241dc046a41026a2d00003a000020024183066a200241c0046a41086a2903003700002001200241cd046a290000370000200220022f01dc043b01f005200220022903c0043700fb05200220063600f705200220053600f305200241a0016a20024180056a200241f0056a20022903602002290368410210838880800020022802a001450d09200241c8056a20022f01ae013b0100200220022901a6013703c00520022d00a4012201410f460d0920022d00a501210420022903b00121030c1b0b20022802e00222012001280200417f6a2201360200024020010d00200241e0026a10cd8b8080000b024020022d0088034102470d00200228028c03450d0020022802900341002802a8bfd38000118080808000000b41002104410921010c1b0b200241b8026a200141246a280200360200200241b0026a2001411c6a290200370300200241a8026a200141146a290200370300200241a0026a2001410c6a290200370300200241f0016a41086a200141e8006a290200370300200241f0016a41106a200141f0006a290200370300200241f0016a41186a200141f8006a290200370300200241f0016a41206a20014180016a2902003703002002200129020437039802200220012902603703f001200220012d00013a00c005200241e0026a200241f0016a41cc0010e9968080001a2002200241c0056a3602ac0302404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602a0014199c2c880004113200241a0016a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241fe046a2002418b036a2d00003a0000200241e0046a41086a2002419c036a290200370300200241e0046a41106a200241a4036a290200370300200220022f0089033b01fc0420022002290294033703e00420022d0088032104200228028c0321052002280290032106200241a0016a41206a200241e0026a41206a290200370300200241a0016a41186a200241e0026a41186a290200370300200241a0016a41106a200241e0026a41106a290200370300200241a0016a41086a200241e0026a41086a290200370300200220022902e0023703a00120022d00a4012101200241f0056a41086a200241ed026a290000370300200241f0056a41106a200241f5026a290000370300200241f0056a41186a200241fd026a290000370300200220022900e5023703f00520022802a00122072007280200417f6a2207360200024020070d00200241a0016a10cd8b8080000b02400240200141ff01714101470d0020024180056a41186a200241f0056a41186a220129030037030020024180056a41106a200241f0056a41106a29030037030020024180056a41086a200241f0056a41086a290300370300200220022903f00537038005200241a0016a20024180056a4102410020022d00c0051b220741001080888080000240024020040e03030100010b2005450d00200641002802a8bfd38000118080808000000b410121010c190b4102210120044102470d172005450d17200641002802a8bfd38000118080808000000c180b20022903a801210320022903a001210b200241f0056a41026a200241fc046a41026a2d00003a000020024183066a200241e0046a41086a2903003700002001200241ed046a290000370000200220022f01fc043b01f005200220022903e0043700fb05200220063600f705200220053600f305200241a0016a20024180056a200241f0056a200b2003200710838880800020022802a001450d09200241e8006a20022f01ae013b0100200220022901a60137036020022d00a4012201410f460d0920022d00a501210420022903b00121030c170b20022802e00222012001280200417f6a2201360200024020010d00200241e0026a10cd8b8080000b024020022d0088034102470d00200228028c03450d0020022802900341002802a8bfd38000118080808000000b41002104410921010c170b200241b8026a200141246a280200360200200241b0026a2001411c6a290200370300200241f0016a41386a200141146a290200370300200241a0026a2001410c6a290200370300200241f0016a41086a200141e8006a290200370300200241f0016a41106a200141f0006a290200370300200241f0016a41186a200141f8006a290200370300200241f0016a41206a20014180016a2902003703002002200129020437039802200220012902603703f001200129033021032002200141386a290300370388052002200337038005200241e0026a200241f0016a41cc0010e9968080001a200220024180056a3602ac0302404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602a0014199c2c880004113200241a0016a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241be056a2002418b036a2d00003a0000200241a0056a41086a2002419c036a290200370300200241a0056a41106a200241a4036a290200370300200220022f0089033b01bc0520022002290294033703a00520022d0088032104200228028c0321052002280290032106200241a0016a41206a200241e0026a41206a290200370300200241a0016a41186a200241e0026a41186a290200370300200241a0016a41106a200241e0026a41106a290200370300200241a0016a41086a200241e0026a41086a290200370300200220022902e00222033703a0012003a722012001280200417f6a220136020020022d00a4012107024020010d00200241a0016a10cd8b8080000b02400240200741ff01710d000240024020040e030d0100010b2005450d00200641002802a8bfd38000118080808000000b410121010c010b4102210120044102470d002005450d00200641002802a8bfd38000118080808000000b41002802b8bdd38000118e80808000002002419f066a10ac908080000c140b20022802e00222012001280200417f6a2201360200024020010d00200241e0026a10cd8b8080000b024020022d0088034102470d00200228028c03450d0020022802900341002802a8bfd38000118080808000000b410921010c130b200241c0006a41086a2001410c6a28020036020020022001290204370340200241f0016a41206a20014180016a290200370300200241f0016a41186a2204200141f8006a290200370300200241f0016a41106a2207200141f0006a290200370300200241f0016a41086a2205200141e8006a290200370300200220012902603703f0012002200241c0006a36029802200241e0026a200241f0016a10b68c80800002402002280240450d00200228024441002802a8bfd38000118080808000000b2005200241e0026a41106a2903003703002007200241e0026a41186a2903003703002004200241e0026a41206a290300370300200220022903e8023703f001024020022903e00222034202510d002000200229038803370328200041306a200241e0026a41306a2903003703000b200020022903f00137030820002003370300200041206a200241f0016a41186a290300370300200041186a200241f0016a41106a290300370300200041106a200241f8016a2903003703000c1f0b200241e8016a200141246a280200360200200241e0016a2001411c6a290200370300200241a0016a41386a200141146a290200370300200241d0016a2001410c6a290200370300200241a0016a41086a200141e8006a290200370300200241a0016a41106a200141f0006a290200370300200241a0016a41186a200141f8006a290200370300200241a0016a41206a20014180016a290200370300200220012902043703c801200220012902603703a001200129033021032002200141386a29030037036820022003370360200241f0016a200241a0016a41cc0010e9968080001a2002200241e0006a3602bc0202404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602e0024199c2c880004113200241e0026a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241ee056a2002419b026a2d00003a0000200241d0056a41086a200241ac026a290200370300200241d0056a41106a200241b4026a290200370300200220022f0099023b01ec05200220022902a4023703d00520022d0098022101200228029c02210520022802a0022106200241e0026a41206a200241f0016a41206a290200370300200241e0026a41186a200241f0016a41186a290200370300200241e0026a41106a200241f0016a41106a290200370300200241e0026a41086a200241f0016a41086a290200370300200220022902f00122033703e0022003a722042004280200417f6a220436020020022d00e4022107024020040d00200241e0026a10cd8b8080000b02400240200741ff01710d000240024020010e03030100010b2005450d00200641002802a8bfd38000118080808000000b410121040c120b4102210420014102470d102005450d10200641002802a8bfd38000118080808000000c110b200241f0056a41026a200241ec056a41026a2d00003a000020024183066a200241d0056a41086a290300370000200241f0056a41186a200241dd056a290000370000200220022f01ec053b01f005200220022903d0053700fb05200220063600f705200220053600f30520024200200229036822032002290360220b42f4035441002003501b22011b22033703880520024200200b20011b220b37038005200241e0026a200241f0056a20024180056a109f88808000024020022802e0020d00200b20022903f002220c562003200241e0026a41186a290300220d562003200d5122011b0d0b200b200c542003200d5420011b450d0e2002200c200b7d3703e0022002200d20037d200c200b54ad7d3703e802200241e0026a10ec878080000c0e0b200241c0056a41086a20022f01ee023b0100200220022901e6023703c00520022d00e502210120022d00e4022204410f460d0e20022903f00221030c100b20022802f00122012001280200417f6a2201360200024020010d00200241f0016a10cd8b8080000b024020022d0098024102470d00200228029c02450d0020022802a00241002802a8bfd38000118080808000000b41002101410921040c100b200141186a29030021032001290310210b20012d00012104200241f0016a41206a220720014180016a290200370300200241f0016a41186a2205200141f8006a290200370300200241f0016a41106a2206200141f0006a290200370300200241f0016a41086a220a200141e8006a290200370300200220012902603703f001200220043a008005200220033703f8052002200b3703f005200220024180056a36029c022002200241f0056a3602980202404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602e0024199c2c880004113200241e0026a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241e0026a41206a2007290300370300200241e0026a41186a2005290300370300200241e0026a41106a2006290300370300200241e0026a41086a200a290300370300200220022903f00122033703e0022003a722012001280200417f6a220136020020022d00e4022104024020010d00200241e0026a10cd8b8080000b410221010240200441ff01710d000240024020022903f00520022903f8058450450d00410c21010c010b200241e0026a10838980800020022903e802210320022903e002210b20022903f805210c20022903f005210d0240024020022d0080050d00427f2003200c7c200b200d7c220c200b542201ad7c220d2001200d200354200d2003511b22011b210d427f200c20011b210c0c010b42002003200c7d200b200d54ad7d220c200b200d7d220e200b56200c200356200c2003511b22011b210d4200200e20011b210c0b200241e0026a10828980800020022903e002200c5620022903e802220e200d56200e200d511b450d09410b21010b200241a0016a200110988880800020022d00a0012201410f460d090b200241fe006a200241b3016a2d00003a0000200220022901a20137038001200220022f00b1013b017c2002200241a8016a2901003701860120022d00a101210420022d00b001210741002802b8bdd38000118e80808000002002419f066a10ac908080000c0b0b20022802f00122012001280200417f6a2201360200024020010d00200241f0016a10cd8b8080000b41002104410921010c0a0b200141186a290300210320012d000121042001290310210b200241e0026a41206a220720014180016a290200370300200241e0026a41186a2205200141f8006a290200370300200241e0026a41106a2206200141f0006a290200370300200241e0026a41086a220a200141e8006a290200370300200220012902603703e00220022003370388052002200b37038005200220043a00c005200220024180056a36028c032002200241c0056a3602880302400240024002404199c2c88000411310bb90808000220141fe014b0d002002200141016a3602f0014199c2c880004113200241f0016a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241f0016a41206a2007290300370300200241f0016a41186a2005290300370300200241f0016a41106a2006290300370300200241f0016a41086a200a290300370300200220022903e0023703f001200241a0016a41086a200241ed026a290000370300200241a0016a41106a200241f5026a290000370300200241a0016a41186a200241fd026a290000370300200220022900e5023703a00120022d00f401210120022802f00122042004280200417f6a2204360200024020040d00200241f0016a10cd8b8080000b200141ff01714101470d01200241f0056a41186a200241a0016a41186a290300370300200241f0056a41106a200241a0016a41106a290300370300200241f0056a41086a200241a0016a41086a290300370300200220022903a0013703f005200241f0016a200241f0056a2002290380052002290388054102410020022d00c0051b41004100108588808000024020022802f0010d000c0d0b200241e0006a41086a20022f01fe013b0100200220022901f60137036020022d00f501210120022d00f4012204410f460d0c20022903800221030c020b20022802e00222012001280200417f6a2201360200024020010d00200241e0026a10cd8b8080000b41002101410921040c020b410221040b20024190016a41086a200241e0006a41086a2f01003b0100200220022903603703900141002802b8bdd38000118e80808000002002419f066a10ac908080000b200020013a0021200020043a0020200041003a0018200042003703002000200229039001370122200020033e022c200020034220883c003020002003422888a722013b00312000412a6a20024198016a2f01003b0100200041336a20014110763a00000c1c0b4100280290bdd38000118e80808000002002419f066a10ac90808000200041003a002020004200370308200042023703000c1b0b4100280290bdd38000118e80808000002002419f066a10ac90808000200041003a002020004200370308200042023703000c1a0b4100280290bdd38000118e80808000002002419f066a10ac90808000200041003a002020004200370308200042023703000c190b4100280290bdd38000118e80808000002002419f066a10ac90808000200041003a002020004200370308200042023703000c180b200241a0016a41026a200241bc056a41026a2d00003a0000200241b3016a200241a8056a290300370000200241b8016a200241ad056a290000370000200220022f01bc053b01a001200220022903a0053700ab01200220063600a701200220053600a301200241f0056a200241a0016a2002290380052002290388051097888080004100280290bdd38000118e80808000002002419f066a10ac90808000200041003a00202000410f3b011020004200370308200042023703000c170b200c200d1088898080002002200d370388032002200c37038003200220033703f8022002200b3703f002200241153a00e00241014100200241e0026a10a98c8080000b20022d00a10121014100280290bdd38000118e80808000002002419f066a10ac90808000200041003a0020200020013a00112000410f3a001020004200370308200042023703000c150b2002200b200c7d3703e00220022003200d7d200b200c54ad7d3703e802200241e0026a10ed878080000c020b4100280290bdd38000118e80808000002002419f066a10ac90808000200041003a0020200020013a00112000410f3a001020004200370308200042023703000c130b200020043a0021200020013a0020200041003a0018200042003703002000200229038001370122200020073a0030200020022f017c3b0031200041286a200229018601370100200041336a200241fe006a2d00003a00000c120b20024198036a20024188066a29010037030020024190036a20024180066a29010037030020024188036a200241f8056a29010037030020022002290388053703f80220022002290380053703f002200220022901f00537038003200241033a00e00241014100200241e0026a10a98c8080000b4100280290bdd38000118e80808000002002419f066a10ac908080002000411a6a200241d8006a2f01003b010020002002290150370112200041003a0020200020013a00112000410f3a001020004200370308200042023703000c100b0b200241d0006a41086a200241c0056a41086a2f01003b0100200220022903c00537035041002802b8bdd38000118e80808000002002419f066a10ac908080000b200020013a0021200020043a0020200041003a00182000420037030020002002290350370122200020033e022c200020034220883c003020002003422888a722013b00312000412a6a200241d8006a2f01003b0100200041336a20014110763a00000c0d0b200041003a0030200041003a0021200020013a0020200041003a0018200042003703000c0c0b0b200241306a41086a200241e0006a41086a2f01003b01002002200229036037033041002802b8bdd38000118e80808000002002419f066a10ac908080000b200020043a0021200020013a0020200041003a00182000420037030020002002290330370122200020033e022c200020034220883c003020002003422888a722013b00312000412a6a200241386a2f01003b0100200041336a20014110763a00000c090b0b200241206a41086a200241c0056a41086a2f01003b0100200220022903c00537032041002802b8bdd38000118e80808000002002419f066a10ac908080000b200020043a0021200020013a0020200041003a00182000420037030020002002290320370122200020033e022c200020034220883c003020002003422888a722013b00312000412a6a200241286a2f01003b0100200041336a20014110763a00000c060b0b200241106a41086a200241c0056a41086a2f01003b0100200220022903c00537031041002802b8bdd38000118e80808000002002419f066a10ac908080000b200020043a0021200020013a0020200041003a00182000420037030020002002290310370122200020033e022c200020034220883c003020002003422888a722013b00312000412a6a200241186a2f01003b0100200041336a20014110763a00000c030b0b200241086a200241c0056a41086a2f01003b0100200220022903c00537030041002802b8bdd38000118e80808000002002419f066a10ac908080000b200020043a0021200020013a0020200041003a00182000420037030020002002290300370122200020033e022c200020034220883c003020002003422888a722013b00312000412a6a200241086a2f01003b0100200041336a20014110763a00000b200241a0066a2480808080000bb70403027f017e037f23808080800041306b220224808080800002400240024002404199c2c88000411310bb90808000220341fe014b0d002002200341016a3602004199c2c8800041132002410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241206a200141206a290200370300200241186a200141186a290200370300200241106a200141106a290200370300200241086a200141086a290200370300200220012902002204370300200128022821052004a722012001280200417f6a220136020020022d00042103024020010d00200210cd8b8080000b200341ff01714101470d0141002101024020052802082203450d002003410574210620052802042103410021010340200141016a2207417f20071b2001200310f5878080001b2101200341206a2103200641606a22060d000b0240024020052802082203450d00200120034b0d002001ad428094ebdc037e2003ad8022044280808080105a0d002004a721010c010b418094ebdc0321010b200141ffd193ad034b21010b4100280290bdd38000118e8080800000200041003a001820004200370308200042023703000c020b200041093b0120200041003a001820004200370300200128020022032003280200417f6a220336020020030d02200110cd8b8080000c020b41002802b8bdd38000118e808080000020004200370300200041003a0018200041086a4200370300410221010b200020013a00202002412f6a10ac908080000b200241306a2480808080000ba30f08027f0b7e017f057e017f017e047f017e23808080800041d0016b2204248080808000200441dc006a200110ff87808000200441f0006a2004280260220520042802641096848080000240024020042802704101710d00428080808080808080807f21064200210742002108420021094200210a4200210b4200210c4200210d0c010b200441b8016a2903002106200441a8016a290300210c20044198016a290300210a20044188016a290300210820042903b001210d20042903a001210b200429039001210920042903800121070b0240200428025c450d00200541002802a8bfd38000118080808000000b428080808080808080807f210e200341086a290300210f20032903002110024002402007200984200b842008200a84200c8484200d2006428080808080808080807f858484502211450d00410021034200211242002113420021144200211542002116410021170c010b200742f3035620084200522008501b21032009200b84200a200c8484420052211720092112200a2113200b2114200c2115200d21162006210e0b201220148420132015848421180240201042f403544100200f5022051b0d0020030d002002200210f7878080001a0b201842005221190240024002400240024002402017450d0020190d0120021091888080000c020b2019450d01200441f0006a2002108a8880800020042d0070221a410f460d00200441fa006a350100200441fe006a33010042208684210f0c020b200441dc006a200210ff87808000200441f0006a2004280260221b200428026410968480800020042802c401211a2004280270211c0240200428025c450d00201b41002802a8bfd38000118080808000000b201c201a410047710d00024041002802ecbfd38000450d0041002802d4bcd38000211a41002802d0bcd38000211c41002802e8bfd38000211b200442003702a80120044281808080c0003702a001200441d8d5c5800036029c012004411136029801200441e0d5c5800036029401200442c38080801037028c01200441bcafc58000360288012004421737028001200441f1d5c5800036027c2004410036027820044281808080a08501370270201c41dcdbc88000201b410246221b1b200441f0006a201a41c4dbc88000201b1b280210118b80808000000b200441f0006a2002108a8880800020042d0070221a410f460d00200441fa006a350100200441fe006a33010042208684210f0c010b0240201042f40354410020051b200371450d00200441086a20022002108b8880800020042d0008221a410f460d00024002402017450d0020190d012004411c6a2002108a8880800020042d001c410f460d01200441306a41106a2004411c6a41106a280200360200200441306a41086a2004411c6a41086a2902003703002004200429021c37033041002802ecbfd38000450d0120044102360274200441d4a9c580003602702004420237027c2004419f82808000ad422086200441306aad84370350200441f680808000ad42208641c8a9c58000ad843703482004200441c8006a360278200441b0aac5800036026c2004411b360268200441d2aac5800036026420044112360260200441c0aac5800036025c200441f0006a4101200441dc006a4100200410da908080000c010b2019450d0020021091888080000b200441126a350100200441166a33010042208684210f200429010a21102004280218210220042d000921010c020b4200211802400240024002400240201042f30356200f42005220051b0d0020122013844200510d010b4201211d410021022010428c7c7c2208428d7c54200f2008201054ad7c427f7c2208427f522008427f511b450d0120102107200f21080c020b4200211d2010200f844200522102200d21162006210e200b2114200c211520092112200a2113420021180c010b20102107200f210820122013844200510d010b200441dc006a200110ff87808000200441f0006a200428026022052004280264109684808000200428027020042802c8014100477121030240200428025c450d00200541002802a8bfd38000118080808000000b0240024020030d00200441dc006a200110ff87808000200441f0006a200428026022052004280264109684808000200428027020042802cc014100477121030240200428025c450d00200541002802a8bfd38000118080808000000b20030d00200441f0006a200110ff878080002004280274220120042802784100280280bdd38000118b80808000002004280270450d01200141002802a8bfd38000118080808000000c010b200420163703b001200420143703a001200420123703900120042007370380012004201d3703702004200e3703b801200420153703a80120042013370398012004200837038801200420183703782001200441f0006a108f888080000b20002010370330200042003e022c200042003702242000201037031020004200370308200020023602202000200f3703382000200f37031820002011ad3703000c030b4188d6c5800041dd0041e8d6c5800010f480808000000b20042901722110200428028001210220042d007121010b2000420037030820004202370300200020023602202000200f421086201042308884370318200020104210862001ad42ff018342088684201aad843703100b200441d0016a2480808080000bc10f08027f0b7e017f077e017f017e047f017e23808080800041d0016b2204248080808000200441dc006a200110ff87808000200441f0006a2004280260220520042802641096848080000240024020042802704101710d00428080808080808080807f21064200210742002108420021094200210a4200210b4200210c4200210d0c010b200441b8016a2903002106200441a8016a290300210c20044198016a290300210a20044188016a290300210820042903b001210d20042903a001210b200429039001210920042903800121070b0240200428025c450d00200541002802a8bfd38000118080808000000b428080808080808080807f210e200341086a290300210f20032903002110024002402007200984200b842008200a84200c8484200d2006428080808080808080807f858484502211450d004100210342002112420021134200211442002115420021164200211742002118410021190c010b200742f3035620084200522008501b21032009200b84200a200c84844200522119200721122008211320092114200a2115200b2116200c2117200d21182006210e0b2014201684201520178484211a0240201042f403544100200f5022051b0d0020030d002002200210f7878080001a0b201a420052211b0240024002400240024002402019450d00201b0d0120021091888080000c020b201b450d01200441f0006a2002108a8880800020042d0070221c410f460d00200441fa006a350100200441fe006a33010042208684210f0c020b200441dc006a200210ff87808000200441f0006a2004280260221d200428026410968480800020042802c401211c2004280270211e0240200428025c450d00201d41002802a8bfd38000118080808000000b201e201c410047710d00024041002802ecbfd38000450d0041002802d4bcd38000211c41002802d0bcd38000211e41002802e8bfd38000211d200442003702a80120044281808080c0003702a001200441d8d5c5800036029c012004411136029801200441e0d5c5800036029401200442c38080801037028c01200441bcafc58000360288012004421737028001200441f1d5c5800036027c2004410036027820044281808080a08501370270201e41dcdbc88000201d410246221d1b200441f0006a201c41c4dbc88000201d1b280210118b80808000000b200441f0006a2002108a8880800020042d0070221c410f460d00200441fa006a350100200441fe006a33010042208684210f0c010b0240201042f40354410020051b200371450d00200441086a20022002108b8880800020042d0008221c410f460d00024002402019450d00201b0d012004411c6a2002108a8880800020042d001c410f460d01200441306a41106a2004411c6a41106a280200360200200441306a41086a2004411c6a41086a2902003703002004200429021c37033041002802ecbfd38000450d0120044102360274200441d4a9c580003602702004420237027c2004419f82808000ad422086200441306aad84370350200441f680808000ad42208641c8a9c58000ad843703482004200441c8006a360278200441b0aac5800036026c2004411b360268200441d2aac5800036026420044112360260200441c0aac5800036025c200441f0006a4101200441dc006a4100200410da908080000c010b201b450d0020021091888080000b200441126a350100200441166a33010042208684210f200429010a21102004280218210220042d000921010c020b4200211a02400240024002400240201042f30356200f42005220051b0d0020142015844200510d010b4201211f410021022010428c7c7c2208428d7c54200f2008201054ad7c427f7c2208427f522008427f511b450d0120102107200f21080c020b4200211f2010200f844200522102200d21182006210e200b2116200c211720092114200a21154200211a0c010b20102107200f210820142015844200510d010b200441dc006a200110ff87808000200441f0006a200428026022052004280264109684808000200428027020042802c8014100477121030240200428025c450d00200541002802a8bfd38000118080808000000b0240024020030d00200441dc006a200110ff87808000200441f0006a200428026022052004280264109684808000200428027020042802cc014100477121030240200428025c450d00200541002802a8bfd38000118080808000000b20030d00200441f0006a200110ff878080002004280274220120042802784100280280bdd38000118b80808000002004280270450d01200141002802a8bfd38000118080808000000c010b200420183703b001200420163703a001200420143703900120042007370380012004201f3703702004200e3703b801200420173703a801200420153703980120042008370388012004201a3703782001200441f0006a108f888080000b2000201237034020002010370330200042003e022c20004200370224200020103703102000420037030820002002360220200020133703482000200f3703382000200f37031820002011ad3703000c030b4188d6c5800041dd0041e8d6c5800010f480808000000b20042901722110200428028001210220042d007121010b2000420037030820004202370300200020023602202000200f421086201042308884370318200020104210862001ad42ff018342088684201cad843703100b200441d0016a2480808080000bb41208027f107e027f027e017f037e037f037e23808080800041d0016b2204248080808000200441d8006a200110ff87808000200441f0006a200428025c220520042802601096848080000240024020042802704101710d00428080808080808080807f21064200210742002108420021094200210a4200210b4200210c4200210d0c010b200441b8016a2903002106200441a8016a290300210c20044198016a290300210a20044188016a290300210820042903b001210d20042903a001210b200429039001210920042903800121070b02402004280258450d00200541002802a8bfd38000118080808000000b4200210e200341086a290300210f200329030021100240024020072008844200520d002009200a844200520d00200b200c844200520d00200d2006428080808080808080807f858450450d00428080808080808080807f21114201211241002103420021094200210a420021134200211442002115410021160c010b42002112200742f3035620084200522008501b2103024002402009200a844200510d00410121164200210e0c010b42002112200b200c8442005221164200210e420021094200210a0b200b2113200c2114200d2115200621110b024002402007201020092010200954200f200a54200f200a5122051b22171b22187c2219200754221a2008200f200a20171b221b7c221c201aad7c221d200854201d2008511b4101460d00201c2019201854ad7c211c0c010b024041002802ecbfd38000450d00200441f680808000ad42208641bcd6c48000ad8437035841002802d4bcd38000211741002802d0bcd38000211a41002802e8bfd38000211e200442013702a801200441013602a001200441d0d7c4800036029c012004411236029801200441a2d7c4800036029401200442ca8080801037028c01200441d8d6c48000360288012004421b37028001200441b4d7c4800036027c2004410036027820044281808080a01c370270201741c4dbc88000201e410246221e1b28021021172004200441d8006a3602a401201a41dcdbc88000201e1b200441f0006a2017118b80808000000b427f201c200720187c221d2007542217ad7c22192017201920085420192008511b22171b211c427f201d20171b21190b2009201056200a200f5620051b21052013201484420052211a02402003417f73201942f30356201c420052201c5022171b71450d002002200210f7878080001a0b2005201a72211a0240024002400240024002402016450d00201a0d0120021091888080000c020b201a450d01200441f0006a2002108a8880800020042d0070221f410f460d00200441fa006a350100200441fe006a3301004220868421090c020b200441d8006a200210ff87808000200441f0006a200428025c2220200428026010968480800020042802c401211e2004280270211f02402004280258450d00202041002802a8bfd38000118080808000000b201f201e410047710d00024041002802ecbfd38000450d0041002802d4bcd38000211e41002802d0bcd38000211f41002802e8bfd380002120200442003702a80120044281808080c0003702a001200441d8d5c5800036029c012004411136029801200441e0d5c5800036029401200442c38080801037028c01200441bcafc58000360288012004421737028001200441f1d5c5800036027c2004410036027820044281808080a08501370270201f41dcdbc88000202041024622201b200441f0006a201e41c4dbc8800020201b280210118b80808000000b200441f0006a2002108a8880800020042d0070221f410f460d00200441fa006a350100200441fe006a3301004220868421090c010b4100211e02402003201942f40354410020171b71450d00200441086a20022002108b8880800020042d0008221f410f460d00024002402016450d00201a0d012004411c6a2002108a8880800020042d001c410f460d01200441306a41106a2004411c6a41106a280200360200200441306a41086a2004411c6a41086a2902003703002004200429021c37033041002802ecbfd38000450d0120044102360274200441d4a9c580003602702004420237027c2004419f82808000ad422086200441306aad84370350200441f680808000ad42208641c8a9c58000ad843703482004200441c8006a360278200441b0aac580003602682004411b360264200441d2aac580003602602004411236025c200441c0aac58000360258200441f0006a4101200441d8006a4100200410da908080000c010b201a450d0020021091888080000b200441126a350100200441166a330100422086842109200429010a210a2004280218210220042d000921010c020b200a201b7d2009201854ad7d210f200920187d21104200211d42012121024002402005450d0020192122201c21230c010b20192122201c2123201942f30356201c42005220171b0d002019201c84420052211e200d211520062111200b2113200c211420092110200a210f2007212220082123420021214200211d0b200441d8006a200110ff87808000200441f0006a200428025c22032004280260109684808000200428027020042802c80141004771210202402004280258450d00200341002802a8bfd38000118080808000000b0240024020020d00200441d8006a200110ff87808000200441f0006a200428025c22032004280260109684808000200428027020042802cc0141004771210202402004280258450d00200341002802a8bfd38000118080808000000b20020d00200441f0006a200110ff878080002004280274220220042802784100280280bdd38000118b80808000002004280270450d01200241002802a8bfd38000118080808000000c010b200420153703b001200420133703a0012004201037039001200420223703800120042021370370200420113703b801200420143703a8012004200f3703980120042023370388012004201d3703782001200441f0006a108f888080000b2000201837034020002019370330200042003e022c2000420037022420002019370310200020123703002000201e3602202000201b3703482000201c3703382000201c3703182000200e3703080c020b2004290172210a200428028001210220042d007121010b20004200370308200042023703002000200236022020002009421086200a423088843703182000200a4210862001ad42ff018342088684201fad843703100b200441d0016a2480808080000bea0301037f23808080800041f0006b2203248080808000200341e4006a200110ff87808000200320032802682204200328026c10968480800002402003280264450d00200441002802a8bfd38000118080808000000b200341e4006a200110ff87808000200320032802682205200328026c1096848080002003280200200328025841004771210402402003280264450d00200541002802a8bfd38000118080808000000b0240024020040d00200341e4006a200110ff87808000200320032802682205200328026c1096848080002003280200200328025c41004771210402402003280264450d00200541002802a8bfd38000118080808000000b20040d002003200110ff878080002003280204220220032802084100280280bdd38000118b80808000002003280200450d01200241002802a8bfd38000118080808000000c010b200341186a200241086a290300370300200341206a200241106a290300370300200341286a200241186a290300370300200341306a200241206a290300370300200341386a200241286a290300370300200341c0006a200241306a290300370300200341c8006a200241386a29030037030020034200370308200342013703002003200229030037031020012003108f888080000b2000410f3a0000200341f0006a2480808080000bd11107027f0e7e027f037e017f017e047f23808080800041f0016b2203248080808000200341fc006a200110ff8780800020034190016a2003280280012204200328028401109684808000024002402003280290014101710d00428080808080808080807f2105420021064200210742002108420021094200210a4200210b4200210c0c010b200341d8016a2903002105200341c8016a290300210b200341b8016a2903002109200341a8016a290300210720032903d001210c20032903c001210a20032903b001210820032903a00121060b0240200328027c450d00200441002802a8bfd38000118080808000000b4200210d0240024020062007844200520d0020082009844200520d00200a200b844200520d00428080808080808080807f210e4200210f200c2005428080808080808080807f85844200520d004201210d410021044200210842002109420021104200211142002112410021130c010b200642f3035620074200522007501b21040240024020082009844200510d00410121134200210f0c010b4200210d200a200b8442005221134200210f42002108420021090b200a2110200b2111200c21122005210e0b02400240420020062002280204221429030022157d221620162006562007201441086a29030022167d2006201554ad7d221720075620172007511b22141b20022802082218290300584200201720141b2217201841086a29030022195820172019511b0d00200341286a410310988880800020062115200721160c010b2003410f3a00280b2008201084200920118484211702402004417f73201542f30356201642005220165022141b71450d0020022802002218201810f7878080001a0b201742005221180240024002400240024002402013450d002002280200211a20180d01201a1091888080000c020b2018450d0120034190016a2002280200221a108a8880800020032d009001221b410f460d002003419a016a3501002003419e016a3301004220868421150c020b200341fc006a201a10ff8780800020034190016a200328028001221c20032802840110968480800020032802e401211b200328029001211d0240200328027c450d00201c41002802a8bfd38000118080808000000b201d201b410047710d00024041002802ecbfd38000450d0041002802d4bcd38000211b41002802d0bcd38000211d41002802e8bfd38000211c200342003702c80120034281808080c0003702c001200341d8d5c580003602bc01200341113602b801200341e0d5c580003602b401200342c3808080103702ac01200341bcafc580003602a801200342173702a001200341f1d5c5800036029c01200341003602980120034281808080a0850137029001201d41dcdbc88000201c410246221c1b20034190016a201b41c4dbc88000201c1b280210118b80808000000b20034190016a201a108a8880800020032d009001221b410f460d002003419a016a3501002003419e016a3301004220868421150c010b02402004201542f40354410020141b71450d00200341146a200228020022022002108b8880800020032d0014221b410f460d00024002402013450d0020180d012003413c6a2002108a8880800020032d003c410f460d01200341d0006a41106a2003413c6a41106a280200360200200341d0006a41086a2003413c6a41086a2902003703002003200329023c37035041002802ecbfd38000450d012003410236029401200341d4a9c58000360290012003420237029c012003419f82808000ad422086200341d0006aad84370370200341f680808000ad42208641c8a9c58000ad843703682003200341e8006a36029801200341b0aac5800036028c012003411b36028801200341d2aac58000360284012003411236028001200341c0aac5800036027c20034190016a4101200341fc006a4100200310da908080000c010b2018450d0020021091888080000b2003411e6a350100200341226a330100422086842115200329011621072003280224210220032d001521010c020b4200211702400240024002400240201542f30356201642005220141b0d0020082009844200510d010b42012119410021022015428c7c7c2207428d7c5420162007201554ad7c427f7c2207427f522007427f511b450d0120152106201621070c020b4200211920152016844200522102200c21122005210e200a2110200b2111420021170c010b201521062016210720082009844200510d010b200341106a200341286a41106a280200360200200320032902283703002003200341306a290200370308200341fc006a200110ff8780800020034190016a200328028001221420032802840110968480800020032802900120032802e8014100477121040240200328027c450d00201441002802a8bfd38000118080808000000b0240024020040d00200341fc006a200110ff8780800020034190016a200328028001221420032802840110968480800020032802900120032802ec014100477121040240200328027c450d00201441002802a8bfd38000118080808000000b20040d0020034190016a200110ff8780800020032802940122012003280298014100280280bdd38000118b8080800000200328029001450d01200141002802a8bfd38000118080808000000c010b200320123703d001200320103703c001200320083703b001200320063703a00120032019370390012003200e3703d801200320113703c801200320093703b801200320073703a8012003201737039801200120034190016a108f888080000b20002015370330200042003e022c20004200370224200020153703102000200d370300200020023602202000200329030037034020002016370338200020163703182000200f370308200041c8006a2003290308370300200041d0006a200341106a2802003602000c030b4188d6c5800041dd0041e8d6c5800010f480808000000b200329019201210720032802a001210220032d00910121010b20004200370308200042023703002000200236022020002015421086200742308884370318200020074210862001ad42ff018342088684201bad843703100b200341f0016a2480808080000b990601027f23808080800041d0006b22032480808080002003410236020c20034293bb8a9cbb9ab6b31a370048200342ffabedd185d3d8d216370040200342fc90b9e5d09296e777370038200342a6d4e6f1a4dd9598603700302003410c6a200341306a412010a28480800020034100360230418baec580004110200341306a410441002802c8bdd380001183808080000020032001360234200341cab0c580003602302003410c6a200341306a10be8b80800041e2b0c5800041132003410c6a412041002802c8bdd3800011838080800000200342d3d8c5d2a9b9d2c1ac7f37004820034282ca868eabf3add0cf00370040200342fc90b9e5d09296e777370038200342a6d4e6f1a4dd95986037003020032000280200220036022c200341306a41202003412c6a410441002802c8bdd3800011838080800000200342f4fa97f89782c7a62d37004820034299cfe7ffe3b8eac708370040200342fc90b9e5d09296e777370038200342a6d4e6f1a4dd95986037003020022802042002280208200341306a412010968d8080002001108989808000200341306a2000417f6a10898880800041002d00b8bfd380001a20032802382104200328023421000240412041002802b0bfd38000118280808000002202450d0020022001290000370000200241186a200141186a290000370000200241106a200141106a290000370000200241086a200141086a290000370000200020042002412041002802c8bdd3800011838080800000200241002802a8bfd380001180808080000002402003280230450d00200041002802a8bfd38000118080808000000b200342beee8ae9ce8fa2b1977f37004820034295d4f9afa2868fb864370040200342fc90b9e5d09296e777370038200342a6d4e6f1a4dd959860370030200341306a41204100280280bdd38000118b8080800000200342f89aef8eef91e1ce967f370048200342b4d6d6dfccc6b592c300370040200342fc90b9e5d09296e777370038200342a6d4e6f1a4dd959860370030200341306a41204100280280bdd38000118b8080800000200341d0006a2480808080000f0b4101412010b980808000000b800401027f23808080800041d0006b2200248080808000200042bc8986ab88c2dce45737004820004280a9fbf0e5a2c1b3e500370040200042fc90b9e5d09296e777370038200042a6d4e6f1a4dd959860370030200041306a41204100280280bdd38000118b8080800000200042b7aeb183f6f8ab9cd0003700482000428ab0f6f7cbd3f9e2d800370040200042fc90b9e5d09296e777370038200042a6d4e6f1a4dd959860370030200041306a41204100280280bdd38000118b8080800000200041306a41d4c6c3800041064100280290bfd3800011858080800000200041306a41106a2201419cf5c38000410b4100280290bfd3800011858080800000200041106a41186a200041306a41186a290000370300200041106a41106a2001290000370300200041106a41086a200041306a41086a29000037030020002000290030370310200041086a200041106a41204101417f4100280288bdd3800011878080800000024002402000280208450d0041002d00b8bfd380001a412041002802b0bfd38000118280808000002201450d0120012000290310370000200141186a200041106a41186a290300370000200141106a200041106a41106a290300370000200141086a200041106a41086a290300370000200141002802a8bfd38000118080808000000b200041d0006a2480808080000f0b4101412010b980808000000ba70f08017f017e017f027e027f017e027f017e2380808080004190036b2202248080808000200241206a2000200029030022034202514103746a2204200110ab908080002002290328210520022903202106200241206a10cb87808000200241206a210702400240024020012d002022080e03020001020b200241f8006a21070c010b200241d0016a21070b200520072903507c2209200554210a200620072903487c2205200654210b41012107024020012d00210d0020042d001821070b427f2009200a1b2106427f2005200b1b2105200741017121010240024020034202520d0042002103200121072008210a200621092005210c4100210b0c010b200220003602d402024041002802ecbfd380004105470d00200242d3d8c5d2a9b9d2c1ac7f37003820024282ca868eabf3add0cf00370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241186a200241206a4120108a84808000200241f682808000ad422086200241d4026aad843703e802200241f782808000ad422086200241d8026aad843703e0022002200228021c410020022802184101711b3602d80241002802d4bcd38000210741002802d0bcd38000210a41002802e8bfd38000210b20024202370258200241d0b3c5800036024c2002410f36024820024198b3c58000360244200242c1808080d00037023c200241dca6c580003602382002420c370230200241a7b3c5800036022c2002410036022820024281808080c0990237022020024102360250200741c4dbc88000200b410246220b1b28021021072002200241e0026a360254200a41dcdbc88000200b1b200241206a2007118b80808000000b20054280807c8321032005420888a72107200029022c21092000290224210c200028022021002005a7210a4101210b0b200241e0006a200241e8026a290300370300200241e8006a200241f0026a2903003703002002200b3a0028200220022f00d8023b0029200220013a0051200220083a005020022006370348200220093703382002200c3703302002200036022c200220022903e0023703582002200241da026a2d00003a002b20022007ad42ff0183420886200384200aad42ff018384370340200241163a002041014100200241206a10a98c808000024041002802ecbfd380004105470d00200242f89aef8eef91e1ce967f3700f802200242b4d6d6dfccc6b592c3003700f002200242fc90b9e5d09296e7773700e802200242a6d4e6f1a4dd9598603700e002200241206a200241e0026a41201094848080000240024020022802200d0020024188036a4200370300200241e0026a41206a4200370300200241f8026a4200370300200241f0026a4200370300200241e8026a4200370300200242003703e0020c010b200241e0026a41286a200241d0006a290300370300200241e0026a41206a200241206a41286a290300370300200241e0026a41186a200241206a41206a290300370300200241e0026a41106a200241206a41186a290300370300200241e8026a200241206a41106a290300370300200220022903283703e0020b200241f882808000ad422086200241e0026aad843703d80241002802d4bcd38000210041002802d0bcd38000210141002802e8bfd3800021072002420137025820024101360250200241f4b3c5800036024c2002410f36024820024198b3c58000360244200242c1808080d00037023c200241dca6c580003602382002420c370230200241a7b3c5800036022c2002410036022820024281808080909b02370220200041c4dbc88000200741024622071b28021021002002200241d8026a360254200141dcdbc8800020071b200241206a2000118b80808000000b024041002802ecbfd380004105470d0020024295f38cfcb699a3c4ef00370038200242a8db95cdaa86daa719370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241106a200241206a4120108a84808000200241f782808000ad422086200241d8026aad843703e00220022002280214410020022802101b3602d80241002802d4bcd38000210041002802d0bcd38000210141002802e8bfd380002107200242013702582002410136025020024190b4c5800036024c2002410f36024820024198b3c58000360244200242c1808080d00037023c200241dca6c580003602382002420c370230200241a7b3c5800036022c2002410036022820024281808080f09b02370220200041c4dbc88000200741024622071b28021021002002200241e0026a360254200141dcdbc8800020071b200241206a2000118b80808000000b200241086a418baec580004110108a848080002002200228020c41016a410120022802081b2200360220418baec580004110200241206a410441002802c8bdd3800011838080800000200220003602e402200241003602e00220024293bb8a9cbb9ab6b31a370038200242ffabedd185d3d8d216370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241e0026a200241206a412010a28480800020024291cdeec7c8fdb89eac7f3700382002428c9e97b8b5e8dcc5fa00370030200242fc90b9e5d09296e777370028200242a6d4e6f1a4dd959860370020200241206a41204100280280bdd38000118b808080000020024190036a2480808080000baa0201037f2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000bae0201027f23808080800041106b22022480808080002002200041206a360204200128021c41a8f4c580004110200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41b8f4c58000410620004188f4c58000109d818080001a200241086a41bef4c58000410b200041106a4188f4c58000109d818080001a200241086a41c9f4c580004109200241046a4198f4c58000109d818080001a20022d000d220120022d000c2203722100024020014101470d0020034101710d000240200228020822002d00144104710d00200028021c41b9c4c080004102200028022028020c1181808080000021000c010b200028021c41b8c4c080004101200028022028020c1181808080000021000b200241106a24808080800020004101710b9a0201037f23808080800041306b22002480808080002000418baec580004110108a84808000200028020421010240200028020022024101470d00418baec5800041104100280280bdd38000118b80808000000b200042bad08eede089ffa812370028200042bd81f785e387e6aa817f370020200042fc90b9e5d09296e777370018200042a6d4e6f1a4dd95986037001020002001410020021b360208200041106a4120200041086a410441002802c8bdd38000118380808000002000410136020820004293bb8a9cbb9ab6b31a370028200042ffabedd185d3d8d216370020200042fc90b9e5d09296e777370018200042a6d4e6f1a4dd959860370010200041086a200041106a412010a284808000200041306a2480808080000bfa2703047f027e037f23808080800041f0136b2201248080808000024041002802ecbfd380004104490d00200142d3d8c5d2a9b9d2c1ac7f3700981120014282ca868eabf3add0cf0037009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd9598603700801120014180026a20014180116a4120108a84808000200120012802840241002001280280024101711b3602d403200142bad08eede089ffa81237009811200142bd81f785e387e6aa817f37009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141f8016a20014180116a4120108a84808000200120012802fc01410020012802f8011b3602d80320014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141f0016a20014180116a4120108a84808000200120012802f401410020012802f0011b3602dc0320014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141e8016a20014180116a4120108a8480800041e400210241e4002103024020012802ec01410020012802e8011b2204418080f0014b0d00200441e4006c418080f0016e21030b200120033a00e10320014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141e0016a20014180116a4120108a84808000024020012802e401410020012802e0011b2203418080c0024b0d00200341e4006c418080c0026e21020b200120023a00e20320014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141d8016a20014180116a4120108a8480800041e4002102024020012802dc01410020012802d8011b2203418080c0024b0d00200341e4006c418080c0026e21020b200120023a00e303200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a4120109484808000024002402001280280110d0020014190046a420037030020014188046a420037030020014180046a4200370300200141f8036a4200370300200141f0036a4200370300200142003703e8030c010b200141e8036a41286a200141b0116a290300370300200141e8036a41206a20014180116a41286a290300370300200141e8036a41186a20014180116a41206a290300370300200141e8036a41106a20014180116a41186a290300370300200141f0036a20014180116a41106a29030037030020012001290388113703e8030b2001200141e8036a3602e403200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010948480800020012802801121022001290388112105200141a0046a10cb878080000240024020012903c004427f20012802b8041b2206500d002005420020021b22052006560d00200141c8016a2005420042e400420010f196808000200141b8016a20012903c801200141c8016a41086a2903002006420010ee9680800020012903b8012206428002544100200141b8016a41086a290300501b450d002006a721020c010b41e40021020b200120023a009f04200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010948480800020012802801121022001290390112105200141d0066a10cb878080000240024020012903f806427f20012802e8061b2206500d002005420020021b22052006560d00200141a8016a2005420042e400420010f19680800020014198016a20012903a801200141a8016a41086a2903002006420010ee96808000200129039801220642800254410020014198016a41086a290300501b450d002006a721020c010b41e40021020b200120023a00cf06200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a4120109484808000024002402001280280110d00200141a8096a420037030020014180096a41206a420037030020014198096a420037030020014190096a420037030020014188096a420037030020014200370380090c010b20014180096a41286a200141b0116a29030037030020014180096a41206a20014180116a41286a29030037030020014180096a41186a20014180116a41206a29030037030020014180096a41106a20014180116a41186a29030037030020014188096a20014180116a41106a2903003703002001200129038811370380090b200120014190096a3602fc08200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a412010948480800020012802801121022001290398112105200141b8096a10cb878080000240024020012903b00a427f20012802a80a1b2206500d002005420020021b22052006560d0020014188016a2005420042e400420010f196808000200141f8006a20012903880120014188016a41086a2903002006420010ee9680800020012903782206428002544100200141f8006a41086a290300501b450d002006a721020c010b41e40021020b200120023a00b709200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a4120109484808000200128028011210220012903a0112105200141e80b6a10cb878080000240024020012903e80c427f20012802d80c1b2206500d002005420020021b22052006560d00200141e8006a2005420042e400420010f196808000200141d8006a2001290368200141e8006a41086a2903002006420010ee9680800020012903582206428002544100200141d8006a41086a290300501b450d002006a721020c010b41e40021020b200120023a00e70b200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a4120109484808000024002402001280280110d00200141c00e6a4200370300200141980e6a41206a4200370300200141b00e6a4200370300200141a80e6a4200370300200141a00e6a4200370300200142003703980e0c010b200141980e6a41286a200141b0116a290300370300200141980e6a41206a20014180116a41286a290300370300200141980e6a41186a20014180116a41206a290300370300200141980e6a41106a20014180116a41186a290300370300200141a00e6a20014180116a41106a29030037030020012001290388113703980e0b2001200141980e6a41206a3602940e200142f89aef8eef91e1ce967f3700e80e200142b4d6d6dfccc6b592c3003700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a4120109484808000200128028011210220012903a8112105200141d00e6a10cb878080000240024020012903a010427f2001280298101b2206500d002005420020021b22052006560d00200141c8006a2005420042e400420010f196808000200141386a2001290348200141c8006a41086a2903002006420010ee9680800020012903382206428002544100200141386a41086a290300501b450d002006a721020c010b41e40021020b200120023a00cf0e200142f89aef8eef91e1ce967f3700f002200142b4d6d6dfccc6b592c3003700e802200142fc90b9e5d09296e7773700e002200142a6d4e6f1a4dd9598603700d80220014180116a200141d8026a4120109484808000200128028011210220012903b011210520014180116a10cb878080000240024020012903d812427f20012802c8121b2206500d002005420020021b22052006560d00200141286a2005420042e400420010f196808000200141186a2001290328200141286a41086a2903002006420010ee9680800020012903182206428002544100200141186a41086a290300501b450d002006a721020c010b41e40021020b200120023a00ff10200141f982808000ad4220862206200141ff106aad843703c80320012006200141cf0e6aad843703c003200141fa82808000ad4220862205200141940e6aad843703b80320012006200141e70b6aad843703b00320012006200141b7096aad843703a80320012005200141fc086aad843703a00320012006200141cf066aad8437039803200120062001419f046aad843703900320012005200141e4036aad843703880320012006200141e3036aad843703800320012006200141e2036aad843703f80220012006200141e1036aad843703f0022001418a80808000ad4220862206200141dc036aad843703e80220012006200141d8036aad843703e002200141f782808000ad422086200141d4036aad843703d80241002802d4bcd38000210241002802d0bcd38000210341002802e8bfd3800021042001420f3702e013200141103602d81320014198b2c580003602d4132001410f3602d01320014198b3c580003602cc13200142c1808080c0003702c413200141dca6c580003602c0132001420c3702b813200141a7b3c580003602b413200141003602b01320014281808080f0f0013702a813200241c4dbc88000200441024622041b28021021022001200141d8026a3602dc13200341dcdbc8800020041b200141a8136a2002118b80808000000b20014293bb8a9cbb9ab6b31a37009811200142ffabedd185d3d8d21637009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd9598603700801120014180116a41204100280280bdd38000118b808080000020014295f38cfcb699a3c4ef0037009811200142a8db95cdaa86daa71937009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd9598603700801120014180116a41204100280280bdd38000118b808080000041e2b0c5800041134100280280bdd38000118b8080800000200142beee8ae9ce8fa2b1977f3700981120014295d4f9afa2868fb86437009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd9598603700801120014180116a41204100280280bdd38000118b8080800000200142d3d8c5d2a9b9d2c1ac7f3700981120014282ca868eabf3add0cf0037009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141106a20014180116a4120108a848080002001280214210220012802102103200142bb88f596f8cbf6cf4c3700e80e2001428a85cd9fb3e4b2ae6d3700e00e200142fc90b9e5d09296e7773700d80e200142a6d4e6f1a4dd9598603700d00e20014180116a200141d00e6a4120109084808000200341017121030240024020012d0080110d00200141a0026a420037030020014198026a420037030020014190026a420037030020014200370388020c010b200141a0026a20014199116a29000037030020014198026a20014191116a29000037030020014190026a20014189116a2900003703002001200129008111370388020b2002410020031b2103200142f4fa97f89782c7a62d3700981120014299cfe7ffe3b8eac70837009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141d00e6a20014180116a4120108d8480800020012802d00e210420012802d40e210720012802d80e2108200142bad08eede089ffa81237009811200142bd81f785e387e6aa817f37009011200142fc90b9e5d09296e77737008811200142a6d4e6f1a4dd95986037008011200141086a20014180116a4120108a84808000200128020c210202400240200128020822094101470d0020014180116a41204100280280bdd38000118b80808000000c010b2002410020091b21020b200141ac026a41002002419cb5c58000109b8c808000200141b8026a200141ac026a410041002802d8bed38000118580808000000240200341fc01490d0020014180116a200341857e6a10898880800020012802841122022001280288114100280280bdd38000118b8080800000200128028011450d00200241002802a8bfd38000118080808000000b20014180116a410141002802c0bdd38000118b808080000002402001280288114120490d0020002001280284112202290000370030200041c8006a200241186a290000370000200041c0006a200241106a290000370000200041386a200241086a2900003700000240200128028011450d00200241002802a8bfd38000118080808000000b200020012903880237000c2000200336022c200020012900b802370050200041246a20014188026a41186a2903003700002000411c6a20014188026a41106a290300370000200041146a20014188026a41086a290300370000200041d8006a200141b8026a41086a290000370000200041e0006a200141b8026a41106a290000370000200041e8006a200141b8026a41186a29000037000020004100200820044180808080784622021b36020820004104200720021b36020420004100200420021b360200200141f0136a2480808080000f0b41bcb5c58000412c200141ef136a41acb5c5800041e8b5c5800010a481808000000bb42901067f23808080800041e0006b22012480808080002001410036021420014280808080800137020c2001410036021841002d00b8bfd380001a0240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240410841002802b0bfd38000118280808000002202450d002002413a360204200241dec0c58000360200200141013602502001200236024c20014101360248200141186a200141c8006a2001410c6a10b28880800041002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d01200341cdc5c580003602002003412e36020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d02200441003a0000024020012802142205200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c2002420e3702442002419d9ac48000360240200241b380808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc133702082002410036020041002d00b8bfd380001a2001200541016a360214410841002802b0bfd38000118280808000002203450d03200341fbc5c580003602002003412936020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d04200441003a0000024020012802142205200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024210370244200241f99ec48000360240200241f280808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba1743702082002410036020041002d00b8bfd380001a2001200541016a360214410841002802b0bfd38000118280808000002203450d0520034122360204200341bcc0c58000360200200141c0006a4200370300200141386a4200370300200141306a4200370300200141286a4200370300200141186a41086a420037030020014200370318200141c8006a200141186a108589808000024020012802142204200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200441f8006c6a2202420b3702442002419d9fc48000360240200241fb82808000360218200242b1b0939cafdaec9c897f370210200242a99d92dd8a87cec46a370208200241003602002002200129024837025c200241013a0074200241013602702002200336026c20024101360268200241e4006a200141c8006a41086a2802003602002001200441016a36021441002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d062003419fbdc58000360200200341d00036020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d07200441003a0000024020012802142205200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024210370244200241ca9fc48000360240200241b380808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc13370208200241003602002001200541016a3602142001410036021841002d00b8bfd380001a410841002802b0bfd38000118280808000002202450d0820024126360204200241f9bcc58000360200200141013602502001200236024c20014101360248200141186a200141c8006a2001410c6a10b4888080002001410036021841002d00b8bfd380001a410841002802b0bfd38000118280808000002202450d09200241cf00360204200241ecb7c58000360200200141013602502001200236024c20014101360248200141186a200141c8006a2001410c6a10b58880800041002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d0a200341aab7c58000360200200341c20036020441002d00b8bfd380001a410441002802b0bfd38000118280808000002204450d0b20044100360000024020012802142205200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428480808010370264200220043602602002410436025c20024206370244200241a59bc48000360240200241b380808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc13370208200241003602002001200541016a3602142001410036021841002d00b8bfd380001a410841002802b0bfd38000118280808000002202450d0c2002411c36020420024182b6c58000360200200141013602502001200236024c20014101360248200141186a200141c8006a2001410c6a10a08980800041002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d0d2003413c360204200341c0b6c58000360200200141186a4104410010d395808000024020012802142204200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200441f8006c6a22024206370244200241cf9ec48000360240200241d680808000360218200242ad9ddbeab5be8e9d0537021020024281f5a5a9fb86eaf153370208200241003602002002200129021837025c200241013a0074200241013602702002200336026c20024101360268200241e4006a200141186a41086a2802003602002001200441016a3602142001410036021841002d00b8bfd380001a413841002802b0bfd38000118280808000002202450d0e2002413f360234200241a9bac58000360230200241cb0036022c200241deb9c5800036022820024100360224200242b48080801037021c200241aab9c58000360218200241c700360214200241e3b8c580003602102002410036020c200242a880808010370204200241bbb8c58000360200200141073602502001200236024c20014107360248200141186a200141c8006a2001410c6a109f8980800041002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d0f2003418ec0c580003602002003412e36020441002d00b8bfd380001a410441002802b0bfd38000118280808000002204450d1020044100360000024020012802142205200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428480808010370264200220043602602002410436025c2002420a370244200241a89fc48000360240200241b380808000360218200242d7c9cb8fc1cf97db3e370210200242e88488d0c0e3aebc133702082002410036020041002d00b8bfd380001a2001200541016a36021441d00041002802b0bfd38000118280808000002202450d11200241c00036024c2002418dc5c58000360248200241d300360244200241bac4c58000360240200241d60036023c200241e4c3c5800036023820024100360234200242b98080801037022c200241abc3c58000360228200241d100360224200241dac2c58000360220200241d40036021c20024186c2c5800036021820024100360214200242a58080801037020c200241e1c1c58000360208200241c90036020420024198c1c5800036020041002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d13200441023a000041002d00b8bfd380001a410441002802b0bfd38000118280808000002203450d12200141186a41086a220541003602002001200336021c20014104360218200141003602582001200141d8006a36025c200141dc006a200141186a10d583808000200141c8006a41086a2206200528020036020020012001290218370348024020012802142205200128020c470d002001410c6a4180f6c3800010a58a8080000b2001280210200541f8006c6a2203420b3702442003419cf5c38000360240200341fc82808000360238200342cffed9b2e0a28ab563370330200342af8cb285e69be7d8b37f370328200341b48080800036022020034282a1a9c9eea2b5c92f3703182003428ae6f3f7c78ea4cfd1003703102003410136020c2003200436020820034281808080103703002003200129034837025c200341013a00742003410a3602702003200236026c2003410a360268200341e4006a20062802003602002001200541016a36021441002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d14200341d1bbc58000360200200341d50036020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d15200441003a0000024020012802142205200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024212370244200241a49dc48000360240200241fd82808000360218200242c696ecc0a5b6b18903370210200242a39fe2d599bbccbb783702082002410036020041002d00b8bfd380001a2001200541016a360214410841002802b0bfd38000118280808000002203450d16200341a6bcc58000360200200341d30036020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d17200441003a0000024020012802142205200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200541f8006c6a220241013a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024215370244200241a39cc48000360240200241f280808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba1743702082002410036020041002d00b8bfd380001a2001200541016a360214411041002802b0bfd38000118280808000002203450d18200341e8bac580003602002003411236020c200341bfbbc58000360208200341d70036020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d19200441003a0000024020012802142205200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200541f8006c6a220241013a0074200241023602702002200336026c2002428180808020370264200220043602602002410136025c20024218370244200241e69bc48000360240200241f280808000360218200242febac4ad81b6fafcb37f37021020024298848fa1dab08ba1743702082002410036020041002d00b8bfd380001a2001200541016a360214410841002802b0bfd38000118280808000002203450d1a2003419eb6c580003602002003412236020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d1b200441003a0000024020012802142205200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c2002420e370244200241c59dc48000360240200241f080808000360218200242adf8f9ac87b2e6d9f20037021020024286cfee8bbaa89fcf1d3702082002410036020041002d00b8bfd380001a2001200541016a360214410841002802b0bfd38000118280808000002203450d1c200341fcb6c580003602002003412e36020441002d00b8bfd380001a410141002802b0bfd38000118280808000002204450d1d200441003a0000024020012802142205200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200541f8006c6a220241003a0074200241013602702002200336026c2002428180808010370264200220043602602002410136025c20024211370244200241bc99c48000360240200241fe82808000360218200242d58287afa9dbd38d15370210200242f3a2c2a6dfa6de9cb27f3702082002410036020041002d00b8bfd380001a2001200541016a360214413841002802b0bfd38000118280808000002202450d1e2002410b36023420024183c0c58000360230200241dc0036022c200241a7bfc5800036022820024100360224200242c88080801037021c200241dfbec58000360218200241c80036021420024197bec580003602102002410036020c200242a880808010370204200241efbdc58000360200200141186a41086a420037030020014200370318200141c8006a200141186a10c18a808000024020012802142204200128020c470d002001410c6a41ac99c4800010a58a8080000b2001280210200441f8006c6a22034218370244200341c29cc480003602402003418881808000360218200342f7c2afbed8aff8dbba7f370210200342c4e4baf8df8dda95c100370208200341003602002003200129024837025c200341013a0074200341073602702003200236026c20034107360268200341e4006a200141c8006a41086a2802003602002001410c6a41086a200441016a2202360200200041086a20023602002000200129020c37020020004106360210200041d4c6c3800036020c200141e0006a2480808080000f0b4104410810b980808000000b4104410810b980808000000b4101410110b980808000000b4104410810b980808000000b4101410110b980808000000b4104410810b980808000000b4104410810b980808000000b4101410110b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4101410410b980808000000b4104410810b980808000000b4104410810b980808000000b4104413810b980808000000b4104410810b980808000000b4101410410b980808000000b410441d00010b980808000000b4101410410b980808000000b4101410110b980808000000b4104410810b980808000000b4101410110b980808000000b4104410810b980808000000b4101410110b980808000000b4104411010b980808000000b4101410110b980808000000b4104410810b980808000000b4101410110b980808000000b4104410810b980808000000b4101410110b980808000000b4104413810b980808000000be10d010c7f23808080800041e0026b220124808080800041002d00b8bfd380001a0240024002400240024002400240024002400240024041e00341002802b0bfd38000118280808000002202450d00200141186a10cb87808000200141d4026a200141186a10c48a80800041002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d0220034134360204200341a4c6c58000360200200141086a41086a200141d4026a41086a280200360200200120012902d40237030841002d00b8bfd380001a410c41002802b0bfd38000118280808000002204450d012004428080f081808080283700002004418080c00236000841002d00b8bfd380001a410841002802b0bfd38000118280808000002205450d04200541e4c6c580003602002005412a36020441002d00b8bfd380001a410441002802b0bfd38000118280808000002206450d03200641fa0136000041002d00b8bfd380001a410841002802b0bfd38000118280808000002207450d0620074199c7c58000360200200741d50036020441002d00b8bfd380001a411041002802b0bfd38000118280808000002208450d0520084200370000200841086a420037000041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d07200941c200360204200941fcc7c58000360200200141c8006a41002902acc4c38000370300200141c0006a41002902a4c4c38000370300200141386a410029029cc4c38000370300200141306a4100290294c4c38000370300200141286a410029028cc4c38000370300200141186a41086a4100290284c4c38000370300200141002902fcc3c38000370318200141d4026a200141186a10a68480800041002d00b8bfd380001a410841002802b0bfd3800011828080800000220a450d09200a4121360204200a41c6c8c58000360200200141186a41086a200141d4026a41086a280200360200200120012902d40237031841002d00b8bfd380001a410241002802b0bfd3800011828080800000220b450d08200b412a3b000041002d00b8bfd380001a412841002802b0bfd3800011828080800000220c0d0a4104412810b980808000000b410841e00310b980808000000b4101410c10b980808000000b4104410810b980808000000b4101410410b980808000000b4104410810b980808000000b4101411010b980808000000b4104410810b980808000000b4104410810b980808000000b4101410210b980808000000b4104410810b980808000000b200c411c360224200c41b2cac58000360220200c41cc0036021c200c41e6c9c58000360218200c41ce00360214200c4198c9c58000360210200c410036020c200c42aa80808010370204200c41eec8c58000360200200241023602b8032002200b3602b403200241023602b003200241ff82808000360218200242e1dcefa9e4b2b2fa6437031020024288dbd2e9c1d084f56f3703082002410c360204200241d8c6c580003602002002200129030837032020024181828080003602d802200242d0e8cfd2fdd781eac1003703d002200242da8cbdbae0b2f5f6093703c802200241073602c402200241e7c8c580003602c002200242013702a402200220093602a00220024290808080103703980220022008360294022002411036029002200241808380800036028802200242ed8cc2a1f6f3aec1633703800220024289cbcbd587aca7f0723703f801200241083602f401200241bec8c580003602f001200242013702d401200220073602d00120024284808080103703c801200220063602c401200241043602c001200241b3808080003602b801200242d7c9cb8fc1cf97db3e3703b001200242e88488d0c0e3aebc133703a8012002410e3602a401200241eec7c580003602a001200242013702840120022005360280012002428c80808010370378200220043602742002410c3602702002418183808000360268200242fcd39af5b0eec8bbc90037036020024299ef908da38999a08e7f3703582002410b3602542002418ec7c5800036025020024201370234200220033602302002410136022c200241286a200141086a41086a280200360200200242013702f4022002200a3602f002200241013602ec02200242053702c4032002200c3602c003200241053602bc0320024182838080003602a803200242d7b9acfdf187c880f1003703a003200242a695d4f0d8d1928645370398032002410a36029403200241cecac5800036029003200241e8026a200141186a41086a280200360200200220012903183703e00220024184036a200141c4026a41086a220c290200370200200220012902c4023702fc02200241d4036a200c290200370200200220012902c4023702cc03200041063602082000200236020420004106360200200141e0026a2480808080000b930901087f41002d00b8bfd380001a0240024002400240024002400240024041d00241002802b0bfd38000118280808000002201450d0041002d00b8bfd380001a410841002802b0bfd38000118280808000002202450d01200241d8cac580003602002002412336020441002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d0220034186cbc58000360200200341d20036020441002d00b8bfd380001a410841002802b0bfd38000118280808000002204450d03200441ddcbc580003602002004412636020441002d00b8bfd380001a410841002802b0bfd38000118280808000002205450d0420054187ccc58000360200200541c80036020441002d00b8bfd380001a410841002802b0bfd38000118280808000002206450d05200641d6ccc580003602002006413236020441002d00b8bfd380001a411041002802b0bfd38000118280808000002207450d0620074191cdc580003602002007413336020c200741e9cdc58000360208200741d80036020441002d00b8bfd380001a411041002802b0bfd380001182808080000022080d074104411010b980808000000b410841d00210b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104411010b980808000000b2008411936020c200841f9cec58000360208200841d800360204200841a1cec58000360200200141023602c802200120083602c402200141023602c002200141ee808080003602b802200142b9ae9c9d87a9e0f55c3703b00220014286d8d0b0e0fff190837f3703a8022001410b3602a40220014192cfc580003602a002200141023602980220012007360294022001410236029002200141fe818080003602880220014294adeeeae587ddfdc500370380022001429eef9090c3dee6cacc003703f801200141053602f4012001419ccec580003602f001200141013602e801200120063602e401200141013602e00120014180818080003602d80120014298c69af39cdb87a7917f3703d001200142e4bdf1e8c1f1c6cf8d7f3703c801200141093602c40120014188cdc580003602c001200141013602b801200120053602b401200141013602b00120014183838080003602a801200142bb8bd3e9bdf8dbcb473703a001200142a4e38bae81ebd598b67f370398012001410736029401200141cfccc5800036029001200141013602880120012004360284012001410136028001200141b48080800036027820014282a1a9c9eea2b5c92f3703702001428ae6f3f7c78ea4cfd1003703682001410436026420014183ccc58000360260200141013602582001200336025420014101360250200141b380808000360248200142d7c9cb8fc1cf97db3e370340200142e88488d0c0e3aebc1337033820014105360234200141d8cbc58000360230200141013602282001200236022420014101360220200141f781808000360218200142e1a2a48bf08199db02370310200142e982dbf0d981db979b7f3703082001410b360204200141fbcac580003602002000410736020820002001360204200041073602000bd00d01067f0240024002400240024002400240024002400240024020002d00000e080001020304050607000b200041086a21020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41003a00002002200110f9838080000f0b200041186a2102200041046a21030240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41013a00002003200110e3878080002002200110f9838080000f0b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41023a00000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041016a2100200128020420026a41033a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b2001200241206a360208200128020420026a22012000290000370000200141086a200041086a290000370000200141106a200041106a290000370000200141186a200041186a2900003700000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200041016a2100200128020420026a41043a00002001200241016a22023602080240200128020020026b411f4b0d0020012002412010fc90808000200128020821020b2001200241206a360208200128020420026a22012000290000370000200141086a200041086a290000370000200141106a200041106a290000370000200141186a200041186a2900003700000f0b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200041016a2102200128020420036a41053a00002001200341016a22033602080240200128020020036b411f4b0d0020012003412010fc90808000200128020821030b200128020420036a22042002290000370000200441086a200241086a290000370000200441106a200241106a290000370000200441186a200241186a2900003700002001200341206a220336020841002d00b8bfd380001a412041002802b0bfd38000118280808000002202450d022002200041216a2200290000370000200241186a200041186a290000370000200241106a200041106a290000370000200241086a200041086a2900003700000240200128020020036b411f4b0d0020012003412010fc90808000200128020821030b200128020420036a22002002290000370000200041086a200241086a290000370000200041106a200241106a290000370000200041186a200241186a2900003700002001200341206a360208200241002802a8bfd38000118080808000000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200128020420026a41063a00002001200241016a220336020841002d00b8bfd380001a412041002802b0bfd38000118280808000002202450d022002200041016a2204290000370000200241186a2205200441186a290000370000200241106a2206200441106a290000370000200241086a2207200441086a2900003700000240200128020020036b411f4b0d0020012003412010fc90808000200128020821030b200128020420036a22042002290000370000200441086a2007290000370000200441106a2006290000370000200441186a20052900003700002001200341206a360208200241002802a8bfd380001180808080000020002d002121020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b200128020420026a41073a00002001200241016a220336020841002d00b8bfd380001a412041002802b0bfd38000118280808000002202450d02200041246a21042002200041016a2200290000370000200241186a2205200041186a290000370000200241106a2206200041106a290000370000200241086a2207200041086a2900003700000240200128020020036b411f4b0d0020012003412010fc90808000200128020821030b200128020420036a22002002290000370000200041086a2007290000370000200041106a2006290000370000200041186a20052900003700002001200341206a360208200241002802a8bfd38000118080808000002004200110e3878080000f0b4101412010b980808000000b4101412010b980808000000b4101412010b980808000000bae0303017f017e017f4100210102400240024002400240024020002d00000e080001050202020304000b024002402000290308220242c0005a0d00410321010c010b02402002428080015a0d00410421010c010b024020024280808080045a0d00410621010c010b410b200279a74103766b21010b02402000290310220242c0005a0d00410120016a21010c050b02402002428080015a0d00410220016a21010c050b024020024280808080045a0d00410420016a21010c050b4109200279a74103766b20016a21010c040b20002d000441027441b0f8c580006a2101024002402000290318220242c0005a0d00410321030c010b02402002428080015a0d00410421030c010b024020024280808080045a0d00410621030c010b410b200279a74103766b21030b20012802002101024002402000290320220242c0005a0d00410121000c010b02402002428080015a0d00410221000c010b024020024280808080045a0d00410421000c010b4109200279a74103766b21000b200320016a20006a21010c030b412021010c020b410121010c010b20002d002441027441b0f8c580006a28020021010b200141016a0bba0603067f017e027f23808080800041c0006b2201248080808000200141186a419dcfc58000410441baadc5800041144104410010c791808000200142043702102001420037020820014280808080800137020041002d00b8bfd380001a024002400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241ecadc5800036020020014101360238200120023602302001200241206a36023c200120023602342001200141306a41bccec2800010b08b80800041002d00b8bfd380001a20012802002103200128020421042001280208210520012802182106200129021c2107410841002802b0bfd38000118280808000002208450d01200841002903e8cfc580003702002001410036020820014280808080c000370200200141306a2001419da7c5800041061086858080002001200141306a41a3a7c58000410e10eb85808000200141306a200141b1a7c5800041081092858080002001200141306a41b9a7c58000411710c885808000200141306a200141d0a7c58000410b10c6858080002001200141306a41dba7c58000410c10ce85808000200141306a200141e7a7c58000410b10a2858080002001200141306a41f2a7c58000411110ea85808000200141306a20014183a8c58000411110ed858080002001200141306a4194a8c58000412010da85808000200141246a200141b4a8c58000411810d485808000200128022c210920012802282102200120012802243602082001200236020020012002200941246c6a36020c20012002360204200141306a200141bccec2800010af8b8080002006418080808078460d022001200336020820012004360200200120043602042001200420054105746a36020c200041c4006a200141a892c4800010b08b8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410841c0f1c5800010ae80808000000b41f0e1c1800041114184e2c18000108b81808000000bc11203067f017e037f23808080800041c0006b2201248080808000200141206a41f0cfc58000410541baadc5800041144104410010c791808000200142043702182001420037021020014280808080800137020841002d00b8bfd380001a024002400240024002400240024002400240024002400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241ecadc5800036020020014101360238200120023602302001200241206a36023c20012002360234200141086a200141306a41bccec2800010b08b80800041002d00b8bfd380001a20012802082103200128020c2104200128021021052001280220210620012902242107410841002802b0bfd38000118280808000002208450d0120084100290390d0c5800037020041002d00b8bfd380001a2001410036021020014280808080c000370208411041002802b0bfd38000118280808000002209450d02200941086a41002902f0fdc18000370200200941002902e8fdc18000370200200141086a41d0e1c1800010af96808000200128020c2202428080808020370208200242808080808001370200200241003a00202002410f36021c20024198d0c580003602182002410236021420022009360210200141306a41086a41013602002001200129020837033041002d00b8bfd380001a411041002802b0bfd38000118280808000002209450d03200941086a41002902d8ffc18000370200200941002902d0ffc1800037020002402001280238220a2001280230470d00200141306a41d0e1c1800010af968080000b2001280234200a41246c6a220241013a00202002411a36021c200241a7d0c5800036021820024102360214200220093602102002428080808020370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d00b8bfd380001a411841002802b0bfd38000118280808000002209450d04200941106a4100290288fdc18000370200200941086a4100290280fdc18000370200200941002902f8fcc1800037020002402001280210220a2001280208470d00200141086a41d0e1c1800010af968080000b200128020c200a41246c6a220241023a00202002411d36021c200241c1d0c5800036021820024103360214200220093602102002428080808030370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d05200941002902e080c2800037020002402001280238220a2001280230470d00200141306a41d0e1c1800010af968080000b2001280234200a41246c6a220241033a00202002411336021c200241ded0c5800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d06200941002902f8fec1800037020002402001280210220a2001280208470d00200141086a41d0e1c1800010af968080000b200128020c200a41246c6a220241043a00202002410f36021c200241f1d0c5800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d072009410029029880c2800037020002402001280238220a2001280230470d00200141306a41d0e1c1800010af968080000b2001280234200a41246c6a220241053a00202002410c36021c20024180d1c5800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d08200941002902f0fbc1800037020002402001280210220a2001280208470d00200141086a41d0e1c1800010af968080000b200128020c200a41246c6a220241063a00202002411b36021c2002418cd1c5800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a200a41016a3602002001200129030837033041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d092009410029028081c2800037020002402001280238220a2001280230470d00200141306a41d0e1c1800010af968080000b2001280234200a41246c6a220241073a00202002411136021c200241a7d1c5800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141086a41086a200a41016a3602002001200129033037030841002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d0a200941002902a0fec180003702000240200128021022022001280208470d00200141086a41d0e1c1800010af968080000b200128020c200241246c220a6a220241083a00202002410c36021c200241b8d1c5800036021820024101360214200220093602102002428080808010370208200242808080808001370200200128020c2102200120012802083602102001200236020820012002200a6a41246a3602142001200236020c200141306a200141086a41bccec2800010af8b8080002006418080808078460d0b20012003360210200120043602082001200436020c2001200420054105746a360214200041c4006a200141086a41a892c4800010b08b808000200141136a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000b20002001290008370001200041086a2001410f6a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410841c0f1c5800010ae80808000000b4104411010b980808000000b4104411010b980808000000b4104411810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b41f0e1c1800041114184e2c18000108b81808000000ba50703067f017e047f23808080800041c0006b2201248080808000200141186a41c4d1c58000410541baadc5800041144104410010c791808000200142043702102001420037020820014280808080800137020041002d00b8bfd380001a0240024002400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241ecadc5800036020020014101360238200120023602302001200241206a36023c200120023602342001200141306a41bccec2800010b08b80800041002d00b8bfd380001a20012802002103200128020421042001280208210520012802182106200129021c2107410841002802b0bfd38000118280808000002208450d01200841002903e8d1c580003702002001410036020820014280808080c000370200200141306a200141f0d1c58000411010e2858080002001200141306a4180d2c58000410f10c38580800041002d00b8bfd380001a410841002802b0bfd38000118280808000002209450d02200941002902e881c2800037020002402001280208220a2001280200470d00200141d0e1c1800010af968080000b2001280204200a41246c6a220241023a00202002410b36021c2002418fd2c5800036021820024101360214200220093602102002428080808010370208200242808080808001370200200141306a41086a220b200a41016a360200200120012902003703302001200141306a419ad2c58000410a10a085808000200141306a200141a4d2c58000410d1091858080002001200141306a41b1d2c58000410810f185808000200141306a200141b9d2c58000411110f285808000200141246a200141306a41cad2c580004120108f85808000200128022c210920012802282102200120012802243602082001200236020020012002200941246c6a36020c20012002360204200141306a200141bccec2800010af8b8080002006418080808078460d032001200336020820012004360200200120043602042001200420054105746a36020c200041c4006a200141a892c4800010b08b8080002001410b6a200b2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410841c0f1c5800010ae80808000000b4104410810b980808000000b41f0e1c1800041114184e2c18000108b81808000000b8e1002067f027e2380808080004180016b220224808080800002400240024002400240024002400240200128020022032802082204280204200428020c22054b0d00024020042802082204280208220620042802102205470d00410121040c030b200541016a2207450d03200720064b0d042004280204210620042007360210200620056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2003427f200329030042017c22082008501b370300410021040b02400240024002400240024002400240024002400240024020044101710d00200541ff01710e0c01020304050607080f090a0b0f0b200041003a00000c0f0b2002200110c1838080000240024020022802000d00200241c4006a2001200228020410f3828080002002280244418080808078460d00200241d0006a41086a200241c4006a41086a2802002204360200200241eb006a20043600002002200229024422083703502002200837006320002002290060370001200041086a200241e7006a290000370000410121040c010b410021040b200020043a00000c0e0b20024200370360024020012802002204280208200241e0006a410810bc838080000d002004427f2004290300220842087c220920092008541b37030020002002290360370308200041023a00000c0e0b200041003a00000c0d0b200241086a200110c183808000024020022802080d00200241c4006a2001200228020c10f3828080002002280244418080808078460d00200241d0006a41086a200241c4006a41086a2802002204360200200241eb006a20043600002002200229024422083703502002200837006320002002290060370001200041086a200241e7006a290000370000200041033a00000c0d0b200041003a00000c0c0b200241106a200110c183808000024020022802100d00200241c4006a2001200228021410f3828080002002280244418080808078460d00200241d0006a41086a200241c4006a41086a2802002204360200200241eb006a20043600002002200229024422083703502002200837006320002002290060370001200041086a200241e7006a290000370000200041043a00000c0c0b200041003a00000c0b0b200241186a200110c183808000024020022802180d00200241c4006a2001200228021c1093838080002002280244418080808078460d00200241d0006a41086a200241c4006a41086a2802002204360200200241eb006a20043600002002200229024422083703502002200837006320002002290060370001200041086a200241e7006a290000370000200041053a00000c0b0b200041003a00000c0a0b200241206a200110c183808000024020022802200d00200241c4006a200120022802241083838080002002280244418080808078460d00200241d0006a41086a200241c4006a41086a2802002204360200200241eb006a20043600002002200229024422083703502002200837006320002002290060370001200041086a200241e7006a290000370000200041063a00000c0a0b200041003a00000c090b200241286a200110c18380800020022802280d06200241e0006a2001200228022c10f38280800020022802602204418080808078460d06200228026821052002280264210320024100360260024020012802002201280208200241e0006a410410bc838080000d002001427f2001290300220842047c220920092008541b37030020022802602101200020053602102000200336020c2000200436020820002001360204200041073a00000c090b200041003a00002004450d08200341002802a8bfd38000118080808000000c080b200241306a200110c183808000024020022802300d00200241c4006a2001200228023410f3828080002002280244418080808078460d00200241d0006a41086a200241c4006a41086a2802002204360200200241eb006a20043600002002200229024422083703502002200837006320002002290060370001200041086a200241e7006a290000370000200041083a00000c080b200041003a00000c070b200241f8006a22034200370300200241f0006a22054200370300200241e8006a2206420037030020024200370360024020012802002204280208200241e0006a412010bc838080000d002004427f2004290300220842207c220920092008541b37030020002002290360370001200041096a2006290300370000200041116a2005290300370000200041196a2003290300370000200041093a00000c070b200041003a00000c060b200241f8006a22034200370300200241f0006a22054200370300200241e8006a2206420037030020024200370360024020012802002204280208200241e0006a412010bc838080000d002004427f2004290300220842207c220920092008541b37030020002002290360370001200041096a2006290300370000200041116a2005290300370000200041196a20032903003700002000410a3a00000c060b200041003a00000c050b200241386a200110c183808000024020022802380d00200241c4006a2001200228023c10f3828080002002280244418080808078460d00200241d0006a41086a200241c4006a41086a2802002204360200200241e0006a410b6a20043600002002200229024422083703502002200837006320002002290060370001200041086a200241e7006a2900003700002000410b3a00000c050b200041003a00000c040b417f200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000b200041003a00000c010b200041003a00000b20024180016a2480808080000b9d1103067f027e027f23808080800041f0006b220224808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022032802082204280208220520042802102206460d00200641016a2207450d0c200720054b0d0d20042802042105200420073602102003427f200329030042017c22082008501b370300200520066a2d00000e0c010203040506070815090a0b150b200041003a00000c150b2002200110c2838080000240024020022802000d00200241d4006a2001200228020410e6828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422083703602002200837004720002002290044370001200041086a200241cb006a290000370000410121040c010b410021040b200020043a00000c140b0240200328020822042802082206200428021022016b4108490d00200141086a2105200141774b0d0c200520064b0d0d2004280204210620042005360210200041023a00002000200620016a2900003703082003427f2003290300220842087c220920092008541b3703000c140b200041003a00000c130b200241086a200110c283808000024020022802080d00200241d4006a2001200228020c10e6828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422083703602002200837004720002002290044370001200041086a200241cb006a290000370000200041033a00000c130b200041003a00000c120b200241106a200110c283808000024020022802100d00200241d4006a2001200228021410e6828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422083703602002200837004720002002290044370001200041086a200241cb006a290000370000200041043a00000c120b200041003a00000c110b200241186a200110c283808000024020022802180d00200241d4006a2001200228021c10e5828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422083703602002200837004720002002290044370001200041086a200241cb006a290000370000200041053a00000c110b200041003a00000c100b200241206a200110c283808000024020022802200d00200241d4006a2001200228022410ec828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422083703602002200837004720002002290044370001200041086a200241cb006a290000370000200041063a00000c100b200041003a00000c0f0b200241286a200110c28380800002400240024020022802280d00200241c4006a2001200228022c10e68280800020022802442204418080808078460d00200228024821052001280200220628020822012802082207200128021022036b4104490d02200341046a210a2003417b4b0d0b200a20074d0d01200a200741a8c8ca800010aa81808000000b200041003a00000c100b200228024c21072001280204210b2001200a360210200020073602102000200536020c20002004360208200041073a00002000200b20036a2800003602042006427f2006290300220842047c220920092008541b3703000c0f0b200041003a00002004450d0e200541002802a8bfd38000118080808000000c0e0b200241306a200110c283808000024020022802300d00200241d4006a2001200228023410e6828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422083703602002200837004720002002290044370001200041086a200241cb006a290000370000200041083a00000c0e0b200041003a00000c0d0b410021060240200328020822042802082205200428021022016b4120490d00200141206a21062001415f4b0d08200620054b0d0920042802042105200420063602102003427f2003290300220842207c220920092008541b3703002000200520016a220429000037000141092106200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a2900003700000b200020063a00000c0c0b410021060240200328020822042802082205200428021022016b4120490d00200141206a21062001415f4b0d09200620054b0d0a20042802042105200420063602102003427f2003290300220842207c220920092008541b3703002000200520016a2204290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000410a21060b200020063a00000c0b0b200241386a200110c283808000024020022802380d00200241d4006a2001200228023c10e6828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241c4006a410b6a20043600002002200229025422083703602002200837004720002002290044370001200041086a200241cb006a2900003700002000410b3a00000c0b0b200041003a00000c0a0b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b2001200541a8c8ca800010ac81808000000b2005200641a8c8ca800010aa81808000000b2003200a41a8c8ca800010ac81808000000b2001200641a8c8ca800010ac81808000000b2006200541a8c8ca800010aa81808000000b2001200641a8c8ca800010ac81808000000b2006200541a8c8ca800010aa81808000000b200041003a00000b200241f0006a2480808080000be90e03047f027e017f23808080800041f0006b22022480808080000240024002400240024002400240024002400240024002400240024002402001280200220328020822042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e0c01020304050607080d090a0b0d0b200041003a00000c0d0b2002200110c5838080000240024020022802000d00200241d4006a2001200228020410e0828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a290000370000410121040c010b410021040b200020043a00000c0c0b02402003280208220428020422014108490d00200041023a00002004200141786a36020420042004280200220141086a360200200020012900003703082003427f2003290300220642087c220720072006541b3703000c0c0b200041003a00000c0b0b200241086a200110c583808000024020022802080d00200241d4006a2001200228020c10e0828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a290000370000200041033a00000c0b0b200041003a00000c0a0b200241106a200110c583808000024020022802100d00200241d4006a2001200228021410e0828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a290000370000200041043a00000c0a0b200041003a00000c090b200241186a200110c583808000024020022802180d00200241d4006a2001200228021c10e1828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a290000370000200041053a00000c090b200041003a00000c080b200241206a200110c583808000024020022802200d00200241d4006a20012002280224108f838080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a290000370000200041063a00000c080b200041003a00000c070b200241286a200110c58380800020022802280d04200241c4006a2001200228022c10e08280800020022802442204418080808078460d0420022802482105024020012802002203280208220128020422084104490d002000200228024c3602102000200536020c20002004360208200041073a000020012008417c6a36020420012001280200220441046a360200200020042800003602042003427f2003290300220642047c220720072006541b3703000c070b200041003a00002004450d06200541002802a8bfd38000118080808000000c060b200241306a200110c583808000024020022802300d00200241d4006a2001200228023410e0828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a290000370000200041083a00000c060b200041003a00000c050b4100210402402003280208220128020422054120490d002001200541606a36020420012001280200220541206a3602002003427f2003290300220642207c220720072006541b3703002000200529000037000141092104200041096a200541086a290000370000200041116a200541106a290000370000200041196a200541186a2900003700000b200020043a00000c040b4100210402402003280208220128020422054120490d002001200541606a36020420012001280200220441206a3602002003427f2003290300220642207c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000410a21040b200020043a00000c030b200241386a200110c583808000024020022802380d00200241d4006a2001200228023c10e0828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241c4006a410b6a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a2900003700002000410b3a00000c030b200041003a00000c020b200041003a00000c010b200041003a00000b200241f0006a2480808080000bf80e03047f027e017f23808080800041f0006b22022480808080000240024002400240024002400240024002400240024002400240024002402001280200220328020828020022042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e0c01020304050607080d090a0b0d0b200041003a00000c0d0b2002200110c3838080000240024020022802000d00200241d4006a2001200228020410fb828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a290000370000410121040c010b410021040b200020043a00000c0c0b02402003280208280200220428020422014108490d00200041023a00002004200141786a36020420042004280200220141086a360200200020012900003703082003427f2003290300220642087c220720072006541b3703000c0c0b200041003a00000c0b0b200241086a200110c383808000024020022802080d00200241d4006a2001200228020c10fb828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a290000370000200041033a00000c0b0b200041003a00000c0a0b200241106a200110c383808000024020022802100d00200241d4006a2001200228021410fb828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a290000370000200041043a00000c0a0b200041003a00000c090b200241186a200110c383808000024020022802180d00200241d4006a2001200228021c1092838080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a290000370000200041053a00000c090b200041003a00000c080b200241206a200110c383808000024020022802200d00200241d4006a2001200228022410fa828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a290000370000200041063a00000c080b200041003a00000c070b200241286a200110c38380800020022802280d04200241c4006a2001200228022c10fb8280800020022802442204418080808078460d0420022802482105024020012802002203280208280200220128020422084104490d002000200228024c3602102000200536020c20002004360208200041073a000020012008417c6a36020420012001280200220441046a360200200020042800003602042003427f2003290300220642047c220720072006541b3703000c070b200041003a00002004450d06200541002802a8bfd38000118080808000000c060b200241306a200110c383808000024020022802300d00200241d4006a2001200228023410fb828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241cf006a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a290000370000200041083a00000c060b200041003a00000c050b4100210402402003280208280200220128020422054120490d002001200541606a36020420012001280200220541206a3602002003427f2003290300220642207c220720072006541b3703002000200529000037000141092104200041096a200541086a290000370000200041116a200541106a290000370000200041196a200541186a2900003700000b200020043a00000c040b4100210402402003280208280200220128020422054120490d002001200541606a36020420012001280200220441206a3602002003427f2003290300220642207c220720072006541b37030020002004290000370001200041096a200441086a290000370000200041116a200441106a290000370000200041196a200441186a290000370000410a21040b200020043a00000c030b200241386a200110c383808000024020022802380d00200241d4006a2001200228023c10fb828080002002280254418080808078460d00200241e0006a41086a200241d4006a41086a2802002204360200200241c4006a410b6a20043600002002200229025422063703602002200637004720002002290044370001200041086a200241cb006a2900003700002000410b3a00000c030b200041003a00000c020b200041003a00000c010b200041003a00000b200241f0006a2480808080000b981203037f017e037f23808080800041106b22022480808080000240024002400240024002400240024002400240024002400240024020002d0000417f6a0e0b000102030405060708090a000b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41003a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822006b20034f0d0020012000200310fc90808000200128020821000b200128020420006a2004200310e9968080001a2001200020036a3602080c0a0b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a41013a00002001200341016a2203360208200029030821050240200128020020036b41074b0d0020012003410810fc90808000200128020821030b2001200341086a360208200128020420036a20053700000c090b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41023a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822006b20034f0d0020012000200310fc90808000200128020821000b200128020420006a2004200310e9968080001a2001200020036a3602080c080b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41033a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822006b20034f0d0020012000200310fc90808000200128020821000b200128020420006a2004200310e9968080001a2001200020036a3602080c070b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41043a0000200028020821032002200028020c22003602082002200241086a36020c2002410c6a200110d5838080002000450d06200041186c210003402003200110bd8b808000200341186a2103200041686a22000d000c070b0b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41053a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110d5838080002003450d052003410c6c2106200441086a210303402003417c6a28020021072002200328020022003602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822046b20004f0d0020012004200010fc90808000200128020821040b200128020420046a2007200010e9968080001a2001200420006a3602082003410c6a2103200641746a22060d000c060b0b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41063a0000200028020c21062002200028021022033602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822046b20034f0d0020012004200310fc90808000200128020821040b200128020420046a2006200310e9968080001a2001200420036a2203360208200028020421000240200128020020036b41034b0d0020012003410410fc90808000200128020821030b2001200341046a360208200128020420036a20003600000c040b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41073a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822006b20034f0d0020012000200310fc90808000200128020821000b200128020420006a2004200310e9968080001a2001200020036a3602080c030b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a41093a00002001200341016a220436020841002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d032003200041016a2200290000370000200341186a2206200041186a290000370000200341106a2207200041106a290000370000200341086a2208200041086a2900003700000240200128020020046b411f4b0d0020012004412010fc90808000200128020821040b200128020420046a22002003290000370000200041086a2008290000370000200041106a2007290000370000200041186a20062900003700002001200441206a360208200341002802a8bfd38000118080808000000c020b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a410a3a00002001200341016a220436020841002d00b8bfd380001a412041002802b0bfd38000118280808000002203450d032003200041016a2200290000370000200341186a2206200041186a290000370000200341106a2207200041106a290000370000200341086a2208200041086a2900003700000240200128020020046b411f4b0d0020012004412010fc90808000200128020821040b200128020420046a22002003290000370000200041086a2008290000370000200041106a2007290000370000200041186a20062900003700002001200441206a360208200341002802a8bfd38000118080808000000c010b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a410b3a0000200028020821042002200028020c22033602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822006b20034f0d0020012000200310fc90808000200128020821000b200128020420006a2004200310e9968080001a2001200020036a3602080b200241106a2480808080000f0b4101412010b980808000000b4101412010b980808000000b844306027f017e0b7f037e0d7f027e23808080800041c00a6b22022480808080000240024002400240024002400240024002400240024002400240024002402001280200418080808078460d00200241306a41ec006a20014190016a290200370200200241306a41e4006a20014188016a2902003702002002418c016a20014180016a29020037020020024184016a200141f8006a290200370200200241306a41086a200141086a290200370300200241306a41106a200141106a290200370300200241306a41186a200141186a290200370300200241306a41206a200141206a290200370300200241306a41286a200141286a290200370300200241306a41306a200141306a2802003602002002200129027037027c20022001290200370330200241ac016a200141e0006a280200360200200241306a413c6a2001413c6a280200360200200241306a4188016a200141ec006a280200360200200241306a41c8006a200141c8006a280200360200200220012902583702a40120022001290234370264200220012902643703b00120022001290240370370200241c0016a200241306a418c0110e9968080001a024002404199c2c88000411310bb90808000220341fe014b0d002002200341016a3602d0064199c2c880004113200241d0066a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241cc026a200241306a418c0110e9968080001a200241d0066a41206a200141f0006a220341206a290200370300200241d0066a41186a200341186a290200370300200241d0066a41106a200341106a290200370300200241d0066a41086a200341086a2902003703002002200329020022043703d0062004a722032003280200417f6a220336020020022d00d4062105024020030d00200241d0066a10cd8b8080000b200541ff01714102470d01200242a9a5c4bef894cdeee7003700e806200242d4c584efa7e5bfee643700e006200242b9e088b7b6cdc2d1133700d806200242c5e4f4b9cff9d18a0b3700d006200241d0066a41204100280298bdd38000118480808000000d05200241d8036a41306a200141306a280200360200200241d8036a41286a2206200141286a290200370300200241d8036a41206a200141206a290200370300200241d8036a41186a2207200141186a290200370300200241d8036a41106a2203200141106a290200370300200241d8036a41086a200141086a290200370300200220012902003703d80320022802c003210520022802c403210820022802c803210920024190046a41086a200141346a220a41086a280200360200200241a0046a41086a200141e4006a220b41086a2802003602002002200a290200370390042002200b2902003703a004200228028c03210c200228029003210d200228029403210e20022802e403210b200242cce78dfda8f884f6bd7f3700e806200242a2f98685b9fa9aec343700e006200242b9e088b7b6cdc2d1133700d806200242c5e4f4b9cff9d18a0b3700d006200241186a200241d0066a4120108a8480800002402002280218410171450d00200228021c200b4b0d040b200242d8c192ad8deac8dd3f3700e80620024284ceb68ad8c4c79c8f7f3700e006200242e7eacab6b7c9acbc263700d8062002428de2fdb2e288b2fcd7003700d006200241106a200241d0066a4120108a848080002002280214210a2002280210210f200241b0046a41186a2006290300370300200241b0046a41106a200241d8036a41206a290300370300200241b0046a41086a2007290300370300200220022903e8033703b0040240024020090d00200241003602f009200241003602e8090c010b2005450d05200241e8096a20052008108d8b8080000b200241d0066a200a41e400200f4101711b200241b0046a200241e8096a10da8180800020022802d008418080808078460d07200241b0046a200241d0066a41a00210e9968080001a200241013602c409200241d0066a200241b0046a4198f6c08000412010e28180800002400240024020022802d006220a418180808078460d000240200a418080808078470d00410221030c020b20022f00d506200241d7066a2d00004110747241087420022d00d406722106024020022802d80622074108490d00200629000021040b0240200a450d00200641002802a8bfd38000118080808000000b200741084f0d02410121030c010b410021030b200220033a00d106200241033a00d00641e4e0c58000411f200241d0066a41d4e0c580004184e1c5800010a481808000000b200220043703c809200242b0f2f7f283ece7d10b3700e806200242cbf2abd1d7a8b9e0d7003700e00620024284c2b1b3ef9292841e3700d806200242bce2f4b8c5daf6fa293700d006200241e8096a200241d0066a412010928480800020022802e809450d09024020022903f00922102004510d0020102004540d0a200220103703e009200241023602d406200241d8ddc580003602d006200242023702dc062002418483808000ad4220862204200241c8096aad843703a00a20022004200241e0096aad843703980a2002200241980a6a3602d806200241d0066a41b8dec5800010f280808000000b20022802f809210a200220043703d0092002200a3602dc09200a41014b0d060c0a0b200228028c0222032003280200417f6a2203360200024020030d002002418c026a10cd8b8080000b024020022802c001450d0020022802c40141002802a8bfd38000118080808000000b200241b4026a10d98a808000024020022802fc012203450d0020022802f80121092003410171210b41002105024020034101460d002003417e71210a2009210341002105034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b0240200341106a280200450d00200341146a28020041002802a8bfd38000118080808000000b200341206a2103200a200541026a2205470d000b0b200b450d00200920054104746a2203280200450d00200328020441002802a8bfd38000118080808000000b024020022802f401450d0020022802f80141002802a8bfd38000118080808000000b0240024020022802c00222030d0041002103410021050c010b200220022802c40222053602ec06200220033602e806200241003602e406200220053602dc06200220033602d806200241003602d4064101210320022802c80221050b200220053602f006200220033602e006200220033602d006200241d0066a10fd898080000240200228028802220e450d00200228028402210d4100210b03400240200d200b41f0006c6a22092802082205450d00200928020421030340024020032d0000220a41034b0d002003200a41027441f8f8c580006a2802006a220a280200450d00200a41046a28020041002802a8bfd38000118080808000000b200341146a21032005417f6a22050d000b0b02402009280200450d00200928020441002802a8bfd38000118080808000000b200b41016a220b200e470d000b0b41092103200228028002450d0b20022802840241002802a8bfd38000118080808000000c0b0b024020022802cc02450d0020022802d00241002802a8bfd38000118080808000000b200241c0036a10d98a808000200228028403210902402002280288032203450d002003410171210b41002105024020034101460d002003417e71210a2009210341002105034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b0240200341106a280200450d00200341146a28020041002802a8bfd38000118080808000000b200341206a2103200a200541026a2205470d000b0b200b450d00200920054104746a2203280200450d00200328020441002802a8bfd38000118080808000000b0240200228028003450d00200941002802a8bfd38000118080808000000b0240024020022802cc0322030d0041002103410021050c010b200220022802d00322053602ec06200220033602e806200241003602e406200220053602dc06200220033602d806200241003602d4064101210320022802d40321050b200220053602f006200220033602e006200220033602d006200241d0066a10fd89808000200228029003210e0240200228029403220d450d004100210b03400240200e200b41f0006c6a22092802082205450d00200928020421030340024020032d0000220a41034b0d002003200a41027441f8f8c580006a2802006a220a280200450d00200a41046a28020041002802a8bfd38000118080808000000b200341146a21032005417f6a22050d000b0b02402009280200450d00200928020441002802a8bfd38000118080808000000b200b41016a220b200d470d000b0b0240200228028c03450d00200e41002802a8bfd38000118080808000000b4102210341b8bdd3800021050c090b200128020421032001280208210a200128020c2109200241fc066a20014190016a290200370200200241f4066a20014188016a290200370200200241ec066a20014180016a290200370200200241e4066a200141f8006a290200370200200220093602d8062002200a3602d406200220033602d006200220012902703702dc06024002404199c2c88000411310bb90808000220541fe014b0d002002200541016a3602b0044199c2c880004113200241b0046a410441002802c8bdd380001183808080000041002802d0bdd38000118e8080800000200241b0046a41206a200141f0006a220541206a290200370300200241b0046a41186a200541186a290200370300200241b0046a41106a200541106a290200370300200241b0046a41086a200541086a2902003703002002200529020022043703b0042004a722052005280200417f6a220536020020022d00b4042101024020050d00200241b0046a10cd8b8080000b200141ff0171450d0102402003450d00200a41002802a8bfd38000118080808000000b41002802b8bdd38000118e8080800000200241bf0a6a10ac90808000410221030c070b20022802dc0622052005280200417f6a2205360200024020050d00200241dc066a10cd8b80800020022802d00621030b02402003450d0020022802d40641002802a8bfd38000118080808000000b410921030c060b200220093602d4022002200a3602d002200220033602cc02200241b0046a200241cc026a10b4898080004100280290bdd38000118e8080800000200241bf0a6a10ac90808000200041003a002020004200370308200042023703000c0a0b200241003602e006200241013602d406200241c084c180003602d006200242043702d806200241d0066a41c884c1800010f280808000000b41e490c58000108a81808000000b200241003602e006200241013602d406200241f4efc580003602d006200242043702d806200241d0066a41fcefc5800010f280808000000b200241033602ec09200241ace0c580003602e809200242033702f409200241f782808000ad4220862204200241c4096aad843703e00620022004200241dc096aad843703d8062002418483808000ad422086200241d0096aad843703d0062002200241d0066a3602f009200241e8096a41c4e0c5800010f280808000000b200241b0046a41086a200241d0066a41086a280200360200200220022903d0063703b00441e2e8c58000411f200241b0046a41d4e0c5800041b0efc5800010a481808000000b200041003a0021200020033a0020200041003a0018200042003703000c040b200220043703d0094100210a0b2004200a41016a108c89808000200242e9c5fea9cdfbc4d26d3700e80620024286aaece2939beae4653700e00620024289df9d82f3818192383700d806200242d7f0f3fea28baccae7003700d006200241e8096a200241d0066a412010ba8380800020022004420042f02e420010f196808000200220022903f009420020022802e8091b22043703e009200242d2e2d98fbe86bb05200229030042f02e8020022903084200521b22103703980a0240024002400240024020042010560d00200241d0066a200241b0046a410410b78980800020022903d806211120022903d0062112200241d0066a41186a200341186a290200370300200241d0066a41106a200341106a290200370300200241d0066a41086a220a200341086a2902003703002002200b3602f006200220032902003703d006200241e8096a41086a2203200241d0066a10bf8b808000200241013a00e809200241d2a0cd92053600e909200241e8096a109289808000200241e8096a200241b0046a10dd8180800020022d00e809410f470d01200220022d00e90922033a00f308200242dff88396b8eeb3817c3700e80620024283e3ced79d99b9c6c4003700e006200242b9e088b7b6cdc2d1133700d806200242c5e4f4b9cff9d18a0b3700d006200241e8096a200241d0066a4120108f84808000024020022802e8094102460d0020022d00840a210a200241f8096a10808a808000200a4102460d002002200a3a00e809200341ff0171200a470d030c050b200341ff01714102460d04024020034101710d0020024286f68fbaaaa6a6a6323700e80620024290a3c7c38f88c6c34f3700e006200242b9e088b7b6cdc2d1133700d806200242c5e4f4b9cff9d18a0b3700d006200241d0066a41204100280280bdd38000118b8080800000200241023a00d806200241173a00d00641014100200241d0066a10a98c8080000c050b20024286f68fbaaaa6a6a6323700e80620024290a3c7c38f88c6c34f3700e006200242b9e088b7b6cdc2d1133700d806200242c5e4f4b9cff9d18a0b3700d00641002106200241d0066a41204100280298bdd3800011848080800000450d0320024286f68fbaaaa6a6a6323700e80620024290a3c7c38f88c6c34f3700e006200242b9e088b7b6cdc2d1133700d806200242c5e4f4b9cff9d18a0b3700d006200241e8096a200241d0066a4120108c848080004101210a41002107024020022802e809220f418080808078460d00200241d0066a41204100280280bdd38000118b808080000020022802f009210620022802ec09210a200f21070b4198b4c580004105200a200641002802c8bdd3800011838080800000200241043a00d006200241d0066a109289808000200241163a00d006200241023a00d80641014100200241d0066a10a98c8080002002200b3602dc06200241013a00d806200241173a00d00641014100200241d0066a10a98c8080002007450d04200a41002802a8bfd38000118080808000000c040b200241043602ec09200241a4dfc580003602e809200242043702f4092002418483808000ad4220862204200241d0096aad843703e806200241f782808000ad422086200241c4096aad843703e00620022004200241980a6aad843703d80620022004200241e0096aad843703d0062002200241d0066a3602f009200241e8096a41c4dfc5800010f280808000000b200a2003280200360200200220022902e8093703d0064180efc58000411f200241d0066a41d4e0c5800041a0efc5800010a481808000000b200241003602d0064100200241f3086a200241e8096a200241d0066a41ccecc5800010d28c808000000b200241003602e006200241013602d406200241a8edc580003602d006200242043702d806200241d0066a41b0edc5800010f280808000000b200241e8096a200241b0046a10de81808000024020022d00e809410f460d00200241d0066a41086a200241e8096a41086a280200360200200220022902e8093703d00641cceec580004122200241d0066a41d4e0c5800041f0eec5800010a481808000000b20022d00e909108d898080002003108789808000200241d0066a200241b0046a41f8f5c08000412010e28180800020022802d0062203418180808078460d03024002402003418080808078460d00200241d7066a2d0000210a20022f00d506210b20022d00d4062106200220022802d80636029c0a20022006200b200a411074724108747222073602980a200241d0066a200241980a6a108282808000024020022802d00622060d00200241e8096a41086a200241de066a290100370300200241f8096a200241e6066a290100370300200241800a6a200241ee066a290100370300200241880a6a200241f6066a290100370300200241900a6a200241fe066a2f01003b0100200220022901d6063703e80920022d00d506210a20022d00d406210b0b02402003450d00200741002802a8bfd38000118080808000000b2006450d01410121030c070b410221030c060b2002419e096a200241e8096a41286a2f01003b010020024196096a200241e8096a41206a2903003701002002418e096a200241e8096a41186a29030037010020024186096a200241e8096a41106a290300370100200241fe086a200241e8096a41086a2203290300370100200220022903e8093701f6082002200a3a00f5082002200b3a00f408200241d0066a200241b0046a200241f4086a10db8180800020022802d0062213418080808078460d04200241a0096a41086a2203200241d0066a41206a220a290200370300200241a0096a41106a220b200241d0066a41286a2206290200370300200241a0096a41186a220720024180076a220f290200370300200220022902e8063703a00920022802e406211420022802e006211520022802dc06211620022802d40621172002280288072118200228028c07211920022802d806211a2002200241d8036a3602e809200242a9a5c4bef894cdeee7003700e806200242d4c584efa7e5bfee643700e006200242b9e088b7b6cdc2d1133700d806200242c5e4f4b9cff9d18a0b3700d006200241e8096a200241d0066a412010bf84808000200220093602d806200220083602d406200220053602d006200241d0066a108b89808000200f20072903003702002006200b290300370200200a2003290300370200200220022903a0093702e806201aad423c7e2204a7211b410021030240024002402004422088a70d00201b41fcffffff074b0d000240201b0d004104211c0c030b41002d00b8bfd380001a201b41002802b0bfd3800011828080800000221c0d01410421030b2003201b41b89dc5800010ae80808000000b201a450d00201741196a211d4100210a20172105201a210b0340201b200a460d012005280214210820052802102106200528020c21072005280208210f2005280204211e2005280200211f41002109024020052d00184101470d00200241e8096a41186a201d200a6a220341186a290000370300200241e8096a41106a200341106a290000370300200241e8096a41086a200341086a290000370300200220032900003703e809410121090b2005413c6a2105200241980a6a41186a200241e8096a41186a2903002204370300200241980a6a41106a200241e8096a41106a2903002210370300200241980a6a41086a200241e8096a41086a2903002220370300200220022903e80922213703980a201c200a6a220341186a20093a0000200341146a2008360200200341106a20063602002003410c6a2007360200200341086a200f360200200341046a201e3602002003201f360200200341196a2021370000200341216a2020370000200341296a2010370000200341316a2004370000200a413c6a210a200b417f6a220b0d000b0b2002201a3602d8062002201c3602d4062002201a3602d0062014ad423c7e2204a7211b410021030240024002402004422088a70d00201b41fcffffff074b0d000240201b0d004104211c0c030b41002d00b8bfd380001a201b41002802b0bfd3800011828080800000221c0d01410421030b2003201b41b89dc5800010ae80808000000b2014450d00201541196a211d4100210a201521052014210b0340201b200a460d012005280214210820052802102106200528020c21072005280208210f2005280204211e2005280200211f41002109024020052d00184101470d00200241e8096a41186a201d200a6a220341186a290000370300200241e8096a41106a200341106a290000370300200241e8096a41086a200341086a290000370300200220032900003703e809410121090b2005413c6a2105200241980a6a41186a200241e8096a41186a2903002204370300200241980a6a41106a200241e8096a41106a2903002210370300200241980a6a41086a200241e8096a41086a2903002220370300200220022903e80922213703980a201c200a6a220341186a20093a0000200341146a2008360200200341106a20063602002003410c6a2007360200200341086a200f360200200341046a201e3602002003201f360200200341196a2021370000200341216a2020370000200341296a2010370000200341316a2004370000200a413c6a210a200b417f6a220b0d000b0b2002201936028c072002201836028807200220143602e4062002201c3602e006200220143602dc06200241d0066a109089808000200241d0066a41286a200241f4086a41286a280200360200200241d0066a41206a200241f4086a41206a290200370300200241d0066a41186a200241f4086a41186a290200370300200241d0066a41106a200241f4086a41106a290200370300200241d0066a41086a200241f4086a41086a290200370300200220022902f4083703d006200241d0066a108689808000200241d0066a200241a0096a20024190046a10b98980800020022903d006210420022903d8062110200241d0066a2017201a200241a0046a20022802e40310ba8980800020022903d00621202002427f427f201120107c221020102011541b221020022903d8067c222120212010541b3703d8062002427f2020427f201220047c220420042012541b22047c221020102004541b3703d006200241023a00e809200241d0066a200241e8096a10988980800002402013450d00201741002802a8bfd38000118080808000000b02402016450d00201541002802a8bfd38000118080808000000b200241b0046a10d38c8080000240200e450d004100210b03400240200d200b41f0006c6a22092802082205450d00200928020421030340024020032d0000220a41034b0d002003200a41027441f8f8c580006a2802006a220a280200450d00200a41046a28020041002802a8bfd38000118080808000000b200341146a21032005417f6a22050d000b0b02402009280200450d00200928020441002802a8bfd38000118080808000000b200b41016a220b200e470d000b0b0240200c450d00200d41002802a8bfd38000118080808000000b024020022802d803450d0020022802dc0341002802a8bfd38000118080808000000b410f21034190bdd3800021050b2005280200118e8080800000200241bf0a6a10ac908080000b0240200128024c2205418080808078460d002005450d00200128025041002802a8bfd38000118080808000000b02402003410f470d0020002002290122370112200041003a00202000420037030820004202370300200041186a200241286a2901003701000c010b200041003a0021200020033a0020200041003a0018200042003703002000200229012237012220004100360230200041286a200241286a2901003701000b200241c00a6a2480808080000f0b410021030c010b2003200241dc066a280200360200200220022902d4063703e80941c0edc580004132200241e8096a41d4e0c5800041f4edc5800010a481808000000b200220033a00d106200241063a00d0064184eec580004135200241d0066a41d4e0c5800041bceec5800010a481808000000bf60201047f23808080800041c0006b220224808080800020022000360204410121000240200128021c220341a4f2c5800041042001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110bc888080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10bc888080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41b0f0c580002005410c6a41b0f0c580002003200410f780808000000bd90404047f017e017f017e024020002802cc012201450d00024020002802d4012202450d0020002802c801220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341807d6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2005427f7c210702402003410020057aa74103766b41306c6a220641706a280200450d00200641746a28020041002802a8bfd38000118080808000000b200720058321052002417f6a22020d000b0b2001200141016aad42307ea722046a4177460d0020002802c80120046b41002802a8bfd38000118080808000000b0240200028028002450d0020002802840241002802a8bfd38000118080808000000b024020002802042204418080808078460d0002402004450d00200028020841002802a8bfd38000118080808000000b0240200028024c2204418080808078460d002004450d00200028025041002802a8bfd38000118080808000000b024020002802582204418080808078460d002004450d00200028025c41002802a8bfd38000118080808000000b20002802142102024020002802182203450d00200241086a210403402004280200220620062802002206417f6a360200024020064101470d00200410e08a8080000b200441306a21042003417f6a22030d000b0b02402000280210450d00200241002802a8bfd38000118080808000000b20002802444129490d00200028021c41002802a8bfd38000118080808000000b0be40501047f23808080800041106b22032480808080000240024002400240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410b7908080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d0320012802180d0620040d042001417f36020c200228029801280200210541002d00b8bfd380001a411041002802b0bfd38000118280808000002204450d052004200536020c2004410036020820044281808080103702000240200128021822052001280210470d00200141106a41ecd3c5800010e38a8080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210d08c808000200128020c0d072001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310b7908080000b2001200128020c41016a36020c0c080b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41ccd3c58000108181808000000b41dcd3c58000108081808000000b4104411010b980808000000b2000200210d08c8080000c010b41e8f3c58000108081808000000b20012001280204417f6a360204200341106a2480808080000be40e01057f23808080800041d0046b2202248080808000024002400240024002400240024002400240024002400240024002402000280204220341ffffffff074f0d00024002402000280208450d00200341016a21030c010b200241b0026a20002802001180808080000020002802040d02417f21032000417f3602040240024020002802080d0020004101360208200020022902b00237020c200041146a200241b8026a2902003702000c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310e6818080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b20004101360208200020022902b00237020c200041146a200241b8026a29020037020020002000280204220341016a2204360204200441feffffff074b0d040b200341026a21030b20002003360204200028020c0d032000417f36020c2001280200220328020021042003280204210541002d00b8bfd380001a411441002802b0bfd38000118280808000002203450d04200320053602102003200436020c2003410036020820034281808080103702000240200028021822042000280210470d00200041106a418cd4c5800010e38a8080000b200028021420044102746a20033602002000200441016a3602182000200028020c41016a36020c41002802e0bcd38000220341ffffffff074f0d052001280208210620012802042101024041002802e4bcd380000d00200241b0026a41002802dcbcd380001180808080000041002802e0bcd380000d074100417f3602e0bcd38000024041002802e4bcd380000d0041002103410041013602e4bcd38000410020022902b0023702e8bcd380004100200241b8026a2902003702f0bcd380000c010b024041002802f4bcd380002204450d0041002802f0bcd3800021030340200328020022052005280200417f6a2205360200024020050d00200310c7928080000b200341046a21032004417f6a22040d000b0b024041002802ecbcd38000450d0041002802f0bcd3800041002802a8bfd38000118080808000000b410041013602e4bcd38000410020022902b0023702e8bcd380004100200241b8026a2902003702f0bcd38000410041002802e0bcd3800041016a22033602e0bcd38000200341ffffffff074f0d080b4100200341016a3602e0bcd3800041002802e8bcd380000d084100417f3602e8bcd3800041002d00b8bfd380001a411441002802b0bfd38000118280808000002203450d092003418ceac580003602102003200136020c200341003602082003428180808010370200024041002802f4bcd38000220441002802ecbcd38000470d0041ecbcd38000418cd4c5800010e38a8080000b41002802f0bcd3800020044102746a20033602004100200441016a3602f4bcd38000410041002802e8bcd3800041016a3602e8bcd38000200242d8c192ad8deac8dd3f3700c80220024284ceb68ad8c4c79c8f7f3700c002200242e7eacab6b7c9acbc263700b8022002428de2fdb2e288b2fcd7003700b002200241086a200241b0026a4120108a8480800020022802082103200228020c21040240024020062802600d0020024100360218200241003602100c010b20062802582205450d0b200241106a2005200628025c108d8b8080000b200241b0026a200441e40020034101711b200641106a200241106a10da8180800020022802b004418080808078460d0b200241106a200241b0026a41a00210e9968080001a200241003602d002200241003602c002200241003602b002200241b0026a10fa89808000200241106a10d38c80800041002802e8bcd380000d0c4100417f3602e8bcd38000024041002802f4bcd380002203450d0041002003417f6a22033602f4bcd38000200241002802f0bcd3800020034102746a28020022033602b00220032003280200417f6a220436020020040d00200241b0026a10c7928080000b410041002802e8bcd3800041016a3602e8bcd38000410041002802e0bcd38000417f6a3602e0bcd38000200028020c0d0d2000417f36020c024020002802182203450d0020002003417f6a22033602182002200028021420034102746a28020022033602b00220032003280200417f6a220436020020040d00200241b0026a10e6818080000b2000200028020c41016a36020c20002000280204417f6a360204200241d0046a2480808080000f0b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41fcd3c58000108081808000000b4104411410b980808000000b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41fcd3c58000108081808000000b4104411410b980808000000b41e490c58000108a81808000000b200241106a41086a200241b0026a41086a280200360200200220022903b00237031041e2e8c58000411f200241106a41d4e0c580004184e9c5800010a481808000000b41e8f3c58000108081808000000b41e8f3c58000108081808000000ba318030d7f017e027f23808080800041c0006b2202248080808000024002400240024002400240024002400240024002400240024002402000280204220341ffffffff074f0d00024002402000280208450d00200341016a21030c010b200241206a20002802001180808080000020002802040d02417f21032000417f3602040240024020002802080d00200041013602082000200229022037020c200041146a200241286a2902003702000c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310e6818080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b200041013602082000200229022037020c200041146a200241286a29020037020020002000280204220341016a2204360204200441feffffff074b0d040b200341026a21030b20002003360204200028020c0d032000417f36020c2001280200220328020021042003280204210541002d00b8bfd380001a411441002802b0bfd38000118280808000002203450d04200320053602102003200436020c2003410036020820034281808080103702000240200028021822042000280210470d00200041106a418cd4c5800010e38a8080000b200028021420044102746a20033602002000200441016a3602182000200028020c41016a36020c41002802e0bcd38000220341ffffffff074f0d05200128022c2106200128022821072001280224210820012802202109200128021c210a2001280218210b2001280214210c200128021021042001280208210d2001280204210e024041002802e4bcd380000d00200241206a41002802dcbcd380001180808080000041002802e0bcd380000d074100417f3602e0bcd38000024041002802e4bcd380000d0041002103410041013602e4bcd38000410020022902203702e8bcd380004100200241286a2902003702f0bcd380000c010b024041002802f4bcd380002201450d0041002802f0bcd3800021030340200328020022052005280200417f6a2205360200024020050d00200310c7928080000b200341046a21032001417f6a22010d000b0b024041002802ecbcd38000450d0041002802f0bcd3800041002802a8bfd38000118080808000000b410041013602e4bcd38000410020022902203702e8bcd380004100200241286a2902003702f0bcd38000410041002802e0bcd3800041016a22033602e0bcd38000200341ffffffff074f0d080b4100200341016a3602e0bcd3800041002802e8bcd380000d084100417f3602e8bcd3800041002d00b8bfd380001a411441002802b0bfd38000118280808000002203450d092003418ceac580003602102003200e36020c200341003602082003428180808010370200024041002802f4bcd38000220141002802ecbcd38000470d0041ecbcd38000418cd4c5800010e38a8080000b41002802f0bcd3800020014102746a20033602004100200141016a3602f4bcd38000410041002802e8bcd3800041016a3602e8bcd38000200d2802002101200d418080808078360200200d290204210f200242bdb9c185ebd5beb6e0003700382002428ab9b2f0b1fbfe8ab77f370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b370020200241146a200241206a4120108c8480800020022802142103024002402001418080808078470d002002290218210f0c010b02402003418080808078460d002003450d00200228021841002802a8bfd38000118080808000000b200121030b0240200d2802002201418080808078460d002001450d00200d28020441002802a8bfd38000118080808000000b200d200f370204200d2003360200200242908cf1f9cc86e8f851370038200242d4a4d2bc9ca3a4d768370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b370020200241146a200241206a412010938480800041042002280218200228021422104180808080784622031b211102404100200228021c20031b2203450d0020112003410c6c6a210d201121030340024020032802002205418080808078460d002003290204210f2004280208220141ffff004b0d0d024020012004280200470d00200441e4f7c3800010ed8a8080000b20042802042001410c6c6a220e200f370204200e20053602002004200141016a3602080b2003410c6a2203200d470d000b0b0240201041808080807872418080808078460d00201141002802a8bfd38000118080808000000b200242efe0d69cf8bda6cb5d370038200242d6e9cddfbec0b7fd78370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b370020200241086a200241206a4120108a84808000200c200c280200200228020c410020022802084101711b6a360200200242e3d488ecd2ee88dde300370038200242ce80d7eca9b9a7a316370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b370020200241146a200241206a412010828480800041042002280218200228021422044180808080784622031b21054100200420031b210e0240024002400240200b28020822044100200228021c20031b22036a220d41818001490d0002402003450d002003410171210b41002104024020034101460d00200341feffff3f7121012005210341002104034002402003280200450d00200341046a28020041002802a8bfd38000118080808000000b0240200341106a280200450d00200341146a28020041002802a8bfd38000118080808000000b200341206a21032001200441026a2204470d000b0b200b450d00200520044104746a2203280200450d00200328020441002802a8bfd38000118080808000000b200e0d010c020b2003410474210102400240200b28020020046b2003490d00200d21030c010b200b200420034104411010948a808000200b280208220420036a21030b200b28020420044104746a2005200110e9968080001a200b2003360208200e450d020b200541002802a8bfd38000118080808000000b200d418080014b0d0c0b200242939685e2c5afc3c644370038200242dbfcc3e0bc84a3df01370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b3700202002200241206a4120108a84808000200a2002280204410020022802004101711b3602000240200928020041016a2008280200470d002002428ba4f08ac7ad89c4ad7f370038200242d7c9cea6cfa8b4c4a47f370030200242b9e088b7b6cdc2d113370028200242c5e4f4b9cff9d18a0b370020200241146a200241206a4120108c84808000024002402002280214418080808078470d00200241206a200610e9838080000c010b200241206a41086a200241146a41086a280200360200200220022902143703200b024020072802002203418080808078460d002003450d00200728020441002802a8bfd38000118080808000000b20072002290320370200200741086a200241206a41086a2802003602000b41002802e8bcd380000d0c4100417f3602e8bcd38000024041002802f4bcd380002203450d0041002003417f6a22033602f4bcd38000200241002802f0bcd3800020034102746a280200220336022020032003280200417f6a220436020020040d00200241206a10c7928080000b410041002802e8bcd3800041016a3602e8bcd38000410041002802e0bcd38000417f6a3602e0bcd38000200028020c0d0d2000417f36020c024020002802182203450d0020002003417f6a22033602182002200028021420034102746a280200220336022020032003280200417f6a220436020020040d00200241206a10e6818080000b2000200028020c41016a36020c20002000280204417f6a360204200241c0006a2480808080000f0b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41fcd3c58000108081808000000b4104411410b980808000000b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41fcd3c58000108081808000000b4104411410b980808000000b2002200f3702242002200536022041f5fbc3800041cd00200241206a41b8d1c3800041a8fdc3800010a481808000000b41a4e9c5800041d500200241206a4194e9c5800041fce9c5800010a481808000000b41e8f3c58000108081808000000b41e8f3c58000108081808000000be30501047f23808080800041106b22032480808080000240024002400240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410b7908080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d0320012802180d0620040d042001417f36020c2002280234280200210541002d00b8bfd380001a411041002802b0bfd38000118280808000002204450d052004200536020c2004410036020820044281808080103702000240200128021822052001280210470d00200141106a41ecd3c5800010e38a8080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210d88c808000200128020c0d072001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310b7908080000b2001200128020c41016a36020c0c080b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41ccd3c58000108181808000000b41dcd3c58000108081808000000b4104411010b980808000000b2000200210d88c8080000c010b41e8f3c58000108081808000000b20012001280204417f6a360204200341106a2480808080000be50a01047f2380808080004180016b22022480808080002001410c6a210302400240024002400240024020012802002204418080808078460d00200241206a200341206a290200370300200241186a200341186a290200370300200241106a200341106a290200370300200241086a200341086a29020037030020022003290200370300024002404199c2c88000411310bb90808000220341ff01490d00410921052004450d01200128020441002802a8bfd38000118080808000000c010b2002200341016a36025c4199c2c880004113200241dc006a410441002802c8bdd380001183808080000041002802d0bdd38000118e808080000020012802082105200128020421012002428ba4f08ac7ad89c4ad7f370074200242d7c9cea6cfa8b4c4a47f37006c200242b9e088b7b6cdc2d113370064200242c5e4f4b9cff9d18a0b37005c20012005200241dc006a4120109a8380800002402004450d00200141002802a8bfd38000118080808000000b4100280290bdd38000118e8080800000200241ff006a10ac90808000410f21050b200228020022012001280200417f6a2201360200024020010d00200210cd8b8080000b200341fe014b0d01200041003a002020004200370308200042023703000c050b200241206a200341206a290200370300200241186a200341186a290200370300200241106a200341106a290200370300200241086a200341086a290200370300200220032902003703004109210102404199c2c88000411310bb90808000220341fe014b0d002002200341016a36025c4199c2c880004113200241dc006a410441002802c8bdd380001183808080000041002802d0bdd38000118e80808000002002412c6a41d9f6c58000410610ff90808000200241386a41dff6c58000410610ff90808000200241c4006a41cef6c58000410541c9f6c58000410541002802a8bed380001187808080000002402002280244418080808078460d00200241d0006a41086a200241c4006a41086a280200220136020020022002290244370350200120022802342204470d04200228023020022802542201200410ed968080000d042002280250450d00200141002802a8bfd38000118080808000000b200241c4006a41d3f6c58000410641c9f6c58000410541002802a8bed3800011878080800000024002402002280244418080808078470d0020022802402104200228023c21010c010b200241d0006a41086a200241c4006a41086a280200220136020020022002290244370350200120022802402204470d05200228023c220120022802542205200410ed968080000d052002280250450d00200541002802a8bfd38000118080808000000b41cef6c58000410541c9f6c58000410520022802302205200228023441002802c8bed38000118c808080000041d3f6c58000410641c9f6c5800041052001200441002802c8bed38000118c808080000002402002280238450d00200141002802a8bfd38000118080808000000b0240200228022c450d00200541002802a8bfd38000118080808000000b4100280290bdd38000118e8080800000200241ff006a10ac90808000410f21010b200228020022042004280200417f6a2204360200024020040d00200210cd8b8080000b200341fe014b0d01200041003a002020004200370308200042023703000c040b200041003a0021200020053a0020200041003a0018200042003703000c030b200041003a0021200020013a0020200041003a0018200042003703000c020b2002410036025c41002002412c6a200241d0006a200241dc006a41acf7c5800010fd8c808000000b2002410036025c4100200241386a200241d0006a200241dc006a41bcf7c5800010fd8c808000000b20024180016a2480808080000be40501047f23808080800041106b22032480808080000240024002400240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410b7908080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d0320012802180d0620040d042001417f36020c200228029001280200210541002d00b8bfd380001a411041002802b0bfd38000118280808000002204450d052004200536020c2004410036020820044281808080103702000240200128021822052001280210470d00200141106a41ecd3c5800010e38a8080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210b58c808000200128020c0d072001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310b7908080000b2001200128020c41016a36020c0c080b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41ccd3c58000108181808000000b41dcd3c58000108081808000000b4104411010b980808000000b2000200210b58c8080000c010b41e8f3c58000108081808000000b20012001280204417f6a360204200341106a2480808080000be30501047f23808080800041106b22032480808080000240024002400240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410b7908080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d0320012802180d0620040d042001417f36020c200228022c280200210541002d00b8bfd380001a411041002802b0bfd38000118280808000002204450d052004200536020c2004410036020820044281808080103702000240200128021822052001280210470d00200141106a41ecd3c5800010e38a8080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210b18c808000200128020c0d072001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310b7908080000b2001200128020c41016a36020c0c080b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41ccd3c58000108181808000000b41dcd3c58000108081808000000b4104411010b980808000000b2000200210b18c8080000c010b41e8f3c58000108081808000000b20012001280204417f6a360204200341106a2480808080000be30501047f23808080800041106b22032480808080000240024002400240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410b7908080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d0320012802180d0620040d042001417f36020c2002280238280200210541002d00b8bfd380001a411041002802b0bfd38000118280808000002204450d052004200536020c2004410036020820044281808080103702000240200128021822052001280210470d00200141106a41ecd3c5800010e38a8080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210b08c808000200128020c0d072001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310b7908080000b2001200128020c41016a36020c0c080b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41ccd3c58000108181808000000b41dcd3c58000108081808000000b4104411010b980808000000b2000200210b08c8080000c010b41e8f3c58000108081808000000b20012001280204417f6a360204200341106a2480808080000be30501047f23808080800041106b22032480808080000240024002400240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410b7908080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d0320012802180d0620040d042001417f36020c2002280250280200210541002d00b8bfd380001a411041002802b0bfd38000118280808000002204450d052004200536020c2004410036020820044281808080103702000240200128021822052001280210470d00200141106a41ecd3c5800010e38a8080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210ad8c808000200128020c0d072001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310b7908080000b2001200128020c41016a36020c0c080b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41ccd3c58000108181808000000b41dcd3c58000108081808000000b4104411010b980808000000b2000200210ad8c8080000c010b41e8f3c58000108081808000000b20012001280204417f6a360204200341106a2480808080000be30501047f23808080800041106b22032480808080000240024002400240024002400240024002402001280204220441ffffffff074f0d00024020012802080d00200320012802001180808080000020012802040d022001417f360204024020012802080d00200141013602082001200329020037020c200141146a200341086a290200370200410021040c010b024020012802182205450d00200128021421040340200428020022062006280200417f6a2206360200024020060d00200410b7908080000b200441046a21042005417f6a22050d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200141013602082001200329020037020c200141146a200341086a2902003702002001200128020441016a2204360204200441ffffffff074f0d030b2001200441016a360204200128020c220441ffffffff074f0d0320012802180d0620040d042001417f36020c2002280250280200210541002d00b8bfd380001a411041002802b0bfd38000118280808000002204450d052004200536020c2004410036020820044281808080103702000240200128021822052001280210470d00200141106a41ecd3c5800010e38a8080000b200128021420054102746a20043602002001200541016a3602182001200128020c41016a36020c2000200210ab8c808000200128020c0d072001417f36020c024020012802182204450d0020012004417f6a22043602182003200128021420044102746a280200220436020020042004280200417f6a220536020020050d00200310b7908080000b2001200128020c41016a36020c0c080b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41ccd3c58000108181808000000b41dcd3c58000108081808000000b4104411010b980808000000b2000200210ab8c8080000c010b41e8f3c58000108081808000000b20012001280204417f6a360204200341106a2480808080000b870c01057f2380808080004180016b22022480808080000240024002400240024002400240024002400240024002402000280204220341ffffffff074f0d00024002402000280208450d00200341016a21030c010b200241046a20002802001180808080000020002802040d02417f21032000417f3602040240024020002802080d00200041013602082000200229020437020c200041146a2002410c6a2902003702000c010b024020002802182204450d00200028021421030340200328020022052005280200417f6a2205360200024020050d00200310e6818080000b200341046a21032004417f6a22040d000b0b02402000280210450d00200028021441002802a8bfd38000118080808000000b200041013602082000200229020437020c200041146a2002410c6a29020037020020002000280204220341016a2204360204200441feffffff074b0d040b200341026a21030b20002003360204200028020c0d032000417f36020c200128028001220328020021042003280204210541002d00b8bfd380001a411441002802b0bfd38000118280808000002203450d04200320053602102003200436020c2003410036020820034281808080103702000240200028021822042000280210470d00200041106a418cd4c5800010e38a8080000b200028021420044102746a20033602002000200441016a3602182000200028020c41016a36020c41002802e0bcd38000220341ffffffff074f0d05200128027c2106024041002802e4bcd380000d00200241046a41002802dcbcd380001180808080000041002802e0bcd380000d074100417f3602e0bcd38000024041002802e4bcd380000d0041002103410041013602e4bcd38000410020022902043702e8bcd3800041002002410c6a2902003702f0bcd380000c010b024041002802f4bcd380002204450d0041002802f0bcd3800021030340200328020022052005280200417f6a2205360200024020050d00200310c7928080000b200341046a21032004417f6a22040d000b0b024041002802ecbcd38000450d0041002802f0bcd3800041002802a8bfd38000118080808000000b410041013602e4bcd38000410020022902043702e8bcd3800041002002410c6a2902003702f0bcd38000410041002802e0bcd3800041016a22033602e0bcd38000200341ffffffff074f0d080b4100200341016a3602e0bcd3800041002802e8bcd380000d084100417f3602e8bcd3800041002d00b8bfd380001a411441002802b0bfd38000118280808000002203450d09200341acebc580003602102003200636020c200341003602082003428180808010370200024041002802f4bcd38000220441002802ecbcd38000470d0041ecbcd38000418cd4c5800010e38a8080000b41002802f0bcd3800020044102746a20033602004100200441016a3602f4bcd38000410041002802e8bcd3800041016a3602e8bcd38000200241046a200141fc0010e9968080001a200241046a10cb8480800041002802e8bcd380000d0a4100417f3602e8bcd38000024041002802f4bcd380002203450d0041002003417f6a22033602f4bcd38000200241002802f0bcd3800020034102746a280200220336020420032003280200417f6a220436020020040d00200241046a10c7928080000b410041002802e8bcd3800041016a3602e8bcd38000410041002802e0bcd38000417f6a3602e0bcd38000200028020c0d0b2000417f36020c024020002802182203450d0020002003417f6a22033602182002200028021420034102746a280200220336020420032003280200417f6a220436020020040d00200241046a10e6818080000b2000200028020c41016a36020c20002000280204417f6a36020420024180016a2480808080000f0b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41fcd3c58000108081808000000b4104411410b980808000000b4184d5c58000108181808000000b4194d5c58000108081808000000b41a4d5c58000108181808000000b41fcd3c58000108081808000000b4104411410b980808000000b41e8f3c58000108081808000000b41e8f3c58000108081808000000beb0303017f027e027f23808080800041f0006b2203248080808000200241386a290300210420022903302105200341e4006a200110ff87808000200320032802682206200328026c10968480800002402003280264450d00200641002802a8bfd38000118080808000000b200341e4006a200110ff87808000200320032802682207200328026c1096848080002003280200200328025841004771210602402003280264450d00200741002802a8bfd38000118080808000000b0240024020060d00200341e4006a200110ff87808000200320032802682207200328026c1096848080002003280200200328025c41004771210602402003280264450d00200741002802a8bfd38000118080808000000b20060d002003200110ff878080002003280204220220032802084100280280bdd38000118b80808000002003280200450d01200241002802a8bfd38000118080808000000c010b200341186a200241086a290300370300200341206a200241106a290300370300200341286a200241186a290300370300200341306a200241206a290300370300200341386a200241286a290300370300200342003703082003420137030020032005370340200320043703482003200229030037031020012003108f888080000b2000410f3a0000200341f0006a2480808080000bab0501057f23808080800041106b22012480808080002001410036020c20014280808080800137020441002d00b8bfd380001a0240024002400240410841002802b0bfd38000118280808000002202450d00200241d4d8c580003602002002412836020441002d00b8bfd380001a410841002802b0bfd38000118280808000002203450d0120034200370000200141046a41ac99c4800010a58a808000200128020822044293888c8f89fdc6ec9e7f37020820044100360200200441013a0074200441013602702004200236026c2004428880808010370264200420033602602004410836025c20044203370244200441899fc48000360240200441e980808000360218200442a5e9e3ab9e929adc2c3702102001410136020c41002d00b8bfd380001a412041002802b0bfd38000118280808000002202450d02200241f8d6c58000360200200241d10036021c20024183d8c58000360218200241d500360214200241aed7c580003602102002410036020c200242b68080801037020441002d00b8bfd380001a410141002802b0bfd38000118280808000002203450d03200341003a00000240200128020c22052001280204470d00200141046a41ac99c4800010a58a8080000b2001280208200541f8006c6a220441013a0074200441043602702004200236026c20044281808080c000370264200420033602602004410136025c20044209370244200441849cc48000360240200441f280808000360218200442febac4ad81b6fafcb37f37021020044298848fa1dab08ba17437020820044100360200200041086a200541016a3602002000200129020437020020004109360210200041bcc6c3800036020c200141106a2480808080000f0b4104410810b980808000000b4101410810b980808000000b4104412010b980808000000b4101410110b980808000000bfa0201037f41002d00b8bfd380001a0240024041d00041002802b0bfd38000118280808000002201450d0041002d00b8bfd380001a0240410841002802b0bfd38000118280808000002202450d002002420037000041002d00b8bfd380001a413041002802b0bfd380001182808080000022030d024104413010b980808000000b4101410810b980808000000b410841d00010b980808000000b2003411c36022c2003419cdbc58000360228200341d800360224200341c4dac58000360220200341d20036021c200341f2d9c58000360218200341d3003602142003419fd9c580003602102003410036020c200342a380808010370204200341fcd8c580003602002001200236022420014108360220200142063702342001200336023020014288808080e000370328200141e980808000360218200142a5e9e3ab9e929adc2c37031020014293888c8f89fdc6ec9e7f3703082001410d360204200141b8dbc580003602002000410136020820002001360204200041013602000bc20202067f017e23808080800041106b220224808080800002400240024002400240024002400240200128020022032802082204280204200428020c22054b0d00024020042802082204280208220620042802102205470d00410121040c030b200541016a2207450d03200720064b0d042004280204210620042007360210200620056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2003427f200329030042017c22082008501b370300410021040b20044101710d02200541ff01710d032002200110ca83808000024020022802000d002002290308210820004200370300200020083703080c050b200042013703000c040b417f200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000b200042013703000c010b200042013703000b200241106a2480808080000be80403067f017e027f23808080800041c0006b2201248080808000200141186a419dcfc58000410441ceadc5800041184104410010c791808000200142043702102001420037020820014280808080800137020041002d00b8bfd380001a024002400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241ecadc5800036020020014101360238200120023602302001200241206a36023c200120023602342001200141306a41bccec2800010b08b80800041002d00b8bfd380001a20012802002103200128020421042001280208210520012802182106200129021c2107410841002802b0bfd38000118280808000002208450d01200841002903e8cfc580003702002001410036020820014280808080c000370200200141246a200141a0ddc58000410310ec85808000200128022c210920012802282102200120012802243602082001200236020020012002200941246c6a36020c20012002360204200141306a200141bccec2800010af8b8080002006418080808078460d022001200336020820012004360200200120043602042001200420054105746a36020c200041c4006a200141a892c4800010b08b8080002001410b6a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000320002001290000370001200041086a200141076a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410841c0f1c5800010ae80808000000b41f0e1c1800041114184e2c18000108b81808000000ba90301057f23808080800041206b220224808080800041002103024002400240024002400240024041012001280208220441056a20012802002205418080808078461b22064100480d002006450d0141002d00b8bfd380001a200641002802b0bfd380001182808080000022030d02410121030b2003200641fce1c5800010ae80808000000b20024100360214200242808080801037020c2002410c6a4100410110fc9080800020022802102103200228021421062005418080808078460d030c010b200220033602102002200636020c2005418080808078460d01410021060b200320066a41013a00002002200641016a36021420012802042101200220043602182002200241186a36021c2002411c6a2002410c6a10d5838080000240200228020c200228021422066b20044f0d002002410c6a2006200410fc90808000200228021421060b200228021020066a2001200410e9968080001a2002200620046a3602140c020b410021060b200320066a41003a00002002200641016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000bce0201047f23808080800041106b2202248080808000410221030240024002400240024020012d000022040e110202020002020201010102020202010403020b410821030c030b410421030c020b410321030c010b4101410220012d000222034102491b4102410120034107461b20012d00011b41026a21030b41002d00b8bfd380001a0240200341002802b0bfd38000118280808000002205450d0020022005360208200220033602040240024020044110460d00200541003a000002402004410f470d00200541003a00012002410236020c0c020b200541013a00012002410236020c2001200241046a10e3878080000c010b200541013a00002002410136020c200141016a200241046a10d9868080000b20002002290204370200200041086a200241046a41086a280200360200200241106a2480808080000f0b4101200341fce1c5800010ae80808000000bbc0301047f23808080800041106b22022480808080000240024020012802102203418080808078460d00417f417f2001280224410c6c417f2001280218410c6c2204410c6a22052005200441046a491b22046a41046a220520052004491b220441096a220520052004491b21040c010b4101410220012d000122044102491b4102410120044107461b20012d00001b41016a21040b410021050240024002400240024002400240200441016a22044100480d002004450d0141002d00b8bfd380001a200441002802b0bfd380001182808080000022050d02410121050b2005200441fce1c5800010ae80808000000b2002410036020c2002428080808010370204200241046a4100410110fc9080800020022802082105200228020c21042003418080808078470d010c030b20022005360208200220043602042003418080808078460d01410021040b200520046a41003a00002002200441016a36020c2001200241046a10d8868080000c020b410021040b200520046a41013a00002002200441016a36020c2001200241046a10d9868080000b20002002290204370200200041086a200241046a41086a280200360200200241106a2480808080000ba30f02077f097e23808080800041d0036b2208248080808000024020022d000422094101470d00200841b8016a2002411d6a290000370300200841b0016a200241156a290000370300200841a8016a2002410d6a290000370300200820022900053703a0010b02400240024002400240024002402002280200220a280200220b417f460d0020084180016a41186a220c200841a0016a41186a29030037030020084180016a41106a220d200841a0016a41106a29030037030020084180016a41086a220e200841a0016a41086a290300370300200820082903a00137038001200a200b36020020094101470d01200841e0006a41186a200c290300370300200841e0006a41106a200d290300370300200841e0006a41086a200e2903003703002008200829038001370360200841a0016a2005427f2004290300220f20042903107c22102010200f541b2211427f2004290308220f20042903187c22102010200f541b221220012903002213200141086a290300221420042d002120042d0020220410ca8a808000420021104200210f024020082802a001410171450d00427f427f200841b8016a290300220f200841c8016a2903007c20082903b001221020082903c0017c22152010542201ad7c221020012010200f542010200f511b22011b220f200841d8016a2903007c427f201520011b221020082903d0017c22152010542201ad7c221020012010200f542010200f511b22011b210f427f201520011b21100b02400240427f201020082903e0017c221520152010542201200f200841e8016a2903007c2001ad7c2210200f542010200f511b22011b2215427f201020011b221684500d00200841a0016a200841e0006a2015201610848880800020082903a00142078520082903a8018450450d010b200841a0016a10cb8780800020082903c003210f2005200441027441ecf8c580006a280200220a2005200a491b410120051b21050240024020082903b80322104200520d00427f2110200f500d010c050b201020102011420120114201561b221120102011541b802110200f50450d04427f210f0c050b2008411f3602cc032008419ce7c580003602c8034201210f41002802ecbfd38000450d05200841ed80808000ad422086200841c8036aad8437038801200841f680808000ad42208641bcd6c48000ad843703800141002802d4bcd38000210141002802d0bcd38000210941002802e8bfd38000210b200842023702d801200841c8d6c480003602cc01200841123602c801200841a2d7c480003602c401200842ca808080103702bc01200841d8d6c480003602b8012008421b3702b001200841b4d7c480003602ac01200841003602a8012008428180808090203702a001200841023602d001200141c4dbc88000200b410246220b1b2802102101200820084180016a3602d401200941dcdbc88000200b1b200841a0016a2001118b80808000000c050b2000420037030820004202370300200041013b0011200041003a0010200a200a280200417f6a220036020020000d05200210cd8b8080000c050b000b2000420037030820004201370300200041013a0078200042043703702000420037036820004280808080c0003703602000427f37035820004200370350200041a0016a200241206a29020037020020004198016a200241186a29020037020020004190016a200241106a29020037020020004188016a200241086a29020037020020002002290200370280010c030b200f200f2012420120124201561b2211200f2011541b80210f0b2010200f2010200f541b210f0b2005450d01200841c0006a427f2014201342017c221050ad7c221120102011845022011b4200200f200a20056ead2211200f2011541b2211420010f196808000200841d0006a427f201020011b42002011420010f196808000427f200841d0006a41086a290300220f20082903407c221020082903484200522010200f547222051b210f427f200829035020051b2110024020044101470d002008201642004205420010f196808000200841306a201542004205420010f196808000200841106a427f200841306a41086a290300221220082903007c2217200829030842005220172012547222041b42002011420010f196808000200841206a427f200829033020041b42002011420010f196808000427f200f427f200841206a41086a290300221120082903107c2212200829031842005220122011547222041b7c2010427f200829032020041b7c22112010542204ad7c221020042010200f542010200f511b22041b210f427f201120041b21100b200020082903603700302000200229020037028001200041c8006a200841e0006a41186a290300370000200041c0006a200841e0006a41106a290300370000200041386a200841e0006a41086a29030037000020004188016a200241086a29020037020020004190016a200241106a29020037020020004198016a200241186a290200370200200041a0016a200241206a290200370200200020163703282000201537032020002014370318200020133703102000420037030820004200370300200041013a0078200042043703702000420037036820004280808080c0003703602000427f37035820002010427f200f501b3703500b200841d0036a2480808080000f0b41bce7c58000108881808000000bb90102037f017e23808080800041c0006b2202248080808000200242b0f2f7f283ece7d10b370038200242cbf2abd1d7a8b9e0d70037003020024284c2b1b3ef9292841e370028200242bce2f4b8c5daf6fa29370020200241086a200241206a41201092848080000240024020022802080d00410121030c010b200228021821042002290310210541002103200010b88980800041034b0d002004410249200520015420052001511b21030b200241c0006a24808080800020030bd50c01077f23808080800041c0006b2200248080808000200041206a41d4c6c3800041064100280290bfd3800011858080800000200041206a41106a220141809ac5800041154100280290bfd3800011858080800000200041186a2202200041206a41186a2203290000370300200041106a22042001290000370300200041086a2205200041206a41086a220629000037030020002000290020370300200041003b012020004120200041206a410241002802c8bdd3800011838080800000200041206a41c5c6c38000410f4100280290bfd3800011858080800000200141809ac5800041154100280290bfd380001185808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041023b012020004120200041206a410241002802c8bdd3800011838080800000200041206a41bcc6c3800041094100280290bfd3800011858080800000200141809ac5800041154100280290bfd380001185808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802c8bdd3800011838080800000200041206a41afc6c38000410d4100280290bfd3800011858080800000200141809ac5800041154100280290bfd380001185808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802c8bdd3800011838080800000200041206a41a7c6c3800041084100280290bfd3800011858080800000200141809ac5800041154100280290bfd380001185808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041013b012020004120200041206a410241002802c8bdd3800011838080800000200041206a41a3c6c3800041044100280290bfd3800011858080800000200141809ac5800041154100280290bfd380001185808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802c8bdd3800011838080800000200041206a4191c6c3800041124100280290bfd3800011858080800000200141809ac5800041154100280290bfd380001185808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802c8bdd3800011838080800000200041206a4187c6c38000410a4100280290bfd3800011858080800000200141809ac5800041154100280290bfd380001185808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802c8bdd3800011838080800000200041206a4180c6c3800041074100280290bfd3800011858080800000200141809ac5800041154100280290bfd380001185808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802c8bdd3800011838080800000200041206a41fcc5c3800041044100280290bfd3800011858080800000200141809ac5800041154100280290bfd380001185808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802c8bdd3800011838080800000200041206a41f5c5c3800041074100280290bfd3800011858080800000200141809ac5800041154100280290bfd380001185808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041013b012020004120200041206a410241002802c8bdd3800011838080800000200041206a41e8c5c38000410d4100280290bfd3800011858080800000200141809ac5800041154100280290bfd380001185808080000020022003290000370300200420012900003703002005200629000037030020002000290020370300200041003b012020004120200041206a410241002802c8bdd3800011838080800000200041c0006a2480808080000b130020004200370300200041086a42003703000bdf1701047f23808080800041e0006b2201248080808000024041002802ecbfd380004104490d0020014106360218200141d4c6c38000360214200141f680808000ad422086200141146aad8437030841002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142013702542001410136024c2001419cadc5800036024820014116360244200141a4adc58000360240200142c1808080c000370238200141dca6c580003602342001421437022c200141baadc580003602282001410036022420014281808080c02637021c200241c4dbc88000200441024622041b28021021022001200141086a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b024041002802ecbfd380004104490d002001410f360218200141c5c6c38000360214200141f680808000ad422086200141146aad8437030841002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142013702542001410136024c200141c493c48000360248200141163602442001419594c48000360240200142cb808080c000370238200141d094c480003602342001422737022c2001419b95c480003602282001410036022420014281808080801d37021c200241c4dbc88000200441024622041b28021021022001200141086a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b024041002802ecbfd380004104490d0020014109360218200141bcc6c38000360214200141f680808000ad422086200141146aad8437030841002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142013702542001410136024c2001419cadc5800036024820014116360244200141a4adc58000360240200142c4808080c000370238200141c0abc580003602342001421837022c200141ceadc580003602282001410036022420014281808080801237021c200241c4dbc88000200441024622041b28021021022001200141086a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b024041002802ecbfd380004104490d002001410d360218200141afc6c38000360214200141f680808000ad422086200141146aad8437030841002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142013702542001410136024c20014194eac4800036024820014116360244200141dbeac48000360240200142d4808080c000370238200141c8f0c480003602342001421e37022c2001419cf1c480003602282001410036022420014281808080f00237021c200241c4dbc88000200441024622041b28021021022001200141086a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b024041002802ecbfd380004104490d0020014108360218200141a7c6c38000360214200141f680808000ad422086200141146aad8437030841002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142013702542001410136024c200141f0cdc3800036024820014116360244200141f8cdc38000360240200142c3808080c00037023820014188ccc380003602342001421737022c2001418ecec380003602282001410036022420014281808080b01937021c200241c4dbc88000200441024622041b28021021022001200141086a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b024041002802ecbfd380004104490d0020014104360218200141a3c6c38000360214200141f680808000ad422086200141146aad8437030841002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142013702542001410136024c20014194eac4800036024820014116360244200141dbeac48000360240200142bf808080c00037023820014184ebc480003602342001421337022c200141c3ebc480003602282001410036022420014281808080c01237021c200241c4dbc88000200441024622041b28021021022001200141086a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b024041002802ecbfd380004104490d002001411236021820014191c6c38000360214200141f680808000ad422086200141146aad8437030841002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142013702542001410136024c20014194eac4800036024820014116360244200141dbeac48000360240200142ce808080c000370238200141baf1c480003602342001422237022c20014188f2c480003602282001410036022420014281808080c02737021c200241c4dbc88000200441024622041b28021021022001200141086a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b024041002802ecbfd380004104490d002001410a36021820014187c6c38000360214200141f680808000ad422086200141146aad8437030841002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142013702542001410136024c2001419cadc5800036024820014116360244200141a4adc58000360240200142c7808080c000370238200141e5f6c580003602342001422937022c200141ccf7c580003602282001410036022420014281808080800337021c200241c4dbc88000200441024622041b28021021022001200141086a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b024041002802ecbfd380004104490d002001410736021820014180c6c38000360214200141f680808000ad422086200141146aad8437030841002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142013702542001410136024c20014198b7c1800036024820014116360244200141e2b7c18000360240200142c2808080c000370238200141a0b7c180003602342001421637022c200141f8b7c180003602282001410036022420014281808080900737021c200241c4dbc88000200441024622041b28021021022001200141086a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b024041002802ecbfd380004104490d0020014104360218200141fcc5c38000360214200141f680808000ad422086200141146aad8437030841002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142013702542001410136024c20014194eac4800036024820014116360244200141dbeac48000360240200142bf808080c0003702382001419ceac480003602342001421337022c200141f1eac480003602282001410036022420014281808080f00937021c200241c4dbc88000200441024622041b28021021022001200141086a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b024041002802ecbfd380004104490d0020014107360218200141f5c5c38000360214200141f680808000ad422086200141146aad8437030841002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142013702542001410136024c200141f0cdc3800036024820014116360244200141f8cdc38000360240200142c3808080c000370238200141a5cec380003602342001421f37022c200141e8cec380003602282001410036022420014281808080c00637021c200241c4dbc88000200441024622041b28021021022001200141086a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b024041002802ecbfd380004104490d002001410d360218200141e8c5c38000360214200141f680808000ad422086200141146aad8437030841002802d4bcd38000210241002802d0bcd38000210341002802e8bfd380002104200142013702542001410136024c200141c493c48000360248200141163602442001419594c48000360240200142c9808080c000370238200141cc93c480003602342001422537022c200141ab94c480003602282001410036022420014281808080a00737021c200241c4dbc88000200441024622041b28021021022001200141086a360250200341dcdbc8800020041b2001411c6a2002118b80808000000b20004200370300200041086a4200370300200141e0006a2480808080000b9e0302057f037e23808080800041306b220424808080800041fce7c580002105200441fce7c5800036021441cce7c580002106200441cce7c58000360210200441fce7c5800036020c200441cce7c58000360208410c210720042001410c702208360218024002402008450d00420021094200210a034020042007417f6a36021c02400240200428021822070d002006210720062005470d012004200428020c2205360214200520042802082207460d040c010b20044100360218200441086a2007109d8c8080000d032004280210220720042802142205470d002004200428020c2205360214200520042802082207460d030b2004200741046a2206360210200441206a20014200200220097d220b200b2002561b42002003200a7d220b200b2003561b200728020011908080800000427f200a20042903287c220b200b200a541b210a427f200920042903207c220b200b2009541b2109200428021c22070d000c020b0b200441206a20012002200310b3848080002004290328210a200429032021090b2000200a37030820002009370300200441306a2480808080000bef1202047f117e2380808080004190016b2201248080808000200142fc90b9e5d09296e777370016200142a6d4e6f1a4dd95986037000e200141286a2001410e6a411041002802a8bdd38000118580808000000240024020012802282202418080808078460d00200128022c2103024020012802304110490d002001410e6a2003411010ed96808000210402402002450d00200341002802a8bfd38000118080808000000b20040d010c020b2002450d00200341002802a8bfd38000118080808000000b200141003b011e41002102024041002802ecbfd380004103490d0020014106360224200141d4c6c380003602202001418583808000ad4220862001411e6aad84370378200141ed80808000ad422086200141206aad8437037041002802d4bcd38000210241002802d0bcd38000210341002802e8bfd3800021042001420237026020014103360258200141a4afc5800036025420014116360250200141a4adc5800036024c200142c180808030370244200141dca6c5800036024020014214370238200141baadc580003602342001410036023020014281808080c026370228200241c4dbc88000200441024622041b28021021022001200141f0006a36025c200341dcdbc8800020041b200141286a2002118b808080000020012f011e21020b200141286a41d4c6c3800041064100280290bfd3800011858080800000200141286a41106a220341809ac5800041154100280290bfd3800011858080800000200141f0006a41186a200141286a41186a290000370300200141f0006a41106a2003290000370300200141f0006a41086a200141286a41086a29000037030020012001290028370370200120023b0128200141f0006a4120200141286a410241002802c8bdd38000118380808000000b200141286a1081898080002001290330210520012903282106200142ebe5e9f6a0afd08944370016200142f087979bfcb996ebf10037000e200141286a2001410e6a411041002802a8bdd38000118580808000000240024020012802282202418080808078460d00200128022c2103024020012802304110490d002001410e6a2003411010ed96808000210402402002450d00200341002802a8bfd38000118080808000000b20040d010c020b2002450d00200341002802a8bfd38000118080808000000b200141003b011e41002102024041002802ecbfd380004103490d0020014109360224200141bcc6c380003602202001418583808000ad4220862001411e6aad84370378200141ed80808000ad422086200141206aad8437037041002802d4bcd38000210241002802d0bcd38000210341002802e8bfd3800021042001420237026020014103360258200141a4afc5800036025420014116360250200141a4adc5800036024c200142c480808030370244200141c0abc5800036024020014218370238200141ceadc5800036023420014100360230200142818080808012370228200241c4dbc88000200441024622041b28021021022001200141f0006a36025c200341dcdbc8800020041b200141286a2002118b808080000020012f011e21020b200141286a41bcc6c3800041094100280290bfd3800011858080800000200141286a41106a220341809ac5800041154100280290bfd3800011858080800000200141f0006a41186a200141286a41186a290000370300200141f0006a41106a2003290000370300200141f0006a41086a200141286a41086a29000037030020012001290028370370200120023b0128200141f0006a4120200141286a410241002802c8bdd38000118380808000000b200141286a10b38a8080002001290330210720012903282108200141286a10f887808000200129033021092001290328210a200141286a10998a8080002001290330210b2001290328210c200141286a10b58a8080002001290330210d2001290328210e200142c6c196ffa1d6e8b4b77f370016200142aedff0facad9c6abaa7f37000e200141286a2001410e6a411041002802a8bdd38000118580808000000240024020012802282202418080808078460d00200128022c2103024020012802304110490d002001410e6a2003411010ed96808000210402402002450d00200341002802a8bfd38000118080808000000b20040d010c020b2002450d00200341002802a8bfd38000118080808000000b200141003b011e41002102024041002802ecbfd380004103490d002001410a36022420014187c6c380003602202001418583808000ad4220862001411e6aad84370378200141ed80808000ad422086200141206aad8437037041002802d4bcd38000210241002802d0bcd38000210341002802e8bfd3800021042001420237026020014103360258200141a4afc5800036025420014116360250200141a4adc5800036024c200142c780808030370244200141e5f6c5800036024020014229370238200141ccf7c5800036023420014100360230200142818080808003370228200241c4dbc88000200441024622041b28021021022001200141f0006a36025c200341dcdbc8800020041b200141286a2002118b808080000020012f011e21020b200141286a4187c6c38000410a4100280290bfd3800011858080800000200141286a41106a220341809ac5800041154100280290bfd3800011858080800000200141f0006a41186a200141286a41186a290000370300200141f0006a41106a2003290000370300200141f0006a41086a200141286a41086a29000037030020012001290028370370200120023b0128200141f0006a4120200141286a410241002802c8bdd38000118380808000000b200141286a10f4838080002001290330210f20012903282110200141286a10978a8080002001290330211120012903282112200141286a10fb878080002001290330211320012903282114200141286a10ff88808000200129032821152000427f427f2013427f2011427f200f427f427f427f427f200520077c220720072005541b220520097c220720072005541b2205200b7c220720072005541b2205200d7c220720072005541b22057c220720072005541b22057c220720072005541b22057c220720072005541b220520012903307c220720072005541b3703082000427f2015427f2014427f2012427f2010427f427f427f427f200620087c220520052006541b2205200a7c220620062005541b2205200c7c220620062005541b2205200e7c220620062005541b22057c220620062005541b22057c220620062005541b22057c220620062005541b22057c220620062005541b37030020014190016a2480808080000bf60201047f23808080800041c0006b220224808080800020022000360204410121000240200128021c220341faf3c58000410e2001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110cc888080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10cc888080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000bd90101027f23808080800041206b2201248080808000200010a68980800020014287fabfddaff098b0e500370018200142bba3a3a09cb1a6b277370010200142ebe5e9f6a0afd08944370008200142f087979bfcb996ebf100370000024002402001412010868480800041ff017122024102460d00200141204100280280bdd38000118b808080000020024101710d010b20014100360210200141013602042001419ce6c5800036020020014204370208200141a4e6c5800010f280808000000b109a89808000200010b888808000200141206a2480808080000b8d0202017f047e23808080800041306b2202248080808000200241106a200110a8898080002002290318210320022903102104200241106a200110cf8a808000200229031821052002290310210620024282fceae49dd9e2861d370028200242de8c84a1ecd0a6d30c37002020024284c2b1b3ef9292841e370018200242bce2f4b8c5daf6fa29370010200241046a200241106a412010ff83808000024020022802042201418080808078460d002001450d00200228020841002802a8bfd38000118080808000000b2000427f200320057c220520052003541b3703082000427f427f200442b08fc6017c220320032004541b220320067c220420042003541b370300200241306a2480808080000bd20503067f017e017f23808080800041c0006b2201248080808000200141246a41cce5c58000411441b3e4c58000411d4104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a0240024041c00041002802b0bfd38000118280808000002202450d002002418683808000360238200242e3f6d5b794ae8d85847f370330200242c1f187d28be1a8fb4137032820024101360224200241fce7c580003602202002410036021820024101360204200241ecadc5800036020020014102360238200120023602302001200241c0006a36023c200120023602342001410c6a200141306a41bccec2800010b08b808000200141086a2203200141186a220241086a28020036020020012002290200370300200128020c2104200128021021052001280214210620012902282107200128022421082001410036021420014280808080800137020c2001410c6a41e0e1c1800010b8918080002001280210220242c1f187d28be1a8fb413703002002420437022c20024201370224200241f5c0c28000360220200241003602182002418683808000360210200242e3f6d5b794ae8d85847f370308200128021021022001200128020c3602142001200236020c2001200241386a36021820012002360210200141306a2001410c6a41bccec2800010b18b8080002008418080808078460d01200120043602142001200536020c200120053602102001200520064105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002008360238200041003a000020002001290300370250200041d8006a20032802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b410841c00010b980808000000b41f0e1c1800041114184e2c18000108b81808000000b9a0101017f23808080800041306b22022480808080002002200110ae878080000240024020022903004202510d0020002002290300370300200041086a2002290308370300200041286a200241286a290300370300200041206a200241206a290300370300200041186a200241186a290300370300200041106a200241106a2903003703000c010b200042023703000b200241306a2480808080000bd60202057f047e23808080800041306b220224808080800002400240200128020822032802042204450d0020032004417f6a220536020420032003280200220641016a3602002001427f2001290300220742017c22082008501b370300024002402006310000220950450d00420021070c010b2005450d0120032004417e6a3602042003200641026a3602002001427f200742027c220820082007541b37030042022009420f838622084204540d014201210720063100014208862009844204882008420c884201200842ff3f561b7e220920085a0d010b200241086a200110be8380800020022802080d00200228020c2103200241106a200110ce8380800020022802104101710d002002290320210a2000200241286a2903003703282000200a370320200020033602182000200937031020002008370308200020073703000c010b200042023703000b200241306a2480808080000be30104017f017e017f027e23808080800041c0006b2202248080808000200241206a200110d98e80800002400240200229032022034202510d00200241186a200241306a29030037030020022002290328370310200241086a200110c68380800020022802080d00200228020c2104200241206a200110d28380800020022802204101710d00200241386a290300210520022903302106200041106a200241186a29030037030020002002290310370308200020053703282000200637032020002004360218200020033703000c010b200042023703000b200241c0006a2480808080000be30104017f017e017f027e23808080800041c0006b2202248080808000200241206a200110da8e80800002400240200229032022034202510d00200241186a200241306a29030037030020022002290328370310200241086a200110bb8380800020022802080d00200228020c2104200241206a200110cf8380800020022802204101710d00200241386a290300210520022903302106200041106a200241186a29030037030020002002290310370308200020053703282000200637032020002004360218200020033703000c010b200042023703000b200241c0006a2480808080000b1e00200128021c418ce2c580004114200128022028020c118180808000000b9c0101017f23808080800041306b220224808080800020022000280200280200220036022820024103360204200241f4c1c080003602002002420237020c2002418783808000ad4220862002412c6aad843703202002418883808000ad422086200241286aad84370318200220006836022c2002200241186a360208200128021c2001280220200210e2808080002101200241306a24808080800020010b2100200128021c41edaac580004123200128022028020c118180808000001a41000b12002001418cf0c58000410210e5808080000bae0202027f017e2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d0120002903004101200110938180800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a4190f0c580002005410c6a4190f0c580002003200410f780808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41a0f0c580002005410c6a41a0f0c580002003200410f780808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41c0f0c580002005410c6a41c0f0c580002003200410f780808000000bd90301047f23808080800041c0006b2202248080808000024002400240024020002d00000e03000102000b410121032002200041016a360204200128021c220041e0f1c5800041122001280220220428020c2205118180808000000d020240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d04200241046a200110c088808000450d010c040b200041bcc4c0800041022005118180808000000d0341012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10c0888080000d03200228023441b6c4c080004102200228023828020c118180808000000d030b200128021c41bec4c080004101200128022028020c1181808080000021030c020b2002200041016a2200360218200141f2f1c58000410e200041acb5c58000200241186a41d0f1c5800010e88080800021030c010b200128021c4180f2c580004112200128022028020c1181808080000021030b200241c0006a24808080800020030b9d0101047f2000280200210220002001109d918080000240200028020822012002200028020c22036b4d0d002000280200210402400240200220016b2205200320056b22034d0d00200420026b20034f0d010b20002802042202200420056b22034102746a200220014102746a200541027410ec968080001a200020033602080f0b2000280204220020024102746a2000200341027410e9968080001a0b0b6601047f02400240200128020c22020d00410021020c010b20012002417f6a36020c4101210220012001280208220341016a220441002001280200220520042005491b6b360208200128020420034102746a28020021010b20002001360204200020023602000b8f0201027f23808080800041106b22022480808080002002200041086a360204200128021c41d0f3c580004106200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41d6f3c580004108200041c0f3c58000109d818080001a200241086a41def3c58000410a200241046a4194f2c58000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710b1e00200128021c41f0cfc580004105200128022028020c118180808000000bf60201047f23808080800041c0006b220224808080800020022000360204410121000240200128021c220341f8f3c5800041022001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110c8888080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10c8888080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000bfa0401017e0240024002400240024002400240024002400240024020012d0000417f6a0e0b000102030405060708090a000b20004200370308200041106a4200370300200041186a4200370300200041206a41003b01002000200135020c42a8d5007e42d0e6e0007c3703000f0b20004200370308200042a0ce8431370300200041013b0120200041106a4200370300200041186a42003703000f0b20004200370310200042db8b04370308200042909288abe404370300200041013b0120200041186a42003703000f0b20004200370310200042db8b04370308200042909288abe404370300200041013b0120200041186a42003703000f0b20004200370308200041013b0120200041106a4200370300200041186a42003703002000200135020c42d0a584307e42c8c2df007c3703000f0b20004200370308200041013b0120200041106a4200370300200041186a42003703002000200135020c42f78efa2f7e42c08fe3007c3703000f0b20004200370310200041013b0120200041186a42003703002000200128020441016a2201417f20011bad220242c6007e3703082000200242869d9f3c7e42a0f4b4017c3703000f0b20004200370308200041106a4200370300200041186a4200370300200041206a41003b01002000200135020c42e2e0007e4288b2a0027c3703000f0b20004200370308200042d0ea8d37370300200041013b0120200041106a4200370300200041186a42003703000f0b20004200370308200042d0ea8d37370300200041013b0120200041106a4200370300200041186a42003703000f0b20004200370310200042db8b04370308200042b0c4b0c3ee04370300200041013b0120200041186a42003703000bb12301047f23808080800041c0006b2202248080808000024002400240024002400240024002400240024002400240024002400240024020002d00000e0f000102030405060708090a0b0c0d0e000b200128021c41d2f4c58000410c200128022028020c1181808080000021030c0e0b410121032002200041016a360204200128021c220041f0f4c5800041092001280220220428020c2205118180808000000d0d0240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d0f200241046a200110ae8e808000450d010c0f0b200041bcc4c0800041022005118180808000000d0e41012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d0e200228023441b6c4c080004102200228023828020c118180808000000d0e0b200128021c41bec4c080004101200128022028020c1181808080000021030c0d0b410121032002200041016a360204200128021c220041f9f4c5800041112001280220220428020c2205118180808000000d0c0240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d0e200241046a200110ae8e808000450d010c0e0b200041bcc4c0800041022005118180808000000d0d41012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d0d200228023441b6c4c080004102200228023828020c118180808000000d0d0b200128021c41bec4c080004101200128022028020c1181808080000021030c0c0b410121032002200041016a360204200128021c220041a4f2c5800041042001280220220428020c2205118180808000000d0b0240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d0d200241046a200110ae8e808000450d010c0d0b200041bcc4c0800041022005118180808000000d0c41012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d0c200228023441b6c4c080004102200228023828020c118180808000000d0c0b200128021c41bec4c080004101200128022028020c1181808080000021030c0b0b410121032002200041016a360204200128021c2200418af5c58000410e2001280220220428020c2205118180808000000d0a0240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d0c200241046a200110ae8e808000450d010c0c0b200041bcc4c0800041022005118180808000000d0b41012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d0b200228023441b6c4c080004102200228023828020c118180808000000d0b0b200128021c41bec4c080004101200128022028020c1181808080000021030c0a0b410121032002200041016a360204200128021c22004198f5c5800041122001280220220428020c2205118180808000000d090240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d0b200241046a200110ae8e808000450d010c0b0b200041bcc4c0800041022005118180808000000d0a41012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d0a200228023441b6c4c080004102200228023828020c118180808000000d0a0b200128021c41bec4c080004101200128022028020c1181808080000021030c090b410121032002200041016a360204200128021c220041aaf5c5800041062001280220220428020c2205118180808000000d080240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d0a200241046a200110ae8e808000450d010c0a0b200041bcc4c0800041022005118180808000000d0941012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d09200228023441b6c4c080004102200228023828020c118180808000000d090b200128021c41bec4c080004101200128022028020c1181808080000021030c080b410121032002200041016a360204200128021c220041b0f5c58000410a2001280220220428020c2205118180808000000d070240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d09200241046a200110ae8e808000450d010c090b200041bcc4c0800041022005118180808000000d0841012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d08200228023441b6c4c080004102200228023828020c118180808000000d080b200128021c41bec4c080004101200128022028020c1181808080000021030c070b410121032002200041016a360204200128021c220041baf5c5800041232001280220220428020c2205118180808000000d060240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d08200241046a200110ae8e808000450d010c080b200041bcc4c0800041022005118180808000000d0741012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d07200228023441b6c4c080004102200228023828020c118180808000000d070b200128021c41bec4c080004101200128022028020c1181808080000021030c060b410121032002200041016a360204200128021c220041ddf5c5800041172001280220220428020c2205118180808000000d050240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d07200241046a200110ae8e808000450d010c070b200041bcc4c0800041022005118180808000000d0641012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d06200228023441b6c4c080004102200228023828020c118180808000000d060b200128021c41bec4c080004101200128022028020c1181808080000021030c050b410121032002200041016a360204200128021c220041f4f5c5800041162001280220220428020c2205118180808000000d040240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d06200241046a200110ae8e808000450d010c060b200041bcc4c0800041022005118180808000000d0541012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d05200228023441b6c4c080004102200228023828020c118180808000000d050b200128021c41bec4c080004101200128022028020c1181808080000021030c040b2002200041016a3602182001419cf6c58000410b200041046a418cf6c58000200041086a418cf6c58000200241186a41e0f4c5800010e98080800021030c030b410121032002200041016a360204200128021c220041a7f6c5800041082001280220220428020c2205118180808000000d020240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d04200241046a200110ae8e808000450d010c040b200041bcc4c0800041022005118180808000000d0341012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d03200228023441b6c4c080004102200228023828020c118180808000000d030b200128021c41bec4c080004101200128022028020c1181808080000021030c020b410121032002200041016a360204200128021c220041aff6c58000410b2001280220220428020c2205118180808000000d010240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d03200241046a200110ae8e808000450d010c030b200041bcc4c0800041022005118180808000000d0241012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d02200228023441b6c4c080004102200228023828020c118180808000000d020b200128021c41bec4c080004101200128022028020c1181808080000021030c010b410121032002200041016a360204200128021c220041baf6c58000410f2001280220220428020c2205118180808000000d000240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d02200241046a200110ae8e808000450d010c020b200041bcc4c0800041022005118180808000000d0141012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ae8e8080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200128021c41bec4c080004101200128022028020c1181808080000021030b200241c0006a24808080800020030b9e0201037f23808080800041106b2202248080808000024002402000280200418080808078460d000240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41003a0000200028020421042002200028020822003602082002200241086a36020c2002410c6a200110d58380800002402001280200200128020822036b20004f0d0020012003200010fc90808000200128020821030b200128020420036a2004200010e9968080001a200320006a21000c010b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b200128020420006a41013a0000200041016a21000b20012000360208200241106a2480808080000b910302067f017e23808080800041206b2202248080808000024002400240024002400240200128020022032802082204280204200428020c22054b0d00024020042802082204280208220620042802102205470d00410121040c030b200541016a2207450d03200720064b0d042004280204210620042007360210200620056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2003427f200329030042017c22082008501b370300410021040b024002400240024020044101710d00200541ff01710e020102030b20004181808080783602000c050b200241086a200110c183808000024020022802080d00200241146a2001200228020c10f3828080002002280214418080808078460d0020002002290214370200200041086a200241146a41086a2802003602000c050b20004181808080783602000c040b20004180808080783602000c030b20004181808080783602000c020b417f200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000b200241206a2480808080000bbf0202067f017e23808080800041206b22022480808080000240024002400240024002400240200128020022032802082204280208220520042802102206460d00200641016a2207450d04200720054b0d0520042802042105200420073602102003427f200329030042017c22082008501b370300200520066a2d00000e020102030b20004181808080783602000c050b200241086a200110c283808000024020022802080d00200241146a2001200228020c10e6828080002002280214418080808078460d0020002002290214370200200041086a200241146a41086a2802003602000c050b20004181808080783602000c040b20004180808080783602000c030b20004181808080783602000c020b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b200241206a2480808080000bba0603067f017e037f23808080800041c0006b2201248080808000200141246a419dcfc58000410441ccf7c5800041294104410010c7918080002001420437021c2001420037021420014280808080800137020c41002d00b8bfd380001a0240024002400240412041002802b0bfd38000118280808000002202450d002002410036021820024101360204200241ecadc5800036020020014101360238200120023602302001200241206a36023c200120023602342001410c6a200141306a41bccec2800010b08b80800041002d00b8bfd380001a200128020c210320012802102104200128021421052001280224210620012902282107410841002802b0bfd38000118280808000002208450d01200841002903e8cfc580003702002001410036021420014280808080c00037020c200141306a2001410c6a41f5f7c58000411f10a58580800041002d00b8bfd380001a411841002802b0bfd38000118280808000002209450d02200941106a4100290288d2c28000370200200941086a4100290280d2c28000370200200941002902f8d1c280003702000240200128023822022001280230470d00200141306a41d0e1c1800010af968080000b2001280234200241246c220a6a220241013a00202002411a36021c20024194f8c580003602182002410336021420022009360210200242808080803037020820024280808080800137020020012802342102200120012802303602142001200236020c20012002200a6a41246a36021820012002360210200141306a2001410c6a41bccec2800010af8b8080002006418080808078460d03200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41a892c4800010b08b808000200141176a200141306a41086a2802003600002000200737023c20002006360238200041013a00002000410136025820002008360254200041013602502001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000f0b4108412010b980808000000b4104410841c0f1c5800010ae80808000000b4104411810b980808000000b41f0e1c1800041114184e2c18000108b81808000000b110020002001200128023c10d1898080000b0a00200010f8838080000b0a00200010d3878080000baf0802067f047e23808080800041d00a6b2204248080808000200441fcf9c58000411410de9080800020044190fac58000410a2003410010df90808000200441d0016a200441d00110e9968080001a20044180096a41386a2205200141386a29000037030020044180096a41306a2206200141306a29000037030020044180096a41286a2207200141286a29000037030020044180096a41086a2203200141086a29000037030020044180096a41106a2208200141106a29000037030020044180096a41186a2209200141186a290000370300200420012900203703a0092004200129000037038009200441a0036a20044180096a10d291808000200441d0016a41a4fac58000410a2002412010d491808000200441d0016a41aefac58000410a200441a0036a41c0006a412010d49180800020054200370300200642003703002007420037030020044180096a41206a42003703002009420037030020084200370300200342003703002004420037038009200441d0016a41b8fac58000410b20044180096a41c00010d591808000200441b0076a20044180096a10b38f8080002009420037030020084200370300200342003703002004420037038009200441d0016a41c3fac58000410e20044180096a412010d591808000200441b0076a41386a2009290300220a370000200441b0076a41306a2008290300220b370000200441b0076a41286a2003290300220c3700002004200429038009220d3700d007200041d8006a200a370000200041d0006a200b370000200041c8006a200c3700002000200d3700402009200441a0036a41186a290200220a3703002008200441a0036a41106a290200220b3703002003200441a0036a41086a290200220c370300200441a0056a41086a200c370300200441a0056a41106a200b370300200441a0056a41186a200a370300200420042902a003220a37038009200441a0056a41206a20042902c003370300200441a0056a41286a200441a0036a41286a290200370300200441a0056a41306a200441a0036a41306a290200370300200441a0056a41386a200441a0036a41386a2902003703002004200a3703a00520042f019803210120042d009a03210020044180096a200441d0016a41c80110e9968080001a200420003a00ca0a200420013b01c80a200441b0076a20044180096a419afac58000410a200441a0036a41206a412010e190808000200441e8056a200441b0076a41c80110e9968080001a200441e4056a2201200441b0076a41cf016a2d00003a0000200420042800fb083602e00520042f01f808210020042d00fa08210320044180096a200441e8056a41c80110e9968080001a20044180096a41cf016a20012d00003a0000200420033a00ca0a200420003b01c80a200420042802e0053600cb0a200441b0076a20044180096a419afac58000410a200441a0056a41c00010e19080800010d590808000000b980503027f037e027f23808080800041206b220124808080800041002d00b8bfd380001a024002400240412841002802b0bfd38000118280808000002202450d00410041003502bcbfd3800042c4e6c11b85200141086aad22037e200342ae94e698017e4220898522043e02bcbfd380002004422088220542a2f0a4a00a7e200442ffffffff0f83220442d0e3fccc027e85200542d0e3fccc027e200442a2f0a4a00a7e85422089852104024041002d00e0bfd380004102460d0010bf8f8080000b200141146a41002903a087c68000370200200241003602082002428180808010370300200220043703202001410029039887c6800037020c2002200129020837020c200241146a200141106a2902003702002002411c6a200141086a41106a28020036020041002d00b8bfd380001a411041002802b0bfd38000118280808000002206450d0120064200370208200642818080801037020041002d00b8bfd380001a412841002802b0bfd38000118280808000002207450d02410041003502bcbfd3800042c4e6c11b8520037e200342ae94e698017e4220898522033e02bcbfd38000024041002d00e0bfd380004102460d0010bf8f8080000b200141146a41002903a087c680003702002007410036020820074281808080103703002001410029039887c6800037020c2007200129020837020c200741146a200141106a2902003702002007411c6a200141186a28020036020020072003422088220442a2f0a4a00a7e200342ffffffff0f83220342d0e3fccc027e85200442d0e3fccc027e200342a2f0a4a00a7e8542208985370320200020073602082000200636020420002002360200200141206a2480808080000f0b4108412810b980808000000b4104411010b980808000000b4108412810b980808000000b2a0002402000280204220028020841ffffffff07490d0041b8fbc58000108181808000000b200028020c0bf10303027f047e047f23808080800041c0006b22032480808080004102210402402000280210220028020c450d0020002903102105200342003703082003420037030020032005370310200341003a0038200341002903d8bfd38000370330200341002903d0bfd38000370328200341002903c8bfd38000370320200341002903c0bfd3800037031820012002200310918d8080000240024020032d00380d00200329031021050c010b2003290318200329030885220542208822062003290310200329030085220742208822087e200542ffffffff0f832205200742ffffffff0f8322077e85200520087e200620077e854220888521050b200028020422092005a771210a200542198842ff0083428182848890a0c080017e21072000280200210b4100210c024003400240200b200a6a29000022062007852205427f85200542fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832205500d0003400240200b410020057aa7410376200a6a2009716b410c6c6a220041786a2802002002470d002001200041746a28020041086a200210ed96808000450d040b2005427f7c200583220550450d000b0b200620064201868342808182848890a0c0807f8350450d02200c41086a220c200a6a200971210a0c000b0b2000417c6a2d000021040b200341c0006a24808080800020040bdc0504027f047e017f027e23808080800041106b22032480808080000240024020022d0038220441e0004b0d0020032001ad4200200410ef96808000200441206a2104200241086a290300200341086a29030084210520022903002003290300842106200229031021070c010b2002290318200241086a29030085220542208822062002290310200229030085220742208822087e200542ffffffff0f832205200742ffffffff0f8322077e85200520087e200620077e854220898521072001ad210642002105412021040b20022006370300200220043a00382002200537030820072001ad8a21050240024020014111490d00200229032020057c210602402001418002490d002000200120052006200229032820057c200229033020057c200229031810c08f80800021050c020b0240200141f001712204450d0020002001410f716a21092002290318210703402000200920046a22014f0d01200141786a2900002007852208422088220a20002900082006852206422088220b7e200842ffffffff0f832208200642ffffffff0f8322067e852008200b7e200a20067e85422089852106200141706a2900002007852208422088220a20002900002005852205422088220b7e200842ffffffff0f832208200542ffffffff0f8322057e852008200b7e200a20057e85422089852105200041106a2100200441706a22040d000b0b200520068521050c010b20022903202106024002400240200141074b0d00200141034b0d012001450d02200020016a417f6a310000420886200020014101766a310000842006852106200520003100008521050c020b20002900002005852105200020016a41786a29000020068521060c010b200520003500008521052006200020016a417c6a3500008521060b20054220882207200642208822087e200542ffffffff0f832205200642ffffffff0f8322067e85200720067e200520087e854220898521050b20022005370310200341106a2480808080000bf80d02087f017e23808080800041306b22022480808080000240024002400240024002400240024002400240024002400240024002402001280200220341ffffffff076a2204410220044106491b0e06030405000102030b0240200128020822044100480d00200441f5ffffff074f0d06200128020421032000280210210502402004410b6a41fcffffff077122060d00410421010c0e0b41002d00b8bfd380001a200641002802b0bfd380001182808080000022010d0d4104200610b980808000000b41d89dc58000412b200241246a41c89dc5800041f09ec5800010a481808000000b0240200128020822044100480d00200441f5ffffff074f0d06200128020421032000280210210502402004410b6a41fcffffff077122060d00410421010c0c0b41002d00b8bfd380001a200641002802b0bfd380001182808080000022010d0b4104200610b980808000000b41d89dc58000412b200241246a41c89dc5800041f09ec5800010a481808000000b0240200128020822044100480d00200441f5ffffff074f0d06200128020421032000280210210502402004410b6a41fcffffff077122060d00410421010c0a0b41002d00b8bfd380001a200641002802b0bfd380001182808080000022010d094104200610b980808000000b41d89dc58000412b200241246a41c89dc5800041f09ec5800010a481808000000b20012802042103410021042000280200200141086a10938d8080000d0a200241086a200310ba84808000024002402002280210220141c0004f0d00410121040c010b02402001418080014f0d00410221040c010b410441052001418080808004491b21040b02402002280208450d00200228020c41002802a8bfd38000118080808000000b200420016a21040c0a0b200128020c21032001280208210620012802042105410021042000280200200141106a10938d8080000d050240200341c0004f0d00410120036a21040c060b02402003418080014f0d00410220036a21040c060b410441052003418080808004491b20036a21040c050b20012802102105200128020c2107410021042000280200200141146a10938d8080000d0302402001280208220441c0004f0d00410120046a21040c040b02402004418080014f0d00410220046a21040c040b410441052004418080808004491b20046a21040c030b41bc84c08000412b200241246a41ac84c0800041d485c0800010a481808000000b41bc84c08000412b200241246a41ac84c0800041d485c0800010a481808000000b41bc84c08000412b200241246a41ac84c0800041d485c0800010a481808000000b02400240024020054100480d00200541f5ffffff074f0d012000280210210802402005410b6a41fcffffff077122090d00410421060c030b41002d00b8bfd380001a200941002802b0bfd380001182808080000022060d024104200910b980808000000b41d89dc58000412b200241246a41c89dc5800041f09ec5800010a481808000000b41bc84c08000412b200241246a41ac84c0800041d485c0800010a481808000000b2006428180808010370200200641086a2007200510e9968080001a200241086a20082006200510948d80800002400240200228020822060d002002280218417c6a41003a00000c010b2002290310210a20022802182105200228020c2107200241003a00102002200736020c200220063602082005200a200241086a200541106a10958d8080000b2003418080808078460d042003450d04200128020441002802a8bfd38000118080808000000c040b200541808080807872418080808078460d03200641002802a8bfd38000118080808000000c030b2001428180808010370200200141086a2003200410e9968080001a200241086a20052001200410948d8080000240200228020822030d00410021042002280218417c6a41003a00000c030b2002290310210a20022802182101200228020c210541002104200241003a00102002200536020c200220033602082001200a200241086a200141106a10958d8080000c020b2001428180808010370200200141086a2003200410e9968080001a200241086a20052001200410948d808000024020022802082204450d002002290310210a20022802182101200228020c2103200241013a002c20022003360228200220043602242001200a200241246a200141106a10958d8080000b410021040c010b2001428180808010370200200141086a2003200410e9968080001a200241086a20052001200410948d8080000240200228020822030d00410021042002280218417c6a41003a00000c010b2002290310210a20022802182101200228020c210541002104200241003a00102002200536020c200220033602082001200a200241086a200141106a10958d8080000b20002802082201200128020020046a360200200241306a2480808080000bb90503027f067e067f23808080800041106b220224808080800041002103200129000841002903c8bfd38000200029031042208922047c8522054220882206200129001841002903c0bfd38000220785220842208822097e200542ffffffff0f832205200842ffffffff0f8322087e85200620087e200520097e85422088852001290000200485220442ffffffff0f8322052001290010200785220642ffffffff0f8322077e8520044220882204200642208822067e85200420077e200520067e85422088852104024020002802080d00200241086a20004101200041106a41011081858080000b2000280200220a41606a210b2004421988220742ff0083428182848890a0c080017e21062004a7210c2000280204210d4100210e037f0240024002400240200a200c200d71220c6a29000022052006852204427f85200442fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832204500d00034002402001200b20047aa7410376200c6a200d714105746b412010ed968080000d004101210c0c030b2004427f7c200483220450450d000b0b200542808182848890a0c0807f8321040240200e4101460d002004500d0220047aa7410376200c6a200d71210f0b024020042005420186834200520d004101210e0c030b4100210c0240200a200f6a2c0000220b4100480d00200a200a29030042808182848890a0c0807f837aa7410376220f6a2d0000210b0b200a200f6a2007a741ff0071220e3a0000200a200f41786a200d716a41086a200e3a000020002000280208200b4101716b3602082000200028020c41016a36020c200a200f4105746b41606a220d41186a200141186a290000370000200d41106a200141106a290000370000200d41086a200141086a290000370000200d20012900003700000b200241106a248080808000200c0f0b4100210e0b200c200341086a22036a210c0c000b0bc90405017f017e017f037e057f23808080800041d0006b22042480808080002004200336020c2004200236020820012903102105200442003703182004420037031020042005370320200441003a0048200441002903d8bfd38000370340200441002903d0bfd38000370338200441002903c8bfd38000370330200441002903c0bfd38000370328200241086a22062003200441106a10b68b8080000240024020042d00480d00200429032021070c010b2004290328200429031885220542208822082004290320200429031085220942208822077e200542ffffffff0f832205200942ffffffff0f8322097e85200520077e200820097e854220898521070b2001280204220a2007a771210b200742198842ff0083428182848890a0c080017e21092001280200210c4100210d02400240024003400240200c200b6a29000022082009852205427f85200542fffdfbf7efdfbfff7e7c8342808182848890a0c0807f832205500d0003400240200c410020057aa7410376200b6a200a716b410c6c6a220e41786a2802002003470d002006200e41746a28020041086a200310ed96808000450d040b2005427f7c200583220550450d000b0b200820084201868342808182848890a0c0807f8350450d02200d41086a220d200b6a200a71210b0c000b0b200020013602142000200e360210200020073703082000410036020020022002280200417f6a220336020020030d01200441086a10cb8b8080000c010b200020013602102000200737030820002003360204200020023602000b200441d0006a2480808080000bea0301067f23808080800041106b2204248080808000024020002802002205200028020422062001a722077122086a29000042808182848890a0c0807f8322014200520d00410821090340200820096a2108200941086a21092005200820067122086a29000042808182848890a0c0807f832201500d000b0b0240200520017aa741037620086a20067122096a2c00002208417f4c0d002005200529030042808182848890a0c0807f837aa741037622096a2d000021080b02402008410171450d0020002802080d00200441086a20004101200341011083858080000240200028020022052000280204220620077122086a29000042808182848890a0c0807f8322014200520d00410821090340200820096a2108200941086a21092005200820067122086a29000042808182848890a0c0807f832201500d000b0b200520017aa741037620086a20067122096a2c00002208417f4c0d002005200529030042808182848890a0c0807f837aa741037622096a2d000021080b200520096a200741197622073a00002005200941786a2006716a41086a20073a00002000200028020820084101716b3602082000200028020c41016a36020c2005410020096b410c6c6a41746a220941086a200241086a28020036020020092002290200370200200441106a2480808080000ba10201037f23808080800041206b22042480808080004100210502400240200141146c41046a22064100480d00024020060d00410121050c020b41002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410121050b2005200641e0fcc5800010ae80808000000b20044100360214200420053602102004200636020c200420013602182004200441186a36021c2004411c6a2004410c6a10d58380800002402001450d00200141146c2101034020002004410c6a10978d808000200041146a21002001416c6a22010d000b0b200428020c21002002200320042802102201200428021441002802c8bdd380001183808080000002402000450d00200141002802a8bfd38000118080808000000b200441206a2480808080000be50201067f23808080800041206b22022480808080002002411c6a2103200241186a210402400240024002400240024020002d000022050e050001020305000b2002200041016a36021420002802102106200028020c210041002105200421070c030b410121052002200041016a36021420002802102106200028020c2100200421070c020b2002200041016a36021420002802102106200028020c210041022105200421070c010b200241146a2107200028020c21062000280208210041032105200421030b20032006360200200720003602000b20022005360210200241046a200241106a10d6958080002002280208210302402001280200200128020822006b200228020c22054f0d0020012000200510fc90808000200128020821000b200128020420006a2003200510e9968080001a2001200020056a36020802402002280204450d00200341002802a8bfd38000118080808000000b200241206a2480808080000b3900200128021c20002802002d0000410274220041b487c680006a280200200041a887c680006a280200200128022028020c118180808000000b3e01017f23808080800041106b220224808080800020022000280200290204370208200241086a200110d9808080002100200241106a24808080800020000bbe0401077f23808080800041c0006b2207248080808000200120042005200610df9680800021060240024002400240024020032d00004102470d00200328020821052003280204210420022802002203280254210820032802502109200128022c220a410176210302400240200a4101710d0020012802042001280228220a200a41284b220a1b220b2003490d0420012802002001200a1b210a4100210b0c010b20012802042001280228220a200a41284b1b220b2003490d04200b20034d0d05200720012802002001200a41284b1b220a20036a2d000041f001713a00294101210b0b2007200b3a0028200720033602242007200a36022020072009200741206a20042005200828021c11878080800000200228020021022001280200210a2001280204210820012802282103200741206a41186a200741186a2209290000370300200741206a41106a200741106a220b290000370300200741206a41086a200741086a220c290000370300200720072900003703202002200a2001200341284b220d1b20082003200d1b20042005200741206a10c08d8080002001200610dc96808000200041003a0000200041196a2009290000370000200041116a200b290000370000200041096a200c290000370000200020072900003700010c010b200020022802002003200110c38d8080002001200610dc968080000b200741c0006a2480808080000f0b2003200b41bca3cd800010aa81808000000b2003200b41cca3cd800010aa81808000000b2003200b41dca3cd800010f580808000000be10401097f23808080800041c0006b22062480808080002001280200220728020020032004200510df9680800021050240024002400240024020022d00004102470d00200228020821042002280204210320012802042208280200220228025421092002280250210a2007280200220228022c220b410176210102400240200b4101710d0020022802042002280228220b200b41284b220b1b220c2001490d0420022802002002200b1b21024100210b0c010b20022802042002280228220b200b41284b1b220c2001490d04200c20014d0d05200620022802002002200b41284b1b220220016a2d000041f001713a00294101210b0b2006200b3a002820062001360224200620023602202006200a200641206a20032004200928021c118780808000002008280200210b2007280200220228020021082002280204210920022802282101200641206a41186a200641186a220a290000370300200641206a41106a200641106a220c290000370300200641206a41086a200641086a220d29000037030020062006290000370320200b20082002200141284b220e1b20092001200e1b20032004200641206a10bf8d8080002007280200200510dc96808000200041003a0000200041196a200a290000370000200041116a200c290000370000200041096a200d290000370000200020062900003700010c010b200020012802042802002002200728020010c28d8080002007280200200510dc968080000b200641c0006a2480808080000f0b2001200c41bca3cd800010aa81808000000b2001200c41cca3cd800010aa81808000000b2001200c41dca3cd800010f580808000000bbe0401077f23808080800041c0006b2207248080808000200120042005200610df9680800021060240024002400240024020032d00004102470d00200328020821052003280204210420022802002203280254210820032802502109200128022c220a410176210302400240200a4101710d0020012802042001280228220a200a41284b220a1b220b2003490d0420012802002001200a1b210a4100210b0c010b20012802042001280228220a200a41284b1b220b2003490d04200b20034d0d05200720012802002001200a41284b1b220a20036a2d000041f001713a00294101210b0b2007200b3a0028200720033602242007200a36022020072009200741206a20042005200828021c11878080800000200228020021022001280200210a2001280204210820012802282103200741206a41186a200741186a2209290000370300200741206a41106a200741106a220b290000370300200741206a41086a200741086a220c290000370300200720072900003703202002200a2001200341284b220d1b20082003200d1b20042005200741206a10bf8d8080002001200610dc96808000200041003a0000200041196a2009290000370000200041116a200b290000370000200041096a200c290000370000200020072900003700010c010b200020022802002003200110c28d8080002001200610dc968080000b200741c0006a2480808080000f0b2003200b41bca3cd800010aa81808000000b2003200b41cca3cd800010aa81808000000b2003200b41dca3cd800010f580808000000be10401097f23808080800041c0006b22062480808080002001280200220728020020032004200510df9680800021050240024002400240024020022d00004102470d00200228020821042002280204210320012802042208280200220228025421092002280250210a2007280200220228022c220b410176210102400240200b4101710d0020022802042002280228220b200b41284b220b1b220c2001490d0420022802002002200b1b21024100210b0c010b20022802042002280228220b200b41284b1b220c2001490d04200c20014d0d05200620022802002002200b41284b1b220220016a2d000041f001713a00294101210b0b2006200b3a002820062001360224200620023602202006200a200641206a20032004200928021c118780808000002008280200210b2007280200220228020021082002280204210920022802282101200641206a41186a200641186a220a290000370300200641206a41106a200641106a220c290000370300200641206a41086a200641086a220d29000037030020062006290000370320200b20082002200141284b220e1b20092001200e1b20032004200641206a10c08d8080002007280200200510dc96808000200041003a0000200041196a200a290000370000200041116a200c290000370000200041096a200d290000370000200020062900003700010c010b200020012802042802002002200728020010c38d8080002007280200200510dc968080000b200641c0006a2480808080000f0b2001200c41bca3cd800010aa81808000000b2001200c41cca3cd800010aa81808000000b2001200c41dca3cd800010f580808000000b9c0301047f23808080800041a0056b2202248080808000200241c8036a2001280200220128020022032001280204220410ec8b808000200241c0036a2201200241c8036a410c6a290200370300200220022902cc033703b80302400240024020022802c80322054107470d00200241086a410c6a2001290300370200200220022903b80337020c200241073602082002410c6a21010c010b200241e0016a41146a200241c8036a41146a41c40110e9968080001a200241e0016a410c6a2001290300370200200220053602e001200220022903b8033702e401200241086a200241e0016a2003200410d396808000200241086a41046a2101200228020822034107460d00200241c8036a41046a200141d40110e9968080001a200220033602c803200241e0016a200241c8036a10c384808000024020022802e00122014108470d00200241e0016a109f8d8080000c020b200041046a200241e0016a41046a41e40010e9968080001a20002001360200200241a0056a2480808080000f0b200110a08d8080000b41a482c6800041c20041e882c68000108b81808000000ba00101017f024020002802004108460d00200010a88d8080000f0b02400240024002402000280204220028020041fcffffff076a2201410320014105491b0e0403030102000b2000280204450d02200028020841002802a8bfd38000118080808000000c020b2000280204450d01200028020841002802a8bfd38000118080808000000c010b200010a08d8080000b200041002802a8bfd38000118080808000000bc00101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020841002802a8bfd38000118080808000000c030b2000280204450d02200028020841002802a8bfd38000118080808000000c020b200010a08d8080000c010b2001450d01200028020421000b200041002802a8bfd38000118080808000000b0b810101037f200128020421022001280200220328020022012001280200220441016a36020002402004417f4a0d00000b20002001360204200041073602002000200229000037000c20002003280204360208200041146a200241086a2900003700002000411c6a200241106a290000370000200041246a200241186a2900003700000b9c0301047f23808080800041a0056b2202248080808000200241c8036a2001280200220128020022032001280204220410ec8b808000200241c0036a2201200241c8036a410c6a290200370300200220022902cc033703b80302400240024020022802c80322054107470d00200241086a410c6a2001290300370200200220022903b80337020c200241073602082002410c6a21010c010b200241e0016a41146a200241c8036a41146a41c40110e9968080001a200241e0016a410c6a2001290300370200200220053602e001200220022903b8033702e401200241086a200241e0016a2003200410d396808000200241086a41046a2101200228020822034107460d00200241c8036a41046a200141d40110e9968080001a200220033602c803200241e0016a200241c8036a10c184808000024020022802e00122014108470d00200241e0016a109f8d8080000c020b200041046a200241e0016a41046a41e40010e9968080001a20002001360200200241a0056a2480808080000f0b200110a08d8080000b41a482c6800041c20041e882c68000108b81808000000bec0201047f23808080800041106b220224808080800020012802082103200128020421040240024002400240024020012802004101710d00024020034100480d00200341f5ffffff074f0d0202402003410b6a41fcffffff077122050d00410421010c050b41002d00b8bfd380001a200541002802b0bfd380001182808080000022010d044104200510b980808000000b41b099cd8000412b2002410f6a41a099cd800041dc99cd800010a481808000000b20034120470d0120002004290000370001200041196a200441186a290000370000200041116a200441106a290000370000200041096a200441086a290000370000410121030c030b41bc84c08000412b2002410f6a41ac84c0800041e486c0800010a481808000000b4120200341ecf9c58000108681808000000b2001428180808010370200200141086a2004200310e9968080001a2000200336020820002001360204410021030b200020033a0000200241106a2480808080000bef0301017f0240024002400240024020002d0000417c6a41ff01712201410420014104491b0e0404010203000b0240200028025c4129490d00200028023441002802a8bfd38000118080808000000b200028022c41002802a8bfd380001180808080000020002d000022014103460d0302400240024020010e020106000b2000280224220120012802002201417f6a36020020014101470d05200041246a21000c010b2000280204220120012802002201417f6a36020020014101470d04200041046a21000b200010d0968080000c030b0240200028025c4129490d00200028023441002802a8bfd38000118080808000000b0240024020002d00040e020104000b2000280228220120012802002201417f6a36020020014101470d03200041286a10d0968080000f0b2000280208220120012802002201417f6a36020020014101470d02200041086a10d0968080000f0b20002802544129490d01200028022c41002802a8bfd38000118080808000000f0b200028023041002802a8bfd380001180808080000020002d000422014103460d000240024020010e020102000b2000280228220120012802002201417f6a36020020014101470d01200041286a10d0968080000f0b2000280208220120012802002201417f6a36020020014101470d00200041086a10d0968080000f0b0b6801017f024002400240024020002d00000e020103000b2000280224220120012802002201417f6a36020020014101470d02200041246a21000c010b2000280204220120012802002201417f6a36020020014101470d01200041046a21000b200010d0968080000b0b970101047f20002802042101024020002802082202450d00200141086a210303402003280200220420042802002204417f6a360200024020044101470d00200310e08a8080000b200341306a21032002417f6a22020d000b0b02402000280200450d00200141002802a8bfd38000118080808000000b024020002802344129490d00200028020c41002802a8bfd38000118080808000000b0b7101017f024020002d000022014103460d0002400240024020010e020103000b2000280224220120012802002201417f6a36020020014101470d02200041246a21000c010b2000280204220120012802002201417f6a36020020014101470d01200041046a21000b200010d0968080000b0bee0401037f0240024002400240024002402000280200417e6a2201410420014106491b0e050501020304000b2000280204220120012802002201417f6a36020020014101470d04200041046a10d0968080000c040b0240200028022c4129490d00200028020441002802a8bfd38000118080808000000b20002802342201450d03200120012802002202417f6a36020020024101470d03200041346a10d0968080000f0b024020002802504129490d00200028022841002802a8bfd38000118080808000000b20002d0004450d022000280208220110a88d808000200141002802a8bfd38000118080808000000f0b024020002802382202450d002000280234210103400240024020012d00000e03010001000b200141046a280200220310c48b808000200341002802a8bfd38000118080808000000b200141246a21012002417f6a22020d000b0b02402000280230450d00200028023441002802a8bfd38000118080808000000b2000280204450d0120002802082201450d01200120012802002202417f6a36020020024101470d01200041086a10d0968080000f0b024020002802604129490d00200028023841002802a8bfd38000118080808000000b024020002802342202450d002000280230210103400240024020012d00000e03010001000b200141046a280200220310c48b808000200341002802a8bfd38000118080808000000b200141246a21012002417f6a22020d000b0b0240200028022c450d00200028023041002802a8bfd38000118080808000000b2000280200450d0020002802042201450d00200120012802002202417f6a36020020024101470d00200041046a10d0968080000f0b0bbf0101027f41002102024020002d0000220320012d0000470d0002400240024020030e03000102000b200028020822032001280208470d02200028020441086a200128020441086a200310ed96808000450f0b200041016a200141016a412010ed968080004521020c010b0240024020002d0001450d0020012d00010d010b200028022822032001280228470d01200028022441086a200128022441086a200310ed96808000450f0b200041026a200141026a412010ed96808000450f0b20020bdf0301067f23808080800041d0006b220424808080800020012802202105200128022428020c2106200441186a41086a200341086a280200360200200420032902003703182004410c6a20052002200441186a2006118380808000000240024002400240200428020c2205418080808078470d0041002d00b8bfd380001a413041002802b0bfd38000118280808000002201450d012001418580808078360200200120022900003700042001410c6a200241086a290000370000200141146a200241106a2900003700002001411c6a200241186a2900003700002000418080808078360200200020013602040c030b200428021421062004280210210702402001280210450d0020012802140d022001417f36021420012802182108200128021c2109200441c4006a200241186a2900003702002004413c6a200241106a290000370200200441346a200241086a290000370200200420063602202004200736021c20044180808080783602182004200229000037022c200420032902003702242008200441186a200928020c118b80808000002001200128021441016a3602140b2000200636020820002007360204200020053602000c020b4104413010b980808000000b41f0fec58000108081808000000b200441d0006a2480808080000bc00e05037f027e017f017e027f23808080800041d0056b2206248080808000200328020821072003280204210802400240024002400240024002400240024020032802000d0020074120460d034100210320074100480d0220070d01410121030c060b41002103024020074100480d00024020070d00410121030c050b41002d00b8bfd380001a200741002802b0bfd380001182808080000022030d04410121030b2003200741e0fdc5800010ae80808000000b41002d00b8bfd380001a200741002802b0bfd380001182808080000022030d04410121030b2003200741e0fdc5800010ae80808000000b200841026a2d000021072008410f6a2900002109200841176a290000210a20082f000021032008280003210b2008290007210c200641f8036a411f6a2008411f6a2d00003a0000200641f8036a41176a200a370000200641f8036a410f6a2009370000200641f8036a41026a20073a00002006200c3700ff032006200b3600fb03200620033b01f80320012802202107200128022428020c2103200641086a41086a200441086a28020036020020062004290200370308200641e8036a2007200641f8036a200641086a200311838080800000024020062802e8032207418080808078460d00200641a8036a41086a200641f8036a41086a290100370300200641a8036a41106a200641f8036a41106a290100370300200641a8036a41186a200641f8036a41186a290100370300200620062901f8033703a80320062802f003210820062802ec032103410121040c020b024002400240024020042802040d0020042d00084101470d010b41002d00b8bfd380001a0240413041002802b0bfd38000118280808000002203450d0020034185808080783602000c020b4104413010b980808000000b41002d00b8bfd380001a413041002802b0bfd38000118280808000002203450d0120034184808080783602000b200320062901f8033700042003411c6a20064190046a290100370000200341146a20064188046a2901003700002003410c6a20064180046a2901003700000c040b4104413010b980808000000b20032008200710e9968080001a41002104200721080b200641f8036a2003200810ec8b808000200641e8036a41086a220b20064188046a28020036020020062006290280043703e80320062802fc03210d024002400240024020062802f803220e4107470d00200641086a41086a200b280200360200200620062903e80337030802402007450d00200341002802a8bfd38000118080808000000b0240024020040d00200641c8036a41186a200241186a290000370300200641c8036a41106a200241106a290000370300200641c8036a41086a200241086a290000370300200620022900003703c8030c010b200641c8036a41186a200641a8036a41186a290300370300200641c8036a41106a200641a8036a41106a290300370300200641c8036a41086a200641a8036a41086a290300370300200620062903a8033703c8030b41002d00b8bfd380001a413041002802b0bfd380001182808080000022070d014104413010b980808000000b200641146a2006418c046a41c40110e9968080001a200641086a41086a200b280200360200200620062903e803370308200641d8016a200641086a41d00110e9968080001a2005450d022004450d0220012802104101470d0220012802140d012001417f36021420012802182102200128021c2105200641a0046a200641a8036a41186a29030037020020064198046a200641b8036a290300370200200641f8036a41186a200641b0036a290300370200200620062903a80337028804200620083602840420062003360280042006428280808088808080807f3702f8032002200641f8036a200528020c118b80808000002001200128021441016a3602140c020b2007200d36020020072006290308370204200720062903c8033702102007410c6a200641086a41086a280200360200200741186a200641c8036a41086a290300370200200741206a200641d8036a290300370200200741286a200641c8036a41186a29030037020020004107360200200020073602040c040b4180ffc58000108081808000000b200020062903a8033700e501200041fd016a200641c0036a290300370000200041f5016a200641b8036a290300370000200041ed016a200641a8036a41086a290300370000200041086a200641d8016a41d00110e9968080001a200020043a00e401200020083602e001200020033602dc012000200d3602042000200e360200200020073602d8010c020b20032008200710e996808000210841002d00b8bfd380001a0240413041002802b0bfd380001182808080000022030d004104413010b980808000000b2003200736020c2003200836020820032007360204200341888080807836020020032002290000370010200341186a200241086a290000370000200341206a200241106a290000370000200341286a200241186a2900003700000b20004107360200200020033602040b200641d0056a2480808080000bbe6907057f027e017f017e047f017e1d7f23808080800041800f6b220524808080800020052004360204200541980d6a2002200310ec8b80800020054188076a2206200541980d6a410c6a2902003703002005200529029c0d3703800702400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020052802980d22074107470d00200541086a410c6a2006290300370200200520052903800737020c2005410c6a21030c010b200541c00b6a41146a200541980d6a41146a41c40110e9968080001a200541c00b6a410c6a2006290300370200200520073602c00b20052005290380073702c40b200541086a200541c00b6a2002200310d39680800041042102200528020822034107470d01200541086a41046a21030b200541980d6a41086a2202200341086a290200370300200541980d6a41186a2204200141086a290000370300200541980d6a41206a2206200141106a290000370300200541980d6a41286a2207200141186a290000370300200520032902003703980d200520012900003703a80d41002d00b8bfd380001a413041002802b0bfd380001182808080000022010d014104413010b980808000000b20052802202107200528021c210820052802182106200528020c21092005290210210a200541e0016a200541086a411c6a41a40110e9968080001a200a422088220ba7210c20052902d001210d20052802cc01210e20052802c801210f024002400240024002400240024002402003417d6a2210410420104104491b0e052d000301022d0b200541003602c00d200541980d6a2006200620086a10c896808000200541c00b6a41186a200541980d6a41186a290200370300200541c00b6a41106a200541980d6a41106a290200370300200541c00b6a41086a200541980d6a41086a290200370300200520052902980d3703c00b20052802b80d211120052902bc0d2112200aa72101024020094101710d000240200a4200530d00200a4280808080d0feffffff005a0d0a0240200c410b6a41fcffffff077122030d00410421130c2d0b41002d00b8bfd380001a200341002802b0bfd380001182808080000022130d2c4104200310b980808000000b41b099cd8000412b200541980d6a41a099cd800041dc99cd800010a481808000000b200b4220520d09200541b80b6a41026a200141026a2d00003a0000200541a80b6a200141136a290000370300200541ad0b6a200141186a290000370000200520012f00003b01b80b2005200129000b3703a00b2001280007210c20012800032113410121140c2b0b200520073602ac0d200520083602a80d200520063602a40d2005200a37029c0d200520093602980d200541980d6a41186a200541e0016a41a40110e99680800021032005200f3602d40e200520013602f806410221022005200541046a3602fc062005200541980d6a3602f4060240024020094102470d000c010b200541f00e6a41086a200541980d6a41086a280200360200200520052902980d3703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200410ad8d80800020052d00c00b22024102460d0a200541ae036a20052d00c30b3a000020054190036a41086a200541c00b6a41106a29020037030020054190036a41106a200541c00b6a41186a29020037030020054190036a41186a200541e00b6a280200360200200520052f00c10b3b01ac03200520052902c80b3703900320052802c40b210c20052802a40d2106200221020b4102210420064102470d020c030b20052902d8012112200520073602b00d200520083602ac0d200520063602a80d2005200a3702a00d2005200936029c0d200520033602980d200541980d6a411c6a200541e0016a41a40110e9968080001a200520013602f806410221022005200541046a3602fc062005200541980d6a3602f4060240024020034102470d000c010b200541f00e6a41086a200541980d6a41086a280200360200200520052902980d3703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200410ad8d80800020052d00c00b22034102460d19200541be076a20052d00c30b3a0000200541a0076a41086a200541c00b6a41106a290200370300200541a0076a41106a200541c00b6a41186a290200370300200541a0076a41186a200541e00b6a280200360200200520052f00c10b3b01bc07200520052902c80b3703a00720052802c40b210420052802a40d210c200321020b41022103200c4102470d030c040b2005200a370288032005200936028403200541003602c00d200541980d6a2006200620086a10c896808000200541086a41086a2203200541980d6a41106a290200370300200541086a41106a2202200541980d6a41186a290200370300200541086a41186a2204200541b80d6a290200370300200520052902a00d370308200528029c0d210620052802980d211520052802c00d2111200541c00b6a41186a200141186a290000370300200541c00b6a41106a200141106a290000370300200541c00b6a41086a200141086a290000370300200520012900003703c00b200541980d6a200541c00b6a20054184036a200528020410ad8d808000024020052d00980d22144102460d00200541b80b6a41026a20052d009b0d3a0000200541a00b6a41086a200541ac0d6a290200370300200541a00b6a41106a200541b40d6a290200370300200541800b6a41086a2003290300370300200541800b6a41106a2002290300370300200541800b6a41186a2004290300370300200520052f00990d3b01b80b200520052902a40d3703a00b200520052903083703800b200528029c0d211320052802a00d210c4106210220072116200621070c2a0b200528029c0d2101200041083a00002000200136020420114129490d2a201541002802a8bfd38000118080808000000c2a0b200541f00e6a41086a200541a40d6a220441086a280200360200200520042902003703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410ad8d80800020052d00c00b22044102460d07200541ce036a20052d00c30b3a0000200541b0036a41086a200541c00b6a41106a290200370300200541b0036a41106a200541c00b6a41186a290200370300200541b0036a41186a200541e00b6a280200360200200520052f00c10b3b01cc03200520052902c80b3703b00320052802c40b2111200421040b410221060240024020052802b00d4102470d000c010b200541f00e6a41086a200341086a280200360200200520032902003703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410ad8d80800020052d00c00b22034102460d08200541ee036a20052d00c30b3a0000200541d0036a41086a200541c00b6a41106a290200370300200541d0036a41106a200541c00b6a41186a290200370300200541d0036a41186a200541e00b6a280200360200200520052f00c10b3b01ec03200520052902c80b3703d00320052802c40b2109200321060b410221030240024020052802bc0d4102470d000c010b200541f00e6a41086a200541bc0d6a220341086a280200360200200520032902003703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410ad8d80800020052d00c00b22014102460d092005418e046a20052d00c30b3a0000200541f0036a41086a200541c00b6a41106a290200370300200541f0036a41106a200541c00b6a41186a290200370300200541f0036a41186a200541e00b6a280200360200200520052f00c10b3b018c04200520052902c80b3703f00320052802c40b2110200121030b200541c00b6a200541f4066a410410ae8d80800020052d00c00b22014103460d09200541ac046a41026a20052d00c30b3a000020054190046a41086a200541c00b6a41106a220729020037030020054190046a41106a200541c00b6a41186a221329020037030020054190046a41186a200541e00b6a2215280200360200200520052f00c10b3b01ac04200520052902c80b3703900420052802c40b2108200541c00b6a200541f4066a410510ae8d80800020052d00c00b22164103460d0a200541cc046a41026a20052d00c30b3a0000200541b0046a41086a2007290200370300200541b0046a41106a2013290200370300200541b0046a41186a2015280200360200200520052f00c10b3b01cc04200520052902c80b3703b00420052802c40b2113200541c00b6a200541f4066a410610ae8d80800020052d00c00b22154103460d0b200541ec046a41026a20052d00c30b3a0000200541d0046a41086a200541c00b6a41106a2207290200370300200541d0046a41106a200541c00b6a41186a2214290200370300200541d0046a41186a200541e00b6a220f280200360200200520052f00c10b3b01ec04200520052902c80b3703d00420052802c40b2117200541c00b6a200541f4066a410710ae8d80800020052d00c00b22184103460d0c2005418c056a41026a20052d00c30b3a0000200541f0046a41086a2007290200370300200541f0046a41106a2014290200370300200541f0046a41186a200f280200360200200520052f00c10b3b018c05200520052902c80b3703f00420052802c40b210f200541c00b6a200541f4066a410810ae8d80800020052d00c00b22194103460d0d200541ac056a41026a20052d00c30b3a000020054190056a41086a200541c00b6a41106a220729020037030020054190056a41106a200541c00b6a41186a221429020037030020054190056a41186a200541e00b6a221a280200360200200520052f00c10b3b01ac05200520052902c80b3703900520052802c40b211b200541c00b6a200541f4066a410910ae8d80800020052d00c00b221c4103460d0e200541cc056a41026a20052d00c30b3a0000200541b0056a41086a2007290200370300200541b0056a41106a2014290200370300200541b0056a41186a201a280200360200200520052f00c10b3b01cc05200520052902c80b3703b00520052802c40b211a200541c00b6a200541f4066a410a10ae8d80800020052d00c00b221d4103460d0f200541ec056a41026a20052d00c30b3a0000200541d0056a41086a200541c00b6a41106a2207290200370300200541d0056a41106a200541c00b6a41186a2214290200370300200541d0056a41186a200541e00b6a221e280200360200200520052f00c10b3b01ec05200520052902c80b3703d00520052802c40b211f200541c00b6a200541f4066a410b10ae8d80800020052d00c00b22204103460d102005418c066a41026a20052d00c30b3a0000200541f0056a41086a2007290200370300200541f0056a41106a2014290200370300200541f0056a41186a201e280200360200200520052f00c10b3b018c06200520052902c80b3703f00520052802c40b211e200541c00b6a200541f4066a410c10ae8d80800020052d00c00b22214103460d11200541ac066a41026a20052d00c30b3a000020054190066a41086a200541c00b6a41106a220729020037030020054190066a41106a200541c00b6a41186a221429020037030020054190066a41186a200541e00b6a2222280200360200200520052f00c10b3b01ac06200520052902c80b3703900620052802c40b2123200541c00b6a200541f4066a410d10ae8d80800020052d00c00b22244103460d12200541cc066a41026a20052d00c30b3a0000200541b0066a41086a2007290200370300200541b0066a41106a2014290200370300200541b0066a41186a2022280200360200200520052f00c10b3b01cc06200520052902c80b3703b00620052802c40b2122200541c00b6a200541f4066a410e10ae8d80800020052d00c00b22254103460d13200541f0066a41026a20052d00c30b3a0000200541d0066a41086a200541c00b6a41106a2207290200370300200541d0066a41106a200541c00b6a41186a2214290200370300200541d0066a41186a200541e00b6a2226280200360200200520052f00c10b3b01f006200520052902c80b3703d00620052802c40b2127200541c00b6a200541f4066a410f10ae8d80800020052d00c00b22284103460d142005419c076a41026a20052d00c30b3a000020054180076a41086a200729020037030020054180076a41106a201429020037030020054180076a41186a2026280200360200200520052f00c10b3b019c07200520052902c80b3703800720052802c40b212641002d00b8bfd380001a0240024041c00441002802b0bfd38000118280808000002207450d00200720023a0000200720052f01ac033b00012007200c3602042007200529039003370208200720043a0024200720052f01cc033b002541032114200741036a200541ac036a41026a2d00003a0000200741106a20054190036a41086a290300370200200741186a20054190036a41106a290300370200200741206a20054190036a41186a280200360200200741276a200541cc036a41026a2d00003a000020072011360228200720063a00482007200936024c200720052903b00337022c200741346a200541b0036a41086a2903003702002007413c6a200541b0036a41106a290300370200200741c4006a200541b0036a41186a280200360200200720052f01ec033b0049200741cb006a200541ec036a41026a2d00003a0000200720052903d003370250200741d8006a200541d0036a41086a290300370200200741e0006a200541d0036a41106a290300370200200741e8006a200541d0036a41186a280200360200200720033a006c20072010360270200720013a009001200720052f018c043b006d200741ef006a2005418c046a41026a2d00003a00002007418c016a200541f0036a41186a28020036020020074184016a200541f0036a41106a290300370200200741fc006a200541f0036a41086a290300370200200720052903f003370274200720052f01ac043b00910120074193016a200541ac046a41026a2d00003a00002007200836029401200741b0016a20054190046a41186a280200360200200741a8016a20054190046a41106a290300370200200741a0016a20054190046a41086a290300370200200720052903900437029801200720163a00b401200741b7016a200541cc046a41026a2d00003a0000200720052f01cc043b00b501200720133602b801200741d4016a200541b0046a41186a280200360200200741cc016a200541b0046a41106a290300370200200741c4016a200541b0046a41086a290300370200200720052903b0043702bc01200720153a00d801200741db016a200541ec046a41026a2d00003a0000200720052f01ec043b00d901200720173602dc01200741f8016a200541d0046a41186a280200360200200741f0016a200541d0046a41106a290300370200200741e8016a200541d0046a41086a290300370200200720052903d0043702e001200720183a00fc01200741ff016a2005418c056a41026a2d00003a0000200720052f018c053b00fd012007200f360280022007419c026a200541f0046a41186a28020036020020074194026a200541f0046a41106a2903003702002007418c026a200541f0046a41086a290300370200200720052903f00437028402200720193a00a002200741a3026a200541ac056a41026a2d00003a0000200720052f01ac053b00a1022007201b3602a402200741c0026a20054190056a41186a280200360200200741b8026a20054190056a41106a290300370200200741b0026a20054190056a41086a29030037020020072005290390053702a8022007201c3a00c402200741c7026a200541cc056a41026a2d00003a0000200720052f01cc053b00c5022007201a3602c802200741e4026a200541b0056a41186a280200360200200741dc026a200541b0056a41106a290300370200200741d4026a200541b0056a41086a290300370200200720052903b0053702cc022007201d3a00e802200741eb026a200541ec056a41026a2d00003a0000200720052f01ec053b00e9022007201f3602ec0220074188036a200541d0056a41186a28020036020020074180036a200541d0056a41106a290300370200200741f8026a200541d0056a41086a290300370200200720052903d0053702f002200720203a008c032007418f036a2005418c066a41026a2d00003a0000200720052f018c063b008d032007201e36029003200741ac036a200541f0056a41186a280200360200200741a4036a200541f0056a41106a2903003702002007419c036a200541f0056a41086a290300370200200720052903f00537029403200720213a00b003200741b3036a200541ac066a41026a2d00003a0000200720052f01ac063b00b103200720233602b403200741d0036a20054190066a41186a280200360200200741c8036a20054190066a41106a290300370200200741c0036a20054190066a41086a29030037020020072005290390063702b803200720243a00d403200741d7036a200541cc066a41026a2d00003a0000200720052f01cc063b00d503200720223602d803200741f4036a200541b0066a41186a280200360200200741ec036a200541b0066a41106a290300370200200741e4036a200541b0066a41086a290300370200200720052903b0063702dc03200720253a00f803200741fb036a200541f0066a41026a2d00003a0000200720052f01f0063b00f903200720273602fc0320074198046a200541d0066a41186a28020036020020074190046a200541d0066a41106a29030037020020074188046a200541d0066a41086a290300370200200720052903d00637028004200720283a009c042007419f046a2005419c076a41026a2d00003a0000200720052f019c073b009d04200720263602a004200741bc046a20054180076a41186a280200360200200741b4046a20054180076a41106a290300370200200741ac046a20054180076a41086a29030037020020072005290380073702a404200e4102470d01410721020c290b410441c00410b980808000000b2005200d37020c2005200e360208200541c00b6a200541086a10a38d808000200541b80b6a41026a20052d00c30b3a0000200541a00b6a41086a200541d40b6a290200370300200541a00b6a41106a200541dc0b6a290200370300200520052f00c10b3b01b80b200520052902cc0b3703a00b20052d00c00b211420052802c40b211320052802c80b210c20052802e40b211620052802e80b2115410721020c270b200541f00e6a41086a200541ac0d6a280200360200200520052902a40d3703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410ad8d80800020052d00c00b22034102460d15200541de076a20052d00c30b3a0000200541c0076a41086a200541c00b6a41106a290200370300200541c0076a41106a200541c00b6a41186a290200370300200541c0076a41186a200541e00b6a280200360200200520052f00c10b3b01dc07200520052902c80b3703c00720052802c40b210c200321030b410221060240024020052802b00d4102470d000c010b200541f00e6a41086a200541980d6a41186a220641086a280200360200200520062902003703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410ad8d80800020052d00c00b22064102460d16200541fe076a20052d00c30b3a0000200541e0076a41086a200541c00b6a41106a290200370300200541e0076a41106a200541c00b6a41186a290200370300200541e0076a41186a200541e00b6a280200360200200520052f00c10b3b01fc07200520052902c80b3703e00720052802c40b2109200621060b410221110240024020052802bc0d4102470d000c010b200541f00e6a41086a200541bc0d6a220741086a280200360200200520072902003703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410ad8d80800020052d00c00b22074102460d172005419e086a20052d00c30b3a000020054180086a41086a200541c00b6a41106a29020037030020054180086a41106a200541c00b6a41186a29020037030020054180086a41186a200541e00b6a280200360200200520052f00c10b3b019c08200520052902c80b3703800820052802c40b2113200721110b410221100240024020052802c80d4102470d000c010b200541f00e6a41086a200541c80d6a220741086a280200360200200520072902003703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410ad8d80800020052d00c00b22074102460d18200541be086a20052d00c30b3a0000200541a0086a41086a200541c00b6a41106a290200370300200541a0086a41106a200541c00b6a41186a290200370300200541a0086a41186a200541e00b6a280200360200200520052f00c10b3b01bc08200520052902c80b3703a00820052802c40b2101200721100b200541c00b6a200541f4066a410510af8d80800020052d00c00b22144103460d18200541dc086a41026a20052d00c30b3a0000200541c0086a41086a200541c00b6a41106a2207290200370300200541c0086a41106a200541c00b6a41186a2215290200370300200541c0086a41186a200541e00b6a2208280200360200200520052f00c10b3b01dc08200520052902c80b3703c00820052802c40b2116200541c00b6a200541f4066a410610af8d80800020052d00c00b22174103460d19200541fc086a41026a20052d00c30b3a0000200541e0086a41086a2007290200370300200541e0086a41106a2015290200370300200541e0086a41186a2008280200360200200520052f00c10b3b01fc08200520052902c80b3703e00820052802c40b2108200541c00b6a200541f4066a410710af8d80800020052d00c00b22184103460d1a2005419c096a41026a20052d00c30b3a000020054180096a41086a200541c00b6a41106a220729020037030020054180096a41106a200541c00b6a41186a221529020037030020054180096a41186a200541e00b6a2219280200360200200520052f00c10b3b019c09200520052902c80b3703800920052802c40b211a200541c00b6a200541f4066a410810af8d80800020052d00c00b221b4103460d1b200541bc096a41026a20052d00c30b3a0000200541a0096a41086a2007290200370300200541a0096a41106a2015290200370300200541a0096a41186a2019280200360200200520052f00c10b3b01bc09200520052902c80b3703a00920052802c40b2119200541c00b6a200541f4066a410910af8d80800020052d00c00b221c4103460d1c200541dc096a41026a20052d00c30b3a0000200541c0096a41086a200541c00b6a41106a2207290200370300200541c0096a41106a200541c00b6a41186a2215290200370300200541c0096a41186a200541e00b6a221d280200360200200520052f00c10b3b01dc09200520052902c80b3703c00920052802c40b211e200541c00b6a200541f4066a410a10af8d80800020052d00c00b221f4103460d1d200541fc096a41026a20052d00c30b3a0000200541e0096a41086a2007290200370300200541e0096a41106a2015290200370300200541e0096a41186a201d280200360200200520052f00c10b3b01fc09200520052902c80b3703e00920052802c40b211d200541c00b6a200541f4066a410b10af8d80800020052d00c00b22204103460d1e2005419c0a6a41026a20052d00c30b3a0000200541800a6a41086a200541c00b6a41106a2207290200370300200541800a6a41106a200541c00b6a41186a2215290200370300200541800a6a41186a200541e00b6a2221280200360200200520052f00c10b3b019c0a200520052902c80b3703800a20052802c40b2122200541c00b6a200541f4066a410c10af8d80800020052d00c00b22234103460d1f200541bc0a6a41026a20052d00c30b3a0000200541a00a6a41086a2007290200370300200541a00a6a41106a2015290200370300200541a00a6a41186a2021280200360200200520052f00c10b3b01bc0a200520052902c80b3703a00a20052802c40b2121200541c00b6a200541f4066a410d10af8d80800020052d00c00b22244103460d20200541dc0a6a41026a20052d00c30b3a0000200541c00a6a41086a200541c00b6a41106a2207290200370300200541c00a6a41106a200541c00b6a41186a2215290200370300200541c00a6a41186a200541e00b6a2225280200360200200520052f00c10b3b01dc0a200520052902c80b3703c00a20052802c40b2126200541c00b6a200541f4066a410e10af8d80800020052d00c00b22274103460d21200541fc0a6a41026a20052d00c30b3a0000200541e00a6a41086a2007290200370300200541e00a6a41106a2015290200370300200541e00a6a41186a2025280200360200200520052f00c10b3b01fc0a200520052902c80b3703e00a20052802c40b2125200541c00b6a200541f4066a410f10af8d80800020052d00c00b22284103460d222005419c076a41026a222920052d00c30b3a000020054180076a41086a222a200541c00b6a41106a222b29020037030020054180076a41106a222c200541c00b6a41186a222d29020037030020054180076a41186a222e200541c00b6a41206a280200360200200520052f00c10b3b019c07200520052902c80b3703800720052802c40b212f41002d00b8bfd380001a0240024041c00441002802b0bfd38000118280808000002215450d002012422088a72107201520023a0000201520052f01bc073b000120152004360204201520052903a007370208201520033a0024201520052f01dc073b002541032102201541036a200541bc076a41026a2d00003a0000201541106a200541a0076a41086a290300370200201541186a200541a0076a41106a290300370200201541206a200541a0076a41186a280200360200201541276a200541dc076a41026a2d00003a00002015200c360228201520063a00482015200936024c201520052903c00737022c201541346a200541c0076a41086a2903003702002015413c6a200541c0076a41106a290300370200201541c4006a200541c0076a41186a280200360200201520052f01fc073b0049201541cb006a200541fc076a41026a2d00003a0000201520052903e007370250201541d8006a200541e0076a41086a290300370200201541e0006a200541e0076a41106a290300370200201541e8006a200541e0076a41186a280200360200201520113a006c20152013360270201520103a009001201520052f019c083b006d201541ef006a2005419c086a41026a2d00003a00002015418c016a20054180086a41186a28020036020020154184016a20054180086a41106a290300370200201541fc006a20054180086a41086a2903003702002015200529038008370274201520052f01bc083b00910120154193016a200541bc086a41026a2d00003a00002015200136029401201541b0016a200541a0086a41186a280200360200201541a8016a200541a0086a41106a290300370200201541a0016a200541a0086a41086a290300370200201520052903a00837029801201520143a00b401201541b7016a200541dc086a41026a2d00003a0000201520052f01dc083b00b501201520163602b801201541d4016a200541c0086a41186a280200360200201541cc016a200541c0086a41106a290300370200201541c4016a200541c0086a41086a290300370200201520052903c0083702bc01201520173a00d801201541db016a200541fc086a41026a2d00003a0000201520052f01fc083b00d901201520083602dc01201541f8016a200541e0086a41186a280200360200201541f0016a200541e0086a41106a290300370200201541e8016a200541e0086a41086a290300370200201520052903e0083702e001201520183a00fc01201541ff016a2005419c096a41026a2d00003a0000201520052f019c093b00fd012015201a360280022015419c026a20054180096a41186a28020036020020154194026a20054180096a41106a2903003702002015418c026a20054180096a41086a2903003702002015200529038009370284022015201b3a00a002201541a3026a200541bc096a41026a2d00003a0000201520052f01bc093b00a102201520193602a402201541c0026a200541a0096a41186a280200360200201541b8026a200541a0096a41106a290300370200201541b0026a200541a0096a41086a290300370200201520052903a0093702a8022015201c3a00c402201541c7026a200541dc096a41026a2d00003a0000201520052f01dc093b00c5022015201e3602c802201541e4026a200541c0096a41186a280200360200201541dc026a200541c0096a41106a290300370200201541d4026a200541c0096a41086a290300370200201520052903c0093702cc022015201f3a00e802201541eb026a200541fc096a41026a2d00003a0000201520052f01fc093b00e9022015201d3602ec0220154188036a200541e0096a41186a28020036020020154180036a200541e0096a41106a290300370200201541f8026a200541e0096a41086a290300370200201520052903e0093702f002201520203a008c032015418f036a2005419c0a6a41026a2d00003a0000201520052f019c0a3b008d032015202236029003201541ac036a200541800a6a41186a280200360200201541a4036a200541800a6a41106a2903003702002015419c036a200541800a6a41086a290300370200201520052903800a37029403201520233a00b003201541b3036a200541bc0a6a41026a2d00003a0000201520052f01bc0a3b00b103201520213602b403201541d0036a200541a00a6a41186a280200360200201541c8036a200541a00a6a41106a290300370200201541c0036a200541a00a6a41086a290300370200201520052903a00a3702b803201520243a00d403201541d7036a200541dc0a6a41026a2d00003a0000201520052f01dc0a3b00d503201520263602d803201541f4036a200541c00a6a41186a280200360200201541ec036a200541c00a6a41106a290300370200201541e4036a200541c00a6a41086a290300370200201520052903c00a3702dc03201520273a00f803201541fb036a200541fc0a6a41026a2d00003a0000201520052f01fc0a3b00f903201520253602fc0320154198046a200541e00a6a41186a28020036020020154190046a200541e00a6a41106a29030037020020154188046a200541e00a6a41086a290300370200201520052903e00a37028004201520283a009c042015419f046a20292d00003a0000201520052f019c073b009d042015202f3602a004201541bc046a202e280200360200201541b4046a202c290300370200201541ac046a202a29030037020020152005290380073702a404200541003602e80b200541c00b6a200d422088a7220120012012a76a10c896808000200541800b6a41186a202d290200370300200541800b6a41106a202b290200370300200541800b6a41086a200541c00b6a41086a290200370300200520052902c00b3703800b20052802e00b211120052902e40b2112200f4102470d010c270b410441c00410b980808000000b2005200da73602102005200e36020c2005200f360208200541c00b6a200541086a10a38d808000200541bc0b6a41026a20052d00c30b3a0000200541b80b6a41026a200541c70b6a2d00003a0000200541a80b6a200541d80b6a290200370300200541b00b6a200541e00b6a290200370300200520052f00c10b3b01bc0b200520052f00c50b3b01b80b200520052902d00b3703a00b20052d00c00b210220052d00c40b211420052802c80b211320052802cc0b210c20052802e80b21160c250b200120052903980d370200200141286a2007290300370200200141206a2006290300370200200141186a2004290300370200200141106a200541980d6a41106a290300370200200141086a2002290300370200200041083a0000200020013602040c250b41bc84c08000412b200541980d6a41ac84c0800041e486c0800010a481808000000b4120200c41ecf9c58000108681808000000b20052802c40b2101200041083a0000200020013602040c220b20052802c40b2101200041083a0000200020013602040c210b20052802c40b2101200041083a0000200020013602040c200b20052802c40b2101200041083a0000200020013602040c1f0b20052802c40b2101200041083a0000200020013602040c1e0b20052802c40b2101200041083a0000200020013602040c1d0b20052802c40b2101200041083a0000200020013602040c1c0b20052802c40b2101200041083a0000200020013602040c1b0b20052802c40b2101200041083a0000200020013602040c1a0b20052802c40b2101200041083a0000200020013602040c190b20052802c40b2101200041083a0000200020013602040c180b20052802c40b2101200041083a0000200020013602040c170b20052802c40b2101200041083a0000200020013602040c160b20052802c40b2101200041083a0000200020013602040c150b20052802c40b2101200041083a0000200020013602040c140b20052802c40b2101200041083a0000200020013602040c130b20052802c40b2101200041083a0000200020013602040c120b20052802c40b2101200041083a0000200020013602040c110b20052802c40b2101200041083a0000200020013602040c100b20052802c40b2101200041083a0000200020013602040c0f0b20052802c40b2101200041083a0000200020013602040c0e0b20052802c40b2101200041083a0000200020013602040c0d0b20052802c40b2101200041083a0000200020013602040c0c0b20052802c40b2101200041083a0000200020013602040c0b0b20052802c40b2101200041083a0000200020013602040c0a0b20052802c40b2101200041083a0000200020013602040c090b20052802c40b2101200041083a0000200020013602040c080b20052802c40b2101200041083a0000200020013602040c070b20052802c40b2101200041083a0000200020013602040c060b20052802c40b2101200041083a0000200020013602040c050b20052802c40b2101200041083a0000200020013602040c040b20052802c40b2101200041083a0000200020013602040c030b2013428180808010370200201341086a2001200c10e9968080001a410021140b200541800b6a41186a200541c00b6a41186a290300370300200541800b6a41106a200541c00b6a41106a290300370300200541800b6a41086a200541c00b6a41086a290300370300200520052903c00b3703800b410521020b200020023a0000200020052f01bc0b3b0001200020143a0004200020052f01b80b3b00052000200c36020c20002013360208200020052903a00b370210200041036a200541bc0b6a41026a2d00003a0000200041076a200541b80b6a41026a2d00003a0000200041186a200541a00b6a41086a290300370200200041206a200541a00b6a41106a290300370200200020073602302000201536022c200020163602282000201237025820002011360254200020052903800b3702342000413c6a200541800b6a41086a290300370200200041c4006a200541800b6a41106a290300370200200041cc006a200541800b6a41186a2903003702000b200541800f6a2480808080000b9f0801057f23808080800041e0016b220424808080800020022802082105200228020421060240024002400240024020022802000d00024020054120460d0041002102024020054100480d00024020050d00410121020c050b41002d00b8bfd380001a200541002802b0bfd380001182808080000022020d04410121020b2002200541e0fdc5800010ae80808000000b2004411c6a41026a200641026a2d00003a0000200441086a2006410f6a290000370300200441106a200641176a290000370300200441186a2006411f6a2d00003a0000200420062f00003b011c2004200629000737030020062800032102410121060c010b20044180016a41186a200141186a29000037030020044180016a41106a200141106a29000037030020044180016a41086a200141086a2900003703002004200129000037038001200441206a20044180016a20062005200310ac8d808000024020042d002022054108460d00200441dc016a41026a20042d00233a0000200420042f00213b01dc012004280224210720044180016a200441206a41086a41d80010e9968080001a024020032802182202450d0020032002417f6a3602184100210620032003280214220241016a22014100200328020c220820012008491b6b3602140240200328021020024102746a2802002202200328020822014f0d00200328020420024107746a220120012d00004108464102746a10a48d808000200120053a0004200141083a000020012007360208200120042f01dc013b0005200141076a200441dc016a41026a2d00003a00002001410c6a20044180016a41d80010e9968080001a0c030b2002200141cc86c6800010f580808000000b0240200328020822022003280200470d00200341dc86c6800010e58a8080000b200328020420024107746a220120053a0004200141083a0000200120042f01dc013b000520012007360208200141076a200441de016a2d00003a00002001410c6a20044180016a41d80010e9968080001a2003200241016a360208410021060c010b20042802242102200041023a0000200020023602040c020b200020063a0000200020042f011c3b00012000200236020420002004290300370208200041036a2004411e6a2d00003a0000200041106a200441086a290300370200200041186a200441106a290300370200200041206a200441186a2802003602000c010b20022006200510e996808000210641002d00b8bfd380001a413041002802b0bfd38000118280808000002202450d012002200536020c2002200636020820022005360204200241888080807836020020002002360204200041023a000020022001290000370010200241186a200141086a290000370000200241206a200141106a290000370000200241286a200141186a2900003700000b200441e0016a2480808080000f0b4104413010b980808000000bd50201017f23808080800041d0006b2203248080808000024002402002410f4b0d00024020012802002002410c6c6a22022802004102470d00200041023a00000c020b200341086a200241086a28020036020020032002290200370300200341306a41086a2001280204220241086a290000370300200341306a41106a200241106a290000370300200341306a41186a200241186a290000370300200320022900003703302003410c6a200341306a2003200128020828020010ad8d808000024020032d000c4102460d002000200329020c370200200041206a2003410c6a41206a280200360200200041186a2003410c6a41186a290200370200200041106a2003410c6a41106a290200370200200041086a2003410c6a41086a2902003702000c020b20002003280210360204200041033a00000c010b2002411041a0ffc5800010f580808000000b200341d0006a2480808080000bd50201017f23808080800041d0006b2203248080808000024002402002410f4b0d00024020012802002002410c6c6a22022802004102470d00200041023a00000c020b200341086a200241086a28020036020020032002290200370300200341306a41086a2001280204220241086a290000370300200341306a41106a200241106a290000370300200341306a41186a200241186a290000370300200320022900003703302003410c6a200341306a2003200128020828020010ad8d808000024020032d000c4102460d002000200329020c370200200041206a2003410c6a41206a280200360200200041186a2003410c6a41186a290200370200200041106a2003410c6a41106a290200370200200041086a2003410c6a41086a2902003702000c020b20002003280210360204200041033a00000c010b200241104190ffc5800010f580808000000b200341d0006a2480808080000bbe6907057f027e017f017e047f017e1d7f23808080800041800f6b220524808080800020052004360204200541980d6a2002200310ec8b80800020054188076a2206200541980d6a410c6a2902003703002005200529029c0d3703800702400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020052802980d22074107470d00200541086a410c6a2006290300370200200520052903800737020c2005410c6a21030c010b200541c00b6a41146a200541980d6a41146a41c40110e9968080001a200541c00b6a410c6a2006290300370200200520073602c00b20052005290380073702c40b200541086a200541c00b6a2002200310d39680800041042102200528020822034107470d01200541086a41046a21030b200541980d6a41086a2202200341086a290200370300200541980d6a41186a2204200141086a290000370300200541980d6a41206a2206200141106a290000370300200541980d6a41286a2207200141186a290000370300200520032902003703980d200520012900003703a80d41002d00b8bfd380001a413041002802b0bfd380001182808080000022010d014104413010b980808000000b20052802202107200528021c210820052802182106200528020c21092005290210210a200541e0016a200541086a411c6a41a40110e9968080001a200a422088220ba7210c20052902d001210d20052802cc01210e20052802c801210f024002400240024002400240024002402003417d6a2210410420104104491b0e052d000301022d0b200541003602c00d200541980d6a2006200620086a10c896808000200541c00b6a41186a200541980d6a41186a290200370300200541c00b6a41106a200541980d6a41106a290200370300200541c00b6a41086a200541980d6a41086a290200370300200520052902980d3703c00b20052802b80d211120052902bc0d2112200aa72101024020094101710d000240200a4200530d00200a4280808080d0feffffff005a0d0a0240200c410b6a41fcffffff077122030d00410421130c2d0b41002d00b8bfd380001a200341002802b0bfd380001182808080000022130d2c4104200310b980808000000b41b099cd8000412b200541980d6a41a099cd800041dc99cd800010a481808000000b200b4220520d09200541b80b6a41026a200141026a2d00003a0000200541a80b6a200141136a290000370300200541ad0b6a200141186a290000370000200520012f00003b01b80b2005200129000b3703a00b2001280007210c20012800032113410121140c2b0b200520073602ac0d200520083602a80d200520063602a40d2005200a37029c0d200520093602980d200541980d6a41186a200541e0016a41a40110e99680800021032005200f3602d40e200520013602f806410221022005200541046a3602fc062005200541980d6a3602f4060240024020094102470d000c010b200541f00e6a41086a200541980d6a41086a280200360200200520052902980d3703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200410b18d80800020052d00c00b22024102460d0a200541ae036a20052d00c30b3a000020054190036a41086a200541c00b6a41106a29020037030020054190036a41106a200541c00b6a41186a29020037030020054190036a41186a200541e00b6a280200360200200520052f00c10b3b01ac03200520052902c80b3703900320052802c40b210c20052802a40d2106200221020b4102210420064102470d020c030b20052902d8012112200520073602b00d200520083602ac0d200520063602a80d2005200a3702a00d2005200936029c0d200520033602980d200541980d6a411c6a200541e0016a41a40110e9968080001a200520013602f806410221022005200541046a3602fc062005200541980d6a3602f4060240024020034102470d000c010b200541f00e6a41086a200541980d6a41086a280200360200200520052902980d3703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200410b18d80800020052d00c00b22034102460d19200541be076a20052d00c30b3a0000200541a0076a41086a200541c00b6a41106a290200370300200541a0076a41106a200541c00b6a41186a290200370300200541a0076a41186a200541e00b6a280200360200200520052f00c10b3b01bc07200520052902c80b3703a00720052802c40b210420052802a40d210c200321020b41022103200c4102470d030c040b2005200a370288032005200936028403200541003602c00d200541980d6a2006200620086a10c896808000200541086a41086a2203200541980d6a41106a290200370300200541086a41106a2202200541980d6a41186a290200370300200541086a41186a2204200541b80d6a290200370300200520052902a00d370308200528029c0d210620052802980d211520052802c00d2111200541c00b6a41186a200141186a290000370300200541c00b6a41106a200141106a290000370300200541c00b6a41086a200141086a290000370300200520012900003703c00b200541980d6a200541c00b6a20054184036a200528020410b18d808000024020052d00980d22144102460d00200541b80b6a41026a20052d009b0d3a0000200541a00b6a41086a200541ac0d6a290200370300200541a00b6a41106a200541b40d6a290200370300200541800b6a41086a2003290300370300200541800b6a41106a2002290300370300200541800b6a41186a2004290300370300200520052f00990d3b01b80b200520052902a40d3703a00b200520052903083703800b200528029c0d211320052802a00d210c4106210220072116200621070c2a0b200528029c0d2101200041083a00002000200136020420114129490d2a201541002802a8bfd38000118080808000000c2a0b200541f00e6a41086a200541a40d6a220441086a280200360200200520042902003703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410b18d80800020052d00c00b22044102460d07200541ce036a20052d00c30b3a0000200541b0036a41086a200541c00b6a41106a290200370300200541b0036a41106a200541c00b6a41186a290200370300200541b0036a41186a200541e00b6a280200360200200520052f00c10b3b01cc03200520052902c80b3703b00320052802c40b2111200421040b410221060240024020052802b00d4102470d000c010b200541f00e6a41086a200341086a280200360200200520032902003703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410b18d80800020052d00c00b22034102460d08200541ee036a20052d00c30b3a0000200541d0036a41086a200541c00b6a41106a290200370300200541d0036a41106a200541c00b6a41186a290200370300200541d0036a41186a200541e00b6a280200360200200520052f00c10b3b01ec03200520052902c80b3703d00320052802c40b2109200321060b410221030240024020052802bc0d4102470d000c010b200541f00e6a41086a200541bc0d6a220341086a280200360200200520032902003703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410b18d80800020052d00c00b22014102460d092005418e046a20052d00c30b3a0000200541f0036a41086a200541c00b6a41106a290200370300200541f0036a41106a200541c00b6a41186a290200370300200541f0036a41186a200541e00b6a280200360200200520052f00c10b3b018c04200520052902c80b3703f00320052802c40b2110200121030b200541c00b6a200541f4066a410410b28d80800020052d00c00b22014103460d09200541ac046a41026a20052d00c30b3a000020054190046a41086a200541c00b6a41106a220729020037030020054190046a41106a200541c00b6a41186a221329020037030020054190046a41186a200541e00b6a2215280200360200200520052f00c10b3b01ac04200520052902c80b3703900420052802c40b2108200541c00b6a200541f4066a410510b28d80800020052d00c00b22164103460d0a200541cc046a41026a20052d00c30b3a0000200541b0046a41086a2007290200370300200541b0046a41106a2013290200370300200541b0046a41186a2015280200360200200520052f00c10b3b01cc04200520052902c80b3703b00420052802c40b2113200541c00b6a200541f4066a410610b28d80800020052d00c00b22154103460d0b200541ec046a41026a20052d00c30b3a0000200541d0046a41086a200541c00b6a41106a2207290200370300200541d0046a41106a200541c00b6a41186a2214290200370300200541d0046a41186a200541e00b6a220f280200360200200520052f00c10b3b01ec04200520052902c80b3703d00420052802c40b2117200541c00b6a200541f4066a410710b28d80800020052d00c00b22184103460d0c2005418c056a41026a20052d00c30b3a0000200541f0046a41086a2007290200370300200541f0046a41106a2014290200370300200541f0046a41186a200f280200360200200520052f00c10b3b018c05200520052902c80b3703f00420052802c40b210f200541c00b6a200541f4066a410810b28d80800020052d00c00b22194103460d0d200541ac056a41026a20052d00c30b3a000020054190056a41086a200541c00b6a41106a220729020037030020054190056a41106a200541c00b6a41186a221429020037030020054190056a41186a200541e00b6a221a280200360200200520052f00c10b3b01ac05200520052902c80b3703900520052802c40b211b200541c00b6a200541f4066a410910b28d80800020052d00c00b221c4103460d0e200541cc056a41026a20052d00c30b3a0000200541b0056a41086a2007290200370300200541b0056a41106a2014290200370300200541b0056a41186a201a280200360200200520052f00c10b3b01cc05200520052902c80b3703b00520052802c40b211a200541c00b6a200541f4066a410a10b28d80800020052d00c00b221d4103460d0f200541ec056a41026a20052d00c30b3a0000200541d0056a41086a200541c00b6a41106a2207290200370300200541d0056a41106a200541c00b6a41186a2214290200370300200541d0056a41186a200541e00b6a221e280200360200200520052f00c10b3b01ec05200520052902c80b3703d00520052802c40b211f200541c00b6a200541f4066a410b10b28d80800020052d00c00b22204103460d102005418c066a41026a20052d00c30b3a0000200541f0056a41086a2007290200370300200541f0056a41106a2014290200370300200541f0056a41186a201e280200360200200520052f00c10b3b018c06200520052902c80b3703f00520052802c40b211e200541c00b6a200541f4066a410c10b28d80800020052d00c00b22214103460d11200541ac066a41026a20052d00c30b3a000020054190066a41086a200541c00b6a41106a220729020037030020054190066a41106a200541c00b6a41186a221429020037030020054190066a41186a200541e00b6a2222280200360200200520052f00c10b3b01ac06200520052902c80b3703900620052802c40b2123200541c00b6a200541f4066a410d10b28d80800020052d00c00b22244103460d12200541cc066a41026a20052d00c30b3a0000200541b0066a41086a2007290200370300200541b0066a41106a2014290200370300200541b0066a41186a2022280200360200200520052f00c10b3b01cc06200520052902c80b3703b00620052802c40b2122200541c00b6a200541f4066a410e10b28d80800020052d00c00b22254103460d13200541f0066a41026a20052d00c30b3a0000200541d0066a41086a200541c00b6a41106a2207290200370300200541d0066a41106a200541c00b6a41186a2214290200370300200541d0066a41186a200541e00b6a2226280200360200200520052f00c10b3b01f006200520052902c80b3703d00620052802c40b2127200541c00b6a200541f4066a410f10b28d80800020052d00c00b22284103460d142005419c076a41026a20052d00c30b3a000020054180076a41086a200729020037030020054180076a41106a201429020037030020054180076a41186a2026280200360200200520052f00c10b3b019c07200520052902c80b3703800720052802c40b212641002d00b8bfd380001a0240024041c00441002802b0bfd38000118280808000002207450d00200720023a0000200720052f01ac033b00012007200c3602042007200529039003370208200720043a0024200720052f01cc033b002541032114200741036a200541ac036a41026a2d00003a0000200741106a20054190036a41086a290300370200200741186a20054190036a41106a290300370200200741206a20054190036a41186a280200360200200741276a200541cc036a41026a2d00003a000020072011360228200720063a00482007200936024c200720052903b00337022c200741346a200541b0036a41086a2903003702002007413c6a200541b0036a41106a290300370200200741c4006a200541b0036a41186a280200360200200720052f01ec033b0049200741cb006a200541ec036a41026a2d00003a0000200720052903d003370250200741d8006a200541d0036a41086a290300370200200741e0006a200541d0036a41106a290300370200200741e8006a200541d0036a41186a280200360200200720033a006c20072010360270200720013a009001200720052f018c043b006d200741ef006a2005418c046a41026a2d00003a00002007418c016a200541f0036a41186a28020036020020074184016a200541f0036a41106a290300370200200741fc006a200541f0036a41086a290300370200200720052903f003370274200720052f01ac043b00910120074193016a200541ac046a41026a2d00003a00002007200836029401200741b0016a20054190046a41186a280200360200200741a8016a20054190046a41106a290300370200200741a0016a20054190046a41086a290300370200200720052903900437029801200720163a00b401200741b7016a200541cc046a41026a2d00003a0000200720052f01cc043b00b501200720133602b801200741d4016a200541b0046a41186a280200360200200741cc016a200541b0046a41106a290300370200200741c4016a200541b0046a41086a290300370200200720052903b0043702bc01200720153a00d801200741db016a200541ec046a41026a2d00003a0000200720052f01ec043b00d901200720173602dc01200741f8016a200541d0046a41186a280200360200200741f0016a200541d0046a41106a290300370200200741e8016a200541d0046a41086a290300370200200720052903d0043702e001200720183a00fc01200741ff016a2005418c056a41026a2d00003a0000200720052f018c053b00fd012007200f360280022007419c026a200541f0046a41186a28020036020020074194026a200541f0046a41106a2903003702002007418c026a200541f0046a41086a290300370200200720052903f00437028402200720193a00a002200741a3026a200541ac056a41026a2d00003a0000200720052f01ac053b00a1022007201b3602a402200741c0026a20054190056a41186a280200360200200741b8026a20054190056a41106a290300370200200741b0026a20054190056a41086a29030037020020072005290390053702a8022007201c3a00c402200741c7026a200541cc056a41026a2d00003a0000200720052f01cc053b00c5022007201a3602c802200741e4026a200541b0056a41186a280200360200200741dc026a200541b0056a41106a290300370200200741d4026a200541b0056a41086a290300370200200720052903b0053702cc022007201d3a00e802200741eb026a200541ec056a41026a2d00003a0000200720052f01ec053b00e9022007201f3602ec0220074188036a200541d0056a41186a28020036020020074180036a200541d0056a41106a290300370200200741f8026a200541d0056a41086a290300370200200720052903d0053702f002200720203a008c032007418f036a2005418c066a41026a2d00003a0000200720052f018c063b008d032007201e36029003200741ac036a200541f0056a41186a280200360200200741a4036a200541f0056a41106a2903003702002007419c036a200541f0056a41086a290300370200200720052903f00537029403200720213a00b003200741b3036a200541ac066a41026a2d00003a0000200720052f01ac063b00b103200720233602b403200741d0036a20054190066a41186a280200360200200741c8036a20054190066a41106a290300370200200741c0036a20054190066a41086a29030037020020072005290390063702b803200720243a00d403200741d7036a200541cc066a41026a2d00003a0000200720052f01cc063b00d503200720223602d803200741f4036a200541b0066a41186a280200360200200741ec036a200541b0066a41106a290300370200200741e4036a200541b0066a41086a290300370200200720052903b0063702dc03200720253a00f803200741fb036a200541f0066a41026a2d00003a0000200720052f01f0063b00f903200720273602fc0320074198046a200541d0066a41186a28020036020020074190046a200541d0066a41106a29030037020020074188046a200541d0066a41086a290300370200200720052903d00637028004200720283a009c042007419f046a2005419c076a41026a2d00003a0000200720052f019c073b009d04200720263602a004200741bc046a20054180076a41186a280200360200200741b4046a20054180076a41106a290300370200200741ac046a20054180076a41086a29030037020020072005290380073702a404200e4102470d01410721020c290b410441c00410b980808000000b2005200d37020c2005200e360208200541c00b6a200541086a10a38d808000200541b80b6a41026a20052d00c30b3a0000200541a00b6a41086a200541d40b6a290200370300200541a00b6a41106a200541dc0b6a290200370300200520052f00c10b3b01b80b200520052902cc0b3703a00b20052d00c00b211420052802c40b211320052802c80b210c20052802e40b211620052802e80b2115410721020c270b200541f00e6a41086a200541ac0d6a280200360200200520052902a40d3703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410b18d80800020052d00c00b22034102460d15200541de076a20052d00c30b3a0000200541c0076a41086a200541c00b6a41106a290200370300200541c0076a41106a200541c00b6a41186a290200370300200541c0076a41186a200541e00b6a280200360200200520052f00c10b3b01dc07200520052902c80b3703c00720052802c40b210c200321030b410221060240024020052802b00d4102470d000c010b200541f00e6a41086a200541980d6a41186a220641086a280200360200200520062902003703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410b18d80800020052d00c00b22064102460d16200541fe076a20052d00c30b3a0000200541e0076a41086a200541c00b6a41106a290200370300200541e0076a41106a200541c00b6a41186a290200370300200541e0076a41186a200541e00b6a280200360200200520052f00c10b3b01fc07200520052902c80b3703e00720052802c40b2109200621060b410221110240024020052802bc0d4102470d000c010b200541f00e6a41086a200541bc0d6a220741086a280200360200200520072902003703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410b18d80800020052d00c00b22074102460d172005419e086a20052d00c30b3a000020054180086a41086a200541c00b6a41106a29020037030020054180086a41106a200541c00b6a41186a29020037030020054180086a41186a200541e00b6a280200360200200520052f00c10b3b019c08200520052902c80b3703800820052802c40b2113200721110b410221100240024020052802c80d4102470d000c010b200541f00e6a41086a200541c80d6a220741086a280200360200200520072902003703f00e200541086a41186a200141186a290000370300200541086a41106a200141106a290000370300200541086a41086a200141086a29000037030020052001290000370308200541c00b6a200541086a200541f00e6a200528020410b18d80800020052d00c00b22074102460d18200541be086a20052d00c30b3a0000200541a0086a41086a200541c00b6a41106a290200370300200541a0086a41106a200541c00b6a41186a290200370300200541a0086a41186a200541e00b6a280200360200200520052f00c10b3b01bc08200520052902c80b3703a00820052802c40b2101200721100b200541c00b6a200541f4066a410510b38d80800020052d00c00b22144103460d18200541dc086a41026a20052d00c30b3a0000200541c0086a41086a200541c00b6a41106a2207290200370300200541c0086a41106a200541c00b6a41186a2215290200370300200541c0086a41186a200541e00b6a2208280200360200200520052f00c10b3b01dc08200520052902c80b3703c00820052802c40b2116200541c00b6a200541f4066a410610b38d80800020052d00c00b22174103460d19200541fc086a41026a20052d00c30b3a0000200541e0086a41086a2007290200370300200541e0086a41106a2015290200370300200541e0086a41186a2008280200360200200520052f00c10b3b01fc08200520052902c80b3703e00820052802c40b2108200541c00b6a200541f4066a410710b38d80800020052d00c00b22184103460d1a2005419c096a41026a20052d00c30b3a000020054180096a41086a200541c00b6a41106a220729020037030020054180096a41106a200541c00b6a41186a221529020037030020054180096a41186a200541e00b6a2219280200360200200520052f00c10b3b019c09200520052902c80b3703800920052802c40b211a200541c00b6a200541f4066a410810b38d80800020052d00c00b221b4103460d1b200541bc096a41026a20052d00c30b3a0000200541a0096a41086a2007290200370300200541a0096a41106a2015290200370300200541a0096a41186a2019280200360200200520052f00c10b3b01bc09200520052902c80b3703a00920052802c40b2119200541c00b6a200541f4066a410910b38d80800020052d00c00b221c4103460d1c200541dc096a41026a20052d00c30b3a0000200541c0096a41086a200541c00b6a41106a2207290200370300200541c0096a41106a200541c00b6a41186a2215290200370300200541c0096a41186a200541e00b6a221d280200360200200520052f00c10b3b01dc09200520052902c80b3703c00920052802c40b211e200541c00b6a200541f4066a410a10b38d80800020052d00c00b221f4103460d1d200541fc096a41026a20052d00c30b3a0000200541e0096a41086a2007290200370300200541e0096a41106a2015290200370300200541e0096a41186a201d280200360200200520052f00c10b3b01fc09200520052902c80b3703e00920052802c40b211d200541c00b6a200541f4066a410b10b38d80800020052d00c00b22204103460d1e2005419c0a6a41026a20052d00c30b3a0000200541800a6a41086a200541c00b6a41106a2207290200370300200541800a6a41106a200541c00b6a41186a2215290200370300200541800a6a41186a200541e00b6a2221280200360200200520052f00c10b3b019c0a200520052902c80b3703800a20052802c40b2122200541c00b6a200541f4066a410c10b38d80800020052d00c00b22234103460d1f200541bc0a6a41026a20052d00c30b3a0000200541a00a6a41086a2007290200370300200541a00a6a41106a2015290200370300200541a00a6a41186a2021280200360200200520052f00c10b3b01bc0a200520052902c80b3703a00a20052802c40b2121200541c00b6a200541f4066a410d10b38d80800020052d00c00b22244103460d20200541dc0a6a41026a20052d00c30b3a0000200541c00a6a41086a200541c00b6a41106a2207290200370300200541c00a6a41106a200541c00b6a41186a2215290200370300200541c00a6a41186a200541e00b6a2225280200360200200520052f00c10b3b01dc0a200520052902c80b3703c00a20052802c40b2126200541c00b6a200541f4066a410e10b38d80800020052d00c00b22274103460d21200541fc0a6a41026a20052d00c30b3a0000200541e00a6a41086a2007290200370300200541e00a6a41106a2015290200370300200541e00a6a41186a2025280200360200200520052f00c10b3b01fc0a200520052902c80b3703e00a20052802c40b2125200541c00b6a200541f4066a410f10b38d80800020052d00c00b22284103460d222005419c076a41026a222920052d00c30b3a000020054180076a41086a222a200541c00b6a41106a222b29020037030020054180076a41106a222c200541c00b6a41186a222d29020037030020054180076a41186a222e200541c00b6a41206a280200360200200520052f00c10b3b019c07200520052902c80b3703800720052802c40b212f41002d00b8bfd380001a0240024041c00441002802b0bfd38000118280808000002215450d002012422088a72107201520023a0000201520052f01bc073b000120152004360204201520052903a007370208201520033a0024201520052f01dc073b002541032102201541036a200541bc076a41026a2d00003a0000201541106a200541a0076a41086a290300370200201541186a200541a0076a41106a290300370200201541206a200541a0076a41186a280200360200201541276a200541dc076a41026a2d00003a00002015200c360228201520063a00482015200936024c201520052903c00737022c201541346a200541c0076a41086a2903003702002015413c6a200541c0076a41106a290300370200201541c4006a200541c0076a41186a280200360200201520052f01fc073b0049201541cb006a200541fc076a41026a2d00003a0000201520052903e007370250201541d8006a200541e0076a41086a290300370200201541e0006a200541e0076a41106a290300370200201541e8006a200541e0076a41186a280200360200201520113a006c20152013360270201520103a009001201520052f019c083b006d201541ef006a2005419c086a41026a2d00003a00002015418c016a20054180086a41186a28020036020020154184016a20054180086a41106a290300370200201541fc006a20054180086a41086a2903003702002015200529038008370274201520052f01bc083b00910120154193016a200541bc086a41026a2d00003a00002015200136029401201541b0016a200541a0086a41186a280200360200201541a8016a200541a0086a41106a290300370200201541a0016a200541a0086a41086a290300370200201520052903a00837029801201520143a00b401201541b7016a200541dc086a41026a2d00003a0000201520052f01dc083b00b501201520163602b801201541d4016a200541c0086a41186a280200360200201541cc016a200541c0086a41106a290300370200201541c4016a200541c0086a41086a290300370200201520052903c0083702bc01201520173a00d801201541db016a200541fc086a41026a2d00003a0000201520052f01fc083b00d901201520083602dc01201541f8016a200541e0086a41186a280200360200201541f0016a200541e0086a41106a290300370200201541e8016a200541e0086a41086a290300370200201520052903e0083702e001201520183a00fc01201541ff016a2005419c096a41026a2d00003a0000201520052f019c093b00fd012015201a360280022015419c026a20054180096a41186a28020036020020154194026a20054180096a41106a2903003702002015418c026a20054180096a41086a2903003702002015200529038009370284022015201b3a00a002201541a3026a200541bc096a41026a2d00003a0000201520052f01bc093b00a102201520193602a402201541c0026a200541a0096a41186a280200360200201541b8026a200541a0096a41106a290300370200201541b0026a200541a0096a41086a290300370200201520052903a0093702a8022015201c3a00c402201541c7026a200541dc096a41026a2d00003a0000201520052f01dc093b00c5022015201e3602c802201541e4026a200541c0096a41186a280200360200201541dc026a200541c0096a41106a290300370200201541d4026a200541c0096a41086a290300370200201520052903c0093702cc022015201f3a00e802201541eb026a200541fc096a41026a2d00003a0000201520052f01fc093b00e9022015201d3602ec0220154188036a200541e0096a41186a28020036020020154180036a200541e0096a41106a290300370200201541f8026a200541e0096a41086a290300370200201520052903e0093702f002201520203a008c032015418f036a2005419c0a6a41026a2d00003a0000201520052f019c0a3b008d032015202236029003201541ac036a200541800a6a41186a280200360200201541a4036a200541800a6a41106a2903003702002015419c036a200541800a6a41086a290300370200201520052903800a37029403201520233a00b003201541b3036a200541bc0a6a41026a2d00003a0000201520052f01bc0a3b00b103201520213602b403201541d0036a200541a00a6a41186a280200360200201541c8036a200541a00a6a41106a290300370200201541c0036a200541a00a6a41086a290300370200201520052903a00a3702b803201520243a00d403201541d7036a200541dc0a6a41026a2d00003a0000201520052f01dc0a3b00d503201520263602d803201541f4036a200541c00a6a41186a280200360200201541ec036a200541c00a6a41106a290300370200201541e4036a200541c00a6a41086a290300370200201520052903c00a3702dc03201520273a00f803201541fb036a200541fc0a6a41026a2d00003a0000201520052f01fc0a3b00f903201520253602fc0320154198046a200541e00a6a41186a28020036020020154190046a200541e00a6a41106a29030037020020154188046a200541e00a6a41086a290300370200201520052903e00a37028004201520283a009c042015419f046a20292d00003a0000201520052f019c073b009d042015202f3602a004201541bc046a202e280200360200201541b4046a202c290300370200201541ac046a202a29030037020020152005290380073702a404200541003602e80b200541c00b6a200d422088a7220120012012a76a10c896808000200541800b6a41186a202d290200370300200541800b6a41106a202b290200370300200541800b6a41086a200541c00b6a41086a290200370300200520052902c00b3703800b20052802e00b211120052902e40b2112200f4102470d010c270b410441c00410b980808000000b2005200da73602102005200e36020c2005200f360208200541c00b6a200541086a10a38d808000200541bc0b6a41026a20052d00c30b3a0000200541b80b6a41026a200541c70b6a2d00003a0000200541a80b6a200541d80b6a290200370300200541b00b6a200541e00b6a290200370300200520052f00c10b3b01bc0b200520052f00c50b3b01b80b200520052902d00b3703a00b20052d00c00b210220052d00c40b211420052802c80b211320052802cc0b210c20052802e80b21160c250b200120052903980d370200200141286a2007290300370200200141206a2006290300370200200141186a2004290300370200200141106a200541980d6a41106a290300370200200141086a2002290300370200200041083a0000200020013602040c250b41bc84c08000412b200541980d6a41ac84c0800041e486c0800010a481808000000b4120200c41ecf9c58000108681808000000b20052802c40b2101200041083a0000200020013602040c220b20052802c40b2101200041083a0000200020013602040c210b20052802c40b2101200041083a0000200020013602040c200b20052802c40b2101200041083a0000200020013602040c1f0b20052802c40b2101200041083a0000200020013602040c1e0b20052802c40b2101200041083a0000200020013602040c1d0b20052802c40b2101200041083a0000200020013602040c1c0b20052802c40b2101200041083a0000200020013602040c1b0b20052802c40b2101200041083a0000200020013602040c1a0b20052802c40b2101200041083a0000200020013602040c190b20052802c40b2101200041083a0000200020013602040c180b20052802c40b2101200041083a0000200020013602040c170b20052802c40b2101200041083a0000200020013602040c160b20052802c40b2101200041083a0000200020013602040c150b20052802c40b2101200041083a0000200020013602040c140b20052802c40b2101200041083a0000200020013602040c130b20052802c40b2101200041083a0000200020013602040c120b20052802c40b2101200041083a0000200020013602040c110b20052802c40b2101200041083a0000200020013602040c100b20052802c40b2101200041083a0000200020013602040c0f0b20052802c40b2101200041083a0000200020013602040c0e0b20052802c40b2101200041083a0000200020013602040c0d0b20052802c40b2101200041083a0000200020013602040c0c0b20052802c40b2101200041083a0000200020013602040c0b0b20052802c40b2101200041083a0000200020013602040c0a0b20052802c40b2101200041083a0000200020013602040c090b20052802c40b2101200041083a0000200020013602040c080b20052802c40b2101200041083a0000200020013602040c070b20052802c40b2101200041083a0000200020013602040c060b20052802c40b2101200041083a0000200020013602040c050b20052802c40b2101200041083a0000200020013602040c040b20052802c40b2101200041083a0000200020013602040c030b2013428180808010370200201341086a2001200c10e9968080001a410021140b200541800b6a41186a200541c00b6a41186a290300370300200541800b6a41106a200541c00b6a41106a290300370300200541800b6a41086a200541c00b6a41086a290300370300200520052903c00b3703800b410521020b200020023a0000200020052f01bc0b3b0001200020143a0004200020052f01b80b3b00052000200c36020c20002013360208200020052903a00b370210200041036a200541bc0b6a41026a2d00003a0000200041076a200541b80b6a41026a2d00003a0000200041186a200541a00b6a41086a290300370200200041206a200541a00b6a41106a290300370200200020073602302000201536022c200020163602282000201237025820002011360254200020052903800b3702342000413c6a200541800b6a41086a290300370200200041c4006a200541800b6a41106a290300370200200041cc006a200541800b6a41186a2903003702000b200541800f6a2480808080000b9f0801057f23808080800041e0016b220424808080800020022802082105200228020421060240024002400240024020022802000d00024020054120460d0041002102024020054100480d00024020050d00410121020c050b41002d00b8bfd380001a200541002802b0bfd380001182808080000022020d04410121020b2002200541e0fdc5800010ae80808000000b2004411c6a41026a200641026a2d00003a0000200441086a2006410f6a290000370300200441106a200641176a290000370300200441186a2006411f6a2d00003a0000200420062f00003b011c2004200629000737030020062800032102410121060c010b20044180016a41186a200141186a29000037030020044180016a41106a200141106a29000037030020044180016a41086a200141086a2900003703002004200129000037038001200441206a20044180016a20062005200310b08d808000024020042d002022054108460d00200441dc016a41026a20042d00233a0000200420042f00213b01dc012004280224210720044180016a200441206a41086a41d80010e9968080001a024020032802182202450d0020032002417f6a3602184100210620032003280214220241016a22014100200328020c220820012008491b6b3602140240200328021020024102746a2802002202200328020822014f0d00200328020420024107746a220120012d00004108464102746a10a48d808000200120053a0004200141083a000020012007360208200120042f01dc013b0005200141076a200441dc016a41026a2d00003a00002001410c6a20044180016a41d80010e9968080001a0c030b2002200141cc86c6800010f580808000000b0240200328020822022003280200470d00200341dc86c6800010e58a8080000b200328020420024107746a220120053a0004200141083a0000200120042f01dc013b000520012007360208200141076a200441de016a2d00003a00002001410c6a20044180016a41d80010e9968080001a2003200241016a360208410021060c010b20042802242102200041023a0000200020023602040c020b200020063a0000200020042f011c3b00012000200236020420002004290300370208200041036a2004411e6a2d00003a0000200041106a200441086a290300370200200041186a200441106a290300370200200041206a200441186a2802003602000c010b20022006200510e996808000210641002d00b8bfd380001a413041002802b0bfd38000118280808000002202450d012002200536020c2002200636020820022005360204200241888080807836020020002002360204200041023a000020022001290000370010200241186a200141086a290000370000200241206a200141106a290000370000200241286a200141186a2900003700000b200441e0016a2480808080000f0b4104413010b980808000000bd50201017f23808080800041d0006b2203248080808000024002402002410f4b0d00024020012802002002410c6c6a22022802004102470d00200041023a00000c020b200341086a200241086a28020036020020032002290200370300200341306a41086a2001280204220241086a290000370300200341306a41106a200241106a290000370300200341306a41186a200241186a290000370300200320022900003703302003410c6a200341306a2003200128020828020010b18d808000024020032d000c4102460d002000200329020c370200200041206a2003410c6a41206a280200360200200041186a2003410c6a41186a290200370200200041106a2003410c6a41106a290200370200200041086a2003410c6a41086a2902003702000c020b20002003280210360204200041033a00000c010b2002411041a0ffc5800010f580808000000b200341d0006a2480808080000bd50201017f23808080800041d0006b2203248080808000024002402002410f4b0d00024020012802002002410c6c6a22022802004102470d00200041023a00000c020b200341086a200241086a28020036020020032002290200370300200341306a41086a2001280204220241086a290000370300200341306a41106a200241106a290000370300200341306a41186a200241186a290000370300200320022900003703302003410c6a200341306a2003200128020828020010b18d808000024020032d000c4102460d002000200329020c370200200041206a2003410c6a41206a280200360200200041186a2003410c6a41186a290200370200200041106a2003410c6a41106a290200370200200041086a2003410c6a41086a2902003702000c020b20002003280210360204200041033a00000c010b200241104190ffc5800010f580808000000b200341d0006a2480808080000bc39b0101247f23808080800041c00c6b220324808080800002400240024002400240024002400240024002400240024002400240024002400240024020012802002204417e6a2205410420054106491b0e06050001020304050b200341d80b6a200141046a10d4968080000240024020012802342202450d0020022002280200220441016a3602004100210520044100480d11200128023821040c010b200341fa016a2001413a6a2d00003a0000200341800b6a200141cb006a290000370300200341850b6a200141d0006a290000370000200320012f00383b01f801200320012900433703f80a200128003f2104200128003b2102410121050b200020032902d80b370230200020053a0004200020032f01f8013b0005200041d8006a200341d80b6a41286a290200370200200041d0006a200341d80b6a41206a290200370200200041c8006a200341d80b6a41186a290200370200200041c0006a200341d80b6a41106a290200370200200041386a200341d80b6a41086a290200370200200041076a200341fa016a2d00003a00002000200436020c20002002360208200041053a0000200020032903f80a370210200041186a200341f80a6a41086a290300370200200041206a200341f80a6a41106a290300370200200041286a200341f80a6a41186a2903003702000c100b200341f8016a200141286a10d4968080000240024020012d00040d00200341fa0a6a200141076a2d00003a0000200341e00b6a200141146a290200370300200341e80b6a2001411c6a290200370300200341f00b6a200141246a2d00003a0000200320012f00053b01f80a2003200129020c3703d80b20012802082101410121020c010b200341f80a6a2001280208200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a0240024020022802182201450d0020022001417f6a36021820022002280214220141016a22054100200228020c220420052004491b6b3602140240200228021020014102746a2802002201200228020822054f0d00200228020420014107746a220220022d00004108464102746a10a48d808000200241083a0000200241016a200341d80b6a41e30010e9968080001a0c020b2001200541cc86c6800010f580808000000b0240200228020822012002280200470d00200241dc86c6800010e58a8080000b200228020420014107746a220541083a0000200541016a200341d80b6a41e30010e9968080001a2002200141016a3602080b410021020b200020032902f801370228200020023a0004200020032f01f80a3b000520002001360208200041d0006a200341a0026a290200370200200041c8006a20034198026a290200370200200041c0006a200341f8016a41186a290200370200200041386a200341f8016a41106a290200370200200041306a200341f8016a41086a290200370200200041076a200341fa0a6a2d00003a0000200041063a0000200041246a200341d80b6a41186a2802003602002000411c6a200341d80b6a41106a290300370200200041146a200341d80b6a41086a290300370200200020032903d80b37020c0c0f0b024002400240200128023822060d00410221044102210741022108410221094102210a4102210b4102210c4102210d0c010b410221044102210d0240200128023422052d0000220e4102460d004101210d0240200e4101710d0020034196036a200541036a2d00003a000020034180036a200541106a290000370300200341f8026a41106a200541186a290000370300200341f8026a41186a200541206a2d00003a0000200320052f00013b019403200320052900083703f8022005280004210f0c010b200341f80a6a2005280204200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a024002402002280218220f450d002002200f417f6a36021820022002280214220f41016a220d4100200228020c220e200d200e491b6b36021402402002280210200f4102746a280200220f2002280208220d4f0d002002280204200f4107746a220d200d2d00004108464102746a10a48d808000200d41083a0000200d41016a200341d80b6a41e30010e9968080001a0c020b200f200d41cc86c6800010f580808000000b02402002280208220f2002280200470d00200241dc86c6800010e58a8080000b2002280204200f4107746a220d41083a0000200d41016a200341d80b6a41e30010e9968080001a2002200f41016a3602080b4100210d0b20064101470d014102210741022108410221094102210a4102210b4102210c0b410221100c090b4102210441022110024020052d002422114102460d0041012110024020114101710d00200341b6036a200541276a2d00003a0000200341a0036a200541346a290000370300200341a8036a2005413c6a290000370300200341b0036a200541c4006a2d00003a0000200320052f00253b01b4032003200529002c370398032005280028210e0c010b200341f80a6a2005280228200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341f8006a2002410c6a10808d8080002002280208210e0240024020032802784101470d000240200328027c2210200e4f0d00200228020420104107746a220e200e2d00004108464102746a10a48d808000200e41083a0000200e41016a200341d80b6a41e30010e9968080001a2010210e0c020b2010200e41cc86c6800010f580808000000b0240200e2002280200470d00200241dc86c6800010e58a8080000b2002280204200e4107746a221041083a0000201041016a200341d80b6a41e30010e9968080001a2002200e41016a3602080b410021100b0240200641034f0d004102210741022108410221094102210a4102210b4102210c0c090b410221044102210c024020052d004822124102460d004101210c024020124101710d00200341d6036a200541cb006a2d00003a0000200341c0036a200541d8006a290000370300200341c8036a200541e0006a290000370300200341d0036a200541e8006a2d00003a0000200320052f00493b01d403200320052900503703b803200528004c21110c010b200341f80a6a200528024c200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341f0006a2002410c6a10808d808000200228020821110240024020032802704101470d0002402003280274220c20114f0d002002280204200c4107746a221120112d00004108464102746a10a48d808000201141083a0000201141016a200341d80b6a41e30010e9968080001a200c21110c020b200c201141cc86c6800010f580808000000b024020112002280200470d00200241dc86c6800010e58a8080000b200228020420114107746a220c41083a0000200c41016a200341d80b6a41e30010e9968080001a2002201141016a3602080b4100210c0b024020064103470d004102210741022108410221094102210a4102210b0c090b4102210441022113024020052d006c22144102460d0041012113024020144101710d00200341f6036a200541ef006a2d00003a0000200341e0036a200541fc006a290000370300200341e8036a20054184016a290000370300200341f0036a2005418c016a2d00003a0000200320052f006d3b01f403200320052900743703d803200528007021120c010b200341f80a6a2005280270200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341e8006a2002410c6a10808d808000200228020821120240024020032802684101470d000240200328026c221320124f0d00200228020420134107746a221220122d00004108464102746a10a48d808000201241083a0000201241016a200341d80b6a41e30010e9968080001a201321120c020b2013201241cc86c6800010f580808000000b024020122002280200470d00200241dc86c6800010e58a8080000b200228020420124107746a221341083a0000201341016a200341d80b6a41e30010e9968080001a2002201241016a3602080b410021130b0240200641054f0d004102210741022108410221094102210a4102210b0c0a0b410221044102210b024020052d00900122154102460d004101210b024020154101710d0020034196046a20054193016a2d00003a000020034180046a200541a0016a29000037030020034188046a200541a8016a29000037030020034190046a200541b0016a2d00003a0000200320052f0091013b01940420032005290098013703f80320052800940121140c010b200341f80a6a200528029401200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341e0006a2002410c6a10808d808000200228020821140240024020032802604101470d0002402003280264220b20144f0d002002280204200b4107746a221420142d00004108464102746a10a48d808000201441083a0000201441016a200341d80b6a41e30010e9968080001a200b21140c020b200b201441cc86c6800010f580808000000b024020142002280200470d00200241dc86c6800010e58a8080000b200228020420144107746a220b41083a0000200b41016a200341d80b6a41e30010e9968080001a2002201441016a3602080b4100210b0b024020064105470d004102210741022108410221094102210a0c0a0b4102210441022116024020052d00b40122174102460d0041012116024020174101710d00200341b6046a200541b7016a2d00003a0000200341a0046a200541c4016a290000370300200341a8046a200541cc016a290000370300200341b0046a200541d4016a2d00003a0000200320052f00b5013b01b404200320052900bc013703980420052800b80121150c010b200341f80a6a20052802b801200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341d8006a2002410c6a10808d808000200228020821150240024020032802584101470d000240200328025c221620154f0d00200228020420164107746a221520152d00004108464102746a10a48d808000201541083a0000201541016a200341d80b6a41e30010e9968080001a201621150c020b2016201541cc86c6800010f580808000000b024020152002280200470d00200241dc86c6800010e58a8080000b200228020420154107746a221641083a0000201641016a200341d80b6a41e30010e9968080001a2002201541016a3602080b410021160b0240200641074f0d004102210741022108410221094102210a0c0b0b410221044102210a024020052d00d80122184102460d004101210a024020184101710d00200341d6046a200541db016a2d00003a0000200341c0046a200541e8016a290000370300200341c8046a200541f0016a290000370300200341d0046a200541f8016a2d00003a0000200320052f00d9013b01d404200320052900e0013703b80420052800dc0121170c010b200341f80a6a20052802dc01200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341d0006a2002410c6a10808d808000200228020821170240024020032802504101470d0002402003280254220a20174f0d002002280204200a4107746a221720172d00004108464102746a10a48d808000201741083a0000201741016a200341d80b6a41e30010e9968080001a200a21170c020b200a201741cc86c6800010f580808000000b024020172002280200470d00200241dc86c6800010e58a8080000b200228020420174107746a220a41083a0000200a41016a200341d80b6a41e30010e9968080001a2002201741016a3602080b4100210a0b024020064107470d004102210741022108410221090c0b0b4102210441022119024020052d00fc01221a4102460d00410121190240201a4101710d00200341f6046a200541ff016a2d00003a0000200341e0046a2005418c026a290000370300200341e8046a20054194026a290000370300200341f0046a2005419c026a2d00003a0000200320052f00fd013b01f40420032005290084023703d80420052800800221180c010b200341f80a6a200528028002200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341c8006a2002410c6a10808d808000200228020821180240024020032802484101470d000240200328024c221920184f0d00200228020420194107746a221820182d00004108464102746a10a48d808000201841083a0000201841016a200341d80b6a41e30010e9968080001a201921180c020b2019201841cc86c6800010f580808000000b024020182002280200470d00200241dc86c6800010e58a8080000b200228020420184107746a221941083a0000201941016a200341d80b6a41e30010e9968080001a2002201841016a3602080b410021190b0240200641094f0d004102210741022108410221090c0c0b4102210441022109024020052d00a002221b4102460d00410121090240201b4101710d0020034196056a200541a3026a2d00003a000020034180056a200541b0026a29000037030020034188056a200541b8026a29000037030020034190056a200541c0026a2d00003a0000200320052f00a1023b019405200320052900a8023703f80420052800a402211a0c010b200341f80a6a20052802a402200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341c0006a2002410c6a10808d8080002002280208211a0240024020032802404101470d00024020032802442209201a4f0d00200228020420094107746a221a201a2d00004108464102746a10a48d808000201a41083a0000201a41016a200341d80b6a41e30010e9968080001a2009211a0c020b2009201a41cc86c6800010f580808000000b0240201a2002280200470d00200241dc86c6800010e58a8080000b2002280204201a4107746a220941083a0000200941016a200341d80b6a41e30010e9968080001a2002201a41016a3602080b410021090b024020064109470d0041022107410221080c0c0b410221044102211c024020052d00c402221d4102460d004101211c0240201d4101710d00200341b6056a200541c7026a2d00003a0000200341a0056a200541d4026a290000370300200341a8056a200541dc026a290000370300200341b0056a200541e4026a2d00003a0000200320052f00c5023b01b405200320052900cc023703980520052800c802211b0c010b200341f80a6a20052802c802200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341386a2002410c6a10808d8080002002280208211b0240024020032802384101470d000240200328023c221c201b4f0d002002280204201c4107746a221b201b2d00004108464102746a10a48d808000201b41083a0000201b41016a200341d80b6a41e30010e9968080001a201c211b0c020b201c201b41cc86c6800010f580808000000b0240201b2002280200470d00200241dc86c6800010e58a8080000b2002280204201b4107746a221c41083a0000201c41016a200341d80b6a41e30010e9968080001a2002201b41016a3602080b4100211c0b02402006410b4f0d0041022107410221084102211e4102211f410221200c0d0b4102210441022108024020052d00e80222214102460d0041012108024020214101710d00200341d6056a200541eb026a2d00003a0000200341c0056a200541f8026a290000370300200341c8056a20054180036a290000370300200341d0056a20054188036a2d00003a0000200320052f00e9023b01d405200320052900f0023703b80520052800ec02211d0c010b200341f80a6a20052802ec02200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341306a2002410c6a10808d8080002002280208211d0240024020032802304101470d00024020032802342208201d4f0d00200228020420084107746a221d201d2d00004108464102746a10a48d808000201d41083a0000201d41016a200341d80b6a41e30010e9968080001a2008211d0c020b2008201d41cc86c6800010f580808000000b0240201d2002280200470d00200241dc86c6800010e58a8080000b2002280204201d4107746a220841083a0000200841016a200341d80b6a41e30010e9968080001a2002201d41016a3602080b410021080b02402006410b470d00410221074102211e4102211f410221200c0d0b410221044102211e024020052d008c0322224102460d004101211e024020224101710d00200341f6056a2005418f036a2d00003a0000200341e0056a2005419c036a290000370300200341e8056a200541a4036a290000370300200341f0056a200541ac036a2d00003a0000200320052f008d033b01f40520032005290094033703d80520052800900321210c010b200341f80a6a200528029003200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341286a2002410c6a10808d808000200228020821210240024020032802284101470d000240200328022c221e20214f0d002002280204201e4107746a222120212d00004108464102746a10a48d808000202141083a0000202141016a200341d80b6a41e30010e9968080001a201e21210c020b201e202141cc86c6800010f580808000000b024020212002280200470d00200241dc86c6800010e58a8080000b200228020420214107746a221e41083a0000201e41016a200341d80b6a41e30010e9968080001a2002202141016a3602080b4100211e0b02402006410d4f0d00410221074102211f410221200c0d0b4102210441022107024020052d00b00322234102460d0041012107024020234101710d0020034196066a200541b3036a2d00003a000020034180066a200541c0036a29000037030020034188066a200541c8036a29000037030020034190066a200541d0036a2d00003a0000200320052f00b1033b019406200320052900b8033703f80520052800b40321220c010b200341f80a6a20052802b403200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341206a2002410c6a10808d808000200228020821220240024020032802204101470d0002402003280224220720224f0d00200228020420074107746a222220222d00004108464102746a10a48d808000202241083a0000202241016a200341d80b6a41e30010e9968080001a200721220c020b2007202241cc86c6800010f580808000000b024020222002280200470d00200241dc86c6800010e58a8080000b200228020420224107746a220741083a0000200741016a200341d80b6a41e30010e9968080001a2002202241016a3602080b410021070b02402006410d470d004102211f410221200c0d0b410221044102211f024020052d00d40322244102460d004101211f024020244101710d00200341b6066a200541d7036a2d00003a0000200341a0066a200541e4036a290000370300200341a8066a200541ec036a290000370300200341b0066a200541f4036a2d00003a0000200320052f00d5033b01b406200320052900dc033703980620052800d80321230c010b200341f80a6a20052802d803200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341186a2002410c6a10808d808000200228020821230240024020032802184101470d000240200328021c221f20234f0d002002280204201f4107746a222320232d00004108464102746a10a48d808000202341083a0000202341016a200341d80b6a41e30010e9968080001a201f21230c020b201f202341cc86c6800010f580808000000b024020232002280200470d00200241dc86c6800010e58a8080000b200228020420234107746a221f41083a0000201f41016a200341d80b6a41e30010e9968080001a2002202341016a3602080b4100211f0b02402006410f4f0d00410221200c0d0b4102212041022104024020052d00f80322254102460d0041012104024020254101710d00200341d6066a200541fb036a2d00003a0000200341c0066a20054188046a290000370300200341c8066a20054190046a290000370300200341d0066a20054198046a2d00003a0000200320052f00f9033b01d40620032005290080043703b80620052800fc0321240c010b200341f80a6a20052802fc03200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341106a2002410c6a10808d808000200228020821240240024020032802104101470d0002402003280214222520244f0d00200228020420254107746a220420042d00004108464102746a10a48d808000200441083a0000200441016a200341d80b6a41e30010e9968080001a202521240c020b2025202441cc86c6800010f580808000000b024020242002280200470d00200241dc86c6800010e58a8080000b200228020420244107746a220441083a0000200441016a200341d80b6a41e30010e9968080001a2002202441016a3602080b410021040b02402006410f470d000c0d0b41022120024020052d009c0422064102470d000c0d0b41012120024020064101710d00200341f6066a2005419f046a2d00003a0000200341e0066a200541ac046a290000370300200341e8066a200541b4046a290000370300200341f0066a200541bc046a2d00003a0000200320052f009d043b01f406200320052900a4043703d80620052800a00421050c0d0b200341f80a6a20052802a004200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341086a2002410c6a10808d808000200228020821050240024020032802084101470d000240200328020c220620054f0d00200228020420064107746a220220022d00004108464102746a10a48d808000200241083a0000200241016a200341d80b6a41e30010e9968080001a200621050c020b2006200541cc86c6800010f580808000000b024020052002280200470d00200241dc86c6800010e58a8080000b200228020420054107746a220641083a0000200641016a200341d80b6a41e30010e9968080001a2002200541016a3602080b410021200c0c0b024002400240200128023422100d004102210f41022123410221214102211b4102211841022115410221124102210e0c010b4102210f4102210e0240200128023022052d000022064102460d004101210e024020064101710d0020034196076a200541036a2d00003a000020034180076a200541106a290000370300200341f8066a41106a200541186a290000370300200341f8066a41186a200541206a2d00003a0000200320052f00013b019407200320052900083703f8062005280004210d0c010b200341f80a6a2005280204200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a024002402002280218220d450d002002200d417f6a36021820022002280214220d41016a220e4100200228020c2206200e2006491b6b36021402402002280210200d4102746a280200220d2002280208220e4f0d002002280204200d4107746a220e200e2d00004108464102746a10a48d808000200e41083a0000200e41016a200341d80b6a41e30010e9968080001a0c020b200d200e41cc86c6800010f580808000000b02402002280208220d2002280200470d00200241dc86c6800010e58a8080000b2002280204200d4107746a220e41083a0000200e41016a200341d80b6a41e30010e9968080001a2002200d41016a3602080b4100210e0b20104101470d0141022123410221214102211b4102211841022115410221120b410221110c030b4102210f41022111024020052d0024220c4102460d00410121110240200c4101710d00200341b6076a200541276a2d00003a0000200341a0076a200541346a290000370300200341a8076a2005413c6a290000370300200341b0076a200541c4006a2d00003a0000200320052f00253b01b4072003200529002c37039807200528002821060c010b200341f80a6a2005280228200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341f0016a2002410c6a10808d808000200228020821060240024020032802f0014101470d00024020032802f401221120064f0d00200228020420114107746a220620062d00004108464102746a10a48d808000200641083a0000200641016a200341d80b6a41e30010e9968080001a201121060c020b2011200641cc86c6800010f580808000000b024020062002280200470d00200241dc86c6800010e58a8080000b200228020420064107746a221141083a0000201141016a200341d80b6a41e30010e9968080001a2002200641016a3602080b410021110b0240201041034f0d0041022123410221214102211b4102211841022115410221120c030b4102210f41022112024020052d004822134102460d0041012112024020134101710d00200341d6076a200541cb006a2d00003a0000200341c0076a200541d8006a290000370300200341c8076a200541e0006a290000370300200341d0076a200541e8006a2d00003a0000200320052f00493b01d407200320052900503703b807200528004c210c0c010b200341f80a6a200528024c200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341e8016a2002410c6a10808d8080002002280208210c0240024020032802e8014101470d00024020032802ec012212200c4f0d00200228020420124107746a220c200c2d00004108464102746a10a48d808000200c41083a0000200c41016a200341d80b6a41e30010e9968080001a2012210c0c020b2012200c41cc86c6800010f580808000000b0240200c2002280200470d00200241dc86c6800010e58a8080000b2002280204200c4107746a221241083a0000201241016a200341d80b6a41e30010e9968080001a2002200c41016a3602080b410021120b024020104103470d0041022123410221214102211b41022118410221150c030b4102210f41022114024020052d006c220b4102460d00410121140240200b4101710d00200341f6076a200541ef006a2d00003a0000200341e0076a200541fc006a290000370300200341e8076a20054184016a290000370300200341f0076a2005418c016a2d00003a0000200320052f006d3b01f407200320052900743703d807200528007021130c010b200341f80a6a2005280270200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341e0016a2002410c6a10808d808000200228020821130240024020032802e0014101470d00024020032802e401221420134f0d00200228020420144107746a221320132d00004108464102746a10a48d808000201341083a0000201341016a200341d80b6a41e30010e9968080001a201421130c020b2014201341cc86c6800010f580808000000b024020132002280200470d00200241dc86c6800010e58a8080000b200228020420134107746a221441083a0000201441016a200341d80b6a41e30010e9968080001a2002201341016a3602080b410021140b0240201041054f0d0041022123410221214102211b41022118410221150c040b4102210f41022115024020052d00900122164102460d0041012115024020164101710d0020034196086a20054193016a2d00003a000020034180086a200541a0016a29000037030020034188086a200541a8016a29000037030020034190086a200541b0016a2d00003a0000200320052f0091013b01940820032005290098013703f807200528009401210b0c010b200341f80a6a200528029401200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341d8016a2002410c6a10808d8080002002280208210b0240024020032802d8014101470d00024020032802dc012215200b4f0d00200228020420154107746a220b200b2d00004108464102746a10a48d808000200b41083a0000200b41016a200341d80b6a41e30010e9968080001a2015210b0c020b2015200b41cc86c6800010f580808000000b0240200b2002280200470d00200241dc86c6800010e58a8080000b2002280204200b4107746a221541083a0000201541016a200341d80b6a41e30010e9968080001a2002200b41016a3602080b410021150b024020104105470d0041022123410221214102211b410221180c040b4102210f41022117024020052d00b401220a4102460d00410121170240200a4101710d00200341b6086a200541b7016a2d00003a0000200341a0086a200541c4016a290000370300200341a8086a200541cc016a290000370300200341b0086a200541d4016a2d00003a0000200320052f00b5013b01b408200320052900bc013703980820052800b80121160c010b200341f80a6a20052802b801200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341d0016a2002410c6a10808d808000200228020821160240024020032802d0014101470d00024020032802d401221720164f0d00200228020420174107746a221620162d00004108464102746a10a48d808000201641083a0000201641016a200341d80b6a41e30010e9968080001a201721160c020b2017201641cc86c6800010f580808000000b024020162002280200470d00200241dc86c6800010e58a8080000b200228020420164107746a221741083a0000201741016a200341d80b6a41e30010e9968080001a2002201641016a3602080b410021170b0240201041074f0d0041022123410221214102211b410221180c050b4102210f41022118024020052d00d80122194102460d0041012118024020194101710d00200341d6086a200541db016a2d00003a0000200341c0086a200541e8016a290000370300200341c8086a200541f0016a290000370300200341d0086a200541f8016a2d00003a0000200320052f00d9013b01d408200320052900e0013703b80820052800dc01210a0c010b200341f80a6a20052802dc01200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341c8016a2002410c6a10808d8080002002280208210a0240024020032802c8014101470d00024020032802cc012218200a4f0d00200228020420184107746a220a200a2d00004108464102746a10a48d808000200a41083a0000200a41016a200341d80b6a41e30010e9968080001a2018210a0c020b2018200a41cc86c6800010f580808000000b0240200a2002280200470d00200241dc86c6800010e58a8080000b2002280204200a4107746a221841083a0000201841016a200341d80b6a41e30010e9968080001a2002200a41016a3602080b410021180b024020104107470d0041022123410221214102211b0c050b4102210f4102211a024020052d00fc0122094102460d004101211a024020094101710d00200341f6086a200541ff016a2d00003a0000200341e0086a2005418c026a290000370300200341e8086a20054194026a290000370300200341f0086a2005419c026a2d00003a0000200320052f00fd013b01f40820032005290084023703d80820052800800221190c010b200341f80a6a200528028002200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341c0016a2002410c6a10808d808000200228020821190240024020032802c0014101470d00024020032802c401221a20194f0d002002280204201a4107746a221920192d00004108464102746a10a48d808000201941083a0000201941016a200341d80b6a41e30010e9968080001a201a21190c020b201a201941cc86c6800010f580808000000b024020192002280200470d00200241dc86c6800010e58a8080000b200228020420194107746a221a41083a0000201a41016a200341d80b6a41e30010e9968080001a2002201941016a3602080b4100211a0b0240201041094f0d0041022123410221214102211b0c060b4102210f4102211b024020052d00a002221c4102460d004101211b0240201c4101710d0020034196096a200541a3026a2d00003a000020034180096a200541b0026a29000037030020034188096a200541b8026a29000037030020034190096a200541c0026a2d00003a0000200320052f00a1023b019409200320052900a8023703f80820052800a40221090c010b200341f80a6a20052802a402200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341b8016a2002410c6a10808d808000200228020821090240024020032802b8014101470d00024020032802bc01221b20094f0d002002280204201b4107746a220920092d00004108464102746a10a48d808000200941083a0000200941016a200341d80b6a41e30010e9968080001a201b21090c020b201b200941cc86c6800010f580808000000b024020092002280200470d00200241dc86c6800010e58a8080000b200228020420094107746a221b41083a0000201b41016a200341d80b6a41e30010e9968080001a2002200941016a3602080b4100211b0b024020104109470d0041022123410221210c060b4102210f4102211d024020052d00c40222084102460d004101211d024020084101710d00200341b6096a200541c7026a2d00003a0000200341a0096a200541d4026a290000370300200341a8096a200541dc026a290000370300200341b0096a200541e4026a2d00003a0000200320052f00c5023b01b409200320052900cc023703980920052800c802211c0c010b200341f80a6a20052802c802200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341b0016a2002410c6a10808d8080002002280208211c0240024020032802b0014101470d00024020032802b401221d201c4f0d002002280204201d4107746a221c201c2d00004108464102746a10a48d808000201c41083a0000201c41016a200341d80b6a41e30010e9968080001a201d211c0c020b201d201c41cc86c6800010f580808000000b0240201c2002280200470d00200241dc86c6800010e58a8080000b2002280204201c4107746a221d41083a0000201d41016a200341d80b6a41e30010e9968080001a2002201c41016a3602080b4100211d0b02402010410b4f0d0041022123410221214102212241022124410221250c070b4102210f41022121024020052d00e802221e4102460d00410121210240201e4101710d00200341d6096a200541eb026a2d00003a0000200341c0096a200541f8026a290000370300200341c8096a20054180036a290000370300200341d0096a20054188036a2d00003a0000200320052f00e9023b01d409200320052900f0023703b80920052800ec0221080c010b200341f80a6a20052802ec02200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341a8016a2002410c6a10808d808000200228020821080240024020032802a8014101470d00024020032802ac01222120084f0d00200228020420214107746a220820082d00004108464102746a10a48d808000200841083a0000200841016a200341d80b6a41e30010e9968080001a202121080c020b2021200841cc86c6800010f580808000000b024020082002280200470d00200241dc86c6800010e58a8080000b200228020420084107746a222141083a0000202141016a200341d80b6a41e30010e9968080001a2002200841016a3602080b410021210b02402010410b470d00410221234102212241022124410221250c070b4102210f41022122024020052d008c0322074102460d0041012122024020074101710d00200341f6096a2005418f036a2d00003a0000200341e0096a2005419c036a290000370300200341e8096a200541a4036a290000370300200341f0096a200541ac036a2d00003a0000200320052f008d033b01f40920032005290094033703d809200528009003211e0c010b200341f80a6a200528029003200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a200341a0016a2002410c6a10808d8080002002280208211e0240024020032802a0014101470d00024020032802a4012222201e4f0d00200228020420224107746a221e201e2d00004108464102746a10a48d808000201e41083a0000201e41016a200341d80b6a41e30010e9968080001a2022211e0c020b2022201e41cc86c6800010f580808000000b0240201e2002280200470d00200241dc86c6800010e58a8080000b2002280204201e4107746a222241083a0000202241016a200341d80b6a41e30010e9968080001a2002201e41016a3602080b410021220b02402010410d4f0d004102212341022124410221250c070b4102210f41022123024020052d00b003221f4102460d00410121230240201f4101710d00200341960a6a200541b3036a2d00003a0000200341800a6a200541c0036a290000370300200341880a6a200541c8036a290000370300200341900a6a200541d0036a2d00003a0000200320052f00b1033b01940a200320052900b8033703f80920052800b40321070c010b200341f80a6a20052802b403200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a20034198016a2002410c6a10808d80800020022802082107024002402003280298014101470d000240200328029c01222320074f0d00200228020420234107746a220720072d00004108464102746a10a48d808000200741083a0000200741016a200341d80b6a41e30010e9968080001a202321070c020b2023200741cc86c6800010f580808000000b024020072002280200470d00200241dc86c6800010e58a8080000b200228020420074107746a222341083a0000202341016a200341d80b6a41e30010e9968080001a2002200741016a3602080b410021230b02402010410d470d0041022124410221250c070b4102210f41022124024020052d00d40322204102460d0041012124024020204101710d00200341b60a6a200541d7036a2d00003a0000200341a00a6a200541e4036a290000370300200341a80a6a200541ec036a290000370300200341b00a6a200541f4036a2d00003a0000200320052f00d5033b01b40a200320052900dc033703980a20052800d803211f0c010b200341f80a6a20052802d803200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a20034190016a2002410c6a10808d8080002002280208211f024002402003280290014101470d0002402003280294012224201f4f0d00200228020420244107746a221f201f2d00004108464102746a10a48d808000201f41083a0000201f41016a200341d80b6a41e30010e9968080001a2024211f0c020b2024201f41cc86c6800010f580808000000b0240201f2002280200470d00200241dc86c6800010e58a8080000b2002280204201f4107746a222441083a0000202441016a200341d80b6a41e30010e9968080001a2002201f41016a3602080b410021240b02402010410f4f0d00410221250c070b410221254102210f024020052d00f80322264102460d004101210f024020264101710d00200341d60a6a200541fb036a2d00003a0000200341c00a6a20054188046a290000370300200341c80a6a20054190046a290000370300200341d00a6a20054198046a2d00003a0000200320052f00f9033b01d40a20032005290080043703b80a20052800fc0321200c010b200341f80a6a20052802fc03200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a20034188016a2002410c6a10808d80800020022802082120024002402003280288014101470d000240200328028c01222620204f0d00200228020420264107746a220f200f2d00004108464102746a10a48d808000200f41083a0000200f41016a200341d80b6a41e30010e9968080001a202621200c020b2026202041cc86c6800010f580808000000b024020202002280200470d00200241dc86c6800010e58a8080000b200228020420204107746a220f41083a0000200f41016a200341d80b6a41e30010e9968080001a2002202041016a3602080b4100210f0b02402010410f470d000c070b41022125024020052d009c0422104102470d000c070b41012125024020104101710d00200341f60a6a2005419f046a2d00003a0000200341e00a6a200541ac046a290000370300200341e80a6a200541b4046a290000370300200341f00a6a200541bc046a2d00003a0000200320052f009d043b01f40a200320052900a4043703d80a20052800a00421050c070b200341f80a6a20052802a004200210b48d808000200341db0b6a200341f80a6a41e00010e9968080001a20034180016a2002410c6a10808d80800020022802082105024002402003280280014101470d000240200328028401221020054f0d00200228020420104107746a220220022d00004108464102746a10a48d808000200241083a0000200241016a200341d80b6a41e30010e9968080001a201021050c020b2010200541cc86c6800010f580808000000b024020052002280200470d00200241dc86c6800010e58a8080000b200228020420054107746a221041083a0000201041016a200341d80b6a41e30010e9968080001a2002200541016a3602080b410021250c060b200341013602dc0b200341b480c680003602d80b200342013702e40b200341f680808000ad422086418080c68000ad843703f80a2003200341f80a6a3602e00b200341d80b6a41bc80c6800010f280808000000b200041043a00000c0b0b410221140b410221170b4102211a0b4102211d4102212241022124410221250b41002d00b8bfd380001a02400240024041c00441002802b0bfd38000118280808000002202450d002002200e3a0000200220032f0194073b00012002200d360204200220032903f806370208200220113a0024200220032f01b4073b0025200241036a20034194076a41026a2d00003a0000200241106a200341f8066a41086a290300370200200241186a200341f8066a41106a290300370200200241206a200341f8066a41186a280200360200200241276a200341b4076a41026a2d00003a000020022006360228200220123a00482002200c36024c200220032903980737022c200241346a20034198076a41086a2903003702002002413c6a20034198076a41106a290300370200200241c4006a20034198076a41186a280200360200200220032f01d4073b0049200241cb006a200341d4076a41026a2d00003a0000200220032903b807370250200241d8006a200341b8076a41086a290300370200200241e0006a200341b8076a41106a290300370200200241e8006a200341b8076a41186a280200360200200220143a006c20022013360270200220153a009001200220032f01f4073b006d200241ef006a200341f4076a41026a2d00003a00002002418c016a200341d8076a41186a28020036020020024184016a200341d8076a41106a290300370200200241fc006a200341d8076a41086a290300370200200220032903d807370274200220032f0194083b00910120024193016a20034194086a41026a2d00003a00002002200b36029401200241b0016a200341f8076a41186a280200360200200241a8016a200341f8076a41106a290300370200200241a0016a200341f8076a41086a290300370200200220032903f80737029801200220173a00b401200241b7016a200341b4086a41026a2d00003a0000200220032f01b4083b00b501200220163602b801200241d4016a20034198086a41186a280200360200200241cc016a20034198086a41106a290300370200200241c4016a20034198086a41086a29030037020020022003290398083702bc01200220183a00d801200241db016a200341d4086a41026a2d00003a0000200220032f01d4083b00d9012002200a3602dc01200241f8016a200341b8086a41186a280200360200200241f0016a200341b8086a41106a290300370200200241e8016a200341b8086a41086a290300370200200220032903b8083702e0012002201a3a00fc01200241ff016a200341f4086a41026a2d00003a0000200220032f01f4083b00fd0120022019360280022002419c026a200341d8086a41186a28020036020020024194026a200341d8086a41106a2903003702002002418c026a200341d8086a41086a290300370200200220032903d808370284022002201b3a00a002200241a3026a20034194096a41026a2d00003a0000200220032f0194093b00a102200220093602a402200241c0026a200341f8086a41186a280200360200200241b8026a200341f8086a41106a290300370200200241b0026a200341f8086a41086a290300370200200220032903f8083702a8022002201d3a00c402200241c7026a200341b4096a41026a2d00003a0000200220032f01b4093b00c5022002201c3602c802200241e4026a20034198096a41186a280200360200200241dc026a20034198096a41106a290300370200200241d4026a20034198096a41086a29030037020020022003290398093702cc02200220213a00e802200241eb026a200341d4096a41026a2d00003a0000200220032f01d4093b00e902200220083602ec0220024188036a200341b8096a41186a28020036020020024180036a200341b8096a41106a290300370200200241f8026a200341b8096a41086a290300370200200220032903b8093702f002200220223a008c032002418f036a200341f4096a41026a2d00003a0000200220032f01f4093b008d032002201e36029003200241ac036a200341d8096a41186a280200360200200241a4036a200341d8096a41106a2903003702002002419c036a200341d8096a41086a290300370200200220032903d80937029403200220233a00b003200241b3036a200341940a6a41026a2d00003a0000200220032f01940a3b00b103200220073602b403200241d0036a200341f8096a41186a280200360200200241c8036a200341f8096a41106a290300370200200241c0036a200341f8096a41086a290300370200200220032903f8093702b803200220243a00d403200241d7036a200341b40a6a41026a2d00003a0000200220032f01b40a3b00d5032002201f3602d803200241f4036a200341980a6a41186a280200360200200241ec036a200341980a6a41106a290300370200200241e4036a200341980a6a41086a290300370200200220032903980a3702dc032002200f3a00f803200241fb036a200341d40a6a41026a2d00003a0000200220032f01d40a3b00f903200220203602fc0320024198046a200341b80a6a41186a28020036020020024190046a200341b80a6a41106a29030037020020024188046a200341b80a6a41086a290300370200200220032903b80a37028004200220253a009c042002419f046a200341f40a6a41026a2d00003a0000200220032f01f40a3b009d04200220053602a004200241bc046a200341d80a6a41186a280200360200200241b4046a200341d80a6a41106a290300370200200241ac046a200341d80a6a41086a290300370200200220032903d80a3702a404200341d80b6a200141386a10d49680800020044101710d01410321040c020b410441c00410b980808000000b024020012802042205450d0020052005280200220f41016a36020041002104200f4100480d072001280208210f0c010b200341f6026a2001410a6a2d00003a0000200341d8026a2001411b6a290000370300200341dd026a200141206a290000370000200320012f00083b01f402200320012900133703d002200128000f210f200128000b2105410121040b200020032902d80b3702302000200236022c200020043a0000200020032f01f4023b0001200041d8006a200341800c6a290200370200200041d0006a200341d80b6a41206a290200370200200041c8006a200341d80b6a41186a290200370200200041c0006a200341d80b6a41106a290200370200200041386a200341d80b6a41086a290200370200200041036a200341f4026a41026a2d00003a00002000200f36020820002005360204200020032903d00237020c200041146a200341d0026a41086a2903003702002000411c6a200341d0026a41106a290300370200200041246a200341d0026a41186a2903003702000c060b410221130b410221160b410221190b4102211c4102211e4102211f410221200b41002d00b8bfd380001a02400240024041c00441002802b0bfd38000118280808000002202450d002002200d3a0000200220032f0194033b00012002200f360204200220032903f802370208200220103a0024200220032f01b4033b00254103210f200241036a20034194036a41026a2d00003a0000200241106a200341f8026a41086a290300370200200241186a200341f8026a41106a290300370200200241206a200341f8026a41186a280200360200200241276a200341b4036a41026a2d00003a00002002200e3602282002200c3a00482002201136024c200220032903980337022c200241346a20034198036a41086a2903003702002002413c6a20034198036a41106a290300370200200241c4006a20034198036a41186a280200360200200220032f01d4033b0049200241cb006a200341d4036a41026a2d00003a0000200220032903b803370250200241d8006a200341b8036a41086a290300370200200241e0006a200341b8036a41106a290300370200200241e8006a200341b8036a41186a280200360200200220133a006c200220123602702002200b3a009001200220032f01f4033b006d200241ef006a200341f4036a41026a2d00003a00002002418c016a200341d8036a41186a28020036020020024184016a200341d8036a41106a290300370200200241fc006a200341d8036a41086a290300370200200220032903d803370274200220032f0194043b00910120024193016a20034194046a41026a2d00003a00002002201436029401200241b0016a200341f8036a41186a280200360200200241a8016a200341f8036a41106a290300370200200241a0016a200341f8036a41086a290300370200200220032903f80337029801200220163a00b401200241b7016a200341b4046a41026a2d00003a0000200220032f01b4043b00b501200220153602b801200241d4016a20034198046a41186a280200360200200241cc016a20034198046a41106a290300370200200241c4016a20034198046a41086a29030037020020022003290398043702bc012002200a3a00d801200241db016a200341d4046a41026a2d00003a0000200220032f01d4043b00d901200220173602dc01200241f8016a200341b8046a41186a280200360200200241f0016a200341b8046a41106a290300370200200241e8016a200341b8046a41086a290300370200200220032903b8043702e001200220193a00fc01200241ff016a200341f4046a41026a2d00003a0000200220032f01f4043b00fd0120022018360280022002419c026a200341d8046a41186a28020036020020024194026a200341d8046a41106a2903003702002002418c026a200341d8046a41086a290300370200200220032903d80437028402200220093a00a002200241a3026a20034194056a41026a2d00003a0000200220032f0194053b00a1022002201a3602a402200241c0026a200341f8046a41186a280200360200200241b8026a200341f8046a41106a290300370200200241b0026a200341f8046a41086a290300370200200220032903f8043702a8022002201c3a00c402200241c7026a200341b4056a41026a2d00003a0000200220032f01b4053b00c5022002201b3602c802200241e4026a20034198056a41186a280200360200200241dc026a20034198056a41106a290300370200200241d4026a20034198056a41086a29030037020020022003290398053702cc02200220083a00e802200241eb026a200341d4056a41026a2d00003a0000200220032f01d4053b00e9022002201d3602ec0220024188036a200341b8056a41186a28020036020020024180036a200341b8056a41106a290300370200200241f8026a200341b8056a41086a290300370200200220032903b8053702f0022002201e3a008c032002418f036a200341f4056a41026a2d00003a0000200220032f01f4053b008d032002202136029003200241ac036a200341d8056a41186a280200360200200241a4036a200341d8056a41106a2903003702002002419c036a200341d8056a41086a290300370200200220032903d80537029403200220073a00b003200241b3036a20034194066a41026a2d00003a0000200220032f0194063b00b103200220223602b403200241d0036a200341f8056a41186a280200360200200241c8036a200341f8056a41106a290300370200200241c0036a200341f8056a41086a290300370200200220032903f8053702b8032002201f3a00d403200241d7036a200341b4066a41026a2d00003a0000200220032f01b4063b00d503200220233602d803200241f4036a20034198066a41186a280200360200200241ec036a20034198066a41106a290300370200200241e4036a20034198066a41086a29030037020020022003290398063702dc03200220043a00f803200241fb036a200341d4066a41026a2d00003a0000200220032f01d4063b00f903200220243602fc0320024198046a200341b8066a41186a28020036020020024190046a200341b8066a41106a29030037020020024188046a200341b8066a41086a290300370200200220032903b80637028004200220203a009c042002419f046a200341f4066a41026a2d00003a0000200220032f01f4063b009d04200220053602a004200241bc046a200341d8066a41186a280200360200200241b4046a200341d8066a41106a290300370200200241ac046a200341d8066a41086a290300370200200220032903d8063702a40420012802040d010c020b410441c00410b980808000000b024020012802082205450d0020052005280200220441016a3602004100210f20044100480d02200128020c21040c010b200341ce026a2001410e6a2d00003a0000200341b0026a2001411f6a290000370300200341b5026a200141246a290000370000200320012f000c3b01cc02200320012900173703a80220012800132104200128000f21054101210f0b2000200f3a000420002002360230200020032f01cc023b00052000200436020c20002005360208200020032903a802370210200041073a0000200041076a200341cc026a41026a2d00003a0000200041186a200341a8026a41086a290300370200200041206a200341a8026a41106a290300370200200041286a200341a8026a41186a2903003702000c010b000b200341c00c6a2480808080000bc39b0101247f23808080800041c00c6b220324808080800002400240024002400240024002400240024002400240024002400240024002400240024020012802002204417e6a2205410420054106491b0e06050001020304050b200341d80b6a200141046a10d4968080000240024020012802342202450d0020022002280200220441016a3602004100210520044100480d11200128023821040c010b200341fa016a2001413a6a2d00003a0000200341800b6a200141cb006a290000370300200341850b6a200141d0006a290000370000200320012f00383b01f801200320012900433703f80a200128003f2104200128003b2102410121050b200020032902d80b370230200020053a0004200020032f01f8013b0005200041d8006a200341d80b6a41286a290200370200200041d0006a200341d80b6a41206a290200370200200041c8006a200341d80b6a41186a290200370200200041c0006a200341d80b6a41106a290200370200200041386a200341d80b6a41086a290200370200200041076a200341fa016a2d00003a00002000200436020c20002002360208200041053a0000200020032903f80a370210200041186a200341f80a6a41086a290300370200200041206a200341f80a6a41106a290300370200200041286a200341f80a6a41186a2903003702000c100b200341f8016a200141286a10d4968080000240024020012d00040d00200341fa0a6a200141076a2d00003a0000200341e00b6a200141146a290200370300200341e80b6a2001411c6a290200370300200341f00b6a200141246a2d00003a0000200320012f00053b01f80a2003200129020c3703d80b20012802082101410121020c010b200341f80a6a2001280208200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a0240024020022802182201450d0020022001417f6a36021820022002280214220141016a22054100200228020c220420052004491b6b3602140240200228021020014102746a2802002201200228020822054f0d00200228020420014107746a220220022d00004108464102746a10a48d808000200241083a0000200241016a200341d80b6a41e30010e9968080001a0c020b2001200541cc86c6800010f580808000000b0240200228020822012002280200470d00200241dc86c6800010e58a8080000b200228020420014107746a220541083a0000200541016a200341d80b6a41e30010e9968080001a2002200141016a3602080b410021020b200020032902f801370228200020023a0004200020032f01f80a3b000520002001360208200041d0006a200341a0026a290200370200200041c8006a20034198026a290200370200200041c0006a200341f8016a41186a290200370200200041386a200341f8016a41106a290200370200200041306a200341f8016a41086a290200370200200041076a200341fa0a6a2d00003a0000200041063a0000200041246a200341d80b6a41186a2802003602002000411c6a200341d80b6a41106a290300370200200041146a200341d80b6a41086a290300370200200020032903d80b37020c0c0f0b024002400240200128023822060d00410221044102210741022108410221094102210a4102210b4102210c4102210d0c010b410221044102210d0240200128023422052d0000220e4102460d004101210d0240200e4101710d0020034196036a200541036a2d00003a000020034180036a200541106a290000370300200341f8026a41106a200541186a290000370300200341f8026a41186a200541206a2d00003a0000200320052f00013b019403200320052900083703f8022005280004210f0c010b200341f80a6a2005280204200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a024002402002280218220f450d002002200f417f6a36021820022002280214220f41016a220d4100200228020c220e200d200e491b6b36021402402002280210200f4102746a280200220f2002280208220d4f0d002002280204200f4107746a220d200d2d00004108464102746a10a48d808000200d41083a0000200d41016a200341d80b6a41e30010e9968080001a0c020b200f200d41cc86c6800010f580808000000b02402002280208220f2002280200470d00200241dc86c6800010e58a8080000b2002280204200f4107746a220d41083a0000200d41016a200341d80b6a41e30010e9968080001a2002200f41016a3602080b4100210d0b20064101470d014102210741022108410221094102210a4102210b4102210c0b410221100c090b4102210441022110024020052d002422114102460d0041012110024020114101710d00200341b6036a200541276a2d00003a0000200341a0036a200541346a290000370300200341a8036a2005413c6a290000370300200341b0036a200541c4006a2d00003a0000200320052f00253b01b4032003200529002c370398032005280028210e0c010b200341f80a6a2005280228200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341f8006a2002410c6a10808d8080002002280208210e0240024020032802784101470d000240200328027c2210200e4f0d00200228020420104107746a220e200e2d00004108464102746a10a48d808000200e41083a0000200e41016a200341d80b6a41e30010e9968080001a2010210e0c020b2010200e41cc86c6800010f580808000000b0240200e2002280200470d00200241dc86c6800010e58a8080000b2002280204200e4107746a221041083a0000201041016a200341d80b6a41e30010e9968080001a2002200e41016a3602080b410021100b0240200641034f0d004102210741022108410221094102210a4102210b4102210c0c090b410221044102210c024020052d004822124102460d004101210c024020124101710d00200341d6036a200541cb006a2d00003a0000200341c0036a200541d8006a290000370300200341c8036a200541e0006a290000370300200341d0036a200541e8006a2d00003a0000200320052f00493b01d403200320052900503703b803200528004c21110c010b200341f80a6a200528024c200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341f0006a2002410c6a10808d808000200228020821110240024020032802704101470d0002402003280274220c20114f0d002002280204200c4107746a221120112d00004108464102746a10a48d808000201141083a0000201141016a200341d80b6a41e30010e9968080001a200c21110c020b200c201141cc86c6800010f580808000000b024020112002280200470d00200241dc86c6800010e58a8080000b200228020420114107746a220c41083a0000200c41016a200341d80b6a41e30010e9968080001a2002201141016a3602080b4100210c0b024020064103470d004102210741022108410221094102210a4102210b0c090b4102210441022113024020052d006c22144102460d0041012113024020144101710d00200341f6036a200541ef006a2d00003a0000200341e0036a200541fc006a290000370300200341e8036a20054184016a290000370300200341f0036a2005418c016a2d00003a0000200320052f006d3b01f403200320052900743703d803200528007021120c010b200341f80a6a2005280270200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341e8006a2002410c6a10808d808000200228020821120240024020032802684101470d000240200328026c221320124f0d00200228020420134107746a221220122d00004108464102746a10a48d808000201241083a0000201241016a200341d80b6a41e30010e9968080001a201321120c020b2013201241cc86c6800010f580808000000b024020122002280200470d00200241dc86c6800010e58a8080000b200228020420124107746a221341083a0000201341016a200341d80b6a41e30010e9968080001a2002201241016a3602080b410021130b0240200641054f0d004102210741022108410221094102210a4102210b0c0a0b410221044102210b024020052d00900122154102460d004101210b024020154101710d0020034196046a20054193016a2d00003a000020034180046a200541a0016a29000037030020034188046a200541a8016a29000037030020034190046a200541b0016a2d00003a0000200320052f0091013b01940420032005290098013703f80320052800940121140c010b200341f80a6a200528029401200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341e0006a2002410c6a10808d808000200228020821140240024020032802604101470d0002402003280264220b20144f0d002002280204200b4107746a221420142d00004108464102746a10a48d808000201441083a0000201441016a200341d80b6a41e30010e9968080001a200b21140c020b200b201441cc86c6800010f580808000000b024020142002280200470d00200241dc86c6800010e58a8080000b200228020420144107746a220b41083a0000200b41016a200341d80b6a41e30010e9968080001a2002201441016a3602080b4100210b0b024020064105470d004102210741022108410221094102210a0c0a0b4102210441022116024020052d00b40122174102460d0041012116024020174101710d00200341b6046a200541b7016a2d00003a0000200341a0046a200541c4016a290000370300200341a8046a200541cc016a290000370300200341b0046a200541d4016a2d00003a0000200320052f00b5013b01b404200320052900bc013703980420052800b80121150c010b200341f80a6a20052802b801200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341d8006a2002410c6a10808d808000200228020821150240024020032802584101470d000240200328025c221620154f0d00200228020420164107746a221520152d00004108464102746a10a48d808000201541083a0000201541016a200341d80b6a41e30010e9968080001a201621150c020b2016201541cc86c6800010f580808000000b024020152002280200470d00200241dc86c6800010e58a8080000b200228020420154107746a221641083a0000201641016a200341d80b6a41e30010e9968080001a2002201541016a3602080b410021160b0240200641074f0d004102210741022108410221094102210a0c0b0b410221044102210a024020052d00d80122184102460d004101210a024020184101710d00200341d6046a200541db016a2d00003a0000200341c0046a200541e8016a290000370300200341c8046a200541f0016a290000370300200341d0046a200541f8016a2d00003a0000200320052f00d9013b01d404200320052900e0013703b80420052800dc0121170c010b200341f80a6a20052802dc01200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341d0006a2002410c6a10808d808000200228020821170240024020032802504101470d0002402003280254220a20174f0d002002280204200a4107746a221720172d00004108464102746a10a48d808000201741083a0000201741016a200341d80b6a41e30010e9968080001a200a21170c020b200a201741cc86c6800010f580808000000b024020172002280200470d00200241dc86c6800010e58a8080000b200228020420174107746a220a41083a0000200a41016a200341d80b6a41e30010e9968080001a2002201741016a3602080b4100210a0b024020064107470d004102210741022108410221090c0b0b4102210441022119024020052d00fc01221a4102460d00410121190240201a4101710d00200341f6046a200541ff016a2d00003a0000200341e0046a2005418c026a290000370300200341e8046a20054194026a290000370300200341f0046a2005419c026a2d00003a0000200320052f00fd013b01f40420032005290084023703d80420052800800221180c010b200341f80a6a200528028002200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341c8006a2002410c6a10808d808000200228020821180240024020032802484101470d000240200328024c221920184f0d00200228020420194107746a221820182d00004108464102746a10a48d808000201841083a0000201841016a200341d80b6a41e30010e9968080001a201921180c020b2019201841cc86c6800010f580808000000b024020182002280200470d00200241dc86c6800010e58a8080000b200228020420184107746a221941083a0000201941016a200341d80b6a41e30010e9968080001a2002201841016a3602080b410021190b0240200641094f0d004102210741022108410221090c0c0b4102210441022109024020052d00a002221b4102460d00410121090240201b4101710d0020034196056a200541a3026a2d00003a000020034180056a200541b0026a29000037030020034188056a200541b8026a29000037030020034190056a200541c0026a2d00003a0000200320052f00a1023b019405200320052900a8023703f80420052800a402211a0c010b200341f80a6a20052802a402200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341c0006a2002410c6a10808d8080002002280208211a0240024020032802404101470d00024020032802442209201a4f0d00200228020420094107746a221a201a2d00004108464102746a10a48d808000201a41083a0000201a41016a200341d80b6a41e30010e9968080001a2009211a0c020b2009201a41cc86c6800010f580808000000b0240201a2002280200470d00200241dc86c6800010e58a8080000b2002280204201a4107746a220941083a0000200941016a200341d80b6a41e30010e9968080001a2002201a41016a3602080b410021090b024020064109470d0041022107410221080c0c0b410221044102211c024020052d00c402221d4102460d004101211c0240201d4101710d00200341b6056a200541c7026a2d00003a0000200341a0056a200541d4026a290000370300200341a8056a200541dc026a290000370300200341b0056a200541e4026a2d00003a0000200320052f00c5023b01b405200320052900cc023703980520052800c802211b0c010b200341f80a6a20052802c802200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341386a2002410c6a10808d8080002002280208211b0240024020032802384101470d000240200328023c221c201b4f0d002002280204201c4107746a221b201b2d00004108464102746a10a48d808000201b41083a0000201b41016a200341d80b6a41e30010e9968080001a201c211b0c020b201c201b41cc86c6800010f580808000000b0240201b2002280200470d00200241dc86c6800010e58a8080000b2002280204201b4107746a221c41083a0000201c41016a200341d80b6a41e30010e9968080001a2002201b41016a3602080b4100211c0b02402006410b4f0d0041022107410221084102211e4102211f410221200c0d0b4102210441022108024020052d00e80222214102460d0041012108024020214101710d00200341d6056a200541eb026a2d00003a0000200341c0056a200541f8026a290000370300200341c8056a20054180036a290000370300200341d0056a20054188036a2d00003a0000200320052f00e9023b01d405200320052900f0023703b80520052800ec02211d0c010b200341f80a6a20052802ec02200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341306a2002410c6a10808d8080002002280208211d0240024020032802304101470d00024020032802342208201d4f0d00200228020420084107746a221d201d2d00004108464102746a10a48d808000201d41083a0000201d41016a200341d80b6a41e30010e9968080001a2008211d0c020b2008201d41cc86c6800010f580808000000b0240201d2002280200470d00200241dc86c6800010e58a8080000b2002280204201d4107746a220841083a0000200841016a200341d80b6a41e30010e9968080001a2002201d41016a3602080b410021080b02402006410b470d00410221074102211e4102211f410221200c0d0b410221044102211e024020052d008c0322224102460d004101211e024020224101710d00200341f6056a2005418f036a2d00003a0000200341e0056a2005419c036a290000370300200341e8056a200541a4036a290000370300200341f0056a200541ac036a2d00003a0000200320052f008d033b01f40520032005290094033703d80520052800900321210c010b200341f80a6a200528029003200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341286a2002410c6a10808d808000200228020821210240024020032802284101470d000240200328022c221e20214f0d002002280204201e4107746a222120212d00004108464102746a10a48d808000202141083a0000202141016a200341d80b6a41e30010e9968080001a201e21210c020b201e202141cc86c6800010f580808000000b024020212002280200470d00200241dc86c6800010e58a8080000b200228020420214107746a221e41083a0000201e41016a200341d80b6a41e30010e9968080001a2002202141016a3602080b4100211e0b02402006410d4f0d00410221074102211f410221200c0d0b4102210441022107024020052d00b00322234102460d0041012107024020234101710d0020034196066a200541b3036a2d00003a000020034180066a200541c0036a29000037030020034188066a200541c8036a29000037030020034190066a200541d0036a2d00003a0000200320052f00b1033b019406200320052900b8033703f80520052800b40321220c010b200341f80a6a20052802b403200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341206a2002410c6a10808d808000200228020821220240024020032802204101470d0002402003280224220720224f0d00200228020420074107746a222220222d00004108464102746a10a48d808000202241083a0000202241016a200341d80b6a41e30010e9968080001a200721220c020b2007202241cc86c6800010f580808000000b024020222002280200470d00200241dc86c6800010e58a8080000b200228020420224107746a220741083a0000200741016a200341d80b6a41e30010e9968080001a2002202241016a3602080b410021070b02402006410d470d004102211f410221200c0d0b410221044102211f024020052d00d40322244102460d004101211f024020244101710d00200341b6066a200541d7036a2d00003a0000200341a0066a200541e4036a290000370300200341a8066a200541ec036a290000370300200341b0066a200541f4036a2d00003a0000200320052f00d5033b01b406200320052900dc033703980620052800d80321230c010b200341f80a6a20052802d803200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341186a2002410c6a10808d808000200228020821230240024020032802184101470d000240200328021c221f20234f0d002002280204201f4107746a222320232d00004108464102746a10a48d808000202341083a0000202341016a200341d80b6a41e30010e9968080001a201f21230c020b201f202341cc86c6800010f580808000000b024020232002280200470d00200241dc86c6800010e58a8080000b200228020420234107746a221f41083a0000201f41016a200341d80b6a41e30010e9968080001a2002202341016a3602080b4100211f0b02402006410f4f0d00410221200c0d0b4102212041022104024020052d00f80322254102460d0041012104024020254101710d00200341d6066a200541fb036a2d00003a0000200341c0066a20054188046a290000370300200341c8066a20054190046a290000370300200341d0066a20054198046a2d00003a0000200320052f00f9033b01d40620032005290080043703b80620052800fc0321240c010b200341f80a6a20052802fc03200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341106a2002410c6a10808d808000200228020821240240024020032802104101470d0002402003280214222520244f0d00200228020420254107746a220420042d00004108464102746a10a48d808000200441083a0000200441016a200341d80b6a41e30010e9968080001a202521240c020b2025202441cc86c6800010f580808000000b024020242002280200470d00200241dc86c6800010e58a8080000b200228020420244107746a220441083a0000200441016a200341d80b6a41e30010e9968080001a2002202441016a3602080b410021040b02402006410f470d000c0d0b41022120024020052d009c0422064102470d000c0d0b41012120024020064101710d00200341f6066a2005419f046a2d00003a0000200341e0066a200541ac046a290000370300200341e8066a200541b4046a290000370300200341f0066a200541bc046a2d00003a0000200320052f009d043b01f406200320052900a4043703d80620052800a00421050c0d0b200341f80a6a20052802a004200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341086a2002410c6a10808d808000200228020821050240024020032802084101470d000240200328020c220620054f0d00200228020420064107746a220220022d00004108464102746a10a48d808000200241083a0000200241016a200341d80b6a41e30010e9968080001a200621050c020b2006200541cc86c6800010f580808000000b024020052002280200470d00200241dc86c6800010e58a8080000b200228020420054107746a220641083a0000200641016a200341d80b6a41e30010e9968080001a2002200541016a3602080b410021200c0c0b024002400240200128023422100d004102210f41022123410221214102211b4102211841022115410221124102210e0c010b4102210f4102210e0240200128023022052d000022064102460d004101210e024020064101710d0020034196076a200541036a2d00003a000020034180076a200541106a290000370300200341f8066a41106a200541186a290000370300200341f8066a41186a200541206a2d00003a0000200320052f00013b019407200320052900083703f8062005280004210d0c010b200341f80a6a2005280204200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a024002402002280218220d450d002002200d417f6a36021820022002280214220d41016a220e4100200228020c2206200e2006491b6b36021402402002280210200d4102746a280200220d2002280208220e4f0d002002280204200d4107746a220e200e2d00004108464102746a10a48d808000200e41083a0000200e41016a200341d80b6a41e30010e9968080001a0c020b200d200e41cc86c6800010f580808000000b02402002280208220d2002280200470d00200241dc86c6800010e58a8080000b2002280204200d4107746a220e41083a0000200e41016a200341d80b6a41e30010e9968080001a2002200d41016a3602080b4100210e0b20104101470d0141022123410221214102211b4102211841022115410221120b410221110c030b4102210f41022111024020052d0024220c4102460d00410121110240200c4101710d00200341b6076a200541276a2d00003a0000200341a0076a200541346a290000370300200341a8076a2005413c6a290000370300200341b0076a200541c4006a2d00003a0000200320052f00253b01b4072003200529002c37039807200528002821060c010b200341f80a6a2005280228200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341f0016a2002410c6a10808d808000200228020821060240024020032802f0014101470d00024020032802f401221120064f0d00200228020420114107746a220620062d00004108464102746a10a48d808000200641083a0000200641016a200341d80b6a41e30010e9968080001a201121060c020b2011200641cc86c6800010f580808000000b024020062002280200470d00200241dc86c6800010e58a8080000b200228020420064107746a221141083a0000201141016a200341d80b6a41e30010e9968080001a2002200641016a3602080b410021110b0240201041034f0d0041022123410221214102211b4102211841022115410221120c030b4102210f41022112024020052d004822134102460d0041012112024020134101710d00200341d6076a200541cb006a2d00003a0000200341c0076a200541d8006a290000370300200341c8076a200541e0006a290000370300200341d0076a200541e8006a2d00003a0000200320052f00493b01d407200320052900503703b807200528004c210c0c010b200341f80a6a200528024c200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341e8016a2002410c6a10808d8080002002280208210c0240024020032802e8014101470d00024020032802ec012212200c4f0d00200228020420124107746a220c200c2d00004108464102746a10a48d808000200c41083a0000200c41016a200341d80b6a41e30010e9968080001a2012210c0c020b2012200c41cc86c6800010f580808000000b0240200c2002280200470d00200241dc86c6800010e58a8080000b2002280204200c4107746a221241083a0000201241016a200341d80b6a41e30010e9968080001a2002200c41016a3602080b410021120b024020104103470d0041022123410221214102211b41022118410221150c030b4102210f41022114024020052d006c220b4102460d00410121140240200b4101710d00200341f6076a200541ef006a2d00003a0000200341e0076a200541fc006a290000370300200341e8076a20054184016a290000370300200341f0076a2005418c016a2d00003a0000200320052f006d3b01f407200320052900743703d807200528007021130c010b200341f80a6a2005280270200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341e0016a2002410c6a10808d808000200228020821130240024020032802e0014101470d00024020032802e401221420134f0d00200228020420144107746a221320132d00004108464102746a10a48d808000201341083a0000201341016a200341d80b6a41e30010e9968080001a201421130c020b2014201341cc86c6800010f580808000000b024020132002280200470d00200241dc86c6800010e58a8080000b200228020420134107746a221441083a0000201441016a200341d80b6a41e30010e9968080001a2002201341016a3602080b410021140b0240201041054f0d0041022123410221214102211b41022118410221150c040b4102210f41022115024020052d00900122164102460d0041012115024020164101710d0020034196086a20054193016a2d00003a000020034180086a200541a0016a29000037030020034188086a200541a8016a29000037030020034190086a200541b0016a2d00003a0000200320052f0091013b01940820032005290098013703f807200528009401210b0c010b200341f80a6a200528029401200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341d8016a2002410c6a10808d8080002002280208210b0240024020032802d8014101470d00024020032802dc012215200b4f0d00200228020420154107746a220b200b2d00004108464102746a10a48d808000200b41083a0000200b41016a200341d80b6a41e30010e9968080001a2015210b0c020b2015200b41cc86c6800010f580808000000b0240200b2002280200470d00200241dc86c6800010e58a8080000b2002280204200b4107746a221541083a0000201541016a200341d80b6a41e30010e9968080001a2002200b41016a3602080b410021150b024020104105470d0041022123410221214102211b410221180c040b4102210f41022117024020052d00b401220a4102460d00410121170240200a4101710d00200341b6086a200541b7016a2d00003a0000200341a0086a200541c4016a290000370300200341a8086a200541cc016a290000370300200341b0086a200541d4016a2d00003a0000200320052f00b5013b01b408200320052900bc013703980820052800b80121160c010b200341f80a6a20052802b801200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341d0016a2002410c6a10808d808000200228020821160240024020032802d0014101470d00024020032802d401221720164f0d00200228020420174107746a221620162d00004108464102746a10a48d808000201641083a0000201641016a200341d80b6a41e30010e9968080001a201721160c020b2017201641cc86c6800010f580808000000b024020162002280200470d00200241dc86c6800010e58a8080000b200228020420164107746a221741083a0000201741016a200341d80b6a41e30010e9968080001a2002201641016a3602080b410021170b0240201041074f0d0041022123410221214102211b410221180c050b4102210f41022118024020052d00d80122194102460d0041012118024020194101710d00200341d6086a200541db016a2d00003a0000200341c0086a200541e8016a290000370300200341c8086a200541f0016a290000370300200341d0086a200541f8016a2d00003a0000200320052f00d9013b01d408200320052900e0013703b80820052800dc01210a0c010b200341f80a6a20052802dc01200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341c8016a2002410c6a10808d8080002002280208210a0240024020032802c8014101470d00024020032802cc012218200a4f0d00200228020420184107746a220a200a2d00004108464102746a10a48d808000200a41083a0000200a41016a200341d80b6a41e30010e9968080001a2018210a0c020b2018200a41cc86c6800010f580808000000b0240200a2002280200470d00200241dc86c6800010e58a8080000b2002280204200a4107746a221841083a0000201841016a200341d80b6a41e30010e9968080001a2002200a41016a3602080b410021180b024020104107470d0041022123410221214102211b0c050b4102210f4102211a024020052d00fc0122094102460d004101211a024020094101710d00200341f6086a200541ff016a2d00003a0000200341e0086a2005418c026a290000370300200341e8086a20054194026a290000370300200341f0086a2005419c026a2d00003a0000200320052f00fd013b01f40820032005290084023703d80820052800800221190c010b200341f80a6a200528028002200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341c0016a2002410c6a10808d808000200228020821190240024020032802c0014101470d00024020032802c401221a20194f0d002002280204201a4107746a221920192d00004108464102746a10a48d808000201941083a0000201941016a200341d80b6a41e30010e9968080001a201a21190c020b201a201941cc86c6800010f580808000000b024020192002280200470d00200241dc86c6800010e58a8080000b200228020420194107746a221a41083a0000201a41016a200341d80b6a41e30010e9968080001a2002201941016a3602080b4100211a0b0240201041094f0d0041022123410221214102211b0c060b4102210f4102211b024020052d00a002221c4102460d004101211b0240201c4101710d0020034196096a200541a3026a2d00003a000020034180096a200541b0026a29000037030020034188096a200541b8026a29000037030020034190096a200541c0026a2d00003a0000200320052f00a1023b019409200320052900a8023703f80820052800a40221090c010b200341f80a6a20052802a402200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341b8016a2002410c6a10808d808000200228020821090240024020032802b8014101470d00024020032802bc01221b20094f0d002002280204201b4107746a220920092d00004108464102746a10a48d808000200941083a0000200941016a200341d80b6a41e30010e9968080001a201b21090c020b201b200941cc86c6800010f580808000000b024020092002280200470d00200241dc86c6800010e58a8080000b200228020420094107746a221b41083a0000201b41016a200341d80b6a41e30010e9968080001a2002200941016a3602080b4100211b0b024020104109470d0041022123410221210c060b4102210f4102211d024020052d00c40222084102460d004101211d024020084101710d00200341b6096a200541c7026a2d00003a0000200341a0096a200541d4026a290000370300200341a8096a200541dc026a290000370300200341b0096a200541e4026a2d00003a0000200320052f00c5023b01b409200320052900cc023703980920052800c802211c0c010b200341f80a6a20052802c802200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341b0016a2002410c6a10808d8080002002280208211c0240024020032802b0014101470d00024020032802b401221d201c4f0d002002280204201d4107746a221c201c2d00004108464102746a10a48d808000201c41083a0000201c41016a200341d80b6a41e30010e9968080001a201d211c0c020b201d201c41cc86c6800010f580808000000b0240201c2002280200470d00200241dc86c6800010e58a8080000b2002280204201c4107746a221d41083a0000201d41016a200341d80b6a41e30010e9968080001a2002201c41016a3602080b4100211d0b02402010410b4f0d0041022123410221214102212241022124410221250c070b4102210f41022121024020052d00e802221e4102460d00410121210240201e4101710d00200341d6096a200541eb026a2d00003a0000200341c0096a200541f8026a290000370300200341c8096a20054180036a290000370300200341d0096a20054188036a2d00003a0000200320052f00e9023b01d409200320052900f0023703b80920052800ec0221080c010b200341f80a6a20052802ec02200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341a8016a2002410c6a10808d808000200228020821080240024020032802a8014101470d00024020032802ac01222120084f0d00200228020420214107746a220820082d00004108464102746a10a48d808000200841083a0000200841016a200341d80b6a41e30010e9968080001a202121080c020b2021200841cc86c6800010f580808000000b024020082002280200470d00200241dc86c6800010e58a8080000b200228020420084107746a222141083a0000202141016a200341d80b6a41e30010e9968080001a2002200841016a3602080b410021210b02402010410b470d00410221234102212241022124410221250c070b4102210f41022122024020052d008c0322074102460d0041012122024020074101710d00200341f6096a2005418f036a2d00003a0000200341e0096a2005419c036a290000370300200341e8096a200541a4036a290000370300200341f0096a200541ac036a2d00003a0000200320052f008d033b01f40920032005290094033703d809200528009003211e0c010b200341f80a6a200528029003200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a200341a0016a2002410c6a10808d8080002002280208211e0240024020032802a0014101470d00024020032802a4012222201e4f0d00200228020420224107746a221e201e2d00004108464102746a10a48d808000201e41083a0000201e41016a200341d80b6a41e30010e9968080001a2022211e0c020b2022201e41cc86c6800010f580808000000b0240201e2002280200470d00200241dc86c6800010e58a8080000b2002280204201e4107746a222241083a0000202241016a200341d80b6a41e30010e9968080001a2002201e41016a3602080b410021220b02402010410d4f0d004102212341022124410221250c070b4102210f41022123024020052d00b003221f4102460d00410121230240201f4101710d00200341960a6a200541b3036a2d00003a0000200341800a6a200541c0036a290000370300200341880a6a200541c8036a290000370300200341900a6a200541d0036a2d00003a0000200320052f00b1033b01940a200320052900b8033703f80920052800b40321070c010b200341f80a6a20052802b403200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a20034198016a2002410c6a10808d80800020022802082107024002402003280298014101470d000240200328029c01222320074f0d00200228020420234107746a220720072d00004108464102746a10a48d808000200741083a0000200741016a200341d80b6a41e30010e9968080001a202321070c020b2023200741cc86c6800010f580808000000b024020072002280200470d00200241dc86c6800010e58a8080000b200228020420074107746a222341083a0000202341016a200341d80b6a41e30010e9968080001a2002200741016a3602080b410021230b02402010410d470d0041022124410221250c070b4102210f41022124024020052d00d40322204102460d0041012124024020204101710d00200341b60a6a200541d7036a2d00003a0000200341a00a6a200541e4036a290000370300200341a80a6a200541ec036a290000370300200341b00a6a200541f4036a2d00003a0000200320052f00d5033b01b40a200320052900dc033703980a20052800d803211f0c010b200341f80a6a20052802d803200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a20034190016a2002410c6a10808d8080002002280208211f024002402003280290014101470d0002402003280294012224201f4f0d00200228020420244107746a221f201f2d00004108464102746a10a48d808000201f41083a0000201f41016a200341d80b6a41e30010e9968080001a2024211f0c020b2024201f41cc86c6800010f580808000000b0240201f2002280200470d00200241dc86c6800010e58a8080000b2002280204201f4107746a222441083a0000202441016a200341d80b6a41e30010e9968080001a2002201f41016a3602080b410021240b02402010410f4f0d00410221250c070b410221254102210f024020052d00f80322264102460d004101210f024020264101710d00200341d60a6a200541fb036a2d00003a0000200341c00a6a20054188046a290000370300200341c80a6a20054190046a290000370300200341d00a6a20054198046a2d00003a0000200320052f00f9033b01d40a20032005290080043703b80a20052800fc0321200c010b200341f80a6a20052802fc03200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a20034188016a2002410c6a10808d80800020022802082120024002402003280288014101470d000240200328028c01222620204f0d00200228020420264107746a220f200f2d00004108464102746a10a48d808000200f41083a0000200f41016a200341d80b6a41e30010e9968080001a202621200c020b2026202041cc86c6800010f580808000000b024020202002280200470d00200241dc86c6800010e58a8080000b200228020420204107746a220f41083a0000200f41016a200341d80b6a41e30010e9968080001a2002202041016a3602080b4100210f0b02402010410f470d000c070b41022125024020052d009c0422104102470d000c070b41012125024020104101710d00200341f60a6a2005419f046a2d00003a0000200341e00a6a200541ac046a290000370300200341e80a6a200541b4046a290000370300200341f00a6a200541bc046a2d00003a0000200320052f009d043b01f40a200320052900a4043703d80a20052800a00421050c070b200341f80a6a20052802a004200210b58d808000200341db0b6a200341f80a6a41e00010e9968080001a20034180016a2002410c6a10808d80800020022802082105024002402003280280014101470d000240200328028401221020054f0d00200228020420104107746a220220022d00004108464102746a10a48d808000200241083a0000200241016a200341d80b6a41e30010e9968080001a201021050c020b2010200541cc86c6800010f580808000000b024020052002280200470d00200241dc86c6800010e58a8080000b200228020420054107746a221041083a0000201041016a200341d80b6a41e30010e9968080001a2002200541016a3602080b410021250c060b200341013602dc0b200341b480c680003602d80b200342013702e40b200341f680808000ad422086418080c68000ad843703f80a2003200341f80a6a3602e00b200341d80b6a41bc80c6800010f280808000000b200041043a00000c0b0b410221140b410221170b4102211a0b4102211d4102212241022124410221250b41002d00b8bfd380001a02400240024041c00441002802b0bfd38000118280808000002202450d002002200e3a0000200220032f0194073b00012002200d360204200220032903f806370208200220113a0024200220032f01b4073b0025200241036a20034194076a41026a2d00003a0000200241106a200341f8066a41086a290300370200200241186a200341f8066a41106a290300370200200241206a200341f8066a41186a280200360200200241276a200341b4076a41026a2d00003a000020022006360228200220123a00482002200c36024c200220032903980737022c200241346a20034198076a41086a2903003702002002413c6a20034198076a41106a290300370200200241c4006a20034198076a41186a280200360200200220032f01d4073b0049200241cb006a200341d4076a41026a2d00003a0000200220032903b807370250200241d8006a200341b8076a41086a290300370200200241e0006a200341b8076a41106a290300370200200241e8006a200341b8076a41186a280200360200200220143a006c20022013360270200220153a009001200220032f01f4073b006d200241ef006a200341f4076a41026a2d00003a00002002418c016a200341d8076a41186a28020036020020024184016a200341d8076a41106a290300370200200241fc006a200341d8076a41086a290300370200200220032903d807370274200220032f0194083b00910120024193016a20034194086a41026a2d00003a00002002200b36029401200241b0016a200341f8076a41186a280200360200200241a8016a200341f8076a41106a290300370200200241a0016a200341f8076a41086a290300370200200220032903f80737029801200220173a00b401200241b7016a200341b4086a41026a2d00003a0000200220032f01b4083b00b501200220163602b801200241d4016a20034198086a41186a280200360200200241cc016a20034198086a41106a290300370200200241c4016a20034198086a41086a29030037020020022003290398083702bc01200220183a00d801200241db016a200341d4086a41026a2d00003a0000200220032f01d4083b00d9012002200a3602dc01200241f8016a200341b8086a41186a280200360200200241f0016a200341b8086a41106a290300370200200241e8016a200341b8086a41086a290300370200200220032903b8083702e0012002201a3a00fc01200241ff016a200341f4086a41026a2d00003a0000200220032f01f4083b00fd0120022019360280022002419c026a200341d8086a41186a28020036020020024194026a200341d8086a41106a2903003702002002418c026a200341d8086a41086a290300370200200220032903d808370284022002201b3a00a002200241a3026a20034194096a41026a2d00003a0000200220032f0194093b00a102200220093602a402200241c0026a200341f8086a41186a280200360200200241b8026a200341f8086a41106a290300370200200241b0026a200341f8086a41086a290300370200200220032903f8083702a8022002201d3a00c402200241c7026a200341b4096a41026a2d00003a0000200220032f01b4093b00c5022002201c3602c802200241e4026a20034198096a41186a280200360200200241dc026a20034198096a41106a290300370200200241d4026a20034198096a41086a29030037020020022003290398093702cc02200220213a00e802200241eb026a200341d4096a41026a2d00003a0000200220032f01d4093b00e902200220083602ec0220024188036a200341b8096a41186a28020036020020024180036a200341b8096a41106a290300370200200241f8026a200341b8096a41086a290300370200200220032903b8093702f002200220223a008c032002418f036a200341f4096a41026a2d00003a0000200220032f01f4093b008d032002201e36029003200241ac036a200341d8096a41186a280200360200200241a4036a200341d8096a41106a2903003702002002419c036a200341d8096a41086a290300370200200220032903d80937029403200220233a00b003200241b3036a200341940a6a41026a2d00003a0000200220032f01940a3b00b103200220073602b403200241d0036a200341f8096a41186a280200360200200241c8036a200341f8096a41106a290300370200200241c0036a200341f8096a41086a290300370200200220032903f8093702b803200220243a00d403200241d7036a200341b40a6a41026a2d00003a0000200220032f01b40a3b00d5032002201f3602d803200241f4036a200341980a6a41186a280200360200200241ec036a200341980a6a41106a290300370200200241e4036a200341980a6a41086a290300370200200220032903980a3702dc032002200f3a00f803200241fb036a200341d40a6a41026a2d00003a0000200220032f01d40a3b00f903200220203602fc0320024198046a200341b80a6a41186a28020036020020024190046a200341b80a6a41106a29030037020020024188046a200341b80a6a41086a290300370200200220032903b80a37028004200220253a009c042002419f046a200341f40a6a41026a2d00003a0000200220032f01f40a3b009d04200220053602a004200241bc046a200341d80a6a41186a280200360200200241b4046a200341d80a6a41106a290300370200200241ac046a200341d80a6a41086a290300370200200220032903d80a3702a404200341d80b6a200141386a10d49680800020044101710d01410321040c020b410441c00410b980808000000b024020012802042205450d0020052005280200220f41016a36020041002104200f4100480d072001280208210f0c010b200341f6026a2001410a6a2d00003a0000200341d8026a2001411b6a290000370300200341dd026a200141206a290000370000200320012f00083b01f402200320012900133703d002200128000f210f200128000b2105410121040b200020032902d80b3702302000200236022c200020043a0000200020032f01f4023b0001200041d8006a200341800c6a290200370200200041d0006a200341d80b6a41206a290200370200200041c8006a200341d80b6a41186a290200370200200041c0006a200341d80b6a41106a290200370200200041386a200341d80b6a41086a290200370200200041036a200341f4026a41026a2d00003a00002000200f36020820002005360204200020032903d00237020c200041146a200341d0026a41086a2903003702002000411c6a200341d0026a41106a290300370200200041246a200341d0026a41186a2903003702000c060b410221130b410221160b410221190b4102211c4102211e4102211f410221200b41002d00b8bfd380001a02400240024041c00441002802b0bfd38000118280808000002202450d002002200d3a0000200220032f0194033b00012002200f360204200220032903f802370208200220103a0024200220032f01b4033b00254103210f200241036a20034194036a41026a2d00003a0000200241106a200341f8026a41086a290300370200200241186a200341f8026a41106a290300370200200241206a200341f8026a41186a280200360200200241276a200341b4036a41026a2d00003a00002002200e3602282002200c3a00482002201136024c200220032903980337022c200241346a20034198036a41086a2903003702002002413c6a20034198036a41106a290300370200200241c4006a20034198036a41186a280200360200200220032f01d4033b0049200241cb006a200341d4036a41026a2d00003a0000200220032903b803370250200241d8006a200341b8036a41086a290300370200200241e0006a200341b8036a41106a290300370200200241e8006a200341b8036a41186a280200360200200220133a006c200220123602702002200b3a009001200220032f01f4033b006d200241ef006a200341f4036a41026a2d00003a00002002418c016a200341d8036a41186a28020036020020024184016a200341d8036a41106a290300370200200241fc006a200341d8036a41086a290300370200200220032903d803370274200220032f0194043b00910120024193016a20034194046a41026a2d00003a00002002201436029401200241b0016a200341f8036a41186a280200360200200241a8016a200341f8036a41106a290300370200200241a0016a200341f8036a41086a290300370200200220032903f80337029801200220163a00b401200241b7016a200341b4046a41026a2d00003a0000200220032f01b4043b00b501200220153602b801200241d4016a20034198046a41186a280200360200200241cc016a20034198046a41106a290300370200200241c4016a20034198046a41086a29030037020020022003290398043702bc012002200a3a00d801200241db016a200341d4046a41026a2d00003a0000200220032f01d4043b00d901200220173602dc01200241f8016a200341b8046a41186a280200360200200241f0016a200341b8046a41106a290300370200200241e8016a200341b8046a41086a290300370200200220032903b8043702e001200220193a00fc01200241ff016a200341f4046a41026a2d00003a0000200220032f01f4043b00fd0120022018360280022002419c026a200341d8046a41186a28020036020020024194026a200341d8046a41106a2903003702002002418c026a200341d8046a41086a290300370200200220032903d80437028402200220093a00a002200241a3026a20034194056a41026a2d00003a0000200220032f0194053b00a1022002201a3602a402200241c0026a200341f8046a41186a280200360200200241b8026a200341f8046a41106a290300370200200241b0026a200341f8046a41086a290300370200200220032903f8043702a8022002201c3a00c402200241c7026a200341b4056a41026a2d00003a0000200220032f01b4053b00c5022002201b3602c802200241e4026a20034198056a41186a280200360200200241dc026a20034198056a41106a290300370200200241d4026a20034198056a41086a29030037020020022003290398053702cc02200220083a00e802200241eb026a200341d4056a41026a2d00003a0000200220032f01d4053b00e9022002201d3602ec0220024188036a200341b8056a41186a28020036020020024180036a200341b8056a41106a290300370200200241f8026a200341b8056a41086a290300370200200220032903b8053702f0022002201e3a008c032002418f036a200341f4056a41026a2d00003a0000200220032f01f4053b008d032002202136029003200241ac036a200341d8056a41186a280200360200200241a4036a200341d8056a41106a2903003702002002419c036a200341d8056a41086a290300370200200220032903d80537029403200220073a00b003200241b3036a20034194066a41026a2d00003a0000200220032f0194063b00b103200220223602b403200241d0036a200341f8056a41186a280200360200200241c8036a200341f8056a41106a290300370200200241c0036a200341f8056a41086a290300370200200220032903f8053702b8032002201f3a00d403200241d7036a200341b4066a41026a2d00003a0000200220032f01b4063b00d503200220233602d803200241f4036a20034198066a41186a280200360200200241ec036a20034198066a41106a290300370200200241e4036a20034198066a41086a29030037020020022003290398063702dc03200220043a00f803200241fb036a200341d4066a41026a2d00003a0000200220032f01d4063b00f903200220243602fc0320024198046a200341b8066a41186a28020036020020024190046a200341b8066a41106a29030037020020024188046a200341b8066a41086a290300370200200220032903b80637028004200220203a009c042002419f046a200341f4066a41026a2d00003a0000200220032f01f4063b009d04200220053602a004200241bc046a200341d8066a41186a280200360200200241b4046a200341d8066a41106a290300370200200241ac046a200341d8066a41086a290300370200200220032903d8063702a40420012802040d010c020b410441c00410b980808000000b024020012802082205450d0020052005280200220441016a3602004100210f20044100480d02200128020c21040c010b200341ce026a2001410e6a2d00003a0000200341b0026a2001411f6a290000370300200341b5026a200141246a290000370000200320012f000c3b01cc02200320012900173703a80220012800132104200128000f21054101210f0b2000200f3a000420002002360230200020032f01cc023b00052000200436020c20002005360208200020032903a802370210200041073a0000200041076a200341cc026a41026a2d00003a0000200041186a200341a8026a41086a290300370200200041206a200341a8026a41106a290300370200200041286a200341a8026a41186a2903003702000c010b000b200341c00c6a2480808080000b810401027f2380808080004180016b22042480808080000240024002400240024002400240024020012d00000e03020100020b200441003a005420042002360250200441023a002c200420012802283602342004200128022441086a360230200420032004412c6a200241002004109b8d80800020042d00000d04200441f0006a2202200441196a290000370300200441e8006a2203200441116a290000370300200441d8006a41086a200441096a2900003703002004200429000137035820012d000122050d02200141013a0001200120042903583700022001410a6a200441e0006a290300370000200141126a20032903003700002001411a6a20022903003700000c030b41012102200141016a2103412021010c050b200128020441086a210320012802082101410021020c040b2005450d020b200141026a210341202101410121020c020b20044101360230200441b480c6800036022c20044201370238200441f680808000ad42208641f080c68000ad843703782004200441f8006a3602342004412c6a41f880c6800010f280808000000b20044101360230200441b480c6800036022c20044201370238200441f680808000ad42208641c481c68000ad84370300200420043602342004412c6a41cc81c6800010f280808000000b20002001360208200020033602042000200236020020044180016a2480808080000b830401017f2380808080004180016b22052480808080000240024002400240024002400240024020012d00000e03020100020b200541003a005420052002360250200541023a002c200520012802283602342005200128022441086a3602302005200320042005412c6a200241002005109c8d80800020052d00000d04200541f0006a2202200541196a290000370300200541e8006a2204200541116a290000370300200541d8006a41086a200541096a2900003703002005200529000137035820012d000122030d02200141013a0001200120052903583700022001410a6a200541e0006a290300370000200141126a20042903003700002001411a6a20022903003700000c030b41012102200141016a2104412021010c050b200128020441086a210420012802082101410021020c040b2003450d020b200141026a210441202101410121020c020b20054101360230200541b480c6800036022c20054201370238200541f680808000ad42208641f080c68000ad843703782005200541f8006a3602342005412c6a41f880c6800010f280808000000b20054101360230200541b480c6800036022c20054201370238200541f680808000ad42208641c481c68000ad84370300200520053602342005412c6a41cc81c6800010f280808000000b20002001360208200020043602042000200236020020054180016a2480808080000b830401017f2380808080004180016b22052480808080000240024002400240024002400240024020012d00000e03020100020b200541003a005420052002360250200541023a002c200520012802283602342005200128022441086a3602302005200320042005412c6a200241002005109a8d80800020052d00000d04200541f0006a2202200541196a290000370300200541e8006a2204200541116a290000370300200541d8006a41086a200541096a2900003703002005200529000137035820012d000122030d02200141013a0001200120052903583700022001410a6a200541e0006a290300370000200141126a20042903003700002001411a6a20022903003700000c030b41012102200141016a2104412021010c050b200128020441086a210420012802082101410021020c040b2003450d020b200141026a210441202101410121020c020b20054101360230200541b480c6800036022c20054201370238200541f680808000ad42208641f080c68000ad843703782005200541f8006a3602342005412c6a41f880c6800010f280808000000b20054101360230200541b480c6800036022c20054201370238200541f680808000ad42208641c481c68000ad84370300200520053602342005412c6a41cc81c6800010f280808000000b20002001360208200020043602042000200236020020054180016a2480808080000b810401027f2380808080004180016b22042480808080000240024002400240024002400240024020012d00000e03020100020b200441003a005420042002360250200441023a002c200420012802283602342004200128022441086a360230200420032004412c6a200241002004109d8d80800020042d00000d04200441f0006a2202200441196a290000370300200441e8006a2203200441116a290000370300200441d8006a41086a200441096a2900003703002004200429000137035820012d000122050d02200141013a0001200120042903583700022001410a6a200441e0006a290300370000200141126a20032903003700002001411a6a20022903003700000c030b41012102200141016a2103412021010c050b200128020441086a210320012802082101410021020c040b2005450d020b200141026a210341202101410121020c020b20044101360230200441b480c6800036022c20044201370238200441f680808000ad42208641f080c68000ad843703782004200441f8006a3602342004412c6a41f880c6800010f280808000000b20044101360230200441b480c6800036022c20044201370238200441f680808000ad42208641c481c68000ad84370300200420043602342004412c6a41cc81c6800010f280808000000b20002001360208200020033602042000200236020020044180016a2480808080000b930d010c7f23808080800041d0016b2205248080808000200520033602102005200236020c0240024002400240200028026822030d00410021060c010b200028026c210220052005410c6a360250200520032001200541d0006a41dc81c680002002280214118780808000002005280204210702402005280200450d000240024002400240200728020041fcffffff076a2203410320034105491b0e0403030102000b2007280204450d02200728020841002802a8bfd38000118080808000000c020b2007280204450d01200728020841002802a8bfd38000118080808000000c010b200710a08d8080000b200741002802a8bfd38000118080808000002004280200450d030c020b2005410036021c20054280808080c00037021420042802002206450d00200541206a41286a2004412c6a290200370300200541206a41206a200441246a290200370300200541206a41186a2004411c6a290200370300200541206a41106a200441146a290200370300410c2101200541206a41086a2004410c6a29020037030020052004290204370320024002400240024002400240024020072802002202417e6a2203410420034106491b0e06060006020103060b2007280234450d05200741346a2102413c21010c040b2002450d042007280204450d04200741046a21020c030b20072802040d010c030b200741046a21020c010b2007280208450d01200741086a2102411021010b20054180016a41186a200720016a220341186a29020037030020054180016a41106a200341106a29020037030020054180016a41086a200341086a29020037030020052003290200370380014100210802400240200528022420052802482203200341284b22011b22094100480d0020052802202108410121032009450d0141002d00b8bfd380001a200941002802b0bfd380001182808080000022030d01410121080b2008200941e0fdc5800010ae80808000000b20032008200541206a20011b200910e996808000210a200228020022032003280200220341016a360200024020034100480d00200228020021012005200228020436025420052001360250024003402001280204210303402003417f460d012003417f4c0d022001200341016a2001280204220220022003461b360204200220034721082002210320080d000b0b20052802542108200120012802002203417f6a360200024020034101470d00200541d0006a10d0968080000b0240200528021c22022005280214470d00200541146a419482c6800010ea8a8080000b2005280218200241386c6a220341023a000c200320093602082003200a36020420032009360200200320052903800137000d2003200836023420032001360230200341156a20054188016a2903003700002003411d6a20054190016a290300370000200341256a20054198016a2903003700002005200241016a36021c0c020b418098cd800041f898cd800010cf968080000b000b200528022021022005280224210120052802482103200541a4016a41286a22084100360200200541a4016a2002200541206a200341284b22091b220220022001200320091b6a10fd8e808000200541d0006a41286a2008280200360200200541d0006a41206a200541a4016a41206a290200370300200541d0006a41186a200541a4016a41186a290200370300200541d0006a41106a200541a4016a41106a290200370300200541d0006a41086a200541a4016a41086a290200370300200520052902a4013703502005200528024c36027c2007200541146a200541d0006a10bb8d808000024020052802484129490d00200528022041002802a8bfd38000118080808000000b2005280218210b2005280214210c0240200528021c2203450d00200b200341386c6a210720002802682109200028026c2802102100200541f8006a210a200541f0006a210d200541e8006a210e200541e0006a210f200541d8006a2110200b21030340200328020021012003280208210820032802042102200a200341346a280200360200200d2003412c6a290200370300200e200341246a290200370300200f2003411c6a2902003703002010200341146a2902003703002005200329020c370350200920022008200541d0006a20001183808080000002402001450d00200241002802a8bfd38000118080808000000b200341386a22032007470d000b0b200c450d00200b41002802a8bfd38000118080808000000b20060d012004280200450d010b200428022c4129490d00200428020441002802a8bfd38000118080808000000b200541d0016a2480808080000bc20d011c7f2380808080004190016b220324808080800041002104024002400240024002402000280200417e6a2205410420054106491b0e06040400010204040b200041046a2106410121040c030b200041306a21070c010b2000412c6a21070b41022104410021060b200341086a41046a2108200341086a41286a21094100210a024003400240024002400240024020040e03010200010b200620072802082200200620004b1b210b200641246c2100200641087441807e6a21050340200b2006460d0320054180026a2105200641016a21062007280204220c20006a210d200041246a220e2100200d2d00004102460d000b200c200e6a415c6a210f20054180fe037141017221100c030b201041807e7141027221100c020b201041807e7122004102722000200a41017122051b2110200f200620051b210f4101210a0c010b201041807e714102722110200b21060b024002400240201041ff01714102460d00200f2d00004101470d03200f280204210c200228020021052002280204210d20022802282100200341e0006a41286a220e4100360200200341e0006a20052002200041284b220b1b22052005200d2000200b1b6a10fd8e8080002009200e280200360200200341086a41206a2211200341e0006a41206a2212290200370300200341086a41186a2213200341e0006a41186a2214290200370300200341086a41106a2215200341e0006a41106a2216290200370300200341086a41086a2217200341e0006a41086a2218290200370300200320032902603703082003200228022c22003602342010410171450d02201041087621050240024020004101710d002005410474210b02400240200341086a410441282003280230220541284b22001b6a280200220d2005412820001b460d002008200920001b21052003280208200341086a20001b21000c010b200341086a10ca96808000200328020c210d20032802082100200821050b2000200d6a200b3a00002005200528020041016a3602000c010b200328020c20032802302200200041284b22001b220d450d022003280208200341086a20001b200d6a417f6a220020002d00002005723a00000b2003200328023441016a3602340c020b024020022802284129490d00200228020041002802a8bfd38000118080808000000b20034190016a2480808080000f0b41aca2cd8000413a41e8a2cd8000108b81808000000b410421050240024002400240200c280200220d417e6a2200410420004106491b0e06030200030103030b412821050c010b413821050b200341086a200c20056a10dd96808000200c280200220d417e6a21000b02400240024002400240024002402000410420004106491b0e06050005010203050b200c280234450d04200c41346a2105413c21000c030b200c280204450d03200c280208450d03200c41086a2105411021000c020b200d450d02200c280204450d020b200c41046a2105410c21000b200341386a41186a2219200c20006a220041186a290200370300200341386a41106a221a200041106a290200370300200341386a41086a221b200041086a290200370300200320002902003703384100210d02400240200328020c20032802302200200041284b22001b221c4100480d002003280208210d0240201c0d004101211d0c020b41002d00b8bfd380001a201c41002802b0bfd3800011828080800000221d0d014101210d201c211d0b200d201d41e0fdc5800010ae80808000000b201d200d200341086a20001b201c10e996808000211e200528020022002000280200220041016a36020020004100480d032005280200210d200320052802043602642003200d3602600340200d280204210003402000417f460d012000417f4c0d03200d200041016a200d280204220520052000461b3602042005200047210b20052100200b0d000b0b2003280264210b200d200d2802002200417f6a360200024020004101470d00200341e0006a10d0968080000b0240200128020822052001280200470d002001418482c6800010ea8a8080000b2001280204200541386c6a220041023a000c2000201c3602082000201e3602042000201c3602002000200329033837000d200020032f005d3b002d2000200b3602342000200d360230200041156a201b2903003700002000411d6a201a290300370000200041256a20192903003700002000412f6a200341dd006a41026a2d00003a00002001200541016a3602080b200e20092903003703002012201129030037030020142013290300370300201620152903003703002018201729030037030020032003290308370360200c2001200341e0006a10bb8d8080000c010b0b418098cd800041f898cd800010cf968080000b000b930d010c7f23808080800041d0016b2205248080808000200520033602102005200236020c0240024002400240200028026822030d00410021060c010b200028026c210220052005410c6a360250200520032001200541d0006a41f081c680002002280214118780808000002005280204210702402005280200450d000240024002400240200728020041fcffffff076a2203410320034105491b0e0403030102000b2007280204450d02200728020841002802a8bfd38000118080808000000c020b2007280204450d01200728020841002802a8bfd38000118080808000000c010b200710a08d8080000b200741002802a8bfd38000118080808000002004280200450d030c020b2005410036021c20054280808080c00037021420042802002206450d00200541206a41286a2004412c6a290200370300200541206a41206a200441246a290200370300200541206a41186a2004411c6a290200370300200541206a41106a200441146a290200370300410c2101200541206a41086a2004410c6a29020037030020052004290204370320024002400240024002400240024020072802002202417e6a2203410420034106491b0e06060006020103060b2007280234450d05200741346a2102413c21010c040b2002450d042007280204450d04200741046a21020c030b20072802040d010c030b200741046a21020c010b2007280208450d01200741086a2102411021010b20054180016a41186a200720016a220341186a29020037030020054180016a41106a200341106a29020037030020054180016a41086a200341086a29020037030020052003290200370380014100210802400240200528022420052802482203200341284b22011b22094100480d0020052802202108410121032009450d0141002d00b8bfd380001a200941002802b0bfd380001182808080000022030d01410121080b2008200941e0fdc5800010ae80808000000b20032008200541206a20011b200910e996808000210a200228020022032003280200220341016a360200024020034100480d00200228020021012005200228020436025420052001360250024003402001280204210303402003417f460d012003417f4c0d022001200341016a2001280204220220022003461b360204200220034721082002210320080d000b0b20052802542108200120012802002203417f6a360200024020034101470d00200541d0006a10d0968080000b0240200528021c22022005280214470d00200541146a419482c6800010ea8a8080000b2005280218200241386c6a220341023a000c200320093602082003200a36020420032009360200200320052903800137000d2003200836023420032001360230200341156a20054188016a2903003700002003411d6a20054190016a290300370000200341256a20054198016a2903003700002005200241016a36021c0c020b418098cd800041f898cd800010cf968080000b000b200528022021022005280224210120052802482103200541a4016a41286a22084100360200200541a4016a2002200541206a200341284b22091b220220022001200320091b6a10fd8e808000200541d0006a41286a2008280200360200200541d0006a41206a200541a4016a41206a290200370300200541d0006a41186a200541a4016a41186a290200370300200541d0006a41106a200541a4016a41106a290200370300200541d0006a41086a200541a4016a41086a290200370300200520052902a4013703502005200528024c36027c2007200541146a200541d0006a10bb8d808000024020052802484129490d00200528022041002802a8bfd38000118080808000000b2005280218210b2005280214210c0240200528021c2203450d00200b200341386c6a210720002802682109200028026c2802102100200541f8006a210a200541f0006a210d200541e8006a210e200541e0006a210f200541d8006a2110200b21030340200328020021012003280208210820032802042102200a200341346a280200360200200d2003412c6a290200370300200e200341246a290200370300200f2003411c6a2902003703002010200341146a2902003703002005200329020c370350200920022008200541d0006a20001183808080000002402001450d00200241002802a8bfd38000118080808000000b200341386a22032007470d000b0b200c450d00200b41002802a8bfd38000118080808000000b20060d012004280200450d010b200428022c4129490d00200428020441002802a8bfd38000118080808000000b200541d0016a2480808080000b9c0301047f23808080800041a0056b2202248080808000200241c8036a2001280200220128020022032001280204220410ec8b808000200241c0036a2201200241c8036a410c6a290200370300200220022902cc033703b80302400240024020022802c80322054107470d00200241086a410c6a2001290300370200200220022903b80337020c200241073602082002410c6a21010c010b200241e0016a41146a200241c8036a41146a41c40110e9968080001a200241e0016a410c6a2001290300370200200220053602e001200220022903b8033702e401200241086a200241e0016a2003200410d396808000200241086a41046a2101200228020822034107460d00200241c8036a41046a200141d40110e9968080001a200220033602c803200241e0016a200241c8036a10c384808000024020022802e00122014108470d00200241e0016a109f8d8080000c020b200041046a200241e0016a41046a41e40010e9968080001a20002001360200200241a0056a2480808080000f0b200110a08d8080000b41a482c6800041c20041e882c68000108b81808000000b9c0301047f23808080800041a0056b2202248080808000200241c8036a2001280200220128020022032001280204220410ec8b808000200241c0036a2201200241c8036a410c6a290200370300200220022902cc033703b80302400240024020022802c80322054107470d00200241086a410c6a2001290300370200200220022903b80337020c200241073602082002410c6a21010c010b200241e0016a41146a200241c8036a41146a41c40110e9968080001a200241e0016a410c6a2001290300370200200220053602e001200220022903b8033702e401200241086a200241e0016a2003200410d396808000200241086a41046a2101200228020822034107460d00200241c8036a41046a200141d40110e9968080001a200220033602c803200241e0016a200241c8036a10c184808000024020022802e00122014108470d00200241e0016a109f8d8080000c020b200041046a200241e0016a41046a41e40010e9968080001a20002001360200200241a0056a2480808080000f0b200110a08d8080000b41a482c6800041c20041e882c68000108b81808000000b8f0801047f23808080800041e0006b2206248080808000024020002802682207450d0002400240024020044100480d00200441f5ffffff074f0d0102402004410b6a41fcffffff077122080d00410421090c030b41002d00b8bfd380001a200841002802b0bfd380001182808080000022090d024104200810b980808000000b41b099cd8000412b200641306a41a099cd800041dc99cd800010a481808000000b41bc84c08000412b200641306a41ac84c0800041e486c0800010a481808000000b2009428180808010370200200941086a2003200410e9968080001a2006200436021820062009360214200028026c2103200641306a41186a200541186a290000370300200641306a41106a200541106a290000370300200641306a41086a200541086a290000370300200620052900003703302006200536022c2006200641146a360228200641086a2007200641306a200641286a41f882c68000200328021411878080800000200628020c21040240024002400240200628020822000d000240024002400240024020042802002209417e6a2200410420004106491b0e06080008020301080b20042802342200450d07200441346a21090c030b200441046a2109200428020421000c020b2004280204450d0520042802082200450d05200441086a21090c010b2009450d0420042802042200450d04200441046a21090b20002000280200220441016a3602002004417f4a0d01000b200620043602202006200036021c20004101710d01200420042802002205417f6a36020020054101470d02200641206a10d0968080000c020b2009280200210020092802042104200641c9006a200541186a290000370000200641c1006a200541106a290000370000200641396a200541086a29000037000020062005290000370031200620043602202006200036021c024003402000280204210503402005417f460d012005417f4c0d022000200541016a2000280204220420042005461b360204200420054721092004210520090d000b0b20062802202105200020002802002204417f6a360200024020044101470d002006411c6a10d0968080000b2006200536025820062000360254200641023a0030200720012002200641306a2003280210118380808000000c020b418098cd800041f898cd800010cf96808000000b0240024002400240200428020041fcffffff076a2205410320054105491b0e0403030102000b2004280204450d02200428020841002802a8bfd38000118080808000000c020b2004280204450d01200428020841002802a8bfd38000118080808000000c010b200410a08d8080000b200441002802a8bfd38000118080808000000b2006280214220520052802002205417f6a36020020054101470d00200641146a10d0968080000b200641e0006a2480808080000b8f0801047f23808080800041e0006b2206248080808000024020002802682207450d0002400240024020044100480d00200441f5ffffff074f0d0102402004410b6a41fcffffff077122080d00410421090c030b41002d00b8bfd380001a200841002802b0bfd380001182808080000022090d024104200810b980808000000b41b099cd8000412b200641306a41a099cd800041dc99cd800010a481808000000b41bc84c08000412b200641306a41ac84c0800041e486c0800010a481808000000b2009428180808010370200200941086a2003200410e9968080001a2006200436021820062009360214200028026c2103200641306a41186a200541186a290000370300200641306a41106a200541106a290000370300200641306a41086a200541086a290000370300200620052900003703302006200536022c2006200641146a360228200641086a2007200641306a200641286a418c83c68000200328021411878080800000200628020c21040240024002400240200628020822000d000240024002400240024020042802002209417e6a2200410420004106491b0e06080008020301080b20042802342200450d07200441346a21090c030b200441046a2109200428020421000c020b2004280204450d0520042802082200450d05200441086a21090c010b2009450d0420042802042200450d04200441046a21090b20002000280200220441016a3602002004417f4a0d01000b200620043602202006200036021c20004101710d01200420042802002205417f6a36020020054101470d02200641206a10d0968080000c020b2009280200210020092802042104200641c9006a200541186a290000370000200641c1006a200541106a290000370000200641396a200541086a29000037000020062005290000370031200620043602202006200036021c024003402000280204210503402005417f460d012005417f4c0d022000200541016a2000280204220420042005461b360204200420054721092004210520090d000b0b20062802202105200020002802002204417f6a360200024020044101470d002006411c6a10d0968080000b2006200536025820062000360254200641023a0030200720012002200641306a2003280210118380808000000c020b418098cd800041f898cd800010cf96808000000b0240024002400240200428020041fcffffff076a2205410320054105491b0e0403030102000b2004280204450d02200428020841002802a8bfd38000118080808000000c020b2004280204450d01200428020841002802a8bfd38000118080808000000c010b200410a08d8080000b200441002802a8bfd38000118080808000000b2006280214220520052802002205417f6a36020020054101470d00200641146a10d0968080000b200641e0006a2480808080000b7901027f2001280200220228020022032003280200220341016a360200024020034100480d00200041073602002000200229020037020420002001280204220129000037000c200041146a200141086a2900003700002000411c6a200141106a290000370000200041246a200141186a2900003700000f0b000b8721030b7f017e027f23808080800041a0046b22042480808080002004200336020c20042001360208024002400240024002400240024002400240024020022d00000d0020022802042102024020012802282205200128021c2203470d002001411c6a41ec86c6800010ff8c808000200128021c2103200128022821050b2001280220200128022420056a22054100200320052003491b6b4102746a20023602002001200128022841016a3602282001280218220320024d0d02200441106a200128021420024107746a220141800110e9968080001a200141043a0004200141083a00000240024020042d00104108470d0020044190016a200441106a41046a41e00010e9968080001a02400240200428020828026822060d00410021070c010b200441c0016a2102200428020c220128020021052001280204210820012802282103200441c8036a41286a22094100360200200441c8036a20052001200341284b220a1b2205200520082003200a1b6a10fd8e808000200441c0026a41286a2009280200360200200441c0026a41206a200441c8036a41206a290200370300200441c0026a41186a200441c8036a41186a290200370300200441c0026a41106a200441c8036a41106a290200370300200441c0026a41086a200441c8036a41086a290200370300200420042902c8033703c0022004200128022c22093602ec0202400240024020042d009001417c6a41ff01712201410420014104491b0e050201000201020b200441b8016a21020b2002280204200241046a200228022c220141284b22031b21052002280208200120031b21032002280200220241017621010240024020024101710d00410021080240200120034b0d0041002109200121020c020b2001200341e4a0cd800010a881808000000b200120034f0d0841012108200141016a2102200520016a2d0000410f7121090b200420093a00c903200420083a00c8032004200320026b3602d0032004200520026a3602cc03200441c0026a200441c8036a10de9680800020042802ec0221090b200441f0016a41086a200441cc026a290200370300200441f0016a41106a200441d4026a290200370300200441f0016a41186a200441dc026a290200370300200441f0016a41206a200441e4026a280200360200200420042902c4023703f00120042802c002210b20042802e802210a410121070b20042d009001210320042802b801210c20042802bc01210520042802c00121022004200441086a36029c0320042004410c6a36029803200441c4016a210102400240024002400240024002400240024002402003417c6a41ff01712208410420084104491b0e050001020304000b41002d00b8bfd380001a410141002802b0bfd38000118280808000002201450d0f200141003a00002004410136029c02200420013602980220044101360294020c080b200441c0026a410c6a200141086a290200370200200441c0026a41146a200141106a290200370200200441c0026a411c6a200141186a290200370200200441c0026a41246a200141206a290200370200200441ec026a2203200141286a280200360200200420023602c002200420012902003702c402200441c8036a41206a20044190016a41246a280200360200200441c8036a41186a20044190016a411c6a290200370300200441c8036a41106a20044190016a41146a290200370300200441c8036a41086a20044190016a410c6a29020037030020042004290294013703c803200420053602f0032004200c3602ec032004200236029c04200420042802c80220032802002201200141284b22011b220836029804200420042802c402200441c0026a41046a20011b3602940420044184046a200441c8036a20044194046a20044198036a10b68d808000200428029c042205410176210120042802980421030240024020054101710d000240200120034b0d0020042802940420016a21054100210c4100210d0c020b2001200341e4a0cd800010a881808000000b200120034f0d104101210c200428029404220d200141016a220e6a2105200d20016a2d0000410f71210d200e21010b2004200d3a00ad032004200c3a00ac03200441003602a803200420053602a0032004200320016b3602a40320044194026a200441a0036a200841017420026b20044184046a10f68b808000024002400240024020042d00c8030e020103000b20042802ec03220120012802002201417f6a36020020014101470d02200441c8036a41246a21010c010b20042802cc03220120012802002201417f6a36020020014101470d01200441c8036a41047221010b200110d0968080000b20042802ec024129490d0720042802c40241002802a8bfd38000118080808000000c070b200441c0026a41146a200141086a290200370200200441c0026a411c6a200141106a290200370200200441c0026a41246a200141186a290200370200200441ec026a200141206a280200360200200420023602c802200420053602c4022004200c3602c002200420012902003702cc02200441c8036a41206a20044190016a41246a280200360200200441c8036a41186a20044190016a411c6a290200370300200441c8036a41106a20044190016a41146a290200370300200441c8036a41086a2004419c016a29020037030020042004290294013703c8032004200441c0026a41046a41b0ffc5800010a48f8080002004200c36029c0420042004280204220136029804200420042802003602940420044184046a20044194046a10d896808000200441003a00f003200420044194046a3602ec03200441a0036a20044198036a200441c8036a20044194046a41002004109b8d80800020044194026a20044184046a2001410174200c6b200441a0036a10ef8b808000000b200441e0026a200441b4016a280200360200200441d8026a200441ac016a290200370300200441d0026a200441a4016a290200370300200441c8026a2004419c016a2902003703002004200429029401220f3703c002200420053602e8022004200c3602e402200fa741ff01714103470d01410221010c020b200441cc026a200141086a290200370200200441d4026a200141106a290200370200200441dc026a200141186a290200370200200441e4026a200141206a290200370200200441ec026a2208200141286a280200360200200420023602c002200420012902003702c402200441c8036a41096a20044190016a41096a290000370000200441c8036a41116a20044190016a41116a290000370000200441c8036a41196a20044190016a41196a290000370000200441c8036a41206a20044190016a41206a29000037000020042004290091013700c9032004200c3602f003200420033a00c8032004200236028004200420042802c80220082802002201200141284b22011b220c3602fc03200420042802c402200441c0026a41046a20011b3602f803200341ff01714103470d024102210d200c2103200221080c030b200441c8036a200441c0026a410020044198036a10b68d80800020042902cc03210f20042802c80321010b2004200f3702a403200420013602a00320044194026a200441c8036a200441a0036a10ed8b808000000b200441a0036a200441c8036a200441f8036a20044198036a10b68d80800020042902a403210f20042802a003210d20042802fc03210320042802800421080b200841017621010240024020084101710d000240200120034b0d0020042802f80320016a21084100210e410021100c020b2001200341e4a0cd800010a881808000000b200120034f0d0a4101210e20042802f8032210200141016a22116a2108201020016a2d0000410f712110201121010b200420103a0091042004200e3a0090042004410036028c0420042008360284042004200320016b36028804200441003602a803200420053602a0032004200541c0046a3602a403200420044198036a3602b0032004200441c0026a3602ac032004200f370298042004200d3602940420044194026a20044184046a200c41017420026b200441a0036a20044194046a10f58b808000024020042d00c80322014103460d0002400240024020010e020103000b20042802ec03220120012802002201417f6a36020020014101470d02200441ec036a21010c010b20042802cc03220120012802002201417f6a36020020014101470d01200441cc036a21010b200110d0968080000b200541002802a8bfd380001180808080000020042802ec024129490d0020042802c40241002802a8bfd38000118080808000000b02400240200428029c022201411f4b0d00200441f8026a41186a22024200370300200441f8026a41106a2203420037030020044180036a22054200370300200442003703f802200441f8026a2004280298022208200110e9968080001a20002001360204200041013a0000200041206a2002290300370000200041186a2003290300370000200041106a2005290300370000200020042903f8023700080240200428029402450d00200841002802a8bfd38000118080808000000b2006450d01200a4129490d01200b41002802a8bfd38000118080808000000c010b2004280208220228025421082002280250210c200428020c220228022c220541017621030240024020054101710d00200228020420022802282205200541284b22051b22062003490d0c2002280200200220051b2102410021050c010b200228020420022802282205200541284b1b22062003490d0c200620034d0d0d200420022802002002200541284b1b220220036a2d000041f001713a00c902410121050b200420053a00c802200420033602c402200420023602c002200441a0026a200c200441c0026a20042802980222022001200828021c1187808080000020042802082103200441c0026a41106a200441f0016a41086a290300370200200441c0026a41186a200441f0016a41106a290300370200200441c0026a41206a200441f0016a41186a290300370200200441e8026a200441f0016a41206a2802003602002004200b3602c402200420073602c002200420042903f0013702c802200420093602f0022004200a3602ec02200441c8036a41186a200441a0026a41186a2205290000370300200441c8036a41106a200441a0026a41106a2208290000370300200441c8036a41086a200441a0026a41086a2209290000370300200420042900a0023703c8032003200441c8036a20022001200441c0026a10ba8d808000200041196a2005290000370000200041116a2008290000370000200041096a2009290000370000200020042900a002370001200041003a0000200428029402450d00200241002802a8bfd38000118080808000000b20042d00104108470d010c030b20002004290270370001200041003a0000200041196a20044188016a290200370000200041116a20044180016a290200370000200041096a200441f8006a2902003700000b200441106a10a48d8080000c010b200041003a000020002002290001370001200041196a200241196a290000370000200041116a200241116a290000370000200041096a200241096a2900003700000b200441a0046a2480808080000f0b2002200341fc86c6800010f580808000000b2001200341f4a0cd800010f580808000000b4101410141e0fdc5800010ae80808000000b2001200341f4a0cd800010f580808000000b2001200341f4a0cd800010f580808000000b2003200641bca3cd800010aa81808000000b2003200641cca3cd800010aa81808000000b2003200641dca3cd800010f580808000000b8721030b7f017e027f23808080800041a0046b22042480808080002004200336020c20042001360208024002400240024002400240024002400240024020022d00000d0020022802042102024020012802282205200128021c2203470d002001411c6a41ec86c6800010ff8c808000200128021c2103200128022821050b2001280220200128022420056a22054100200320052003491b6b4102746a20023602002001200128022841016a3602282001280218220320024d0d02200441106a200128021420024107746a220141800110e9968080001a200141043a0004200141083a00000240024020042d00104108470d0020044190016a200441106a41046a41e00010e9968080001a02400240200428020828026822060d00410021070c010b200441c0016a2102200428020c220128020021052001280204210820012802282103200441c8036a41286a22094100360200200441c8036a20052001200341284b220a1b2205200520082003200a1b6a10fd8e808000200441c0026a41286a2009280200360200200441c0026a41206a200441c8036a41206a290200370300200441c0026a41186a200441c8036a41186a290200370300200441c0026a41106a200441c8036a41106a290200370300200441c0026a41086a200441c8036a41086a290200370300200420042902c8033703c0022004200128022c22093602ec0202400240024020042d009001417c6a41ff01712201410420014104491b0e050201000201020b200441b8016a21020b2002280204200241046a200228022c220141284b22031b21052002280208200120031b21032002280200220241017621010240024020024101710d00410021080240200120034b0d0041002109200121020c020b2001200341e4a0cd800010a881808000000b200120034f0d0841012108200141016a2102200520016a2d0000410f7121090b200420093a00c903200420083a00c8032004200320026b3602d0032004200520026a3602cc03200441c0026a200441c8036a10de9680800020042802ec0221090b200441f0016a41086a200441cc026a290200370300200441f0016a41106a200441d4026a290200370300200441f0016a41186a200441dc026a290200370300200441f0016a41206a200441e4026a280200360200200420042902c4023703f00120042802c002210b20042802e802210a410121070b20042d009001210320042802b801210c20042802bc01210520042802c00121022004200441086a36029c0320042004410c6a36029803200441c4016a210102400240024002400240024002400240024002402003417c6a41ff01712208410420084104491b0e050001020304000b41002d00b8bfd380001a410141002802b0bfd38000118280808000002201450d0f200141003a00002004410136029c02200420013602980220044101360294020c080b200441c0026a410c6a200141086a290200370200200441c0026a41146a200141106a290200370200200441c0026a411c6a200141186a290200370200200441c0026a41246a200141206a290200370200200441ec026a2203200141286a280200360200200420023602c002200420012902003702c402200441c8036a41206a20044190016a41246a280200360200200441c8036a41186a20044190016a411c6a290200370300200441c8036a41106a20044190016a41146a290200370300200441c8036a41086a20044190016a410c6a29020037030020042004290294013703c803200420053602f0032004200c3602ec032004200236029c04200420042802c80220032802002201200141284b22011b220836029804200420042802c402200441c0026a41046a20011b3602940420044184046a200441c8036a20044194046a20044198036a10b98d808000200428029c042205410176210120042802980421030240024020054101710d000240200120034b0d0020042802940420016a21054100210c4100210d0c020b2001200341e4a0cd800010a881808000000b200120034f0d104101210c200428029404220d200141016a220e6a2105200d20016a2d0000410f71210d200e21010b2004200d3a00ad032004200c3a00ac03200441003602a803200420053602a0032004200320016b3602a40320044194026a200441a0036a200841017420026b20044184046a10f68b808000024002400240024020042d00c8030e020103000b20042802ec03220120012802002201417f6a36020020014101470d02200441c8036a41246a21010c010b20042802cc03220120012802002201417f6a36020020014101470d01200441c8036a41047221010b200110d0968080000b20042802ec024129490d0720042802c40241002802a8bfd38000118080808000000c070b200441c0026a41146a200141086a290200370200200441c0026a411c6a200141106a290200370200200441c0026a41246a200141186a290200370200200441ec026a200141206a280200360200200420023602c802200420053602c4022004200c3602c002200420012902003702cc02200441c8036a41206a20044190016a41246a280200360200200441c8036a41186a20044190016a411c6a290200370300200441c8036a41106a20044190016a41146a290200370300200441c8036a41086a2004419c016a29020037030020042004290294013703c8032004200441c0026a41046a41b0ffc5800010a48f8080002004200c36029c0420042004280204220136029804200420042802003602940420044184046a20044194046a10d896808000200441003a00f003200420044194046a3602ec03200441a0036a20044198036a200441c8036a20044194046a41002004109d8d80800020044194026a20044184046a2001410174200c6b200441a0036a10ef8b808000000b200441e0026a200441b4016a280200360200200441d8026a200441ac016a290200370300200441d0026a200441a4016a290200370300200441c8026a2004419c016a2902003703002004200429029401220f3703c002200420053602e8022004200c3602e402200fa741ff01714103470d01410221010c020b200441cc026a200141086a290200370200200441d4026a200141106a290200370200200441dc026a200141186a290200370200200441e4026a200141206a290200370200200441ec026a2208200141286a280200360200200420023602c002200420012902003702c402200441c8036a41096a20044190016a41096a290000370000200441c8036a41116a20044190016a41116a290000370000200441c8036a41196a20044190016a41196a290000370000200441c8036a41206a20044190016a41206a29000037000020042004290091013700c9032004200c3602f003200420033a00c8032004200236028004200420042802c80220082802002201200141284b22011b220c3602fc03200420042802c402200441c0026a41046a20011b3602f803200341ff01714103470d024102210d200c2103200221080c030b200441c8036a200441c0026a410020044198036a10b98d80800020042902cc03210f20042802c80321010b2004200f3702a403200420013602a00320044194026a200441c8036a200441a0036a10ed8b808000000b200441a0036a200441c8036a200441f8036a20044198036a10b98d80800020042902a403210f20042802a003210d20042802fc03210320042802800421080b200841017621010240024020084101710d000240200120034b0d0020042802f80320016a21084100210e410021100c020b2001200341e4a0cd800010a881808000000b200120034f0d0a4101210e20042802f8032210200141016a22116a2108201020016a2d0000410f712110201121010b200420103a0091042004200e3a0090042004410036028c0420042008360284042004200320016b36028804200441003602a803200420053602a0032004200541c0046a3602a403200420044198036a3602b0032004200441c0026a3602ac032004200f370298042004200d3602940420044194026a20044184046a200c41017420026b200441a0036a20044194046a10f38b808000024020042d00c80322014103460d0002400240024020010e020103000b20042802ec03220120012802002201417f6a36020020014101470d02200441ec036a21010c010b20042802cc03220120012802002201417f6a36020020014101470d01200441cc036a21010b200110d0968080000b200541002802a8bfd380001180808080000020042802ec024129490d0020042802c40241002802a8bfd38000118080808000000b02400240200428029c022201411f4b0d00200441f8026a41186a22024200370300200441f8026a41106a2203420037030020044180036a22054200370300200442003703f802200441f8026a2004280298022208200110e9968080001a20002001360204200041013a0000200041206a2002290300370000200041186a2003290300370000200041106a2005290300370000200020042903f8023700080240200428029402450d00200841002802a8bfd38000118080808000000b2006450d01200a4129490d01200b41002802a8bfd38000118080808000000c010b2004280208220228025421082002280250210c200428020c220228022c220541017621030240024020054101710d00200228020420022802282205200541284b22051b22062003490d0c2002280200200220051b2102410021050c010b200228020420022802282205200541284b1b22062003490d0c200620034d0d0d200420022802002002200541284b1b220220036a2d000041f001713a00c902410121050b200420053a00c802200420033602c402200420023602c002200441a0026a200c200441c0026a20042802980222022001200828021c1187808080000020042802082103200441c0026a41106a200441f0016a41086a290300370200200441c0026a41186a200441f0016a41106a290300370200200441c0026a41206a200441f0016a41186a290300370200200441e8026a200441f0016a41206a2802003602002004200b3602c402200420073602c002200420042903f0013702c802200420093602f0022004200a3602ec02200441c8036a41186a200441a0026a41186a2205290000370300200441c8036a41106a200441a0026a41106a2208290000370300200441c8036a41086a200441a0026a41086a2209290000370300200420042900a0023703c8032003200441c8036a20022001200441c0026a10bc8d808000200041196a2005290000370000200041116a2008290000370000200041096a2009290000370000200020042900a002370001200041003a0000200428029402450d00200241002802a8bfd38000118080808000000b20042d00104108470d010c030b20002004290270370001200041003a0000200041196a20044188016a290200370000200041116a20044180016a290200370000200041096a200441f8006a2902003700000b200441106a10a48d8080000c010b200041003a000020002002290001370001200041196a200241196a290000370000200041116a200241116a290000370000200041096a200241096a2900003700000b200441a0046a2480808080000f0b2002200341fc86c6800010f580808000000b2001200341f4a0cd800010f580808000000b4101410141e0fdc5800010ae80808000000b2001200341f4a0cd800010f580808000000b2001200341f4a0cd800010f580808000000b2003200641bca3cd800010aa81808000000b2003200641cca3cd800010aa81808000000b2003200641dca3cd800010f580808000000be16b03087f027e027f23808080800041900a6b2207248080808000200741086a41086a200341086a2802003602002007200329020037030802400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020022d0000417c6a41ff01712208410420084104491b0e050001020304000b200728021022084101762202200728020c22014b0d0441002103200741003602b00920074188096a2007280208220620026a200620016a10c89680800020084101712108200541204b410174210941052102410021012005210a2004210b4100210c0c270b20074190036a41286a200241d8006a29020037030020074190036a41206a200241d0006a29020037030020074190036a41186a200241c8006a29020037030020074190036a41106a200241c0006a29020037030020074190036a41086a2208200241386a2902003703002007200229023037039003200741c8016a41286a2002412c6a280200360200200741c8016a41206a200241246a290200370300200741c8016a41186a2002411c6a290200370300200741c8016a41106a200241146a290200370300200741c8016a41086a2002410c6a290200370300200720022902043703c80120072007280290033602fc012007200828020020072802bc032208200841284b22081b3602f801200720072802940320074190036a410472220d20081b3602f401200241046a2108200741086a200741f4016a10d796808000210b20072802f401210e200b20072802f801220c41017420072802fc0122096b2202460d180c190b20074190036a41286a200241d0006a290200370300200741b0036a200241c8006a290200370300200741a8036a200241c0006a290200370300200741a0036a200241386a29020037030020074190036a41086a200241306a290200220f3703002007200229022822103703900320022d000421092002280208210b200720103e02d0012007200fa720072802bc032208200841284b22081b3602cc01200720072802940320074190036a41047220081b3602c801200241046a210c024002400240200741086a200741c8016a10d7968080002208450d00200820072802cc01220241017420072802d001220b6b470d012003200328020820086a360208200741a8056a2001200c200320042005200610c58d80800020072802a805210b20072d00ac0522024102470d02200b21020c190b20072802cc01220d410174221120072802d001220e460d17200e4101762208200d4f0d0620072802c801221220086a2d0000210a41002d00b8bfd380001a41c00441002802b0bfd38000118280808000002208450d05200841023a009c04200841023a00f803200841023a00d403200841023a00b003200841023a008c03200841023a00e802200841023a00c402200841023a00a002200841023a00fc01200841023a00d801200841023a00b401200841023a009001200841023a006c200841023a0048200841023a0024200841023a0000024002402011200e6b4101470d00200741e8036a41026a200241076a2d00003a0000200741b0056a200241146a290200370300200741b8056a2002411c6a290200370300200741c0056a200241246a280200360200200720022f00053b01e8032007200229020c3703a8050c010b200e41016a220b4101762202200d4b0d082007410036028008200741d8076a201220026a2012200d6a10c896808000200741e4036a200c41206a280000360000200741dc036a200c41186a290000370000200741d4036a200c41106a290000370000200741cc036a200c41086a2900003700002007200c2900003700c403200b410171210c0240024020012802282202450d0020012002417f6a36022820012001280224220241016a220b4100200128021c2209200b2009491b6b3602240240200128022020024102746a280200220b200128021822024f0d002001280214200b4107746a220220022d00004108464102746a10a48d808000200241063a0004200241083a00002002200c36022c200220072900c1033700052002410d6a200741c1036a41086a290000370000200241156a200741c1036a41106a2900003700002002411d6a200741c1036a41186a290000370000200241246a200741e0036a290000370000200220072902d807370230200241386a200741d8076a41086a290200370200200241c0006a200741d8076a41106a290200370200200241c8006a200741d8076a41186a290200370200200241d0006a200741f8076a290200370200200241d8006a20074180086a2802003602000c020b200b200241cc86c6800010f580808000000b02402001280218220b2001280210470d00200141106a41dc86c6800010e58a8080000b2001280214200b4107746a220241063a0004200241083a0000200220072900c1033700052002200c36022c200220072902d8073702302002410d6a200741c1036a41086a290000370000200241156a200741c1036a41106a2900003700002002411d6a200741c1036a41186a290000370000200241246a200741e0036a290000370000200241386a200741d8076a41086a290200370200200241c0006a200741d8076a41106a290200370200200241c8006a200741d8076a41186a290200370200200241d0006a200741f8076a290200370200200241d8006a20074180086a2802003602002001200b41016a3602180b410021090b2008200a410f71200a410476200e4101711b41246c6a220220093a0000200220072f01e8033b00012002200b360204200220072903a805370208200241036a200741e8036a41026a2d00003a0000200241106a200741a8056a41086a290300370200200241186a200741a8056a41106a290300370200200241206a200741a8056a41186a280200360200200741033a00ec032007200836029804200741073a00e803200741a8056a2001200741e8036a200320042005200610c48d80800020072802ac05210220072802a8054102460d1820074190066a41086a200741c4056a29020037030020074190066a41106a200741a8056a41246a28020036020020074188096a41086a200741e8056a29020037030020074188096a41106a200741f0056a29020037030020074188096a41186a200741f8056a29020037030020074188096a41206a20074180066a290200370300200741b0096a20074188066a280200360200200720072902bc0537039006200720072902e005370388092002411076210d2002410876210e20072f00b105200741b3056a2d000041107472210320072802b805210a20072802b405210b20072d00b005210920072802d005210120072802d405210420072802d805210520072802dc0521080c150b200b20086a2209410176220e20024b0d0720072802c801210b200741d0056a220d4100360200200741a8056a200b200e6a200b20026a10c8968080002007419c056a200d28020036020020074194056a200741a8056a41206a2902003702002007418c056a200741a8056a41186a29020037020020074184056a200741a8056a41106a290200370200200741fc046a200741a8056a41086a220b290200370200200720072902a8053702f404200741d4046a200c41086a290200370200200741dc046a200c41106a290200370200200741e4046a200c41186a290200370200200741ec046a200c41206a2802003602002003200328020820086a360208200720094101713602f0042007200c2902003702cc04200741063a00c804200741a8056a2001200741c8046a200320042005200610c48d80800020072802ac05210220072802a8054102460d17200741a4066a200b41dc0010e9968080001a200741a8056a200741c8016a200810d6968080000240024020012802282203450d0020012003417f6a36022820012001280224220341016a22054100200128021c220420052004491b6b3602240240200128022020034102746a280200220b200128021822034f0d002001280214200b4107746a220320032d00004108464102746a10a48d80800020032002360204200341083a0000200341086a200741a4066a41dc0010e9968080001a0c020b200b200341cc86c6800010f580808000000b02402001280218220b2001280210470d00200141106a41dc86c6800010e58a8080000b2001280214200b4107746a22032002360204200341083a0000200341086a200741a4066a41dc0010e9968080001a2001200b41016a3602180b20074190096a200741bc056a29020037030020074198096a200741c4056a290200370300200741a0096a200741cc056a290200370300200741a8096a200741d4056a280200360200200720072902b4053703880920072802b005210820072802ac05210520072802a805210441002109410621020c140b20072802d0012204410176220520072802cc0122014b0d0720072802c801210341002109200741d0056a22084100360200200741a8056a200320056a200320016a10c89680800020074190096a200741a8056a41106a29020037030020074188096a41106a200741a8056a41186a29020037030020074188096a41186a200741a8056a41206a29020037030020074188096a41206a2008280200360200200720072902b005370388092002410173210c2004410171210420072802ac05210820072802a8052105410621020c140b20022802302108200741e8036a41286a2002412c6a280200360200200741e8036a41206a200241246a29020037030020074180046a2002411c6a290200370300200741f8036a200241146a290200370300200741e8036a41086a2002410c6a290200370300200720022902043703e80302400240024002400240024002400240200728020c220b4101742007280210220c460d00200c4101762202200b4f0d01200728020820026a2d000021022003200328020841016a36020820082002410f712002410476200c4101711b41246c6a22022d0000210c200241023a0000200c4102460d02200741186a41096a200241096a290000370000200741186a41116a200241116a290000370000200741186a41196a200241196a290000370000200741186a41206a200241206a2800003600002007200c3a001820072002290001370019200741a8056a2001200741186a200320042005200610c58d80800020072802a805210320072d00ac0522054102460d0320022003360204200241003a000020054101710d07200741c8006a200741e8036a41086a290300370000200741d0006a200741e8036a41106a290300370000200741d8006a200741e8036a41186a290300370000200741e0006a200741e8036a41206a290300370000200741e8006a20074190046a280200360000200041073a000420004101360200200720072903e8033700402000200729003d3700052000410d6a2007413d6a41086a290000370000200041156a2007413d6a41106a2900003700002000411d6a2007413d6a41186a290000370000200041256a2007413d6a41206a2900003700002000412c6a200741e4006a290000370000200020083602340c2d0b200720053602d005200720043602cc05200720053602b005200720043602ac054100210c200741003a00a9052007200541204b41017422093a00a80520072d00e8034103460d18200741e8036a200741a8056a10a98d808000210c0c180b2002200b418484c6800010f580808000000b2003280208220b41017622062003280204220c4b0d0c200541204b410174210e200741003602ac0820074184086a2003280200220320066a2003200c6a10c896808000200b410171210c20012802282203450d0220012003417f6a36022820012001280224220341016a22064100200128021c220b2006200b491b6b360224200128022020034102746a2802002206200128021822034f0d01200128021420064107746a220320032d00004108464102746a10a48d8080002003200c360234200320053602302003200436022c200320053602102003200436020c200341003a00092003200e3a0008200341053a0004200341083a00002003200729028408370238200341c0006a20074184086a41086a290200370200200341c8006a20074194086a290200370200200341d0006a2007419c086a290200370200200341d8006a200741a4086a290200370200200341e0006a200741ac086a2802003602000c030b2000410236020020002003360204024020072d00e80322004103460d0002400240024020000e020103000b200728028c04220020002802002200417f6a36020020004101470d022007418c046a21000c010b20072802ec03220020002802002200417f6a36020020004101470d01200741e8036a41047221000b200010d0968080000b200841002802a8bfd38000118080808000000c290b2006200341cc86c6800010f580808000000b0240200128021822062001280210470d00200141106a41dc86c6800010e58a8080000b200128021420064107746a2203200c360234200320053602302003200436022c200320053602102003200436020c200341003a00092003200e3a0008200341053a0004200341083a00002003200729028408370238200341c0006a20074184086a41086a290200370200200341c8006a20074194086a290200370200200341d0006a2007419c086a290200370200200341d8006a200741a4086a290200370200200341e0006a200741ac086a2802003602002001200641016a3602180b20022006360204200241003a00000b20074198066a200741fc036a29020037030020074190066a41106a20074184046a280200360200200720072902f4033703900620072f00e90320072d00eb034110747221034100210c2007280290042105200728028c042104200728028804210120072802f003210a20072802ec03210b20072d00e8032109410721020c240b200741e8036a41286a200241d8006a290200370300200741e8036a41206a200241d0006a290200370300200741e8036a41186a200241c8006a290200370300200741e8036a41106a200241c0006a290200370300200741e8036a41086a2208200241386a290200370300200720022902303703e803200228022c2111200741c8016a41286a200241286a280200360200200741c8016a41206a200241206a290200370300200741c8016a41186a200241186a290200370300200741c8016a41106a200241106a290200370300200741c8016a41086a200241086a290200370300200720022902003703c801200720072802e803360274200720082802002007280294042202200241284b22021b360270200720072802ec03200741e8036a41047220021b36026c200741086a200741ec006a10d7968080002108200728026c210e0240024020082007280270220b410174200728027422096b2202470d002008200728020c41017420072802106b460d010b02400240024002400240024002400240024020082002490d00200728021020086a220c4101762202200728020c220b4f0d01200728020820026a2d000021022003200820032802086a41016a36020820112002410f712002410476200c4101711b41246c6a22022d00002108200241023a000020084102460d02200741a4016a41096a200241096a290000370000200741a4016a41116a200241116a290000370000200741a4016a41196a200241196a290000370000200741a4016a41206a200241206a280000360000200720083a00a401200720022900013700a501200741a8056a2001200741a4016a200320042005200610c58d80800020072802a805210320072d00ac0522054102460d0320022003360204200241003a000020054101710d17200041346a200741ec006a10d59680800020002011360230200041013602002000412c6a200741f0016a280200360200200041246a200741e8016a2903003702002000411c6a200741e0016a290300370200200041146a200741d8016a2903003702002000410c6a200741d0016a290300370200200020072903c8013702040c040b2009200841016a220d6a22034101762202200b4b0d10200741003602d808200741b0086a200e20026a200e200b6a10c896808000200741f8006a41286a200741c8016a41286a280200360200200741f8006a41206a200741c8016a41206a290300370300200741f8006a41186a200741c8016a41186a290300370300200741f8006a41106a200741c8016a41106a290300370300200741f8006a41086a200741c8016a41086a290300370300200720072903c801370378200920086a22094101762202200b490d072002200b418484c6800010f580808000000b2002200b418484c6800010f580808000000b2003280208220c4101762208200328020422064b0d0f200541204b410174210b2007410036028409200741dc086a2003280200220320086a200320066a10c896808000200c410171210620012802282203450d0320012003417f6a36022820012001280224220341016a22084100200128021c220c2008200c491b6b360224200128022020034102746a2802002208200128021822034f0d02200128021420084107746a220320032d00004108464102746a10a48d80800020032006360234200320053602302003200436022c200320053602102003200436020c200341003a00092003200b3a0008200341053a0004200341083a0000200320072902dc08370238200341c0006a200741dc086a41086a290200370200200341c8006a200741ec086a290200370200200341d0006a200741f4086a290200370200200341d8006a200741fc086a290200370200200341e0006a20074184096a2802003602000c040b2000410236020020002003360204200741c8016a10a78d808000201141002802a8bfd38000118080808000000b2007280294044129490d2920072802ec0341002802a8bfd38000118080808000000c290b2008200341cc86c6800010f580808000000b0240200128021822082001280210470d00200141106a41dc86c6800010e58a8080000b200128021420084107746a22032006360234200320053602302003200436022c200320053602102003200436020c200341003a00092003200b3a0008200341053a0004200341083a0000200320072902dc08370238200341c0006a200741dc086a41086a290200370200200341c8006a200741ec086a290200370200200341d0006a200741f4086a290200370200200341d8006a200741fc086a290200370200200341e0006a20074184096a2802003602002001200841016a3602180b20022008360204200241003a00000c0f0b200e20026a2d0000210c41002d00b8bfd380001a41c00441002802b0bfd38000118280808000002206450d0a2003410171210b200641023a009c04200641023a00f803200641023a00d403200641023a00b003200641023a008c03200641023a00e802200641023a00c402200641023a00a002200641023a00fc01200641023a00d801200641023a00b401200641023a009001200641023a006c200641023a0048200641023a0024200641023a0000200741d3056a200741a0016a280200360000200741cb056a20074198016a290300370000200741c3056a200741f8006a41186a290300370000200741bb056a200741f8006a41106a290300370000200741b3056a20074180016a290300370000200720072903783700ab05200141106a210a0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c220e2003200e491b6b3602240240200128022020024102746a2802002203200128021822024f0d00200141186a2112200128021420034107746a220220022d00004108464102746a10a48d808000200241083a00002002200b36023420022011360230200220072900a805370001200241096a200741a8056a41086a290000370000200241116a200741a8056a41106a290000370000200241196a200741a8056a41186a290000370000200241216a200741a8056a41206a290000370000200241286a200741cf056a290000370000200220072902b008370238200241c0006a200741b0086a41086a290200370200200241c8006a200741b0086a41106a290200370200200241d0006a200741b0086a41186a290200370200200241d8006a200741b0086a41206a290200370200200241e0006a200741b0086a41286a2802003602000c020b2003200241cc86c6800010f580808000000b0240200128021822032001280210470d00200a41dc86c6800010e58a8080000b200141186a2112200128021420034107746a220241083a0000200220072900a8053700012002200b36023420022011360230200220072902b008370238200241096a200741a8056a41086a290000370000200241116a200741a8056a41106a290000370000200241196a200741a8056a41186a290000370000200241216a200741a8056a41206a290000370000200241286a200741cf056a290000370000200241c0006a200741b0086a41086a290200370200200241c8006a200741b0086a41106a290200370200200241d0006a200741b0086a41186a290200370200200241d8006a200741b0086a41206a290200370200200241e0006a200741b0086a41286a2802003602002001200341016a3602180b2006200c410f71200c41047620094101711b41246c6a220220033602044100210e200241003a0000200541204b410174210202400240200728020c22034101742007280210220b20086a220c470d00200741a8056a200741ec006a200810d69680800020074188096a41086a200741b4056a29020037030020074198096a200741bc056a290200370300200741a0096a200741c4056a29020037030020074188096a41206a200741a8056a41246a290200370300200741b0096a200741d4056a280200360200200720072902ac05370388092004410876210320072802a8052108200521122005210b200421090c010b200c410176220e20034f0d0d200b200d6a220d410176220920034b0d0c2007280208220b200e6a2d0000210e200741003602e009200741b8096a200b20096a200b20036a10c896808000200d41017121090240024020012802282203450d0020012003417f6a36022820012001280224220341016a220b4100200128021c220d200b200d491b6b3602240240200128022020034102746a280200220b200128021822034f0d002001280214200b4107746a220320032d00004108464102746a10a48d80800020032009360234200320053602302003200436022c200320053602102003200436020c200341003a0009200320023a0008200341053a0004200341083a0000200320072902b809370238200341c0006a200741b8096a41086a290200370200200341c8006a200741c8096a290200370200200341d0006a200741d0096a290200370200200341d8006a200741d8096a290200370200200341e0006a200741e0096a2802003602000c020b200b200341cc86c6800010f580808000000b02402012280200220b200a280200470d00200a41dc86c6800010e58a8080000b2001280214200b4107746a22032009360234200320053602302003200436022c200320053602102003200436020c200341003a0009200320023a0008200341053a0004200341083a0000200320072902b809370238200341c0006a200741b8096a41086a290200370200200341c8006a200741c8096a290200370200200341d0006a200741d0096a290200370200200341d8006a200741d8096a290200370200200341e0006a200741e0096a2802003602002001200b41016a3602180b2006200e410f71200e410476200c4101711b41246c6a2202200b3602044100210e200241003a0000200741a8056a200741ec006a200810d69680800020074190096a200741b4056a29020037030020074198096a200741bc056a290200370300200741a0096a200741c4056a290200370300200741a8096a200741a8056a41246a290200370300200741b0096a200741d4056a280200360200200720072902ac053703880920072802a8052108410321020b4100210c0c0f0b200720053602b803200720043602b403200720053602980320072004360294034100210c200741003a0091032007200541204b41017422023a00900320072d00c8014103460d0c200741c8016a20074190036a10a98d808000210c0c0c0b2002200141f49fcd800010a881808000000b410441c00410b980808000000b2008200d418484c6800010f580808000000b2002200d41f49fcd800010a881808000000b200e200241f49fcd800010a881808000000b2005200141f49fcd800010a881808000000b2006200c41f49fcd800010a881808000000b2002200b41f49fcd800010a881808000000b2008200641f49fcd800010a881808000000b410441c00410b980808000000b2009200341f49fcd800010a881808000000b200e2003418484c6800010f580808000000b02400240024002402009410176220d200b4b0d002007410036028c0a200741e4096a200e200d6a200e200b6a10c8968080002003280204210b2003280200210e20032802082103200741a8056a41286a200741c8016a41286a280200360200200741a8056a41206a200741c8016a41206a290300370300200741a8056a41186a200741c8016a41186a290300370300200741a8056a41106a200741c8016a41106a290300370300200741a8056a41086a200741c8016a41086a290300370300200720072903c8013703a805200320086a220841017621030240024020084101710d002003200b4b0d03200741003a00fc01200720033602f8012007200e3602f4010c010b2003200b4b0d032003200b4f0d04200741013a00fc012007200e3602f401200720033602f8012007200e20036a2d000041f001713a00fd010b200441087621032009410171210820012006200741a8056a200741f4016a10c68d80800020074188096a41086a200741e4096a41086a29020037030020074188096a41106a200741e4096a41106a29020037030020074188096a41186a200741e4096a41186a29020037030020074188096a41206a200741e4096a41206a29020037030020074188096a41286a200741e4096a41286a280200360200200720072902e409370388094100210e20112106200521122005210b200421090c050b200d200b41f49fcd800010a881808000000b2003200b4184a1cd800010aa81808000000b2003200b4194a1cd800010aa81808000000b2003200b41a4a1cd800010f580808000000b200728027422054101762202200728027022034b0d014100210c200741003602b00920074188096a200728026c220120026a200120036a10c89680800020074198066a200741e0016a29030037030020074190066a41106a200741e8016a280200360200200720072903d801370390062005410171210820072f00cd0120072d00cf0141107472210320072802f001211220072802ec01210420072802d401210a20072802d001210b20072d00cc01210920072f01ca01210d20072d00c901210e20072d00c8012102201121060b02402007280294044129490d0020072802ec0341002802a8bfd38000118080808000000b2004210120062105201221040c140b2002200341f49fcd800010a881808000000b20072d00ab05210d20072f00a905210a2003280208220e410176210b02400240024002400240200e4101710d00200b2003280204220e4b0d02200741003a0098032007200b3602940320072003280200360290030c010b200b2003280204220e4b0d02200b200e4f0d0320032802002103200741013a00980320072003360290032007200b3602940320072003200b6a2d000041f001713a0099030b200a200d41107472210320012006200241046a20074190036a10c68d808000410721022005210a2004210b0c150b200b200e4184a1cd800010aa81808000000b200b200e4194a1cd800010aa81808000000b200b200e41a4a1cd800010f580808000000b4100210c0b20072802bc034129490d1020072802940341002802a8bfd38000118080808000000c100b419484c68000412a41c084c6800010f480808000000b200041023602002000200236020420072802bc034129490d0f20072802940341002802a8bfd38000118080808000000c0f0b200b200728020c41017420072802106b470d00200541204b0d01200741e8036a41046a2102200741e8036a41086a210c4100210e0c020b0240200b2002490d0020094101762202200c4b0d03200741003602a80720074180076a200e20026a200e200c6a10c89680800041002d00b8bfd380001a41c00441002802b0bfd38000118280808000002202450d04200241023a009c04200241023a00f803200241023a00d403200241023a00b003200241023a008c03200241023a00e802200241023a00c402200241023a00a002200241023a00fc01200241023a00d801200241023a00b401200241023a009001200241023a006c200241023a0048200241023a0024200241023a0000200741b0026a41086a200841086a290200370300200741b0026a41106a200841106a290200370300200741b0026a41186a200841186a290200370300200741b0026a41206a200841206a290200370300200741b0026a41286a200841286a280200360200200720082902003703b002200741ec026a20074180076a41086a290200370200200741f4026a20074180076a41106a290200370200200741fc026a20074180076a41186a29020037020020074184036a20074180076a41206a2902003702002007418c036a20074180076a41286a280200360200200720094101713602e002200720023602dc0220072007290280073702e402200741a8056a2001200741b0026a200320042005200610c48d80800020072802ac05210220072802a8054102460d0c20074190066a41086a200741c4056a29020037030020074190066a41106a200741cc056a28020036020020074188096a41086a200741e8056a29020037030020074188096a41106a200741f0056a29020037030020074188096a41186a200741f8056a29020037030020074188096a41206a20074180066a29020037030020074188096a41286a20074188066a280200360200200720072902bc0537039006200720072902e005370388092002411076210d2002410876210e20072f00b105200741b3056a2d000041107472210320072802b805210a20072802b405210b20072d00b005210920072802d005210120072802d405210420072802d805210520072802dc0521084100210c0c0b0b41002d00b8bfd380001a41c00441002802b0bfd38000118280808000002202450d04200241023a009c04200241023a00f803200241023a00d403200241023a00b003200241023a008c03200241023a00e802200241023a00c402200241023a00a002200241023a00fc01200241023a00d801200241023a00b401200241023a009001200241023a006c200241023a0048200241023a0024200241023a00002009200b6a2209410176220d200c4f0d06200941016a2211410176220a200c4b0d05200e200d6a2d0000210d200741003602d407200741ac076a200e200a6a200e200c6a10c896808000200741ac026a200841286a280000360000200741a4026a200841206a2900003700002007419c026a200841186a29000037000020074194026a200841106a2900003700002007418c026a200841086a29000037000020072008290000370084022011410171210e0240024020012802282208450d0020012008417f6a36022820012001280224220841016a220c4100200128021c220a200c200a491b6b3602240240200128022020084102746a280200220c200128021822084f0d002001280214200c4107746a220820082d00004108464102746a10a48d808000200841053a0004200841083a00002008200e36023420082007290081023700052008410d6a20074181026a41086a290000370000200841156a20074181026a41106a2900003700002008411d6a20074181026a41186a290000370000200841256a20074181026a41206a2900003700002008412c6a200741a8026a290000370000200820072902ac07370238200841c0006a200741ac076a41086a290200370200200841c8006a200741ac076a41106a290200370200200841d0006a200741ac076a41186a290200370200200841d8006a200741ac076a41206a290200370200200841e0006a200741d4076a2802003602000c020b200c200841cc86c6800010f580808000000b02402001280218220c2001280210470d00200141106a41dc86c6800010e58a8080000b2001280214200c4107746a220841053a0004200841083a000020082007290081023700052008200e360234200820072902ac073702382008410d6a20074181026a41086a290000370000200841156a20074181026a41106a2900003700002008411d6a20074181026a41186a290000370000200841256a20074181026a41206a2900003700002008412c6a200741a8026a290000370000200841c0006a200741ac076a41086a290200370200200841c8006a200741ac076a41106a290200370200200841d0006a200741ac076a41186a290200370200200841d8006a200741ac076a41206a290200370200200841e0006a200741d4076a2802003602002001200c41016a3602180b2002200d410f71200d41047620094101711b41246c6a2208200c3602044100210c200841003a000020074198046a200741086a200b10d6968080002007200236029404200741033a00e803200741a8056a2001200741e8036a200320042005200610c48d80800020072802ac05210220072802a8054102460d0b20074190066a41086a200741c4056a29020037030020074190066a41106a200741a8056a41246a28020036020020074188096a41086a200741e8056a29020037030020074188096a41106a200741f0056a290200370300200741a0096a200741f8056a290200370300200741a8096a20074180066a290200370300200741b0096a20074188066a280200360200200720072902bc0537039006200720072902e005370388092002411076210d2002410876210e20072f00b105200741b3056a2d000041107472210320072802b805210a20072802b405210b20072d00b005210920072802d005210120072802d405210420072802d805210520072802dc0521080c0a0b200741e8036a41246a2102200741e8036a41286a210c200741003a00e9034102210e0b200c2005360200200220043602002007200e3a00e803200741c8016a200741e8036a10a98d808000210c2003280208200b6a2204410176210220032802042105200328020021030240024020044101710d00200220054b0d07200741003a00b005200720023602ac05200720033602a8050c010b200220054b0d07200220054f0d08200741013a00b005200720033602a805200720023602ac052007200320026a2d000041f001713a00b1050b200120062008200741a8056a10c68d808000200728029403200d20072802bc03220241284b22031b2205200728029803200220031b6a2103200741f4036a2102200728029003210802400240200c0d004100210c200741a8056a41286a22014100360200200741a8056a2005200310fd8e80800020074188096a41286a200128020036020020074188096a41206a200741a8056a41206a29020037030020074188096a41186a200741a8056a41186a29020037030020074188096a41106a200741a8056a41106a29020037030020074188096a41086a200741a8056a41086a290200370300200720072902a805370388090c010b200741a8056a41286a22014100360200200741a8056a2005200310fd8e80800020074188096a41286a200128020036020020074188096a41206a200741a8056a41206a29020037030020074188096a41186a200741a8056a41186a29020037030020074188096a41106a200741a8056a41106a29020037030020074188096a41086a200741a8056a41086a290200370300200720072902a805370388094101210c0b20074190066a41086a200241086a29020037030020074190066a41106a200241106a280200360200200720022902003703900620072f00e90320072d00eb0341107472210320072802f003210a20072802ec03210b20072d00e80321092007280288042101200728028c0421042007280290042105410521020c080b2002200c41f49fcd800010a881808000000b410441c00410b980808000000b410441c00410b980808000000b200a200c41f49fcd800010a881808000000b200d200c418484c6800010f580808000000b200220054184a1cd800010aa81808000000b200220054194a1cd800010aa81808000000b2002200541a4a1cd800010f580808000000b20072802bc034129490d0120072802940341002802a8bfd38000118080808000000c010b200041023602002000200236020420072802bc034129490d0120072802940341002802a8bfd38000118080808000000c010b200020033b00092000200a3602102000200b36020c200020093a00082000200d3b01062000200e3a0005200020023a00042000200c360200200020072903900637021420002008360234200020053602302000200436022c200020013602282000410b6a20034110763a00002000411c6a20074190066a41086a290300370200200041246a20074190066a41106a280200360200200041e0006a200741b0096a280200360200200041d8006a200741a8096a290300370200200041d0006a200741a0096a290300370200200041c8006a20074188096a41106a290300370200200041c0006a20074188096a41086a29030037020020002007290388093702380b200741900a6a2480808080000ba11403047f017e167f23808080800041a0036b2207248080808000200720053602142007200436021002400240024020022d00000d00200228020421020c010b200741306a200241196a290000370300200741286a200241116a290000370300200741206a200241096a290000370300200720022900013703182003280208220841017621020240024002400240024020084101710d002002200328020422084b0d02200741003a00dc01200720023602d801200720032802003602d4010c010b2002200328020422084b0d02200220084f0d0320032802002108200741013a00dc01200720083602d401200720023602d8012007200820026a2d000041f001713a00dd010b200741086a2001200741186a200741d4016a10ca8d808000200728020c21022007280208450d03200041023a000420002002360200200420042802002201417f6a36020020014101470d04200741106a10d0968080000c040b200220084184a1cd800010aa81808000000b200220084194a1cd800010aa81808000000b2002200841a4a1cd800010f580808000000b024020012802282209200128021c2208470d002001411c6a41ec86c6800010ff8c808000200128021c2108200128022821090b2001280220200128022420096a22094100200820092008491b6b4102746a20023602002001200128022841016a36022802400240024002402001280218220820024d0d00200128021420024107746a22022d00002108200741396a200241016a41df0010e9968080001a200241043a0004200241083a0000200228026021090240024020084108470d00200741d4016a2007413c6a41dc0010e9968080001a200720033602b802200720093602b002200720013602b402200741bc026a2001200741d4016a200320042005200610c48d80800020072802c002210220072802bc0222034102460d05200728029c03210a200729029403210b2007280290032105200728028c0321082007280288032106200728028403210c200728028003210d20072802fc02210e20072802f802210f20072802f402211020072802f002211120072802ec02211220072802e802211320072802e402211420072802e002211520072802dc02211620072802d802211720072802d402211820072802d002211920072802cc02211a20072802c802211b20072802c402211c200345211d41082103410021040c010b2003280208210a2003280204211d2003280200211c200741d4016a410172200741396a41df0010e9968080001a200741d0016a200241fc006a280000360200200741c8016a200241f4006a290000370300200741b8016a41086a200241ec006a290000370300200720013602b402200720033602b802200720083a00d401200720022900643703b801200741bc026a2001200741d4016a200320042005200610c48d80800020072802c002210220072802bc0222034102460d04200729029803210b200728029403211e2007280290032105200728028c0321082007280288032106200728028403210c200728028003210d20072802fc02210e20072802f802210f20072802f402211020072802f002211120072802ec02211220072802e802211320072802e402211420072802e002211520072802dc02211620072802d802211720072802d402211820072802d002211920072802cc02211a20072802c802211b20072802c402211f024020030d00200a410176210302400240200a4101710d0002402003201d4b0d004100211d0c020b2003201d4184a1cd800010aa81808000000b2003201d4b0d042003201d4f0d05201c20036a2d000041707121204101211d0b200b422088a7210a41002104200741bc026a41286a22214100360200200741bc026a201c201c20036a10c896808000200741f4016a221c41286a2021280200360200201c41206a200741bc026a41206a290200370200201c41186a200741bc026a41186a290200370200201c41106a200741bc026a41106a29020037020041082103201c41086a200741bc026a41086a290200370200201c20072902bc02370200200741e0016a200741b8016a41086a290300370200200741e8016a200741b8016a41106a290300370200200741f0016a200741b8016a41186a280200360200200720203a00a1022007201d3a00a002200720093602d401200720072903b8013702d801200141dc006a200741d4016a10da8a8080001a200b422086201ead84210b4101211d201f211c0c010b20074198016a41186a200741b8016a41186a28020036020020074198016a41106a200741b8016a41106a29030037030020074198016a41086a200741b8016a41086a290300370300200720072903b80137039801200241ff01712103200241807e7121044100211d201b211c201a211b2019211a201821192017211820162117201521162014211520132114201221132011211220102111200f2110201f2102200e210f200d210e200c210d2006210c2008210620052108201e21052009210a0b200320047221090240024020012802282203450d0020012003417f6a36022820012001280224220341016a22044100200128021c221e2004201e491b6b3602240240200128022020034102746a2802002204200128021822034f0d00200128021420044107746a220120012d00004108464102746a10a48d8080002001200a3602602001200b37025820012005360254200120083602502001200636024c2001200c3602482001200d3602442001200e3602402001200f36023c2001201036023820012011360234200120123602302001201336022c2001201436022820012015360224200120163602202001201736021c20012018360218200120193602142001201a3602102001201b36020c2001201c3602082001200236020420012009360200200141fc006a200741b0016a280200360200200141f4006a200741a8016a290300370200200141ec006a20074198016a41086a29030037020020012007290398013702640c020b2004200341cc86c6800010f580808000000b0240200128021822042001280210470d00200141106a41dc86c6800010e58a8080000b200128021420044107746a2203200a3602602003200b37025820032005360254200320083602502003200636024c2003200c3602482003200d3602442003200e3602402003200f36023c2003201036023820032011360234200320123602302003201336022c2003201436022820032015360224200320163602202003201736021c20032018360218200320193602142003201a3602102003201b36020c2003201c3602082003200236020420032009360200200341fc006a200741b0016a280200360200200341f4006a200741a8016a290300370200200341ec006a200741a0016a29030037020020032007290398013702642001200441016a3602180b2000201d3a0004200020043602000c040b2002200841fc86c6800010f580808000000b2003201d4194a1cd800010aa81808000000b2003201d41a4a1cd800010f580808000000b200041023a0004200020023602000b200741a0036a2480808080000bfd0301047f2380808080004180016b220424808080800002400240024020022d000022050e0402010002020b4102210520022d00014101470d010b200441186a200220056a220541186a290000370300200441106a200541106a290000370300200441086a200541086a290000370300200420052900003703002003280200210520032802042106200441d4006a41286a22074100360200200441d4006a2005200520066a10fd8e808000200441c8006a2007280200360200200441c0006a200441f4006a290200370300200441386a200441d4006a41186a290200370300200441306a200441d4006a41106a290200370300200441286a200441d4006a41086a29020037030020042004290254370320200420032f01083b014c200041dc006a200410da8a8080001a0b024020012d000022034103460d0002400240024020030e020103000b2001280224220320032802002203417f6a36020020034101470d02200141246a21030c010b2001280204220320032802002203417f6a36020020034101470d01200141046a21030b200310d0968080000b20012002290200370200200141286a200241286a280200360200200141206a200241206a290200370200200141186a200241186a290200370200200141106a200241106a290200370200200141086a200241086a29020037020020044180016a2480808080000ba56a03087f027e027f23808080800041900a6b2207248080808000200741086a41086a200341086a280200360200200720032902003703080240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020022d0000417c6a41ff01712208410420084104491b0e050001020304000b200728021022084101762202200728020c22034b0d0441002101200741003602b00920074188096a2007280208220620026a200620036a10c8968080002008410171210841052102200521092004210a4100210b0c260b20074190036a41286a200241d8006a29020037030020074190036a41206a200241d0006a29020037030020074190036a41186a200241c8006a29020037030020074190036a41106a200241c0006a29020037030020074190036a41086a2208200241386a2902003703002007200229023037039003200741c8016a41286a2002412c6a280200360200200741c8016a41206a200241246a290200370300200741c8016a41186a2002411c6a290200370300200741c8016a41106a200241146a290200370300200741c8016a41086a2002410c6a290200370300200720022902043703c80120072007280290033602fc012007200828020020072802bc032208200841284b22081b3602f801200720072802940320074190036a410472220c20081b3602f401200241046a2108200741086a200741f4016a10d796808000210a20072802f401210d200a20072802f801220b41017420072802fc01220e6b2202460d170c180b20074190036a41286a200241d0006a290200370300200741b0036a200241c8006a290200370300200741a8036a200241c0006a290200370300200741a0036a200241386a29020037030020074190036a41086a200241306a290200220f3703002007200229022822103703900320022d0004210e2002280208210a200720103e02d0012007200fa720072802bc032208200841284b22081b3602cc01200720072802940320074190036a41047220081b3602c801200241046a210b024002400240200741086a200741c8016a10d7968080002208450d00200820072802cc01220241017420072802d001220a6b470d012003200328020820086a360208200741a8056a2001200b200320042005200610c88d80800020072802a805210a20072d00ac0522024102470d02200a21020c180b20072802cc01220c410174221120072802d001220d460d16200d4101762208200c4f0d0620072802c801221220086a2d0000210941002d00b8bfd380001a41c00441002802b0bfd38000118280808000002208450d05200841023a009c04200841023a00f803200841023a00d403200841023a00b003200841023a008c03200841023a00e802200841023a00c402200841023a00a002200841023a00fc01200841023a00d801200841023a00b401200841023a009001200841023a006c200841023a0048200841023a0024200841023a0000024002402011200d6b4101470d00200741e8036a41026a200241076a2d00003a0000200741b0056a200241146a290200370300200741b8056a2002411c6a290200370300200741c0056a200241246a280200360200200720022f00053b01e8032007200229020c3703a8050c010b200d41016a220a4101762202200c4b0d082007410036028008200741d8076a201220026a2012200c6a10c896808000200741e4036a200b41206a280000360000200741dc036a200b41186a290000370000200741d4036a200b41106a290000370000200741cc036a200b41086a2900003700002007200b2900003700c403200a410171210b0240024020012802282202450d0020012002417f6a36022820012001280224220241016a220a4100200128021c220e200a200e491b6b3602240240200128022020024102746a280200220a200128021822024f0d002001280214200a4107746a220220022d00004108464102746a10a48d808000200241063a0004200241083a00002002200b36022c200220072900c1033700052002410d6a200741c1036a41086a290000370000200241156a200741c1036a41106a2900003700002002411d6a200741c1036a41186a290000370000200241246a200741e0036a290000370000200220072902d807370230200241386a200741d8076a41086a290200370200200241c0006a200741d8076a41106a290200370200200241c8006a200741d8076a41186a290200370200200241d0006a200741f8076a290200370200200241d8006a20074180086a2802003602000c020b200a200241cc86c6800010f580808000000b02402001280218220a2001280210470d00200141106a41dc86c6800010e58a8080000b2001280214200a4107746a220241063a0004200241083a0000200220072900c1033700052002200b36022c200220072902d8073702302002410d6a200741c1036a41086a290000370000200241156a200741c1036a41106a2900003700002002411d6a200741c1036a41186a290000370000200241246a200741e0036a290000370000200241386a200741d8076a41086a290200370200200241c0006a200741d8076a41106a290200370200200241c8006a200741d8076a41186a290200370200200241d0006a200741f8076a290200370200200241d8006a20074180086a2802003602002001200a41016a3602180b4100210e0b20082009410f712009410476200d4101711b41246c6a2202200e3a0000200220072f01e8033b00012002200a360204200220072903a805370208200241036a200741e8036a41026a2d00003a0000200241106a200741a8056a41086a290300370200200241186a200741a8056a41106a290300370200200241206a200741a8056a41186a280200360200200741033a00ec032007200836029804200741073a00e803200741a8056a2001200741e8036a200320042005200610c78d80800020072802ac05210220072802a8054102460d1720074190066a41086a200741c4056a29020037030020074190066a41106a200741a8056a41246a28020036020020074188096a41086a200741e8056a29020037030020074188096a41106a200741f0056a29020037030020074188096a41186a200741f8056a29020037030020074188096a41206a20074180066a290200370300200741b0096a20074188066a280200360200200720072902bc0537039006200720072902e005370388092002411076210c2002410876210d20072f00b105200741b3056a2d000041107472210320072802b805210920072802b405210a20072d00b005210120072802d005210e20072802d405210420072802d805210520072802dc0521080c140b200a20086a220e410176220d20024b0d0720072802c801210a200741d0056a220c4100360200200741a8056a200a200d6a200a20026a10c8968080002007419c056a200c28020036020020074194056a200741a8056a41206a2902003702002007418c056a200741a8056a41186a29020037020020074184056a200741a8056a41106a290200370200200741fc046a200741a8056a41086a220a290200370200200720072902a8053702f404200741d4046a200b41086a290200370200200741dc046a200b41106a290200370200200741e4046a200b41186a290200370200200741ec046a200b41206a2802003602002003200328020820086a3602082007200e4101713602f0042007200b2902003702cc04200741063a00c804200741a8056a2001200741c8046a200320042005200610c78d80800020072802ac05210220072802a8054102460d16200741a4066a200a41dc0010e9968080001a200741a8056a200741c8016a200810d6968080000240024020012802282203450d0020012003417f6a36022820012001280224220341016a22044100200128021c220520042005491b6b3602240240200128022020034102746a280200220a200128021822034f0d002001280214200a4107746a220320032d00004108464102746a10a48d80800020032002360204200341083a0000200341086a200741a4066a41dc0010e9968080001a0c020b200a200341cc86c6800010f580808000000b02402001280218220a2001280210470d00200141106a41dc86c6800010e58a8080000b2001280214200a4107746a22032002360204200341083a0000200341086a200741a4066a41dc0010e9968080001a2001200a41016a3602180b20074190096a200741bc056a29020037030020074198096a200741c4056a290200370300200741a0096a200741cc056a290200370300200741a8096a200741d4056a280200360200200720072902b4053703880920072802b005210820072802ac05210520072802a805210441002101410621020c130b20072802d0012208410176220420072802cc0122054b0d0720072802c801210341002101200741d0056a22064100360200200741a8056a200320046a200320056a10c89680800020074190096a200741a8056a41106a29020037030020074188096a41106a200741a8056a41186a29020037030020074188096a41186a200741a8056a41206a29020037030020074188096a41206a2006280200360200200720072902b005370388092002410173210b2008410171210420072802ac05210820072802a8052105410621020c130b2002280230210820074190046a2002412c6a28020036020020074188046a200241246a29020037030020074180046a2002411c6a290200370300200741f8036a200241146a290200370300200741e8036a41086a2002410c6a290200370300200720022902043703e80302400240024002400240200728020c220a4101742007280210220b460d00200b4101762202200a4f0d01200728020820026a2d000021022003200328020841016a36020820082002410f712002410476200b4101711b41246c6a22022d0000210b200241023a0000200b4102460d02200741186a41096a200241096a290000370000200741186a41116a200241116a290000370000200741186a41196a200241196a290000370000200741186a41206a200241206a2800003600002007200b3a001820072002290001370019200741a8056a2001200741186a200320042005200610c88d80800020072802a805210320072d00ac0522014102460d0420022003360204200241003a000020014101710d03200741c8006a200741e8036a41086a290300370000200741d0006a200741e8036a41106a290300370000200741d8006a200741e8036a41186a290300370000200741e0006a200741e8036a41206a290300370000200741e8006a20074190046a280200360000200041073a000420004101360200200720072903e8033700402000200729003d3700052000410d6a2007413d6a41086a290000370000200041156a2007413d6a41106a2900003700002000411d6a2007413d6a41186a290000370000200041256a2007413d6a41206a2900003700002000412c6a200741e4006a290000370000200020083602340c290b200720053602d005200720043602cc05200720053602b005200720043602ac054100210b200741003b01a80520072d00e8034103460d14200741e8036a200741a8056a10a98d808000210b0c140b2002200a418484c6800010f580808000000b2003280208220a41017622062003280204220b4b0d09200741003602ac0820074184086a2003280200220320066a2003200b6a10c896808000200a410171210b0240024020012802282203450d0020012003417f6a36022820012001280224220341016a22064100200128021c220a2006200a491b6b3602240240200128022020034102746a2802002206200128021822034f0d00200128021420064107746a220320032d00004108464102746a10a48d8080002003200b360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a00002003200729028408370238200341c0006a20074184086a41086a290200370200200341c8006a20074194086a290200370200200341d0006a2007419c086a290200370200200341d8006a200741a4086a290200370200200341e0006a200741ac086a2802003602000c020b2006200341cc86c6800010f580808000000b0240200128021822062001280210470d00200141106a41dc86c6800010e58a8080000b200128021420064107746a2203200b360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a00002003200729028408370238200341c0006a20074184086a41086a290200370200200341c8006a20074194086a290200370200200341d0006a2007419c086a290200370200200341d8006a200741a4086a290200370200200341e0006a200741ac086a2802003602002001200641016a3602180b20022006360204200241003a00000b20074198066a200741fc036a29020037030020074190066a41106a20074184046a280200360200200720072902f4033703900620072f00e90320072d00eb034110747221034100210b2007280290042105200728028c042104200728028804210e20072802f003210920072802ec03210a20072d00e8032101410721020c240b2000410236020020002003360204024020072d00e80322004103460d0002400240024020000e020103000b200728028c04220020002802002200417f6a36020020004101470d022007418c046a21000c010b20072802ec03220020002802002200417f6a36020020004101470d01200741e8036a41047221000b200010d0968080000b200841002802a8bfd38000118080808000000c240b200741e8036a41286a200241d8006a290200370300200741e8036a41206a200241d0006a290200370300200741e8036a41186a200241c8006a290200370300200741e8036a41106a200241c0006a290200370300200741e8036a41086a2208200241386a290200370300200720022902303703e803200228022c210e200741c8016a41286a200241286a280200360200200741c8016a41206a200241206a290200370300200741c8016a41186a200241186a290200370300200741c8016a41106a200241106a290200370300200741c8016a41086a200241086a290200370300200720022902003703c801200720072802e803360274200720082802002007280294042202200241284b22021b360270200720072802ec03200741e8036a41047220021b36026c200741086a200741ec006a10d7968080002102200728026c210a024002402002200728027022084101742007280274220d6b220b470d002002200728020c41017420072802106b460d010b02400240024002400240024002402002200b490d00200728021020026a220b4101762208200728020c220a4f0d01200728020820086a2d000021082003200220032802086a41016a360208200e2008410f712008410476200b4101711b41246c6a22022d00002108200241023a000020084102460d02200741a4016a41096a200241096a290000370000200741a4016a41116a200241116a290000370000200741a4016a41196a200241196a290000370000200741a4016a41206a200241206a280000360000200720083a00a401200720022900013700a501200741a8056a2001200741a4016a200320042005200610c88d80800020072802a805210320072d00ac0522014102460d0420022003360204200241003a000020014101710d03200041346a200741ec006a10d5968080002000200e360230200041013602002000412c6a200741f0016a280200360200200041246a200741e8016a2903003702002000411c6a200741e0016a290300370200200041146a200741d8016a2903003702002000410c6a200741d0016a290300370200200020072903c8013702040c050b200d200241016a22096a220c410176220320084b0d0e200741003602d808200741b0086a200a20036a200a20086a10c896808000200741f8006a41286a200741c8016a41286a280200360200200741f8006a41206a200741c8016a41206a290300370300200741f8006a41186a200741c8016a41186a290300370300200741f8006a41106a200741c8016a41106a290300370300200741f8006a41086a200741c8016a41086a290300370300200720072903c801370378200d20026a220d41017622032008490d0520032008418484c6800010f580808000000b2008200a418484c6800010f580808000000b2003280208220b4101762208200328020422064b0d0d2007410036028409200741dc086a2003280200220320086a200320066a10c896808000200b41017121060240024020012802282203450d0020012003417f6a36022820012001280224220341016a22084100200128021c220b2008200b491b6b3602240240200128022020034102746a2802002208200128021822034f0d00200128021420084107746a220320032d00004108464102746a10a48d80800020032006360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a0000200320072902dc08370238200341c0006a200741dc086a41086a290200370200200341c8006a200741ec086a290200370200200341d0006a200741f4086a290200370200200341d8006a200741fc086a290200370200200341e0006a20074184096a2802003602000c020b2008200341cc86c6800010f580808000000b0240200128021822082001280210470d00200141106a41dc86c6800010e58a8080000b200128021420084107746a22032006360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a0000200320072902dc08370238200341c0006a200741dc086a41086a290200370200200341c8006a200741ec086a290200370200200341d0006a200741f4086a290200370200200341d8006a200741fc086a290200370200200341e0006a20074184096a2802003602002001200841016a3602180b20022008360204200241003a00000b200728027422014101762202200728027022034b0d0d4100210b200741003602b00920074188096a200728026c220420026a200420036a10c89680800020074198066a200741e0016a29030037030020074190066a41106a200741e8016a280200360200200720072903d801370390062001410171210820072f00cd0120072d00cf0141107472210320072802f001211120072802ec01210420072802d401210920072802d001210a20072d00cc01210120072f01ca01210c20072d00c901210d20072d00c8012102200e21060c120b2000410236020020002003360204200741c8016a10a78d808000200e41002802a8bfd38000118080808000000b2007280294044129490d2520072802ec0341002802a8bfd38000118080808000000c250b200a20036a2d0000210b41002d00b8bfd380001a41c00441002802b0bfd38000118280808000002206450d0b200c410171210a200641023a009c04200641023a00f803200641023a00d403200641023a00b003200641023a008c03200641023a00e802200641023a00c402200641023a00a002200641023a00fc01200641023a00d801200641023a00b401200641023a009001200641023a006c200641023a0048200641023a0024200641023a0000200741d3056a200741a0016a280200360000200741cb056a20074198016a290300370000200741c3056a200741f8006a41186a290300370000200741bb056a200741f8006a41106a290300370000200741b3056a20074180016a290300370000200720072903783700ab05200141106a210c0240024020012802282203450d0020012003417f6a36022820012001280224220341016a22084100200128021c221120082011491b6b3602240240200128022020034102746a2802002208200128021822034f0d00200141186a2111200128021420084107746a220320032d00004108464102746a10a48d808000200341083a00002003200a3602342003200e360230200320072900a805370001200341096a200741a8056a41086a290000370000200341116a200741a8056a41106a290000370000200341196a200741a8056a41186a290000370000200341216a200741a8056a41206a290000370000200341286a200741cf056a290000370000200320072902b008370238200341c0006a200741b0086a41086a290200370200200341c8006a200741b0086a41106a290200370200200341d0006a200741b0086a41186a290200370200200341d8006a200741b0086a41206a290200370200200341e0006a200741b0086a41286a2802003602000c020b2008200341cc86c6800010f580808000000b0240200128021822082001280210470d00200c41dc86c6800010e58a8080000b200141186a2111200128021420084107746a220341083a0000200320072900a8053700012003200a3602342003200e360230200320072902b008370238200341096a200741a8056a41086a290000370000200341116a200741a8056a41106a290000370000200341196a200741a8056a41186a290000370000200341216a200741a8056a41206a290000370000200341286a200741cf056a290000370000200341c0006a200741b0086a41086a290200370200200341c8006a200741b0086a41106a290200370200200341d0006a200741b0086a41186a290200370200200341d8006a200741b0086a41206a290200370200200341e0006a200741b0086a41286a2802003602002001200841016a3602180b2006200b410f71200b410476200d4101711b41246c6a220320083602044100210d200341003a000002400240200728020c22034101742007280210220b20026a2208470d00200741a8056a200741ec006a200210d69680800020074188096a41086a200741b4056a29020037030020074198096a200741bc056a290200370300200741a0096a200741c4056a290200370300200741a8096a200741a8056a41246a290200370300200741b0096a200741d4056a280200360200200720072902ac05370388092004410876210320072802a8052108200521112005210a20042101410021020c010b2008410176220a20034f0d0e200b20096a220e410176220d20034b0d0d2007280208220b200a6a2d0000210a200741003602e009200741b8096a200b200d6a200b20036a10c896808000200e410171210d0240024020012802282203450d0020012003417f6a36022820012001280224220341016a220b4100200128021c220e200b200e491b6b3602240240200128022020034102746a280200220b200128021822034f0d002001280214200b4107746a220320032d00004108464102746a10a48d8080002003200d360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a0000200320072902b809370238200341c0006a200741b8096a41086a290200370200200341c8006a200741c8096a290200370200200341d0006a200741d0096a290200370200200341d8006a200741d8096a290200370200200341e0006a200741e0096a2802003602000c020b200b200341cc86c6800010f580808000000b02402011280200220b200c280200470d00200c41dc86c6800010e58a8080000b2001280214200b4107746a2203200d360234200320053602302003200436022c200320053602102003200436020c200341003b0108200341053a0004200341083a0000200320072902b809370238200341c0006a200741b8096a41086a290200370200200341c8006a200741c8096a290200370200200341d0006a200741d0096a290200370200200341d8006a200741d8096a290200370200200341e0006a200741e0096a2802003602002001200b41016a3602180b2006200a410f71200a41047620084101711b41246c6a2203200b3602044100210d200341003a0000200741a8056a200741ec006a200210d69680800020074190096a200741b4056a29020037030020074198096a200741bc056a290200370300200741a0096a200741c4056a290200370300200741a8096a200741a8056a41246a290200370300200741b0096a200741d4056a280200360200200720072902ac053703880920072802a8052108410321020b4100210b0c0f0b200720053602b803200720043602b403200720053602980320072004360294034100210b200741003b01900320072d00c8014103460d0d200741c8016a20074190036a10a98d808000210b0c0d0b2002200341f49fcd800010a881808000000b410441c00410b980808000000b2008200c418484c6800010f580808000000b2002200c41f49fcd800010a881808000000b200d200241f49fcd800010a881808000000b2004200541f49fcd800010a881808000000b2006200b41f49fcd800010a881808000000b2003200841f49fcd800010a881808000000b2008200641f49fcd800010a881808000000b2002200341f49fcd800010a881808000000b410441c00410b980808000000b200d200341f49fcd800010a881808000000b200a2003418484c6800010f580808000000b0240024002400240200d410176220c20084b0d002007410036028c0a200741e4096a200a200c6a200a20086a10c896808000200328020421082003280200210a20032802082103200741a8056a41286a200741c8016a41286a280200360200200741a8056a41206a200741c8016a41206a290300370300200741a8056a41186a200741c8016a41186a290300370300200741a8056a41106a200741c8016a41106a290300370300200741a8056a41086a200741c8016a41086a290300370300200720072903c8013703a805200320026a220341017621020240024020034101710d00200220084b0d03200741003a00fc01200720023602f8012007200a3602f4010c010b200220084b0d03200220084f0d04200741013a00fc012007200a3602f401200720023602f8012007200a20026a2d000041f001713a00fd010b20044108762103200d410171210820012006200741a8056a200741f4016a10c68d80800020074188096a41086a200741e4096a41086a29020037030020074188096a41106a200741e4096a41106a29020037030020074188096a41186a200741e4096a41186a29020037030020074188096a41206a200741e4096a41206a29020037030020074188096a41286a200741e4096a41286a280200360200200720072902e409370388094100210d200e2106200521112005210a20042101410021020c040b200c200841f49fcd800010a881808000000b200220084184a1cd800010aa81808000000b200220084194a1cd800010aa81808000000b2002200841a4a1cd800010f580808000000b02402007280294044129490d0020072802ec0341002802a8bfd38000118080808000000b2004210e20062105201121040c130b20072d00ab05210e20072f00a905210c2003280208220d410176210a02400240024002400240200d4101710d00200a2003280204220d4b0d02200741003a0098032007200a3602940320072003280200360290030c010b200a2003280204220d4b0d02200a200d4f0d0320032802002103200741013a00980320072003360290032007200a3602940320072003200a6a2d000041f001713a0099030b200c200e41107472210320012006200241046a20074190036a10c68d8080004100210141072102200521092004210a0c150b200a200d4184a1cd800010aa81808000000b200a200d4194a1cd800010aa81808000000b200a200d41a4a1cd800010f580808000000b4100210b0b20072802bc034129490d1020072802940341002802a8bfd38000118080808000000c100b419484c68000412a41c084c6800010f480808000000b200041023602002000200236020420072802bc034129490d0f20072802940341002802a8bfd38000118080808000000c0f0b200a200728020c41017420072802106b470d00200720053602f003200720043602ec03200741003a00e803200741c8016a200741e8036a10a98d808000210b2003280208200a6a2205410176210220032802042104200328020021030240024020054101710d00200220044b0d05200741003a00b005200720023602ac05200720033602a8050c010b200220044b0d05200220044f0d06200741013a00b005200720033602a805200720023602ac052007200320026a2d000041f001713a00b1050b200120062008200741a8056a10c68d808000200728029403200c20072802bc03220241284b22031b2201200728029803200220031b6a2103200741f4036a21022007280290032108200b0d014100210b200741a8056a41286a22044100360200200741a8056a2001200310fd8e80800020074188096a41286a200428020036020020074188096a41206a200741a8056a41206a29020037030020074188096a41186a200741a8056a41186a29020037030020074188096a41106a200741a8056a41106a29020037030020074188096a41086a200741a8056a41086a290200370300200720072902a805370388090c020b0240200a2002490d00200e4101762202200b4b0d06200741003602a80720074180076a200d20026a200d200b6a10c89680800041002d00b8bfd380001a41c00441002802b0bfd38000118280808000002202450d07200241023a009c04200241023a00f803200241023a00d403200241023a00b003200241023a008c03200241023a00e802200241023a00c402200241023a00a002200241023a00fc01200241023a00d801200241023a00b401200241023a009001200241023a006c200241023a0048200241023a0024200241023a0000200741b0026a41086a200841086a290200370300200741b0026a41106a200841106a290200370300200741b0026a41186a200841186a290200370300200741b0026a41206a200841206a290200370300200741b0026a41286a200841286a280200360200200720082902003703b002200741ec026a20074180076a41086a290200370200200741f4026a20074180076a41106a290200370200200741fc026a20074180076a41186a29020037020020074184036a20074180076a41206a2902003702002007418c036a20074180076a41286a2802003602002007200e4101713602e002200720023602dc0220072007290280073702e402200741a8056a2001200741b0026a200320042005200610c78d80800020072802ac05210220072802a8054102460d0c20074190066a41086a200741c4056a29020037030020074190066a41106a200741cc056a28020036020020074188096a41086a200741e8056a29020037030020074188096a41106a200741f0056a29020037030020074188096a41186a200741f8056a29020037030020074188096a41206a20074180066a29020037030020074188096a41286a20074188066a280200360200200720072902bc0537039006200720072902e005370388092002411076210c2002410876210d20072f00b105200741b3056a2d000041107472210320072802b805210920072802b405210a20072d00b005210120072802d005210e20072802d405210420072802d805210520072802dc0521084100210b0c0b0b41002d00b8bfd380001a41c00441002802b0bfd38000118280808000002202450d07200241023a009c04200241023a00f803200241023a00d403200241023a00b003200241023a008c03200241023a00e802200241023a00c402200241023a00a002200241023a00fc01200241023a00d801200241023a00b401200241023a009001200241023a006c200241023a0048200241023a0024200241023a0000200e200a6a220e410176220c200b4f0d09200e41016a22114101762209200b4b0d08200d200c6a2d0000210c200741003602d407200741ac076a200d20096a200d200b6a10c896808000200741ac026a200841286a280000360000200741a4026a200841206a2900003700002007419c026a200841186a29000037000020074194026a200841106a2900003700002007418c026a200841086a29000037000020072008290000370084022011410171210d0240024020012802282208450d0020012008417f6a36022820012001280224220841016a220b4100200128021c2209200b2009491b6b3602240240200128022020084102746a280200220b200128021822084f0d002001280214200b4107746a220820082d00004108464102746a10a48d808000200841053a0004200841083a00002008200d36023420082007290081023700052008410d6a20074181026a41086a290000370000200841156a20074181026a41106a2900003700002008411d6a20074181026a41186a290000370000200841256a20074181026a41206a2900003700002008412c6a200741a8026a290000370000200820072902ac07370238200841c0006a200741ac076a41086a290200370200200841c8006a200741ac076a41106a290200370200200841d0006a200741ac076a41186a290200370200200841d8006a200741ac076a41206a290200370200200841e0006a200741d4076a2802003602000c020b200b200841cc86c6800010f580808000000b02402001280218220b2001280210470d00200141106a41dc86c6800010e58a8080000b2001280214200b4107746a220841053a0004200841083a000020082007290081023700052008200d360234200820072902ac073702382008410d6a20074181026a41086a290000370000200841156a20074181026a41106a2900003700002008411d6a20074181026a41186a290000370000200841256a20074181026a41206a2900003700002008412c6a200741a8026a290000370000200841c0006a200741ac076a41086a290200370200200841c8006a200741ac076a41106a290200370200200841d0006a200741ac076a41186a290200370200200841d8006a200741ac076a41206a290200370200200841e0006a200741d4076a2802003602002001200b41016a3602180b2002200c410f71200c410476200e4101711b41246c6a2208200b3602044100210b200841003a000020074198046a200741086a200a10d6968080002007200236029404200741033a00e803200741a8056a2001200741e8036a200320042005200610c78d80800020072802ac05210220072802a8054102460d0b20074190066a41086a200741c4056a29020037030020074190066a41106a200741a8056a41246a28020036020020074188096a41086a200741e8056a29020037030020074188096a41106a200741f0056a290200370300200741a0096a200741f8056a290200370300200741a8096a20074180066a290200370300200741b0096a20074188066a280200360200200720072902bc0537039006200720072902e005370388092002411076210c2002410876210d20072f00b105200741b3056a2d000041107472210320072802b805210920072802b405210a20072d00b005210120072802d005210e20072802d405210420072802d805210520072802dc0521080c0a0b200741a8056a41286a22044100360200200741a8056a2001200310fd8e80800020074188096a41286a200428020036020020074188096a41206a200741a8056a41206a29020037030020074188096a41186a200741a8056a41186a29020037030020074188096a41106a200741a8056a41106a29020037030020074188096a41086a200741a8056a41086a290200370300200720072902a805370388094101210b0b20074190066a41086a200241086a29020037030020074190066a41106a200241106a280200360200200720022902003703900620072f00e90320072d00eb0341107472210320072802f003210920072802ec03210a20072d00e8032101200728028804210e200728028c0421042007280290042105410521020c080b200220044184a1cd800010aa81808000000b200220044194a1cd800010aa81808000000b2002200441a4a1cd800010f580808000000b2002200b41f49fcd800010a881808000000b410441c00410b980808000000b410441c00410b980808000000b2009200b41f49fcd800010a881808000000b200c200b418484c6800010f580808000000b20072802bc034129490d0120072802940341002802a8bfd38000118080808000000c010b200041023602002000200236020420072802bc034129490d0120072802940341002802a8bfd38000118080808000000c010b200020033b0009200020093602102000200a36020c200020013a00082000200c3b01062000200d3a0005200020023a00042000200b360200200020072903900637021420002008360234200020053602302000200436022c2000200e3602282000410b6a20034110763a00002000411c6a20074190066a41086a290300370200200041246a20074190066a41106a280200360200200041e0006a200741b0096a280200360200200041d8006a200741a8096a290300370200200041d0006a200741a0096a290300370200200041c8006a20074188096a41106a290300370200200041c0006a20074188096a41086a29030037020020002007290388093702380b200741900a6a2480808080000ba11403047f017e167f23808080800041a0036b2207248080808000200720053602142007200436021002400240024020022d00000d00200228020421020c010b200741306a200241196a290000370300200741286a200241116a290000370300200741206a200241096a290000370300200720022900013703182003280208220841017621020240024002400240024020084101710d002002200328020422084b0d02200741003a00dc01200720023602d801200720032802003602d4010c010b2002200328020422084b0d02200220084f0d0320032802002108200741013a00dc01200720083602d401200720023602d8012007200820026a2d000041f001713a00dd010b200741086a2001200741186a200741d4016a10c98d808000200728020c21022007280208450d03200041023a000420002002360200200420042802002201417f6a36020020014101470d04200741106a10d0968080000c040b200220084184a1cd800010aa81808000000b200220084194a1cd800010aa81808000000b2002200841a4a1cd800010f580808000000b024020012802282209200128021c2208470d002001411c6a41ec86c6800010ff8c808000200128021c2108200128022821090b2001280220200128022420096a22094100200820092008491b6b4102746a20023602002001200128022841016a36022802400240024002402001280218220820024d0d00200128021420024107746a22022d00002108200741396a200241016a41df0010e9968080001a200241043a0004200241083a0000200228026021090240024020084108470d00200741d4016a2007413c6a41dc0010e9968080001a200720033602b802200720093602b002200720013602b402200741bc026a2001200741d4016a200320042005200610c78d80800020072802c002210220072802bc0222034102460d05200728029c03210a200729029403210b2007280290032105200728028c0321082007280288032106200728028403210c200728028003210d20072802fc02210e20072802f802210f20072802f402211020072802f002211120072802ec02211220072802e802211320072802e402211420072802e002211520072802dc02211620072802d802211720072802d402211820072802d002211920072802cc02211a20072802c802211b20072802c402211c200345211d41082103410021040c010b2003280208210a2003280204211d2003280200211c200741d4016a410172200741396a41df0010e9968080001a200741d0016a200241fc006a280000360200200741c8016a200241f4006a290000370300200741b8016a41086a200241ec006a290000370300200720013602b402200720033602b802200720083a00d401200720022900643703b801200741bc026a2001200741d4016a200320042005200610c78d80800020072802c002210220072802bc0222034102460d04200729029803210b200728029403211e2007280290032105200728028c0321082007280288032106200728028403210c200728028003210d20072802fc02210e20072802f802210f20072802f402211020072802f002211120072802ec02211220072802e802211320072802e402211420072802e002211520072802dc02211620072802d802211720072802d402211820072802d002211920072802cc02211a20072802c802211b20072802c402211f024020030d00200a410176210302400240200a4101710d0002402003201d4b0d004100211d0c020b2003201d4184a1cd800010aa81808000000b2003201d4b0d042003201d4f0d05201c20036a2d000041707121204101211d0b200b422088a7210a41002104200741bc026a41286a22214100360200200741bc026a201c201c20036a10c896808000200741f4016a221c41286a2021280200360200201c41206a200741bc026a41206a290200370200201c41186a200741bc026a41186a290200370200201c41106a200741bc026a41106a29020037020041082103201c41086a200741bc026a41086a290200370200201c20072902bc02370200200741e0016a200741b8016a41086a290300370200200741e8016a200741b8016a41106a290300370200200741f0016a200741b8016a41186a280200360200200720203a00a1022007201d3a00a002200720093602d401200720072903b8013702d801200141dc006a200741d4016a10da8a8080001a200b422086201ead84210b4101211d201f211c0c010b20074198016a41186a200741b8016a41186a28020036020020074198016a41106a200741b8016a41106a29030037030020074198016a41086a200741b8016a41086a290300370300200720072903b80137039801200241ff01712103200241807e7121044100211d201b211c201a211b2019211a201821192017211820162117201521162014211520132114201221132011211220102111200f2110201f2102200e210f200d210e200c210d2006210c2008210620052108201e21052009210a0b200320047221090240024020012802282203450d0020012003417f6a36022820012001280224220341016a22044100200128021c221e2004201e491b6b3602240240200128022020034102746a2802002204200128021822034f0d00200128021420044107746a220120012d00004108464102746a10a48d8080002001200a3602602001200b37025820012005360254200120083602502001200636024c2001200c3602482001200d3602442001200e3602402001200f36023c2001201036023820012011360234200120123602302001201336022c2001201436022820012015360224200120163602202001201736021c20012018360218200120193602142001201a3602102001201b36020c2001201c3602082001200236020420012009360200200141fc006a200741b0016a280200360200200141f4006a200741a8016a290300370200200141ec006a20074198016a41086a29030037020020012007290398013702640c020b2004200341cc86c6800010f580808000000b0240200128021822042001280210470d00200141106a41dc86c6800010e58a8080000b200128021420044107746a2203200a3602602003200b37025820032005360254200320083602502003200636024c2003200c3602482003200d3602442003200e3602402003200f36023c2003201036023820032011360234200320123602302003201336022c2003201436022820032015360224200320163602202003201736021c20032018360218200320193602142003201a3602102003201b36020c2003201c3602082003200236020420032009360200200341fc006a200741b0016a280200360200200341f4006a200741a8016a290300370200200341ec006a200741a0016a29030037020020032007290398013702642001200441016a3602180b2000201d3a0004200020043602000c040b2002200841fc86c6800010f580808000000b2003201d4194a1cd800010aa81808000000b2003201d41a4a1cd800010f580808000000b200041023a0004200020023602000b200741a0036a2480808080000bbf0901057f2380808080004180026b2204248080808000024002400240024002400240024020012802682205450d0020052002200128026c2802181184808080000022050d010b20044180016a20012802502002200320012802542802141183808080000002402004280280012206418080808078470d0041002d00b8bfd380001a413041002802b0bfd38000118280808000002205450d042005418580808078360200200520022900003700042005410c6a200241086a290000370000200541146a200241106a2900003700002005411c6a200241186a290000370000410121010c060b2004280288012105200428028401210302402001280200450d0020012802040d022001417f36020420012802082107200128020c2108200441a8016a200241186a290000370200200441a0016a200241106a29000037020020044180016a41186a200241086a2900003702002004200536028c0120042003360288012004428280808088808080807f370280012004200229000037029001200720044180016a200828020c118b80808000002001200128020441016a3602040b200441e0006a41186a200241186a290000370300200441e0006a41106a200241106a290000370300200441e0006a41086a200241086a2900003703002004200229000037036020044180016a200441e0006a20032005200141106a10ac8d808000024020042d00800122054108460d00200420042d0083013a0003200420042f0081013b00012004280284012107200441086a20044180016a41086a41d80010e9968080001a20042007360204200420053a00002006450d05200341002802a8bfd38000118080808000000c050b2004280284012105410121012006450d05200341002802a8bfd38000118080808000000c050b02402001280200450d0020012802040d022001417f36020420012802082103200128020c2106200441a0016a200241186a29000037020020044180016a41186a200241106a29000037020020044180016a41106a200241086a29000037020020042005360284012004418180808078360280012004200229000037028801200320044180016a200628020c118b80808000002001200128020441016a3602040b20042005200141106a10b58d8080000c030b41d084c68000108081808000000b41e084c68000108081808000000b4104413010b980808000000b200441f8016a200241186a290000370200200441f0016a200241106a290000370200200441e8016a200241086a290000370200200420022900003702e00120044180016a200441e00010e9968080001a0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22054100200128021c220320052003491b6b3602240240200128022020024102746a2802002205200128021822024f0d00200128021420054107746a220120012d00004108464102746a10a48d808000200120044180016a41800110e9968080001a0c020b2005200241cc86c6800010f580808000000b0240200128021822052001280210470d00200141106a41dc86c6800010e58a8080000b200128021420054107746a20044180016a41800110e9968080001a2001200541016a3602180b410021010b200020053602042000200136020020044180026a2480808080000bbf0901057f2380808080004180026b2204248080808000024002400240024002400240024020012802682205450d0020052002200128026c2802181184808080000022050d010b20044180016a20012802502002200320012802542802141183808080000002402004280280012206418080808078470d0041002d00b8bfd380001a413041002802b0bfd38000118280808000002205450d042005418580808078360200200520022900003700042005410c6a200241086a290000370000200541146a200241106a2900003700002005411c6a200241186a290000370000410121010c060b2004280288012105200428028401210302402001280200450d0020012802040d022001417f36020420012802082107200128020c2108200441a8016a200241186a290000370200200441a0016a200241106a29000037020020044180016a41186a200241086a2900003702002004200536028c0120042003360288012004428280808088808080807f370280012004200229000037029001200720044180016a200828020c118b80808000002001200128020441016a3602040b200441e0006a41186a200241186a290000370300200441e0006a41106a200241106a290000370300200441e0006a41086a200241086a2900003703002004200229000037036020044180016a200441e0006a20032005200141106a10b08d808000024020042d00800122054108460d00200420042d0083013a0003200420042f0081013b00012004280284012107200441086a20044180016a41086a41d80010e9968080001a20042007360204200420053a00002006450d05200341002802a8bfd38000118080808000000c050b2004280284012105410121012006450d05200341002802a8bfd38000118080808000000c050b02402001280200450d0020012802040d022001417f36020420012802082103200128020c2106200441a0016a200241186a29000037020020044180016a41186a200241106a29000037020020044180016a41106a200241086a29000037020020042005360284012004418180808078360280012004200229000037028801200320044180016a200628020c118b80808000002001200128020441016a3602040b20042005200141106a10b48d8080000c030b41d084c68000108081808000000b41e084c68000108081808000000b4104413010b980808000000b200441f8016a200241186a290000370200200441f0016a200241106a290000370200200441e8016a200241086a290000370200200420022900003702e00120044180016a200441e00010e9968080001a0240024020012802282202450d0020012002417f6a36022820012001280224220241016a22054100200128021c220320052003491b6b3602240240200128022020024102746a2802002205200128021822024f0d00200128021420054107746a220120012d00004108464102746a10a48d808000200120044180016a41800110e9968080001a0c020b2005200241cc86c6800010f580808000000b0240200128021822052001280210470d00200141106a41dc86c6800010e58a8080000b200128021420054107746a20044180016a41800110e9968080001a2001200541016a3602180b410021010b200020053602042000200136020020044180026a2480808080000bc18c0105107f017e017f047e397f23808080800041a0096b220524808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020022d00002206417c6a41ff01712207410420074104491b417e6a0e03030102000b2000200241e00010e9968080001a0c220b200241056a210820022d000421092002280230220a2d00004102460d0241002106410121070c030b200541a0036a200241c4006a290200370300200541a8036a200241cc006a290200370300200541b0036a200241d4006a2902003703002005200229023c3703980341012107200241016a2108200241306a2109200228025c210b2002280238210c2002280234210d2002280230210e200228022c220a2d00004102460d064100210f0c070b20054198036a41286a200241d0006a290200370300200541b8036a200241c8006a29020037030020054198036a41186a200241c0006a29020037030020054198036a41106a200241386a29020037030020054198036a41086a200241306a2902003703002005200229022837039803200541e6036a200241076a2d00003a0000200541c8036a41086a200241146a290200370300200541c8036a41106a2002411c6a290200370300200541c8036a41186a200241246a280200360200200520022f00053b01e4032005200229020c3703c80320022d00042106200228020821102003280200210a2003280204210820032802082109024002400240024002400240024002400240024020040d0020052802a00320052802c4032204200441284b1b2207417f6a210f2007450d14200741017420096a200528029803417f736a22094101762107200528029c0320054198036a410472200441284b1b200f6a2d0000410f71210f024020094101710d00200720084d0d02200720084184a1cd800010aa81808000000b200720084b0d1520072008490d022007200841a4a1cd800010f580808000000b2009410176210702400240200941017122040d00200720084d0d01200720084184a1cd800010aa81808000000b200720084b0d16200720084f0d17200a20076a2d000021090b200542003702a001200541003602c004200520073602bc042005200a3602b804200541f8006a200541b8046a4100200510df968080001a2004450d06200941f00171210820052d00a4014101710d04200541f8006a41046a2104200541f8006a4104412820052802a001220b41284b22091b6a280200220f200b412820091b460d022004200541f8006a41286a20091b21042005280278200541f8006a20091b21090c030b41002104200541003602e803200f4104742111200541e8036a41046a2112410121080c070b200a20076a22042d0000210941002108200541f8006a41286a220b4100360200200541f8006a200a200410fd8e808000200541b8046a41286a220c200b280200220b360200200541b8046a41206a220e200541f8006a41206a290200370300200541b8046a41186a220d200541f8006a41186a290200370300200541b8046a41106a2213200541f8006a41106a290200370300200541b8046a41086a2214200541f8006a41086a2902003703002005200529027822153703b804200541b8046a41047221042009417071200f72211602400240200541b8046a41044128200b41284b22091b6a280200220f200b412820091b460d002004200c20091b21042015a7200541b8046a20091b21090c010b200541b8046a10ff8e80800020052802bc04210f20052802b80421090b2009200f6a20163a00002004200428020041016a36020020054190066a41086a2014290300221537030020054190066a41106a2013290300221737030020054190066a41186a200d290300221837030020054190066a41206a200e290300221937030020054190066a41286a200c2802002204360200200520052903b804221a37039006200541f4036a2015370200200541fc036a201737020020054184046a20183702002005418c046a201937020020054194046a2004360200200541013602e8032005201a3702ec03200541e8036a41046a21120c050b200541f8006a10ca96808000200528027c210f200528027821090b2009200f6a20083a00002004200428020041016a3602000c010b200528027c20052802a0012204200441284b22041b2209450d122005280278200541f8006a20041b20096a417f6a220420042d00002008410476723a00000b200520052802a40141016a3602a4010b20052005280298033602c004200520052802a00320052802c4032204200441284b22041b3602bc042005200528029c0320054198036a41047220041b3602b804200541f8006a200541b8046a4100200510df968080001a20052802a401220841017621040240024020084101710d00200528027c20052802a0012209200941284b22091b220f2004490d132005280278200541f8006a20091b21090c010b200528027c20052802a0012209200941284b1b220f2004490d13200f20044d0d142005280278200541f8006a200941284b1b220920046a2d000041707121110b200541b8046a41286a220f4100360200200541b8046a2009200920046a10fd8e80800020054190066a41286a2204200f28020036020020054190066a41206a2209200541b8046a41206a29020037030020054190066a41186a220f200541b8046a41186a29020037030020054190066a41106a220b200541b8046a41106a29020037030020054190066a41086a220c200541b8046a41086a290200370300200520052902b80437039006024020052802a0014129490d00200528027841002802a8bfd38000118080808000000b200541f4036a200c290300370200200541fc036a200b29030037020020054184046a200f2903003702002005418c046a200929030037020020054194046a2004280200360200200541013602e80320052005290390063702ec03200541ec036a21120b20052802f0032005280294042204200441284b22041b210920052802ec03201220041b21040b2009200720041b211b2008410171211c2004200a20041b211d024020064101710d00024020012802282204200128021c2207470d002001411c6a41ec86c6800010ff8c808000200128021c2107200128022821040b2001280220200128022420046a22044100200720042007491b6b4102746a20103602002001200128022841016a3602282001280218220720104b0d1d2010200741fc86c6800010f580808000000b20054198046a41026a200541e4036a41026a2d00003a0000200541a7046a200541c8036a41086a290300370000200541af046a200541d8036a290300370000200541b7046a200541e0036a2d00003a0000200520052f01e4033b0198042005201036009b04200520052903c80337009f04200520113a0081012005201c3a0080012005201b36027c2005201d360278200541086a200120054198046a200541f8006a10ca8d808000200528020c21102005280208450d1b200041083a000020002010360204024020052802e803450d0020122802284129490d0020052802ec0341002802a8bfd38000118080808000000b20052802c4034129490d09200528029c0341002802a8bfd38000118080808000000c090b0240200a2d00244102460d0041012106410221070c010b410221060240200a2d00484102460d00410321070c010b0240200a2d006c4102460d0041032106410421070c010b0240200a2d0090014102460d0041042106410521070c010b0240200a2d00b4014102460d0041052106410621070c010b0240200a2d00d8014102460d0041062106410721070c010b0240200a2d00fc014102460d0041072106410821070c010b0240200a2d00a0024102460d0041082106410921070c010b0240200a2d00c4024102460d0041092106410a21070c010b0240200a2d00e8024102460d00410a2106410b21070c010b0240200a2d008c034102460d00410b2106410c21070c010b0240200a2d00b0034102460d00410c2106410d21070c010b0240200a2d00d4034102460d00410d2106410e21070c010b0240200a2d00f8034102460d00410e2106410f21070c010b200a2d009c044102460d01410f2106411021070b200741246c2107024002400340200741246a220441e404460d01200a20076a21102004210720102d00004102460d000c020b0b200941ff01714103460d020b2000200a360230200020093a0004200041073a0000200020082900003700052000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a2900003700000c1b0b200941ff01714103460d17200020082900003700052000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a290000370000200541003602800120054201370278200041306a200541f8006a10d596808000200020093a0004200041053a00000c010b2005410036029c09200520063a0078200541f4086a200541f8006a200541f8006a41016a10c896808000200a200641246c6a22072d00002104200741023a000020044102460d0e200541186a41246a200741206a280000360000200541356a200741196a2900003700002005412d6a200741116a290000370000200541256a200741096a290000370000200541cc006a200541fc086a290200370200200541d4006a20054184096a290200370200200541dc006a2005418c096a290200370200200541e4006a200541f4086a41206a290200370200200541ec006a2005419c096a28020036020020054101360240200520052902f4083702442005200729000137001d200541063a0018200520043a001c20002001200541186a2003410010cb8d8080000b200a41002802a8bfd38000118080808000000c180b0240200a2d00244102460d004101210f410221070c010b4102210f0240200a2d00484102460d00410321070c010b0240200a2d006c4102460d004103210f410421070c010b0240200a2d0090014102460d004104210f410521070c010b0240200a2d00b4014102460d004105210f410621070c010b0240200a2d00d8014102460d004106210f410721070c010b0240200a2d00fc014102460d004107210f410821070c010b0240200a2d00a0024102460d004108210f410921070c010b0240200a2d00c4024102460d004109210f410a21070c010b0240200a2d00e8024102460d00410a210f410b21070c010b0240200a2d008c034102460d00410b210f410c21070c010b0240200a2d00b0034102460d00410c210f410d21070c010b0240200a2d00d4034102460d00410d210f410e21070c010b0240200a2d00f8034102460d00410e210f410f21070c010b200a2d009c044102460d01410f210f411021070b200741246c2107024002400340200741246a220441e404460d01200a20076a21102004210720102d00004102460d000c020b0b200641ff01714103460d020b2000200929020037023020002008290000370001200041d8006a200941286a290200370200200041d0006a200941206a290200370200200041c8006a200941186a290200370200200041c0006a200941106a290200370200200041386a200941086a290200370200200041096a200841086a290000370000200041116a200841106a290000370000200041196a200841186a290000370000200041216a200841206a290000370000200041286a200841276a2800003600002000200a36022c200020063a00000c160b200641ff01714103460d1120002008290000370005200020092902003702302000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a290000370000200041386a200941086a290200370200200041c0006a200941106a290200370200200041c8006a200941186a290200370200200041d0006a200941206a290200370200200041d8006a200941286a290200370200200020063a0004200041053a00000c100b200a200f41246c6a22072d00002110200741023a000020104102460d0a20072802042108200541cc086a41026a200741036a2d00003a0000200541d0036a200741106a290200370300200541c8036a41106a200741186a290200370300200541c8036a41186a200741206a280200360200200520072f00013b01cc08200520072902083703c8032003280208200c200b200b41284b1b410174200e6b6a2209410176210720032802042104200328020021030240024002400240200941017122090d00200720044d0d01200720044184a1cd800010aa81808000000b200720044b0d0e20072004490d012007200441a4a1cd800010f580808000000b410021042005410036029805200f41047421130c010b200320076a22042d00002106200541f8006a41286a22134100360200200541f8006a2003200410fd8e808000200541b8046a41286a221420132802002213360200200541b8046a41206a221e200541f8006a41206a290200370300200541b8046a41186a221f200541f8006a41186a290200370300200541b8046a41106a2220200541f8006a41106a290200370300200541b8046a41086a2221200541f8006a41086a2902003703002005200529027822153703b804200541b8046a41047221042006417071200f72212202400240200541b8046a41044128201341284b22061b6a28020022162013412820061b460d002004201420061b21042015a7200541b8046a20061b21060c010b200541b8046a10ff8e80800020052802bc04211620052802b80421060b200620166a20223a00002004200428020041016a360200200541c4056a20142802002206360200200541bc056a201e290300370200200541b4056a201f290300370200200541ac056a2020290300370200200541a4056a2021290300370200200520052903b804221537029c0520054101360298052015a720054198056a41046a200641284b22131b210420052802a005200620131b21060b2006200720041b2106200941017321092004200320041b2107024020104101710d00024020012802282210200128021c2204470d002001411c6a41ec86c6800010ff8c808000200128021c2104200128022821100b2001280220200128022420106a22104100200420102004491b6b4102746a20083602002001200128022841016a3602282001280218220420084d0d0d200541f8006a200128021420084107746a220441800110e9968080001a200441043a0004200441083a00000c0f0b200541f8016a41026a200541cc086a41026a2d00003a000020054187026a200541c8036a41086a2903003700002005418f026a200541c8036a41106a29030037000020054197026a200541e0036a2d00003a0000200520052f01cc083b01f801200520083600fb01200520052903c8033700ff01200520133a00c104200520093a00c004200520063602bc04200520073602b804200541106a2001200541f8016a200541b8046a10ca8d808000200528021421042005280210450d0d200041083a0000200020043602040240200528029805450d0020052802c4054129490d00200528029c0541002802a8bfd38000118080808000000b200a41002802a8bfd3800011808080800000200b4129490d00200d41002802a8bfd38000118080808000000b20022d0000417c6a41ff01712207410420074104491b417e6a41ff01714103490d150c140b200f200741f084c6800010f580808000000b200720084194a1cd800010aa81808000000b200720084194a1cd800010aa81808000000b2007200841a4a1cd800010f580808000000b41aca2cd8000413a41e8a2cd8000108b81808000000b2004200f41bca3cd800010aa81808000000b2004200f41cca3cd800010aa81808000000b2004200f41dca3cd800010f580808000000b41c085c68000412441e485c68000108b81808000000b41c085c680004124418486c68000108b81808000000b200720044194a1cd800010aa81808000000b2008200441fc86c6800010f580808000000b200541f8006a200141106a200410cc8d8080000b0240024020052d007822044108470d00200541c8026a41086a20054185016a290000370300200541c8026a41106a2005418d016a290000370300200541c8026a41186a20054195016a290000370300200541c8026a41206a2005419d016a290000370300200541ef026a200541a4016a28000036000020054198026a41086a200541b4016a29020037030020054198026a41106a200541bc016a29020037030020054198026a41186a200541c4016a29020037030020054198026a41206a200541cc016a290200370300200541c0026a200541d4016a2902003703002005200529007d3703c802200520052902ac013703980220052802a801211020052d007c21040c010b200541ef026a200541f8006a41286a280000360000200541c8026a41206a20054199016a290000370300200541c8026a41186a20054191016a290000370300200541c8026a41106a20054189016a290000370300200541c8026a41086a20054181016a29000037030020054198026a41086a200541f8006a41306a221041086a29020037030020054198026a41106a201041106a29020037030020054198026a41186a201041186a29020037030020054198026a41206a201041206a29020037030020054198026a41286a201041286a290200370300200520052900793703c802200520102902003703980220052802a4012110200541f8026a41186a2203200541f0016a290200370300200541f8026a41106a2208200541e8016a290200370300200541f8026a41086a2214200541e0016a290200370300200520052902d8013703f80220054190066a41286a2216410036020020054190066a2007200720066a10fd8e80800020054180056a2016280200360200200541f8046a20054190066a41206a290200370300200541f0046a20054190066a41186a290200370300200541b8046a41306a20054190066a41106a290200370300200541b8046a41286a20054190066a41086a290200370300200541b8046a41086a2014290300370300200541b8046a41106a2008290300370300200541b8046a41186a200329030037030020052005290290063703d804200520052903f8023703b804200520133a008505200520093a008405200141dc006a200541b8046a10da8a8080001a0b02400240024002402004417c6a41ff01712207410420074104491b417f6a0e0401000002000b419486c68000412841bc86c6800010f480808000000b20054190066a41286a20054198026a41286a29030037030020054190066a41206a20054198026a41206a29030037030020054190066a41186a20054198026a41186a29030037030020054190066a41106a20054198026a41106a29030037030020054190066a41086a220720054198026a41086a290300370300200520052903980237039006200541b8046a41086a2204200c360200200541cc046a20054198036a41086a290300370200200541d4046a20054198036a41106a290300370200200541dc046a20054198036a41186a2903003702002005200d3602bc042005200e3602b80420052005290398033702c4042005200b3602e404200541013602f003200541013602e8032005200f3a00c8082005200541c8086a3602ec03200541b8046a200541e8036a10e1968080002005200728020020052802bc062207200741284b22071b3602f003200520052802940620054190066a41047220071b3602ec0320052005280290063602e803200541b8046a200541e8036a10e196808000200041d8006a200541b8046a41286a290200370200200041d0006a200541b8046a41206a290200370200200041c8006a200541b8046a41186a290200370200200041c0006a200541b8046a41106a290200370200200041386a2004290200370200200020052902b804370230200541e8036a410b6a200541c8026a410b6a290000370000200541e8036a41136a200541c8026a41136a290000370000200541e8036a411b6a200541c8026a411b6a290000370000200541e8036a41236a200541c8026a41236a290000370000200520052900cb023700eb03200041053a00002000201036022c200020052900e803370001200041096a200541e8036a41086a290000370000200041116a200541e8036a41106a290000370000200041196a200541e8036a41186a290000370000200041216a200541e8036a41206a290000370000200041286a2005418f046a28000036000020052802bc064129490d0120052802940641002802a8bfd38000118080808000000c010b200020043a0000200020052903c80237000120054190066a41286a20054198026a41286a29030037030020054190066a41206a20054198026a41206a29030037030020054190066a41186a20054198026a41186a29030037030020054190066a41106a20054198026a41106a29030037030020054190066a41086a220720054198026a41086a290300370300200041096a200541c8026a41086a290300370000200041116a200541c8026a41106a290300370000200041196a200541c8026a41186a290300370000200041216a200541c8026a41206a290300370000200041286a200541ef026a280000360000200520052903980237039006200541b8046a41086a2204200c360200200541cc046a20054198036a41086a290300370200200541d4046a20054198036a41106a290300370200200541dc046a20054198036a41186a2903003702002005200d3602bc042005200e3602b80420052005290398033702c4042005200b3602e404200541013602f003200541013602e8032005200f3a00c8082005200541c8086a3602ec03200541b8046a200541e8036a10e1968080002005200728020020052802bc062207200741284b22071b3602f003200520052802940620054190066a41047220071b3602ec0320052005280290063602e803200541b8046a200541e8036a10e196808000200041d8006a200541b8046a41286a290200370200200041d0006a200541b8046a41206a290200370200200041c8006a200541b8046a41186a290200370200200041c0006a200541b8046a41106a290200370200200041386a2004290200370200200020052902b8043702302000201036022c20052802bc064129490d0020052802940641002802a8bfd38000118080808000000b200528029805450d0020052802c4054129490d00200528029c0541002802a8bfd38000118080808000000b200a41002802a8bfd38000118080808000000c040b418085c68000412f41f485c6800010f480808000000b418085c68000412f41b085c6800010f480808000000b024020012802282204200128021c2207470d002001411c6a41ec86c6800010ff8c808000200128021c2107200128022821040b2001280220200128022420046a22044100200720042007491b6b4102746a20103602002001200128022841016a3602282001280218220720104b0d002010200741fc86c6800010f580808000000b200128021420104107746a22072d0060212320072d005c210420072d0058211020072d0054210820072d0050210920072d004c210620072d0048210b20072d0044210c20072d0040210e20072d003c211320072d0038211420072d0034211620072d0030211f20072d002c212020072d0028212120072d0024212420072d0020212520072d001c212620072d0018212720072d0014212220072d0010211e20072d000c210d20072d0008210f20072d0004210a20072d00002128200741043a0004200741083a0000200741e1006a2129200741dd006a212a200741d9006a212b200741d5006a212c200741d1006a212d200741cd006a212e200741c9006a212f200741c5006a2130200741c1006a21312007413d6a2132200741396a2133200741356a2134200741316a21352007412d6a2136200741296a2137200741256a2138200741216a21392007411d6a213a200741196a213b200741156a213c200741116a213d2007410d6a213e200741096a213f200741056a21400240024020284108460d00200541f8006a41026a200741036a2d00003a000020054190066a41026a204041026a2d00003a000020054198056a41026a203f41026a2d00003a0000200541cc086a41026a203e41026a2d00003a0000200541c8086a41026a203d41026a2d00003a0000200520072f00013b0178200520402f00003b0190062005203f2f00003b0198052005203e2f00003b01cc082005203d2f00003b01c808200541c4086a41026a203c41026a2d00003a0000200541c0086a41026a203b41026a2d00003a0000200541bc086a41026a203a41026a2d00003a0000200541b8086a41026a203941026a2d00003a0000200541b4086a41026a203841026a2d00003a00002005203c2f00003b01c4082005203b2f00003b01c0082005203a2f00003b01bc08200520392f00003b01b808200520382f00003b01b408200541b0086a41026a203741026a2d00003a0000200520372f00003b01b008200541ac086a41026a203641026a2d00003a0000200520362f00003b01ac08200541a8086a41026a203541026a2d00003a0000200520352f00003b01a808200541a4086a41026a203441026a2d00003a0000200520342f00003b01a408200541a0086a41026a203341026a2d00003a0000200520332f00003b01a0082005419c086a41026a203241026a2d00003a0000200520322f00003b019c0820054198086a41026a203141026a2d00003a0000200520312f00003b01980820054194086a41026a203041026a2d00003a0000200520302f00003b01940820054190086a41026a202f41026a2d00003a00002005202f2f00003b0190082005418c086a41026a202e41026a2d00003a00002005202e2f00003b018c0820054188086a41026a202d41026a2d00003a00002005202d2f00003b01880820054184086a41026a202c41026a2d00003a00002005202c2f00003b01840820054180086a41026a202b41026a2d00003a00002005202b2f00003b018008200541fc076a41026a202a41026a2d00003a00002005202a2f00003b01fc07200541f0086a41026a202941026a2d00003a0000200520292f00003b01f008200541e8086a200741fc006a280000360200200541e0086a200741f4006a290000370300200541d0086a41086a200741ec006a290000370300200520072900643703d0082010213f20282140200821102009210820062109200b2106200c210b200e210c2013210e2014211320162114201f21162020211f20212120202421212025212420262125202721260c010b200541f8006a41026a204041026a2d00003a000020054190066a41026a203f41026a2d00003a000020054198056a41026a203e41026a2d00003a0000200541cc086a41026a203d41026a2d00003a0000200541c8086a41026a203c41026a2d00003a0000200520402f00003b01782005203f2f00003b0190062005203e2f00003b0198052005203d2f00003b01cc082005203c2f00003b01c808200541c4086a41026a203b41026a2d00003a0000200541c0086a41026a203a41026a2d00003a0000200541bc086a41026a203941026a2d00003a0000200541b8086a41026a203841026a2d00003a0000200541b4086a41026a203741026a2d00003a00002005203b2f00003b01c4082005203a2f00003b01c008200520392f00003b01bc08200520382f00003b01b808200520372f00003b01b408200541b0086a41026a203641026a2d00003a0000200520362f00003b01b008200541ac086a41026a203541026a2d00003a0000200520352f00003b01ac08200541a8086a41026a203441026a2d00003a0000200520342f00003b01a808200541a4086a41026a203341026a2d00003a0000200520332f00003b01a408200541a0086a41026a203241026a2d00003a0000200520322f00003b01a0082005419c086a41026a203141026a2d00003a0000200520312f00003b019c0820054198086a41026a203041026a2d00003a0000200520302f00003b01980820054194086a41026a202f41026a2d00003a00002005202f2f00003b01940820054190086a41026a202e41026a2d00003a00002005202e2f00003b0190082005418c086a41026a202d41026a2d00003a00002005202d2f00003b018c0820054188086a41026a202c41026a2d00003a00002005202c2f00003b01880820054184086a41026a202b41026a2d00003a00002005202b2f00003b01840820054180086a41026a202a41026a2d00003a00002005202a2f00003b018008200541fc076a41026a202941026a2d00003a0000200520292f00003b01fc072004213f20232104200a2140200f210a200d210f201e210d2022211e202721220b200541bf046a20054190066a41026a2d00003a0000200541c3046a20054198056a41026a2d00003a0000200541c7046a200541cc086a41026a2d00003a0000200520052f01783b00b9042005200a3a00bc04200520052f0190063b00bd042005200f3a00c004200520052f0198053b00c1042005200d3a00c404200520052f01cc083b00c5042005200541f8006a41026a2d00003a00bb04200520403a00b804200541cb046a200541c8086a41026a2d00003a0000200541cf046a200541c4086a41026a2d00003a0000200541d3046a200541c0086a41026a2d00003a0000200541d7046a200541bc086a41026a2d00003a00002005201e3a00c804200520223a00cc04200520263a00d004200520253a00d404200520052f01c8083b00c904200520052f01c4083b00cd04200520052f01c0083b00d104200520052f01bc083b00d504200541db046a200541b8086a41026a2d00003a0000200541df046a200541b4086a41026a2d00003a0000200541e3046a200541b0086a41026a2d00003a0000200541e7046a200541ac086a41026a2d00003a0000200520243a00d804200520213a00dc04200520203a00e0042005201f3a00e404200520052f01b8083b00d904200520052f01b4083b00dd04200520052f01b0083b00e104200520052f01ac083b00e504200520163a00e804200541eb046a200541a8086a41026a2d00003a0000200520052f01a8083b00e904200520143a00ec04200541ef046a200541a4086a41026a2d00003a0000200520052f01a4083b00ed04200520133a00f004200541f3046a200541a0086a41026a2d00003a0000200520052f01a0083b00f1042005200e3a00f404200541f7046a2005419c086a41026a2d00003a0000200520052f019c083b00f5042005200c3a00f804200541fb046a20054198086a41026a2d00003a0000200520052f0198083b00f9042005200b3a00fc04200541ff046a20054194086a41026a2d00003a0000200520052f0194083b00fd04200520063a00800520054183056a20054190086a41026a2d00003a0000200520052f0190083b008105200520093a00840520054187056a2005418c086a41026a2d00003a0000200520052f018c083b008505200520083a0088052005418b056a20054188086a41026a2d00003a0000200520052f0188083b008905200520103a008c052005418f056a20054184086a41026a2d00003a0000200520052f0184083b008d052005203f3a00900520054193056a20054180086a41026a2d00003a0000200520052f0180083b009105200520043a00940520054197056a200541fc076a41026a2d00003a0000200520052f01fc073b009505200541b8046a41046a210702400240024002400240024002402040417c6a41ff0171223e4104203e4104491b417f6a0e020102000b20054195056a210720054191056a21032005418d056a213e20054189056a213d20054185056a213c20054181056a213b200541fd046a213a200541f9046a2139200541f5046a2138200541f1046a2137200541ed046a2136200541e9046a2135200541e5046a2134200541e1046a2133200541dd046a2132200541d9046a2131200541d5046a2130200541d1046a212f200541cd046a212e200541c9046a212d200541c5046a212c200541c1046a212b200541bd046a212a200541b8046a410172212920284108470d02200541b0076a2128200541b4076a211d200541b7076a2111200541ba076a211b200541bd076a211c200541c0076a2127200541c3076a2141200541c6076a2142200541c9076a2143200541cc076a2144200541cf076a2145200541d2076a2146200541d5076a2147200541d8076a2148200541db076a2149200541de076a214a200541e1076a214b200541e4076a214c200541e7076a214d200541ea076a214e200541ed076a214f200541f0076a2150200541f3076a2151200541f6076a2152410821530c030b20054190066a41286a200541e8046a220441286a29020037030020054190066a41206a200441206a29020037030020054190066a41186a200441186a29020037030020054190066a41106a200441106a29020037030020054190066a41086a200441086a290200370300200541c0066a41086a2210200741086a290200370300200541c0066a41106a220a200741106a290200370300200541c0066a41186a2203200741186a290200370300200541c0066a41206a2208200741206a290200370300200541c0066a41286a200741286a2802003602002005200429020037039006200520072902003703c006024020284108460d002005418c076a41026a2207200541f0086a41026a2d00003a0000200541f0066a41086a2204200541d0086a41086a290300370300200541f0066a41106a2209200541d0086a41106a290300370300200541f0066a41186a2206200541d0086a41186a280200360200200520052f01f0083b018c07200520052903d0083703f00620054198056a41286a220f410036020020054198056a201d201d201b6a10fd8e808000200541c0016a200f280200360200200541b8016a20054198056a41206a290200370200200541b0016a20054198056a41186a290200370200200541a8016a20054198056a41106a290200370200200541f8006a41286a20054198056a41086a290200370200200520052902980537029801200520233a0078200520052f018c073b0079200520072d00003a007b20054194016a20062802003602002005418c016a200929030037020020054184016a2004290300370200200520052903f00637027c200520113a00c5012005201c3a00c401200141dc006a200541f8006a10da8a8080001a0b200541f8006a41286a220720054198036a41286a290300370300200541f8006a41206a220420054198036a41206a290300370300200541f8006a41186a220120054198036a41186a290300370300200541f8006a41106a220920054198036a41106a290300370300200541f8006a41086a220620054198036a41086a2903003703002005200529039803370378200520052802980620052802bc06220f200f41284b220f1b3602a005200520052802940620054190066a410472200f1b36029c05200520052802900636029805200541f8006a20054198056a10e196808000200041d8006a2007290300370200200041d0006a2004290300370200200041c8006a2001290300370200200041c0006a2009290300370200200041386a200629030037020020002005290378370230200541a3056a2010290300370000200541ab056a200a290300370000200541b3056a2003290300370000200541bb056a2008290300370000200541c3056a200541c0066a41286a280200360000200520052903c00637009b05200041053a00002000200529009805370001200041096a20054198056a41086a290000370000200041116a20054198056a41106a290000370000200041196a20054198056a41186a290000370000200041216a20054198056a41206a290000370000200041286a200541bf056a29000037000020052802bc064129490d0320052802940641002802a8bfd38000118080808000000c030b20054198056a41286a200541b8046a41286a220441286a29020037030020054198056a41206a200441206a29020037030020054198056a41186a200441186a29020037030020054198056a41106a200441106a29020037030020054198056a41086a200441086a290200370300200541c8056a41086a2210200741086a290200370300200541c8056a41106a220a200741106a290200370300200541c8056a41186a2208200741186a290200370300200541c8056a41206a2209200741206a2802003602002005200429020037039805200520072902003703c805024020284108460d002005418c066a41026a2207200541f0086a41026a2d00003a0000200541f0056a41086a2204200541d0086a41086a290300370300200541f0056a41106a2206200541d0086a41106a290300370300200541f0056a41186a220f200541d0086a41186a280200360200200520052f01f0083b018c06200520052903d0083703f00520054190066a41286a220b410036020020054190066a201d201d201b6a10fd8e808000200541c0016a200b280200360200200541b8016a20054190066a41206a290200370200200541b0016a20054190066a41186a290200370200200541a8016a20054190066a41106a290200370200200541f8006a41286a20054190066a41086a290200370200200520052902900637029801200520233a0078200520052f018c063b0079200520072d00003a007b20054194016a200f2802003602002005418c016a200629030037020020054184016a2004290300370200200520052903f00537027c200520113a00c5012005201c3a00c401200141dc006a200541f8006a10da8a8080001a0b20054190066a41286a220720054198036a41286a29030037030020054190066a41206a220420054198036a41206a29030037030020054190066a41186a220620054198036a41186a29030037030020054190066a41106a220f20054198036a41106a29030037030020054190066a41086a220b20054198036a41086a290300370300200520052903980337039006200520052802a00520052802c405220c200c41284b220c1b360280012005200528029c0520054198056a410472200c1b36027c200520052802980536027820054190066a200541f8006a10e196808000200541c8016a2007290300370200200541c0016a2004290300370200200541b8016a2006290300370200200541b0016a200f290300370200200541a8016a200b29030037020020054184016a20102903003702002005418c016a200a29030037020020054194016a20082903003702002005419c016a200928020036020020052005290390063702a001200520052903c80537027c200541063a007820002001200541f8006a2003410110cb8d80800020052802c4054129490d02200528029c0541002802a8bfd38000118080808000000c020b200541b0076a41026a200541f0086a41026a2d00003a000020054190076a41086a200541d0086a41086a29030037030020054190076a41106a200541d0086a41106a29030037030020054190076a41186a200541d0086a41186a280200360200200520052f01f0083b01b007200520052903d00837039007200541b4076a2128200541b7076a211d200541ba076a2111200541bd076a211b200541c0076a211c200541c3076a2127200541c6076a2141200541c9076a2142200541cc076a2143200541cf076a2144200541d2076a2145200541d5076a2146200541d8076a2147200541db076a2148200541de076a2149200541e1076a214a200541e4076a214b200541e7076a214c200541ea076a214d200541ed076a214e200541f0076a214f200541f3076a2150200541f6076a2151200541f9076a215220402153200a2140200f210a200d210f201e210d2022211e2026212220252126202421252021212420202121201f21202016211f2014211620132114200e2113200c210e200b210c2006210b200921062008210920102108203f21102004213f202321040b205220292f00003b00002051202a2f00003b00002050202b2f00003b0000204f202c2f00003b0000204e202d2f00003b0000205241026a202941026a2d00003a0000205141026a202a41026a2d00003a0000205041026a202b41026a2d00003a0000204f41026a202c41026a2d00003a0000204e41026a202d41026a2d00003a0000204d41026a202e41026a2d00003a0000204d202e2f00003b0000204c202f2f00003b0000204c41026a202f41026a2d00003a0000204b20302f00003b0000204b41026a203041026a2d00003a0000204a20312f00003b0000204a41026a203141026a2d00003a0000204941026a203241026a2d00003a0000204920322f00003b0000204841026a203341026a2d00003a0000204820332f00003b0000204741026a203441026a2d00003a0000204720342f00003b0000204641026a203541026a2d00003a0000204620352f00003b0000204541026a203641026a2d00003a0000204520362f00003b0000204441026a203741026a2d00003a0000204420372f00003b0000204341026a203841026a2d00003a0000204320382f00003b0000204241026a203941026a2d00003a0000204220392f00003b0000204141026a203a41026a2d00003a00002041203a2f00003b0000202741026a203b41026a2d00003a00002027203b2f00003b0000201c41026a203c41026a2d00003a0000201c203c2f00003b0000201b41026a203d41026a2d00003a0000201b203d2f00003b0000201141026a203e41026a2d00003a00002011203e2f00003b0000201d41026a200341026a2d00003a0000201d20032f00003b0000202841026a200741026a2d00003a0000202820072f00003b0000200541f8006a41286a20054198036a41286a290300370300200541f8006a41206a20054198036a41206a290300370300200541f8006a41186a20054198036a41186a290300370300200541f8006a41106a20054198036a41106a290300370300200541f8006a41086a20054198036a41086a29030037030020052005290398033703780240024020012802282207450d0020012007417f6a36022820012001280224220741016a22034100200128021c222820032028491b6b3602240240200128022020074102746a2802002203200128021822074f0d00200128021420034107746a220720072d00004108464102746a10a48d808000200720533a0000200720403a00042007200a3a00082007200f3a000c200720052f00f9073b0001200741036a200541f9076a41026a2d00003a0000200720052f00f6073b0005200741076a200541f6076a41026a2d00003a0000200720052f00f3073b00092007410b6a200541f3076a41026a2d00003a0000200720052f00f0073b000d2007410f6a200541f0076a41026a2d00003a00002007200d3a00102007201e3a0014200720223a0018200720263a001c200720052f00ed073b0011200741136a200541ed076a41026a2d00003a0000200720052f00ea073b0015200741176a200541ea076a41026a2d00003a0000200720052f00e7073b00192007411b6a200541e7076a41026a2d00003a0000200720052f00e4073b001d2007411f6a200541e4076a41026a2d00003a0000200720253a0020200720243a0024200720213a0028200720203a002c200720052f00e1073b0021200741236a200541e1076a41026a2d00003a0000200720052f00de073b0025200741276a200541de076a41026a2d00003a0000200720052f00db073b00292007412b6a200541db076a41026a2d00003a0000200720052f00d8073b002d2007412f6a200541d8076a41026a2d00003a00002007201f3a0030200741336a200541d5076a41026a2d00003a0000200720052f00d5073b0031200720163a0034200741376a200541d2076a41026a2d00003a0000200720052f00d2073b0035200720143a00382007413b6a200541cf076a41026a2d00003a0000200720052f00cf073b0039200720133a003c2007413f6a200541cc076a41026a2d00003a0000200720052f00cc073b003d2007200e3a0040200741c3006a200541c9076a41026a2d00003a0000200720052f00c9073b00412007200c3a0044200741c7006a200541c6076a41026a2d00003a0000200720052f00c6073b00452007200b3a0048200741cb006a200541c3076a41026a2d00003a0000200720052f00c3073b0049200720063a004c200741cf006a200541c0076a41026a2d00003a0000200720052f00c0073b004d200720093a0050200741d3006a200541bd076a41026a2d00003a0000200720052f00bd073b0051200720083a0054200741d7006a200541ba076a41026a2d00003a0000200720052f00ba073b0055200720103a0058200741db006a200541b7076a41026a2d00003a0000200720052f00b7073b00592007203f3a005c200741df006a200541b4076a41026a2d00003a0000200720052f00b4073b005d200720043a0060200741e3006a200541b0076a41026a2d00003a0000200720052f01b0073b0061200741fc006a200541a8076a280200360200200741f4006a200541a0076a290300370200200741ec006a20054190076a41086a29030037020020072005290390073702640c020b2003200741cc86c6800010f580808000000b0240200128021822032001280210470d00200141106a41dc86c6800010e58a8080000b200128021420034107746a220720533a0000200720052f00f9073b0001200720403a0004200720052f00f6073b00052007200a3a0008200720052f00f3073b00092007200f3a000c200720052f00f0073b000d200741036a200541f9076a41026a2d00003a0000200741076a200541f6076a41026a2d00003a00002007410b6a200541f3076a41026a2d00003a00002007410f6a200541f0076a41026a2d00003a00002007200d3a00102007201e3a0014200720223a0018200720263a001c200720052f00ed073b0011200741136a200541ed076a41026a2d00003a0000200720052f00ea073b0015200741176a200541ea076a41026a2d00003a0000200720052f00e7073b00192007411b6a200541e7076a41026a2d00003a0000200720052f00e4073b001d2007411f6a200541e4076a41026a2d00003a0000200720253a0020200741236a200541e1076a41026a2d00003a0000200720052f00e1073b0021200720243a0024200741276a200541de076a41026a2d00003a0000200720052f00de073b0025200720213a00282007412b6a200541db076a41026a2d00003a0000200720052f00db073b0029200720203a002c2007412f6a200541d8076a41026a2d00003a0000200720052f00d8073b002d2007201f3a0030200741336a200541d5076a41026a2d00003a0000200720052f00d5073b0031200720163a0034200741376a200541d2076a41026a2d00003a0000200720052f00d2073b0035200720143a00382007413b6a200541cf076a41026a2d00003a0000200720052f00cf073b0039200720133a003c2007413f6a200541cc076a41026a2d00003a0000200720052f00cc073b003d2007200e3a0040200741c3006a200541c9076a41026a2d00003a0000200720052f00c9073b00412007200c3a0044200741c7006a200541c6076a41026a2d00003a0000200720052f00c6073b00452007200b3a0048200741cb006a200541c3076a41026a2d00003a0000200720052f00c3073b0049200720063a004c200741cf006a200541c0076a41026a2d00003a0000200720052f00c0073b004d200720093a0050200741d3006a200541bd076a41026a2d00003a0000200720052f00bd073b0051200720083a0054200741d7006a200541ba076a41026a2d00003a0000200720052f00ba073b0055200720103a0058200741db006a200541b7076a41026a2d00003a0000200720052f00b7073b00592007203f3a005c200741df006a200541b4076a41026a2d00003a0000200720052f00b4073b005d200720043a0060200741e3006a200541b0076a41026a2d00003a0000200720052f01b0073b0061200741fc006a200541a8076a280200360200200741f4006a200541a0076a290300370200200741ec006a20054198076a29030037020020072005290390073702642001200341016a3602180b20002005290378370228200041d0006a200541a0016a290300370200200041c8006a20054198016a290300370200200041c0006a20054190016a290300370200200041386a20054188016a290300370200200041306a20054180016a290300370200200041063a0000200020052f00783b0001200041036a200541fa006a2d00003a000020002003360208200041003a00040c010b20052d00b804417c6a41ff01712207410420074104491b417f6a41ff01714102490d00200541b8046a10a48d8080000b20052802e803450d0020122802284129490d0020052802ec0341002802a8bfd38000118080808000000b20022d0000417c6a41ff01712207410420074104491b417e6a41ff01714103490d010b200210a48d8080000b200541a0096a2480808080000baf0101027f024020012802182203200128020c2204470d002001410c6a41ec86c6800010ff8c808000200128020c2104200128021821030b2001280210200128021420036a22034100200420032004491b6b4102746a20023602002001200128021841016a36021802402001280208220420024d0d002000200128020420024107746a220141800110e9968080001a200141043a0004200141083a00000f0b2002200441fc86c6800010f580808000000bc18c0105107f017e017f047e397f23808080800041a0096b220524808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020022d00002206417c6a41ff01712207410420074104491b417e6a0e03030102000b2000200241e00010e9968080001a0c220b200241056a210820022d000421092002280230220a2d00004102460d0241002106410121070c030b200541a0036a200241c4006a290200370300200541a8036a200241cc006a290200370300200541b0036a200241d4006a2902003703002005200229023c3703980341012107200241016a2108200241306a2109200228025c210b2002280238210c2002280234210d2002280230210e200228022c220a2d00004102460d064100210f0c070b20054198036a41286a200241d0006a290200370300200541b8036a200241c8006a29020037030020054198036a41186a200241c0006a29020037030020054198036a41106a200241386a29020037030020054198036a41086a200241306a2902003703002005200229022837039803200541e6036a200241076a2d00003a0000200541c8036a41086a200241146a290200370300200541c8036a41106a2002411c6a290200370300200541c8036a41186a200241246a280200360200200520022f00053b01e4032005200229020c3703c80320022d00042106200228020821102003280200210a2003280204210820032802082109024002400240024002400240024002400240024020040d0020052802a00320052802c4032204200441284b1b2207417f6a210f2007450d14200741017420096a200528029803417f736a22094101762107200528029c0320054198036a410472200441284b1b200f6a2d0000410f71210f024020094101710d00200720084d0d02200720084184a1cd800010aa81808000000b200720084b0d1520072008490d022007200841a4a1cd800010f580808000000b2009410176210702400240200941017122040d00200720084d0d01200720084184a1cd800010aa81808000000b200720084b0d16200720084f0d17200a20076a2d000021090b200542003702a001200541003602c004200520073602bc042005200a3602b804200541f8006a200541b8046a4100200510df968080001a2004450d06200941f00171210820052d00a4014101710d04200541f8006a41046a2104200541f8006a4104412820052802a001220b41284b22091b6a280200220f200b412820091b460d022004200541f8006a41286a20091b21042005280278200541f8006a20091b21090c030b41002104200541003602e803200f4104742111200541e8036a41046a2112410121080c070b200a20076a22042d0000210941002108200541f8006a41286a220b4100360200200541f8006a200a200410fd8e808000200541b8046a41286a220c200b280200220b360200200541b8046a41206a220e200541f8006a41206a290200370300200541b8046a41186a220d200541f8006a41186a290200370300200541b8046a41106a2213200541f8006a41106a290200370300200541b8046a41086a2214200541f8006a41086a2902003703002005200529027822153703b804200541b8046a41047221042009417071200f72211602400240200541b8046a41044128200b41284b22091b6a280200220f200b412820091b460d002004200c20091b21042015a7200541b8046a20091b21090c010b200541b8046a10ff8e80800020052802bc04210f20052802b80421090b2009200f6a20163a00002004200428020041016a36020020054190066a41086a2014290300221537030020054190066a41106a2013290300221737030020054190066a41186a200d290300221837030020054190066a41206a200e290300221937030020054190066a41286a200c2802002204360200200520052903b804221a37039006200541f4036a2015370200200541fc036a201737020020054184046a20183702002005418c046a201937020020054194046a2004360200200541013602e8032005201a3702ec03200541e8036a41046a21120c050b200541f8006a10ca96808000200528027c210f200528027821090b2009200f6a20083a00002004200428020041016a3602000c010b200528027c20052802a0012204200441284b22041b2209450d122005280278200541f8006a20041b20096a417f6a220420042d00002008410476723a00000b200520052802a40141016a3602a4010b20052005280298033602c004200520052802a00320052802c4032204200441284b22041b3602bc042005200528029c0320054198036a41047220041b3602b804200541f8006a200541b8046a4100200510df968080001a20052802a401220841017621040240024020084101710d00200528027c20052802a0012209200941284b22091b220f2004490d132005280278200541f8006a20091b21090c010b200528027c20052802a0012209200941284b1b220f2004490d13200f20044d0d142005280278200541f8006a200941284b1b220920046a2d000041707121110b200541b8046a41286a220f4100360200200541b8046a2009200920046a10fd8e80800020054190066a41286a2204200f28020036020020054190066a41206a2209200541b8046a41206a29020037030020054190066a41186a220f200541b8046a41186a29020037030020054190066a41106a220b200541b8046a41106a29020037030020054190066a41086a220c200541b8046a41086a290200370300200520052902b80437039006024020052802a0014129490d00200528027841002802a8bfd38000118080808000000b200541f4036a200c290300370200200541fc036a200b29030037020020054184046a200f2903003702002005418c046a200929030037020020054194046a2004280200360200200541013602e80320052005290390063702ec03200541ec036a21120b20052802f0032005280294042204200441284b22041b210920052802ec03201220041b21040b2009200720041b211b2008410171211c2004200a20041b211d024020064101710d00024020012802282204200128021c2207470d002001411c6a41ec86c6800010ff8c808000200128021c2107200128022821040b2001280220200128022420046a22044100200720042007491b6b4102746a20103602002001200128022841016a3602282001280218220720104b0d1d2010200741fc86c6800010f580808000000b20054198046a41026a200541e4036a41026a2d00003a0000200541a7046a200541c8036a41086a290300370000200541af046a200541d8036a290300370000200541b7046a200541e0036a2d00003a0000200520052f01e4033b0198042005201036009b04200520052903c80337009f04200520113a0081012005201c3a0080012005201b36027c2005201d360278200541086a200120054198046a200541f8006a10c98d808000200528020c21102005280208450d1b200041083a000020002010360204024020052802e803450d0020122802284129490d0020052802ec0341002802a8bfd38000118080808000000b20052802c4034129490d09200528029c0341002802a8bfd38000118080808000000c090b0240200a2d00244102460d0041012106410221070c010b410221060240200a2d00484102460d00410321070c010b0240200a2d006c4102460d0041032106410421070c010b0240200a2d0090014102460d0041042106410521070c010b0240200a2d00b4014102460d0041052106410621070c010b0240200a2d00d8014102460d0041062106410721070c010b0240200a2d00fc014102460d0041072106410821070c010b0240200a2d00a0024102460d0041082106410921070c010b0240200a2d00c4024102460d0041092106410a21070c010b0240200a2d00e8024102460d00410a2106410b21070c010b0240200a2d008c034102460d00410b2106410c21070c010b0240200a2d00b0034102460d00410c2106410d21070c010b0240200a2d00d4034102460d00410d2106410e21070c010b0240200a2d00f8034102460d00410e2106410f21070c010b200a2d009c044102460d01410f2106411021070b200741246c2107024002400340200741246a220441e404460d01200a20076a21102004210720102d00004102460d000c020b0b200941ff01714103460d020b2000200a360230200020093a0004200041073a0000200020082900003700052000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a2900003700000c1b0b200941ff01714103460d17200020082900003700052000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a290000370000200541003602800120054201370278200041306a200541f8006a10d596808000200020093a0004200041053a00000c010b2005410036029c09200520063a0078200541f4086a200541f8006a200541f8006a41016a10c896808000200a200641246c6a22072d00002104200741023a000020044102460d0e200541186a41246a200741206a280000360000200541356a200741196a2900003700002005412d6a200741116a290000370000200541256a200741096a290000370000200541cc006a200541fc086a290200370200200541d4006a20054184096a290200370200200541dc006a2005418c096a290200370200200541e4006a200541f4086a41206a290200370200200541ec006a2005419c096a28020036020020054101360240200520052902f4083702442005200729000137001d200541063a0018200520043a001c20002001200541186a2003410010cd8d8080000b200a41002802a8bfd38000118080808000000c180b0240200a2d00244102460d004101210f410221070c010b4102210f0240200a2d00484102460d00410321070c010b0240200a2d006c4102460d004103210f410421070c010b0240200a2d0090014102460d004104210f410521070c010b0240200a2d00b4014102460d004105210f410621070c010b0240200a2d00d8014102460d004106210f410721070c010b0240200a2d00fc014102460d004107210f410821070c010b0240200a2d00a0024102460d004108210f410921070c010b0240200a2d00c4024102460d004109210f410a21070c010b0240200a2d00e8024102460d00410a210f410b21070c010b0240200a2d008c034102460d00410b210f410c21070c010b0240200a2d00b0034102460d00410c210f410d21070c010b0240200a2d00d4034102460d00410d210f410e21070c010b0240200a2d00f8034102460d00410e210f410f21070c010b200a2d009c044102460d01410f210f411021070b200741246c2107024002400340200741246a220441e404460d01200a20076a21102004210720102d00004102460d000c020b0b200641ff01714103460d020b2000200929020037023020002008290000370001200041d8006a200941286a290200370200200041d0006a200941206a290200370200200041c8006a200941186a290200370200200041c0006a200941106a290200370200200041386a200941086a290200370200200041096a200841086a290000370000200041116a200841106a290000370000200041196a200841186a290000370000200041216a200841206a290000370000200041286a200841276a2800003600002000200a36022c200020063a00000c160b200641ff01714103460d1120002008290000370005200020092902003702302000412c6a200841276a280000360000200041256a200841206a2900003700002000411d6a200841186a290000370000200041156a200841106a2900003700002000410d6a200841086a290000370000200041386a200941086a290200370200200041c0006a200941106a290200370200200041c8006a200941186a290200370200200041d0006a200941206a290200370200200041d8006a200941286a290200370200200020063a0004200041053a00000c100b200a200f41246c6a22072d00002110200741023a000020104102460d0a20072802042108200541cc086a41026a200741036a2d00003a0000200541d0036a200741106a290200370300200541c8036a41106a200741186a290200370300200541c8036a41186a200741206a280200360200200520072f00013b01cc08200520072902083703c8032003280208200c200b200b41284b1b410174200e6b6a2209410176210720032802042104200328020021030240024002400240200941017122090d00200720044d0d01200720044184a1cd800010aa81808000000b200720044b0d0e20072004490d012007200441a4a1cd800010f580808000000b410021042005410036029805200f41047421130c010b200320076a22042d00002106200541f8006a41286a22134100360200200541f8006a2003200410fd8e808000200541b8046a41286a221420132802002213360200200541b8046a41206a221e200541f8006a41206a290200370300200541b8046a41186a221f200541f8006a41186a290200370300200541b8046a41106a2220200541f8006a41106a290200370300200541b8046a41086a2221200541f8006a41086a2902003703002005200529027822153703b804200541b8046a41047221042006417071200f72212202400240200541b8046a41044128201341284b22061b6a28020022162013412820061b460d002004201420061b21042015a7200541b8046a20061b21060c010b200541b8046a10ff8e80800020052802bc04211620052802b80421060b200620166a20223a00002004200428020041016a360200200541c4056a20142802002206360200200541bc056a201e290300370200200541b4056a201f290300370200200541ac056a2020290300370200200541a4056a2021290300370200200520052903b804221537029c0520054101360298052015a720054198056a41046a200641284b22131b210420052802a005200620131b21060b2006200720041b2106200941017321092004200320041b2107024020104101710d00024020012802282210200128021c2204470d002001411c6a41ec86c6800010ff8c808000200128021c2104200128022821100b2001280220200128022420106a22104100200420102004491b6b4102746a20083602002001200128022841016a3602282001280218220420084d0d0d200541f8006a200128021420084107746a220441800110e9968080001a200441043a0004200441083a00000c0f0b200541f8016a41026a200541cc086a41026a2d00003a000020054187026a200541c8036a41086a2903003700002005418f026a200541c8036a41106a29030037000020054197026a200541e0036a2d00003a0000200520052f01cc083b01f801200520083600fb01200520052903c8033700ff01200520133a00c104200520093a00c004200520063602bc04200520073602b804200541106a2001200541f8016a200541b8046a10c98d808000200528021421042005280210450d0d200041083a0000200020043602040240200528029805450d0020052802c4054129490d00200528029c0541002802a8bfd38000118080808000000b200a41002802a8bfd3800011808080800000200b4129490d00200d41002802a8bfd38000118080808000000b20022d0000417c6a41ff01712207410420074104491b417e6a41ff01714103490d150c140b200f200741f084c6800010f580808000000b200720084194a1cd800010aa81808000000b200720084194a1cd800010aa81808000000b2007200841a4a1cd800010f580808000000b41aca2cd8000413a41e8a2cd8000108b81808000000b2004200f41bca3cd800010aa81808000000b2004200f41cca3cd800010aa81808000000b2004200f41dca3cd800010f580808000000b41c085c68000412441e485c68000108b81808000000b41c085c680004124418486c68000108b81808000000b200720044194a1cd800010aa81808000000b2008200441fc86c6800010f580808000000b200541f8006a200141106a200410cc8d8080000b0240024020052d007822044108470d00200541c8026a41086a20054185016a290000370300200541c8026a41106a2005418d016a290000370300200541c8026a41186a20054195016a290000370300200541c8026a41206a2005419d016a290000370300200541ef026a200541a4016a28000036000020054198026a41086a200541b4016a29020037030020054198026a41106a200541bc016a29020037030020054198026a41186a200541c4016a29020037030020054198026a41206a200541cc016a290200370300200541c0026a200541d4016a2902003703002005200529007d3703c802200520052902ac013703980220052802a801211020052d007c21040c010b200541ef026a200541f8006a41286a280000360000200541c8026a41206a20054199016a290000370300200541c8026a41186a20054191016a290000370300200541c8026a41106a20054189016a290000370300200541c8026a41086a20054181016a29000037030020054198026a41086a200541f8006a41306a221041086a29020037030020054198026a41106a201041106a29020037030020054198026a41186a201041186a29020037030020054198026a41206a201041206a29020037030020054198026a41286a201041286a290200370300200520052900793703c802200520102902003703980220052802a4012110200541f8026a41186a2203200541f0016a290200370300200541f8026a41106a2208200541e8016a290200370300200541f8026a41086a2214200541e0016a290200370300200520052902d8013703f80220054190066a41286a2216410036020020054190066a2007200720066a10fd8e80800020054180056a2016280200360200200541f8046a20054190066a41206a290200370300200541f0046a20054190066a41186a290200370300200541b8046a41306a20054190066a41106a290200370300200541b8046a41286a20054190066a41086a290200370300200541b8046a41086a2014290300370300200541b8046a41106a2008290300370300200541b8046a41186a200329030037030020052005290290063703d804200520052903f8023703b804200520133a008505200520093a008405200141dc006a200541b8046a10da8a8080001a0b02400240024002402004417c6a41ff01712207410420074104491b417f6a0e0401000002000b419486c68000412841bc86c6800010f480808000000b20054190066a41286a20054198026a41286a29030037030020054190066a41206a20054198026a41206a29030037030020054190066a41186a20054198026a41186a29030037030020054190066a41106a20054198026a41106a29030037030020054190066a41086a220720054198026a41086a290300370300200520052903980237039006200541b8046a41086a2204200c360200200541cc046a20054198036a41086a290300370200200541d4046a20054198036a41106a290300370200200541dc046a20054198036a41186a2903003702002005200d3602bc042005200e3602b80420052005290398033702c4042005200b3602e404200541013602f003200541013602e8032005200f3a00c8082005200541c8086a3602ec03200541b8046a200541e8036a10e1968080002005200728020020052802bc062207200741284b22071b3602f003200520052802940620054190066a41047220071b3602ec0320052005280290063602e803200541b8046a200541e8036a10e196808000200041d8006a200541b8046a41286a290200370200200041d0006a200541b8046a41206a290200370200200041c8006a200541b8046a41186a290200370200200041c0006a200541b8046a41106a290200370200200041386a2004290200370200200020052902b804370230200541e8036a410b6a200541c8026a410b6a290000370000200541e8036a41136a200541c8026a41136a290000370000200541e8036a411b6a200541c8026a411b6a290000370000200541e8036a41236a200541c8026a41236a290000370000200520052900cb023700eb03200041053a00002000201036022c200020052900e803370001200041096a200541e8036a41086a290000370000200041116a200541e8036a41106a290000370000200041196a200541e8036a41186a290000370000200041216a200541e8036a41206a290000370000200041286a2005418f046a28000036000020052802bc064129490d0120052802940641002802a8bfd38000118080808000000c010b200020043a0000200020052903c80237000120054190066a41286a20054198026a41286a29030037030020054190066a41206a20054198026a41206a29030037030020054190066a41186a20054198026a41186a29030037030020054190066a41106a20054198026a41106a29030037030020054190066a41086a220720054198026a41086a290300370300200041096a200541c8026a41086a290300370000200041116a200541c8026a41106a290300370000200041196a200541c8026a41186a290300370000200041216a200541c8026a41206a290300370000200041286a200541ef026a280000360000200520052903980237039006200541b8046a41086a2204200c360200200541cc046a20054198036a41086a290300370200200541d4046a20054198036a41106a290300370200200541dc046a20054198036a41186a2903003702002005200d3602bc042005200e3602b80420052005290398033702c4042005200b3602e404200541013602f003200541013602e8032005200f3a00c8082005200541c8086a3602ec03200541b8046a200541e8036a10e1968080002005200728020020052802bc062207200741284b22071b3602f003200520052802940620054190066a41047220071b3602ec0320052005280290063602e803200541b8046a200541e8036a10e196808000200041d8006a200541b8046a41286a290200370200200041d0006a200541b8046a41206a290200370200200041c8006a200541b8046a41186a290200370200200041c0006a200541b8046a41106a290200370200200041386a2004290200370200200020052902b8043702302000201036022c20052802bc064129490d0020052802940641002802a8bfd38000118080808000000b200528029805450d0020052802c4054129490d00200528029c0541002802a8bfd38000118080808000000b200a41002802a8bfd38000118080808000000c040b418085c68000412f41f485c6800010f480808000000b418085c68000412f41b085c6800010f480808000000b024020012802282204200128021c2207470d002001411c6a41ec86c6800010ff8c808000200128021c2107200128022821040b2001280220200128022420046a22044100200720042007491b6b4102746a20103602002001200128022841016a3602282001280218220720104b0d002010200741fc86c6800010f580808000000b200128021420104107746a22072d0060212320072d005c210420072d0058211020072d0054210820072d0050210920072d004c210620072d0048210b20072d0044210c20072d0040210e20072d003c211320072d0038211420072d0034211620072d0030211f20072d002c212020072d0028212120072d0024212420072d0020212520072d001c212620072d0018212720072d0014212220072d0010211e20072d000c210d20072d0008210f20072d0004210a20072d00002128200741043a0004200741083a0000200741e1006a2129200741dd006a212a200741d9006a212b200741d5006a212c200741d1006a212d200741cd006a212e200741c9006a212f200741c5006a2130200741c1006a21312007413d6a2132200741396a2133200741356a2134200741316a21352007412d6a2136200741296a2137200741256a2138200741216a21392007411d6a213a200741196a213b200741156a213c200741116a213d2007410d6a213e200741096a213f200741056a21400240024020284108460d00200541f8006a41026a200741036a2d00003a000020054190066a41026a204041026a2d00003a000020054198056a41026a203f41026a2d00003a0000200541cc086a41026a203e41026a2d00003a0000200541c8086a41026a203d41026a2d00003a0000200520072f00013b0178200520402f00003b0190062005203f2f00003b0198052005203e2f00003b01cc082005203d2f00003b01c808200541c4086a41026a203c41026a2d00003a0000200541c0086a41026a203b41026a2d00003a0000200541bc086a41026a203a41026a2d00003a0000200541b8086a41026a203941026a2d00003a0000200541b4086a41026a203841026a2d00003a00002005203c2f00003b01c4082005203b2f00003b01c0082005203a2f00003b01bc08200520392f00003b01b808200520382f00003b01b408200541b0086a41026a203741026a2d00003a0000200520372f00003b01b008200541ac086a41026a203641026a2d00003a0000200520362f00003b01ac08200541a8086a41026a203541026a2d00003a0000200520352f00003b01a808200541a4086a41026a203441026a2d00003a0000200520342f00003b01a408200541a0086a41026a203341026a2d00003a0000200520332f00003b01a0082005419c086a41026a203241026a2d00003a0000200520322f00003b019c0820054198086a41026a203141026a2d00003a0000200520312f00003b01980820054194086a41026a203041026a2d00003a0000200520302f00003b01940820054190086a41026a202f41026a2d00003a00002005202f2f00003b0190082005418c086a41026a202e41026a2d00003a00002005202e2f00003b018c0820054188086a41026a202d41026a2d00003a00002005202d2f00003b01880820054184086a41026a202c41026a2d00003a00002005202c2f00003b01840820054180086a41026a202b41026a2d00003a00002005202b2f00003b018008200541fc076a41026a202a41026a2d00003a00002005202a2f00003b01fc07200541f0086a41026a202941026a2d00003a0000200520292f00003b01f008200541e8086a200741fc006a280000360200200541e0086a200741f4006a290000370300200541d0086a41086a200741ec006a290000370300200520072900643703d0082010213f20282140200821102009210820062109200b2106200c210b200e210c2013210e2014211320162114201f21162020211f20212120202421212025212420262125202721260c010b200541f8006a41026a204041026a2d00003a000020054190066a41026a203f41026a2d00003a000020054198056a41026a203e41026a2d00003a0000200541cc086a41026a203d41026a2d00003a0000200541c8086a41026a203c41026a2d00003a0000200520402f00003b01782005203f2f00003b0190062005203e2f00003b0198052005203d2f00003b01cc082005203c2f00003b01c808200541c4086a41026a203b41026a2d00003a0000200541c0086a41026a203a41026a2d00003a0000200541bc086a41026a203941026a2d00003a0000200541b8086a41026a203841026a2d00003a0000200541b4086a41026a203741026a2d00003a00002005203b2f00003b01c4082005203a2f00003b01c008200520392f00003b01bc08200520382f00003b01b808200520372f00003b01b408200541b0086a41026a203641026a2d00003a0000200520362f00003b01b008200541ac086a41026a203541026a2d00003a0000200520352f00003b01ac08200541a8086a41026a203441026a2d00003a0000200520342f00003b01a808200541a4086a41026a203341026a2d00003a0000200520332f00003b01a408200541a0086a41026a203241026a2d00003a0000200520322f00003b01a0082005419c086a41026a203141026a2d00003a0000200520312f00003b019c0820054198086a41026a203041026a2d00003a0000200520302f00003b01980820054194086a41026a202f41026a2d00003a00002005202f2f00003b01940820054190086a41026a202e41026a2d00003a00002005202e2f00003b0190082005418c086a41026a202d41026a2d00003a00002005202d2f00003b018c0820054188086a41026a202c41026a2d00003a00002005202c2f00003b01880820054184086a41026a202b41026a2d00003a00002005202b2f00003b01840820054180086a41026a202a41026a2d00003a00002005202a2f00003b018008200541fc076a41026a202941026a2d00003a0000200520292f00003b01fc072004213f20232104200a2140200f210a200d210f201e210d2022211e202721220b200541bf046a20054190066a41026a2d00003a0000200541c3046a20054198056a41026a2d00003a0000200541c7046a200541cc086a41026a2d00003a0000200520052f01783b00b9042005200a3a00bc04200520052f0190063b00bd042005200f3a00c004200520052f0198053b00c1042005200d3a00c404200520052f01cc083b00c5042005200541f8006a41026a2d00003a00bb04200520403a00b804200541cb046a200541c8086a41026a2d00003a0000200541cf046a200541c4086a41026a2d00003a0000200541d3046a200541c0086a41026a2d00003a0000200541d7046a200541bc086a41026a2d00003a00002005201e3a00c804200520223a00cc04200520263a00d004200520253a00d404200520052f01c8083b00c904200520052f01c4083b00cd04200520052f01c0083b00d104200520052f01bc083b00d504200541db046a200541b8086a41026a2d00003a0000200541df046a200541b4086a41026a2d00003a0000200541e3046a200541b0086a41026a2d00003a0000200541e7046a200541ac086a41026a2d00003a0000200520243a00d804200520213a00dc04200520203a00e0042005201f3a00e404200520052f01b8083b00d904200520052f01b4083b00dd04200520052f01b0083b00e104200520052f01ac083b00e504200520163a00e804200541eb046a200541a8086a41026a2d00003a0000200520052f01a8083b00e904200520143a00ec04200541ef046a200541a4086a41026a2d00003a0000200520052f01a4083b00ed04200520133a00f004200541f3046a200541a0086a41026a2d00003a0000200520052f01a0083b00f1042005200e3a00f404200541f7046a2005419c086a41026a2d00003a0000200520052f019c083b00f5042005200c3a00f804200541fb046a20054198086a41026a2d00003a0000200520052f0198083b00f9042005200b3a00fc04200541ff046a20054194086a41026a2d00003a0000200520052f0194083b00fd04200520063a00800520054183056a20054190086a41026a2d00003a0000200520052f0190083b008105200520093a00840520054187056a2005418c086a41026a2d00003a0000200520052f018c083b008505200520083a0088052005418b056a20054188086a41026a2d00003a0000200520052f0188083b008905200520103a008c052005418f056a20054184086a41026a2d00003a0000200520052f0184083b008d052005203f3a00900520054193056a20054180086a41026a2d00003a0000200520052f0180083b009105200520043a00940520054197056a200541fc076a41026a2d00003a0000200520052f01fc073b009505200541b8046a41046a210702400240024002400240024002402040417c6a41ff0171223e4104203e4104491b417f6a0e020102000b20054195056a210720054191056a21032005418d056a213e20054189056a213d20054185056a213c20054181056a213b200541fd046a213a200541f9046a2139200541f5046a2138200541f1046a2137200541ed046a2136200541e9046a2135200541e5046a2134200541e1046a2133200541dd046a2132200541d9046a2131200541d5046a2130200541d1046a212f200541cd046a212e200541c9046a212d200541c5046a212c200541c1046a212b200541bd046a212a200541b8046a410172212920284108470d02200541b0076a2128200541b4076a211d200541b7076a2111200541ba076a211b200541bd076a211c200541c0076a2127200541c3076a2141200541c6076a2142200541c9076a2143200541cc076a2144200541cf076a2145200541d2076a2146200541d5076a2147200541d8076a2148200541db076a2149200541de076a214a200541e1076a214b200541e4076a214c200541e7076a214d200541ea076a214e200541ed076a214f200541f0076a2150200541f3076a2151200541f6076a2152410821530c030b20054190066a41286a200541e8046a220441286a29020037030020054190066a41206a200441206a29020037030020054190066a41186a200441186a29020037030020054190066a41106a200441106a29020037030020054190066a41086a200441086a290200370300200541c0066a41086a2210200741086a290200370300200541c0066a41106a220a200741106a290200370300200541c0066a41186a2203200741186a290200370300200541c0066a41206a2208200741206a290200370300200541c0066a41286a200741286a2802003602002005200429020037039006200520072902003703c006024020284108460d002005418c076a41026a2207200541f0086a41026a2d00003a0000200541f0066a41086a2204200541d0086a41086a290300370300200541f0066a41106a2209200541d0086a41106a290300370300200541f0066a41186a2206200541d0086a41186a280200360200200520052f01f0083b018c07200520052903d0083703f00620054198056a41286a220f410036020020054198056a201d201d201b6a10fd8e808000200541c0016a200f280200360200200541b8016a20054198056a41206a290200370200200541b0016a20054198056a41186a290200370200200541a8016a20054198056a41106a290200370200200541f8006a41286a20054198056a41086a290200370200200520052902980537029801200520233a0078200520052f018c073b0079200520072d00003a007b20054194016a20062802003602002005418c016a200929030037020020054184016a2004290300370200200520052903f00637027c200520113a00c5012005201c3a00c401200141dc006a200541f8006a10da8a8080001a0b200541f8006a41286a220720054198036a41286a290300370300200541f8006a41206a220420054198036a41206a290300370300200541f8006a41186a220120054198036a41186a290300370300200541f8006a41106a220920054198036a41106a290300370300200541f8006a41086a220620054198036a41086a2903003703002005200529039803370378200520052802980620052802bc06220f200f41284b220f1b3602a005200520052802940620054190066a410472200f1b36029c05200520052802900636029805200541f8006a20054198056a10e196808000200041d8006a2007290300370200200041d0006a2004290300370200200041c8006a2001290300370200200041c0006a2009290300370200200041386a200629030037020020002005290378370230200541a3056a2010290300370000200541ab056a200a290300370000200541b3056a2003290300370000200541bb056a2008290300370000200541c3056a200541c0066a41286a280200360000200520052903c00637009b05200041053a00002000200529009805370001200041096a20054198056a41086a290000370000200041116a20054198056a41106a290000370000200041196a20054198056a41186a290000370000200041216a20054198056a41206a290000370000200041286a200541bf056a29000037000020052802bc064129490d0320052802940641002802a8bfd38000118080808000000c030b20054198056a41286a200541b8046a41286a220441286a29020037030020054198056a41206a200441206a29020037030020054198056a41186a200441186a29020037030020054198056a41106a200441106a29020037030020054198056a41086a200441086a290200370300200541c8056a41086a2210200741086a290200370300200541c8056a41106a220a200741106a290200370300200541c8056a41186a2208200741186a290200370300200541c8056a41206a2209200741206a2802003602002005200429020037039805200520072902003703c805024020284108460d002005418c066a41026a2207200541f0086a41026a2d00003a0000200541f0056a41086a2204200541d0086a41086a290300370300200541f0056a41106a2206200541d0086a41106a290300370300200541f0056a41186a220f200541d0086a41186a280200360200200520052f01f0083b018c06200520052903d0083703f00520054190066a41286a220b410036020020054190066a201d201d201b6a10fd8e808000200541c0016a200b280200360200200541b8016a20054190066a41206a290200370200200541b0016a20054190066a41186a290200370200200541a8016a20054190066a41106a290200370200200541f8006a41286a20054190066a41086a290200370200200520052902900637029801200520233a0078200520052f018c063b0079200520072d00003a007b20054194016a200f2802003602002005418c016a200629030037020020054184016a2004290300370200200520052903f00537027c200520113a00c5012005201c3a00c401200141dc006a200541f8006a10da8a8080001a0b20054190066a41286a220720054198036a41286a29030037030020054190066a41206a220420054198036a41206a29030037030020054190066a41186a220620054198036a41186a29030037030020054190066a41106a220f20054198036a41106a29030037030020054190066a41086a220b20054198036a41086a290300370300200520052903980337039006200520052802a00520052802c405220c200c41284b220c1b360280012005200528029c0520054198056a410472200c1b36027c200520052802980536027820054190066a200541f8006a10e196808000200541c8016a2007290300370200200541c0016a2004290300370200200541b8016a2006290300370200200541b0016a200f290300370200200541a8016a200b29030037020020054184016a20102903003702002005418c016a200a29030037020020054194016a20082903003702002005419c016a200928020036020020052005290390063702a001200520052903c80537027c200541063a007820002001200541f8006a2003410110cd8d80800020052802c4054129490d02200528029c0541002802a8bfd38000118080808000000c020b200541b0076a41026a200541f0086a41026a2d00003a000020054190076a41086a200541d0086a41086a29030037030020054190076a41106a200541d0086a41106a29030037030020054190076a41186a200541d0086a41186a280200360200200520052f01f0083b01b007200520052903d00837039007200541b4076a2128200541b7076a211d200541ba076a2111200541bd076a211b200541c0076a211c200541c3076a2127200541c6076a2141200541c9076a2142200541cc076a2143200541cf076a2144200541d2076a2145200541d5076a2146200541d8076a2147200541db076a2148200541de076a2149200541e1076a214a200541e4076a214b200541e7076a214c200541ea076a214d200541ed076a214e200541f0076a214f200541f3076a2150200541f6076a2151200541f9076a215220402153200a2140200f210a200d210f201e210d2022211e2026212220252126202421252021212420202121201f21202016211f2014211620132114200e2113200c210e200b210c2006210b200921062008210920102108203f21102004213f202321040b205220292f00003b00002051202a2f00003b00002050202b2f00003b0000204f202c2f00003b0000204e202d2f00003b0000205241026a202941026a2d00003a0000205141026a202a41026a2d00003a0000205041026a202b41026a2d00003a0000204f41026a202c41026a2d00003a0000204e41026a202d41026a2d00003a0000204d41026a202e41026a2d00003a0000204d202e2f00003b0000204c202f2f00003b0000204c41026a202f41026a2d00003a0000204b20302f00003b0000204b41026a203041026a2d00003a0000204a20312f00003b0000204a41026a203141026a2d00003a0000204941026a203241026a2d00003a0000204920322f00003b0000204841026a203341026a2d00003a0000204820332f00003b0000204741026a203441026a2d00003a0000204720342f00003b0000204641026a203541026a2d00003a0000204620352f00003b0000204541026a203641026a2d00003a0000204520362f00003b0000204441026a203741026a2d00003a0000204420372f00003b0000204341026a203841026a2d00003a0000204320382f00003b0000204241026a203941026a2d00003a0000204220392f00003b0000204141026a203a41026a2d00003a00002041203a2f00003b0000202741026a203b41026a2d00003a00002027203b2f00003b0000201c41026a203c41026a2d00003a0000201c203c2f00003b0000201b41026a203d41026a2d00003a0000201b203d2f00003b0000201141026a203e41026a2d00003a00002011203e2f00003b0000201d41026a200341026a2d00003a0000201d20032f00003b0000202841026a200741026a2d00003a0000202820072f00003b0000200541f8006a41286a20054198036a41286a290300370300200541f8006a41206a20054198036a41206a290300370300200541f8006a41186a20054198036a41186a290300370300200541f8006a41106a20054198036a41106a290300370300200541f8006a41086a20054198036a41086a29030037030020052005290398033703780240024020012802282207450d0020012007417f6a36022820012001280224220741016a22034100200128021c222820032028491b6b3602240240200128022020074102746a2802002203200128021822074f0d00200128021420034107746a220720072d00004108464102746a10a48d808000200720533a0000200720403a00042007200a3a00082007200f3a000c200720052f00f9073b0001200741036a200541f9076a41026a2d00003a0000200720052f00f6073b0005200741076a200541f6076a41026a2d00003a0000200720052f00f3073b00092007410b6a200541f3076a41026a2d00003a0000200720052f00f0073b000d2007410f6a200541f0076a41026a2d00003a00002007200d3a00102007201e3a0014200720223a0018200720263a001c200720052f00ed073b0011200741136a200541ed076a41026a2d00003a0000200720052f00ea073b0015200741176a200541ea076a41026a2d00003a0000200720052f00e7073b00192007411b6a200541e7076a41026a2d00003a0000200720052f00e4073b001d2007411f6a200541e4076a41026a2d00003a0000200720253a0020200720243a0024200720213a0028200720203a002c200720052f00e1073b0021200741236a200541e1076a41026a2d00003a0000200720052f00de073b0025200741276a200541de076a41026a2d00003a0000200720052f00db073b00292007412b6a200541db076a41026a2d00003a0000200720052f00d8073b002d2007412f6a200541d8076a41026a2d00003a00002007201f3a0030200741336a200541d5076a41026a2d00003a0000200720052f00d5073b0031200720163a0034200741376a200541d2076a41026a2d00003a0000200720052f00d2073b0035200720143a00382007413b6a200541cf076a41026a2d00003a0000200720052f00cf073b0039200720133a003c2007413f6a200541cc076a41026a2d00003a0000200720052f00cc073b003d2007200e3a0040200741c3006a200541c9076a41026a2d00003a0000200720052f00c9073b00412007200c3a0044200741c7006a200541c6076a41026a2d00003a0000200720052f00c6073b00452007200b3a0048200741cb006a200541c3076a41026a2d00003a0000200720052f00c3073b0049200720063a004c200741cf006a200541c0076a41026a2d00003a0000200720052f00c0073b004d200720093a0050200741d3006a200541bd076a41026a2d00003a0000200720052f00bd073b0051200720083a0054200741d7006a200541ba076a41026a2d00003a0000200720052f00ba073b0055200720103a0058200741db006a200541b7076a41026a2d00003a0000200720052f00b7073b00592007203f3a005c200741df006a200541b4076a41026a2d00003a0000200720052f00b4073b005d200720043a0060200741e3006a200541b0076a41026a2d00003a0000200720052f01b0073b0061200741fc006a200541a8076a280200360200200741f4006a200541a0076a290300370200200741ec006a20054190076a41086a29030037020020072005290390073702640c020b2003200741cc86c6800010f580808000000b0240200128021822032001280210470d00200141106a41dc86c6800010e58a8080000b200128021420034107746a220720533a0000200720052f00f9073b0001200720403a0004200720052f00f6073b00052007200a3a0008200720052f00f3073b00092007200f3a000c200720052f00f0073b000d200741036a200541f9076a41026a2d00003a0000200741076a200541f6076a41026a2d00003a00002007410b6a200541f3076a41026a2d00003a00002007410f6a200541f0076a41026a2d00003a00002007200d3a00102007201e3a0014200720223a0018200720263a001c200720052f00ed073b0011200741136a200541ed076a41026a2d00003a0000200720052f00ea073b0015200741176a200541ea076a41026a2d00003a0000200720052f00e7073b00192007411b6a200541e7076a41026a2d00003a0000200720052f00e4073b001d2007411f6a200541e4076a41026a2d00003a0000200720253a0020200741236a200541e1076a41026a2d00003a0000200720052f00e1073b0021200720243a0024200741276a200541de076a41026a2d00003a0000200720052f00de073b0025200720213a00282007412b6a200541db076a41026a2d00003a0000200720052f00db073b0029200720203a002c2007412f6a200541d8076a41026a2d00003a0000200720052f00d8073b002d2007201f3a0030200741336a200541d5076a41026a2d00003a0000200720052f00d5073b0031200720163a0034200741376a200541d2076a41026a2d00003a0000200720052f00d2073b0035200720143a00382007413b6a200541cf076a41026a2d00003a0000200720052f00cf073b0039200720133a003c2007413f6a200541cc076a41026a2d00003a0000200720052f00cc073b003d2007200e3a0040200741c3006a200541c9076a41026a2d00003a0000200720052f00c9073b00412007200c3a0044200741c7006a200541c6076a41026a2d00003a0000200720052f00c6073b00452007200b3a0048200741cb006a200541c3076a41026a2d00003a0000200720052f00c3073b0049200720063a004c200741cf006a200541c0076a41026a2d00003a0000200720052f00c0073b004d200720093a0050200741d3006a200541bd076a41026a2d00003a0000200720052f00bd073b0051200720083a0054200741d7006a200541ba076a41026a2d00003a0000200720052f00ba073b0055200720103a0058200741db006a200541b7076a41026a2d00003a0000200720052f00b7073b00592007203f3a005c200741df006a200541b4076a41026a2d00003a0000200720052f00b4073b005d200720043a0060200741e3006a200541b0076a41026a2d00003a0000200720052f01b0073b0061200741fc006a200541a8076a280200360200200741f4006a200541a0076a290300370200200741ec006a20054198076a29030037020020072005290390073702642001200341016a3602180b20002005290378370228200041d0006a200541a0016a290300370200200041c8006a20054198016a290300370200200041c0006a20054190016a290300370200200041386a20054188016a290300370200200041306a20054180016a290300370200200041063a0000200020052f00783b0001200041036a200541fa006a2d00003a000020002003360208200041003a00040c010b20052d00b804417c6a41ff01712207410420074104491b417f6a41ff01714102490d00200541b8046a10a48d8080000b20052802e803450d0020122802284129490d0020052802ec0341002802a8bfd38000118080808000000b20022d0000417c6a41ff01712207410420074104491b417e6a41ff01714103490d010b200210a48d8080000b200541a0096a2480808080000bf41703047f017e187f2380808080004190036b220524808080800002400240024002400240024002400240024002400240024002400240024020022d00000d0020022802042102024020012802282206200128021c2207470d002001411c6a41ec86c6800010ff8c808000200128021c2107200128022821060b2001280220200128022420066a22064100200720062007491b6b4102746a20023602002001200128022841016a3602282001280218220720024b0d012002200741fc86c6800010f580808000000b200541a0016a200241196a29000037030020054198016a200241116a29000037030020054190016a200241096a29000037030020052002290001370388012003280208220741017621020240024020074101710d002002200328020422074b0d08200541003a00b002200520023602ac02200520032802003602a8020c010b2002200328020422074b0d08200220074f0d0920032802002107200541013a00b002200520073602a802200520023602ac022005200720026a2d000041f001713a00b1020b2005200120054188016a200541a8026a10c98d8080002005280204210220052802000d05024020012802282206200128021c2207470d002001411c6a41ec86c6800010ff8c808000200128021c2107200128022821060b2001280220200128022420066a22064100200720062007491b6b4102746a20023602002001200128022841016a3602282001280218220720024d0d010b200128021420024107746a22022d00002107200541296a200241016a41df0010e9968080001a200241043a0004200241083a0000200541086a41086a200241ec006a290200370300200541186a200241f4006a290200370300200541206a200241fc006a2802003602002005200229026437030820022802602102024020074108470d00200541a8026a200541296a41036a41dc0010e9968080001a20052001360288032005200336028c032005200236028403200541c4016a20042001200541a8026a200310cf8d80800020052802c801210720052802c40122044103460d0420052802a4022108200529029c0221092005280298022106200528029402210a200528029002210b200528028c02210c200528028802210d200528028402210e200528028002210f20052802fc01211020052802f801211120052802f401211220052802f001211320052802ec01211420052802e801211520052802e401211620052802e001211720052802dc01211820052802d801211920052802d401211a20052802d001211b20052802cc01211c410221034101211d4108211e20040e0303020d030b2003280208211e200328020421082003280200211d200541a8026a410172200541296a41df0010e9968080001a20052001360288032005200336028c03200520073a00a802200541c4016a20042001200541a8026a200310cf8d80800020052802c801210720052802c40122034103460d0320052902a0022109200528029c02211f2005280298022106200528029402210a200528029002210b200528028c02210c200528028802210d200528028402210e200528028002210f20052802fc01211020052802f801211120052802f401211220052802f001211320052802ec01211420052802e801211520052802e401211620052802e001211720052802dc01211820052802d801211920052802d401211a20052802d001211b20052802cc01212002400240024020030e03000102000b201e410176210302400240201e4101710d000240200320084b0d004100211c0c020b200320084184a1cd800010aa81808000000b200320084b0d0b200320084f0d0c201d20036a2d000041707121214101211c0b2009422088a7210841002104200541c4016a41286a221e4100360200200541c4016a201d201d20036a10c896808000200541c8026a220341286a201e280200360200200341206a200541c4016a41206a290200370200200341186a200541c4016a41186a290200370200200341106a200541c4016a41106a2902003702004108211e200341086a200541c4016a41086a290200370200200320052902c401370200200541b4026a200541086a41086a290300370200200541bc026a200541086a41106a290300370200200541c4026a200541086a41186a280200360200200520213a00f5022005201c3a00f402200520023602a802200520052903083702ac02200141dc006a200541a8026a10da8a8080001a2009422086201fad8421094101211d2020211c0c040b200541a8016a41186a200541086a41186a280200360200200541a8016a41106a200541086a41106a290300370300200541a8016a41086a200541086a41086a290300370300200520052903083703a801200741ff0171211e200741807e7121044100211d201b211c201a211b2019211a201821192017211820162117201521162014211520132114201221132011211220102111200f211020202107200e210f200d210e200c210d200b210c200a210b2006210a201f2106200221080c030b201e410176210302400240201e4101710d000240200320084b0d00410021070c020b200320084184a1cd800010aa81808000000b200320084b0d0b200320084f0d0c201d20036a2d00004170712104410121070b200541c4016a41286a22064100360200200541c4016a201d201d20036a10c896808000200541c8026a220341286a2006280200360200200341206a200541c4016a41206a290200370200200341186a200541c4016a41186a290200370200200341106a200541c4016a41106a290200370200200341086a200541c4016a41086a290200370200200320052902c401370200200541b4026a200541086a41086a290300370200200541bc026a200541086a41106a290300370200200541c4026a200541086a41186a280200360200200520043a00f502200520073a00f402200520023602a802200520052903083702ac02200141dc006a200541a8026a10da8a8080001a410221030c0c0b2002200741fc86c6800010f580808000000b410021044100211d0b201e20047221040240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c221e2003201e491b6b3602240240200128022020024102746a2802002202200128021822034f0d00200128021420024107746a220120012d00004108464102746a10a48d8080002001200836026020012009370258200120063602542001200a3602502001200b36024c2001200c3602482001200d3602442001200e3602402001200f36023c2001201036023820012011360234200120123602302001201336022c2001201436022820012015360224200120163602202001201736021c20012018360218200120193602142001201a3602102001201b36020c2001201c3602082001200736020420012004360200200141fc006a200541c0016a280200360200200141f4006a200541b8016a290300370200200141ec006a200541a8016a41086a290300370200200120052903a8013702640c020b2002200341cc86c6800010f580808000000b0240200128021822022001280210470d00200141106a41dc86c6800010e58a8080000b200128021420024107746a2203200836026020032009370258200320063602542003200a3602502003200b36024c2003200c3602482003200d3602442003200e3602402003200f36023c2003201036023820032011360234200320123602302003201336022c2003201436022820032015360224200320163602202003201736021c20032018360218200320193602142003201a3602102003201b36020c2003201c3602082003200736020420032004360200200341fc006a200541c0016a280200360200200341f4006a200541b8016a290300370200200341ec006a200541b0016a290300370200200320052903a8013702642001200241016a3602180b201d21030c090b200721020b410321030c070b200220074184a1cd800010aa81808000000b200220074194a1cd800010aa81808000000b2002200741a4a1cd800010f580808000000b200320084194a1cd800010aa81808000000b2003200841a4a1cd800010f580808000000b200320084194a1cd800010aa81808000000b2003200841a4a1cd800010f580808000000b200020033a00042000200236020020054190036a2480808080000bf04305027f017e077f017e057f23808080800041a0046b2205248080808000200541086a200441086a280200220636020020052004290200220737030020052802042108200541e4006a200341e00010e9968080001a200520062008410174220946220a3a00c401200920066b210b2007a7210c024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020052d0064220d417c6a41ff01712209410420094104491b220e0e050100040506010b200541c0036a41286a200341d8006a290200370300200541c0036a41206a200341d0006a290200370300200541c0036a41186a200341c8006a290200370300200541c0036a41106a200341c0006a290200370300200541c0036a41086a200341386a290200220737030020052003290230220f3703c003200541eb006a2d0000210620052d0068210a200528026c2108200528028c01210c200528029001211020052f006921112005200fa722093602d001200520052802c403200541c0036a410472221220052802ec03221341284b22141b3602c80120052007a7201320141b22133602cc012003410c6a2103201120064110747221060240201341017420096b200b470d00200541c8016a200510d796808000200b460d0220052802c00321090b200541106a41286a201241286a280200360200200541106a41206a201241206a290200370300200541106a41186a201241186a290200370300200541106a41106a201241106a290200370300200541106a41086a201241086a290200370300200541c0006a41086a200341086a290200370300200541c0006a41106a200341106a290200370300200541c0006a41186a200341186a2802003602002005201229020037031020052003290200370340410121040c020b200041023602000c1f0b200428020421092004280200211220042802082104200541e0026a41106a200341086a290200370200200541e0026a41186a200341106a29020037020020054180036a200341186a280200360200200520083602e4022005200a3a00e00220052010360288032005200c36028403200520032902003702e802200520063b00e102200520064110763a00e302200b20046a220441017621030240024020044101710d00200320094b0d06200541003a00b802200520033602b402200520123602b0020c010b200320094b0d06200320094f0d07200541013a00b802200520123602b002200520033602b4022005201220036a2d000041f001713a00b9020b20022001200541e0026a200541b0026a10c68d80800041022104024020052802ec034129490d0020052802c40341002802a8bfd38000118080808000000b0b410521030c1b0b200541b0026a41286a200341d0006a290200370300200541b0026a41206a200341c8006a290200370300200541b0026a41186a200341c0006a290200370300200541b0026a41106a200341386a290200370300200541b0026a41086a200341306a290200220737030020052003290228220f3703b002200341076a2d0000210b20032d0004210a2003280208210820032f00052110200520052802b402200541b0026a41047220052802dc02220641284b22091b3602c00320052007a7200620091b22063602c4032005200fa722093602c803200541c0036a200510d796808000220c200641017420096b460d052010200b411074722106200541106a41086a200541b0026a41146a290200370300200541106a41106a200541b0026a411c6a290200370300200541106a41186a200541b0026a41246a290200370300200541106a41206a200541dc026a280200360200200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a280200360200200520052902bc023703102005200329020c370340410121044106210320052802b802210920052802b402211020052802b002210c0c1a0b0240200a0d002005280294012109200541d8026a2003412c6a280200360200200541d0026a200341246a290200370300200541c8026a2003411c6a290200370300200541c0026a200341146a290200370300200541b8026a2003410c6a290200370300200520032902043703b0022006410176220320084f0d062009200c20036a2d00002203410f71200341047620064101711b41246c6a22032d00002106200341023a0000024002400240024020064102460d00200541c8016a41096a200341096a290000370000200541c8016a41116a200341116a290000370000200541c8016a41196a200341196a290000370000200541c8016a41206a200341206a280000360000200541f8016a41086a200441086a2208280200220b360200200329000121072008200b41016a360200200520063a00c801200520073700c901200520042902003703f801200541c0036a2002200541c8016a2004200110ce8d80800020052802c003210420052d00c4032206417e6a0e020301020b200541c8006a200541b0026a41106a290300370300200541c0006a41106a200541b0026a41186a290300370300200541c0006a41186a200541d0026a280200360200200520052903b80237034020052f00b10220052d00b302411074722106410121040c180b2000410336020020002004360204200541b0026a10a78d808000200941002802a8bfd38000118080808000000c1e0b20032004360204200341003a0000200541c0006a41086a200541b0026a41106a290300370300200541c0006a41106a200541b0026a41186a290300370300200541c0006a41186a200541b0026a41206a280200360200200520052903b8023703402006410173210420052f00b10220052d00b3024110747221060c160b200541ec036a200541b0026a41286a280200360200200541c0036a41246a200541b0026a41206a290300370200200541c0036a411c6a200541b0026a41186a290300370200200541c0036a41146a200541b0026a41106a290300370200200541cc036a200541b0026a41086a290300370200200520052903b0023702c403200520093602f003200541073a00c00341002104200541e0026a2002200541c0036a200541f8016a410010cd8d80800020052d00e00222034108460d07200541e2006a20052d00e3023a0000200541c0006a41086a200541e0026a41146a290200370300200541c0006a41106a200541e0026a411c6a290200370300200541c0006a41186a200541e0026a41246a280200360200200520052f00e1023b0160200520052902ec0237034020052802e8022108200528028803210c200528028c032110200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c160b200528029401210620052d00684103460d132004280208220941017621080240024020094101710d002008200428020422094b0d09200541003a00c803200520083602c403200520042802003602c0030c010b2008200428020422094b0d09200820094f0d0a20042802002109200541013a00c803200520093602c003200520083602c4032005200920086a2d000041f001713a00c9030b20022001200341046a200541c0036a10c68d808000200541033a00c403200520063602f003200541073a00c003200541b0026a41086a200441086a280200360200200520042902003703b0024100210b200541e0026a2002200541c0036a200541b0026a410010cd8d808000024020052d00e00222034108460d00200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e8022108200528028803210c200528028c032110200528029003210920052802e402210a200541386a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a410876210641012101410021040c1b0b20052802e402210320004103360200200020033602040c1b0b02400240024002400240024002400240024002400240200a0d00200541b0026a41286a200341d8006a290200370300200541b0026a41206a200341d0006a290200370300200541b0026a41186a200341c8006a290200370300200541b0026a41106a200341c0006a290200370300200541b0026a41086a2209200341386a290200370300200520032902303703b0022005280290012110200541c8016a41286a200341286a280200360200200541c8016a41206a200341206a290200370300200541c8016a41186a200341186a290200370300200541c8016a41106a200341106a290200370300200541c8016a41086a200341086a290200370300200520032902003703c801200520052802b0023602c8032005200928020020052802dc022203200341284b22031b3602c403200520052802b402200541b0026a410472221220031b3602c003200541c0036a200510d796808000210320052802c40341017420052802c8036b210902402003200b470d0020032009460d080b20032009490d01200320066a2209410176220620084f0d022010200c20066a2d00002206410f71200641047620094101711b41246c6a22062d00002108200641023a000020084102460d03200541f8016a41096a200641096a290000370000200541f8016a41116a200641116a290000370000200541f8016a41196a200641196a290000370000200541f8016a41206a200641206a280000360000200541a0026a41086a200441086a2209280200220b3602002006290001210720092003200b6a41016a360200200520083a00f801200520073700f901200520042902003703a002200541c0036a2002200541f8016a2004200110ce8d80800020052802c003210320052d00c4032204417e6a0e020405060b200d4103470d092000200529029001370230200041033a00042000410136020020002003290234370238200041c0006a2003413c6a290200370200200041c8006a200341c4006a290200370200200041d0006a200341cc006a290200370200200041d8006a200341d4006a290200370200200041e0006a200341dc006a2802003602000c240b200541e2006a20052d00cb013a0000200541106a41086a201241086a290200370300200541106a41106a201241106a290200370300200541106a41186a201241186a290200370300200541106a41206a201241206a290200370300200541106a41286a201241286a280200360200200520052f00c9013b01602005201229020037031020052802b002210920052d00c8012103200541c0006a41086a200541dc016a290200370300200541c0006a41106a200541e4016a290200370300200541c0006a41186a200541ec016a280200360200200520052902d40137034020052f00cd0120052d00cf014110747221060c190b20062008418484c6800010f580808000000b200541e0006a41026a20052d00cb013a0000200541106a41086a201241086a290200370300200541106a41106a201241106a290200370300200541106a41186a201241186a290200370300200541106a41206a201241206a290200370300200541106a41286a201241286a280200360200200520052f00c9013b01602005201229020037031020052802b002210920052d00c8012103200541c0006a41086a200541dc016a290200370300200541c0006a41106a200541e4016a290200370300200541c0006a41186a200541c8016a41246a280200360200200520052902d40137034020052f00cd0120052d00cf014110747221060c170b20054198046a200541b0026a41286a29030037030020054190046a200541b0026a41206a29030037030020054188046a200541b0026a41186a29030037030020054180046a200541b0026a41106a290300370300200541f8036a200541b0026a41086a290300370300200541c0036a41086a200541c8016a41086a290300370300200541c0036a41106a200541c8016a41106a290300370300200541c0036a41186a200541c8016a41186a290300370300200541c0036a41206a200541c8016a41206a290300370300200541c0036a41286a200541c8016a41286a280200360200200520052903b0023703f003200520052903c8013703c003200520103602ec0341002104200541e0026a2002200541c0036a200541a0026a410010cd8d80800020052d00e00222034108460d03200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e8022108200528028803210c200528028c032110200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c170b2000410336020020002003360204024020052d00c8014103460d00200541c8016a10a58d8080000b201041002802a8bfd380001180808080000020052802dc024129490d1f20052802b40241002802a8bfd38000118080808000000c1f0b20062003360204200641003a0000200541e2006a20052d00cb013a0000200541c0006a41086a200541dc016a290200370300200541c0006a41106a200541e4016a290200370300200541c0006a41186a200541ec016a280200360200200520052f00c9013b0160200520052902d40137034020052802f001210c20052802d001210820052d00cc01210a20052d00c801210320052802b002210920052f00cd01210620052d00cf012102200541106a41286a201241286a280200360200200541106a41206a201241206a290200370300200541106a41186a201241186a290200370300200541106a41106a201241106a290200370300200541106a41086a201241086a2902003703002005201229020037031020044101732104200620024110747221060c150b4103210320052d00c8014103460d12200541c0036a41286a200541c8016a41286a280200360200200541c0036a41206a200541c8016a41206a290300370300200541c0036a41186a200541c8016a41186a290300370300200541c0036a41106a200541c8016a41106a290300370300200541c0036a41086a200541c8016a41086a290300370300200520052903c8013703c0032004280208200b6a2209410176210320042802002108200428020421060240024020094101710d00200320064b0d0e200541003a00e802200520033602e402200520083602e0020c010b200320064b0d0e200320064f0d0f200541013a00e802200520083602e002200520033602e4022005200820036a2d000041f001713a00e9020b20022001200541c0036a200541e0026a10c68d80800020054198046a200541b0026a41286a29030037020020054190046a200541b0026a41206a29030037020020054188046a200541b0026a41186a29030037020020054180046a200541b0026a41106a290300370200200541f8036a200541b0026a41086a290300370200200520052903b0023702f003200520103602ec03200541033a00c003200541f8016a41086a200441086a280200360200200520042902003703f80141002104200541e0026a2002200541c0036a200541f8016a410010cd8d80800020052d00e00222034108460d01200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e8022108200528028803210c200528028c032110200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541106a41206a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c140b20052802e402210320004103360200200020033602040c1c0b200020052802e402360204200041033602000c1b0b200541c0036a41d8006a200341d8006a290200370200200541c0036a41d0006a200341d0006a290200370200200541c0036a41c8006a200341c8006a290200370200200541c0036a41c0006a200341c0006a290200370200200541c0036a41386a200341386a290200370200200520032902303702f00320052802900121092004280208220841017621060240024020084101710d002006200428020422084b0d0e200541003a00e802200520063602e402200520042802003602e0020c010b2006200428020422084b0d0e200620084f0d0f20042802002108200541013a00e802200520083602e002200520063602e4022005200820066a2d000041f001713a00e9020b200220012003200541e0026a10c68d808000200520093602ec03200541033a00c003200541b0026a41086a200441086a280200360200200520042902003703b00241002101200541e0026a2002200541c0036a200541b0026a410010cd8d808000024020052d00e00222034108460d00200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e8022108200528028803210c200528028c032110200528029003210920052802e402210a200541386a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621064101210b410021040c1a0b20052802e402210320004103360200200020033602040c1a0b200320094184a1cd800010aa81808000000b200320094194a1cd800010aa81808000000b2003200941a4a1cd800010f580808000000b200541c8016a41086a200441086a2206280200220836020020062008200c6a360200200520042902003703c801200541c0036a2002200341046a2004200110ce8d80800020052802c003210820052d00c4032203417e6a0e021113120b20032008418484c6800010f580808000000b20052802e402210320004103360200200020033602040c140b200820094184a1cd800010aa81808000000b200820094194a1cd800010aa81808000000b2008200941a4a1cd800010f580808000000b200320064184a1cd800010aa81808000000b200320064194a1cd800010aa81808000000b2003200641a4a1cd800010f580808000000b200620084184a1cd800010aa81808000000b200620084194a1cd800010aa81808000000b2006200841a4a1cd800010f580808000000b200541106a41086a201241086a290200370300200541106a41106a201241106a290200370300200541106a41186a201241186a290200370300200541106a41206a201241206a290200370300200541106a41286a201241286a280200360200200520122902003703104101210420052802b00221090c010b4101210420052802f001210c20052802d001210820052d00cc01210a0b410021014101210b0c070b20002006360234200041033a0008200041073a0004200041013602000c070b4107210320052802d802211020052802d402210c20052802b402210820052d00b002210a0b410121014100210b0c040b41022104024020052802dc0241294f0d000c030b20052802b40241002802a8bfd38000118080808000000c020b41012104024020034101710d00200541186a200541c4026a290200370300200541206a200541cc026a290200370300200541286a200541d4026a290200370300200541306a200541dc026a280200360200200520052902bc02370310410621034100210a20052802b802210920052802b402211020052802b002210c0c020b20054190046a200541b0026a41286a29030037020020054188046a200541b0026a41206a29030037020020054180046a200541b0026a41186a290300370200200541f8036a200541b0026a41106a290300370200200541f0036a200541b0026a41086a290300370200200520052903b0023702e803200520083602c80341002104200541003a00c403200541063a00c003200541e0026a2002200541c0036a200541c8016a410010cd8d808000024020052d00e00222034108470d0020052802e402210320004103360200200020033602040c040b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e8022108200528028803210c200528028c032110200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541106a41206a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c010b200041033602002000200836020420052802dc024129490d0220052802b40241002802a8bfd38000118080808000000c020b4101210b410121010b200020063b0009200020033a000420002004360200200020052f01603b00052000200836020c2000200a3a0008200020052903403702102000200c36022c20002010360230200020093602342000410b6a20064110763a0000200041076a200541e2006a2d00003a0000200041186a200541c0006a41086a290300370200200041206a200541c0006a41106a290300370200200041286a200541c0006a41186a280200360200200041e0006a200541106a41286a280200360200200041d8006a200541106a41206a290300370200200041d0006a200541106a41186a290300370200200041c8006a200541106a41106a290300370200200041c0006a200541106a41086a2903003702002000200529031037023802400240200e417d6a0e020100020b2001450d01200d4103460d0102400240200d0e020103000b200528028801220020002802002200417f6a36020020004101470d0220054188016a10d0968080000c020b2005280268220020002802002200417f6a36020020004101470d01200541e8006a10d0968080000c010b200b450d0020052d006822004103460d000240024020000e020102000b200528028c01220020002802002200417f6a36020020004101470d012005418c016a10d0968080000c010b200528026c220020002802002200417f6a36020020004101470d00200541ec006a10d0968080000b200541a0046a2480808080000bf41703047f017e187f2380808080004190036b220524808080800002400240024002400240024002400240024002400240024002400240024020022d00000d0020022802042102024020012802282206200128021c2207470d002001411c6a41ec86c6800010ff8c808000200128021c2107200128022821060b2001280220200128022420066a22064100200720062007491b6b4102746a20023602002001200128022841016a3602282001280218220720024b0d012002200741fc86c6800010f580808000000b200541a0016a200241196a29000037030020054198016a200241116a29000037030020054190016a200241096a29000037030020052002290001370388012003280208220741017621020240024020074101710d002002200328020422074b0d08200541003a00b002200520023602ac02200520032802003602a8020c010b2002200328020422074b0d08200220074f0d0920032802002107200541013a00b002200520073602a802200520023602ac022005200720026a2d000041f001713a00b1020b2005200120054188016a200541a8026a10ca8d8080002005280204210220052802000d05024020012802282206200128021c2207470d002001411c6a41ec86c6800010ff8c808000200128021c2107200128022821060b2001280220200128022420066a22064100200720062007491b6b4102746a20023602002001200128022841016a3602282001280218220720024d0d010b200128021420024107746a22022d00002107200541296a200241016a41df0010e9968080001a200241043a0004200241083a0000200541086a41086a200241ec006a290200370300200541186a200241f4006a290200370300200541206a200241fc006a2802003602002005200229026437030820022802602102024020074108470d00200541a8026a200541296a41036a41dc0010e9968080001a20052001360288032005200336028c032005200236028403200541c4016a20042001200541a8026a200310d18d80800020052802c801210720052802c40122044103460d0420052802a4022108200529029c0221092005280298022106200528029402210a200528029002210b200528028c02210c200528028802210d200528028402210e200528028002210f20052802fc01211020052802f801211120052802f401211220052802f001211320052802ec01211420052802e801211520052802e401211620052802e001211720052802dc01211820052802d801211920052802d401211a20052802d001211b20052802cc01211c410221034101211d4108211e20040e0303020d030b2003280208211e200328020421082003280200211d200541a8026a410172200541296a41df0010e9968080001a20052001360288032005200336028c03200520073a00a802200541c4016a20042001200541a8026a200310d18d80800020052802c801210720052802c40122034103460d0320052902a0022109200528029c02211f2005280298022106200528029402210a200528029002210b200528028c02210c200528028802210d200528028402210e200528028002210f20052802fc01211020052802f801211120052802f401211220052802f001211320052802ec01211420052802e801211520052802e401211620052802e001211720052802dc01211820052802d801211920052802d401211a20052802d001211b20052802cc01212002400240024020030e03000102000b201e410176210302400240201e4101710d000240200320084b0d004100211c0c020b200320084184a1cd800010aa81808000000b200320084b0d0b200320084f0d0c201d20036a2d000041707121214101211c0b2009422088a7210841002104200541c4016a41286a221e4100360200200541c4016a201d201d20036a10c896808000200541c8026a220341286a201e280200360200200341206a200541c4016a41206a290200370200200341186a200541c4016a41186a290200370200200341106a200541c4016a41106a2902003702004108211e200341086a200541c4016a41086a290200370200200320052902c401370200200541b4026a200541086a41086a290300370200200541bc026a200541086a41106a290300370200200541c4026a200541086a41186a280200360200200520213a00f5022005201c3a00f402200520023602a802200520052903083702ac02200141dc006a200541a8026a10da8a8080001a2009422086201fad8421094101211d2020211c0c040b200541a8016a41186a200541086a41186a280200360200200541a8016a41106a200541086a41106a290300370300200541a8016a41086a200541086a41086a290300370300200520052903083703a801200741ff0171211e200741807e7121044100211d201b211c201a211b2019211a201821192017211820162117201521162014211520132114201221132011211220102111200f211020202107200e210f200d210e200c210d200b210c200a210b2006210a201f2106200221080c030b201e410176210302400240201e4101710d000240200320084b0d00410021070c020b200320084184a1cd800010aa81808000000b200320084b0d0b200320084f0d0c201d20036a2d00004170712104410121070b200541c4016a41286a22064100360200200541c4016a201d201d20036a10c896808000200541c8026a220341286a2006280200360200200341206a200541c4016a41206a290200370200200341186a200541c4016a41186a290200370200200341106a200541c4016a41106a290200370200200341086a200541c4016a41086a290200370200200320052902c401370200200541b4026a200541086a41086a290300370200200541bc026a200541086a41106a290300370200200541c4026a200541086a41186a280200360200200520043a00f502200520073a00f402200520023602a802200520052903083702ac02200141dc006a200541a8026a10da8a8080001a410221030c0c0b2002200741fc86c6800010f580808000000b410021044100211d0b201e20047221040240024020012802282202450d0020012002417f6a36022820012001280224220241016a22034100200128021c221e2003201e491b6b3602240240200128022020024102746a2802002202200128021822034f0d00200128021420024107746a220120012d00004108464102746a10a48d8080002001200836026020012009370258200120063602542001200a3602502001200b36024c2001200c3602482001200d3602442001200e3602402001200f36023c2001201036023820012011360234200120123602302001201336022c2001201436022820012015360224200120163602202001201736021c20012018360218200120193602142001201a3602102001201b36020c2001201c3602082001200736020420012004360200200141fc006a200541c0016a280200360200200141f4006a200541b8016a290300370200200141ec006a200541a8016a41086a290300370200200120052903a8013702640c020b2002200341cc86c6800010f580808000000b0240200128021822022001280210470d00200141106a41dc86c6800010e58a8080000b200128021420024107746a2203200836026020032009370258200320063602542003200a3602502003200b36024c2003200c3602482003200d3602442003200e3602402003200f36023c2003201036023820032011360234200320123602302003201336022c2003201436022820032015360224200320163602202003201736021c20032018360218200320193602142003201a3602102003201b36020c2003201c3602082003200736020420032004360200200341fc006a200541c0016a280200360200200341f4006a200541b8016a290300370200200341ec006a200541b0016a290300370200200320052903a8013702642001200241016a3602180b201d21030c090b200721020b410321030c070b200220074184a1cd800010aa81808000000b200220074194a1cd800010aa81808000000b2002200741a4a1cd800010f580808000000b200320084194a1cd800010aa81808000000b2003200841a4a1cd800010f580808000000b200320084194a1cd800010aa81808000000b2003200841a4a1cd800010f580808000000b200020033a00042000200236020020054190036a2480808080000bf04305027f017e077f017e057f23808080800041a0046b2205248080808000200541086a200441086a280200220636020020052004290200220737030020052802042108200541e4006a200341e00010e9968080001a200520062008410174220946220a3a00c401200920066b210b2007a7210c024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020052d0064220d417c6a41ff01712209410420094104491b220e0e050100040506010b200541c0036a41286a200341d8006a290200370300200541c0036a41206a200341d0006a290200370300200541c0036a41186a200341c8006a290200370300200541c0036a41106a200341c0006a290200370300200541c0036a41086a200341386a290200220737030020052003290230220f3703c003200541eb006a2d0000210620052d0068210a200528026c2108200528028c01210c200528029001211020052f006921112005200fa722093602d001200520052802c403200541c0036a410472221220052802ec03221341284b22141b3602c80120052007a7201320141b22133602cc012003410c6a2103201120064110747221060240201341017420096b200b470d00200541c8016a200510d796808000200b460d0220052802c00321090b200541106a41286a201241286a280200360200200541106a41206a201241206a290200370300200541106a41186a201241186a290200370300200541106a41106a201241106a290200370300200541106a41086a201241086a290200370300200541c0006a41086a200341086a290200370300200541c0006a41106a200341106a290200370300200541c0006a41186a200341186a2802003602002005201229020037031020052003290200370340410121040c020b200041023602000c1f0b200428020421092004280200211220042802082104200541e0026a41106a200341086a290200370200200541e0026a41186a200341106a29020037020020054180036a200341186a280200360200200520083602e4022005200a3a00e00220052010360288032005200c36028403200520032902003702e802200520063b00e102200520064110763a00e302200b20046a220441017621030240024020044101710d00200320094b0d06200541003a00b802200520033602b402200520123602b0020c010b200320094b0d06200320094f0d07200541013a00b802200520123602b002200520033602b4022005201220036a2d000041f001713a00b9020b20022001200541e0026a200541b0026a10c68d80800041022104024020052802ec034129490d0020052802c40341002802a8bfd38000118080808000000b0b410521030c1b0b200541b0026a41286a200341d0006a290200370300200541b0026a41206a200341c8006a290200370300200541b0026a41186a200341c0006a290200370300200541b0026a41106a200341386a290200370300200541b0026a41086a200341306a290200220737030020052003290228220f3703b002200341076a2d0000210b20032d0004210a2003280208210820032f00052110200520052802b402200541b0026a41047220052802dc02220641284b22091b3602c00320052007a7200620091b22063602c4032005200fa722093602c803200541c0036a200510d796808000220c200641017420096b460d052010200b411074722106200541106a41086a200541b0026a41146a290200370300200541106a41106a200541b0026a411c6a290200370300200541106a41186a200541b0026a41246a290200370300200541106a41206a200541dc026a280200360200200541c0006a41086a200341146a290200370300200541c0006a41106a2003411c6a290200370300200541c0006a41186a200341246a280200360200200520052902bc023703102005200329020c370340410121044106210320052802b802210920052802b402211020052802b002210c0c1a0b0240200a0d002005280294012109200541d8026a2003412c6a280200360200200541d0026a200341246a290200370300200541c8026a2003411c6a290200370300200541c0026a200341146a290200370300200541b8026a2003410c6a290200370300200520032902043703b0022006410176220320084f0d062009200c20036a2d00002203410f71200341047620064101711b41246c6a22032d00002106200341023a0000024002400240024020064102460d00200541c8016a41096a200341096a290000370000200541c8016a41116a200341116a290000370000200541c8016a41196a200341196a290000370000200541c8016a41206a200341206a280000360000200541f8016a41086a200441086a2208280200220b360200200329000121072008200b41016a360200200520063a00c801200520073700c901200520042902003703f801200541c0036a2002200541c8016a2004200110d08d80800020052802c003210420052d00c4032206417e6a0e020301020b200541c8006a200541b0026a41106a290300370300200541c0006a41106a200541b0026a41186a290300370300200541c0006a41186a200541d0026a280200360200200520052903b80237034020052f00b10220052d00b302411074722106410121040c180b2000410336020020002004360204200541b0026a10a78d808000200941002802a8bfd38000118080808000000c1e0b20032004360204200341003a0000200541c0006a41086a200541b0026a41106a290300370300200541c0006a41106a200541b0026a41186a290300370300200541c0006a41186a200541b0026a41206a280200360200200520052903b8023703402006410173210420052f00b10220052d00b3024110747221060c160b200541ec036a200541b0026a41286a280200360200200541c0036a41246a200541b0026a41206a290300370200200541c0036a411c6a200541b0026a41186a290300370200200541c0036a41146a200541b0026a41106a290300370200200541cc036a200541b0026a41086a290300370200200520052903b0023702c403200520093602f003200541073a00c00341002104200541e0026a2002200541c0036a200541f8016a410010cb8d80800020052d00e00222034108460d07200541e2006a20052d00e3023a0000200541c0006a41086a200541e0026a41146a290200370300200541c0006a41106a200541e0026a411c6a290200370300200541c0006a41186a200541e0026a41246a280200360200200520052f00e1023b0160200520052902ec0237034020052802e8022108200528028803210c200528028c032110200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c160b200528029401210620052d00684103460d132004280208220941017621080240024020094101710d002008200428020422094b0d09200541003a00c803200520083602c403200520042802003602c0030c010b2008200428020422094b0d09200820094f0d0a20042802002109200541013a00c803200520093602c003200520083602c4032005200920086a2d000041f001713a00c9030b20022001200341046a200541c0036a10c68d808000200541033a00c403200520063602f003200541073a00c003200541b0026a41086a200441086a280200360200200520042902003703b0024100210b200541e0026a2002200541c0036a200541b0026a410010cb8d808000024020052d00e00222034108460d00200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e8022108200528028803210c200528028c032110200528029003210920052802e402210a200541386a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a410876210641012101410021040c1b0b20052802e402210320004103360200200020033602040c1b0b02400240024002400240024002400240024002400240200a0d00200541b0026a41286a200341d8006a290200370300200541b0026a41206a200341d0006a290200370300200541b0026a41186a200341c8006a290200370300200541b0026a41106a200341c0006a290200370300200541b0026a41086a2209200341386a290200370300200520032902303703b0022005280290012110200541c8016a41286a200341286a280200360200200541c8016a41206a200341206a290200370300200541c8016a41186a200341186a290200370300200541c8016a41106a200341106a290200370300200541c8016a41086a200341086a290200370300200520032902003703c801200520052802b0023602c8032005200928020020052802dc022203200341284b22031b3602c403200520052802b402200541b0026a410472221220031b3602c003200541c0036a200510d796808000210320052802c40341017420052802c8036b210902402003200b470d0020032009460d080b20032009490d01200320066a2209410176220620084f0d022010200c20066a2d00002206410f71200641047620094101711b41246c6a22062d00002108200641023a000020084102460d03200541f8016a41096a200641096a290000370000200541f8016a41116a200641116a290000370000200541f8016a41196a200641196a290000370000200541f8016a41206a200641206a280000360000200541a0026a41086a200441086a2209280200220b3602002006290001210720092003200b6a41016a360200200520083a00f801200520073700f901200520042902003703a002200541c0036a2002200541f8016a2004200110d08d80800020052802c003210320052d00c4032204417e6a0e020405060b200d4103470d092000200529029001370230200041033a00042000410136020020002003290234370238200041c0006a2003413c6a290200370200200041c8006a200341c4006a290200370200200041d0006a200341cc006a290200370200200041d8006a200341d4006a290200370200200041e0006a200341dc006a2802003602000c240b200541e2006a20052d00cb013a0000200541106a41086a201241086a290200370300200541106a41106a201241106a290200370300200541106a41186a201241186a290200370300200541106a41206a201241206a290200370300200541106a41286a201241286a280200360200200520052f00c9013b01602005201229020037031020052802b002210920052d00c8012103200541c0006a41086a200541dc016a290200370300200541c0006a41106a200541e4016a290200370300200541c0006a41186a200541ec016a280200360200200520052902d40137034020052f00cd0120052d00cf014110747221060c190b20062008418484c6800010f580808000000b200541e0006a41026a20052d00cb013a0000200541106a41086a201241086a290200370300200541106a41106a201241106a290200370300200541106a41186a201241186a290200370300200541106a41206a201241206a290200370300200541106a41286a201241286a280200360200200520052f00c9013b01602005201229020037031020052802b002210920052d00c8012103200541c0006a41086a200541dc016a290200370300200541c0006a41106a200541e4016a290200370300200541c0006a41186a200541c8016a41246a280200360200200520052902d40137034020052f00cd0120052d00cf014110747221060c170b20054198046a200541b0026a41286a29030037030020054190046a200541b0026a41206a29030037030020054188046a200541b0026a41186a29030037030020054180046a200541b0026a41106a290300370300200541f8036a200541b0026a41086a290300370300200541c0036a41086a200541c8016a41086a290300370300200541c0036a41106a200541c8016a41106a290300370300200541c0036a41186a200541c8016a41186a290300370300200541c0036a41206a200541c8016a41206a290300370300200541c0036a41286a200541c8016a41286a280200360200200520052903b0023703f003200520052903c8013703c003200520103602ec0341002104200541e0026a2002200541c0036a200541a0026a410010cb8d80800020052d00e00222034108460d03200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e8022108200528028803210c200528028c032110200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c170b2000410336020020002003360204024020052d00c8014103460d00200541c8016a10a58d8080000b201041002802a8bfd380001180808080000020052802dc024129490d1f20052802b40241002802a8bfd38000118080808000000c1f0b20062003360204200641003a0000200541e2006a20052d00cb013a0000200541c0006a41086a200541dc016a290200370300200541c0006a41106a200541e4016a290200370300200541c0006a41186a200541ec016a280200360200200520052f00c9013b0160200520052902d40137034020052802f001210c20052802d001210820052d00cc01210a20052d00c801210320052802b002210920052f00cd01210620052d00cf012102200541106a41286a201241286a280200360200200541106a41206a201241206a290200370300200541106a41186a201241186a290200370300200541106a41106a201241106a290200370300200541106a41086a201241086a2902003703002005201229020037031020044101732104200620024110747221060c150b4103210320052d00c8014103460d12200541c0036a41286a200541c8016a41286a280200360200200541c0036a41206a200541c8016a41206a290300370300200541c0036a41186a200541c8016a41186a290300370300200541c0036a41106a200541c8016a41106a290300370300200541c0036a41086a200541c8016a41086a290300370300200520052903c8013703c0032004280208200b6a2209410176210320042802002108200428020421060240024020094101710d00200320064b0d0e200541003a00e802200520033602e402200520083602e0020c010b200320064b0d0e200320064f0d0f200541013a00e802200520083602e002200520033602e4022005200820036a2d000041f001713a00e9020b20022001200541c0036a200541e0026a10c68d80800020054198046a200541b0026a41286a29030037020020054190046a200541b0026a41206a29030037020020054188046a200541b0026a41186a29030037020020054180046a200541b0026a41106a290300370200200541f8036a200541b0026a41086a290300370200200520052903b0023702f003200520103602ec03200541033a00c003200541f8016a41086a200441086a280200360200200520042902003703f80141002104200541e0026a2002200541c0036a200541f8016a410010cb8d80800020052d00e00222034108460d01200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e8022108200528028803210c200528028c032110200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541106a41206a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c140b20052802e402210320004103360200200020033602040c1c0b200020052802e402360204200041033602000c1b0b200541c0036a41d8006a200341d8006a290200370200200541c0036a41d0006a200341d0006a290200370200200541c0036a41c8006a200341c8006a290200370200200541c0036a41c0006a200341c0006a290200370200200541c0036a41386a200341386a290200370200200520032902303702f00320052802900121092004280208220841017621060240024020084101710d002006200428020422084b0d0e200541003a00e802200520063602e402200520042802003602e0020c010b2006200428020422084b0d0e200620084f0d0f20042802002108200541013a00e802200520083602e002200520063602e4022005200820066a2d000041f001713a00e9020b200220012003200541e0026a10c68d808000200520093602ec03200541033a00c003200541b0026a41086a200441086a280200360200200520042902003703b00241002101200541e0026a2002200541c0036a200541b0026a410010cb8d808000024020052d00e00222034108460d00200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e8022108200528028803210c200528028c032110200528029003210920052802e402210a200541386a200541bc036a280200360200200541306a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621064101210b410021040c1a0b20052802e402210320004103360200200020033602040c1a0b200320094184a1cd800010aa81808000000b200320094194a1cd800010aa81808000000b2003200941a4a1cd800010f580808000000b200541c8016a41086a200441086a2206280200220836020020062008200c6a360200200520042902003703c801200541c0036a2002200341046a2004200110d08d80800020052802c003210820052d00c4032203417e6a0e021113120b20032008418484c6800010f580808000000b20052802e402210320004103360200200020033602040c140b200820094184a1cd800010aa81808000000b200820094194a1cd800010aa81808000000b2008200941a4a1cd800010f580808000000b200320064184a1cd800010aa81808000000b200320064194a1cd800010aa81808000000b2003200641a4a1cd800010f580808000000b200620084184a1cd800010aa81808000000b200620084194a1cd800010aa81808000000b2006200841a4a1cd800010f580808000000b200541106a41086a201241086a290200370300200541106a41106a201241106a290200370300200541106a41186a201241186a290200370300200541106a41206a201241206a290200370300200541106a41286a201241286a280200360200200520122902003703104101210420052802b00221090c010b4101210420052802f001210c20052802d001210820052d00cc01210a0b410021014101210b0c070b20002006360234200041033a0008200041073a0004200041013602000c070b4107210320052802d802211020052802d402210c20052802b402210820052d00b002210a0b410121014100210b0c040b41022104024020052802dc0241294f0d000c030b20052802b40241002802a8bfd38000118080808000000c020b41012104024020034101710d00200541186a200541c4026a290200370300200541206a200541cc026a290200370300200541286a200541d4026a290200370300200541306a200541dc026a280200360200200520052902bc02370310410621034100210a20052802b802210920052802b402211020052802b002210c0c020b20054190046a200541b0026a41286a29030037020020054188046a200541b0026a41206a29030037020020054180046a200541b0026a41186a290300370200200541f8036a200541b0026a41106a290300370200200541f0036a200541b0026a41086a290300370200200520052903b0023702e803200520083602c80341002104200541003a00c403200541063a00c003200541e0026a2002200541c0036a200541c8016a410010cb8d808000024020052d00e00222034108470d0020052802e402210320004103360200200020033602040c040b200541e2006a20052d00e3023a0000200541c0006a41086a200541f4026a290200370300200541c0006a41106a200541fc026a290200370300200541c0006a41186a20054184036a280200360200200520052f00e1023b0160200520052902ec0237034020052802e8022108200528028803210c200528028c032110200528029003210920052802e402210a200541106a41286a200541bc036a280200360200200541106a41206a200541b4036a290200370300200541106a41186a200541ac036a290200370300200541106a41106a200541a4036a290200370300200541106a41086a2005419c036a2902003703002005200529029403370310200a41087621060c010b200041033602002000200836020420052802dc024129490d0220052802b40241002802a8bfd38000118080808000000c020b4101210b410121010b200020063b0009200020033a000420002004360200200020052f01603b00052000200836020c2000200a3a0008200020052903403702102000200c36022c20002010360230200020093602342000410b6a20064110763a0000200041076a200541e2006a2d00003a0000200041186a200541c0006a41086a290300370200200041206a200541c0006a41106a290300370200200041286a200541c0006a41186a280200360200200041e0006a200541106a41286a280200360200200041d8006a200541106a41206a290300370200200041d0006a200541106a41186a290300370200200041c8006a200541106a41106a290300370200200041c0006a200541106a41086a2903003702002000200529031037023802400240200e417d6a0e020100020b2001450d01200d4103460d0102400240200d0e020103000b200528028801220020002802002200417f6a36020020004101470d0220054188016a10d0968080000c020b2005280268220020002802002200417f6a36020020004101470d01200541e8006a10d0968080000c010b200b450d0020052d006822004103460d000240024020000e020102000b200528028c01220020002802002200417f6a36020020004101470d012005418c016a10d0968080000c010b200528026c220020002802002200417f6a36020020004101470d00200541ec006a10d0968080000b200541a0046a2480808080000be42005047f027e027f027e037f23808080800041c0046b2201248080808000200028025c21022000410036025c20002802642103200041003602642001200036020c2000280260210420012003410020021b3602d803200120043602d403200120023602d003200141003602cc032001200241004722033602c803200120043602c403200120023602c003200141003602bc03200120033602b803200141106a200141b8036a10a08a808000024020012d005c4102460d0020014190016a41206a2102034020014190016a200141106a41d00010e9968080001a200141a8026a41186a20014190016a41186a290200370300200141a8026a41106a20014190016a41106a290200370300200141a8026a41086a20014190016a41086a29020037030020012001290290013703a802200141106a41286a2204200241286a2902002205370300200141106a41206a200241206a290200370300200141106a41186a200241186a290200370300200141106a41106a200241106a290200370300200141106a41086a200241086a2902003703002001200229020022063703102000280250210320002802542107200120012f013c3b01f003200120012802142005a72208200841284b22081b3602ec0320012006a7200141106a20081b3602e8032003200141a8026a200141e8036a200728022411858080800000024020042802004129490d00200128021041002802a8bfd38000118080808000000b200141106a200141b8036a10a08a80800020012d005c4102470d000b0b200141b8036a10948b8080000240024002400240024020002d002c0d0020002802302102024020002802282203200028021c2204470d002000411c6a41ec86c6800010ff8c808000200028021c2104200028022821030b2000280220200028022420036a22034100200420032004491b6b4102746a20023602002000200028022841016a3602282000280218220420024d0d01200028021420024107746a22022d00002104200141106a200241016a41ff0010e9968080001a200241043a0004200241083a0000024002400240024020044108470d0020014190016a200141136a41e00010e9968080001a4100210320012d00900121042000280268450d03200141c0016a21022004417c6a41ff01712200410420004104491b0e050302010302030b200241e8006a2900002105200241f0006a2900002106200241f8006a2900002109200028025822032002290060220a370000200341186a2009370000200341106a2006370000200341086a200537000020014190016a41186a200937030020014190016a41106a200637030020014190016a41086a20053703002001200a370390010240024020002802282202450d0020002002417f6a36022820002000280224220241016a22034100200028021c220720032007491b6b3602240240200028022020024102746a2802002203200028021822024f0d00200028021420034107746a220220022d00004108464102746a10a48d808000200220043a0000200241016a200141106a41df0010e9968080001a200241f8006a200141a8016a290300370200200241f0006a200141a0016a290300370200200241e8006a20014190016a41086a29030037020020022001290390013702600c020b2003200241cc86c6800010f580808000000b0240200028021822032000280210470d00200041106a41dc86c6800010e58a8080000b200028021420034107746a220220043a0000200241016a200141106a41df0010e9968080001a200241f8006a200141a8016a290300370200200241f0006a200141a0016a290300370200200241e8006a20014198016a29030037020020022001290390013702602000200341016a3602180b20002003360230200041003a002c0c030b200141b8016a21020b200120022802003602c00320012002280208200228022c2200200041284b22001b3602bc0320012002280204200241046a20001b3602b803200141f4016a41046a200141b8036a10e0968080004101210320012d00900121040b200120033602f401200142003702d00220012802b801210820012802bc01210320012802c001210020012001410c6a36028c032001200141a8026a36028803200141c4016a210202400240024002400240024002400240024002402004417c6a41ff01712207410420074104491b0e050001020304000b41002d00b8bfd380001a410141002802b0bfd38000118280808000002202450d0b200241003a0000200141013602e402200120023602e002200141013602dc020c080b200141b8036a410c6a200241086a290200370200200141b8036a41146a200241106a290200370200200141b8036a411c6a200241186a290200370200200141b8036a41246a200241206a290200370200200141e4036a2204200241286a280200360200200120003602b803200120022902003702bc03200141e8036a41206a20014190016a41246a280200360200200141e8036a41186a20014190016a411c6a290200370300200141e8036a41106a20014190016a41146a290200370300200141e8036a41086a20014190016a410c6a29020037030020012001290294013703e80320012003360290042001200836028c04200120003602bc04200120012802c00320042802002202200241284b22041b22023602b804200120012802bc03200141b8036a41046a20041b22073602b40420004101762104200141a4046a200141e8036a200141b4046a200141a8026a2001410c6a10b78d8080000240024020004101710d00410021080240200420024b0d004100210b200421030c020b2004200241e4a0cd800010a881808000000b200420024f0d0c41012108200441016a2103200720046a2d0000410f71210b0b2001200b3a009d03200120083a009c0320014100360298032001200220036b360294032001200720036a36029003200141dc026a20014190036a200241017420006b200141a4046a10f68b808000024002400240024020012d00e8030e020103000b200128028c04220220022802002202417f6a36020020024101470d02200141e8036a41246a21020c010b20012802ec03220220022802002202417f6a36020020024101470d01200141e8036a41047221020b200210d0968080000b20012802e4034129490d0720012802bc0341002802a8bfd38000118080808000000c070b200141b8036a41146a200241086a290200370200200141b8036a411c6a200241106a290200370200200141b8036a41246a200241186a290200370200200141e4036a200241206a280200360200200120003602c003200120033602bc03200120083602b803200120022902003702c403200141e8036a41206a20014190016a41246a280200360200200141e8036a41186a20014190016a411c6a290200370300200141e8036a41106a20014190016a41146a290200370300200141e8036a41086a2001419c016a29020037030020012001290294013703e8032001200141b8036a41046a41b0ffc5800010a48f808000200120083602bc042001200128020422023602b804200120012802003602b404200141a4046a200141b4046a10d896808000200141003a0090042001200141b4046a36028c0420014190036a200128028803200128028c03200141e8036a200141b4046a41002001109c8d808000200141dc026a200141a4046a200241017420086b20014190036a10ef8b808000000b200141d8036a200141b4016a280200360200200141d0036a200141ac016a290200370300200141c8036a200141a4016a290200370300200141c0036a2001419c016a290200370300200120012902940122053703b803200120033602e003200120083602dc032005a741ff01714103470d01410221020c020b200141c4036a200241086a290200370200200141cc036a200241106a290200370200200141d4036a200241186a290200370200200141dc036a200241206a290200370200200141e4036a2207200241286a280200360200200120003602b803200120022902003702bc03200141e8036a41096a20014190016a41096a290000370000200141e8036a41116a20014190016a41116a290000370000200141e8036a41196a20014190016a41196a290000370000200141e8036a41206a20014190016a41206a29000037000020012001290091013700e9032001200836029004200120043a00e803200120003602a004200120012802c00320072802002202200241284b22071b220236029c04200120012802bc03200141b8036a41046a20071b220836029804200441ff01714103470d024102210b0c030b200141e8036a200141b8036a4100200141a8026a2001410c6a10b78d80800020012902ec03210520012802e80321020b20012005370294032001200236029003200141dc026a200141e8036a20014190036a10ed8b808000000b20014190036a200141e8036a20014198046a200141a8026a2001410c6a10b78d8080002001290294032105200128029003210b0b200041017621040240024020004101710d004100210c0240200420024b0d004100210d200421070c020b2004200241e4a0cd800010a881808000000b200420024f0d064101210c200441016a2107200820046a2d0000410f71210d0b2001200d3a00b1042001200c3a00b004200141003602ac042001200220076b3602a8042001200820076a3602a404200141003602980320012003360290032001200341c0046a36029403200120014188036a3602a0032001200141b8036a36029c03200120053702b8042001200b3602b404200141dc026a200141a4046a200241017420006b20014190036a200141b4046a10f08b808000024020012d00e80322024103460d0002400240024020020e020103000b200128028c04220220022802002202417f6a36020020024101470d022001418c046a21020c010b20012802ec03220220022802002202417f6a36020020024101470d01200141ec036a21020b200210d0968080000b200341002802a8bfd380001180808080000020012802e4034129490d0020012802bc0341002802a8bfd38000118080808000000b200128020c2202280250210020022802542102200141e8036a41086a41002802d0d8c88000360200200141002902c8d8c880003703e803200141b8036a2000200141e8036a20012802e002220420012802e4022203200228021c11878080800000200128020c2200280258220220012900b803370000200241086a200141b8036a41086a2207290000370000200241106a200141b8036a41106a2208290000370000200241186a200141b8036a41186a220b29000037000020072000280258220241086a2900003703002008200241106a290000370300200b200241186a290000370300200120022900003703b8032000200141b8036a20042003200141f4016a10ba8d808000200128020c2202280258220041186a2900002105200041106a2900002106200041086a29000021092002200029000037002d200241013a002c200241356a20093700002002413d6a2006370000200241c5006a2005370000024020012802dc02450d00200441002802a8bfd38000118080808000000b20012802d0024129490d0020012802a80241002802a8bfd38000118080808000000b200141c0046a2480808080000f0b2002200441fc86c6800010f580808000000b4101410141e0fdc5800010ae80808000000b2004200241f4a0cd800010f580808000000b2004200241f4a0cd800010f580808000000be42005047f027e027f027e037f23808080800041c0046b2201248080808000200028025c21022000410036025c20002802642103200041003602642001200036020c2000280260210420012003410020021b3602d803200120043602d403200120023602d003200141003602cc032001200241004722033602c803200120043602c403200120023602c003200141003602bc03200120033602b803200141106a200141b8036a10a08a808000024020012d005c4102460d0020014190016a41206a2102034020014190016a200141106a41d00010e9968080001a200141a8026a41186a20014190016a41186a290200370300200141a8026a41106a20014190016a41106a290200370300200141a8026a41086a20014190016a41086a29020037030020012001290290013703a802200141106a41286a2204200241286a2902002205370300200141106a41206a200241206a290200370300200141106a41186a200241186a290200370300200141106a41106a200241106a290200370300200141106a41086a200241086a2902003703002001200229020022063703102000280250210320002802542107200120012f013c3b01f003200120012802142005a72208200841284b22081b3602ec0320012006a7200141106a20081b3602e8032003200141a8026a200141e8036a200728022411858080800000024020042802004129490d00200128021041002802a8bfd38000118080808000000b200141106a200141b8036a10a08a80800020012d005c4102470d000b0b200141b8036a10948b8080000240024002400240024020002d002c0d0020002802302102024020002802282203200028021c2204470d002000411c6a41ec86c6800010ff8c808000200028021c2104200028022821030b2000280220200028022420036a22034100200420032004491b6b4102746a20023602002000200028022841016a3602282000280218220420024d0d01200028021420024107746a22022d00002104200141106a200241016a41ff0010e9968080001a200241043a0004200241083a0000024002400240024020044108470d0020014190016a200141136a41e00010e9968080001a4100210320012d00900121042000280268450d03200141c0016a21022004417c6a41ff01712200410420004104491b0e050302010302030b200241e8006a2900002105200241f0006a2900002106200241f8006a2900002109200028025822032002290060220a370000200341186a2009370000200341106a2006370000200341086a200537000020014190016a41186a200937030020014190016a41106a200637030020014190016a41086a20053703002001200a370390010240024020002802282202450d0020002002417f6a36022820002000280224220241016a22034100200028021c220720032007491b6b3602240240200028022020024102746a2802002203200028021822024f0d00200028021420034107746a220220022d00004108464102746a10a48d808000200220043a0000200241016a200141106a41df0010e9968080001a200241f8006a200141a8016a290300370200200241f0006a200141a0016a290300370200200241e8006a20014190016a41086a29030037020020022001290390013702600c020b2003200241cc86c6800010f580808000000b0240200028021822032000280210470d00200041106a41dc86c6800010e58a8080000b200028021420034107746a220220043a0000200241016a200141106a41df0010e9968080001a200241f8006a200141a8016a290300370200200241f0006a200141a0016a290300370200200241e8006a20014198016a29030037020020022001290390013702602000200341016a3602180b20002003360230200041003a002c0c030b200141b8016a21020b200120022802003602c00320012002280208200228022c2200200041284b22001b3602bc0320012002280204200241046a20001b3602b803200141f4016a41046a200141b8036a10e0968080004101210320012d00900121040b200120033602f401200142003702d00220012802b801210820012802bc01210320012802c001210020012001410c6a36028c032001200141a8026a36028803200141c4016a210202400240024002400240024002400240024002402004417c6a41ff01712207410420074104491b0e050001020304000b41002d00b8bfd380001a410141002802b0bfd38000118280808000002202450d0b200241003a0000200141013602e402200120023602e002200141013602dc020c080b200141b8036a410c6a200241086a290200370200200141b8036a41146a200241106a290200370200200141b8036a411c6a200241186a290200370200200141b8036a41246a200241206a290200370200200141e4036a2204200241286a280200360200200120003602b803200120022902003702bc03200141e8036a41206a20014190016a41246a280200360200200141e8036a41186a20014190016a411c6a290200370300200141e8036a41106a20014190016a41146a290200370300200141e8036a41086a20014190016a410c6a29020037030020012001290294013703e80320012003360290042001200836028c04200120003602bc04200120012802c00320042802002202200241284b22041b22023602b804200120012802bc03200141b8036a41046a20041b22073602b40420004101762104200141a4046a200141e8036a200141b4046a200141a8026a2001410c6a10b88d8080000240024020004101710d00410021080240200420024b0d004100210b200421030c020b2004200241e4a0cd800010a881808000000b200420024f0d0c41012108200441016a2103200720046a2d0000410f71210b0b2001200b3a009d03200120083a009c0320014100360298032001200220036b360294032001200720036a36029003200141dc026a20014190036a200241017420006b200141a4046a10f68b808000024002400240024020012d00e8030e020103000b200128028c04220220022802002202417f6a36020020024101470d02200141e8036a41246a21020c010b20012802ec03220220022802002202417f6a36020020024101470d01200141e8036a41047221020b200210d0968080000b20012802e4034129490d0720012802bc0341002802a8bfd38000118080808000000c070b200141b8036a41146a200241086a290200370200200141b8036a411c6a200241106a290200370200200141b8036a41246a200241186a290200370200200141e4036a200241206a280200360200200120003602c003200120033602bc03200120083602b803200120022902003702c403200141e8036a41206a20014190016a41246a280200360200200141e8036a41186a20014190016a411c6a290200370300200141e8036a41106a20014190016a41146a290200370300200141e8036a41086a2001419c016a29020037030020012001290294013703e8032001200141b8036a41046a41b0ffc5800010a48f808000200120083602bc042001200128020422023602b804200120012802003602b404200141a4046a200141b4046a10d896808000200141003a0090042001200141b4046a36028c0420014190036a200128028803200128028c03200141e8036a200141b4046a41002001109a8d808000200141dc026a200141a4046a200241017420086b20014190036a10ef8b808000000b200141d8036a200141b4016a280200360200200141d0036a200141ac016a290200370300200141c8036a200141a4016a290200370300200141c0036a2001419c016a290200370300200120012902940122053703b803200120033602e003200120083602dc032005a741ff01714103470d01410221020c020b200141c4036a200241086a290200370200200141cc036a200241106a290200370200200141d4036a200241186a290200370200200141dc036a200241206a290200370200200141e4036a2207200241286a280200360200200120003602b803200120022902003702bc03200141e8036a41096a20014190016a41096a290000370000200141e8036a41116a20014190016a41116a290000370000200141e8036a41196a20014190016a41196a290000370000200141e8036a41206a20014190016a41206a29000037000020012001290091013700e9032001200836029004200120043a00e803200120003602a004200120012802c00320072802002202200241284b22071b220236029c04200120012802bc03200141b8036a41046a20071b220836029804200441ff01714103470d024102210b0c030b200141e8036a200141b8036a4100200141a8026a2001410c6a10b88d80800020012902ec03210520012802e80321020b20012005370294032001200236029003200141dc026a200141e8036a20014190036a10ed8b808000000b20014190036a200141e8036a20014198046a200141a8026a2001410c6a10b88d8080002001290294032105200128029003210b0b200041017621040240024020004101710d004100210c0240200420024b0d004100210d200421070c020b2004200241e4a0cd800010a881808000000b200420024f0d064101210c200441016a2107200820046a2d0000410f71210d0b2001200d3a00b1042001200c3a00b004200141003602ac042001200220076b3602a8042001200820076a3602a404200141003602980320012003360290032001200341c0046a36029403200120014188036a3602a0032001200141b8036a36029c03200120053702b8042001200b3602b404200141dc026a200141a4046a200241017420006b20014190036a200141b4046a10f28b808000024020012d00e80322024103460d0002400240024020020e020103000b200128028c04220220022802002202417f6a36020020024101470d022001418c046a21020c010b20012802ec03220220022802002202417f6a36020020024101470d01200141ec036a21020b200210d0968080000b200341002802a8bfd380001180808080000020012802e4034129490d0020012802bc0341002802a8bfd38000118080808000000b200128020c2202280250210020022802542102200141e8036a41086a41002802d0d8c88000360200200141002902c8d8c880003703e803200141b8036a2000200141e8036a20012802e002220420012802e4022203200228021c11878080800000200128020c2200280258220220012900b803370000200241086a200141b8036a41086a2207290000370000200241106a200141b8036a41106a2208290000370000200241186a200141b8036a41186a220b29000037000020072000280258220241086a2900003703002008200241106a290000370300200b200241186a290000370300200120022900003703b8032000200141b8036a20042003200141f4016a10bc8d808000200128020c2202280258220041186a2900002105200041106a2900002106200041086a29000021092002200029000037002d200241013a002c200241356a20093700002002413d6a2006370000200241c5006a2005370000024020012802dc02450d00200441002802a8bfd38000118080808000000b20012802d0024129490d0020012802a80241002802a8bfd38000118080808000000b200141c0046a2480808080000f0b2002200441fc86c6800010f580808000000b4101410141e0fdc5800010ae80808000000b2004200241f4a0cd800010f580808000000b2004200241f4a0cd800010f580808000000ba40601037f2380808080004190016b2206248080808000200641033a000c02400240024020054100480d00200541f5ffffff074f0d0102402005410b6a41fcffffff077122070d00410421080c030b41002d00b8bfd380001a200741002802b0bfd380001182808080000022080d024104200710b980808000000b41b099cd8000412b200641e0006a41a099cd800041dc99cd800010a481808000000b41bc84c08000412b200641e0006a41ac84c0800041e486c0800010a481808000000b2008428180808010370200200841086a2004200510e9968080001a0240024020012d002c0d0020012802302104410021070c010b200641d6006a2001412f6a2d00003a0000200641386a41086a2001413c6a290200370300200641c8006a200141c4006a290200370300200641d0006a200141cc006a2d00003a0000200620012f002d3b01542006200129023437033820012802302104410121070b200641e0006a41106a200641386a41086a290300370200200641e0006a41186a200641386a41106a290300370200200641e0006a41206a200641386a41186a280200360200200620073a0060200620062f01543b006120062004360264200620062903383702682006200641d4006a41026a2d00003a00632006410036028c0120062003360288012006200236028401200641d8006a2001200641e0006a20064184016a200820052006410c6a10c88d8080000240024020062d005c4102460d0020012006280258360230200141003a002c2000200629020c370200200041086a2006410c6a41086a290200370200200041106a2006410c6a41106a290200370200200041186a2006410c6a41186a290200370200200041206a2006410c6a41206a290200370200200041286a2006410c6a41286a2802003602000c010b20062802582101200041043a00002000200136020420062d000c22014103460d0002400240024020010e020103000b2006280230220120012802002201417f6a36020020014101470d02200641306a21010c010b2006280210220120012802002201417f6a36020020014101470d01200641106a21010b200110d0968080000b20064190016a2480808080000ba40601037f2380808080004190016b2206248080808000200641033a000c02400240024020054100480d00200541f5ffffff074f0d0102402005410b6a41fcffffff077122070d00410421080c030b41002d00b8bfd380001a200741002802b0bfd380001182808080000022080d024104200710b980808000000b41b099cd8000412b200641e0006a41a099cd800041dc99cd800010a481808000000b41bc84c08000412b200641e0006a41ac84c0800041e486c0800010a481808000000b2008428180808010370200200841086a2004200510e9968080001a0240024020012d002c0d0020012802302104410021070c010b200641d6006a2001412f6a2d00003a0000200641386a41086a2001413c6a290200370300200641c8006a200141c4006a290200370300200641d0006a200141cc006a2d00003a0000200620012f002d3b01542006200129023437033820012802302104410121070b200641e0006a41106a200641386a41086a290300370200200641e0006a41186a200641386a41106a290300370200200641e0006a41206a200641386a41186a280200360200200620073a0060200620062f01543b006120062004360264200620062903383702682006200641d4006a41026a2d00003a00632006410036028c0120062003360288012006200236028401200641d8006a2001200641e0006a20064184016a200820052006410c6a10c58d8080000240024020062d005c4102460d0020012006280258360230200141003a002c2000200629020c370200200041086a2006410c6a41086a290200370200200041106a2006410c6a41106a290200370200200041186a2006410c6a41186a290200370200200041206a2006410c6a41206a290200370200200041286a2006410c6a41286a2802003602000c010b20062802582101200041043a00002000200136020420062d000c22014103460d0002400240024020010e020103000b2006280230220120012802002201417f6a36020020014101470d02200641306a21010c010b2006280210220120012802002201417f6a36020020014101470d01200641106a21010b200110d0968080000b20064190016a2480808080000ba80601037f2380808080004190016b22042480808080000240024020012d002c0d0020012802302105410021060c010b2004412a6a2001412f6a2d00003a0000200441106a2001413c6a290200370300200441186a200141c4006a290200370300200441206a200141cc006a2d00003a0000200420012f002d3b01282004200129023437030820012802302105410121060b20044100360234200420033602302004200236022c200441033a0038200441ec006a41106a200441106a290300370200200441ec006a41186a200441086a41106a2903003702002004418c016a200441086a41186a280200360200200420063a006c200420042f01283b006d2004200441286a41026a2d00003a006f2004200536027020042004290308370274200441e4006a2001200441ec006a2004412c6a200441386a10d08d808000024002400240024020042d006822034103460d0020034102470d01200441ec006a4194a5c5800041014100280288bfd3800011858080800000200141013a002c2001200429006c37002d200141356a200441ec006a41086a22032900003700002001413d6a200441ec006a41106a2202290000370000200141c5006a200441ec006a41186a2205290000370000200441ec006a4194a5c5800041014100280288bfd380001185808080000020012802582201200429006c370000200141186a2005290000370000200141106a2002290000370000200141086a20032900003700000c020b20042802642101200041043a00002000200136020420042d003822014103460d020240024020010e020104000b200428025c220120012802002201417f6a36020020014101470d03200441dc006a10d0968080000c030b200428023c220120012802002201417f6a36020020014101470d022004413c6a10d0968080000c020b20012004280264360230200141003a002c0b20002004290238370200200041286a200441386a41286a280200360200200041206a200441386a41206a290200370200200041186a200441386a41186a290200370200200041106a200441386a41106a290200370200200041086a200441386a41086a2902003702000b20044190016a2480808080000ba80601037f2380808080004190016b22042480808080000240024020012d002c0d0020012802302105410021060c010b2004412a6a2001412f6a2d00003a0000200441106a2001413c6a290200370300200441186a200141c4006a290200370300200441206a200141cc006a2d00003a0000200420012f002d3b01282004200129023437030820012802302105410121060b20044100360234200420033602302004200236022c200441033a0038200441ec006a41106a200441106a290300370200200441ec006a41186a200441086a41106a2903003702002004418c016a200441086a41186a280200360200200420063a006c200420042f01283b006d2004200441286a41026a2d00003a006f2004200536027020042004290308370274200441e4006a2001200441ec006a2004412c6a200441386a10ce8d808000024002400240024020042d006822034103460d0020034102470d01200441ec006a4194a5c5800041014100280288bfd3800011858080800000200141013a002c2001200429006c37002d200141356a200441ec006a41086a22032900003700002001413d6a200441ec006a41106a2202290000370000200141c5006a200441ec006a41186a2205290000370000200441ec006a4194a5c5800041014100280288bfd380001185808080000020012802582201200429006c370000200141186a2005290000370000200141106a2002290000370000200141086a20032900003700000c020b20042802642101200041043a00002000200136020420042d003822014103460d020240024020010e020104000b200428025c220120012802002201417f6a36020020014101470d03200441dc006a10d0968080000c030b200428023c220120012802002201417f6a36020020014101470d022004413c6a10d0968080000c020b20012004280264360230200141003a002c0b20002004290238370200200041286a200441386a41286a280200360200200041206a200441386a41206a290200370200200041186a200441386a41186a290200370200200041106a200441386a41106a290200370200200041086a200441386a41086a2902003702000b20044190016a2480808080000b4d01017f23808080800041106b2203248080808000200341086a2000200028023c20012002410110cf8980800020032d00082100200328020c2102200341106a2480808080002002410020001b0bc50602047f027e23808080800041d0006b2202248080808000024002400240024002400240024002400240024002402001280200220328020828020022042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e09010000000203040005000b200041053a00000c090b2002200110c38380800020022802000d04200241346a2001200228020410fb828080002002280234418080808078460d04200241c0006a41086a200241346a41086a28020022033602002002412f6a2003360000200220022902342206370340200041033a00002002200637002720002002290024370001200041086a2002412b6a2900003700000c080b2003280208280200220428020422054104490d0420042005417c6a36020420042004280200220541046a3602002003427f2003290300220642047c220720072006541b37030020052800002103200241086a200110c38380800020022802080d04200241246a2001200228020c10fb8280800020022802242204418080808078460d042000200229022837020c2000200436020820002003360001200041013a00000c070b2003280208280200220428020422054104490d0420042005417c6a36020420042004280200220541046a3602002003427f2003290300220642047c220720072006541b37030020052800002103200241106a200110c38380800020022802100d04200241246a2001200228021410fb8280800020022802242204418080808078460d042000200229022837020c2000200436020820002003360001200041023a00000c060b2003280208280200220428020422054104490d0420042005417c6a36020420042004280200220541046a3602002003427f2003290300220642047c220720072006541b37030020052800002103200241186a200110c38380800020022802180d04200241246a2001200228021c10fb8280800020022802242204418080808078460d042000200229022837020c2000200436020820002003360001200041003a00000c050b200041043a00000c040b200041053a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241d0006a2480808080000bab0502027f017e23808080800041e0006b2202248080808000024002400240024002400240024020012802042203450d0020012003417f6a36020420012001280200220341016a36020020032d00000e09020000000304050001000b200041053a00000c050b200041043a00000c040b200241146a200110e08b80800002402002280214418080808078460d00200241206a41086a200241146a41086a28020022013602002002410f6a2001360000200220022902142204370320200041033a00002002200437000720002002290004370001200041086a2002410b6a2900003700000c040b200041053a00000c030b200241046a200110bb8b80800002402002280208418080808078460d00200241c0006a41086a200241086a220141086a2802002203360200200220012902002204370340200228020421012002410f6a200336000020002001360001200041013a000020022004370007200020022900043700052000410c6a2002410b6a2900003700000c030b200041053a00000c020b200241046a200110bb8b80800002402002280208418080808078460d00200241d0006a41086a200241086a220141086a2802002203360200200220012902002204370350200228020421012002410f6a200336000020002001360001200041023a000020022004370007200020022900043700052000410c6a2002410b6a2900003700000c020b200041053a00000c010b200241046a200110bb8b80800002402002280208418080808078460d00200241306a41086a200241086a220141086a2802002203360200200220012902002204370330200228020421012002410f6a200336000020002001360001200041003a000020022004370007200020022900043700052000410c6a2002410b6a2900003700000c010b200041053a00000b200241e0006a2480808080000b9c0602067f017e23808080800041f0006b2202248080808000024002400240024002400240024002400240200128020022032802082204280208220520042802102206460d00200641016a2207450d05200720054b0d0620042802042105200420073602102003427f200329030042017c22082008501b370300200520066a2d00000e09010000000203040007000b200041053a00000c070b200241086a200110c283808000024020022802080d00200241246a2001200228020c10e6828080002002280224418080808078460d00200241306a41086a200241246a41086a28020022043602002002411f6a2004360000200220022902242208370330200041033a00002002200837001720002002290014370001200041086a2002411b6a2900003700000c070b200041053a00000c060b200241146a200110bc8b80800002402002280218418080808078460d00200241d0006a41086a200241186a220441086a2802002201360200200220042902002208370350200228021421042002411f6a200136000020002004360001200041013a000020022008370017200020022900143700052000410c6a2002411b6a2900003700000c060b200041053a00000c050b200241146a200110bc8b80800002402002280218418080808078460d00200241e0006a41086a200241186a220441086a2802002201360200200220042902002208370360200228021421042002411f6a200136000020002004360001200041023a000020022008370017200020022900143700052000410c6a2002411b6a2900003700000c050b200041053a00000c040b200241146a200110bc8b80800002402002280218418080808078460d00200241c0006a41086a200241186a220441086a2802002201360200200220042902002208370340200228021421042002411f6a200136000020002004360001200041003a000020022008370017200020022900143700052000410c6a2002411b6a2900003700000c040b200041053a00000c030b417f200741a8c8ca800010ac81808000000b2007200541a8c8ca800010aa81808000000b200041043a00000b200241f0006a2480808080000bb90602047f027e23808080800041d0006b2202248080808000024002400240024002400240024002400240024002402001280200220328020822042802042205450d0020042005417f6a36020420042004280200220541016a3602002003427f200329030042017c22062006501b37030020052d00000e09010000000203040005000b200041053a00000c090b2002200110c58380800020022802000d04200241346a2001200228020410e0828080002002280234418080808078460d04200241c0006a41086a200241346a41086a28020022033602002002412f6a2003360000200220022902342206370340200041033a00002002200637002720002002290024370001200041086a2002412b6a2900003700000c080b2003280208220428020422054104490d0420042005417c6a36020420042004280200220541046a3602002003427f2003290300220642047c220720072006541b37030020052800002103200241086a200110c58380800020022802080d04200241246a2001200228020c10e08280800020022802242204418080808078460d042000200229022837020c2000200436020820002003360001200041013a00000c070b2003280208220428020422054104490d0420042005417c6a36020420042004280200220541046a3602002003427f2003290300220642047c220720072006541b37030020052800002103200241106a200110c58380800020022802100d04200241246a2001200228021410e08280800020022802242204418080808078460d042000200229022837020c2000200436020820002003360001200041023a00000c060b2003280208220428020422054104490d0420042005417c6a36020420042004280200220541046a3602002003427f2003290300220642047c220720072006541b37030020052800002103200241186a200110c58380800020022802180d04200241246a2001200228021c10e08280800020022802242204418080808078460d042000200229022837020c2000200436020820002003360001200041003a00000c050b200041043a00000c040b200041053a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241d0006a2480808080000b8d0602057f017e23808080800041d0006b22022480808080000240024002400240024002400240024002400240024002400240024002402001280204200128020c22034b0d0020012802082203280208220420032802102205460d02200541016a2206450d0d200620044b0d0e2003280204210420032006360210200420056a2d000021030c010b2001200341016a36020c200128020020036a2d000021030b200341ff01710e09010000000203040005000b200041053a00000c090b2002200110bf8380800020022802000d04200241346a2001200228020410e4828080002002280234418080808078460d04200241c0006a41086a200241346a41086a28020022013602002002412f6a2001360000200220022902342207370340200041033a00002002200737002720002002290024370001200041086a2002412b6a2900003700000c080b200241003602242001200241246a410410bc838080000d0420022802242103200241086a200110bf8380800020022802080d04200241246a2001200228020c10e48280800020022802242201418080808078460d042000200229022837020c2000200136020820002003360001200041013a00000c070b200241003602242001200241246a410410bc838080000d0420022802242103200241106a200110bf8380800020022802100d04200241246a2001200228021410e48280800020022802242201418080808078460d042000200229022837020c2000200136020820002003360001200041023a00000c060b200241003602242001200241246a410410bc838080000d0420022802242103200241186a200110bf8380800020022802180d04200241246a2001200228021c10e48280800020022802242201418080808078460d042000200229022837020c2000200136020820002003360001200041003a00000c050b200041043a00000c040b200041053a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241d0006a2480808080000f0b417f200641a8c8ca800010ac81808000000b2006200441a8c8ca800010aa81808000000b970702067f027e23808080800041d0006b220224808080800002400240024002400240200128020022032802082204280204200428020c22054b0d00024020042802082204280208220620042802102205470d00410121040c030b200541016a2207450d03200720064b0d042004280204210620042007360210200620056a2d000021050c010b2004200541016a36020c200428020020056a2d000021050b2003427f200329030042017c22082008501b370300410021040b0240024002400240024002400240024002400240024020044101710d00200541ff01710e09010000000203040005000b200041053a00000c090b2002200110c18380800020022802000d04200241346a2001200228020410f3828080002002280234418080808078460d04200241c0006a41086a200241346a41086a28020022043602002002412f6a2004360000200220022902342208370340200041033a00002002200837002720002002290024370001200041086a2002412b6a2900003700000c080b200241003602242003280208200241246a410410bc838080000d042003427f2003290300220842047c220920092008541b37030020022802242104200241086a200110c18380800020022802080d04200241246a2001200228020c10f38280800020022802242203418080808078460d042000200229022837020c2000200336020820002004360001200041013a00000c070b200241003602242003280208200241246a410410bc838080000d042003427f2003290300220842047c220920092008541b37030020022802242104200241106a200110c18380800020022802100d04200241246a2001200228021410f38280800020022802242203418080808078460d042000200229022837020c2000200336020820002004360001200041023a00000c060b200241003602242003280208200241246a410410bc838080000d042003427f2003290300220842047c220920092008541b37030020022802242104200241186a200110c18380800020022802180d04200241246a2001200228021c10f38280800020022802242203418080808078460d042000200229022837020c2000200336020820002004360001200041003a00000c050b200041043a00000c040b200041053a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241d0006a2480808080000f0b417f200741a8c8ca800010ac81808000000b2007200641a8c8ca800010aa81808000000bfd0602057f017e23808080800041d0006b220224808080800002400240024002400240024002400240024002400240024002400240024002400240024002402001280208220320012802102204460d00200441016a2205450d0b20032005490d0c2001280204210620012005360210200620046a2d00000e09010000000203040005000b200041053a00000c090b2002200110c48380800020022802000d04200241346a2001200228020410dd828080002002280234418080808078460d04200241c0006a41086a200241346a41086a28020022013602002002412f6a2001360000200220022902342207370340200041033a00002002200737002720002002290024370001200041086a2002412b6a2900003700000c080b200320056b4104490d04200441056a21042005417b4b0d0a200420034b0d0b20012004360210200620056a2800002104200241086a200110c48380800020022802080d04200241246a2001200228020c10dd8280800020022802242201418080808078460d042000200229022837020c2000200136020820002004360001200041013a00000c070b200320056b4104490d04200441056a21042005417b4b0d0b200420034b0d0c20012004360210200620056a2800002104200241106a200110c48380800020022802100d04200241246a2001200228021410dd8280800020022802242201418080808078460d042000200229022837020c2000200136020820002004360001200041023a00000c060b200320056b4104490d04200441056a21042005417b4b0d0c200420034b0d0d20012004360210200620056a2800002104200241186a200110c48380800020022802180d04200241246a2001200228021c10dd8280800020022802242201418080808078460d042000200229022837020c2000200136020820002004360001200041003a00000c050b200041043a00000c040b200041053a00000c030b200041053a00000c020b200041053a00000c010b200041053a00000b200241d0006a2480808080000f0b417f200541a8c8ca800010ac81808000000b2005200341a8c8ca800010aa81808000000b2005200441a8c8ca800010ac81808000000b2004200341a8c8ca800010aa81808000000b2005200441a8c8ca800010ac81808000000b2004200341a8c8ca800010aa81808000000b2005200441a8c8ca800010ac81808000000b2004200341a8c8ca800010aa81808000000b110020002001200128023c10d2898080000bce0201087f23808080800041106b22032480808080002000280214220420002802102205200420054b1b2106200028020c21070240024002400340024020020d00410021040c040b20062004460d012000200441016a22083602142002417f6a2102200720046a210920012d0000210a20082104200141016a2101200a20092d0000460d000b200341086a20072005200810829280800041002d00b8bfd380001a200328020c2101200328020821020240411441002802b0bfd38000118280808000002204450d00200441093602000c020b4104411410b980808000000b200320072005200610829280800041002d00b8bfd380001a20032802042101200328020021020240411441002802b0bfd38000118280808000002204450d00200441053602000c010b4104411410b980808000000b2004200236020c200420013602100b200341106a24808080800020040bfd0401087f23808080800041106b22022480808080004100210302400240024020002802142204200028021022054f0d000240200028020c220620046a2d0000220741e500460d00200741c500460d002007412e470d012000200441016a22083602140240200128020822072001280200470d002001419499c6800010ad808080000b200128020420076a412e3a00002001200741016a2209360208024002400240200820054f0d00200441026a2104200620086a2d0000220841506a41ff017141094b0d0120002004360214024020092001280200470d002001419499c6800010ad808080000b200128020420096a20083a00002001200741026a2207360208200420054f0d040340200620046a2d0000220841506a41ff017141094b0d032000200441016a2204360214024020072001280200470d002001419499c6800010ad808080000b200128020420076a20083a00002001200741016a220736020820052004470d000c050b0b200241086a20062005200441026a2200200520002005491b10829280800041002d00b8bfd380001a200228020c210020022802082101411441002802b0bfd38000118280808000002203450d042003200136020c20034105360200200320003602100c030b2002200620052004200520042005491b10829280800041002d00b8bfd380001a2002280204210020022802002101411441002802b0bfd38000118280808000002203450d042003200136020c2003410d360200200320003602100c020b200841207241e500470d0120002008200110e38d80800021030c010b20002007200110e38d80800021030b200241106a24808080800020030f0b4104411410b980808000000b4104411410b980808000000b830501067f23808080800041106b220324808080800020002000280214220441016a2205360214024002402001418001490d002001413f7141807f7221062001410676414072210702402002280200200228020822016b41014b0d002002200141024101410110948a808000200228020821010b200228020420016a2006410874200741ff0171723b0000200228020841026a21010c010b0240200228020822062002280200470d002002419499c6800010ad808080000b200228020420066a20013a0000200641016a21010b200220013602080240200520002802104f0d000240024002400240200028020c20056a2d0000220541556a0e03000401040b2000200441026a36021420012002280200470d020c010b2000200441026a36021420012002280200470d010b2002419499c6800010ad808080000b200228020420016a20053a00002002200141016a3602080b200341086a2000200210e48d80800002400240024020032d00080d00024020032d000941506a41ff0171410a490d002003200028020c2000280210200028021410829280800041002d00b8bfd380001a2003280204210220032802002101411441002802b0bfd38000118280808000002208450d022008200136020c2008410d360200200820023602100c030b4100210820002802142201200028021022044f0d02200028020c21070340200720016a2d0000220641506a41ff017141094b0d032000200141016a22013602140240200228020822052002280200470d002002419499c6800010ad808080000b200228020420056a20063a00002002200541016a36020820042001470d000c030b0b200328020c21080c010b4104411410b980808000000b200341106a24808080800020080bfa0201057f23808080800041106b22032480808080000240024002402001280214220420012802102205490d00200341086a200128020c2005200410829280800041002d00b8bfd380001a200328020c210220032802082104411441002802b0bfd38000118280808000002201450d022001200436020c200141053602002000200136020420012002360210410121010c010b2001200441016a36021402400240200128020c20046a2c00002201417f4a0d00200141bf01712105200141c00171410676414072210602402002280200200228020822046b41014b0d002002200441024101410110948a808000200228020821040b200228020420046a220720053a0001200720063a00002002200441026a3602080c010b0240200228020822042002280200470d002002419499c6800010ad808080000b200228020420046a20013a00002002200441016a3602080b200020013a0001410021010b200020013a0000200341106a2480808080000f0b4104411410b980808000000b910401067f23808080800041206b2202248080808000200241186a2000200110e48d808000024002400240024020022d00180d0002400240024020022d001922034130470d00024020002802142203200028021022044f0d00200028020c220520036a2d000041506a41ff0171410a490d020b2000200110e28d80800021010c060b2003414f6a41ff017141084b0d01024020002802142203200028021022064f0d00200028020c21070340200720036a2d0000220541506a41ff017141094b0d012000200341016a22033602140240200128020822042001280200470d002001419499c6800010ad808080000b200128020420046a20053a00002001200441016a36020820062003470d000b0b2000200110e28d80800021010c050b200241086a20052004200341016a2201200420012004491b10829280800041002d00b8bfd380001a200228020c210320022802082104411441002802b0bfd38000118280808000002201450d022001200436020c2001410d360200200120033602100c040b200241106a200028020c2000280210200028021410829280800041002d00b8bfd380001a2002280214210320022802102104411441002802b0bfd38000118280808000002201450d022001200436020c2001410d360200200120033602100c030b200228021c21010c020b4104411410b980808000000b4104411410b980808000000b200241206a24808080800020010bca04010a7f23808080800041106b220524808080800020012001280214220641016a220736021402400240024002402007200128021022084f0d00200128020c20076a2109200620086b41016a210a4100210b0240034002402009200b6a2d0000220c41506a220d41ff0171220e410a490d000240200b0d002006200b6a41016a21070c040b2004200b6b210b0240200c41207241e500460d002000200120022003200b10e78d8080000c050b2000200120022003200b10e88d8080000c040b024020034298b3e6cc99b3e6cc19580d0020034299b3e6cc99b3e6cc19520d02200e41054b0d020b20012006200b6a41026a3602142003420a7e200dad42ff01837c2103200a200b41016a220b6a0d000b2000200120022003200720046a20086b10e78d8080000c020b20002001200220032004200b6b10e98d8080000c010b200741016a220b2008200b2008491b210b024020072008490d00200541086a200128020c2008200b10829280800041002d00b8bfd380001a200528020c210d20052802082101411441002802b0bfd3800011828080800000220b450d02200b200136020c200b41053602002000200b36020420004101360200200b200d3602100c010b2005200128020c2008200b10829280800041002d00b8bfd380001a2005280204210d20052802002101411441002802b0bfd3800011828080800000220b450d02200b200136020c200b410d3602002000200b36020420004101360200200b200d3602100b200541106a2480808080000f0b4104411410b980808000000b4104411410b980808000000bcb0304017f017c017f017c23808080800041106b22052480808080002003ba21060240024002400240024002400240024020042004411f7522077320076b220741b502490d0003402006440000000000000000610d072004417f4a0d02200644a0c8eb85f3cce17fa32106200441b4026a22042004411f7522077320076b220741b5024f0d000b0b200741037441b8d2cb80006a2b030021082004417f4a0d0120062008a321060c050b200541086a200128020c2001280210200128021410829280800041002d00b8bfd380001a200528020c210720052802082102411441002802b0bfd38000118280808000002204450d022004200236020c2004410e36020020002004360204200420073602100c010b20062008a222069944000000000000f07f620d032005200128020c2001280210200128021410829280800041002d00b8bfd380001a2005280204210720052802002102411441002802b0bfd38000118280808000002204450d022004200236020c2004410e36020020002004360204200420073602100b410121040c030b4104411410b980808000000b4104411410b980808000000b2000200620069a20021b390308410021040b20002004360200200541106a2480808080000be50401077f23808080800041106b22052480808080004101210620012001280214220741016a220836021402402008200128021022094f0d004101210602400240200128020c20086a2d000041556a0e03010200020b410021060b2001200741026a22083602140b02400240024002400240024002400240200820094f0d002001200841016a2207360214200128020c220a20086a2d000041506a41ff01712208410a4f0d010240200720094f0d000340200a20076a2d000041506a41ff0171220b410a4f0d012001200741016a22073602140240200841cb99b3e6004c0d00200841cc99b3e600470d07200b41074b0d070b2008410a6c200b6a210820092007470d000b0b20060d02200420086b2207411f75418080808078732007200841004a2007200448731b21070c030b200541086a200128020c2009200810829280800041002d00b8bfd380001a200528020c210820052802082101411441002802b0bfd38000118280808000002207450d042007200136020c200741053602002000200736020420004101360200200720083602100c060b2005200a2009200710829280800041002d00b8bfd380001a2005280204210820052802002101411441002802b0bfd38000118280808000002207450d042007200136020c2007410d3602002000200736020420004101360200200720083602100c050b200420086a2207411f7541808080807873200720084100482007200448731b21070b2000200120022003200710e78d8080000c030b200020012002200350200610ec8d8080000c020b4104411410b980808000000b4104411410b980808000000b200541106a2480808080000b7f01047f0240024020012802142205200128021022064f0d00200128020c210702400340200720056a2d0000220841506a41ff017141094b0d012001200541016a220536021420062005470d000c020b0b200841207241e500460d010b2000200120022003200410e78d8080000f0b2000200120022003200410e88d8080000bd90804067f017e017f017e23808080800041306b220324808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240024020012802142204200128021022054f0d002001200441016a2206360214200128020c220720046a2d000022084130470d040240200620054f0d00200720066a2d0000220641506a41ff0171410a490d042006412e460d02200641c500460d03200641e500460d030b4200428080808080808080807f20021b21090c130b200341186a200128020c2005200410829280800041002d00b8bfd380001a200328021c210120032802182104411441002802b0bfd38000118280808000002206450d062006200436020c200641053602002000200636020420004104360200200620013602100c130b200341206a200120024200410010e68d80800020032802200d030c100b200341206a200120024200410010e88d8080002003280220450d0f20002003280224360204200041043602000c110b200341086a20072005200441026a2206200520062005491b10829280800041002d00b8bfd380001a200328020c210120032802082104411441002802b0bfd38000118280808000002206450d042006200436020c2006410d3602002000200636020420004104360200200620013602100c100b02402008414f6a41ff01714109490d00200341106a20072005200610829280800041002d00b8bfd380001a2003280214210120032802102104411441002802b0bfd38000118280808000002206450d052006200436020c2006410d3602002000200636020420004104360200200620013602100c100b200841506aad42ff01832109200620054f0d060c010b20002003280224360204200041043602000c0e0b0340200720066a2d0000220a41506a220441ff01712208410a4f0d040240024020094299b3e6cc99b3e6cc19540d0020094299b3e6cc99b3e6cc19520d01200841054b0d010b2001200641016a22063602142009420a7e2004ad42ff01837c210920052006460d060c010b0b200341206a20012002200910eb8d808000024020032802200d00200020032b0328390308200041003602000c0e0b20002003280224360204200041043602000c0d0b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000b200a412e460d01200a41c500460d02200a41e500460d020b2002450d02410121060c050b41002106200341206a200120022009410010e68d80800020032802200d020c030b41002106200341206a200120022009410010e88d8080002003280220450d0220002003280224360204200041043602000c060b0240420020097d220b4200590d0041022106200b21090c030b2009babd428080808080808080807f842109410021060c020b20002003280224360204200041043602000c040b200329032821090b20002009370308200020063602000c020b20032903282109410021020b20002009370308200020023602000b200341306a2480808080000bbd0101057f410021040240024020012802102205200128021422064d0d00200641016a2107200520066b2108200128020c20066a21054100210403400240200520046a2d0000220641506a41ff0171410a490d002006412e460d030240200641c500460d00200641e500470d030b2000200120022003200410e88d8080000f0b2001200720046a3602142008200441016a2204470d000b200821040b2000200120022003200410e78d8080000f0b2000200120022003200410e68d8080000b980201027f23808080800041106b220524808080800002400240024002402004450d002003450d010b20012802142204200128021022034f0d01200128020c21060340200620046a2d000041506a41ff0171410a4f0d022001200441016a220436021420032004470d000c020b0b200541086a200128020c2001280210200128021410829280800041002d00b8bfd380001a200528020c2101200528020821030240411441002802b0bfd38000118280808000002204450d002004200336020c2004410e3602002000200436020420042001360210410121040c020b4104411410b980808000000b200044000000000000000044000000000000008020021b390308410021040b20002004360200200541106a2480808080000bed0702027f027e23808080800041c0006b220324808080800041002d00b8bfd380001a024002400240024002400240024002400240411041002802b0bfd38000118280808000002204450d002003410036023c200320043602382003411036023402400240024002400240024020020d002004412d3a00002003410136023c2001200341346a10e58d80800022040d0120032802382104200328023c22020e020b02030b2001200341346a10e58d8080002204450d040b20004104360200200020043602040c0b0b20042d0000220141556a0e03080108010b20042d000021010b0240024002400240200141ff017141556a0e03000201020b2002417f6a2101200441016a210420024111490d02200121020c080b2002417f6a2101200441016a2104024020024111490d004200210503402001450d0b200341206a20052005423f87420a420010f19680800020042d000041506a220241094b0d0a200329032820032903202206423f87520d0a200441016a21042001417f6a21012002ad2205420055200620057d220520065373450d000c0a0b0b420021052001450d09034020042d000041506a220241094b0d09200441016a21042005420a7e2002ad7d21052001417f6a22010d000c0a0b0b2002410f4b0d060c050b2001210220010d04420021050c070b20032802382104024002400240200328023c22010e020800010b4101210220042d000041556a0e03070107010b024020042d0000412b470d002001417f6a2102200441016a210420014112490d010c030b20012102200141114f0d020b42002105034020042d000041506a220141094b0d06200441016a21042005420a7e2001ad7c21052002417f6a22020d000c030b0b4101411041c488c6800010ae80808000000b4200210503402002450d01200320054200420a420010f19680800020042d000041506a220141094b0d0420032903084200520d04200441016a21042002417f6a2102200329030022062001ad7c22052006540d040c000b0b20002005370308200041013602000c040b42002105034020042d000041506a220141094b0d02200441016a21042005420a7e2001ad7c21052002417f6a2202450d030c000b0b4200210503402002450d02200341106a20052005423f87420a420010f19680800020042d000041506a220141094b0d01200329031820032903102206423f87520d01200441016a21042002417f6a21022001ad2205420053200620057c220520065373450d000b0b20002003290234370204200041033602002000410c6a2003413c6a2802003602000c020b20002005370308200041023602000b2003280234450d00200328023841002802a8bfd38000118080808000000b200341c0006a2480808080000bb70e01087f2380808080004180016b2203248080808000200028020c210402400240024002400240024002400240024002400240024020002802142205200028021022064f0d00024002400240024002400240024002400240024002400240200420056a2d0000220741a57f6a0e21040b0b0b0b0b0b0b0b0b0b030b0b0b0b0b0b0b010b0b0b0b0b020b0b0b0b0b0b05000b2007415e6a0e0c090a0a0a0a0a0a0a0a0a0a080a0b2000200541016a2207360214200720064f0d132000200541026a22083602140240200420076a2d000041f500470d002006210720062008460d142000200541036a22093602140240200420086a2d000041ec00460d00200921080c010b2006210720092006460d142000200541046a2208360214200420096a2d000041ec00460d050b200341186a20042006200810829280800041002d00b8bfd380001a200328021c210020032802182106411441002802b0bfd38000118280808000002205450d0d2005200636020c20054109360200200520003602100c140b2000200541016a2207360214200720064f0d112000200541026a22083602140240200420076a2d000041f200470d002006210720062008460d122000200541036a22093602140240200420086a2d000041f500460d00200921080c010b2006210720092006460d122000200541046a2208360214200420096a2d000041e500460d050b200341286a20042006200810829280800041002d00b8bfd380001a200328022c210020032802282106411441002802b0bfd38000118280808000002205450d0d2005200636020c20054109360200200520003602100c130b2000200541016a2207360214200720064f0d0f2000200541026a22083602140240200420076a2d000041e100470d002006210720062008460d102000200541036a22093602140240200420086a2d000041ec00460d00200921080c010b2006210720092006460d102000200541046a220a3602140240200420096a2d000041f300460d00200a21080c010b20062107200a2006460d102000200541056a22083602142004200a6a2d000041e500460d050b200341386a20042006200810829280800041002d00b8bfd380001a200328023c210020032802382106411441002802b0bfd38000118280808000002205450d0d2005200636020c20054109360200200520003602100c120b2003410a3a0070200341f0006a2001200210ff91808000200010ef8d80800021050c110b2003410b3a0070200341f0006a2001200210ff91808000200010ef8d80800021050c100b200341073a0070200341f0006a2001200210ff91808000200010ef8d80800021050c0f0b20034180023b0170200341f0006a2001200210ff91808000200010ef8d80800021050c0e0b200341003b0170200341f0006a2001200210ff91808000200010ef8d80800021050c0d0b2000200541016a360214200341f0006a2000410010ed8d80800020032802704104460d04200341c0006a41086a200341f0006a41086a29030037030020032003290370370340200341c0006a2001200210e491808000200010ef8d80800021050c0c0b200041003602082000200541016a360214200341e4006a2000410c6a20001084928080002003280268210520032802644102460d0b2003200328026c36027820032005360274200341053a0070200341f0006a2001200210ff91808000200010ef8d80800021050c0b0b200741506a41ff0171410a490d010b200341086a20042006200541016a2205200620052006491b10829280800041002d00b8bfd380001a200328020c210620032802082104411441002802b0bfd38000118280808000002205450d052005200436020c2005410a360200200520063602102005200010ef8d80800021050c090b200341f0006a2000410110ed8d80800020032802704104460d00200341d0006a41086a200341f0006a41086a29030037030020032003290370370350200341d0006a2001200210e491808000200010ef8d80800021050c080b200328027421050c070b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000b200341306a20042006200710829280800041002d00b8bfd380001a20032802342100200328023021060240411441002802b0bfd38000118280808000002205450d002005200636020c20054105360200200520003602100c030b4104411410b980808000000b200341206a20042006200710829280800041002d00b8bfd380001a20032802242100200328022021060240411441002802b0bfd38000118280808000002205450d002005200636020c20054105360200200520003602100c020b4104411410b980808000000b200341106a20042006200710829280800041002d00b8bfd380001a2003280214210020032802102106411441002802b0bfd38000118280808000002205450d012005200636020c20054105360200200520003602100b20034180016a24808080800020050f0b4104411410b980808000000be40101047f23808080800041206b2202248080808000024002400240200028020c450d00200021010c010b200241106a41086a2203200041086a28020036020020022000290200370310200241086a200128020c2001280210200128021410829280800041002d00b8bfd380001a200228020c210420022802082105411441002802b0bfd38000118280808000002201450d0120012002290310370200200141086a20032802003602002001200536020c20012004360210200041002802a8bfd38000118080808000000b200241206a24808080800020010f0b4104411410b980808000000b930301047f23808080800041106b2201248080808000200028020c210202400240024002400240024020002802142203200028021022044f0d0003400240200220036a2d000041776a0e320000040400040404040404040404040404040404040404000404040404040404040404040404040404040404040404040403040b2000200341016a220336021420042003470d000b200421030b200141086a20022004200341016a2203200420032004491b10829280800041002d00b8bfd380001a200128020c210020012802082104411441002802b0bfd38000118280808000002203450d032003200436020c20034103360200200320003602100c020b2000200341016a360214410021030c010b200120022004200341016a2203200420032004491b10829280800041002d00b8bfd380001a2001280204210020012802002104411441002802b0bfd38000118280808000002203450d022003200436020c20034106360200200320003602100b200141106a24808080800020030f0b4104411410b980808000000b4104411410b980808000000b8a0401057f23808080800041206b2201248080808000200028020c210202400240024002400240024002400240024020002802142203200028021022044f0d0003400240200220036a2d0000220541776a0e24000004040004040404040404040404040404040404040400040404040404040404040406030b2000200341016a220336021420042003470d000b200421030b200141106a20022004200341016a2203200420032004491b10829280800041002d00b8bfd380001a2001280214210420012802102100411441002802b0bfd38000118280808000002203450d052003200036020c20034103360200200320043602100c040b200541fd00460d010b200141086a20022004200341016a2203200420032004491b10829280800041002d00b8bfd380001a200128020c210420012802082100411441002802b0bfd38000118280808000002203450d042003200036020c20034116360200200320043602100c020b2000200341016a360214410021030c010b200141186a20022004200341016a2203200420032004491b10829280800041002d00b8bfd380001a200128021c210420012802182100411441002802b0bfd38000118280808000002203450d032003200036020c20034115360200200320043602100b200141206a24808080800020030f0b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000bd80501067f23808080800041206b2201248080808000200028020c210202400240024002400240024002400240024002400240024020002802142203200028021022044f0d0003400240200220036a2d0000220541776a0e24000004040004040404040404040404040404040404040400040404040404040404040406030b2000200341016a220336021420042003470d000b200421030b200141086a20022004200341016a2203200420032004491b10829280800041002d00b8bfd380001a200128020c210420012802082100411441002802b0bfd38000118280808000002203450d042003200036020c20034102360200200320043602100c080b200541dd00460d010b200120022004200341016a2203200420032004491b10829280800041002d00b8bfd380001a2001280204210420012802002100411441002802b0bfd38000118280808000002203450d032003200036020c20034116360200200320043602100c060b2000200341016a360214410021030c050b2000200341016a2203360214200320044f0d030340200220036a2d0000220641776a220541174b0d034101200574419380800471450d032000200341016a220336021420042003470d000b200421030c030b4104411410b980808000000b4104411410b980808000000b200641dd00470d00200141186a20022004200341016a2203200420032004491b10829280800041002d00b8bfd380001a200128021c210420012802182100411441002802b0bfd38000118280808000002203450d032003200036020c20034115360200200320043602100c010b200141106a20022004200341016a2203200420032004491b10829280800041002d00b8bfd380001a2001280214210420012802102100411441002802b0bfd38000118280808000002203450d012003200036020c20034116360200200320043602100b200141206a24808080800020030f0b4104411410b980808000000b4104411410b980808000000bf30601087f23808080800041106b2205248080808000410121064100210702400240200441017420026a22084100480d002008450d0141002d00b8bfd380001a200841002802b0bfd380001182808080000022060d01410121070b2007200841c488c6800010ae80808000000b4100210720054100360208200520063602042005200836020002402002450d00200120026a21022005410c6a41037221092005410c6a410272210a2005410c6a410172210b41002107034002400240024020012c00002208417f4c0d00200141016a2101200841ff017121080c010b20012d0001413f7121062008411f71210c024002402008415f4b0d00200c4106742006722108200141026a21010c010b200641067420012d0002413f717221060240200841704f0d002006200c410c74722108200141036a21010c010b200641067420012d0003413f7172200c411274418080f00071722108200141046a21010b2008418001490d002005410036020c024002402008418010490d000240200841808004490d002005200841127641f001723a000c20052008410676413f71418001723a000e20052008410c76413f71418001723a000d410421062009210c0c020b20052008410c7641e001723a000c20052008410676413f71418001723a000d41032106200a210c0c010b2005200841067641c001723a000c41022106200b210c0b200c2008413f71418001723a00000240200528020020076b20064f0d002005200720064101410110948a808000200528020821070b200528020420076a2005410c6a200610e9968080001a200528020820066a21070c010b024020072005280200470d002005419499c6800010ad808080000b200528020420076a20083a0000200741016a21070b2005200736020820012002470d000b0b02402004450d00034020032d000022014104762208413072200841d7006a200141a001491b2108024020072005280200470d002005419499c6800010ad808080000b200528020420076a20083a00002005200741016a2208360208024020082005280200470d002005419499c6800010ad808080000b200341016a2103200528020420076a41016a2001410f712207413072200741d7006a2007410a491b3a00002005200841016a22073602082004417f6a22040d000b0b20002005290200370200200041086a200541086a280200360200200541106a2480808080000ba70401097f23808080800041106b220324808080800002400240200241024f0d00410021040c010b200141026a410020012f000041002f00988bc08000461b21042002417e6a21050b024002402005200220041b22064101710d00410021052003410036020c20034280808080103702040240024002400240200620064101766b2207450d002004200120041b2108410021020340024002400240200220064f0d00200241016a20064f0d07200820026a220441016a2d0000210920042d0000220a412072220141506a220441ff0171410a490d022001419f7f6a41ff017141054d0d01200a21090c060b2002200641b48bc6800010f580808000000b200141a97f6a21040b02402009412072220a41506a220141ff0171410a490d00200a419f7f6a41ff017141054b0d03200a41a97f6a21010b2001200441047472210b024020052003280204470d00200341046a41d48bc6800010ad808080000b200328020820056a200b3a00002003200541016a220536020c200241026a210220072005470d000b0b20002003290204370204200041003602002000410c6a2003410c6a2802003602000c040b200241016a21020b200020023602082000200b3a0005200041013a0004200041013602002000200941ff017136020c2003280204450d02200328020841002802a8bfd38000118080808000000c020b200241016a200641c48bc6800010f580808000000b20004101360200200041003a00040b200341106a2480808080000b8c0901097f23808080800041c0016b2204248080808000200141046a210502400240200128024422060d004100210720044100360200410021080c010b200441f8006a41186a200541186a290000370300200441f8006a41106a200541106a290000370300200441f8006a41086a200541086a2900003703002004200529000037037820042006200441f8006a10b28b8080002004280200220641004721072004410020061b21080b02400240024002400240200128024822060d004100210920044100360210410021060c010b200128024c22092802080d01200941086a220a417f36020020062802080d02200641086a220b417f3602002001280250220c2802080d03200c417f3602082004200c41086a3602242004200a36021c2004200b3602142004200c41106a36022020042009410c6a3602182004200641106a220636021020064100472109200441106a410020061b21060b20042005360274200441f48fc680003602702004200136026c200441b890c680003602682004200636026441002106200441003602602004200936025c2004419c90c6800036025820042008360254200441003602502004200736024c4100210c02402007450d00200441d4006a210c2004417f3602500b02402009450d00200441e4006a21062004417f3602600b4100210702400240200c0d00410021080c010b200c2802042109200c28020021080b0240024020060d000c010b2006280204210a200628020021070b200441f8006a41106a200541086a290200370200200441f8006a41186a200541106a29020037020020044198016a200541186a290200370200200441f48fc6800036027c200420013602782004200a3602ac01200420073602a801200420093602a401200420083602a0012004200529020037028001200441003602bc01200420033602b801200420023602b401200441286a200441f8006a20022003200441b4016a10c58480800002402006450d002004200428026041016a3602600b0240200c450d002004200428025041016a3602500b0240024020042d00280d0020002004290029370000200041206a200441c9006a2d00003a0000200041186a200441c1006a290000370000200041106a200441396a290000370000200041086a200441316a2900003700000c010b0240024002400240200428022c220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020841002802a8bfd38000118080808000000c020b2005280204450d01200528020841002802a8bfd38000118080808000000c010b200510f68d8080000b200541002802a8bfd3800011808080800000200041023a00000b02402004280210450d0020042802142205200528020041016a360200200428021c2205200528020041016a36020020042802242205200528020041016a3602000b02402004280200450d0020042802042205200528020041016a3602002004280208450d00200428020c2205200528020041016a3602000b200441c0016a2480808080000f0b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000bc00101027f024002400240024020002802002201418080808078732202410220024104491b0e0403030100030b0240024002402000280204220028020041fcffffff076a2202410320024105491b0e0404040102000b2000280204450d03200028020841002802a8bfd38000118080808000000c030b2000280204450d02200028020841002802a8bfd38000118080808000000c020b200010f68d8080000c010b2001450d01200028020421000b200041002802a8bfd38000118080808000000b0b910901097f23808080800041c0016b220424808080800020014190016a21050240024020012802000d004100210620044100360200410021070c010b200441f8006a41186a200541186a290000370300200441f8006a41106a200541106a290000370300200441f8006a41086a200541086a290000370300200420052900003703782004200141086a200441f8006a10b28b8080002004280200220841004721062004410020081b21070b0240024002400240024020012802d00122080d004100210920044100360210410021080c010b20012802d40122092802080d01200941086a220a417f36020020082802080d02200841086a220b417f36020020012802d801220c2802080d03200c417f3602082004200c41086a3602242004200a36021c2004200b3602142004200c41106a36022020042009410c6a3602182004200841106a220836021020084100472109200441106a410020081b21080b20042005360274200441e08fc680003602702004200136026c200441b890c680003602682004200836026441002108200441003602602004200936025c2004419c90c6800036025820042007360254200441003602502004200636024c4100210c02402006450d00200441d4006a210c2004417f3602500b02402009450d00200441e4006a21082004417f3602600b4100210602400240200c0d00410021070c010b200c2802042109200c28020021070b0240024020080d000c010b2008280204210a200828020021060b200441f8006a41106a200541086a290200370200200441f8006a41186a200541106a29020037020020044198016a200541186a290200370200200441e08fc6800036027c200420013602782004200a3602ac01200420063602a801200420093602a401200420073602a0012004200529020037028001200441003602bc01200420033602b801200420023602b401200441286a200441f8006a20022003200441b4016a10c58480800002402008450d002004200428026041016a3602600b0240200c450d002004200428025041016a3602500b0240024020042d00280d0020002004290029370000200041206a200441c9006a2d00003a0000200041186a200441c1006a290000370000200041106a200441396a290000370000200041086a200441316a2900003700000c010b0240024002400240200428022c220528020041fcffffff076a2201410320014105491b0e0403030102000b2005280204450d02200528020841002802a8bfd38000118080808000000c020b2005280204450d01200528020841002802a8bfd38000118080808000000c010b200510f68d8080000b200541002802a8bfd3800011808080800000200041023a00000b02402004280210450d0020042802142205200528020041016a360200200428021c2205200528020041016a36020020042802242205200528020041016a3602000b02402004280200450d0020042802042205200528020041016a3602002004280208450d00200428020c2205200528020041016a3602000b200441c0016a2480808080000f0b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000bd90b02087f017e23808080800041f0016b2205248080808000200541ac016a2001200210f98d80800002400240024002400240024020052d00ac0122064102460d00200541206a41186a2207200541c5016a290000370300200541206a41106a2208200541bd016a290000370300200541206a41086a2209200541b5016a290000370300200520052900ad01370320418080808078210a2006410171450d01200541186a2007290300370300200541106a2008290300370300200541086a200929030037030020052005290320370300024002402001280244220a0d004100210a20054100360240410021080c010b200541c0006a200a200541206a10b28b80800020052802402206410047210a200541c0006a410020061b21080b02400240200128024822060d004100210620054100360250410021070c010b200128024c22092802080d04200941086a220b417f36020020062802080d05200641086a220c417f360200200128025022072802080d062007417f3602082005200741086a3602642005200b36025c2005200c3602542005200741106a36026020052009410c6a3602582005200641106a220736025020074100472106200541d0006a410020071b21070b2005200229020437026c20052001360268200541c09fc680003602a401200541b890c6800036029c01200520073602980141002101200541003602940120052006360290012005419c90c6800036028c01200520083602880120054100360284012005200a36028001200520053602a8012005200541e8006a3602a001410021020240200a450d0020054188016a21022005417f360284010b02402006450d0020054198016a21012005417f360294010b4100210a0240024020020d00410021070c010b20022802042106200228020021070b0240024020010d000c010b200128020421082001280200210a0b200541ac016a41106a200541086a290300370200200541ac016a41186a200541106a290300370200200541cc016a200541186a290300370200200541c09fc680003602b001200520052903003702b401200520083602e0012005200a3602dc01200520063602d801200520073602d4012005200541e8006a3602ac01200541003602ec01200520043602e801200520033602e401200541f4006a200541ac016a20032004200541e4016a10c98480800002402001450d00200520052802940141016a360294010b02402002450d00200520052802840141016a360284010b0240024002400240200528027422014180808080786a0e020102000b2005290278220d422088a721020240024002400240200d4200590d00410021050c010b200528027821040240200d4280808080105a0d004101210a410021060c030b41002d00b8bfd380001a200241002802b0bfd3800011828080800000220a0d01410121050b2005200241fc98c6800010ae80808000000b200221060b200a200da7200210e996808000210202402001450d00200441002802a8bfd38000118080808000000b200d4280808080f0ffffffff00832002ad84210d200621010b2000200d4220883e02082000200d3e0204200020013602000c010b02400240024002402005280278220128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020841002802a8bfd38000118080808000000c020b2001280204450d01200128020841002802a8bfd38000118080808000000c010b200110f68d8080000b200141002802a8bfd380001180808080000020004181808080783602000b02402005280250450d0020052802542201200128020041016a360200200528025c2201200128020041016a36020020052802642201200128020041016a3602000b2005280240450d0220052802442201200128020041016a3602002005280248450d02200528024c2201200128020041016a3602000c020b418180808078210a0b2000200a3602000b200541f0016a2480808080000f0b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000bab0303027f027e017f23808080800041f0006b2203248080808000200341306a200210ab968080002003280234210220032003280238360244200320023602402003200136023c2003200341ef006a36024841002104200341003a004e200341246a2001200341ce006a2003413c6a108a8e80800002400240024020032802242201418180808078460d0002402001418080808078460d002003290228220542208822064220520d0320032802282107200341186a2005a7220441186a290000370300200341106a200441106a290000370300200341086a200441086a29000037030020032004290000370300410121042001450d00200741002802a8bfd38000118080808000000b02402003280230450d00200241002802a8bfd38000118080808000000b200020043a000020002003290300370001200041096a200341086a290300370000200041116a200341106a290300370000200041196a200341186a2903003700000c010b200041023a00002003280230450d00200241002802a8bfd38000118080808000000b200341f0006a2480808080000f0b41202006a741d08fc68000108681808000000bc40c02087f017e2380808080004180026b2205248080808000200541b8016a2001200210fb8d80800002400240024002400240024020052d00b80122064102460d00200541286a41186a2207200541d1016a290000370300200541286a41106a2208200541c9016a290000370300200541286a41086a2209200541c1016a290000370300200520052900b901370328418080808078210a2006410171450d01200541086a41186a2007290300370300200541086a41106a2008290300370300200541086a41086a2009290300370300200520052903283703080240024020012802000d004100210a2005410036024c410021080c010b200541b8016a41186a200541286a41186a290300370300200541b8016a41106a200541286a41106a290300370300200541b8016a41086a200541286a41086a290300370300200520052903283703b801200541cc006a200141086a200541b8016a10b28b808000200528024c2206410047210a200541cc006a410020061b21080b0240024020012802d00122060d00410021062005410036025c410021070c010b20012802d40122092802080d04200941086a220b417f36020020062802080d05200641086a220c417f36020020012802d80122072802080d062007417f3602082005200741086a3602702005200b3602682005200c3602602005200741106a36026c20052009410c6a3602642005200641106a220736025c20074100472106200541dc006a410020071b21070b2005200229020437027820052001360274200541ac9fc680003602b001200541b890c680003602a801200520073602a40141002101200541003602a0012005200636029c012005419c90c6800036029801200520083602940120054100360290012005200a36028c012005200541086a3602b4012005200541f4006a3602ac01410021020240200a450d0020054194016a21022005417f360290010b02402006450d00200541a4016a21012005417f3602a0010b4100210a0240024020020d00410021070c010b20022802042106200228020021070b0240024020010d000c010b200128020421082001280200210a0b200541b8016a41106a200541106a290300370200200541b8016a41186a200541086a41106a290300370200200541d8016a200541086a41186a290300370200200541ac9fc680003602bc01200520052903083702c001200520083602ec012005200a3602e801200520063602e401200520073602e0012005200541f4006a3602b801200541003602fc01200520043602f801200520033602f40120054180016a200541b8016a20032004200541f4016a10c98480800002402001450d00200520052802a00141016a3602a0010b02402002450d00200520052802900141016a360290010b024002400240024020052802800122014180808080786a0e020102000b200529028401220d422088a721020240024002400240200d4200590d00410021050c010b20052802840121040240200d4280808080105a0d004101210a410021060c030b41002d00b8bfd380001a200241002802b0bfd3800011828080800000220a0d01410121050b2005200241fc98c6800010ae80808000000b200221060b200a200da7200210e996808000210202402001450d00200441002802a8bfd38000118080808000000b200d4280808080f0ffffffff00832002ad84210d200621010b2000200d4220883e02082000200d3e0204200020013602000c010b0240024002400240200528028401220128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020841002802a8bfd38000118080808000000c020b2001280204450d01200128020841002802a8bfd38000118080808000000c010b200110f68d8080000b200141002802a8bfd380001180808080000020004181808080783602000b0240200528025c450d0020052802602201200128020041016a36020020052802682201200128020041016a36020020052802702201200128020041016a3602000b200528024c450d0220052802502201200128020041016a3602002005280254450d0220052802582201200128020041016a3602000c020b418180808078210a0b2000200a3602000b20054180026a2480808080000f0b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000bab0303027f027e017f23808080800041f0006b2203248080808000200341306a200210ab968080002003280234210220032003280238360244200320023602402003200136023c2003200341ef006a36024841002104200341003a004e200341246a2001200341ce006a2003413c6a10898e80800002400240024020032802242201418180808078460d0002402001418080808078460d002003290228220542208822064220520d0320032802282107200341186a2005a7220441186a290000370300200341106a200441106a290000370300200341086a200441086a29000037030020032004290000370300410121042001450d00200741002802a8bfd38000118080808000000b02402003280230450d00200241002802a8bfd38000118080808000000b200020043a000020002003290300370001200041096a200341086a290300370000200041116a200341106a290300370000200041196a200341186a2903003700000c010b200041023a00002003280230450d00200241002802a8bfd38000118080808000000b200341f0006a2480808080000f0b41202006a741d08fc68000108681808000000ba91803027f017e0e7f23808080800041f0036b22042480808080000240024002400240024002400240024002400240024002400240024020012802540d0020012802582105200141808080807836025802402005418080808078470d0020044198016a4200370300200441a0016a4200370300200441a8016a4200370300200441b0016a42003703002004200429020c220637039001200441ec006a4200370200200441f4006a4200370200200441fc006a420037020020044184016a4200370200200441808080807836026020044180808080783602542004420037024c2004420437021c20044200370214200442808080801037020c2004200637026420044180023b018c010c020b20012f01da01210720012d00d901210820012d00d801210920012802ac01210a20012902a401210620012802a001210b200128029c01210c200128029801210d200128026c210e2001280268210f2001280264211020012802602111200128025c2112200441c4006a20014190016a2902003702002004413c6a20014188016a290200370200200441346a20014180016a2902003702002004410c6a41206a200141f8006a29020037020020042001290270370224200141b0016a211341002114024020112003470d0020122002200310ed968080004521140b200441ec006a201341086a290200370200200441f4006a201341106a290200370200200441fc006a201341186a2902003702002004410c6a41f8006a201341206a2902003702002004200a3602602004200b3602542004200c3602502004200d36024c2004200e3602202004200f36021c2004201036021820042011360214200420123602102004200536020c2004201329020037026420042006370258200420073b018e01200420083a008d01200420093a008c012014450d012006422088a721052006a721030c020b41e08ec68000108081808000000b200420033602980320042002360294032004410036028c03200441013b019c0320044180808080783602800320044190016a200120044180036a10fd8d808000200428029001418080808078460d0120044188026a20044190016a41f80010e9968080001a024020042802542213418080808078460d002013450d00200428025841002802a8bfd38000118080808000000b024020042802602213418080808078460d002013450d00200428026441002802a8bfd38000118080808000000b024020042802202203450d00200428021c41086a211303402013280200220520052802002205417f6a360200024020054101470d00201310e08a8080000b201341306a21132003417f6a22030d000b0b02402004280218450d00200428021c41002802a8bfd38000118080808000000b200441186a21130240200428024c4129490d00200428022441002802a8bfd38000118080808000000b201320044188026a41f80010e9968080001a200428025c2105200428025821032004280254210b20042d008d0121080b20044180808080783602540240200841ff01710d0020044198036a20044184016a29020037030020044190036a200441fc006a29020037030020044188036a200441f4006a2902003703002004200429026c370380034100211302402004280260418080808078460d00200420042902643702a803200441f48fc680003602a403200121130b200420133602a00302400240200128024422080d0041002111200441003602b003410021120c010b20044190016a41186a200441ec006a220241186a29000037030020044190016a41106a200241106a29000037030020044190016a41086a200241086a2900003703002004200229000037039001200441b0036a200820044190016a10b28b80800020042802b00322024100472111200441b0036a410020021b21120b02400240200128024822020d0041002102200441003602c003410021080c010b200128024c22142802080d03201441086a2207417f36020020022802080d04200241086a2209417f360200200128025022082802080d052008417f3602082004200841086a3602d403200420073602cc03200420093602c4032004200841106a3602d00320042014410c6a3602c8032004200241106a22083602c00320084100472102200441c0036a410020081b21080b2004418890c6800041f48fc6800020131b3602b4012004200441a0036a200120131b3602b001200441b890c680003602ac01200420083602a801200441003602a401200420023602a0012004419c90c6800036029c01200420123602980120044100360294012004201136029001200420044180036a3602b801200441d8036a200441186a221320044190016a10d189808000200b418080808078460d0620042802d8032202418280808078480d0520042802e0032005470d0520042802dc0322082003200510ed968080000d05200441e4036a201320044190016a10d18980800002402002450d00200841002802a8bfd38000118080808000000b200441d8036a41086a200441e4036a41086a280200360200200420042902e4033703d8030c050b200b41808080807872418080808078460d06200341002802a8bfd380001180808080000041808080807821130c080b41818080807821130c070b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b200b450d00200341002802a8bfd38000118080808000000b20042802e003210220042802dc03210520042802d803210b024020042802c003450d0020042802c4032213201328020041016a36020020042802cc032213201328020041016a36020020042802d4032213201328020041016a3602000b024020042802b003450d0020042802b4032213201328020041016a36020020042802b803450d0020042802bc032213201328020041016a3602000b02400240200b4180808080786a0e020100030b200441013a008d0141808080807821130c030b200441023a008d01200528020022134185808080784620042d008c017121010240024002400240201341fcffffff076a2213410320134105491b0e0403030102000b2005280204450d02200528020841002802a8bfd38000118080808000000c020b2005280204450d01200528020841002802a8bfd38000118080808000000c010b200510f68d8080000b200541002802a8bfd380001180808080000041818080807821132001450d020b41808080807821130c010b41002113200441003602140240200428020c20024f0d002004410c6a410020024101410110948a808000200428021421130b200428021020136a2005200210e9968080001a2004200428021420026a3602142001280254450d0141e08ec68000108081808000000b200020133602000240200428020c450d00200428021041002802a8bfd38000118080808000000b024020042802542213418080808078460d002013450d00200428025841002802a8bfd38000118080808000000b024020042802602213418080808078460d002013450d00200428026441002802a8bfd38000118080808000000b200428021c2105024020042802202201450d00200541086a211303402013280200220320032802002203417f6a360200024020034101470d00201310e08a8080000b201341306a21132001417f6a22010d000b0b02402004280218450d00200541002802a8bfd38000118080808000000b200428024c4129490d01200428022441002802a8bfd38000118080808000000c010b20012802b001210c20012802ac01211120012802a401210d20012802a0012112200128029801211420012802702109200128026c21032001280268210820012802642107200128025c210a20012802582113200141d8006a2004410c6a41840110e9968080001a02402013418080808078460d0002402013450d00200a41002802a8bfd38000118080808000000b0240201241808080807872418080808078460d00200d41002802a8bfd38000118080808000000b0240201141808080807872418080808078460d00200c41002802a8bfd38000118080808000000b02402003450d00200841086a211303402013280200220120012802002201417f6a360200024020014101470d00201310e08a8080000b201341306a21132003417f6a22030d000b0b02402007450d00200841002802a8bfd38000118080808000000b20144129490d00200941002802a8bfd38000118080808000000b20002002360208200020053602042000200b3602000b200441f0036a2480808080000bd710020b7f017e23808080800041c0026b220324808080800002400240024002400240024002400240024020022802002204418080808078470d00200341186a2001411c6a290000370300200341106a200141146a290000370300200341086a2001410c6a290000370300200320012900043703000c010b200341c0006a2001200210f98d808000024020032d004022054102460d00200341206a41186a2206200341d9006a290000370300200341206a41106a2207200341d1006a290000370300200341206a41086a2208200341c9006a29000037030020032003290041370320024020054101710d002000418080808078360248200041808080807836023c200042003702342000410036020820004280808080c00037020020004180023b01742000200329024037024c200041d4006a4200370200200041dc006a4200370200200041e4006a4200370200200041ec006a42003702000c030b200341186a2006290300370300200341106a2007290300370300200341086a2008290300370300200320032903203703000c010b20004180808080783602000c010b200341c0006a41186a4200370300200341c0006a41106a4200370300200341c0006a41086a42003703002003420037034002400240200141046a200341c0006a412010ed96808000450d0020034180016a41186a200341186a29030037030020034180016a41106a200341106a29030037030020034180016a41086a200341086a29030037030020032003290300370380014100210502402004418080808078460d00200341f48fc680003602e001200320022902043702e401200121050b200320053602dc0102400240200128024422060d0041002108200341003602ec01410021090c010b200341ec016a2006200310b28b80800020032802ec0122064100472108200341ec016a410020061b21090b02400240200128024822060d0041002106200341003602fc01410021070c010b200128024c220a2802080d04200a41086a220b417f36020020062802080d05200641086a220c417f360200200128025022072802080d062007417f3602082003200741086a360290022003200b360288022003200c360280022003200741106a36028c022003200a410c6a360284022003200641106a22073602fc0120074100472106200341fc016a410020071b21070b2003418890c6800041f48fc6800020051b3602b8022003200341dc016a200120051b3602b402200341b890c680003602b002200320073602ac02200341003602a802200320063602a4022003419c90c680003602a0022003200936029c022003410036029802200320083602940220022802104100200228020c22011b21062001410120011b2101200320034180016a3602bc020240024020022802142205450d00200341c0006a20034194026a200120062005200228021810ce898080000c010b200341c0006a20034194026a2001200610cb898080000b024020032802fc01450d002003280280022201200128020041016a3602002003280288022201200128020041016a3602002003280290022201200128020041016a3602000b024020032802ec01450d0020032802f0012201200128020041016a36020020032802f401450d0020032802f8012201200128020041016a3602000b4180808080782101024002402003280240418080808078460d00200341a0016a41386a2204200341c0006a41386a280200360200200341a0016a41306a2206200341c0006a41306a290200370300200341a0016a41286a2207200341c0006a41286a290200370300200341a0016a41206a2208200341c0006a41206a290200370300200341a0016a41186a2209200341c0006a41186a290200370300200341a0016a41106a220a200341c0006a41106a290200370300200341a0016a41086a220b200341c0006a41086a290200370300200320032902403703a00120022d001d210c20050d010c090b02400240024002402003280244220128020041fcffffff076a2205410320054105491b0e0403030102000b2001280204450d02200128020841002802a8bfd38000118080808000000c020b2001280204450d01200128020841002802a8bfd38000118080808000000c010b200110f68d8080000b200141002802a8bfd380001180808080000020004180808080783602000c020b20022d001c410171450d074100210d0240200228021822014100480d00024020010d004101210d0c080b41002d00b8bfd380001a200141002802b0bfd3800011828080800000220d0d074101210d0b200d200141fc98c6800010ae80808000000b2000418080808078360248200041808080807836023c200042003702342000410036020820004280808080c00037020020004180023b01742000200329024037024c200041d4006a4200370200200041dc006a4200370200200041e4006a4200370200200041ec006a42003702000b2004418080808078460d060b2004450d05200228020441002802a8bfd38000118080808000000c050b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b2001ad422086200d2005200110e996808000ad84210e0b20002003290300370054200020032903a00137020020002002290200370248200041d0006a200241086a280200360200200041dc006a200341086a290300370000200041e4006a200341106a290300370000200041ec006a200341186a290300370000200041086a200b290300370200200041106a200a290300370200200041186a2009290300370200200041206a2008290300370200200041286a2007290300370200200041306a2006290300370200200041386a2004280200360200200041003a00752000200c3a00742000200e3702402000200136023c0b200341c0026a2480808080000bba1803027f017e0e7f23808080800041f0036b22042480808080000240024002400240024002400240024002400240024002400240024020012802e0010d0020012802e401210520014180808080783602e40102402005418080808078470d0020044198016a4200370300200441a0016a4200370300200441a8016a4200370300200441b0016a42003703002004200429020c220637039001200441ec006a4200370200200441f4006a4200370200200441fc006a420037020020044184016a4200370200200441808080807836026020044180808080783602542004420037024c2004420437021c20044200370214200442808080801037020c2004200637026420044180023b018c010c020b20012f01e602210720012d00e502210820012d00e402210920012802b802210a20012903b002210620012802ac02210b20012802a802210c20012802a402210d20012802f801210e20012802f401210f20012802f001211020012802ec01211120012802e8012112200441c4006a2001419c026a2902003702002004413c6a20014194026a290200370200200441346a2001418c026a2902003702002004410c6a41206a20014184026a290200370200200420012902fc01370224200141bc026a211341002114024020112003470d0020122002200310ed968080004521140b200441ec006a201341086a290200370200200441f4006a201341106a290200370200200441fc006a201341186a29020037020020044184016a201341206a2902003702002004200a3602602004200b3602542004200c3602502004200d36024c2004200e3602202004200f36021c2004201036021820042011360214200420123602102004200536020c2004201329020037026420042006370258200420073b018e01200420083a008d01200420093a008c012014450d012006422088a721052006a721030c020b41e08ec68000108081808000000b200420033602980320042002360294032004410036028c03200441013b019c0320044180808080783602800320044190016a200120044180036a10ff8d808000200428029001418080808078460d0120044188026a20044190016a41f80010e9968080001a024020042802542213418080808078460d002013450d00200428025841002802a8bfd38000118080808000000b024020042802602213418080808078460d002013450d00200428026441002802a8bfd38000118080808000000b024020042802202203450d00200428021c41086a211303402013280200220520052802002205417f6a360200024020054101470d00201310e08a8080000b201341306a21132003417f6a22030d000b0b02402004280218450d00200428021c41002802a8bfd38000118080808000000b200441186a21130240200428024c4129490d00200428022441002802a8bfd38000118080808000000b201320044188026a41f80010e9968080001a200428025c2105200428025821032004280254210b20042d008d0121080b20044180808080783602540240200841ff01710d0020044198036a20044184016a29020037030020044190036a200441fc006a29020037030020044188036a200441f4006a2902003703002004200429026c370380034100211302402004280260418080808078460d00200420042902643702a803200441e08fc680003602a403200121130b200420133602a0030240024020012802000d0041002111200441003602b003410021120c010b20044190016a41186a200441ec006a220241186a29000037030020044190016a41106a200241106a29000037030020044190016a41086a200241086a2900003703002004200229000037039001200441b0036a200141086a20044190016a10b28b80800020042802b00322024100472111200441b0036a410020021b21120b0240024020012802d00122020d0041002102200441003602c003410021080c010b20012802d40122142802080d03201441086a2207417f36020020022802080d04200241086a2209417f36020020012802d80122082802080d052008417f3602082004200841086a3602d403200420073602cc03200420093602c4032004200841106a3602d00320042014410c6a3602c8032004200241106a22083602c00320084100472102200441c0036a410020081b21080b2004418890c6800041e08fc6800020131b3602b4012004200441a0036a200120131b3602b001200441b890c680003602ac01200420083602a801200441003602a401200420023602a0012004419c90c6800036029c01200420123602980120044100360294012004201136029001200420044180036a3602b801200441d8036a200441186a221320044190016a10d189808000200b418080808078460d0620042802d8032202418280808078480d0520042802e0032005470d0520042802dc0322082003200510ed968080000d05200441e4036a201320044190016a10d18980800002402002450d00200841002802a8bfd38000118080808000000b200441d8036a41086a200441e4036a41086a280200360200200420042902e4033703d8030c050b200b41808080807872418080808078460d06200341002802a8bfd380001180808080000041808080807821130c080b41818080807821130c070b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b200b450d00200341002802a8bfd38000118080808000000b20042802e003210220042802dc03210520042802d803210b024020042802c003450d0020042802c4032213201328020041016a36020020042802cc032213201328020041016a36020020042802d4032213201328020041016a3602000b024020042802b003450d0020042802b4032213201328020041016a36020020042802b803450d0020042802bc032213201328020041016a3602000b02400240200b4180808080786a0e020100030b200441013a008d0141808080807821130c030b200441023a008d01200528020022134185808080784620042d008c017121010240024002400240201341fcffffff076a2213410320134105491b0e0403030102000b2005280204450d02200528020841002802a8bfd38000118080808000000c020b2005280204450d01200528020841002802a8bfd38000118080808000000c010b200510f68d8080000b200541002802a8bfd380001180808080000041818080807821132001450d020b41808080807821130c010b41002113200441003602140240200428020c20024f0d002004410c6a410020024101410110948a808000200428021421130b200428021020136a2005200210e9968080001a2004200428021420026a36021420012802e001450d0141e08ec68000108081808000000b200020133602000240200428020c450d00200428021041002802a8bfd38000118080808000000b024020042802542213418080808078460d002013450d00200428025841002802a8bfd38000118080808000000b024020042802602213418080808078460d002013450d00200428026441002802a8bfd38000118080808000000b200428021c2105024020042802202201450d00200541086a211303402013280200220320032802002203417f6a360200024020034101470d00201310e08a8080000b201341306a21132001417f6a22010d000b0b02402004280218450d00200541002802a8bfd38000118080808000000b200428024c4129490d01200428022441002802a8bfd38000118080808000000c010b20012802bc02210c20012802b802211120012802b002210d20012802ac02211220012802a402211420012802fc01210920012802f801210320012802f401210820012802f001210720012802e801210a20012802e4012113200141e4016a2004410c6a41840110e9968080001a02402013418080808078460d0002402013450d00200a41002802a8bfd38000118080808000000b0240201241808080807872418080808078460d00200d41002802a8bfd38000118080808000000b0240201141808080807872418080808078460d00200c41002802a8bfd38000118080808000000b02402003450d00200841086a211303402013280200220120012802002201417f6a360200024020014101470d00201310e08a8080000b201341306a21132003417f6a22030d000b0b02402007450d00200841002802a8bfd38000118080808000000b20144129490d00200941002802a8bfd38000118080808000000b20002002360208200020053602042000200b3602000b200441f0036a2480808080000bcf11020b7f017e23808080800041d0026b220324808080800002400240024002400240024002400240024020022802002204418080808078470d00200341206a200141a8016a290000370300200341186a200141a0016a290000370300200341106a20014198016a29000037030020032001290090013703080c010b200341c8006a2001200210fb8d808000024020032d004822054102460d00200341286a41186a2206200341e1006a290000370300200341286a41106a2207200341d9006a290000370300200341286a41086a2208200341d1006a29000037030020032003290049370328024020054101710d002000418080808078360248200041808080807836023c200042003702342000410036020820004280808080c00037020020004180023b01742000200329024837024c200041d4006a4200370200200041dc006a4200370200200041e4006a4200370200200041ec006a42003702000c030b200341086a41186a2006290300370300200341086a41106a2007290300370300200341086a41086a2008290300370300200320032903283703080c010b20004180808080783602000c010b200341c8006a41186a4200370300200341c8006a41106a4200370300200341c8006a41086a4200370300200342003703480240024020014190016a200341c8006a412010ed96808000450d0020034188016a41186a200341086a41186a29030037030020034188016a41106a200341086a41106a29030037030020034188016a41086a200341086a41086a29030037030020032003290308370388014100210502402004418080808078460d00200341e08fc680003602ec01200320022902043702f001200121050b200320053602e8010240024020012802000d0041002108200341003602f801410021090c010b200341a0026a41186a200341086a41186a290300370300200341a0026a41106a200341086a41106a290300370300200341a0026a41086a200341086a41086a290300370300200320032903083703a002200341f8016a200141086a200341a0026a10b28b80800020032802f80122064100472108200341f8016a410020061b21090b0240024020012802d00122060d00410021062003410036028802410021070c010b20012802d401220a2802080d04200a41086a220b417f36020020062802080d05200641086a220c417f36020020012802d80122072802080d062007417f3602082003200741086a36029c022003200b360294022003200c36028c022003200741106a360298022003200a410c6a360290022003200641106a2207360288022007410047210620034188026a410020071b21070b2003418890c6800041e08fc6800020051b3602c4022003200341e8016a200120051b3602c002200341b890c680003602bc02200320073602b802200341003602b402200320063602b0022003419c90c680003602ac02200320093602a802200341003602a402200320083602a00220022802104100200228020c22011b21062001410120011b2101200320034188016a3602c8020240024020022802142205450d00200341c8006a200341a0026a200120062005200228021810ce898080000c010b200341c8006a200341a0026a2001200610cb898080000b0240200328028802450d00200328028c022201200128020041016a3602002003280294022201200128020041016a360200200328029c022201200128020041016a3602000b024020032802f801450d0020032802fc012201200128020041016a360200200328028002450d002003280284022201200128020041016a3602000b4180808080782101024002402003280248418080808078460d00200341a8016a41386a2204200341c8006a41386a280200360200200341a8016a41306a2206200341c8006a41306a290200370300200341a8016a41286a2207200341c8006a41286a290200370300200341a8016a41206a2208200341c8006a41206a290200370300200341a8016a41186a2209200341c8006a41186a290200370300200341a8016a41106a220a200341c8006a41106a290200370300200341a8016a41086a220b200341c8006a41086a290200370300200320032902483703a80120022d001d210c20050d010c090b0240024002400240200328024c220128020041fcffffff076a2205410320054105491b0e0403030102000b2001280204450d02200128020841002802a8bfd38000118080808000000c020b2001280204450d01200128020841002802a8bfd38000118080808000000c010b200110f68d8080000b200141002802a8bfd380001180808080000020004180808080783602000c020b20022d001c410171450d074100210d0240200228021822014100480d00024020010d004101210d0c080b41002d00b8bfd380001a200141002802b0bfd3800011828080800000220d0d074101210d0b200d200141fc98c6800010ae80808000000b2000418080808078360248200041808080807836023c200042003702342000410036020820004280808080c00037020020004180023b01742000200329024837024c200041d4006a4200370200200041dc006a4200370200200041e4006a4200370200200041ec006a42003702000b2004418080808078460d060b2004450d05200228020441002802a8bfd38000118080808000000c050b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b2001ad422086200d2005200110e996808000ad84210e0b20002003290308370054200020032903a80137020020002002290200370248200041d0006a200241086a280200360200200041dc006a200341086a41086a290300370000200041e4006a200341086a41106a290300370000200041ec006a200341086a41186a290300370000200041086a200b290300370200200041106a200a290300370200200041186a2009290300370200200041206a2008290300370200200041286a2007290300370200200041306a2006290300370200200041386a2004280200360200200041003a00752000200c3a00742000200e3702402000200136023c0b200341d0026a2480808080000bd90a01087f2380808080004190026b2205248080808000200541c8016a2001200210fb8d808000410221060240024002400240024020052d00c80122074102460d00200541206a41186a2208200541e1016a290000370300200541206a41106a2209200541d9016a290000370300200541206a41086a220a200541d1016a290000370300200520052900c901370320410021062007410171450d00200541186a2008290300370300200541106a2009290300370300200541086a200a290300370300200520052903203703000240024020012802000d004100210720054100360244410021090c010b200541c8016a41186a200541206a41186a290300370300200541c8016a41106a200541206a41106a290300370300200541c8016a41086a200541206a41086a290300370300200520052903203703c801200541c4006a200141086a200541c8016a10b28b808000200528024422064100472107200541c4006a410020061b21090b0240024020012802d00122060d004100210820054100360254410021060c010b20012802d401220a2802080d03200a41086a220b417f36020020062802080d04200641086a220c417f36020020012802d80122082802080d052008417f3602082005200841086a3602682005200b3602602005200c3602582005200841106a3602642005200a410c6a36025c2005200641106a220636025420064100472108200541d4006a410020061b21060b20052002290204370294012005200136029001200541ac9fc680003602c001200541b890c680003602b801200520063602b40141002101200541003602b001200520083602ac012005419c90c680003602a801200520093602a401200541003602a0012005200736029c01200520053602c401200520054190016a3602bc014100210602402007450d00200541a4016a21062005417f3602a0010b02402008450d00200541b4016a21012005417f3602b0010b410021020240024020060d00410021060c010b20062802042107200628020021060b0240024020010d000c010b20012802042108200128020021020b200541c8016a41106a200541086a290300370200200541c8016a41186a200541106a290300370200200541c8016a41206a200541186a290300370200200541ac9fc680003602cc01200520052903003702d001200520083602fc01200520023602f801200520073602f401200520063602f001200520054190016a3602c8012005410036028c0220052004360288022005200336028402200541ec006a200541c8016a2003200420054184026a10c5848080000240024020052d006c0d002000200529006d370000200041206a2005418d016a2d00003a0000200041186a20054185016a290000370000200041106a200541fd006a290000370000200041086a200541f5006a2900003700000c010b02400240024002402005280270220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020841002802a8bfd38000118080808000000c020b2001280204450d01200128020841002802a8bfd38000118080808000000c010b200110f68d8080000b200141002802a8bfd3800011808080800000200041023a00000b02402005280254450d0020052802582201200128020041016a36020020052802602201200128020041016a36020020052802682201200128020041016a3602000b2005280244450d0120052802482201200128020041016a360200200528024c450d0120052802502201200128020041016a3602000c010b200020063a00000b20054190026a2480808080000f0b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b990a01087f2380808080004190026b2205248080808000200541cc016a2001200210f98d808000410221060240024002400240024020052d00cc0122074102460d00200541286a41186a2208200541e5016a290000370300200541286a41106a2209200541dd016a290000370300200541286a41086a220a200541d5016a290000370300200520052900cd01370328410021062007410171450d00200541086a41186a2008290300370300200541086a41106a2009290300370300200541086a41086a200a2903003703002005200529032837030802400240200128024422060d004100210720054100360248410021090c010b200541c8006a2006200541286a10b28b808000200528024822064100472107200541c8006a410020061b21090b02400240200128024822060d004100210820054100360258410021060c010b200128024c220a2802080d03200a41086a220b417f36020020062802080d04200641086a220c417f360200200128025022082802080d052008417f3602082005200841086a36026c2005200b3602642005200c36025c2005200841106a3602682005200a410c6a3602602005200641106a220636025820064100472108200541d8006a410020061b21060b20052002290204370298012005200136029401200541c09fc680003602c401200541b890c680003602bc01200520063602b80141002101200541003602b401200520083602b0012005419c90c680003602ac01200520093602a801200541003602a401200520073602a0012005200541086a3602c801200520054194016a3602c0014100210602402007450d00200541a8016a21062005417f3602a4010b02402008450d00200541b8016a21012005417f3602b4010b410021020240024020060d00410021060c010b20062802042107200628020021060b0240024020010d000c010b20012802042108200128020021020b200541cc016a41106a200541086a41086a290300370200200541cc016a41186a200541086a41106a290300370200200541cc016a41206a200541086a41186a290300370200200541c09fc680003602d001200520052903083702d4012005200836028002200520023602fc01200520073602f801200520063602f401200520054194016a3602cc012005410036028c0220052004360288022005200336028402200541f0006a200541cc016a2003200420054184026a10c5848080000240024020052d00700d0020002005290071370000200041206a20054191016a2d00003a0000200041186a20054189016a290000370000200041106a20054181016a290000370000200041086a200541f9006a2900003700000c010b02400240024002402005280274220128020041fcffffff076a2206410320064105491b0e0403030102000b2001280204450d02200128020841002802a8bfd38000118080808000000c020b2001280204450d01200128020841002802a8bfd38000118080808000000c010b200110f68d8080000b200141002802a8bfd3800011808080800000200041023a00000b02402005280258450d00200528025c2201200128020041016a36020020052802642201200128020041016a360200200528026c2201200128020041016a3602000b2005280248450d01200528024c2201200128020041016a3602002005280250450d0120052802542201200128020041016a3602000c010b200020063a00000b20054190026a2480808080000f0b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b8b0c05017f017e017f017e017f2380808080004180036b2205248080808000200520043a000f200541106a41014101412110998780800041002d00b8bfd380001a024002400240024002400240410141002802b0bfd38000118280808000002204450d00200441003a0000410041003502bcbfd3800042c4e6c11b85200541306aad22067e200642ae94e698017e4220898522063e02bcbfd38000024041002d00e0bfd380004102460d0010bf8f8080000b41002107200541306a41186a41cc8ec6800041014100280288bfd3800011858080800000200541306a41086a41002903c8e0c18000370300200541013602702005200436026c20054101360268200541002903c0e0c1800037033020052006422088220842a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200842d0e3fccc027e200642a2f0a4a00a7e8542208985370340200541bf026a2001200210fb8d808000200541f8006a41086a200541106a200541bf026a41016a200541106a20052d00bf0222044101711b20044102461b220441086a290000370300200541f8006a41106a200441106a290000370300200541f8006a41186a200441186a2900003703002005200429000037037820054198016a41086a200341086a29020037030020054198016a41106a200341106a29020037030020054198016a41186a200341186a29020037030020054198016a41206a200341206a280200360200200520023602c801200520013602bc0120052003290200370398012005200541f8006a3602cc0120052005410f6a3602c4012005200541306a3602c0010240024020012802d00122030d00200541003602d0010c010b20012802d40122022802080d02200241086a2207417f36020020032802080d03200341086a2209417f36020020012802d80122042802080d042004417f3602082005200441086a3602e401200520073602dc01200520093602d4012005200441106a3602e00120052002410c6a3602d8012005200341106a3602d001200541d0016a21070b024020012802000d00200541bf026a20054198016a2007410010838e80800020054180026a200541f8026a290000370300200541f8016a200541f0026a290000370300200541f0016a200541e8026a290000370300200520052900e0023703e8010c060b20012802080d042001417f36020820054100360290022005200141086a36028c022005200141106a36028802200541bf026a20054198016a200720054188026a10838e80800020052d00bf02210120054198026a41186a2203200541f8026a29000037030020054198026a41106a2204200541f0026a29000037030020054198026a41086a200541e8026a290000370300200520052900e0023703980202402001410171450d0020052802940221012005280290022103200528028c022204200428020041016a36020002402003450d002001200128020041016a3602000b200541e8016a41186a20054198026a41186a290300370300200541e8016a41106a20054198026a41106a290300370300200541e8016a41086a20054198026a41086a29030037030020052005290398023703e8010c060b200541e8016a41186a2003290300370300200541e8016a41106a2004290300370300200541e8016a41086a20054198026a41086a29030037030020052005290398023703e801200528028c022201200128020041016a360200200528029002450d052005280294022201200128020041016a3602000c050b4101410141fc98c6800010ae80808000000b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b41989bc58000108081808000000b024020052802d001450d0020052802d4012201200128020041016a36020020052802dc012201200128020041016a36020020052802e4012201200128020041016a3602000b200541e8016a200541106a412010ed968080002101200041196a20054180026a290300370000200041116a200541f8016a290300370000200041096a200541f0016a290300370000200020052903e801370001200041286a200541306a41c80010e9968080001a20002001453a000020054180036a2480808080000bd81e07067f017e017f017e017f027e057f23808080800041c0026b2204248080808000200420012802283602082004200128022441c8006a36020420024100472105200128023022062802082107200628020421060240024002400240200128022c2d00000d00200441106a41086a22082001280234220941086a290000220a370300200441106a41106a220b200941106a290000220c370300200441106a41186a220d200941186a290000220e37030020042009290000220f370310200441c0006a41186a200e370300200441c0006a41106a200c370300200441c0006a41086a200a3703002004200f3703402004200736023c200420063602382004200441046a360234200441a9016a200d290300370000200441a1016a200b29030037000020044199016a2008290300370000200441849fc680003602b8012004410036028c0120044204370284012004420037027c20044280808080c0003702742004419c90c680003602d001200420033602cc01200441003602c801200441003602c001200441013a00900120042004290310370091012004200441c0006a3602bc012004200441346a3602b401200441b890c680003602702004200236026c200441003602682004200536026420044190026a41206a200141206a28020036020020044190026a41186a200141186a29020037030020044190026a41106a200141106a29020037030020044190026a41086a200141086a2902003703002004200129020037039002200441d4016a20044190026a41fc97c6800010878c80800020042802dc01210220042802d80121102004200441bf026a36029002200441e4006a41106a211102400240024020024102490d00024020024115490d002010200220044190026a10838780800020042802d40121120c020b20102002410120044190026a108f8f80800020042802d40121120c010b20042802d40121122002450d010b201020024104746a210d20044184026a211320044190026a41086a210320044190026a4101722107200441e0016a41086a2105200441e0016a41046a2114200441e0016a410172210920102102034020022802002206450d01200228020421080240024002402002280208220b0d0020044190026a200441e4006a2006200810d78d80800020042d00900222064104460d01200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c020b20044190026a200441e4006a20062008200b200228020c10d48d80800020042d00900222064104460d00200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c010b200428029402210302402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d28d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021050c010b200420042802c40122053602ac02200420023602a802200441003602a4022004200536029c02200420023602980220044100360294024101210220042802c80121050b200420053602b002200420023602a002200420023602900220044190026a10948b8080000c050b200420042802940222083602e401200420063a00e001024020064103460d0002400240024020060e020103000b200428028402220620062802002208417f6a3602002013210620084101460d010c020b20082008280200220b417f6a36020020142106200b4101470d010b200610d0968080000b200241106a2202200d470d000b0b02402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d28d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021030c010b200420042802c40122033602ac02200420023602a802200441003602a4022004200336029c02200420023602980220044100360294024101210220042802c80121030b200420033602b002200420023602a002200420023602900220044190026a10948b8080002004410e6a20042d00423a0000200441e8016a200441cf006a290000370300200441f0016a200441d7006a290000370300200441f8016a200441df006a2d00003a0000200420042f01403b010c200420042900473703e0010c010b200441106a41086a22082001280234220941086a290000220a370300200441106a41106a220b200941106a290000220c370300200441106a41186a220d200941186a290000220e37030020042009290000220f370310200441c0006a41186a200e370300200441c0006a41106a200c370300200441c0006a41086a200a3703002004200f3703402004200736023c200420063602382004200441046a360234200441a9016a200d290300370000200441a1016a200b29030037000020044199016a2008290300370000200441849fc680003602b8012004410036028c0120044204370284012004420037027c20044280808080c0003702742004419c90c680003602d001200420033602cc01200441003602c801200441003602c001200441013a00900120042004290310370091012004200441c0006a3602bc012004200441346a3602b401200441b890c680003602702004200236026c200441003602682004200536026420044190026a41206a200141206a28020036020020044190026a41186a200141186a29020037030020044190026a41106a200141106a29020037030020044190026a41086a200141086a2902003703002004200129020037039002200441d4016a20044190026a41fc97c6800010878c80800020042802dc01210220042802d80121102004200441bf026a36029002200441e4006a41106a211102400240024020024102490d00024020024115490d002010200220044190026a108f8780800020042802d40121120c020b20102002410120044190026a108f8f80800020042802d40121120c010b20042802d40121122002450d010b201020024104746a210d20044184026a211320044190026a41086a210320044190026a4101722107200441e0016a41086a2105200441e0016a41046a2114200441e0016a410172210920102102034020022802002206450d01200228020421080240024002402002280208220b0d0020044190026a200441e4006a2006200810d68d80800020042d00900222064104460d01200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c020b20044190026a200441e4006a20062008200b200228020c10d58d80800020042d00900222064104460d00200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c010b200428029402210302402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d38d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021050c010b200420042802c40122053602ac02200420023602a802200441003602a4022004200536029c02200420023602980220044100360294024101210220042802c80121050b200420053602b002200420023602a002200420023602900220044190026a10948b8080000c040b200420042802940222083602e401200420063a00e001024020064103460d0002400240024020060e020103000b200428028402220620062802002208417f6a3602002013210620084101460d010c020b20082008280200220b417f6a36020020142106200b4101470d010b200610d0968080000b200241106a2202200d470d000b0b02402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d38d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021030c010b200420042802c40122033602ac02200420023602a802200441003602a4022004200336029c02200420023602980220044100360294024101210220042802c80121030b200420033602b002200420023602a002200420023602900220044190026a10948b8080002004410e6a20042d00423a0000200441e8016a200441cf006a290000370300200441f0016a200441d7006a290000370300200441f8016a200441df006a2d00003a0000200420042f01403b010c200420042900473703e0010b20042800432102200020042903e001220a3700282000200a370008200041013a0000200020042f010c3b0001200041c0006a200441e0016a41186a2d000022033a0000200041386a200441e0016a41106a290300220a370000200041306a200441e8016a290300220c370000200041106a200c370000200041186a200a370000200041206a20033a0000200041036a2004410e6a22032d00003a00002000200236000420002002360024200020042f010c3b0021200041236a20032d00003a00000c010b200041003a0000200020012802342202290000370021200041396a200241186a290000370000200041316a200241106a290000370000200041296a200241086a2900003700000240024002400240200328020041fcffffff076a2202410320024105491b0e0403030102000b2003280204450d02200328020841002802a8bfd38000118080808000000c020b2003280204450d01200328020841002802a8bfd38000118080808000000c010b200310f68d8080000b200341002802a8bfd38000118080808000000b200441c0026a2480808080000b820c05017f017e017f017e017f2380808080004180036b2205248080808000200520043a000f200541106a41014101412110998780800041002d00b8bfd380001a024002400240024002400240410141002802b0bfd38000118280808000002204450d00200441003a0000410041003502bcbfd3800042c4e6c11b85200541306aad22067e200642ae94e698017e4220898522063e02bcbfd38000024041002d00e0bfd380004102460d0010bf8f8080000b41002107200541306a41186a41cc8ec6800041014100280288bfd3800011858080800000200541306a41086a41002903c8e0c18000370300200541013602702005200436026c20054101360268200541002903c0e0c1800037033020052006422088220842a2f0a4a00a7e200642ffffffff0f83220642d0e3fccc027e85200842d0e3fccc027e200642a2f0a4a00a7e8542208985370340200541bf026a2001200210f98d808000200541f8006a41086a200541106a200541bf026a41016a200541106a20052d00bf0222044101711b20044102461b220441086a290000370300200541f8006a41106a200441106a290000370300200541f8006a41186a200441186a2900003703002005200429000037037820054198016a41086a200341086a29020037030020054198016a41106a200341106a29020037030020054198016a41186a200341186a29020037030020054198016a41206a200341206a280200360200200520023602c801200520013602bc0120052003290200370398012005200541f8006a3602cc0120052005410f6a3602c4012005200541306a3602c00102400240200128024822030d00200541003602d0010c010b200128024c22022802080d02200241086a2207417f36020020032802080d03200341086a2209417f360200200128025022042802080d042004417f3602082005200441086a3602e401200520073602dc01200520093602d4012005200441106a3602e00120052002410c6a3602d8012005200341106a3602d001200541d0016a21070b0240200128024422010d00200541bf026a20054198016a2007410010858e80800020054180026a200541f8026a290000370300200541f8016a200541f0026a290000370300200541f0016a200541e8026a290000370300200520052900e0023703e8010c060b20012802000d042001417f36020020054100360290022005200136028c022005200141086a36028802200541bf026a20054198016a200720054188026a10858e80800020052d00bf02210120054198026a41186a2203200541f8026a29000037030020054198026a41106a2204200541f0026a29000037030020054198026a41086a2202200541e8026a290000370300200520052900e0023703980202402001410171450d0020052802940221012005280290022103200528028c022204200428020041016a36020002402003450d002001200128020041016a3602000b200541e8016a41186a20054198026a41186a290300370300200541e8016a41106a20054198026a41106a290300370300200541e8016a41086a20054198026a41086a29030037030020052005290398023703e8010c060b200541e8016a41186a2003290300370300200541e8016a41106a2004290300370300200541e8016a41086a200229030037030020052005290398023703e801200528028c022201200128020041016a360200200528029002450d052005280294022201200128020041016a3602000c050b4101410141fc98c6800010ae80808000000b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b41989bc58000108081808000000b024020052802d001450d0020052802d4012201200128020041016a36020020052802dc012201200128020041016a36020020052802e4012201200128020041016a3602000b200541e8016a200541106a412010ed968080002101200041196a20054180026a290300370000200041116a200541f8016a290300370000200041096a200541f0016a290300370000200020052903e801370001200041286a200541306a41c80010e9968080001a20002001453a000020054180036a2480808080000bca1e07067f017e017f017e017f027e057f23808080800041c0026b22042480808080002004200129022437020420024100472105200128023022062802082107200628020421060240024002400240200128022c2d00000d00200441106a41086a22082001280234220941086a290000220a370300200441106a41106a220b200941106a290000220c370300200441106a41186a220d200941186a290000220e37030020042009290000220f370310200441c0006a41186a200e370300200441c0006a41106a200c370300200441c0006a41086a200a3703002004200f3703402004200736023c200420063602382004200441046a360234200441a9016a200d290300370000200441a1016a200b29030037000020044199016a2008290300370000200441dc9ec680003602b8012004410036028c0120044204370284012004420037027c20044280808080c0003702742004419c90c680003602d001200420033602cc01200441003602c801200441003602c001200441013a00900120042004290310370091012004200441c0006a3602bc012004200441346a3602b401200441b890c680003602702004200236026c200441003602682004200536026420044190026a41206a200141206a28020036020020044190026a41186a200141186a29020037030020044190026a41106a200141106a29020037030020044190026a41086a200141086a2902003703002004200129020037039002200441d4016a20044190026a41fc97c6800010878c80800020042802dc01210220042802d80121102004200441bf026a36029002200441e4006a41106a211102400240024020024102490d00024020024115490d002010200220044190026a108b8780800020042802d40121120c020b20102002410120044190026a108f8f80800020042802d40121120c010b20042802d40121122002450d010b201020024104746a210d20044184026a211320044190026a41086a210320044190026a4101722107200441e0016a41086a2105200441e0016a41046a2114200441e0016a410172210920102102034020022802002206450d01200228020421080240024002402002280208220b0d0020044190026a200441e4006a2006200810d78d80800020042d00900222064104460d01200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c020b20044190026a200441e4006a20062008200b200228020c10d48d80800020042d00900222064104460d00200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c010b200428029402210302402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d28d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021050c010b200420042802c40122053602ac02200420023602a802200441003602a4022004200536029c02200420023602980220044100360294024101210220042802c80121050b200420053602b002200420023602a002200420023602900220044190026a10948b8080000c050b200420042802940222083602e401200420063a00e001024020064103460d0002400240024020060e020103000b200428028402220620062802002208417f6a3602002013210620084101460d010c020b20082008280200220b417f6a36020020142106200b4101470d010b200610d0968080000b200241106a2202200d470d000b0b02402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d28d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021030c010b200420042802c40122033602ac02200420023602a802200441003602a4022004200336029c02200420023602980220044100360294024101210220042802c80121030b200420033602b002200420023602a002200420023602900220044190026a10948b8080002004410e6a20042d00423a0000200441e8016a200441cf006a290000370300200441f0016a200441d7006a290000370300200441f8016a200441df006a2d00003a0000200420042f01403b010c200420042900473703e0010c010b200441106a41086a22082001280234220941086a290000220a370300200441106a41106a220b200941106a290000220c370300200441106a41186a220d200941186a290000220e37030020042009290000220f370310200441c0006a41186a200e370300200441c0006a41106a200c370300200441c0006a41086a200a3703002004200f3703402004200736023c200420063602382004200441046a360234200441a9016a200d290300370000200441a1016a200b29030037000020044199016a2008290300370000200441dc9ec680003602b8012004410036028c0120044204370284012004420037027c20044280808080c0003702742004419c90c680003602d001200420033602cc01200441003602c801200441003602c001200441013a00900120042004290310370091012004200441c0006a3602bc012004200441346a3602b401200441b890c680003602702004200236026c200441003602682004200536026420044190026a41206a200141206a28020036020020044190026a41186a200141186a29020037030020044190026a41106a200141106a29020037030020044190026a41086a200141086a2902003703002004200129020037039002200441d4016a20044190026a41fc97c6800010878c80800020042802dc01210220042802d80121102004200441bf026a36029002200441e4006a41106a211102400240024020024102490d00024020024115490d002010200220044190026a10ef8680800020042802d40121120c020b20102002410120044190026a108f8f80800020042802d40121120c010b20042802d40121122002450d010b201020024104746a210d20044184026a211320044190026a41086a210320044190026a4101722107200441e0016a41086a2105200441e0016a41046a2114200441e0016a410172210920102102034020022802002206450d01200228020421080240024002402002280208220b0d0020044190026a200441e4006a2006200810d68d80800020042d00900222064104460d01200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c020b20044190026a200441e4006a20062008200b200228020c10d58d80800020042d00900222064104460d00200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c010b200428029402210302402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d38d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021050c010b200420042802c40122053602ac02200420023602a802200441003602a4022004200536029c02200420023602980220044100360294024101210220042802c80121050b200420053602b002200420023602a002200420023602900220044190026a10948b8080000c040b200420042802940222083602e401200420063a00e001024020064103460d0002400240024020060e020103000b200428028402220620062802002208417f6a3602002013210620084101460d010c020b20082008280200220b417f6a36020020142106200b4101470d010b200610d0968080000b200241106a2202200d470d000b0b02402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d38d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021030c010b200420042802c40122033602ac02200420023602a802200441003602a4022004200336029c02200420023602980220044100360294024101210220042802c80121030b200420033602b002200420023602a002200420023602900220044190026a10948b8080002004410e6a20042d00423a0000200441e8016a200441cf006a290000370300200441f0016a200441d7006a290000370300200441f8016a200441df006a2d00003a0000200420042f01403b010c200420042900473703e0010b20042800432102200020042903e001220a3700282000200a370008200041013a0000200020042f010c3b0001200041c0006a200441e0016a41186a2d000022033a0000200041386a200441e0016a41106a290300220a370000200041306a200441e8016a290300220c370000200041106a200c370000200041186a200a370000200041206a20033a0000200041036a2004410e6a22032d00003a00002000200236000420002002360024200020042f010c3b0021200041236a20032d00003a00000c010b200041003a0000200020012802342202290000370021200041396a200241186a290000370000200041316a200241106a290000370000200041296a200241086a2900003700000240024002400240200328020041fcffffff076a2202410320024105491b0e0403030102000b2003280204450d02200328020841002802a8bfd38000118080808000000c020b2003280204450d01200328020841002802a8bfd38000118080808000000c010b200310f68d8080000b200341002802a8bfd38000118080808000000b200441c0026a2480808080000bf00f01087f23808080800041a0026b2205248080808000200541e0016a2001200210fb8d808000024002400240024002400240024020052d00e00122064102460d00200541186a2207200541f9016a290000370300200541106a2208200541f1016a290000370300200541086a2209200541e9016a290000370300200520052900e101370300418080808078210a2006410171450d01200541206a41186a2007290300370300200541206a41106a2008290300370300200541206a41086a200929030037030020052005290300370320200541e08fc680003602482005200229020437024c200520013602440240024020012802000d004100210a20054100360254410021060c010b200541e0016a41186a200541186a290300370300200541e0016a41106a200541106a290300370300200541e0016a41086a200541086a290300370300200520052903003703e001200541d4006a200141086a200541e0016a10b28b80800020052802542202410047210a200541d4006a410020021b21060b0240024020012802d00122020d004100210120054100360264410021020c010b20012802d40122072802080d04200741086a2208417f36020020022802080d05200241086a2209417f36020020012802d80122012802080d062001417f3602082005200141086a36027820052008360270200520093602682005200141106a36027420052007410c6a36026c2005200241106a220236026420024100472101200541e4006a410020021b21020b2005418890c680003602a001200541b890c6800036029801200520023602940120054100360290012005200136028c012005419c90c6800036028801200520063602840120054100360280012005200a36027c2005200541206a3602a4012005200541c4006a36029c01200541e0016a200541fc006a10ca8980800020052802e4012102024002400240024002400240024020052802e001220a418080808078460d00200541a8016a41306a2206200541e0016a41386a280200360200200541a8016a41286a2207200541e0016a41306a290200370300200541a8016a41206a2208200541e0016a41286a290200370300200541a8016a41186a2209200541e0016a41206a290200370300200541a8016a41106a220b200541e0016a41186a290200370300200541b0016a220c200541e0016a41106a290200370300200520052902e8013703a80141002d00b8bfd380001a41c00041002802b0bfd38000118280808000002201450d0d200120023602042001200a360200200120052903a801370208200141106a200c290300370200200141186a200b290300370200200141206a2009290300370200200141286a2008290300370200200141306a2007290300370200200141386a20062802003602002001200541fc006a36023c410121024100210602400240200441016a220a4100480d00200a450d0141002d00b8bfd380001a200a41002802b0bfd380001182808080000022020d01410121060b2006200a41cc90c6800010ae80808000000b41002106200541003602b001200520023602ac012005200a3602a80102402004417f470d00200541a8016a410020044101410110948a80800020052802a801210a20052802ac01210220052802b00121060b200220066a2003200410e9968080001a2005200620046a22063602b00102402006200a470d00200541a8016a41dc90c6800010ad8080800020052802ac0121020b200220066a41003a00002005200641016a22023602b001200120052802ac01200210d88d80800022020d01200541e0016a2001108a8d80800020052802e0012202418180808078460d0220052802e401210a2002418080808078460d0420002002360200200020053502e801422086200aad843702040c030b0240024002400240200228020041fcffffff076a2201410320014105491b0e0403030102000b2002280204450d02200228020841002802a8bfd38000118080808000000c020b2002280204450d01200228020841002802a8bfd38000118080808000000c010b200210f68d8080000b200241002802a8bfd380001180808080000020004181808080783602000c050b0240024002400240200228020041fcffffff076a220a4103200a4105491b0e0403030102000b2002280204450d02200228020841002802a8bfd38000118080808000000c020b2002280204450d01200228020841002802a8bfd38000118080808000000c010b200210f68d8080000b200241002802a8bfd380001180808080000020004181808080783602000c030b20004180808080783602000b024020052802a801450d0020052802ac0141002802a8bfd38000118080808000000b200110a68d808000200141002802a8bfd38000118080808000000c020b200a10878e80800020004181808080783602000b024020052802a801450d0020052802ac0141002802a8bfd38000118080808000000b200110a68d808000200141002802a8bfd38000118080808000000b02402005280264450d0020052802682201200128020041016a36020020052802702201200128020041016a36020020052802782201200128020041016a3602000b2005280254450d0220052802582201200128020041016a360200200528025c450d0220052802602201200128020041016a3602000c020b418180808078210a0b2000200a3602000b200541a0026a2480808080000f0b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b410441c00010b980808000000b850101017f0240024002400240200028020041fcffffff076a2201410320014105491b0e0403030102000b2000280204450d02200028020841002802a8bfd38000118080808000000c020b2000280204450d01200028020841002802a8bfd38000118080808000000c010b200010f68d8080000b200041002802a8bfd38000118080808000000bb00f01087f23808080800041a0026b2205248080808000200541e4016a2001200210f98d808000024002400240024002400240024020052d00e40122064102460d00200541086a41186a2207200541fd016a290000370300200541086a41106a2208200541f5016a290000370300200541086a41086a2209200541ed016a290000370300200520052900e501370308418080808078210a2006410171450d01200541286a41186a2007290300370300200541286a41106a2008290300370300200541286a41086a200929030037030020052005290308370328200541f48fc68000360250200520022902043702542005200136024c02400240200128024422020d004100210a2005410036025c410021060c010b200541dc006a2002200541086a10b28b808000200528025c2202410047210a200541dc006a410020021b21060b02400240200128024822020d00410021012005410036026c410021020c010b200128024c22072802080d04200741086a2208417f36020020022802080d05200241086a2209417f360200200128025022012802080d062001417f3602082005200141086a3602800120052008360278200520093602702005200141106a36027c20052007410c6a3602742005200241106a220236026c20024100472101200541ec006a410020021b21020b2005418890c680003602a801200541b890c680003602a0012005200236029c01200541003602980120052001360294012005419c90c68000360290012005200636028c0120054100360288012005200a360284012005200541286a3602ac012005200541cc006a3602a401200541e4016a20054184016a10ca8980800020052802e8012102024002400240024002400240024020052802e401220a418080808078460d00200541b0016a41306a2206200541e4016a41386a280200360200200541b0016a41286a2207200541e4016a41306a290200370300200541b0016a41206a2208200541e4016a41286a290200370300200541b0016a41186a2209200541e4016a41206a290200370300200541b0016a41106a220b200541e4016a41186a290200370300200541b8016a220c200541e4016a41106a290200370300200520052902ec013703b00141002d00b8bfd380001a41c00041002802b0bfd38000118280808000002201450d0d200120023602042001200a360200200120052903b001370208200141106a200c290300370200200141186a200b290300370200200141206a2009290300370200200141286a2008290300370200200141306a2007290300370200200141386a2006280200360200200120054184016a36023c410121024100210602400240200441016a220a4100480d00200a450d0141002d00b8bfd380001a200a41002802b0bfd380001182808080000022020d01410121060b2006200a41cc90c6800010ae80808000000b41002106200541003602b801200520023602b4012005200a3602b00102402004417f470d00200541b0016a410020044101410110948a80800020052802b001210a20052802b401210220052802b80121060b200220066a2003200410e9968080001a2005200620046a22063602b80102402006200a470d00200541b0016a41dc90c6800010ad8080800020052802b40121020b200220066a41003a00002005200641016a22023602b801200120052802b401200210d88d80800022020d01200541e4016a2001108a8d80800020052802e4012202418180808078460d0220052802e801210a2002418080808078460d0420002002360200200020053502ec01422086200aad843702040c030b0240024002400240200228020041fcffffff076a2201410320014105491b0e0403030102000b2002280204450d02200228020841002802a8bfd38000118080808000000c020b2002280204450d01200228020841002802a8bfd38000118080808000000c010b200210f68d8080000b200241002802a8bfd380001180808080000020004181808080783602000c050b0240024002400240200228020041fcffffff076a220a4103200a4105491b0e0403030102000b2002280204450d02200228020841002802a8bfd38000118080808000000c020b2002280204450d01200228020841002802a8bfd38000118080808000000c010b200210f68d8080000b200241002802a8bfd380001180808080000020004181808080783602000c030b20004180808080783602000b024020052802b001450d0020052802b40141002802a8bfd38000118080808000000b200110a68d808000200141002802a8bfd38000118080808000000c020b200a10878e80800020004181808080783602000b024020052802b001450d0020052802b40141002802a8bfd38000118080808000000b200110a68d808000200141002802a8bfd38000118080808000000b0240200528026c450d0020052802702201200128020041016a36020020052802782201200128020041016a3602002005280280012201200128020041016a3602000b200528025c450d0220052802602201200128020041016a3602002005280264450d0220052802682201200128020041016a3602000c020b418180808078210a0b2000200a3602000b200541a0026a2480808080000f0b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b410441c00010b980808000000bf10901077f23808080800041d0016b22042480808080000240024020022d00000d00200441206a200141a8016a290000370300200441186a200141a0016a290000370300200441106a20014198016a29000037030020042001290090013703080c010b200441206a200241196a290000370300200441186a200241116a290000370300200441106a200241096a290000370300200420022900013703080b0240024020012802000d004100210520044100360228410021060c010b20044188016a41186a200441086a41186a29030037030020044188016a41106a200441086a41106a29030037030020044188016a41086a200441086a41086a2903003703002004200429030837038801200441286a200141086a20044188016a10b28b808000200428022822024100472105200441286a410020021b21060b0240024002400240024020012802d00122020d004100210720044100360238410021020c010b20012802d40122072802080d01200741086a2208417f36020020022802080d02200241086a2209417f36020020012802d80122012802080d032001417f3602082004200141086a36024c200420083602442004200936023c2004200141106a36024820042007410c6a3602402004200241106a220136023820014100472107200441386a410020011b21020b200328020821082003280204210920042003280200220a4190016a220136028401200441e08fc68000360280012004200a36027c200441b890c680003602782004200236027441002102200441003602702004200736026c2004419c90c6800036026820042006360264200441003602602004200536025c4100210302402005450d00200441e4006a21032004417f3602600b02402007450d00200441f4006a21022004417f3602700b410021050240024020030d00410021030c010b20032802042107200328020021030b0240024020020d000c010b20022802042106200228020021050b20044188016a41106a200141086a29020037020020044188016a41186a200141106a290200370200200441a8016a200141186a290200370200200441e08fc6800036028c012004200a36028801200420063602bc01200420053602b801200420073602b401200420033602b0012004200129020037029001200441003602cc01200420083602c801200420093602c401200441d0006a20044188016a20092008200441c4016a10c984808000024002402004280250418180808078460d0020002004290250370200200041086a200441d0006a41086a2802003602000c010b02400240024002402004280254220128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020841002802a8bfd38000118080808000000c020b2001280204450d01200128020841002802a8bfd38000118080808000000c010b200110f68d8080000b200141002802a8bfd380001180808080000020004181808080783602000b02402004280238450d00200428023c2201200128020041016a36020020042802442201200128020041016a360200200428024c2201200128020041016a3602000b02402004280228450d00200428022c2201200128020041016a3602002004280230450d0020042802342201200128020041016a3602000b200441d0016a2480808080000f0b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b980901077f23808080800041d0016b22042480808080000240024020022d00000d00200441206a2001411c6a290000370300200441186a200141146a290000370300200441106a2001410c6a290000370300200420012900043703080c010b200441206a200241196a290000370300200441186a200241116a290000370300200441106a200241096a290000370300200420022900013703080b02400240200128024422020d00410021052004410036022c410021060c010b2004412c6a2002200441086a10b28b808000200428022c220241004721052004412c6a410020021b21060b02400240024002400240200128024822020d00410021072004410036023c410021020c010b200128024c22072802080d01200741086a2208417f36020020022802080d02200241086a2209417f360200200128025022012802080d032001417f3602082004200141086a36025020042008360248200420093602402004200141106a36024c20042007410c6a3602442004200241106a220136023c200141004721072004413c6a410020011b21020b200328020821082003280204210920042003280200220a41046a220136028801200441f48fc68000360284012004200a36028001200441b890c6800036027c200420023602784100210220044100360274200420073602702004419c90c6800036026c2004200636026820044100360264200420053602604100210302402005450d00200441e8006a21032004417f3602640b02402007450d00200441f8006a21022004417f3602740b410021050240024020030d00410021030c010b20032802042107200328020021030b0240024020020d000c010b20022802042106200228020021050b2004418c016a41106a200141086a2902003702002004418c016a41186a200141106a290200370200200441ac016a200141186a290200370200200441f48fc68000360290012004200a36028c01200420063602c001200420053602bc01200420073602b801200420033602b4012004200129020037029401200441003602cc01200420083602c801200420093602c401200441d4006a2004418c016a20092008200441c4016a10c984808000024002402004280254418180808078460d0020002004290254370200200041086a200441d4006a41086a2802003602000c010b02400240024002402004280258220128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020841002802a8bfd38000118080808000000c020b2001280204450d01200128020841002802a8bfd38000118080808000000c010b200110f68d8080000b200141002802a8bfd380001180808080000020004181808080783602000b0240200428023c450d0020042802402201200128020041016a36020020042802482201200128020041016a36020020042802502201200128020041016a3602000b0240200428022c450d0020042802302201200128020041016a3602002004280234450d0020042802382201200128020041016a3602000b200441d0016a2480808080000f0b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000bb60101017f23808080800041206b2204248080808000200441086a20012802042002200310f384808000024002402004280208418080808078470d00200441146a20012802002002200310fc8480800002402004280214418180808078460d0020002004290214370200200041086a200441146a41086a2802003602000c020b20004180808080783602000c010b20002004290208370200200041086a200441086a41086a2802003602000b200441206a2480808080000bb60101017f23808080800041206b2204248080808000200441086a20012802042002200310f384808000024002402004280208418080808078470d00200441146a20012802002002200310cc8480800002402004280214418180808078460d0020002004290214370200200041086a200441146a41086a2802003602000c020b20004180808080783602000c010b20002004290208370200200041086a200441086a41086a2802003602000b200441206a2480808080000b15002000200128020420022003200410f6848080000b110020002802042001200210f8848080000b1300200028020420012002200310f7848080000bb60101027f23808080800041206b2203248080808000200341086a20002802042001200210f384808000024002400240024020032802082204418080808078470d00200341146a20002802002001200210cc8480800020032802142204418180808078470d01410021000c030b200328020c21020c010b410021002004418080808078460d01200328021821020b410121002004450d00200241002802a8bfd38000118080808000000b200341206a24808080800020000bb60101027f23808080800041206b2203248080808000200341086a20002802042001200210f384808000024002400240024020032802082204418080808078470d00200341146a20002802002001200210fc8480800020032802142204418180808078470d01410021000c030b200328020c21020c010b410021002004418080808078460d01200328021821020b410121002004450d00200241002802a8bfd38000118080808000000b200341206a24808080800020000b1400200041bc8cc68000360204200020013602000b1400200041e48cc68000360204200020013602000b1400200041bc8cc68000360204200020013602000b1400200041e48cc68000360204200020013602000bb50401047f23808080800041b0016b220224808080800020012802002103200241c8006a4200370300200241d0006a4200370300200241d8006a410036020020024200370338200242808090bbbad6adf00d370330200241003a0070200241003602282002428080808080023703202002418180808078360214200241e40036026c20024100360260200242003703402002420137026441002d00b8bfd380001a0240024041800141002802b0bfd38000118280808000002204450d00200241003602a801200220043602a40120024180013602a0012002200241a0016a3602ac0102402002200241ac016a10da878080002204450d0020022802a001450d0220022802a40141002802a8bfd38000118080808000000c020b20022802a401210420022802a0012205418080808078460d01024002402003418080808078470d00200020022802a80136020820002004360204200020053602000c010b2000200110968b8080002005450d00200441002802a8bfd38000118080808000000b02402002280220450d00200228022441002802a8bfd38000118080808000000b024020022802142200418280808078480d002000450d00200228021841002802a8bfd38000118080808000000b02402002280260450d00200228026441002802a8bfd38000118080808000000b200241b0016a2480808080000f0b410141800141c489c6800010ae80808000000b200220043602a001419c8dc68000412f200241a0016a418c8dc6800041a08ec6800010a481808000000b8c0e030f7f027e0b7f23808080800041d0046b22022480808080002001280204210320012802082104200241003602b802200220043602b402200220033602b00220024180013a00bc02200241003602ac0220024280808080103702a402200241b0036a200241a4026a200220022002200210988e80800020022802b003210502400240024020022802d0032206418080808078460d00200241f8026a41086a2207200241b0036a41306a290300370300200241f8026a41106a2208200241e8036a290300370300200241f8026a41186a2209200241f0036a290300370300200241f8026a41206a220a200241f8036a290300370300200241f8026a41286a220b20024180046a290300370300200241f8026a41306a220c20024188046a290300370300200220022903d8033703f80220022802d403210d20022802cc03210e20022802c803210f20022802c403211020022902bc03211120022902b4032112200241c0026a41086a2213200241a0046a290300370300200241c0026a41106a2214200241a8046a290300370300200241c0026a41186a2215200241b0036a4180016a290300370300200241c0026a41206a2216200241b8046a290300370300200241c0026a41286a2217200241c0046a290300370300200241c0026a41306a2218200241c8046a29030037030020022002290398043703c0022002280294042119200228029004211a0240024020022802b802220420022802b402221b4f0d0020022802b002211c0340201c20046a2d000041776a221d41174b0d024101201d74419380800471450d02201b200441016a2204470d000b2002201b3602b8020b200241e8016a41306a200c290300370300200241e8016a41286a200b290300370300200241e8016a41206a200a290300370300200241e8016a41186a2009290300370300200241e8016a41106a2008290300370300200241e8016a41086a2007290300370300200241b0016a41086a2013290300370300200241b0016a41106a2014290300370300200241b0016a41186a2015290300370300200241b0016a41206a2016290300370300200241b0016a41286a2017290300370300200241b0016a41306a2018290300370300200220022903f8023703e801200220022903c0023703b001024020022802a402450d0020022802a80241002802a8bfd38000118080808000000b200241106a41306a200241e8016a41086a290300370200200241c8006a200241e8016a41106a290300370300200241d0006a200241e8016a41186a290300370200200241d8006a200241e8016a41206a290300370300200241e0006a200241e8016a41286a290300370200200241e8006a200241e8016a41306a2903003703002002200d3602342002200e36022c2002200f360228200220103602242002201137021c200220022903e80137033820024180016a200241b0016a41086a29030037020020024188016a200241b0016a41106a29030037030020024190016a200241b0016a41186a29030037020020024198016a200241b0016a41206a290300370300200241a0016a200241b0016a41286a290300370200200241a8016a200241b0016a41306a290300370300200220193602742002201a360270200220022903b001370378200220063602302002201237021420022005360210200241106a10d787808000200041808080807836020002402006450d00200d41002802a8bfd3800011808080800000200228022421100b02402010418280808078480d002010450d00200228022841002802a8bfd38000118080808000000b2002280270450d02200228027441002802a8bfd38000118080808000000c020b200220043602b802200241086a201c201b200441016a2204201b2004201b491b10829280800041002d00b8bfd380001a200228020c21042002280208211d411441002802b0bfd38000118280808000002205450d022005201d36020c200541163602002005200436021002402006450d00200d41002802a8bfd38000118080808000000b02402010418280808078480d002010450d00200f41002802a8bfd38000118080808000000b201a450d00201941002802a8bfd38000118080808000000b024020022802a402450d0020022802a80241002802a8bfd38000118080808000000b200220053602a402200241013602b403200241c48ec680003602b003200242013702bc03200241d883808000ad422086200241a4026aad843703c0022002200241c0026a3602b803200241f8026a200241b0036a10b180808000024020022802a40222042802000d002004280208450d00200428020441002802a8bfd38000118080808000000b200441002802a8bfd380001180808080000020022802f8022104200020022902fc02370204200020043602000b02402001280200450d00200341002802a8bfd38000118080808000000b200241d0046a2480808080000f0b4104411410b980808000000bd52e050a7f017e057f047e0c7f23808080800041d0036b2206248080808000200128020c21070240024002400240024002400240024002400240024002400240024002400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b200641206a20072009200841016a2208200920082009491b10829280800041002d00b8bfd380001a2006280224210b20062802202101411441002802b0bfd38000118280808000002208450d012008200136020c200841053602002000418080808078360220200020083602002008200b3602100c0f0b02400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641cf036a41b4a2c6800010ee8d80800021070c170b200120012d0018417f6a220b3a0018200841016a2108200b41ff0171450d1420012008360214200641013a00b402200620013602b00220064180036a200641b0026a10c58e80800020062d0080030d0920062d008103450d08418080808078210c20062802b002200820082008200810f48e80800022070d1120064180036a200641b0026a10c58e80800020062d0080030d0620062d008103450d0720062802b002200820082008200810f88e80800022070d1120064180036a200641b0026a10c58e80800020062d0080030d0620062d008103450d05200641086a20062802b002200820082008200810f78e808000200628020c210720062802080d1120064180036a200641b0026a10c58e80800020062d0080030d040240024020062d008103450d0020064180036a20062802b002200820082008200810f38e808000200628028003210820062802a003220b418080808078470d01200821070c130b410341f0a2c6800041fc93c6800010c28e80800021070c120b200641c8026a200629028c0337030020062006290284033703c002200628029403210a200628029803210d200628029c03210e20062802a403210f20062903a803211020064180036a200641b0026a10c58e80800020062d0080030d030240024020062d008103450d0020064180036a20062802b002200820082008200810f68e808000024020062d0080034101470d0020062802840321110c130b200641b0036a41086a220920064180036a41106a290200370300200641b0036a41106a221120064180036a41186a290200370300200641b0036a41186a2212200641a0036a2f01003b010020062006290288033703b00320062d00810322134102470d010b410441f0a2c6800041fc93c6800010c28e80800021110c110b200628028403211420062f0182032115200641e0026a41186a20122f01003b0100200641e0026a41106a2011290300370300200641e0026a41086a2009290300370300200620062903b0033703e00220064180036a200641b0026a10c58e80800020062d0080030d030240024020062d008103450d0020064180036a20062802b002200820082008200810f58e8080002006280280034101470d0120062802840321110c120b410541f0a2c6800041fc93c6800010c28e80800021110c110b20062902940321162006419c036a3502002117200635029003211820064180036a200641b0026a10cc8e808000024020062d008003450d0020062802840321110c110b024020062d0081034101710d00410641f0a2c6800041fc93c6800010c28e80800021110c110b20064180036a200641b0026a10c98e808000200628028803211220062903800322194202510d02200641c8036a200641a4036a280200360200200641c0036a2006419c036a290200370300200641b8036a20064194036a2902003703002006200629028c033703b0030240201950450d00410741f0a2c6800041fc93c6800010c28e80800021110c110b20064180036a200641b0026a10c78e80800020062802840321110240024020062802800322094180808080786a0e020012010b410841f0a2c6800041fc93c6800010c28e80800021110c110b200628028803211a20064180036a200641b0026a10c48e8080000240024020062d008003450d0020062802840321080c010b20062d00810341ff01710d02410941f0a2c6800041fc93c6800010c28e80800021080b02402009450d00201141002802a8bfd38000118080808000000b200821110c100b200120012d0018417f6a220b3a0018200841016a2108200b41ff0171450d0e20012008360214200641013a00ac02200620013602a80220064180036a200641a8026a10d28e8080000240024020062d008003450d0041022113418080808078210c41808080807821090c010b20064180036a410472211b20064180036a41086a211c20064180036a410c6a211d420021184100211e4100211f41002120410221134100212141002122410021234180808080782109418080808078210c0340024002400240024002400240024002400240024002400240024020062d008103450d0020062802a802220841003602082008200828021441016a36021420064180036a2008410c6a2008108492808000200628028403210b02402006280280034102470d00410021240c1b0b200641b0036a200b20062802880310dc87808000024020062d00b003410171450d0020062802b403210b410021240c1b0b024002400240024002400240024002400240024020062d00b1030e0a00010203040506070809000b201e4101710d2241002124200810f08d808000220b0d232008200820082008200810f48e808000220b0d234101211e0c150b201f4101710d1341002124200810f08d808000220b0d222008200820082008200810f88e808000220b0d224101211f0c140b20204101460d1141002124200810f08d808000220b0d21200641186a2008200820082008200810f78e808000200628021c210b20062802180d2141012120200b21250c130b0240200c418080808078460d004100212441e494c68000410810c38e808000210b0c210b0240200810f08d808000220b0d0020064180036a2008200820082008200810f38e808000200628028003210720062802a003220c418080808078470d0a2007210b0b418080808078210c410021240c200b0240201341ff01714102460d0041002124419aa3c68000410410c38e808000210b0c200b0240200810f08d808000220b0d0020064180036a2008200820082008200810f68e808000024020062d0080034101710d00200641b0036a41106a201c41106a2902002219370300200641c0026a41086a201c41086a290200370300200641c0026a41106a2019370300200641c0026a41186a201c41186a2f01003b01002006201c2902003703c002200628028403211420062f018203211520062d00810321130c130b200628028403210b0b41022113410021240c1f0b20214101460d0d0240200810f08d808000220b450d00410021240c1f0b20064180036a2008200820082008200810f58e808000410121212006280280034101710d1220064180036a41186a290300211720062903900321160c100b20224101710d0b41002124200810f08d808000220b0d1d2008200820082008200810cd8e808000220b0d1d410121220c0f0b20184201510d090240200810f08d808000220b0d0020064180036a2008200820082008200810ca8e80800002402006280280034101710d00200641e0026a41086a201d41086a290200370300200641e0026a41106a201d41106a290200370300200641e0026a41186a201d41186a2802003602002006201d2902003703e0022006280288032112420121180c100b200628028403210b0b410021240c1c0b02402009418080808078460d004100212441c1a3c68000410410c38e808000210b0c1c0b0240200810f08d808000220b450d004100212441808080807821080c1d0b20064180036a2008200820082008200810c88e8080004180808080782108200628028403210b2006280280032209418080808078460d02200628028803211a200b21110c0d0b20234101710d0641002124200810f08d808000220b0d1a2008200820082008200810c68e808000220b0d1a410121230c0c0b0240201e4101710d004100212441f8a2c68000410610bf8e808000210b0c1a0b0240201f4101710d004100212441fea2c68000410f10bf8e808000210b0c1a0b024020200d0041002124418da3c68000410d10bf8e808000210b0c1a0b0240200c418080808078470d004100212441e494c68000410810bf8e808000210b418080808078210c0c1a0b0240201341ff01714102470d0041002108419aa3c68000410410bf8e808000210b0c050b2021450d03024020224101710d004100210841b0a3c68000410a10bf8e808000210b0c050b024020184200520d004100210841baa3c68000410710bf8e808000210b0c050b02402009418080808078470d004100210841c1a3c68000410410bf8e808000210b0c050b4101210820234101710d0141c5a3c68000410710bf8e808000210b2009450d04201141002802a8bfd38000118080808000000c040b410021240c190b20064198026a41086a200641b0026a41086a290200370300200641d8016a41086a200641c0026a41086a290000370300200641d8016a41106a200641c0026a41106a290000370300200641d8016a41186a200641c0026a41186a2f00003b0100200641f8016a41086a200641e0026a41086a290200370300200641f8016a41106a200641e0026a41106a290200370300200641f8016a41186a200641e0026a41186a280200360200200620062902b00237039802200620062900c0023703d801200620062902e0023703f8010c190b200641b0026a41086a201b41086a2902003703002006201b2902003703b002200628029403210a200628029803210d200628029c03210e20062802a403210f20062903a80321100c080b41002108419ea3c68000411210bf8e808000210b0b0240200c450d00200f41002802a8bfd38000118080808000000b024002400240200a418280808078480d00200a450d00200d41002802a8bfd380001180808080000020080d010c020b2008450d010b200b2107418080808078210c0c170b410121240c140b4100212441c5a3c68000410710c38e808000210b0c130b4100212441baa3c68000410710c38e808000210b0c120b4100212441b0a3c68000410a10c38e808000210b0c110b41002124419ea3c68000411210c38e808000210b0c100b41002124418da3c68000410d10c38e808000210b0c0f0b4100212441fea2c68000410f10c38e808000210b0c0e0b20064180036a200641a8026a10d28e80800020062d008003450d000b0b200628028403210b410021240c0b0b2017422086201642208884211720164220862018842116200641c8016a41086a200641c0026a41086a29030037030020064188016a41086a200641e0026a41086a29030037030020064188016a41106a200641e0026a41106a29030037030020064188016a41186a200641e0026a41186a2f01003b0100200641a8016a41086a200641b0036a41086a290300370300200641a8016a41106a200641b0036a41106a290300370300200641a8016a41186a200641b0036a41186a280200360200200620062903c0023703c801200620062903e00237038801200620062903b0033703a80120072125200b210c200821070c100b201221110c0d0b20062802840321110c0c0b20062802840321070c0c0b410241f0a2c6800041fc93c6800010c28e80800021070c0b0b20062802840321070c0a0b410141f0a2c6800041fc93c6800010c28e80800021070c090b418080808078210c410041f0a2c6800041fc93c6800010c28e80800021070c080b2006280284032107418080808078210c0c070b4104411410b980808000000b4100212441f8a2c68000410610c38e808000210b0b0240200941808080807872418080808078470d00200921080c010b201141002802a8bfd3800011808080800000200921080b0240200c418080808078460d0020240d000240200c450d00200f41002802a8bfd38000118080808000000b200a418280808078480d00200a450d00200d41002802a8bfd38000118080808000000b200b210720082109418080808078210c0b200120012d001841016a3a00184180808080782108200110f18d808000210b02400240200c418080808078460d00200b0d01200641f8006a41086a20064198026a41086a290300370300200641d8006a41086a200641f8016a41086a290300370300200641d8006a41106a200641f8016a41106a290300370300200641d8006a41186a200641f8016a41186a280200360200200641386a41086a200641d8016a41086a290300370300200641386a41106a200641d8016a41106a290300370300200641386a41186a200641d8016a41186a2f01003b01002006200629039802370378200620062903f801370358200620062903d801370338200c21080c060b200b450d050240200b2802000d00200b280208450d00200b28020441002802a8bfd38000118080808000000b200b41002802a8bfd38000118080808000000c050b0240200c450d00200f41002802a8bfd38000118080808000000b0240200a418280808078480d00200a450d00200d41002802a8bfd38000118080808000000b4180808080782108024020090d00200b21070c050b201141002802a8bfd3800011808080800000200b21070c040b200641106a200720092008200920082009491b10829280800041002d00b8bfd380001a2006280214210b20062802102101411441002802b0bfd380001182808080000022080d054104411410b980808000000b0240200b450d00200f41002802a8bfd38000118080808000000b0240200a418280808078480d00200a450d00200d41002802a8bfd38000118080808000000b201121070b0b200120012d001841016a3a00184180808080782108200110f28d808000210b02400240200c418080808078460d00200b0d01200641f8006a41086a200641c8016a41086a290300370300200641d8006a41086a200641a8016a41086a290300370300200641d8006a41106a200641a8016a41106a290300370300200641d8006a41186a200641a8016a41186a280200360200200641386a41086a20064188016a41086a290300370300200641386a41106a20064188016a41106a290300370300200641386a41186a20064188016a41186a2f01003b0100200620062903c801370378200620062903a8013703582006200629038801370338200c21080c020b200b450d010240200b2802000d00200b280208450d00200b28020441002802a8bfd38000118080808000000b200b41002802a8bfd38000118080808000000c010b0240200c450d00200f41002802a8bfd38000118080808000000b0240200a418280808078480d00200a450d00200d41002802a8bfd38000118080808000000b418080808078210802402009450d00201141002802a8bfd38000118080808000000b200b21070b2008418080808078460d02200020163703302000200629037837020420002012360240200020103703282000200f3602242000200e36021c2000200d3602182000200a36021420002006290358370244200020173703382000410c6a200641f8006a41086a290300370200200041cc006a200641d8006a41086a290300370200200041d4006a200641d8006a41106a290300370200200041dc006a200641d8006a41186a28020036020020002014360073200020153b0071200020133a00702000202536026c2000201a360268200020113602642000200936026020002006290338370077200041ff006a200641386a41086a29030037000020004187016a200641386a41106a2903003700002000418f016a200641386a41186a2f01003b0000200020062900293700910120004198016a200641306a2900003700000c030b2006200720092008200920082009491b10829280800041002d00b8bfd380001a2006280204210b20062802002101411441002802b0bfd380001182808080000022080d004104411410b980808000000b2008200136020c200841183602002000418080808078360220200020083602002008200b3602100c020b41808080807821082007200110ef8d80800021070b20002008360220200020073602000b200641d0036a2480808080000bd80101017f23808080800041106b220424808080800002400240024002402002200141246a412010ed96808000450d00200441046a20012002200310fc848080002004280204418180808078460d0120002004290204370200200041086a200441046a41086a2802003602000c020b41002d00b8bfd380001a410141002802b0bfd38000118280808000002201450d02200041013602082000200136020420004101360200200141003a00000c010b20004180808080783602000b200441106a2480808080000f0b4101410141fc98c6800010ae80808000000bdd0101017f23808080800041106b220424808080800002400240024002402002200141b0016a412010ed96808000450d00200441046a200141c8006a2002200310cc848080002004280204418180808078460d0120002004290204370200200041086a200441046a41086a2802003602000c020b41002d00b8bfd380001a410141002802b0bfd38000118280808000002201450d02200041013602082000200136020420004101360200200141003a00000c010b20004180808080783602000b200441106a2480808080000f0b4101410141fc98c6800010ae80808000000be40101017f23808080800041106b22032480808080000240024002400240024002402001200041b0016a412010ed96808000450d00200341046a200041c8006a2001200210cc8480800020032802042200418180808078470d01410021000c040b41002d00b8bfd380001a410141002802b0bfd38000118280808000002200450d04200041003a00000c010b02402000418080808078470d00410021000c030b2000450d01200328020821000b200041002802a8bfd38000118080808000000b410121000b200341106a24808080800020000f0b4101410141fc98c6800010ae80808000000bdf0101017f23808080800041106b22032480808080000240024002400240024002402001200041246a412010ed96808000450d00200341046a20002001200210fc8480800020032802042200418180808078470d01410021000c040b41002d00b8bfd380001a410141002802b0bfd38000118280808000002200450d04200041003a00000c010b02402000418080808078470d00410021000c030b2000450d01200328020821000b200041002802a8bfd38000118080808000000b410121000b200341106a24808080800020000f0b4101410141fc98c6800010ae80808000000b9a1d020d7f027e2380808080004190026b2204248080808000200420012802303602082004200128022c220541c8006a3602042002410047210620054190016a2107024002400240024020012802342d00000d00200441106a41186a200741186a2205290000370300200441106a41106a200741106a2208290000370300200441106a41086a200741086a220929000037030020042007290000370310200441f9006a2005290000370000200441f1006a2008290000370000200441e9006a2009290000370000200441bc8cc68000360288012004410036025c200442043702542004420037024c20044280808080c0003702442004419c90c680003602a0012004200336029c0120044100360298012004410036029001200441013a0060200420072900003700612004200441106a36028c012004200441046a36028401200441b890c680003602402004200236023c2004410036023820042006360234200441e0016a41286a200141286a280200360200200441e0016a41206a200141206a290200370300200441e0016a41186a200141186a290200370300200441e0016a41106a200141106a290200370300200441e0016a41086a200141086a290200370300200420012902003703e001200441a4016a200441e0016a41fc97c6800010918c80800020042802ac01210120042802a801210a20042004418f026a3602e001200441346a41106a210b02400240024020014102490d00024020014115490d00200a2001200441e0016a10ff8680800020042802a401210c0c020b200a20014101200441e0016a108f8f80800020042802a401210c0c010b20042802a401210c2001450d010b200a20014104746a210d200441d4016a210e200441e0016a41086a2102200441e0016a4101722106200441b0016a41086a2103200441b0016a41046a210f200441b0016a4101722108200a2101034020012802002205450d0120012802042109024002400240200128020822100d00200441e0016a200441346a2005200910d78d80800020042d00e00122054104460d01200820062f00003b000020032002290200370200200841026a200641026a2d00003a0000200341086a200241086a290200370200200341106a200241106a290200370200200341186a200241186a290200370200200341206a200241206a2802003602000c020b200441e0016a200441346a200520092010200128020c10d48d80800020042d00e00122054104460d00200820062f00003b000020032002290200370200200841026a200641026a2d00003a0000200341086a200241086a290200370200200341106a200241106a290200370200200341186a200241186a290200370200200341206a200241206a2802003602000c010b20042802e40121010240200c450d00200a41002802a8bfd38000118080808000000b200441346a10d28d808000200b10d68b80800002402004280244450d00200428024841002802a8bfd38000118080808000000b02402004280250450d00200428025441002802a8bfd38000118080808000000b0240024020042802900122020d0041002102410021030c010b200420042802940122033602fc01200420023602f801200441003602f401200420033602ec01200420023602e801200441003602e4014101210220042802980121030b2004200336028002200420023602f001200420023602e001200441e0016a10948b8080000c050b200420042802e40122093602b401200420053a00b001024020054103460d0002400240024020050e020103000b20042802d401220520052802002209417f6a360200200e210520094101460d010c020b200920092802002210417f6a360200200f210520104101470d010b200510d0968080000b200141106a2201200d470d000b0b0240200c450d00200a41002802a8bfd38000118080808000000b200441346a10d28d808000200b10d68b80800002402004280244450d00200428024841002802a8bfd38000118080808000000b02402004280250450d00200428025441002802a8bfd38000118080808000000b0240024020042802900122010d0041002101410021020c010b200420042802940122023602fc01200420013602f801200441003602f401200420023602ec01200420013602e801200441003602e4014101210120042802980121020b2004200236028002200420013602f001200420013602e001200441e0016a10948b8080002004410e6a20042d00123a0000200441b8016a2004411f6a290000370300200441c0016a200441276a290000370300200441c8016a2004412f6a2d00003a0000200420042f01103b010c200420042900173703b0010c010b200441106a41186a200741186a2205290000370300200441106a41106a200741106a2208290000370300200441106a41086a200741086a220929000037030020042007290000370310200441f9006a2005290000370000200441f1006a2008290000370000200441e9006a2009290000370000200441bc8cc68000360288012004410036025c200442043702542004420037024c20044280808080c0003702442004419c90c680003602a0012004200336029c0120044100360298012004410036029001200441013a0060200420072900003700612004200441106a36028c012004200441046a36028401200441b890c680003602402004200236023c2004410036023820042006360234200441e0016a41286a200141286a280200360200200441e0016a41206a200141206a290200370300200441e0016a41186a200141186a290200370300200441e0016a41106a200141106a290200370300200441e0016a41086a200141086a290200370300200420012902003703e001200441a4016a200441e0016a41fc97c6800010918c80800020042802ac01210120042802a801210a20042004418f026a3602e001200441346a41106a210b02400240024020014102490d00024020014115490d00200a2001200441e0016a10878780800020042802a401210c0c020b200a20014101200441e0016a108f8f80800020042802a401210c0c010b20042802a401210c2001450d010b200a20014104746a210d200441d4016a210e200441e0016a41086a2102200441e0016a4101722106200441b0016a41086a2103200441b0016a41046a210f200441b0016a4101722108200a2101034020012802002205450d0120012802042109024002400240200128020822100d00200441e0016a200441346a2005200910d68d80800020042d00e00122054104460d01200820062f00003b000020032002290200370200200841026a200641026a2d00003a0000200341086a200241086a290200370200200341106a200241106a290200370200200341186a200241186a290200370200200341206a200241206a2802003602000c020b200441e0016a200441346a200520092010200128020c10d58d80800020042d00e00122054104460d00200820062f00003b000020032002290200370200200841026a200641026a2d00003a0000200341086a200241086a290200370200200341106a200241106a290200370200200341186a200241186a290200370200200341206a200241206a2802003602000c010b20042802e40121010240200c450d00200a41002802a8bfd38000118080808000000b200441346a10d38d808000200b10d68b80800002402004280244450d00200428024841002802a8bfd38000118080808000000b02402004280250450d00200428025441002802a8bfd38000118080808000000b0240024020042802900122020d0041002102410021030c010b200420042802940122033602fc01200420023602f801200441003602f401200420033602ec01200420023602e801200441003602e4014101210220042802980121030b2004200336028002200420023602f001200420023602e001200441e0016a10948b8080000c040b200420042802e40122093602b401200420053a00b001024020054103460d0002400240024020050e020103000b20042802d401220520052802002209417f6a360200200e210520094101460d010c020b200920092802002210417f6a360200200f210520104101470d010b200510d0968080000b200141106a2201200d470d000b0b0240200c450d00200a41002802a8bfd38000118080808000000b200441346a10d38d808000200b10d68b80800002402004280244450d00200428024841002802a8bfd38000118080808000000b02402004280250450d00200428025441002802a8bfd38000118080808000000b0240024020042802900122010d0041002101410021020c010b200420042802940122023602fc01200420013602f801200441003602f401200420023602ec01200420013602e801200441003602e4014101210120042802980121020b2004200236028002200420013602f001200420013602e001200441e0016a10948b8080002004410e6a20042d00123a0000200441b8016a2004411f6a290000370300200441c0016a200441276a290000370300200441c8016a2004412f6a2d00003a0000200420042f01103b010c200420042900173703b0010b20042800132101200020042903b001221137002820002011370008200041013a0000200020042f010c3b0001200041c0006a200441b0016a41186a2d000022023a0000200041386a200441b0016a41106a2903002211370000200041306a200441b8016a2903002212370000200041106a2012370000200041186a2011370000200041206a20023a0000200041036a2004410e6a22022d00003a00002000200136000420002001360024200020042f010c3b0021200041236a20022d00003a00000c010b200041003a000020002007290000370021200041396a200741186a290000370000200041316a200741106a290000370000200041296a200741086a2900003700000240024002400240200128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020841002802a8bfd38000118080808000000c020b2001280204450d01200128020841002802a8bfd38000118080808000000c010b200110f68d8080000b200141002802a8bfd38000118080808000000b20044190026a2480808080000b831d03047f047e097f2380808080004190026b2204248080808000200420012802303602082004200128022c220536020420024100472106200541046a2107024002400240024020012802342d00000d00200441106a41186a200741186a2900002208370300200441106a41106a200741106a2900002209370300200441106a41086a200741086a290000220a37030020042007290000220b370310200441f9006a2008370000200441f1006a2009370000200441e9006a200a3700002004200b370061200441e48cc68000360288012004410036025c200442043702542004420037024c20044280808080c0003702442004419c90c680003602a0012004200336029c0120044100360298012004410036029001200441013a006020042006360234200441003602382004200236023c200441b890c680003602402004200441106a36028c012004200441046a36028401200441e0016a41286a200141286a280200360200200441e0016a41206a200141206a290200370300200441e0016a41186a200141186a290200370300200441e0016a41106a200141106a290200370300200441e0016a41086a200141086a290200370300200420012902003703e001200441a4016a200441e0016a41fc97c6800010918c80800020042802ac01210120042802a801210c20042004418f026a3602e001200441346a41106a210d02400240024020014102490d00024020014115490d00200c2001200441e0016a10858780800020042802a401210e0c020b200c20014101200441e0016a108f8f80800020042802a401210e0c010b20042802a401210e2001450d010b200c20014104746a210f200441d4016a2110200441e0016a41086a2102200441e0016a4101722106200441b0016a41086a2103200441b0016a41046a2111200441b0016a4101722112200c2101034020012802002205450d0120012802042113024002400240200128020822140d00200441e0016a200441346a2005201310d78d80800020042d00e00122054104460d01201220062f00003b000020032002290200370200201241026a200641026a2d00003a0000200341086a200241086a290200370200200341106a200241106a290200370200200341186a200241186a290200370200200341206a200241206a2802003602000c020b200441e0016a200441346a200520132014200128020c10d48d80800020042d00e00122054104460d00201220062f00003b000020032002290200370200201241026a200641026a2d00003a0000200341086a200241086a290200370200200341106a200241106a290200370200200341186a200241186a290200370200200341206a200241206a2802003602000c010b20042802e40121010240200e450d00200c41002802a8bfd38000118080808000000b200441346a10d28d808000200d10d68b80800002402004280244450d00200428024841002802a8bfd38000118080808000000b02402004280250450d00200428025441002802a8bfd38000118080808000000b0240024020042802900122020d0041002102410021030c010b200420042802940122033602fc01200420023602f801200441003602f401200420033602ec01200420023602e801200441003602e4014101210220042802980121030b2004200336028002200420023602f001200420023602e001200441e0016a10948b8080000c050b200420042802e40122133602b401200420053a00b001024020054103460d0002400240024020050e020103000b20042802d401220520052802002213417f6a3602002010210520134101460d010c020b201320132802002214417f6a3602002011210520144101470d010b200510d0968080000b200141106a2201200f470d000b0b0240200e450d00200c41002802a8bfd38000118080808000000b200441346a10d28d808000200d10d68b80800002402004280244450d00200428024841002802a8bfd38000118080808000000b02402004280250450d00200428025441002802a8bfd38000118080808000000b0240024020042802900122010d0041002101410021020c010b200420042802940122023602fc01200420013602f801200441003602f401200420023602ec01200420013602e801200441003602e4014101210120042802980121020b2004200236028002200420013602f001200420013602e001200441e0016a10948b8080002004410e6a20042d00123a0000200441b8016a2004411f6a290000370300200441c0016a200441276a290000370300200441c8016a2004412f6a2d00003a0000200420042f01103b010c200420042900173703b0010c010b200441106a41186a200741186a2900002208370300200441106a41106a200741106a2900002209370300200441106a41086a200741086a290000220a37030020042007290000220b370310200441f9006a2008370000200441f1006a2009370000200441e9006a200a3700002004200b370061200441e48cc68000360288012004410036025c200442043702542004420037024c20044280808080c0003702442004419c90c680003602a0012004200336029c0120044100360298012004410036029001200441013a006020042006360234200441003602382004200236023c200441b890c680003602402004200441106a36028c012004200441046a36028401200441e0016a41286a200141286a280200360200200441e0016a41206a200141206a290200370300200441e0016a41186a200141186a290200370300200441e0016a41106a200141106a290200370300200441e0016a41086a200141086a290200370300200420012902003703e001200441a4016a200441e0016a41fc97c6800010918c80800020042802ac01210120042802a801210c20042004418f026a3602e001200441346a41106a210d02400240024020014102490d00024020014115490d00200c2001200441e0016a10eb8680800020042802a401210e0c020b200c20014101200441e0016a108f8f80800020042802a401210e0c010b20042802a401210e2001450d010b200c20014104746a210f200441d4016a2110200441e0016a41086a2102200441e0016a4101722106200441b0016a41086a2103200441b0016a41046a2111200441b0016a4101722112200c2101034020012802002205450d0120012802042113024002400240200128020822140d00200441e0016a200441346a2005201310d68d80800020042d00e00122054104460d01201220062f00003b000020032002290200370200201241026a200641026a2d00003a0000200341086a200241086a290200370200200341106a200241106a290200370200200341186a200241186a290200370200200341206a200241206a2802003602000c020b200441e0016a200441346a200520132014200128020c10d58d80800020042d00e00122054104460d00201220062f00003b000020032002290200370200201241026a200641026a2d00003a0000200341086a200241086a290200370200200341106a200241106a290200370200200341186a200241186a290200370200200341206a200241206a2802003602000c010b20042802e40121010240200e450d00200c41002802a8bfd38000118080808000000b200441346a10d38d808000200d10d68b80800002402004280244450d00200428024841002802a8bfd38000118080808000000b02402004280250450d00200428025441002802a8bfd38000118080808000000b0240024020042802900122020d0041002102410021030c010b200420042802940122033602fc01200420023602f801200441003602f401200420033602ec01200420023602e801200441003602e4014101210220042802980121030b2004200336028002200420023602f001200420023602e001200441e0016a10948b8080000c040b200420042802e40122133602b401200420053a00b001024020054103460d0002400240024020050e020103000b20042802d401220520052802002213417f6a3602002010210520134101460d010c020b201320132802002214417f6a3602002011210520144101470d010b200510d0968080000b200141106a2201200f470d000b0b0240200e450d00200c41002802a8bfd38000118080808000000b200441346a10d38d808000200d10d68b80800002402004280244450d00200428024841002802a8bfd38000118080808000000b02402004280250450d00200428025441002802a8bfd38000118080808000000b0240024020042802900122010d0041002101410021020c010b200420042802940122023602fc01200420013602f801200441003602f401200420023602ec01200420013602e801200441003602e4014101210120042802980121020b2004200236028002200420013602f001200420013602e001200441e0016a10948b8080002004410e6a20042d00123a0000200441b8016a2004411f6a290000370300200441c0016a200441276a290000370300200441c8016a2004412f6a2d00003a0000200420042f01103b010c200420042900173703b0010b20042800132101200020042903b001220837002820002008370008200041013a0000200020042f010c3b0001200041c0006a200441b0016a41186a2d000022023a0000200041386a200441b0016a41106a2903002208370000200041306a200441b8016a2903002209370000200041106a2009370000200041186a2008370000200041206a20023a0000200041036a2004410e6a22022d00003a00002000200136000420002001360024200020042f010c3b0021200041236a20022d00003a00000c010b200041003a000020002007290000370021200041396a200741186a290000370000200041316a200741106a290000370000200041296a200741086a2900003700000240024002400240200128020041fcffffff076a2202410320024105491b0e0403030102000b2001280204450d02200128020841002802a8bfd38000118080808000000c020b2001280204450d01200128020841002802a8bfd38000118080808000000c010b200110f68d8080000b200141002802a8bfd38000118080808000000b20044190026a2480808080000bca1e07067f017e017f017e017f027e057f23808080800041c0026b22042480808080002004200129022437020420024100472105200128023022062802082107200628020421060240024002400240200128022c2d00000d00200441106a41086a22082001280234220941086a290000220a370300200441106a41106a220b200941106a290000220c370300200441106a41186a220d200941186a290000220e37030020042009290000220f370310200441c0006a41186a200e370300200441c0006a41106a200c370300200441c0006a41086a200a3703002004200f3703402004200736023c200420063602382004200441046a360234200441a9016a200d290300370000200441a1016a200b29030037000020044199016a2008290300370000200441dc9ec680003602b8012004410036028c0120044204370284012004420037027c20044280808080c0003702742004419c90c680003602d001200420033602cc01200441003602c801200441003602c001200441013a00900120042004290310370091012004200441c0006a3602bc012004200441346a3602b401200441b890c680003602702004200236026c200441003602682004200536026420044190026a41206a200141206a28020036020020044190026a41186a200141186a29020037030020044190026a41106a200141106a29020037030020044190026a41086a200141086a2902003703002004200129020037039002200441d4016a20044190026a41fc97c6800010888c80800020042802dc01210220042802d80121102004200441bf026a36029002200441e4006a41106a211102400240024020024102490d00024020024115490d002010200220044190026a10938780800020042802d40121120c020b20102002410120044190026a108f8f80800020042802d40121120c010b20042802d40121122002450d010b201020024104746a210d20044184026a211320044190026a41086a210320044190026a4101722107200441e0016a41086a2105200441e0016a41046a2114200441e0016a410172210920102102034020022802002206450d01200228020421080240024002402002280208220b0d0020044190026a200441e4006a2006200810d78d80800020042d00900222064104460d01200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c020b20044190026a200441e4006a20062008200b200228020c10d48d80800020042d00900222064104460d00200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c010b200428029402210302402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d28d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021050c010b200420042802c40122053602ac02200420023602a802200441003602a4022004200536029c02200420023602980220044100360294024101210220042802c80121050b200420053602b002200420023602a002200420023602900220044190026a10948b8080000c050b200420042802940222083602e401200420063a00e001024020064103460d0002400240024020060e020103000b200428028402220620062802002208417f6a3602002013210620084101460d010c020b20082008280200220b417f6a36020020142106200b4101470d010b200610d0968080000b200241106a2202200d470d000b0b02402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d28d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021030c010b200420042802c40122033602ac02200420023602a802200441003602a4022004200336029c02200420023602980220044100360294024101210220042802c80121030b200420033602b002200420023602a002200420023602900220044190026a10948b8080002004410e6a20042d00423a0000200441e8016a200441cf006a290000370300200441f0016a200441d7006a290000370300200441f8016a200441df006a2d00003a0000200420042f01403b010c200420042900473703e0010c010b200441106a41086a22082001280234220941086a290000220a370300200441106a41106a220b200941106a290000220c370300200441106a41186a220d200941186a290000220e37030020042009290000220f370310200441c0006a41186a200e370300200441c0006a41106a200c370300200441c0006a41086a200a3703002004200f3703402004200736023c200420063602382004200441046a360234200441a9016a200d290300370000200441a1016a200b29030037000020044199016a2008290300370000200441dc9ec680003602b8012004410036028c0120044204370284012004420037027c20044280808080c0003702742004419c90c680003602d001200420033602cc01200441003602c801200441003602c001200441013a00900120042004290310370091012004200441c0006a3602bc012004200441346a3602b401200441b890c680003602702004200236026c200441003602682004200536026420044190026a41206a200141206a28020036020020044190026a41186a200141186a29020037030020044190026a41106a200141106a29020037030020044190026a41086a200141086a2902003703002004200129020037039002200441d4016a20044190026a41fc97c6800010888c80800020042802dc01210220042802d80121102004200441bf026a36029002200441e4006a41106a211102400240024020024102490d00024020024115490d002010200220044190026a10818780800020042802d40121120c020b20102002410120044190026a108f8f80800020042802d40121120c010b20042802d40121122002450d010b201020024104746a210d20044184026a211320044190026a41086a210320044190026a4101722107200441e0016a41086a2105200441e0016a41046a2114200441e0016a410172210920102102034020022802002206450d01200228020421080240024002402002280208220b0d0020044190026a200441e4006a2006200810d68d80800020042d00900222064104460d01200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c020b20044190026a200441e4006a20062008200b200228020c10d58d80800020042d00900222064104460d00200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c010b200428029402210302402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d38d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021050c010b200420042802c40122053602ac02200420023602a802200441003602a4022004200536029c02200420023602980220044100360294024101210220042802c80121050b200420053602b002200420023602a002200420023602900220044190026a10948b8080000c040b200420042802940222083602e401200420063a00e001024020064103460d0002400240024020060e020103000b200428028402220620062802002208417f6a3602002013210620084101460d010c020b20082008280200220b417f6a36020020142106200b4101470d010b200610d0968080000b200241106a2202200d470d000b0b02402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d38d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021030c010b200420042802c40122033602ac02200420023602a802200441003602a4022004200336029c02200420023602980220044100360294024101210220042802c80121030b200420033602b002200420023602a002200420023602900220044190026a10948b8080002004410e6a20042d00423a0000200441e8016a200441cf006a290000370300200441f0016a200441d7006a290000370300200441f8016a200441df006a2d00003a0000200420042f01403b010c200420042900473703e0010b20042800432102200020042903e001220a3700282000200a370008200041013a0000200020042f010c3b0001200041c0006a200441e0016a41186a2d000022033a0000200041386a200441e0016a41106a290300220a370000200041306a200441e8016a290300220c370000200041106a200c370000200041186a200a370000200041206a20033a0000200041036a2004410e6a22032d00003a00002000200236000420002002360024200020042f010c3b0021200041236a20032d00003a00000c010b200041003a0000200020012802342202290000370021200041396a200241186a290000370000200041316a200241106a290000370000200041296a200241086a2900003700000240024002400240200328020041fcffffff076a2202410320024105491b0e0403030102000b2003280204450d02200328020841002802a8bfd38000118080808000000c020b2003280204450d01200328020841002802a8bfd38000118080808000000c010b200310f68d8080000b200341002802a8bfd38000118080808000000b200441c0026a2480808080000bd81e07067f017e017f017e017f027e057f23808080800041c0026b2204248080808000200420012802283602082004200128022441c8006a36020420024100472105200128023022062802082107200628020421060240024002400240200128022c2d00000d00200441106a41086a22082001280234220941086a290000220a370300200441106a41106a220b200941106a290000220c370300200441106a41186a220d200941186a290000220e37030020042009290000220f370310200441c0006a41186a200e370300200441c0006a41106a200c370300200441c0006a41086a200a3703002004200f3703402004200736023c200420063602382004200441046a360234200441a9016a200d290300370000200441a1016a200b29030037000020044199016a2008290300370000200441849fc680003602b8012004410036028c0120044204370284012004420037027c20044280808080c0003702742004419c90c680003602d001200420033602cc01200441003602c801200441003602c001200441013a00900120042004290310370091012004200441c0006a3602bc012004200441346a3602b401200441b890c680003602702004200236026c200441003602682004200536026420044190026a41206a200141206a28020036020020044190026a41186a200141186a29020037030020044190026a41106a200141106a29020037030020044190026a41086a200141086a2902003703002004200129020037039002200441d4016a20044190026a41fc97c6800010888c80800020042802dc01210220042802d80121102004200441bf026a36029002200441e4006a41106a211102400240024020024102490d00024020024115490d002010200220044190026a10f78680800020042802d40121120c020b20102002410120044190026a108f8f80800020042802d40121120c010b20042802d40121122002450d010b201020024104746a210d20044184026a211320044190026a41086a210320044190026a4101722107200441e0016a41086a2105200441e0016a41046a2114200441e0016a410172210920102102034020022802002206450d01200228020421080240024002402002280208220b0d0020044190026a200441e4006a2006200810d78d80800020042d00900222064104460d01200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c020b20044190026a200441e4006a20062008200b200228020c10d48d80800020042d00900222064104460d00200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c010b200428029402210302402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d28d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021050c010b200420042802c40122053602ac02200420023602a802200441003602a4022004200536029c02200420023602980220044100360294024101210220042802c80121050b200420053602b002200420023602a002200420023602900220044190026a10948b8080000c050b200420042802940222083602e401200420063a00e001024020064103460d0002400240024020060e020103000b200428028402220620062802002208417f6a3602002013210620084101460d010c020b20082008280200220b417f6a36020020142106200b4101470d010b200610d0968080000b200241106a2202200d470d000b0b02402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d28d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021030c010b200420042802c40122033602ac02200420023602a802200441003602a4022004200336029c02200420023602980220044100360294024101210220042802c80121030b200420033602b002200420023602a002200420023602900220044190026a10948b8080002004410e6a20042d00423a0000200441e8016a200441cf006a290000370300200441f0016a200441d7006a290000370300200441f8016a200441df006a2d00003a0000200420042f01403b010c200420042900473703e0010c010b200441106a41086a22082001280234220941086a290000220a370300200441106a41106a220b200941106a290000220c370300200441106a41186a220d200941186a290000220e37030020042009290000220f370310200441c0006a41186a200e370300200441c0006a41106a200c370300200441c0006a41086a200a3703002004200f3703402004200736023c200420063602382004200441046a360234200441a9016a200d290300370000200441a1016a200b29030037000020044199016a2008290300370000200441849fc680003602b8012004410036028c0120044204370284012004420037027c20044280808080c0003702742004419c90c680003602d001200420033602cc01200441003602c801200441003602c001200441013a00900120042004290310370091012004200441c0006a3602bc012004200441346a3602b401200441b890c680003602702004200236026c200441003602682004200536026420044190026a41206a200141206a28020036020020044190026a41186a200141186a29020037030020044190026a41106a200141106a29020037030020044190026a41086a200141086a2902003703002004200129020037039002200441d4016a20044190026a41fc97c6800010888c80800020042802dc01210220042802d80121102004200441bf026a36029002200441e4006a41106a211102400240024020024102490d00024020024115490d002010200220044190026a10e78680800020042802d40121120c020b20102002410120044190026a108f8f80800020042802d40121120c010b20042802d40121122002450d010b201020024104746a210d20044184026a211320044190026a41086a210320044190026a4101722107200441e0016a41086a2105200441e0016a41046a2114200441e0016a410172210920102102034020022802002206450d01200228020421080240024002402002280208220b0d0020044190026a200441e4006a2006200810d68d80800020042d00900222064104460d01200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c020b20044190026a200441e4006a20062008200b200228020c10d58d80800020042d00900222064104460d00200920072f00003b000020052003290200370200200941026a200741026a2d00003a0000200541086a200341086a290200370200200541106a200341106a290200370200200541186a200341186a290200370200200541206a200341206a2802003602000c010b200428029402210302402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d38d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021050c010b200420042802c40122053602ac02200420023602a802200441003602a4022004200536029c02200420023602980220044100360294024101210220042802c80121050b200420053602b002200420023602a002200420023602900220044190026a10948b8080000c040b200420042802940222083602e401200420063a00e001024020064103460d0002400240024020060e020103000b200428028402220620062802002208417f6a3602002013210620084101460d010c020b20082008280200220b417f6a36020020142106200b4101470d010b200610d0968080000b200241106a2202200d470d000b0b02402012450d00201041002802a8bfd38000118080808000000b200441e4006a10d38d808000201110d68b80800002402004280274450d00200428027841002802a8bfd38000118080808000000b0240200428028001450d0020042802840141002802a8bfd38000118080808000000b0240024020042802c00122020d0041002102410021030c010b200420042802c40122033602ac02200420023602a802200441003602a4022004200336029c02200420023602980220044100360294024101210220042802c80121030b200420033602b002200420023602a002200420023602900220044190026a10948b8080002004410e6a20042d00423a0000200441e8016a200441cf006a290000370300200441f0016a200441d7006a290000370300200441f8016a200441df006a2d00003a0000200420042f01403b010c200420042900473703e0010b20042800432102200020042903e001220a3700282000200a370008200041013a0000200020042f010c3b0001200041c0006a200441e0016a41186a2d000022033a0000200041386a200441e0016a41106a290300220a370000200041306a200441e8016a290300220c370000200041106a200c370000200041186a200a370000200041206a20033a0000200041036a2004410e6a22032d00003a00002000200236000420002002360024200020042f010c3b0021200041236a20032d00003a00000c010b200041003a0000200020012802342202290000370021200041396a200241186a290000370000200041316a200241106a290000370000200041296a200241086a2900003700000240024002400240200328020041fcffffff076a2202410320024105491b0e0403030102000b2003280204450d02200328020841002802a8bfd38000118080808000000c020b2003280204450d01200328020841002802a8bfd38000118080808000000c010b200310f68d8080000b200341002802a8bfd38000118080808000000b200441c0026a2480808080000b170041ec90c68000410f41cc91c6800010f480808000000b170041ec90c68000410f41cc91c6800010f480808000000b170041ec90c68000410f41dc91c6800010f480808000000b170041ec90c68000410f41dc91c6800010f480808000000bb62405027f037e077f027e0a7f23808080800041f0056b220524808080800041002d00b8bfd380001a024002400240410141002802b0bfd38000118280808000002206450d00200641003a0000410041003502bcbfd3800042c4e6c11b8520054190026aad22077e200742ae94e698017e4220898522083e02bcbfd38000024041002d00e0bfd380004102460d0010bf8f8080000b200541186a41cc8ec6800041014100280288bfd3800011858080800000200541086a41002903c8e0c18000370300200541013602402005200636023c20054101360238200541002903c0e0c1800037030020052008422088220942a2f0a4a00a7e200842ffffffff0f83220842d0e3fccc027e85200942d0e3fccc027e200842a2f0a4a00a7e85422089853703102005410036025420054280808080c00037024c200141086a210a02402003280220220b0d0041042106410021030c030b200541b0016a410c6a210c20054190026a41076a210d200541a8056a41216a210e200541a8056a41016a210f200141106a2110200541a8056aad221142ae94e698017e4220892112200541a0036a41186a2113200328020021142003280204211520032802082106200328020c2116034002400240024002400240024002402014410171450d00024002402015450d002016211720062118201521060c010b410121144100211702402016450d0020162103024020164107712218450d0003402003417f6a210320062802ac0921062018417f6a22180d000b0b20164108490d00034020062802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092106200341786a22030d000b0b410021180b02400240201720062f01aa094f0d00200621030c010b034020062802a0082203450d03201841016a211820062f01a809211720032106201720032f01aa094f0d000b0b0240024020180d00201741016a2116200321150c010b200320174102746a41b0096a2802002115410021162018417f6a2206450d002018417e6a2119024020064107712218450d0003402006417f6a210620152802ac0921152018417f6a22180d000b0b20194107490d00034020152802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092115200641786a22060d000b0b2003201741e0006c6a220328020421182003280208211720032802002106200520043a00ff0220054180036a41014101412110998780800041002d00b8bfd380001a0240410141002802b0bfd380001182808080000022190d004101410141fc98c6800010ae80808000000b2017410020061b211a200341d4006a21172006410047211b201941003a0000410041003502bcbfd3800042c4e6c11b8520117e20128522083e02bcbfd38000024041002d00e0bfd380004102460d0010bf8f8080000b201341cc8ec6800041014100280288bfd3800011858080800000200541a0036a41086a41002903c8e0c18000370300200541013602e003200520193602dc03200541013602d803200541002903c0e0c180003703a00320052008422088220942a2f0a4a00a7e200842ffffffff0f83220842d0e3fccc027e85200942d0e3fccc027e200842a2f0a4a00a7e85422089853703b003200541a8056a2001201710fb8d808000200541e8036a41086a20054180036a200f20054180036a20052d00a80522034101711b20034102461b220341086a290000370300200541e8036a41106a200341106a290000370300200541e8036a41186a200341186a290000370300200520032900003703e803200520173602b804200520013602ac042005201a3602a804200520183602a404200520063602a0042005410036029c042005201b36029804200520183602940420052006360290042005410036028c042005201b360288042005200541e8036a3602bc042005200541ff026a3602b4042005200541a0036a3602b0040240024020012802d00122060d0041002106200541003602c0040c010b20012802d40122182802080d03201841086a2219417f36020020062802080d04200641086a221b417f36020020012802d80122032802080d052003417f3602082005200341086a3602d404200520193602cc042005201b3602c4042005200341106a3602d00420052018410c6a3602c8042005200641106a3602c004200541c0046a21060b024020012802000d00200541a8056a20054188046a2006410010a08e808000200541d8046a41186a200e41186a290000370300200541d8046a41106a200e41106a290000370300200541d8046a41086a200e41086a2900003703002005200e2900003703d8040c070b200a2802000d05200a417f36020020054100360280052005200a3602fc04200520103602f804200541a8056a20054188046a2006200541f8046a10a08e80800020052d00a805210620054188056a41186a2203200e41186a29000037030020054188056a41106a2218200e41106a29000037030020054188056a41086a2219200e41086a2900003703002005200e2900003703880502402006410171450d002005280284052106200528028005211b20052802fc04221a201a28020041016a3602000240201b450d002006200628020041016a3602000b200541d8046a41186a2003290300370300200541d8046a41106a2018290300370300200541d8046a41086a201929030037030020052005290388053703d8040c070b200541d8046a41186a2003290300370300200541d8046a41106a2018290300370300200541d8046a41086a201929030037030020052005290388053703d80420052802fc042206200628020041016a360200200528028005450d062005280284052206200628020041016a3602000c060b4198efc48000108a81808000000b41e8b3c18000108a81808000000b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b41989bc58000108081808000000b200541a8056a41186a2206200541d8046a41186a290300370300200541a8056a41106a2203200541d8046a41106a290300370300200541a8056a41086a2218200541d8046a41086a290300370300200520052903d8043703a805024020052802c004450d0020052802c4042219201928020041016a36020020052802cc042219201928020041016a36020020052802d4042219201928020041016a3602000b200541a8056a20054180036a412010ed96808000211920054188046a41186a221b200629030037030020054188046a41106a2206200329030037030020054188046a41086a22032018290300370300200520052903a80537038804200541d8006a200d200541a0036a41c80010e99680800041c80010e9968080001a200541a4016a201710ab968080002005200541d8006a1085858080000240024002402019450d00200541b0016a41086a2218200541a4016a41086a280200360200200520052902a4013703b00141002d00b8bfd380001a2005410036029802200542808080801037029002412041002802b0bfd38000118280808000002217450d012017200529038804370000201741186a2219201b290300370000201741106a221b2006290300370000201741086a221a200329030037000020054190026a4100412010fc9080800020052802940220054190026a41086a2203280200221c6a22062017290000370000200641086a201a290000370000200641106a201b290000370000200641186a20192900003700002003201c41206a360200201741002802a8bfd3800011808080800000200c41086a2003280200360200200c200529029002370200024020052802542206200528024c470d00200541cc006a41ec91c6800010ef8a8080000b2005280250200641186c6a220320052903b001370200200341086a2018290300370200200341106a200541b0016a41106a2903003702000c020b024020052802542206200528024c470d00200541cc006a41fc91c6800010ef8a8080000b2005280250200641186c6a220320052902a401370200200341808080807836020c200341086a200541a4016a41086a2802003602000c010b4101412010b980808000000b2005200641016a220336025441002106200b417f6a220b450d020c000b0b4101410141fc98c6800010ae80808000000b200528025021060b200520043a00800341002d00b8bfd380001a024002400240024002400240410141002802b0bfd38000118280808000002217450d00201741003a0000410041003502bcbfd3800042c4e6c11b8520077e200742ae94e698017e4220898522083e02bcbfd380002006200341186c6a2103024041002d00e0bfd380004102460d0010bf8f8080000b200541a0036a41186a41cc8ec6800041014100280288bfd3800011858080800000200541a0036a41086a41002903c8e0c18000370300200541013602e003200520173602dc03200541013602d803200541002903c0e0c180003703a00320052008422088220942a2f0a4a00a7e200842ffffffff0f83220842d0e3fccc027e85200942d0e3fccc027e200842a2f0a4a00a7e85422089853703b003200541a8056a41086a200241086a290200370300200541a8056a41106a200241106a290200370300200541a8056a41186a200241186a290200370300200541a8056a41206a200241206a280200360200200520033602d005200520063602cc05200520022902003703a805200520054180036a3602dc052005200541a0036a3602d805200520013602d4050240024020012802d00122060d0041002106200541003602d8040c010b20012802d40122172802080d02201741086a2218417f36020020062802080d03200641086a2215417f36020020012802d80122032802080d042003417f3602082005200341086a3602ec04200520183602e404200520153602dc042005200341106a3602e80420052017410c6a3602e0042005200641106a3602d804200541d8046a21060b024020012802000d0020054190026a200541a8056a20064100109d8e808000200541a0056a200541c9026a29000037030020054198056a200541c1026a29000037030020054190056a200541b9026a290000370300200520052900b102370388050c060b200a2802000d042001417f360208200541003602f0032005200a3602ec032005200141106a3602e80320054190026a200541a8056a2006200541e8036a109d8e80800020052d009002210620054188046a41186a2203200541c9026a29000037030020054188046a41106a2217200541c1026a29000037030020054188046a41086a2218200541b9026a290000370300200520052900b1023703880402402006410171450d0020052802f403210620052802f003210320052802ec032217201728020041016a36020002402003450d002006200628020041016a3602000b20054188056a41186a20054188046a41186a29030037030020054188056a41106a20054188046a41106a29030037030020054188056a41086a20054188046a41086a2903003703002005200529038804370388050c060b20054188056a41186a200329030037030020054188056a41106a201729030037030020054188056a41086a201829030037030020052005290388043703880520052802ec032206200628020041016a36020020052802f003450d0520052802f4032206200628020041016a3602000c050b4101410141fc98c6800010ae80808000000b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b41989bc58000108081808000000b024020052802d804450d0020052802dc042206200628020041016a36020020052802e4042206200628020041016a36020020052802ec042206200628020041016a3602000b20054190026a41206a200541a0036a41c80010e996808000210620054190026a41186a20054188056a41186a290300220837030020054190026a41106a20054188056a41106a290300220937030020054190026a41086a20054188056a41086a29030022113703002005200529038805221237039002200041186a2008370300200041106a2009370300200041086a201137030020002012370300200541c8016a200641c80010e9968080001a2005200541c8016a108585808000200041206a200541c80010e9968080001a024020052802542203450d0020052802502106034002402006280200450d00200641046a28020041002802a8bfd38000118080808000000b02402006410c6a2802002217418080808078460d002017450d00200641106a28020041002802a8bfd38000118080808000000b200641186a21062003417f6a22030d000b0b0240200528024c450d00200528025041002802a8bfd38000118080808000000b200541f0056a2480808080000ba92405027f037e057f027e0a7f23808080800041f0056b220524808080800041002d00b8bfd380001a024002400240410141002802b0bfd38000118280808000002206450d00200641003a0000410041003502bcbfd3800042c4e6c11b8520054190026aad22077e200742ae94e698017e4220898522083e02bcbfd38000024041002d00e0bfd380004102460d0010bf8f8080000b200541186a41cc8ec6800041014100280288bfd3800011858080800000200541086a41002903c8e0c18000370300200541013602402005200636023c20054101360238200541002903c0e0c1800037030020052008422088220942a2f0a4a00a7e200842ffffffff0f83220842d0e3fccc027e85200942d0e3fccc027e200842a2f0a4a00a7e85422089853703102005410036025420054280808080c00037024c02402003280220220a0d0041042106410021030c030b200541b0016a410c6a210b20054190026a41076a210c200541a8056a41216a210d200541a8056a41016a210e200541a8056aad220f42ae94e698017e4220892110200541a0036a41186a2111200328020021122003280204211320032802082106200328020c2114034002400240024002400240024002402012410171450d00024002402013450d002014211520062116201321060c010b410121124100211502402014450d0020142103024020144107712216450d0003402003417f6a210320062802ac0921062016417f6a22160d000b0b20144108490d00034020062802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092106200341786a22030d000b0b410021160b02400240201520062f01aa094f0d00200621030c010b034020062802a0082203450d03201641016a211620062f01a809211520032106201520032f01aa094f0d000b0b0240024020160d00201541016a2114200321130c010b200320154102746a41b0096a2802002113410021142016417f6a2206450d002016417e6a2117024020064107712216450d0003402006417f6a210620132802ac0921132016417f6a22160d000b0b20174107490d00034020132802ac092802ac092802ac092802ac092802ac092802ac092802ac092802ac092113200641786a22060d000b0b2003201541e0006c6a220328020421162003280208211520032802002106200520043a00ff0220054180036a41014101412110998780800041002d00b8bfd380001a0240410141002802b0bfd380001182808080000022170d004101410141fc98c6800010ae80808000000b2015410020061b2118200341d4006a211520064100472119201741003a0000410041003502bcbfd3800042c4e6c11b85200f7e20108522083e02bcbfd38000024041002d00e0bfd380004102460d0010bf8f8080000b201141cc8ec6800041014100280288bfd3800011858080800000200541a0036a41086a41002903c8e0c18000370300200541013602e003200520173602dc03200541013602d803200541002903c0e0c180003703a00320052008422088220942a2f0a4a00a7e200842ffffffff0f83220842d0e3fccc027e85200942d0e3fccc027e200842a2f0a4a00a7e85422089853703b003200541a8056a2001201510f98d808000200541e8036a41086a20054180036a200e20054180036a20052d00a80522034101711b20034102461b220341086a290000370300200541e8036a41106a200341106a290000370300200541e8036a41186a200341186a290000370300200520032900003703e803200520153602b804200520013602ac04200520183602a804200520163602a404200520063602a0042005410036029c042005201936029804200520163602940420052006360290042005410036028c0420052019360288042005200541e8036a3602bc042005200541ff026a3602b4042005200541a0036a3602b00402400240200128024822060d0041002103200541003602c0040c010b200128024c22162802080d03201641086a2217417f36020020062802080d04200641086a2219417f360200200128025022032802080d052003417f3602082005200341086a3602d404200520173602cc04200520193602c4042005200341106a3602d00420052016410c6a3602c8042005200641106a3602c004200541c0046a21030b0240200128024422060d00200541a8056a20054188046a20034100109f8e808000200541d8046a41186a200d41186a290000370300200541d8046a41106a200d41106a290000370300200541d8046a41086a200d41086a2900003703002005200d2900003703d8040c070b20062802000d052006417f3602002005410036028005200520063602fc042005200641086a3602f804200541a8056a20054188046a2003200541f8046a109f8e80800020052d00a805210620054188056a41186a2203200d41186a29000037030020054188056a41106a2216200d41106a29000037030020054188056a41086a2217200d41086a2900003703002005200d2900003703880502402006410171450d002005280284052106200528028005211920052802fc042218201828020041016a36020002402019450d002006200628020041016a3602000b200541d8046a41186a2003290300370300200541d8046a41106a2016290300370300200541d8046a41086a201729030037030020052005290388053703d8040c070b200541d8046a41186a2003290300370300200541d8046a41106a2016290300370300200541d8046a41086a201729030037030020052005290388053703d80420052802fc042206200628020041016a360200200528028005450d062005280284052206200628020041016a3602000c060b4198efc48000108a81808000000b41e8b3c18000108a81808000000b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b41989bc58000108081808000000b200541a8056a41186a2206200541d8046a41186a290300370300200541a8056a41106a2203200541d8046a41106a290300370300200541a8056a41086a2216200541d8046a41086a290300370300200520052903d8043703a805024020052802c004450d0020052802c4042217201728020041016a36020020052802cc042217201728020041016a36020020052802d4042217201728020041016a3602000b200541a8056a20054180036a412010ed96808000211720054188046a41186a2219200629030037030020054188046a41106a2206200329030037030020054188046a41086a22032016290300370300200520052903a80537038804200541d8006a200c200541a0036a41c80010e99680800041c80010e9968080001a200541a4016a201510ab968080002005200541d8006a1085858080000240024002402017450d00200541b0016a41086a2216200541a4016a41086a280200360200200520052902a4013703b00141002d00b8bfd380001a2005410036029802200542808080801037029002412041002802b0bfd38000118280808000002215450d012015200529038804370000201541186a22172019290300370000201541106a22192006290300370000201541086a2218200329030037000020054190026a4100412010fc9080800020052802940220054190026a41086a2203280200221a6a22062015290000370000200641086a2018290000370000200641106a2019290000370000200641186a20172900003700002003201a41206a360200201541002802a8bfd3800011808080800000200b41086a2003280200360200200b200529029002370200024020052802542206200528024c470d00200541cc006a41ec91c6800010ef8a8080000b2005280250200641186c6a220320052903b001370200200341086a2016290300370200200341106a200541b0016a41106a2903003702000c020b024020052802542206200528024c470d00200541cc006a41fc91c6800010ef8a8080000b2005280250200641186c6a220320052902a401370200200341808080807836020c200341086a200541a4016a41086a2802003602000c010b4101412010b980808000000b2005200641016a220336025441002106200a417f6a220a450d020c000b0b4101410141fc98c6800010ae80808000000b200528025021060b200520043a00800341002d00b8bfd380001a024002400240024002400240410141002802b0bfd38000118280808000002215450d00201541003a0000410041003502bcbfd3800042c4e6c11b8520077e200742ae94e698017e4220898522083e02bcbfd380002006200341186c6a2103024041002d00e0bfd380004102460d0010bf8f8080000b200541a0036a41186a41cc8ec6800041014100280288bfd3800011858080800000200541a0036a41086a41002903c8e0c18000370300200541013602e003200520153602dc03200541013602d803200541002903c0e0c180003703a00320052008422088220942a2f0a4a00a7e200842ffffffff0f83220842d0e3fccc027e85200942d0e3fccc027e200842a2f0a4a00a7e85422089853703b003200541a8056a41086a200241086a290200370300200541a8056a41106a200241106a290200370300200541a8056a41186a200241186a290200370300200541a8056a41206a200241206a280200360200200520033602d005200520063602cc05200520022902003703a805200520054180036a3602dc052005200541a0036a3602d805200520013602d40502400240200128024822060d0041002103200541003602d8040c010b200128024c22152802080d02201541086a2216417f36020020062802080d03200641086a2213417f360200200128025022032802080d042003417f3602082005200341086a3602ec04200520163602e404200520133602dc042005200341106a3602e80420052015410c6a3602e0042005200641106a3602d804200541d8046a21030b0240200128024422060d0020054190026a200541a8056a20034100109e8e808000200541a0056a200541c9026a29000037030020054198056a200541c1026a29000037030020054190056a200541b9026a290000370300200520052900b102370388050c060b20062802000d042006417f360200200541003602f003200520063602ec032005200641086a3602e80320054190026a200541a8056a2003200541e8036a109e8e80800020052d009002210620054188046a41186a2203200541c9026a29000037030020054188046a41106a2215200541c1026a29000037030020054188046a41086a2216200541b9026a290000370300200520052900b1023703880402402006410171450d0020052802f403210620052802f003210320052802ec032215201528020041016a36020002402003450d002006200628020041016a3602000b20054188056a41186a20054188046a41186a29030037030020054188056a41106a20054188046a41106a29030037030020054188056a41086a20054188046a41086a2903003703002005200529038804370388050c060b20054188056a41186a200329030037030020054188056a41106a201529030037030020054188056a41086a201629030037030020052005290388043703880520052802ec032206200628020041016a36020020052802f003450d0520052802f4032206200628020041016a3602000c050b4101410141fc98c6800010ae80808000000b41c8fbc58000108081808000000b41d8fbc58000108081808000000b41e8fbc58000108081808000000b41989bc58000108081808000000b024020052802d804450d0020052802dc042206200628020041016a36020020052802e4042206200628020041016a36020020052802ec042206200628020041016a3602000b20054190026a41206a200541a0036a41c80010e996808000210620054190026a41186a20054188056a41186a290300220837030020054190026a41106a20054188056a41106a290300220937030020054190026a41086a20054188056a41086a290300220f3703002005200529038805221037039002200041186a2008370300200041106a2009370300200041086a200f37030020002010370300200541c8016a200641c80010e9968080001a2005200541c8016a108585808000200041206a200541c80010e9968080001a024020052802542203450d0020052802502106034002402006280200450d00200641046a28020041002802a8bfd38000118080808000000b02402006410c6a2802002215418080808078460d002015450d00200641106a28020041002802a8bfd38000118080808000000b200641186a21062003417f6a22030d000b0b0240200528024c450d00200528025041002802a8bfd38000118080808000000b200541f0056a2480808080000b170041ec90c68000410f418c92c6800010f480808000000b170041ec90c68000410f418c92c6800010f480808000000b170041ec90c68000410f419c92c6800010f480808000000b170041ec90c68000410f419c92c6800010f480808000000b9307010b7f23808080800041206b22022480808080004100210302400240417f20012802142204413c6c417f20012802082205413c6c2206410c6a22072007200641046a491b22066a41046a220720072006491b22074100480d0041002d00b8bfd380001a200741002802b0bfd380001182808080000022030d01410121030b2003200741b493c6800010ae80808000000b20024100360214200220033602102002200736020c41002d00b8bfd380001a0240412041002802b0bfd38000118280808000002206450d0020062001290018370000200641186a2208200141306a290000370000200641106a2209200141286a290000370000200641086a220a200141206a2900003700004100210b02402007411f4b0d002002410c6a4100412010fc90808000200228020c2107200228021021032002280214210b0b2003200b6a220c2006290000370000200c41186a2008290000370000200c41106a2009290000370000200c41086a200a2900003700002002200b41206a220c360214200641002802a8bfd3800011808080800000200128023c210b2001280238210602402007200c6b41034b0d002002410c6a200c410410fc90808000200228021021032002280214210c0b2003200c6a20063600002002200c41046a22063602140240200228020c20066b41034b0d002002410c6a2006410410fc90808000200228021421060b200228021020066a200b3600002002200641046a36021420012802042106200220053602182002200241186a36021c2002411c6a2002410c6a10d58380800002402005450d0020062005413c6c6a210c0340200628020021030240200228020c200228021422076b41034b0d002002410c6a2007410410fc90808000200228021421070b200228021020076a20033600002002200741046a360214200641046a2002410c6a10aa848080002006413c6a2206200c470d000b0b20012802102106200220043602182002200241186a36021c2002411c6a2002410c6a10d58380800002402004450d0020062004413c6c6a210c0340200628020021030240200228020c200228021422076b41034b0d002002410c6a2007410410fc90808000200228021421070b200228021020076a20033600002002200741046a360214200641046a2002410c6a10aa848080002006413c6a2206200c470d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000f0b4101412010b980808000000bba0701047f23808080800041306b22022480808080000240024002400240024002400240200141b9f3ddf1796c200141a6b2858a036c220373ad429a077e422088a74101744184a7cd80006a2f010020016a41b9f3ddf1796c200373ad429a077e422088a741027441b8b5cd80006a28020022034108762001470d00200341ff01710d010b20002802302103024002402000280208418080c400460d0020002f0100220441054f0d06200041046a21050c010b20002802142104200028021021050b20042003490d0520022002412f6a3602080240200420036b22044102490d00200520034103746a2103024020044115490d0020032004200241086a10f4908080000c010b200320044101200241086a10908f8080000b024002402000280208418080c400460d00024020002f0100220341034b0d002000200341016a3b0100200020034103746a220341086a2001360200200341046a41003a00000c020b200241086a20004100200110a38f80800002402000280208418080c400470d00200028020c450d00200028021041002802a8bfd38000118080808000000b20002002290208370200200041206a200241086a41206a280200360200200041186a200241086a41186a290200370200200041106a200241086a41106a290200370200200041086a200241086a41086a2902003702000c010b024020002802142203200028020c470d002000410c6a41b4a0c6800010f9908080000b200028021020034103746a22042001360204200441003a00002000200341016a3602140b2000280208418080c400460d0120002f010021010c020b02402000280208418080c400460d00024020002f0100220441034b0d002000200441016a3b0100200020044103746a220041086a2001360200200041046a20033a00000c040b200241086a20002003200110a38f80800002402000280208418080c400470d00200028020c450d00200028021041002802a8bfd38000118080808000000b20002002290208370200200041206a200241086a41206a280200360200200041186a200241086a41186a290200370200200041106a200241086a41106a290200370200200041086a200241086a41086a2902003702000c030b024020002802142204200028020c470d002000410c6a41b4a0c6800010f9908080000b200028021020044103746a22052001360204200520033a00002000200441016a3602140c020b200028021421010b200020013602300b200241306a2480808080000f0b2004410441d4a0c6800010aa81808000000b2003200441d095c6800010a881808000000bd50c01067f23808080800041c0006b22022480808080002000280200220341046a21040240024002400240024020032802000e0400010203000b41012100200128021c220541e89ac6800041182001280220220628020c2207118180808000000d030240024020012d00144104710d0041012100200541bbc4c0800041012007118180808000000d052002200341106a360218200141a89ec680004114200441889ec68000200241186a41989ec6800010e880808000450d010c050b200541bcc4c0800041022007118180808000000d0441012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200636020c2002200536020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a3602342002200341106a36023c200241186a41a89ec680004114200441889ec680002002413c6a41989ec6800010e8808080000d04200228023441b6c4c080004102200228023828020c118180808000000d040b200128021c41bec4c080004101200128022028020c1181808080000021000c030b41012100200128021c220541809bc6800041162001280220220628020c2207118180808000000d020240024020012d00144104710d0041012100200541bbc4c0800041012007118180808000000d042002200341106a360218200141a89ec680004114200441889ec68000200241186a41989ec6800010e880808000450d010c040b200541bcc4c0800041022007118180808000000d0341012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200636020c2002200536020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a3602342002200341106a36023c200241186a41a89ec680004114200441889ec680002002413c6a41989ec6800010e8808080000d03200228023441b6c4c080004102200228023828020c118180808000000d030b200128021c41bec4c080004101200128022028020c1181808080000021000c020b41012100200128021c220541969bc68000411a2001280220220628020c2207118180808000000d010240024020012d00144104710d0041012100200541bbc4c0800041012007118180808000000d032002200341106a360218200141a89ec680004114200441889ec68000200241186a41989ec6800010e880808000450d010c030b200541bcc4c0800041022007118180808000000d0241012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200636020c2002200536020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a3602342002200341106a36023c200241186a41a89ec680004114200441889ec680002002413c6a41989ec6800010e8808080000d02200228023441b6c4c080004102200228023828020c118180808000000d020b200128021c41bec4c080004101200128022028020c1181808080000021000c010b41012100200128021c220541b09bc68000411a2001280220220628020c2207118180808000000d000240024020012d00144104710d0041012100200541bbc4c0800041012007118180808000000d022002200341106a360218200141a89ec680004114200441889ec68000200241186a41989ec6800010e880808000450d010c020b200541bcc4c0800041022007118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200636020c2002200536020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a3602342002200341106a36023c200241186a41a89ec680004114200441889ec680002002413c6a41989ec6800010e8808080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200128021c41bec4c080004101200128022028020c1181808080000021000b200241c0006a24808080800020000b3900200128021c20002802002d0000410274220041d8a3c680006a280200200041cca3c680006a280200200128022028020c118180808000000b180020002802002001200028020428020c118480808000000bc30502057f017e23808080800041c0006b2203248080808000024020012002460d0020002d000521042000280200210520002d0004210620032001360204200141016a210741012101024020064101710d00024020052d0014410471450d0041012101024020044101710d00200528021c41bfc4c080004101200528022028020c118180808000000d020b41012101200341013a0017200341186a41086a200541086a290200370300200341186a41106a200541106a290200370300200341186a41186a200541186a2802003602002003200529021c3702082005290200210820034190c4c08000360238200320083703182003200341176a3602102003200341086a360234200341046a200341186a10ca888080000d01200328023441b6c4c080004102200328023828020c1181808080000021010c010b4101210102402004410171450d00200528021c41afc4c080004102200528022028020c118180808000000d010b200341046a200510ca8880800021010b200041013a0005200020013a000420072002460d000340200320073602042001410171210641012101024020060d00024020052d00144104710d0041012101200528021c41afc4c080004102200528022028020c118180808000000d01200341046a200510ca8880800021010c010b200529021c2108200341013a0017200341186a41086a200541086a290200370300200341186a41106a200541106a290200370300200341186a41186a200541186a280200360200200320083702082005290200210820034190c4c08000360238200320083703182003200341176a3602102003200341086a3602340240200341046a200341186a10ca888080000d00200328023441b6c4c080004102200328023828020c1181808080000021010c010b410121010b200041013a0005200020013a0004200741016a22072002470d000b0b200341c0006a24808080800020000bc30502057f017e23808080800041c0006b2203248080808000024020012002460d0020002d000521042000280200210520002d0004210620032001360204200141206a210741012101024020064101710d00024020052d0014410471450d0041012101024020044101710d00200528021c41bfc4c080004101200528022028020c118180808000000d020b41012101200341013a0017200341186a41086a200541086a290200370300200341186a41106a200541106a290200370300200341186a41186a200541186a2802003602002003200529021c3702082005290200210820034190c4c08000360238200320083703182003200341176a3602102003200341086a360234200341046a200341186a10bd888080000d01200328023441b6c4c080004102200328023828020c1181808080000021010c010b4101210102402004410171450d00200528021c41afc4c080004102200528022028020c118180808000000d010b200341046a200510bd8880800021010b200041013a0005200020013a000420072002460d000340200320073602042001410171210641012101024020060d00024020052d00144104710d0041012101200528021c41afc4c080004102200528022028020c118180808000000d01200341046a200510bd8880800021010c010b200529021c2108200341013a0017200341186a41086a200541086a290200370300200341186a41106a200541106a290200370300200341186a41186a200541186a280200360200200320083702082005290200210820034190c4c08000360238200320083703182003200341176a3602102003200341086a3602340240200341046a200341186a10bd888080000d00200328023441b6c4c080004102200328023828020c1181808080000021010c010b410121010b200041013a0005200020013a0004200741206a22072002470d000b0b200341c0006a24808080800020000b970301087f23808080800041106b2203248080808000024020022802082204200428020041054b22054103746a2802002206450d00200228020421072002280200210802402004280204200441046a20051b2006412c6c6a220441546a2206280200220241014b0d00200441586a2209280200210a200441706a280200210502402002410171450d00200a2005460d010b2003200441646a36020c2003410c6a2002200a200510a8968080002009200536020041012102200641013602000b415821050240024002400240024002402002417e6a2202410220024102491b0e03010200010b416421050b200420056a450d0041002102024020074100480d00024020070d00410121020c040b41002d00b8bfd380001a200741002802b0bfd380001182808080000022020d02410121020b2002200741fc98c6800010ae80808000000b20004180808080783602000c020b20022008200710e9968080001a0b2000200736020820002002360204200020073602000b200341106a2480808080000f0b41e4fccc800041fc0041c8fecc8000108b81808000000b3301017f20002802042201200128020041016a36020002402000280208450d00200028020c2200200028020041016a3602000b0b3a01017f20002802042201200128020041016a360200200028020c2201200128020041016a36020020002802142200200028020041016a3602000b220002402000280200450d00200028020441002802a8bfd38000118080808000000b0b40000240200028020022002802000d002000280208450d00200028020441002802a8bfd38000118080808000000b200041002802a8bfd38000118080808000000b9f0704047f017e017f017e0240200028024c2201450d00024020002802542202450d002000280248220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341807d6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2005427f7c210702402003410020057aa74103766b41306c6a220641706a280200450d00200641746a28020041002802a8bfd38000118080808000000b200720058321052002417f6a22020d000b0b2001200141016aad42307ea722046a4177460d00200028024820046b41002802a8bfd38000118080808000000b0240200028028001450d0020002802840141002802a8bfd38000118080808000000b02402000290300500d00024020002802142201450d000240200028021c2202450d002000280210220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341c0776a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2003410020057aa74103766b4188016c6a41987f6a10d6848080002005427f7c20058321052002417f6a22020d000b0b2001200141016aad4288017ea722046a4177460d00200028021020046b41002802a8bfd38000118080808000000b20002802342201450d000240200028023c2202450d002000280230220341086a21042003290300427f8542808182848890a0c0807f8321050340024020054200520d000340200341c07c6a210320042903002105200441086a22062104200542808182848890a0c0807f83220542808182848890a0c0807f510d000b200542808182848890a0c0807f852105200621040b2003410020057aa74103766b41386c6a41486a10d4848080002005427f7c20058321052002417f6a22020d000b0b2001200141016aad42387ea722046a4177460d00200028023020046b41002802a8bfd38000118080808000000b024020002802d0012204450d0020042004280200417f6a2203360200024020030d00200041d0016a10c98b8080000b20002802d40122042004280200417f6a2204360200024020040d00200041d4016a10cc8b8080000b20002802d80122042004280200417f6a220436020020040d00200041d8016a10ca8b8080000b0b7e01027f024020002802482201450d0020012001280200417f6a2202360200024020020d00200041c8006a10c98b8080000b200028024c22012001280200417f6a2201360200024020010d00200041cc006a10cc8b8080000b200028025022012001280200417f6a220136020020010d00200041d0006a10ca8b8080000b0b9a0101037f23808080800041106b220224808080800041012103200128021c41c0c4c080004101200128022028020c118180808000002104200241003a000d200220043a000c20022001360208200241086a2000200041046a10b08e8080002101024020022d000c0d002001280200220128021c41c1c4c080004101200128022028020c1181808080000021030b200241106a24808080800020030b9a0101037f23808080800041106b220224808080800041012103200128021c41c0c4c080004101200128022028020c118180808000002104200241003a000d200220043a000c20022001360208200241086a2000200041086a10b08e8080002101024020022d000c0d002001280200220128021c41c1c4c080004101200128022028020c1181808080000021030b200241106a24808080800020030b1e00200128021c418c99c680004105200128022028020c118180808000000b140020002802042000280208200110eb808080000bef0201037f23808080800041106b2202248080808000024002402001418001490d002002410036020c024002402001418010490d000240200141808004490d002002410c6a41037221032002200141127641f001723a000c20022001410676413f71418001723a000e20022001410c76413f71418001723a000d410421040c020b2002410c6a410272210320022001410c7641e001723a000c20022001410676413f71418001723a000d410321040c010b2002410c6a41017221032002200141067641c001723a000c410221040b20032001413f71418001723a000002402000280200200028020822016b20044f0d002000200120044101410110948a808000200028020821010b200028020420016a2002410c6a200410e9968080001a2000200120046a3602080c010b0240200028020822042000280200470d002000419499c6800010ad808080000b200028020420046a20013a00002000200441016a3602080b200241106a24808080800041000b4f01017f02402000280200200028020822036b20024f0d002000200320024101410110948a808000200028020821030b200028020420036a2001200210e9968080001a2000200320026a36020841000b7601017f23808080800041306b22022480808080002002200136020c2002200036020820024102360214200241b499c680003602102002420137021c200241f680808000ad422086200241086aad843703282002200241286a360218200241106a10c08e8080002101200241306a24808080800020010b800201037f23808080800041106b2201248080808000200028020c210202400240024002400240024020002802040e020001020b20020d014101210241002100410121030c030b2002450d010b200141046a200010b1808080000c020b4100210302402000280200220228020422004100480d0020022802002102024020000d0041012103410021000c020b41002d00b8bfd380001a200041002802b0bfd380001182808080000022030d01410121030b2003200041fc98c6800010ae80808000000b20032002200010e99680800021022001200036020c20012002360208200120003602040b200141046a10fe918080002100200141106a24808080800020000bee0101017f23808080800041c0006b22042480808080002004200136020c200420003602080240024020030d0020044102360214200441ec99c680003602102004420137021c200441f680808000ad422086200441086aad843703282004200441286a360218200441106a10c08e80800021030c010b20044102360214200441889ac680003602102004420237021c2004200336023c20042002360238200441d983808000ad422086200441386aad84370330200441f680808000ad422086200441086aad843703282004200441286a360218200441106a10c08e80800021030b200441c0006a24808080800020030b950101017f23808080800041c0006b220324808080800020032002360214200320013602102003200036020c2003410236021c200341b49ac6800036021820034202370224200341da83808000ad422086200341106aad843703382003418a80808000ad4220862003410c6aad843703302003200341306a360220200341186a10c08e8080002102200341c0006a24808080800020020b7601017f23808080800041306b22022480808080002002200136020c2002200036020820024102360214200241d89ac680003602102002420137021c200241f680808000ad422086200241086aad843703282002200241286a360218200241106a10c08e8080002101200241306a24808080800020010b920101017f23808080800041106b2202248080808000200241086a200110c58e8080000240024020022d00080d00024020022d00090d00200041003b01000c020b02402001280200200220022002200210c68e80800022010d0020004180023b01000c020b200041013a0000200020013602040c010b2000200228020c360204200041013a00000b200241106a2480808080000ba30601077f23808080800041206b22022480808080002001280200220328020c2104024002400240024020032802142205200328021022064f0d000340200420056a2d0000220741776a220841174b0d024101200874419380800471450d022003200541016a220536021420062005470d000b200621050b41012108200241186a20042006200541016a2205200620052006491b10829280800041002d00b8bfd380001a200228021c2106200228021821030240411441002802b0bfd38000118280808000002205450d002005200336020c2005410236020020002005360204200520063602100c020b4104411410b980808000000b0240200741dd00470d0041002108200041003a00010c010b024002400240024020012d00040d00200541016a210502402007412c470d00200320053602140240200520064f0d000340200420056a2d0000220741776a220841174b0d064101200874419380800471450d062003200541016a220536021420062005470d000b200621050b41012108200220042006200541016a2205200620052006491b10829280800041002d00b8bfd380001a2002280204210620022802002103411441002802b0bfd38000118280808000002205450d032005200336020c2005410536020020002005360204200520063602100c050b200241106a200420062005200620052006491b10829280800041002d00b8bfd380001a2002280214210820022802102106411441002802b0bfd38000118280808000002205450d012005200636020c200541073602002000200536020420052008360210410121080c040b200041013a000141002108200141003a00040c030b4104411410b980808000000b4104411410b980808000000b0240200741dd00460d00200041013a0001410021080c010b41012108200241086a20042006200541016a2205200620052006491b10829280800041002d00b8bfd380001a200228020c210620022802082103411441002802b0bfd38000118280808000002205450d012005200336020c2005411536020020002005360204200520063602100b200020083a0000200241206a2480808080000f0b4104411410b980808000000bef0601067f23808080800041306b2205248080808000200028020c2106024002400240024020002802142207200028021022084f0d000340200620076a2d0000220941776a220a41174b0d024101200a74419380800471450d022000200741016a220736021420082007470d000b200821070b200520062008200741016a2207200820072008491b10829280800041002d00b8bfd380001a2005280204210a200528020021000240411441002802b0bfd38000118280808000002207450d002007200036020c200741053602002007200a3602100c020b4104411410b980808000000b0240024002400240200941db00460d00200941fb00460d0120002005412f6a4194a2c6800010ee8d808000200010ef8d80800021070c040b200020002d00182209417f6a220a3a0018200741016a2107200a41ff0171450d02200020093a001820002007360214200010f28d808000210a0c010b200020002d0018417f6a220a3a0018200741016a21070240200a41ff0171450d0020002007360214200541013a001c20052000360218200541206a200541186a10d28e8080000240024020052d00200d004100210720052d0021450d012005280218220741003602082007200728021441016a360214200541206a2007410c6a20071084928080002005280224210720052802204102460d01200720052802284104410010c18e80800021070c010b200528022421070b200020002d001841016a3a00182007200010f18d808000220820071b210a2007450d012008450d01024020082802000d002008280208450d00200828020441002802a8bfd38000118080808000000b200841002802a8bfd38000118080808000000c010b200541106a200620082007200820072008491b10829280800041002d00b8bfd380001a2005280214210a200528021021000240411441002802b0bfd38000118280808000002207450d002007200036020c200741183602002007200a3602100c030b4104411410b980808000000b41002107200a450d01200a200010ef8d80800021070c010b200541086a200620082007200820072008491b10829280800041002d00b8bfd380001a200528020c210a20052802082100411441002802b0bfd38000118280808000002207450d012007200036020c200741183602002007200a3602100b200541306a24808080800020070f0b4104411410b980808000000bc50101017f23808080800041106b2202248080808000200241046a200110c58e8080000240024020022d00040d00024020022d00050d0020004180808080783602000c020b200241046a2001280200200220022002200210c88e80800002402002280204418080808078460d0020002002290204370200200041086a200241046a41086a2802003602000c020b2000200228020836020420004181808080783602000c010b2000200228020836020420004181808080783602000b200241106a2480808080000beb0b01087f23808080800041306b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b200620072009200841016a2208200920082009491b10829280800041002d00b8bfd380001a2006280204210b200628020021010240411441002802b0bfd38000118280808000002208450d002008200136020c200841053602002000200836020420004180808080783602002008200b3602100c020b4104411410b980808000000b024002400240024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d0120012006412f6a41b4a1c6800010ee8d80800021080c0b0b200120012d0018417f6a220b3a0018200841016a2108200b41ff0171450d0c20012008360214200641013a001c20062001360218200641206a200641186a10c58e80800020062d00200d010240024020062d0021450d00200641206a200628021810ef8e80800041808080807821072006280224210b20062802202208418080808078470d010c070b4180808080782107410041f493c6800041fc93c6800010c28e808000210b0c060b2006280228210a200821070c050b200120012d0018417f6a220b3a0018200841016a2108200b41ff0171450d0320012008360214200641013a001c20062001360218200641206a200641186a10d28e808000024002400240024020062d0020450d0041808080807821090c010b418080808078210903400240024020062d0021450d002006280218220841003602082008200828021441016a360214200641206a2008410c6a2008108492808000200628022421070240024020062802204102460d0002402006280228220c410b470d004100210b2007419cf8c48000410b10ed96808000450d020b2007200c41a8f8c48000410110c18e808000210b0c010b2007210b0b200b0d042009418080808078460d0141c493c68000410b10c38e808000210b0c050b41808080807821072009418080808078460d0620092107200d210b0c070b02400240200810f08d808000220b0d00200641206a200810ef8e8080002006280224210d20062802202209418080808078470d01200d210b0b41808080807821070c070b2006280228210a200641206a200641186a10d28e80800020062d0020450d000b0b2006280224210b0b41808080807821072009418080808078460d030b41808080807821072009450d02200d41002802a8bfd38000118080808000000c020b2006280224210b41808080807821070c030b41c493c68000410b10bf8e808000210b0b200120012d001841016a3a0018200110f18d8080002108024002402007418080808078460d0020080d010b2008450d0520082802000d0420082802080d030c040b2007450d06200b41002802a8bfd38000118080808000000c060b200641106a200720092008200920082009491b10829280800041002d00b8bfd380001a2006280214210b20062802102101411441002802b0bfd380001182808080000022080d084104411410b980808000000b200120012d001841016a3a0018200110f28d808000210802402007418080808078460d0020080d040b2008450d0220082802000d012008280208450d010b200828020441002802a8bfd38000118080808000000b200841002802a8bfd38000118080808000000b2007418080808078470d02200b21080c010b2007450d00200b41002802a8bfd38000118080808000000b2008200110ef8d80800021082000418080808078360200200020083602040c030b2000200a3602082000200b360204200020073602000c020b200641086a200720092008200920082009491b10829280800041002d00b8bfd380001a200628020c210b20062802082101411441002802b0bfd380001182808080000022080d004104411410b980808000000b2008200136020c200841183602002000200836020420004180808080783602002008200b3602100b200641306a2480808080000bdf0101017f23808080800041306b2202248080808000200241086a200110c58e8080000240024020022d00080d00024020022d00090d00200042003703000c020b200241086a2001280200200220022002200210ca8e808000024020022802080d002000200229031037030820004201370300200041206a200241086a41206a290300370300200041186a200241086a41186a290300370300200041106a200241086a41106a2903003703000c020b2000200228020c360208200042023703000c010b2000200228020c360208200042023703000b200241306a2480808080000b871c0b067f037e017f017e027f057e017f017e017f017e017f2380808080004190016b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b4101210b200620072009200841016a2208200920082009491b10829280800041002d00b8bfd380001a20062802042101200628020021090240411441002802b0bfd38000118280808000002208450d002008200936020c2008410536020020002008360204200820013602100c020b4104411410b980808000000b0240024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d0120012006418f016a41d4a1c6800010ee8d80800021070c090b200120012d0018417f6a220b3a0018200841016a2108200b41ff0171450d0920012008360214200641013a0088012006200136028401200641e8006a20064184016a10c58e80800002400240024020062d00680d0020062d0069450d02200641e8006a20062802840110f28e808000200628026c21072006280268220a418080808078460d01024002400240200628027022090e020800010b4101210b2007210820072d000041556a0e03070107010b024020072d0000412b470d002009417f6a210b200741016a210820094112490d010c060b200721082009210b200941114f0d050b4200210c034020082d000041506a220941094b0d06200841016a2108200c420a7e2009ad7c210c200b417f6a220b450d070c000b0b200628026c21070b4100210b0c060b4100210b410041dc94c6800041fc93c6800010c28e80800021070c050b200120012d0018417f6a220b3a0018200841016a21080240200b41ff0171450d0020012008360214200641013a0080012006200136027c200641e8006a200641fc006a10d28e808000024002400240024020062d0068450d000c010b4200210d4200210e4100210f4200211003400240024002400240024002400240024002400240024002400240024020062d0069450d00200628027c220841003602082008200828021441016a360214200641e8006a2008410c6a2008108492808000200628026c2107024020062802684102470d00410021110c120b20064184016a2007200628027010a784808000024020062d008401410171450d002006280288012107410021110c120b024002400240024020062d0085010e0400010203000b200d4201510d1341002111200810f08d80800022070d14200641e8006a200810f28e808000200628026c210720062802682212418080808078460d14024002400240200628027022090e021100010b4101210b2007210820072d000041556a0e03100110010b024020072d0000412b470d002009417f6a210b200741016a210820094112490d010c0f0b200721082009210b200941114f0d0e0b42002113034020082d000041506a220941094b0d0f200841016a21082013420a7e2009ad7c2113200b417f6a220b0d000b41002108201321140c0f0b200e4201510d0b41002111200810f08d80800022070d13200641e8006a200810f28e808000200628026c210720062802682212418080808078460d13024002400240200628027022090e020c00010b4101210b2007210820072d000041556a0e030b010b010b024020072d0000412b470d002009417f6a210b200741016a210820094112490d010c0a0b200721082009210b200941114f0d090b42002113034020082d000041506a220941094b0d0a200841016a21082013420a7e2009ad7c2113200b417f6a220b0d000b41002108201321150c0a0b200f4101460d0641002111200810f08d80800022070d12200641e0006a200810f08e8080002006280264210720062802600d124101210f2007210a0c0e0b20104201510d0441002111200810f08d80800022070d11200641e8006a200810f28e808000200628026c210720062802682212418080808078460d11024002400240200628027022090e020500010b4101210b2007210820072d000041556a0e03040104010b024020072d0000412b470d002009417f6a210b200741016a210820094112490d010c030b200721082009210b200941114f0d020b42002113034020082d000041506a220941094b0d03200841016a21082013420a7e2009ad7c2113200b417f6a220b0d000b41002108201321160c030b0240200d500d000240200e4200520d0041002111419694c68000410710bf8e80800021070c120b0240200f0d0041002111419d94c68000410e10bf8e80800021070c120b024020104200510d00410121110c120b4100211141ab94c68000410b10bf8e80800021070c110b41002111418f94c68000410710bf8e80800021070c100b4200211303400240200b0d0041002108201321160c030b200641306a20134200420a420010f19680800020082d000041506a220941094b0d0120062903384200520d01200841016a2108200b417f6a210b200629033022172009ad7c221320175a0d000b0b41012108418886cc8000412b10cf8e80800021180b02402012450d00200741002802a8bfd38000118080808000000b02402008450d00201821070c0e0b42012110201621190c090b4100211141ab94c68000410b10c38e80800021070c0c0b41002111419d94c68000410e10c38e80800021070c0b0b4200211303400240200b0d0041002108201321150c030b200641d0006a20134200420a420010f19680800020082d000041506a220941094b0d0120062903584200520d01200841016a2108200b417f6a210b200629035022172009ad7c221320175a0d000b0b41012108418886cc8000412b10cf8e808000211a0b02402012450d00200741002802a8bfd38000118080808000000b02402008450d00201a21070c090b4201210e2015211b0c040b41002111419694c68000410710c38e80800021070c070b4200211303400240200b0d0041002108201321140c030b200641c0006a20134200420a420010f19680800020082d000041506a220941094b0d0120062903484200520d01200841016a2108200b417f6a210b200629034022172009ad7c221320175a0d000b0b41012108418886cc8000412b10cf8e808000211c0b02402012450d00200741002802a8bfd38000118080808000000b02402008450d00201c21070c050b4201210d2014210c0b200641e8006a200641fc006a10d28e80800020062d0068450d000b0b200628026c2107410021110c010b41002111418f94c68000410710c38e80800021070b200120012d001841016a3a0018200110f18d808000210802402011450d002008210720080d090c080b2008450d08024020082802000d002008280208450d00200828020441002802a8bfd38000118080808000000b200841002802a8bfd38000118080808000000c080b200641286a200720092008200920082009491b10829280800041002d00b8bfd380001a200628022c210b20062802282101411441002802b0bfd380001182808080000022080d094104411410b980808000000b4200210c0340200b450d02200641186a200c4200420a420010f19680800020082d000041506a220941094b0d0120062903204200520d01200841016a2108200b417f6a210b200629031822132009ad7c220c20135a0d000b0b422b210c41012108418886cc8000412b10cf8e80800021090c010b410021080b0240200a450d00200741002802a8bfd38000118080808000000b4100210b02402008450d00200921070c020b200641e8006a20064184016a10c58e808000024020062d00680d000240024020062d0069450d00200641e8006a20062802840110f28e808000200628026c210720062802682208418080808078460d03200641e8006a20072006280270108d9280800002400240200628026822090d002006290370211b0c010b200628026c200628027010cf8e80800021110b02402008450d00200741002802a8bfd38000118080808000000b2009450d01201121070c040b410141dc94c6800041fc93c6800010c28e80800021070c020b200641e8006a20064184016a10c58e80800020062d00680d000240024020062d0069450d00200641106a20062802840110f08e8080002006280214210a2006280210450d01200a21070c040b410241dc94c6800041fc93c6800010c28e80800021070c020b200641e8006a20064184016a10c58e80800020062d00680d00024020062d0069450d00200641e8006a20062802840110f28e808000200628026c2108024020062802682209418080808078460d00200641e8006a20082006280270108d9280800002400240200628026822110d00200629037021190c010b200628026c200628027010cf8e80800021070b02402009450d00200841002802a8bfd38000118080808000000b20110d034101210b0c040b200821070c020b410341dc94c6800041fc93c6800010c28e80800021070c010b200628026c21070b0b200120012d001841016a3a0018200110f28d80800021080240200b450d00200821072008450d010c020b2008450d01024020082802000d002008280208450d00200828020441002802a8bfd38000118080808000000b200841002802a8bfd38000118080808000000c010b2000200a360220200020193703182000201b3703102000200c3703084100210b0c040b20002007200110ef8d8080003602040c020b200641086a200720092008200920082009491b10829280800041002d00b8bfd380001a200628020c210b20062802082101411441002802b0bfd380001182808080000022080d004104411410b980808000000b2008200136020c20084118360200200020083602042008200b3602100b4101210b0b2000200b36020020064190016a2480808080000baf0c02077f047e23808080800041f0006b2202248080808000200241e4006a200110c58e8080000240024002400240024002400240024002400240024002400240024020022d00640d00024020022d00650d0020004200370308200042003703000c0e0b2001280200220328020c210402400240024020032802142201200328021022054f0d0003400240200420016a22062d000041776a0e2500000404000404040404040404040404040404040404040004040404040404040404040403040b2003200141016a220136021420012005470d000b200521010b200241d0006a20042005200141016a2201200520012005491b10829280800041002d00b8bfd380001a2002280254210320022802502105411441002802b0bfd38000118280808000002201450d032001200536020c20014105360200200120033602100c0e0b200241d8006a20042005200141016a2201200520012005491b10829280800041002d00b8bfd380001a200228025c210320022802582105411441002802b0bfd38000118280808000002201450d032001200536020c2001410e360200200120033602100c0d0b2002410036026c2002428080808010370264024002400240200520014d0d002003200141016a2207360214024020062d000022084130470d00200241e4006a419499c6800010ad80808000200228026841303a00002002410136026c20072005490d020c0a0b2008414f6a41ff01714109490d02200721010b200241c8006a20042005200110829280800041002d00b8bfd380001a200228024c210320022802482105411441002802b0bfd38000118280808000002201450d062001410d3602000c0d0b200420076a2d000041506a41ff0171410a4f0d07200241086a200328020c20032802102201200328021441016a2203200120032001491b10829280800041002d00b8bfd380001a200228020c210320022802082105411441002802b0bfd38000118280808000002201450d042001410d3602000c0c0b200241e4006a419499c6800010ad80808000200228026820083a00002002410136026c200720054f0d062005417f6a2104200520016b21084101210502400340200620056a2d0000220741506a41ff017141094b0d012003200120056a41016a360214024020052002280264470d00200241e4006a419499c6800010ad808080000b200228026820056a20073a00002002200541016a220536026c20012004417f6a2204470d000b200821050b20022802682107024020050e020b08000b024020072d0000412b470d002005417f6a2104200741016a2101200541224f0d06200421050c090b2005210420072101200541204b0d05200721010c080b2000420037030820004202370300200020022802683602100c0c0b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000b200241c0006a2106420021094200210a03402004450d04200241286a200a4200420a420010f196808000200241386a20094200420a420010f19680800020012d000041506a220541094b0d0520022903304200522006290300220920022903287c220b200954720d05200141016a21012004417f6a21042002290338220c2005ad7c2209200c542205200b2005ad7c220a200b542009200c5a1b450d000c050b0b200228026821070b410121052007210120072d000041556a0e03020002000b200241186a2106420021094200210a034020012d000041506a220441094b0d02200241106a2009200a420a420010f196808000200141016a210120062903002002290310220a2004ad7c2209200a54ad7c210a2005417f6a22050d000b0b02402002280264450d00200741002802a8bfd38000118080808000000b2000200937031020004200370308200042013703002000200a3703180c030b200241206a200328020c2003280210200328021410829280800041002d00b8bfd380001a20022802242103200228022021050240411441002802b0bfd38000118280808000002201450d002001410e3602000c010b4104411410b980808000000b2001200536020c200120033602102002280264450d00200228026841002802a8bfd38000118080808000000b2000420037030820004202370300200020013602100b200241f0006a2480808080000b920101017f23808080800041106b2202248080808000200241086a200110c58e8080000240024020022d00080d00024020022d00090d00200041003b01000c020b02402001280200200220022002200210cd8e80800022010d0020004180023b01000c020b200041013a0000200020013602040c010b2000200228020c360204200041013a00000b200241106a2480808080000bef0601067f23808080800041306b2205248080808000200028020c2106024002400240024020002802142207200028021022084f0d000340200620076a2d0000220941776a220a41174b0d024101200a74419380800471450d022000200741016a220736021420082007470d000b200821070b200520062008200741016a2207200820072008491b10829280800041002d00b8bfd380001a2005280204210a200528020021000240411441002802b0bfd38000118280808000002207450d002007200036020c200741053602002007200a3602100c020b4104411410b980808000000b0240024002400240200941db00460d00200941fb00460d0120002005412f6a41a4a2c6800010ee8d808000200010ef8d80800021070c040b200020002d00182209417f6a220a3a0018200741016a2107200a41ff0171450d02200020093a001820002007360214200010f28d808000210a0c010b200020002d0018417f6a220a3a0018200741016a21070240200a41ff0171450d0020002007360214200541013a001c20052000360218200541206a200541186a10d28e8080000240024020052d00200d004100210720052d0021450d012005280218220741003602082007200728021441016a360214200541206a2007410c6a20071084928080002005280224210720052802204102460d01200720052802284104410010c18e80800021070c010b200528022421070b200020002d001841016a3a00182007200010f18d808000220820071b210a2007450d012008450d01024020082802000d002008280208450d00200828020441002802a8bfd38000118080808000000b200841002802a8bfd38000118080808000000c010b200541106a200620082007200820072008491b10829280800041002d00b8bfd380001a2005280214210a200528021021000240411441002802b0bfd38000118280808000002207450d002007200036020c200741183602002007200a3602100c030b4104411410b980808000000b41002107200a450d01200a200010ef8d80800021070c010b200541086a200620082007200820072008491b10829280800041002d00b8bfd380001a200528020c210a20052802082100411441002802b0bfd38000118280808000002207450d012007200036020c200741183602002007200a3602100b200541306a24808080800020070f0b4104411410b980808000000bce0101047f23808080800041106b22012480808080004100210202400240200028020822034100480d0020002802042102024020030d00410121040c020b41002d00b8bfd380001a200341002802b0bfd380001182808080000022040d01410121020b2002200341fc88c0800010ae80808000000b20042002200310e99680800021042001200336020c2001200436020820012003360204200141046a10fe91808000210302402000280200450d00200241002802a8bfd38000118080808000000b200141106a24808080800020030ba50101027f23808080800041106b2202248080808000410021030240024020014100480d00024020010d00410121030c020b41002d00b8bfd380001a200141002802b0bfd380001182808080000022030d01410121030b2003200141fc98c6800010ae80808000000b20032000200110e99680800021002002200136020c2002200036020820022001360204200241046a10fe918080002101200241106a24808080800020010b8f0601087f23808080800041c0006b220624808080800002402001450d000240024002400240024041014102410420032802002207418080808078461b2007418180808078461b417f6a0e0400010203000b413e21082002413e2002413e491b210941bf01210a418001210b0c030b413e21082002413e2002413e491b210941ff01210a41c001210b0c020b411e21082002411e2002411e491b2109413f210a4120210b0c010b410e21082002410e2002410e491b2109411f210a4110210b0b02402002410171220c450d0020012d0000210d0b2006410236021c2006200d3a0011200641013a000c2006410136020420062002417e713602182006200220096b3602082006200c3a001020062001200c6a3602142006200a200b20097220082002491b3a000d2000200641046a41989cc6800010f88b8080000240024020042005470d0041002101410021020c010b410021014101210203402002410020042802001b200172210120024101742102200441046a22042005470d000b20014180fe037141087621020b02402000280200200028020822046b41014b0d002000200441024101410110948a808000200028020821040b2000200441026a2205360208200028020420046a2002410874200141ff0171723b000002402007418180808078460d00200328020821042003280204210202402007418080808078470d00200620043602382006200641386a360220200641206a200010d58380800002402000280200200028020822016b20044f0d002000200120044101410110948a808000200028020821010b200028020420016a2002200410e9968080001a2000200028020820046a3602080c010b0240200028020020056b20044f0d002000200520044101410110948a808000200028020821050b200028020420056a2002200410e9968080001a2000200028020820046a3602082007450d00200241002802a8bfd38000118080808000000b200641c0006a2480808080000f0b20064101360224200641809dc680003602202006420037022c20062006413c6a360228200641206a41889dc6800010f280808000000bf40201047f23808080800041306b220224808080800002400240200128020822034120490d00200241086a2001280204220420034100280288bfd3800011858080800000200241203602282002200241286a36022c2002412c6a200010d58380800002402000280200200028020822036b411f4b0d0020002003412010fc90808000200028020821030b2000200341206a360208200028020420036a22002002290008370000200041086a200241086a41086a290000370000200041106a200241086a41106a290000370000200041186a200241086a41186a2900003700000c010b200128020421042002200336022c20022002412c6a360208200241086a200010d58380800002402000280200200028020822056b20034f0d0020002005200310fc90808000200028020821050b200028020420056a2004200310e9968080001a2000200520036a3602080b02402001280200450d00200441002802a8bfd38000118080808000000b200241306a2480808080000bab0801077f23808080800041306b22022480808080002001280200220328020c21040240024002400240024020032802142205200328021022064f0d000340200420056a2d0000220741776a220841174b0d024101200874419380800471450d022003200541016a220536021420062005470d000b200621050b41012108200241286a20042006200541016a2205200620052006491b10829280800041002d00b8bfd380001a200228022c2106200228022821030240411441002802b0bfd38000118280808000002205450d002005200336020c2005410336020020002005360204200520063602100c020b4104411410b980808000000b0240200741fd00470d0041002108200041003a00010c010b024002400240024002400240024020012d00040d00200541016a210502402007412c470d00200320053602140240200520064f0d000340200420056a2d0000220741776a220841194b0d09024041012008744193808004710d0020084119470d0a200041013a0001410021080c0b0b2003200541016a220536021420062005470d000b200621050b41012108200241106a20042006200541016a2205200620052006491b10829280800041002d00b8bfd380001a2002280214210620022802102103411441002802b0bfd38000118280808000002205450d042005200336020c2005410536020020002005360204200520063602100c080b200241206a200420062005200620052006491b10829280800041002d00b8bfd380001a2002280224210820022802202106411441002802b0bfd38000118280808000002205450d022005200636020c2005410836020020002005360204200520083602100c010b41002108200141003a000420074122460d04200220042006200541016a2205200620052006491b10829280800041002d00b8bfd380001a2002280204210820022802002106411441002802b0bfd38000118280808000002205450d032005200636020c2005411136020020002005360204200520083602100b410121080c050b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000b200041013a00010c010b410121080240200741fd00460d00200241086a20042006200541016a2205200620052006491b10829280800041002d00b8bfd380001a200228020c210620022802082103411441002802b0bfd38000118280808000002205450d022005200336020c2005411136020020002005360204200520063602100c010b200241186a20042006200541016a2205200620052006491b10829280800041002d00b8bfd380001a200228021c210620022802182103411441002802b0bfd38000118280808000002205450d022005200336020c2005411536020020002005360204200520063602100b200020083a0000200241306a2480808080000f0b4104411410b980808000000b4104411410b980808000000b8c0902077f027e23808080800041b0016b220224808080800020024180016a200110c58e8080000240024002400240024020022d0080010d00024020022d0081010d0020004200370308200042003703000c050b2001280200220328020c2104024020032802142201200328021022054f0d000340200420016a2d0000220641776a220741174b0d044101200774419380800471450d042003200141016a220136021420052001470d000b200521010b200241086a20042005200141016a2201200520012005491b10829280800041002d00b8bfd380001a200228020c210320022802082105411441002802b0bfd38000118280808000002201450d012001200536020c20014105360200200120033602100c030b200042003703082000420237030020002002280284013602100c030b4104411410b980808000000b024002400240024002400240200641db00470d00200320032d0018417f6a22073a0018200141016a2101200741ff01710d01200241106a200420052001200520012005491b10829280800041002d00b8bfd380001a2002280214210320022802102105411441002802b0bfd38000118280808000002201450d022001200536020c20014118360200200120033602100c060b2003200241af016a41d08ec6800010ee8d808000200310ef8d80800021010c050b20032001360214200241013a003c2002200336023820024180016a200241386a10c58e80800020022d0080010d010240024020022d008101450d0020024180016a200228023810df8880800020022d0080014101470d0120022802840121050c040b4100200241af016a41d08ec6800010c28e80800021050c030b200241c0006a41086a22052002418f016a290000370300200241c0006a41106a220620024197016a290000370300200241c0006a41186a22082002419f016a2f00003b01002002200229008701370340200228008301210720022f008101210420024180016a200241386a10cb8e8080000240024020022802800122014103714103460d00024020010e03000102000b4101200241af016a41d08ec6800010c28e80800021050c040b200241186a41086a2005290300370300200241186a41106a2006290300370300200241186a41186a20082f01003b01002002200229034037031820024180016a41186a2903002109200229039001210a410121060c040b20022802900121050c020b4104411410b980808000000b20022802840121050b410021060b200320032d001841016a3a0018200310f28d8080002101024002402006450d002001210520010d01200020022903183701162000412e6a200241306a2f01003b0100200041266a200241286a2903003701002000411e6a200241206a290300370100200020093703382000200a370330200042003703082000420137030020002007360112200020043b01100c030b2001450d00024020012802000d002001280208450d00200128020441002802a8bfd38000118080808000000b200141002802a8bfd38000118080808000000b2005200310ef8d80800021010b2000420037030820004202370300200020013602100b200241b0016a2480808080000bcd0201047f23808080800041306b2202248080808000410021032002410036020c2002428080808010370204200241013602142002418086cc80003602102002420137021c200241cb82808000ad4220862001ad843703282002200241286a36021802400240200241046a41ec95c68000200241106a10e2808080000d000240200228020c22014100480d002002280208210320022802042104024020010d00410121050c030b41002d00b8bfd380001a200141002802b0bfd380001182808080000022050d02410121030b2003200141fc98c6800010ae80808000000b419496c680004137200241106a418496c6800041cc96c6800010a481808000000b20052003200110e99680800021052000200136020c2000200536020820002001360204200041033a000002402004450d00200341002802a8bfd38000118080808000000b200241306a2480808080000bcd0201047f23808080800041306b2202248080808000410021032002410036020c2002428080808010370204200241013602142002418086cc80003602102002420137021c200241e582808000ad4220862001ad843703282002200241286a36021802400240200241046a41ec95c68000200241106a10e2808080000d000240200228020c22014100480d002002280208210320022802042104024020010d00410121050c030b41002d00b8bfd380001a200141002802b0bfd380001182808080000022050d02410121030b2003200141fc98c6800010ae80808000000b419496c680004137200241106a418496c6800041cc96c6800010a481808000000b20052003200110e99680800021052000200136020c2000200536020820002001360204200041033a000002402004450d00200341002802a8bfd38000118080808000000b200241306a2480808080000bbe0101077f41002103024002402001410f712204410f470d00410121032002280208220541016a200228020422064b0d0020022802002107410f2108200521010340200120064f0d022002200141016a3602080240200720016a2d0000220941ff01470d00200841ff016a210841012103200141026a2109200141016a2101200920064d0d010c020b0b200920086a2104410021030b20002004360204200020033602000f0b20052006200520064b1b200641e089cd800010f580808000000b990703017f027e037f23808080800041d0016b2203248080808000410041003502bcbfd3800042c4e6c11b85200341e8006aad22047e200442ae94e698017e4220898522043e02bcbfd38000024041002d00e0bfd380004102460d0010bf8f8080000b200341186a410141004100280288bfd3800011858080800000200341086a41002903c8e0c18000370300200341003602402003428080808010370338200341002903c0e0c1800037030020032004422088220542a2f0a4a00a7e200442ffffffff0f83220442d0e3fccc027e85200542d0e3fccc027e200442a2f0a4a00a7e8542208985370310200341e8006a20032001280204220620062001280208410c6c6a200210c689808000200341c8006a41086a2201200341f1006a290000370300200341d8006a2202200341f9006a290000370300200341c8006a41186a220620034181016a290000370300200320032900693703480240024020032d006822074106470d00200341c8016a2006290300370300200341c0016a2002290300370300200341b8016a2001290300370300200320032903483703b001200341e8006a200341c80010e9968080001a200041086a200341e8006a41e80010e9968080001a410021010c010b2000200329008901370025200041c4006a200341a8016a2800003600002000413d6a200341a1016a290000370000200041356a20034199016a2900003700002000412d6a20034191016a2900003700002000411d6a2006290300370000200041156a20022903003700002000410d6a200129030037000020002003290348370005200020073a0004024020032802042208450d000240200328020c2207450d002003280200220241086a21012002290300427f8542808182848890a0c0807f8321040340024020044200520d000340200241807d6a210220012903002104200141086a22062101200442808182848890a0c0807f83220442808182848890a0c0807f510d000b200442808182848890a0c0807f852104200621010b2004427f7c210502402002410020047aa74103766b41306c6a220641706a280200450d00200641746a28020041002802a8bfd38000118080808000000b200520048321042007417f6a22070d000b0b2008200841016aad42307ea722016a4177460d00200328020020016b41002802a8bfd38000118080808000000b02402003280238450d00200328023c41002802a8bfd38000118080808000000b410121010b20002001360200200341d0016a2480808080000bbd04010b7f23808080800041106b220324808080800020012f0100220420026a220241037421054100210602400240200241ffffffff014b0d00200541fcffffff074b0d00024020050d0041042107410021020c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022070d01410421060b2006200541c4a0c6800010ae80808000000b2003410036020c20032007360208200320023602040240200441054f0d000240024020022004490d00410021080c010b200341046a410020044104410810948a80800020032802082107200328020c21080b02402004450d00200441017121090240024020044101470d00410021040c010b410020044106716b210a200720084103746a210b41002104410021060340200120046a220241086a2205280200210c20054100360200200241046a22052d0000210d200541003a0000200b20046a220541046a200c3602002005200d3a00002002410c6a220c2d0000210d200c41003a0000200241106a2202280200210c200241003602002005410c6a200c360200200541086a200d3a0000200441106a2104200a2006417e6a2206470d000b410020066b2104200820066b21080b2009450d00200141046a20044103746a220428020421022004410036020420042d00002105200441003a0000200720084103746a22042002360204200420053a0000200841016a21080b200141003b010020002003290204370200200041086a2008360200200341106a2480808080000f0b2004410441d4a0c6800010aa81808000000be10202057f037e024002400240024020012802082202280208220320022802102204460d0002400240200441016a2205450d00200520034b0d0120022802042106200220053602102001427f2001290300220742017c22082008501b3703000240200620046a310000220850450d00200042003703000f0b20032005460d05200441026a21042005417f460d03200420034b0d04200220043602102001427f200742027c220920092007541b3703000240024042022008420f838622074204540d00200620056a3100004208862008844204882007420c884201200742ff3f561b7e22082007540d010b200042023703000f0b2000200837031020002007370308200042013703000f0b417f200541a8c8ca800010ac81808000000b2005200341a8c8ca800010aa81808000000b200042023703000f0b417f200441a8c8ca800010ac81808000000b2004200341a8c8ca800010aa81808000000b200042023703000b950402057f027e02400240024002400240024002400240024020012802082202280204200228020c22034b0d00024020022802082203280208220420032802102205470d00410121030c030b200541016a2206450d03200620044b0d042003280204210420032006360210200420056a2d000021050c010b2002200341016a36020c200228020020036a2d000021050b2001427f200129030042017c22072007501b370300410021030b20034101710d020240200541ff01710d00200042003703000f0b0240024002402002280204200228020c22034b0d00024020022802082202280208220420022802102203470d00410121020c030b200341016a2206450d06200620044b0d072002280204210420022006360210200420036a2d000021030c010b2002200341016a36020c200228020020036a2d000021030b2001427f200129030042017c22072007501b370300410021020b20024101710d050240024042022005ad2208420f838622074204540d002003ad42ff0183420886200842f00183844204882007420c884201200742ff3f561b7e22082007540d010b200042023703000f0b2000200837031020002007370308200042013703000f0b417f200641a8c8ca800010ac81808000000b2006200441a8c8ca800010aa81808000000b200042023703000f0b417f200641a8c8ca800010ac81808000000b2006200441a8c8ca800010aa81808000000b200042023703000bb60301067f23808080800041206b22042480808080004100210502400240024020032802042206200128020822076a22084100480d002003280200210520012802042109024020080d00410121030c030b41002d00b8bfd380001a200841002802b0bfd380001182808080000022030d01410121050b2005200841b48acd800010ae80808000000b20034100200810eb968080001a0b0240024020082007490d0020032009200710e996808000220320076a2005200610e9968080001a02400240024020022001280200220141b0016a412010ed96808000450d00200441146a200141c8006a2002200441086a10cc848080002004280214418180808078460d0120002004290214370200200041086a200441146a41086a2802003602000c020b41002d00b8bfd380001a410141002802b0bfd38000118280808000002201450d03200041013602082000200136020420004101360200200141003a00000c010b20004180808080783602000b02402008450d00200341002802a8bfd38000118080808000000b200441206a2480808080000f0b2007200841c48acd800010aa81808000000b4101410141fc98c6800010ae80808000000baf0201077f23808080800041106b22042480808080004100210502400240024020032802042206200128020c22076a22084100480d00200328020021092001280208210a024020080d00410121050c030b41002d00b8bfd380001a200841002802b0bfd380001182808080000022050d01410121050b2005200841b48acd800010ae80808000000b20054100200810eb968080001a0b024020082007490d002005200a200710e996808000220520076a2009200610e9968080001a2001280200210720012802042101200420032f01083b010c2004200836020820042005360204200020072002200441046a200128020c1183808080000002402008450d00200541002802a8bfd38000118080808000000b200441106a2480808080000f0b2007200841c48acd800010aa81808000000bb10301067f23808080800041206b22042480808080004100210502400240024020032802042206200128020822076a22084100480d002003280200210520012802042109024020080d00410121030c030b41002d00b8bfd380001a200841002802b0bfd380001182808080000022030d01410121050b2005200841b48acd800010ae80808000000b20034100200810eb968080001a0b0240024020082007490d0020032009200710e996808000220320076a2005200610e9968080001a02400240024020022001280200220141246a412010ed96808000450d00200441146a20012002200441086a10fc848080002004280214418180808078460d0120002004290214370200200041086a200441146a41086a2802003602000c020b41002d00b8bfd380001a410141002802b0bfd38000118280808000002201450d03200041013602082000200136020420004101360200200141003a00000c010b20004180808080783602000b02402008450d00200341002802a8bfd38000118080808000000b200441206a2480808080000f0b2007200841c48acd800010aa81808000000b4101410141fc98c6800010ae80808000000bb20301067f23808080800041206b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210420002802042108024020070d00410121020c030b41002d00b8bfd380001a200741002802b0bfd380001182808080000022020d01410121040b2004200741b48acd800010ae80808000000b20024100200710eb968080001a0b0240024020072006490d0020022008200610e996808000220220066a2004200510e9968080001a0240024002400240024020012000280200220041246a412010ed96808000450d00200341146a20002001200341086a10fc8480800020032802142200418180808078470d01410021000c040b41002d00b8bfd380001a410141002802b0bfd38000118280808000002200450d05200041003a00000c010b02402000418080808078470d00410021000c030b2000450d01200328021821000b200041002802a8bfd38000118080808000000b410121000b02402007450d00200241002802a8bfd38000118080808000000b200341206a24808080800020000f0b2006200741c48acd800010aa81808000000b4101410110b980808000000bb70301067f23808080800041206b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210420002802042108024020070d00410121020c030b41002d00b8bfd380001a200741002802b0bfd380001182808080000022020d01410121040b2004200741b48acd800010ae80808000000b20024100200710eb968080001a0b0240024020072006490d0020022008200610e996808000220220066a2004200510e9968080001a0240024002400240024020012000280200220041b0016a412010ed96808000450d00200341146a200041c8006a2001200341086a10cc8480800020032802142200418180808078470d01410021000c040b41002d00b8bfd380001a410141002802b0bfd38000118280808000002200450d05200041003a00000c010b02402000418080808078470d00410021000c030b2000450d01200328021821000b200041002802a8bfd38000118080808000000b410121000b02402007450d00200241002802a8bfd38000118080808000000b200341206a24808080800020000f0b2006200741c48acd800010aa81808000000b4101410110b980808000000bb10201077f23808080800041106b22032480808080004100210402400240024020022802042205200028020c22066a22074100480d002002280200210820002802082109024020070d00410121040c030b41002d00b8bfd380001a200741002802b0bfd380001182808080000022040d01410121040b2004200741b48acd800010ae80808000000b20044100200710eb968080001a0b024020072006490d0020042009200610e996808000220420066a2008200510e9968080001a2000280200210620002802042100200320022f01083b010c200320073602082003200436020420062001200341046a200028021011818080800000210002402007450d00200441002802a8bfd38000118080808000000b200341106a24808080800020000f0b2006200741c48acd800010aa81808000000bae0301077f23808080800041306b22042480808080004100210502400240024020032802042206200128020822076a22084100480d00200328020021092001280204210a024020080d00410121050c030b41002d00b8bfd380001a200841002802b0bfd380001182808080000022050d01410121050b2005200841b48acd800010ae80808000000b20054100200810eb968080001a0b02400240024020082007490d002005200a200710e996808000220520076a2009200610e9968080001a200128020022072802042101200420032f01083b012c20042008360228200420053602242004410c6a20012002200441246a10f384808000200428020c418080808078470d01200441186a20072802002002200441246a10cc8480800002402004280218418180808078460d0020002004290218370200200041086a200441186a41086a2802003602000c030b20004180808080783602000c020b2007200841c48acd800010aa81808000000b2000200429020c370200200041086a2004410c6a41086a2802003602000b02402008450d00200541002802a8bfd38000118080808000000b200441306a2480808080000bae0301077f23808080800041306b22042480808080004100210502400240024020032802042206200128020822076a22084100480d00200328020021092001280204210a024020080d00410121050c030b41002d00b8bfd380001a200841002802b0bfd380001182808080000022050d01410121050b2005200841b48acd800010ae80808000000b20054100200810eb968080001a0b02400240024020082007490d002005200a200710e996808000220520076a2009200610e9968080001a200128020022072802042101200420032f01083b012c20042008360228200420053602242004410c6a20012002200441246a10f384808000200428020c418080808078470d01200441186a20072802002002200441246a10fc8480800002402004280218418180808078460d0020002004290218370200200041086a200441186a41086a2802003602000c030b20004180808080783602000c020b2007200841c48acd800010aa81808000000b2000200429020c370200200041086a2004410c6a41086a2802003602000b02402008450d00200541002802a8bfd38000118080808000000b200441306a2480808080000ba70201077f23808080800041106b22052480808080004100210602400240024020022802042207200128020822086a22094100480d002002280200210a2001280204210b024020090d00410121060c030b41002d00b8bfd380001a200941002802b0bfd380001182808080000022060d01410121060b2006200941b48acd800010ae80808000000b20064100200910eb968080001a0b024020092008490d002006200b200810e996808000220620086a200a200710e9968080001a20012802002101200520022f01083b010c200520093602082005200636020420002001280204200541046a2003200410f68480800002402009450d00200641002802a8bfd38000118080808000000b200541106a2480808080000f0b2008200941c48acd800010aa81808000000ba30201077f23808080800041106b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210820002802042109024020070d00410121040c030b41002d00b8bfd380001a200741002802b0bfd380001182808080000022040d01410121040b2004200741b48acd800010ae80808000000b20044100200710eb968080001a0b024020072006490d0020042009200610e996808000220420066a2008200510e9968080001a20002802002100200320022f01083b010c200320073602082003200436020420002802042001200341046a10f88480800002402007450d00200441002802a8bfd38000118080808000000b200341106a2480808080000f0b2006200741c48acd800010aa81808000000ba50201077f23808080800041106b22042480808080004100210502400240024020022802042206200028020822076a22084100480d00200228020021092000280204210a024020080d00410121050c030b41002d00b8bfd380001a200841002802b0bfd380001182808080000022050d01410121050b2005200841b48acd800010ae80808000000b20054100200810eb968080001a0b024020082007490d002005200a200710e996808000220520076a2009200610e9968080001a20002802002100200420022f01083b010c200420083602082004200536020420002802042001200441046a200310f78480800002402008450d00200541002802a8bfd38000118080808000000b200441106a2480808080000f0b2007200841c48acd800010aa81808000000baf0301077f23808080800041306b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210820002802042109024020070d00410121040c030b41002d00b8bfd380001a200741002802b0bfd380001182808080000022040d01410121040b2004200741b48acd800010ae80808000000b20044100200710eb968080001a0b024020072006490d0020042009200610e996808000220420066a2008200510e9968080001a200028020022062802042100200320022f01083b012c20032007360228200320043602242003410c6a20002001200341246a10f3848080000240024002400240200328020c2200418080808078470d00200341186a20062802002001200341246a10fc8480800020032802182200418180808078470d01410021020c030b200328021021060c010b410021022000418080808078460d01200328021c21060b410121022000450d00200641002802a8bfd38000118080808000000b02402007450d00200441002802a8bfd38000118080808000000b200341306a24808080800020020f0b2006200741c48acd800010aa81808000000baf0301077f23808080800041306b22032480808080004100210402400240024020022802042205200028020822066a22074100480d002002280200210820002802042109024020070d00410121040c030b41002d00b8bfd380001a200741002802b0bfd380001182808080000022040d01410121040b2004200741b48acd800010ae80808000000b20044100200710eb968080001a0b024020072006490d0020042009200610e996808000220420066a2008200510e9968080001a200028020022062802042100200320022f01083b012c20032007360228200320043602242003410c6a20002001200341246a10f3848080000240024002400240200328020c2200418080808078470d00200341186a20062802002001200341246a10cc8480800020032802182200418180808078470d01410021020c030b200328021021060c010b410021022000418080808078460d01200328021c21060b410121022000450d00200641002802a8bfd38000118080808000000b02402007450d00200441002802a8bfd38000118080808000000b200341306a24808080800020020f0b2006200741c48acd800010aa81808000000b810701097f23808080800041106b22022480808080000240024002400240024002402001280208220341016a2204200128020422054b22060d000240200320054f0d0020012004360208024002400240024002400240024002400240024002402001280200220720036a2d00002208450d0020084106764102730e0403020a01030b200041003a00000c100b2008413f712208413f470d030240200341026a20054b0d00413f2108200421030340200320054f0d0d2001200341016a2209360208200720036a2d0000220a41ff01470d04200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c0f0b2008413f712208413f470d040240200341026a20054b0d00413f2108200421030340200320054f0d0d2001200341016a2209360208200720036a2d0000220a41ff01470d05200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c0e0b2008413f712208413f470d050240200341026a20054b0d00413f2108200421030340200320054f0d0d2001200341016a2209360208200720036a2d0000220a41ff01470d06200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c0d0b200a20086a21080b20002008360204200041023a00000c0b0b200a20086a21080b2000200836020420004181023b01000c090b200a20086a21080b20002008360204200041013b01000c070b0240024002400240200841e001714120460d00200841f001714110460d01200041053a00000c0a0b2008411f712208411f470d020240200341026a20054b0d00411f2108200421030340200320054f0d0a2001200341016a2209360208200720036a2d0000220a41ff01470d03200841ff016a2108200341026a210a20092103200a20054d0d000b0b200041053a00000c090b200241086a2008200110d68e808000024020022802080d00200228020c2101200041033a0000200020013602040c090b200041053a00000c080b200a20086a21080b20002008360204200041043a00000c060b2003200541e089cd800010f580808000000b200041053a00000c040b2004200520061b200541e089cd800010f580808000000b2004200520061b200541e089cd800010f580808000000b2004200520061b200541e089cd800010f580808000000b2004200520061b200541e089cd800010f580808000000b200241106a2480808080000ba30801047f02400240024002400240024020002d00000e050004010203000b0240200128020020012802082202470d0020012002410110fc90808000200128020821020b2001200241016a360208200128020420026a41003a00000c040b41ff0020002802042202413e2002413e491b220041c000722002413e4b1b2103200220006b210241012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d05024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b411f20002802042202410e2002410e491b22004110722002410e4b1b2103200220006b210241012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d04024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b413f20002802042202411e2002411e491b22004120722002411e4b1b2103200220006b210241012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d03024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b200028020422042004413e2004413e491b22056b2102024020002d00010d0041bf7f200541807f722004413e4b1b210341012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d03024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b417f20054140722004413e4b1b210341012104034002400240200441ff01714102460d0020044101712100410021042000450d00200321050c010b2002450d02024002402002418002490d00200241817e6a210241ff0121050c010b2002417f6a2105410021020b410221040b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20053a00000c000b0b0b1400200041849fc68000360204200020013602000b1400200041dc9ec68000360204200020013602000b1400200041849fc68000360204200020013602000b1400200041dc9ec68000360204200020013602000bce0701067f2380808080004180016b2202248080808000200128020c2103024002400240024020012802142204200128021022054f0d000340200320046a2d0000220641776a220741174b0d024101200774419380800471450d022001200441016a220436021420052004470d000b200521040b200241086a20032005200441016a2204200520042005491b10829280800041002d00b8bfd380001a200228020c2105200228020821070240411441002802b0bfd38000118280808000002204450d002004200736020c20044105360200200020043602042000418080808078360200200420053602100c020b4104411410b980808000000b0240024002400240200641db00470d00200120012d0018417f6a22073a0018200441016a2104200741ff0171450d0320012004360214200241013a00202002200136021c2002410036022c200242808080808002370224200241306a41106a2104024002400340200241306a2002411c6a10d38e8080000240200228023022054103714101460d0020054102470d022002280240210702402002280224450d00200228022841002802a8bfd38000118080808000000b41808080807821040c030b0240200228022c22072002280224470d00200241246a41d0d8c1800010e98a8080000b2002280228200741306c6a22052004290300370300200541086a200441086a290300370300200541106a200441106a290300370300200541186a200441186a290300370300200541206a200441206a290300370300200541286a200441286a2903003703002002200741016a36022c0c000b0b2002280224210420022802282107200228022c21030b200120012d001841016a3a0018200110f28d8080002105024002402004418080808078460d002005450d0120040d03200521070c040b2005450d03024020052802000d002005280208450d00200528020441002802a8bfd38000118080808000000b200541002802a8bfd38000118080808000000c030b2000200336020820002007360204200020043602000c040b2001200241ff006a41e4a0c6800010ee8d80800021070c010b200741002802a8bfd3800011808080800000200521070b2007200110ef8d80800021042000418080808078360200200020043602040c010b200241106a200320052004200520042005491b10829280800041002d00b8bfd380001a2002280214210520022802102107411441002802b0bfd38000118280808000002204450d012004200736020c20044118360200200020043602042000418080808078360200200420053602100b20024180016a2480808080000f0b4104411410b980808000000bad0501067f23808080800041306b2202248080808000200128020c2103024002400240024020012802142204200128021022054f0d000340200320046a2d0000220641776a220741174b0d024101200774419380800471450d022001200441016a220436021420052004470d000b200521040b200241086a20032005200441016a2204200520042005491b10829280800041002d00b8bfd380001a200228020c2101200228020821050240411441002802b0bfd38000118280808000002204450d002004200536020c20044105360200200020043602042000418080808078360200200420013602100c020b4104411410b980808000000b02400240200641db00470d00200120012d0018417f6a22073a0018200441016a21040240200741ff01710d00200241106a200320052004200520042005491b10829280800041002d00b8bfd380001a2002280214210120022802102105411441002802b0bfd38000118280808000002204450d042004200536020c20044118360200200020043602042000418080808078360200200420013602100c030b200120043602142002411c6a2001410110ce84808000200120012d001841016a3a0018200110f28d808000210402400240200228021c2205418080808078460d002004450d012005450d03200228022041002802a8bfd38000118080808000000c030b20022802202105024020040d00200521040c030b024020042802000d002004280208450d00200428020441002802a8bfd38000118080808000000b200441002802a8bfd3800011808080800000200521040c020b20002002290220370204200020053602000c020b20012002412f6a41f4a0c6800010ee8d80800021040b2004200110ef8d80800021042000418080808078360200200020043602040b200241306a2480808080000f0b4104411410b980808000000bfb0702057f017e23808080800041306b2202248080808000200128020c210302400240024002400240024020012802142204200128021022054f0d0003400240200320046a2d0000220641776a0e2500000404000404040404040404040404040404040404040004040404040404040404040403040b2001200441016a220436021420052004470d000b200521040b41012106200220032005200441016a2204200520042005491b10829280800041002d00b8bfd380001a2002280204210120022802002105411441002802b0bfd38000118280808000002204450d042004200536020c20044105360200200420013602100c030b410121062001200441016a360214200241086a2001410010ea8d80800002400240200228020822044104460d00200229031021070240024002400240024020040e0406000102060b2007428080808010540d0241012105200241013a001820022007370320200241186a2002412f6a41d488c6800010819280800021040c030b2007428080808010540d01200241023a001820022007370320200241186a2002412f6a41d488c680001081928080002104410121050c020b20022802102103200228020c21052002410b3a0018200241186a2002412f6a41ccdcc1800010ff918080002104200541808080807872418080808078460d05200341002802a8bfd38000118080808000000c050b2007a72104410021050b20050d03410021060c040b200228020c21040c030b200241033a001820022007370320200241186a2002412f6a41ccdcc1800010ff9180800021040c010b0240200641506a41ff0171410a490d004101210620012002412f6a41d488c6800010ee8d808000200110ef8d80800021040c020b41012106200241086a2001410110ea8d80800002400240200228020822044104460d00200229031021070240024002400240024020040e0406000102060b2007428080808010540d0241012105200241013a001820022007370320200241186a2002412f6a41d488c6800010819280800021040c030b2007428080808010540d01200241023a001820022007370320200241186a2002412f6a41d488c680001081928080002104410121050c020b20022802102103200228020c21052002410b3a0018200241186a2002412f6a41ccdcc1800010ff918080002104200541808080807872418080808078460d04200341002802a8bfd38000118080808000000c040b2007a72104410021050b20050d02410021060c030b200228020c21040c020b200241033a001820022007370320200241186a2002412f6a41ccdcc1800010ff9180800021040b410121062004200110ef8d80800021040b2000200436020420002006360200200241306a2480808080000f0b4104411410b980808000000b910a03067f027e037f23808080800041d0006b2203248080808000200128020c210402400240024020012802142205200128021022064f0d000340200420056a2d0000220741776a220841174b0d024101200874419380800471450d022001200541016a220536021420062005470d000b200621050b200320042006200541016a2205200620052006491b10829280800041002d00b8bfd380001a2003280204210620032802002108411421010240411441002802b0bfd38000118280808000002205450d002005200836020c20054105360200200020053602002005200636021041818080807821050c020b4104411410b980808000000b0240024002400240024002400240024002400240200741db00470d00200120012d0018417f6a22083a0018200541016a21050240200841ff01710d00200341086a200420062005200620052006491b10829280800041002d00b8bfd380001a200328020c21062003280208210841142101411441002802b0bfd38000118280808000002205450d022005200836020c20054118360200200020053602002005200636021041818080807821050c0b0b20012005360214200341013a001c20032001360218200341206a200341186a10c58e80800020032d00200d020240024020032d0021450d00200341106a200328021810f08e808000200328021421082003280210450d01200821070c070b41818080807821064100200341cf006a41bc92c6800010c28e80800021070c070b200341206a200341186a10cb8e808000024002400240200329032022094202852003290328220a84500d0002402009200a8450450d004101200341cf006a41bc92c6800010c28e808000210741818080807821060c0a0b2003413c6a35020021092003290234210a2003280230210b200341206a200341186a10c58e80800020032d00200d0120032d0021450d02200328021822042802142205200428021022074f0d07200428020c210c0340200c20056a2d0000220d41776a220641174b0d074101200674419380800471450d072004200541016a220536021420072005470d000c080b0b2003280230210741818080807821060c080b2003280224210741818080807821060c070b41818080807821064102200341cf006a41bc92c6800010c28e80800021070c060b2001200341cf006a41bc92c6800010ee8d80800021070c080b4104411410b980808000000b2003280224210741818080807821060c030b200d41ee00470d002004200541016a360214200441bcd5c48000410310e18d80800022070d014180808080782106200b21070c030b200341206a200410f28e808000024020032802202206418080808078470d002003280224210741818080807821060c020b200328022821052003280224210c200b21070c030b41818080807821060b0b0b200120012d001841016a3a0018200110f28d8080002104024002402006418180808078460d002004450d010240200641808080807872418080808078470d00200421070c030b200c41002802a8bfd3800011808080800000200421070c020b2004450d01024020042802000d002004280208450d00200428020441002802a8bfd38000118080808000000b200441002802a8bfd38000118080808000000c010b2000200a370204200020083602102000200c3602182000200636021420002007360200200020093e020c411c21010c010b20002007200110ef8d8080003602004181808080782105411421010b200020016a2005360200200341d0006a2480808080000b860401067f23808080800041206b2202248080808000200128020c21030240024002400240024020012802142204200128021022054f0d002001410c6a2106034002400240200320046a2d000041776a220741194b0d0041012007744193808004710d0120074119460d040b2001200241146a4184a1c6800010ee8d808000200110ef8d80800021042000418080808078360200200020043602040c060b2001200441016a220436021420052004470d000b200521040b200241086a20032005200441016a2204200520042005491b10829280800041002d00b8bfd380001a200228020c210120022802082107411441002802b0bfd38000118280808000002204450d012004200736020c20044105360200200020043602042000418080808078360200200420013602100c030b41002107200141003602082001200441016a360214200241146a2006200110849280800020022802182101024020022802144102460d000240200228021c22044100480d00024020040d00410121070c040b41002d00b8bfd380001a200441002802b0bfd380001182808080000022070d03410121070b200720044198dbc1800010ae80808000000b2000418080808078360200200020013602040c020b4104411410b980808000000b20072001200410e99680800021012000200436020820002001360204200020043602000b200241206a2480808080000bae1404097f017e057f017e2380808080004190016b2206248080808000200128020c21070240024002400240024002400240024002400240024002400240024002400240024002400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b200641106a20072009200841016a2208200920082009491b10829280800041002d00b8bfd380001a2006280214210b20062802102101411441002802b0bfd38000118280808000002208450d012008200136020c200841053602002000418080808078360220200020083602002008200b3602100c120b024002400240200a41db00460d00200a41fb00460d0120012006418f016a4194a1c6800010ee8d808000210c0c120b200120012d0018417f6a220b3a0018200841016a2108200b41ff0171450d0f20012008360214200641013a003c20062001360238200641e0006a200641386a10c58e8080000240024020062d00600d0020062d00610d01418080808078210d4100419c95c6800041fc93c6800010c28e808000210c0c0e0b2006280264210c418080808078210d0c0d0b200641e0006a200628023810ee8e8080002006280264210e02402006280260220d418080808078470d00418080808078210d200e210c0c0e0b2006350268210f200641e0006a200641386a10c58e808000024020062d00600d0020062d0061450d02200628023822092802142208200928021022074f0d0a200928020c210a0340200a20086a2d0000221041776a220b41174b0d0a4101200b74419380800471450d0a2009200841016a220836021420072008470d000c0b0b0b2006280264210c0c0b0b200120012d0018417f6a220b3a0018200841016a2108200b41ff0171450d0620012008360214200641013a003c20062001360238200641e0006a200641386a10d28e808000024020062d0060450d0041828080807821094180808080782110200628026421080c040b200641e0006a410472210e418280808078210941808080807821100340024002400240024002400240024020062d0061450d002006280238220b4100360208200b200b28021441016a360214200641e0006a200b410c6a220a200b1084928080002006280264210820062802604102460d0b0240024002402006280268220741786a0e04010d0d000d0b20084197f1c38000410b10ed96808000450d010c0c0b2008290000410029008ff1c38000520d0b02402010418080808078460d0041e494c68000410810c38e80800021080c0d0b200b10f08d80800022080d02200641e0006a200b10ee8e8080002006280264210820062802602210418080808078460d0220062802682111200821120c070b02402009418280808078460d0041ec94c68000410b10c38e80800021080c0c0b200b10f08d80800022080d0c200b2802142208200b28021022074f0d05200a280200210a0340200a20086a2d0000220d41776a220941174b0d054101200974419380800471450d05200b200841016a220836021420072008470d000c060b0b02402010418080808078460d002009418280808078470d0241818080807821090c030b41e494c68000410810bf8e80800021080b41808080807821100c090b200641d0006a41086a200641c0006a41086a290200370300200620062902403703502013ad4220862014ad8421150b2011ad4220862012ad84210f0c090b200d41ee00470d00200b200841016a3602144181808080782109200b41bcd5c48000410310e18d8080002208450d010c070b200641e0006a200b200810f18e8080002006280260210c024020062802742209418180808078470d00200c21080c070b200641c0006a41086a200e41086a2902003703002006200e29020037034020062802782114200628027c21130b200641e0006a200641386a10d28e80800020062d0060450d000b200628026421080c030b4101419c95c6800041fc93c6800010c28e808000210c0c090b4104411410b980808000000b2008200741a4f1c38000410210c18e80800021080b2009418380808078480d002009450d00201441002802a8bfd38000118080808000000b0240201041808080807872418080808078460d00201241002802a8bfd38000118080808000000b2008210c41808080807821100b200120012d001841016a3a00184180808080782108200fa7210b2015a72107200110f18d808000210a024002402010418080808078460d00200a0d01200641186a41086a200641d0006a41086a29030037030020062006290350370318201021080c090b200a450d080240200a2802000d00200a280208450d00200a28020441002802a8bfd38000118080808000000b200a41002802a8bfd38000118080808000000c080b02402010450d00200b41002802a8bfd38000118080808000000b4180808080782108024020094182808080784e0d00200a210c0c080b024020090d00200a210c0c080b200741002802a8bfd3800011808080800000200a210c0c070b200641086a200720092008200920082009491b10829280800041002d00b8bfd380001a200628020c210b20062802082101411441002802b0bfd380001182808080000022080d084104411410b980808000000b201041ee00470d002009200841016a360214200941bcd5c48000410310e18d808000220c0d0241818080807821090c010b200641e0006a2009200810f18e8080002006280260210c20062802742209418180808078460d01200641306a200629026c37030020062006290264370328200629037821150b200f422086200ead84210f0c020b0240200d450d00200e41002802a8bfd38000118080808000000b418080808078210d0b0b200120012d001841016a3a00184180808080782108200fa7210b2015a72107200110f28d808000210a02400240200d418080808078460d00200a0d01200641186a41086a200641286a41086a29030037030020062006290328370318200d21080c020b200a450d010240200a2802000d00200a280208450d00200a28020441002802a8bfd38000118080808000000b200a41002802a8bfd38000118080808000000c010b0240200d450d00200b41002802a8bfd38000118080808000000b418080808078210802402009418280808078480d002009450d00200741002802a8bfd38000118080808000000b200a210c0b2008418080808078460d02200020062903183702042000200b36022420002007360218200020093602142000200f4220883e0228200020154220883e021c2000410c6a200641206a2903003702000c030b2006200720092008200920082009491b10829280800041002d00b8bfd380001a2006280204210b20062802002101411441002802b0bfd380001182808080000022080d004104411410b980808000000b2008200136020c200841183602002000418080808078360220200020083602002008200b3602100c020b4180808080782108200c200110ef8d808000210c0b200020083602202000200c3602000b20064190016a2480808080000bef0601067f23808080800041306b2205248080808000200028020c2106024002400240024020002802142207200028021022084f0d000340200620076a2d0000220941776a220a41174b0d024101200a74419380800471450d022000200741016a220736021420082007470d000b200821070b200520062008200741016a2207200820072008491b10829280800041002d00b8bfd380001a2005280204210a200528020021000240411441002802b0bfd38000118280808000002207450d002007200036020c200741053602002007200a3602100c020b4104411410b980808000000b0240024002400240200941db00460d00200941fb00460d0120002005412f6a41a4a1c6800010ee8d808000200010ef8d80800021070c040b200020002d00182209417f6a220a3a0018200741016a2107200a41ff0171450d02200020093a001820002007360214200010f28d808000210a0c010b200020002d0018417f6a220a3a0018200741016a21070240200a41ff0171450d0020002007360214200541013a001c20052000360218200541206a200541186a10d28e8080000240024020052d00200d004100210720052d0021450d012005280218220741003602082007200728021441016a360214200541206a2007410c6a20071084928080002005280224210720052802204102460d01200720052802284104410010c18e80800021070c010b200528022421070b200020002d001841016a3a00182007200010f18d808000220820071b210a2007450d012008450d01024020082802000d002008280208450d00200828020441002802a8bfd38000118080808000000b200841002802a8bfd38000118080808000000c010b200541106a200620082007200820072008491b10829280800041002d00b8bfd380001a2005280214210a200528021021000240411441002802b0bfd38000118280808000002207450d002007200036020c200741183602002007200a3602100c030b4104411410b980808000000b41002107200a450d01200a200010ef8d80800021070c010b200541086a200620082007200820072008491b10829280800041002d00b8bfd380001a200528020c210a20052802082100411441002802b0bfd38000118280808000002207450d012007200036020c200741183602002007200a3602100b200541306a24808080800020070f0b4104411410b980808000000bf40f02077f047e2380808080004180016b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b4101210b200620072009200841016a2208200920082009491b10829280800041002d00b8bfd380001a20062802042101200628020021090240411441002802b0bfd38000118280808000002208450d002008200936020c2008410536020020002008360204200820013602100c020b4104411410b980808000000b0240024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641ff006a41c4a1c6800010ee8d80800021070c090b200120012d0018417f6a220b3a0018200841016a2108200b41ff0171450d0920012008360214200641013a004c20062001360248200641d0006a200641c8006a10c58e80800002400240024020062d00500d0020062d0051450d02200641d0006a200628024810f28e808000200628025421072006280250220c418080808078460d01024002400240200628025822090e020800010b4101210b2007210820072d000041556a0e03070107010b024020072d0000412b470d002009417f6a210b200741016a210820094122490d010c060b200721082009210b200941214f0d050b200641186a210a4200210d4200210e034020082d000041506a220941094b0d06200641106a200d200e420a420010f196808000200841016a2108200a2903002006290310220e2009ad7c220d200e54ad7c210e200b417f6a220b0d000b200d422088200e42208684210f200e422088210e200da7210b0c070b200628025421070b4100210b0c070b4100210b410041f493c6800041fc93c6800010c28e80800021070c060b200120012d0018417f6a220b3a0018200841016a21080240200b41ff0171450d0020012008360214200641013a004c20062001360248200641d0006a200641c8006a10d28e80800002400240024020062d00500d00024020062d0051450d002006280248220841003602082008200828021441016a360214200641d0006a2008410c6a20081084928080002006280254210b0240024020062802504102460d00024020062802582209410a470d0041002107200b4190fec48000410a10ed96808000450d020b200b2009419cfec48000410110c18e80800021070c010b200b21070b4100210b20070d02200810f08d80800022070d02200641d0006a200810f28e8080002006280254210720062802502208418080808078460d02200641d0006a20072006280258108f9280800002400240200628025022090d00200641e8006a290300210e2006290360210d0c010b2006280254200628025810cf8e808000210a0b02402008450d00200741002802a8bfd38000118080808000000b02402009450d00200a21070c030b200641d0006a200641c8006a10d28e80800020062d00500d014101210b20062d00514101470d032006280248220841003602082008200828021441016a360214200641d0006a2008410c6a200810849280800020062802542107024020062802504102460d002007200628025810c78a80800021070b4100210b20070d0241e095c68000410a10c38e80800021070c020b4100210b41e095c68000410a10bf8e80800021070c010b200628025421074100210b0b0b200120012d001841016a3a0018200110f18d80800021080240200b450d002008210720080d090c080b2008450d08024020082802000d002008280208450d00200828020441002802a8bfd38000118080808000000b200841002802a8bfd38000118080808000000c080b200641c0006a200720092008200920082009491b10829280800041002d00b8bfd380001a2006280244210b20062802402101411441002802b0bfd380001182808080000022080d094104411410b980808000000b200641386a210a4200210d420021100340200b450d02200641206a20104200420a420010f196808000200641306a200d4200420a420010f19680800020082d000041506a220941094b0d012006290328420052200a290300220d20062903207c220e200d54720d01200841016a2108200b417f6a210b2006290330220f2009ad7c220d200f542209200e2009ad7c2210200e54200d200f5a1b450d000b0b4200210f41012108418886cc8000412b10cf8e80800021094200210e0c020b200d422088201042208684210f2010422088210e200da7210b0b410021080b0240200c450d00200741002802a8bfd38000118080808000000b02402008450d004100210b200921070c010b200e422086200f42208884210e200f422086200bad84210d4101210b0b200120012d001841016a3a0018200110f28d80800021080240200b450d00200821072008450d010c020b2008450d01024020082802000d002008280208450d00200828020441002802a8bfd38000118080808000000b200841002802a8bfd38000118080808000000c010b2000200d3703102000200e3703184100210b0c040b20002007200110ef8d8080003602040c020b200641086a200720092008200920082009491b10829280800041002d00b8bfd380001a200628020c210b20062802082101411441002802b0bfd380001182808080000022080d004104411410b980808000000b2008200136020c20084118360200200020083602042008200b3602100b4101210b0b2000200b36020020064180016a2480808080000bf20f010a7f23808080800041f0016b2206248080808000200128020c210702400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b4101210b200641086a20072009200841016a2208200920082009491b10829280800041002d00b8bfd380001a200628020c2101200628020821090240411441002802b0bfd38000118280808000002208450d002008200936020c20084105360200200820013602100c020b4104411410b980808000000b0240024002400240024002400240024002400240024002400240200a41db00460d00200a41fb00460d012001200641ef016a41e4a1c6800010ee8d80800021090c0a0b200120012d0018417f6a220b3a0018200841016a2108200b41ff0171450d0a20012008360214200641013a006c20062001360268200641c8016a200641e8006a10c58e80800020062d00c8010d03024020062d00c901450d00200628026822092802142208200928021022074f0d03200928020c210a0340200a20086a2d0000220c41776a220b41174b0d034101200b74419380800471450d032009200841016a220836021420072008470d000c040b0b4100210b410041f493c6800041fc93c6800010c28e80800021080c060b200120012d0018417f6a220b3a0018200841016a21080240200b41ff0171450d0020012008360214200641013a004420062001360240200641c8016a200641c0006a10d28e80800002400240024020062d00c8010d00200641cf016a210d4102210b0340024002400240024020062d00c901450d002006280240220941003602082009200928021441016a360214200641c8016a2009410c6a220a200910849280800020062802cc0121070240024020062802c8014102460d00024020062802d001220c4103470d0041002108200741f3fac48000410310ed96808000450d020b2007200c41f8fac48000410110c18e80800021080c010b200721080b20080d060240200b41ff01714102460d00418c94c68000410310c38e80800021080c070b200910f08d80800022080d0620092802142208200928021022074f0d02200a280200210a0340200a20086a2d0000220c41776a220b41174b0d024101200b74419380800471450d022009200841016a220836021420072008470d000c030b0b410021070240200b41ff01714102460d00200641a8016a41186a200641c8006a41186a2f00003b0100200641a8016a41106a200641c8006a41106a290000370300200641a8016a41086a200641c8006a41086a290000370300200620062900483703a801200b21070b4101210b200e21080c060b200c41ee00470d002009200841016a3602144100210b200941bcd5c48000410310e18d80800022080d040c010b200641c8016a200910df88808000024020062d00c8014101470d0020062802cc0121084100210b0c050b20064188016a41086a200d41086a29000037030020064188016a41106a200d41106a29000037030020064188016a41186a200d41186a2f00003b01002006200d2900003703880120062800cb01210e20062f00c901210f4101210b0b200641c8006a41086a20064188016a41086a290300370300200641c8006a41106a20064188016a41106a290300370300200641c8006a41186a20064188016a41186a2f01003b01002006200629038801370348200641c8016a200641c0006a10d28e80800020062d00c801450d000b0b20062802cc0121084100210b0c010b4100210b0b200120012d001841016a3a0018200110f18d80800021090240200b450d0020090d0a200641a8016a210b0c080b2009450d08024020092802000d002009280208450d00200928020441002802a8bfd38000118080808000000b200941002802a8bfd38000118080808000000c080b200641186a200720092008200920082009491b10829280800041002d00b8bfd380001a200628021c210b20062802182101411441002802b0bfd380001182808080000022080d0a4104411410b980808000000b200c41ee00470d004101210b2009200841016a360214200941bcd5c48000410310e18d80800022080d02410021070c040b200641c8016a200910df888080004101210720062d00c8014101470d020b20062802cc0121080b4100210b0c010b200641286a200641d7016a290000370300200641306a200641df016a290000370300200641386a200641e7016a2f00003b0100200620062900cf0137032020062800cb01210820062f00c901210f4101210b0b200120012d001841016a3a0018200110f28d80800021090240200b450d0020090d03200641206a210b0c010b2009450d01024020092802000d002009280208450d00200928020441002802a8bfd38000118080808000000b200941002802a8bfd38000118080808000000c010b2000200f3b0102200020073a00012000200b290200370208200041206a200b41186a2f01003b0100200041186a200b41106a290200370200200041106a200b41086a2902003702004100210b0c040b200821090b4101210b2009200110ef8d80800021080c020b200641106a200720092008200920082009491b10829280800041002d00b8bfd380001a2006280214210b20062802102101411441002802b0bfd380001182808080000022080d004104411410b980808000000b2008200136020c200841183602002008200b3602104101210b0b2000200b3a000020002008360204200641f0016a2480808080000be10a01067f23808080800041c0006b2206248080808000200128020c2107024002400240024020012802142208200128021022094f0d000340200720086a2d0000220a41776a220b41174b0d024101200b74419380800471450d022001200841016a220836021420092008470d000b200921080b4101210b200620072009200841016a2208200920082009491b10829280800041002d00b8bfd380001a20062802042101200628020021090240411441002802b0bfd38000118280808000002208450d002008200936020c20084105360200200820013602100c020b4104411410b980808000000b0240024002400240024002400240024002400240200a41db00460d00200a41fb00460d0120012006413f6a41f4a1c6800010ee8d80800021090c080b200120012d0018417f6a220b3a0018200841016a2108200b41ff0171450d0820012008360214200641013a002c20062001360228200641306a200641286a10c58e80800020062d00300d01024020062d0031450d00200641106a200628022810f08e808000200628021045210b200628021421080c060b4100210b410041f493c6800041fc93c6800010c28e80800021080c050b200120012d0018417f6a220b3a0018200841016a2108200b41ff0171450d0320012008360214200641013a002c20062001360228200641306a200641286a10d28e80800020062d00300d01024020062d0031450d002006280228220b4100360208200b200b28021441016a360214200641306a200b410c6a200b108492808000200628023421090240024020062802304102460d00024020062802382207410b470d0041002108200941fcfdc48000410b10ed96808000450d020b200920074188fec48000410110c18e80800021080c010b200921080b4100210720080d03200b10f08d80800022080d03200641206a200b10f08e8080002006280224210820062802200d03200641306a200641286a10d28e80800020062d00300d024101210720062d00314101470d032006280228220841003602082008200828021441016a360214200641306a2008410c6a200810849280800020062802342108024020062802304102460d002008200628023810c68a80800021080b4100210720080d0341a495c68000410b10c38e80800021080c030b4100210741a495c68000410b10bf8e80800021080c020b200628023421084100210b0c030b20062802342108410021070b200120012d001841016a3a0018200110f18d808000210902402007450d0020090d044100210b0c060b2009450d02024020092802000d002009280208450d00200928020441002802a8bfd38000118080808000000b200941002802a8bfd38000118080808000000c020b200641186a200720092008200920082009491b10829280800041002d00b8bfd380001a200628021c210b200628021821010240411441002802b0bfd38000118280808000002208450d002008200136020c200841183602002008200b3602104101210b0c050b4104411410b980808000000b200120012d001841016a3a0018200110f28d80800021090240200b450d0020090d024100210b0c040b2009450d00024020092802000d002009280208450d00200928020441002802a8bfd38000118080808000000b200941002802a8bfd38000118080808000000b200821090b4101210b2009200110ef8d80800021080c010b200641086a200720092008200920082009491b10829280800041002d00b8bfd380001a200628020c210b20062802082101411441002802b0bfd38000118280808000002208450d012008200136020c200841183602002008200b3602104101210b0b200020083602042000200b360200200641c0006a2480808080000f0b4104411410b980808000000bef0601067f23808080800041306b2205248080808000200028020c2106024002400240024020002802142207200028021022084f0d000340200620076a2d0000220941776a220a41174b0d024101200a74419380800471450d022000200741016a220736021420082007470d000b200821070b200520062008200741016a2207200820072008491b10829280800041002d00b8bfd380001a2005280204210a200528020021000240411441002802b0bfd38000118280808000002207450d002007200036020c200741053602002007200a3602100c020b4104411410b980808000000b0240024002400240200941db00460d00200941fb00460d0120002005412f6a4184a2c6800010ee8d808000200010ef8d80800021070c040b200020002d00182209417f6a220a3a0018200741016a2107200a41ff0171450d02200020093a001820002007360214200010f28d808000210a0c010b200020002d0018417f6a220a3a0018200741016a21070240200a41ff0171450d0020002007360214200541013a001c20052000360218200541206a200541186a10d28e8080000240024020052d00200d004100210720052d0021450d012005280218220741003602082007200728021441016a360214200541206a2007410c6a20071084928080002005280224210720052802204102460d01200720052802284104410010c18e80800021070c010b200528022421070b200020002d001841016a3a00182007200010f18d808000220820071b210a2007450d012008450d01024020082802000d002008280208450d00200828020441002802a8bfd38000118080808000000b200841002802a8bfd38000118080808000000c010b200541106a200620082007200820072008491b10829280800041002d00b8bfd380001a2005280214210a200528021021000240411441002802b0bfd38000118280808000002207450d002007200036020c200741183602002007200a3602100c030b4104411410b980808000000b41002107200a450d01200a200010ef8d80800021070c010b200541086a200620082007200820072008491b10829280800041002d00b8bfd380001a200528020c210a20052802082100411441002802b0bfd38000118280808000002207450d012007200036020c200741183602002007200a3602100b200541306a24808080800020070f0b4104411410b980808000000ba01204057f017e057f017e23808080800041d0006b2202248080808000200028022821032000280224210420002d003421050240024020002802082206418080c400460d00200241c8006a200041206a28020036020020022000290218370340200035020442208620003301008421072000280214210820002802102109200028020c210a0c010b20002802142208410374210b41002109024002400240200841ffffffff014b0d00200b41fcffffff074b0d002000280210210c0240200b0d00410421094100210a0c030b41002d00b8bfd380001a200b41002802b0bfd380001182808080000022090d01410421090b2009200b41a89dc5800010ae80808000000b2008210a0b2009200c200b10e9968080001a0b200028022c210b20002802302100200241286a200241c0006a41086a2802003602002002200836021c200220093602182002200a36021420022002290340370320200220053a003c200220003602382002200b360234200220033602302002200436022c2002200636021020022007370308200241086a410472210420012802202106200128021c210a024003400240024020000d00034002400240200228022c2201450d0020012002280230460d002002200141016a36022c20012d00002200411874411875417f4a0d012002200141026a36022c20012d0001413f7121082000411f7121090240200041df014b0d00200941067420087221000c020b2002200141036a36022c200841067420012d0002413f717221080240200041f0014f0d0020082009410c747221000c020b2002200141046a36022c200841067420012d0003413f71722009411274418080f00071722200418080c400470d010b02400240024002402002280210418080c400470d00200228021c2200450d01200228021821010c030b20022f01082200450d010240200041054f0d00200421010c030b2000410441d4a0c6800010aa81808000000b2002280214450d00200228021841002802a8bfd38000118080808000000b410021000c060b2002200241cf006a360240024020004102490d00024020004115490d0020012000200241c0006a10f4908080000c010b200120004101200241c0006a10908f8080000b024020022802102208418080c400460d00200220022f010822003602380c040b2002200228021c22003602380c030b02400240024020022d003c0d002000418001490d010240024020004180a87d6a220141a4d700490d0020002000200041b9f3ddf1796c200041a6b2858a036c220173ad428d107e422088a741017441a0d2cd80006a2f01006a41b9f3ddf1796c200173ad428d107e422088a741037441bcf2cd80006a2902002207a7470d0302402007422088a741ffff0371220041ce1a4b0d0041ce1a20006b22082007423088a722014f0d022001200841ccdecf800010aa81808000000b200041ce1a41dcdecf800010a881808000000b200241086a200141ffff0371220041cc046e22084180227210ac8e808000200241086a2001200841cc046c6b41ffff0371411c6e41e1226a10ac8e8080002000411c702200450d03200041a7236a21000c020b200742808080808080c000540d02200041027441a4f3ce80006a2100200141027421010340200241086a200028020010ac8e808000200041046a21002001417c6a22010d000c030b0b2000418001490d0002400240024020004180a87d6a220141a4d700490d00024020002000200041b9f3ddf1796c200041a6b2858a036c220173ad220d42e41d7e422088a741017441ecdecf80006a2f01006a41b9f3ddf1796c200173ad42e41d7e422088a741037441b49ad080006a2902002207a7470d0002402007422088a741ffff0371220041e72c4b0d0041e72c20006b22082007423088a722014f0d032001200841f0bbd3800010aa81808000000b200041e72c4180bcd3800010a881808000000b20002000200d428d107e422088a741017441a0d2cd80006a2f01006a41b9f3ddf1796c200173ad428d107e422088a741037441bcf2cd80006a2902002207a7470d03024002402007422088a741ffff0371220041ce1a4b0d0041ce1a20006b22082007423088a722014f0d012001200841ccdecf800010aa81808000000b200041ce1a41dcdecf800010a881808000000b200041027441a4f3ce80006a21000c020b200241086a200141ffff0371220041cc046e22084180227210ac8e808000200241086a2001200841cc046c6b41ffff0371411c6e41e1226a10ac8e8080002000411c702200450d03200041a7236a21000c020b200041027441d488d280006a21000b2001450d01200141027421010340200241086a200028020010ac8e808000200041046a21002001417c6a22010d000c020b0b200241086a200010ac8e8080000b20022802382200450d000b0b200228021021080b20022802342101024002402008418080c4004622030d00024020022f0108220941054f0d002004210b0c020b2009410441f89dc6800010aa81808000000b200228021c21092002280218210b0b024002400240200120094f0d00200b20014103746a2802042105200141016a22012000460d01200220013602340c020b2001200941c48ac6800010f580808000000b0240024020030d0020022f010821010c010b200228021c21010b200120006b2103024020012000460d00410021004104210102400340200020022802386a210802400240024002402002280210418080c400460d0020022f0108220b4105490d01200b410441f89dc6800010aa81808000000b2008200228021c220b4f0d01200228021821090c020b200421092008200b490d010b2008200b41b095c6800010f580808000000b02402000200b4f0d00200920084103746a22082d0000210b200920016a220920082802043602002009417c6a200b3a0000200141086a21012003200041016a2200460d020c010b0b2000200b41c095c6800010f580808000000b200228021021080b024002402008418080c400460d00200320022f01084f0d01200220033b01080c010b2003200228021c4b0d002002200336021c200242003702340c010b200242003702340b0240200a20052006280210118480808000000d00200228023821000c010b0b02402002280210418080c400470d002002280214450d00200228021841002802a8bfd38000118080808000000b410121000b200241d0006a24808080800020000bf207010a7f23808080800041c0006b2202248080808000200241106a41086a200141086a2902003703002002200129020037031002400240024002400240200028020022034105200341054b22011b2204200020014103746a28020022056b200228021c22014f0d00200520016a22032005490d014100417f2003417f6a677620034102491b2203417f460d01200241086a2000200341016a10fb8e808000024020022802082203418180808078460d002003450d022003200228020c10b980808000000b200028020022034105200341054b1b21040b200041046a210602402000200341054b22034103746a220728020022052004490d00200521040c030b2000280204200620031b2108200241306a41046a21030240024020022802180d0020082005410c6c6a210803402001450d0220024100360234200820032902003702002002410036023c200841086a200341086a2802003602002008410c6a21082001417f6a21012004200541016a2205470d000c040b0b024020022802102209450d002002280214210a20082005410c6c6a210803402001450d0220032009200a108d8b808000200841086a200341086a280200360200200820032902003702002008410c6a21082001417f6a21012004200541016a2205460d040c000b0b2001450d0041e490c58000108a81808000000b2002410036021c20072005360200200241106a10d98a8080000c030b41a8a6c68000411141bca6c6800010f480808000000b2002200136021c0b20072004360200200241206a41086a200241106a41086a290300370300200220022903103703200240200228022c2203450d00200041086a210b200241346a21010240024020022802280d0003402002410036023c200241003602340240024020002000280200220941054b22084103746a220528020022042009410520081b460d002000280204200620081b21080c010b200010fc8e8080002000280208210420002802042108200b21050b20082004410c6c6a22082001290200370200200841086a200141086a2802003602002005200528020041016a3602002003417f6a22030d000c020b0b02402002280220220a450d002002280224210703402001200a2007108d8b8080000240024020002000280200220941054b22084103746a220528020022042009410520081b460d002000280204200620081b21080c010b200010fc8e8080002000280208210420002802042108200b21050b20082004410c6c6a22082001290200370200200841086a200141086a2802003602002005200528020041016a3602002003417f6a2203450d020c000b0b41e490c58000108a81808000000b2002410036022c0b200241206a10d98a8080000b200241c0006a2480808080000ba70402087f017e23808080800041106b22032480808080000240024002400240024020012001280200220441054b22054103746a280200220620024b0d002004410520051b2107200141046a21082001280204210902400240024020024106490d00418180808078210a20042002460d052002ad420c7e220ba72105200b422088a7450d014100210a0c070b418180808078210a20044106490d04200820092006410c6c10e9968080001a200120063602002007ad420c7e220ba721010240200b422088a70d00200141fdffffff07490d020b2003200136020c2003410036020841eca5c68000412b200341086a41dca5c680004198a6c6800010a481808000000b0240200541fcffffff074d0d004100210a0c060b02400240024020044106490d002007ad420c7e220ba72107200b422088a70d07200741fcffffff074b0d07200541002802b0bfd380001182808080000022040d014104210a0c080b41002d00b8bfd380001a200541002802b0bfd380001182808080000022040d014104210a0c070b200420092005200720052007491b10e9968080001a200941002802a8bfd38000118080808000000c030b200420082006410c6c10e9968080001a0c020b200941002802a8bfd38000118080808000000c020b41dca6c68000412041fca6c6800010f480808000000b2001200636020820012004360204200120023602000b0c010b200721054100210a0b200020053602042000200a360200200341106a2480808080000bb40101027f23808080800041106b220124808080800002400240200028020820002802002202200241054b1b2202417f460d00417f20026776410020021b2202417f460d00200141086a2000200241016a10fb8e808000024020012802082200418180808078460d002000450d022000200128020c10b980808000000b200141106a2480808080000f0b41a8a6c68000411141cca6c68000108b81808000000b41a8a6c68000411141bca6c6800010f480808000000be30301077f23808080800041106b2203248080808000200041286a2104024002400240200028022822054128200541284b22061b22072000280204200520061b22066b200220016b22084f0d00200620086a22052006490d014100417f2005417f6a677620054102491b2205417f460d01200341086a2000200541016a10fe8e808000024020032802082205418180808078460d002005450d022005200328020c10b980808000000b200428020022054128200541284b1b21070b200041046a22092004200541284b22061b21080240024020004104412820061b6a280200220520074f0d002000280200200020061b2106034020012002460d02200620056a20012d00003a0000200141016a21012007200541016a2205470d000b200721050b2008200536020020012002460d02034020012d00002108024002402000410441282000280228220741284b22051b6a28020022062007412820051b460d002009200420051b21072000280200200020051b21050c010b200010ff8e8080002000280204210620002802002105200921070b200520066a20083a00002007200728020041016a360200200141016a22012002470d000c030b0b200820053602000c010b41a8a6c68000411141bca6c6800010f480808000000b200341106a2480808080000bc40301077f23808080800041106b2203248080808000024002400240024002402001280204220420012802282205200541284b22061b220720024b0d002005412820061b210820012802002109024020024129490d00418180808078210620052002460d040240200241004e0d00410021060c060b02400240024020054129490d002008417f4a0d0120082102410021060c080b41002d00b8bfd380001a200241002802b0bfd380001182808080000022040d01410121060c070b0240200241002802b0bfd380001182808080000022040d00410121060c070b200420092002200820022008491b10e9968080001a200941002802a8bfd38000118080808000000c040b20042001200510e9968080001a0c030b418180808078210620054129490d0320012009200410e99680800020043602282008417f4c0d01200941002802a8bfd38000118080808000000c030b41dca6c68000412041fca6c6800010f480808000000b2003200836020c2003410036020841eca5c68000412b200341086a41dca5c680004198a6c6800010a481808000000b2001200236022820012007360204200120043602000b0b2000200236020420002006360200200341106a2480808080000bb40101027f23808080800041106b220124808080800002400240200028020420002802282202200241284b1b2202417f460d00417f20026776410020021b2202417f460d00200141086a2000200241016a10fe8e808000024020012802082200418180808078460d002000450d022000200128020c10b980808000000b200141106a2480808080000f0b41a8a6c68000411141cca6c68000108b81808000000b41a8a6c68000411141bca6c6800010f480808000000bc40204067f017e027f017e2001280208210220012802042103200128021821042001280210210520012802002106024003402001418180808078360200024002400240024020064180808080786a0e020200010b20052004460d0120012005410c6a220736021020052802002206418080808078460d0120052902042208422088a721022008a72103200721050b2003210720062109024020052004460d0020012005410c6a220a36021020052802002206418080808078470d020b2001200b37020420014180808080783602000c030b20004180808080783602000f0b20012005290204220b370204200120063602002002200b422088a7470d012007200ba72203200210ed968080000d01200a21052009450d00200741002802a8bfd3800011808080800000200a21050c000b0b2000200236020820002007360204200020093602000bf60a03057f017e067f23808080800041a0016b2202248080808000200241cc006a200110ad848080000240024002400240200228024c2203418080808078460d00200241286a200241cc006a41106a290200370300200241206a41106a200241cc006a41186a290200370300200241206a41186a200241cc006a41206a290200370300200241206a41206a200241cc006a41286a290200370300200241206a41286a200241fc006a2802003602002002200229025437032020022802502104200241186a200110c283808000024020022802180d0002400240200228021c22050d00410021060c010b02402005410a4f0d00418c0121060c010b417f2005410a6ead42bc017e2207a72007422088a71b21060b2001417f2001280204220820066a220620062008491b2206360204200620012802084f0d00200241003a008f0120022005360254200241003602502002200136024c20022002418f016a36025820024190016a200241cc006a109c8780800020022d008f014101470d0220024190016a10d98a8080000b20004180808080783602000c020b20004180808080783602000c020b20024180016a41086a20024190016a41086a280200360200200220022902900137038001200241106a200110c283808000024002400240024020022802100d00200241cc006a20012002280214109083808000200228024c2206418080808078460d002002280250210820022802542105200241cc006a200110858a808000200228024c0d01200228025821092002280254210a2002280250210b200241086a200110c2838080000240024020022802080d00200241cc006a2001200228020c10fc82808000200228024c418080808078460d0020024190016a41086a220c200241cc006a41086a220d2802003602002002200229024c37039001200241cc006a200110d3898080000240200228024c418180808078460d002000200229024c37024c200041d4006a200d280200360200200041306a200241206a41286a280200360200200041286a200241206a41206a290300370200200041206a200241206a41186a290300370200200041186a200241206a41106a290300370200200041106a200241206a41086a290300370200200020022903203702082000200229038001370258200041e0006a20024180016a41086a2802003602002000200229039001370240200041c8006a200c2802003602002000200936026c2000200a3602682000200b3602642000200536023c200020083602382000200636023420002004360204200020033602000c080b200041808080807836020020024190016a10d78b808000200228029001450d0120022802940141002802a8bfd38000118080808000000c010b20004180808080783602000b02400240200b0d0041002101410021090c010b2002200a3602682002200b360264200241003602602002200a3602582002200b36025420024100360250410121010b2002200936026c2002200136025c2002200136024c200241cc006a10fd898080000c020b20004180808080783602000c020b20004180808080783602000b02402005450d002005410171210b41002100024020054101460d002005417e7121052008210141002100034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b0240200141106a280200450d00200141146a28020041002802a8bfd38000118080808000000b200141206a21012005200041026a2200470d000b0b200b450d00200820004104746a2201280200450d00200128020441002802a8bfd38000118080808000000b2006450d00200841002802a8bfd38000118080808000000b20024180016a10d98a8080000b2003450d00200441002802a8bfd38000118080808000000b200241a0016a2480808080000bbf0a020c7f017e23808080800041a0016b2202248080808000200241cc006a200110ac8480800002400240024002400240024002400240200228024c2203418080808078460d00200241206a41086a200241cc006a41106a290200370300200241206a41106a200241cc006a41186a290200370300200241206a41186a200241cc006a41206a290200370300200241206a41206a200241cc006a41286a290200370300200241206a41286a200241fc006a2802003602002002200229025437032020022802502104200241cc006a2001109e87808000200228024c0d0120024180016a41086a200241d8006a2802003602002002200229025037038001200241186a200110c38380800020022802180d02200241cc006a2001200228021c10fe82808000200228024c2205418080808078460d022002280250210620022802542107200241cc006a200110878a808000200228024c0d0320022802582108200228025421092002280250210a200241106a200110c3838080000240024020022802100d00200241cc006a20012002280214108783808000200228024c418080808078460d0020024190016a41086a200241cc006a41086a2802003602002002200229024c3703900102402001280200220b280208280200220c280204220d450d00200c200d417f6a360204200c200c280200220d41016a360200200b427f200b29030042017c220e200e501b370300418080808078210c02400240200d2d00000e020100020b200241086a200110c38380800020022802080d01200228020c220c41c0004b0d01200241cc006a2001200c10fb82808000200228024c220c418080808078460d012002290250210e0b2000200229032037020820002002290380013702582000200229039001370240200041306a200241206a41286a280200360200200041286a200241206a41206a290300370200200041206a200241206a41186a290300370200200041186a200241206a41106a290300370200200041106a200241206a41086a290300370200200041e0006a20024180016a41086a280200360200200041c8006a20024190016a41086a2802003602002000200836026c200020093602682000200a3602642000200e3702502000200c36024c2000200736023c200020063602382000200536023420002004360204200020033602000c0a0b200041808080807836020020024190016a10d78b808000200228029001450d0120022802940141002802a8bfd38000118080808000000c010b20004180808080783602000b02400240200a0d0041002101410021080c010b200220093602682002200a36026420024100360260200220093602582002200a36025420024100360250410121010b2002200836026c2002200136025c2002200136024c200241cc006a10fd898080000c040b20004180808080783602000c060b20004180808080783602000c040b20004180808080783602000c020b20004180808080783602000b02402007450d002007410171210a41002100024020074101460d002007417e7121072006210141002100034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b0240200141106a280200450d00200141146a28020041002802a8bfd38000118080808000000b200141206a21012007200041026a2200470d000b0b200a450d00200620004104746a2201280200450d00200128020441002802a8bfd38000118080808000000b2005450d00200641002802a8bfd38000118080808000000b20024180016a10d98a8080000b2003450d00200441002802a8bfd38000118080808000000b200241a0016a2480808080000bc40a020e7f017e23808080800041f0006b2202248080808000200241c8006a200110e08b80800002400240024020022802482203418080808078460d00200228024c21040240200128020422054104490d002002280250210620012005417c6a220736020420012001280200220841046a220936020020074120490d002008280000210a20012005415c6a22073602042001200841246a360200200241c8006a41086a220b200941086a290000370300200241c8006a41106a220c200941106a290000370300200241c8006a41186a220d200941186a29000037030020022009290000370348200741034b0d020b2003450d00200441002802a8bfd38000118080808000000b20004180808080783602000c010b2001200541586a3602042001200841286a360200200241086a41086a200b290300370300200241086a41106a200c290300370300200241086a41186a200d2903003703002002200229034837030820082800242105200241c8006a200110a18780800002400240024002400240024020022802480d00200241306a200241d4006a2802003602002002200229024c370328200241c8006a200110dd8b80800020022802482208418080808078460d01200228024c210720022802502109200241c8006a200110fb8980800020022802480d022002280254210c2002280250210d200228024c210b200241c8006a200110e18b808000024002402002280248418080808078460d00200241386a41086a200241c8006a41086a2802003602002002200229024837033802402001280204220e450d002001200e417f6a36020420012001280200220e41016a360200418080808078210f02400240200e2d00000e020100020b200241c8006a200110e9878080002002280248220f418080808078460d01200229024c21100b200020022903083702102000200229032837025820002002290338370240200041286a200241086a41186a290300370200200041206a200241186a290300370200200041186a200241086a41086a290300370200200041e0006a200241286a41086a280200360200200041c8006a200241386a41086a2802003602002000200c36026c2000200d3602682000200b360264200020103702502000200f36024c2000200936023c2000200736023820002008360234200020053602302000200a36020c2000200636020820002004360204200020033602000c090b2000418080808078360200200241386a10d78b8080002002280238450d01200228023c41002802a8bfd38000118080808000000c010b20004180808080783602000b02400240200b0d00410021014100210c0c010b2002200d3602642002200b3602602002410036025c2002200d3602542002200b3602502002410036024c410121010b2002200c3602682002200136025820022001360248200241c8006a10fd898080000c030b20004180808080783602000c040b20004180808080783602000c020b20004180808080783602000b02402009450d002009410171210641002100024020094101460d002009417e7121052007210141002100034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b0240200141106a280200450d00200141146a28020041002802a8bfd38000118080808000000b200141206a21012005200041026a2200470d000b0b2006450d00200720004104746a2201280200450d00200128020441002802a8bfd38000118080808000000b2008450d00200741002802a8bfd38000118080808000000b200241286a10d98a8080000b2003450d00200441002802a8bfd38000118080808000000b200241f0006a2480808080000bf20b03057f017e077f23808080800041a0016b2202248080808000200241cc006a200110af848080000240024002400240200228024c2203418080808078460d00200241286a200241cc006a41106a290200370300200241206a41106a200241cc006a41186a290200370300200241206a41186a200241cc006a41206a290200370300200241206a41206a200241cc006a41286a290200370300200241206a41286a200241fc006a2802003602002002200229025437032020022802502104200241186a200110c583808000024020022802180d0002400240200228021c22050d00410021060c010b02402005410a4f0d00418c0121060c010b417f2005410a6ead42bc017e2207a72007422088a71b21060b2001417f2001280204220820066a220620062008491b2206360204200620012802084f0d00200241003a008f0120022005360254200241003602502002200136024c20022002418f016a36025820024190016a200241cc006a109d8780800020022d008f014101470d0220024190016a10d98a8080000b20004180808080783602000c020b20004180808080783602000c020b20024180016a41086a20024190016a41086a280200360200200220022902900137038001200241106a200110c583808000024002400240024020022802100d00200241cc006a2001200228021410f682808000200228024c2206418080808078460d002002280250210820022802542105200241cc006a200110838a808000200228024c0d01200228025821092002280254210a2002280250210b200241086a200110c5838080000240024020022802080d00200241cc006a2001200228020c10f582808000200228024c418080808078460d0020024190016a41086a200241cc006a41086a2802003602002002200229024c3703900102402001280200220c280208220d280204220e450d00200d200e417f6a360204200d200d280200220e41016a360200200c427f200c29030042017c22072007501b370300418080808078210d02400240200e2d00000e020100020b2002200110c58380800020022802000d012002280204220d41c0004b0d01200241cc006a2001200d10e082808000200228024c220d418080808078460d01200229025021070b2000200229032037020820002002290380013702582000200229039001370240200041306a200241206a41286a280200360200200041286a200241206a41206a290300370200200041206a200241206a41186a290300370200200041186a200241206a41106a290300370200200041106a200241206a41086a290300370200200041e0006a20024180016a41086a280200360200200041c8006a20024190016a41086a2802003602002000200936026c2000200a3602682000200b360264200020073702502000200d36024c2000200536023c200020083602382000200636023420002004360204200020033602000c080b200041808080807836020020024190016a10d78b808000200228029001450d0120022802940141002802a8bfd38000118080808000000c010b20004180808080783602000b02400240200b0d0041002101410021090c010b2002200a3602682002200b360264200241003602602002200a3602582002200b36025420024100360250410121010b2002200936026c2002200136025c2002200136024c200241cc006a10fd898080000c020b20004180808080783602000c020b20004180808080783602000b02402005450d002005410171210b41002100024020054101460d002005417e7121052008210141002100034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b0240200141106a280200450d00200141146a28020041002802a8bfd38000118080808000000b200141206a21012005200041026a2200470d000b0b200b450d00200820004104746a2201280200450d00200128020441002802a8bfd38000118080808000000b2006450d00200841002802a8bfd38000118080808000000b20024180016a10d98a8080000b2003450d00200441002802a8bfd38000118080808000000b200241a0016a2480808080000bf60a03057f017e067f23808080800041a0016b2202248080808000200241cc006a200110ae848080000240024002400240200228024c2203418080808078460d00200241286a200241cc006a41106a290200370300200241206a41106a200241cc006a41186a290200370300200241206a41186a200241cc006a41206a290200370300200241206a41206a200241cc006a41286a290200370300200241206a41286a200241fc006a2802003602002002200229025437032020022802502104200241186a200110c183808000024020022802180d0002400240200228021c22050d00410021060c010b02402005410a4f0d00418c0121060c010b417f2005410a6ead42bc017e2207a72007422088a71b21060b2001417f2001280204220820066a220620062008491b2206360204200620012802084f0d00200241003a008f0120022005360254200241003602502002200136024c20022002418f016a36025820024190016a200241cc006a10a08780800020022d008f014101470d0220024190016a10d98a8080000b20004180808080783602000c020b20004180808080783602000c020b20024180016a41086a20024190016a41086a280200360200200220022902900137038001200241106a200110c183808000024002400240024020022802100d00200241cc006a2001200228021410f282808000200228024c2206418080808078460d002002280250210820022802542105200241cc006a200110818a808000200228024c0d01200228025821092002280254210a2002280250210b200241086a200110c1838080000240024020022802080d00200241cc006a2001200228020c10ed82808000200228024c418080808078460d0020024190016a41086a220c200241cc006a41086a220d2802003602002002200229024c37039001200241cc006a200110d5898080000240200228024c418180808078460d002000200229024c37024c200041d4006a200d280200360200200041306a200241206a41286a280200360200200041286a200241206a41206a290300370200200041206a200241206a41186a290300370200200041186a200241206a41106a290300370200200041106a200241206a41086a290300370200200020022903203702082000200229038001370258200041e0006a20024180016a41086a2802003602002000200229039001370240200041c8006a200c2802003602002000200936026c2000200a3602682000200b3602642000200536023c200020083602382000200636023420002004360204200020033602000c080b200041808080807836020020024190016a10d78b808000200228029001450d0120022802940141002802a8bfd38000118080808000000c010b20004180808080783602000b02400240200b0d0041002101410021090c010b2002200a3602682002200b360264200241003602602002200a3602582002200b36025420024100360250410121010b2002200936026c2002200136025c2002200136024c200241cc006a10fd898080000c020b20004180808080783602000c020b20004180808080783602000b02402005450d002005410171210b41002100024020054101460d002005417e7121052008210141002100034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b0240200141106a280200450d00200141146a28020041002802a8bfd38000118080808000000b200141206a21012005200041026a2200470d000b0b200b450d00200820004104746a2201280200450d00200128020441002802a8bfd38000118080808000000b2006450d00200841002802a8bfd38000118080808000000b20024180016a10d98a8080000b2003450d00200441002802a8bfd38000118080808000000b200241a0016a2480808080000be30101037f23808080800041106b22022480808080002000200110b084808000200041d8006a200110a387808000200028023821032002200028023c22043602082002200241086a36020c2002410c6a200110d583808000200320042001109983808000200041e4006a2001108a8a808000200028024421032002200028024822043602082002200241086a36020c2002410c6a200110d58380800002402004450d00200441f0006c210403402003200110f083808000200341f0006a2103200441907f6a22040d000b0b200041cc006a200110d989808000200241106a2480808080000ba207010c7f23808080800041d0006b2202248080808000200241306a200110e08b80800002400240024020022802302203418080808078460d00200228023421040240200128020422054104490d002002280238210620012005417c6a220736020420012001280200220841046a220936020020074120490d002008280000210a20012005415c6a22073602042001200841246a360200200241306a41086a220b200941086a290000370300200241306a41106a220c200941106a290000370300200241306a41186a220d200941186a29000037030020022009290000370330200741034b0d020b2003450d00200441002802a8bfd38000118080808000000b20004180808080783602000c010b2001200541586a3602042001200841286a360200200241086a200b290300370300200241106a200c290300370300200241186a200d2903003703002002200229033037030020082800242105200241306a200110a1878080000240024020022802300d00200241286a2002413c6a28020036020020022002290234370320200241306a200110dd8b8080000240024020022802302209418080808078460d002002280234210720022802382108200241306a200110fb89808000024020022802300d002000200229023437024c200041d4006a2002413c6a280200360200200041286a200241186a290300370200200041206a200241106a290300370200200041186a200241086a2903003702002000200229030037021020002002290320370240200041c8006a200241206a41086a2802003602002000200836023c2000200736023820002009360234200020053602302000200a36020c2000200636020820002004360204200020033602000c050b200041808080807836020002402008450d002008410171210641002100024020084101460d002008417e7121052007210141002100034002402001280200450d00200141046a28020041002802a8bfd38000118080808000000b0240200141106a280200450d00200141146a28020041002802a8bfd38000118080808000000b200141206a21012005200041026a2200470d000b0b2006450d00200720004104746a2201280200450d00200128020441002802a8bfd38000118080808000000b2009450d01200741002802a8bfd38000118080808000000c010b20004180808080783602000b200241206a10d98a8080000c010b20004180808080783602000b2003450d00200441002802a8bfd38000118080808000000b200241d0006a2480808080000be503010a7f20002802102000280200200041146a2802002202200041046a280200220320022003491b10ed96808000210420004130412020002802302000280220200041346a2802002205200041246a280200220620052006491b10ed968080002207200520066b20071b41004822061b6a210520004120413020061b6a2106200620002004200220036b20041b2203417f73411b764110716a22022005200528020020002003411b764110716a2200280200200541046a2802002203200041046a280200220420032004491b10ed968080002207200320046b20071b41004822071b20062802002002280200200641046a2802002203200241046a280200220420032004491b10ed968080002208200320046b20081b41004822081b220328020020002005200220081b20071b2204280200200341046a2802002209200441046a280200220a2009200a491b10ed96808000210b200141086a2005200020071b220041086a29020037020020012000290200370200200120032004200b2009200a6b200b1b41004822001b2205290200370210200141186a200541086a290200370200200141286a2004200320001b220041086a2902003702002001200029020037022020012002200620081b2200290200370230200141386a200041086a2902003702000b8304010a7f200041106a280200200041046a280200200041146a2802002202200041086a280200220320022003491b10ed968080002104200041244118200041286a2802002000411c6a2802002000412c6a2802002205200041206a280200220620052006491b10ed968080002207200520066b20071b41004822061b6a210520004118412420061b6a2106200620002004200220036b20041b2203417f73411f76410c6c6a22022005200541046a28020020002003411f76410c6c6a220041046a280200200541086a2802002203200041086a280200220420032004491b10ed968080002207200320046b20071b41004822071b200641046a280200200241046a280200200641086a2802002203200241086a280200220420032004491b10ed968080002208200320046b20081b41004822081b220341046a28020020002005200220081b20071b220441046a280200200341086a2802002209200441086a280200220a2009200a491b10ed96808000210b200141086a2005200020071b220041086a28020036020020012000290200370200200120032004200b2009200a6b200b1b41004822001b220529020037020c200141146a200541086a280200360200200141206a2004200320001b220041086a2802003602002001200029020037021820012002200620081b22002902003702242001412c6a200041086a2802003602000bef08010a7f2000200028020c22032000280200220449410c6c6a2205200041244118200028022420002802184922061b6a22072000200320044f410c6c6a220320004118412420061b6a220428020020032802004922061b200728020020052802004922081b2209280200210a20042003200720081b20061b220b280200210c200241086a2007200520081b220741086a280200360200200220072902003702002002200b2009200c200a4922071b220529020037020c200241146a200541086a280200360200200241206a2009200b20071b220741086a280200360200200220072902003702182002412c6a2003200420061b220341086a280200360200200241246a22072003290200370200200041306a220341184124200028025420002802484922051b6a22042003200028023c2206200028023022084f410c6c6a220020034124411820051b6a2205200528020020032006200849410c6c6a22032802004922061b200428020020002802004922081b2209280200210a20032005200020081b20061b220b280200210c200241386a2005200320061b220541086a280200360200200241306a220320052902003702002002413c6a2009200b200a200c4922051b2206290200370200200241c4006a200641086a280200360200200241c8006a200b200920051b2205290200370200200241d0006a200541086a280200360200200241d4006a22052000200420081b2200290200370200200241dc006a200041086a28020036020020012003200220032802002204200228020022064922001b2208290200370200200141086a200841086a280200360200200120072005200528020022082007280200220949220b1b220a290200370254200141dc006a200a41086a280200360200200120032000410c6c6a22002002200420064f410c6c6a2202200028020022042002280200220649220a1b220329020037020c200141146a200341086a2802003602002001200741744100200b1b6a2207200541744100200820094f1b6a220320032802002205200728020022084922091b220b290200370248200141d0006a200b41086a28020036020020012000200a410c6c6a22002002200420064f410c6c6a2202200028020022042002280200220649220b1b220a290200370218200141206a200a41086a280200360200200120074174410020091b6a2207200341744100200520084f1b6a2203200328020022082007280200220949220a1b220529020037023c200141c4006a200541086a28020036020020012000200b410c6c6a22052002200420064f410c6c6a2202200528020022042002280200220649220b1b22002902003702242001412c6a200041086a2802003602002001200741744100200a1b6a2200200341744100200820094f1b6a2207200728020022092000280200220a4922031b2208290200370230200141386a200841086a280200360200024002402002200420064f410c6c6a20004174410020031b6a410c6a470d002005200b410c6c6a2007417441002009200a4f1b6a410c6a460d010b108581808000000b0bf408010a7f20002000280210220320002802002204494104746a2205200041304120200028023020002802204922061b6a22072000200320044f4104746a220320004120413020061b6a220428020020032802004922061b200728020020052802004922081b2209280200210a20042003200720081b20061b220b280200210c200241086a2007200520081b220741086a290200370200200220072902003702002002200b2009200c200a4922071b2205290200370210200241186a200541086a290200370200200241286a2009200b20071b220741086a29020037020020022007290200370220200241386a2003200420061b220341086a290200370200200241306a22072003290200370200200041c0006a220341204130200028027020002802604922051b6a2204200320002802502206200028024022084f4104746a220020034130412020051b6a22052005280200200320062008494104746a22032802004922061b200428020020002802004922081b2209280200210a20032005200020081b20061b220b280200210c200241c8006a2005200320061b220541086a290200370200200241c0006a22032005290200370200200241d0006a2009200b200a200c4922051b2206290200370200200241d8006a200641086a290200370200200241e0006a200b200920051b2205290200370200200241e8006a200541086a290200370200200241f0006a22052000200420081b2200290200370200200241f8006a200041086a29020037020020012003200220032802002204200228020022064922001b2208290200370200200141086a200841086a290200370200200120072005200528020022082007280200220949220b1b220a290200370270200141f8006a200a41086a2902003702002001200320004104746a22002002200420064f4104746a2202200028020022042002280200220649220a1b2203290200370210200141186a200341086a2902003702002001200741704100200b1b6a2207200541704100200820094f1b6a220320032802002205200728020022084922091b220b290200370260200141e8006a200b41086a29020037020020012000200a4104746a22002002200420064f4104746a2202200028020022042002280200220649220b1b220a290200370220200141286a200a41086a290200370200200120074170410020091b6a2207200341704100200520084f1b6a2203200328020022082007280200220949220a1b2205290200370250200141d8006a200541086a29020037020020012000200b4104746a22052002200420064f4104746a2202200528020022042002280200220649220b1b2200290200370230200141386a200041086a2902003702002001200741704100200a1b6a2200200341704100200820094f1b6a2207200728020022092000280200220a4922031b2208290200370240200141c8006a200841086a290200370200024002402002200420064f4104746a20004170410020031b6a41106a470d002005200b4104746a2007417041002009200a4f1b6a41106a460d010b108581808000000b0ba403010a7f20022001410c6c41746a22036a2104200020036a2105200020014101762206410c6c6a220341746a21070340200220002003200341046a280200200041046a280200200341086a2802002208200041086a280200220920082009491b10ed96808000220a200820096b200a1b220a417f4a220b1b2208290200370200200241086a200841086a280200360200200420052007200541046a280200200741046a280200200541086a2802002208200741086a280200220920082009491b10ed96808000220c200820096b200c1b2208417f4a1b2209290200370200200441086a200941086a2802003602002000200b410c6c6a21002003200a411f76410c6c6a210320072008411f752208410c6c6a210720052008417f73410c6c6a2105200441746a21042002410c6a21022006417f6a22060d000b2007410c6a210702402001410171450d00200220002003200020074922041b2208290200370200200241086a200841086a2802003602002003200020074f410c6c6a210320002004410c6c6a21000b024020002007470d0020032005410c6a470d000f0b108581808000000b9803010a7f2002200141047441706a22036a2104200020036a21052000200141017622064104746a220341706a2107034020022000200320032802002000280200200341046a2802002208200041046a280200220920082009491b10ed96808000220a200820096b200a1b220a417f4a220b1b2208290200370200200241086a200841086a29020037020020042005200720052802002007280200200541046a2802002208200741046a280200220920082009491b10ed96808000220c200820096b200c1b2208417f4a1b2209290200370200200441086a200941086a2902003702002000200b4104746a21002003200a411b764110716a210320072008411f7522084104746a210720052008417f734104746a2105200441706a2104200241106a21022006417f6a22060d000b200741106a210702402001410171450d00200220002003200020074922041b2208290200370200200241086a200841086a2902003702002003200020074f4104746a2103200020044104746a21000b024020002007470d002003200541106a470d000f0b108581808000000bfe0101077f23808080800041106b210402402002417f6a20014f0d00024020022001460d00200020014104746a21052000200241047422066a2107200441086a21080340024020072802002209200741706a2802004f0d0020082007410c6a280200360200200420072902043703002006210202400340200020026a2201200141706a220a290200370200200141086a200a41086a290200370200024020024110470d00200021020c020b200241706a21022009200141606a280200490d000b200020026a21020b20022009360200200220042903003702042002410c6a20082802003602000b200641106a2106200741106a22072005470d000b0b0f0b000ba70203057f017e017f02402002417f6a20014f0d00024020022001460d00200020014104746a21042000200241047422056a21060340024020062802002207200641706a280200200641046a2802002208200641746a280200220220082002491b10ed968080002201200820026b20011b417f4a0d00200629020821092005210102400340200020016a2202200241706a220a290200370200200241086a200a41086a290200370200024020014110470d00200021020c020b200141706a21012007200241606a2802002008200241646a280200220220082002491b10ed96808000220a200820026b200a1b4100480d000b200020016a21020b2002200937020820022008360204200220073602000b200541106a2105200641106a22062004470d000b0b0f0b000bc00102047f027e02402002417f6a20014f0d00024020022001460d00200020014103746a21042000200241037422056a21060340024020062d00002207200641786a2d00004f0d002007ad2108200635020421092005210202400340200020026a2201200141786a290200370200024020024108470d00200021020c020b200241786a21022007200141706a2d0000490d000b200020026a21020b200220094220862008843702000b200541086a2105200641086a22062004470d000b0b0f0b000bf10201097f23808080800041206b210402402002417f6a20014f0d00024020022001460d002000200141246c6a21052000200241246c22066a2107200441186a2108200441106a2109200441086a210a034002402007280200220b2007415c6a2802004f0d0020082007411c6a2902003703002009200741146a290200370300200a2007410c6a290200370300200420072902043703002006210c024003402000200c6a22022002415c6a2201290200370200200241206a200141206a280200360200200241186a200141186a290200370200200241106a200141106a290200370200200241086a200141086a2902003702000240200c4124470d00200021020c020b200c415c6a210c200b200241b87f6a280200490d000b2000200c6a21020b2002200b360200200220042903003702042002410c6a200a290300370200200241146a20092903003702002002411c6a20082903003702000b200641246a2106200741246a22072005470d000b0b0f0b000bac0201087f02402002417f6a20014f0d00024020022001460d0020002001410c6c6a210420002002410c6c22056a210603400240200641046a2802002207200641786a280200200641086a28020022082006417c6a280200220220082002491b10ed968080002201200820026b20011b417f4a0d00200628020021092005210102400340200020016a2202200241746a220a290200370200200241086a200a41086a28020036020002402001410c470d00200021010c020b200141746a210120072002416c6a2802002008200241706a280200220a2008200a491b10ed96808000220b2008200a6b200b1b4100480d000b200020016a21010b200120093602002002417c6a2008360200200241786a20073602000b2005410c6a21052006410c6a22062004470d000b0b0f0b000bc70201077f23808080800041206b220424808080800002402002417f6a20014f0d00024020022001460d002000200141146c6a21052000200241146c22066a21070340024020072007416c6a410810ed96808000417f4a0d00200441086a41106a2208200741106a280200360200200441086a41086a2209200741086a290200370300200420072902003703082006210102400340200020016a22022002416c6a220a290200370200200241106a200a41106a280200360200200241086a200a41086a290200370200024020014114470d00200021020c020b2001416c6a2101200441086a200241586a410810ed968080004100480d000b200020016a21020b20022004290308370200200241106a2008280200360200200241086a20092903003702000b200641146a2106200741146a22072005470d000b0b200441206a2480808080000f0b000bed0201087f23808080800041206b220424808080800002402002417f6a20014f0d00024020022001460d00200020014105746a21052000200241057422066a2107034002402007200741606a412010ed96808000417f4a0d00200441186a2208200741186a290000370300200441106a2209200741106a290000370300200441086a220a200741086a290000370300200420072900003703002006210102400340200020016a2202200241606a220b290000370000200241186a200b41186a290000370000200241106a200b41106a290000370000200241086a200b41086a290000370000024020014120470d00200021020c020b200141606a21012004200241406a412010ed968080004100480d000b200020016a21020b20022004290300370000200241186a2008290300370000200241106a2009290300370000200241086a200a2903003700000b200641206a2106200741206a22072005470d000b0b200441206a2480808080000f0b000bd00103047f017e017f02402002417f6a20014f0d00024020022001460d0020002001410c6c6a210420002002410c6c22056a21060340024020062802002207200641746a2802004f0d00200629020421082005210202400340200020026a2201200141746a2209290200370200200141086a200941086a28020036020002402002410c470d00200021020c020b200241746a21022007200141686a280200490d000b200020026a21020b20022008370204200220073602000b2005410c6a21052006410c6a22062004470d000b0b0f0b000bd00103047f017e017f02402002417f6a20014f0d00024020022001460d0020002001410c6c6a210420002002410c6c22056a21060340024020062802002207200641746a2802004f0d00200629020421082005210202400340200020026a2201200141746a2209290200370200200141086a200941086a28020036020002402002410c470d00200021020c020b200241746a21022007200141686a280200490d000b200020026a21020b20022008370204200220073602000b2005410c6a21052006410c6a22062004470d000b0b0f0b000bc60201087f23808080800041106b210402402002417f6a20014f0d00024020022001460d002000200141146c6a21052000200241146c22066a2107200441086a210803400240200728020022092007416c6a28020049200741106a280200220a2007417c6a280200220249200a2002461b4101470d0020082007410c6a280200360200200420072902043703002006210102400340200020016a22022002416c6a220b290200370200200241106a200b41106a280200360200200241086a200b41086a290200370200024020014114470d00200021020c020b2001416c6a21012009200241586a28020049200a200241686a280200220249200a2002461b0d000b200020016a21020b20022009360200200220042903003702042002200a3602102002410c6a20082802003602000b200641146a2106200741146a22072005470d000b0b0f0b000bf405030e7f017e027f23808080800041106b2205248080808000024020014102490d00024002400240200141106a20034b0d00200141017621062001410f4b0d01410421072002200641047422086a2103200020086a21080240200141074d0d002000200210888f8080002008200310888f8080000c030b20022000290200370200200241086a200041086a29020037020020032008290200370200200341086a200841086a290200370200410121070c020b000b2000200220014104746a220310888f808000200041c0006a200341c0006a10888f80800041082107200341082002108d8f8080002000200641047422086a220920034180016a220a10888f808000200941c0006a200341c0016a10888f808000200a4108200220086a108d8f8080000b2005410236020c20052006ad4220863703002007410474210b200120066b210c4102210a4100210303402005200341016a2208360208200341027421092008210302402007200c2006200520096a28020022081b220d4f0d002000200841047422036a210e4110210f200220036a221021112007211203402010201241047422086a2203200e20086a22082902002213370200200341086a200841086a29020037020002402013a72214200341706a280200200341046a2802002208200341746a280200220920082009491b10ed96808000220a200820096b200a1b417f4a0d002003290208211320112109200f210a024003402009200b6a2203200341706a2215290200370200200341086a201541086a2902003702000240200b200a470d00201021030c020b200941706a2109200a41106a210a2014200341606a2802002008200341646a280200220320082003491b10ed968080002215200820036b20151b4100480d000b2009200b6a21030b2003201337020820032008360204200320143602000b201141106a2111200f41706a210f201241016a2212200d470d000b20052802082103200528020c210a0b200a2003470d000b200220012000108d8f8080000b200541106a2480808080000bba0f010f7f23808080800041206b22052480808080000240024020014102490d0002400240200141106a20034b0d00410121062001410176210702400240200141074d0d00200041146a2000410810ed9680800021082000413c41282000413c6a200041286a410810ed9680800041004822091b6a210320004128413c20091b6a2109200920002008417f73411f7641146c6a220a2003200320002008411f7641146c6a2208410810ed96808000410048220b1b2009200a410810ed9680800041004822061b220c20082003200a20061b200b1b220d410810ed96808000210e200241106a20032008200b1b220341106a280200360200200241086a200341086a290200370200200220032902003702002002200c200d200e41004822081b22032902003702142002200d200c20081b22082902003702282002411c6a200341086a290200370200200241246a200341106a280200360200200241306a200841086a290200370200200241386a200841106a280200360200200241cc006a200a200920061b220341106a280200360200200241c4006a200341086a2902003702002002200329020037023c2000200741146c220f6a220341146a2003410810ed96808000210b2003413c41282003413c6a200341286a410810ed96808000410048220a1b6a210920034128413c200a1b6a210a200a2003200b417f73411f7641146c6a2208200920092003200b411f7641146c6a220b410810ed9680800041004822061b200a2008410810ed96808000410048220c1b220d200b20092008200c1b20061b220e410810ed9680800021102002200f6a220341106a2009200b20061b220941106a280200360200200341086a200941086a290200370200200320092902003702002003200d200e2010410048220b1b22092902003702142003200e200d200b1b220b2902003702282003411c6a200941086a290200370200200341246a200941106a280200360200200341306a200b41086a290200370200200341386a200b41106a280200360200200341cc006a2008200a200c1b220941106a280200360200200341c4006a200941086a2902003702002003200929020037023c410421060c010b20022000290200370200200241106a200041106a280200360200200241086a200041086a2902003702002002200741146c22096a2203200020096a2209290200370200200341086a200941086a290200370200200341106a200941106a2802003602000b200120076b210f200620074f0d01200641146c210b2006210803402002200841146c22096a2203200020096a2209290200370200200341106a200941106a220a280200360200200341086a200941086a220c290200370200024020032003416c6a410810ed96808000417f4a0d00200541086a41106a220d200a280200360200200541086a41086a220e200c29020037030020052009290200370308200b210902400340200220096a22032003416c6a220a290200370200200341106a200a41106a280200360200200341086a200a41086a290200370200024020094114470d00200221030c020b2009416c6a2109200541086a200341586a410810ed968080004100480d000b200220096a21030b20032005290308370200200341106a200d280200360200200341086a200e2903003702000b200b41146a210b200841016a22082007470d000c020b0b000b200741146c211102402006200f4f0d00200020116a2110200641146c210b4114210c200220116a220e210d0340200e200641146c22096a2203201020096a2209290200370200200341106a200941106a220a280200360200200341086a200941086a2208290200370200024020032003416c6a410810ed96808000417f4a0d00200541086a41106a2212200a280200360200200541086a41086a2213200829020037030020052009290200370308200c2108200d2109024003402009200b6a22032003416c6a220a290200370200200341106a200a41106a280200360200200341086a200a41086a2902003702000240200b2008470d00200e21030c020b200841146a21082009416c6a2109200541086a200341586a410810ed968080004100480d000b2009200b6a21030b20032005290308370200200341106a2012280200360200200341086a20132903003702000b200c416c6a210c200d41146a210d200641016a2206200f470d000b0b2000200141146c416c6a22096a2103200220096a2108200220116a2209416c6a210a034020002002200920092002410810ed968080002206417f4a220c1b220b290200370200200041106a200b41106a280200360200200041086a200b41086a29020037020020032008200a2008200a410810ed96808000220d417f4a1b220b290200370200200341106a200b41106a280200360200200341086a200b41086a2902003702002002200c41146c6a210220092006411f7641146c6a2109200a200d411f75220b41146c6a210a2008200b417f7341146c6a21082003416c6a2103200041146a21002007417f6a22070d000b200a41146a210302402001410171450d002000200220092002200349220b1b220a290200370200200041106a200a41106a280200360200200041086a200a41086a2902003702002009200220034f41146c6a21092002200b41146c6a21020b20022003470d012009200841146a470d010b200541206a2480808080000f0b108581808000000b860b020f7f017e23808080800041106b22052480808080000240024020014102490d00024002400240200141106a20034b0d00200141017621062001410f4b0d010240200141074d0d002002200041244118200028022420002802184922071b6a22032000200028020c22082000280200220949410c6c6a220a2003280200200a28020049220b1b220c290200370200200241086a200c41086a280200360200200220004118412420071b6a220c2000200820094f410c6c6a22072003200b1b200c28020020072802004922081b2209200a2003200720081b200b1b22032009280200200328020049220a1b220b29020037020c200241146a200b41086a280200360200200241206a20032009200a1b220341086a280200360200200220032902003702182002412c6a2007200c20081b220341086a2802003602002002200329020037022420002006410c6c220d6a2203411841242003280224200328021849220a1b6a220b2003200328020c220c200328020022084f410c6c6a2207200341244118200a1b6a220a200a2802002003200c200849410c6c6a220c2802004922081b200b28020020072802004922091b220e280200210f200c200a200720091b20081b221028020021112002200d6a220341086a200a200c20081b220a41086a2802003602002003200a2902003702002003200e2010200f201149220a1b220c29020037020c200341146a200c41086a280200360200200341206a2010200e200a1b220a41086a2802003602002003200a2902003702182003412c6a2007200b20091b220741086a28020036020020032007290200370224410421120c030b20022000290200370200200241086a200041086a28020036020020022006410c6c22036a2207200020036a2203290200370200200741086a200341086a280200360200410121120c020b000b2000200220022001410c6c6a2203108a8f80800020002006410c6c22076a200220076a200341e0006a108a8f808000410821120b2005410236020c20052006ad4220863703002012410c6c210b200120066b2113410021034102210c03402005200341016a22073602082003410274210a2007210302402012201320062005200a6a28020022071b220f4f0d0020002007410c6c22036a2111410c210e200220036a220d2110201221090340200d2009410c6c22076a2203201120076a22072902002214370200200341086a200741086a28020036020002402014a72208200341746a2802004f0d0020032902042114200e210a20102107024003402007200b6a2203200341746a220c290200370200200341086a200c41086a2802003602000240200b200a470d00200d21030c020b200a410c6a210a200741746a21072008200341686a280200490d000b2007200b6a21030b20032014370204200320083602000b200e41746a210e2010410c6a2110200941016a2209200f470d000b20052802082103200528020c210c0b200c2003470d000b20002001410c6c41746a22036a210b200220036a210a20022006410c6c6a220341746a210703402000200320022003280200220c200228020022084922091b220e290200370200200041086a200e41086a280200360200200b2007200a200a280200220e2007280200221049220d1b220f290200370200200b41086a200f41086a280200360200200b41746a210b2000410c6a2100200741744100200d1b6a2107200a41744100200e20104f1b6a210a2002200c20084f410c6c6a210220032009410c6c6a21032006417f6a22060d000b2007410c6a210702402001410171450d002000200220032002200749220b1b220c290200370200200041086a200c41086a2802003602002003200220074f410c6c6a21032002200b410c6c6a21020b20022007470d012003200a410c6a470d010b200541106a2480808080000f0b108581808000000ba907010e7f024020014102490d00024002400240200141106a20034b0d00200141017621052001410f4b0d0120022005410c6c22066a2103200020066a21060240200141074d0d002000200210898f8080002006200310898f808000410421070c030b20022000290200370200200241086a200041086a28020036020020032006290200370200200341086a200641086a280200360200410121070c020b000b200020022001410c6c6a220310898f808000200041306a200341306a10898f80800041082107200341082002108c8f80800020002005410c6c22066a2208200341e0006a220910898f808000200841306a20034190016a10898f80800020094108200220066a108c8f8080000b200120056b210a0240200720054f0d002007410c6c210b2007210c03402002200c410c6c22066a2203200020066a2206290200370200200341086a200641086a28020022083602000240200341046a280200220d200341786a28020020082003417c6a280200220620082006491b10ed968080002209200820066b20091b417f4a0d002003280200210e200b210602400340200220066a2203200341746a2209290200370200200341086a200941086a28020036020002402006410c470d00200221060c020b200641746a2106200d2003416c6a2802002008200341706a280200220920082009491b10ed96808000220f200820096b200f1b4100480d000b200220066a21060b2006200e3602002003417c6a2008360200200341786a200d3602000b200b410c6a210b200c41016a220c2005470d000b0b02402007200a4f0d0020002005410c6c22036a21102007410c6c210d200220036a22112105410c210e034020112007410c6c22066a2203201020066a2206290200370200200341086a200641086a28020022063602000240200341046a280200220b200341786a28020020062003417c6a280200220820062008491b10ed968080002209200620086b20091b417f4a0d002003280200211220052108200e2109024003402008200d6a2203200341746a220f290200370200200341086a200f41086a2802003602000240200d2009470d00201121080c020b200841746a21082009410c6a2109200b2003416c6a2802002006200341706a280200220f2006200f491b10ed96808000220c2006200f6b200c1b4100480d000b2008200d6a21080b200820123602002003417c6a2006360200200341786a200b3602000b2005410c6a2105200e41746a210e200741016a2207200a470d000b0b200220012000108c8f8080000b0bde0f02117f017e23808080800041206b220524808080800002400240024020014102490d00200141106a20034b0d02410121062001410176210702400240200141074d0d0020004128413c200028023c200028022849200041cc006a2802002203200041386a28020022084920032008461b22081b6a220920002000280214200028020049200041246a2802002203200041106a280200220a492003200a461b220a41017341146c6a22032000413c412820081b6a220820082802002000200a41146c6a220a28020049200841106a280200220b200a41106a280200220c49200b200c461b220d1b2009280200200328020049200941106a280200220b200341106a280200220c49200b200c461b220e1b220b41106a280200210f200a20082003200e1b200d1b220c41106a2802002110200b2802002111200c2802002112200241106a2008200a200d1b220841106a280200360200200241086a200841086a290200370200200220082902003702002002200b200c2011201249200f201049200f2010461b220a1b22082902003702142002200c200b200a1b220a2902003702282002411c6a200841086a290200370200200241246a200841106a280200360200200241306a200a41086a290200370200200241386a200a41106a280200360200200241cc006a20032009200e1b220341106a280200360200200241c4006a200341086a2902003702002002200329020037023c2000200741146c22126a22034128413c200328023c200328022849200341cc006a2802002208200341386a28020022094920082009461b22091b6a220a20032003280214200328020049200341246a2802002208200341106a280200220b492008200b461b220b41017341146c6a22082003413c412820091b6a220920092802002003200b41146c6a220b28020049200941106a2802002203200b41106a280200220c492003200c461b220e1b200a280200200828020049200a41106a2802002203200841106a280200220c492003200c461b220f1b220c41106a2802002110200b20092008200f1b200e1b220d41106a2802002111200c2802002113200d2802002114200220126a220341106a2009200b200e1b220941106a280200360200200341086a200941086a290200370200200320092902003702002003200c200d2013201449201020114920102011461b220b1b22092902003702142003200d200c200b1b220b2902003702282003411c6a200941086a290200370200200341246a200941106a280200360200200341306a200b41086a290200370200200341386a200b41106a280200360200200341cc006a2008200a200f1b220841106a280200360200200341c4006a200841086a2902003702002003200829020037023c410421060c010b20022000290200370200200241106a200041106a280200360200200241086a200041086a2902003702002002200741146c22086a2203200020086a2208290200370200200341086a200841086a290200370200200341106a200841106a2802003602000b2005410236020c20052007ad422086370300200641146c210c200120076b2115410021034102210a03402005200341016a220836020820034102742109200821030240200620152007200520096a28020022081b22124f0d002000200841146c22036a21134114210f200220036a221121102006210e03402011200e41146c22086a2203201320086a22082902002216370200200341106a200841106a280200220b360200200341086a200841086a29020037020002402016a7220d2003416c6a28020049200b2003417c6a280200220349200b2003461b4101470d00200541106a41086a22142008410c6a28020036020020052008290204370310200f210a20102108024003402008200c6a22032003416c6a2209290200370200200341106a200941106a280200360200200341086a200941086a2902003702000240200c200a470d00201121030c020b200a41146a210a2008416c6a2108200d200341586a28020049200b200341686a280200220349200b2003461b0d000b2008200c6a21030b2003200d360200200320052903103702042003200b3602102003410c6a20142802003602000b200f416c6a210f201041146a2110200e41016a220e2012470d000b20052802082103200528020c210a0b200a2003470d000b2000200141146c416c6a22036a210a200220036a21092002200741146c6a2203416c6a210803402000200320022003280200200228020049200341106a280200220b200241106a280200220c49200b200c461b220b1b220c290200370200200041086a200c41086a290200370200200041106a200c41106a280200360200200a41106a200820092009280200200828020049200941106a280200220c200841106a280200220d49200c200d461b220c1b220d41106a280200360200200a41086a200d41086a290200370200200a200d2902003702002003200b41146c6a210320084100200c6b41146c6a2108200c41146c20096a416c6a21092002200b41017341146c6a2102200a416c6a210a200041146a21002007417f6a22070d000b200841146a210802402001410171450d002000200220032002200849220b1b220a290200370200200041106a200a41106a280200360200200041086a200a41086a2902003702002003200220084f41146c6a21032002200b41146c6a21020b20022008470d012003200941146a470d010b200541206a2480808080000f0b108581808000000b000ba011030f7f017e037f23808080800041306b220524808080800002400240024020014102490d00200141106a20034b0d02410121062001410176210702400240200141074d0d002002200041ec0041c800200028026c20002802484922081b6a220920002000280224220a2000280200220b4941246c6a220c2009280200200c28020049220d1b2203290200370200200241086a200341086a290200370200200241106a200341106a290200370200200241186a200341186a290200370200200241206a200341206a2802003602002002200041c80041ec0020081b6a220e2000200a200b4f41246c6a22082009200d1b200e280200200828020049220a1b220b200c20092008200a1b200d1b2209200b280200200928020049220c1b220329020037022420022009200b200c1b2209290200370248200241c4006a200341206a2802003602002002413c6a200341186a290200370200200241346a200341106a2902003702002002412c6a200341086a290200370200200241d0006a200941086a290200370200200241d8006a200941106a290200370200200241e0006a200941186a290200370200200241e8006a200941206a2802003602002002418c016a2008200e200a1b220341206a28020036020020024184016a200341186a290200370200200241fc006a200341106a290200370200200241f4006a200341086a2902003702002002200329020037026c2000200741246c220f6a2203200328022422082003280200220d4941246c6a220c200341ec0041c800200328026c200328024849220e1b6a220920032008200d4f41246c6a2208200341c80041ec00200e1b6a220d280200200828020049220e1b2009280200200c28020049220a1b220b2802002110200d20082009200a1b200e1b221128020021122002200f6a220341206a2009200c200a1b220941206a280200360200200341186a200941186a290200370200200341106a200941106a290200370200200341086a200941086a2902003702002003200929020037020020032011200b2012201049220c1b2209290200370224200341c4006a200941206a2802003602002003413c6a200941186a290200370200200341346a200941106a2902003702002003412c6a200941086a290200370200200341e8006a200b2011200c1b220941206a280200360200200341e0006a200941186a290200370200200341d8006a200941106a290200370200200341d0006a200941086a290200370200200320092902003702482003418c016a2008200d200e1b220941206a28020036020020034184016a200941186a290200370200200341fc006a200941106a290200370200200341f4006a200941086a2902003702002003200929020037026c410421060c010b20022000290200370200200241206a200041206a280200360200200241186a200041186a290200370200200241106a200041106a290200370200200241086a200041086a2902003702002002200741246c22096a2203200020096a2209290200370200200341086a200941086a290200370200200341106a200941106a290200370200200341186a200941186a290200370200200341206a200941206a2802003602000b2005410236020c20052007ad422086370300200641246c210d200120076b2113410021034102210c03402005200341016a220936020820034102742108200921030240200620132007200520086a28020022091b22104f0d002000200941246c22036a21124124210b200220036a220f21112006210a0340200f200a41246c22036a2209201220036a22032902002214370200200941206a200341206a280200360200200941186a200341186a290200370200200941106a200341106a290200370200200941086a200341086a29020037020002402014a7220e2009415c6a2802004f0d00200541106a41186a22152003411c6a290200370300200541106a41106a2216200341146a290200370300200541106a41086a22172003410c6a29020037030020052003290204370310200b210c20112108024003402008200d6a22032003415c6a2209290200370200200341206a200941206a280200360200200341186a200941186a290200370200200341106a200941106a290200370200200341086a200941086a2902003702000240200d200c470d00200f21030c020b200c41246a210c2008415c6a2108200e200341b87f6a280200490d000b2008200d6a21030b2003200e360200200320052903103702042003410c6a2017290300370200200341146a20162903003702002003411c6a20152903003702000b200b415c6a210b201141246a2111200a41016a220a2010470d000b20052802082103200528020c210c0b200c2003470d000b2000200141246c415c6a22096a2103200220096a210d2002200741246c6a2208415c6a210c03402000200820022008280200220e2002280200220a49220b1b2209290200370200200041086a200941086a290200370200200041106a200941106a290200370200200041186a200941186a290200370200200041206a200941206a280200360200200341206a200c200d200d2802002211200c280200220f4922101b220941206a280200360200200341186a200941186a290200370200200341106a200941106a290200370200200341086a200941086a290200370200200320092902003702002003415c6a2103200041246a2100200c415c410020101b6a210c200d415c41002011200f4f1b6a210d2002200e200a4f41246c6a21022008200b41246c6a21082007417f6a22070d000b200c41246a210302402001410171450d002000200220082002200349220c1b2209290200370200200041206a200941206a280200360200200041186a200941186a290200370200200041106a200941106a290200370200200041086a200941086a2902003702002008200220034f41246c6a21082002200c41246c6a21020b20022003470d012008200d41246a470d010b200541306a2480808080000f0b108581808000000b000b881201117f23808080800041206b22052480808080000240024020014102490d0002400240200141106a20034b0d00410121062001410176210702400240200141074d0d00200041206a2000412010ed968080002108200041e00041c000200041e0006a200041c0006a412010ed9680800041004822091b6a2103200041c00041e00020091b6a2109200920002008417f73411a764120716a220a2003200320002008411a764120716a2208412010ed96808000410048220b1b2009200a412010ed9680800041004822061b220c20082003200a20061b200b1b220d412010ed96808000210e200241186a20032008200b1b220341186a290000370000200241106a200341106a290000370000200241086a200341086a290000370000200220032900003700002002200c200d200e41004822081b22032900003700202002200d200c20081b2208290000370040200241286a200341086a290000370000200241306a200341106a290000370000200241386a200341186a290000370000200241c8006a200841086a290000370000200241d0006a200841106a290000370000200241d8006a200841186a290000370000200241f8006a200a200920061b220341186a290000370000200241f0006a200341106a290000370000200241e8006a200341086a2900003700002002200329000037006020002007410574220f6a220341206a2003412010ed96808000210b200341e00041c000200341e0006a200341c0006a412010ed96808000410048220a1b6a2109200341c00041e000200a1b6a210a200a2003200b417f73411a764120716a2208200920092003200b411a764120716a220b412010ed9680800041004822061b200a2008412010ed96808000410048220c1b220d200b20092008200c1b20061b220e412010ed9680800021102002200f6a220341186a2009200b20061b220941186a290000370000200341106a200941106a290000370000200341086a200941086a290000370000200320092900003700002003200d200e2010410048220b1b22092900003700202003200e200d200b1b220b290000370040200341286a200941086a290000370000200341306a200941106a290000370000200341386a200941186a290000370000200341c8006a200b41086a290000370000200341d0006a200b41106a290000370000200341d8006a200b41186a290000370000200341f8006a2008200a200c1b220941186a290000370000200341f0006a200941106a290000370000200341e8006a200941086a29000037000020032009290000370060410421060c010b20022000290000370000200241186a200041186a290000370000200241106a200041106a290000370000200241086a200041086a2900003700002002200741057422096a2203200020096a2209290000370000200341086a200941086a290000370000200341106a200941106a290000370000200341186a200941186a2900003700000b200120076b2110200620074f0d012006410574210b2006210803402002200841057422096a2203200020096a2209290000370000200341186a200941186a220a290000370000200341106a200941106a220c290000370000200341086a200941086a220d29000037000002402003200341606a412010ed96808000417f4a0d00200541186a220e200a290000370300200541106a220f200c290000370300200541086a220c200d29000037030020052009290000370300200b210902400340200220096a2203200341606a220a290000370000200341186a200a41186a290000370000200341106a200a41106a290000370000200341086a200a41086a290000370000024020094120470d00200221030c020b200941606a21092005200341406a412010ed968080004100480d000b200220096a21030b20032005290300370000200341186a200e290300370000200341106a200f290300370000200341086a200c2903003700000b200b41206a210b200841016a22082007470d000c020b0b000b200741057421110240200620104f0d00200020116a21122006410574210b4120210c200220116a220f210d0340200f200641057422096a2203201220096a2209290000370000200341186a200941186a220a290000370000200341106a200941106a2208290000370000200341086a200941086a220e29000037000002402003200341606a412010ed96808000417f4a0d00200541186a2213200a290000370300200541106a22142008290000370300200541086a2215200e29000037030020052009290000370300200c2108200d210a02400340200a200b6a2203200341606a2209290000370000200341186a200941186a290000370000200341106a200941106a290000370000200341086a200941086a2900003700000240200b2008470d00200f21030c020b200841206a2108200a41606a210a2005200341406a412010ed968080004100480d000b200a200b6a21030b20032005290300370000200341186a2013290300370000200341106a2014290300370000200341086a20152903003700000b200c41606a210c200d41206a210d200641016a22062010470d000b0b2000200141057441606a22096a2103200220096a2108200220116a220941606a210a034020002002200920092002412010ed968080002206417f4a220c1b220b290000370000200041186a200b41186a290000370000200041106a200b41106a290000370000200041086a200b41086a29000037000020032008200a2008200a412010ed96808000220d417f4a1b220b290000370000200341186a200b41186a290000370000200341106a200b41106a290000370000200341086a200b41086a2900003700002002200c4105746a210220092006411a764120716a2109200a200d411f75220b4105746a210a2008200b417f734105746a2108200341606a2103200041206a21002007417f6a22070d000b200a41206a210302402001410171450d002000200220092002200349220b1b220a290000370000200041186a200a41186a290000370000200041106a200a41106a290000370000200041086a200a41086a2900003700002009200220034f4105746a21092002200b4105746a21020b20022003470d012009200841206a470d010b200541206a2480808080000f0b108581808000000bb00b030f7f017e017f23808080800041206b22052480808080000240024020014102490d00024002400240200141106a20034b0d00200141017621062001410f4b0d010240200141074d0d00410421072002200041304120200028023020002802204922081b6a22032000200028021022092000280200220a494104746a220b2003280200200b28020049220c1b220d290200370200200241086a200d41086a290200370200200220004120413020081b6a220d20002009200a4f4104746a22082003200c1b200d28020020082802004922091b220a200b2003200820091b200c1b2203200a280200200328020049220b1b220c290200370210200241186a200c41086a290200370200200241286a2003200a200b1b220341086a29020037020020022003290200370220200241386a2008200d20091b220341086a2902003702002002200329020037023020002006410474220e6a2203412041302003280230200328022049220b1b6a220c20032003280210220d200328020022094f4104746a2208200341304120200b1b6a220b200b2802002003200d2009494104746a220d2802004922091b200c280200200828020049220a1b220f2802002110200d200b2008200a1b20091b221128020021122002200e6a220341086a200b200d20091b220b41086a2902003702002003200b2902003702002003200f20112010201249220b1b220d290200370210200341186a200d41086a290200370200200341286a2011200f200b1b220b41086a2902003702002003200b290200370220200341386a2008200c200a1b220841086a290200370200200320082902003702300c030b20022000290200370200200241086a200041086a2902003702002002200641047422036a2208200020036a2203290200370200200841086a200341086a290200370200410121070c020b000b20002002200220014104746a2203108b8f8080002000200641047422086a200220086a20034180016a108b8f808000410821070b2005410236020c20052006ad4220863703002007410474210c200120066b2113410021034102210d03402005200341016a22083602082003410274210b2008210302402007201320062005200b6a28020022081b22104f0d002000200841047422036a21124110210f200220036a220e21112007210a0340200e200a41047422086a2203201220086a22082902002214370200200341086a200841086a29020037020002402014a72209200341706a2802004f0d00200541106a41086a22152008410c6a28020036020020052008290204370310200f210b20112108024003402008200c6a2203200341706a220d290200370200200341086a200d41086a2902003702000240200c200b470d00200e21030c020b200b41106a210b200841706a21082009200341606a280200490d000b2008200c6a21030b20032009360200200320052903103702042003410c6a20152802003602000b200f41706a210f201141106a2111200a41016a220a2010470d000b20052802082103200528020c210d0b200d2003470d000b2000200141047441706a22036a210c200220036a210b200220064104746a220341706a210803402000200320022003280200220d2002280200220949220a1b220f290200370200200041086a200f41086a290200370200200c2008200b200b280200220f2008280200221149220e1b2210290200370200200c41086a201041086a290200370200200c41706a210c200041106a2100200841704100200e1b6a2108200b41704100200f20114f1b6a210b2002200d20094f4104746a21022003200a4104746a21032006417f6a22060d000b200841106a210802402001410171450d002000200220032002200849220c1b220d290200370200200041086a200d41086a2902003702002003200220084f4104746a21032002200c4104746a21020b20022008470d012003200b41106a470d010b200541206a2480808080000f0b108581808000000b9a0201027f23808080800041106b22022480808080000240024020002802000d00200128021c41e4a3c680004110200128022028020c1181808080000021010c010b20022000360204200128021c4184a4c680004108200128022028020c118180808000002100200241003a000d200220003a000c20022001360208200241086a418ca4c680004106200241046a41f4a3c68000109d818080001a20022d000d220020022d000c220372210120004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710bfa0201067f23808080800041306b2201248080808000024002402000280200220241054b0d002002450d01200041086a21000340410021034100210402402000417c6a2802002205450d002001200536022420014100360220200120053602142001410036021020012000280200220336022820012003360218200041046a2802002104410121030b2001200436022c2001200336021c2001200336020c2000410c6a21002001410c6a10918b8080002002417f6a22020d000c020b0b20002802042106024020002802082202450d002006210003404100210341002104024020002802002205450d00200120053602242001410036022020012005360214200141003602102001200041046a280200220336022820012003360218200041086a2802002104410121030b2001200436022c2001200336021c2001200336020c2000410c6a21002001410c6a10918b8080002002417f6a22020d000b0b200641002802a8bfd38000118080808000000b200141306a2480808080000b920601047f024002400240024002402000280200220141054b0d002001450d0441102102200041046a2203280200417e6a2204410220044102491b0e020103020b20002802042103024020002802082201450d00200321000340411021020240024002402000280200417e6a2204410220044102491b0e020002010b410421020b200020026a2202280200450d00200241046a28020041002802a8bfd38000118080808000000b0240200041206a280200450d00200041246a28020041002802a8bfd38000118080808000000b2000412c6a21002001417f6a22010d000b0b200341002802a8bfd38000118080808000000f0b410421020b200320026a2202280200450d00200228020441002802a8bfd38000118080808000000b02402000280224450d00200028022841002802a8bfd38000118080808000000b20014101460d00411021020240024002402000280230417e6a2204410220044102491b0e020002010b410421020b200041306a20026a2202280200450d00200228020441002802a8bfd38000118080808000000b02402000280250450d00200028025441002802a8bfd38000118080808000000b20014102460d0041102102024002400240200028025c417e6a2204410220044102491b0e020002010b410421020b200041dc006a20026a2202280200450d00200228020441002802a8bfd38000118080808000000b0240200028027c450d0020002802800141002802a8bfd38000118080808000000b20014103460d0041102102024002400240200028028801417e6a2204410220044102491b0e020002010b410421020b20004188016a20026a2202280200450d00200228020441002802a8bfd38000118080808000000b024020002802a801450d0020002802ac0141002802a8bfd38000118080808000000b20014104460d004110210102400240024020002802b401417e6a2202410220024102491b0e020002010b410421010b200041b4016a20016a2201280200450d00200128020441002802a8bfd38000118080808000000b20002802d401450d0020002802d80141002802a8bfd38000118080808000000b0b8f0101027f23808080800041106b2204248080808000200441046a200120012f010010d88e8080000240200428020c22012004280204470d00200441046a41cca5c6800010f9908080000b200428020820014103746a22052003360204200520023a00002000418080c400360208200041146a200141016a3602002000200429020437020c200441106a2480808080000b2c01017f2000200128020420012802282203200341284b22031b36020420002001280200200120031b3602000bbb0402087f017e23808080800041106b2201248080808000024002400240024002400240200028020820002802002202200241054b1b2203417f460d00417f20036776410020031b220441016a2203450d002000200241054b22054103746a280200220620034b0d01200041046a2107200028020421082002410520051b2105024020044105490d0020022003460d060240024002402003ad420c7e2209422088a70d002009a7220441fcffffff074b0d0020024106490d012005ad420c7e2209422088a70d002009a7220541fcffffff074b0d00200441002802b0bfd38000118280808000002202450d02200220082004200520042005491b10e9968080001a200841002802a8bfd38000118080808000000c080b41a8a6c68000411141bca6c6800010f480808000000b41002d00b8bfd380001a200441002802b0bfd380001182808080000022020d050b4104200410b980808000000b200241064f0d020c050b41a8a6c68000411141cca6c68000108b81808000000b41dca6c68000412041fca6c6800010f480808000000b200720082006410c6c10e9968080001a200020063602002005ad420c7e2209a7210002402009422088a70d00200041fdffffff074f0d00200841002802a8bfd38000118080808000000c030b2001200036020c2001410036020841eca5c68000412b200141086a41dca5c680004198a6c6800010a481808000000b200220072006410c6c10e9968080001a0b2000200636020820002002360204200020033602000b200141106a2480808080000bbb0402087f017e23808080800041106b2201248080808000024002400240024002400240200028020820002802002202200241054b1b2203417f460d00417f20036776410020031b220441016a2203450d002000200241054b22054103746a280200220620034b0d01200041046a2107200028020421082002410520051b2105024020044105490d0020022003460d060240024002402003ad422c7e2209422088a70d002009a7220441fcffffff074b0d0020024106490d012005ad422c7e2209422088a70d002009a7220541fcffffff074b0d00200441002802b0bfd38000118280808000002202450d02200220082004200520042005491b10e9968080001a200841002802a8bfd38000118080808000000c080b41a8a6c68000411141bca6c6800010f480808000000b41002d00b8bfd380001a200441002802b0bfd380001182808080000022020d050b4104200410b980808000000b200241064f0d020c050b41a8a6c68000411141cca6c68000108b81808000000b41dca6c68000412041fca6c6800010f480808000000b200720082006412c6c10e9968080001a200020063602002005ad422c7e2209a7210002402009422088a70d00200041fdffffff074f0d00200841002802a8bfd38000118080808000000c030b2001200036020c2001410036020841eca5c68000412b200141086a41dca5c680004198a6c6800010a481808000000b200220072006412c6c10e9968080001a0b2000200636020820002002360204200020033602000b200141106a2480808080000b840602087e0a7f200020013502102202421a8820013502147c220342198820013502187c2204421a88200135021c7c220542198820013502207c2206421a8820013502247c220742198842137e2001350200220842ffffff1f837c2209a741ffffff1f71220a41136a411a762009421a882008421a8820013502047c220842ffffff0f837ca7220b6a411976200842198820013502087c2208a741ffffff1f71220c6a411a762008421a88200135020c7c2208a741ffffff0f71220d6a4119762008421988200242ffffff1f837c2202a741ffffff1f71220e6a411a762002421a88200342ffffff0f837ca7220f6a4119762004a741ffffff1f7122106a411a762005a741ffffff0f7122116a4119762006a741ffffff1f7122126a411a762007a741ffffff0f7122136a41197641136c200a6a22013a0000200020014110763a0002200020014108763a000120002001411a76200b6a220a410e763a00052000200a4106763a00042000200a4102742001411876410371723a00032000200a411976200c6a2201410d763a0008200020014105763a000720002001410374200a418080800e71411676723a000620002001411a76200d6a220a410b763a000b2000200a4103763a000a2000200a4105742001411576411f71723a00092000200a411976200e6a22014112763a000f20002001410a763a000e200020014102763a000d20002001411a76200f6a220b3a001020002001410674200a411376413f71723a000c2000200b4110763a00122000200b4108763a00112000200b41197620106a2201410f763a0015200020014107763a001420002001410174200b411876410171723a001320002001411a7620116a220a410d763a00182000200a4105763a00172000200a4103742001411776410771723a00162000200a41197620126a2201410c763a001b200020014104763a001a20002001410474200a411576410f71723a001920002001411a7620136a220a410a763a001e2000200a4102763a001d2000200a418080f00f714112763a001f2000200a4106742001411476413f71723a001c0be72304017f067e0f7f027e2380808080004190086b2203248080808000200341c0076a200210a98f808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602b007200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602a007200320032903f8072006421a887c2206a741ffffff0f713602b407200320032903d8072009421a887c2209a741ffffff0f713602a407200320064219882003290380087c2206a741ffffff1f713602b80720032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02ac0720032004a741ffffff1f713602a80720032006421a882003290388087c2204a741ffffff0f713602bc072003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e029c0720032004a741ffffff1f7136029807200320034198076a200210aa8f808000200341c0076a200310a98f808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602b007200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602a007200320032903f8072006421a887c2206a741ffffff0f713602b407200320032903d8072009421a887c2209a741ffffff0f713602a407200320064219882003290380087c2206a741ffffff1f713602b80720032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02ac0720032004a741ffffff1f713602a80720032006421a882003290388087c2204a741ffffff0f713602bc072003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e029c0720032004a741ffffff1f7136029807200341286a20034198076a200210aa8f808000200341f8006a2001200310aa8f808000200341a0016a2001200341286a10aa8f808000200341c0076a200341a0016a10a98f808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602e001200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602d001200320032903f8072006421a887c2206a741ffffff0f713602e401200320032903d8072009421a887c2209a741ffffff0f713602d401200320064219882003290380087c2206a741ffffff1f713602e80120032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02dc0120032004a741ffffff1f713602d80120032006421a882003290388087c2204a741ffffff0f713602ec012003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e02cc0120032004a741ffffff1f713602c801200341c0076a200341c8016a10a98f808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602b007200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602a007200320032903f8072006421a887c2206a741ffffff0f713602b407200320032903d8072009421a887c2209a741ffffff0f713602a407200320064219882003290380087c2206a741ffffff1f713602b80720032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02ac0720032004a741ffffff1f713602a80720032006421a882003290388087c2204a741ffffff0f713602bc072003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e029c0720032004a741ffffff1f7136029807200341c0076a20034198076a10a98f808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f7136028802200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602f801200320032903f8072006421a887c2206a741ffffff0f7136028c02200320032903d8072009421a887c2209a741ffffff0f713602fc01200320064219882003290380087c2206a741ffffff1f713602900220032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02840220032004a741ffffff1f713602800220032006421a882003290388087c2204a741ffffff0f71360294022003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e02f40120032004a741ffffff1f713602f00120034198026a200341a0016a200341f0016a10aa8f808000200341c0026a200341c8016a20034198026a10aa8f808000200341c0076a200341c0026a10a98f808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f7136028003200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602f002200320032903f8072006421a887c2206a741ffffff0f7136028403200320032903d8072009421a887c2209a741ffffff0f713602f402200320064219882003290380087c2206a741ffffff1f713602880320032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02fc0220032004a741ffffff1f713602f80220032006421a882003290388087c2204a741ffffff0f7136028c032003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e02ec0220032004a741ffffff1f713602e80220034190036a20034198026a200341e8026a10aa8f808000200341b8036a20034190036a410510ab8f808000200341e0036a200341b8036a20034190036a10aa8f80800020034188046a200341e0036a410a10ab8f808000200341b0046a20034188046a200341e0036a10aa8f808000200341d8046a200341b0046a411410ab8f80800020034180056a200341d8046a200341b0046a10aa8f808000200341a8056a20034180056a410a10ab8f808000200341d0056a200341a8056a200341e0036a10aa8f808000200341f8056a200341d0056a413210ab8f808000200341a0066a200341f8056a200341d0056a10aa8f808000200341c8066a200341a0066a41e40010ab8f808000200341f0066a200341c8066a200341a0066a10aa8f80800020034198076a200341f0066a413210ab8f808000200341c0076a20034198076a200341d0056a10aa8f80800020034198076a41206a200341c0076a41206a29020037030020034198076a41186a200341c0076a41186a29020037030020034198076a41106a200341c0076a41106a29020037030020034198076a41086a200341c0076a41086a290200370300200320032902c00737039807200341c0076a20034198076a410210ab8f808000200341f0066a200341a0016a200341c0076a10aa8f808000200341d0006a200341f8006a200341f0066a10aa8f808000200341c0076a200341d0006a10a98f808000200320032903f00720032903e80720032903e0072204421a887c22054219887c2206a741ffffff1f713602b007200320032903d00720032903c80720032903c0072207421a887c22084219887c2209a741ffffff1f713602a007200320032903f8072006421a887c2206a741ffffff0f713602b407200320032903d8072009421a887c2209a741ffffff0f713602a407200320064219882003290380087c2206a741ffffff1f713602b80720032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e02ac0720032004a741ffffff1f713602a80720032006421a882003290388087c2204a741ffffff0f713602bc072003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e029c0720032004a741ffffff1f7136029807200341f0066a200220034198076a10aa8f80800020034198076a200341f0066a10a78f808000200341c0076a200110a78f808000410021024101210a034020034198076a20026a2d0000200341c0076a20026a2d00004610c796808000200a71210a200241016a22024120470d000b200a10c796808000210b200341f0ffffff0320012802106bad2204421a8841f0ffffff0120012802146bad7c220542198841f0ffffff0320012802186bad7c2206a741ffffff1f71220c3602d807200341d0fdffff0320012802006bad2207421a8841f0ffffff0120012802046bad7c220842198841f0ffffff0320012802086bad7c2209a741ffffff1f71220d3602c80720032006421a8841f0ffffff01200128021c6bad7c2206a741ffffff0f71220e3602dc0720032009421a8841f0ffffff01200128020c6bad7c2209a741ffffff0f71220f3602cc072003200642198841f0ffffff0320012802206bad7c2206a741ffffff1f7122103602e00720032009421988200442ffffff1f837c2204a741ffffff1f7122113602d00720032004421a88200542ffffff0f837ca722123602d40720032006421a8841f0ffffff0120012802246bad7c2204a741ffffff0f7122013602e4072003200442198842137e200742ffffff1f837c2204a741ffffff1f7122133602c00720032004421a88200842ffffff0f837ca722143602c407200341c8066a200341f0066a10a78f80800020034198076a200341c0076a10a78f808000410021024101210a0340200341c8066a20026a2d000020034198076a20026a2d00004610c796808000200a71210a200241016a22024120470d000b200a10c7968080002115200320013602e407200320103602e0072003200e3602dc072003200c3602d807200320123602d407200320113602d0072003200f3602cc072003200d3602c807200320143602c407200320133602c00720034198076a200341c0076a41b4a7c6800010aa8f808000200341a0066a200341f0066a10a78f808000200341c8066a20034198076a10a78f808000410021024101210a0340200341a0066a20026a2d0000200341c8066a20026a2d00004610c796808000200a71210a200241016a22024120470d000b200a10c7968080002102200341c0076a41b4a7c68000200341d0006a10aa8f808000200220157210c7968080002102200341d8006a220a20032802c807200a2802002201734100200241ff01716b2202712001732201360200200341e0006a220c20032802d007200c280200220d73200271200d73220d360200200341e8006a220e20032802d807200e280200220f73200271200f73220f360200200320032802cc07200328025c221073200271201073221036025c200320032802c40720032802542211732002712011732211360254200320032802c00720032802502212732002712012732212360250200320032802d40720032802642213732002712013732213360264200320032802dc07200328026c221473200271201473221436026c200341f0006a221620032802e00720162802002217732002712017732217360200200320032802e4072003280274221873200271201873221836027420034198076a200341d0006a10a78f808000201641f0ffffff03200d6bad2204421a8841f0ffffff0120136bad7c220542198841f0ffffff03200f6bad7c2206421a8841f0ffffff0120146bad7c220742198841f0ffffff0320176bad7c2208a741ffffff1f71201773410020032d00980741017110c79680800041ff01716b220271201773360200200e2006a741ffffff1f71200f73200271200f73360200200c200442ffffff1f8341d0fdffff0320126bad2204421a8841f0ffffff0120116bad7c220642198841f0ffffff0320016bad7c2209421a8841f0ffffff0120106bad7c22194219887c221aa741ffffff1f71200d73200271200d73360200200a2009a741ffffff1f7120017320027120017336020020032008421a8841f0ffffff0120186bad7c2208a741ffffff0f7120187320027120187336027420032007a741ffffff0f7120147320027120147336026c20032013200542ffffff0f83201a421a887ca77320027120137336026420032019a741ffffff0f7120107320027120107336025c2003200842198842137e200442ffffff1f837c2204a741ffffff1f71201273200271201273360250200320112004421a88200642ffffff0f837ca77320027120117336025420002015200b7210c7968080003a0000200020032902503702042000410c6a200a290200370200200041146a200c2902003702002000411c6a200e290200370200200041246a201629020037020020034190086a2480808080000bcd0412017f017e017f017e017f017e017f017e017f017e017f017e017f017e017f017e017f0c7e2000200128020c2202ad220320012802002204410174ad22057e20012802042206410174ad220720012802082208ad22097e7c2001280220220a41136cad220b2001280214220c410174ad220d7e7c2001280224220e41136cad220f20012802102210ad22117e200128021c221241136cad221320012802182201ad22147e7c4201867c3703182000200141136cad2215200d7e20052006ad22167e7c200b2002410174ad22177e7c200f20097e201320117e7c4201867c3703082000201420177e2010410174ad2218200cad22197e7c2012ad221a2008410174ad221b7e7c200aad221c20077e7c200ead221d20057e7c37034820002019201b7e201720117e7c201420077e7c201a20057e7c201c200f7e4201867c3703382000201120077e201b20037e7c201920057e7c200b2012410174ad221e7e7c2014200f7e4201867c3703282000201720077e200920097e7c201120057e7c200b2001410174ad7e7c200f200d7e2013201a7e7c4201867c3703202000200920057e200720167e7c201520147e7c200b20187e7c200f20177e2013200d7e7c4201867c3703102000201520187e2004ad220920097e7c200b201b7e7c201320177e200c41136cad20197e7c200f20077e7c4201867c37030020002014201b7e201120117e7c200d20177e7c201e20077e7c201c20057e7c201d200f7e4201867c3703402000201720037e2011201b7e7c200d20077e7c201420057e7c200b201c7e7c201e200f7e4201867c3703300bc7081a017f017e017f017e017f017e017f017e017f017e017f017e017f017e017f027e017f017e017f017e017f027e017f027e017f147e2000200128020c2203410174ad2204200228020c2205ad22067e20012802042207410174ad220820022802142209ad220a7e7c2001280214220b410174ad220c2002280204220dad220e7e7c200128021c220f410174ad22102002280224221141136cad22127e7c2001350200221320022802182214ad22157e7c20012802242216410174ad2217200228021c221841136cad22197e7c2001350208221a2002280210221bad221c7e7c2001350210221d2002280208221ead221f7e7c20013502182220200235020022217e7c200135022022222002280220220241136cad22237e7c2003ad2224201f7e2007ad2225201c7e7c200fad222620237e7c2016ad2227201441136cad22287e7c2013200a7e7c2021200bad22297e7c201a20067e7c201d200e7e7c202020127e7c202220197e7c2004200e7e200820067e7c200c20127e7c201020197e7c2013201c7e7c2017200941136cad222a7e7c201a201f7e7c201d20217e7c202020237e7c202220287e7c222b421a887c222c4219887c222da741ffffff1f713602182000200420127e2008200e7e7c200c20197e7c2010202a7e7c2013201f7e7c2017200541136cad222e7e7c201a20217e7c201d20237e7c202020287e7c2022201b41136cad222f7e7c202920287e202420237e7c2026202f7e7c2027201e41136cad22307e7c2013200e7e7c202120257e7c201a20127e7c201d20197e7c2020202a7e7c2022202e7e7c200420197e200820127e7c200c202a7e7c2010202e7e7c2017200d41136cad7e7c202120137e7c201a20237e7c201d20287e7c2020202f7e7c202220307e7c2230421a887c22314219887c2232a741ffffff1f7136020820002024201c7e202520157e7c2029201f7e7c202720237e7c20132018ad222e7e7c202120267e7c201a200a7e7c201d20067e7c2020200e7e7c202220127e7c202d421a887c222da741ffffff0f7136021c2000202920237e2025201f7e7c202620287e7c2027202f7e7c201320067e7c202120247e7c201a200e7e7c201d20127e7c202020197e7c2022202a7e7c2032421a887c2223a741ffffff0f7136020c20002004200a7e2008202e7e7c200c20067e7c2010200e7e7c20132002ad22197e7c201720127e7c201a20157e7c201d201c7e7c2020201f7e7c202220217e7c202d4219887c2212a741ffffff1f7136022020002023421988202b42ffffff1f837c2223421a88202c42ffffff0f837c3e021420002023a741ffffff1f713602102000202420157e202520197e7c2029201c7e7c2026201f7e7c20132011ad7e7c202120277e7c201a202e7e7c201d200a7e7c202020067e7c2022200e7e7c2012421a887c2213a741ffffff0f713602242000201342198842137e203042ffffff1f837c2213421a88203142ffffff0f837c3e020420002013a741ffffff1f713602000be20502017f067e2380808080004180016b2203248080808000200341306a200110a98f80800020032003290360200329035820032903502204421a887c22054219887c2206a741ffffff1f7136022020032003290340200329033820032903302207421a887c22084219887c2209a741ffffff1f71360210200320032903682006421a887c2206a741ffffff0f71360224200320032903482009421a887c2209a741ffffff0f713602142003200642198820032903707c2206a741ffffff1f7136022820032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e021c20032004a741ffffff1f7136021820032006421a8820032903787c2204a741ffffff0f7136022c2003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e020c20032004a741ffffff1f71360208024020024102490d002002417f6a21020340200341306a200341086a10a98f80800020032003290360200329035820032903502204421a887c22054219887c2206a741ffffff1f7136022020032003290340200329033820032903302207421a887c22084219887c2209a741ffffff1f71360210200320032903682006421a887c2206a741ffffff0f71360224200320032903482009421a887c2209a741ffffff0f713602142003200642198820032903707c2206a741ffffff1f7136022820032009421988200442ffffff1f837c2204421a88200542ffffff0f837c3e021c20032004a741ffffff1f7136021820032006421a8820032903787c2204a741ffffff0f7136022c2003200442198842137e200742ffffff1f837c2204421a88200842ffffff0f837c3e020c20032004a741ffffff1f713602082002417f6a22020d000b0b20002003290208370200200041206a200341086a41206a290200370200200041186a200341086a41186a290200370200200041106a200341086a41106a290200370200200041086a200341086a41086a29020037020020034180016a2480808080000be103020e7f067e20022802242103200128022421042002280220210520012802202106200228020c2107200128020c2108200228021c2109200128021c210a2002280208210b2001280208210c2002280204210d2001280204210e2002280200210f200128020021102000200128021020022802106b41f0ffffff036aad2211421a88200128021420022802146b41f0ffffff016aad7c2212421988200128021820022802186b41f0ffffff036aad7c2213a741ffffff1f7136021820002010200f6b41d0fdffff036aad2214421a88200e200d6b41f0ffffff016aad7c2215421988200c200b6b41f0ffffff036aad7c2216a741ffffff1f7136020820002013421a88200a20096b41f0ffffff016aad7c2213a741ffffff0f7136021c20002016421a88200820076b41f0ffffff016aad7c2216a741ffffff0f7136020c20002013421988200620056b41f0ffffff036aad7c2213a741ffffff1f7136022020002016421988201142ffffff1f837c2211421a88201242ffffff0f837c3e021420002011a741ffffff1f7136021020002013421a88200420036b41f0ffffff016aad7c2211a741ffffff0f713602242000201142198842137e201442ffffff1f837c2211421a88201542ffffff0f837c3e020420002011a741ffffff1f713602000beb0201067e200041f0ffffff0320012802106bad2202421a8841f0ffffff0120012802146bad7c220342198841f0ffffff0320012802186bad7c2204a741ffffff1f71360218200041d0fdffff0320012802006bad2205421a8841f0ffffff0120012802046bad7c220642198841f0ffffff0320012802086bad7c2207a741ffffff1f7136020820002004421a8841f0ffffff01200128021c6bad7c2204a741ffffff0f7136021c20002007421a8841f0ffffff01200128020c6bad7c2207a741ffffff0f7136020c2000200442198841f0ffffff0320012802206bad7c2204a741ffffff1f7136022020002007421988200242ffffff1f837c2202421a88200342ffffff0f837c3e021420002002a741ffffff1f7136021020002004421a8841f0ffffff0120012802246bad7c2202a741ffffff0f713602242000200242198842137e200542ffffff1f837c2202421a88200642ffffff0f837c3e020420002002a741ffffff1f713602000b950301077f2000200128022022023a001d2000200128020022033a0000200020024110763a001f200020024108763a001e2000200128021c22044115763a001c20002004410d763a001b200020044105763a001a2000200128021822024112763a001820002002410a763a0017200020024102763a0016200020012802142205410f763a0014200020054107763a00132000200128021022064114763a001120002006410c763a0010200020064104763a000f2000200128020c22074111763a000d200020074109763a000c200020074101763a000b200020012802082208410e763a0009200020084106763a00082000200128020422014113763a000620002001410b763a0005200020014103763a0004200020034110763a0002200020034108763a0001200020044103742002411a76723a0019200020024106742005411776723a0015200020054101742006411c76723a0012200020064104742007411976723a000e200020074107742008411676723a000a200020084102742001411b76723a0007200020014105742003411876723a00030bcd04010e7f23808080800041106b2203200128022020022802206b200128021c200228021c6b200128021820022802186b200128021420022802146b200128021020022802106b200128020c200228020c6b200128020820022802086b200128020020022802006b2204411f7520012802046a20022802046b2201411f756a2205411f756a2206411f756a2207411f756a2208411f756a2209411f756a220a411f756a220b411f75220236020c200328020c210c2003200236020c200328020c210d2003200236020c200328020c210e2003200236020c200328020c210f2003200236020c200328020c21102003200236020c200328020c1a2003200236020c200328020c1a2003200236020c200328020c1a2003200236020c200328020c21032000200c41eda7d7e70171200441ffffffff01716a2202411d76200141ffffffff01716a200d41d2b1cc04716a2201411d76200541ffffffff01716a200e4196eb9cef01716a2204411d76200641ffffffff01716a200f41c5faceef01716a2205411d76200741ffffffff01716a201041cd02716a2206411d76200841ffffffff01716a2207411d76200941ffffffff01716a2208411d76200a41ffffffff01716a220941ffffffff017136021c2000200841ffffffff01713602182000200741ffffffff01713602142000200641ffffffff01713602102000200541ffffffff017136020c2000200441ffffffff01713602082000200141ffffffff01713602042000200241ffffffff017136020020002009411d76200b6a2003418080c000716a41ffffffff01713602200b840c12027f017e017f037e017f017e017f047e017f017e017f017e017f017e017f047e017f147e23808080800041306b2203248080808000200320022802002204ad220520012802002206ad22077e2208429bfcd192017e42ffffffff0183220942d2b1cc047e2001280204220aad220b20057e2002280204220cad220d20077e7c220e7c200942eda7d7e7017e20087c421d887c220f429bfcd192017e42ffffffff01832210421486200228020c2211ad2212200b7e20012802082213ad221420022802082215ad22167e7c200128020c2217ad2218200d7e7c2002350210221920077e7c2001350210221a20057e7c221b7d2001280214221c20066aad221d20197e7c2002280214220620046aad221e201a7e7c200128021c220420136aad221f200228021c221320156aad22207e7c2002280220221520116aad222120012802182211200a6aad22227e7c2001280220220120176aad222320022802182202200c6aad22247e7c2015ad22252011ad22267e2004ad22272013ad22287e7c2001ad22292002ad222a7e7c222b7d201042cd027e20087d201820167e201220147e7c2019200b7e7c201a200d7e7c2006ad222c201cad222d7e7d222e7c201e201d7e7c201620077e200b200d7e7c201420057e7c222f20094296eb9cef017e7c201042d2b1cc047e7c201042eda7d7e7017e200f7c421d887c220f429bfcd192017e42ffffffff0183220842c5faceef017e7c2014200d7e2016200b7e7c201220077e7c201820057e7c2230200942c5faceef017e7c20104296eb9cef017e7c200842d2b1cc047e7c200842eda7d7e7017e200f7c421d887c2207429bfcd192017e42ffffffff018322054296eb9cef017e7c201042c5faceef017e200942cd027e7c201b7c20084296eb9cef017e7c200542d2b1cc047e7c200542eda7d7e7017e20077c421d887c2207429bfcd192017e42ffffffff0183221042d2b1cc047e7c201042eda7d7e7017e20077c421d887c220b429bfcd192017e42ffffffff0183220742cd027e7c2024201d7e200e7d2022201e7e7c201920147e201820127e7c201a20167e7c2026202c7e202a202d7e7c7d22147c200842cd027e7c200542c5faceef017e7c20104296eb9cef017e7c200742d2b1cc047e7c200742eda7d7e7017e200b7c421d887c220d429bfcd192017e42ffffffff0183220b42c5faceef017e7c202220247e202f7d2020201d7e7c201f201e7e7c201a20127e201920187e7c2028202d7e2026202a7e7c2027202c7e7c7d22127c200542cd027e7c201042c5faceef017e7c20074296eb9cef017e7c200b42d2b1cc047e7c200b42eda7d7e7017e200d7c421d887c2216429bfcd192017e42ffffffff0183220d4296eb9cef017e7c200942148620307d201a20197e7c202020227e7c201f20247e7c2021201d7e7c2023201e7e7c2027202a7e202820267e7c2025202d7e7c2029202c7e7c22187d201042cd027e7c200742c5faceef017e7c200b4296eb9cef017e7c200d42d2b1cc047e7c200d42eda7d7e7017e20167c421d887c2216429bfcd192017e42ffffffff0183220942d2b1cc047e7c200942eda7d7e7017e20167c421d887c2216a741ffffffff017136020c20032024201a7e202e7d202220197e7c20084214867c2021201f7e7c202320207e7c202920287e202520277e7c22087d200b42cd027e7c200d42c5faceef017e7c20094296eb9cef017e7c2016421d887c2216a741ffffffff017136021020032020201a7e201f20197e7c2014202920257e221d7c7d202320217e7c20054214867c200d42cd027e7c200942c5faceef017e7c2016421d887c2205a741ffffffff01713602142003202320197e2021201a7e7c20127d20104214867c200942cd027e7c2005421d887c2219a741ffffffff01713602182003200742148620187c2019421d887c2219a741ffffffff017136021c2003200b421486202b7c2019421d887c2219a741ffffffff01713602202003200d42148620087c2019421d887c2219a741ffffffff017136022420032009421486201d7c2019421d887c2219421d883e022c20032019a741ffffffff017136022820002003410c6a41dca7c6800010af8f808000200341306a2480808080000bd50301187f20012f0004210220012d0006210320012d0018210420012d0016210520012d0017210620012f0008210720012d0007210820012f000c210920012d000b210a20012d000a210b20012f0010210c20012d000f210d20012d000e210e20012d0014210f20012d0015211020012d0013211120012d0012211220012d001c211320012d0019211420012d001a211520012d001b211620012f0000211720012d0002211820012d00032119200020012f001d20012d001f41107472360220200020172018411074722019411874220141808080f80171723602002000201341157420154110742016411874722014410874221372410b767236021c2000200f2010410874221072410f7420114118742012411074220f724111767241ffffffff01713602142000200c200f72410c74200d411874200e411074220c724114767241ffffffff017136021020002009200c72410974200a411874200b4110742209724117767241ffffffff017136020c2000200720097241067420084118742207411a767241ffffffff0171360208200020132004724112742005411074200641187472201072410e767241ffffffff0171360218200020022003411074722007724103742001411d767241ffffffff01713602040bc50902107f027e23808080800041b0016b2202248080808000200241386a4200370300200241306a4200370300200241286a4200370300200241206a4200370300200241186a4200370300200241106a4200370300200241086a420037030020024200370300410021030340200220036a22042004280200200120036a22042d000072200441016a2d000041087472200441026a2d000041107472200441036a2d000041187472360200200341046a220341c000470d000b200241c0006a41086a22032002280208220541067420022802042206411a767241ffffffff0171360200200241c0006a41106a220420022802102207410c74200228020c22084114767241ffffffff0171360200200241c0006a41186a2201200228021822094112742002280214220a410e767241ffffffff0171360200200241c0006a41206a220b2002280220220c411874200228021c220d4108767241ffffffff017136020020022002280200220e41ffffffff017136024020022006410374200e411d767241ffffffff01713602442002200841097420054117767241ffffffff017136024c2002200a410f7420074111767241ffffffff01713602542002200d4115742009410b767241ffffffff017136025c200241e8006a41206a2205200228023c2209410d76360200200241e8006a41086a220a2002280228220d41017420022802242206411f767241ffffffff0171360200200241e8006a41106a22072002280230220e410774200228022c220f4119767241ffffffff0171360200200241e8006a41186a220820022802382210410d74200228023422114113767241ffffffff01713602002002200641027641ffffffff017136026c20022006411b74200c4105767241ffffffff01713602682002200f410474200d411c767241ffffffff017136027420022011410a74200e4116767241ffffffff017136027c2002200941107420104110767241ffffffff0171360284012002418c016a200241c0006a41a4a8c6800010b08f808000200b2002418c016a41206a220628020036020020012002418c016a41186a220929020037030020042002418c016a41106a220c29020037030020032002418c016a41086a220d2902003703002002200229028c013703402002418c016a200241e8006a4180a8c6800010b08f80800020052006280200360200200820092902003703002007200c290200370300200a200d29020022123703002002200229028c012213370368200220022802402013a76a220641ffffffff017136028c012002200228026c2006411d766a20022802446a220641ffffffff01713602900120022012a72006411d766a20032802006a220341ffffffff017136029401200220022802742003411d766a200228024c6a220341ffffffff017136029801200220072802002003411d766a20042802006a220341ffffffff017136029c012002200228027c2003411d766a20022802546a220341ffffffff01713602a001200220082802002003411d766a20012802006a220341ffffffff01713602a40120022002280284012003411d766a200228025c6a220341ffffffff01713602a801200220052802002003411d766a200b2802006a41ffffffff01713602ac0120002002418c016a41dca7c6800010af8f808000200241b0016a2480808080000b3a01017f23808080800041306b22022480808080002002410c6a200110b28f80800020002002410c6a10ae8f808000200241306a2480808080000bfe0c0a017f027e017f017e017f017e017f027e017f157e23808080800041f0006b2202248080808000200241046a200110b18f80800020022002350214220342ecf3b78a037e20022802082201ad220442e7e2e4b3017e20022802042205ad220642eecaf5ff017e7c200228020c2207ad2208428c93f0fb007e7c20022802102209ad220a4283e685d3017e7c200342edf3b78a017e7c220b7d2002280218220c20056aad220d42eecaf5ff017e7c200228021c220520016aad220e42e6e2a4b4017e7c2002280220220120076aad220f428b93f0fb027e7c20022802242207ad221042ffffffff017e22112001ad221242ffffffff017e22137c22142005ad221542ffff3f7e7c22167d200720096aad22174282e685d3037e7c200642ff037e42ffffffff0183221842d2b1cc047e200442edf3b78a017e20064283e685d3017e7c22197c201842eda7d7e7017e200642edf3b78a017e221a7c421d887c221b429bfcd192017e42ffffffff0183221c4214867c200842e7e2e4b3017e200442eecaf5ff017e7c200a428c93f0fb007e7c20034283e685d3017e7c200cad221d42ffffffff017e221e7d221f201a7d200d42ecf3b78a037e7c201c42cd027e7c20044283e685d3017e2006428c93f0fb007e7c200842edf3b78a017e7c222020184296eb9cef017e7c201c42d2b1cc047e7c201c42eda7d7e7017e201b7c421d887c221b429bfcd192017e42ffffffff0183221a42c5faceef017e7c2004428c93f0fb007e200642e7e2e4b3017e7c20084283e685d3017e7c200a42edf3b78a017e7c2221201842c5faceef017e7c201c4296eb9cef017e7c201a42d2b1cc047e7c201a42eda7d7e7017e201b7c421d887c2204429bfcd192017e42ffffffff018322064296eb9cef017e7c200b201842cd027e7c201c42c5faceef017e7c201a4296eb9cef017e7c200642d2b1cc047e7c200642eda7d7e7017e20047c421d887c2204429bfcd192017e42ffffffff0183221c42d2b1cc047e7c201c42eda7d7e7017e20047c421d887c220b429bfcd192017e42ffffffff0183220442cd027e7c200d4282e685d3037e20197d200e42ecf3b78a037e7c200a42e7e2e4b3017e200842eecaf5ff017e7c2003428c93f0fb007e7c201542ffffffff017e2215201e7c22197d221b7c201a42cd027e7c200642c5faceef017e7c201c4296eb9cef017e7c200442d2b1cc047e7c200442eda7d7e7017e200b7c421d887c220b429bfcd192017e42ffffffff0183220842c5faceef017e7c200d428b93f0fb027e20207d200e4282e685d3037e7c200f42ecf3b78a037e7c200342e7e2e4b3017e200a42eecaf5ff017e7c201320197c7d22137c200642cd027e7c201c42c5faceef017e7c20044296eb9cef017e7c200842d2b1cc047e7c200842eda7d7e7017e200b7c421d887c220b429bfcd192017e42ffffffff0183220a4296eb9cef017e7c201842148620217d200342eecaf5ff017e7c200d42e6e2a4b4017e7c200e428b93f0fb027e7c200f4282e685d3037e7c2014201d42ffff3f7e7c20157c220d7d201742ecf3b78a037e7c201c42cd027e7c200442c5faceef017e7c20084296eb9cef017e7c200a42d2b1cc047e7c200a42eda7d7e7017e200b7c421d887c220b429bfcd192017e42ffffffff0183221842d2b1cc047e7c201842eda7d7e7017e200b7c421d887c220ba741ffffffff017136024c200220034282e685d3037e201f7d200e42eecaf5ff017e7c200f42e6e2a4b4017e7c2011201242ffff3f7e7c220e7d2017428b93f0fb027e7c201a4214867c200842cd027e7c200a42c5faceef017e7c20184296eb9cef017e7c200b421d887c221aa741ffffffff017136025020022003428b93f0fb027e201b201042ffff3f7e220b7c7d200f42eecaf5ff017e7c201742e6e2a4b4017e7c20064214867c200a42cd027e7c201842c5faceef017e7c201a421d887c2206a741ffffffff01713602542002200342e6e2a4b4017e20137d201742eecaf5ff017e7c201c4214867c201842cd027e7c2006421d887c2203a741ffffffff017136025820022004421486200d7c2003421d887c2203a741ffffffff017136025c2002200842148620167c2003421d887c2203a741ffffffff01713602602002200a421486200e7c2003421d887c2203a741ffffffff017136026420022018421486200b7c2003421d887c2203421d883e026c20022003a741ffffffff0171360268200241286a200241cc006a41a0aac6800010af8f8080002000200241286a10ae8f808000200241f0006a2480808080000bff0906047f027e017f027e027f017e23808080800041e0006b22032480808080000240024020024104470d00200341d8006a4200370300200341d0006a4200370300200341c8006a4200370300200341c0006a4200370300200341386a4200370300200341306a4200370300200341286a420037030020034200370320410021040340200341206a20046a220541016a20012d000022024104763a000020052002410f713a0000200541036a200141016a2d000022024104763a0000200541026a2002410f713a0000200141026a2101200441046a220441c000470d000b4100210120032d0020210502400340200341206a20016a22042005200541086a220241f001716b3a0000200441016a220520052d00002002411874411c756a22023a00002001413e460d0120052002200241086a220641f001716b3a0000200441026a220520052d00002006411874411c756a22053a0000200141026a21010c000b0b20002003290320370000200041386a200341206a41386a290300370000200041306a200341206a41306a290300370000200041286a200341206a41286a290300370000200041206a200341206a41206a290300370000200041186a200341206a41186a290300370000200041106a200341206a41106a290300370000200041086a200341206a41086a2903003700000c010b200341186a200141186a290000370300200341106a200141106a290000370300200341086a200141086a2900003703002003200129000037030042002107200341d8006a4200370300200341d0006a4200370300200341c8006a4200370300200341c0006a4200370300200341206a41186a4200370300200341206a41106a4200370300200341206a41086a42003703002003420037032002402002450d002002413f71ad2108200241ff016a20026e21090240024002400240200241807e4b0d0042012008862207427f7c210a2007420188210b41c00020026b210c4200210741002101410021064100210502400240024002400340200141067621040240024002402001413f71220d200c490d0020044103470d010b20014180024f0d05200320044103746a290300200dad88210e0c010b200141ff014b0d02200141c0014f0d03200320044103746a22042903082006413f71ad862004290300200dad8884210e0b0240200541c000460d00200341206a20056a200e200a8320077c22072007200b7c20088822072008867d3c0000200120026a2101200620026b2106200541016a22042105200420094f0d050c010b0b41c00041c0004190aac6800010f580808000000b2004410441e0a9c6800010f580808000000b4104410441f0a9c6800010f580808000000b200441044180aac6800010f580808000000b20024108470d00200941c0004f0d010c030b2009417f6a220941c000490d01200941c00041d0a9c6800010f580808000000b200941c00041c0a9c6800010f580808000000b200720088621070b200341206a20096a220120012d00002007a76a3a000020002003290320370000200041086a200341206a41086a290300370000200041106a200341206a41106a290300370000200041186a200341206a41186a290300370000200041206a200341206a41206a290300370000200041286a200341206a41286a290300370000200041306a200341206a41306a290300370000200041386a200341206a41386a2903003700000c010b41b0a9c68000108881808000000b200341e0006a2480808080000bc607011b7f23808080800041f0016b2203248080808000200128020021042001280228210520012802042106200128022c21072001280208210820012802302109200128020c210a2001280234210b2001280210210c2001280238210d2001280214210e200128023c210f2001280218211020012802402111200128021c211220012802442113200128022021142001280248211520032001280224200128024c6a3602242003201420156a3602202003201220136a36021c2003201020116a3602182003200e200f6a3602142003200c200d6a3602102003200a200b6a36020c2003200820096a3602082003200620076a3602042003200420056a360200200341286a200141286a200110ac8f808000200341d0006a2003200210aa8f808000200341f8006a200341286a200241286a10aa8f808000200341a0016a200141f8006a200241d0006a10aa8f8080002003200128025041017422023602c8012003200128025441017422043602cc012003200128025841017422053602d0012003200128025c41017422063602d4012003200128026041017422073602d8012003200128026441017422083602dc012003200128026841017422093602e0012003200128026c410174220a3602e40120032001280270410174220b3602e8012003200128027441017422013602ec012000200341d0006a200341f8006a10ac8f8080002003280278210c2003280250210d200328027c210e2003280254210f2003280280012110200328025821112003280284012112200328025c2113200328028801211420032802602115200328028c01211620032802642117200328029001211820032802682119200328029401211a200328026c211b200328029801211c2003280270211d2000200328029c0120032802746a36024c2000201c201d6a3602482000201a201b6a3602442000201820196a3602402000201620176a36023c2000201420156a3602382000201220136a3602342000201020116a3602302000200e200f6a36022c2000200c200d6a36022820032802a001210c20032802a401210d20032802a801210e20032802ac01210f20032802b001211020032802b401211120032802b801211220032802bc01211320032802c0012114200020032802c40120016a36027420002014200b6a36027020002013200a6a36026c2000201220096a3602682000201120086a3602642000201020076a3602602000200f20066a36025c2000200e20056a3602582000200d20046a3602542000200c20026a360250200041f8006a200341c8016a200341a0016a10ac8f808000200341f0016a2480808080000bf20c03017f047e097f23808080800041e0076b2203248080808000200341086a2002410410b58f808000200341e8006a4200370300200341e0006a4200370300200341d8006a4200370300200341d0006a420037030041002102200341f8006a41002902ccaac68000220437030020034180016a41002902d4aac680002205370300200341c8006a41c0006a41002902dcaac68000220637030020034190016a41002902e4aac680002207370300200341a0016a2004370300200341a8016a2005370300200341b0016a2006370300200341b8016a200737030020034200370348200341002902c4aac6800022043703702003200437039801200341e0016a4200370300200341d8016a4200370300200341d0016a4200370300200341c8016a4200370300200342003703c001200341a0056a41f8006a2108200341a0056a41d0006a2109200341a0056a41286a210a200341c0066a41d0006a210b200341c0066a41286a210c200341c0066a41f8006a210d200341c8006a41d0006a210e200341c8006a41286a210f024002400240034002400240200241c000460d0020024101710d01200241016a21020c020b200341f0046a200f41206a290200370300200341a8046a41c0006a200f41186a290200370300200341e0046a200f41106a290200370300200341d8046a200f41086a29020037030020034180056a200e41086a29020037030020034188056a200e41106a29020037030020034190056a200e41186a29020037030020034198056a200e41206a2902003703002003200f2902003703d0042003200e2902003703f804200341a8046a41206a200341c8006a41206a290300370300200341a8046a41186a200341c8006a41186a290300370300200341a8046a41106a200341c8006a41106a290300370300200341a8046a41086a200341c8006a41086a290300370300200320032903483703a804200341a0056a200341a8046a10bb8f80800020034188036a200341a0056a41a00110e9968080001a200341c0066a20034188036a20034188036a41f8006a220210aa8f808000200341c0066a41286a220c20034188036a41286a221020034188036a41d0006a220b10aa8f808000200341c0066a41d0006a220d200b200210aa8f808000200341a8046a200341c0066a41f80010e9968080001a200341a0056a200341a8046a10bb8f80800020034188036a200341a0056a41a00110e9968080001a200341c0066a20034188036a200210aa8f808000200c2010200b10aa8f808000200d200b200210aa8f808000200341a8046a200341c0066a41f80010e9968080001a200341a0056a200341a8046a10bb8f80800020034188036a200341a0056a41a00110e9968080001a200341c0066a20034188036a200210aa8f808000200c2010200b10aa8f808000200d200b200210aa8f808000200341a8046a200341c0066a41f80010e9968080001a200341c0066a200341a8046a10bb8f808000200341e8016a200341c0066a200341c0066a41f8006a221010aa8f808000200341e8016a41286a200c200d10aa8f808000200341e8016a41d0006a200d201010aa8f808000200341e8016a41f8006a200341c0066a200c10aa8f808000200341c8006a200341e8016a41a00110e9968080001a200341a0056a41f8006a2109200341a0056a41d0006a210a200341a0056a41286a210e4100210b0340200b220241c000460d03200241016a220b410171450d0020024101762108200241c0004f0d0420034188036a2001200841c0076c6a200341086a20026a2d000010b98f808000200341c0066a200341c8006a20034188036a10b68f808000200341a0056a200341c0066a201010aa8f808000200e200c200d10aa8f808000200a200d201010aa8f8080002009200341c0066a200c10aa8f808000200341c8006a200341a0056a41a00110e9968080001a0c000b0b20024101762110200241c0004f0d0320034188036a2001201041c0076c6a200341086a20026a2d000010b98f808000200341c0066a200341c8006a20034188036a10b68f808000200341a0056a200341c0066a200d10aa8f808000200a200c200b10aa8f8080002009200b200d10aa8f8080002008200341c0066a200c10aa8f808000200341c8006a200341a0056a41a00110e9968080001a200241016a21020c000b0b2000200341c8006a41a00110e9968080001a200341e0076a2480808080000f0b2008412041d4abc6800010f580808000000b2010412041d4abc6800010f580808000000b8d160a067f017e017f017e017f017e017f027e0d7f017e23808080800041e0046b2202248080808000200241086a41206a2203200141206a290200370300200241086a41186a2204200141186a290200370300200241086a41106a2205200141106a290200370300200241086a41086a2206200141086a29020037030020022001290200370308200241306a41206a2207200141c8006a2902002208370300200241306a41186a2209200141c0006a290200220a370300200241306a41106a220b200141386a290200220c370300200241306a41086a220d200141306a290200220e37030020022001290228220f370330200128025021102001280254211120012802582112200128025c2113200128026021142001280264211520012802682116200128026c21172001280270211820022802342119200228023c211a2002280244211b200228024c211c2002200228025420012802746a36028c04200220182008a76a360288042002201c20176a3602840420022016200aa76a360280042002201b20156a3602fc0320022014200ca76a3602f8032002201a20136a3602f40320022012200ea76a3602f0032002201920116a3602ec0320022010200fa76a3602e80320024190046a200141d0006a2214200241306a10ac8f808000200241d8006a200241e8036a20024190046a10aa8f80800020024180016a200241086a200241306a10aa8f80800020024190046a20024180016a10a98f808000200220022903c00420022903b80420022903b0042208421a887c220a4219887c220ca741ffffff1f7136028004200220022903a004200229039804200229039004220e421a887c220f4219887c221da741ffffff1f713602f003200220022903c804200c421a887c220ca741ffffff0f7136028404200220022903a804201d421a887c221da741ffffff0f713602f4032002200c42198820022903d0047c220ca741ffffff1f71360288042002201d421988200842ffffff1f837c2208421a88200a42ffffff0f837c3e02fc0320022008a741ffffff1f713602f8032002200c421a8820022903d8047c2208a741ffffff0f7136028c042002200842198842137e200e42ffffff1f837c2208421a88200f42ffffff0f837c3e02ec0320022008a741ffffff1f713602e803200241c0036a200241d8006a200241e8036a10aa8f80800020024190046a418ca7c68000200241c0036a10a88f808000200241a8016a41206a200241b4046a290200370300200241a8016a41186a200241ac046a290200370300200241a8016a41106a200241a4046a290200370300200241a8016a41086a2002419c046a29020037030020022002290294043703a801200241d0016a200241a8016a200241d8006a10aa8f808000200241f8016a200241a8016a20024180016a10aa8f80800020024190046a200241f8016a200141f8006a220110aa8f808000200241a0026a200241d0016a20024190046a10aa8f808000200241c8026a41206a2210200241f8016a41206a290200370300200241c8026a41186a2211200241f8016a41186a290200370300200241c8026a41106a2212200241f8016a41106a290200370300200241c8026a41086a2213200241f8016a41086a290200370300200220022902f8013703c802200241f0026a200241086a41e4abc6800010aa8f80800020024198036a200241306a41e4abc6800010aa8f808000200241c0036a200241d0016a418cacc6800010aa8f80800020024190046a2001200241a0026a10aa8f808000200241e8036a20024190046a10a78f80800020022d00e80341017110c7968080002101200620022802a00320062802002215734100200141ff01716b220171201573360200200520022802a8032005280200220673200171200673360200200220022802980320022802082205732001712005733602082002200228029c03200228020c22057320017120057336020c200220022802a4032002280214220573200171200573360214200220022802ac03200228021c22057320017120057336021c200420022802b0032004280200220573200171200573360200200220022802b4032002280224220473200171200473360224200320022802b8032003280200220473200171200473360200200220022802bc03200228022c22037320017120037336022c200220022802f0022002280230220373200171200373360230200220022802f4022002280234220373200171200373360234200d20022802f802200d280200220373200171200373360200200220022802fc02200228023c22037320017120037336023c200b200228028003200b28020022037320017120037336020020022002280284032002280244220373200171200373360244200920022802880320092802002203732001712003733602002002200228028c03200228024c22037320017120037336024c2007200228029003200728020022037320017120037336020020022002280294032002280254220373200171200373360254200220022802c00320022802c8022203732001712003733602c802200220022802c40320022802cc022203732001712003733602cc02201320022802c8032013280200220373200171200373360200200220022802cc0320022802d4022203732001712003733602d402201220022802d0032012280200220373200171200373360200200220022802d40320022802dc022203732001712003733602dc02201120022802d8032011280200220373200171200373360200200220022802dc0320022802e4022203732001712003733602e402201020022802e0032010280200220373200171200373360200200220022802e40320022802ec022203732001712003733602ec02200241e8036a200241086a200241a0026a10aa8f80800020024190046a200241e8036a10a78f80800020022d00900441017110c796808000210120024190046a200241306a10ad8f808000200d200228029804200d2802002203734100200141ff01716b220171200373360200200b20022802a004200b280200220d73200171200d73360200200920022802a8042009280200220b73200171200b7336020020022002280290042002280230220973200171200973360230200220022802940420022802342209732001712009733602342002200228029c04200228023c22097320017120097336023c200220022802a4042002280244220973200171200973360244200220022802ac04200228024c22097320017120097336024c200720022802b0042007280200220973200171200973360200200220022802b404200228025422077320017120077336025420024190046a2014200241306a10ac8f808000200241e8036a200241c8026a20024190046a10aa8f80800020024190046a200241e8036a10a78f80800020022d00900441017110c796808000210120024190046a200241e8036a10ad8f808000200220022802900420022802e8032207734100200141ff01716b2201712007733602e803200220022802940420022802ec032207732001712007733602ec03200220022802980420022802f0032207732001712007733602f0032002200228029c0420022802f4032207732001712007733602f403200220022802a00420022802f8032207732001712007733602f803200220022802a40420022802fc032207732001712007733602fc03200220022802a80420022802800422077320017120077336028004200220022802ac0420022802840422077320017120077336028404200220022802b00420022802880422077320017120077336028804200220022802b404200228028c0422077320017120077336028c042000200241e8036a10a78f808000200241e0046a2480808080000bbb0509027f017e017f017e017f017e017f017e057f23808080800041f0016b2203248080808000200341206a220441002902d49cc880002205370300200341186a220641002902cc9cc880002207370300200341106a220841002902c49cc880002209370300200341086a220a41002902bc9cc88000220b370300200341306a220c200b370300200341386a220d2009370300200341c0006a220e2007370300200341c8006a220f2005370300200341f0006a4200370300200341e8006a4200370300200341e0006a4200370300200341d8006a420037030020034200370350200341002902b49cc880002205370300200320053703282003200120024118742202411f75221020024118756a201073220241014610c79680800010ba8f8080002003200141f8006a200241024610c79680800010ba8f8080002003200141f0016a200241034610c79680800010ba8f8080002003200141e8026a200241044610c79680800010ba8f8080002003200141e0036a200241054610c79680800010ba8f8080002003200141d8046a200241064610c79680800010ba8f8080002003200141d0056a200241074610c79680800010ba8f8080002003200141c8066a200241084610c79680800010ba8f808000201041017110c7968080002101200341f8006a41206a200f290300370300200341f8006a41186a200e290300370300200341f8006a41106a200d290300370300200341f8006a41086a200c29030037030020032003290328370378200341f8006a41d0006a200341d0006a10ad8f808000200341f8006a41c8006a2004290300370300200341f8006a41c0006a2006290300370300200341f8006a41386a2008290300370300200341f8006a41306a200a290300370300200320032903003703a0012003200341f8006a200110ba8f8080002000200341f80010e9968080001a200341f0016a2480808080000bdd0501017f2000200128020020002802002203734100200241ff01716b2202712003733602002000200128020420002802042203732002712003733602042000200128020820002802082203732002712003733602082000200128020c200028020c22037320027120037336020c2000200128021020002802102203732002712003733602102000200128021420002802142203732002712003733602142000200128021820002802182203732002712003733602182000200128021c200028021c22037320027120037336021c2000200128022020002802202203732002712003733602202000200128022420002802242203732002712003733602242000200128022820002802282203732002712003733602282000200128022c200028022c22037320027120037336022c2000200128023020002802302203732002712003733602302000200128023420002802342203732002712003733602342000200128023820002802382203732002712003733602382000200128023c200028023c22037320027120037336023c2000200128024020002802402203732002712003733602402000200128024420002802442203732002712003733602442000200128024820002802482203732002712003733602482000200128024c200028024c22037320027120037336024c2000200128025020002802502203732002712003733602502000200128025420002802542203732002712003733602542000200128025820002802582203732002712003733602582000200128025c200028025c22037320027120037336025c2000200128026020002802602203732002712003733602602000200128026420002802642203732002712003733602642000200128026820002802682203732002712003733602682000200128026c200028026c22037320027120037336026c2000200128027020002802702203732002712003733602702000200128027420002802742201732002712001733602740ba30f03017f087e267f23808080800041f0026b2202248080808000200241a0026a200110a98f808000200220022903d80220022903d00220022903c80220022903c0022203421a887c22044219887c2205421a887c220642198820022903e0027c2207421a8820022903e8027c220842198842137e20022903a002220942ffffff1f837c220aa741ffffff1f71220b3602082002200a421a8820022903a8022009421a887c220942ffffff0f837ca7220c36020c200220022903b80220022903b00220094219887c2209421a887c220a421988200342ffffff1f837c2203421a88200442ffffff0f837ca7220d36021c20022003a741ffffff1f71220e3602182002200aa741ffffff0f71220f36021420022006a741ffffff0f71221036022420022008a741ffffff0f71221136022c20022009a741ffffff1f71221236021020022005a741ffffff1f71221336022020022007a741ffffff1f712214360228200241a0026a200141286a10a98f808000200220022903d80220022903d00220022903c80220022903c0022203421a887c22044219887c2205421a887c220642198820022903e0027c2207421a8820022903e8027c220842198842137e20022903a002220942ffffff1f837c220aa741ffffff1f7122153602302002200a421a8820022903a8022009421a887c220942ffffff0f837ca72216360234200220022903b80220022903b00220094219887c2209421a887c220a421988200342ffffff1f837c2203421a88200442ffffff0f837ca7221736024420022003a741ffffff1f7122183602402002200aa741ffffff0f71221936023c20022006a741ffffff0f71221a36024c20022008a741ffffff0f71221b36025420022009a741ffffff1f71221c36023820022005a741ffffff1f71221d36024820022007a741ffffff1f71221e360250200241a0026a200141d0006a10a98f808000200220022903c80242018620022903c0024201862203421a887c220442198820022903d0024201867c2205a741ffffff1f71360270200220022903a80242018620022903a0024201862206421a887c220742198820022903b0024201867c2208a741ffffff1f7136026020022005421a8820022903d8024201867c2205a741ffffff0f7136027420022008421a8820022903b8024201867c2208a741ffffff0f713602642002200542198820022903e0024201867c2205a741ffffff1f7136027820022008421988200342feffff1f837c2203421a88200442ffffff0f837c3e026c20022003a741ffffff1f7136026820022005421a8820022903e8024201867c2203a741ffffff0f7136027c2002200342198842137e200642feffff1f837c2203421a88200742ffffff0f837c3e025c20022003a741ffffff1f713602582001280228211f20012802002120200128022c212120012802042122200128023021232001280208212420012802342125200128020c21262001280238212720012802102128200128023c21292001280214212a2001280240212b2001280218212c2001280244212d200128021c212e2001280248212f200128022021302002200128024c20012802246a3602a4012002202f20306a3602a0012002202d202e6a36029c012002202b202c6a3602980120022029202a6a360294012002202720286a360290012002202520266a36028c012002202320246a360288012002202120226a360284012002201f20206a36028001200241a0026a20024180016a10a98f808000200220022903d00220022903c80220022903c0022203421a887c22044219887c2205a741ffffff1f713602c001200220022903b00220022903a80220022903a0022206421a887c22074219887c2208a741ffffff1f713602b001200220022903d8022005421a887c2205a741ffffff0f713602c401200220022903b8022008421a887c2208a741ffffff0f713602b4012002200542198820022903e0027c2205a741ffffff1f713602c80120022008421988200342ffffff1f837c2203421a88200442ffffff0f837c3e02bc0120022003a741ffffff1f713602b80120022005421a8820022903e8027c2203a741ffffff0f713602cc012002200342198842137e200642ffffff1f837c2203421a88200742ffffff0f837c3e02ac0120022003a741ffffff1f713602a801200241d0016a41206a2201201e20146a360200200241d0016a41186a2214201d20136a360200200241d0016a41106a22132018200e6a360200200241d0016a41086a220e201c20126a3602002002201b20116a3602f4012002201a20106a3602ec0120022017200d6a3602e40120022019200f6a3602dc0120022016200c6a3602d40120022015200b6a3602d001200241f8016a200241306a200241086a10ac8f8080002000200241a8016a200241d0016a10ac8f808000200041f8006a200241d8006a200241f8016a10ac8f808000200041c8006a2001290200370200200041c0006a2014290200370200200041386a2013290200370200200041306a200e290200370200200020022902d001370228200020022902f801370250200041d8006a200241f8016a41086a290200370200200041e0006a200241f8016a41106a290200370200200041e8006a200241f8016a41186a290200370200200041f0006a200241f8016a41206a290200370200200241f0026a2480808080000b0d002000200110ba80808000000bee0501017e20002001422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201428180808088808080807f8437030020002001422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201428180808088808080807f8437030820002001422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201428180808088808080807f8437031020002001422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e85422089852201422088220242a697c4890d7e200142ffffffff0f83220142acebfec6097e85200242acebfec6097e200142a697c4890d7e8542208985428180808088808080807f843703180bba0102017f027e23808080800041106b22012480808080002000200141086aad220242a697c4890d7e422089200242acebfec6097e852202a7418e8480800073ad220342acebfec6097e2002422088220242a697c4890d7e85200342a697c4890d7e200242acebfec6097e85422089852202a741c0bfd3800073ad220342acebfec6097e2002422088220242a697c4890d7e85200342a697c4890d7e200242acebfec6097e854220898510bd8f808000200141106a2480808080000bba0203017f027e017f23808080800041306b2200248080808000200041086a200041286aad220142a697c4890d7e422089200142acebfec6097e852201a7418e8480800073ad220242acebfec6097e2001422088220142a697c4890d7e85200242a697c4890d7e200142acebfec6097e85422089852201a741c0bfd3800073ad220242acebfec6097e2001422088220142a697c4890d7e85200242a697c4890d7e200142acebfec6097e854220898510bd8f80800002400340410041002d00e0bfd380002203410120031b3a00e0bfd38000024020030d00410020002903083703c0bfd38000410041023a00e0bfd380004100200041206a2903003703d8bfd380004100200041186a2903003703d0bfd380004100200041106a2903003703c8bfd380000c020b20034102470d000b0b200041306a2480808080000bb10703037f037e027f2001413f712107024020014140712208450d00410020086b21092000210803402008290038200685220a422088220b20082900182005852205422088220c7e200a42ffffffff0f83220a200542ffffffff0f8322057e85200a200c7e200b20057e854220898521052008290030200685220a422088220b20082900102004852204422088220c7e200a42ffffffff0f83220a200442ffffffff0f8322047e85200a200c7e200b20047e854220898521042008290028200685220a422088220b20082900082003852203422088220c7e200a42ffffffff0f83220a200342ffffffff0f8322037e85200a200c7e200b20037e854220898521032008290020200685220a422088220b20082900002002852202422088220c7e200a42ffffffff0f83220a200242ffffffff0f8322027e85200a200c7e200b20027e85422089852102200841c0006a2108200941c0006a22090d000b0b2003200585210520022004852104024002402007450d00200120074110200741104b1b22096b210820014110490d0120094130712201450d00200020086a220820082009410f7122006a220920016a220d4f0d002009200141706a22076a220e2900082006852203422088220220082900082005852205422088220a7e200342ffffffff0f832203200542ffffffff0f8322057e852003200a7e200220057e85422089852105200e2900002006852203422088220220082900002004852204422088220a7e200342ffffffff0f832203200442ffffffff0f8322047e852003200a7e200220047e854220898521042007450d0020002007724111480d002009200141606a22016a22092900082006852203422088220220082900182005852205422088220a7e200342ffffffff0f832203200542ffffffff0f8322057e852003200a7e200220057e8542208985210520092900002006852203422088220220082900102004852204422088220a7e200342ffffffff0f832203200442ffffffff0f8322047e852003200a7e200220047e854220898521042001450d0020002001724121480d00200d41586a2900002006852203422088220220082900282005852205422088220a7e200342ffffffff0f832203200542ffffffff0f8322057e852003200a7e200220057e85422089852105200d41506a290000200685220642208822032008290020200485220442208822027e200642ffffffff0f832206200442ffffffff0f8322047e85200620027e200320047e854220898521040b20042005850f0b2008200141b89dc8800010a881808000000b140020012000280200200028020410e5808080000b1900200120002802002200280200200028020410e5808080000b14002000280200280200410120011091818080000be20301027f23808080800041306b22022480808080000240024002400240024020002d00000e0400010203000b2002200041046a36020820024101360214200241bca3c880003602102002420137021c2002418f84808000ad422086200241086aad843703282002200241286a360218200128021c2001280220200241106a10e28080800021000c030b200128021c41c4a3c880004128200128022028020c1181808080000021000c020b20002f0001200041036a2d000041107472220041087621030240024020004101710d002003411874411875410274220341d8a4c880006a2100200341a4a4c880006a21030c010b200341187441187541027422034198a5c880006a21002003418ca5c880006a21030b2002410136021420024194a4c880003602102002420137021c2002200028020036022c200220032802003602282002419084808000ad422086200241286aad843703082002200241086a360218200128021c2001280220200241106a10e28080800021000c010b2002200041046a360208200241013602142002419ca4c880003602102002420137021c2002419184808000ad422086200241086aad843703282002200241286a360218200128021c2001280220200241106a10e28080800021000b200241306a24808080800020000be91102107f037e2380808080004180016b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01b6014102746a41c4016a28020021042006417f6a22060d000b0b20054104490d000340200420042f01b6014102746a41c4016a280200220420042f01b6014102746a41c4016a280200220420042f01b6014102746a41c4016a280200220420042f01b6014102746a41c4016a28020021042007417c6a22070d000b0b200341086a22082001410d6a2900003703002003410f6a2209200141146a28000036000020032001290005370300200341186a41036a210a2001280224210b2001280220210c200128021c210d2001280218210e20012d0004210f20012802002110024003400240024020104102460d00200341e8006a410f6a2009280000360000200341e8006a41086a200829030037030020032003290300370368200f211120104101710d010c030b200d200b460d02200d2d00002111200341e8006a410f6a200d41106a280000360000200341e8006a41086a200d41096a2900003703002003200d290001370368200d41146a210d0b200341d0006a410f6a2206200341e8006a410f6a280000360000200341d0006a41086a2201200341e8006a41086a29030037030020032003290368370350410021100240200d200b460d00200d2d0000210f2009200d41106a2800003600002008200d41096a2900003703002003200d290001370300200d41146a210d0240200f201141ff01712205460d00410121100c010b2001200829030037030020062009280000360000200320032903003703500240200d200b470d002011210f0c010b02400340200d22072d0000210f2009200741106a2800003600002008200741096a2900003703002003200729000137030002402005200f460d00410121100c020b200120082903003703002006200928000036000020032003290300370350200741146a220d200b470d000b410021102011210f0b200741146a210d0b200341186a410f6a2006280000360000200341186a41086a200129030037030020032003290350370318200341306a41086a2206200a41086a22122900003703002003200a290000370330024002400240024002400240024020042f01b6012207410b490d004100210502400240034020042802b0012204450d01200541016a210520042f01b601410b4f0d000c020b0b200028020421062000280200210741002d00b8bfd380001a41f40141002802b0bfd38000118280808000002204450d02200420073602c401200441003b01b601200441003602b00120002004360200200741003b01b401200720043602b0012000200641016a22053602040b41002d00b8bfd380001a41c40141002802b0bfd38000118280808000002206450d02200641003b01b601200641003602b0012005417f6a2201450d04034041002d00b8bfd380001a41f40141002802b0bfd38000118280808000002207450d04200720063602c401200741003b01b601200741003602b001200641003b01b401200620073602b001200721062001417f6a2201450d050c000b0b200420076a41b8016a20113a00002004200741016a3b01b601200420074104746a220741086a2006290300370200200720032903303702000c040b410441f40110b980808000000b410441c40110b980808000000b410441f40110b980808000000b20042f01b6012207410b4f0d012004200741016a22013b01b601200420076a41b8016a20113a0000200420074104746a220741086a20122900003700002007200a290000370000200420014102746a41c4016a2006360200200620013b01b401200620043602b0012005450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01b6014102746a41c4016a28020021042006417f6a22060d000b0b20054104490d000340200420042f01b6014102746a41c4016a280200220420042f01b6014102746a41c4016a280200220420042f01b6014102746a41c4016a280200220420042f01b6014102746a41c4016a28020021042007417c6a22070d000b0b2002200228020041016a3602000c010b0b41d0a6c88000412041f0a6c8800010f480808000000b0240200c450d00200e41002802a8bfd38000118080808000000b02402000280204220d450d00200028020021060340024002400240024020062f01b6012204450d0020062004417f6a22084102746a220741c8016a28020022042f01b601220141054f0d03200741c4016a28020022052f01b6012207410520016b220f490d0120052007200f6b22093b01b601200441053b01b601200441b8016a2211200f6a2011200110ec968080001a2004200f4104746a2004200141047410ec968080001a2007200941016a22106b220b410420016b470d022011200541b8016a220a20106a200b10e99680800021112004200520104104746a200b410474220210e9968080002107200341e8006a41086a200520094104746a221241086a2902002213370300200620086a41b8016a22002d0000210c201229020021142000200a20096a2d00003a000020032014370368200620084104746a2206290200211520062014370200200641086a22062902002114200620133702002011200b6a200c3a0000200720026a220641086a201437020020062015370200200d4101460d03200741c4016a2206200f410274220f6a2006200141027441046a10ec968080001a2006200520104102746a41c4016a200f10e9968080001a20072802c401220641003b01b401200620073602b00120072802c801220641013b01b401200620073602b00120072802cc01220641023b01b401200620073602b00120072802d001220641033b01b401200620073602b00120072802d401220641043b01b401200620073602b00120072802d801220641053b01b401200620073602b0010c030b41a4a5c88000411941c0a6c8800010f480808000000b41b8a7c88000412741e0a7c8800010f480808000000b4180a7c88000412841a8a7c8800010f480808000000b20042106200d417f6a220d0d000b0b20034180016a2480808080000bac1206067f017e027f017e067f027e23808080800041c0006b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f018e024102746a4190026a28020021042006417f6a22060d000b0b20054104490d000340200420042f018e024102746a4190026a280200220420042f018e024102746a4190026a280200220420042f018e024102746a4190026a280200220420042f018e024102746a4190026a28020021042007417c6a22070d000b0b200341086a41206a200141206a290200370300200341086a41186a200141186a290200370300200341086a41106a200141106a290200370300200341086a41086a200141086a29020037030020032001290200370308200341146a210803402003290308210920032802242106200328022c210a2003280210210102400340200341086a210502400240024002402001418180808078460d00200621072001210b2009210c0c010b2006200a460d012003200641186a22073602242006280208210b2006290200210c200621050b200b418080808078470d01200721060b2003200937030820034181808080783602100240200a2006460d00200a20066b220441186e22014101712105410021070240200441686a4118490d00200641246a2104200141feffffff007121014100210703400240200441646a280200450d00200441686a28020041002802a8bfd38000118080808000000b02402004417c6a280200450d00200428020041002802a8bfd38000118080808000000b200441306a21042001200741026a2207470d000b0b2005450d002006200741186c6a2204280208450d00200441086a28020441002802a8bfd38000118080808000000b02402003280228450d00200328022041002802a8bfd38000118080808000000b02402000280204220b450d00200028020021060340024002400240024020062f018e022204450d0020062004417f6a22084102746a22074194026a28020022042f018e02220141054f0d0320074190026a28020022052f018e022207410520016b220d490d0120052007200d6b220a3b018e02200441053b018e02200441b0016a2200200d4103746a2000200141037410ec968080001a2004200d4104746a2004200141047410ec968080001a2007200a41016a220e6b2207410420016b470d022000200541b0016a2202200e4103746a2007410374220f10e996808000210020042005200e4104746a2007410474221010e9968080002107200341086a41086a2005200a4104746a221141086a290200220c370300200620084103746a41b0016a221229020021132011290200210920122002200a4103746a29020037020020032009370308200620084104746a2206290200211420062009370200200641086a220629020021092006200c3702002000200f6a2013370200200720106a22062014370200200641086a2009370200200b4101460d0320074190026a2206200d410274220d6a2006200141027441046a10ec968080001a20062005200e4102746a4190026a200d10e9968080001a200728029002220641003b018c022006200736028802200728029402220641013b018c022006200736028802200728029802220641023b018c022006200736028802200728029c02220641033b018c02200620073602880220072802a002220641043b018c02200620073602880220072802a402220641053b018c0220062007360288020c030b41a4a5c88000411941c0a6c8800010f480808000000b41b8a7c88000412741e0a7c8800010f480808000000b4180a7c88000412841a8a7c8800010f480808000000b20042106200b417f6a220b0d000b0b200341c0006a2480808080000f0b200528020c210e20052902102114200c4220882213a72105200ca7210d02402007200a470d002003418080808078360210200320093703080c020b2003200741186a22063602242007280208210120072902002109200729020c210c200841086a200741146a2802003602002008200c37020002402001418080808078460d0020132009422088520d00200d2009a7200510ed968080000d00200b450d01200e41002802a8bfd38000118080808000000c010b0b20032009370308200320013602100b024002400240024002400240024020042f018e022207410b490d004100210a0240024003402004280288022204450d01200a41016a210a20042f018e02410b4f0d000c020b0b200028020421062000280200210741002d00b8bfd380001a41c00241002802b0bfd38000118280808000002204450d022004200736029002200441003b018e02200441003602880220002004360200200741003b018c0220072004360288022000200641016a220a3602040b41002d00b8bfd380001a41900241002802b0bfd38000118280808000002206450d02200641003b018e022006410036028802200a417f6a2201450d04034041002d00b8bfd380001a41c00241002802b0bfd38000118280808000002207450d042007200636029002200741003b018e022007410036028802200641003b018c022006200736028802200721062001417f6a2201450d050c000b0b2004200741016a3b018e02200420074103746a220641b0016a200d360200200641b4016a2005360200200420074104746a2207200b3602002007200e360204200720143702080c040b410441c00210b980808000000b410441900210b980808000000b410441c00210b980808000000b20042f018e022207410b4f0d012004200741016a22013b018e02200420074103746a220f41b0016a200d360200200f41b4016a2005360200200420074104746a2207200b3602002007200e36020420072014370208200420014102746a4190026a2006360200200620013b018c022006200436028802200a450d0002400240200a41037122060d00200a21070c010b200a210703402007417f6a2107200420042f018e024102746a4190026a28020021042006417f6a22060d000b0b200a4104490d000340200420042f018e024102746a4190026a280200220420042f018e024102746a4190026a280200220420042f018e024102746a4190026a280200220420042f018e024102746a4190026a28020021042007417c6a22070d000b0b2002200228020041016a3602000c010b0b41d0a6c88000412041f0a6c8800010f480808000000bde0101047f23808080800041106b220324808080800002402001450d00200020014104746a21040340200028020021052003200028020422013602082003200341086a36020c2003410c6a200210f48f80800002402002280200200228020822066b20014f0d0020022006200110fc90808000200228020821060b200228020420066a2005200110e9968080001a2002200620016a3602082003200041086a36020c2003410c6a200210f48f80800020032000410c6a36020c2003410c6a200210f48f808000200041106a22002004470d000b0b200341106a2480808080000bde0101047f23808080800041106b220324808080800002402001450d00200020014104746a21040340200028020021052003200028020422013602082003200341086a36020c2003410c6a200210f48f80800002402002280200200228020822066b20014f0d0020022006200110fc90808000200228020821060b200228020420066a2005200110e9968080001a2002200620016a3602082003200041086a36020c2003410c6a200210f48f80800020032000410c6a36020c2003410c6a200210f48f808000200041106a22002004470d000b0b200341106a2480808080000b9c0303097f037e017f23808080800041c0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541246c6a2106200241086a41206a2107200241086a41086a2108200128020c210903402000200341386a220a360204200241086a41306a200341306a290300370300200241086a41286a200341286a2903003703002007200341206a290300370300200241086a41186a200341186a290300370300200241086a41106a200341106a2903003703002008200341086a29030037030020022003290300220b3703082009200810c99180800021032001200541016a22053602042007290200210c2002290234210d200228023c210e200641086a200741086a2802003602002006200c370200200641206a2003360200200641186a200b370200200641146a200e3602002006410c6a200d370200200641246a2106200a2103200a2004470d000b0b2001280200200536020002402000280208450d00200028020041002802a8bfd38000118080808000000b200241c0006a2480808080000b9f0501157f23808080800041e0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541386c6a2106200241c8006a41086a2107200128020c2108200241186a41106a21090340200241186a41086a220a200341186a2903003703002009200341206a290300370300200241086a41086a220b200341d0006a2802003602002002200329031037031820022003290348370308200328020c210c2003280208210d2003280204210e2003280240210f2003280244211020032d00602111200328025c21122003280258211320032802542114200328020021152000200341e8006a22163602040240024020154101710d0020072002290318370300200741086a200a2903003703002002200c36024c2002200d3602482008200241c8006a10c991808000210d418080808078210e0c010b200241306a41106a2009290300370300200241306a41086a200a29030037030020022002290318370330200241c8006a41106a200341386a2903003703002007200341306a290300370300200220032903283703482008200241306a10c991808000210a2008200241c8006a10c99180800021030b20062002290308370200200641346a20113a0000200641306a20103602002006412c6a200f360200200641286a2003360200200641246a200a360200200641206a200c3602002006411c6a200d360200200641186a200e360200200641146a2012360200200641106a20133602002006410c6a20143602002001200541016a2205360204200641086a200b280200360200200641386a21062016210320162004470d000b0b2001280200200536020002402000280208450d00200028020041002802a8bfd38000118080808000000b200241e0006a2480808080000be90202097f017e23808080800041c0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b2001280208200128020422054104746a2106200241086a41206a2107200241086a41086a2108200128020c210903402000200341386a220a360204200241086a41306a200341306a290300370300200241086a41286a200341286a2903003703002007200341206a290300370300200241086a41186a200341186a290300370300200241086a41106a200341106a2903003703002008200341086a29030037030020022003290300220b3703082009200810c99180800021032006410c6a2009200710c991808000360200200641086a20033602002006200b3702002001200541016a2205360204200641106a2106200a2103200a2004470d000b0b2001280200200536020002402000280208450d00200028020041002802a8bfd38000118080808000000b200241c0006a2480808080000bf905011a7f23808080800041e0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541cc006c6a2106200241c8006a41086a2107200128020c2108200241186a41106a21090340200241186a41086a220a200341186a2903003703002009200341206a29030037030020022003290310370318200328020c210b2003280208210c2003280204210d2003280240210e2003280244210f20032802482110200328024c211120032802502112200328025421132003280258211420032802002115200241086a41086a2216200341e4006a2802003602002000200341f8006a22173602042002200329025c37030820032d0074211820032802702119200328026c211a2003280268211b0240024020154101710d0020072002290318370300200741086a200a2903003703002002200b36024c2002200c3602482008200241c8006a10c991808000210c418080808078210d0c010b200241306a41106a2009290300370300200241306a41086a200a29030037030020022002290318370330200241c8006a41106a200341386a2903003703002007200341306a290300370300200220032903283703482008200241306a10c991808000210a2008200241c8006a10c99180800021030b20062010360200200641106a20143602002006410c6a2013360200200641086a2012360200200641046a2011360200200641146a2002290308370200200641c8006a20183a0000200641c4006a200f360200200641c0006a200e3602002006413c6a2003360200200641386a200a360200200641346a200b360200200641306a200c3602002006412c6a200d360200200641286a2019360200200641246a201a360200200641206a201b3602002006411c6a20162802003602002001200541016a2205360204200641cc006a21062017210320172004470d000b0b2001280200200536020002402000280208450d00200028020041002802a8bfd38000118080808000000b200241e0006a2480808080000bcc0303097f037e017f23808080800041f0006b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541246c6a2106200241086a2107200128020c210803402000200341386a2209360204200241306a220a200341306a290300370300200241286a200341286a290300220b370300200241206a200341206a290300220c370300200241186a200341186a290300370300200241106a200341106a2903003703002007200341086a29030037030020022003290300220d370300200228022421032002200836026c20022003200ba74105746a3602682002200c3e0264200220033602602002200336025c200241386a200241dc006a41a8adc8800010d38f8080002008200710c99180800021032001200541016a2205360204200228022c210e200641106a200a29030037020020062002290238370200200641186a200d370200200641206a20033602002002200e360244200641086a200241386a41086a290200370200200641246a21062009210320092004470d000b0b2001280200200536020002402000280208450d00200028020041002802a8bfd38000118080808000000b200241f0006a2480808080000be30101077f23808080800041c0016b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541c4006c6a2106200128020c210703402002200341f80010e99680800021082000200341f8006a2203360204200841fc006a2008200710fe8f8080002006200841fc006a41c40010e99680800021082001200541016a2205360204200841c4006a210620032004470d000b0b2001280200200536020002402000280208450d00200028020041002802a8bfd38000118080808000000b200241c0016a2480808080000bf105010d7f20002802042101024020002802082202450d0041002103034002402001200341386c6a2204280200450d00200428020441002802a8bfd38000118080808000000b0240200428020c450d00200428021041002802a8bfd38000118080808000000b0240024002400240024020042d00240e050001040402040b024020042802302205450d00200428022c21062005410171210741002108024020054101460d002005417e7121094100210820062105034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b0240200541206a280200450d00200541246a28020041002802a8bfd38000118080808000000b200541c0006a21052009200841026a2208470d000b0b2007450d00200620084105746a2205280200450d00200528020441002802a8bfd38000118080808000000b20042802280d020c030b02402004280230220a450d00200428022c210b4100210703400240200b200741246c6a22062802082205450d002006280204210c2005410171210d41002108024020054101460d002005417e71210941002108200c2105034002402005280200450d00200541046a28020041002802a8bfd38000118080808000000b0240200541206a280200450d00200541246a28020041002802a8bfd38000118080808000000b200541c0006a21052009200841026a2208470d000b0b200d450d00200c20084105746a2205280200450d00200528020441002802a8bfd38000118080808000000b02402006280200450d00200628020441002802a8bfd38000118080808000000b0240200628020c450d00200628021041002802a8bfd38000118080808000000b200741016a2207200a470d000b0b20042802280d010c020b2004280228450d010b2004412c6a28020041002802a8bfd38000118080808000000b02402004280218450d00200428021c41002802a8bfd38000118080808000000b200341016a22032002470d000b0b02402000280200450d00200141002802a8bfd38000118080808000000b0bbc03030b7f017e017f23808080800041c0006b2203248080808000200128020c2204200128020422056b41386e21064104210702400240024020042005470d002001280208210820012802002109410021064100210a0c010b4100210a41002d00b8bfd380001a2006410474220b41002802b0bfd38000118280808000002207450d01200341086a41206a210b200341086a41086a210c2001280210210d2001280208210820012802002109200721010340200341086a41306a200541306a290300370300200341086a41286a200541286a290300370300200b200541206a290300370300200341086a41186a200541186a290300370300200341086a41106a200541106a290300370300200c200541086a29030037030020032005290300220e370308200d200c10c991808000210f2001410c6a200d200b10c991808000360200200141086a200f3602002001200e370200200141106a2101200a41016a210a200541386a22052004470d000b0b02402008450d00200941002802a8bfd38000118080808000000b2000200a3602082000200736020420002006360200200341c0006a2480808080000f0b4104200b4188aac8800010ae80808000000bbf03010a7f23808080800041a0016b2203248080808000200128020c2204200128020422056b220641e8006e220741386c21080240024002400240200641d0b6dbed7e4d0d00410021010c010b024020042005470d00200128020821092001280200210a410021074104210b4100210c0c030b4100210c41002d00b8bfd380001a200841002802b0bfd3800011828080800000220b0d01410421010b200120084188aac8800010ae80808000000b20012802102108200128020821092001280200210a200b210103402003200541e80010e996808000220641e8006a2006200810ff8f808000200141306a200641e8006a41306a290200370200200141286a200641e8006a41286a290200370200200141206a200641e8006a41206a290200370200200141186a200641e8006a41186a290200370200200141106a200641e8006a41106a290200370200200141086a200641e8006a41086a29020037020020012006290268370200200141386a2101200c41016a210c200541e8006a22052004470d000b0b02402009450d00200a41002802a8bfd38000118080808000000b2000200c3602082000200b36020420002007360200200341a0016a2480808080000bc60301097f2380808080004190016b2203248080808000200128020c2204200128020422056b220641d0006e220741386c21080240024002400240200641a0dbedb67b4d0d00410021030c010b024020042005470d00200128020821092001280200210a410021074104210b410021060c030b4100210641002d00b8bfd380001a200841002802b0bfd3800011828080800000220b0d01410421030b200320084188aac8800010ae80808000000b20012802102108200128020821092001280200210a200b21010340200341086a200541d00010e9968080001a200341d8006a200341086a200810ea8f808000200141306a200341d8006a41306a290200370200200141286a200341d8006a41286a290200370200200141206a200341d8006a41206a290200370200200141186a200341d8006a41186a290200370200200141106a200341d8006a41106a290200370200200141086a200341d8006a41086a29020037020020012003290258370200200141386a2101200641016a2106200541d0006a22052004470d000b0b02402009450d00200a41002802a8bfd38000118080808000000b200020063602082000200b3602042000200736020020034190016a2480808080000bda02020a7f017e23808080800041206b2203248080808000024002400240200128020c220420012802042205470d00200128020821062001280200210741002108410421094100210a0c010b4100210a41002d00b8bfd380001a200420056b4105762208410c6c220b41002802b0bfd38000118280808000002209450d01200341086a210b2001280210210c2001280208210620012802002107200921010340200341186a200541186a290300370300200341106a200541106a290300370300200b200541086a29030037030020032005290300220d370300200141086a200c200b10c9918080003602002001200d3702002001410c6a2101200a41016a210a200541206a22052004470d000b0b02402006450d00200741002802a8bfd38000118080808000000b2000200a3602082000200936020420002008360200200341206a2480808080000f0b4104200b4188aac8800010ae80808000000baf0201077f23808080800041306b2203248080808000200128020c2204200128020422056b220641386e220741246c2108024002400240200641a8e3f1b87c4d0d00410021030c010b024020042005470d0041042106410021070c020b41002d00b8bfd380001a200841002802b0bfd380001182808080000022060d01410421030b200320084188aac8800010ae80808000000b200341046a41086a2208410036020020032006360208200320073602042001280210210720012802002109200128020821012003200436021c2003200136021820032005360214200320093602102003200736022c200320063602282003410036022420032008360220200341106a200341206a10cd8f808000200041086a200828020036020020002003290204370200200341306a2480808080000ba00703077f017e017f2380808080004190016b2203248080808000200341386a20011095908080000240024002402003280258418080808078460d00200328023c210420032802382105200341e8006a41206a200341e0006a290300370300200341e8006a41186a2206200341386a41206a290300370300200341e8006a41106a200341386a41186a290300370300200341f0006a200341386a41106a290300370300200320032903403703682001280224200341e8006a10c991808000210720062802002208418080808078470d010b2000410036020820004280808080c0003702002001109b908080000c010b200128022041016a2206417f20061b22064104200641044b1b2209ad42187e220aa721064100210b02400240200a422088a70d00200641fcffffff074b0d00200329028401210a024020060d004104210b410021090c020b41002d00b8bfd380001a200641002802b0bfd3800011828080800000220b0d014104210b0b200b2006200210ae80808000000b200b2007360214200b200a37020c200b2008360208200b2004360204200b20053602002003410136020c2003200b36020820032009360204200341106a41206a200141206a290200370300200341106a41186a200141186a290200370300200341106a41106a200141106a290200370300200341106a41086a200141086a29020037030020032001290200370310200341386a200341106a10959080800002402003280258418080808078460d00200341386a41086a2101412c2104410121060340200328023c210520032802382107200341e8006a41206a200141206a290300370300200341e8006a41186a2202200141186a290300370300200341e8006a41106a200141106a290300370300200341e8006a41086a200141086a290300370300200320012903003703682003280234200341e8006a10c991808000210820022802002209418080808078460d01200329028401210a024020062003280204470d00200341046a2006200328023041016a2202417f20021b410441181087908080002003280208210b0b200b20046a22022008360200200241786a200a370200200241746a2009360200200241706a20053602002002416c6a20073602002003200641016a220636020c200441186a2104200341386a200341106a1095908080002003280258418080808078470d000b0b200341106a109b9080800020002003290204370200200041086a200341046a41086a2802003602000b20034190016a2480808080000bbb0503037f017e067f23808080800041e0006b2203248080808000200341186a20011094908080000240024020032802180d002000410036020820004280808080c0003702002001109c908080000c010b200128022041016a2204417f20041b22044104200441044b1b2205ad42147e2206a7210441002107024002402006422088a70d00200441fcffffff074b0d00200328022c210720032802282108200328022421092003280220210a20032d001c210b024020040d004104210c410021050c020b41002d00b8bfd380001a200441002802b0bfd3800011828080800000220c0d01410421070b20072004200210ae80808000000b200c2007360210200c200836020c200c2009360208200c200a360204200c200b3a00002003200c3602102003200536020c20034101360214200341186a41206a200141206a290200370300200341186a41186a200141186a290200370300200341186a41106a200141106a290200370300200341186a41086a200141086a29020037030020032001290200370318200341c8006a200341186a109490808000024020032802484101470d0041242105410121040340200328025c210220032802582107200328025421082003280250210920032d004c210a02402004200328020c470d002003410c6a2004200328023841016a2201417f20011b410441141087908080002003280210210c0b200c20056a220141706a200a3a0000200120023602002001417c6a2007360200200141786a2008360200200141746a2009360200200141716a220120032f00453b0000200141026a200341c5006a41026a2d00003a00002003200441016a2204360214200541146a2105200341c8006a200341186a10949080800020032802480d000b0b200341186a109c90808000200041086a2003410c6a41086a2802003602002000200329020c3702000b200341e0006a2480808080000bf11501087f200020011084908080000240024002400240024002400240024002400240200128020022004188808080786a41102000418880808078481b41786a0e080102030405060708000b200110cf8f808000024020012802142202450d002001280210210341002104034002402003200441a0016c6a2205280280012200418080808078460d0002402005280288012206450d0020052802840141186a210003400240200041146a2802002207418080808078460d002007450d00200041186a28020041002802a8bfd38000118080808000000b02402000417c6a280200450d00200028020041002802a8bfd38000118080808000000b0240200041086a280200450d002000410c6a28020041002802a8bfd38000118080808000000b200041cc006a21002006417f6a22060d000b20052802800121000b2000450d0020052802840141002802a8bfd38000118080808000000b02402005280200450d00200541086a109a908080000b02402005280214450d002005411c6a109a908080000b024020052802582206450d00200528025441246a210003400240200041706a280200450d00200041746a28020041002802a8bfd38000118080808000000b02402000417c6a280200450d00200028020041002802a8bfd38000118080808000000b200041386a21002006417f6a22060d000b0b02402005280250450d00200528025441002802a8bfd38000118080808000000b02402005280228450d00200541306a109a908080000b024020052802642200450d00200528026021082000410171210941002106024020004101460d002000417e7121074100210620082100034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b0240200041186a280200450d002000411c6a28020041002802a8bfd38000118080808000000b200041306a21002007200641026a2206470d000b0b2009450d002008200641186c6a2200280200450d00200028020441002802a8bfd38000118080808000000b0240200528025c450d00200528026041002802a8bfd38000118080808000000b024020052802702206450d00200528026c41246a210003400240200041706a280200450d00200041746a28020041002802a8bfd38000118080808000000b02402000417c6a280200450d00200028020041002802a8bfd38000118080808000000b200041d8006a21002006417f6a22060d000b0b02402005280268450d00200528026c41002802a8bfd38000118080808000000b02402005280274450d00200528027841002802a8bfd38000118080808000000b200441016a22042002470d000b0b0240200128020c450d00200128021041002802a8bfd38000118080808000000b02402001280218450d00200128021c41002802a8bfd38000118080808000000b2001413c6a10999080800002402001280224450d00200128022841002802a8bfd38000118080808000000b024020012802502204450d00200128024c210841002107034002402008200741386c6a220528021c2206450d00200528021841246a210003400240200041706a280200450d00200041746a28020041002802a8bfd38000118080808000000b02402000417c6a280200450d00200028020041002802a8bfd38000118080808000000b200041386a21002006417f6a22060d000b0b02402005280214450d00200528021841002802a8bfd38000118080808000000b02402005280220450d00200528022441002802a8bfd38000118080808000000b200741016a22072004470d000b0b02402001280248450d00200128024c41002802a8bfd38000118080808000000b200141e0006a1098908080000f0b2001280204450d07200128020841002802a8bfd38000118080808000000f0b2001280204450d06200128020841002802a8bfd38000118080808000000f0b2001280204450d05200128020841002802a8bfd38000118080808000000f0b2001280204450d04200128020841002802a8bfd38000118080808000000f0b2001280204450d03200128020841002802a8bfd38000118080808000000f0b2001280204450d02200128020841002802a8bfd38000118080808000000f0b200141046a10cf8f808000024020012802182208450d002001280214210941002104034002402009200441c4006c6a22072802242200418080808078460d000240200728022c2206450d002007280228210003400240200041186a2802002205418080808078460d002005450d002000411c6a28020041002802a8bfd38000118080808000000b02402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041386a21002006417f6a22060d000b200728022421000b2000450d00200728022841002802a8bfd38000118080808000000b024020072802202206450d00200728021c2100034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041246a21002006417f6a22060d000b0b02402007280218450d00200728021c41002802a8bfd38000118080808000000b200441016a22042008470d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b200128021c450d01200128022041002802a8bfd38000118080808000000f0b200141046a10cf8f808000024020012802182208450d002001280214210941002104034002402009200441d0006c6a22072802302200418080808078460d00024020072802382206450d002007280234210003400240200041186a2802002205418080808078460d002005450d002000411c6a28020041002802a8bfd38000118080808000000b02402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041386a21002006417f6a22060d000b200728023021000b2000450d00200728023441002802a8bfd38000118080808000000b024020072802202206450d00200728021c2100034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041246a21002006417f6a22060d000b0b02402007280218450d00200728021c41002802a8bfd38000118080808000000b02402007280224450d00200728022841002802a8bfd38000118080808000000b200441016a22042008470d000b0b02402001280210450d00200128021441002802a8bfd38000118080808000000b0240200128021c450d00200128022041002802a8bfd38000118080808000000b024020012802442204450d00200128024021084100210703400240200820074105746a22052802082206450d0020052802042100034002402000280200450d00200041046a28020041002802a8bfd38000118080808000000b02402000410c6a280200450d00200041106a28020041002802a8bfd38000118080808000000b200041246a21002006417f6a22060d000b0b02402005280200450d00200528020441002802a8bfd38000118080808000000b0240200528020c450d00200528021041002802a8bfd38000118080808000000b200741016a22072004470d000b0b0240200128023c450d00200128024041002802a8bfd38000118080808000000b200141d8006a1098908080000b0bb810060b7f017e097f017e027f017e2380808080004180036b22032480808080004180808080782104200128027c210520012802782106024002400240024002402001280280012207418080808078470d000c010b2001280284012108200128028c012109200128029001210a02400240200128028801220b0d004104210c0c010b41002d00b8bfd380001a200b41cc006c220d41002802b0bfd3800011828080800000220c450d020b200341003602b4012003200c3602b0012003200b3602ac01200320073602b002200320083602ac02200320083602a80220032008200b41f8006c6a3602b402200320023602c4012003200c3602c001200341003602bc012003200341b4016a3602b801200341a8026a200341b8016a10cc8f80800020032802ac01210420032902b001210e0b4100210f41002110024020012802102208450d00200341086a200141086a2903003703002003411c6a220b2001411c6a290200370200200341246a200141246a2802003602002003200836021020032001290300370300200320012902143702142002200310c9918080002107200b280200210b2003280220210c20032802182108200320023602dc012003200c410020081b3602d8012003200b3602d401200320083602d001200341003602cc0120032008410047220c3602c8012003200b3602c401200320083602c001200341003602bc012003200c3602b8012003412c6a200341b8016a10969080800020032007360228410121100b024020012802382208450d00200341c0006a200141306a290300370300200341d4006a220b200141c4006a290200370200200341dc006a200141cc006a28020036020020032008360248200320012903283703382003200129023c37024c2002200341386a10c9918080002107200b280200210b2003280258210c20032802502108200320023602dc012003200c410020081b3602d8012003200b3602d401200320083602d001200341003602cc0120032008410047220c3602c8012003200b3602c401200320083602c001200341003602bc012003200c3602b801200341e4006a200341b8016a109690808000200320073602604101210f0b200128029c01210b20012802980121082001280294012107200320023602c801200320073602c001200320083602bc01200320083602b80120032008200b41d0006c6a3602c401200341ac016a200341b8016a41a8adc8800010d28f8080004100211141002112024020012802602208450d00200341f8006a200141d8006a2903003703002003418c016a220b200141ec006a29020037020020034194016a200141f4006a28020036020020032008360280012003200129035037037020032001290264370284012002200341f0006a10c9918080002107200b280200210b200328029001210c2003280288012108200320023602dc012003200c410020081b3602d8012003200b3602d401200320083602d001200341003602cc0120032008410047220c3602c8012003200b3602c401200320083602c001200341003602bc012003200c3602b801200341a0016a200341b8016a1096908080002003200736029c01410121120b20012802a401211320012802a00121140240024020012802a80122150d00410421160c010b4100210741002d00b8bfd380001a201541186c220841002802b0bfd38000118280808000002216450d02201541306c210c201541047441706a41047641016a2111200341b8016a41086a210d201321080340200341b8016a41286a220b200841286a290300370300200341b8016a41206a2217200841206a290300370300200341b8016a41186a200841186a290300370300200341b8016a41106a200841106a290300370300200d200841086a2903003703002003200829030022183703b8012002200d10c9918080002119200b280200211a2017290300211b201620076a220b41146a2019360200200b410c6a2018370200200b201b370200200b41086a201a360200200741186a2107200841306a2108200c41506a220c0d000b0b02402014450d00201341002802a8bfd38000118080808000000b20012802b001211720012802ac0121190240024020012802b401220c0d004100211a4104210d0c010b41002d00b8bfd380001a200c41d8006c220841002802b0bfd3800011828080800000220d450d03200c41f0006c210b200c41047441706a41047641016a211a200d2107201721080340200341b8016a200841f00010e9968080001a200341a8026a200341b8016a200210d98f8080002007200341a8026a41d80010e99680800041d8006a2107200841f0006a2108200b41907f6a220b0d000b0b02402019450d00201741002802a8bfd38000118080808000000b200020053602980120002006360294012000200a360290012000200936028c012000200e37028401200020043602800120002010360200200020032902283702042000410c6a200341286a41086a29020037020020012802d401210820012902c401211820012902cc01211b20012903b801210e20012802c001210b20012d00d80121072000200f360214200020123602282000201536025c20002016360260200020113602642000200c3602682000200d36026c2000201a360270200020073a009c0120002003290260370218200041206a200341e0006a41086a290200370200200020032902ac01370250200041d8006a200341ac016a41086a2802003602002000200329029c0137022c200041346a2003419c016a41086a2902003702002000200b36027c2000200e3702742000201b3702442000201837023c2000200836024c20034180036a2480808080000f0b4104200d10b980808000000b4104200810b980808000000b4104200810b980808000000bea03020c7f037e23808080800041206b220324808080800020012802442104200128024021052001280224210620012802202107024002400240200128024822080d00410021094104210a0c010b41002d00b8bfd380001a2008410c6c220b41002802b0bfd3800011828080800000220a450d012008410574220c41606a41057641016a2109200341086a210d200a210e2004210b0340200341186a200b41186a290300370300200341106a200b41106a290300370300200d200b41086a2903003703002003200b290300220f370300200e41086a2002200d10c991808000360200200e200f370200200e410c6a210e200b41206a210b200c41606a220c0d000b0b02402005450d00200441002802a8bfd38000118080808000000b2002200141286a10c991808000210b200020063602302000200736022c2000200b3602542000200936021c2000200a36021820002008360214200020012902003702342000413c6a200141086a290200370200200041c4006a200141106a290200370200200041cc006a200141186a2902003702002001280268210b2001290358210f20012903602110200129024c21112000200128025436022820002011370220200020103702082000200f3702002000200b360210200341206a2480808080000f0b4104200b10b980808000000b9e03020c7f017e23808080800041206b220324808080800020012802242104200128022021052001280204210620012802002107024002400240200128022822080d00410021094104210a0c010b41002d00b8bfd380001a2008410c6c220b41002802b0bfd3800011828080800000220a450d012008410574220c41606a41057641016a2109200341086a210d200a210e2004210b0340200341186a200b41186a290300370300200341106a200b41106a290300370300200d200b41086a2903003703002003200b290300220f370300200e41086a2002200d10c991808000360200200e200f370200200e410c6a210e200b41206a210b200c41606a220c0d000b0b02402005450d00200441002802a8bfd38000118080808000000b2002200141086a10c991808000210b200020063602302000200736022c2000200b3602342000200936021c2000200a36021820002008360214200020012802343602282000200129022c370220200020012802483602102000200129034037020820002001290338370200200341206a2480808080000f0b4104200b10b980808000000bd50501057f23808080800041106b220224808080800002400240200028020c22030d000240200128020020012802082204470d0020012004410110fc90808000200128020821040b200128020420046a41003a0000200441016a21040c010b0240200128020020012802082204470d0020012004410110fc90808000200128020821040b200128020420046a41013a00002001200441016a3602082002200028021022043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a200520046a21040b200120043602082002200041146a36020c2002410c6a200110f48f80800002400240200028021822030d000240200128020020012802082204470d0020012004410110fc90808000200128020821040b200128020420046a41003a0000200441016a21040c010b0240200128020020012802082204470d0020012004410110fc90808000200128020821040b200128020420046a41013a00002001200441016a3602082002200028021c22043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a200520046a21040b20012004360208200028020421042002200028020822003602082002200241086a36020c2002410c6a200110f48f80800002402000450d00200420004103746a21060340200428020021032002200428020422003602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20004f0d0020012005200010fc90808000200128020821050b200128020420056a2003200010e9968080001a2001200520006a360208200441086a22042006470d000b0b200241106a2480808080000be20301057f23808080800041106b2202248080808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a360208200028020421042002200028020822053602082002200241086a36020c2002410c6a200110f48f80800002402005450d002005410574210503402004200110db8f808000200441206a2104200541606a22050d000b0b20002d002021050240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a20053a0000200028021021042002200028021422053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200420054103746a21060340200428020021032002200428020422053602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822006b20054f0d0020012000200510fc90808000200128020821000b200128020420006a2003200510e9968080001a2001200020056a360208200441086a22042006470d000b0b200241106a2480808080000b830203037f017e017f2380808080004180206b220324808080800002400240024020014195ac1420014195ac14491b2204200120014101766b2205200420054b1b220441ab01490d002004ad42187e2206a721054100210702402006422088a70d00200541fcffffff074b0d00024020050d0041042107410021040c030b41002d00b8bfd380001a200541002802b0bfd380001182808080000022070d02410421070b200720054198acc8800010ae80808000000b20002001200341aa01200141c1004920021088908080000c010b2000200120072004200141c100492002108890808000200741002802a8bfd38000118080808000000b20034180206a2480808080000b830203037f017e017f2380808080004180206b220324808080800002400240024020014180b51820014180b518491b2204200120014101766b2205200420054b1b220441cd01490d002004ad42147e2206a721054100210702402006422088a70d00200541fcffffff074b0d00024020050d0041042107410021040c030b41002d00b8bfd380001a200541002802b0bfd380001182808080000022070d02410421070b200720054198acc8800010ae80808000000b20002001200341cc01200141c1004920021089908080000c010b2000200120072004200141c100492002108990808000200741002802a8bfd38000118080808000000b20034180206a2480808080000b860401047f23808080800041106b220224808080800002400240200028020022002802000d000240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41013a00000c010b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41023a0000200028020021042002200028020422033602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20034f0d0020012005200310fc90808000200128020821050b200128020420056a2004200310e9968080001a2001200520036a2203360208024020002802080d00024020012802002003470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41003a00000c010b024020012802002003470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41013a0000200028020821052002200028020c22003602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822036b20004f0d0020012003200010fc90808000200128020821030b200128020420036a2005200010e9968080001a2001200320006a3602080b200241106a2480808080000b8f0401067f23808080800041106b2202248080808000200028024021032002200028024422043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a220436020820002d00482105024020012802002004470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a20053a00002000412c6a2001108390808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a360208200028022421042002200028022822053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200420054103746a21060340200428020021072002200428020422053602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822036b20054f0d0020012003200510fc90808000200128020821030b200128020420036a2007200510e9968080001a2001200320056a360208200441086a22042006470d000b0b2000200110f38f808000200241106a2480808080000be50101047f23808080800041106b2203248080808000200320013602082003200341086a36020c2003410c6a200210f48f80800002402001450d0020002001410c6c6a21040340200028020021052003200028020422013602082003200341086a36020c2003410c6a200210f48f80800002402002280200200228020822066b20014f0d0020022006200110fc90808000200228020821060b200228020420066a2005200110e9968080001a2002200620016a3602082003200041086a36020c2003410c6a200210f48f8080002000410c6a22002004470d000b0b200341106a2480808080000be00201057f23808080800041106b2202248080808000200028020c21032002200028021022043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a3602082002200041146a36020c2002410c6a200110f48f808000200028020421042002200028020822003602082002200241086a36020c2002410c6a200110f48f80800002402000450d00200420004103746a21060340200428020021032002200428020422003602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20004f0d0020012005200010fc90808000200128020821050b200128020420056a2003200010e9968080001a2001200520006a360208200441086a22042006470d000b0b200241106a2480808080000bf20201057f23808080800041106b2202248080808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a36020820002802042000280208200110e18f8080002002200041206a36020c2002410c6a200110f48f808000200028021021042002200028021422003602082002200241086a36020c2002410c6a200110f48f80800002402000450d00200420004103746a21060340200428020021032002200428020422003602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20004f0d0020012005200010fc90808000200128020821050b200128020420056a2003200010e9968080001a2001200520006a360208200441086a22042006470d000b0b200241106a2480808080000bf80301067f23808080800041106b2202248080808000200041346a210302402001280200200128020822046b411f4b0d0020012004412010fc90808000200128020821040b200128020420046a22052003290000370000200541086a200341086a290000370000200541106a200341106a290000370000200541186a200341186a2900003700002001200441206a360208200028022c21042002200028023022033602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20034f0d0020012005200310fc90808000200128020821050b200128020420056a2004200310e9968080001a2001200520036a3602082000280218200028021c200110e18f8080002002200041d4006a36020c2002410c6a200110f48f808000200028022421032002200028022822053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200320054103746a21060340200328020021072002200328020422053602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822046b20054f0d0020012004200510fc90808000200128020821040b200128020420046a2007200510e9968080001a2001200420056a360208200341086a22032006470d000b0b2000200110f38f808000200241106a2480808080000bfc0201067f23808080800041106b2202248080808000200028022c21032002200028023022043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a3602082000280218200028021c200110e18f8080002002200041346a36020c2002410c6a200110f48f808000200028022421042002200028022822053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200420054103746a21060340200428020021072002200428020422053602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822036b20054f0d0020012003200510fc90808000200128020821030b200128020420036a2007200510e9968080001a2001200320056a360208200441086a22042006470d000b0b2000200110f38f808000200241106a2480808080000bd90301067f23808080800041106b2202248080808000200028022c21032002200028023022043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a3602082002200041346a36020c2002410c6a200110f48f808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a360208200028022421042002200028022822053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200420054103746a21060340200428020021072002200428020422053602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822036b20054f0d0020012003200510fc90808000200128020821030b200128020420036a2007200510e9968080001a2001200320056a360208200441086a22042006470d000b0b2000200110f38f808000200241106a2480808080000bf50705057f017e0f7f027e017f23808080800041b0016b2203248080808000200128024c2104200128024821054180808080782106024020012802502207418080808078460d00200129025c2108200128025421092001280258210a200320023602880120032009200a41e8006c6a3602840120032007360280012003200936027c200320093602782003411c6a200341f8006a41a8adc8800010d18f808000200341106a200837030020032003290220370308200328021c21060b4100210b02400240200128021022090d004100210c0c010b200341306a41086a200141086a2903003703002003200936024020032001290300370330200320012802143602444101210c2002200341306a10c991808000210d0b02400240200128022822090d000c010b200341d0006a200141206a29030037030020032009360258200320012903183703482003200128022c36025c4101210b2002200341c8006a10c991808000210e0b2001280268210f20012802642110024002400240200128026c22110d0041002112410421130c010b4100210a41002d00b8bfd380001a201141246c220941002802b0bfd38000118280808000002213450d01201141386c2114201141037441786a41037641016a2112200341f8006a41206a2115200341f8006a41086a2116200f21090340200341f8006a41306a200941306a290300370300200341f8006a41286a200941286a2903003703002015200941206a290300370300200341f8006a41186a200941186a290300370300200341f8006a41106a200941106a2903003703002016200941086a2903003703002003200929030022083703782002201610c99180800021172015290200211820032902a401211920032802ac01211a2013200a6a220741086a201541086a28020036020020072018370200200741206a2017360200200741186a2008370200200741146a201a3602002007410c6a2019370200200a41246a210a200941386a2109201441486a22140d000b0b02402010450d00200f41002802a8bfd38000118080808000000b02400240200128024022090d00410021090c010b200341e8006a200141386a290300370300200320093602702003200129033037036020032001280244360274410121092002200341e0006a10c99180800021070b20002004360248200020053602442000200636023020002003290308370234200020123602202000201336021c200020113602182000200e36020c2000200b3602082000200d3602042000200c3602002000200128027836022c200020012903703702242000413c6a200341106a290300370200200020012d007c3a004c2000200736021420002009360210200341b0016a2480808080000f0b4104200910b980808000000bdc0b02107f017e23808080800041e0036b22062480808080004100210720064100360224200642003702182006420037020c200642808080808001370204200128020021082001280204210902400240024002402001280208220a0d004104210b0c010b41002d00b8bfd380001a200a41a0016c220141002802b0bfd3800011828080800000220b450d01200a41e0016c210c200a41057441606a41057641016a2107200b210d200921010340200641e0006a200141e00110e9968080001a200641c0026a200641e0006a200641046a10d88f808000200d200641c0026a41a00110e99680800041a0016a210d200141e0016a2101200c41a07e6a220c0d000b0b02402008450d00200941002802a8bfd38000118080808000000b200641386a41086a200241dc006a28020036020020062002290254370338200641046a200210c991808000210e200641046a200241186a10c991808000210f200641046a200241306a10c9918080002110200641286a41086a200241d0006a2802003602002006200229024837032841042111200228026421122002280260211302400240200228026822140d00410021150c010b41002d00b8bfd380001a2014410474220141002802b0bfd38000118280808000002211450d02201441386c210d201441037441786a41037641016a2115200641e0006a41206a2102200641e0006a41086a21092011210c201221010340200641e0006a41306a200141306a290300370300200641e0006a41286a200141286a2903003703002002200141206a290300370300200641e0006a41186a200141186a290300370300200641e0006a41106a200141106a2903003703002009200141086a290300370300200620012903002216370360200641046a200910c9918080002108200c410c6a200641046a200210c991808000360200200c41086a2008360200200c2016370200200c41106a210c200141386a2101200d41486a220d0d000b0b02402013450d00201241002802a8bfd38000118080808000000b200620032802003602682006200328020422013602642006200136026020062001200328020841386c6a36026c2006200641046a360270200641c8006a200641e0006a4198abc8800010fa8f808000200641046a200410c991808000210c200641046a200441186a10c991808000210d200641046a200441306a10c9918080002102200641003602742006410036026420062005280204220936027c2006200528020022013602782006200936026c2006200136026820062005280208410020011b36028001200620014100472201360270200620013602602006200641046a36028401200641d4006a200641e0006a109790808000200641c0026a41206a200641046a41206a2802002209360200200641c0026a41186a2208200641046a41186a2902002216370300200641c0026a41106a200641046a41106a290200370300200641c0026a41086a200641046a41086a290200370300200620062902043703c0022006200941002016a722011b36028001200620062802dc02220936027c20062001360278200641003602742006200141004722053602702006200936026c2006200136026820064100360264200620053602602000200641e0006a41d8c0cb800010af91808000200641cc026a10b591808000024020062802c002450d0020062802c40241002802a8bfd38000118080808000000b200810b691808000200020073602142000200b3602102000200a36020c20002006290338370218200041206a200641386a41086a280200360200200020103602382000200f3602342000200e3602302000201536022c20002011360228200020143602242000200629032837023c200041c4006a200641286a41086a2802003602002000200236025c2000200d3602582000200c36025420002006290248370248200041d0006a200641c8006a41086a28020036020020002006290254370260200041e8006a200641d4006a41086a280200360200200641e0036a2480808080000f0b4104200110b980808000000b4104200110b980808000000be703010b7f2380808080004190016b2203248080808000200128021821042001280214210520012802302106200128022c2107024002400240200128021c22080d00410021094104210a0c010b41002d00b8bfd380001a200841386c220b41002802b0bfd3800011828080800000220a450d01200841d0006c210c200841047441706a41047641016a2109200a210b2004210d0340200341086a200d41d00010e9968080001a200341d8006a200341086a200210da8f808000200b41306a200341d8006a41306a290200370200200b41286a200341d8006a41286a290200370200200b41206a200341d8006a41206a290200370200200b41186a200341d8006a41186a290200370200200b41106a200341d8006a41106a290200370200200b41086a200341d8006a41086a290200370200200b2003290258370200200b41386a210b200d41d0006a210d200c41b07f6a220c0d000b0b02402005450d00200441002802a8bfd38000118080808000000b200020063602302000200736022c2000200936021c2000200a3602182000200836021420002001280234360234200020012802283602282000200129022037022020002001280210360210200020012902083702082000200129020037020020034190016a2480808080000f0b4104200b10b980808000000b7001017e2001290300210320002002200141086a10c9918080003602342000200337022c200020012902203702142000411c6a200141286a280200360200200020012802343602282000200129022c3702202000200128024836021020002001290340370208200020012903383702000bd704020c7f017e024002402000280224220141c0004f0d00410621020c010b02402001418080014f0d00410721020c010b4109410a2001418080808004491b21020b410121014101210302402000280228220441c000490d0041022103200441808001490d00410441052004418080808004491b21030b0240200028022c220441c000490d0041022101200441808001490d00410441052004418080808004491b21010b410121044101210502402000280230220641c000490d0041022105200641808001490d00410441052006418080808004491b21050b02402000280244220641c000490d0041022104200641808001490d00410441052006418080808004491b21040b410121064101210702402000280248220841c000490d0041022107200841808001490d00410441052008418080808004491b21070b0240200028024c220841c000490d0041022106200841808001490d00410441052008418080808004491b21060b20002802142108200028020821092000280220210a2000280240210b024002402000280250220c41c0004f0d004101210c0c010b0240200c418080014f0d004102210c0c010b41044105200c418080808004491b210c0b417f417f417f417f417f417f200941386c4104722209200841d0006c6a41046a220820082009491b2208200220036a20016a20056a200a4104746a6a220120012008491b220120046a220320032001491b2201200b4105746a41046a220320032001491b2201200620076a200c6a6a220320032001491b22014103200035025c42187e220da7410472200d422088a71b6a220020002001491b0be80401037f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110f48f80800002402004450d00200441386c210403402003200110f68f808000200341386a2103200441486a22040d000b0b200028021021032002200028021422043602082002200241086a36020c2002410c6a200110f48f80800002402004450d00200441d0006c210403402003200110ed8f808000200341d0006a2103200441b07f6a22040d000b0b20002d003421040240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a20043a00002002200041246a36020c2002410c6a200110f48f8080002002200041286a36020c2002410c6a200110f48f80800020022000412c6a36020c2002410c6a200110f48f8080002002200041306a36020c2002410c6a200110f48f808000200028021c21032002200028022022043602082002200241086a36020c2002410c6a200110f48f80800020032004200110c88f8080002002200041c4006a36020c2002410c6a200110f48f808000200028023c21032002200028024022043602082002200241086a36020c2002410c6a200110f48f80800002402004450d002004410574210403402003200110ee8f808000200341206a2103200441606a22040d000b0b2002200041c8006a36020c2002410c6a200110f48f8080002002200041cc006a36020c2002410c6a200110f48f8080002002200041d0006a36020c2002410c6a200110f48f808000200041d4006a2001109290808000200241106a2480808080000be30801057f23808080800041106b2202248080808000200028024421032002200028024822043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a2204360208024002402000280230418080808078470d00024020012802002004470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41003a00000c010b200041306a2105024020012802002004470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41013a0000200520011082908080000b0240024020002802000d000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41003a00000c010b200041046a21050240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a200110f48f8080000b0240024020002802080d000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41003a00000c010b2000410c6a21050240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a200110f48f8080000b200028021c21042002200028022022053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200541246c210503402004200110fb8f808000200441246a21042005415c6a22050d000b0b0240024020002802100d000240200128020020012802082205470d0020012005410110fc90808000200128020821050b2001200541016a2204360208200128020420056a41003a00000c010b200041146a21050240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a200110f48f808000200128020821040b20002d004c2105024020012802002004470d0020012004410110fc90808000200128020821040b200128020420046a20053a00002001200441016a360208200028022821042002200028022c22053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200420054103746a21060340200428020021032002200428020422053602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822006b20054f0d0020012000200510fc90808000200128020821000b200128020420006a2003200510e9968080001a2001200020056a360208200441086a22042006470d000b0b200241106a2480808080000b9f0301057f23808080800041106b2202248080808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a360208200028020421042002200028020822053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200541246c210503402004200110e38f808000200441246a21042005415c6a22050d000b0b200028021021042002200028021422053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200420054103746a21060340200428020021032002200428020422053602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822006b20054f0d0020012000200510fc90808000200128020821000b200128020420006a2003200510e9968080001a2001200020056a360208200441086a22042006470d000b0b200241106a2480808080000bb704020d7f017e410121014101210202402000280230220341c000490d0041022102200341808001490d00410441052003418080808004491b21020b02402000280234220341c000490d0041022101200341808001490d00410441052003418080808004491b21010b410121044101210502402000280238220341c000490d0041022105200341808001490d00410441052003418080808004491b21050b02402000280254220341c000490d0041022104200341808001490d00410441052003418080808004491b21040b410121064101210702402000280258220341c000490d0041022107200341808001490d00410441052003418080808004491b21070b20002802202108200028021421092000280208210a2000280250210b200028022c210c200028024421030240200028025c220d41c000490d0041022106200d41808001490d0041044105200d418080808004491b21060b417f417f417f417f417f200a41386c410472220a200941a0016c6a41046a22092009200a491b2209417f417f417f417f417f200841046a220820026a220220022008491b220220016a220120012002491b220120056a220220022001491b220141032003410474410472200341ffffffff004b1b6a220320032001491b2203200c4104746a41046a220120012003491b6a220320032009491b2203200b41386c6a41046a220120012003491b2203200720046a20066a6a220120012003491b22034103200035026842187e220ea7410472200e422088a71b6a220020002003491b0bf20401047f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110f48f80800002402004450d00200441386c210403402003200110f68f808000200341386a2103200441486a22040d000b0b200028021021032002200028021422043602082002200241086a36020c2002410c6a200110f48f80800002402004450d00200441a0016c210403402003200110f18f808000200341a0016a2103200441e07e6a22040d000b0b200028021c21052002200028022022033602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822046b20034f0d0020012004200310fc90808000200128020821040b200128020420046a2005200310e9968080001a2001200420036a3602082002200041306a36020c2002410c6a200110f48f8080002002200041346a36020c2002410c6a200110f48f8080002002200041386a36020c2002410c6a200110f48f8080002000413c6a2001109190808000200028022821032002200028022c22043602082002200241086a36020c2002410c6a200110f48f80800020032004200110c88f808000200028024c21032002200028025022043602082002200241086a36020c2002410c6a200110f48f80800002402004450d00200441386c210403402003200110f28f808000200341386a2103200441486a22040d000b0b2002200041d4006a36020c2002410c6a200110f48f8080002002200041d8006a36020c2002410c6a200110f48f8080002002200041dc006a36020c2002410c6a200110f48f808000200041e0006a2001109290808000200241106a2480808080000bfe0b01067f23808080800041106b22022480808080002000280294012103200220002802980122043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a220436020802400240200028028001418080808078470d00024020012802002004470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41003a00000c010b024020012802002004470d0020012004410110fc90808000200128020821040b200128020420046a41013a00002001200441016a360208200028028c012103200220002802900122043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a3602082000280284012104200220002802880122053602082002200241086a36020c2002410c6a200110f48f8080002005450d00200541cc006c210503402004200110e08f808000200441cc006a2104200541b47f6a22050d000b0b0240024020002802000d000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41003a00000c010b200041046a21050240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a200110f48f808000200041086a20011093908080000b0240024020002802140d000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41003a00000c010b200041186a21050240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a200110f48f8080002000411c6a20011093908080000b200028025421042002200028025822053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200541386c210503402004200110e68f808000200441386a2104200541486a22050d000b0b0240024020002802280d000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41003a00000c010b2000412c6a21050240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a200110f48f808000200041306a20011093908080000b200028026021042002200028026422053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200541186c210503402004200110e28f808000200441186a2104200541686a22050d000b0b200028026c21042002200028027022053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200541d8006c210503402004200110e48f808000200441d8006a2104200541a87f6a22050d000b0b20002d009c0121050240200128020020012802082204470d0020012004410110fc90808000200128020821040b200128020420046a20053a00002001200441016a360208200028027821042002200028027c22053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200420054103746a21060340200428020021072002200428020422053602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822036b20054f0d0020012003200510fc90808000200128020821030b200128020420036a2007200510e9968080001a2001200320056a360208200441086a22042006470d000b0b2000413c6a200110f38f808000200241106a2480808080000bc00301067f23808080800041106b2202248080808000200028022c21032002200028023022043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a360208200028021821042002200028021c22053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200541386c210503402004200110e58f808000200441386a2104200541486a22050d000b0b200028022421042002200028022822053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200420054103746a21060340200428020021072002200428020422053602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822036b20054f0d0020012003200510fc90808000200128020821030b200128020420036a2007200510e9968080001a2001200320056a360208200441086a22042006470d000b0b2002200041346a36020c2002410c6a200110f48f8080002000200110f38f808000200241106a2480808080000bc40401047f23808080800041106b2202248080808000024002400240024020002802000e03000102000b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41003a00000c020b0240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a41013a00000c010b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41023a0000200028020c21042002200028021022033602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20034f0d0020012005200310fc90808000200128020821050b200128020420056a2004200310e9968080001a2001200520036a22033602080240200028020422050d00024020012802002003470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41003a00000c010b024020012802002003470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41013a00002002200028020822003602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822036b20004f0d0020012003200010fc90808000200128020821030b200128020420036a2005200010e9968080001a2001200320006a3602080b200241106a2480808080000b960301037f02400240024020002802002202280200220041c000490d00200041808001490d012000418080808004490d0202402001280200220320012802082200470d0020012000410110fc9080800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410fc9080800020012802042104200128020821000b2001200041046a360208200420006a20023600000f0b200041027421020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b2000410274410172210202402001280200200128020822006b41014b0d0020012000410210fc90808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b2000410274410272210202402001280200200128020822006b41034b0d0020012000410410fc90808000200128020821000b2001200041046a360208200128020420006a20023600000bb30201057f23808080800041106b2202248080808000200028020821032002200028020c22043602042002200241046a360208200241086a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b2001280204220620056a2003200410e9968080001a2001200520046a22043602080240024020002802000d00024020012802002004470d0020012004410110fc9080800020012802042106200128020821040b2001200441016a360208200620046a41003a00000c010b200041046a2100024020012802002004470d0020012004410110fc9080800020012802042106200128020821040b2001200441016a360208200620046a41013a00002002200036020c2002410c6a200110f48f8080000b200241106a2480808080000b9f0c01067f23808080800041106b22022480808080002002200041346a36020c2002410c6a200110f48f808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110f48f80800002402004450d00200320044103746a21050340200328020021062002200328020422043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822076b20044f0d0020012007200410fc90808000200128020821070b200128020420076a2006200410e9968080001a2001200720046a360208200341086a22032005470d000b0b200028021021032002200028021422043602082002200241086a36020c2002410c6a200110f48f80800002402004450d002004410474210403402003200110f58f808000200341106a2103200441706a22040d000b0b02400240024002400240024002400240024020002d00240e080001020304050607000b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a41003a00002001200341016a360208200028022c21032002200028023022043602082002200241086a36020c2002410c6a200110f48f8080002004450d072004410574210403402003200110db8f808000200341206a2103200441606a22040d000c080b0b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a41013a00002001200341016a360208200028022c21032002200028023022043602082002200241086a36020c2002410c6a200110f48f8080002004450d06200441246c210403402003200110dc8f808000200341246a21032004415c6a22040d000c070b0b200041286a21040240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41023a00002002200436020c2002410c6a200110f48f8080000c050b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a41033a00002001200341016a2203360208200028022821040240200128020020036b41034b0d0020012003410410fc90808000200128020821030b2001200341046a360208200128020420036a200436000020022000412c6a36020c2002410c6a200110f48f8080000c040b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a41043a00002001200341016a360208200028022c21032002200028023022043602082002200241086a36020c2002410c6a200110f48f8080002004450d032004410274210403402002200336020c2002410c6a200110f48f808000200341046a21032004417c6a22040d000c040b0b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a41053a00002001200341016a220336020820002d00252104024020012802002003470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a20043a00000c020b200041286a21040240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41063a00002002200436020c2002410c6a200110f48f8080000c010b200041286a21040240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41073a00002002200436020c2002410c6a200110f48f80800020022000412c6a36020c2002410c6a200110f48f8080000b200028021c21032002200028022022043602082002200241086a36020c2002410c6a200110f48f80800002402004450d00200320044103746a21050340200328020021062002200328020422043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822076b20044f0d0020012007200410fc90808000200128020821070b200128020420076a2006200410e9968080001a2001200720046a360208200341086a22032005470d000b0b200241106a2480808080000b8d0101037f024020034108490d00200020002003410376220341d0006c22046a20002003418c016c22056a200310f78f80800021002001200120046a200120056a200310f78f80800021012002200220046a200220056a200310f78f80800021020b20002002200120002d0000220320012d00002204492205200420022d0000220649731b20052003200649731b0bfe0101067f024020034108490d00200020002003410376220341e0006c22046a2000200341a8016c22056a200310f88f80800021002001200120046a200120056a200310f88f80800021012002200220046a200220056a200310f88f80800021020b2000280200220620012802002207200041046a2802002203200141046a280200220420032004491b10ed96808000210802402006200228020022092003200241046a280200220520032005491b10ed968080002206200320056b20061b2008200320046b20081b2203734100480d0020022001200720092004200520042005491b10ed968080002200200420056b20001b2003734100481b21000b20000bef0101097f024020014108490d0020002001410376220341a8016c6a21042000200341e0006c6a210502400240200141c000490d00200020052004200310f88f80800021060c010b2000280200220720052802002208200041046a2802002201200541046a280200220320012003491b10ed9680800021092000210620072004280200220a2001200441046a280200220b2001200b491b10ed9680800022072001200b6b20071b2009200120036b20091b2201734100480d00200420052008200a2003200b2003200b491b10ed9680800022062003200b6b20061b2001734100481b21060b200620006b41186e0f0b000bab05010b7f2380808080004180016b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d0020062108200521090c010b2001280210210a200341086a41086a210b4100210c0340200b2006200c6a220d290200370200200b41306a200d41306a290200370200200b41286a200d41286a290200370200200b41206a200d41206a290200370200200b41186a200d41186a290200370200200b41106a200d41106a290200370200200b41086a200d41086a2902003702002003200536020820032005200c6a220d36020c200341c8006a200b200a10e98f808000200d41306a200341c8006a41306a290200370200200d41286a200341c8006a41286a290200370200200d41206a200341c8006a41206a290200370200200d41186a200341c8006a41186a290200370200200d41106a200341c8006a41106a290200370200200d41086a200341c8006a41086a290200370200200d20032902483702002006200c41386a220c6a22082007470d000b2005200c6a21090b20014284808080c00037020020014280808080c000370208200720086b41386e210a024020072008460d0041002106034002402008200641386c6a220c28021c220d450d00200c28021841306a210b03400240200b41706a280200450d00200b41746a28020041002802a8bfd38000118080808000000b0240200b417c6a280200450d00200b28020041002802a8bfd38000118080808000000b200b41d0006a210b200d417f6a220d0d000b0b0240200c280214450d00200c28021841002802a8bfd38000118080808000000b0240200c280220450d00200c28022441002802a8bfd38000118080808000000b200641016a2206200a470d000b0b20002005360204200020043602002000200920056b41386e36020820034180016a2480808080000bcf0301057f23808080800041106b2202248080808000200028021821032002200028021c22043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a3602082002200041206a36020c2002410c6a200110f48f808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a360208200028021021042002200028021422003602082002200241086a36020c2002410c6a200110f48f80800002402000450d00200420004103746a21060340200428020021032002200428020422003602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20004f0d0020012005200010fc90808000200128020821050b200128020420056a2003200010e9968080001a2001200520006a360208200441086a22042006470d000b0b200241106a2480808080000b910401067f23808080800041106b2202248080808000200028022c21032002200028023022043602082002200241086a36020c2002410c6a200110f48f808000024020012802002205200128020822066b20044f0d0020012006200410fc9080800020012802002105200128020821060b2001280204220720066a2003200410e9968080001a2001200620046a220436020820002d00342106024020052004470d0020012005410110fc9080800020012802042107200128020821040b2001200441016a360208200720046a20063a0000200041186a2001108390808000200028020421052002200028020822043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822066b20044f0d0020012006200410fc90808000200128020821060b200128020420066a2005200410e9968080001a2001200620046a360208200028021021042002200028021422003602082002200241086a36020c2002410c6a200110f48f80800002402000450d00200420004103746a21070340200428020021052002200428020422003602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822066b20004f0d0020012006200010fc90808000200128020821060b200128020420066a2005200010e9968080001a2001200620006a360208200441086a22042007470d000b0b200241106a2480808080000b820702077f017e23808080800041a0016b220424808080800020044100360224200442003702182004420037020c2004428080808080013702042001280204210520012802002106410421074104210802400240024020012802082209450d0041002d00b8bfd380001a200941c4006c220141002802b0bfd38000118280808000002208450d010b200441f0006a41086a22014100360200200420083602742004200936027020042005200941f8006c6a360254200420063602502004200536024c20042005360248200420083602840120044100360280012004200136027c2004200441046a36028801200441c8006a200441fc006a10ce8f808000200441286a41086a200128020036020020042004290270370328200441046a200210c9918080002108200228021c21052002280218210920022d00242106024020022802202202450d0041002d00b8bfd380001a2002410474220a41002802b0bfd38000118280808000002207450d020b20014100360200200420073602742004200236027020042005200241386c6a360254200420093602502004200536024c20042005360248200420073602840120044100360280012004200136027c2004200441046a36028801200441c8006a200441fc006a10cb8f808000200441386a41086a200128020036020020042004290270370338200441046a200310c9918080002101200441c8006a41206a200441046a41206a2802002205360200200441c8006a41186a2209200441046a41186a290200220b370300200441c8006a41106a200441046a41106a290200370300200441c8006a41086a200441046a41086a29020037030020042004290204370348200420054100200ba722021b36029c01200420042802642205360298012004200236029401200441003602900120042002410047220736028c012004200536028801200420023602840120044100360280012004200736027c2000200441fc006a41d8c0cb800010af91808000200441d4006a10b59180800002402004280248450d00200428024c41002802a8bfd38000118080808000000b200910b691808000200041146a200441286a41086a2802003602002000200429032837020c20002004290338370218200041206a200441386a41086a2802003602002000200136022c200020063a002820002008360224200441a0016a2480808080000f0b4104200110b980808000000b4104200a10b980808000000b8a07030b7f017e057f2380808080004190016b22032480808080004180808080782104200128024c210520012802482106024002400240024020012802502207418080808078470d000c010b20012802542108200128025c21092001280260210a024002402001280258220b0d004104210c0c010b41002d00b8bfd380001a200b41386c220d41002802b0bfd3800011828080800000220c450d020b2003410036026c2003200c3602682003200b36026420032007360278200320083602742003200836027020032008200b41e8006c6a36027c2003200236028c012003200c3602880120034100360284012003200341ec006a36028001200341f0006a20034180016a10ca8f808000200328026421042003290268210e0b4100210d02400240200128021022080d004100210f0c010b200341186a41086a200141086a29030037030020032008360228200320012903003703182003200128021436022c4101210f2002200341186a10c99180800021100b02400240200128022822080d000c010b200341386a200141206a29030037030020032008360240200320012903183703302003200128022c3602444101210d2002200341306a10c99180800021110b200128026821082001280264211202400240200128026c220b0d00410421070c010b41002d00b8bfd380001a200b41246c220c41002802b0bfd38000118280808000002207450d020b41002113200341e4006a41086a220c4100360200200320073602682003200b36026420032008200b41386c6a36027c2003201236027820032008360274200320083602702003200236028c01200320073602880120034100360284012003200c36028001200341f0006a20034180016a10c98f808000200341086a41086a2208200c28020036020020032003290264370308024002402001280240220b0d000c010b200341c8006a41086a200141386a2903003703002003200b360258200320012903303703482003200128024436025c410121132002200341c8006a10c99180800021020b2000200536023c200020063602382000200a360234200020093602302000200e370228200020043602242000201136020c2000200d360208200020103602042000200f360200200020032903083702182000200236021420002013360210200020012d00703a0040200041206a200828020036020020034190016a2480808080000f0b4104200d10b980808000000b4104200c10b980808000000bef0201087f23808080800041306b220324808080800020012d0060210420012802442105200128024021060240024020012802000d00200341186a41106a200141186a290300370300200341206a200141106a290300370300200320012903083703182002200341186a10c991808000210741808080807821080c010b200128020c21092001280208210720012802042108200341106a200141206a290300370300200341086a200141186a29030037030020032001290310370300200341186a41106a200141386a290300370300200341186a41086a200141306a290300370300200320012903283703182002200310c991808000210a2002200341186a10c99180800021020b200020043a0034200020053602302000200636022c200020023602282000200a360224200020093602202000200736021c200020083602182000200129024837020020002001290358370210200041086a200141d0006a290200370200200341306a2480808080000bf60201037f23808080800041106b2202248080808000200028020421032002200028020822043602082002200241086a36020c2002410c6a200110f48f80800002402004450d00200441386c210403402003200110f68f808000200341386a2103200441486a22040d000b0b200028021021032002200028021422043602082002200241086a36020c2002410c6a200110f48f80800002402004450d00200441c4006c2104034020032001108190808000200341c4006a2103200441bc7f6a22040d000b0b2002200041246a36020c2002410c6a200110f48f80800020002d002821040240200128020020012802082203470d0020012003410110fc90808000200128020821030b200128020420036a20043a00002001200341016a360208200028021c21032002200028022022043602082002200241086a36020c2002410c6a200110f48f80800020032004200110c78f80800020022000412c6a36020c2002410c6a200110f48f808000200241106a2480808080000bb30701057f23808080800041106b2202248080808000200028023821032002200028023c22043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b2001280204220620056a2003200410e9968080001a2001200520046a2204360208024002402000280224418080808078470d00024020012802002004470d0020012004410110fc9080800020012802042106200128020821040b2001200441016a360208200620046a41003a00000c010b200041246a2105024020012802002004470d0020012004410110fc9080800020012802042106200128020821040b2001200441016a360208200620046a41013a0000200520011082908080000b0240024020002802000d000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41003a00000c010b200041046a21050240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a200110f48f8080000b0240024020002802080d000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41003a00000c010b2000410c6a21050240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a200110f48f8080000b200028021c21042002200028022022053602082002200241086a36020c2002410c6a200110f48f80800002402005450d00200541246c210503402004200110fb8f808000200441246a21042005415c6a22050d000b0b0240024020002802100d000240200128020020012802082205470d0020012005410110fc90808000200128020821050b2001200541016a2204360208200128020420056a41003a00000c010b200041146a21050240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a41013a00002002200536020c2002410c6a200110f48f808000200128020821040b20002d00402105024020012802002004470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a20053a0000200241106a2480808080000be50101047f23808080800041106b2202248080808000200028020c21032002200028021022043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822056b20044f0d0020012005200410fc90808000200128020821050b200128020420056a2003200410e9968080001a2001200520046a360208200028020421042002200028020822003602082002200241086a36020c2002410c6a200110f48f80800002402000450d00200041386c210003402004200110fc8f808000200441386a2104200041486a22000d000b0b200241106a2480808080000b940301077f23808080800041106b2202248080808000024002402000280200418080808078470d00200041046a21000240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41003a00002002200036020c2002410c6a200110f48f8080000c010b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b200041106a21042000410c6a2105200128020420036a41013a00002001200341016a360208200028020421032002200028020822063602082002200241086a36020c2002410c6a200110f48f80800002402006450d0020012802082100034020032d000021070240024020012802002000460d00200021080c010b20012000410110fc90808000200128020821080b200341016a21032001200841016a2200360208200128020420086a20073a00002006417f6a22060d000b0b2002200536020c2002410c6a200110f48f8080002002200436020c2002410c6a200110f48f8080000b200241106a2480808080000bb10c01047f23808080800041206b22022480808080004100210302400240417f2001108590808000220441046a220520052004491b22044100480d0041002d00b8bfd380001a200441002802b0bfd380001182808080000022050d01410121030b2003200441a0aec8800010ae80808000000b200220053602102002200436020c2005200128026c36000041042105200241043602140240024002400240024002400240024002400240200128020022044188808080786a41102004418880808078481b41786a0e09000102030405060708000b410421040240200228020c4104470d002002410c6a4104410110fc90808000200228021421040b200228021020046a41083a00002002200441016a360214200128020821052002200128020c22013602182002200241186a36021c2002411c6a2002410c6a10f48f8080000240200228020c200228021422046b20014f0d002002410c6a2004200110fc90808000200228021421040b200228021020046a2005200110e9968080001a2002200420016a3602140c080b410421040240200228020c4104470d002002410c6a4104410110fc90808000200228021421040b200228021020046a41093a00002002200441016a360214200128020821052002200128020c22013602182002200241186a36021c2002411c6a2002410c6a10f48f8080000240200228020c200228021422046b20014f0d002002410c6a2004200110fc90808000200228021421040b200228021020046a2005200110e9968080001a2002200420016a3602140c070b410421040240200228020c4104470d002002410c6a4104410110fc90808000200228021421040b200228021020046a410a3a00002002200441016a360214200128020821052002200128020c22013602182002200241186a36021c2002411c6a2002410c6a10f48f8080000240200228020c200228021422046b20014f0d002002410c6a2004200110fc90808000200228021421040b200228021020046a2005200110e9968080001a2002200420016a3602140c060b410421040240200228020c4104470d002002410c6a4104410110fc90808000200228021421040b200228021020046a410b3a00002002200441016a360214200128020821052002200128020c22013602182002200241186a36021c2002411c6a2002410c6a10f48f8080000240200228020c200228021422046b20014f0d002002410c6a2004200110fc90808000200228021421040b200228021020046a2005200110e9968080001a2002200420016a3602140c050b410421040240200228020c4104470d002002410c6a4104410110fc90808000200228021421040b200228021020046a410c3a00002002200441016a360214200128020821052002200128020c22013602182002200241186a36021c2002411c6a2002410c6a10f48f8080000240200228020c200228021422046b20014f0d002002410c6a2004200110fc90808000200228021421040b200228021020046a2005200110e9968080001a2002200420016a3602140c040b410421040240200228020c4104470d002002410c6a4104410110fc90808000200228021421040b200228021020046a410d3a00002002200441016a360214200128020821052002200128020c22013602182002200241186a36021c2002411c6a2002410c6a10f48f8080000240200228020c200228021422046b20014f0d002002410c6a2004200110fc90808000200228021421040b200228021020046a2005200110e9968080001a2002200420016a3602140c030b41042104200141046a21010240200228020c4104470d002002410c6a4104410110fc90808000200228021421040b200228021020046a410e3a00002002200441016a36021420012002410c6a1080908080000c020b41042104200141046a21010240200228020c4104470d002002410c6a4104410110fc90808000200228021421040b200228021020046a410f3a00002002200441016a36021420012002410c6a10ec8f8080000c010b0240200228020c4104470d002002410c6a4104410110fc90808000200228021421050b200228021020056a41103a00002002200541016a36021420012002410c6a10f08f8080000b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b820301047f0240024002400240024002400240024002400240200028020022014188808080786a41102001418880808078481b41786a0e09000102030405060708000b200028020c41046a21000c080b200028020c41046a21000c070b200028020c41046a21000c060b200028020c41046a21000c050b200028020c41046a21000c040b200028020c41046a21000c030b024002402000280228220141c0004f0d00410621010c010b02402001418080014f0d00410721010c010b4109410a2001418080808004491b21010b20002802182102200028020c210320002802242104024002402000280230220041c0004f0d00410121000c010b02402000418080014f0d00410221000c010b410441052000418080808004491b21000b417f417f417f200241c4006c200341386c41047222026a41046a220320032002491b220220044104742001726a220120012002491b220120006a220020002001491b21000c020b200041046a10eb8f80800021000c010b200010ef8f80800021000b200041016a0bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10869080800020052802084101470d0120052802102102200528020c21060b2006200241a4afc8800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000be00c03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041686a210b200041346a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41186c22126a210f024002402001200d6b2213200a490d0002400240201341024f0d00201321140c010b0240024002400240200f2802182215200f280200200f411c6a2802002216200f41046a280200221720162017491b10ed968080002218201620176b20181b41004822190d004102211420134102460d04200c20126a21174102211403402017417c6a280200221a201520172802002218201620182016491b10ed968080002215201820166b20151b4100480d03201741186a211720182116201a21152013201441016a2214470d000c020b0b410221144101211a20134102460d02200c20126a21174102211403402017417c6a280200221a201520172802002218201620182016491b10ed968080002215201820166b20151b417f4a0d02201741186a211720182116201a21152013201441016a2214470d000b0b201321140b2014200a490d022019450d010240201441024f0d00410121140c020b2014410176211a0b200b201441186c6a2117200021180340201820126a221641086a221529020021072015201720126a221341086a220f290200370200200f2007370200201341146a2802002115201341106a220f2802002119200f201641106a221029020037020020162902002107201620132902003702002013200737020020102019360200201641146a2015360200201741686a2117201841186a2118201a417f6a221a0d000b0b201441017441017221100c010b024020040d002013200a2013200a491b41017421100c010b200f2013412020134120491b221620022003410041002005108f90808000201641017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41186c22166a211b200020166a211903402006418e026a200e417f6a22146a2d0000200f490d010240024002400240200641046a20144102746a280200220e4101762217200941017622186a221520034b0d00200e200972410171450d010b2000200d20156b41186c6a21160240200e4101710d002016201720022003201741017267410174413e7341002005108f908080000b20094101710d012016201741186c6a201820022003201841017267410174413e7341002005108f908080000c010b201541017421090c010b024020094102490d00200e4102490d0020182017201820174922131b220e20034b0d0020022016201741186c6a2209201620131b200e41186c221310e996808000221a20136a2113024002400240201820174f0d00201b210e0340200941686a2117201341686a2118200e20182017201828020020172802002013416c6a28020022132009416c6a280200220920132009491b10ed968080002212201320096b20121b2213417f4a22121b2209290200370200200e41106a200941106a290200370200200e41086a200941086a29020037020020182013411f7641186c6a21132017201241186c6a22092016460d02200e41686a210e2013201a470d000c020b0b0240200e0d00201a210e0c020b201a210e03402016200e20092009280200200e280200200941046a2802002217200e41046a280200221820172018491b10ed968080002212201720186b20121b2212417f4a22181b2217290200370200201641106a201741106a290200370200201641086a201741086a290200370200201641186a2116200e201841186c6a220e2013460d0220092012411f7641186c6a22092019470d000c020b0b20092116201a210e0b2016200e2013200e6b10e9968080001a0b201541017441017221090b410121162014210e201441014b0d000c020b0b200e21160b2006418e026a20166a200f3a0000200641046a20164102746a200936020002402011450d00201641016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e7341002005108f908080000b200641d0026a2480808080000b800b03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b2000416c6a210b200041286a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41146c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b024002400240024020132d0014221620132d00004922170d004102211520144102460d04200c20126a2118410221150340201641ff0171211920182d000022162019490d03201841146a21182014201541016a2215470d000c020b0b410221154101211a20144102460d02200c20126a2118410221150340201641ff0171211920182d0000221620194f0d02201841146a21182014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b2015410176211a0b200b201541146c6a2118200021190340201920126a221441086a221329020021072013201820126a221641086a221729020037020020172007370200201429020021072014201629020037020020162007370200201641106a221628020021132016201441106a2214280200360200201420133602002018416c6a2118201941146a2119201a417f6a221a0d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b221420022003410041002005109090808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41146c22146a211b200020146a211c03402006418e026a200e417f6a22196a2d0000200f490d010240024002400240200641046a20194102746a28020022144101762218200941017622126a221320034b0d002014200972410171450d010b2000200d20136b41146c6a210e024020144101710d00200e201820022003201841017267410174413e73410020051090908080000b20094101710d01200e201841146c6a201220022003201241017267410174413e73410020051090908080000c010b201341017421090c010b024020094102490d0020144102490d0020122018201220184922161b220920034b0d002002200e201841146c6a2214200e20161b200941146c221610e996808000221720166a2116024002400240201220184f0d00201b2109034020092014416c6a22142016416c6a221620162d0000221220142d0000221549221a1b2218290200370200200941086a201841086a290200370200200941106a201841106a2802003602002016201a41146c6a21162014201220154f41146c6a2214200e460d022009416c6a210920162017470d000c020b0b024020090d00201721090c020b201721090340200e2014200920142d0000221220092d0000221549221a1b2218290200370200200e41086a201841086a290200370200200e41106a201841106a280200360200200e41146a210e2009201220154f41146c6a22092016460d022014201a41146c6a2214201c470d000c020b0b2014210e201721090b200e2009201620096b10e9968080001a0b201341017441017221090b410121142019210e201941014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e73410020051090908080000b200641d0026a2480808080000bab04010a7f200028021820002802002000411c6a2802002202200041046a280200220320022003491b10ed968080002104200041c800413020002802482000280230200041cc006a2802002205200041346a280200220620052006491b10ed968080002207200520066b20071b41004822061b6a21052000413041c80020061b6a2106200620002004200220036b20041b2203417f73411f7641186c6a22022005200528020020002003411f7641186c6a2200280200200541046a2802002203200041046a280200220420032004491b10ed968080002207200320046b20071b41004822071b20062802002002280200200641046a2802002203200241046a280200220420032004491b10ed968080002208200320046b20081b41004822081b220328020020002005200220081b20071b2204280200200341046a2802002209200441046a280200220a2009200a491b10ed96808000210b200141106a2005200020071b220041106a290200370200200141086a200041086a29020037020020012000290200370200200120032004200b2009200a6b200b1b41004822051b2200290200370218200141286a200041106a290200370200200141206a200041086a290200370200200141c0006a2004200320051b220041106a290200370200200141386a200041086a2902003702002001200029020037023020012002200620081b2200290200370248200141d0006a200041086a290200370200200141d8006a200041106a2902003702000bf60201087f23808080800041106b220424808080800002402002417f6a20014f0d00024020022001460d002000200141186c6a21052000200241186c22066a2107200441086a21080340024020072802002209200741686a280200200741046a280200220a2007416c6a2802002202200a2002491b10ed968080002201200a20026b20011b417f4a0d002008200741106a290200370300200420072902083703002006210102400340200020016a2202200241686a220b290200370200200241106a200b41106a290200370200200241086a200b41086a290200370200024020014118470d00200021020c020b200141686a21012009200241506a280200200a200241546a2802002202200a2002491b10ed96808000220b200a20026b200b1b4100480d000b200020016a21020b2002200a3602042002200936020020022004290300370208200241106a20082903003702000b200641186a2106200741186a22072005470d000b0b200441106a2480808080000f0b000bb20201087f23808080800041206b210402402002417f6a20014f0d00024020022001460d002000200141146c6a21052000200241146c22066a2107200441176a2108200441086a41086a21090340024020072d0000220a2007416c6a2d00004f0d002008200741106a2800003600002009200741096a290000370300200420072900013703082006210102400340200020016a22022002416c6a220b290200370200200241106a200b41106a280200360200200241086a200b41086a290200370200024020014114470d00200021020c020b2001416c6a2101200a200241586a2d0000490d000b200020016a21020b2002200a3a000020022004290308370001200241096a2009290300370000200241106a20082800003600000b200641146a2106200741146a22072005470d000b0b0f0b000b8909030f7f017e037f23808080800041206b220524808080800002400240024020014102490d00200141106a20034b0d024101210620022001410176220741186c22036a2108200020036a210302400240200141074d0d0020002002108a9080800020032008108a90808000410421060c010b20022000290200370200200241106a200041106a290200370200200241086a200041086a29020037020020082003290200370200200841086a200341086a290200370200200841106a200341106a2902003702000b2005410236020c20052007ad422086370300200641186c2109200120076b210a4102210b4100210303402005200341016a220c3602082003410274210d200c210302402006200a20072005200d6a280200220c1b220e4f0d002000200c41186c22036a210f41182110200220036a221121122006211303402011201341186c220c6a2203200f200c6a220d2902002214370200200341106a200d41106a2215290200370200200341086a200d41086a29020037020002402014a72216200341686a280200200341046a280200220c2003416c6a2802002203200c2003491b10ed96808000220b200c20036b200b1b417f4a0d00200541106a41086a221720152902003703002005200d2902083703102012210d2010211502400340200d20096a2203200341686a220b290200370200200341106a200b41106a290200370200200341086a200b41086a290200370200024020092015470d00201121030c020b200d41686a210d201541186a21152016200341506a280200200c200341546a2802002203200c2003491b10ed96808000220b200c20036b200b1b4100480d000b200d20096a21030b2003200c3602042003201636020020032005290310370208200341106a20172903003702000b201241186a2112201041686a2110201341016a2213200e470d000b20052802082103200528020c210b0b200b2003470d000b200841686a21032000200141186c41686a220c6a210d2002200c6a210c034020002002200820082802002002280200200841046a280200220b200241046a2802002215200b2015491b10ed968080002209200b20156b20091b2209417f4a22161b220b290200370200200041106a200b41106a290200370200200041086a200b41086a290200370200200d200c2003200c2802002003280200200c41046a280200220b200341046a2802002215200b2015491b10ed968080002213200b20156b20131b2215417f4a1b220b290200370200200d41106a200b41106a290200370200200d41086a200b41086a2902003702002002201641186c6a210220082009411f7641186c6a210820032015411f75220b41186c6a2103200c200b417f7341186c6a210c200d41686a210d200041186a21002007417f6a22070d000b200341186a210302402001410171450d002000200220082002200349220b1b220d290200370200200041106a200d41106a290200370200200041086a200d41086a2902003702002008200220034f41186c6a21082002200b41186c6a21020b20022003470d012008200c41186a470d010b200541206a2480808080000f0b108581808000000b000b8e0d03117f017e017f23808080800041306b220524808080800002400240024020014102490d00200141106a20034b0d02410121062001410176210702400240200141074d0d0020022000413c412820002d003c20002d00284922081b6a2203200020002d0014220920002d0000220a4941146c6a220b20032d0000200b2d000049220c1b220d290200370200200241086a200d41086a290200370200200241106a200d41106a280200360200200220004128413c20081b6a220820002009200a4f41146c6a220d2003200c1b20082d0000200d2d00004922091b220a200b2003200d20091b200c1b2203200a2d000020032d000049220c1b220b2902003702142002411c6a200b41086a290200370200200241246a200b41106a280200360200200241386a2003200a200c1b220341106a280200360200200241306a200341086a29020037020020022003290200370228200241cc006a200d200820091b220341106a280200360200200241c4006a200341086a2902003702002002200329020037023c2000200741146c220e6a220320032d0014220b20032d000022084941146c6a220c2003413c412820032d003c20032d00284922091b6a220d2003200b20084f41146c6a220b20034128413c20091b6a22082d0000200b2d00004922091b200d2d0000200c2d000049220a1b220f2d000021102008200b200d200a1b20091b22112d000021122002200e6a2203200d200c200a1b220d290200370200200341086a200d41086a290200370200200341106a200d41106a28020036020020032011200f2012201049220c1b220d290200370214200341246a200d41106a2802003602002003411c6a200d41086a290200370200200341386a200f2011200c1b220d41106a280200360200200341306a200d41086a2902003702002003200d290200370228200341cc006a200b200820091b220d41106a280200360200200341c4006a200d41086a2902003702002003200d29020037023c410421060c010b20022000290200370200200241106a200041106a280200360200200241086a200041086a2902003702002002200741146c220d6a22032000200d6a220d290200370200200341086a200d41086a290200370200200341106a200d41106a2802003602000b2005410236021420052007ad422086370308200641146c2108200120076b211341002103200541276a21144102210c03402005200341016a220d3602102003410274210b200d21030240200620132007200b200541086a6a280200220d1b22124f0d002000200d41146c22036a21154114210f200220036a221021112006210a03402010200a41146c220d6a22032015200d6a220d2902002216370200200341106a200d41106a220b280200360200200341086a200d41086a29020037020002402016a7220e41ff017122092003416c6a2d00004f0d002014200b280000360000200541186a41086a2217200d41096a2900003703002005200d290001370318200f210c2011210d02400340200d20086a22032003416c6a220b290200370200200341106a200b41106a280200360200200341086a200b41086a29020037020002402008200c470d00201021030c020b200c41146a210c200d416c6a210d2009200341586a2d0000490d000b200d20086a21030b2003200e3a000020032005290318370001200341096a2017290300370000200341106a20142800003600000b200f416c6a210f201141146a2111200a41016a220a2012470d000b200528021021032005280214210c0b200c2003470d000b2000200141146c416c6a220d6a21032002200d6a210c2002200741146c6a220d416c6a210b03402000200d2002200d2d0000220920022d0000220a49220f1b2208290200370200200041086a200841086a290200370200200041106a200841106a280200360200200341106a200b200c200c2d00002211200b2d0000220e4922101b220841106a280200360200200341086a200841086a290200370200200320082902003702002003416c6a2103200041146a2100200b416c410020101b6a210b200c416c41002011200e4f1b6a210c20022009200a4f41146c6a2102200d200f41146c6a210d2007417f6a22070d000b200b41146a210302402001410171450d0020002002200d200220034922081b220b290200370200200041106a200b41106a280200360200200041086a200b41086a290200370200200d200220034f41146c6a210d2002200841146c6a21020b20022003470d01200d200c41146a470d010b200541306a2480808080000f0b108581808000000b000bf80b01117f23808080800041306b220724808080800002400240200141214f0d0020002001200220032006108d908080000c010b200241686a21080340024020040d002000200120022003410120061088908080000c020b200741106a200020002001200610f98f808000220941186c6a220a41106a290200370300200741086a200a41086a2902003703002007200a2902003703002004417f6a2104024002400240024002402005450d002005280200200a280200200541046a280200220b200a41046a280200220c200b200c491b10ed96808000220d200b200c6b200d1b417f4a0d010b200120034b0d014100210c2000210b2002200141186c220e6a220f21102009211103400240200b2000201141186c6a22124f0d0003402002201041686a2210200b280200200a280200200b41046a280200220d200a41046a2802002213200d2013491b10ed968080002214200d20136b20141b22134100481b200c41186c6a220d200b290200370200200d41106a200b41106a290200370200200d41086a200b41086a2902003702002013411f76200c6a210c200b41186a220b2012490d000b0b024020112001460d00201041686a2210200c41186c6a220d200b290200370200200d41106a200b41106a290200370200200d41086a200b41086a290200370200200b41186a210b200121110c010b0b20002002200c41186c221110e99680800021152001200c6b211202402001200c460d0020124101712116201520116a21174100211302402001200c41016a460d002012417e7121142008200e6a210d410021132017210b0340200b200d290200370200200b41106a200d41106a290200370200200b41086a200d41086a290200370200200b41186a200f201341feffffff017341186c6a2210290200370200200b41206a201041086a290200370200200b41286a201041106a290200370200200d41506a210d200b41306a210b2014201341026a2213470d000b0b2016450d002017201341186c6a220b200f2013417f7341186c6a220d290200370200200b41106a200d41106a290200370200200b41086a200d41086a2902003702000b200c450d002001200c4f0d02200741003602282007410136021c200741c4b0c8800036021820074204370220200741186a41ccb0c8800010f280808000000b200120034b0d004100210d2000210b2002200141186c220f6a2211211003400240200b2000200941186c6a22124f0d0003402002201041686a2210200a280200200b280200200a41046a280200220c200b41046a2802002213200c2013491b10ed968080002214200c20136b20141b417f4a22131b200d41186c6a220c200b290200370200200c41106a200b41106a290200370200200c41086a200b41086a290200370200200d20136a210d200b41186a220b2012490d000b0b024020092001460d002002200d41186c6a220c200b290200370200200c41106a200b41106a290200370200200c41086a200b41086a290200370200200b41186a210b200d41016a210d201041686a2110200121090c010b0b20002002200d41186c221210e99680800021002001200d6b210c02402001200d460d00200c4101712109200020126a21054100211002402001200d41016a460d00200c417e7121142008200f6a2113410021102005210b0340200b2013290200370200200b41106a201341106a290200370200200b41086a201341086a290200370200200b41186a2011201041feffffff017341186c6a220a290200370200200b41206a200a41086a290200370200200b41286a200a41106a290200370200201341506a2113200b41306a210b2014201041026a2210470d000b0b2009450d002005201041186c6a220b20112010417f7341186c6a2213290200370200200b41106a201341106a290200370200200b41086a201341086a2902003702000b02402001200d4f0d00200d200141dcb0c8800010a881808000000b200020126a210041002105200c2101200c41214f0d030c020b000b201520116a201220022003200420072006108f90808000200c2101200c41214f0d010b0b2000200c200220032006108d908080000b200741306a2480808080000bd60b01117f23808080800041306b220724808080800002400240200141214f0d0020002001200220032006108e908080000c010b2002416c6a21080340024020040d002000200120022003410120061089908080000c020b200020014103762209418c016c6a210a2000200941d0006c6a210b02400240200141c000490d002000200b200a200910f78f80800021090c010b2000200a200b20002d00002209200b2d0000220c49220d200c200a2d0000220e49731b200d2009200e49731b21090b2004417f6a2104200741106a2000200920006b41146e220f41146c6a221041106a280200360200200741086a201041086a29020037030020072010290200370300024002400240024002402005450d0020052d000020102d00004f0d010b200120034b0d014100210a200021092002200141146c22116a2212210c200f21130340024020092000201341146c6a220e4f0d0003402002200c416c6a220c20092d000020102d000049220d1b200a41146c6a220b2009290200370200200b41106a200941106a280200360200200b41086a200941086a290200370200200a200d6a210a200941146a2209200e490d000b0b024020132001460d00200c416c6a220c200a41146c6a220b2009290200370200200b41106a200941106a280200360200200b41086a200941086a290200370200200941146a2109200121130c010b0b20002002200a41146c221410e99680800021152001200a6b211302402001200a460d0020134101712116201520146a21174100210c02402001200a41016a460d002013417e71210e200820116a210b4100210c2017210903402009200b290200370200200941106a200b41106a280200360200200941086a200b41086a290200370200200941146a2012200c41feffffff037341146c6a220d2902003702002009411c6a200d41086a290200370200200941246a200d41106a280200360200200b41586a210b200941286a2109200e200c41026a220c470d000b0b2016450d002017200c41146c6a22092012200c417f7341146c6a220b290200370200200941106a200b41106a280200360200200941086a200b41086a2902003702000b200a450d002001200a4f0d02200741003602282007410136021c200741c4b0c8800036021820074204370220200741186a41ccb0c8800010f280808000000b200120034b0d004100210b200021092002200141146c22146a2213210c0340024020092000200f41146c6a220e4f0d0003402002200c416c6a220c20102d000020092d00004f220d1b200b41146c6a220a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200b200d6a210b200941146a2209200e490d000b0b0240200f2001460d002002200b41146c6a220a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200941146a2109200b41016a210b200c416c6a210c2001210f0c010b0b20002002200b41146c221210e99680800021002001200b6b210a02402001200b460d00200a410171210f200020126a21154100210d02402001200b41016a460d00200a417e712110200820146a210c4100210d2015210903402009200c290200370200200941106a200c41106a280200360200200941086a200c41086a290200370200200941146a2013200d41feffffff037341146c6a220e2902003702002009411c6a200e41086a290200370200200941246a200e41106a280200360200200c41586a210c200941286a21092010200d41026a220d470d000b0b200f450d002015200d41146c6a22092013200d417f7341146c6a220c290200370200200941106a200c41106a280200360200200941086a200c41086a2902003702000b02402001200b4f0d00200b200141dcb0c8800010a881808000000b200020126a210041002105200a2101200a41214f0d030c020b000b201520146a201320022003200420072006109090808000200a2101200a41214f0d010b0b2000200a200220032006108e908080000b200741306a2480808080000bc408010a7f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110f48f808000024002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a210520042802980121042000417f6a22000d000b0b20074108490d010340200428029801280298012802980128029801280298012802980128029801280298012104200541786a22050d000c020b0b20064101710d0141a0b3c88000108a81808000000b2004210541002104410021070b02400240200720052f018a014f0d0020052100200721080c010b034020052802002200450d04200441016a210420052f018801210820002105200820002f018a014f0d000b0b0240024020040d00200841016a2107200021050c010b200020084102746a419c016a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a210920052802980121052004417f6a22040d000b0b200a4107490d000340200528029801280298012802980128029801280298012802980128029801280298012105200941786a22090d000b0b20002008410c6c6a41046a2109200020086a418c016a2d000021000240200128020020012802082204470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a20003a0000200941046a28020021042002200941086a28020022003602082002200241086a36020c2002410c6a200110f48f80800002402000450d0020004102742108034002400240024002402004280200220041c000490d00200041808001490d012000418080808004490d0202402001280200220920012802082200470d0020012000410110fc9080800020012802002109200128020821000b2001280204220a20006a41033a00002001200041016a22003602082004280200210b0240200920006b41034b0d0020012000410410fc908080002001280204210a200128020821000b200a20006a200b360000200041046a21000c030b200041027421090240200128020020012802082200470d0020012000410110fc90808000200128020821000b200128020420006a20093a0000200041016a21000c020b2000410274410172210902402001280200200128020822006b41014b0d0020012000410210fc90808000200128020821000b200128020420006a20093b0000200041026a21000c010b2000410274410272210902402001280200200128020822006b41034b0d0020012000410410fc90808000200128020821000b200128020420006a2009360000200041046a21000b200441046a2104200120003602082008417c6a22080d000b0b410021042003417f6a22030d000b0b200241106a2480808080000f0b4190b3c88000108a81808000000b9d0601097f23808080800041106b22022480808080002002200028020822033602082002200241086a36020c2002410c6a200110f48f808000024002402003450d0020002802002204450d00410021052004410047210620002802042107034002400240024020050d002006410171450d00410121062007450d0120072105024020074107712200450d0003402005417f6a210520042802900221042000417f6a22000d000b0b20074108490d010340200428029002280290022802900228029002280290022802900228029002280290022104200541786a22050d000c020b0b20064101710d0141a0b3c88000108a81808000000b2004210541002104410021070b02400240200720052f018e024f0d0020052100200721080c010b03402005280288022200450d04200441016a210420052f018c02210820002105200820002f018e024f0d000b0b0240024020040d00200841016a2107200021050c010b200020084102746a4194026a2802002105410021072004417f6a2209450d002004417e6a210a024020094107712204450d0003402009417f6a210920052802900221052004417f6a22040d000b0b200a4107490d000340200528029002280290022802900228029002280290022802900228029002280290022105200941786a22090d000b0b200020084103746a220441b0016a28020021092002200441b4016a28020022043602082002200241086a36020c2002410c6a200110f48f808000200020084104746a210002402001280200200128020822086b20044f0d0020012008200410fc90808000200128020821080b200128020420086a2009200410e9968080001a2001200820046a36020820022000410c6a36020c2002410c6a200110f48f808000200028020421082002200028020822043602082002200241086a36020c2002410c6a200110f48f80800002402001280200200128020822006b20044f0d0020012000200410fc90808000200128020821000b200128020420006a2008200410e9968080001a2001200020046a360208410021042003417f6a22030d000b0b200241106a2480808080000f0b4190b3c88000108a81808000000b8805010a7f23808080800041106b220224808080800020022000280208220336020c20022002410c6a360204200241046a200110f48f808000024002402003450d0020002802002204450d004100210520044100472106200241046a41046a210720002802042108034002400240024020050d002006410171450d00410121062008450d0120082105024020084107712200450d0003402005417f6a210520042802c40121042000417f6a22000d000b0b20084108490d01034020042802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012104200541786a22050d000c020b0b20064101710d0141a0b3c88000108a81808000000b2004210541002104410021080b02400240200820052f01b6014f0d0020052100200821090c010b034020052802b0012200450d04200441016a210420052f01b401210920002105200920002f01b6014f0d000b0b0240024020040d00200941016a2108200021050c010b200020094102746a41c8016a2802002105410021082004417f6a220a450d002004417e6a210b0240200a4107712204450d000340200a417f6a210a20052802c40121052004417f6a22040d000b0b200b4107490d00034020052802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012105200a41786a220a0d000b0b2002200020094104746a360208200128020821042001280200210a2002200020096a41b8016a220036020420002d000021000240200a2004470d0020012004410110fc90808000200128020821040b2001200441016a360208200128020420046a20003a00002007200110df8f808000410021042003417f6a22030d000b0b200241106a2480808080000f0b4190b3c88000108a81808000000ba30601077f0240024002400240200128022022020d002001280200210241002103200141003602002002450d010240200128020422020d0020012802082102200128020c2204450d0002400240200441077122030d00200421050c010b2004210503402005417f6a210520022802c40121022003417f6a22030d000b0b20044108490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200541786a22050d000b0b034020022802b001210541002103200241002802a8bfd38000118080808000002005210220050d000c020b0b20012002417f6a36022002400240200128020022024101470d0020012802040d00200128020821020240200128020c2204450d0002400240200441077122030d00200421050c010b2004210503402005417f6a210520022802c40121022003417f6a22030d000b0b20044108490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d030b2001280208210402400240200128020c2203200128020422022f01b6014f0d00200221050c010b034020022802b0012205450d0320022f01b4012103200241002802a8bfd3800011808080800000200441016a210420052102200320052f01b6014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a41c8016a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a210720022802c40121022004417f6a22040d000b0b20084107490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200741786a22070d000b0b2001200636020c20014100360208200120023602042000200520034104746a22022902003702082000200520036a41b8016a2d00003a0004200041106a200241086a290200370200410121030b200020033602000f0b200241002802a8bfd380001180808080000041f4a8c88000108a81808000000b4180b3c88000108a81808000000bd40601077f024002400240200128022022020d0020012802002102200141003602002002450d02200128020422020d0120012802082102200128020c2203450d0102400240200341077122040d00200321050c010b2003210503402005417f6a210520022802980421022004417f6a22040d000b0b20034108490d010340200228029804280298042802980428029804280298042802980428029804280298042102200541786a22050d000c020b0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802980421022004417f6a22040d000b0b20034108490d000340200228029804280298042802980428029804280298042802980428029804280298042102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b200128020821030240024002400240200128020c2204200128020422022f0196044f0d00200221050c010b03402002280290042205450d0220022f0194042104200241002802a8bfd3800011808080800000200341016a210320052102200420052f0196044f0d000b0b024020030d00200441016a2106200521020c020b200520044102746a419c046a2802002102410021062003417f6a2207450d012003417e6a2108024020074107712203450d0003402007417f6a210720022802980421022003417f6a22030d000b0b20084107490d010340200228029804280298042802980428029804280298042802980428029804280298042102200741786a22070d000c020b0b200241002802a8bfd380001180808080000041f4a8c88000108a81808000000b2001200636020c20014100360208200120023602042000200520044103746a29020037030020002005200441286c6a220241d8006a290300370308200041106a200241e0006a290300370300200041186a200241e8006a290300370300200041206a200241f0006a290300370300200041286a200241f8006a2903003703000f0b4180b3c88000108a81808000000b03402002280290042105200241002802a8bfd38000118080808000002005210220050d000b0b20004180808080783602200bc00301047f23808080800041d0006b2202248080808000200241206a41206a200141206a290200370300200241206a41186a200141186a290200370300200241206a41106a200141106a290200370300200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a41ecb1c8800010d68f80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c41002802a8bfd38000118080808000000c010b200228020c21012002200241cf006a360220024020034101460d00024020034115490d0020012003200241206a10de8f8080000c010b200120034101200241206a108c908080000b2002280208210441002d00b8bfd380001a024041c40141002802b0bfd380001182808080000022050d00410441c40110b980808000000b200541003b01b601200541003602b00120024100360218200220053602142002410036021c20022001200341146c6a360244200220043602402002200136023c2002200136023820024102360220200241146a200241206a2002411c6a10c58f8080002000200228021c360208200020022902143702000b200241d0006a2480808080000bc40301047f23808080800041d0006b2202248080808000200241206a41206a200141206a290200370300200241206a41186a200141186a290200370300200241206a41106a200141106a290200370300200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a41ecb1c8800010d58f80800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c41002802a8bfd38000118080808000000c010b200228020c21012002200241cf006a360220024020034101460d00024020034115490d0020012003200241206a10dd8f8080000c010b200120034101200241206a108b908080000b2002280208210441002d00b8bfd380001a024041900241002802b0bfd380001182808080000022050d00410441900210b980808000000b200541003b018e02200541003602880220024100360218200220053602142002410036021c20022001200341186c6a360244200220043602402002200136023c200220013602382002418180808078360228200241146a200241206a2002411c6a10c68f8080002000200228021c360208200020022902143702000b200241d0006a2480808080000baa0501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802900221012005417f6a22050d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200041786a22000d000b0b20012100410021020b024002400240200220002f018e024f0d0020022105200021010c010b03402000280288022201450d0220002f018c022105200041002802a8bfd3800011808080800000200441016a210420012100200520012f018e024f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4194026a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802900221002004417f6a22040d000b0b20074107490d000340200028029002280290022802900228029002280290022802900228029002280290022100200641786a22060d000b0b0240200120054104746a2201280200450d00200128020441002802a8bfd38000118080808000000b410021012003417f6a22030d010c030b0b200041002802a8bfd380001180808080000041f4a8c88000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802900221002005417f6a22050d000b0b20024108490d000340200028029002280290022802900228029002280290022802900228029002280290022100200441786a22040d000b0b03402000280288022101200041002802a8bfd38000118080808000002001210020010d000b0b0bab0501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802980121012005417f6a22050d000b0b20024108490d000340200128029801280298012802980128029801280298012802980128029801280298012101200041786a22000d000b0b20012100410021020b024002400240200220002f018a014f0d0020022105200021010c010b034020002802002201450d0220002f0188012105200041002802a8bfd3800011808080800000200441016a210420012100200520012f018a014f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a419c016a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802980121002004417f6a22040d000b0b20074107490d000340200028029801280298012802980128029801280298012802980128029801280298012100200641786a22060d000b0b024020012005410c6c6a41046a2201280200450d00200128020441002802a8bfd38000118080808000000b410021012003417f6a22030d010c030b0b200041002802a8bfd380001180808080000041f4a8c88000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802980121002005417f6a22050d000b0b20024108490d000340200028029801280298012802980128029801280298012802980128029801280298012100200441786a22040d000b0b034020002802002101200041002802a8bfd38000118080808000002001210020010d000b0b0bfe0401057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802c40121012004417f6a22040d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200041786a22000d000b0b20012104410021020b024002400240200220042f01b6014f0d00200421000c010b034020042802b0012200450d0220042f01b4012102200441002802a8bfd3800011808080800000200541016a210520002104200220002f01b6014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a41c8016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802c40121002005417f6a22050d000b0b20014107490d00034020002802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b200441002802a8bfd380001180808080000041f4a8c88000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802c40121002005417f6a22050d000b0b20024108490d00034020002802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012100200441786a22040d000b0b034020002802b0012104200041002802a8bfd38000118080808000002004210020040d000b0b0b9f0601097f024020002802202201450d00200028020c210220002802042103200028020021040240034020002001417f6a22013602200240024020044101712205450d0020030d002000280208210302402002450d0002400240200241077122060d00200221050c010b2002210503402005417f6a210520032802980421032006417f6a22060d000b0b20024108490d000340200328029804280298042802980428029804280298042802980428029804280298042103200541786a22050d000b0b20004200370208200020033602044101210420004101360200410021020c010b2005450d020b20002802082106024002400240200220032f0196044f0d0020022107200321050c010b03402003280290042205450d0220032f0194042107200341002802a8bfd3800011808080800000200641016a210620052103200720052f0196044f0d000b0b0240024020060d00200741016a2102200521030c010b200520074102746a419c046a2802002103410021022006417f6a2208450d002006417e6a2109024020084107712206450d0003402008417f6a210820032802980421032006417f6a22060d000b0b20094107490d000340200328029804280298042802980428029804280298042802980428029804280298042103200841786a22080d000b0b2000200236020c200041003602082000200336020402402005200741286c6a41f0006a2205280200450d00200528020441002802a8bfd38000118080808000000b20010d010c030b0b200341002802a8bfd380001180808080000041f4a8c88000108a81808000000b4180b3c88000108a81808000000b200028020021032000410036020002402003450d000240200028020422030d0020002802082103200028020c2207450d0002400240200741077122060d00200721050c010b2007210503402005417f6a210520032802980421032006417f6a22060d000b0b20074108490d000340200328029804280298042802980428029804280298042802980428029804280298042103200541786a22050d000b0b03402003280290042105200341002802a8bfd38000118080808000002005210320050d000b0b0bef0501077f024020002802202201450d00200028020c210220002802042103200028020021040240034020002001417f6a22013602200240024020044101712205450d0020030d002000280208210302402002450d0002400240200241077122060d00200221050c010b2002210503402005417f6a210520032802c40121032006417f6a22060d000b0b20024108490d00034020032802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012103200541786a22050d000b0b20004200370208200020033602044101210420004101360200410021020c010b2005450d020b20002802082106024002400240200220032f01b6014f0d00200321050c010b034020032802b0012205450d0220032f01b4012102200341002802a8bfd3800011808080800000200641016a210620052103200220052f01b6014f0d000b0b0240024020060d00200241016a2102200521030c010b200520024102746a41c8016a2802002103410021022006417f6a2205450d002006417e6a2107024020054107712206450d0003402005417f6a210520032802c40121032006417f6a22060d000b0b20074107490d00034020032802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012103200541786a22050d000b0b2000200236020c200041003602082000200336020420010d010c030b0b200341002802a8bfd380001180808080000041f4a8c88000108a81808000000b4180b3c88000108a81808000000b200028020021032000410036020002402003450d000240200028020422030d0020002802082103200028020c2206450d0002400240200641077122020d00200621050c010b2006210503402005417f6a210520032802c40121032002417f6a22020d000b0b20064108490d00034020032802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012103200541786a22050d000b0b034020032802b0012105200341002802a8bfd38000118080808000002005210320050d000b0b0bfa0602117f027e23808080800041306b2202248080808000024002400240024002400240200028021422032f01ba02220420016a2205410c4f0d00200028020c22062f01ba0222072001490d012006200720016b22083b01ba02200320053b01ba02200341b4016a22092001410c6c6a20092004410c6c10ec968080001a200320014104746a2003200441047410ec968080001a2007200841016a220a6b22072001417f6a470d022009200641b4016a220b200a410c6c6a2007410c6c220c10e996808000210920032006200a4104746a2007410474220710e9968080002103200241086a220d200620084104746a220e41086a2902003703002002200e290200370300200241106a41086a220e2000280200220f20002802082210410c6c6a221141bc016a2212280200360200200b2008410c6c6a220841086a280200210b201141b4016a22112902002113201120082902003702002012200b36020020022013370310200241206a41086a200f20104104746a220841086a220b2902002213370300200220082902002214370320200b200d290300370200200820022903003702002009200c6a220841086a200e28020036020020082002290310370200200320076a220841086a20133702002008201437020020002802182108024020002802100d002008450d050c060b2008450d05200341bc026a2200200141027422016a2000200441027441046a10ec968080001a20002006200a4102746a41bc026a200110e9968080001a200541016a220841037121064100210120054103490d03200341c8026a21002008413c712104410021010340200041746a280200220820013b01b802200820033602b001200041786a2802002208200141016a3b01b802200820033602b0012000417c6a2802002208200141026a3b01b802200820033602b00120002802002208200141036a3b01b802200820033602b001200041106a21002004200141046a2201470d000c040b0b41a8b9c88000413341dcb9c8800010f480808000000b41ecb9c8800041274194bac8800010f480808000000b41f0b8c8800041284198b9c8800010f480808000000b2006450d00200141027420036a41bc026a210003402000280200220820013b01b802200820033602b001200041046a2100200141016a21012006417f6a22060d000b0b200241306a2480808080000f0b41a4bac88000412841ccbac8800010f480808000000be70802127f027e23808080800041306b2202248080808000024002400240024002400240200028020c22032f01ba02220420016a2205410c4f0d00200028021422062f01ba0222072001490d01200320053b01ba022006200720016b22083b01ba02200241086a220920062001417f6a220a410474220b6a220741086a29020037030020022007290200370300200241106a41086a220c200028020022072000280208220d410c6c6a220e41bc016a220f280200360200200641b4016a2210200a410c6c22116a221241086a2802002113200e41b4016a220e2902002114200e2012290200370200200f201336020020022014370310200241206a41086a2007200d4104746a220741086a220d2902002214370300200220072902002215370320200d200929030037020020072002290300370200200341b4016a22092004410c6c6a220741086a200c28020036020020072002290310370200200320044104746a220741086a201437020020072015370200200a2005200441016a22076b470d0220092007410c6c6a2010201110e9968080001a200320074104746a2006200b10e9968080001a201020102001410c6c6a2008410c6c10ec968080001a2006200620014104746a200841047410ec96808000210620002802182110024020002802100d002010450d050c060b2010450d05200320074102746a41bc026a200641bc026a22002001410274221010e9968080001a2000200020106a200841027441046a10ec968080001a024020014103712200450d00200441027420036a41c0026a210103402001280200220420073b01b802200420033602b001200141046a2101200741016a21072000417f6a22000d000b0b0240200a4103490d00200741027421000340200320006a220141bc026a280200220420073b01b802200420033602b001200141c0026a2802002204200741016a3b01b802200420033602b001200141c4026a2802002204200741026a3b01b802200420033602b001200141c8026a2802002201200741036a22043b01b802200120033602b001200741046a2107200041106a210020042005470d000b0b2008417f460d04200841016a220041037121014100210720084103490d03200641c8026a21032000417c712104410021070340200341746a280200220020073b01b802200020063602b001200341786a2802002200200741016a3b01b802200020063602b0012003417c6a2802002200200741026a3b01b802200020063602b00120032802002200200741036a3b01b802200020063602b001200341106a21032004200741046a2207470d000c040b0b41dcbac8800041324190bbc8800010f480808000000b41a0bbc88000412841c8bbc8800010f480808000000b41f0b8c8800041284198b9c8800010f480808000000b2001450d00200741027420066a41bc026a210303402003280200220020073b01b802200020063602b001200341046a2103200741016a21072001417f6a22010d000b0b200241306a2480808080000f0b41a4bac88000412841d8bbc8800010f480808000000beb07010f7f23808080800041106b220224808080800002400240200128020c22032f01ba02220441016a2205200128021422062f01ba0222076a2208410c4f0d00200128021021092001280204210a2001280200220b2f01ba02210c200320083b01ba02200241086a220d200b2001280208220e410c6c6a220141bc016a2802003602002002200141b4016a220f290200370300200f200141c0016a200c200e417f736a2210410c6c10ec968080001a200341b4016a22012004410c6c6a220f41086a200d280200360200200f200229030037020020012005410c6c6a200641b4016a2007410c6c10e9968080001a200d200b200e4104746a220141086a290200370300200220012902003703002001200141106a201041047410ec968080001a200320044104746a220141086a200d29030037020020012002290300370200200320054104746a2006200741047410e9968080001a200b200e41016a22014102746a220d41bc026a200d41c0026a201041027410ec968080001a02402001200c4f0d00200c200e6b417e6a210f02402010410371220d450d00200e410274200b6a41c0026a210e0340200e280200221020013b01b8022010200b3602b001200e41046a210e200141016a2101200d417f6a220d0d000b0b200f4103490d002001410274200b6a41c8026a210e0340200e41746a280200220d20013b01b802200d200b3602b001200e41786a280200220d200141016a3b01b802200d200b3602b001200e417c6a280200220d200141026a3b01b802200d200b3602b001200e280200220d200141036a3b01b802200d200b3602b001200e41106a210e200c200141046a2201470d000b0b200b200b2f01ba02417f6a3b01ba020240200a4102490d00200741016a2201200820046b470d02200341bc026a20054102746a200641bc026a200141027410e9968080001a02402001410371220b450d00200441027420036a41c0026a210103402001280200220e20053b01b802200e20033602b001200141046a2101200541016a2105200b417f6a220b0d000b0b20074103490d002005410274210b03402003200b6a220141bc026a280200220e20053b01b802200e20033602b001200141c0026a280200220e200541016a3b01b802200e20033602b001200141c4026a280200220e200541026a3b01b802200e20033602b001200141c8026a2802002201200541036a220e3b01b802200120033602b001200541046a2105200b41106a210b200e2008470d000b0b200641002802a8bfd38000118080808000002000200936020420002003360200200241106a2480808080000f0b4188bdc88000412a41b4bdc8800010f480808000000b41f0b8c8800041284198b9c8800010f480808000000b8a1101127f23808080800041c0016b2203248080808000200341c8006a41086a22042001280200220520012802082206410c6c6a220741bc016a2802003602002003200741b4016a22082902003703482008200741c0016a2006417f7320052f01ba0222096a220a410c6c10ec968080001a200341dc006a200520064104746a220741086a290200370200200320072902003702542007200741106a200a41047410ec968080001a20052009417f6a22073b01ba022001280204210b024002400240200741ffff037141044b0d00024020052802b0012201450d00200b41016a2108024002400240024020052f01b80222090d0020012f01ba020d012003410136028801200341a4b7c880003602840120034200370290012003200341bc016a36028c0120034184016a41acb8c8800010f280808000000b2003200b360228200320053602242003200b3602202003200836021420032009417f6a2208360218200320013602102003200120084102746a41bc026a280200220136021c024020012f01ba022208200741ffff037122016a41016a410c490d00200341106a4101109d90808000200641016a21060c040b200620014b0d01200620086a41016a2106200341086a200341106a109f9080800020032802082105200328020c210b0c030b2003200b3602442003200b36023c2003200536023820034100360234200320083602302003200136022c200320012802c00222013602400240200741ffff0371220720012f01ba026a41016a410c490d002003412c6a4101109e908080000c030b200620074b0d0120032003412c6a109f90808000200328020021052003280204210b0c020b41e8bbc88000418e0141f8bcc8800010f480808000000b41e8bbc88000418e0141f8bcc8800010f480808000000b20052802b0012209450d0020092f01ba02220741044b0d00200b41016a210c0240024002400340200c21012009220d2802b0012209450d01200741ffff0371210e200141016a210c0240024002400240200d2f01b80222070d00024020092f01ba02220f0d00200341013602a401200341a4b7c880003602a001200342003702ac012003200341bc016a3602a801200341a0016a41acb8c8800010f280808000000b2003200136029c0120032001360294012003200d36029001410021102003410036028c012003200c360288012003200936028401200320092802c002220736029801200e41016a220120072f01ba02220a6a2211410c4f0d01200d21082007210d200e2112200a210e0c030b20032001360280012003200d36027c200320013602782003200c36026c20032007417f6a2210360270200320093602682003200920104102746a41bc026a2802002208360274200e20082f01ba0222126a41016a410c490d01200341e8006a4105200e6b109d908080000c070b20034184016a4105200e6b109e908080000c060b201241016a2201200e6a211120092f01ba02210f0b200820113b01ba02200341a0016a41086a220720092010410c6c6a220a41bc016a2802003602002003200a41b4016a22132902003703a0012013200a41c0016a200f41ffff037122142010417f736a220f410c6c10ec968080001a200841b4016a220a2012410c6c6a221341086a2007280200360200201320032903a001370200200a2001410c6c6a200d41b4016a200e410c6c10e9968080001a2007200920104104746a220a41086a2902003703002003200a2902003703a001200a200a41106a200f41047410ec968080001a200820124104746a220a41086a2007290300370200200a20032903a001370200200820014104746a200d200e41047410e9968080001a2009201041016a22074102746a221341bc026a220a201341c0026a200f41027410ec968080001a0240201420074d0d00201420106b417e6a21130240201420076b4103712210450d000340200a280200220f20073b01b802200f20093602b001200a41046a210a200741016a21072010417f6a22100d000b0b20134103490d00200920074102746a41c8026a210a0340200a41746a280200221020073b01b802201020093602b001200a41786a2802002210200741016a3b01b802201020093602b001200a417c6a2802002210200741026a3b01b802201020093602b001200a2802002210200741036a3b01b802201020093602b001200a41106a210a2014200741046a2207470d000b0b200920092f01ba02417f6a3b01ba020240200c4102490d00200e41016a2207201120126b470d03200841bc026a200141027422106a200d41bc026a200741027410e9968080001a0240201120016b220f41016a410371220a450d00200820106a41bc026a210703402007280200221020013b01b802201020083602b001200741046a2107200141016a2101200a417f6a220a0d000b0b200f4103490d002001410274210a03402008200a6a220741bc026a280200221020013b01b802201020083602b001200741c0026a2802002210200141016a3b01b802201020083602b001200741c4026a2802002210200141026a3b01b802201020083602b001200741c8026a2802002207200141036a22103b01b802200720083602b001200141046a2101200a41106a210a20102011470d000b0b200d41002802a8bfd380001180808080000020092f01ba02220741044d0d000c040b0b200741ffff0371450d010c020b41f0b8c8800041284198b9c8800010f480808000000b2002450d0120022802042201450d0220022001417f6a3602042002200228020022012802bc022207360200200741003602b001200141002802a8bfd38000118080808000000b20002003290348370200200020063602242000200b3602202000200536021c200041186a200341c8006a41186a280200360200200041106a200341c8006a41106a290300370200200041086a2004290300370200200341c0016a2480808080000f0b41d4b6c88000108a81808000000b41bcb8c88000412141e0b8c8800010f480808000000bcf0602087f037e23808080800041e0006b2204248080808000200128020821052001280200210602400240200128020422070d0020042005360208200441003602042004200636020020002004200228020010a0908080000c010b20022802002108200620054102746a41bc026a280200210102402007417f6a2202450d002007417e6a2105024020024103712207450d0003402002417f6a2102200120012f01ba024102746a41bc026a28020021012007417f6a22070d000b0b20054103490d000340200120012f01ba024102746a41bc026a280200220120012f01ba024102746a41bc026a280200220120012f01ba024102746a41bc026a280200220120012f01ba024102746a41bc026a28020021012002417c6a22020d000b0b2004200136020c200420013301ba024220864280808080707c370210200441186a2004410c6a200810a090808000200441c0006a41086a2205200441186a41086a2206280200360200200441d0006a41086a22082004412c6a22092902003703002004200429021837034020042004290224370350200428023821020240200428023c2207200428023422012f01ba02490d000340200241016a210220012f01b802220720012802b00122012f01ba024f0d000b0b20012007410c6c6a220a41b4016a220b290200210c200b2004290340370200200a41bc016a220a280200210b200a20052802003602002006200b360200200120074104746a2205290200210d20052004290350370200200541086a2205290200210e200520082903003702002009200e3702002004200c3703182004200d3702240240024020020d00200741016a21050c010b200120074102746a41c0026a2802002101410021052002417f6a2207450d002002417e6a2106024020074107712202450d0003402007417f6a210720012802bc0221012002417f6a22020d000b0b20064107490d00034020012802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022101200741786a22070d000b0b2000200429031837020020002005360224200041003602202000200136021c200041186a200441186a41186a280200360200200041106a200441186a41106a290300370200200041086a200441186a41086a2903003702000b200441e0006a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41246e2107200128020821010c010b0240200420066b220841246e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a410020074104412410be908080002003280208210a200328020c21090b200a200941246c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b4105762107200128020821010c010b0240200420066b2208410576220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108412010be908080002003280208210a200328020c21090b200a20094105746a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb50202027f017e2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d0120002903004101200110938180800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000b140020012000280200200028020410e5808080000bae0202027f017e2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d0120002903004101200110938180800021000c020b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341d7006a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b20002903002104410021000340200220006a41ff006a2004a7410f712203413072200341376a2003410a491b3a00002000417f6a21002004420f5621032004420488210420030d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000bd70201067f23808080800041306b220124808080800020002802042102024020002802082203450d002002210403400240024002400240024020042d00000e050404010203000b02400240200441046a28020022050d0041002105410021060c010b200120053602242001410036022020012005360214200141003602102001200441086a2802002205360228200120053602182004410c6a2802002106410121050b2001200636022c2001200536021c2001200536020c2001410c6a10b2908080000c030b200441046a280200450d02200441086a28020041002802a8bfd38000118080808000000c020b200441046a280200450d01200441086a28020041002802a8bfd38000118080808000000c010b200441046a10a7908080000b200441106a21042003417f6a22030d000b0b02402000280200450d00200241002802a8bfd38000118080808000000b200141306a2480808080000b8f0201027f23808080800041106b22022480808080002002200041086a360204200128021c4194bfc880004106200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a419abfc880004108200041f4bec88000109d818080001a200241086a41a2bfc88000410a200241046a4184bfc88000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710bb60201047f23808080800041306b2201248080808000024020002802082202450d002000280204210003400240024002400240024020002d00000e050404010203000b02400240200041046a28020022030d0041002103410021040c010b200120033602242001410036022020012003360214200141003602102001200041086a2802002203360228200120033602182000410c6a2802002104410121030b2001200436022c2001200336021c2001200336020c2001410c6a10b2908080000c030b200041046a280200450d02200041086a28020041002802a8bfd38000118080808000000c020b200041046a280200450d01200041086a28020041002802a8bfd38000118080808000000c010b200041046a10a7908080000b200041106a21002002417f6a22020d000b0b200141306a2480808080000bfe06010a7f23808080800041306b2203248080808000200128020821040240024002400240024002400240200128020022050d0020040d01200342808080801037020c410021060c060b200128020420056b210620040d01200621070c020b200128020c20046b21070c010b200128020c20046b20066a22072006490d010b41002106024020074100480d00024020070d00410121080c030b41002d00b8bfd380001a200741002802b0bfd380001182808080000022080d02410121060b20062007200210ae80808000000b200341003602282003410136021c200341ecbec8800036021820034204370220200341186a200210f280808000000b4100210620034100360214200320083602102003200736020c200128020c2109200128020421010240024002400240024020050d002004450d05200920046b21060c010b200120056b210a024020040d00200a21060c010b200920046b200a6a2206200a490d010b20072006490d01410021060c020b200341003602282003410136021c200341ecbec8800036021820034204370220200341186a200210f280808000000b2003410c6a410020064101410110be9080800020032802102108200328021421060b02402005450d0020052001460d00200120056b2207410371210202400240200520016b417c4d0d00410021010c010b200820066a210b2007417c71210c410021010340200b20016a2207200520016a220a2d00003a0000200741016a200a41016a2d00003a0000200741026a200a41026a2d00003a0000200741036a200a41036a2d00003a0000200c200141046a2201470d000b200620016a21060b2002450d00200520016a21010340200820066a20012d00003a0000200141016a2101200641016a21062002417f6a22020d000b0b2004450d0020042009460d00200920046b2201410371210202400240200420096b417c4d0d00410021010c010b200820066a21052001417c71210b410021010340200520016a2207200420016a220a2d00003a0000200741016a200a41016a2d00003a0000200741026a200a41026a2d00003a0000200741036a200a41036a2d00003a0000200b200141046a2201470d000b200620016a21060b2002450d00200420016a21010340200820066a20012d00003a0000200141016a2101200641016a21062002417f6a22020d000b0b2000200329020c370200200041086a2006360200200341306a2480808080000bf70303017f057e017f2380808080004180016b220324808080800002400240024020012802004101470d002003200129031022043703102003200129030822053703082003427f2002290308220620022903187c220720072006541b22073703202003427f2002290300220620022903107c220820082006541b2206370318024020052006560d0020042007580d020b41002802ecbfd38000450d012003419284808000ad4220862205200341086aad8437033020032005200341186aad8437032841002802d4bcd38000210241002802d0bcd38000210141002802e8bfd3800021092003420237027420034190c1c8800036026820034116360264200341e7c1c88000360260200342c780808010370258200341a0c1c880003602542003421737024c200341fdc1c880003602482003410036024420034281808080902937023c2003410236026c200241c4dbc88000200941024622091b28021021022003200341286a360270200141dcdbc8800020091b2003413c6a2002118b808080000020032903102104200329030821050c010b2000427f2002290308220520022903187c220420042005541b3703082000427f2002290300220520022903107c220420042005541b3703000c010b20002007200420072004541b37030820002006200520062005541b3703000b20034180016a2480808080000bcc0201047f23808080800041d0006b220124808080800002400240024002404199c2c88000411310bb9080800022020e020001020b41002802ecbfd380004102490d0241002802d4bcd38000210241002802d0bcd38000210341002802e8bfd3800021042001420037024420014281808080c00037023c20014188c3c8800036023820014125360234200141e4c3c88000360230200142d48080802037022820014190c3c880003602242001422537021c200141e4c3c880003602182001410036021420014281808080800937020c200341dcdbc88000200441024622041b2001410c6a200241c4dbc8800020041b280210118b80808000000c020b4199c2c8800041134100280280bdd38000118b80808000000c010b20012002417f6a36020c4199c2c8800041132001410c6a410441002802c8bdd38000118380808000000b200141d0006a2480808080000bd60303027f017e027f23808080800041c0006b2201248080808000200141246a4189c4c88000410441fdc1c8800041174104410010c791808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080c00037020c2001410c6a4190b4c8800010af96808000200128021022044100360208200442808080808001370200200441003a00202004410336021c20044194c2c880003602182004410036021420044280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a4190b4c8800010af968080000b2001280234410141246c6a220441013a00202004410236021c20044197c2c88000360218200442043702102004420037020820044280808080800137020002402002418080808078470d0041a0b4c88000411141b4b4c88000108b81808000000b20012802342104200128023021052000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002005360204200041013a0000200020012903003702502000410141016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000bd10404027f017e037f017e23808080800041d0006b2201248080808000200141306a418dc4c88000410d41fdc1c8800041174104410010c791808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a2204410036020020014280808080c000370218200141186a4190b4c8800010af96808000200128021c22054100360208200542808080808001370200200541003a00202005410636021c2005419ac4c880003602182005410036021420054280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a4190b4c8800010af968080000b2001280244410141246c6a220541013a00202005410b36021c200541a0c4c8800036021820054204370210200542003702082005428080808080013702002004410141016a2206360200200120012903402207370318024020062007a7470d00200141186a4190b4c8800010af968080000b200128021c200641246c6a220541023a00202005410936021c200541abc4c88000360218200542043702102005420037020820054280808080800137020002402002418080808078470d0041a0b4c88000411141b4b4c88000108b81808000000b200128021c2105200128021821042000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041013a0000200020012903083702502000200641016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000bf30601087f23808080800041106b2205248080808000410121064100210702400240200441017420026a22084100480d002008450d0141002d00b8bfd380001a200841002802b0bfd380001182808080000022060d01410121070b2007200841a4c5c8800010ae80808000000b4100210720054100360208200520063602042005200836020002402002450d00200120026a21022005410c6a41037221092005410c6a410272210a2005410c6a410172210b41002107034002400240024020012c00002208417f4c0d00200141016a2101200841ff017121080c010b20012d0001413f7121062008411f71210c024002402008415f4b0d00200c4106742006722108200141026a21010c010b200641067420012d0002413f717221060240200841704f0d002006200c410c74722108200141036a21010c010b200641067420012d0003413f7172200c411274418080f00071722108200141046a21010b2008418001490d002005410036020c024002402008418010490d000240200841808004490d002005200841127641f001723a000c20052008410676413f71418001723a000e20052008410c76413f71418001723a000d410421062009210c0c020b20052008410c7641e001723a000c20052008410676413f71418001723a000d41032106200a210c0c010b2005200841067641c001723a000c41022106200b210c0b200c2008413f71418001723a00000240200528020020076b20064f0d002005200720064101410110be90808000200528020821070b200528020420076a2005410c6a200610e9968080001a200528020820066a21070c010b024020072005280200470d00200541c4c6c8800010ad808080000b200528020420076a20083a0000200741016a21070b2005200736020820012002470d000b0b02402004450d00034020032d000022014104762208413072200841d7006a200141a001491b2108024020072005280200470d00200541c4c6c8800010ad808080000b200528020420076a20083a00002005200741016a2208360208024020082005280200470d00200541c4c6c8800010ad808080000b200341016a2103200528020420076a41016a2001410f712207413072200741d7006a2007410a491b3a00002005200841016a22073602082004417f6a22040d000b0b20002005290200370200200041086a200541086a280200360200200541106a2480808080000bea0803047f037e087f23808080800041d0006b220224808080800020012802002103200128020c21042001410036020c024002402004450d002001410c6a210520012902102106419584808000ad4220862107419684808000ad422086200241306aad84210803402006a72109024002400240024002402006422088220620043301ba025a0d002006a7210a0c010b2004210b0340200b2802b0012204450d02200941016a2109200b2f01b802210a2004210b200a20042f01ba024f0d000b0b20022004200a410c6c6a41b4016a220c36023002402003280200220b2802080d004100210d0240200c280208220b4100480d00200c280204210c0240200b0d004101210d0c040b41002d00b8bfd380001a200b41002802b0bfd3800011828080800000220d0d034101210d0b200d200b41fc88c0800010ae80808000000b2002410236020c200241ecc7c88000360208200242023702142002200837034820022007200bad843703402002200241c0006a360210200241346a200241086a10b1808080000c020b20004180808080783602000c040b200d200c200b10e996808000210c2002200b36023c2002200c3602382002200b3602340b2004200a4104746a210e2003280208220f41047421102003280204210d4100210b02400240024003402010200b460d01200d200b6a210c200b41106a210b200c200241346a10b490808000450d000b200d200b6a417c6a2d00000d024100210c0240200228023c220b4100480d002002280238210c0240200b0d00410121100c030b41002d00b8bfd380001a200b41002802b0bfd380001182808080000022100d024101210c0b200c200b41fc88c0800010ae80808000000b02402002280234450d00200228023841002802a8bfd38000118080808000000b2001280204220b200b280200417f6a3602002002200a3602482002200936024420022004360240200241086a200241c0006a200141086a200241346a10a190808000200041186a200241086a41186a280200360200200041106a200241086a41106a290200370200200041086a200241086a41086a29020037020020002002290208370200200241c0006a41086a2002412c6a280200220b360200200220022902242206370340200541086a200b360200200520063702000c040b2010200c200b10e996808000210c2002200b3602102002200c36020c2002200b360208200e200d200f200241086a10b5908080000b02402002280234450d00200228023841002802a8bfd38000118080808000000b0240024020090d00200a41016a210a0c010b2004200a4102746a41c0026a28020021044100210a2009417f6a220b450d002009417e6a21090240200b410771220c450d000340200b417f6a210b20042802bc022104200c417f6a220c0d000b0b20094107490d00034020042802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022104200b41786a220b0d000b0b2001200a3602142001420037020c200129021021060c000b0b20004180808080783602000b200241d0006a2480808080000b140020012000280204200028020810e5808080000bd10a010a7f23808080800041306b2201248080808000024020002802202202450d00200028020c210320002802042104200028020021050240034020002002417f6a22023602200240024020054101712206450d0020040d002000280208210402402003450d0002400240200341077122070d00200321060c010b2003210603402006417f6a210620042802bc0221042007417f6a22070d000b0b20034108490d00034020042802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022104200641786a22060d000b0b20004200370208200020043602044101210520004101360200410021030c010b2006450d020b20002802082108024002400240200320042f01ba024f0d0020032107200421060c010b034020042802b0012206450d0220042f01b8022107200441002802a8bfd3800011808080800000200841016a210820062104200720062f01ba024f0d000b0b0240024020080d00200741016a2103200621040c010b200620074102746a41c0026a2802002104410021032008417f6a2209450d002008417e6a210a024020094107712208450d0003402009417f6a210920042802bc0221042008417f6a22080d000b0b200a4107490d00034020042802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022104200941786a22090d000b0b2000200336020c2000410036020820002004360204024020062007410c6c6a41b4016a2208280200450d00200828020441002802a8bfd38000118080808000000b02400240024002400240200620074104746a22082d00000e050404010203000b02400240200828020422060d0041002106410021070c010b2001200636022420014100360220200120063602142001410036021020012008280208220636022820012006360218200828020c2107410121060b2001200736022c2001200636021c2001200636020c2001410c6a10b29080800020020d050c070b2008280204450d02200828020841002802a8bfd380001180808080000020020d040c060b2008280204450d01200828020841002802a8bfd380001180808080000020020d030c050b0240200828020c2207450d002008280208210603400240024002400240024020062d00000e050404010203000b02400240200641046a28020022090d00410021094100210a0c010b200120093602242001410036022020012009360214200141003602102001200641086a2802002209360228200120093602182006410c6a280200210a410121090b2001200a36022c2001200936021c2001200936020c2001410c6a10b2908080000c030b200641046a280200450d02200641086a28020041002802a8bfd38000118080808000000c020b200641046a280200450d01200641086a28020041002802a8bfd38000118080808000000c010b200641046a10a7908080000b200641106a21062007417f6a22070d000b0b2008280204450d00200828020841002802a8bfd38000118080808000000b20020d010c030b0b200441002802a8bfd380001180808080000041c8bec88000108a81808000000b41d8c7c88000108a81808000000b200028020021042000410036020002402004450d000240200028020422040d0020002802082104200028020c2208450d0002400240200841077122070d00200821060c010b2008210603402006417f6a210620042802bc0221042007417f6a22070d000b0b20084108490d00034020042802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022104200641786a22060d000b0b034020042802b0012106200441002802a8bfd38000118080808000002006210420060d000b0b200141306a2480808080000bb20503057f017e027f23808080800041c0006b2201248080808000200141246a41fcc7c88000410d4189c8c8800041234104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41c4b5c8800010a390808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080c00037020c2001410c6a4190b4c8800010af96808000200128021022074100360208200742808080808001370200200741003a00202007410436021c200741acc8c880003602182007410036021420074280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a4190b4c8800010af968080000b2001280234410141246c22086a220741013a00202007410836021c200741b0c8c88000360218200742043702102007420037020820074280808080800137020020012802342107200120012802303602142001200736020c2001200720086a41246a36021820012007360210200141306a2001410c6a41c4b5c8800010a29080800002402005418080808078470d0041a0b4c88000411141b4b4c88000108b81808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a41b4c6c8800010a390808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000ba60501077f20012802042102200028020421030240024002402000280208220020012802082201470d0020032002200010ed96808000450d010b200220016a210402402000450d00200320006a210503400240024020032c00002201417f4c0d00200341016a2103200141ff017121010c010b20032d0001413f7121002001411f71210602402001415f4b0d0020064106742000722101200341026a21030c010b200041067420032d0002413f717221000240200141704f0d0020002006410c74722101200341036a21030c010b200041067420032d0003413f71722006411274418080f00071722201418080c400460d02200341046a21030b0240200141df00460d004100210620022004460d040240024020022c00002200417f4c0d00200241016a2102200041ff017121000c010b20022d0001413f7121072000411f71210802402000415f4b0d0020084106742007722100200241026a21020c010b200741067420022d0002413f717221070240200041704f0d0020072008410c74722100200241036a21020c010b200741067420022d0003413f71722008411274418080f00071722200418080c400460d05200241046a21020b024002402000419f7f6a411a4f0d00200041df007121000c010b2000418080c400460d050b2000200141df007120012001419f7f6a411a491b470d040b20032005470d000b0b20022004460d000240024020022c00002203417f4c0d00200341ff017121030c010b20022d0001413f7121012003411f71210002402003415f4b0d00200041067420017221030c010b200141067420022d0002413f717221010240200341704f0d0020012000410c747221030c010b200141067420022d0003413f71722000411274418080f00071722203418080c400460d010b2003418080c400460d0041000f0b410121060b20060bd40502047f017e2380808080004180016b2204248080808000024020002d00004105470d0020042002360208200420013602042004200336020002400240200028020422020d002004420037021420042000410c6a3602100c010b200041046a2105024020002802082206450d0002400240200641077122070d00200621010c010b2006210103402001417f6a210120022802bc0221022007417f6a22070d000b0b20064108490d00034020022802bc022802bc022802bc022802bc022802bc022802bc022802bc022802bc022102200141786a22010d000b0b2004420037021c200420023602182004200536021420042000410c6a3602100b2004200436020c200441246a2004410c6a10b0908080002004280224418080808078460d00200441c0006a41106a21020340200441c0006a41186a200441246a41186a2802003602002002200441246a41106a290200370300200441c0006a41086a200441246a41086a29020037030020042004290224220837034002402008a7450d00200428024441002802a8bfd38000118080808000000b0240024002400240024020042d004c0e050404010203000b02400240200428025022010d0041002101410021070c010b200420042802542207360278200420013602742004410036027020042007360268200420013602642004410036026041012101200428025821070b2004200736027c2004200136026c2004200136025c200441dc006a10b2908080000c030b2004280250450d02200428025441002802a8bfd38000118080808000000c020b2004280250450d01200428025441002802a8bfd38000118080808000000c010b200210a9908080002004280250450d00200428025441002802a8bfd38000118080808000000b200441246a2004410c6a10b0908080002004280224418080808078470d000b0b02402003280200450d00200328020441002802a8bfd38000118080808000000b20044180016a2480808080000b1900200120002802002200280204200028020810e5808080000b3801017f024020002802002200417f460d0020002000280204417f6a220136020420010d00200041002802a8bfd38000118080808000000b0b140020012000280204200028020810e5808080000b140020012000280204200028020810e5808080000b1e00200128021c41e0cbc880004105200128022028020c118180808000000bdc0303027f017e037f2380808080004190016b220224808080800041002103200241086a2000200141002802a0bdd380001185808080000002402002280208450d00200241186a41086a200241086a41086a290200220437030020022002290208370318200228021c2105024002402004a722064104490d00200528000021030c010b4100210341002802ecbfd38000450d002002413c6a41e5cbc8800041022000200110af908080002002419784808000ad4220862002418f016aad843703302002419884808000ad4220862002413c6aad8437032841002802d4bcd38000210141002802d0bcd38000210041002802e8bfd38000210720024202370280012002410236027820024180ccc8800036027420024110360270200241dfccc8800036026c200242cf8080801037026420024190ccc8800036026020024220370258200241efccc880003602542002410036025020024281808080c003370248200141c4dbc88000200741024622071b28021021012002200241286a36027c200041dcdbc8800020071b200241c8006a2001118b8080800000200228023c450d00200228024041002802a8bfd38000118080808000000b200241246a200520062002280218280210118580808000000b20024190016a24808080800020030b100020004204370208200042003702000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10bd9080800020052802084101470d0120052802102102200528020c21060b200620024180cec8800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000ba30402047f017e23808080800041306b22012480808080002001410336020c20014190cec8800036020841002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d0020024190cec88000360200200241046a41033602004190cec88000410310bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd380001180808080000020014102360214200141d0c5cb80003602102001420137021c200141b980808000ad422086200141086aad843703282001200141286a360218200141106a41e0c5cb800010f280808000000b2003419a84808000360218200342acf6debeefe0d9c8d300370310200342efc9c9edb5e7b3a6c7003703082003410136020420034193cec8800036020020014100360218200142808080808001370210200141106a41f4d0c8800010b8918080002001280214220442efc9c9edb5e7b3a6c7003703002004410036023020044280808080c00037032820044100360220200441003602182004419a84808000360210200442acf6debeefe0d9c8d300370308200129021021052000410136024c200020033602482000410136024420002002ad4280808080108437023c200041013602382000410036025820004280808080c0003703502000410136020c20002005370204200041003a0000200141306a2480808080000bb30401047f23808080800041306b22012480808080002001410636021420014194cec8800036021041002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d0020024194cec88000360200200241046a41063602004194cec88000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236021c200141d0c5cb800036021820014201370224200141b980808000ad422086200141106aad8437030020012001360220200141186a41e0c5cb800010f280808000000b2003418881808000360218200342f7c2afbed8aff8dbba7f370310200342c4e4baf8df8dda95c1003703082003410136020420034193cec88000360200200141186a41086a410036020020014280808080c000370218200141186a41e4d0c8800010af96808000200128021c220442808080808001370200200141086a4101360200200441003a00202004410436021c2004419acec88000360218200442043702102004420037020820012001290218370300200141186a2001419ecec88000410410ca908080002000410136024c200020033602482000410136024420002002ad4280808080108437023c200041013602382000410036025820004280808080c0003703502000200128022036020c20002001290218370204200041013a0000200141306a2480808080000b5f00200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041b380808000360218200042d7c9cb8fc1cf97db3e370310200042e88488d0c0e3aebc13370308200041063a00000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41386e2107200128020821010c010b0240200420066b220841386e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108413810c3908080002003280208210a200328020c21090b200a200941386c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000b900203037f017e017f23808080800041206b2205248080808000024002400240200120026a220220014f0d00410021060c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024104200241044b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10c59080800020052802084101470d0120052802102102200528020c21060b200620024194cfc8800010ae80808000000b200528020c21032000200736020020002003360204200541206a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b4105762107200128020821010c010b0240200420066b2208410576220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108412010c3908080002003280208210a200328020c21090b200a20094105746a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bb50504027f017e037f017e23808080800041d0006b2201248080808000200141306a41a4cfc88000411141b5cfc88000410c4104410010c791808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a22044100360200200142808080808001370218200141186a41f4d0c8800010b891808000200128021c220542f7c2afbed8aff8dbba7f370308200542c4e4baf8df8dda95c100370300200141c0006a41086a220641013602002005420437022c20054206370224200541f6d2c880003602202005410636021c200541e5d3c880003602182005418881808000360210200120012902183703400240200628020022062001280240470d00200141c0006a41f4d0c8800010b8918080000b2001280244200641386c6a2205420437022c2005420d370224200541f0d3c880003602202005410536021c200541ebd3c880003602182005419b848080003602102005428de9fdba829eeeb40b370308200542bad8d7dffacaefbb5a3703002004200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41f4d0c8800010b8918080000b200128021c200641386c6a2205420437022c2005420437022420054185d4c880003602202005410836021c200541fdd3c880003602182005419c84808000360210200542fec1b8e7d3cc8bfdff00370308200542e0d083a6fed8aec25d37030002402002418080808078470d004184d1c8800041114198d1c88000108b81808000000b200128021c2105200128021821042000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041003a0000200020012903083702502000200641016a36020c200041d8006a200141086a41086a280200360200200141d0006a2480808080000bfd0305027f017e027f017e017f23808080800041c0006b2201248080808000200141286a41c1cfc88000410541b5cfc88000410c4104410010c791808000200141086a410036020020014280808080c00037030020012802282102200129022c21032001410036021820014280808080c000370210200141346a200141106a41c6cfc88000410e10c9908080000240200128023c22042001280234470d00200141346a41e4d0c8800010af968080000b2001280238200441246c6a220541013a00202005410c36021c200541d4cfc880003602182005420437021020054200370208200542808080808001370200200141106a41086a200441016a2204360200200120012902342206370310024020042006a7470d00200141106a41e4d0c8800010af968080000b2001280214200441246c6a220541023a00202005410e36021c200541e0cfc88000360218200542043702102005420037020820054280808080800137020002402002418080808078470d004184d1c8800041114198d1c88000108b81808000000b20012802142105200128021021072000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002007360204200041013a0000200020012903003702502000200441016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000b950403027f017e037f23808080800041c0006b2201248080808000200141246a41eecfc88000411641b5cfc88000410c4104410010c791808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080800137020c2001410c6a41f4d0c8800010b8918080002001280210220442c4fac092d1a1b49e887f37030820044290bb95eeb18dc1e753370300200141306a41086a220541013602002004420437022c2004421337022420044198d4c880003602202004410c36021c2004418cd4c880003602182004419d848080003602102001200129020c3703300240200528020022052001280230470d00200141306a41f4d0c8800010b8918080000b2001280234200541386c6a2204420437022c20044211370224200441b4d4c880003602202004410936021c200441abd4c880003602182004419e848080003602102004429b9080acbace9195b37f37030820044287c2b386b1e6a5d65a37030002402002418080808078470d004184d1c8800041114198d1c88000108b81808000000b20012802342104200128023021062000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002006360204200041003a0000200020012903003702502000200541016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41f4d0c8800010b8918080002004280208220542e88488d0c0e3aebc133703002005420437022c2005420337022420054189d4c8800036022020054100360218200541b380808000360210200542d7c9cb8fc1cf97db3e37030820042802042106200428020821070240200128020822082001280200470d00200141e4d0c8800010af968080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a41f4d0c8800010b8918080002004280208220542c4e4baf8df8dda95c1003703002005410036023020054280808080c00037032820054100360220200541003602182005418881808000360210200542f7c2afbed8aff8dbba7f37030820042802042106200428020821070240200128020822082001280200470d00200141e4d0c8800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000be80704067f017e027f017e23808080800041d0006b2201248080808000200141306a41c5d4c88000411041d5d4c8800041174104410010c791808000200142043702282001420037022020014280808080800137021841002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d002002419f84808000360218200242bfd389eb81e2c8fcab7f370310200242fde3fae6a2f1ac9a6f37030820024101360204200241ecd4c8800036020020014101360248200120023602402001200241206a36024c20012002360244200141186a200141c0006a41c0d2c8800010c490808000200141086a41086a200141246a220241086a2802003602002001200229020037030820012802182103200128021c2104200128022021052001280230210620012902342107200141186a41086a22084100360200200142808080808001370218200141186a41f4d0c8800010b891808000200128021c220242bfd389eb81e2c8fcab7f370308200242fde3fae6a2f1ac9a6f370300200141c0006a41086a220941013602002002420437022c20024201370224200241aed1c880003602202002410636021c200241a8d1c880003602182002419f84808000360210200120012902183703400240200928020022092001280240470d00200141c0006a41f4d0c8800010b8918080000b2001280244200941386c6a2202420437022c20024201370224200241aed1c880003602202002410b36021c200241b8d1c880003602182002419f84808000360210200242bfd389eb81e2c8fcab7f370308200242fde3fae6a2f1ac9a6f3703002008200941016a220236020020012001290340220a37031802402002200aa7470d00200141186a41f4d0c8800010b8918080000b200128021c200241386c22096a2202420437022c20024201370224200241aed1c880003602202002410936021c200241afd1c880003602182002419f84808000360210200242bfd389eb81e2c8fcab7f370308200242fde3fae6a2f1ac9a6f370300200128021c210220012001280218360220200120023602182001200220096a41386a3602242001200236021c200141c0006a200141186a41c0d2c8800010c2908080002006418080808078460d01200141236a200141c0006a41086a2802003600002000200536024c20002004360248200020033602442000200737023c20002006360238200041003a0000200020012903083702502001200129024037001b20002001290018370001200041d8006a200141086a41086a280200360200200041086a2001411f6a290000370000200141d0006a2480808080000f0b4108412010b980808000000b4184d1c8800041114198d1c88000108b81808000000b900804057f017e037f017e23808080800041d0006b2201248080808000200141306a41e2d6c88000410f41ced6c8800041144104410010c7918080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41c0d2c8800010c490808000200141086a41086a200141186a41146a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a41f4d0c8800010b891808000200128021c220842f7c2afbed8aff8dbba7f370308200842c4e4baf8df8dda95c100370300200141c0006a41086a220941013602002008420437022c20084206370224200841f6d2c880003602202008410e36021c200841e8d2c880003602182008418881808000360210200120012902183703400240200928020022092001280240470d00200141c0006a41f4d0c8800010b8918080000b2001280244200941386c6a2208420437022c2008420e37022420084189d3c880003602202008410d36021c200841fcd2c88000360218200841a084808000360210200842bbd290f59fc293cc9c7f37030820084285a0cc85f0b78cf5123703002007200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f4d0c8800010b8918080000b200128021c200941386c6a2208420437022c2008420e37022420084189d3c880003602202008410936021c20084197d3c88000360218200841a084808000360210200842bbd290f59fc293cc9c7f37030820084285a0cc85f0b78cf512370300200141c0006a41086a200941016a220836020020012001290318220a37034002402008200aa7470d00200141c0006a41f4d0c8800010b8918080000b2001280244200841386c22096a2208420437022c2008420e37022420084189d3c880003602202008410836021c200841a0d3c88000360218200841a084808000360210200842bbd290f59fc293cc9c7f37030820084285a0cc85f0b78cf5123703002001280244210820012001280240360220200120083602182001200820096a41386a3602242001200836021c200141c0006a200141186a41c0d2c8800010c29080800002402005418080808078470d004184d1c8800041114198d1c88000108b81808000000b200141236a200141c0006a41086a2802003600002000200436024c20002003360248200020023602442000200637023c20002005360238200041003a0000200020012903083702502001200129024037001b20002001290018370001200041d8006a200141086a41086a280200360200200041086a2001411f6a290000370000200141d0006a2480808080000be40704067f017e027f017e23808080800041d0006b2201248080808000200141306a41c5d4c88000411041d5d4c8800041174104410010c791808000200142043702282001420037022020014280808080800137021841002d00b8bfd380001a02400240412041002802b0bfd38000118280808000002202450d00200241b380808000360218200242d7c9cb8fc1cf97db3e370310200242e88488d0c0e3aebc1337030820024101360204200241ecd4c8800036020020014101360248200120023602402001200241206a36024c20012002360244200141186a200141c0006a41c0d2c8800010c490808000200141086a41086a200141246a220241086a2802003602002001200229020037030820012802182103200128021c2104200128022021052001280230210620012902342107200141186a41086a22084100360200200142808080808001370218200141186a41f4d0c8800010b891808000200128021c220242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200141c0006a41086a220941013602002002420437022c20024201370224200241aed1c880003602202002410636021c200241a8d1c88000360218200241b380808000360210200120012902183703400240200928020022092001280240470d00200141c0006a41f4d0c8800010b8918080000b2001280244200941386c6a2202420437022c20024201370224200241aed1c880003602202002410b36021c200241b8d1c88000360218200241b380808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc133703002008200941016a220236020020012001290340220a37031802402002200aa7470d00200141186a41f4d0c8800010b8918080000b200128021c200241386c22096a2202420437022c20024201370224200241aed1c880003602202002410936021c200241afd1c88000360218200241b380808000360210200242d7c9cb8fc1cf97db3e370308200242e88488d0c0e3aebc13370300200128021c210220012001280218360220200120023602182001200220096a41386a3602242001200236021c200141c0006a200141186a41c0d2c8800010c2908080002006418080808078460d01200141236a200141c0006a41086a2802003600002000200536024c20002004360248200020033602442000200737023c20002006360238200041003a0000200020012903083702502001200129024037001b20002001290018370001200041d8006a200141086a41086a280200360200200041086a2001411f6a290000370000200141d0006a2480808080000f0b4108412010b980808000000b4184d1c8800041114198d1c88000108b81808000000bce0703017f0d7e017f2001290338427f200128023041017122021b21032001290340427f20021b210420012903282205427f20012903182206a741017122021b2107200642ffffffff0f832108200129035021092001290348210a20012903a002210b2001290398022106200129039002210c024002400240024002402001290320220d427f20021b220e200129038802220f580d002007200c560d010b2007200e84500d010c020b200e200a580d0120072009580d010b410021100c010b410121100b20102006200a200f7c58200b2009200c7c587220084200522202200d200656717220022005200b5671722003200a58200420095872200420038442005271722001290300a7410047220220012903082203507172200220012903102204507172200220034200200e200a7d220a200a200e561b567172200220044200200720097d220a200a2007561b567172722110200129039001427f20012802880141017122021b2103200129039801427f20021b21042001290380012205427f2001290370220aa741017122021b2107200a42ffffffff0f83210820012903a801210920012903a001210a02400240024002402001290378220d427f20021b220e200f580d002007200c560d010b2007200e8450450d010c020b200e200a580d0020072009560d010b410121100b2006200a200f7c58200b2009200c7c587220084200522202200d200656717220022005200b5671722003200a58200420095872200420038442005271722001290358a7410047220220012903602203507172200220012903682204507172200220034200200e200a7d220a200a200e561b567172200220044200200720097d220a200a2007561b567172201072211020012903d8012205427f20012903c8012203a741017122021b210a200129038002210920012903f8012107024002400240024020012903d0012204427f20021b220e200f580d00200a200c560d010b200a200e8450450d010c020b200e2007580d00200a2009560d010b410121100b024020062007200f7c580d00200b2009200c7c580d00200342ffffffff0f8342005222022004200656710d0020022005200b56710d0020012903e801427f20012802e00141017122021b220620075820012903f001427f20021b220b20095872200b200684420052710d0020012802b001410047220220012903b801220650710d00200220012903c001220c50710d00200220064200200e20077d220b200b200e561b56710d002002200c4200200a20097d22062006200a561b56710d0020104101710d002000200141a80210e9968080001a0f0b20004202370300200041013a00080bb10604017f057e017f037e23808080800041b0026b2202248080808000200241086a200141a80210e9968080001a20022903a802210320022903a0022104024020022903202205a7450d0020032002290330220620032006561b210320042002290328220620042006561b21040b024020022903782207a74101470d002003200229038801220620032006561b21032004200229038001220620042006561b21040b20012802a8022108024020022903d0012209a74101470d00200320022903e001220620032006561b2103200420022903d801220620042006561b21040b20013502ac022106200220033703a802200220043703a00202402008450d0020032003428094ebdc0380220a428094ebdc037e7d20067e2203428094ebdc0380220b200a20067e7c2003200b428094ebdc037e7d4280cab5ee0156ad7c210b20042004428094ebdc03802203428094ebdc037e7d20067e2204428094ebdc0380220a200320067e7c2004200a428094ebdc037e7d4280cab5ee0156ad7c21060240200229030850450d0002400240200550450d00420021050c010b4200420020022903302203200b7d220420042003561b220320022903587d220420042003561b2104420042002002290328220320067d220520052003561b220320022903507d220520052003561b2103420121050b2002200437031820022003370310200220053703080b024020022802600d0002400240200750450d00420021050c010b420042002002290388012203200b7d220420042003561b220320022903b0017d220420042003561b210442004200200229038001220320067d220520052003561b220320022903a8017d220520052003561b2103420121050b2002200437037020022003370368200220053703600b20022802b8010d0002400240200950450d00420021060c010b4200420020022903e0012203200b7d220420042003561b22032002290388027d220420042003561b21044200420020022903d801220320067d220620062003561b22032002290380027d220620062003561b2103420121060b200220043703c801200220033703c001200220063703b8010b2000200241086a10ce90808000200241b0026a2480808080000bab0403057f017e027f23808080800041c0006b2201248080808000200141246a41c3d6c88000410b41ced6c8800041144104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41c0d2c8800010c490808000200141086a22022001410c6a41146a28020036020020012001290218370300200128020c2103200128021021042001280214210520012902282106200128022421072001410036021420014280808080800137020c2001410c6a41f4d0c8800010b8918080002001280210220842c19fc9d3b3b5cdcecc003703002008420437022c20084215370224200841d3d2c880003602202008410336021c200841d0d2c88000360218200841a184808000360210200842a4bf8c8e9dffad9d18370308200128021021082001200128020c3602142001200836020c2001200841386a36021820012008360210200141306a2001410c6a41c0d2c8800010c29080800002402007418080808078470d004184d1c8800041114198d1c88000108b81808000000b2001410c6a410b6a200141306a41086a2802003600002000200536024c20002004360248200020033602442000200637023c20002007360238200041003a0000200020012903003702502001200129023037000f2000200129000c370001200041d8006a2002280200360200200041086a200141136a290000370000200141c0006a2480808080000b1e00200128021c41b4d6c88000410f200128022028020c118180808000000b851203027f017e117f41012101410121020240200029038802220342c000540d0002402003428080015a0d00410221020c010b024020034280808080045a0d00410421020c010b4109200379a74103766b21020b0240200029039002220342c000540d0002402003428080015a0d00410221010c010b024020034280808080045a0d00410421010c010b4109200379a74103766b21010b41012104410121050240200029039802220342c000540d0002402003428080015a0d00410221050c010b024020034280808080045a0d00410421050c010b4109200379a74103766b21050b024020002903a002220342c000540d0002402003428080015a0d00410221040c010b024020034280808080045a0d00410421040c010b4109200379a74103766b21040b410121064101210702402000290348220342c000540d0002402003428080015a0d00410221070c010b024020034280808080045a0d00410421070c010b4109200379a74103766b21070b02402000290350220342c000540d0002402003428080015a0d00410221060c010b024020034280808080045a0d00410421060c010b4109200379a74103766b21060b4101210841012109024020002802004101470d00410121094101210a02402000290308220342c000540d0002402003428080015a0d004102210a0c010b024020034280808080045a0d004104210a0c010b4109200379a74103766b210a0b02402000290310220342c000540d0002402003428080015a0d00410221090c010b024020034280808080045a0d00410421090c010b4109200379a74103766b21090b200a20096a41016a21090b024020002802184101470d00410121084101210a02402000290320220342c000540d0002402003428080015a0d004102210a0c010b024020034280808080045a0d004104210a0c010b4109200379a74103766b210a0b02402000290328220342c000540d0002402003428080015a0d00410221080c010b024020034280808080045a0d00410421080c010b4109200379a74103766b21080b200a20086a41016a21080b4101210a4101210b024020002802304101470d004101210b4101210c02402000290338220342c000540d0002402003428080015a0d004102210c0c010b024020034280808080045a0d004104210c0c010b4109200379a74103766b210c0b02402000290340220342c000540d0002402003428080015a0d004102210b0c010b024020034280808080045a0d004104210b0c010b4109200379a74103766b210b0b200c200b6a41016a210b0b024020002903a001220342c000540d0002402003428080015a0d004102210a0c010b024020034280808080045a0d004104210a0c010b4109200379a74103766b210a0b4101210c4101210d024020002903a801220342c000540d0002402003428080015a0d004102210d0c010b024020034280808080045a0d004104210d0c010b4109200379a74103766b210d0b024020002802584101470d004101210c4101210e02402000290360220342c000540d0002402003428080015a0d004102210e0c010b024020034280808080045a0d004104210e0c010b4109200379a74103766b210e0b02402000290368220342c000540d0002402003428080015a0d004102210c0c010b024020034280808080045a0d004104210c0c010b4109200379a74103766b210c0b200e200c6a41016a210c0b4101210e4101210f024020002802704101470d004101210f4101211002402000290378220342c000540d0002402003428080015a0d00410221100c010b024020034280808080045a0d00410421100c010b4109200379a74103766b21100b0240200029038001220342c000540d0002402003428080015a0d004102210f0c010b024020034280808080045a0d004104210f0c010b4109200379a74103766b210f0b2010200f6a41016a210f0b02402000280288014101470d004101210e410121100240200029039001220342c000540d0002402003428080015a0d00410221100c010b024020034280808080045a0d00410421100c010b4109200379a74103766b21100b0240200029039801220342c000540d0002402003428080015a0d004102210e0c010b024020034280808080045a0d004104210e0c010b4109200379a74103766b210e0b2010200e6a41016a210e0b4101211041012111024020002903f801220342c000540d0002402003428080015a0d00410221110c010b024020034280808080045a0d00410421110c010b4109200379a74103766b21110b0240200029038002220342c000540d0002402003428080015a0d00410221100c010b024020034280808080045a0d00410421100c010b4109200379a74103766b21100b4101211241012113024020002802b0014101470d000240024020002903b801220342c0005a0d00410221130c010b02402003428080015a0d00410321130c010b024020034280808080045a0d00410521130c010b410a200379a74103766b21130b0240024020002903c001220342c0005a0d00410121140c010b02402003428080015a0d00410221140c010b024020034280808080045a0d00410421140c010b4109200379a74103766b21140b201320146a21130b024020002802c8014101470d000240024020002903d001220342c0005a0d00410221120c010b02402003428080015a0d00410321120c010b024020034280808080045a0d00410521120c010b410a200379a74103766b21120b0240024020002903d801220342c0005a0d00410121140c010b02402003428080015a0d00410221140c010b024020034280808080045a0d00410421140c010b4109200379a74103766b21140b201220146a21120b41012114024020002802e0014101470d000240024020002903e801220342c0005a0d00410221140c010b02402003428080015a0d00410321140c010b024020034280808080045a0d00410521140c010b410a200379a74103766b21140b0240024020002903f001220342c0005a0d00410121000c010b02402003428080015a0d00410221000c010b024020034280808080045a0d00410421000c010b4109200379a74103766b21000b201420006a21140b200120026a20056a20046a20076a20066a20096a20086a200b6a200a6a200d6a200c6a200f6a200e6a20116a20106a20136a20126a20146a0bf50604057f017e037f017e23808080800041d0006b2201248080808000200141306a41f1d6c88000410c41ced6c8800041144104410010c7918080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41c0d2c8800010c490808000200141086a41086a200141186a41146a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a41f4d0c8800010b891808000200128021c220842f7c2afbed8aff8dbba7f370308200842c4e4baf8df8dda95c100370300200141c0006a41086a220941013602002008420437022c20084206370224200841f6d2c880003602202008410a36021c200841a8d3c880003602182008418881808000360210200120012902183703400240200928020022092001280240470d00200141c0006a41f4d0c8800010b8918080000b2001280244200941386c6a2208420437022c20084206370224200841f6d2c880003602202008410936021c200841b2d3c880003602182008418881808000360210200842f7c2afbed8aff8dbba7f370308200842c4e4baf8df8dda95c1003703002007200941016a220836020020012001290340220a37031802402008200aa7470d00200141186a41f4d0c8800010b8918080000b200128021c200841386c22096a2208420437022c20084221370224200841c4d3c880003602202008410936021c200841bbd3c88000360218200841a284808000360210200842a6a394efa7d5ffcee700370308200842f2eecdc6f1aa8cb309370300200128021c210820012001280218360220200120083602182001200820096a41386a3602242001200836021c200141c0006a200141186a41c0d2c8800010c29080800002402005418080808078470d004184d1c8800041114198d1c88000108b81808000000b200141236a200141c0006a41086a2802003600002000200436024c20002003360248200020023602442000200637023c20002005360238200041003a0000200020012903083702502001200129024037001b20002001290018370001200041d8006a200141086a41086a280200360200200041086a2001411f6a290000370000200141d0006a2480808080000b140020012000280200200028020410e5808080000b5e01017f23808080800041206b220024808080800020004101360204200041c0d8c880003602002000420137020c200041a484808000ad42208641c0d7c88000ad843703182000200041186a360208200041b0d8c8800010f280808000000bd408012d7e0240200141184b0d0002402001450d00410020014103746b210120002903c0012102200029039801210320002903702104200029034821052000290320210620002903b80121072000290390012108200029036821092000290340210a2000290318210b20002903b001210c200029038801210d2000290360210e2000290338210f2000290310211020002903a8012111200029038001211220002903582113200029033021142000290308211520002903a00121162000290378211720002903502118200029032821192000290300211a03402017201685201885201985201a85221b200d200c85200e85200f85201085221c42018985221d201485211e201b4201892008200785200985200a85200b85221f85221b2002852120201d2011854202892221201c2003200285200485200585200685222242018985221c200a8542378922232012201185201385201485201585220a201f42018985221f201085423e892224427f8583852102200a42018920228522102017854229892222201b2004854227892225427f85832023852111201d201385420a892226201c2007854238892227201f200d85420f892228427f858385210d202620102019854224892229427f8583201b200685421b89222a852117201f200f85420689222b201d201585420189222c427f858320102016854212892216852104201b200385420889222d201c200985421989222e427f8583202b852113201b200585421489221b201c200b85421c89220b427f8583201f200c85423d89220f852105201d201285422d89221d200b200f427f858385210a200f201d427f85832010201885420389221585210f201d2015427f8583201b8521142015201b427f8583200b8521192010201a85221d2020420e89221b427f8583201c200885421589221c85210b201b201c427f8583201f200e85422b89221f852110201e422c892206201c201f427f858385211520014198dac880006a290300201f2006427f858385201d85211a2029202a427f8583202785221c21032006201d427f8583201b85221d210620242021427f8583202285221b2107202a2027427f8583202885221f2108202c2016427f8583202d852227210920212022427f85832025852221210c2016202d427f8583202e852222210e20282026427f85832029852226211220252023427f858320248522232116202c202e202b427f85838522242118200141086a22010d000b200020233703a001200020173703782000202437035020002019370328200020113703a8012000202637038001200020133703582000201437033020002015370308200020213703b0012000200d37038801200020223703602000200f370338200020103703102000201b3703b8012000201f37039001200020273703682000200a3703402000200b370318200020023703c0012000201c3703980120002004370370200020053703482000201d3703202000201a3703000b0f0b41f1dac8800041c10041b4dbc8800010f480808000000b040041000b02000b02000ba80202057f057e23808080800041d0006b220524808080800002402003450d002005410036021c20054101360210200541a8dcc8800036020c200542043702142005410c6a4194ddc8800010f280808000000b41002802d4bcd38000210341002802d0bcd38000210641002802e8bfd3800021072002280210220828020821092002290208210a2008290200210b2002290200210c2000290200210d2000290208210e200520002902103702482005200e3702402005200d3702382005200c3702302005200136022c2005200b370224200541003602202005200a37021820054100360214200520093602102005410136020c200641dcdbc88000200741024622021b2005410c6a200341c4dbc8800020021b280210118b8080800000200541d0006a2480808080000bc10301047f2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff01714101742205418d96c080006a2d00003a000220022005418c96c080006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe0171418d96c080006a2d00003a00000b2001410141014100200220036a410320036b10e38080800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41a4ddc880002005410c6a41a4ddc880002003200410f780808000000b8a0602027f017e23808080800041f0006b2203248080808000200320013a000702400240024002400240024020020d002003200141087122023a000820020d01200020013a00ca0120002d00c9012104200020002d00c801220241016a3a00c901200241c7014b0d02200020026a220220022d00002004733a0000200020002d00c80141016a22023a00c80102400240200241ff0171220241a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d69080800041002102200041003b01c8010c010b200241c7014b0d030b200020026a220220022d00002001733a0000200020002d00c80141016a22023a00c80102400240200241ff017141a601470d00200041a6016a210120002d00c901210241840121040c010b2001412471450d06200241ff01712201450d06200141c7014b0d04200020016a220120012d000020002d00c901733a000020002d00c80141016a41ff0171220141c8014f0d05200020016a21014180012104410421020b200120012d00002002733a0000200020002d00a7012004733a00a7012000411810d690808000200041003b01c8010c050b20002d00ca01200141ff0171460d04200341a884808000ad4220862205200341076aad8437032820032005200041ca016a2200ad843703202003410236021c200341023602142003410236020c200341fcdfc88000360208200341033a006c20034104360268200342a0808080103702602003410236025820034102360250200341033a004c200341043602482003422037024020034102360238200341023602302003200341306a3602182003200341206a36021041002000200341076a200341086a418ce0c8800010dc90808000000b2003420037023c20034281808080c000370234200341b4dfc880003602304100200341086a41f4dec88000200341306a41bcdfc8800010dc90808000000b200241c80141c4dec8800010f580808000000b200141c80141a4dec8800010f580808000000b200141c80141b4dec8800010f580808000000b200341f0006a2480808080000b8b0d01027f23808080800041a0036b2203248080808000200341002f0094dec880003b010420034100280090dec88000360200200341126a410041b60110eb968080001a2003410e6a410028009edec8800036010020034100290096dec880003701062003411810d690808000200341d0016a200341c80110e9968080001a200341003a009a03200341003b019803200341d0016a4112410010dd90808000024020032d009803220441c7014b0d00200341d0016a20046a220420042d000041cd00733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810d69080800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041e500733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810d69080800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041f200733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810d69080800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041ec00733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810d69080800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041e900733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810d69080800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041ee00733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810d69080800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d00004120733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810d69080800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d000041f600733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810d69080800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d00004131733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810d69080800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d0000412e733a0000200320032d00980341016a22043a00980302400240200441ff0171220441a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810d69080800041002104200341003b0198030c010b200441c7014b0d010b200341d0016a20046a220420042d00004130733a0000200320032d00980341016a22043a0098030240200441ff017141a601470d00200320032d00f60220032d009903733a00f602200320032d00f702418401733a00f702200341d0016a411810d690808000200341003b0198030b2003200341d0016a41d00110e9968080002203419ce0c8800041072001200210df908080002000200341d00110e9968080001a200341a0036a2480808080000f0b200441c80141c4dec8800010f580808000000bfd0802027f017e23808080800041f0006b220524808080800020004112410010dd90808000024002400240024002402002450d0020002d00c80121060340200641ff0171220641c7014b0d02200020066a220620062d000020012d0000733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d69080800041002106200041003b01c8010b200141016a21012002417f6a22020d000b0b200541123a000720002d00ca014112470d0120002d00c801220641c7014b0d02200020066a220620062d00002004733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d69080800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004410876733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d69080800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004411076733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d69080800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004411876733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d690808000200041003b01c8010b20004102410010dd9080800002402004450d0020002d00c80121060340200641ff0171220641c7014b0d05200020066a220620062d000020032d0000733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d69080800041002106200041003b01c8010b200341016a21032004417f6a22040d000b0b200541f0006a2480808080000f0b200641c80141c4dec8800010f580808000000b200541a884808000ad4220862207200541076aad8437032820052007200041ca016a2200ad843703202005410236021c200541023602142005410236020c200541fcdfc88000360208200541033a006c20054104360268200542a0808080103702602005410236025820054102360250200541033a004c200541043602482005422037024020054102360238200541023602302005200541306a3602182005200541206a36021041002000200541076a200541086a418ce0c8800010dc90808000000b200641c80141c4dec8800010f580808000000b200641c80141c4dec8800010f580808000000b820902027f017e23808080800041f0006b220524808080800020004112410010dd90808000024002400240024002402002450d0020002d00c80121060340200641ff0171220641c7014b0d02200020066a220620062d000020012d0000733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d69080800041002106200041003b01c8010b200141016a21012002417f6a22020d000b0b200541123a000720002d00ca014112470d0120002d00c801220641c7014b0d02200020066a220620062d00002004733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d69080800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004410876733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d69080800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004411076733a0000200020002d00c80141016a22063a00c80102400240200641ff0171220641a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d69080800041002106200041003b01c8010c010b200641c7014b0d030b200020066a220620062d00002004411876733a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d690808000200041003b01c8010b20004107410010dd9080800002402004450d0020002d00c80121060340200641ff0171220641c8014f0d05200020066a22062d00002101200641003a0000200320013a0000200020002d00c80141016a22063a00c8010240200641ff017141a601470d00200020002d00a60120002d00c901733a00a601200020002d00a701418401733a00a7012000411810d69080800041002106200041003b01c8010b200341016a21032004417f6a22040d000b0b200541f0006a2480808080000f0b200641c80141c4dec8800010f580808000000b200541a884808000ad4220862207200541076aad8437032820052007200041ca016a2200ad843703202005410236021c200541023602142005410236020c200541fcdfc88000360208200541033a006c20054104360268200542a0808080103702602005410236025820054102360250200541033a004c200541043602482005422037024020054102360238200541023602302005200541306a3602182005200541206a36021041002000200541076a200541086a418ce0c8800010dc90808000000b200641c80141c4dec8800010f580808000000b200641c80141e4dec8800010f580808000000b830902027f017e23808080800041f0006b220624808080800020014112410010dd90808000024002400240024002402003450d0020012d00c80121070340200741ff0171220741c7014b0d02200120076a220720072d000020022d0000733a0000200120012d00c80141016a22073a00c8010240200741ff017141a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810d69080800041002107200141003b01c8010b200241016a21022003417f6a22030d000b0b200641123a000720012d00ca014112470d0120012d00c801220741c7014b0d02200120076a220720072d00002005733a0000200120012d00c80141016a22073a00c80102400240200741ff0171220741a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810d69080800041002107200141003b01c8010c010b200741c7014b0d030b200120076a220720072d00002005410876733a0000200120012d00c80141016a22073a00c80102400240200741ff0171220741a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810d69080800041002107200141003b01c8010c010b200741c7014b0d030b200120076a220720072d00002005411076733a0000200120012d00c80141016a22073a00c80102400240200741ff0171220741a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810d69080800041002107200141003b01c8010c010b200741c7014b0d030b200120076a220720072d00002005411876733a0000200120012d00c80141016a22073a00c8010240200741ff017141a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810d690808000200141003b01c8010b20014106410010dd9080800002402005450d0020012d00c80121070340200741ff0171220741c7014b0d05200120076a20042d00003a0000200120012d00c80141016a22073a00c8010240200741ff017141a601470d00200120012d00a60120012d00c901733a00a601200120012d00a701418401733a00a7012001411810d69080800041002107200141003b01c8010b200441016a21042005417f6a22050d000b0b2000200141d00110e9968080001a200641f0006a2480808080000f0b200741c80141c4dec8800010f580808000000b200641a884808000ad4220862208200641076aad8437032820062008200141ca016a2201ad843703202006410236021c200641023602142006410236020c200641fcdfc88000360208200641033a006c20064104360268200642a0808080103702602006410236025820064102360250200641033a004c200641043602482006422037024020064102360238200641023602302006200641306a3602182006200641206a36021041002001200641076a200641086a418ce0c8800010dc90808000000b200741c80141c4dec8800010f580808000000b200741c80141d4dec8800010f580808000000bd10404027f017e037f017e23808080800041d0006b2201248080808000200141306a41a3e0c88000410741aae0c8800041164104410010c791808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a2204410036020020014280808080c000370218200141186a41d8e1c8800010af96808000200128021c22054100360208200542808080808001370200200541003a00202005410336021c200541c0e0c880003602182005410036021420054280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41d8e1c8800010af968080000b2001280244410141246c6a220541013a00202005410436021c200541c3e0c8800036021820054204370210200542003702082005428080808080013702002004410141016a2206360200200120012903402207370318024020062007a7470d00200141186a41d8e1c8800010af968080000b200128021c200641246c6a220541023a00202005410336021c200541c7e0c88000360218200542043702102005420037020820054280808080800137020002402002418080808078470d0041f8e1c880004111418ce2c88000108b81808000000b200128021c2105200128021821042000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041013a0000200020012903083702502000200641016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000be20203027f017e037f23808080800041306b2201248080808000200141246a41cae0c88000410a41aae0c8800041164104410010c791808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41e8e1c8800010b8918080002001280210220542e987d8bed5a3d0fbfb003703002005420437022c200542043702242005419ce2c8800036022020054100360218200541e880808000360210200542e2e68fceaa92ce9c7b37030802402004418080808078470d0041f8e1c880004111418ce2c88000108b81808000000b200128020c2105200128021021062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200636020820002005360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000bd60303027f017e027f23808080800041c0006b2201248080808000200141246a41d4e0c88000411341aae0c8800041164104410010c791808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080c00037020c2001410c6a41d8e1c8800010af96808000200128021022044100360208200442808080808001370200200441003a00202004410836021c200441e7e0c880003602182004410036021420044280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41d8e1c8800010af968080000b2001280234410141246c6a220441013a00202004410836021c200441efe0c88000360218200442043702102004420037020820044280808080800137020002402002418080808078470d0041f8e1c880004111418ce2c88000108b81808000000b20012802342104200128023021052000410036024c2000428080808080013702442000200337023c200020023602382000200436020820002005360204200041013a0000200020012903003702502000410141016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000bbb0e03017f017e077f23808080800041306b2201248080808000200141246a41e4e3c88000410541e9e3c8800041164104410010c79180800041002d00b8bfd380001a20012902282102200128022421030240024002400240024002400240024002400240410841002802b0bfd38000118280808000002204450d00200441002903a0e4c880003702002001410036022020014280808080c00037021841002d00b8bfd380001a2001410036022c200142808080808001370224410841002802b0bfd38000118280808000002205450d01200541002903d0e5c88000370200200141246a4190e3c8800010b891808000200128022822064298848fa1dab08ba174370300200641013602302006200536022c2006428480808010370224200641a0e5c880003602202006410636021c200641c4e3c88000360218200641f280808000360210200642febac4ad81b6fafcb37f37030841002d00b8bfd380001a20012802242107410841002802b0bfd38000118280808000002208450d0220084100290398e5c88000370200200141186a4180e3c8800010af96808000200128021c22054281808080103702082005200636020420052007360200200541003a00202005411136021c200541a8e4c880003602182005410136021420052008360210200141086a41086a41013602002001200129021837030841002d00b8bfd380001a2001410036022c200142808080808001370224410841002802b0bfd38000118280808000002205450d03200541002903a8e6c88000370200200141246a4190e3c8800010b8918080002001280228220642d1b7cad1fcf7c4b6847f370300200641013602302006200536022c200642888080801037022420064188e6c880003602202006410736021c200641cae3c88000360218200641f380808000360210200642c0ce84fcacdaaac8947f37030841002d00b8bfd380001a20012802242109410841002802b0bfd38000118280808000002208450d0420084100290380e6c880003702000240200128021022072001280208470d00200141086a4180e3c8800010af968080000b200128020c200741246c6a220541013a00202005411336021c200541b9e4c88000360218200541013602142005200836021020054281808080103702082005200636020420052009360200200141186a41086a200741016a3602002001200129030837031841002d00b8bfd380001a2001410036022c200142808080808001370224410841002802b0bfd38000118280808000002205450d05200541002903f8e6c88000370200200141246a4190e3c8800010b8918080002001280228220642d1b7cad1fcf7c4b6847f370300200641013602302006200536022c200642888080801037022420064188e6c880003602202006410736021c200641d1e3c88000360218200641f380808000360210200642c0ce84fcacdaaac8947f37030841002d00b8bfd380001a20012802242109410841002802b0bfd38000118280808000002208450d06200841002903d8e6c880003702000240200128022022072001280218470d00200141186a4180e3c8800010af968080000b200128021c200741246c6a220541023a00202005410f36021c200541cce4c88000360218200541013602142005200836021020054281808080103702082005200636020420052009360200200141086a41086a200741016a3602002001200129031837030841002d00b8bfd380001a2001410036022c200142808080808001370224410841002802b0bfd38000118280808000002205450d07200541002903c8e7c88000370200200141246a4190e3c8800010b8918080002001280228220642d1b7cad1fcf7c4b6847f370300200641013602302006200536022c200642888080801037022420064188e6c880003602202006410c36021c200641d8e3c88000360218200641f380808000360210200642c0ce84fcacdaaac8947f37030841002d00b8bfd380001a20012802242109410841002802b0bfd38000118280808000002208450d08200841002903a8e7c880003702000240200128021022072001280208470d00200141086a4180e3c8800010af968080000b200128020c200741246c6a220541033a00202005411336021c200541dbe4c880003602182005410136021420052008360210200542818080801037020820052006360204200520093602002003418080808078460d09200128020c2106200128020821052000410136025820002004360254200042808080801037024c2000428080808080013702442000200237023c200020033602382000200636020820002005360204200041013a00002000200741016a36020c200141306a2480808080000f0b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b4104410810b980808000000b41a0e3c88000411141b4e3c88000108b81808000000baa0303017f017e037f23808080800041206b2201248080808000200141146a41e4e8c88000410841ece8c88000411a4104410010c7918080002001290218210220012802142103200141146a41086a410036020020014280808080c000370214200141146a41b0e8c8800010af96808000200128021822044100360208200442808080808001370200200441003a00202004410936021c20044186e9c880003602182004410036021420044280808080c00037020c200141086a41086a410136020020012001290214370308024020012802084101470d00200141086a41b0e8c8800010af968080000b200128020c410141246c6a220441013a00202004410236021c2004418fe9c88000360218200442043702102004420037020820044280808080800137020002402003418080808078470d0041c0e8c88000411141d4e8c88000108b81808000000b200128020c210420012802082105200042043702542000420037024c2000428080808080013702442000200237023c200020033602382000200436020820002005360204200041013a00002000410141016a36020c200141206a2480808080000bf90201047f23808080800041c0006b220224808080800020022000280200360204410121000240200128021c22034188c2ca800041122001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110f1908080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10f1908080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000bbe04010c7f20012d001d210220012802182103200128021021042001280204210520012d001c2106200128021421072001280208210820012802002109024003402009210a4100210b02402002410171450d000c020b0240024020042007460d0003402003210c02400240200422032c00002202417f4c0d00200341016a2104200241ff017121020c010b20032d0001413f7121042002411f71210902402002415f4b0d0020094106742004722102200341026a21040c010b200441067420032d0002413f717221040240200241704f0d0020042009410c74722102200341036a21040c010b200441067420032d0003413f71722009411274418080f00071722102200341046a21040b200420036b200c6a2103024002400240200241776a220941174b0d004101200974419f808004710d010b2002418001490d01024002400240024020024108762209416a6a0e1b030505050505050505050105050505050505050505050505050500020b20024180e000470d040c030b200241ff017141dcd3c080006a2d0000410271450d030c020b20090d02200241ff017141dcd3c080006a2d00004101710d010c020b200241802d470d010b20012003360218200120043602102001200336020041002102200321090c030b20042007470d000b20012003360218200120043602100b41012102200141013a001d02402006410171450d00200a21092005210c0c010b200a21092005210c2005200a460d020b200c200a6b220d450d000b2008200a6a210b0b2000200d3602042000200b3602000bd00601047f41c295c9800020012002410620024106491b10ed968080002203410620026b20031b410148410a742204418004722103200420032003410374220541bcc0c980006a2802002001200541c0c0c980006a2802002205200220052002491b10ed968080002206200520026b20061b41004a1b2204418002722103200420032003410374220541bcc0c980006a2802002001200541c0c0c980006a2802002205200220052002491b10ed968080002206200520026b20061b41004a1b2204418001722103200420032003410374220541bcc0c980006a2802002001200541c0c0c980006a2802002205200220052002491b10ed968080002206200520026b20061b41004a1b220441c0006a2103200420032003410374220541bcc0c980006a2802002001200541c0c0c980006a2802002205200220052002491b10ed968080002206200520026b20061b41004a1b220441206a2103200420032003410374220541bcc0c980006a2802002001200541c0c0c980006a2802002205200220052002491b10ed968080002206200520026b20061b41004a1b220441106a2103200420032003410374220541bcc0c980006a2802002001200541c0c0c980006a2802002205200220052002491b10ed968080002206200520026b20061b41004a1b220441086a2103200420032003410374220541bcc0c980006a2802002001200541c0c0c980006a2802002205200220052002491b10ed968080002206200520026b20061b41004a1b220441046a2103200420032003410374220541bcc0c980006a2802002001200541c0c0c980006a2802002205200220052002491b10ed968080002206200520026b20061b41004a1b220441026a2103200420032003410374220541bcc0c980006a2802002001200541c0c0c980006a2802002205200220052002491b10ed968080002206200520026b20061b41004a1b220441016a21032000200420032003410374220541bcc0c980006a2802002001200541c0c0c980006a2802002205200220052002491b10ed968080002206200520026b20061b41004a1b2205410374220341bcc0c980006a2802002001200341c0c0c980006a2802002203200220032002491b10ed968080002201200320026b20011b220241004736020020002002411f7620056a3602040b9c0e010f7f23808080800041e0046b2203248080808000200341013b016c4100210420034100360268200320013602602003200236025c2003200136025820032002360254200341003602502003200120026a2205360264417f21060340200641016a2106200441016a2104200341186a200341d0006a10e89080800020032802180d000b2004417f6a220741036e2108200641036e21060240024002400240024002400240200441666a4173490d00200641036c41016a2004470d00200341c8006a427f370300200341c0006a427f370300200341206a41186a427f370300200341206a41106a427f370300200341206a41086a427f3703002003427f370320200341d0006a410041880210eb968080001a2003410036029804200320053602940420032001360290042003200236028c0420032001360288042003200236028404200342003702fc03200341013b019c04200341106a200341fc036a41046a220210e890808000024020032802102204450d00200341d0006a410a6a2105200341d0006a41096a2109200341d0006a41086a210a200341d0006a41076a210b200341d0006a41066a210c200341d0006a41056a210d200341d0006a41046a210e200341d0006a41036a210f200341d0006a41026a2110200341d0006a41016a2111200328021421060c020b200341d8026a41186a4200370300200341d8026a41106a4200370300200341d8026a41086a4200370300200342003703d802200741ff017141036e220841027421050c020b20002007360208200041003a0004200041013b01000c050b024002400340200320032802fc03220141016a3602fc03200341086a2004200610e99080800020032802080d010240200141184f0d00200341d0006a2001410b6c22066a200328020c2204410a764101713a0000200341206a20014101746a20043b0100201120066a20044109764101713a0000201020066a20044108764101713a0000200f20066a2004418001714107763a0000200e20066a20044106764101713a0000200d20066a20044105764101713a0000200c20066a20044104764101713a0000200b20066a20044103764101713a0000200a20066a20044102764101713a0000200920066a20044101764101713a0000200520066a20044101713a00002003200210e8908080002003280204210620032802002204450d030c010b0b2001411841ecc0ca800010f580808000000b200041013a0004200041013b010020002001ad3702080c050b200341f0026a4200370300200341e8026a4200370300200341e0026a4200370300200342003703d80220084102742105200741024d0d010b41002101200341d8026a210420054101200541014b1b2209210203400240024002402001418802460d00200341d0006a20016a22062d00000d010c020b2009417f6a2203412120034121491b41037441880241dcc0ca800010f580808000000b200420042d0000418001733a00000b0240200641016a2d00004101470d00200420042d000041c0006a3a00000b0240200641026a2d00004101470d00200420042d000041206a3a00000b0240200641036a2d00004101470d00200420042d000041106a3a00000b0240200641046a2d00004101470d00200420042d000041086a3a00000b0240200641056a2d00004101470d00200420042d000041046a3a00000b0240200641066a2d00004101470d00200420042d000041026a3a00000b0240200641076a2d00004101470d00200420042d000041016a3a00000b200441016a2104200141086a21012002417f6a22020d000b2007411b4f0d010b200341d0036a4200370300200341c8036a4200370300200341c0036a4200370300200341b8036a4200370300200341b0036a4200370300200341a8036a4200370300200341a0036a4200370300200342003703980341002104200341003602f803200342abb38ffc91a3b3f0db003703f003200342ffa4b988c591da829b7f3703e803200342f2e6bbe3a3a7fda7a57f3703e003200342e7cca7d0d6d0ebb3bb7f3703d80320034198036a200341d8026a200510bc80808000200341fc036a20034198036a41e40010e9968080001a200341d0006a200841057422056a2109200341f8026a200341fc036a10bb808080000340024020082004470d0020002003290320370102200041003b01002000412a6a200341c8006a290300370100200041226a200341c0006a2903003701002000411a6a200341386a290300370100200041126a200341306a2903003701002000410a6a200341286a2903003701000c040b200520046a4188024f0d022004417f73210620044103762101200920046a2102200441016a21042001200341f8026a6a2d000020064107717620022d000073410171450d000b200041013b0100200041033a00040c020b2005412041bcc0ca800010aa81808000000b200541880220054188024b1b41880241ccc0ca800010f580808000000b200341e0046a2480808080000baf0300024020002f010041ffff03470d0041000f0b024020002f010241ffff03470d0041010f0b024020002f010441ffff03470d0041020f0b024020002f010641ffff03470d0041030f0b024020002f010841ffff03470d0041040f0b024020002f010a41ffff03470d0041050f0b024020002f010c41ffff03470d0041060f0b024020002f010e41ffff03470d0041070f0b024020002f011041ffff03470d0041080f0b024020002f011241ffff03470d0041090f0b024020002f011441ffff03470d00410a0f0b024020002f011641ffff03470d00410b0f0b024020002f011841ffff03470d00410c0f0b024020002f011a41ffff03470d00410d0f0b024020002f011c41ffff03470d00410e0f0b024020002f011e41ffff03470d00410f0f0b024020002f012041ffff03470d0041100f0b024020002f012241ffff03470d0041110f0b024020002f012441ffff03470d0041120f0b024020002f012641ffff03470d0041130f0b024020002f012841ffff03470d0041140f0b024020002f012a41ffff03470d0041150f0b024020002f012c41ffff03470d0041160f0b4117411820002f012e41ffff03461b0be205010b7f23808080800041c0006b22022480808080004100210302400240024020012f0100220441ffff03460d0020044180104f0d01410021032004410374220441c0c0c980006a2802002205450d00200241106a200441bcc0c980006a280200200510e9908080002002280210450d02410121030b2002410036021c200241013a0019200220033a001841ccc1ca8000412b200241186a41bcc1ca800041f8c1ca800010a481808000000b200441801041f0e9c8800010f580808000000b41002106200241386a41003a0000200241186a41186a4200370300200241286a4200370300200241186a41086a420037030020024200370318200110eb908080002107410021054100210441002108024002400240024002400340200120086a2f0100220341ffff03460d0120034180104f0d03200241086a2003410374220341bcc0c980006a280200200341c0c0c980006a28020010e99080800020022802080d052005410b6a2109200228020c4115742005762004722104024002402005417d4e0d00200921050c010b20064121200641214b1b220a20066b2103200541036a41037641016a220b20066a210c200241186a20066a210503402003450d04200520044118763a00002003417f6a2103200541016a2105200941786a210920044108742104200b417f6a220b0d000b20092105200c21060b200841026a22084130470d000b0b02402005450d00200641214f0d03200241186a20066a20044118763a00000b20002002290318370000200041206a200241186a41206a2d00003a0000200041186a200241186a41186a290300370000200041106a200241186a41106a290300370000200041086a200241186a41086a2903003700002000200741036e410274360224200241c0006a2480808080000f0b200a412141acc1ca800010f580808000000b200341801041f0e9c8800010f580808000000b2006412141fcc0ca800010f580808000000b418cc1ca80004110419cc1ca8000108b81808000000b950b01047f23808080800041c0006b220224808080800002400240024002400240024020002d00000e050001020304000b2002200041046a36020441012103200128021c2200419ac2ca8000410c2001280220220428020c2205118180808000000d040240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d06200241046a200110f290808000450d010c060b200041bcc4c0800041022005118180808000000d0541012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10f2908080000d05200228023441b6c4c080004102200228023828020c118180808000000d050b200128021c41bec4c080004101200128022028020c1181808080000021030c040b2002200041046a36020441012103200128021c220041a6c2ca8000410b2001280220220428020c2205118180808000000d030240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d05200241046a200110f290808000450d010c050b200041bcc4c0800041022005118180808000000d0441012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10f2908080000d04200228023441b6c4c080004102200228023828020c118180808000000d040b200128021c41bec4c080004101200128022028020c1181808080000021030c030b2002200041046a36020441012103200128021c220041b1c2ca800041122001280220220428020c2205118180808000000d020240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d04200241046a200110f290808000450d010c040b200041bcc4c0800041022005118180808000000d0341012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10f2908080000d03200228023441b6c4c080004102200228023828020c118180808000000d030b200128021c41bec4c080004101200128022028020c1181808080000021030c020b200128021c41c3c2ca8000410f200128022028020c1181808080000021030c010b410121032002200041016a360204200128021c22004188c2ca800041122001280220220428020c2205118180808000000d000240024020012d00144104710d0041012103200041bbc4c0800041012005118180808000000d02200241046a200110e790808000450d010c020b200041bcc4c0800041022005118180808000000d0141012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200036020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10e7908080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200128021c41bec4c080004101200128022028020c1181808080000021030b200241c0006a24808080800020030bc30502057f017e23808080800041c0006b2203248080808000024020012002460d0020002d000521042000280200210520002d0004210620032001360204200141016a210741012101024020064101710d00024020052d0014410471450d0041012101024020044101710d00200528021c41bfc4c080004101200528022028020c118180808000000d020b41012101200341013a0017200341186a41086a200541086a290200370300200341186a41106a200541106a290200370300200341186a41186a200541186a2802003602002003200529021c3702082005290200210820034190c4c08000360238200320083703182003200341176a3602102003200341086a360234200341046a200341186a10f3908080000d01200328023441b6c4c080004102200328023828020c1181808080000021010c010b4101210102402004410171450d00200528021c41afc4c080004102200528022028020c118180808000000d010b200341046a200510f39080800021010b200041013a0005200020013a000420072002460d000340200320073602042001410171210641012101024020060d00024020052d00144104710d0041012101200528021c41afc4c080004102200528022028020c118180808000000d01200341046a200510f39080800021010c010b200529021c2108200341013a0017200341186a41086a200541086a290200370300200341186a41106a200541106a290200370300200341186a41186a200541186a280200360200200320083702082005290200210820034190c4c08000360238200320083703182003200341176a3602102003200341086a3602340240200341046a200341186a10f3908080000d00200328023441b6c4c080004102200328023828020c1181808080000021010c010b410121010b200041013a0005200020013a0004200741016a22072002470d000b0b200341c0006a24808080800020000b8b0101037f024020034108490d00200020002003410376220341057422046a2000200341386c22056a200310ef9080800021002001200120046a200120056a200310ef9080800021012002200220046a200220056a200310ef9080800021020b20002002200120002d0000220320012d00002204492205200420022d0000220649731b20052003200649731b0bc30d010f7f23808080800041206b220724808080800002400240200141214f0d002000200120022003200610f7908080000c010b200241786a210802400340024020040d0020002001200220034101200610f5908080000c030b20002001410376220941386c6a210a200020094105746a210b02400240200141c000490d002000200b200a200910ef90808000210c0c010b2000200a200b20002d00002209200b2d0000220d49220e200d200a2d0000220f49731b200e2009200f49731b210c0b2004417f6a21042007200c2802043602042007200c2d000022093a0000200c20006b4103762110024002400240024002402005450d0020052d0000200941ff01714f0d010b200120034b0d054100210b200021092002200141037422116a2212210a20102113034002402009200041002013417d6a220d200d20134b1b4103746a22144f0d00200c2d000041ff0171210d03402002200a41786a20092d0000200d49220e1b200b4103746a20092902003702002002200a41706a20092d0008200d49220f1b200b200e6a220b4103746a20092902083702002002200a41686a20092d0010200d49220e1b200b200f6a220b4103746a20092902103702002002200a41606a220a20092d0018200d49220f1b200b200e6a220b4103746a2009290218370200200b200f6a210b200941206a22092014490d000b0b02402009200020134103746a220e4f0d00200c2d000041ff0171210f03402002200a41786a220a20092d0000200f49220d1b200b4103746a2009290200370200200b200d6a210b200941086a2209200e490d000b0b024020132001460d00200a41786a220a200b4103746a2009290200370200200941086a2109200121130c010b0b20002002200b410374221310e99680800021152001200b6b211402402001200b460d002014410371210e4100210a0240200b20016b417c4b0d00201520136a21092014417c71210f200820116a210d4100210a03402009200d290200370200200941086a2012200a41feffffff01734103746a290200370200200941106a2012200a41fdffffff01734103746a290200370200200941186a2012200a41fcffffff01734103746a290200370200200d41606a210d200941206a2109200f200a41046a220a470d000b0b200e450d0020082011200a410374220a6b6a21092015200a6a20136a210a0340200a2009290200370200200941786a2109200a41086a210a200e417f6a220e0d000b0b200b450d00200b20014d0d01200741003602182007410136020c200741e0c3ca800036020820074204370210200741086a41e8c3ca800010f280808000000b200120034b0d044100210d200021092002200141037422126a2213210a034002402009200041002010417d6a220b200b20104b1b4103746a22144f0d00200c2d000041ff0171210b03402002200a41786a200b20092d00004f220e1b200d4103746a20092902003702002002200a41706a200b20092d00084f220f1b200d200e6a220d4103746a20092902083702002002200a41686a200b20092d00104f220e1b200d200f6a220d4103746a20092902103702002002200a41606a220a200b20092d00184f220f1b200d200e6a220d4103746a2009290218370200200d200f6a210d200941206a22092014490d000b0b02402009200020104103746a220e4f0d00200c2d000041ff0171210f03402002200a41786a220a200f20092d00004f220b1b200d4103746a2009290200370200200d200b6a210d200941086a2209200e490d000b0b024020102001460d002002200d4103746a2009290200370200200941086a2109200d41016a210d200a41786a210a200121100c010b0b20002002200d410374220c10e99680800021002001200d6b210b02402001200d460d00200b410371210f4100210a0240200d20016b417c4b0d002000200c6a2109200b417c712114200820126a210e4100210a03402009200e290200370200200941086a2013200a41feffffff01734103746a290200370200200941106a2013200a41fdffffff01734103746a290200370200200941186a2013200a41fcffffff01734103746a290200370200200e41606a210e200941206a21092014200a41046a220a470d000b0b200f450d002008200a410374220a6b20126a21092000200a6a200c6a210a0340200a2009290200370200200941786a2109200a41086a210a200f417f6a220f0d000b0b200d20014d0d01200d200141f8c3ca800010a881808000000b201520136a20142002200320042007200610f090808000200b2101200b41214f0d020c010b2000200c6a210041002105200b2101200b41214f0d010b0b2000200b20022003200610f7908080000c010b000b200741206a2480808080000ba10101037f23808080800041106b22022480808080002000280200210041012103200128021c41c0c4c080004101200128022028020c118180808000002104200241003a000d200220043a000c20022001360208200241086a20002000410a6a10ee908080002101024020022d000c0d002001280200220128021c41c1c4c080004101200128022028020c1181808080000021030b200241106a24808080800020030bb10201037f2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000b3000024020002802002d00000d00200141b099c08000410510e5808080000f0b200141b599c08000410410e5808080000bed0101057f2380808080004180206b220324808080800002400240200141c0843d200141c0843d491b2204200120014101766b2205200420054b1b2204418104490d00200441037421064100210702400240200541ffffffff014b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b2007200641f8c4ca800010ae80808000000b2000200120052004200141c10049200210f590808000200541002802a8bfd38000118080808000000c010b200020012003418004200141c10049200210f5908080000b20034180206a2480808080000bb70b03017f027e137f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041786a210b200041106a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41037422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b024002400240024020132d0008221620132d00004922170d004102211520144102460d04200c20126a2118410221150340201641ff0171211920182d000022162019490d03201841086a21182014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a2118410221150340201641ff0171211920182d0000221620194f0d02201841086a21182014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b201841017121102013201541037422146a210f41002116024020184101460d00201841feffffff0771211a200020146a211841002116200021190340201820126a221441786a221729020021072014417c6a201920126a221441046a280200360200201720142d00003a000020142007370200200f201641feffffff01734103746a22172902002107201741046a2014410c6a2802003602002017201441086a22142d00003a000020142007370200201841706a2118201941106a2119201a201641026a2216470d000b0b2010450d00201320164103746a22142d00002118201428020421192014200f2016417f734103746a221629020037020020162019360204201620183a00000b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510f090808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41037422146a211b200020146a211a03402006418e026a200e417f6a22166a2d0000200f490d010240024002400240200641046a20164102746a280200220e4101762215200941017622186a221220034b0d00200e200972410171450d010b2000200d20126b4103746a21140240200e4101710d002014201520022003201541017267410174413e734100200510f0908080000b20094101710d01201420154103746a201820022003201841017267410174413e734100200510f0908080000c010b201241017421090c010b024020094102490d00200e4102490d00201820152018201549220e1b221920034b0d002002201420154103746a22092014200e1b2019410374220e10e9968080002213200e6a210e024002400240201820154f0d00201b211503402015200941786a2209200e41786a220e200e2d0000221820092d000022194922171b290200370200200e20174103746a210e2009201820194f4103746a22092014460d02201541786a2115200e2013470d000c020b0b024020190d00201321150c020b20132115034020142009201520092d0000221820152d000022194922171b290200370200201441086a21142015201820194f4103746a2215200e460d02200920174103746a2209201a470d000c020b0b20092114201321150b20142015200e20156b10e9968080001a0b201241017441017221090b410121142016210e201641014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510f0908080000b200641d0026a2480808080000be006040a7f027e017f027e200020002d0008220320002d00002204494103746a220520004118411020002d001820002d00104922061b6a22072000200320044f4103746a220320004110411820061b6a22042d000020032d00004922061b20072d000020052d00004922081b22092d0000210a20042003200720081b20061b220b2d0000210c20022007200520081b290200220d3702002002200b2009200c200a4922071b29020037020820022009200b20071b290200370210200241186a220a2003200420061b290200220e370200200041206a220720002d0028220320002d00202204494103746a220520074118411020002d003820002d00304922061b6a22002007200320044f4103746a220320074110411820061b6a22072d000020032d00004922041b20002d000020052d00004922061b22082d0000210c20072003200020061b20041b22092d0000210f200241206a220b2000200520061b2902002210370200200241286a20092008200f200c4922001b290200370200200241306a2008200920001b290200370200200241386a22052003200720041b29020022113702002001200b20022010a741ff01712207200da741ff017122034922001b29020037020020012002411841382011a741ff01712204200ea741ff017122064922081b6a2902003702382001200b20004103746a22002002200720034f4103746a220220002d0000220920022d0000220b49220c1b2902003702082001200a4178410020081b6a2207200541784100200420064f1b6a220320032d0000220520072d000022044922061b29020037023020012000200c4103746a220020022009200b4f4103746a220220002d0000220820022d0000220949220b1b290200370210200120074178410020061b6a2207200341784100200520044f1b6a220320032d0000220420072d0000220649220a1b29020037022820012000200b4103746a22052002200820094f4103746a220020052d0000220820002d0000220949220b1b2902003702182001200741784100200a1b6a2202200341784100200420064f1b6a220720072d0000220420022d000022064922031b290200370220024002402000200820094f4103746a20024178410020031b6a41086a470d002005200b4103746a200741784100200420064f1b6a41086a460d010b108581808000000b0bed08020e7f017e23808080800041106b22052480808080000240024020014102490d00024002400240200141106a20034b0d00200141017621062001410f4b0d010240200141074d0d00200220004118411020002d001820002d00104922071b6a2203200020002d0008220820002d00002209494103746a220a20032d0000200a2d000049220b1b29020037020020022000200820094f4103746a220820004110411820071b6a220720072d000020082d00004922091b2902003702182002200720082003200b1b20091b2207200a2003200820091b200b1b220320072d000020032d00004922081b29020037020820022003200720081b2902003702102002200641037422036a2208200020036a22034118411020032d001820032d00104922091b6a220a200320032d0008220c20032d0000220d494103746a220b200a2d0000200b2d00004922071b290200370200200820034110411820091b6a22092003200c200d4f4103746a2203200a20071b20092d000020032d000049220c1b220d200b200a2003200c1b20071b220a200d2d0000200a2d000049220b1b2902003702082008200a200d200b1b290200370210200820032009200c1b2902003702184104210e0c030b200220002902003702002002200641037422036a200020036a2902003702004101210e0c020b000b20002002200220014103746a220310f6908080002000200641037422086a200220086a200341c0006a10f6908080004108210e0b2005410236020c20052006ad422086370300200e410374210b200120066b210f410021034102210703402005200341016a22083602082003410274210a200821030240200e200f20062005200a6a28020022081b22104f0d002000200841037422036a21114108210c200220036a2212210d200e210903402012200941037422036a2208201120036a29020022133702000240200841786a2d00002013a741ff017122074d0d00200c2108200d2103024003402003200b6a220a200a41786a2902003702000240200b2008470d00201221030c020b200841086a2108200341786a2103200a41706a2d000020074b0d000b2003200b6a21030b2003201342ff81808070833702000b200c41786a210c200d41086a210d200941016a22092010470d000b20052802082103200528020c21070b20072003470d000b2000200141037441786a22036a210b200220036a210a200220064103746a220341786a2108034020002003200220032d0000220720022d0000220949220c1b290200370200200b2008200a200a2d0000220d20082d000022124922101b290200370200200b41786a210b200041086a210020084178410020101b6a2108200a41784100200d20124f1b6a210a2002200720094f4103746a21022003200c4103746a21032006417f6a22060d000b200841086a210802402001410171450d002000200220032002200849220b1b2902003702002003200220084f4103746a21032002200b4103746a21020b20022008470d012003200a41086a470d010b200541106a2480808080000f0b108581808000000bd90101037f024002402002280204450d000240200228020822030d00024020010d00410421020c030b41002d00b8bfd380001a200141002802b0bfd380001182808080000021020c020b2002280200210441002102200141002802b0bfd38000118280808000002205450d0120052004200310e9968080002102200441002802a8bfd3800011808080800000200221020c010b024020010d00410421020c010b41002d00b8bfd380001a200141002802b0bfd380001182808080000021020b2000200136020820002002410420021b36020420002002453602000bef0101077f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b220541ffffffff014d0d0041004100200110ae80808000000b0240024020054104200541044b1b2207410374220641fcffffff074b0d004100210502402004450d002002200441037436021c20022000280204360214410421050b20022005360218200241086a2006200241146a10f89080800020022802084101470d0120022802102108200228020c21030b20032008200110ae80808000000b200228020c21042000200736020020002004360204200241206a2480808080000baa0201037f2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000be30101037f23808080800041206b2203248080808000024002400240200120026a220220014f0d00410021040c010b4100210402402002200028020022054101742201200220014b1b22014108200141084b1b220141004e0d000c010b4100210202402005450d002003200536021c20032000280204360214410121020b20032002360218200341086a41012001200341146a10fb9080800020032802084101470d0120032802102100200328020c21040b2004200041fcc5ca800010ae80808000000b200328020c21022000200136020020002002360204200341206a2480808080000bee0402067f017e23808080800041c0006b22022480808080000240024002400240024002402001280208220320012802102204460d000240024002400240200441016a2205450d0020032005490d0120012802042106200120053602100240024002400240200620046a2d000022074103710e0400010203000b200741027621050c060b200220073a0015200241013a001420022001360210200241003b0128200241106a200241286a410210fe908080000d0620022f0128220441ff014d0d06200441027621050c050b200220073a0015200241013a00142002200136021020024100360228200241106a200241286a410410fe908080000d052002280228220441808004490d05200441027621050c040b20074104490d020c040b417f200541a8c8ca800010ac81808000000b2005200341a8c8ca800010aa81808000000b200320056b4104490d01200441056a21042005417b4b0d04200420034b0d0520012004360210200620056a2800002205418080808004490d010b20022001280210220436020c200128020822032004490d052001200320046b22033602082001200128020420046a36020420014100360210200520034b0d0120002001200510c3808080000c020b200041003602000c010b200041003602000b200241c0006a2480808080000f0b2005200441a8c8ca800010ac81808000000b2004200341a8c8ca800010aa81808000000b20024102360214200241b4c6ca80003602102002420237021c2002200336023c200241ab84808000ad42208622082002413c6aad84370330200220082002410c6aad843703282002200241286a360218200241106a41a0c7ca800010f280808000000b9e0201037f20002d00042103200041003a0004024002400240024002400240024020030d0041012103200028020022002802082204200028021022056b2002490d02200520026a22032005490d03200320044b0d042001200028020420056a200210e9968080001a200020033602100c010b200120002d00053a000041012103200028020022002802082204200028021022056b2002417f6a2202490d01200520026a22032005490d04200320044b0d05200141016a200028020420056a200210e9968080001a200020033602100b410021030b20030f0b2005200341a8c8ca800010ac81808000000b2003200441a8c8ca800010aa81808000000b2005200341a8c8ca800010ac81808000000b2003200441a8c8ca800010aa81808000000bce0301047f23808080800041106b22032480808080004100210402400240024002400240024002400240200241046a22054100480d002005450d0241002d00b8bfd380001a200541002802b0bfd380001182808080000022060d01410121040b200420054198c8ca800010ae80808000000b2003200636020820032005360204200241c000490d03200241808001490d042002418080808004490d02410021040c010b2003410036020c2003428080808010370204200341046a4100410110fc908080002003280208210620032802042105200328020c21040b200620046a41033a00002003200441016a220436020c0240200520046b41034b0d00200341046a2004410410fc908080002003280204210520032802082106200328020c21040b200620046a2002360000200441046a21040c030b20062002410274410272360000410421040c020b200620024102743a0000410121040c010b41022104200620024102744101723b00000b2003200436020c0240200520046b20024f0d00200341046a2004200210fc9080800020032802082106200328020c21040b200620046a2001200210e9968080001a200041086a200420026a36020020002003290204370200200341106a2480808080000b1e00200128021c41b8c8ca8000410b200128022028020c118180808000000b880201047f23808080800041106b220324808080800002402001450d0020014104742104200041086a2101200228020821000340200141046a28020021050240200228020020006b41034b0d0020022000410410fc90808000200228020821000b2002200041046a360208200228020420006a20053600002001417c6a28020021062003200128020022003602082003200341086a36020c2003410c6a200210829180800002402002280200200228020822056b20004f0d0020022005200010fc90808000200228020821050b200228020420056a2006200010e9968080001a2002200520006a2200360208200141106a2101200441706a22040d000b0b200341106a2480808080000b960301037f02400240024020002802002202280200220041c000490d00200041808001490d012000418080808004490d0202402001280200220320012802082200470d0020012000410110fc9080800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410fc9080800020012802042104200128020821000b2001200041046a360208200420006a20023600000f0b200041027421020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b2000410274410172210202402001280200200128020822006b41014b0d0020012000410210fc90808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b2000410274410272210202402001280200200128020822006b41034b0d0020012000410410fc90808000200128020821000b2001200041046a360208200128020420006a20023600000bff0102017e027f02400240200320046a417f6a410020036b71ad2001ad7e2205422088a70d002005a7220441808080807820036b4b0d00024020040d002000200336020820004100360204200041003602000f0b41002d00b8bfd380001a200441002802b0bfd38000118280808000002106024002402002450d00024020060d00200041086a2102200041046a21070c040b20064100200410eb968080001a200041086a2102200041046a21070c010b200041086a2102200041046a21072006450d020b2002200636020020072001360200200041003602000f0b20004100360204200041013602000f0b2002200436020020072003360200200041013602000b9e0201037f23808080800041106b2202248080808000024002402000280200418080808078470d000240200128020020012802082200470d0020012000410110fc90808000200128020821000b200128020420006a41003a0000200041016a21000c010b0240200128020020012802082203470d0020012003410110fc90808000200128020821030b2001200341016a360208200128020420036a41013a0000200028020421042002200028020822003602082002200241086a36020c2002410c6a200110829180800002402001280200200128020822036b20004f0d0020012003200010fc90808000200128020821030b200128020420036a2004200010e9968080001a200320006a21000b20012000360208200241106a2480808080000b8b0601077f23808080800041206b2202248080808000410021030240417f417f417f20012802142204410c6c417f2001280208220541046a22064101200128022c41056a2001280224418080808078461b6a220720072006491b22066a41046a220720072006491b2206200128022022084104746a41046a220720072006491b220641086a220720072006491b22064100480d0041002d00b8bfd380001a41012103200641002802b0bfd38000118280808000002207450d00200141246a210320024100360214200220073602102002200636020c20012802042107200220053602182002200241186a36021c2002411c6a2002410c6a1082918080000240200228020c200228021422066b20054f0d002002410c6a2006200510fc90808000200228021421060b200228021020066a2007200510e9968080001a2002200620056a36021420032002410c6a10849180800020012802102105200220043602182002200241186a36021c2002411c6a2002410c6a10829180800002402004450d002004410c6c2103200541086a210503402005417c6a28020021072002200528020022043602182002200241186a36021c2002411c6a2002410c6a1082918080000240200228020c200228021422066b20044f0d002002410c6a2006200410fc90808000200228021421060b200228021020066a2007200410e9968080001a2002200620046a3602142005410c6a2105200341746a22030d000b0b200128021c2105200220083602182002200241186a36021c2002411c6a2002410c6a108291808000200520082002410c6a108191808000200128023021040240200228020c200228021422056b41034b0d002002410c6a2005410410fc90808000200228021421050b200228021020056a20043600002002200541046a2205360214200128023421040240200228020c20056b41034b0d002002410c6a2005410410fc90808000200228021421050b200228021020056a2004360000200041086a200541046a3602002000200229020c370200200241206a2480808080000f0b2003200641b8cbca800010ae80808000000bdb0203027f017e037f23808080800041306b2201248080808000200141246a41c8cbca8000410841d0cbca800041294104410010c791808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a419ccaca800010b8918080002001280210220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541f9cbca800036022020054100360218200541ac8480800036021020054296e397c6bfa5aeee4637030802402004418080808078470d0041accaca8000411141c0caca8000108b81808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000bdb0203027f017e037f23808080800041306b2201248080808000200141246a4180ccca8000410e41d0cbca800041294104410010c791808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a419ccaca800010b8918080002001280210220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541f9cbca800036022020054100360218200541ac8480800036021020054296e397c6bfa5aeee4637030802402004418080808078470d0041accaca8000411141c0caca8000108b81808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000bda0203027f017e037f23808080800041306b2201248080808000200141246a418eccca8000410241d0cbca800041294104410010c791808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a419ccaca800010b8918080002001280210220542e88488d0c0e3aebc133703002005420437022c2005420337022420054190ccca800036022020054100360218200541b380808000360210200542d7c9cb8fc1cf97db3e37030802402004418080808078470d0041accaca8000411141c0caca8000108b81808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4184cdca800010b89180800020042802082205428ae6f3f7c78ea4cfd1003703002005410036023020054280808080c0003703282005410036022020054100360218200541b48080800036021020054282a1a9c9eea2b5c92f37030820042802042106200428020821070240200128020822082001280200470d00200141f4ccca800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bc60f04057f017e037f017e23808080800041d0006b2201248080808000200141306a41f6d1ca8000411941d0d1ca800041174104410010c7918080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41b8ceca8000108f91808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a4184cdca800010b891808000200128021c220842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a220941013602002008420437022c20084203370224200841dbceca80003602202008410d36021c200841f2ceca8000360218200841b380808000360210200120012902183703400240200928020022092001280240470d00200141c0006a4184cdca800010b8918080000b2001280244200941386c6a2208420437022c20084203370224200841dbceca80003602202008411236021c200841ffceca8000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc133703002007200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a4184cdca800010b8918080000b200128021c200941386c6a2208420437022c20084203370224200841dbceca80003602202008411636021c20084191cfca8000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a4184cdca800010b8918080000b2001280244200941386c6a2208420437022c20084203370224200841dbceca80003602202008411536021c200841a7cfca8000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a4184cdca800010b8918080000b200128021c200941386c6a2208420437022c20084203370224200841dbceca80003602202008411736021c200841bccfca8000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a4184cdca800010b8918080000b2001280244200941386c6a2208420437022c20084203370224200841dbceca80003602202008412436021c200841d3cfca8000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a4184cdca800010b8918080000b200128021c200941386c6a2208420437022c20084203370224200841dbceca80003602202008412236021c200841f7cfca8000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a4184cdca800010b8918080000b2001280244200941386c6a2208420437022c2008420b370224200841b4d0ca80003602202008411b36021c20084199d0ca8000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a4184cdca800010b8918080000b200128021c200941386c6a2208420437022c2008420b370224200841b4d0ca80003602202008411836021c200841bfd0ca8000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c8006a200941016a220836020020012001290318220a37034002402008200aa7470d00200141c0006a4184cdca800010b8918080000b2001280244200841386c22096a2208420437022c20084212370224200841ebd0ca80003602202008411436021c200841d7d0ca8000360218200841ad84808000360210200842bfece3b1ed8797b1f600370308200842f9b8cfffa798abd7293703002001280244210820012001280240360220200120083602182001200820096a41386a3602242001200836021c200141c0006a200141186a41b8ceca800010909180800002402005418080808078470d004194cdca8000411141a8cdca8000108b81808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41b4dbca8000108f91808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000be10a04057f017e037f017e23808080800041d0006b2201248080808000200141306a418fd2ca8000411341d0d1ca800041174104410010c7918080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41b8ceca8000108f91808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a4184cdca800010b891808000200128021c220842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a220941013602002008420437022c20084203370224200841dbceca80003602202008410c36021c200841fdd0ca8000360218200841b380808000360210200120012902183703400240200928020022092001280240470d00200141c0006a4184cdca800010b8918080000b2001280244200941386c6a2208420437022c20084203370224200841dbceca80003602202008410e36021c20084189d1ca8000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc133703002007200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a4184cdca800010b8918080000b200128021c200941386c6a2208420437022c20084203370224200841dbceca80003602202008411036021c20084197d1ca8000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a4184cdca800010b8918080000b2001280244200941386c6a2208420437022c20084203370224200841dbceca80003602202008410936021c200841a7d1ca8000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a4184cdca800010b8918080000b200128021c200941386c6a2208420437022c20084203370224200841dbceca80003602202008410a36021c200841b0d1ca8000360218200841b380808000360210200842d7c9cb8fc1cf97db3e370308200842e88488d0c0e3aebc13370300200141c0006a41086a200941016a220836020020012001290318220a37034002402008200aa7470d00200141c0006a4184cdca800010b8918080000b2001280244200841386c22096a2208420437022c2008420c370224200841c2d1ca80003602202008410836021c200841bad1ca8000360218200841ae84808000360210200842fe85facc91fa8bfabf7f370308200842dee6c1e4ac97b8c13a3703002001280244210820012001280240360220200120083602182001200820096a41386a3602242001200836021c200141c0006a200141186a41b8ceca800010909180800002402005418080808078470d004194cdca8000411141a8cdca8000108b81808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41b4dbca8000108f91808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000baa0403057f017e027f23808080800041c0006b2201248080808000200141246a41a2d2ca8000411241d0d1ca800041174104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41b8ceca8000108f91808000200141086a2202200141206a28020036020020012001290218370300200128020c2103200128021021042001280214210520012902282106200128022421072001410036021420014280808080c00037020c2001410c6a41f4ccca800010af968080002001280210220842808080808001370200200841003a00202008410736021c200841b4d2ca80003602182008420437021020084200370208200128021021082001200128020c3602142001200836020c2001200841246a36021820012008360210200141306a2001410c6a41b8ceca800010919180800002402007418080808078470d004194cdca8000411141a8cdca8000108b81808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41b4dbca8000108f91808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a2001410c6a41076a290000370000200141c0006a2480808080000bb50503057f017e027f23808080800041c0006b2201248080808000200141246a41bbd2ca8000410e41d0d1ca800041174104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41b8ceca8000108f91808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080c00037020c2001410c6a41f4ccca800010af96808000200128021022074100360208200742808080808001370200200741003a00202007410536021c200741c9d2ca80003602182007410036021420074280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41f4ccca800010af968080000b2001280234410141246c22086a220741013a00202007410736021c200741ced2ca8000360218200742043702102007420037020820074280808080800137020020012802342107200120012802303602142001200736020c2001200720086a41246a36021820012007360210200141306a2001410c6a41b8ceca800010919180800002402005418080808078470d004194cdca8000411141a8cdca8000108b81808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a41b4dbca8000108f91808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a2001410c6a41076a290000370000200141c0006a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b4105762107200128020821010c010b0240200420066b2208410576220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a4100200741084120109a918080002003280208210a200328020c21090b200a20094105746a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41386e2107200128020821010c010b0240200420066b220841386e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a4100200741084138109a918080002003280208210a200328020c21090b200a200941386c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41246e2107200128020821010c010b0240200420066b220841246e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a4100200741044124109a918080002003280208210a200328020c21090b200a200941246c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bab0401047f23808080800041e0006b2203248080808000200341186a20011093918080000240200328021c4101470d004100210402400240200328022022054100480d00410121042005450d0141002d00b8bfd380001a200541002802b0bfd380001182808080000022040d01410121040b20042005200210ae80808000000b4100210620034100360214200320043602102003200536020c200341186a41186a200141186a280200360200200341186a41106a200141106a290200370300200341186a41086a200141086a29020037030020032001290200370318200341386a200341186a1093918080000240200328023c4101470d002003410c6a41086a210102402005200328024022024f0d002003410c6a4100200241014101109a9180800020032802102104200328021421060b200341386a41186a200341186a41186a280200360200200341386a41106a200341186a41106a290300370300200341386a41086a200341186a41086a290300370300200320032903183703382003200436025c2003200636025820032001360254200341386a200341d4006a109691808000200041086a2003410c6a41086a2802003602002000200329020c370200200341e0006a2480808080000f0b200341003602482003410136023c200341e8d2ca800036023820034204370240200341386a200210f280808000000b200341003602482003410136023c200341e8d2ca800036023820034204370240200341386a200210f280808000000bdb0201047f2001280214210202400240024020012802000d00410121032002450d01200128021820026b220221010c020b200128020c21042001280204210302402002450d000240024002400240024020030d0020040d01410021030c020b200128020820036b21032004450d01417f417f200128021020046b20036a2204200420034922031b2205200128021820026b22016a220220022005491b210220030d03200421030c020b200128021020046b21030b417f2003200128021820026b22016a220220022003491b21020b200320016a220120034f21030c030b410021030c020b024020030d00410121032004450d01200128021020046b220221010c020b200128020820036b2102024020040d0041012103200221010c020b200128021020046b20026a220120024f2103417f200120012002491b21020c010b41002102410021010b2000200136020820002003360204200020023602000b930601087f23808080800041c0006b220124808080800020014106360210200141f0d2ca800036020c41002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241f0d2ca8000360200200241046a410636020041f0d2ca8000410610bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd38000118080808000002001410236021c200141d0c5cb800036021820014201370224200141b980808000ad4220862001410c6aad843703302001200141306a360220200141186a41e0c5cb800010f280808000000b200341b48080800036021820034282a1a9c9eea2b5c92f3703102003428ae6f3f7c78ea4cfd10037030820034101360204200341f6d2ca800036020020014101360220200120033602182001200341206a3602242001200336021c200141306a200141186a41b8ceca8000108f91808000200128023821042001280234210520012802302106200141186a41086a410036020020014280808080c000370218200141186a41f4ccca800010af96808000200128021c220342808080808001370200200141306a41086a22074101360200200341003a00202003410436021c200341f7d2ca80003602182003420437021020034200370208200120012902183703302001410c6a200141306a41fbd2ca80004104108a9180800020012802142108200128021021032001200128020c3602202001200336021820012003200841246c6a3602242001200336021c200141306a200141186a41b8ceca800010919180800020012006360220200120053602182001200520044105746a3602242001200536021c200041c4006a200141186a41b4dbca8000108f91808000200141236a200728020036000020002002ad4280808080108437023c20004101360238200041013a00002000410036025820004280808080c0003703502001200129023037001b20002001290018370001200041086a2001411f6a290000370000200141c0006a2480808080000bf20503057f017e027f23808080800041c0006b2201248080808000200141246a41ffd2ca800041124191d3ca800041264104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41b8ceca8000108f91808000200141086a2001410c6a41146a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080800137020c2001410c6a4184cdca800010b8918080002001280210220742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc13370300200141306a41086a220841013602002007420437022c20074203370224200741dbceca80003602202007411336021c200741c8ceca8000360218200741b3808080003602102001200129020c3703300240200828020022072001280230470d00200141306a4184cdca800010b8918080000b2001280234200741386c22086a2207420437022c20074203370224200741dbceca80003602202007411436021c200741dececa8000360218200741b380808000360210200742d7c9cb8fc1cf97db3e370308200742e88488d0c0e3aebc1337030020012802342107200120012802303602142001200736020c2001200720086a41386a36021820012007360210200141306a2001410c6a41b8ceca800010909180800002402005418080808078470d004194cdca8000411141a8cdca8000108b81808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a41b4dbca8000108f91808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000b8606010a7f024020002802004101470d00200028020c2102024020002802042203450d00200320002802082204460d00200420036b22054103712106200128020421072001280208210802400240200320046b417c4d0d00410021040c010b200820076a21092005417c71210a410021040340200920046a2205200320046a220b2d00003a0000200541016a200b41016a2d00003a0000200541026a200b41026a2d00003a0000200541036a200b41036a2d00003a0000200a200441046a2204470d000b200720046a21070b02402006450d00200320046a21040340200820076a20042d00003a0000200441016a2104200741016a21072006417f6a22060d000b0b200120073602040b2002450d00200220002802102204460d00200420026b22054103712106200128020421072001280208210302400240200220046b417c4d0d00410021040c010b200320076a21082005417c712109410021040340200820046a2205200220046a220b2d00003a0000200541016a200b41016a2d00003a0000200541026a200b41026a2d00003a0000200541036a200b41036a2d00003a00002009200441046a2204470d000b200720046a21070b02402006450d00200220046a21040340200320076a20042d00003a0000200441016a2104200741016a21072006417f6a22060d000b0b200120073602040b024020002802142202450d002001280204210520012802002108024002400240200220002802182204460d0020012802082100200420026b220b4103712106200220046b417c4d0d01410021040c020b200820053602000f0b200020056a2101200b417c712103410021040340200120046a220b200220046a22072d00003a0000200b41016a200741016a2d00003a0000200b41026a200741026a2d00003a0000200b41036a200741036a2d00003a00002003200441046a2204470d000b200520046a21050b02402006450d00200220046a21040340200020056a20042d00003a0000200441016a2104200541016a21052006417f6a22060d000b0b200820053602000f0b200128020020012802043602000bbe0403057f017e027f23808080800041c0006b2201248080808000200141246a41d4d3ca8000410c41b7d3ca8000411d4104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41b8ceca8000108f91808000200141086a2202200141206a28020036020020012001290218370300200128020c2103200128021021042001280214210520012902282106200128022421072001410036021420014280808080800137020c2001410c6a4184cdca800010b8918080002001280210220842e6ed8d82cc91adcb053703002008420437022c20084202370224200841ced1ca800036022020084100360218200841cc80808000360210200842dbd791d5c2919eaecd00370308200128021021082001200128020c3602142001200836020c2001200841386a36021820012008360210200141306a2001410c6a41b8ceca800010909180800002402007418080808078470d004194cdca8000411141a8cdca8000108b81808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41b4dbca8000108f91808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bbe0403057f017e027f23808080800041c0006b2201248080808000200141246a41e0d3ca8000411041b7d3ca8000411d4104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41b8ceca8000108f91808000200141086a2202200141206a28020036020020012001290218370300200128020c2103200128021021042001280214210520012902282106200128022421072001410036021420014280808080800137020c2001410c6a4184cdca800010b8918080002001280210220842e6ed8d82cc91adcb053703002008420437022c20084202370224200841ced1ca800036022020084100360218200841cc80808000360210200842dbd791d5c2919eaecd00370308200128021021082001200128020c3602142001200836020c2001200841386a36021820012008360210200141306a2001410c6a41b8ceca800010909180800002402007418080808078470d004194cdca8000411141a8cdca8000108b81808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41b4dbca8000108f91808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10999180800020052802084101470d0120052802102102200528020c21060b20062002419cd8ca800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000bdc0101027f23808080800041306b220324808080800041002d00b8bfd380001a0240410841002802b0bfd380001182808080000022040d00410141084194d9ca800010ae80808000000b20042001290200370000200341286a2004410841002802a0bfd38000118580808000002003200441086a360224200320043602202003200341286a41086a36021c2003410136020c200320023602102003200241206a3602142003200341286a36021820002003410c6a41a4daca8000109291808000200441002802a8bfd3800011808080800000200341306a2480808080000bd90101037f024002402002280204450d000240200228020822030d00024020010d00410421020c030b41002d00b8bfd380001a200141002802b0bfd380001182808080000021020c020b2002280200210441002102200141002802b0bfd38000118280808000002205450d0120052004200310e9968080002102200441002802a8bfd3800011808080800000200221020c010b024020010d00410421020c010b41002d00b8bfd380001a200141002802b0bfd380001182808080000021020b2000200136020820002002410420021b36020420002002453602000bef0101077f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b220541ffffffff034d0d0041004100200110ae80808000000b0240024020054104200541044b1b2207410274220641fcffffff074b0d004100210502402004450d002002200441027436021c20022000280204360214410421050b20022005360218200241086a2006200241146a109c9180800020022802084101470d0120022802102108200228020c21030b20032008200110ae80808000000b200228020c21042000200736020020002004360204200241206a2480808080000b940202037f017e23808080800041d0006b220224808080800020012802202103200128021c21042000280200210002400240024020012d0014410471450d00200441c4dbca80004102200328020c118180808000000d010b41af84808000ad4220862002410c6aad8421054100210103402002200020016a36020c200220053703282002410136022420024101360214200241d8dbca80003602102002410136021c200241033a004c20024108360248200242203702402002428080808020370238200241023602302002200241306a3602202002200241286a36021820042003200241106a10e2808080000d01200141016a22014120470d000b410021010c010b410121010b200241d0006a24808080800020010be10203027f017e037f23808080800041306b2201248080808000200141246a41e0dbca8000410441c6dbca8000410f4104410010c791808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41c4dcca800010b8918080002001280210220542bbeefa98e893a7ad023703002005420437022c20054208370224200541f8dcca800036022020054100360218200541b084808000360210200542eef8e7b09dc4b6b53f37030802402004418080808078470d0041d4dcca8000411141e8dcca8000108b81808000000b200128020c2105200128021021062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200636020820002005360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000b6700200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004120360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a00000b940101037f2380808080004180016b220224808080800020002802002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e380808000210020024180016a24808080800020000bda0303017f017e047f0240024020004280808080105a0d0020012102200021030c010b200141786a220220004280c2d72f8022034280bea8d00f7e20007ca722044190ce006e22054190ce0070220641ffff037141e4006e220741017441c0b0cb80006a2f00003b00002001417c6a200420054190ce006c6b220441ffff037141e4006e220541017441c0b0cb80006a2f00003b00002001417a6a2006200741e4006c6b41ffff037141017441c0b0cb80006a2f00003b00002001417e6a2004200541e4006c6b41ffff037141017441c0b0cb80006a2f00003b00000b024002402003a722014190ce004f0d00200121040c010b2002417c6a21020340200220014190ce006e220441f0b17f6c20016a220541e4006e220641017441c0b0cb80006a2f00003b0000200241026a2005200641e4006c6b41017441c0b0cb80006a2f00003b00002002417c6a2102200141ffc1d72f4b21052004210120050d000b200241046a21020b02400240200441e3004b0d00200421010c010b2002417e6a22022004200441ffff037141e4006e220141e4006c6b41ffff037141017441c0b0cb80006a2f00003b00000b0240200141094b0d002002417f6a20014130723a00000f0b2002417e6a200141017441c0b0cb80006a2f00003b00000b8b1609017f027e037f017e027f037e017f017e017f23808080800041a0026b22022480808080002000bd220342ffffffffffffff078321042003423488a7210541002106024020034200590d002001412d3a0000410121060b200541ff0f7121050240024002400240024002400240024020044200520d002005450d010b20044200522005410249722107200442808080808080800884200420051b22044202862103200442018321080240200541cb776a41cc7720051b2205417f4a0d0020024190026a41e087cb800020054185a2536c4114762005417f476b220920056a220a41047422056b290300220442002003420284220b420010f19680800020024180026a41e887cb800020056b290300220c4200200b420010f196808000200241f0016a20024190026a41086a290300220b2002290380027c220d20024180026a41086a290300200d200b54ad7c2009200a41b1d9b51f6c4113766b41fc006a41ff007141c00073220510e496808000200241b0016a2004420020032007417f73ac7c220b420010f196808000200241a0016a200c4200200b420010f19680800020024190016a200241b0016a41086a290300220b20022903a0017c220d200241a0016a41086a290300200d200b54ad7c200510e496808000200241e0016a200442002003420010f196808000200241d0016a200c42002003420010f196808000200241c0016a200241e0016a41086a290300220420022903d0017c220c200241d0016a41086a290300200c200454ad7c200510e49680800020022903c001210b200229039001210d20022903f001210c024020094102490d002009413f4f0d042003427f2009ad86427f858350450d040c050b200c20087d210c200720085071210e410121090c050b20024180016a200541c1e8046c411276200541034b6b220a41047422094180ddca80006a290300220c420020034202842204420010f196808000200241f0006a20094188ddca80006a290300220b42002004420010f196808000200241e0006a20024180016a41086a290300220d20022903707c220f200241f0006a41086a290300200f200d54ad7c200a20056b200a41cfa6ca006c4113766a41fd006a41ff007141c00073220510e496808000200241206a200c420020032007417f73ac7c220d420010f196808000200241106a200b4200200d420010f1968080002002200241206a41086a290300220d20022903107c220f200241106a41086a290300200f200d54ad7c200510e496808000200241d0006a200c42002003420010f196808000200241c0006a200b42002003420010f196808000200241306a200241d0006a41086a290300220c20022903407c220b200241c0006a41086a290300200b200c54ad7c200510e4968080002002290330210b2002290300210d2002290360210c200a41164f0d0202402003420580a7417b6c41002003a76b470d00417f210503402003a72107200541016a210520034205802203a7417b6c410020076b460d000b2005200a4f0d040c030b02402008500d00417f210503402004a72107200541016a210520044205802204a7417b6c410020076b460d000b200c2005200a4fad7d210c0c030b2007ad427f8520037c2103417f210503402003a72107200541016a210520034205802203a7417b6c410020076b460d000c020b0b200120066a220541002f0088b2cb80003b0000200541026a41002d008ab2cb80003a00002003423f88a741036a21070c050b2005200a490d004101210e410021090c020b4100210702400240200c42e400802204200d42e40080220f560d0041002105200d210f200c2104200b21030c010b200b42e400802203a7419c7f6c200ba76a41314b2107410221050b02402004420a802204200f420a80220c580d000340200541016a21052003220b420a8021032004420a802204200c220f420a80220c560d000b2003a741766c200ba76a41044b21070b2003200f5120077221070c020b4100210e410121090b4100210702400240200c420a802203200d420a80220f560d0041002105200d2104200b210c0c010b41002105410021070340200e200f2204a741766c4100200da76b4671210e200541016a21052009200741ff017145712109200b420a80220ca741766c200ba76a2107200c210b2004210d2003420a8022032004420a80220f560d000b0b024002400240200e450d002004420a80220ba741766c41002004a76b460d010b200c21030c010b0340200ba72110200541016a21052009200741ff017145712109200c420a802203a741766c200ca76a2107200b2104200b420a80220d210b2003210c200da741766c410020106b460d000b0b2008a7200e417f7372200320045171410441052003420183501b2007200741ff01714105461b200720091b41ff017141044b7221070b200a20056a21090240024020032007ad4201837c220342ffff83fea6dee111580d00411121070c010b0240200342ffff99a6eaafe301580d00411021070c010b0240200342ffffe883b1de16580d00410f21070c010b0240200342ffbfcaf384a302580d00410e21070c010b0240200342ff9f94a58d1d580d00410d21070c010b0240200342ffcfdbc3f402580d00410c21070c010b0240200342ffc7afa025580d00410b21070c010b0240200342ff93ebdc03580d00410a21070c010b0240200342ffc1d72f580d00410921070c010b0240200342fface204580d00410821070c010b0240200342bf843d580d00410721070c010b02402003429f8d06580d00410621070c010b02402003428fce00580d00410521070c010b0240200342e707580d00410421070c010b0240200342e300580d00410321070c010b4102410120034209561b21070b200720096a2105024002400240024002400240024002400240024020094100480d0020054111480d010b2005417f6a22094110490d01200541046a4105490d0220074101470d05200120066a220741e5003a000120072003a741306a3a000020012006410272220e6a210720094100480d03200921050c040b2003200120066a20076a10a2918080000240200720054e0d00200120076a20066a4130200910eb968080001a0b2001200520066a22056a41aee0003b0000200541026a21070c080b20032001200620076a41016a22076a10a291808000200120066a2209200941016a200510ec9680800020056a412e3a00000c070b200120066a220e41b0dc003b0000410220056b210902402005417f4a0d00200e41026a413020094103200941034b1b417e6a10eb968080001a0b20032001200720066a20096a22076a10a2918080000c060b2007412d3a0000410120056b2105200741016a21070b200541e3004a0d010240200541094a0d002007200541306a3a00002009411f7641016a200e6a21070c050b2007200541017441c0b0cb80006a2f00003b00002009411f76410272200e6a21070c040b20032001200720066a220e6a221041016a10a291808000200120066a220720072d00013a00002007412e3a0001201041e5003a00012001200e41026a220e6a210720094100480d01200921050c020b2007200541e4006e220141306a3a000020072005200141e4006c6b41017441c0b0cb80006a2f00003b00012009411f7641036a200e6a21070c020b2007412d3a0000410120056b2105200741016a21070b0240200541e3004a0d000240200541094a0d002007200541306a3a00002009411f7641016a200e6a21070c020b2007200541017441c0b0cb80006a2f00003b00002009411f76410272200e6a21070c010b2007200541e4006e220141306a3a000020072005200141e4006c6b41017441c0b0cb80006a2f00003b00012009411f7641036a200e6a21070b200241a0026a24808080800020070bef2901157f23808080800041e0016b22062480808080000240024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01ee042208410b490d00200128020421082001280208210941002d00b8bfd380001a41f00441002802b0bfd3800011828080800000220a450d12200a41003b01ee04200a410036020020094105490d012009417b6a0e020304020b200741046a220b200128020822094102746a210a02400240200941016a220c20084d0d00200a20023602000c010b200b200c4102746a200a200820096b220b41027410ec968080001a200a2002360200200741306a220a200c41346c6a200a200941346c6a200b41346c10ec968080001a0b2007200941346c6a220a41e0006a200341306a280200360200200a41d8006a200341286a290200370200200a41d0006a200341206a290200370200200a41c8006a200341186a290200370200200a41c0006a200341106a290200370200200a41386a200341086a290200370200200a41306a20032902003702002007200841016a3b01ee042001280204210d0c070b200a20072f01ee04417b6a22013b01ee0420064198016a41086a220e2007418c026a29020037030020064198016a41106a220f20074194026a29020037030020064198016a41186a22102007419c026a29020037030020064198016a41206a2211200741a4026a29020037030020064198016a41286a2212200741ac026a2902003703002006200729028402370398012001410c4f0d0f200728028002210b2007280214210c200a41046a200741186a200141027410e9968080001a200a41306a200741b4026a200141346c10e9968080001a200741043b01ee04200641e8006a41086a200e290300370300200641e8006a41106a200f290300370300200641e8006a41186a2010290300370300200641e8006a41206a2011290300370300200641e8006a41286a201229030037030020062006290398013703682008210d200721130c040b200a20072f01ee0441796a22013b01ee0420064198016a41086a220e200741f4026a29020037030020064198016a41106a220f200741fc026a29020037030020064198016a41186a221020074184036a29020037030020064198016a41206a22112007418c036a29020037030020064198016a41286a221220074194036a290200370300200620072902ec02370398012001410c4f0d0d20072802e802210b200728021c210c200a41046a200741206a200141027410e9968080001a200a41306a2007419c036a200141346c10e9968080001a200741063b01ee04200641e8006a41086a200e290300370300200641e8006a41106a200f290300370300200641e8006a41186a2010290300370300200641e8006a41206a2011290300370300200641e8006a41286a20122903003703002006200629039801370368200941796a21090c020b200a20072f01ee04417a6a22013b01ee0420064198016a41086a2209200741c0026a29020037030020064198016a41106a220e200741c8026a29020037030020064198016a41186a220f200741d0026a29020037030020064198016a41206a2210200741d8026a29020037030020064198016a41286a2211200741e0026a290200370300200620072902b802370398012001410c4f0d0b20072802b402210b2007280218210c200a41046a2007411c6a200141027410e9968080001a200a41306a200741e8026a200141346c10e9968080001a200641e8006a41286a2011290300370300200641e8006a41206a2010290300370300200641e8006a41186a200f290300370300200641e8006a41106a200e290300370300200641e8006a41086a2009290300370300200620062903980137036820072002360218200741063b01ee04200741b4026a22012003290200370200200141086a200341086a290200370200200141106a200341106a290200370200200141186a200341186a290200370200200141206a200341206a290200370200200141286a200341286a290200370200200141306a200341306a280200360200410521092008210d200721130c030b200a20072f01ee04417a6a22013b01ee0420064198016a41086a2209200741c0026a29020037030020064198016a41106a220e200741c8026a29020037030020064198016a41186a220f200741d0026a29020037030020064198016a41206a2210200741d8026a29020037030020064198016a41286a2211200741e0026a290200370300200620072902b802370398012001410c4f0d0920072802b402210b2007280218210c200a41046a2007411c6a200141027410e9968080001a200a41306a200741e8026a200141346c10e9968080001a200741053b01ee04200641e8006a41086a2009290300370300200641e8006a41106a200e290300370300200641e8006a41186a200f290300370300200641e8006a41206a2010290300370300200641e8006a41286a20112903003703002006200629039801370368410021090b4100210d200a21130b201341046a20094102746a21010240024020132f01ee04220e20094b0d00200120023602000c010b200141046a2001200e20096b220f41027410ec968080001a200120023602002013200941346c6a220141e4006a200141306a200f41346c10ec968080001a0b2013200941346c6a220141e0006a200341306a280200360200200141d8006a200341286a290200370200200141d0006a200341206a290200370200200141c8006a200341186a290200370200200141c0006a200341106a290200370200200141386a200341086a290200370200200141306a20032902003702002013200e41016a3b01ee040b200641086a41286a2203200641e8006a41286a290300370300200641086a41206a2201200641e8006a41206a290300370300200641086a41186a2202200641e8006a41186a290300370300200641086a41106a220e200641e8006a41106a290300370300200641086a41086a220f200641e8006a41086a29030037030020062006290368370308200b418080808078470d01201321070b200020093602082000200d360204200020073602000c010b200641386a41286a2003290300370300200641386a41206a2001290300370300200641386a41186a2002290300370300200641386a41106a200e290300370300200641386a41086a200f29030037030020062006290308370338024002400240200728020022010d00410021030c010b200641d8016a2114200641d0016a211520064198016a41086a210241002103200641386a41106a210e200641386a41186a210f200641386a41206a2110200641386a41286a211103400240024020082003470d0020072f01ec042103024002400240024002400240024020012f01ee042212410b490d00200841016a210720034105490d012003417b6a0e020304020b200141046a220e2003410274220f6a2108200341016a2107201241016a21020240024020032012490d002008200c3602002001200341346c6a220841306a200b360200200841346a20062903383702002008413c6a200641c0006a290300370200200841c4006a200641c8006a290300370200200841cc006a200641d0006a290300370200200841d4006a200641d8006a290300370200200841dc006a200641e0006a2903003702000c010b200e200741027422106a2008201220036b220e410274221110ec968080001a2008200c360200200141306a2208200741346c6a2008200341346c6a2208200e41346c10ec968080001a2008200b360200200820062903383702042008410c6a200641386a41086a290300370200200841146a200641c8006a2903003702002008411c6a200641d0006a290300370200200841246a200641d8006a2903003702002008412c6a200641e0006a290300370200200141f0046a2208200f6a41086a200820106a201110ec968080001a0b200120023b01ee04200120074102746a41f0046a200a3602002007201241026a220c4f0d0a0240201220036b220241016a410371220a450d00200120034102746a41f4046a210303402003280200220820073b01ec0420082001360200200341046a2103200741016a2107200a417f6a220a0d000b0b20024103490d0a200741027420016a41fc046a21030340200341746a280200220a20073b01ec04200a2001360200200341786a280200220a200741016a3b01ec04200a20013602002003417c6a280200220a200741026a3b01ec04200a20013602002003280200220a200741036a3b01ec04200a2001360200200341106a2103200c200741046a2207470d000c0b0b0b2006200136020841042101201521080c040b20062001360208200341796a2103410621010c020b200641053602102006200736020c2006200136020820064198016a200641086a10a59180800020062802d00122072f01ee04220341016a210102400240024020034106490d002007411c6a200741186a2003417b6a220841027410ec968080001a2007200c360218200741e8026a200741b4026a200841346c10ec968080001a2007200b3602b402200720062903383702b802200741c0026a200641386a41086a290300370200200741c8026a200e290300370200200741d0026a200f290300370200200741d8026a2010290300370200200741e0026a20112903003702002007418c056a20074188056a2003410274416c6a10ec968080001a200720013b01ee042007200a360288050c010b2007200b3602b4022007200c360218200720062903383702b8022007200a36028805200720013b01ee04200741c0026a200641386a41086a290300370200200741c8026a200e290300370200200741d0026a200f290300370200200741d8026a2010290300370200200741e0026a201129030037020020034105470d010b200341037121084106210102402003417b6a4103490d00200341fcff037141786a210b410621034100210a03402007200a6a22014188056a280200220c20033b01ec04200c20073602002001418c056a280200220c200341016a3b01ec04200c200736020020014190056a280200220c200341026a3b01ec04200c200736020020014194056a2802002201200341036a3b01ec0420012007360200200a41106a210a2003417a6a210c200341046a22012103200c200b470d000b0b2008450d00200720014102746a41f0046a210303402003280200220a20013b01ec04200a2007360200200341046a2103200141016a21012008417f6a22080d000b0b200641e8006a41086a200241086a290200370300200641e8006a41106a200241106a290200370300200641e8006a41186a200241186a290200370300200641e8006a41206a200241206a290200370300200641e8006a41286a200241286a290200370300200620022902003703680c040b2006200136020841002103410521010b201421080b200620013602102006200736020c20064198016a200641086a10a5918080002008280200220141046a2216200341027422176a2112200341016a210720012f01ee04220841016a211802400240200820034b0d002012200c3602002001200341346c6a220c41306a200b360200200c41346a2006290338370200200c413c6a200641386a41086a290300370200200c41c4006a200e290300370200200c41cc006a200f290300370200200c41d4006a2010290300370200200c41dc006a20112903003702000c010b2016200741027422196a2012200820036b2216410274221a10ec968080001a2012200c360200200141306a220c200741346c6a200c200341346c6a220c201641346c10ec968080001a200c200b360200200c2006290338370204200c410c6a200641386a41086a290300370200200c41146a200e290300370200200c411c6a200f290300370200200c41246a2010290300370200200c412c6a2011290300370200200141f0046a220c20176a41086a200c20196a201a10ec968080001a0b200120074102746a41f0046a200a360200200120183b01ee0402402007200841026a220c4f0d000240200820036b220b41016a410371220a450d00200120176a41f4046a210303402003280200220820073b01ec0420082001360200200341046a2103200741016a2107200a417f6a220a0d000b0b200b4103490d00200120074102746a41fc046a21030340200341746a280200220a20073b01ec04200a2001360200200341786a280200220a200741016a3b01ec04200a20013602002003417c6a280200220a200741026a3b01ec04200a20013602002003280200220a200741036a3b01ec04200a2001360200200341106a2103200c200741046a2207470d000b0b200641e8006a41086a200241086a290200370300200641e8006a41106a200241106a290200370300200641e8006a41186a200241186a290200370300200641e8006a41206a200241206a290200370300200641e8006a41286a200241286a2902003703002006200229020037036820062802d00121070c010b41b8b5cb8000413541f0b5cb800010f480808000000b200628029801210c200628029c01220b418080808078460d0220062802dc01210320062802d801210a20062802d40121082011200641e8006a41286a2903003703002010200641e8006a41206a290300370300200f200641e8006a41186a290300370300200e200641e8006a41106a290300370300200641386a41086a200641e8006a41086a29030037030020062006290368370338200728020022010d000b0b200428020022012802002208450d022001280204210241002d00b8bfd380001a41a00541002802b0bfd38000118280808000002207450d03200720083602f004200741003b01ee0420074100360200200841003b01ec04200820073602002001200241016a3602042001200736020020022003470d042007200b3602302007200c360204200741013b01ee04200720062903383702342007200a3602f4042007413c6a200641c0006a290300370200200741c4006a200641c8006a290300370200200741cc006a200641d0006a290300370200200741d4006a200641d8006a290300370200200741dc006a200641e0006a290300370200200a41013b01ec04200a20073602000b200020093602082000200d360204200020133602000b200641e0016a2480808080000f0b4190b3cb8000108a81808000000b410441a00510b980808000000b41a0b4cb8000413041d0b4cb800010f480808000000b2001410b4198b5cb800010aa81808000000b2001410b4198b5cb800010aa81808000000b2001410b4198b5cb800010aa81808000000b2001410b4198b5cb800010aa81808000000b410441f00410b980808000000bcf06010a7f23808080800041f0006b2202248080808000200128020022032f01ee04210441002d00b8bfd380001a0240024002400240024041a00541002802b0bfd38000118280808000002205450d0020054100360200200520032f01ee04220620012802082207417f736a22083b01ee04200241386a41086a200341306a2209200741346c6a220a41086a290200370300200241386a41106a200a41106a290200370300200241386a41186a200a41186a290200370300200241386a41206a200a41206a290200370300200241386a41286a200a41286a290200370300200241386a41306a200a41306a2802003602002002200a2902003703382008410c4f0d012006200741016a220a6b2008470d02200341046a220620074102746a280200210b200541046a2006200a4102746a200841027410e9968080001a200541306a2009200a41346c6a200841346c10e9968080001a200320073b01ee04200241086a200241386a41086a290300370300200241106a200241386a41106a290300370300200241186a200241386a41186a290300370300200241206a200241386a41206a290300370300200241286a200241386a41286a290300370300200241306a200241386a41306a2802003602002002200229033837030020052f01ee04220841016a210a2008410c4f0d03200420076b2206200a470d04200541f0046a200320074102746a41f4046a200641027410e9968080002106200128020421014100210a024003402006200a4102746a2802002207200a3b01ec0420072005360200200a20084f0d01200a200a2008496a220a20084d0d000b0b2000200136023c200020033602382000200b3602002000200229030037020420002001360244200020053602402000410c6a200241086a290300370200200041146a200241106a2903003702002000411c6a200241186a290300370200200041246a200241206a2903003702002000412c6a200241286a290300370200200041346a200241306a280200360200200241f0006a2480808080000f0b410441a00510b980808000000b2008410b4198b5cb800010aa81808000000b41e0b4cb800041284188b5cb800010f480808000000b200a410c41a8b5cb800010aa81808000000b41e0b4cb800041284188b5cb800010f480808000000b8d17020d7f027e23808080800041c0006b22072480808080000240024002400240024002400240024002400240024002400240024002400240024002400240200128020022082f01e2012209410b490d00200128020421092001280208210a41002d00b8bfd380001a41e80141002802b0bfd3800011828080800000220b450d09200b41003b01e201200b41003602b001200a4105490d01200a417b6a0e020304020b20082001280208220a4104746a210b200a41016a220c20094d0d06200b2003370308200b20023703000c070b200b20082f01e201417b6a22013b01e2012001410c4f0d08200841c0006a210c200841c8006a210d200841c4016a210e4104210f41c801211041d000211120092112200821130c040b200b20082f01e20141796a22013b01e2012001410c4f0d08200a41796a210a200841e0006a210c200841e8006a210d200841cc016a210e410021124106210f41d001211041f00021110c020b200b20082f01e201417a6a22013b01e2012001410c4f0d08200829035021142008290358211520082802c801210e200b200841e0006a200141047410e99680800041b4016a200841cc016a200141027410e9968080001a200841063b01e201200820043602c80120082003370358200820023703504105210a20092112200821130c0a0b200b20082f01e201417a6a22013b01e2012001410c4f0d08200841d0006a210c200841d8006a210d200841c8016a210e4100210a4105210f41cc01211041e0002111410021120b200b21130b200e280200210e200d2903002115200c2903002114200b200820116a200141047410e99680800041b4016a200820106a200141027410e9968080001a2008200f3b01e2012013200a4104746a21010240024020132f01e201220c200a4b0d0020012003370308200120023703000c010b2013200a41016a220d4104746a2001200c200a6b220f41047410ec968080001a2001200337030820012002370300201341b4016a2201200d4102746a2001200a4102746a200f41027410ec968080001a0b2013200a4102746a41b4016a20043602002013200c41016a3b01e2010c070b2008200c4104746a200b2009200a6b220e41047410ec968080001a200b2003370308200b2002370300200841b4016a220b200c4102746a200b200a4102746a200e41027410ec968080001a0b2008200a4102746a41b4016a20043602002008200941016a3b01e20120012802042112200821130c060b410841e80110b980808000000b2001410b4198b5cb800010aa81808000000b2001410b4198b5cb800010aa81808000000b2001410b4198b5cb800010aa81808000000b2001410b4198b5cb800010aa81808000000b0240024020082802b00122010d00410021040c010b4100210403400240024020092004470d0020082f01e001210802400240024002400240024020012f01e2012204410b490d00200941016a210420084105490d01410021094105210c2008417b6a0e020204030b200841016a2109200441016a210d200120084104746a210c0240024020082004490d00200c2015370308200c2014370300200120084102746a41b4016a200e3602000c010b200120094104746a200c200420086b220f41047410ec968080001a200c2015370308200c2014370300200141b4016a220c200941027422106a200c200841027422116a220c200f410274220f10ec968080001a200c200e360200200141e8016a220c20116a41086a200c20106a200f10ec968080001a0b2001200d3b01e201200120094102746a41e8016a200b3602002009200441026a220c4f0d090240200420086b220e41016a4103712204450d00200120084102746a41ec016a210803402008280200220b20093b01e001200b20013602b001200841046a2108200941016a21092004417f6a22040d000b0b200e4103490d09200941027420016a41f4016a21080340200841746a280200220420093b01e001200420013602b001200841786a2802002204200941016a3b01e001200420013602b0012008417c6a2802002204200941026a3b01e001200420013602b00120082802002204200941036a3b01e001200420013602b001200841106a2108200c200941046a2209470d000c0a0b0b20074104360214200720043602102007200136020c200741186a2007410c6a10a79180800020072802182101200821090c030b20074105360214200720043602102007200136020c200741186a2007410c6a10a791808000200728021822082f01e201220141016a21090240024020014106490d00200841e0006a200841d0006a2001417b6a220441047410ec968080001a2008201537035820082014370350200841cc016a200841c8016a200441027410ec968080001a2008200e3602c80120084184026a20084180026a2001410274416c6a10ec968080001a200820093b01e2012008200b360280020c010b2008200b360280022008200e3602c8012008201537035820082014370350200820093b01e20120014105470d050b2001410371210b4106210902402001417b6a4103490d00200141fcff037141786a210e41062101410021040340200820046a22094180026a280200220c20013b01e001200c20083602b00120094184026a280200220c200141016a3b01e001200c20083602b00120094188026a280200220c200141026a3b01e001200c20083602b0012009418c026a2802002209200141036a3b01e001200920083602b001200441106a21042001417a6a210c200141046a22092101200c200e470d000b0b200b450d04200820094102746a41e8016a210103402001280200220420093b01e001200420083602b001200141046a2101200941016a2109200b417f6a220b0d000c050b0b200841796a21094106210c0b2007200c360214200720043602102007200136020c200741186a2007410c6a10a791808000200728022021010b200941016a2108200120094104746a210c20012f01e201220441016a210d02400240200420094b0d00200c2015370308200c2014370300200120094102746a41b4016a200e3602000c010b200120084104746a200c200420096b220f41047410ec968080001a200c2015370308200c2014370300200141b4016a220c200841027422106a200c200941027422116a220c200f410274220f10ec968080001a200c200e360200200141e8016a220c20116a41086a200c20106a200f10ec968080001a0b200120084102746a41e8016a200b3602002001200d3b01e20102402008200441026a220c4f0d000240200420096b220e41016a4103712204450d00200120094102746a41ec016a210903402009280200220b20083b01e001200b20013602b001200941046a2109200841016a21082004417f6a22040d000b0b200e4103490d00200120084102746a41f4016a21090340200941746a280200220420083b01e001200420013602b001200941786a2802002204200841016a3b01e001200420013602b0012009417c6a2802002204200841026a3b01e001200420013602b00120092802002204200841036a3b01e001200420013602b001200941106a2109200c200841046a2208470d000b0b200728021822080d010c040b41b8b5cb8000413541f0b5cb800010f480808000000b2007280238210e2007290330211520072903282114200728022421042007280220210b200728021c210920082802b00122010d000b0b200528020022012802002209450d012001280204210c41002d00b8bfd380001a41980241002802b0bfd38000118280808000002208450d02200820093602e801200841003b01e201200841003602b001200941003b01e001200920083602b0012001200c41016a36020420012008360200200c2004470d032008200b3602ec012008200e3602b4012008201537030820082014370300200841013b01e201200b41013b01e001200b20083602b0010b2000200a3602082000201236020420002013360200200741c0006a2480808080000f0b4190b3cb8000108a81808000000b410841980210b980808000000b41a0b4cb8000413041d0b4cb800010f480808000000be80302097f027e200128020022022f01e201210341002d00b8bfd380001a0240024002400240024041980241002802b0bfd38000118280808000002204450d00200441003602b001200420022f01e201220520012802082206417f736a22073b01e2012007410c4f0d012005200641016a22086b2007470d02200241b4016a220920064102746a280200210a200220064104746a2205290308210b2005290300210c2004200220084104746a200741047410e996808000220541b4016a200920084102746a200741027410e9968080001a200220063b01e20120052f01e201220741016a21042007410c4f0d03200320066b22082004470d04200541e8016a200220064102746a41ec016a200841027410e9968080002108200128020421014100210602400340200820064102746a280200220420063b01e001200420053602b001200620074f0d01200620062007496a220620074d0d000b0b2000200a3602202000200b3703182000200c37031020002001360204200020023602002000200136020c200020053602080f0b410841980210b980808000000b2007410b4198b5cb800010aa81808000000b41e0b4cb800041284188b5cb800010f480808000000b2004410c41a8b5cb800010aa81808000000b41e0b4cb800041284188b5cb800010f480808000000bb10601097f23808080800041106b220224808080800002400240200128020022034102460d00024020012d00490d00200128023421042001280230210502400240024002400240024020034101710d00024020012d000e0d0020012d000c210602400240024020012802042203450d00024020032004490d0020032004460d010c020b200520036a2c00004140480d010b20032004460d0102400240200520036a22072c00002208417f4a0d0020072d0001413f7121092008411f71210a0240200841604f0d00200a41067420097221080c020b200941067420072d0002413f717221090240200841704f0d002009200a410c747221080c020b200941067420072d0003413f7172200a411274418080f000717221080c010b200841ff017121080b4101210720064101710d0502402008418001490d00410221072008418010490d0041034104200841808004491b21070b2001200720036a22033602042003450d040240024020032004490d0020032004470d010c060b200520036a2c000041bf7f4a0d050b410121060b20012006417f734101713a000c200520042003200441ecbbcb800010f980808000000b20012006417f734101713a000c20064101710d05200141013a000e0b200241003602040c050b200141086a2103200128023c21062001280238210802402001280224417f460d00200241046a20032005200420082006410010a9918080000c050b200241046a20032005200420082006410110a9918080000c040b20032004460d01200520036a2c00002204417f4a0d0020044160491a0b200321040b200141003a000c0b2002200436020c20022004360208200241013602040b024020022802040d0020012d00490d01200141013a00490240024020012d00484101470d0020012802442103200128024021040c010b2001280244220320012802402204460d020b200320046b2103200128023020046a21040c030b200128024021032001200228020c360240200520036a2104200228020820036b21030c020b200141023602000b024020012802500d00410021040c010b2001280254210420014100360254200128025821030b2000200336020420002004360200200241106a2480808080000be30303077f017e057f0240200128021422072005417f6a22086a220920034f0d0020052001280210220a6b210b200128021c210c2001280208210d2001290300210e0340024002400240200e200220096a3100008842018350450d002001200720056a22073602144100210920060d020c010b200d200c200d200c200d4b1b20061b220f2005200f20054b1b2110200220076a2111200f21090240024002400340024020102009470d004100200c20061b2112200d21090340024020122009490d002001200720056a2209360214024020060d002001410036021c0b2000200936020820002007360204200041013602000f0b2009417f6a220920054f0d05200920076a221320034f0d03200420096a2d0000200220136a2d0000460d000b20012007200a6a2207360214200b21092006450d050c060b200720096a20034f0d02201120096a2113200420096a2112200941016a210920122d000020132d0000460d000b2007200d6b20096a210720060d04410021090c030b2013200341acb9cb800010f580808000000b2003200f20076a2209200320094b1b200341bcb9cb800010f580808000000b20092005419cb9cb800010f580808000000b2001200936021c2009210c0b200720086a22092003490d000b0b20012003360214200041003602000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b4105762107200128020821010c010b0240200420066b2208410576220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108412010ba918080002003280208210a200328020c21090b200a20094105746a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000b8004040c7f017e027f027e23808080800041c0006b2203248080808000200128020c2204200128020422056b220641386e220741057421080240024002400240200641c8ffffff7d4d0d00410021050c010b024020042005470d00200128020821092001280200210a410021074104210b410021080c030b4100210641002d00b8bfd380001a200841002802b0bfd3800011828080800000220b0d01410421050b200520084198b8cb800010ae80808000000b2001280210210c200128020821092001280200210a410021080340200341086a41306a2201200541306a290300370300200341086a41286a220d200541286a290300370300200341086a41206a220e200541206a290300370300200341086a41106a200541106a290300370300200341086a41086a200541086a290300370300200341086a41186a200541186a290300220f37030020032005290300370308200c200341086a10c991808000211020012802002111200d2903002112200e2903002113200b20066a2201410c6a200f370200200141146a2010360200200141186a201337020020012012370200200141086a2011360200200641206a2106200841016a2108200541386a22052004470d000b0b02402009450d00200a41002802a8bfd38000118080808000000b200020083602082000200b36020420002007360200200341c0006a2480808080000b8a0403027f017e0d7f23808080800041206b220324808080800020012802082204ad42247e2205a72106410021070240024002402005422088a70d00200641fcffffff074b0d00024020060d00410421080c030b2001280204210141002d00b8bfd380001a200641002802b0bfd380001182808080000022080d01410421070b2007200641ccbacb800010ae80808000000b2004450d00410021092004210a034020062009460d01200128021c210b2001280218210c200341146a2001200110ad918080004100210d0240024002402001280214220e41ffffffff014b0d00200e410374220741fcffffff074b0d002001280210210d20012d0020210f024020070d0041042110410021110c030b41002d00b8bfd380001a200741002802b0bfd380001182808080000022100d014104210d200721100b200d201041bcbacb800010ae80808000000b200e21110b2010200d200710e996808000210d200341086a41086a200341146a41086a2802002212360200200320032902142205370308200820096a220741086a201236020020072005370200200741206a200f3a00002007411c6a200b360200200741186a200c360200200741146a200e360200200741106a200d3602002007410c6a2011360200200941246a2109200141246a2101200a417f6a220a0d000b0b200020043602082000200836020420002004360200200341206a2480808080000bc303010f7f20012802082203410574210441002105024002400240200341ffffff3f4b0d00200441fcffffff074b0d00024020040d00410421060c030b2001280204210141002d00b8bfd380001a200441002802b0bfd380001182808080000022060d01410421050b2005200441ccbacb800010ae80808000000b2003450d004100210720032108034020042007460d01410021090240024002402001280208220a41ffffffff014b0d00200a410374220541fcffffff074b0d0020012802042109200128021c210b2001280218210c2001280214210d2001280210210e200128020c210f024020050d0041042110410021110c030b41002d00b8bfd380001a200541002802b0bfd380001182808080000022100d0141042109200521100b2009201041bcbacb800010ae80808000000b200a21110b20102009200510e9968080002109200620076a220520113602002005411c6a200b360200200541186a200c360200200541146a200d360200200541106a200e3602002005410c6a200f360200200541086a200a360200200541046a2009360200200741206a2107200141206a21012008417f6a22080d000b0b2000200336020820002006360204200020033602000ba50401067f2380808080004190016b2203248080808000200341106a200110a891808000024002400240200328021022040d002000410036020820004280808080c0003702000c010b200341286a210541002106024020012802004102470d002003418c016a2105024020012802504101460d00410021060c010b200128025441004721060b200328021421072005200636020041002d00b8bfd380001a412041002802b0bfd38000118280808000002208450d01200820073602042008200436020020034101360224200320083602202003410436021c200341286a200141e00010e9968080001a200341086a200341286a10a891808000024020032802082205450d00200328020c2106410c210441012101034002402001200328021c470d0020032802782107024002400240024020032802284102470d002003418c016a210820070d010c020b2003418c016a21082007450d0141002102200328027c41004721070c020b200328027c410047220721020c010b41002107410021020b200820023602002003411c6a2001200741016a4104410810ba91808000200328022021080b200820046a220720063602002007417c6a20053602002003200141016a2201360224200441086a21042003200341286a10a89180800020032802042106200328020022050d000b0b2000200329021c370200200041086a2003411c6a41086a2802003602000b20034190016a2480808080000f0b41044120200210ae80808000000b800a03037f017e087f23808080800041b0016b22032480808080002003200110b2918080000240024002400240024020032802002204450d00200341186a200141246a2004200328020410c4918080002003280218418080808078470d010b2000410036020820004280808080c0003702000c010b200128022041016a2204417f20041b22044104200441044b1b2205ad42387e2206a7210441002107024002402006422088a70d00200441fcffffff074b0d00024020040d0041042108410021050c020b41002d00b8bfd380001a200441002802b0bfd380001182808080000022080d01410421070b20072004200210ae80808000000b20082003290218370200200841306a200341186a41306a290200370200200841286a200341186a41286a290200370200200841206a200341186a41206a290200370200200841186a200341186a41186a290200370200200841106a200341186a41106a290200370200200841086a200341186a41086a29020037020020034101360214200320083602102003200536020c200341d0006a41206a200141206a2802002209360200200341d0006a41186a200141186a290200370300200341d0006a41106a200141106a290200370300200341d0006a41086a200141086a2902003703002003200129020037035002402009450d00200341f4006a210a200328025c210b200328025421012003280250210c4101210d034020032009417f6a2209360270200c410171450d03024002402001450d00200328025821050c010b200328025821010240200b450d0002400240200b41077122020d00200b21040c010b200b210403402004417f6a210420012802f00421012002417f6a22020d000b0b200b4108490d00034020012802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042101200441786a22040d000b0b4101210c20034101360250410021054100210b0b02400240200b20012f01ee044f0d0020012104200b21020c010b034020012802002204450d06200541016a210520012f01ec04210220042101200220042f01ee044f0d000b0b0240024020050d00200241016a210b200421010c010b200420024102746a41f4046a28020021014100210b2005417f6a2207450d002005417e6a210e024020074107712205450d0003402007417f6a210720012802f00421012005417f6a22050d000b0b200e4107490d00034020012802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042101200741786a22070d000b0b2003200b36025c2003410036025820032001360254200341f8006a200a200420024102746a41046a2004200241346c6a41306a10c4918080002003280278418080808078460d010240200d200328020c470d002003410c6a200d200941016a2204417f20041b4104413810ba91808000200328021021080b2008200d41386c6a22042003290278370200200441306a200341f8006a41306a290200370200200441286a200341f8006a41286a290200370200200441206a200341f8006a41206a290200370200200441186a200341f8006a41186a290200370200200441106a200341f8006a41106a290200370200200441086a200341f8006a41086a2902003702002003200d41016a220d36021420090d000b0b2000200329020c370200200041086a2003410c6a41086a2802003602000b200341b0016a2480808080000f0b41c4becb8000108a81808000000b41b4becb8000108a81808000000be80501067f23808080800041a0016b2203248080808000200341186a200141086a220410a8918080000240024002400240024020032802182205450d00200328021c210620012802042207450d0220012802002108200741047421070340024020082802042006470d0020052008280200200610ed96808000450d030b200841106a2108200741706a22070d000c030b0b2000410036020820004280808080c0003702000c020b200828020c2106200828020821050b200341306a210841002107024020042802004102470d002003419c016a2108024020012802584101460d00410021070c010b200128025c41004721070b2008200736020041002d00b8bfd380001a412041002802b0bfd38000118280808000002204450d0120042006360204200420053602002003410136022c2003200436022820034104360224200341306a200141e80010e9968080001a200341106a200341306a41086a220210a891808000024020032802102205450d0020032802142106410121010340024020032802342207450d00200328023021082007410474210702400340024020082802042006470d0020052008280200200610ed96808000450d020b200841106a2108200741706a22070d000c020b0b200828020c2106200828020821050b024020012003280224470d002003280288012108024002400240024020032802384102470d002003419c016a210720080d010c020b2003419c016a21072008450d0141002104200328028c0141004721080c020b200328028c01410047220821040c010b41002108410021040b20072004360200200341246a2001200841016a4104410810ba91808000200328022821040b200420014103746a22082006360204200820053602002003200141016a220136022c200341086a200210a891808000200328020c2106200328020822050d000b0b20002003290224370200200041086a200341246a41086a2802003602000b200341a0016a2480808080000f0b41044120200210ae80808000000bc707030d7f017e077f23808080800041c0006b22052480808080002005200120022003200410a0818080002005280230210620052802342107024002400240024002400240024020052802004101470d0020022104200528021c22082007460d06200528023c22092005280218220a6b210b2009417f6a210c2005280224210d2005280238210e200620086a210f2005280210221020086b211120052903082112034002402008200c6a22032007490d00200821040c080b410020116b2113200820096a21142008200a6a2115200d417f462116200821040340024020082004460d00200821040c090b0240024002402012200620036a31000088420183500d002010200d2010200d20104b1b20161b22172009201720094b1b2118201721040240034020182004460d01200820046a20074f0d0a200f20046a2103200e20046a2119200441016a210420192d000020032d0000460d000b201320046a210420160d03410021030c020b4100200d20161b2119201021040340024020192004490d00200d410020161b210d200f20096a210f201120096b21112014210820142007470d06200221040c0d0b2004417f6a220420094f0d07200420086a220320074f0d08200e20046a2d0000200620036a2d0000460d000b200b2103201521042016450d010c020b410021032014210420160d010b2003210d0b2004200c6a22032007490d000b0b200821040c060b2002210420052d000e4101710d052006200528020422036a210820052d000c21190240024020032007470d00024020030d00200221032002210420194101710d070c080b200320074f0d0520082c00004140480d01200221032002210420194101710d060c070b024020030d0041002104024020082c000022084100480d0020194101710d070c080b024020084160490d00024020084170490d0020194101710d08410021040c090b20194101710d07410021040c080b20194101710d06410021040c070b200320074f0d0020082c000022044140480d00024020044100480d002003210420194101710d060c070b024020044160490d00024020044170490d002003210420194101710d070c080b2003210420194101710d060c070b2003210420194101710d050c060b200620072003200741a0bdcb800010f980808000000b2004200941f0bccb800010f580808000000b200320074180bdcb800010f580808000000b2007201720086a2204200720044b1b20074190bdcb800010f580808000000b20022103200221042019410171450d010b200321040b2000200220046b3602042000200120046a360200200541c0006a2480808080000ba40401077f0240024002400240200128022022020d00410021020c010b20012002417f6a36022002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a210520022802f00421022004417f6a22040d000b0b20034108490d00034020022802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d020b2001280208210302400240200128020c2204200128020422052f01ee044f0d00200521020c010b034020052802002202450d04200341016a210320052f01ec04210420022105200420022f01ee044f0d000b0b0240024020030d00200441016a2106200221050c010b200220044102746a41f4046a2802002105410021062003417f6a2207450d002003417e6a2108024020074107712203450d0003402007417f6a210720052802f00421052003417f6a22030d000b0b20084107490d00034020052802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042105200741786a22070d000b0b2001200636020c20014100360208200120053602042002200441346c6a41306a2105200220044102746a41046a21020b20002005360204200020023602000f0b41c4becb8000108a81808000000b41b4becb8000108a81808000000ba60501097f02402000280200450d00200028020441002802a8bfd38000118080808000000b0240200028020c450d00200028021041002802a8bfd38000118080808000000b0240024002400240024020002d00240e050001040402040b200028022c2101024020002802302202450d002002410171210341002104024020024101460d002002417e7121052001210241002104034002402002280200450d00200241046a28020041002802a8bfd38000118080808000000b0240200241206a280200450d00200241246a28020041002802a8bfd38000118080808000000b200241c0006a21022005200441026a2204470d000b0b2003450d00200120044105746a2202280200450d00200228020441002802a8bfd38000118080808000000b20002802280d020c030b200028022c2101024020002802302206450d0041002107034002402001200741246c6a22032802082202450d00200328020421082002410171210941002104024020024101460d002002417e7121054100210420082102034002402002280200450d00200241046a28020041002802a8bfd38000118080808000000b0240200241206a280200450d00200241246a28020041002802a8bfd38000118080808000000b200241c0006a21022005200441026a2204470d000b0b2009450d00200820044105746a2202280200450d00200228020441002802a8bfd38000118080808000000b02402003280200450d00200328020441002802a8bfd38000118080808000000b0240200328020c450d00200328021041002802a8bfd38000118080808000000b200741016a22072006470d000b0b20002802280d010c020b2000280228450d01200028022c21010b200141002802a8bfd38000118080808000000b02402000280218450d00200028021c41002802a8bfd38000118080808000000b0be10501097f23808080800041306b220424808080800002400240024002400240200128020022050d002004410036020841002d00b8bfd380001a41f00441002802b0bfd380001182808080000022060d01410441f00410b980808000000b2001280204210703402005417c6a210820052f01ee042209410274210a41002106417f210b024003400240200a2006470d002009210b0c020b200520066a210c200641046a2106200b41016a210b200841346a2108417f200c41046a280200220c200247200c20024b1b220c4101460d000b200c41ff0171450d040b02402007450d002007417f6a21072005200b4102746a41f0046a28020021050c010b0b2004410036020c2004200536020820042002360204200420013602002004200b360210200441286a200b36020020042004290208370320200441146a200441206a200220032004200441146a10a491808000200428020021010c010b200141003602042001200636020020064100360200200641013b01ee042006200236020420062003290200370230200641386a200341086a290200370200200641c0006a200341106a290200370200200641c8006a200341186a290200370200200641d0006a200341206a290200370200200641d8006a200341286a290200370200200641e0006a200341306a2802003602000b2001200128020841016a36020820004180808080783602000c010b20002008290200370200200041306a200841306a2206280200360200200041286a200841286a220b290200370200200041206a200841206a2202290200370200200041186a200841186a220c290200370200200041106a200841106a2205290200370200200041086a200841086a220a29020037020020082003290200370200200a200341086a2902003702002005200341106a290200370200200c200341186a2902003702002002200341206a290200370200200b200341286a2902003702002006200341306a2802003602000b200441306a2480808080000bfe0401057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802e80121012004417f6a22040d000b0b20024108490d00034020012802e8012802e8012802e8012802e8012802e8012802e8012802e8012802e8012101200041786a22000d000b0b20012104410021020b024002400240200220042f01e2014f0d00200421000c010b034020042802b0012200450d0220042f01e0012102200441002802a8bfd3800011808080800000200541016a210520002104200220002f01e2014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a41ec016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802e80121002005417f6a22050d000b0b20014107490d00034020002802e8012802e8012802e8012802e8012802e8012802e8012802e8012802e8012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b200441002802a8bfd38000118080808000004184b7cb8000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802e80121002005417f6a22050d000b0b20024108490d00034020002802e8012802e8012802e8012802e8012802e8012802e8012802e8012802e8012100200441786a22040d000b0b034020002802b0012104200041002802a8bfd38000118080808000002004210020040d000b0b0b910501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802f00421012005417f6a22050d000b0b20024108490d00034020012802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042101200041786a22000d000b0b20012100410021020b024002400240200220002f01ee044f0d0020022106200021010c010b034020002802002201450d0220002f01ec042106200041002802a8bfd3800011808080800000200441016a210420012100200620012f01ee044f0d000b0b0240024020040d00200641016a2102200121000c010b200120064102746a41f4046a2802002100410021022004417f6a2205450d002004417e6a2107024020054107712204450d0003402005417f6a210520002802f00421002004417f6a22040d000b0b20074107490d00034020002802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042100200541786a22050d000b0b2001200641346c6a41306a10b391808000410021012003417f6a22030d010c030b0b200041002802a8bfd38000118080808000004184b7cb8000108a81808000000b024020020d00200121000c010b02400240200241077122040d0020022105200121000c010b200221052001210003402005417f6a210520002802f00421002004417f6a22040d000b0b20024108490d00034020002802f0042802f0042802f0042802f0042802f0042802f0042802f0042802f0042100200541786a22050d000b0b034020002802002101200041002802a8bfd38000118080808000002001210020010d000b0b0bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42387e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841f8ffffff074b0d004100210502402004450d002002200441386c36021c20022000280204360214410821050b20022005360218200241086a41082008200241146a10b79180800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bf10101077f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b220541ffffffff004d0d0041004100200110ae80808000000b0240024020054104200541044b1b2207410474220641f8ffffff074b0d004100210502402004450d002002200441047436021c20022000280204360214410821050b20022005360218200241086a41082006200241146a10b79180800020022802084101470d0120022802102108200228020c21030b20032008200110ae80808000000b200228020c21042000200736020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10b79180800020052802084101470d0120052802102102200528020c21060b2006200241c8bfcb800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a8c7cb800010aa918080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004185043b0100200141106a2480808080000bc30301057f23808080800041106b220224808080800002400240024020014104490d00410021032000280000418081828478710d0202404104200041036a417c71220420006b20042000461b22042001417c6a22054f0d000340200020046a280200418081828478710d04200441046a22042005490d000b0b200020056a28000041808182847871450d010c020b2001450d004100210320002001417f6a22046a2c00004100480d012004450d004100210320002001417e6a22046a2c00004100480d012004450d004100210320002001417d6a22046a2c00004100480d0120040d010b200241086a2000200141d8bfcb8000410210b1918080000240200228020c22040d00410021030c010b410121060240200228020822032d0000220041df00460d00410121062000419f7f6a41ff0171411a490d00200041bf7f6a41ff0171411a4921060b2004417f6a2101200341016a21040240034020012203450d012003417f6a210120042d00002100200441016a22052104200041506a41ff0171410a490d0020052104200041ff017141df00460d00200521042000415f7141bf7f6a41ff0171411a490d000b0b20062003457121030b200241106a24808080800020030b7901017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a8c7cb800010aa918080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041053b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a8c7cb800010aa918080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004185063b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a8c7cb800010aa918080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004185083b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a8c7cb800010aa918080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041850a3b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a8c7cb800010aa918080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041850c3b0100200141106a2480808080000b7a01017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141a8c7cb800010aa918080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041850e3b0100200141106a2480808080000bcf0101027f23808080800041206b2201248080808000200142808080808001370218200142888080808001370210200141086a200141106a41084108200141206a410810cf91808000200128020c2102200142888080808001370210200142808080808001370218200041c4006a200141106a41a8c7cb800010aa918080002000410036024020004280808080c0003703382000410036025820004280808080c0003703502000200241786a41186e36020c200042808080808001370204200041043a0000200141206a2480808080000bd907020b7f017e23808080800041106b220424808080800020032802082205410374210641002107024002400240200541ffffffff014b0d00200641fcffffff074b0d002003280204210720022802002108410021094100210a410421022006450d0241002d00b8bfd380001a200641002802b0bfd380001182808080000022020d01410421070b2007200641bcbacb800010ae80808000000b2005210a0b20022007200610e996808000210b2003280214220c410474210d024002400240200c41ffffffff004b0d00200d41fcffffff074b0d000240200d0d004104210e0c030b2003280210210641002d00b8bfd380001a200d41002802b0bfd3800011828080800000220e0d01410421090b2009200d41ccbacb800010ae80808000000b200c450d0041002102200c21070340200d2002460d012006290208210f200e20026a22092006290200370200200941086a200f370200200241106a2102200641106a21062007417f6a22070d000b0b02400240024002400240024002400240024020032d00240e080001020304050607000b200441046a200341286a41d0c1cb800010ad91808000200441003a00000c070b200441046a200341286a41c8c2cb800010ac91808000200441013a00000c060b200441023a0000200420032802283602040c050b200441033a0000200420032902283702040c040b20032802302202410274210641002107024002400240200241ffffffff034b0d00200641fcffffff074b0d00200328022c2107024020060d004100210d410421090c030b41002d00b8bfd380001a200641002802b0bfd380001182808080000022090d01410421070b2007200641bcbacb800010ae80808000000b2002210d0b20092007200610e99680800021062004200236020c200420063602082004200d360204200441043a00000c030b200441053a0000200420032d00253a00010c020b200441063a0000200420032802283602040c010b200441073a0000200420032902283702040b20032802202202410374210641002107024002400240200241ffffffff014b0d00200641fcffffff074b0d00200328021c2107024020060d00410421094100210d0c030b41002d00b8bfd380001a200641002802b0bfd380001182808080000022090d01410421070b2007200641bcbacb800010ae80808000000b2002210d0b20092007200610e99680800021062000412c6a200441086a29020037020020002004290200370224200020023602202000200636021c2000200d3602182000200c3602142000200e3602102000200c36020c200020053602082000200b3602042000200a36020020002008360234200441106a2480808080000bc903010c7f23808080800041106b220324808080800020012802082104200341086a2001200128020022052005200141106a200128020c10ce9180800020012802042106200328020c210720014284808080c000370200200128020c21082001410436020c20014100360208200820066b41246e2109024020082006460d004100210a034002402006200a41246c6a220b280208220c450d00200b280204210d200c410171210e410021080240200c4101460d00200d41e4006a2101200c417e71210c4100210803400240200141446a280200450d00200141486a28020041002802a8bfd38000118080808000000b02402001417c6a280200450d00200128020041002802a8bfd38000118080808000000b200141f0006a2101200c200841026a2208470d000b0b200e450d00200d200841386c6a2201280228450d00200141286a28020441002802a8bfd38000118080808000000b0240200b280200450d00200b28020441002802a8bfd38000118080808000000b0240200b28020c450d00200b28021041002802a8bfd38000118080808000000b200a41016a220a2009470d000b0b20002005360204200020043602002000200720056b41246e360208200341106a2480808080000bfc0201027f2380808080004180016b2205248080808000200541206a2003200441e8c3cb8000410210a081808000200520023602782005200136027420054101360270200541013b0168200520043602644100210320054100360260200541146a200541206a41d8c3cb800010ae91808000024002400240200528021c22010d00200541106a21040c010b2005280218220620014103746a210241002103200621040240024003402004280200200441046a28020010bc91808000450d01200341016a2103200441086a22042002470d000b20052802142204418080808078470d010c030b200541013602102005410c6a21040c010b20002001360208200020063602042000200436020020054180016a2480808080000f0b2004200336020002402005280214450d00200528021841002802a8bfd38000118080808000000b200528020c2101200528021021060b200520013602242005200636022041fcc3cb80004132200541206a41ecc3cb80004190c5cb800010a481808000000b8d0301017f2380808080004180016b2207248080808000200741186a41086a2003200441e8c3cb8000410210a081808000200720023602782007200136027420074101360270200741013b01682007200436026441002103200741003602602007200636021c200720053602182007410c6a200741186a41d8c3cb800010b091808000024002400240200728021422010d00200741086a21040c010b2007280210220620014103746a210241002103200621040240024003402004280200200441046a28020010bc91808000450d01200341016a2103200441086a22042002470d000b200728020c2204418080808078470d010c030b20074101360208200741046a21040c010b20002001360208200020063602042000200436020020074180016a2480808080000f0b200420033602000240200728020c450d00200728021041002802a8bfd38000118080808000000b20072802042101200728020821060b2007200136021c2007200636021841fcc3cb80004132200741186a41ecc3cb800041a0c5cb800010a481808000000b9d0201027f23808080800041106b22022480808080000240024020002802000d00200128021c41f0c5cb8000410f200128022028020c1181808080000021010c010b2002200041046a360204200128021c4190c6cb80004111200128022028020c118180808000002100200241003a000d200220003a000c20022001360208200241086a41a1c6cb80004107200241046a4180c6cb8000109d818080001a20022d000d220020022d000c220372210120004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710ba10e07017f017e027f017e0a7f017e027f23808080800041c0016b220224808080800020012903082103200128020c21042001280208210520012903002106200128020421072001280200210820002802082109024002400240200028020c220a0d004100210a0c010b2000280210210b0340200a41b0016a210c200a2f01e201220d410474210e417f210f200a21100240024003400240200e0d00200d210f0c020b20102903002111201041086a2112200e41706a210e200f41016a210f200c41046a210c201041106a2110417f201120065220112006561b2213417f2012290300221120035220112003561b20131b22124101460d000b201241ff0171450d010b200b450d02200b417f6a210b200a200f4102746a41e8016a280200210a0c010b0b200c28020021090c010b20022000410c6a22103602542002200f3602502002410036024c2002200a36024820022004360244200220053602402002200736023c200220083602380240024002400240200a0d0041002d00b8bfd380001a41e80141002802b0bfd3800011828080800000220e450d02200041003602102000200e36020c200e41003602b001200e41013b01e201200e20093602b401200e2002290340370308200e20022903383703000c010b200241a8016a41086a200241c8006a221041086a280200360200200220102902003703a8012002419c016a200241a8016a200229033820022903402009200241d4006a200241d8006a10a691808000200228025421100b2010201028020841016a36020802400240200028020822102000280200470d002000419cc8cb800010b991808000200028020420104104746a220e2003370308200e20063703000c010b200028020420104104746a220e2003370308200e20063703000b2000201041016a360208200241386a2001280210118080808000002002200228027836020c20022002290370370204410421012002280280012104200228027c210502400240200228028401220d0d00410021070c010b4100210f41002d00b8bfd380001a200d410474221041002802b0bfd38000118280808000002201450d022004200d4105746a210b200d41057441606a41057641016a21072004211003402010280204210c20102802002112024002402010280218220e0d00410021130c010b201028021c2113200241a8016a41086a201041106a290300370300200220133602bc012002200e3602b801200220102903083703a8012000200241a8016a10c991808000210a410121130b2001200f6a220e2013360200200e410c6a200c360200200e41086a2012360200200e41046a200a360200200f41106a210f201041206a2210200b470d000b0b02402005450d00200441002802a8bfd38000118080808000000b20022007360218200220013602142002200d360210200241286a200241386a200010cd918080002002200228029001360224200220022903880137021c200241386a200041186a2009200241046a10b49180800020022802382210418080808078460d0202402010450d00200228023c41002802a8bfd38000118080808000000b02402002280244450d00200228024841002802a8bfd38000118080808000000b0240024002400240024020022d005c0e050001040402040b20022802642113024020022802682210450d002010410171210c4100210e024020104101460d002010417e71210f201321104100210e034002402010280200450d00201041046a28020041002802a8bfd38000118080808000000b0240201041206a280200450d00201041246a28020041002802a8bfd38000118080808000000b201041c0006a2110200f200e41026a220e470d000b0b200c450d002013200e4105746a2210280200450d00201028020441002802a8bfd38000118080808000000b20022802600d020c030b20022802642113024020022802682201450d0041002112034002402013201241246c6a220c2802082210450d00200c280204210a201041017121004100210e024020104101460d002010417e71210f4100210e200a2110034002402010280200450d00201041046a28020041002802a8bfd38000118080808000000b0240201041206a280200450d00201041246a28020041002802a8bfd38000118080808000000b201041c0006a2110200f200e41026a220e470d000b0b2000450d00200a200e4105746a2210280200450d00201028020441002802a8bfd38000118080808000000b0240200c280200450d00200c28020441002802a8bfd38000118080808000000b0240200c28020c450d00200c28021041002802a8bfd38000118080808000000b201241016a22122001470d000b0b20022802600d010c020b2002280260450d01200228026421130b201341002802a8bfd38000118080808000000b2002280250450d02200228025441002802a8bfd38000118080808000000c020b410841e80110b980808000000b4104201010b980808000000b200241c0016a24808080800020090bb10201037f2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000b140020002802002000280204200110eb808080000b3700200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004185043b01000bb60803097f017e057f23808080800041f0006b22032480808080000240024002400240024002400240024002400240024020012d000022040e080001020304050607000b200128020821052001280204210602400240200128020c22070d0041002108410421090c010b4100210a41002d00b8bfd380001a2007410574220141002802b0bfd38000118280808000002209450d09200741386c210b200741037441786a41037641016a2108200521010340200341386a41186a200141186a290300220c370300200341386a41306a220d200141306a290300370300200341386a41286a220e200141286a290300370300200341386a41206a220f200141206a290300370300200341386a41106a200141106a290300370300200341386a41086a200141086a29030037030020032001290300370338200328025421102009200a6a221141146a2002200341386a10c991808000360200201141106a20103602002011410c6a200c3e0200201141186a200f290300370200201141086a200d2802003602002011200e290300370200200a41206a210a200141386a2101200b41486a220b0d000b0b02402006450d00200541002802a8bfd38000118080808000000b2000200836020c20002009360208200020073602040c070b200320023602482003200128020436024020032001280208221136023c2003201136023820032011200128020c41246c6a360244200041046a200341386a41dcbbcb800010c5918080000c060b20002002200141086a10c9918080003602040c050b2001280220211120002002200141086a10c991808000360208200020113602040c040b2001280208210e2001280204210f02400240200128020c220b0d00410021104104210d0c010b41002d00b8bfd380001a200b410274220141002802b0bfd3800011828080800000220d450d06200b41186c210a200b41037441786a41037641016a2110200d2111200e21010340200341386a41106a200141106a290300370300200341386a41086a200141086a2903003703002003200129030037033820112002200341386a10c991808000360200201141046a2111200141186a2101200a41686a220a0d000b0b0240200f450d00200e41002802a8bfd38000118080808000000b2000201036020c2000200d3602082000200b3602040c030b200020012d00013a00010c020b20002002200141086a10c9918080003602040c010b200341086a41286a200141306a290300370300200341086a41206a200141286a290300370300200341086a41186a2211200141206a290300370300200341086a41106a200141186a290300370300200341086a41086a200141106a290300370300200320012903083703082002200141086a10c991808000210120002002201110c991808000360208200020013602040b200020043a0000200341f0006a2480808080000f0b4104200110b980808000000b4104200110b980808000000bb40203067f027e027f23808080800041c0006b2206248080808000024020012802042207200128020c2208460d002004280200210903402001200741246a220a360204200728020c210b2007290218210c2007290210210d20072d0020210e2007280200210f20072802042104200728020821072006200936023c20062004200741386c6a3602382006200f360234200620043602302006200436022c200641086a2006412c6a41a8c7cb800010ab91808000200641086a41206a2207200e3a000020032006290208370200200341106a200d370200200341186a200c3702002006200b360214200341086a200641086a41086a290200370200200341206a2007280200360200200341246a2103200a2107200a2008470d000b0b2000200336020420002002360200200641c0006a2480808080000ba70102027f037e024020012802042206200128020c2207460d00034020062903102108200629030821092006290300210a2001200641186a220636020402400240200a42d5a981be8fd2c3ae26520d00200942c8efbb97c8e7e5ff49520d00200621060c010b20032008370310200320093703082003200a370300200341186a210320012802042106200128020c21070b20062007470d000b0b20002003360204200020023602000bb11509027f067e017f017e027f017e017f017e047f23808080800041f0036b22032480808080000240024020020d0020034190016a41acc8cb8000411010de9080800020034190016a41bcc8cb800041042001412010df90808000200341f0026a41386a4200370300200341f0026a41306a4200370300200341f0026a41286a4200370300200341f0026a41206a4200370300200341f0026a41186a4200370300200341f0026a41106a4200370300200341f0026a41086a4200370300200342003703f00220034190016a41c0c8cb80004102200341f0026a41c00010e090808000200341106a200341f0026a10b28f8080002000200341106a10ae8f808000200341106a41186a22014200370300200341106a41106a22024200370300200341106a41086a220442003703002003420037031020034190016a41c2c8cb80004102200341106a412010e090808000200041386a2001290300370000200041306a2002290300370000200041286a20042903003700002000200329031037002041002101034020034190016a20016a220041003a0000200041016a41003a0000200041026a41003a0000200041036a41003a0000200041046a41003a0000200141056a220141c801470d000c020b0b200341106a410041e00010eb968080001a200341f0006a41186a2202200141186a290000370300200341f0006a41106a2204200141106a2900003703002003200141086a29000037037820032001290000370370200341d8016a22014200370300200341c8016a4100290388c9cb8000370300200341c0016a4100290380c9cb8000370300200341b8016a41002903f8c8cb800037030020034190016a41206a41002903f0c8cb800037030020034190016a41186a41002903e8c8cb800037030020034190016a41106a41002903e0c8cb8000370300200342003703d001200341002903d8c8cb800037039801200341002903d0c8cb800037039001200341e8016a200329037837030020034190016a41e0006a2004290300370300200341f8016a2002290300370300200320032903703703e00120034190016a41f0006a200341106a41e00010e99680800022024180013a0000200341e8026a200341086a290000370000200341203a00e002200320032900013700e10220032903d0012205423688220642388620012903002207420a86220820068422064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200742028642808080f80f832007420e88428080fc0783842007421e884280fe0383200842388884848421062005420a8622084280028422074280fa03834228862007428080fc0783421886200742808080f80f834208868484200542028642808080f80f832005420e88428080fc0783842005421e884280fe038320084238888484842105200341e0016a210102400240024041000d00200241016a4100412041ff007310eb968080001a412041f00073410f4b0d010b20034190016a20014101108c92808000200341f0026a410041f00010eb968080001a200320053700e803200320063700e00320034190016a200341f0026a4101108c928080000c010b200320063703d002200320053703d80220034190016a20014101108c928080000b200020032903c801220542388620054280fe0383422886842005428080fc0783421886200542808080f80f834208868484200542088842808080f80f832005421888428080fc07838420054228884280fe03832005423888848484370038200020032903c001220542388620054280fe0383422886842005428080fc0783421886200542808080f80f834208868484200542088842808080f80f832005421888428080fc07838420054228884280fe03832005423888848484370030200020032903b801220542388620054280fe0383422886842005428080fc0783421886200542808080f80f834208868484200542088842808080f80f832005421888428080fc07838420054228884280fe03832005423888848484370028200020032903b001220542388620054280fe0383422886842005428080fc0783421886200542808080f80f834208868484200542088842808080f80f832005421888428080fc07838420054228884280fe038320054238888484843700202003290390012105200329039801210720032903a0012106200020032903a8012208a74103764107714108723a001f2000200842088842808080f80f832008421888428080fc07838420084228884280fe0383200842388884842209a72201410574200642ff0183a72202410376723a00172000200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484220aa72204410574200742ff0183a7220b410376723a000f2000200742088842808080f80f832007421888428080fc07838420074228884280fe038320074238888484220ca7220d410574200542ff0183a7220e410376723a00072000200842ff0183a7410574200842388620084280fe038342288684220f423088a72210410376411f71723a001e2000200f2008428080fc0783421886200842808080f80f83221142088684842208422888a722124105742011421b88a7723a001c20002002410574200642388620064280fe038342288684220f423088a72202410376411f71723a00162000200f2006428080fc0783421886200642808080f80f83221142088684842206422888a722134105742011421b88a7723a00142000200b410574200742388620074280fe038342288684220f423088a7220b410376411f71723a000e2000200f2007428080fc0783421886200742808080f80f83221142088684842207422888a722144105742011421b88a7723a000c2000200e410574200542388620054280fe038342288684220f423088a7220e410376411f71723a00062000200f2005428080fc0783421886200542808080f80f8322114208868484220f422888a722154105742011421b88a7723a0004200020104105742012410376411f71723a001d200020082009842209420888a722104105742001410376411f71723a0018200020024105742013410376411f71723a001520002006200a84220a420888a722014105742004410376411f71723a00102000200b4105742014410376411f71723a000d20002007200c84220c420888a72202410574200d410376411f71723a00082000200e4105742015410376411f71723a00052000200f200542088842808080f80f832005421888428080fc07838420054228884280fe0383200542388822118484842205420888a722044105742011a7410376723a000020002008422088a74105742009421888a7220b410376411f71723a001b2000200b4105742009421088a7220b410376411f71723a001a2000200b4105742010410376411f71723a001920002006422088a7410574200a421888a7220b410376411f71723a00132000200b410574200a421088a7220b410376411f71723a00122000200b4105742001410376411f71723a001120002007422088a7410574200c421888a72201410376411f71723a000b20002001410574200c421088a72201410376411f71723a000a200020014105742002410376411f71723a00092000200f422088a74105742005421888a72201410376411f71723a0003200020014105742005421088a72201410376411f71723a0002200020014105742004410376411f71723a00010b200341f0036a2480808080000bc20300200041003a0000200041003a0001200041003a0002200041003a0003200041003a0004200041003a0005200041003a0006200041003a0007200041003a0008200041003a0009200041003a000a200041003a000b200041003a000c200041003a000d200041003a000e200041003a000f200041003a0010200041003a0011200041003a0012200041003a0013200041003a0014200041003a0015200041003a0016200041003a0017200041003a0018200041003a0019200041003a001a200041003a001b200041003a001c200041003a001d200041003a001e200041003a001f200041003a0020200041003a0021200041003a0022200041003a0023200041003a0024200041003a0025200041003a0026200041003a0027200041003a0028200041003a0029200041003a002a200041003a002b200041003a002c200041003a002d200041003a002e200041003a002f200041003a0030200041003a0031200041003a0032200041003a0033200041003a0034200041003a0035200041003a0036200041003a0037200041003a0038200041003a0039200041003a003a200041003a003b200041003a003c200041003a003d200041003a003e200041003a003f0bcc0101017f23808080800041a0016b2202248080808000200241b4acc68000200110b78f808000200041c0006a200210b88f808000200041e0006a200241a00110e9968080001a200041386a200141386a290000370000200041306a200141306a290000370000200041286a200141286a290000370000200041206a200141206a290000370000200041186a200141186a290000370000200041106a200141106a290000370000200041086a200141086a29000037000020002001290000370000200241a0016a2480808080000bc20300200041003a0000200041003a0001200041003a0002200041003a0003200041003a0004200041003a0005200041003a0006200041003a0007200041003a0008200041003a0009200041003a000a200041003a000b200041003a000c200041003a000d200041003a000e200041003a000f200041003a0010200041003a0011200041003a0012200041003a0013200041003a0014200041003a0015200041003a0016200041003a0017200041003a0018200041003a0019200041003a001a200041003a001b200041003a001c200041003a001d200041003a001e200041003a001f200041003a0020200041003a0021200041003a0022200041003a0023200041003a0024200041003a0025200041003a0026200041003a0027200041003a0028200041003a0029200041003a002a200041003a002b200041003a002c200041003a002d200041003a002e200041003a002f200041003a0030200041003a0031200041003a0032200041003a0033200041003a0034200041003a0035200041003a0036200041003a0037200041003a0038200041003a0039200041003a003a200041003a003b200041003a003c200041003a003d200041003a003e200041003a003f0b12002000200120022003200410df908080000b12002000200120022003200410e0908080000bb80301037f23808080800041e0006b220224808080800020012c001f417f4a10c7968080002103200241206a41186a200141186a290000370300200241206a41106a200141106a290000370300200241206a41086a200141086a29000037030020022001290000370320200241c0006a200241206a10b48f80800041002101410121040340200241206a20016a2d0000200241c0006a20016a2d00004610c7968080002004712104200141016a22014120470d000b200410c79680800020037110c7968080002101200241186a200241206a41186a290300370300200241106a200241206a41106a290300370300200241086a200241206a41086a290300370300200220022903203703000240024002402001417f7341017110c79680800041ff01710d00200220013a0020200141ff01714101470d0120002002290300370001200041013a0000200041196a200241186a290300370000200041116a200241106a290300370000200041096a200241086a2903003700000c020b200041003a00000c010b200241003602404100200241206a4190c9cb8000200241c0006a41ecc9cb800010dc90808000000b200241e0006a2480808080000b140020002802002000280204200110eb808080000b1900200120002802002200280200200028020410e5808080000b140020012000280200200028020410e5808080000b1200200041fccacb8000200110e2808080000ba30802017f017c23808080800041306b2202248080808000024002400240024002400240024002400240024002400240024002400240024002400240024020002d00000e12000102030405060708090a0b0c0d0e0f1011000b200220002d00013a000820024102360214200241b0cbcb80003602102002420137021c200241b384808000ad422086200241086aad843703282002200241286a360218200128021c2001280220200241106a10e28080800021010c110b2002200029030837030820024102360214200241cccbcb80003602102002420137021c200241cb82808000ad422086200241086aad843703282002200241286a360218200128021c2001280220200241106a10e28080800021010c100b2002200029030837030820024102360214200241cccbcb80003602102002420137021c200241b484808000ad422086200241086aad843703282002200241286a360218200128021c2001280220200241106a10e28080800021010c0f0b20002b0308210320024102360214200241eccbcb80003602102002420137021c200241b584808000ad422086200241286aad84370308200220033903282002200241086a360218200128021c2001280220200241106a10e28080800021010c0e0b200220002802043602082002410236021420024188cccb80003602102002420137021c200241a080808000ad422086200241086aad843703282002200241286a360218200128021c2001280220200241106a10e28080800021010c0d0b2002200029020437020820024101360214200241a0cccb80003602102002420137021c200241b684808000ad422086200241086aad843703282002200241286a360218200128021c2001280220200241106a10e28080800021010c0c0b200128021c419ccbcb8000410a200128022028020c1181808080000021010c0b0b200128021c41a8cccb8000410a200128022028020c1181808080000021010c0a0b200128021c41b2cccb8000410c200128022028020c1181808080000021010c090b200128021c41becccb8000410e200128022028020c1181808080000021010c080b200128021c41cccccb80004108200128022028020c1181808080000021010c070b200128021c41d4cccb80004103200128022028020c1181808080000021010c060b200128021c41d7cccb80004104200128022028020c1181808080000021010c050b200128021c41dbcccb8000410c200128022028020c1181808080000021010c040b200128021c41e7cccb8000410f200128022028020c1181808080000021010c030b200128021c41f6cccb8000410d200128022028020c1181808080000021010c020b200128021c4183cdcb8000410e200128022028020c1181808080000021010c010b200128021c20002802042000280208200128022028020c1181808080000021010b200241306a24808080800020010ba20201027f23808080800041306b220224808080800002400240200029030042ffffffffffffffffff00834280808080808080f8ff00530d0020024101360214200241c8cecb80003602102002420137021c200241b784808000ad4220862000ad843703282002200241286a360218200128021c2001280220200241106a10e28080800021030c010b200241003a000c200220013602084101210320024101360214200241c8cecb80003602102002420137021c200241b784808000ad4220862000ad843703282002200241286a360218200241086a41fccacb8000200241106a10e2808080000d00024020022d000c0d00200128021c41d0cecb80004102200128022028020c118180808000000d010b410021030b200241306a24808080800020030b2000200128021c20002802002000280204200128022028020c118180808000000b860402067f017e23808080800041306b2202248080808000024002400240024002400240200028020422030e03030102000b41012104200128021c220541bccecb800041072001280220220628020c2207118180808000000d042002200028020022013602142002410236021c2002418ccecb800036021820024201370224200241b884808000ad422086200241146aad8422083703002002200236022020052006200241186a10e2808080000d03200341037441786a2100200141086a2101034020022001360214200541c3cecb800041022007118180808000000d042002410236021c2002418ccecb800036021820024201370224200220083703002002200236022020052006200241186a10e2808080000d04200141086a210141002104200041786a22000d000c050b0b2002410236021c2002418ccecb800036021820024201370224200241b984808000ad42208620003502008437030020022002360220200128021c2001280220200241186a10e28080800021040c030b2002410336021c200241a4cecb800036021820024202370224200241b984808000ad422086220820002802002200ad8437030020022008200041086aad8437030820022002360220200128021c2001280220200241186a10e28080800021040c020b4191cdcb8000410e41fccdcb800010f480808000000b410121040b200241306a24808080800020040bc60301047f024002400240024002400240200241074b0d0020020d01410021030c050b200141036a417c7122042001460d01200420016b2105200120046b21064101210320012104034020042d0000412e460d05200441016a2104200641016a22060d000b2005200241786a22034b0d030c020b20012d0000412e4622030d0320024101460d0320012d0001412e4622030d0320024102460d0320012d0002412e4622030d0320024103460d0320012d0003412e4622030d0320024104460d0320012d0004412e4622030d0320024105460d0320012d0005412e4622030d0320024106460d0320012d0006412e4621030c030b200241786a2103410021050b03404180828408200120056a2204280200220641aedcb8f102736b2006724180828408200441046a280200220441aedcb8f102736b2004727141808182847871418081828478470d01200541086a220520034d0d000b0b024020052002470d00410021030c010b200120056a21042005417f7320026a210603402006210520042d0000412e4622030d01200441016a21042005417f6a210620050d000b0b2000200320002d0004723a00042000280200220428021c20012002200428022028020c118180808000000b2d0020002001412e4620002d0004723a00042000280200220028021c20012000280220280210118480808000000bcb0804037f027e017f017e23808080800041306b22022480808080000240024002400240024002400240024020012802000e0400010203000b41002103024020012b0308200241086a10a39180800022044100480d00024020040d00410121030c070b41002d00b8bfd380001a200441002802b0bfd380001182808080000022030d06410121030b20032004418cd1cb800010ae80808000000b411421040240200129030822054290ce005a0d00200521060c040b411421040340200241086a20046a2201417c6a200520054290ce008022064290ce007e7da7220341ffff037141e4006e220741017441d5cecb80006a2f00003b00002001417e6a2003200741e4006c6b41ffff037141017441d5cecb80006a2f00003b00002004417c6a2104200542ffc1d72f5621012006210520010d000c040b0b411421040240200129030822082008423f8722058520057d22054290ce005a0d00200521060c020b411421040340200241086a20046a2201417c6a200520054290ce008022064290ce007e7da7220341ffff037141e4006e220741017441d5cecb80006a2f00003b00002001417e6a2003200741e4006c6b41ffff037141017441d5cecb80006a2f00003b00002004417c6a2104200542ffc1d72f5621012006210520010d000c020b0b200128020c210720012802082103200128020421040c030b02400240200642e300560d002006a721030c010b200241086a2004417e6a22046a2006a72201200141ffff037141e4006e220341e4006c6b41ffff037141017441d5cecb80006a2f00003b00000b024002402003410a490d00200241086a2004417e6a22016a200341017441d5cecb80006a2f00003b00000c010b200241086a2004417f6a22016a20034130723a00000b02402008427f550d00200241086a2001417f6a22016a412d3a00000b4100210302400240411420016b22044100480d004101210320014114460d0141002d00b8bfd380001a200441002802b0bfd380001182808080000022030d01410121030b20032004418cd1cb800010ae80808000000b2003200241086a20016a200410e9968080001a200421070c020b02400240200642e300560d002006a721030c010b200241086a2004417e6a22046a2006a72201200141ffff037141e4006e220341e4006c6b41ffff037141017441d5cecb80006a2f00003b00000b024002402003410a490d00200241086a2004417e6a22016a200341017441d5cecb80006a2f00003b00000c010b200241086a2004417f6a22016a20034130723a00000b4100210302400240411420016b22044100480d004101210320014114460d0141002d00b8bfd380001a200441002802b0bfd380001182808080000022030d01410121030b20032004418cd1cb800010ae80808000000b2003200241086a20016a200410e9968080001a200421070c010b2003200241086a200410e9968080001a200421070b200020073602082000200336020420002004360200200241306a2480808080000bcc0303027f017e037f23808080800041306b2202248080808000411421030240024020014290ce005a0d00200121040c010b411421030340200241086a20036a2205417c6a200120014290ce008022044290ce007e7da7220641ffff037141e4006e220741017441d5cecb80006a2f00003b00002005417e6a2006200741e4006c6b41ffff037141017441d5cecb80006a2f00003b00002003417c6a2103200142ffc1d72f5621052004210120050d000b0b02400240200442e300560d002004a721060c010b200241086a2003417e6a22036a2004a72205200541ffff037141e4006e220641e4006c6b41ffff037141017441d5cecb80006a2f00003b00000b024002402006410a490d00200241086a2003417e6a22056a200641017441d5cecb80006a2f00003b00000c010b200241086a2003417f6a22056a20064130723a00000b4100210602400240411420056b22034100480d004101210620054114460d0141002d00b8bfd380001a200341002802b0bfd380001182808080000022060d01410121060b20062003418cd1cb800010ae80808000000b2006200241086a20056a200310e9968080002105200020033602082000200536020420002003360200200241306a2480808080000bea0904017f027e047f017e2380808080004190016b220324808080800002400240200242808020540d00200341386a2001420042f3b2d8c19e9ebdcc957f420010f196808000200341286a2001420042d2e1aadaeda7c987f600420010f196808000200341d8006a2002420042f3b2d8c19e9ebdcc957f420010f196808000200341c8006a2002420042d2e1aadaeda7c987f600420010f196808000200341c8006a41086a290300200341286a41086a290300200341386a41086a290300220420032903287c2202200454ad7c220520032903487c2204200554ad7c2004200341d8006a41086a290300200220032903587c200254ad7c7c2202200454ad7c2204423e8821052002423e8820044202868421040c010b20014213882002422d868442bda282a38eab04802104420021050b200341186a20042002428080e0b0b79fb79cf500420010f1968080004114210602400240200329031820017c22024290ce005a0d00200221010c010b411421060340200341e8006a20066a2207410f6a200220024290ce008022014290ce007e7da7220841ffff037141e4006e220941017441d5cecb80006a2f00003b0000200741116a2008200941e4006c6b41ffff037141017441d5cecb80006a2f00003b00002006417c6a2106200242ffc1d72f5621072001210220070d000b0b200341fb006a210802400240200142e300560d002001a721070c010b20082006417e6a22066a2001a72207200741ffff037141e4006e220741e4006c6b41ffff037141017441d5cecb80006a2f00003b00000b024002402007410a490d0020082006417e6a22096a200741017441d5cecb80006a2f00003b00000c010b20082006417f6a22096a20074130723a00000b0240024002400240024002400240200420058450450d00200941136a21070c010b41142106200341e8006a41146a41302009417f6a10eb968080001a200341086a20044213882005422d8684220542bda282a38eab0480220a2002428080e0b0b79fb79cf500420010f19680800002400240200329030820047c22024290ce005a0d00200221010c010b411421060340200341e8006a20066a2207417c6a200220024290ce008022014290ce007e7da7220841ffff037141e4006e220941017441d5cecb80006a2f00003b00002007417e6a2008200941e4006c6b41ffff037141017441d5cecb80006a2f00003b00002006417c6a2106200242ffc1d72f5621072001210220070d000b0b02400240200142e300560d002001a721080c010b200341e8006a2006417e6a22066a2001a72207200741ffff037141e4006e220841e4006c6b41ffff037141017441d5cecb80006a2f00003b00000b024002402008410a490d00200341e8006a2006417e6a22076a200841017441d5cecb80006a2f00003b00000c010b200341e8006a2006417f6a22076a20084130723a00000b200542bca282a38eab04560d010b4127210841002109412720076b22064100480d0220074127470d0141012109410021060c040b200341e9006a41302007417f6a10eb968080001a2003200aa74130723a006841272106410021070b41002d00b8bfd380001a200641002802b0bfd380001182808080000022090d01410121090b20092006418cd1cb800010ae80808000000b200721080b2009200341e8006a20086a200610e996808000210720002006360208200020073602042000200636020020034190016a2480808080000bf40103017f017c017e23808080800041106b22032480808080000240024002400240024020002802000e0400010203000b20002b03082104200341033a00002003200439030820032001200210ff9180800021020c030b20002903082105200341013a00002003200537030820032001200210ff9180800021020c020b20002903082105200341023a00002003200537030820032001200210ff9180800021020c010b200341063602082003419cd2cb8000360204200341113a000020032001200210ff9180800021022000280204450d00200028020841002802a8bfd38000118080808000000b200341106a24808080800020020ba00101037f23808080800041106b2202248080808000200241086a200028020c2000280210200028021410829280800041002d00b8bfd380001a200228020c2103200228020821040240411441002802b0bfd380001182808080000022000d004104411410b980808000000b2000200436020c2000200129020037020020002003360210200041086a200141086a280200360200200241106a24808080800020000bea0601057f23808080800041c0006b22022480808080000240024002400240024002400240024020012802142203200128021022044f0d00200128020c220520036a2d00002206412d470d012001200341016a360214200241206a2001410010e7918080000c050b200241186a200128020c2004200341016a2201200420012004491b10829280800041002d00b8bfd380001a200228021c210420022802182103411441002802b0bfd38000118280808000002201450d012001200336020c200141053602002000200136020420004104360200200120043602100c050b200641506a41ff0171410a490d02200241106a20052004200341016a2203200420032004491b10829280800041002d00b8bfd380001a2002280214210320022802102106411441002802b0bfd38000118280808000002204450d012004200636020c2004410d3602002004200336021020022004360224200241043602200c030b4104411410b980808000000b4104411410b980808000000b200241206a2001410110e7918080000b024002402001280214220320012802102204490d0020022802242104200228022022034104460d012000200229032837030820002004360204200020033602000c020b200241086a200128020c2004200341016a2203200420032004491b10829280800041002d00b8bfd380001a200228020c210620022802082103411441002802b0bfd38000118280808000002204450d022004200336020c2004410d36020020042006360210024002402003450d00200421010c010b200241306a41086a200441086a280200360200200220042902003703302001200241306a10e5918080002101200441002802a8bfd38000118080808000000b20004104360200200020013602040240024002402002280220417d6a0e020001040b2002280224450d03200228022821010c010b200228022422012802000d002001280208450d00200128020441002802a8bfd38000118080808000000b200141002802a8bfd38000118080808000000c010b02400240200428020c450d00200421010c010b200241306a41086a200441086a280200360200200220042902003703302001200241306a10e5918080002101200441002802a8bfd38000118080808000000b20004104360200200020013602040b200241c0006a2480808080000f0b4104411410b980808000000bed0702027f027e23808080800041c0006b220324808080800041002d00b8bfd380001a024002400240024002400240024002400240411041002802b0bfd38000118280808000002204450d002003410036023c200320043602382003411036023402400240024002400240024020020d002004412d3a00002003410136023c2001200341346a10e89180800022040d0120032802382104200328023c22020e020b02030b2001200341346a10e8918080002204450d040b20004104360200200020043602040c0b0b20042d0000220141556a0e03080108010b20042d000021010b0240024002400240200141ff017141556a0e03000201020b2002417f6a2101200441016a210420024111490d02200121020c080b2002417f6a2101200441016a2104024020024111490d004200210503402001450d0b200341206a20052005423f87420a420010f19680800020042d000041506a220241094b0d0a200329032820032903202206423f87520d0a200441016a21042001417f6a21012002ad2205420055200620057d220520065373450d000c0a0b0b420021052001450d09034020042d000041506a220241094b0d09200441016a21042005420a7e2002ad7d21052001417f6a22010d000c0a0b0b2002410f4b0d060c050b2001210220010d04420021050c070b20032802382104024002400240200328023c22010e020800010b4101210220042d000041556a0e03070107010b024020042d0000412b470d002001417f6a2102200441016a210420014112490d010c030b20012102200141114f0d020b42002105034020042d000041506a220141094b0d06200441016a21042005420a7e2001ad7c21052002417f6a22020d000c030b0b4101411041a4d2cb800010ae80808000000b4200210503402002450d01200320054200420a420010f19680800020042d000041506a220141094b0d0420032903084200520d04200441016a21042002417f6a2102200329030022062001ad7c22052006540d040c000b0b20002005370308200041013602000c040b42002105034020042d000041506a220141094b0d02200441016a21042005420a7e2001ad7c21052002417f6a2202450d030c000b0b4200210503402002450d02200341106a20052005423f87420a420010f19680800020042d000041506a220141094b0d01200329031820032903102206423f87520d01200441016a21042002417f6a21022001ad2205420053200620057c220520065373450d000b0b20002003290234370204200041033602002000410c6a2003413c6a2802003602000c020b20002005370308200041023602000b2003280234450d00200328023841002802a8bfd38000118080808000000b200341c0006a2480808080000b910401067f23808080800041206b2202248080808000200241186a2000200110e991808000024002400240024020022d00180d0002400240024020022d001922034130470d00024020002802142203200028021022044f0d00200028020c220520036a2d000041506a41ff0171410a490d020b2000200110ea9180800021010c060b2003414f6a41ff017141084b0d01024020002802142203200028021022064f0d00200028020c21070340200720036a2d0000220541506a41ff017141094b0d012000200341016a22033602140240200128020822042001280200470d002001418cd2cb800010ad808080000b200128020420046a20053a00002001200441016a36020820062003470d000b0b2000200110ea9180800021010c050b200241086a20052004200341016a2201200420012004491b10829280800041002d00b8bfd380001a200228020c210320022802082104411441002802b0bfd38000118280808000002201450d022001200436020c2001410d360200200120033602100c040b200241106a200028020c2000280210200028021410829280800041002d00b8bfd380001a2002280214210320022802102104411441002802b0bfd38000118280808000002201450d022001200436020c2001410d360200200120033602100c030b200228021c21010c020b4104411410b980808000000b4104411410b980808000000b200241206a24808080800020010bfb0201047f23808080800041106b22032480808080000240024002402001280214220420012802102205490d00200341086a200128020c2005200410829280800041002d00b8bfd380001a200328020c210220032802082104411441002802b0bfd38000118280808000002201450d022001200436020c200141053602002000200136020420012002360210410121010c010b2001200441016a36021402400240200128020c20046a2c00002201417f4a0d00200141bf01712105200141c00171410676414072210602402002280200200228020822046b41014b0d002002200441024101410110ef91808000200228020821040b200228020420046a2005410874200641ff0171723b00002002200441026a3602080c010b0240200228020822042002280200470d002002418cd2cb800010ad808080000b200228020420046a20013a00002002200441016a3602080b200020013a0001410021010b200020013a0000200341106a2480808080000f0b4104411410b980808000000bfd0401087f23808080800041106b22022480808080004100210302400240024020002802142204200028021022054f0d000240200028020c220620046a2d0000220741e500460d00200741c500460d002007412e470d012000200441016a22083602140240200128020822072001280200470d002001418cd2cb800010ad808080000b200128020420076a412e3a00002001200741016a2209360208024002400240200820054f0d00200441026a2104200620086a2d0000220841506a41ff017141094b0d0120002004360214024020092001280200470d002001418cd2cb800010ad808080000b200128020420096a20083a00002001200741026a2207360208200420054f0d040340200620046a2d0000220841506a41ff017141094b0d032000200441016a2204360214024020072001280200470d002001418cd2cb800010ad808080000b200128020420076a20083a00002001200741016a220736020820052004470d000c050b0b200241086a20062005200441026a2200200520002005491b10829280800041002d00b8bfd380001a200228020c210020022802082101411441002802b0bfd38000118280808000002203450d042003200136020c20034105360200200320003602100c030b2002200620052004200520042005491b10829280800041002d00b8bfd380001a2002280204210020022802002101411441002802b0bfd38000118280808000002203450d042003200136020c2003410d360200200320003602100c020b200841207241e500470d0120002008200110eb9180800021030c010b20002007200110eb9180800021030b200241106a24808080800020030f0b4104411410b980808000000b4104411410b980808000000b860501067f23808080800041106b220324808080800020002000280214220441016a2205360214024002402001418001490d002001413f7141807f7221062001410676411f71414072210702402002280200200228020822016b41014b0d002002200141024101410110ef91808000200228020821010b200228020420016a2006410874200741ff0171723b0000200228020841026a21010c010b0240200228020822062002280200470d002002418cd2cb800010ad808080000b200228020420066a20013a0000200641016a21010b200220013602080240200520002802104f0d000240024002400240200028020c20056a2d0000220541556a0e03000401040b2000200441026a36021420012002280200470d020c010b2000200441026a36021420012002280200470d010b2002418cd2cb800010ad808080000b200228020420016a20053a00002002200141016a3602080b200341086a2000200210e99180800002400240024020032d00080d00024020032d000941506a41ff0171410a490d002003200028020c2000280210200028021410829280800041002d00b8bfd380001a2003280204210220032802002101411441002802b0bfd38000118280808000002208450d022008200136020c2008410d360200200820023602100c030b4100210820002802142201200028021022044f0d02200028020c21070340200720016a2d0000220641506a41ff017141094b0d032000200141016a22013602140240200228020822052002280200470d002002418cd2cb800010ad808080000b200228020420056a20063a00002002200541016a36020820042001470d000c030b0b200328020c21080c010b4104411410b980808000000b200341106a24808080800020080b1200200041e4e7cb8000200110e2808080000b220002402000280200450d00200028020441002802a8bfd38000118080808000000b0bef0201037f23808080800041106b2202248080808000024002402001418001490d002002410036020c024002402001418010490d000240200141808004490d002002410c6a41037221032002200141127641f001723a000c20022001410676413f71418001723a000e20022001410c76413f71418001723a000d410421040c020b2002410c6a410272210320022001410c7641e001723a000c20022001410676413f71418001723a000d410321040c010b2002410c6a41017221032002200141067641c001723a000c410221040b20032001413f71418001723a000002402000280200200028020822016b20044f0d002000200120044101410110ef91808000200028020821010b200028020420016a2002410c6a200410e9968080001a2000200120046a3602080c010b0240200028020822042000280200470d00200041d0e6cb800010ad808080000b200028020420046a20013a00002000200441016a3602080b200241106a24808080800041000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10f19180800020052802084101470d0120052802102102200528020c21060b2006200241d4e7cb800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000b4f01017f02402000280200200028020822036b20024f0d002000200320024101410110ef91808000200028020821030b200028020420036a2001200210e9968080001a2000200320026a36020841000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bf10101077f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b220541ffffffff004d0d0041004100200110ae80808000000b0240024020054104200541044b1b2207410474220641fcffffff074b0d004100210502402004450d00410421052002200441047436021c200220002802043602140b20022005360218200241086a41042006200241146a10f19180800020022802084101470d0120022802102108200228020c21030b20032008200110ae80808000000b200228020c21042000200736020020002004360204200241206a2480808080000b170041fce7cb800041284188e9cb800010f480808000000b220002402000280200450d00200028020441002802a8bfd38000118080808000000b0ba20403077f017e067f02402001280218220720056b220820034f0d00200128020c22092005200920054b1b210a2004417f6a210b2001280220210c2001280210210d2001290300210e0340024002400240200e200220086a220f3100008842018350450d002001200836021820052110200821072006450d010c020b0240024002400240024002402009200c2009200c2009491b20061b2210417f6a221120054f0d00200b20106a2112410020106b2111201020086a417f6a211003402011450d02201020034f0d03201141016a2111200220106a211320122d000021142010417f6a21102012417f6a2112201420132d0000460d000b200720096b20116b21072005211020060d070c060b20100d020b2005200c20061b22102009201020094b1b2113200921100340024020132010470d0020012008360218024020060d00200120053602200b2000200736020820002008360204200041013602000f0b200a2010460d03200820106a20034f0d04200f20106a2111200420106a2112201041016a211020122d000020112d0000460d000b2007200d6b2107200d21102006450d040c050b20102003419ceccb800010f580808000000b20112005418ceccb800010f580808000000b200a200541ecebcb800010f580808000000b2003200820096a2210200320104b1b200341fcebcb800010f580808000000b200120103602202010210c0b200720056b22082003490d000b0b20014100360218200041003602000b1e00200128021c41acedcb80004105200128022028020c118180808000000b140020002802042000280208200110eb808080000bef0201037f23808080800041106b2202248080808000024002402001418001490d002002410036020c024002402001418010490d000240200141808004490d002002410c6a41037221032002200141127641f001723a000c20022001410676413f71418001723a000e20022001410c76413f71418001723a000d410421040c020b2002410c6a410272210320022001410c7641e001723a000c20022001410676413f71418001723a000d410321040c010b2002410c6a41017221032002200141067641c001723a000c410221040b20032001413f71418001723a000002402000280200200028020822016b20044f0d002000200120044101410110ef91808000200028020821010b200028020420016a2002410c6a200410e9968080001a2000200120046a3602080c010b0240200028020822042000280200470d00200041b4edcb800010ad808080000b200028020420046a20013a00002000200441016a3602080b200241106a24808080800041000b4f01017f02402000280200200028020822036b20024f0d002000200320024101410110ef91808000200028020821030b200028020420036a2001200210e9968080001a2000200320026a36020841000bb60600024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020002802000e19000102030405060708090a0b0c0d0e0f101112131415161718000b200128021c20002802042000280208200128022028020c118180808000000f0b200041046a200110f3918080001a000b200128021c4194eecb80004118200128022028020c118180808000000f0b200128021c41aceecb8000411b200128022028020c118180808000000f0b200128021c41c7eecb8000411a200128022028020c118180808000000f0b200128021c41e1eecb80004119200128022028020c118180808000000f0b200128021c41faeecb8000410c200128022028020c118180808000000f0b200128021c4186efcb80004113200128022028020c118180808000000f0b200128021c4199efcb80004113200128022028020c118180808000000f0b200128021c41acefcb8000410e200128022028020c118180808000000f0b200128021c41baefcb8000410e200128022028020c118180808000000f0b200128021c41c8efcb8000410c200128022028020c118180808000000f0b200128021c41d4efcb8000410e200128022028020c118180808000000f0b200128021c41e2efcb8000410e200128022028020c118180808000000f0b200128021c41f0efcb80004113200128022028020c118180808000000f0b200128021c4183f0cb8000411a200128022028020c118180808000000f0b200128021c419df0cb8000413e200128022028020c118180808000000f0b200128021c41dbf0cb80004114200128022028020c118180808000000f0b200128021c41eff0cb80004134200128022028020c118180808000000f0b200128021c41a3f1cb8000412c200128022028020c118180808000000f0b200128021c41cff1cb80004124200128022028020c118180808000000f0b200128021c41f3f1cb8000410e200128022028020c118180808000000f0b200128021c4181f2cb80004113200128022028020c118180808000000f0b200128021c4194f2cb8000411c200128022028020c118180808000000f0b200128021c41b0f2cb80004118200128022028020c118180808000000bb40102017f017e23808080800041306b2202248080808000024002402000280200220028020c0d002000200110fa9180800021000c010b20024103360204200241dcf2cb80003602002002420337020c2002418a80808000ad4220862203200041106aad84370328200220032000410c6aad84370320200241c184808000ad4220862000ad843703182002200241186a360208200128021c2001280220200210e28080800021000b200241306a24808080800020000bd90202017f017e23808080800041f0006b22022480808080002000280200210020024100360248200242808080801037024020024198e9cb800036026c200241033a00642002422037025c200241003602542002410036024c2002200241c0006a36026802402000200241cc006a10fa918080000d00200241306a41086a200241c0006a41086a280200360200200220022902403703302002410436020420024190f3cb80003602002002420337020c2002418a80808000ad4220862203200041106aad84370328200220032000410c6aad84370320200241c284808000ad422086200241306aad843703182002200241186a360208200128021c2001280220200210e280808000210002402002280230450d00200228023441002802a8bfd38000118080808000000b200241f0006a24808080800020000f0b41c0e9cb80004137200241186a41b0e9cb800041e8eacb800010a481808000000b800201037f23808080800041106b2201248080808000200028020c210202400240024002400240024020002802040e020001020b20020d014101210241002100410121030c030b2002450d010b200141046a200010b1808080000c020b4100210302402000280200220228020422004100480d0020022802002102024020000d0041012103410021000c020b41002d00b8bfd380001a200041002802b0bfd380001182808080000022030d01410121030b20032000419cedcb800010ae80808000000b20032002200010e99680800021022001200036020c20012002360208200120003602040b200141046a10fe918080002100200141106a24808080800020000bf80e020c7f017e23808080800041d0006b2201248080808000200141106a200028020422022000280208220341c8f2cb8000410910a08180800002400240024020012802100d0041002104024020012d001e0d0020012d001d21050240024020012802182204450d002001280240210602400240200420012802442207490d0020042007460d010c070b200620046a2c00004140480d060b0240200620046a2208417f6a2c00002209417f4a0d00024002402008417e6a2d0000220a411874411875220b41bf7f4c0d00200a411f7121080c010b024002402008417d6a2d0000220a411874411875220c41bf7f4c0d00200a410f7121080c010b2008417c6a2d0000410771410674200c413f717221080b2008410674200b413f717221080b20084106742009413f717221090b20054101710d010240024020094180014f0d00417f21050c010b024020094180104f0d00417e21050c010b417d417c200941808004491b21050b0240200520046a22040d00410021040c020b0240024020042007490d0020042007470d070c010b200620046a2c000041bf7f4c0d060b200620046a2205417f6a2c0000417f4a0d012005417e6a2c000041bf7f4a1a0c010b410021042005410171450d010b20012004360208410121040b200120043602040c010b200141186a2104200128024c210520012802482106200128024421092001280240210702402001280234417f460d00200141046a20042007200920062005410010f5918080000c010b200141046a20042007200920062005410110f5918080000b024002402001280204450d002001280208220841096a2207210402400240024002400240024002400240034002402004450d00024020042003490d0020032004460d010c0a0b200220046a2c000041bf7f4c0d090b024002400240024020032004470d00200321090c010b200220046a2d000041506a41ff0171410a490d01200421090b02402004450d000240200320094b0d0020032009460d010c0b0b200220096a2c000041bf7f4c0d0a0b41012106200320096b4108490d08200220096a220a29000042a0c6bde3d6ae9bb720520d08200941086a220b2105034002402005450d00024020052003490d0020032005460d010c0a0b200220056a2c000041bf7f4c0d090b024002400240024020032005470d002003210c0c010b200220056a2d000041506a41ff0171410a490d012005210c20052003490d0f0b20092007490d0620070d010c040b200541016a21050c010b0b200220076a2c000041bf7f4a0d010c030b200441016a21040c010b0b02402004450d00200a2c000041bf7f4c0d010b200220076a2104024002400240200920076b22090e020b00010b4101210620042d000041556a0e030b010b010b024020042d0000412b470d002009417f6a2106200441016a21042009410a490d010c030b20092106200941094f0d020b41002109034020042d000041506a220741094b0d04200441016a210420072009410a6c6a21092006417f6a22060d000c030b0b200220032007200941b8f5cb800010f980808000000b4100210903402006450d0120042d000041506a220741094b0d022009ad420a7e220d422088a74100470d02200441016a21042006417f6a21062007200da7220a6a2209200a4f0d000c020b0b024002400240024002400240200c200b490d000240200b450d000240200b2003490d00200b2003470d020c010b2002200b6a2c000041bf7f4c0d010b02402005450d00200c2003470d010b2002200b6a2104200c200b6b22050e020b01020b20022003200b200c41c8f5cb800010f980808000000b4101210620042d000041556a0e030a010a010b024020042d0000412b470d002005417f6a2106200441016a21042005410a490d010c020b20052106200541094f0d010b41002107034020042d000041506a220541094b0d03200441016a210420052007410a6c6a21072006417f6a22060d000c020b0b4100210703402006450d0120042d000041506a220541094b0d022007ad420a7e220d422088a74100470d02200441016a21042006417f6a21062005200da7220a6a2207200a490d020c000b0b4100210620032008490d06024002402008450d00200320084d0d00200220086a2c000041bf7f4c0d010b20002008360208200821030c070b41c4edcb8000413041f4edcb800010f480808000000b410121060c050b200220032005200341a8f5cb800010f980808000000b0c030b20022003200920034198f5cb800010f980808000000b20022003200420034188f5cb800010f980808000000b410121060b0240024002400240200028020020034b0d00200221050c010b0240024020030d00410121050c010b200341002802b0bfd38000118280808000002205450d0220052002200310e9968080001a0b200241002802a8bfd38000118080808000000b41002d00b8bfd380001a411441002802b0bfd380001182808080000022040d014104411410b980808000000b4101200310b980808000000b20042003360208200420053602042004410036020020044100200720061b36021020044100200920061b36020c200141d0006a24808080800020040f0b20062007410020044184eecb800010f980808000000ba80101017f23808080800041c0006b22032480808080002003200236020420032001360200200341306a41086a200041086a2903003703002003410236020c200341ccf3cb800036020820034202370214200341c384808000ad4220862003ad84370328200341c484808000ad422086200341306aad84370320200320002903003703302003200341206a360210200341086a10fd918080002100200341c0006a24808080800020000beb0204017f017c017e027f23808080800041c0006b2202248080808000024002400240024020002d0000417d6a0e050100000002000b200241286a41086a200041086a29030037030020022000290300370328200241286a200110db9180800021000c020b0240024020002b03082203bd220442ffffffffffffffffff008342fffffffffffffff7ff00550d00200241286a21002003200241286a10a39180800021050c010b41fc84cc800041ff84cc80002004427f5522051b418385cc8000200442ffffffffffffff07835022061b21004103410420051b410320061b21050b20022005360224200220003602202002410236020420024190f4cb80003602002002420137020c200241c584808000ad422086200241206aad843703182002200241186a360208200128021c2001280220200210e28080800021000c010b200128021c41a0f4cb80004104200128022028020c1181808080000021000b200241c0006a24808080800020000ba80101017f23808080800041c0006b22032480808080002003200236020420032001360200200341306a41086a200041086a2903003703002003410236020c200341ecf3cb800036020820034202370214200341c384808000ad4220862003ad84370328200341c484808000ad422086200341306aad84370320200320002903003703302003200341206a360210200341086a10fd918080002100200341c0006a24808080800020000bc60401057f0240024002400240200320024b0d004101210441002105024020034101480d00200120036a210602400240200341034b0d000340200620014d0d032006417f6a22062d0000410a470d000c020b0b024041808284082006417c6a2800002207418a94a8d000736b20077241808182847871418081828478460d000340200620014d0d032006417f6a22062d0000410a470d000c020b0b200320064103716b2107024020034109490d0002400340200722064108480d014180828408200120066a220841786a2802002207418a94a8d000736b20077241808182847871418081828478470d01200641786a210741808284082008417c6a2802002208418a94a8d000736b20087241808182847871418081828478460d000b0b200120066a21060340200620014d0d032006417f6a22062d0000410a470d000c020b0b200120076a21060340200620014d0d022006417f6a22062d0000410a470d000b0b200620016b220641016a2105200620024f0d020b200120056a20014d0d032005410371210402402005417f6a41034f0d00410021060c030b2005417c712102410021060340200620012d0000410a466a20012d0001410a466a20012d0002410a466a20012d0003410a466a2106200141046a21012002417c6a22020d000c030b0b2003200241b8f6cb800010aa81808000000b2005200241c8f6cb800010aa81808000000b02402004450d000340200620012d0000410a466a2106200141016a21012004417f6a22040d000b0b200641016a21040b200020043602002000200320056b3602040b5301047f024020002802082201200028020422024f0d00200028020021030340200320016a2d000022044122460d01200441dc00460d0120044120490d012000200141016a220136020820022001470d000b0b0bc41002097f017e23808080800041c0006b220324808080800002400240034002400240024002402001280208220420012802042205460d00024002400240200420054f0d0002402001280200220620046a2d000022074122470d00200421070c030b200741dc00470d01200421070c020b2004200541d8f6cb800010f580808000000b0240200741204f0d00200421070c010b200641016a210841002005200441016a22096b417871220a6b2106200421070340024020060d002001200a20096a360208200110839280800020012802042105200128020821070c020b200820076a210b200641086a2106200741086a2107200b290000220c427f85200c42a2c48891a2c48891228542fffdfbf7efdfbfff7e7c200c42e0bffffefdfbf7ef5f7c84200c42dcb8f1e2c58b97aedc008542fffdfbf7efdfbfff7e7c848342808182848890a0c0807f83220c500d000b2001200c7aa741037620076a41796a22073602080b20072005470d01200521040b200320012802002004200410829280800041002d00b8bfd380001a200328020421062003280200210b411441002802b0bfd38000118280808000002207450d012007200b36020c200741043602002000200736020420004102360200200720063602100c050b20072005490d012007200541e8f6cb800010f580808000000b4104411410b980808000000b02400240024002400240024002400240024002400240024002402001280200220b20076a2d0000220641dc00460d00024020064122470d00200228020822060d0220072004490d082001200741016a2206360208200341346a200b20046a200720046b10ae8180800020032802340d0320002003290238370204200041003602000c100b2001200741016a2207360208200341086a200b2005200710829280800041002d00b8bfd380001a200328020c21062003280208210b411441002802b0bfd38000118280808000002207450d042007200b36020c200741103602002000200736020420004102360200200720063602100c0f0b024020072004490d00200b20046a210902402002280200200228020822086b200720046b22064f0d002002200820064101410110ef91808000200228020821080b200228020420086a2009200610e9968080001a2001200741016a22043602082002200228020820066a220636020802400240024002400240024002400240024002400240200420054f0d002001200741026a2207360208200b20046a2d0000415e6a0e54030101010101010101010101010501010101010101010101010101010101010101010101010101010101010101010101010101010101010101010401010101010601010107010101010101010801010109010a02010b200341286a200b2005200410829280800041002d00b8bfd380001a200328022c21062003280228210b411441002802b0bfd38000118280808000002207450d0f200741043602000c160b200341206a200b2005200710829280800041002d00b8bfd380001a200328022421062003280220210b411441002802b0bfd38000118280808000002207450d0f2007410c3602000c150b200120021085928080002207450d150c160b024020062002280200470d00200241b8f7cb800010ad808080000b200228020420066a41223a00002002200641016a3602080c120b024020062002280200470d00200241c8f7cb800010ad808080000b200228020420066a41dc003a00002002200641016a3602080c110b024020062002280200470d00200241d8f7cb800010ad808080000b200228020420066a412f3a00002002200641016a3602080c100b024020062002280200470d00200241e8f7cb800010ad808080000b200228020420066a41083a00002002200641016a3602080c0f0b024020062002280200470d00200241f8f7cb800010ad808080000b200228020420066a410c3a00002002200641016a3602080c0e0b024020062002280200470d0020024188f8cb800010ad808080000b200228020420066a410a3a00002002200641016a3602080c0d0b024020062002280200470d0020024198f8cb800010ad808080000b200228020420066a410d3a00002002200641016a3602080c0c0b024020062002280200470d00200241a8f8cb800010ad808080000b200228020420066a41093a00002002200641016a3602080c0b0b200420074198f7cb800010ac81808000000b20072004490d06200b20046a21080240200228020020066b200720046b22044f0d002002200620044101410110ef91808000200228020821060b200228020420066a2008200410e9968080001a2001200741016a22063602082002200228020820046a2207360208200341346a2002280204200710ae8180800020032802340d0120002003290238370204200041013602000c0d0b200341106a200b2005200610829280800041002d00b8bfd380001a200328021421062003280210210b411441002802b0bfd38000118280808000002207450d062007200b36020c2007410f3602002007200636021020004102360200200020073602040c0c0b200341186a200b2005200610829280800041002d00b8bfd380001a200328021c21062003280218210b411441002802b0bfd38000118280808000002207450d062007200b36020c2007410f3602002007200636021020004102360200200020073602040c0b0b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000b2004200741f8f6cb800010ac81808000000b200420074188f7cb800010ac81808000000b4104411410b980808000000b4104411410b980808000000b410021074100450d010c020b0b2007200b36020c200720063602100b20004102360200200020073602040b200341c0006a2480808080000b8e0a01067f23808080800041c0006b2202248080808000200241386a2000108692808000024002400240024002400240024002400240024002400240024002400240024020022f01380d0020022f013a22034180f803714180b803460d0120034180c8006a41ffff03714180f803490d0820002802082204200028020422054f0d022000200441016a22063602082000280200220720046a2d000041dc00470d07200620054f0d032000200441026a2204360208200720066a2d000041f500470d06200241386a200010869280800020022f01380d0420022f013a22044180c0006a41ffff03714180f803490d0520034180d0006a41ffff0371410a7420044180c8006a41ffff0371722206418080046a210502402001280200200128020822036b41034b0d002001200341044101410110ef91808000200128020821030b200128020420036a2200200541127641f001723a0000200041036a2004413f71418001723a000020002006410676413f71418001723a000220002005410c76413f71418001723a00012001200341046a360208410021000c0f0b200228023c21000c0e0b200241086a20002802002000280204200028020810829280800041002d00b8bfd380001a200228020c210120022802082103411441002802b0bfd38000118280808000002200450d072000200336020c20004114360200200020013602100c0d0b200241306a20002802002005200410829280800041002d00b8bfd380001a2002280234210120022802302103411441002802b0bfd38000118280808000002200450d072000200336020c20004104360200200020013602100c0c0b200241206a20072005200610829280800041002d00b8bfd380001a2002280224210120022802202103411441002802b0bfd38000118280808000002200450d072000200336020c20004104360200200020013602100c0b0b200228023c21000c0a0b200241106a20002802002000280204200028020810829280800041002d00b8bfd380001a2002280214210120022802102103411441002802b0bfd38000118280808000002200450d062000200336020c20004114360200200020013602100c090b200241186a20072005200410829280800041002d00b8bfd380001a200228021c210120022802182103411441002802b0bfd38000118280808000002200450d062000200336020c20004117360200200020013602100c080b200241286a20072005200610829280800041002d00b8bfd380001a200228022c210120022802282103411441002802b0bfd38000118280808000002200450d062000200336020c20004117360200200020013602100c070b02402003418001490d0002402001280200200128020822046b41034b0d002001200441044101410110ef91808000200128020821040b200128020420046a21000240024020034180104f0d0020034106764140722106410221050c010b20002003410676413f71418001723a00012003410c764160722106410321050b200020063a0000200020056a417f6a2003413f71418001723a00002001200420056a360208410021000c070b0240200128020822002001280200470d00200141b8f8cb800010ad808080000b200128020420006a20033a00002001200041016a360208410021000c060b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000b4104411410b980808000000b200241c0006a24808080800020000bc30301057f23808080800041106b2202248080808000024002400240024002402001280204220320012802082204490d000240200320046b41034b0d0020012003360208200241086a20012802002003200310829280800041002d00b8bfd380001a200228020c210320022802082104411441002802b0bfd38000118280808000002201450d022001200436020c2001410436020020002001360204200120033602100c040b2001200441046a220536020802402001280200220620046a22012d000141017441c8f8cb80006a2f010020012d000041017441c8fccb80006a2f01007241107441107541087420012d000241017441c8fccb80006a2e01007220012d000341017441c8f8cb80006a2e0100722201417f4a0d00200220062003200510829280800041002d00b8bfd380001a2002280204210320022802002104411441002802b0bfd38000118280808000002201450d032001200436020c2001410c36020020002001360204200120033602100c040b200020013b0102410021010c040b2004200341a8f7cb800010a881808000000b4104411410b980808000000b4104411410b980808000000b410121010b200020013b0100200241106a2480808080000b4201017f41002d00b8bfd380001a0240411441002802b0bfd380001182808080000022000d004104411410b980808000000b2000420037020c2000410d36020020000bdf0101027f23808080800041106b22022480808080000240024020012802002203418180808078460d002002410c6a200141146a280000360000200041053a00002002200129000c37000420002002290001370001200041086a200241086a2900003700002003418080808078460d012003450d01200128020441002802a8bfd38000118080808000000c010b024020012d000422034106460d00200020033a000020002001290005370001200041086a2001410c6a2900003700000c010b41d084cc8000411c41ec84cc8000108b81808000000b200241106a2480808080000bcf0301027f23808080800041d0006b2203248080808000410021040240024020024100480d00024020020d00410121040c020b41002d00b8bfd380001a200241002802b0bfd380001182808080000022040d01410121040b2004200241c883cc800010ae80808000000b20042001200210e996808000210120034100360248200320023602442003200136024020034180013a004c2003410036023c2003428080808010370234200341206a200341346a10e6918080000240024020032802204104460d00200341046a200341206a10e1918080000c010b2003200328022436020820034180808080783602040b02402003280234450d00200328023841002802a8bfd38000118080808000000b024002402003280204418080808078460d00200341106a41086a2204200341046a41086a2802003602002003200329020437031002402002450d00200141002802a8bfd38000118080808000000b2003413f6a20042802003600002003200329031037003720002003290034370001200041086a2003413b6a290000370000410221020c010b2000200328020836020402402002450d00200141002802a8bfd38000118080808000000b410621020b200020023a0000200341d0006a2480808080000b140020012000280200200028020410e5808080000b180020002802002001200028020428020c118480808000000b8e5701237e200029033821032000290330210420002903282105200029032021062000290318210720002903102108200029030821092000290300210a02402002450d00200120024107746a210203402008200985200a83200820098385200a422489200a421e8985200a421989857c200320064232892006422e89852006421789857c20042005852006832004857c2001290000220b423886200b4280fe038342288684200b428080fc0783421886200b42808080f80f834208868484200b42088842808080f80f83200b421888428080fc078384200b4228884280fe0383200b423888848484220c7c42a2dca2b98df38bc5c2007c220d7c220b422489200b421e8985200b42198985200b2009200a85832009200a83857c20042001290008220e423886200e4280fe038342288684200e428080fc0783421886200e42808080f80f834208868484200e42088842808080f80f83200e421888428080fc078384200e4228884280fe0383200e423888848484220f7c200d20077c22102005200685832005857c20104232892010422e89852010421789857c42cdcbbd9f9292d19bf1007c22117c220e422489200e421e8985200e42198985200e200b200a8583200b200a83857c20052001290010220d423886200d4280fe038342288684200d428080fc0783421886200d42808080f80f834208868484200d42088842808080f80f83200d421888428080fc078384200d4228884280fe0383200d42388884848422127c201120087c22132010200685832006857c20134232892013422e89852013421789857c42aff6b4e2fef9bee0b57f7c22147c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c20062001290018221142388620114280fe0383422886842011428080fc0783421886201142808080f80f834208868484201142088842808080f80f832011421888428080fc07838420114228884280fe0383201142388884848422157c201420097c22142013201085832010857c20144232892014422e89852014421789857c42bcb7a78cd8f4f6da697c22167c22114224892011421e89852011421989852011200d200e8583200d200e83857c20102001290020221742388620174280fe0383422886842017428080fc0783421886201742808080f80f834208868484201742088842808080f80f832017421888428080fc07838420174228884280fe0383201742388884848422187c2016200a7c22172014201385832013857c20174232892017422e89852017421789857c42b8eaa29abfcbb0ab397c22197c22104224892010421e898520104219898520102011200d85832011200d83857c2001290028221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221a20137c2019200b7c22132017201485832014857c20134232892013422e89852013421789857c4299a097b09bbec4f8d9007c22197c220b422489200b421e8985200b42198985200b2010201185832010201183857c2001290030221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221b20147c2019200e7c22142013201785832017857c20144232892014422e89852014421789857c429b9fe5f8cad4e09f927f7c22197c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2001290038221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221c20177c2019200d7c22172014201385832013857c20174232892017422e89852017421789857c429882b6d3ddda978eab7f7c22197c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2001290040221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221d20137c201920117c22132017201485832014857c20134232892013422e89852013421789857c42c2848c988ad3ea83587c22197c22114224892011421e89852011421989852011200d200e8583200d200e83857c2001290048221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221e20147c201920107c22142013201785832017857c20144232892014422e89852014421789857c42bedfc1ab94e0d6c1127c22197c22104224892010421e898520104219898520102011200d85832011200d83857c2001290050221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484221f20177c2019200b7c22172014201385832013857c20174232892017422e89852017421789857c428ce592f7e4b7e198247c22197c220b422489200b421e8985200b42198985200b2010201185832010201183857c2001290058221642388620164280fe0383422886842016428080fc0783421886201642808080f80f834208868484201642088842808080f80f832016421888428080fc07838420164228884280fe03832016423888848484222020137c2019200e7c22162017201485832014857c20164232892016422e89852016421789857c42e2e9feafbdb89f86d5007c22197c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2001290060221342388620134280fe0383422886842013428080fc0783421886201342808080f80f834208868484201342088842808080f80f832013421888428080fc07838420134228884280fe03832013423888848484222120147c2019200d7c22192016201785832017857c20194232892019422e89852019421789857c42ef92ee93cfae97dff2007c22147c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2001290068221342388620134280fe0383422886842013428080fc0783421886201342808080f80f834208868484201342088842808080f80f832013421888428080fc07838420134228884280fe03832013423888848484222220177c201420117c22232019201685832016857c20234232892023422e89852023421789857c42b1addad8e3bfacef807f7c22147c22114224892011421e89852011421989852011200d200e8583200d200e83857c2001290070221342388620134280fe0383422886842013428080fc0783421886201342808080f80f834208868484201342088842808080f80f832013421888428080fc07838420134228884280fe03832013423888848484221320167c201420107c22242023201985832019857c20244232892024422e89852024421789857c42b5a49caef2d481ee9b7f7c22177c22104224892010421e898520104219898520102011200d85832011200d83857c2001290078221442388620144280fe0383422886842014428080fc0783421886201442808080f80f834208868484201442088842808080f80f832014421888428080fc07838420144228884280fe03832014423888848484221420197c2017200b7c22252024202385832023857c20254232892025422e89852025421789857c4294cda4fbccaefccd417c22167c220b422489200b421e8985200b42198985200b2010201185832010201183857c200f423f89200f42388985200f42078885200c7c201e7c2013422d892013420389852013420688857c221720237c2016200e7c220c2025202485832024857c200c423289200c422e8985200c421789857c42d295c5f799b8dacd647c22197c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2012423f89201242388985201242078885200f7c201f7c2014422d892014420389852014420688857c221620247c2019200d7c220f200c202585832025857c200f423289200f422e8985200f421789857c42e3cbbcc2e3f091df6f7c22237c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2015423f8920154238898520154207888520127c20207c2017422d892017420389852017420688857c221920257c202320117c2212200f200c8583200c857c20124232892012422e89852012421789857c42b5abb3dce8b8e7e00f7c22247c22114224892011421e89852011421989852011200d200e8583200d200e83857c2018423f8920184238898520184207888520157c20217c2016422d892016420389852016420688857c2223200c7c202420107c22152012200f8583200f857c20154232892015422e89852015421789857c42e5b8b2bdc7b9a886247c22257c22104224892010421e898520104219898520102011200d85832011200d83857c201a423f89201a42388985201a4207888520187c20227c2019422d892019420389852019420688857c2224200f7c2025200b7c22182015201285832012857c20184232892018422e89852018421789857c42f584acc9f58dcbf42d7c220c7c220b422489200b421e8985200b42198985200b2010201185832010201183857c201b423f89201b42388985201b42078885201a7c20137c2023422d892023420389852023420688857c222520127c200c200e7c221a2018201585832015857c201a423289201a422e8985201a421789857c4283c99bf5a695a1baca007c220f7c220e422489200e421e8985200e42198985200e200b20108583200b201083857c201c423f89201c42388985201c42078885201b7c20147c2024422d892024420389852024420688857c220c20157c200f200d7c221b201a201885832018857c201b423289201b422e8985201b421789857c42d4f787eacbbbaad8dc007c22127c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c201d423f89201d42388985201d42078885201c7c20177c2025422d892025420389852025420688857c220f20187c201220117c221c201b201a8583201a857c201c423289201c422e8985201c421789857c42b5a7c598a89be2fcf6007c22157c22114224892011421e89852011421989852011200d200e8583200d200e83857c201e423f89201e42388985201e42078885201d7c20167c200c422d89200c42038985200c420688857c2212201a7c201520107c221d201c201b8583201b857c201d423289201d422e8985201d421789857c42abbf9bf3aeaa949f987f7c22187c22104224892010421e898520104219898520102011200d85832011200d83857c201f423f89201f42388985201f42078885201e7c20197c200f422d89200f42038985200f420688857c2215201b7c2018200b7c221e201d201c8583201c857c201e423289201e422e8985201e421789857c4290e4d0edd2cdf198a87f7c221a7c220b422489200b421e8985200b42198985200b2010201185832010201183857c2020423f89202042388985202042078885201f7c20237c2012422d892012420389852012420688857c2218201c7c201a200e7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42bfc2ecc789f9c981b07f7c221b7c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2021423f8920214238898520214207888520207c20247c2015422d892015420389852015420688857c221a201d7c201b200d7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42e49dbcf7fbf8dfacbf7f7c221c7c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2022423f8920224238898520224207888520217c20257c2018422d892018420389852018420688857c221b201e7c201c20117c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42c29fa2edb3fe82f0467c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2013423f8920134238898520134207888520227c200c7c201a422d89201a42038985201a420688857c221c201f7c202020107c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42a5ceaa98f9a8e4d3557c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2014423f8920144238898520144207888520137c200f7c201b422d89201b42038985201b420688857c2213201d7c2020200b7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42ef848e809eea98e5067c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2017423f8920174238898520174207888520147c20127c201c422d89201c42038985201c420688857c2214201e7c2020200e7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42f0dcb9d0f0acca94147c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2016423f8920164238898520164207888520177c20157c2013422d892013420389852013420688857c2217201f7c2020200d7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42fcdfc8b6d4d0c2db277c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2019423f8920194238898520194207888520167c20187c2014422d892014420389852014420688857c2216201d7c202020117c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42a6929be185a7c88d2e7c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2023423f8920234238898520234207888520197c201a7c2017422d892017420389852017420688857c2219201e7c202020107c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42edd590d6c5bf9b96cd007c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2024423f8920244238898520244207888520237c201b7c2016422d892016420389852016420688857c2223201f7c2020200b7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42dfe7d6ecb9a2839cd3007c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2025423f8920254238898520254207888520247c201c7c2019422d892019420389852019420688857c2224201d7c2020200e7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42dec7bdddc8ea9c85e5007c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c200c423f89200c42388985200c4207888520257c20137c2023422d892023420389852023420688857c2225201e7c2020200d7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42a8e5dee3b3d782b5f6007c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c200f423f89200f42388985200f42078885200c7c20147c2024422d892024420389852024420688857c220c201f7c202020117c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42e6ddb6bfe4a5b2e1817f7c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2012423f89201242388985201242078885200f7c20177c2025422d892025420389852025420688857c220f201d7c202020107c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42bbea88a4d1908bb9927f7c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2015423f8920154238898520154207888520127c20167c200c422d89200c42038985200c420688857c2212201e7c2020200b7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42e486c4e79494fadfa27f7c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2018423f8920184238898520184207888520157c20197c200f422d89200f42038985200f420688857c2215201f7c2020200e7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c4281e088e2bbc9998da87f7c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c201a423f89201a42388985201a4207888520187c20237c2012422d892012420389852012420688857c2218201d7c2020200d7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c4291afe2878deee2a5427c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c201b423f89201b42388985201b42078885201a7c20247c2015422d892015420389852015420688857c221a201e7c202020117c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42b0fcd2b2b0b494b6477c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c201c423f89201c42388985201c42078885201b7c20257c2018422d892018420389852018420688857c221b201f7c202020107c221f201e201d8583201d857c201f423289201f422e8985201f421789857c4298a4bdb79d83bac9517c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2013423f89201342388985201342078885201c7c200c7c201a422d89201a42038985201a420688857c221c201d7c2020200b7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c4290d296abc5c4c1cc567c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2014423f8920144238898520144207888520137c200f7c201b422d89201b42038985201b420688857c2213201e7c2020200e7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42aac0c4bbd5b08d87747c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2017423f8920174238898520174207888520147c20127c201c422d89201c42038985201c420688857c2214201f7c2020200d7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42b8a3ef95838ea8b5107c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2016423f8920164238898520164207888520177c20157c2013422d892013420389852013420688857c2217201d7c202020117c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42c8a1cbc6eba2b0d2197c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2019423f8920194238898520194207888520167c20187c2014422d892014420389852014420688857c2216201e7c202020107c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42d3d6868a8581db9b1e7c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2023423f8920234238898520234207888520197c201a7c2017422d892017420389852017420688857c2219201f7c2020200b7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c4299d7bbfccde99da4277c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2024423f8920244238898520244207888520237c201b7c2016422d892016420389852016420688857c2223201d7c2020200e7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42a891ed8cde96afd8347c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2025423f8920254238898520254207888520247c201c7c2019422d892019420389852019420688857c2224201e7c2020200d7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42e3b4a5aebc96838e397c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c200c423f89200c42388985200c4207888520257c20137c2023422d892023420389852023420688857c2225201f7c202020117c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42cb95869aaec9aaecce007c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c200f423f89200f42388985200f42078885200c7c20147c2024422d892024420389852024420688857c220c201d7c202020107c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42f3c68fbbf7c9b2cedb007c22207c22104224892010421e898520104219898520102011200d85832011200d83857c2012423f89201242388985201242078885200f7c20177c2025422d892025420389852025420688857c220f201e7c2020200b7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42a3f1cab5bdfe9b97e8007c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2015423f8920154238898520154207888520127c20167c200c422d89200c42038985200c420688857c2212201f7c2020200e7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42fce5beefe5dde0c7f4007c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2018423f8920184238898520184207888520157c20197c200f422d89200f42038985200f420688857c2215201d7c2020200d7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42e0dedc98f4edd8d2f8007c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c201a423f89201a42388985201a4207888520187c20237c2012422d892012420389852012420688857c2218201e7c202020117c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42f2d6c28fca829ee4847f7c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c201b423f89201b42388985201b42078885201a7c20247c2015422d892015420389852015420688857c221a201f7c202020107c221f201e201d8583201d857c201f423289201f422e8985201f421789857c42ecf390d381c1c0e38c7f7c22207c22104224892010421e898520104219898520102011200d85832011200d83857c201c423f89201c42388985201c42078885201b7c20257c2018422d892018420389852018420688857c221b201d7c2020200b7c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42a8bc8c9ba2ffbfdf907f7c22207c220b422489200b421e8985200b42198985200b2010201185832010201183857c2013423f89201342388985201342078885201c7c200c7c201a422d89201a42038985201a420688857c221c201e7c2020200e7c221e201d201f8583201f857c201e423289201e422e8985201e421789857c42e9fb8af4bd9d9ba8a47f7c22207c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2014423f8920144238898520144207888520137c200f7c201b422d89201b42038985201b420688857c2213201f7c2020200d7c221f201e201d8583201d857c201f423289201f422e8985201f421789857c4295f29996fbfee8fcbe7f7c22207c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2017423f8920174238898520174207888520147c20127c201c422d89201c42038985201c420688857c2214201d7c202020117c221d201f201e8583201e857c201d423289201d422e8985201d421789857c42aba6c99bae9edeb8467c22207c22114224892011421e89852011421989852011200d200e8583200d200e83857c2016423f8920164238898520164207888520177c20157c2013422d892013420389852013420688857c2217201e7c202020107c221e201d201f8583201f857c201e423289201e422e8985201e421789857c429cc399d1eed9cf934a7c22217c22104224892010421e898520104219898520102011200d85832011200d83857c2019423f8920194238898520194207888520167c20187c2014422d892014420389852014420688857c2220201f7c2021200b7c2216201e201d8583201d857c20164232892016422e89852016421789857c428784838ef298aec3517c22217c220b422489200b421e8985200b42198985200b2010201185832010201183857c2023423f8920234238898520234207888520197c201a7c2017422d892017420389852017420688857c221f201d7c2021200e7c22192016201e8583201e857c20194232892019422e89852019421789857c429ed683efecba9fed6a7c22217c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2024423f8920244238898520244207888520237c201b7c2020422d892020420389852020420688857c221d201e7c2021200d7c22232019201685832016857c20234232892023422e89852023421789857c42f8a2bbf3feefd3be757c221e7c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2025423f8920254238898520254207888520247c201c7c201f422d89201f42038985201f420688857c222420167c201e20117c22162023201985832019857c20164232892016422e89852016421789857c42badfdd90a7f599f8067c221e7c22114224892011421e89852011421989852011200d200e8583200d200e83857c200c423f89200c42388985200c4207888520257c20137c201d422d89201d42038985201d420688857c222520197c201e20107c22192016202385832023857c20194232892019422e89852019421789857c42a6b1a296dab8dfb10a7c221e7c22104224892010421e898520104219898520102011200d85832011200d83857c200f423f89200f42388985200f42078885200c7c20147c2024422d892024420389852024420688857c220c20237c201e200b7c22232019201685832016857c20234232892023422e89852023421789857c42ae9be4f7cb80e69f117c221e7c220b422489200b421e8985200b42198985200b2010201185832010201183857c2012423f89201242388985201242078885200f7c20177c2025422d892025420389852025420688857c220f20167c201e200e7c22162023201985832019857c20164232892016422e89852016421789857c429b8ef198d1e6c2b81b7c221e7c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2015423f8920154238898520154207888520127c20207c200c422d89200c42038985200c420688857c221220197c201e200d7c22192016202385832023857c20194232892019422e89852019421789857c4284fb9198d2fedded287c221e7c220d422489200d421e8985200d42198985200d200e200b8583200e200b83857c2018423f8920184238898520184207888520157c201f7c200f422d89200f42038985200f420688857c221520237c201e20117c22232019201685832016857c20234232892023422e89852023421789857c4293c99c86b4efaae5327c221e7c22114224892011421e89852011421989852011200d200e8583200d200e83857c201a423f89201a42388985201a4207888520187c201d7c2012422d892012420389852012420688857c221820167c201e20107c22162023201985832019857c20164232892016422e89852016421789857c42bcfda6aea1c1afcf3c7c221d7c22104224892010421e898520104219898520102011200d85832011200d83857c201b423f89201b42388985201b42078885201a7c20247c2015422d892015420389852015420688857c222420197c201d200b7c22192016202385832023857c20194232892019422e89852019421789857c42cc9ac0e0c9f8d98ec3007c22157c220b422489200b421e8985200b42198985200b2010201185832010201183857c201c423f89201c42388985201c42078885201b7c20257c2018422d892018420389852018420688857c222520237c2015200e7c22232019201685832016857c20234232892023422e89852023421789857c42b685f9d9ec97f5e2cc007c22157c220e422489200e421e8985200e42198985200e200b20108583200b201083857c2013423f89201342388985201342078885201c7c200c7c2024422d892024420389852024420688857c222420167c2015200d7c220d2023201985832019857c200d423289200d422e8985200d421789857c42aafc95e3cfb3cabfd9007c220c7c22164224892016421e89852016421989852016200e200b8583200e200b83857c20132014423f892014423889852014420788857c200f7c2025422d892025420389852025420688857c20197c200c20117c2211200d202385832023857c20114232892011422e89852011421789857c42ecf5dbd6b3f5dbe5df007c22197c22132016200e85832016200e8385200a7c20134224892013421e89852013421989857c20142017423f892017423889852017420788857c20127c2024422d892024420389852024420688857c20237c201920107c22102011200d8583200d857c20104232892010422e89852010421789857c4297b09dd2c4b186a2ec007c22147c210a201320097c2109200b20067c20147c2106201620087c2108201020057c2105200e20077c2107201120047c2104200d20037c210320014180016a22012002470d000b0b200020033703382000200437033020002005370328200020063703202000200737031820002008370310200020093703082000200a3703000bb10202027f027e23808080800041106b2203248080808000024002400240024002400240024020020e020400010b4101210420012d000041556a0e03030103010b024020012d0000412b470d002002417f6a2104200141016a210120024112490d010c020b20022104200241114f0d010b42002105034020012d000041506a220241094b0d02200141016a21012005420a7e2002ad7c21052004417f6a22040d000c030b0b4200210503402004450d02200320054200420a420010f19680800020012d000041506a220241094b0d0120032903084200520d01200141016a21012004417f6a2104200329030022062002ad7c220520065a0d000b0b2000412b3602082000418886cc8000360204410121010c010b20002005370308410021010b20002001360200200341106a2480808080000bbe0403057f017e027f23808080800041c0006b2201248080808000200141246a41cd86cc8000410841b386cc8000411a4104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41b48ccc8000109492808000200141086a2202200141206a28020036020020012001290218370300200128020c2103200128021021042001280214210520012902282106200128022421072001410036021420014280808080800137020c2001410c6a41888acc800010b891808000200128021022084293888c8f89fdc6ec9e7f3703002008420437022c20084203370224200841c48ccc800036022020084100360218200841e980808000360210200842a5e9e3ab9e929adc2c370308200128021021082001200128020c3602142001200836020c2001200841386a36021820012008360210200141306a2001410c6a41b48ccc800010929280800002402007418080808078470d0041988acc8000411141ac8acc8000108b81808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41b48ccc8000109492808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000ba90302037f047e23808080800041306b2203248080808000024002400240024002400240024020020e020400010b4101210420012d000041556a0e03030103010b024020012d0000412b470d002002417f6a2104200141016a210120024122490d010c020b20022104200241214f0d010b200341086a21054200210642002107034020012d000041506a220241094b0d02200320062007420a420010f196808000200141016a21012005290300200329030022072002ad7c2206200754ad7c21072004417f6a22040d000c030b0b200341286a2105420021064200210703402004450d02200341106a20074200420a420010f196808000200341206a20064200420a420010f19680800020012d000041506a220241094b0d0120032903184200522005290300220620032903107c2208200654720d01200141016a21012004417f6a2104200329032022092002ad7c2206200954220220082002ad7c2207200854200620095a1b450d000b0b2000412b3602082000418886cc8000360204410121010c010b2000200637031020002007370318410021010b20002001360200200341306a2480808080000bbe0403057f017e027f23808080800041c0006b2201248080808000200141246a41e886cc8000410941b386cc8000411a4104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41b48ccc8000109492808000200141086a2202200141206a28020036020020012001290218370300200128020c2103200128021021042001280214210520012902282106200128022421072001410036021420014280808080800137020c2001410c6a41888acc800010b8918080002001280210220842e987d8bed5a3d0fbfb003703002008420437022c20084204370224200841c78ccc800036022020084100360218200841e880808000360210200842e2e68fceaa92ce9c7b370308200128021021082001200128020c3602142001200836020c2001200841386a36021820012008360210200141306a2001410c6a41b48ccc800010929280800002402007418080808078470d0041988acc8000411141ac8acc8000108b81808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41b48ccc8000109492808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bb30604057f017e027f017e23808080800041d0006b2201248080808000200141306a41f186cc8000410f418087cc8000410d4104410010c7918080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41b48ccc8000109492808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41f889cc8000109692808000200128021c22084100360208200842808080808001370200200841003a00202008410936021c2008418d87cc80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41f889cc80001096928080000b2001280244410141246c6a220841013a00202008410836021c2008419687cc800036021820084204370210200842003702082008428080808080013702002007410141016a2208360200200120012903402209370318024020082009a7470d00200141186a41f889cc80001096928080000b200128021c200841246c22076a220841023a00202008410e36021c2008419e87cc80003602182008420437021020084200370208200842808080808001370200200128021c210820012001280218360220200120083602182001200820076a41246a3602242001200836021c200141c0006a200141186a41b48ccc800010939280800002402005418080808078470d0041988acc8000411141ac8acc8000108b81808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a41b48ccc8000109492808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41386e2107200128020821010c010b0240200420066b220841386e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a41002007410841381098928080002003280208210a200328020c21090b200a200941386c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41246e2107200128020821010c010b0240200420066b220841246e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a41002007410441241098928080002003280208210a200328020c21090b200a200941246c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b4105762107200128020821010c010b0240200420066b2208410576220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a41002007410841201098928080002003280208210a200328020c21090b200a20094105746a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42247e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441246c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10959280800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bff0102017e027f02400240200320046a417f6a410020036b71ad2001ad7e2205422088a70d002005a7220441808080807820036b4b0d00024020040d002000200336020820004100360204200041003602000f0b41002d00b8bfd380001a200441002802b0bfd38000118280808000002106024002402002450d00024020060d00200041086a2102200041046a21070c040b20064100200410eb968080001a200041086a2102200041046a21070c010b200041086a2102200041046a21072006450d020b2002200636020020072001360200200041003602000f0b20004100360204200041013602000f0b2002200436020020072003360200200041013602000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10959280800020052802084101470d0120052802102102200528020c21060b2006200241a088cc800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000be10704017f0c7e027f037e23808080800041c0016b22072480808080004200210802400240200542015620064200522006501b0d004200210902402005a70e020002000b418889cc8000108881808000000b02400240200120028450450d004200210a420021084200210b4200210c2003210d200421090c010b200741b0016a420020057d2208420020062005420052ad7c7d22092005200610ee96808000200741a0016a20072903b001220e200741b0016a41086a290300220f2005200610f1968080002009200741a0016a41086a2903007d200820072903a001220954ad7d2110200820097d2111200f200e42017c221250ad7c2113200741e0006a41086a21142003210d200421094200210b4200210c4200210342002104034020074190016a200142002012420010f196808000200741f0006a200142002013420010f19680800020074180016a200242002012420010f196808000200741e0006a200242002013420010f196808000200741d0006a200142002011420010f196808000200741306a200142002010420010f196808000200741c0006a200242002011420010f196808000200741206a200242002010420010f1968080002014290300200c7c20072903602202200b7c2201200254ad7c200120074180016a41086a2903007c2202200154ad7c2002200741f0006a41086a2903007c2201200254ad7c200120074190016a41086a29030022082007290380017c2202200854ad7c2208200154ad7c2008200220072903707c220e200254ad7c2201200854ad7c200120032007290390017c220a20035422152004200e7c2015ad7c220820045420082004511bad7c220b200154ad7c210c200a210320082104200741c0006a41086a290300221620072903207c2202200741306a41086a2903007c220e200741d0006a41086a290300220120072903407c220f200154ad7c2217200f20072903307c2201200f54ad7c220f20072903502218200d7c220d2018542215200120097c2015ad7c220920015420092001511bad7c2201200741206a41086a2903002002201654ad7c200e200254ad7c2017200e54ad7c200f201754ad7c2001200f54ad7c2202844200520d000b0b200741106a200d20092005200610ee96808000200720072903102201200741106a41086a29030022022005200610f196808000200c200b200a20017c2203200a542215200820027c2015ad7c220420085420042008511bad7c2201200b54ad7c21022009200741086a2903007d200d2007290300220854ad7d2109200d20087d21080b200020083703202000200337031020002001370300200020093703282000200437031820002002370308200741c0016a2480808080000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a109a9280800020052802084101470d0120052802102102200528020c21060b2006200241bc8dcc800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141e08fcc8000109d928080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004120360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b4105762107200128020821010c010b0240200420066b2208410576220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a4100200741084120109b928080002003280208210a200328020c21090b200a20094105746a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bda0203027f017e037f23808080800041306b2201248080808000200141246a41ff8fcc80004106418590cc800041274104410010c791808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a41ac8ecc800010b8918080002001280210220542bbeefa98e893a7ad023703002005420437022c2005420f370224200541ac90cc800036022020054100360218200541ca84808000360210200542eef8e7b09dc4b6b53f37030802402004418080808078470d0041bc8ecc8000411141d08ecc8000108b81808000000b200128020c21062000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a000020002001290300370250200041d8006a2002280200360200200141306a2480808080000bb20203017f017e037f23808080800041106b2201248080808000200141046a41d091cc8000410441d491cc800041124104410010c79180800020012902082102200128020421032001410036020c200142808080808001370204200141046a419c91cc800010b891808000200128020822044293888c8f89fdc6ec9e7f3703002004420437022c20044203370224200441e691cc800036022020044100360218200441e980808000360210200442a5e9e3ab9e929adc2c37030802402003418080808078470d0041ac91cc8000411141c091cc8000108b81808000000b20012802042105200042043702542000420037024c2000428080808080013702442000200237023c200020033602382000410136020c2000200436020820002005360204200041003a0000200141106a2480808080000bb20203017f017e037f23808080800041106b2201248080808000200141046a41e991cc8000410c41d491cc800041124104410010c79180800020012902082102200128020421032001410036020c200142808080808001370204200141046a419c91cc800010b891808000200128020822044293888c8f89fdc6ec9e7f3703002004420437022c20044203370224200441e691cc800036022020044100360218200441e980808000360210200442a5e9e3ab9e929adc2c37030802402003418080808078470d0041ac91cc8000411141c091cc8000108b81808000000b20012802042105200042043702542000420037024c2000428080808080013702442000200237023c200020033602382000410136020c2000200436020820002005360204200041003a0000200141106a2480808080000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bf10101077f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b220541ffffffff014d0d0041004100200110ae80808000000b0240024020054104200541044b1b2207410374220641fcffffff074b0d004100210502402004450d002002200441037436021c20022000280204360214410421050b20022005360218200241086a41042006200241146a10a19280800020022802084101470d0120022802102108200228020c21030b20032008200110ae80808000000b200228020c21042000200736020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10a19280800020052802084101470d0120052802102102200528020c21060b2006200241e893cc800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000bba12030b7f017e057f23808080800041106b2203248080808000200120026a210441002105200121060240034020052107024020062004470d00200221070c020b0240024020062c00002208417f4c0d00200641016a2109200841ff017121080c010b20062d0001413f7121092008411f71210502402008415f4b0d0020054106742009722108200641026a21090c010b200941067420062d0002413f717221090240200841704f0d0020092005410c74722108200641036a21090c010b200941067420062d0003413f71722005411274418080f00071722108200641046a21090b200720066b20096a21052009210620084120460d0020092106200841506a410a490d0020092106200841bf7f6a411a490d00200921062008419f7f6a411a490d000b0b200120076a210a4100210b4100210c0240024002400240024002400240024002400240024002402007450d000240200220074b0d004100210b2003410036020c20034280808080c0003702040c020b2001210c200a2c000041bf7f4c0d030b2003410036020c20034280808080c000370204200220076b220d0d01200c21010b0c080b2002ad210e4104210f410021104100210b0340024002400240024002400240024002400240200d4103490d0041d494cc8000200a410310ed968080000d01200a200d6a2104200d417d6a211141002106200a41036a2212210902400340200621050240200922062004470d00201121050c020b0240024020062c00002208417f4c0d00200641016a2109200841ff017121080c010b20062d0001413f7121092008411f71210d02402008415f4b0d00200d4106742009722108200641026a21090c010b200941067420062d0002413f717221090240200841704f0d002009200d410c74722108200641036a21090c010b200941067420062d0003413f7172200d411274418080f00071722108200641046a21090b200520066b20096a21062008410a470d000b0b201220056a210a02400240024020050d00410021120c010b201120054d0d00200a2c000041bf7f4c0d010b2005410020121b21132012410120121b210b201120056b220d0d0a200c21010c120b201220114100200541c494cc800010f980808000000b200d4102470d010b200a2f000041afde00460d010b200a2d0000412f460d01200b450d0241002106024020024100480d0041002d00b8bfd380001a41012106200241002802b0bfd380001182808080000022090d050b2006200241e492cc800010ae80808000000b200a200d6a2104200d417e6a211141002106200a41026a220f210902400340200621050240200922062004470d00201121050c020b0240024020062c00002208417f4c0d00200641016a2109200841ff017121080c010b20062d0001413f7121092008411f71211202402008415f4b0d0020124106742009722108200641026a21090c010b200941067420062d0002413f717221090240200841704f0d0020092012410c74722108200641036a21090c010b200941067420062d0003413f71722012411274418080f00071722108200641046a21090b200520066b20096a21062008412f470d000b0b200f20056a2108201120056b210602402005450d000240201120054b0d002006450d010c0e0b20082c000041bf7f4c0d0d0b41002109024020024100480d0041002d00b8bfd380001a200241002802b0bfd380001182808080000022090d05410121090b2009200241e492cc800010ae80808000000b200a200d6a2104200d417f6a211241002106200a41016a2211210902400340200621050240200922062004470d00201221050c020b0240024020062c00002208417f4c0d00200641016a2109200841ff017121080c010b20062d0001413f7121092008411f71210d02402008415f4b0d00200d4106742009722108200641026a21090c010b200941067420062d0002413f717221090240200841704f0d002009200d410c74722108200641036a21090c010b200941067420062d0003413f7172200d411274418080f00071722108200641046a21090b200520066b20096a21062008412f470d000b0b201120056a210a201220056b210d410021094100210602402005450d0002400240201220054b0d00200d450d010c0d0b200a2c000041bf7f4c0d0c0b201121060b024020024100480d0041002d00b8bfd380001a200241002802b0bfd380001182808080000022090d02410121090b2009200241e492cc800010ae80808000000b41002106024020024100480d004100210641002d00b8bfd380001a200241002802b0bfd380001182808080000022090d02410121060b2006200241e492cc800010ae80808000000b20092001200210e99680800021092006450d06200941002802a8bfd3800011808080800000024020102003280204470d00200341046a41d894cc800010a2928080002003280208210f0b200f20104103746a22092005360204200920063602002003201041016a221036020c200d0d02200c21010c0a0b20092001200210e996808000210920002002200d6b360214200020023602102000200936020c20002002360208200020063602040c060b20092001200210e99680800021092005450d03200941002802a8bfd3800011808080800000200541026a2209450d020240200d4101460d00200a2c00014140480d030b024002402009200d490d002009200d460d010c040b200a20096a2c000041bf7f4c0d030b200541016a2109024020102003280204470d00200341046a41f894cc800010a2928080000b2003280208220f20104103746a220520093602042005200a41016a3602002003201041016a221036020c2008210a2006210d20060d000b200c21010c070b200120024100200741c494cc800010f980808000000b200a200d4101200941e894cc800010f980808000000b2000200936020c20002002360208200041023602042000200220116bad422086200e843702100c010b2000200936020c200020023602082000410336020420002002200d6bad422086200e843702100b20004180808080783602002003280204450d03200328020841002802a8bfd38000118080808000000c030b201120124100200541c494cc800010f980808000000b200f20114100200541c494cc800010f980808000000b20002003290204370200200020133602182000200b360214200020073602102000200136020c200041086a200341046a41086a2802003602000b200341106a2480808080000bd20702067f027e23808080800041e0006b2202248080808000200128020021030240024002400240024002400240024020012802042204450d00200341016a21012004417f6a2105024020032d00002206412f470d000240024002402004417f6a0e020800010b410121072001210620012d000041556a0e03070107010b024020012d0000412b470d002004417e6a2107200341026a210620044113490d010c060b2001210620052107200441124f0d050b42002108034020062d000041506a220441094b0d06200641016a21062008420a7e2004ad7c21082007417f6a22070d000c070b0b02400240024020044101470d004101210520032101200641556a0e03030103010b02402006412b470d0020044112490d010c020b2003210120042105200441114f0d010b42002108034020012d000041506a220641094b0d02200141016a21012008420a7e2006ad7c21082005417f6a22050d000c030b0b4200210803402005450d02200241106a20084200420a420010f19680800020012d000041506a220641094b0d0120022903184200520d01200141016a21012005417f6a2105200229031022092006ad7c220820095a0d000b0b2002200436023c20022003360238200241d8006a22014200370300200241c0006a41106a22054200370300200241c0006a41086a2206420037030020024200370340200241386a200241c0006a10b292808000200241206a41086a2005290300370300200241206a41106a200129030037030020022006290300370320200229034021080c010b200241306a4200370300200241286a4200370300200242003703200b20002008370001200041003a000020002002290320370009200041116a200241286a290300370000200041196a200241306a2903003700000c040b4200210803402007450d02200220084200420a420010f19680800020062d000041506a220441094b0d0120022903084200520d01200641016a21062007417f6a2107200229030022092004ad7c220820095a0d000b0b2002200536023c20022001360238200241d8006a22014200370300200241c0006a41106a22054200370300200241c0006a41086a2206420037030020024200370340200241386a200241c0006a10b292808000200241206a41086a2005290300370300200241206a41106a200129030037030020022006290300370320200229034021080c010b200241306a4200370300200241286a4200370300200242003703200b2000200837000120002002290320370009200041013a0000200041116a200241286a290300370000200041196a200241306a2903003700000b200241e0006a2480808080000b9d0801087f23808080800041e0046b220324808080800020034200370340200342f9c2f89b91a3b3f0db00370338200342ebfa86dabfb5f6c11f3703302003429fd8f9d9c291da829b7f370328200342d1859aeffacf9487d100370320200342f1edf4f8a5a7fda7a57f370318200342abf0d3f4afeebcb73c370310200342bbceaaa6d8d0ebb3bb7f370308200342c892f795ffccf984ea00370300200341cf006a410041f90010eb968080002104200341cb006a410028009d98cc8000360000200341073a00c8012003410028009a98cc800036024802400240200241fa00490d002004200141f90010e9968080001a20034280013703402003200341c8006a22054200420010bd80808000200141f9006a2201200241877f6a2202410776200241ff00712202456b22064107746a2107200241800120021b210402402006450d00200641077421020340200320032903404280017c370340200320014200420010bd8080800020014180016a2101200241807f6a22020d000b0b20052007200410e9968080001a0c010b20042001200210e9968080001a200241076a21040b200320043a00c801200341d0016a200341d00110e9968080001a200320032903900220032d0098032201ad7c3703900220034198026a210202402001418001460d00200220016a410041800120016b10eb968080001a0b200341003a009803200341d0016a2002427f420010bd80808000200341e0036a41086a2201200341d0016a41086a290300370300200341e0036a41106a2202200341d0016a41106a290300370300200341e0036a41186a2204200341d0016a41186a290300370300200341e0036a41206a220620032903f001370300200341e0036a41286a2205200341d0016a41286a290300370300200341e0036a41306a2207200341d0016a41306a290300370300200341e0036a41386a2208200341d0016a41386a290300370300200320032903d0013703e003200341a0036a41086a22092001290300370300200341a0036a41106a220a2002290300370300200341a0036a41186a22022004290300370300200341a0036a41206a22042006290300370300200341a0036a41286a22062005290300370300200341a0036a41306a22052007290300370300200341a0036a41386a22072008290300370300200320032903e0033703a00341002d00b8bfd380001a024041c00041002802b0bfd380001182808080000022010d00410141c00041f895cc800010ae80808000000b200120032903a003370000200041c00036020820002001360204200041c000360200200141386a2007290300370000200141306a2005290300370000200141286a2006290300370000200141206a2004290300370000200141186a2002290300370000200141106a200a290300370000200141086a2009290300370000200341e0046a2480808080000be80601067f23808080800041d0006b220224808080800041002d00b8bfd380001a41002802b0bfd380002103024002400240024002400240024041002f01d8bcd38000220441ffff00712205413f4b0d004101210641012003118280808000002203450d02200320043a00000c010b4102210641022003118280808000002203450d03200320044106742005410876723a00012003200441fc017141027641c000723a00000b200220063602402002200336023c20022006360238200241386a200641204101410110a392808000200228023c2203200228024022046a22062000290000370000200641086a200041086a290000370000200641106a200041106a290000370000200641186a200041186a2900003700002002200441206a2206360240200241286a2003200610a6928080002002280230220441014b0d014102200441d096cc800010aa81808000000b4101410110b980808000000b200228022c210402402002280238220520066b41014b0d00200241386a200641024101410110a39280800020022802382105200228023c2103200228024021060b200320066a20042f00003b0000200241003602182002428080808010370210200220033602482002200641026a220736024c2002200241106a360244200241086a200241c4006a200641036a41017620076a200241c8006a41e096cc800010be928080002002280208210602402005450d00200341002802a8bfd38000118080808000000b20060d0120022802182103200228021421062002280210210502402002280228450d00200441002802a8bfd38000118080808000000b2002412036024c2002200036024802400240200341084b0d0020034108460d010c040b20062c000841bf7f4c0d030b2002410836023c2002200636023820024103360214200241bc98cc80003602102002420237021c200241cb84808000ad422086200241386aad84370330200241cc84808000ad422086200241c8006aad843703282002200241286a360218200128021c2001280220200241106a10e280808000210002402005450d00200641002802a8bfd38000118080808000000b200241d0006a24808080800020000f0b4101410210b980808000000b41eca1cc8000412b200241c8006a41dca1cc80004198a2cc800010a481808000000b200620034100410841a498cc800010f980808000000be30503087f027e027f23808080800041306b22032480808080002003410c6a2001200210a49280800020032802202101200328021c2104200328021821022003280214210520032802102106024002400240200328020c2207418080808078460d00410021080240200441c50020021b22094100480d0020032802242108024020090d00410121040c030b41002d00b8bfd380001a200941002802b0bfd380001182808080000022040d02410121080b2008200941eccacb800010ae80808000000b20002001360214200020043602102000200236020c200020053602082000200636020420004180808080783602000c010b2004200241d498cc800020021b200910e996808000210a0240024020010d0041808080807821080c010b410021020240024020084100480d00024020080d00410121020c020b41002d00b8bfd380001a200841002802b0bfd380001182808080000022020d01410121020b2002200841eccacb800010ae80808000000b2008ad42208620022001200810e996808000ad84210b0b2005ad42217e220ca7210241002101024002400240200c422088a70d004100210d20024100480d00024020020d004101210e0c030b41002d00b8bfd380001a200241002802b0bfd3800011828080800000220e0d01410121010b2001200241989acc800010ae80808000000b2005210d0b02402005450d0020062101200e21022005210403402003410c6a200110a592808000200241206a2003410c6a41206a2d00003a0000200241186a2003410c6a41186a290000370000200241106a2003410c6a41106a290000370000200241086a2003410c6a41086a2900003700002002200329000c370000200241216a2102200141086a21012004417f6a22040d000b0b2000200b37021c20002008360218200020053602142000200e3602102000200d36020c200020093602082000200a360204200020093602002007450d00200641002802a8bfd38000118080808000000b200341306a2480808080000bc00403057f017e027f23808080800041c0006b2201248080808000200141246a41a89acc8000410b41b39acc8000410f4104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41949fcc800010c292808000200141086a2202200141206a28020036020020012001290218370300200128020c2103200128021021042001280214210520012902282106200128022421072001410036021420014280808080800137020c2001410c6a41e89ccc800010b8918080002001280210220842bbeefa98e893a7ad023703002008420437022c20084208370224200841a49fcc800036022020084100360218200841cd84808000360210200842eef8e7b09dc4b6b53f370308200128021021082001200128020c3602142001200836020c2001200841386a36021820012008360210200141306a2001410c6a41949fcc800010c19280800002402007418080808078470d0041f89ccc80004111418c9dcc8000108b81808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41f09bcc800010c2928080002001410c6a410b6a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bbf0403057f017e027f23808080800041c0006b2201248080808000200141246a41c29acc8000410941b39acc8000410f4104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41949fcc800010c292808000200141086a2202200141206a28020036020020012001290218370300200128020c2103200128021021042001280214210520012902282106200128022421072001410036021420014280808080800137020c2001410c6a41e89ccc800010b8918080002001280210220842a691cddcd9a0e28da77f3703002008420437022c20084207370224200841ac9fcc800036022020084100360218200841ce84808000360210200842fb8491aeb8cedab7ba7f370308200128021021082001200128020c3602142001200836020c2001200841386a36021820012008360210200141306a2001410c6a41949fcc800010c19280800002402007418080808078470d0041f89ccc80004111418c9dcc8000108b81808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41f09bcc800010c292808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bc10301047f2380808080004180016b220224808080800020002802002100024002400240200128021422034110710d0020034120710d014103210320002d00002200210402402000410a490d004101210320022000200041e4006e220441e4006c6b41ff01714101742205418d96c080006a2d00003a000220022005418c96c080006a2d00003a00010b024002402000450d002004450d010b20022003417f6a22036a200441017441fe0171418d96c080006a2d00003a00000b2001410141014100200220036a410320036b10e38080800021000c020b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b20002d00002103410021000340200220006a41ff006a2003410f712204413072200441376a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000b140020012000280200200028020410e5808080000b940101037f2380808080004180016b220224808080800020002802002d00002103410021000340200220006a41ff006a2003410f712204413072200441d7006a2004410a491b3a00002000417f6a2100200341ff0171220441047621032004410f4b0d000b20014101418896c080004102200220006a4180016a410020006b10e380808000210020024180016a24808080800020000bc10403057f017e027f23808080800041c0006b2201248080808000200141246a41cb9acc8000410e41d99acc800041074104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41949fcc800010c292808000200141086a2202200141206a28020036020020012001290218370300200128020c2103200128021021042001280214210520012902282106200128022421072001410036021420014280808080800137020c2001410c6a41e89ccc800010b8918080002001280210220842aceff0b4f2bd8f8fe4003703002008420437022c20084207370224200841b39fcc800036022020084100360218200841cf8480800036021020084296e397c6bfa5aeee46370308200128021021082001200128020c3602142001200836020c2001200841386a36021820012008360210200141306a2001410c6a41949fcc800010c19280800002402007418080808078470d0041f89ccc80004111418c9dcc8000108b81808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a41f09bcc800010c292808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a2001410c6a41076a290000370000200141c0006a2480808080000ba80301047f23808080800041c0006b220224808080800002400240200028020022032d00000d00200128021c41809ccc80004104200128022028020c1181808080000021000c010b410121002002200341016a360204200128021c220341849ccc800041042001280220220428020c2205118180808000000d000240024020012d00144104710d0041012100200341bbc4c0800041012005118180808000000d02200241046a200110ab928080000d02200128021c2103200128022028020c21050c010b200341bcc4c0800041022005118180808000000d0141012100200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200436020c2002200336020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241046a200241186a10ab928080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200341bec4c08000410120051181808080000021000b200241c0006a24808080800020000bc30801087f23808080800041c0026b220324808080800002400240024020024120460d00200241c000460d0120004281808080f0003702000c020b200341026a2202200141026a2d00003a00002003410f6a22042001410f6a2900003700002003411f6a22052001411f6a2d00003a0000200320012f00003b0100200320012800033600032003200129000737000720032001290017370017200341e0006a2003410110d091808000200341a0016a41b4acc68000200341e0006a10b78f808000200041c4006a200341a0016a10b88f808000200041e4006a200341a0016a41a00110e9968080001a2000413c6a20034198016a290000370000200041346a20034190016a2900003700002000412c6a20034188016a290000370000200041246a200341e0006a41206a2900003700002000411c6a200341f8006a290000370000200041146a200341f0006a2900003700002000410c6a200341e8006a2900003700002000200329006037000420004100360200200341003a0000200341003a0001200241003a0000200341003a0003200341003a0004200341003a0005200341003a0006200341003a0007200341003a0008200341003a0009200341003a000a200341003a000b200341003a000c200341003a000d200341003a000e200441003a0000200341003a0010200341003a0011200341003a0012200341003a0013200341003a0014200341003a0015200341003a0016200341003a0017200341003a0018200341003a0019200341003a001a200341003a001b200341003a001c200341003a001d200341003a001e200541003a00000c010b200341a0016a200110d691808000024020032d00a0010d0020004281808080e0003702000c010b200341226a200341a3016a2d00003a0000200341e0006a41086a2202200341a0016a41106a290000370300200341046a2204200341a0016a41206a2d00003a0000200320032f00a1013b0120200320032900a801370360200320032800bc0136020020032800b801210520032800a4012106200341206a41386a2207200141386a290000370100200341206a41306a2208200141306a290000370100200341206a41286a2209200141286a290000370100200341206a41206a220a2001290020370100200320063600232003412f6a200229030037000020032003290360370027200320053600372003413f6a20042d00003a00002003200328020036003b200341a0016a41b4acc68000200341206a10b78f808000200041c4006a200341a0016a10b88f808000200041e4006a200341a0016a41a00110e9968080001a2000413c6a2007290100370000200041346a20082901003700002000412c6a2009290100370000200041246a200a2901003700002000411c6a200341386a290100370000200041146a200341206a41106a2901003700002000410c6a200341206a41086a29010037000020002003290120370004200041003602000b200341c0026a2480808080000b830201037f23808080800041206b22032480808080004100210402400240200241046a22054100480d00024020050d00410121040c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022040d01410121040b2004200541849ecc800010ae80808000000b20034100360214200320043602102003200536020c200320023602182003200341186a36021c2003411c6a2003410c6a10b7928080000240200328020c200328021422056b20024f0d002003410c6a2005200210fc90808000200328021421050b200328021020056a2001200210e9968080001a200041086a200520026a3602002000200329020c370200200341206a2480808080000bd60402047f047e23808080800041a0026b220224808080800041002103024002402000280204220441046a22054100480d0020002802002100024020050d00410121030c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022030d01410121030b2003200541849ecc800010ae80808000000b200241003602702002200336026c200220053602682002200436020020022002360224200241246a200241e8006a10b79280800002402002280268200228027022056b20044f0d00200241e8006a2005200410fc90808000200228027021050b200228026c20056a2000200410e9968080001a200228026c2100200228026821030240024002400240200520046a220441204b0d0020012000200410e9968080001a0c010b200241003a009502200241e8006a410041a00110eb968080001a2002410036029002200241013a009a022002418102360196022002420037038802200241203a009402200241246a200241e8006a2000200410c59280800020022d0064220441c1004f0d0120044120470d02200241186a200241246a41186a2900002206370300200241106a200241246a41106a2900002207370300200241086a200241246a41086a2900002208370300200220022900242209370300200141186a2006370000200141106a2007370000200141086a2008370000200120093700000b02402003450d00200041002802a8bfd38000118080808000000b200241a0026a2480808080000f0b200441c00041948ec0800010aa81808000000b41b5a5cc8000412420024194a5cc800041a8a6cc800010a481808000000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141f09bcc800010c2928080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004104360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000baa0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a200141f09bcc800010c2928080002000410036024020004280808080c0003703382000410036025820004280808080c00037035020004120360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000b940201027f23808080800041106b220224808080800020022000280200220041046a360204200128021c41dc9fcc80004109200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41e59fcc8000410b200041bc9fcc8000109d818080001a200241086a41f09fcc80004109200241046a41cc9fcc8000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710baa0201037f2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000b960301037f02400240024020002802002202280200220041c000490d00200041808001490d012000418080808004490d0202402001280200220320012802082200470d0020012000410110fc9080800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410fc9080800020012802042104200128020821000b2001200041046a360208200420006a20023600000f0b200041027421020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b2000410274410172210202402001280200200128020822006b41014b0d0020012000410210fc90808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b2000410274410272210202402001280200200128020822006b41034b0d0020012000410410fc90808000200128020821000b2001200041046a360208200128020420006a20023600000bbf0401047f2380808080004190026b2204248080808000200441f99fcc8000411410de908080002004418da0cc8000410a2003410010df90808000024020022d00004101470d0020044188026a200241196a29000037030020044180026a200241116a290000370300200441f8016a200241096a290000370300200420022900013703f00120044197a0cc8000410a200441f0016a412010df908080000b200441f0016a41186a2202200141186a290000370300200441f0016a41106a2203200141106a290000370300200441f0016a41086a2205200141086a290000370300200420012900003703f001200441a1a0cc8000410a200441f0016a412010df90808000200441d0016a41186a22014200370300200441d0016a41106a22064200370300200441d0016a41086a22074200370300200442003703d001200441aba0cc80004109200441d0016a412010e090808000200242003703002003420037030020054200370300200442003703f001200441b4a0cc8000410e200441f0016a412010e090808000200041186a2001290300370000200041106a2006290300370000200041086a2007290300370000200020042903d001370000200020042903f001370020200041286a2005290300370000200041306a2003290300370000200041386a2002290300370000410021010340200420016a220041003a0000200041016a41003a0000200041026a41003a0000200041036a41003a0000200041046a41003a0000200141056a220141c801470d000b20044190026a2480808080000b800601087f024002402002450d00200120026a2106200341016a210741002108200121090240034002400240200820044b0d0020092d0000210a0240024020080d00200a210b0c010b0240024020084101710d00200a210b2003210a0c010b2003200a20032d0000410874200a72413a6e220b413a6c6b3a00002007210a0b20084101460d00200320086a210c0340200a200a2d000041ff0171410874200b6a220b200b413a6e220b413a6c6b3a0000200a41016a220d200d2d0000410874200b6a220b200b413a6e220b413a6c6b3a0000200a41026a220a200c470d000b0b200b450d01034020042008460d04200320086a200b200b413a6e220a413a6c6b3a0000200841016a2108200b413a49210d200a210b200d0d020c000b0b2008200441cca1cc800010aa81808000000b200941016a22092006470d000b20082004200820044b1b210b0240034020012d00000d0120042008460d020240200b2008460d00200141016a2101200320086a41003a0000200841016a21082002417f6a22020d010c020b0b200b200441bca1cc800010f580808000000b0240200820044b0d002008450d02200320086a210120054180016a21044100210b024003402003200b6a220d2d0000220a413a4f0d01200d2004200a6a2d00003a00002008200b41016a220b470d000b4101210b024020084101470d004100210a0c050b4100210a4100210b0240200841017622044101460d002008417f6a210d200441feffffff077121024100210b03402003200d6a220c2d00002109200c2003200b6a22042d00003a0000200420093a00002001200b417e736a220c2d00002109200c200441016a22042d00003a0000200420093a0000200d417e6a210d2002200b41026a220b470d000b0b02402008410271450d002003200b6a220d2d00002103200d2001200b417f736a220b2d00003a0000200b20033a00000b2008210b0c040b200a413a41aca1cc800010f580808000000b20082004419ca1cc800010aa81808000000b4101210a0c010b4100210b4100210a0b2000200b3602042000200a3602000b1e00200128021c41a8a2cc8000410e200128022028020c118180808000000bfa0403037f017e027f23808080800041d0006b22022480808080002000280200210302400240024020002802042204418308490d0041d384808000ad4220862002410c6aad84210520012802202106200128021c21014100210003402002200320006a36020c200220053703282002410136022420024101360214200241bca2cc80003602102002410136021c200241033a004c20024108360248200242203702402002428080808020370238200241023602302002200241306a3602202002200241286a36021820012006200241106a10e2808080000d02200041016a2200418004470d000b41012100200141b6a2cc80004103200628020c118180808000000d02200320046a210741807c2103034041002100200720036a2204450d032002200436020c20022005370328410121002002410136022420024101360214200241bca2cc80003602102002410136021c200241033a004c20024108360248200242203702402002428080808020370238200241023602302002200241306a3602202002200241286a36021820012006200241106a10e2808080000d0341002100200341016a22030d000c030b0b410021002004450d0141d384808000ad4220862002410c6aad84210520012802202106200128021c210103402002200336020c200220053703282002410136022420024101360214200241bca2cc80003602102002410136021c200241033a004c20024108360248200242203702402002428080808020370238200241023602302002200241306a3602202002200241286a36021820012006200241106a10e2808080000d01200341016a21032004417f6a22040d000c020b0b410121000b200241d0006a24808080800020000b220002402000280200450d00200028020441002802a8bfd38000118080808000000b0b220002402000280200450d00200028020441002802a8bfd38000118080808000000b0bdc0202037f017e23808080800041306b2205248080808000200541106a41086a2001280200220141086a220628020036020020064100360200200520012902003703102001428080808010370200200541086a200541106a20022003200410c492808000200528020c2104024002400240200528020822030d00200528021021022005411c6a200528021422062005280218220710ae81808000200528021c0d0202402001280200450d00200128020441002802a8bfd38000118080808000000b2001200736020820012006360204200120023602000c010b2005280210450d00200528021441002802a8bfd38000118080808000000b2000200336020020002004360204200541306a2480808080000f0b2005200529022022084220883e022c200520083e022820052007360224200520063602202005200236021c418ca3cc8000412b2005411c6a41fca2cc80004194a4cc800010a481808000000b8f0201027f23808080800041106b220224808080800020022000410c6a360204200128021c41e4a2cc8000410d200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41f1a2cc80004105200041c4a2cc8000109d818080001a200241086a41f6a2cc80004105200241046a41d4a2cc8000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41386e2107200128020821010c010b0240200420066b220841386e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108413810a3928080002003280208210a200328020c21090b200a200941386c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b4105762107200128020821010c010b0240200420066b2208410576220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108412010a3928080002003280208210a200328020c21090b200a20094105746a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000be90101067f23808080800041106b2202248080808000200028020821032000280204210041012104200128021c220541c0c4c080004101200128022028020c2206118180808000002107200241003a0009200220073a0008200220013602040240024002402003450d0003402002200036020c200241046a2002410c6a41e09acc8000109e818080001a200041016a21002003417f6a22030d000b4101210420022d00084101710d022002280204220028021c2105200028022028020c21060c010b20070d010b200541c1c4c08000410120061181808080000021040b200241106a24808080800020040b9c0201057f23808080800041106b2205248080808000024020012802082206200620026a22074f0d00200621070240200128020020066b20024f0d002001200620024101410110a392808000200128020821070b2001280204220820076a2109024020024102490d00200941002002417f6a220210eb968080001a2008200720026a22076a21090b200941003a0000200741016a21070b20012007360208024020072006490d00200541086a20032802002003280204200128020420066a200720066b200410b992808000200528020c21020240200528020822030d00200220066a220620074b0d00200120063602080b2000200336020020002002360204200541106a2480808080000f0b200620074180a5cc800010a881808000000bad0807017f017e017f037e017f067e077f23808080800041a0026b220424808080800002400240024020013100ad0122054200520d00200442f1edf4f8a5a7fda7a57f370318200420012903980142f9c2f89b91a3b3f0db0085370338200420012903900142ebfa86dabfb5f6c11f853703302004200129038801429fd8f9d9c291da829b7f85370328200420012903800142d1859aeffacf9487d10085370320200420013301b00142abf0d3f4afeebcb73c85370310200420012903a00142bbceaaa6d8d0ebb3bb7f85370308200420013100ae0142108620012d00ac012206ad42ff01838420013100af014218868420013502a80142208684428892f39dffccf984ea0085370300200141b2016a2002200320044200420020012d00b2014100410010be80808000200020063a004020002004290338370038200020042903303700302000200429032837002820002004290320370020200020042903183700182000200429031037001020002004290308370008200020042903003700000c010b20013502a801210720013100af01210820013100ae01210920012d00ac01210620012d00b201210a20012903a001210b20013301b001210c200129038001210d200129038801210e200129039001210f20012903980121102004200141800110e996808000220141b8016a2211201042f9c2f89b91a3b3f0db0085370300200141b0016a2212200f42ebfa86dabfb5f6c11f85370300200141a8016a2213200e429fd8f9d9c291da829b7f85370300200141a0016a2214200d42d1859aeffacf9487d1008537030020014198016a221542f1edf4f8a5a7fda7a57f37030020014190016a2216200c42abf0d3f4afeebcb73c8537030020014188016a2217200b42bbceaaa6d8d0ebb3bb7f85370300200142003703c801200142003703c001200141013a00d3012001200a3a00d201200120063a00d10120014180013a00d001200120054208862006ad42ff018384200942108684200842188684200742208684428892f39dffccf984ea00853703800120012002200310bf80808000210220014198026a201129030037030020014190026a201229030037030020014188026a201329030037030020014180026a2014290300370300200141f8016a2015290300370300200141f0016a2016290300370300200141e8016a201729030037030020012001290380013703e00120012d00d00122034181014f0d01200120022003200141e0016a20012903c001200141c8016a29030020012d00d2014100410010be80808000200020012d00d1013a00402000200129039802370038200020012903900237003020002001290388023700282000200129038002370020200020012903f801370018200020012903f001370010200020012903e801370008200020012903e0013700000b200441a0026a2480808080000f0b200341800141848ec0800010aa81808000000bf50201057f23808080800041c0006b2202248080808000410121030240200128021c220441a4a5cc800041112001280220220528020c2206118180808000000d000240024020012d00144104710d0041012103200441bbc4c0800041012006118180808000000d0220014190a5cc8000410210e5808080000d02200128021c2104200128022028020c21060c010b200441bcc4c0800041022006118180808000000d0141012103200241013a0017200241186a41086a200141086a290200370300200241186a41106a200141106a290200370300200241186a41186a200141186a2802003602002002200536020c2002200436020820024190c4c08000360238200220012902003703182002200241176a3602102002200241086a360234200241186a4190a5cc8000410210e5808080000d01200228023441b6c4c080004102200228023828020c118180808000000d010b200441bec4c08000410120061181808080000021030b200241c0006a24808080800020030b3801017f024020002802002200417f460d0020002000280204417f6a220136020420010d00200041002802a8bfd38000118080808000000b0b100020004204370208200042003702000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041dc84808000360218200042c7f6cdc193d189c1827f370310200042c5da88ea89bcd0fd7b370308200041023a00000bd20101017f41002d00b8bfd380001a0240413041002802b0bfd38000118280808000002201450d00200141dd84808000360228200141de84808000360210200142d687ccb79492eaa48f7f370308200142dec098f1dab59facaa7f37030020014296e397c6bfa5aeee46370320200142aceff0b4f2bd8f8fe400370318200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000410236020c2000200136020820004102360204200041043a00000f0b4108413010b980808000000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000b6700200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004108360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a00000be60203027f017e037f23808080800041306b2201248080808000200141246a41cca7cc8000410c41d8a7cc8000410c4104410010c791808000200141086a2202410036020020014280808080c00037030020012902282103200128022421042001410036021420014280808080800137020c2001410c6a4198a7cc800010b8918080002001280210220542b1a9d799c2d4a8a2fa003703002005420437022c20054225370224200541e8a7cc80003602202005410436021c200541e4a7cc8000360218200541df84808000360210200542a4d690badefa9a875937030802402004418080808078470d0041a8a7cc8000411141bca7cc8000108b81808000000b200128020c2106200020012903003702502000410036024c2000428080808080013702442000200337023c200020043602382000410136020c2000200536020820002006360204200041003a0000200041d8006a2002280200360200200141306a2480808080000b980605027f017e037f017e017f23808080800041d0006b2201248080808000200141306a418da8cc8000411441d8a7cc8000410c4104410010c791808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a22044100360200200142808080808001370218200141186a4198a7cc800010b891808000200128021c220542febac4ad81b6fafcb37f37030820054298848fa1dab08ba174370300200141c0006a41086a220641013602002005420437022c20054204370224200541a5a8cc80003602202005410436021c200541a1a8cc8000360218200541f280808000360210200120012902183703400240200628020022062001280240470d00200141c0006a4198a7cc800010b8918080000b2001280244200641386c6a2205420437022c20054204370224200541a5a8cc80003602202005410b36021c200541a9a8cc8000360218200541f280808000360210200542febac4ad81b6fafcb37f37030820054298848fa1dab08ba1743703002004200641016a22063602002001200129034022073703180240024020062007a72204460d00200128021c2208200641386c6a2205420437022c2005420c370224200541cca7cc80003602202005410636021c200541b4a8cc80003602182005418782808000360210200542c7b08da7e0eae9813e370308200542afa5dbfcecd08ee9837f3703000c010b200141186a4198a7cc800010b891808000200128021c2208200641386c6a2205420437022c2005420c370224200541cca7cc80003602202005410636021c200541b4a8cc80003602182005418782808000360210200542c7b08da7e0eae9813e370308200542afa5dbfcecd08ee9837f370300200128021821040b02402002418080808078470d0041a8a7cc8000411141bca7cc8000108b81808000000b200020012903083702502000410036024c2000428080808080013702442000200337023c200020023602382000200836020820002004360204200041003a00002000200641016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000bd40402047f017e23808080800041306b22012480808080002001410836020c200141baa8cc800036020841002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241baa8cc8000360200200241046a410836020041baa8cc8000410810bc91808000450d0141002d00b8bfd380001a41c00041002802b0bfd380001182808080000022030d02410841c00010b980808000000b4104410810b980808000000b200241002802a8bfd380001180808080000020014102360214200141d0c5cb80003602102001420137021c200141b980808000ad422086200141086aad843703282001200141286a360218200141106a41e0c5cb800010f280808000000b200341dd8480800036023820034296e397c6bfa5aeee46370330200342aceff0b4f2bd8f8fe40037032820034101360224200341c3a8cc8000360220200341de84808000360218200342d687ccb79492eaa48f7f370310200342dec098f1dab59facaa7f37030820034101360204200341c2a8cc800036020020014100360218200142808080808001370210200141106a4198a7cc800010b8918080002001280214220442badd9d91f49e92a2947f3703002004410036023020044280808080c0003703282004410036022020044100360218200441e084808000360210200442b6dcdf9886d6f4c45537030820012902102105200042043702542000420237024c200020033602482000410236024420002002ad4280808080108437023c200041013602382000410136020c20002005370204200041003a0000200141306a2480808080000bc80303047f017e077f23808080800041206b22032480808080000240024002400240024020012802082204200128021022056b2002490d00024020020d0041002106420121070c040b200128020421084180800121094100210a4101210b41002106024003402002200920022009491b220c200a6a210902402006200a6b200c4f0d004100210d0240024020094100480d004100210d02402006450d002003200636021c2003200b3602144101210d0b2003200d360218200341086a41012009200341146a10d99280800020032802084101470d012003280210210e200328020c210d0b200d200e41aca9cc800010ae80808000000b200328020c210b200921060b200420056b200c490d012005200c6a220d2005490d03200d20044b0d04200b200a6a200820056a200c10e9968080001a2001200d360210200d21052009210a2002200c6b22020d000b2006418080808078460d012009ad422086200bad8421070c040b2006450d00200b41002802a8bfd38000118080808000000b20004180808080783602000c030b2005200d41a8c8ca800010ac81808000000b200d200441a8c8ca800010aa81808000000b20002007370204200020063602000b200341206a2480808080000bf10201057f23808080800041d0006b22022480808080000240024020014280808080105a0d0041d4abcc800021034101210441002105410021060c010b2001422088a7210641ec91c08000210302402001a72204410171450d00200421050c010b2004410172210541d891c0800021030b2002410036022820022005360224200220063602202002200436021c200220033602182002410c6a200241186a108c93808000200241246a200228021c20022802202002280218280210118580808000000240200228020c418180808078460d002000200229020c370200200041086a2002410c6a41086a280200360200200241d0006a2480808080000f0b2002410236021c200241c4accc80003602182002420237022420024129360248200241e4accc8000360244200241d782808000ad422086200241cf006aad84370338200241e184808000ad422086200241c4006aad843703302002200241306a360220200241186a41d4accc800010f280808000000bbc0301057f23808080800041d0006b22022480808080000240024002402001428080808010540d004100210320024100360228200220014220883e022020022001a7220436021c41012105200220042004410172200441017122061b360224200241ec91c0800041d891c0800020061b36021820024101360228200241246a21060240024020042d00000e020001040b410021050c030b200241386a200241186a10fd9080800020022802382203450d01200241106a200241c4006a2802003602002002200229023c370308410021050c020b200242003702242002420137021c200241d4abcc8000360218200241246a2106410121050b0b2006200228021c2002280220200228021828021011858080800000024020050d0020002003360200200020022903083702042000410c6a200241106a280200360200200241d0006a2480808080000f0b2002410236021c200241c4accc800036021820024202370224200241293602342002418dadcc8000360230200241d782808000ad422086200241cf006aad84370340200241e184808000ad422086200241306aad843703382002200241386a360220200241186a41d4accc800010f280808000000be40201057f23808080800041c0006b22022480808080000240024020014280808080105a0d0041d4abcc800021034101210441002105410021060c010b2001422088a7210641ec91c08000210302402001a72204410171450d00200421050c010b2004410172210541d891c0800021030b2002410036021820022005360214200220063602102002200436020c200220033602082002200241086a108d938080002002280204210320022802002104200241146a200228020c2002280210200228020828021011858080800000024020044102460d002000200436020020002003360204200241c0006a2480808080000f0b2002410236020c200241c4accc80003602082002420237021420024119360238200241b6adcc8000360234200241d782808000ad4220862002413f6aad84370328200241e184808000ad422086200241346aad843703202002200241206a360210200241086a41d4accc800010f280808000000be40201057f23808080800041c0006b22022480808080000240024020014280808080105a0d0041d4abcc800021034101210441002105410021060c010b2001422088a7210641ec91c08000210302402001a72204410171450d00200421050c010b2004410172210541d891c0800021030b2002410036021820022005360214200220063602102002200436020c200220033602082002200241086a10e8928080002002280204210320022802002104200241146a200228020c2002280210200228020828021011858080800000024020044102460d002000200436020020002003360204200241c0006a2480808080000f0b2002410236020c200241c4accc80003602082002420237021420024118360238200241cfadcc8000360234200241d782808000ad4220862002413f6aad84370328200241e184808000ad422086200241346aad843703202002200241206a360210200241086a41d4accc800010f280808000000ba70301057f23808080800041e0006b22022480808080000240024020014280808080105a0d0041d4abcc800021034101210441002105410021060c010b2001422088a7210641ec91c08000210302402001a72204410171450d00200421050c010b2004410172210541d891c0800021030b2002410036023820022005360234200220063602302002200436022c20022003360228200241066a200241286a10db92808000200241346a200228022c2002280230200228022828021011858080800000024020022d00064102460d0020002002290006370000200041206a200241066a41206a2f00003b0000200041186a200241066a41186a290000370000200041106a200241066a41106a290000370000200041086a200241066a41086a290000370000200241e0006a2480808080000f0b2002410236022c200241c4accc80003602282002420237023420024137360258200241e7adcc8000360254200241d782808000ad422086200241df006aad84370348200241e184808000ad422086200241d4006aad843703402002200241c0006a360230200241286a41d4accc800010f280808000000b02000b22002000410036020c2000200336020820002002360204200041d4abcc80003602000b040041000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42187e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441186c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10d99280800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000ba90301047f0240024002400240024002400240024002400240024002402001280208220220012802102203460d00200341016a2204450d0720022004490d082001280204210520012004360210200520036a2d00000e020203010b200041023a00000f0b200041023a00000f0b200220046b4121490d02200341226a21032004415e4b0d06200320024d0d012003200241a8c8ca800010aa81808000000b20022004460d02200341026a21032004417f460d06200320024b0d0720012003360210200520046a2d0000220141034f0d02200020013a0001200041013a00000f0b20012003360210200041003a00002000200520046a2201290000370001200041096a200141086a290000370000200041116a200141106a290000370000200041196a200141186a290000370000200041216a200141206a2d00003a00000f0b200041023a00000f0b200041023a00000f0b417f200441a8c8ca800010ac81808000000b2004200241a8c8ca800010aa81808000000b2004200341a8c8ca800010ac81808000000b417f200341a8c8ca800010ac81808000000b2003200241a8c8ca800010aa81808000000b12002001ad4220862000ad841081808080000b12002001ad4220862000ad841082808080000b1a0020002002ad4220862001ad8410838080800010d1928080000b190020002002ad4220862001ad8420031084808080004101460b140020002001200210858080800010d5928080000b8c0201027f23808080800041206b220324808080800020032001360204200341086a41086a200241086a28020036020020032002290200370308200341146a200341086a10899380800020032802142101200341046a200335021c42208620032802182204ad84108680808000210202402001450d00200441002802a8bfd38000118080808000000b20002002290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a290000370000200241002802a8bfd38000118080808000000240200328020841808080807872418080808078460d00200328020c41002802a8bfd38000118080808000000b200341206a2480808080000b190020002002ad4220862001ad8420031087808080004101460b2200200041ff01712002ad4220862001ad842004ad4220862003ad841088808080000bdb0102027f017e23808080800041d0006b22002480808080000240108980808000220141ff01714106490d002000410236023c200041b8abcc800036023820004103360244200041baabcc80003602402000410436020c200041b0aacc800036020820004203370214200041e184808000ad4220862202200041c8006aad8437033020002002200041c0006aad8437032820002002200041386aad843703202000411736024c200041bdabcc80003602482000200041206a360210200041086a41a8abcc800010f280808000000b200041d0006a24808080800020010bfb0201057f23808080800041206b2202248080808000410021030240024020012802082204410c6c41046a22054100480d0020012802042106024020050d00410121010c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022010d01410121030b200320054188afcc800010ae80808000000b20024100360214200220013602102002200536020c200220043602182002200241186a36021c2002411c6a2002410c6a10ea9280800002402004450d002004410c6c2103200641086a210503402005417c6a28020021062002200528020022043602182002200241186a36021c2002411c6a2002410c6a10ea928080000240200228020c200228021422016b20044f0d002002410c6a2001200410fc90808000200228021421010b200228021020016a2006200410e9968080001a2002200120046a3602142005410c6a2105200341746a22030d000b0b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000bce0101027f200128020c21020240024002400240024020012802040e020001020b20020d014101210241002101410121030c030b2002450d010b2000200110b1808080000f0b4100210302402001280200220228020422014100480d0020022802002102024020010d0041012103410021010c020b41002d00b8bfd380001a200141002802b0bfd380001182808080000022030d01410121030b200320014188b0cc800010ae80808000000b20032002200110e99680800021022000200136020820002002360204200020013602000b870101017f23808080800041306b2201248080808000200120003602002001410136021420014198b0cc80003602102001420137021c200141e584808000ad4220862001ad843703282001200141286a360218200141046a200141106a10e692808000410041a0b0cc800041072001280208200128020c4100280280bed3800011878080800000000bb70201067f41022102024002402001280208220320012802102204470d000c010b024002400240200441016a2205450d0020032005490d01200128020421062001200536021002400240200620046a2d00000e020001050b200320056b4104490d04200441056a2107024002402005417b4b0d00200720034b0d01410021020c050b2005200741a8c8ca800010ac81808000000b2007200341a8c8ca800010aa81808000000b200320056b4104490d03200441056a2107024002402005417b4b0d00200720034b0d01410121020c040b2005200741a8c8ca800010ac81808000000b2007200341a8c8ca800010aa81808000000b417f200541a8c8ca800010ac81808000000b2005200341a8c8ca800010aa81808000000b20012007360210200620056a28000021070b20002007360204200020023602000b870401067f024002402001280208220220012802102203460d00024002400240024002400240200341016a2204450d0020022004490d0120012802042105200120043602100240024002400240024002400240200520036a2d000022064103710e0400010203000b20064102762106410021070c0d0b41012107024020022004470d000c0d0b200341026a21032004417f460d07200320024d0d022003200241a8c8ca800010aa81808000000b200220046b4103490d0a200341046a21032004417c4b0d07200320024d0d022003200241a8c8ca800010aa81808000000b4101210720064104490d020c0a0b200120033602100240200520046a2d000022010d000c0a0b20014108742006724102762106410021070c090b20012003360210200520046a22012f0000200141026a2d0000411074722201418002492107200141087420067241027621060c080b200220046b4104490d07200341056a21032004417b4b0d04200320024b0d0520012003360210200520046a28000022064180808080044921070c070b417f200441a8c8ca800010ac81808000000b2004200241a8c8ca800010aa81808000000b417f200341a8c8ca800010ac81808000000b2004200341a8c8ca800010ac81808000000b2004200341a8c8ca800010ac81808000000b2003200241a8c8ca800010aa81808000000b410121070b20002006360204200020073602000b960301037f02400240024020002802002202280200220041c000490d00200041808001490d012000418080808004490d0202402001280200220320012802082200470d0020012000410110fc9080800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410fc9080800020012802042104200128020821000b2001200041046a360208200420006a20023600000f0b200041027421020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b2000410274410172210202402001280200200128020822006b41014b0d0020012000410210fc90808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b2000410274410272210202402001280200200128020822006b41034b0d0020012000410410fc90808000200128020821000b2001200041046a360208200128020420006a20023600000b40002001ad4220862000ad84200235020842208620022802042201ad84108a8080800002402002280200450d00200141002802a8bfd38000118080808000000b0b12002001ad4220862000ad84108b808080000bdc0102047f017e23808080800041106b22052480808080004100210641002d00b8bfd380001a024041054101200341017122071b220841002802b0bfd38000118280808000002203450d00428080808010210902402007450d00200320043600014280808080d0002109410121060b200320063a00002002ad4220862001ad8420092003ad84108c808080002109200341002802a8bfd3800011808080800000200541086a200910d492808000200528020c21032000200528020836020020002003360204200541106a2480808080000f0b4101200810b980808000000b0800108d808080000b15002001ad4220862000ad84108e808080004101460b1a0020002002ad4220862001ad84108f8080800010d2928080000b1a0020002002ad4220862001ad8410908080800010d1928080000b5f01017f23808080800041106b2206248080808000200641086a2002ad4220862001ad842004ad4220862003ad84200510918080800010d392808000200628020c21042000200628020836020020002004360204200641106a2480808080000b08001092808080000b3b01017e2000410120011093808080002202a720024280808080105422011b360204200041002002422088a720011b2201360208200020013602000b1c002001ad4220862000ad842003ad4220862002ad841094808080000b08001095808080000b1c002001ad4220862000ad842003ad4220862002ad841096808080000be60102047f017e23808080800041106b22072480808080004100210841002d00b8bfd380001a024041054101200541017122091b220a41002802b0bfd38000118280808000002205450d00428080808010210b02402009450d00200520063600014280808080d000210b410121080b200520083a00002002ad4220862001ad842004ad4220862003ad84200b2005ad84109780808000210b200541002802a8bfd3800011808080800000200741086a200b10d492808000200728020c21052000200728020836020020002005360204200741106a2480808080000f0b4101200a10b980808000000b1f002001ad4220862000ad842003ad4220862002ad841098808080004101460b240020002002ad4220862001ad842004ad4220862003ad8410998080800010d1928080000b240020002002ad4220862001ad842004ad4220862003ad84109a8080800010d1928080000b6901017f23808080800041106b2208248080808000200841086a2002ad4220862001ad842004ad4220862003ad842006ad4220862005ad842007109b8080800010d392808000200828020c21062000200828020836020020002006360204200841106a2480808080000b4501017e200041012002ad4220862001ad842003109c808080002204a720044280808080105422021b360204200041002004422088a720021b2202360208200020023602000b26002001ad4220862000ad842003ad4220862002ad842005ad4220862004ad84109d808080000bdc0102047f017e23808080800041106b22052480808080004100210641002d00b8bfd380001a024041054101200341017122071b220841002802b0bfd38000118280808000002203450d00428080808010210902402007450d00200320043600014280808080d0002109410121060b200320063a00002002ad4220862001ad8420092003ad84109e808080002109200341002802a8bfd3800011808080800000200541086a200910d492808000200528020c21032000200528020836020020002003360204200541106a2480808080000f0b4101200810b980808000000b3e0020002002ad4220862001ad84109f808080002202290000370000200041086a200241086a290000370000200241002802a8bfd38000118080808000000b5e0020002002ad4220862001ad8410a0808080002202290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a290000370000200241002802a8bfd38000118080808000000b3e0020002002ad4220862001ad8410a1808080002202290000370000200041086a200241086a290000370000200241002802a8bfd38000118080808000000b5e0020002002ad4220862001ad8410a2808080002202290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a290000370000200241002802a8bfd38000118080808000000b2e0020002002ad4220862001ad8410a3808080002202290000370000200241002802a8bfd38000118080808000000b12002001ad4220862000ad8410a4808080000b1c002001ad4220862000ad842003ad4220862002ad8410a5808080000b0a00200010a6808080000b0a00200010a7808080000ba90301057f23808080800041206b220224808080800041002103024002400240024002400240024041012001280208220441056a20012802002205418080808078461b22064100480d002006450d0141002d00b8bfd380001a200641002802b0bfd380001182808080000022030d02410121030b200320064190b1cc800010ae80808000000b20024100360214200242808080801037020c2002410c6a4100410110fc9080800020022802102103200228021421062005418080808078460d030c010b200220033602102002200636020c2005418080808078460d01410021060b200320066a41013a00002002200641016a36021420012802042101200220043602182002200241186a36021c2002411c6a2002410c6a10ea928080000240200228020c200228021422066b20044f0d002002410c6a2006200410fc90808000200228021421060b200228021020066a2001200410e9968080001a2002200620046a3602140c020b410021060b200320066a41003a00002002200641016a3602140b2000200229020c370200200041086a2002410c6a41086a280200360200200241206a2480808080000b140020012000280200200028020410e5808080000b0f00200028020020011098818080000b9d0201047f23808080800041206b220224808080800002400240024002400240024002402001280208220320012802102204460d00200441016a2205450d05200520034b0d062001280204210320012005360210200320046a2d00000e020203010b20004181808080783602000c030b20004181808080783602000c020b20004180808080783602000c010b200241086a200110e992808000024020022802080d00200241146a2001200228020c10d0928080002002280214418080808078460d0020002002290214370200200041086a200241146a41086a2802003602000c010b20004181808080783602000b200241206a2480808080000f0b417f200541a8c8ca800010ac81808000000b2005200341a8c8ca800010aa81808000000bec0101067f410221020240024002400240024002402001280208220320012802102204470d000c010b200441016a2205450d0120032005490d02200128020421062001200536021002400240200620046a2d00000e020001020b410021020c010b200320056b4104490d00200441056a21072005417b4b0d03200720034b0d0420012007360210200620056a2800002107410121020b20002007360204200020023602000f0b417f200541a8c8ca800010ac81808000000b2005200341a8c8ca800010aa81808000000b2005200741a8c8ca800010ac81808000000b2007200341a8c8ca800010aa81808000000b930301047f23808080800041106b2203248080808000200341046a200110e59280800020032802042104200335020c42208620032802082205ad84200210a880808000210202402004450d00200541002802a8bfd38000118080808000000b20002002290000370000200041186a200241186a290000370000200041106a200241106a290000370000200041086a200241086a29000037000041002100200241002802a8bfd380001180808080000020012802042105024020012802082202450d0020024101712106024020024101460d002002417e7121042005210241002100034002402002280200450d00200241046a28020041002802a8bfd38000118080808000000b02402002410c6a280200450d00200241106a28020041002802a8bfd38000118080808000000b200241186a21022004200041026a2200470d000b0b2006450d0020052000410c6c6a2202280200450d00200228020441002802a8bfd38000118080808000000b02402001280200450d00200541002802a8bfd38000118080808000000b200341106a2480808080000bf40101067f23808080800041e0026b22022480808080000240024020002802042203200028020c2204470d00200128020421050c010b20012802082001280204220541d0006c6a2106200128020c2107034020024180016a200341e00110e9968080001a2000200341e0016a2203360204200220024180016a10ba9380800020024180016a2002200710e78f808000200620024180016a41d00010e99680800021062001200541016a2205360204200641d0006a210620032004470d000b0b2001280200200536020002402000280208450d00200028020041002802a8bfd38000118080808000000b200241e0026a2480808080000bee0102047f077e23808080800041306b2106024020012802042207200128020c2208460d00200641206a210903402007290300210a200641186a41106a200741186a290300220b3703002009200741106a290300220c37030020062007290308220d370318200641106a200741306a290300220e370300200741286a290300210f200729032021102003200a3703002003200d370308200341106a200c370300200341186a200b37030020032010370320200341286a200f370300200341306a200e370300200341386a2103200741386a22072008470d000b200120073602040b20002003360204200020023602000b8f0303077f017e027f23808080800041f0006b2205248080808000024020012802042206200128020c2207460d00200541286a2108200541146a41086a21092004280200210a03402001200641386a2204360204200541086a41086a220b200641286a28020036020020052006290220370308200629022c210c2006280214210d20052006280218220e200628021c41d0006c6a3602482005200d3602442005200e3602402005200e36023c20092005413c6a41a8bacc8000109693808000200841086a200b280200360200200820052903083702002005200a28020036026c200520052802202206200528022441386c6a3602682005200528021c360264200520063602602005200636025c2005413c6a200541dc006a41a8adc8800010d48f8080002003200529023c370200200341106a200529022c370200200341186a200c37020020052005280228360248200341086a2005413c6a41086a290200370200200341206a21032004210620042007470d000b0b2000200336020420002002360200200541f0006a2480808080000bdb0206037f017e047f027e017f017e23808080800041c0006b2106024020012802042207200128020c2208460d00034020072903002109200641286a41106a220a200741186a290300370300200641286a41086a220b200741106a29030037030020062007290308370328200641186a41086a220c200741286a28020036020020062007290320370318200641086a41086a220d200741346a2802003602002007290338210e2007290340210f20072802482110200729022c21112003200937030020062011370308200341186a200a290300370300200341106a200b29030037030020032006290328370308200341286a200c280200360200200320062903183703202003200629030837022c200341346a200d280200360200200320103602482003200f3703402003200e370338200341d0006a2103200741d0006a22072008470d000b200120073602040b20002003360204200020023602000bdb0601057f02402000280280012201418080808078460d00200028028401210202402000280288012203450d0020022104034002402004280200450d00200441046a280200450d00200441086a28020041002802a8bfd38000118080808000000b0240200441dc006a280200450d00200441e0006a28020041002802a8bfd38000118080808000000b0240200441e8006a280200450d00200441ec006a28020041002802a8bfd38000118080808000000b200441f8006a21042003417f6a22030d000b0b2001450d00200241002802a8bfd38000118080808000000b02402000280210450d00200041186a10a6938080000b20002802980121010240200028029c012203450d00200141d0006a210403400240200441706a280200450d00200441746a28020041002802a8bfd38000118080808000000b02402004417c6a280200450d00200428020041002802a8bfd38000118080808000000b200441f0006a21042003417f6a22030d000b0b0240200028029401450d00200141002802a8bfd38000118080808000000b02402000280238450d00200041c0006a10a6938080000b20002802a4012101024020002802a8012203450d00200141306a210403400240200441706a280200450d00200441746a28020041002802a8bfd38000118080808000000b02402004417c6a280200450d00200428020041002802a8bfd38000118080808000000b200441d0006a21042003417f6a22030d000b0b024020002802a001450d00200141002802a8bfd38000118080808000000b02402000280260450d00200041e8006a10a6938080000b20002802b0012102024020002802b4012201450d002001410171210541002103024020014101460d00200241d4006a21042001417e71210141002103034002402004414c6a280200450d00200441506a28020041002802a8bfd38000118080808000000b02402004417c6a280200450d00200428020041002802a8bfd38000118080808000000b200441e0006a21042001200341026a2203470d000b0b2005450d002002200341306c6a2204280220450d00200441206a28020441002802a8bfd38000118080808000000b024020002802ac01450d00200241002802a8bfd38000118080808000000b024020002802b801450d0020002802bc0141002802a8bfd38000118080808000000b0be91102107f037e2380808080004180016b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01b6014102746a41c4016a28020021042006417f6a22060d000b0b20054104490d000340200420042f01b6014102746a41c4016a280200220420042f01b6014102746a41c4016a280200220420042f01b6014102746a41c4016a280200220420042f01b6014102746a41c4016a28020021042007417c6a22070d000b0b200341086a22082001410d6a2900003703002003410f6a2209200141146a28000036000020032001290005370300200341186a41036a210a2001280224210b2001280220210c200128021c210d2001280218210e20012d0004210f20012802002110024003400240024020104102460d00200341e8006a410f6a2009280000360000200341e8006a41086a200829030037030020032003290300370368200f211120104101710d010c030b200d200b460d02200d2d00002111200341e8006a410f6a200d41106a280000360000200341e8006a41086a200d41096a2900003703002003200d290001370368200d41146a210d0b200341d0006a410f6a2206200341e8006a410f6a280000360000200341d0006a41086a2201200341e8006a41086a29030037030020032003290368370350410021100240200d200b460d00200d2d0000210f2009200d41106a2800003600002008200d41096a2900003703002003200d290001370300200d41146a210d0240200f201141ff01712205460d00410121100c010b2001200829030037030020062009280000360000200320032903003703500240200d200b470d002011210f0c010b02400340200d22072d0000210f2009200741106a2800003600002008200741096a2900003703002003200729000137030002402005200f460d00410121100c020b200120082903003703002006200928000036000020032003290300370350200741146a220d200b470d000b410021102011210f0b200741146a210d0b200341186a410f6a2006280000360000200341186a41086a200129030037030020032003290350370318200341306a41086a2206200a41086a22122900003703002003200a290000370330024002400240024002400240024020042f01b6012207410b490d004100210502400240034020042802b0012204450d01200541016a210520042f01b601410b4f0d000c020b0b200028020421062000280200210741002d00b8bfd380001a41f40141002802b0bfd38000118280808000002204450d02200420073602c401200441003b01b601200441003602b00120002004360200200741003b01b401200720043602b0012000200641016a22053602040b41002d00b8bfd380001a41c40141002802b0bfd38000118280808000002206450d02200641003b01b601200641003602b0012005417f6a2201450d04034041002d00b8bfd380001a41f40141002802b0bfd38000118280808000002207450d04200720063602c401200741003b01b601200741003602b001200641003b01b401200620073602b001200721062001417f6a2201450d050c000b0b200420076a41b8016a20113a00002004200741016a3b01b601200420074104746a220741086a2006290300370200200720032903303702000c040b410441f40110b980808000000b410441c40110b980808000000b410441f40110b980808000000b20042f01b6012207410b4f0d012004200741016a22013b01b601200420076a41b8016a20113a0000200420074104746a220741086a20122900003700002007200a290000370000200420014102746a41c4016a2006360200200620013b01b401200620043602b0012005450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f01b6014102746a41c4016a28020021042006417f6a22060d000b0b20054104490d000340200420042f01b6014102746a41c4016a280200220420042f01b6014102746a41c4016a280200220420042f01b6014102746a41c4016a280200220420042f01b6014102746a41c4016a28020021042007417c6a22070d000b0b2002200228020041016a3602000c010b0b41ccb2cc8000412041ecb2cc800010f480808000000b0240200c450d00200e41002802a8bfd38000118080808000000b02402000280204220d450d00200028020021060340024002400240024020062f01b6012204450d0020062004417f6a22084102746a220741c8016a28020022042f01b601220141054f0d03200741c4016a28020022052f01b6012207410520016b220f490d0120052007200f6b22093b01b601200441053b01b601200441b8016a2211200f6a2011200110ec968080001a2004200f4104746a2004200141047410ec968080001a2007200941016a22106b220b410420016b470d022011200541b8016a220a20106a200b10e99680800021112004200520104104746a200b410474220210e9968080002107200341e8006a41086a200520094104746a221241086a2902002213370300200620086a41b8016a22002d0000210c201229020021142000200a20096a2d00003a000020032014370368200620084104746a2206290200211520062014370200200641086a22062902002114200620133702002011200b6a200c3a0000200720026a220641086a201437020020062015370200200d4101460d03200741c4016a2206200f410274220f6a2006200141027441046a10ec968080001a2006200520104102746a41c4016a200f10e9968080001a20072802c401220641003b01b401200620073602b00120072802c801220641013b01b401200620073602b00120072802cc01220641023b01b401200620073602b00120072802d001220641033b01b401200620073602b00120072802d401220641043b01b401200620073602b00120072802d801220641053b01b401200620073602b0010c030b41a0b1cc8000411941bcb2cc800010f480808000000b41b4b3cc8000412741dcb3cc800010f480808000000b41fcb2cc8000412841a4b3cc800010f480808000000b20042106200d417f6a220d0d000b0b20034180016a2480808080000b8c12040f7f017e027f017e23808080800041306b220324808080800020002802002104024020002802042205450d0002400240200541037122060d00200521070c010b2005210703402007417f6a2107200420042f018a014102746a4198016a28020021042006417f6a22060d000b0b20054104490d000340200420042f018a014102746a4198016a280200220420042f018a014102746a4198016a280200220420042f018a014102746a4198016a280200220420042f018a014102746a4198016a28020021042007417c6a22070d000b0b200128021c210820012802182109200128021421052001280210210a200128020c210b2001280208210c2001280204210d200128020021010340200f210e20112110200bad422086200cad84211203400240024002400240200d418180808078460d0020052107200d2106200121110c010b024020052008470d004180808080782113200341106a2106418180808078210d20102111200e210f0c020b200541106a21072005290208211220052802042106200528020021110b418080808078211302402006418080808078470d00200341106a2106418180808078210d2010211120072105200e210f0c010b2012a7210f0240024020072008470d00418080808078210d200721050c010b200741106a210520072802002101200728020c210b2007280208210c2007280204220d418080808078460d00201141ff0171200141ff0171460d020b200320063602102012422088a721132003410c6a21060b20062013360200024020032802102210418080808078470d00024020082005460d00410021040240200820056b220141047622064101460d00200541186a2107200641feffffff0071210641002104034002402007416c6a280200450d00200741706a28020041002802a8bfd38000118080808000000b02402007417c6a280200450d00200728020041002802a8bfd38000118080808000000b200741206a21072006200441026a2204470d000b0b2001411071450d00200520044104746a2207280204450d00200741046a28020441002802a8bfd38000118080808000000b02402009450d00200a41002802a8bfd38000118080808000000b0240200d418280808078480d00200d450d00200c41002802a8bfd38000118080808000000b024020002802042205450d00200028020021040340024002400240024020042f018a012207450d0020042007417f6a22114102746a220d419c016a28020022072f018a01220641054f0d03200d4198016a28020022012f018a01220e410520066b220d490d012001200e200d6b22133b018a01200741053b018a012007418c016a2208200d6a2008200610ec968080001a200741046a220c200d410c6c6a200c2006410c6c10ec968080001a200e201341016a220f6b220e410420066b470d0220082001418c016a220b200f6a200e10e9968080002108200c200141046a2202200f410c6c6a200e410c6c221010e996808000210c200341106a41086a20022013410c6c6a220241086a280200221436020020022902002112200420116a418c016a22022d000021002002200b20136a2d00003a00002003201237031020042011410c6c6a220441046a22112902002115201120123702002004410c6a22042802002111200420143602002008200e6a20003a0000200c20106a220441086a20113602002004201537020020054101460d0320074198016a2204200d410274220d6a2004200641027441046a10ec968080001a20042001200f4102746a4198016a200d10e9968080001a200728029801220441003b01880120042007360200200728029c01220441013b0188012004200736020020072802a001220441023b0188012004200736020020072802a401220441033b0188012004200736020020072802a801220441043b0188012004200736020020072802ac01220441053b018801200420073602000c030b41a0b1cc8000411941bcb2cc800010f480808000000b41b4b3cc8000412741dcb3cc800010f480808000000b41fcb2cc8000412841a4b3cc800010f480808000000b200721042005417f6a22050d000b0b200341306a2480808080000f0b200328020c2114024002400240024002400240024020042f018a012207410b490d004100210e02400240034020042802002204450d01200e41016a210e20042f018a01410b4f0d000c020b0b200028020421062000280200210741002d00b8bfd380001a41c80141002802b0bfd38000118280808000002204450d022004200736029801200441003b018a012004410036020020002004360200200741003b018801200720043602002000200641016a220e3602040b41002d00b8bfd380001a41980141002802b0bfd38000118280808000002206450d02200641003b018a0120064100360200200e417f6a2213450d04034041002d00b8bfd380001a41c80141002802b0bfd38000118280808000002207450d042007200636029801200741003b018a0120074100360200200641003b01880120062007360200200721062013417f6a2213450d050c000b0b200420076a418c016a20113a00002004200741016a3b018a0120042007410c6c6a220741086a200f3602002007410c6a2014360200200741046a20103602000c040b410441c80110b980808000000b410441980110b980808000000b410441c80110b980808000000b20042f018a012207410b4f0d01200420076a418c016a20113a00002004200741016a22133b018a0120042007410c6c6a2207410c6a2014360200200741046a2010360200200741086a200f360200200420134102746a4198016a2006360200200620133b01880120062004360200200e450d0002400240200e41037122060d00200e21070c010b200e210703402007417f6a2107200420042f018a014102746a4198016a28020021042006417f6a22060d000b0b200e4104490d000340200420042f018a014102746a4198016a280200220420042f018a014102746a4198016a280200220420042f018a014102746a4198016a280200220420042f018a014102746a4198016a28020021042007417c6a22070d000b0b2002200228020041016a3602000c030b41ccb2cc8000412041ecb2cc800010f480808000000b200729020821122006450d00200f41002802a8bfd38000118080808000000c000b0b0ba10404097f027e017f037e23808080800041306b22032480808080002001280208220441d0006c220541386e2106200128020021070240024020012802042208200128020c2209470d002007210a0c010b2007210a03402008280228210b2008290320210c2008290300210d200841346a280200210e200841186a290300210f200841106a2903002110200841086a2903002111200a2008412c6a29020037022c200a200d370300200a2011370308200a41106a2010370300200a41186a200f370300200a200c370320200a200b360228200a41346a200e360200200a41386a210a200841d0006a22082009470d000b0b200142888080808001370200200142808080808001370208200920086b41d0006e210b024020092008460d00200841306a210803400240200841706a280200450d00200841746a28020041002802a8bfd38000118080808000000b02402008417c6a280200450d00200828020041002802a8bfd38000118080808000000b200841d0006a2108200b417f6a220b0d000b0b2007210802402004450d00200721082005200641386c220b460d0002400240200541374b0d00410821082005450d020c010b0240200b41002802b0bfd38000118280808000002208450d0020082007200b10e9968080001a0c010b4108200b10b980808000000b200741002802a8bfd38000118080808000000b20002008360204200020063602002000200a20076b41386e360208200341306a2480808080000b9e06010a7f23808080800041206b22032480808080002001280208210420012802002105200128020c21062003200141106a220736021c2003200636021820032007360214200341086a200120052005200341146a109193808000200328020c2108200128020c210620014280808080c0003702082001280204210920014284808080c000370200200620096b41386e210a024020062009460d004100210b034002402009200b41386c6a220c28021c2207450d00200c28021841306a210603400240200641706a280200450d00200641746a28020041002802a8bfd38000118080808000000b02402006417c6a280200450d00200628020041002802a8bfd38000118080808000000b200641d0006a21062007417f6a22070d000b0b0240200c280214450d00200c28021841002802a8bfd38000118080808000000b0240200c280220450d00200c28022441002802a8bfd38000118080808000000b200b41016a220b200a470d000b0b200441386c21062005210702402004450d002005210720062006416071220c460d0002400240200c0d00410421072006450d020c010b0240200c41002802b0bfd38000118280808000002207450d0020072005200c10e9968080001a0c010b4104200c10b980808000000b200541002802a8bfd38000118080808000000b20002007360204200020064105763602002000200820056b410576360208200128020c2206200128020422096b41386e210a024020062009460d004100210b034002402009200b41386c6a220c28021c2207450d00200c28021841306a210603400240200641706a280200450d00200641746a28020041002802a8bfd38000118080808000000b02402006417c6a280200450d00200628020041002802a8bfd38000118080808000000b200641d0006a21062007417f6a22070d000b0b0240200c280214450d00200c28021841002802a8bfd38000118080808000000b0240200c280220450d00200c28022441002802a8bfd38000118080808000000b200b41016a220b200a470d000b0b02402001280208450d00200128020041002802a8bfd38000118080808000000b200341206a2480808080000b870301087f23808080800041e0026b22032480808080002001280208220441e0016c220541f8006e2106200128020021070240024020012802042208200128020c2209470d002007210a0c010b2007210a034020034180016a200841e00110e9968080001a200341086a20034180016a10a893808000200a200341086a41f80010e99680800041f8006a210a200841e0016a22082009470d000b0b200142888080808001370200200142808080808001370208200920086b41e0016e2101024020092008460d0003402008109393808000200841e0016a21082001417f6a22010d000b0b2007210802402004450d00200721082005200641f8006c2201460d0002400240200541f7004b0d00410821082005450d020c010b0240200141002802b0bfd38000118280808000002208450d0020082007200110e9968080001a0c010b4108200110b980808000000b200741002802a8bfd38000118080808000000b20002008360204200020063602002000200a20076b41f8006e360208200341e0026a2480808080000bc90301077f23808080800041106b220324808080800020012802082104200341086a2001200128020022052005200141106a200128020c10929380800020012802042106200328020c2107200142888080808001370200200128020c21082001410836020c20014100360208200820066b41d0006e2109200720056b41d0006e21070240024020082006460d00200641306a210603400240200641706a280200450d00200641746a28020041002802a8bfd38000118080808000000b02402006417c6a280200450d00200628020041002802a8bfd38000118080808000000b200641d0006a21062009417f6a22090d000b200020073602082000200536020420002004360200200128020c2200200128020422066b41d0006e210920002006460d01200641306a210603400240200641706a280200450d00200641746a28020041002802a8bfd38000118080808000000b02402006417c6a280200450d00200628020041002802a8bfd38000118080808000000b200641d0006a21062009417f6a22090d000c020b0b2000200736020820002005360204200020043602000b02402001280208450d00200128020041002802a8bfd38000118080808000000b200341106a2480808080000ba205010a7f2380808080004180016b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d0020062108200521090c010b200341086a41086a210a4100210b0340200a2006200b6a220c290200370200200a41306a200c41306a290200370200200a41286a200c41286a290200370200200a41206a200c41206a290200370200200a41186a200c41186a290200370200200a41106a200c41106a290200370200200a41086a200c41086a2902003702002003200536020820032005200b6a220c36020c200341c8006a200a10bc93808000200c41306a200341c8006a41306a290200370200200c41286a200341c8006a41286a290200370200200c41206a200341c8006a41206a290200370200200c41186a200341c8006a41186a290200370200200c41106a200341c8006a41106a290200370200200c41086a200341c8006a41086a290200370200200c20032902483702002006200b41386a220b6a22082007470d000b2005200b6a21090b20014284808080c00037020020014280808080c000370208200720086b41386e2101024020072008460d0041002106034002402008200641386c6a220b28021c220c450d00200b28021841306a210a03400240200a41706a280200450d00200a41746a28020041002802a8bfd38000118080808000000b0240200a417c6a280200450d00200a28020041002802a8bfd38000118080808000000b200a41d0006a210a200c417f6a220c0d000b0b0240200b280214450d00200b28021841002802a8bfd38000118080808000000b0240200b280220450d00200b28022441002802a8bfd38000118080808000000b200641016a22062001470d000b0b20002005360204200020043602002000200920056b41386e36020820034180016a2480808080000b8d04010a7f23808080800041f0016b22032480808080002001280208220441f8006c220541e8006e2106200128020021070240024020012802042208200128020c2209470d002007210a0c010b200341106a210b2007210a0340200b200841f80010e996808000210c2003200a36020c2003200736020820034188016a200c10aa93808000200a20034188016a41e80010e99680800041e8006a210a200841f8006a22082009470d000b0b200142888080808001370200200142808080808001370208200920086b41f8006e210c024020092008460d00034002402008280200450d00200841046a280200450d00200841086a28020041002802a8bfd38000118080808000000b0240200841dc006a280200450d00200841e0006a28020041002802a8bfd38000118080808000000b0240200841e8006a280200450d00200841ec006a28020041002802a8bfd38000118080808000000b200841f8006a2108200c417f6a220c0d000b0b2007210802402004450d00200721082005200641e8006c220c460d0002400240200541e7004b0d00410821082005450d020c010b0240200c41002802b0bfd38000118280808000002208450d0020082007200c10e9968080001a0c010b4108200c10b980808000000b200741002802a8bfd38000118080808000000b20002008360204200020063602002000200a20076b41e8006e360208200341f0016a2480808080000ba20201097f23808080800041d0036b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d0020062108200521060c010b200341106a21094100210a034020092006200a6a41e00110e99680800021082003200536020820032005200a6a220b36020c200341f0016a200810bb93808000200b200341f0016a41e00110e9968080001a2006200a41e0016a220a6a22082007470d000b2005200a6a21060b200142888080808001370200200142808080808001370208200720086b41e0016e210a024020072008460d0003402008109393808000200841e0016a2108200a417f6a220a0d000b0b20002005360204200020043602002000200620056b41e0016e360208200341d0036a2480808080000bf10305067f047e017f017e017f23808080800041306b2203248080808000200128020021040240024020012802042205200128020c2206470d00200421070c010b200341206a210820042107034020052903002109200341186a41106a200541186a290300220a3703002008200541106a290300220b37030020032005290308220c370318200541286a280200210d2005290320210e200720093703002007200c370308200741106a200b370300200741186a200a3703002007200e370320200741286a200d360200200741306a2107200541306a22052006470d000b0b2001280208210f200142888080808001370200200142808080808001370208024020062005460d00200620056b220d41306e22084101712101410021060240200d41506a4130490d00200541d4006a210d200841feffff3f7121084100210603400240200d414c6a280200450d00200d41506a28020041002802a8bfd38000118080808000000b0240200d417c6a280200450d00200d28020041002802a8bfd38000118080808000000b200d41e0006a210d2008200641026a2206470d000b0b2001450d002005200641306c6a2205280220450d00200541206a28020441002802a8bfd38000118080808000000b200020043602042000200f3602002000200720046b41306e360208200341306a2480808080000beb0201097f23808080800041f0016b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d0020062108200521090c010b200341106a210a4100210b0340200a2006200b6a41f00010e99680800021082003200536020820032005200b6a220936020c20034180016a200810bd93808000200920034180016a41f00010e9968080001a2006200b41f0006a220b6a22082007470d000b2005200b6a21090b200142888080808001370200200142808080808001370208200720086b41f0006e2106024020072008460d00200841d0006a210b03400240200b41706a280200450d00200b41746a28020041002802a8bfd38000118080808000000b0240200b417c6a280200450d00200b28020041002802a8bfd38000118080808000000b200b41f0006a210b2006417f6a22060d000b0b20002005360204200020043602002000200920056b41f0006e360208200341f0016a2480808080000beb06050c7f017e067f027e017f2380808080004180026b220324808080800020012802082104200128020021050240024020012802042206200128020c2207470d0020062108200521060c010b200341e4006a2109200341f0006a210a200341086a210b4100210c0340200b2006200c6a220841f80010e996808000210d2001200841f8006a3602042003200536020020032005200c6a220836020420032d007c210e2003290348210f200341c0016a200d10a99380800020034180016a41086a220d200341c0016a41086a29030037030020034180016a41106a2210200341c0016a41106a29030037030020034180016a41186a2211200341c0016a41186a29030037030020034180016a41206a2212200341c0016a41206a29030037030020034180016a41286a2213200341c0016a41286a29030037030020034180016a41306a2214200341c0016a41306a29030037030020034180016a41386a2215200341c0016a41386a290300370300200320032903c00137038001200329035021162003290358211720032802602118200841386a2015290300370300200841306a2014290300370300200841286a2013290300370300200841206a2012290300370300200841186a2011290300370300200841106a2010290300370300200841086a200d2903003703002008200329038001370300200841d8006a2018360200200841d0006a2017370300200841c8006a2016370300200841c0006a200f370300200841f4006a200e3a0000200841e4006a200941086a280200360200200841dc006a2009290200370200200841f0006a200a41086a280200360200200841e8006a200a2903003703002006200c41f8006a220c6a22082007470d000b2005200c6a21060b200142888080808001370200200142808080808001370208200720086b41f8006e210c024020072008460d00034002402008280200450d00200841046a280200450d00200841086a28020041002802a8bfd38000118080808000000b0240200841dc006a280200450d00200841e0006a28020041002802a8bfd38000118080808000000b0240200841e8006a280200450d00200841ec006a28020041002802a8bfd38000118080808000000b200841f8006a2108200c417f6a220c0d000b0b20002005360204200020043602002000200620056b41f8006e36020820034180026a2480808080000bef0406087f017e037f017e017f017e23808080800041c0006b22032480808080002001280208220441d0006c220541386e2106200128020021070240024020012802042208200128020c2209470d002007210a0c010b2007210a03402008290300210b200341286a41106a220c200841186a290300370300200341286a41086a220d200841106a29030037030020032008290308370328200341186a41086a200841286a280200220e36020020032008290320220f370318200341086a41086a200841346a2802002210360200200829022c2111200a200b370300200a200f370320200a41286a200e360200200a201137022c200a41346a201036020020032011370308200a2003290328370308200a41106a200d290300370300200a41186a200c290300370300200a41386a210a200841d0006a22082009470d000b0b200142888080808001370200200142808080808001370208200920086b41d0006e210c024020092008460d00200841306a210803400240200841706a280200450d00200841746a28020041002802a8bfd38000118080808000000b02402008417c6a280200450d00200828020041002802a8bfd38000118080808000000b200841d0006a2108200c417f6a220c0d000b0b2007210802402004450d00200721082005200641386c220c460d0002400240200541374b0d00410821082005450d020c010b0240200c41002802b0bfd38000118280808000002208450d0020082007200c10e9968080001a0c010b4108200c10b980808000000b200741002802a8bfd38000118080808000000b20002008360204200020063602002000200a20076b41386e360208200341c0006a2480808080000b800b03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b2000416c6a210b200041286a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41146c22126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b024002400240024020132d0014221620132d00004922170d004102211520144102460d04200c20126a2118410221150340201641ff0171211920182d000022162019490d03201841146a21182014201541016a2215470d000c020b0b410221154101211a20144102460d02200c20126a2118410221150340201641ff0171211920182d0000221620194f0d02201841146a21182014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b2015410176211a0b200b201541146c6a2118200021190340201920126a221441086a221329020021072013201820126a221641086a221729020037020020172007370200201429020021072014201629020037020020162007370200201641106a221628020021132016201441106a2214280200360200201420133602002018416c6a2118201941146a2119201a417f6a221a0d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510b593808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41146c22146a211b200020146a211c03402006418e026a200e417f6a22196a2d0000200f490d010240024002400240200641046a20194102746a28020022144101762218200941017622126a221320034b0d002014200972410171450d010b2000200d20136b41146c6a210e024020144101710d00200e201820022003201841017267410174413e734100200510b5938080000b20094101710d01200e201841146c6a201220022003201241017267410174413e734100200510b5938080000c010b201341017421090c010b024020094102490d0020144102490d0020122018201220184922161b220920034b0d002002200e201841146c6a2214200e20161b200941146c221610e996808000221720166a2116024002400240201220184f0d00201b2109034020092014416c6a22142016416c6a221620162d0000221220142d0000221549221a1b2218290200370200200941086a201841086a290200370200200941106a201841106a2802003602002016201a41146c6a21162014201220154f41146c6a2214200e460d022009416c6a210920162017470d000c020b0b024020090d00201721090c020b201721090340200e2014200920142d0000221220092d0000221549221a1b2218290200370200200e41086a201841086a290200370200200e41106a201841106a280200360200200e41146a210e2009201220154f41146c6a22092016460d022014201a41146c6a2214201c470d000c020b0b2014210e201721090b200e2009201620096b10e9968080001a0b201341017441017221090b410121142019210e201941014b0d000c020b0b200e21140b2006418e026a20146a200f3a0000200641046a20144102746a200936020002402011450d00201441016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510b5938080000b200641d0026a2480808080000bb30a03017f027e147f23808080800041d0026b2206248080808000024020014102490d002001ad220742ffffffffffffffff3f7c2007802108024002402001418120490d00410141202001410172676b41017622097420012009766a410176210a0c010b200120014101766b220941c000200941c000491b210a0b200041706a210b200041206a210c410121094100210d4100210e03404100210f4101211002402001200d4b2211450d002000200d41047422126a2113024002402001200d6b2214200a490d0002400240201441024f0d00201421150c010b024002400240024020132d0010221620132d00004922170d004102211520144102460d04200c20126a2118410221150340201641ff0171211920182d000022162019490d03201841106a21182014201541016a2215470d000c020b0b410221154101211820144102460d02200c20126a2118410221150340201641ff0171211920182d0000221620194f0d02201841106a21182014201541016a2215470d000b0b201421150b2015200a490d022017450d010240201541024f0d00410121150c020b201541017621180b200b201541047420126a6a21140340201329020021072013201429020037020020142007370200201341086a221629020021072016201441086a221929020037020020192007370200201441706a2114201341106a21132018417f6a22180d000b0b201541017441017221100c010b024020040d002014200a2014200a491b41017421100c010b20132014412020144120491b22142002200341004100200510b693808000201441017441017221100b2010410176200d6aad200dad22077c20087e200d20094101766bad20077c20087e8579a7210f0b02400240200e4102490d00200b200d41047422136a211a200020136a211b03402006418e026a200e417f6a22156a2d0000200f490d010240024002400240200641046a20154102746a28020022134101762218200941017622166a221720034b0d002013200972410171450d010b2000200d20176b4104746a210e024020134101710d00200e201820022003201841017267410174413e734100200510b6938080000b20094101710d01200e20184104746a201620022003201641017267410174413e734100200510b6938080000c010b201741017421090c010b024020094102490d0020134102490d0020162018201620184922141b221320034b0d002002200e20184104746a2209200e20141b2013410474221410e996808000221c20146a2114024002400240201620184f0d00201a211303402013200941706a2209201441706a221420142d0000221820092d000022164922191b2212290200370200201341086a201241086a290200370200201420194104746a21142009201820164f4104746a2209200e460d02201341706a21132014201c470d000c020b0b024020130d00201c21130c020b201c21130340200e2009201320092d0000221820132d000022164922121b2219290200370200200e41086a201941086a290200370200200e41106a210e2013201820164f4104746a22132014460d02200920124104746a2209201b470d000c020b0b2009210e201c21130b200e2013201420136b10e9968080001a0b201741017441017221090b410121132015210e201541014b0d000c020b0b200e21130b2006418e026a20136a200f3a0000200641046a20134102746a200936020002402011450d00201341016a210e2010410176200d6a210d201021090c010b0b20094101710d002000200120022003200141017267410174413e734100200510b6938080000b200641d0026a2480808080000ba30601077f0240024002400240200128022022020d002001280200210241002103200141003602002002450d010240200128020422020d0020012802082102200128020c2204450d0002400240200441077122030d00200421050c010b2004210503402005417f6a210520022802c40121022003417f6a22030d000b0b20044108490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200541786a22050d000b0b034020022802b001210541002103200241002802a8bfd38000118080808000002005210220050d000c020b0b20012002417f6a36022002400240200128020022024101470d0020012802040d00200128020821020240200128020c2204450d0002400240200441077122030d00200421050c010b2004210503402005417f6a210520022802c40121022003417f6a22030d000b0b20044108490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d030b2001280208210402400240200128020c2203200128020422022f01b6014f0d00200221050c010b034020022802b0012205450d0320022f01b4012103200241002802a8bfd3800011808080800000200441016a210420052102200320052f01b6014f0d000b0b0240024020040d00200341016a2106200521020c010b200520034102746a41c8016a2802002102410021062004417f6a2207450d002004417e6a2108024020074107712204450d0003402007417f6a210720022802c40121022004417f6a22040d000b0b20084107490d00034020022802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012102200741786a22070d000b0b2001200636020c20014100360208200120023602042000200520034104746a22022902003702082000200520036a41b8016a2d00003a0004200041106a200241086a290200370200410121030b200020033602000f0b200241002802a8bfd380001180808080000041f0b4cc8000108a81808000000b4194b7cc8000108a81808000000beb0201037f23808080800041c0006b2203248080808000200341046a200120024180b6cc800010af9380800002400240200328020c22040d0020004100360208200041003602002003280204450d01200328020841002802a8bfd38000118080808000000c010b2003280208210220032003413f6a36021c024020044101460d00024020044115490d00200220042003411c6a10bf938080000c010b2002200441012003411c6a10b1938080000b2003280204210541002d00b8bfd380001a024041980141002802b0bfd380001182808080000022010d00410441980110b980808000000b200141003b018a01200141003602002003410036021420032001360210200341003602182003200220044104746a36023820032005360234200320023602302003200236022c2003418180808078360220200341106a2003411c6a200341186a10959380800020002003280218360208200020032902103702000b200341c0006a2480808080000bc00301047f23808080800041d0006b2202248080808000200241206a41206a200141206a280200360200200241206a41186a200141186a290200370300200241206a41106a200141106a290200370300200241206a41086a200141086a29020037030020022001290200370320200241086a200241206a4180b6cc800010ae9380800002400240200228021022030d0020004100360208200041003602002002280208450d01200228020c41002802a8bfd38000118080808000000c010b200228020c21012002200241cf006a360220024020034101460d00024020034115490d0020012003200241206a10be938080000c010b200120034101200241206a10b2938080000b2002280208210441002d00b8bfd380001a024041c40141002802b0bfd380001182808080000022050d00410441c40110b980808000000b200541003b01b601200541003602b00120024100360218200220053602142002410036021c20022001200341146c6a360244200220043602402002200136023c2002200136023820024102360220200241146a200241206a2002411c6a1094938080002000200228021c360208200020022902143702000b200241d0006a2480808080000bfe0401057f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d0020002104200121050c010b4100210502402002450d0020022100024020024107712204450d0003402000417f6a210020012802c40121012004417f6a22040d000b0b20024108490d00034020012802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012101200041786a22000d000b0b20012104410021020b024002400240200220042f01b6014f0d00200421000c010b034020042802b0012200450d0220042f01b4012102200441002802a8bfd3800011808080800000200541016a210520002104200220002f01b6014f0d000b0b0240024020050d00200241016a21020c010b200020024102746a41c8016a2802002100410021022005417f6a2204450d002005417e6a2101024020044107712205450d0003402004417f6a210420002802c40121002005417f6a22050d000b0b20014107490d00034020002802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012100200441786a22040d000b0b410021012003417f6a22030d010c030b0b200441002802a8bfd380001180808080000041f0b4cc8000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802c40121002005417f6a22050d000b0b20024108490d00034020002802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012100200441786a22040d000b0b034020002802b0012104200041002802a8bfd38000118080808000002004210020040d000b0b0bef0501077f024020002802202201450d00200028020c210220002802042103200028020021040240034020002001417f6a22013602200240024020044101712205450d0020030d002000280208210302402002450d0002400240200241077122060d00200221050c010b2002210503402005417f6a210520032802c40121032006417f6a22060d000b0b20024108490d00034020032802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012103200541786a22050d000b0b20004200370208200020033602044101210420004101360200410021020c010b2005450d020b20002802082106024002400240200220032f01b6014f0d00200321050c010b034020032802b0012205450d0220032f01b4012102200341002802a8bfd3800011808080800000200641016a210620052103200220052f01b6014f0d000b0b0240024020060d00200241016a2102200521030c010b200520024102746a41c8016a2802002103410021022006417f6a2205450d002006417e6a2107024020054107712206450d0003402005417f6a210520032802c40121032006417f6a22060d000b0b20074107490d00034020032802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012103200541786a22050d000b0b2000200236020c200041003602082000200336020420010d010c030b0b200341002802a8bfd380001180808080000041f0b4cc8000108a81808000000b4194b7cc8000108a81808000000b200028020021032000410036020002402003450d000240200028020422030d0020002802082103200028020c2206450d0002400240200641077122020d00200621050c010b2006210503402005417f6a210520032802c40121032002417f6a22020d000b0b20064108490d00034020032802c4012802c4012802c4012802c4012802c4012802c4012802c4012802c4012103200541786a22050d000b0b034020032802b0012105200341002802a8bfd38000118080808000002005210320050d000b0b0ba10a05057f017e037f017e027f2380808080004180016b2202248080808000200128027c210320012802782104418080808078210502402001280280012206418080808078460d00200129028c0121072002200128028401220820012802880141f8006c6a36027c200220063602782002200836027420022008360270200241c8006a200241f0006a41a8bacc8000109b93808000200241106a20073703002002200229024c370308200228024821050b02400240200128021022080d000c010b200241c8006a41086a200141086a290300370300200241c8006a411c6a2001411c6a290200370200200241c8006a41246a200141246a280200360200200220083602582002200129030037034820022001290214220737025c200241e0006a10a6938080002007a721090b024002402001280238220a0d000c010b200241c8006a41086a200141306a2903002207370300200241e4006a200141c4006a290200370200200241ec006a200141cc006a280200360200200241186a41086a20073703002002200a3602582002200129032822073703482002200129023c220b37025c20022007370318200241e0006a10a693808000200ba7210c0b200220012802a001360240200220012802a401220636023c200220063602382002200620012802a80141d0006c6a3602442002412c6a200241386a41a8bacc800010a09380800002400240200128026022060d000c010b200241c8006a41086a200141d8006a2903002207370300200241e4006a200141ec006a290200370200200241ec006a200141f4006a280200360200200241f0006a41086a20073703002002200636025820022001290350220737034820022001290264220b37025c20022007370370200241e0006a10a693808000200ba7210d0b200020053602502000200336024c200020043602482000200229030837025420002009360214200020083602102000200229031837031820002001290300370300200041dc006a200241086a41086a290300370200200041086a200141086a290300370300200041206a200241186a41086a29030037030020012d00d80121082000200c36022c2000200a360228200020063602402000200d360244200020083a00702000200229022c370264200041ec006a2002412c6a41086a28020036020020002002290370370330200041386a200241f0006a41086a29030037030020012802980121080240200128029c012206450d00200841d0006a210003400240200041706a280200450d00200041746a28020041002802a8bfd38000118080808000000b02402000417c6a280200450d00200028020041002802a8bfd38000118080808000000b200041f0006a21002006417f6a22060d000b0b0240200128029401450d00200841002802a8bfd38000118080808000000b20012802b001210a024020012802b4012208450d002008410171210541002106024020084101460d00200a41d4006a21002008417e71210841002106034002402000414c6a280200450d00200041506a28020041002802a8bfd38000118080808000000b02402000417c6a280200450d00200028020041002802a8bfd38000118080808000000b200041e0006a21002008200641026a2206470d000b0b2005450d00200a200641306c6a2200280220450d00200041206a28020441002802a8bfd38000118080808000000b024020012802ac01450d00200a41002802a8bfd38000118080808000000b024020012802b801450d0020012802bc0141002802a8bfd38000118080808000000b20024180016a2480808080000ba50101027f0240024020012802000d0041082102200141086a2101410021030c010b2000200128020c36020c2000200129020437020420002001290310370310200041186a200141186a290300370300200041206a200141206a29030037030041282102200141286a2101410121030b20002003360200200020026a22002001290300370300200041106a200141106a290300370300200041086a200141086a2903003703000b8e0301077f23808080800041c0006b210220012d0074210320012802442104200128024021050240024020012802000d00200141086a2106200241086a2107410021080c010b200241186a200141186a290300370300200241206a200141206a2903003703002002200128020c36020c2002200129020437020420022001290310370310200141286a2106200241286a2107410121080b200020033a00602000200436024420002005360240200720062903003703002000200129025c37024820002001290268370254200741106a200641106a290300370300200741086a200641086a290300370300200041d0006a200141e4006a280200360200200041dc006a200141f0006a2802003602002002200836020020002002290300370300200041386a200241386a290300370300200041306a200241306a290300370300200041286a200241286a290300370300200041206a200241206a290300370300200041186a200241186a290300370300200041106a200241106a290300370300200041086a200241086a2903003703000bb60f01127f2380808080004190056b2203248080808000024002400240024002400240200241726a0e03010203000b2000418880808078360200200141f0016a10ad93808000024020012802f001450d0020012802f40141002802a8bfd38000118080808000000b024020012802d801450d0020012802dc0141002802a8bfd38000118080808000000b024020012802e401450d0020012802e80141002802a8bfd38000118080808000000b02402001280284022204450d00200128028002210541002106034002402005200641386c6a220728021c2208450d00200728021841306a210203400240200241706a280200450d00200241746a28020041002802a8bfd38000118080808000000b02402002417c6a280200450d00200228020041002802a8bfd38000118080808000000b200241d0006a21022008417f6a22080d000b0b02402007280214450d00200728021841002802a8bfd38000118080808000000b02402007280220450d00200728022441002802a8bfd38000118080808000000b200641016a22062004470d000b0b20012802fc01450d0320012802800241002802a8bfd38000118080808000000c030b20034180016a200141d80110e9968080001a2001280284022104200128028002210520012802fc01210920012802ec01210a20012802e801210b20012802e401210c20012802e001210620012802dc01210d20012802d801210e20012802f801210820012802f4012102200320012802f0013602c004200320023602bc04200320023602b80420032002200841e0016c6a3602c404200341a8046a200341b8046a41a8bacc80001098938080002006450d03200341e0016a210f200d2108024020064101460d002006417f6a22024103712101200d2d00002107024002402006417e6a41034f0d0041002106200d21080c010b2002417c71211041002106200d21080340200d20066a220241046a2211200241036a2212200241026a2213200241016a2202200820022d00002202200741ff017122074922141b20132d000022082002200720141b22024922071b20122d000022122008200220071b22024922081b20112d000022072012200220081b22024922111b21082007200220111b21072010200641046a2206470d000b0b2001450d002006200d6a41016a2102034020022d00002206200741ff01712207200620074922061b21072002200820061b2108200241016a21022001417f6a22010d000b0b200341106a41106a200f41106a290300370300200341106a41086a200f41086a2903003703002003200f29030037031020082d000021022003200b3602a8032003200b3602ac032003200c3602b0032003200b200a41386c6a22083602b403200341086a200341a8036a200b200b200341a8036a41106a2008109093808000200320023a00342003200b36022c2003200c3602282003200328020c200b6b41386e3602300240200e450d00200d41002802a8bfd38000118080808000000b200341ac036a200341a8046a200341106a20034180016a10fd8f80800002402004450d0041002106034002402005200641386c6a220728021c2208450d00200728021841306a210203400240200241706a280200450d00200241746a28020041002802a8bfd38000118080808000000b02402002417c6a280200450d00200228020041002802a8bfd38000118080808000000b200241d0006a21022008417f6a22080d000b0b02402007280214450d00200728021841002802a8bfd38000118080808000000b02402007280220450d00200728022441002802a8bfd38000118080808000000b200641016a22062004470d000b0b02402009450d00200541002802a8bfd38000118080808000000b200341edcad18b063602940420034186808080783602a8032000200341a8036a41f00010e9968080001a0c020b20034180016a200141880210e9968080001a200341ac036a20034180016a10b99380800020034187808080783602a803200341edcad18b06360294042000200341a8036a41f00010e9968080001a0c010b20034180016a200141880210e9968080001a200320032802f0023602a003200320032802f402220236029c0320032002360298032003200220032802f80241e0016c6a3602a4032003418c036a20034198036a41a8bacc8000109c93808000200341c8046a20034180016a41286a290300370300200341c0046a20034180016a41206a29030037030020032003290398013703b804200341a8036a200341e0016a20034198016a10c093808000200320032802fc023602b004200320032802800322023602ac04200320023602a8042003200220032802840341386c6a3602b4042003419c046a200341a8046a41a8bacc8000109a93808000200341b8046a41286a20034180016a41c0006a290300370300200341b8046a41206a20034180016a41386a290300370300200341b8046a41386a200341d0016a290300370300200341b8046a41c0006a200341d8016a290300370300200320032903b0013703d004200320032903c8013703e8042003410036028c052003410036028405200341106a2003418c036a200341a8036a2003419c046a200341b8046a20034184056a10e88f808000200341edcad18b0636027c2000200341106a41f00010e9968080001a0b20034190056a2480808080000f0b41a4b7cc800041264198b8cc8000108b81808000000bbc0701117f23808080800041e0006b2202248080808000200220012802f001360220200220012802f401220336021c200220033602182002200320012802f80141e0016c6a3602242002410c6a200241186a41a8bacc8000109893808000024020012802e0012203450d00200141e0006a210420012802ec01210520012802e801210620012802e401210720012802d801210820012802dc012209210a024020034101460d002003417f6a220a410371210b20092d0000210c024002402003417e6a41034f0d004100210d2009210a0c010b200a417c71210e4100210d2009210a03402009200d6a220341046a220f200341036a2210200341026a2211200341016a2203200a20032d00002203200c41ff0171220c4922121b20112d0000220a2003200c20121b220349220c1b20102d00002210200a2003200c1b220349220a1b200f2d0000220c20102003200a1b220349220f1b210a200c2003200f1b210c200e200d41046a220d470d000b0b200b450d00200d20096a41016a2103034020032d0000220d200c41ff0171220c200d200c49220d1b210c2003200a200d1b210a200341016a2103200b417f6a220b0d000b0b200241286a41106a200441106a290300370300200241286a41086a200441086a29030037030020022004290300370328200a2d0000210320022006360250200220063602542002200736025820022006200541386c6a220a36025c2002200241d0006a20062006200241d0006a41106a200a109093808000200220033a004c20022006360244200220073602402002200228020420066b41386e36024802402008450d00200941002802a8bfd38000118080808000000b200041046a2002410c6a200241286a200110fd8f808000200128028002210b0240200128028402220f450d004100210d03400240200b200d41386c6a220c28021c220a450d00200c28021841306a210303400240200341706a280200450d00200341746a28020041002802a8bfd38000118080808000000b02402003417c6a280200450d00200328020041002802a8bfd38000118080808000000b200341d0006a2103200a417f6a220a0d000b0b0240200c280214450d00200c28021841002802a8bfd38000118080808000000b0240200c280220450d00200c28022441002802a8bfd38000118080808000000b200d41016a220d200f470d000b0b024020012802fc01450d00200b41002802a8bfd38000118080808000000b2000418680808078360200200041edcad18b0636026c200241e0006a2480808080000f0b41a4b7cc800041264198b8cc8000108b81808000000b970701087f024020002802082201450d002000280204210241002103034002402002200341e0016c6a2204280280012200418080808078460d0002402004280288012205450d002004280284012100034002402000280200450d00200041046a280200450d00200041086a28020041002802a8bfd38000118080808000000b0240200041dc006a280200450d00200041e0006a28020041002802a8bfd38000118080808000000b0240200041e8006a280200450d00200041ec006a28020041002802a8bfd38000118080808000000b200041f8006a21002005417f6a22050d000b20042802800121000b2000450d0020042802840141002802a8bfd38000118080808000000b02402004280210450d00200441186a10a6938080000b0240200428029c012205450d0020042802980141d0006a210003400240200041706a280200450d00200041746a28020041002802a8bfd38000118080808000000b02402000417c6a280200450d00200028020041002802a8bfd38000118080808000000b200041f0006a21002005417f6a22050d000b0b0240200428029401450d0020042802980141002802a8bfd38000118080808000000b02402004280238450d00200441c0006a10a6938080000b024020042802a8012205450d0020042802a40141306a210003400240200041706a280200450d00200041746a28020041002802a8bfd38000118080808000000b02402000417c6a280200450d00200028020041002802a8bfd38000118080808000000b200041d0006a21002005417f6a22050d000b0b024020042802a001450d0020042802a40141002802a8bfd38000118080808000000b02402004280260450d00200441e8006a10a6938080000b024020042802b4012206450d0020042802b00121072006410171210841002105024020064101460d00200741d4006a21002006417e71210641002105034002402000414c6a280200450d00200041506a28020041002802a8bfd38000118080808000000b02402000417c6a280200450d00200028020041002802a8bfd38000118080808000000b200041e0006a21002006200541026a2205470d000b0b2008450d002007200541306c6a2200280220450d00200041206a28020441002802a8bfd38000118080808000000b024020042802ac01450d0020042802b00141002802a8bfd38000118080808000000b024020042802b801450d0020042802bc0141002802a8bfd38000118080808000000b200341016a22032001470d000b0b0bb80503037f017e067f23808080800041d0006b2203248080808000200341106a200110a3938080000240024020032802100d002000410036020820004280808080c000370200200110a7938080000c010b200128022041016a2204417f20041b22044104200441044b1b2205ad42147e2206a7210441002107024002402006422088a70d00200441fcffffff074b0d002003280224210720032802202108200328021c21092003280218210a20032d0014210b024020040d004104210c410021050c020b41002d00b8bfd380001a200441002802b0bfd3800011828080800000220c0d01410421070b20072004200210ae80808000000b200c2007360210200c200836020c200c2009360208200c200a360204200c200b3a00002003200c360208200320053602042003410136020c200341106a41206a200141206a280200360200200341106a41186a200141186a290200370300200341106a41106a200141106a290200370300200341106a41086a200141086a29020037030020032001290200370310200341386a200341106a10a393808000024020032802384101470d0041242105410121040340200328024c210220032802482107200328024421082003280240210920032d003c210a024020042003280204470d00200341046a2004200328023041016a2201417f20011b4104411410c2938080002003280208210c0b200c20056a220141706a200a3a0000200120023602002001417c6a2007360200200141786a2008360200200141746a2009360200200141716a220120032f00353b0000200141026a200341356a41026a2d00003a00002003200441016a220436020c200541146a2105200341386a200341106a10a39380800020032802380d000b0b200341106a10a793808000200041086a200341046a41086a280200360200200020032902043702000b200341d0006a2480808080000bee0201087f0240200220016b220441fcffffff074d0d0041002004200310ae80808000000b410421050240024020022001470d00410021060c010b41002d00b8bfd380001a0240200441002802b0bfd380001182808080000022070d0041042004200310ae80808000000b200441047622062108410021050340200120056a2203410c6a2802002204410274210241002109024002400240200441ffffffff034b0d00200241fcffffff074b0d0020032d00002109200341086a2802002103024020020d004104210a4100210b0c030b41002d00b8bfd380001a200241002802b0bfd3800011828080800000220a0d01410421090b200920024198b9cc800010ae80808000000b2004210b0b200a2003200210e9968080002103200720056a220220093a00002002410c6a2004360200200241086a2003360200200241046a200b360200200541106a21052008417f6a22080d000b200721050b2000200636020820002005360204200020063602000bf408010b7f200020002d0010220320002d00002204494104746a220520004130412020002d003020002d00204922061b6a22072000200320044f4104746a220320004120413020061b6a22042d000020032d00004922061b20072d000020052d00004922081b22092d0000210a20042003200720081b20061b220b2d0000210c200241086a2007200520081b220741086a290200370200200220072902003702002002200b2009200c200a4922071b2205290200370210200241186a200541086a290200370200200241286a2009200b20071b220741086a29020037020020022007290200370220200241386a2003200420061b220341086a290200370200200241306a22072003290200370200200041c0006a220320002d0050220520002d00402206494104746a220420034130412020002d007020002d00604922081b6a22002003200520064f4104746a220520034120413020081b6a22062d000020052d00004922081b20002d000020042d00004922091b220b2d0000210c20062005200020091b20081b220a2d0000210d200241c0006a22032000200420091b2200290200370200200241c8006a200041086a290200370200200241d0006a200a200b200d200c4922001b2204290200370200200241d8006a200441086a290200370200200241e0006a200b200a20001b2200290200370200200241e8006a200041086a290200370200200241f0006a22002005200620081b2205290200370200200241f8006a200541086a29020037020020012003200220032d0000220520022d000022044922061b2208290200370200200141086a200841086a29020037020020012007200020002d0000220820072d0000220949220b1b220a290200370270200141f8006a200a41086a2902003702002001200320064104746a22032002200520044f4104746a220220032d0000220520022d000022044922061b220a290200370210200141186a200a41086a2902003702002001200741704100200b1b6a2207200041704100200820094f1b6a220020002d0000220820072d0000220949220b1b220a290200370260200141e8006a200a41086a2902003702002001200320064104746a22032002200520044f4104746a220220032d0000220520022d000022044922061b220a290200370220200141286a200a41086a2902003702002001200741704100200b1b6a2207200041704100200820094f1b6a220020002d0000220820072d0000220949220b1b220a290200370250200141d8006a200a41086a2902003702002001200320064104746a22032002200520044f4104746a220220032d0000220520022d0000220449220a1b2206290200370230200141386a200641086a2902003702002001200741704100200b1b6a2207200041704100200820094f1b6a220020002d0000220920072d0000220b4922061b2208290200370240200141c8006a200841086a290200370200024002402002200520044f4104746a20074170410020061b6a41106a470d002003200a4104746a2000417041002009200b4f1b6a41106a460d010b108581808000000b0bf70101067f23808080800041106b210402402002417f6a20014f0d00024020022001460d00200020014104746a21052000200241047422066a21070340024020072d00002208200741706a2d00004f0d00200420072900013703002004200741086a2900003700072006210202400340200020026a2201200141706a2209290200370200200141086a200941086a290200370200024020024110470d00200021020c020b200241706a21022008200141606a2d0000490d000b200020026a21020b200220083a000020022004290300370001200241086a20042900073700000b200641106a2106200741106a22072005470d000b0b0f0b000bb20201087f23808080800041206b210402402002417f6a20014f0d00024020022001460d002000200141146c6a21052000200241146c22066a2107200441176a2108200441086a41086a21090340024020072d0000220a2007416c6a2d00004f0d002008200741106a2800003600002009200741096a290000370300200420072900013703082006210102400340200020016a22022002416c6a220b290200370200200241106a200b41106a280200360200200241086a200b41086a290200370200024020014114470d00200021020c020b2001416c6a2101200a200241586a2d0000490d000b200020016a21020b2002200a3a000020022004290308370001200241096a2009290300370000200241106a20082800003600000b200641146a2106200741146a22072005470d000b0b0f0b000b8e0d03117f017e017f23808080800041306b220524808080800002400240024020014102490d00200141106a20034b0d02410121062001410176210702400240200141074d0d0020022000413c412820002d003c20002d00284922081b6a2203200020002d0014220920002d0000220a4941146c6a220b20032d0000200b2d000049220c1b220d290200370200200241086a200d41086a290200370200200241106a200d41106a280200360200200220004128413c20081b6a220820002009200a4f41146c6a220d2003200c1b20082d0000200d2d00004922091b220a200b2003200d20091b200c1b2203200a2d000020032d000049220c1b220b2902003702142002411c6a200b41086a290200370200200241246a200b41106a280200360200200241386a2003200a200c1b220341106a280200360200200241306a200341086a29020037020020022003290200370228200241cc006a200d200820091b220341106a280200360200200241c4006a200341086a2902003702002002200329020037023c2000200741146c220e6a220320032d0014220b20032d000022084941146c6a220c2003413c412820032d003c20032d00284922091b6a220d2003200b20084f41146c6a220b20034128413c20091b6a22082d0000200b2d00004922091b200d2d0000200c2d000049220a1b220f2d000021102008200b200d200a1b20091b22112d000021122002200e6a2203200d200c200a1b220d290200370200200341086a200d41086a290200370200200341106a200d41106a28020036020020032011200f2012201049220c1b220d290200370214200341246a200d41106a2802003602002003411c6a200d41086a290200370200200341386a200f2011200c1b220d41106a280200360200200341306a200d41086a2902003702002003200d290200370228200341cc006a200b200820091b220d41106a280200360200200341c4006a200d41086a2902003702002003200d29020037023c410421060c010b20022000290200370200200241106a200041106a280200360200200241086a200041086a2902003702002002200741146c220d6a22032000200d6a220d290200370200200341086a200d41086a290200370200200341106a200d41106a2802003602000b2005410236021420052007ad422086370308200641146c2108200120076b211341002103200541276a21144102210c03402005200341016a220d3602102003410274210b200d21030240200620132007200b200541086a6a280200220d1b22124f0d002000200d41146c22036a21154114210f200220036a221021112006210a03402010200a41146c220d6a22032015200d6a220d2902002216370200200341106a200d41106a220b280200360200200341086a200d41086a29020037020002402016a7220e41ff017122092003416c6a2d00004f0d002014200b280000360000200541186a41086a2217200d41096a2900003703002005200d290001370318200f210c2011210d02400340200d20086a22032003416c6a220b290200370200200341106a200b41106a280200360200200341086a200b41086a29020037020002402008200c470d00201021030c020b200c41146a210c200d416c6a210d2009200341586a2d0000490d000b200d20086a21030b2003200e3a000020032005290318370001200341096a2017290300370000200341106a20142800003600000b200f416c6a210f201141146a2111200a41016a220a2012470d000b200528021021032005280214210c0b200c2003470d000b2000200141146c416c6a220d6a21032002200d6a210c2002200741146c6a220d416c6a210b03402000200d2002200d2d0000220920022d0000220a49220f1b2208290200370200200041086a200841086a290200370200200041106a200841106a280200360200200341106a200b200c200c2d00002211200b2d0000220e4922101b220841106a280200360200200341086a200841086a290200370200200320082902003702002003416c6a2103200041146a2100200b416c410020101b6a210b200c416c41002011200e4f1b6a210c20022009200a4f41146c6a2102200d200f41146c6a210d2007417f6a22070d000b200b41146a210302402001410171450d0020002002200d200220034922081b220b290200370200200041106a200b41106a280200360200200041086a200b41086a290200370200200d200220034f41146c6a210d2002200841146c6a21020b20022003470d01200d200c41146a470d010b200541306a2480808080000f0b108581808000000b000bab0b02107f017e23808080800041206b22052480808080000240024020014102490d00024002400240200141106a20034b0d00200141017621062001410f4b0d010240200141074d0d0041042107200220004130412020002d003020002d00204922081b6a2203200020002d0010220920002d0000220a494104746a220b20032d0000200b2d000049220c1b220d290200370200200241086a200d41086a290200370200200220004120413020081b6a220d20002009200a4f4104746a22082003200c1b200d2d000020082d00004922091b220a200b2003200820091b200c1b2203200a2d000020032d000049220b1b220c290200370210200241186a200c41086a290200370200200241286a2003200a200b1b220341086a29020037020020022003290200370220200241386a2008200d20091b220341086a2902003702002002200329020037023020002006410474220e6a220320032d0010220b20032d0000220d494104746a220c20034130412020032d003020032d00204922091b6a22082003200b200d4f4104746a220b20034120413020091b6a220d2d0000200b2d00004922091b20082d0000200c2d000049220a1b220f2d00002110200d200b2008200a1b20091b22112d000021122002200e6a220341086a2008200c200a1b220841086a2902003702002003200829020037020020032011200f201220104922081b220c290200370210200341186a200c41086a290200370200200341286a200f201120081b220841086a29020037020020032008290200370220200341386a200b200d20091b220841086a290200370200200320082902003702300c030b20022000290200370200200241086a200041086a2902003702002002200641047422036a2208200020036a2203290200370200200841086a200341086a290200370200410121070c020b000b20002002200220014104746a220310b0938080002000200641047422086a200220086a20034180016a10b093808000410821070b2005410236020c20052006ad4220863703002007410474210c200120066b2113410021034102210d03402005200341016a22083602082003410274210b2008210302402007201320062005200b6a28020022081b22124f0d002000200841047422036a21144110210f200220036a221021112007210a03402010200a41047422086a2203201420086a22082902002215370200200341086a200841086a220b29020037020002402015a7220e41ff01712209200341706a2d00004f0d00200520082900013703102005200b290000370017200f210b20112108024003402008200c6a2203200341706a220d290200370200200341086a200d41086a2902003702000240200c200b470d00201021030c020b200b41106a210b200841706a21082009200341606a2d0000490d000b2008200c6a21030b2003200e3a000020032005290310370001200341086a20052900173700000b200f41706a210f201141106a2111200a41016a220a2012470d000b20052802082103200528020c210d0b200d2003470d000b2000200141047441706a22036a210c200220036a210b200220064104746a220341706a2108034020002003200220032d0000220d20022d0000220949220a1b220f290200370200200041086a200f41086a290200370200200c2008200b200b2d0000220f20082d0000221149220e1b2210290200370200200c41086a201041086a290200370200200c41706a210c200041106a2100200841704100200e1b6a2108200b41704100200f20114f1b6a210b2002200d20094f4104746a21022003200a4104746a21032006417f6a22060d000b200841106a210802402001410171450d002000200220032002200849220c1b220d290200370200200041086a200d41086a2902003702002003200220084f4104746a21032002200c4104746a21020b20022008470d012003200b41106a470d010b200541206a2480808080000f0b108581808000000bd60b01117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610b3938080000c010b2002416c6a21080340024020040d0020002001200220034101200610a1938080000c020b200020014103762209418c016c6a210a2000200941d0006c6a210b02400240200141c000490d002000200b200a200910b79380800021090c010b2000200a200b20002d00002209200b2d0000220c49220d200c200a2d0000220e49731b200d2009200e49731b21090b2004417f6a2104200741106a2000200920006b41146e220f41146c6a221041106a280200360200200741086a201041086a29020037030020072010290200370300024002400240024002402005450d0020052d000020102d00004f0d010b200120034b0d014100210a200021092002200141146c22116a2212210c200f21130340024020092000201341146c6a220e4f0d0003402002200c416c6a220c20092d000020102d000049220d1b200a41146c6a220b2009290200370200200b41106a200941106a280200360200200b41086a200941086a290200370200200a200d6a210a200941146a2209200e490d000b0b024020132001460d00200c416c6a220c200a41146c6a220b2009290200370200200b41106a200941106a280200360200200b41086a200941086a290200370200200941146a2109200121130c010b0b20002002200a41146c221410e99680800021152001200a6b211302402001200a460d0020134101712116201520146a21174100210c02402001200a41016a460d002013417e71210e200820116a210b4100210c2017210903402009200b290200370200200941106a200b41106a280200360200200941086a200b41086a290200370200200941146a2012200c41feffffff037341146c6a220d2902003702002009411c6a200d41086a290200370200200941246a200d41106a280200360200200b41586a210b200941286a2109200e200c41026a220c470d000b0b2016450d002017200c41146c6a22092012200c417f7341146c6a220b290200370200200941106a200b41106a280200360200200941086a200b41086a2902003702000b200a450d002001200a4f0d02200741003602282007410136021c200741d8bbcc800036021820074204370220200741186a41e0bbcc800010f280808000000b200120034b0d004100210b200021092002200141146c22146a2213210c0340024020092000200f41146c6a220e4f0d0003402002200c416c6a220c20102d000020092d00004f220d1b200b41146c6a220a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200b200d6a210b200941146a2209200e490d000b0b0240200f2001460d002002200b41146c6a220a2009290200370200200a41106a200941106a280200360200200a41086a200941086a290200370200200941146a2109200b41016a210b200c416c6a210c2001210f0c010b0b20002002200b41146c221210e99680800021002001200b6b210a02402001200b460d00200a410171210f200020126a21154100210d02402001200b41016a460d00200a417e712110200820146a210c4100210d2015210903402009200c290200370200200941106a200c41106a280200360200200941086a200c41086a290200370200200941146a2013200d41feffffff037341146c6a220e2902003702002009411c6a200e41086a290200370200200941246a200e41106a280200360200200c41586a210c200941286a21092010200d41026a220d470d000b0b200f450d002015200d41146c6a22092013200d417f7341146c6a220c290200370200200941106a200c41106a280200360200200941086a200c41086a2902003702000b02402001200b4f0d00200b200141f0bbcc800010a881808000000b200020126a210041002105200a2101200a41214f0d030c020b000b201520146a20132002200320042007200610b593808000200a2101200a41214f0d010b0b2000200a20022003200610b3938080000b200741306a2480808080000bf90e01117f23808080800041306b220724808080800002400240200141214f0d002000200120022003200610b4938080000c010b200241706a21080340024020040d0020002001200220034101200610a2938080000c020b20002001410376220941f0006c6a210a200020094106746a210b02400240200141c000490d002000200b200a200910b893808000210c0c010b2000200a200b20002d00002209200b2d0000220c49220d200c200a2d0000220e49731b200d2009200e49731b210c0b2004417f6a2104200741086a41086a200c41086a2902003703002007200c290200370308200c20006b410476210f024002400240024002402005450d0020052d0000200c2d00004f0d010b200120034b0d014100210b200021092002200141047422106a2211210a200f2112034002402009200041002012417d6a220d200d20124b1b4104746a22134f0d0003402002200a41706a20092d0000200c2d000049220d1b200b4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200941106a220e2d0000200c2d00004922141b200b200d6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200941206a220d2d0000200c2d000049220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200941306a220d2d0000200c2d00004922141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210b200941c0006a22092013490d000b0b02402009200020124104746a22144f0d0003402002200a41706a220a20092d0000200c2d000049220d1b200b4104746a220e2009290200370200200e41086a200941086a290200370200200b200d6a210b200941106a22092014490d000b0b024020122001460d00200a41706a220a200b4104746a220d2009290200370200200d41086a200941086a290200370200200941106a2109200121120c010b0b20002002200b410474221210e99680800021152001200b6b211302402001200b460d0020134101712116201520126a21174100210d02402001200b41016a460d002013417e712114200820106a210a4100210d2017210903402009200a290200370200200941086a200a41086a290200370200200941106a2011200d41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200d41026a220d470d000b0b2016450d002017200d4104746a22092011200d417f734104746a220a290200370200200941086a200a41086a2902003702000b200b450d002001200b4f0d02200741003602282007410136021c200741d8bbcc800036021820074204370220200741186a41e0bbcc800010f280808000000b200120034b0d004100210d200021092002200141047422116a2212210a03400240200920004100200f417d6a220b200b200f4b1b4104746a22134f0d0003402002200a41706a200c2d000020092d00004f220b1b200d4104746a220e2009290200370200200e41086a200941086a2902003702002002200a41606a200c2d0000200941106a220e2d00004f22141b200d200b6a220b4104746a220d200e290200370200200d41086a200941186a2902003702002002200a41506a200c2d0000200941206a220d2d00004f220e1b200b20146a220b4104746a2214200d290200370200201441086a200941286a2902003702002002200a41406a220a200c2d0000200941306a220d2d00004f22141b200b200e6a220b4104746a220e200d290200370200200e41086a200941386a290200370200200b20146a210d200941c0006a22092013490d000b0b024020092000200f4104746a22144f0d0003402002200a41706a220a200c2d000020092d00004f220b1b200d4104746a220e2009290200370200200e41086a200941086a290200370200200d200b6a210d200941106a22092014490d000b0b0240200f2001460d002002200d4104746a220b2009290200370200200b41086a200941086a290200370200200941106a2109200d41016a210d200a41706a210a2001210f0c010b0b20002002200d410474221310e99680800021002001200d6b210b02402001200d460d00200b410171210f200020136a21154100210c02402001200d41016a460d00200b417e712114200820116a210a4100210c2015210903402009200a290200370200200941086a200a41086a290200370200200941106a2012200c41feffffff00734104746a220e290200370200200941186a200e41086a290200370200200a41606a210a200941206a21092014200c41026a220c470d000b0b200f450d002015200c4104746a22092012200c417f734104746a220a290200370200200941086a200a41086a2902003702000b02402001200d4f0d00200d200141f0bbcc800010a881808000000b200020136a210041002105200b2101200b41214f0d030c020b000b201520126a2013200220032004200741086a200610b693808000200b2101200b41214f0d010b0b2000200b20022003200610b4938080000b200741306a2480808080000b8d0101037f024020034108490d00200020002003410376220341d0006c22046a20002003418c016c22056a200310b79380800021002001200120046a200120056a200310b79380800021012002200220046a200220056a200310b79380800021020b20002002200120002d0000220320012d00002204492205200420022d0000220649731b20052003200649731b0b8c0101037f024020034108490d00200020002003410376220341067422046a2000200341f0006c22056a200310b89380800021002001200120046a200120056a200310b89380800021012002200220046a200220056a200310b89380800021020b20002002200120002d0000220320012d00002204492205200420022d0000220649731b20052003200649731b0bb30f02117f017e2380808080004190026b22022480808080002002410036022c200242003702202002420037021420024280808080800137020c20012802f401210320012802f0012104024002400240024020012802f80122050d00410421060c010b41002d00b8bfd380001a200541d0006c220741002802b0bfd38000118280808000002206450d010b20024184026a41086a220741003602002002200636028802200220053602840220022003200541e0016c6a3602ec01200220043602e801200220033602e401200220033602e00120022006360268200241003602642002200736026020022002410c6a36026c200241e0016a200241e0006a108f93808000200241306a41086a2007280200360200200220022902840237033020012802e0012203450d0120012802ec01210820012802e801210920012802e401210a20012802d801210b20012802dc01220c2105024020034101460d002003417f6a22054103712104200c2d00002106024002402003417e6a41034f0d0041002107200c21050c010b2005417c71210d41002107200c21050340200c20076a220341046a220e200341036a220f200341026a2210200341016a2203200520032d00002203200641ff017122064922111b20102d000022052003200620111b22034922061b200f2d0000220f2005200320061b22034922051b200e2d00002206200f200320051b220349220e1b210520062003200e1b2106200d200741046a2207470d000b0b2004450d002007200c6a41016a2103034020032d00002207200641ff01712206200720064922071b21062003200520071b2105200341016a21032004417f6a22040d000b0b20052d00002105200241e0006a41106a220420014188016a290300370300200241e0006a41086a220e20014180016a290300370300200241e0006a41206a220f20014198016a290300370300200241e0006a41286a2210200141a0016a290300370300200241e0006a41386a2211200141b0016a290300370300200241e0006a41c0006a220d200141b8016a290300370300200220012903783703602002200129039001370378200220012903a80137039001200241e0006a41d8006a200141d0016a290300370300200241e0006a41d0006a200141c8016a290300370300200220093602e001200220093602e4012002200a3602e80120022009200841386c6a22033602ec01200220012903c0013703a8012002200241e0016a20092009200241e0016a41106a220820031090938080002002428080808080013702e8012002428880808080013702e001200220053a00cc01200220093602c4012002200a3602c0012002200228020420096b41386e3602c801200241a8016a210320024190016a2106200241e0006a41186a21070240200b450d00200c41002802a8bfd38000118080808000000b2002410c6a200241e0006a10c991808000210c2002410c6a200710c99180800021092002410c6a200610c991808000210a2002410c6a200310c991808000210b20022802c801211220022802c4012103200220022802c0013602e801200220033602e401200220033602e00120022003201241386c6a3602ec0120022002410c6a3602f001200241c0006a200241e0016a41a8adc8800010d08f808000200220053a005c2002200b3602582002200a360254200220093602502002200c36024c2002410c6a200110c9918080002105200128028402210c2001280280022103200220012802fc01360268200220033602642002200336026020022003200c41386c6a36026c20022002410c6a360270200241d4016a200241e0006a41a8bacc80001097938080002004200141286a290300370300200e200141206a290300370300200f200141386a2903003703002010200141c0006a2903003703002011200141d0006a290300370300200d200141d8006a290300370300200220012903183703602002200129033037037820022001290348370390012002410c6a200241e0006a10c99180800021012002410c6a200710c99180800021072002410c6a200610c9918080002106200241e0016a41206a2002410c6a41206a2802002204360200200241e0016a41186a220e2002410c6a41186a290200221337030020082002410c6a41106a290200370300200241e0016a41086a2002410c6a41086a2902003703002002200229020c3703e0012002200441002013a722031b36028001200220022802fc01220436027c200220033602782002410036027420022003410047220f3602702002200436026c20022003360268200241003602642002200f3602602000200241e0006a41d8c0cb800010af91808000200241ec016a10b591808000024020022802e001450d0020022802e40141002802a8bfd38000118080808000000b200e10b691808000200041146a200241306a41086a2802003602002000200229033037020c20002002290240370218200041206a200241c0006a41086a290200370200200041286a200241d0006a290200370200200041306a200241d8006a29020037020020002005360244200020022902d401370238200041c0006a200241d4016a41086a280200360200200020013602482000200736024c20002006360250200041003602542000410036025c20024190026a2480808080000f0b4104200710b980808000000b4180bccc8000412641f4bccc8000108b81808000000b9c0a05057f017e037f017e027f2380808080004180016b2202248080808000200128027c210320012802782104418080808078210502402001280280012206418080808078460d00200129028c0121072002200128028401220820012802880141f8006c6a36027c200220063602782002200836027420022008360270200241c8006a200241f0006a41a8bacc8000109b93808000200241106a20073703002002200229024c370308200228024821050b02400240200128021022080d000c010b200241c8006a41086a200141086a290300370300200241c8006a411c6a2001411c6a290200370200200241c8006a41246a200141246a280200360200200220083602582002200129030037034820022001290214220737025c200241e0006a10a6938080002007a721090b024002402001280238220a0d000c010b200241c8006a41086a200141306a2903002207370300200241e4006a200141c4006a290200370200200241ec006a200141cc006a280200360200200241186a41086a20073703002002200a3602582002200129032822073703482002200129023c220b37025c20022007370318200241e0006a10a693808000200ba7210c0b200220012802a001360240200220012802a401220636023c200220063602382002200620012802a80141d0006c6a3602442002412c6a200241386a41a8bacc800010a09380800002400240200128026022060d000c010b200241c8006a41086a200141d8006a2903002207370300200241e4006a200141ec006a290200370200200241ec006a200141f4006a280200360200200241f0006a41086a20073703002002200636025820022001290350220737034820022001290264220b37025c20022007370370200241e0006a10a693808000200ba7210d0b200020053602502000200336024c20002004360248200020022903083702542000200936021420002008360210200020012903b80137037020002001290300370300200041f8006a200141c0016a280200360200200041dc006a200241086a41086a290300370200200041086a200141086a29030037030020012d00d80121082000200a3602282000200c36022c200020063602402000200d360244200020083a007c200041206a200241186a41086a290300370300200020022903183703182000200229022c370264200041ec006a2002412c6a41086a28020036020020002002290370370330200041386a200241f0006a41086a29030037030020012802980121080240200128029c012206450d00200841d0006a210003400240200041706a280200450d00200041746a28020041002802a8bfd38000118080808000000b02402000417c6a280200450d00200028020041002802a8bfd38000118080808000000b200041f0006a21002006417f6a22060d000b0b0240200128029401450d00200841002802a8bfd38000118080808000000b20012802b001210a024020012802b4012208450d002008410171210541002106024020084101460d00200a41d4006a21002008417e71210841002106034002402000414c6a280200450d00200041506a28020041002802a8bfd38000118080808000000b02402000417c6a280200450d00200028020041002802a8bfd38000118080808000000b200041e0006a21002008200641026a2206470d000b0b2005450d00200a200641306c6a2200280220450d00200041206a28020441002802a8bfd38000118080808000000b024020012802ac01450d00200a41002802a8bfd38000118080808000000b20024180016a2480808080000b910c04057f017e067f017e2380808080004180026b2202248080808000200128027c210320012802782104418080808078210502402001280280012206418080808078460d00200129028c0121072002200128028401220520012802880141f8006c6a3602e401200220063602e001200220053602dc01200220053602d801200241b0016a200241d8016a41a8bacc8000109f93808000200241086a2007370300200220022902b40137030020022802b00121050b024020012802102208450d0020012802142109200128021c210a200220012802204100200128021822061b3602f8012002200a3602f401200220063602f001200241003602ec0120022006410047220b3602e8012002200a3602e401200220063602e001200241003602dc012002200b3602d801200241c8016a200241d8016a10a593808000200241186a200241cc016a290200370300200241206a200241d4016a280200360200200220093602c401200220022902c4013703100b2002200128029401360238200220012802980122063602342002200636023020022006200128029c0141f0006c6a36023c200241246a200241306a41a8bacc8000109e9380800002402001280238220a450d00200128023c210b20012802442109200220012802484100200128024022061b3602f801200220093602f401200220063602f001200241003602ec0120022006410047220c3602e801200220093602e401200220063602e001200241003602dc012002200c3602d801200241c8016a200241d8016a10a593808000200241c0006a41086a200241cc016a290200370300200241d0006a200241d4016a280200360200200241d8006a41086a200141306a2903003703002002200b3602c40120022001290328370358200220022902c4013703400b200220012802a00136028001200220012802a401220636027c200220063602782002200620012802a80141d0006c6a36028401200241ec006a200241f8006a41a8bacc8000109993808000024020012802602209450d002001280264210c200128026c210b200220012802704100200128026822061b3602f8012002200b3602f401200220063602f001200241003602ec0120022006410047220d3602e8012002200b3602e401200220063602e001200241003602dc012002200d3602d801200241c8016a200241d8016a10a59380800020024188016a41086a200241cc016a29020037030020024198016a200241d4016a280200360200200241d8016a41086a200141d8006a2903003703002002200c3602c401200220012903503703d801200220022902c401370388010b20012d00d801210b200220012802ac013602a801200220012802b00122063602a401200220063602a0012002200620012802b40141306c6a3602ac01200241b0016a200241a0016a41a8bacc8000109d9380800020002005360280012000200336027c200020043602782000200836021020002002290300370284012000418c016a200241086a29030037020020002001290300370300200041086a200141086a290300370300200020022903103702142000411c6a200241106a41086a290300370200200041246a200241106a41106a28020036020020012902c401210720012902cc01210e20012802d40121062000200a360238200041306a200241d8006a41086a290300370300200020022903583703282000200229034037023c200041c4006a200241c0006a41086a290300370200200041cc006a200241c0006a41106a2802003602002000200229026c370294012000419c016a200241ec006a41086a280200360200200020022903d801370350200041d8006a200241d8016a41086a290300370300200020093602602000200b3a00d801200041f4006a20024188016a41106a280200360200200041ec006a20024188016a41086a2903003702002000200229038801370264200041a8016a200241b0016a41086a280200360200200020022902b0013702a001200041b4016a200241246a41086a280200360200200020022902243702ac01200020012903b8013703b801200041c0016a200141c0016a280200360200200020063602d4012000200e3702cc01200020073702c40120024180026a2480808080000bba0101067f2001280214210220012802302103200128022c21042001280218220521060240200128021c2207450d002005200741d0006c6a2106200521070340200741d0006a22072006470d000b0b200020033602302000200436022c200020053602182000200236021420002001290220370220200020012802343602342000200128021036021020002001290208370208200020012902003702002000200620056b41d0006e36021c200041286a200141286a2802003602000bcc0202097f037e200128024021022001280224210320012802202104200128024422052106024020012802482207450d00200741057421082007417f6a41ffffff3f7121092005210a024020074103712206450d002005210a0340200a41206a210a2006417f6a22060d000b0b200520086a210620094103490d000340200a4180016a220a2006470d000b0b2000200536024420002002360240200020033602242000200436022020002001290300370300200041086a200141086a290300370300200041106a200141106a290300370300200041186a200141186a2903003703002000200620056b410576360248200129024c210b2001290254210c200129025c210d200020012902643702642000200d37025c2000200c3702542000200b37024c200041386a200141386a290300370300200041306a200141306a290300370300200020012903283703280b830203037f017e017f2380808080004180206b220324808080800002400240024020014180b51820014180b518491b2204200120014101766b2205200420054b1b220441cd01490d002004ad42147e2206a721054100210702402006422088a70d00200541fcffffff074b0d00024020050d0041042107410021040c030b41002d00b8bfd380001a200541002802b0bfd380001182808080000022070d02410421070b2007200541b8bacc800010ae80808000000b20002001200341cc01200141c10049200210a1938080000c010b2000200120072004200141c10049200210a193808000200741002802a8bfd38000118080808000000b20034180206a2480808080000bed0101057f2380808080004180206b220324808080800002400240200141a0c21e200141a0c21e491b2204200120014101766b2205200420054b1b2204418102490d00200441047421064100210702400240200541ffffffff004b0d00200641fcffffff074b0d0041002d00b8bfd380001a200641002802b0bfd380001182808080000022050d01410421070b2007200641b8bacc800010ae80808000000b2000200120052004200141c10049200210a293808000200541002802a8bfd38000118080808000000c010b200020012003418002200141c10049200210a2938080000b20034180206a2480808080000bbc0501077f23808080800041106b2203248080808000024002400240200128028c0122040d00410421050c010b4100210641002d00b8bfd380001a2004410274220741002802b0bfd38000118280808000002205450d0120044107712108024020044108490d00200441f8ffff1f71210941002106200521070340200720063602002007411c6a200641076a360200200741186a200641066a360200200741146a200641056a360200200741106a200641046a3602002007410c6a200641036a360200200741086a200641026a360200200741046a200641016a360200200741206a2107200641086a22062009470d000b0b2008450d00200520064102746a2107034020072006360200200741046a2107200641016a21062008417f6a22080d000b0b2003200436020c2003200536020820032004360204200341003a0000200041c8006a2003200341106a10a49380800002402003280204450d00200328020841002802a8bfd38000118080808000000b200020012902783702542000200129031837030020002001290348370330200041dc006a20014180016a280200360200200041086a200141206a290300370300200041106a200141286a290300370300200041386a200141d0006a290300370300200041c0006a200141d8006a29030037030020012802840121092001280288012208210702402004450d00200441386c21012004417f6a41ffffffff0171210520082106024020044103712207450d00200821060340200641386a21062007417f6a22070d000b0b200820016a210720054103490d000340200641e0016a22062007470d000b0b2000200836026420002009360260200020022903003703182000200720086b41386e360268200041206a200241086a290300370300200041286a200241106a290300370300200341106a2480808080000f0b410420074184becc800010ae80808000000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10c19380800020052802084101470d0120052802102102200528020c21060b200620024188bfcc800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ef003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541063a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054186013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ca013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054184013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205413a3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541cb013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542a19cde95be92a6d3ad7f3703002005420437022c20054212370224200541c5c3cc8000360220200541003602182005418e85808000360210200542e8d1bef3e58cfef72337030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205419d013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205412e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541a2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541dc003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541cc003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d6003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c8003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541a5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541a8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f1003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205418d013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541df013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541233a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541df003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ed013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541a6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541a4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054185013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541293a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d9003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542a5cbdbd6feaf8d885c3703002005420437022c2005420f37022420054198c2cc8000360220200541003602182005418f85808000360210200542d7938e9fe78d9cc93137030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541dd003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000b9f0201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542f39da9fd92cdaef5653703002005420437022c2005420b37022420054183c2cc8000360220200541003602182005419085808000360210200542fb848dc6c5a7dc902937030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541033a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d0003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ca003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c0003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054193013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541143a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d1003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205419a013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054195013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542b5bacfd0bd9e9de6103703002005420437022c20054212370224200541a7c2cc8000360220200541003602182005419185808000360210200542aff6abcb8e838cddce0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054197013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541fa013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541113a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541af013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d2003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e0003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d7003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ff003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205410b3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541303a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205413d3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205412d3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e6003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205419c013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541fc013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205410e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541cf003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205411b3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c7003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205419f013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ee013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205419b013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541cf013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541213a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e1003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541db013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542fab18f82a0fb86e28b7f3703002005420437022c200542093702242005419cc4cc80003602202005410036021820054192858080003602102005429fdff29297a18dd34a37030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205410e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ae013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541333a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541243a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e8003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50401067f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a4188c0cc800010b8918080002004280218220542fb8491aeb8cedab7ba7f370308200542a691cddcd9a0e28da77f370300200441086a41086a220641013602002005420437022c20054211370224200541ccc1cc800036022020054100360218200541938580800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054207370224200541ddc1cc800036022020054100360218200541948580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe4003703000c010b200441086a4188c0cc800010b891808000200428020c200641386c6a2205420437022c20054207370224200541ddc1cc800036022020054100360218200541948580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe400370300200428020c2108200428020821070b0240200128020822092001280200470d00200141f8bfcc800010af968080000b2001280204200941246c6a220541043a00202005200336021c200520023602182005410036021420054280808080c00037020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205418b013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541fe013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ea003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054198013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541fd003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541dd013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541b1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205412a3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205411c3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205418f013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541223a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ea013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541cc013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ff013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541eb003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205410f3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f3003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541373a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541aa013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541be013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541053a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ba013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205410c3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541313a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ee003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541123a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054189013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ad013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541193a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541cd013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541253a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541103a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c5003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f6003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541fe003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541073a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541b6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ec013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054183013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541fb003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541cb003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f9003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205419e013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ec003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542abf4eea5aba3ed80957f3703002005420437022c20054210370224200541d7c3cc8000360220200541003602182005419585808000360210200542f9d8f1fbeb9388f9d90037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f4003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e7003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054190013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541283a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f8003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205413b3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205411f3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205411d3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541dc013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c9003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205412c3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205412f3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541093a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205413c3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541b5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541a3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ab013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054196013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541eb013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541bb013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542aceff0b4f2bd8f8fe4003703002005420437022c20054207370224200541ddc1cc800036022020054100360218200541948580800036021020054296e397c6bfa5aeee4637030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541a1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ce013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205410a3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50401067f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a4188c0cc800010b8918080002004280218220542fb8491aeb8cedab7ba7f370308200542a691cddcd9a0e28da77f370300200441086a41086a220641013602002005420437022c20054211370224200541ccc1cc800036022020054100360218200541938580800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054207370224200541ddc1cc800036022020054100360218200541948580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe4003703000c010b200441086a4188c0cc800010b891808000200428020c200641386c6a2205420437022c20054207370224200541ddc1cc800036022020054100360218200541948580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe400370300200428020c2108200428020821070b0240200128020822092001280200470d00200141f8bfcc800010af968080000b2001280204200941246c6a220541053a00202005200336021c200520023602182005410036021420054280808080c00037020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541b7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054181013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541343a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541bf013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541203a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541353a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541083a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541fc003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205418a013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d4003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054199013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054194013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054192013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541fb013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541393a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205413e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054191013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054188013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205418e013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f0003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f2003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541153a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ef013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541263a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205411e3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541b0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b891808000200428020822054285a6e4a8a6bac3fe0b3703002005420437022c2005420a3702242005418ec2cc800036022020054100360218200541968580800036021020054291ff888efeaaa49ee30037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541073a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e4003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ed003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205412b3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541163a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205418c013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c6003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005420437022c20054202370224200541fcc1cc800036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541023a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c3003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005420437022c20054202370224200541fcc1cc800036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541073a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541da013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c1013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541a7013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541b4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541de013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541fa003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541b2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541db003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541323a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541a0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c2003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba50401067f23808080800041206b2204248080808000200441146a41086a4100360200200442808080808001370214200441146a4188c0cc800010b8918080002004280218220542fb8491aeb8cedab7ba7f370308200542a691cddcd9a0e28da77f370300200441086a41086a220641013602002005420437022c20054211370224200541ccc1cc800036022020054100360218200541938580800036021020042004290214370308024002402006280200220620042802082207460d00200428020c2208200641386c6a2205420437022c20054207370224200541ddc1cc800036022020054100360218200541948580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe4003703000c010b200441086a4188c0cc800010b891808000200428020c200641386c6a2205420437022c20054207370224200541ddc1cc800036022020054100360218200541948580800036021020054296e397c6bfa5aeee46370308200542aceff0b4f2bd8f8fe400370300200428020c2108200428020821070b0240200128020822092001280200470d00200141f8bfcc800010af968080000b2001280204200941246c6a220541063a00202005200336021c200520023602182005410036021420054280808080c00037020c2005200641016a3602082005200836020420052007360200200041086a200941016a2205360200200141086a200536020020002001290200370200200441206a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541bc013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541383a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d8003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054182013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541b8013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205410d3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541173a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205411a3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541b3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541fd013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f3013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c2013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541a9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e0013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541da003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541bd013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e5003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c4003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d3003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541133a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f7003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541de003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f4013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054180013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e5013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d6013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542a19cde95be92a6d3ad7f3703002005420437022c20054212370224200541b3c3cc8000360220200541003602182005418e85808000360210200542e8d1bef3e58cfef72337030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541043a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e2003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b89180800020042802082205428df4f8c7ddefbdb50b3703002005420437022c200542123702242005418ac4cc8000360220200541003602182005419785808000360210200542c98ce2c3ffb888c4b67f37030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541093a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541363a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ac013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e9003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541183a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a2205413f3a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba10201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541273a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541b9013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541cd003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541ce003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541c1003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541e3003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541f5003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a22054187013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba00201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542fee6a5c5d8e9eca8e6003703002005420437022c20054212370224200541b9c2cc8000360220200541003602182005419885808000360210200542b0d1849eebd3f1b02037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541013a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000ba20201057f23808080800041106b22042480808080002004410036020c200442808080808001370204200441046a4188c0cc800010b8918080002004280208220542e6ed8d82cc91adcb053703002005410036023020054280808080c0003703282005410036022020054100360218200541cc80808000360210200542dbd791d5c2919eaecd0037030820042802042106200428020821070240200128020822082001280200470d00200141f8bfcc800010af968080000b2001280204200841246c6a220541d5003a00202005200336021c2005200236021820054204370210200542013702082005200736020420052006360200200041086a200841016a2205360200200141086a200536020020002001290200370200200441106a2480808080000bb40402037f017e23808080800041c0006b2201248080808000200141186a4180c6cc8000410a418ac6cc8000411b10c6918080002001410036021420014280808080c00037020c2001410036023820014280808080c000370230200141246a200141306a41a5c6cc8000410a10a295808000200141306a200141246a41afc6cc80004109109794808000200141246a200141306a41b8c6cc8000410410e894808000200141306a200141246a41bcc6cc8000410510e4948080000240200128023822022001280230470d00200141306a41f8bfcc800010af968080000b2001280234200241246c22036a220241083a00202002411936021c200241c1c6cc800036021820024204370210200242003702082002428080808080013702002001280234210220012001280230360238200120023602302001200220036a41246a36023c20012002360234200141246a200141306a41bcc1cc800010eb95808000024020012802182202418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b200129021c2104200142888080808001370230200142808080808001370238200041c4006a200141306a4188dfcc800010ec958080002001413b6a200141246a41086a2802003600002000200437023c20002002360238200041013a000020002001410c6a2202290200370250200041d8006a200241086a2802003602002001200129022437003320002001290030370001200041086a200141376a290000370000200141c0006a2480808080000bfd0101037f23808080800041206b22032480808080004100210402400240200241146c41046a22054100480d00024020050d00410121040c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022040d01410121040b20042005418cc5cc800010ae80808000000b20034100360214200320043602102003200536020c200320023602182003200341186a36021c2003411c6a2003410c6a10dc9580800002402002450d00200241146c2102034020012003410c6a10d495808000200141146a21012002416c6a22020d000b0b2000200329020c370200200041086a2003410c6a41086a280200360200200341206a2480808080000be50201067f23808080800041206b22022480808080002002411c6a2103200241186a210402400240024002400240024020002d000022050e050001020305000b2002200041016a36021420002802102106200028020c210041002105200421070c030b410121052002200041016a36021420002802102106200028020c2100200421070c020b2002200041016a36021420002802102106200028020c210041022105200421070c010b200241146a2107200028020c21062000280208210041032105200421030b20032006360200200720003602000b20022005360210200241046a200241106a10d6958080002002280208210302402001280200200128020822006b200228020c22054f0d0020012000200510fc90808000200128020821000b200128020420006a2003200510e9968080001a2001200020056a36020802402002280204450d00200341002802a8bfd38000118080808000000b200241206a2480808080000bad0301067f23808080800041206b22022480808080004100210302400240200128020c220441096a22054100480d00024020050d00410121030c020b41002d00b8bfd380001a200541002802b0bfd380001182808080000022030d01410121030b20032005418cc5cc800010ae80808000000b4100210620024100360214200220033602102002200536020c200128020041fadacc80006a2d00002107024020050d002002410c6a4100410110fc90808000200228020c210520022802102103200228021421060b200320066a20073a00002002200641016a2206360214200128020421070240200520066b41034b0d002002410c6a2006410410fc9080800020022802102103200228021421060b200320066a20072800003600002002200641046a36021420012802082101200220043602182002200241186a36021c2002411c6a2002410c6a10dc958080000240200228020c200228021422056b20044f0d002002410c6a2005200410fc90808000200228021421050b200228021020056a2001200410e9968080001a200041086a200520046a3602002000200229020c370200200241206a2480808080000bcf0403017f017e047f23808080800041206b2202248080808000024002400240024002400240024020012802000e050001020304000b200129020421032002200128020c3602142002200337020c200241063602082000200241086a10d5958080000c040b200129020421032002200128020c3602142002200337020c200241043602082000200241086a10d5958080000c030b200129020421032002200128020c3602142002200337020c200241053602082000200241086a10d5958080000c020b410021040240024002402001280208220541056a22064100480d0020012802042107024020060d00200241003602102002428080808010370208200241086a4100410110fc90808000200228020c2104200228021021010c030b4100210141002d00b8bfd380001a200641002802b0bfd380001182808080000022040d01410121040b20042006418cc5cc800010ae80808000000b2002200436020c200220063602080b200420016a41003a00002002200141016a360210200220053602182002200241186a36021c2002411c6a200241086a10dc9580800002402002280208200228021022016b20054f0d00200241086a2001200510fc90808000200228021021010b200228020c20016a2007200510e9968080001a200041086a200120056a360200200020022902083702000c010b41002d00b8bfd380001a410141002802b0bfd38000118280808000002201450d01200041013602082000200136020420004101360200200141083a00000b200241206a2480808080000f0b41014101418cc5cc800010ae80808000000bf10101067f23808080800041106b22022480808080002002410c6a2103200241086a210402400240024002400240024020012d000022050e050001020305000b2002200141016a36020420012802102106200128020c210141002105200421070c030b410121052002200141016a36020420012802102106200128020c2101200421070c020b2002200141016a36020420012802102106200128020c210141022105200421070c010b200241046a2107200128020c21062001280208210141032105200421030b20032006360200200720013602000b200220053602002000200210d695808000200241106a2480808080000bd23502037f017e23808080800041e0006b2201248080808000200141206a41086a410036020020014280808080c000370220200141206a41f8bfcc800010af968080002001280224220242808080808001370200200141086a41086a4101360200200241003a00202002410836021c200241bcc7cc8000360218200242043702102002420037020820012001290220370308200141206a200141086a41c4c7cc8000410710ae94808000200141d0006a200141206a41cbc7cc80004107108495808000200141206a200141d0006a41d2c7cc8000410710d193808000200141d0006a200141206a41d9c7cc8000410710c095808000200141206a200141d0006a41e0c7cc8000410710b094808000200141d0006a200141206a41e7c7cc8000410710c593808000200141206a200141d0006a41eec7cc8000410710c094808000200141d0006a200141206a41f5c7cc8000410710f194808000200141206a200141d0006a41fcc7cc8000410710d894808000200141d0006a200141206a4183c8cc8000410810e794808000200141206a200141d0006a418bc8cc8000410810fe93808000200141d0006a200141206a4193c8cc8000410810b294808000200141206a200141d0006a419bc8cc8000410810aa95808000200141d0006a200141206a41a3c8cc80004108108694808000200141206a200141d0006a41abc8cc8000410810a994808000200141d0006a200141206a41b3c8cc8000410810bb94808000200141206a200141d0006a41bbc8cc8000410810f893808000200141d0006a200141206a41c3c8cc8000410810b594808000200141206a200141d0006a41cbc8cc8000410810b895808000200141d0006a200141206a41d3c8cc8000410810ee93808000200141206a200141d0006a41dbc8cc80004108108595808000200141d0006a200141206a41e3c8cc80004108108f95808000200141206a200141d0006a41ebc8cc8000410810ab95808000200141d0006a200141206a41f3c8cc8000410810c695808000200141206a200141d0006a41fbc8cc8000410810b894808000200141d0006a200141206a4183c9cc8000410810ac95808000200141206a200141d0006a418bc9cc80004108108894808000200141d0006a200141206a4193c9cc8000410810a094808000200141206a200141d0006a419bc9cc8000410810d394808000200141d0006a200141206a41a3c9cc80004108108895808000200141206a200141d0006a41abc9cc8000410810d294808000200141d0006a200141206a41b3c9cc8000410810ee94808000200141206a200141d0006a41bbc9cc80004108108e94808000200141d0006a200141206a41c3c9cc8000410810a494808000200141206a200141d0006a41cbc9cc8000410810dd93808000200141d0006a200141206a41d3c9cc80004108109594808000200141206a200141d0006a41dbc9cc8000410810ba94808000200141d0006a200141206a41e3c9cc80004108108795808000200141206a200141d0006a41ebc9cc8000410810c895808000200141d0006a200141206a41f3c9cc8000410810cf94808000200141206a200141d0006a41fbc9cc8000410810e393808000200141d0006a200141206a4183cacc80004108109f94808000200141206a200141d0006a418bcacc80004108108e95808000200141d0006a200141206a4193cacc8000410810d694808000200141206a200141d0006a419bcacc80004108108194808000200141d0006a200141206a41a3cacc8000410810cd93808000200141206a200141d0006a41abcacc8000410810d794808000200141d0006a200141206a41b3cacc8000410810ff93808000200141206a200141d0006a41bbcacc8000410810b394808000200141d0006a200141206a41c3cacc80004108109e95808000200141206a200141d0006a41cbcacc80004108109494808000200141d0006a200141206a41d3cacc8000410810ec94808000200141206a200141d0006a41dbcacc8000410810ef94808000200141d0006a200141206a41e3cacc8000410810c395808000200141206a200141d0006a41ebcacc8000410810ac94808000200141d0006a200141206a41f3cacc8000410810a695808000200141206a200141d0006a41fbcacc8000410810fb94808000200141d0006a200141206a4183cbcc8000410810c993808000200141206a200141d0006a418bcbcc8000410810d194808000200141d0006a200141206a4193cbcc8000410810d994808000200141206a200141d0006a419bcbcc80004108108094808000200141d0006a200141206a41a3cbcc8000410810fc94808000200141206a200141d0006a41abcbcc8000410810c795808000200141d0006a200141206a41b3cbcc8000410810ea93808000200141206a200141d0006a41bbcbcc8000410810cc95808000200141d0006a200141206a41c3cbcc8000410810a095808000200141206a200141d0006a41cbcbcc80004108109495808000200141d0006a200141206a41d3cbcc8000410810b695808000200141206a200141d0006a41dbcbcc8000410810bc94808000200141d0006a200141206a41e3cbcc80004108109195808000200141206a200141d0006a41ebcbcc80004108108994808000200141d0006a200141206a41f3cbcc8000410810d593808000200141206a200141d0006a41fbcbcc8000410810d594808000200141d0006a200141206a4183cccc8000410810e993808000200141206a200141d0006a418bcccc8000410810c794808000200141d0006a200141206a4193cccc8000410810d293808000200141206a200141d0006a419bcccc8000410810ca95808000200141d0006a200141206a41a3cccc8000410810cb95808000200141206a200141d0006a41abcccc80004108108794808000200141d0006a200141206a41b3cccc8000410810e893808000200141206a200141d0006a41bbcccc8000410810ef93808000200141d0006a200141206a41c3cccc8000410810fa93808000200141206a200141d0006a41cbcccc8000410810b795808000200141d0006a200141206a41d3cccc8000410810f594808000200141206a200141d0006a41dbcccc8000410810d195808000200141d0006a200141206a41e3cccc8000410810d393808000200141206a200141d0006a41ebcccc8000410810fc93808000200141d0006a200141206a41f3cccc8000410810a795808000200141206a200141d0006a41fbcccc8000410810e493808000200141d0006a200141206a4183cdcc8000410810b395808000200141206a200141d0006a418bcdcc80004108109d95808000200141d0006a200141206a4193cdcc8000410810cf93808000200141206a200141d0006a419bcdcc8000410810e693808000200141d0006a200141206a41a3cdcc8000410810ba95808000200141206a200141d0006a41abcdcc8000410810de93808000200141d0006a200141206a41b3cdcc8000410810fb93808000200141206a200141d0006a41bbcdcc80004108109094808000200141d0006a200141206a41c3cdcc8000410810c195808000200141206a200141d0006a41cbcdcc8000410810cd95808000200141d0006a200141206a41d3cdcc80004109108c95808000200141206a200141d0006a41dccdcc8000410910b595808000200141d0006a200141206a41e5cdcc80004109108294808000200141206a200141d0006a41eecdcc8000410910cd94808000200141d0006a200141206a41f7cdcc80004109109694808000200141206a200141d0006a4180cecc8000410910c595808000200141d0006a200141206a4189cecc80004109109a94808000200141206a200141d0006a4192cecc8000410910a894808000200141d0006a200141206a419bcecc8000410910ca94808000200141206a200141d0006a41a4cecc80004109108d95808000200141d0006a200141206a41adcecc8000410910b494808000200141206a200141d0006a41b6cecc8000410910c393808000200141d0006a200141206a41bfcecc80004109108195808000200141206a200141d0006a41c8cecc8000410910da93808000200141d0006a200141206a41d1cecc80004109108295808000200141206a200141d0006a41dacecc8000410910aa94808000200141d0006a200141206a41e3cecc8000410910cc94808000200141206a200141d0006a41eccecc8000410910ce95808000200141d0006a200141206a41f5cecc8000410910bd94808000200141206a200141d0006a41fececc8000410910b995808000200141d0006a200141206a4187cfcc8000410910d094808000200141206a200141d0006a4190cfcc8000410910c894808000200141d0006a200141206a4199cfcc80004109109b95808000200141206a200141d0006a41a2cfcc8000410910c594808000200141d0006a200141206a41abcfcc8000410910f394808000200141206a200141d0006a41b4cfcc80004109109c94808000200141d0006a200141206a41bdcfcc8000410910be94808000200141206a200141d0006a41c6cfcc8000410910fd93808000200141d0006a200141206a41cfcfcc8000410910bc95808000200141206a200141d0006a41d8cfcc8000410910eb94808000200141d0006a200141206a41e1cfcc8000410910a895808000200141206a200141d0006a41eacfcc8000410910c394808000200141d0006a200141206a41f3cfcc8000410910c893808000200141206a200141d0006a41fccfcc8000410910e293808000200141d0006a200141206a4185d0cc8000410910c693808000200141206a200141d0006a418ed0cc8000410910cf95808000200141d0006a200141206a4197d0cc8000410910ff94808000200141206a200141d0006a41a0d0cc8000410910b694808000200141d0006a200141206a41a9d0cc8000410910f494808000200141206a200141d0006a41b2d0cc80004109109894808000200141d0006a200141206a41bbd0cc80004109109095808000200141206a200141d0006a41c4d0cc8000410910db93808000200141d0006a200141206a41cdd0cc80004109108095808000200141206a200141d0006a41d6d0cc8000410910a294808000200141d0006a200141206a41dfd0cc8000410910ce94808000200141206a200141d0006a41e8d0cc8000410910fd94808000200141d0006a200141206a41f1d0cc8000410910f994808000200141206a200141d0006a41fad0cc8000410910ed93808000200141d0006a200141206a4183d1cc8000410910f794808000200141206a200141d0006a418cd1cc8000410910f393808000200141d0006a200141206a4195d1cc8000410910df94808000200141206a200141d0006a419ed1cc8000410910f593808000200141d0006a200141206a41a7d1cc80004109109b94808000200141206a200141d0006a41b0d1cc8000410910f694808000200141d0006a200141206a41b9d1cc8000410910f293808000200141206a200141d0006a41c2d1cc80004109108c94808000200141d0006a200141206a41cbd1cc80004109108394808000200141206a200141d0006a41d4d1cc8000410910cc93808000200141d0006a200141206a41ddd1cc8000410910c994808000200141206a200141d0006a41e6d1cc80004109108a94808000200141d0006a200141206a41efd1cc80004109109f95808000200141206a200141d0006a41f8d1cc8000410910e594808000200141d0006a200141206a4181d2cc8000410910ce93808000200141206a200141d0006a418ad2cc8000410910dc94808000200141d0006a200141206a4193d2cc8000410910e193808000200141206a200141d0006a419cd2cc8000410910d793808000200141d0006a200141206a41a5d2cc8000410910e093808000200141206a200141d0006a41aed2cc80004109109895808000200141d0006a200141206a41b7d2cc8000410910d993808000200141206a200141d0006a41c0d2cc8000410910b195808000200141d0006a200141206a41c9d2cc8000410910ad94808000200141206a200141d0006a41d2d2cc8000410910de94808000200141d0006a200141206a41dbd2cc8000410910c495808000200141206a200141d0006a41e4d2cc8000410910b794808000200141d0006a200141206a41edd2cc80004109109394808000200141206a200141d0006a41f6d2cc8000410910f993808000200141d0006a200141206a41ffd2cc80004109108995808000200141206a200141d0006a4188d3cc80004109109e94808000200141d0006a200141206a4191d3cc80004109109c95808000200141206a200141d0006a419ad3cc8000410910ad95808000200141d0006a200141206a41a3d3cc80004109109995808000200141206a200141d0006a41acd3cc8000410910da94808000200141d0006a200141206a41b5d3cc8000410910c194808000200141206a200141d0006a41bed3cc8000410910ea94808000200141d0006a200141206a41c7d3cc8000410910a995808000200141206a200141d0006a41d0d3cc8000410910c995808000200141d0006a200141206a41d9d3cc8000410910b194808000200141206a200141d0006a41e2d3cc8000410910e294808000200141d0006a200141206a41ebd3cc8000410910a495808000200141206a200141d0006a41f4d3cc8000410910b495808000200141d0006a200141206a41fdd3cc8000410910af94808000200141206a200141d0006a4186d4cc8000410910ed94808000200141d0006a200141206a418fd4cc8000410910f094808000200141206a200141d0006a4198d4cc80004109109795808000200141d0006a200141206a41a1d4cc8000410910b095808000200141206a200141d0006a41aad4cc8000410910f894808000200141d0006a200141206a41b3d4cc80004109108395808000200141206a200141d0006a41bcd4cc8000410910fe94808000200141d0006a200141206a41c5d4cc8000410910a395808000200141206a200141d0006a41ced4cc8000410910c494808000200141d0006a200141206a41d7d4cc8000410910e394808000200141206a200141d0006a41e0d4cc8000410910f793808000200141d0006a200141206a41e9d4cc8000410910c793808000200141206a200141d0006a41f2d4cc8000410910ca93808000200141d0006a200141206a41fbd4cc8000410910a694808000200141206a200141d0006a4184d5cc8000410910b994808000200141d0006a200141206a418dd5cc8000410910e694808000200141206a200141d0006a4196d5cc80004109108d94808000200141d0006a200141206a419fd5cc8000410910c694808000200141206a200141d0006a41a8d5cc8000410910eb93808000200141d0006a200141206a41b1d5cc8000410910a595808000200141206a200141d0006a41bad5cc8000410910ec93808000200141d0006a200141206a41c3d5cc8000410910d093808000200141206a200141d0006a41ccd5cc8000410910f294808000200141d0006a200141206a41d5d5cc8000410910be95808000200141206a200141d0006a41ded5cc8000410910f193808000200141d0006a200141206a41e7d5cc8000410910ab94808000200141206a200141d0006a41f0d5cc8000410910e194808000200141d0006a200141206a41f9d5cc80004109109695808000200141206a200141d0006a4182d6cc80004109109194808000200141d0006a200141206a418bd6cc8000410910d494808000200141206a200141d0006a4194d6cc80004109109d94808000200141d0006a200141206a419dd6cc80004109109a95808000200141206a200141d0006a41a6d6cc8000410910dc93808000200141d0006a200141206a41afd6cc8000410910b295808000200141206a200141d0006a41b8d6cc80004109108b95808000200141d0006a200141206a41c1d6cc8000410910d693808000200141206a200141d0006a41cad6cc8000410910d493808000200141d0006a200141206a41d3d6cc80004109108f94808000200141206a200141d0006a41dcd6cc8000410910bd95808000200141d0006a200141206a41e5d6cc80004109108594808000200141206a200141d0006a41eed6cc80004109109295808000200141d0006a200141206a41f7d6cc8000410910f093808000200141206a200141d0006a4180d7cc8000410910a195808000200141d0006a200141206a4189d7cc8000410910a594808000200141206a200141d0006a4192d7cc8000410910e094808000200141d0006a200141206a419bd7cc8000410910c294808000200141206a200141d0006a41a4d7cc8000410910df93808000200141d0006a200141206a41add7cc80004109108b94808000200141206a200141d0006a41b6d7cc80004109108695808000200141d0006a200141206a41bfd7cc8000410910a394808000200141206a200141d0006a41c8d7cc8000410910dd94808000200141d0006a200141206a41d1d7cc8000410910d893808000200141206a200141d0006a41dad7cc8000410910af95808000200141d0006a200141206a41e3d7cc8000410910bb95808000200141206a200141d0006a41ecd7cc8000410910e994808000200141d0006a200141206a41f5d7cc8000410910a194808000200141206a200141d0006a41fed7cc8000410910db94808000200141d0006a200141206a4187d8cc8000410910c493808000200141206a200141d0006a4190d8cc8000410910bf94808000200141d0006a200141206a4199d8cc8000410910f693808000200141206a200141d0006a41a2d8cc8000410910fa94808000200141d0006a200141206a41abd8cc80004109108494808000200141206a200141d0006a41b4d8cc8000410910ae95808000200141d0006a200141206a41bdd8cc80004109109994808000200141146a200141d0006a41c6d8cc8000410910a794808000200141206a41186a41cfd8cc8000410341d2d8cc8000411810c69180800020014100360234200141043602302001410036022c200128021c210320012802182102200120012802143602582001200236025020012002200341246c6a36025c20012002360254200141c4006a200141d0006a41bcc1cc800010eb95808000024020012802382202418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b200129023c2104200142888080808001370250200142808080808001370258200041c4006a200141d0006a4188dfcc800010ec95808000200141db006a200141c4006a41086a2802003600002000200437023c20002002360238200041013a000020002001412c6a2202290200370250200041d8006a200241086a2802003602002001200129024437005320002001290050370001200041086a200141d0006a41076a290000370000200141e0006a2480808080000bdf0601077f23808080800041206b22022480808080000240024002400240024002400240024020002d0000220320012d00002204470d00410c21054108210602400240024002400240024020030e05000102050d000b20002800012001280001470d020c030b20002800012001280001460d0241ead8cc8000411441002802e0bdd38000118b80808000002002411c6a2105200241186a21060c080b20002800012001280001460d0141ead8cc8000411441002802e0bdd38000118b80808000002002411c6a2105200241186a21060c060b41ead8cc8000411441002802e0bdd38000118b80808000002002411c6a2105200241186a21060c030b41102105410c21060b200020056a2802002207200120056a280200470d00200020066a280200200120066a280200200710ed96808000450d070b41ead8cc8000411441002802e0bdd38000118b80808000002002411c6a2105200241186a210620030e050003020105000b2002200041016a36021420002802102107200028020c210041002103200621080c030b200241146a2108200028020c21072000280208210041032103200621050c020b2002200041016a36021420002802102107200028020c210041022103200621080c010b410121032002200041016a36021420002802102107200028020c2100200621080b20052007360200200820003602000b20022003360210200241046a200241106a10d69580800020022802082200200228020c41002802d8bdd38000118b808080000002402002280204450d00200041002802a8bfd38000118080808000000b2002411c6a2100200241186a210302400240024002400240024020040e050001020305000b2002200141016a36021420012802102105200128020c210141002104200321060c030b410121042002200141016a36021420012802102105200128020c2101200321060c020b2002200141016a36021420012802102105200128020c210141022104200321060c010b200241146a2106200128020c21052001280208210141032104200321000b20002005360200200620013602000b20022004360210200241046a200241106a10d69580800020022802082200200228020c41002802d8bdd38000118b80808000002002280204450d00200041002802a8bfd38000118080808000000b200241206a2480808080000bc90403057f017e027f23808080800041c0006b2201248080808000200141246a41fed8cc80004106418ac6cc8000411b4104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41bcc1cc800010ec95808000200141086a2202200141206a28020036020020012001290218370300200128020c2103200128021021042001280214210520012902282106200128022421072001410036021420014280808080800137020c2001410c6a4188c0cc800010b891808000200128021022084293dd84caf0ede6ea4f3703002008420437022c2008420f370224200841e8c1cc80003602202008410436021c200841e4c1cc80003602182008419985808000360210200842c1f9cea488afafa4c700370308200128021021082001200128020c3602142001200836020c2001200841386a36021820012008360210200141306a2001410c6a41bcc1cc800010ed9580800002402007418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a4188dfcc800010ec95808000200141176a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bea1004057f017e037f017e23808080800041d0006b2201248080808000200141186a41186a4184d9cc80004109418dd9cc800041184104410010c7918080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41bcc1cc800010ec95808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41f8bfcc800010af96808000200128021c22084100360208200842808080808001370200200841003a00202008411036021c200841a5d9cc80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41f8bfcc800010af968080000b2001280244410141246c6a220841013a00202008411236021c200841b5d9cc800036021820084204370210200842003702082008428080808080013702002007410141016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a220841023a00202008411436021c200841c7d9cc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a220841033a00202008410c36021c200841dbd9cc80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a220841043a00202008410b36021c200841e7d9cc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a220841053a00202008410c36021c200841f2d9cc80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a220841063a00202008410e36021c200841fed9cc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a220841073a00202008410f36021c2008418cdacc80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a220841083a00202008411736021c2008419bdacc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a220841093a00202008411536021c200841b2dacc80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a2208410a3a00202008410d36021c200841c7dacc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a2208410b3a00202008410f36021c200841d4dacc80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a2208410c3a00202008410c36021c200841e3dacc80003602182008420437021020084200370208200842808080808001370200200141c8006a200941016a220836020020012001290318220a37034002402008200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200841246c22096a2208410d3a00202008410b36021c200841efdacc800036021820084204370210200842003702082008428080808080013702002001280244210820012001280240360220200120083602182001200820096a41246a3602242001200836021c200141c0006a200141186a41bcc1cc800010eb9580800002402005418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a4188dfcc800010ec95808000200141186a410b6a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000b960301037f02400240024020002802002202280200220041c000490d00200041808001490d012000418080808004490d0202402001280200220320012802082200470d0020012000410110fc9080800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410fc9080800020012802042104200128020821000b2001200041046a360208200420006a20023600000f0b200041027421020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b2000410274410172210202402001280200200128020822006b41014b0d0020012000410210fc90808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b2000410274410272210202402001280200200128020822006b41034b0d0020012000410410fc90808000200128020821000b2001200041046a360208200128020420006a20023600000b1700200128021c2001280220200028020010e2808080000bab0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a20014188dfcc800010ec958080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041c000360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000bab0101017f23808080800041106b2201248080808000200142888080808001370200200142808080808001370208200041c4006a20014188dfcc800010ec958080002000410036024020004280808080c0003703382000410036025820004280808080c000370350200041c100360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a0000200141106a2480808080000b930303027f027e037f200141106a210320022802142104200229030021052001290300210602402001280210200128021822076b200228021822084f0d002003200720084104410c10f295808000200128021821070b20012802142007410c6c6a20042008410c6c10e9968080001a2001200720086a3602182002410036021820002003290300370310200041186a200341086a2802003602002001411c6a2103200228022021090240200128021c200128022422076b200228022422084f0d002003200720084104410c10f295808000200128022421070b20012802202007410c6c6a20092008410c6c10e9968080001a2001200720086a360224200241003602242000427f200620057c220520052006541b3703002000200329020037021c200041246a200341086a280200360200200020012d002820022d0028713a00282000200229030822062001290308220520062005541b37030802402002280210450d00200441002802a8bfd38000118080808000000b0240200228021c450d00200941002802a8bfd38000118080808000000b0bbd0303057f017e017f23808080800041c0006b2201248080808000200141246a41acdbcc8000410b41b7dbcc800041124104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41bcc1cc800010ec95808000200141086a2202200141206a28020036020020012001290218370300200128020c21032001280210210420012802142105200129022821062001280224210720014288808080800137020c200142808080808001370214200141306a2001410c6a41bcc1cc800010ed9580800002402007418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b200120033602142001200436020c200120043602102001200420054105746a360218200041c4006a2001410c6a4188dfcc800010ec958080002001410c6a410b6a200141306a41086a2802003600002000200637023c20002007360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000b880f04057f017e037f017e23808080800041d0006b2201248080808000200141306a41c9dbcc8000411241dbdbcc800041204104410010c7918080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41bcc1cc800010ec95808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41f8bfcc800010af96808000200128021c22084100360208200842808080808001370200200841003a00202008410436021c200841fbdbcc80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41f8bfcc800010af968080000b2001280244410141246c6a220841013a00202008410736021c200841ffdbcc800036021820084204370210200842003702082008428080808080013702002007410141016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a220841023a00202008410636021c20084186dccc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a220841033a00202008410536021c2008418cdccc80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a220841043a00202008410836021c20084191dccc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a220841053a00202008411136021c20084199dccc80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a220841063a00202008411136021c200841aadccc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a2207200941016a36020020012001290318370340200141186a200141c0006a41bbdccc800041061095958080000240200128022022092001280218470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a220841083a00202008410c36021c200841c1dccc800036021820084204370210200842003702082008428080808080013702002007200941016a220936020020012001290218220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a220841093a00202008411336021c200841cddccc80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a2208410a3a00202008410936021c200841e0dccc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a2208410b3a00202008411536021c200841e9dccc80003602182008420437021020084200370208200842808080808001370200200141206a200941016a220836020020012001290340220a37031802402008200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200841246c22096a2208410c3a00202008410d36021c200841fedccc80003602182008420437021020084200370208200842808080808001370200200128021c210820012001280218360220200120083602182001200820096a41246a3602242001200836021c200141c0006a200141186a41bcc1cc800010eb9580800002402005418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a4188dfcc800010ec95808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000bea0503057f017e027f23808080800041d0006b2201248080808000200141286a418bddcc8000411241dbdbcc800041204104410010c7918080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41bcc1cc800010ec95808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a2207410036020020014280808080c000370210200141106a41f8bfcc800010af96808000200128021422084100360208200842808080808001370200200841003a00202008410c36021c200841a0dbcc80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290210370340024020012802404101470d00200141c0006a41f8bfcc800010af968080000b2001280244410141246c6a220841013a00202008411336021c2008419dddcc800036021820084204370210200842003702082008428080808080013702002007410141016a36020020012001290340370310200141346a200141106a41bbdccc80004106109395808000200128023c210720012802382108200120012802343602182001200836021020012008200741246c6a36021c20012008360214200141c0006a200141106a41bcc1cc800010eb9580800002402005418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a4188dfcc800010ec958080002001411b6a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b1e00200128021c4191dbcc8000410f200128022028020c118180808000000ba30403057f017e037f23808080800041d0006b2201248080808000200141106a41186a41b0ddcc8000411841dbdbcc800041204104410010c7918080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41bcc1cc800010ec95808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41c8ddcc8000410710f493808000200141346a200141c0006a41cfddcc8000410710d095808000200128023c210820012802382109200120012802343602182001200936021020012009200841246c6a36021c20012009360214200141c0006a200141106a41bcc1cc800010eb9580800002402007418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a4188dfcc800010ec958080002001411b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bb30604057f017e027f017e23808080800041d0006b2201248080808000200141306a41d6ddcc8000411141dbdbcc800041204104410010c7918080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41bcc1cc800010ec95808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41f8bfcc800010af96808000200128021c22084100360208200842808080808001370200200841003a00202008410736021c200841e7ddcc80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41f8bfcc800010af968080000b2001280244410141246c6a220841013a00202008410536021c200841eeddcc800036021820084204370210200842003702082008428080808080013702002007410141016a2208360200200120012903402209370318024020082009a7470d00200141186a41f8bfcc800010af968080000b200128021c200841246c22076a220841023a00202008410836021c200841f3ddcc80003602182008420437021020084200370208200842808080808001370200200128021c210820012001280218360220200120083602182001200820076a41246a3602242001200836021c200141c0006a200141186a41bcc1cc800010eb9580800002402005418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a4188dfcc800010ec95808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000bcc0904057f017e037f017e23808080800041d0006b2201248080808000200141306a41fbddcc8000411041dbdbcc800041204104410010c7918080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41bcc1cc800010ec95808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a22074100360200200142808080808001370218200141186a4188c0cc800010b891808000200128021c220842a5e9e3ab9e929adc2c37030820084293888c8f89fdc6ec9e7f370300200141c0006a41086a220941013602002008420437022c20084213370224200841d3c2cc80003602202008410836021c200841cbc2cc8000360218200841e980808000360210200120012902183703400240200928020022092001280240470d00200141c0006a4188c0cc800010b8918080000b2001280244200941386c6a2208420437022c20084213370224200841eec2cc80003602202008410836021c200841e6c2cc80003602182008419a8580800036021020084284d8dde1abe5b282977f370308200842e78cf08ea884e486dd003703002007200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a4188c0cc800010b8918080000b200128021c200941386c6a2208420437022c20084213370224200841eec2cc80003602202008410836021c20084181c3cc80003602182008419a8580800036021020084284d8dde1abe5b282977f370308200842e78cf08ea884e486dd00370300200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a4188c0cc800010b8918080000b2001280244200941386c6a2208420437022c2008421437022420084192c3cc80003602202008410936021c20084189c3cc8000360218200841e980808000360210200842a5e9e3ab9e929adc2c37030820084293888c8f89fdc6ec9e7f370300200141186a41086a200941016a220836020020012001290340220a37031802402008200aa7470d00200141186a4188c0cc800010b8918080000b200128021c200841386c22096a2208420437022c20084204370224200841afc3cc80003602202008410936021c200841a6c3cc8000360218200841f280808000360210200842febac4ad81b6fafcb37f37030820084298848fa1dab08ba174370300200128021c210820012001280218360220200120083602182001200820096a41386a3602242001200836021c200141c0006a200141186a41bcc1cc800010ed9580800002402005418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a4188dfcc800010ec95808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041003a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a2001411f6a290000370000200141d0006a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041948580800036021820004296e397c6bfa5aeee46370310200042aceff0b4f2bd8f8fe400370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000419b8580800036021820004297fba7dee2b0c7859b7f370310200042a8a1ef8bd8d485c36f370308200041023a00000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41246e2107200128020821010c010b0240200420066b220841246e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c20034280808080c0003702044104210a024020042006460d00200341046a410020074104412410f2958080002003280208210a200328020c21090b200a200941246c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b4105762107200128020821010c010b0240200420066b2208410576220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108412010f2958080002003280208210a200328020c21090b200a20094105746a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41386e2107200128020821010c010b0240200420066b220841386e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108413810f2958080002003280208210a200328020c21090b200a200941386c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000b6700200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004104360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a00000b12002000419ce1cc8000200110e2808080000b220002402000280200450d00200028020441002802a8bfd38000118080808000000b0bef0201037f23808080800041106b2202248080808000024002402001418001490d002002410036020c024002402001418010490d000240200141808004490d002002410c6a41037221032002200141127641f001723a000c20022001410676413f71418001723a000e20022001410c76413f71418001723a000d410421040c020b2002410c6a410272210320022001410c7641e001723a000c20022001410676413f71418001723a000d410321040c010b2002410c6a41017221032002200141067641c001723a000c410221040b20032001413f71418001723a000002402000280200200028020822016b20044f0d002000200120044101410110f295808000200028020821010b200028020420016a2002410c6a200410e9968080001a2000200120046a3602080c010b0240200028020822042000280200470d0020004188e0cc800010ad808080000b200028020420046a20013a00002000200441016a3602080b200241106a24808080800041000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10f49580800020052802084101470d0120052802102102200528020c21060b20062002418ce1cc800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000b4f01017f02402000280200200028020822036b20024f0d002000200320024101410110f295808000200028020821030b200028020420036a2001200210e9968080001a2000200320026a36020841000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42147e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441146c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10f49580800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000b040041010bda0101017f23808080800041c0006b2202248080808000200242808080801037020c200241003602142002410136021c200241cce1cc8000360218200242013702242002419c85808000ad4220862002413c6aad8437033020022001412c6a36023c2002200241306a3602202002410c6a419ce1cc8000200241186a10e2808080001a20012d0020417f6a20012802242001280228200228021020022802144100280280bed38000118780808000000240200228020c450d00200228021041002802a8bfd38000118080808000000b200241c0006a2480808080000b02000bb80403057f017e037f23808080800041d0006b2201248080808000200141286a41e1e1cc8000410e41efe1cc8000410a4104410010c7918080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41bcc1cc800010ec95808000200141086a2202200141246a2802003602002001200129021c370300200128021021032001280214210420012802182105200129022c2106200128022821072001410036021820014280808080c000370210200141c0006a200141106a41f9e1cc8000410710bf95808000200141106a200141c0006a4180e2cc8000410710cb93808000200141346a200141106a4187e2cc8000410510cb94808000200128023c210820012802382109200120012802343602182001200936021020012009200841246c6a36021c20012009360214200141c0006a200141106a41bcc1cc800010eb9580800002402007418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b2001200336021820012004360210200120043602142001200420054105746a36021c200041c4006a200141106a4188dfcc800010ec958080002001411b6a200141c0006a41086a2802003600002000200637023c20002007360238200041013a000020002001290300370250200041d8006a20022802003602002001200129024037001320002001290010370001200041086a200141106a41076a290000370000200141d0006a2480808080000bf20503057f017e027f23808080800041c0006b2201248080808000200141246a418ce2cc8000410b41efe1cc8000410a4104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41bcc1cc800010ec95808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080800137020c2001410c6a4188c0cc800010b8918080002001280210220742dbd791d5c2919eaecd00370308200742e6ed8d82cc91adcb05370300200141306a41086a220841013602002007420437022c20074202370224200741fcc1cc80003602202007410536021c200741f7c1cc8000360218200741cc808080003602102001200129020c3703300240200828020022072001280230470d00200141306a4188c0cc800010b8918080000b2001280234200741386c22086a2207420437022c20074223370224200741e7c3cc80003602202007410536021c200741fec1cc80003602182007419385808000360210200742fb8491aeb8cedab7ba7f370308200742a691cddcd9a0e28da77f37030020012802342107200120012802303602142001200736020c2001200720086a41386a36021820012007360210200141306a2001410c6a41bcc1cc800010ed9580800002402005418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a4188dfcc800010ec95808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041003a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bb50503057f017e027f23808080800041c0006b2201248080808000200141246a4197e2cc8000411241efe1cc8000410a4104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41bcc1cc800010ec95808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080c00037020c2001410c6a41f8bfcc800010af96808000200128021022074100360208200742808080808001370200200741003a00202007410c36021c200741a9e2cc80003602182007410036021420074280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41f8bfcc800010af968080000b2001280234410141246c22086a220741013a00202007410736021c200741b5e2cc8000360218200742043702102007420037020820074280808080800137020020012802342107200120012802303602142001200736020c2001200720086a41246a36021820012007360210200141306a2001410c6a41bcc1cc800010eb9580800002402005418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a4188dfcc800010ec95808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a2001410c6a41076a290000370000200141c0006a2480808080000b960e04057f017e037f017e23808080800041d0006b2201248080808000200141286a41d4e1cc8000410d41efe1cc8000410a4104410010c7918080002001420437022020014200370218200142808080808001370210200142888080808001370240200142808080808001370248200141106a200141c0006a41bcc1cc800010ec95808000200141086a200141246a2802003602002001200129021c37030020012802102102200128021421032001280218210420012802282105200129022c2106200141106a41086a2207410036020020014280808080c000370210200141106a41f8bfcc800010af96808000200128021422084100360208200842808080808001370200200841003a00202008410536021c200841bce2cc80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290210370340024020012802404101470d00200141c0006a41f8bfcc800010af968080000b2001280244410141246c6a220841013a00202008410c36021c200841c1e2cc800036021820084204370210200842003702082008428080808080013702002007410141016a220936020020012001290340220a37031002402009200aa7470d00200141106a41f8bfcc800010af968080000b2001280214200941246c6a220841023a00202008410936021c200841cde2cc80003602182008420437021020084200370208200842808080808001370200200141c8006a2207200941016a36020020012001290310370340200141106a200141c0006a41d6e2cc8000410610e7938080000240200128021822092001280210470d00200141106a41f8bfcc800010af968080000b2001280214200941246c6a220841043a00202008411136021c200841dce2cc800036021820084204370210200842003702082008428080808080013702002007200941016a220936020020012001290210220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a220841053a00202008410b36021c200841ede2cc80003602182008420437021020084200370208200842808080808001370200200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41f8bfcc800010af968080000b2001280214200941246c6a220841063a00202008411036021c200841f8e2cc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a36020020012001290310370340200141106a200141c0006a4188e3cc80004105108a95808000200141c0006a200141106a418de3cc8000410a10e593808000200141106a200141c0006a4197e3cc8000410d10c2958080000240200128021822092001280210470d00200141106a41f8bfcc800010af968080000b2001280214200941246c6a2208410a3a00202008410936021c200841a4e3cc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290210220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a2208410b3a00202008410a36021c200841ade3cc80003602182008420437021020084200370208200842808080808001370200200141106a41086a200941016a220936020020012001290340220a37031002402009200aa7470d00200141106a41f8bfcc800010af968080000b2001280214200941246c6a2208410c3a00202008410b36021c200841b7e3cc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290310220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a2208410d3a00202008410e36021c200841c2e3cc80003602182008420437021020084200370208200842808080808001370200200141106a41086a200941016a36020020012001290340370310200141346a200141106a41d0e3cc80004104109294808000200128023c210920012802382108200120012802343602182001200836021020012008200941246c6a36021c20012008360214200141c0006a200141106a41bcc1cc800010eb9580800002402005418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b2001200236021820012003360210200120033602142001200320044105746a36021c200041c4006a200141106a4188dfcc800010ec958080002001411b6a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129024037001320002001290010370001200041086a200141176a290000370000200141d0006a2480808080000b860d04057f017e037f017e23808080800041d0006b2201248080808000200141306a41d4e3cc8000410a41efe1cc8000410a4104410010c7918080002001420437022820014200370220200142808080808001370218200142888080808001370240200142808080808001370248200141186a200141c0006a41bcc1cc800010ec95808000200141086a41086a2001412c6a2802003602002001200129022437030820012802182102200128021c2103200128022021042001280230210520012902342106200141186a41086a2207410036020020014280808080c000370218200141186a41f8bfcc800010af96808000200128021c22084100360208200842808080808001370200200841003a00202008411036021c200841dee3cc80003602182008410036021420084280808080c00037020c200141c0006a41086a410136020020012001290218370340024020012802404101470d00200141c0006a41f8bfcc800010af968080000b2001280244410141246c6a220841013a00202008410c36021c200841eee3cc800036021820084204370210200842003702082008428080808080013702002007410141016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a220841023a00202008410c36021c200841fae3cc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a220841033a00202008410c36021c20084186e4cc80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a220841043a00202008410c36021c20084192e4cc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a220841053a00202008410636021c2008419ee4cc80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a220841063a00202008410b36021c200841a4e4cc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220936020020012001290318220a37034002402009200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200941246c6a220841073a00202008411036021c200841afe4cc80003602182008420437021020084200370208200842808080808001370200200141186a41086a200941016a220936020020012001290340220a37031802402009200aa7470d00200141186a41f8bfcc800010af968080000b200128021c200941246c6a220841083a00202008410d36021c200841bfe4cc80003602182008420437021020084200370208200842808080808001370200200141c0006a41086a200941016a220836020020012001290318220a37034002402008200aa7470d00200141c0006a41f8bfcc800010af968080000b2001280244200841246c22096a220841093a00202008410736021c200841cce4cc800036021820084204370210200842003702082008428080808080013702002001280244210820012001280240360220200120083602182001200820096a41246a3602242001200836021c200141c0006a200141186a41bcc1cc800010eb9580800002402005418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b20012002360220200120033602182001200336021c2001200320044105746a360224200041c4006a200141186a4188dfcc800010ec95808000200141236a200141c0006a41086a2802003600002000200637023c20002005360238200041013a000020002001290308370250200041d8006a200141086a41086a2802003602002001200129024037001b20002001290018370001200041086a200141186a41076a290000370000200141d0006a2480808080000bb20503057f017e027f23808080800041c0006b2201248080808000200141246a41d3e4cc8000411641efe1cc8000410a4104410010c7918080002001420437021c2001420037021420014280808080800137020c2001428880808080013702302001428080808080013702382001410c6a200141306a41bcc1cc800010ec95808000200141086a200141206a28020036020020012001290218370300200128020c2102200128021021032001280214210420012802242105200129022821062001410c6a41086a410036020020014280808080c00037020c2001410c6a41f8bfcc800010af96808000200128021022074100360208200742808080808001370200200741003a00202007410d36021c200741e9e4cc80003602182007410036021420074280808080c00037020c200141306a41086a41013602002001200129020c370330024020012802304101470d00200141306a41f8bfcc800010af968080000b2001280234410141246c22086a220741013a00202007410d36021c200741f6e4cc8000360218200742043702102007420037020820074280808080800137020020012802342107200120012802303602142001200736020c2001200720086a41246a36021820012007360210200141306a2001410c6a41bcc1cc800010eb9580800002402005418080808078470d004198c0cc8000411141acc0cc8000108b81808000000b200120023602142001200336020c200120033602102001200320044105746a360218200041c4006a2001410c6a4188dfcc800010ec95808000200141176a200141306a41086a2802003600002000200637023c20002005360238200041013a000020002001290300370250200041d8006a200141086a2802003602002001200129023037000f2000200129000c370001200041086a200141136a290000370000200141c0006a2480808080000bf61b010f7f23808080800041f0006b220524808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f018e022207410b490d00200128020421072001280208210841002d00b8bfd380001a41900241002802b0bfd38000118280808000002209450d0b200941003b018e02200941003602880220084105490d012008417b6a0e020304020b02402001280208220841016a220920074b0d002006200941186c6a2006200841186c6a200720086b41186c10ec968080001a0b2006200841186c6a22092002290200370200200941106a200241106a290200370200200941086a200241086a2902003702002006200741016a3b018e022001280204210a0c070b200920062f018e02417b6a22013b018e02200541c8006a41086a220b200641ec006a290200370300200541c8006a41106a220c200641f4006a280200360200200520062902643703482001410c4f0d0a2006280260210d2009200641f8006a200141186c10e9968080001a200641043b018e02200541306a41086a200b290300370300200541306a41106a200c280200360200200520052903483703302007210a2006210e0c040b200920062f018e0241796a22013b018e02200541c8006a41086a220b2006419c016a290200370300200541c8006a41106a220c200641a4016a28020036020020052006290294013703482001410c4f0d0a200628029001210d2009200641a8016a200141186c10e9968080001a200641063b018e02200541306a41086a200b290300370300200541306a41106a200c28020036020020052005290348370330200841796a21080c020b200920062f018e02417a6a22013b018e02200541c8006a41086a220b20064184016a290200370300200541c8006a41106a22082006418c016a2802003602002005200629027c3703482001410c4f0d0a2006280278210d200920064190016a200141186c10e9968080001a200541306a41106a2008280200360200200541306a41086a200b29030037030020052005290348370330200641063b018e02200641f8006a220141106a200241106a290200370200200141086a200241086a29020037020020012002290200370200410521082007210a2006210e0c030b200920062f018e02417a6a22013b018e02200541c8006a41086a220b20064184016a290200370300200541c8006a41106a22082006418c016a2802003602002005200629027c3703482001410c4f0d0a2006280278210d200920064190016a200141186c10e9968080001a200641053b018e02200541306a41086a200b290300370300200541306a41106a200828020036020020052005290348370330410021080b4100210a2009210e0b0240200e2f018e02220b20084d0d00200e200841186c6a220141186a2001200b20086b41186c10ec968080001a0b200e200841186c6a22012002290200370200200141106a200241106a290200370200200141086a200241086a290200370200200e200b41016a3b018e020b200541106a2201200541306a41106a280200360200200541086a2202200541306a41086a29030037030020052005290330370300200d418080808078470d01200e21060b200020083602082000200a360204200020063602000c010b200541186a41106a2001280200360200200541186a41086a2002290300370300200520052903003703180240024020062802880222020d00410021010c010b200541e8006a210f200541e0006a2110200541c8006a41046a210c41002101200541186a41106a2111034020072001470d0820062f018c022101024002400240024002400240024002400240024020022f018e02220b410b490d00200741016a210620014105490d012001417b6a0e020304020b200141016a2106200b41016a210c2002200141186c6a2107024002402001200b490d002007200d360200200720052903183702042007410c6a200541206a290300370200200741146a200541286a2802003602000c010b2002200641186c6a2007200b20016b221141186c10ec968080001a2007200d360200200720052903183702042007410c6a200541186a41086a290300370200200741146a200541286a28020036020020024190026a220720014102746a41086a200720064102746a201141027410ec968080001a0b2002200c3b018e02200220064102746a4190026a20093602002006200b41026a220d4f0d070240200b20016b220b41016a4103712207450d00200220014102746a4194026a210103402001280200220920063b018c022009200236028802200141046a2101200641016a21062007417f6a22070d000b0b200b4103490d07200641027420026a419c026a21010340200141746a280200220720063b018c022007200236028802200141786a2802002207200641016a3b018c0220072002360288022001417c6a2802002207200641026a3b018c02200720023602880220012802002207200641036a3b018c022007200236028802200141106a2101200d200641046a2206470d000c080b0b2005200236020041042102201021070c040b20052002360200200141796a2101410621020c020b200541053602082005200636020420052002360200200541c8006a2005108096808000200528026022062f018e02220141016a210202400240024020014106490d0020064190016a200641f8006a200141186c41887f6a10ec968080001a2006200d3602782006200529031837027c20064184016a200541186a41086a2903003702002006418c016a2011280200360200200641ac026a200641a8026a2001410274416c6a10ec968080001a200620023b018e02200620093602a8020c010b2006200d3602782006200529031837027c200620093602a802200620023b018e0220064184016a200541186a41086a2903003702002006418c016a201128020036020020014105470d010b200141037121094106210202402001417b6a4103490d00200141fcff037141786a210b41062101410021070340200620076a220241a8026a280200220d20013b018c02200d200636028802200241ac026a280200220d200141016a3b018c02200d200636028802200241b0026a280200220d200141026a3b018c02200d200636028802200241b4026a2802002202200141036a3b018c022002200636028802200741106a21072001417a6a210d200141046a22022101200d200b470d000b0b2009450d00200620024102746a4190026a210103402001280200220720023b018c022007200636028802200141046a2101200241016a21022009417f6a22090d000b0b200541306a41086a200c41086a290200370300200541306a41106a200c41106a2802003602002005200c2902003703300c030b2005200236020041002101410521020b200f21070b2005200236020820052006360204200141016a2106200541c8006a200510809680800020072802002202200141186c6a210720022f018e02220b41016a211202400240200b20014b0d002007200d360200200720052903183702042007410c6a200541186a41086a290300370200200741146a20112802003602000c010b2002200641186c6a2007200b20016b221341186c10ec968080001a2007200d360200200720052903183702042007410c6a200541186a41086a290300370200200741146a201128020036020020024190026a220720014102746a41086a200720064102746a201341027410ec968080001a0b200220064102746a4190026a2009360200200220123b018e0202402006200b41026a220d4f0d000240200b20016b220b41016a4103712207450d00200220014102746a4194026a210103402001280200220920063b018c022009200236028802200141046a2101200641016a21062007417f6a22070d000b0b200b4103490d00200220064102746a419c026a21010340200141746a280200220720063b018c022007200236028802200141786a2802002207200641016a3b018c0220072002360288022001417c6a2802002207200641026a3b018c02200720023602880220012802002207200641036a3b018c022007200236028802200141106a2101200d200641046a2206470d000b0b200541306a41086a200c41086a290200370300200541306a41106a200c41106a2802003602002005200c290200370330200528026021060b2005280248220d418080808078470d010b200020083602082000200a3602042000200e3602000c030b200528026c210120052802682109200528026421072011200541306a41106a280200360200200541186a41086a200541306a41086a2903003703002005200529033037031820062802880222020d000b0b200328020022022802002207450d072002280204210b41002d00b8bfd380001a41c00241002802b0bfd38000118280808000002206450d082006200736029002200641003b018e022006410036028802200741003b018c0220072006360288022002200b41016a36020420022006360200200b2001470d092006200d360200200641013b018e022006200529031837020420062009360294022006410c6a200541206a290300370200200641146a200541286a280200360200200020083602082000200a3602042000200e360200200941013b018c0220092006360288020b200541f0006a2480808080000f0b410441900210b980808000000b2001410b419ce9cc800010aa81808000000b2001410b419ce9cc800010aa81808000000b2001410b419ce9cc800010aa81808000000b2001410b419ce9cc800010aa81808000000b41bce9cc8000413541f4e9cc800010f480808000000b4188e6cc8000108a81808000000b410441c00210b980808000000b4198e7cc8000413041c8e7cc800010f480808000000bbe0401087f23808080800041306b2202248080808000200128020022032f018e02210441002d00b8bfd380001a0240024002400240024041c00241002802b0bfd38000118280808000002205450d002005410036028802200520032f018e02220620012802082207417f736a22083b018e02200241186a41086a2003200741186c6a220941086a290200370300200241186a41106a200941106a290200370300200220092902003703182008410c4f0d012006200741016a22096b2008470d0220052003200941186c6a200841186c10e9968080002109200320073b018e02200241086a200241186a41086a290300370300200241106a200241186a41106a2903003703002002200229031837030020092f018e02220541016a21082005410c4f0d03200420076b22062008470d0420094190026a200320074102746a4194026a200641027410e9968080002106200128020421014100210702400340200620074102746a280200220820073b018c022008200936028802200720054f0d01200720072005496a220720054d0d000b0b2000200136021c20002003360218200020022903003702002000200136022420002009360220200041086a200241086a290300370200200041106a200241106a290300370200200241306a2480808080000f0b410441c00210b980808000000b2008410b419ce9cc800010aa81808000000b41e4e8cc80004128418ce9cc800010f480808000000b2008410c41ace9cc800010aa81808000000b41e4e8cc80004128418ce9cc800010f480808000000bc61b03087f017e057f23808080800041a0076b220624808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01aa142208410b490d00200128020421092001280208210a41002d00b8bfd380001a41ac1441002802b0bfd38000118280808000002208450d0b200841003b01aa14200841003602a013200a4105490d01200a417b6a0e020304020b200741a4136a220b2001280208220a410c6c6a210c02400240200a41016a220920084d0d00200c2002290200370200200c41086a200241086a2802003602000c010b200b2009410c6c6a200c2008200a6b220b410c6c10ec968080001a200c41086a200241086a280200360200200c20022902003702002007200941e0016c6a2007200a41e0016c6a200b41e0016c10ec968080001a0b2007200a41e0016c6a200341e00110e9968080001a2007200841016a3b01aa142001280204210d0c070b200820072f01aa14417b6a22013b01aa1420072802d413210c20072902d813210e200641a4056a20074180076a41e00110e9968080001a2001410c4f0d0a200841a4136a200741e0136a2001410c6c10e9968080001a2008200741e0086a200141e0016c10e9968080001a200741043b01aa14200641c4036a200641a4056a41e00110e9968080001a2009210d2007210b0c040b200820072f01aa1441796a22013b01aa1420072802ec13210c20072902f013210e200641a4056a200741c00a6a41e00110e9968080001a2001410c4f0d0a200841a4136a200741f8136a2001410c6c10e9968080001a2008200741a00c6a200141e0016c10e9968080001a200741063b01aa14200641c4036a200641a4056a41e00110e9968080001a200a41796a210a0c020b200820072f01aa14417a6a22013b01aa1420072802e013210c20072902e413210e200641a4056a200741e0086a220a41e00110e9968080001a2001410c4f0d0a200841a4136a200741ec136a2001410c6c10e9968080001a2008200741c00a6a200141e0016c10e9968080001a200641c4036a200641a4056a41e00110e9968080001a200741e0136a220141086a200241086a28020036020020012002290200370200200a200341e00110e9968080001a200741063b01aa144105210a2009210d2007210b0c030b200820072f01aa14417a6a22013b01aa1420072802e013210c20072902e413210e200641a4056a200741e0086a41e00110e9968080001a2001410c4f0d0a200841a4136a200741ec136a2001410c6c10e9968080001a2008200741c00a6a200141e0016c10e9968080001a200741053b01aa14200641c4036a200641a4056a41e00110e9968080001a4100210a0b4100210d2008210b0b200b41a4136a200a410c6c6a210102400240200b2f01aa14220f200a4b0d0020012002290200370200200141086a200241086a2802003602000c010b2001410c6a2001200f200a6b2210410c6c10ec968080001a200141086a200241086a28020036020020012002290200370200200b200a41e0016c6a220141e0016a2001201041e0016c10ec968080001a0b200b200a41e0016c6a200341e00110e9968080001a200b200f41016a3b01aa140b200641046a200641c4036a41e00110e9968080001a200c418080808078470d01200b21070b2000200a3602082000200d360204200020073602000c010b200641e4016a200641046a41e00110e9968080001a0240024020072802a01322010d00410021020c010b20064198076a211120064190076a2112200641a4056a410c6a211341002102034020092002470d0820072f01a8142102024002400240024002400240024002400240024020012f01aa142203410b490d00200941016a210720024105490d012002417b6a0e020304020b200141a4136a22102002410c6c6a2109200241016a2107200341016a210f0240024020022003490d002009200e3702042009200c3602002001200241e0016c6a200641e4016a41e00110e9968080001a0c010b20102007410c6c6a2009200320026b2210410c6c10ec968080001a2009200e3702042009200c3602002001200741e0016c6a2001200241e0016c6a220c201041e0016c10ec968080001a200c200641e4016a41e00110e9968080001a200141ac146a220c20024102746a41086a200c20074102746a201041027410ec968080001a0b2001200f3b01aa14200120074102746a41ac146a20083602002007200341026a22094f0d070240200320026b220341016a4103712208450d00200120024102746a41b0146a210203402002280200220c20073b01a814200c20013602a013200241046a2102200741016a21072008417f6a22080d000b0b20034103490d07200741027420016a41b8146a21020340200241746a280200220820073b01a814200820013602a013200241786a2802002208200741016a3b01a814200820013602a0132002417c6a2802002208200741026a3b01a814200820013602a01320022802002208200741036a3b01a814200820013602a013200241106a21022009200741046a2207470d000c080b0b2006200136020441042101201221090c040b20062001360204200241796a2102410621010c020b2006410536020c2006200736020820062001360204200641a4056a200641046a10829680800020062802900722072f01aa14220141016a210202400240024020014106490d00200741ec136a200741e0136a2001417b6a2209410c6c10ec968080001a2007200e3702e4132007200c3602e013200741c00a6a200741e0086a220c200941e0016c10ec968080001a200c200641e4016a41e00110e9968080001a200741c8146a200741c4146a2001410274416c6a10ec968080001a200720023b01aa14200720083602c4140c010b2007200e3702e4132007200c3602e013200741e0086a200641e4016a41e00110e9968080001a200720023b01aa14200720083602c41420014105470d010b2001410371210c4106210202402001417b6a4103490d00200141fcff037141786a210341062101410021080340200720086a220241c4146a280200220920013b01a814200920073602a013200241c8146a2802002209200141016a3b01a814200920073602a013200241cc146a2802002209200141026a3b01a814200920073602a013200241d0146a2802002202200141036a3b01a814200220073602a013200841106a21082001417a6a2109200141046a2202210120092003470d000b0b200c450d00200720024102746a41ac146a210103402001280200220820023b01a814200820073602a013200141046a2101200241016a2102200c417f6a220c0d000b0b20062902a805210e20062802a405210c200641c4036a201341e00110e9968080001a0c030b2006200136020441002102410521010b201121090b2006200136020c20062007360208200641a4056a200641046a1082968080002009280200220141a4136a22102002410c6c6a2109200241016a210720012f01aa14220341016a210f02400240200320024b0d002009200e3702042009200c3602002001200241e0016c6a200641e4016a41e00110e9968080001a0c010b20102007410c6c6a2009200320026b2210410c6c10ec968080001a2009200e3702042009200c3602002001200741e0016c6a2001200241e0016c6a220c201041e0016c10ec968080001a200c200641e4016a41e00110e9968080001a200141ac146a220c20024102746a41086a200c20074102746a201041027410ec968080001a0b200120074102746a41ac146a20083602002001200f3b01aa1402402007200341026a22094f0d000240200320026b220341016a4103712208450d00200120024102746a41b0146a210203402002280200220c20073b01a814200c20013602a013200241046a2102200741016a21072008417f6a22080d000b0b20034103490d00200120074102746a41b8146a21020340200241746a280200220820073b01a814200820013602a013200241786a2802002208200741016a3b01a814200820013602a0132002417c6a2802002208200741026a3b01a814200820013602a01320022802002208200741036a3b01a814200820013602a013200241106a21022009200741046a2207470d000b0b20062902a805210e20062802a405210c200641c4036a201341e00110e9968080001a20062802900721070b200c418080808078470d010b2000200a3602082000200d3602042000200b3602000c030b200628029c07210220062802980721082006280294072109200641e4016a200641c4036a41e00110e9968080001a20072802a01322010d000b0b200428020022012802002209450d072001280204210341002d00b8bfd380001a41dc1441002802b0bfd38000118280808000002207450d08200720093602ac14200741003b01aa14200741003602a013200941003b01a814200920073602a0132001200341016a3602042001200736020020032002470d092007200e3702a8132007200c3602a413200741013b01aa142007200641e4016a41e00110e996808000220720083602b0142000200a3602082000200d3602042000200b360200200841013b01a814200820073602a0130b200641a0076a2480808080000f0b410441ac1410b980808000000b2001410b419ce9cc800010aa81808000000b2001410b419ce9cc800010aa81808000000b2001410b419ce9cc800010aa81808000000b2001410b419ce9cc800010aa81808000000b41bce9cc8000413541f4e9cc800010f480808000000b4188e6cc8000108a81808000000b410441dc1410b980808000000b4198e7cc8000413041c8e7cc800010f480808000000bd50401097f23808080800041e0036b2202248080808000200128020022032f01aa14210441002d00b8bfd380001a0240024002400240024041dc1441002802b0bfd38000118280808000002205450d00200541003602a013200520032f01aa14220620012802082207417f736a22083b01aa14200241f0016a41086a200341a4136a22092007410c6c6a220a41086a2802003602002002200a2902003703f00120024180026a2003200741e0016c6a41e00110e9968080001a2008410c4f0d012006200741016a220a6b2008470d02200541a4136a2009200a410c6c6a2008410c6c10e9968080001a20052003200a41e0016c6a200841e0016c10e996808000210a200320073b01aa14200241086a200241f0016a41086a280200360200200220022903f0013703002002410c6a20024180026a41e00110e9968080001a200a2f01aa14220541016a21082005410c4f0d03200420076b22062008470d04200a41ac146a200320074102746a41b0146a200641027410e9968080002106200128020421014100210702400340200620074102746a280200220820073b01a8142008200a3602a013200720054f0d01200720072005496a220720054d0d000b0b200020013602f001200020033602ec012000200241ec0110e996808000220720013602f8012007200a3602f401200241e0036a2480808080000f0b410441dc1410b980808000000b2008410b419ce9cc800010aa81808000000b41e4e8cc80004128418ce9cc800010f480808000000b2008410c41ace9cc800010aa81808000000b41e4e8cc80004128418ce9cc800010f480808000000b9421010f7f23808080800041e0046b220624808080800002400240024002400240024002400240024002400240024002400240024002400240024002400240200128020022072f01e20c2208410b490d00200128020421082001280208210941002d00b8bfd380001a41e40c41002802b0bfd3800011828080800000220a450d0b200a41003b01e20c200a41003602880220094105490d012009417b6a0e020304020b20072001280208220941186c6a210a02400240200941016a220b20084d0d00200a2002290200370200200a41106a200241106a290200370200200a41086a200241086a2902003702000c010b2007200b41186c6a200a200820096b220c41186c10ec968080001a200a41106a200241106a290200370200200a41086a200241086a290200370200200a20022902003702002007418c026a2202200b41fc006c6a2002200941fc006c6a200c41fc006c10ec968080001a0b2007200941fc006c6a418c026a200341fc0010e9968080001a2007200841016a3b01e20c2001280204210d0c070b200641a8026a41086a220c200741ec006a290200370300200641a8026a41106a220e200741f4006a280200360200200a20072f01e20c417b6a22013b01e20c200620072902643703a8022007280260210b200641bc026a200741fc056a41fc0010e9968080001a2001410c4f0d0a200a200741f8006a200141186c10e996808000418c026a200741f8066a200141fc006c10e9968080001a200741043b01e20c200641b8036a41086a200c290300370300200641b8036a41106a200e280200360200200620062903a8023703b803200641cc036a200641bc026a41fc0010e9968080001a2008210d2007210c0c040b200641a8026a41086a220c2007419c016a290200370300200641a8026a41106a220e200741a4016a280200360200200a20072f01e20c41796a22013b01e20c20062007290294013703a802200728029001210b200641bc026a200741f4076a41fc0010e9968080001a2001410c4f0d0a200a200741a8016a200141186c10e996808000418c026a200741f0086a200141fc006c10e9968080001a200741063b01e20c200641b8036a41086a200c290300370300200641b8036a41106a200e280200360200200620062903a8023703b803200641cc036a200641bc026a41fc0010e9968080001a200941796a21090c020b200641a8026a41086a220920074184016a290200370300200641a8026a41106a220c2007418c016a280200360200200a20072f01e20c417a6a22013b01e20c2006200729027c3703a8022007280278210b200641bc026a200741f8066a220e41fc0010e9968080001a2001410c4f0d0a200a20074190016a200141186c10e996808000418c026a200741f4076a200141fc006c10e9968080001a200641b8036a41106a200c280200360200200641b8036a41086a2009290300370300200620062903a8023703b803200641cc036a200641bc026a41fc0010e9968080001a200741f8006a220141106a200241106a290200370200200141086a200241086a29020037020020012002290200370200200e200341fc0010e9968080001a200741063b01e20c410521092008210d2007210c0c030b200641a8026a41086a220920074184016a290200370300200641a8026a41106a220c2007418c016a280200360200200a20072f01e20c417a6a22013b01e20c2006200729027c3703a8022007280278210b200641bc026a200741f8066a41fc0010e9968080001a2001410c4f0d0a200a20074190016a200141186c10e996808000418c026a200741f4076a200141fc006c10e9968080001a200741053b01e20c200641b8036a41086a2009290300370300200641b8036a41106a200c280200360200200620062903a8023703b803200641cc036a200641bc026a41fc0010e9968080001a410021090b4100210d200a210c0b200c200941186c6a210102400240200c2f01e20c220e20094b0d0020012002290200370200200141106a200241106a290200370200200141086a200241086a2902003702000c010b200141186a2001200e20096b220f41186c10ec968080001a200141106a200241106a290200370200200141086a200241086a29020037020020012002290200370200200c200941fc006c6a22014188036a2001418c026a200f41fc006c10ec968080001a0b200c200941fc006c6a418c026a200341fc0010e9968080001a200c200e41016a3b01e20c0b200641086a200641b8036a41900110e9968080001a200b418080808078470d01200c21070b200020093602082000200d360204200020073602000c010b20064198016a200641086a41900110e9968080001a0240024020072802880222010d00410021020c010b200641d4046a2110200641cc046a2111200641b8036a41046a211220064198016a41146a21134100210220064198016a41106a2114034020082002470d0820072f01e00c2102024002400240024002400240024002400240024020012f01e20c2203410b490d00200841016a210720024105490d012002417b6a0e020304020b200241016a2107200341016a210e2001200241186c6a21080240024020022003490d002008200b36020020082006290298013702042008410c6a200641a0016a290200370200200841146a200641a8016a2802003602002001200241fc006c6a418c026a201341fc0010e9968080001a0c010b2001200741186c6a2008200320026b220f41186c10ec968080001a2008200b36020020082006290298013702042008410c6a20064198016a41086a290200370200200841146a200641a8016a2802003602002001418c026a2208200741fc006c6a2008200241fc006c6a2208200f41fc006c10ec968080001a2008201341fc0010e9968080001a200141e40c6a220820024102746a41086a200820074102746a200f41027410ec968080001a0b2001200e3b01e20c200120074102746a41e40c6a200a3602002007200341026a220b4f0d070240200320026b220341016a4103712208450d00200120024102746a41e80c6a210203402002280200220a20073b01e00c200a200136028802200241046a2102200741016a21072008417f6a22080d000b0b20034103490d07200741027420016a41f00c6a21020340200241746a280200220820073b01e00c2008200136028802200241786a2802002208200741016a3b01e00c20082001360288022002417c6a2802002208200741026a3b01e00c200820013602880220022802002208200741036a3b01e00c2008200136028802200241106a2102200b200741046a2207470d000c080b0b200620013602bc0241042101201121080c040b200620013602bc02200241796a2102410621010c020b200641053602c402200620073602c002200620013602bc02200641b8036a200641bc026a10849680800020062802cc0422072f01e20c220141016a210202400240024020014106490d0020074190016a200741f8006a2001417b6a220841186c10ec968080001a2007200b360278200720062902980137027c20074184016a20064198016a41086a2902003702002007418c016a2014280200360200200741f4076a200741f8066a220b200841fc006c10ec968080001a200b201341fc0010e9968080001a200741800d6a200741fc0c6a2001410274416c6a10ec968080001a200720023b01e20c2007200a3602fc0c0c010b2007200b360278200720062902980137027c20074184016a20064198016a41086a2902003702002007418c016a2014280200360200200741f8066a201341fc0010e9968080001a200720023b01e20c2007200a3602fc0c20014105470d010b2001410371210a4106210202402001417b6a4103490d00200141fcff037141786a210341062101410021080340200720086a220241fc0c6a280200220b20013b01e00c200b200736028802200241800d6a280200220b200141016a3b01e00c200b200736028802200241840d6a280200220b200141026a3b01e00c200b200736028802200241880d6a2802002202200141036a3b01e00c2002200736028802200841106a21082001417a6a210b200141046a22022101200b2003470d000b0b200a450d00200720024102746a41e40c6a210103402001280200220820023b01e00c2008200736028802200141046a2101200241016a2102200a417f6a220a0d000b0b20062802b803210b200641086a201241900110e9968080001a0c030b200620013602bc0241002102410521010b201021080b200620013602c402200620073602c002200241016a2107200641b8036a200641bc026a10849680800020082802002201200241186c6a210820012f01e20c220341016a210e02400240200320024b0d002008200b36020020082006290298013702042008410c6a20064198016a41086a290200370200200841146a20142802003602002001200241fc006c6a418c026a201341fc0010e9968080001a0c010b2001200741186c6a2008200320026b220f41186c10ec968080001a2008200b36020020082006290298013702042008410c6a20064198016a41086a290200370200200841146a20142802003602002001418c026a2208200741fc006c6a2008200241fc006c6a2208200f41fc006c10ec968080001a2008201341fc0010e9968080001a200141e40c6a220820024102746a41086a200820074102746a200f41027410ec968080001a0b200120074102746a41e40c6a200a3602002001200e3b01e20c02402007200341026a220b4f0d000240200320026b220341016a4103712208450d00200120024102746a41e80c6a210203402002280200220a20073b01e00c200a200136028802200241046a2102200741016a21072008417f6a22080d000b0b20034103490d00200120074102746a41f00c6a21020340200241746a280200220820073b01e00c2008200136028802200241786a2802002208200741016a3b01e00c20082001360288022002417c6a2802002208200741026a3b01e00c200820013602880220022802002208200741036a3b01e00c2008200136028802200241106a2102200b200741046a2207470d000b0b20062802b803210b200641086a201241900110e9968080001a20062802cc0421070b200b418080808078470d010b200020093602082000200d3602042000200c3602000c030b20062802d804210220062802d404210a20062802d004210820064198016a200641086a41900110e9968080001a20072802880222010d000b0b200428020022012802002208450d072001280204210341002d00b8bfd380001a41940d41002802b0bfd38000118280808000002207450d08200720083602e40c200741003b01e20c2007410036028802200841003b01e00c20082007360288022001200341016a3602042001200736020020032002470d092007200b360200200741013b01e20c20072006290298013702042007410c6a200641a0016a290200370200200741146a200641a8016a2802003602002007418c026a20064198016a41146a41fc0010e9968080001a2007200a3602e80c200020093602082000200d3602042000200c360200200a41013b01e00c200a2007360288020b200641e0046a2480808080000f0b410441e40c10b980808000000b2001410b419ce9cc800010aa81808000000b2001410b419ce9cc800010aa81808000000b2001410b419ce9cc800010aa81808000000b2001410b419ce9cc800010aa81808000000b41bce9cc8000413541f4e9cc800010f480808000000b4188e6cc8000108a81808000000b410441940d10b980808000000b4198e7cc8000413041c8e7cc800010f480808000000bfb04010a7f23808080800041b0026b2202248080808000200128020022032f01e20c210441002d00b8bfd380001a0240024002400240024041940d41002802b0bfd38000118280808000002205450d002005410036028802200520032f01e20c220620012802082207417f736a22083b01e20c20024198016a41086a2003200741186c6a220941086a29020037030020024198016a41106a200941106a2902003703002002200929020037039801200241b4016a2003418c026a220a200741fc006c6a41fc0010e9968080001a2008410c4f0d012006200741016a220b6b2008470d0220052003200b41186c6a200841186c10e9968080002209418c026a200a200b41fc006c6a200841fc006c10e9968080001a200320073b01e20c200241086a20024198016a41086a290300370300200241106a20024198016a41106a2903003703002002200229039801370300200241186a200241b4016a41fc0010e9968080001a20092f01e20c220841016a21052008410c4f0d03200420076b220b2005470d04200941e40c6a200320074102746a41e80c6a200b41027410e996808000210b200128020421014100210702400340200b20074102746a280200220520073b01e00c2005200936028802200720084f0d01200720072008496a220720084d0d000b0b200020013602980120002003360294012000200241940110e996808000220720013602a0012007200936029c01200241b0026a2480808080000f0b410441940d10b980808000000b2008410b419ce9cc800010aa81808000000b41e4e8cc80004128418ce9cc800010f480808000000b2005410c41ace9cc800010aa81808000000b41e4e8cc80004128418ce9cc800010f480808000000ba214030c7f017e017f23808080800041306b2205248080808000024002400240024002400240024002400240024002400240024002400240024002400240200128020022062f018a012207410b490d00200128020421082001280208210941002d00b8bfd380001a418c0141002802b0bfd38000118280808000002207450d09200741003b018a012007410036020020094105490d012009417b6a0e020304020b200641046a210802402001280208220941016a220a20074b0d002008200a410c6c6a20082009410c6c6a200720096b410c6c10ec968080001a0b20082009410c6c6a22082002290200370200200841086a200241086a2802003602002006200741016a3b018a012001280204210b2006210c0c070b200720062f018a01417b6a22013b018a012001410c4f0d08200641346a210a200641386a210d4104210e41c000210f2008210b2006210c0c040b200720062f018a0141796a22013b018a012001410c4f0d08200941796a2109200641cc006a210a200641d0006a210d4100210b4106210e41d800210f0c020b200720062f018a01417a6a22013b018a012001410c4f0d082006280240211020062902442111200741046a200641cc006a2001410c6c10e9968080001a200641063b018a01200641c8006a200241086a28020036020020062002290200370240410521092008210b2006210c0c030b200720062f018a01417a6a22013b018a012001410c4f0d08200641c0006a210a200641c4006a210d410021094105210e41cc00210f4100210b0b2007210c0b200a2802002110200d2902002111200741046a2006200f6a2001410c6c10e9968080001a2006200e3b018a01200c41046a21010240200c2f018a01220a20094d0d0020012009410c6c6a220d410c6a200d200a20096b410c6c10ec968080001a0b20012009410c6c6a22012002290200370200200141086a200241086a280200360200200c200a41016a3b018a010b2010418080808078460d0002400240200628020022020d00410021010c010b200541286a2112200541206a210f41002101034020082001470d0820062f01880121010240024002400240024002400240024020022f018a01220a410b490d00200841016a210620014105490d012001417b6a0e020304020b200241046a220e2001410c6c6a2108200141016a2106200a41016a210d024002402001200a490d0020082011370204200820103602000c010b200e2006410c6c6a2008200a20016b220e410c6c10ec968080001a20082011370204200820103602002002418c016a220820014102746a41086a200820064102746a200e41027410ec968080001a0b2002200d3b018a01200220064102746a418c016a20073602002006200a41026a22104f0d090240200a20016b220a41016a4103712207450d00200220014102746a4190016a210103402001280200220820063b01880120082002360200200141046a2101200641016a21062007417f6a22070d000b0b200a4103490d09200641027420026a4198016a21010340200141746a280200220720063b01880120072002360200200141786a2802002207200641016a3b018801200720023602002001417c6a2802002207200641026a3b0188012007200236020020012802002207200641036a3b01880120072002360200200141106a21012010200641046a2206470d000c0a0b0b2005200236020841042102200f21080c040b20052002360208200141796a2101410621020c020b200541053602102005200636020c20052002360208200541146a200541086a108696808000200528022022062f018a01220141016a21020240024020014106490d00200641cc006a200641c0006a2001410c6c41446a10ec968080001a2006201137024420062010360240200641a8016a200641a4016a2001410274416c6a10ec968080001a200620023b018a01200620073602a4010c010b200620073602a4012006201137024420062010360240200620023b018a0120014105470d040b200141037121084106210202402001417b6a4103490d00200141fcff037141786a211041062101410021070340200620076a220241a4016a280200220a20013b018801200a2006360200200241a8016a280200220a200141016a3b018801200a2006360200200241ac016a280200220a200141026a3b018801200a2006360200200241b0016a2802002202200141036a3b01880120022006360200200741106a21072001417a6a210a200141046a22022101200a2010470d000b0b2008450d03200620024102746a418c016a210103402001280200220720023b01880120072006360200200141046a2101200241016a21022008417f6a22080d000c040b0b2005200236020841002101410521020b201221080b200520023602102005200636020c200541146a200541086a1086968080002008280200220241046a220e2001410c6c6a210a200141016a210620022f018a01220841016a210d02400240200820014b0d00200a2011370204200a20103602000c010b200e2006410c6c6a200a200820016b220e410c6c10ec968080001a200a2011370204200a20103602002002418c016a220a20014102746a41086a200a20064102746a200e41027410ec968080001a0b200220064102746a418c016a20073602002002200d3b018a0102402006200841026a220a4f0d000240200820016b221041016a4103712207450d00200220014102746a4190016a210103402001280200220820063b01880120082002360200200141046a2101200641016a21062007417f6a22070d000b0b20104103490d00200220064102746a4198016a21010340200141746a280200220720063b01880120072002360200200141786a2802002207200641016a3b018801200720023602002001417c6a2802002207200641026a3b0188012007200236020020012802002207200641036a3b01880120072002360200200141106a2101200a200641046a2206470d000b0b200528022021060b2005290218211120052802142210418080808078460d02200528022c21012005280228210720052802242108200628020022020d000b0b200328020022022802002208450d072002280204210a41002d00b8bfd380001a41bc0141002802b0bfd38000118280808000002206450d082006200836028c01200641003b018a0120064100360200200841003b018801200820063602002002200a41016a36020420022006360200200a2001470d0920062007360290012006201137020820062010360204200641013b018a01200741013b018801200720063602000b200020093602082000200b3602042000200c360200200541306a2480808080000f0b4104418c0110b980808000000b2001410b419ce9cc800010aa81808000000b2001410b419ce9cc800010aa81808000000b2001410b419ce9cc800010aa81808000000b2001410b419ce9cc800010aa81808000000b41bce9cc8000413541f4e9cc800010f480808000000b4188e6cc8000108a81808000000b410441bc0110b980808000000b4198e7cc8000413041c8e7cc800010f480808000000b8d0401097f23808080800041206b2202248080808000200128020022032f018a01210441002d00b8bfd380001a0240024002400240024041bc0141002802b0bfd38000118280808000002205450d0020054100360200200520032f018a01220620012802082207417f736a22083b018a01200241106a41086a200341046a22092007410c6c6a220a41086a2802003602002002200a2902003703102008410c4f0d012006200741016a220a6b2008470d02200541046a2009200a410c6c6a2008410c6c10e9968080001a200320073b018a01200241086a200241106a41086a2802003602002002200229031037030020052f018a01220841016a210a2008410c4f0d03200420076b2206200a470d042005418c016a200320074102746a4190016a200641027410e996808000210a200128020421064100210702400340200a20074102746a280200220120073b01880120012005360200200720084f0d01200720072008496a220720084d0d000b0b200020063602102000200336020c200020022903003702002000200636021820002005360214200041086a200241086a280200360200200241206a2480808080000f0b410441bc0110b980808000000b2008410b419ce9cc800010aa81808000000b41e4e8cc80004128418ce9cc800010f480808000000b200a410c41ace9cc800010aa81808000000b41e4e8cc80004128418ce9cc800010f480808000000bdc0602107f017e23808080800041d0036b2202248080808000024002400240024002400240200028021422032f01aa14220420016a2205410c4f0d00200028020c22062f01aa1422072001490d012006200720016b22083b01aa14200320053b01aa14200341a4136a22092001410c6c6a20092004410c6c10ec968080001a2003200141e0016c6a2003200441e0016c10ec968080001a2007200841016a220a6b22072001417f6a470d022009200641a4136a220b200a410c6c6a2007410c6c220c10e996808000210920032006200a41e0016c6a200741e0016c220d10e996808000210320022006200841e0016c6a41e00110e996808000220741e0016a41086a22022000280200220e2000280208220f410c6c6a221041ac136a2211280200360200200b2008410c6c6a220841086a280200210b201041a4136a22102902002112201020082902003702002011200b360200200720123703e001200741f0016a200e200f41e0016c6a220841e00110e9968080001a2008200741e00110e9968080001a2009200c6a220841086a2002280200360200200820072903e0013702002003200d6a200741f0016a41e00110e9968080001a20002802182108024020002802100d002008450d050c060b2008450d05200341ac146a2200200141027422016a2000200441027441046a10ec968080001a20002006200a4102746a41ac146a200110e9968080001a200541016a220841037121064100210120054103490d03200341b8146a21002008413c712104410021010340200041746a280200220820013b01a814200820033602a013200041786a2802002208200141016a3b01a814200820033602a0132000417c6a2802002208200141026a3b01a814200820033602a01320002802002208200141036a3b01a814200820033602a013200041106a21002004200141046a2201470d000c040b0b4184eacc8000413341b8eacc800010f480808000000b41c8eacc8000412741f0eacc800010f480808000000b41e4e8cc80004128418ce9cc800010f480808000000b2006450d00200141027420036a41ac146a210003402000280200220820013b01a814200820033602a013200041046a2100200141016a21012006417f6a22060d000b0b200741d0036a2480808080000f0b4180ebcc8000412841a8ebcc800010f480808000000bc90802117f017e23808080800041d0036b2202248080808000024002400240024002400240200028020c22032f01aa14220420016a2205410c4f0d00200028021422062f01aa1422072001490d01200320053b01aa142006200720016b22083b01aa14200220062001417f6a220941e0016c220a6a41e00110e996808000220741e0016a41086a22022000280200220b2000280208220c410c6c6a220d41ac136a220e280200360200200641a4136a220f2009410c6c22106a221141086a2802002112200d41a4136a220d2902002113200d2011290200370200200e2012360200200720133703e001200741f0016a200b200c41e0016c6a220b41e00110e9968080001a200b200741e00110e9968080001a200341a4136a220c2004410c6c6a220b41086a2002280200360200200b20072903e0013702002003200441e0016c6a200741f0016a41e00110e9968080001a20092005200441016a22026b470d02200c2002410c6c6a200f201010e9968080001a2003200241e0016c6a2006200a10e9968080001a200f200f2001410c6c6a2008410c6c10ec968080001a20062006200141e0016c6a200841e0016c10ec9680800021062000280218210f024020002802100d00200f450d050c060b200f450d05200320024102746a41ac146a200641ac146a22002001410274220f10e9968080001a20002000200f6a200841027441046a10ec968080001a024020014103712200450d00200441027420036a41b0146a210103402001280200220420023b01a814200420033602a013200141046a2101200241016a21022000417f6a22000d000b0b024020094103490d00200241027421000340200320006a220141ac146a280200220420023b01a814200420033602a013200141b0146a2802002204200241016a3b01a814200420033602a013200141b4146a2802002204200241026a3b01a814200420033602a013200141b8146a2802002201200241036a22043b01a814200120033602a013200241046a2102200041106a210020042005470d000b0b2008417f460d04200841016a220041037121014100210220084103490d03200641b8146a21032000417c712104410021020340200341746a280200220020023b01a814200020063602a013200341786a2802002200200241016a3b01a814200020063602a0132003417c6a2802002200200241026a3b01a814200020063602a01320032802002200200241036a3b01a814200020063602a013200341106a21032004200241046a2202470d000c040b0b41b8ebcc8000413241ecebcc800010f480808000000b41fcebcc8000412841a4eccc800010f480808000000b41e4e8cc80004128418ce9cc800010f480808000000b2001450d00200241027420066a41ac146a210303402003280200220020023b01a814200020063602a013200341046a2103200241016a21022001417f6a22010d000b0b200741d0036a2480808080000f0b4180ebcc8000412841b4eccc800010f480808000000be007010f7f23808080800041e0016b220224808080800002400240200128020c22032f01aa14220441016a2205200128021422062f01aa1422076a2208410c4f0d00200128021021092001280204210a2001280200220b2f01aa14210c200320083b01aa14200241086a220d200b2001280208220e410c6c6a220141ac136a2802003602002002200141a4136a220f290200370300200f200141b0136a200c200e417f736a2210410c6c10ec968080001a200341a4136a22012004410c6c6a220f41086a200d280200360200200f200229030037020020012005410c6c6a200641a4136a2007410c6c10e9968080001a2002200b200e41e0016c6a220141e00110e996808000210d2001200141e0016a201041e0016c10ec968080001a2003200441e0016c6a200d41e00110e9968080001a2003200541e0016c6a2006200741e0016c10e9968080001a200b200e41016a22014102746a220241ac146a200241b0146a201041027410ec968080001a02402001200c4f0d00200c200e6b417e6a210f024020104103712210450d00200e410274200b6a41b0146a210203402002280200220e20013b01a814200e200b3602a013200241046a2102200141016a21012010417f6a22100d000b0b200f4103490d002001410274200b6a41b8146a21020340200241746a280200221020013b01a8142010200b3602a013200241786a2802002210200141016a3b01a8142010200b3602a0132002417c6a2802002210200141026a3b01a8142010200b3602a01320022802002210200141036a3b01a8142010200b3602a013200241106a2102200c200141046a2201470d000b0b200b200b2f01aa14417f6a3b01aa140240200a4102490d00200741016a2201200820046b470d02200341ac146a20054102746a200641ac146a200141027410e9968080001a02402001410371220b450d00200441027420036a41b0146a210103402001280200220220053b01a814200220033602a013200141046a2101200541016a2105200b417f6a220b0d000b0b20074103490d002005410274210b03402003200b6a220141ac146a280200220220053b01a814200220033602a013200141b0146a2802002202200541016a3b01a814200220033602a013200141b4146a2802002202200541026a3b01a814200220033602a013200141b8146a2802002201200541036a22023b01a814200120033602a013200541046a2105200b41106a210b20022008470d000b0b200641002802a8bfd38000118080808000002000200936020420002003360200200d41e0016a2480808080000f0b41e4edcc8000412a4190eecc800010f480808000000b41e4e8cc80004128418ce9cc800010f480808000000bf10f01127f23808080800041e0046b2203248080808000200341d8006a2001280200220420012802082205410c6c6a220641ac136a2802003602002003200641a4136a22072902003703502007200641b0136a2005417f7320042f01aa1422086a2209410c6c10ec968080001a200341d0006a410c6a2004200541e0016c6a220641e00110e9968080001a2006200641e0016a200941e0016c10ec968080001a20042008417f6a22063b01aa142001280204210a0240200641ffff037141044b0d00024020042802a0132201450d00200a41016a2107024002400240024020042f01a81422080d0020012f01aa140d01200341013602fc0220034198e8cc80003602f80220034200370284032003200341dc046a36028003200341f8026a41a0e8cc800010f280808000000b2003200a3602302003200436022c2003200a3602282003200736021c20032008417f6a2207360220200320013602182003200120074102746a41ac146a2802002201360224024020012f01aa142207200641ffff037122016a41016a410c490d00200341186a4101108796808000200541016a21050c040b200520014b0d01200520076a41016a2105200341106a200341186a108996808000200328021021042003280214210a0c030b2003200a36024c2003200a360244200320043602402003410036023c2003200736023820032001360234200320012802b01422013602480240200641ffff0371220620012f01aa146a41016a410c490d00200341346a41011088968080000c030b200520064b0d01200341086a200341346a10899680800020032802082104200328020c210a0c020b41c4eccc8000418e0141d4edcc800010f480808000000b41c4eccc8000418e0141d4edcc800010f480808000000b20042802a0132208450d0020082f01aa14220641044b0d00200a41016a210b0240024002400340200b21012008220c2802a0132208450d01200641ffff0371210d200141016a210b0240024002400240200c2f01a81422060d00024020082f01aa1422090d00200341013602fc0220034198e8cc80003602f80220034200370284032003200341dc046a36028003200341f8026a41a0e8cc800010f280808000000b200320013602f402200320013602ec022003200c3602e8024100210e200341003602e4022003200b3602e002200320083602dc02200320082802b01422063602f002200d41016a220120062f01aa14220f6a2210410c4f0d01200c21072006210c200d2111200f210d0c030b200320013602d8022003200c3602d402200320013602d0022003200b3602c40220032006417f6a220e3602c802200320083602c00220032008200e4102746a41ac146a28020022073602cc02200d20072f01aa1422116a41016a410c490d01200341c0026a4105200d6b1087968080000c070b200341dc026a4105200d6b1088968080000c060b201141016a2201200d6a211020082f01aa1421090b200720103b01aa14200341f8026a41086a22122008200e410c6c6a220641ac136a2802003602002003200641a4136a22132902003703f8022013200641b0136a200941ffff03712214200e417f736a220f410c6c10ec968080001a200741a4136a22062011410c6c6a220941086a2012280200360200200920032903f80237020020062001410c6c6a200c41a4136a200d410c6c10e9968080001a200341f8026a2008200e41e0016c6a220641e00110e9968080001a2006200641e0016a200f41e0016c10ec968080001a2007201141e0016c6a200341f8026a41e00110e9968080001a2007200141e0016c6a200c200d41e0016c10e9968080001a2008200e41016a22064102746a221241ac146a2209201241b0146a200f41027410ec968080001a0240201420064d0d002014200e6b417e6a21120240201420066b410371220e450d0003402009280200220f20063b01a814200f20083602a013200941046a2109200641016a2106200e417f6a220e0d000b0b20124103490d00200820064102746a41b8146a21090340200941746a280200220e20063b01a814200e20083602a013200941786a280200220e200641016a3b01a814200e20083602a0132009417c6a280200220e200641026a3b01a814200e20083602a0132009280200220e200641036a3b01a814200e20083602a013200941106a21092014200641046a2206470d000b0b200820082f01aa14417f6a3b01aa140240200b4102490d00200d41016a2206201020116b470d03200741ac146a2001410274220e6a200c41ac146a200641027410e9968080001a0240201020016b220f41016a4103712209450d002007200e6a41ac146a210603402006280200220e20013b01a814200e20073602a013200641046a2106200141016a21012009417f6a22090d000b0b200f4103490d00200141027421090340200720096a220641ac146a280200220e20013b01a814200e20073602a013200641b0146a280200220e200141016a3b01a814200e20073602a013200641b4146a280200220e200141026a3b01a814200e20073602a013200641b8146a2802002206200141036a220e3b01a814200620073602a013200141046a2101200941106a2109200e2010470d000b0b200c41002802a8bfd380001180808080000020082f01aa14220641044d0d000c040b0b200641ffff0371450d010c020b41e4e8cc80004128418ce9cc800010f480808000000b200241013a00000b2000200341d0006a41ec0110e996808000220120053602f4012001200a3602f001200120043602ec01200341e0046a2480808080000bfa0502077f017e2380808080004180046b2203248080808000200128020821042001280200210502400240200128020422060d00200320043602082003410036020420032005360200200020032002108a968080000c010b200520044102746a41ac146a280200210102402006417f6a2204450d002006417e6a2105024020044103712206450d0003402004417f6a2104200120012f01aa144102746a41ac146a28020021012006417f6a22060d000b0b20054103490d000340200120012f01aa144102746a41ac146a280200220120012f01aa144102746a41ac146a280200220120012f01aa144102746a41ac146a280200220120012f01aa144102746a41ac146a28020021012004417c6a22040d000b0b2003200136020c200320013301aa144220864280808080707c370210200341186a2003410c6a2002108a9680800020034190026a41086a2202200341186a41086a22052802003602002003200329021837039002200341a0026a200341186a410c6a220741e00110e9968080001a20032802880221040240200328028c02220620032802840222012f01aa14490d000340200441016a210420012f01a814220620012802a01322012f01aa144f0d000b0b200520012006410c6c6a220841ac136a2209280200360200200841a4136a2205290200210a2005200329039002370200200920022802003602002003200a37031820072001200641e0016c6a220241e00110e9968080001a2002200341a0026a41e00110e9968080001a0240024020040d00200641016a21020c010b200120064102746a41b0146a2802002101410021022004417f6a2206450d002004417e6a2105024020064107712204450d0003402006417f6a210620012802ac1421012004417f6a22040d000b0b20054107490d00034020012802ac142802ac142802ac142802ac142802ac142802ac142802ac142802ac142101200641786a22060d000b0b2000200341186a41ec0110e996808000220420023602f401200441003602f001200420013602ec010b20034180046a2480808080000bd802010b7f20032802142104200328021021052003280208210620032802042107034020012f01e20c220841186c21094100210a417f210b4100210c2001210302400240024002400340200b210d2009200a460d010240417f2007200328020420062003280208220e2006200e491b10ed96808000220b2006200e6b200b1b220e410047200e4100481b220e0d00024020052001200a6a220e41106a2802002004200e41146a280200220e2004200e491b10ed96808000220b2004200e6b200b1b220e41004e0d00200c21080c030b200e410047210e0b200341186a2103200c41016a210c200a41186a210a200d41016a210b200e4101460d000b200e41ff0171450d01200d41016a21080b20020d02410121030c010b41002103200b21080b2000200836020c2000200236020820002001360204200020033602000f0b2002417f6a2102200120084102746a41e40c6a28020021010c000b0bd802010b7f20032802142104200328021021052003280208210620032802042107034020012f018e02220841186c21094100210a417f210b4100210c2001210302400240024002400340200b210d2009200a460d010240417f2007200328020420062003280208220e2006200e491b10ed96808000220b2006200e6b200b1b220e410047200e4100481b220e0d00024020052001200a6a220e41106a2802002004200e41146a280200220e2004200e491b10ed96808000220b2004200e6b200b1b220e41004e0d00200c21080c030b200e410047210e0b200341186a2103200c41016a210c200a41186a210a200d41016a210b200e4101460d000b200e41ff0171450d01200d41016a21080b20020d02410121030c010b41002103200b21080b2000200836020c2000200236020820002001360204200020033602000f0b2002417f6a2102200120084102746a4190026a28020021010c000b0bcd0301077f02400240024002400240024020022802000e0400010203000b200141a4136a210320012f01aa142204410c6c21052002280208210620022802042107417f21080340024020050d00200421080c060b2003280208210120032802042109200541746a2105200841016a21082003410c6a2103417f200720092006200120062001491b10ed968080002209200620016b20091b220141004720014100481b22014101460d000b200141ff01710d0420004103360204200020083602000f0b200141a4136a210320012f01aa142204410c6c21052002280208210620022802042107417f21080340024020050d00200421080c040b2003280208210120032802042109200541746a2105200841016a21082003410c6a2103417f200720092006200120062001491b10ed968080002209200620016b20091b220141004720014100481b22014101460d000b200141ff01710d02200041023602042000200841016a3602000f0b20004280808080203702000f0b20004103360204200020012f01aa143602000f0b20002008360200200020022902003702042000410c6a200241086a2802003602000f0b20002008360200200020022902003702042000410c6a200241086a2802003602000be50301067f02400240024002400240024020022802000e0400010203000b20012f01aa142204410c6c2003410c6c22056b2106200120056a41a4136a21012002280208210720022802042108024003402006450d012001280208210520012802042109200641746a2106200341016a21032001410c6a2101417f200820092007200520072005491b10ed968080002209200720056b20091b220541004720054100481b22054101460d000b200541ff0171450d042003417f6a21040b20002004360200200020022902003702042000410c6a200241086a2802003602000f0b20012f01aa142204410c6c2003410c6c22056b21062003417f6a2103200120056a41a4136a21012002280208210720022802042108024003402006450d012001280208210520012802042109200641746a2106200341016a21032001410c6a2101417f200820092007200520072005491b10ed968080002209200720056b20091b220541004720054100481b22054101460d000b200541ff0171450d04200321040b20002004360200200020022902003702042000410c6a200241086a2802003602000f0b20004102360204200020012f01aa143602000f0b20004103360204200020033602000f0b20004103360204200020033602000f0b20004102360204200020033602000bd706010a7f23808080800041306b22042480808080002003280214210520032802102106200328020c21072003280208210820032802042109024002400240024002400240024002402003280200220a0e03000106000b20070e03040105040b20070e03020104020b200920062008200520082005491b10ed968080002203200820056b20031b41004a0d040c030b0240024020082005470d0020092006200810ed96808000450d010b200920062008200520082005491b10ed968080002203200820056b20031b41004a0d040c030b2004410036021c20044101360210200441d8eecc800036020c200442043702142004410c6a41e4efcc800010f280808000000b200920062008200520082005491b10ed968080002203200820056b20031b4101480d010c020b200920062008200520082005491b10ed968080002203200820056b20031b41004a0d010b024002400240024003402004200836022c200420093602282004200a3602242004410c6a2001200441246a108e968080002004280210210a2004280214210920042802182108200428020c21032004200536022c20042006360228200420073602242004410c6a2001200441246a2003108f968080002004280210210720042802142106200428021821052003200428020c220b490d012002450d022002417f6a2102200120034102746a41ac146a28020021010c000b0b200a4104460d00024020020d002001210c0c020b4100210d2001210c0340200c20034102746a41ac146a280200210c2004200836022c200420093602282004200a3602242004410c6a200c200441246a108e9680800020042802182108200428021421092004280210210a200428020c21032001200b4102746a41ac146a28020021012004200536022c20042006360228200420073602242004410c6a2001200441246a4100108f96808000200428021821052004280214210620042802102107200428020c210b2002200d41016a220d470d000c020b0b2000410036020c200041003602000c010b2000200b360214200041003602102000200136020c20002003360208200041003602042000200c3602000b200441306a2480808080000f0b2004410036021c20044101360210200441a8f0cc800036020c200442043702142004410c6a41b0f0cc800010f280808000000bdc0301047f23808080800041106b22022480808080000240024020012802002203280200220141c0004f0d00410121010c010b02402001418080014f0d00410221010c010b410441052001418080808004491b21010b41002d00b8bfd380001a024002400240200141002802b0bfd38000118280808000002204450d002002410036020c20022004360208200220013602042003280200220541c000490d0102400240200541808001490d002005418080808004490d01200441033a0000410121052002410136020c200328020021030240200141044b0d00200241046a4101410410fc9080800020022802082104200228020c21050b200420056a2003360000200541046a21010c040b20054102744101722103410021050240200141014b0d00200241046a4100410210fc9080800020022802082104200228020c21050b200420056a20033b0000200541026a21010c030b20054102744102722103410021050240200141034b0d00200241046a4100410410fc9080800020022802082104200228020c21050b200420056a2003360000200541046a21010c020b4101200141bcf2cc800010ae80808000000b200420054102743a0000410121010b20002002290204370200200041086a2001360200200241106a2480808080000b9c0101017f23808080800041306b220224808080800020022000280200280200220036022820024103360204200241f4c1c080003602002002420237020c2002418783808000ad4220862002412c6aad843703202002418883808000ad422086200241286aad84370318200220006836022c2002200241186a360208200128021c2001280220200210e2808080002101200241306a24808080800020010b940201027f23808080800041106b2202248080808000200220002802002200360204200128021c41ecf3cc80004106200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41f2f3cc80004104200041046a41ccf3cc8000109d818080001a200241086a41f6f3cc80004105200241046a41dcf3cc8000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710baa0201037f2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000b9a0201027f23808080800041106b22022480808080000240024020002802000d00200128021c41fbf3cc80004110200128022028020c1181808080000021010c010b20022000360204200128021c419cf4cc80004108200128022028020c118180808000002100200241003a000d200220003a000c20022001360208200241086a41a4f4cc80004106200241046a418cf4cc8000109d818080001a20022d000d220020022d000c220372210120004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710ba00601047f024002400240024002402000280200220141054b0d002001450d0441102102200041046a2203280200417e6a2204410220044102491b0e020103020b20002802042104024020002802082201450d0020042100034002400240024002402000280200417e6a2202410220024102491b0e020103000b200041106a280200450d02411421020c010b200041046a280200450d01410821020b200020026a28020041002802a8bfd38000118080808000000b0240200041206a280200450d00200041246a28020041002802a8bfd38000118080808000000b2000412c6a21002001417f6a22010d000b0b200441002802a8bfd38000118080808000000f0b410421020b200320026a2202280200450d00200228020441002802a8bfd38000118080808000000b02402000280224450d00200028022841002802a8bfd38000118080808000000b20014101460d00411021020240024002402000280230417e6a2204410220044102491b0e020002010b410421020b200041306a20026a2202280200450d00200228020441002802a8bfd38000118080808000000b02402000280250450d00200028025441002802a8bfd38000118080808000000b20014102460d0041102102024002400240200028025c417e6a2204410220044102491b0e020002010b410421020b200041dc006a20026a2202280200450d00200228020441002802a8bfd38000118080808000000b0240200028027c450d0020002802800141002802a8bfd38000118080808000000b20014103460d0041102102024002400240200028028801417e6a2204410220044102491b0e020002010b410421020b20004188016a20026a2202280200450d00200228020441002802a8bfd38000118080808000000b024020002802a801450d0020002802ac0141002802a8bfd38000118080808000000b20014104460d004110210102400240024020002802b401417e6a2202410220024102491b0e020002010b410421010b200041b4016a20016a2201280200450d00200128020441002802a8bfd38000118080808000000b20002802d401450d0020002802d80141002802a8bfd38000118080808000000b0bbb0402087f017e23808080800041106b2201248080808000024002400240024002400240200028020820002802002202200241054b1b2203417f460d00417f20036776410020031b220441016a2203450d002000200241054b22054103746a280200220620034b0d01200041046a2107200028020421082002410520051b2105024020044105490d0020022003460d060240024002402003ad422c7e2209422088a70d002009a7220441fcffffff074b0d0020024106490d012005ad422c7e2209422088a70d002009a7220541fcffffff074b0d00200441002802b0bfd38000118280808000002202450d02200220082004200520042005491b10e9968080001a200841002802a8bfd38000118080808000000c080b41d4f5cc8000411141e8f5cc800010f480808000000b41002d00b8bfd380001a200441002802b0bfd380001182808080000022020d050b4104200410b980808000000b200241064f0d020c050b41d4f5cc8000411141f8f5cc8000108b81808000000b4188f6cc8000412041a8f6cc800010f480808000000b200720082006412c6c10e9968080001a200020063602002005ad422c7e2209a7210002402009422088a70d00200041fdffffff074f0d00200841002802a8bfd38000118080808000000c030b2001200036020c200141003602084198f5cc8000412b200141086a4188f5cc800041c4f5cc800010a481808000000b200220072006412c6c10e9968080001a0b2000200636020820002002360204200020033602000b200141106a2480808080000ba60402087f017e23808080800041106b22012480808080000240024002400240024002402000280204220220002802782203200341054b1b2204417f460d00417f20046776410020041b220541016a2206450d00200420064b0d012000280200210720034105200341054b1b2108024020054105490d0020032006460d060240024002402006ad42187e2209422088a70d002009a7220541fcffffff074b0d0020034106490d012008ad42187e2209422088a70d002009a7220341fcffffff074b0d00200541002802b0bfd38000118280808000002202450d02200220072005200320052003491b10e9968080001a200741002802a8bfd38000118080808000000c080b41d4f5cc8000411141e8f5cc800010f480808000000b41002d00b8bfd380001a200541002802b0bfd380001182808080000022020d050b4104200510b980808000000b200341064f0d020c050b41d4f5cc8000411141f8f5cc8000108b81808000000b4188f6cc8000412041a8f6cc800010f480808000000b20002007200241186c10e99680800020023602782008ad42187e2209a7210302402009422088a70d00200341fdffffff074f0d00200741002802a8bfd38000118080808000000c030b2001200336020c200141003602084198f5cc8000412b200141086a4188f5cc800041c4f5cc800010a481808000000b20022000200341186c10e9968080001a0b2000200636027820002004360204200020023602000b200141106a2480808080000b980301027f23808080800041306b2207248080808000410021080240024020024100480d00024020020d00410121080c020b41002d00b8bfd380001a200241002802b0bfd380001182808080000022080d01410121080b2008200241bcf3cc800010ae80808000000b20082001200210e9968080002101410021080240024020044100480d00024020040d00410121080c020b41002d00b8bfd380001a200441002802b0bfd380001182808080000022080d01410121080b2008200441bcf3cc800010ae80808000000b20082003200410e9968080002108200720043602202007200836021c2007200436021820072002360214200720013602102007200236020c410021020240024020064100480d00024020060d00410121020c020b41002d00b8bfd380001a200641002802b0bfd380001182808080000022020d01410121020b2002200641bcf3cc800010ae80808000000b20022005200610e99680800021022007200636022c200720023602282007200636022420002007410c6a200741246a41002007109f96808000200741306a2480808080000b1e00200128021c41b8f8cc8000410c200128022028020c118180808000000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a109c9680800020052802084101470d0120052802102102200528020c21060b2006200241d4fccc800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bf10101077f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b220541ffffffff034d0d0041004100200110ae80808000000b0240024020054104200541044b1b2207410274220641fcffffff074b0d004100210502402004450d002002200441027436021c20022000280204360214410421050b20022005360218200241086a41042006200241146a109c9680800020022802084101470d0120022802102108200228020c21030b20032008200110ae80808000000b200228020c21042000200736020020002004360204200241206a2480808080000b9b08010b7f410341022001280200418080808078461b21052000280200210602400240024002402002450d00200028020421070c010b2000280204210720002802082006200641054b22021b0d010b024002402000200641054b22084103746a220228020022092006410520081b460d002007200041046a20081b21060c010b2000109796808000200041086a210220002802082109200028020421060b20062009412c6c6a22062001290200370204200620053602002006410036022820064280808080c0003702202006410c6a200141086a2802003602002002200228020041016a3602000c010b024002400240200020024103746a2802002202450d002007200041046a220a200641054b1b2002412c6c6a220641546a2202280200220741014b0d012006415c6a2802004101470d012006416c6a2208280200210b20084100360200200641686a280200210c200641646a2208280200210d2008428080808010370200200641586a280200210e200641606a280200210f200721080c020b41e4fccc800041fc0041c8fecc8000108b81808000000b410221080b411021090240024002402007417e6a2207410220074102491b0e020002010b410421090b200220096a2207280200450d00200728020441002802a8bfd38000118080808000000b20022005360200200641586a22062001290200370200200641086a200141086a28020036020020084102460d0002400240200028020820002802002201200141054b22011b417e6a2206200020014103746a2802004f0d000240200a280200200a20011b2006412c6c6a2201280200220641014b0d0041002102410021052006410171450d0202402001280204220641c0004f0d00417f21050c030b02402006418080014f0d00417e21050c030b417c417b2006418080808004491b21050c020b200d450d02200c41002802a8bfd38000118080808000000c020b41f8fecc800041c00041b8ffcc8000108b81808000000b02402008410171450d0041012102200e41c000490d0041022102200e41808001490d0041044105200e418080808004491b21020b2001200e360204200120083602002005200f6a20026a2206200b2006200b491b210602402001280210450d00200128021441002802a8bfd38000118080808000000b200120063602182001200c3602142001200d3602100b024002402003410171450d002000200028020041054b22014103746a2802002206450d012000280204200041046a20011b2006412c6c6a220141786a210602402001417c6a22022802002200450d00200628020020004102746a417c6a2802002004460d010b02402000200141746a2201280200470d0020014198f7cc8000109d968080000b200628020020004102746a20043602002002200041016a3602000b0f0b41e4fccc800041fc0041e8fecc8000108b81808000000bb90c020a7f017e23808080800041e0016b22052480808080004100210602400240200128020822074100480d0020012802042108024020070d00410121090c020b41002d00b8bfd380001a200741002802b0bfd380001182808080000022090d01410121060b2006200741ccfacc800010ae80808000000b20092008200710e99680800021062005200736023820052006360234200520073602304100210a02400240200128021422064100480d002001280210210b024020060d004101210a0c020b41002d00b8bfd380001a200641002802b0bfd3800011828080800000220a0d014101210a0b200a200641ccfacc800010ae80808000000b200a200b200610e996808000210c200520063602442005200c3602402005200636023c024002400240024002402000280200220c0d004100210c2007210d2006210e0c010b200541086a200c2000280204200541306a108c96808000200528020c210c02400240024020052802080d002005280214210602402005280230450d00200528023441002802a8bfd38000118080808000000b200528023c450d01200528024041002802a8bfd38000118080808000000c010b200528023c21062005280234210920052802302207418080808078470d012009210c0b200c200641fc006c6a418c026a21060c020b2005280244210e2005280240210a2005280238210d2005290210210f0b2005200f3702282005200c360224200520003602202005200e36021c2005200a360218200520063602142005200d3602102005200936020c20052007360208200541003602a80102400240200c0d0041002d00b8bfd380001a41e40c41002802b0bfd38000118280808000002206450d03410021092000410036020420002006360200200641003602880220062005290208370200200641013b01e20c200641086a200541086a41086a290200370200200641106a200541086a41106a2902003702002006418c026a200541306a41fc0010e9968080001a200021070c010b2005200f3702c0012005200c3602bc012005200e3602dc012005200a3602d801200520063602d4012005200d3602d001200520093602cc01200520073602c801200541b0016a200541bc016a200541c8016a200541306a200541206a200541306a10839680800020052802b801210920052802b0012106200528022021070b2007200728020841016a3602082006200941fc006c6a418c026a21060b024002400240024002402000410c6a200028020c41054b22074103746a28020022090d00200128020c210702402001280200450d00200841002802a8bfd38000118080808000000b02402007450d00200b41002802a8bfd38000118080808000000b200641f8006a210a200628027821010c010b200541306a41086a200141086a290200370300200541306a41106a200141106a29020037030020052001290200370330200641f8006a210a2000280210200041106a20071b2009410c6c6a41746a200541306a10a4968080002107200628027821012007450d010b20062802042001200141054b22071b22000d010b200641046a2107024002402006410441f800200141054b22001b6a28020022092001410520001b460d002007200a20001b21072006280200200620001b21010c010b200610989680800020062802042109200628020021010b2001200941186c6a2201410036020820014280808080c0003702002001200229020037020c200141146a200241086a2802003602002007200728020041016a3602000c010b02402006280200200620071b200041186c6a220041746a22012802002207418080808078460d002007450d00200041786a28020041002802a8bfd38000118080808000000b20012002290200370200200141086a200241086a2802003602000b02402003410171450d00200628020420062802782201200141054b22011b2207450d022006280200200620011b200741186c6a2201416c6a21070240200141706a22002802002206450d00200728020020064102746a417c6a2802002004460d010b02402006200141686a2201280200470d0020014198f7cc8000109d968080000b200728020020064102746a20043602002000200641016a3602000b200541e0016a2480808080000f0b410441e40c10b980808000000b41e4fccc800041fc0041e8fecc8000108b81808000000bf01803077f017e0d7f23808080800041b0026b220224808080800041012103200028020c21040240024002400240024020002d00504101470d0020002802142004200441054b1b200028024c4d0d010b2000410c6a2205200441054b22044103746a22062802002207450d00200041106a2208280200210320062007417f6a22073602002003200820041b2007410c6c6a22042802042103200220042802084100200428020022041b36022820022003360224200220043602202002410036021c20022004410047220636021820022003360214200220043602102002410036020c20022006360208200241386a200241086a10a296808000200229023c21092002280238210a0240024020010d00200a418080808078460d01200241386a41106a210b200241386a41046a210c03402002200a36022c200220093702302000280200220d450d042009422088a721012009a7210e2000280204210f0340200d41a07e6a2107200d41a4136a2104200d2f01aa142210410c6c2103417f2111024002400340024020030d00201021110c020b200441086a2106200441046a2112201141016a2111200341746a2103200741e0016a21072004410c6a2104417f200e201228020020012006280200220620012006491b10ed968080002212200120066b20121b220641004720064100481b22064101460d000b200641ff0171450d010b200f450d06200f417f6a210f200d20114102746a41ac146a280200210d0c010b0b024002400240024002402005200528020041054b22044103746a2802002203452008280200200820041b2003410c6c6a41746a2204457222110d00200241386a41086a2002412c6a41086a2802003602002002200229022c3703382004200241386a10a396808000450d03200728020021040c010b200741086a28020020072802002204200441054b1b41014d0d010b02400240024002400240024002402007200441054b22044103746a22012802002206450d00200741046a2203280200211220012006417f6a22063602002012200320041b2006412c6c6a220428020c21102004280208210d2004280204210f20042802002112200241a0026a41086a2213200441186a290200370300200220042902103703a002200428022821012004280224210e2004280220210a200728020021060240201241014b0d00200d450d002007200641054b22144103746a2802002215450d022003280200200320141b2015412c6c6a221441546a221528020041014b0d00201441606a2206280200210d2014415c6a22102802002113200241386a41086a2216200441106a220441086a290200370300200220042902003703380240201441646a2204280200450d00201441686a28020041002802a8bfd38000118080808000000b20152012360200201020133602002006200d360200201441586a200f36020020042002290338370200200441086a20162903003702000c070b2007200641054b22044103746a2802002206450d02200241386a41186a2003280200200320041b2006412c6c6a220441546a220641186a290200370300200241386a41106a200641106a290200370300200241386a41086a200641086a29020037030020022006290200370338200441606a20103602002004415c6a200d360200200441586a200f36020020062012360200200441646a220441086a2013290300370200200420022903a0023702002002280238220441014b0d04200228024c21062002280248211202402002280240450d00200741086a2802002007280200220d200d41054b220d1b417e6a220f2007200d4103746a2802004f0d0020032802002003200d1b200f412c6c6a220d280200220f41014b0d004100211341002114200f410171450d040240200d280204220f41c0004f0d00417f21140c050b0240200f418080014f0d00417e21140c050b417c417b200f418080808004491b21140c040b20120d050c060b41e4fccc800041fc0041d8fecc8000108b81808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b41e4fccc800041fc0041c8fecc8000108b81808000000b200228023c211002402004410171450d000240201041c0004f0d00410121130c010b02402010418080014f0d00410221130c010b410441052010418080808004491b21130b200228024421152002280250210f200d2010360204200d2004360200201420156a20136a2204200f2004200f491b21040240200d280210450d00200d28021441002802a8bfd38000118080808000000b200d2004360218200d2006360214200d2012360210200228023822044102490d020b200b2106024002402004417e6a2204410220044102491b0e020003010b200c21060b2006280200450d01200628020421060b200641002802a8bfd38000118080808000000b2007200728020041054b22044103746a2802002206450d022001410274210702402003280200200320041b2006412c6c6a220341746a22122802002003417c6a220628020022046b20014f0d0020122004200141044104109b96808000200628020021040b200341786a28020020044102746a200e200710e9968080001a2006200420016a3602000240200a450d00200e41002802a8bfd38000118080808000000b2011450d01200228022c210a0b200a450d00200228023041002802a8bfd38000118080808000000b200241386a200241086a10a296808000200229023c21092002280238220a418080808078470d010c030b0b41e4fccc800041fc0041e8fecc8000108b81808000000b200a418080808078460d00200241386a41106a2108200241386a41046a21102002413c6a210503402002200a36022c200220093702302000280200220d450d032009422088a721012009a7210e2000280204210f0340200d41a07e6a2107200d41a4136a2104200d2f01aa14220a410c6c2103417f2111024002400340024020030d00200a21110c020b200441086a2106200441046a2112200341746a2103201141016a2111200741e0016a21072004410c6a2104417f200e201228020020012006280200220620012006491b10ed968080002212200120066b20121b220641004720064100481b22064101460d000b200641ff0171450d010b200f450d05200f417f6a210f200d20114102746a41ac146a280200210d0c010b0b2007200728020041054b22044103746a22012802002206450d04200741046a2203280200211120012006417f6a2206360200200241386a41286a2011200320041b2006412c6c6a220441286a280200360200200241386a41206a200441206a290200370300200241386a41186a200441186a290200370300200241386a41106a200441106a290200370300200241386a41086a200441086a29020037030020022004290200220937033802400240024002402009a7220141014b0d002008210620022802404101470d012007200728020041054b22114103746a2802002212450d09200428021421062004280210210e02402003280200200320111b2012412c6c6a220341546a221128020022124102490d00200e0d030c040b200341586a210d4100210f4100210a02402012410171450d000240200d280200221241c0004f0d00417f210a0c010b02402012418080014f0d00417e210a0c010b417c417b2012418080808004491b210a0b20042802182104200228023c211202402001410171450d000240201241c0004f0d004101210f0c010b02402012418080014f0d004102210f0c010b410441052012418080808004491b210f0b20022802442113200d201236020020112001360200200a20136a200f6a2201200420012004491b21040240200341646a2201280200450d00200341686a28020041002802a8bfd38000118080808000000b2001200e3602002003416c6a2004360200200341686a2006360200200228023822014102490d030b2010210620014102470d020b2006280200450d01200628020421060b200641002802a8bfd38000118080808000000b02402002280258450d00200228025c41002802a8bfd38000118080808000000b0240200741086a28020020072802002204200441054b1b0d00200241386a20002002412c6a10a5968080002002280238450d0020051096968080000b0240200228022c450d00200228023041002802a8bfd38000118080808000000b200241386a200241086a10a296808000200229023c21092002280238220a418080808078470d000b0b200241086a10a796808000410021030b200241b0026a24808080800020030f0b41c8ffcc800041d50141a081cd8000108b81808000000b41e4fccc800041fc0041d8fecc8000108b81808000000b41e4fccc800041fc0041c8fecc8000108b81808000000bff06010d7f23808080800041b0026b22052480808080004100210602400240200128020822074100480d0020012802042108024020070d00410121060c020b41002d00b8bfd380001a200741002802b0bfd380001182808080000022060d01410121060b2006200741ccfacc800010ae80808000000b20062008200710e996808000210902400240024002402000280200220a0d004100210a0c010b2000280204210b0340200a41a4136a2106200a2f01aa14220c410c6c210d41e001210e417f210f0240024003400240200d0d00200c210f0c020b200641086a2110200641046a2111200d41746a210d200f41016a210f200e41a07e6a210e2006410c6a2106417f2009201128020020072010280200221020072010491b10ed968080002211200720106b20111b221041004720104100481b22104101460d000b201041ff0171450d010b200b450d02200b417f6a210b200a200f4102746a41ac146a280200210a0c010b0b02402007450d00200941002802a8bfd38000118080808000000b200a200e6b21060c010b2005200f360224200541003602202005200a36021c2005200036021820052007360214200520093602102005200736020c2005410036022802400240200a0d0041002d00b8bfd380001a41ac1441002802b0bfd38000118280808000002206450d034100210d2000410036020420002006360200200641003602a0132006200529020c3702a413200641013b01aa14200641ac136a200541146a2802003602002006200541286a41e00110e9968080001a200021070c010b2005200f3602a0022005410036029c022005200a36029802200520073602ac02200520093602a802200520073602a4022005418c026a20054198026a200541a4026a200541286a200541186a200541286a108196808000200528029402210d200528028c022106200528021821070b2007200728020841016a3602082006200d41e0016c6a21060b024002402000410c6a200028020c41054b22074103746a280200220d0d00024020012802000d00410021070c020b41002107200841002802a8bfd38000118080808000000c010b200541286a41086a200141086a280200360200200520012902003703282000280210200041106a20071b200d410c6c6a41746a200541286a10a39680800041017321070b20062002200720032004109e96808000200541b0026a2480808080000f0b410441ac1410b980808000000b8d0601077f024002400240200128022022020d0020012802002102200141003602002002450d02200128020422020d0120012802082102200128020c2203450d0102400240200341077122040d00200321050c010b2003210503402005417f6a2105200228028c0121022004417f6a22040d000b0b20034108490d010340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200541786a22050d000c020b0b20012002417f6a360220024002400240200128020022024101470d0020012802040d00200128020821020240200128020c2203450d0002400240200341077122040d00200321050c010b2003210503402005417f6a2105200228028c0121022004417f6a22040d000b0b20034108490d000340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200541786a22050d000b0b2001420037020820012002360204200141013602000c010b2002450d010b200128020821040240024002400240200128020c2203200128020422022f018a014f0d00200221050c010b034020022802002205450d0220022f0188012103200241002802a8bfd3800011808080800000200441016a210420052102200320052f018a014f0d000b0b024020040d00200341016a2106200521020c020b200520034102746a4190016a2802002102410021062004417f6a2207450d012004417e6a2108024020074107712204450d0003402007417f6a2107200228028c0121022004417f6a22040d000b0b20084107490d010340200228028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012102200741786a22070d000c020b0b200241002802a8bfd380001180808080000041c4f1cc8000108a81808000000b2001200636020c2001410036020820012002360204200020052003410c6c6a220241046a290200370200200041086a2002410c6a2802003602000f0b41b482cd8000108a81808000000b034020022802002105200241002802a8bfd38000118080808000002005210220050d000b0b20004180808080783602000bec04020c7f017e23808080800041d0006b22022480808080000240024002400240200028020022030d00200141046a2104410021030c010b200141046a210420012802082105200128020421062000280204210702400340200341046a210820032f018a012209410c6c210a417f210b0240024003400240200a0d002009210b0c020b200841086a210c200841046a210d200a41746a210a200b41016a210b2008410c6a2108417f2006200d2802002005200c280200220c2005200c491b10ed96808000220d2005200c6b200d1b220c410047200c4100481b220c4101460d000b200c41ff0171450d010b2007450d022007417f6a21072003200b4102746a418c016a28020021030c010b0b410121082001280200450d02200641002802a8bfd38000118080808000000c020b200bad422086210e0b410121082001280200220a418080808078460d002002200e37021c20022003360218200220003602142002200a3602082002200429020037020c0240024020030d0041002d00b8bfd380001a418c0141002802b0bfd38000118280808000002208450d0320004100360204200020083602002008410036020020082002290208370204200841013b018a012008410c6a200241106a2802003602000c010b200241306a41086a200241186a220841086a28020036020020022008290200370330200241c0006a41086a200241086a41086a28020036020020022002290208370340200241246a200241306a200241c0006a200241146a200241246a108596808000200228021421000b2000200028020841016a360208410021080b200241d0006a24808080800020080f0b4104418c0110b980808000000b820502057f017e23808080800041f0006b22022480808080000240024002400240200028020022030d00200241106a2001410c6a28020036020020022001290204370308200128021421042001280210210520012802002106410021010c010b200241d8006a200320002802042001108d96808000024020022802580d0002402001280200450d00200128020441002802a8bfd38000118080808000000b41012103200128020c450d02200128021041002802a8bfd38000118080808000000c020b200241106a2001410c6a2802003602002002200129020437030820012802002106200128021021052001280214210420022902602107200228025c21010b410121032006418080808078460d00200241206a200241086a41086a280200360200200220063602142002200229030837021820022007370234200220013602302002200036022c20022004360228200220053602240240024020010d0041002d00b8bfd380001a41900241002802b0bfd38000118280808000002201450d032000410036020420002001360200200141003602880220012002290214370200200141013b018e02200141086a200241146a41086a290200370200200141106a200241146a41106a2902003702000c010b200241c8006a41086a200241306a220141086a28020036020020022001290200370348200241d8006a41106a200241146a41106a290200370300200241d8006a41086a200241146a41086a290200370300200220022902143703582002413c6a200241c8006a200241d8006a2002412c6a2002413c6a10ff95808000200228022c21000b2000200028020841016a360208410021030b200241f0006a24808080800020030f0b410441900210b980808000000be804010a7f23808080800041f0036b22032480808080000240024002400240200128020022040d00410021020c010b2002280208210520022802042106200128020421070340200441a4136a210220042f01aa142208410c6c2109417f210a024002400340024020090d002008210a0c020b200241086a210b200241046a210c200941746a2109200a41016a210a2002410c6a2102417f2006200c2802002005200b280200220b2005200b491b10ed96808000220c2005200b6b200c1b220b410047200b4100481b220b4101460d000b200b41ff0171450d010b024020070d00410021020c030b2007417f6a21072004200a4102746a41ac146a28020021040c010b0b2003200136020c2003200a3602082003200736020420032004360200200341003a0013200341f8016a2003200341136a108b9680800020032802f801210920032802fc012105200341146a20034180026a41e40110e9968080001a20012001280208417f6a3602080240024020032d00130d00200341f8016a200341146a41e40110e9968080001a0c010b20012802002202450d022001280204220b450d032001200b417f6a360204200120022802ac14220b360200200b41003602a013200241002802a8bfd3800011808080800000200341f8016a200341146a41e40110e9968080001a0b02402009418080808078470d00410021020c010b200041046a200341f8016a41046a41e00110e9968080001a410121022009450d00200541002802a8bfd38000118080808000000b20002002360200200341f0036a2480808080000f0b41ccf9cc8000108a81808000000b41b0e8cc8000412141d4e8cc800010f480808000000bca0501077f024020002802002201450d00200028020421020240024020002802082203450d00410021000340024002402000450d00200121040c010b4100210402402002450d0020022100024020024107712205450d0003402000417f6a210020012802900221012005417f6a22050d000b0b20024108490d000340200128029002280290022802900228029002280290022802900228029002280290022101200041786a22000d000b0b20012100410021020b024002400240200220002f018e024f0d0020022105200021010c010b03402000280288022201450d0220002f018c022105200041002802a8bfd3800011808080800000200441016a210420012100200520012f018e024f0d000b0b0240024020040d00200541016a2102200121000c010b200120054102746a4194026a2802002100410021022004417f6a2206450d002004417e6a2107024020064107712204450d0003402006417f6a210620002802900221002004417f6a22040d000b0b20074107490d000340200028029002280290022802900228029002280290022802900228029002280290022100200641786a22060d000b0b02402001200541186c6a2201280200450d00200128020441002802a8bfd38000118080808000000b0240200128020c450d00200128021041002802a8bfd38000118080808000000b410021012003417f6a22030d010c030b0b200041002802a8bfd380001180808080000041c4f1cc8000108a81808000000b024020020d00200121000c010b02400240200241077122050d0020022104200121000c010b200221042001210003402004417f6a210420002802900221002005417f6a22050d000b0b20024108490d000340200028029002280290022802900228029002280290022802900228029002280290022100200441786a22040d000b0b03402000280288022101200041002802a8bfd38000118080808000002001210020010d000b0b0b9c0601097f024020002802202201450d00200028020c210220002802042103200028020021040240034020002001417f6a22013602200240024020044101712205450d0020030d002000280208210302402002450d0002400240200241077122060d00200221050c010b2002210503402005417f6a2105200328028c0121032006417f6a22060d000b0b20024108490d000340200328028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012103200541786a22050d000b0b20004200370208200020033602044101210420004101360200410021020c010b2005450d020b20002802082106024002400240200220032f018a014f0d0020022107200321050c010b034020032802002205450d0220032f0188012107200341002802a8bfd3800011808080800000200641016a210620052103200720052f018a014f0d000b0b0240024020060d00200741016a2102200521030c010b200520074102746a4190016a2802002103410021022006417f6a2208450d002006417e6a2109024020084107712206450d0003402008417f6a2108200328028c0121032006417f6a22060d000b0b20094107490d000340200328028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012103200841786a22080d000b0b2000200236020c2000410036020820002003360204024020052007410c6c6a41046a2205280200450d00200528020441002802a8bfd38000118080808000000b20010d010c030b0b200341002802a8bfd380001180808080000041c4f1cc8000108a81808000000b41b482cd8000108a81808000000b200028020021032000410036020002402003450d000240200028020422030d0020002802082103200028020c2207450d0002400240200741077122060d00200721050c010b2007210503402005417f6a2105200328028c0121032006417f6a22060d000b0b20074108490d000340200328028c0128028c0128028c0128028c0128028c0128028c0128028c0128028c012103200541786a22050d000b0b034020032802002105200341002802a8bfd38000118080808000002005210320050d000b0b0bcc0b010c7f23808080800041206b2204248080808000410121050240024020014101710d00410021050c010b200241c000490d0002402002418080014f0d00410221050c010b410441052002418080808004491b21050b200420033602182004200441186a36021c2004410c6a2004411c6a1091968080000240024002402000280200220628020822072005490d0020042802142108200428020c21092004280210210a20064100360208200a20086a210b200720056b210c20062802042100024020072005470d00024002400240200628020020084f0d0020064100200841014101109b9680800020062802042100200628020821020c010b410021022008450d010b2008417f6a210d02400240200841037122010d00200a21030c010b200a21030340200020026a20032d00003a0000200241016a2102200341016a21032001417f6a22010d000b0b200d4103490d00200020026a210d410021000340200d20006a2208200320006a22012d00003a0000200841016a200141016a2d00003a0000200841026a200141026a2d00003a0000200841036a200141036a2d00003a0000200041046a2100200141046a200b470d000b200220006a21020b200620023602082005210e0c030b200a210102402005450d002005210e2008450d032000200a2d00003a00002006200628020841016a360208024020054101470d00200a41016a21010c010b2005210e20084101460d032000200a2d00013a00012006200628020841016a360208024020054102470d00200a41026a21010c010b2005210e20084102460d032000200a2d00023a00022006200628020841016a3602082005210e20084103460d032000200a2d00033a00032006200628020841016a360208024020054104470d00200a41046a21010c010b2005210e20084104460d032000200a2d00043a00042006200628020841016a360208200a41056a21010b0240200b2001470d00200b2101200b21032005210e0c020b0240200628020020076b200b20016b22034f0d0020062007200341014101109b968080000b20062802042200200320056a220e6a200020056a200c10ec968080001a024020062802082203200e470d00200121030c020b200628020420036a2100200520086a200a6a20036b20016b21022001210303402003200b460d03200020032d00003a00002006200628020841016a360208200141016a2101200341016a2103200041016a21002002417f6a2202450d020c000b0b2005200741d0fbcc800010aa81808000000b4100210202400240200b20016b22004100480d00200b200346220f0d024100210141002d00b8bfd380001a200041002802b0bfd3800011828080800000220b0d01410121020b2002200041c483cd800010ae80808000000b200a20086a220020036b220241037121080240200320006b417c4b0d002002417c71210d410021010340200b20016a2200200320016a22022d00003a0000200041016a200241016a2d00003a0000200041026a200241026a2d00003a0000200041036a200241036a2d00003a0000200d200141046a2201470d000b200320016a21030b02402008450d000340200b20016a20032d00003a0000200141016a2101200341016a21032008417f6a22080d000b0b02402001450d0002402006280200200e200c6a22036b20014f0d0020062003200141014101109b968080000b200628020422032001200e6a22086a2003200e6a200c10ec968080001a0240200628020822032008460d002003200e6b2102200628020420036a2103200b210003402001450d01200320002d00003a00002006200628020841016a360208200041016a2100200341016a210320022001417f6a2201470d000b0b2008210e0b200f0d00200b41002802a8bfd38000118080808000000b024020072005460d000240200e20062802082201460d002006280204220320016a2003200e6a200c10ec968080001a0b20062001200c6a3602080b02402009450d00200a41002802a8bfd38000118080808000000b200441206a2480808080000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000be30101037f23808080800041206b2203248080808000024002400240200120026a220220014f0d00410021040c010b4100210402402002200028020022054101742201200220014b1b22014108200141084b1b220141004e0d000c010b4100210202402005450d002003200536021c20032000280204360214410121020b20032002360218200341086a41012001200341146a10a99680800020032802084101470d0120032802102100200328020c21040b2004200041c885cd800010ae80808000000b200328020c21022000200136020020002002360204200341206a2480808080000bea0201057f23808080800041106b22022480808080004100210302400240024002402001280208220441176a22054100480d0020012802042106024020050d002002410036020c20024280808080103702040c030b4100210341002d00b8bfd380001a200541002802b0bfd380001182808080000022010d01410121030b2003200541c886cd800010ae80808000000b2002410036020c200220013602082002200536020420044169490d010b200241046a4100411710aa9680800020022802082101200228020c21030b200120036a220541002900d885cd80003700002005410f6a41002900e785cd8000370000200541086a41002900e085cd80003700002002200341176a220536020c0240200228020420056b20044f0d00200241046a2005200410aa9680800020022802082101200228020c21050b200120056a2006200410e9968080001a200041086a200520046a36020020002002290204370200200241106a2480808080000b960301037f02400240024020002802002202280200220041c000490d00200041808001490d012000418080808004490d0202402001280200220320012802082200470d0020012000410110fc9080800020012802002103200128020821000b2001280204220420006a41033a00002001200041016a2200360208200228020021020240200320006b41034b0d0020012000410410fc9080800020012802042104200128020821000b2001200041046a360208200420006a20023600000f0b200041027421020240200128020020012802082200470d0020012000410110fc90808000200128020821000b2001200041016a360208200128020420006a20023a00000f0b2000410274410172210202402001280200200128020822006b41014b0d0020012000410210fc90808000200128020821000b2001200041026a360208200128020420006a20023b00000f0b2000410274410272210202402001280200200128020822006b41034b0d0020012000410410fc90808000200128020821000b2001200041046a360208200128020420006a20023600000ba70401057f23808080800041306b22012480808080002001410836020c200141ec87cd800036020841002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241ec87cd8000360200200241046a410836020041ec87cd8000410810bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd380001180808080000020014102360214200141d0c5cb80003602102001420137021c200141b980808000ad422086200141086aad843703282001200141286a360218200141106a41e0c5cb800010f280808000000b200341a88580800036021820034296e397c6bfa5aeee46370310200342aceff0b4f2bd8f8fe40037030820034101360204200341f487cd800036020020014100360218200142808080808001370210200141106a41b887cd800010b8918080002001280214220442e78cf08ea884e486dd003703002004410036023020044280808080c0003703282004410036022020044100360218200441a98580800036021020044284d8dde1abe5b282977f370308200128021021052000410136024c200020033602482000410136024420002002ad4280808080108437023c200041013602382000410036025820004280808080c0003703502000410136020c2000200436020820002005360204200041003a0000200141306a2480808080000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bf70103057f017e017f23808080800041206b22022480808080004100210302402000280200220441016a220520044101742206200520064b1b22054104200541044b1b2206ad42247e2207422088a7450d0041004100200110ae80808000000b024002402007a7220841fcffffff074b0d004100210502402004450d002002200441246c36021c20022000280204360214410421050b20022005360218200241086a41042008200241146a10ae9680800020022802084101470d0120022802102105200228020c21030b20032005200110ae80808000000b200228020c21042000200636020020002004360204200241206a2480808080000bac0203037f017e017f23808080800041206b22052480808080004100210602400240024020040d000c010b0240200120026a220220014f0d000c010b410021060240200320046a417f6a410020036b71ad2002200028020022014101742207200220074b1b22024108410441012004418108491b20044101461b2207200220074b1b2207ad7e2208422088a7450d000c010b2008a7220941808080807820036b4b0d004100210202402001450d002005200120046c36021c20052000280204360214200321020b20052002360218200541086a20032009200541146a10ae9680800020052802084101470d0120052802102102200528020c21060b2006200241e08bcd800010ae80808000000b200528020c21042000200736020020002004360204200541206a2480808080000bb40401067f23808080800041306b2204248080808000200241017121050240024020032802002206418080808078470d0041ff002002413e2002413e491b220641c000722002413e4b1b2107200220066b210802402005450d0020012d000021060b20044102360224200420063a0019200420073a0015200441013a0014200420083602102004410136020c20042002417e71360220200420053a00182004200120056a36021c20002004410c6a41ec8ccd800010b6968080002004200328020822023602282004200441286a36022c2004412c6a200010ac968080002003280204210502402000280200200028020822036b20024f0d002000200320024101410110b096808000200028020821030b200028020420036a2005200210e9968080001a2000200028020820026a3602080c010b413f2002411e2002411e491b22074120722002411e4b1b2108200220076b210902402005450d0020012d000021070b20044102360224200420073a0019200420083a0015200441013a0014200420093602102004410136020c20042002417e71360220200420053a00182004200120056a36021c20002004410c6a41ec8ccd800010b6968080002003280204210502402000280200200028020822016b200328020822024f0d002000200120024101410110b096808000200028020821010b200028020420016a2005200210e9968080001a2000200028020820026a3602082006450d00200541002802a8bfd38000118080808000000b200441306a2480808080000bc10303027f017e027f23808080800041c0006b2201248080808000200141286a41928dcd8000410c41fc8ccd800041164104410010c791808000200141086a2202410036020020014280808080c000370300200129022c21032001280228210420014100360218200142808080808001370210200141106a41b887cd800010b8918080002001280214220542aff896c8b690a197103703002005420437022c20054211370224200541de8acd80003602202005410a36021c200541d48acd8000360218200541aa85808000360210200542d7cddc9a8fdcb1b8603703082001280214210520012001280210360218200120053602102001200541386a36021c20012005360214200141346a200141106a41f488cd800010b59680800002402004418080808078470d0041c887cd8000411141dc87cd8000108b81808000000b2000410036024c2000428080808080013702442001411b6a200141346a41086a2802003600002000200337023c20002004360238200041003a000020002001290300370250200041d8006a20022802003602002001200129023437001320002001290010370001200041086a200141176a290000370000200141c0006a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041a88580800036021820004296e397c6bfa5aeee46370310200042aceff0b4f2bd8f8fe400370308200041023a00000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041023a00000bb00201087f23808080800041106b2203248080808000200128020c21040240024002402001280200220520012802042206470d00200420056b41386e2107200128020821010c010b0240200420066b220841386e220720012802082201410176490d0020052006200810ec968080001a0c010b410021092003410036020c2003428080808080013702044108210a024020042006460d00200341046a410020074108413810b0968080002003280208210a200328020c21090b200a200941386c6a2006200810e9968080001a2003200920076a36020c02402001450d00200541002802a8bfd38000118080808000000b20002003290204370200200041086a200341046a41086a2802003602000c010b2000200736020820002005360204200020013602000b200341106a2480808080000b8f07010e7f2001280218210320012d000d210420012d00092105200128021421062001280210210720012d000c21082001280204210920012d0008210a2001280200210b034002400240024002400240024002400240024002400240024002400240200b417e6a0e020102000b0240200a41ff01714102460d00200a410171210c4100210a200141004102200c1b3a0008200c450d002009210d2005210e0c030b0240200b410171450d002009450d0002402009418002490d002001200941817e6a220d36020441ff01210e4102210a0c040b4100210d200141003602042009417f6a210e4102210a0c030b4102210a200141023602000b4102210b0240200841ff01714102460d004100210b200141003a000c20084101710d030b20014103360200200b21080b2007450d042006450d04200120062003200620032006491b220b6b220636021420012007200b6a220c360210024002400240200b0e020001020b4100410041bc8ccd800010f580808000000b4101410141cc8ccd800010f580808000000b20072d000041047420072d000172210e4103210b200c21072009210d0b2000280208220c2000280200460d01200d21090c090b02402000280208220c2000280200460d00410021084102210b2004210e0c090b4102210b410021082004210e4100210f410021102007450d050c010b0240200b4103470d00410021104103210b024020070d00200d21090c080b024020060d00200d21090c080b02402003450d00200620036e22092006200920036c6b4100476a2110200d21090c080b41948ecd8000108881808000000b2007450d0302400240200b4102470d004102210b41002008200841ff01714102461b21100c010b4100200a200a41ff01714102461b41002008200841ff01714102461b6a21100b200d21090b4100210d02402006450d002003450d02200620036e220d2006200d20036c6b4100476a210d0b417f201041ff01712210200d6a220d200d2010491b21100c050b0f0b41948ecd8000108881808000000b200b4102470d0141002008200841ff01714102461b210f200d21090b200f41ff017121104102210b410021070c010b4100200a200a41ff01714102461b210702400240200841ff01714102470d00200741ff017121100c010b200720086a41ff017121100b41002107200d21090b2000200c201041016a220d417f200d1b4101410110b0968080000b2000200c41016a3602082000280204200c6a200e3a00000c000b0b6100200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041ab85808000360218200042ffa4dddb98b9a9a4fe003703102000429faa9cbce6b5e6f9d800370308200041023a00000bd10101017f41002d00b8bfd380001a0240413041002802b0bfd38000118280808000002201450d00200141b380808000360228200141ac85808000360210200142d687ccb79492eaa48f7f370308200142dec098f1dab59facaa7f370300200142d7c9cb8fc1cf97db3e370320200142e88488d0c0e3aebc13370318200042083703482000420037034020004280808080c0003703382000410036025820004280808080c0003703502000410236020c2000200136020820004102360204200041043a00000f0b4108413010b980808000000b6700200042083703482000420037034020004280808080c0003703382000410036025820004280808080c00037035020004108360220200041cc80808000360218200042dbd791d5c2919eaecd00370310200042e6ed8d82cc91adcb05370308200041033a00000ba30402047f017e23808080800041306b22012480808080002001410336020c200141a48ecd800036020841002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241a48ecd8000360200200241046a410336020041a48ecd8000410310bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd380001180808080000020014102360214200141d0c5cb80003602102001420137021c200141b980808000ad422086200141086aad843703282001200141286a360218200141106a41e0c5cb800010f280808000000b2003419a84808000360218200342acf6debeefe0d9c8d300370310200342efc9c9edb5e7b3a6c70037030820034101360204200341a78ecd800036020020014100360218200142808080808001370210200141106a41a08fcd800010b8918080002001280214220442efc9c9edb5e7b3a6c7003703002004410036023020044280808080c00037032820044100360220200441003602182004419a84808000360210200442acf6debeefe0d9c8d300370308200129021021052000410136024c200020033602482000410136024420002002ad4280808080108437023c200041013602382000410036025820004280808080c0003703502000410136020c20002005370204200041003a0000200141306a2480808080000ba10402047f017e23808080800041306b22012480808080002001410336020c200141a48ecd800036020841002d00b8bfd380001a024002400240410841002802b0bfd38000118280808000002202450d00200241a48ecd8000360200200241046a410336020041a48ecd8000410310bc91808000450d0141002d00b8bfd380001a412041002802b0bfd380001182808080000022030d024108412010b980808000000b4104410810b980808000000b200241002802a8bfd380001180808080000020014102360214200141d0c5cb80003602102001420137021c200141b980808000ad422086200141086aad843703282001200141286a360218200141106a41e0c5cb800010f280808000000b200341ad85808000360218200342dbd99687cdc4d0f406370310200342a7d986bcbd90f1d2907f37030820034101360204200341a78ecd800036020020014100360218200142808080808001370210200141106a41a08fcd800010b8918080002001280214220442a7d986bcbd90f1d2907f3703002004410036023020044280808080c0003703282004410036022020044100360218200441ad85808000360210200442dbd99687cdc4d0f406370308200129021021052000410136024c200020033602482000410136024420002002ad4280808080108437023c200041013602382000410036025820004280808080c0003703502000410136020c20002005370204200041003a0000200141306a2480808080000bb20b04027f017e037f017e23808080800041d0006b2201248080808000200141306a41a88ecd8000410e41b68ecd8000410a4104410010c791808000200141086a41086a410036020020014280808080c0003703082001280230210220012902342103200141186a41086a22044100360200200142808080808001370218200141186a41a08fcd800010b891808000200128021c2205429b9080acbace9195b37f37030820054287c2b386b1e6a5d65a370300200141c0006a41086a220641013602002005420437022c20054211370224200541dd8fcd80003602202005410936021c200541d48fcd8000360218200541ae85808000360210200120012902183703400240200628020022062001280240470d00200141c0006a41a08fcd800010b8918080000b2001280244200641386c6a2205420437022c20054211370224200541dd8fcd80003602202005410936021c200541ee8fcd8000360218200541ae858080003602102005429b9080acbace9195b37f37030820054287c2b386b1e6a5d65a3703002004200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41a08fcd800010b8918080000b200128021c200641386c6a2205420437022c200542033702242005418890cd80003602202005411136021c200541f78fcd8000360218200541b380808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141c0006a41086a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41a08fcd800010b8918080000b2001280244200641386c6a2205420437022c200542033702242005418890cd80003602202005410c36021c2005418b90cd8000360218200541b380808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141186a41086a200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41a08fcd800010b8918080000b200128021c200641386c6a2205420437022c200542033702242005418890cd80003602202005410c36021c2005419790cd8000360218200541b380808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141c0006a41086a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41a08fcd800010b8918080000b2001280244200641386c6a2205420437022c20054207370224200541a790cd80003602202005410436021c200541a390cd8000360218200541af8580800036021020054281bc9db2edd2ace53a370308200542bdceb7c3f4de98e138370300200141186a41086a200641016a2206360200200120012903402207370318024020062007a7470d00200141186a41a08fcd800010b8918080000b200128021c200641386c6a2205420437022c200542033702242005418890cd80003602202005411336021c200541ae90cd8000360218200541b380808000360210200542d7c9cb8fc1cf97db3e370308200542e88488d0c0e3aebc13370300200141c8006a200641016a2206360200200120012903182207370340024020062007a7470d00200141c0006a41a08fcd800010b8918080000b2001280244200641386c6a2205420437022c20054202370224200541cf90cd80003602202005410e36021c200541c190cd8000360218200541cc80808000360210200542dbd791d5c2919eaecd00370308200542e6ed8d82cc91adcb0537030002402002418080808078470d0041b08fcd8000411141c48fcd8000108b81808000000b20012802442105200128024021042000410036024c2000428080808080013702442000200337023c200020023602382000200536020820002004360204200041003a0000200020012903083702502000200641016a36020c200041d8006a200141106a280200360200200141d0006a2480808080000b6000200042083703482000420037034020004280808080c0003703382000410036025820004280808080c000370350200041e980808000360218200042a5e9e3ab9e929adc2c37031020004293888c8f89fdc6ec9e7f370308200041063a00000b810102017f017e23808080800041306b22022480808080002002410336020c2002418892cd800036020820024202370214200241cb82808000ad4220862203200041086aad84370328200220032000ad843703202002200241206a360210200128021c2001280220200241086a10e2808080002100200241306a24808080800020000bf90403027f017e047f23808080800041c0006b2201248080808000200141246a41a092cd8000410641a692cd800041154104410010c791808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080800137020c2001410c6a41b491cd800010b891808000200128021022044288f9c7d083eedee26c3703082004429689d19c9dddeae3d000370300200141306a41086a220541013602002004420437022c20044203370224200441c392cd80003602202004410836021c200441bb92cd8000360218200441b0858080003602102001200129020c370330024002402005280200220520012802302206460d0020012802342207200541386c6a2204420437022c20044203370224200441c392cd80003602202004410a36021c200441c692cd8000360218200441b08580800036021020044288f9c7d083eedee26c3703082004429689d19c9dddeae3d0003703000c010b200141306a41b491cd800010b89180800020012802342207200541386c6a2204420437022c20044203370224200441c392cd80003602202004410a36021c200441c692cd8000360218200441b08580800036021020044288f9c7d083eedee26c3703082004429689d19c9dddeae3d000370300200128023021060b02402002418080808078470d0041c491cd8000411141d891cd8000108b81808000000b200020012903003702502000410036024c2000428080808080013702442000200337023c200020023602382000200736020820002006360204200041003a00002000200541016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000bf90403027f017e047f23808080800041c0006b2201248080808000200141246a41d092cd8000410f41df92cd8000410a4104410010c791808000200141086a410036020020014280808080c00037030020012802242102200129022821032001410c6a41086a410036020020014280808080800137020c2001410c6a41b491cd800010b8918080002001280210220442a5e9e3ab9e929adc2c37030820044293888c8f89fdc6ec9e7f370300200141306a41086a220541013602002004420437022c20044203370224200441c392cd80003602202004410436021c200441e992cd8000360218200441e9808080003602102001200129020c370330024002402005280200220520012802302206460d0020012802342207200541386c6a2204420437022c20044203370224200441c392cd80003602202004410536021c200441ed92cd8000360218200441e980808000360210200442a5e9e3ab9e929adc2c37030820044293888c8f89fdc6ec9e7f3703000c010b200141306a41b491cd800010b89180800020012802342207200541386c6a2204420437022c20044203370224200441c392cd80003602202004410536021c200441ed92cd8000360218200441e980808000360210200442a5e9e3ab9e929adc2c37030820044293888c8f89fdc6ec9e7f370300200128023021060b02402002418080808078470d0041c491cd8000411141d891cd8000108b81808000000b200020012903003702502000410036024c2000428080808080013702442000200337023c200020023602382000200736020820002006360204200041003a00002000200541016a36020c200041d8006a200141086a280200360200200141c0006a2480808080000bd60303027f037e017f2380808080004180016b22022480808080002000280200210002400240024002400240200128021422034110710d0020034120710d012000290300200041086a2903004101200110dd8080800021000c020b200041086a290300210420002903002105410021000340200041ff006a41ff004b0d03200220006a41ff006a2005a7410f712203413072200341d7006a2003410a491b3a00002004423c8621062005421054210320045021072000417f6a210020044204882104200620054204888421052003410020071b450d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000c010b200041086a290300210420002903002105410021000340200041ff006a41ff004b0d03200220006a41ff006a2005a7410f712203413072200341376a2003410a491b3a00002004423c8621062005421054210320045021072000417f6a210020044204882104200620054204888421052003410020071b450d000b20014101418896c080004102200220006a4180016a410020006b10e38080800021000b20024180016a24808080800020000f0b200041ff006a41800141f895c0800010f580808000000b200041ff006a41800141f895c0800010f580808000000b4601017f23808080800041106b22052480808080002005200236020c200520013602082000200541086a41f492cd80002005410c6a41f492cd80002003200410f780808000000bda0b02037f047e23808080800041c0056b22032480808080002003410041800110eb968080002103024002402002418101490d0020034180016a41d0006a410041810110eb968080002104200341b8016a41002903c894cd8000370300200341b0016a41002903c094cd8000370300200341a8016a41002903b894cd8000370300200341a0016a41002903b094cd800037030020034198016a41002903a894cd800037030020034190016a41002903a094cd8000370300200342003703c801200320024107762205ad3703c0012003410029039894cd8000370388012003410029039094cd80003703800120034180016a20012005108c9280800020042001200241807f716a200241ff0071220210e9968080001a200320023a00d002200341e0026a20034180016a41e00110e9968080001a200341e0026a41d0006a220120032d00b00422026a22044180013a000020032903a00322064236882207423886200341a8036a2903002208420a86220920078422074280fe0383422886842007428080fc0783421886200742808080f80f834208868484200842028642808080f80f832008420e88428080fc0783842008421e884280fe0383200942388884848421072002ad2208423b862006420a86220920084203868422084280fe0383422886842008428080fc0783421886200842808080f80f834208868484200642028642808080f80f832006420e88428080fc0783842006421e884280fe038320094238888484842106024002400240200241ff00460d00200441016a4100200241ff007310eb968080001a200241f00073410f4b0d010b200341e0026a20014101108c92808000200341c0046a410041f00010eb968080001a200320063700b805200320073700b005200341e0026a200341c0046a4101108c928080000c010b200320073703a004200320063703a804200341e0026a20014101108c928080000b2003200329039803220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484843703382003200329039003220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484843703302003200329038803220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484843703282003200329038003220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe03832006423888848484370320200320032903f802220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe03832006423888848484370318200320032903f002220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe03832006423888848484370310200320032903e802220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe03832006423888848484370308200320032903e002220642388620064280fe0383422886842006428080fc0783421886200642808080f80f834208868484200642088842808080f80f832006421888428080fc07838420064228884280fe038320064238888484843703000c010b20032001200210e9968080001a0b2000200341800110e9968080001a200341c0056a2480808080000be30101037f23808080800041206b2203248080808000024002400240200120026a220220014f0d00410021040c010b4100210402402002200028020022054101742201200220014b1b22014108200141084b1b220141004e0d000c010b4100210202402005450d002003200536021c20032000280204360214410121020b20032002360218200341086a41012001200341146a10c59680800020032802084101470d0120032802102100200328020c21040b2004200041f893cd800010ae80808000000b200328020c21022000200136020020002002360204200341206a2480808080000bb20201027f0240024020024100480d000240024002402003280204450d000240200328020822040d00024020020d00200121030c030b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030c020b200328020021050240200241002802b0bfd380001182808080000022030d00200041086a2105200041046a21040c050b20032005200410e9968080001a200541002802a8bfd3800011808080800000200041086a2105200041046a21040c020b024020020d00200121030c010b41002d00b8bfd380001a200241002802b0bfd380001182808080000021030b200041086a2105200041046a21042003450d020b2005200236020020042003360200200041003602000f0b20004100360204200041013602000f0b2005200236020020042001360200200041013602000bac4405187f027e027f0e7e037f23808080800041a00b6b2205248080808000024002400240200241706a41104b0d002002410371450d010b200041013a00000c010b410021060240024002400240200441086a22074100480d00024020070d002005410036020c20054280808080103702040c030b4100210841002d00b8bfd380001a200741002802b0bfd380001182808080000022060d01410121060b20062007418096cd800010ae80808000000b2005410036020c200520063602082005200736020420044178490d010b200541046a4100410810c49680800020052802082106200528020c21080b200620086a42eddc95ebf6cddbb4e3003700002005200841086a220736020c0240200528020420076b20044f0d00200541046a2007200410c49680800020052802082106200528020c21070b200620076a2003200410e9968080001a2005200720046a220336020c200541a0076a2001200210c396808000410021020340200541a0076a20026a220420042d00004136733a0000200441016a220720072d00004136733a0000200441026a220720072d00004136733a0000200441036a220420042d00004136733a0000200241046a2202418001470d000b41002102200541d80a6a410029038895cd8000370300200541d00a6a410029038095cd8000370300200541c80a6a41002903f894cd8000370300200541c00a6a41002903f094cd8000370300200541b80a6a41002903e894cd8000370300200541b00a6a41002903e094cd8000370300200542003703e80a200542013703e00a200541002903d894cd80003703a80a200541002903d094cd80003703a00a200541a00a6a200541a0076a4101108c928080000340200541a0076a20026a220420042d000041ea00733a0000200441016a220720072d000041ea00733a0000200441026a220720072d000041ea00733a0000200441036a220420042d000041ea00733a0000200241046a2202418001470d000b200541e0036a41c8006a22094200370300200541e0036a41386a2204410029038895cd8000370300200541e0036a41306a2202410029038095cd8000370300200541e0036a41286a220741002903f894cd8000370300200541e0036a41206a220141002903f094cd8000370300200541e0036a41186a220841002903e894cd8000370300200541e0036a41106a220a41002903e094cd8000370300200542013703a004200541002903d894cd80003703e803200541002903d094cd80003703e003200541e0036a200541a0076a4101108c92808000200541d0016a41106a220b200541a00a6a41106a220c290300370300200541d0016a41186a220d200541a00a6a41186a220e290300370300200541d0016a41206a220f200541a00a6a41206a2210290300370300200541d0016a41286a2211200541a00a6a41286a2212290300370300200541d0016a41306a2213200541a00a6a41306a2214290300370300200541d0016a41386a2215200541a00a6a41386a221629030037030020054190026a41106a2217200a29030037030020054190026a41186a2218200829030037030020054190026a41206a2219200129030037030020054190026a41286a221a200729030037030020054190026a41306a221b200229030037030020054190026a41386a221c2004290300370300200520052903a00a3703d001200520052903a80a3703d801200520052903e00337039002200520052903e80337039802200541a00a6a41c8006a290300211d20052903e00a211e20054190036a41186a221f20052903a80a37030020054190036a41c8006a22202016290300370300200541d0036a2216201429030037030020054190036a41386a2214201229030037030020054190036a41306a2212201029030037030020054190036a41286a2210200e29030037030020054190036a41206a220e200c290300370300200520052903a00a3703a0032009290300212120052903a0042122200541d0006a410041800110eb968080001a200541d0026a41386a22092020290300370300200541d0026a41306a220c2016290300370300200541d0026a41286a22162014290300370300200541d0026a41206a22142012290300370300200541d0026a41186a22122010290300370300200541d0026a41106a2210200e290300370300200541186a4200370300200541106a41106a4200370300200541106a41186a4200370300200541106a41206a4200370300200541106a41286a4200370300200541106a41306a4200370300200541106a41386a42003703002005201f2903003703d802200520052903a0033703d00220054200370310200541e8046a201c290300370300200541e0036a4180016a201b290300370300200541d8046a201a290300370300200541d0046a2019290300370300200541c8046a2018290300370300200541c0046a2017290300370300200541b8046a20052903980237030020052005290390023703b00420054188056a20052903d80137030020054190056a200b29030037030020054198056a200d290300370300200541a0056a200f290300370300200541a8056a2011290300370300200541b0056a2013290300370300200541b8056a2015290300370300200520052903d00137038005200420092903003703002002200c290300370300200720162903003703002001201429030037030020082012290300370300200a2010290300370300200520052903d8023703e803200520052903d0023703e0032005201d3703c8052005201e3703c005200520213703f804200520223703f0042005201d3703a8042005201e3703a004200541e0036a41f0016a410041810110eb968080002102024002402003418001490d002005201e20034107762204ad7c22233703a0042005201d2023201e54ad7c3703a804200541e0036a20062004108c9280800020022006200341807f716a200341ff0071220410e9968080001a0c010b20022006200310e9968080001a200321040b200541a0076a41f0016a2103200520043a00d006200541808080083602a00702400240200441fc00490d00200220046a200541a0076a41800120046b220710e9968080001a200520052903a00442017c22233703a004200541a8046a22062006290300202350ad7c370300200541e0036a20024101108c928080002002200541a0076a20076a200441847f6a220410e9968080001a0c010b200220046a4180808008360000200441046a21040b200541f0076a2101200520043a00d006200541a0076a200541e0036a41800310e9968080001a200320052d00900a22046a22024180013a000020052903e00722234236882224423886200541e8076a2903002225420a86222620248422244280fe0383422886842024428080fc0783421886202442808080f80f834208868484202542028642808080f80f832025420e88428080fc0783842025421e884280fe0383202642388884848421242004ad2225423b862023420a86222620254203868422254280fe0383422886842025428080fc0783421886202542808080f80f834208868484202342028642808080f80f832023420e88428080fc0783842023421e884280fe038320264238888484842123024002400240200441ff00460d00200241016a4100200441ff007310eb968080001a200441f00073410f4b0d010b200541a0076a20034101108c92808000200541a00a6a410041f00010eb968080001a200520233700980b200520243700900b200541a0076a200541a00a6a4101108c928080000c010b200520243703800a200520233703880a200541a0076a20034101108c928080000b20052903a007212320052903a807212520052903b007212420052903b807212620052903c007212720052903c807212820052903d007212920052903d807212a200541a00a6a41106a2204200141106a290300370300200541a00a6a41186a2202200141186a290300370300200541a00a6a41206a2207200141206a290300370300200541a00a6a41286a2206200141286a290300370300200541a00a6a41306a2208200141306a290300370300200541a00a6a41386a220a200141386a290300370300200520052903b008222b3703e00a2005200541b8086a290300222c3703e80a200520012903003703a00a2005200141086a2903003703a80a200541d9096a4200370000200541e1096a4200370000200541e9096a4200370000200541f1096a4200370000200541f8096a4200370000200541c0003a00900a20054180013a00d009200542003700d1092005202a423886202a4280fe038342288684202a428080fc0783421886202a42808080f80f834208868484202a42088842808080f80f83202a421888428080fc078384202a4228884280fe0383202a4238888484843703c8092005202942388620294280fe0383422886842029428080fc0783421886202942808080f80f834208868484202942088842808080f80f832029421888428080fc07838420294228884280fe038320294238888484843703c0092005202842388620284280fe0383422886842028428080fc0783421886202842808080f80f834208868484202842088842808080f80f832028421888428080fc07838420284228884280fe038320284238888484843703b8092005202742388620274280fe0383422886842027428080fc0783421886202742808080f80f834208868484202742088842808080f80f832027421888428080fc07838420274228884280fe038320274238888484843703b0092005202642388620264280fe0383422886842026428080fc0783421886202642808080f80f834208868484202642088842808080f80f832026421888428080fc07838420264228884280fe038320264238888484843703a8092005202442388620244280fe0383422886842024428080fc0783421886202442808080f80f834208868484202442088842808080f80f832024421888428080fc07838420244228884280fe038320244238888484843703a0092005202542388620254280fe0383422886842025428080fc0783421886202542808080f80f834208868484202542088842808080f80f832025421888428080fc07838420254228884280fe03832025423888848484370398092005202342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe03832023423888848484370390092005202b420a8622254280048422234280fc03834228862023428080fc0783421886202342808080f80f834208868484202b42028642808080f80f83202b420e88428080fc078384202b421e884280fe038320254238888484843703880a2005202b4236882223423886202c420a86222520238422234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202c42028642808080f80f83202c420e88428080fc078384202c421e884280fe038320254238888484843703800a200541a00a6a20034101108c928080002005200a290300222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe038320234238888484843703980720052008290300222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe038320234238888484843703900720052006290300222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe038320234238888484843703880720052007290300222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe038320234238888484843703800720052002290300222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe038320234238888484843703f80620052004290300222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe038320234238888484843703f006200520052903a80a222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe038320234238888484843703e806200520052903a00a222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe038320234238888484843703e006414021040340200541106a20046a220241c0006a220720072d0000200541e0066a20046a220741c0006a2d0000733a0000200241c1006a220620062d0000200741c1006a2d0000733a0000200241c2006a220620062d0000200741c2006a2d0000733a0000200241c3006a220220022d0000200741c3006a2d0000733a0000200441046a22040d000b201e4236882223423886201d420a86222520238422234280fe0383422886842023428080fc0783421886202342808080f80f834208868484201d42028642808080f80f83201d420e88428080fc078384201d421e884280fe03832025423888848484212d201e420a8622254280048422234280fc03834228862023428080fc0783421886202342808080f80f834208868484201e42028642808080f80f83201e420e88428080fc078384201e421e884280fe03832025423888848484212e200541d1096a210a200541c0086a2108200541b8086a210b410121090340200141086a22042005290398023703002001200529039002370300200141386a220220054190026a41386a290300370300200141306a220720054190026a41306a290300370300200141286a220620054190026a41286a290300370300200141206a220c20054190026a41206a290300370300200141186a220d20054190026a41186a290300370300200141106a220e20054190026a41106a290300370300200820052903d001370300200841086a20052903d801370300200841106a200541d0016a41106a290300370300200841186a200541d0016a41186a290300370300200841206a200541d0016a41206a290300370300200841286a200541d0016a41286a290300370300200841306a200541d0016a41306a290300370300200841386a200541d0016a41386a290300370300200541a0076a41386a220f200541d0026a41386a290300370300200541a0076a41306a2210200541d0026a41306a290300370300200541a0076a41286a2211200541d0026a41286a290300370300200541a0076a41206a2212200541d0026a41206a290300370300200541a0076a41186a2213200541d0026a41186a290300370300200541a0076a41106a2214200541d0026a41106a290300370300200520052903d8023703a807200520052903d0023703a007200541e0036a200541d0006a41800110e9968080001a200b2021370300200541e0036a41386a2215200541e0066a41386a2216290300370300200541e0036a41306a200541e0066a41306a22172903002223370300200541e0036a41286a200541e0066a41286a22182903002225370300200541e0036a41206a200541e0066a41206a22192903002224370300200541e0036a41186a200541e0066a41186a221a2903002226370300200541e0036a41106a200541e0066a41106a221b29030022273703002005201d370388092005201e37038009200520223703b0082005201d3703e8072005201e3703e0072005200541e0066a41086a221c29030022283703e803200520052903e00622293703e003200341306a2023370300200341286a2025370300200341206a2024370300200341186a2026370300200341106a2027370300200341086a202837030020032029370300200a4200370000200a41086a221f4200370000200a41106a22204200370000200a41186a222f4200370000200a41206a22304200370000200a41276a22314200370000200341386a2015290300370300200541c0003a00900a20054180013a00d0092005202e3703880a2005202d3703800a200541a0076a20034101108c928080002014290300212320132903002125201229030021242011290300212620102903002127200f2903002128200b290300212c20052903a007212920052903a807212a20052903b008212b200541a00a6a41386a220f2002290300370300200541a00a6a41306a22022007290300370300200541a00a6a41286a22072006290300370300200541a00a6a41206a2206200c290300370300200541a00a6a41186a220c200d290300370300200541a00a6a41106a220d200e2903003703002005202c3703e80a2005202b3703e00a200520042903003703a80a200520012903003703a00a200a4200370000201f420037000020204200370000202f42003700002030420037000020314200370000200541c0003a00900a20054180013a00d0092005202842388620284280fe0383422886842028428080fc0783421886202842808080f80f834208868484202842088842808080f80f832028421888428080fc07838420284228884280fe038320284238888484843703c8092005202742388620274280fe0383422886842027428080fc0783421886202742808080f80f834208868484202742088842808080f80f832027421888428080fc07838420274228884280fe038320274238888484843703c0092005202642388620264280fe0383422886842026428080fc0783421886202642808080f80f834208868484202642088842808080f80f832026421888428080fc07838420264228884280fe038320264238888484843703b8092005202442388620244280fe0383422886842024428080fc0783421886202442808080f80f834208868484202442088842808080f80f832024421888428080fc07838420244228884280fe038320244238888484843703b0092005202542388620254280fe0383422886842025428080fc0783421886202542808080f80f834208868484202542088842808080f80f832025421888428080fc07838420254228884280fe038320254238888484843703a8092005202342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe038320234238888484843703a0092005202a423886202a4280fe038342288684202a428080fc0783421886202a42808080f80f834208868484202a42088842808080f80f83202a421888428080fc078384202a4228884280fe0383202a423888848484370398092005202942388620294280fe0383422886842029428080fc0783421886202942808080f80f834208868484202942088842808080f80f832029421888428080fc07838420294228884280fe03832029423888848484370390092005202b4236882223423886202c420a86222520238422234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202c42028642808080f80f83202c420e88428080fc078384202c421e884280fe038320254238888484843703800a2005202b420a8622254280048422234280fc03834228862023428080fc0783421886202342808080f80f834208868484202b42028642808080f80f83202b420e88428080fc078384202b421e884280fe038320254238888484843703880a200541a00a6a20034101108c928080002016200f290300222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe0383202342388884848437030020172002290300222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe0383202342388884848437030020182007290300222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe0383202342388884848437030020192006290300222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe03832023423888848484370300201a200c290300222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe03832023423888848484370300201b200d290300222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe03832023423888848484370300201c20052903a80a222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe03832023423888848484370300200520052903a00a222342388620234280fe0383422886842023428080fc0783421886202342808080f80f834208868484202342088842808080f80f832023421888428080fc07838420234228884280fe038320234238888484843703e006200941016a2109414021040340200541106a20046a220241c0006a220720072d0000200541e0066a20046a220741c0006a2d0000733a0000200241c1006a220620062d0000200741c1006a2d0000733a0000200241c2006a220620062d0000200741c2006a2d0000733a0000200241c3006a220220022d0000200741c3006a2d0000733a0000200441046a22040d000b2009418010470d000b200528020821060240200528020c2207450d0020062104024020074107712202450d00200621040340200441003a0000200441016a21042002417f6a22020d000b0b024020074108490d00200620076a21020340200441003a0000200441003a0001200441003a0002200441003a0003200441003a0004200441003a0005200441003a0006200441003a0007200441086a22042002470d000b0b200528020821060b410021022005410036020c024020052802042204450d0020044107712107024020044108490d00200441f8ffffff07712103410021020340200620026a220441003a0000200441016a41003a0000200441026a41003a0000200441036a41003a0000200441046a41003a0000200441056a41003a0000200441066a41003a0000200441076a41003a00002003200241086a2202470d000b0b2007450d00200620026a21040340200441003a0000200441016a21042007417f6a22070d000b0b20002005290310370001200041003a0000200041396a200541c8006a290300370000200041316a200541c0006a290300370000200041296a200541386a290300370000200041216a200541306a290300370000200041196a200541286a290300370000200041116a200541206a290300370000200041096a200541186a2903003700002005280204450d00200528020841002802a8bfd38000118080808000000b200541a00b6a2480808080000b1901017f23808080800041106b220120003a000f20012d000f0be30301077f23808080800041106b2203248080808000200041286a2104024002400240200028022822054128200541284b22061b22072000280204200520061b22066b200220016b22084f0d00200620086a22052006490d014100417f2005417f6a677620054102491b2205417f460d01200341086a2000200541016a10c996808000024020032802082205418180808078460d002005450d022005200328020c10b980808000000b200428020022054128200541284b1b21070b200041046a22092004200541284b22061b21080240024020004104412820061b6a280200220520074f0d002000280200200020061b2106034020012002460d02200620056a20012d00003a0000200141016a21012007200541016a2205470d000b200721050b2008200536020020012002460d02034020012d00002108024002402000410441282000280228220741284b22051b6a28020022062007412820051b460d002009200420051b21072000280200200020051b21050c010b200010ca968080002000280204210620002802002105200921070b200520066a20083a00002007200728020041016a360200200141016a22012002470d000c030b0b200820053602000c010b41f89acd80004111418c9bcd800010f480808000000b200341106a2480808080000bc40301077f23808080800041106b2203248080808000024002400240024002402001280204220420012802282205200541284b22061b220720024b0d002005412820061b210820012802002109024020024129490d00418180808078210620052002460d040240200241004e0d00410021060c060b02400240024020054129490d002008417f4a0d0120082102410021060c080b41002d00b8bfd380001a200241002802b0bfd380001182808080000022040d01410121060c070b0240200241002802b0bfd380001182808080000022040d00410121060c070b200420092002200820022008491b10e9968080001a200941002802a8bfd38000118080808000000c040b20042001200510e9968080001a0c030b418180808078210620054129490d0320012009200410e99680800020043602282008417f4c0d01200941002802a8bfd38000118080808000000c030b41ac9bcd8000412041cc9bcd800010f480808000000b2003200836020c2003410036020841b099cd8000412b200341086a41d89acd800041e89acd800010a481808000000b2001200236022820012007360204200120043602000b0b2000200236020420002006360200200341106a2480808080000bb40101027f23808080800041106b220124808080800002400240200028020420002802282202200241284b1b2202417f460d00417f20026776410020021b2202417f460d00200141086a2000200241016a10c996808000024020012802082200418180808078460d002000450d022000200128020c10b980808000000b200141106a2480808080000f0b41f89acd80004111419c9bcd8000108b81808000000b41f89acd80004111418c9bcd800010f480808000000b9c0101017f23808080800041306b220224808080800020022000280200280200220036022820024103360204200241f4c1c080003602002002420237020c2002418783808000ad4220862002412c6aad843703202002418883808000ad422086200241286aad84370318200220006836022c2002200241186a360208200128021c2001280220200210e2808080002101200241306a24808080800020010b940201027f23808080800041106b2202248080808000200220002802002200360204200128021c418c9acd80004106200128022028020c118180808000002103200241003a000d200220033a000c20022001360208200241086a41929acd80004104200041046a41ec99cd8000109d818080001a200241086a41969acd80004105200241046a41fc99cd8000109d818080001a20022d000d220020022d000c2203722101024020004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710b140020012000280200200028020410e5808080000baa0201037f2380808080004180016b2202248080808000024002400240200128021422034110710d0020034120710d0120002802004101200110918180800021000c020b20002802002100410021030340200220036a41ff006a2000410f712204413072200441d7006a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000c010b20002802002100410021030340200220036a41ff006a2000410f712204413072200441376a2004410a491b3a00002003417f6a21032000410f4b21042000410476210020040d000b20014101418896c080004102200220036a4180016a410020036b10e38080800021000b20024180016a24808080800020000b5601017f23808080800041206b2202248080808000200241013602042002418899cd80003602002002420137020c200241b285808000ad4220862000ad843703182002200241186a3602082002200110f280808000000b4c01027f024020002802002201417f460d0020002802042102200120012802042200417f6a36020420004101470d002002410b6a4104490d00200141002802a8bfd38000118080808000000b0b9a0201027f23808080800041106b22022480808080000240024020002802000d00200128021c419b9acd80004110200128022028020c1181808080000021010c010b20022000360204200128021c41bc9acd80004108200128022028020c118180808000002100200241003a000d200220003a000c20022001360208200241086a41c49acd80004106200241046a41ac9acd8000109d818080001a20022d000d220020022d000c220372210120004101470d0020034101710d000240200228020822012d00144104710d00200128021c41b9c4c080004102200128022028020c1181808080000021010c010b200128021c41b8c4c080004101200128022028020c1181808080000021010b200241106a24808080800020014101710b1e00200128021c41ca9acd8000410b200128022028020c118180808000000bfe0e02077f017e2380808080004180036b2204248080808000024002400240024002400240024002400240024020012802002205417d6a2206410420064104491b0e050200010308020b2001280214220720012802102208490d06200720034b0d05200128020c2106200128020821092001280218210a024002400240024020012802040d000240024020062009490d00200620034b0d01410021010c030b2009200641e89ccd800010ac81808000000b2006200341e89ccd800010aa81808000000b20062009490d01200620034b0d02410121010b2000200a3602182000200720086b3602142000200220086a36021020002001360204200041043602002000200620096b36020c2000200220096a3602080c0a0b2009200641f89ccd800010ac81808000000b2006200341f89ccd800010aa81808000000b2001280214220720012802102208490d03200720034b0d02200128020c2106200128020821092001280218210a024002400240024020012802040d000240024020062009490d00200620034b0d01410021010c030b2009200641b89ccd800010ac81808000000b2006200341b89ccd800010aa81808000000b20062009490d01200620034b0d02410121010b2000200a3602182000200720086b3602142000200220086a36021020002001360204200041053602002000200620096b36020c2000200220096a3602080c090b2009200641c89ccd800010ac81808000000b2006200341c89ccd800010aa81808000000b200041033602000c060b200441023602b401200441023602a8012004410236029c0120044102360290012004410236028401200441023602782004410236026c2004410236026020044102360254200441023602482004410236023c2004410236023020044102360224200441023602182004410236020c20044102360200410021060340410221090240200120066a220741106a280200220a4102460d00200741186a2802002108200741146a28020021070240024002400240200a4101710d000240024020082007490d00200820034b0d01410021090c030b2007200841b89ccd800010ac81808000000b2008200341b89ccd800010aa81808000000b20082007490d01200820034b0d02410121090b200820076bad422086200220076aad84210b0c020b2007200841c89ccd800010ac81808000000b2008200341c89ccd800010aa81808000000b200420066a22072009360200200741046a200b3702002006410c6a220641c001470d000b41022106024002400240200128020422074102460d00200128020c2109200128020821010240024020074101710d000240024020092001490d00200920034b0d01410021060c030b2001200941e89ccd800010ac81808000000b2009200341e89ccd800010aa81808000000b20092001490d02200920034b0d03410121060b200920016bad422086200220016aad84210b0b200041046a200441c00110e9968080001a2000200b3702c801200020063602c401200041063602000c070b2001200941f89ccd800010ac81808000000b2009200341f89ccd800010aa81808000000b2007200341d89ccd800010aa81808000000b2008200741d89ccd800010ac81808000000b2007200341d89ccd800010aa81808000000b2008200741d89ccd800010ac81808000000b200441023602f402200441023602e802200441023602dc02200441023602d002200441023602c402200441023602b802200441023602ac02200441023602a00220044102360294022004410236028802200441023602fc01200441023602f001200441023602e401200441023602d801200441023602cc01200441023602c001410021060340410221090240200120066a2207410c6a280200220a4102460d00200741146a2802002108200741106a28020021070240024002400240200a4101710d000240024020082007490d00200820034b0d01410021090c030b2007200841b89ccd800010ac81808000000b2008200341b89ccd800010aa81808000000b20082007490d01200820034b0d02410121090b200820076bad422086200220076aad84210b0c020b2007200841c89ccd800010ac81808000000b2008200341c89ccd800010aa81808000000b200441c0016a20066a22072009360200200741046a200b3702002006410c6a220641c001470d000b02400240024020012802d001220620012802cc012209490d00200620034b0d014102210720012802d401210a20054102460d022001280208210820012802042101024002400240024020054101710d000240024020082001490d00200820034b0d01410021070c030b2001200841e89ccd800010ac81808000000b2008200341e89ccd800010aa81808000000b20082001490d01200820034b0d02410121070b200820016bad422086200220016aad84210b0c040b2001200841f89ccd800010ac81808000000b2008200341f89ccd800010aa81808000000b2009200641d89ccd800010ac81808000000b2006200341d89ccd800010aa81808000000b2000200a3602d4012000200620096b3602d0012000200220096a3602cc012000200441c0016a41c00110e9968080002206200b3702c401200620073602c0010b20044180036a2480808080000be40501087f23808080800041306b22022480808080000240024020012d002c4101710d00200128020021032001280204210420012802282105200241046a41286a22064100360200200241046a20032001200541284b22071b220120012004200520071b6a10c89680800020004100360200200020022902043702042000410c6a2002410c6a290200370200200041146a200241146a2902003702002000411c6a2002411c6a290200370200200041246a200241246a2902003702002000412c6a20062802003602000c010b02400240200128020420012802282205200541284b22051b2206450d00200241046a41046a2107200241046a41286a210820022001280200200120051b22042d00004104763a0004410020066b2103410221010340200320016a4101460d01200241046a20016a417f6a200420016a2205417e6a2d00004104742005417f6a2d00002205410476410f71723a0000200141016a22014129470d000b2002412836022c20064129490d01200441286a2d00002103200241046a10ca968080002002280204200228020822096a20054104742003410476410f71723a00002002200941016a360208200120064f0d01200641576a2106200441296a210103402001417f6a2d000041047420012d0000410476410f7172210902400240200241046a41044128200228022c220341284b22051b6a28020022042003412820051b460d002007200820051b21032002280204200241046a20051b21050c010b200241046a10ca968080002002280208210420022802042105200721030b200520046a20093a00002003200328020041016a360200200141016a21012006417f6a22060d000c020b0b2002200636022c0b200020022902043702042000412c6a2002412c6a280200360200200041246a200241246a2902003702002000411c6a2002411c6a290200370200200041146a200241146a2902003702002000410c6a2002410c6a290200370200200041013602000b200241306a2480808080000bd40101057f23808080800041306b22022480808080000240200128020822034101762204200128020422054b0d00200128020021012002412c6a22064100360200200241046a200120046a200120056a10c8968080002000412c6a2006280200360200200041246a200241246a2902003702002000411c6a2002411c6a290200370200200041146a200241146a2902003702002000410c6a2002410c6a2902003702002000200229020437020420002003410171360200200241306a2480808080000f0b2004200541f49fcd800010a881808000000bc60601067f23808080800041306b22032480808080000240024002400240024002400240024002400240024020012802042204410174200128020822056b20024d0d0020054101762106200520026a2207410176210820074101710d0320082006490d06200820044b0d07200041046a2102200128020020066a2104200820066b22014129490d0141002d00b8bfd380001a200141002802b0bfd38000118280808000002206450d08200020062004200110e9968080003602042000200136022c410421040c020b2005410176220220044b0d0420012802002101200341286a220641003602002003200120026a200120046a10c8968080002000412c6a2006280200360200200041246a200341206a2902003702002000411c6a200341186a290200370200200041146a200341106a2902003702002000410c6a200341086a29020037020020002003290200370204200020054101713602000c030b20022004200110e9968080001a412821040b20002005410171360200200220046a20013602000c010b200841016a22072006490d05200820044f0d06200128020020066a2108200341046a210402400240200720066b22014129490d00410021060240024020014100480d0041002d00b8bfd380001a200141002802b0bfd380001182808080000022060d01410121060b2006200141dc97cd800010ae80808000000b200320062008200110e9968080003602042003200136022c410421060c010b20042008200110e9968080001a412821060b200420066a2001360200200320054101713602002003200241017110e2968080001a024020034108412c200328022c41284b1b6a22012802002205450d0020012005417f6a3602000b20002003290200370200200041286a200341286a290200370200200041206a200341206a290200370200200041186a200341186a290200370200200041106a200341106a290200370200200041086a200341086a2902003702000b200341306a2480808080000f0b2002200441f49fcd800010a881808000000b200620084184a0cd800010ac81808000000b200820044184a0cd800010aa81808000000b4101200110b980808000000b200620074194a0cd800010ac81808000000b200720044194a0cd800010aa81808000000bc504010a7f024002400240024002400240024020002802082202410171220320012802082204410171460d0002402001280204220541017420046b22032000280204220641017420026b220720032007491b22080d0041000f0b200128020021092000280200210a410021010340200220016a2200410176220320064f0d03200420016a220b410176220720054f0d04200a20036a2d00002203410f71200341047620004101711b200920076a2d00002203410f712003410476200b4101711b470d022008200141016a2201470d000b20080f0b200441017621042002410176210b200028020421024100210602402003450d00200b20024f0d04024002402004200128020422034f0d00200128020020046a2d00002000280200200b6a2d000073410f71450d0141000f0b2004200341b4a0cd800010f580808000000b41012106200441016a2104200b41016a210b0b2002200b490d04200128020422052004490d05200128020020046a21032000280200200b6a210041022107200520046b22012002200b6b220b2001200b491b220421010340024020010d00200441017420066a0f0b2001417f6a21012007417e6a210720032d0000210b20002d00002102200041016a2100200341016a21032002200b460d000b200b20027341104920076b20066a21010b20010f0b2003200641f89ecd800010f580808000000b2007200541f89ecd800010f580808000000b200b200241a4a0cd800010f580808000000b200b200241d4a0cd800010a881808000000b2004200541c4a0cd800010a881808000000bbb0101057f2001280208220241017621032001280204210402400240024020024101710d000240200320044b0d00200128020020036a210141002102410021050c020b2003200441e4a0cd800010a881808000000b200320044f0d014101210220012802002205200341016a22066a2101200520036a2d0000410f712105200621030b200020053a000d200020023a000c20004100360208200020013602002000200420036b3602040f0b2003200441f4a0cd800010f580808000000bdc02010b7f23808080800041106b2202248080808000410021030240024020002802042204410174200028020822056b200128022c2206490d002001280204210702402006410171450d00200128020020012001280228220841284b22091b210a2007200820091b210b2000280200210c410021010340200620014622030d020240200520016a2207410176220020044f0d00200b200141017622084d0d0420014101712109200141016a2101200c20006a2d00002200410f71200041047620074101711b200a20086a2d00002200410f71200041047620091b460d010c030b0b2000200441f89ecd800010f580808000000b20012802002109200128022821082002410036020c200220092001200841284b22031b36020420022007200820031b22013602082000200241046a10d79680800020014101744621030b200241106a24808080800020030f0b2008200b419ca2cd800010f580808000000be902010c7f23808080800041106b22022480808080004100210302400240024020002802042204410174200028020822056b2206200128022c470d002001280204210702402006410171450d00200128020020012001280228220841284b22091b210a2007200820091b210b2000280200210c410021010340200141016a220020064b22030d02200520016a2208410176220720044f0d03200b200141017622094d0d042001410171210d20002101200a20096a2d00002200410f712000410476200d1b200c20076a2d00002200410f71200041047620084101711b460d000c020b0b2001280200210920012802282108410021032002410036020c200220092001200841284b220d1b360204200220072008200d1b220136020820062001410174470d002000200241046a10d79680800020064621030b200241106a24808080800020030f0b2007200441f89ecd800010f580808000000b2009200b419ca2cd800010f580808000000bf80101097f024002400240024020012802042202410174200128020822036b220420002802042205410174200028020822066b220720042007491b2208450d00200128020021092000280200210a03402006410176220020054f0d032003410176220120024f0d04417f200a20006a2d00002200410f71200041047620064101711b2200200920016a2d00002201410f71200141047620034101711b22014720002001491b22000d02200641016a2106200341016a21032008417f6a22080d000b0b417f200720044720072004491b21000b20000f0b2000200541f89ecd800010f580808000000b2001200241f89ecd800010f580808000000b890301087f024002402001450d000240200028022c220220014d0d00200041046a2103200041286a21040240200220016b22054101762202200541017122066a2201200028020420002802282207200741284b1b22084f0d0020082002417f736a210702402008200220056a6b410171450d00200141016a210120032004200428020041284b1b22022802002209450d0020022009417f6a3602000b20072006460d000340024020032004200428020041284b1b22022802002207450d0020022007417f6a3602000b024020032004200428020041284b1b22022802002207450d0020022007417f6a3602000b200141026a22012008490d000b0b2000200536022c2006450d01200328020020042802002204200441284b22011b2204417f6a210320040d022003410041aca3cd800010f580808000000b0240200041044128200028022841284b22041b6a280200450d00200041046a200041286a20041b41003602000b2000410036022c0b0f0b2000280200200020011b20036a220420042d000041f001713a00000be805010c7f0240200128022c2202450d0002400240200028022c22034101710d00200128020420012802282203200341284b22031b2204450d012001280200200120031b2103200041046a2105200041286a2106034020032d00002107024002402000410441282000280228220841284b22011b6a28020022092008412820011b460d002005200620011b21082000280200200020011b21010c010b200010ca968080002000280204210920002802002101200521080b200120096a20073a00002008200828020041016a360200200341016a21032004417f6a22040d000c020b0b024002400240200028020420002802282208200841284b1b2204200341017622094d0d00200128020420012802282204200441284b1b2206450d01200320026a410171210a200041046a2105200041286a210b20002802002000200841284b1b20096a220320012802002001200441284b1b220c2d000041047620032d000041f00171723a000002402006417f6a220d450d0041002101034020062001460d04200c20016a22032d00002109200341016a2d00002107024002402000410441282000280228220841284b22031b6a28020022042008412820031b460d002005200b20031b21082000280200200020031b21030c010b200010ca968080002000280204210420002802002103200521080b200320046a20094104742007410476410f71723a00002008200828020041016a360200200d200141016a2201470d000b0b200a450d03200c200d6a2d00004104742108024002402000410441282000280228220441284b22011b6a28020022032004412820011b460d002005200b20011b21052000280200200020011b21010c010b200010ca9680800020002802042103200028020021010b200120036a20083a00002005200528020041016a3602000c030b2009200441eca3cd800010f580808000000b4100410041fca3cd800010f580808000000b20062006418ca4cd800010f580808000000b2000200028022c20026a36022c0b0bcf08010c7f23808080800041106b2202248080808000200128020821032001280204210402400240024002400240024002400240024020012d00004101460d00200028022c21050c010b20012d0001410f7121060240024020002d002c4101710d00200041046a210120064104742107024002402000410441282000280228220841284b22061b6a28020022052008412820061b460d002001200041286a20061b21012000280200200020061b21060c010b200010ca9680800020002802042105200028020021060b200620056a20073a00002001200128020041016a3602000c010b200028020420002802282201200141284b22011b2205450d022000280200200020011b20056a417f6a220120012d00002006723a00000b2000200028022c41016a220536022c0b200041046a2109200041286a210a02402000280204220720002802282206200641284b22081b22014101742005470d0002402006412820081b20016b20034f0d00200120036a22062001490d034100417f2006417f6a677620064102491b2206417f460d03200241086a2000200641016a10c996808000024020022802082206418180808078460d002006450d042006200228020c10b980808000000b20092802002107200a28020021060b20072006200641284b22051b22062001490d032000280200200020051b20016a220520036a2005200620016b10ec968080001a20052004200310e9968080001a200041044128200028022841284b1b6a200620036a3602000c070b2003450d062001417f6a21052001450d0320002802002000200641284b1b20056a220120012d000041f001713a0000200028020420002802282201200141284b22011b220620054d0d042000280200200020011b20056a220120012d000020042d000041f00171410476723a00002003417f6a220b450d05200b2105200421010340200141016a22082d0000210c20012d0000210d024002402000410441282000280228220641284b22011b6a28020022072006412820011b460d002009200a20011b21062000280200200020011b21010c010b200010ca968080002000280204210720002802002101200921060b200120076a200d410474200c410476410f71723a00002006200628020041016a360200200821012005417f6a22050d000c060b0b41aca2cd8000413a41e8a2cd8000108b81808000000b41f89acd80004111418c9bcd800010f480808000000b41e49dcd8000411e41849ecd800010f480808000000b20054100419ca4cd800010f580808000000b2005200641aca4cd800010f580808000000b2004200b6a2d00004104742105024002402000410441282000280228220741284b22011b6a28020022062007412820011b460d002009200a20011b21092000280200200020011b21010c010b200010ca9680800020002802042106200028020021010b200120066a20053a00002009200928020041016a3602000b2000200028022c20034101746a36022c200241106a2480808080000bf30301077f23808080800041106b2204248080808000024002400240024020010d00410021010c010b200128020822054101762106200128020421070240024020054101710d000240200620074b0d00200128020020066a210141002108410021090c020b2006200741e4a0cd800010a881808000000b200620074f0d024101210820012802002209200641016a220a6a2101200920066a2d0000410f712109200a21060b20042001360208200420093a0005200420083a00042004200720066b36020c2000200441046a10de96808000200741017420056b21010b02402002450d000240024020002d002c4101710d00200041046a210620034104742105024002402000410441282000280228220341284b22071b6a28020022022003412820071b460d002006200041286a20071b21062000280200200020071b21070c010b200010ca9680800020002802042102200028020021070b200720026a20053a00002006200628020041016a3602000c010b200028020420002802282206200641284b22061b2207450d032000280200200020061b20076a417f6a220620062d00002003723a00000b2000200028022c41016a36022c200141016a21010b200441106a24808080800020010f0b2006200741f4a0cd800010f580808000000b41aca2cd8000413a41e8a2cd8000108b81808000000bde03010a7f23808080800041306b220224808080800020024200370228200241286a210302400240024020012802042204410174220520012802082206460d0020012802002107200241046a21084100210103402006410176220920044f0d02200720096a2d00002209410f71200941047620064101711b21090240024020014101710d002009410474210a024002402002410441282002280228220941284b22011b6a280200220b2009412820011b460d002008200320011b21092002280200200220011b21010c010b200210ca968080002002280204210b20022802002101200821090b2001200b6a200a3a00002009200928020041016a3602000c010b200228020420022802282201200141284b22011b220b450d042002280200200220011b200b6a417f6a220120012d00002009723a00000b2002200228022c41016a220136022c2005200641016a2206470d000b0b20002002290200370200200041286a2003290200370200200041206a200241206a290200370200200041186a200241186a290200370200200041106a200241106a290200370200200041086a200241086a290200370200200241306a2480808080000f0b2009200441f89ecd800010f580808000000b41aca2cd8000413a41e8a2cd8000108b81808000000bde0201087f20002001280200220220002802006a41017110e2968080001a200128020821030240024020020d00410021040c010b024002402003450d002000280208200028022c2202200241284b22051b2202417f6a21062002450d012000280204200041046a20051b20066a220220022d000020012802042d0000410f71723a0000410121040c020b4100410041a0a5cd800010f580808000000b2006200241b0a5cd800010f580808000000b0240200320044d0d00200320046b2102200041086a21072000412c6a2106200041046a2105200128020420046a2100034020002d0000210802400240200720062006280200220941284b22031b220128020022042009412820031b460d002005280200200520031b21030c010b200510ca968080002007280200210420052802002103200721010b200320046a20083a00002001200128020041016a360200200041016a21002002417f6a22020d000b0b0bbc0501057f200028020021022000200136020002400240024002400240024002400240024002400240200220014b0d0041002103200220014f0d042000412c6a2104200041086a2105200041046a210220004108412c200028022c220341284b22011b6a28020022062003412820011b460d012005200420011b21032000280204200220011b21010c020b200041046a2102024020002802082203200028022c2201200141284b1b2205417f6a2204450d004101210103402000280208200028022c2203200341284b22061b22032001417f6a4d0d0a200320014d0d0b2002280200200220061b20016a2203417f6a220620062d000041047420032d0000410476410f71723a00002005200141016a2201470d000b20002802082103200028022c21010b20032001200141284b1b220020044d0d0720022802002002200141284b1b20046a220120012d00004104743a00000c020b200210ca968080002005280200210620022802002101200521030b200120066a41003a00002003200328020041016a36020002402005280200220020042802002201200141284b1b22034102490d002003417f6a21010340200528020020042802002200200041284b22031b22002001417f6a22064d0d05200020014d0d062002280200200220031b20016a22002000417f6a2d000041047420002d0000410476410f71723a0000200141014b21002006210120000d000b20052802002100200428020021010b20002001200141284b22031b450d022002280200200220031b220120012d00004104763a00000b410121030b20030f0b4100410041a4a6cd800010f580808000000b2001417f6a200041e4a6cd800010f580808000000b2001200041f4a6cd800010f580808000000b2004200041b4a6cd800010f580808000000b2001417f6a200341c4a6cd800010f580808000000b2001200341d4a6cd800010f580808000000be80101037f23808080800041106b220324808080800002400240024020024100480d00200241f5ffffff074f0d0102402002410b6a41fcffffff077122040d00410421050c030b41002d00b8bfd380001a200441002802b0bfd380001182808080000022050d024104200410b980808000000b41b099cd8000412b2003410f6a41a099cd800041dc99cd800010a481808000000b41bc84c08000412b2003410f6a41ac84c0800041e486c0800010a481808000000b2005428180808010370200200541086a2001200210e9968080001a2000200236020420002005360200200341106a2480808080000b4901017f23808080800041106b2204248080808000200420012002200310f396808000200429030021022000200441086a29030037030820002002370300200441106a2480808080000bca0201087f02400240200241104f0d00200021030c010b02402000410020006b41037122046a220520004d0d002004210620002103200121070340200320072d00003a0000200741016a2107200341016a21032006417f6a22060d000b0b2005200220046b2202417c7122066a210302400240200120046a22074103710d00200520034f0d0120072101034020052001280200360200200141046a2101200541046a22052003490d000c020b0b200520034f0d002007410374220441187121082007417c71220941046a2101410020046b411871210a2009280200210403402005200420087620012802002204200a7472360200200141046a2101200541046a22052003490d000b0b20024103712102200720066a21010b02402003200320026a4f0d000340200320012d00003a0000200141016a2101200341016a21032002417f6a22020d000b0b20000bc00501087f024002400240200020016b20024f0d00200120026a2103200020026a210420024110490d014100200441037122056b210602402004417c71220720044f0d00200120026a417f6a210803402004417f6a220420082d00003a00002008417f6a210820072004490d000b0b2007200220056b2205417c7122046b2102410020046b210802400240200320066a22034103710d00200220074f0d01200520016a417c6a21042007210103402001417c6a220120042802003602002004417c6a210420022001490d000c020b0b200220074f0d002003410374220141187121092003417c712206417c6a2104410020016b411871210a200628020021062007210103402001417c6a22012006200a7420042802002206200976723602002004417c6a210420022001490d000b0b20054103712102200320086a2103200720086a21040c010b02400240200241104f0d00200021040c010b02402000410020006b41037122056a220820004d0d002005210320002104200121070340200420072d00003a0000200741016a2107200441016a21042003417f6a22030d000b0b2008200220056b2202417c7122036a210402400240200120056a22074103710d00200820044f0d0120072101034020082001280200360200200141046a2101200841046a22082004490d000c020b0b200820044f0d002007410374220541187121062007417c71220a41046a2101410020056b4118712109200a28020021050340200820052006762001280200220520097472360200200141046a2101200841046a22082004490d000b0b20024103712102200720036a21010b2004200420026a4f0d010340200420012d00003a0000200141016a2101200441016a21042002417f6a22020d000c020b0b200420026b220220044f0d002003417f6a210103402004417f6a220420012d00003a00002001417f6a210120022004490d000b0b20000bc50101047f02400240200241104f0d00200021030c010b02402000410020006b41037122046a220520004d0d0020042106200021030340200320013a0000200341016a21032006417f6a22060d000b0b024020052005200220046b2206417c716a22034f0d00200141ff0171220241087420027222024110742002722102034020052002360200200541046a22052003490d000b0b200641037121020b02402003200320026a4f0d000340200320013a0000200341016a21032002417f6a22020d000b0b20000b4a01037f4100210302402002450d000240034020002d0000220420012d00002205470d01200041016a2100200141016a21012002417f6a2202450d020c000b0b200420056b21030b20030b0e0020002001200210e5968080000bd20804017f017e037f047e23808080800041b0016b220524808080800042002106024002400240024020047920037942c0007c20044200521ba7220720027920017942c0007c20024200521ba722084d0d002008413f4b0d01200741df004b0d02024002400240200720086b4120490d00200541a0016a2003200441e00020076b220910e49680800020053502a00142017c210a4200210b420021060c010b200541306a2001200241c00020086b220810e496808000200541206a20032004200810e496808000420021062005200342002005290330200529032080220c420010f196808000200541106a20044200200c420010f1968080002005290300210a0240200541106a41086a290300200541086a290300220d20052903107c220b200d54ad7c4200520d002001200a5422082002200b542002200b511b450d020b200420027c200320017c2201200354ad7c200b7d2001200a54ad7d2102200c427f7c210c2001200a7d21040c050b02400240034020054190016a2001200241c00020086b220810e496808000200529039001210c0240200820094f0d00200541d0006a20032004200810e496808000200541c0006a200c200529035080220d42002003200410f196808000024020012005290340220a5422082002200541c8006a290300220c542002200c511b0d002002200c7d2008ad7d21022001200a7d21042006200b200d7c220c200b54ad7c21060c090b200220047c200120037c2204200154ad7c200c7d2004200a54ad7d21022004200a7d21042006200d200b7c427f7c220c200b54ad7c21060c080b20054180016a200c200a80220c4200200820096b41ff0071220810ef96808000200541f0006a200c42002003200410f196808000200541e0006a2005290370200541f0006a41086a290300200810ef9680800020054180016a41086a29030020067c2005290380012206200b7c220b200654ad7c2106024020072002200541e0006a41086a2903007d20012005290360220c54ad7d2202792001200c7d22017942c0007c20024200521ba722084d0d002008413f4b0d020c010b0b20012003542208200220045420022004511b450d01200b210c200121040c060b200120038221042006200b20012003807c220c200b54ad7c2106420021020c050b200220047d2008ad7d2102200120037d21042006200b42017c220c50ad7c21060c040b2002200b7d2008ad7d21022001200a7d2104420021060c030b200220044200200120035a200220045a20022004511b22081b7d20012003420020081b220454ad7d2102200120047d21042008ad210c0c020b200120038221042001200380210c42002106420021020c010b2002200342ffffffff0f83220482422086200142208884220320048022064220862003200482422086200142ffffffff0f8384220120048084210c2006422088200220048084210620012004822104420021020b200020043703102000200c3703002000200237031820002006370308200541b0016a2480808080000b0e0020002001200210e7968080000b0e0020002001200210e6968080000b0e0020002001200210e8968080000b4b01017f23808080800041106b22052480808080002005200120022003200410f096808000200529030021042000200541086a29030037030820002004370300200541106a2480808080000b4901017f23808080800041106b2204248080808000200420012002200310f296808000200429030021022000200441086a29030037030820002002370300200441106a2480808080000b4801017f23808080800041206b22052480808080002005200120022003200410ea96808000200529030021042000200529030837030820002004370300200541206a2480808080000b6e01067e2000200342ffffffff0f832205200142ffffffff0f8322067e22072003422088220820067e22062005200142208822097e7c22054220867c220a3703002000200820097e2005200654ad4220862005422088847c200a200754ad7c200420017e200320027e7c7c3703080b5701017e02400240200341c000710d002003450d0120022003413f71ad2204862001410020036b413f71ad88842102200120048621010c010b20012003413f71ad862102420021010b20002001370300200020023703080b5701017e02400240200341c000710d002003450d012002410020036b413f71ad8620012003413f71ad220488842101200220048821020c010b20022003413f71ad882101420021020b20002001370300200020023703080b0b8cc0130300418080c0000b90bc134572726f724c61796f75744572726f72010000000c000000040000000200000003000000040000006361706163697479206f766572666c6f7700000028001000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e727300000044001000710000002a020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e7273c800100070000000ea01000017000000000000000000000001000000050000006120666f726d617474696e6720747261697420696d706c656d656e746174696f6e2072657475726e656420616e206572726f72207768656e2074686520756e6465726c79696e672073747265616d20646964206e6f742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f666d742e727300ae0110006d0000008a0200000e0000000000000000000000010000000600000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f72632e727300670210006c0000002a01000031000000c8001000700000008d0500001b0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f73796e632e72730000f40210006e0000006f01000032000000070000000c000000040000000800000009000000040000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e72738c031000700000008d0500001b0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273000c0410006f000000a20000001900000029292073686f756c64206265203c3d206c656e2028697320606174602073706c697420696e6465782028697320000000a4041000150000008d041000170000008c041000010000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f616c6c6f632e72736d656d6f727920616c6c6f636174696f6e206f6620206279746573206661696c65640000004305100015000000580510000d000000d40410006f000000b60100000d000000d40410006f000000b40100000d0000003078802f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f626974636f696e5f6861736865732d302e31332e302f7372632f7368613235362e72739b0510006500000023000000140000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f626c616b6532625f73696d642d312e302e322f7372632f706f727461626c652e7273100610006400000096000000150000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f626c616b6532625f73696d642d312e302e322f7372632f6c69622e727300840610005f000000aa01000011000000840610005f000000ce01000017000000840610005f000000e501000016000000840610005f0000004e020000140000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f6465636f64652e72730000240710005a000000c00100000b000000240710005a000000ac010000200000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300a00710006f000000a2000000190000004c61796f75744572726f72000c0000000d0000000e0000000f000000100000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f62797465732d312e31302e312f7372632f62797465732e7273203c3d2073706c69745f746f206f7574206f6620626f756e64733a20009f081000180000009b08100004000000400810005b0000002e02000009000000110000001200000013000000140000001500000016000000170000001800000014000000190000000000000000000000010000001a00000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500400810005b0000004805000032000000400810005b00000056050000490000001b0000001c0000001d0000001e0000001f0000006222225c6e5c725c745c000079091000010000005c305c78860910000200000001000000000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300980910006f000000a20000001900000061626f72742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f62797465732d312e31302e312f7372632f6c69622e727300001d0a1000590000006e000000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f666d742f6e756d2e7273880a1000700000004800000011000000307830623030303130323033303430353036303730383039313031313132313331343135313631373138313932303231323232333234323532363237323832393330333133323333333433353336333733383339343034313432343334343435343634373438343935303531353235333534353535363537353835393630363136323633363436353636363736383639373037313732373337343735373637373738373938303831383238333834383538363837383838393930393139323933393439353936393739383939617373657274696f6e206661696c65643a202a63757272203e203139880a10007000000032020000050000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f666d742f6d6f642e72733030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303066616c736574727565000000000c100070000000a90a000026000000000c100070000000b20a00001a000000696e646578206f7574206f6620626f756e64733a20746865206c656e20697320206275742074686520696e646578206973200000dc0c100020000000fc0c10001200000000000000040000000400000027000000000000000400000004000000280000003d3d213d6d617463686573617373657274696f6e20606c6566742020726967687460206661696c65640a20206c6566743a200a2072696768743a20004b0d1000100000005b0d100017000000720d10000900000020726967687460206661696c65643a200a20206c6566743a200000004b0d100010000000940d100010000000a40d100009000000720d1000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f6d6f642e72735b2e2e2e5d626567696e203c3d20656e642028203c3d2029207768656e20736c6963696e67206060450e10000e000000530e100004000000570e100010000000670e1000010000006279746520696e64657820206973206e6f742061206368617220626f756e646172793b20697420697320696e7369646520202862797465732029206f66206000880e10000b000000930e100026000000b90e100008000000c10e100006000000670e100001000000206973206f7574206f6620626f756e6473206f6620600000880e10000b000000f00e100016000000670e100001000000d00d100070000000a40100002c00000030313233343536373839616263646566df451a3d03cf1ae6c1fbccfe00000000cac69ac717fe70abdcfbd4fe000000004fdcbcbefcb177fff6fbdcfe000000000cd66b41ef9156be11fce4fe000000003cfc7f90ad1fd08d2cfcecfe00000000839a5531285c51d346fcf4fe00000000b5c9a6ad8fac719d61fcfcfe00000000cb8bee2377229cea7bfc04ff000000006d5378409149ccae96fc0cff0000000057ceb65d79123c82b1fc14ff000000003756fb4d369410c2cbfc1cff000000004f9848386fea9690e6fc24ff00000000c73a8225cb8574d700fd2cff00000000f497bf97cdcf86a01bfd34ff00000000e5ac2a17980a34ef35fd3cff000000008eb2352afb6738b250fd44ff000000003b3fc6d2dfd4c8846bfd4cff00000000bacdd31a2744ddc585fd54ff0000000096c925bbce9f6b93a0fd5cff0000000084a5627d246cacdbbafd64ff00000000f6da5f0d5866aba3d5fd6cff0000000026f1c3de93f8e2f3effd74ff00000000b880ffaaa8adb5b50afe7cff000000008b4a7c6c055f628725fe84ff000000005330c13460ffbcc93ffe8cff000000005526ba918c854e965afe94ff00000000bd7e29702477f9df74fe9cff000000008fb8e5b89fbddfa68ffea4ff00000000947d7488cf5fa9f8a9feacff00000000cf9ba88f937044b9c4feb4ff000000006b150fbff8f0088adffebcff00000000b63131655525b0cdf9fec4ff00000000ac7f7bd0c6e23f9914ffccff00000000063b2b2ac4105ce42effd4ff00000000d3927369992424aa49ffdcff000000000eca0083f2b587fd63ffe4ff00000000eb1a11926408e5bc7effecff00000000cc88506f09ccbc8c99fff4ff000000002c6519e25817b7d1b3fffcff00000000000000000000409cceff0400000000000000000010a5d4e8e8ff0c0000000000000062acc5eb78ad0300140000000000840994f878393f811e001c0000000000b31507c97bce97c03800240000000000705cea7bce327e8f53002c00000000006880e9aba438d2d56d0034000000000045229a1726274f9f88003c000000000027fbc4d431a263eda200440000000000a8adc88c3865deb0bd004c0000000000db65ab1a8e08c783d8005400000000009a1d7142f91d5dc4f2005c000000000058e71ba62c694d920d01640000000000ea8d701a64ee01da27016c00000000004a77ef9a99a36da24201740000000000856b7db47b7809f25c017c00000000007718dd79a1e454b47701840000000000c2c59b5b92865b8692018c00000000003d5d96c8c55335c8ac01940000000000b3a097fa5cb42a95c7019c0000000000e35fa099bd9f46dee101a40000000000258c39db34c29ba5fc01ac00000000005c9f98a3729ac6f61602b40000000000cebee95453bfdcb73102bc0000000000e24122f217f3fc884c02c40000000000a5785cd39bce20cc6602cc0000000000df53217bf35a16988102d400000000003a301f97dcb5a0e29b02dc000000000096b3e35c53d1d9a8b602e400000000003c44a7a4d97c9bfbd002ec00000000001044a4a74c4c76bbeb02f400000000001a9c40b6ef8eab8b0603fc00000000002c8457a610ef1fd02003040100000000293191e9e5a4109b3b030c01000000009d0c9ca1fb9b10e7550314010000000029f43b62d92028ac70031c010000000085cfa77a5e4b44808b032401000000002dddac0340e421bfa5032c01000000008fff445e2f9c678ec00334010000000041b88c9c9d1733d4da033c0100000000a91be3b492db199ef503440100000000d977dfba6ebf96eb0f044c01000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f666c74326465632f73747261746567792f67726973752e72730050141000830000007d00000015000000617373657274696f6e206661696c65643a20642e6d616e74203e20305014100083000000a900000005000000617373657274696f6e206661696c65643a20642e6d696e7573203e20300000005014100083000000aa00000005000000617373657274696f6e206661696c65643a20642e706c7573203e20305014100083000000ab00000005000000617373657274696f6e206661696c65643a206275662e6c656e2829203e3d204d41585f5349475f4449474954530000005014100083000000ae00000005000000617373657274696f6e206661696c65643a20642e6d616e74202b20642e706c7573203c202831203c3c203631290000005014100083000000af0000000500000050141000830000000a0100001100000050141000830000000d0100000900000050141000830000004001000009000000617373657274696f6e206661696c65643a20642e6d616e742e636865636b65645f73756228642e6d696e7573292e69735f736f6d652829005014100083000000ad00000005000000617373657274696f6e206661696c65643a20642e6d616e742e636865636b65645f61646428642e706c7573292e69735f736f6d65282900005014100083000000ac00000005000000617373657274696f6e206661696c65643a20216275662e69735f656d70747928290000005014100083000000dc01000005000000617373657274696f6e206661696c65643a20642e6d616e74203c202831203c3c203631295014100083000000dd010000050000005014100083000000de01000005000000010000000a00000064000000e803000010270000a086010040420f008096980000e1f50500ca9a3b501410008300000033020000110000005014100083000000360200000900000050141000830000006c020000090000005014100083000000e3020000260000005014100083000000ef020000260000005014100083000000cc02000026000000426f72726f774572726f72426f72726f774d75744572726f72616c726561647920626f72726f7765643a2000c517100012000000616c7265616479206d757461626c7920626f72726f7765643a200000e01710001a000000757365722d70726f766964656420636f6d70617269736f6e2066756e6374696f6e20646f6573206e6f7420636f72726563746c7920696d706c656d656e74206120746f74616c206f72646572041810004c0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f7368617265642f736d616c6c736f72742e727358181000840000006103000005000000617474656d707420746f20646976696465206279207a65726f000000ec18100019000000617474656d707420746f2063616c63756c617465207468652072656d61696e646572207769746820612064697669736f72206f66207a65726f0000001019100039000000636f70795f66726f6d5f736c6963653a20736f7572636520736c696365206c656e67746820282920646f6573206e6f74206d617463682064657374696e6174696f6e20736c696365206c656e677468202829000054191000260000007a1910002b000000a51910000100000063616c6c656420604f7074696f6e3a3a756e77726170282960206f6e206120604e6f6e65602076616c75650001000000000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f756e69636f64652f7072696e7461626c652e72730000f41910007a0000001a00000036000000f41910007a0000000a0000002b000000000601010301040205070702080809020a050b020e04100111021205131c140115021702190d1c051d081f0124016a046b02af03b102bc02cf02d102d40cd509d602d702da01e005e102e704e802ee20f004f802fa04fb010c273b3e4e4f8f9e9e9f7b8b9396a2b2ba86b1060709363d3e56f3d0d1041418363756577faaaeafbd35e01287898e9e040d0e11122931343a4546494a4e4f64658a8c8d8fb6c1c3c4c6cbd65cb6b71b1c07080a0b141736393aa8a9d8d909379091a8070a3b3e66698f92116f5fbfeeef5a62f4fcff53549a9b2e2f2728559da0a1a3a4a7a8adbabcc4060b0c151d3a3f4551a6a7cccda007191a22253e3fe7ecefffc5c604202325262833383a484a4c50535556585a5c5e606365666b73787d7f8aa4aaafb0c0d0aeaf6e6fddde935e227b0503042d036603012f2e80821d03310f1c0424091e052b0544040e2a80aa06240424042808340b4e03340c813709160a08183b45390363080930160521031b05014038044b052f040a070907402027040c0936033a051a07040c07504937330d33072e080a0626031d080280d0521003372c082a161a261c1417094e042409440d19070a0648082709750b423e2a063b050a06510601051003050b5908021d621e48080a80a65e22450b0a060d133a060a06141c2c041780b93c64530c48090a46451b4808530d49070a80b6220e0a06460a1d03474937030e080a0639070a813619073b031d55010f320d839b66750b80c48a4c630d843010160a8f9b0582479ab93a86c68239072a045c06260a460a28051381b03a80c65b654b0439071140050b020e97f80884d6290aa2e781330f011d060e0408818c89046b050d030907108f6080fa0681b44c4709743c80f60a73087015467a140c140c570919808781470385420f1584501f060680d52b053e2101702d031a040281401f113a050181d02a80d62b040181e080f7294c040a04028311444c3d80c23c06010455051b3402810e2c04640c560a80ae381d0d2c040907020e06809a83d80411030d0377045f060c04010f0c0438080a0628082c04023e81540c1d030a0538071c06090780fa840600010305050606020706080709110a1c0b190c1a0d100e0c0f0410031212130916011704180119031a071b011c021f1620032b032d0b2e01300431023201a704a902aa04ab08fa02fb05fd02fe03ff09ad78798b8da23057588b8c901cdd0e0f4b4cfbfc2e2f3f5c5d5fe2848d8e9192a9b1babbc5c6c9cadee4e5ff00041112293134373a3b3d494a5d848e92a9b1b4babbc6cacecfe4e500040d0e11122931343a3b4546494a5e646584919b9dc9cecf0d11293a3b4549575b5c5e5f64658d91a9b4babbc5c9dfe4e5f00d11454964658084b2bcbebfd5d7f0f183858ba4a6bebfc5c7cfdadb4898bdcdc6cecf494e4f57595e5f898e8fb1b6b7bfc1c6c7d71116175b5cf6f7feff806d71dedf0e1f6e6f1c1d5f7d7eaeaf4dbbbc16171e1f46474e4f585a5c5e7e7fb5c5d4d5dcf0f1f572738f747596262e2fa7afb7bfc7cfd7df9a00409798308f1fcecfd2d4ceff4e4f5a5b07080f10272feeef6e6f373d3f42459091536775c8c9d0d1d8d9e7feff00205f2282df048244081b04061181ac0e80ab051f08811c03190801042f043404070301070607110a500f1207550703041c0a090308030703020303030c0405030b06010e15054e071b0757070206170c500443032d03010411060f0c3a041d255f206d046a2580c80582b0031a0682fd03590716091809140c140c6a060a061a0659072b05460a2c040c040103310b2c041a060b0380ac060a062f3180f4083c030f033e0538082b0582ff1118082f112d03210f210f808c04829a160b158894052f053b07020e180980be22740c80d61a81100580e109f29e033709815c1480b80880dd153b030a06380846080c06740b1e035a0459098083181c0a16094c04808a06aba40c170431a10481da26070c050580a61081f50701202a064c04808d0480be031b030f0d617373657274696f6e206661696c65643a206564656c7461203e3d20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f6469795f666c6f61742e727356201000760000004c0000000900000056201000760000004e00000009000000202831203c3c20290100000000000000ec20100007000000f3201000010000002e2e3a0001000000000000000e211000010000000e2110000100000070616e69636b6564206174203a0a2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f6269676e756d2e72730000003621100073000000aa01000001000000617373657274696f6e206661696c65643a206e6f626f72726f77617373657274696f6e206661696c65643a20646967697473203c203430617373657274696f6e206661696c65643a206f74686572203e20300000000000000c000000040000002b0000002c0000002d00000020202020207b202c203a20207b0a2c0a7d207d28280a290a5b5d2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e727300004222100074000000700500001200000042221000740000007005000028000000422210007400000063060000150000004222100074000000910600001500000042221000740000009206000015000000010000000a00000064000000e803000010270000a086010040420f008096980000e1f50500ca9a3bc16ff2862300000081efac855b416d2dee040000011f6abf64ed386eed97a7daf4f93fe9034f1800013e952e0999df03fd38150f2fe47423ecf5cfd308dc04c4dab0cdbc197f33a603261fe94e020000017c2e985b87d3be729fd9d8872f1512c650de6b706e4acf0fd895d56e71b226b066c6ad2436151d5ad3423c0e54ff63c07355cc17eff965f228bc55f7c7dc80dced6ef4ceefdc5ff75305002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f666c74326465632f73747261746567792f647261676f6e2e7273617373657274696f6e206661696c65643a20642e6d616e74203e2030cc231000840000007600000005000000617373657274696f6e206661696c65643a20642e6d696e7573203e2030000000cc231000840000007700000005000000617373657274696f6e206661696c65643a20642e706c7573203e2030cc231000840000007800000005000000617373657274696f6e206661696c65643a206275662e6c656e2829203e3d204d41585f5349475f444947495453000000cc231000840000007b00000005000000cc23100084000000c200000009000000cc23100084000000fb0000000d000000cc231000840000000201000012000000617373657274696f6e206661696c65643a20642e6d616e742e636865636b65645f73756228642e6d696e7573292e69735f736f6d65282900cc231000840000007a00000005000000617373657274696f6e206661696c65643a20642e6d616e742e636865636b65645f61646428642e706c7573292e69735f736f6d6528290000cc231000840000007900000005000000cc231000840000000b01000005000000cc231000840000000c01000005000000cc231000840000000d01000005000000cc231000840000007201000024000000cc23100084000000770100002f000000cc231000840000008401000012000000cc23100084000000660100000d000000cc231000840000004c01000022000000cc231000840000000f01000005000000cc231000840000000e010000050000003a200000010000000000000078261000020000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f6e756d2f666c74326465632f6d6f642e7273617373657274696f6e206661696c65643a20216275662e69735f656d70747928290000008c26100078000000bb00000005000000617373657274696f6e206661696c65643a206275665b305d203e2062273027008c26100078000000bc00000005000000617373657274696f6e206661696c65643a2070617274732e6c656e2829203e3d203400008c26100078000000bd000000050000002e302e008c261000780000006801000005000000617373657274696f6e206661696c65643a206275662e6c656e2829203e3d204d41585f5349475f4449474954530000008c2610007800000069010000050000002d2b4e614e696e66300000008c261000780000005a02000005000000617373657274696f6e206661696c65643a206275662e6c656e2829203e3d206d61786c656e0000008c261000780000007e0200000d0000000101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020202020202020202020202020202020202020202020202020202020202030303030303030303030303030303030404040404000000000000000000000072616e676520737461727420696e64657820206f7574206f662072616e676520666f7220736c696365206f66206c656e677468204429100012000000562910002200000072616e676520656e6420696e6465782088291000100000005629100022000000736c69636520696e64657820737461727473206174202062757420656e64732061742000a829100016000000be2910000d000000020202020202020202030301010100000000000000000000000000000000000001000000000000000202000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f756e69636f64652f756e69636f64655f646174612e7273000000dc2a10007d0000004d00000028000000dc2a10007d00000059000000160000000003000083042000910560005d13a0001217201f0c20601fef2c202b2a30a02b6fa6602c02a8e02c1efbe02d00fe20369eff6036fd01e136010a2137240de137ab0e61392f18e139301ce14af31ee14e4034a1521e61e153f06a61544f6fe1549dbc615500cf615665d1a15600da215700e0a158aee2215aece4e15bd0e8615c2000ee5cf0017f5d00700007002d0101010201020101480b30151001650702060202010423011e1b5b0b3a09090118040109010301052b033b092a180120370101010408040103070a021d013a0101010204080109010a021a010202390104020402020303011e0203010b0239010405010204011402160601013a0101020104080107030a021e013b0101010c01090128010301370101030503010407020b021d013a01020201010303010407020b021c02390201010204080109010a021d0148010401020301010801510102070c08620102090b0749021b0101010101370e01050102050b0124090166040106010202021902040310040d01020206010f01000300041c031d021e02400201070801020b09012d030101750222017603040209010603db0202013a010107010101010208060a0201301f3104300a040326090c02200402063801010203010105380802029803010d0107040106010302c6400001c32100038d016020000669020004010a200250020001030104011902050197021a120d012608190b01012c03300102040202020124014306020202020c0108012f01330101030202050201012a020801ee010201040100010010101000020001e201950500030102050428030401a5020004410500024f04460b31047b01360f290102020a033104020207013d03240501083e010c0234090101080402015f030204060102019d01030815023902010101010c0109010e07030543010206010102010103040301010e025508020301011701510102060101020101020102eb010204060201021b025508020101026a0101010208650101010204010500090102f5010a040401900402020401200a280602040801090602032e0d010200070106010152160207010201027a06030101020107010148020301010100020b023405050317010001060f000c030300053b0700013f0451010b020002002e021700050306080802071e0494030037043208010e011605010f000701110207010201056401a00700013d040004fe0200076d07006080f000617373657274696f6e206661696c65643a206c656e203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e72730c2f10008000000065010000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702e7273009c2f10007f000000c6070000460000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e72730000002c30100085000000a10100002e000000617373657274696f6e206661696c65643a20696478203c2043415041434954590c2f1000800000009502000009000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e686569676874202d20310c2f100080000000ad020000090000000c2f100080000000b102000009000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20656d70747920696e7465726e616c206e6f6465000000443110003d0000000c2f100080000000460500001f000000617373657274696f6e206661696c65643a2073656c662e686569676874203e20300000000c2f1000800000006002000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e28290c2f1000800000004a070000050000000c2f100080000000c7040000230000000c2f1000800000000a05000024000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e6e6f64652e686569676874202d20310000000c2f100080000000fa03000009000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e202b20636f756e74203c3d204341504143495459000c2f100080000000f70500000d000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e74000c2f100080000000f80500000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64650c2f1000800000002706000016000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e202b20636f756e74203c3d20434150414349545900000c2f100080000000360600000d000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e203e3d20636f756e740c2f100080000000370600000d0000000c2f1000800000006706000016000000617373657274696f6e206661696c65643a206d6174636820747261636b5f656467655f696478207b0a202020204c6566744f7252696768743a3a4c6566742869647829203d3e20696478203c3d206f6c645f6c6566745f6c656e2c0a202020204c6566744f7252696768743a3a52696768742869647829203d3e20696478203c3d2072696768745f6c656e2c0a7d00000c2f100080000000c905000009000000617373657274696f6e206661696c65643a206e65775f6c6566745f6c656e203c3d20434150414349545900000c2f1000800000007c050000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e72738c3410008400000058020000300000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730020351000670000006e0400000f0000002035100067000000a1040000100000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c69622e7273a835100060000000a600000010000000a835100060000000ab0000001d0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c6f63616c5f6b65792e727300002836100066000000210000001100000028361000660000002300000010000000283610006600000028000000120000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300c03610006f000000a2000000190000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300403710006f000000a2000000190000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6c6f6f6b75702e72730000c03710005e0000004600000012000000000000000c000000040000002f000000300000005765206172652063616368696e67206120604e6f64654f776e65643a3a56616c75656020666f7220612076616c7565206e6f6465206861736820616e64207468697320636163686564206e6f64652068617320616c7761797320646174612061747461636865643b20716564c03710005e00000079000000070000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6962626c652f6d6f642e72730000c03810006200000049000000160000000000000014000000040000003100000032000000604e6f64654f776e65643a3a56616c7565602063616e206e6f742062652072656163686564206279207573696e67207468652068617368206f662061206e6f64652e20604e6f64654f776e65643a3a56616c756560206973206f6e6c7920636f6e7374727563746564207768656e206c6f6164696e6720612076616c756520696e746f206d656d6f72792c207768696368206e6565647320746f2068617665206120646966666572656e742068617368207468616e20616e79206e6f64653b207165640048391000c3000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a200000143a10002a000000c03710005e000000d002000007000000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f72656c61795f73746174655f736e617073686f742e7273000000593a10005c000000f800000024000000593a10005c0000000401000023000000593a10005c0000000d0100001d000000593a10005c000000010100001e00000006de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e3851cb6f36e027abb2091cfb5110ab5087f06155b3cd9a8c9e5e9a23fd5dc13a5ed52656c61794469737061746368517565756552656d61696e696e67436170616369747963756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a72656c61795f73746174655f736e617073686f744d6573736167696e675374617465536e617073686f7448617368207461626c65206361706163697479206f766572666c6f770000a63b10001c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6861736862726f776e2d302e31352e332f7372632f7261772f6d6f642e7273000000cc3b10006100000025000000280000006e6f7420696d706c656d656e7465642f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f747269655f6261636b656e642e72730000004f3c100056000000c6000000030000004f3c1000560000009a000000030000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300c83c10006f000000a2000000190000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6f64652e7273483d10005c000000da0000001d000000483d10005c000000f60000001d000000483d10005c00000089000000120000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e000000583e100009000000d43d1000840000004e0000001f000000d43d1000840000004800000017000000456e7669726f6e6d656e74616c2065787465726e616c6974696573206e6f74207365742e2f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f696d706c656d656e746174696f6e2e7273000000b03e100065000000320000002d000000506172656e74206865616420646f65736e2774206d61746368000000283f100019000000b03e100065000000810100000500000052656c617920706172656e74206e756d62657220646f65736e2774206d617463680000005c3f100021000000b03e100065000000820100000500000052656c617920706172656e742073746f7261676520726f6f7420646f65736e2774206d6174636800983f100027000000b03e10006500000086010000050000005265636f7264657220697320616c77617973207365743b2071656400b03e100065000000b6010000370000004e6f206f70656e207472616e73616374696f6e20746861742063616e20626520726f6c6c6564206261636b2eb03e100065000000cf0100000a0000004e6f206f70656e207472616e73616374696f6e20746861742063616e20626520636f6d6d69747465642e0000b03e100065000000d40100000a0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000007c4010007d000000b3070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72730c41100060000000240100001900000050617468206e6f742061737369676e65640000000c41100060000000b20000001e0000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e727352656c617920636861696e20626c6f636b206e756d626572206e6565647320746f206d6f6e6f746f6e6963616c6c7920696e637265617365206265747765656e2050617261636861696e20626c6f636b7321000000eb41100052000000a04110004b000000ad0000000d0000006d73675f636f756e74753332746f74616c5f6279746573756d705f6d73675f636f756e74756d705f746f74616c5f627974657368726d705f6f7574676f696e6742547265654d61703c5061726149642c2048726d704368616e6e656c5570646174653e72656d61696e696e675f636f756e7472656d61696e696e675f73697a65646d715f6d71635f6865616472656c61795f636861696e3a3a4861736872656c61795f64697370617463685f71756575655f72656d61696e696e675f636170616369747952656c61794469737061746368517565756552656d61696e696e674361706163697479696e67726573735f6368616e6e656c735665633c285061726149642c20416272696467656448726d704368616e6e656c293e6567726573735f6368616e6e656c732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300804310006f000000a200000019000000804310006f00000096030000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f7472696564622e72730000104410005e0000001001000031000000104410005e000000110100003700000042547265654d61704b5600003d00000090000000080000003e0000003f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702e727300b04410007f000000fa0000003f000000b04410007f0000001f0100002e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e727300000050451000710000002a020000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6f64652e7273d44510005c000000fd00000016000000d44510005c000000e100000016000000000000000400000004000000440000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e72736046100084000000160200002f0000006046100084000000a1000000240000006c696d697420666f72206465636c617265642068726d70206368616e6e656c206d7573742062652070726573656e743b207165642f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f756e696e636c756465645f7365676d656e742e72730000384710005a0000009a0000000e000000656e7472792773206265656e20696e736572746564206561726c69657220776974682060617070656e64603b20716564384710005a000000f0000000120000003c7761736d3a73747269707065643e48726d704368616e6e656c55706461746563756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a756e696e636c756465645f7365676d656e745573656442616e647769647468000000000400000004000000450000000000000004000000040000004600000000000000040000000400000047000000000000000400000004000000480000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300844810006f000000a2000000190000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e72730449100084000000160200002f0000000449100084000000a1000000240000000000000000000000ffffffffffffffffb04910000000000000000000000000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6e6f64655f636f6465632e727300c84910004b0000007600000028000000c84910004b0000007c00000026000000c84910004b000000a3000000280000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273444a1000600000002f02000017000000444a100060000000240100001900000050617468206e6f742061737369676e6564000000444a100060000000b20000001e0000004f7574626f756e6448726d704d657373616765706f6c6b61646f745f636f72655f7072696d697469766573496464617461616c6c6f633a3a7665633a3a5665633c75383e726563697069656e742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000354b10007d000000b3070000090000007570776172645f6d657373616765735665633c5570776172644d6573736167653e686f72697a6f6e74616c5f6d657373616765735665633c4f7574626f756e6448726d704d6573736167653e6e65775f76616c69646174696f6e5f636f64654f7074696f6e3c72656c61795f636861696e3a3a56616c69646174696f6e436f64653e70726f6365737365645f646f776e776172645f6d6573736167657375333268726d705f77617465726d61726b72656c61795f636861696e3a3a426c6f636b4e756d626572686561645f6461746148656164446174614f7074696f6e544e6f6e65536f6d652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e727300aa4c1000710000002a0200001100000063756d756c75735f7072696d6974697665735f636f7265436f6c6c6174696f6e496e666f2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273504d1000600000002f02000017000000504d100060000000240100001900000050617468206e6f742061737369676e6564000000504d100060000000b20000001e00000073746174655f726f6f74486173683a3a4f75747075746e756d6265724e756d62657264696765737444696765737465787472696e736963735f726f6f74706172656e745f686173685665633c543e72656c61795f706172656e745f73746f726167655f726f6f744872656c61795f706172656e745f6e756d6265724e706172656e745f6865616448656164446174616d61785f706f765f73697a6575333273656e745f6174426c6f636b4e756d62657264617461616c6c6f633a3a7665633a3a5665633c75383e6d7367446f776e776172644d6573736167652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000cd4e10007d000000b30700000900000076616c69646174696f6e5f6461746150657273697374656456616c69646174696f6e4461746172656c61795f636861696e5f737461746573705f747269653a3a53746f7261676550726f6f66646f776e776172645f6d657373616765735665633c496e626f756e64446f776e776172644d6573736167653e686f72697a6f6e74616c5f6d6573736167657342547265654d61703c5061726149642c205665633c496e626f756e6448726d704d6573736167653e3e72656c61795f706172656e745f64657363656e64616e74735665633c52656c61794865616465723e636f6c6c61746f725f706565725f69644f7074696f6e3c417070726f7665645065657249643e52656c6179486173682f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273675010007d000000b30700000900000042547265654d61704b5648656164657273705f72756e74696d653a3a67656e657269633a3a6865616465724e756d6265724861736850657273697374656456616c69646174696f6e44617461706f6c6b61646f745f7072696d6974697665733a3a7638484e496e626f756e6448726d704d657373616765706f6c6b61646f745f636f72655f7072696d697469766573426c6f636b4e756d626572496e626f756e64446f776e776172644d6573736167652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e7273000000a4511000710000002a020000110000004f7074696f6e544e6f6e65536f6d652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300003752100067000000f70000000f00000050617261636861696e496e686572656e744461746163756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e744d6573736167655175657565436861696e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730000fb52100067000000f70000000f000000426f756e646564566563626f756e6465645f636f6c6c656374696f6e733a3a626f756e6465645f76656354532f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300a0531000670000006e0400000f000000a053100067000000a104000010000000a053100067000000f70000000f00000008000000080000000800000004000000617373657274696f6e206661696c65643a206c656e203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e7273000000615410008000000065010000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e7273000000f454100085000000a10100002e000000617373657274696f6e206661696c65643a20696478203c20434150414349545961541000800000009502000009000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e686569676874202d20316154100080000000ad020000090000006154100080000000b102000009000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20656d70747920696e7465726e616c206e6f64650000000c5610003d0000006154100080000000460500001f000000617373657274696f6e206661696c65643a2073656c662e686569676874203e203000000061541000800000006002000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e282961541000800000004a070000050000006154100080000000c70400002300000061541000800000000a05000024000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e6e6f64652e686569676874202d20310000006154100080000000fa03000009000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e202b20636f756e74203c3d204341504143495459006154100080000000f70500000d000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e74006154100080000000f80500000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f646561541000800000002706000016000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e202b20636f756e74203c3d20434150414349545900006154100080000000360600000d000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e203e3d20636f756e746154100080000000370600000d00000061541000800000006706000016000000617373657274696f6e206661696c65643a206d6174636820747261636b5f656467655f696478207b0a202020204c6566744f7252696768743a3a4c6566742869647829203d3e20696478203c3d206f6c645f6c6566745f6c656e2c0a202020204c6566744f7252696768743a3a52696768742869647829203d3e20696478203c3d2072696768745f6c656e2c0a7d00006154100080000000c905000009000000617373657274696f6e206661696c65643a206e65775f6c6566745f6c656e203c3d204341504143495459000061541000800000007c050000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273545910008400000058020000300000005459100084000000300200002f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000f85910007d000000b3070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6d706163742e7273000000000000000000000000000000736869667465642073756666696369656e74206269747320726967687420746f206c656164206f6e6c79206c656164696e67207a65726f733b20716564000000005b10003d000000885a1000690000008601000005000000000000000000000000000000000000000000000000000000885a100069000000b401000005000000e29c85206e6f206d6967726174696f6e20666f7220000000805b1000150000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f676c7574746f6e2f7372632f6c69622e727372756e74696d653a3a6672616d652d737570706f727470616c6c65745f676c7574746f6e3a3a70616c6c65747d436865636b4e6f6e5a65726f53656e646572436865636b47656e65736973436865636b4d6f7274616c697479436865636b4e6f6e6365436865636b5370656356657273696f6e48656164657273705f72756e74696d653a3a67656e657269633a3a6865616465724e756d62657248617368e8fd00006e756d626572206f662054726173684461746120656e74726965732063616e6e6f7420626520626967676572207468616e200000845c100032000000a05b100042000000ae00000004000000426c6f636b206c656e677468206c696d697420697320696e73616e65d05c10001c000000a05b100042000000bf0000000400000053746f72616765206c696d697420697320696e73616e6500045d100017000000a05b100042000000bc00000004000000436f6d70757465206c696d697420697320696e73616e6500345d100017000000a05b100042000000b900000004000000f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e205468652070616c6c657420686173206e6f20646566696e65642073746f726167652076657273696f6e2c20736f20746865206f6e2d636861696e2076657273696f6e206973206265696e6720696e697469616c697a656420746f202e0000645d100010000000745d100075000000e95d1000010000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f7072696d6974697665732f636f72652f7372632f70617261636861696e5f626c6f636b5f646174612e727300045e100053000000310000003e0000006672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f6e6f6e6365546672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f67656e657369736672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f6d6f7274616c6974796672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f737065635f76657273696f6e6672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f6e6f6e5f7a65726f5f73656e6465724163636f756e74496e666f6672616d655f73797374656d4e6f6e63654163636f756e74446174614576656e745265636f726445436f646555706772616465417574686f72697a6174696f6e56455253494f4e45445042443078436f727275707465642073746174652061742060603a20000000925f100014000000a65f1000030000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f756e6861736865642e727372756e74696d653a3a73746f726167656672616d655f737570706f72743a3a73746f726167653a3a756e686173686564205468652070726f706f7274696f6e206f66207468652072656d61696e696e67206070726f6f665f73697a656020746f20636f6e73756d6520647572696e6720606f6e5f69646c65602e2060312e3060206973206d617070656420746f206031303025602e204d757374206265206174206d6f7374205b6063726174653a3a5245534f555243455f484152445f4c494d4954605d2e2053657474696e67207468697320746f206f7665722060312e306020636f756c64207374616c6c2074686520636861696e2e205468652070726f706f7274696f6e206f66207468652060626c6f636b206c656e6774686020746f20636f6e73756d65206f6e206561636820626c6f636b2e205468652063757272656e74206e756d626572206f6620656e747269657320696e2060547261736844617461602e2053746f72616765206d6170207573656420666f722077617374696e672070726f6f662073697a652e20497420636f6e7461696e73206e6f206d65616e696e6766756c2064617461202d2068656e636520746865206e616d6520225472617368222e20546865206d6178696d616c206e756d626572206f6620656e74726965732069732073657420746f2036356b2c207768696368206973206a7573742062656c6f7720746865206e657874206a756d702061742031365e342e205468697320697320696d706f7274616e7420746f20726564756365207468652070726f6f662073697a652062656e63686d61726b696e67206f766572657374696d6174652e2054686520617373756d7074696f6e2068657265206973207468617420776520776f6e27742068617665206d6f7265207468616e2036356b202a20314b6942203d2036354d6942206f662070726f6f662073697a652077617374696e6720696e2070726163746963652e20486f77657665722c2074686973206c696d6974206973206e6f7420656e666f726365642c20736f207468652070616c6c657420776f756c6420616c736f20776f726b206f7574206f662074686520626f782077697468206d6f726520656e74726965732c20627574206974732062656e63686d61726b65642070726f6f662077656967687420776f756c6420706f737369626c7920626520756e646572657374696d6174656420696e207468617420636173652e205468652070726f706f7274696f6e206f66207468652072656d61696e696e6720607265665f74696d656020746f20636f6e73756d6520647572696e6720606f6e5f69646c65602e0000a05b1000420000008f0100002c00000043616c6c436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e00ec63100043000000696e697469616c697a655f70616c6c65747365745f636f6d707574657365745f73746f72616765626c6f61747365745f626c6f636b5f6c656e6774684572726f7254686520604572726f726020656e756d206f6620746869732070616c6c65742e000000000000007964100020000000416c7265616479496e697469616c697a6564496e73616e654c696d6974636f6d7075746573746f72616765747261736844617461436f756e74626c6f636b4c656e677468c564100007000000cc64100007000000d36410000e000000e16410000b0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273000c65100067000000f70000000f0000007374727563742047656e65736973436f6e6669675765616b426f756e646564566563626f756e6465645f636f6c6c656374696f6e733a3a7765616b5f626f756e6465645f7665635350657273697374656456616c69646174696f6e44617461706f6c6b61646f745f7072696d6974697665733a3a7638484e2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300fc6510006f000000a2000000190000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f696f2f636f72652e7273007c66100063000000470000000e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6f64652e7273020000000000000000000000000000000000000000000000000000000000000000000000496e76616c696420696e6c696e65206e6f64652068616e646c650000f06610005c0000005000000005000000f06610005c000000da0000001d000000f06610005c000000f60000001d000000f06610005c00000089000000120000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6c6f6f6b75702e72730000cc6710005e0000004600000012000000cc6710005e000000a301000016000000000000000c0000000400000077000000780000005765206172652063616368696e67206120604e6f64654f776e65643a3a56616c75656020666f7220612076616c7565206e6f6465206861736820616e64207468697320636163686564206e6f64652068617320616c7761797320646174612061747461636865643b20716564cc6710005e00000079000000070000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6962626c652f6d6f642e72730000dc681000620000004900000016000000000000001400000004000000790000007a000000604e6f64654f776e65643a3a56616c7565602063616e206e6f742062652072656163686564206279207573696e67207468652068617368206f662061206e6f64652e20604e6f64654f776e65643a3a56616c756560206973206f6e6c7920636f6e7374727563746564207768656e206c6f6164696e6720612076616c756520696e746f206d656d6f72792c207768696368206e6565647320746f2068617665206120646966666572656e742068617368207468616e20616e79206e6f64653b207165640064691000c3000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a200000306a10002a000000cc6710005e000000d002000007000000000000001400000004000000790000007a000000436f726553656c6563746f7253746f7261676556657273696f6e436c61696d51756575654f6666736574436f756c64206e6f742066696e6420616e2041755261207365616c20646967657374212f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f617572612d6578742f7372632f6c69622e7273d56a1000430000009400000013000000436f756c64206e6f742066696e64204175526120617574686f7220696e64657821000000d56a1000430000009900000004000000496e76616c6964204175526120617574686f7220696e6465782020666f7220617574686f7269746965733a205c6b10001a000000766b100012000000d56a100043000000a000000005000000496e76616c69642041755261207365616c000000a86b100011000000d56a100043000000a40000000400000061207475706c65206f662073697a652032612073657175656e63652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264652d312e302e3231392f7372632f64652f696d706c732e72730000ef6b10005f000000980400001c00000061207475706c65206f662073697a6520332f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e0000f56c100009000000716c1000840000004e0000001f000000716c10008400000048000000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300286d10006f000000a2000000190000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273a86d1000840000004e00000035000000a86d1000840000004f0000002f0000000000000000000000010000007c000000496e76616c6964466f726d6174496e76616c6964506872617365496e76616c696450617373776f7264496e76616c696453656564496e76616c6964536565644c656e677468496e76616c6964506174682f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f636f72652f7372632f63727970746f2e727300ac6e1000470000006b0300002f0000007d00000014000000040000007e00000073656564206861732076616c6964206c656e6774683b207165640000ac6e10004700000081030000280000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6d656d6f72792d64622d302e33332e302f7372632f6c69622e727348617368207461626c65206361706163697479206f766572666c6f770000009d6f10001c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6861736862726f776e2d302e31352e332f7372632f7261772f6d6f642e7273000000c46f1000610000002500000028000000ffffffffffffffff38701000000000000000000000000000406f10005d000000c300000019000000406f10005d000000c6000000100000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e727370701000600000002f020000170000007070100060000000240100001900000050617468206e6f742061737369676e65640000007070100060000000b20000001e0000004163636f756e7449645665633c75383e4163636f756e74496e6465785b75383b2033325d5b75383b2032305d68656164657248656164657265787472696e736963735665633c45787472696e7369633e706172656e745f68617368486173683a3a4f75747075746e756d6265724e756d62657273746174655f726f6f7465787472696e736963735f726f6f7464696765737444696765737441757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f6b65792e00ac71100057000000037210000400000041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e000000187210004d0000005065726d616e656e746c792072656d6f76657320746865207375646f206b65792e2a2a546869732063616e6e6f7420626520756e2d646f6e652e2a2a70721000210000000100000000000000917210001b00000041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d6120676976656e206163636f756e742e546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0000c472100053000000177310001000000001000000000000002773100033000000546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f7773207468655375646f207573657220746f20737065636966792074686520776569676874206f66207468652063616c6c2e00187210004d0000007c7310004b000000c77310002c000000010000000000000027731000330000007765696768745765696768746e65774163636f756e7449644c6f6f6b75704f663c543e63616c6c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e77686f53656e646572206d75737420626520746865205375646f206163636f756e742e0000006574100020000000546865207375646f206b657920686173206265656e20757064617465642e0000907410001e00000041205b7375646f5f61735d2850616c6c65743a3a7375646f5f6173292063616c6c206a75737420746f6f6b20706c6163652e000000000000b87410003200000041207375646f2063616c6c206a75737420746f6f6b20706c6163652e00000000f87410001c000000546865206b657920776173207065726d616e656e746c792072656d6f7665642e20751000200000007375646f5f726573756c744469737061746368526573756c7454686520726573756c74206f66207468652063616c6c206d61646520627920746865207375646f20757365722e0000617510002d000000543a3a4163636f756e744964546865206e6577207375646f206b657920286966206f6e652077617320736574292e0000a4751000220000006f6c644f7074696f6e3c543a3a4163636f756e7449643e546865206f6c64207375646f206b657920286966206f6e65207761732070726576696f75736c7920736574292e00000000e77510002d000000543a3a4e6f6e636545726173756666696369656e7473526566436f756e7470726f766964657273646174614163636f756e74446174616e6f6e63654e6f6e6365636f6e73756d65727370686173655068617365746f706963735665633c543e6576656e7445636865636b5f76657273696f6e626f6f6c636f64655f68617368543a3a4861736853657420746865206e65772072756e74696d6520636f64652e00a6761000190000004b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e2a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e64657274686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e000000c87610004400000001000000000000000c7710004e0000005a7710004f0000004d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e000000cc7710002900000050726f766964652074686520707265696d616765202872756e74696d652062696e617279292060636f64656020666f7220616e2075706772616465207468617420686173206265656e20617574686f72697a65642e49662074686520617574686f72697a6174696f6e20726571756972656420612076657273696f6e20636865636b2c20746869732063616c6c2077696c6c20656e73757265207468652073706563206e616d6572656d61696e7320756e6368616e67656420616e6420746861742074686520737065632076657273696f6e2068617320696e637265617365642e446570656e64696e67206f6e207468652072756e74696d65277320604f6e536574436f64656020636f6e66696775726174696f6e2c20746869732066756e6374696f6e206d6179206469726563746c79206170706c79746865206e65772060636f64656020696e207468652073616d6520626c6f636b206f7220617474656d707420746f207363686564756c652074686520757067726164652e416c6c206f726967696e732061726520616c6c6f7765642e00007810005500000001000000000000005578100052000000a77810003a0000000100000000000000e178100056000000377910004400000001000000000000007b7910001800000053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e000000000000dc7910003e0000004d616b6520736f6d65206f6e2d636861696e2072656d61726b2e43616e20626520657865637574656420627920657665727920606f726967696e602e287a10001a0000000100000000000000427a10002200000053657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e4e6f746520746861742072756e74696d652075706772616465732077696c6c206e6f742072756e20696620746869732069732063616c6c656420776974682061206e6f742d696e6372656173696e67207370656376657273696f6e2100007c7a1000460000000100000000000000c27a100054000000167b10000800000053657420736f6d65206974656d73206f662073746f726167652e000000000000407b10001a000000417574686f72697a6520616e207570677261646520746f206120676976656e2060636f64655f686173686020666f72207468652072756e74696d652e205468652072756e74696d652063616e20626520737570706c6965646c617465722e5741524e494e473a205468697320617574686f72697a657320616e207570677261646520746861742077696c6c2074616b6520706c61636520776974686f757420616e792073616665747920636865636b732c20666f726578616d706c652074686174207468652073706563206e616d652072656d61696e73207468652073616d6520616e642074686174207468652076657273696f6e206e756d62657220696e637265617365732e204e6f747265636f6d6d656e64656420666f72206e6f726d616c207573652e205573652060617574686f72697a655f757067726164656020696e73746561642e546869732063616c6c20726571756972657320526f6f74206f726967696e2e0000687b100058000000c07b1000060000000100000000000000c67b1000570000001d7c100056000000737c10003c0000000100000000000000af7c10001f0000004b696c6c20736f6d65206974656d732066726f6d2073746f726167652e000000107d10001d000000687b100058000000c07b1000060000000100000000000000af7c10001f0000006b6579735665633c4b65793e6974656d735665633c4b657956616c75653e636f646572656d61726b7375626b6579737533327072656669784b6579706167657375363441206d756c74692d626c6f636b206d6967726174696f6e206973206f6e676f696e6720616e642070726576656e7473207468652063757272656e7420636f64652066726f6d206265696e67207265706c616365642e9b7d1000550000004661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e4569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e000000f87d10003b0000000100000000000000337e100042000000546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d65616e6420746865206e65772072756e74696d652e907e100044000000d47e100014000000546865207375626d697474656420636f6465206973206e6f7420617574686f72697a65642e000000f87e10002500000054686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e000000287f10004d0000005468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d65807f100050000000d47e100014000000546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e00000000e07f100034000000537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e00208010003f0000004e6f207570677261646520617574686f72697a65642e00006880100016000000416e2065787472696e736963206661696c65642e000000008880100014000000416e20757067726164652077617320617574686f72697a65642e000000000000a88010001a000000603a636f6465602077617320757064617465642e00000000d0801000140000004f6e206f6e2d636861696e2072656d61726b2068617070656e65642e00000000f08010001c000000416e206163636f756e7420776173207265617065642e0000188110001600000041206e6577206163636f756e742077617320637265617465642e000000000000388110001a000000416e20696e76616c696420617574686f72697a65642075706772616465207761732072656a6563746564207768696c6520747279696e6720746f206170706c792069742e000000006081100044000000416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e00000000b0811000240000006861736864697370617463685f696e666f44697370617463684576656e74496e666f6163636f756e7464697370617463685f6572726f7244697370617463684572726f7273656e6465726572726f7269644964616d6f756e7442616c616e63656e6f726d616c546f7065726174696f6e616c6d616e6461746f7279496e6372656173652074686520626c6f636b2073697a6520627920696e636c7564696e67207468652073706563696669656420676172626167652062797465732e000000005b8210004100000053657420686f77206d756368206f66207468652072656d61696e696e6720607265665f74696d6560207765696768742073686f756c6420626520636f6e73756d656420627920606f6e5f69646c65602e4f6e6c792063616c6c61626c6520627920526f6f74206f72206041646d696e4f726967696e602e00a8821000500000000100000000000000f88210002700000053657420686f77206d756368206f662074686520626c6f636b206c656e6774682073686f756c642062652066696c6c656420776974682074726173682064617461206f6e206561636820626c6f636b2e60312e3060206d65616e73207468617420616c6c20626c6f636b2073686f756c642062652066696c6c65642e2049662073657420746f2060312e30602c2073746f726167652070726f6f662073697a652077696c6c20626520636c6f736520746f207a65726f2e00388310005000000001000000000000008883100055000000dd831000120000000100000000000000f882100027000000496e697469616c697a65207468652070616c6c65742e2053686f756c642062652063616c6c6564206f6e63652c206966206e6f2067656e65736973207374617465207761732070726f76696465642e6063757272656e745f636f756e7460206973207468652063757272656e74206e756d626572206f6620656c656d656e747320696e2060547261736844617461602e20546869732063616e2062652073657420746f604e6f6e6560207768656e207468652070616c6c657420697320666972737420696e697469616c697a65642e4f6e6c792063616c6c61626c6520627920526f6f74206f72206041646d696e4f726967696e602e204120676f6f642064656661756c7420666f7220606e65775f636f756e74602069732060355f303030602e000000208410004f00000001000000000000006f84100054000000c38410002c0000000100000000000000ef8410005200000053657420686f77206d756368206f66207468652072656d61696e696e67206070726f6f665f73697a6560207765696768742073686f756c6420626520636f6e73756d656420627920606f6e5f69646c65602e60312e3060206d65616e73207468617420616c6c2072656d61696e696e67206070726f6f665f73697a65602077696c6c20626520636f6e73756d65642e2054686520506f562062656e63686d61726b696e67726573756c74732074686174206172652075736564206865726520617265206c696b656c7920616e206f7665722d657374696d6174696f6e2e203130302520696e74656e64656420636f6e73756d7074696f6e2077696c6c7468657265666f7265207472616e736c61746520746f206c657373207468616e20313030252061637475616c20636f6e73756d7074696f6e2e00000074851000520000000100000000000000c685100052000000188610005800000070861000390000000100000000000000f882100027000000676172626167655665633c5b75383b2056414c55455f53495a455d3e6e65775f636f756e7473746f726167654669786564553634626c6f636b5f6c656e6774687769746e6573735f636f756e744f7074696f6e3c7533323e636f6d70757465546865206c696d697420776173206f766572205b6063726174653a3a5245534f555243455f484152445f4c494d4954605d2e00000043871000320000005468652070616c6c65742077617320616c726561647920696e697469616c697a65642e53657420607769746e6573735f636f756e746020746f2060536f6d656020746f206279706173732074686973206572726f722e000080871000230000000100000000000000a38710003300000066726f7a656e726573657276656466726565666c6167734578747261466c6167734c6f636b4964656e746966696572726561736f6e73526561736f6e73526573657276654964656e7469666965725472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e4e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e732074686174616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062657472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f726167656465706f736974732c206574632e2e2e546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e2d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e2d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c20206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f7220207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746f20206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e003e8810004100000001000000000000007f88100056000000d5881000580000002d891000570000008489100051000000d5891000100000000100000000000000e5891000300000000100000000000000158a1000280000003d8a100056000000938a100053000000e68a1000560000003c8b1000270000005472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e607472616e736665725f616c6c6f775f6465617468602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e4966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c746f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e00dc8b1000350000000100000000000000118c10004d0000005e8c100044000000a28c10002c0000000100000000000000ce8c1000450000005365742074686520726567756c61722062616c616e6365206f66206120676976656e206163636f756e742e546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e004c8d10002b0000000100000000000000778d10002c00000045786163746c7920617320607472616e736665725f616c6c6f775f6465617468602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e746d6179206265207370656369666965642e000000bc8d100058000000148e1000110000004275726e2074686520737065636966696564206c697175696420667265652062616c616e63652066726f6d20746865206f726967696e206163636f756e742e496620746865206f726967696e2773206163636f756e7420656e64732075702062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c746f6620746865206275726e20616e6420606b6565705f616c697665602069732066616c73652c20746865206163636f756e742077696c6c206265207265617065642e556e6c696b652073656e64696e672066756e647320746f2061205f6275726e5f20616464726573732c207768696368206d6572656c79206d616b6573207468652066756e647320696e61636365737369626c652c7468697320606275726e60206f7065726174696f6e2077696c6c2072656475636520746f74616c2069737375616e63652062792074686520616d6f756e74205f6275726e65645f2e0000388e10003f0000000100000000000000778e100049000000c08e1000420000000100000000000000028f100054000000568f10004800000041646a7573742074686520746f74616c2069737375616e636520696e20612073617475726174696e67207761792e43616e206f6e6c792062652063616c6c656420627920726f6f7420616e6420616c77617973206e65656473206120706f736974697665206064656c7461602e23204578616d706c650000d88f10002e0000000100000000000000069010003f0000000100000000000000459010000900000055706772616465206120737065636966696564206163636f756e742e2d20606f726967696e603a204d75737420626520605369676e6564602e2d206077686f603a20546865206163636f756e7420746f2062652075706772616465642e546869732077696c6c20776169766520746865207472616e73616374696f6e20666565206966206174206c6561737420616c6c2062757420313025206f6620746865206163636f756e7473206e656564656420746f62652075706772616465642e20285765206c657420736f6d65206e6f74206861766520746f206265207570677261646564206a75737420696e206f7264657220746f20616c6c6f7720666f7220746865706f73736962696c697479206f6620636875726e292e789010001c0000000100000000000000949010001d000000b1901000240000000100000000000000d5901000550000002a911000500000007a91100016000000556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e43616e206f6e6c792062652063616c6c656420627920524f4f542e00d09110002c0000000100000000000000fc9110001b00000053616d6520617320746865205b607472616e736665725f616c6c6f775f6465617468605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f746b696c6c20746865206f726967696e206163636f756e742e393925206f66207468652074696d6520796f752077616e74205b607472616e736665725f616c6c6f775f6465617468605d20696e73746561642e5b607472616e736665725f616c6c6f775f6465617468605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e736665723092100056000000869210001800000001000000000000009e9210003a0000000100000000000000d89210003c0000006465737476616c7565543a3a42616c616e636564656c7461736f757263655665633c543a3a4163636f756e7449643e6e65775f667265656b6565705f616c697665646972656374696f6e41646a7573746d656e74446972656374696f6e42656e6566696369617279206163636f756e74206d757374207072652d65786973742e00000000a19310002300000056657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c75652e00d0931000270000004e756d626572206f6620667265657a65732065786365656420604d6178467265657a6573602e000000941000260000005472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e742e000000003094100024000000412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742e000000000060941000330000004163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e000000000000a0941000320000005468652064656c74612063616e6e6f74206265207a65726f2e00000000000000e0941000190000004e756d626572206f66206e616d65642072657365727665732065786365656420604d61785265736572766573602e0000089510002e00000042616c616e636520746f6f206c6f7720746f2073656e642076616c75652e0000409510001e0000005468652069737375616e63652063616e6e6f74206265206d6f6469666965642073696e636520697420697320616c72656164792064656163746976617465642e689510004000000056616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f7369742e0000000000b09510003b0000004e756d626572206f6620686f6c647320657863656564206056617269616e74436f756e744f663c543a3a52756e74696d65486f6c64526561736f6e3e602e0000f89510003e000000536f6d652062616c616e636520776173206c6f636b65642e4096100018000000536f6d652062616c616e6365207761732066726f7a656e2e6096100018000000536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e008096100047000000536f6d6520616d6f756e742077617320726573746f72656420696e746f20616e206163636f756e742e00000000000000d096100029000000536f6d6520616d6f756e74207761732073757370656e6465642066726f6d20616e206163636f756e74202869742063616e20626520726573746f726564206c61746572292e0000000897100045000000546f74616c2069737375616e63652077617320696e637265617365642062792060616d6f756e74602c206372656174696e6720612063726564697420746f2062652062616c616e6365642e0000000000589710004b000000536f6d652062616c616e63652077617320756e6c6f636b65642e000000000000b09710001a000000416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e0000d89710002e000000416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c726573756c74696e6720696e20616e206f75747269676874206c6f73732e000000109810004f0000005f9810001e000000546f74616c2069737375616e636520776173206465637265617365642062792060616d6f756e74602c206372656174696e672061206465627420746f2062652062616c616e6365642e000000000000009098100049000000412062616c616e6365207761732073657420627920726f6f742e000000000000e89810001a0000005468652060546f74616c49737375616e6365602077617320666f72636566756c6c79206368616e6765642e0000000000109910002b000000416e206163636f756e74207761732075706772616465642e4899100018000000536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e6899100040000000536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292eb099100038000000536f6d6520616d6f756e7420776173206275726e65642066726f6d20616e206163636f756e742e00f099100027000000536f6d6520616d6f756e7420776173206d696e74656420696e746f20616e206163636f756e742e00209a100027000000536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e0000509a100036000000536f6d652062616c616e636520776173207468617765642e909a100018000000536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e000000000000b09a10003a000000536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742e46696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e000000f89a1000530000004b9b1000360000005472616e73666572207375636365656465642e00949b100013000000746f66726f6d667265655f62616c616e636564657374696e6174696f6e5f737461747573537461747573536574207468652063757272656e742074696d652e546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e70686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e5468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062795b60436f6e6669673a3a4d696e696d756d506572696f64605d2e546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f4e6f6e655f2e5468697320646973706174636820636c617373206973205f4d616e6461746f72795f20746f20656e73757265206974206765747320657865637574656420696e2074686520626c6f636b2e20426520617761726574686174206368616e67696e672074686520636f6d706c6578697479206f6620746869732063616c6c20636f756c6420726573756c742065786861757374696e6720746865207265736f757263657320696e2061626c6f636b20746f206578656375746520616e79206f746865722063616c6c732e232320436f6d706c65786974792d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f28312960292d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f283129602062656361757365206f6620604469645570646174653a3a74616b656020696e2020606f6e5f66696e616c697a6560292d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602eda9b1000150000000100000000000000ef9b100055000000449c1000350000000100000000000000799c100050000000c99c10001a0000000100000000000000e39c1000310000000100000000000000149d100054000000689d100054000000bc9d1000210000000100000000000000dd9d10000d000000ea9d10004c000000369e1000550000008b9e1000100000009b9e1000350000006e6f77543a3a4d6f6d656e7472656c61795f706172656e745f73746f726167655f726f6f74486d61785f706f765f73697a65706172656e745f68656164486561644461746172656c61795f706172656e745f6e756d6265724e726563697069656e74616c6c6f633a3a7665633a3a5665633c75383e42616c616e63654f663c543e41207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c686173206265656e2070616964206279206077686f602e0000e99f1000560000003fa010001700000061637475616c5f66656574697053636f6e73756d65645f676f5f61686561645f7369676e616c4f7074696f6e3c72656c61795f636861696e3a3a55706772616465476f41686561643e757365645f62616e6477696474685573656442616e647769647468706172615f686561645f686173684f7074696f6e3c483e68726d705f77617465726d61726b4f7074696f6e3c72656c61795f636861696e3a3a426c6f636b4e756d6265723e536574207468652063757272656e742076616c69646174696f6e20646174612e546869732073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e7068617365206966207468652063616c6c20776173206e6f7420696e766f6b65642e546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e7460417320612073696465206566666563742c20746869732066756e6374696f6e207570677261646573207468652063757272656e742076616c69646174696f6e2066756e6374696f6e69662074686520617070726f7072696174652074696d652068617320636f6d652e11a1100020000000010000000000000031a110005000000081a11000220000000100000000000000a3a11000340000000100000000000000d7a11000480000001fa210002100000050617261636861696e496e686572656e74446174616d6573736167655570776172644d657373616765506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e2e00000000b1a210005300000054686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f7420697377696c6c696e6720746f2072756e2e10a310005100000061a310000f000000417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e672e000080a310004600000054686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b2e000000000000d0a310004a00000054686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b2e0028a41000470000004e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642e000078a4100036000000446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742eb8a4100038000000536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642ef8a41000400000005468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e0000000040a510002c0000005468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e0000000078a51000340000005468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e00000000000000b8a5100051000000416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e000018a610002e000000636f756e747765696768745f75736564646d715f6865616472656c61795f636861696e3a3a486173686d6573736167655f686173684f7074696f6e3c58636d486173683e72656c61795f636861696e5f626c6f636b5f6e756d52656c6179436861696e426c6f636b4e756d6265722f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300bea610007d000000b3070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273004ca710006f000000a20000001900000041207465737420646973706174636861626c6520666f722073657474696e67206120637573746f6d2068656164206461746120696e206076616c69646174655f626c6f636b602e0000000000cca7100047000000637573746f6d5f6865616465724120646973706174636861626c6520746861742066697273742072656164732074776f2076616c7565732066726f6d2074776f20646966666572656e74206368696c642074726965732c20617373657274732074686579617265207468652065787065637465642076616c75657320286966207468652076616c75657320657869737420696e207468652073746174652920616e64207468656e207772697465732074776f20646966666572656e7476616c75657320746f207468657365206368696c642074726965732e2da810005700000084a8100058000000dca810001c00000073656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e496e666f2c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5375646f2c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5465737450616c6c65742c2052756e74696d653e73656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c476c7574746f6e2c2052756e74696d653e6672616d655f73797374656d3a3a4572726f723c52756e74696d653e63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4572726f723c52756e74696d653e70616c6c65745f62616c616e6365733a3a4572726f723c52756e74696d653e70616c6c65745f7375646f3a3a4572726f723c52756e74696d653e70616c6c65745f676c7574746f6e3a3a4572726f723c52756e74696d653e6672616d655f73797374656d3a3a4576656e743c52756e74696d653e63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e70616c6c65745f7375646f3a3a4576656e743c52756e74696d653e70616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e70616c6c65745f676c7574746f6e3a3a4576656e74416c7265616479496e52756e74696d654e6f4f70656e5472616e73616374696f6e000000000000000001000000cd000000546f7020616e64206f6666636861696e206368616e67657365747320617265207374617274656420696e206c6f636b737465703b207165642f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6f7665726c617965645f6368616e6765732f6d6f642e72730050ae10005f000000ed01000005000000546f7020616e64206368696c6472656e206368616e6765736574732061726520656e746572696e672072756e74696d6520696e206c6f636b737465703b2071656400000050ae10005f000000e8010000060000003a65787472696e7369635f696e646578000000000000000001000000ce00000050ae10005f000000db01000005000000546f7020616e64206368696c6472656e206368616e67657365747320617265207374617274656420696e206c6f636b737465703b2071656450ae10005f000000d60100000600000050ae10005f000000c90100000500000050ae10005f000000c30100000600000073746f726167650050ae10005f000000020300001e0000006073746f726167655f7472616e73616374696f6e5f63616368656020776173206a75737420696e697469616c697a65643b2071656400000050ae10005f0000004f020000070000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000000cb010007d000000b3070000090000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6f7665726c617965645f6368616e6765732f6368616e67657365742e7273416e204f7665726c617956616c756520697320616c7761797320637265617465642077697468206174206c65617374206f6e65207472616e73616374696f6e20616e642064726f7070656420617320736f6f6e0a09617320746865206c617374207472616e73616374696f6e2069732072656d6f7665643b207165640000009cb0100065000000fc0000001b0000009cb01000650000000f0100001b0000009cb010006500000014010000250000009cb01000650000000a010000250000009cb0100065000000f70000001d000000447261696e206973206e6f7420616c6c6f7765642077697468206f70656e207472616e73616374696f6e732ed0b110002c0000009cb010006500000046020000030000004120777269746520746f20616e204f7665726c6179656456616c7565206973207265636f7264656420696e20746865206469727479206b6579207365742e204265666f726520616e0a090909094f7665726c6179656456616c75652069732072656d6f7665642c2069747320636f6e7461696e696e67206469727479207365742069732072656d6f7665642e20546869730a0909090966756e6374696f6e206973206f6e6c792063616c6c656420666f72206b65797320746861742061726520696e20746865206469727479207365742e207165640000009cb0100065000000980200002f000000cf0000005400000004000000d0000000d1000000000000001000000004000000d2000000d3000000d4000000e000000008000000d5000000d6000000d70000001000000004000000d8000000d9000000da000000db000000dc0000001800000004000000dd000000de0000004572726f72207768696c6520697465726174696e67207468652073746f726167653a200068b31000230000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6578742e727300000094b310004d000000af020000060000007472696573705f73746174655f6d616368696e653a3a657874426c6f636b446174612073686f756c642068617665206174206c65617374206f6e6520626c6f636b2f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f696d706c656d656e746174696f6e2e7273000035b4100065000000990000000500000050617261636861696e2068656164206e6565647320746f2062652074686520706172656e74206f662074686520666972737420626c6f636bacb410003800000035b41000650000009600000002000000000000000000000001000000000000004865616444617461206e6f742073657435b41000650000005c01000018000000000000000000000001000000df000000554d505369676e616c7320646f6573206e6f742066697420696e20554d504d65737361676573000035b41000650000005801000005000000e00000000c00000004000000e100000035b41000650000005501000005000000e20000000c00000004000000e3000000436f6d706163742070726f6f66206465636f64696e67206661696c7572652e00a4b510001f00000035b4100065000000ac0000000d000000000000000000000001000000e4000000496e76616c696420706172656e7420686561640035b41000650000009200000041000000496e76616c69642070617261636861696e20626c6f636b206461746135b41000650000008f00000004000000416c6c206053656c656374436f726560207369676e616c73206e65656420746f2073656c656374207468652073616d6520636f72653a2020767320003cb610003700000073b610000400000035b41000650000003b01000007000000416c6c2060417070726f7665645065657260207369676e616c73206e65656420746f2073656c656374207468652073616d6520706565725f69643a2098b610003c00000073b610000400000035b410006500000047010000070000004661696c656420746f206465636f64652060554d505369676e616c6035b41000650000003801000029000000436f756c64206e6f742066696e6420607365745f76616c69646174696f6e5f646174616020696e686572656e7400000035b4100065000000770100000400000028292f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300000062b710006f000000a20000001900000044656661756c744572726f724572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6f64652e7273000000f5b710005c000000fd00000016000000f5b710005c000000e100000016000000000000000000000001000000e500000045787465726e616c6974696573206e6f7420616c6c6f77656420746f206661696c2077697468696e2072756e74696d6594b310004d000000c90000003600000094b310004d000000dc0000003100000094b310004d000000050100002a00000094b310004d000000fa0100001a00000094b310004d000000420100000900000094b310004d0000002b0100002700000094b310004d000000f20000003600000094b310004d000000180200000500000094b310004d0000001b0100000600000094b310004d0000006b0100000900000094b310004d00000053010000050000005765206861766520726573657420746865206f7665726c61792061626f76652c20736f2077652063616e206e6f7420626520696e207468652072756e74696d653b2071656400000094b310004d0000005b0200000500000094b310004d0000005702000005000000546869732069732061207370656369616c20666e206f6e6c7920666f722062656e63686d61726b696e67207768657265206120646174616261736520636f6d6d69742068617070656e732066726f6d207468652072756e74696d652e0a09466f72207468617420726561736f6e20636c69656e742073746172746564207472616e73616374696f6e73206265666f72652063616c6c696e6720696e746f2072756e74696d6520617265206e6f7420616c6c6f7765642e0a09576974686f757420636c69656e74207472616e73616374696f6e7320746865206c6f6f7020636f6e646974696f6e2067756172616e74656573207468652073756363657373206f662074686520747820636c6f73652e000094b310004d000000530200002800000094b310004d000000670200000500000094b310004d000000620200002600000094b310004d000000af000000310000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f6469676573742e727300001cbb100052000000270000001100000008000000080000000800000004000000e9000000a000000010000000ea000000000000000400000004000000eb000000556e636865636b656445787472696e736963707265616d626c6566756e6374696f6e4e756d626572206f6620646967657374206974656d73206d757374206d6174636820746861742063616c63756c617465642ed2bb1000320000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f6578656375746976652f7372632f6c69622e72730cbc100044000000520300000300000053746f7261676520726f6f74206d757374206d6174636820746861742063616c63756c617465642e60bc1000280000000cbc10004400000060030000030000005472616e73616374696f6e207472696520726f6f74206d7573742062652076616c69642ea0bc1000240000000cbc1000440000006203000003000000446967657374206974656d206d757374206d6174636820746861742063616c63756c617465642e00dcbc1000270000000cbc1000440000005a030000040000006672616d655f6578656375746976650001000000000000000cbc1000440000007d02000005000000506172656e7420686173682073686f756c642062652076616c69642e44bd10001c0000000cbc10004400000064020000030000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f6469676573742e7273000078bd1000520000002700000011000000457865637574696e67207472616e73616374696f6e3a2000dcbd10001700000072756e74696d653a3a6578656375746976655472616e73616374696f6e2829206661696c65642064756520746f202e2041626f7274696e67207468652072657374206f662074686520626c6f636b20657865637574696f6e2e0000000ebe10000c0000001abe1000100000002abe10002b0000000cbc100044000000b9020000050000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730080be100067000000f70000000f0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e72730000f8be10005a000000d00100001b000000f8be10005a000000d101000010000000f8be10005a000000cc01000009000000f8be10005a000000b901000020000000000000000000000001000000ec00000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500f8be10005a0000003d010000200000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300e0bf10006f000000a200000019000000427566666572546f6f536d616c6c2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d726f6f742d302e31382e302f7372632f6c69622e7273006ec010005d000000290100002b0000006ec010005d00000040010000210000006ec010005d0000003b010000250000006ec010005d000000790100000d0000006ec010005d00000060010000250000006ec010005d000000620100001c0000006ec010005d00000093000000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000003cc110007d000000b3070000090000006ec010005d000000a1000000200000006ec010005d000000a1000000260000006ec010005d000000a10000001f0000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f6c69622e727300fcc110003f0000008f01000001000000080000000800000008000000040000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652d696e746572666163652f7372632f7761736d2e72730000000000000000000001000000160100002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72737d436865636b576569676874417574686f72697a6543616c6c7365656420546865206b6579732073686f756c642062652073746f7265642077697468696e20746865206b657973746f7265206578706f736564207669612072756e74696d652065787465726e616c69746965732e205468652073656564206e6565647320746f20626520612076616c69642060757466386020737472696e672e2052657475726e732074686520636f6e636174656e61746564205343414c4520656e636f646564207075626c6963206b6579732e2047656e6572617465206120736574206f662073657373696f6e206b6579732077697468206f7074696f6e616c6c79207573696e672074686520676976656e20736565642e67656e65726174655f73657373696f6e5f6b657973656e636f6465642052657475726e7320746865206c697374206f66207075626c696320726177207075626c6963206b657973202b206b657920747970652e204465636f64652074686520676976656e207075626c69632073657373696f6e206b6579732e6465636f64655f73657373696f6e5f6b6579732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300c6c410007d000000b3070000090000002053657373696f6e206b6579732072756e74696d65206170692e53657373696f6e4b6579736865616465722053746172747320746865206f66662d636861696e207461736b20666f7220676976656e20626c6f636b206865616465722e6f6666636861696e5f776f726b657220546865206f6666636861696e20776f726b6572206170692e4f6666636861696e576f726b65724170696672616d655f73797374656d3a3a657874656e73696f6e733a3a636865636b5f77656967687454457863656564656420626c6f636b206c656e677468206c696d69743a20203e2000000011c610001d0000002ec61000030000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f657874656e73696f6e732f636865636b5f7765696768742e727372756e74696d653a3a73797374656d45787472696e736963202069732067726561746572207468616e20746865206d61782065787472696e73696320000000a8c610000a000000b2c6100023000000457863656564656420746865207065722d636c61737320616c6c6f77616e63652e000000e8c6100021000000546f74616c20626c6f636b207765696768742069732065786365656465642e0014c710001f000000416c6c2077656967687420636865636b656420616464206f766572666c6f772e3cc71000200000006672616d655f73797374656d3a3a657874656e73696f6e733a3a617574686f72697a655f63616c6c65787472696e7369632052657475726e7320616e20696e636c7573696f6e206f7574636f6d652077686963682073706563696669657320696620746869732065787472696e73696320697320696e636c7564656420696e207468697320626c6f636b206f72206e6f742e204170706c792074686520676976656e2065787472696e7369632e6170706c795f65787472696e7369632046696e697368207468652063757272656e7420626c6f636b2e66696e616c697a655f626c6f636b696e686572656e742047656e657261746520696e686572656e742065787472696e736963732e2054686520696e686572656e7420646174612077696c6c20766172792066726f6d20636861696e20746f20636861696e2e696e686572656e745f65787472696e73696373626c6f636b6461746120436865636b20746861742074686520696e686572656e7473206172652076616c69642e2054686520696e686572656e7420646174612077696c6c20766172792066726f6d20636861696e20746f20636861696e2e636865636b5f696e686572656e7473205468652060426c6f636b4275696c646572602061706920747261697420746861742070726f7669646573207468652072657175697265642066756e6374696f6e616c69747920666f72206275696c64696e67206120626c6f636b2e426c6f636b4275696c6465722043757272656e746c792c206f6e6c79207468652076616c75652070726f7669646564206279207468697320747970652061742067656e657369732077696c6c20626520757365642e2052657475726e732074686520736c6f74206475726174696f6e20666f7220417572612e736c6f745f6475726174696f6e2052657475726e207468652063757272656e7420736574206f6620617574686f7269746965732e617574686f72697469657320415049206e656365737361727920666f7220626c6f636b20617574686f7273686970207769746820617572612e41757261417069c0c2100067000000f70000000f0000006a736f6e2073746f726167652e20496e207468652063617365206f662061204652414d452d62617365642072756e74696d652c20746869732066756e6374696f6e20646573657269616c697a6573207468652066756c6c206052756e74696d6547656e65736973436f6e666967602066726f6d2074686520676976656e204a534f4e20626c6f6220616e64207075747320697420696e746f207468652073746f726167652e204966207468652070726f7669646564204a534f4e20626c6f6220697320696e636f7272656374206f7220696e636f6d706c657465206f722074686520646573657269616c697a6174696f6e206661696c732c20616e206572726f722069732072657475726e65642e20506c65617365206e6f746520746861742070726f7669646564204a534f4e20626c6f62206d75737420636f6e7461696e20616c6c206052756e74696d6547656e65736973436f6e66696760206669656c64732c206e6f2064656661756c74732077696c6c20626520757365642e204275696c64206052756e74696d6547656e65736973436f6e666967602066726f6d2061204a534f4e20626c6f62206e6f74207573696e6720616e792064656661756c747320616e642073746f726520697420696e207468656275696c645f7374617465696420606964602e204966206069646020697320604e6f6e6560207468652066756e6374696f6e2073686f756c642072657475726e204a534f4e20626c6f6220726570726573656e746174696f6e206f66207468652064656661756c74206052756e74696d6547656e65736973436f6e6669676020737472756374206f66207468652072756e74696d652e20496d706c656d656e746174696f6e206d7573742070726f766964652064656661756c74206052756e74696d6547656e65736973436f6e666967602e204f74686572776973652066756e6374696f6e2072657475726e732061204a534f4e20726570726573656e746174696f6e206f6620746865206275696c742d696e2c206e616d6564206052756e74696d6547656e65736973436f6e6669676020707265736574206964656e74696669656420627920606964602c206f7220604e6f6e656020696620737563682070726573657420646f6573206e6f742065786973742e2052657475726e656420605665633c75383e6020636f6e7461696e73206279746573206f66204a534f4e20626c6f62202870617463682920776869636820636f6d7072697365732061206c697374206f662028706f74656e7469616c6c79206e657374656429206b65792d76616c756520706169727320746861742061726520696e74656e64656420666f7220637573746f6d697a696e67207468652064656661756c742072756e74696d652067656e6573697320636f6e6669672e20546865207061746368207368616c6c206265206d657267656420287266633733383629207769746820746865204a534f4e20726570726573656e746174696f6e206f66207468652064656661756c74206052756e74696d6547656e65736973436f6e6669676020746f20637265617465206120636f6d70726568656e736976652067656e6573697320636f6e66696720746861742063616e206265207573656420696e20606275696c645f737461746560206d6574686f642e2052657475726e732061204a534f4e20626c6f6220726570726573656e746174696f6e206f6620746865206275696c742d696e206052756e74696d6547656e65736973436f6e66696760206964656e7469666965642062796765745f7072657365742054686520707265736574732066726f6d20746865206c6973742063616e20626520717565726965642077697468205b6047656e657369734275696c6465723a3a6765745f707265736574605d206d6574686f642e204966206e6f206e616d65642070726573657473206172652070726f7669646564206279207468652072756e74696d6520746865206c69737420697320656d7074792e2052657475726e732061206c697374206f66206964656e7469666965727320666f7220617661696c61626c65206275696c74696e206052756e74696d6547656e65736973436f6e6669676020707265736574732e7072657365745f6e616d65732041504920746f20696e7465726163742077697468206052756e74696d6547656e65736973436f6e6669676020666f72207468652072756e74696d6547656e657369734275696c646572736f757263657478626c6f636b5f686173682054686973206d6574686f6420697320696e766f6b656420627920746865207472616e73616374696f6e20706f6f6c20746f206c6561726e2064657461696c732061626f757420676976656e207472616e73616374696f6e2e2054686520696d706c656d656e746174696f6e2073686f756c64206d616b65207375726520746f207665726966792074686520636f72726563746e657373206f6620746865207472616e73616374696f6e20616761696e73742063757272656e742073746174652e2054686520676976656e2060626c6f636b5f686173686020636f72726573706f6e647320746f207468652068617368206f662074686520626c6f636b207468617420697320757365642061732063757272656e742073746174652e204e6f7465207468617420746869732063616c6c206d617920626520706572666f726d65642062792074686520706f6f6c206d756c7469706c652074696d657320616e64207472616e73616374696f6e73206d6967687420626520766572696669656420696e20616e7920706f737369626c65206f726465722e2056616c696461746520746865207472616e73616374696f6e2e76616c69646174655f7472616e73616374696f6e2054686520605461676765645472616e73616374696f6e5175657565602061706920747261697420666f7220696e746572666572696e67207769746820746865207472616e73616374696f6e2071756575652e5461676765645472616e73616374696f6e5175657565547279696e6720746f207265706c61636520616e20616c7265616479207265706c6163656420696d706c656d656e746174696f6e211bd31000350000005cc21000520000004c00000004000000696e636c756465645f68617368736c6f7420726563656e746c7920696e636c75646564206f6e652061732d6f66207468652072656c617920706172656e7420746861742077696c6c206265206275696c7420616761696e73742c20616e642074686520676976656e2072656c617920636861696e20736c6f742e20546869732073686f756c6420626520636f6e73697374656e74207769746820746865206c6f676963207468652072756e74696d652075736573207768656e2076616c69646174696e6720626c6f636b7320746f2061766f6964206973737565732e205768656e2074686520756e696e636c75646564207365676d656e7420697320656d7074792c20692e652e2060696e636c756465645f68617368203d3d206174602c2077686572652061742069732074686520626c6f636b2077686f736520737461746520776520617265207175657279696e6720616761696e73742c2074686973206d75737420616c776179732072657475726e20607472756560206173206c6f6e672061732074686520736c6f74206973206d6f726520726563656e74207468616e2074686520696e636c7564656420626c6f636b20697473656c662e2057686574686572206974206973206c6567616c20746f20657874656e642074686520636861696e2c20617373756d696e672074686520676976656e20626c6f636b20697320746865206d6f737463616e5f6275696c645f75706f6e20546869732072756e74696d6520415049206973207573656420746f20696e666f726d20706f74656e7469616c20626c6f636b20617574686f7273207768657468657220746865792077696c6c20686176652074686520726967687420746f20617574686f72206174206120736c6f742c20617373756d696e672074686579206861766520636c61696d65642074686520736c6f742e20496e20706172746963756c61722c20746869732041504920616c6c6f777320417572612d62617365642070617261636861696e7320746f20726567756c6174652074686569722022756e696e636c75646564207365676d656e74222c207768696368206973207468652073656374696f6e206f66207468652068656164206f662074686520636861696e20776869636820686173206e6f7420796574206265656e206d61646520617661696c61626c6520696e207468652072656c617920636861696e2e205768656e2074686520756e696e636c75646564207365676d656e742069732073686f72742c204175726120636861696e732077696c6c20616c6c6f7720617574686f727320746f20637265617465206d756c7469706c6520626c6f636b732070657220736c6f7420696e206f7264657220746f206275696c642061206261636b6c6f672e205768656e206974206973207361747572617465642c2074686973204150492077696c6c206c696d69742074686520616d6f756e74206f6620626c6f636b7320746861742063616e20626520637265617465642e204368616e6765733a202d2056657273696f6e20323a2055706461746520746f206063616e5f6275696c645f75706f6e6020746f2074616b6520612072656c617920636861696e2060536c6f746020696e7374656164206f6620612070617261636861696e2060536c6f74602e41757261556e696e636c756465645365676d656e74417069205265747269657665207468652070617261636861696e206964207573656420666f722072756e74696d652e70617261636861696e5f69642052756e74696d6520617069207573656420746f206163636573732067656e6572616c20696e666f2061626f757420612070617261636861696e2072756e74696d652e47657450617261636861696e496e666f20526574726965766520636f72652073656c6563746f7220616e6420636c61696d207175657565206f666673657420666f7220746865206e65787420626c6f636b2e636f72655f73656c6563746f722052756e74696d6520617069207573656420746f2073656c6563742074686520636f726520666f7220776869636820746865206e65787420626c6f636b2077696c6c206265206275696c742e476574436f726553656c6563746f724170692054686520676976656e2060686561646572602069732074686520686561646572206f6620746865206275696c7420626c6f636b20666f7220746861742077652061726520636f6c6c656374696e672074686520636f6c6c6174696f6e20696e666f20666f722e20436f6c6c65637420696e666f726d6174696f6e2061626f7574206120636f6c6c6174696f6e2e636f6c6c6563745f636f6c6c6174696f6e5f696e666f2052756e74696d652061706920746f20636f6c6c65637420696e666f726d6174696f6e2061626f7574206120636f6c6c6174696f6e2e2056657273696f6e20686973746f72793a202d2056657273696f6e20323a204368616e676564205b6053656c663a3a636f6c6c6563745f636f6c6c6174696f6e5f696e666f605d207369676e6174757265202d2056657273696f6e20333a205369676e616c7320746f20746865206e6f646520746f207573652076657273696f6e2031206f66205b6050617261636861696e426c6f636b44617461605d2e436f6c6c656374436f6c6c6174696f6e496e666f2046657463682074686520736c6f74206f666673657420746861742069732065787065637465642066726f6d207468652072656c617920636861696e2e72656c61795f706172656e745f6f66667365742041504920746f2074656c6c20746865206e6f6465207369646520686f77207468652072656c617920706172656e742073686f756c642062652063686f73656e2e2041206c6172676572206f666673657420696e646963617465732074686174207468652072656c617920706172656e742073686f756c64206e6f742062652074686520746970206f66207468652072656c617920636861696e2c2062757420604e6020626c6f636b7320626568696e6420746865207469702e2054686973206f6666736574206973207468656e20656e666f72636564206279207468652072756e74696d652e52656c6179506172656e744f66667365744170696163636f756e74204765742063757272656e74206163636f756e74206e6f6e6365206f6620676976656e20604163636f756e744964602e6163636f756e745f6e6f6e6365205468652041504920746f207175657279206163636f756e74206e6f6e63652e4163636f756e744e6f6e63654170692f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e72730000badc100084000000160200002f000000badc100084000000a1000000240000004572726f722052657475726e73207468652076657273696f6e206f66207468652072756e74696d652e76657273696f6e20457865637574652074686520676976656e20626c6f636b2e657865637574655f626c6f636b20496e697469616c697a65206120626c6f636b20776974682074686520676976656e2068656164657220616e642072657475726e207468652072756e74696d6520657865637574697665206d6f64652e696e697469616c697a655f626c6f636b205468652060436f7265602072756e74696d65206170692074686174206576657279205375627374726174652072756e74696d65206e6565647320746f20696d706c656d656e742e436f72652052657475726e7320746865206d65746164617461206f6620612072756e74696d652e6d657461646174612049662074686520676976656e206076657273696f6e602069736e277420737570706f727465642c20746869732077696c6c2072657475726e20604e6f6e65602e20557365205b6053656c663a3a6d657461646174615f76657273696f6e73605d20746f2066696e64206f75742061626f757420737570706f72746564206d657461646174612076657273696f6e206f66207468652072756e74696d652e2052657475726e7320746865206d65746164617461206174206120676976656e2076657273696f6e2e6d657461646174615f61745f76657273696f6e20546869732063616e206265207573656420746f2063616c6c20606d657461646174615f61745f76657273696f6e602e2052657475726e732074686520737570706f72746564206d657461646174612076657273696f6e732e6d657461646174615f76657273696f6e732054686520604d65746164617461602061706920747261697420746861742072657475726e73206d6574616461746120666f72207468652072756e74696d652e4d657461646174612f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f696f2f636f72652e727319e0100063000000470000000e0000002b746573745f72756e74696d655f757067726164655f6b65792b2f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f6c69622e7273000000a6e010003f000000dc0100000900000061757261a6e010003f000000700000000100000063756d756c75735f746573745f72756e74696d653c7761736d3a73747269707065643e63756d756c75732d746573742d70617261636861696e000000df6acb689907609b05000000d7bdd8a272ca0d650200000004e70521a0d3d2f801000000dd718d5cc53262d40100000037e397fc7c91f5e402000000bc9d89904f5b923f0100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b010000007dc23ff6bf0f15ca01000000ea93e3f16f3d696203000000695c80446b8b3d4e01000000fbc577b9d747efd601000000a2ddb6a58477bf6301000000000000802fe1100016000000000000802fe11000160000000000008048e110000f00000001000000020000000100000001000000010000002052657475726e7320746865206c6173742074696d657374616d70206f6620612072756e74696d652e6765745f6c6173745f74696d657374616d704765744c61737454696d657374616d70496e76616c696420617267756d656e747320746f206076616c69646174655f626c6f636b602e000000a6e010003f00000080020000010000000000000000000000010000001701000018010000190100000000000000000000010000001701000019010000190100005765696768745265636c61696d4175726145787441757261476c7574746f6e5465737450616c6c65745472616e73616374696f6e5061796d656e745375646f42616c616e63657350617261636861696e496e666f54696d657374616d7050617261636861696e53797374656d53797374656d7375646f3a6301020304536f6d65206572726f7220616c7265616479207265706f7274656420666f7220696e686572656e74202c206e6577206e6f6e20666174616c206572726f722069732069676e6f72656400000064e31000290000008de310002000000072756e74696d653a3a696e686572656e74466174616c206572726f7220616c7265616479207265706f727465642c20756e657870656374656420636f6e7369646572696e67207468657265206973206f6e6c79206f6e6520666174616c206572726f7200d1e3100052000000556e6578706563746564206572726f722066726f6d20607075745f6572726f7260206f7065726174696f6e002ce410002b00000052756e74696d65486f6c64526561736f6e73797374656d70617261636861696e53797374656d70617261636861696e496e666f62616c616e6365737472616e73616374696f6e5061796d656e747465737450616c6c6574676c7574746f6e6175726145787400000071e410000600000077e410000f00000086e410000d00000093e41000080000005ae31000040000009be4100012000000ade410000a000000b7e4100007000000f8e0100004000000bee41000070000007374727563742052756e74696d6547656e65736973436f6e66696752756e74696d6543616c6c52756e74696d654572726f7252756e74696d654576656e7452756e74696d650000000800000008000000080000000400000031000000310000005100000031000000310000003100000052000000310000003100000031000000310000003100000031000000310000002100000011000000110000003100000031000000310000003100000021000000030000000300000003000000080000000300000003000000030000000400000004000000040000000300000003000000030000000300000004000000020000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f62616c616e6365732f7372632f6c69622e72737472616e736665725f616c6c6f775f6465617468666f7263655f7472616e736665727472616e736665725f6b6565705f616c6976657472616e736665725f616c6c666f7263655f756e72657365727665757067726164655f6163636f756e7473666f7263655f7365745f62616c616e6365666f7263655f61646a7573745f746f74616c5f69737375616e63656275726ee29c85206e6f206d6967726174696f6e20666f7220dbe610001500000072756e74696d653a3a6672616d652d737570706f727470616c6c65745f62616c616e6365733a3a70616c6c65742f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f617572612d6578742f7372632f6c69622e727363756d756c75735f70616c6c65745f617572615f6578743a3a70616c6c65746e6578745f6b65792072657475726e65642061206b65792077697468206e6f2076616c75652061742087e71000290000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f6d6f642e72736672616d655f737570706f72743a3a73746f72616765286b65792c2076616c756529206661696c656420746f206465636f6465206174203a200018e810002100000039e8100002000000b8e710004a00000057040000350000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7375646f2f7372632f6c69622e7273005ce810003f000000470100000c000000526571756972655375646f00330100000c00000004000000e1000000656e636f646564206572726f7220697320726573697a656420746f20626520657175616c20746f20746865206d6178696d756d20656e636f646564206572726f722073697a653b207165646475706c69636174652062616c616e63657320696e2067656e657369732e00000013e910001e00000008e61000430000002d020000040000002f2f53656e6465722f2f7b7d617373657274696f6e206661696c65643a20543a3a4163636f756e7453746f72653a3a696e736572742877686f2c0a20202020202020204163636f756e7444617461207b20667265652c202e2e44656661756c743a3a64656661756c742829207d292e69735f6f6b2829000008e61000430000003d020000050000007468652062616c616e6365206f6620616e79206163636f756e742073686f756c6420616c77617973206265206174206c6561737420746865206578697374656e7469616c206465706f7369742e000000d4e910004d00000008e61000430000001f020000050000000100f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e20496e697469616c697a696e6720746865206f6e2d636861696e2073746f726167652076657273696f6e20746f206d61746368207468652073746f726167652076657273696f6e20646566696e656420696e207468652070616c6c65743a2000003eea1000100000004eea1000780000004c6f676963206572726f723a20556e657870656374656420756e646572666c6f7720696e207265647563696e6720636f6e73756d65720000d8ea1000360000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f6c69622e727372756e74696d653a3a73797374656d6672616d655f73797374656d4c6f676963206572726f723a20556e657870656374656420756e646572666c6f7720696e207265647563696e672070726f7669646572000074eb1000360000004c6f676963206572726f723a204163636f756e7420616c72656164792064656164207768656e207265647563696e672070726f7669646572b4eb10003800000018eb100041000000b10300000c000000496e76616c6964537065634e616d655370656356657273696f6e4e65656473546f496e6372656173654661696c6564546f4578747261637452756e74696d6556657273696f6e4e6f6e44656661756c74436f6d706f736974654e6f6e5a65726f526566436f756e7443616c6c46696c74657265644d756c7469426c6f636b4d6967726174696f6e734f6e676f696e674e6f7468696e67417574686f72697a6564556e617574686f72697a65642f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f67656e657261746f722f6d61702e7273b0ec10005400000044000000170000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f676c7574746f6e2f7372632f6c69622e7273000014ed100042000000660000000c000000416c7265616479496e697469616c697a6564496e73616e654c696d697400000008e6100043000000920100000c00000056657374696e6742616c616e63654c69717569646974795265737472696374696f6e73496e73756666696369656e7442616c616e63654578697374656e7469616c4465706f736974457870656e646162696c6974794578697374696e6756657374696e675363686564756c65446561644163636f756e74546f6f4d616e795265736572766573546f6f4d616e79486f6c6473546f6f4d616e79467265657a657349737375616e6365446561637469766174656444656c74615a65726f6163636f756e7420776974682061206e6f6e2d7a65726f20726573657276652062616c616e636520686173206e6f2070726f766964657220726566732c206163636f756e745f69643a2027272e00000054ee10004b0000009fee10000200000072756e74696d653a3a62616c616e636573204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e20557365206f66207265736572766573206973206465707265636174656420696e206661766f7572206f6620686f6c64732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6020486f6c6473206f6e206163636f756e742062616c616e6365732e2054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e20467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e2054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e20416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20557365206f66206c6f636b73206973206465707265636174656420696e206661766f7572206f6620667265657a65732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f60205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e2023204578616d706c65206060606e6f636f6d70696c652020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b2020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e20207d2060606020596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e20202074797065204163636f756e7453746f7265203d2053797374656d20427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f72657320606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e20746865206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e6e756d5f6163636f756e7473206d7573742062652067726561746572207468616e207a65726f9ef310002600000008e6100043000000030500000400000008e610004300000005050000040000007b7d496e76616c69642064657269766174696f6e2c20657870656374656420607b7d602061732070617274206f66207468652064657269766174696f6e000000eef310003b00000008e61000430000000a050000040000004661696c656420746f2070617273652064657269766174696f6e20737472696e673a200044f41000230000004661696c656420746f206465636f6465207075626c6963206b65792066726f6d20706169723a200070f41000270000004661696c656420746f20616464206163636f756e7420746f206b657973746f72653a2000a0f41000230000000000000014000000040000003401000008e61000430000001f050000060000003501000014000000040000003601000008e6100043000000150500000700000020546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d5553542042452047524541544552205448414e205a45524f2120496620796f75202a7265616c6c792a206e65656420697420746f206265207a65726f2c20796f752063616e20656e61626c652074686520666561747572652060696e7365637572655f7a65726f5f65646020666f7220746869732070616c6c65742e20486f77657665722c20796f7520646f20736f20617420796f7572206f776e207269736b3a20746869732077696c6c206f70656e2075702061206d616a6f7220446f5320766563746f722e20496e206361736520796f752068617665206d756c7469706c6520736f7572636573206f662070726f7669646572207265666572656e6365732c20796f75206d617920616c736f2067657420756e6578706563746564206265686176696f757220696620796f7520736574207468697320746f207a65726f2e20426f74746f6d206c696e653a20446f20796f757273656c662061206661766f757220616e64206d616b65206974206174206c65617374206f6e652120546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742e204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e4d61784c6f636b7320546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e4d6178526573657276657320546865206d6178696d756d206e756d626572206f6620696e646976696475616c20667265657a65206c6f636b7320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e4d6178467265657a657320546865206f76657261726368696e6720686f6c6420726561736f6e2e52756e74696d65486f6c64526561736f6e205468652062616c616e6365206f6620616e206163636f756e742e42616c616e636520546865204944207479706520666f722072657365727665732e526573657276654964656e74696669657220546865204944207479706520666f7220667265657a65732e467265657a654964656e74696669657262616c616e6365736465764163636f756e747300008ff810000800000097f810000b00000043616c6c5449436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e000000baf81000430000004572726f7254686520604572726f726020656e756d206f6620746869732070616c6c65742e0000000df91000200000004576656e7454686520604576656e746020656e756d206f6620746869732070616c6c6574000000003df910001f000000456e646f776564447573744c6f73745472616e7366657242616c616e63655365745265736572766564556e72657365727665645265736572766552657061747269617465644465706f7369745769746864726177536c61736865644d696e7465644275726e656453757370656e646564526573746f726564557067726164656449737375656452657363696e6465644c6f636b6564556e6c6f636b656446726f7a656e546861776564546f74616c49737375616e6365466f726365642f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730024fa100067000000f70000000f0000004576656e74546f706963734163636f756e742f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f74797065732f6d61702e72730000aefa100050000000010200000b000000486f6c64735472617368446174615265736572766573467265657a6573426c6f636b486173684c6f636b7345787472696e73696344617461426f756e646564566563626f756e6465645f636f6c6c656374696f6e733a3a626f756e6465645f766563532f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f626f756e6465642d636f6c6c656374696f6e732d302e322e332f7372632f626f756e6465645f7665632e727300000073fb10006e0000007d0200000b0000007374727563742047656e65736973436f6e6669672053657276657320617320636163686520666f722074686520617574686f7269746965732e2054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c20627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e2043757272656e742072656c617920636861696e20736c6f742070616972656420776974682061206e756d626572206f6620617574686f72656420626c6f636b732e2054686973206973207570646174656420696e205b60466978656456656c6f63697479436f6e73656e737573486f6f6b3a3a6f6e5f73746174655f70726f6f66605d2077697468207468652063757272656e742072656c617920636861696e20736c6f742061732070726f7669646564206279207468652072656c617920636861696e2073746174652070726f6f662e4e756d626572206f6620757077617264206d657373616765732073686f756c64206e6f742062652067726561746572207468616e20604d41585f5550574152445f4d4553534147455f4e554d602f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f696d706c656d656e746174696f6e2e72730042fe1000650000001e010000090000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e727300b8fe10004b000000160300000c0000004f7665726c617070696e67557067726164657350726f686962697465644279506f6c6b61646f74546f6f42696756616c69646174696f6e446174614e6f74417661696c61626c65486f7374436f6e66696775726174696f6e4e6f74417661696c61626c654e6f745363686564756c6564330100000c000000040000003701000038010000390100000000000000000000010000001a0100006120446973706c617920696d706c656d656e746174696f6e2072657475726e656420616e206572726f7220756e65787065637465646c792f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e727300e3ff100070000000df0a00000e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e72736400110074000000e1050000140000006400110074000000e1050000210000006400110074000000d5050000210000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300080111006f000000a20000001900000046756e6473556e617661696c61626c654f6e6c7950726f766964657242656c6f774d696e696d756d43616e6e6f74437265617465556e6b6e6f776e4173736574556e737570706f7274656443616e6e6f74437265617465486f6c644e6f74457870656e6461626c65426c6f636b65642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e7273f701110085000000670200002a000000e3ff100070000000ea01000017000000e3ff1000700000008d0500001b0000000000000001000000010000003a0100000000000004000000010000003b0100000000000004000000040000003c0100004d6f64756c654572726f72696e6465786572726f726d6573736167654f7468657243616e6e6f744c6f6f6b75704261644f726967696e4d6f64756c65436f6e73756d657252656d61696e696e674e6f50726f766964657273546f6f4d616e79436f6e73756d657273546f6b656e41726974686d657469635472616e73616374696f6e616c457868617573746564436f7272757074696f6e556e617661696c61626c65526f6f744e6f74416c6c6f776564547269650000000004000000040000003d0100000000000004000000040000003e0100004c61796f757473697a65616c69676e000000000004000000040000003f010000557466384572726f7276616c69645f75705f746f6572726f725f6c656e0000000000000004000000040000004001000046726f6d557466384572726f7262797465734261644261736535384261644c656e677468556e6b6e6f776e5373353841646472657373466f726d6174496e76616c6964436865636b73756d496e76616c6964507265666978496e76616c6964466f726d6174496e76616c696450617468466f726d61744e6f74416c6c6f77656450617373776f72644e6f74416c6c6f7765644e6f6e65536f6d654c696d6974526561636865644e6f4c617965720000004101000014000000040000004201000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e7273000000eb0411005a000000930000002b0000000100000000000000496e76616c6964506872617365496e76616c696450617373776f7264496e76616c696453656564496e76616c6964536565644c656e6774680000000018000000080000004301000000000000040000000400000044010000506f73744469737061746368496e666f61637475616c5f776569676874706179735f6665652f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f636f72652f7372632f63727970746f2e7273dd051100470000005b0100000e000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000102030405060708ffffffffffffff090a0b0c0d0e0f10ff1112131415ff161718191a1b1c1d1e1f20ffffffffffff2122232425262728292a2bff2c2d2e2f30313233343536373839ffffffffff31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797a0000dd0511004700000032010000170000006400110074000000650400002400000053746f7261676556657273696f6e0000000000002000000008000000450100000000000004000000040000004601000044697370617463684572726f7257697468506f7374496e666f706f73745f696e666f000004ec100013ec10002dec10004aec10005dec10006cec100078ec100093ec1000a4ec10000f0000001a0000001d000000130000000f0000000c0000001b000000110000000c00000098ed1000a6ed1000bbed1000ceed1000e0ed1000eded100004ee10000fee10001eee10002aee100038ee10004bee10000e0000001500000013000000120000000d000000170000000b0000000f0000000c0000000e000000130000000900000014ff100027ff10003bff100041ff10005bff100078ff10001300000014000000060000001a0000001d0000000c000000100000000c0000000c0000000c0000000c000000060000000b000000100000000d000000070000008801110098011100a4011100b0011100bc01110005fa1000c8011100d3011100e3011100f0011100080000000800000008000000040000003c7761736d3a73747269707065643e2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273ab0811007d000000b3070000090000004f7074696f6e544e6f6e65536f6d654d756c74694164647265737373705f72756e74696d653a3a6d756c7469616464726573734163636f756e7449644163636f756e74496e6465784964496e64657852617741646472657373333241646472657373323073797369313333387379736931333337e29c85206e6f206d6967726174696f6e20666f7220000000ac091100150000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f7765696768742d7265636c61696d2f7372632f6c69622e727372756e74696d653a3a6672616d652d737570706f727463756d756c75735f70616c6c65745f7765696768745f7265636c61696d3a3a70616c6c65742f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e727363756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a70616c6c6574f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e205468652070616c6c657420686173206e6f20646566696e65642073746f726167652076657273696f6e2c20736f20746865206f6e2d636861696e2076657273696f6e206973206265696e6720696e697469616c697a656420746f202ec20a110010000000d20a110075000000470b110001000000020020646574656374656420696e207468652072756e74696d652e20496e697469616c697a696e6720746865206f6e2d636861696e2073746f726167652076657273696f6e20746f206d61746368207468652073746f726167652076657273696f6e20646566696e656420696e207468652070616c6c65743a200000c20a110010000000620b1100780000004964416d6f756e746672616d655f737570706f72743a3a7472616974733a3a746f6b656e733a3a6d69736342616c616e63655065724469737061746368436c6173736672616d655f737570706f72743a3a646973706174636844696453657456616c69646174696f6e436f64652f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f74797065732f76616c75652e727300590c110052000000280100000b000000417574686f72697a65645570677261646548726d704f7574626f756e644d65737361676573546f74616c49737375616e63654c61737448726d704d7163486561647355706772616465476f41686561644576656e7473417574686f72697469657345787472696e736963436f756e7450726f636573736564446f776e776172644d657373616765734c61737452656c6179436861696e426c6f636b4e756d62657250656e64696e6756616c69646174696f6e436f64655570776172644d6573736167657356616c69646174696f6e4461746155707761726444656c6976657279466565466163746f724e756d6265724e657756616c69646174696f6e436f6465496e61637469766549737375616e6365526573657276656458636d705765696768744f766572726964655570677261646564546f547269706c65526566436f756e744c656e67746844696455706461746552656c6576616e744d6573736167696e6753746174655570677261646564546f553332526566436f756e74506172656e744861736845787472696e7369635765696768745265636c61696d6564557067726164655265737472696374696f6e5369676e616c416e6e6f756e63656448726d704d6573736167657350657243616e646964617465486f7374436f6e66696775726174696f6e4c61737452756e74696d655570677261646552656c6179537461746550726f6f66457865637574696f6e506861736553746f7261676541676772656761746564556e696e636c756465645365676d656e7450656e64696e675570776172644d65737361676573547261736844617461436f756e7453746f7261676556657273696f6e556e696e636c756465645365676d656e74437573746f6d56616c69646174696f6e48656164446174614469676573745265736572766564446d705765696768744f7665727269646543757272656e74536c6f74496e686572656e74734170706c6965644e6f774e6578744665654d756c7469706c696572426c6f636b5765696768744576656e74436f756e7450617261636861696e496452656c6179536c6f74496e666f416c6c45787472696e736963734c656e4b65794c617374446d714d716348656164436f6d7075746548726d7057617465726d61726b2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730000ff0f110067000000f70000000f0000004e6f64652d7369646520506f562073697a6520686967686572207468616e2072756e74696d652070726f6f662073697a65207765696768742e206e6f64652d736964653a202065787472696e7369635f6c656e3a202072756e74696d653a202c206d697373696e673a202e2053657474696e6720746f206e6f64652d736964652070726f6f662073697a652e7810110045000000bd10110010000000cd1011000a000000d71011000b000000e21011002200000072756e74696d653a3a73746f726167655f7265636c61696d5f70616c6c657463756d756c75735f70616c6c65745f7765696768745f7265636c61696d7374727563742047656e65736973436f6e6669674d697373696e67207265717569726564207365745f76616c69646174696f6e5f6461746120696e686572656e742e205468697320696e686572656e74206d7573742062650a0909090970726573656e7420696e20657665727920626c6f636b2e2054686973206572726f72207479706963616c6c79206f6363757273207768656e20746865207365745f76616c69646174696f6e5f646174610a09090909657865637574696f6e206661696c656420616e64207761732072656a65637465642062792074686520626c6f636b206275696c6465722e20436865636b206561726c696572206c6f6720656e74726965730a09090909666f7220746865207370656369666963206361757365206f6620746865206661696c7572652e0000500a11004b000000450100002900000000000000100000000400000058010000756e696e636c75646564207365676d656e74206c696d6974732065786365656465640000500a11004b000000e601000007000000500a11004b0000009801000021000000500a11004b000000990100000e0000002050616c6c657420746f2075736520616c6f6e677369646520746865207472616e73616374696f6e20657874656e73696f6e205b6053746f726167655765696768745265636c61696d605d2c207468652070616c6c65742070726f76696465732077656967687420696e666f726d6174696f6e20616e642062656e63686d61726b732e416e636573746f7263756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a756e696e636c756465645f7365676d656e74485365676d656e74547261636b65722f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f756e696e636c756465645f7365676d656e742e727300d91311005a00000074010000040000002054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e20617320706572207468652072656c617920706172656e742e2054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e20546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e20546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d657373616765732063617272696564206279207468652073797374656d20696e686572656e742e205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e2054686973206973207570646174656420696e20606f6e5f66696e616c697a65602e20546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e20416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e20496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365642063616e6469646174652077696c6c20626520696e76616c69642e20546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468652072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c7565206973207365742061667465722074686520696e686572656e742e205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e20546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f7220616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e2057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f2053746f72616765206669656c642074686174206b6565707320747261636b206f662062616e64776964746820757365642062792074686520756e696e636c75646564207365676d656e7420616c6f6e67207769746820746865206c61746573742048524d502077617465726d61726b2e205573656420666f72206c696d6974696e672074686520616363657074616e6365206f66206e657720626c6f636b732077697468207265737065637420746f2072656c617920636861696e20636f6e73747261696e74732e205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e20546869732056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e6420636f6e73657175656e746c79207468652072656c61792d636861696e2e20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c726561647920736574207468652076616c75652e204c617465737420696e636c7564656420626c6f636b2064657363656e64616e7473207468652072756e74696d652061636365707465642e20496e206f7468657220776f7264732c2074686573652061726520616e636573746f7273206f66207468652063757272656e746c7920657865637574696e6720626c6f636b2077686963682068617665206e6f74206265656e20696e636c7564656420696e20746865206f627365727665642072656c61792d636861696e2073746174652e20546865207365676d656e74206c656e677468206973206c696d69746564206279207468652063617061636974792072657475726e65642066726f6d20746865205b60436f6e73656e737573486f6f6b605d20636f6e6669677572656420696e207468652070616c6c65742e20557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e6420746f207468652072656c617920636861696e2e2048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e2054686520666163746f7220746f206d756c7469706c792074686520626173652064656c69766572792066656520627920666f7220554d502e20546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e20546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e63652070657220626c6f636b20616e642069742773206e657665722073746f72656420696e2074686520747269652e20496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e20417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b73705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f44455d2077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e20536565206050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f646174616020666f72206d6f726520696e666f726d6174696f6e2e2048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e204f7074696f6e616c207570677261646520676f2d6168656164207369676e616c2066726f6d207468652072656c61792d636861696e2e2052657475726e73207468652070617261636861696e204944207765206172652072756e6e696e6720776974682e53656c6650617261496443616c6c436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ec5211100430000007365745f76616c69646174696f6e5f646174617375646f5f73656e645f7570776172645f6d6573736167654572726f7254686520604572726f726020656e756d206f6620746869732070616c6c65742e40221100200000004f7665726c617070696e67557067726164657350726f686962697465644279506f6c6b61646f74546f6f42696756616c69646174696f6e446174614e6f74417661696c61626c65486f7374436f6e66696775726174696f6e4e6f74417661696c61626c654e6f745363686564756c65644576656e7454686520604576656e746020656e756d206f6620746869732070616c6c657400000000dd2211001f00000056616c69646174696f6e46756e6374696f6e53746f72656456616c69646174696f6e46756e6374696f6e4170706c69656456616c69646174696f6e46756e6374696f6e446973636172646564446f776e776172644d657373616765735265636569766564446f776e776172644d6573736167657350726f6365737365645570776172644d65737361676553656e74696e636c756465642068656164206e6f742070726573656e7420696e2072656c61792073746f726167652070726f6f6600009623110030000000500a11004b0000003705000015000000657870656374656420706172656e7420746f20626520696e636c756465640000e02311001e000000500a11004b00000029050000050000006e6f207370616365206c65667420666f722074686520626c6f636b20696e2074686520756e696e636c75646564207365676d656e740000001824110035000000500a11004b000000610500000300000064726f707065642070617274206f6620746865207365676d656e74207761736e277420656d7074792c2068656e63652076616c7565206578697374733b20716564000000500a11004b000000500500001d0000007061726120686561642068617368206973207570646174656420647572696e6720626c6f636b20696e697469616c697a6174696f6e3b207165640000500a11004b0000004405000009000000500a11004b000000b204000003000000617373657274696f6e206661696c65643a206375725f68656164203d3d207461726765745f68656164000000500a11004b0000000d05000004000000617373657274696f6e206661696c65643a20696e67726573735f6368616e6e656c732e62696e6172795f7365617263685f62795f6b65792873656e6465722c207c2628732c205f297c2073292e69735f6f6b2829500a11004b000000ce040000040000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300b82511006f000000a2000000190000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e72733826110084000000160200002f0000003826110084000000a100000024000000536c6f745965734e6f0000005901000048000000080000005a0100005b0100003a6368696c645f73746f726167653a64656661756c743a2f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f636f6465632e72730000132711004b00000062000000130000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f747269655f636f6465632e727300007027110062000000fe0100000b00000070271100620000000e020000180000007027110062000000a2010000120000007265717569726564206279206d6574686f6420707265636f6e646974696f6e3b207165647027110062000000a20100001600000070271100620000005801000014000000702711006200000065010000150000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6974657261746f722e7273582811006000000087000000100000007765277665206a757374206665746368656420746865206c61737420656c656d656e74207573696e6720606c6173745f6d75746020736f20746869732063616e6e6f74206661696c3b207165640000005828110060000000c90100001c0000004372756d623a3a7374657020616e64205472696544424e6f64654974657261746f722061726520696d706c656d656e74656420736f2074686174207468652061626f76652061726d732061726520746865206f6e6c7920706f737369626c652073746174657300005828110060000000df0100000a00000058281100600000008c010000170000005828110060000000650100001d0000005828110060000000590000001f00000064657363656e64207075736865732061206372756d62206f6e746f2074686520747261696c3b20746875732074686520747261696c206973206e6f6e2d656d7074793b20716564005828110060000000a6000000270000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6962626c652f6d6f642e72730000282a11006200000049000000160000005828110060000000230100001000000058281100600000007d00000005000000756c6c6120646566656e73697665206661696c75726520686173206265656e207472696767657265643b20706c65617365207265706f72742074686520626c6f636b206e756d6265722061742068747470733a2f2f6769746875622e636f6d2f706172697479746563682f706f6c6b61646f742d73646b2f6973737565730000bf2a11007b0000003a2000000100000000000000442b1100020000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f7472616974732f6d6973632e727372756e74696d653a3a646566656e736976656672616d655f737570706f72743a3a7472616974733a3a6d69736300010000000000000063756d756c75732d746573742d70617261636861696e0000df6acb689907609b05000000d7bdd8a272ca0d650200000004e70521a0d3d2f801000000dd718d5cc53262d40100000037e397fc7c91f5e402000000bc9d89904f5b923f0100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b010000007dc23ff6bf0f15ca01000000ea93e3f16f3d696203000000695c80446b8b3d4e01000000fbc577b9d747efd601000000a2ddb6a58477bf630100000000000080d82b11001600000000000080d82b11001600000000000080f02b11000f000000010000000200000001000000010000000100000042616420696e70757420646174612070726f766964656420746f2076657273696f6e3a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e0000dc2c11005a0000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f6c69622e727300402d11003f000000eb0100000100000042616420696e70757420646174612070726f766964656420746f20657865637574655f626c6f636b3a200000902d11002a00000042616420696e70757420646174612070726f766964656420746f20696e697469616c697a655f626c6f636b3a20000000c42d11002d00000042616420696e70757420646174612070726f766964656420746f2063616e5f6275696c645f75706f6e3a2000fc2d11002b00000042616420696e70757420646174612070726f766964656420746f2072656c61795f706172656e745f6f66667365743a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e0000302e11006600000042616420696e70757420646174612070726f766964656420746f20736c6f745f6475726174696f6e3a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792ea02e11006000000042616420696e70757420646174612070726f766964656420746f20617574686f7269746965733a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e0000082f11005e00000042616420696e70757420646174612070726f766964656420746f206d657461646174613a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e00702f11005b00000042616420696e70757420646174612070726f766964656420746f206d657461646174615f61745f76657273696f6e3a20d42f11003000000042616420696e70757420646174612070726f766964656420746f206d657461646174615f76657273696f6e733a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e0c3011006400000042616420696e70757420646174612070726f766964656420746f206163636f756e745f6e6f6e63653a200000783011002a00000042616420696e70757420646174612070726f766964656420746f206170706c795f65787472696e7369633a20ac3011002c00000042616420696e70757420646174612070726f766964656420746f2066696e616c697a655f626c6f636b3a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e000000e03011006100000042616420696e70757420646174612070726f766964656420746f20696e686572656e745f65787472696e736963733a204c3111003000000042616420696e70757420646174612070726f766964656420746f20636865636b5f696e686572656e74733a20843111002c00000042616420696e70757420646174612070726f766964656420746f2076616c69646174655f7472616e73616374696f6e3a20000000b83111003100000042616420696e70757420646174612070726f766964656420746f206f6666636861696e5f776f726b65723a20f43111002c00000042616420696e70757420646174612070726f766964656420746f206465636f64655f73657373696f6e5f6b6579733a20283211003000000042616420696e70757420646174612070726f766964656420746f2067656e65726174655f73657373696f6e5f6b6579733a200000603211003200000042616420696e70757420646174612070726f766964656420746f206765745f6c6173745f74696d657374616d703a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e0000009c3211006500000042616420696e70757420646174612070726f766964656420746f20636f6c6c6563745f636f6c6c6174696f6e5f696e666f3a20000c3311003300000042616420696e70757420646174612070726f766964656420746f20636f72655f73656c6563746f723a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e483311006000000042616420696e70757420646174612070726f766964656420746f206275696c645f73746174653a20b03311002800000042616420696e70757420646174612070726f766964656420746f206765745f7072657365743a2000e03311002700000042616420696e70757420646174612070726f766964656420746f207072657365745f6e616d65733a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e00103411005f00000042616420696e70757420646174612070726f766964656420746f2070617261636861696e5f69643a206578706563746564206e6f20706172616d65746572732c2062757420696e70757420627566666572206973206e6f7420656d7074792e00783411005f00000005000000010000000100000008000000080000000800000004000000e29c85206e6f206d6967726174696f6e20666f7220000000fc341100150000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f617572612f7372632f6c69622e727372756e74696d653a3a6672616d652d737570706f727470616c6c65745f617572613a3a70616c6c65742f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7375646f2f7372632f6c69622e727370616c6c65745f7375646f3a3a70616c6c65742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727342547265654d61704b562f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f7365722e72730000473611005f0000003008000033000000473611005f0000002308000040000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f6465473611005f0000000d0600001200000066616c73655c225c5c5c625c665c6e5c725c742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273001337110084000000ad00000024000000f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e205468652070616c6c657420686173206e6f20646566696e65642073746f726167652076657273696f6e2c20736f20746865206f6e2d636861696e2076657273696f6e206973206265696e6720696e697469616c697a656420746f202e0000a837110010000000b8371100750000002d381100010000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70617261636861696e732f70616c6c6574732f70617261636861696e2d696e666f2f7372632f6c69622e727373746167696e675f70617261636861696e5f696e666f3a3a70616c6c65742f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7472616e73616374696f6e2d7061796d656e742f7372632f6c69622e727370616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a70616c6c65746175726100001c3511003f000000630100001800000054696d657374616d7020736c6f74206d757374206d61746368206043757272656e74536c6f74602e2054686973206c696b656c79206d65616e7320746861742074686520636f6e6669677572656420626c6f636b2074696d6520696e20746865206e6f646520616e642f6f722072657374206f66207468652072756e74696d65206973206e6f7420636f6d70617469626c652077697468204175726127732060536c6f744475726174696f6e6000000040391100ad0000001c3511003f000000900100000300000000000000080000000400000068010000496e697469616c20617574686f7269747920736574206d757374206265206c657373207468616e20543a3a4d6178417574686f7269746965730000001c3511003f000000de00000006000000417574686f7269746965732061726520616c726561647920696e697469616c697a656421643a1100240000001c3511003f000000dc00000004000000205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e20546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e205468652063757272656e7420617574686f72697479207365742e2054686520736c6f74206475726174696f6e20417572612073686f756c642072756e20776974682c2065787072657373656420696e206d696c6c697365636f6e64732e20546865206566666563746976652076616c7565206f66207468697320747970652073686f756c64206e6f74206368616e6765207768696c652074686520636861696e2069732072756e6e696e672e20466f72206261636b776172647320636f6d7061746962696c6974792065697468657220757365205b604d696e696d756d506572696f6454696d657354776f605d206f72206120636f6e73742e536c6f744475726174696f6e20546865206964656e746966696572207479706520666f7220616e20617574686f726974792e417574686f726974794964617574686f726974696573001c3c11000b0000002054686520604163636f756e74496460206f6620746865207375646f206b65792e2041207375646f2d61626c652063616c6c2e52756e74696d6543616c6c43616c6c54436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e0000733c1100430000007375646f7375646f5f756e636865636b65645f7765696768747365745f6b65797375646f5f617372656d6f76655f6b65794572726f724572726f7220666f7220746865205375646f2070616c6c65742ef63c11001a000000526571756972655375646f4576656e7454686520604576656e746020656e756d206f6620746869732070616c6c657400283d11001f00000053756469644b65794368616e6765644b657952656d6f7665645375646f4173446f6e656b65790000733d110003000000426172655369676e6564282c20290000843d1100070000008b3d1100020000008d3d11000100000047656e6572616c28a83d1100080000008b3d1100020000008d3d1100010000004163636f756e744461746170616c6c65745f62616c616e6365733a3a747970657342616c616e636542616c616e63654c6f636b5265736572766544617461526573657276654964656e746966696572556e636865636b656445787472696e73696373705f72756e74696d653a3a67656e657269633a3a756e636865636b65645f65787472696e736963416464726573735369676e617475726545787472612f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f756e636865636b65645f65787472696e7369632e7273000000663e11005f000000e001000014000000d635110067000000f70000000f0000007374727563742047656e65736973436f6e66696770617261636861696e496400fc3e11000b0000006d756c7469706c6965720000103f11000a0000004f7574626f756e6448726d704d657373616765706f6c6b61646f745f636f72655f7072696d69746976657349640000001c3511003f0000008d0000001c000000536c6f74206d757374206e6f742064656372656173650000643f1100160000001c3511003f0000008500000006000000204120666565206d756c7469706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f737420746865697220607072696f726974796020546869732076616c7565206973206d756c7469706c69656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c6174657220616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c602065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e20606060727573742c69676e6f7265202f2f20466f7220604e6f726d616c60206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b202f2f20466f7220604f7065726174696f6e616c60206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723b206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b20606060204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970602073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d70206261736564206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c60207472616e73616374696f6e732e4f7065726174696f6e616c4665654d756c7469706c6965725472616e73616374696f6e466565506169642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000344311007d000000b30700000900000030303031303230333034303530363037303830393130313131323133313431353136313731383139323032313232323332343235323632373238323933303331333233333334333533363337333833393430343134323433343434353436343734383439353035313532353335343535353635373538353936303631363236333634363536363637363836393730373137323733373437353736373737383739383038313832383338343835383638373838383939303931393239333934393539363937393839392f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273008c4411006f000000a2000000190000001337110084000000c6000000270000001337110084000000160200002f0000001337110084000000a1000000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e72730000003c451100710000002a02000011000000000000000800000008000000690100000000000004000000040000006a0100005765696768747265665f74696d6570726f6f665f73697a65496e76616c69645374617465526f6f74496e636f6d706c657465446174616261736556616c75654174496e636f6d706c6574654b65794465636f6465724572726f72496e76616c6964486173684475706c69636174654b657945787472616e656f75734e6f646545787472616e656f757356616c756545787472616e656f7573486173685265666572656e6365496e76616c69644368696c645265666572656e636556616c75654d69736d61746368496e636f6d706c65746550726f6f66526f6f744d69736d617463684465636f64654572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f76616c75652f7365722e72730000cd461100650000004f01000012000000473611005f0000007d02000028000000473611005f000000a202000028000000473611005f000000fa01000028000000473611005f00000008020000280000000000000004000000040000006b01000053746f7261676556657273696f6e2473657264655f6a736f6e3a3a707269766174653a3a4e756d6265725373353841646472657373466f726d61747072656669782f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702e7273d54711007f000000fa0000003f000000d54711007f0000001f0100002e00000062616c616e6365732f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f67656e657369735f636f6e6669675f707265736574732e727300007c481100520000002100000005000000d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d70617261636861696e5f696470617261636861696e5f696e666f00006c01000004000000040000006d01000073657269616c697a6174696f6e20746f206a736f6e2073686f756c6420776f726b2e207165648eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4890b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20e659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e1cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07cbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25ffe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625e860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c8ac59e11963af19174d0b94d5d78041c233f55d2e19324665bafdfb62925af2d101191192fc877c24d725b337120fa3edc63d227bbc92705db1e2cb65f56981aac859f8a216eeb1b320b4c76d118da3d7407fa523484d0a980126d3b4d0d220a1254f7017f0b8347ce7ab14f96d818802e7e9e0c0d1b7c9acb3c726b080e7a03646576656c6f706d656e746c6f63616c5f746573746e657473657269616c697a6174696f6e20746f206a736f6e20697320657870656374656420746f20776f726b2e207165642e0000007c48110052000000450000000e0000001000000012000000140000000c0000000b0000000c0000000e0000000f00000017000000150000000d0000000f0000000c0000000b000000f8451100084611001a4611002e4611003a46110045461100514611005f4611006e461100854611009a461100a7461100b6461100c2461100080000000800000008000000040000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f626f7865642f636f6e766572742e727300cc4b1100770000005200000013000000426c6f636b73705f72756e74696d653a3a67656e657269633a3a626c6f636b48656164657245787472696e736963466f756e64206d756c7469706c652041755261207365616c20646967657374730000824c1100200000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f617572612d6578742f7372632f6c69622e727300ac4c1100430000008b000000180000003a5f5f53544f524147455f56455253494f4e5f5f3a2f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f747269655f63616368652e72730000154d1100610000007200000033000000154d1100610000007500000020000000154d1100610000007d0000003e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300a84d110067000000f70000000f000000ffffffffffffffff204e11000000000000000000000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300384e11006f000000a200000019000000384e11006f0000008b0000001b0000000000000000000000010000007501000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f72632e727300034f11006c00000059080000290000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f6d6f642e7273000000804f1100710000003d0a000024000000384e11006f00000096030000090000004c61796f75744572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f6465636f64652e72730000001f5011005a0000006b0000001e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e727300008c5011005a000000410000001e0000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6e6f64655f636f6465632e727300f85011004b0000001d010000130000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6962626c652f6e6962626c657665632e72735451110068000000160100000f00000054511100680000000d01000010000000545111006800000011010000100000005451110068000000110100002a000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a204e6f20657874656e73696f6e20636f6465632e000000fc5111003d000000f85011004b000000df00000003000000f85011004b0000007600000028000000f85011004b0000007c00000026000000f85011004b000000a300000028000000f85011004b000000d80000000300000000000000f85011004b0000000e01000009000000f85011004b000000f40000002a000000f85011004b000000070100001a0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f697465722e727300c852110073000000f405000015000000080000000800000008000000040000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f6c69622e727372656d61726b7365745f686561705f70616765737365745f636f64657365745f636f64655f776974686f75745f636865636b737365745f73746f726167656b696c6c5f73746f726167656b696c6c5f70726566697872656d61726b5f776974685f6576656e74617574686f72697a655f75706772616465617574686f72697a655f757067726164655f776974686f75745f636865636b736170706c795f617574686f72697a65645f757067726164656120646566656e73697665206661696c75726520686173206265656e207472696767657265643b20706c65617365207265706f72742074686520626c6f636b206e756d6265722061742068747470733a2f2f6769746875622e636f6d2f706172697479746563682f706f6c6b61646f742d73646b2f697373756573004c5411007b0000003a2000000100000000000000d0541100020000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f7472616974732f6d6973632e72730000e45411004a0000002d0100000500000072756e74696d653a3a646566656e736976656672616d655f737570706f72743a3a7472616974733a3a6d69736353746f726167655765696768745265636c61696d3c7761736d2d73747269707065643e74696d737461703054696d657374616d7020696e686572656e742064617461206d7573742062652070726f76696465642f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f74696d657374616d702f7372632f6c69622e7273c0551100440000003d010000060000000000000009000000010000008901000054696d657374616d7020696e686572656e742064617461206e6f7420636f72726563746c7920656e636f646564000000c0551100440000003c01000006000000c0551100440000002701000006000000c0551100440000002601000006000000e29c85206e6f206d6967726174696f6e20666f7220000000845611001500000072756e74696d653a3a6672616d652d737570706f72746672616d655f73797374656d3a3a70616c6c657470616c6c65745f74696d657374616d703a3a70616c6c6574526573756c7454454f6b4572724368617267655472616e73616374696f6e5061796d656e743a65787472696e7369635f696e646578f09f90a5204e65772070616c6c65742020646574656374656420696e207468652072756e74696d652e205468652070616c6c657420686173206e6f20646566696e65642073746f726167652076657273696f6e2c20736f20746865206f6e2d636861696e2076657273696f6e206973206265696e6720696e697469616c697a656420746f202e0000001b571100100000002b57110075000000a0571100010000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f62616c616e6365732f7372632f6c69622e72732f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f6c69622e72736672616d655f73797374656d3a3a696e697469616c697a653a696e747261626c6f636b5f656e74726f70795b5d202065787472696e736963732c206c656e6774683a2020286e6f726d616c20252c206f703a20252c206d616e6461746f7279202529202f206e6f726d616c207765696768743a20287265665f74696d653a20252c2070726f6f665f73697a653a202529206f70207765696768742020287265665f74696d6520252c2070726f6f665f73697a65202529202f206d616e6461746f72792077656967687420252900007558110001000000765811000200000078581100150000008d5811000900000096581100070000009d5811000d000000aa58110013000000bd5811000c000000c95811000f000000d85811000d000000e55811000b000000f05811000e000000fe58110016000000bd5811000c000000c95811000f000000145911000200000072756e74696d653a3a73797374656d6672616d655f73797374656d45787472696e736963206661696c656420617420626c6f636b28293a20b35911001a000000cd591100030000005573656420626c6f636b207765696768743a2000e0591100130000005573656420626c6f636b206c656e6774683a2000fc591100130000003a636f64652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300001d5a11007d000000b3070000090000000000000000000000010000008a0100004e6f646520697320636f6e6669677572656420746f20757365207468652073616d6520686173683b207165645c53110041000000e2070000050000003a6865617070616765732048617368206f66207468652070726576696f757320626c6f636b2e2054686520657865637574696f6e207068617365206f662074686520626c6f636b2e20446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e2060536f6d6560206966206120636f6465207570677261646520686173206265656e20617574686f72697a65642e205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e2045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2e20497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e2054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c7365202864656661756c7429206966206e6f742e2053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e2054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e20546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e2054686520776569676874207265636c61696d656420666f72207468652065787472696e7369632e205468697320696e666f726d6174696f6e20697320617661696c61626c6520756e74696c2074686520656e64206f66207468652065787472696e73696320657865637574696f6e2e204d6f726520707265636973656c79207468697320696e666f726d6174696f6e2069732072656d6f76656420696e20606e6f74655f6170706c6965645f65787472696e736963602e204c6f67696320646f696e6720736f6d6520706f73742064697370617463682077656967687420726564756374696f6e206d7573742075706461746520746869732073746f7261676520746f2061766f6964206475706c696361746520726564756374696f6e2e20546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e205468652063757272656e742077656967687420666f722074686520626c6f636b2e205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e6465786573206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e20416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e205468697320616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e6420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e205468652076616c756520686173207468652074797065206028426c6f636b4e756d626572466f723c543e2c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573742074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e20546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e205768657468657220616c6c20696e686572656e74732068617665206265656e206170706c6965642e20426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e426c6f636b5765696768747320546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e426c6f636b4c656e677468204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e426c6f636b48617368436f756e742054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e4462576569676874204765742074686520636861696e277320696e2d636f64652076657273696f6e2e56657273696f6e205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e2054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e2069732074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f6620697420617320616e206964656e746966696572206f662074686520636861696e2e53533538507265666978205468652061676772656761746564206052756e74696d6543616c6c6020747970652e52756e74696d6543616c6c20546869732073746f72657320746865206e756d626572206f662070726576696f7573207472616e73616374696f6e73206173736f636961746564207769746820612073656e646572206163636f756e742e4e6f6e636520546865206f7574707574206f6620746865206048617368696e67602066756e6374696f6e2e48617368205468652068617368696e672073797374656d2028616c676f726974686d29206265696e67207573656420696e207468652072756e74696d652028652e672e20426c616b6532292e48617368696e67205468652075736572206163636f756e74206964656e746966696572207479706520666f72207468652072756e74696d652e4163636f756e7449642054686520426c6f636b20747970652075736564206279207468652072756e74696d652e205468697320697320757365642062792060636f6e7374727563745f72756e74696d656020746f207265747269657665207468652065787472696e73696373206f72206f7468657220626c6f636b2073706563696669632064617461206173206e65656465642e426c6f636b204461746120746f206265206173736f636961746564207769746820616e206163636f756e7420286f74686572207468616e206e6f6e63652f7472616e73616374696f6e20636f756e7465722c20776869636820746869732070616c6c657420646f6573207265676172646c657373292e4163636f756e744461746143616c6c436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e00000000a1671100430000004572726f724572726f7220666f72207468652053797374656d2070616c6c6574f56711001b000000496e76616c6964537065634e616d655370656356657273696f6e4e65656473546f496e6372656173654661696c6564546f4578747261637452756e74696d6556657273696f6e4e6f6e44656661756c74436f6d706f736974654e6f6e5a65726f526566436f756e7443616c6c46696c74657265644d756c7469426c6f636b4d6967726174696f6e734f6e676f696e674e6f7468696e67417574686f72697a6564556e617574686f72697a65644576656e744576656e7420666f72207468652053797374656d2070616c6c65742e000000c96811001c00000045787472696e7369635375636365737345787472696e7369634661696c6564436f6465557064617465644e65774163636f756e744b696c6c65644163636f756e7452656d61726b656455706772616465417574686f72697a656452656a6563746564496e76616c6964417574686f72697a6564557067726164652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c69622e727300006a691100600000008e000000080000006a6911006000000092000000060000006a6911006000000092000000130000006a6911006000000075000000050000006a6911006000000075000000120000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f656e7669726f6e6d656e74616c2d312e312e342f7372632f6c6f63616c5f6b65792e727300001c6a11006600000021000000110000001c6a11006600000023000000100000001c6a1100660000002800000012000000446566656e736976656c792062756d70696e67206120636f6e73756d6572207265662e00b46a11002300000072756e74696d653a3a62616c616e63657370616c6c65745f62616c616e6365733a3a70616c6c6574617373657274696f6e206661696c65643a206163636f756e742e667265652e69735f7a65726f2829207c7c206163636f756e742e66726565203e3d206564207c7c20216163636f756e742e72657365727665642e69735f7a65726f2829000000bc571100430000004f040000060000002057686574686572207468652074696d657374616d7020686173206265656e207570646174656420696e207468697320626c6f636b2e20546869732076616c7565206973207570646174656420746f206074727565602075706f6e207375636365737366756c207375626d697373696f6e206f6620612074696d657374616d702062792061206e6f64652e204974206973207468656e20636865636b65642061742074686520656e64206f66206561636820626c6f636b20657865637574696f6e20696e2074686520606f6e5f66696e616c697a656020686f6f6b2e205468652063757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e20546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e2042652061776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20466f72206578616d706c652c20696e2074686520417572612070616c6c65742069742077696c6c20626520646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e4d696e696d756d506572696f642054797065207573656420666f722065787072657373696e6720612074696d657374616d702e4d6f6d656e7454696d657374616d70206d75737420696e6372656d656e74206279206174206c65617374203c4d696e696d756d506572696f643e206265747765656e2073657175656e7469616c20626c6f636b7300f16d11004e000000c055110044000000080100000400000054696d657374616d70206d7573742062652075706461746564206f6e6c79206f6e636520696e2074686520626c6f636b586e110030000000c0551100440000000601000004000000736574536c6f74206d6f766564206261636b77617264733a2073746f7265645f736c6f743d2c2072656c61795f636861696e5f736c6f743da36e110022000000c56e1100130000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f617572612d6578742f7372632f636f6e73656e7375735f686f6f6b2e72730000e86e11004e000000520000000500000050617261636861696e20736c6f7420697320746f6f2066617220696e20746865206675747572653a2070617261636861696e5f736c6f743d2c20646572697665645f66726f6d5f72656c61795f736c6f743d2076656c6f636974793d486f110038000000806f11001a0000009a6f11000a000000c56e110013000000e86e11004e0000006900000004000000617574686f72656420626c6f636b73206c696d6974206973207265616368656420666f722074686520736c6f743a2072656c61795f636861696e5f736c6f743d2c20617574686f7265643d2c2076656c6f636974793d0000d46f110040000000147011000b0000001f7011000b000000e86e11004e0000005900000004000000000000000c000000040000008b0100006661696c656420746f20726561642072656c617920636861696e20736c6f7400e86e11004e0000004c000000320000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273009470110067000000f70000000f0000007374727563742047656e65736973436f6e66696750726f6f66207265636f7264696e6720656e61626c656420647572696e6720707265706172652c206e6f772064697361626c65642e20546869732073686f756c64206e6f742068617070656e2e5265636c61696d696e672073746f72616765207765696768742e2062656e63686d61726b65643a202c0a09090909636f6e73756d65643a200000006d7111002800000095711100100000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f7765696768742d7265636c61696d2f7372632f6c69622e7273000000b871110049000000e30000000400000072756e74696d653a3a73746f726167655f7265636c61696d5f70616c6c657463756d756c75735f70616c6c65745f7765696768745f7265636c61696d42656e63686d61726b65642073746f726167652077656967687420736d616c6c6572207468616e20636f6e73756d65642073746f72616765207765696768742e2062656e63686d61726b65643a2020636f6e73756d65643a20000000507211004e0000009e7211000b000000b871110049000000dd0000000400000053746f726167655765696768745265636c61696db871110049000000890000000900000054696d657374616d70206d7573742062652075706461746564206f6e636520696e2074686520626c6f636b00f07211002b000000c055110044000000e60000000400000070616c6c65745f7472616e73616374696f6e5f7061796d656e742f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f7472616e73616374696f6e2d7061796d656e742f7372632f6c69622e7273626f756e6465645f776569676874206973206e6f6e2d7a65726f3b20716564004e7311004e00000022030000210000008c0100008c0100008c0100008c0100008c0100008c0100008c0100008c0100008d0100008c0100008c0100008c010000532f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f696d706c656d656e746174696f6e2e7273496e76616c69642072656c617920636861696e2073746174652070726f6f66000000fd73110065000000de000000060000000000000000000000010000008e0100004e756d626572206f6620686f72697a6f6e74616c206d657373616765732073686f756c64206e6f742062652067726561746572207468616e20604d41585f484f52495a4f4e54414c5f4d4553534147455f4e554d60000000fd73110065000000240100005b000000000000000c000000040000008f010000900100009101000092010000930100009401000095010000960100009701000098010000990100009a0100009b0100009c0100009d0100009e0100009f010000a0010000a1010000a2010000a3010000a4010000a5010000a6010000a7010000a8010000a9010000aa010000ab010000ac010000ad010000ae010000af010000b0010000b1010000b2010000b3010000000000000c000000040000008f010000900100009101000092010000b4010000b5010000b6010000b70100009701000098010000990100009a010000b8010000b9010000ba010000bb010000bc010000bd010000be010000a2010000a3010000bf010000c0010000c1010000a7010000a8010000a9010000aa010000ab010000c2010000c3010000c4010000c5010000b0010000b1010000c6010000c7010000ff5711004b000000b5020000050000004e6f206e65772076616c69646174696f6e2066756e6374696f6e20666f756e6420696e2073746f726167652c20476f4168656164207369676e616c206973206e6f74206578706563746564005c7611004b000000ff5711004b000000bc02000006000000496e76616c6964206d6573736167696e6720737461746520696e2072656c617920636861696e2073746174652070726f6f660000ff5711004b000000db02000006000000496e76616c696420686f737420636f6e66696775726174696f6e20696e2072656c617920636861696e2073746174652070726f6f66000000ff5711004b000000d702000006000000496e76616c69642075706772616465207265737472696374696f6e207369676e616c0000ff5711004b000000d102000007000000496e76616c6964207570677261646520676f206168656164207369676e616c00ff5711004b000000ad02000006000000ff5711004b000000860200000500000056616c69646174696f6e44617461206d7573742062652075706461746564206f6e6c79206f6e636520696e206120626c6f636b00c077110033000000ff5711004b000000640200000400000028290000000000000400000004000000c8010000000000000400000004000000c9010000000000000400000004000000ca010000000000000400000004000000cb0100002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300507811006f000000a200000019000000000000000400000004000000cc010000496e686572656e74446174614578697374734465636f64696e674661696c6564466174616c4572726f725265706f7274656400000000000004000000040000006a010000536c6f744f7468657243616e6e6f744c6f6f6b75704261644f726967696e4d6f64756c65436f6e73756d657252656d61696e696e674e6f50726f766964657273546f6f4d616e79436f6e73756d657273546f6b656e41726974686d657469635472616e73616374696f6e616c457868617573746564436f7272757074696f6e556e617661696c61626c65526f6f744e6f74416c6c6f77656454726965000000000800000008000000cd0100005765696768747265665f74696d6570726f6f665f73697a656a691100600000006300000015000000496453746f7261676556657273696f6e000000001000000008000000ce010000000000000400000004000000cf0100005065724469737061746368436c6173736e6f726d616c6f7065726174696f6e616c6d616e6461746f7279526f6f744d69736d617463680000000000000400000004000000d001000052656164456e747279526561644f7074696f6e616c456e74727955706772616465476f4168656164557067726164655265737472696374696f6e436f6e666967446d714d71634865616452656c61794469737061746368517565756552656d61696e696e67436170616369747948726d70496e67726573734368616e6e656c496e64657848726d704567726573734368616e6e656c496e6465780000000000000400000004000000d101000048726d704368616e6e656c5061726148656164417574686f7269746965734e657874417574686f72697469657368656c6c6f66697273747365636f6e64776f726c6431776f726c64322f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f746573742f72756e74696d652f7372632f746573745f70616c6c65742e7273657b1100470000004100000011000000657b110047000000440000001100000063756d756c75735f746573745f72756e74696d653a3a746573745f70616c6c65743a3a70616c6c65747365745f637573746f6d5f76616c69646174696f6e5f686561645f64617461726561645f616e645f77726974655f6368696c645f7472696573000001000000010000000100000006000000010000000100000001000000020000000200000002000000010000000100000001000000010000000200000000003c000000500000005000080000000800000008000000040000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f7472696564626d75742e7273000000887c1100610000006c000000100000005363686e6f727252697374726574746f48444b447369676e2d627974657348444b442d6e6f6e6365636861696e2d636f64657075626c69632d6b657948444b442d7363616c617248444b442d636861696e636f64652f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f63756d756c75732f70616c6c6574732f70617261636861696e2d73797374656d2f7372632f76616c69646174655f626c6f636b2f747269655f7265636f726465722e7273000000517d1100640000008100000016000000517d1100640000007800000024000000517d1100640000007900000020000000517d1100640000007a000000260000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300f87d110067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300707e11006f000000a200000019000000556e646572666c6f774f766572666c6f774469766973696f6e42795a65726f2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f7472696564622e72730000000f7f11005e000000ea0000000d0000000f7f11005e000000d20000000e000000887c1100610000006101000026000000887c1100610000004601000026000000887c110061000000d201000030000000604e6f64654f776e65643a3a56616c7565602063616e206f6e6c792062652072657475726e656420666f72207468652068617368206f6620612076616c75652ec07f110040000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a200000088011002a000000887c110061000000bb0100000500000056616c7565206e6f64652063616e206e6576657220626520696e6c696e65643b207165644c80110024000000887c110061000000a4000000060000004e65772065787465726e616c2076616c75652061726520616c77617973206164646564206265666f726520656e636f64696e6720616e6f64650000008880110039000000887c110061000000b100000005000000000000000400000004000000d2010000d3010000000000000400000004000000d4010000d5010000887c110061000000720700000b000000887c1100610000005f070000170000004a75737420656e636f64656420746865206e6f64652c20736f2069742073686f756c64206465636f646520776974686f757420616e79206572726f72733b207165640000887c1100610000005307000007000000000000000800000004000000d6010000d7010000000000000800000004000000d6010000d70100002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6962626c652f6d6f642e72730000a0811100620000004900000016000000617373657274696f6e206661696c65643a20216578697374696e675f6b65792e69735f656d70747928290000887c110061000000f104000006000000887c1100610000001b0300000f000000887c1100610000000f0300000f000000887c110061000000a40600001a0000004272616e63682077697468206e6f2073756276616c7565732e20536f6d657468696e672077656e742077726f6e672e00887c1100610000002506000007000000757365645f696e646578206f6e6c7920736574206966206f636375706965643b20716564887c1100610000002d06000009000000887c1100610000005506000007000000887c1100610000005b06000009000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f6465887c1100610000008e0600000d000000887c110061000000620200000e000000887c110061000000650200000f000000887c1100610000006e02000015000000887c1100610000006f0200001f00000000000000ffffffffffffffff9083110000000000000000000000000009000000080000000e000000f07e1100f97e1100017f110050726f6f664465636f6465416273656e742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e7273000000d183110070000000ea010000170000000000000000000000010000007c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f7365722e727300648411005f00000085080000160000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f756e69636f64652d6e6f726d616c697a6174696f6e2d302e312e32322f7372632f6465636f6d706f73652e727300d48411006f0000008f000000220000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f61727261792d62797465732d362e322e322f7372632f6c69622e72730000548511005e0000009602000019000000548511005e0000009602000027000000548511005e00000096020000090000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f747269655f6261636b656e642e72730000000000000800000004000000db010000dc010000dd010000de010000df010000e0010000e1010000000000000800000004000000e2010000e3010000e4010000e5010000df010000e0010000e1010000e601000004000000040000006d01000073657269616c697a6174696f6e20746f206a736f6e20697320657870656374656420746f20776f726b2e207165642e2f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f67656e657369735f6275696c6465725f68656c7065722e7273cb861100550000003300000006000000496e76616c6964204a534f4e20626c6f623a2000308711001300000000000000000000000000000001000000e7010000e48511005600000052010000160000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f747269655f6261636b656e645f657373656e63652e72730000708711005e000000a201000012000000e8010000e000000008000000d5000000d6000000e90100005400000004000000d0000000d1000000000000001000000004000000d2000000d3000000ea0100001000000004000000d8000000d9000000da000000db000000eb0100001800000004000000dd000000de000000708711005e000000cc01000021000000708711005e000000ce010000170000006e6f7420696d706c656d656e7465642f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6261636b656e642e72737b8811005100000078010000030000007b8811005100000066010000030000007b881100510000003b010000110000007b8811005100000039010000110000007b881100510000006b010000030000007b881100510000007d010000030000007b881100510000006101000003000000000000000000000001000000ec0100002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273004c89110067000000f70000000f000000617574686f7269746965737374727563742047656e65736973436f6e6669672077697468203120656c656d656e740000cf89110023000000000000000800000004000000ed0100006b6579636f6d7075746573746f72616765747261736844617461436f756e74626c6f636b4c656e6774687374727563742047656e65736973436f6e6669672077697468203420656c656d656e74730000368a11002400000062616c616e6365736465764163636f756e74737374727563742047656e65736973436f6e6669672077697468203220656c656d656e747300778a11002400000070617261636861696e496400d48411006f0000005600000029000000d48411006f0000005600000018000000d48411006f0000004d000000140000006d756c7469706c6965720000ee0100000c00000004000000ef010000f001000039010000000000000000000001000000f10100006120446973706c617920696d706c656d656e746174696f6e2072657475726e656420616e206572726f7220756e65787065637465646c7900d183110070000000df0a00000e00000000000000040000000400000062010000000000000400000004000000f20100002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000007c8b11007d000000b3070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273000c8c11006f000000a2000000190000004572726f72000000d1831100700000008d0500001b0000006d697373696e67206669656c64206060a48c11000f000000b38c110001000000756e6b6e6f776e206669656c642060602c20746865726520617265206e6f206669656c6473000000c48c11000f000000d38c110016000000602c20657870656374656420c48c11000f000000fc8c11000c000000696e76616c6964206c656e677468202c206578706563746564200000188d11000f000000278d11000b0000006475706c6963617465206669656c642060000000448d110011000000b38c110001000000496e76616c6964436861726163746572496e506872617365496e76616c6964436861726163746572496e506173734d697373696e67436861726163746572496e48617264506174684d697373696e67436861726163746572496e536f6674506174682f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f73747265616d2e72730000ca8d11004c0000007200000010000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20747269652073747265616d20636f646563206f6e6c7920666f72206e6f20657874656e73696f6e20747269650000288e110056000000ca8d11004c00000076000000040000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f74696e797665632d312e362e302f7372632f61727261797665632e727300988e11005f0000009d0000001a000000ee0100000c00000004000000f3010000000000000400000004000000f4010000496e76616c6964436861726163746572496e666fca8d11004c000000470000003b000000ca8d11004c0000004700000049000000000000000c00000004000000f5010000f6010000f7010000f8010000f9010000fa010000fb010000000000000c00000004000000fc010000fd010000fe010000ff010000f9010000fa010000fb010000000000000c000000040000000002000001020000000000000c0000000400000002020000030200002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f74696e797665632d312e362e302f7372632f74696e797665632e72730000d48f11005e000000750300001d000000988e11005f000000eb06000011000000988e11005f000000a500000022000000000000000000000001000000040200000000000000000000010000000402000000000000000000000100000005020000000000000000000001000000060200000000000000000000010000000702000000000000000000000100000008020000000000000000000001000000080200000000000000000000010000000902000000000000000000000100000008020000000000000000000001000000080200000000000000000000010000000a02000000000000000000000100000006020000000000000000000001000000070200000000000000000000010000000b0200007374727563742052756e74696d6547656e65736973436f6e666967207769746820313020656c656d656e7473449111002c00000073797374656d70617261636861696e53797374656d70617261636861696e496e666f7375646f7472616e73616374696f6e5061796d656e747465737450616c6c6574676c7574746f6e6175726161757261457874050000000600000006000000c0831100c5831100cb83110043617061636974794f766572666c6f770000000004000000040000000c020000416c6c6f634572726c61796f75742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f736d616c6c7665632d312e31352e302f7372632f6c69622e72732f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f74696e797665632d312e362e302f7372632f74696e797665632e72736e9211005e00000070030000090000000000000008000000040000000d02000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500129211005c000000540100002e0000006361706163697479206f766572666c6f77000000129211005c0000004301000036000000129211005c000000d00400000e000000617373657274696f6e206661696c65643a206e65775f636170203e3d206c656e129211005c0000009b0400000d00000001000000000000000000000000000000000000000000000000000000000000000000000000000000b0a00e02d2c986019d188f007f693500600cbd00a7d7fb019e4c80026965e1011dfc0400920cae00edd3f51cd21893009635e71d45bdf31d4d01000000000000000000000000000000001000129d5f0b171b141e3d7f8d1557373f1481d772197ceb2f043dc7ee1c1e4d181e6d040500edf94d110373611a8c097c0f673179166e65fd1fffffff1fffffff1fffffff1fffff0f002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f637572766532353531392d64616c656b2d342e312e332f7372632f7363616c61722e727300004894110066000000340400001c000000489411006600000057040000120000004894110066000000580400001200000048941100660000004304000012000000489411006600000043040000350000004894110066000000400400001100000048941100660000004b0400000d000000edd3f51cd21893009635e71d45bdf31d4d01000000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000000000000000000000000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f637572766532353531392d64616c656b2d342e312e332f7372632f656477617264732e7273006c951100670000002e04000009000000b0a00e02d2c986019d188f007f693500600cbd00a7d7fb019e4c80026965e1011dfc0400920cae00ea405d00a06a3f0039d357020bd2ba0058bc740240d80100ffc83d01d8429401fffa5c0024b2e101723b8c05bcf12403f625c30160dc3702b64c3e03c2423d02314ca405e0a44c014b3da303743e1f023e91400375410e00a273d603058a2e007ce6f403098a8f00341ac200b8f44c00818f2901bef4130168aa7a036181440079d5930056651e01a0679b008c594301eee5be01430bb500c6f08902ed45bc01d7713c0324ff390343b2b6027fd0b300761a7d020207d601f0324d0354cbc501d287fa0318306401a8d5b4021058690053d19e010573620004ae3c02aa376e01d8b5110313bcaa00929c660256d6ae015f7a9b01e92caa007f08ef01d6ecea00af05db00316a3d010542d003016a6e0150ea1303d66bc0013097ee04122a6c01e455710132448701106a0904316701014f01a80522981e030ea8b9013859e80165d2fc0029fa4700ccaa4f030d2eef014f4def00bdd64b01108df90026504c01bd55750056e4aa0089d8d001c3cfa40195424c03aee110018c5062014cdbf200c6a272002eda98009b2bf1029aa068019f09fc02636ed4000e05a704e8efa3011b979d0165920a01fd9e460645f9e400581e3204433aa001bf18680181428101bf32550307b38a0125fac9007350a00083e671007d5893005a44c700fd4c9e0009ff760071fafe00424b2e00e6da2b00e578ba0194442b00887cee01bb6bc5015335f6033274fe0120bba5040111af004254a001f73a1e022241350244ecbf022c86f505a27bdd021f6e14073217a502bad64700e9b06000f2ef360139598a005300540387a064005c8e7802677cbe00b5b13e03f929550085822a0160fcf60097973f02ee853e0020389c002da7bd018d85b3018356d300bbb39602f9aa0e0131711503ddba3b014107f10145064800569c6c0635a759026c34db060bb01701c32c6a07ed954701a48c7d039ead01003329e700913e21008a6f5d01b953450090732e006197100117e41a0031d9e200714bea02c0990c01b53060030d0d1a0080c3f90244c13b00842551027c6a3c00d6f0a901a4e34200bfa34e0424349702624d1a04ed9cd501d4c0d105482e54021341290535ce4f02c8839202a96f1801b1213202aa26cb014df77400d1dd99008580b2013a2c1900c9273b01bd13fc0031e5d20175bb7500a2b3b8010072db00305e9300f52938007d0dcc02f3ad77002cdd200253ea1400f9a0c601ec7eea017c3edd008159d603358b05024314bf030cccb20522c3d9002f33ce0525f6a500ce1b06029d572402d93492037c7bd701543c1f03aa0d0700daf55802fb233c0037d6a00384653800e02013029240ea001a91a20172767d00f8fcfa00655ec401c58de202322ab600870c09026cacd201c4ecc201f1419a001d9c2f0398433701d9a5220648b4b302d9424705577a6302d3b5db035b2ae701ee009a04f44db7015e51aa0112d5d800ab5d4700345ef8001297a102c4d14201adf40f02a130b700313df002b55dc300c7e40601c8051101882ded036b9404005a4fed03263f4d013452cf018e16760164e812015c1a4300f2c7580320a88a0194e1480002d11b012bf5a801dced11011dd369028ceedd008050f5026efe0e02de5fbe01df09f100924cd4036bcd68013e7599009045300023e46f00c021c1016fd6be027298970004665800334af800e2c78f02cba26501cf61bd01f5681200e6f61e03169445006e583402e1b55901bd2f5a0271a150031f74f804b29857014490b10158ee1a0338207101014d45023a79340397ee53023408c100e727e901c6228a00de44ad005b39f202dbd27f01bf07f6029623bb00c3eca5006f5dce00d4f785019a85d1019ae70a00404e26007af964011e1361013d5bf901f8854d00c53fa802730a5200a5ec7106d2cbc2013c64fc022305ca01765b9903804f1d026667ab02ecd76f03d6354504eef01702c295dd0325e1de00e8ffb4027552850138d1b1018be885009eb02e02c1732e0058f7e5011c67bf00dddeaf0294eb2c0097e41902d96967008e55d2009581be01d4415e027486e00151c675009ddddc0090652404c472250267aca6020ab600025048bc0360bc100343060a04c69391010709730540d6af01d9add100507fa600f7e50402a6b77c01591ccc02ae3bf0010a29f8016c2833018fb1c30295fa7e008a5b4101783cde01f4c1ef001dd6bd017f021900509aa2004ddc6b01eacd4a0135a6670373480900d15e2f031dc8190122d659033cb08c0152e2a3034a82ac00802611045e899803d57c9f054e5d000294529d02c282fb0127ca4c03fa7ee0009d633e02ce07e1015f44c3008cba9d018213e7032980fe0034db3d0265cb48008d070b03b9a4d5001f7a770085f29100d0fce8035ad5b6018e04fa02f8d74a00921e6f05aa09df02e47b22055b821a014c9b2d05c28b1c013ae04e048711f7006c7920044efabd014de3fc0225f13e003eae7d039a6f5d0109e6ce0161c52801ff30390240fa0d0012fb9603db6dd20105aea6022b81bd00eb23930324f78d01478d0403666bff00f75a0400352c2a00021ef000043b3f00454e240470a7b400be47c103c69ea4013908ac044c210c02403f0304984d2101abfe6601e4dd0401441efe019229560189ccef026b8d1101baf28700d2d07f00442d0e0248603e00513c1803a9062401f0f81a0023d56d00168136031423e101e93d380339d906008f7c5800ec7e4200d126b70321ee06019b9166005f16d302c30f99022d54e80174229205e6fa4a011a8664055bbbc301a9c67004771c2a02be4643001d511f001da86401a9ada0006b2375003e603b01500c450187efbe01dbfc1200a3dc3a018989bc0352666d0060064c00eaded201b8aecd013c9ed5010cf1d600ac818c005d68f200c09cfb0018751e04e0519e027ee8da04e11ccb02e81b9703742b0501f10e2f071f14060288fb2c021a1ff501b7d67d0227799500ba9ed5035808e30045580002ca87e100c9aecb009347b800127929025d054e00e0d6f0022305b400fb87e701a38ad400d2f974025781bb00130831023d0e90019e4cd300d63352005a75e40266dfcb014afc0f059947dc03150d5b058ca86003b3b68504f9333702e9ead402ae3f9e0227f034019ebd2401d428550120b4f70112661a01541861014415de00948b7a01dbd5eb01e8cbff0066399300e3079a00351693014801e10052863002523c9d019048a9002267ef00c6e92f0074130401a56a0903b681530223b0e60122674802daa28604f42a9e021f956002a42c9002c9ef4802d69605022a42240184d7af0056ae560319c59c0130e8870266b65200fd80b00199b27a00f5fa0a00ec18b200766a8400281d2900321e98037b692600e6bf4b008f2baa002c8314032b0d1701ecff9b019f6d64015db5180766dc6c0236d38304620cd50197979103ed059f02609b0804206c5102000367043d6d2201fa9bb4002047c301254691019f5ff50045e56501881cf0004fe019004e6e7901f7a87c00bb80f700ef92eb024e0b8400463a0c01b508a3014e89850324aa0b018cf35503afe7d701cb96a403eed727011b579c0207a35801ab22e804412c66011a362902eb635701287ba90134722b02748628049a861a02d4cf5b022284260112667d0223e38501750371031c0d7c0098604a015892ce01a6bfdc02a1125801b66417001f753400512e6a010c0207004550c901d1f6ac000c308d01e0d3580074e29f007a6282001becea01e1e20903cde27b0159d63b026f8758015af4cb032f0b2601816cba0258700f05642ecc037fcc2d024effdd01324912037e2a6501f015ca00a0e307006932ec004f34c50167cad001b40f100052c54e03614dcb0029b9f10123c17c00239b1703ce35c0000b7da301f99eb90103833000155d6f012a79e70544c82403b730b9036eee15012632190362d7a30156d41e03a39305017f0623016cdf6e01c24cb2004a65b400f32f3000ae192b0151adfd013672c00127375b00d76cb0010a380700e0e94c00be62ca02f1197d002cc15d02ca08b10087b013007047d501cd3bb00104431a000e8fd5022937d0013c437804c015a30063a47304091476009cd4de029f07d90171f54c05743b7b00b0c25602d40fb0004ececf02d4813b00e9fb160160379801ebff0f03c45954015c958500aea07100ea63a903977458007da453035e1dc601212f0f036278860104ecc100f9f77e0192bb1e0032e675016bd9db03a251a6013519a90699794f031a9b5906057e1102924121052eeafd02193312046853c701a2c4e60470f8a402cffeda00bdd1cb01a3f7de02fe23a50004bcf3017fb3470025edfe0363baf0000539470266484901e1125102e4d28401ed06b4030ae5ae01e2ddc00111311c00a3d7c4020876040132f0470071816d0139f0e700bcb17f027c472c0519aff3005ea919021ae61d020e8b7701a8aaba01abc54c03fb4bbc02897cc400481660012c97f901dc91640040c09f0377efe20081b2920000c07d00eb8aea00b79d920040c7c003b7ac480148e180004d06fa01b941430068f6cf00bc208a03d918f200438a5102ec81790101cf960129c71003041480049e760502b4108f03db260f0216409302481a0d0256e43905cb7c80021818df00db63c700164b1403121b7e009d3ed7006e1de600b3a7ff0136fcbe00ddccb602b29e4101519d0300c2da9f00aadf0000e00b200125c56200a8a4250017580701a4ba6e0060248600eaf2e500e7791304f1fe7001022f5e0508ef060150869902d5fda803417ce004f45f4a021b1e2c02006ddc01b2595900fc244c0018c62e034b4d6f0086ea8803265e1d00b948ea0345448701e66607024ce78c00a72f3a01946176010f1be101a6ce8f016db2d603b383a2008f8de1010dda4e01719921016268cc009c727501a7ce4b02c9c453013a404302892f6f05c3f7800188e0e0029d70cf009a64ff0186256b02c6804f037ed19b01a2feb9023b0ef3001fdb70021cd94100c80d74027a3cc401df3bb802f159c40068104b029410ce0045fe3001e774df01d0a04101c850620025c2b802933f22008bf04103d890840125262d02c678d2006cb1a6039fde0402db7e7702a46ba00350dcf805f0af8800908d1703a88a54028d894e03e1765001331b84033e608b0197fa2700bc9b0f00e8339602270fe801efe5090388af1b0138496101dad40b008705a2016bb9d50002f96b0327f24600dbc81900199d0d0043525003c3f917017e149504314892025d4c940517fb41021ec01704b7d4c9017ae9a205f6ad4802a157db027d8659028c0b0c02a5691d00491be4017178b70141a36d01d48f0b019ee7a801ff805a00390e3a0258340a01fd08a3010091d201098155012eb51b006788a0027dbcd10121236f00d7db1801d30bd60264057600d5c58503dea76d03eb505603458b5e029dc1bf019b0f33010ebe73044d87cf01f80a1b05b47de9025fac0d02a9d5a10126ec8a035e5d5701bd805f007d0fce00a6969f00e30f9e01cd9e7803298d800052b278019c6d8300da0e2c02f6a8ce01d3701c007011e40159102501c5de6c00fecf5303085af301e0f4ac001a587301cc747a04bee6c102b3640b05d8256001994e9c04eaea1f01cdb2b20394c0fb02b6fa8700f61669007cc16d0301d29501a811aa0000606e0174090801327b2801c0bd630022e3a00030504602d233ec002d7af5022bae0800ad25e9039d41ab007a45d70359500201826a6002e2728700ba317702af3e400350331107ef14f301810d08067ed9f301a11b01025976f100f6c6f60336107601c89f9d00a31101008c6b790055a17601250095009c2fee0009a6a6014b62b501314a1900420f2f008be19f004c038e010deeb8000bcf3501b6c0ba01ab20ae01be4cdd01f7aadb0019ac3202d809e900b87e4403b65c30027ea7b7014131fe00103f7f05fd15aa013ae07f0614303f03194e820227c31d02fa84700222cb900068a9a800cffd1e01672826025de45800ce108003d3377a01de16ea00dfc57f00fdb5b50191667600ec992403d3d9480113261802893e3e00988c0400e6dc63010015d40393c9e700ce7b0902ffaad202323a250300ff0e03f2b79106fef1a600164a840478d829025ec37206831897039ce2e703f6054d01f5947302e05c5101dd50f602a97b590149c78d001d140801898846035c4b5c00dd933102337ee200e57c17002e09b500cd40340183fe1c00979ed40083404e00ce19ab0000e68b0099fd6e0266f7a7023f2828012aa5f1013a4be4067af3bd01c35cb203818c56018c59380193c60503cbf89e028fa28d000bace200822a150100a78f038f2424012f58a402a7aadc006247d6005bd04f008c4cc901a62ad60144ff000305807d01bd018c009253da01d6ee48017a7f3500bd74a50353084201c303d003d46e8502c2a82c019ee74502a140c8025a3a6800b63abb02f8e48802ca864c0262dde9024bfed6024f459a004098f802eb88ca019c69990294af1400162313037b79e900bafac60283e58b007650ae03a47d440090ca9402eaeff80087b87600655e110179484602448292007fdef801457f76010b52d702bb4a1301e4a7c2027419420140ea3806d3169c02963b5d022c1c1b03b87ea4031f06ef027f726301db3402016260a6023dbe7e016bdea8014be2ae00e6e2c7003c75da01fbf81401d6bccc000cc286027a45c001a8ad240236625b00df2a6602880166009d5a1900ef7a4001fb06e900073614013f74ae04862536010eba7d04e270af0163b4e10329edf401f3ade202f7122102aa63960349eb32017552200269a8ed00cf6dd001e409ba00873ca902b25c8f00f4aa6803ea2d7c014563ba007589b700cd1fd700280964001a105f0144d957000897140319643a01afa5cb01347646000720fe02f3fef5019490c2037c711703ae79b5048754d10289061e0358301c02209b0e0318f09a028ccd6d0545733e0101286b02899ac7015ddfe2039cab2600a3b119022c7603010dde1701d1be5101757be8010dd5650168377b021af6a50032634c038bd6200160414303170c1c00ae564e0140f76000a08743004237f30180cc6003190621016133530598d5d00101b8360318da0b023043f606109548030b194804294fd602170426011b8b900194bb170012a48400f554b80277c668017dda60003875ea010c1dd602432f0a01a79a84029726c60042b25903c72eab010c635303d1bbfd01a92d2a018ad17c00d6a28d000ce69c00532470060193430233d77b03e8ab360161893e04f6da2703e5daec00f7bf7f00c3925404a4b05c0113d45e03104ae30058289901c6930101cd43f502ef03da013c8dd50360b76a00c3e8eb025e569a00be30cd0275d1f101ef78df01d51d9f00a37f93030cda5d005518440245145001bc058c015261fe015063bf038354850369da74036f7a2e0268112004c1a03f0342de2705d7fd5c02b069cd0394c9c30217e10b0327a2730009075100a5dadb00b41600021c92fc0191cfe101b48760001fa37000b10bdb01850cc1022a4e3200417179013bd906016d5e180170ac6f00070f600024557b0047961503cf49bc00c00ba701d5f5220208e65c04a18e2701d65a1b04616159025d4fd304599df0005fdc7e0565b0e200111ee002221f7f00e7e8730155538200d249f5032e8f72014341c5003b483e01b685ad025c7976013bb15103e945ad01cc80b100dcf433001af4d10149de4d01a20860029595d3009efecb01367f8b008ee03b04036d1601dd2a2d07ce926601eb8ebb0431cdf501094a59022f4f8e00de4c82031da63f02d90c0d0330b8f400bb716600da65fd009939b6021f962a0019c69201edf138008c4405005ba4ac013b91ba024234cd00dbcf81016d731100368f3a0115f87801b2ff1e00c1ec420100ff0703fcc03001ed44d90502d600013f659205de7d2303e949b303f8a7e200e1af0a0161a23a026970ab0154ac0503858cb20385f58e00615a7d03b9cbb901de4d1703bf5c6a000fc67303d898f800abb27803e3863500b036c101fafb3500d50a640122c76a00971ff402abe057010ded1703fc551a017e277403ab686400e80e4603d3d08a03fbd3fa04af31a5000f4c7b0324daa0015b871005097e72014505e003f6f98d0231143c01f1d2bd01c2d9bb0197037100975cae00e73eb201dab7e10017172101ccb5500039b8f80130b40103597b5d012600a2035ff8340153428c00227fe401c18a0701a66ebc0015119b019abec601c3503b0311078f00481de205c6d9f900e8a1470195bec900d9af5f0270934303888fc7037ecc01021db65301cee69b01b9cc3c000a7d5501e7601903fe59f701d4feaf01e8c151001c2b9c020b4508008018f80012c63100863c230076f612013058fe02e315ba01b5417001db160101157e3403bc3531015d198f04257f3701e165a306ce853d018845ae05bd7691033a62db03d80df501f9880a0453fee202c91f7d01f033fb011e838203018a3201d6d7b101df0cee01fb9538037b5b4401477eaa0276ff64006f87e8030d4fb200fa83c5008ac6d00079d88b02761224011cc17a00102a2d01d4f0eb01e6bea901c623e4026dad4802d5ddf10337948702bf754e068b5dcf018e419504141262015e2cf4016abf4d00eb550802d56eb00148ad13029fc4c701ec5a9000c1ac7101c79b8802e35add0089314a01a4ddd701d1bd050368ec3701291f8101c1ffec002ed93c008a58bb01e152ec03504597018dbe10010d8608006c7a300350409c00abf38b04ec23f6007a8fc102d37a92025e29ff0556844d0203d41f04101f4e02142dad02178ed9015e090603e2530600623b82023d1e21000873d301a261800106b81702731ca801f88a970361f4f000ba76820072f8eb0168adc801a07c47015d24a401af419201edf1aa02c9c6c500d1478a022cf66d03c0349e0085bbb00053fc9a0657bddd01a949fc04933a7d00244433062845b101a84c56032564cc0125352300af136100e1eefd0350518700d21bff02ea496b0008cf7300527f880041631502ce13880064a4650050d04d0183cfed030e030f0120a66e009c5f550124b96f01966a230180974c04715787019ec240040b7a1f01e7076506ab7762029947dc02be393501a7e8a007de206303c79ca5009799a300d90d9401c5715900951ca102ce171e006984e30335e65e0184adcc035bb79d015890fc0265215a009f610300b5da9b01ef7277006ad63501a4be7301985be101576a2c03cf3d710084347c04be1b9c016d36ec050d1ea601267fcf05e4c71c00bce4bc06629deb02f5dab7056a16c101bba05f004cef9300cfa1750033a6020133750a024838e30197c1e100845e880164bfd100206be501b32bb40164d276007243990316581a01589a5c01dc788c018f72cf03fb73fa0121ce48008a857f01f5b17c05564b61000fe55c02ef438301757be3029178680190d5ff0580bb4603d97736040013ad021a969401f8534800cbe9a9018e6b3800f7f926012df250011de967006052460017c96f0051271e018eb74e03c1ea210143e38c02d7ce7400461beb0367904f00a4e65d02d5879c009abbf202bb148301116dae009f70f102046e950523a5da02a51d1305b12e49025c2b2002f7bded02659b8d04c85dc301f18bfd030e6f62016b41a3029a4fbe0148aec102f52830016a580b02c9615501fccc120370f242005ba0c202cf12ba0051153c00bc68a7017ba66102d1858e0038f28902286f82006f973a016fd58d01b7acf1032506c401b8077b032d0bf602f46977050e02a10107ce2d0311ca4a03517c7305d38d9d005308d1028a0fe801ab36ad0231f78400d6bdd50090b86900dffef800ff93f00116bc480007333600a919b402dbb4000152a01400a3bdf30139d1c20356493c006a183100f5f9dc0016ada700760bc301007eed006e9f25013a522f04b3bb5602bb94d005632585010670c10480bc9c01536a810384e1ca020eec6f0327146500acac310232364a01fab9b8035c9be001b3f9e001e6b2920048393602b13eb80064cd4800b9effd013c0fda00c4433801e920ab012edbe400d06cea03133fe801a435c70185e4050121cd6b004aee8c03949cdb06edacb203f9bddf021f8ed301d90f8a05f0c450021b24620215eac7022aeddc03f53925008e118e039c3e1a002bee5f0202d90601d419f00127dcae0199cd3002120dc001f42236028b109b00f0b505029ac13c00a68004032391380195f0db007833910052992a018cec9200585cf801bd0a03023e88f204d227180212caa105ac1bba01d1ccef0228d1a203b4fe9f03ab743402c367de02cc453b0035162901da30c20050d2f200d2bccf00bba1a102d711010088e17100fab83f00df1e62024ca8a2003b35af0013c90a018ae0c20093c19a01d3bd0c0200c8ae01318571015eb35a00adb687045db171022a59d70387fc6a037986530603f5420151312701dc02e0026081b1044c3b59003d1d9b01cbabdc015b4e8b009121b501a8188d013796b3008b3c5003d927610002936b033bf848009ae62f010653b6010f69a20288d45101b3b8860127dea401dc69fb01ef707d003f0761003f68e301813a0c04593ce00153d4fc004fd7a802f7ddc7017379010223ac78041fa2bb01386b3103922a15026ac62b01394a57007ecb51038087c3008c1fb100dd8bc20003ded7008344e700b156b2027b97b400b87c260146a31100f9fbb5012a37e300e2a12c0017ec6e0033958e015d05ec00dab76a0242184d0015f5d103dd799902a4391e04527d3c0245265201e506bc006dde9d0336763f01cc97ba00e3219501feb0f601e3b1e300226aa302af2b4f006a5f4e01b9f17a01b80e3d002401ca000db2a203f60b8400a1e65c014101b901d332a5018d9240019df2da0015a47d00d58b7a0143475700cb9eb201975c2b00856f05072503ef01d8fffa03af3f470149f54d01faae12032031e303f52efb01992330057c9d3d0157244e0360ec990088bb78037086ab0112d5d902d75ed101fb053d005e03ca00031ab7033fbf2b011e171500818d4d0165780701c24c8c00bcaf340310519400e8563701e130ac00862a2a03ed322f009612fe04139357030cc3ef0344f71702ede58003b0317002a762fb037847f800f3089102f5e39901c8a9b102fa8ba5010ba3b903a328ab01989f1b02f26d5b01dd18700112d6e7006b9db502c2930001c2636803588cbe01b0427e0269b9420031da1f00fcae9e00bc4fe601ee29e000d4ea0801880bb5008075530343c35e022d84c904ef985802a33945069ee02a013ad7430376c38d0123b47902ce2f08039bd2df0065c54401fe528d01fa89e900615685011050450084839f00745d64002d8d8b0098ac9d01472b5b0047992e0027107003d8886101dbc61902b0353100de5886037f0f3c00cfc0a903bf74d101574ed305c7d5b701060c7a02ddcb3c01206ec702fa6a7502e3e10401783a0703dbc154066e851b02bdc8c9038a879600ea37b0033c324100986ca903db5501016f87e300a21aba00cf60b902f3886b004a993201c66197006e0b56038e75ae0172d4c80005cab700eda40a02b8ef3e00ec781202617b630195c9c2022dead600bf85310362a97702bdbb230173152d01f88348046f067b01d531b502a5e922025cc56602fce4cd01023bc9012a622e00db252303a8c326005e7cc1019c2bdf005f48850277cebf007ac5ef03b0bb4f01fd2e0201faa7be0054811300cb71a601f81fbd02479dca01cf474903ce184800f70f1205d1514c0157d0c0037df36b01ed8d7803c679ea01880c3b0323dc7b0193b33c06ee0c1d0242006101241e260172015d035f67e701c49e3b01c0a4f000caca390317ae3000594d9b012a4cd700f497e90017305100ef7f3402e2822501f7745d017c847600adfec00106eb53016dafe701fb1cb6006ef95d0253b880024bb53e04ae80ba00643588066b1de200dde93a0513634a02ff15a004850d15020934370310598c00af223b0054a57701dfe2ea030648a6017a73ff0112d6f600fa074701d9dcb900c1234c03257daf00bd61d20072ee2c0128bca9022cba9a00515c160084a0c10079d062030c512c01b89c5204463a1501cf72bf023126930299d8c304641912023bfad703e884eb0166af8e01100e5c027a1f6e02edf12d0198d9ef0161a82f01f85510011caf3e0138fe3600dee77e00a62d750211bd6001e44c3200c8f45e00c6987801442245010b41a00264135a00a7c578034336b90128dabc0071a830003269bd011a522001b85da401e4f0ed0141b63504aac55c016a09e901c77890014d310a036caa690347041f031bf47101493a0b003edcf601789ac8028fd2b2017d3981012bfa0e01646f1c012f56f1013d469603344905011d1a9e00d11a56008aed4a00a45fbc008e3c1d02a174f801baafa00097121000be6f4106c9862703566c3107811a4703db1bd70267695d031dec1f068500d3018e7f6e01d449e502d643a702c201d0018311dd0332d95a0043eb3203ded28f00b3358201e96ac600d9addc036fe518019c9a5d0246cbf6012f4285030288e60116dd7102ea6fd500aa785f02fadd02002d829e02685ed901df34b402d4442d0167261c04f39e4c02a0c86007cd350d01ba439404a936f80276a2b20352140b02172ac001929fa301b6e86f004de5150146358f001b4c2200f6882f03da27b6015be0c901138e0e0145b6f103a276f500096d6a01aab5f7014d2fee0353d2b001d46b8b0027260b004815960048824500ba4d9b028d851502466fac02e12a3b03b100d7052080f102e9fc0d01b84f08026d1e4903f58dbd02aacfda014a9a450189f631039a2064007d4a690359553d0122e5b1033d7dc1019856bc014978d400be7bf60286d12601963a2c015c45d6010d0c5803fb99a601fccf70033b4e5301e27c6e00b460fc010f752102a3dc520128011b0724a4a601a363a9063b904603bea612046afa4202c441320400b31203ec6801032a9923014f6fa8006eafa80029692d03da0ecd01a3e98c022a017600e943c300b2529f0177577a03d3ee5a018f237c02188ca400fbd72c0284466b0164e350025ba93700d72a310072b455010ee81b05abd519023db07b061e851803dfbf3e045c469902b42a680116bfe001c7c88c03f8ea250282398d00c338d001fd8246031fadf0011cdcc7006e64730183e5f900e4e9df0124d8d102b1b1d101a42da502df6172008961a803e0deac00a50d3101d2ebcc01fb041c0245a09700e8be340252f85d012bd74d05aeafb3019f3242047830d0023ea9d103ffd1c800e0bb2c0548a2520009b08f03124cc1010a3ba701182b9a001cbebe008dbc8100e8ebcb03e9006d0135419f003c58e80178fd9602fbe98301c66e2901534d4701c7163b0269fdf201140ccf03ec42bd005ac6ca01e1ac7f003516ca0038e68400ee55b7046cbe2a02f244ae056ce49a00c8b17a0522a0b701b030550359daa901f7984e04c9fe6e02f3332b008e6241013e911600466a5d00e88a6b016eb33d01d281da01f2d15c00235ad901b68f6a016165d90371fadd01accc06003c96a30049ac2c03ee6e5001ec4c9902a08cf90095e8e500851f28019ba477047033d60280e402063e22f3026ae3f403ad6ac8015399460531231002f94ad802ebbd420199f90d00e6b20401dc29ee0076e379015d578c02fd775c0049eff6027457800013d39103b02efc00e55bf6014580f701c94d3601080b09019860a600d9d6ad0185c0020100cf0000bdae6b018c8664008bc1f301b666ab02ea9a33048d057b013ba85901d90e5c0112d60501d3a7fe022b06ca027712ec01fc70b803b7df8b0028b17702b57b5a01afa5b000f74dc2001bea7800e700d6013a271e007d639101834444018ddef800997bd2036d7f9801e421d60187ddc500896102000c8fcc015029bc00734f82014b03840497afbb017b8d0a077cc0b3010a67c60494062d02da55bb05e512b20147b6980402c6b8016d70e00161a1e600fe632603399fc5009742db003b458f01b870f90077882f017a828400a8475f0171b02801e8b9ad00cf5d7501449d6c01650593023061210059416f02f61ea3017bd9dd0166fad800b3ae4b0238371200e305ec05e4d5ad00c96dda0131e9ef021d379e0518b26a029a6fbc015e7e8c02c41fee014df01000d5f219012647a800cdba5d0230d38c01da00b4038576a500a09386036dba2301c6f32a00f392770086eba30104f18701c02ec10266b44f01e004b802f17682009287b001ea6f1e003242d50228607b02785e2a03b1bfc3012d822a0474540801e831d602ed7a6d0205475901ecd37b02f40d300276940e00721c56034aed190190e510028064350185967802a79d320017486803df310e00ec7b160396b99701a950b80186b6140029646501992110004c9a6f0156ceea01bfa0a402a47b5d01eed7a4024211af01a80b3b039d293d0347bc0e03c206890115931d0313670303f482e30379288002cf2f18022224200098bab70344ca1400c385c300de33f700a9ab5e01b700a0013fcd12019c530f01c53af902fa596e01310a5802322bd80062f2c601f5977100abecc201c51fc701e4512601293b1400ea68e604975d0e03f4f29206d4a9f001ef666c069ea7ec0299dabc0495e9ca011a13fa05014785019c0c3f0191b7c6006878730381fbf70011d4a7033d7b8401f664bd009bdf98008fc521009b3b2c01965df0017f0357015e47cf01a7550101bb9874030917170089c35d0136626100f000a80393bc7f00736b97044bfdab025984c00491163602df423606e4bae50126b6c40094fb820140836c027f01a0029631a702c6fe9401fa068300bbfe810154523e00b2173a01fd840500a4d5270086fc92022435510188865200cda7ee015d2db4038328a100fe6f7001364bd900b3e6dd01eb5ebf0116f33001ca91cb0114762a03748dfd02fd00de042afb320235a9ea054f44d00094cbf3029007870006fe0004fbb97f024f08810325234801d224dc01281a5900a840c50202deef010153d702b39f69003a73c200ba746a01e5f7db038076c100caaeb701a6a14800c96b9302ec884a00e9e66a01696fa80040e01e0101e503004097af03c1eee401fdfad400bbed790242fb6001c51e0b02b65fcc04cc598a023fdd2505fedf1e03b230d303f0c85a01a6d160033882dd002e72c8033cb8420037b618026db62100abbee803715e1f0012dd08002fe7fe00ff705300760fd701ac192802bfc11f01ed159203aac1760164ea350282d4700046c06b0507d01b02b4d90f07e595e8028bec7e048f09c7010b4fb50292b6ca01126db60330d4e1024aa3cb00afe994001a703300c1c109010e87f90096e38200cc00db0118f2cd00eed0750315f470001ae522002550bc01252dce02ef5ae1011c032f0329e04c00baf3a70020840f0104337d008b871800f3f0db04abe58501f5d63204e60bcf03bd7e5305b3a3aa01f4381805b1a4d3010210ca01623976018d83590220331800f3955b03fc340e0023a94302301e5801b21b2403a48cb7003abd9700581f00004ba942004265c70117d8c70179c41a010d4fcb02efe251015d1c0a0352c1f001cbc183035d0f5600c7289d0432c1d10000f2b10066b9f7009e6d740425875b00dfaf9504db420101553ce80418602501e17aa201d7bba8019d9d2e0038aba200e8f065017a160900330915033419ee01d81ee8027ca994000de8660094092500a5618d01e4832900de0ff303fd121100063ced016a0371003b84bd005c701e0056d0d5042f54b303b979e70619d86d01a1dd6b0647efc301f91f390793875901b817730502a39d01ff6ffa001939bb01a060a4002f10f3000c8dfb0242eab8012812a100af0660019fac340217b0b701b3c155017c79890196327203dbcb3c01ceef050100266b0136ee5e0245985e00d5dc4d017811450142a4be03caea5100263125023c907c02884e3106a6f730025ea4fc0468a98702fce486043fa64b0251491403ced20a00ea6a96035d225a01fd9f3902db8563008b93b4021717b90029391e03bc614c002ebbdf03dfac2501213e5f01e790f0004d6a7e023f985b001d629b00e2fb3501e9d305038fcbde0191b0dd0603e71802b27acd04230186037b4697065fe4fc00ac8117022f5ad10195e0520154861e02dec42e006771ea012d657902277cfa01862df20208f9a8018b6c83038ea3ab0032adc70357de8e01c85f9e008ec0a301067587006f7c1600ec0c410243264101e2aefe00f4f52600f032d003a03ffa0029d1ef04792313020d21e606009f710269147f03e3cd600089d2ae02b3d4900158629a0122588b0294a27001416ec500f125a9004238830109c9530284fdbb01b0702d02c3fb0000c4fa9703ede8d60196d1cd001cf07600474c5301ec635b002afa83016012400175de230071d6cb017977b80341132400b940f90491598b00863e870567e96502bb541a0430f98102cfd64b03ce824d0172afeb00ab0289019c91ba0137f587019956b501643af6016cc73c0351cc8601d631e6018ce5c001ddc1fb0350880f01a095a20316271d01065f4b02be51de00f1515a036a31c901f3d39d00de8c950140db3802bcf65a019f3b9d052fdb34026122d7001c11bb01aea918045b4fa101ebc8c205928fea00e5e10705c4a80e02eb333501fd78ae00c506a803c975ab00a315ce0072555a010e290a03c11363004137d802a19274001fced4033f921d019d9e830164a58201ab1781037c3509010ec112011a310b01b4aec90187c90e0151139504da624f0229638f065e003001c4f9530666954f01ea6e880251802c033f29240257d30a02bb79bb006286c700abbcb302d10bee01417b820233ea3d00307117020556780176b2f5005781c900f28dd100ca7255009416a10067c330001931ab0389438200b6497a0293188200d3e59a00209b9e0041693d04b0c20901a55956053553bb00f92875036c03d70333922c053e2fb300c2d803060c54880288b10d0347f3ba0174117d03d23ad3015c4fdf005a58f5018ad16f0345de2f000af64f03c5d9b200d0e10b014e7eb3013d2b7e00679423008108a502f4f094003d338e0051d086000f897303d277ec018cf5f80301868801e58b3a059fa4fe0072558d0330a6b6018f46540554b607022d355d0408a6a10124a2b2032cb8bc00921c2c02a85a310078b2f1010e7b7f0106f1c701bd423201c58f6502bcf387017a1818024a61570076fb9a01ed369c00ab92cf0382c4f6018740710197e83900f0da7300313d1b012d814901fca91b0127840a0559c9c103fa79f001bace29022ac661049064b700ccd85002ab964102f9e5c402677b49014c68600281b40800687b3900dccae50165f9d300560ee801b54ed100efe1a400570d2003774911018543e90053feb500b7ec700130408301f0d8f30340c1e200cef164026386a601edcac504360d51021f7c660327e4b10275b51f05e6a0860176bbca04ff8d3c037e26bd03a5c99600bc781a0136b8ac000cf2cc028442e60022261f01b87050002033a502bef337003a4992029aa7cd0164689803c4fecf01ac13f700ee0aca00ef97f2005e3b2701ef1d6603095c9a01e454db03a0815000d05acc05efdbae019d66910534b24c03326ca80552de6b02d2246d04753a3802071d1604eca0c70097d19d0089472f008f562000c6f20200d43088015cacba00e697690160bfe5008a50bf02efd882014f2b0602a7c43100fd125b01904979003d9227013f681801b7a570027deb620050d562037a3c57013f8cf501df78ad030dc68601ce3cef02e6ea5c0320ee1303a3718e01b07726029f2ba602ee5b6902583dc201190444000f8b3300a4846a0121742e02a75fc50089d41700489c3a008970450295699a01ecc99d0017d49a018752e302e13bdd015e95c00051763401202bd7010e934b01589c79020d124f0080d08b0197da3e019b580801d2b8620312af7b036553e500dc41740595fa04015b8edc0321f74201b9e1b302965197004728ec03893f3e00064ff003b6b9b50076321b003fe3c0007b633a0132e09b0111e1df02dbe04d010d2c7b018d80af00f8d4c800963bb70192611d0096ccb500fd2547009155770087c8ba040180f90152187c040d578f02a733f5017c97e701cff0c5017cbeb9022f3af60413e9e8027d1262030cfe1f01f4b182036b8e2300ab7df2028b0c2201a4a1a200cecd6500f7192201649139002746390076cccb01f100a200a5f41e00c674e200806f99018b36b6013c7a0f019a3a39013632c60085d31d036a8aa701ac6bc7036ca1c1005948f203cd735901f9fe8e06afca5e034f5932040669420319feff02ca4017014ede6c0326f94b00f17c3200ef988500ddf1690093976200d5a17902f1318900e925f90229b71b00b877e603d820a301cffbe401893e83014e4009025d307100118a3202c0ff1600e412c501433768020fcd5f032f254202369c3f053f524a01c7354702ee437d0219e0de00df895d010be0ca0308dc8400c626eb01668d56003c2b5101881c1a00e9240802cef29400a4a23f00332ee0015f304f0308afe200de03c1032ea0e801fe5d69020d2ae6001a8a5201d02bf4001b27260361d07f012d95b60304fad102ba3c1c023019da01a874cd03761278029b74930383356d010c0aca046d53a7029ddb89030503820131a71e033b9f2f0180809d025d03bd0003a6440053dfd700965ac2010fa84100d0533303ccab420135bb3c0198662d01769ae100f0f7880064c5b2038a47df01cb52100129ce2a0189c0dd03d77bf401d9dab903babaef01fbaca003c23416028faeb506b9647301d24eb0031a07c10293d5680359c90a014f7b42011621ba00010763021dce0a00e5ea0500351ed2008a08dc024637a70048e1560176bebc00fec16501abf9ac015d9eb7025c026c01af5d4c0348634f0149408102f52e410050f17f06f49766032a35d0023a66ea0299afa40357f220026e260104feb6be0371b00f06a73c810267edf1005a4c3f003e4a780379c36e007704b200def2d20082212e029b282900a792700131a36f0179b0eb004ccf0e010219c60129ebd5005524d601315c6d01c7181e02a7ecc30091277c01ecc395004724b8034255aa0125231a02827c4401ee9b230335c9a402c31675072f0fcd0217e01d057d7190027515b600cb9f8d00df874d00b0e6b001bde5d7036225b50132158a0318bd59013030a502972df700aa6cde0050ca05001b456702cb168101b3fc3e02d1015b01916efe03daa21c00dffcd5013b082100bb10f40081d330026aa0d000703bd1006d4dd8022115b903f4633807b18b1303b71d3203535913024afa6203e02ac801bfd9cd03d110a70063845f012be63900fe0bcb0362bc3f0176c1fb024f693600d5b5bd01b7457001cfaba5032e6db4017a53a50092a23401990b040396e35a01918961023ce929014b2a37076aa4ec029744fe04098c8301096a4f02f29e890242b24202b07bc6010e3e2204c4582a01955fb1039700c60194fe7103e05aa3017cd9f7001211e00080427802bf19090131ddcd0031d44600d6ffa40002d10900dd34db02abe0f4015d38ce01f2b302011e5ba401e62e8a01bce6dc00392f3d016f0b9d04b05b98001ce6620460577e02c5599103a64f6b02f84da0011de9e601951556063a0bc10084252402b896f301e3d45301ac97b400c9a99b00f43cea008eeb040143da3c00c0714b0174f3cf0141ac9b00511e9c014f48210211e76d018d6b15027c1a8401af103b0395c93a00cea9c900d079e20015ac0e03953d5e0137399c038c3c91012c6c9503ed919b01d0551f02bf0cd20262625d0696109702ceb9dc008deb2c019fac1502461a1f010c405d021b38c600b13ef801b608f100a66594034d5185016eded701bca98101e707610031703c01d8e5fb00776c8a0027137b028231eb008454910082e69401064abb0005f53601b8dbf10511c2e403efca66046871ca009beb4f041409b2019b01ef04c7943d0273f7d20330dd87003abd0801232e090051410503339eb9017c742e03498c0d01d15cac0292174700c6e0fd02726cb401903a3002dab118019bff3c019a93f200fd865700354be50030c3de031eaf320189d27803cf23de0111f8b301020a65039bc2f8039dcc650167fec5034e3e0402b1ac65016092fb012e0a9c000289a5017304e700f2d7010013231d032aa14f003b95f601fb42b000c82103034f6e8e01c3a11101e43842017a2f91028304a40043aeac0019fd720057615701fadc5400605bc803247d3b0000417604a034f101ecac0603afbfff0100418202debee60065fde70391236d02f91d4d0530001302685a9b0116562001d9d541006f5d7f003c5da903077fb60011ba0e02fc89f601d41930024bee0001f85c460362e08b00b809ff0107a4d000cd83c60157d6c70082d65f00dd95de001726ab02c46ed50018738c06d5b1760060344205749eed020d40b6032d3fae019d5fbe03e0cdb1012a058e03ab63d401f4bb93001d339901e37418021d65cf0013f6960385e705007d86e2014d416200ec822103046e3e00326c7f030671160091145302c1a1e70182b53c00d9d1b101e494d4020283b80075b1bb011c0e1f01b0665004315497017c1f3607139d850112b38b01e0e81a022175aa03a6fcab01488dce0280fa2300484fec01dce5140128caad03624cee01c516e0036bc6c301238d6001ec9e3b01696457006ee20200d0eade009a5d77014970a403425b02011491210365d68901aee66702a2f6a6005df77402a6e01c01c9023905aace54027ae411031a787702760b9305b32fe10167c8b902a40272024c4ed4002d9ab10118c47902519db6005a10be010c93c5005fef98030aeb470056927703ab86d6003c83c400a1e181000c8278025ec8330069e7d203390994012aa8dd037bed8e00c6d332022df56700a4f854009846d001b475b104454fb900f34a2004949ccf02c4c4a105f435ef020e5df6028af03101c3582407a0267b006dc89d01ae4c6701aca92202d701ab017133110088e4c2006e96380269f69f0013b84f03954df0019b50a2000035a9011c975600445e10005c076e0261759501f84de603fc0a8c00d67c5c022276eb00463039051535a602b7903d07b1ffc200d6f83d06396ef60079155106a403e4006a401a0344e88601f2dc35022ddc55007195f70360b36701bd7f0b0087d1b6005f348101aa90ce0179c8cc03a764920029909502453c28007a34b103f5d36501aded080007337800131fad007eef9c018ebdcb00c4805801d685e2031d7dad01c86c32047a643b03fca30305dc94b503d4883906dcb48901ce5836031b21fb0143d63401d2d0640051aa5e0091283500e06fe702221cf401e1c7c302ed11e600d9d9a402a89ddd00c72ea201c7cfa3016b73a2010e60bb01753c4c00b89f9800d1e7470229a4ba01b9993302dcabb6018f8ead04ea2fc100078b10015fa440010fdda604dac51002831d2c03634575013beb58062651ad0247be3d03ba589d00e70b1700ed75a400e1a8df0399727401a298f2011820aa007d627102a7134c00fe9cdc029a340500136fa103465afc01ac6ef0000ac67901fcfff003417bd200ddc2d70278a31101bb076304bd31b60272098501e81a8a03d34484042b777a01b2623304945a6a024632e603099976039e461900a557cd00378aea00ee1e6100719bcf0062997f00226bdb027472ac014bb4ff02f139b301ca22ac0237a231015203ff0370ddbd01bb19e4020f585901461cc60215119501f279fe036aca6301f6cd0e05db2f99026a8927056031c2019433c502b93a0b03692be805c7060e01b4854106dbe4ab01683ee701e3eab30121bdd402f3bbf900be0d500182590100df85ad0009dec601417f4a00a7d85d0188a8c6014291000044662e01ac5a9a00d8804b039f2833009e111b017cf03100eccab003967cc00113c1be005fb63d00a3937c03fea533031a281106d5604e025591da021e24ca01550905006f29c801ed6c6100393e2c0075b80f012df174009801dc039ca5bc00fa0f83013c2c7d0140dcfb034a32b800355a8003e650c20187817f011512bb012c3aa10346932200aef90b02228d1d00ef44b103726e3a00dbbeb10157f5a601bd31f7039153b801ac0e270790d768028ddf780494c89b01d3cf910110b5d902ad205703fe23b50077dfa101c8df5e014506ba03bf43550131a99800901a7b0137f3b30213448800148cbc02fcd00501c77387012bace5019b68bb0097fba700348717009799480093c56b02939e0501db8fce047d9989015798c5060544a702fb9fa503ee4e3601173f370325de5e02ecb70c07ccccd2020027f6021d4ae700876c1d01b3730000757674018406fc019081a10169438d005225e203ede2e401ccd68102a17b6401b879ea002d6ce7004208380383888000ace04202ae9dbc00e6dfe202f1db4500a50e770551a23800727b1404a167550130ef63069a87d7026effa70226c4d60090264f01f9a87d029b619c031634db01951690002c95a501277fb700c44de9017581d203a987e601d577c600e9f02300ea3407037466300114cc9a03b288b1011602030195825901fb119f01463c1a00906b1100b4be3c0125b63b036d473603c412810394e05703dd1598038916b601f99ccd00ec2dd0014e94f2016546d102544eae006590ac019788ed01bfc2880071507d0198048d009b963503c374f500ef724902125211017c7dea032734bf002ad29e039a84a500b2052a01405c280123554d03b1e476008942600272e242005bf04502966f5002a6aeec03e26c6b01bbf24107b551ff0238ceb5032e22b503d3f09e01474b5f029c28180365d25100abc7e40399222900e3af4b0015efc3008ae55f014cc03100757b5701e3e182006a3e3f0301c6ab00fe240d0290bace0094fff4032200a6001e96db015ce4d4005cc63c023d85c801b6293b047cee6d01b3a3ee058b7a520208165803c49d2f01985e3904571eb60253a15504b1927c0293a6070314d0df009cb6f2009b79b900539cae0299107601b953e801df3a79011c175800237d7f01aa059502a30c82019ac41d00a160880007231d01a225fb00032ef203ffd8bc0039aee201cee9020026bb880679bd0901c8757f03b924cc00e719d8044f4e69001386810393cb44028c517d02f7a5c801d69087009737a60125eb5b00152e9a00dffe96032299b4017cb01d012b621e01d77ae603e8a00c0039b90c02ef71070104091002195b6c006dc6cb00089328008186e4037bba280171628402a584170050452c0408f2ee01b7353b04838166033220f30691dfc8017a53b3028690c9018c253805963ce3015a499c01cbacbb0050972f035d89e70123bf3b03e0d1b50149d7d5020576b3019836c1013200e700689d48018ce39a01b5e210025fe15c017214aa0205fa4e00f84bad0334590601ffb3760048ad01002d08ce05ad85df02b83e8503d50b6202c41fd004aaa7f40115e7b50196dab902f6a96101a58bf7011c78950167f833003c451c0218b3c4007c07da02396b5100b8e99c03fb4a240076bc43008d5f3501cb5ea5022d3d3500ce3b73032eecfa0149052001819aee016920e20079bb3d0102a6f10242aaac010ad8b20316c9fc02fc6ef304c77d39026cc060033373ee022579f303c8382102c17682044a601901971ee602263ffd00242dfa03fa01ef00a0d45c012dd1ed00f3215702ec54c901d3129d02d3637f01d96210028aacef00a8c982038ec1a901ed97c101d7682900ef3da5020103f20016cbb102b0cc16008281d5021e0b2903fe9e79029f197201a150c8049c970b0299864e01d836fc003067850468dcc502fda84d0234b317001879f001ff2e60016a3c870261cdf9013ef97703773bd30171b437025a55ed0082d44d013849310056c696005dd1a00045cdb603f35a2b001424b0007a74dd0033a72701e7013f010dc5860402d12203853bca04a6644e022edf4c04b83c3e02b1a67b01840ca1033bae2b04c24590007f2fbf01222c4e0039ea3401ff162801f55e920053e480003c4ee003ff5fd20198afec009f154900b473c40282e16a00ffa786009f0870017744c203afc4c6017530a8035ca9010070c866014a18fe00008d04068c3e3f0282b3bb034c9c9b017656a404a9d09201cf859a03939b3a03a078e806fad59b02de0d2a005e328300b3aa70008c539701367754018c23ef01982d4301ecaf2700369767039d2a4101b1ef87025535cb0095612f02d72311014503460167245a01271aad00b8300d00a3dbd90350060101caaa6c06e7d05d0064c9f90255242301d09a1e05e2c9fb0101bda702633903020c802904c4644b0296cceb0390ae3b0078f895035437e10072d23502c6cc77000ef74a013ffb810043689701878250004f59370374e69d0118608f00d591050045f1780195f35f01712a1400834802009a351403483e6d00b1669804280ccc0179260b05f90a9102ce7d9404f5f4de01282055056fd57e02a1f9560546c67f015109150162270401cb472d014b6f8900ea3be70020305f01cb1f72011dc4b50132f1a7025c6d8e0068902d00eb0cb5013370a4004cfeca01ad0ea2003deb93012a40b902e87dd900f358a7024931080076cc42047bd67b0225dd76059170ec007262b1049659c70256c57004b895a1022b60a504f7b31403bcdbd802273e0d00f38e8d00e5e3ce01abca230374b0e101516e26012af50e011353610031ab0a00df77780019e83d00d4f09303037338019011ef02c911fb01f812f5036275ef00b804b303f5ed330112ef8903a570a60150bc2107b7fa8e0135bbad04cf70c902f52be40168b85801d334c40332756c01fe759b002e5b0f01560e900356e3cc00531a53019f4ce3009f1bd50118976c007590b30288d15200269f0a007385c900dfb69c016ec45d01383ce90005a7690199c5a4006022ba0192852501dc63be00eea654031391ab02c1c5fb025e4e8501fbf8f303e05d8303b986c403d799aa0213769e028b017602569e0f012dd329019201640270744c01d27f6c01670f3000c110660145335f016a809d0089abe9005a7c90016aa1b600af4cec01c88dac01a23a6800e9b43401effd0e03a171fe0125ef8a02332ea600de65210282ba9c026ed03e037b5ea0011eacfe046fae3803ba631b07418afb027c3a80059b98ae01b20cf703fb549e0052c50e02abc8530124272e016acfa70018bd220083b29000ced50400a1e2d20035336903602dbb014db8df03af1dfb004fa056037325b200524dd50152548d01e165d401af58c701f55ef705ab766d01a5b9be0083b5780256fe5d0385f049011ff58f038aa26703b1621202d8cc700080df7803340af300a68c96007d50c8010d6ddb035ada0101fbfc2f026c9c740172317f01cc57d30181cad9031955f9010df586014c59a901f12de6003b62ac01714984024d9b31019d7e540031af2b01fdb554039c67230068c16d0342dd9a00c9ac010606a25800a5011d077b9be5011d9adc0566ef5c02c9016d03c9c601005e028e0124362c00ebe29e03a9fbd601b84d0900614af200dba39503ef237601df725802bfc703006a251803c8a1760160596301e03a670164c79302dd3c6300ea193b0134871b0053035b06a6d8eb02e4e88804673c81022da8ee0426bf43024aa32f048e61620336d8a805a7e9fc01236f16035b542b001ac857015bfd9800ca3846008e084d00500aaf01fcc74c00166e52038001c2000b803d01570e9101fcdebe010f48ae0055a3560239632c012c18bc0219cd0f0013e5d202f743c3003d47b80499c7250395f3790325334b01c85582022b41fa023893f302912b3b01581c350420541803b3331202bc4653000b9cb301628677009e6f6f00779a4901c73f8c022c0d0d0199c0020250482a002ea0b9022b70060092d795011ab06800441c5701ec329901b280fa02cdc1bf01a55c89023428ef00bf01cc02a7ad23028cf32d0124326d030df2c203e29f7a01afafca024539480227df3804cfa23a01a4625d000f6f0c001e084c03837ff6012cf2670045b50f0109d11e0003b37900f1e8da017bc7580102d2ca01bc8251015d65d00167242d004cc118015f1af101a4a2bb0024728c00ca42050324389300850bf3017f55e801f987d405b8b1710259dc4b0344f89202316f32045b165002f3247306a164520106c106017f3d2400fd431e0240ecaa01a011d7023eaf8c00377f04004f70e9006da028008f5307012e1aee03d8a98c014d5ebd03ff92be019247ba02694d7f01e89de9018757ed01cf0dec019b6d2401a164da00b4a31202bd6e0901113f7b03b188b403a47b7b038ebc510645f06c0118700b03e2da3301a732ea03714f6c011e137303b6f06300e3578f0347d9f80165a95f0181959500ee850c01e3cc2300bd731a016608ea0070588f0190f90e00f09eac0263707700c28d99022738530178b02e002a354c018bbf9a045ad15c02ac0d10050448e201cbfe95044fb8cf0064097a027565ab01fbcb00029fcf36022548f901388c0d0109406b025a653401e0b5f8018bff8400e6911100e93817007701f103d4a9970163630902b80fbf01ac676d01ae0dfb01b15807021a3b440109210203f7613b001a1e9201b0930a004c79cf05bb581802b85efe067137c90217324604773506028d429204e3e2f90167c0de01ad44db02a2b824038e6689019c0b17007d2d6200eb5de1023770a0014574f30199f9370180271101f150f400574515015ee449014d424103c1e3e7003d925703ac9b17016f74db02d7260b0182ba85005ed4bb00512f5b04cbfeaf01dd12d702ac446c01e2e44f0325ddd500a3e396061dbe12029fb30b010a5a5e01dcae5800a3d3e501c6883400825fdd018bbce7028a71800174abec0230dc14013a14ab03e36dbc0001e12002c210ae00e3fe880187276900964dce03d1eee20037d48402ee397c00aac25d03f810f70118973e0708970a024e8bb20377f2ca0219dbd5043d7d23018f026c07e4215301502dd801e03e1100c3d97d0062999901b2b06a02825d8a016c3e2403b179200177fc4600dcf82500cc58670180dcfb01d9e307016a31c6013b386b006372ee00dccc5e0149bb0100599a22004ed9a5010dc3f90308e6fd01ba87f50419fc070153cd1b0585027002249e2004e65bed01beaacc039707de026cc03104c0a69201e813b503688e340166101b01fdc8a500c3d9040333bd90017a9ba002568236014d783d030d38290019297d0356a8f500d6a54600d4a90601dad3c202475da401c42167032a8e8d0083e1ac00f4691c003144e10088540d0181392806894d380054963504355f9d028f0db1025e73ba0274177603f3a6f1010bba8700b26acb0160da5d002bfd2d00a49804008b76ef0060011802ea99d301a76e140331efb0005f29e800c1fa3500fea06f02877a2901606c4300d79817018bd1d4002abda300ca2a3203696abd01ab44d903e83a7502e4dcf305c403040224783606029c8601233dab06a3886401d3e80e0459ae0a02c5c641030b03400074717303f7670800e77d12039f1cc5001eb82301df49f9017a142e02863825019a0de50177a12201f43d4900cd7d700089688600d9f61e01ec8e8f00419f66016ba4be00db75ad0122257802c74550001f7cda02491ba001b99ac70346c7fc0068519f0510c82702d23dc0011aee5b0094d90c003b5bd5010a51b70380e67a0171cb910177b44201478ab400e0956a0077526803cf8c2b006209b603cc658601116526005fc5a601caf193003ed0910184f6fb0002a90e000df7b8008e07fe0011c8170357cddf025a81340314ba1e028ee4d205f6eaf801e5451f02afba8701edcd34018b4f2b02feafd9021ff34300f26fe9002c230901e272510104470c012569bf0007753201504f10003f4441019d246e034cf10301e12dfb018e19ce00787bd1011cfeee0104807e035aded701a10fbf0056f0490074b951062af1a302d3dbd2036fa29b02ce657604a7483803c205340447acf2017d169d0790603b01a27998028b105f00c3fec8025196a200772b9102cbac4e01a5e09f006813ed01f47ed003e13bd50075d9c5009848ed00dc1f17020d5ae701bbd440013c65f6015418560001b16d00925320014bb6c00064f1e000b9ed1b01b7655205ea254d01fc861304e7f67a023b6ab300c30b0c026c42eb017d713b023d28a400af68f000022fbb03310c8d00c28bb50386fa6800615cde03d895c901caf176034e974300678eda0394f5ef008a2ac8024f2561017b70a703238a5701811d9303f0574e01cb611301b1d11601d1e37f0262775303d219c60110b3b302904dac0657990e03d8bda7046ae93b032121f3022b707003a17f4f01ccaf0a0028158a026774e400c75f890384bea80191a5ea01b7632700b7dc3602fede85008fdb79023eef0600e1663603fa12f6000422810187248300ce323b010f61b700abd8870364982b0183fb5b0425915f0221cc2606b08c53031781f3034b90250269241a067490ac0342bae5036aa1d5012ea3440394aafd00bb110f00daa0a501aa23f601600d1300a5cb7500d66bc001f37bb10164036800b2f26103fa4c8201d24d2a01fa4f46013ef450016965f6003d883a01ee5bd5000e3b6203a6544d00eb832e0238afc501b83eb8044b40cf00acafd002ae4a2502891bd302937dc2000a595104a7cb650318d5d101ebf536001e23e203087e4600e27d5e029b75140138f87001e6304001a35ca601e0d6e60111788f0037082b01fa01f5016a62a5004a6b6a023404360159b2960103787b01f305590172fa3d01eb9952054c0f110238ee5a015fdfe602eb342f066594a40178cf24051110b90349144a04ba0b65022e30810315efd2014cec81036e4dcc013c486103c6d9fb0129d7cc008591c90138e69201eb64c600924923026bc61401b54fd20351678800f66cb00022113c01124a7202a7aa4e019cef14039429a80027791c044eb38603e5798703add16201f27abe00aba6cd02d37430041c6c4201a1deb6010e771502c227f903fddfe401b6a5c60085be30007cd06d0376af550108d1790130abbd01c247860188db3301b65b8d02309f48002376f5036fbae3013a891f00892ca30072673c0207d59600a20a7103c1684800c9837403b14f5c02cafad5025cc1bd0181ff2206d2bc97028711140313655303d2cea604e4ee4901974a0303a757d7009bbc8503a5814900f04f8503b1d35101ca48a302c0a8a5000ea4c7021dffcc002e485b01a64a6601c72a0003c171e3014117d000e5d8640117ef1a000ae93e017a0ab2011a24ae0164dbc7012da3be020fa82a04a539c6031a1a1a047da5e702fa6c64033ce5790139768a004ccf11020d2270025810a80025d0690322c9d701276a650205ef72002867e202f57f6e013ea73a0084f08e00059e580380499e015d599200e6369200082dad004fa9010073baf7005440830043e0fd03cebd40009a1c51052cb8360355d4e003ff5f49018021eb0533425003f9ae9b0303b32502e9a45d065baffd00c6455703df6a2e00631dd2003ebc72012bea0800a9aff701166d8903e4b62700c0a55e02f465d900ac586000c45e630169ee0b02347ef3005e0165032d930200c97c7c038c0cda000da69d0130fbed0188fa7c0369949201b50dca041b3da702d8980802db822d01c7e6ff05364157015cbf610670fb0e020d695c011acf8d0018cf0d0214323001b9947403d22be1002522a202a3d22a0143176003b5d60801f575890341c332004b0c53024f8ca40009a52401e46ee300f1115a011934d40006df0c038af33900e6704b05f5b7bf01d4bf4503e50f8e0200c3c40389ab2f013f3f6a050fa9d601ceae380557498503a3858c00b10e190192b8350309e3a10177d8f403484de9009dee8b013b41e90046fbd80129b899010dcb70009293fd0057656d012c528501f39635035d98e8013a5d27035793dc014d510d01202ffc018d1372035c6b27037410d305b877d101e2db7f025769ec01a16e170323a66e015aecdd0341ea74026f13f40209e91a0020b7060201bff200da9c3502283c4601a7ec6f0079b97e01ed8ecf03367e3400dc81d0024fcca40142179002d9286c017ecaa400cb210301019e00002560bc01bf314a006d0400005ca70a025ada8701ca42ad0395c2e202c8fd0603ad667902ccbf6e0434c2040250282d0222668f010c6cc6030f1be801fb47ba01b06e72008e037501714d8e00139cc5015c2ffc0035e816013612eb002e23bd03ebd481000260d002c7eec7013aafa403912be700c2d9340302df0c008a36b20254ebcf00e8cf220430343201a5715903092dd8013dad1c046ea5f60275735b037f543c02a690cb04560df300161ee401b171920180aae602fb99810190e12b0046e7050179697e0255f694016d259a02d0035b0031913e00e410a50136ddf902b1d25b005392e2024492ba005dd268020f19ad00e7ba2600bd7a8c01e80d7003686e5d00fb48aa04bf17df011703ca05e05de4029893c7026caa1602f765f603b17c0c019ffe6602360441007dd6b400b76093002d75170283bff9008fb0cb0287b7360191eab10092655601197b8f0121d19800c05a2902520f7d01d4ac5200d7a99000100d220020d164015312f901c511ec01c6bae60430a0b0016e766103ec68eb024e3b5c0244f90b0122ac4a0512764402dd7ca503b342230143aef6002b4a6f017d905603e3ea5b00f2d51802442ceb01dbb4230008f80701652f5c03efcd660171e6ab011fb9c901c1f646037911bb008646c70394039601743f670041687b01d3361301068d58004086f30387356702a81bb404b03118026e36a704c23dd7011e016c013c2a4600b903a203c1952801f67f2602bd7726013c77080160a1db0129cbdd01b1f2a401f49f0a0074c40000055dcd027f7fb3006aedf60394a2d901562514028beec0000909c1006101e2001d260a0000883f01e448d20225865c013bdad005672454030a05c103f1af3d01bea92e05b29393036fbe8b067bac1f02024bfc02d6240f02ae1b1801ff4595016d817600cb5df9008a894002254606009974de00a14a7b00c1634f03753b5e013d0c2b0192b19d002e93bf0010ff26000b331f013c3a62016ec24d019a5bf4008c289001ad0afb00b8d132026b824e00e4b45a04ad07fa021eae3c0428ab1e027363520774c18b01baadc602d96f3802b97bd800f99e340034b45d03c8095b01372da602839bcb0139e86e0034d35901fc00a2010957b7007e882c015e7af50055bcab01935cc600000868001e5fae00dde63401f7f7eb0188ae35032215cc0134e3d605e752c2000b30e303a949b801c5fbfc022b7022028265830746a8bb0283877d0389686101eeb8a803f268540186d8e2038a90ed00bc89960150388c0155a9a703c14e1901db11b403100dc1006289d4038ce0970031f4af00c163af0112639a01ff413e019bd23703f1f40301f90e95009e58d9018acf8606f9e81c022d9cfb03aa38b801ee33ea048d8a830118fef3010ac9c2023e614b04d1efa202c0c81f0175d6f3001847de023528e8014bb76f028f0e5701d54f8803d7c4d400841b8c028205fd007c6c13031bd74b004cde3702e8b63f0044abbf02336fde0109694d034faaeb008f1858032ce779006e81e0053cf65402fc2edb03ee4c210230941202e5254502428616028d9b5e021e9dd302d42a1e03f1e3f702fbb00d0126001f02f0f4ff01a92d0a02fcdef900de728400ff2f0601b3a3b301545e970159d15202e434a901d4ec0001d638e401867797036fc9c10053a035020597420012a21100e9615b0070054e05b4783501745f3f07eb75b900bf7e88038f77e902b63961052ec9bb01a6a577052c647e021562060290965f0177369800d16268008f6f1e02b794f900ebd82e00f8ca9401385f1600f2e1a300d6f7e80346ab130166f4310353675d014379f40152e00d00294f2b03f8cea701d6341502bf201601e46f3c04644a2601155b54021c1c0d03c4e7d702f39ac802de89ed04d2840e025e40ce03103ef701d68379015d174d00cdcc340250bd8800b4db8a018f125e00cc2b8c02bbafdb006f628f03963fa201c032470212923500922d5302b152ee010f855403e1c65d01c8611403777623017132e703a1e59c01c01a0c0471277301cdd48604c4d9a00173815e02c6d7db014adff905fc74b503e6d76803e382f601a67556000e050800ef1d3d01ed5785017c928902cba8df002ea8f5009a691600dcd4a1036a45180176dab503f054c601817ad3038c089901bdb176006059b200ff103002796069017436e803217e6901b943a600e8348a01d2930c04183607022b0fd70631ec2d02bd4481016a93e1021b5d2d02eb8d0f01113da100dc73c000ec9118026ea8a900e03a3f037ea4bc0052ea4b01e09e8600d1446e01d9a6d90033e1a601bbc18f010f07580309cd8c0075c09c01113826001b7c6c01abd737015efdd4009b87a801d0b2990698444a02e73d600268843b02204cc701bdb082010868190649c66601e80170046bdc14035fe646008cc28501389ea40291065001a8c4610155b78200469ede013bedea015f191a03e7af61010b79f8025723c200dbb4fc024908e300c3e34901b86ea10130e9a40180352f00520e7903c0be3a001dae750383172002270a860515331903ee0bb0036d399202748fef059c65760135544c04ccb812012f0448034d705501c03242015d103401076986000c6d4801399cfb009023cc002ca07502316bc200ee43a5036e6ea2009e5328024bd6ea003ad8cd03aa60930127e37201b0e3f10046f9b70188548b01297af7028e097501b0ae890647f78f02ebb97e033d19f7012c403803a0f406022139380568ca53026d93d00006670a01498a410360506401d5ae210331864a016d9782026e54ac0054c74b02f73b7001f5d7b20109b75f00ee1b0802a9cddc00c3e58700624ced01e15b1a0152db2701e0bec701d9c879013eb308038b41ce02b1cf5702f9fc2e0167596e01fdbd9e038ed69e039ff5360333b75c0115c8c2017f217101d101ff00eb6a2b03a634e8009de5dd00331e1900fadd1b01419357014e7bc40041c4df014c2c110155f14400cab7f90340d4d40108219a01473b5000afc23b038c48090064a0f400e6d0380028194b064ec2c2001203c8029f9f7302838ff7016f5d390338ed0b0186de870378a36c017b2bbe01e8bdce024fb64801cff6e001113c0900a1cf26008d6d5b00d80fd303874e6e0062a36803145079019ab2b7017f8f0400683c5202d5100d015fee21019e94e6017e813e0332ffd2013d8dec029c37e0017227f400c0bcfa01e34c350461545103abcb3d0292323701cbebbf0433c5f402572bd3021abf7700bce79a004251a1005cc1a001fae378007b37e200b811480085a80a0215879c01281967032fca3a00a7955103bb86ef00ebb5bd02d88bbc01493052002edae500bdfdfb0032e50c01d28dbf0180f4190196e77a02552fbd0183b7170324b296013289fd04c74e1f0215693204813c000283a35b0615e7bb02ad4fef009d66a401bf52140118b56701ef09ea00017ba40184e90003c9f2f2003cbaf500f110c701cd749e02be7d5b01df56cf007925e701e209c6030e99ef0178e8d9024a7052005f0c390232d6690181dc6105c66224029bd10c0209d43402d8b43706d2aae801d71454039cfa87009d637f06ffcd29029524460136c4c90156740002eaab96001ba3ea00ca87b400d05f00027a9c5d00b73e4b0089ebb600cce1ff03d58bd201017308031c0c6f00349c0100fd15fb0124a51f020b82d3006a12350229639a000ed93d02d70b5c01c7c570029226c70024fc78026aa94d02007b9f07cd4b6602a2afc4042b01f00078bab0020c624c01ec7cf103e792bc01c760e000cc1f2900d0c80d0015e16001ae9cc400f7d07e002bb8f40201ab510055739e0036402d01128a72008747cd00e32f9301dae74200fdd11c00f40fad01f30e76060e96d003b71632075470cf014a71d7053e922b0103e11306e1173e010dffd6022c08cd0144c59702d152d701f4f8f7037ff84600e1f757005a784600d5f55c000d85e2002fb505015ca36901061e8502e7b23d01e595180311319e00e4643d0273f3fb014c4b5c0151db93014ba3fe028cd5f600c2259802602c6402c8253205d3f43902adabb707f74a7002a59c1e04dddd6101f25d4902fa656403d8d95d03fd8abb018dbe34033acbb101c75e340073729e01a49868017e63e201759df4016bc81000ae5ae500790658009c205d027cf1d3010ded9d03a49a1501b7e01603f9189801704d1f00f7ab1701dab1cc0333899101c1b67204dfea9502096f6705c8810402ed8e4e04330628036cd5a5023bcffd022bd7450060610001302dca0078791601ea8b3001c62d2201b5321b0183d25b012d368000af7b6901c68d4e0242f4ef01f43667024d26f201015cf902faae57018a3f9000186c1b0121661201221698002fe57602318f63028fa99505751e9802b1087901089f12025965e603801d770044240b05e7b7370204ff6003a029c1013e8bde000fb3f300ff640f03513587008939950163f0aa0115e6e40230b452012a522b006ef5d900c77d3d002efd34008dc5db00d39fc10037796902b6148100a977aa03cab28b017428b603ab0dca0140b2940407cf2b007a357f0549a13002e2d68006540bf30163560705f44486013d2b150198545e01bd3cfa02ee76e801d5882501714c6b015c68640190ce17016d969a01e467b900da313202864d8b01b8014e0000a19401601de903ce9495019fa800005b80ab01051c13020a6ff70014bb960389e89502743e44033ed8bc01eaea20061b39a001180cf105a83cbf021f838d03ec9f7b014bc55e0273fe03015bb3610278615c01a9700e001595f800f8e3030050606d004bc04a010c5ae2018e6a4401d0727f01712aff02491a4a01f6b39602788c3c009346c803d528a101a0bcc9038c418701df73fc003e2fca02b395ff028137ed02a411ba0309a9c2029b6dda036f8c7b016780df02b08e6c016625db037f4d12016e6c17015bc04b00aef5160303ec3e012a409901e3adfe00ed7a84017f59ba017b528002fb54ae005ab3b101f3d65701663ca203cf820e010a828b00ce81db015dd99d03eee6e60161739f02a36b5f0232da0201d87dc6018bca8006095f440335095d02ad990603caac600444a06e02c22631021a50d500767d7200464643010e8e4903827ab901f214320281ed2800d29f8c01c597410154994200c37e5a0010eeec0176bb660102188503ba45e60038c55c01d5455e014f8ae501ce07e600cb6fe6055ae977010859070501620102934a850731f6b401e3b1700539bd6c01c1cbed0613d1c302930a2301569de2001fa38b0237074b013d5a7400b53ca9008aa2d40250a71f00cd5a70032070e30040977501b1e04901ad90d903e5cc4f01154de803714eea00e0397e0208318d00f293a50168b68c0194840c057a447f02e0572705fa6c0802c5c18f017987cf01ab1646043144740164af2807f669e902a6cb07006ec5da00d7fe1a02a7e2fd001f8f60000b672900b781cb0263f74a01d47e8400d2932c00c7ea1b01942fb5009b5b9e013669af01014e9102659a5f0080cf7f02337cec0181544700ddf3d30085aacf00de6ac700b7545e065ac8380189b673058d6092028488e4046012960236fb42048b660402ca6797001e13f80132b8cf00cac6590037c5e102a85ff90141414403bbea7e00a6df640170eff4007d17c2003a27b600f42c1802ae44b30197769a01b0a28200d972cc02ac7e4e0120de1e0323025b01ef8ef30408ebd70202ab970517d7f501a72fa406ef92cf024481b40443f371028f354802fa2d0e02176ea80044444f016d465f02ad5b900120ce5f038829070112bb990222ff70010891b902319d2500f86f31016608be01e9f3a9013c5517004a27bd007431ef00add5d2002ea16c019e962500c478b9010f62060398c33e0160e64707643d4c0219d4ec03a3611002c53b9204a217c40038183d04b462c102fb93e50361bd18012d36ce03e952f600b76726016d3ecc000af0e000921675018d9a780045d42300d063760179ff03014706c2007511c5017c0f17009a4f9900d65ec503b83793013dfe4e027e5299006e663f036b52a10168bbd4054f8a27003cff5d03470cba00d2fb1f05bda79003e22c13027f43e800d6f96b0287915601832eb000bdbbe301cf168c00d9d374003251ba028afa1f001e40c601879b6400a0ce1702baa2d3010fbc3f00fed031005554bf00f1c0f201987e9101eaa2a201e561d80140877e00ab94df0533002b031a27bd053f88ee00afc4b90062e2d5037d9ff405e1af3c029fe98e05b3f3cf01329859011f6515009019a4028abfd1005b1979002093050027ba7b033e73e6015ca7c6038ed5dc01b39c130318427a00d6a0d903012d3e01694f9202328963015664e703ae91e80164b80103ad097d003f25a10124728d012fde8e03f4ba9a0005aedd023e729b018637a0054f1f87027dfab305ebda2d02011c910110934900f9bd840111bdc001de8ec60347140f01f935ed020e0b12001bd37102d46b38019b9392035f7e300017c16d0125a25e00c79df9021780bb01cc31b2025ca42a012a77eb0158b7ed01c7d201036afe2a02e50a6303a100e200dbed5b0480b2cb02cf325f02cdd05f03f5bf59026dea4f01923df300147a7001f5f6b90266047b00e963e601db5bfc01c6de1603b2f5e901d2f1ea006ffac00155548800653a320182ad9c02762d330175e91002f15ad6005e9fdb010303ea01614c5c024f36e600f2e3e7063318df017038760114840101aad2ec0437f19e01b973130706e5ae00302c00057172a601f348e203cc59f40089e34b01f8ad38004a78f60276030b015078c603877a620191f1dd016dc24e01ccf14601d6c8a90160be2f032e67ae01625c480275e9b401c023e90219e52001ddfcc600cc2b4701b454ac048566be026eee6106e428e602e2cd4006c60ce100a619de00714533018e9f1804a6b84a020ae074029dd0e900c1747e03d30b8501153a8c01cc243301e71e2b00eb46b5013f389202a8125401cf010d03c732b00133d5f502a7d16100bf473700224e9c00e8903a01b94abd00ba8e95023f457f018ecb9307ae97bf0287e7cb06a1b68900a17efb02e820420044cf42041d1c25025c726001fe5cf7012cab4500ca770b01bb763201ff53880146521a0046e3020020eb7901b5299a004786e502c9ff2400299805009a3f490121b67c0079dd960119ccd50129ac57005a9d92036c821400476bc803f266bd00eec291062c58750207cee304be6efd016c8014068455330387b17005d72216038110d0037895aa025f131701a6501f0170f07a00e8b3fa00446eb402d1aa7700df6ca403ce4fe9011ae5e202d06251014f44070083b96400aa1da20310a26b0138150b0164c8b5017e41a601a586cc0068a7a80001a44f006c873b054532800165770d02e2068702a18eb3079e64de021ae0db059d5dc301e98d890010187d03dbce2f0360116201736e0c035f734d005be3e803f7fe4f015be5060257c68b00ce4b8100fa4dce018df47b018a45dc002097060183a71601ec44a702c6bd9600a3ab8a0332bc06015e1d890293e2b300a26bd003851f520196652d0380cae102df4893042f8a9701c240ce02ecda9e02691d8902fcbde901670f1103c161ff00b22da902c5e19b0027307503866a73006126b500962f41015282e502f526810049ef9a025a637f00a16f2103edd9f20182b9c303d4bf9e012896da0084a983005954fc01ab4680017df8cb020032b4017b4c5505fa6f50026242ef0399edb601dc7e850648cc6301409377036238a7033cf89503739be401ec2b0e0244890b0115faf1015b7a8f01ccf9f300d41a3c012fb6b0013017bf01cb7998022c4ad5013d5a1202f4a3e601b86a740352239f000c2102034f223e001057ae03ac655500ca2451069e45cc013fe1bb0439ce5e0255902f00e556f5023e91be01250527026cfb1a048893ea00a27991038f74ce01c4e8b903b6be8c01480cfe038a14f201a95aef036042bb01f4b58702dd883400f5053302ca2f4e009865d80049177d00fe602101ebd249012ad1580107816d007a68e402a9f2cb00dfcc8703c91ce90140067f049e904702638c5f044d960d02fa6b7601b63a7d0100266c038cbdd101f59a7d0171a35b01784fbe0385ef6c014b2ff800a3e4ef00116f0a0058954b01d6ebef00a79f18011c976c036ad1bc00e9e763021bca9401ad238a036d1844010145b5006b66520066ed07005c24ed01caa2530137ca060385ea870317fade00415ea802f4f8d201a66cc902fea16f02cc08fe00880d740264b084032ad77e01b08582039d4f940043e025010cce15013d226e01ed68af014f846f038dae480054e5b40268b38c0040f80f03e88a1000f5437b02d979d4013e5fda01d58589018eb652032f1c0b00e1728d01d1af4c039bb59607b8e50303a29d6f05e6bd8b0077cabe03d96a400143eb3f065e1aac01bb2f0b01d712fb0150545900443a80005e7105015c81d001600f5302081cbc00ef09a4003ccd9800c0a36203b7123c00d9b68b006d3b780103c0fb00a9d2f00124ac5c0293d3f501b2413400fd0d7300a6aece0571bc9501ec5aad042ac7c001576c710433234c0042199407db04070395f17203bdd1e8024f32c7009796d501114a2401352807001387410319ac4500aeed5500635f29000338100027a0b101c86ada02b84454015aba3d02428f8d010cf4a6036272c600c76ea303c012ba007ceff6016e441600dcea2e05d33c6b02682a69050de69802060583048c689a01d403060482e4a201b2641c05e67b5503bb0edf01fd60e6002698950162897a00d6cd0303e198b301058589009e458c0170a29a03b3f3ac0108bd73038e2edc01d486e1037d1d4500bc2b8901f24609005accff03e6aa930017381302377d9d010ab3da034eb6fd0125d4bf0528eb7c0060971c048694be00cdf9270632608801d32c880342d18303fc821703da801401c58176006c650b00b20592013e076401b4ec5e021b1aa4004c16700377664f00cac0e501c8b0d7002940f403cdb84e00a72d3f01a02300013a0c8e03cb099001da5ee5017a1b7000aa696d033fd04a01fa7f370501e2c6022b4cd10496984d01d1172e05c8ab45012bd3e704bd25e001e2c43e03a8b5de0121d3110077f1c501e423980115452801b1e2a10094b3c100dbc2fe0128ce3301e75cfa014399aa001594f100aa4552017812e7035b720300b83ee600e1c957019160a203b4f2dc009abbdd05e13eaa01377ed905740de301b22cef049c8d9b018fdd5304ead1d0002a11a501fb5185027cf5c90260d3180152d6a6009a240901f72f7f005adb8c01a0d92602d3933f0141549401cf030100d38659017f4e7a01df9b010351884a00b29cd003b9193101dd03d201e596be0154a2340328548d01367b54065b11960077131c051f16d7011b17cc038df13403e2347d041c4ccf00d7a7fa06ada4e60237cf69016dbbf501a02cdc0129658001a6105e005dd66b01754800024f3dea0178af7d008ba9fb004e279302f9c43101a4b36e02de46bb01158e7d019ab38a0175b02a010aae99009c5c6600a80da10169102004f9c5b401caa32c0556202402a099140779fc0f0218e350043b588e021016c9019acd4d03273f2f00087a8d008017b602cb27130103701d0316248c01d1ea740234323f0178ab68039fdb5e0057520e02e62a0500a58b7f02554e2600823c4202ca1e2d012dc47a01f935a201878f6702d6d27200d407a002a8982a036d2df6048d8387018247cc0722e20b02ff1bf203e08ad501f62ed802f403b7026cfc4a01ce1a3001cc36f603d2c624017823320034d8ca01258b8102f149940043e78d03292fcc004e74190104e1bf010593e4003a58b1007aa5e503fb53c901dfa76001b1b89e01f169b301f8c6f0007242cb01fe242f022c187307753efe00c4e1ba027a8dac0219552903e16fb700d5e79704033b0701ee8a9400429321011ef68d03d08d740167701f0058a1ac0053d7e6022e6f97002d263401842dcc008a806d02e8758601f2bead02f0ecf000527fec0227dfa1016db6e1037aaeef0087f2910133d19a0083037302d8a4fc01369c4505535eff01e7492d051313d4015fc53b025ffb210225c7490140acf70175743803e31112003e8a6701f6e5a401f376c90255209f016c22890155d3ba000ac1c10279c2b1007aee6603a1daab006cd9a1019eaa2200b02f9b01b5e40b01079c0000104b5d00ce62ff013a9a2300f9f2b80641754203e4e57b04c82a6e0285e4b202b96c760338139a0351a93e03708f7305eec43201ad30c10392025401958693025ee849006de33402be890a0028cc1e024b346101a3eb7e00fe7cbc004ab61501791d2301f01e070254dad60106549602501b75019f9f98024118dd01e20a3c018d876600bdbd960175b35c028316880377c71c0214814f06b4094102d9a3a904f593c6016a2690014eafcd01c305fa022e581d01a32fcc032a3706018286cf027364d600608c4b016adc9000c3201c01ac510501b4b334032454cb00aa70ae000b045b0045f41b0175835c002198af038b996b01fa872b02568a0401b3ea930278985403cb659b059c091902476a11026b990001bce5ba04c008b001ad95d104ed821d02e9d67e013de2660039a30401c66f33012c4f4e0173d20a01d90919039d8bc601d252bb024f8553008a81e601f3858601278810004d6b4f01b6555c01b1ccca00a34793039745be00ac33bc01fad2ac01c0f2710558591a033e426f0672982a02a0271b033550fe0269d17305667c6102dce662031ee70602b2c078020ed9cb017b9e4f007091f7005cfa3001a3b5c101242f8e028fbda5012d92f000064b8000299dc8025679d5000171ec00052dfa00900c52001f6ce700e1ef7703a607bd01bae484036dbd22004b2ccc01a234c5024dbcf10637148d02f3922f05cd6433027c6b94021ac34d0297fd5a05068f900133251f002277260106c5760099bcd30097147402f4413401b3fd6e012fb1d100a163110375deca006ab3fc017b367e019039bf0037ba79000af38a00cdd3e5017c9cf102939cb901e213bc037b2920010c22ce0210395302cb162503296062027666b80103be1c026d52da03c7ccc001c891760474cc920271206201c0c279006aa1f801ed587c0017d41a00cdab5a01f730d8018d25e6017bcb00029da81e01c3f8150070bb07014a85ef0349e3f301f9934600d678a200a709b303159e1200da4dd101616d5101e121b3033834390140acd203f847d1018da9ee049dbd9901adfe670261210e028c4ce603708b34010f3ad400a8d7c901f7ccd701df44a001389ab7022ee779006aa6890051888a00a52b3300e78b3d00395f3b0275621901963fec015ebefa01a8b9720105fa3a014a696101d7df86007163a301803e70003d6a9304a2c30a0220cdb604d50eae018026e70334b6df00622a9f03f60d2802bbd2b10505150003ff3d9402882d8101581a74027d267200fb32f20278868001cbf9a702a4ebd700cab1f300858d3e00f082be016eafff000014920125d27901062782008efa54018cc8cf00095f68010af4ae0086e87e0094017b020fc19501e7e9ef05d4467001fb74a002f1dedc01cc55e30406b93a0275f73f05734db1013ef5c8023e1225016a35e80231ddd300a2db0702015e2b00b63eb6029f4ec801868caa00ebb8e400af358a024f3a4d0197c902013fc42200051eb800abb09a00793bce0026632700ac504d02ff859700a721f1025dfddf012b72fc046b7e3903c7280d0725e51b0126ef1701977933039796f80409eaae0176f60402c7f5260045a1f20110b2960071388200ab1f69001a586c03302a6a00fba94200455d95000139fe00a4196f005abc5a03cb04c50028d53201d4608401578ab402e3927c01b7f6f70041755601fd66d202fd792402887303073a18d80086121d043ae26102af8e470406d1a100bd54330699fa4800d554eb032cdee000ee948f03a92a35014da77500ba0028017cb1670344e14200e30758014bac0600962de30110244601310209038ac116008fb7e702d9453200ec38a101d5832a008a912c0287e528011e3f23033c91f50164c00202e7a771029768260179b9da00798bd30276f0230240bdd902bab3a201a0bbe6003ef80e013b4e6100fff7a301e03b5b036a473a01f02f21013275ec00dbb13f02f35ab30010c2d703bc4332011687810068bd2501b839c200233ee701dbf86c000ce7b2008f505b01835d650190270201fffab2000511ec028a202e02cbbc2606f3733403bd714902be6c45011545f50117cbb2009763aa0041f86f00256c99033f25450000583e0258949001be44e001f127350029cbed03907ec201ca2afd031863970061fddf014a73310105af48033ab0cb007cb7f901e4e46300810ccf02a7c0c301b9b0100696eaab024c255503207887018dc2e3011fd63a02d4bb7d03e72e3c01bd742a0296b21301333eed02cbecc100c2e83c00ac229d01bc10b80266035f018ce9240228190b0114c3a60076f52d0043d595039e0c1201baa4e301a01905000c4ec3012bc5e100308e2902c39b3c01dec7120191889c00fc75a90290e2ee02ee176b046cb5bc01e570310248aaed01e6b7e3034fdc1402c16b7f057ecd65002e34c501d2ab240157035a0337978d0060bbff03294ec800fe464601f47da800cc448a017cd746006642c8021034e40075dc8f02caf87b003812ae03b997a40132e8d001a0e42b01f81d190144be3f00010000000000000000000000000000000000000000000000000000000000000000000000000000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f666f6c64686173682d302e312e352f7372632f6c69622e7273005c0e12005b00000018010000210000005472616e73616374696f6e2063616c6c206973206e6f74206578706563746564496e6162696c69747920746f2070617920736f6d6520666565732028652e672e206163636f756e742062616c616e636520746f6f206c6f77295472616e73616374696f6e2077696c6c2062652076616c696420696e20746865206675747572655472616e73616374696f6e206973206f757464617465645472616e73616374696f6e20686173206120626164207369676e61747572655472616e73616374696f6e2068617320616e20616e6369656e7420626972746820626c6f636b5472616e73616374696f6e20776f756c6420657868617573742074686520626c6f636b206c696d697473496e76616c69645472616e73616374696f6e20637573746f6d206572726f72412063616c6c20776173206c6162656c6c6564206173206d616e6461746f72792c2062757420726573756c74656420696e20616e204572726f722e5472616e73616374696f6e206469737061746368206973206d616e6461746f72793b207472616e73616374696f6e73206d757374206e6f742062652076616c6964617465642e496e76616c6964207369676e696e67206164647265737354686520696d706c6963697420646174612077617320756e61626c6520746f2062652063616c63756c61746564546865207472616e73616374696f6e20657874656e73696f6e20646964206e6f7420617574686f72697a6520616e79206f726967696e436f756c64206e6f74206c6f6f6b757020696e666f726d6174696f6e20726571756972656420746f2076616c696461746520746865207472616e73616374696f6e436f756c64206e6f742066696e6420616e20756e7369676e65642076616c696461746f7220666f722074686520756e7369676e6564207472616e73616374696f6e556e6b6e6f776e5472616e73616374696f6e20637573746f6d206572726f72496e76616c696420696e686572656e7420706f736974696f6e20666f722065787472696e73696320617420696e64657820000089111200310000004f6e6c7920696e686572656e74732061726520616c6c6f77656420696e207468697320626c6f636b45786563757465426c6f636b4572726f72206170706c79696e672065787472696e7369633a200000ec111200260000000100000000000000c80e1200e80e1200210f1200480f12005f0f12007e0f1200a40f1200ce0f1200ed0f1200281012006e10120085101200b2101200200000003900000027000000170000001f000000260000002a0000001f0000003b00000046000000170000002d00000036000000e8101200291112006a11120041000000410000001f000000617373657274696f6e206661696c65643a206c656e203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e7273000000bd121200800000006501000009000000617373657274696f6e206661696c65643a20696478203c204341504143495459bd12120080000000b102000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e2829bd121200800000004a07000005000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e7400bd12120080000000f80500000d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273f01312008400000058020000300000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f737065635f66726f6d5f697465725f6e65737465642e727300841412008300000034000000050000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f696e5f706c6163655f636f6c6c6563742e72730000181512007e000000fb000000010000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300a81512006f00000096030000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000281612007d000000b3070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300b816120067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e727300000030171200710000002a020000110000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e0000003818120009000000b4171200840000004e0000001f000000b41712008400000048000000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000006c1812007d000000b3070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273fc18120084000000c600000027000000fc18120084000000160200002f000000fc18120084000000a1000000240000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273b0191200600000002f0200001700000050617468206e6f742061737369676e6564000000b019120060000000b20000001e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000441a12007d000000b3070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702e727300d41a12007f000000c607000046000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20656d70747920696e7465726e616c206e6f6465000000641b12003d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e7273ac1b120080000000460500001f000000617373657274696f6e206661696c65643a2073656c662e686569676874203e2030000000ac1b1200800000006002000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e2829ac1b1200800000004a07000005000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e202b20636f756e74203c3d20434150414349545900ac1b120080000000f70500000d000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e7400ac1b120080000000f80500000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f6465ac1b1200800000002706000016000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e202b20636f756e74203c3d2043415041434954590000ac1b120080000000360600000d000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e203e3d20636f756e74ac1b120080000000370600000d000000ac1b1200800000006706000016000000617373657274696f6e206661696c65643a206d6174636820747261636b5f656467655f696478207b0a202020204c6566744f7252696768743a3a4c6566742869647829203d3e20696478203c3d206f6c645f6c6566745f6c656e2c0a202020204c6566744f7252696768743a3a52696768742869647829203d3e20696478203c3d2072696768745f6c656e2c0a7d0000ac1b120080000000c905000009000000617373657274696f6e206661696c65643a206e65775f6c6566745f6c656e203c3d2043415041434954590000ac1b1200800000007c050000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273c41e12008400000058020000300000006361706163697479206f766572666c6f77000000581f12001100000000000000080000000800000013020000000000000400000004000000140200005765696768747265665f74696d6570726f6f665f73697a65506f7374206469737061746368207765696768742069732067726561746572207468616e20707265206469737061746368207765696768742e2050726520646973706174636820776569676874206d617920756e646572657374696d6174696e67207468652061637475616c207765696768742e204772656174657220706f73742064697370617463682077656967687420636f6d706f6e656e7473206172652069676e6f7265642e0a0909090909507265206469737061746368207765696768743a202c0a0909090909506f7374206469737061746368207765696768743a20000000ac1f1200c4000000702012001d0000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f64697370617463682e727372756e74696d653a3a6672616d652d737570706f72746672616d655f737570706f72743a3a64697370617463685965734e6f3a7472616e73616374696f6e5f6c6576656c3a57652061726520756e646572666c6f77696e6720776974682063616c63756c6174696e67207472616e73616374696f6e616c206c6576656c732e204e6f742067726561742c20627574206c65742773206e6f742070616e69632e2e2e2c2112005c0000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f7472616e73616374696f6e616c2e72736672616d655f737570706f72743a3a73746f726167653a3a7472616e73616374696f6e616c506179734469737061746368436c6173734e6f726d616c4f7065726174696f6e616c4d616e6461746f72792f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e72733422120070000000ea010000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000b42212007d000000b30700000900000034221200700000008d0500001b0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e72735423120084000000c6000000270000002e0000000100000000000000e82312000100000042616c616e63655374617475736672616d655f737570706f72743a3a7472616974733a3a746f6b656e733a3a6d6973634672656552657365727665642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000382412007d000000b3070000090000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f686173682e7273496e76616c696420726576657273653a2068617368206c656e67746820746f6f2073686f72740000000b251200260000006672616d655f737570706f72743a3a686173682e01000000000000004f251200010000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300602512006f000000a2000000190000004572726f723078436f727275707465642073746174652061742060603a200000e725120014000000fb251200030000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f737570706f72742f7372632f73746f726167652f756e6861736865642e727372756e74696d653a3a73746f726167656672616d655f737570706f72743a3a73746f726167653a3a756e6861736865642f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e72738f261200710000002a02000011000000436f77544f7074696f6e4e6f6e65536f6d652f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e72730022271200710000002a0200001100000044697370617463684576656e74496e666f6672616d655f73797374656d50686173654170706c7945787472696e73696346696e616c697a6174696f6e496e697469616c697a6174696f6e4c61737452756e74696d6555706772616465496e666f2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e727304281200600000002f020000170000000428120060000000240100001900000050617468206e6f742061737369676e65640000000428120060000000b20000001e0000006e6f726d616c546d616e6461746f72796f7065726174696f6e616c2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273c32812007d000000b3070000090000006d61785065724469737061746368436c6173733c7533323e626173655f65787472696e7369635765696768746d61785f65787472696e7369634f7074696f6e3c5765696768743e6d61785f746f74616c7265736572766564626173655f626c6f636b6d61785f626c6f636b7065725f636c6173735065724469737061746368436c6173733c57656967687473506572436c6173733e776569676874636c6173734469737061746368436c617373706179735f66656550617973753332737065635f76657273696f6e636f6465633a3a436f6d706163743c7533323e737065635f6e616d65436f773c277374617469632c207374723e5065724469737061746368436c6173736672616d655f737570706f72743a3a646973706174636854000000000000000100000001000000230200002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f6672616d652f73797374656d2f7372632f6c696d6974732e72734275696c6465722066696e6973686564207769746820606275696c645f6f725f70616e6963603b205468652070616e69632069732065787065637465642069662072756e74696d65207765696768747320617265206e6f7420636f7272656374802a120044000000b4010000160000003c7761736d3a73747269707065643e426c6f636b4c656e6774686672616d655f73797374656d3a3a6c696d69747357656967687473506572436c617373426c6f636b57656967687473417474656d7074656420746f207573652066756e6374696f6e616c69747920746861742072657175697265732073797374656d2072616e646f6d6e65737321210000007d2b1200400000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f67657472616e646f6d5f6f725f70616e69632d302e302e332f7372632f6c69622e7273000000c82b1200650000001d00000037000000010000000000000001000000000000000000000000000000010000000000000082800000000000008a8000000000008000800080000000808b800000000000000100008000000000818000800000008009800000000000808a00000000000000880000000000000009800080000000000a000080000000008b800080000000008b0000000000008089800000000000800380000000000080028000000000008080000000000000800a800000000000000a0000800000008081800080000000808080000000000080010000800000000008800080000000802f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6b656363616b2d302e312e342f7372632f6c69622e72734120726f756e645f636f756e742067726561746572207468616e204b454343414b5f465f524f554e445f434f554e54206973206e6f7420737570706f72746564210000182d120059000000eb000000090000000000000000000000010000002502000026020000270200006b65792d76616c756520737570706f7274206973206578706572696d656e74616c20616e64206d75737420626520656e61626c6564207573696e672074686520606b76602066656174757265dc2d12004c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6c6f672d302e342e32322f7372632f5f5f707269766174655f6170692e7273000000302e1200610000002d00000009000000000000000400000004000000290200002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f6d65726c696e2d332e302e302f7372632f7374726f62652e727301a8010001605354524f424576312e302e320000b42e12005c0000005e00000009000000b42e12005c0000005f00000009000000b42e12005c000000680000000d000000b42e12005c000000720000000d000000b42e12005c0000007c0000001500000000596f75207573656420746865205420666c61672c207768696368207468697320696d706c656d656e746174696f6e20646f65736e277420737570706f727400752f12003e000000b42e12005c0000009100000009000000596f7520747269656420746f20636f6e74696e7565206f702020627574206368616e67656420666c61677320746f2000cc2f120019000000e52f120016000000b42e12005c000000880000000d000000646f6d2d736570526561736f6e7370616c6c65745f62616c616e6365733a3a74797065734665654d697363416c6c4578747261466c61677341646a7573746d656e74446972656374696f6e496e63726561736544656372656173652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72730077301200600000002f020000170000007730120060000000240100001900000050617468206e6f742061737369676e65640000007730120060000000b20000001e000000753132382f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e727320311200600000002f020000170000002031120060000000240100001900000050617468206e6f742061737369676e65640000002031120060000000b20000001e0000007265696e6974636f6d7075746573746f72616765626c6f636b5f6c656e6774684576656e7470616c6c65745f676c7574746f6e3a3a70616c6c657454686520604576656e746020656e756d206f6620746869732070616c6c65740000ff3112001f00000050616c6c6574496e697469616c697a6564436f6d7075746174696f6e4c696d697453657453746f726167654c696d6974536574426c6f636b4c656e6774684c696d69745365745468652070616c6c657420686173206265656e2028726529696e697469616c697a65642e0000000000006e32120024000000626f6f6c57686574686572207468652070616c6c657420686173206265656e2072652d696e697469616c697a65642e00a43212002b00000054686520636f6d7075746174696f6e206c696d697420686173206265656e20757064617465642e00d832120027000000466978656455363454686520636f6d7075746174696f6e206c696d69742e000010331200160000005468652073746f72616765206c696d697420686173206265656e20757064617465642e000000000030331200230000005468652073746f72616765206c696d69742e000000000000603312001200000054686520626c6f636b206c656e677468206c696d697420686173206265656e20757064617465642e803312002800000054686520626c6f636b206c656e677468206c696d69742e00b0331200170000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273d0331200600000002f0200001700000050617468206e6f742061737369676e6564000000d033120060000000b20000001e00000052656c656173657370616c6c65745f7472616e73616374696f6e5f7061796d656e745631416e6369656e7456322f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d62697033392d322e302e312f7372632f6c69622e7273913412005f000000500100002a0000006162616e646f6e6162696c69747961626c6561626f757461626f7665616273656e746162736f7262616273747261637461627375726461627573656163636573736163636964656e746163636f756e74616363757365616368696576656163696461636f7573746963616371756972656163726f7373616374616374696f6e6163746f726163747265737361637475616c61646170746164646164646963746164647265737361646a75737461646d69746164756c74616476616e63656164766963656165726f6269636166666169726166666f7264616672616964616761696e6167656167656e746167726565616865616461696d616972616972706f72746169736c65616c61726d616c62756d616c636f686f6c616c657274616c69656e616c6c616c6c6579616c6c6f77616c6d6f7374616c6f6e65616c706861616c7265616479616c736f616c746572616c77617973616d6174657572616d617a696e67616d6f6e67616d6f756e74616d75736564616e616c797374616e63686f72616e6369656e74616e676572616e676c65616e677279616e696d616c616e6b6c65616e6e6f756e6365616e6e75616c616e6f74686572616e73776572616e74656e6e61616e7469717565616e7869657479616e79617061727461706f6c6f67796170706561726170706c65617070726f7665617072696c61726368617263746963617265616172656e61617267756561726d61726d656461726d6f7261726d7961726f756e64617272616e67656172726573746172726976656172726f776172746172746566616374617274697374617274776f726b61736b61737065637461737361756c746173736574617373697374617373756d65617374686d616174686c65746561746f6d61747461636b617474656e6461747469747564656174747261637461756374696f6e617564697461756775737461756e74617574686f726175746f617574756d6e6176657261676561766f6361646f61766f69646177616b65617761726561776179617765736f6d65617766756c61776b77617264617869736261627962616368656c6f726261636f6e626164676562616762616c616e636562616c636f6e7962616c6c62616d626f6f62616e616e6162616e6e6572626172626172656c796261726761696e62617272656c6261736562617369636261736b6574626174746c6562656163686265616e626561757479626563617573656265636f6d65626565666265666f7265626567696e626568617665626568696e6462656c6965766562656c6f7762656c7462656e636862656e65666974626573746265747261796265747465726265747765656e6265796f6e6462696379636c6562696462696b6562696e6462696f6c6f6779626972646269727468626974746572626c61636b626c616465626c616d65626c616e6b6574626c617374626c65616b626c657373626c696e64626c6f6f64626c6f73736f6d626c6f757365626c7565626c7572626c757368626f617264626f6174626f6479626f696c626f6d62626f6e65626f6e7573626f6f6b626f6f7374626f72646572626f72696e67626f72726f77626f7373626f74746f6d626f756e6365626f78626f79627261636b6574627261696e6272616e64627261737362726176656272656164627265657a65627269636b62726964676562726965666272696768746272696e67627269736b62726f63636f6c6962726f6b656e62726f6e7a6562726f6f6d62726f7468657262726f776e6272757368627562626c65627564647962756467657462756666616c6f6275696c6462756c6262756c6b62756c6c657462756e646c6562756e6b657262757264656e6275726765726275727374627573627573696e65737362757379627574746572627579657262757a7a63616262616765636162696e6361626c656361637475736361676563616b6563616c6c63616c6d63616d65726163616d7063616e63616e616c63616e63656c63616e647963616e6e6f6e63616e6f6563616e76617363616e796f6e63617061626c656361706974616c6361707461696e636172636172626f6e63617264636172676f6361727065746361727279636172746361736563617368636173696e6f636173746c6563617375616c636174636174616c6f67636174636863617465676f7279636174746c65636175676874636175736563617574696f6e636176656365696c696e6763656c65727963656d656e7463656e73757363656e7475727963657265616c6365727461696e63686169726368616c6b6368616d70696f6e6368616e67656368616f73636861707465726368617267656368617365636861746368656170636865636b636865657365636865666368657272796368657374636869636b656e63686965666368696c646368696d6e657963686f69636563686f6f73656368726f6e6963636875636b6c656368756e6b636875726e636967617263696e6e616d6f6e636972636c65636974697a656e63697479636976696c636c61696d636c6170636c6172696679636c6177636c6179636c65616e636c65726b636c65766572636c69636b636c69656e74636c696666636c696d62636c696e6963636c6970636c6f636b636c6f67636c6f7365636c6f7468636c6f7564636c6f776e636c7562636c756d70636c7573746572636c75746368636f616368636f617374636f636f6e7574636f6465636f66666565636f696c636f696e636f6c6c656374636f6c6f72636f6c756d6e636f6d62696e65636f6d65636f6d666f7274636f6d6963636f6d6d6f6e636f6d70616e79636f6e63657274636f6e64756374636f6e6669726d636f6e6772657373636f6e6e656374636f6e7369646572636f6e74726f6c636f6e76696e6365636f6f6b636f6f6c636f70706572636f7079636f72616c636f7265636f726e636f7272656374636f7374636f74746f6e636f756368636f756e747279636f75706c65636f75727365636f7573696e636f766572636f796f7465637261636b637261646c6563726166746372616d6372616e656372617368637261746572637261776c6372617a79637265616d637265646974637265656b63726577637269636b65746372696d65637269737063726974696363726f7063726f737363726f75636863726f77646372756369616c637275656c6372756973656372756d626c656372756e636863727573686372796372797374616c6375626563756c74757265637570637570626f617264637572696f757363757272656e746375727461696e637572766563757368696f6e637573746f6d637574656379636c6564616464616d61676564616d7064616e636564616e676572646172696e676461736864617567687465726461776e6461796465616c646562617465646562726973646563616465646563656d6265726465636964656465636c696e656465636f72617465646563726561736564656572646566656e7365646566696e656465667964656772656564656c617964656c6976657264656d616e6464656d69736564656e69616c64656e7469737464656e79646570617274646570656e646465706f7369746465707468646570757479646572697665646573637269626564657365727464657369676e6465736b6465737061697264657374726f7964657461696c646574656374646576656c6f706465766963656465766f74656469616772616d6469616c6469616d6f6e6464696172796469636564696573656c646965746469666665726469676974616c6469676e69747964696c656d6d6164696e6e657264696e6f73617572646972656374646972746469736167726565646973636f76657264697365617365646973686469736d6973736469736f72646572646973706c617964697374616e63656469766572746469766964656469766f72636564697a7a79646f63746f72646f63756d656e74646f67646f6c6c646f6c7068696e646f6d61696e646f6e617465646f6e6b6579646f6e6f72646f6f72646f7365646f75626c65646f76656472616674647261676f6e6472616d616472617374696364726177647265616d647265737364726966746472696c6c6472696e6b64726970647269766564726f706472756d6472796475636b64756d6264756e65647572696e6764757374647574636864757479647761726664796e616d696365616765726561676c656561726c796561726e6561727468656173696c7965617374656173796563686f65636f6c6f677965636f6e6f6d796564676565646974656475636174656566666f72746567676569676874656974686572656c626f77656c646572656c656374726963656c6567616e74656c656d656e74656c657068616e74656c657661746f72656c697465656c7365656d6261726b656d626f6479656d6272616365656d65726765656d6f74696f6e656d706c6f79656d706f776572656d707479656e61626c65656e616374656e64656e646c657373656e646f727365656e656d79656e65726779656e666f726365656e67616765656e67696e65656e68616e6365656e6a6f79656e6c697374656e6f756768656e72696368656e726f6c6c656e73757265656e746572656e74697265656e747279656e76656c6f7065657069736f6465657175616c6571756970657261657261736565726f646565726f73696f6e6572726f7265727570746573636170656573736179657373656e6365657374617465657465726e616c65746869637365766964656e63656576696c65766f6b6565766f6c766565786163746578616d706c6565786365737365786368616e67656578636974656578636c75646565786375736565786563757465657865726369736565786861757374657868696269746578696c6565786973746578697465786f746963657870616e646578706563746578706972656578706c61696e6578706f736565787072657373657874656e64657874726165796565796562726f7766616272696366616365666163756c7479666164656661696e74666169746866616c6c66616c736566616d6566616d696c7966616d6f757366616e66616e637966616e746173796661726d66617368696f6e666174666174616c666174686572666174696775656661756c746661766f726974656665617475726566656272756172796665646572616c666565666565646665656c66656d616c6566656e6365666573746976616c66657463686665766572666577666962657266696374696f6e6669656c6466696775726566696c6566696c6d66696c74657266696e616c66696e6466696e6566696e67657266696e697368666972656669726d666972737466697363616c666973686669746669746e657373666978666c6167666c616d65666c617368666c6174666c61766f72666c6565666c69676874666c6970666c6f6174666c6f636b666c6f6f72666c6f776572666c756964666c757368666c79666f616d666f637573666f67666f696c666f6c64666f6c6c6f77666f6f64666f6f74666f726365666f72657374666f72676574666f726b666f7274756e65666f72756d666f7277617264666f7373696c666f73746572666f756e64666f7866726167696c656672616d656672657175656e746672657368667269656e646672696e676566726f6766726f6e7466726f737466726f776e66726f7a656e66727569746675656c66756e66756e6e796675726e616365667572796675747572656761646765746761696e67616c61787967616c6c65727967616d656761706761726167656761726261676567617264656e6761726c69636761726d656e746761736761737067617465676174686572676175676567617a6567656e6572616c67656e69757367656e726567656e746c6567656e75696e656765737475726567686f73746769616e7467696674676967676c6567696e676572676972616666656769726c67697665676c6164676c616e6365676c617265676c617373676c696465676c696d707365676c6f6265676c6f6f6d676c6f7279676c6f7665676c6f77676c7565676f6174676f6464657373676f6c64676f6f64676f6f7365676f72696c6c61676f7370656c676f73736970676f7665726e676f776e677261626772616365677261696e6772616e7467726170656772617373677261766974796772656174677265656e6772696467726965666772697467726f6365727967726f757067726f776772756e746775617264677565737367756964656775696c7467756974617267756e67796d68616269746861697268616c6668616d6d657268616d7374657268616e646861707079686172626f7268617264686172736868617276657374686174686176656861776b68617a617264686561646865616c7468686561727468656176796865646765686f6768656967687468656c6c6f68656c6d657468656c7068656e6865726f68696464656e6869676868696c6c68696e7468697068697265686973746f7279686f626279686f636b6579686f6c64686f6c65686f6c69646179686f6c6c6f77686f6d65686f6e6579686f6f64686f7065686f726e686f72726f72686f727365686f73706974616c686f7374686f74656c686f7572686f7665726875626875676568756d616e68756d626c6568756d6f7268756e6472656468756e67727968756e74687572646c6568757272796875727468757362616e6468796272696469636569636f6e696465616964656e7469667969646c6569676e6f7265696c6c696c6c6567616c696c6c6e657373696d616765696d6974617465696d6d656e7365696d6d756e65696d70616374696d706f7365696d70726f7665696d70756c7365696e6368696e636c756465696e636f6d65696e637265617365696e646578696e646963617465696e646f6f72696e647573747279696e66616e74696e666c696374696e666f726d696e68616c65696e6865726974696e697469616c696e6a656374696e6a757279696e6d617465696e6e6572696e6e6f63656e74696e707574696e7175697279696e73616e65696e73656374696e73696465696e7370697265696e7374616c6c696e74616374696e746572657374696e746f696e76657374696e76697465696e766f6c766569726f6e69736c616e6469736f6c61746569737375656974656d69766f72796a61636b65746a61677561726a61726a617a7a6a65616c6f75736a65616e736a656c6c796a6577656c6a6f626a6f696e6a6f6b656a6f75726e65796a6f796a756467656a756963656a756d706a756e676c656a756e696f726a756e6b6a7573746b616e6761726f6f6b65656e6b6565706b6574636875706b65796b69636b6b69646b69646e65796b696e646b696e67646f6d6b6973736b69746b69746368656e6b6974656b697474656e6b6977696b6e65656b6e6966656b6e6f636b6b6e6f776c61626c6162656c6c61626f726c61646465726c6164796c616b656c616d706c616e67756167656c6170746f706c617267656c617465726c6174696e6c617567686c61756e6472796c6176616c61776c61776e6c6177737569746c617965726c617a796c65616465726c6561666c6561726e6c656176656c6563747572656c6566746c65676c6567616c6c6567656e646c6569737572656c656d6f6e6c656e646c656e6774686c656e736c656f706172646c6573736f6e6c65747465726c6576656c6c6961726c6962657274796c6962726172796c6963656e73656c6966656c6966746c696768746c696b656c696d626c696d69746c696e6b6c696f6e6c69717569646c6973746c6974746c656c6976656c697a6172646c6f61646c6f616e6c6f62737465726c6f63616c6c6f636b6c6f6769636c6f6e656c796c6f6e676c6f6f706c6f74746572796c6f75646c6f756e67656c6f76656c6f79616c6c75636b796c7567676167656c756d6265726c756e61726c756e63686c75787572796c79726963736d616368696e656d61646d616769636d61676e65746d6169646d61696c6d61696e6d616a6f726d616b656d616d6d616c6d616e6d616e6167656d616e646174656d616e676f6d616e73696f6e6d616e75616c6d61706c656d6172626c656d617263686d617267696e6d6172696e656d61726b65746d617272696167656d61736b6d6173736d61737465726d617463686d6174657269616c6d6174686d61747269786d61747465726d6178696d756d6d617a656d6561646f776d65616e6d6561737572656d6561746d656368616e69636d6564616c6d656469616d656c6f64796d656c746d656d6265726d656d6f72796d656e74696f6e6d656e756d657263796d657267656d657269746d657272796d6573686d6573736167656d6574616c6d6574686f646d6964646c656d69646e696768746d696c6b6d696c6c696f6e6d696d69636d696e646d696e696d756d6d696e6f726d696e7574656d697261636c656d6972726f726d69736572796d6973736d697374616b656d69786d697865646d6978747572656d6f62696c656d6f64656c6d6f646966796d6f6d6d6f6d656e746d6f6e69746f726d6f6e6b65796d6f6e737465726d6f6e74686d6f6f6e6d6f72616c6d6f72656d6f726e696e676d6f73717569746f6d6f746865726d6f74696f6e6d6f746f726d6f756e7461696e6d6f7573656d6f76656d6f7669656d7563686d756666696e6d756c656d756c7469706c796d7573636c656d757365756d6d757368726f6f6d6d757369636d7573746d757475616c6d7973656c666d7973746572796d7974686e616976656e616d656e61706b696e6e6172726f776e617374796e6174696f6e6e61747572656e6561726e65636b6e6565646e656761746976656e65676c6563746e6569746865726e65706865776e657276656e6573746e65746e6574776f726b6e65757472616c6e657665726e6577736e6578746e6963656e696768746e6f626c656e6f6973656e6f6d696e65656e6f6f646c656e6f726d616c6e6f7274686e6f73656e6f7461626c656e6f74656e6f7468696e676e6f746963656e6f76656c6e6f776e75636c6561726e756d6265726e757273656e75746f616b6f6265796f626a6563746f626c6967656f6273637572656f6273657276656f627461696e6f6276696f75736f636375726f6365616e6f63746f6265726f646f726f66666f666665726f66666963656f6674656e6f696c6f6b61796f6c646f6c6976656f6c796d7069636f6d69746f6e63656f6e656f6e696f6e6f6e6c696e656f6e6c796f70656e6f706572616f70696e696f6e6f70706f73656f7074696f6e6f72616e67656f726269746f7263686172646f726465726f7264696e6172796f7267616e6f7269656e746f726967696e616c6f727068616e6f7374726963686f746865726f7574646f6f726f757465726f75747075746f7574736964656f76616c6f76656e6f7665726f776e6f776e65726f787967656e6f79737465726f7a6f6e6570616374706164646c65706167657061697270616c61636570616c6d70616e646170616e656c70616e696370616e746865727061706572706172616465706172656e747061726b706172726f7470617274797061737370617463687061746870617469656e74706174726f6c7061747465726e7061757365706176657061796d656e7470656163657065616e75747065617270656173616e7470656c6963616e70656e70656e616c747970656e63696c70656f706c65706570706572706572666563747065726d6974706572736f6e70657470686f6e6570686f746f706872617365706879736963616c7069616e6f7069636e6963706963747572657069656365706967706967656f6e70696c6c70696c6f7470696e6b70696f6e65657270697065706973746f6c706974636870697a7a61706c616365706c616e6574706c6173746963706c617465706c6179706c65617365706c65646765706c75636b706c7567706c756e6765706f656d706f6574706f696e74706f6c6172706f6c65706f6c696365706f6e64706f6e79706f6f6c706f70756c6172706f7274696f6e706f736974696f6e706f737369626c65706f7374706f7461746f706f7474657279706f7665727479706f77646572706f7765727072616374696365707261697365707265646963747072656665727072657061726570726573656e7470726574747970726576656e74707269636570726964657072696d6172797072696e747072696f72697479707269736f6e707269766174657072697a6570726f626c656d70726f6365737370726f6475636570726f66697470726f6772616d70726f6a65637470726f6d6f746570726f6f6670726f706572747970726f7370657270726f7465637470726f756470726f766964657075626c696370756464696e6770756c6c70756c7070756c736570756d706b696e70756e6368707570696c70757070797075726368617365707572697479707572706f736570757273657075736870757470757a7a6c65707972616d69647175616c6974797175616e74756d717561727465727175657374696f6e717569636b717569747175697a71756f7465726162626974726163636f6f6e726163657261636b7261646172726164696f7261696c7261696e726169736572616c6c7972616d7072616e636872616e646f6d72616e676572617069647261726572617465726174686572726176656e72617772617a6f7272656164797265616c726561736f6e726562656c72656275696c64726563616c6c726563656976657265636970657265636f726472656379636c657265647563657265666c6563747265666f726d726566757365726567696f6e726567726574726567756c617272656a65637472656c617872656c6561736572656c69656672656c7972656d61696e72656d656d62657272656d696e6472656d6f766572656e64657272656e657772656e7472656f70656e7265706169727265706561747265706c6163657265706f727472657175697265726573637565726573656d626c657265736973747265736f75726365726573706f6e7365726573756c747265746972657265747265617472657475726e7265756e696f6e72657665616c72657669657772657761726472687974686d726962726962626f6e72696365726963687269646572696467657269666c657269676874726967696472696e6772696f74726970706c657269736b72697475616c726976616c7269766572726f6164726f617374726f626f74726f62757374726f636b6574726f6d616e6365726f6f66726f6f6b6965726f6f6d726f7365726f74617465726f756768726f756e64726f757465726f79616c7275626265727275646572756772756c6572756e72756e776179727572616c736164736164646c657361646e657373736166657361696c73616c616473616c6d6f6e73616c6f6e73616c7473616c75746573616d6573616d706c6573616e64736174697366797361746f736869736175636573617573616765736176657361797363616c657363616e7363617265736361747465727363656e65736368656d657363686f6f6c736369656e636573636973736f727373636f7270696f6e73636f7574736372617073637265656e7363726970747363727562736561736561726368736561736f6e736561747365636f6e6473656372657473656374696f6e7365637572697479736565647365656b7365676d656e7473656c65637473656c6c73656d696e617273656e696f7273656e736573656e74656e63657365726965737365727669636573657373696f6e736574746c657365747570736576656e736861646f7773686166747368616c6c6f777368617265736865647368656c6c73686572696666736869656c6473686966747368696e657368697073686976657273686f636b73686f6573686f6f7473686f7073686f727473686f756c64657273686f7665736872696d70736872756773687566666c657368797369626c696e677369636b73696465736965676573696768747369676e73696c656e7473696c6b73696c6c7973696c76657273696d696c617273696d706c6573696e636573696e67736972656e7369737465727369747561746573697873697a65736b617465736b65746368736b69736b696c6c736b696e736b697274736b756c6c736c6162736c616d736c656570736c656e646572736c696365736c696465736c69676874736c696d736c6f67616e736c6f74736c6f77736c757368736d616c6c736d617274736d696c65736d6f6b65736d6f6f7468736e61636b736e616b65736e6170736e696666736e6f77736f6170736f63636572736f6369616c736f636b736f6461736f6674736f6c6172736f6c64696572736f6c6964736f6c7574696f6e736f6c7665736f6d656f6e65736f6e67736f6f6e736f727279736f7274736f756c736f756e64736f7570736f75726365736f757468737061636573706172657370617469616c737061776e737065616b7370656369616c73706565647370656c6c7370656e6473706865726573706963657370696465727370696b657370696e73706972697473706c697473706f696c73706f6e736f7273706f6f6e73706f727473706f747370726179737072656164737072696e6773707973717561726573717565657a65737175697272656c737461626c657374616469756d737461666673746167657374616972737374616d707374616e647374617274737461746573746179737465616b737465656c7374656d7374657073746572656f737469636b7374696c6c7374696e6773746f636b73746f6d61636873746f6e6573746f6f6c73746f727973746f76657374726174656779737472656574737472696b657374726f6e677374727567676c6573747564656e7473747566667374756d626c657374796c657375626a6563747375626d6974737562776179737563636573737375636873756464656e7375666665727375676172737567676573747375697473756d6d657273756e73756e6e7973756e7365747375706572737570706c7973757072656d65737572657375726661636573757267657375727072697365737572726f756e64737572766579737573706563747375737461696e7377616c6c6f777377616d7073776170737761726d7377656172737765657473776966747377696d7377696e6773776974636873776f726473796d626f6c73796d70746f6d737972757073797374656d7461626c657461636b6c657461677461696c74616c656e7474616c6b74616e6b746170657461726765747461736b7461737465746174746f6f7461786974656163687465616d74656c6c74656e74656e616e7474656e6e697374656e747465726d74657374746578747468616e6b746861747468656d657468656e7468656f72797468657265746865797468696e677468697374686f7567687474687265657468726976657468726f777468756d627468756e6465727469636b657474696465746967657274696c7474696d62657274696d6574696e7974697074697265647469737375657469746c65746f617374746f626163636f746f646179746f64646c6572746f65746f676574686572746f696c6574746f6b656e746f6d61746f746f6d6f72726f77746f6e65746f6e677565746f6e69676874746f6f6c746f6f7468746f70746f706963746f70706c65746f726368746f726e61646f746f72746f697365746f7373746f74616c746f7572697374746f77617264746f776572746f776e746f79747261636b747261646574726166666963747261676963747261696e7472616e7366657274726170747261736874726176656c747261797472656174747265657472656e64747269616c7472696265747269636b747269676765727472696d7472697074726f70687974726f75626c65747275636b747275657472756c797472756d706574747275737474727574687472797475626574756974696f6e74756d626c6574756e6174756e6e656c7475726b65797475726e747572746c657477656c76657477656e747974776963657477696e747769737474776f747970657479706963616c75676c79756d6272656c6c61756e61626c65756e6177617265756e636c65756e636f766572756e646572756e646f756e66616972756e666f6c64756e6861707079756e69666f726d756e69717565756e6974756e697665727365756e6b6e6f776e756e6c6f636b756e74696c756e757375616c756e7665696c757064617465757067726164657570686f6c6475706f6e75707065727570736574757262616e7572676575736167657573657573656475736566756c7573656c657373757375616c7574696c697479766163616e7476616375756d766167756576616c696476616c6c657976616c766576616e76616e6973687661706f72766172696f7573766173747661756c7476656869636c6576656c76657476656e646f7276656e7475726576656e75657665726276657269667976657273696f6e7665727976657373656c7665746572616e766961626c6576696272616e74766963696f7573766963746f7279766964656f7669657776696c6c61676576696e7461676576696f6c696e7669727475616c766972757376697361766973697476697375616c766974616c7669766964766f63616c766f696365766f6964766f6c63616e6f766f6c756d65766f7465766f79616765776167657761676f6e7761697477616c6b77616c6c77616c6e757477616e74776172666172657761726d77617272696f72776173687761737077617374657761746572776176657761797765616c7468776561706f6e7765617277656173656c7765617468657277656277656464696e677765656b656e64776569726477656c636f6d65776573747765747768616c65776861747768656174776865656c7768656e776865726577686970776869737065727769646577696474687769666577696c6477696c6c77696e77696e646f7777696e6577696e6777696e6b77696e6e657277696e74657277697265776973646f6d77697365776973687769746e657373776f6c66776f6d616e776f6e646572776f6f64776f6f6c776f7264776f726b776f726c64776f727279776f72746877726170777265636b77726573746c657772697374777269746577726f6e67796172647965617279656c6c6f77796f75796f756e67796f7574687a656272617a65726f7a6f6e657a6f6f003512000700000007351200070000000e35120004000000123512000500000017351200050000001c3512000600000022351200060000002835120008000000303512000600000036351200050000003b3512000600000041351200080000004935120007000000503512000600000056351200070000005d35120004000000613512000800000069351200070000007035120006000000763512000300000079351200060000007f3512000500000084351200070000008b351200060000009135120005000000963512000300000099351200060000009f35120007000000a635120006000000ac35120005000000b135120005000000b635120007000000bd35120006000000c335120007000000ca35120006000000d035120006000000d635120006000000dc35120005000000e135120003000000e435120005000000e935120005000000ee35120005000000f335120003000000f635120003000000f935120007000000003612000500000005361200050000000a361200050000000f3612000700000016361200050000001b361200050000002036120003000000233612000500000028361200050000002d36120006000000333612000500000038361200050000003d36120007000000443612000400000048361200050000004d3612000600000053361200070000005a36120007000000613612000500000066361200060000006c36120006000000723612000700000079361200060000007f3612000700000086361200050000008b36120005000000903612000500000095361200060000009b36120005000000a036120008000000a836120006000000ae36120007000000b536120006000000bb36120007000000c236120007000000c936120007000000d036120003000000d336120005000000d836120007000000df36120006000000e536120005000000ea36120007000000f136120005000000f636120004000000fa361200060000000037120004000000043712000500000009371200050000000e37120003000000113712000500000016371200050000001b371200040000001f3712000600000025371200070000002c37120006000000323712000600000038371200050000003d37120003000000403712000800000048371200060000004e37120007000000553712000300000058371200060000005e3712000700000065371200050000006a37120006000000703712000600000076371200060000007c37120007000000833712000400000087371200060000008d3712000600000093371200080000009b37120007000000a237120007000000a937120005000000ae37120006000000b437120004000000b837120006000000be37120004000000c237120006000000c837120007000000cf37120007000000d637120005000000db37120005000000e037120005000000e537120004000000e937120007000000f037120005000000f537120007000000fc37120004000000003812000400000004381200080000000c38120005000000113812000500000016381200030000001938120007000000203812000700000027381200040000002b38120006000000313812000600000037381200060000003d38120003000000403812000600000046381200070000004d38120006000000533812000400000057381200050000005c38120006000000623812000600000068381200050000006d38120004000000713812000600000077381200070000007e38120006000000843812000400000088381200060000008e38120005000000933812000600000099381200060000009f38120007000000a638120005000000ab38120004000000af38120005000000b438120007000000bb38120004000000bf38120006000000c538120006000000cb38120007000000d238120006000000d838120007000000df38120003000000e238120004000000e638120004000000ea38120007000000f138120004000000f538120005000000fa38120006000000003912000500000005391200050000000a391200050000000f3912000700000016391200050000001b39120005000000203912000500000025391200050000002a391200050000002f3912000700000036391200060000003c391200040000004039120004000000443912000500000049391200050000004e39120004000000523912000400000056391200040000005a391200040000005e39120004000000623912000500000067391200040000006b39120005000000703912000600000076391200060000007c39120006000000823912000400000086391200060000008c391200060000009239120003000000953912000300000098391200070000009f39120005000000a439120005000000a939120005000000ae39120005000000b339120005000000b839120006000000be39120005000000c339120006000000c939120005000000ce39120006000000d439120005000000d939120005000000de39120008000000e639120006000000ec39120006000000f239120005000000f739120007000000fe39120005000000033a120005000000083a1200060000000e3a120005000000133a120006000000193a120007000000203a120005000000253a120004000000293a1200040000002d3a120006000000333a120006000000393a1200060000003f3a120006000000453a1200060000004b3a120005000000503a120003000000533a1200080000005b3a1200040000005f3a120006000000653a1200050000006a3a1200040000006e3a120007000000753a1200050000007a3a1200050000007f3a120006000000853a120004000000893a1200040000008d3a120004000000913a120004000000953a1200060000009b3a1200040000009f3a120003000000a23a120005000000a73a120006000000ad3a120005000000b23a120006000000b83a120005000000bd3a120006000000c33a120006000000c93a120007000000d03a120007000000d73a120007000000de3a120003000000e13a120006000000e73a120004000000eb3a120005000000f03a120006000000f63a120005000000fb3a120004000000ff3a120004000000033b120004000000073b1200060000000d3b120006000000133b120006000000193b1200030000001c3b120007000000233b120005000000283b120008000000303b120006000000363b1200060000003c3b120005000000413b120007000000483b1200040000004c3b120007000000533b120006000000593b1200060000005f3b120006000000653b1200070000006c3b120006000000723b120007000000793b1200050000007e3b120005000000833b1200080000008b3b120006000000913b120005000000963b1200070000009d3b120006000000a33b120005000000a83b120004000000ac3b120005000000b13b120005000000b63b120006000000bc3b120004000000c03b120006000000c63b120005000000cb3b120007000000d23b120005000000d73b120005000000dc3b120007000000e33b120006000000e93b120006000000ef3b120007000000f63b120007000000fd3b120005000000023c120005000000073c1200050000000c3c120008000000143c1200060000001a3c120007000000213c120004000000253c1200050000002a3c1200050000002f3c120004000000333c1200070000003a3c1200040000003e3c120004000000423c120005000000473c1200050000004c3c120006000000523c120005000000573c1200060000005d3c120005000000623c120005000000673c1200060000006d3c120004000000713c120005000000763c1200040000007a3c1200050000007f3c120005000000843c120005000000893c1200050000008e3c120004000000923c120005000000973c1200070000009e3c120006000000a43c120005000000a93c120005000000ae3c120007000000b53c120004000000b93c120006000000bf3c120004000000c33c120004000000c73c120007000000ce3c120005000000d33c120006000000d93c120007000000e03c120004000000e43c120007000000eb3c120005000000f03c120006000000f63c120007000000fd3c120007000000043d1200070000000b3d120007000000123d1200080000001a3d120007000000213d120008000000293d120007000000303d120008000000383d1200040000003c3d120004000000403d120006000000463d1200040000004a3d1200050000004f3d120004000000533d120004000000573d1200070000005e3d120004000000623d120006000000683d1200050000006d3d120007000000743d1200060000007a3d120006000000803d120006000000863d1200050000008b3d120006000000913d120005000000963d1200060000009c3d120005000000a13d120004000000a53d120005000000aa3d120005000000af3d120006000000b53d120005000000ba3d120005000000bf3d120005000000c43d120006000000ca3d120005000000cf3d120004000000d33d120007000000da3d120005000000df3d120005000000e43d120006000000ea3d120004000000ee3d120005000000f33d120006000000f93d120005000000fe3d120007000000053e1200050000000a3e120006000000103e120007000000173e1200060000001d3e120005000000223e120003000000253e1200070000002c3e120004000000303e120007000000373e1200030000003a3e120008000000423e120007000000493e120007000000503e120007000000573e1200050000005c3e120007000000633e120006000000693e1200040000006d3e120005000000723e120003000000753e1200060000007b3e1200040000007f3e120005000000843e1200060000008a3e120006000000903e120004000000943e1200080000009c3e120004000000a03e120003000000a33e120004000000a73e120006000000ad3e120006000000b33e120006000000b93e120008000000c13e120006000000c73e120007000000ce3e120008000000d63e120008000000de3e120004000000e23e120007000000e93e120006000000ef3e120004000000f33e120006000000f93e120005000000fe3e120007000000053f1200060000000b3f120006000000113f120006000000173f1200070000001e3f120004000000223f120006000000283f1200060000002e3f120007000000353f1200050000003a3f120006000000403f120006000000463f1200080000004e3f120006000000543f1200060000005a3f1200040000005e3f120007000000653f1200070000006c3f120006000000723f120006000000783f1200070000007f3f120006000000853f1200060000008b3f120007000000923f120004000000963f1200070000009d3f120005000000a23f120004000000a63f120006000000ac3f120004000000b03f120006000000b63f120007000000bd3f120007000000c43f120007000000cb3f120006000000d13f120008000000d93f120006000000df3f120004000000e33f120008000000eb3f120008000000f33f120007000000fa3f120004000000fe3f12000700000005401200080000000d4012000700000014401200080000001c40120006000000224012000600000028401200070000002f4012000500000034401200060000003a40120008000000424012000300000045401200040000004940120007000000504012000600000056401200060000005c40120006000000624012000500000067401200040000006b401200040000006f40120006000000754012000400000079401200050000007e40120006000000844012000500000089401200070000009040120004000000944012000500000099401200050000009e40120005000000a340120005000000a840120005000000ad40120004000000b140120005000000b640120004000000ba40120004000000be40120003000000c140120004000000c540120004000000c940120004000000cd40120006000000d340120004000000d740120005000000dc40120004000000e040120005000000e540120007000000ec40120005000000f140120005000000f640120005000000fb40120004000000ff4012000500000004411200060000000a411200040000000e41120004000000124112000400000016411200070000001d41120007000000244112000400000028411200040000002c41120007000000334112000600000039411200030000003c41120005000000414112000600000047411200050000004c4112000500000051411200080000005941120007000000604112000700000067411200080000006f4112000800000077411200050000007c41120004000000804112000600000086411200060000008c4112000700000093411200060000009941120007000000a041120006000000a641120007000000ad41120005000000b241120006000000b841120005000000bd41120003000000c041120007000000c741120007000000ce41120005000000d341120006000000d941120007000000e041120006000000e641120006000000ec41120007000000f341120005000000f841120006000000fe4112000600000004421200060000000a42120006000000104212000600000016421200050000001b42120006000000214212000500000026421200080000002e4212000700000035421200050000003a421200050000003f42120003000000424212000500000047421200050000004c42120007000000534212000500000058421200050000005d42120006000000634212000500000068421200070000006f4212000600000075421200070000007c4212000600000082421200080000008a421200040000008e42120005000000934212000600000099421200050000009e42120007000000a542120006000000ab42120008000000b342120006000000b942120007000000c042120006000000c642120007000000cd42120008000000d542120007000000dc42120007000000e342120005000000e842120005000000ed42120004000000f142120006000000f742120006000000fd4212000600000003431200060000000943120007000000104312000600000016431200070000001d43120006000000234312000500000028431200030000002b43120007000000324312000600000038431200040000003c43120007000000434312000400000047431200050000004c43120005000000514312000400000055431200050000005a431200040000005e4312000600000064431200060000006a431200030000006d43120005000000724312000700000079431200040000007d43120007000000844312000300000087431200050000008c43120006000000924312000700000099431200050000009e43120008000000a643120007000000ad43120008000000b543120007000000bc43120003000000bf43120004000000c343120004000000c743120006000000cd43120005000000d243120008000000da43120005000000df43120005000000e443120003000000e743120005000000ec43120007000000f343120005000000f843120006000000fe43120004000000024412000400000006441200060000000c441200050000001144120004000000154412000400000019441200060000001f44120006000000254412000400000029441200040000002d44120005000000324412000600000038441200040000003c441200030000003f44120007000000464412000300000049441200040000004d44120005000000524412000500000057441200040000005b44120006000000614412000400000065441200060000006b441200040000006f44120005000000744412000500000079441200050000007e44120006000000844412000500000089441200050000008e44120003000000914412000400000095441200050000009a441200030000009d44120004000000a144120004000000a544120006000000ab44120004000000af44120004000000b344120005000000b844120006000000be44120006000000c444120004000000c844120007000000cf44120005000000d444120007000000db44120006000000e144120006000000e744120005000000ec44120003000000ef44120007000000f644120005000000fb44120008000000034512000500000008451200060000000e45120006000000144512000400000018451200050000001d45120005000000224512000500000027451200060000002d451200050000003245120004000000364512000300000039451200050000003e45120007000000454512000400000049451200060000004f45120006000000554512000400000059451200060000005f4512000700000066451200040000006a451200030000006d4512000600000073451200070000007a45120006000000804512000600000086451200070000008d451200030000009045120004000000944512000400000098451200060000009e45120005000000a345120004000000a745120007000000ae45120006000000b445120005000000b945120006000000bf45120007000000c645120007000000cd45120005000000d245120005000000d745120004000000db45120006000000e145120006000000e745120007000000ee45120004000000f245120004000000f645120004000000fa45120006000000004612000500000005461200050000000a461200050000000f4612000700000016461200050000001b46120005000000204612000500000025461200050000002a461200040000002e46120004000000324612000400000036461200070000003d46120004000000414612000400000045461200050000004a46120007000000514612000600000057461200060000005d46120006000000634612000400000067461200040000006b46120005000000704612000500000075461200050000007a461200050000007f4612000500000084461200070000008b461200050000009046120005000000954612000400000099461200050000009e46120004000000a246120007000000a946120005000000ae46120004000000b246120005000000b746120005000000bc46120005000000c146120005000000c646120005000000cb46120006000000d146120003000000d446120003000000d746120005000000dc46120004000000e046120004000000e446120006000000ea46120007000000f146120004000000f546120005000000fa461200060000000047120004000000044712000500000009471200070000001047120003000000134712000400000017471200040000001b47120006000000214712000400000025471200060000002b47120005000000304712000500000035471200080000003d47120006000000434712000500000048471200060000004e471200040000005247120003000000554712000400000059471200060000005f47120004000000634712000400000067471200040000006b471200030000006e47120004000000724712000700000079471200050000007e47120006000000844712000400000088471200040000008c47120007000000934712000600000099471200040000009d47120005000000a247120004000000a647120004000000aa47120004000000ae47120006000000b447120005000000b947120008000000c147120004000000c547120005000000ca47120004000000ce47120005000000d347120003000000d647120004000000da47120005000000df47120006000000e547120005000000ea47120007000000f147120006000000f747120004000000fb47120006000000014812000500000006481200040000000a48120007000000114812000600000017481200030000001a481200040000001e4812000400000022481200080000002a481200040000002e48120006000000344812000300000037481200070000003e4812000700000045481200050000004a48120007000000514812000700000058481200060000005e4812000600000064481200060000006a48120007000000714812000700000078481200040000007c4812000700000083481200060000008948120008000000914812000500000096481200080000009e48120006000000a448120008000000ac48120006000000b248120007000000b948120006000000bf48120006000000c548120007000000cc48120007000000d348120006000000d948120006000000df48120006000000e548120005000000ea48120008000000f248120005000000f748120007000000fe4812000600000004491200060000000a49120006000000104912000700000017491200070000001e4912000600000024491200080000002c49120004000000304912000600000036491200060000003c49120007000000434912000400000047491200060000004d49120007000000544912000500000059491200040000005d49120005000000624912000600000068491200060000006e49120003000000714912000400000075491200070000007c49120005000000814912000500000086491200050000008b491200030000008e49120004000000924912000400000096491200070000009d49120003000000a049120005000000a549120005000000aa49120004000000ae49120006000000b449120006000000ba49120004000000be49120004000000c249120008000000ca49120004000000ce49120004000000d249120007000000d949120003000000dc49120004000000e049120003000000e349120006000000e949120004000000ed49120007000000f449120004000000f849120003000000fb49120007000000024a120004000000064a1200060000000c4a120004000000104a120004000000144a120005000000194a1200050000001e4a120004000000224a120003000000254a1200050000002a4a1200050000002f4a120006000000354a120004000000394a1200040000003d4a120004000000414a120008000000494a1200060000004f4a120005000000544a120005000000594a1200050000005e4a120005000000634a1200070000006a4a1200040000006e4a120003000000714a120004000000754a1200070000007c4a120005000000814a120004000000854a1200060000008b4a1200040000008f4a120005000000944a120005000000994a120007000000a04a120004000000a44a120003000000a74a120005000000ac4a120006000000b24a120007000000b94a120005000000be4a120004000000c24a120006000000c84a120004000000cc4a120007000000d34a120006000000d94a120006000000df4a120005000000e44a120004000000e84a120007000000ef4a120007000000f64a120007000000fd4a120004000000014b120004000000054b1200050000000a4b1200040000000e4b120004000000124b120005000000174b1200040000001b4b1200040000001f4b120006000000254b120004000000294b1200060000002f4b120004000000334b120006000000394b1200040000003d4b120004000000414b120007000000484b1200050000004d4b120004000000514b120005000000564b1200060000005c4b120004000000604b120004000000644b1200070000006b4b1200040000006f4b120006000000754b120004000000794b1200050000007e4b120005000000834b1200070000008a4b120006000000904b120005000000954b1200050000009a4b120006000000a04b120006000000a64b120007000000ad4b120003000000b04b120005000000b54b120006000000bb4b120004000000bf4b120004000000c34b120004000000c74b120005000000cc4b120004000000d04b120006000000d64b120003000000d94b120006000000df4b120007000000e64b120005000000eb4b120007000000f24b120006000000f84b120005000000fd4b120006000000034c120005000000084c1200060000000e4c120006000000144c1200060000001a4c120008000000224c120004000000264c1200040000002a4c120006000000304c120005000000354c1200080000003d4c120004000000414c120006000000474c1200060000004d4c120007000000544c120004000000584c1200060000005e4c120004000000624c120007000000694c1200040000006d4c120008000000754c1200050000007a4c1200050000007f4c120006000000854c120004000000894c1200060000008f4c120006000000954c1200070000009c4c120004000000a04c120005000000a54c120005000000aa4c120005000000af4c120005000000b44c120004000000b84c120007000000bf4c120005000000c44c120006000000ca4c120006000000d04c120008000000d84c120004000000dc4c120007000000e34c120005000000e84c120004000000ec4c120007000000f34c120005000000f84c120006000000fe4c120007000000054d1200060000000b4d120006000000114d120004000000154d1200070000001c4d1200030000001f4d120005000000244d1200070000002b4d120006000000314d120005000000364d1200060000003c4d1200030000003f4d120006000000454d1200070000004c4d120006000000524d120007000000594d1200050000005e4d120004000000624d120005000000674d1200040000006b4d120007000000724d1200080000007a4d120006000000804d120006000000864d1200050000008b4d120008000000934d120005000000984d1200040000009c4d120005000000a14d120004000000a54d120006000000ab4d120004000000af4d120008000000b74d120006000000bd4d120006000000c34d120008000000cb4d120005000000d04d120004000000d44d120006000000da4d120006000000e04d120007000000e74d120004000000eb4d120005000000f04d120004000000f44d120006000000fa4d120006000000004e120005000000054e1200060000000b4e120006000000114e120004000000154e120004000000194e1200040000001d4e120008000000254e1200070000002c4e120007000000334e120006000000394e1200050000003e4e120004000000424e120003000000454e1200070000004c4e120007000000534e120005000000584e1200040000005c4e120004000000604e120004000000644e120005000000694e1200050000006e4e120005000000734e1200070000007a4e120006000000804e120006000000864e1200050000008b4e1200040000008f4e120007000000964e1200040000009a4e120007000000a14e120006000000a74e120005000000ac4e120003000000af4e120007000000b64e120006000000bc4e120005000000c14e120003000000c44e120003000000c74e120004000000cb4e120006000000d14e120006000000d74e120007000000de4e120007000000e54e120006000000eb4e120007000000f24e120005000000f74e120005000000fc4e120007000000034f120004000000074f1200030000000a4f1200050000000f4f120006000000154f1200050000001a4f1200030000001d4f120004000000214f120003000000244f120005000000294f120007000000304f120004000000344f120004000000384f1200030000003b4f120005000000404f120006000000464f1200040000004a4f1200040000004e4f120005000000534f1200070000005a4f120006000000604f120006000000664f1200060000006c4f120005000000714f120007000000784f1200050000007d4f120008000000854f1200050000008a4f120006000000904f120008000000984f1200060000009e4f120007000000a54f120005000000aa4f120007000000b14f120005000000b64f120006000000bc4f120007000000c34f120004000000c74f120004000000cb4f120004000000cf4f120003000000d24f120005000000d74f120006000000dd4f120006000000e34f120005000000e84f120004000000ec4f120006000000f24f120004000000f64f120004000000fa4f1200060000000050120004000000045012000500000009501200050000000e5012000500000013501200070000001a501200050000001f5012000600000025501200060000002b501200040000002f5012000600000035501200050000003a501200040000003e50120005000000435012000400000047501200070000004e5012000600000054501200070000005b50120005000000605012000400000064501200070000006b50120005000000705012000600000076501200040000007a50120007000000815012000700000088501200030000008b50120007000000925012000600000098501200060000009e50120006000000a450120007000000ab50120006000000b150120006000000b750120003000000ba50120005000000bf50120005000000c450120006000000ca50120008000000d250120005000000d750120006000000dd50120007000000e450120005000000e950120003000000ec50120006000000f250120004000000f650120005000000fb50120004000000ff5012000700000006511200040000000a51120006000000105112000500000015511200050000001a511200050000001f5112000600000025511200070000002c51120005000000315112000400000035511200060000003b51120006000000415112000500000046511200040000004a511200060000005051120004000000545112000400000058511200050000005d51120005000000625112000400000066511200060000006c511200040000007051120004000000745112000400000078511200070000007f5112000700000086511200080000008e5112000800000096511200040000009a51120006000000a051120007000000a751120007000000ae51120006000000b451120005000000b951120008000000c151120006000000c751120007000000ce51120006000000d451120007000000db51120007000000e251120006000000e851120007000000ef51120005000000f451120005000000f951120007000000005212000500000005521200080000000d5212000600000013521200070000001a521200050000001f5212000700000026521200070000002d5212000700000034521200060000003a52120007000000415212000700000048521200070000004f5212000500000054521200080000005c5212000700000063521200070000006a521200050000006f5212000700000076521200060000007c52120007000000835212000400000087521200040000008b52120005000000905212000700000097521200050000009c52120005000000a152120005000000a652120008000000ae52120006000000b452120007000000bb52120005000000c052120004000000c452120003000000c752120006000000cd52120007000000d452120007000000db52120007000000e252120007000000e952120008000000f152120005000000f652120004000000fa52120004000000fe52120005000000035312000600000009531200070000001053120004000000145312000400000018531200050000001d53120005000000225312000400000026531200040000002a531200050000002f53120005000000345312000400000038531200050000003d53120006000000435312000500000048531200050000004d53120004000000515312000400000055531200060000005b531200050000006053120003000000635312000500000068531200050000006d53120004000000715312000600000077531200050000007c5312000700000083531200060000008953120007000000905312000600000096531200060000009c53120007000000a353120006000000a953120007000000b053120006000000b653120006000000bc53120006000000c253120006000000c853120007000000cf53120006000000d553120005000000da53120007000000e153120006000000e753120004000000eb53120006000000f153120008000000f953120006000000ff5312000600000005541200060000000b54120005000000105412000400000014541200060000001a54120006000000205412000600000026541200070000002d5412000600000033541200070000003a54120006000000405412000800000048541200060000004e5412000800000056541200080000005e5412000600000064541200060000006a54120007000000715412000600000077541200070000007e5412000600000084541200060000008a541200060000009054120006000000965412000300000099541200060000009f54120004000000a354120004000000a754120004000000ab54120005000000b054120005000000b554120005000000ba54120005000000bf54120004000000c354120004000000c754120006000000cd54120004000000d154120006000000d754120005000000dc54120005000000e154120004000000e554120005000000ea54120005000000ef54120006000000f554120006000000fb54120007000000025512000400000006551200060000000c55120004000000105512000400000014551200060000001a551200050000001f55120005000000245512000500000029551200050000002e55120006000000345512000400000038551200030000003b551200040000003f55120003000000425512000600000048551200050000004d55120003000000505512000600000056551200070000005d55120004000000615512000400000065551200050000006a551200060000007055120005000000755512000400000079551200060000007f55120004000000835512000600000089551200040000008d5512000700000094551200070000009b55120005000000a055120007000000a755120004000000ab55120003000000ae55120005000000b355120004000000b755120005000000bc55120007000000c355120005000000c855120006000000ce55120006000000d455120007000000db55120008000000e355120008000000eb55120005000000f055120005000000f555120006000000fb551200060000000156120005000000065612000300000009561200060000000f56120006000000155612000400000019561200060000001f5612000600000025561200070000002c56120008000000345612000400000038561200040000003c56120007000000435612000600000049561200040000004d5612000700000054561200060000005a561200050000005f5612000800000067561200060000006d5612000700000074561200070000007b56120006000000815612000500000086561200050000008b56120006000000915612000500000096561200070000009d56120005000000a256120004000000a656120005000000ab56120007000000b256120006000000b856120005000000bd56120005000000c256120004000000c656120006000000cc56120005000000d156120004000000d556120005000000da56120004000000de56120005000000e356120008000000eb56120005000000f056120006000000f656120005000000fb56120007000000025712000300000005571200070000000c571200040000001057120004000000145712000500000019571200050000001e57120004000000225712000600000028571200040000002c57120005000000315712000600000037571200070000003e57120006000000445712000500000049571200040000004d57120005000000525712000600000058571200070000005f57120003000000625712000400000066571200050000006b571200060000007157120003000000745712000500000079571200040000007d57120005000000825712000500000087571200040000008b571200040000008f5712000500000094571200070000009b57120005000000a057120005000000a557120006000000ab57120004000000af57120006000000b557120004000000b957120004000000bd57120005000000c257120005000000c757120005000000cc57120005000000d157120005000000d657120006000000dc57120005000000e157120005000000e657120004000000ea57120005000000ef57120004000000f357120004000000f757120006000000fd57120006000000035812000400000007581200040000000b581200040000000f5812000500000014581200070000001b58120005000000205812000800000028581200050000002d58120007000000345812000400000038581200040000003c581200050000004158120004000000455812000400000049581200050000004e58120004000000525812000600000058581200050000005d58120005000000625812000500000067581200070000006e58120005000000735812000500000078581200070000007f58120005000000845812000500000089581200050000008e58120006000000945812000500000099581200060000009f58120005000000a458120004000000a858120006000000ae58120005000000b358120005000000b858120007000000bf58120005000000c458120005000000c958120004000000cd58120005000000d258120006000000d858120006000000de58120003000000e158120006000000e758120007000000ee58120008000000f658120006000000fc58120007000000035912000500000008591200050000000d59120006000000135912000500000018591200050000001d59120005000000225912000500000027591200040000002b591200050000003059120005000000355912000400000039591200040000003d59120006000000435912000500000048591200050000004d59120005000000525912000500000057591200070000005e59120005000000635912000500000068591200050000006d5912000500000072591200080000007a59120006000000805912000600000086591200060000008c5912000800000094591200070000009b59120005000000a059120007000000a759120005000000ac59120007000000b359120006000000b959120006000000bf59120007000000c659120004000000ca59120006000000d059120006000000d659120005000000db59120007000000e259120004000000e659120006000000ec59120003000000ef59120005000000f459120006000000fa59120005000000ff59120006000000055a1200070000000c5a120004000000105a120007000000175a1200050000001c5a120008000000245a1200080000002c5a120006000000325a120007000000395a120007000000405a120007000000475a1200050000004c5a120004000000505a120005000000555a1200050000005a5a1200050000005f5a120005000000645a120004000000685a1200050000006d5a120006000000735a120005000000785a1200060000007e5a120007000000855a1200050000008a5a120006000000905a120005000000955a1200060000009b5a1200030000009e5a120004000000a25a120006000000a85a120004000000ac5a120004000000b05a120004000000b45a120006000000ba5a120004000000be5a120005000000c35a120006000000c95a120004000000cd5a120005000000d25a120004000000d65a120004000000da5a120003000000dd5a120006000000e35a120006000000e95a120004000000ed5a120004000000f15a120004000000f55a120004000000f95a120005000000fe5a120004000000025b120005000000075b1200040000000b5b120006000000115b120005000000165b1200040000001a5b1200050000001f5b120004000000235b1200070000002a5b1200050000002f5b120006000000355b1200050000003a5b1200050000003f5b120007000000465b1200060000004c5b120004000000505b120005000000555b120004000000595b1200060000005f5b120004000000635b120004000000675b1200030000006a5b1200050000006f5b120006000000755b1200050000007a5b1200050000007f5b120007000000865b1200050000008b5b120007000000925b120003000000955b1200080000009d5b120006000000a35b120005000000a85b120006000000ae5b120008000000b65b120004000000ba5b120006000000c05b120007000000c75b120004000000cb5b120005000000d05b120003000000d35b120005000000d85b120006000000de5b120005000000e35b120007000000ea5b120008000000f25b120004000000f65b120005000000fb5b120007000000025c120006000000085c1200050000000d5c120004000000115c120003000000145c120005000000195c1200050000001e5c120007000000255c1200060000002b5c120005000000305c120008000000385c1200040000003c5c120005000000415c120006000000475c1200040000004b5c120005000000505c120004000000545c120005000000595c1200050000005e5c120005000000635c120005000000685c1200070000006f5c120004000000735c120004000000775c1200060000007d5c120007000000845c120005000000895c1200040000008d5c120005000000925c120007000000995c1200050000009e5c120005000000a35c120003000000a65c120004000000aa5c120007000000b15c120006000000b75c120004000000bb5c120006000000c15c120006000000c75c120004000000cb5c120006000000d15c120006000000d75c120006000000dd5c120005000000e25c120004000000e65c120005000000eb5c120003000000ee5c120004000000f25c120007000000f95c120004000000fd5c120008000000055d1200060000000b5d120007000000125d120005000000175d1200070000001e5d120005000000235d120004000000275d1200060000002d5d120006000000335d1200070000003a5d120007000000415d120006000000475d1200040000004b5d120008000000535d1200070000005a5d120006000000605d120005000000655d1200070000006c5d120006000000725d120006000000785d1200070000007f5d120006000000855d120004000000895d1200050000008e5d120005000000935d120005000000985d1200040000009c5d120005000000a15d120003000000a45d120004000000a85d120006000000ae5d120007000000b55d120005000000ba5d120007000000c15d120006000000c75d120006000000cd5d120005000000d25d120005000000d75d120006000000dd5d120005000000e25d120003000000e55d120006000000eb5d120005000000f05d120007000000f75d120004000000fb5d120005000000005e120007000000075e1200060000000d5e120006000000135e1200070000001a5e1200050000001f5e120004000000235e120006000000295e120007000000305e120004000000345e1200060000003a5e120007000000415e120006000000475e1200070000004e5e120007000000555e1200070000005c5e120005000000615e120004000000655e1200070000006c5e120007000000735e120006000000795e120007000000805e120005000000855e120004000000895e1200050000008e5e120006000000945e120005000000995e1200050000009e5e120005000000a35e120005000000a85e120004000000ac5e120007000000b35e120006000000b95e120004000000bd5e120006000000c35e120004000000c75e120005000000cc5e120004000000d05e120004000000d45e120004000000d85e120006000000de5e120004000000e25e120007000000e95e120004000000ed5e120007000000f45e120004000000f85e120004000000fc5e120005000000015f120005000000065f1200040000000a5f1200030000000d5f120006000000135f120006000000195f1200040000001d5f120006000000235f1200070000002a5f1200030000002d5f120007000000345f1200070000003b5f120005000000405f120007000000475f1200040000004b5f1200030000004e5f120005000000535f120004000000575f1200050000005c5f120005000000615f120004000000655f1200050000006a5f1200040000006e5f120007000000755f120004000000795f1200050000007e5f120004000000825f120004000000865f1200040000008a5f1200030000008d5f120006000000935f120004000000975f1200040000009b5f1200040000009f5f120006000000a55f120006000000ab5f120004000000af5f120006000000b55f120004000000b95f120004000000bd5f120007000000c45f120004000000c85f120005000000cd5f120006000000d35f120004000000d75f120004000000db5f120004000000df5f120004000000e35f120005000000e85f120005000000ed5f120005000000f25f120004000000f65f120005000000fb5f120007000000026012000500000007601200050000000c601200050000001160120004000000156012000400000019601200060000001f60120003000000226012000500000027601200050000002c60120005000000316012000400000035601200040000003960120003000000913412005f000000d401000030000000913412005f000000d601000010000000913412005f000000cf01000014000000913412005f000000c20100000d000000913412005f000000570200000d000000696e76616c6964206d6e656d6f6e6963913412005f0000004902000030000000913412005f0000004f02000011000000000000000c000000040000002a02000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500913412005f0000003f02000041000000416d626967756f75734c616e677561676573426164576f7264436f756e74556e6b6e6f776e576f7264426164456e74726f7079426974436f756e74496e76616c6964436865636b73756d2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e00d6a112000900000052a11200840000004e0000001f00000052a112008400000048000000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72730008a212006f00000096030000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e727300000088a21200710000002a0200001100000063616e6e6f7420616476616e63652070617374206072656d61696e696e67603a20203c3d200000000ca31200210000002da31200040000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f62797465732d312e31302e312f7372632f62797465732e72730044a312005b000000c7020000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300b0a3120067000000f700000015000000b0a3120067000000b801000029000000436f646563206572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273000043a4120067000000f70000000f0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273bca4120060000000240100001900000050617468206e6f742061737369676e6564000000bca4120060000000b20000001e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730050a5120067000000f70000000f0000004865616444617461706f6c6b61646f745f70617261636861696e5f7072696d6974697665733a3a7072696d6974697665735665633c75383e56616c69646174696f6e436f646549647533322f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72730013a61200600000002f0200001700000013a6120060000000240100001900000050617468206e6f742061737369676e656400000013a6120060000000b20000001e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000b8a612007d000000b3070000090000006d61785f63616e6469646174655f6465707468753332616c6c6f7765645f616e6365737472795f6c656e6d61785f636f64655f73697a656d61785f686561645f646174615f73697a656d61785f7570776172645f71756575655f636f756e746d61785f7570776172645f71756575655f73697a656d61785f7570776172645f6d6573736167655f73697a656d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e64696461746568726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e64696461746576616c69646174696f6e5f757067726164655f636f6f6c646f776e426c6f636b4e756d62657276616c69646174696f6e5f757067726164655f64656c61796173796e635f6261636b696e675f706172616d734173796e634261636b696e67506172616d736d61785f63617061636974796d61785f746f74616c5f73697a656d61785f6d6573736167655f73697a656d73675f636f756e74746f74616c5f73697a656d71635f686561644f7074696f6e3c486173683e7538706f6c6b61646f745f7072696d6974697665733a3a76383c7761736d3a73747269707065643e4162726964676564486f7374436f6e66696775726174696f6e416272696467656448726d704368616e6e656c557067726164655265737472696374696f6e50726573656e7455706772616465476f416865616441626f7274476f41686561646361706163697479206f766572666c6f77000055a91200110000004f7074696f6e544e6f6e65536f6d654173796e634261636b696e67506172616d73706f6c6b61646f745f7072696d6974697665733a3a76383a3a6173796e635f6261636b696e67706f6c6b61646f745f7072696d6974697665733a3a7673746167696e67436f726553656c6563746f72436c61696d51756575654f6666736574cd710b30bd2eab0352ddcc26417aa1941b3c252fcb29d88eff4f3de5de4476c32f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000010aa12007d000000b307000009000000f5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f63617061636974796a0da05ca59913bc38a8630590f2627cb6604cff828a6e3f579ca6c59ace013d6a0da05ca59913bc38a8630590f2627c1d3719f5b0b12c7105c073c5074459486a0da05ca59913bc38a8630590f2627cf12b746dcf32e843354583c9702cc02063f78c98723ddc9073523ef3beefda0c4d7fefc408aac59dbfe80a72ac8e3ce5cd710b30bd2eab0352ddcc26417aa1949e94c040f5e73d9b7addd6cb603d15d3cd710b30bd2eab0352ddcc26417aa194f27bbb460270642b5bcaf032ea04d56a2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e7273000000a8ab1200710000002a020000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273002cac120067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000a4ac12007d000000b3070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000034ad12007d000000b30700000900000030787072696d69746976655f74797065730000000100000000000000483235362f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273e4ad120060000000240100001900000050617468206e6f742061737369676e6564000000e4ad120060000000b20000001e0000005b75383b2033325d010000000000000000000000000000209a99999999999999999999999999991915ae47e17a14ae47e17a14ae47e17a14de24068195438b6ce7fba9f1d24d621096d40968226c787aa52c431cebe2361aab436e861bf0f96184f068e388b5f8142236583849f3c7b4368dedb5a0f7c6106a238dc00e52a6875748afbc9af2d71a884fd766a541b89fdf398c30e28e791507a6121f51012de6b294d626e80b2e11a40951cb8168aed6b7babdd7d9df7c1bea3aa7a234edf1de5f956479e17ffd15bbc885e8f6f0277f1911ea2d81999711f80dd640beb40c65c281764968c2251c9371de33989070ea019b2ba1869b841643c17e29e0a6f3219b1556e79eaf03123735310fcdd785692bbc89d897b2d21cf9905a3fd7df37218996d44646f50e17fa7348cc45e65fe7a0ab43d2d15d72125d860d7a3c3d66a534acd2b64fc9831db19ed79463971e515d2342920ca19c17c14b79dd82df7eda7d4f9b0e0ab4e31268ac5b62d198642a96e55e171020391e53f0e281a7e0b6ee4451b21240b32d18a9264fce524d92586aa78ea899c2571341a47eb0b77b5027aad87ddaf5d0f21e345065c05fc9a652bb13cbaec440c21890a6ea994cd4eb0ec90f3cf2369ace13800a11c3ad5379b141196050bef6b01f670874028bdc2dc16747b3a6fe5e5a1952a029356fb02434869fc2ebfe4b4814db19ee90f2591d909e7f688965d639105f29b0b41dc3fb4c9732a7a8d523f619b2ba595db135963dac5b1fba77e9c4142862e17d275eab9756494cfb92879d100d9d68c9d8c9abf2f00e7af8b7a5951a3e17ba3a7aa1bc5b5a722e2d93844415cb45fb2ec81acaafae8e8b8a429d0311450992b1a6f7dcb24ae478aa9dfb381b04a141c1eb927df56e832d55b12fc71503b46767897564c4589c577727266c11d2eca5d8db886d6df4c625f20b3de01bdb23eb461607be8ac3381e28a3fd4c1649b655d2116cfe6e9c604b534f31d7110e8aefb64f1397b16067458518828b1ca5a1bff8720fac271ab96a37ad01d6161e4e9960c27256b9e160552c24ce44129516c2cd031e57f535cebb136de33a1dabab010b0318ac2a2bd82f768a4f62175689346f02e0bcbb5513f3c46e0cb51289a8edb1d0ccc792ef1eb8d44a7aee1d07ba578e400ad3dbf24b93106ffbf11706c8df7100d5a87cf56f0fda58fc2713d60c66e933bba7fabb4cb2298e60a61e11d7848729fc5295c9a38e540b1a85180eacd0d2bac9a8aa0783d8766fae9d13e3ac1a1e5edcdadda5d1c057b2b0621f4f8a484b4bb0487e51419aac8ec01b19d9a1d3d5d5596dcbdacde156a53316147b81dc77117b573ce2d7e7abeac211102acf6059825ef2c63626a6acaa04b619bba580476818f56bc551eb56559d911496840006ed792a23d1a722dfdd7d7410560734a3e18fddd1810cd13196fc531a456cf6e81a73e4a7343da7f444fd0f159e56f853e2281d535d97525d6a97d91062578db903db61eb2ef2509510bff51ae845a4c7cf484ebc585bdadda6659115206b836cd9d37163ade2e1171f1e4111cd119fad28861c9f480403f364639b1b0bdb18be536bb0e5069d358f1de91516a21547cb0f89f3ea6b4a9172e420ab1137bc71784cdbb84446aa1b846d01451c5f63c1c6d615c70305554903be9a9d1619e9cd6b45de383637770769feae1712c1411646a263c1565858720e97b1f21cce67abd1811c01df7913f571128e2817a5ec5541ce16347f61dc90c10ed886126e4756357d24206502c7e768e48ca41d253978f7301d80ea016cb9201dd7b61784fa2cf9f3b099bb3423614d17acf81239f74728534e5c5f54386815f2ac5a1e2e2cd3b9750b7d7f436053445b8a48185823dcc7f7d53099cf19a9367c3b6d1326d2f9728c89b48eb28f0ef1f92b151fb8412e8fa3072a7228a60bf4c7bcdd18fa9abea54f39bbc1861ed65c0697e413f6f7300919c25e9cd730f0fad624d41ff85f5a071468e549798d262fdf83761960e6e1051020516ec70a52bfe5cf5e141a8581d10c80daf1056f0e9984d94b10f5d468821400c44fd6e4e3f4a0f5121a2b77ed01aa9969d911b71cf7b3f7db14bcc58a018814eead7492b0c55cf9af102c09de68a6ed7c4954ea806f9428b31a24d4e453b857ca3a10559abf76205c1583761d4360793b6273aaaeff5e8016119ebdc8d166f52b9db810b132cb33571b7f646d4152c4bc7d600df48ea25cdf15ccb68a67db69fdcae63dc3d84e7d7f11df8a7772c50f2fabd72f058ee42eff1b80d5925b0473f288ac8c6a3e1dbf651666444249d028f5d3563d55984affea11a3a003424d4188b95795bbf31032ab1ce9e60268d7cd39617977fcc2405bef1654520220797161e72df9c968cd15591286509d998eb568a57c5b767415565b1dd2a64ae13e912051fd15c5f6dd447c170e1fa21aff404da7ca443792b1d0c9124acb69f764ceae0b116e58504fb40f1e3b3ceec550d88b3ca7f179733f900c18c9c9f137da7909ca85f4c7c232403d13db42e9bff6c2a8a96fba0c9eb766c81ee39bbacc2bcf53212695707e2c52a018824995708972a91ab8dd2665f074b3139d75881a0f8475f78c2f3e08e787851f175ea07b7236915f0a269806ec9f3719dfe419965bf84019d5844605f07f2c144cea47abafc600e1103705d18c99231047dd3f454ca467cee724d5b4478fd21906b1cc9dd6e952d81fb7ddc39f72a81438270a4b45eedb79192c7e6919c2861059d8a911a2e35f298f46300f8f36711a7a13bba7811cb3baa56bf3d8d85e27152fa995ec9ae3286251898fade04bec101775efe0f7380e9de80e4caf9aac131b792a591a932dd8b05372d625e256a9152e5547480fbe798ddcc1deb7814554117cbb0bda7e968f15949c978ccf08ba1b972fd614ff11a67776b0dfd6726d2e16798cde43ffa751f991f3b278f5bdbe118eadfdd2fe3f1cc21cecb75a2263641cd88a64423233b00117f05f15b5b5b61646a2839b8ec25901ac59e6dd90c42b12a303395f1704f6ceacc2a3fc1ad4121d839c2d4cac695e72bd9b1cca484342179ce38ad6895418f5fde2160807699b12c605abbd0f548dee2f6bf10cd874c51d056b22fe7276d7be8c22c170462ad11704bc4ecb28c512ffd64e678d6bbb0d13a0f97d78743b51cb247ed87b125f7c1e4d61fef929c90d09b731adfc417f63180a81cb9421d4d7a0c52724ca34cc821377ce7854cfb9bf676f0c6d4321ad371ff9712ddda594cc1f59708acf4d57f918c7f4bd7d51ddd67f7af3a13f3eacfa130bee2fc9e82ebeffc3b89c32fd79f71fd624f3a020bf316636fa16c2fdc79219781d5c1a1acc27b85efbab01cb6c751460e47c7bae09539318c9bc67a2f05d1099a094c5b042eb1ef474943f6ae72f1ae1e67604270289e55c2add32881ff314e7eb2b9d85cea0b7b0eeb028a07fc210d8dfdf616f4a0159b44a4e7433ccd01aad4ce6e725d5cde029a23e908fd67315f1d651865177714deeb4cbd972782911e857e9d6e8bee87bb054ac8f848d751b201321df5332bafc59dd890c6aa4f7158042e7184328c863ae4a6e70eee99211666ad827380d0d0617114a1a17431e1ceb21adec2ca43d6b12746e7b129c7e16564e57bdf01cfe88db5c58fc41e3fe11234a2562b49496415f618d603605cb1ce9d41de829aaab677fe73d4df8d0081787dd1720bb2156b932b964d7f9736d12a5958c662b6923c2eac13af2c2ec7b1d1dded61e89ba82cebb34625b025796171818df4b076235a5fcf6b4e201acde1259f36479d89c883b94f187373613311ee1f583c7464a6dfcdc5a06c6914227181a2b03069f6e573017af9ed1a79b521390ded13ccb7d251a2518311ca692ea1e40e5a7303cfe1d48b7795ae384a8bb18005186c0c9314bd3c5c7ae829d53c913cdb4a3cd42e9115209a617d1c885a81fa4901c3e0221db7407b8df403a9e5319500d4acb01b415f705601967fbe44214a70a08099b29def837b37a52fc833510d7dd0ca89142308e59b82ab79339ef19134b0a200e028d3ee1f9eef84261bf140f3c08803e9b3d65e7c758fa9b1a9910e42c0d0064f8c86ea50c8e90f9908e1aea23a499e9f9d38bb7a3714061da3e15bb1c50e1ba94a93cf982f4991a15ff102b61b39bc4ba75c78ed120c35dbb311b891a29166a95c4d20b0ee768b162c115a17bba118877d0db6f3e1f87278267119b925d1c40bf802ce663983e3fd0d81b4975e44933cc33bd51b64665ff0c4716d45d506e8fd68fcaa75e0551cc70d21153c9b3e34b571944d9fd6e4eade7831ca93af68209794703e19725a58aeccf16bafbc468d4606ccf807984ea6ef03f122af9070e87347ae59af5d3104b1a331d2294390b6c902e51e22a43da08155c17b5a9c7d5bca68bda8155cfe1d310b012870fd9222e71df909c55e5025381e61d6c0c144f8b5a4cda16de1dcfa89aeb178aa3a9a5a27ba3ae787eb1a520e22213a905a9a26a5fd27d2797b5a29a369e1e54d12082887fdb971facf74e15927e1877a780ce06667c794c23c6d8dd749813f10b01e40a702d8fad6ba32796545a1f5ad60050a259240cbeefb51f7810151915459ad981141d70fef2f7b2f9d91014776a7b149b4317c0fe5bc6282e7b0d10f24392edc405f2ccca2c0a0e7d2baf19c29c0ebed0375b0a6fbda171ca228c14cee33ecb73f948088c97b427d51b7010b09f6478ec5b0edaac25540c55f94c1ac07f5060f0af3e7bbdb7a9d610610a1533664080f3bfcb95972ceede731ad5105270cd665266acef5847b064b990ee1adb59a4b80e852326476cf3b6faa68b1549aeb693d8d0821e6c23295f95853c1175b08a1ff41a9efdac38a8feee08941bf759d5b229afb197bd938698250710162c7b77f5ba258eac97dc9e131e6ca61113c558222b097d7abf2dfeb8c9793d1c766aad4eefa0fd61cc57cb60a1949716c5eebd0b591afee7091309e74ddd12123ab1fc455b5d63a6dc840ed8affbea1cc88d306baf4a1c85b0d03e13f3622217d4d726bcf26ee3d026dacb75c2e88112868ca4c6ea179fb4d72946899da79c1d6b705005efdf182a46ee04a11786b01789f3d99d25b3e0546b8b9d4d799ef3127452f6626febcd8778452f7c2897521e5da85e82bf220bd3c66abfc986124218e4b94b68cc1b3c0f9f88ff3ad20e68136d2979407a2c601898da989183e40c1f24219433c856b34613e2130e361dd718b64d4329a0788f38dcb4dca4914adf138aaf6ba866277f5a602161a182aacb1fa2bfefb9eb8532154db44db49bbb6f194e998c6189d18eaa3d90a4f6e26259140ce1d61aa1a7d8eecad9b62b4f824710459b245e9b72277e11f68adfb1030c1a04491d1849f585fe0df83b195b69d614d0a04a13d45d9ecba4f92f147c87ab104d01115253c963df3a5ce6b9f90bac1a7167da740fa11c192fb01efbfa6f5615c152482ad980b0ad25c04b2f2ff3111134510daa8e34e71509cd12b27eeb4f1bc40d71ee3e5d1fab6d0a0f283289d9159da48d8b651719bc57080c2028d47a11943a7c123cf2f42c590de0ccd9b9f71b439596dbfcf4c3f0e03db370e1c75f1603111216975d365a1acbf5268139e61104e81cf024fc569090de220b358fa31cd0ece38c1d30dfd9a64b82a25d3fe916da23833db1597fe1eba2ce4eb13254125c39382fb5c2cb6879d17de44e84531de32d60bf5d35d65394a76450720376171c8be665b12a78a976ecb6a68ecfc412fa44d76fb5aa260ff1138bd77db2071e626adfbf2a22523f27436fac642806184e887f99884edb651f9cf289502038134a0dcc28744ac56f6593ea0fb433c01e3ba40987f6a16a59840f2273f6c2991896b6076cf8e7eead36d9b4f59135ae1356570ce0f33f7e4924f5ba2283227d1f45acd64cf6ff64d4e99095e868e83019d189783df8ff8343ee7344ed5320271474a19397c6cc9ccff18f03f10f4d1f105202b925a447617f1cb305e87faecb190f35c7b7e9d24dcc165cd1ecfff1a214d990d25f210f0b3d12b0da23335b8210c1e75099684bab6150b32a06852b6a1a67b94014baa2224e405c556b6abc2115539400dd94e84e0bcd4944bceec9e71051ed00c887da171248a9d3c64a760c1bdabd00a06c4846db6c87dc6bd591a315af64cd4cbd0605498a9fe3efdda74f11b13ae27ac80a08a843ff38e62fa6b21bf42ee8fb39a2395369ff931ef38428165df2ec2ffbb4c77587ff0fb2f503ba112eea47e69121d9223fff7fb622d35c1cf254068541817ab565ffff91e8a8b016f5433837010162c4b73233db86ed2612ee9ff3f10168363a5984eb91a4150b1d8b19f6279bb95efbe069bc7450113c17d67a5e86e2fa7e2fe787635d407496125691fdd6d0f797e571d93862cd86bd1dabdaca780d937984c17a2de83dd2ca1756156f2d714261d09ac88a8631a80813222218af4e6a684d91daaa3d4f40741ee8b479f23e8853a4daae88643f005d18875d6128ff6cdce9ae586d50cc997d13a495680d65ae60a9e48d481a7a5c2f1f8344ed3db7beb3ba8371a0ae61b0f218369d8a312c32f62e36c1e6bee759f513f0617782131dbde4899bd7973ff6ee1f5a4e2c35a97dca83a1afdfdf32f88b1915a556f720fea19ce7f2b24cc2f96f14aa1d12f9b3311b4ab9288f709b945910dd95b6c1ecb55e43f50de580c5ed281a4ade5e01575ee535c4a41d67048bed14d5b11801ac7eb7c4691d7e52d008be1022b65a9b799725a10f2f30b7b3a7c91a815e154961acb74dd958f3f8c21f6e159b4b44078123c6d7ade0f59335e624112bacd33e9b053d5949345686223d6e1bbc89dccb159efde06dc3110582caf11563a1e36f1118feb3246941379b3b8e11d19bd27fb559638607753525c5c5161c0ee30e339114e9d1d290f750379e78160b1c3f8fda76ba74750dc6402c18fa1178c631e59024f7edbb48a367e059c31c2d055bb7401d2c8bc9d3b51f4dae021724047c5fcd7d566fd40f2be6708b6812066dc69848c9f07eedb2113d4e12741d9fbd9ee006a1c09857c2a7fda40e9017e6ca4b4dd2800047799becca50a5d912a24479481dce00d88ec5ad448108291e82d02d6d17d833133fd1579d9ad32018cea624247946f6a865a7ac4a15764d137da43aa08e3dbd746fa57a778856e21e645095e63e31645d8cb7fbc50612b518b7a6aaebcb8db64a702c96d16b0ec41357a4aa12131624111a47f0e81217a01fdfe9ee0edc4483da146cf35342df4c198021bfd87c9d02e243232943687f3d143381327afd7d684e361c54cfb9323110b8ce509095c9404abdc6b94b2951e819c60ba7a677d4330831d2c76f87dab9146b09ec1ec67629a08d0ed3bfd2ae9410dfdbac64a35742004917b8ff1d7e871a19e323eab5df01cda0126099b1313915aeb51c88914cce704d75e6ad278efa10e25594a6b5ade31aafbb70490c7d2a1be8774385c457e97bf2628d073d97bb1587f935046a7987c98eb50a0664df621171c2bc06108fa575e48877d66c65d11b2735ca6ba6a5b7f7e9d392abf01d41161fc4a1bc1e1ec65fee0f0f568db1cd1165d302616463a3ff16b3b189484f7c1c51dc9b4d501ce932df288ed406d9c9160e7d497173e3208fb220d87605143b127c2e0f8285059b7eeacd59f13b532b1dcabea5019e37afcbeed747f42fdc5517a19884344bf95809bfac6cc38c16ab120000000000000000000000000000001000000000000000000000000000000014000000000000000000000000000000190000000000000000000000000000401f0000000000000000000000000000881300000000000000000000000000006a180000000000000000000000000080841e00000000000000000000000000d012130000000000000000000000000084d7170000000000000000000000000065cd1d000000000000000000000000205fa012000000000000000000000000e8764817000000000000000000000000a2941a1d000000000000000000000040e59c30120000000000000000000000901ec4bc1600000000000000000000003426f56b1c0000000000000000000080e03779c31100000000000000000000a0d88557341600000000000000000000c84e676dc11b000000000000000000003d9160e45811000000000000000000408cb5781daf1500000000000000000050efe2d6e41a1b00000000000000000092d54d06cff010000000000000000080f64ae1c7022d15000000000000000020b49dd97943781a0000000000000000949002282c2a8b100000000000000000b9340332b7f4ad140000000000000040e70184fee471d91900000000000000883081121f2fe7271000000000000000aa7c21d7e6fae0311400000000000080d4dbe98ca039593e19000000000000a0c95224b00888ef8d1f00000000000004beb3166e05b5b5b81300000000000085ad609cc94622e3a618000000000040e6d878037cd8ea9bd01e0000000000e88f872b824dc7726142130000000000e27369b6e22079cff912180000000080dad003641b695743b8171e00000000908862821eb1a1162ad3ce1200000000b42afb22661d4a9cf48782170000000061f5b9abbfa45cc3f129631d000000a05c3954cbf7e6191a37fa5d12000000c8b34729beb560a0e0c478f516000000baa099b32de378c818f6d6b21c00004074044090fc8d4b7dcf59c6ef11000050910550b47b719e5c43f0b76b160000a4f50664a1da0dc63354eca5061c0080865984dea4a8c85ba0b4b32784110020e86f2516ced2ba72c8a1a031e5150028e2cbae9b8187698f3aca087e5e1b00596d3f4d01b1f4a199647ec50e1b1140af488fa041dd710ac0fddd76d2611510db1ab30892540e0d307d951447ba1aeac8f06f45dbf428083e6edd6c6cb41024fbeccb161232338acdc9148887e114ed39e87e9c96febfec40fc196ae9191a342451cf211efff793a83d50e2315010416d2543aae5fef5b8124de45a3e641492c8eed3149f7e336757609df14d7d19b67aea08da465e00416db8046ea1dc1fb28c924548ec3aa04844f3c2e4e4e913de2ff7565aa749c85a15b0f31d5ee418d6fbb4ec30115c7ab11a9c70a5751d1f651df193be8a79ecae90616687697213bf64ed386eed97a7daf4f93fe9034f18efbd28c7c9e87d511172f88fe3c4621eb576791c7eb1eed24a47fb390ebbfd1262d497a3dd5daa871d197ac8d129bd177bc97d0c55f594e9649f983a4674ac1ded9dce275519fd119f639fe4abc88b126845c271aa5f7cd6863cc7ddd6ba2e17c2d6320e95771b8ca80b39958c69fa1c39c6df28bd2a915749a743ddf7811c12c8b717736c7575ad1b9194d475a2a316baa5dd8fc7d2d29862b5b949138b4c1c9487eab9bcc3839f5d11140eecd6af11792965e8abb46407b5159911a7cc1b16d7737ee2d6e13d49225bffd5d0bfa21b66088f4d26adc66df598bf85e2b7451180caf2e06f5838c9327f2f27db259715207d2fd98b6e867bff5efbf051effc1a34aebd67170534ad5f1b9d369315de10c119ad415d06819837624404f89a151532601892f447a17ec57a5505b6015b1a1f3c4fdbf8cc246fbb6c55c311e17810270b23123700ee4aeac72a3456199714f0cdabd64480a9dde47935c1abdfbc19b6602b062bf0890a2f6cc158cb0b1610e438b6c7356c2ccd3ac7f12ebe8e1b141dc7a339438777800939aeba6d722219e4b80c08146995e04bc75929090f6b1f8ef30785ac615d6c8f1cd8b965e9a21372f049a617ba7447b3234e28bfa38b188f6cdc8f9de85119a0ac61f2ae8cae1ed9c3e9796231d30fe40b7d57ed172d13cf346418bbfdc713dd4e5cade85df81703427dde29fdb9589462b3d86275f61d42490e2b3a3e74b79c1d70c75d09ba1292dbd1b5c84d51e503254c39b58b6817775246e33aa1a5de442e9f87a2ae421d8af30bcec484270beb7cc39425ad49126df08e01f665f1cd255cf4f96e18dc1688acf28173bf6d412f7371b88a1e931cd5ab3731a897e488fde746b316f3db11ca96853d92bd1debfca11860dcef52167dfce6ccf62ce5257cca1e78d3abe71bce5d10401a3caf978d3e132b64cb7011427514d0200b9bfd300ed8353dfecc1592921904e9cd013dbd114e83cc3d401b9bfb8fa2b120214616cb10d29f26081182fa330bde68a9d7dbfd94c647304a1523f9008e15c393cd523d3ab859bc9c1ab69bc078ed597cc053662413b8f5a110a3c2f0d668709bb0e87fed172673ca144cf3ac0c834cc2dce2dfe89def0ffd190f18ece7d16ff9c9ed8bb1c2f5293e10131ee761c6cb773ce9ee5d3373b44d1498e560fab7be958ba36a350090216119fe1ef9f8652e7b6e4cc54200f469b91f5fb39bbbfffc0cc54fbb298038e2d31337a082aa3f3c50b6232a34a0c6dac818444823954f4be4a3ac3441487811fb1e2b0d36bd11af6ee6ebc0282debea5c137590832cd65a0ae026f172f8a52534189374a4b78bf10c9870ad8f760f2f411edcc8c652f716085f66cc19aa69bde812137b7827b51ccaf67f3fa014c4eca217d7995671e2a37cf45f4fc819f5a78b1d2620d6866de6cdf89b311d30f948771230a88be8086001f7027e247c371b15173c92ae220bb8c1b4839d2d5b0562da1c651badf50613f9507282fc58437d08123f6218b3c85737e50ea33b2f949c8a16cf7adedfba2d859ed28b0a3bb9432d1cc10cebcb943c13a36397e6c4534a9c11f1cfe5feb90bd88b3c3d20b6e85c0316ee439f7ea80eceae8b4ca8e32234841b758a234f29c9404dd72f49ce95a03211126deca273fb9020cd7bdb41bb487f155688a78b503ab568c05a5212ea1adf1a36b5485772447141b878734bd270cb1083e21aed8e95cd51e65650de064dfe14249b61a8f2fa40e69f6ce49548e03d1af7003da9d79ce8efe3c3ae5d2dac661034418c930dc4e2ebdc741ab53857801481516ff81075db26141261e2066da019f192459b2a2949984cab7c4d24440410adf7164275735bbe1fd6db602d55051498b59c925250f2ada7cb12b978aa0619ffe2433767e46e99917e57e71655481fdf6d8a82c04ee5ff1aaf96502e358d1357092da370a2debfe15abce479827018ad4bf8cb0c4bd62f9a71eb5d18a38c1e4c2f7bffe7eee55d0027b33aefe517131ffb59ffa16a5f75c0f05f096bdfdd17e779307f4a45b792f0ecb7cb4557d51d304c7e8f4e8bb25b16f4529f8b56a5123cdf5d33222e9ff21bb127872eac4e170b5735c0aaf946ef629df1283a57221d675621b80a5c8cd55d0297598476351201ac29660d73ef4af5c2fc6f25d4c2160117b4bfd04fab9db2f3fbcb2e89731c608ed077e2118ba24f787d3fbd35c811f9b1c4155bd62d8b63d65c8f2c433a1677de35dbf14bf96dfc0b34b3f7d3c81b0aab012977cfbbc47d8700d07a845d11cd1542f354c3ea355da9008499e5b415409b12302a746583b4d300e5ff1e221b08a10b5e9a681fd2508420ef5f53f5104a898ef5c042a70665a5e8ea37a832159d2bf23271135148becea2e545527f1a425bd7bf26ac32ed36c185af6b938f101232cd6f30577fa88431679b4678b314977ec08bfc2c9fd2e5fd40425856e0191e4f58d71d7ca3a3af9e6829f7352c10e6622e4d255b8c8c5bc6c2f3744337149ffb79a0ee71af6ff277b33052144519877a98486a4e9b0bef55e0bc6659961f944c5f6d02114167b5350c36e0f7bd13ba1fb708435511c122438f43d875ad18a8e7e4ca93aa5571eb1373544ed3d81ec910cf5e9c8ad52673ecc7f410844713fbd4827643ed8af08fe7f931156519183a8a235494a8adec7361787e5abe1f1e643696b45c89ec73e83c0b8ff8d6d312fdc3bbe1b3abe790220cceb2b6cc8817fdb42adaa09621352b8f815fe4ff6a1d1eb15a8824fe34017bf9b0bbeedf6212655d71aaad3d82c1d9379d6aea97fb16bfb40d1519cde231d0854405e57dba1cf79028ad2fc02d1fa2d34a23af8ef41135b572983b30f9a68a881dec5ab2711682628f7e4a7cb750adea24a7f11e0e1c919d198faead7252ac12770857d38811f604e0321a590f6757d794ca2c08eb15330698bf602fd3402d0d3afd37ca651be003bf779cfd83483c4844fe629e1f11d8c4ae9503fda45a4b5ad5bdfb8567150e761a7b443c4e31deb04aad7a67c11ac989f0ccaae5d0de8aae4eacace0b8103bac2c80151f85962d5a62d7d718e7144ad737e0da6626fcb8f03acd0ddf201a8ee622cc4800989d73d644a0688b541032a02bff5a00fe84100c56c842ae69143e88f6be71803da6148f6b7ad31984194e2ab42e8ee0cccfd97206594820e51f709a30dd580ce021c807a4372d34ef130dc17c146f0f582aba098d853801eb1850f19bd94a13eeb4284cf0a686c1251fd27601c80ecc1471992f5628f498771386d4017a12ff59cd7fbb6b32317f5518a8498218d77eb0c05faa067ffdde6a1e096e516f464f6ed87b2a646f5ecb02138bc9250b18e389ce1a353d0b367ec317ee3bef0dde5b2c8261820c8ec35db41d7585b5c86ab95bf17cd1c7389aba9012d2e6e27ac5a7b22ddcc5f9c640e9341786a09bd9b6511f395337b8f89023021d544401481293b3039422739b3a562112699501dad677a00439eb4f42c9aba916c3fa8190cc95c84507e6e392bb16541cba3c51da9f5d9d8bc46fce3b358eb411e88be5d007b584aeb50bc28ac2b12116e3ee1ec549e2251aa38e722d331eaa1b4d55331b6ead57f0259967fcdf524a11a12a00a2c9986d6c6f7f81fb97e79c154935800afcfe88474bdf61fa7d21041b4e2190865d9fb50c8f2b7dbcee94e210a12934e83407e3cf72769c6b2a3a1b150a34412202c9db830f948306b508621a86c06855a15d69b2893c122471457d10a7f0c2aa09b5031faccb166dcd969c14d1ac73154ca2c426977e5cc880bcc319034c688d6fe53a781ecf397dd0551a10035fc270cb9e4916e642889c44eb2014c4f6f24c7e06dc9b9f53aac31526291976b42fe01d08d38287e894349b6f731fc9d01dac12e5c3b15411dd00c125a813fc44255757de34dea9551441312f92183b96ee2ced15c255146b5991fdbab61ee51d153cb44d99b5ece2d77ade3432135e651a4b21a1ffe2a7db8d1916c2fe17b6fee09d6989bfdb9152f19f9b72fe1d319fac02e2b557299bd3f643a107bf12fec657835aa3adf38188f49489c96e17bdb82d24310c9970a2aa31faeb7b4a1d76939cb69ea75f86a50a5f7c738d4e1254b843648691f7e74ecd765bd030e21669a654fde775f5a1a280547204bd9a1c01e854feb06939a565d074c722b6e0110222ea3d1dc4870e7f045279abe3581682aa648d24b529d29e85a657961cef1b91ea5ed836115a438313c8f6dd71751136a5768e8495301464187a7455ced215834e14b2e5ba3c197d9e98d1ea81471b12b14c8fcff4c52f0e63ffc232b10c1156dd1f730372b7bbd13bbf737fdd4f15acd4e74f844ea52ac60aaf50dfd4a31aebe4f0b11251a7dabb666d920b65a610261e6d5e572551d16ac008774efecf14b0650836ad6ea58585f0ca14e2fd031a8e3fc5412c65877353d6fe4cad7e4210718f3652773e6950e88b3ea0581e53144e33c426158e8364e22e4ec8eee56719224075709a71a4fd9aba617a6adfc11f1548498600c786dea0147d8ca22bd9131a9adba7c0782816c9599c2f8b76cf18a180d2d1f096b25b3b7083fb2d54031f64902383569e4f19252632bd9c1462137e74ec23ec85a35faeaf7eecc3993a189d91e72c67678cf7995b9ee73440491e02bb107ca0c0b73a40f9c21021c8ed12c3e9149bc8b0654990b7f354293aa9173324dac1fa1cbf5b74a530aab388931da05628b91c7257b968675e4a70357c12486c72e7a34eade74201f65ccc421b175a074fe14ca298a1938133747f13e21c9864d10c7065ff44fc30a0a82f4c0d12bebd0510cc3e3f563b3dc8923b9f90162e2d07147f0ecf2b8a4c7a770ac7341c3d7c846c0f69615bd66fac8a66fca0114c9ba54753c339f2cb8b572d803b09161f028f192834c8eebe6ead38608a8b1b5361f90f99203d5537656c237c363711a8b9f753bf688c2a857e472c1b04851512a8f528ef822f75265e59f72145e61a0b899979d5b13d09d8da973a35ebcf104eebffd74a1e8d0b8ed13d8902e6031522e6ff8ddd65708ef1458d2b83df441ad5efbf78aa3f06f9b64b38fbb10b6b10caebef1695cf47b7a45e067a9ece8514bde6ab5c7ac319e54df687184642a7193670eb792c1a30aff0f954cf6b890810434c6698b720fcda6c382ac3c6ab0a1454df7f7ee528bb1188c6f473b8560d192ad71fde1ef329162af8f19066ac501f7ae6d34af337da4d1a3b971ac06b921319e0881df0c550e1e0093d21b00677181f18eb246cf7a419594c8c295cc8941e13ef1297a31a07b0b7aff79939fd1c13d8aad77c4ce1089ca59b7500883ce4178e950d9c9f190b038f029300aa4bdd1d797d88c103f0e66199e15b404a4faa12d79ceab104ac60baffd972d01ce354170d4465de05d7f8a87f908f04e41b2a1d884affaa63869bc94fbad9826e513a122a1dbf95fc6702bce3289023cae5c81674e42ebbfb0103ab1c3374ac3c1f7b1cc94efd543de1e1eaf19fc8eb85f3cc117ba23caa8c599a65eec7ba66673040161acbcbd4efef00ffe9796940813cd01bf05effe4f595603f32ec41c8d0256211ac363f5e73bb38cf3e6752fa44afba155704cf3550ea06830e01e738165b291bb662a1217252e411a96090e3edd8f91064bb09aa0e675d56d378745c294f38153d2a8c54d2c0f42b089791b3f362861a669ad77483f8781b65fe3a50d8fd931000810d52a4365762febd49644efdb81440e190664d04edfa7d2d5cfda13ce719c88c1a60b022d4bc6e9c593ee5853010fa2f21785c2b096c8a03f08d5ea73c14f87b299633760b076d046c3136d14b19f6dab37bc053ce488805c7bd83c59e1fda68504d58f4802d75639c56723bc3131083a4606e31e178527c43ec4e0ab4183030303130323033303430353036303730383039313031313132313331343135313631373138313932303231323232333234323532363237323832393330333133323333333433353336333733383339343034313432343334343435343634373438343935303531353235333534353535363537353835393630363136323633363436353636363736383639373037313732373337343735373637373738373938303831383238333834383538363837383838393930393139323933393439353936393739383939302e302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e72730bd9120085000000a10100002e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e7273617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e686569676874202d2031a0d9120080000000ad02000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e2829a0d91200800000004a07000005000000a0d9120080000000c704000023000000a0d91200800000000a05000024000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e6e6f64652e686569676874202d2031000000a0d9120080000000fa030000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e727300db12008400000058020000300000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f737065635f66726f6d5f697465725f6e65737465642e72730094db12008300000034000000050000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e727328dc120074000000e10500001400000028dc120074000000e10500002100000028dc120074000000d5050000210000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300ccdc12006f000000a200000019000000ccdc12006f0000008b0000001b0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f696e5f706c6163655f636f6c6c6563742e727300005cdd12007e000000fb0000000100000028dc12007400000065040000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e7273fcdd120074000000e105000014000000fcdd120074000000e105000021000000fcdd120074000000d505000021000000fcdd12007400000065040000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273b0de120084000000160200002f000000b0de120084000000a1000000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e727300000054df1200710000002a0200001100000072232f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300dadf12007d000000b3070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f74792f636f6d706f736974652e72730068e01200670000003f0000002a0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f74792f76617269616e742e7273000000e0e01200650000004b0000002a0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000058e112007d000000b3070000090000003a3a000000000000080000000400000031020000416c6c2070617468207365676d656e74732073686f756c642062652076616c69642052757374206964656e746966696572732f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f74792f706174682e72732ee21200620000005a0000000e0000002ee2120062000000720000000a000000206973206e6f7420612076616c69642052757374206964656e746966696572000100000000000000b0e212001f0000002ee212006200000090000000210000004d697373696e675365676d656e74730000000000040000000400000032020000496e76616c69644964656e7469666965727365676d656e742f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e727300000028e312007d000000b3070000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f696e7465726e65722e727300b8e3120063000000b30000001a000000457870616e645365637265744b6579736d696e69736b6e6f00000000000000000000000008c9bcf367e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa5d182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b012f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f737562746c652d322e352e302f7372632f6c69622e7273000091e4120059000000bf020000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300fce412006f000000a2000000190000000000000008000000040000003a0200003b0200003c0200006120737472696e6762797465206172726179626f6f6c65616e206060a6e5120009000000afe5120001000000696e74656765722060000000c0e5120009000000afe5120001000000666c6f6174696e6720706f696e742060dce5120010000000afe5120001000000636861726163746572206000fce512000b000000afe5120001000000737472696e67200018e6120007000000756e69742076616c75654f7074696f6e2076616c75656e6577747970652073747275637473657175656e63656d6170656e756d756e69742076617269616e746e6577747970652076617269616e747475706c652076617269616e747374727563742076617269616e746578706c696369742070616e69632f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264652d312e302e3231392f7372632f64652f6d6f642e72739fe612005d000000eb08000012000000afe5120001000000afe512000100000060206f7220600000afe51200010000001ce7120006000000afe51200010000006f6e65206f66202c2000000001000000000000002e3075333230303031303230333034303530363037303830393130313131323133313431353136313731383139323032313232323332343235323632373238323933303331333233333334333533363337333833393430343134323433343434353436343734383439353035313532353335343535353635373538353936303631363236333634363536363637363836393730373137323733373437353736373737383739383038313832383338343835383638373838383939303931393239333934393539363937393839392f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e72731de812006f000000a2000000190000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e72739ce81200700000008d0500001b0000006e756d62657200009ce8120070000000ea0100001700000000000000000000000000f03f000000000000244000000000000059400000000000408f40000000000088c34000000000006af8400000000080842e4100000000d01263410000000084d797410000000065cdcd41000000205fa00242000000e876483742000000a2941a6d42000040e59c30a2420000901ec4bcd64200003426f56b0c430080e03779c3414300a0d8855734764300c84e676dc1ab43003d9160e458e143408cb5781daf154450efe2d6e41a4b4492d54d06cff08044f64ae1c7022db544b49dd9794378ea449102282c2a8b2045350332b7f4ad54450284fee471d9894581121f2fe727c04521d7e6fae031f445ea8ca039593e294624b00888ef8d5f46176e05b5b5b893469cc94622e3a6c846037cd8ea9bd0fe46824dc77261423347e32079cff91268471b695743b8179e47b1a1162ad3ced2471d4a9cf487820748a55cc3f129633d48e7191a37fa5d724861a0e0c478f5a64879c818f6d6b2dc484c7dcf59c6ef11499e5c43f0b76b4649c63354eca5067c495ca0b4b32784b14973c8a1a031e5e5498f3aca087e5e1b4a9a647ec50e1b514ac0fddd76d261854a307d951447baba4a3e6edd6c6cb4f04acec9148887e1244b41fc196ae9195a4ba93d50e23150904b134de45a3e64c44b57609df14d7df94b6db8046ea1dc2f4c44f3c2e4e4e9634c15b0f31d5ee4984c1b9c70a5751dcf4c916166876972034df5f93fe9034f384d72f88fe3c4626e4d47fb390ebbfda24d197ac8d129bdd74d9f983a4674ac0d4e649fe4abc88b424e3dc7ddd6ba2e774e0c39958c69faac4ea743ddf7811ce24e9194d475a2a3164fb5b949138b4c4c4f11140eecd6af814f169911a7cc1bb64f5bffd5d0bfa2eb4f99bf85e2b74521507f2f27db259755505ffbf051effc8a501b9d369315dec050624404f89a15f5507b5505b6015b2a516d55c311e1786051c82a3456199794517a35c1abdfbcc9516cc158cb0b160052c7f12ebe8e1b345239aeba6d72226952c75929090f6b9f521dd8b965e9a2d352244e28bfa38b0853ad61f2ae8cae3e530c7d57ed172d73534f5cade85df8a75363b3d86275f6dd531e70c75d09ba1254254c39b58b6847542e9f87a2ae427d547dc39425ad49b2545cf4f96e18dce6547371b88a1e931c55e846b316f3db5155a21860dcef528655ca1e78d3abe7bb553f132b64cb70f1550ed8353dfecc2556124e83cc3d405b56cb10d29f26089156fe94c647304ac5563d3ab859bc9cfa56662413b8f5a1305780ed172673ca6457e0e89def0ffd99578cb1c2f5293ed057ef5d3373b44d04586b35009021613958c54200f469b96f58bb298038e2d3a3582a34a0c6dac8d8583541487811fb0e59c1282debea5c4359f172f8a525347859ad8f760f2f41ae59cc19aa69bde8e2593fa014c4eca2175a4fc819f5a78b4d5a321d30f94877825a7e247c371b15b75a9e2d5b0562daec5a82fc58437d08225ba33b2f949c8a565b8c0a3bb9432d8c5b97e6c4534a9cc15b3d20b6e85c03f65b4da8e32234842b5c3049ce95a032615c7cdb41bb487f955c5b5212ea1adfca5c79734bd270cb005d5750de064dfe345d6de49548e03d6a5dc4ae5d2dac66a05d751ab5385780d45d1261e2066da0095eab7c4d244404405ed6db602d5505745ecc12b978aa06a95e7f57e7165548df5eaf96502e358d135f5bbce4798270485f72eb5d18a38c7e5f27b33aefe517b35ff15f096bdfdde75fedb7cb4557d51d60f4529f8b56a55260b127872eac4e87609df1283a5722bd60029759847635f260c3fc6f25d4c22661f4fbcb2e89735c61787d3fbd35c89161d65c8f2c433ac6610c34b3f7d3c8fb618700d07a845d3162a9008499e5b46562d400e5ff1e229b628420ef5f53f5d062a5e8ea37a8320563cfa2e545527f3a63c185af6b938f706332679b4678b3a463fe40425856e0d9639f6829f7352c1064c6c2f3744337446478b330521445796456e0bc665996af64360c36e0f7bde364438f43d875ad18651473544ed3d84e65ecc7f41084478365e8f931156519b86561787e5abe1fee653d0b8ff8d6d322660cceb2b6cc8857668f815fe4ff6a8d66f9b0bbeedf62c266389d6aea97fbf666864405e57dba2c67d44a23af8ef46167891dec5ab2719667eb24a7f11e0ecc6713770857d3880168d794ca2c08eb35680d3afd37ca656b684844fe629e1fa1685ad5bdfb8567d568b14aad7a67c10a69af4eacace0b840695a62d7d718e77469f13acd0ddf20aa69d644a0688b54e0690c56c842ae69146a8f6b7ad31984496a7306594820e57f6a08a4372d34efb36a0a8d853801ebe86a4cf0a686c1251f6b305628f49877536bbb6b32317f55886baa067ffdde6abe6b2a646f5ecb02f36b353d0b367ec3276c820c8ec35db45d6cd1c7389aba90926cc6f9c640e934c76c37b8f8902302fd6c23739b3a5621326deb4f42c9aba9666de6e392bb16549c6d70ce3b358eb4d16d0cc28ac2b121066e8f722d331eaa3b6e9967fcdf524a716e7f81fb97e79ca56edf61fa7d2104db6e2c7dbcee94e2106f769c6b2a3a1b456f948306b508627a6f3d122471457db06fcc166dcd969ce46f7f5cc880bcc31970cf397dd0551a507043889c44eb20847054aac3152629b970e994349b6f73ef7011dd00c125a82371561441312f9258716b5991fdbab68e71e3d77ade3432c371dc8d1916c2fef77153f19f9b72fe2d72d4f643a107bf627289f49489c96e9772ab31faeb7b4acd720b5f7c738d4e0273cd765bd030e2367381547204bd9a6c73d074c722b6e0a173045279abe358d67386a657961cef0b7414c8f6dd71754174187a7455ced275749e98d1ea8147ab7463ffc232b10ce1743cbf737fdd4f15750baf50dfd4a34a75676d920b65a68075c008774efecfb475f1ca14e2fd03ea75d6fe4cad7e4220768c3ea0581e5354762f4ec8eee5678976bb617a6adfc1bf76157d8ca22bd9f3765a9c2f8b76cf28777083fb2d54035f772632bd9c14629377b07eecc3993ac8775c9ee7344049fe77f9c21021c8ed3278b8f354293aa96778a530aab388939d78675e4a70357cd27801f65ccc421b07798233747f13e23c7931a0a82f4c0d72793dc8923b9f90a6794d7a770ac734dc7970ac8a66fca0117a8c572d803b09467a6fad38608a8b7b7a656c237c3637b17a7f472c1b0485e57a5e59f72145e61a7bdb973a35ebcf507bd23d8902e603857b468d2b83df44ba7b4c38fbb10b6bf07b5f067a9ece85247cf687184642a7597cfa54cf6b8908907c382ac3c6ab0ac47cc7f473b8560df97cf8f19066ac502f7d3b971ac06b92637d0a3d21b00677987d4c8c295cc894ce7db0f79939fd1c037e9c7500883ce4377e039300aa4bdd6d7ee25b404a4faaa27eda72d01ce354d77e908f04e41b2a0d7fbad9826e513a427f299023cae5c8767f3374ac3c1f7bac7fa0c8eb85f3cce17f2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e7273e0f21200700000008d0500001b0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e727300000060f31200710000002a020000110000003d0200000c000000040000003e0200003f02000040020000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f696f2f636f72652e72730024f41200630000001200000009000000460200000c00000004000000470200004802000040020000000000000000000001000000490200006120446973706c617920696d706c656d656e746174696f6e2072657475726e656420616e206572726f7220756e65787065637465646c792f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e727300f7f4120070000000df0a00000e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f7374722f7061747465726e2e727378f5120074000000380600001400000078f5120074000000380600002100000078f51200740000002c0600001400000078f51200740000002c060000210000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273002cf612006f000000a2000000190000004572726f72000000f7f41200700000008d0500001b000000617373657274696f6e206661696c65643a2073656c662e69735f636861725f626f756e64617279286e65775f6c656e29f7f4120070000000c00500000d00000078f5120074000000b904000024000000454f46207768696c652070617273696e672061206c697374454f46207768696c652070617273696e6720616e206f626a656374454f46207768696c652070617273696e67206120737472696e67454f46207768696c652070617273696e6720612076616c7565657870656374656420603a60657870656374656420602c60206f7220605d60657870656374656420602c60206f7220607d606578706563746564206964656e7465787065637465642076616c7565657870656374656420602260696e76616c696420657363617065696e76616c6964206e756d6265726e756d626572206f7574206f662072616e6765696e76616c696420756e69636f646520636f646520706f696e74636f6e74726f6c2063686172616374657220285c75303030302d5c75303031462920666f756e64207768696c652070617273696e67206120737472696e676b6579206d757374206265206120737472696e67696e76616c69642076616c75653a206578706563746564206b657920746f2062652061206e756d62657220696e2071756f746573666c6f6174206b6579206d7573742062652066696e6974652028676f74204e614e206f72202b2f2d696e66296c6f6e65206c656164696e6720737572726f6761746520696e2068657820657363617065747261696c696e6720636f6d6d61747261696c696e672063686172616374657273756e657870656374656420656e64206f662068657820657363617065726563757273696f6e206c696d6974206578636565646564206174206c696e652020636f6c756d6e20000000010000000000000048f912000900000051f91200080000004572726f72282c206c696e653a202c20636f6c756d6e3a202900000074f91200060000007af912000800000082f912000a0000008cf9120001000000696e76616c696420747970653a202c20657870656374656420000000b0f912000e000000bef912000b000000696e76616c69642076616c75653a2000dcf912000f000000bef912000b000000666c6f6174696e6720706f696e74206060000000fcf91200100000000cfa1200010000006e756c6c2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f6572726f722e727300000024fa120061000000f70100002100000024fa120061000000fb0100000c00000024fa120061000000020200002100000024fa1200610000000b0200002a00000024fa1200610000000f0200002c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f726561642e7273d8fa120060000000a001000045000000d8fa120060000000a50100003d000000d8fa120060000000ad0100001a000000d8fa120060000000fa01000013000000d8fa120060000000ff01000033000000d8fa120060000000030200003e000000d8fa120060000000090200003a000000d8fa1200600000006802000019000000d8fa1200600000006c03000019000000d8fa1200600000006d0300001a000000d8fa1200600000006e03000019000000d8fa1200600000006f03000019000000d8fa1200600000007003000019000000d8fa1200600000007103000019000000d8fa1200600000007203000019000000d8fa1200600000007303000019000000d8fa120060000000ce03000011000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000010002000300040005000600070008000900ffffffffffffffffffffffffffff0a000b000c000d000e000f00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a000b000c000d000e000f00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000100020003000400050006000700080009000ffffffffffffffffffffffffffffa000b000c000d000e000f000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa000b000c000d000e000f000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff30313233343536373839616263646566757575757575757562746e7566727575757575757575757575757575757575750000220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300580113006f000000a2000000190000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f73657264655f6a736f6e2d312e302e3133322f7372632f76616c75652f7365722e7273000000d801130065000000eb000000120000006e756d6265722076616c756520776173206e6f7420656d6974746564d801130065000000ae0200001e000000696e662d696e664e614e2f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f61726974686d657469632f7372632f66697865645f706f696e742e7273617474656d707420746f206469766964652077697468206f766572666c6f7700d80213001f0000000100000000000000696e76616c696420737472696e6720696e70757420666f7220666978656420706f696e74206e756d62657273705f61726974686d657469633a3a66697865645f706f696e7446697865645536340000008602130052000000c80800000100000046697865645531323841726974686d657469634572726f7273705f61726974686d65746963556e646572666c6f774f766572666c6f774469766973696f6e42795a65726f2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e7273000000ac031300710000002a020000110000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f61726974686d657469632f7372632f68656c706572735f3132386269742e727300000030041300550000004f000000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e727398041300600000002f020000170000009804130060000000240100001900000050617468206e6f742061737369676e65640000009804130060000000b20000001e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273003c05130067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000b40513007d000000b307000009000000753634753132382f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e72734b061300710000002a020000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273cc06130060000000240100001900000050617468206e6f742061737369676e6564000000cc06130060000000b20000001e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000600713007d000000b3070000090000003c7761736d3a73747269707065643e5075626c696373705f636f6e73656e7375735f617572613a3a737232353531393a3a6170705f73723235353139737232353531393a3a5075626c69632f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273003b08130060000000240100001900000050617468206e6f742061737369676e65640000003b08130060000000b20000001e000000536c6f7473705f636f6e73656e7375735f736c6f7473753634536c6f744475726174696f6e2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273f50813006f000000a2000000190000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e727300000074091300710000002a020000110000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f636f72652f7372632f616464726573735f7572692e7273f80913004c0000008d000000310000002f2f2f00f80913004c000000b100000017000000f80913004c000000af0000002d000000f80913004c000000af000000170000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300880a13006f000000a2000000190000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f636f72652f7372632f63727970746f2e727300080b1300470000005b01000014000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000102030405060708ffffffffffffff090a0b0c0d0e0f10ff1112131415ff161718191a1b1c1d1e1f20ffffffffffff2122232425262728292a2bff2c2d2e2f30313233343536373839ffffffffff31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797a53533538505245000000080b130047000000660200005500000020282e2e2e2900000100000000000000340c130002000000360c130004000000626f74746f6d206472697665206f626579206c616b65206375727461696e20736d6f6b65206261736b657420686f6c642072616365206c6f6e656c79206669742077616c6b2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000990c13007d000000b3070000090000004163636f756e744964333273705f636f72653a3a63727970746f4b65795479706549644f70617175654d6574616461746173705f636f7265000000000400000004000000500200002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000700d13007d000000b3070000090000004e6f6e65536f6d652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273080e130060000000240100001900000050617468206e6f742061737369676e6564000000080e130060000000b20000001e0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e7273009c0e130067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000140f13007d000000b3070000090000005b75383b2033325d5b75383b20345d5665633c75383e00000000000004000000040000005102000000000000040000000400000052020000557466384572726f7276616c69645f75705f746f6572726f725f6c656e5363686e6f727252697374726574746f48444b447369676e2d6279746573636861696e2d636f64657365637265742d6b657948444b442d6861726448444b442d636861696e636f64652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e7273421013005a000000d00100001b000000421013005a000000d101000010000000421013005a000000cc01000009000000421013005a000000b9010000200000000000000000000000010000005402000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500421013005a0000003d01000020000000427566666572546f6f536d616c6c2e2e2e0000000100000000000000550200000c00000004000000560200000000000004000000040000005702000046726f6d557466384572726f7262797465736572726f72005802000014000000040000005902000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c75652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e7273000000b71113005a000000930000002b0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f627335382d302e352e312f7372632f656e636f64652e72730000241213005a000000410000001e000000282900000000000000000000010000005a02000054727946726f6d536c6963654572726f72736c69636520697320616c7761797320746865206e6563657373617279206c656e6774682f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f63727970746f2f68617368696e672f7372632f6c69622e727300d91213004e000000230000000a0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72733813130060000000240100001900000050617468206e6f742061737369676e65640000003813130060000000b20000001e000000496e686572656e744461746173705f696e686572656e74736461746142547265654d61703c496e686572656e744964656e7469666965722c205665633c75383e3e436865636b496e686572656e7473526573756c746f6b6179626f6f6c666174616c5f6572726f726572726f727342547265654d61704b562f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730044141300670000006e0400000f0000006661696c656420746f20636f6e7665727420272720287061737365642061732027272920696e746f2061202727207768656e206d61727368616c6c696e67206120686f737463616c6c27732072657475726e2076616c7565207468726f756768207468652046464920626f756e64617279000000bc14130013000000cf1413000e000000dd1413000b000000e8141300450000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652d696e746572666163652f7372632f706173735f62792e727300000050151300550000001602000005000000753875333273705f636f72653a3a4c6f674c6576656c46696c746572620200000d0000000e00000063020000640200006661696c656420746f206465636f6465202727207768656e206d61727368616c6c696e67206120686f737463616c6c27732072657475726e2076616c7565207468726f756768207468652046464920626f756e646172793a20000000e815130012000000fa151300470000005015130055000000c102000005000000636f72653a3a6f7074696f6e3a3a4f7074696f6e3c616c6c6f633a3a7665633a3a5665633c75383e3e636f72653a3a6f7074696f6e3a3a4f7074696f6e3c62797465733a3a62797465733a3a42797465733e636f72653a3a6f7074696f6e3a3a4f7074696f6e3c7533323e73705f696f3a3a4b696c6c53746f72616765526573756c74636f72653a3a726573756c743a3a526573756c743c5b75383b2033335d2c2073705f696f3a3a45636473615665726966794572726f723e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72730000001e17130067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300981713006f000000a200000019000000010000000000000072756e74696d652f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300002718130067000000f70000000f000000617373657274696f6e206661696c65643a206c656e203e20302f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e7273000000b9181300800000006501000009000000617373657274696f6e206661696c65643a20696478203c204341504143495459b918130080000000b102000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e2829b9181300800000004a07000005000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e7400b918130080000000f80500000d0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273ec1913008400000058020000300000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000801a13007d000000b3070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273101b130084000000c6000000270000004d657461646174612056313420737570706f727473206f6e652076657273696f6e3b207165642f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f6d657461646174612d69722f7372632f7631342e7273000000ca1b13004b00000099000000260000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300281c13006f000000a2000000190000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f696e5f706c6163655f636f6c6c6563742e72730000a81c13007e000000fb00000001000000281c13006f00000096030000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f736f72742f737461626c652f717569636b736f72742e72736d6964203e206c656e000000cc1d130009000000481d1300840000004e0000001f000000481d13008400000048000000170000004d657461646174612056313520737570706f727473206f6e6c79206f6e652076657273696f6e2f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f6d657461646174612d69722f7372632f7631352e7273000000261e13004b00000067000000300000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000841e13007d000000b3070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e7273000000141f1300710000002a020000110000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e7273981f1300600000002f02000017000000981f130060000000240100001900000050617468206e6f742061737369676e6564000000981f130060000000b20000001e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000003c2013007d000000b307000009000000436f6e73656e737573456e67696e6549645665633c75383e6c6f67735665633c4469676573744974656d3e696e64657875386572726f724d6f64756c654572726f72546f6b656e4572726f7241726974686d657469634572726f72496e76616c69645472616e73616374696f6e556e6b6e6f776e5472616e73616374696f6e7072696f726974795472616e73616374696f6e5072696f7269747972657175697265735665633c5472616e73616374696f6e5461673e70726f76696465736c6f6e6765766974795472616e73616374696f6e4c6f6e67657669747970726f706167617465626f6f6c656432353531393a3a5369676e6174757265737232353531393a3a5369676e617475726565636473613a3a5369676e61747572655b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d5472616e73616374696f6e616c4572726f72547269654572726f722f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e72732522130067000000f70000000f0000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f6469676573742e727300009c2213005200000037000000130000004469676573744974656d73705f72756e74696d653a3a67656e657269633a3a64696765737450726552756e74696d65436f6e73656e7375735365616c4f7468657252756e74696d65456e7669726f6e6d656e74557064617465642f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f72756e74696d652f7372632f67656e657269632f6572612e72730000005a2313004f000000590000002c000000496d6d6f7274616c4d6f7274616c314d6f7274616c324d6f7274616c334d6f7274616c344d6f7274616c354d6f7274616c364d6f7274616c374d6f7274616c384d6f7274616c394d6f7274616c31304d6f7274616c31314d6f7274616c31324d6f7274616c31334d6f7274616c31344d6f7274616c31354d6f7274616c31364d6f7274616c31374d6f7274616c31384d6f7274616c31394d6f7274616c32304d6f7274616c32314d6f7274616c32324d6f7274616c32334d6f7274616c32344d6f7274616c32354d6f7274616c32364d6f7274616c32374d6f7274616c32384d6f7274616c32394d6f7274616c33304d6f7274616c33314d6f7274616c33324d6f7274616c33334d6f7274616c33344d6f7274616c33354d6f7274616c33364d6f7274616c33374d6f7274616c33384d6f7274616c33394d6f7274616c34304d6f7274616c34314d6f7274616c34324d6f7274616c34334d6f7274616c34344d6f7274616c34354d6f7274616c34364d6f7274616c34374d6f7274616c34384d6f7274616c34394d6f7274616c35304d6f7274616c35314d6f7274616c35324d6f7274616c35334d6f7274616c35344d6f7274616c35354d6f7274616c35364d6f7274616c35374d6f7274616c35384d6f7274616c35394d6f7274616c36304d6f7274616c36314d6f7274616c36324d6f7274616c36334d6f7274616c36344d6f7274616c36354d6f7274616c36364d6f7274616c36374d6f7274616c36384d6f7274616c36394d6f7274616c37304d6f7274616c37314d6f7274616c37324d6f7274616c37334d6f7274616c37344d6f7274616c37354d6f7274616c37364d6f7274616c37374d6f7274616c37384d6f7274616c37394d6f7274616c38304d6f7274616c38314d6f7274616c38324d6f7274616c38334d6f7274616c38344d6f7274616c38354d6f7274616c38364d6f7274616c38374d6f7274616c38384d6f7274616c38394d6f7274616c39304d6f7274616c39314d6f7274616c39324d6f7274616c39334d6f7274616c39344d6f7274616c39354d6f7274616c39364d6f7274616c39374d6f7274616c39384d6f7274616c39394d6f7274616c3130304d6f7274616c3130314d6f7274616c3130324d6f7274616c3130334d6f7274616c3130344d6f7274616c3130354d6f7274616c3130364d6f7274616c3130374d6f7274616c3130384d6f7274616c3130394d6f7274616c3131304d6f7274616c3131314d6f7274616c3131324d6f7274616c3131334d6f7274616c3131344d6f7274616c3131354d6f7274616c3131364d6f7274616c3131374d6f7274616c3131384d6f7274616c3131394d6f7274616c3132304d6f7274616c3132314d6f7274616c3132324d6f7274616c3132334d6f7274616c3132344d6f7274616c3132354d6f7274616c3132364d6f7274616c3132374d6f7274616c3132384d6f7274616c3132394d6f7274616c3133304d6f7274616c3133314d6f7274616c3133324d6f7274616c3133334d6f7274616c3133344d6f7274616c3133354d6f7274616c3133364d6f7274616c3133374d6f7274616c3133384d6f7274616c3133394d6f7274616c3134304d6f7274616c3134314d6f7274616c3134324d6f7274616c3134334d6f7274616c3134344d6f7274616c3134354d6f7274616c3134364d6f7274616c3134374d6f7274616c3134384d6f7274616c3134394d6f7274616c3135304d6f7274616c3135314d6f7274616c3135324d6f7274616c3135334d6f7274616c3135344d6f7274616c3135354d6f7274616c3135364d6f7274616c3135374d6f7274616c3135384d6f7274616c3135394d6f7274616c3136304d6f7274616c3136314d6f7274616c3136324d6f7274616c3136334d6f7274616c3136344d6f7274616c3136354d6f7274616c3136364d6f7274616c3136374d6f7274616c3136384d6f7274616c3136394d6f7274616c3137304d6f7274616c3137314d6f7274616c3137324d6f7274616c3137334d6f7274616c3137344d6f7274616c3137354d6f7274616c3137364d6f7274616c3137374d6f7274616c3137384d6f7274616c3137394d6f7274616c3138304d6f7274616c3138314d6f7274616c3138324d6f7274616c3138334d6f7274616c3138344d6f7274616c3138354d6f7274616c3138364d6f7274616c3138374d6f7274616c3138384d6f7274616c3138394d6f7274616c3139304d6f7274616c3139314d6f7274616c3139324d6f7274616c3139334d6f7274616c3139344d6f7274616c3139354d6f7274616c3139364d6f7274616c3139374d6f7274616c3139384d6f7274616c3139394d6f7274616c3230304d6f7274616c3230314d6f7274616c3230324d6f7274616c3230334d6f7274616c3230344d6f7274616c3230354d6f7274616c3230364d6f7274616c3230374d6f7274616c3230384d6f7274616c3230394d6f7274616c3231304d6f7274616c3231314d6f7274616c3231324d6f7274616c3231334d6f7274616c3231344d6f7274616c3231354d6f7274616c3231364d6f7274616c3231374d6f7274616c3231384d6f7274616c3231394d6f7274616c3232304d6f7274616c3232314d6f7274616c3232324d6f7274616c3232334d6f7274616c3232344d6f7274616c3232354d6f7274616c3232364d6f7274616c3232374d6f7274616c3232384d6f7274616c3232394d6f7274616c3233304d6f7274616c3233314d6f7274616c3233324d6f7274616c3233334d6f7274616c3233344d6f7274616c3233354d6f7274616c3233364d6f7274616c3233374d6f7274616c3233384d6f7274616c3233394d6f7274616c3234304d6f7274616c3234314d6f7274616c3234324d6f7274616c3234334d6f7274616c3234344d6f7274616c3234354d6f7274616c3234364d6f7274616c3234374d6f7274616c3234384d6f7274616c3234394d6f7274616c3235304d6f7274616c3235314d6f7274616c3235324d6f7274616c3235334d6f7274616c3235344d6f7274616c32353545726173705f72756e74696d653a3a67656e657269633a3a6572614469676573744974656d206e6f7420657175616c446967657374547269654572726f7273705f72756e74696d653a3a70726f76696e675f74726965496e76616c69645374617465526f6f74496e636f6d706c657465446174616261736556616c75654174496e636f6d706c6574654b65794465636f6465724572726f72496e76616c6964486173684475706c69636174654b657945787472616e656f75734e6f646545787472616e656f757356616c756545787472616e656f7573486173685265666572656e6365496e76616c69644368696c645265666572656e636556616c75654d69736d61746368496e636f6d706c65746550726f6f66526f6f744d69736d617463684465636f64654572726f7200000000040506000848617368206e6f7420657175616c3c7761736d3a73747269707065643e43616e6e6f744c6f6f6b7570426c616b6554776f32353673705f72756e74696d653a3a747261697473496e76616c69645472616e73616374696f6e73705f72756e74696d653a3a7472616e73616374696f6e5f76616c696469747943616c6c5061796d656e744675747572655374616c6542616450726f6f66416e6369656e744269727468426c6f636b45786861757374735265736f7572636573437573746f6d4261644d616e6461746f72794d616e6461746f727956616c69646174696f6e4261645369676e6572496e64657465726d696e617465496d706c69636974556e6b6e6f776e4f726967696e556e6b6e6f776e5472616e73616374696f6e4e6f556e7369676e656456616c696461746f725472616e73616374696f6e56616c69646974794572726f72496e76616c6964556e6b6e6f776e5472616e73616374696f6e536f75726365496e426c6f636b4c6f63616c45787465726e616c56616c69645472616e73616374696f6e2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730b2f13007d000000b3070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e7273982f1300700000008d0500001b0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e727300000018301300710000002a020000110000009d0200000c000000040000009e0200009f020000a0020000000000000000000001000000a1020000a2020000a3020000010000000000000044697370617463684572726f724d756c74695369676e617475726573705f72756e74696d65456432353531395372323535313945636473614d6f64756c654572726f725472616e73616374696f6e616c4572726f724c696d6974526561636865644e6f4c617965724f7468657243616e6e6f744c6f6f6b75704261644f726967696e4d6f64756c65436f6e73756d657252656d61696e696e674e6f50726f766964657273546f6f4d616e79436f6e73756d657273546f6b656e41726974686d657469635472616e73616374696f6e616c457868617573746564436f7272757074696f6e556e617661696c61626c65526f6f744e6f74416c6c6f77656454726965546f6b656e4572726f7246756e6473556e617661696c61626c654f6e6c7950726f766964657242656c6f774d696e696d756d43616e6e6f74437265617465556e6b6e6f776e417373657446726f7a656e556e737570706f7274656443616e6e6f74437265617465486f6c644e6f74457870656e6461626c65426c6f636b656445787472696e736963496e636c7573696f6e4d6f6465416c6c45787472696e736963734f6e6c79496e686572656e74732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e72738332130085000000a10100002e0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e6f64652e7273617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e686569676874202d20311833130080000000ad02000009000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f64653a20656d70747920696e7465726e616c206e6f6465000000d83313003d0000001833130080000000460500001f000000617373657274696f6e206661696c65643a2073656c662e686569676874203e203000000018331300800000006002000009000000617373657274696f6e206661696c65643a207372632e6c656e2829203d3d206473742e6c656e282918331300800000004a070000050000001833130080000000c70400002300000018331300800000000a05000024000000617373657274696f6e206661696c65643a20656467652e686569676874203d3d2073656c662e6e6f64652e686569676874202d20310000001833130080000000fa03000009000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e202b20636f756e74203c3d204341504143495459001833130080000000f70500000d000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e203e3d20636f756e74001833130080000000f80500000d000000696e7465726e616c206572726f723a20656e746572656420756e726561636861626c6520636f646518331300800000002706000016000000617373657274696f6e206661696c65643a206f6c645f6c6566745f6c656e202b20636f756e74203c3d20434150414349545900001833130080000000360600000d000000617373657274696f6e206661696c65643a206f6c645f72696768745f6c656e203e3d20636f756e741833130080000000370600000d00000018331300800000006706000016000000617373657274696f6e206661696c65643a206d6174636820747261636b5f656467655f696478207b0a202020204c6566744f7252696768743a3a4c6566742869647829203d3e20696478203c3d206f6c645f6c6566745f6c656e2c0a202020204c6566744f7252696768743a3a52696768742869647829203d3e20696478203c3d2072696768745f6c656e2c0a7d00001833130080000000c905000009000000617373657274696f6e206661696c65643a206e65775f6c6566745f6c656e203c3d204341504143495459000018331300800000007c0500000900000072616e676520737461727420616e6420656e642061726520657175616c20616e64206578636c7564656420696e2042547265654d6170000020371300360000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f7365617263682e727300006037130082000000700000001500000072616e67652073746172742069732067726561746572207468616e2072616e676520656e6420696e2042547265654d6170000000f437130031000000603713008200000079000000150000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273403813008400000058020000300000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7061726974792d7363616c652d636f6465632d332e372e352f7372632f636f6465632e727300d438130067000000f70000000f0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273004c3913006f000000a200000019000000000000000400000004000000a4020000000000000400000004000000a50200004c61796f757473697a65616c69676e43617061636974794f766572666c6f7700000000000400000004000000a6020000416c6c6f634572726c61796f75742f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f736d616c6c7665632d312e31352e302f7372632f6c69622e72730000000000000800000004000000a702000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c7565002a3a13005c000000540100002e0000006361706163697479206f766572666c6f770000002a3a13005c00000043010000360000002a3a13005c000000d00400000e000000617373657274696f6e206661696c65643a206e65775f636170203e3d206c656e2a3a13005c0000009b0400000d0000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6f7665726c617965645f6368616e6765732f6d6f642e727300383b13005f00000051000000140000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f73746174732e727300a83b13004f0000007b0000001e000000a83b13004f0000007c00000023000000a83b13004f000000800000001e000000a83b13004f000000810000002400000044656661756c744572726f722f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6d61702f656e7472792e7273000000443c130085000000670200002a0000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300dc3c13006f000000a2000000190000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7665632f6d6f642e72730000005c3d1300710000003d0a0000240000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e7273000000e03d1300710000002a02000011000000416e204f7665726c617956616c756520697320616c7761797320637265617465642077697468206174206c65617374206f6e65207472616e73616374696f6e20616e642064726f7070656420617320736f6f6e0a09617320746865206c617374207472616e73616374696f6e2069732072656d6f7665643b207165642f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746174652d6d616368696e652f7372632f6f7665726c617965645f6368616e6765732f6368616e67657365742e7273000000e03e1300650000000a0100002b000000e03e1300650000000f01000021000000e03e130065000000140100002b000000607365745f7072657660206973206f6e6c792060536f6d65285f29602c206966207468652076616c75652063616d652066726f6d20706172656e743b20716564e03e1300650000007d010000160000004120777269746520746f20616e204f7665726c6179656456616c7565206973207265636f7264656420696e20746865206469727479206b6579207365742e204265666f726520616e0a090909094f7665726c6179656456616c75652069732072656d6f7665642c2069747320636f6e7461696e696e67206469727479207365742069732072656d6f7665642e20546869730a0909090966756e6374696f6e206973206f6e6c792063616c6c656420666f72206b65797320746861742061726520696e20746865206469727479207365742e20716564000000e03e130065000000df020000380000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f636f6c6c656374696f6e732f62747265652f6e617669676174652e7273b040130084000000c6000000270000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e7273000000444113007d000000b3070000090000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e727300d44113006f000000a2000000190000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e727300000054421300710000002a020000110000003a6368696c645f73746f726167653a64656661756c743a3a6368696c645f73746f726167653a2f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f73746f726167652f7372632f6c69622e7273000000fe421300470000006b0100001a0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72735843130060000000240100001900000050617468206e6f742061737369676e65640000005843130060000000b20000001e0000004254726565536574542f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f697465722f7472616974732f6974657261746f722e72730000f54313007d000000b3070000090000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6e6f64655f636f6465632e727300844413004b0000003f00000028000000844413004b00000048000000140000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f6c69622e7273f0441300440000000102000016000000f044130044000000020200000b000000747269655f6e6f64657342547265655365743c5665633c75383e3e2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e72736f451300710000002a020000110000002f686f6d652f7562756e74752f7265706f732f706f6c6b61646f742d73646b2f7375627374726174652f7072696d6974697665732f747269652f7372632f747269655f73747265616d2e7273f04513004c0000004700000041000000f04513004c000000470000004f000000f04513004c0000005100000015000000f04513004c000000590000001500000073705f747269653a3a73746f726167655f70726f6f6653746f7261676550726f6f662f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f636f72652f7372632f736c6963652f697465722e72730000009e46130073000000f405000015000000436f775452756e74696d6556657273696f6e73705f76657273696f6e2f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72734047130060000000240100001900000050617468206e6f742061737369676e65640000004047130060000000b20000001e000000737065635f6e616d65436f773c277374617469632c207374723e696d706c5f6e616d65617574686f72696e675f76657273696f6e753332737065635f76657273696f6e696d706c5f76657273696f6e61706973417069735665637472616e73616374696f6e5f76657273696f6e73797374656d5f76657273696f6e75382f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f7363616c652d696e666f2d322e31312e362f7372632f6275696c642e72730000005148130060000000240100001900000050617468206e6f742061737369676e65640000005148130060000000b20000001e000000576569676874287265665f74696d653a202c2070726f6f665f73697a653a2029e848130011000000f94813000e000000074913000100000057656967687473705f776569676874733a3a7765696768745f76327265665f74696d6575363470726f6f665f73697a6552756e74696d65446257656967687473705f776569676874737265616477726974650000000000000400000004000000b10200002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f7261775f7665632e727300000084491300710000002a02000011000000000000000000000008c9bcf367e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa5d182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b08c9bcf367e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa5d182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b2f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f737472696e672e7273904a130070000000ea010000170000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f736d616c6c7665632d312e31352e302f7372632f6c69622e72732f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f736c6963652e7273006c4b13006f000000a20000001900000041726320636f756e746572206f766572666c6f77ec4b1300140000002f686f6d652f7562756e74752f2e7275737475702f746f6f6c636861696e732f737461626c652d7838365f36342d756e6b6e6f776e2d6c696e75782d676e752f6c69622f727573746c69622f7372632f727573742f6c6962726172792f616c6c6f632f7372632f73796e632e72730000084c13006e000000be0600000d0000000100000000000000084c13006e000000bc0b00000d000000000000000000000001000000b302000063616c6c65642060526573756c743a3a756e77726170282960206f6e20616e2060457272602076616c756500084c13006e000000f607000029000000000000000400000004000000b4020000000000000400000004000000b50200004c61796f757473697a65616c69676e43617061636974794f766572666c6f7700000000000400000004000000b6020000416c6c6f634572726c61796f75744c61796f75744572726f72000000000000000800000004000000b7020000104b13005c000000540100002e0000006361706163697479206f766572666c6f77000000104b13005c0000004301000036000000104b13005c000000d00400000e000000617373657274696f6e206661696c65643a206e65775f636170203e3d206c656e104b13005c0000009b0400000d0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6f64652e7273dc4d13005c000000f701000042000000dc4d13005c000000f801000046000000dc4d13005c0000001502000026000000dc4d13005c000000280200003c000000dc4d13005c00000029020000380000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f736d616c6c7665632d312e31352e302f7372632f6c69622e7273617373657274696f6e206661696c65643a20696e646578203c3d206c656e0000884e13005c000000f1060000090000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6962626c652f6d6f642e72730000144f130062000000490000001c0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6962626c652f6e6962626c65736c6963652e72730000884f13006a0000003f0000001b000000884f13006a0000005000000036000000884f13006a000000560000003b000000884f13006a0000008f0000002a000000884f13006a000000900000002b000000884f13006a000000990000004b000000884f13006a0000009900000031000000884f13006a000000af00000020000000884f13006a000000ad00000029000000884f13006a000000f400000018000000884f13006a000000f600000018000000884f13006a000000f60000003d0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6962626c652f6e6962626c657665632e7273b45013006800000035000000320000006c656e20213d20302073696e6365206c656e2025203220213d20303b20696e6e6572206861732061206c61737420656c656d656e743b207165640000b45013006800000042000000120000006c656e20213d20303b20696e6e657220686173206c61737420656c656d3b207165640000b4501300680000004d00000025000000b450130068000000690000003d000000b4501300680000007200000019000000b4501300680000007400000019000000b4501300680000007400000048000000b4501300680000008500000030000000b4501300680000008500000048000000b4501300680000008700000036000000b4501300680000009c00000043000000b4501300680000009e0000001b0000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f7472696564626d75742e72730000003c5213006100000046080000320000003c5213006100000046080000100000002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f747269652d64622d302e33302e302f7372632f6e6962626c652f6d6f642e72730000c052130062000000880000001d000000c0521300620000007f00000022000000c0521300620000007e00000036000000c0521300620000007e00000047000000c052130062000000870000002f000000c05213006200000087000000440000000000010024029701040000006f000400af000000000004000000000088000a0008000000000000001c00460001000d001b000000150012004500ec0036001000000000000000020000009400000057000000080003000700000016003a0002002300030004001c000100000047001100170004001b0000001300000000000000000001000700070004002e00000000002c000000000003000f000000000013000000010002000100090000000000000001000100000002000200030002001e0000000800110001000000050000007900000004001300000000000500020000000500010015000100000003000c0000003500030002000500060000000500040002001c000000000000000400000000000000090002000900070000000500000008000700000012000900000039000200090000000400020000000000000000000000000001002200020000001b0013000c00140006000400050013000200000003000400020000001800000006000400000000000a000a000000010000000f001000010000000000000002000f000100040002000a000b0009000400010000000b000000030000000600000006000000030004000000000003000000000001000200150000000000000014001b0000000c0000000000080003000c0000000e0002000000030000000a0002000600010000000400000001000600020003000200100000000f000000000000000300030004000d00060000000000020000000000000018000a000600010001000800000001000100070000000300090011000500010005000300160007000500040000000a0006000300000001000000070000000600000005004100090001000a0000000500020011000b0003000100000000000100010000000200000006001800030000000300000002000000020000000000000000000500010000000000090001000000000002000100000001000200010000000300010001000100000003000c000100030001000000020000000000050001000500000001000b0005000000000000000000000000000f0000000000020007000000000000000000000000000100000009000800000000000300030001000400030004000500020000000000020006000100050001000000030006000800020002000600030000001000060006000500010007000000020003000200000000000000060000000000000000000100000000000000010001000800010000000200000001000c0004000100020001000400020005000400000003000400020000000100030007000600080000000200030000000200020002000400000000000600060006000c000500000000000000010002000000030000000900030002000100010009000100000008000100060000000300000005000100010000000000020004000000020000000200060006000200080005000600050001000600020000000100000000000300000001000900050005000e0000000300050000000000010001000000000000000000010004000000020004000600050006000000000001000100000000000500020008000800010006000000010000000100000008000000040007000a000100000000000200010001000100000001000200000002000100040004000000000000000600000003000300000000000000000000000200010001000200020000000400020001000000000001000000010001000000020002000200020000000100050004000100000001000100000000000100040001000200010001000000000000000000000001000000010000000000040001000200000001000d0004000000010004000000050003000700030003000300020000000200020002000100000001000300040001000000010004000100000000000000010003000100000000000100040001000800020004000100010001000500010004000100010002000600000000000000000002000000020000000600030001000300020003000500040001000000050000000000010003000000020000000100010000000000000001000000000000000500050008000000000000000000060000000000000000000200020005000100000001000100000002000200070001000100020000000200020001000000000001000000020002000200040001000400000002000200040004000000080004000600020001000100000001000000000000000300060001000000030002000100000005000400000000000500020000000000020000000000040003000000090005000200000000000200000001000700000003000100020001000000000002000300000002000300010002000100020000000400020001000100010002000200000004000200010000000000030000000000000000000000000000000000000000000000000001000000020000000100000002000100010000000200000001000000000001000100000001000000020000000300000001000100000000000100020001000200030005000300010000000100030007000000000002000000020003000100e64a0300e6fa2d00dafa1d00dc390300e9fc1d00094d0a00e6d02000e6930500dce00201e6f41c00dca20500e626fe0009451d0119c20500dcea0600e675a600dc4e0f01e6eba800dc320300094d0c00e6410700d871d101dc2dfe00e6f21d00e6de1d00e6e1a80014bb0500e6d51d00e6ce0800e67b1a0084740f00e6e6a8001f19060007c31401e6791a00e65d06001cf10800e620e001e6f1a800dcfd1d00e625fe00e647e901e6751a0009ba0e00e62ae0011b4b0600e6d9060009b61601e6ec1d00093a0e00e6540900e6e92d00e6b31a00e6f30800e6f70800e6e2a800e60be001dc28fe0001d82000e6b0aa00dc4d0f01e6250800e6110600e6beaa00e6200800e6e80800e6060300e6e42d0009411f0107ca1101e6f02c00dcd71c00dc3a0a01e631e101093a1000dc3b0700e8580300e6870400e6b11a00e6701301e6d01c00e6eea800dc3c0300e6d52000e6190800e6306b0101f36a0107bc0900e6e91d00e6da1d00e66b1301e62b080009341700e6db1d000eb40500e26dd1010169d101e64c0300e6f02d0001370300e673130107e91201dcc01a0001ea2000e63e030081710f000168d101e6460300dcd6e801dcd0e801dc2cfe00e6e01c00e6ea0800e6db2000e6316b01e6350700dcfd0e01dc7ed10109341a01e61f0800e61ce001e6df1d00dce8200009edab00e6e11d00dc160300dc82d101e6d720001f4f0600e6f50800094d0d00e6c91a0009b91001e6bc1a00e67aa600e6aad101dceee401e630e101e69f0500de391900e657030009e0190106f06f01e6330700dc29fe00e6f81c0009840f00e6640300dc170300e6830400e66c03000bb10500e6d21c00e607030021510600dc300300dc190300dc560600e6e41d00dc520900f0450300e6f12d00dc3b1900e6590600e6ab0500e6731b00e6f12c0007bc0a00827c0f00e66a1301e6e4a800e6fb08000cb20500e621fe00e6fb2d00e81a0300dc38070001d32000dc2afe00e669130182720f00e6c21a00dc7bd101e6860f00ca270300e6c01d00e6480f0109461001e66b1b00dce60800e634e101e6410300e8f61d00e6eca800e6abd101e6ec0600e6aee2010fb50500e6c71a00e602e001dcc60f00e636e101e6df08001c4c0600e6580600e6e10600e6e72d00dccf0800e6020300dcc41a00e6bfaa0013b90500dc8bd101092b1701e6f32d00dc390700e6e02d00dcdc1c0009701001dc2ca900e6230800e6f31d00e67da600dc460f01e6cc1d00e6dc060009471a0176b90e00e66b0300e65e0600e6f91c00e6d60800e6e00800e66e1b00e6d80800e626e001e643030001d92000e648e90110b60500e611e001e6e81d00e4f71d00e6fc2d0009971d01e6860400e6c11d00dc91050009441d0109c4a80009aa1b00dcff0e01dced0600dc560300e6ee1d00e6ed2d001d4d060009d21700093c0d00e645e90109c21401e6030300e6f0a600e02f3000e61be001e6681301093f160101e31c00dca30500dcef0800dc960500e628e001dc4f0f01092ca800d872d101e6ef2c00e6490f01e6eaa800dc2c0300093b0d00e60fe001dced080009141700e6bb1a00dcd3e801073c0b00e69d0500dce60a01e6fb1d0006f16f01e62a0800dcee2000dcdf1c00dcdd1c00dcd20800e65f1300827a0f00e610060009421401e6ee2d00e65e1401e63d0700ea5d0300e62ffe0007bc0c00e6c71d00e6e70600ca210300dca60500e6f0a80013ba0500e6ec2d00dcee080001f26a0112c70500e6120600e69c050007421d01dcba1a00e6b41a00dcd2e801dc5b0800e6721b00e600e0010ab00500dcc50500dc470f01e6781a000934110107461401e6260d01e6dc2000e6500300827d0f00dc1f030009391000dcd3080007e61b00dc310700e6120300e6290800dcfa0800e6eb0700e6dd1d00d865d101e6e92000e61ee001e635e101e6ed1d005b560c00e612e001e6e32d00827b0f00dcde1c00e66d0300e6f40800dcd4e801dc3c0700e6741301e6ac0500e6c81a00e6eb2d00dc2ba9000773110109c011010136030082800f00e6d42000dc9b0500e601e001e627080001340300d81b030001d22000e603e001e6f01d00dc1d0300e6f42d00e6721301e6140300e4a91800e66c1301e6e52d0009331101e65d1300e6771a0067390e00e6270d0109cd0c00dc2d0300e6920500e6ef2d00e6ca0800e6e12d00e6570600dc2b0300e6ac0e01e6090300e6300700dc5f0600e614e001e6de0800e6fe2d00e6336b01e6cd0800dc2903001df20800073c0900e6470700dc590800e6360700e6380a01e61d0800dcd51c00e6430700dc460700dc990800201a060001e21c00e6010300e644e901e686d101e6e0060007431901dc5503001e180600e66fa600e6ff0800e6001101e63d0300dcc21d00e6150600e6420300e6171a00e6671301e6ab0e01e6eb0600e61fe0016b4a0e00dc250300dc490300e623fe00e6760301e6ff2d00d86fd101e60f030009ab1b00e6e22d00e6400700093e1901d8390f00dcef2000e6e62d00e687d101e6d21d00e64a0f01e6d8060007341b00e6ea2d00e679a600e6840f01e6870f00e95f0300e6000300e6ee0700e6f22d0009421f01e63a0700dc1e0300e60de001d6ce1d00dcb71a00d86ed101e6520300dcf60800e677a600e67c1a00e6e70800e6326b01e6d91d00dcf91d00dce90800e6661301e6c61a0001e71c00e6d11c00ea5e030001f46a01e6b01a00e64b0300dc3b030023700600e6660300e6250d01e6fe0900dcb4aa0009cd0b00e6c91d0016bd0500dcd00800e6160800dcfd0101073c0a00dc7cd101e6320700e6260800073b1301dcd91c00e61e0800dc830f01e6130300dcff1d00dc7fd1010167d10109601a00e649e901dc0d0a0109391801dc190f00e6e71d00094d0b00e69c0800e6fd2d00e667030009c0a900e67ba600dc330300e6a10500e6eb0800e609e001e6ef1d00dc240300dc2bfe00dc27fe00e6240d01e61b0800e608e001e61de0010953a900e6db060054550c00097f2d00e6da1c0015bc0500de9a0500e676a600e6f82d00e6d620000db30500dc81d101dcca1a00e6530900ca280300e6a00500e6950500e6d50800e6080300e674a600e60c0300e6761a00e6c61d00e6e20600e64c0f01e6f02000e6cb0800e60f0a01e65e1300e66f1b00e6b21a00e4f81d00dcaa0500e6e50a01e69f0800e60ce00101e52000e6fc080020500600e6ec0800e6980800e6ede201e6d71d0067380e00e69d0800e6711b00dc5a0800e6c51d00e689d101e69fa600dc480300e6db0800e6c41d00dc200300e6e3a800e646e901d870d10109f6aa00e6cc1a00ea600300dcbf1a00e6c11a00e82c3000e6f72d0076b80e00e632e101e6fe1d00e63f030001eb2000e62d0800dc47030007361201e6f1a600e6490700e6dd1700e6f10700e6170600e6cd1a00e6e61d00e6e40800e6510300e69e0800e6130600eacd1d00dc550600e6e12000dc5c0600dcbd1a00dcb91a00e678a600093f0a01dc2a0300e6eda800da2a300001da2000e60d0300e42b3000e6d708001bf00800e6dc080011b705000906a800e6add101e6e40600e6e01d00dead0500e6f11d00e6021101dcd5e801e60e0300e6ef0700e6f00700e6970500e627e001e6ece201dc1c0300e8150300e6b7aa00e6160600e6f62d0017bf050001390a01e6530600d866d101e6c51a00ea610300e6f80800dcc31a000737100009351201e66e0300e604e001e623e001e6680300e6d61d00e6440300dc420700e685040007ba1001dcd81c0001d41c00e6fe0800e6f52d00e60ee0017acb0e00094d0900e6eb1d00073c1301e6efe401dc590300e610e001e6040300e6a80500dcd61c00e6b3aa00e6701b00e6e80600dc2da900e6d90800e6346b01dc180f00e60a0300dced2000e8ece401e6efe201e642d201dc54030001f16a01e65b0300e6e31d00dc3e0700e605e00109bf1501e6c81d00e6840400e61c0800e633e10112b80500e6400300e6980500019ebc01e6dc1d0007c01501dce30800093f1c01dc850f01e95c0300e6db1c00e6acd101dcd1e801dcb51a0009ca0d00ca220300dc4b0f01e6c31d00dc5a0300e6ec070009ea12016b4b0e00dcfd0700dc2e0300e65b0600e622fe00e6d31d00dc9a0800e6e8a800dcf90800e66f0300e66d1b00e6cc0800094d1301e63a1900089a3000e620fe00e6e21d00dced1c00dcfe0e01e613e001e6d40800dc4e0300e6356b01e67a0301097f1001e6dd0800e6d11d0001380300e67ca600e6ce1a00e68fe001073a1801e644d201e618e00109cd0a00dca505001e4e060001e41c00dc370f00e6450700073c0c0022520600e6050300dc3a0300e6f51d00e617e00101e81c00093d1901e6d12000dc180300e622080007b71601e6100300e6210800e6780301dca40500e6830f00e6c1aa00cad01d00e685d101dcd10800e6af0500e6e51d0008993000e6650300e6510900e6690300dc4807007ac90e00e6170800e6da0600e8ede40101e51c00dc370700e6110300dce3060009f31b00dc9b0800e601110118c10500e6e82d00e6140600e62efe00e6790301dccf1d00e62c0800dc2f030009441b0009151700e6cb1a00dc6c1b007aca0e00e615e00101e62000e624fe00e643d201e621e0016b490e0024110700e6df060007b3a900e65a0600dc7f1a00e6da0800e6e1080009991a01dc80d101e6efa800e6f41d00e6770301e9620300e694050001350300dcf20700dc8ad101e6cb1d00e6a9050001e61c00dc4d03007ac80e00e6d70600dc8d1000e6c40500e66a0300dc260300e60ae001e6e0a800dca70500e6ea1d00e6d60600e6e7a800e60b030001f06a0107371c00e02e30006b480e00e6d81d00dcb81a00dc181a00e6f92d001a1efb00e6630300e64a0700e624e001e6990500e69e0500e6f3070009f21b00e6180800e6e9a800e6366b01dc500f01e6d41d00e6b2aa00e6e5a800dc440700e6820f01de2d3000dc310300e688d101e6ed0700e606e001e6b8aa00dc530300e616e001dcca1d00e63f0700dc350f00e69ea600dc230300e6e50800dcec2000e6eee201e4ae0500e6711301e629e001dc340700dcb61a00e6e72000dc7dd101e6fd080009cd0900e6820f00e67a1a00e6540600074ae901ae0c0e00000000005a043f020000e80128008002000006004c010102060020000300000071008b010d004d01d30000000200850045000a000400e900210000000000aa00020005010000b5010d0000000000000001000000060067000800000002000000000047003200000000003c00450000000000010000000200100001000000000001000000ce002c0000001d000000120000000000110003001c000700000001006a000100160000006f00000001002500000027001000000022000000bc00000009000000000015000000000013000000870000003a00270000000500160005001400120021000500020001000000150026000000040000000000010017001900000004000000030000001000010001000000050001000000000022000000020004001300000011005a00050013000d004e00080004001800090064002600000011000000050030000000010001000000020001003e0046000500000001000000010037000000000005000300000013000200000001000000060000000b001c000100000005002f000100000008001d00300000002500020012000000000023000200000000000b0018000e00000011000c001500020000000000030000000800080008000000000009000e000000010009002c000300010016001100000000000000000000000000040018000100300004000c000e000900000003000b00000002000500000010000300020006000b0008000a000000080003000100250003001b00020012000500070012000000100000001100000009000000090000000c000000000001000000000000000800000000000000030000000000000017000000000003000c0000000000020001004300000000000b000500090000000000220002000400020002000100010014000100310000000400200009000700010021001600010002000000060000000e000000050012000e000400000000001d0000000000060000000a000000000000001600000000000000000008000000010000000b0000000100000000000000040000000000160000000100000001001d0007000000010006000400010003000e000900100008000200010000000000030002000200220000000000040013001100000002000d000000010004000c00010016000e0002000000000004000000000000000000000015000000000003000000000000000c000000050004000000000011000d0011000000040000000300020001000300010002000200020001000100030001000100000002000200020001000d000000000000000100020006000d000100010004000c00020006000000040027001c00000000000000000000000000000000000a000000000000000000000000000f0007000800000003000000040000000000010000000f00010000000000000002000300000016000b000500000000000200080004000000080000000000000003000400000001000b00010000000000180009000400070000000100020001000000000001001e000000020001000000000009000000000003000a0002000300010000000400000004001f000000000000000000000000000000240007000500020002000a000100000000000300000001000c0000000100000000000100020001000b000000000001000300060002000c000e001e000000000010000000010002000d00030000000600000002000a00040000000f0010000200010002000600000000000b00000005000d0002000000030007000000050004000000000006000100000000000f000300000000000c00000017000200090000000000000000000000020000000700010003000d000000050007000400080000000b0008000900010000000000090005000000080001000000060000000800000007000000020002000500040005000000000001001300080000000000010000000a000000060000000000000000000c000200040002000000000003000000040000000300020007000100000000000000030000000000000003000000000000000400000001000000020000000000020007000000040000000100010001000900020002000600030000000000000001000600050002000000000004000100020011000100000000000100010005000000010000000700000000000000000003000e0000000000030000000000000002000100000010000000000000000200000002000200060000000900000006000000010006000500010001000200080002000300010004000100000000000d0002000000000001002f00010002000100060015000000000000000c00040000000000000000001a00000000000000000003000700000009000200010000000100010000000000000003000000020000000a0000000000010000000e0002000200090002000b000200010003000100000000000a00030001000100020002000200000002000900000000000100060001000000070018000100000007000100010000001900000000000000000000000000000000000300000000000000000000000400020000000000010000000b000100050000000000000003000200060002000100050001000600030001000200010001001c00060002000200030001000800000002000000010003000100160006000b0000000400040001000200000000000000000004000000040000000000000016000000000000000000030000000000000001000000040009000f000500000001000100080000000100000000000100020001000100010000000100000008000100020001000300020000000200040001000100040000000f00000000000000020009000100000002000000020004000100000007000500030002000a000200030000000500000000000000060002000a000000010006000500000002000300010008000200000001000000140000000100020005000000010001000000010000000200090000000300010000000d00010000000000010004000000000000000000000002000e00000002001700050000000000010002000800000001000900030000000100070000000400010008000000000000000100000000000000020002000500000005000400010000000300000002000200030001000f0001000300020000000000000001000500000002000700000000000000000001000000000008000600000000000100000000000a000400050000000000000001000000020000000000000004000000090001000100000006000000000010000100020005000100010000000000040000000200020002000000000001000100030001000300000003000000000000000000010006000400010001000200080003000300000000000400020001000e0020000000010001000c0000000000000004000000020000000000000004000a0002000100040006000000000000000600060000000300000004000100070001000600080001000700010001000000010002000300000006000000000001000800000003000100010006000200000002000400060001000400030006000100030002000400020000000600020000000500010001000200000001000200010001000200020007000300030000000100070001000e000000010000000b0000000100020001000100030000000100000000000000000000000000000000000500000000000000000000000100020000000000030006000300020006000000010003000100020001000200030000000300010002000400030000000000100001000200000001000000030001000200010001000100000001000000010000000000000002000000000005000500010000000000000000000000010005000000000000000000000000000000000000000200040002000100010000000200000000000100000007000b000300010002000100020001000700010004000100010000000100000001000300010002000200050001000100090001000100010000000200030001000000000008000100000000000000000000000000000003000000000000000500000004000000000000000100030001000000010001000300010000000000000003000400090006000000090006000200010003000100010002000400020003000200000006000100000002000000000005000a00010000000000040000000000040000000100020001000000000000000000010000000000000000000000000000000000000000000d0000000000030003000000010002000100000003000000010000000000000003000000010002000100000004000200000001000300000002000300050005000000000005000100010010000100030002000000010001000300010006000500010002000100020000000300000001000000000000000100000000000300070001000200030000000600020001000000000001000000020001000000030001000100030000000200010001000200010000000000010000000300000000000200030000000200000002000100000003000000010000000000050002000200020000000200070005000300010000000a00010001000400000006000000000000000000000001000100010002000000030001000100010003000300010004000100000001000100010003000100050000000200000001000100000004000000020001000000000000000400020000000000000000000400020003000000000000000000010000000a000100020002000100030000000600010003000600000002000000000001000000040005000400010002000000030000000100020004000100000003000000000000000000010001000100010001000300000001000100000003000000010004000a000000030004000500050007000300030002000000010002000200040000000100000000000000020000000000090003001000010000000200000001000400000005000200000005000000010001000400000007000600040000000000010007000000020003000000000000000000000001000000000000000000030000000100050002000600010002000500060002000400000003000100020001000100000000000200010003000600010001000100030007000000000000000200040000000100010003000100010002000000010000000500020005000100000000000000000000000000000000000000000000000500000007000000000000000000040000000200040000000000000001000000000002000000000001000000010001000100040002000b00010000000000010004000200000001000400010002000200010002000200000000000000050002000200000000000400040005000200000000000d000000000000000000000002000000060000000300000000000000010002000100010002000900030000000000030000000100010001000200000002000300010004000000020007000100000002000100010001000200000005000300000000000100000005000000010000000700000000000200010001000000000000000000000000000000000000000200000000000000000000000000040004000000000001000200060000000000020001000200000001000000020002000200060001000100070000000100020005000100020001000100010003000200020001000400000000000000040001000100000002000000010003000000010002000000ee0400009a02020069f80200990b0100b2300000a90802002e1f00000a06030020010000a600020005f90000e6080100e8f90000c90901003a1e0000d203020065f9000046090100bd1e0000f60402003af802006a0b0100010100006c00020086f900006709010057fa00002c0a0100911f000004070300df04000084020200e20100007e01020029020000f2010200af0100004601020066fa00003b0a0100391f0000280602007a1e0000640403006c1f00009d060300a8fa00007b0a0100cef80200fe0b010028010000b20002004bfa0000200a010018f80200480b010088f90200b80c010074f9000055090100a91e0000bf040300511f00005e06020033f80200630b0100fcf802002c0c01008f030000240202003efa0000130a01005efa0000330a01001efa0000fa090100f7f90200270d01005f01000006010200351e0000c603020047fb0000e30a020062f90200920c010086fa0000590a01002ff9000010090100ddf802000d0c0100730f000024030200151e00007f030300d01e000026050300caf90000ab090100e60400008e020200a21f00004307040099f90200c90c0100c21f000097070300c7f80200f70b0100bcfa00008f0a0100b4300000ab080200b9f90200e90c0100731e0000540402005bf900003c09010052f90200820c01005ffa0000340a0100081b00003e030200042200001d080200a21e0000ac040200ea0100008a01020029010000b400020020f9000001090100851f0000d7060400931e000098040200b2f90200e20c010021f80200510b0100d6f90200060d010065fa00003a0a010071f900005209010030020000040203006d0100001e0102001b020000e6010200d4f90200040d010061d10100140b030094fa0000670a0100030400004a0202006a0100001801020058090000c402020022f90200520c01003df900001e090100391e0000cf03030070f80200a00b0100ae1e0000ce040300351f00001d0603002ffa0000040a01005e01000004010200431e0000e403020042f80200720b0100b1f90000920901005dfa0000320a0100d2f90000b3090100d81e00003e050300cafa00009d0a0100dc1e00004a050300fdf902002d0d01000bf902003b0c0100c91e0000180502002923000069080100961e00009e040200a0f90200d00c0100d0f90000b1090100ed04000098020200c200000004000200791e000061040300f1040000a0020200d01f0000b4070200f51e00008e05020025010000b00002002cfb0000b50a03008703000019020100eff90000d0090100f5f90200250d010070010000240102007022000039080200ccf90200fc0c01006dfa0000420a010080f900006109010007f90000e808010057f80200870b0100b91e0000ee040200d5f80200050c0100f9f90000da090100a2f80200d20b01004bf900002c0901007ef80200ae0b01001ff9000000090100ecf90000cd090100f4040000a6020200510400005a020200ad2200005308020017f90200470c010061f80200910b01001df90000fe08010096fa0000690a0100f60000005c000200271e0000a8030200481f00004c060200eb1f0000ea070200e51e0000640502009ff90200cf0c0100e8f80200180c0100dff90000c0090100af1e0000d10403002af900000b09010078fa00004b0a01006cfa0000410a0100221e00009e030200ea1e00007005030050f80200800b0100c9f90200f90c01001cf90000fd080100330a0000de020200e7000000400002000bf802003b0b010091fa0000640a0100dd090000da02020048f80200780b010066f900004709010036fb0000cb0a020057f90000380901008af80200ba0b01005c3000007d08020082f90200b20c010022010000aa0002005df900003e090100ccf80200fc0b01006af802009a0b0100811f0000c80603002a2100000e0801007e01000040010200a9f900008a090100bdfa0000900a01001ef902004e0c0100ebf90000cc09010037f90200670c0100a6f80200d60b0100421e0000e20302002f110100fb0a0200a81f00005b070300c000000000000200daf802000a0c0100b5f90200e50c0100c1f80200f10b0100b4f9000095090100710100002601020052f900003309010008fa0000e9090100ac1f000069070400fb010000a501030012f90000f3080100111f0000c605020001020000b2010200b9f80200e90b01001cfa02004c0d0100b5f80200e50b0100881e000082040200b8fa00008b0a010043fa0000180a010044010000da0002008b1e000088040200e1f90200110d01007cf900005d09010085f9000066090100061f0000a8050300b21f00007d070300dbf902000b0d0100e41f0000db070200c3fa0000960a0100770100003201020048f90200780c0100cb000000140002009f1f00003907040099fa00006c0a010042f90200720c010076f90200a60c010088f9000069090100e61f0000df07020056010000f40002008e1e00008e040200fef802002e0c0100461e0000ea0302001ef802004e0b01005d04000062020200cf1f0000b2070200cf1e000024050200481e0000ee030200cbf90000ac09010046f90200760c0100cffa0000a20a0100090100007c000200e32200005f080200520f00001c0302004c3000006d080200b2f90000930901002c010000ba00020069f90200990c0100a5f90200d50c01007a30000099080200bef90200ee0c01001b1f0000db0503005d1f000077060300abf90200db0c0100f1f80200210c0100bef900009f090100b8f9000099090100b41f000082070300df1e0000530503002f0200000202020034090000c20202008af90200ba0c0100e81f0000e4070200abfa00007e0a01005bfa0000300a0100d304000074020200262200002508020003fa0200330d010012fa0000f0090100e41e000062050200d61f0000be07020031f9000012090100a1fa0000740a010036f90200660c0100e91f0000e6070200f41f0000f80703006cf802009c0b010011f90200410c01005f090000d2020200cd000000180002005ef902008e0c01008ff9000070090100081e000062030300fa300000dd080200da0400007a020200c5f90000a6090100d801000063010300ec0100008e0103005ef900003f0901004efb0000f10a0200c50000000a0002007df80200ad0b01000c1b000042030200c6f90200f60c010079f80200a90b0100f2f90200220d0100ce1e000022050200da0d00000f030200801f0000c50603007430000091080200892200004f080200d001000050010200ac1e0000c804030051f80200810b01002c020000fa0103009e1f000035070400d2f90200020d010005fa0000e60901008cf80200bc0b0100fd1f00000a0801000b1f0000b5050300bafa00008d0a0100821e000076040200c2f80200f20b0100301f000010060200871f0000df06040061fa0000360a0100061b00003c030200e8f90200180d01000ef802003e0b0100001f00009805020003fa0000e409010002020000b4010200ce0100004c01020012fa0200420d01004ff802007f0b0100c10400006a02020081fa0000540a0100c7fa00009a0a0100bbf900009c0901006f01000022010200140100008e000200c70c0000000302000e1b000044030200d1f90200010d010039010000cc00020036f80200660b0100480b0000ea020200f9300000db08020079fa00004c0a0100583000007908020071f90200a10c010028f90200580c0100fc010000a80102002422000023080200b3fa0000860a0100e7f80200170c0100de1f0000cd070200e701000084010200131e00007a0302005afa00002f0a0100ce1f0000b0070200581e00001604020064f90200940c0100befa0000910a01000f1e00007203020038f90200680c01001d010000a000020094f900007509010047f9000028090100aa0300002902020081f9000062090100301e0000bc030200141f0000ce050300f1f90000d2090100a91f00005e070300621e00002c0402005df802008d0b01004efa0000230a0100221f0000e805030038f80200680b0100a6f90200d60c01003ff9000020090100f3f90200230d0100adfa0000800a01007af80200aa0b010030f80200600b0100c8f80200f80b01000a0100007e0002000b020000c6010200771f0000b7060200b4fa0000870a010085f90200b50c0100f7f90000d80901004ff902007f0c010040fa0000150a010068f90200980c01008cfa00005f0a0100ce0000001a000200c0fa0000930a01006230000083080200f90000005e000200b01f000079070200940b0000f402020026f90200560c0100841f0000d3060400ef0400009c0202009d0f0000300302006d22000033080200281f0000fa05020055f90200850c01007922000043080200b6fa0000890a010035f90000160901003904000056020200381901000b0b0200ee0000004e0002007b0100003a0102000c1e00006c0302006a1e00004204020014020000d8010200570f00001e03020025f80200550b0100bb140100010b0200000100006a000200e60100008201020051f90200810c0100cef90200fe0c010084f90200b40c0100eb220000630802006b1f00009a0603003b010000d0000200e9f90200190d0100bef80200ee0b010023f80200530b0100d3f90200030d01007cf90200ac0c010049fa00001e0a0100b11e0000d704030098f90200c80c01004e3000006f0802000d1f0000bb0503004a0d00000903020039fb0000cf0a02005a3000007b080200b0f9000091090100fff802002f0c0100ae300000a508020077f90200a70c0100fa010000a2010300201e00009a03020017f90000f808010089f900006a0901000ef90000ef08010034fb0000c70a020089f80200b90b010066f80200960b010065f80200950b01002f010000c00002000efa02003e0d0100611e00002a040200fd010000aa01020003f80200330b0100e31f0000d807030044fa0000190a0100a61f0000530704000f020000ce010200a41f00004b070400cb0c0000060303004ffa0000240a010097f90200c70c01004b1e0000f4030200a2fa0000750a010039f80200690b0100551f000069060300321e0000c0030200f0f90000d1090100ea00000046000200d4f80200040c010069f900004a090100fa00000060000200331e0000c20302006f1e00004c040200aaf900008b09010038f900001909010026f80200560b01003cf900001d090100e2040000860202005f1e000026040200c20400006c020200dd04000080020200900300002602030023f90200530c01001904000054020200e9f80200190c01003b1b00004803020060f80200900b0100c01e0000fe04030024010000ae00020035f90200650c0100cd210000170802001ff802004f0b0100951f00001307040059fa00002e0a01004afb0000e90a020037010000ca00020019fa0200490d01008c1e00008a04020011fa0200410d010092f90000730901009bf900007c0901006f2200003708020008f90200380c0100a11e0000aa040200c7300000bd0802005c0f000020030200bc140100030b02001af90000fb08010049fb0000e70a020092f80200c20b0100bbd10100200b02000e040000520202007e1e00006e040200d31f0000bb070300b61f00008507020064010000100102002bf902005b0c01003d1f0000330603008603000017020200241f0000ee050300cdfa0000a00a010017fa0000f3090100171e0000850303000bfa0000ec09010080f90200b00c01002dfa0000020a01008ef80200be0b01002efb0000bb0a020031fa0000060a0100091f0000b005020015f80200450b0100caf90200fa0c010055fa00002a0a0100f9f90200290d0100621f0000810603000601000076000200bf1e0000fb040300381f000026060200201f0000e405020065f90200950c010029f80200590b0100fb1f000006080200c90000001000020047010000e0000200c3f90200f30c010013020000d60102009d1f000031070400251f0000f1050300aff90200df0c010077fa00004a0a0100092200001f080200760f00002803020056f9000037090100cc1f0000ac070200a01f00003d0703003c010000d2000200b31e0000dd0403005a1e00001a04020035fb0000c90a0200b5f90000960901000afa0000eb090100a51f00004f0704002e02000000020200ee1e00007c050300d50100005a0103005c01000000010200e30000003a0002008bfa00005e0a0100793000009708020038fb0000cd0a020055f80200850b01009efa0000710a01004e010000e8000200751e00005804020046fa00001b0a01000afa02003a0d010011020000d2010200a9f80200d90b01001501000090000200d1300000c3080200471e0000ec030200e0f80200100c01007efa0000510a0100d81f0000c3070200921e00009604020067f80200970b01001dfb0000ad0a02007df900005e090100b9fa00008c0a010046f80200760b01007d1e00006c040200c8fa00009b0a01000401000072000200f5040000a802020010fa0200400d010075f90000560901006af900004b0901002bfa0000000a0100731f0000af06020057f90200870c0100dd1e00004d050300ad0300002f02020024f90200540c0100d4fa0000a70a01007bf90200ab0c010053f80200830b01003ffa0000140a01008afa00005d0a01004cfb0000ed0a02003b1f00002d060300c4000000080002009a100100f30a0200410300000f0201000d1e00006e030200dc0400007e02020010fa0000ef090100f11e00008505030003f90200330c0100ed1f0000ee070200ef1f0000f2070100a41e0000b00403001f020000ea01020092fa0000650a0100a4f80200d40b0100c8f90000a9090100a0f9000081090100311e0000be03020003f90000e4080100d40300004402020009f80200390b0100071e000060030200b11f00007b070200d1f80200010c0100111e000076030200d21f0000b80703005ed101000d0b020041f90200710c010062f9000043090100f01e000082050300e01e000056050300523000007308020048010000e2000200441f00004606030030f90200600c01000b1e00006a0302003ef802006e0b0100943000009f0802005b1e00001c04020054fa0000290a0100fcf90000dd090100de01000072010300021e000056030200e4f90200140d01007ff9000060090100e11f0000d3070200cb1e00001c05020047f90200770c01002df802005d0b01006d1f0000a00603004c1e0000f6030300001e0000520302003cf902006c0c0100c4f90200f40c01002d1f0000070603008c03000020020200bb150100090b02000cfa0000ed09010086f90200b60c01000a1f0000b2050300831f0000cf060400e31e00005f0503003ef902006e0c0100edf802001d0c010081f90200b10c0100541f000066060300161e0000820303006afa00003f0a010079010000360102002dfb0000b80a03000bf90000ec0801003efb0000d70a0200b0f90200e00c010032f9000013090100e61e0000660502005ef802008e0b0100d7f80200070c0100401e0000de030200ed22000067080200431f000043060300e50400008c020200a5fa0000780a0100a31f00004707040067f90200970c010093f90000740901008df80200bd0b0100ed0000004c00020006f90200360c010098fa00006b0a010001f90200310c0100f71f0000fd0703005c090000cc02020060fa0000350a0100ca0300003802020062fa0000370a0100c3f80200f30b0100ca1e00001a05020050f9000031090100730100002a0102009af90200ca0c010070f90200a00c01005af802008a0b010013fa0200430d01008bf900006c09010013f90200430c0100b90f00003803020019f90000fa080100ba1e0000f004020090f80200c00b010053f9000034090100b21e0000da04030004f90000e5080100dc0100006f010300ab0300002b0202004ef900002f090100dff802000f0c0100191f0000d6050200bc300000b30802005e3000007f080200871e000080040200faf90000db0901002bf802005b0b01001df802004d0b0100a3f80200d30b010004fa0200340d01003afa00000f0a0100e40400008a020200d5f90200050d01000df902003d0c010067f9000048090100d3fa0000a60a0100f21f0000f3070300861e00007e0402002df900000e090100f71e00009205020089fa00005c0a010074f80200a40b010052f80200820b0100cdf90000ae09010054f80200840b0100251e0000a4030200c11e000001050300db1e00004705030005020000ba01020043f80200730b0100b1f80200e10b0100b81f00008a070200cb0b0000f80202004cf802007c0b010030fa0000050a0100cb090000d402020058f80200880b01005b1f000074060300c2060000ba02020050f90200800c01005c0b0000f00202004dfa0000220a0100931f00000b07040074fa0000470a0100591f0000720602001dfa02004d0d010070fa0000430a010018fa0000f409010088f80200b80b0100b7f80200e70b01009df900007e090100dbf90000bc09010040f90000210901008d1f0000f5060400971f00001b070400101e00007403020097f900007809010056f90200860c0100aaf90200da0c0100411e0000e00302000cf902003c0c010062f80200920b0100661e000036040300f81e00009405020049f80200790b010094f80200c40b01007f1e000070040200291f0000fc0502001cfa0000f8090100b01e0000d4040300741f0000b1060200e91e00006d050300bb1f000090070200620100000c010200d20000002000020097fa00006a0a010024f80200540b0100330200000c020200af22000057080200ec1f0000ec0702007ffa0000520a01004af902007a0c010087f80200b70b010017fa0200470d010031090000c002020030010000c200020035010000c60002007630000093080200a20f000032030200f8040000aa020200271f0000f705030063f90000440901004df900002e090100400300000e020100cdf90200fd0c0100011e000054030200d31e00002f050300030100007000020000020000b00102007c0100003c0102002cf900000d090100121e00007803020033fb0000c50a020093fa0000660a0100f50000005a000200f8300000d908020010020000d0010200f30000005600020004f80200340b0100c0f80200f00b01001a020000e40102001c1e0000900303001e010000a20002008f1f0000fd0604004cfa0000210a01005b090000ca02020045fa00001a0a0100d5fa0000a80a01002ef802005e0b01005cfa0000310a0100b7f900009809010006020000bc010200c71f0000a1070300cb0300003a020200dcf90000bd0901002b020000f70103002ef900000f090100e21e00005c0503008ff80200bf0b01004cf902007c0c010084fa0000570a0100e3f90200130d0100d6f90000b70901005d01000002010200241e0000a20302005cf902008c0c0100a61e0000b6040300a81e0000bc040300f7300000d708020077f9000058090100c4fa0000970a01003bfa0000100a010004f90200340c0100abf900008c090100eb0400009402020020fa0000fb09010007f90200370c0100c61e00001005030005fa0200350d0100ab100100f70a02003f1e0000dc030200852200004b0802004303000010020100daf90000bb09010007fa0200370d010015fa0200450d0100f3040000a4020200130100008c0002007b1f0000bf060200cf2100001b0802007a1f0000bd060200e50000003e0002007d3000009d08020014fa0200440d010091f80200c10b0100e5f90200150d010083f90200b30c0100901f000001070300851e00007c040200d400000024000200e022000059080200ae03000031020200aef80200de0b0100fbf90000dc0901009cf900007d09010017020000de010200b71e0000e9040300aaf80200da0b0100850300001502020016fa0000f2090100e2f90200120d0100e10100007b01030000fa0200300d010054010000f0000200b71f000087070300ef1e00007f05030002fa0000e309010090f90200c00c0100521e00000804030024060000b20202009df90200cd0c010083f80200b30b0100d71f0000c0070300ccf90000ad09010026f9000007090100561e00001204020006fa0000e709010051fa0000260a0100f41e00008c050200daf902000a0d0100361e0000c8030200d3060000bc020200fff902002f0d0100e2f80200120c0100aa1e0000c2040300adf80200dd0b010007fa0000e80901007af90200aa0c010066f90200960c0100801e000072040200d201000054010200631f000084060300ad1f00006d0704001ef90000ff080100a0fa0000730a010063f80200930b0100dd300000d30802005e040000640202001af902004a0c0100051e00005c0302001a0100009a000200611f00007f0602001bfa02004b0d0100e0f90200100d01003d010000d400020032fb0000c30a0200a51e0000b3040300dd0d000013030300180100009600020007020000be010200fa1f0000040802003ff902006f0c010086f80200b60b0100e0f90000c109010070f90000510901007ef90200ae0c010072f900005309010036010000c80002000a1b000040030200733000008f08020016f90000f7080100e22200005d08020021f90200510c0100602200002f080200661f00008d0603000ff802003f0b0100012000000c080100881f0000e3060300a6fa0000790a0100ae1f000071070400a4fa0000770a01003a1f00002a060300c1fa0000940a01008ffa0000620a01005d090000ce020200d1f90000b2090100411b00004e03020048f90000290901003c1e0000d6030200d9fa0000ac0a010000040000460202006df900004e0901007c1e00006a040200d30300004202020072010000280102001f1e0000980302009ffa0000720a01006e2200003508020022f80200520b0100750f00002603020071f80200a10b010012f80200420b0100752200003f0802003f1f000039060300d7300000cb080200d90000002a000200abf80200db0b01007afa00004d0a010015f90000f60801001d1e000093030300eb0100008c01020008f80200380b01008ef90200be0c010053fa0000280a0100a6f90000870901000cf802003c0b0100f5f80200250c010002fa0200320d0100811e00007404020030f90000110901006030000081080200ea1f0000e80702008a0300001e0202005cf802008c0b0100c91f0000a60702006ff802009f0b01000af902003a0c010002f90200320c010035f80200650b01004d010000e600020062d10100170b030023f900000409010096f80200c60b01002d020000fd010300f2f90000d3090100c2300000b9080200d4300000c70802007ef900005f090100e21f0000d5070300ec0000004a000200491f00004e0602008dfa0000600a010098f80200c80b0100b51e0000e304030094f90200c40c01002b010000b80002000e020000cc0102006801000014010200561f00006c060300a0f80200d00b010052fa0000270a01003df902006d0c0100da0000002c000200c41e00000a050300951e00009c040200671f000090060300c1f90200f10c0100def90000bf0901003df802006d0b0100edf90000ce090100bffa0000920a0100570400005e0202000dfa0000ee090100b1fa0000840a0100faf802002a0c0100491e0000f00302001bf90000fc080100501e0000020403004af900002b09010090fa0000630a01008422000049080200a01e0000a8040200690100001601020000f90000e1080100eb1e000073050300e5f90000c6090100eaf902001a0d0100acf80200dc0b0100f8f80200280c0100c80c000002030200f6f80200260c010068f90000490901006c1e000046040200d8f80200080c0100b61e0000e604030099f80200c90b0100c300000006000200b001000048010200131f0000cb050300631e00002e040200120100008a00020020f90200500c010004fa0000e5090100d9f80200090c0100381e0000cc030300941f00000f07040040f90200700c01007df90200ad0c01004ef802007e0b0100a5f9000086090100dc090000d8020200fc00000064000200ec1e000076050300a001000042010200b4f90200e40c0100ca0b0000f602020034f80200640b01000bfa02003b0d0100d8fa0000ab0a0100c5300000bb080200f5f90000d60901004bf802007b0b01005e1e000024040200c6f80200f60b01003bf902006b0c010051010000ee000200fc1f00000808020039fa00000e0a0100091e00006503030099f900007a090100e6f80200160c0100baf80200ea0b010076f80200a60b010023010000ac0002003cfb0000d50a020096f90000770901008d1e00008c0402000c01000082000200eef802001e0c010009f90000ea0801004afa00001f0a0100a9f90200d90c010006f80200360b0100d0300000c1080200bbf90200eb0c010075f90200a50c010018fa0200480d010089f90200b90c010087f90000680901000af802003a0b010098f900007909010079f900005a0901000df90000ee08010022f90000030901008c1f0000f1060400371f00002306030048fb0000e50a0200673000008708020032f90200620c0100d21e00002c050300d10000001e000200281e0000aa0302007801000034010200acf90200dc0c0100610100000a010200d0fa0000a30a010001040000480202004122000027080200bdf900009e090100f0f80200200c0100451e0000e8030200d9f90000ba090100a9fa00007c0a010035fa00000a0a0100d204000072020200341e0000c403020027f9000008090100c31e000007050300def802000e0c0100a2f90200d20c010043f90000240901008f1e000090040200d5f90000b609010082f9000063090100501f00005c060200921f000007070400810f00002c03020087fa00005a0a01004ef902007e0c0100ab1f0000650704003dfa0000120a0100d90100006601030096f90200c60c01008a1e00008604020058fa00002d0a0100c11f00009507020061f90200910c01004403000011020200341f00001a060300a8f9000089090100630100000e0102004bfb0000eb0a0200cc090000d6020200711e000050040200e200000038000200f3f90000d40901009ef80200ce0b0100b3f80200e30b01004d1f000059060300f91e0000960502002ff802005f0b01002efa0000030a010014f80200440b0100d1fa0000a40a0100c51e00000d050300df090000dc020200a1f80200d10b010039f900001a09010028020000f0010200d2f80200020c0100bdd10100240b0300861f0000db06040068f80200980b01002a020000f4010300e3f80200130c01005a0a0000e4020200c81f0000a407020022fa0000fc090100ed010000910103009ff9000080090100b8f90200e80c0100e7f90200170d0100bbfa00008e0a0100d60100005d01030031fb0000c10a020046010000de000200f21e000088050200a11f000040070300181e0000880302009bfa00006e0a010080fa0000530a0100ccfa00009f0a01007a010000380102003b1e0000d4030200741e0000560402006bf802009b0b0100231e0000a0030200750100002e0102003e1e0000da030200db0400007c0202009b21000013080200841e00007a040200cff90000b0090100441e0000e60302001a1e00008c030200651f00008a06030029f900000a090100472200002b080200f2040000a20202007cf80200ac0b01002f1e0000b90303004af802007a0b01008cf90200bc0c0100a1f90200d10c0100c81e00001605020057010000f6000200bff80200ef0b010041fb0000db0a0200f9040000ac02020095f90200c50c01002e010000be000200b6f9000097090100bc1e0000f4040200211e00009c03020041f80200710b01001601000092000200530400005c02020092f90200c20c010064d101001d0b0300e1f80200110c010075fa0000480a010002f90000e308010008f90000e908010017f80200470b01005ff90000400901003bf802006b0b01000f01000088000200d3000000220002006930000089080200651e00003304030043fb0000dd0a0200ba300000b10802009b1f0000290704006c0100001c010200c70000000c0002006bf902009b0c0100f8f90000d909010058010000f800020063d101001a0b0300a71e0000b9040300882200004d080200cbfa00009e0a010001f90000e20801008e1f0000f906040009fa0200390d0100c8f90200f80c01000e1e00007003020049f900002a090100e8000000420002003cfa0000110a0100ecf802001c0c0100dbf802000b0c010018020000e001020065300000850802007cfa00004f0a0100821f0000cb0604009b1e0000a604020009020000c2010200d11f0000b6070200faf902002a0d0100f4300000d50802001a1f0000d80503005c1e00001e0403006bfa0000400a0100def902000e0d0100c6f90000a7090100da010000690103000e1f0000be0503007bf900005c090100c3f90000a4090100170100009400020045f9000026090100fef902002e0d0100d61e00003805030025060000b4020200bcf90200ec0c0100492200002d080200d401000058010200f0f90200200d010031f90200610c01002af902005a0c0100db1f0000c90702007bfa00004e0a010082f80200b20b0100eff802001f0c01004ff9000030090100930f00002e03020045f90200750c0100563000007708020059090000c6020200ac22000051080200f61f0000fb07020001f80200310b010021f900000209010041fa0000160a0100fef90000df090100a3fa0000760a0100b4f80200e40b01000c020000c8010200c1f90000a2090100002000000b08010005f90200350c01000d04000050020200791f0000bb0602005bf902008b0c0100721e0000520402001bf902004b0c0100e1f90000c2090100cbf90200fb0c01004df802007d0b0100a7f80200d70b0100051f0000a505030030fb0000bf0a020001fa0000e2090100ef00000050000200c0d101002d0b030019f80200490b0100ca00000012000200ae210000150802002e1e0000b6030300da300000cf08020080f80200b00b010032f80200620b0100db0100006c010300e7040000900202005bf802008b0b0100f001000098010200c7f90200f70c0100681e00003c0403000cf90000ed0801004dfb0000ef0a0200f4f80200240c0100b0030000350203000ff90000f00801009ff80200cf0b01009a1f00002507040088fa00005b0a0100bfd101002a0b0300713000008d08020069fa00003e0a0100261000003a0302001afa0000f6090100031e00005803020028f900000909010074f90200a40c01004b0b0000ec0202001d1f0000e10503006501000012010200d2fa0000a50a0100c9fa00009c0a010097f80200c70b01000ffa02003f0d0100aef90200de0c0100c80000000e000200bcf80200ec0b01006af902009a0c0100fbf902002b0d0100cdf80200fd0b01001ffb0000af0a02004bf902007b0c010011f80200410b01005a090000c8020200dc300000d1080200780f00002a03020009f90200390c0100ae22000055080200d8f90000b90901008efa0000610a01002a1e0000ae030200080100007a000200cff90200ff0c01007b1e000067040300cbf80200fb0b0100c2fa0000950a01005fd101000f0b020024f90000050901006ff9000050090100de1e00005005030087f90200b70c0100721f0000ad060200d41e000032050300b2f80200e20b010042fa0000170a010026060000b60202009dfa0000700a0100b3f90200e30c010019f90200490c0100d3f90000b409010071fa0000440a01002f1f00000d060300d91e0000410503002ffb0000bd0a0200dcf802000c0c0100b41e0000e004030025fa0000fd0901006df802009d0b0100ea04000092020200cd1e000020050200011f00009a050200d0f80200000c01003af902006a0c01000c0400004e0202003af900001b090100fff90000e0090100261e0000a6030200081f0000ae050200031f00009f050300d7fa0000aa0a010084f80200b40b010045f80200750b01008e03000022020200d00400006e020200be300000b5080200321f00001406030008fa0200380d01007d0100003e0102003d1e0000d80302002cfa0000010a01005ff902008f0c01009cf90200cc0c01006f1f0000a606030037f900001809010034fa0000090a01002a1f0000fe050300690f000022030200e00000003400020078f90200a80c01007ff90200af0c0100ef01000096010200431b00005003020055010000f2000200c61f00009f0702000a020000c401020077300000950802001b1e00008e03020085f80200b50b01000d020000ca010200c4f90000a5090100a7f90000880901008ef900006f0901004d0f00001a03020005f80200350b010059010000fa000200f400000058000200401f00003c06020000fa0000e1090100f6f90200260d0100aefa0000810a010015fa0000f10901002b2100000f08020006fa0200360d0100d5000000260002002d1e0000b40302000f1f0000c1050300712200003b080200711f0000ab06020047fa00001c0a01004b0d00000b0302001cf802004c0b0100b91f00008c07020026fa0000fe090100f91f00000208020034010000c400020091f900007209010060d10100110b0300acf900008d09010028f80200580b0100d91f0000c5070200ebf802001b0c01008bf80200bb0b0100b1f90200e10c0100bcf900009d0901002afa0000ff0901007c3000009b080200f50100009c010200781f0000b906020072fa0000450a0100802200004508020018f90200480c0100e40000003c00020002f80200320b0100d6f80200060c0100880300001a020200c5fa0000980a01000d0100008400020058f9000039090100be1e0000f80403000af90000eb080100f9010000a00102004c0b0000ee020200571f00006f060300061e00005e030200d11e000029050300f31f0000f60702002b1e0000b0030200b81e0000ec04020075f80200a50b010042f90000230901006a1f000097060300e0010000780103004df902007d0c0100480c0000fc02020010f80200400b0100361f000020060300f3f80200230c0100fd0000006600020061f900004209010073f80200a30b01007e0300001402010011f90000f2080100c6fa0000990a01009df80200cd0b010060f90200900c010082fa0000550a01006ff902009f0c0100331f0000170603005f1f00007a060300671e000039040300d9300000cd0802009af900007b090100ec2200006508020004020000b8010200dc0000003000020025f90200550c010068fa00003d0a010040f80200700b0100cd0300003e020200901e000092040200751f0000b3060200dc0d0000110302003ff802006f0b010076f90000570901006ef802009e0b010050010000ec000200991e0000a4040200d10100005201020016f90200460c010029f90200590c0100041f0000a2050300a71f000057070400df0100007501030044fb0000df0a02001c0100009e0002003a010000ce000200101f0000c4050200c4f80200f40b0100971e0000a004020054f900003509010000f90200300c0100fe300000df080200b6300000ad080200691f000095060200adf900008e090100771e00005c04020037fa00000c0a010034f9000015090100b0fa0000830a0100ea220000610802009cf80200cc0b010027020000ee0102002b1f00000106030079f90200a90c010054f90200840c01001e1e000096030200aef900008f090100e5f80200150c0100af030000330202004c1f00005606030041f900002209010034f90200640c0100a3f900008409010029090000be0202009bf80200cb0b0100b0f80200e00b0100831e000078040200ecf902001c0d0100601f00007d06020023060000b00202006e1e00004a0402002e110100f90a02005d0b0000f202020015020000da010200bdf90200ed0c01007601000030010200ab1e0000c5040300e6f90200160d010064f80200940b0100311f0000120602002ff902005f0c010020f80200500b0100da1f0000c70702002cf802005c0b0100451f0000490603007c1f0000c1060200531e00000b04030072f90200a20c01001afa02004a0d010060f9000041090100d701000060010300e81e00006a050300ca0c000004030200421f0000400603005df902008d0c0100ee01000094010200d3f80200030c01004d1e0000f9030300d600000028000200961f00001707040018f90000f9080100aff9000090090100fbf802002b0c0100601e000028040200121b000046030200fdf90000de090100ebf902001b0d0100641e0000300403002bfb0000b30a0200e01f0000d107020015f90200450c01001bf802004b0b0100dd1f0000cb070200b6f80200e60b0100891e000084040200b9f900009a090100b31f000080070200e301000080010200e304000088020200cf0000001c000200f100000052000200bff90200ef0c0100c9f80200f90b0100a8f80200d80b01005af902008a0c0100a8f90200d80c0100a1010000440102009ef900007f09010046fb0000e10a0200c7f90000a80901007604000066020200cd0100004a010200bff90000a0090100ad1e0000cb0403000501000074000200a4f90200d40c01005b010000fe000200c9f90000aa090100190100009800020046f900002709010054300000750802000cfa02003c0d0100cf0100004e0102007dfa0000500a010044f90000250901001dfa0000f9090100c2f90200f20c010064f900004509010019020000e2010200ddf90000be0901008b1f0000ed0604006222000031080200b3f9000094090100a2f90000830901005030000071080200e801000086010200d3300000c5080200c9300000bf0802005af900003b0901008af900006b09010076fa0000490a010016f80200460b0100401b00004c03020012020000d4010200911e000094040200e4f90000c5090100981f00001f07030010f90000f1080100d8f90200080d01001df902004d0c01009c1f00002d070400db0000002e000200320200000a02020095f9000076090100e2f90000c3090100231f0000eb050300de0d000016030200cef90000af090100ed1e0000790503000c1f0000b80503001cf902004c0c0100b0300000a708020090f9000071090100681f000093060200bc1f000092070200b7f90200e70c01006bf900004c09010009fa0000ea090100ff010000ae01020010f90200400c0100f4f90200240d01007ff80200af0b0100591e000018040200be140100050b02006cf900004d090100ac0f00003603020013f90000f40801000df802003d0b010027f90200570c010037f80200670b0100ac300000a3080200ee1f0000f0070200a1f9000082090100541e00000e0402006e1f0000a3060300b7fa00008a0a01003bfb0000d30a0200f1f90200210d0100360a0000e0020200891f0000e6060300cc1e00001e05020058f90200880c01006b0100001a01020044f90200740c0100f9f80200290c0100070400004c020200f61e000090050200a3f90200d30c010081f80200b10b01004c130100ff0a02001af802004a0b0100ddf902000d0d010064fa0000390a0100aff80200df0b0100edf902001d0d0100eaf90000cb0901009c100100f50a02004f010000ea0002007af900005b09010049f90200790c01005b0a0000e602020036f90000170901005e0a0000e80202009af80200ca0b01004b1f00005306030084f90000650901006d1e0000480402000ef902003e0c01002a2300006a0801000dfa02003d0d0100b2fa0000850a01005004000058020200021f00009c05030032fa0000070a0100761f0000b50602006df902009d0c0100a7f90200d70c0100a31e0000ae040200baf900009b090100151f0000d1050300af1f000075070400600100000801020063f90200930c010025f9000006090100f6f90000d7090100c0300000b70802001e020000e80102009cfa00006f0a01003afb0000d10a0200ba1f00008e0702007403000013020100dc2a00006b0802001ff902004f0c0100c00c0000fe020200f31e00008a050200c31f00009a070200bdf80200ed0b01001f010000a4000200a70f000034030200f4f90000d5090100cc0b0000fa02020047f80200770b01004a1f0000500603008ff90200bf0c01006ef900004f090100e6f90000c7090100e3f90000c409010044f80200740b010013f80200430b0100b5fa0000880a0100aa1f000061070400c1000000020002006b1e000044040200e51f0000dd07020007f80200370b01005ff802008f0b01003bf900001c090100f80100009e010200691e00003f040300e71f0000e1070300571e000014040200cc000000160002009bf90200cb0c0100f00400009e020200fdf802002d0c010021010000a8000200f2000000540002009afa00006d0a0100eff902001f0d010078f80200a80b010059f900003a0901004b130100fd0a0200be1f00009407010056fa00002b0a0100bed10100270b0300bbf80200eb0b0100e4f80200140c0100191e00008a0302002df902005d0c01002c1f000004060300e100000036000200b6f90200e60c01008df900006e09010014f90000f508010019fa0000f5090100cefa0000a10a01005a010000fc000200742200003d0802004cf900002d090100c41f00009c070300ba150100070b0200b8f80200e80b010001fa0200310d0100eaf802001a0c0100981e0000a20402008bf90200bb0c0100dcf902000c0d0100991f0000220703008a1f0000e90604001c1f0000de05030038fa00000d0a010053f90200830c0100f7f80200270c0100411f00003e060200c71e00001305030016fa0200460d010059f80200890b010059f90200890c0100cff80200ff0b01004c010000e400020093f90200c30c01003e010000d60002002a010000b600020091f90200c10c0100ca1f0000a8070200890300001c02020073fa0000460a0100d9f90200090d010043010000d800020093f80200c30b010027f80200570b010063fa0000380a0100ac0300002d020200071f0000ab050300bb1e0000f204020043f90200730c010067fa00003c0a0100d604000076020200121f0000c8050300f40100009a010200371e0000ca0302000ff902003f0c0100181f0000d40502007704000068020200020100006e00020000f80200300b0100affa0000820a0100c0060000b8020200eb00000048000200da1e0000440503007d1f0000c3060200590a0000e2020200f2f80200220c01009e300000a1080200d6300000c90802002ef902005e0c010033f90000140901006ef902009e0c0100551e00001004020081220000470802004e1e0000fc03030072f80200a20b0100fcf902002c0d0100bcd10100220b020050fa0000250a01002cf902005c0c0100703000008b080200e9f90000ca0901003cf802006c0b0100f8f90200280d0100521f000060060300acfa00007f0a0100941e00009a040200d6fa0000a90a0100cb1f0000aa07020033fa0000080a01001bfa0000f7090100eef90000cf0901002c1e0000b203020003020000b601020077f80200a70b0100f81f000000080200e901000088010200fe010000ac0102006cf902009c0c0100511e000005040300de04000082020200a4f900008509010040fb0000d90a020022060000ae020200cc0300003c0202009ef90200ce0c01002bf900000c090100e12200005b080200740100002c0102004a1e0000f203020039f90200690c0100ce03000040020200a7fa00007a0a010085fa0000580a0100e7f90000c8090100070100007800020095fa0000680a010073f900005409010033f90200630c0100c2f90000a3090100e11e000059050300d301000056010200d0f90200000d01002afb0000b10a0200fb000000620002004f1e0000ff030300261f0000f4050300dd0000003200020026020000ec01020031f80200610b0100eef902001e0d010055f90000360901006e01000020010200a5f80200d50b01001b0100009c000200761e00005a0402004c0d00000d0302003c1f0000300603000a1e000068030200781e00005e0403002af802005a0b01002d010000bc000200c5f80200f50b01003e1f0000360603005cf900003d090100211f0000e6050200d7f90200070d0100701f0000a906020014f90200440c010083fa0000560a0100d51e000035050300e71e0000680502007822000041080200c0f90000a1090100d71e00003b050300caf80200fa0b01003d1b00004a030200adf90200dd0c01005e090000d00202000c22000021080200df1f0000cf07020048fa00001d0a0100041e00005a030200d70400007802020016020000dc010200701e00004e04020056f80200860b0100e90000004400020051f90000320901003102000007020300531f000063060300141e00007c03030083f9000064090100d4f90000b509010073f90200a30c0100dff902000f0d01008cf900006d09010008020000c001020095f80200c50b0100aafa00007d0a01005c04000060020200b8300000af0802004422000029080200ff00000068000200d104000070020200262100000d0801000b0100008000020045010000dc00020078f9000059090100cd1f0000ae07020012f90200420c010036fa00000b0a0100c0f90200f00c0100ec040000960202000e010000860002008df90200bd0c01005d1e000021040300430f000018030200291e0000ac0302003ef900001f090100c5f90200f50c0100ce210000190802007bf80200ab0b0100baf90200ea0c0100c21e0000040503009a21000011080200641f00008706030006f90000e7080100d7f90000b809010041000000000300004100000001030000410000000203000041000000030300004100000008030000410000000a0300004300000027030000450000000003000045000000010300004500000002030000450000000803000049000000000300004900000001030000490000000203000049000000080300004e000000030300004f000000000300004f000000010300004f000000020300004f000000030300004f000000080300005500000000030000550000000103000055000000020300005500000008030000590000000103000061000000000300006100000001030000610000000203000061000000030300006100000008030000610000000a0300006300000027030000650000000003000065000000010300006500000002030000650000000803000069000000000300006900000001030000690000000203000069000000080300006e000000030300006f000000000300006f000000010300006f000000020300006f000000030300006f00000008030000750000000003000075000000010300007500000002030000750000000803000079000000010300007900000008030000410000000403000061000000040300004100000006030000610000000603000041000000280300006100000028030000430000000103000063000000010300004300000002030000630000000203000043000000070300006300000007030000430000000c030000630000000c030000440000000c030000640000000c03000045000000040300006500000004030000450000000603000065000000060300004500000007030000650000000703000045000000280300006500000028030000450000000c030000650000000c03000047000000020300006700000002030000470000000603000067000000060300004700000007030000670000000703000047000000270300006700000027030000480000000203000068000000020300004900000003030000690000000303000049000000040300006900000004030000490000000603000069000000060300004900000028030000690000002803000049000000070300004a000000020300006a000000020300004b000000270300006b000000270300004c000000010300006c000000010300004c000000270300006c000000270300004c0000000c0300006c0000000c0300004e000000010300006e000000010300004e000000270300006e000000270300004e0000000c0300006e0000000c0300004f000000040300006f000000040300004f000000060300006f000000060300004f0000000b0300006f0000000b0300005200000001030000720000000103000052000000270300007200000027030000520000000c030000720000000c030000530000000103000073000000010300005300000002030000730000000203000053000000270300007300000027030000530000000c030000730000000c03000054000000270300007400000027030000540000000c030000740000000c030000550000000303000075000000030300005500000004030000750000000403000055000000060300007500000006030000550000000a030000750000000a030000550000000b030000750000000b03000055000000280300007500000028030000570000000203000077000000020300005900000002030000790000000203000059000000080300005a000000010300007a000000010300005a000000070300007a000000070300005a0000000c0300007a0000000c0300004f0000001b0300006f0000001b030000550000001b030000750000001b030000410000000c030000610000000c030000490000000c030000690000000c0300004f0000000c0300006f0000000c030000550000000c030000750000000c03000055000000080300000403000075000000080300000403000055000000080300000103000075000000080300000103000055000000080300000c03000075000000080300000c030000550000000803000000030000750000000803000000030000410000000803000004030000610000000803000004030000410000000703000004030000610000000703000004030000c600000004030000e600000004030000470000000c030000670000000c0300004b0000000c0300006b0000000c0300004f000000280300006f000000280300004f00000028030000040300006f0000002803000004030000b70100000c030000920200000c0300006a0000000c030000470000000103000067000000010300004e000000000300006e00000000030000410000000a03000001030000610000000a03000001030000c600000001030000e600000001030000d800000001030000f800000001030000410000000f030000610000000f03000041000000110300006100000011030000450000000f030000650000000f03000045000000110300006500000011030000490000000f030000690000000f030000490000001103000069000000110300004f0000000f0300006f0000000f0300004f000000110300006f00000011030000520000000f030000720000000f03000052000000110300007200000011030000550000000f030000750000000f030000550000001103000075000000110300005300000026030000730000002603000054000000260300007400000026030000480000000c030000680000000c03000041000000070300006100000007030000450000002703000065000000270300004f00000008030000040300006f00000008030000040300004f00000003030000040300006f00000003030000040300004f000000070300006f000000070300004f00000007030000040300006f0000000703000004030000590000000403000079000000040300000003000001030000130300000803000001030000b90200003b000000a8000000010300009103000001030000b70000009503000001030000970300000103000099030000010300009f03000001030000a503000001030000a903000001030000b903000008030000010300009903000008030000a503000008030000b103000001030000b503000001030000b703000001030000b903000001030000c50300000803000001030000b903000008030000c503000008030000bf03000001030000c503000001030000c903000001030000d203000001030000d20300000803000015040000000300001504000008030000130400000103000006040000080300001a04000001030000180400000003000023040000060300001804000006030000380400000603000035040000000300003504000008030000330400000103000056040000080300003a0400000103000038040000000300004304000006030000740400000f030000750400000f03000016040000060300003604000006030000100400000603000030040000060300001004000008030000300400000803000015040000060300003504000006030000d804000008030000d904000008030000160400000803000036040000080300001704000008030000370400000803000018040000040300003804000004030000180400000803000038040000080300001e040000080300003e04000008030000e804000008030000e9040000080300002d040000080300004d040000080300002304000004030000430400000403000023040000080300004304000008030000230400000b030000430400000b030000270400000803000047040000080300002b040000080300004b0400000803000027060000530600002706000054060000480600005406000027060000550600004a06000054060000d506000054060000c106000054060000d206000054060000280900003c090000300900003c090000330900003c090000150900003c090000160900003c090000170900003c0900001c0900003c090000210900003c090000220900003c0900002b0900003c0900002f0900003c090000c7090000be090000c7090000d7090000a1090000bc090000a2090000bc090000af090000bc090000320a00003c0a0000380a00003c0a0000160a00003c0a0000170a00003c0a00001c0a00003c0a00002b0a00003c0a0000470b0000560b0000470b00003e0b0000470b0000570b0000210b00003c0b0000220b00003c0b0000920b0000d70b0000c60b0000be0b0000c70b0000be0b0000c60b0000d70b0000460c0000560c0000bf0c0000d50c0000c60c0000d50c0000c60c0000d60c0000c60c0000c20c0000c60c0000c20c0000d50c0000460d00003e0d0000470d00003e0d0000460d0000570d0000d90d0000ca0d0000d90d0000cf0d0000d90d0000cf0d0000ca0d0000d90d0000df0d0000420f0000b70f00004c0f0000b70f0000510f0000b70f0000560f0000b70f00005b0f0000b70f0000400f0000b50f0000710f0000720f0000710f0000740f0000b20f0000800f0000b30f0000800f0000710f0000800f0000920f0000b70f00009c0f0000b70f0000a10f0000b70f0000a60f0000b70f0000ab0f0000b70f0000900f0000b50f0000251000002e100000051b0000351b0000071b0000351b0000091b0000351b00000b1b0000351b00000d1b0000351b0000111b0000351b00003a1b0000351b00003c1b0000351b00003e1b0000351b00003f1b0000351b0000421b0000351b00004100000025030000610000002503000042000000070300006200000007030000420000002303000062000000230300004200000031030000620000003103000043000000270300000103000063000000270300000103000044000000070300006400000007030000440000002303000064000000230300004400000031030000640000003103000044000000270300006400000027030000440000002d030000640000002d030000450000000403000000030000650000000403000000030000450000000403000001030000650000000403000001030000450000002d030000650000002d03000045000000300300006500000030030000450000002703000006030000650000002703000006030000460000000703000066000000070300004700000004030000670000000403000048000000070300006800000007030000480000002303000068000000230300004800000008030000680000000803000048000000270300006800000027030000480000002e030000680000002e030000490000003003000069000000300300004900000008030000010300006900000008030000010300004b000000010300006b000000010300004b000000230300006b000000230300004b000000310300006b000000310300004c000000230300006c000000230300004c00000023030000040300006c00000023030000040300004c000000310300006c000000310300004c0000002d0300006c0000002d0300004d000000010300006d000000010300004d000000070300006d000000070300004d000000230300006d000000230300004e000000070300006e000000070300004e000000230300006e000000230300004e000000310300006e000000310300004e0000002d0300006e0000002d0300004f00000003030000010300006f00000003030000010300004f00000003030000080300006f00000003030000080300004f00000004030000000300006f00000004030000000300004f00000004030000010300006f000000040300000103000050000000010300007000000001030000500000000703000070000000070300005200000007030000720000000703000052000000230300007200000023030000520000002303000004030000720000002303000004030000520000003103000072000000310300005300000007030000730000000703000053000000230300007300000023030000530000000103000007030000730000000103000007030000530000000c03000007030000730000000c03000007030000530000002303000007030000730000002303000007030000540000000703000074000000070300005400000023030000740000002303000054000000310300007400000031030000540000002d030000740000002d0300005500000024030000750000002403000055000000300300007500000030030000550000002d030000750000002d030000550000000303000001030000750000000303000001030000550000000403000008030000750000000403000008030000560000000303000076000000030300005600000023030000760000002303000057000000000300007700000000030000570000000103000077000000010300005700000008030000770000000803000057000000070300007700000007030000570000002303000077000000230300005800000007030000780000000703000058000000080300007800000008030000590000000703000079000000070300005a000000020300007a000000020300005a000000230300007a000000230300005a000000310300007a0000003103000068000000310300007400000008030000770000000a030000790000000a0300007f01000007030000410000002303000061000000230300004100000009030000610000000903000041000000020300000103000061000000020300000103000041000000020300000003000061000000020300000003000041000000020300000903000061000000020300000903000041000000020300000303000061000000020300000303000041000000230300000203000061000000230300000203000041000000060300000103000061000000060300000103000041000000060300000003000061000000060300000003000041000000060300000903000061000000060300000903000041000000060300000303000061000000060300000303000041000000230300000603000061000000230300000603000045000000230300006500000023030000450000000903000065000000090300004500000003030000650000000303000045000000020300000103000065000000020300000103000045000000020300000003000065000000020300000003000045000000020300000903000065000000020300000903000045000000020300000303000065000000020300000303000045000000230300000203000065000000230300000203000049000000090300006900000009030000490000002303000069000000230300004f000000230300006f000000230300004f000000090300006f000000090300004f00000002030000010300006f00000002030000010300004f00000002030000000300006f00000002030000000300004f00000002030000090300006f00000002030000090300004f00000002030000030300006f00000002030000030300004f00000023030000020300006f00000023030000020300004f0000001b030000010300006f0000001b030000010300004f0000001b030000000300006f0000001b030000000300004f0000001b030000090300006f0000001b030000090300004f0000001b030000030300006f0000001b030000030300004f0000001b030000230300006f0000001b030000230300005500000023030000750000002303000055000000090300007500000009030000550000001b03000001030000750000001b03000001030000550000001b03000000030000750000001b03000000030000550000001b03000009030000750000001b03000009030000550000001b03000003030000750000001b03000003030000550000001b03000023030000750000001b0300002303000059000000000300007900000000030000590000002303000079000000230300005900000009030000790000000903000059000000030300007900000003030000b103000013030000b103000014030000b10300001303000000030000b10300001403000000030000b10300001303000001030000b10300001403000001030000b10300001303000042030000b1030000140300004203000091030000130300009103000014030000910300001303000000030000910300001403000000030000910300001303000001030000910300001403000001030000910300001303000042030000910300001403000042030000b503000013030000b503000014030000b50300001303000000030000b50300001403000000030000b50300001303000001030000b5030000140300000103000095030000130300009503000014030000950300001303000000030000950300001403000000030000950300001303000001030000950300001403000001030000b703000013030000b703000014030000b70300001303000000030000b70300001403000000030000b70300001303000001030000b70300001403000001030000b70300001303000042030000b7030000140300004203000097030000130300009703000014030000970300001303000000030000970300001403000000030000970300001303000001030000970300001403000001030000970300001303000042030000970300001403000042030000b903000013030000b903000014030000b90300001303000000030000b90300001403000000030000b90300001303000001030000b90300001403000001030000b90300001303000042030000b9030000140300004203000099030000130300009903000014030000990300001303000000030000990300001403000000030000990300001303000001030000990300001403000001030000990300001303000042030000990300001403000042030000bf03000013030000bf03000014030000bf0300001303000000030000bf0300001403000000030000bf0300001303000001030000bf03000014030000010300009f030000130300009f030000140300009f03000013030000000300009f03000014030000000300009f03000013030000010300009f0300001403000001030000c503000013030000c503000014030000c50300001303000000030000c50300001403000000030000c50300001303000001030000c50300001403000001030000c50300001303000042030000c50300001403000042030000a503000014030000a50300001403000000030000a50300001403000001030000a50300001403000042030000c903000013030000c903000014030000c90300001303000000030000c90300001403000000030000c90300001303000001030000c90300001403000001030000c90300001303000042030000c90300001403000042030000a903000013030000a903000014030000a90300001303000000030000a90300001403000000030000a90300001303000001030000a90300001403000001030000a90300001303000042030000a90300001403000042030000b103000000030000b103000001030000b503000000030000b503000001030000b703000000030000b703000001030000b903000000030000b903000001030000bf03000000030000bf03000001030000c503000000030000c503000001030000c903000000030000c903000001030000b10300001303000045030000b10300001403000045030000b1030000130300000003000045030000b1030000140300000003000045030000b1030000130300000103000045030000b1030000140300000103000045030000b1030000130300004203000045030000b1030000140300004203000045030000910300001303000045030000910300001403000045030000910300001303000000030000450300009103000014030000000300004503000091030000130300000103000045030000910300001403000001030000450300009103000013030000420300004503000091030000140300004203000045030000b70300001303000045030000b70300001403000045030000b7030000130300000003000045030000b7030000140300000003000045030000b7030000130300000103000045030000b7030000140300000103000045030000b7030000130300004203000045030000b7030000140300004203000045030000970300001303000045030000970300001403000045030000970300001303000000030000450300009703000014030000000300004503000097030000130300000103000045030000970300001403000001030000450300009703000013030000420300004503000097030000140300004203000045030000c90300001303000045030000c90300001403000045030000c9030000130300000003000045030000c9030000140300000003000045030000c9030000130300000103000045030000c9030000140300000103000045030000c9030000130300004203000045030000c9030000140300004203000045030000a90300001303000045030000a90300001403000045030000a9030000130300000003000045030000a9030000140300000003000045030000a9030000130300000103000045030000a9030000140300000103000045030000a9030000130300004203000045030000a9030000140300004203000045030000b103000006030000b103000004030000b10300000003000045030000b103000045030000b10300000103000045030000b103000042030000b1030000420300004503000091030000060300009103000004030000910300000003000091030000010300009103000045030000b9030000a800000042030000b70300000003000045030000b703000045030000b70300000103000045030000b703000042030000b7030000420300004503000095030000000300009503000001030000970300000003000097030000010300009703000045030000bf1f000000030000bf1f000001030000bf1f000042030000b903000006030000b903000004030000b90300000803000000030000b90300000803000001030000b903000042030000b903000008030000420300009903000006030000990300000403000099030000000300009903000001030000fe1f000000030000fe1f000001030000fe1f000042030000c503000006030000c503000004030000c50300000803000000030000c50300000803000001030000c103000013030000c103000014030000c503000042030000c50300000803000042030000a503000006030000a503000004030000a503000000030000a503000001030000a103000014030000a800000000030000a80000000103000060000000c90300000003000045030000c903000045030000c90300000103000045030000c903000042030000c903000042030000450300009f030000000300009f03000001030000a903000000030000a903000001030000a903000045030000b40000000220000003200000a90300004b000000410000000a030000902100003803000092210000380300009421000038030000d021000038030000d421000038030000d221000038030000032200003803000008220000380300000b22000038030000232200003803000025220000380300003c220000380300004322000038030000452200003803000048220000380300003d0000003803000061220000380300004d220000380300003c000000380300003e000000380300006422000038030000652200003803000072220000380300007322000038030000762200003803000077220000380300007a220000380300007b220000380300008222000038030000832200003803000086220000380300008722000038030000a222000038030000a822000038030000a922000038030000ab220000380300007c220000380300007d2200003803000091220000380300009222000038030000b222000038030000b322000038030000b422000038030000b5220000380300000830000009300000dd2a0000380300004b300000993000004d300000993000004f30000099300000513000009930000053300000993000005530000099300000573000009930000059300000993000005b300000993000005d300000993000005f3000009930000061300000993000006430000099300000663000009930000068300000993000006f300000993000006f3000009a3000007230000099300000723000009a3000007530000099300000753000009a3000007830000099300000783000009a3000007b300000993000007b3000009a30000046300000993000009d30000099300000ab30000099300000ad30000099300000af30000099300000b130000099300000b330000099300000b530000099300000b730000099300000b930000099300000bb30000099300000bd30000099300000bf30000099300000c130000099300000c430000099300000c630000099300000c830000099300000cf30000099300000cf3000009a300000d230000099300000d23000009a300000d530000099300000d53000009a300000d830000099300000d83000009a300000db30000099300000db3000009a300000a630000099300000ef30000099300000f030000099300000f130000099300000f230000099300000fd30000099300000488c0000f4660000ca8e0000c88c0000d16e0000324e0000e55300009c9f00009c9f000051590000d19100008755000048590000f661000069760000857f00003f860000ba870000f88800008f900000026a00001b6d0000d9700000de7300003d8400006a910000f1990000824e000075530000046b00001b7200002d8600001e9e0000505d0000eb6f0000cd85000064890000c9620000d88100001f880000ca5e0000176700006a6d0000fc720000ce900000864f0000b7510000de520000c4640000d36a000010720000e776000001800000068600005c860000ef8d0000329700006f9b0000fa9d00008c7800007f790000a07d0000c9830000049300007f9e0000d68a0000df580000045f0000607c00007e80000062720000ca780000c28c0000f7960000d8580000625c0000136a0000da6d00000f6f00002f7d0000377e00004b960000d25200008b800000dc510000cc5100001c7a0000be7d0000f183000075960000808b0000cf620000026a0000fe8a0000394e0000e75b000012600000877300007075000017530000fb780000bf4f0000a95f00000d4e0000cc6c000078650000227d0000c35300005e5800000177000049840000aa8a0000ba6b0000b08f0000886c0000fe620000e5820000a063000065750000ae4e000069510000c951000081680000e77c00006f820000d28a0000cf910000f55200004254000073590000ec5e0000c5650000fe6f00002a790000ad9500006a9a0000979e0000ce9e00009b520000c6660000776b0000628f0000745e000090610000006200009a640000236f00004971000089740000ca790000f47d00006f800000268f0000ee840000239000004a93000017520000a3520000bd540000c8700000c2880000aa8a0000c95e0000f55f00007b630000ae6b00003e7c000075730000e44e0000f9560000e75b0000ba5d00001c600000b2730000697400009a7f00004680000034920000f696000048970000189800008b4f0000ae790000b4910000b8960000e1600000864e0000da500000ee5b00003f5c000099650000026a0000ce71000042760000fc8400007c9000008d9f0000886600002e960000895200007b670000f3670000416d00009c6e000009740000597500006b780000107d00005e9800006d5100002e620000789600002b500000195d0000ea6d00002a8f00008b5f000044610000176800008773000086960000295200000f540000655c0000136600004e670000a8680000e56c000006740000e2750000797f0000cf880000e1880000cc910000e29600003f530000ba6e00001d540000d071000098740000fa850000a3960000579c00009f9e000097670000cb6d0000e8810000cb7a0000207b0000927c0000c072000099700000588b0000c04e0000368300003a52000007520000a65e0000d3620000d67c0000855b00001e6d0000b46600003b8f00004c8800004d9600008b890000d35e000040510000c05500005a58000074660000de5100002a730000ca7600003c7900005e790000657900008f79000056970000be7c0000bd7f000012860000f88a000038900000fd900000ef980000fc98000028990000b49d0000de900000b7960000ae4f0000e75000004d510000c9520000e4520000515300009d550000065600006856000040580000a8580000645c00006e5c000094600000686100008e610000f26100004f650000e26500009166000085680000776d00001a6e0000226f00006e7100002b72000022740000917800003e790000497900004879000050790000567900005d7900008d7900008e790000407a0000817a0000c07b0000f47d0000097e0000417e0000727f000005800000ed8100007982000079820000578400001089000096890000018b0000398b0000d38c0000088d0000b68f000038900000e3960000ff9700003b98000075600000ee42020018820000264e0000b551000068510000804f00004551000080510000c7520000fa5200009d5500005555000099550000e25500005a580000b35800004459000054590000625a0000285b0000d25e0000d95e0000695f0000ad5f0000d86000004e610000086100008e61000060610000f261000034620000c46300001c640000526400005665000074660000176700001b67000056670000796b0000ba6b0000416d0000db6e0000cb6e0000226f00001e7000006e710000a777000035720000af7200002a73000071740000067500003b7500001d7600001f760000ca760000db760000f47600004a77000040770000cc780000b17a0000c07b00007b7c00005b7d0000f47d00003e7f00000580000052830000ef83000079870000418900008689000096890000bf8a0000f88a0000cb8a0000018b0000fe8a0000ed8a0000398b00008a8b0000088d0000388f00007290000099910000769200007c960000e396000056970000db970000ff9700000b9800003b980000129b00009c9f00004a28020044280200d53302009d3b0000184000003940000049520200d05c0200d37e0200439f00008e9f0000d9050000b4050000f2050000b7050000e9050000c1050000e9050000c2050000e9050000bc050000c1050000e9050000bc050000c2050000d0050000b7050000d0050000b8050000d0050000bc050000d1050000bc050000d2050000bc050000d3050000bc050000d4050000bc050000d5050000bc050000d6050000bc050000d8050000bc050000d9050000bc050000da050000bc050000db050000bc050000dc050000bc050000de050000bc050000e0050000bc050000e1050000bc050000e3050000bc050000e4050000bc050000e6050000bc050000e7050000bc050000e8050000bc050000e9050000bc050000ea050000bc050000d5050000b9050000d1050000bf050000db050000bf050000e4050000bf05000099100100ba1001009b100100ba100100a5100100ba10010031110100271101003211010027110100471301003e1301004713010057130100b9140100ba140100b9140100b0140100b9140100bd140100b8150100af150100b9150100af150100351901003019010057d1010065d1010058d1010065d1010058d1010065d101006ed1010058d1010065d101006fd1010058d1010065d1010070d1010058d1010065d1010071d1010058d1010065d1010072d10100b9d1010065d10100bad1010065d10100b9d1010065d101006ed10100bad1010065d101006ed10100b9d1010065d101006fd10100bad1010065d101006fd101003d4e0000384e0000414e000022010200604f0000ae4f0000bb4f0000025000007a50000099500000e7500000cf5000009e3400003a0602004d5100005451000064510000775100001c050200b9340000675100008d5100004b05020097510000a4510000cc4e0000ac510000b5510000df910200f551000003520000df3400003b52000046520000725200007752000015350000c7520000c9520000e4520000fa52000005530000065300001753000049530000515300005a530000735300007d5300007f5300007f5300007f5300002c0a020070700000ca530000df530000630b0200eb530000f1530000065400009e540000385400004854000068540000a2540000f6540000105500005355000063550000845500008455000099550000ab550000b3550000c2550000165700000656000017570000515600007456000007520000ee580000ce570000f45700000d5800008b5700003258000031580000ac580000e4140200f2580000f7580000065900001a5900002259000062590000a8160200ea160200ec5900001b5a0000275a0000d8590000665a0000ee360000fc360000085b00003e5b00003e5b0000c8190200c35b0000d85b0000e75b0000f35b0000181b0200ff5b0000065c0000535f0000225c000081370000605c00006e5c0000c05c00008d5c0000e41d0200435d0000e61d02006e5d00006b5d00007c5d0000e15d0000e25d00002f380000fd5d0000285e00003d5e0000695e000062380000832102007c380000b05e0000b35e0000b65e0000ca5e000092a30200fe5e0000312302003123020001820000225f0000225f0000c7380000b8320200da610200625f00006b5f0000e33800009a5f0000cd5f0000d75f0000f95f0000816000003a3900001c39000094600000d4260200c7600000486100004c6100004e6100004c6100007a6100008e610000b2610000a4610000af610000de610000f2610000f6610000106200001b6200005d620000b1620000d4620000506300000c2b02003d630000fc6200006863000083630000e4630000f12b020022640000c5630000a96300002e3a0000696400007e6400009d640000776400006c3a00004f6500006c6500000a300200e3650000f866000049660000193b000091660000083b0000e43a00009251000095510000006700009c660000ad800000d9430000176700001b670000216700005e67000053670000c3330200493b0000fa6700008567000052680000856800006d3402008e6800001f680000146900009d3b000042690000a3690000ea690000a86a0000a3360200db6a0000183c0000216b0000a7380200546b00004e3c0000726b00009f6b0000ba6b0000bb6b00008d3a02000b1d0200fa3a02004e6c0000bc3c0200bf6c0000cd6c0000676c0000166d00003e6d0000776d0000416d0000696d0000786d0000856d00001e3d0200346d00002f6e00006e6e0000333d0000cb6e0000c76e0000d13e0200f96d00006e6f00005e3f02008e3f0200c66f0000397000001e7000001b700000963d00004a7000007d70000077700000ad7000002505020045710000634202009c710000ab43020028720000357200005072000008460200807200009572000035470200144802007a7300008b730000ac3e0000a5730000b83e0000b83e0000477400005c7400007174000085740000ca7400001b3f000024750000364c02003e750000924c0200707500009f21020010760000a14f0200b84f020044500200fc3f000008400000f4760000f3500200f250020019510200335102001e7700001f7700001f7700004a770000394000008b77000046400000964000001d5402004e7800008c780000cc780000e340000026560200567900009a560200c55602008f790000eb7900002f410000407a00004a7a00004f7a00007c590200a75a0200a75a0200ee7a000002420000ab5b0200c67b0000c97b000027420000805c0200d27c0000a0420000e87c0000e37c0000007d0000865f0200637d000001430000c77d0000027e0000457e000034430000286202004762020059430000d96202007a7f00003e630200957f0000fa7f000005800000da6402002365020060800000a8650200708000005f330200d5430000b2800000038100000b4400003e810000b55a0000a7670200b5670200933302009c33020001820000048200009e8f00006b440000918200008b8200009d820000b3520000b1820000b3820000bd820000e68200003c6b0200e58200001d83000063830000ad83000023830000bd830000e78300005784000053830000ca830000cc830000dc830000366c02006b6d0200d56c02002b450000f1840000f384000016850000ca730200648500002c6f02005d45000061450000b16f0200d27002006b450000508600005c8600006786000069860000a9860000888600000e870000e286000079870000288700006b87000086870000d7450000e187000001880000f9450000608800006388000067760200d7880000de88000035460000fa880000bb340000ae78020066790200be460000c7460000a08a0000ed8a00008a8b0000558c0000a87c0200ab8c0000c18c00001b8d0000778d00002f7f020004080200cb8d0000bc8d0000f08d0000de080200d48e0000388f0000d2850200ed85020094900000f1900000119100002e8702001b91000038920000d7920000d89200007c920000f993000015940000fa8b02008b95000095490000b7950000778d0200e6490000c3960000b25d000023970000459102001a9202006e4a0000764a0000e09700000a940200b24a0000969402000b9800000b98000029980000b6950200e2980000334b000029990000a7990000c2990000fe990000ce4b0000309b0200129b0000409c0000fd9c0000ce4c0000ed4c0000679d0000cea00200f84c000005a102000ea2020091a20200bb9e0000564d0000f99e0000fe9e0000059f00000f9f0000169f00003b9f000000a602002f686f6d652f7562756e74752f2e636172676f2f72656769737472792f7372632f696e6465782e6372617465732e696f2d313934396366386336623562353537662f756e69636f64652d6e6f726d616c697a6174696f6e2d302e312e32322f7372632f6c6f6f6b7570732e7273000000dcee13006d0000003600000046000000dcee13006d000000360000003400000000000000030000000000000001006c010e00ef040200000000000000020000000100030097006501000000008501000001000000f4030000000000000000040091000000dd0001006c0200000b000000e000bc000300130201000000c80003001c00fc000000000011003201000000000b0190007404d6000000000003000d000500000006001900540032014c0017000600480003000000000006000c0003000000b10001008c0000001b00c00007000200000012000000000006000100be01c80000007d0000000a0000000000b4000200080005004401db0001000600000000000d00140000004f000200000003003200000005000e007c002c00060000000000070000005f0005000f00670000000100340000000000000090001200000000001e004c008900a800000004001f00000000000100990018000d0003000700050019000200000004000100030090000b00290055000000510000000200d0007a0066000000950007000000000000000000010000008d000f00210056000a001b0000000000080007007c0005000000620002001300060000004f000000000032002f0004000d00a0000400080024001f0000000000820045000000610000001d000100000001000000070017000b000000000000000b0008000800000000003d0000009600000000000000080000000000000004000000030007002c000000000014002400020002000000020000001200010000000200000025000a00010066000b00080000000c0010000200030008000400060001000400e30023002000070000000f001e0023003d000400000001000000030025000000010031009d000000000004000100000000000800000000002600000000000200000002000000030000001b0000000200000001000a000300010002000c000c00010001000000110004003d0002001b00020000000c0006000600000000000300000009002c000000090037002d00000012002300000000001c000000260010001500020000000b000000040014000500130007001c000300360000000800010019000200000001000000000004000100080002000a00060013000000000000002f0001000000160005000c000c000100100003000e00000001000d0028000000000001000000000004001000210000000100030000002300000001000000000000000d0001000000000006006b000000140000000000060012000000020000002a0001000b000100060009000800010000002b0000000800070000000f00160000000000440000000100000000000c001900250002001f000f000c0001001f000a00000038000e000f000c002500000006000e0000000800000002000000000001000900010016000000000000000300150062000100000000000200000000003d0000000300010001000100000001000000290004002c0001000000000000000000220000001400280000000700040003000600000001000d002a00000000004400000008000000020001000b000000000000000000040003001c000500000006000200000011000600070000000200280007001d000b0005002e001100000001000c00000007002f000000000005000a000000080006000000000007000100080020000c0000001a00050000002600260002000b00080000000400050002000000050012000000050000000100060009000100030015000300000000000200000003000000160000001000030000001b00020000000900000009000000090000000000010001000c002600010000000000040000000c001e00000001003600060003000000000001000000060000000000000008000c00000000000100000000000400020007000100020007000d0002000000000000000200050000000800050000000000030006000000000008000100050001000300030010000b00070000000f00110000001800000000000f000200070001000000000000000c001800000017000000010000002600030000001b000000080003000300000000000200060000000b001b000900000003000000000001000100010005000000060000000400030000000000000000000000090009000000020007000e00230003000100000000000f000000080022000e001000070003000c00190001000a000200000003001800010016000a00000002000800000023000000000006000200000004000d001b000000040038000000000011000e00000000000000090000002100130002001800040001001000000002000000060014000a000000000004000e000000000005000400000020001d0001000000090000000100010004000200000001000000000024000100000009000800000001000a00010000000400000013000500000001000000010000000000020004000000000005000100090002000500000000000000000000000a000000000010000100040000000000010004000000010002000400030000000400140007000a000200060000000200010008000700000000000000140001001000000000000500010006000500030000000900020004000200000000000c0019000000000000000100000000000f0008000d0000000300010000000900140017000000000000000000030001000000050015000100190001000100010001000300000006000300000011000500000004000c00030000000700000000000300040003000b000000000006000800030001000000000001000d00030000000700000001000000000000000900010000000200010009000a000800010007000300000003000000000004000000040001000b000000130006000700000000000800070007000000030000000200030000000100010001001b0003000200090002000100020000000400010000000600000000000100050000000f0001000600080004000000000003000b000200050001000200130013000000090002000000000000000000000000000000000004000200210000000600030001000100050003000000100022000b0000000800000000000300040001001a00020000000000000002000100000000000200000000001200010000000200000000000100000002002100000002000d0001000300050001000c0010000000240000000000060006001b0001000d0000000100000001000000000007000200000005002400060001000e0000000b000e000700000000000000030000000000020018000300030001000000000004000400000001000000140006000b0000000200010002000600060000000600000000000100020002000100020000000100080001000c0000000700020003000100000006000100070011000300000001000a00020002000800060008000000000004000800010007000200020006000000060000000000070001000e0002000200320007000b00040004000000060000000800000000000000090002001b0000000000000001000c000200010002000f0000000000000003000c0005000000000000000b0000000200010003000000010006000a000100000008000000040001000000010000000e00020001000100010007000100030001000200010003000200000011000300020003000000000003000400000000000100200000000000010000000000070002000000120000000a0001000200000000000000000002000000000004000f00000007000400020012000000010004000200030000000100170001000100050000000100000000000b00000001000000000000000400000000000900000004000000000004000a00000000000600070002000300000000000000000006000b0000000000000000000000010000000c00080001000d000b00020000000000000001000500010000000000020003000300000000000800000001000900110001000c0000000000000004000000000000000100010017000100000005000b0001000400010006001d000000010004000200090002000f001400020001000700010001000700020000000000000000000400130002000100010003000000020002000000030001000000050001000100000001000100020000000000030000000a000600010006000700010000000000020007000400000000000c00020000000a000100000000000a00000006000300010000000d0003000500000002000a0000000b000100060022000000050001000000020000000000120004000200000000000c00000001000000000000000000000000000000000001000400020001000800040006000100000003000a0000000500010000000000030000000600000000000300000004000000000000000e00010001000000060000000800000000000a0001000000040000000400010000000000000000000000010000001700040000000b00030005000400000003000f000600010001000700040003000100030004000100010000000000000002000100000005000000020000000000030001000000050000000d0006000100000000000700000000000a00030002000a00010007000100000001000000050003000000050002000100000002000000010001000400090005000100010006000000090001000a0002000200000000000200020007000900000010001c00040000000000030003000d0001000300000000000c000700010003000700080003000600000003000100010000000100010004000a0005000000010013000200000000000100020001000e0001000c000100010009000000000001000c0000000100000002000400030001000c000c00030000000c000b000000010001000a0001000b00000000001c00000000000000010002000800030000000500000003000300000004000000020006000f000000010004000000000011000b0004000500040000000d0004000400030001000000000002000000000000000a000100130006000000070007000100010004000400000000000300000007000000020001000000020000000200020000000000000003000400050010000000070000000a00110000000000010001000000000000000000000001000b0001000000000000000200020000000a000000030000000700060001000000040002000200000001000200030004000000040000000100000002001000050000000000010000000a0004000000040000000000000006000b000b00050000000000000000000000090000000200040000000500020000000300000000000000020000000100000004000600010004000100000001000700000006000000000002000200000006000500080000000100020001000000040007000000010007000000020002000b0001000200060001000000000000000000020004000000000003000100070000000100010000000100000000000b00000000000000060000000100000004000c000200000001000100020004000e000000000000000000000002000100000004000300180000000100000002000500010002000000010003000400000000000500020000000000010000000000000000000000020003000000010000000000010003000000000000000100010000000000140004000b00120000000000020000000100000000000000010003000b000300000001000200000010000d0001000100070006000100010002000000000001000300020001000300010000000000000008000400020006000900050000001600010004000000030003000400010000000000020000000100000002000d00020000000b0006000a00030000000500000001000000000000000500010000000a0000000200000002000200050001000200000002000200050000000100000000000300000003000200000000000000010001000100000019000000000003000000010000000100050004000100040000000100030004000600010001000400030004000000040005000900000001000900020001000000000000000c00010000000000030002000300020001000000040000000400070003000100000001000100000000000100050006000900000002001b00020000000900000000000600000000000000030000000100060002000100060001000b00030006000000000000000000000000000200000000000200020000000000000000000000030000000300030005000b000000000001000000000002000b0003000200130001000100080003000200050001000000010001000500000001000300040005000000020000000e000100000000000500030005000000010002000000000008000000010002000000090000000000000006000000030003000900070000000800000001000300000003000500040001000200020000000400030000000700050003000100000004000100000003000000080002000400040000000900010004000000060004000000000000000a0001000000010006000000010006000300020002000000010001000300050000000000020004000100000000000100060000000500040004000100010004000100020000000200020005000d000100000002000000000002000000010001000000000001000400000000000700000005000000000000000100040000000900020004000000000001000000030000000a00000003000100050001000000000005000a0001000200000002000400090001000400050000000000010003000900020004000800020000000000030008000000000002000100030002000100000000000000010004000100010000000100000001000000000001000200090001000100050002000000010000000000020000000300000001000200000004000200040002000200000001000a00000001000000000000000000030000000300020005000100020001000200000004000200010000000100000000000100010003000000000000000000000002000000020003000200000000000000050001000000010001000000070001000100030000000300010001000000090002000000010001000700060002000000060000000400000002000700040001000100000000000200010000000400030000000a0000000000020002000100010003000200010001000000030000000000000001000600010003000b000b00000004000100000000000000000005000200000000000100040000000000010000000000050003000200030008000100060001000200000001000400050002000000060001000100000002000100020002000000000004000000010002000000050002000200060001000500030002000500020001000100000004000200000002000000000005000000000000000100000002000000000000001500020000000000010002000700030003000300010001000200060001000700000000000000000004000000030002000000000001000100030001000100000001000100050000000100050004000800020001000000010000000100010000000100000000000000000001000300010001000000000004000300010004000000040000000200020003000000010000000000000001000500000002000400020001000600000001000f000000020005000000020000000300040002000400030005000100010001000700000007000200000000000600000000000200000000000000000003000000030000000100020007000100070003000100000002000200000005000000030000000000020001000100010002000200020000000100040002000100020003000000020002000400020001000200020000000000010000000200000007000100000001000400030003000100050001000000000003000000010006000100000002000d00010000000000040000000f00020000000a0002000100000001000000040002000000030000000200000007000200010000000000030000000400000000000b00000000000a0005000900010000000300010000000c00000000000000000000000100000002000100020000000100030002000000070000000000030000000000060002000000000006000000000004000200010001000000070002000400010005000000000001000200000002000300080001000600020001000100000003000500000002000100010003000000030007000100000001000000000000000300000001000100010001000600050000000500040000000000030001000200000000000200000002000200000002000000040001000000020000000400010001000400020001000000010002000100030000000000010000000b00020000000000030003000500010001000000010002000100000000000000080001000400030000000700010003000100000002000300030001000000010001000100000002000000010001000100040002000500000001000100000001000200000000000000000003000100020001000300010000000500020004000000030000000000010003000700000006000400000001000200020003000500000008000300030002000100070002000100010001000100000008000000010003000000020001000000010002000000000006000700010000000300000000000000010002000000000001000100010000000100040002000000000001000000000000000500020003000100020000000600010000000100000000000000000002000000020003000000020007000100000000000200000000000000000000000100010000000000020000000100000004000200000011000500040000000400000000000200000007000000010000000000010005000100020002000e000000000002000100000001000000030001000200010000000a00010004000000050001000100010002000100010001000000000001000800010001000000010000000000000000000100030001000f000100020001000100000000000200010000000000030000000100000000000100000005000700020002000600000001000000020001000400000002000100030002000200010000000300020004000300010000000100000001000100030000000100000002000600050001000900000003000100000006000000000003000000010000000200020000000300010000000100000000000800010002000100000002000400010002000100050000000100020002000100000001000100020001000000020003000100010003000000010001000000050000000200060001000000040000000100000000000100020000000300000001000100000000000200000002000000010000000000000002000000000001000300020000000000000001000000040000000000010001000000020000000200010001000100000000000000000000000b00040000000100000001000500000001000100000005000100000002000400010001000200010001000100000000000000000000000600000002000300000001000200030000000000030002000400000003000000000001000000030000000d0002000000030001000000000001000100030000000100000004000d000400010006000200030000000300010000000200010002000000010003000100020000000100020000000300010001000000010002000100030002000000000001000100000001000100030004000100020003000000020003000200010001000700020000000100000000000200000002000500010001000000000001000100020000000100030000000100020000000000050000000200000001000000010003000100000000000300050005000000010003000100020000000000030002000000000000000000040000000100060000000100010002000100000001000400010002000100080001000100000000000400000000000400000000000300000002000100070001000000060000000100000000000100000006000300020000000000000000000500010000000300000001000000010001000100010000000000000000000000000004000000010000000300020000000000000003000800070000000000000002000100000000000000000002000000010002000000010000000000010001000200030001000100000002000700040000000000060000000000000000000100000002000100000002000100030001000200000001000400020002000100000002000000000000000100000006000800050001000000080000000600010000000c00030005000000020001000500010001000400030001000100050006000100020007000300020000000000010000000100020001000100010000000100020002000000020003000100010000000100000001000500050002000000000001000200040001000000000001000300080001000600000000000300010001000100010002000100000005000000010000000500010004000100080000000100040000000000020000000300010000000100020002000000020000000000010000000500030001000200030001000c000300000001000000000000000000000003000000010005000300020001000000030002000000e5d501009012010030d40100f3100100a0fc0000c70b020069d701001214010055fe0000e00e010072fd00006e0d0300b2000000060001003b33000075070500aefb0000190a010027d70100d01301006d2400003d0202002c330000360704009ad701004314010081fd00009b0d030007ff0000af0f01006bd7010014140100b12f00000a040100efd40100a6110100933100009b040100ecfb00003d0a030010d40100d3100100772100000f020400fafc0000800c02008eee01004b150100d8fe0000760f0100b8320000200602007ffb0000e8090100f4d501009f120100e03300002f09020055e00100cc140100acff0000541001009a1e0000ea000200f7fd0000840e040093d4010055110100852000005401010048210000b1010100e9d40100a01101003cd70100e5130100a81d0000d2000100bafe0000580f01008ed40100501101006cee01002e15010028d60100d3120100d1d601007a130100302100009d0101006cff000014100100b4d701005d140100a41d0000ce00010061e00100d814010024320000270503002932000036050300ffd70100a614010057d6010002130100e9fe0000870f0100f63200007b06010013fc00009c0a02006ed40100301101007224000047020200bad601006313010005fd0000960c0200d73300001809020017fc0000a40a020070210000010201001cfd0000c40c0200823300004b08020064d701000d14010095ee010052150100242f00007d030100e53200006a06010009d40100cc100100431d00009d00010097d5010042120100812f0000da0301004afc00000a0b020013d70100bc130100a1d701004a14010074ff00001c1001007dff000025100100832400007e020400233300001907030059e00100d014010058d501000312010037fc0000e40a0200642f0000bd03010058fe0000e30e0100ee320000730601006afc0000560b020066d40100281101007e2000004d01010050e00100c7140100edd501009812010097fc0000b00b030091d701003a140100bdd70100661401004d31000058040100aa330000ab0803000cfc00008e0a0200472f0000a0030100303200004b050300c6fd0000640e030014d60100bf12010091320000f205010031fe0000bb0e010006d70100af13010078fe0000020f02005a320000a0050200842f0000dd030100a1fc0000c90b0200bb240000180301009420000062010100f8d40100af110100fefc0000880c020087d4010049110100fdd60100a613010059d501000412010074200000430101001221000087010100d5fc0000310c0200062f00005f030100ba070100c2100100f4a700008b090100bf2400001c0301009cd401005e1101003cd60100e7120100a23200000306010020f20100241601000fd60100ba120100d53200005a060100ecfc0000610c020049fc0000080b020070fe0000f60e0200452f00009e030100b8330000d2080200e202000055000100ba2f000013040100c63200003c06020087ee010045150100b3ff00005b10010071fb0000da0901000bff0000b30f010026fd0000d80c020063fc0000410b0300313100003c0401006fff000017100100b924000016030100b132000012060200a0fd0000f20d03002ed70100d71301004dd60100f81201008ffb0000f80901003ce00100b314010039fd0000fe0c02008bfd0000b90d03009a070100a310010095fb0000fe090100af070100b81001006cf101000a16020093d701003c14010037d40100fa10010082320000e3050100be000000150003007d2c000055030100c8fe0000660f010099fc0000b60b03007d3300003f08020090320000f10501000d2f000066030100bed6010067130100c6d501007112010038ff0000e00f0100a9fd00000d0e030090d601003b1301002dd40100f010010024d50100d6110100f50300006c0001008fd601003a130100afd501005a1201005efd0000320d0300f7fe0000990f0300e83300003f090200ccd40100831101002fd40100f210010010fe0000ad0e01007ed5010029120100b7070100bf10010099d401005b1101000fee0100f314010096fc0000ae0b0200d2d4010089110100e9ff000085100100a5ff00004d10010099320000fa050100c4d501006f1201005cfe0000e70e01007f01000022000100ead7010091140100b0d401006a110100bed5010069120100d93300001e090300e73200006c060100e2d601008b130100adff000055100100aefc0000e30b0200dafc00003b0c02001bfc0000ac0a0200622f0000bb0301000a320000c6040300f90300006d000100c1fd0000550e0300722f0000cb0301006d310000780401002b3200003c05030057210000c901030059d60100041301003c1d0000960001003e330000830704007e2100001d0201001bf10100a915030074ee01003515010058d401001a110100fafb0000670a0300b3fe0000510f01005ffb0000c8090100c92f0000220401005a31000065040100a9d401006411010031fd0000ee0c02003931000044040100b01d0000da000100f3d40100aa110100cffc0000250c020080fb0000e90901006efc00005e0b020068d7010011140100b6020000440001003a33000071070400c9d70100721401003cf10100eb150100a2d601004d130100062000001901010045d401000811010063d701000c140100fad50100a5120100413200007e0503004afe0000d30e02006d320000b9050100c2d601006b1301007dfd00008f0d03007033000020080300bbd60100641301008fd7010038140100e6d401009d11010012ff0000ba0f010005fb00009f0902001bee0100ff14010009d60100b412010079fe0000040f0200f6fb00005b0a030080d701002914010038fd0000fc0c0200ded4010095110100823100008d04010048fe0000d00e01005efe0000e90e01001cee01000015010019330000ee0606003f32000078050300032f00005c03010066d5010011120100f3fc0000700c030081d501002c120100ebd601009413010047e00100be140100013300008b060400a82f0000010401009b240000c202030070ff00001810010019f201001d16010041d4010004110100e9fc00005b0c0200cd3200004d0603000dd70100b613010061ff00000910010096240000b302030016d40100d9100100903300006a08020056d70100ff1301004ae00100c11401006bfc0000580b020050fc0000160b020072d501001d120100ceff000071100100122f00006b03010095ff00003d10010099fb0000020a010046ff0000ee0f0100b7fd0000370e030056210000c601030052ff0000fa0f010041f20100431603000fd40100d210010040d4010003110100f10300006900010078200000470101006cd60100171301003ef10100ed15010024fc0000be0a020096fe0000340f010060d4010022110100c9d60100721301003033000049070300952f0000ee0301001ed70100c71301001ed50100d0110100820701008c10010026fc0000c20a02001efd0000c80c020045210000ae0101007b320000d4050200bcfc0000ff0b020039ff0000e10f01009cfc0000bf0b020062fe0000ed0e01001cd40100df10010091d601003c13010088d401004a1101004fee01001e150100e4d501008f1201003de00100b414010055fd0000170d0300bdfc0000010c020097320000f8050100e0d501008b120100923100009a040100d2320000570601009e2f0000f70301001afd0000c00c0200e63200006b060100afee010065150100d624000033030100f4fe0000920f010072ee010034150100d3d501007e1201000cfd0000a40c02006bd60100161301005aff00000210010057fe0000e20e01006afb0000d30901004cd401000f110100742400004b020300b3fd00002b0e030092fb0000fb0901009820000066010100a9d5010054120100b62400001303010026d60100d112010069ab00009209010030d60100db1201006cfb0000d50901006fd7010018140100553100006004010097fe0000350f0100bb1d0000e5000100bd330000dc0802004cd50100f81101002421000098010100d23300000b090300363200005d05030012f101008e150300371d00009200010032010000180002009e320000ff0501005ad6010005130100f8fd0000880e0400850300005c000300712f0000ca03010061ee0100271501003dfe0000c70e0100533100005e040100ccfc00001f0c020003320000b10403003ffe0000c90e010050d50100fc110100e9d601009213010075d6010020130100f40300006b0001003ed50100ef1101005c31000067040100ac3200000d060100cd2400002a030100e6ff00008310010066310000710401006dee01002f150100d324000030030100eeff00008a10010077d701002014010055ff0000fd0f0100ded501008912010093d501003e1201002bee01000a15010086d401004811010071fd00006b0d0300f9fe00009f0f03006a320000b6050100d633000015090300453300009b070300d902000049000200e4fb0000310a010049310000540401000dd40100d010010035f2010039160100ded6010087130100770600007400020056d60100011301003d1d000097000100f0d601009913010034fe0000be0e01009cd601004713010076fe0000fe0e0200af1d0000d9000100c50100002600030039d70100e2130100e433000037090200edd6010096130100d8d601008113010081fc0000840b0200cdfe00006b0f010026d70100cf13010051e00100c81401002cfc0000ce0a0200f3d601009c1301003bfc0000ec0a0200e7fc0000570c0200b1330000c408020061210000e401020089fe0000230f02003fd60100ea120100c9d501007412010066320000b205010000fd00008c0c02004c1d0000a6000100e3d701008a1401002bd60100d6120100aefd00001c0e03009c330000860802008cfc00009a0b020049d401000c110100e2ff00007e1001002f2200002702020062fc00003e0b03000ad70100b3130100b32f00000c04010039f201003d160100dc32000061060100add701005614010003330000940603008b240000980202006831000073040100f0fd00006a0e03008bff000033100100c1d501006c1201000f320000d604040045f10100f415010018f10100a0150300a0ff0000481001005a330000e607020032d60100dd120100eb330000470903002021000091010200da2400003703010028ff0000d00f0100aafe0000480f0100ad2f000006040100a82000006b010200f33300005f090300e23200006706010018330000ea06040035ee010013150100cdd50100781201005f320000aa05020065330000ff0703004f1d0000a8000100e72400004403010076fc00006e0b0200ddfe00007b0f0100cafc00001b0c02008b2000005a0101004ef101000116030089ee0100471501007d2100001c02010070d7010019140100b8d4010072110100a5fc0000d10b020001d70100aa13010053320000920502008efe00002c0f010056fc0000220b020069d401002b1101009433000075080300e2fb00002f0a01004820000038010200f9fc00007e0c0200b30e00007a000200c72f000020040100763300002f080200840701008e100100add601005613010080ff00002810010098d401005a11010041f10100f0150100a53300009d08020083d601002e130100bafd0000400e03001021000085010100dcd6010085130100bfd4010077110100d6d701007d14010026f201002a1601000dd60100b8120100252000002201020047f201005516030090fe00002e0f01000d330000b90604005afb0000c3090100a72f000000040100bb330000d80802000bd70100b4130100dd0200005100020095d701003e14010088240000920202004cfc00000e0b020099d5010044120100e3fc00004f0c0200bbd50100661201008c2f0000e5030100fed70100a51401002cd40100ef10010078ff0000201001007ad60100251301002cd70100d513010068ff0000101001007a310000850401000fd70100b8130100c932000042060300dd0e00007e000200f1d501009c120100c2d401007a11010024ff0000cc0f01009aff00004210010071d601001c130100cfff0000721001000b2f000064030100cc3200004b060200fad60100a313010016d60100c112010015fb0000a7090200e7fe0000850f010096ff00003e100100d203000061000100d9d5010084120100fd1f00000f010200b1fb00001d0a0200a3fc0000cd0b02007f2f0000d8030100422f00009b03010027fc0000c40a0200a7ee01005e1501002d2100009b010100351d0000900001005ce00100d3140100b2fc0000eb0b02007efc00007e0b02009d2f0000f6030100f93300007109030006d60100b11201005bd50100061201002fd60100da1201009f2f0000f8030100bc1d0000e60001003bff0000e30f0100d83200005d06010068d5010013120100e533000039090200822f0000db030100a7fe0000450f01005dd5010008120100acd4010067110100b22400000703030037fd0000fa0c0200802f0000d9030100dfd401009611010073fb0000dc090100c7fd0000670e0300481d0000a2000100b0fb00001b0a020004d70100ad13010081d40100431101005b2f0000b403010034e00100ab140100b2020000400001001dd40100e0100100cefc0000230c0200a8330000a5080400e4d601008d130100c7d7010070140100b63200001c06020018320000fa040400f9fd00008c0e030007fd00009a0c020069ff000011100100963100009e040100ecd7010093140100defc0000430c020074320000c605020011fd0000ae0c0200b9fd00003d0e0300cdfc0000210c0200a22f0000fb03010021fb0000ae09010001d40100c41001000dee0100f11401008d3300006408020036fd0000f80c020044fc0000fe0a020073d501001e1201007c320000d605050087d70100301401001d2f000076030100cad4010081110100322f00008b03010043d4010006110100c5fe0000630f010037f201003b1601009ffb0000080a01002e3300003f070600cc2400002903010062210000e6010300b6ff00005e1001009bfb0000040a0100ce1f0000fa0003008e31000099040100fa3200007f060100db32000060060100e5fe0000830f010041fe0000cb0e0100dfd501008a120100f63300006809030085d501003012010092fd0000c80d03005b1d0000b40001008a070100931001007a33000039080200c3fd00005b0e03008e0701009710010063ff00000b100100dffe00007d0f01005cfd00002c0d030043e00100ba1401007bd401003d11010018fe0000b50e0100c5d701006e140100dafb0000260a01009dd501004812010058e00100cf1401006a210000f801020098d701004114010037ee01001515010022fc0000ba0a0200713100007c04010066fd00004a0d0300a2ee01005a15010088fb0000f1090100b4d601005d130100e3320000680601008e2000005d010100233200002405030037310000420401002c220000220202008b2f0000e40301001af10100a61503004ffc0000140b02002bd50100dd110100a5fb00000f0a020065d401002711010050ff0000f80f01002bff0000d30f010060fc0000380b03006e320000ba05020078fb0000e1090100802000004f01010037fe0000c10e010043f201004916030001fb000095090200a132000002060100d9d6010082130100072000001a0101001a3200000205040030d70100d91301007afb0000e3090100753100008004010036210000a201010055330000d7070200b53200001a0602003bfe0000c50e01002afd0000e00c0200ad240000f802030071d401003311010072320000c20502007bd701002414010068fd0000500d03005dd601000813010038f10100e715010066e00100dd1401007c2100001b02010086d501003112010085d701002e1401003dd70100e613010053fd0000110d03008c2000005b010100263300002307030017d50100ca1101006fee010031150100b0fc0000e70b020019fe0000b60e030025fb0000b20901003cff0000e40f01007ffc0000800b020080d601002b13010047ff0000ef0f010061330000f4070200e7d501009212010031e00100a8140100910701009a10010025f10100c715030016d70100bf13010011fe0000ae0e0100cbd70100741401006a310000750401006af1010006160200afd70100581401002bfc0000cc0a02001eff0000c60f0100a62f0000ff0301006cfd00005c0d0300162100008a010200273300002607020021fc0000b80a0200301d00008b000100fed60100a71301003cfc0000ee0a0200f7fb00005e0a03006ed601001913010036fe0000c00e010000d60100ab120100c432000038060200eefc0000650c0200a8fe0000460f0100cfd70100761401005de00100d414010082d601002d13010098240000b9020300dcfe00007a0f0100ecd60100951301001e2f0000770301009dd601004813010055fc0000200b020097ee010054150100bfd501006a1201007f2000004e010100b4ee01006a15010038fc0000e60a0200a71d0000d100010005d70100ae13010020d70100c91301005b210000d5010300fcd40100b31101003fe00100b61401009ad5010045120100fdfc0000860c0200810701008b1001009c2f0000f5030100b3d501005e120100a4d701004d140100a7070100b010010090fb0000f909010090d401005211010043d50100f31101006a2f0000c3030100663300000208030014d40100d710010033d60100de1201005f330000f0070200a832000009060100cf33000005090200fcfe0000a70f0200a3d601004e130100baff0000621001008d07010096100100c4d601006d13010044e00100bb140100aad401006511010095d5010040120100313300004c070300f7d701009e140100fbd60100a4130100491d0000a30001009ed401005f11010011d40100d4100100072100007c0101005f2000004001010038e00100af1401004ffb0000b70902009aee0100571501003cd40100ff100100ad3200000e06010068d401002a110100843100008f040100623100006d040100692f0000c203010081fe0000130f020005ee0100e9140100a5fe0000430f0100ba32000024060200f032000075060100d9d7010080140100c0d4010078110100a3fe0000410f01001d3200000e050700c7d6010070130100cf1f0000fd000300bf330000e008020018d70100c1130100900701009910010001d50100b811010010d60100bb120100e03200006506010021fd0000ce0c0200dbd60100841301003df10100ec1501003830000031040100a7330000a208030025fd0000d60c0200e1d7010088140100bdff0000651001008cee01004915010008ee0100ec140100c3330000ea0802001ad50100cd110100bf3200002e0602009e240000cb020300c8330000f708020010f20100131601007921000015020100223200002105030082d701002b1401008907010092100100053300009c0603003afe0000c40e010031d60100dc12010099310000a1040100d4ff0000751001009c2000006a010100473200008a05010088fc0000920b0200b9ff0000611001006cd401002e11010036d60100e11201005f3100006a0401008bfb0000f4090100b50000000a00010019d40100dc100100d5fe0000730f0100cad60100731301009e3300008a08020041d60100ec120100afd601005813010088320000e905010054210000c00103008dfe00002b0f01000bd40100ce10010007d60100b212010026ff0000ce0f010058d70100011401004efc0000120b020064330000fc070300f5d40100ac110100c62f00001f040100dcd50100871201005efc0000320b030036ff0000de0f0100c52400002203010087d5010032120100912000005f01010050d70100f9130100b02400000103030022f10100be150300393300006e07030054e00100cb14010011d50100c5110100353300005f070300aaff00005210010040f201004016030012d60100bd12010053d50100fe110100aad5010055120100aa0000000300010062ff00000a100100de2400003b030100e2d70100891401006afe0000f40e01006f2f0000c803010059fd0000230d0300f101000038000200331d00008e0001008f0701009810010036d50100e81101000a2f00006303010044320000870501006e2400003f02020085fc00008c0b0200f332000078060100f4fb01006116010043d60100ee120100a0fb0000090a0100b11d0000db00010057d4010019110100d7d701007e140100723100007d040100b2330000c6080200aa070100b3100100162f00006f03010031d70100da13010025d70100ce130100f4fb0000550a0300f5330000650903009d33000088080200c4fc00000f0c02001cfc0000ae0a020011ff0000b90f01006dd70100161401001cd60100c712010033d70100dc130100c7d501007212010081ff0000291001002221000096010200aed40100681101001df20100211601007fd401004111010057d7010000140100bc0000000f00030021d60100cc120100e4ff000081100100c9fe0000670f010084ee01004215010098fd0000da0d0300613100006c0401003f210000ac0101009e1d0000c800010019d60100c4120100d6d401008d110100c0d501006b1201007b2f0000d40301000bee0100ef14010046d70100ef130100ebfc00005f0c0200f3fe0000910f0100f4fc0000730c03007afe0000060f02005c210000d8010300fdd40100b4110100a7fb0000120a01003cfd0000040d02006ad401002c11010063210000e901020064ee01002915010092d601003d13010048d60100f312010082d401004411010076d501002112010017d70100c013010030fe0000b90e020032f201003616010077fc0000700b020068d601001313010046210000af010100a80000000100020093fb0000fc090100efd501009a120100fdfb00006e0a0100ab070100b410010063e00100da14010070d401003211010056330000d9070600c5d401007c110100e7fb0000340a0100ea2400004703010019d50100cc11010054d60100ff1201006d2f0000c603010018d50100cb11010039d60100e412010052fd00000e0d03009fd701004814010075d701001e140100713300002308030048e00100bf140100ced701007514010065ff00000d100100a03300008f0803003e310000490401000ad60100b512010091d501003c1201004de00100c4140100c5d50100701201007a320000d2050200681d0000c100010071ff0000191001002ed40100f11001007ad701002314010044fe0000ce0e010032f10100e1150100f6d50100a11201007cd70100251401006fd601001a130100f5d701009c140100d7fc0000350c02008831000093040100a0d7010049140100e5fb0000320a01008dff000035100100a1070100aa1001004ed401001111010028d50100da110100c42f00001d0401002420000021010100fc10000087000100b0fd0000220e0300b4fc0000ef0b02000c330000b50604006b3100007604010011f101008b150300b82f0000110401008533000051080200a91d0000d30001003ad70100e313010093320000f4050100cfd4010086110100d63200005b0601008b330000600802004a310000550401004df10100ff1502009b1e0000ec0002004ad60100f5120100dad701008114010017fb0000ab09020061d701000a1401009720000065010100c01f0000f2000200e333000035090200b3d601005c130100b4d501005f12010017fd0000ba0c02002afc0000ca0a02006ad70100131401008ad601003513010039e00100b0140100e9fb0000360a010007f1010080150200a4070100ad1001006d210000fe01010092200000600101003dff0000e50f0100b3070100bb100100512f0000aa03010059fc0000280b020029d50100db110100373200006005030015320000ee040400652400003102010035d70100de130100b9070100c1100100d3fe0000710f01003c200000320102009b2f0000f4030100662f0000bf03010075fd0000770d030034d60100df120100330e000078000200ba1d0000e40001005afd0000260d030094240000ad0203005d3100006804010009d50100bf11010097d70100401401004f330000c2070300fbd70100a2140100632400002f02010002ff0000aa0f010061fb0000ca090100ec3300004a090300f7d50100a2120100ae330000b708050089fc0000940b020038d70100e113010030e00100a71401002af201002e1601004b2f0000a4030100023300008f0605004d1d0000a7000100d7d401008e1101004dfc0000100b0200e5d401009c11010042d50100f21101003633000062070500b62f00000f040100a12f0000fa0301001ad70100c3130100a4fc0000cf0b020018d60100c3120100c2fc00000b0c0200ac1d0000d6000100b8fc0000f70b02007cfb0000e50901007f3100008a040100e0d7010087140100c6ff00006b100100503100005b04010076320000ca0502008d320000ee050100bc32000028060200330100001a00020045f201004f1603003e210000ab01010066fb0000cf090100892f0000e20301002ef10100dd150200f1d40100a811010091fc0000a40b020053ff0000fb0f0100063300009f0603007324000049020200ae1d0000d8000100acfb0000170a0100b4330000ca08020014320000ea040400c232000034060200ca2400002703010033d50100e5110100f83300006e09030044ff0000ec0f0100f7d40100ae1101008c07010095100100caff00006d10010017fe0000b40e0100e1fb00002e0a010032fc0000da0a020025d60100d0120100400100001e000200abfe0000490f0100d3d601007c130100a8d70100511401005dfb0000c6090100203200001b050300a5240000e0020300b3d401006d110100ad070100b61001009933000080080200362f00008f03010074fc00006a0b0200a5d5010050120100c32f00001c0401006ce00100e3140100d93200005e06010044d50100f4110100213200001e05030012d50100c6110100cefe00006c0f0100f7fc00007a0c020082fb0000eb090100b8d6010061130100943100009c040100e5ff000082100100e83200006d060100af240000fe020300f1fb01005e160100fcfb00006d0a0100b300000007000100c62400002303010049d70100f21301009afd0000e00d0300b5d401006f110100defe00007c0f0100e7d6010090130100482f0000a1030100e3d401009a110100a6ee01005d150100972f0000f0030100a8240000e902030062d501000d12010002210000730101001bd60100c61201007631000081040100601d0000b900010098d6010043130100d9fe0000770f01001fd60100ca1201006aee01002d15010009fd00009e0c020061d501000c120100e1d4010098110100f4d701009b140100682f0000c1030100b3ee01006915010062e00100d9140100be2f000017040100472000003601020023ff0000cb0f010077fe0000000f02005bd7010004140100b9d4010073110100ba330000d6080200822400007a020400b0ff000058100100643100006f040100d12400002e030100db24000038030100bcd5010067120100963300007a08020090d501003b120100dad501008512010054d401001711010024ee01000615010034210000a0010100a5d701004e14010056e00100cd140100f73200007c06010072fe0000fa0e02004ce00100c3140100f0fe00008e0f01000f2f000068030100882f0000e1030100cdd40100841101004bd50100f7110100bad7010063140100bf1f0000f0000200ebff000087100100eed501009912010072ff00001a10010018f201001c1601003432000057050300efd701009614010025d40100e8100100ced601007713010083ee0100411501004fe00100c614010083d401004511010073ff00001b1001001cff0000c40f0100f23300005c0903007b210000180203000420000017010100a4d601004f1301006f320000bc05020057fc0000240b0200f23200007706010046d60100f112010012d40100d51001009a240000bf02030027f10100cd1503000b330000b20603005cfc00002e0b0200462f00009f0301000ad40100cd100100d8240000350301007ed70100271401003afd0000000d0200641d0000bd0001005e310000690401009d310000a50401003bee01001715010026fb0000b3090100fed40100b511010080240000720204006e210000ff0101003be00100b2140100b6d601005f130100bd00000012000300421d00009c000100a1240000d4020300df3300002c090300b5ff00005d10010042e00100b91401009afc0000b90b0300ebd5010096120100bffc0000050c020058fd0000200d030064240000300201003cfe0000c60e010046320000890501000c2a000048030400b4fd00002e0e030096fd0000d40d030007d40100ca100100573200009a0502007a20000049010100d5030000660001006b33000011080300d032000055060100aeee010064150100d5d5010080120100adee0100631501001a2f000073030100e0fe00007e0f0100a32f0000fc030100b2ee010068150100f5fb0000580a030067e00100de140100743100007f040100e0fb00002d0a010051ee01001f1501003fff0000e70f010065310000700401003d320000720503002dd70100d61301009bd7010044140100b6d401007011010054fc00001e0b0200b02f00000904010028320000330503003a1d00009500010013320000e604040065e00100dc140100ffd40100b611010034d70100dd1301008bd70100341401009da6000087090100962f0000ef03010039fc0000e80a02004cf10100fd150200dbfe0000790f010095240000b002030024f10100c4150300dcd701008314010053e00100ca1401009a2f0000f303010061fd00003b0d030002fd0000900c0200abee0100611501009f070100a810010086ee0100441501009bfd0000e30d03000fd50100c31101008efc00009e0b020013d50100c71101004fd50100fb11010073210000070202005a2f0000b30301008cd701003514010067d7010010140100abfd0000130e0300012f00005a0301003ffc0000f40a0200c6330000f0080400c0d601006913010098fb0000010a0100513100005c04010009ee0100ed1401008afd0000b60d03004dff0000f50f010029d70100d2130100b4fe0000520f0100a4fb00000d0a0200b9d6010062130100d0d60100791301008d310000980401000af1010086150200172000001f01020021f10100bb1503001fd40100e210010015d40100d81001009b310000a3040100ddd60100861301007f3300004308040060320000ac050100f6fb0100631601007bfb0000e409010052d70100fb130100502f0000a9030100bffe00005d0f010058d6010003130100fafd00008f0e12006e3300001a08030051ff0000f90f010016fc0000a20a02005d1d0000b6000100b8240000150301005dab00008f0901001bd40100de10010068fb0000d109010003f1010078150200532f0000ac03010052330000cc070200f9d50100a412010094d40100561101002cd50100de110100e624000043030100af2f000008040100c132000032060200b302000041000100c1fe00005f0f010047f10100f6150100840300005a000200ba2400001703010087ff00002f10010069d601001413010035ff0000dd0f0100fbfe0000a50f0200fad70100a1140100501d0000a9000100f2fe0000900f010045320000880501008ad701003314010075fb0000de09010091ee01004e150100e93300004109030039210000a5010100583200009c05020087320000e80501007d31000088040100ae240000fb02030098ff00004010010096d5010041120100b0d601005913010069e00100e01401002cf201003016010042ff0000ea0f0100bbff0000631001001dff0000c50f010003d50100ba110100e1d601008a130100c7fc0000150c020060ff0000081001005dee01002515010015f1010097150300c9d401008011010067d50100121201007ed6010029130100ed3300004d09030068e00100df140100a6fd0000040e0300ca330000fb080200f8d701009f140100ef3300005309030050fd0000080d03008e2400009e020200d4fc00002f0c020098fe0000360f0100a732000008060100a9ff00005110010072210000040203005a1d0000b300010027ff0000cf0f0100ad1d0000d700010066d701000f140100df2400003c030100aefe00004c0f010035fe0000bf0e0100a3d501004e12010050d60100fb1201002ad60100d5120100ddd40100941101005bff00000310010064d401002611010034fc0000de0a0200bcd60100651301001cd70100c5130100282100009901010074fb0000dd090100edfc0000630c02009ca6000086090100742a00004c030300f8fe00009c0f03003ad60100e5120100b5fc0000f10b020035d40100f810010069ee01002c150100362000002d010200bd1f0000ee000200fbd50100a6120100b9d501006412010057fd00001d0d03008b31000096040100f5fd00007c0e04007cfe00000a0f02009bfc0000bc0b030014fd0000b40c02001bd50100ce11010067ee01002a1501008a3300005e08020040ff0000e80f010050fb0000b9090100c7d401007e1101009c070100a510010017ee0100fb14010090f101000c160200f0d501009b120100b332000016060200d5d701007c14010064fe0000ef0e01008efb0000f709010007fc0000840a020058fb0000c10901005cd701000514010068210000f501020045d70100ee1301004eee01001d150100cc2f00002504010081d701002a1401003c31000047040100de1f000003010300bd2f000016040100d4d501007f12010000d50100b711010080fc0000820b0200a33300009708030002d50100b9110100d13200005606010097fd0000d70d030089d401004b110100d6ff000077100100c3fc00000d0c020093240000aa020300c6d601006f1301008d2000005c01010006fb0000a10902009c310000a4040100a11d0000cb0001001bff0000c30f0100e1fe00007f0f010065fc0000470b030014fc00009e0a0200a2fe0000400f010091fb0000fa09010050330000c5070300c8d601007113010077d6010022130100830701008d100100a31d0000cd000100511d0000aa00010061320000ad05010078fc0000720b020063330000f90703003c2f000095030100272f000080030100a332000004060100f5fb010062160100b40200004200010086320000e7050100172f000070030100ccd501007712010030f201003416010003fb000099090300ce2400002b030100302f00008903010060fd0000380d030023f10100c115030032d50100e41101001ef201002216010053330000ce0704009b1d0000c500010004f101007a1502001bf201001f16010052fe0000de0e01003bfd0000020d0200612f0000ba03010000fc0000710a030071ee010033150100f003000068000100e4d701008b1401005dfc0000300b020070d601001b13010033fe0000bd0e01007dd50100281201006bfe0000f50e01003332000054050300212f00007a03010015fc0000a00a02005fd501000a12010064fd0000440d03009ad401005c1101007bfe0000080f020062d701000b140100e0d6010089130100b5fe0000530f01006bd401002d110100b61d0000e0000100413100004c0401009cfe00003a0f010084d40100461101009d320000fe05010030d50100e211010032fd0000f00c02005ffc0000350b03007bee01003b1501000c0f0000800001006fd501001a120100aad6010053130100dc33000025090200e3240000400301002ef2010032160100b7d4010071110100d1d501007c120100a6d701004f1401004e2f0000a7030100aed6010057130100f20300006a00010080320000e10501003e1d000098000100effb0000460a030002f101007615020054fe0000df0e010063320000af0501009bff00004310010084d501002f12010051330000c80704005631000061040100f2fb00004f0a030002fb0000970902007b310000860401004c31000057040100c6010000290003003fd70100e81301004dee01001c150100531d0000ac000100d1330000090902008ad501003512010083fd0000a10d0300782100001302020051d70100fa13010077fd00007d0d030079d401003b1101005d210000db01030087fd0000ad0d03008a310000950401003fd4010002110100cd2f000026040100f0d40100a7110100591d0000b20001005fd601000a130100933300007208030092ee01004f15010070a70000880901000bfd0000a20c02008a2000005901010080fe0000120f0100f3d701009a1401000dfd0000a60c02004ad50100f611010099d601004413010092fe0000300f01004cfe0000d70e020053d60100fe1201004be00100c2140100b8d50100631201005ad401001c1101005b330000e807020089d7010032140100f2a7000089090100a3ee01005b1501007cff000024100100762100000c020300a6ff00004e10010057ff0000ff0f010079ee010039150100aed50100591201006fd4010031110100da0200004b0002004d2f0000a6030100c5fd0000610e0300843300004f080200c02400001d0301007cd5010027120100b0d7010059140100cbd501007612010083d701002c140100e8d401009f1101008ed50100391201000dff0000b50f010044d60100ef120100c424000021030100522f0000ab0301008ed60100391301000dd50100c11101006bfb0000d4090100cb2f00002404010032ff0000da0f0100abff0000531001006c3100007704010070200000410101008dfd0000bf0d030074fe0000fc0e0200312100009e01010064ff00000c1001009b330000840802006ae00100e114010024f201002816010005d40100c810010049ff0000f10f010037ff0000df0f01007520000044010100befe00005c0f0100e8fe0000860f0100f8a700008c090100bed70100671401009d1d0000c7000100b6070100be100100792f0000d203010012f2010015160100dffc0000450c0300a1d501004c120100c9fc0000190c020011ee0100f51401009f3300008c08030083fb0000ec09010031f10100e015010008ff0000b00f01009efe00003c0f010039fe0000c30e010086330000530802006ffd0000650d03008bd5010036120100f3d501009e1201005f1d0000b800010030fc0000d60a0200fa330000740903005bee010024150100782400005702030047d70100f0130100f8fc00007c0c020067d601001213010096d701003f140100112000001e01010044f10100f31501003dfd0000060d020070320000be0502006c320000b8050100c8d50100731201008cd6010037130100fbfd0000a10e0800b6fd0000340e0300952000006301010019320000fe04040099240000bc02030052ee010020150100dc0200004f0002000e21000083010100ced501007912010087d601003213010002d70100ab130100932000006101010015d60100c01201000c2f00006503010085310000900401002ad40100ed1001007b24000060020300eefe00008c0f0100850701008f1001009a2000006801010072fb0000db090100e23300003309020075fc00006c0b0200d22400002f0301005be00100d21401002c2100009a0101007f2400006e0204005ed4010020110100e3fe0000810f0100192f0000720301001e32000015050600052f00005e03010016fb0000a9090200423100004d040100a5070100ae100100012000001401010084fc00008a0b02005cd5010007120100c4d701006d140100a02f0000f903010043f10100f21501008f2f0000e8030100c924000026030100c53200003a0602008f240000a002020084ff00002c100100243300001c070400b7fc0000f50b020041e00100b8140100d92400003603010016fd0000b80c0200513200008e05020092fc0000a60b02008ffe00002d0f0100c4fd00005e0e03001c2f0000750301002bf201002f160100dbd5010086120100412f00009a0301001bfd0000c20c020017320000f604040050f201005b1601002133000011070500402f000099030100ca2f000023040100a6070100af10010089d501003412010036310000410401007dfc00007c0b020087fb0000f00901000efc0000920a020006f101007e150200652f0000be03010056fe0000e10e01009cfb0000050a0100e4fe0000820f010006ee0100ea140100d2d601007b1301005dd401001f11010060d601000b13010016f201001a16010000d40100c310010013fb0000a30902006ffc0000600b0200a7fc0000d50b020013fe0000b00e01004bfe0000d50e02008dd70100361401002eff0000d60f01006b2f0000c4030100e6fb0000330a0100f6d40100ad110100a8070100b11001008b320000ec0501005c1d0000b50001006a24000037020200b9fc0000f90b0200d6fb0000220a0100f73300006b09030008fd00009c0c0200c73200003e06020084d601002f130100a1ee01005915010078fd0000800d030080ee01003e15010025f2010029160100b6ee01006c1501000cee0100f01401005cab00008e0901005cfb0000c50901002e320000450503004bfc00000c0b0200c72400002403010060330000f207020037d70100e0130100d03300000709020090fc0000a20b0200b0ee010066150100a1fd0000f50d0300753300002d080200002f0000590301009afb0000030a01002a32000039050300a93200000a06010072d4010034110100d4d401008b11010021f20100251601007bff000023100100461d0000a0000100b1ff00005910010036d40100f910010098320000f905010043fc0000fc0a020031fc0000d80a020079d60100241301005b3100006604010012d70100bb13010099fe0000370f0100d1fe00006f0f01009a33000082080200a6d4010063110100d5fb0000210a01000a2100007f01010096fb0000ff0901008e2f0000e7030100a9d70100521401005efb0000c7090100930701009c100100562f0000af0301007d2000004c01010027f201002b16010094fc0000aa0b0200d3d401008a11010067fd00004d0d030009ff0000b10f0100a4d501004f1201006de00100e4140100391d00009400010010320000da04040021d70100ca13010091ff0000391001002dd60100d8120100c0d701006914010013f201001616020030f10100df150100d5d401008c110100b21d0000dc000100982f0000f10301006ad5010015120100772400005402030026d50100d8110100752400004e020300b8070100c010010042f2010046160300870500006e000200b3d701005c1401007620000045010100f2d601009b130100bcfd0000460e0300a6240000e3020300d433000010090200d8d401008f1101000c320000cc0403007bd501002612010015ee0100f9140100a4240000dd02030049210000b2010100f8fb0000610a0300042f00005d030100cad5010075120100571d0000b000010022ff0000ca0f01008bd6010036130100b5d701005e140100c8d401007f1101008820000057010100403300008907050007d50100bd1101005d320000a6050200fed50100a91201007c3100008704010047ee010019150100b0330000c208020086d701002f14010083fc0000880b020044d4010007110100f132000076060100523100005d04010013ff0000bb0f010038fe0000c20e0100ecd40100a31101007efd0000920d03006f3300001d080300d00300005f000100f1d701009814010051f201005c160100b31d0000dd00010014d50100c8110100fb33000077090300f1fb00004c0a030084fd0000a40d0300f3fb0100601601008a320000eb050100ab240000f2020300e7d701008e1401005c330000ea07020085ff00002d100100bdd4010075110100b5fd0000310e0300f2fd0000700e040083fe0000170f0200dd1f0000000103007bfc0000780b02009a310000a204010075320000c805020020fd0000cc0c020002d40100c510010067ff00000f100100ddd70100841401002efc0000d20a020004ff0000ac0f0100b1ee01006715010017330000e5060500673300000508030052d60100fd1201007e330000410802009c1d0000c60001009e070100a71001005f2f0000b8030100a6fe0000440f0100661d0000bf00010090ee01004d15010023d70100cc1301007e2400006a0204006b210000fa0103004cd70100f51301008dd601003813010011320000de0404007fd701002814010086ff00002e100100182f00007103010047330000a107050072fc0000660b020096d401005811010029f10100d31503000d210000820101000ed40100d1100100e0d401009711010071d501001c1201000a2000001d0101003dd50100ee1101009920000067010100752a00004f03020040fe0000ca0e0100bdfe00005b0f01004bd401000e110100d33200005806010066d6010011130100aafb0000150a01007e2f0000d703010077ff00001f10010025ff0000cd0f010093d601003e130100b6fe0000540f010095d6010040130100d5ff00007610010091d401005311010059330000e40702007fd501002a120100d7ff00007810010032ee01001115010067320000b305010030fd0000ec0c0200edfb0000400a030094fd0000ce0d030078320000ce05020097ff00003f10010086d601003113010008f10100821502002c2f000085030100d1fc0000290c020068240000340201003efe0000c80e010066ff00000e10010014ff0000bc0f01004dd70100f6130100f53200007a060100cd330000010902006924000035020200b4320000180602005bd601000613010013f101009115030055210000c3010300aa1d0000d4000100d6fe0000740f0100bdd501006812010045e00100bc140100f3fd0000740e04008cfb0000f5090100d4d701007b140100b80200004600010065d5010010120100d52f00002e040100afd4010069110100f2fc00006d0c030042f10100f1150100953100009d0401006cd50100171201000efd0000a80c0200b7ee01006d15010054ff0000fc0f01007806000076000200eefb0000430a030040d50100f0110100be330000de080200adfe00004b0f01000cd40100cf10010023fb0000b0090100e6fe0000840f0100a1ff00004910010074d601001f130100361d0000910001000621000079010300313200004e05030059ee010023150100383300006a070400c3d701006c140100b5070100bd100100b00200003e00010036fc0000e20a020034f201003816010073d40100351101003f3100004a0401007bfd0000890d0300543100005f04010031ee010010150100aeff0000561001004b1d0000a50001004bee01001b15010072d601001d1301003b31000046040100aed701005714010035fd0000f60c020000320000a804030019ff0000c10f010038d50100ea11010005f101007c1502003a2f0000930301002dff0000d50f010003ee0100e8140100c52f00001e04010019fc0000a80a020027fb0000b4090100312f00008a030100762a00005103030055d60100001301007ed40100401101006f24000041020200132f00006c03010033f20100371601009fd501004a12010097240000b60203009f2e000057030100dd3200006206010028fd0000dc0c0200bbd7010064140100d2d7010079140100e1320000660601009bd6010046130100ac070100b510010093fc0000a80b0200342f00008d03010090240000a20202006efb0000d70901002df10100db150200a1fb00000a0a01008dd401004f11010028f201002c160100712400004502020059fb0000c2090100c3fe0000610f01009a320000fb050100c9330000f9080200bd1d0000e700010074d401003611010073d601001e130100e1ff00007d100100c3d401007b11010049d60100f4120100d2fe0000700f010005320000b704030037d50100e9110100d9fc0000390c0200403100004b0401009f3000003804020058ff00000010010007d70100b0130100d8d50100831201005e2f0000b70301009c320000fd0501008fee01004c1501001af201001e160100c11f0000f40003001bd70100c413010029ee0100081501005d2f0000b6030100463300009e070300cc330000ff08020076d6010021130100c12f00001a04010004d60100af120100edd40100a411010008d50100be1101005dfd00002f0d0300a7d501005212010033e00100aa140100b80000000b000200daff00007910010073320000c405020021ff0000c90f0100cf2400002c030100323300004f07060013d40100d61001009c240000c502030030ff0000d80f010068ee01002b150100b0d501005b120100d7fb0000230a0100333100003e04010033fd0000f20c020012fc00009a0a02004a330000ac0706008fd401005111010017ff0000bf0f01003f0100001c000200c83200004006020063fe0000ee0e0100f7d60100a0130100e63300003b09020089d6010034130100fcd70100a314010067210000f1010400a21d0000cc000100a8ee01005f1501006931000074040100af00000004000200b6fc0000f30b0200ebfb00003a0a030061fe0000ec0e0100f5d601009e13010077320000cc0502001b3200000605040028fc0000c60a02001cd50100cf11010092ff00003a1001009533000078080200fdd50100a812010022d70100cb130100992f0000f2030100a43300009a080300d603000067000100e8240000450301002f2100009c01010001f2010010160200c0fe00005e0f01007dd6010028130100a133000092080200a6fc0000d30b0200852f0000de0301007a03000058000200cf3200005206030000f201000e160200e4020000570001005ed7010007140100a5d4010062110100d0fe00006e0f010069320000b50501005ed501000912010039d40100fc100100b5d501006012010064fc0000440b0300b0fe00004e0f0100d8fb0000240a01004731000052040100e3fb0000300a010013210000880101005fe00100d614010068330000080803004eff0000f60f0100a9d60100521301006dfb0000d60901002b330000300706004c330000b507050052fb0000bb09010026d40100e91001005fab0000910901005dfe0000e80e0100bfd6010068130100b5d601005e130100a6fb0000110a0100fe1f000011010200d4fb0000200a01006dfc00005c0b020020ff0000c80f0100abd5010056120100f2d501009d1201005c320000a405020042fe0000cc0e0100833300004d08020022fb0000af090100ecd50100971201003ed60100e91201007afc0000760b0200cbd40100821101009ffd0000ef0d03009f310000a704010021d50100d31101007f2100001e020100383200006305030038d40100fb100100a4ff00004c100100aa240000ef020300ba0000000e00010079fc0000740b02005bfe0000e60e010002ee0100e7140100fb32000080060100d802000047000200da3200005f0601008c330000620802002bfd0000e20c020006fd0000980c0200b0320000110601003ee00100b5140100ab2f0000040401000c21000081010100d6fc0000330c020064210000eb01010083ff00002b100100b42400000d030300942f0000ed030100ed320000720601003232000051050300592f0000b203010033ff0000db0f010062320000ae0501000e330000bd0604008924000094020200b52f00000e040100eafe0000880f0100c82f0000210401005e210000de01030005ff0000ad0f01008a2f0000e30301001dee010001150100bbfe0000590f01007fd601002a13010093fe0000310f0100cffe00006d0f0100fbfb00006a0a0300d6d601007f13010052210000b9010400b71d0000e10001004af10100f9150200dcfb0000280a010094d601003f13010058210000cc0103003dd60100e8120100012100007001030037210000a3010100c0fd0000520e0300a3d701004c140100541d0000ad00010097070100a010010068320000b4050100950701009e100100b9330000d408020002fc0000770a03002f330000450704003d210000aa01010083320000e4050100152f00006e03010053d4010016110100b0070100b9100100332f00008c0301007ffe0000100f0200ebd7010092140100ca32000045060300dc0e00007c000200edff000089100100cad701007314010065320000b1050100893300005a080400affc0000e50b020069fd0000530d0300a432000005060100752f0000ce0301007c2c000054030100ae2f0000070401002cff0000d40f0100f1fd00006d0e030013d60100be12010073fc0000680b020095d4010057110100ead40100a1110100f3a700008a090100e5d701008c14010085fe00001b0f0200f2d40100a91101005ed6010009130100c6d701006f1401000321000074010200832000005201010033fc0000dc0a02003d3300007e070500effc0000670c0200b8fe0000560f0100fd320000820601004bd70100f41301007c240000630203009d070100a610010052e00100c914010010ee0100f41401007d2f0000d6030100a4fd0000fe0d03003a320000690503005731000062040100c0330000e2080200f30100003c00020051fc0000180b020015fe0000b20e010004320000b4040300973300007c080200e2d4010099110100ce3200005006020069fb0000d2090100fcd60100a5130100a5320000060601009afe0000380f0100be1d0000e8000100902000005e010100d9fb0000250a010078d7010021140100d7d6010080130100bfd7010068140100a8fd00000a0e0300913300006c0803005bfc00002c0b02006724000033020100f0d70100971401008631000091040100102f000069030100e3d501008e120100e5fc0000530c02005ad7010003140100f9a700008d09010080d501002b1201009bd401005d11010051210000b60103003bf201003f160100adfc0000e10b0200b73200001e060200cfd501007a12010090d7010039140100cdd6010076130100ccff00006f10010007330000a2060600dfd7010086140100072f000060030100d524000032030100a0d501004b12010085fb0000ee09010020d50100d2110100d1d4010088110100612400002d02010052d401001511010070fb0000d90901009fd601004a13010094d501003f12010071320000c005020057e00100ce140100401d00009a00010027ee01000715010034fd0000f40c02009b2000006901010078d501002312010056ff0000fe0f0100212100009301030048310000530401003d2f00009603010024d70100cd13010066210000ee0103001b2f000074030100ead501009512010005fc0000800a02006a3300000e080300a3240000da020300203300000c07050082ee01004015010044330000980703000b2100008001010060d501000b12010030ee01000f150100e524000042030100eaff00008610010036f201003a160100372000002f0103005ae00100d11401000020000013010100e6d701008d1401006dff0000151001003630000030040100f4d601009d13010018ee0100fc14010000ee0100e5140100b4ff00005c100100a8d601005113010062330000f6070300c2fe0000600f0100262f00007f030100fe33000080090300342000002a010300cc01000036000200e133000031090200c0fc0000070c0200de33000029090300bad50100651201007dd401003f11010076ff00001e100100e2fc00004d0c02007a2100001602020029fc0000c80a0200e6d601008f13010039f10100e81501002fff0000d70f0100a2d701004b140100003000002f040100b2d601005b130100a9070100b2100100cbfe0000690f0100092f00006203010016fe0000b30e0100002100006d010300693300000b0803002233000016070300a8fc0000d70b0200e002000053000100c3d601006c13010047210000b00101007ad5010025120100ffd60100a8130100d7d50100821201000fff0000b70f0100593200009e050200451d00009f000100f5fe0000930f030094ee0100511501006cd70100151401006f3100007a040100112f00006a0301001fff0000c70f010012320000e2040400c032000030060200b8ff0000601001000bfc00008c0a020004fc00007d0a030051d60100fc12010015f2010019160100253300002007030053d70100fc130100bf2f0000180401003ed70100e713010006ff0000ae0f010067fb0000d00901004232000081050300c1d601006a13010014fe0000b10e010043d70100ec130100cafe0000680f010043fe0000cd0e0100d1d701007814010063d501000e1201001ff20100231601000dfc0000900a02007c2f0000d503010082ff00002a100100503200008b050300dfd6010088130100c1d701006a140100fbfc0000820c020051fd00000b0d0300593100006404010022d40100e510010004fb00009c0903003a3100004504010038d60100e3120100cb330000fd080200a0070100a910010092d4010054110100602400002c02010010d50100c4110100743300002a08030032e00100a914010029fb0000b609010001ee0100e614010023d60100ce1201001d33000001070300e8ff00008410010031d50100e31101002aee010009150100b92f000012040100e924000046030100f0fc0000690c0200e7d401009e110100d32f00002c04010062fd00003e0d0300ded70100851401001eee010002150100b2fd0000280e0300b42f00000d040100c2ff0000671001002c3200003f0503008cfe0000290f0200efd60100981301009f32000000060100960701009f100100381d0000930001001e330000040704005cd601000713010076fb0000df0901001df10100af15030095fc0000ac0b02002cf10100da15010088d5010033120100ee33000050090300a9240000ec02030009320000c304030002320000ae0403002ad70100d3130100302200002902030021ee01000415010077310000820401005e330000ee070200edfe00008b0f010012330000cd060400923300006f0803001ed40100e1100100a8d50100531201006bff000013100100f1fe00008f0f01009b320000fc0501009dfb0000060a01009ad6010045130100c332000036060200b2320000140602008ffc0000a00b02006c210000fd01010099ee010056150100befd00004c0e0300b72f00001004010060d7010009140100c4330000ec0802008afc0000960b0200f9d70100a01401003cd50100ed110100cb3200004806030029fd0000de0c020028f10100d0150300a01d0000ca0001009ffe00003d0f010071210000020202006bd50100161201004ed60100f912010032d40100f510010015330000d906060064fb0000cd09010084320000e505010057330000df07030035fc0000e00a0200922f0000eb0301006f21000000020100ab330000ae08030034d40100f7100100c1d4010079110100bdfd0000490e0300bdd601006613010034ee010012150100ccd601007513010035f10100e41501009ffc0000c50b020056d5010001120100c7330000f408030000fb00009309020065d701000e14010048d70100f113010084200000530101004ad401000d110100621d0000bb0001008c31000097040100492000003a010200e43200006906010052d50100fd11010046d50100f511010024d60100cf120100b9ee01006f150100dad4010091110100ca01000032000200403200007b050300a8fb0000130a0100dcff00007b100100253200002a05030099d701004214010022d60100cd12010028fb0000b50901003a30000033040100b2ff00005a10010092d501003d1201007b2000004a0101002af10100d61503001ffd0000ca0c020017f201001b16010075d5010020120100f1fc00006b0c02006efd0000620d0300dd2400003a03010005d60100b01201002fee01000e15010027fd0000da0c02002ed50100e011010028d40100eb10010036ee010014150100eb3200007006010078d601002313010014fb0000a509020010ff0000b80f01000ed60100b9120100adfb0000180a010070d501001b120100382f0000910301004a2f0000a30301003aff0000e20f010041d70100ea13010088d70100311401000d320000cf0403004bd60100f6120100b10200003f000100a63300009f08030074d701001d1401002cfd0000e40c0200092100007d01020000f101007215020003fc00007a0a0300611d0000ba000100f2d7010099140100abfb0000160a0100a7ff00004f10010064d601000f130100ddfc0000410c0200bed4010076110100da33000021090200671d0000c0000100602f0000b9030100a0240000d102030056fb0000bf090100bd2400001a030100dffb00002c0a0100b7ff00005f1001007dd701002614010096320000f7050100b7d50100621201003af201003e1601006e310000790401006d330000170803007eff00002610010034d50100e6110100a6320000070601007cee01003c1501002dee01000c1501005bfd0000290d03001a330000f4060600f432000079060100bb320000260602004333000094070400d42f00002d040100d2fc00002b0c0200892100001f020300ae070100b7100100d3ff0000741001002d2f00008603010056fd00001a0d03000521000076010300fffb0000700a0100eafb0000370a03001dd70100c613010042ee010018150100fcfd0000a90e0400d83300001a0904007506000070000200cb010000340002006bfd0000590d03002a3300002d070300a7d701005014010051fb0000ba090100fd3300007d09030057ee010022150100a0000000000001002b2f00008403010004d40100c71001008120000050010100790f000084000300ecfe00008a0f01002ffc0000d40a0200521d0000ab00010041ff0000e90f0100add5010058120100332100009f010100abd701005414010063d401002511010071fe0000f80e0200affb00001a0a010036d70100df1301005e1d0000b7000100e302000056000100a4fe0000420f010035e00100ac14010054330000d20705001a2100008d0101008bfe0000270f02005fee0100261501004fd70100f8130100781d0000c40001003ff10100ee150100c7ff00006c1001004b31000056040100a6d50100511201000afd0000a00c0200762400005102030037e00100ae140100631d0000bc00010062fb0000cb090100f6fd0000800e04007afd0000860d0300a2ff00004a100100c401000023000300f4d40100ab1101008833000057080300a2d501004d120100902f0000e903010081320000e2050100b2d401006c1101001ad60100c5120100c8fc0000170c02001ed60100c9120100b3fc0000ed0b020086fd0000aa0d0300962000006401010014d70100bd130100d7fe0000750f01008cff000034100100772f0000d0030100b4070100bc100100892000005801010007320000bd04030015fd0000b60c0200b7d601006013010034f10100e315010059fe0000e40e0100d4d601007d13010008d70100b1130100f6d701009d1401004ed70100f7130100dbd7010082140100befc0000030c0200862f0000df030100352f00008e03010081fb0000ea09010069d5010014120100893100009404010071fc0000640b02005bd401001d1101004bff0000f30f0100dbfb0000270a01004332000084050300b50200004300010064d501000f120100703100007b040100ddfb0000290a0200ce2f0000270401005a210000d2010300752100000a0202007ffd0000950d030080330000470802004cff0000f40f0100cbd6010074130100e2fe0000800f0100c5ff00006a100100ae3200000f06010069fe0000f30e0100353200005a050300bc24000019030100bb2f000014040100a3ff00004b10010016330000df0606002bf10100d915010011fc0000980a0200442f00009d030100d3fb00001f0a01003bd60100e61201000ffd0000aa0c020046f10100f51501008e320000ef0501009c30000036040200a61d0000d0000100bd3200002a060200a2fb00000b0a010027d50100d9110100c5fc0000110c02002d3300003a0705005afe0000e50e01000cd60100b712010081240000760204004efe0000da0e010045ff0000ed0f0100ef320000740601002d1d0000890001003531000040040100423300009107030017f101009d1503002bd70100d4130100411d00009b0001005dff00000510010003fd0000920c0200ccfe00006a0f01002fd50100e111010023fc0000bc0a020022d50100d4110100f83200007d060100433100004e04010050d4010013110100db0200004d000200cbfc00001d0c0200b124000004030300eed70100951401002dd50100df11010092d701003b140100a92f00000204010006320000ba040300222f00007b030100142f00006d0301009b30000034040200a9ee01006015010074fd0000740d03006a1d0000c30001005ee00100d5140100d6d501008112010004d50100bb1101009efc0000c30b020053210000bd01030021d40100e4100100a5ee01005c150100672f0000c0030100d40300006400020082fc0000860b020098ee0100551501001f2f000078030100d3d701007a14010013330000d10606005e320000a8050200742f0000cd0301006c33000014080300842400008202040066fe0000f10e01008b07010094100100f6fe0000960f030085fd0000a70d03008bd401004d110100872400008e0204004fd60100fa1201007dfe00000c0f02007cfd00008c0d0300c1fc0000090c0200a2d40100611101003e2000003401020098d50100431201003c3200006f0503007a2400005d02030012fd0000b00c020029d40100ec10010013ee0100f71401008dfc00009c0b0200292f000082030100a1d601004c13010010f10100881503002c1d000088000100b8d7010061140100ec320000710601004531000050040100bffd00004f0e03004dd50100f9110100813100008c04010067fc00004d0b030034ff0000dc0f0100e3d601008c13010070fd0000680d030008d60100b312010011d70100ba1301009dff0000451001001fd50100d111010073d701001c14010095fd0000d10d03005fff0000071001007421000009020100c4fe0000620f010023d50100d51101007c2000004b010100aa2f0000030401009ed6010049130100552f0000ae03010082d501002d12010001d60100ac120100aad70100531401005f210000e10102004aff0000f20f010077d401003911010025d50100d7110100a2fd0000f80d030094ff00003c1001008eff0000361001003bd40100fe10010009d70100b21301006dd5010018120100ea3300004409030077ee010038150100acee0100621501004d330000ba070400a5d6010050130100c2330000e608040061d601000c13010001fd00008e0c0200d2d501007d120100082000001b0101008ffd0000c50d0300273200003005030047d401000a1101009d240000c80203004bf10100fb150200fcd50100a71201000ad50100c011010086fb0000ef09010019d70100c21301000f330000c10604006afd0000560d03009dfc0000c10b02003efc0000f20a020064e00100db140100d103000060000100afff00005710010033d40100f6100100fefb00006f0a0100dcd4010093110100f0fb0000490a0300dd33000027090200f5fc0000760c0200e6fc0000550c020054d50100ff110100df1f0000060103008220000051010100affe00004d0f01003dd4010000110100c90100003000020060e00100d714010029ff0000d10f0100b6330000ce08020057fb0000c0090100b2fe0000500f010003d70100ac130100e9d5010094120100e12400003e030100940701009d1001008f320000f005010049e00100c01401008cd50100371201005d330000ec07020039300000320401006dd401002f110100492f0000a203010022f2010026160100fe320000830601009cd7010045140100793100008404010097d6010042130100c80100002e00020038210000a4010100acd601005513010020fc0000b60a02007e320000df05020024fd0000d40c0200df3200006406010053fc00001c0b0200b9fe0000570f01006ed701001714010078330000330803009fff00004710010019ee0100fd14010019f10100a315030080d40100421101001dfc0000b00a0200ff3000003a04020063fb0000cc0901003af10100e91501003c3300007a07040087fc0000900b02005cd401001e110100a9fe0000470f01001ad40100dd100100bbee0100711501004ed50100fa110100c4ff00006910010023d40100e6100100dcfc00003f0c02008fd501003a12010056d40100181101008cfd0000bc0d0300c2d501006d120100bbfd0000430e03007cd6010027130100abd401006611010057d5010002120100e4fc0000510c02002f32000048050300bc330000da0802007efe00000e0f02004fd40100121101004ad70100f313010067310000720401009efb0000070a01006eff00001610010090ff00003810010000d70100a913010031d40100f410010059d401001b1101003b210000a601030079d701002214010046fc0000020b02004b330000b207030041fc0000f80a020079320000d005020094320000f5050100ebd40100a21101001fd70100c8130100282f000081030100e8fb0000350a0100a2240000d702030059d7010002140100bafc0000fb0b02002e1d00008a00010097fb0000000a01008c2400009a020200a51d0000cf000100d33300000e090200f4fd0000780e0400a3070100ac1001008d2f0000e6030100f7fb0100641601007eee01003d15010031ff0000d90f010004fd0000940c02003e320000750503006c2400003b020200e9d701009014010076fd00007a0d0300283300002807020002d60100ad12010060fe0000eb0e0100581d0000b10001008efd0000c20d03000b320000c9040300a42f0000fd030100d8fc0000370c0200d3fc00002d0c020046d401000911010010330000c50604006ad6010015130100ce33000003090200770f000081000300b7d70100601401008afb0000f30901002f2f0000880301007233000026080200792400005a020300c82400002503010085d401004711010076d4010038110100c1330000e40802007a2f0000d3030100f9d60100a21301002bd40100ee10010075d401003711010051fe0000dd0e0100bf1d0000e9000100803100008b04010027d40100ea100100082f0000610301003ae00100b114010081330000490802005eff0000061001005fd7010008140100f20100003a00020039d50100eb110100f9d40100b0110100432f00009c0301001dfd0000c60c02001ffc0000b40a02007d240000660204003eff0000e60f010076d701001f1401009f1d0000c900010016ee0100fa14010056320000980502007aff00002210010029d60100d412010054ee01002115010059ff000001100100cfd6010078130100f6d601009f130100b5330000cc080200b9d7010062140100d2ff00007310010058330000e20702002a2f000083030100e10200005400010068fc0000500b0300293300002a070300e1fc00004b0c020032d70100db13010054fb0000bd090100e4d401009b1101002d22000024020300b1fd0000250e030094d701003d14010088fe0000210f0200c8d701007114010043ff0000eb0f010020d40100e31001003dfc0000f00a020018fd0000bc0c020087fe00001f0f0200d02f000029040100f9fb0000640a03003b3200006c05030085d601003013010087200000560101005dd7010006140100471d0000a100010042fc0000fa0a02003f2f00009803010082fe0000150f0200c5d601006e13010088ee010046150100e93200006e0601004dd401001011010052fc00001a0b02001c3200000a050400ee1f00000c01030048d401000b11010049330000aa070200e2d501008d12010014f2010018160100393200006605030005200000180101001ef10100b215030038f201003c1601003b2f000094030100affd00001f0e0300dad6010083130100ecff0000881001002cd60100d7120100263200002d05030093ff00003b10010014330000d706020079200000480101008fff000037100100733100007e04010083d501002e120100f9fb010066160100b400000008000200c2fd0000580e0300321d00008d00010018d40100db1001007fff00002710010033f10100e2150100a03200000106010063fd0000410d030071d701001a140100ad330000b4080300b70200004500010011f20100141601006bf101000816020077fb0000e0090100fafe0000a20f030061d4010023110100ea3200006f06010055d5010000120100ab1d0000d5000100bcfe00005a0f0100b1d601005a1301007e31000089040100b1d501005c12010095fe0000330f01001f330000080704000cd70100b513010062d601000d1301000ed70100b713010017d40100da10010010fc0000960a02001afc0000aa0a020055d70100fe130100343100003f04010008330000a806040041d50100f11101008707010090100100acfe00004a0f010029f201002d16010046e00100bd140100c32400002003010026200000240103004901000020000200e73300003d0902001c2100008f010100582f0000b1030100ffd50100aa1201009bfe0000390f01002ffd0000ea0c020010d70100b9130100651d0000be0001001efc0000b20a02009dfd0000e90d03007720000046010100cb24000028030100baee0100701501000eff0000b60f01007efb0000e709010037330000670703008d2400009c02020099fd0000dd0d030065fd0000470d0300acd70100551401001cf10100ac150300ff320000840602007aee01003a1501006be00100e214010047fe0000cf0e010037d60100e212010064320000b005010058fc0000260b020003d60100ae12010078d401003a1101000aff0000b20f0100a3fd0000fb0d0300441d00009e000100d02400002d0301005eab000090090100fcfc0000840c0200e0ff00007c1001000aee0100ee1401003d31000048040100983300007e080200d0fc0000270c02006e2f0000c70301002f20000027010100aafc0000db0b02003ad40100fd10010023fd0000d20c0200f32e0000580301005ffe0000ea0e0100932f0000ec03010086200000550101006dfd00005f0d03009f240000ce02030024d40100e7100100f8fb01006516010062d40100241101004dfe0000d90e01003bd50100ec11010049fe0000d10e0200abd6010054130100323100003d040100c2d701006b1401009cfd0000e60d0300c22f00001b040100f4330000620903003c210000a9010100e8d701008f14010088ff0000301001009dd7010046140100c12400001e030100e02400003d030100b8ee01006e15010070fc0000620b02006cfc00005a0b0200ac2f00000504010002f2010012160100f3fb0000520a0300782f0000d103010055320000960502002e2f00008703010024fb0000b1090100af320000100601004a1d0000a4000100252f00007e0301006eee0100301501002dfd0000e60c02006aff000012100100662400003202010079d501002412010031f201003516010061fc00003b0b0300fdd70100a41401005ffd0000350d03001aee0100fe14010048330000a6070400a9fb0000140a01005fd40100211101006dd6010018130100e8fc0000590c02005bfb0000c409010062ee0100281501004631000051040100ac330000b108030049f10100f815010095320000f605010033330000550704000ffc0000940a02008aff00003210010087330000550802007606000072000200cdff00007010010086fe00001d0f0200e8d601009113010040fc0000f60a02000afc00008a0a02008807010091100100c02f000019040100b6d5010061120100a8ff00005010010089320000ea05010079fd0000830d03000033000086060500551d0000ae000100b5240000100303004c2f0000a5030100633100006e0401000220000015010100572f0000b0030100dbfc00003d0c02009fd401006011010088d601003313010018ff0000c00f0100542f0000ad03010085ee010043150100d12f00002a040100c5330000ee08020053fb0000bc090100973100009f040100cf2f00002804010016d50100c911010001320000ab04030082fd00009e0d030016ff0000be0f010050210000b301030009f10100841502009dfe00003b0f01000f210000840101000e320000d204040040e00100b71401000a330000af0603000eee0100f214010045fc0000000b020048ff0000f00f010047fc0000040b020005d50100bc11010069210000f7010100dc24000039030100d8d701007f14010055fb0000be09010084fe0000190f020022ee01000515010072d701001b140100f033000056090300b1d401006b11010099ff0000411001002efd0000e80c020059210000cf0103008dd501003812010027d60100d2120100ebfe0000890f0100343300005907060026f10100ca150300443100004f04010036e00100ad140100b91d0000e3000100ead6010093130100eed6010097130100c6fe0000640f01004cd60100f7120100bbfc0000fd0b02003320000028010200092000001c0101007733000031080200603100006b0401008cd401004e110100b32400000a030300d0d4010087110100cbff00006e100100adfd0000190e03008bee010048150100b1fe00004f0f0100eafc00005d0c0200762f0000cf030100be3200002c060200b1d701005a140100f8d50100a312010073fd0000710d03001aff0000c20f0100a2fc0000cb0b02001b2100008e010100b2d501005d12010060fb0000c90901002eee01000d1501007120000042010100bbd4010074110100fc3300007a090300effe00008d0f0100fbd40100b211010028d70100d1130100fffc00008a0c0200f8d60100a113010035d50100e7110100341d00008f00010065210000ec0102002cee01000b150100ddd501008812010040210000ad0101002d3200004205030096ee010053150100beff000066100100b5ee01006b15010011330000c906040089fd0000b30d0300d73200005c060100912f0000ea03010098070100a11001006b24000039020200c22400001f0301000ed50100c2110100bcff0000641001009efd0000ec0d0300152100008901010015d70100be130100acfc0000df0b020098fc0000b30b030066fc00004a0b03006f2d0000560301009cd501004712010001fc0000740a030049ee01001a150100192100008c010100d72400003403010042d60100ed120100043300009706050098310000a0040100d4fe0000720f01006c2f0000c503010006d40100c91001001dd60100c8120100d53300001209030007ee0100eb140100ced401008511010001f1010074150200920701009b100100be2400001b030100bc2f0000150401004ff101000416020012fe0000af0e0100c7fe0000650f01002dfc0000d00a02008a24000096020200ed1f000009010300d5d601007e130100b22f00000b0401008bfc0000980b02005831000063040100e3ff00007f10020084fb0000ed09010065fb0000ce09010093ee01005015010008320000c0040300fc3200008106010094fe0000320f01004f2f0000a8030100872f0000e003010075ee010036150100572000003c01040017d60100c2120100e1d501008c120100acfd0000160e03000e2f0000670301001d210000900101001c330000fe060300832f0000dc030100c3d501006e12010073330000280802003bf10100ea150100862400008a02040065d6010010130100e0fc0000480c0300d30300006200020003d40100c610010040d60100eb120100ac240000f5020300392f00009203010040f10100ef1501006ffb0000d809010013fd0000b20c0200c6d401007d11010048f2010058160300833100008e0401002ed60100d912010048f10100f715010089fb0000f209010081ee01003f15010025fc0000c00a020023f20100271601004e330000be070400d22f00002b04010054fd0000140d030001ff0000a90f010040d70100e9130100bcd7010065140100b41d0000de0001003ed4010001110100a9fc0000d90b020022fd0000d00c0200232f00007c0301004e310000590401008afe0000250f020003ff0000ab0f010092320000f3050100f6fc0000780c02003f1d000099000100b81d0000e200010068fe0000f20e0100691d0000c20001009b070100a41001001b330000fa060400a7fd0000070e0300dbff00007a1001007cfc00007a0b0200a5fd0000010e0300413300008e070300a7240000e602030016320000f20404003e2f0000970301009cff00004410010020fb0000ad09010016f101009a1503005b320000a2050200e6d50100911201009ed701004714010014ee0100f81401003f33000087070200d4320000590601002df201003116010088fd0000b00d0300d9d4010090110100aafd0000100e0300c6fc0000130c02006ed501001912010039ee0100161501008ad401004c110100d0d7010077140100b90000000d00010020f10100b81503000bd60100b6120100702f0000c9030100fad40100b11101005c2f0000b5030100ab3200000c060100a3fb00000c0a0100022f00005b0301001ff10100b515030069fc0000530b0300d42400003103010091240000a40203006b320000b705010008fc0000860a0200b2d701005b140100ff330000830903008dfb0000f6090100f0fb01005d1601005232000090050200e5d601008e130100acd501005712010094fb0000fd090100632f0000bc030100a2070100ab10010006fc0000820a02005afc00002a0b020075ff00001d100100dafe0000780f010079ff000021100100622400002e02010009fc0000880a020011210000860101009e310000a604010051d4010014110100202f000079030100a0d601004b13010077d5010022120100b6d701005f14010015ff0000bd0f010044d70100ed1301001cf2010020160100f2fb01005f1601003afc0000ea0a02007b3300003b080200b8fd00003a0e0300c3ff000068100100db330000230902000cff0000b40f01002ad50100dc1101009bee010058150100e22400003f0301009eff000046100100de3200006306010074d501001f12010076ee0100371501009ed501004912010044f201004c16030037f10100e6150100a0fe00003e0f01002aff0000d20f01004f3100005a0401007cd401003e11010067d40100291101004fff0000f70f0100a1fe00003f0f0100a9330000a908020099070100a210010012ee0100f614010092240000a702030096d6010041130100abfc0000dd0b020019fd0000be0c0200e8d50100931201001fee01000315010091fe00002f0f0100c70100002c00020081d601002c130100b72400001403010084d701002d14010042d70100eb130100a23300009408030045d60100f012010070ee01003215010011d60100bc1201007c3300003d08020042d401000511010032fe0000bc0e0100311d00008c0001003831000043040100852400008602040014f1010094150300d0d501007b12010035d60100e012010009330000ac06030008d40100cb10010050fe0000dc0e01008dee01004a15010093fd0000cb0d03007bd6010026130100dbd401009211010036f10100e51501002ff2010033160100edd7010094140100f93200007e060100aa3200000b060100af330000bc080600e424000041030100032000001601010080fd0000980d03004ee00100c51401009bd501004612010085320000e60501008ed70100371401007933000036080300b2070100ba100100b7fe0000550f0100702400004302020020d60100cb120100b4d401006e11010054d70100fd13010046f201005216030060210000e30101002fd70100d81301004ffe0000db0e01007ad401003c110100cd1f0000f70003007d320000db0504008e33000066080200b3330000c808020010fd0000ac0c0200372f00009003010087310000920401005cff00000410010035210000a10101003bd70100e4130100783100008304010086fc00008e0b0200a52f0000fe030100f1d601009a130100b51d0000df0001007dfb0000e609010048fc0000060b0200561d0000af00010047d60100f212010065fe0000f00e010018fc0000a60a0200f1330000590903008c320000ed050100b93200002206020079fb0000e2090100eed40100a51101008f3300006808020063d601000e130100b7330000d00802005ad5010005120100b1fc0000e90b02005432000094050200defb00002b0a0100732f0000cc03010097d401005911010089ff000031100100f5d50100a012010020000000200000000803000061000000200000000403000032000000330000002000000001030000bc0300002000000027030000310000006f000000310000004420000034000000310000004420000032000000330000004420000034000000490000004a000000690000006a0000004c000000b70000006c000000b7000000bc0200006e00000073000000440000005a0000000c030000440000007a0000000c030000640000007a0000000c0300004c0000004a0000004c0000006a0000006c0000006a0000004e0000004a0000004e0000006a0000006e0000006a000000440000005a000000440000007a000000640000007a00000068000000660200006a00000072000000790200007b02000081020000770000007900000020000000060300002000000007030000200000000a03000020000000280300002000000003030000200000000b030000630200006c00000073000000780000009502000020000000450300002000000001030000200000000803000001030000b2030000b8030000a5030000a503000001030000a503000008030000c6030000c0030000ba030000c1030000c203000098030000b5030000a3030000650500008205000027060000740600004806000074060000c7060000740600004a060000740600004d0e0000320e0000cd0e0000b20e0000ab0e0000990e0000ab0e0000a10e00000b0f0000b20f0000710f0000800f0000b30f0000710f0000800f0000dc10000041000000c60000004200000044000000450000008e0100004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000220200005000000052000000540000005500000057000000610000005002000051020000021d0000620000006400000065000000590200005b0200005c020000670000006b0000006d0000004b0100006f00000054020000161d0000171d00007000000074000000750000001d1d00006f02000076000000251d0000b2030000b3030000b4030000c6030000c703000069000000720000007500000076000000b2030000b3030000c1030000c6030000c70300003d040000520200006300000055020000f00000005c020000660000005f020000610200006502000068020000690200006a0200007b1d00009d0200006d020000851d00009f020000710200007002000072020000730200007402000075020000780200008202000083020000ab010000890200008a0200001c1d00008b0200008c0200007a000000900200009102000092020000b803000061000000be02000073000000070300002000000013030000200000001303000020000000420300002000000008030000420300002000000013030000000300002000000013030000010300002000000013030000420300002000000014030000000300002000000014030000010300002000000014030000420300002000000008030000000300002000000008030000010300002000000001030000200000001403000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000001020000020000000330300002e0000002e0000002e0000002e0000002e0000002e0000002000000032200000322000003220000032200000322000003520000035200000352000003520000035200000210000002100000020000000050300003f0000003f0000003f00000021000000210000003f000000322000003220000032200000322000002000000030000000690000003400000035000000360000003700000038000000390000002b000000122200003d00000028000000290000006e000000300000003100000032000000330000003400000035000000360000003700000038000000390000002b000000122200003d000000280000002900000061000000650000006f0000007800000059020000680000006b0000006c0000006d0000006e0000007000000073000000740000005200000073000000610000002f00000063000000610000002f0000007300000043000000b000000043000000630000002f0000006f000000630000002f0000007500000090010000b00000004600000067000000480000004800000048000000680000002701000049000000490000004c0000006c0000004e0000004e0000006f0000005000000051000000520000005200000052000000530000004d00000054000000450000004c000000540000004d0000005a0000005a00000042000000430000006500000045000000460000004d0000006f000000d0050000d1050000d2050000d305000069000000460000004100000058000000c0030000b303000093030000a003000011220000440000006400000065000000690000006a00000031000000442000003700000031000000442000003900000031000000442000003100000030000000310000004420000033000000320000004420000033000000310000004420000035000000320000004420000035000000330000004420000035000000340000004420000035000000310000004420000036000000350000004420000036000000310000004420000038000000330000004420000038000000350000004420000038000000370000004420000038000000310000004420000049000000490000004900000049000000490000004900000049000000560000005600000056000000490000005600000049000000490000005600000049000000490000004900000049000000580000005800000058000000490000005800000049000000490000004c00000043000000440000004d00000069000000690000006900000069000000690000006900000069000000760000007600000076000000690000007600000069000000690000007600000069000000690000006900000069000000780000007800000078000000690000007800000069000000690000006c00000063000000640000006d0000003000000044200000330000002b2200002b2200002b2200002b2200002b2200002e2200002e2200002e2200002e2200002e220000310000003200000033000000340000003500000036000000370000003800000039000000310000003000000031000000310000003100000032000000310000003300000031000000340000003100000035000000310000003600000031000000370000003100000038000000310000003900000032000000300000002800000031000000290000002800000032000000290000002800000033000000290000002800000034000000290000002800000035000000290000002800000036000000290000002800000037000000290000002800000038000000290000002800000039000000290000002800000031000000300000002900000028000000310000003100000029000000280000003100000032000000290000002800000031000000330000002900000028000000310000003400000029000000280000003100000035000000290000002800000031000000360000002900000028000000310000003700000029000000280000003100000038000000290000002800000031000000390000002900000028000000320000003000000029000000310000002e000000320000002e000000330000002e000000340000002e000000350000002e000000360000002e000000370000002e000000380000002e000000390000002e00000031000000300000002e00000031000000310000002e00000031000000320000002e00000031000000330000002e00000031000000340000002e00000031000000350000002e00000031000000360000002e00000031000000370000002e00000031000000380000002e00000031000000390000002e00000032000000300000002e000000280000006100000029000000280000006200000029000000280000006300000029000000280000006400000029000000280000006500000029000000280000006600000029000000280000006700000029000000280000006800000029000000280000006900000029000000280000006a00000029000000280000006b00000029000000280000006c00000029000000280000006d00000029000000280000006e00000029000000280000006f00000029000000280000007000000029000000280000007100000029000000280000007200000029000000280000007300000029000000280000007400000029000000280000007500000029000000280000007600000029000000280000007700000029000000280000007800000029000000280000007900000029000000280000007a000000290000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a000000300000002b2200002b2200002b2200002b2200003a0000003a0000003d0000003d0000003d0000003d0000003d0000003d0000006a00000056000000612d0000cd6b00009f9f0000004e0000284e0000364e00003f4e0000594e0000854e00008c4e0000a04e0000ba4e00003f510000655100006b5100008251000096510000ab510000e0510000f5510000005200009b520000f9520000155300001a53000038530000415300005c5300006953000082530000b6530000c8530000e3530000d75600001f570000eb580000025900000a590000155900002759000073590000505b0000805b0000f85b00000f5c0000225c0000385c00006e5c0000715c0000db5d0000e55d0000f15d0000fe5d0000725e00007a5e00007f5e0000f45e0000fe5e00000b5f0000135f0000505f0000615f0000735f0000c35f000008620000366200004b6200002f650000346500008765000097650000a4650000b9650000e0650000e5650000f06600000867000028670000206b0000626b0000796b0000b36b0000cb6b0000d46b0000db6b00000f6c0000146c0000346c00006b7000002a720000367200003b7200003f72000047720000597200005b720000ac7200008473000089730000dc740000e6740000187500001f75000028750000307500008b75000092750000767600007d760000ae760000bf760000ee760000db770000e2770000f37700003a790000b8790000be790000747a0000cb7a0000f97a0000737c0000f87c0000367f0000517f00008a7f0000bd7f0000018000000c80000012800000338000007f80000089800000e3810000ea810000f3810000fc8100000c8200001b8200001f8200006e82000072820000788200004d8600006b860000408800004c880000638800007e8900008b890000d2890000008a0000378c0000468c0000558c0000788c00009d8c0000648d0000708d0000b38d0000ab8e0000ca8e00009b8f0000b08f0000b58f00009190000049910000c6910000cc910000d191000077950000809500001c960000b6960000b9960000e8960000519700005e9700006297000069970000cb970000ed970000f397000001980000a8980000db980000df9800009699000099990000ac990000a89a0000d89a0000df9a0000259b00002f9b0000329b00003c9b00005a9b0000e59c0000759e00007f9e0000a59e0000bb9e0000c39e0000cd9e0000d19e0000f99e0000fd9e00000e9f0000139f0000209f00003b9f00004a9f0000529f00008d9f00009c9f0000a09f000020000000123000004153000044530000455300002000000099300000200000009a300000883000008a300000b3300000c83000000011000001110000aa11000002110000ac110000ad110000031100000411000005110000b0110000b1110000b2110000b3110000b4110000b51100001a11000006110000071100000811000021110000091100000a1100000b1100000c1100000d1100000e1100000f1100001011000011110000121100006111000062110000631100006411000065110000661100006711000068110000691100006a1100006b1100006c1100006d1100006e1100006f110000701100007111000072110000731100007411000075110000601100001411000015110000c7110000c8110000cc110000ce110000d3110000d7110000d91100001c110000dd110000df1100001d1100001e11000020110000221100002311000027110000291100002b1100002c1100002d1100002e1100002f110000321100003611000040110000471100004c110000f1110000f21100005711000058110000591100008411000085110000881100009111000092110000941100009e110000a1110000004e00008c4e0000094e0000db5600000a4e00002d4e00000b4e000032750000594e0000194e0000014e00002959000030570000ba4e0000280000000011000029000000280000000211000029000000280000000311000029000000280000000511000029000000280000000611000029000000280000000711000029000000280000000911000029000000280000000b11000029000000280000000c11000029000000280000000e11000029000000280000000f1100002900000028000000101100002900000028000000111100002900000028000000121100002900000028000000001100006111000029000000280000000211000061110000290000002800000003110000611100002900000028000000051100006111000029000000280000000611000061110000290000002800000007110000611100002900000028000000091100006111000029000000280000000b1100006111000029000000280000000c1100006111000029000000280000000e1100006111000029000000280000000f1100006111000029000000280000001011000061110000290000002800000011110000611100002900000028000000121100006111000029000000280000000c1100006e11000029000000280000000b110000691100000c11000065110000ab11000029000000280000000b11000069110000121100006e1100002900000028000000004e000029000000280000008c4e00002900000028000000094e00002900000028000000db5600002900000028000000944e000029000000280000006d5100002900000028000000034e000029000000280000006b51000029000000280000005d4e000029000000280000004153000029000000280000000867000029000000280000006b7000002900000028000000346c00002900000028000000286700002900000028000000d191000029000000280000001f5700002900000028000000e565000029000000280000002a68000029000000280000000967000029000000280000003e79000029000000280000000d5400002900000028000000797200002900000028000000a18c000029000000280000005d7900002900000028000000b45200002900000028000000e34e000029000000280000007c5400002900000028000000665b00002900000028000000e37600002900000028000000014f00002900000028000000c78c000029000000280000005453000029000000280000006d7900002900000028000000114f00002900000028000000ea8100002900000028000000f3810000290000004f5500007c5e0000876500008f7b0000500000005400000045000000320000003100000032000000320000003200000033000000320000003400000032000000350000003200000036000000320000003700000032000000380000003200000039000000330000003000000033000000310000003300000032000000330000003300000033000000340000003300000035000000001100000211000003110000051100000611000007110000091100000b1100000c1100000e1100000f11000010110000111100001211000000110000611100000211000061110000031100006111000005110000611100000611000061110000071100006111000009110000611100000b110000611100000c110000611100000e110000611100000f110000611100001011000061110000111100006111000012110000611100000e11000061110000b711000000110000691100000c1100006e1100000b110000741100000b1100006e110000004e00008c4e0000094e0000db560000944e00006d510000034e00006b5100005d4e000041530000086700006b700000346c000028670000d19100001f570000e56500002a680000096700003e7900000d54000079720000a18c00005d790000b4520000d87900003775000073590000699000002a51000070530000e86c000005980000114f000099510000636b00000a4e00002d4e00000b4e0000e65d0000f35300003b530000975b0000665b0000e3760000014f0000c78c0000545300001c590000330000003600000033000000370000003300000038000000330000003900000034000000300000003400000031000000340000003200000034000000330000003400000034000000340000003500000034000000360000003400000037000000340000003800000034000000390000003500000030000000310000000867000032000000086700003300000008670000340000000867000035000000086700003600000008670000370000000867000038000000086700003900000008670000310000003000000008670000310000003100000008670000310000003200000008670000480000006700000065000000720000006700000065000000560000004c0000005400000044000000a2300000a4300000a6300000a8300000aa300000ab300000ad300000af300000b1300000b3300000b5300000b7300000b9300000bb300000bd300000bf300000c1300000c4300000c6300000c8300000ca300000cb300000cc300000cd300000ce300000cf300000d2300000d5300000d8300000db300000de300000df300000e0300000e1300000e2300000e4300000e6300000e8300000e9300000ea300000eb300000ec300000ed300000ef300000f0300000f1300000f2300000e44e00008c540000a2300000cf3000009a300000fc300000c8300000a2300000eb300000d5300000a1300000a2300000f3300000d83000009a300000a2300000a2300000fc300000eb300000a4300000cb300000f3300000af30000099300000a4300000f3300000c1300000a6300000a9300000f3300000a8300000b9300000af300000fc300000c830000099300000a8300000fc300000ab300000fc300000aa300000f3300000b9300000aa300000fc300000e0300000ab300000a4300000ea300000ab300000e9300000c3300000c8300000ab300000ed300000ea300000fc300000ab30000099300000ed300000f3300000ab30000099300000f3300000de300000ad30000099300000ab30000099300000ad30000099300000cb300000fc300000ad300000e5300000ea300000fc300000ad30000099300000eb300000bf30000099300000fc300000ad300000ed300000ad300000ed300000af30000099300000e9300000e0300000ad300000ed300000e1300000fc300000c8300000eb300000ad300000ed300000ef300000c3300000c8300000af30000099300000e9300000e0300000af30000099300000e9300000e0300000c8300000f3300000af300000eb300000bb30000099300000a4300000ed300000af300000ed300000fc300000cd300000b1300000fc300000b9300000b3300000eb300000ca300000b3300000fc300000db3000009a300000b5300000a4300000af300000eb300000b5300000f3300000c1300000fc300000e0300000b7300000ea300000f3300000af30000099300000bb300000f3300000c1300000bb300000f3300000c8300000bf30000099300000fc300000b9300000c630000099300000b7300000c830000099300000eb300000c8300000f3300000ca300000ce300000ce300000c3300000c8300000cf300000a4300000c4300000cf3000009a300000fc300000bb300000f3300000c8300000cf3000009a300000fc300000c4300000cf30000099300000fc300000ec300000eb300000d23000009a300000a2300000b9300000c8300000eb300000d23000009a300000af300000eb300000d23000009a300000b3300000d230000099300000eb300000d5300000a1300000e9300000c3300000c830000099300000d5300000a3300000fc300000c8300000d530000099300000c3300000b7300000a7300000eb300000d5300000e9300000f3300000d8300000af300000bf300000fc300000eb300000d83000009a300000bd300000d83000009a300000cb300000d2300000d8300000eb300000c4300000d83000009a300000f3300000b9300000d83000009a300000fc300000b730000099300000d830000099300000fc300000bf300000db3000009a300000a4300000f3300000c8300000db30000099300000eb300000c8300000db300000f3300000db3000009a300000f3300000c830000099300000db300000fc300000eb300000db300000fc300000f3300000de300000a4300000af300000ed300000de300000a4300000eb300000de300000c3300000cf300000de300000eb300000af300000de300000f3300000b7300000e7300000f3300000df300000af300000ed300000f3300000df300000ea300000df300000ea300000cf30000099300000fc300000eb300000e1300000ab30000099300000e1300000ab30000099300000c8300000f3300000e1300000fc300000c8300000eb300000e4300000fc300000c830000099300000e4300000fc300000eb300000e6300000a2300000f3300000ea300000c3300000c8300000eb300000ea300000e9300000eb300000d23000009a300000fc300000eb300000fc300000d530000099300000eb300000ec300000e0300000ec300000f3300000c8300000b130000099300000f3300000ef300000c3300000c830000030000000b970000031000000b970000032000000b970000033000000b970000034000000b970000035000000b970000036000000b970000037000000b970000038000000b970000039000000b97000003100000030000000b97000003100000031000000b97000003100000032000000b97000003100000033000000b97000003100000034000000b97000003100000035000000b97000003100000036000000b97000003100000037000000b97000003100000038000000b97000003100000039000000b97000003200000030000000b97000003200000031000000b97000003200000032000000b97000003200000033000000b97000003200000034000000b9700000680000005000000061000000640000006100000041000000550000006200000061000000720000006f000000560000007000000063000000640000006d000000640000006d00000032000000640000006d000000330000004900000055000000735e0000106200002d6600008c54000027590000636b00000e660000bb6c00002a6800000f5f00001a4f00003e79000070000000410000006e00000041000000bc030000410000006d000000410000006b000000410000004b000000420000004d00000042000000470000004200000063000000610000006c0000006b00000063000000610000006c00000070000000460000006e00000046000000bc03000046000000bc030000670000006d000000670000006b00000067000000480000007a0000006b000000480000007a0000004d000000480000007a00000047000000480000007a00000054000000480000007a000000bc0300006c0000006d0000006c000000640000006c0000006b0000006c000000660000006d0000006e0000006d000000bc0300006d0000006d0000006d000000630000006d0000006b0000006d0000006d0000006d00000032000000630000006d000000320000006d000000320000006b0000006d000000320000006d0000006d00000033000000630000006d000000330000006d000000330000006b0000006d000000330000006d00000015220000730000006d00000015220000730000003200000050000000610000006b00000050000000610000004d0000005000000061000000470000005000000061000000720000006100000064000000720000006100000064000000152200007300000072000000610000006400000015220000730000003200000070000000730000006e00000073000000bc030000730000006d0000007300000070000000560000006e00000056000000bc030000560000006d000000560000006b000000560000004d0000005600000070000000570000006e00000057000000bc030000570000006d000000570000006b000000570000004d000000570000006b000000a90300004d000000a9030000610000002e0000006d0000002e00000042000000710000006300000063000000630000006400000043000000152200006b00000067000000430000006f0000002e0000006400000042000000470000007900000068000000610000004800000050000000690000006e0000004b0000004b0000004b0000004d0000006b000000740000006c0000006d0000006c0000006e0000006c0000006f000000670000006c000000780000006d000000620000006d000000690000006c0000006d0000006f0000006c0000005000000048000000700000002e0000006d0000002e00000050000000500000004d000000500000005200000073000000720000005300000076000000570000006200000056000000152200006d00000041000000152200006d00000031000000e565000032000000e565000033000000e565000034000000e565000035000000e565000036000000e565000037000000e565000038000000e565000039000000e56500003100000030000000e56500003100000031000000e56500003100000032000000e56500003100000033000000e56500003100000034000000e56500003100000035000000e56500003100000036000000e56500003100000037000000e56500003100000038000000e56500003100000039000000e56500003200000030000000e56500003200000031000000e56500003200000032000000e56500003200000033000000e56500003200000034000000e56500003200000035000000e56500003200000036000000e56500003200000037000000e56500003200000038000000e56500003200000039000000e56500003300000030000000e56500003300000031000000e565000067000000610000006c0000004a0400004c0400006fa70000430000004600000051000000260100005301000027a7000037ab00006b02000052ab00008d02000066000000660000006600000069000000660000006c00000066000000660000006900000066000000660000006c0000007300000074000000730000007400000074050000760500007405000065050000740500006b0500007e05000076050000740500006d050000e2050000d0050000d3050000d4050000db050000dc050000dd050000e8050000ea0500002b000000d0050000dc05000071060000710600007b0600007b0600007b0600007b0600007e0600007e0600007e0600007e060000800600008006000080060000800600007a0600007a0600007a0600007a0600007f0600007f0600007f0600007f06000079060000790600007906000079060000a4060000a4060000a4060000a4060000a6060000a6060000a6060000a6060000840600008406000084060000840600008306000083060000830600008306000086060000860600008606000086060000870600008706000087060000870600008d0600008d0600008c0600008c0600008e0600008e060000880600008806000098060000980600009106000091060000a9060000a9060000a9060000a9060000af060000af060000af060000af060000b3060000b3060000b3060000b3060000b1060000b1060000b1060000b1060000ba060000ba060000bb060000bb060000bb060000bb060000d506000054060000d506000054060000c1060000c1060000c1060000c1060000be060000be060000be060000be060000d2060000d2060000d206000054060000d206000054060000ad060000ad060000ad060000ad060000c7060000c7060000c6060000c6060000c8060000c8060000c706000074060000cb060000cb060000c5060000c5060000c9060000c9060000d0060000d0060000d0060000d006000049060000490600004a06000054060000270600004a06000054060000270600004a06000054060000d50600004a06000054060000d50600004a06000054060000480600004a06000054060000480600004a06000054060000c70600004a06000054060000c70600004a06000054060000c60600004a06000054060000c60600004a06000054060000c80600004a06000054060000c80600004a06000054060000d00600004a06000054060000d00600004a06000054060000d00600004a06000054060000490600004a06000054060000490600004a0600005406000049060000cc060000cc060000cc060000cc0600004a060000540600002c0600004a060000540600002d0600004a06000054060000450600004a06000054060000490600004a060000540600004a060000280600002c060000280600002d060000280600002e06000028060000450600002806000049060000280600004a0600002a0600002c0600002a0600002d0600002a0600002e0600002a060000450600002a060000490600002a0600004a0600002b0600002c0600002b060000450600002b060000490600002b0600004a0600002c0600002d0600002c060000450600002d0600002c0600002d060000450600002e0600002c0600002e0600002d0600002e06000045060000330600002c060000330600002d060000330600002e0600003306000045060000350600002d0600003506000045060000360600002c060000360600002d060000360600002e0600003606000045060000370600002d06000037060000450600003806000045060000390600002c06000039060000450600003a0600002c0600003a06000045060000410600002c060000410600002d060000410600002e06000041060000450600004106000049060000410600004a060000420600002d06000042060000450600004206000049060000420600004a0600004306000027060000430600002c060000430600002d060000430600002e060000430600004406000043060000450600004306000049060000430600004a060000440600002c060000440600002d060000440600002e06000044060000450600004406000049060000440600004a060000450600002c060000450600002d060000450600002e06000045060000450600004506000049060000450600004a060000460600002c060000460600002d060000460600002e06000046060000450600004606000049060000460600004a060000470600002c06000047060000450600004706000049060000470600004a0600004a0600002c0600004a0600002d0600004a0600002e0600004a060000450600004a060000490600004a0600004a060000300600007006000031060000700600004906000070060000200000004c06000051060000200000004d06000051060000200000004e06000051060000200000004f060000510600002000000050060000510600002000000051060000700600004a06000054060000310600004a06000054060000320600004a06000054060000450600004a06000054060000460600004a06000054060000490600004a060000540600004a06000028060000310600002806000032060000280600004506000028060000460600002806000049060000280600004a0600002a060000310600002a060000320600002a060000450600002a060000460600002a060000490600002a0600004a0600002b060000310600002b060000320600002b060000450600002b060000460600002b060000490600002b0600004a0600004106000049060000410600004a0600004206000049060000420600004a0600004306000027060000430600004406000043060000450600004306000049060000430600004a06000044060000450600004406000049060000440600004a0600004506000027060000450600004506000046060000310600004606000032060000460600004506000046060000460600004606000049060000460600004a06000049060000700600004a060000310600004a060000320600004a060000450600004a060000460600004a060000490600004a0600004a0600004a060000540600002c0600004a060000540600002d0600004a060000540600002e0600004a06000054060000450600004a0600005406000047060000280600002c060000280600002d060000280600002e060000280600004506000028060000470600002a0600002c0600002a0600002d0600002a0600002e0600002a060000450600002a060000470600002b060000450600002c0600002d0600002c060000450600002d0600002c0600002d060000450600002e0600002c0600002e06000045060000330600002c060000330600002d060000330600002e0600003306000045060000350600002d060000350600002e0600003506000045060000360600002c060000360600002d060000360600002e0600003606000045060000370600002d0600003806000045060000390600002c06000039060000450600003a0600002c0600003a06000045060000410600002c060000410600002d060000410600002e0600004106000045060000420600002d0600004206000045060000430600002c060000430600002d060000430600002e06000043060000440600004306000045060000440600002c060000440600002d060000440600002e06000044060000450600004406000047060000450600002c060000450600002d060000450600002e0600004506000045060000460600002c060000460600002d060000460600002e06000046060000450600004606000047060000470600002c060000470600004506000047060000700600004a0600002c0600004a0600002d0600004a0600002e0600004a060000450600004a060000470600004a06000054060000450600004a0600005406000047060000280600004506000028060000470600002a060000450600002a060000470600002b060000450600002b060000470600003306000045060000330600004706000034060000450600003406000047060000430600004406000043060000450600004406000045060000460600004506000046060000470600004a060000450600004a06000047060000400600004e06000051060000400600004f060000510600004006000050060000510600003706000049060000370600004a0600003906000049060000390600004a0600003a060000490600003a0600004a0600003306000049060000330600004a0600003406000049060000340600004a0600002d060000490600002d0600004a0600002c060000490600002c0600004a0600002e060000490600002e0600004a0600003506000049060000350600004a0600003606000049060000360600004a060000340600002c060000340600002d060000340600002e060000340600004506000034060000310600003306000031060000350600003106000036060000310600003706000049060000370600004a0600003906000049060000390600004a0600003a060000490600003a0600004a0600003306000049060000330600004a0600003406000049060000340600004a0600002d060000490600002d0600004a0600002c060000490600002c0600004a0600002e060000490600002e0600004a0600003506000049060000350600004a0600003606000049060000360600004a060000340600002c060000340600002d060000340600002e06000034060000450600003406000031060000330600003106000035060000310600003606000031060000340600002c060000340600002d060000340600002e0600003406000045060000330600004706000034060000470600003706000045060000330600002c060000330600002d060000330600002e060000340600002c060000340600002d060000340600002e06000037060000450600003806000045060000270600004b060000270600004b0600002a0600002c060000450600002a0600002d0600002c0600002a0600002d0600002c0600002a0600002d060000450600002a0600002e060000450600002a060000450600002c0600002a060000450600002d0600002a060000450600002e0600002c060000450600002d0600002c060000450600002d0600002d060000450600004a0600002d0600004506000049060000330600002d0600002c060000330600002c0600002d060000330600002c0600004906000033060000450600002d06000033060000450600002d06000033060000450600002c060000330600004506000045060000330600004506000045060000350600002d0600002d060000350600002d0600002d060000350600004506000045060000340600002d06000045060000340600002d06000045060000340600002c0600004a06000034060000450600002e06000034060000450600002e060000340600004506000045060000340600004506000045060000360600002d06000049060000360600002e06000045060000360600002e0600004506000037060000450600002d06000037060000450600002d06000037060000450600004506000037060000450600004a060000390600002c060000450600003906000045060000450600003906000045060000450600003906000045060000490600003a06000045060000450600003a060000450600004a0600003a0600004506000049060000410600002e06000045060000410600002e0600004506000042060000450600002d060000420600004506000045060000440600002d06000045060000440600002d0600004a060000440600002d06000049060000440600002c0600002c060000440600002c0600002c060000440600002e06000045060000440600002e0600004506000044060000450600002d06000044060000450600002d060000450600002d0600002c060000450600002d06000045060000450600002d0600004a060000450600002c0600002d060000450600002c06000045060000450600002e0600002c060000450600002e06000045060000450600002c0600002e06000047060000450600002c060000470600004506000045060000460600002d06000045060000460600002d06000049060000460600002c06000045060000460600002c06000045060000460600002c0600004906000046060000450600004a0600004606000045060000490600004a06000045060000450600004a0600004506000045060000280600002e0600004a0600002a0600002c0600004a0600002a0600002c060000490600002a0600002e0600004a0600002a0600002e060000490600002a060000450600004a0600002a06000045060000490600002c060000450600004a0600002c0600002d060000490600002c0600004506000049060000330600002e06000049060000350600002d0600004a060000340600002d0600004a060000360600002d0600004a060000440600002c0600004a06000044060000450600004a0600004a0600002d0600004a0600004a0600002c0600004a0600004a060000450600004a06000045060000450600004a06000042060000450600004a060000460600002d0600004a06000042060000450600002d060000440600002d0600004506000039060000450600004a06000043060000450600004a060000460600002c0600002d060000450600002e0600004a060000440600002c06000045060000430600004506000045060000440600002c06000045060000460600002c0600002d0600002c0600002d0600004a0600002d0600002c0600004a060000450600002c0600004a06000041060000450600004a060000280600002d0600004a060000430600004506000045060000390600002c06000045060000350600004506000045060000330600002e0600004a060000460600002c0600004a0600003506000044060000d20600004206000044060000d20600002706000044060000440600004706000027060000430600002806000031060000450600002d060000450600002f060000350600004406000039060000450600003106000033060000480600004406000039060000440600004a060000470600004806000033060000440600004506000035060000440600004906000035060000440600004906000020000000270600004406000044060000470600002000000039060000440600004a0600004706000020000000480600003306000044060000450600002c06000044060000200000002c0600004406000027060000440600004706000031060000cc06000027060000440600002c00000001300000023000003a0000003b000000210000003f00000016300000173000002e0000002e0000002e0000002e0000002e00000014200000132000005f0000005f00000028000000290000007b0000007d000000143000001530000010300000113000000a3000000b30000008300000093000000c3000000d3000000e3000000f3000005b0000005d00000020000000050300002000000005030000200000000503000020000000050300005f0000005f0000005f0000002c000000013000002e0000003b0000003a0000003f000000210000001420000028000000290000007b0000007d000000143000001530000023000000260000002a0000002b0000002d0000003c0000003e0000003d0000005c000000240000002500000040000000200000004b060000400600004b060000200000004c060000200000004d060000200000004e060000400600004e060000200000004f060000400600004f06000020000000500600004006000050060000200000005106000040060000510600002000000052060000400600005206000021060000270600005306000027060000530600002706000054060000270600005406000048060000540600004806000054060000270600005506000027060000550600004a060000540600004a060000540600004a060000540600004a0600005406000027060000270600002806000028060000280600002806000029060000290600002a0600002a0600002a0600002a0600002b0600002b0600002b0600002b0600002c0600002c0600002c0600002c0600002d0600002d0600002d0600002d0600002e0600002e0600002e0600002e0600002f0600002f060000300600003006000031060000310600003206000032060000330600003306000033060000330600003406000034060000340600003406000035060000350600003506000035060000360600003606000036060000360600003706000037060000370600003706000038060000380600003806000038060000390600003906000039060000390600003a0600003a0600003a0600003a06000041060000410600004106000041060000420600004206000042060000420600004306000043060000430600004306000044060000440600004406000044060000450600004506000045060000450600004606000046060000460600004606000047060000470600004706000047060000480600004806000049060000490600004a0600004a0600004a0600004a060000440600002706000053060000440600002706000053060000440600002706000054060000440600002706000054060000440600002706000055060000440600002706000055060000440600002706000044060000270600002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b0000007c0000007d0000007e0000008529000086290000023000000c3000000d30000001300000fb300000f2300000a1300000a3300000a5300000a7300000a9300000e3300000e5300000e7300000c3300000fc300000a2300000a4300000a6300000a8300000aa300000ab300000ad300000af300000b1300000b3300000b5300000b7300000b9300000bb300000bd300000bf300000c1300000c4300000c6300000c8300000ca300000cb300000cc300000cd300000ce300000cf300000d2300000d5300000d8300000db300000de300000df300000e0300000e1300000e2300000e4300000e6300000e8300000e9300000ea300000eb300000ec300000ed300000ef300000f3300000993000009a300000601100000011000001110000aa11000002110000ac110000ad110000031100000411000005110000b0110000b1110000b2110000b3110000b4110000b51100001a11000006110000071100000811000021110000091100000a1100000b1100000c1100000d1100000e1100000f1100001011000011110000121100006111000062110000631100006411000065110000661100006711000068110000691100006a1100006b1100006c1100006d1100006e1100006f110000701100007111000072110000731100007411000075110000a2000000a3000000ac0000002000000004030000a6000000a5000000a92000000225000090210000912100009221000093210000a0250000cb250000d0020000d1020000e60000009902000053020000a302000066ab0000a5020000a40200005602000057020000911d0000580200005e020000a90200006402000062020000600200009b020000270100009c0200006702000084020000aa020000ab0200006c02000004df01008ea700006e02000005df01008e02000006df0100f80000007602000077020000710000007a02000008df01007d0200007e02000080020000a8020000a602000067ab0000a702000088020000712c00008f020000a1020000a202000098020000c0010000c1010000c20100000adf01001edf01004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a00000061000000620000006300000064000000650000006600000067000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a000000410000004300000044000000470000004a0000004b0000004e0000004f0000005000000051000000530000005400000055000000560000005700000058000000590000005a000000610000006200000063000000640000006600000068000000690000006a0000006b0000006c0000006d0000006e000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000440000004500000046000000470000004a0000004b0000004c0000004d0000004e0000004f0000005000000051000000530000005400000055000000560000005700000058000000590000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a000000410000004200000044000000450000004600000047000000490000004a0000004b0000004c0000004d0000004f000000530000005400000055000000560000005700000058000000590000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a00000031010000370200009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c00300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c00300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c00300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c00300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a103000098030000a3030000a4030000a5030000a6030000a7030000a8030000a903000007220000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c903000002220000b5030000b8030000ba030000c6030000c1030000c0030000dc030000dd03000030000000310000003200000033000000340000003500000036000000370000003800000039000000300000003100000032000000330000003400000035000000360000003700000038000000390000003000000031000000320000003300000034000000350000003600000037000000380000003900000030000000310000003200000033000000340000003500000036000000370000003800000039000000300000003100000032000000330000003400000035000000360000003700000038000000390000003004000031040000320400003304000034040000350400003604000037040000380400003a0400003b0400003c0400003e0400003f0400004004000041040000420400004304000044040000450400004604000047040000480400004b0400004d0400004e04000089a60000d90400005604000058040000e9040000af040000cf0400003004000031040000320400003304000034040000350400003604000037040000380400003a0400003b0400003e0400003f040000410400004304000044040000450400004604000047040000480400004a0400004b0400009104000056040000550400005f040000ab04000051a60000b104000027060000280600002c0600002f06000048060000320600002d060000370600004a06000043060000440600004506000046060000330600003906000041060000350600004206000031060000340600002a0600002b0600002e0600003006000036060000380600003a0600006e060000ba060000a10600006f060000280600002c060000470600002d0600004a060000430600004406000045060000460600003306000039060000410600003506000042060000340600002a0600002b0600002e060000360600003a0600002c0600002d0600004a060000440600004606000033060000390600003506000042060000340600002e060000360600003a060000ba0600006f060000280600002c060000470600002d060000370600004a0600004306000045060000460600003306000039060000410600003506000042060000340600002a0600002b0600002e06000036060000380600003a0600006e060000a106000027060000280600002c0600002f0600004706000048060000320600002d060000370600004a060000440600004506000046060000330600003906000041060000350600004206000031060000340600002a0600002b0600002e0600003006000036060000380600003a060000280600002c0600002f06000048060000320600002d060000370600004a060000440600004506000046060000330600003906000041060000350600004206000031060000340600002a0600002b0600002e0600003006000036060000380600003a060000300000002e000000300000002c000000310000002c000000320000002c000000330000002c000000340000002c000000350000002c000000360000002c000000370000002c000000380000002c000000390000002c000000280000004100000029000000280000004200000029000000280000004300000029000000280000004400000029000000280000004500000029000000280000004600000029000000280000004700000029000000280000004800000029000000280000004900000029000000280000004a00000029000000280000004b00000029000000280000004c00000029000000280000004d00000029000000280000004e00000029000000280000004f00000029000000280000005000000029000000280000005100000029000000280000005200000029000000280000005300000029000000280000005400000029000000280000005500000029000000280000005600000029000000280000005700000029000000280000005800000029000000280000005900000029000000280000005a0000002900000014300000530000001530000043000000520000004300000044000000570000005a0000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a00000048000000560000004d000000560000005300000044000000530000005300000050000000500000005600000057000000430000004d000000430000004d000000440000004d00000052000000440000004a0000007b3000004b300000b3300000b3300000b53000004b620000575b0000cc530000c6300000993000008c4e00001a590000e389000029590000a44e00002066000021710000996500004d5200008c5f00008d510000b06500001d520000427d00001f750000a98c0000f058000039540000146f00009562000055630000004e0000094e00004a900000e65d00002d4e0000f353000007630000708d000053620000817900007a7a000008540000806e000009670000086700003375000072520000b65500004d910000143000002c6700001530000014300000094e000015300000143000008c4e00001530000014300000895b00001530000014300000b97000001530000014300000536200001530000014300000d77600001530000014300000dd52000015300000143000005765000015300000975f0000ef53000030000000310000003200000033000000340000003500000036000000370000003800000039000000dcee13006d000000420000004a000000dcee13006d0000004200000038000000004190bcd3000ba8033700000000000000000000000000000000000000000000000000000061000000000000001902000000000000000000000000000000000000000000000000000001000000c42d12002a0000005b02000000000000000000000000000000000000000000000000000066020000000000006702000000000000680200000000000069020000000000006a020000000000006b020000000000006c020000000000006d020000000000006e020000000000006f0200000000000070020000000000007102000000000000720200000000000073020000000000007402000000000000750200000000000076020000000000007702000000000000780200000000000079020000000000007a020000000000007b020000000000007c020000000000007d020000000000007e020000000000007f0200000000000080020000000000008102000000000000820200000000000083020000000000008402000000000000850200000000000086020000000000008702000000000000880200000000000089020000000000008a020000000000008b020000000000008c020000000000008d020000000000000041b8bfd3000b38000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500f72756e74696d655f76657273696f6e5863756d756c75732d746573742d70617261636861696e5863756d756c75732d746573742d70617261636861696e01000000020000000100000000010000000100c1010c72756e74696d655f61706973df6acb689907609b05000000d7bdd8a272ca0d650200000004e70521a0d3d2f801000000dd718d5cc53262d40100000037e397fc7c91f5e402000000bc9d89904f5b923f0100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b010000007dc23ff6bf0f15ca01000000ea93e3f16f3d696203000000695c80446b8b3d4e01000000fbc577b9d747efd601000000a2ddb6a58477bf6301000000009eae14046e616d65001a1963756d756c75735f746573745f72756e74696d652e7761736d01ccad14f41600336578745f73746f726167655f70726f6f665f73697a655f73746f726167655f70726f6f665f73697a655f76657273696f6e5f31011c6578745f6d6973635f7072696e745f6865785f76657273696f6e5f31021d6578745f6d6973635f7072696e745f757466385f76657273696f6e5f3103226578745f6d6973635f72756e74696d655f76657273696f6e5f76657273696f6e5f3104236578745f63727970746f5f656432353531395f7665726966795f76657273696f6e5f3105376578745f63727970746f5f736563703235366b315f65636473615f7265636f7665725f636f6d707265737365645f76657273696f6e5f3206256578745f63727970746f5f737232353531395f67656e65726174655f76657273696f6e5f3107236578745f63727970746f5f737232353531395f7665726966795f76657273696f6e5f3208196578745f6c6f6767696e675f6c6f675f76657273696f6e5f31091f6578745f6c6f6767696e675f6d61785f6c6576656c5f76657273696f6e5f310a1c6578745f73746f726167655f617070656e645f76657273696f6e5f310b1b6578745f73746f726167655f636c6561725f76657273696f6e5f310c226578745f73746f726167655f636c6561725f7072656669785f76657273696f6e5f320d286578745f73746f726167655f636f6d6d69745f7472616e73616374696f6e5f76657273696f6e5f310e1c6578745f73746f726167655f6578697374735f76657273696f6e5f310f196578745f73746f726167655f6765745f76657273696f6e5f31101e6578745f73746f726167655f6e6578745f6b65795f76657273696f6e5f31111a6578745f73746f726167655f726561645f76657273696f6e5f31122a6578745f73746f726167655f726f6c6c6261636b5f7472616e73616374696f6e5f76657273696f6e5f31131a6578745f73746f726167655f726f6f745f76657273696f6e5f3214196578745f73746f726167655f7365745f76657273696f6e5f3115276578745f73746f726167655f73746172745f7472616e73616374696f6e5f76657273696f6e5f3116296578745f64656661756c745f6368696c645f73746f726167655f636c6561725f76657273696f6e5f3117306578745f64656661756c745f6368696c645f73746f726167655f636c6561725f7072656669785f76657273696f6e5f32182a6578745f64656661756c745f6368696c645f73746f726167655f6578697374735f76657273696f6e5f3119276578745f64656661756c745f6368696c645f73746f726167655f6765745f76657273696f6e5f311a2c6578745f64656661756c745f6368696c645f73746f726167655f6e6578745f6b65795f76657273696f6e5f311b286578745f64656661756c745f6368696c645f73746f726167655f726561645f76657273696f6e5f311c286578745f64656661756c745f6368696c645f73746f726167655f726f6f745f76657273696f6e5f321d276578745f64656661756c745f6368696c645f73746f726167655f7365745f76657273696f6e5f311e306578745f64656661756c745f6368696c645f73746f726167655f73746f726167655f6b696c6c5f76657273696f6e5f331f206578745f68617368696e675f626c616b65325f3132385f76657273696f6e5f3120206578745f68617368696e675f626c616b65325f3235365f76657273696f6e5f31211e6578745f68617368696e675f74776f785f3132385f76657273696f6e5f31221e6578745f68617368696e675f74776f785f3235365f76657273696f6e5f31231d6578745f68617368696e675f74776f785f36345f76657273696f6e5f3124226578745f6f6666636861696e5f696e6465785f636c6561725f76657273696f6e5f3125206578745f6f6666636861696e5f696e6465785f7365745f76657273696f6e5f31261c6578745f616c6c6f6361746f725f667265655f76657273696f6e5f31271e6578745f616c6c6f6361746f725f6d616c6c6f635f76657273696f6e5f31282a6578745f747269655f626c616b65325f3235365f6f7264657265645f726f6f745f76657273696f6e5f3229665f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e672447542431376837653032396630303130356562643033452e6c6c766d2e31383239333731373231353238373635343430362a6c5f5a4e35335f244c5424636f72652e2e666d742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863326461613638363131383434653233452e6c6c766d2e31383239333731373231353238373635343430362b7c5f5a4e36395f244c5424636f72652e2e616c6c6f632e2e6c61796f75742e2e4c61796f75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865646636613236353735633230373033452e6c6c766d2e31383239333731373231353238373635343430362c525f5a4e35616c6c6f63377261775f766563313763617061636974795f6f766572666c6f7731376839353430653735656661613336303636452e6c6c766d2e31383239333731373231353238373635343430362d435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376865376563326532313537613135663130452e335f5a4e35616c6c6f63377261775f766563313268616e646c655f6572726f7231376838303132303335363233643563306163452f4c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376833613831393365333139613630303664452e6c6c766d2e3138323933373137323135323837363534343036305a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c65313768343832626633333439613930663165324531365f5a4e35616c6c6f6333666d7436666f726d61743132666f726d61745f696e6e6572313768343162353265326665363364663336304532775f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376863383135393865633862343761343139452e6c6c766d2e313832393337313732313532383736353434303633795f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f6368617231376862613566323334333230633730336465452e6c6c766d2e313832393337313732313532383736353434303634305f5a4e34636f726533666d743557726974653977726974655f666d743137686133323435383834396536613736386545354c5f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e67244754243137683765303239663030313035656264303345365d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137686338313539386563386234376134313945375f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f636861723137686261356632333433323063373033646545384c5f5a4e35616c6c6f63337665633136566563244c54245424432441244754243973706c69745f6f666631336173736572745f6661696c6564313768376237313061616366386136363466314539375f5a4e35616c6c6f6335616c6c6f63313868616e646c655f616c6c6f635f6572726f7231376833643063646563393361633730613166453a095f5f72646c5f6f6f6d3b6b5f5a4e36395f244c5424626974636f696e5f6861736865732e2e7368613235362e2e48617368247532302461732475323024626974636f696e5f6861736865732e2e4861736824475424313166726f6d5f656e67696e6531376865376262643761323538306161376232453c705f5a4e38315f244c5424626974636f696e5f6861736865732e2e7368613235362e2e48617368456e67696e65247532302461732475323024626974636f696e5f6861736865732e2e48617368456e67696e652447542435696e70757431376866383933346363653335663635363565453d375f5a4e36626c616b65323134426c616b653262566172436f726538636f6d707265737331376832306366643364353038663135386166453e4a5f5a4e3132626c616b6532625f73696d6434677574733134496d706c656d656e746174696f6e3134636f6d7072657373315f6c6f6f7031376839623662643761646236303131653135453f325f5a4e3132626c616b6532625f73696d6435537461746536757064617465313768633838616361613964353836313735334540305f5a4e3462733538366465636f646531316465636f64655f696e746f313768313938653761613731393430353337654541785f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d7431376832626161303266653337366266356439452e6c6c766d2e313338353534363238373239353534383730373542625f5a4e36395f244c5424636f72652e2e616c6c6f632e2e6c61796f75742e2e4c61796f75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768656466366132363537356332303730334543325f5a4e3562797465733562797465733542797465733873706c69745f746f3137683636313933376431663663363261353945444b5f5a4e35627974657335627974657331327374617469635f636c6f6e6531376834616230626161646636616135313834452e6c6c766d2e313338353534363238373239353534383730373545325f5a4e35627974657335627974657331337374617469635f746f5f766563313768653065393033386338663463313064664546325f5a4e35627974657335627974657331337374617469635f746f5f6d75743137683137396335343437656334633037346645474f5f5a4e35627974657335627974657331367374617469635f69735f756e6971756531376863346532666436303833353765623363452e6c6c766d2e3133383535343632383732393535343837303735484a5f5a4e35627974657335627974657331317374617469635f64726f7031376834346531366138636365343663393630452e6c6c766d2e3133383535343632383732393535343837303735493a5f5a4e356279746573356279746573323170726f6d6f7461626c655f6576656e5f636c6f6e6531376839373637643832633132396231353533454a365f5a4e35627974657335627974657331377368616c6c6f775f636c6f6e655f76656331376832343430363765303034326437663865454b3b5f5a4e356279746573356279746573323270726f6d6f7461626c655f6576656e5f746f5f76656331376866663763356666306339613036346230454c3b5f5a4e356279746573356279746573323270726f6d6f7461626c655f6576656e5f746f5f6d757431376864663163323639666565356363353534454d375f5a4e35627974657335627974657331387368617265645f746f5f6d75745f696d706c31376866366235363436623130636537643135454e395f5a4e356279746573356279746573323070726f6d6f7461626c655f6576656e5f64726f7031376831376431393238653965313039356633454f395f5a4e356279746573356279746573323070726f6d6f7461626c655f6f64645f636c6f6e653137683363656561303135333266623531626345503a5f5a4e356279746573356279746573323170726f6d6f7461626c655f6f64645f746f5f7665633137683239303633616135386434396132313345513a5f5a4e356279746573356279746573323170726f6d6f7461626c655f6f64645f746f5f6d7574313768373865643439613830646331303663354552385f5a4e356279746573356279746573313970726f6d6f7461626c655f6f64645f64726f70313768646136326630663731353363313135304553395f5a4e356279746573356279746573323070726f6d6f7461626c655f69735f756e697175653137683734333230396364353438393836666645544b5f5a4e35627974657335627974657331327368617265645f636c6f6e6531376861626362393831613135633235343038452e6c6c766d2e3133383535343632383732393535343837303735554c5f5a4e35627974657335627974657331337368617265645f746f5f76656331376866386139653132346433306363303766452e6c6c766d2e3133383535343632383732393535343837303735564c5f5a4e35627974657335627974657331337368617265645f746f5f6d757431376830646330316633313636313264333335452e6c6c766d2e3133383535343632383732393535343837303735574f5f5a4e35627974657335627974657331367368617265645f69735f756e6971756531376830383264373935373665646136653532452e6c6c766d2e3133383535343632383732393535343837303735584a5f5a4e35627974657335627974657331317368617265645f64726f7031376861383334646435333431313562613135452e6c6c766d2e313338353534363238373239353534383730373559705f5a4e35627974657333666d7435646562756736375f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f72247532302462797465732e2e666d742e2e42797465735265662447542433666d7431376833336135616430383461316236366435455a235f5a4e3562797465733561626f727431376837386539613363336539636639616237455b4e5f5a4e34636f726533666d74336e756d313470617273655f7536345f696e746f31376836376165626366663962313739653330452e6c6c766d2e31333735333336353231393031343630343835305c5f5f5a4e34636f726533666d74336e756d35335f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f722475323024753132382447542433666d7431376861333765333435663636346562623666455d475f5a4e34636f726533666d74336e756d38666d745f7531323831376835613536366363303031343262643930452e6c6c766d2e31333735333336353231393031343630343835305e5c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e42696e6172792475323024666f72247532302475382447542433666d7431376831366137363962346436393063353938455f5e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e4c6f7765724865782475323024666f72247532302475382447542433666d74313768633164616562626163383532666265304560535f5a4e34636f72653463686172376d6574686f647332325f244c5424696d706c2475323024636861722447542431366573636170655f64656275675f657874313768316466623564343233303566653662334561585f5a4e35395f244c5424636f72652e2e666d742e2e417267756d656e7473247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d74313768333937636361383435373764336231644562265f5a4e34636f726533666d74357772697465313768623732346135366166356265613236384563385f5a4e34636f726533666d7439466f726d617474657231327061645f696e74656772616c313768376239396632393838613861336565634564465f5a4e34636f726533666d7439466f726d617474657231327061645f696e74656772616c313277726974655f7072656669783137686535336362633534316563663535373245652e5f5a4e34636f726533666d7439466f726d6174746572337061643137686435613632326461393466356565343545663f5f5a4e34636f726533666d7439466f726d617474657231397061645f666f726d61747465645f7061727473313768343766633430393636636231613366374567415f5a4e34636f726533666d7439466f726d6174746572323177726974655f666f726d61747465645f7061727473313768326362366565623836336230313037654568455f5a4e34636f726533666d7439466f726d6174746572323564656275675f7475706c655f6669656c64325f66696e697368313768663431343037393865303133336662354569455f5a4e34636f726533666d7439466f726d6174746572323564656275675f7475706c655f6669656c64335f66696e69736831376830653535396166393164653635393132456a485f5a4e34335f244c5424626f6f6c247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376833653534316665373831663764663063456b455f5a4e34305f244c5424737472247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863306436373334333663316131623866456c465f5a4e34315f244c542463686172247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376831613766626631336262323538396439456d485f5a4e34335f244c542463686172247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376864386536653863316639356437376531456e475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376864326630353464346263613338393634456f475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768643366333138353566613564363065374570475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768653163336561643166643339323036394571495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d74313768306536356334633233313562363236394572305f5a4e34636f72653970616e69636b696e673970616e69635f666d743137686362623132636261653861643436353345733a5f5a4e34636f72653970616e69636b696e67313870616e69635f6e6f756e77696e645f666d743137683930383432343530626165633163626445742c5f5a4e34636f72653970616e69636b696e673570616e69633137683662323662353265626662343632386145753a5f5a4e34636f72653970616e69636b696e67313870616e69635f626f756e64735f636865636b313768396665383865613833653432633436374576355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683539363738353535656631643964336545773b5f5a4e34636f72653970616e69636b696e6731396173736572745f6661696c65645f696e6e6572313768623932386163393130653839663336384578355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c6564313768366132646636303566313935303462384579325f5a4e34636f7265337374723136736c6963655f6572726f725f6661696c31376833303034623039616133376539643463457a355f5a4e34636f7265337374723139736c6963655f6572726f725f6661696c5f727431376863386166336533356332656239626433457b4c5f5a4e34636f7265336e756d37666c74326465633873747261746567793567726973753139666f726d61745f73686f72746573745f6f707431376831363935393235623435363763383833457c495f5a4e34636f7265336e756d37666c74326465633873747261746567793567726973753136666f726d61745f65786163745f6f707431376838383738383062353130373134366533457d595f5a4e34636f7265336e756d37666c74326465633873747261746567793567726973753136666f726d61745f65786163745f6f70743134706f737369626c795f726f756e6431376862326264316364356638646165656536457e595f5a4e36305f244c5424636f72652e2e63656c6c2e2e426f72726f774572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836316630623764306431323961386561457f5c5f5a4e36335f244c5424636f72652e2e63656c6c2e2e426f72726f774d75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376838623666613037633263336538653665458001395f5a4e34636f72653463656c6c323270616e69635f616c72656164795f626f72726f77656431376863666236346630363564356466383933458101415f5a4e34636f72653463656c6c333070616e69635f616c72656164795f6d757461626c795f626f72726f77656431376835306330663263373764323866653933458201455f5a4e34636f726533666d7435666c6f61743239666c6f61745f746f5f646563696d616c5f636f6d6d6f6e5f657861637431376865393539386330383136616239333863458301485f5a4e34636f726533666d7435666c6f61743332666c6f61745f746f5f646563696d616c5f636f6d6d6f6e5f73686f727465737431376832383333616133303338646238656163458401605f5a4e34636f726533666d7435666c6f617435325f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f7224753230246636342447542433666d7431376862313566393831353466343463616533458501505f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f7274323270616e69635f6f6e5f6f72645f76696f6c6174696f6e31376839643966666430336234643465656162458601655f5a4e34636f726535736c69636532395f244c5424696d706c24753230242475356224542475356424244754243135636f70795f66726f6d5f736c69636531376c656e5f6d69736d617463685f6661696c31376834313631656338323232316531666430458701765f5a4e34636f726535736c69636532395f244c5424696d706c24753230242475356224542475356424244754243135636f70795f66726f6d5f736c69636531376c656e5f6d69736d617463685f6661696c38646f5f70616e69633772756e74696d65313768316166303862633765336538346638354588014c5f5a4e34636f72653970616e69636b696e67313170616e69635f636f6e7374323370616e69635f636f6e73745f6469765f62795f7a65726f313768313038396533376639326239386130374589014c5f5a4e34636f72653970616e69636b696e67313170616e69635f636f6e7374323370616e69635f636f6e73745f72656d5f62795f7a65726f31376861653062343336376464643465653062458a01325f5a4e34636f7265366f7074696f6e3133756e777261705f6661696c656431376831383130383331336461396365636462458b01325f5a4e34636f7265366f7074696f6e31336578706563745f6661696c656431376866343339396663623031306438326362458c014c5f5a4e34636f726537756e69636f6465397072696e7461626c6535636865636b31376861396365303733373866646530313438452e6c6c766d2e3132373535383631323337313238353736328d013c5f5a4e34636f726537756e69636f6465397072696e7461626c65313269735f7072696e7461626c6531376865383161626435663262326130323430458e01615f5a4e34636f726533666d74336e756d33696d7035315f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f72247532302475382447542433666d7431376832653161646331396236373833393936458f015e5f5a4e34636f726533666d74336e756d33696d7032315f244c5424696d706c247532302475313624475424345f666d7431376865646265666131663365653335336630452e6c6c766d2e31323334303530313930373930383735373638369001625f5a4e34636f726533666d74336e756d33696d7035325f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f7224753230247533322447542433666d74313768656234396166646534613730323561654591015e5f5a4e34636f726533666d74336e756d33696d7032315f244c5424696d706c247532302475333224475424345f666d7431376831393937303065363235306637356437452e6c6c766d2e31323334303530313930373930383735373638369201625f5a4e34636f726533666d74336e756d33696d7035325f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f7224753230247536342447542433666d74313768613962623039393639373037623663304593015e5f5a4e34636f726533666d74336e756d33696d7032315f244c5424696d706c247532302475363424475424345f666d7431376830363632323636343136623765353563452e6c6c766d2e31323334303530313930373930383735373638369401625f5a4e34636f726533666d74336e756d33696d7035325f244c5424696d706c2475323024636f72652e2e666d742e2e446973706c61792475323024666f7224753230246936342447542433666d7431376837366434623932383038396664653930459501765f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d7431376836393639303539383732343262333266452e6c6c766d2e3130353434393132393536343332343536353936960180015f5a4e37335f244c5424636f72652e2e6e756d2e2e6e6f6e7a65726f2e2e4e6f6e5a65726f244c54245424475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376864343566663336306563366630616362452e6c6c766d2e31303534343931323935363433323435363539369701645f5a4e37315f244c5424636f72652e2e6f70732e2e72616e67652e2e52616e6765244c542449647824475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836313566666431376163633030393466459801665f5a4e37335f244c5424636f72652e2e70616e69632e2e70616e69635f696e666f2e2e50616e6963496e666f247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376832313835316465393361613733333162459901395f5a4e34636f7265336e756d366269676e756d384269673332783430386d756c5f706f773231376832393164383039376431626537343761459a013c5f5a4e34636f7265336e756d366269676e756d38426967333278343031306d756c5f64696769747331376838336233326237303234616634323031459b01675f5a4e36385f244c5424636f72652e2e666d742e2e6275696c646572732e2e50616441646170746572247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376836363364306431616461626266663730459c01695f5a4e36385f244c5424636f72652e2e666d742e2e6275696c646572732e2e50616441646170746572247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f6368617231376863623235633761616638393135656530459d013c5f5a4e34636f726533666d74386275696c6465727331314465627567537472756374356669656c6431376837396331636532393363613462303562459e01395f5a4e34636f726533666d74386275696c646572733944656275674c69737435656e74727931376839306363396331363465373462663830459f014a5f5a4e34636f726533666d743557726974653977726974655f666d7431376862353036613838326631393962633034452e6c6c766d2e3130383933373037373237323735383730343433a001395f5a4e34636f726533737472377061747465726e31315374725365617263686572336e65773137683861363339643665386638343033326445a101425f5a4e34636f7265336e756d37666c743264656338737472617465677936647261676f6e396d756c5f706f7731303137683661316536323232376635663664366545a201495f5a4e34636f7265336e756d37666c743264656338737472617465677936647261676f6e3135666f726d61745f73686f72746573743137686465393730613633313834393337393345a301465f5a4e34636f7265336e756d37666c743264656338737472617465677936647261676f6e3132666f726d61745f65786163743137683232613335663633306332353633333845a401325f5a4e34636f726536726573756c743133756e777261705f6661696c65643137683865356436396261623936626163666345a5013b5f5a4e34636f7265336e756d37666c743264656331376469676974735f746f5f6465635f7374723137683164356532323936613836666632323545a601395f5a4e34636f7265336e756d37666c74326465633135746f5f73686f72746573745f7374723137686337616137326166316532373766636645a7013c5f5a4e34636f7265336e756d37666c74326465633138746f5f65786163745f66697865645f7374723137686536363166353939303466303937336145a801445f5a4e34636f726535736c69636535696e6465783236736c6963655f73746172745f696e6465785f6c656e5f6661696c3137683366393933316434356464383635316345a901555f5a4e34636f726535736c69636535696e6465783236736c6963655f73746172745f696e6465785f6c656e5f6661696c38646f5f70616e69633772756e74696d653137683233383764346635633361646162623945aa01425f5a4e34636f726535736c69636535696e6465783234736c6963655f656e645f696e6465785f6c656e5f6661696c3137686638643865313766623232616534653745ab01535f5a4e34636f726535736c69636535696e6465783234736c6963655f656e645f696e6465785f6c656e5f6661696c38646f5f70616e69633772756e74696d653137686634613039306333613630353732323345ac01405f5a4e34636f726535736c69636535696e6465783232736c6963655f696e6465785f6f726465725f6661696c3137686430383337616339366266353737316345ad01515f5a4e34636f726535736c69636535696e6465783232736c6963655f696e6465785f6f726465725f6661696c38646f5f70616e69633772756e74696d653137683332616436636562313662343866383045ae01335f5a4e34636f72653373747238636f6e76657274733966726f6d5f757466383137683531383866383566636465353634343845af01365f5a4e34636f72653373747235636f756e743134646f5f636f756e745f63686172733137686530376232646466363262376535333345b001505f5a4e34636f726537756e69636f64653132756e69636f64655f6461746131356772617068656d655f657874656e6431316c6f6f6b75705f736c6f773137686637393462386339643431616533326545b1019c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686666373836343965616431326136376145b20192025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683163623330303936393034626463373445b301655f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313562756c6b5f737465616c5f6c6566743137686565306336653263653233636636633545b401665f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313662756c6b5f737465616c5f72696768743137686239653763636666356233326338393445b5015d5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b244324562447542438646f5f6d657267653137683432373066336264326633646433316645b601f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137686363646430653333626166623836353445b701cd025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653235395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313472656d6f76655f6c6561665f6b763137683136646364313964653363653634336645b801db025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653236395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313872656d6f76655f6b765f747261636b696e673137683138656335653730336263333232333345b901465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683233613763616335383166386234333945ba01465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686134646639626535353632623965353345bb01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683038303064383738663062316330363345bc01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683238303765376261386566356539383345bd01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683262353464623230633535396239343145be01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683262643265326634386263386130623145bf01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683265343633373861356536366333613245c001485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683333333762663836666436393438363745c101485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683336393035386362363731373162396545c201485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683363656432646662376634623934343145c301485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683364393839326165613061346438383645c401485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683462386634333534313431306166343145c501485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683463653738636530396433343663383145c601485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683564313832346137363461626532656145c701485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683662303362303731373863643135343845c801485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683735626337393937303930393761646345c901485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683739353036353433366565636230386345ca01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683765623032643565616634326238343045cb01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686338363161313330313166356531366545cc01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686434633462653664386638656238393345cd01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686564623039303931646330363032656545ce01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686637313230306164653437626263643245cf01485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686665643161373964663663313938333145d001315f5a4e34636f7265336f70733866756e6374696f6e32466e3463616c6c3137686162373339396239326538666564616645d1015a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137683832633962393933333764363461346345d201765f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542432376c6f6f6b5f75705f776974685f63616368655f696e7465726e616c32385f24753762242475376224636c6f73757265247537642424753764243137683763636638326338393231666539616545d3015a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137686263323264316533373231316331306345d4014d5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431366c6f61645f6f776e65645f76616c75653137686635363231383364366239653032643345d5016b5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431366c6f61645f6f776e65645f76616c756532385f24753762242475376224636c6f73757265247537642424753764243137683536313536613938636234363931303045d6016d5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431386c6f6f6b5f75705f776974685f636163686532385f24753762242475376224636c6f73757265247537642424753764243137683734616166326666343335323738343945d701435f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c2443245124475424376c6f6f6b5f75703137683738326662616632336361366634373945d8015a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f743130726561645f656e7472793137683137373139386665316438346530613045d9015a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f743130726561645f656e7472793137683363666561393530323039613536303245da01685f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f66336e65773137686466396233613732333564633238653845db0183015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f663239726561645f6d6573736167696e675f73746174655f736e617073686f743137683132663532336237383230376632376545dc017d5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f663233726561645f696e636c756465645f706172615f686561643137686330646539623932343363376333333945dd0182015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f663238726561645f757067726164655f676f5f61686561645f7369676e616c3137683662613564616237353062636533613845de0185015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74323052656c6179436861696e537461746550726f6f663331726561645f757067726164655f7265737472696374696f6e5f7369676e616c3137686139623266326563633061636463303445df01ea015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74315f3134315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e72656c61795f73746174655f736e617073686f742e2e52656c61794469737061746368517565756552656d61696e696e6743617061636974792447542439747970655f696e666f3137683664303464653562666339656465326545e001dd015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d323072656c61795f73746174655f736e617073686f74315f3132385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e72656c61795f73746174655f736e617073686f742e2e4d6573736167696e675374617465536e617073686f742447542439747970655f696e666f3137683364323330363062363237636363386345e1014c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f7265686173683137686130633035333664306465653230643345e201a2015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c54244824475424244754243773746f726167653137683161623732616534636563643234626545e30182015f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e48323536244754242447542431376836333663356130363039636235306236452e6c6c766d2e37303235343731313439363934333432363437e401b9015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424336765743137686661356261613830613465663938323945e501be015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137683064386265663530653338356236656445e6013b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137686261343364336235396439333934373345e701415f5a4e37747269655f6462346e6f646531304e6f646548616e646c653135746f5f6f776e65645f68616e646c653137686330613932376632626537666461633945e801385f5a4e37747269655f6462346e6f6465344e6f64653133746f5f6f776e65645f6e6f64653137686433663465373734333465303637376645e901425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686430623630356635613138383937306445ea01725f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e323476616c69646174655f76616c69646174696f6e5f646174613137686232346162663738323833663436663045eb016b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3137686f73745f73746f726167655f726561643137686531323639393932346535386562663145ec016a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3136686f73745f73746f726167655f7365743137683338393433623263316431303233666145ed016a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3136686f73745f73746f726167655f6765743137683531326638363365343830316637646345ee016d5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3139686f73745f73746f726167655f6578697374733137683361333433303665653064643763383345ef016c5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3138686f73745f73746f726167655f636c6561723137686163643464313132333761336364643245f001715f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3233686f73745f73746f726167655f70726f6f665f73697a653137683935666162386332333266383838393145f1016b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3137686f73745f73746f726167655f726f6f743137686434653332303931323330396630323445f201735f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3235686f73745f73746f726167655f636c6561725f7072656669783137683763376163333834373838333735363745f3016d5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3139686f73745f73746f726167655f617070656e643137683230313033393966663036623863383745f4016f5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3231686f73745f73746f726167655f6e6578745f6b65793137686338633536343533643738613536353845f501785f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3330686f73745f73746f726167655f73746172745f7472616e73616374696f6e3137686334373630383735663063323463363545f6017b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3333686f73745f73746f726167655f726f6c6c6261636b5f7472616e73616374696f6e3137683230346564353837383166376438313445f701795f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3331686f73745f73746f726167655f636f6d6d69745f7472616e73616374696f6e3137683030306364646365393162393863316245f801785f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3330686f73745f64656661756c745f6368696c645f73746f726167655f6765743137683937626433343765616532613537373445f901795f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3331686f73745f64656661756c745f6368696c645f73746f726167655f726561643137683232633161633832396233646134626445fa01785f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3330686f73745f64656661756c745f6368696c645f73746f726167655f7365743137686562633965316161623439623333316445fb017a5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3332686f73745f64656661756c745f6368696c645f73746f726167655f636c6561723137683063613164633739633939613739356245fc0181015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3339686f73745f64656661756c745f6368696c645f73746f726167655f73746f726167655f6b696c6c3137683663373839653638303063326235343145fd017b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3333686f73745f64656661756c745f6368696c645f73746f726167655f6578697374733137683630396132363636383039626662616245fe0181015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3339686f73745f64656661756c745f6368696c645f73746f726167655f636c6561725f7072656669783137686633373635613337303934393733663845ff01795f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3331686f73745f64656661756c745f6368696c645f73746f726167655f726f6f74313768353239323637323435663836323063654580027d5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3335686f73745f64656661756c745f6368696c645f73746f726167655f6e6578745f6b657931376834386138383062336466373366633662458102665f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e36474c4f42414c365f5f696e697431376834623938626234383564656537353231458202ad015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e4162726964676564486f7374436f6e66696775726174696f6e24475424366465636f64653137683565366233383436613334656563626545830280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f31376865633334663732346637656462633031458402ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376830653330373366383433303136666661458502ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376831666639326135643061316334353539458602475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683634663539633839613930363661663345870285015f5a4e34636f726533707472373464726f705f696e5f706c616365244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e48323536244754242447542431376834363938333535616633643936613164452e6c6c766d2e3539353337383137313835383530333630353888026d5f5a4e37355f244c5424747269655f64622e2e7472696564622e2e547269654442244c54244c24475424247532302461732475323024747269655f64622e2e54726965244c54244c2447542424475424386765745f77697468313768623732343161613034666661353133304589026e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f646531376832363164396461626138666633663166458a026e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f646531376864353865646263663664653833376430458b029e015f5a4e31307363616c655f696e666f35696d706c733130345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242447542439747970655f696e666f31376834383738663038363061663639656234458c0298015f5a4e3132315f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e457874726163744966244c54244b24432456244324462443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376865356361366634666339316137326161458d02ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f6974657231376864616163376666366362653435636564458e0293045f5a4e34636f72653370747234373064726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624432473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e556e696d706c656d656e746564436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e556e696d706c656d656e7465645265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754242447542431376866303463383961393032616362393838452e6c6c766d2e31373938353033323635373236373833343639398f02a8015f5a4e39365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653133636c6f6e655f7375627472656531376833373265363639313064626563323761452e6c6c766d2e3137393835303332363537323637383334363939900281015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683264306363306164393231623235633545910281015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376837376663623232646331663864363833459202735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f31376834356263343739303532366166343535459302755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f313768323938376336663064316563396438394594028e015f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f31376830613732393133616637303861366133452e6c6c766d2e3837343231333636353739353133343132383695024b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376865666361353232663435396164316634452e6c6c766d2e383734323133363635373935313334313238369602435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376836346339663766353061343233396565459702435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376838346461346434633038326232306336459802435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e65313768666639313538633337616138373064324599025a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376835623235643161363335363665653337459a02395f5a4e3773705f7472696531316e6f64655f68656164657231316465636f64655f73697a6531376838613535663237363831353464613030459b02765f5a4e38365f244c542473705f747269652e2e6e6f64655f6865616465722e2e4e6f64654865616465722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f646531376863613230366466353366643832656433459c0289015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c6431376834613238663962623439646366376431459d0282015f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e48323536244754242447542431376836333663356130363039636235306236452e6c6c766d2e323634323134343531323338303439383832349e0289015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c6431376834616665313033643862386530653737459f023e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686435323839376332653538656536616345a002395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683533663361336237343764376665333445a1028a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137686338383666333664343839346531666645a202475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686431306435616163383965303965393445a3023b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137683361356539323632393836666635356645a402625f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e7431335573656442616e64776964746836617070656e643137683530353461336633306238623531373045a502645f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e7431335573656442616e6477696474683873756274726163743137686236353465366161393732363634393245a6028c015f5a4e3131305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e42616e6477696474685570646174654572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683562343730373233383262333561616245a702d4015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3132315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e48726d704368616e6e656c5570646174652447542439747970655f696e666f3137686431656366383761616634326137333645a802d0015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3131375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e5573656442616e6477696474682447542439747970655f696e666f3137683061663166653333626431353637323045a90286015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683931376337386563343034653930313945aa02b3015f5a4e3134395f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424753230246173247532302473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e6453746f72616765244c5424482447542424475424336765743137683565363965663331373039383735336245ab02675f5a4e396861736862726f776e336d61703238486173684d6170244c54244b24432456244324532443244124475424396765745f696e6e657231376831663963313661663762306161646634452e6c6c766d2e3134363432373939373737383236393637303939ac02355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683038326132313933336262633135646145ad02355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683131386532663339316135376630393545ae02355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683166306135386563613034336364653945af02ee015f5a4e3773705f74726965313373746f726167655f70726f6f663138345f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c54242452462473705f747269652e2e73746f726167655f70726f6f662e2e53746f7261676550726f6f66244754242475323024666f7224753230246d656d6f72795f64622e2e4d656d6f72794442244c5424482443246d656d6f72795f64622e2e486173684b6579244c54244824475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424475424244754243466726f6d3137686366363839376263623934653636336345b002475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683466626336623334613462653162393345b102475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683936393930623734376333373864396545b202475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686663303662646265313639373930363845b302495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683031303038343534633235343539323345b4025b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376835383661653266376536353039646231452e6c6c766d2e3135313934313833353938333038333735353831b502465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c653137683839316636353636653231656132383945b602535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683566386432343163343464376238646445b702595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683733396534663035386161386463643245b8023c5f5a4e37747269655f646231306e6f64655f636f646563394e6f6465436f646563366465636f64653137686563653461616234373634643662653945b902445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683463396537633630623038633435663345ba02c3015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3130365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e4f7574626f756e6448726d704d657373616765244c54244964244754242447542439747970655f696e666f31376866613733336134633831396132363530452e6c6c766d2e34373335383738303432333037333335353730bb0285015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683436313466356631626263653461336145bc024b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376830336562363132353134373332646234452e6c6c766d2e33393931303133333737323837383735383338bd025a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686630396666393033323837613766323345be0280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683634646361363163346364386631653645bf0280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683835333066333864336539336232336245c00280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683861613834633232653361646433633045c102ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683331346334366336336235306435323045c20297015f5a4e323363756d756c75735f7072696d6974697665735f636f7265315f38395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f7072696d6974697665735f636f72652e2e436f6c6c6174696f6e496e666f2447542439747970655f696e666f3137686238353135383738396230663231383645c302445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683933636161316237323931383363333245c4028c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683861346665643830656536326631333545c5029e015f5a4e31307363616c655f696e666f35696d706c733130345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242447542439747970655f696e666f3137683462656633313065396366373733336145c602d0015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3131385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e64446f776e776172644d657373616765244c5424426c6f636b4e756d626572244754242447542439747970655f696e666f31376834623738636165656564333531333633452e6c6c766d2e3132393132303138303637313235343739333336c702c6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3130375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d62657224432448617368244754242447542439747970655f696e666f31376866376562323039303563303937366534452e6c6c766d2e3132393132303138303637313235343739333336c802cc015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3131345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e6448726d704d657373616765244c5424426c6f636b4e756d626572244754242447542439747970655f696e666f31376831336361643838313037323437396433452e6c6c766d2e3132393132303138303637313235343739333336c90295015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137686337316466663037616639333934623145ca02ae015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f3131325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e244754242447542439747970655f696e666f3137686162366432666165366132326566333345cb024c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376839383231313964653532343261656366452e6c6c766d2e3132393132303138303637313235343739333336cc025a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686533613934343633376662343635383445cd0280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683430393361316366343863383931323345ce0280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683764363336386635323238326136393745cf0280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683863343835313063303364323061333645d00280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686662333463303665366261616333636645d10285015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683833333938383964613633313235356145d202ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683130363631343863373862376233363645d302ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683533666366626563636334396162396245d402605f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f64656431376831613537663533353862633366646136452e6c6c766d2e32333032393031313330353136343938393538d502bc015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3131315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e50617261636861696e496e686572656e74446174612447542439747970655f696e666f3137686566323633316533613166363630396445d602b8015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3130375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e4d6573736167655175657565436861696e2447542439747970655f696e666f3137683063333865393330656234333666356345d702735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137683963616564383133633630333633626345d802755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683331663931303266326237653931313745d902475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683866373561363038613665666335303345da02b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f3137683039343231623062613637386536396445db0287015f5a4e343263756d756c75735f7072696d6974697665735f70726f6f665f73697a655f686f737466756e6374696f6e313873746f726167655f70726f6f665f73697a65323665787465726e5f686f73745f66756e6374696f6e5f696d706c73313873746f726167655f70726f6f665f73697a653137683537353561376637623364643563373545dc02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683030333766373962663835663431396245dd02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683334626265653634383332393866303345de02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683037633464373833386362663234306645df02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683062366433653137346530666338633945e002465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683131343361343866623337346361313545e102465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683138623831353063393533636533306345e202465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683139623065633435343431643462356445e302465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683230366530303966363433343035316645e402465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683235653932353162623363383730313545e502465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683264356333613566643236333966653945e602465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683861333334666638386131316534623245e702465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683264643863633439653331356330383545e802465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683333666236386137353139336561643345e902465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683337353664666332323661623537363245ea02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683339363033343563333434303664393245eb02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683431353839626130396364646136313445ec02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683432653464393230643933313937303745ed02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683435396331666531633063663030633545ee02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683461376635643236666463643236386445ef02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683538656637643838386335653162383145f002465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683561303539393963336336323262633345f102465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683638363462663962363033653661666545f202465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683564646238666161353861353262663945f302465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683833343466363737616661623632666345f402465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683632656231373363666235626163376445f502465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683633633631343266636236333935333845f602465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683666663266353265633531613563613845f702465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683739383465636566663766393564383645f802465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683761653065633434373930656632306545f902465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683763376562323237303461306431366645fa02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683830343533356563666562353638636445fb02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686566393062666237363634396637353245fc02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683834323461626638396535663831363745fd02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683834653432636632623932336661373345fe02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137683862653664653739336566313861643145ff02465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376838646231663431653739353134323966458003465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376838663830333763303834343866333339458103465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376839363334626630326662616135616363458203465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376839383133623864343461393464333865458303465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376839383839616136626231343063636532458403465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376839636338366266656337663430646638458503465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376861633538306131393935306561376262458603465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376862313961366262316632323338653562458703465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376862323164376530323463386433306339458803465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376862346337323065373162613337653836458903465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376862363139643833316564663932363939458a03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376862363434343762663561633435633332458b03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376862373730323330623765653562346665458c03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376863313766346439353034623962323238458d03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376863366462326365623663653762386632458e03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376863633164323131353134353263323230458f03465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376864313463626434353333336461316532459003465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376864326134646665343339343036666336459103465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376865393563323732306531623631376635459203465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376865613262336335386566303736383061459303465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376865633130316231633038326332633131459403465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376866323864306233663762376534363832459503465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376866643432306166333330626566346662459603465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e31376866653666663537623364313462343034459703465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e31376836376135326533363932633939633431459803465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e31376837326663316439616430656531393161459903465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e31376837393837336337613238356566313437459a03475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f64656431376836613137636437383765666530303062459b03475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f64656431376866393461396235336135316161643261459c035f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f64656431376864663437333633316566373663363662459d039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e6731376831313239656137643935383739313938459e0392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c697431376833386664323761386638326634303938459f039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683564336461323331363936393937363845a00392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683562643538393637643062313364626345a1039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683737366164313061393233346534393945a20392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683261326533626661373366346435383545a3039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683761343434663065306232373932356345a40392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683937383336316362316537653938666645a5039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683839343331613534396465366362336545a60392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137686539373131303433623239383266363645a7039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686232333037393937343433383035393845a80392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137686662613833396131633534306363653845a9039c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686333313035393530646639343665333245aa0392025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683036646138613432383131333039623545ab03655f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313562756c6b5f737465616c5f6c6566743137683039366464343234333461343133343145ac03665f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313662756c6b5f737465616c5f72696768743137686236313233396635323739303836363945ad035d5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b244324562447542438646f5f6d657267653137683336353033633533393130636135616345ae03f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137683331363262353436653336303133383745af03f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137686134613536373863613161396630306345b003f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137686165643365396361373366656536653145b103f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137686236316635653762303139353336396645b203f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137686337386235616465323661643839346245b303f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137686436623766343266306463316239653945b403cd025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653235395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313472656d6f76655f6c6561665f6b763137683232623832306661653831343762396145b503db025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653236395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313872656d6f76655f6b765f747261636b696e673137683564653938636136346162636661363645b603d5015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565367365617263683134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c244754242447542431317365617263685f747265653137683632373763353865386266663638636145b703d5015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565367365617263683134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c244754242447542431317365617263685f747265653137683739383237643135376235613732343745b803d5015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565367365617263683134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c244754242447542431317365617263685f747265653137686433636630666166396262633737363545b9038f015f5a4e3130305f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e696e686572656e742e2e50726f76696465496e686572656e742447542431356372656174655f696e686572656e743137683031653462363266323930313937353545ba033b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683535383232333262646139306665623245bb0386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683936663337393438363830333631326145bc039d015f5a4e3132365f244c542463756d756c75735f7072696d6974697665735f636f72652e2e70617261636861696e5f626c6f636b5f646174612e2e50726570656e644279746573496e707574244c542449244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e496e7075742447542434726561643137683165643831356661303762393932656445bd0386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686137333261323266336230393162333245be0386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686232656461616134363435306262323345bf0386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686265623334626230356530616233383945c00385015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e507265666978496e707574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e496e7075742447542434726561643137686430386439636638306630323636343445c10386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686337376136663663633433366135373945c20386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686436613637373938663264386162663545c30386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686437616339373738666534636666373345c40386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686464656536376463656538393636636545c50386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686537383262666634646262626663383445c60386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686631346435376431613131336663386645c70386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686665343535666666386432613438323745c80386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683264323065383536353331626435303345c90386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683335633066323235386166373636643845ca0386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683537346233363962336461623638633445cb0386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683566613533656636353865306666376445cc0386015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683631656438643830313139356335613645cd0387015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683237623538323130323966646437383745ce0387015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683266303861636333353462643564393745cf0387015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683537333430643437336331363732323345d00387015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683635653139623866646633643165366245d10387015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683934333133643033313161613332653645d20387015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683966346139343231383662653862366645d30387015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686234316337323930333936333666636545d40387015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686238613631346466393038666661383245d5038c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686533336163653264633931303633353145d6038c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753634244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683239323261326232393036386331306145d7038d015f5a4e3130355f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c542475313238244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683630326634393064333065613764653245d8036d5f5a4e31307363616c655f696e666f35696d706c7335365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424524624542447542439747970655f696e666f3137686536323366633363333862333037363945d903ac015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3130375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d62657224432448617368244754242447542439747970655f696e666f3137683432653132366663343833333538336245da037e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683531343065636362343366343234363545db038f015f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f31376866393439303438336432633333613530452e6c6c766d2e3138313031393733353334393132343138333232dc03755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683637356431356638613431376664343845dd037e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683466663836663566323538306633623545de037e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683864323636393135373635333732326145df037e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137686662343365383465633330393837366345e00395015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683139636563323335613136376232613745e10395015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683333383062383563316433616466393945e20395015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683365646538373937616438343163633845e30395015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683431373562623334643536636562306145e403d6015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733231636865636b5f6e6f6e5f7a65726f5f73656e646572315f3132375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e5f7a65726f5f73656e6465722e2e436865636b4e6f6e5a65726f53656e646572244c542454244754242447542439747970655f696e666f3137683934346531613566663239313064353045e503c0015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733133636865636b5f67656e65736973315f3131335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f67656e657369732e2e436865636b47656e65736973244c542454244754242447542439747970655f696e666f3137686630316432346166333462373939383645e603c6015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733135636865636b5f6d6f7274616c697479315f3131375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c542454244754242447542439747970655f696e666f3137683038303336623332313635323234643845e703ba015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733131636865636b5f6e6f6e6365315f3130395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c542454244754242447542439747970655f696e666f3137686633666439313664633131623636393845e803ce015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733138636865636b5f737065635f76657273696f6e315f3132325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f737065635f76657273696f6e2e2e436865636b5370656356657273696f6e244c542454244754242447542439747970655f696e666f3137686164353134623139633762353932396345e9033f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683133326532626336383433313261313245ea03b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137683463623636343965643866306335366445eb03b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137683766393763663933656663336434663345ec03b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137683833626437383361636363376630356345ed03b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137683932623535633332326439623231373345ee03b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137686165636130666139306561613636396145ef03b6015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d626572244324486173682447542424475424366465636f64653137686636656661326537366439313032643145f003b9015f5a4e313073705f72756e74696d653767656e6572696336686561646572315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c54244e756d62657224432448617368244754242447542439656e636f64655f746f3137683434313935393461633863323866613845f1034d5f5a4e313073705f76657273696f6e313452756e74696d6556657273696f6e32346465636f64655f776974685f76657273696f6e5f68696e743137683364333731393635373630306165613745f20393015f5a4e3131355f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e47656e65736973436f6e666967244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4275696c6447656e65736973436f6e66696724475424356275696c643137683763363334323838353934393933623045f3035c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d743137683639363930353938373234326233326645f403ad015f5a4e3131365f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686636613736373864393837656439646245f5038b015f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376864643831353366626638346662323266452e6c6c766d2e3138313031393733353334393132343138333232f6039a015f5a4e31326672616d655f73797374656d315f3130325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e4576656e745265636f7264244c54244524432454244754242447542439656e636f64655f746f3137686536353139356130616631656165393045f7039b015f5a4e31326672616d655f73797374656d315f3130335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e4163636f756e74496e666f244c54244e6f6e63652443244163636f756e7444617461244754242447542439747970655f696e666f3137683635656162643366383037343132346345f8038c015f5a4e31326672616d655f73797374656d315f38395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e4576656e745265636f7264244c54244524432454244754242447542439747970655f696e666f3137683261353634623235626136333235663145f90392015f5a4e31326672616d655f73797374656d315f39355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e44697370617463684576656e74496e666f2447542439656e636f64655f746f3137686465303964363462353033666239623945fa0395015f5a4e31326672616d655f73797374656d315f39385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e436f646555706772616465417574686f72697a6174696f6e244c542454244754242447542439747970655f696e666f3137683231346266383237346363666134383245fb03a5015f5a4e3133325f244c542463756d756c75735f7072696d6974697665735f636f72652e2e70617261636861696e5f626c6f636b5f646174612e2e50617261636861696e426c6f636b44617461244c5424426c6f636b244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686666623035346434306333353134333345fc033b5f5a4e31336672616d655f737570706f72743773746f7261676538756e686173686564336765743137683135633962656633333961356537626445fd037c5f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863623038386638323833616331663363452e6c6c766d2e3138313031393733353334393132343138333232fe03735f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376833646264323131623031313065643431452e6c6c766d2e3138313031393733353334393132343138333232ff033b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768323063326366376330393732623234614580043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768326165663436323035616234323561394581043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768333161376337306365666538303631614582043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768343836343035373539366636623130354583043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768343935376361323865306130373633384584043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768353263666163663563303933333361334585043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768353466346239363837366233663433664586043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768353466623239313766643061653638664587043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768363435633835613936353532313866304588043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768366130633264393532323964633130374589043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e6861736865643367657431376836613634613431636237363866343061458a043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e6861736865643367657431376836623539343533326664386339633164458b043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e6861736865643367657431376837333439656266623331336263343034458c043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e6861736865643367657431376838333530613038396239346638316366458d043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e6861736865643367657431376839326238373036663866623035643062458e043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e6861736865643367657431376839336139373965336530396538353531458f043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768393564303934656338336233323263394590043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768393662323633393362396563343931324591043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768396134353333323566396130653039304592043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768616137663138646632386630373966344593043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768636331323232633636636334343637654594043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768636638333530326664366665326432634595043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656433676574313768646563353764616461363566626463384596043b5f5a4e31336672616d655f737570706f72743773746f7261676538756e6861736865643367657431376864656638303835333437363263333636459704515f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d65746164617461313768626135643163313565666634653765334598049f015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f6465313768323961646531646533306530653631314599049f015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f646531376839663263633264666535616166663036459a049f015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f646531376861656632393336653138626261353262459b049f015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f646531376866363662636432383336343737313361459c04a2015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f3130315f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f31376863393362376162336230633831326632459d0494015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f38385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f31376831653937646563353335356238656232459e0495015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f38395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e4572726f72244c542454244754242447542439747970655f696e666f31376838653763646136333234313062633330459f0499015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f39335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e4576656e742447542439656e636f64655f746f3137686436616465333365663761663566663945a0049e015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f39385f244c5424696d706c247532302473657264652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a653137683735343161653632303338646664383845a1049e015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f39385f244c5424696d706c247532302473657264652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754243973657269616c697a653137683962666233396336613766373439653145a204475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683464613532613366613634306337336245a304475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683534613538363365666433383866393545a404b0015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e4162726964676564486f7374436f6e66696775726174696f6e2447542439656e636f64655f746f3137686536303462303264663836643161323145a504475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137686534383361613862333931396266386245a6043f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683437346438366462636339666663666545a704e5015f5a4e3139335f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e5f2e2e244c5424696d706c247532302473657264652e2e64652e2e446573657269616c697a652475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754242e2e646573657269616c697a652e2e5f5f4669656c6456697369746f7224753230246173247532302473657264652e2e64652e2e56697369746f72244754243976697369745f7374723137683337626536656636353933306662343745a804c2015f5a4e3139626f756e6465645f636f6c6c656374696f6e7331367765616b5f626f756e6465645f766563315f3131375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e7765616b5f626f756e6465645f7665632e2e5765616b426f756e646564566563244c54245424432453244754242447542439747970655f696e666f3137686437336333326466336539353334366445a904a7015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e416272696467656448726d704368616e6e656c24475424366465636f64653137683562323263323536383638656232633445aa04aa015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e416272696467656448726d704368616e6e656c2447542439656e636f64655f746f3137686464316238336430656164613939653745ab04ae015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f3131325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e244754242447542439747970655f696e666f3137683439383261653839626238316132616545ac04b8015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f3132355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e2447542424475424366465636f64653137683538306537383964383466363430613945ad04b8015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f3132355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e2447542424475424366465636f64653137686130376437306638316134306232386145ae04b8015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f3132355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e2447542424475424366465636f64653137686333303064383731303638363939346545af04b8015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f3132355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e2447542424475424366465636f64653137686636643533316439353832356637636645b004bb015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f3132355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e50657273697374656456616c69646174696f6e44617461244c5424482443244e244754242447542439656e636f64655f746f3137686161323735613465633933343733613345b104f7015f5a4e3231325f244c54246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c24475424244754243876616c69646174653137683138346237393732333034313464343745b204ff015f5a4e3232305f244c54246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c244754242447542438696d706c696369743137686264323039346138383136313438303745b304ad025f5a4e3236375f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e49646c65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d6265722447542424475424376f6e5f69646c653137683631396263366131326366336664396145b404465f5a4e34315f244c54245424753230246173247532302473657264652e2e64652e2e45787065637465642447542433666d743137683232633831633764653434383139663445b504475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683633616435633032316132306432613145b604475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686433353334633062313562656632313145b704475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686332333663616361323830343237316345b804475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686266326134313137383066316462356645b904315f5a4e34636f7265336f70733866756e6374696f6e32466e3463616c6c3137683039323766363365636565396232333545ba04445f5a4e37747269655f6462346e6f646531384e6f64654f776e6564244c542448244754243130746f5f656e636f6465643137683737386139306338636566356234383745bb045a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137683630363734386139383332323933316345bc04765f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542432376c6f6f6b5f75705f776974685f63616368655f696e7465726e616c32385f24753762242475376224636c6f73757265247537642424753764243137683231616262373636373361636139326245bd045a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137683831656265336631643834316664343845be044f5f5a4e35305f244c5424244c5024552443245424525024247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683262353930323433666131356532333645bf045f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137686538316231626564393632393734336345c004415f5a4e37747269655f6462346e6f646531304e6f646548616e646c653135746f5f6f776e65645f68616e646c653137683163383061386461623262383833353345c104385f5a4e37747269655f6462346e6f6465344e6f64653133746f5f6f776e65645f6e6f64653137686335623734636234643133323064306445c204415f5a4e37747269655f6462346e6f646531304e6f646548616e646c653135746f5f6f776e65645f68616e646c653137683864316163316165353633643630663445c304385f5a4e37747269655f6462346e6f6465344e6f64653133746f5f6f776e65645f6e6f64653137683539336230363332626666333663643245c404525f5a4e37747269655f6462346e6f646532344e6f646548616e646c654f776e6564244c54244824475424313861735f6368696c645f7265666572656e63653137683138363461613163643132346134343645c504495f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431326c6f6f6b5f75705f686173683137683033393338306461376639643331323445c6044d5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431366c6f61645f6f776e65645f76616c75653137686436386163376531663064383565313645c7046b5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431366c6f61645f6f776e65645f76616c756532385f24753762242475376224636c6f73757265247537642424753764243137683564386661313932303964623565303145c8046d5f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c244324512447542431386c6f6f6b5f75705f776974685f636163686532385f24753762242475376224636c6f73757265247537642424753764243137686365353863336333623834383136383045c904435f5a4e37747269655f6462366c6f6f6b757031394c6f6f6b7570244c54244c2443245124475424376c6f6f6b5f75703137686465666165306661653765613164323745ca048e015f5a4e39385f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137683934643634653865393864613038373545cb04a7015f5a4e3132365f244c542463756d756c75735f70616c6c65745f617572615f6578742e2e426c6f636b4578656375746f72244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e6d6973632e2e45786563757465426c6f636b244c5424426c6f636b24475424244754243133657865637574655f626c6f636b3137686463373832396363663737353438666245cc04b3015f5a4e3134395f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b46244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424753230246173247532302473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e6453746f72616765244c5424482447542424475424336765743137686132353333393164616235653438623545cd04665f5a4e396861736862726f776e336d61703238486173684d6170244c54244b24432456244324532443244124475424396765745f696e6e657231376838306537626266336465313935303464452e6c6c766d2e32303931313732383931373038353433373939ce04cb015f5a4e3136375f244c542473657264652e2e64652e2e696d706c732e2e244c5424696d706c247532302473657264652e2e64652e2e446573657269616c697a652475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754242e2e646573657269616c697a652e2e56656356697369746f72244c5424542447542424753230246173247532302473657264652e2e64652e2e56697369746f72244754243976697369745f7365713137683931613630303062323063373964343545cf04465f5a4e34315f244c54245424753230246173247532302473657264652e2e64652e2e45787065637465642447542433666d743137683236633134353564636461613737326345d004465f5a4e34315f244c54245424753230246173247532302473657264652e2e64652e2e45787065637465642447542433666d743137683561653538663635316632383038366545d104465f5a4e34315f244c54245424753230246173247532302473657264652e2e64652e2e45787065637465642447542433666d743137683637666566333631356138616665626645d204465f5a4e34315f244c54245424753230246173247532302473657264652e2e64652e2e45787065637465642447542433666d743137686237383736633164653835336235653045d304465f5a4e34315f244c54245424753230246173247532302473657264652e2e64652e2e45787065637465642447542433666d743137686630663738623862316163313165616245d404e9015f5a4e34636f72653370747231373364726f705f696e5f706c616365244c5424244c50247072696d69746976655f74797065732e2e483235362443246861736862726f776e2e2e6d61702e2e486173684d6170244c5424616c6c6f632e2e626f7865642e2e426f78244c542424753562247538247535642424475424244324747269655f64622e2e43616368656456616c7565244c54247072696d69746976655f74797065732e2e483235362447542424475424245250242447542431376838633261343133396662666234316162452e6c6c766d2e32303931313732383931373038353433373939d504595f5a4e34636f726533707472353564726f705f696e5f706c616365244c542473705f636f72652e2e63727970746f2e2e536563726574537472696e674572726f72244754243137686332336633376363613631343666306245d60485015f5a4e34636f726533707472373464726f705f696e5f706c616365244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e48323536244754242447542431376837646633653964626133393761343263452e6c6c766d2e32303931313732383931373038353433373939d704425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683034616536366530396639623765653245d804425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683038353538623738616230356662326345d904425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683065383764346563646663393262383345da04425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683136366564663833636262306434356345db04425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683162626132653134623765633432643945dc04425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683263663633393735316237366663333445dd04425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683266386233393936613562663339616545de04425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683333393931306139363634633539373845df04425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683335366436376131613236363466613445e004425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683437386466376337343261333533643945e104425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683437646135623165363164643734646545e204425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683439623931653466363139633063396645e304425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683563323736636435333061336535646345e404425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683638656131316665336465336265386445e504425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683761656261633137336565646331336345e604425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683931323233633361346666333461326345e704425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683964306339636632393837646532636445e804425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686135333362313661613139363630663845e904425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686135343265343162623431386631663645ea04425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686432313636626563393266333639613345eb04425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686534613466333964323835383037323145ec04425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686564383932656337653265623761396245ed04425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686634626463613932646439663937346545ee04425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137686639366166363262623762383533373245ef046e5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565386e6176696761746533394c617a794c65616652616e6765244c5424426f72726f77547970652443244b24432456244754243130696e69745f66726f6e743137683630313332336362383638656163633445f004645f5a4e37315f244c542473705f636f72652e2e63727970746f2e2e536563726574537472696e674572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683935613335393239333466393161313245f104385f5a4e3773705f636f72653663727970746f3450616972313166726f6d5f737472696e673137683131373035383065623166313165333545f20489015f5a4e38335f244c54246d656d6f72795f64622e2e50726566697865644b6579244c542448244754242475323024617324753230246d656d6f72795f64622e2e4b657946756e6374696f6e244c5424482447542424475424336b657931376832323535313834323664663337343762452e6c6c766d2e32303931313732383931373038353433373939f304735f5a4e38365f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b462443245424475424247532302461732475323024686173685f64622e2e486173684442244c542448244324542447542424475424336765743137686639656163366362313863333466396645f404485f5a4e396861736862726f776e336d6170396d616b655f6861736831376832643036333630363938343038633130452e6c6c766d2e32303931313732383931373038353433373939f504765f5a4e38365f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b462443245424475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542436696e736572743137683236346233363266336664323634316645f604765f5a4e38365f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b462443245424475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542436696e736572743137686566373364323338643435393565366345f704775f5a4e38365f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b462443245424475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542437656d706c6163653137686439303535656233396431316538383845f804765f5a4e38365f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b462443245424475424247532302461732475323024686173685f64622e2e486173684442244c5424482443245424475424244754243672656d6f76653137686439313863383134326163616439386445f9045c5f5a4e396861736862726f776e3372617732315261775461626c65244c542454244324412447542436696e7365727431376838373465373262633862653635643933452e6c6c766d2e32303931313732383931373038353433373939fa04785f5a4e38365f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b462443245424475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542438636f6e7461696e733137686661623463393838333163373762366145fb04765f5a4e38395f244c54246d656d6f72795f64622e2e4d656d6f72794442244c5424482443244b462443245424475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324542447542424475424336765743137683432343132303938666165613662636245fc047a5f5a4e39335f244c5424245246245424753230246173247532302473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e6453746f72616765244c5424482447542424475424336765743137683965356531623838623432373763323845fd04465f5a4e396861736862726f776e3372617731335261775461626c65496e6e6572313664726f705f696e6e65725f7461626c653137683538306363376630303937646664313945fe044c5f5a4e396861736862726f776e3372617731335261775461626c65496e6e6572323266616c6c69626c655f776974685f63617061636974793137683266393266323266343163313861353945ff044c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f726568617368313768306363323237653063356130653330624580054c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f726568617368313768306565363339663134643030653038654581054c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f726568617368313768323939316165353265616435333836654582054c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f726568617368313768336430393532363966623536366464334583054c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f726568617368313768616238623261393461376334613766664584054c5f5a4e396861736862726f776e3372617732315261775461626c65244c54245424432441244754243134726573657276655f726568617368313768643361613039343634636236643234304585054a5f5a4e396d656d6f72795f646232364d656d6f72794442244c5424482443244b4624432454244754243131636f6e736f6c696461746531376830633961613439653832383266623861458605445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376830363161663834623062356166393134458705445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376830363939303566646132626632666462458805445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376830373566333630313137663436393637458905445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376830383132343338373961363035633766458a05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376830616364353431356462316365336338458b05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376830623332336336643261646335393936458c05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376830633635626430313661366631386466458d05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376830643735303137356238333562373766458e05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376830643735303866663336363161333136458f05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376830666536373765646436306461303863459005445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376831336236353535366230303233363239459105445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376831346639636437653635343161333263459205445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376831353135326634323964653165616331459305445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376831356166666362353136623864306232459405445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376831383039633935393062316265333634459505445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376831396165656236343939663130346265459605445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376831636433376266646565653761643039459705445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376831653433316539666631343561653864459805445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376831656162313661643562346439313635459905445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376832306334613934363564386538666161459a05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376832376361366236373134393634316231459b05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376832383232373132653432656336393064459c05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376832613061396137343530333332663436459d05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376832613739653437336163666461396266459e05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376832613962353438306236396330316463459f05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683264323634356430313534623861643745a005445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683332663134633765393038396661386245a105445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683335663931666532353033333739323045a205445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683337336132653332393336316338663845a305445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683361386638633962613031633733643845a405445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683361396234613930313938646132623445a505445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683365643134643564646538313131366545a605445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683435336432666463363233323064363745a705445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683437346539323661346636363333346145a805445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683461663964636163616134336565633245a905445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683462633031326533343935373639633345aa05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683465626463623237623939356661653245ab05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683466393266303035346133613639636445ac05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683531373761393830313363333964303645ad05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683532626535326130633936363434333545ae05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683539333038353031383235643065343345af05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683539376335306534313434646636616245b005445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683561383339393133313562386331366345b105445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683563306462623862616463333831333745b205445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683566623839373437373038646365363045b305445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683566646138356433396538383434343745b405445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683631336539383863633261626539383045b505445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683635343266656463666531343339646245b605445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683661373830313330633663306535386245b705445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683661396563626233646334636666393645b805445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683663306632373730343737393764613545b905445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683664623662323837346130643533393845ba05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683730643262366631633634383962386445bb05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683732313031353331646137366265303045bc05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683734653262333364633232653864656345bd05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683735623038376263326234326162393745be05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683736396331666531623636383830393945bf05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683737623965363663623938386638343345c005445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683763613230323730383834323261356245c105445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683765626438633164316335613065346545c205445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683766623934636438363761396136363545c305445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683832613062376561346466356662313645c405445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683832666334343964343436343331613045c505445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683833386237666433363666323562376145c605445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683837656533333738386136363137323945c705445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683838656239326462323636393938313845c805445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683931666131316232393764393466663245c905445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683936626631643833313432653030633745ca05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683937663931306539626230303763323945cb05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683961393238323463666561633830363545cc05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686131303438613430313132353133653645cd05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686132363037633338303265386466393245ce05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686133376437323630653634383333306145cf05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686133616630333865653663653737393845d005445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686136353237386132353631366434383945d105445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686136663830333666663339653232363045d205445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686163633461623733643233653764366645d305445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686163643665343033356630383132373445d405445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686164366539653464333033316639313145d505445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686165623664373635626364363631383745d605445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686232303533666139303531396564646145d705445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686234383039663032333266396234363945d805445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686266363863626632353963353266363545d905445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686336333764306234313566333964656445da05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686338633963623636633263366461343145db05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686339343632636333656232633931393845dc05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686362633430303061316334303639653845dd05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686366623162306363346266313434303545de05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686430656130346466663832373235343845df05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686432333738363039626165663336313045e005445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686432623435333164346365643036353845e105445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686434666336663531353963366531396145e205445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686439393439346436643666663166373045e305445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686463346537633235643835393162666245e405445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686464346365613466346363323062346545e505445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686464396138623465373864353630366245e605445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686531646437376337333562363338383945e705445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686533353632626530363331323366333345e805445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686534313431626139616331383239663445e905445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686537613236306134313566303365323145ea05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686539346365326631656462653839383445eb05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686561623037343032666136346563353845ec05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686562343435633462643838613962663545ed05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686563613666306130633230353133666345ee05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686633383330633939323164616536303045ef05445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686634653232313665366633633463313945f005445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686635306330303835363235336333333045f105445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686661623531343663323336386538663345f205445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686663303431393564333066373832343545f30583015f5a4e3130315f244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e416c7265616479496e52756e74696d65247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683234666261643731613831373736376645f40589015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683235343131303338643230663730643445f505695f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e4832353624475424244754243137683836346262633234383034356532353645f60589015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137686235306134316535396133636661343845f70589015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137686538333539363039356237386335376645f80589015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6d61702e2e4d6170244c5424492443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137686538613366303935623434383661316145f90584015f5a4e3130325f244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e4e6f4f70656e5472616e73616374696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683137383037383034383332323366373745fa05a3015f5a4e3130345f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e657874656e73696f6e732e2e457874656e73696f6e53746f726524475424333172656769737465725f657874656e73696f6e5f776974685f747970655f69643137683031343761613537373830363534623845fb05455f5a4e313673705f65787465726e616c6974696573313345787465726e616c697469657331317365745f73746f726167653137683465633136636434653438666462343245fc05645f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431317365745f73746f726167653137686634363939346131626330353766633745fd05475f5a4e313673705f65787465726e616c6974696573313345787465726e616c69746965733133636c6561725f73746f726167653137683162356435616564376265373961653545fe054b5f5a4e313673705f65787465726e616c6974696573313345787465726e616c697469657331377365745f6368696c645f73746f726167653137683338623334373731393232613135396145ff056a5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c5424482447542431377365745f6368696c645f73746f72616765313768313530353336633665386161346266644580064d5f5a4e313673705f65787465726e616c6974696573313345787465726e616c69746965733139636c6561725f6368696c645f73746f7261676531376835343430306430353930356331326636458106655f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243132636c6561725f70726566697831376865373738613736306236323361663938458206665f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243133656e7465725f72756e74696d65313768623632386334636638643738346263304583066a5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c54244824475424313773746172745f7472616e73616374696f6e313768663836663566383661346164383064354584066b5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243138636c6561725f6368696c645f707265666978313768646166663233393066356235316531624585066b5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243138636f6d6d69745f7472616e73616374696f6e313768623861346632616261393637616533344586067d5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e676573657432354f7665726c617965644d6170244c54244b24432456244754243236636c6f73655f7472616e73616374696f6e5f6f6666636861696e313768656537313966656633323462643337304587066c5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243139636c6561725f6368696c645f73746f72616765313768653237666130666161623765393962634588066d5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243230726f6c6c6261636b5f7472616e73616374696f6e313768643639656561373138623031323864624589066e5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243231647261696e5f73746f726167655f6368616e67657331376830626164383162363762333830353865458a066e5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e67657332354f7665726c617965644368616e676573244c542448244754243231647261696e5f73746f726167655f6368616e67657331376863633738666466623766643134323633458b066b5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e676573657432334f7665726c61796564456e747279244c542456244754243130696e746f5f76616c756531376861376435333834626233306635353932458c065a5f5a4e313673705f73746174655f6d616368696e65336578743136457874244c542448244324422447542432356c696d69745f72656d6f76655f66726f6d5f6261636b656e6431376838373638633063383536613630646564458d065a5f5a4e313673705f73746174655f6d616368696e65336578743136457874244c542448244324422447542432356c696d69745f72656d6f76655f66726f6d5f6261636b656e6431376839333765633532343665376537653735458e06685f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e313476616c69646174655f626c6f636b31376861643734333964326533313439616238458f06715f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3233686f73745f6f6666636861696e5f696e6465785f73657431376833656236636634323832376539626639459006735f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3134696d706c656d656e746174696f6e3235686f73745f6f6666636861696e5f696e6465785f636c6561723137686638616537333335656565663362346545910694015f5a4e34636f72653370747231313364726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e4f7665726c617965644368616e676573244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f323536244754242447542431376865633938653134373039646635643065459206a4045f5a4e34636f72653370747235313364726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f323536244754242447542424475424313768393332316231303530356339623537374593064a5f5a4e34355f244c5424244c502424525024247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768653232346635633734663838356463324594068b015f5a4e34636f7265336f70733866756e6374696f6e35696d706c7338305f244c5424696d706c2475323024636f72652e2e6f70732e2e66756e6374696f6e2e2e466e4f6e6365244c542441244754242475323024666f722475323024245246246d7574247532302446244754243963616c6c5f6f6e636531376831663236316534393032333932656232459506a5015f5a4e34636f72653370747231333064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f323536244754242447542431376838633165386137663561633036353936459606af015f5a4e34636f72653370747231343064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f323536244754242447542431376839373231656535303466353963663563459706b7015f5a4e34636f72653370747231343864726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f323536244754242447542431376839656436356535323730326162373961459806505f5a4e34636f726533707472343664726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c54247538244754242447542431376834646235663334303430326135653635459906ac045f5a4e34636f72653370747235323164726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c5424245246246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443242452462463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754242447542431376864616564373063303335306665656361459a065b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376830386166383038396432303434373335452e6c6c766d2e31373739373433363336323736343237333930349b065b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376830616330663937613366373761643238452e6c6c766d2e31373739373433363336323736343237333930349c065b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376830633566623036623831303934653462452e6c6c766d2e31373739373433363336323736343237333930349d065b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376830646232366531356664623163623133452e6c6c766d2e31373739373433363336323736343237333930349e065b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376830653435316263326438376166386133452e6c6c766d2e31373739373433363336323736343237333930349f065b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376837343965393263343332333236393562452e6c6c766d2e3137373937343336333632373634323733393034a0065b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376838333031333233613335666463623838452e6c6c766d2e3137373937343336333632373634323733393034a1065b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376863343733363535636138343436653766452e6c6c766d2e3137373937343336333632373634323733393034a206425f5a4e34636f726535736c69636534736f727436736861726564357069766f74313263686f6f73655f7069766f743137683030353834363065653961376265613745a306425f5a4e34636f726535736c69636534736f727436736861726564357069766f74313263686f6f73655f7069766f743137683234396664653035383938643438373145a406605f5a4e36375f244c542473705f73746174655f6d616368696e652e2e44656661756c744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683931616535373135356137613232326545a506625f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686362303838663832383361633166336345a60680015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313070726f6f665f73697a653137683861653732623834363436626133383745a70680015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313070726f6f665f73697a653137686362393133363466616539333862333945a80682015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243132636c6561725f7072656669783137686532656331616235643534303438663145a90682015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243132636c6561725f7072656669783137686631626538353435353865663562653745aa0682015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313273746f726167655f686173683137683065333439363832356262303931306545ab0682015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313273746f726167655f686173683137683930646338646365393463333836633345ac0682015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313273746f726167655f726f6f743137683764646661636665343337396661316245ad0682015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313273746f726167655f726f6f743137686363303965666535663566366466613845ae0683015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431336368696c645f73746f726167653137683966303433353562613732373436303145af0683015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431336368696c645f73746f726167653137686165363831383437666639343435643445b00683015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431336765745f77686974656c6973743137686163363961376264353131336663303045b10683015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243133706c6163655f73746f726167653137683339396532336430386362376636633145b20683015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431337365745f77686974656c6973743137683731343866386565613866303831386445b30684015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431346578697374735f73746f726167653137683066323437333032383336393562356445b40684015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431346578697374735f73746f726167653137686535386338333365393837336234386345b50684015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313473746f726167655f617070656e643137686130643162616265393265666336333245b60684015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424313473746f726167655f617070656e643137686133333037323238383966643566646145b70686015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431366e6578745f73746f726167655f6b65793137683536353037353030373531653431353045b80686015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431366e6578745f73746f726167655f6b65793137686563663534336532316636356366626345b90686015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243136726561645f77726974655f636f756e743137683363613662393635366438636434333345ba0686015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243136726561645f77726974655f636f756e743137686335383063323263303962303433346445bb0688015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386368696c645f73746f726167655f686173683137686134666466383362663334323531336345bc0688015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386368696c645f73746f726167655f686173683137686662393738366630326431323435346345bd0688015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386368696c645f73746f726167655f726f6f743137686136666533323531306237623934373145be0688015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386368696c645f73746f726167655f726f6f743137686637393266303864666463623739306545bf0688015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243138636c6561725f6368696c645f7072656669783137683063613736336230366330623639373945c00688015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243138636c6561725f6368696c645f7072656669783137686361616630326434363536643361366345c10688015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386b696c6c5f6368696c645f73746f726167653137686630303437393836633139613064373245c20688015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542431386b696c6c5f6368696c645f73746f726167653137686637383035663664393832333931363445c30689015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243139706c6163655f6368696c645f73746f726167653137683462303730623461356238383463363445c4068a015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432306578697374735f6368696c645f73746f726167653137683839343335326265396232386563393445c5068a015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432306578697374735f6368696c645f73746f726167653137686562656564333461366537636639366245c6068a015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432307365745f6f6666636861696e5f73746f726167653137683261313135303465303032373934306345c7068c015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432326e6578745f6368696c645f73746f726167655f6b65793137683033666337306262633339366562303945c8068c015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432326e6578745f6368696c645f73746f726167655f6b65793137683363633366343336613235323332373845c9068c015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323272657365745f726561645f77726974655f636f756e743137683039663136366238353533626462333545ca068c015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323272657365745f726561645f77726974655f636f756e743137686231343666373937376335306264383645cb068f015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432356765745f726561645f616e645f7772697474656e5f6b6579733137683537363665643436333762643334666245cc068f015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542432356765745f726561645f616e645f7772697474656e5f6b6579733137686263323665616566326666376236316545cd068f015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323573746f726167655f696e6465785f7472616e73616374696f6e3137683637636337313535383064633136656445ce068f015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323573746f726167655f73746172745f7472616e73616374696f6e3137683634633638316161623134373433383945cf0690015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323673746f726167655f636f6d6d69745f7472616e73616374696f6e3137683063393536613830383335306564656345d00692015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424323873746f726167655f726f6c6c6261636b5f7472616e73616374696f6e3137683930353863356134636365646164393745d10695015f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c697469657324475424333173746f726167655f72656e65775f7472616e73616374696f6e5f696e6465783137683539663331346439346635636662393945d206795f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542434776970653137683133636565663937663231303637653545d306795f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542434776970653137683135396562366439376334303065663545d4067b5f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542436636f6d6d69743137683332316265336637323235333166383845d5067b5f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c69746965732447542436636f6d6d69743137683762336261363132633662346335316645d6067c5f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243773746f726167653137683730316237646664343536656534623345d7067c5f5a4e39315f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e45787465726e616c6974696573244754243773746f726167653137683830613032323865306165666535653245d806ba015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e56616c69645472616e73616374696f6e2447542439656e636f64655f746f3137686237633963353766313838636563643145d906c2015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3132325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e5472616e73616374696f6e56616c69646974794572726f722447542439656e636f64655f746f3137686138353038633237636361363431623745da06b1015f5a4e3134375f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e2443245f24475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683735666661613365366362653338626345db06b9015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d65557067726164652447542431326f6e5f69646c655f686f6f6b31376834326634363465373366643963666630452e6c6c766d2e363932313531373830383233353634383430dc06a2015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d6555706772616465244754243133657865637574655f626c6f636b3137683234393065333638363761613635623845dd06a5015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d6555706772616465244754243136696e697469616c697a655f626c6f636b3137686561333463393136396361306134396445de06a7015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d6555706772616465244754243138646f5f6170706c795f65787472696e7369633137686363363234613866326630376332333645df06be015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d6555706772616465244754243137696e686572656e74735f6170706c69656431376832313965616238363862643835643732452e6c6c766d2e363932313531373830383233353634383430e006705f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542431376861313665313536653130356461313037452e6c6c766d2e363932313531373830383233353634383430e106a3015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d655570677261646524475424313466696e616c697a655f626c6f636b3137683934323831343230363738393961666545e206a4015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d65557067726164652447542431356f6666636861696e5f776f726b65723137683163636133666230323639636631333645e306a9015f5a4e31356672616d655f657865637574697665313034457865637574697665244c542453797374656d244324426c6f636b244324436f6e74657874244324556e7369676e656456616c696461746f72244324416c6c50616c6c6574735769746853797374656d244324434f6e52756e74696d655570677261646524475424323076616c69646174655f7472616e73616374696f6e3137683037336463386165323435343431613645e406305f5a4e346273353836656e636f64653131656e636f64655f696e746f3137683031346536386665363536383731323045e5068b015f5a4e34636f7265336f70733866756e6374696f6e35696d706c7338305f244c5424696d706c2475323024636f72652e2e6f70732e2e66756e6374696f6e2e2e466e4f6e6365244c542441244754242475323024666f722475323024245246246d7574247532302446244754243963616c6c5f6f6e63653137683337386564623864386536313035393145e606c6085f5a4e34636f7265337074723130353864726f705f696e5f706c616365244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e507265616d626c65244c542473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c542473705f636f72652e2e63727970746f2e2e4163636f756e7449643332244324244c5024245250242447542424432473705f72756e74696d652e2e4d756c74695369676e617475726524432463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244324244c50246672616d655f73797374656d2e2e657874656e73696f6e732e2e617574686f72697a655f63616c6c2e2e417574686f72697a6543616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e5f7a65726f5f73656e6465722e2e436865636b4e6f6e5a65726f53656e646572244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f737065635f76657273696f6e2e2e436865636b5370656356657273696f6e244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f67656e657369732e2e436865636b47656e65736973244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d652447542424432470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524475424245250242447542424475424244754243137683965303030326439366161373931333545e7063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683037313734343236303738666135653845e806395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686132623932643164626365363231623645e9063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683136643261333337396637316465336345ea06395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686337653035396461633834343161616345eb063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683137316566373834623764643933396245ec06395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683134356166336463353163376366396645ed063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683161393833646161303762336238363045ee06395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683331356665633037656538373637373745ef063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683234626662346130313935643862643245f006395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686663363564356261323761316133313245f1063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683334646361373933616434616332393045f206395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686331313438636238643864333338623845f3063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683336313838626663323935336163316145f406395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686335663566663465343933643161663945f5063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683365386263626331396362316331633745f606395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137686333333033646636656637613139323045f7063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683432393738373937363136356231663445f806395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683466353735363832313835663531653645f9063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683531396361653537613233356162316245fa06395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683234393037346233616130346537306245fb063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683539323430663136313434646135663545fc06395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683131333564306263343965353764623245fd063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683565623734353265373764653639363645fe06395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683862613931363365383062636432323145ff063e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376836343561386365346366633966366437458007395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f7274313768656163356333346238666161363530354581073e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376837343964313638663438363063613863458207395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f7274313768653663313166323437343966333262614583073e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376839353964636330333235333533313835458407395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f7274313768623165323530623030653266313035644585073e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376839366438353236346235313932336566458607395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f7274313768393934323934333030643433613464664587073e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376861626436653236656132643330316436458807395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f7274313768303661636666306135373765373933664589073e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376862366465373766373330303837623464458a07395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376833376536646462383239396138383233458b073e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376862393164613437366639366437616266458c07395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376837386633666361316264313837663736458d073e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376862623438643439313562376535643766458e07395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376837663237376332623965613138633534458f073e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376863393261373166656339666461653332459007395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f7274313768633164353936303330656233643163614591073e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376864363639646634616136623461346337459207395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f7274313768336334373237313931373634623631394593073e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376864623136386237343438613530316334459407395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f7274313768376232306566316261393166323564394595073e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e31376865396134326530303265316530333539459607395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f7274313768633734303563663861356238363266314597076d5f5a4e35365f244c5424627335382e2e656e636f64652e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376866373066373533303734326330306137452e6c6c766d2e36393231353137383038323335363438343098072d5f5a4e39747269655f726f6f7431306275696c645f7472696531376861383536343462656333353163613736459907325f5a4e39747269655f726f6f743135747269655f726f6f745f696e6e657231376837313131336633396333393734623263459a0780015f5a4e38345f244c542473705f696e686572656e74732e2e496e686572656e744461746124753230246173247532302463756d756c75735f746573745f72756e74696d652e2e496e686572656e74446174614578742447542431376372656174655f65787472696e7369637331376838306637333432633262333132383639459b077f5f5a4e38345f244c542473705f696e686572656e74732e2e496e686572656e744461746124753230246173247532302463756d756c75735f746573745f72756e74696d652e2e496e686572656e7444617461457874244754243136636865636b5f65787472696e7369637331376839343062626436306330623532353134459c079c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f6974657231376830333933616234333233303138393830459d079c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f6974657231376837356131376636366664623365666633459e0788015f5a4e3130335f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f646531376864633364616461646532356137653530459f079c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f697465723137683135316466393364393736366137396545a0079c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f697465723137686165306535613935383032346266623045a10788015f5a4e3130335f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686636636632316564356134633835386145a2079c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f697465723137686530383464633464326539303761303645a3078b015f5a4e3130335f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683032306365396439333962613965353945a40791015f5a4e3130395f244c54247061726974795f7363616c655f636f6465632e2e636f756e7465645f696e7075742e2e436f756e746564496e707574244c542449244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e496e7075742447542439726561645f627974653137683665363339383733626639386562336445a50791015f5a4e3130395f244c54247061726974795f7363616c655f636f6465632e2e636f756e7465645f696e7075742e2e436f756e746564496e707574244c542449244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e496e7075742447542439726561645f627974653137683931613432353739333031373564333145a6078d015f5a4e31307363616c655f696e666f35696d706c7338385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442244324432443244424432445244324462443244724432448245250242447542439747970655f696e666f3137683037373934643665363961306136663645a707bd015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733132636865636b5f776569676874315f3131315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c542454244754242447542439747970655f696e666f3137686633393337353338396661326433393345a807c3015f5a4e31326672616d655f73797374656d3130657874656e73696f6e733134617574686f72697a655f63616c6c315f3131355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e657874656e73696f6e732e2e617574686f72697a655f63616c6c2e2e417574686f72697a6543616c6c244c542454244754242447542439747970655f696e666f3137686363623532313233663366323339633545a9079b015f5a4e3130395f244c542463756d756c75735f746573745f72756e74696d652e2e546573744f6e52756e74696d65557067726164652475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e52756e74696d65557067726164652447542431386f6e5f72756e74696d655f757067726164653137683439623736616633326230636237616545aa079c015f5a4e3132305f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c54245424475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c54245424475424244754243966726f6d5f697465723137686462613132303762306465653232643645ab077b5f5a4e31326672616d655f73797374656d3130657874656e73696f6e733132636865636b5f7765696768743230436865636b576569676874244c542454244754243130646f5f7072657061726531376861656333653235346365656164636431452e6c6c766d2e3130383530313130393233353435343336303933ac077c5f5a4e31326672616d655f73797374656d3130657874656e73696f6e733132636865636b5f7765696768743230436865636b576569676874244c542454244754243131646f5f76616c696461746531376861326164623131383539316163613438452e6c6c766d2e3130383530313130393233353435343336303933ad076b5f5a4e31336672616d655f737570706f72743674726169747336746f6b656e7339696d62616c616e636531336f6e5f756e62616c616e63656431324f6e556e62616c616e63656431346f6e5f756e62616c616e636564733137683732313863633564653835323035346345ae07ba015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c3130395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c50244b302443244c302443244d302443244e302443244f302443245030244324513024432452302452502424475424366465636f64653137686437323334333436313435643737326545af07bd015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c3130395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024244c50244b302443244c302443244d302443244e302443244f30244324503024432451302443245230245250242447542439656e636f64655f746f3137683831396637316534666633336561303345b00799015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24475424366465636f64653137686661343963376365303538653831393845b10799015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24475424366465636f64653137683863613535363366323738363237363045b20799015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24475424366465636f64653137686433633566393864666136373538353845b30799015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24475424366465636f64653137683561656561303430613231353765313045b407475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137686664613538623039343032626133366345b5079c015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c244754243973697a655f68696e743137686561306533393436333234646239336245b6079c015f5a4e323063756d756c75735f746573745f72756e74696d65315f39375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542439656e636f64655f746f3137683133663434613562326137313866396445b707595f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376832636130656262396665373339373935452e6c6c766d2e3130383530313130393233353435343336303933b8078e025f5a4e3232395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372452502424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c542443616c6c24475424244754243133626172655f76616c69646174653137683232303238393939653365646434343045b9079a025f5a4e3232395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372452502424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c542443616c6c24475424244754243235626172655f76616c69646174655f616e645f707265706172653137686536636233326438396462323837653245ba0786025f5a4e3232395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372452502424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c542443616c6c2447542424475424367765696768743137683233313066373539356333613430343345bb0787025f5a4e3232395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372452502424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c542443616c6c244754242447542437707265706172653137683432383733383134353131623137653845bc0788025f5a4e3232395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372452502424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c542443616c6c244754242447542438696d706c696369743137683361626563346630346132663164306345bd0788025f5a4e3232395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372452502424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c542443616c6c2447542424475424386d657461646174613137683234383466613361313762636537396445be0788025f5a4e3232395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372452502424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c542443616c6c24475424244754243876616c69646174653137683432386462303439303136633262323245bf07465f5a4e34315f244c54245424753230246173247532302473657264652e2e64652e2e45787065637465642447542433666d743137686535643362343733396131643237346345c007475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683439636638646636326364343562663345c107525f5a4e34636f7265336f70733866756e6374696f6e35466e4d75743863616c6c5f6d757431376830633833393662663666613730366539452e6c6c766d2e3130383530313130393233353435343336303933c207745f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d2475376424247537642431376831383531396362336437396632623437452e6c6c766d2e3130383530313130393233353435343336303933c307725f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542431376861313665313536653130356461313037452e6c6c766d2e3130383530313130393233353435343336303933c407625f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686362303838663832383361633166336345c50780015f5a4e38365f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683031306232613832363364383431316445c60780015f5a4e38365f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683233633639623130383666656565316345c70780015f5a4e38365f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683235616131653561393463393263333645c80780015f5a4e38365f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683564303966613737373234306536306445c90780015f5a4e38365f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686462316134626430303837323364653145ca0780015f5a4e38365f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686661323063633365393239383836646345cb077d5f5a4e39365f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65426c6f636b57656967687473247532302461732475323024626f756e6465645f636f6c6c656374696f6e732e2e476574244c54245f492447542424475424336765743137686366383038366635343263306231303145cc075c5f5a4e323063756d756c75735f746573745f72756e74696d653752756e74696d6531316d657461646174615f697231376833653537663535363262323837616430452e6c6c766d2e3130383530313130393233353435343336303933cd07ee0a5f5a4e313334365f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524753230246173247532302473705f626c6f636b5f6275696c6465722e2e72756e74696d655f6465636c5f666f725f626c6f636b5f6275696c6465722e2e426c6f636b4275696c6465725636244c542473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e426c6f636b244c542473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c542475333224432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c542473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c542473705f636f72652e2e63727970746f2e2e4163636f756e7449643332244324244c5024245250242447542424432463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24432473705f72756e74696d652e2e4d756c74695369676e617475726524432463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244324244c50246672616d655f73797374656d2e2e657874656e73696f6e732e2e617574686f72697a655f63616c6c2e2e417574686f72697a6543616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e5f7a65726f5f73656e6465722e2e436865636b4e6f6e5a65726f53656e646572244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f737065635f76657273696f6e2e2e436865636b5370656356657273696f6e244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f67656e657369732e2e436865636b47656e65736973244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d652447542424432470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524475424245250242447542424432431363737373231365f7573697a65244754242447542424475424244754243135636865636b5f696e686572656e74733137683434623039366432653861383163653845ce0784015f5a4e38395f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524753230246173247532302473705f6d657461646174615f69722e2e496e7465726e616c496d706c52756e74696d654170697324475424313672756e74696d655f6d657461646174613137683635363262636438363661663633633645cf070e76616c69646174655f626c6f636bd007cc015f5a4e3131375f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d654f726967696e247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c542463756d756c75735f746573745f72756e74696d652e2e4f726967696e43616c6c657224475424244754243466726f6d32385f24753762242475376224636c6f737572652475376424247537642431376839333739646264306465636530643735452e6c6c766d2e3130383530313130393233353435343336303933d1078a015f5a4e39345f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137683664363930383665363035613965383145d2079f015f5a4e3130395f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c7465723137683132306335366265353231326232643245d3078f015f5a4e323063756d756c75735f746573745f72756e74696d65315f38345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542439747970655f696e666f3137686139333862633966386137353165386545d40790015f5a4e323063756d756c75735f746573745f72756e74696d65315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d654572726f722447542439747970655f696e666f3137683561363737323161656466393030643845d50790015f5a4e323063756d756c75735f746573745f72756e74696d65315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d654576656e742447542439747970655f696e666f3137683664323737613832346234663537306245d6078b015f5a4e323063756d756c75735f746573745f72756e74696d65315f38305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d652447542439747970655f696e666f3137683039616436333634393437373834623945d7078f015f5a4e3131315f244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6547656e65736973436f6e6669672475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4275696c6447656e65736973436f6e66696724475424356275696c643137683064363931623835633564323463626245d80798015f5a4e38345f244c542473705f696e686572656e74732e2e496e686572656e744461746124753230246173247532302463756d756c75735f746573745f72756e74696d652e2e496e686572656e7444617461457874244754243136636865636b5f65787472696e73696373323368616e646c655f7075745f6572726f725f726573756c743137686464383532626464373331646230376545d90795015f5a4e323063756d756c75735f746573745f72756e74696d65315f39305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d65486f6c64526561736f6e2447542439747970655f696e666f3137683463623165313632646332666534666145da0799015f5a4e323063756d756c75735f746573745f72756e74696d65315f39345f244c5424696d706c247532302473657264652e2e7365722e2e53657269616c697a652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6547656e65736973436f6e666967244754243973657269616c697a653137683732343265366533646235653939663445db0799015f5a4e323063756d756c75735f746573745f72756e74696d65315f39345f244c5424696d706c247532302473657264652e2e7365722e2e53657269616c697a652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6547656e65736973436f6e666967244754243973657269616c697a653137686462353665663361666636613666343345dc07df015f5a4e3138375f244c542463756d756c75735f746573745f72756e74696d652e2e5f2e2e244c5424696d706c247532302473657264652e2e64652e2e446573657269616c697a652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d6547656e65736973436f6e666967244754242e2e646573657269616c697a652e2e5f5f4669656c6456697369746f7224753230246173247532302473657264652e2e64652e2e56697369746f72244754243976697369745f7374723137686266336661323465376635663034353745dd079d015f5a4e323063756d756c75735f746573745f72756e74696d65315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d654576656e74244754243973697a655f68696e743137683531343639636436636332646564333545de079d015f5a4e323063756d756c75735f746573745f72756e74696d65315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e52756e74696d654576656e742447542439656e636f64655f746f3137686639373363653634306164643264626645df0786015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686538623134336161393631386231366545e0078a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683365626163616531313532323362636445e1078a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137686664383937643438646364393335356145e20794015f5a4e3130335f244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137686237643563646664386431373338626145e3078a015f5a4e313073705f72756e74696d65315f38395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f722447542439656e636f64655f746f3137683766353365663335643239613436653045e40788015f5a4e313073705f72756e74696d65315f39305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e4d756c74695369676e617475726524475424366465636f64653137686132633266353639663862633831343645e50788015f5a4e313073705f72756e74696d65315f39305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e4d756c74695369676e617475726524475424366465636f64653137686136363931313734663436653734393145e60788015f5a4e313073705f72756e74696d65315f39305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e4d756c74695369676e617475726524475424366465636f64653137686262646430643864633536356136303645e70788015f5a4e313073705f72756e74696d65315f39305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e4d756c74695369676e617475726524475424366465636f64653137686263313362386239336262633139646245e8078b015f5a4e313073705f72756e74696d65315f39305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e4d756c74695369676e61747572652447542439656e636f64655f746f3137683962623362376334643861363965303145e90790015f5a4e3131315f244c5424626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683061346431653761646133663636623545ea0790015f5a4e3131315f244c5424626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683735633466633833643334356662633245eb07495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683635666166366536383530333736643145ec0793015f5a4e3131365f244c542470616c6c65745f62616c616e6365732e2e696d706c5f63757272656e63792e2e696d62616c616e6365732e2e4e65676174697665496d62616c616e6365244c5424542443244924475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683138393761663633386363646532333645ed0793015f5a4e3131365f244c542470616c6c65745f62616c616e6365732e2e696d706c5f63757272656e63792e2e696d62616c616e6365732e2e506f736974697665496d62616c616e6365244c5424542443244924475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686337633061383733366161383861306545ee0795015f5a4e3131385f244c54246672616d655f737570706f72742e2e73746f726167652e2e5072656669784974657261746f72244c5424542443244f6e52656d6f76616c24475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683938303331636163346335346333363745ef07525f5a4e35335f244c5424636f72652e2e666d742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686332646161363836313138343465323345f007a9015f5a4e313170616c6c65745f7375646f3670616c6c65743131385f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542470616c6c65745f7375646f2e2e70616c6c65742e2e4572726f72244c54245424475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137683362613238613031376435316261376445f10798015f5a4e3132305f244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4275696c6447656e65736973436f6e66696724475424356275696c643137683661316431623861393433303634396445f207755f5a4e38305f244c5424636f72652e2e7374722e2e7061747465726e2e2e5374725365617263686572247532302461732475323024636f72652e2e7374722e2e7061747465726e2e2e53656172636865722447542431306e6578745f6d617463683137686433636563393134376139396133326345f307b4015f5a4e3773705f636f726537737232353531393133345f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f72247532302473705f636f72652e2e63727970746f5f62797465732e2e43727970746f4279746573244c542433325f7573697a6524432473705f636f72652e2e737232353531392e2e537232353531395075626c6963546167244754242447542433666d743137683132623661623132656261646434653745f407595f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683364626432313162303131306564343145f507555f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c54245424432449244754243135656e737572655f75706772616465643137686532383137613738353034636438373945f607a9015f5a4e3133385f244c54246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e66756e6769626c652e2e696d62616c616e63652e2e496d62616c616e6365244c5424422443244f6e44726f702443244f70706f736974654f6e44726f7024475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683932633131363663393264623439646145f70794015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424366d75746174653137686566633738326263373636653639366645f807b2015f5a4e3132315f244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683062333663663238393037313364326445f9078b015f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376864643831353366626638346662323266452e6c6c766d2e3131303632303639383835303634353235303532fa07475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683864396330393536303166383661303545fb07b6015f5a4e3132355f244c542463756d756c75735f70616c6c65745f617572615f6578742e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686566383732653333303961643665633145fc07ab015f5a4e31326672616d655f73797374656d3670616c6c65743131395f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c54246672616d655f73797374656d2e2e70616c6c65742e2e4572726f72244c54245424475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137683864323766303632316536383032626645fd07375f5a4e31327061726974795f6269703339384d6e656d6f6e69633870617273655f696e3137683630346637386266623262323465366245fe077d5f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6537726567756c61723130556e62616c616e636564313664656372656173655f62616c616e636531376838653034323537643530316266363036452e6c6c766d2e3131303632303639383835303634353235303532ff07795f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376832303566336163323735343163326537452e6c6c766d2e3131303632303639383835303634353235303532800895025f5a4e313570616c6c65745f62616c616e6365733133696d706c5f66756e6769626c653230305f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e66756e6769626c652e2e726567756c61722e2e496e7370656374244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244754242475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c5424542443244924475424244754243137726564756369626c655f62616c616e636531376862363739396232663161326235373165458108ae025f5a4e313570616c6c65745f62616c616e6365733133696d706c5f66756e6769626c653230335f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e66756e6769626c652e2e726567756c61722e2e556e62616c616e636564244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244754242475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c542454244324492447542424475424313377726974655f62616c616e636531376837323532333966643731646561313462452e6c6c766d2e313130363230363938383530363435323530353282087d5f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6537726567756c61723130556e62616c616e6365643136696e6372656173655f62616c616e636531376831396565396262323332393732616333452e6c6c766d2e31313036323036393838353036343532353035328308555f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6537726567756c6172364d7574617465387472616e7366657231376837613033323333616636316630396362458408aa025f5a4e313570616c6c65745f62616c616e6365733133696d706c5f66756e6769626c653230305f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e66756e6769626c652e2e726567756c61722e2e496e7370656374244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244754242475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c542454244324492447542424475424313263616e5f776974686472617731376865313435666263363935386435376565452e6c6c766d2e31313036323036393838353036343532353035328508565f5a4e31336672616d655f737570706f72743674726169747336746f6b656e733866756e6769626c6537726567756c6172364d7574617465396275726e5f66726f6d313768613739313134376463646164366130624586084f5f5a4e31336672616d655f737570706f72743773746f72616765313953746f726167654465636f64654c656e67746831306465636f64655f6c656e31376866393232643036633036663563366365458708795f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376839333261363830636438373465346430452e6c6c766d2e31313036323036393838353036343532353035328808795f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376835326364363264653466643162643463452e6c6c766d2e31313036323036393838353036343532353035328908795f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d6170313053746f726167654d6170323173746f726167655f6d61705f66696e616c5f6b657931376861373761363737363830393261616365452e6c6c766d2e31313036323036393838353036343532353035328a0899015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542431307472795f6d757461746531376835373436666665363531333266663132458b08a0015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542431377472795f6d75746174655f65786973747331376834363433646137613039663532623632458c0891015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f72247532302447244754243367657431376866386638373535306132666638613132458d0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542436617070656e6431376866356632633332353230363638626433458e0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f722475323024472447542436696e7365727431376831343138343538393331393038313062458f0894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424366d75746174653137683033376535303134366562653537393945900894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424366d75746174653137683161626238613239396538323434336545910894015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617037395f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424366d7574617465313768393264343633613339396130383437654592089a015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f72336d617038375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e4974657261626c6553746f726167654d6170244c54244b24432456244754242475323024666f7224753230244724475424346974657231376862353537393637626634623035653633459308545f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e63653963616c6c5f6f6e636531376837333335376131346464663663613364452e6c6c766d2e313130363230363938383530363435323530353294087d5f5a4e3133737335385f726567697374727938726567697374727936365f244c5424696d706c2475323024737335385f72656769737472792e2e616464726573735f666f726d61742e2e5373353841646472657373466f726d6174244754243969735f637573746f6d31376839336236343365303435643564363734459508af015f5a4e313470616c6c65745f676c7574746f6e3670616c6c65743132315f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e4572726f72244c54245424475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d31376839633062353436366530623437663464459608cb015f5a4e3135325f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e7061796d656e742e2e46756e6769626c6541646170746572244c5424462443244f552447542424753230246173247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e7061796d656e742e2e4f6e4368617267655472616e73616374696f6e244c54245424475424244754243233636f72726563745f616e645f6465706f7369745f666565313768643966623261343930353831343633324597089a025f5a4e313570616c6c65745f62616c616e6365733133696d706c5f63757272656e63793231345f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e63757272656e63792e2e72657365727661626c652e2e52657365727661626c6543757272656e6379244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244754242475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e50616c6c6574244c54245424432449244754242447542439756e7265736572766531376836646335393537383233643230343965459808b5015f5a4e313570616c6c65745f62616c616e6365733670616c6c65743132365f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e4572726f72244c5424542443244924475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d31376831653431653330303664393766396366459908475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836636232396130613835633232316430459a08565f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c5424542443244924475424313673746f726167655f6d6574616461746131376866623766346664353231663939626333459b08b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376834646536313537303431653431653264459c08b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376835306532346339366464616165323266459d08b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f31376866323235383635386263616331613365459e085f5f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c5424542443244924475424323570616c6c65745f636f6e7374616e74735f6d6574616461746131376866653539326534663637663335336434459f08625f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c542454244324492447542432386d75746174655f6163636f756e745f68616e646c696e675f647573743137683930373632616633663534383663663745a008665f5a4e313570616c6c65745f62616c616e6365733670616c6c6574313950616c6c6574244c5424542443244924475424333270616c6c65745f6173736f6369617465645f74797065735f6d657461646174613137683730383936666139666262616333346445a108a5015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130335f244c5424696d706c247532302473657264652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e47656e65736973436f6e666967244c5424542443244924475424244754243973657269616c697a653137683538396431636162353565326566366345a208a5015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130335f244c5424696d706c247532302473657264652e2e7365722e2e53657269616c697a652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e47656e65736973436f6e666967244c5424542443244924475424244754243973657269616c697a653137683638633663636561613636303966386345a308a5015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c542454244324492447542424475424366465636f64653137683338323533373461323037366366396245a408a5015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c542454244324492447542424475424366465636f64653137683638393132366366303062356332363345a508a5015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c542454244324492447542424475424366465636f64653137686230346337336439393134623265643945a608a5015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c542454244324492447542424475424366465636f64653137686266323566656331326265353637656445a708a8015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c54245424432449244754242447542439656e636f64655f746f3137683639626139333133663738363362623245a808a8015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c5424542443244924475424244754243973697a655f68696e743137683962376634643731643237653131313645a908a9015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f3130375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e4576656e74244c54245424432449244754242447542439656e636f64655f746f3137683734653263653061366230303662646145aa089a015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f39335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c54245424432449244754242447542439747970655f696e666f3137686664306430306264636362656436663845ab089b015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e4572726f72244c54245424432449244754242447542439747970655f696e666f3137683433393132643364346236346562373845ac089b015f5a4e313570616c6c65745f62616c616e6365733670616c6c6574315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e70616c6c65742e2e4576656e74244c54245424432449244754242447542439747970655f696e666f3137683662393965323436613238326338643845ad08475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683565626637646337383961346538633845ae08475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137686266343934376665316636613566383845af083f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683064353837393061363239363832626645b0083f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683938313066666430346539663161616545b1083f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686535313539616133663030636232393145b208ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137683239666561656537383035353435653545b308ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137683631326264303631383930366261363745b408ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137686139333461623130626230326130336645b508ee015f5a4e3139365f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e6d61702e2e53746f726167654d6170244c54245072656669782443244861736865722443244b657924432456616c756524432451756572794b696e642443244f6e456d7074792443244d617856616c756573244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137686563393163633435326138636231376145b608b4015f5a4e3139626f756e6465645f636f6c6c656374696f6e733131626f756e6465645f766563315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c54245424432453244754242447542439747970655f696e666f3137686163633430356532653566306363356345b7085a5f5a4e323363756d756c75735f70616c6c65745f617572615f6578743670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137683739343563386532373266373763343645b808bf025f5a4e3238305f244c542463756d756c75735f70616c6c65745f617572615f6578742e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e46696e616c697a65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d626572244754242447542431316f6e5f66696e616c697a653137683636663839656635386631623535643345b908d1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c65743133385f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e4572726f72244c54245424475424244754242475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f72244754243466726f6d3137683137653461343332323933306331333545ba08465f5a4e34315f244c54245424753230246173247532302473657264652e2e64652e2e45787065637465642447542433666d743137683366383262393063373234333864656345bb08475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683234346662376132316534653736663245bc08475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683265653963316131383639386533653045bd08475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683531346230613862656532663138653945be08475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683565663536353138333437663639303045bf085b5f5a4e36325f244c542473705f72756e74696d652e2e44697370617463684572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686439333263316438643831363563396645c008475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683633326561396265343439333965326545c108475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683639373835653639633439356366333145c208475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683664333238343732363431346166303645c308475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683735636462656438376164613863366445c408475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683833326661656631656533333965333345c508475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683838363164613233636561616434616145c608475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683861373530316537653538303666646345c708475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683863396431323561313166646134656445c808475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683864323166623030613635656238643845c908475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683935613961386463383337346534623845ca08475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686131353736616636346238633533616545cb08475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686138646163343064326537303839666445cc08475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686662313563336632613466653464623445cd08495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686561353731366530306564613038333945ce085b5f5a4e34636f726533666d74336e756d34395f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f72247532302475382447542433666d743137683735633961343634646632346534626145cf085e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137683262616130326665333736626635643945d008305f5a4e34636f726533666d743557726974653977726974655f666d743137683235363930356566666363626435393945d1086a5f5a4e34636f726533707472343664726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c54247538244754242447542431376834646235663334303430326135653635452e6c6c766d2e3131303632303639383835303634353235303532d2086d5f5a4e34636f726533707472343964726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e46726f6d557466384572726f722447542431376835383833643532356138636330373263452e6c6c766d2e3131303632303639383835303634353235303532d308725f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542431376861313665313536653130356461313037452e6c6c766d2e3131303632303639383835303634353235303532d408595f5a4e34636f726533707472353564726f705f696e5f706c616365244c542473705f636f72652e2e63727970746f2e2e536563726574537472696e674572726f72244754243137686332336633376363613631343666306245d5083d5f5a4e34636f726533737472377061747465726e313454776f5761795365617263686572346e6578743137683837383966376166623631323035313445d6085f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f636861723137686261356632333433323063373033646545d7085d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137686338313539386563386234376134313945d808625f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431346f725f696e736572745f776974683137683163303833386132646465636135353445d908625f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d617035656e7472793232456e747279244c54244b24432456244324412447542431346f725f696e736572745f776974683137683237656334613434396563373563353145da08625f5a4e36305f244c5424245246246d7574247532302454247532302461732475323024627335382e2e656e636f64652e2e456e636f6465546172676574244754243131656e636f64655f776974683137683432313930383163393064623534653945db08785f5a4e36355f244c5424616c6c6f632e2e737472696e672e2e46726f6d557466384572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836643639666637353666386530633461452e6c6c766d2e3131303632303639383835303634353235303532dc085e5f5a4e36355f244c542473705f636f72652e2e63727970746f2e2e5075626c69634572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683661333761306533343764333366333945dd085f5f5a4e36365f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c54245424475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686138653939666432636637633064313045de08655f5a4e3773705f636f72653663727970746f3953733538436f6465633235746f5f73733538636865636b5f776974685f76657273696f6e31376830376230366431393732326362363366452e6c6c766d2e3131303632303639383835303634353235303532df086d5f5a4e37315f244c542473705f636f72652e2e63727970746f2e2e4163636f756e744964333224753230246173247532302473657264652e2e64652e2e446573657269616c697a65244754243131646573657269616c697a653137683339623239366237343536323165316245e008645f5a4e37315f244c542473705f636f72652e2e63727970746f2e2e536563726574537472696e674572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683935613335393239333466393161313245e1086b5f5a4e37385f244c54246672616d655f737570706f72742e2e64697370617463682e2e506f73744469737061746368496e666f247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686631653237386565626132306464396445e208745f5a4e38365f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683238313732633532313332383437306345e308745f5a4e38365f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686462343538353737633938316339393445e4087b5f5a4e39345f244c5424626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c5424542443245324475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683132643238646561643332303662616245e5087b5f5a4e39345f244c5424626f756e6465645f636f6c6c656374696f6e732e2e626f756e6465645f7665632e2e426f756e646564566563244c5424542443245324475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686237663339353932316262623637386245e6086d5f5a4e31307363616c655f696e666f35696d706c7335365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424524624542447542439747970655f696e666f3137683132333763383435313331616632623345e708bc015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e73346d697363315f3131365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e6d6973632e2e4964416d6f756e74244c5424496424432442616c616e6365244754242447542439747970655f696e666f3137686236383635336136343130376133653545e808ed015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3132315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e416e636573746f72244c542448244754242447542439747970655f696e666f31376832626262343861353434613534663930452e6c6c766d2e36383730323434303736363938383537343432e908bc015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e73346d697363315f3131365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e6d6973632e2e4964416d6f756e74244c5424496424432442616c616e6365244754242447542439747970655f696e666f3137686339373738326536643539623131356545ea088e015f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f31376839373039353537623463393234376633452e6c6c766d2e36383730323434303736363938383537343432eb0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683132343833303036343035626437646645ec0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683365656165343731646562373336366245ed0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683763663236326233656234326430356445ee0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683831373639323466613061313266386345ef0885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137683863303030616234393733383432376445f00885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137686164333165653735653934616465636145f10885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137686239633238396237663636636132316345f20885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137686366366532316532343364386161333845f30885015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137686435393866316336386133326430356145f408b9015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3132315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e646578244754242447542439747970655f696e666f3137683236343535396362643038623433383545f508c3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137683135396661613930666138633133633545f608c3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137683234366463626136373039613537326245f708c3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137683234613232303738353730643036613845f808c3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137683730386236393833663864626532386245f908c3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137683961643261393965363264613537613545fa08c3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137686435336665326465326165313836396545fb08c3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137686638343664313632366238306132653745fc08c3015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e6465782447542424475424366465636f64653137686662353138376335646539373766393545fd08c6015f5a4e313073705f72756e74696d6531326d756c746961646472657373315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c54244163636f756e7449642443244163636f756e74496e646578244754242447542439656e636f64655f746f3137683038373936353562373639303564326645fe08a0015f5a4e3131375f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e696e686572656e742e2e50726f76696465496e686572656e742447542431356372656174655f696e686572656e743137683930396239336634653465356239646645ff08bc015f5a4e3133315f244c542463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e73313768366665643233363239613631383563624580098a015f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376864643831353366626638346662323266452e6c6c766d2e363837303234343037363639383835373434328109be015f5a4e3133335f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683261393863373062386239366431616445820991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424336765743137683936636362346464643432613537613645830991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424336765743137686130623836303839663932393137333145840991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f72247532302447244754243367657431376863396161323730366464613432623633458509585f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376839363436376338373335303639613363452e6c6c766d2e36383730323434303736363938383537343432860991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683132303239636164356533383962313645870991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683132343365623636646561363233616645880991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683132376630326561306134623034623745890991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f72247532302447244754243370757431376831396266643461363532633334313464458a0991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f72247532302447244754243370757431376831646135356461666539366461393633458b0991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f72247532302447244754243370757431376832396138353662613532346433653338458c0991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f72247532302447244754243370757431376833376636646162376466383162323562458d0991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f72247532302447244754243370757431376839316139633739623962366636646432458e0991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f72247532302447244754243370757431376839333432643133643135333662393965458f0991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137683965313637363231643565386463333945900991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337075743137686438383961643961303531393132626345910991015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424337365743137686539643336393134643432313437333745920994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f722475323024472447542436617070656e643137683137623462366561316534333462656245930994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f722475323024472447542436617070656e643137686466613566633832636261356334353945940994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683034623537373666333861313536636545950994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683063666239613431303236613136306645960994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683461666332643735383039633731343345970994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137683636333866663239376436613238633845980994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d75746174653137686137636661383230373561613633633245990994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d757461746531376865363535323834343661316433306334459a0994015f5a4e31336672616d655f737570706f72743773746f726167653967656e657261746f723576616c756537375f244c5424696d706c24753230246672616d655f737570706f72742e2e73746f726167652e2e53746f7261676556616c7565244c542454244754242475323024666f7224753230244724475424366d757461746531376866373634653538343466303133316464459b09bc015f5a4e31336672616d655f737570706f7274386469737061746368315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c542454244754242447542439747970655f696e666f31376831353263636237663338383337373462452e6c6c766d2e363837303234343037363639383835373434329c09ad015f5a4e31336672616d655f737570706f7274386469737061746368315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c5424542447542424475424366465636f646531376862623731623733356163313763366363459d09b0015f5a4e31336672616d655f737570706f7274386469737061746368315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c542454244754242447542439656e636f64655f746f31376838323336303837653938633633393431459e09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f31376835656536393165646661363935303633459f09d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137683165613266393636306434313230303445a009d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137683836356534393634343835616533346445a109d7015f5a4e3137335f244c54246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e76616c75652e2e53746f7261676556616c7565244c542450726566697824432456616c756524432451756572794b696e642443244f6e456d707479244754242475323024617324753230246672616d655f737570706f72742e2e73746f726167652e2e74797065732e2e53746f72616765456e7472794d657461646174614275696c6465722447542431346275696c645f6d657461646174613137686539396238336334633330396363343345a209475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137686439393131636336643134316431366145a309e1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3133345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e416e636573746f72244c542448244754242447542439656e636f64655f746f3137686533346130666338303364366234623145a4093f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683139373862633931633066396233646445a5093f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686239636165393934643336646237386645a609c7025f5a4e3238385f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e46696e616c697a65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d626572244754242447542431316f6e5f66696e616c697a653137686434333463303063613238656435326445a709e7015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3134305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e5365676d656e74547261636b6572244c542448244754242447542439656e636f64655f746f3137686664633463313339316364383764323845a809cb025f5a4e3239305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e496e697469616c697a65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d626572244754242447542431336f6e5f696e697469616c697a653137686135353531393833333231653562343745a909da015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3132375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e5365676d656e74547261636b6572244c542448244754242447542439747970655f696e666f3137683065656561643836663032363132353345aa09e4015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3138756e696e636c756465645f7365676d656e74315f3134305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e756e696e636c756465645f7365676d656e742e2e5365676d656e74547261636b6572244c5424482447542424475424366465636f64653137686634613232643662623466373733366245ab09625f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137683334353463303266636235363330613445ac096b5f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137683862366261323962636236316164343745ad09b7015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3130355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137686237623365333736393735303831363845ae09b8015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3130365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e4572726f72244c542454244754242447542439747970655f696e666f3137683833323939343032313638653934313445af09b8015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3130365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e4576656e74244c542454244754242447542439747970655f696e666f3137683230373432633338333066333263303945b009c1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683236373461383434326632316265616245b109c1015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683537313633326235326563663162316345b209c4015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f3137686365613633383364643737643862306245b309c5015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3670616c6c6574315f3131395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e4576656e74244c542454244754242447542439656e636f64655f746f3137683431666331323132353236633363646345b40999015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424313973656e645f7570776172645f6d6573736167653137683230313761633034306439356637663245b5099b015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432317363686564756c655f636f64655f757067726164653137683437326164623737353965306336346145b6099c015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243232636f6c6c6563745f636f6c6c6174696f6e5f696e666f3137686235643463383232383865333432356245b709a3015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432396d617962655f64726f705f696e636c756465645f616e636573746f72733137686138333762626531363064643937333545b809a3015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243239756e696e636c756465645f7365676d656e745f73697a655f61667465723137686432613165396336393033393838346345b909a7015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243333656e71756575655f696e626f756e645f646f776e776172645f6d657373616765733137683030646462326366303038336630373445ba09a9015f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d37345f244c5424696d706c247532302463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243335656e71756575655f696e626f756e645f686f72697a6f6e74616c5f6d657373616765733137683234633339643465643732336535666345bb09465f5a4e34315f244c54245424753230246173247532302473657264652e2e64652e2e45787065637465642447542433666d743137683465616130613936636235663834363745bc09475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683336653564316230313637303631383645bd09475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683531646331343735346466653262346445be09475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683632373366346664333930373433613145bf09475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683763376434646434643831376664373945c009475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686133383130613762623333646664613545c109475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686161653634326635653663323663663945c209475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686361336633653264613961376235373345c30982015f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e48323536244754242447542431376838363462626332343830343565323536452e6c6c766d2e36383730323434303736363938383537343432c409ca015f5a4e34636f72653370747231363764726f705f696e5f706c616365244c54246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c542475382447542424475424244754243137683731316431626130616131353537393645c5093d5f5a4e35616c6c6f63337665633136566563244c54245424432441244754243973706c69745f6f66663137683166636166613137316234613265396345c6093b5f5a4e3773705f747269653130747269655f636f64656331346465636f64655f636f6d706163743137686236383563303839623036386361316445c7095c5f5a4e37747269655f64623130747269655f636f64656332364465636f646572537461636b456e747279244c542443244754243139616476616e63655f6368696c645f696e6465783137683739363461303961303039393063623445c809575f5a4e37747269655f64623130747269655f636f64656332364465636f646572537461636b456e747279244c542443244754243134707573685f746f5f7072656669783137683237623737326334393862623535656345c909545f5a4e37747269655f64623130747269655f636f64656332364465636f646572537461636b456e747279244c542443244754243131656e636f64655f6e6f64653137686338333162356332356365363763633345ca09485f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c24475424336e65773137686630663031333737623563663533396645cb09525f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c2447542431326e65775f70726566697865643137686239383832336564393564613461616245cc09645f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c244754243670726566697831376838666565386437346532373132376532452e6c6c766d2e36383730323434303736363938383537343432cd096c5f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c2447542431336e6578745f7261775f6974656d31376865633236303439633431383532353135452e6c6c766d2e36383730323434303736363938383537343432ce095c5f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c2447542432326e65775f70726566697865645f7468656e5f7365656b3137686431396530633935656465396335323945cf09495f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c24475424347365656b3137683232393162373164393563616137306345d009785f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c244754243235657874726163745f6b65795f66726f6d5f7261775f6974656d31376836363464396133613437386531393364452e6c6c766d2e36383730323434303736363938383537343432d1094d5f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c24475424386e6578745f6b65793137683162306563623865326661383334613645d2094e5f5a4e37747269655f6462386974657261746f7232365472696544425261774974657261746f72244c54244c24475424396e6578745f6974656d3137683961353366646333363235343837623845d309735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683363326631666232316366616566383945d409735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683930353332303436346266666433323345d509735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686461376363323761326632613434346345d609735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686636393535323861386432353534623745d709765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683766393261386134643138383365393145d809765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683838316537633066653032363937353645d909765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686163313439323361316330373136393845da09765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686632643738633766633338363438353245db090c436f72655f76657273696f6edc0912436f72655f657865637574655f626c6f636bdd0915436f72655f696e697469616c697a655f626c6f636bde092741757261556e696e636c756465645365676d656e744170695f63616e5f6275696c645f75706f6edf092852656c6179506172656e744f66667365744170695f72656c61795f706172656e745f6f6666736574e00915417572614170695f736c6f745f6475726174696f6ee10913417572614170695f617574686f726974696573e209114d657461646174615f6d65746164617461e3091c4d657461646174615f6d657461646174615f61745f76657273696f6ee4091a4d657461646174615f6d657461646174615f76657273696f6e73e5091d4163636f756e744e6f6e63654170695f6163636f756e745f6e6f6e6365e6091c426c6f636b4275696c6465725f6170706c795f65787472696e736963e7091b426c6f636b4275696c6465725f66696e616c697a655f626c6f636be80920426c6f636b4275696c6465725f696e686572656e745f65787472696e73696373e9091c426c6f636b4275696c6465725f636865636b5f696e686572656e7473ea092b5461676765645472616e73616374696f6e51756575655f76616c69646174655f7472616e73616374696f6eeb09214f6666636861696e576f726b65724170695f6f6666636861696e5f776f726b6572ec091f53657373696f6e4b6579735f6465636f64655f73657373696f6e5f6b657973ed092153657373696f6e4b6579735f67656e65726174655f73657373696f6e5f6b657973ee09234765744c61737454696d657374616d705f6765745f6c6173745f74696d657374616d70ef092b436f6c6c656374436f6c6c6174696f6e496e666f5f636f6c6c6563745f636f6c6c6174696f6e5f696e666ff00920476574436f726553656c6563746f724170695f636f72655f73656c6563746f72f1091a47656e657369734275696c6465725f6275696c645f7374617465f2091947656e657369734275696c6465725f6765745f707265736574f3091b47656e657369734275696c6465725f7072657365745f6e616d6573f4091d47657450617261636861696e496e666f5f70617261636861696e5f6964f5098c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683431626262373338643638653662386445f609ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137686261373031646435303536373462643645f70981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683264386337366430336263343634636245f8098c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683633363765373236313661343361396345f909ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683039623762303932646534636338306445fa0981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683534653031646131376630646265623645fb098c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683732613436373135333163646331343345fc09ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683264366536373065363334333337616245fd0981015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683966653831306439316531306331643445fe098c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683932643432363564633066323439623445ff09ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137686134353239633732313333643733336245800a81015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683033656138646464366566353036343945810a8c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683938653561373632623363323130363545820aac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683735393530396230316163636662313645830a8c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686239633665326537303461336333323645840aac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137686431613839366463663734396636613145850a8c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686530396134613231353834326236343645860aac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683466396664626133646164623335323445870a8c015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686638633563656666646634313436616545880aac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683563633538663937336434623861353545890a8f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f31376831343063323665353938653335623166458a0a8f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f31376835373135303534613436393030656331458b0a8f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f31376836383237313334626430643337336163458c0a9e015f5a4e31307363616c655f696e666f35696d706c733130345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242447542439747970655f696e666f31376834643364376263306235373930636464458d0a735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f31376836316266306161663962353466613161458e0ac4015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3130365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e4f7574626f756e6448726d704d657373616765244c54244964244754242447542439747970655f696e666f31376863663365393363666530346635633735452e6c6c766d2e31353433393036373835313439343930343230308f0aa2015f5a4e313570616c6c65745f62616c616e636573357479706573315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e42616c616e63654c6f636b244c542442616c616e6365244754242447542439747970655f696e666f3137683635633632376334616165623538666345900a755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137686239326361336465323035616137363145910ac8015f5a4e3136345f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e24432431363737373231365f7573697a65244754242475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137686239346136623138376635303664643645920ab6015f5a4e313570616c6c65745f62616c616e636573357479706573315f3132315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e5265736572766544617461244c5424526573657276654964656e74696669657224432442616c616e6365244754242447542439747970655f696e666f3137686334653335376635646537626536363745930a3b5f5a4e313073657264655f6a736f6e337365723138666f726d61745f657363617065645f7374723137683131366633633365656365393530323945940a5a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686234393738363434663839653565333945950a85015f5a4e313073657264655f6a736f6e3576616c75653373657237365f244c5424696d706c247532302473657264652e2e7365722e2e53657269616c697a652475323024666f72247532302473657264655f6a736f6e2e2e76616c75652e2e56616c7565244754243973657269616c697a653137683639623264313331316339643462383145960a8e015f5a4e3131315f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e497465724d7574244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683231313665336664376134666462303245970aaa015f5a4e3131335f244c542470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686635303036313866383230616663666545980a8b015f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376864643831353366626638346662323266452e6c6c766d2e3135343339303637383531343934393034323030990aaa015f5a4e3131335f244c542470616c6c65745f7375646f2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e7331376864616638626634616638613739356138459a0a93015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376831666532393836636165653937343536459b0a93015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376833313365633139393135336137623761459c0a93015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376835643939336633323538356333383962459d0a93015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376836636532326235356365323231656261459e0a93015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376839323638323638333935303263616536459f0a93015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686361373339373731656537393534623545a00a93015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686432303663396635333264636364386445a10aaf015f5a4e313170616c6c65745f617572613132335f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e76616c69646174696f6e2e2e46696e64417574686f72244c5424753332244754242475323024666f72247532302470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424313166696e645f617574686f723137686361373261366430316462343133663545a20aed015f5a4e313170616c6c65745f617572613138305f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e54696d657374616d70536574244c5424244c54245424753230246173247532302470616c6c65745f74696d657374616d702e2e70616c6c65742e2e436f6e666967244754242e2e4d6f6d656e74244754242475323024666f72247532302470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431366f6e5f74696d657374616d705f7365743137686536653435366361623037323633366145a30a745f5a4e313170616c6c65745f6175726135345f244c5424696d706c247532302470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243232696e697469616c697a655f617574686f7269746965733137683961383735653534376432373235326245a40a4e5f5a4e313170616c6c65745f617572613670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137686131653733313838633230333739356445a50a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683437303438663336363562353137363845a60a575f5a4e313170616c6c65745f617572613670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137683439346631353663656163663339306445a70a495f5a4e313170616c6c65745f7375646f3670616c6c6574313550616c6c6574244c542454244754243131656e737572655f7375646f3137686663666531346539363164363863613545a80a8e015f5a4e313170616c6c65745f7375646f3670616c6c6574315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137686166316534323438313465383334613345a90a8f015f5a4e313170616c6c65745f7375646f3670616c6c6574315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e4572726f72244c542454244754242447542439747970655f696e666f3137686334396534643432303562363832356145aa0a8f015f5a4e313170616c6c65745f7375646f3670616c6c6574315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e4576656e74244c542454244754242447542439747970655f696e666f3137686362396566613162666531663232313845ab0a98015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683338383566663163356262623534396145ac0a585f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c244754243137686131366531353665313035646131303745ad0a98015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683531663333303062393237643538396345ae0a98015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137686134633038353261623866343264313645af0a98015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137686162323133343238616538383161646245b00a9b015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f3137686264353030656334633438336138353745b10a9b015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c54245424475424244754243973697a655f68696e743137683635393762313363333261376461633245b20a9c015f5a4e313170616c6c65745f7375646f3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f7375646f2e2e70616c6c65742e2e4576656e74244c542454244754242447542439656e636f64655f746f3137683731303730343035656532353537336345b30ab5015f5a4e3132345f244c542473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137683037643632343266633466373132393245b40a9c015f5a4e3132365f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e507265616d626c65244c5424416464726573732443245369676e6174757265244324457874656e73696f6e24475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683538663265633161636637333137353645b50ab9015f5a4e3132385f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686564316165643663613333616562386245b60aac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683131323465363465353135613464353745b70aa2015f5a4e313570616c6c65745f62616c616e636573357479706573315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e4163636f756e7444617461244c542442616c616e6365244754242447542439747970655f696e666f3137686362633332323836343631306566356645b80aaf015f5a4e313570616c6c65745f62616c616e636573357479706573315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e4163636f756e7444617461244c542442616c616e6365244754242447542439656e636f64655f746f3137683462633434613463313262373362303245b90ac5015f5a4e3136345f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e2443245f244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683264626333326562633263333963366445ba0ac5015f5a4e3136345f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e2443245f244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683932356630363063383762363230656545bb0ac5015f5a4e3136345f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e2443245f244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686239303838656166306631303936633945bc0ad2015f5a4e3137375f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244164647265737324432443616c6c2443245369676e6174757265244324457874656e73696f6e24432431363737373231365f7573697a65244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137683230626664376436613565363565303945bd0a9b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137683365626233373336623230373030396545be0a475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683036396362333139333337303731323645bf0a475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683061326332313863373636363565363845c00a3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683064376434623330616462383438396245c10a3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683131653435633466323034353066396345c20a3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683639303835383536316636633335353145c30a3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686265306162616565363235353233636445c40a3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686436363363306633336138346463363145c50ae0015f5a4e3139325f244c542473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c54244c6f6f6b7570536f7572636524432443616c6c2443245369676e6174757265244324457874656e73696f6e24432431363737373231365f7573697a652447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e436865636b61626c65244c54244c6f6f6b7570244754242447542435636865636b3137683466383364333531386232623365383645c60af5015f5a4e3230395f244c542473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e5f2e2e244c5424696d706c247532302473657264652e2e64652e2e446573657269616c697a652475323024666f72247532302473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754242e2e646573657269616c697a652e2e5f5f4669656c6456697369746f7224753230246173247532302473657264652e2e64652e2e56697369746f72244754243976697369745f7374723137683135376336353339643139643037363345c70afd015f5a4e3231375f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e5f2e2e244c5424696d706c247532302473657264652e2e64652e2e446573657269616c697a652475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e47656e65736973436f6e666967244c54245424475424244754242e2e646573657269616c697a652e2e5f5f4669656c6456697369746f7224753230246173247532302473657264652e2e64652e2e56697369746f72244754243976697369745f7374723137686230346662653339346164343963333145c80aa4015f5a4e323273746167696e675f70617261636861696e5f696e666f3670616c6c6574315f39365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473746167696e675f70617261636861696e5f696e666f2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137683135386235376266653766303338383145c90abc015f5a4e3234706f6c6b61646f745f636f72655f7072696d697469766573315f3132375f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024706f6c6b61646f745f636f72655f7072696d6974697665732e2e496e626f756e6448726d704d657373616765244c5424426c6f636b4e756d6265722447542424475424366465636f64653137683938363163633133346433303630636145ca0aa5015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e7436395f244c5424696d706c247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243135636f6d707574655f6665655f72617731376862393533326537386430376234376230452e6c6c766d2e3135343339303637383531343934393034323030cb0a5d5f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137683130663865323631383935613937663745cc0a665f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137683331373338656430313933376138386545cd0aae015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e4576656e74244c542454244754242447542439747970655f696e666f3137686365323135343731346565656637356145ce0abb015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e743670616c6c6574315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e70616c6c65742e2e4576656e74244c542454244754242447542439656e636f64655f746f3137686539326162396237343836306234326145cf0ab7025f5a4e3237305f244c542470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e496e697469616c697a65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d626572244754242447542431336f6e5f696e697469616c697a653137683463626361303862383138613932343845d00a465f5a4e34315f244c54245424753230246173247532302473657264652e2e64652e2e45787065637465642447542433666d743137683331653266316538333365363931336245d10a475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683261613465363362313435313135313745d20a475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683832343961356136353939393966316245d30a475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686664313066346331653738663534353145d40a495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683063323963366332306130356332613245d50a5c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247536342447542433666d743137683966383134653432366537363631613145d60ab2015f5a4e34636f72653370747231313764726f705f696e5f706c616365244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c5424616c6c6f632e2e737472696e672e2e537472696e6724432473657264655f6a736f6e2e2e76616c75652e2e56616c7565244754242447542431376833376265336364363466616562633863452e6c6c766d2e3135343339303637383531343934393034323030d70a695f5a4e34636f726533707472343564726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e76616c75652e2e56616c75652447542431376833303830613561336466656563663530452e6c6c766d2e3135343339303637383531343934393034323030d80a4f5f5a4e34636f726533707472343564726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72244754243137686134373734396362376165653531313045d90a81015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683863336230393433623933346534653245da0a565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137683635306438386230383032623137643545db0a565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137686336663864346639316265333261613945dc0a705f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e7365727431376865353334373362376634623266646137452e6c6c766d2e3135343339303637383531343934393034323030dd0a565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137686535343134663965376335336563326345de0a565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137686633333235323638396630613233393145df0a565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b2443245624432441244754243672656d6f76653137683738346530633962346330636134313345e00a3e5f5a4e35616c6c6f633473796e633136417263244c54245424432441244754243964726f705f736c6f773137683931623761663663633262356638373945e10a4c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376835316162346131666163353438623536452e6c6c766d2e3135343339303637383531343934393034323030e20a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683031656635323662396339663135313745e30a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683036613964316331636136363562356145e40a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683036646535656264616332376635666245e50a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683037666161616233623035633637306145e60a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683130326433633963313765613030303245e70a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683136363136396335363366373638363845e80a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683236383236356337326464616663613845e90a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683261636430303331666339653135306545ea0a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683363356464616266323335373131653345eb0a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683564383131376535336634303665373945ec0a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686235336535646331653166663530343045ed0a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686235373035366261363233393136373145ee0a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686262323635643365333065356162373645ef0a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686262336461353465353766313862626345f00a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686435313462643330313438653237623645f10a435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686464656463636265376364633932656245f20a4a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c542441244754243133726573657276655f65786163743137683366616166656333353265323133333145f30a405f5a4e35736572646533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683036376265646265643630646462313945f40a405f5a4e35736572646533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683266623833343038373461373031633345f50a405f5a4e35736572646533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683537633762343463386132353932313845f60a405f5a4e35736572646533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683636323339363236636438373932363645f70a81015f5a4e38355f244c542473657264655f6a736f6e2e2e7365722e2e436f6d706f756e64244c542457244324462447542424753230246173247532302473657264652e2e7365722e2e53657269616c697a655475706c6524475424313773657269616c697a655f656c656d656e743137683935643630386465643533613837393845f80a405f5a4e35736572646533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137683664366634363239666661343937626445f90a405f5a4e35736572646533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686135303032323531303530303739396345fa0a405f5a4e35736572646533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686231303135303762363165643235343745fb0a405f5a4e35736572646533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686233343465313539333538656663363345fc0a405f5a4e35736572646533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686261613363346664643530303439336345fd0a405f5a4e35736572646533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686333623563323331333562346437396645fe0a405f5a4e35736572646533736572313253657269616c697a654d6170313573657269616c697a655f656e7472793137686439356165353239316637653661393745ff0a785f5a4e36365f244c5424542475323024617324753230247061726974795f7363616c655f636f6465632e2e64657074685f6c696d69742e2e4465636f64654c696d69742447542432376465636f64655f616c6c5f776974685f64657074685f6c696d69743137683163386333326365386561383633306445800b705f5a4e38325f244c5424636f72652e2e61727261792e2e697465722e2e496e746f49746572244c5424542443245f24475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686632653334646365643162346634363645810b7e5f5a4e38345f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683138393662653537396466383734303745820b7e5f5a4e38345f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683237386663616536383034643464313445830b7e5f5a4e38345f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683262636233326264353134316534333845840b7e5f5a4e38345f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683531613030383830393861383762626145850b7e5f5a4e38345f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683534323261373234386663646234343745860b7e5f5a4e38345f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683537363233336334646165316636376145870b7e5f5a4e38345f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137683737383633653230363064383233633845880b7e5f5a4e38345f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c643137686138383436616338313832396431373245890b7e5f5a4e38345f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376865663534343834316364343834353232458a0b7e5f5a4e38345f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376866343532633865383433303636376564458b0b7e5f5a4e38345f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264652e2e7365722e2e53657269616c697a6553747275637424475424313573657269616c697a655f6669656c6431376866373838663237383564326465323965458c0b8b015f5a4e39355f244c542470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f31376863376139633438356335336638636265458d0ba8015f5a4e39365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653133636c6f6e655f7375627472656531376835616366353963656337373761363537452e6c6c766d2e31353433393036373835313439343930343230308e0b81015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376834303034306335323639373062303263458f0b81015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683130616231343062323134666631353345900b81015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683933623765306237393238313761333845910b81015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683665623966376262353161616463346445920b81015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683935623137633265323366336562616145930b81015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686135616333323663316464303266386545940b81015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686439613039366666626363656434363945950b81015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686537303031323764396461373532303245960b515f5a4e323063756d756c75735f746573745f72756e74696d65323267656e657369735f636f6e6669675f7072657365747331306765745f7072657365743137683830623764363139383666646533333845970b755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683331346562616262396531383866373245980b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683030663934626138656239633362346545990b755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f31376834346361646230343761643336386533459a0b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f31376830303261333965363233306538366636459b0b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f31376830346531613731626661633831383838459c0b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f31376831363564366136653836376539396435459d0b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f31376832346532303730366233663930303434459e0b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f31376832383663653365623132633137373838459f0b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683333316237623764633030306431356145a00b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683333386131373137366665663863353245a10b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683530393636376434386339663531353045a20b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683539346161666433353532356165356145a30b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683631353165666230323232653762353045a40b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683734623163303461333164343232353245a50b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683833376137373766656462353632343645a60b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683865303662393737326331343866323945a70b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683932333865663336343066343032376345a80b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686137353236663738346431353766346345a90b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686336646231633832383336393532656245aa0b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686436373362356433643363396163373145ab0b80015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686637393734393438356263353863336445ac0bae015f5a4e313073705f72756e74696d653767656e6572696335626c6f636b315f3131305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e426c6f636b244c542448656164657224432445787472696e736963244754242447542439747970655f696e666f3137686639313932626239646239343932366145ad0bb8015f5a4e313073705f72756e74696d653767656e6572696335626c6f636b315f3132335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e426c6f636b244c542448656164657224432445787472696e7369632447542424475424366465636f64653137686639356663373062653832343733613945ae0b91015f5a4e3131345f244c5424636f72652e2e697465722e2e61646170746572732e2e666c617474656e2e2e466c61744d6170244c542449244324552443244624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683636343264613361636339663863636645af0bad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683138343835343538313437386432373945b00bad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683638323137643863616266313837393045b10bad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686539633361346264396639353038306145b20bce015f5a4e3136325f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c5424482447542424753230246173247532302473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e54726965436163686550726f7669646572244c5424482447542424475424313661735f747269655f64625f63616368653137686238616331303937643838363666333945b30bd3015f5a4e3136355f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c54244824475424247532302461732475323024747269655f64622e2e547269654361636865244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424244754242447542431386765745f6f725f696e736572745f6e6f64653137686538306130383663323930346531316445b40bd4015f5a4e3136355f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c54244824475424247532302461732475323024747269655f64622e2e547269654361636865244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c542448244754242447542424475424313963616368655f76616c75655f666f725f6b65793137683430323537313935393432376435373445b50bd5015f5a4e3136355f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c54244824475424247532302461732475323024747269655f64622e2e547269654361636865244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424244754242447542432306c6f6f6b75705f76616c75655f666f725f6b65793137683964366234376635306436613566666645b60b80015f5a4e34636f7265346861736835696d706c7335385f244c5424696d706c2475323024636f72652e2e686173682e2e486173682475323024666f722475323024247535622454247535642424475424346861736831376831363633373166323231383035353133452e6c6c766d2e393932363338333836373932373236323433b70bc8015f5a4e3136355f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c54244824475424247532302461732475323024747269655f64622e2e547269654361636865244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c542448244754242447542424475424386765745f6e6f64653137683531653632343736663936303135343945b80bbd015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c3130395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024244c50244b302443244c302443244d302443244e302443244f30244324503024432451302443245230245250242447542439656e636f64655f746f3137683032613065346161396532656464343145b90b990a5f5a4e34636f7265337074723132343564726f705f696e5f706c616365244c542473705f72756e74696d652e2e67656e657269632e2e626c6f636b2e2e426c6f636b244c542473705f72756e74696d652e2e67656e657269632e2e6865616465722e2e486561646572244c542475333224432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432473705f72756e74696d652e2e67656e657269632e2e756e636865636b65645f65787472696e7369632e2e556e636865636b656445787472696e736963244c542473705f72756e74696d652e2e6d756c7469616464726573732e2e4d756c746941646472657373244c542473705f636f72652e2e63727970746f2e2e4163636f756e7449643332244324244c5024245250242447542424432463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c24432473705f72756e74696d652e2e4d756c74695369676e617475726524432463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244324244c50246672616d655f73797374656d2e2e657874656e73696f6e732e2e617574686f72697a655f63616c6c2e2e417574686f72697a6543616c6c244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e5f7a65726f5f73656e6465722e2e436865636b4e6f6e5a65726f53656e646572244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f737065635f76657273696f6e2e2e436865636b5370656356657273696f6e244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f67656e657369732e2e436865636b47656e65736973244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6d6f7274616c6974792e2e436865636b4d6f7274616c697479244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f6e6f6e63652e2e436865636b4e6f6e6365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d65244754242443246672616d655f73797374656d2e2e657874656e73696f6e732e2e636865636b5f7765696768742e2e436865636b576569676874244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d652447542424432470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6524475424245250242447542424432431363737373231365f7573697a6524475424244754242447542431376831353136343866333635386563633235452e6c6c766d2e393932363338333836373932373236323433ba0b9b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137683364326338386266303833646137646545bb0b9b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137683666343630646630396663326339356145bc0b9b015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f722475323024244c5024513024432452302452502424475424366465636f64653137683737353033353866386333396530323945bd0b9e015f5a4e31387061726974795f7363616c655f636f64656335636f6465633136696e6e65725f7475706c655f696d706c37395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f722475323024244c502451302443245230245250242447542439656e636f64655f746f3137683336393639626532336562633932373445be0b475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137686133646531343133333737626631633045bf0b3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683234363166333036653733663762656245c00b705f5a4e333163756d756c75735f70616c6c65745f70617261636861696e5f73797374656d313476616c69646174655f626c6f636b3130747269655f63616368653232436163686550726f7669646572244c54244824475424336e65773137683261393633636135643366353238666145c10b475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686130623433323464373834323835653845c20b705f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c2447542431376861313665313536653130356461313037452e6c6c766d2e393932363338333836373932373236323433c30b7e5f5a4e34636f726533707472363864726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c542473657264655f6a736f6e2e2e76616c75652e2e56616c7565244754242447542431376866356536663239623435613861646166452e6c6c766d2e393932363338333836373932373236323433c40b84015f5a4e34636f726533707472373464726f705f696e5f706c616365244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e48323536244754242447542431376837646633653964626133393761343263452e6c6c766d2e393932363338333836373932373236323433c50b5f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137683135323164653934336634646365373345c60b5f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137683332366564323865383363333064653945c70b575f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137686562376461663930376166373234643645c80b5a5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683836646161636433376263366265343745c90b3b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683034313565386338363431653966626245ca0b3b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683231333161326562323664316537346345cb0b3b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683431363432333631636638323733633745cc0b3b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683339356262346133383838323034633345cd0b3b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137686333663731613634363564343664316345ce0b3f5f5a4e35616c6c6f63337665633136566563244c5424542443244124475424313072657461696e5f6d75743137686666643966306163363465346663386345cf0b465f5a4e35616c6c6f63337665633136566563244c54245424432441244754243137657874656e645f66726f6d5f736c6963653137683561336534313636303662396263393645d00b625f5a4e36305f244c5424245246246d7574247532302454247532302461732475323024627335382e2e6465636f64652e2e4465636f64655461726765742447542431316465636f64655f776974683137683433376266363836306237663735626245d10b5e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683764663734653462663832643363316545d20b5e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683962353365303930343632613930353745d30b625f5a4e36375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653137683935353736373166663430626238363045d40b7a5f5a4e36395f244c5424636f72652e2e616c6c6f632e2e6c61796f75742e2e4c61796f75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865646636613236353735633230373033452e6c6c766d2e393932363338333836373932373236323433d50b645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683137303066346338333133653135646345d60b645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683330306231313061373637396532653545d70b645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683363326133613663346339656335373045d80b645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683737323831626231373538613262313545d90b645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686364356539636433626334323133363245da0b645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686561393830643362376138663364653145db0b645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686630386561393930626561653238356545dc0b6e5f5a4e37325f244c5424616c6c6f632e2e7665632e2e566563244c5424753824475424247532302461732475323024627335382e2e656e636f64652e2e456e636f6465546172676574244754243131656e636f64655f776974683137683335303564646533336163363739666645dd0b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683038623239306330376364316630313045de0b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683039396537356461316164316662313545df0b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683065623566353061373238633366393245e00b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683336323061646362353362323161373945e10b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683461353433323530313332313562666645e20b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683566313637633138623131386464666345e30b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683665643834653564653962363664626545e40b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683733346333646465313434323439663445e50b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683835343165643766643730386464393045e60b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683862383534356462313039323830393645e70b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683935666336626537393333303834333045e80b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686131393436346534623536333362323845e90b6e5f5a4e37385f244c5424616c6c6f632e2e7665632e2e566563244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686563656438303365636535393236656345ea0b615f5a4e3773705f7472696531306e6f64655f636f64656332387061727469616c5f66726f6d5f6974657261746f725f656e636f646531376830643931646235323536663534623965452e6c6c766d2e393932363338333836373932373236323433eb0b615f5a4e3773705f7472696531306e6f64655f636f64656332387061727469616c5f66726f6d5f6974657261746f725f656e636f646531376839376439363631323939656238306433452e6c6c766d2e393932363338333836373932373236323433ec0b80015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431316465636f64655f706c616e3137686337353334626165373337396530316545ed0b80015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431316272616e63685f6e6f64653137683663336463323635313461633034396345ee0b83015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f646563244754243134657874656e73696f6e5f6e6f64653137683866316334303235366566386331356145ef0b83015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f646563244754243134657874656e73696f6e5f6e6f64653137686662656636313539353739646465313245f00b88015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431396272616e63685f6e6f64655f6e6962626c65643137683132366637353961323331303437363345f10b88015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431396272616e63685f6e6f64655f6e6962626c65643137683365386637663165336239313533666545f20b88015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431396272616e63685f6e6f64655f6e6962626c65643137683533626234633932326231663561336145f30b88015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431396272616e63685f6e6f64655f6e6962626c65643137686138303362653934323738393363336445f40b88015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431396272616e63685f6e6f64655f6e6962626c65643137686230643230303339646330393336613345f50b88015f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f6465632447542431396272616e63685f6e6f64655f6e6962626c65643137686263383563386635366436333432393445f60b7d5f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f64656324475424396c6561665f6e6f64653137686237373733663964666330303631633445f70b7d5f5a4e39305f244c542473705f747269652e2e6e6f64655f636f6465632e2e4e6f6465436f646563244c54244824475424247532302461732475323024747269655f64622e2e6e6f64655f636f6465632e2e4e6f6465436f64656324475424396c6561665f6e6f64653137686465663364356233393664633331353745f80b87015f5a4e39375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f657874656e642e2e53706563457874656e64244c5424542443244924475424244754243131737065635f657874656e643137686139323166633133393766353430646145f90b85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683036383134393939373532623330613245fa0b85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683064666639333230646532363363653845fb0b85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683133363432313230316130653261343345fc0b85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683135303463613264373135656139666545fd0b85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683232376263303163363230303666646645fe0b85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683235326562316561613231646633636545ff0b85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683265633866363234393665333262333845800c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683365663263363936323731643935356145810c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683366646362333565613165373832313345820c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683431366338383062333237333666643645830c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683462656264353032656366343235383445840c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683535376661383534643639366432366445850c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683535383063646531666261356562623145860c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683537366331613765633739343632613745870c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683563353266626237643163663338353445880c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683634646434663862343131306165366345890c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f6974657231376837393639356333623264313834626432458a0c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f6974657231376838303965663466303066396539646434458b0c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f6974657231376839363764616330623532393731636433458c0c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f6974657231376839373864636233376364373364356336458d0c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f6974657231376839623737303232373961306437366439458e0c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f6974657231376861323531663665616436356165373264458f0c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686135346334653739363865393539393745900c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686136363265643239366364646131376445910c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686230313038316566643239346366363745920c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686230313337356239356466323636333245930c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686232376437393731376563383433333645940c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686332656434616535366336656361353145950c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686434366666616137626236316565363545960c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686436666263616463663366663964396545970c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686461653038363733313962633931366145980c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686464616230643432303232663464363945990c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f6974657231376865346531386634633837653063346339459a0c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f6974657231376866303931323537613938633732626465459b0c85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f6974657231376866313739323737313131363334323538459c0c735f5a4e36325f244c542473705f72756e74696d652e2e44697370617463684572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376864393332633164386438313635633966452e6c6c766d2e3334333730363032393532353238303433399d0c8c015f5a4e3130325f244c5424636f72652e2e697465722e2e61646170746572732e2e6379636c652e2e4379636c65244c54244924475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f72244754243130616476616e63655f627931376839653434336438346161656533336436459e0c90015f5a4e3130325f244c542470616c6c65745f74696d657374616d702e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e696e686572656e742e2e50726f76696465496e686572656e74244754243134636865636b5f696e686572656e7431376864346531353465643363666232623864459f0c91015f5a4e3130325f244c542470616c6c65745f74696d657374616d702e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e696e686572656e742e2e50726f76696465496e686572656e742447542431356372656174655f696e686572656e743137686164646332623432633064626530653545a00c98015f5a4e3130345f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e657874656e73696f6e732e2e457874656e73696f6e53746f7265244754243230657874656e73696f6e5f62795f747970655f69643137683066636534396135316261316338316445a10ca3015f5a4e3130345f244c542473705f73746174655f6d616368696e652e2e6578742e2e457874244c542448244324422447542424753230246173247532302473705f65787465726e616c69746965732e2e657874656e73696f6e732e2e457874656e73696f6e53746f7265244754243331646572656769737465725f657874656e73696f6e5f62795f747970655f69643137683036636538633066363434356633336345a20c89015f5a4e31307363616c655f696e666f35696d706c7338345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242447542439747970655f696e666f3137683063323232373938636435656330623245a30c89015f5a4e31307363616c655f696e666f35696d706c7338345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242447542439747970655f696e666f3137683632396136633631623064653138326345a40c89015f5a4e31307363616c655f696e666f35696d706c7338345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242447542439747970655f696e666f3137683930343433323337633363323938333845a50c89015f5a4e31307363616c655f696e666f35696d706c7338345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242447542439747970655f696e666f3137686232666230613263353063316133653545a60c4a5f5a4e313073705f72756e74696d6536747261697473313656616c6964617465556e7369676e656431327072655f64697370617463683137683232663064626236373237623736613845a70c8a015f5a4e39345f244c54246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e56616c6964617465556e7369676e656424475424313776616c69646174655f756e7369676e65643137683134376366323331396334346363383245a80c665f5a4e313073705f72756e74696d653674726169747332317472616e73616374696f6e5f657874656e73696f6e32305472616e73616374696f6e457874656e73696f6e3133706f73745f64697370617463683137683633353737373636313235616561386645a90c755f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432316465706f7369745f6576656e745f696e64657865643137683538363131306331313264326538313045aa0cb2015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e74315f3131325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c542454244754242447542439747970655f696e666f3137683335333132373833303235613434353345ab0cbe015f5a4e3131305f244c542470616c6c65745f7375646f2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137683736386161373138303535636561323245ac0c585f5a4e34636f726533707472353464726f705f696e5f706c616365244c542463756d756c75735f746573745f72756e74696d652e2e52756e74696d6543616c6c244754243137686131366531353665313035646131303745ad0cbf015f5a4e3131315f244c54246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137683439323834653066393166393662323245ae0c6c5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424313263616e5f7365745f636f64653137686462626239303437336432653137663745af0c91015f5a4e3131335f244c54246672616d655f73797374656d2e2e70616c6c65742e2e47656e65736973436f6e666967244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4275696c6447656e65736973436f6e66696724475424356275696c643137683736643233343733323536326534303445b00cc1015f5a4e3131335f244c542470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137686562386337643234393964386535636545b10cc3015f5a4e3131355f244c542470616c6c65745f74696d657374616d702e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137683764363264323037633565663238653445b20c9f015f5a4e3131385f244c54245424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e64697370617463685f7472616e73616374696f6e2e2e44697370617463685472616e73616374696f6e244c542443616c6c2447542424475424313376616c69646174655f6f6e6c793137686233623566663162323630626333306145b30ca6015f5a4e3131385f244c54245424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e64697370617463685f7472616e73616374696f6e2e2e44697370617463685472616e73616374696f6e244c542443616c6c2447542424475424323064697370617463685f7472616e73616374696f6e3137683231306563313533653330313863393145b40c6e5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431347265636c61696d5f7765696768743137683739323731343836336263346531663145b50cc6015f5a4e3131385f244c542470616c6c65745f62616c616e6365732e2e70616c6c65742e2e43616c6c244c54245424432449244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137686439336136333766343033323533396445b60c4f5f5a4e31336672616d655f737570706f72743773746f7261676531337472616e73616374696f6e616c3136776974685f7472616e73616374696f6e3137683239353862656564386635326134656545b70cb0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137683039626164373236663963373731616345b80cb0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137683163363338653338633431326666396245b90cb0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137686137326263643439633832323630616345ba0cb0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137686564376531363436313238353637363245bb0cb0025f5a4e31326672616d655f73797374656d3234355f244c5424696d706c24753230246672616d655f737570706f72742e2e7472616974732e2e73746f7265645f6d61702e2e53746f7265644d6170244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e744964244324244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e4163636f756e7444617461244754242475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542431377472795f6d75746174655f6578697374733137686632363664303961656638383132626345bc0c6a5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243130696e697469616c697a653137683638653961383139333638613034373645bd0c6c5f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c5424542447542424475424313272657365745f6576656e74733137686363623432343039383062373431373045be0c765f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432326e6f74655f6170706c6965645f65787472696e7369633137683030326437373234613237383261653745bf0c5c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247533322447542433666d743137683639363930353938373234326233326645c00c745f5a4e38375f244c54246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c54245424475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683835356263653133333038356665383645c10c785f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c542454244754242447542432346e6f74655f66696e69736865645f65787472696e736963733137686137623531613965393831383530386145c20c675f5a4e31326672616d655f73797374656d35355f244c5424696d706c24753230246672616d655f73797374656d2e2e70616c6c65742e2e50616c6c6574244c54245424475424244754243866696e616c697a653137686430396535336262323637633339326445c30c4f5f5a4e31326672616d655f73797374656d3670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137683630383365636435613864323939393945c40c585f5a4e31326672616d655f73797374656d3670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137683735386138326336626461303364363645c50c5f5f5a4e31326672616d655f73797374656d3670616c6c6574313550616c6c6574244c54245424475424333270616c6c65745f6173736f6369617465645f74797065735f6d657461646174613137683135663631386433666264383466656645c60c9f015f5a4e31326672616d655f73797374656d3670616c6c6574315f3130305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e4576656e74244c542454244754242447542439656e636f64655f746f3137686232323162613462646562386132386345c70c9f015f5a4e31326672616d655f73797374656d3670616c6c6574315f3130305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e4576656e74244c54245424475424244754243973697a655f68696e743137686634626637366334323731376636363045c80c90015f5a4e31326672616d655f73797374656d3670616c6c6574315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137683761376263626431316239633863336345c90c91015f5a4e31326672616d655f73797374656d3670616c6c6574315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e4572726f72244c542454244754242447542439747970655f696e666f3137686332323938616562636264653439313645ca0c91015f5a4e31326672616d655f73797374656d3670616c6c6574315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e4576656e74244c542454244754242447542439747970655f696e666f3137683436623435666130626563656663333945cb0c9a015f5a4e31326672616d655f73797374656d3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683438666261373239346236346432306145cc0c9a015f5a4e31326672616d655f73797374656d3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683537313663623531663534346231393745cd0c9a015f5a4e31326672616d655f73797374656d3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683637323765636163653639323234323345ce0c9a015f5a4e31326672616d655f73797374656d3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683965666538366639623731386563643345cf0c9d015f5a4e31326672616d655f73797374656d3670616c6c6574315f39395f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f3137683239656631333464303736313930353645d00cd2015f5a4e3133305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137683564353033323335313962303231633945d10c5a5f5a4e36315f244c542473705f636f6e73656e7375735f736c6f74732e2e536c6f74247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683661363563396639643563646238653845d20c355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683562346136383466363865633339393745d30c82015f5a4e34636f726533707472393664726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e72656c61795f73746174655f736e617073686f742e2e52656c6179436861696e537461746550726f6f66244754243137683565306631323839383866323361343445d40c485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683336336437393062376464313538636645d50c485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683365313431333436393139346362323045d60c485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683430383464323463346462323134353045d70c485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683563626537656262666162646638316245d80cd4015f5a4e3133325f244c542463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e64697370617463682e2e556e66696c7465726564446973706174636861626c6524475424323264697370617463685f6279706173735f66696c74657232385f24753762242475376224636c6f73757265247537642424753764243137683739366130376465303933656135633245d90c485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683763633363623631313635353736346145da0c485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683832613835623930313166333230366345db0c485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683836616165623536613465656666643545dc0c485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137683934366434623566336162326664316445dd0c485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686231653430363432313236633835306345de0c485f5a4e3133656e7669726f6e6d656e74616c396c6f63616c5f6b657931374c6f63616c4b6579244c5424542447542434776974683137686632313537303531366364386361346245df0c4a5f5a4e31336672616d655f737570706f727436747261697473313073746f7265645f6d61703953746f7265644d617036696e736572743137686535353366393537393666373866376545e00c535f5a4e313670616c6c65745f74696d657374616d703670616c6c6574313550616c6c6574244c54245424475424313673746f726167655f6d657461646174613137683137653862623339343736656333396345e10c5c5f5a4e313670616c6c65745f74696d657374616d703670616c6c6574313550616c6c6574244c54245424475424323570616c6c65745f636f6e7374616e74735f6d657461646174613137683137366237333764363763616365386145e20ca3015f5a4e313670616c6c65745f74696d657374616d703670616c6c6574315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302470616c6c65745f74696d657374616d702e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137686137323632383137326336356363356645e30c98015f5a4e313670616c6c65745f74696d657374616d703670616c6c6574315f39305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f74696d657374616d702e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f3137683737306331633062363563633638303745e40c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686330323037373637613364323766383245e50c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686365323265306161326634373633306645e60c3f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137686631303237643361373138343332363945e70cfa015f5a4e3231355f244c542470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e4368617267655472616e73616374696f6e5061796d656e74244c5424542447542424753230246173247532302473705f72756e74696d652e2e7472616974732e2e7472616e73616374696f6e5f657874656e73696f6e2e2e5472616e73616374696f6e457874656e73696f6e244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e52756e74696d6543616c6c24475424244754243876616c69646174653137686661663030363832353439346330643345e80c81015f5a4e323363756d756c75735f70616c6c65745f617572615f6578743134636f6e73656e7375735f686f6f6b3437466978656456656c6f63697479436f6e73656e737573486f6f6b244c5424542443245f2443245f2443245f24475424313463616e5f6275696c645f75706f6e3137686362363864326635326334373766623045e90ca9025f5a4e3235395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e47656e657369732447542431306f6e5f67656e657369733137686532306462376538653535306565306345ea0caa025f5a4e3236345f244c542470616c6c65745f617572612e2e70616c6c65742e2e50616c6c6574244c542454244754242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e49646c65244c5424244c5424244c5424244c5424542475323024617324753230246672616d655f73797374656d2e2e70616c6c65742e2e436f6e666967244754242e2e426c6f636b24753230246173247532302473705f72756e74696d652e2e7472616974732e2e426c6f636b244754242e2e48656164657224753230246173247532302473705f72756e74696d652e2e7472616974732e2e486561646572244754242e2e4e756d6265722447542424475424376f6e5f69646c653137683438303934346633373261646366326345eb0cb8025f5a4e3236365f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e52756e74696d65557067726164652447542431386f6e5f72756e74696d655f757067726164653137686366653830653735373431343464343145ec0cb5025f5a4e3237355f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e49646c65244c5424426c6f636b4e756d6265722447542424475424376f6e5f69646c653137686361613966363465633664653138333045ed0ccd025f5a4e3237365f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4265666f7265416c6c52756e74696d654d6967726174696f6e732447542432396265666f72655f616c6c5f72756e74696d655f6d6967726174696f6e733137686437363266313864336534643230343745ee0c715f5a4e38345f244c54246672616d655f737570706f72742e2e7472616974732e2e6d657461646174612e2e53746f7261676556657273696f6e247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686464383135336662663834666232326645ef0cbe025f5a4e3237395f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e46696e616c697a65244c5424426c6f636b4e756d626572244754242447542431316f6e5f66696e616c697a653137683264643437666232653435373066303345f00cc2025f5a4e3238315f244c5424244c50245475706c65456c656d656e74302443245475706c65456c656d656e74312443245475706c65456c656d656e74322443245475706c65456c656d656e74332443245475706c65456c656d656e74342443245475706c65456c656d656e74352443245475706c65456c656d656e74362443245475706c65456c656d656e74372443245475706c65456c656d656e74382443245475706c65456c656d656e74392443245475706c65456c656d656e7431302443245475706c65456c656d656e743131245250242475323024617324753230246672616d655f737570706f72742e2e7472616974732e2e686f6f6b732e2e4f6e496e697469616c697a65244c5424426c6f636b4e756d626572244754242447542431336f6e5f696e697469616c697a653137683261656465303163333437353334333945f10cb8015f5a4e323963756d756c75735f70616c6c65745f7765696768745f7265636c61696d315f3131355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c54245424432453244754242447542439747970655f696e666f3137686466643437316665653064643861363945f20cc2015f5a4e323963756d756c75735f70616c6c65745f7765696768745f7265636c61696d315f3132385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424475424366465636f64653137683562666665333366306133303334363545f30cc2015f5a4e323963756d756c75735f70616c6c65745f7765696768745f7265636c61696d315f3132385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424475424366465636f64653137686134353361636332353261323730373845f40cc2015f5a4e323963756d756c75735f70616c6c65745f7765696768745f7265636c61696d315f3132385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424475424366465636f64653137686135616164353962313463386430353645f50cc2015f5a4e323963756d756c75735f70616c6c65745f7765696768745f7265636c61696d315f3132385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f70616c6c65745f7765696768745f7265636c61696d2e2e53746f726167655765696768745265636c61696d244c542454244324532447542424475424366465636f64653137686161383335386338646335633965623045f60c465f5a4e34315f244c54245424753230246173247532302473657264652e2e64652e2e45787065637465642447542433666d743137683131616264353033363732313165313545f70c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683765336134346230306130643131383045f80c475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686265346435346536383162626131376445f90c4a5f5a4e34355f244c5424244c502424525024247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686532323466356337346638383564633245fa0c5c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247536342447542433666d743137683966383134653432366537363631613145fb0c355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683031313238663431316463616330373745fc0c355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683534643632343839393431333061386245fd0c355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683764646239613437623066303437333345fe0c6d5f5a4e35365f244c542473705f696e686572656e74732e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376832303064636239363937366137373263452e6c6c766d2e333433373036303239353235323830343339ff0c505f5a4e35616c6c6f633131636f6c6c656374696f6e73397665635f646571756532315665634465717565244c54245424432441244754243467726f773137683934613833363538323461616130623845800d555f5a4e35616c6c6f633131636f6c6c656374696f6e73397665635f646571756532315665634465717565244c542454244324412447542439706f705f66726f6e743137683834373932393139343932326265656445810d5f5f5a4e36365f244c542473705f776569676874732e2e7765696768745f76322e2e576569676874247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686266656165353261356431313264306645820d625f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686362303838663832383361633166336345830d6f5f5a4e38325f244c5424706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e4964247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683266323739643463346362356637336545840d8c015f5a4e39365f244c54246672616d655f73797374656d2e2e70616c6c65742e2e43616c6c244c542454244754242475323024617324753230246672616d655f737570706f72742e2e64697370617463682e2e4765744469737061746368496e666f2447542431376765745f64697370617463685f696e666f3137683361386564643933353932633734653745850d7e5f5a4e39375f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e72656c61795f73746174655f736e617073686f742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683132363336303735356537653166323745860dc8015f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c542454244754242447542439656e636f64655f746f3137683566313363303031313936353438323045870dc5015f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683431373266623932656564333133306545880dc5015f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c5424542447542424475424366465636f64653137683936643230346438386261326230353745890dbb015f5a4e323063756d756c75735f746573745f72756e74696d653131746573745f70616c6c65743670616c6c6574315f3130375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302463756d756c75735f746573745f72756e74696d652e2e746573745f70616c6c65742e2e70616c6c65742e2e43616c6c244c542454244754242447542439747970655f696e666f31376863366436383937623133346662663639458a0d9e015f5a4e3130325f244c5424747269655f64622e2e7472696564622e2e5472696544424b65794974657261746f72244c54244c24475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376864383638356538383162646361646363452e6c6c766d2e313738313637393538343039343431373731388b0d9b015f5a4e31307363616c655f696e666f35696d706c7337375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f7865642e2e426f78244c542454244754242447542439747970655f696e666f31376832643230613537613938396332663038452e6c6c766d2e313738313637393538343039343431373731388c0d82015f5a4e31307363616c655f696e666f35696d706c7337375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f7865642e2e426f78244c542454244754242447542439747970655f696e666f31376863663265623033343665316430393066458d0d4a5f5a4e31307363686e6f72726b656c36646572697665313044657269766174696f6e3138646572697665645f6b65795f73696d706c6531376838643964353162303335623430643361458e0dae015f5a4e3134305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c54244824475424247532302461732475323024636f72652e2e64656661756c742e2e44656661756c74244754243764656661756c7431376835653238646531643361353535643132458f0dc1015f5a4e3134345f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c5424482447542424753230246173247532302473705f747269652e2e50726f6f6653697a6550726f7669646572244754243231657374696d6174655f656e636f6465645f73697a653137683237636333346334363030303366373845900deb015f5a4e3138305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c54244824475424247532302461732475323024747269655f64622e2e547269655265636f72646572244c5424244c542448247532302461732475323024686173685f64622e2e486173686572244754242e2e4f757424475424244754243237747269655f6e6f6465735f7265636f726465645f666f725f6b65793137686532663931656238373437613137373645910d81015f5a4e34636f7265346861736835696d706c7335385f244c5424696d706c2475323024636f72652e2e686173682e2e486173682475323024666f722475323024247535622454247535642424475424346861736831376831363633373166323231383035353133452e6c6c766d2e31373831363739353834303934343137373138920dd5015f5a4e3138305f244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c54244824475424247532302461732475323024747269655f64622e2e547269655265636f72646572244c5424244c542448247532302461732475323024686173685f64622e2e486173686572244754242e2e4f75742447542424475424367265636f72643137683738623039623162323331373137666645930d4a5f5a4e396861736862726f776e336d61703238486173684d6170244c54244b2443245624432453244324412447542436696e736572743137683036383833346661633634346438656145940d495f5a4e396861736862726f776e336d61703238486173684d6170244c54244b2443245624432453244324412447542435656e7472793137683335343633303533653739313464363845950d435f5a4e396861736862726f776e3372617732315261775461626c65244c542454244324412447542436696e736572743137683663663665363734313531353239393745960d475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f6465643137683335396562316230613730623531656345970d425f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646539656e636f64655f746f3137683634326365356466663438353232326645980d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683361343235373335666238353531656645990d475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376833656166366631373032656636626338459a0d7b5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542436636f6d6d697432385f24753762242475376224636c6f737572652475376424247537642431376831343664633266323334303435613836452e6c6c766d2e313738313637393538343039343431373731389b0d82015f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243132636f6d6d69745f6368696c6432385f24753762242475376224636c6f737572652475376424247537642431376865666439636539343862366133353666452e6c6c766d2e313738313637393538343039343431373731389c0d7b5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542436636f6d6d697432385f24753762242475376224636c6f737572652475376424247537642431376833323261643337623837383237393337452e6c6c766d2e313738313637393538343039343431373731389d0d82015f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243132636f6d6d69745f6368696c6432385f24753762242475376224636c6f737572652475376424247537642431376866373962376537623963633137656461452e6c6c766d2e313738313637393538343039343431373731389e0d5a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d2475376424247537642431376830636337613439393037343236303137459f0d89025f5a4e34636f72653370747232333064726f705f696e5f706c616365244c5424636f72652e2e726573756c742e2e526573756c74244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e4832353624475424244324616c6c6f632e2e626f7865642e2e426f78244c5424747269655f64622e2e547269654572726f72244c54247072696d69746976655f74797065732e2e4832353624432473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e4832353624475424244754242447542424475424244754243137683333386634343035373735643862633945a00d695f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e4832353624475424244754243137683836346262633234383034356532353645a10d5a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137683433393262346364653863643565613145a20d5a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e6365343063616c6c5f6f6e636524753762242475376224767461626c652e7368696d247537642424753764243137686563313561616565306136343962666545a30d3a5f5a4e34636f7265336f70733866756e6374696f6e36466e4f6e63653963616c6c5f6f6e63653137683434363239383931613764343831303045a40d90015f5a4e34636f72653370747231303964726f705f696e5f706c616365244c5424747269655f64622e2e7472696564626d75742e2e4e6f6465244c542473705f747269652e2e4c61796f75745630244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137686639363139633331316233643831623145a50d91015f5a4e34636f72653370747231313064726f705f696e5f706c616365244c5424747269655f64622e2e7472696564626d75742e2e56616c7565244c542473705f747269652e2e4c61796f75745630244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137683234633063633166653437653036636645a60db0015f5a4e34636f72653370747231313664726f705f696e5f706c616365244c5424747269655f64622e2e7472696564622e2e5472696544424974657261746f72244c542473705f747269652e2e4c61796f75745631244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754242447542431376836333833613364356433333766313862452e6c6c766d2e31373831363739353834303934343137373138a70dad015f5a4e34636f72653370747231333864726f705f696e5f706c616365244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c5424747269655f64622e2e7472696564626d75742e2e56616c7565244c542473705f747269652e2e4c61796f75745630244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f323536244754242447542424475424244754243137686630633337313436663832666534306545a80d6c5f5a4e34636f726533707472373464726f705f696e5f706c616365244c5424747269655f64622e2e6e6f64652e2e4e6f64654f776e6564244c54247072696d69746976655f74797065732e2e4832353624475424244754243137683764663365396462613339376134326345a90d675f5a4e37355f244c5424747269655f64622e2e7472696564626d75742e2e56616c7565244c54244c24475424247532302461732475323024636f72652e2e636d702e2e5061727469616c4571244754243265713137683938613632313533336532363461333145aa0d445f5a4e37747269655f6462367472696564623135547269654442244c54244c24475424313166657463685f76616c75653137683034626264363361353961616166313945ab0d4a5f5a4e37747269655f6462367472696564623135547269654442244c54244c2447542431376765745f7261775f6f725f6c6f6f6b75703137683662353265326566633738356430383245ac0d465f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f6465643137683130356462303139646166613230633345ad0d485f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c244754243134696e6c696e655f6f725f686173683137683634383661303438303830633962326545ae0d645f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f64656432385f24753762242475376224636c6f73757265247537642424753764243137683364393761386639663630343938306545af0d645f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f64656432385f24753762242475376224636c6f73757265247537642424753764243137683063653931393131663865616637333745b00d465f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f6465643137683430303135393966383262626339316145b10d485f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c244754243134696e6c696e655f6f725f686173683137683364666437326136366538386161376245b20d645f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f64656432385f24753762242475376224636c6f73757265247537642424753764243137683530306135336162366237356131343645b30d645f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313266726f6d5f656e636f64656432385f24753762242475376224636c6f73757265247537642424753764243137683333316466393731663030626437633945b40d495f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313566726f6d5f6e6f64655f6f776e65643137683732393364396632316561333831356145b50d495f5a4e37747269655f6462397472696564626d757431334e6f6465244c54244c24475424313566726f6d5f6e6f64655f6f776e65643137686231333933393462386337373331353145b60d475f5a4e37747269655f6462397472696564626d7574313456616c7565244c54244c244754243132696e746f5f656e636f6465643137683038646334306363666536313364613645b70d475f5a4e37747269655f6462397472696564626d7574313456616c7565244c54244c244754243132696e746f5f656e636f6465643137683064653164356439393062653566303545b80d475f5a4e37747269655f6462397472696564626d7574313456616c7565244c54244c244754243132696e746f5f656e636f6465643137683635373738316637343264343339616545b90d475f5a4e37747269655f6462397472696564626d7574313456616c7565244c54244c244754243132696e746f5f656e636f6465643137683835383130313464653061393366346345ba0d495f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f64653137683038653262363538396564353436646145bb0d5d5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f6465313863616368655f6368696c645f76616c7565733137686138343361353632326665363162393945bc0d495f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f64653137683334633366343037373431663335303945bd0d675f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f646532385f24753762242475376224636c6f73757265247537642424753764243137683461316132316135343332303533326145be0d675f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313063616368655f6e6f646532385f24753762242475376224636c6f73757265247537642424753764243137686665626633323939353532366537393345bf0d635f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313163616368655f76616c756531376861386630656336626164623565636338452e6c6c766d2e31373831363739353834303934343137373138c00d635f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313163616368655f76616c756531376865656235356633393039343261653138452e6c6c766d2e31373831363739353834303934343137373138c10d685f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424313163616368655f76616c756532385f24753762242475376224636c6f73757265247537642424753764243137683133633839613936623763373466643345c20d645f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243132636f6d6d69745f6368696c6431376862663465363762343536633036353263452e6c6c766d2e31373831363739353834303934343137373138c30d645f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243132636f6d6d69745f6368696c6431376866663664323064653835653063336534452e6c6c766d2e31373831363739353834303934343137373138c40d4f5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243136696e736572745f696e73706563746f723137683063346635383833626437323862393445c50d605f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542439696e736572745f617431376863386635613439626363316132386531452e6c6c766d2e31373831363739353834303934343137373138c60d505f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542431377265706c6163655f6f6c645f76616c75653137683264616136653966323137366231386645c70d4f5f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243136696e736572745f696e73706563746f723137686530613733366131306463323463616245c80d605f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c2447542439696e736572745f617431376834613366396334656466626462633233452e6c6c766d2e31373831363739353834303934343137373138c90d435f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243563616368653137686561346665663562326565373333303445ca0d435f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243563616368653137686661663434386565313838646239653045cb0d475f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424396669785f696e6e65723137683631323138393439393230313665373645cc0d475f5a4e37747269655f6462397472696564626d757432304e6f646553746f72616765244c54244c244754243764657374726f793137683166336261616235663063616161306345cd0d475f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c24475424396669785f696e6e65723137683935623133643933363763393335366245ce0d475f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243972656d6f76655f61743137683635616231653831353263323131323545cf0d655f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243972656d6f76655f617432385f24753762242475376224636c6f73757265247537642424753764243137686464663230613838653332396437343145d00d475f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243972656d6f76655f61743137683761313262336130666663313030356345d10d655f5a4e37747269655f6462397472696564626d757431385472696544424d7574244c54244c244754243972656d6f76655f617432385f24753762242475376224636c6f73757265247537642424753764243137686164323639373833336139376632353345d20d6e5f5a4e38305f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683663393430653761326137623063373245d30d6e5f5a4e38305f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686562316237313433646365336462323545d40d745f5a4e38345f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024747269655f64622e2e547269654d7574244c54244c244754242447542436696e736572743137683164303265313662386461303331366345d50d745f5a4e38345f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024747269655f64622e2e547269654d7574244c54244c244754242447542436696e736572743137683563666334346362636462366434363645d60d745f5a4e38345f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024747269655f64622e2e547269654d7574244c54244c24475424244754243672656d6f76653137683231613762326439363231386631396245d70d745f5a4e38345f244c5424747269655f64622e2e7472696564626d75742e2e5472696544424d7574244c54244c24475424247532302461732475323024747269655f64622e2e547269654d7574244c54244c24475424244754243672656d6f76653137686130333239383337646635346436346145d80d92015f5a4e39315f244c5424747269655f64622e2e7472696564622e2e5472696544424974657261746f72244c54244c24475424247532302461732475323024747269655f64622e2e547269654974657261746f72244c54244c2447542424475424347365656b31376833346562313463383663326165333637452e6c6c766d2e31373831363739353834303934343137373138d90d7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683232363562613839363633363763393245da0d7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683437633563653138386465356165373245db0d7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683562316238393263626130363430363045dc0d7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683762666132383039653431306665363845dd0d7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683934623365343832396332383065333045de0d7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686235613866343235396461653835643745df0d7d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686538383063393065626636636265376145e00d9a015f5a4e39395f244c5424747269655f64622e2e7472696564622e2e5472696544424974657261746f72244c54244c24475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376866336336356536306637353134623964452e6c6c766d2e31373831363739353834303934343137373138e10d4a5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313170617273655f6964656e743137683964306338666464363535356331333445e20d4a5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431317363616e5f6e756d6265723137683632316434386438393461623638303245e30d4c5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431337363616e5f6578706f6e656e743137686234346466336436323035333262353645e40d4a5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431317363616e5f6f725f656f663137686338313536656432383835343565313545e50d4b5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431327363616e5f696e74656765723137686562633334373536343564393563616345e60d4c5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313370617273655f646563696d616c3137683461663934376332333863663433653945e70d4d5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431346636345f66726f6d5f70617274733137683237346431396235343032666330383545e80d4d5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313470617273655f6578706f6e656e743137683737383433656361353336643866666245e90d555f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424323270617273655f646563696d616c5f6f766572666c6f773137686662373232626432633162303366383945ea0d4c5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313370617273655f696e74656765723137683138353935623834363635356439396545eb0d515f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313870617273655f6c6f6e675f696e74656765723137683461353130646638303039363364303845ec0d565f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424323370617273655f6578706f6e656e745f6f766572666c6f773137683963623065316430353439376464653045ed0d4f5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313670617273655f616e795f6e756d6265723137683763363035646164323634346230323745ee0d695f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431377065656b5f696e76616c69645f7479706531376833643265386137656130356136323165452e6c6c766d2e35353931333032333834383130323632333030ef0d565f5a4e313073657264655f6a736f6e356572726f72354572726f7231326669785f706f736974696f6e31376832633039646537323834303766333262452e6c6c766d2e35353931333032333834383130323632333030f00d515f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313870617273655f6f626a6563745f636f6c6f6e3137683134646562386164646536346262663745f10d455f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542437656e645f6d61703137683736643734323962306266383438373445f20d455f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542437656e645f7365713137686531656435346265383366346466316345f30d2e5f5a4e313161727261795f6279746573396279746573326865783137683262363863333337356334313262666245f40d2e5f5a4e313161727261795f6279746573396865783262797465733137683465333635653765646437376164333345f50da8015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c5424482447542424475424313273746f726167655f686173683137683562333731346634356365393763323645f60d695f5a4e34636f726533707472373164726f705f696e5f706c616365244c542473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e4832353624475424244754243137683836346262633234383034356532353645f70da8015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c5424482447542424475424313273746f726167655f686173683137686162343561343832303638663936316345f80da9015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542431336368696c645f73746f726167653137683065613533646232333237656163636345f90d745f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431306368696c645f726f6f743137683430373738643333366638643235666645fa0da9015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542431336368696c645f73746f726167653137683830663035633966356533313336663045fb0d745f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431306368696c645f726f6f743137686561326663643161353263353565366645fc0dac015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542431366e6578745f73746f726167655f6b65793137683533666131383831656161383166386445fd0d8a015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424387261775f6974657231376864346433346262363438646130636432452e6c6c766d2e35353931333032333834383130323632333030fe0dac015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542431366e6578745f73746f726167655f6b65793137683739396561326265636130666335326645ff0d8a015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424387261775f6974657231376830366438663762373431663061626635452e6c6c766d2e35353931333032333834383130323632333030800eae015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542431386368696c645f73746f726167655f686173683137683934613531323566363832646566306645810eae015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542431386368696c645f73746f726167655f686173683137686132343938666539343663626539313645820eae015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542431386368696c645f73746f726167655f726f6f743137686231616538656336363831366533383345830e9a015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f726f6f7432385f24753762242475376224636c6f73757265247537642424753764243137686461656539373065326136643932613545840eae015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542431386368696c645f73746f726167655f726f6f743137686263353864666539613963663234666445850e9a015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f726f6f7432385f24753762242475376224636c6f73757265247537642424753764243137686137623762633431393936656239303345860eb2015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542432326e6578745f6368696c645f73746f726167655f6b65793137683932663832316635383834663532663545870eb5015f5a4e34636f72653370747231343664726f705f696e5f706c616365244c5424616c6c6f632e2e626f7865642e2e426f78244c5424747269655f64622e2e547269654572726f72244c54247072696d69746976655f74797065732e2e4832353624432473705f747269652e2e6572726f722e2e4572726f72244c54247072696d69746976655f74797065732e2e48323536244754242447542424475424244754243137686431306463343137366133356566333245880eb2015f5a4e3132385f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e642e2e547269654261636b656e64244c5424532443244824432443244324522447542424753230246173247532302473705f73746174655f6d616368696e652e2e6261636b656e642e2e4261636b656e64244c542448244754242447542432326e6578745f6368696c645f73746f726167655f6b65793137686261643762353436323131313231366245890e9a015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c542453244324482443244324432452244754243233776974685f7265636f726465725f616e645f636163686531376866313766363863313233613065613330452e6c6c766d2e353539313330323338343831303236323330308a0e9a015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c542453244324482443244324432452244754243233776974685f7265636f726465725f616e645f636163686531376865613030333063356664633438373630452e6c6c766d2e353539313330323338343831303236323330308b0ea5015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c542475382447542424475424244754243367657431376833303462383133646530646362333337458c0ea5015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c542475382447542424475424244754243367657431376865353637643264386135306233376534458d0ea8015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542436696e7365727431376837643463306231393763326637653266458e0ea8015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c542475382447542424475424244754243672656d6f766531376832396433633635356438393464373634458f0ea9015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542437656d706c6163653137683330646639373434613031333137656245900eaa015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137683233656162316661623437646265333845910eaa015f5a4e3133355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e733137683665363063313930346638363961396145920eaf015f5a4e3133375f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424313061735f686173685f64623137683534336362306239663363306631343245930eaf015f5a4e3133375f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424313061735f686173685f64623137686463373733646531323764353261346345940eb3015f5a4e3133375f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424313461735f686173685f64625f6d75743137683361613437636166353331313463313545950eb3015f5a4e3133375f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e457068656d6572616c244c5424532443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424475424313461735f686173685f64625f6d75743137686534646538623362396631356633383745960e4a5f5a4e31336672616d655f737570706f7274323267656e657369735f6275696c6465725f68656c70657231306765745f7072657365743137686264363161326262366536623938393645970e4b5f5a4e31336672616d655f737570706f7274323267656e657369735f6275696c6465725f68656c70657231316275696c645f73746174653137686232396461313061306639376466346545980e8a015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686636336566656166323332666130393645990eb9015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c542475382447542424475424244754243367657431376834636638336161316233303761666331459a0eb9015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c542475382447542424475424244754243367657431376865323434333633313239346338343338459b0ebe015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e7331376835663138663161363062623433643139459c0ebe015f5a4e3135355f244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324616c6c6f632e2e7665632e2e566563244c5424753824475424244754242447542438636f6e7461696e7331376836663562653463636634356163613432459d0e94015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424313273746f726167655f726f6f7432385f24753762242475376224636c6f737572652475376424247537642431376834383639346131646634643433383437459e0e94015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c54245324432448244324432443245224475424313273746f726167655f726f6f7432385f24753762242475376224636c6f737572652475376424247537642431376864616362393331663933356665333564459f0e9a015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f726f6f7432385f24753762242475376224636c6f73757265247537642424753764243137683062633963643837333163313665393445a00e9a015f5a4e313673705f73746174655f6d616368696e653230747269655f6261636b656e645f657373656e63653339547269654261636b656e64457373656e6365244c5424532443244824432443244324522447542431386368696c645f73746f726167655f726f6f7432385f24753762242475376224636c6f73757265247537642424753764243137683138656563393065363231626338626245a10e455f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64313070726f6f665f73697a653137683334326239346331653763363530393445a20e455f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64313070726f6f665f73697a653137686364373930626337393235623339306345a30e4b5f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e643136726561645f77726974655f636f756e743137683561333134663861636534666466396245a40e4b5f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e643136726561645f77726974655f636f756e743137686164336538326165343731306166323345a50e4c5f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64313766756c6c5f73746f726167655f726f6f743137683663333066376564376430303566306345a60e4c5f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64313766756c6c5f73746f726167655f726f6f743137686130656562313138323134643864623345a70e515f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64323272657365745f726561645f77726974655f636f756e743137686233336437363262303136653739383045a80e515f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e64323272657365745f726561645f77726974655f636f756e743137686336383133666533376235346636666345a90e545f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e6432356765745f726561645f616e645f7772697474656e5f6b6579733137683865363862386665633135366639636145aa0e545f5a4e313673705f73746174655f6d616368696e65376261636b656e64374261636b656e6432356765745f726561645f616e645f7772697474656e5f6b6579733137686132613736356661303134623765656145ab0e585f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376864656163343362306131393063383636452e6c6c766d2e35353931333032333834383130323632333030ac0e5b5f5a4e3231756e69636f64655f6e6f726d616c697a6174696f6e396465636f6d706f736532334465636f6d706f736974696f6e73244c5424492447542439707573685f6261636b3137683331626237376238376265613639343545ad0e475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683462636466363736643439326163666445ae0e475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683965383366626163323337396339303045af0e495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686138313230663163376539353832323545b00e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137686265393330663665646235386438623445b10e3b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137686362306361653939326336326563376645b20e89015f5a4e34636f7265336f70733866756e6374696f6e35696d706c7337395f244c5424696d706c2475323024636f72652e2e6f70732e2e66756e6374696f6e2e2e466e4d7574244c542441244754242475323024666f722475323024245246246d7574247532302446244754243863616c6c5f6d75743137683764316133396363333133646231333445b30ea5015f5a4e34636f72653370747231333064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e547269654361636865244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137683863316538613766356163303635393645b40eaf015f5a4e34636f72653370747231343064726f705f696e5f706c616365244c542463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f72646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244754243137683937323165653530346635396366356345b50e655f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e672447542431376834396461396239373230646431333539452e6c6c766d2e35353931333032333834383130323632333030b60e4f5f5a4e34636f726533707472343564726f705f696e5f706c616365244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72244754243137686134373734396362376165653531313045b70ea4045f5a4e34636f72653370747235313364726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c54246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137683933323162313035303563396235373745b80eac045f5a4e34636f72653370747235323164726f705f696e5f706c616365244c542473705f73746174655f6d616368696e652e2e747269655f6261636b656e645f657373656e63652e2e547269654261636b656e64457373656e6365244c5424245246246d656d6f72795f64622e2e4d656d6f72794442244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443246d656d6f72795f64622e2e486173684b6579244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f32353624475424244324616c6c6f632e2e7665632e2e566563244c54247538244754242447542424432473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362443242452462463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f63616368652e2e436163686550726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424432463756d756c75735f70616c6c65745f70617261636861696e5f73797374656d2e2e76616c69646174655f626c6f636b2e2e747269655f7265636f726465722e2e53697a654f6e6c795265636f7264657250726f7669646572244c542473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542424475424244754243137686461656437306330333530666565636145b90e6d5f5a4e34636f726535617272617936395f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f722475323024247535622454247533622424753230244e24753564242447542433666d743137683062626263306135396261323330626445ba0e6d5f5a4e34636f726535617272617936395f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f722475323024247535622454247533622424753230244e24753564242447542433666d743137683236386363353264373436653838366545bb0e6b5f5a4e35335f244c5424636f72652e2e666d742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863326461613638363131383434653233452e6c6c766d2e35353931333032333834383130323632333030bc0e575f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683161656134663965346362396532343145bd0e785f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f6368617231376862613566323334333230633730336465452e6c6c766d2e35353931333032333834383130323632333030be0e765f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f73747231376863383135393865633862343761343139452e6c6c766d2e35353931333032333834383130323632333030bf0e355f5a4e357365726465326465354572726f7231336d697373696e675f6669656c643137686636376366336663653137303164393745c00e765f5a4e36315f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264652e2e64652e2e4572726f722447542436637573746f6d31376861666134396438646465633366616431452e6c6c766d2e35353931333032333834383130323632333030c10e355f5a4e357365726465326465354572726f723133756e6b6e6f776e5f6669656c643137683537613134386461393235303165396645c20e365f5a4e357365726465326465354572726f723134696e76616c69645f6c656e6774683137683735343535313530626661333037343645c30e375f5a4e357365726465326465354572726f7231356475706c69636174655f6669656c643137686164393264623935343836313233363645c40e385f5a4e3573657264653264653953657141636365737331326e6578745f656c656d656e743137683066383733376663363536326535323545c50ea2015f5a4e37355f244c542473657264655f6a736f6e2e2e64652e2e536571416363657373244c5424522447542424753230246173247532302473657264652e2e64652e2e5365714163636573732447542431376e6578745f656c656d656e745f7365656431366861735f6e6578745f656c656d656e7431376837626466643064626165326530623739452e6c6c766d2e35353931333032333834383130323632333030c60e8a015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686436313566323832303133346130313545c70e385f5a4e3573657264653264653953657141636365737331326e6578745f656c656d656e743137683230366333343766336134353934313445c80e8a015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683437653763353863393837383966636445c90e385f5a4e3573657264653264653953657141636365737331326e6578745f656c656d656e743137683834393737366166326163366462643445ca0e8a015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686132363866643233626535313937363945cb0e385f5a4e3573657264653264653953657141636365737331326e6578745f656c656d656e743137686236623338646662326335333866656245cc0e385f5a4e3573657264653264653953657141636365737331326e6578745f656c656d656e743137686264346261633562663532613262333245cd0e8a015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686632663264656334383639336439316545ce0e5d5f5a4e36315f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264652e2e64652e2e4572726f722447542436637573746f6d3137683831393461663036333837333235336145cf0e5d5f5a4e36315f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264652e2e64652e2e4572726f722447542436637573746f6d3137686461613030653032333136623232643245d00e715f5a4e37345f244c542473705f747269652e2e747269655f73747265616d2e2e5472696553747265616d247532302461732475323024747269655f726f6f742e2e5472696553747265616d244754243132626567696e5f6272616e63683137686438346331393532343031623131376445d10e755f5a4e37345f244c542473705f747269652e2e747269655f73747265616d2e2e5472696553747265616d247532302461732475323024747269655f726f6f742e2e5472696553747265616d244754243136617070656e645f73756273747265616d3137683163326135626335356334363839386345d20e81015f5a4e37355f244c542473657264655f6a736f6e2e2e64652e2e4d6170416363657373244c5424522447542424753230246173247532302473657264652e2e64652e2e4d61704163636573732447542431336e6578745f6b65795f7365656431326861735f6e6578745f6b65793137686234323161393665356632353937303645d30e775f5a4e37355f244c542473657264655f6a736f6e2e2e64652e2e536571416363657373244c5424522447542424753230246173247532302473657264652e2e64652e2e5365714163636573732447542431376e6578745f656c656d656e745f736565643137686264333665303463626336636432313445d40e715f5a4e37385f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e466978656455363424753230246173247532302473657264652e2e7365722e2e53657269616c697a65244754243973657269616c697a653137683235656266316463316566363465633245d50e725f5a4e37395f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e46697865645531323824753230246173247532302473657264652e2e7365722e2e53657269616c697a65244754243973657269616c697a653137683562613836623734366364333731656545d60e395f5a4e3773705f7472696531316e6f64655f68656164657231316465636f64655f73697a653137686439646136653465623235656161303045d70e4a5f5a4e3773705f74726965313373746f726167655f70726f6f663132436f6d7061637450726f6f663132746f5f6d656d6f72795f64623137686335646661343563343632643836323045d80e555f5a4e3774696e7976656338617272617976656331374172726179566563244c542441244754243234647261696e5f746f5f7665635f616e645f726573657276653137683634653830373162666236333538666245d90e735f5a4e38335f244c542473705f72756e74696d652e2e67656e657269632e2e6572612e2e4572612475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683433313738353234333863366561333745da0e735f5a4e38335f244c542473705f72756e74696d652e2e67656e657269632e2e6572612e2e4572612475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683634333666643932326530353263393045db0e735f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324542447542424475424336765743137683766366630316138636435343962646545dc0e735f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324542447542424475424336765743137683963373430336564303563383662303445dd0e735f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c542448244324542447542424475424336765743137686338353130663036393561666565333345de0e785f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c54244824432454244754242447542438636f6e7461696e733137683239396337636261636632366539333545df0e785f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c54244824432454244754242447542438636f6e7461696e733137683530366334303832663032643630393845e00e785f5a4e38365f244c542473705f747269652e2e4b65795370616365644442244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442526566244c54244824432454244754242447542438636f6e7461696e733137683539336238636161393336393930343545e10e735f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324542447542424475424336765743137683339643137363135616637373833663045e20e735f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c542448244324542447542424475424336765743137683562616563643934653063306163396645e30e765f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542436696e736572743137683363323239643136356334363031663245e40e765f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c5424482443245424475424244754243672656d6f76653137683534636461396534393736643261316345e50e775f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542437656d706c6163653137683236623230356439363437666265313745e60e785f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542438636f6e7461696e733137683234343964613330313435316163636445e70e785f5a4e38365f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e486173684442244c54244824432454244754242447542438636f6e7461696e733137686435396361313935636330356435653845e80e765f5a4e38365f244c542473705f747269652e2e6e6f64655f6865616465722e2e4e6f64654865616465722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683262363639316238336630646439613245e90e795f5a4e38365f244c542473705f747269652e2e6e6f64655f6865616465722e2e4e6f64654865616465722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686333616236386134666563333362666445ea0e7d5f5a4e38385f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324542447542424475424313061735f686173685f64623137683066626231323933376566663736386445eb0e7d5f5a4e38385f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324542447542424475424313061735f686173685f64623137683834633734346463353063346135356645ec0e81015f5a4e38385f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324542447542424475424313461735f686173685f64625f6d75743137683935316230343261643661373230663645ed0e81015f5a4e38385f244c542473705f747269652e2e4b657953706163656444424d7574244c542444422443244824475424247532302461732475323024686173685f64622e2e4173486173684442244c542448244324542447542424475424313461735f686173685f64625f6d75743137686237373864653435303235343230383945ee0e87015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243135646573657269616c697a655f7365713137686365386263653233343334626231316545ef0e87015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243135646573657269616c697a655f7365713137686661343863653036326565323633366145f00e87015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243135646573657269616c697a655f7533323137686362623663343364633537616638386245f10e89015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243137646573657269616c697a655f7475706c653137686239613666663933633166616363366645f20e8a015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f737472696e673137686464356538643338643139323839653345f30e8a015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683065613639373466346332616465616545f40e8a015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683130616239333565386232656336666345f50e8a015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137683865353661323764326631336232373345f60e8a015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686237373638363133383733366633646345f70e8a015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686266343937616166343861646637306645f80e8a015f5a4e39335f244c5424245246246d7574247532302473657264655f6a736f6e2e2e64652e2e446573657269616c697a6572244c5424522447542424753230246173247532302473657264652e2e64652e2e446573657269616c697a6572244754243138646573657269616c697a655f7374727563743137686334373766666265313261653766626645f90e7d5f5a4e39365f244c5424756e69636f64655f6e6f726d616c697a6174696f6e2e2e6465636f6d706f73652e2e4465636f6d706f736974696f6e73244c54244924475424247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686362376166626366663538343861623245fa0ea6015f5a4e3133335f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e457874656e64244c5424244c542441247532302461732475323024736d616c6c7665632e2e4172726179244754242e2e4974656d244754242447542436657874656e643137683233383535653034613266383636336445fb0e565f5a4e38736d616c6c7665633137536d616c6c566563244c54244124475424387472795f67726f7731376839363762366666383031366137313435452e6c6c766d2e3133323438323234303434363336363639363430fc0e4a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137683662656636643335373332353963663845fd0ea6015f5a4e3133335f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e457874656e64244c5424244c542441247532302461732475323024736d616c6c7665632e2e4172726179244754242e2e4974656d244754242447542436657874656e643137683931353338613533633237653665346545fe0e565f5a4e38736d616c6c7665633137536d616c6c566563244c54244124475424387472795f67726f7731376864643235323530306362646362313036452e6c6c766d2e3133323438323234303434363336363639363430ff0e4a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137683165343763633030666663363531633045800fa8015f5a4e3133375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e64656475705f736f727465645f697465722e2e4465647570536f7274656449746572244c54244b244324562443244924475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683930623931396634306431616230363445810fc6015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3132345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e50617261636861696e496e686572656e744461746124475424366465636f64653137683065306635353665643637306337336145820fc6015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3132345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e50617261636861696e496e686572656e744461746124475424366465636f64653137683165396535336463656563663934383045830fc6015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3132345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e50617261636861696e496e686572656e744461746124475424366465636f64653137683334336238383635386338636266613245840fc6015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3132345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e50617261636861696e496e686572656e744461746124475424366465636f64653137683564363836646266303637383462623245850fc6015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3132345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e50617261636861696e496e686572656e744461746124475424366465636f64653137686361646431326338336664326536646245860fc9015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74315f3132345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e50617261636861696e496e686572656e74446174612447542439656e636f64655f746f3137683135663831323036363134633066646345870fcd015f5a4e333763756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74327630315f3132385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e742e2e76302e2e50617261636861696e496e686572656e744461746124475424366465636f64653137683937333539353831383936393930613345880f465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274345f737461626c653137683031336530333037386663343833373145890f465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274345f737461626c6531376839393535313638373233343033393162458a0f465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c6531376830326363646666376337393935333462458b0f465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c6531376830366330623838303331343230383734458c0f4d5f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f727431396269646972656374696f6e616c5f6d6572676531376832333164613065386165326437643535458d0f4d5f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f727431396269646972656374696f6e616c5f6d6572676531376832623034383765393037633235336137458e0f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376830393862386663363433666565373939458f0f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683062303631383237353066623133316645900f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683335626239323134366436633433656345910f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683630366166326433646264393366313245920f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683932633334363734663930336136373145930f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137686263356238656232653535373464623245940f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137686430653831343233363565663364313445950f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137686435393633333635333161356166616445960f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137686466363538656339303035626162306245970f535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137686638656232376366356435643164363345980f595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683064663631656539313664633163386245990f595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376832623230646637393230366535336162459a0f595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376837613563643333393932373433653838459b0f595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376837636138306430376233663030376466459c0f595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376838303735393835616532613133356464459d0f595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376838313530366131646364613863656438459e0f595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376838376638633132373463306537356630459f0f595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683862633962643432633430356537323545a00f785f5a4e36355f244c5424736d616c6c7665632e2e436f6c6c656374696f6e416c6c6f63457272247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376830613465333538353762636336333939452e6c6c766d2e3133323438323234303434363336363639363430a10f635f5a4e36395f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683432356338313735303364663735643345a20f635f5a4e36395f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686264666536393835333137313233646345a30f565f5a4e3774696e797665633774696e79766563313654696e79566563244c5424412447542434707573683232647261696e5f746f5f686561705f616e645f707573683137686537343965383862383638613833363745a40f6f5f5a4e38305f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e696e6465782e2e496e646578244c542449244754242447542435696e6465783137683263646164373333393034326563376445a50f4a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137683133323864396535326638333965323245a60f4a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137686435303262333463613434643236363645a70f5d5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332356669656c6431364669656c64456c656d656e74323632353861735f62797465733137686530333239333065346631373965303345a80f90015f5a4e3136637572766532353531395f64616c656b356669656c6438315f244c5424696d706c2475323024637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e6669656c642e2e4669656c64456c656d656e7432363235244754243132737172745f726174696f5f693137683464646361323264373735613036313145a90f7c5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332356669656c6431364669656c64456c656d656e743236323531327371756172655f696e6e657231376837393165323137656565653839636633452e6c6c766d2e3132363637353334353637383134363030383537aa0f8b015f5a4e3130395f244c542424524624637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e6669656c642e2e4669656c64456c656d656e7432363235247532302461732475323024636f72652e2e6f70732e2e61726974682e2e4d756c24475424336d756c3137686538363137323437333736396639643845ab0f5a5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332356669656c6431364669656c64456c656d656e743236323535706f77326b3137686133656464626336376563323238383045ac0f8b015f5a4e3130395f244c542424524624637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e6669656c642e2e4669656c64456c656d656e7432363235247532302461732475323024636f72652e2e6f70732e2e61726974682e2e53756224475424337375623137683262353836363961373636356262653945ad0f8b015f5a4e3130395f244c542424524624637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e6669656c642e2e4669656c64456c656d656e7432363235247532302461732475323024636f72652e2e6f70732e2e61726974682e2e4e656724475424336e65673137686264386239373566303864303135613445ae0f81015f5a4e3136637572766532353531395f64616c656b367363616c617237345f244c5424696d706c2475323024637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e7533322e2e7363616c61722e2e5363616c6172323924475424347061636b3137683961623938653662313662396638616345af0f505f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332367363616c6172385363616c61723239337375623137683532306638636162333961383931373245b00f5c5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332367363616c6172385363616c6172323931346d6f6e74676f6d6572795f6d756c3137683537343633373463383436313939373845b10f585f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332367363616c6172385363616c61723239313066726f6d5f62797465733137683064393038333530323438393465616445b20f5d5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c33753332367363616c6172385363616c61723239313566726f6d5f62797465735f776964653137686361666565336237663235333730663445b30f525f5a4e3136637572766532353531395f64616c656b367363616c6172365363616c6172323566726f6d5f62797465735f6d6f645f6f726465725f776964653137683330613734353766393032643833356245b40f585f5a4e3136637572766532353531395f64616c656b367363616c6172365363616c61723672656475636531376832376263663637633635616539326431452e6c6c766d2e3131393336373839363632383839353338323036b50f445f5a4e3136637572766532353531395f64616c656b367363616c6172365363616c6172313161735f72616469785f32773137686437366236636661633862373530376345b60ff9015f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c313263757276655f6d6f64656c733137325f244c5424696d706c2475323024636f72652e2e6f70732e2e61726974682e2e416464244c542424524624637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e63757276655f6d6f64656c732e2e416666696e654e69656c73506f696e74244754242475323024666f72247532302424524624637572766532353531395f64616c656b2e2e656477617264732e2e45647761726473506f696e7424475424336164643137686637326664303164616566333265386145b70f90015f5a4e3130395f244c5424637572766532353531395f64616c656b2e2e656477617264732e2e4564776172647342617365706f696e745461626c65247532302461732475323024637572766532353531395f64616c656b2e2e7472616974732e2e42617365706f696e745461626c6524475424386d756c5f626173653137683037393136323561353631316261343945b80f4c5f5a4e3136637572766532353531395f64616c656b3972697374726574746f313452697374726574746f506f696e7438636f6d70726573733137683865663661303339393437323161356445b90f4d5f5a4e3136637572766532353531395f64616c656b3677696e646f7732304c6f6f6b75705461626c65244c542454244754243673656c6563743137686336643263646231633261633361663545ba0fa3015f5a4e3131375f244c5424637572766532353531395f64616c656b2e2e6261636b656e642e2e73657269616c2e2e63757276655f6d6f64656c732e2e416666696e654e69656c73506f696e74247532302461732475323024737562746c652e2e436f6e646974696f6e616c6c7953656c65637461626c65244754243138636f6e646974696f6e616c5f61737369676e3137686666366465383831663061353461616145bb0f5e5f5a4e3136637572766532353531395f64616c656b376261636b656e643673657269616c313263757276655f6d6f64656c73313550726f6a656374697665506f696e7436646f75626c653137683931326434613364376465326663613045bc0f1a5f5f727573745f616c6c6f635f6572726f725f68616e646c6572bd0f3a5f5a4e38666f6c646861736834736565643130536861726564536565643866726f6d5f7536343137683033316630306539386137313766663645be0f425f5a4e38666f6c6468617368347365656436676c6f62616c323067656e65726174655f676c6f62616c5f736565643137686637343665663831613532616161616545bf0f425f5a4e38666f6c6468617368347365656436676c6f62616c3130476c6f62616c5365656439696e69745f736c6f773137686339323634653962333737393663653845c00f315f5a4e38666f6c64686173683135686173685f62797465735f6c6f6e673137683965636532356237396431616336353845c10f495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683436663764316337613737613631613645c20f495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683464343230393563656232343261366445c30f495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686366323038613537333139393438613445c40f615f5a4e36385f244c54246672616d655f6578656375746976652e2e4578656375746976654572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683135653239366665333334393639313245c50ff6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137686565363231353535653930353966613445c60ff6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f707573683137686639616230623866313861623538663245c70f465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e3137683032656134616434616539643338623745c80f465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e3137683336646338643137356366666538363745c90f86015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683132383331323465346239363063303645ca0f86015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683361646235333033353331386363396445cb0f86015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683462626533343937383535393632356245cc0f86015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683630386337636231363137616165633945cd0f86015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137683632323637316531383964326132656445ce0f86015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c643137686463666264343738326639373434653245cf0f5d5f5a4e34636f726533707472353964726f705f696e5f706c616365244c54247363616c655f696e666f2e2e706f727461626c652e2e506f727461626c655265676973747279244754243137683832333933633238346364643736656345d00fac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137683337663261323631333466323966613045d10fac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137683736666632663764336634623930633145d20fac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137683764383566386135373663326362326445d30fac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137683837396530303338333734626164356645d40fac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137686465386631323936623137383737376645d50f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683939613431633235343766666436383945d60f85015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686662393335333231343836363033376345d70fa9015f5a4e31346672616d655f6d657461646174613132325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c54246672616d655f6d657461646174612e2e52756e74696d654d657461646174615072656669786564244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c5424753824475424244754243466726f6d3137683865656533303865333738383766376245d80f82015f5a4e39305f244c54246672616d655f6d657461646174612e2e7631362e2e50616c6c65744d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137683833643031326565376230666133616145d90f8f015f5a4e3130325f244c54246672616d655f6d657461646174612e2e7631362e2e50616c6c65745669657746756e6374696f6e4d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137686365333063306666666565633637336645da0f8d015f5a4e3130305f244c54246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d6574686f644d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137686435323764616132633662666539393145db0fa2015f5a4e31307363616c655f696e666f327479366669656c6473315f3130325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230247363616c655f696e666f2e2e74792e2e6669656c64732e2e4669656c64244c542454244754242447542439656e636f64655f746f3137683730393030383336626466643336313045dc0fa6015f5a4e31307363616c655f696e666f3274793776617269616e74315f3130355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230247363616c655f696e666f2e2e74792e2e76617269616e742e2e56617269616e74244c542454244754242447542439656e636f64655f746f3137683161623330636639333639333065626145dd0f3e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683164613532613063316439653166323045de0f3e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686364333032633532363232363432663545df0f5a5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683966303361643665303962343965376345e00fac015f5a4e31346672616d655f6d6574616461746133763136315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e53746f72616765456e7472794d65746164617461244c542454244754242447542439656e636f64655f746f3137683035323531303865313139636465376345e10f645f5a4e36355f244c542424753562245424753564242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683132616532393162353666393764356445e20fb4015f5a4e31346672616d655f6d6574616461746133763136315f3132325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65744173736f636961746564547970654d65746164617461244c542454244754242447542439656e636f64655f746f3137683838313137656563346162356566383645e30fb0015f5a4e31346672616d655f6d6574616461746133763135315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e52756e74696d654170694d6574686f644d65746164617461244c542454244754242447542439656e636f64655f746f3137683562326632393536356661303838303245e40fb2015f5a4e31346672616d655f6d6574616461746133763136315f3132305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65745669657746756e6374696f6e4d65746164617461244c542454244754242447542439656e636f64655f746f3137686632303336366463613335623265323945e50fb0015f5a4e31346672616d655f6d6574616461746133763136315f3131385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d6574686f644d65746164617461244c542454244754242447542439656e636f64655f746f3137686261613735646664303132363634666145e60fae015f5a4e31346672616d655f6d6574616461746133763136315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c6574436f6e7374616e744d65746164617461244c542454244754242447542439656e636f64655f746f3137686532613066666637373936666633363845e70f82015f5a4e39305f244c54246672616d655f6d657461646174612e2e7631352e2e50616c6c65744d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137686639383532313231323638386338646645e80f435f5a4e31346672616d655f6d6574616461746133763136313852756e74696d654d65746164617461563136336e65773137683931613061333561376134663963303645e90f86015f5a4e39345f244c54246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137683030616435303231356166363164303445ea0f8a015f5a4e39385f244c54246672616d655f6d657461646174612e2e7631362e2e50616c6c6574436f6e7374616e744d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137683732666235653962346363383861613745eb0fa1015f5a4e31346672616d655f6d6574616461746133763135315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e52756e74696d654d65746164617461563135244754243973697a655f68696e743137683631346339633330333330356566383945ec0fa1015f5a4e31346672616d655f6d6574616461746133763135315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e52756e74696d654d657461646174615631352447542439656e636f64655f746f3137686261306664306130353136633765396245ed0fa6015f5a4e31346672616d655f6d6574616461746133763135315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e50616c6c65744d65746164617461244c542454244754242447542439656e636f64655f746f3137683062623432663737646633616238656345ee0faa015f5a4e31346672616d655f6d6574616461746133763135315f3131325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e52756e74696d654170694d65746164617461244c542454244754242447542439656e636f64655f746f3137686262646165613165336564393063653345ef0fa1015f5a4e31346672616d655f6d6574616461746133763136315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654d65746164617461563136244754243973697a655f68696e743137683432333632396363313730646364383345f00fa1015f5a4e31346672616d655f6d6574616461746133763136315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654d657461646174615631362447542439656e636f64655f746f3137683936303833643161363137643864316345f10fa6015f5a4e31346672616d655f6d6574616461746133763136315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65744d65746164617461244c542454244754242447542439656e636f64655f746f3137683565316536316161306531616438363545f20faa015f5a4e31346672616d655f6d6574616461746133763136315f3131325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d65746164617461244c542454244754242447542439656e636f64655f746f3137683036626664663839366363663232613645f30fc4015f5a4e31346672616d655f6d6574616461746133763136315f3131335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e4974656d4465707265636174696f6e496e666f244c542454244754242447542439656e636f64655f746f31376837383733653562666639393639343563452e6c6c766d2e39353235393639333335343733323035303836f40f8c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686435363061393636386366656330373945f50f9b015f5a4e31307363616c655f696e666f327479315f3130325f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230247363616c655f696e666f2e2e74792e2e54797065506172616d65746572244c542454244754242447542439656e636f64655f746f3137686666366365373336343265353366613045f60f9c015f5a4e31307363616c655f696e666f38706f727461626c65315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230247363616c655f696e666f2e2e706f727461626c652e2e506f727461626c65547970652447542439656e636f64655f746f3137686630613536363465336133336535633545f70f5b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376839333064333130363035663237666631452e6c6c766d2e3130313333363630373130383833333933333939f80f5b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376861323632613263343865353237376432452e6c6c766d2e3130313333363630373130383833333933333939f90f425f5a4e34636f726535736c69636534736f727436736861726564357069766f74313263686f6f73655f7069766f743137683530373634336662396338616131353545fa0f475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137683132396661346634373066646530633045fb0fae015f5a4e31346672616d655f6d6574616461746133763134315f3131365f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e50616c6c6574436f6e7374616e744d65746164617461244c542454244754242447542439656e636f64655f746f3137686134356664323735646530333265303245fc0fac015f5a4e31346672616d655f6d6574616461746133763134315f3131345f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e7472794d65746164617461244c542454244754242447542439656e636f64655f746f3137683261663034306139353439613933313645fd0f435f5a4e31346672616d655f6d6574616461746133763134313852756e74696d654d65746164617461563134336e65773137686530613665343339393064303834336345fe0f82015f5a4e39305f244c54246672616d655f6d657461646174612e2e7631342e2e50616c6c65744d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137686630333965353965386238383539663645ff0f88015f5a4e39365f244c54246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e7472794d657461646174612475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c6531376866366664636462363035663630656266458010a1015f5a4e31346672616d655f6d6574616461746133763134315f3130335f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e52756e74696d654d657461646174615631342447542439656e636f64655f746f31376830336264373538613139373862353830458110a6015f5a4e31346672616d655f6d6574616461746133763134315f3130385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e50616c6c65744d65746164617461244c542454244754242447542439656e636f64655f746f31376836363732323838396165353133646162458210ad015f5a4e31346672616d655f6d6574616461746133763134315f3131355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e50616c6c657453746f726167654d65746164617461244c542454244754242447542439656e636f64655f746f31376830313062326637336135653065306336458310a8015f5a4e31346672616d655f6d6574616461746133763134315f3131305f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e74727954797065244c542454244754242447542439656e636f64655f746f313768393630326233396563303463363764304584103f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683232323036353532636665333537626445851094015f5a4e31346672616d655f6d65746164617461315f39355f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f6d657461646174612e2e52756e74696d654d65746164617461244754243973697a655f68696e74313768383139393833303465313531616432394586104b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376832356234343832653732303437363164452e6c6c766d2e3738393533363036373639393338373834363387105a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376866643636646236343366623739313361458810395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376863313062353838396265663863653463458910395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f727431376865663238653335363235343462366564458a10465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274345f737461626c6531376839653539376166623966363234353838458b10535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376835353431616562393638326565633936458c10535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c65667431376838383765376663616235613064613461458d10595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376836356335316637643935306534613633458e10595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f7363726174636831376839313563663766313936373666656137458f10425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f727431376861623339646539323064616132323635459010425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f7274313768666136636432613631383463356431354591108f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f313768303364646332303636346664386461654592108f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f313768623664303065613238313632313235324593108f015f5a4e3130375f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686538316439326666666163393538376545941093015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683962633762636531383335616663303945951093015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e65787431376864363166626662326539323162313834459610ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f6974657231376832353161346238663232663431653536459710ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683661613532666631373839313637386145981081015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686237666563613465373465623337643245991081015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376863393836343637373130306163333934459a1081015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376864393536356337373533333433633062459b1081015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376831636330343432346262386531613830459c1081015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376863653533623133373831633961323265459d10655f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313562756c6b5f737465616c5f6c65667431376831386134343833613132343437613965459e10665f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313662756c6b5f737465616c5f726967687431376834646334643366373564376537393965459f105d5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b244324562447542438646f5f6d657267653137686439653665393733626162613263396445a010cd025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653235395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313472656d6f76655f6c6561665f6b763137686336633236356664353436613737633645a110db025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653236395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313872656d6f76655f6b765f747261636b696e673137683230323065383630393232353833653945a210ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683034366433353337636531306135353145a310ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683839666534346131653465383265346145a410475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683630393636633132653239623665663045a510495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683334643863663138383333626238646245a6105c5f5a4e34636f726533666d74336e756d35305f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247536342447542433666d743137683966383134653432366537363631613145a71080015f5a4e34636f726533707472363864726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c542473657264655f6a736f6e2e2e76616c75652e2e56616c7565244754242447542431376836323564613761616231353437666165452e6c6c766d2e3135343538323333363039363334383833313330a8105f5f5a4e36365f244c542473705f776569676874732e2e7765696768745f76322e2e576569676874247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686266656165353261356431313264306645a910645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686664393231333861623465353566623245aa1085015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683631343661383736613933626162326145ab10555f5a4e31336672616d655f737570706f72743864697370617463683136506f73744469737061746368496e666f313863616c635f61637475616c5f7765696768743137683735653039303364346462316663613445ac1080015f5a4e39385f244c54246672616d655f737570706f72742e2e73746f726167652e2e7472616e73616374696f6e616c2e2e53746f726167654c617965724775617264247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683566636334303461376133656161623545ad108d015f5a4e31336672616d655f737570706f7274386469737061746368315f38305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e506179732447542439747970655f696e666f3137683034316561616238316336396336343945ae1096015f5a4e31336672616d655f737570706f7274386469737061746368315f38395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e4469737061746368436c6173732447542439747970655f696e666f3137686435396164373336313035373163656145af102e5f5a4e313161727261795f6279746573396279746573326865783137683937313435616231376466323338306645b01098015f5a4e3132315f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e457874726163744966244c54244b24432456244324462443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137683032396665383465323637633834376445b110595f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683364626432313162303131306564343145b2109a015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f7031376835366336333230393237343030373839452e6c6c766d2e36363134373537303036363430323133343530b310ad015f5a4e31336672616d655f737570706f72743674726169747336746f6b656e73346d697363315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e7472616974732e2e746f6b656e732e2e6d6973632e2e42616c616e63655374617475732447542439747970655f696e666f3137686231376638333833356534333166353545b4109b015f5a4e3132365f244c54246672616d655f737570706f72742e2e67656e65726174655f67656e657369735f636f6e6669672e2e496e697469616c697a65644669656c64247532302461732475323024636f72652e2e636d702e2e5061727469616c4571244c5424616c6c6f632e2e737472696e672e2e537472696e6724475424244754243265713137683939306239363962656561623261663145b5105a5f5a4e31336672616d655f737570706f7274323367656e65726174655f67656e657369735f636f6e666967323572657461696e5f696e697469616c697a65645f6669656c64733137683831316366626532613033333039343145b610495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683564613337623661343837653239643145b7103b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137686331666534316130613466353131363445b810725f5a4e36305f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376833646264323131623031313065643431452e6c6c766d2e37323332323037383231323830363733353231b9105f5f5a4e36365f244c5424616c6c6f632e2e626f72726f772e2e436f77244c54244224475424247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686633653933336164343830656637353645ba107b5f5a4e36395f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376863623038386638323833616331663363452e6c6c766d2e37323332323037383231323830363733353231bb10475f5a4e31336672616d655f737570706f72743773746f7261676538756e68617368656431346765745f6f725f64656661756c743137683630393662313361316230653238353545bc10465f5a4e31336672616d655f737570706f7274313664697370617463685f636f6e7465787436474c4f42414c365f5f696e69743137683737306464396637333862656134333745bd104c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376832306637646637386435393865666637452e6c6c766d2e3138323232353730373636373437333333373230be105a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686163373538626561303639313763643945bf1083015f5a4e31307363616c655f696e666f35696d706c7337385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f72726f772e2e436f77244c542454244754242447542439747970655f696e666f3137683739396533396435333431653434653545c01085015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f3137686433386137663733313634373634623845c11095015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137683839306166613931343836376537633845c210ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683437393839646463323635393238623445c310735f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376831383066313537356331356635666539452e6c6c766d2e38393937353636363231333536363837343634c410ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686266636632356538333031326235643645c5104b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376835646135373036643633653031373464452e6c6c766d2e38393937353636363231333536363837343634c61085015f5a4e31326672616d655f73797374656d315f38325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e44697370617463684576656e74496e666f2447542439747970655f696e666f3137686339643763343331306538353464343045c710795f5a4e31326672616d655f73797374656d315f37305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e50686173652447542439747970655f696e666f3137686665643038303332393330373235663245c8108a015f5a4e31326672616d655f73797374656d315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e4c61737452756e74696d6555706772616465496e666f2447542439747970655f696e666f3137683633386238616639313434303337383945c910445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686530323161346133373839333234626445ca10445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686665663565343430623064343132323745cb10a3015f5a4e31336672616d655f737570706f7274386469737061746368315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c542454244754242447542439747970655f696e666f3137686162383963646636623965373036396145cc1092015f5a4e31326672616d655f73797374656d366c696d697473315f38385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e6c696d6974732e2e57656967687473506572436c6173732447542439747970655f696e666f3137683566666535306464333163366664656545cd10a3015f5a4e31336672616d655f737570706f7274386469737061746368315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f737570706f72742e2e64697370617463682e2e5065724469737061746368436c617373244c542454244754242447542439747970655f696e666f3137686430333539373130663135353436376445ce10435f5a4e31326672616d655f73797374656d366c696d6974733132426c6f636b576569676874733876616c69646174653137683964623434613739363330386261313545cf10475f5a4e31326672616d655f73797374656d366c696d6974733139426c6f636b576569676874734275696c646572356275696c643137686539653834636439653662633232646245d0108e015f5a4e31326672616d655f73797374656d366c696d697473315f38345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e6c696d6974732e2e426c6f636b4c656e6774682447542439747970655f696e666f3137683961343630376532613532643065336145d110685f5a4e37355f244c54246672616d655f73797374656d2e2e6c696d6974732e2e56616c69646174696f6e4572726f7273247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686136353139363064636163383633373845d2109c015f5a4e31326672616d655f73797374656d366c696d697473315f39385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652475323024666f7224753230246672616d655f73797374656d2e2e6c696d6974732e2e426c6f636b57656967687473244754243973697a655f68696e743137686430363737653334343234383261653245d3108f015f5a4e31326672616d655f73797374656d366c696d697473315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230246672616d655f73797374656d2e2e6c696d6974732e2e426c6f636b576569676874732447542439747970655f696e666f3137683865643031306163663565616230666245d410495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683062666539336664336663393663346345d510aa015f5a4e38375f244c542467657472616e646f6d5f6f725f70616e69632e2e67657472616e646f6d5f6f725f70616e69632e2e50616e6963526e6724753230246173247532302472616e645f636f72652e2e526e67436f726524475424313066696c6c5f6279746573313870616e69635f636f6c645f646973706c617931376830616333626538626434323261346436452e6c6c766d2e3133333330303035333032353434343736333330d610415f5a4e366b656363616b386b656363616b5f7031376832323463646332323334356235336438452e6c6c766d2e3131393134343333373036313636323037323839d710655f5a4e34335f244c54246c6f672e2e4e6f704c6f676765722475323024617324753230246c6f672e2e4c6f672447542437656e61626c656431376830353035623233623135383332656436452e6c6c766d2e34363835363838353631353933383138313034d810615f5a4e34335f244c54246c6f672e2e4e6f704c6f676765722475323024617324753230246c6f672e2e4c6f6724475424336c6f6731376864313635613933666435393732646664452e6c6c766d2e34363835363838353631353933383138313034d910635f5a4e34335f244c54246c6f672e2e4e6f704c6f676765722475323024617324753230246c6f672e2e4c6f672447542435666c75736831376838393333643665343136626431376235452e6c6c766d2e34363835363838353631353933383138313034da10335f5a4e336c6f6731335f5f707269766174655f617069386c6f675f696d706c3137683133386363643233613462366165656345db10475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686134306135646130313731303136613245dc10355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683966653762383833366366353231373845dd10525f5a4e366d65726c696e367374726f6265395374726f626531323838626567696e5f6f7031376836316439313838323435356538643631452e6c6c766d2e3137343139393637373339303936333730373530de103a5f5a4e366d65726c696e31307472616e73637269707431305472616e736372697074336e65773137683836633765353033386435353166623945df10465f5a4e366d65726c696e31307472616e73637269707431305472616e7363726970743134617070656e645f6d6573736167653137683561383364643034313536343566366245e010475f5a4e366d65726c696e31307472616e73637269707431305472616e73637269707431356368616c6c656e67655f62797465733137686263383434393264386165383031633045e1105a5f5a4e366d65726c696e31307472616e73637269707432305472616e736372697074526e674275696c646572323472656b65795f776974685f7769746e6573735f62797465733137683735656238643166353962386631326445e2108e015f5a4e313570616c6c65745f62616c616e636573357479706573315f38325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e526561736f6e732447542439747970655f696e666f3137686566666237366531366136366330363345e31091015f5a4e313570616c6c65745f62616c616e636573357479706573315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e4578747261466c6167732447542439747970655f696e666f3137683433313738666134613864393361623045e4109a015f5a4e313570616c6c65745f62616c616e636573357479706573315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f62616c616e6365732e2e74797065732e2e41646a7573746d656e74446972656374696f6e2447542439747970655f696e666f3137683531633235616233643434333530333745e5108c015f5a4e313470616c6c65745f676c7574746f6e3670616c6c6574315f38305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f676c7574746f6e2e2e70616c6c65742e2e4576656e742447542439747970655f696e666f3137686161623035373038303631316133633445e61098015f5a4e323670616c6c65745f7472616e73616374696f6e5f7061796d656e74315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302470616c6c65745f7472616e73616374696f6e5f7061796d656e742e2e52656c65617365732447542439747970655f696e666f3137686134376535383838333935323433653245e710475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683261343261646339316638663232306545e810435f5a4e34636f7265346974657236747261697473386974657261746f72384974657261746f72387472795f666f6c643137683933353830303062326265353164303445e910535f5a4e34636f726535736c69636532395f244c5424696d706c2475323024247535622454247535642424475424313662696e6172795f7365617263685f62793137683031323164343138393263313165323345ea10435f5a4e31327061726974795f6269703339384d6e656d6f6e6963313970617273655f696e5f6e6f726d616c697a65643137686633346539396434303736373461343545eb103a5f5a4e31327061726974795f6269703339384d6e656d6f6e69633130776f72645f636f756e743137683333623561386261326330363134653045ec10405f5a4e31327061726974795f6269703339384d6e656d6f6e69633136746f5f656e74726f70795f61727261793137686265306233326264306338383730636145ed10555f5a4e35365f244c54247061726974795f62697033392e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683764346134636539656362386633666345ee103b5f5a4e34636f726533666d74386275696c646572733944656275674c69737437656e74726965733137683134643736336161366163343832646445ef10415f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f7265633137686230386437306263663764643832316245f010425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683933333464323865323861613761646645f110475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683965336634336232376666363634616245f210475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686265323438393036373938626237363945f310475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686461633338336530346465373063383845f4103e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686166383233623065323431303939363645f510395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683538356532323735363164626134323145f610465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c653137686632306630613232316664383739393645f710595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137686330326233626635613036623964653645f810325f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f773137683166316330633838656538363839353245f910435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683565323832353262323932346436323645fa105e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137683262616130326665333736626635643945fb104c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376834313833366230356264653963353634452e6c6c766d2e3135323431303137383138323134333438373533fc10745f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376833653238313765303634386561363764452e6c6c766d2e3135323431303137383138323134333438373533fd1091015f5a4e39315f244c54247061726974795f7363616c655f636f6465632e2e636f6465632e2e4279746573437572736f722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e496e7075742447542432377363616c655f696e7465726e616c5f6465636f64655f62797465733137683465363738343932353532646138643445fe1085015f5a4e3130325f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e507265666978496e707574244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e496e7075742447542434726561643137686365346566303736643833666465636545ff10595f5a4e35375f244c54247374722475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f646531376866633261383331336538636164333739458011645f5a4e37315f244c54247061726974795f7363616c655f636f6465632e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376866663331363035613339316435323662458111465f5a4e31387061726974795f7363616c655f636f64656335636f6465633139656e636f64655f736c6963655f6e6f5f6c656e313768336239646134653766376362343835324582118c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f313768303738386237353961313530643638374583114c5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542431357472795f616c6c6f636174655f696e31376839373234643832653239346239663538458411765f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f313768666362323664346337366364393339344585113f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376833323331623864373934623263326138458611b7015f5a4e3239706f6c6b61646f745f70617261636861696e5f7072696d69746976657331307072696d697469766573315f3130325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e48656164446174612447542439747970655f696e666f31376838613365643831636237376232363335458711bd015f5a4e3239706f6c6b61646f745f70617261636861696e5f7072696d69746976657331307072696d697469766573315f3130385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e56616c69646174696f6e436f64652447542439747970655f696e666f31376830343835643739636539643737643166458811b0015f5a4e3239706f6c6b61646f745f70617261636861696e5f7072696d69746976657331307072696d697469766573315f39365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f70617261636861696e5f7072696d6974697665732e2e7072696d6974697665732e2e49642447542439747970655f696e666f3137686466393063623935666132373336653745891180015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f31376864366531373838373231363335306132458a11445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376837303363366434643634653632643662458b11a3015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e4162726964676564486f7374436f6e66696775726174696f6e2447542439747970655f696e666f31376834316236333337326239633161373161458c119c015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f39355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e416272696467656448726d704368616e6e656c2447542439747970655f696e666f31376863643061623363623434353063386566458d119b015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e557067726164655265737472696374696f6e2447542439747970655f696e666f31376864333634313537303232373932616566458e1197015f5a4e3139706f6c6b61646f745f7072696d697469766573327638315f39305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e55706772616465476f41686561642447542439747970655f696e666f31376839383265636561386363363032666130458f11ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376837653466366338636366393162663236459011ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376839303938393466313330343061636337459111ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686161623533623139666565306131396245921185015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f69746572313768633032653262383130376130313637394593118c015f5a4e3130345f244c5424636f72652e2e697465722e2e61646170746572732e2e636c6f6e65642e2e436c6f6e6564244c54244924475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f72244754243973697a655f68696e743137683763306337613833346230356566653445941185015f5a4e31307363616c655f696e666f35696d706c7338305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242447542439747970655f696e666f31376830363038643661633564623162626666459511ba015f5a4e3139706f6c6b61646f745f7072696d69746976657332763831336173796e635f6261636b696e67315f3130395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e76382e2e6173796e635f6261636b696e672e2e4173796e634261636b696e67506172616d732447542439747970655f696e666f3137683335323137623935303639373661663445961189015f5a4e3130365f244c5424636f72652e2e697465722e2e61646170746572732e2e636861696e2e2e436861696e244c5424412443244224475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c6431376830626362303264383138373536376162459711a1015f5a4e3139706f6c6b61646f745f7072696d697469766573387673746167696e67315f39345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e7673746167696e672e2e436f726553656c6563746f722447542439747970655f696e666f31376861353732626462333632316364366234459811a5015f5a4e3139706f6c6b61646f745f7072696d697469766573387673746167696e67315f39385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024706f6c6b61646f745f7072696d6974697665732e2e7673746167696e672e2e436c61696d51756575654f66667365742447542439747970655f696e666f313768343338363365656130303331346562344599114b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376864386465353061356561303030323531452e6c6c766d2e353938383236393733313939343330303930379a115a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376830386234363266633937393137326638459b11475f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646531337573696e675f656e636f64656431376834323736366537666333316662306236459c11325f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376831623236363533336438356665366137459d11435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376863373362326134346538666134633765459e11645f5a4e34355f244c54242452462454247532302461732475323024636f72652e2e666d742e2e4c6f7765724865782447542433666d7431376838393563646432303239323437306663452e6c6c766d2e31303837333730323238353337353232323139399f117e5f5a4e31357072696d69746976655f7479706573315f37325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247072696d69746976655f74797065732e2e483235362447542439747970655f696e666f3137683631313063316333646136616332393045a0117e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683238656237303434386135313035376145a1114a5f5a4e34355f244c54242452462454247532302461732475323024636f72652e2e666d742e2e4c6f7765724865782447542433666d743137686233326265393436613063663833326545a211405f5a4e3372797536707265747479386d616e7469737361313977726974655f6d616e74697373615f6c6f6e673137683365333364626266336138366666383745a3112b5f5a4e337279753670726574747938666f726d617436343137686137623637363030643031343562313245a4119c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683732656561386134373135363837306645a51192025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137683236346661613132643938356235323645a6119c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683762353136613331633764343433636545a71192025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c69743137686637376138646265326561383562656245a81189015f5a4e3130365f244c5424636f72652e2e697465722e2e61646170746572732e2e636861696e2e2e436861696e244c5424412443244224475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686435343639623765383666306536613645a9113d5f5a4e34636f726533737472377061747465726e313454776f5761795365617263686572346e6578743137683362326536323461386539373936373745aa11ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683532663539346239356431653166383845ab11ac015f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c6563743130385f244c5424696d706c2475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c54245424432449244754242475323024666f722475323024616c6c6f632e2e7665632e2e566563244c54245424475424244754243966726f6d5f697465723137686239346339633332336230333231343445ac11625f5a4e36375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653137686237373333643730303736623633626345ad11625f5a4e36375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e636c6f6e652e2e436c6f6e652447542435636c6f6e653137686539613866303963316161323462373245ae1185015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686134326131363764636538306462336145af1185015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686539636630323638643061663632643445b01185015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137686562393238303063383630353133303045b1114b5f5a4e34636f72653373747232315f244c5424696d706c24753230247374722447542431387472696d5f73746172745f6d6174636865733137683862333138666432323837376662303845b2118b015f5a4e3130385f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e49746572244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686433323866636539323330646334313645b3118a015f5a4e34636f726533707472373964726f705f696e5f706c616365244c54247363616c655f696e666f2e2e74792e2e54797065244c54247363616c655f696e666f2e2e666f726d2e2e506f727461626c65466f726d244754242447542431376866356130613564336633333331646634452e6c6c766d2e39383337383830363032373738313337393438b411565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137683765353862613234623366393839663045b51181015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683564303936656638313666303439623345b61181015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683737616139343137326335663231363145b7114b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376865633763626465653838613938383437452e6c6c766d2e37333632383930363230353433303333343433b811435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686234663730383465383538353138323445b911435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686664353561653330326637353034643845ba115a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683833643737376263656664613338316145bb116b5f5a4e31307363616c655f696e666f35696d706c7335345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247374722447542439747970655f696e666f3137683734313035353961366638313361346145bc113d5f5a4e31307363616c655f696e666f357574696c73313869735f727573745f6964656e7469666965723137683264336636353138346261656130393545bd116c5f5a4e31307363616c655f696e666f35696d706c7335355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024626f6f6c2447542439747970655f696e666f3137683735303032653063336362653636663245be116a5f5a4e31307363616c655f696e666f35696d706c7335335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302475382447542439747970655f696e666f3137686262336262613963636462386161373345bf116b5f5a4e31307363616c655f696e666f35696d706c7335345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247531362447542439747970655f696e666f3137683232356435363531316133366236353045c0116b5f5a4e31307363616c655f696e666f35696d706c7335345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247533322447542439747970655f696e666f3137683161343632663434646165616338393845c1116b5f5a4e31307363616c655f696e666f35696d706c7335345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247536342447542439747970655f696e666f3137683333333739316665613432613139353845c2116c5f5a4e31307363616c655f696e666f35696d706c7335355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024753132382447542439747970655f696e666f3137686530656565613133336165346639666545c311705f5a4e31307363616c655f696e666f35696d706c7335395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c5024245250242447542439747970655f696e666f3137686233643630323335393633356666396245c4118b015f5a4e34636f7265336f70733866756e6374696f6e35696d706c7338305f244c5424696d706c2475323024636f72652e2e6f70732e2e66756e6374696f6e2e2e466e4f6e6365244c542441244754242475323024666f722475323024245246246d7574247532302446244754243963616c6c5f6f6e63653137683038613834353266383331636265396545c511475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137683566633533343131323430356132616345c611345f5a4e31307363616c655f696e666f32747934706174683450617468336e65773137683966626261363065383063386334346545c711425f5a4e31307363616c655f696e666f3274793470617468345061746831366e65775f776974685f7265706c6163653137683366633339376637626537623535366645c8117b5f5a4e36385f244c54247363616c655f696e666f2e2e74792e2e706174682e2e506174684572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376837643638343464313263333930623431452e6c6c766d2e3137363234373331343339353731353435393831c911445f5a4e31307363616c655f696e666f387265676973747279385265676973747279313372656769737465725f747970653137683261363966666134336232383764366145ca11475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683632643262313966636161343530363445cb11475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683664333965376433663730303964383945cc117d5f5a4e31307363616c655f696e666f35696d706c7337325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e737472696e672e2e537472696e672447542439747970655f696e666f3137683731303832313963343335316162643545cd11765f5a4e37385f244c54247363616c655f696e666f2e2e74792e2e547970654465662475323024617324753230247363616c655f696e666f2e2e72656769737472792e2e496e746f506f727461626c65244754243133696e746f5f706f727461626c653137683939323633363634353666363136363645ce118a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137683330393634613963666166613836653845cf118a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c643137686465373031643430643237386538396545d0113e5f5a4e31307363686e6f72726b656c346b65797331334d696e695365637265744b657936657870616e643137683337356538336632383262643161386245d111615f5a4e36375f244c54247363686e6f72726b656c2e2e6b6579732e2e4b657970616972247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683661356633366465303237613832616645d21183015f5a4e3130305f244c54247363686e6f72726b656c2e2e6b6579732e2e4b657970616972247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54247363686e6f72726b656c2e2e6b6579732e2e5365637265744b657924475424244754243466726f6d3137683062363530613432613533613066343845d311635f5a4e36395f244c54247363686e6f72726b656c2e2e6b6579732e2e5365637265744b6579247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686331643037373239363839356661376145d41180015f5a4e38395f244c54246d65726c696e2e2e7472616e7363726970742e2e5472616e7363726970742475323024617324753230247363686e6f72726b656c2e2e636f6e746578742e2e5369676e696e675472616e736372697074244754243132636f6d6d69745f62797465733137683066386230663966323634386266646345d51183015f5a4e38395f244c54246d65726c696e2e2e7472616e7363726970742e2e5472616e7363726970742475323024617324753230247363686e6f72726b656c2e2e636f6e746578742e2e5369676e696e675472616e7363726970742447542431356368616c6c656e67655f62797465733137683830363933386234346463653337363845d611405f5a4e31307363686e6f72726b656c32377363616c61725f66726f6d5f63616e6f6e6963616c5f62797465733137683538323132643333373565333064306545d711475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686264396230383238613762393733303745d811495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683664353039303664383334356238666445d911495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683835363430353163356339656335356545da11305f5a4e34636f726533666d743557726974653977726974655f666d743137683035653539633534373463346565663845db11595f5a4e36305f244c542473657264652e2e64652e2e556e6578706563746564247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686136343533346533646166323234663145dc115f5f5a4e36365f244c542473657264652e2e64652e2e57697468446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686431303564393337363365343039643845dd114c5f5a4e34375f244c54242452462473747224753230246173247532302473657264652e2e64652e2e45787065637465642447542433666d743137683737363032636535613865646637623745de11545f5a4e35355f244c542473657264652e2e64652e2e4f6e654f66247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683566306361376163326237303438396545df11a4015f5a4e3132385f244c5424244c542473657264652e2e64652e2e57697468446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e446973706c6179244754242e2e666d742e2e4c6f6f6b466f72446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137683162383234663230396534353031303345e011a6015f5a4e3132385f244c5424244c542473657264652e2e64652e2e57697468446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e446973706c6179244754242e2e666d742e2e4c6f6f6b466f72446563696d616c506f696e74247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f636861723137683237396261393134343838323261376645e11185015f5a4e3130325f244c542473657264655f6a736f6e2e2e6e756d6265722e2e4e756d626572247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c542473657264655f6a736f6e2e2e64652e2e5061727365724e756d62657224475424244754243466726f6d3137683931623835633139656432393731396645e2116b5f5a4e37375f244c542473657264655f6a736f6e2e2e6e756d6265722e2e4e756d626572247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c542475363424475424244754243466726f6d3137683166343431393934333763646430323745e3116c5f5a4e37385f244c542473657264655f6a736f6e2e2e6e756d6265722e2e4e756d626572247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54247531323824475424244754243466726f6d3137683838663139613932343439386261323445e411425f5a4e313073657264655f6a736f6e32646531325061727365724e756d6265723132696e76616c69645f747970653137683362646365666161646238653034383045e511435f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424356572726f723137683537356630353162326135613561613745e611565f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424323370617273655f616e795f7369676e65645f6e756d6265723137683566386633383336366364376336653145e711675f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c54245224475424313670617273655f616e795f6e756d62657231376834386234623438306632623962323732452e6c6c766d2e383636313239353237333434323036333237e8114b5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431327363616e5f696e74656765723137683238336336393139656138633766663445e9114a5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431317363616e5f6f725f656f663137683661633933626132636166613161366445ea114a5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431317363616e5f6e756d6265723137683363363862646661646431376630303945eb114c5f5a4e313073657264655f6a736f6e3264653231446573657269616c697a6572244c5424522447542431337363616e5f6578706f6e656e743137683133306462333230383532626331396545ec11305f5a4e34636f726533666d743557726974653977726974655f666d743137686235303863366462366532393037313245ed114c5f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e67244754243137683033373231383630643130346337656245ee115f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f636861723137686261356632333433323063373033646545ef115a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683962633032363164363230633930636245f0115d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137686338313539386563386234376134313945f1114a5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376862383663646639656464336561623831452e6c6c766d2e333830343736363138363335393039313031f211435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683931393865323661386137396264663045f3115e5f5a4e36355f244c542473657264655f6a736f6e2e2e696f2e2e696d702e2e4572726f72247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683733613436643432316232323433316145f4114c5f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e67244754243137683033373231383630643130346337656245f511425f5a4e34636f726533737472377061747465726e313454776f5761795365617263686572396e6578745f6261636b3137683836393031393633353434373264353445f611525f5a4e35335f244c5424636f72652e2e666d742e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686332646161363836313138343465323345f711575f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683161656134663965346362396532343145f8115f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f636861723137686261356632333433323063373033646545f9115d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137686338313539386563386234376134313945fa11605f5a4e36375f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72436f6465247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683663346339626261303634323865386645fb115c5f5a4e36335f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686365303637316566366266653866396345fc115a5f5a4e36315f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686361626632306130353565313037313845fd11775f5a4e36315f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264652e2e64652e2e4572726f722447542436637573746f6d31376837666666616133396661666161343033452e6c6c766d2e3132303239383731393637303336323233353038fe11355f5a4e313073657264655f6a736f6e356572726f7231306d616b655f6572726f723137683534353637646466643066346162643345ff11645f5a4e36315f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264652e2e64652e2e4572726f72244754243132696e76616c69645f7479706531376837313062323931653239663863616561458012655f5a4e37325f244c542473657264655f6a736f6e2e2e6572726f722e2e4a736f6e556e6578706563746564247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376830336332313965363866303534316564458112655f5a4e36315f244c542473657264655f6a736f6e2e2e6572726f722e2e4572726f7224753230246173247532302473657264652e2e64652e2e4572726f72244754243133696e76616c69645f76616c7565313768656236326538363164663366313432664582125f5f5a4e313073657264655f6a736f6e347265616439536c696365526561643137706f736974696f6e5f6f665f696e64657831376861373638343164326664393135333265452e6c6c766d2e31323731383133343435343630393833393133348312475f5a4e313073657264655f6a736f6e347265616439536c696365526561643139736b69705f746f5f6573636170655f736c6f7731376838386462303637306235623264323261458412695f5a4e37305f244c542473657264655f6a736f6e2e2e726561642e2e536c6963655265616424753230246173247532302473657264655f6a736f6e2e2e726561642e2e52656164244754243970617273655f737472313768666335336537613562356362316363664585123e5f5a4e313073657264655f6a736f6e3472656164323070617273655f756e69636f64655f65736361706531376833363966636539623737356135383036458612725f5a4e37305f244c542473657264655f6a736f6e2e2e726561642e2e536c6963655265616424753230246173247532302473657264655f6a736f6e2e2e726561642e2e526561642447542431376465636f64655f6865785f65736361706531376866323535393631326137323864663235458712375f5a4e313073657264655f6a736f6e337365723134696e76616c69645f6e756d62657231376836663038373965313135373962653332458812715f5a4e38345f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e53657269616c697a654d617024753230246173247532302473657264652e2e7365722e2e53657269616c697a655374727563742447542433656e64313768363538663934353339313436396663634589127d5f5a4e38355f244c542473657264655f6a736f6e2e2e76616c75652e2e7365722e2e4e756d62657256616c7565456d697474657224753230246173247532302473657264652e2e7365722e2e53657269616c697a657224475424313373657269616c697a655f73747231376866313831616330383062626433333162458a12495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376831653438313035363430653838636331458b12495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376838633335303663303266346539336163458c12315f5a4e34736861323673686135313234736f667438636f6d707265737331376865396433623530353131323935306537458d12755f5a4e38335f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e4669786564553634247532302461732475323024636f72652e2e7374722e2e7472616974732e2e46726f6d537472244754243866726f6d5f73747231376861323761383264366130663735346531458e1298015f5a4e313373705f61726974686d65746963313166697865645f706f696e74315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f61726974686d657469632e2e66697865645f706f696e742e2e46697865645536342447542439747970655f696e666f31376864643230616530373531333035643136458f12765f5a4e38345f244c542473705f61726974686d657469632e2e66697865645f706f696e742e2e466978656455313238247532302461732475323024636f72652e2e7374722e2e7472616974732e2e46726f6d537472244754243866726f6d5f7374723137686233663431386334333333613461313545901299015f5a4e313373705f61726974686d65746963313166697865645f706f696e74315f38385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f61726974686d657469632e2e66697865645f706f696e742e2e4669786564553132382447542439747970655f696e666f3137686265356337333835376436653561653145911285015f5a4e313373705f61726974686d65746963315f38315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f61726974686d657469632e2e41726974686d657469634572726f722447542439747970655f696e666f31376861386532616434343237616135393734459212ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376830346536626166633635306435613136459312ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376834343633333938663230343662313338459412ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f69746572313768653734333635376637623130666530304595124b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376831383966373735336262326630363030452e6c6c766d2e323939353339363732393838383836383732349612435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e65313768336166666331323962326138613237644597124c5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542431357472795f616c6c6f636174655f696e313768643263616137396330646663343366654598125a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c65313768323034633435383864353932623239644599124e5f5a4e313373705f61726974686d65746963313468656c706572735f31323862697439646f75626c6531323839446f75626c653132383364697631376831336330336530653434303562626534459a124b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376834386633343631663364653461643363452e6c6c766d2e383534353533313830393233303330323430309b125a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376836613539353163343436663334343463459c127b5f5a4e38385f244c542473705f636f72652e2e63727970746f5f62797465732e2e43727970746f4279746573244c54245f24432454244754242475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f31376861336435643534333633303664363133459d12ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f6974657231376831316232663161646562353339363831459e12af015f5a4e313773705f636f6e73656e7375735f61757261377372323535313931316170705f73723235353139315f39385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f6e73656e7375735f617572612e2e737232353531392e2e6170705f737232353531392e2e5075626c69632447542439747970655f696e666f31376833643862323661353339623338393962459f1284015f5a4e313873705f636f6e73656e7375735f736c6f7473315f37355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f6e73656e7375735f736c6f74732e2e536c6f742447542439747970655f696e666f3137683762356630353030663466313230303845a0128c015f5a4e313873705f636f6e73656e7375735f736c6f7473315f38335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f6e73656e7375735f736c6f74732e2e536c6f744475726174696f6e2447542439747970655f696e666f3137683761346662313433363862653431343945a1124b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376833346534333561303261346566663063452e6c6c766d2e39303830393130313536313736373838393133a212435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683533303338316161303264343661373145a3125a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686138636236393033383135316366303045a4123e5f5a4e3773705f636f72653131616464726573735f7572693130416464726573735572693570617273653137686461613836626530366534386661666145a5126e5f5a4e38305f244c542473705f636f72652e2e63727970746f2e2e4465726976654a756e6374696f6e247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54245424475424244754243466726f6d3137683866313434666265663331626664643345a6122f5f5a4e3773705f636f72653663727970746f3873733538686173683137686265656639633265386134666530313445a7125e5f5a4e36355f244c542473705f636f72652e2e63727970746f2e2e4163636f756e7449643332247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683037326333313066616634333533376345a8126b5f5a4e37335f244c542473705f636f72652e2e63727970746f2e2e536563726574557269247532302461732475323024636f72652e2e7374722e2e7472616974732e2e46726f6d537472244754243866726f6d5f7374723137683531623930643761373461303830633545a91283015f5a4e3773705f636f72653663727970746f315f37395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f72652e2e63727970746f2e2e4163636f756e74496433322447542439747970655f696e666f3137683061343533666433346335323064383345aa1281015f5a4e3773705f636f72653663727970746f315f37375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f72652e2e63727970746f2e2e4b65795479706549642447542439747970655f696e666f3137683161393731333139663665663437393945ab12475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686135653965393935353838663937353845ac12495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686466313563666266393336633837313945ad124a5f5a4e34355f244c54242452462454247532302461732475323024636f72652e2e666d742e2e4c6f7765724865782447542433666d743137683362393930396335383664613239373145ae12775f5a4e3773705f636f7265315f37345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f636f72652e2e4f70617175654d657461646174612447542439747970655f696e666f3137686539363562663831626637653131623745af12475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683665303731363463333262623533626245b0126a5f5a4e36345f244c542473705f636f72652e2e737232353531392e2e5061697224753230246173247532302473705f636f72652e2e63727970746f2e2e5061697224475424313566726f6d5f736565645f736c6963653137683133303662643466333766646632613045b1123f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683565366233336665646631353333373945b2125f5f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542431337573696e675f656e636f6465643137686462316131326331346135303266393345b3127e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683762303535313232313737373365333345b4127e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137686465613434343536623237656363373145b512475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686539323039376564646638306233666545b6125e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137683262616130326665333736626635643945b7128c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686265356237633964663738346538353845b812765f5a4e31307363686e6f72726b656c3664657269766534355f244c5424696d706c24753230247363686e6f72726b656c2e2e6b6579732e2e5365637265744b6579244754243237686172645f6465726976655f6d696e695f7365637265745f6b65793137683465616361656664646563356538643245b912305f5a4e346273353836656e636f64653131656e636f64655f696e746f3137683662633965306565316437376132626645ba126e5f5a4e35365f244c5424627335382e2e656e636f64652e2e4572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376866373066373533303734326330306137452e6c6c766d2e31303232303235393032313134323334373330bb12635f5a4e37305f244c542473705f636f72652e2e686578646973706c61792e2e486578446973706c6179247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683235306664653131383163373162656345bc12505f5a4e34636f726533707472343664726f705f696e5f706c616365244c5424616c6c6f632e2e7665632e2e566563244c5424753824475424244754243137686562336136653264653262366337346445bd126d5f5a4e34636f726533707472343964726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e46726f6d557466384572726f722447542431376835356433613730633430386132363835452e6c6c766d2e3133363134363337393535373235383935373232be12625f5a4e36305f244c5424245246246d7574247532302454247532302461732475323024627335382e2e656e636f64652e2e456e636f6465546172676574244754243131656e636f64655f776974683137686666343665383733343231313864643945bf12785f5a4e36355f244c5424616c6c6f632e2e737472696e672e2e46726f6d557466384572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376836643639666637353666386530633461452e6c6c766d2e3133363134363337393535373235383935373232c01280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683861343531306338396563333961393345c112ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683434653737343130386162336436613545c212ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137686664613362323963616266616666653345c3125e5f5a4e36355f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683566326235356565383365333065336445c4126e5f5a4e37325f244c5424616c6c6f632e2e7665632e2e566563244c5424753824475424247532302461732475323024627335382e2e656e636f64652e2e456e636f6465546172676574244754243131656e636f64655f776974683137683964366433363962623136633437396545c5124a5f5a4e3132626c616b6532625f73696d6436506172616d73346861736831376866646136323931643637363033323437452e6c6c766d2e37323431343734303331343530393832323432c612795f5a4e36375f244c5424636f72652e2e61727261792e2e54727946726f6d536c6963654572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376835356630373433313239313962386436452e6c6c766d2e37323431343734303331343530393832323432c7123b5f5a4e35616c6c6f6332726331355263244c54245424432441244754243964726f705f736c6f773137683739653662313565656363663032656545c812465f5a4e313673705f65787465726e616c6974696573313373636f70655f6c696d6974656436474c4f42414c365f5f696e69743137683039643461313339313334666138333145c9128c015f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f31376837313831653431626638626432616632452e6c6c766d2e39343930383033313339383637303132393739ca12755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683732646336336466356535646134326345cb1280015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683232636333333938343264363739663845cc127e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683531653561366435623061666132383345cd1280015f5a4e313273705f696e686572656e7473315f37375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f696e686572656e74732e2e496e686572656e74446174612447542439747970655f696e666f3137683237373832333138666130646463333245ce1288015f5a4e313273705f696e686572656e7473315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f696e686572656e74732e2e436865636b496e686572656e7473526573756c742447542439747970655f696e666f3137683431376335363235313535303736343245cf129e015f5a4e31307363616c655f696e666f35696d706c733130345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b24432456244754242447542439747970655f696e666f3137683863333930313761663432373438356645d012465f5a4e31387061726974795f7363616c655f636f64656335636f64656331396465636f64655f7665635f776974685f6c656e3137686237663630623534613236393866646245d112a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683161373362306232353831623237326445d212a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683566373639653536636636313266663745d312a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683634383339393032656665326465633745d412a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137683835396232303537393165346561306345d512a7015f5a4e3132355f244c542473705f72756e74696d655f696e746572666163652e2e706173735f62792e2e416c6c6f63617465416e6452657475726e4279436f646563244c5424542447542424753230246173247532302473705f72756e74696d655f696e746572666163652e2e7761736d2e2e46726f6d46464956616c756524475424313466726f6d5f6666695f76616c75653137686137353661653730303231313532383945d612495f5a4e35627974657335627974657331317374617469635f64726f7031376834346531366138636365343663393630452e6c6c766d2e37353731343934363333383530333632333231d7124a5f5a4e35627974657335627974657331327374617469635f636c6f6e6531376834616230626161646636616135313834452e6c6c766d2e37353731343934363333383530333632333231d8124e5f5a4e35627974657335627974657331367374617469635f69735f756e6971756531376863346532666436303833353765623363452e6c6c766d2e37353731343934363333383530333632333231d9124c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376836393135366434616634343463323264452e6c6c766d2e3134313637323738383337333636333232363437da12435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137686431303566643065366237356361333745db12775f5a4e38375f244c5424636f72652e2e726573756c742e2e526573756c74244c54245424432445244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137686261663863333037333730666439316145dc12485f5a4e3573705f696f346d697363323665787465726e5f686f73745f66756e6374696f6e5f696d706c73397072696e745f6865783137686632373031653738393038353062656645dd124a5f5a4e3573705f696f346d697363323665787465726e5f686f73745f66756e6374696f6e5f696d706c7331307072696e745f757466383137686466643732626365376334323434643445de124f5f5a4e3573705f696f346d697363323665787465726e5f686f73745f66756e6374696f6e5f696d706c73313572756e74696d655f76657273696f6e3137686630623066363130316361386336353245df12505f5a4e3573705f696f3663727970746f323665787465726e5f686f73745f66756e6374696f6e5f696d706c733134656432353531395f7665726966793137686661366534643363393232656330373045e012645f5a4e3573705f696f3663727970746f323665787465726e5f686f73745f66756e6374696f6e5f696d706c733334736563703235366b315f65636473615f7265636f7665725f636f6d707265737365643137683262633430333465623235653934616345e112525f5a4e3573705f696f3663727970746f323665787465726e5f686f73745f66756e6374696f6e5f696d706c733136737232353531395f67656e65726174653137686439363230313262636536643364666445e212505f5a4e3573705f696f3663727970746f323665787465726e5f686f73745f66756e6374696f6e5f696d706c733134737232353531395f7665726966793137683065356363313739336533363233636545e312455f5a4e3573705f696f376c6f6767696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c73336c6f673137683139373165333834376232306465326445e4124b5f5a4e3573705f696f376c6f6767696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c73396d61785f6c6576656c3137683133353034376666396232396238383445e512575f5a4e35355f244c5424582475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137683834303064336665646538383138626245e612425f5a4e35616c6c6f6333666d7436666f726d617431376835336131626131316561383861623630452e6c6c766d2e3135373934333630393739313939393036373738e71211727573745f626567696e5f756e77696e64e81280015f5a4e3573705f696f315f38385f244c5424696d706c24753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f64652475323024666f72247532302473705f696f2e2e4b696c6c53746f72616765526573756c7424475424366465636f64653137686634313234623936633164343364353945e91286015f5a4e3130315f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f64653137683134376332633032653337363762643745ea128c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686330383762383134643630323334333045eb12485f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7336617070656e643137686635383439356462303531376136316645ec12475f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7335636c6561723137686135353461366637326664653266383045ed124f5f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733132636c6561725f7072656669783137683935373232313664613464666265626145ee12555f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733138636f6d6d69745f7472616e73616374696f6e3137686662623662373266363335653563633945ef12485f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73366578697374733137683137613932326264626466343538353245f012455f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73336765743137683037333032343464623430633634303145f1124a5f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73386e6578745f6b65793137683962363733336530643264623834663045f212465f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7334726561643137686261643362663237653831386166396145f312575f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733230726f6c6c6261636b5f7472616e73616374696f6e3137683766613433303162636231393734373245f412465f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7334726f6f743137686532626138326363633330326535326345f512455f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73337365743137686564653334643232396561393734386345f612545f5a4e3573705f696f3773746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73313773746172745f7472616e73616374696f6e3137686531613934663064333031346234636145f712565f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7335636c6561723137683636373635363664343234306635636245f8125e5f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c733132636c6561725f7072656669783137686130643436326238366338636334396345f912575f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73366578697374733137686435393964373437613437356136303245fa12545f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73336765743137683836616662636137323734333531313845fb12595f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73386e6578745f6b65793137683662363562336532303031653837326345fc12555f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7334726561643137683230653735633330623566663464616445fd12555f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c7334726f6f743137686631336437613062376634376139373845fe12545f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73337365743137686261313462356235326465333336396345ff125e5f5a4e3573705f696f323164656661756c745f6368696c645f73746f72616765323665787465726e5f686f73745f66756e6374696f6e5f696d706c73313273746f726167655f6b696c6c313768333939653430316335633163656664334580134d5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733130626c616b65325f313238313768383532383832653731376633653061364581134d5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733130626c616b65325f323536313768643439336530386230393637376634664582134a5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733874776f785f313238313768653434393863646565633234313565364583134a5f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733874776f785f32353631376862396263386337626435383261303863458413495f5a4e3573705f696f3768617368696e67323665787465726e5f686f73745f66756e6374696f6e5f696d706c733774776f785f3634313768313262373163643363303735373364354585134f5f5a4e3573705f696f31346f6666636861696e5f696e646578323665787465726e5f686f73745f66756e6374696f6e5f696d706c7335636c656172313768653263633334316362646232326663354586134d5f5a4e3573705f696f31346f6666636861696e5f696e646578323665787465726e5f686f73745f66756e6374696f6e5f696d706c733373657431376836313532613636643336323330393866458713485f5a4e3573705f696f39616c6c6f6361746f72323665787465726e5f686f73745f66756e6374696f6e5f696d706c733466726565313768376537656536643732613562363464384588134a5f5a4e3573705f696f39616c6c6f6361746f72323665787465726e5f686f73745f66756e6374696f6e5f696d706c73366d616c6c6f63313768363534366265393933383663383135634589133f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376862316163393035376238303631666462458a13495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376837326166633366663238323361666533458b13495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376838316666346362323662316235616337458c13735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f646531376830316464393337666334363164346138458d13735f5a4e38335f244c5424636f72652e2e6f7074696f6e2e2e4f7074696f6e244c542454244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e4465636f646524475424366465636f646531376838383465343837633364666437393737458e13575f5a4e3573705f696f3474726965323665787465726e5f686f73745f66756e6374696f6e5f696d706c733233626c616b65325f3235365f6f7264657265645f726f6f7431376832346562616265316131333239383830458f1386015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f722447542434666f6c64313768666266663261383939333762316663314590138a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c64313768376236383930633331343933386134634591138a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c64313768383333323662636635633831306230634592138a015f5a4e3130335f244c5424616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424387472795f666f6c6431376862316564333766313131336437383761459313785f5a4e34636f726533707472363064726f705f696e5f706c616365244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65744d6574616461746149522447542431376838646165363834633137376438316537452e6c6c766d2e31363633303437383934353030393137313835349413f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f7075736831376832316135366563336131613637633966459513f6015f5a4e35616c6c6f633131636f6c6c656374696f6e7335627472656536617070656e643137385f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4f776e65642443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244754243962756c6b5f7075736831376839633333623432383866386230663131459613475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c61636531376830343636376666383934373063316533459713475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c61636531376832323765333765396534363862313463459813475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c61636531376835333234336330333363333962383837459913475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c61636531376835353938356136356536323732353165459a13475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c61636531376835396139636639336164616133326234459b13475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c61636531376837323864633236343430353237643531459c13475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c61636531376837343631326565633831666337333231459d13475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c61636531376838306639626530323334306365653832459e13475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c61636531376862646262626638346466656134363865459f13475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686564393330356462366164316635376345a013475f5a4e35616c6c6f63337665633136696e5f706c6163655f636f6c6c656374313866726f6d5f697465725f696e5f706c6163653137686638306265386636363939663432303245a113395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683733666434303338663137356334633245a213395f5a4e34636f726535736c69636534736f727436737461626c6535647269667434736f72743137683761393564333033623262393764313845a31393015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686664633866313661313932613334613645a413ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137683434343766376564663833646436386645a513ac015f5a4e3133365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b2443245624475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e46726f6d4974657261746f72244c5424244c50244b244324562452502424475424244754243966726f6d5f697465723137686338393532656262313234633031346245a61381015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683936356133626137633066373731383045a71381015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683931643938363738626237633036643345a813b7015f5a4e313473705f6d657461646174615f6972337631343133325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65744d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e50616c6c65744d65746164617461244754243466726f6d3137683466613562376664643263623738313745a913bb015f5a4e313473705f6d657461646174615f6972337631343133365f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e53746f72616765456e747279547970654952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e74727954797065244754243466726f6d3137683764353161636162326130383264366345aa13c3015f5a4e313473705f6d657461646174615f6972337631343134345f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e53746f72616765456e7472794d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631342e2e53746f72616765456e7472794d65746164617461244754243466726f6d3137683566316465343334636663386431666545ab13355f5a4e313473705f6d657461646174615f69723132696e746f5f76657273696f6e3137686630323861346336303338326138353445ac13305f5a4e313473705f6d657461646174615f697238696e746f5f7631343137683034623834623138376232353136653545ad13645f5a4e37305f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137686661316439343330666439626538353445ae1385015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683332623730623263316335316131343545af1385015f5a4e39385f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c5424542443244924475424244754243966726f6d5f697465723137683439313663616434616264393962336245b013465f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743132736f7274385f737461626c653137683862366636373239306335633731323845b113535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683633653066323130623738363038646245b213535f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743235696e73657274696f6e5f736f72745f73686966745f6c6566743137683963343639303832366438653039313145b313595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683561333838383465366537303838646145b413595f5a4e34636f726535736c69636534736f72743673686172656439736d616c6c736f72743331736d616c6c5f736f72745f67656e6572616c5f776974685f736372617463683137683936346139323935653061313534313845b513425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683333353561323464643533376363643845b613425f5a4e34636f726535736c69636534736f727436737461626c6539717569636b736f727439717569636b736f72743137683534346435643965656533333430666245b7135b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376831343963626165323039666665383934452e6c6c766d2e3130343238333335323038343132313134303534b8135b5f5a4e34636f726535736c69636534736f727436736861726564357069766f7431316d656469616e335f72656331376839393066623530306635363032636665452e6c6c766d2e3130343238333335323038343132313134303534b913b5015f5a4e313473705f6d657461646174615f6972337631353133305f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e4d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e52756e74696d654d65746164617461563135244754243466726f6d3137686134336262633061633064656233623645ba13b7015f5a4e313473705f6d657461646174615f6972337631353133325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65744d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631352e2e50616c6c65744d65746164617461244754243466726f6d3137683131636237396533363136613963336445bb13b7015f5a4e313473705f6d657461646174615f6972337631363133325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65744d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65744d65746164617461244754243466726f6d3137683862663562343830366361303038366645bc13bf015f5a4e313473705f6d657461646174615f6972337631363134305f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e52756e74696d654170694d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e52756e74696d654170694d65746164617461244754243466726f6d3137683734383263633662373565636630666645bd13cf015f5a4e313473705f6d657461646174615f6972337631363135365f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542473705f6d657461646174615f69722e2e74797065732e2e50616c6c65745669657746756e6374696f6e4d657461646174614952244754242475323024666f7224753230246672616d655f6d657461646174612e2e7631362e2e50616c6c65745669657746756e6374696f6e4d65746164617461244754243466726f6d3137686565666632323961333666366135303545be133e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137683364616536333836626230333738303445bf133e5f5a4e34636f726535736c69636534736f727436737461626c6531346472696674736f72745f6d61696e3137686464356165346638646339313133353045c01380015f5a4e313473705f6d657461646174615f69723376313636305f244c5424696d706c247532302473705f6d657461646174615f69722e2e74797065732e2e45787472696e7369634d657461646174614952244754243231696e746f5f7631365f776974685f63616c6c5f74793137683231386265623563373261326465303945c1134b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376832313966656230393063643533613933452e6c6c766d2e35333131363638303031343734323137383430c2135a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137683565333062333766393336613233316145c313445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683031343866646566666361323265343245c413445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683031383531363137663061383638393245c513445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683031663130646438353463666431313445c613445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683032643930306134396639373839366545c713445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683033356139303764306437343366653745c813445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683033636463373566386239343630656145c913445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683036366330306163393537653963663745ca13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683037353330616263636663663665343545cb13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683038333134303662353838326365316245cc13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683039663565353830616130386231383045cd13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683061313138303737656165303530303545ce13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683061326464353935303636623030373045cf13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683063303633656361636635316264616445d013445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683063373064356538646166353439363945d113445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683064616332326164646638666637343245d213445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683064653963656665316239333261633545d313445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683065623231366663383736316363616445d413445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683130306665326539353637366162373145d513445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683133616132326338366330663761646145d613445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683133623031636463353161326463326345d713445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134383366613333666435366665353845d813445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134386537393431626262316339393145d913445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683134626336386135373561623839643045da13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683135396262616532346137393532303945db13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683138353963313862326336393365333845dc13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683138376563353133346232643131333645dd13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683161353164653832656634663034646345de13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683161636137646430383333303662363645df13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683162326566393335636362653137323145e013445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683162646466623466393661346235353845e113445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683164313635386534316536613338346345e213445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683164343332396536643531633365383745e313445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683230626536303535646633373262613445e413445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683231613239336132346166363230633645e513445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683232316235333164363866613365373545e613445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683232356362313434353134313038383145e713445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683233356133356435616235343862623345e813445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683234303637653330373237396136323745e913445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683235326234633833653865393839663345ea13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683235396162393231666137656136346145eb13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683236363963656666643161623234306345ec13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683236636265613065323836313237396645ed13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683239656530306536323165323466386345ee13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683265616437653232303334366464656345ef13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683265663462383562316636613962656645f013445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683266386631663962643134323938313145f113445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683330303165363263393934376436346245f213445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683331353330386361386332303032353645f313445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683334366530356333316661336638636645f413445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683334623032343738643261316264323745f513445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683335646364333466653530363166623245f613445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683335646637383863326332396231393645f713445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683339383162356431636564376630396545f813445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683339613938383336656132613036616645f913445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683362303938613933366137383662333245fa13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683363313665373861396666656361346545fb13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683363363834383137663031663835626345fc13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683363636661336434323638313332613245fd13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683364366238613331626261646633333245fe13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683364383261333431363966383930396445ff13445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833653031623336656631613264323231458014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833653930633964316135366163663138458114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376833666234326231626337363166303433458214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834313565303436663265326566646631458314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834333261653335326431303435663065458414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834333766376463386530313133386163458514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834336335346665313666613832353764458614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834343461313665303263396136333563458714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834346135376365316264643538613638458814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834346234383561333064313064393732458914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834356330633036393432333432303731458a14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834356363666530656565346664343237458b14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834363364623231643261336530316565458c14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834366462376465326566373366353737458d14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834386130383838373135333661633334458e14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834613438323966616362343463336631458f14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834613932343238666366313339666234459014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834623233653336343362346632636566459114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834633231376336666364393862323066459214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834653534366436326631663732386134459314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376834663532393436623531376166326334459414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376835303138613839356234323530623364459514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376835303334643432373361373865623733459614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376835336331316135316638336465393038459714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376835343761353361653566306264373737459814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376835353231353932333261343031653834459914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376835366130333163383664306463303733459a14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376835386131393361303161383864353735459b14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376835393730313761353065313036366461459c14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376835643665333538633335316438663132459d14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376835653963313264386231633136613961459e14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376836323532383836623935653833373539459f14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683632386636623331386331643538663445a014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683633303637313638626138396135353245a114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683633626162633231636636313032363045a214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683634616233343431653931653231383745a314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683635653036303532653930346161333545a414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683636323762613139623661666334386645a514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683636353231663730613330636665373845a614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683638353236346437343032343439303645a714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683638666130613539366465636230333545a814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683639356635656362616537306364313245a914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683661663764363434663531653962393245aa14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683662306166326361663334366139323145ab14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683664356530373562366261366233383045ac14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683665643239616438626235636562666545ad14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683666323233316236636635336536656245ae14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683666373463396536373462393435393145af14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683666613735326538326361396563306645b014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683730636337666564353132393630366345b114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683732616630663938303466643466613745b214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683732646536323331306161313764383745b314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683734306638663737386336396531383645b414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683736386566353433303737363839623845b514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683737363563336336386135623931316145b614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683738363639393336656139623030343445b714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683738663737633362336465303461343345b814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683739343434613435633466333838666345b914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683739386434363364613864643331616245ba14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683763303263646565303238396138313845bb14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683764303133343565636631633032386145bc14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683766333766663964303634613330373245bd14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683766373035646233613232356433343245be14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683831653066636636633563613766656545bf14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683832313261353933366635323263383245c014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683836363839303430383538366436323845c114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683836636662643830313566613038616245c214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683837383234633638376134393531303745c314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683837616531653632303931343936393445c414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683838393831333030653663336662613945c514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683838393938373531363436353061336245c614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683861383362323433316533303931336445c714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683861383465636636633166316436633845c814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683863336433656666623631653637663745c914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683864626361336664366261663765633945ca14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683865333863383338636431396266346545cb14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683866353765393265383031313933643245cc14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683930373232373638303266303632386145cd14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683930383766643838313834636633656145ce14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683930656533373233386639366661303745cf14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683931653830383634636363383031656245d014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683932313330613235386432643639383245d114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683932386336383134663832353636323845d214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683932623737616161346534323332303845d314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683932666662636430623232633635626245d414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683933396363643936326631353463353745d514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683934613737306131636164323463633045d614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683934653766373430393362393262383545d714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683935643538643430313339663434313845d814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683937393564326330623535656462633945d914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683939356431633161323966623732343145da14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683961643564323633356139646135326545db14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683963313366323530383265366531316345dc14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683963343561666466393032353665353545dd14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683964303437653165623862363738323445de14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683964353065323535323532653462643945df14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137683964356266366633626433333663616345e014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686132313138653965663232363863383145e114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686133306437383236613264346463373745e214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686134333163613963346262306364333445e314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686136646438393562623432393034633945e414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686138633631303032666536366533323245e514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686139303463663766633537313936343445e614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686139366661353136666264323863633945e714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686161353432313565306363663037373845e814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686163323166306535313465333965393945e914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686163363132333331386366396231336145ea14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686164333663653861386664613831643145eb14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686165613536613466386338653835633445ec14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686166303135363439303036353064666445ed14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686166376464336161643331646532656645ee14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686230383732356531333937616663313245ef14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686231313835393839633231313735623245f014445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686231663366643736353333653333353345f114445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686232366339653733616166393764663845f214445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686232666661353032353739316561393245f314445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686233356538343236336336313966316545f414445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686233373130386232333064323363323445f514445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686233386333303965393832323236666245f614445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686233656331623030613065323037363245f714445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686237616131663763363064366130376645f814445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686237623237323434316436343665303545f914445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686239363738343562313933386133666445fa14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686239623838646535356432636537633545fb14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686261346235336439373938373033303545fc14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686261636533366462326639303238393145fd14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686262333163656235613933323130616345fe14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686264646239383338613065343463343245ff14445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862663036326464346362363962303963458015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862663463626334643330393066653165458115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376862663834313030633436623361653266458215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863316233646162363361663730303234458315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863326666313935653439343132663930458415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863343763356366383238653365633562458515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863353761626431653737343635366136458615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863353865626165353536363861643137458715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863356537366538343733393330353061458815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863373730316135353263626663663532458915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863373737356364646631633437613965458a15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863393435336634646465656131616661458b15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863613335656531343135396636383562458c15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863613936386166643131333534396563458d15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863613937613564323738666366376162458e15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863623333653166653037326463353065458f15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863643334306365636433396631666432459015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863653061323561616335383532363032459115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863656663366532383064663132313832459215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376863663738353661616631326264383031459315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376864303637636164343733343432363566459415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376864303735326230313233326232306563459515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376864303931333534643264323936323462459615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376864306533663162326630316662333165459715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376864313163333866363065623233323333459815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376864316331613162643163636638326130459915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376864323862663832343465623564613463459a15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376864333663633132366230656439393061459b15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376864336363633635313630303464626539459c15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376864343336343134636136373637306161459d15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376864343737656562343463353230323639459e15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e7431376864346134623563646661643839336264459f15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686435343562636532306163363837373945a015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686435356661633832623334313866336645a115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686435363262383164613334643136393445a215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686436323939643136653135613331316445a315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686437643539316462363463316230383045a415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686438373866373035383135336266393145a515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686439643861653965306165313037643145a615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686461613138643034613432646264666245a715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686461616331616364353936363164303045a815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686462303036316362393263653834346245a915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686462333661613333326334343136343345aa15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686462373263333837313833343231633845ab15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686464326261373639383961633532366245ac15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686464396236303736323664616265353745ad15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686464613164653231356564366432613245ae15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686530626461623862626366376531383645af15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686531663137393136333134646462356245b015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686532303964386262626362303762333345b115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686532333032326366353964663839653145b215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686532343863623632396531656435653445b315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686532386161363337313762626236663245b415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686532633464616239336133396263656345b515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686533306632666262303636316562386145b615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686533383837326539353865616433633945b715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686533386634353936313636366135666545b815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686535656631326339616361323838376145b915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686538363634656165636538363930363445ba15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686561326166393564633064316137373045bb15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686561653835393737303035346231656345bc15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686563306336303763636331386431326345bd15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686563326135373162633566343035386145be15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686564383237663661616364313330326645bf15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686564623039666437356235656465346645c015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686565663132393031303039326534646445c115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686566323562313061333164306132323245c215445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686566656166396261386339303034643945c315445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686632323133383065373061363339646545c415445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686632643466656637643163613438656545c515445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686634376436363933633734643937313545c615445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686635333862653237616261663330336545c715445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686636306566396366333361643465356245c815445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686637663366303634643434373238623045c915445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686638653139623363363738366165613245ca15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686661306636386164356136323036303045cb15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686662333566626565376138646139353345cc15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686662353364353963653331333131663545cd15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686662663039646633656634393736633845ce15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686663383263613533366535663663303745cf15445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686663393935316361343562323236616345d015445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686665316131623430396666383135346545d115445f5a4e31307363616c655f696e666f356275696c64313756617269616e7473244c542446244754243776617269616e743137686665373437393431663835623438333845d215735f5a4e38305f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137686231356162626432336239313466656445d3153f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683333386663666162626163313832353245d415425f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646539656e636f64655f746f3137686464616230663238366663356330616545d5153f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f64653137683566396630386264363565353061386145d61580015f5a4e39365f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d5265662475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137683061343134343663653132323938613645d7157d5f5a4e39335f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d2475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542436656e636f64653137683633376237316164343063636166333545d815695f5a4e37305f244c542473705f72756e74696d652e2e67656e657269632e2e6572612e2e4572612475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137683331323134616134646635633639306445d91580015f5a4e39305f244c542473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573744974656d24753230246173247532302473705f72756e74696d652e2e7472616974732e2e436865636b457175616c244754243131636865636b5f657175616c3137683430613633353233613634633237323745da1596015f5a4e313073705f72756e74696d653767656e6572696336646967657374315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e67656e657269632e2e6469676573742e2e4469676573742447542439747970655f696e666f3137683739386531653938336234623631343145db1595015f5a4e313073705f72756e74696d65313270726f76696e675f74726965315f38365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e70726f76696e675f747269652e2e547269654572726f722447542439747970655f696e666f3137683432636631363063306464333762383745dc158c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137683366643136363936333230326566306445dd15495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683665353139623736303064633665663945de157b5f5a4e38385f244c542473705f636f72652e2e63727970746f5f62797465732e2e43727970746f4279746573244c54245f24432454244754242475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137683432636363306336313661643065633545df157b5f5a4e38385f244c542473705f636f72652e2e63727970746f5f62797465732e2e43727970746f4279746573244c54245f24432454244754242475323024617324753230247363616c655f696e666f2e2e54797065496e666f2447542439747970655f696e666f3137686236613463613035393364373433656445e015595f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479313656616c69645472616e73616374696f6e3132636f6d62696e655f776974683137683630653933323734363266333435666345e1158a015f5a4e313073705f72756e74696d6536747261697473315f38325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616974732e2e426c616b6554776f3235362447542439747970655f696e666f3137683630663238656338343261373263646545e215af015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e496e76616c69645472616e73616374696f6e2447542439747970655f696e666f3137686564633761386366326165623330386145e315af015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e556e6b6e6f776e5472616e73616374696f6e2447542439747970655f696e666f3137683830373934663530623563633966663145e4157c5f5a4e39355f244c542473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e5472616e73616374696f6e56616c69646974794572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683764653036666565656366643066386345e515b5015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130395f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e5472616e73616374696f6e56616c69646974794572726f722447542439747970655f696e666f3137683539366564363838666139303165663245e615ae015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e5472616e73616374696f6e536f757263652447542439747970655f696e666f3137683938373061633632663335616265373445e715ad015f5a4e313073705f72756e74696d6532307472616e73616374696f6e5f76616c6964697479315f3130315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e7472616e73616374696f6e5f76616c69646974792e2e56616c69645472616e73616374696f6e2447542439747970655f696e666f3137686331326530383566326434383030643545e81580015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683262383337326631303065633062343445e91580015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137686362613765386339333663633461326445ea1580015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683732633639366330396239333562643845eb15ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683463323930303065633731343830626345ec15ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683530333462623032313164306636393645ed15ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683534316364626564373062613730303745ee157e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137683133306135633830303862633938613845ef15305f5a4e34636f726533666d743557726974653977726974655f666d743137683036663263313064633139383630336545f0154c5f5a4e34636f726533707472343264726f705f696e5f706c616365244c5424616c6c6f632e2e737472696e672e2e537472696e67244754243137683265656630613766333862633339303745f1155f5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e577269746524475424313077726974655f636861723137686261356632333433323063373033646545f2155a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686662616263353664323661646264303545f3155d5f5a4e35385f244c5424616c6c6f632e2e737472696e672e2e537472696e67247532302461732475323024636f72652e2e666d742e2e5772697465244754243977726974655f7374723137686338313539386563386234376134313945f4154c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376838303036616134663666653737386630452e6c6c766d2e3133383431343031373833393037383935363039f515435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683734643039313033376463396631363445f61581015f5a4e37305f244c542473705f72756e74696d652e2e72756e74696d655f6c6f676765722e2e52756e74696d654c6f676765722475323024617324753230246c6f672e2e4c6f672447542437656e61626c656431376863313265303631613466613863373535452e6c6c766d2e3133383431343031373833393037383935363039f715635f5a4e37305f244c542473705f72756e74696d652e2e72756e74696d655f6c6f676765722e2e52756e74696d654c6f676765722475323024617324753230246c6f672e2e4c6f6724475424336c6f673137683639303764343430373437393162643145f8157f5f5a4e37305f244c542473705f72756e74696d652e2e72756e74696d655f6c6f676765722e2e52756e74696d654c6f676765722475323024617324753230246c6f672e2e4c6f672447542435666c75736831376838646334393532323264363566666633452e6c6c766d2e3133383431343031373833393037383935363039f9157e5f5a4e313073705f72756e74696d65315f37375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e4d756c74695369676e61747572652447542439747970655f696e666f3137683964306135623966396438383134333145fa157b5f5a4e313073705f72756e74696d65315f37345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e4d6f64756c654572726f722447542439747970655f696e666f3137683135313464656433376464393930623445fb1582015f5a4e313073705f72756e74696d65315f38315f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e5472616e73616374696f6e616c4572726f722447542439747970655f696e666f3137683034373735663832636332333536336645fc157d5f5a4e313073705f72756e74696d65315f37365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e44697370617463684572726f722447542439747970655f696e666f3137683631303436623161656335356163336145fd157a5f5a4e313073705f72756e74696d65315f37335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e546f6b656e4572726f722447542439747970655f696e666f3137686666326135313232643339633535613045fe1586015f5a4e313073705f72756e74696d65315f38355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f72756e74696d652e2e45787472696e736963496e636c7573696f6e4d6f64652447542439747970655f696e666f3137683263303961326631393636363661363445ff159c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683665653637306234626336643733303145801692025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c6974313768666464353331393537643766626461614581169c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137683937356636346235303064666131346145821692025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c6974313768383434353431653538646330313639374583169c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686139633437633935363066383338626345841692025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c6974313768303937396466633832343832336539324585169c025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313048616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e45646765244754243136696e736572745f726563757273696e673137686232376566636434623361363638633345861692025f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f646532313248616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b56244754243573706c697431376866343463373130303237393036363666458716655f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313562756c6b5f737465616c5f6c65667431376839613332636538353163343635636335458816665f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b2443245624475424313662756c6b5f737465616c5f7269676874313768646563663634306566636330303962334589165d5f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565346e6f6465323942616c616e63696e67436f6e74657874244c54244b244324562447542438646f5f6d6572676531376839313635313631663066663531323166458a16cd025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653235395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c65616624475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313472656d6f76655f6c6561665f6b7631376830303062363737383332303939656536458b16db025f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653672656d6f76653236395f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e48616e646c65244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4d75742443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c24475424244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4b562447542424475424313872656d6f76655f6b765f747261636b696e6731376861626333376233636465343939333964458c16d5015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565367365617263683134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c244754242447542431317365617263685f7472656531376834323438363939356239306162366431458d16d5015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565367365617263683134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c244754242447542431317365617263685f7472656531376835636337663234313033653936326363458e16ac015f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653673656172636839315f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324547970652447542424475424323266696e645f6c6f7765725f626f756e645f696e64657831376861383231323332333461336365393534458f16ac015f5a4e35616c6c6f633131636f6c6c656374696f6e733562747265653673656172636839315f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324547970652447542424475424323266696e645f75707065725f626f756e645f696e64657831376834653934356338626561383031616463459016ea015f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565386e617669676174653134325f244c5424696d706c2475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e4e6f6465526566244c5424426f72726f77547970652443244b24432456244324616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6e6f64652e2e6d61726b65722e2e4c6561664f72496e7465726e616c2447542424475424333066696e645f6c6561665f65646765735f7370616e6e696e675f72616e6765313768323130353666336335343331363366654591163f5f5a4e31387061726974795f7363616c655f636f64656335636f64656336456e636f646536656e636f646531376865646137646134666538316137313237459216475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376839336561376563363436376462643939459316475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d74313768623333306366333764373834316238394594165e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d7431376832626161303266653337366266356439459516775f5a4e36355f244c5424736d616c6c7665632e2e436f6c6c656374696f6e416c6c6f63457272247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376830613465333538353762636336333939452e6c6c766d2e343733303232323337323634333630333836309616635f5a4e36395f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f70313768646366636466396561313932663062334597164a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b6564313768316330333636653761346133363032394598164a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b656431376863313439643664323633633833383934459916635f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573386f6666636861696e32344f6666636861696e4f7665726c617965644368616e6765733373657431376835633362376435633131386165663864459a16625f5a4e36395f244c542473705f73746174655f6d616368696e652e2e44656661756c744572726f72247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d7431376865396637393430363362376138396535459b165a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376830633030663535613433373763393361459c164c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376839643732303162313531323537626133452e6c6c766d2e31353631383232333439363035323334353137389d16435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e6531376830343961333430363631303434633261459e169e015f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e676573657438324f7665726c61796564456e747279244c542473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e53746f72616765456e747279244754243373657431376862646463633463646366343438643865459f166f5f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e676573657432354f7665726c617965644d6170244c54244b244324562447542431327365745f6f6666636861696e3137686134643138653162646363346637626245a016e2015f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e67657365743130384f7665726c617965644d6170244c5424616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e53746f72616765456e747279244754243137636c6f73655f7472616e73616374696f6e31376863333630323038303861393433336532452e6c6c766d2e3138323730303739323437383139323532363639a116b9015f5a4e313673705f73746174655f6d616368696e6531376f7665726c617965645f6368616e676573396368616e67657365743130384f7665726c617965644d6170244c5424616c6c6f632e2e7665632e2e566563244c542475382447542424432473705f73746174655f6d616368696e652e2e6f7665726c617965645f6368616e6765732e2e6368616e67657365742e2e53746f72616765456e74727924475424337365743137683732636661363837666338383035316645a21693015f5a4e3131365f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e6974657261746f722e2e4974657261746f7224475424346e6578743137686264326165336665656534383531623945a316565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137683062343530363964306263303338313545a416565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b24432456244324412447542436696e736572743137686639313566326663376162383031646445a516565f5a4e35616c6c6f633131636f6c6c656374696f6e73356274726565336d6170323542547265654d6170244c54244b2443245624432441244754243672656d6f76653137686331326331383161366634653066656245a61681015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e42547265654d6170244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683136383034336433313166386432316545a71681015f5a4e39395f244c5424616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e6d61702e2e496e746f49746572244c54244b244324562443244124475424247532302461732475323024636f72652e2e6f70732e2e64726f702e2e44726f70244754243464726f703137683933323937373934386539356664356645a8164c5f5a4e313673705f73746174655f6d616368696e6533657874313353746f72616765417070656e6431347265706c6163655f6c656e6774683137683433633631626135666534613830633245a9164c5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376836383061333237326463656438343135452e6c6c766d2e3133323134323735353234303331303339373832aa16745f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376832316662656462656438636361363361452e6c6c766d2e3133323134323735353234303331303339373832ab16435f5a4e313073705f73746f72616765394368696c64496e666f323070726566697865645f73746f726167655f6b65793137683962363363306136373031383464666345ac168c015f5a4e3130345f244c54247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374526566244c5424753332244754242475323024617324753230247061726974795f7363616c655f636f6465632e2e636f6465632e2e456e636f64652447542439656e636f64655f746f3137686336646234626632336362363036326245ad16b4015f5a4e31307363616c655f696e666f35696d706c733130305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e636f6c6c656374696f6e732e2e62747265652e2e7365742e2e4254726565536574244c542454244754242447542439747970655f696e666f31376832366531346462656134643739616639452e6c6c766d2e3131343234393733393535333632383235353139ae164b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376831643635626563346230626162646137452e6c6c766d2e36383939323535333234393737363837353332af16435f5a4e35616c6c6f63377261775f7665633139526177566563244c54245424432441244754243867726f775f6f6e653137683532353666386163323832616430356145b0165a5f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c653137686239323465343530633735366539333945b116705f5a4e37345f244c542473705f747269652e2e747269655f73747265616d2e2e5472696553747265616d247532302461732475323024747269655f726f6f742e2e5472696553747265616d244754243131617070656e645f6c6561663137683233636539373632386131323630353045b21693015f5a4e3773705f74726965313373746f726167655f70726f6f66315f38375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f747269652e2e73746f726167655f70726f6f662e2e53746f7261676550726f6f662447542439747970655f696e666f3137683865653437303436333431356635333945b316735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137683662373438303537396164626539326645b41680015f5a4e31307363616c655f696e666f35696d706c7337355f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e7665632e2e566563244c542454244754242447542439747970655f696e666f3137683330653231373166323263666161323245b516ad015f5a4e3133375f244c5424616c6c6f632e2e7665632e2e566563244c54245424475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f66726f6d5f697465722e2e5370656346726f6d49746572244c542454244324616c6c6f632e2e7665632e2e696e746f5f697465722e2e496e746f49746572244c5424542447542424475424244754243966726f6d5f697465723137683933646330333631653633663630323145b61687015f5a4e39375f244c5424616c6c6f632e2e7665632e2e566563244c5424542443244124475424247532302461732475323024616c6c6f632e2e7665632e2e737065635f657874656e642e2e53706563457874656e64244c5424542443244924475424244754243131737065635f657874656e643137686464646263313832616634393731623545b716735f5a4e31307363616c655f696e666f35696d706c7336325f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302424753562245424753564242447542439747970655f696e666f3137686261303165613661653464303866643845b816755f5a4e31307363616c655f696e666f35696d706c7336345f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024244c50244124432442245250242447542439747970655f696e666f3137683532626461613832643334326430666145b9167e5f5a4e31307363616c655f696e666f35696d706c7337335f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024247535622454247533622424753230244e24753564242447542439747970655f696e666f3137686639373835663834326430356535323445ba1683015f5a4e31307363616c655f696e666f35696d706c7337385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f72726f772e2e436f77244c542454244754242447542439747970655f696e666f3137683266306365336239376661356539316245bb1683015f5a4e31307363616c655f696e666f35696d706c7337385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f722475323024616c6c6f632e2e626f72726f772e2e436f77244c542454244754242447542439747970655f696e666f3137683466356161323032333337316537366445bc167e5f5a4e313073705f76657273696f6e315f37375f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f76657273696f6e2e2e52756e74696d6556657273696f6e2447542439747970655f696e666f3137683163386138613233306565396132316545bd1695015f5a4e31307363616c655f696e666f35696d706c7339365f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f7224753230247061726974795f7363616c655f636f6465632e2e636f6d706163742e2e436f6d70616374244c542454244754242447542439747970655f696e666f3137686363616163363030633832613231343545be16615f5a4e36385f244c542473705f776569676874732e2e7765696768745f76322e2e576569676874247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137683430626165623064376464393634363445bf168b015f5a4e313073705f77656967687473397765696768745f7632315f38305f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f776569676874732e2e7765696768745f76322e2e5765696768742447542439747970655f696e666f3137683964613431373239396162636630383145c0167f5f5a4e313073705f77656967687473315f37385f244c5424696d706c24753230247363616c655f696e666f2e2e54797065496e666f2475323024666f72247532302473705f776569676874732e2e52756e74696d6544625765696768742447542439747970655f696e666f3137683935643661623033373063386532333045c116475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683835616234633833623832393037333845c216355f5a4e34636f72653970616e69636b696e6731336173736572745f6661696c65643137683966623166323164623166633832356645c316295f5a4e34686d616331316765745f6465725f6b65793137686663343231326433363937626138656345c416735f5a4e35616c6c6f63377261775f7665633230526177566563496e6e6572244c5424412447542437726573657276653231646f5f726573657276655f616e645f68616e646c6531376838303738636237613162346231613332452e6c6c766d2e32333531383938353536383733313139383334c5164b5f5a4e35616c6c6f63377261775f766563313166696e6973685f67726f7731376861663630663436393538303661323262452e6c6c766d2e32333531383938353536383733313139383334c6163b5f5a4e31357375627374726174655f62697033393137736565645f66726f6d5f656e74726f70793137683361393764383366663737316536656245c716285f5a4e36737562746c6539626c61636b5f626f783137686538333937386337636631653961326145c816a6015f5a4e3133335f244c5424736d616c6c7665632e2e536d616c6c566563244c54244124475424247532302461732475323024636f72652e2e697465722e2e7472616974732e2e636f6c6c6563742e2e457874656e64244c5424244c542441247532302461732475323024736d616c6c7665632e2e4172726179244754242e2e4974656d244754242447542436657874656e643137683166636139363661316530313133653745c916545f5a4e38736d616c6c7665633137536d616c6c566563244c54244124475424387472795f67726f7731376862663866383061663535306238313663452e6c6c766d2e363434303432323635313532313435353530ca164a5f5a4e38736d616c6c7665633137536d616c6c566563244c542441244754243231726573657276655f6f6e655f756e636865636b65643137683839386334643239333037373365613545cb16475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137683866393666393638663666323361346145cc16475f5a4e34325f244c54242452462454247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d743137686535316564323233376333313530356245cd16495f5a4e34345f244c54242452462454247532302461732475323024636f72652e2e666d742e2e446973706c61792447542433666d743137686565303466643461643938633364373645ce165e5f5a4e34636f726533666d74336e756d35325f244c5424696d706c2475323024636f72652e2e666d742e2e44656275672475323024666f7224753230247573697a652447542433666d743137683262616130326665333736626635643945cf16525f5a4e35616c6c6f633473796e633136417263244c542454244324412447542439646f776e6772616465313870616e69635f636f6c645f646973706c61793137683638316436363834613834613337363545d0163e5f5a4e35616c6c6f633473796e633136417263244c54245424432441244754243964726f705f736c6f773137683366663136363134333930383839393445d116765f5a4e36355f244c5424736d616c6c7665632e2e436f6c6c656374696f6e416c6c6f63457272247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376830613465333538353762636336333939452e6c6c766d2e363434303432323635313532313435353530d2167a5f5a4e36395f244c5424636f72652e2e616c6c6f632e2e6c61796f75742e2e4c61796f75744572726f72247532302461732475323024636f72652e2e666d742e2e44656275672447542433666d7431376865646636613236353735633230373033452e6c6c766d2e363434303432323635313532313435353530d316335f5a4e37747269655f6462346e6f6465384e6f6465506c616e356275696c643137686437313632393835303230383930336545d416d2015f5a4e37747269655f6462366e6962626c65396e6962626c657665633135345f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c542424524624747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754242475323024666f722475323024244c50247573697a65244324736d616c6c7665632e2e536d616c6c566563244c54242475356224753824753362242475323024343024753564242447542424525024244754243466726f6d3137683637373165333835626333343938323545d5166d5f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c6963652447542439746f5f73746f7265643137686331366664343138383439333263323145d616745f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c696365244754243135746f5f73746f7265645f72616e67653137686237343561653366346361353335303045d716725f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c696365244754243133636f6d6d6f6e5f7072656669783137683133396537643737313964663364336645d8166f5f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c69636524475424313072696768745f697465723137683238356163346135373861333438623045d916745f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636534365f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c6963652447542431357374617274735f776974685f7665633137683362343463353963383236626334303445da16aa015f5a4e37747269655f6462366e6962626c6531316e6962626c65736c6963653131335f244c5424696d706c2475323024636f72652e2e636d702e2e5061727469616c4571244c5424747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754242475323024666f722475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c696365244754243265713137686637363330323136663433623133633545db1682015f5a4e37747269655f6462366e6962626c6531316e6962626c65736c69636537335f244c5424696d706c2475323024636f72652e2e636d702e2e4f72642475323024666f722475323024747269655f64622e2e6e6962626c652e2e4e6962626c65536c6963652447542433636d703137683039343237393234323139336263663445dc166a5f5a4e37747269655f6462366e6962626c65396e6962626c6576656334345f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c6556656324475424313064726f705f6c617374733137683631396330313462386638323162383345dd16655f5a4e37747269655f6462366e6962626c65396e6962626c6576656334345f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c655665632447542436617070656e643137683337306566393566646432623538376445de166e5f5a4e37747269655f6462366e6962626c65396e6962626c6576656334345f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754243134617070656e645f7061727469616c3137683834376432333431316335373337663545df1680015f5a4e37747269655f6462366e6962626c65396e6962626c6576656334345f244c5424696d706c2475323024747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754243332617070656e645f6f7074696f6e616c5f736c6963655f616e645f6e6962626c653137683335363564613733303834333832613145e016a8015f5a4e37747269655f6462366e6962626c65396e6962626c657665633131325f244c5424696d706c2475323024636f72652e2e636f6e766572742e2e46726f6d244c5424747269655f64622e2e6e6962626c652e2e4e6962626c65536c696365244754242475323024666f722475323024747269655f64622e2e6e6962626c652e2e4e6962626c65566563244754243466726f6d3137686137376633643666396233666165303045e116365f5a4e37747269655f6462397472696564626d75743131636f6d62696e655f6b65793137683938343239306562366134383261316645e2163c5f5a4e37747269655f6462366e6962626c6531306e6962626c655f6f70733973686966745f6b65793137683930336538386462346131303231303945e3166c5f5a4e37385f244c5424747269655f64622e2e4279746573247532302461732475323024636f72652e2e636f6e766572742e2e46726f6d244c54242452462424753562247538247535642424475424244754243466726f6d3137683264383261326133383434316335393345e416095f5f6c736872746933e516355f5a4e3137636f6d70696c65725f6275696c74696e73336d656d366d656d6370793137686233633537346631656637613566323245e616365f5a4e3137636f6d70696c65725f6275696c74696e73336d656d376d656d6d6f76653137683132336363363839643236663238353145e716355f5a4e3137636f6d70696c65725f6275696c74696e73336d656d366d656d7365743137683233323931633166636563613766353345e816355f5a4e3137636f6d70696c65725f6275696c74696e73336d656d366d656d636d703137686565376566613931666664633237316545e916066d656d637079ea16515f5a4e3137636f6d70696c65725f6275696c74696e7333696e7431397370656369616c697a65645f6469765f72656d3132753132385f6469765f72656d3137686461356665303366653364386262303145eb16066d656d736574ec16076d656d6d6f7665ed16066d656d636d70ee16095f5f75646976746933ef16095f5f6173686c746933f0163d5f5a4e3137636f6d70696c65725f6275696c74696e7333696e743475646976395f5f756469767469333137683330313936613438303938616266633745f116085f5f6d756c746933f2163e5f5a4e3137636f6d70696c65725f6275696c74696e7333696e74357368696674395f5f6173686c7469333137686134346337623234633834306636396345f3163e5f5a4e3137636f6d70696c65725f6275696c74696e7333696e74357368696674395f5f6c7368727469333137683934353838363661346662393633306445071201000f5f5f737461636b5f706f696e74657209170300072e726f6461746101052e6461746102042e627373003d0970726f647563657273010c70726f6365737365642d6279010572757374631d312e38362e30202830356639383436663820323032352d30332d333129", - "patch": { - "aura": { - "authorities": [ - "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", - "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", - "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", - "5DAAnrj7VHTznn2AWBemMuyBwZWs6FNFjdyVXUeYum3PTXFy", - "5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw", - "5CiPPseXPECbkjWCa6MnjNokrgYjMqmKndv2rSnekmSK2DjL" - ] - }, - "balances": { - "balances": [ - [ - "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", - 1152921504606846976 - ], - [ - "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", - 1152921504606846976 - ], - [ - "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", - 1152921504606846976 - ], - [ - "5DAAnrj7VHTznn2AWBemMuyBwZWs6FNFjdyVXUeYum3PTXFy", - 1152921504606846976 - ], - [ - "5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw", - 1152921504606846976 - ], - [ - "5CiPPseXPECbkjWCa6MnjNokrgYjMqmKndv2rSnekmSK2DjL", - 1152921504606846976 - ], - [ - "5GNJqTPyNqANBkUVMN1LPPrxXnFouWXoe2wNSmmEoLctxiZY", - 1152921504606846976 - ], - [ - "5HpG9w8EBLe5XCrbczpwq5TSXvedjrBGCwqxK1iQ7qUsSWFc", - 1152921504606846976 - ], - [ - "5Ck5SLSHYac6WFt5UZRSsdJjwmpSZq85fd5TRNAdZQVzEAPT", - 1152921504606846976 - ], - [ - "5HKPmK9GYtE1PSLsS1qiYU9xQ9Si1NcEhdeCq9sw5bqu4ns8", - 1152921504606846976 - ], - [ - "5FCfAonRZgTFrTd9HREEyeJjDpT397KMzizE6T3DvebLFE7n", - 1152921504606846976 - ], - [ - "5CRmqmsiNFExV6VbdmPJViVxrWmkaXXvBrSX8oqBT8R9vmWk", - 1152921504606846976 - ] - ] - }, - "parachainInfo": { - "parachainId": 100 - }, - "sudo": { - "key": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" - } - } - } - } -} \ No newline at end of file diff --git a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/warp-sync-relaychain-spec.json b/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/warp-sync-relaychain-spec.json deleted file mode 100644 index a903cd475124a..0000000000000 --- a/cumulus/zombienet/zombienet-sdk/tests/zombie_ci/warp-sync-relaychain-spec.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "name": "Rococo Local Testnet", - "id": "rococo_local_testnet", - "chainType": "Local", - "bootNodes": [ - "/ip4/127.0.0.1/tcp/30333/p2p/12D3KooWLYtaBHWV4AjKRFMeEp4zNRa3P7T1gKuseXssjr98sMge" - ], - "telemetryEndpoints": null, - "protocolId": "dot", - "properties": null, - "forkBlocks": null, - "badBlocks": null, - "lightSyncState": null, - "codeSubstitutes": {}, - "genesis": { - "runtimeGenesis": { - "code": "0x52bc537646db8e0528b52ffd00585c0d067eb6c8971c581040094dd2015149bb9f48686b953fc8c488a0536b2ad9dfa79ca1d94f20eaf4ececec946ee5699a068bfe56c67bdc0047f3ae572473b1ddb8aa0e40a7610cdcf90e953ac64d0e8b2214008010698d10d21a2184ec2df70e6a21ee1afe19de2b9973cef5b369d905ec7d362d4bc1de67d3320cd8fb6c9af7a6da91135772e28f8c2a71bd4766206c0fd2b02327aee4c4532c62717d5337354746555c6fc9d934fa2902a9d7368dbea99bbaa99b7a16f5851af124b2f268d5019c45f998bbed9afdfcec9af7794b864de30ecea4716ac9a004ee77073b326c1af726c7a671a7e208147f4de37e63cc3a98fbf7fafc61eeb2aef5b9834dd6eb74cd366d9e3b50d79ed8d3739f2210faa66e72e2290e81aa87e1eaeaea0a7f178ceb200da708040cd66dae7bcbf2ee6c88f7be77674128b69f09f964c0f6145bfce1beb321defbdea5a298ded9b4f97e561454fdc4d90a67fbfaa6eec889411a4eb1087ddfdca76f6a908653b46feaa66eea8e9c78167117ea7812dda895edd6019c5da3787e768dde7e76adcf1d8ccdae513c6fbb36f13c189b5d9b787e76adde7e76adcf1d6c1148bd25b3c5f31c993f3c0f5672d29b17b450d3b489fb3f2f787135932606695849fa29f69b1aecd092d9e2798ecc1f9e9ff3e6052dd0346d62ee3f496830da73af07b9d092d9e2798ecc1f9e9f62bd93debca0859aa64ddc6f6a8e9c4dab073bace4a4372f68a1a66913f77f5ef0e26a264d0cd6b092f453ec37f514edfd9a56dfd45304629b56dfd44dddd4532461e27e5337b555d3ce019c3d46fa7970228dfd29ce37f5dc0167513eeedbaed5cfcfaed9cf57326c5a1f9c4923fdd8b47ed8b4fe1447a0f86b5abfa96f8c5907f7ed29ce1feecbbac6bd0f7224c53a5db34d9bef0375adbe3f4520f54dcd9113833369a49f78e2299a30b1bdb3211fb6ffb0bdb321dcedb94b4571bdbd99e27a67d3e69b7a16f5853a9e4456965224c059659ccf1fa61f7bc9dae8bfae4dadab25307dd8358ae9655d9b987e16d10b753c89ac28ad81b3de844d7bd3e8413cb5aeb060a0a6d14f1f70d69bb0696f1a3d87a7d6d515066a1afdf401c1396f5ed0024dd326b64d9b9f2290d9b4f9a69e4049b2b0428cb9e195a48b2458242993848a2456244141922a9268257922c907929420c998242748e24412289290490282242448124512132419419210b8906402493a90242b890592542089114928904402498e48a28124194822260906922441b7244122c905920491e40149aeacc0c50a65247140921956a0c10a3758e18c240d48626505325648b342172ba859c1cc0a56ac70c50a1a5881022bd8b0c20d2b2c6005063899a1820d54a0810a65a87086d3124e2770ea80d3960a3570aa8013192707385971d272e28013134e599c6e70ba8113065460a3c20d54084305335420810a5a3865a950850a6754d8729281130d54a04205275490810a2750c18c530b5448810a573869a1020c9cd838a551010ba7319c56e024860a62a8208593124e16702243852c54004385299c62a0c20854b0c209062a3ca1020a9c34e07484130b9cd0386d4085324e6b9c66e064c6c98a146e48c1012934200506a460430a5a52c8920216146c80420d5028030518a040060a334021062868810215288081821728b020852b145c608406289c41a10d0a6850d82285195058010a2a40e10b14c610c012486e80c40c24364052032465206183840648b44092022467906481040548b040624600342099011219202103490c90a041a20201c820802b246d909c81e40a245620a902090c908c81640d1231908481040c245f20f1024917485e80440d122e046005491448b6909c400057907c00c9089084000908906821f100920b20c9001224901481a403488e4092041223907041e2039208200183040824629058004917243f20e10189172438205102c910482080240b490e48664022c3911b1c39e3880d8e9071a4064764706406476270c48b232b38f2c511161cd9e2081747d41c71c111308ea4e0c899236b8e8c71848a23698e943952c591298e3c71848923648e3ce0081448c21ce9c091258e70e0c8058e6ce0c81147903822e648088e681d21c191208e80e048048e1071c403478a380281235e8ef8708487235c8ee8700487235b8e6839c28023598edc708486235847b018f162840a235518b1c2881446c230a28511318c943162c608098c3c61848c11278c1c614409231a3072012362e80d462c6024093ac414234518814091171459018e1a707431418c1f2430210c13c83001055d17dd16dd0964603a33262cd15d31c48c091de87c30e10b4d8c094098d083095d4cb841c70f3a1e50820e425820c40a214ed82b88ac80c812403040a402dd0c52c022d203111e382788d840640144b08678a114460904442c60c4021d5b8644f1a3879e2d4834183d6194c6080a2235809082ae0623293a08c3e8042144c0686bc80db2051001c23a41a4881b2808009b00d0a0e6835116257821b2011d45e490c148ab478b8f12f4d0c2a34400ae745b4a33e0e9808e30dc097a6c0821081d11e8ce9400840e1e94daf81881911521086139a083881a1625ecd0bd40c70e3abee8104287048caeb0252092a574834e0a6c8651191088084016a3286a5a6a36d42a847821e405425620440b2159083123a40a215308d912028510130829819011080981102d214c08a961470f416010644d9030827c11a48b206a826c11448a1d5d806401040b205700910248096a19105050cd742ed051820ecafca0e2c7193f6af0630c90ab1f37f861c68f3170961f30c035fc200363fd588319f0430678013f62f0430cac05d32054811f61fcb0c10f0dfcc8c00f276e64d1d482a61508a142880a68591f78f141183abcd41d52d0a1f680cfa80d40210ba014f478808d4bb5410819780cec858e218e3881c481252d7e6ca0294d130b905ce9314d2ac011a3498ba614e4b092e30a4e184d673a18a3298b2614e8e852add82f969820a2a2470f3eb2f081821e38105561021aef06a2294c68c18d32842c60020b7e74c0c3a1870f3d78e8f9c187991e3b98b0821b35202ae3e38c8f2b7a705972c2470a7c60d194c452134d3b34f180038b0e2b7c7ce1630c1f30f0f1021f5ef4b8c108067ae8d0638b1114f8e8c2479a1f4bf85003438f2f4632e0a30538b2d0d04243071f20282205578222607434f8f000e7c587067c64c00706681708a10146608410068d2b442640c4882e0b120e34b0189541a30121783182455bd135080108a635dc18463260ea8286103d86e891a607113d7ee891438f2e3d8450a242696b880d788c8007097a640d91c1103286ac19c266080c7a8cd1634d8f23400803cbd0038cd2144a5a4a6294b29452a07446c98b1219a5269428c0edd00302480b40d2a261048f29789c8047143c4c6034050f1d78e00002184476201201225a884080e905206041a40b111a98c430d242870e4d6674dc60bbd0010110800001871d522ca959da62870f3b80584ab3e387a512ecf0b263014a24502aa3f48492134a27501281520994be288d51528152154a175092424909a52b941ea0148412069438a06484978307442c81a104c512163b8240528125152c498008113d16b00481a521961eb064c30a1958baa241c4900b68444007181d39d0a0a1c6048d0580704647103a80a861a08644ed881a975a0e441eb083872525965c40bd503150e0e283177cf0c50f11744046092fe064a0548492154a11504242290ba50928494069054a16508280d207948650ea80920694b4a0445008d0c8e22103240820056164031e33304243a306a333466d8c5060b4050d303426607403a31ad078805118347e305a81911734b8d00082c695110c6874314a81d118462fa0b145081642cea080458e19687cc97145238cd21921504104874e4d912d1c1530a10ba1247e7c00c715210c2c5db14485d013376ed0c3cbd21242667a8230010ca2353816b064059118351870c38c1f4d2c3d51e306a12a844ca0038d1099a5333ab410b2a2c6969e227e682d65e171f911821f1e104242688c900688522034821b36d02185d0057a2440948590123d11102a01110a964870e30c1c38e0b8010707706c59d2c2e165690c8e3038b8f418e141114b55f86081d011387ec0d1001c40e00802470e38268043071c102852060e091061005208be1e8848c0c84c085f963e80421aa416d4d8010905485720598184453be26805357838caa28698232c6a5c8086458d34b4333ed02c4db16486660213d6084d51a307166848d4c00ac18b10ba08e10521a809818b10b608f200190d4a6c8020614402590d4a3450b2814c06201b18ba01111d94cc207203d20c1d74c1f405ce0b806880c816a63449bc906501a2840c8b480e4c5cc866e8c6009201262f90aee078c14dc1b445075e10f1a1270644bc3085819485090ca311c8ac0c9dc15141c40148563af8c2e8034c630cb5e9400d4e17b22b4c6a9c74e8e005447e50aa819109ec18226104e001a3264a3801922d486b6e1835b208e003570c22334543141d5124a6280344561469a00808223444581405516401a2308aba10b5a00889a20a109941a4821a35146180680ba22e8a92201aa3e802445c10b18068063eb430c28228024445582868ec60a4021d38188580c703435bd090c1480c1a10309ac17740ba81060368d8a0c20c7e355403212784b018d2d28114425b0c7919dad2c114425c0cf500e465286b6802430f1812626886210900956008cc500d4265807a180262a88821060ce900f4c3d0104357769019ba61c8881a5884403084658887a12f43320889190a032402a12586b0843af0e3658709866c18da41e804430b10fac0500386b8fc0421c481212b433e98e002a22b86222084822529963c30f4c3100584443044c4100d431018cab20485900784a8e801040e1a70f43014c490033aa042088d50164b5b4b510c596028071f2af0f101ee0b0d2c23323e9e109261280d8d2c3c6578a8102202236c028005680c90134024a06101231ad070000d1c6457c8ac907da13144139a7aa5678c9e353864e8b142a7899e2c9640d023448f999e13f450a0e78a9e2894965032a36402a50d2831a18405121b94a2501242a9024a472811a1044629034a49288540c9034a28501a811210493c80b4434f03903070c1e039e388163d3218c5e048174862909a10420221512065e9e84107179e0ff02c31d4821d3b0cb1e05ad979400759a480830e169d2b3a567cfc906383d5e29902e78b241ca041012317a070c61111843045ad0b52044ab0a2a2e048134663ec13f6054e5b741c01a48210b68ac000078ccbd085a04b81ed8011152114c12305520e43ca78688808e194c3120e4076b01b007283119baaa55a61bd283203a40cd41a1042191d4838a920470a80e480c405890248452081407683e5020054388de961835117e7d269c153058d228650110218205b643c00f90090248880f1c470cae239702670aac29ac036d15f2089c029033c6d382b985c20db828445e600270818a9810a0bd03101a40f2411a307033c170000052b600100164816f05a80848453099c82e8a64062828b82870915c8180183a4045704912178b6908e703241076c903cb00216d205887c390d4b0bb064da0b990e45620000334c31a09143076200e1d275a0b380d3134e5c90c01891e18404d21715c0c872f8190289089b049106742858210b5217591714ba6834dd1aa425902420002d1594a02101cb00241b9084e840a08209be85c78a2461e8f0c1090564098024001406a90714d490635488019025640c50018d51155609990f322db21d645c645e569001890444280080297e20e07481223490fda0c218b2063811412408a430347850a1042b5c49f245a785c40024071491c10f0cd42c8888710ae3870f367000e201201cf0c600a285d400203a0061a22707590f4c3040eac00a347462c86c480206112e4a65d0a8809107902af069f17ef074f076f078f07af0ba78447c34783e784574c0822fcbfb000e1e0e04d111678093103482f80d4832f0e0a207871e2e481c8004841108907c303203e901474a70640400b0c1913148b2d0f0120218b7f2065ccb67302ac1fd02690c920e485e7aae7aaef45849e10ad2068cce00210b0e0a201da0d103b7066908a424908c30fa02490b0d2b4813a03103d20f48358060c6680d0d1f907840d2009213346e301281911aa41170647033e0ae28410a8ecc1780c20bee002047187181a409242240a203d216a3161ceb383c8b0c872fcbb1dc865f790d4e5f9c7e906149614b0a56805ca0e98b8f4b77832f870ec000418b262c7008701358043cc6e0018325072cddb0b4a5e804456388ae106521c2c2c3063c6a407403110e3631360b80f003081200c107007801003000f0c5120596b2968c18a2352404434030a40243c40cb1c0902f4386182244d014416582a8588a80094f9810850950fcc0e107971f3908152144840917300109138e204a822803441828e1064258846810ca620296093498e00113b44cf88009468440460831b861e506961e19f4d0a0670643681852c310ac1b3adce0e1c60e414c047d20c80335acda026a355c15dc155c34241bb2066419b50ad4c4d42c508296121a50820d0190210056023043520a925490a4c52573a3b850006004d60a0090e0c61637d4dce08247087834c143044160822410b42608064163044520680241617e0cf183881f1000da02880d100d0020818a060013b83a5c1eee0e3cbe580d107d09c09600dc7063861b596e5c01801200e0000036108404be0016637b804d08db974e09146ed09d61e4440a341c4173c4049d0d3a1a746674633a321d174666d0a5e9b0e086e084a05fba1574517431e854d0a1e1c67459741be838e024c6c90b15c6a8b0c6a90b4e8d9107701ee882e8ba743374571d56f700ee065c0d381b70667065702ee8be7030e062d04da01382d33a020497028e0da705a702ee4cd74397438743e780ee866e4bc78583005705c70587862bd3f1c0b5807b825b01c7022e0d07041746370417020e04dd0edc07b82dce0c2705b705874587a5fb8123820ba2ab41c786dbc259b134b06cac0bec16499ab06038e160cbb0655290c1081076044676b024305286911818e962336031608fb062ac10b607db009b8335c21661bbd820ec0d76021602d60196072b01fb8305c282b15cac164b01ebc53ec0da6089b03bd82f768bc5c10e612360c3581fac0e558b9a0224568cf860e4870ac55335417da296a056a03a513150c5540b54232a12950235897a449d40f5a1f25071a837d42c35878aa5d2d02a30d283112ecd82be41bfa067d034e832da065da6c76835bd4587d1623417bdc6002d837681910818e1a1abe82b5a8b6e41639102170a060d837e41bb6881a6a12da02ca03f503174025402b406ba0005c440851691cb0410a0004c92ace0a4420a3f4e10009223465030a18421011042c20841004083a87de00107471de8c8418bd100a478d221275c5d9fa6981c408914264f2e285102d2da04ca9312252f263453eae9c913d509464c2a984f55524f534f524aa8944c399972a4c913d5d414a9132e931673eae905265094cc985230a99ea69e10e0c374663e5131997280117e98b2286242410c434c58b8408500284f4fcccca7a7168e98ae98534f9c30a17a6aa2e4e9a9851a4c56cc282d407172a62ae6130b50a24051c2840528514c08622ad3240a0b4f4d8698a89853313c414dc5f034440024d314534e7ec4804926293e60da2a623ac184e1090a0e5314138ae9020b51a43ccd98c84ca9290870d2c2d30198d876984c5083e9892a2753a29e763095603671a284ea694a6a0a0b3e4c63e6d493132a2752515ca09ac244090294389182994869028589d408424c4ecca9a9a727414c24c8611a411353490b4c9e9eec3089604abdf0c20b25c49842108314d5d4130b50989c0904464c5a5253a8a684c0f40128a9282d7cc0e481d9e4090a029c4c4199f2f4e40053a22c313131a99ea6942c31a79c4cc5d0c2d3d301943891826368e1e9c9c6c3d48149e5e405274f941ce0852807e0c06cc2e4c9052650519e4c69f2e4020b531b985354509c3091a29a8212850525a6929834309fa63c4d8952f28213264f58f061cac09c7a929a42c5e4a905254f4da240993161604e494579720026534e9a244115a54ac913265551a4a4486152c484040b5062986272c46422c544ca051000c509140b4c0ea0e485292f3881e2e40531936a2aca13255251a43c495960b610258a941425529cb83025f504854a1425313c41914c1598534f2e4c317932a5a4c993932752a43081326588296b4e3d514d9132e5a4090f9311d38529262e5c260acc2729294a9ea49c4c897a925232d542951422a6094c2a284f2f3c5131a19a6aa14a0a8d490273ea892a4a95122550a200318599311c400998a9274f50a03071810525525e90724149132853a21c008a9308504189c28292a8179a1431a75e6022c5448a12a92844cc282dfc3041604e514179aa7a1a6222008a9326509ea43481c284051b4c42cca72651580862fa32a5a2b430f534f580394535450ad594283498827861cad4141323262026132a264d944089e2a4c913d5949329a927293598bccca927a9282c288981cac913270760f2c409932a2667fa614e499912450a014a84987c98535251a8a6a290c0448a891119530f938a132958ea094a2a8a0a4548a62ef3898a4913274f985429799af234e5c8094d9e10800026272031f130a7a058787281851de614159427a92717a03839930e509cb43063e23259703205c58914150c4f4a627822450a1325524f4d9e389962836221ca131b10530e73ea870987c9440910d30df305254ca898346142f554c20dd39609258a132a2aa9a72a2851589812850516709413a0447142c5848528448c981c305f6001861da606cc274f98b0a004ca14292531483551e2440a863205490c523f78986c98534f4f2d288941eaa9cac993a726249396f9020b30083131603e3db5a0240a95122a1710e0e4894a0da605cc29aaa7a929264aa42891f2c4020b4c94c420f534254a891329980acad30b313031f2020b4e494c3524c0c913264ea89c4071b2c38435a15888f2e4004a9ea8a6b0f004c3130e130d532a0a00c2499f9e1c80091594292d28a162e149ca4913284e9428f129808f18de16185e8cc1d30a9c5a5757985a559f2ec626c6864aa19efdf9e1e1e1f9e1a9b5f2f0fcb8babb9bebbab3b6eb58d8d16eda853021ae3faefb60309b93c325a11fd7d1feb89eaeae9baece35bb5abb15e6ec7ad2e63a51ec6c3776dbd9715cf7ea5e5db7cb35edb45cc7d198b4c1495b9cf3e35c73d24ae9a473baba4eec76b93a6aa77dd9ae45aedbced9d9d9516b3baebaba39e7f7bdbee9e26c77b6e3386b454bbb69adedba3981e6c7b95ca2c8d9d7ebf5bddad2495fdfc7795c7b2f6b3bef6b0b7e2e6bad8ba39c8dc562b1d84dcc725ff77573beb8b6b3b39d6dfb3537bfae6b676dedbad9715ded66c77dcdbd6ad7cdcef6d775f77193ab1d37bbce5a2715beaf396b2d4f67c16e3bc1e66a5729edba0eac5d735cfdba39a7edaef64b27d65db5af97f8d9c97ddd9cd81dd4af1468ddf5bb9eddb95c9cfdbed7cbbeeccbbe5eb6d63aaded7a76b63ba8679d28d05abbce76d3725d67bbaf7b72ddfd75733ad6dabed1b3fbeb9ceeee6837edeeee7a82b55cc7755f5b0bce095a58bfbe3967d350ead1a7e7b43974daeffbe6f7cd6f7637a31d6727d76d6d57bbdb4e5ab7a5e9e874b7a5b43b466dcfd99452aead003a2e66dbc6ba3b363f5b6dced7cd715ff7d71cd71ff735c77ddffce637e7ec26373b0b834d24ddb403db47ec6c6fcecf48f79cb4a7a5f3e33adb5c7396b39cf5ba9ed6abd6da9fd9dd9cb039bbe97d4e8fce2cade2b48d6367536b6df7b4af9eb694be5c36c615e99e7e357575d545bb57eda8b5b6cbe91e5f1cedc6e9967557cb715c779367be7ab6b59d8bd28e76d57e949a60499224bbcfd6ae76cdcdb0a39de53aae761c3776b6bbae1b6977731d37bbbb523abb67adb57e6dbb29d66e5ada4dfa4df1a7db76257c38738add43c4ce98abbbd3baec90c9cda6d4452d7575533b67775da51d857513c7cec9d9eef57ddcb4d676ddd7afee3e6e765bdb4ddb75d6e2889cad5dc7d94939cf82edea269de09ced35d85e83b3416f16f5f4a6377bd2f73cb573b637bb8ba6e779d39b73765ef79cdd3be09c7382607707b09e9b6eaeeb5cafc97d5df7e4446b29a51cf77163ad1cc7f5fce97c8666d71861b0b16bcc598376ebb07572dcf77d1c67bbe3fa7b7500ac7d59dbd9b6b5ebba89d3f5aba3b4b96ecb713dce29040683f9b4f591c14898ddcd9e3bb26ecb754761301fda59dbb5b5d6daaeaddd81e9c06041413298cc07c6d92118a7630c32f2e98cec27e3462b9b4343301d4be7a4dfd7f5ecba112c67b9eeba578ea59ce538ce721cc7b9aaabbbc98922d7afb6dfc7596bb9efb3fd75c771dd75b6c557ed6a17a4ebbab3764e3b2df7e26c8e6dcbcdae391c57bbf6acdd96e338ce5ace723980f4eb6b1afdbdec6caffbe3ecfcbadaeeee5c9dabebba1cd636d838dc9c767253c9ce39bf6e1c3866cfd99d9db4e7fc7e7cdceceebab62f6bbfd9df6bced99db5cd59dadddf67c5d99cedec3739db510b801bdde426d7fd7d73ce6a6db5dddc9c93d24969534a6937dde9a6b3b9d99676d376db8e4efa71385ddb72b63bda6de7ececabbb39d79c3d6b5b6b9b36676977b6eb6969d7b3bb9bddcdae765cd7752038c109da39bbbbb3b3e7acb669775d77ddb3bba7edba6ebeec91fd6c375becbee65c73ceaeeb69ad9d96a3dd3da785cdee69ebeef9fabae3bae366f775b59bb3ebd9b5eba6b5dd9c6dbb67e3fefad5afee9bb38b2525b5ed6a5bcb756d3ffbb25dd789aeda35b5b6bbee9ed4dacf4eda747293e3b8d9751c3775ba6ece8fe37ada39b9d973ced7f759fb75dfecaebb4e6ccb7196b36d396aedcbeb26ed66f79c93b3f6fbb85a2dd7cd39e7fce6ec6667ade56c7773dcec16c5efe3b87ebd3e8e72ddb6ba5cddb4bba9b5af6edbb37bc6badbdaaebb6ddba69d9dd646930d1cf1fbb8eeeb2aadb4a7abb513a1ab5ded3aca819d735aeb759d0f24a439bb2e848ffbbe4ffcacb5ddd5ae87a9070f0e6a577b8ebadad9ae03a1dbd175d7759d472dc77196e3b8176729c771b6eb5ed50866bbdb5a6bbb3abbaef6c7d99e5d3793649124051568760c52515e787aa15b6af224f5d4442a8a92da073a9e9c485171405f109a4f4f522d28918a42c58485284f9e30013ac094a9a3da13262c447942db81e1a90914274aa03861e2020b2db410c5835a90100c51a85009413161818527a8da073a7ea32387121d4f504c9e1c400902a03871618a890bffa006910da21a3b4d9e3871810525544fa63069e1a9c9911413aaa91a3b533e4553479428523f502c3039c0932751a438f080c993d40fd01394122a189ea00801513d21c0e7668a6aca090c4f401e150b4ca6a03091a25242e5e48517a2d088a60e272d3c4949b94c9e9eb030db9939a03c4991c244c91302984845a19a02029f3c553d3d51020393178674660e044479a20401509c200001519ef8e890326af23435f52425e585282c2c855387d4535514169ea47240d53ed0218585a7291b3786169c483d55118190e3830f743431aa82f25485660e2a26524f509e10a084c95413169e9444a1921283140b4aa8607822aa82f25481668ea7179c504199227577b4403525a80aca539dcd1c4aa044713225f554a50486271794504171222545090b534e5e504205c313501594a77a14c6a067696555ebb7647abdc48a86f66605debccfb5645a59bdac5e4bac6869555d22b8c48a5ab96e375b7bc98ddeacba2eb951abdbad2e99b79bd5ec6eb7dbadad4aabafb4b24baca8159d56b7b6f2acac5c4b6ed48a2eb9d1dbad6fb7dbed76b3eadb8d5aabdbed76bb755d326f5656d5ea5b62456f74c9bcdd6e56bd64de6e5656d6ca5b72a373c9b4ea9658512b2b6ec99c6d65974c2b6a656555974c2bab5e6245ade8926945970ca0bba2734efac214931953e4eed8b49e18a8976eab2f9a3c6836ac5e94c3029d8cf34023388bc02678d81ee2e1e1f9990105f9f0f0501f462a46d9ab1a05158144b59d683825ba335e9a2f9cb407557306cf377dd11ef60acf83ae70ce1e93e2d8993ce60d9642fa9a3c9ac70bcf4f7a7bf387cfe0dc37df703f87b8ca00672b6c6d80edcd7dab1a23408a62fa71bc0971be9ca818aeb2b121b670954e487b4c5c73e31c02a14d8cf45edf13857457629079c6fb2aa5b669b0775b4c7a1545dbe03cd9607b2a039e3e9079b2c17d18aabc323a86ae0635019c0dac02ac195c596fd055a96a3ccfc0edddf26c831bcfec024640bd5514cf5bf5b92fd89e23a14628ee3570e626c891134f993cb21206d3dd6acee0f4b3bbf35ec99264eb8e9563a3b7a75ebaa683ed7f929431e62798bb12ce3a384f191c99b62bdde99b9a23a997a6d91f60ccd48b0cb07d393fd6231978d1c003342006cdd595ad3b3dd891d346c92b4b81064060862198b05dc99264a3c7cab1cd2b59da468fe5c3e6bd23b17cd896d4237bfa120db6a7d7483db22fbb7bf7f5c8fe65d609f4dd2de96daa47b31ee50fcfe789666bce808612800103051358c114a7cf530bdb0fe06a9c362b1dc830114410203073440c6cd3369f954ef8d5958d7ae95a0d6c3f8bec85a25ff024bab555b7250336a9473b5eae30109e5a3fa4c160ac3f270f29255c9fb99badc05873cf95bb51b55e28dc0ddb2916996930e7bd7bbee15c4fbd0ba5bb504f66145b3077bb772fbbdb24338a2db60fcc7710ca8c624b77b7cf1de63afb6ca18470450bdb0ba6ca0dc71521c07145086abd19065cff91f3534cc29160bea8daa60d0673156443115cbe5c7595db4c63737d3ec38cbe5860cc959532d360305738ae08c15517c215adef6a46b1e535c34c6373ddab99c6369f43cc7dce1e73e2a0a218cc158f1617b0f282ab2bdbbc556edfbd9ae76eb6374bc1f5f4533ce166055a44e08c2b620939b8cf753701308a627a4af6c0000cd4347a46776c2a1703cb59bbd58121a2a19c4782ce85a7561726bc316630d017d2315860a0288b756612bd9f2746515cef8923503c4f49a97ac399d49f579c49fd1f4a81716a75f982b3c5fd8aa756170ee0fce1f9be3879902f3cb5ba88c1404db3787a1d676bd3f9c1ac156013f594e47025a56ce369291532528b7940836b607bd02565bcbaba9261d637f52702e97b62111a6ef01576b44635621ac2b4e5179eb7dce451e9d538b57648024f3c31f8d95abba5ba73a7f2707d2716a1b80fba424bc4aa9251b30deeee9c36729fbb9c58c4be5fc52135b0bd7326f5ad248642c3f5d446f1a401ae97cea4fe4b2c42c3f5ce99d4f7e38c00bbcfa23cb5c02ace7a13368d3bc553ab8b176c3fc522f5b34527633e3ead6b79c78ebae4bd6fe35d9b5a5db8e07e1150d7e8e7cd14cb9ad6b4a6f55b04d25d0fe864d8b529db810c3cb5762823e2a9b5431abca32e15f551bf815432535cdf2290a2a6f59bd64bc6e3be4e51735db9804a467ab0cb9c7348acca623b679d939cb89260579c318da267602a8aed73bdd98a8a40ac17ccbddf796af90004e62e15c551b40d867a32d3607ba1cc34fd2ae485e7ef9c49f395ac98b4b412014eab716ae9d004e6f0d4e29206cf1bad39a76d0a031884e2afc89cb13b711160d73980718a01b0c2d65a51fa03a407291984e28f92145b514ad401ca71e46c0867cf51ce7294e3a018c0751cd7755dd7715df78ea3e748287a93d4a0044aaa980ace9e6f918815869af3b94fe7ad94522d907bed38327fe7de9150dfbb577236a4427daf9fb8861d594f49b03b90e3c889c11a52ef541ca607ad77fad9b5dc59ee94be452074d29bbff7ade2b0f7a606b990921ef75d28ee7dafeb3ecbd1ca069c5db3a7a02533371b42dfbdbb50dce927069b948a0ac2dda938dcd72932d63758c3b06b511eae6adcfd7bdf760dcabb7dffebda7733bd778afb5404d23ab8452153ebeaea0af7cddcbd5bc5e1ee20175692bec9ee531cc17624a537d77317ca36477b4b0e5a786ae14006ce316c8f84a7560e57ec67d73a0eecc83a9b4667d3b2c5fd8eac56b8eff7c371540452cf9114ff9cb4e20814736feaaf6bb3201473e7ee87a192d460ac5137dcf44e3b7b8c21b6188c75b71cadafb75c0764d63748bfbe76a7b75dcbdca16af7af6b8dbb103775538f01e700463096c396256245efd7347b7b304624ea86edede927a507006783134f0b865d9b0df1dab4c1f550548d1150f5c2f554061c842b9732340bd864121a8cf57d7bc3155c6f0f5a92622ada5bfff3821757336962b0434b523cc5faa6ae969cd88ad20cf6ebe7e727598fc312b586b89e7bbd1213aee76e96dbb2405ccfd435fb7a201c8cc0d57e5d83ea8f7d54fbdccd6cda6c1abdcd21a6cf23ae9fb66bb96fb3f6e60fd3cf5ee2e83972f611ed9a6d1ad5bae10b9eff7a69dae6a9d89f6290bebd5f7737163770791f5ca2e124a146a8fa8933bd6a3cb57ce88229a607a7683fc92a8be72d392486e72b99ad70fd9c3c66425ed83ecf2bb0bd9412b6372a86e7f36c83737dbfa992b3c349d2078cf4145331ea5123ae57875edde00032b07db7349bb8bab2cd5f81b66bdde7ade0093b08de3c65151e46ce9914de0c0289ea11c09b1b837f3d24f30d8714c3a66e18bcfd9c3c5c87cd24d8cde0ebc5bbc83993c49bc3d7895f6494d7a64d9b33b215ee3ec52014c36e1505c989ad90c6ddab3831784a668ae9ab18a43bec20391382a93842f83993684846d136f83b8c9c0db19d77d7cd3453fc3ad89199e2eee2ad58c4befb1481846fea2d57b07d7770821d4e7104f1e0cd1683b5ab3e0c3bec525188c5dd41708ab09bad30ec2159f5e1f0209929063f278ff0e6f04f78e03993c0836faa20590fd21024eba708bb51155311487791ccddeba738c4be9b4d5ccd80c1d8ec1af879dbb5d7e7a938026d83c33b675206cf7d8a244c0cde396db85e5fe4c42e92be2327fe487a3593b87b64eedaca453919809332a106db5adf4cd02bdc35c00cee5e0fc6faf3b5beebcd7da1fa46d136b81eaca425a1faf694cc7dfa9ad5af7dfa794e14d2b79f2290be5156577836c4bedf375b61fb899b1a9c75a9cc3ac1fbf73ed5aa4bdf2de995cdbb73e2f9a671628ae91433697ed6a3be998ec1f354ab1ecd677a85e7e72b3931774b4259ba3579d49beded7c8b43e815ee4e4521f6ddcdf5f6ce8470ef7317aa9e5ef5eba55b3369bea96f6d65bbc6009c940970d20f8c53cb0635d8ea8a5e61f0b32ef5bcfeab4b3caf1febd2ceeb6575492707e7f54a75e9e6f53bead2f87a708a23bc6e86fdf5d82d59f41d12cbcfb1ec5ce8372496a363b1f19b8f2496d9b1007d7c0f8905e89646073a969ed3380f89c51e0bcf7f1d128b8d5b0eddc6b1e83ce93824961fa09f9740ffb96510d2cbfb1ac782f31a280da15b0a71f0198d97b32b3d87c462c3c67f4b22a20fdd12e9961efc0784dbb0f112e9366e49746ba03fd14ba1db38167b4b7be3f6963668dc92c68dec8d5e0edde8964141377a69e33a7ef45b1add12c76b9ce82f8dfe5bfe2cbd83973fefe0963768b7a4299d76cb1b273b7849be835b2ad12022bad24b1a35dad5f11c356e0d4a4141c751a3c6cbbfc62d8378d4ec0d6b39b03f48346c18cd8488887e8d8038f809b23114042484445a208bc4010d1bb3d9897e2e0da320d28691108da1a0212122a01907e4b5483f414042475adaf11fa39925ba3438185a5aa201741ddf616d7c07b9b4b4b4c4c3c806a9e3205c10be63c74b0ebe6307d28c837b1de731e3f10302082f870ec212084143403b6cecb03c78bc143a0f1eff595a22751c8420a48360b4b4b4b4e3a5d08e251be48c0707f63cdee3e5d07b805003e1e50f02ed0004a31d3b827eaee34b3988cef492e84c74078f97b3f3b8e50ea0e77879dfa3830e70bc143a0e1d0741e9389e9483c67b1c8497360e02ad2dddf2830f5ebbe552ede5d06bb7fca0f60e6ef9410707e13a926ee9c16934a4a327bd14ba8eefc081a3468da4a4e3c0f19283e3c0f172f61d677a69cf44956ebcc74ba0f7a01e3c478f33bdbccff1d2e8207c704b1cb7c4f11b3770dc52c76fdc7839f41b375eda388e779094f41cb73c3aba92d23b78528e27bd347ad22d8f6e0df4e57f74105efe1c04bab4e396b5da976e09c2d24bf24bb7ac2d5dc72d6bcf91e33b5e125dc74b1a67ba250f1ef7e096376e79e3341cb74c4afa8d5be2388df61b2fef75ba71cba41b4f7ae9c1bff7e8e0d6a0a474cba45b265de9f75ec7cb5f12e6d1771db7acd1c175bcacf1a1db348fbe932f834ede92c7d041b825f90ffea35b0e0d9dbce5d1ffc1ffd2feb71c228fe396ff1dfa7d89e31cdc25f6ba308fbeefb8e552ed963a6ea9e31fd87b70cb0e74582cdc2db34eb02f3a771d2f75dc12e98e38e7f9cf95cda3ef39947e8ee39637927e92fef332e99636ee6fbe731a97f6d2e8c2308fbe23dd92e84ae1e0e89646a711e5dc88a8e89659deed895e12dd52e8ce9cf77c76bf79f4fdde921cff21a579f4bd1caf73a0bb631e7dcf393823a7cd23e915fe21a7ed23f3ebf4551cd2cff40abfde6210ab2bfcfa1483bcee7a53cf489fff90b27fa4788f0cdf549bbaa97da4bc779791a5952dcb7b8cccaec3eeec3bbdc2f60a83229984066378f1e0411a8624bdc2532c61b6c1e1850adf2299c33b13e27adf75a36643faaebb6eb6c2fd8967dfadae7079059249ca18e9159ed8f51739710f39eb513d0ff9d5a3fa1d72ac47f53aa4ac1ed5e790af47f53824ad1ed5df904af5a87e2477d4a3fa59e4ba50f40a4fa25b9295d74a20005f97b0c48ea506fa7f5ea92e61f18e85e7dde777d4252c7d2c3e877d9e5697b0d463a9815ef6f95997b0f8dc12e7f5e758860e7efeab4b5894b0f4dce7f3b2ba8485e7963c8fc5ee73f318799e973cb7bc29bacf4b9e878f1d4bbde5f77dbce578afbeacb7fc6e0df4e577a1df5cfcfc5897b0bc6ef97af7419f5bde7b44aff1f6eef3b2ef734b8efb78cbd7c7973e078fc5fee7963a3ac7b965bdeb96ae93e04bf2e02d6b7d097ef69c717c784b8efbeb96f596417f7dac1f5f861f6fc9e5bce47e74a397e38d6ea9a3f39d5beedcf32e744b1da1ef783b377ae9dde89642ae2af4d255746ba0e5dc32e73b3b9fe5ececdc13bd5e170a7abdc0978bdcf1e1b9a9a3d7ae174ffdc01d2e4672617f3e37b1fe486face3cbdb01b990c787e7236337dccbe5aae0e8eddc84238f2bf4b9f1faeb578ce4762ab7e353bf1a1c8c60c748f0483746af1a35727cc0ea3a3a7ad93f3a72f1f0dcd3c6efb490030e5ebece0107a4e7c57e7f14be7ec4d1682fc9d36ad0bed8cef87b0e7c6ecec1915ef21ce9e8e825f823a3a323bd7471356a80e4ef69dcce695da3460d0e5e7ae7e096356adcd423191905bd0c1fe4fafd91d0838878907ef4d2e747341a8d1bdd927622a31fbd7c9de8e5788b9e93d33ebfaf1114742221a1cf1e44f4a097370ffa5ee3365ec66e832a011de965ec48b4e84448b7f192e7442fbf1fd18080ee818e0ef4923c107d091ee846b3d989846e1974cba0137d26f4d9cbf033fa92bbd1692fc7d3288d1a2fbdd7b8258d1abfb7a47121a1d35ed6df97aedbb825071cbce896b35bce9e9373a05bfefc7c764ba0e7e47cf672e7b35bfeccfef332bc4df388bee8484421ce836ef973cb9f073d0c7f5fbe7e6f8943f4fb12bc52e6113dce915ebe2e0cf3881ee9961cdc1ae81178a35bbe5ed7b9a5ce41a3832f5dd709bce50b3cd02d5f0f5d0f5f92d7c83ca2077ab973499847f4b45bd6d8398d5bde5bde1b912fba25d17f6f39bbb85206993640c400072c1b29050d5c4e5003317cc022850d0bf9269ffb91b7fc3dcf9df3887ee8ce7a342f14e473a05bce64ffb9a5550790f062cb4c04261045076c3e563fcc80821b42804519661e60f3797973653eb7945d5aec8ef388bee77ef5689ee765bd2ecc237a9e5beedc1aa80dcbcd756e197bcead41c986a51ee79637b0c76e695504981b8029820d19608c61ab338b354840e0861fd884a00c1b96fad8cbf1ee9847f4b15bc2ee0eef2acd237af1cafa2e9947f4e12dc15b03cd86a5fbeb964c1a58220c0b9041c51a0ad85cb786dbb00c81600618f8000ab2d4c00b1b96bef7f2bbb47944efddb2bb4af568bee4eee711bdbd633d9a9fbf1dd1a43040109c625f2832d7d3834d5dcbe1b38efdbc91aee5f0e61289118c01031e1e9e9df33cf79c69c78e53f1c13beec1b3080f3fffa36b339df0523a237cfe84ae659e9b1540832d9ca0c1cecececf779e79eec3c7a9c4b00f0f3c38151fecc13bb8edf324744d474747e75484b0ce817cdea96b79e7e6040c01022cbcf8f9f9f90102027aeef18ca3830e4ec5077770fc79225dcb3a370bdd1c74f3d0cd3a00f83c01ba969bfef3b0ebba18b0d8a04d0d60d8c2cb152c1e1e9e9df3040ddd0c43048458c3656767676748e7666f043a90408c9fe79d87f0cc73a09f9f9f67109e9372e438151f9ce399c7f30d1d3a4ec507eb78eef9f9cd1e111ec0124607820da82006dc9918703941d0d0cd76062c28f3c4d2f3ce7b3cf37cb6b4742a31bcf4bce3d98692d2a9f860a5e79e3a664d0f48d422425006069a03428441868e910233581f3cef1c84679ed79e7b281439ccb003b53201ad35565f94f0024b9524d2682102c7f3ce3b78e6b907cf3d5a4cb0d543072e00010894385460873509d07a011913243def3cc733cf6f3cf7e8d0460a2184721883059620181ac0001c2a30f39008a34307909e774e7be6b98de79e9f2e8c04b62803247433d7031a1f72100abad9bee00259981134bbb9d77c1102258e9e774ee399e71c3cf7cc7e6e6e26cee880e507e8662a04115370012474734d0224904228e8e62a59410ce104d1f3ce8b9e7b826637971ab8e22106b39f9b15500317b471a2e751533d3f40372be04acb09c6f03c6a8ae73dd70112ba39012070420b183d3d3d3cef79d639f9bc73a1679edfe71e9ca09b63004119434cc1c3c3c333ce6ef634b0c50d28983d6a6a16fbb999734108a838f3f3a8a99fcfaee302bad95231450d1398cd4ee507cf9ea7761e35b5f39fcf9e75cef3bc73a0e79ff73ccf409c9b5b0c22cc88f1f3732a3ff8e7794ae751533adff9cf37dedc5f8e1001999d9d1d9def7861ece67946960e9040474747e71576970a5d37df6e508603b23cbbaef31cfbcff3f89d671c9feee1a3b84b750fc3f054847078f0e61b1160500102d7a3a65ce1cd39dcbb478d97e2de755df7efe6528b182c2023168bb91ebbb9bbf986e3388ebb77730c5aacb1018ccbe5faeeba99bb197cdd0c43961ab4e08ceffbbe679ccb9e5fef9ebd73cfdfe873b3a743191c20e347cecd5c980bd84004dfa3a63ed8cdcd2d040918e0814f1cc19b29171b3220c3f77ddfb377f019e739cfaffb3c7f42c6d8a5c6203757d10aa28a2edea3a6bce39c84d8c747b92e15fb388ea72284c7ffb8390166c660a28ad7a3a65ef78e73f3787310d7638fb297723d168bc50ebb39861bcec04284e79dca0ff69ea7701e3585f3d7bd9b6337ff78968ab2773d6a844bd9bbee729d8a10765dbc993b41131018e3f53a951ffc7a9e1a1f35351ee7afe7d861cfe3c5679c7fcfaf9b5d37bf9ea7a8bc72b03d15216c2f15653fc2a3a4ec4738900bb9b93e91c5952c7070709ea7628f9a8a7d3ccecdf6369170f30d8a2b3450c4388ecf53f65153f6b18f378f707f04b9590115b0428313c462b1e72911ec633703b924346dfec7cd5e0d29a8e1069cad3d951f6c9fa76c8f9a12e1b6db67d7f133ce6dcfe34578b63703e01269dafceb66cb258c0abae03c851f25c2a76cf784a6cde3ebf4dc740940c5c3227c8aca0e16e1547eb008d748d3e663f77ef3f0b3077de846af71a5ebf88ef338d37d841042084c4c4c3d7af4e0c1e354629807082080b063c78e0e3a389518eee039e9d9e8e8e8e8f9c6330d0e38e0e019c7730d2424a4670f9e69366c9c8a0fb6f1fcc1b3525252d273ed39c78d1ba7e2836f3c2fd56ab50f3ef8c0030f4e25863dc081e3546218c7b3d273919191d1738ee7231a344ec507d378d6f1cc418d1aa7e2836b3c77a043c7a9c4b08e671bcf2f2a3a151f5cf48c44a39d8a0fa63debc89123879292128d762a314c7b3e7a0e2249f2998367a17b4fc507df67a4e72122a253f1c14438709c8a0fc671e3c68da4a4241b366c20219d4a0c2371c001074747474545a712c345cf42cf3a3f3f3fcf43cf3bb3d9ecf9cf3c404040cf46cf3d4141a7e283839e693c93424242cf359eefd0d0a9f8e0a1675a8d1a3568d0a06164742a316cf49f4a0cff997c0e7574749eeff3cfcecea9f8e09d67a2e7190fcfa9f8609ee72222a2538961a2e7a0672e0c4fc50787cf403d3da7e2837b9e89eebd2449f6f49c4a0cf73cff3c83393939cfb3679f9b9b53f1c137cf40cfb2ae3b151fdcfda7e2833f34342424241414140404742a310c349bcd7e7e7ec2f05462387cf679c619c7f159f61c83c160cfdcb3f87da7e283bf679d670f044fc50783cf3bcf393e3e3e36789e6f64b253f1c1320f7a78787876767674744e25867538ee5462987bcea1b9707070be1ba5318cc562e3334c4714455978f354d50b779fa222e2ee5462b87b068b5ed3e572d90fc8f34ec5077b6fda7cee76346d7eaaaa62ee535460983b151fcc5d6beda964d85ea6a6cd2811b07d532fe99abd7949d366bd3321f5fd7aa1eaa7167e539d22907e535b8d407d9c0167519e5ab83f29a5f436d91f1f092191d188ce093227a0599392aa92e1faaa0fd74b517d38aa9e7185eba964b85e02348d7edec7f8e1bca32e5db972c5cad01ad0c6dd8a08686636ee57accc365a57b62c4836ee597ad8b85bd971757565c3e26cdcfb3ec6fa499918a7961622f00e5c3f45212060fb4a42d91dd8c7b803f7e9411a5612aa7e079ee2901db8de2811f092a6f918299e5a0cf000a6df28fbac4bd39695709f2397f407f453abb6750138ab8c538b0146dcc6a9c5002f78e23c661aeef76975a9be0fd44bd4d61fbb36b518a005f775bad62f7821c34c9ab8a92b79252becda7c7f16357d00382917e33cfd7ca11153c3952a63fdd8b57c5c5fffba7425abdebe9e5697ae64658bebedcd725bd60bd7ebf452dbeabfae4d2d2c2d5c1f76ade2fa7adb35fafa59542f94126d1768b802ad080408c4c2069c189c93077db65fd732c5f6f3a08d716a5d5183e7a73882bd1f48437b6a9f29b5a7f65074d2d783966cac85ab3a4a434b562ca2c15561e31ce23ed8a1252d1643d8e42145af709408b8aa0b270f29ba0657e160fa7e25a52acea1bd9aa29031ecdac4fd290aa15798bea99b7a16f5851af124b2aab4af0027feba967f92d060ecd3e77ab09238468a29eed7227da87abfa6cdcfa6cd37b515a524809362609c5a57bce0a935c3189c63b83fadc0536b0633188ccda23ce2feecda6c5afe703f7f787ef6d2eca3fefc149d8cf453eb6a0bee3775df76cd7bffebdac47d70268d536b062570bd77d02329a6a27727bd79410b354d9bb8fee7052fae66d2c46087959cd8232906a958df220913d77be4c46025a928aea7621410db347b2123aea7220913d74f1148d834faa606c12972375b61ee1e993fecbd92b97e36cd7b53f5c86c71b6a7aab8fb1481706f6a109ce208ddcd1677ffee91f9381846cec0535bdb467206de23dff82cd436fe200d61531483b9f98bcc54a0c02f8ba708c448ec4d0d7b53df9056a86dbcb3d78d8ab5c160b03cb089b7123bc39685dac45ff962d78ad7a64d1b11c96cc3e6caca6cc3c67500ab353dd033414fc512c6122af6fe5da8c95971cd5d0162ef931e467bf4699350f514efd0a59bfbd42ac3054fad323ae0fe77f393107befa68c98ca232da675ad7bf73257d050b14585960dab47560cd4b5eeef5ad775d791d11e9c28a4b1ed3adcdd2b81c35e83418511f8e2a94505161b3c84a7d61466f01463a620625a5c447b4c19d02ba6e290be3d50d7fa42d57f21154b608eccddfb562ca1beaf154be88ac7aed50bd57d624e8b0a26309601bd718bf663d7a0fe09e9578aeb698f2ea196a084e74cea7a0338ab8cef5a5652dac1bda897dac65d0a2f983b50d7baeb39aa9580ad31b8ded56961cea5040d5d934777f0542c52ef3a15499832624a49aa117b2e25ace4ea5cb4c522aebb5cdd9f61707d15a3e6cd565504120584fe258e40bb83f4bbf8efbdc59d7e1c135f731fc77558bf77e8735114675b6a6617b7cce0fa2a86e0411116823f0783842e24162414a36244513c28bea967b04fbcb321b37f9ffd9bb97282ba4cd06c369bcdc8a0b19bf13ce83c46742de8dc419da15965331b02c51ca89fbbae8473c4203f77dd8a43ea5d38b7c21d742fa8e7e27b6646746d76ee9e08040443a0d7eb4120292504143a18bb10f1e14121f060ec66d1cb6c7620328ae2d941b271f7107337b3db99ece265b369165331087d487dc84cf1cfa758e4e887f4f191f5905c97a671e7212b194dbb21738971c85c8e642e61642e29d7a56bb4b2c1dc6925a3cbe097ab3b25a1f3406a44d7c4730745f1a2f8299ef0d3199e5a6372d8622305d656972dac13b001438fcc140cc32986e1c3df75d76ff930c45c281e14436a44d726e62e8a6fea19862efa1df60f76ee200c06035da10b04127b538f2e524a88eba12b0c5f0fef72dd15bec090f38247ec8a91513484c1e8c5d38b971a41c99f74bda961f8efc95ffd24199e9221759dccea1e52ca8940ba4b45f111a6b75ba269dc5b2cc1855d3753c1ae83b37d5c9d92b70c43951bf9ffcaf67b25cb6d3f396dddbb67ce4b08de4ceb5f64860167cecb144ba0e1afd6774b74ed3b97392fbdd5348e8ac15c88b9f71615c3d12430a783b98fffc4dca911e71eb68f9fb3e209e4ff2a9ef097f7bfe4b90bd569cd9ae604382913665e5fb0fdf1c6e0fa1f32379e5d9c5d0967aa8495f014676feafe2963ecae8473e3f1542cf2f3dc38ecf1940c6fb6ea201d69852939bb48e69ff7795ed5746d686868a88a416878e8533c61e8600d8786ded4b198d0151212ba57e82d02111245f03e83e0a798a4a92919851214e8140c82fde0a9e5c4190cfe843ee347186f852939929966faf062fd22ece897cb69691a18bb247963e18d8940c08b189c8554a407124de04ce0e825813becd573a0f71c08080808e805f4a02020a037f5c9288a810ed21008e84043073f0482301825e2e71e78a18317027a9ebd0f8a41ea671403fdab5f04716291a3a0f73ce83db983ba1c10c66d8105058141414124cc15f42a1639c24177360476d961971d0422a52c063accea805d12200c06133fc5123ed8613e17ef735024c103911fa65fba06de1eec9d20cf8c7d48522c821483416414c5e04390e2ee40e4c4dd7dcdc89f37d51f72621fd22bd3347b19d989699a7d0f49e692cca58bdb328486419e8b97e77e6c762ace9e196cffb1f1cce89014ccd8d82bd335da259143523023c59d98ae8999dba2a66b37372ed75d37a4abbb4520ae7713608c8c3df6d8a798a4a963b586243989c0b1571148ec949cf8869c3876bb09fa05fc3ef2f4bb94bc933211451828d89ce04b146a4ea0e60462d440410643b104145ea0d042660d0627f80aa738de5ce2f1942449acdbee0d29794bf2b7976df607e378f01592e4b45172a420187e39a1479ac0bd2367f4135be1d990f1dd4718eb175dfeccc825a6b7c2540442df543fb1c811a6773644fcebe2e5b4bc6e0f66aac62f31080dbf3ec383b43b0d4fe9bbdbdd4c2f5563f1f933037c53838dc5c34ec9fc85a49490f0e385e03cfcecda78b39490f1371712fbf8f0e6ee3877362d7c78b3c5373747d1d9b4ee3131f79830ca87484e1c8e40f18b8ca2f8f57a5d2c72845f7736e4bbebdf5db7aa699afdcb4bd7bedbffe4cf0c6cff91f44bd3ecc11f7ac418458f38e288915e28ef135b0a669c324e9ceb173de6b6b293f802851057b69b5503021f4260ab124369652b3a0d4ab62c4ab62c7a4e4bd7ea175da3d80b9e38d735b8c760fb264354d510f598f641942911d89e86b9ddc47d13d13eee69173c71feb0bd0583751bf939ebc837a63ec8db5352466fd073e4cfb441efc99344977c59aba0c651c60f0533d2cfe7e0a965822ffd6243af9e4883e7d4aa66fe43c38c8da7d6135b787e046baddebb7e6ff26bacdbbe2ff4bc5b7abff578b1029bd79eed8967d447c35a6bad57340ce60b42c39cab4957533351437a6a9bfb8072dca55fb8708af636f99158b7b95ce187751be7e3bbe5f79bf7d91fb435a3c9f98f9c369b55d54f84c1541d553177a32ad885f44b2d7284eba55f3c4c317db5e2fa45c3135db0fdeb092c6cef62c2befb801adc1d64c20cb6174bc006db830763b18b9fd79101bd88d6b5eef6d6e50a5d61f82f0ca34a0cbea94170daa60842cd8670f7ceddbbbde7dd75a75802e8bd60de77d0f5fac4aed70df2dd7557e882a2d87bbd5c6211fbd785e29eeda7ac70f74f2c62ef0a0fd5dddebbb97b785dc7d80a73a4f81769351b22de752b1cbe236364478650e2ad8d9157ae5cb9127b963973d0c6dda92dcb9c3972c5dda5b6a61a55623b6d205971d7243618c567f0d5565108f8ee66f1e09d81f7cebd4521e29d8177c8f7ee1fd891af7b9f07f595503fcf25c4de757377f02048e6f033d72706df9133d70dc21d3c7871e8eaa05e3877e09d33e946d136aed722f6e0cdaf77b8a398e28963b32e4ddbfc17d21e2d039e872979b083a96b13dfa8d5ab411b8c1153ada556a46838caddce2a40f09b3ceaadf5da4f05d40271dd49c9af521a04383f797035cb3ca8afde6bbdd775af5ded6a57ebfb8ced3eb3a7b8f1cc66d19d2329eeaefd66d2c4b67619308a4e1eddddfdbe9336c9cda479edec4e6bfe243062ce35fbe8fbbeef1b430506129bbaebfebd4a81a9f87de6bde2c633ef4ead3164be779f477233a92329ae60c0d9dd8c0ff2c2b4ebac6dd5b408e81df4a80824fc48f1dd2799bfd383221924c827427d9fc7536bcc18cccda4ee4d1da4ff7d92fd2229064197eb20e9fa1447c814cf9bc5bb0ef6bc22f9c207e74b807ddefc6118aecc20c3158e9212c52b4ac50e3535b7c27059008eddd934f1e679f0df9519ae7053052739318ccc30340c38fc9cb750e0e7bc5125ce15833574912dde4cb118e485e74ccae2c189411bba4670bd3d1c5e28d7dbe58aa2f835b1f74d6b2552ab04585daf37090dc679559978bd482e84716177ddbfefafd747c3af37d5bfc8f01de975075f24775f07c98fcc3688f8d72bf93d24c137d50f3c08233349d5b8e9bfbb5ca7ae4f11c8eb94fc6e0ed2d5892929dee57a751daca4f7d9353063e60e7e8a376fea4a7207a718de5ce2f0359258b7dd7cb68f9b5bde629ffdc1ebe5ec0feac7d75bb1080dd39f92e043b23f92d31623b3c25352bce4f7225d6290ee7590fcde545f9f8b9cf823276ed27ba66a2a1639c21c97a48c917ec11357abb0bb1dacb0f7f9d9352afb79b310eed257329735a9aaefdd9d4daba7b2efde62111ace37cc6518a2868a70a7f5d58919e06ce504194cc35ea66accbd06e680d45bf55d28aaf648aeded83cfdd235cefe4bd32655e3febc25a38630ad375b756f71480d9c6b97fbf51c994b9ce7ed101aae977e69b28a2bf2aa2e507232661996d1377d1ebb0cb6fdf5db7b7bb72fab4b57b2683feca56a6b1288c18dfbb4bb6188a71609c6285132c05aadb59cad9604466020cb511108d408656d25b921315c6fc9595ec21c676dd35a0452a36e315069a0428cf42858d9fa55eab1d44b8308b67edf9a1ee4cee984605ca111d7a768c4456671efc28ebb605ccf56d8c965739dfb8b749d2353b0bdbae75b77b912739f60aadc66145b6caefbfa8b0b5fe2099e1a9b4b07775dad801336428d50f62fabcef36e6785bb212eccdd7b4772f7c821960546b4c925b69ff986bdcfcff5efd90a7b9fafe7127b7f5d2a8a5d5f15ecdd5cdf54bbf95bf285eb15382787f3c442988ae2ee3983b846d5366d408eac98e3ba798ee430484358ccdef07bbdf85d1bc5167b3bda2400291014c7fc84d52c6258ec0890f630b604f0d40a8118dc43e0a9a5d5004cc353eb031ec03d8c750b3cb53a6006d32d3cb53880856de0a9b50131781e8c45450939610462701ee18c2b05e03c858518aa2070a6baba7aa205ce545baea270a60ab3450a672a166ce1f9282109c079ca0d5a783e6a84d79a20cec0f323bca04083a3669b3668f0bc901d56d608f9aeae8acc36781ed3168051147b07b97be414c5dea948c2c4f442f5e9d4dac0169c1b736f528ace24ee541f8e9a6d30f8d79bfa65837b91997a24c5741e2473778e097b71035fb0f8d741eeaf53b2c96c85fb35c40a795dfcf7f0940cff22c5b738c4754a6f5f3a93688355f31f99a93c92622b8f7617b52aa105d7eb7ce10a1a408327ec8bd76806c2604a6b1a1843b98cfd100366e0b197ac6daec1f3a1ac685ea8d3068c13fb00a9031a30521644f8a9b1c00b200024fdb03fc08ffa29b600002c821896d05ccd1ff6f6506d18c3a6d15991e69b8ca2b86c2bda54c05e83eb1b0dae9fa71b183b7c83b387eb279ab906c84433b79418ed0dceb189a67e16e54f0bdb5712ca983f31d87e9e7260b4387f57d8befe13f369352125e165527afae3c094034caf83049b223a0476051264eca711b8fbf54878c1fd8ac412b85fc9fcbaeb5524c2ddbe8a45faf596047f9294312ae117a984c19812a6e20834077e9139f0146bf8ba12f6c422f59962a8d72b0d0202aea76290d72b48d24f4ce17b95ef56f9dedd3bf8859c38a44fc514be7707a998240bb57daf9285dabaee55ba2a3a7daff2397df72cad42804868c1f565271e6106aeafdc5fef6e5edfe208f4debc23ad7cefce91b7978dfb9c3cbc77f7f6b275cfb448bd112cd7396a7391595122e06c85478a35be9ec57b16f8ab978dbb7dec731ef105064112ca0b830f49212fd8713ec38b24d413f0e1c55731080905bc781c325be11b28fad8eba78c64f82912a1d73e76a78c38dbab2b7a183903c52392c0249e5a1720730411b8084fad23ae2eb0860b417206134551f442909c813072068a9c28bea9414f1c227e362d4fad23b430550f792199b6ee5af96e69657bdd2cdea98d134930585e78c13761aee3eeddd5dd1bc7bd7b79fbde5dacdbba63dde6bab78fe3ceddeb2ac87d06dadbf895230cdc9d81e7b8537a672067f505b708a49e72dc77ebfa5301388bb252d73af69b936d4c41fc4da771c4e3e0e45cec3e4527f1386478b043dae3fbbc5359c5167442dbc6f0842ab287af325ef6299e207b784bd847ee53741a2f7b531b81eba9182fb88233e4c413727ef390140f23abe41c764e4cf273f11d7942ce6f6e09fb8eeb20177ef612f673f196390f61e4b4099155c2ff7c4656f979ce77c82a65f89cbbc86c8533a53a8c534b8c160c72249417e6ee2285bc30774a668abf7310a46212d8771e23abc01efb0d59c27ef3912c611f3fc52439ff7953ef9065ecb387a415e8851c39f1484e31497973f165ec429fe20939ffb9e578f186ac72f32a45af42f4f256853cce775e8effb91059a52cc38b2f79fe73cb973dd7f9b4cdc82a65297e2c855ebe1cfadfb61859de9737f765d189ce8927c07e734e741a9f734b2b5bec32b2a4b6d8e5c81360dc6f6e95f13707bdb08a2984ffb955c4c3ee89dd3d21e755c2c78e4396e261f75645f6d9c58353740aaf959f878fdddbcb767391bcbd6ce39c3cb89b9530182cd8c37b7bd9c27762917afa1b32f69114df544592da52186f195ebc5960cfea2ed413eeae77bff9e401deac845d7fdd4cdfaf779150b8776faa38465af9f9cd2da92de85629835e0ebdfc853efb47ef3d24adfc7c76195986971dec6cf88267145b3a1bbee02e8b0c3ca5c094ca304ead119881b30cdbdbe7d17e045f34818519642cb0044ec253cb025ac4908197f0d412b3c40596c0353cb52e70c50c0c84660b07e1a9550131b8025f2a70058361c89133ef0e71e1ee14bfb0a706cf349e1adccd34620857b42c0bb2ae70770f771884851c39e3ee9133ee0aa967bce07285bbbbf087a72804c71521b80a4521215cd11272c160c13ebb25b5954637e3cba28b75dbcdbdc5ee775e125dacdbc67b232ffede1b8925820d8b956dfcf89d2e30fd49acdb661f22b16e8b5d88bcdd7ce74140b7bcb7d87762b1d9bddd5cacdb6237cbcd6317ff439656b69c9b0576b3a244c05079521c796a0da166626a0b49acdbcacfe7962fb16ebb85179f731959f6dc5b187ee725cfbde17ce762dd06bbcec5ba2de7de702ed66de1cd7273ad8860bb7978f15a89b569d3a68d0d76673dca536b0834985e2a8be95f62912905a6f785310a9c393062f093b9856ff505bbc2f0b0dbcfba74fb4f4c01f6d8c7ba642576d8c5bab959ddad6cf69e48c40a7777ca88a9460cc55d2814ac6c63db60b7b7f12be9d5d508c3d4ba33eeb067b90df6ee590aeeee8cbb278cf47909a68fdd2ae2c3db7fb407bd328a83debe1393fcea0a764e2c613c417cf82a9e101e764bd8c3b77864da6077ac47f4543c326de2fdea110defac47f4b71fabaf471bd0497918ed105ad87b7f4642a72556082c8bb9db7777aa4384a9983bad6bb3eef6590973dfd1b53cc790c071375254037377a2618e06e6bea42e5dc97a9dbb0b75e94ad6eb7267ea25cec65da96b534b083598bb075de330771b3490524a6951d73a31c86ca2ab33a94eda7d4e522a4a04dc33a99eaac3f36017752d8ab6c1f4dca5e6a9ba214aa286a244c07426557ae7b4512dd8d1ee4e01f87b5956a9823dd7cdfd79ab37dfb077b3f759dfd98ac8279490beb321b50aae9fd8bb99e226e9dfb54ace0240df3da40ea1dd1d42655df3ce1d08f4c8a9f5050dee48aebb99de007701b0fa00a6674c1b1e497147ce73d7e91a7d4736a6b4cdb431ff01dc57d3c66c19307dd7b9c6a5059c14cb683fc7adad1b61ef2418b15b167b3f77ee79c4e0ac3276cfd30cf6bea46b79c70e19f68ab0f7a6cf3b0923f6fe1161ef4d7aa9dabc3b756d6a3dc00bf64e80ae55ec9d7b530375adefa5a12cc0de1bcbd060efe06c3a2b2c8ab6c173ec5abd779daed97b9ef735950670d21946fbaa1584169edcb9cf220e8420c47495e1fada4bd6568f8b707d51d7f247eb5abfdec6e431717dd2e4415fff7ddf879fc089a40563b6789ef6a0b891c017463bea2cd55b12cbdaec2b9942cc666bbd9412ae372a86c1d87a248417f02f8cf3148bb03963f37302916a22c05a490a351f9b49fd3c2f6c26b53d7db70cf48e4de36e0d4ab1a5940b682d793147bfc0fdaf3f3b087d37ed21fdef600de995716a017106c3fe1d4878a1c08b7f91b91fbbf9f5d8c1582c063b08236742ecd5158edde28a1b4fb1c87885638715a15738660f153e16de6cbd739fe208b0db87fafe7afe5a24f2fc3a158164d761309848e4fb1447a0ffe8bfef4d4dc521afc366527d6c26d52b6c675245c068af64c0b1678bb3c5b0c748a9a8b9e6ea0a53e1e0f154211e1f5629aa0e8752e1a93a3c7e8a4394e0d81bc33e92514338f6908c1201cf99148bc5ee9c3660b083366c32bf1e76782a069967825c1c3b15855021b0950c3876bbc989453287243d48ce43d14ffc7537de1d9bd6dd8bb90b44520ca39e16f085d1e2a90544152f8c1c9e5a406ce1994404521560a0294af5ed0703b6a724389bfa2b6b25a328fe2c9961c05415fc48afe3b8a6d5378d3bc79de3b87fbde43ac7711cf78fa4d8455271d61bafbb9df5c6eb6e11679b9b420c415114455114e7c197cbe34451144551144551bc285e144551144531068bc16230d1c505f872812008822038effa3c0e0441f020781004411004413114433104bd36aecf73b95c2e97cb35ef759ccbe572b95c2e97cbe5bacb7597cbe572b95c2ef005bec097abe3016cef6093548b8eeb3ecf9d008b3b9ae659813d689a772ad67bd0b5fcf560efde6575697ebd04d447f3de77746d6a8d11833d996c1cfb287f38cbb0f79ec983620fec331dd2b0bec5596f5c59e0ef4d52ecba9f77a1a696b500d86f726210b43787134a5680a7a68432d3e0ae22e5855ff8fb1483b89e3f0cf5e4855f17ca0be4bacf71ddde9b6c8ac31eb4f46b9a6d2d20800c995ab86f6ee23eb5f0d402e20a4f6e8200db678bf387eb931073b7dcbcf6a3360220c78d5dfb84589023ad6d6a2ecad8effa6fda9ca00dbbbbcebda95212883c075ace5a6e16a4befe3ac54d0dd575f6662a6cdf91b903d360f01537c53321338a2d183c872d9ea2104f0d066f531cdcd721256dd3b88393f6acb04971704f424ca194f0abe3c828233d50d35ea47717f99d8a511fd69949f3df9dd7deef86d605a0b5d692137f4dfddd03626f539d9f67adb5d6de4e5b827dfd484b7e64f64e3bcf3b77fb7ddfbf9bbda6cab5474e6cbb6bdbb64fbb923636c9993dbd7d9333fbbe67429377fa89a918a4ef7d8a42fa9ef71f214b026065e30bc2fdebae4766ef50f6dfc18fcc16db5729bd047f6feaefce69c3b61884bbbddf9b2abdd7ddb069138854bd1dedb080b3de84350808201813d2bda3af4ff1aff0aebf5e2410f9a6811d59453125ab28eebaee60d3d91546ef2c48c5f4f4520cd59d4e3c76cdc5c3fb7cc52806a70864763763d35e57c2e1a90884de6c85e99b6a535332530cd59dbec5572803498a3d523693e6c7ae29e179173936edc31e1dd29d5edbb409c6c273a7788a409e7c0fef2f50d36677ea7a4852f2f44d3524a708c475d0e2d7c153b276a6387c0e80d507f09c36c29b5f6454f82227a6165717195571fd14c1583fe2dae4c4de3b3273a7ffc819bd51147b170927618fd469da3cf729d27bb4b34109574c31484520f634b1883d78f3b1f7af6fa6aa3a98de759daebd5e2f7b81e0cde05d073b123c48520c86a7e26c9aeb203971485255dc1da43d69854ddc91b3699715018d98deec8195528f9cd8457e2290530442af4ed3ba3b25ab38bb9b1cd26c34adde3bad69dead93b4646ed3a60deec84c55f1fcbc61d3fa01b397661fd1e73986cdd6fcb644d80dceec6efec09bc79d8797e7f4e66323daf8b811357403a9bf841173d5f3fc739ff72956d732d06759e841f91fcaf7642e3a51a671a337ed35de4468640d1a249051112923baa40e79721c1222c32020f29bfd90d64746ce1e270224d9387abf3c52337474060c5d8b1a42e3d3e48612376248ef2fb92126c9c6973052ba76cb2cd49685dab2505b8fd932d2359e1d9d1c9c9b310613bb165e10e985c375e39f0d4fa93be238383a3a968f4d09c75b4c3deab712f5a82d0e1cef304a5509c7ed2f376ed96a926ed91c1cddd61ab36586d6e8d81548d5b5294a2f15951429529e3c79e2820b2e3469d264c99225042000019c9c9c4e38e10423468c10214284041248f8f1e3475353131313d38e1d3b3cf0c0032525251b366cd068b4a2a2a2ff40404032994c4747671cc7300cbfda54add7da7a29e5528066a4a75feabd67a5ee79077736798e995b30d4a5eff9733d8faf6719f87c1c7edd18afe36ced3149983108c57da7c2e729b22943b82f95ac9e46c6485d9ab6b9668e79dd3cb55c37dfac64cba2cc67cbe2cc68cb228dcc96c5176b6c1620fd2cca140deed3faad3ae9cd74d249524c695af876cbde4cab37d3d068016751ae66c6dc626663b5984cb1709faaa94b9f47f4b44f693c33e67777ddd2029c4599bbfa6e7bad4689ba643fad718c6c0b9ba966ea92c5eaa34693a66b31fbee42b17220ecbf4c368e16abb55ea005d356e30511387717335fc45831499051e2b544192d571367c658325debaddb325d1bef05d369ba06bb5da66be205d35b5d0b1b4dd7c0db64bad6dd3ed335eedadb66ba56ef982e66e06ccdd0b66aa5920204f44447a7491812c09e60c405bb04049dbad32fbee8306c9a268d963367aed032d40c3264e89831744d18365618f6551852366492302378a3286e2e5cb46cd982a545cb152cac7a75e58a197dd5576ccc30830c366c28195d9b0ac34bc9e82fe89aae4d85e1a56b5a0dd96ae89abad45ff4519f0cdc6d06ee2bb8ffd1aa05f7bd3ba6d5b06935f4cb8f0bc6800036d2b4eea070c1157c42d35a56450a98c04e4deb1a864b0330019ad6de9504f092a635c885145d7093a675d055191dc02e34ad611b684117fca469ddb30030da60294debd7971f90c0544d6b6ba64cab099fc55ef37a2d8fcdc6f57e9b71f5bd96798ed5b52cab7d224d23a534edc71317989a904b9ad6bf213d2009d0b47e8c74226d9027d04823e44773cd2d333e67827c807cccf0b965153353e3f3c58f8f8f109b1a66964648e8f58a8cd9ecf50b1a21a0db6ad6b05933fbf1b915ab6ea95d68afeba2d16846749144174b74d184ac0b32379fbbeae91e2ac059942d1aac454b12585862ae5cb15761cc308308366cbe90418697356bba34adeb17539e77ab9aaaa6c7789e4dc28a2162c48f1f44303179e9efb35cbeef2ad92dd486f95e2ffbc5556d174a66cc4a76cb96fee28b34150df84e93e64c3573e64c19f1754b7c97294306f63a860c99267a4c8fa95a279cc0a56ef14e8448d552b1befff851afcc7ae53a13539bd16c5ef7c003329494d634ad6b53b55e1b4b4c259ad653d6dea2246615d33420237474880869535c97ee1e453fd5dd1a667c14bd5051144f8db77ea96abab88233ddd252ea82fb056770fe7a4c5da26cfaa8ffc16efe46f1e651168ee98363fae6c9860dbd6243c3d425cbc57aa1612c11348c358286b149d030b86aa9f9026866cdfc98e123930561d9ad9fa0a0db30f5a8a362764c3d0a029a5dbba5cb977a64c55825ac969ad8b55b3018a0830faf03667611f61d303f8f8de701e3f31b9cf780913d87fe841e92080ff9638764d2c921a53c71a1c91202389da05497802ead8fe8674a98fedcd9477907a677dd3cfa6861fa4f09cbee184cfff587b94f465faf45c3d33b0f006751feb6fc501a6e6f4c5deac2b4f7a52ef5d5c8d08c66ba0bb3f58519c5c894c0ad85fb1d9bbad45df5565de2ccf451ff5d645b462cefea97c9467be5ada94bd3f68dde1adce7ba30dd9518ce0c33be60c3460d1964a459b306cd175f9c51a3c64c9a3465d0a0d93af3336438335d9be21e652f54146d33c55dce4cd3fa740c6786c3a2633833938cddfaca8466c6333a68646980d49c8a623a468c12550d1a2cdcb768ea122553c6a23963d1a4b168beb068e818128cb9d34aa305673a668bdd92ad12b84fc7745b5d998e8c0e4d97a65bd39de9bee8cc746ab4c88c53eb054960bb854b12bde5e74bdf12d13e78deb762bad6b75eba668de82b3a66cb4c3d0a53d5e0fa4593d1b4355dcbe0fb958caee536e3fdcaa66bf97bbf9a51ed55d7b2f8bebdd2b55cb5bc6fb1ba9663ef5b2d5dcb95cbfb554dd7ba76e9355ab85f97e8dac8a344d7623b49740da6f37e15d335f1f62b115d0b6fbf7e79bff6ab115d73e1dcbc5fc374edf3b9253583a6562f5df3e8563d6a59cfa563ea51ff9663eb2ea91adabda62e35bd404b1f4d2e7d34bd70378f44d09b654d2f30a28f26b6bd06f76b05223565b574f33e7d822edddc6eab8ffabf4cd66d755b5d9899d40f83fbb5d6da7557b84fa118e973b7f56dc193e8e6b28a354f0d423566e063eba1b1deb9ef9d2b0cc92a8a9beb5eb9d3a2578cb96251158c7fe269590a24d7ebbd3a4ecd98efaee7b9e5faa726bc99aa79f86fb2c1b9d3b261bcbbae77f3dc0a6fa6e15cb16eae58b9d3c295ab58b89eae600c539748a847f5df378e32d91c63d9bc5e6fb7c0bf8b6ccb8895b9abcfcc8806db30b882cf760dae073b14a328ceb4d71c93279b8fcc34afd3cab4b96533f705d7691b43cd5034b89e76a94be2eba534d14713d7935097a6ed992af14cc53cd330cff4cb789bb848b305d7262ecef4d1cc730cec367151a68fc4dbc405993e9a384f36136f994143cb8cd643f36af08c16a69ff6796ed99be716a6593166fa858b2f709e6cd8ace925237dd43763060d1a356ae69a3538d32fb89fe9174a44186a04154393a04ad025a8166da2bbbbbbbbbbbbbbbbbbbbb572686d015df3654c5baef33ed70ba44d682da14412628c0843c4172a2f40b31f1f590fcf0e1601ae385d9d501a81c1045f748d52a9e91a28254dd75e4fd074cde5c299ae7d4dcc74cd5b52a66b1d01b6bac6399139a169748c91a6d16f7da14d365bf60b471d19d08be89a305f70187a82680910fbec9a742d7bbff9bc0b5dcbdf939ccf4be95a7e5151326368135a740925681262a811341b4a1ee49ef3d4b2cf65b3ff041da824e241240c4dab07aa9f913f24f5d2b47a1f524ad3ea6524edd2b4fa1e9287a45c9a56bf43bad0b47a1d926e695a7d0ed9a469f53824d5d2b4fa1b7249d3ea47926235ad3e46c2487aa5694e24bd6a5aa6571324a369f5b5a669ae2f9af6a9695aad79699a563b344dabdc99a659334dabb52ed3b47a7aa928a65b6c30fd4c30d2cf3ebbfe65f0af8b0febcdc7e71ce775e73aaf449a465ff41d9284a6bd693f9a06d4b4a6a6c99ac6d4349da6ed689a074d53fa6c348df6054f22ab19f5c86ce1fed0e43145e529cda4fe08948acc25a579d4b7cf5f7d1e7b7af03c1dc1f899c19c535da261faa82fe65362d49299c17da5ba44affaa8ff8d329912eeb985696fd50880750b3178c70e25251a4d261bc7efcb605ecfc759c0bfbc2d3cb5844c2decdd6c85bd22531ce1c37d852db65bacc116db2dd0608b2d175b3006411a726211eff61c696fee2653952ce05f170b7c29fef5d72d5fcf9c160823afd867c98a120177ffea91bd552c42b5866065b9fa4a1ca1627bd7adeaf0a4b64f0b8b2416b5bd1e92e0a96d8a436e5750fa19ecafe6d3d739e7519661fa2cc3df378e32d94fa32929cd7a9477e0bc6369e6e6baee6efe7cf4cd538030950cf7e74ce20e1545d7e0bef9b337d3cfa46a6fb68d29ae51b1d93753cc1dd7d7a569abb56a8dd9c2b53fd178edda02fb348a7172f105e74906f75d78ff49d86f0203df5fc2f37a9f00de4bf159749cb082643daf92f3135c32d0d5137b9532bc3711663712cac09f9e5781ddf226c24d0cf62a43f7de2722938520f8ea7915f1963b0fba4e0c267aaf423e8b8e4d0686e1ebf5b95ee6dc2aa5cf73402f067b955f7c85e1f701b97e5ece6e159f5b0a7d67c77b81b057f1f9177e9fcbf503247be8fa7e7e806427c1d74bd7bf9fd90c0848f6bf5cff805e8aaff2f3a15b4528e86675f7c0ef0534fbb92ed94b9febfa27ab6d6cae97b74a05962d66b0f5dcac2a3cb7bc89d0a68d6de766d5ebdc3207e766d1dfdc1bbd59f616b50dd6e4c0005b8cd2248860c11636d8cdcaf4f50289372bd77755c25bdee802341003306cdecb1ba502cb16566ce0cde2ee386db026072db6176d238327c2b0b96e56bd96229186055cd8be9b45ef5717a081187c61f3ae4e7f20c5489fed9c59711d9a11839b6aa146805c1802d02b44d0efcb09a517eb7521524fc5a55630385b7e5405e1ee4f9aa6e56630396f72a12ee55c9c3bfb48fcebdebf2b9ca79aa6ba44b5f451bfc59bbf1ade3c5ad7cd327c0c9e6e8d53cb0544e03cb5b4e03ebd32e2f1542376bd5ff260d8a95ef8e67d2a202c9ecae2d8fb2e70383cd5ec490ebeb91e8878bc3b3e353e38766d781876953c3543b8bb45148b97f6baf9ab12b1eb3235ed384f35b84f0010bb4eb583c5f74ff04e15c3aff789b8f0f7fe0fd8fb4db00f8b174886c37bf0e6ebe060d795d19b65df0d43ecddf1e61177541de6ead5c2f5668b2b950c638bed9c49527326d99bef283b4d69071633b62b0bb44152dea560586aec4e8583a5ec7fb077a964f83b5587a55cefc1522ef0752a17960aeffafca883a5c24b3562d8a964583c5588a5623a525537582a76a9468c732a19be39550c4b8d97eac3e36352552096cab9541fd6b914950cf39c6ac43ba7dac1399f5194cd15950cfb5c8a6ac4b2f748518d786826d1074d1cf4f33e649d49f432b267127d0f39270e7a1e723693e877c89f9944af43facc24fa1c126826d1e390383389fe86cc9949f423b93393e863a4ce4ca28791b099442f92b199441f92e3c4410f92af9944ff22c19944ef22c38983fe23bd9944ef91dfc441df913d33899e23796612bd25653389be929d9d38e8ad64b45601ce227a82716aa539837348f38115640baa2f8ae1bcfe4837af07fa79e9f32c3a36d8eb653fe2b8f32a3ce46f3f277abd8e38e28844af5206dd9bd18fde33f4d78fb211e7e65562b7bcd5b8d14f44becca2638bdd57b9f1dbec45af0fc18ca34c868373037be973cb9b8da41bd17ee3e035885ede828aee3f7b15a567d1b18d38329c9b1bd88ef892e756296f365e83c66f49a7fdfcc6f3d9d05f05c76f45bf3738373098187bd973ab94b7a473f09b8dd398f9fcd623f4fb2a39b01b180c268ab197402f6f0d856dfc8e088bc576c62bf9f0dc706c319d9d973b2f6fb6f1387a6e7e835d76e356b925ddacf0366e1637fbe1f94d769f5789fdd650d8765e05e996370e6e56ffe86651d76bdc2cfb1b8d9bf5dda8e86665ef4d74b332787a6f56eefe5df266e5efaffbdfacfcbaeb0eddacecba15ba59d99e2b6f3f0fba59997b78ab00ddf2267ef673c7fea043d9cd7add9e9be5badf796ed69745c7b613642b63bfd9c69739b7bcc18e73b3bc6b6fe26f6e5667c95c600adb78add01bc5410a337eb0c5eeb4b722ab578365c0e7a8a995c1570561d7e7a71dbbd7e77a5510f6eef7aa20dcdd1cd550e0d1e3a2a8c10870ac2a08db9ba3a8185ebcd801c3b85705617a739425738129b0f81c45ab8270df1c45eda3281757800103873f630c26de2943187cb93eafe36e9e3284e985b25386b0bd50737e5fd8347a28285b02b04e1e549c54d50cd353f5eb3b9587bdcf2a1fec9dcae24eaa0a0877a7a29893aaeac1dca93adc553fb84f55b1ad95825539f8fbbceba3d8ab7261ef067b376c5aacabba993caa747077c7a6e5e87055dd337954bd647d653db33caa76b0bd40423de2eefba679b4ea005a98ad7f25abea07ff3c4b67abb702e3b17d9f97c56cf657b2aa7c307d16cfc6dd0a508f0de7f35ff779b73204da5cbf82c5d9c067a9b6d7adc4d05c5dd9b2e4d8623eae64c1b1851763f340a26dfc15ac6ac37916ce76732bb1ab1ddbcee71fda727e05cbda769ec5da746e6548ebeaca9645c7e6e3e3ca952c2f5bcfaf6075369f67699bec56626baeae6c59707e3eaf43ef3869e49c347a1f1268e6a097914133077d0f293473d0f390433307fd0ee93373d0eb903f33077d0e399b39e871489e9983fe86ec9939e847523673d0c7c870e6a08791e2cc412f92b099833e246333073d48ba660efa17f99a39e85d243873d07f643773d07ba43773d077e43773d073a4cecc416fc99d9983be9276e6a06f929b39e8ade84dd6154d77cd751775edf6eceb7ce885dee78180acd771b6ea64418df3b78eb617e0b43b373a379f2fbaa9b7e3cde775706e6e8ee553b977c7f20979bcf3b8fe9aff78c0873be261c7fab1e9dcac0c156b1ace2db332d569dacdcdca5063d3c81809232d69c98f7c912ef2234392245f44de3a2b58d71580f5fbc65126fbbe3eaa9f4afd859ff5eceb6dd85bc2508f6a3d106765c8c7e68a1a92528fba47c548e8babb30ba3eef2ad5a3faa67ad4b55b1aa947f54ef5a87e493daaaf4af48adb026751eebe2cc1d047fdac8485fb79c716ad4cbbcc317862612e0cb7c585996970b666b82b6b4607ce16cb8ab15855093455091d9c5b4ddda2e685737769addc5d709f3e317238d3316b707fc1fd3cb7e818dca75f2811b4092a8626418da04bd0305489c9662b4f36b869341b44763091e0c10fa5a6cc85c15c182338323f4a2cc18de192e09ae0c4705aedd5aebe5f546fd975a947fdae6f5b6bd450b7a51e75548c53538ffadc3bac7ad48f1ae2b6cca0a932ced6cbada9477d8e4d3dea77574e8cf499dbc2fdaeb3a21d8e01ceaecddb1cc7fab1c99464e56de726e7468dd750d0cc6724fabc8e0d22a463f9d8883eff9ea47b21a09fdeb9b9911312e97879e360d6b3537452568386d16f443ffa3c5052d2cb5bcfce4d0e8d93e265358e8c7e0b7ad1e73f1d39946e7953c24123927d3738e899dde060d663b4a3147b8d97371ca751f41bed472f6f38603422f2861de2e03c3a38bff57c4cb2714bac1f1bd22d6f3422728883ffc87874707edbb97f79dbb939ba59dec997b79ccb5ede68e06bdcacf0e58de8346e96ebe52de846378bfb6de84537abbebc11f53d797f6543372b2674c7fe20e866c1ee0874bf99787fc25bd4340a5e59d3fab2f2d6c373b380766ed6a79373b33a1ceeda9b9b65ef486425f6c703a804f498ce88f31bd8140424f4f2d6f311e7b7d9147d9ef524077bbff53ce7e56df6d8cdaabfc9bef3f971ec91e97ce7e58de7e26fe17f468af3f2063bace7f334a1d7633e2f6fe067bf89c7f9fc8edbcd815edec2ffe8bcbce1bce7b7190975a9bc850fba59dfcb9b78a09bd5bdbccd6e1615cd7abdbcf9dc2cef32d76fff709ef31bec372f6f3dfdd8cb1bcfcdb20f7f1bbf43cb2cd456de746e16bdb29cd705c2b959ae3bde7cb768f46237eb490eee6e7983dd2cee7ef6dec29b454571bd37ab6f78d3b172b5cd026751ee35b88ecf451908671d3c1f3af5514d126694e21e9b0277c0a930cce9997abd7ca6443025d68fede7e2a760309e3f2a86d3f34ae9ff1f9f978cee80e13f759324cc184531653393ea279eba79cf2db3a06e786e9905057389de38cd945dc3b9533838b76c62eae6a6b59a56d9e07aaaaec1ee140c76a99678d235f14e89e27d928453d7c23b1586d7e90b01ba06de2910bc0420a249d75e77eaf5ba4d9a46ab77dd2997ebb612dfcd738d77a7bc47f5a7bc3bc534adbebb79aac1758a3eaa2f54146d3365df619a566f6f9e68a462efd3311de68ab2b99a5a6992c0fd306c9a88aec17abe744dcc294aa26be10523a66ba056d75e376a68e7d5c7b66344d75cb27089ae7d17284cd73cd9d763b3a0e60db6707d2bd1b5ee6641c9b2a0746816d4d8a64d9b35b89e23938419ed715f4b46d92709330699332927654b4730d2118c996e51366c32dd9a666898ab69863e3136ce940d9bbad45ffaa8fefbc651769c8f6909c64cb794b6f297e99552fe70a563c67ea66c703d6543cde8e1c9f1d2b5a858ce2d5bcd8f6d072be7f5ada57de8bcb43284e5639375e95ad450a3a947f5583eb69d2b32d95b092e5d8b8aedbccd5cc97a786e7f0923a6b7746de796583e369d5b62fdd8726e6b8da947f5bde5c4d8cffda5d7e04974fbacc6e6290204a2ea86a2626baeae82268faa169a3caa5e393e938754540c57ede0d7a9eccfe451656793475588c33379484579b8aa07d353d51ed9ebe69b9cc9432a8ae22a19064f45318f2a0fd357c530bd797c95cf0d0ef8f970f2908a120157e5e0d7a93a1c13278faa864d1e55afd8e4518503734d1e525143b86a07d35371f85555f1ab0a14bbc943aa8a0747c1aeaeaef0eb54d59b3caa384cab444c6f0e5fe5835f9faf93875454c5551d7e55c1f0eb66f0553f74f2a8fa7af2a81af1e4416f7efd490ecef170ba9b1b15e3461bab0deb166f542cec0fe8177eb7fcbe57f9e00c5e30a5955869bf63fdd85caffac13907bf6ed4509b366d3018d72dad0cb569d3c6f6dd5b8e0dcbc7e6ddb2a8bbe5b95b02d95bca7c6cf5963afd013dd68fadef78abd7edebee4a0aae604e0cdc67c8c017f7c15814c574deac85174c3fb3151ec28901d5cf535698de9251b34d9b3625ae96acdac1b66924ee7362604a56ede0d9b47a49dc37f7b310fafa20f4f566da5216f7fbce86d04b05e2792a10a7800ba66aa96f26c48ab1009ebfc1137f01ebb495ac4d6feea64a5fe914297d14900c6d7095679bd61ea53753358ea266e0aa113fb15732e0dc8ff2cc90a10daefa707f929984eafe1da4b7c93077d477650619b0549587a7acf0b4ef286f0de6de541d5571776742a81690ef969c99befb475635b607bba78d7ed42473fd6e9364767916bb4ebbbb6f767d9eba4a28f177a1fad3bb41e6fbd85ea8fa7aa1e6fbced3d3ee05e0fc47a8b77be9caeb57b2ea411739b5bac10e271a9188158b545cff22a7ad5f42ba06c0ca01f82ba234d798d084bf18f60e520e966f5b44129af0f716478082a36e38cc4301b07a00fe82587dc1514bf077b0290c966f5fc84e0c80f785afefbac869035de18b9c3617396d2d0ae97737bff20d5b710677272f4ad9a67537d7168bd8a88aa1aa77a7c830950c77f5b4d2d35b7236a41f0307032bcaa4d112e3012cb6f412e30c452bba60233cb5aa5853051ad086aed75d5789def8ded4498cafbb5ea7348caf3b13d25757b8fe7675855d541cb283ab2c7ee2fa8c84895d173c87a930682b17bac21863d69e4d2dc26e622018bbb9b989e11c1c636f6a9c1b186c84c5603092098abbeeb8d8c22fb1bff0f363f00d3cb5aae85205169b1a7ee417666074fdfbf0eba00d4392e2c6617ce4d8b4d74352a769af530d8cae7fe7c27bcfa348648a44c0db446fbcded421c9d4b4d73d72c78ebaf4a38f5e7fedc0af1d3f9af692e1d7f36c02bf0e76a1edda0c7c1566f0d4aa220b3cb5ca9031036f5400262681e28a29febceffbc0c34eb10883c56ebe6150c7e401fe75595dc2f9ebaf4bd4f63aad2e8d7f5d89f608ff3a188a23391371c89988833392d406e63c0cc19bf14d9d837367612c761303c718c8047d8b01f038ec7a5da8b9d545017e608364e08e9ec149786a95310297f152c370ec5a05d218b4e177176933307aef5eaf44717cb7d1b4efb4a67dff0ed2ea92077df4fdcb1ee08f863f24681e34ed7b9691bbbd07f83bc8856374a18ba4b8c989cb8481bb7f5dabb4c2b2159e09a9f8f58a5f6f72864172d69f85a7b3f082c112c1267e6a9501034fad325f60d7ebe61b76fd4e1eae7fffead2f8ef635da2b6efb2ba04fbf7d31eaf7f075f647e7d069e0a194cc50401a61fa8d48797ca93b140cb92ce2964a666661a4003c315603050301a0d48d33c94547b140013a5a04e5620c9c3248852481963800106000306c08c00cc0c01000198140afd5a302a6b2f25053b53bf20ef594d326429d482828c18b7e74d5f9788129bcb44c3467b4a15cd4aef388ecab2bc22fab176272d3a362fc6ad90fdc4b3f960a88022723a009921b589362d94ea04592c12ea859d695935177c4f259d65cd74100994b25a5e9074c9eeba18fb01cd1dd791cc21417a85d444c9d93ad2247e4ddf3170f4c1e183d04d87540532a508097265f4b09cda167f2f9fbdaf443568659ea7ca86e1537a6594b2a41a46e3cad7ad33bed10aa652d18175e52bd9a08f405cfff76393452adc3f0039928398f5fe0a4de47e57cca7a4e0d97b5636f20fa253f855b0eb9b827b95eebc1bef2b67eec69638ccc1b290607b1411f017eac4ad087c63756844b52318ad69e6b6825a16900da8dc35a3aaac92c7db7962756eae0ba8b709cc18a928163ca5d37c327b0deb9e2d32d29f6149c98fa683ec389265784b98e37076316fe2317b8e8ca6b1180e59d31765280622c6ec3aaa60898f0d429fedbe4fad9c1e993d532b0c017cc2fac7c2cd9d990c9b22e58b3c083f172b7929e2be1c034bd54197e7dc0cefd95448002fdfb323bf44d5968a262f9f5b8eb37ce86928d5b5aec7a5b2d3c1909fbb2b8abad5772999e4765e85435f4fab0ad57d2a2b9b8ed6f4cc5369abd12a6bde73c9363ad4478ad5ddfb7480244aa6c2a928d5a04aa942df28cd1b70114347814eb14011b178f9b8191cd56acbba69a9895b250a2b4ce5b8c19ca78736c0027ebcca861895c8a632c1adc8f72e5f778c6bd0d48416b407b23ada4095890cd29e6415ad0a48134baabdb7156b96e404d4d5504979291072f6abacb7c9d2f451e56e4a65002b9d0c521e658239bef4f142a556fd1584a2303db056e0085369728be6c3b45359ecbc615a1c2e96a5c1aa038313dd05f5a627a816328adf9b394dac7d51beaea3da94e56d683e373aed73d8da162e8c696152b5c3ba9204c9592d44936b6c48b78381bb10a013b072c3095eaa27fa48749ac333422f67776237fa8a67ffea1cd7b260e3e918b40245d010cb5b872ca23c1aa8187fdbeedfd595d49d35677c86d1abf5c1839507170967fc7c8e20030d181fd08749f17138cd721fcf07d4f775e596928737a0f18db7d97f5f017b98e5473879901958703cb642b8a320f730ac34b56ba14fd3c57f111191c2dba5da9a349064816c48b1c289c99c3460ad312a23a26340ac9e4e9a1ec42e3b4d78eec35bae935c9600206b18cfeed55abc5181dedc8fd62fbdd77479209cd742c5a94a93f9cc5c975fe0e85b281b002eb7eb93dc4d10e4d2e73b7e3e32bedc5714019de2552a88abe01e4c1bcd52319d9b2199ecf5a3f237281d0547cc912e07e06012bced42eae3c4d26579394ba0104e73446f6d0c205b6d2959a20e97917250a968f005b924f9c54f97a3facd188b546026e40db55aa648dfbb2c51e9b4e213a1408202969a4feb633009171dd2a9e71dcb18ac90f8a6b7508a90f274976d2ad331aa4a1e520f2c05427da8dd4c061e8f436992cb989e531239119f8b5933639c91dd08122446500b475fa942df835c08a1767a55154654b75cb5acf84962fd742b3e7e411978483e1be539ffc5c967b9f8698637fd7ac8852d7c6bf3c6b60dab0da30e34b62eff0c39a84a390051d287ffe8f939f25081d6ec2729bda65ac10c3c2ac8e00d426a05a93a05e0649fd58edee8aa63cd0c67c3cd53bf1d43a6382d796df73591ca25f8c602e9dc34273b184cea764456badb602f164ebede5cb9865fcd48ce2d345e3980b3f100c18331f515c439e696aa77c6b6e49749882f6b770e8e6025bdd1549bcc75d12e33eb8a0995556c9011862b466bdaad62446e4abed5465e5082ab7d92c2a5b8da6a29d4fed07c24ea3b7e8bb20fcc4be9a7a7ee22ad1b2b4eaa3f85c6a33e119241f6b5e32ea7ac65a9d0079a3da68d9967a1449b71cf9c95266a1094c8e5b06c3da2ccd064e10044355547daaa2b1c81136edb1ea0ea20107503628a22a6b41bb1b524f61cee9dfa16f1f289c5642c69de44f16f9943fff06b44070f001251508a5e5f3a849b8308b3176a96e5a6bb831d1849192c3bf9db73e4d1ab4173036b9138c5445e14ff768fc0dd11914c922f2b2ba2cb271a5677836fa194f72bc80a0cdfbbc19ec407dfbcd001b31ac4a337a6f4f073afa4739fde70c26f976672b5ad0c94e83412197c98aa4a798e86373600d725386247c685afadea27f85bf86f2fb347e64b889dee8165b25f0a4d2fc26dc04af2f600c494664891838494d2df96461c8c61d97e49a956273742d255af930c9a62c3e56391414d837dab6b6dad5c5d956761b0bf2d206640670b5fa447c980b5ec5555a3569bc377d2390a64c65748651ae7402a27dbf207d7248d9823b1b09f096d4ab5bf4666f41d580ad546f82c99bc8a0f6609cb05b11399380c20fd0398b017439c62210bc239d6e87e5e74e61201231615f5c91894ee28293c9bdb15c9904a48eec7a7b7333d8ee2306cc83b7bf0da6dedd226c39ec6e56635a37257a79d9b3d3ccd75caa65c28dd5070d8581c317f1c7c5fcea536870ba32362d3c1ddd7396587c3ae85ba07948f82724d83beafb42b84f053cbda88a6ccd19989756b52ca8ab1dd9e53548b78a7308b2a40df6a21c4b131adc2370750fa3662c37653859395ea6241971010ddbef6f9be7a967fdb61a1ffa52a05845c17e2c6872ef27f508052521cca3ce0da2878ad1273b29ab33935b61890b3f529721c4253f8d7aac5d7ff710349e1ed0f371b089aa5da2e4811799ad2d4c8fd0b1e8363c40107b36861d01582f27cf6ed0a08191944ab13ddf5c363fc480fd28a2b01cb8d144b4bc659c906218489382eb3c1a12e7618d93181a7cf165c06cf6b8af457471497d348ded4b4356165bf3e836faa92c798432fbe79bcca7626b512cdc1b1641ca6d545730c49f440b06972f5fc9664e7b3b7b0cb8091e1f448ed070c14aec148d33c9500ff7414d36b31d63668a30da325cb0793691c5870d6a71560e146ec5c43bfebbfbbadbfe0e8d9d37bfa096b909e0c9ef08a05449776f3057171f007c3b96de96809a72fc486e34bbfc91b1aa5a9820d8d500f63953e1d9fff737303db959c73d1e0209ae92803f1230fef62674411044f54c0989ba79602259a45a999514a73cfe98808c96de055add9ad17f9155fd4251768a8d094416d3884fb58a2d508f023ea8e8c2c09e556e7f047f969388c200454a0239dc091a99cc49baa65cf153798d884103da4bb73443d72bdd1ff61e5d13e5e3d461aab5db93a509a3d6bfcdf311e94b39d37d7337a84f22446d03bae28b1dcbf733a6dda0ce5ae54715589e8cd374c59e55cca1510da4bfd0bd5d8517194716ecebbc7b2a7d8d950b9ece0b15d036aa87f3273f0c6966711b284ac312ce07fa830e5e5ec51c4cfb74e4d530fab048f718d6b73063261c87738c1a85898db870e180f60de0cda40f46cd0fbb1a7e6c241321260221812586074308c49d331fcda7184a40d438765a1d8c223ee4f0ed734f4bc882f2c1078b9c9353c171fe1754b43aaea1d26d8920ecf72cce59b8f7ff9f7d061f77ee1a87a92fe72f779719c260cba2264cb045b9c34ee3416ee7bbb3146fc37cee8eacd2dd6b27c67fbf20586c360d33fc83297894666269a24f09110f4a8fb687e71ba697dea6929cbd502c3712ed3e04b6b2b4f962484101d847d44912abe1d9d3b8fa35e750fc1989724c553967c272660a06ea51dc5063eb65bcd23bf6b5623332baa54e3baf1cbfe2d0c69ea28846eed7c5dd0fa98acc96358285de6975d707791d81a753a584f8d94a35ec92a075f5b8f78b55012941ae445fd17863a0ead3bc4fd502cc055e85f3522c8def89019be4fb3fe75f3aa21e2979d4b8425c63a92010981f74ea3e2291c272ca9633610e030d413e6d6e2341c64501f1643536055fb7b682821f5ddf64df68ed5dc9b998814e850c2d73eb09b57e877c1cf1ff83691ed55b1a9efb7aa796dddaee722640aad00696bad9ef3e90baa4f1f1a49dd920399069299669b46155319002db65ed75ead4a3e48a135520b4ecca385dc7295f45bf21dae63e75c49752919aebd20e9ff50aaddeaf88b93f15694b04775a248277af4d3921584199f4d53f2d469fd2b5228b3cea74922984b180afe1c1a356d715b3d5a8ece5eb4eaa8bba5f42a134a921491d66c14efe742ad8a9a54873d19280d3d970fba83a6b922031aed0650cbb6faf53c5b077cf8ea7753b1f64deb9f051e1ab2d4945a342f2e720fcf727192a6c14457088d1d5be894ba435df61ea2ee1126ea48fafc67c004d54092a8d73e7aa76b539fd6a22e74b3310b88f037cabbd00438885f31e58a7cef88033eff31597eb96b8ea0aef65550b679ef22f15cf05f256370ba7e136063f47d575dea46dad5369998d1dd9d1e21e5606bac02098329e5d5e6d4e5380054632fcc283264ed11ba1454d6e01d356fc272dc3eed37a20a1a388422e25669104e29e78e706dccf26b7ce3ed22804bf605b4a89c1dc0156fca1a2f23891493cb6224818216b33d924078140ab451e5c5f45e04743e7ff86b0a6ab55956fab202241d44a379d30d1733d0980c2e86baf5aa8198dc604d3a443e67fbaa359da918e980319dbd7df9c469c62ef2bf2fbcba36b035c219bdbbcae30e6a834a06b19676986d84e29f90cd76dec79480b41b35148a9513c539d87361506530c261544c21b2d2b8ec83ebbbb82da56e9e6a86b720e5fcc0483fd2987c7702f20d22d9eafd27b50d4811a88a11fcb0c68e0d0ff214a930d6a7033f2fb382906026e005c119fa955aabe7890dfc0afddb22365c31d5216a234093222731bd332bbe26c943f012d10b3de5c3bd22149f68acf7bd2ac58fb26ce805e7bf09773b9c38a496af8f3d2c07d2749d8cd7172e229586ea6d12f25742b151d07fb9a33192d2614af0d52a386fea91255bca53adf769538bb4829e9c2f70a6470badcc68ffd8a8cace604bf190ae2bd3eb84a4c3579271ef3de12e269d900d73dc10eee38980fe543be8f173add4ba676f052907698e5546faa7ae4c0927044b213a2dfc3b3b37cb2395357516156ec9f0a48eb3606ba12aba199a63fd38b0efcce531ed3403692e9c62e5926827acb33a728e198fcd9fcdb61ad540476a86d030bb0001b08b74e683740002ffd235690c1f1a198e97223ae5e19d3d858c8b512827712320bdd19d847d0993c7097ece14b23bc65913460f4395743742ac48ef754c66726b532f33d1e55f71ab18e519bd432dbde88d3957293b7527d76cdf51c12b6f31d1d302559f9b0a29120c2af2ca962c301b08281292256b1b9fa93c4a5d734c5d3e5515b120eb533ed11c14d7d9c7f95344304c81c0f6c252f99d8033678a25284db8d07ba24db5fe7f12aa6b8e7b4742cb947e5b915492454482b25dfd9fe1ce2da441898b48052c09959fb5295722128f77f65c0fa6fa16414d33dcaef2685fb055d04ac80c85151edbfa8f4328d927bcba9fb8d284d16f1e1d724f69f7e1f7d28cc9a2861378c25c416744719323ea423a8b105c6809be8495e7e38222d6872fe5156d8125637c2fbc203d285b44b04868188d4c25ad74263c276a5934622ef3f629dd9dc4cabd9514bc05ac322eae4223b766a626a138adaeb243fd0bd200399a965f08bea9d9c45538193332e88d4d13cb8ea6b074f80f3a7080ccf7ca17c11cd465caff85700aa0c5fc69d7b831f78b47d17bad98218c7fadc2bd9d888f02b299308fbbc8f545751b3325a76f3302aaa19d90272592e00ca89b407ae8187a2f41d7c105d052b1ed420b9bc249640f50ca4df0ebbc27e2c06035d81a8b20542859e9b82422e43da17ace700b473348656313e2cb5dc4ef3a4c734d07eabcd3a6890df838630712981a3e02cc188921ff6980c29cec4656b72fdb40ff3753b47d2d7052f0fb4fa43f079f1898ea0183678291dac6b9091c3f2461216427d011ee95d20e0d6770afbc4c652aac97d11ce0d18bb98c210505be7050ad68dd24056ebafdee25e80d575664d804cc0d6369efd7ac5516a72ed84fdbf2b5d165b176921680bd9e375ace110a0f0d0ce08264db1632a4ed15a422c332031bd9cbdc5eeb861b18347169f07353b15a61632cad339d1f977435983e93b6807915ed2c286dbe97111d35ea2c3ab41cc4d2451efc9a33ff4ddb6ac3104af9a0537ee88a646287dd53480a9596fa37bb661f878c0232b7d421b36933102bd07eb63449923181c7c024b958db050a1ac8131044ee26526bed43da232eeb1937d3875b944a1c1720cf1a236e7fcfa4eddf37eb1749e2c837514f9279de7e6772c65876c1546bc34b267144a8439eb0f3b9c8506893fbbb273ef1982ff30e3d63c40e3431614aa345121e910203964ff3831bfff0ce81c576329bec42e5108eee21c36d0e4068937b4cb909986e8fa5291773d952bb38d4625ef3d0c71e2bc9999ed7cedd2825ec569a5f466481156b95fcb8a27fbe2295d92dc02963fb56ac92914b3dde42e435ea21e57c851f3964e164b81152628ab1fd883142c83a9428fbd609205bbd5381509d65c891aea1417a07ee86e10ed1fef8784d8394ab1212e829ad67b08af54e0d9f6040cb6010ae2a7f8193b78448c54e70e720a84940a8498113a649f00074b70b6a8ad19f8020e8c5f4a1a32ad4b28781f9b3d11d6f6c571e4d6b6d68cd7d095005c4deb2840c00cb8a037f1b5183f82310d5564b4f210d55656f630da66b182e2d0160a84052e3844bb6090c9517e10280054c682a78f670e48a0b4f8edaa41a606e424dbff5076b06699573ae881546d24fd8ca865f9f03f7351d370f705eb3c201cf492ece09cf1d285cedb6f7ecfc2019c709073aa4325839d85c91910ed5460a34c6b21db9712d58d11e53b9832064abbb852978556d30f709112ddba36a7c52d7f099a25370a3623ad0fb37696501cbb08b5117dca2c1997602a1282f9370ff174d2faf3dfa980b3adef0f15a28eaf142557da276c8694cf41113919ff62504f7368341f639f110e104d6248cf703cd6513d289266a3ddd6b103c6e5bf2d2976d3aaeae8d9bf204edd0f1dac9b0effc587cd314be595c8085f84b824e3038f534a1bbeeda0de6d5803a31537e2d949dce56a62b99c9ab912660c0d5ea6b1bd9a361c5d768f03a44b1f5650d7a9a504c1e5da000806743caf41a0fbe0c4d20d2b13cb44bb6e293163b1d29d6137128898e12aac438f1a5dd572bbdc227ae079783c1116e8dd2544ac7dafce62c7e0dd0d509f6828cb7d8894953fec474e041a45b3b8d197258433a32e806446d7099e7ca272cf0ead983a6f33d43c428c30713330706a65b43ffd29a4f11b44182a02f1160ab5fd61c48e68e0196c806e144857b3e4f4afb45737a7b8b466fed4df2f20728c6be1eca485ee84c258568d2247398c8f9381b267dd309cf6be1935dd1e0f6ca2e1fe475addd83d2a4b1a2b2735ec21a920f2fa0bcb0175d929515b1680979e27f78b844541f315d132959ff493db43891fc09c2ce81f242618f13cdaee40e280483833d811ecfc3edbbc8a6f1b4edcab8c032323ab05f906c95a25be128170232b16693a8bb0490e6425de81c80312b96981d1e068ed79b9dfa9450b38a2d788acc12a11ba6da6fd5e81b60019775eef538f4da18c34d467c329fb5c68d26ec103b847468a9437111a6d22a1b3e99386f9bdcca13089a488ca339b9eb9e790c235d43ea125d64414b02b7914852ca8156500114fe8d0cfadd7cfa39d1a51777dd7a7c51069bafeccc10a6d1c107fcfb464efb74b157f9f24ec69ba4cd6184ce9bd6850b1f628613f55510bbf0918f72476d6863b0dc30f0e8dfa6be9380f6562c5ecaffb52328350afc518219646b5b8d9738000b1d88440a45bbdbfbda3d3eb0e4f636780e0d64a9bfe800ceab3608f6ecb169796019998d109d5f0ec511f9fab0d33b516efcc26b2d7c89ab4a3181bc67280cad4650679aad43373ccccafb17d20254539890dc0115033d2f9e8e6ee360f4ecaf37d0029629a075c388e76c26c6aab25a2025cdb831877de7bfdc12b57bca7ee3f33f0a0180f292c30d9824b8628150280c25c428067e773418e73491d0b669706ce32927d23e90c7627ab23e85d7600489bf37d176f71555fd5d7647c6f40ec2855104755546b38044d6ec440e14220a3429720eb57a6497500b7e4effb48120b032c36182a7d81e1818ea3854cbb8d6cefb60f6797361098eaf0eacc4dc850da6975849ee14b609fd73c91bb672ce51722fa043959a4b6f080903446df41ef71708bf363d3bd260be156f0a49f21ac144fdf8c1c760e200443009e1bcaaf92af0ada6fc03271784b198314e056b61c59c63d5547998655031e541ead4869fcf5c5e46e898722c9f752ee929c0f37816237f4fce63d5149c7e595b2b39b2e9998985501642e1d5e36523fb4debb804b95702125c7761ea3893c89f624fe4984f2946f6fcbb087f68984dc6eb03c951b548054f25d89c39122a3d4212973851cf403012960d6afdd5a0cae592654cdd1e37b8c231c8935c6bdebe0d484d66464708c7753329f48cac1c12648ef7820a7a61c317d1456096a8aa8da457caf70b154594beb5fac5f61108b90bc9c351ace8716205181849b775c4479e51a58d42daab4446f36e55616762a97b76e43c510b3460bc82f78986c02b9e3c2c152b5aa8de96b56fbbe840a2fbecaf98db716c33c80329bdaa41f1905993c312d66e4544f49dd294f62b942e4d886cbd33da929a30134ca1e37280d183c243a8e8e1e8a6e1920a4d3661f0f68d0f1da457c0f0fb6af2cf46d8fb12c009a5ef4179be512f630f5a67fcc8eb26360c8ba11b311f72abddb57e9ac3b173d6c3a99cec06c3b95284d1da4387950f098f22440b0f1c320a22bc3d88440b9697a32e49a3b4130823dae615a2c22017183b0d0ee318c1e4b7ce3b9af835f384aa962adea276420c9b6d89c68d18cc439454f8f55c42e5e085a5dd9c1366d0dbba4aec69405c3be148c3c3aeff2048a6d44c98a5a42b505dcbc7f4ab6c3b9456e229e496dd287cc105098a0b9052d3f14916034e45b46204e9333292541b9d1512daa51eb67352caeb4d7590dbff388687f4945443af244e1db1ad9c164a60c4093f4a48ee4239ceecbcb42a15e480757033c2a0fc570fa148bfe9bc54d2b8505e597d6a442739c3d00ea172b600392597cb3955480484735583eae5a60d668e577e58e04252a0058511fb4590cdd177f6c0b7a1b7b1315b77fe32720d8202ca2172602fc3b5ae4cc037ae18bab20420e8680fa7b9118524ae1dc875728052691b30c9641acb53556ac62c9c211bd9d178ed6128ce75d15461ec9b381f4391561f6fa222050450de9219b4e71a5da8a6a18e73657fde81e4e3010bb2be49de360748ae9ca295d5ed3abee76a216fe3961a24b631924152a39f23422f7404d9fbb19a464707ff8a8a1da73c545578cfaff9808a62e5a429e2df12f5ac3192cf4fe013737ba37fd79791b912a0dd4d3ecd8f6559388ef234cff69af20ae8c42400d56ff16e54c031951a29667e6b3055f85bea7fae97bc2d5c620345e2795ec0e5bf3dd65e44e535b58e18a1ae0f19fef0b942aac448d211f71121426daad925d02e1a09118b8ed912ef5d1e7928c4fd812dd101584ffd60c49304ba8a5c63160fc939d5994b91d1b05157936096ac949c852943e7a1181fa96727e01c1f84d8761bf7f27b22a51c4baa90fa12e769fc2892824d64c4d1d2126ffc0c128b5f49f4894fa6e347a2ba06d546f53beff65662eccc57e61b8fc26adc93f106cb6990ade659685d68311468568843ddfe060c4d55870853bfe803533407815af9584652773656df7599b989e92ea1a653d0654e7ab881a9fe4615716559343a93085d589c6c5777c111ba2b00aad64659ad5b445f342b27f578b1a7b2f49618e5621d82bf697c0b951d8a86db42fd8188428a27a1d5ed096a88ac2a24c6f958810afefbb7c8a9f872edae45316934668884826a849f0e9e4d42bf68fb75eb3e392c9412768fb4570a26dedb95c3400927cd9fb06617b95e9933325eb9361eb955d64addb2125f83a7e4030e991532a5a25216763978336dcd4181eaa1be876262845aac973ab3b18f21b68eaea76bc42128d786e7729fcce3197c890b8764d844994a4d83100618277689a823438db5210e28826db6dd8357d364c7b9e775fea99fa4a5fdf5b541a7a231264734de32db9510aed375de3a6c8661689614011cf2420d5f894dd014a9e62ca89fb4c4df53d6083304379d0bbfb39dd4d84093adb54657ac0d7f0295771dbb13aef9ea4360258a8a9922592b816b6d127217785843869b3255b055e6c27845ca2ead9b6ed33bbe9721759c956c1495ed68332d213875c43d950a3df50c924ca5034dc78ca4f92f6a9789fc5f710236c77a0420013c8701a6237a78a10d25d5ab86ec6383c86a16fb7c2b191a66aa6582b64ae53378eea6523dd8866c22bde4867108011f0005cc438bb762267d2f7108544c5d563bc0b871d299ce9b9b7682b1d02b9b836e60b0dbaee682efa6829395565eba6e3a177abba161dc2c9894dedb2dfe56141d1cbc9d67d7d09d4a92494e2221ed0ab3a343974c55764fb6c4e09b593105d9432ce948847a482c2a4275d28b36f7726699ecce3a72770966be0b25b8d2f5d5edebf0c9eeca019d445afe0d1eea4f49433e5ef7817d6af4b162ca91ccf2f1fbb2decdb1c2f0e4ac550f79c595c73071825484609d32b66b0e4c5f316d7a5f5d070578333b8afa8729b8c3a514c737079b41f8e7d2bb9fbc466995ba3a1fb8ab39710dfb6fbcaa9e0c21a1a41852c979857ca9fa810b45134eea24dbd614ce3365464c4556ea7172b7b76c2be3df055f0b59ffd6002c242564d79d9903856077baabdf876121e5eeda53ddcd7d7a28d09af9c3da8b620112978e32ffd1fd61eed1c3a6915eae01bb79feaac03a158a19fcec1c4c548a5ecbd4ea3e75783c6b03031a9e0efad0b10feb932b85ca9c3d59d8c7ba1a4c733ad11d500173524d53ae28877dc59306cb153bb84cdfd159634976c38dc423da4655c99c986d4e42ae43f5aae71036071dffa15572de9229d251a485eecbd2a1253173a200d3c2add0d2de8d9779f24c611c94f5f26644b8d13b3bebb22d92e5df93df99579ac5ae512cbc16f9aa0abac9bc84c60687a97d3169b46820cba20144008d9c3c2bb4a4695de0be70fc8309108589aca022827fc43d9254ffb8823fb597792177ce7bad16d33c20b061137e6547203a011d5ccc2fc281448678c76a4e2d668af2e72f8064e5f26d417a663c63fe2d9221946f8d90c268b3bccf8d1906cf836868274134c0efc443bea5bb5ca59a36c2e65a0799e2acd2a86db4cb08b8970105dd7c7ddb8484ef3ee6d0fc8cc151075e0054bf6c502a0facaa35c4870fab15ed596962ae0006c4fc0f2989a8445cfc703f0a38af4172bdd283f256c7baa7df79470396a3199c84b7ab0a1e04216e38c758e5d0826abeeb8090d09da14cf08cdd631fc426ac02c000c603ce8f5daae42d035f2a6c05c91f1716096e31c56513c0f2d559a31f50bf43548f95f6cf60734d3ccdd9e17471760be14f7b2cdd3b870bb0b3c9f3227bb0eb770dde50e0cc889f144d06207fcc39143d73a6151c71ad65de5dc94b246f27b1a40bb0abbb9db2dd76f086b5c8a41d7f0bfb65dd041c215c16783ba3e0ea5fd20f9c1443b97e40f124669b1d0202e6ce9dd62014fbd9b9de031f2318d2a890da11d3cd79d94804ade3c9b07b0475416a2bff6084122f421b7d2fddad5e497bc9e37bec2c872ad00453a439c1367e728dc4a35a24e5b2780e3568e0b78892ab5eb3cce6ed06cddd9031ef0e9a579e3d7246d4b853a1322018dee41adca799619270cc4628042f645ef2c3b1c20fb0f12a779aba35691cb23fdf172cca2b168f1865efb47aa68e438ff023b472521f8c809b6a8d6ea742fc49c93e6270fc0c37ed6cf60c3d42fc27a6cbcea03c28e8d52e607bb31a3f219f01aa1154536f28391cee3acb83bebdddf97d72f95a13e7816cdcc4ada97f719879ab19a8aa750dae6c5973ce85088141d600fdf85617895084fb67e966819ce84f3cfd4edbbb857bb9947ab744c30ae2a393fbb5eb30ca208e0861242aafc2a074bb8cda2ead6188eb47bec6a8ef78806f0a42268b21024e5547a91e7f933207acd3a769cefd35fbb6ed3e12d52915ee5f9d17ea40ddfd52596f06fdaffb84cad3e0e1997e380b31edf6be214e751f94ff73c456bb89509fde58d449ecee6017f17d7463194a473b787bf60808bba1142b8ac8f015a346df8ba014b73229a7328f2e10380106d106bfd9f0fca1c95ea10e52160c28ef0b9ee4523215e51189b2b473db78d5c28c5d702b47043e972b26ab198ba216782387271359193fb86218a6bc39abe8b92e5f2d316b9d1c8d6cbf45cef3f1373efa4fedf633de30a781fff19e434dc800c093327c889a1d318947e042af597f87302b8cc00a7b85bcf5a7d25e7a2f1b0028bbb3563ac95f28c9f5d299868478242588cbd98445cadb8ee82ace27f06eee855f7f0d7b05de9d1538f6c1ecc373ca0b334e67f200ed4253ce474fa97483565e32edb1be85794ec3cbe78ab146964d6f24b28ac8ed1c8b87147c70f59d3d6048ac6f9836626ab8351afa5fcf52a878db7dbec44fd2a03b976b400eddcf2a872f7b6481e1e6d5083c9d0e60ef1774714696d693af8dc8c2b29799ea71c64a9705ba62bab057abd8186bae4f3ca23ac192d4808dd88a32c694f42077e2879e6e665532fa012548fb8ab09609744eee5cca045bc06d5beda9c3d574eddab2eeb0736b0d2aab1d344ba7b66054b78e3e2ea3ac84d7420acd248b209982d50fad27c9755c8665ef421e66f0ec38d3b57ef0fcac6c0d798ca730f5c22e7529dff19517263e5d73a298afc477443e0c34d98632e08e46559440e838840037189eb9190f47f31a17cd4d92f92bdf7fcfe829d533abeb397a80b03abf636c6968c3e43a5f76efba0870cb5cba79319cb5ee1beda4fb02bb3a7806fe31e45283029c4ae67a5e7e17601adc6fa456e9b56c2649ace5bd7954008f60e71010384de04f5a635e12b9c521913209336c82dd7b0c40eca0f24aab09dc8177eaa318c9bb636096a4de407836abd8eee18d3747e4d529d5fa76a426a2efa357e39fbbee527f9b5736120c76d1a3eba4e4d60276f413ff2b8019cfb073a15cf7fdee0b77c108f4a8f223f2982559030af4ca036908fcd7dcf79627b12af418b942097cdaf10e2cbff1055fe817ef292df15fa1e24537869b7a9df6e0de5621b888e4510c0bec308294086f8c00b41ac86d2964ca9cfb34341af83986accebdc9f42281bd69dfdd380e5fe978d314a95a59868f4dfc2baed93dfba7e90ca522c23ff3c0c3871dcbb08ba08e889ed8dea9b55a69b2be3319ff43b485fc0150d2000ad1d8925c927952fee09a5d053b9ce5272ea36633074c6e58b917d351a03682141714d8536c86246d16ade921abb223410a64bec6a97b31d413d94020ba4a68ba10c3d214081a3128b7fc60bc7957d0c4e0746ea5557e8484306b8606c50071a9c45d741f0684183ea18305c04dcd4295fa325ef66c13b75316b6aad35053b1e3a4000a8cf95ef959d01b4c1f2b787bf8124544fb2d1399883d01902249e3cdf01cfb11808579fb8a91ef8cb00b90b04a4525b9262273a83e2fb9fe1fb0abf9107ab63d668bf8e271a71f85a68430ba0758a3c5d5fc7e492153b96f40ec4c6342f233505a3a03332c01046b46e737b54414bb282547cc7a07a86c0f19df0d4f2e04e6ffba1fc3fa98cc143db7f73788fda65724ce09515d5654409d7334b9aab0c906dacec25a2b4eb86e8a33982546540ee66b3c581910727f376370f92ab54848762f921dbd8bcc599feedcce9518e959faaa92ba88e6cd0b95e8ae889906020245b3c6e5d20d4a206b34ddd5d21348adc4b0ce7b7303c64cc8ad483330b16c45f9a1c17e77f6f06daed3d4b49c928d9bb2e744642dcef8b3993cb6990a0981edf6b0e4fef49cae0bcfabcdd080dd89bd4fa0a812f71beb242d4e2139675d3657c928343389136f208d5b6a8dadebf95f3a72793ced2d4b47ceaf25ca3948aa2d28ee4f06faa9340f63b0965a615fe3153f0452f34f5ec1505df3fb0b58b062234bbd6b0b372c208f1640a30c7b7e440c40f4ba382e3cce08be890ff9cc9a11db32ee5fb96baf0f567e649e4162f943d0cdc611027f1546f4a7e2d2cf2ee38d6455ffafa573de8a790dbf6648f26b572a5d74142c120c14fe2e3ba2bade272b0e17364cdce59a6b0d262f22c6dd71866a6b7a889b6f44ecda474b1fa5ba015686667ae6bdaa2992c77a914e3913cfea62032e4943290c90380097a418b3b34635f9c2a0b87ae1073d4c0347d381b7d2d584cc43f3fb43fac3da12a2a040c38b4dedc39290d9c82b3b112af6bf33206a520cbf554261db36317643f400913de5ab871d89702bd1bce0fff4f9da1dda084f9ee9990bd7e6fb278780918971f95ce612a9c6a698947ac9daf56b5773c509f7678fc4af058a6b084f10ce907ee399af2468160896d33ceaf5b72130d2ea78c65ca130cddc16cb5b7dfe816e7280a0e8aa91e460037411a86f79e635352be3acc825cbe8c532a3fb48e9ef9aabd882246862a247e015711af6220bf104128effdad2c3730b4e56c02965a21b47ac23b11cb7e937013b58767f7430c4a1201e9d80486a7c801d5f01094c678c532edbfc0af309e8c0765a8c2512bfd8af36104e912f47623fd0d40bff277206a979647eda597143f0a9b44ba5df91fba84840b75964242e705c47f173bc6b44fb9766c6801e78a117c8f267c2a3f8087919f3e71cf5cf6f73bc20ce5bf203763787b715d5353752406a90fa076d91483a1c196bec5fe2e29f452f2b829fcd660bd8c29e419cd2a413bdb439d1d1c9b481e157efb3d605477cd788dd12d39d01de8e94ee7229517179364611c0f330638d2c1a179e1541afbea039dfb5180f91ad789772430737815edf08918e8ee879dda558fcd6b591309173e66a894a7f8a96e8375ad6c5a32dbf9a21798b5277278280ad71dc9e9b0e88234ba89721f609084b4c9737e614f291942ee4dcad1658f92eb746d6e84562f760553c083ed8a1f067038aec29a5106978d1b2696a3292e568e7679dc3a9cc4c82a6caf27baf36d310cf5016ac5d720a763d01fe437226c7cad36be5eb463819b11540413842f8b21d84ba1e41432a534a2842e16a632b71163c72a19be7a8386fab4c59005c06f5e16546d4d4c5a3b56d2a74f8a27472eb3a8303db54d866ab9c39294c9c885c50bf35d48742943a7e0e222b197a47f0d9cfa6d1499de2441d630af124aaf8728586d75943698c1b77c66fc31a1cb12b77ee42c730f52261279d47f635e50260015cd34e3473bff5bd20c9f9f4adb0576313bc1b00d2097e6be5d7014d9d393b5ff421abdb1bf84d7d9f163d9ce485d39bf6fcb2b7163eb9b5c08e4ce058058614236af809ba52fee9b70511629b78950762d34cfbdb4f331841ccbc49672501cb9e146d6ab4eaa7dd05c4d412337f47e9a6bbe8a2e153524057f6651d5c05ce364a97701bfa84a2b4a12423bd61507729140683b7f0706505cc43f502323432e7d8e95bc83b9db594ff9fe8f0eaf08b7eed25475aceb55f8db7a2b1254ab7ecc8327d67e842adbd6bd711d023a02d41b281b8235a379f98c3e505a627b5600374f177fe7696f7711ae13dda8bca622f7048f810e199293e3ddd6b117204ffbd42e47c8344be0d47225b7228940d3c6a61e440c595a912a6a93d016b445e33d826e9e27ad134075914475c1449047e88d670591bd7b1100346958cb3ad55c766031cdaf732431589af0b7c5cbeefa9d09457cbaed0e479d8302c8ab454389b262779712fa49ed126806a7949e711397b7ece06d73740d532e50a8d6fb12e472558b690055401050fc4a8c357cd78b0f5cf37bc05cf1deccde3a521b9da7f50099c8d5be384b81a04a3b958dfdf0c5e17032403f0cec8d7c227b126f2018fb0b4d728e1c12473db37557cb0b4ed449ff8846d2dd256fb73ab700bd3059ebfd0847686e32781c4b70772d5a3728cba4f4627437c32c74d2e8aaef9b0152b24dae4ffdda0a043e0808aba483ac3e565c06320b792f5de8d147f490f964c91d54d2a0d34ee4a3528578e2795e0726237f057a560024d63dc461477bb74226f2fb297135e7f63e5bb6557378523f2bdb0d80d74debabb088bc6e197127801e03e76e2f556f64089611e800d4331111d369f055ee4079d9503af650de564260d5e1074539bda621ad778a9ab7a538953c8fc37b54304db08ead1dd5aa28e4869b84c94706c70a31eaf5c090ba4c5ebc91758a17b7b65f26544a9e53958dde30c964e105726d28b20096c8c513d606356381e87df83edc3d13464bd00c2131ba328f25f045899b8626184d3b44238d3bd497af90cf647705b6cf506750bf7ce760484e0d1f90338a3680e2f3e8017fda69d937f8012f83b4991a340ff2f6da5c0765ff15d0302c1a3ce3117290cdfcc6c068fff25b79a111615a1d6898de7fd67c95ef492d1440f5c02d8d519d780b30a2b3fe9331c1e0b10102eed32491f25e7924efc9380af3a86b8f20aacdddcf463854b57feabe13870c8f54a5d59b31b80a259adee0cd444801509748f076c38bffe712a7ce64256db761e7b2a43793709c69ba06246c7532c0f1dedfbdbe8cd51b120aebc7016773733b752965a4ca93c080994114094f59798f4792a681914bccd5c360bd77031ba2bf8236b5676698b8dd606c510e26e0fbcd88e98a6549d23897979e0480a907a7d4241d729901e9ddcafc788b2ecefe2cac0d50ef97bb284a30d5134632e98ee134c6b74e81c1ad5ce4151da8345ad1b854407e43d8bd9d741d60a6da38f8a4c28ee41ed0cbdf73139a3a1412d3f11c21aa796b62ed2457d31cb703ff78c147257f2b31c90adc5d93dc4542a5cc69402f9d618eca582c9a22f2212a0ac152a37c91c4066d01acd5ba7a07b377094061b5a4282e8fb156091aae04bde43cb201a8a1a7d64ca678eba7445fba935b656308339f6c6368dfcb289116312d309844db541fe9a59917e3d58aa9220f5916f0e49ea4e88672c2eea7599f428eb024af346e66a82434099ef4212dc442a285950dc05c7ca20ae5b8b58f2145080d24a2646241a55208c747159887c94c520c527a0a6e23da3fb411abd43476c257ec1945a848c862153f4820a97ef3a5b7fb49f14b955293415fd9a1479dec2eb40c578da6ff8d64911cd786a3187ebf7338b760c775a5c72a00579bf3198ef06e6d71b1879a7cdf0db9ba2982df6b5c9cd14ee85e3704410ace7dedf3f3316f8d1bcf45a1c36ed9aa4b44baa4631693b0a46b66ed441fe763298745cfa999f09e7d5c7c8b888fe772e2ad061ff7cb055447ffb08c55ca27287c269228a0c3db74d190a19584454627293af886ec218a2833449621025c9555c7dd008bf77f174af85ee45e7f2162afec8926cc7e3fe2eb3d8385a6789c0f2f22a72e225ee45c6c8e48aef4ce92c9af7d2d96c795501a8457378d04e2e24df328bfb46bf504ec16ceb3e1c18d50c0639901690b7be1be2c4a630d9af36740c918cd3b138419043a88e8f368bb24ac338e7982be65d58703b75fba0357fc277282d00af3812750d33b87d05bbf840ac63ffffcd30c91cf70478967122293315bb2630c15968648db62241f7b24dd45505a555f27814709b950783a13ba26cac65588c1adb3efe9ba3124b6b9209d8d859bbe29d24422a9efb9090b29be1187708c0a55150ec2ea0414b7e168d88b18dea1a50cfe311cbb3babbd13105f270354f7091eaa5dc4adb2fce44747e7ecdf90cec4f5afbc4148256644a81c249fec4a8674206f8addef2fecb04aa0e1693a2c18a2df5a69e6f21d9e45f6bae416b2fdc11edf2b4e17d154c234a3883623b9f4974ae19877438c6d49f0f3318fd1d200512b26b924cb3611f140e1e0657b8c7423f8c9b318ef5660c5b155c0ec8b068952d8ff3a1aa207ec3379ace2c699ad4184a5fda41639a6312e49f1ca5762de380a78c1de7880640de0cb0639b0035c9967900442654b30dc77bfefb83d55485bfb68e023f3de6585b1495a6dd7da174a0c09fc71a6746c9b2dcae9ee41ad6360856f8a54dc95dcb38e0f3f18dd9a31bd10acf04d816a04dba650e46c884aaf670bee75b69edd90f578b0a7d60fcf877940ccbbbea9da391666258cf4f6e4aaed562a067c61f774401fa5812db422a26ad156b4dfad34f2be39f2395c2086eb5636f4f207d1cf0c371c69851f72cafabe77c06ad9d46c4c37cea32606b17392899ae77a60563d50ed5d94da762b4e9a60b2be598d34058288107c5a1ae47294d1451285777f846d41f34c35285f8702012367ec886e8d04d113eb982552204b49f5d94b02475b473d864bb7e8e86220769f2329ce82ec303eac3062f79da4c83f9099644b2a195ef2b38ae9e6ea75c863fb75e42870bbbab29ee6df6eb61b2d9703410a3369223e001599c0cf24dd092008c7f3dfb90b927af4e4e154c2ebe0e277f12127c4d508fc473f9661a345b0b6e4ba551d04970ac540b6de2490fdee4a5189354f6128318d0fb33417c020bdc7d7d062699b5a55b84acd1b580a4792cd4298a321aecde513a414a5aed9c6e6ef7d8a09c3a1b6719eb0a689be9a1dc9a047f2656db408253febd848acf7f1080dccec48b648eb2108cdbb9648e24e301fb352c5e1ac86928a5251fe33619d7aaf2d631465bfc9e2ed4d3babfcd1ca1c68bfb02634b7e4e4d0a30808f8e02a2ad625b3e5009542a4c0c16aa58349b8819dcbb66fd0d2e0b49636d284e6de0df15b021d769cd3bd29aaee3ec9390967447415e81a45810abba635d7ee697a967dff6b061ba9e32632aff53364baf645cef78b24b95da383c352c4d170ca9ac60777383293910c434cbe66765bda53575b7d99b78e7e7be976e9807cc3f142457c97f005f9f3f28577143f8d65264953c6e729b0fcee5fae84fb77e72fc0ae51ccda3b091783fab06311798cb77e2c1201a9944ceea46b5fe649449dda855835877025b106b8f22d9ab3e0c5bed7351bb43a763b3d9c694a9a317b82a697c2b1ca81faaf4442e74b4f154d8c3ef11e49e324d2f329c021cc1639956abf4e619135ba806c50ec39a7ef93b08ed009a2bdcdffba733d9b80d44259ba6888eccd3f4246c32a2edc1ea329915fbd1b77bc427a3e0132fa50bea6e0d4414e20f2170d2d2864464ea9e4a7bdd2c3905df9607f818f74bb29ada024196ff2de7df45c52218b64a9354ce9ccb02669db7445fc213cf8f98277af68013845fb7365a8a9179eb42fe27838d0182bbe5d11eb973fc6830d881b209170d69ce806045945fe609a748d79aa463279f271ee2742589a8b124eb368734e221afe1da88611d50bc3396063547dc4b655f182b95ccb9be42d58822196f2a049f9b6c02424a735452cce66facec297243c01f1d311fe0d0586c1d630c42002883b74286c10b049ce698ad39cc20fc1808c4660f73675df9c0ca7f4565ff408cecde84a5d61b905af857b3bf8c5281c2e6eea300044883f3a8b97ef67bc8fc5102814f2658833768d180facab3eebb3a21922b49439267e44fed6e5b0bdc307127d008dcc1053771114498926db0fe9adf7aaad271e284778bd87b26e4bcec45fd13478241eefbd35a8bd08f7c35f219aa16076dd8b142331c1c8275cf4e02749b2459acdfcd03248b3b9316c4e280e6e89097569fce0331dae98419785580436b0a1b1d10e314d6021340ccf7fc2cfcc024ccb116daae761b84ef067a8461ef1c1130ccf2b5463f99e3094acfdcb11e1176dcd9c1044947fb08d31043e9ac710757ba9cf181a14245cd0a3eee9198f42aedb9b20dd8b18f67de7dbe18ec1c59be0e40d565e0b5d7d823271058fecb4dabafce3844f1033f0f43378a0a95c25f91853ca4f1c315c669e543e1bb6e94bb182b331a3fd2f6665c40e98fa02ab2b587d283fddc6594a624f6882278db0177d37f59bca422c30a753868e5933768c06e6c19e07f108a604d7070b1ef2f455506fce171ae3dc51734884075965be33defb611531729b94203374a85bbd7590efdb00c5f2eb704bc915d9958af6268f91e5670f164c1a9965c14bed6bc9109ef2a143b14268bc2209286152bb9df0aa47c73ddc92d3e045aa098c057abc2f9b9b65cbfdc26f12f2669986cf57bc74c1333d2c7b79cbb75753d6712ddc72677d86784fc6947ec30c0f0ebbd4f9d79e5c38a1759ffb576f79e22f9f68a769b49e0e9e673b8f4fe0255bb900b3fb29bdcec7e50a858cb3fa3d79cb12a5855ab819f5faa533229428ec499244f61ada5f334381640b919e5dae4f3c3859ba12c330773e89fe8a98e732d5f3c4e86368b14f16764300e2cfe0d6edda2d05c81a102047bc6d79879f6601d3c81bdbb7018bc9b1c53ab847f14d8c932a7331bd0aa60667995d29c3f45f8402e03edc8b18e0bfc4a69469a63c331ed087c5baca42c571c0b68406947607a43d523bdf733fec3327967530beba52106d35608df5e31584595298e3131e546cb9868a23d5cdbd071f2d95c05f019d9ccaba37568794ac25c84364be56c347c7432de76398e049c3ab11ba2e1422305cb37f5f307c5915c20ee46eb1576bab96dad588c056cc3972a7550dd25d85154e003c68b053f3aad2ac83f0046a88f692c16549e8fc50b1ec39414286aa25def28d64a7a98a2e75cb484937a826c5e0050eb568b36540d1316792a6cdba2004a432b2a741e98a5f681b43b915d4e47e18bbceb15f0ea2159136aa88b0cac19722c13223fc501e2b89b3fecded7e55f67f3d485bd06085e975f5f585a358c028475023e3b094c5332bcebfb2315eb70808a888dcfd0d2c79a6fcb71e106d01f117a501d3ad8c697237cf1642fb8af1449ea43525f041374f108db40eccacc9eeb2ef194eab9cf7b9daed83a4a6d06654af3c477b605ce2738f3aa1f125cd99f44927ad018a04f4f34c6b2e197789628121f204fb18bc542ce21b6f1110b92631ed9419e8fe1b914e475e20018f0bc7620180ee69a90d1680b127ac60441cd978f966cd1fe410b26fc6f23f736bb2872128bf9797c740295aabd920f7c27247440a498d2ef9c9b376092d0da30cad817d9b712955c838a94fc2d22c158384c8ae1d07899ce1192a6e589b0092d4d6524f4f823b35c0e5c65175fa087a2915e9b2e0596b973730f03a76f22dc9d195c31c684768fc9ec57d20d8732e2cfa7c5336ec91710876b0ee1a777c934a52e009393cb7791426f127c2f4fe02c17aae4ac304e56b8056695da1ad1801d40d572d5714d0adf006bdfed1dda3f04eff3ca40d2aff334b25449857ff41b86f0b5248d7f29fabd2ddc0dc306aeddb31114226576da9b9613a3b95b4404ab03332caaf9892d02555a93e3486b0369f6e11261a47b8cfd3bedf11d5fd52b6edbd3bd4c82118bd11ece9206b85dfe7fab5b20dff9eb329700bf0924ece2a25c2bbdca792690436596295c8a8b90d3638699c4c473d8ebdbdfce521d4814a55d919bd94d33308d9fb3aa8d64d53fafcd6dd7f6142a7fb710a5c1b819563181c039cb3955a24e3f3fb874b38dc7b69720e5e30dddc245832aa8bb14a907f512d19823b6bb41845263ddc70640c4580860c6aefe89badb4a56969c88c6bb7fdfe9a3e551a422ce9d1162dcc07e9aca28db5abd481cfb1f13e00ea52c3b02577ec01e032520a58b9423d0d0d60f652e7c4621d9cc510c02c84c1880f41294f4859b2b43bb6cc49ef84b320ae49453b487022317deda0701e66a6a217b61966db554be2ae91bcc2f5ac5532c98d07d2773da81c65a4d56c92738b0d2d74fc94e5d1e859953dd1d118a4e1bcf1edbda670c644d74574abad534af9c9f9806e95b64468611dece14c6ee0eb65654518d3cc0d335880d2b204f935b913eca1e51b2b5d8d25c542d94fb93ce747ebc418908f2d8ed5658cf3a6b77d4ca37fedddcce459622c3640a5025890df47f943d6d32708469e1a06bf8fdac741ea351db10f45265b8dd1434563c8f1ca4d64c217d8b280d45307bbf4fc9fa8a302d2e28f6d290cafd17356d4460f6ae4d45fb8a105ab660f65e97c27d15318d4470e8bd3d857b15297a9e60f66a9782f41675ba9480e8bd2f957b2d225ab840ee8d73b49e98bec01a17484a3d2b5d96baab6cb65db550f4b6d52ae6a25ca61586f2ca9a56d5ee41c6413543bb003b807d6a33a7b21e2da24e0b93cbc946bc7a4bf6dc62be955db7ca176e39a038e3c0e5e3a529d1d8fee92ded47177279af8bb44d5b83e2702d852d526743f0cac46aa68f683d93bb862df5b792d3865143cf75da130be25ed02ee91698ae2222a480fc1ebbe07e9a560f14216c9ab869685a8302c3c9e2484cd32679c44d3af0afe987eda94f295229ad65f218439cc6ca03dd9ac33235084c6fb928fd3a6c295c0a711aa681fff516516aedbbaee92a61a69c47371adc608d952a08d6fc0fca94d04636b309e4c6e21350eb271582471f18ffa5b5156626daa55cbc6fa020e7f1d31916acb419e8a707ff4754c2b400e88f22106f199699a2356dbc1599d49ade23da870c48346989a95b5acc4ea519187b22a154aaf08f31294b15e72e481677e338cfd43b9b7364f016af9b30b9394ecc4c80ebfb19f4963d545370531983fe6dd5bfd5d8e91d2df0bd2f1c70318ce053db3736331ab8a38d94973478da4225b2327ab64b86895be027a9a561d17d1dfd48775440be1f184593d1c0d609c0f9b7518b2a6079df198303321da52be18ae3ea8040a6fc42805c3bbebc656cddaf968a4edd22374ff2a6bd54d2b388d36f1443f6ae9d4a7b15159abce0ec5593827b1561ba9460e8653b95fb2a229a9ce0ec6d2b85f42eeab42cc1e8652b15f72d5a74a8a0dc6b530af52f6ab44981e8953e35ef2fd2e84881d47b670af550d4f42f8b217adf4bc93d8b88162e38f7a3794d0fa62f9032762e8734daaaafb0a7614502339661b4ce95f6253533b4bdb9b476a1299018ef93ad2915e8f3847e6aa8b5189e7cb0f271d7484dfa59a4bbb1531531ee2ddd668bc8d57ffb9a9c3d9fceb7376cb7acc78ace72d7f6b4ded60c4a208bc5cc90ff08393d9be5952c15699c8103a3cc7107d63f7c383931c54a9996d3a4dbd2d727c48e7c2f8842d814ed0cdd0fabe8a79e625774da7000acb7c77a785380b305f6046a23c4b1f1282eb956d31c3e9601abedd0bb6cc089f58bf12f1d2253b99637256e61f57d57740c81972804552ff1b33bee2ec8b74bba42a3707ba5dd199029f0a1ddbfc3e9b59a025704bba63c5d71962b9a29cb0c6d4ef5f6dfc2cc6aa55b2a4aa432fb1742bfcbdd359b685ccce2c98f5dbc44ba3ac9097ddec60a60a92dd0cfad587bae1fb1c501572f2b9687f273fca055ba0083a5fe8bb69f1fc02263147fedff019e5b4768d3cf6e7ed823ffc16fbeef8ea2e261f65d04170f2fe5d67e21298b9d2976a88d76ffc3b6922182b23a6d36440092901db410f4d7442e565ba56ef59b58ef898e85a6f7401f96fb0c9f58c1e558f1f6079d93bc8096cacbe83e74efcce82974e80ce8183475a6d15f9202b7ca8b5271423a033a0f2d3b233a05fd3a23e83b4988fbd8851b7ce269e6ca12ba6f063a087d3783d147929afbd825373cc618cd840f8a7b6733c480e59e6d46c42e92c0ead17751cc54ee237fac4eb27bece1b78ae358c407ab4da456a3214d2631f7dddead46f23e76ecb3ea8431c25f2b9834e382d8321a3556be19c3f95af53d0fb9e27fe699349338c3dfd587373c89311b530b03887652d79bcb9f394742d25dfcb52293ae4a85fc5eb252b4b0e7abb9e9e70dfe3d253fd5fedca51412135ff85232222042f9349dbf87ffeac8d0705733a5b35cb9d9eb1b2500c1c658b010da012e69db8766735a2d6ed3d9a5119826b0dece6fe9818c03f71dabf9e221905976b9ed28d1690253bef6dae04f4d1dac7ecb2f2cc24a3b600f9a6fa18290cfed1e0049bfbb143ff2fe2dfd3f57433f61fee2fa072ade62484e4ddaa9150899ec3c70f08946daa7b4d43eca84cd964126595638cda0516bc8611ea423a6df5cc7eb3b5756e475eb209d9a72585596e9f44fc39822b5aff7edbb72c6eabd9d2bb5d21ee1bdd841420651dc5c9b026711796f97ea2f2f4e9e824f23d9ceb45df42b911873cadce8217945da8075b45c723245fe950c92602987954b990eff35842152f878dfbf2a67acdecb79a5260f10beea0d24e490c7c9b5a9702ea2ff1a690ff261e7a1b83492c50dd2c3bcb24442b49c93a4849fb79a257b915d15e0690081d826eb8e6f82bdd001d8f954acdf59d916bba72b48bb6f8d627a3a8f1e415bc88295a304673d4200a3a19e7f431bf1341287f21849934dee47fab5cde757fd7de86019204041e00284d4747d9af894af6ec244e2421a5754b840c7c522ae9a842ee090c8fa3d7e09800c25f209ea0d2f803ea6bdf7ed543a549c5a44dd8b48df872f909d04788a0763fe18749d59e9bde38caf7d24416bcc0291dbb730ffc4e7178b54120a08f4d16ef24321048dbbee5f1bbbf877efa0371228a4b4ddc564391fa218cd0173b391ab4bcb5fca48eac356872babe3b0cdf1192c5b0f2f665a56b9cf04fccd135366f431284a7b5f022cf91f9f5b5c5d6605929ad81f9524cdfb7396e4d76b48688bce2df93f9b644e81014749271c0e3fc65512140f2f81ae971936dcd9e063a795c81b0cb1e5c69354e76d68502104fbc27b47949a034a998b7b301021db831c88fbbbe3c666b46ce4cfb56857893786d77549b7161316d05e3abd7ad4eddd4f3312b933a1123702f73ca1e2b6a39ce9903bf59199a7c9ad521c334a5b4f3de60fd90a6fb125b4c530dc37c02edc5267149c567c2ba118a64fe511db868959307d338a640c74d37759b351ceaa66a5da7dd002d6784dd3a67123146f2aae2d44f0f8af542bff9b13fef4100cf5d4f7ed9f004cdf3626b6151b85fe9a8d84b8fec75b3805292572c2bc136304b6ddd7589965d71c0f41af6780e71b85aa1c72cce2decbb6ace41a12bf254495084b2930dfb2788f2637253fc76c1cf2fa4d739eeff43ebfb4c15ba933dc939ff8d408d559351efc8917e8b2cc774c29ffb155254670d68a007d8205d8aa8b039e8d8a6e52d19fb40ae506d484eb75bfcf76944208138418b4ce0b88405eb604096fe8ef8269e83a5b03a49558b774584b69d30517147c75c91a1b7418fb7b2f0127d4556958e63bae434de9d83efaab709edfe1905a51394e792fc764dbb49a298ee2822d42424ae63e3b4803808f3139d2cfd031b23a8faae8fa1c758177dacd3a4d7ef105522d6ae72397b6f3d42bffb762747a73a7385f1b480f875b9a1c8cef6879a7f475dedc280ca25aff3bed29405038c82c57baa7cd1bb1855d97c307e12053f37ff76013782b37896a670fccd676ffbd3dbba01dd5224ad6d52f79b9b0941b49074d15f3bb23523f17f61661a88257a60022ff63c0ebcd0068c050993254258a7ebc40e2b1ca443796824d041b377c81d6f040f83da2b93994912996b566f81dfe8076ac15553b304cd23159e1343586a83778d2c7b885146ce2e61a012386fca52c9aab26190c12662551a4db16bb2caa1bb85bcf46e1d8cbd44268782d7f49147890f135089cbac0bac6d01ae297409d88426de62d6632410c12b66f2d66cf0222357f3dac25474e0aedc931233d70ff85fffa7d543081e55d952fcf5349df987cbf67b2dfb2f64225b0d5efa13306b3904b95c599ca91322aebba11ddd72605252f173a3f9e339cbb4db9aca1c2875f2577923710c62574410039b942552d5f2c603336cdae5de91b65c7e39a5b3bb0177b05cec308bf502506ee2a8e7c8bb1a4841ca2884a8d018c0034bf28fc4de1712ba9845c222366ab038d7a28c693b25686c88ec621cb9994c0c46ed91cd51200aee17a19c4a3e963791a28f3c5773eba1e1b88f1095deb6553ff3eed2947702432bc3944d6998f222f7c2a20d8d8a999d4778501d43dde876516d2aa2688137eb40100b9a3e2d111503ee655d7c5f03349b874e72a903e6428d540a2a93a0d6330756d7d691c4fce1f0e29425dece8daf083134cf9357f82989ce682a0a820db49c8f90534298e70e23dee3afce6a4a3a55d8069e5387e8110b8dcb4ab8e3d50a788dc4ea67d38ed619a6337137aedea338fe7d1df1e91a75264ef5a2d1060c31a1a592db650424f7a40ffd42ab49680ab9f1c15af04579a04470410f062760b04fb36ea2d3f1292e47085d0dd7a6bd2c742d6d1afa7edd4d4290f70cd809bd94359274509176dde9954fe834f442a51728ff60239af4191998d2233c8421b914dc6c8eab1a849650ec1569bae13c11001d7220371936b15f5729409031667d0439049505a36aa08e6bdce6c19ef3042732bda56d244f543a866b5d7e839dc2f41c94e8afb6d5a0b811bf1ec1a38d32bed452a4aa0360b20462323d2a594816f4b2f1153f239b2c0ff684627a540f23fa7e3cc28b0ceb0ff7487592936ff8e9c63892f55dff822deb21074caee993a9d379f823300bc307822dd5ccc1e392d4bf8b8a6e9fe8476d4218d7f17851616c46a76e1026b2c966d146f7ecea0a7783002c1b5cc92128e5be20ce4b955f889e81f55cdb8811efb5cdc2f7a0b1e273c6b9cee42c5a7379bf1d86c477405b5565b3e0493ce99d0ae10281a032ee2817106847d8cbc3b5ad785bcf73656ee0fa1cf685cbb3e05046388bc2cd509d5c50c2f806493974b4e4f71388a01c3394d57ccb80335399a024bb685cc4b310d39cc886e3ac6f80959b9057fb4905e1bcd42bc08f35b2b150bf474c35c386541e60244b806b5e2fe69bd77d5d58f923ab5c61f68e7fa522379d43bd0dff6d6f5083fc6287c51f20b3064824e9a28634d051b6a65c478b8800c58a0ed810d87c3c7d94d525be1e3da2ae134c9dfab52d31415977f5257b3c48139d0df3cc061b4b44f8272185a5670b579d70d351a35c10261918d07c5ce64c8621e0da55bc2af97ca01a485e298a64926b57f4331c67d00cd1c8cd50a53534e990f2d50f73a600f1225dc9867480f31527d46dd294607116b326dcda73d351dc3a413a065a084f55c70e7446217ce758a246aa4fd4274fc05d69060b73bf0d3bf69867f04fe0482ae8846cec2f2978abf15f6d6a26cc3bb1c373b0516be5a34986586086014cee700096fbbb4a996fdd45b594e9599920fd91fdcd884a7585670a3be0e19c275adde24d366b25b94cf4abb751b93500f7c502857b20e7e0146af5d2c43251fa59879b8f876308d2ffe7ce0eeb18a8e0261bd54d62117bf9d6d49f985aa230da2239fb86a3f117ec99687cab10ebd31110496bb78071f21bed9ba38bc6ce39746f1c1c17694c05a98542ce782b86a75d2baf4654d6b6999aee66053ed84305f427915253e7e803394f761e85cee9418d3f2d81fa5c91b594342764bbd46a2020f3bd79175b92ca2a9c2c49c779962fd653da073792689f58b909faf108876739694181fc5721d6e81474a3e33147d32dd765502a5a436f62775ff4e8cc63a17c1c4cdc702752efa80e80544b04854314f7cbc8f1d4cd2bec66635c52f562331654ec50765318c2b42e13ef0c720ff0a123e09858d454584c19f3d888ee171c311892c01da2e46f7b2b19918cd9eeb5bb1bace38b741404a2025e10d28697b85a499d713da155988d7099410fd893fe0a3628a711ec41bd9ca09fd41e2e5be66218594a0006b0eabf3d39fbe1c29cf5041506dd79deed070c9cbb6c74b0a48c83d6e44223d5a862597fbfd01a004c850ad351edb0f83cb30e8e11bfdc6c420438ea2a7cc60a4001f4acdb057446ff4005fbbcbe300b1d968a4a25eac81c6839d3010075353d57d595fb0a8936e9a9953cc38da780da7487ff7d7f58d0c6af969d656fbae96b9725f8134f703cbf8eccb0f7cd4697b77afb62ab322feef587544589fbdab57a7cd649082ec49b1b85bcdd34ee677a8bd9958e5bc578185110c2a5e87f2f04c0528a87838e0a0272db3a9c4302e256c117706f8f35096b08e05a924e2622fd2aff1400ea313fabe015d09d4586398b6cf3fd9a2835e38aaa4d4323e10b5e5da76bb4d6faccffdd84cb0c77adf394dd31882ea477729110285eb210e53188050b9cbdcacb9ccce18c2260a41b391964077332ac818507c5d3c195c7b9297f644ff60cb4d2feca3c82f6ac929d52bf0adbb4dc095cfb20d8ccb5a474e225b40dd47781b17ddb076a5e84d804ecb4bfd259e89eae2e6fe69efc7c5080dd239a37c980bd6eddea99e005cff647cff4466d0726c9ca672096eef922de6386d76a55cfcc2bf5421a28347c54a0bd3b991ddbca92d5111d3ec0f341e30cb27e3b18920aa934cecd832650a45cc6f7a05dcd5047edd04f80e59309c15251d8dae4271b9ce7eaed6a5ab788e68dcbc5a6d080b53505cb9ae4be3f68098d087110ae83192d62afee07e703f1c1e9485094be1672aa8ebe7c08b34e3d5d3d0d9cc385ecdfe47a4b5b65b236413b209217bcbbd03d90e160e820f2f8ce21845610c82d0495bef4270cc0fdc62fde9e0181ddc62691ba3628bf577169490a89aacec8fee68a24e56c2280b680713f53293b6bea3a73e2cac00a8e22c1865599f94bfc66e9d81628ce416eb73ca143b813849bda2adc320d0eef09a876126a32a88ddba110cc330989543e4308cdce43906f525f90211eb45308c6523d3d3ba1043300cb4b207c33c1dbdd5d6fe3826e557db51a46242c498146b61b59a4c0c49d7bac928dcb7ce4666c4bd1e8c622186908d8a313a9ad41751b7a3085f26c6fcc02d7c2b8b660b9b3b44a093bb9d91a857b6653969686d1dfd95537576adb3814e72506b0389744633f93806f258d74c1cf352d6591e8b656ba293ca9917a2f8caf5f070d0792ef02c1c53446c8146502ddb2a69f4195b620e3a2e27b3839dc330390811635e8ad862ce8444257b7574e9b3bb323d8f7597a5b1cbf494df778c5f1c76d2553a78a408b7c4c7e81eb7704fe97614a928e71b11634c280f0c0e8502237494ee4eaebbf5a5ce46260789a5abec51b53643743de2390886b1c1281d31c674aa753b8a54ce81613846bdc0ccca2868752b8cfa61182b1d6f04c3cc19648bc63e7bb08ec70f4170cb0e46c14e47d7031214be82106720658c314629a5bcf1628309314a29a58c31b2bc2b4c2f3618054da65a2bf9963cd4e81a79a38ff0de7bafc2f311aac65668fd6c3423300b2afc8bd76f8c315e2896282afcb5d13a9ecbcb61266611abdf1863d4aa6e32eabd39e3ab78f95b55f1d5614d25fbc618e37bef3d8e534cc184438229073c0d6fca01cf793a9e5a8c83caa77941687848838e6020d2d5ade6aafa0c573e97dd31a57e640d6a7ec08687dc9112f4796016d57bd5df61cdabaa4baefabbbd427475d9b11215565d4ed5555599a8a0f2bd3a7cefc967e78a89eb77285fc5dfaa92af0e2b0821b3b415c2d7778e207205456c8133b105ea6014b4c12df006a36e4cd493676134d0b7805a6bcce88716f8da09115be0451d8fd8024fbb1eac0447bfdfe09961f4ea7614a92c2b2142ddd53a140a89e84629ede4435d768568cde6543d33d998d5c1287896992e876b1c8730bf459e8eef8161668c8c98d3df737418861e8a8ebf37fa4171845be26384e016281e0e97e94fab28dc2804b1782e40908ad8027fea20136e8197d14125dc7205a322ea1df2c4f813029f804352feb61c2ad45e20429a7e76f702e28bfab0e8cb463848e577d1f329bfbaed269bd7456b8f5b8eed61d19a6c9366e1142af0291d44c22848fadb72943ec33b5e7afeeaaea94dbfb34fa77f1c23e3576bfac7302abf5c537bafa3fcd4bdd89272934ab7a348ddce8754c41819768b54cca750612f8af4adbbb3fb87ec5b44e7c8e6ae75362fcd9db71c28d3da989a3b0a67a191520789c0221d6c080511d8232466086e813b620b8f17f0092e1a2e810518428c5e4335402a943499d792ab834f0c815074b085785aece071653ac6e0e016888a3a18663e3269f8fbb2e8a8e45dd15186511d6c1407c1863695687687d7f3f5a4a7f9d7daec4c7f8ca23186e31638e12f4bc795958e55f49ac6e820126e89971d845fd40ba930d2708a8e8fafcd03a3e9e79cf0c8db72689bb5794c9a6a1442217009b8ed007918056f844ee44961911228c5a2e16770c8aac93993c30cdf78b921f3d264cbb1c228aece5f174bd5e40aa3aeeb6261d42553b5caa21875d960d4c5c2a8cbca63dcb4268eb2b2e696437250bdcf49431d8c82d7c5c2a89b38d30aa3aaebf3ea815170078a8595d48ba32184d0881c9b1e58d8142104a38278d667775f56da24e7ad9d7e9d10cf0ef182fa81513b64fa3da70896fe81c74a738caa8450efa4affb7b9f8fbba6864118551df630ea59c8630389b4ac8c8268a8f0f4cdd035a24f3a5efb1ac1c3c3d3d3cfb21475c2520938462342bda68e5ccbfb84d0f10bc8f16eb86978731a1ad150a721bc553dc10391e9e1b9ecf8a10b8251b1ea585a07a3e2afc9643299b8a2a7945e6398ebf49561ac536a5129ff5c3eaf0ec5a828351fcdee70a99f4a5eb6b42779202d8960622054f86b7252354187504d2daf4d73118dfde6345f23da5e396f504d2dfbc407f27225c4ecbbc1a8f81e10468e321d0e46d968d8d55aab9c5a269f65d738863e7b76fa5c2a3fcbaccc7a106ef1e9798a663ed4ee98523f983df120dbba6ccb9eac03e9330a0ea1f2a4de279df6ea7614a93d62cccc1657c6243b1c8c8a0c54e1af4cc7c91618a204a3decfd7f1281b1576f35df173da8ed6bc645321062c1869eb2c7dd90bc8bc30093eb1cb3ad468c48ed9683ded8faa6baa4b69c58c990a215693ae6e5925a8f37736691a2d2b6e40075f9802912642fad9000483d105f4a25a86bd2d64ba07b7589fb35693e947bd58671ad479eb17882feadba2abd367d89c6fb8d1a969b23108ec7c610a3a686223b3455b96484c017d2ef525e14248d3cba62239b157f6ca74253a0c41faeda16e4791aa7dfb8c31221bb52a569156b1ba8e756f6e5a77677770cb71519bc9b6ba0bc8744d65a5d558a2c6b1049452fe8ac946cb53b8e540314afeb29635c3daa6dd40c9286bdab0f4754a3314a3e42b7b73aa9ebfa6bddcf3d8abeeb274f5ae2aeb73a7abbf4d871b1b8c927f61946429e1ab422ccf45be324a6a8c924f668627900d5630804051494f20bea84f49df1706cfe0be307ac6d929814017844bbac01e3b8c7360187a36b50cb730856ba82f491890f47d59f0831082616203b69b53b58ff60833cf176b965f5eb02e6ca0f2d8a9dceaee6392f2bb72fabd8c5f9618bf281b2f30381ed05362fa7d4b46bfb249a5ba691a3d753d6c729e4bfc8c3141704bbc8abd5a747c8abd93c70f3b7a60948ed0a6d1c74406acaa5063e8617614a9d7b15fad2d9a2331e625384979ec526e7557a629f7abc1947e2b09267457dafa7d5b9705d5d6af8daebf2f6ddd68eb34662f310675c9bc6cdd8e22f5be253a1866d3b2d8c2bf50ce302947e9de0f3c82782ef1b5cb61464e46cd8adddad7d477f67d4b6418080aac82d007536556775942bf1aa7fd9adafa761c37b885bfed2852638c66a7c974dd7967a6ddb7d55d1b96ca6a32e398047df6d67e5abfc75febd2eae6082abc75aeb1ece41654be165fdd200cc3304cb2906d63210c343986fb75c930dab35f38455b172269cbde9cc84c700f33c1427a98091682f1128f853010338161dc83558681a750d30eb71cd9df06441a6a759f51047a9e1abdc431a48bd469dc727dd4c16e32ea3a0bc358d6081e9ecb87f4aaf329d99ea748e7baca2d55f580b2ac2a2289442878083fc13dbc040b61211aa52c240bfdbadb1fe9d647a35be77262fda87bdc227aa97bdc526f4e6c9268862eed75407c51379b13fbd2cef65db64693b17362d33f7b2112668252668299e0279889ec8c424d46497b6d4c7dddaab8afc3cbeef618a2e5cd8397dd6531f5edd1f2337c5dc0d4d2d658c7acca30f1935add75b8ed60040fad3aeba42eeb26a3acb330cc65afa92d1d3052377a66040f0f0f071abeab8c8ac73a1b1dcb8c2d91eb18638cf7cd4298890714e2510d366b75f2481ad52f09177a9a0b5bb400fa25e102502fe918fd926ce148d3a85558c82b625b16366194854c18755d6d59b88451162a61d47519407c5145d6959dc357642dab03c7a0fcceb6ece55f977e54ba75ee710c77eb28f3d67bc4180e87ec710be99a9db7fe624cc992b057407c51d9e6c8a675d401f145a5bff559f5d179dba1065e36b535d55e39f2e6c816a1a1c28f7e451fd90ba9a81ab335a25f34225b035ff555d9eb71f3a16a68ed92beacb5accd4a1a4ab20518fd7e49b6c0e23d0bdefabbfe1eb470f3c10b252d9bbe0554e845cba6527b1cf3125b665ff6e6c8be3ebad7e575dd3a9ce2baac5f975b8ecb8b9928b71c9575a8034b09950c63c129e0025e5f7f3a800b782d0f9530cc7509bdb8bae703edaabb3087b41009a3e467220dedcbbe4492b5ec0e6899a8a81bbd6ef6727d9d45af3ec3d7755d761bfd6d3bd01d31c6aad5e8a2cff09bd845af77c4981eb1251eda262251d3adbb5c6fef1163e06bd98ef5567b1b9d371de8b7d3a8d51e31e661bfa2aeb57bf2b99856ced2ddd8d56b81790f753951c7ade1a7b5b2b3d52910255007f006798174f5ea6fb3ec4dec4acacaa310d017a38522704e144cf351510b50d02d3cb10522473afe75f725d182938e36873bbe1ff3ddf01eaa5f922c309909e8245950d27cee53c61b5894d13b6d22bc20a40e3111797fcdfd9a082ff4c41822bc60e4e17082870d2d115e30d2337186e70b9b803e16c885fabee0859ef6e1f82438da1f1f37da876d121f78eaa7428632a0a63a8300e1e1e1e1e9e1e1e1e1804de2034f2501cf4f62071bc21abc7024052d1222f89ded034a4e208314db9ea720acc000d47ca017fa854bb4ec1762d1efcc23128944229148d4536badb5d62a64341a8d46a3d19590e1214c2291482412e94ac8a448378151e716fd0e9dbc9807049d50c100232622e1167e4ceca28bfbb6784eeec342060802c55c08d4ece4300a95ff80bcc0a46113ea65277d85d7809e990a12040505e5a62d388ee3388ebb123229ee7ceee2c50429954a3d33557aa954ba1232fce4e180f380fac601ed83047c924a790d0812a4472695f21e542ae5417a4ca994ab3c1c6e2018edd3239342392a65b24150501e4409540a89b8069e14ca9590496581013d4f055162a6901081c1a3842985c415060f4f2ae597c340f9e52de050b13d339562790dcd47e9b8aed4bd51573b51b7630c15f68d489a2f89f053c2129a1f9b3c1c20cfc3814834c25b0c61273126650521b10549c86ef63e2c1e7492d96b7a5b2c99f6ca00c597beec848a187b90c41b892dafa593941588442719908d3524d087a36216a8b7363fa0d6c13129fe0e8e798acf836166f38310a2471144527c23741e0eb1f9958be6732c280720e000cd77c0c3419e4f6587138ff363f6fbcdfb07ed0704799a4653a9c94e469b9a5a9aec549a5e9aec52509a6b9a69b22b35a59aec484d354d760668ba69b27b691ad264a7351569b2cb9a564d7658d391263bab2949935dd5b444398a4253b8124a8a4ac8def00ed45a0c03854c60158c58a0ded9fc9250018bce891d0dd07c35ffa5999350218ce65f0f07f85cf8b9bcd388f54052218a8a0a2da0c29024546822091538806d5e64a22cd00d0b2d3a619b48080589321e549983d1a808491229694f70190850b2402225c914c2e8959782c29548a32a0a6d1acdb0a9127ab9be4061162a1155de0295df9578eae786e66b49a6e0453305e8637917a62dc07831f085feca68ef011c235395184ed0c416b09086336c612455ed70a2be245f70f158a407e863d1205790a7871fa40687d497c40c56f4a85f123318e9ca313255868e1d7fd8daec19e16ccd0c5fe8d9f17f31da0980a0be246618d25cc799b8057ec70bea6bd933fa2531439396fd929881495fae0722b1982db6acaaaa3ec357c5cc1ccf31422577028df1baaeebb22f421bd40ccf894d6ba7adeb1577d76357ddb2ae18e3af68559261e263ece4104645bec5f049ed4fe45f2791c807954858c98aab4a9eb71c4f4a0995c827b7787008ec7970481394d2b7c11e29ab6a26caa841082bcbfa7bd7eb588875593787cf157cf5d7c125e00dd0720fa31ee433c3f70e21772ca49b89375733bf86135eb062420c3026ee612674d0c3838226fc15467551b9e686365cc795aaaafeb66a8665377907953f50ef69503a5e07a884aecc81fa9290c18bbe3ff35f9312d0338c101118a82eee64b2bd36a88e31c6c328a1907c19e3132c859800dec011c618e5902a46b6d28a9eee4218cd725a87bfae29e5352fae6ec578eea68037f0e396a3b26c35d9cd2d07330c6c78998267fbe0b9abfe888452a6992d599ec2686fae96ccdc3d461d040c820a7fbd2c47b2119d51a824cbb2099760137bc75ec1292092a98339a192a964ce392fd97c358d8bf7de83cc13fb9d73ce1c3945cbf331242dedcd892c8497e01e668285b0905a8d61884ecfc34b092323435e000eec1ccee17e30f4f73dcb64866139dc0fc37ea594522ed1775ef67d4634565d9d41ac9b893757631748cb0a42d1f76df27dbeea1ebca1baece496e3d917af3f1f2008e00dd52f99a40c461a6e37b02d23665f40fa5dca57ddcdd5d775b8e5b82cabdbe1bd3851c0838c7b50fae5b2c32ef341d334cc5e94aa69a150687b49d334946f97bbd98128a2ee0676061f894216519a6519f5e13d17ac8ab4ae642f47b3c3530a04d3ae92c2ad3d74acbba8c64ebbcba32986f988da49c7304ce5dae8f3a152a671a5bf4d87ac26cbe0b1ee728d9542dcf6ec1846ed3d6d96066bedda7058a9135deb48f68eac0d8775ef59fd7b2eb55ed5da0b705df38e61ddc9074de8d8b79f7c581a0db38f5f50b167a7d8dfb3251a9bc2860735b84e35aea2fef4f9d0757749b007f5251983160dbffd6d3e944aa50aabb554cab2ac7e542a95aad72bd2ea25fd1deb6e60ebb01dd66c87240b192b7dd3346dfba9641f00a435ed252da31956bb91bda28d8778447d49c670459f6364eaba89615e923130e9ab2f1fb4c3537b55feb61c29a794bb74eeb4dbbabba3b7fa8b6a5a2d2c5d44555ebaa1cf73ddcdce855dbaa3a33ca5bb813a688735dae1513afe1b75a6a6a3cf30e9d4fea8d1a54d2bd913f79ad2b773a56f2f6db45a268d3eeab0d74e646af8ae75afe1c643dc5ea39d7ed34eafd1c7a89861968b540b07d53a6cd9a3998a6ac1aee10852252fdb3c6f746e5cd34df4eddc9d7c087df4d736a7fad7364dffbacbf5eb18a73d554b13b223fb5bdfb42791a5c9ecb3fcedef36ad75773b3f7677b3d7a66db8867f5ac755d2333bea44ddb56911f75bb18e872fc634bf6dddb5e9ad6a9f3673eb46d73ad14dd546cf612194ecf53331ebac8fba2aeab846e17a23d9d376bdb49d7273dd154057a5aee6b2e1dafae4b68d716c71a3f1a8177bd23ebae857a6b97a528cd9b56fefb98cec09fb29fb76faf9dabde722b2a74cfb099bf69eb0e36854fb304f4f583c8ee7128f6a1c1daf4dcb3d9790b5398ea70443457bd2ae0c4bf3399a3ddad396d913367fd21ebf65d3ded33c8ede58b3349426c32cf75cec3d4d4b83e3b9bca3fa076cf8a2a9813efae0082a155d13dc7688fce9433c7f3e1a7edb7b9a0f20915a0cd468eef113bbcdb63d004873f6542ad16bdffe4e28f601183d46cfd139dfd5ae666f8fb63135bc3d7a46ad9b3b845ebbdba3eb49a41494c78b7d8bd7e251b62d7623ee588cd837aeabdf3ad2ebf6ea2fc6d82a5e3b8dd71ee3b5188f627d543ec3d1aa5891b53175e9a3cfc4d2c8d6ced4a2eec6903d69dbab5fcf6e69dfba1cee68ef6762e4ceba9aebf05867636a259efab95e5da3337efe31cbe61cd4f978ce41e543e0bad1da989a07124f2dd047451cd7d6e9fcad58f3e18b99b185e63d97cba3f9990d673325f65cbaabc2718f82beee9ada9af27ce653ee2edce80fcdcf76341f3bec6e8f866c6a38abbd3dfe26b75cf3045fc3cfce1966591b5305ff2e90aa05d531e15f64aac7cbdb53455f931d3bbd7c840f3e7bbafe5e9d7640a4a166a7eba7f97e9a73b275ba2e7bf601a4a33dc9d7c4b375abbb27eb6f49bff47bd5dd936575bcb65e59af5efa2d619b4109450f48241249e55aa772d2e83a47af0e45c6499674b9d634ed7abd4eba867294bfedfa0ca39cfbd5f1a683c6b50fa59bcefda5fcd6be5252ecc964694af63d17d2ab7dcf853b67af4d7327d96bd3a45f29afef2e77140bc41795b3365c5f3f71d74eb2973d719626e5f529afa4510feae3b5e13ae55a0f34ad66441ad95b53482a2a32ba4b22591b6ee53a27ee0189f437e9a3795249a5bb5cab740a89646f6dd23914c7fd710ce92794d14fdde39691ad57794fe9ae0dd7a552a98472de684a1de994f2e603a9d47197ec855d3ae929dde53ae571a3513967df7349b94a77039f34f79958eab853482fa1589af75c46e72cf75c46a58e44228d38940dcfe984c29916f4b15c6ed2160c9d76dcc55d8e729d069b74ad239deb60d3abc3812d03882f6a8df611d5aeabfcb2f5d7e85acab573dd353587c2a17028f69452538ea25dbfae9d339db2a675a6bf4dfb0c9b3ebad6dd1e5d8ff2d18f1a3d7acaa569f654ed0380f4c89eea6bae8f5eaf8f7e5d1fd9f4e88f515a8f1e695d8cbfcd0794a77c86efe8260bc41775646d4cadfd343af7cbb2664f234b83f294a33c45bb3ec339b04ba7504b49f9b53135cab9c3edc647033a071ee51c57533afd838d73f1105fb237c5a2d81fb035d2379a8d74990995ee7297c37c3490c47f6a7ec09dd37564d81ffa9f4bff0376e8943b5751abbf7e9c3dd1bc477f8fbe3d07f689667ef4f9d143b049267b81b4e929dd35758f46e19a0b8d46e72e23646f6deedb55bac7a8d14bdd68fbe3912d5d46f7b8a564ef6ccecec494ee1da5bb36a6261d3b35753f60934e5923913ec370cba172de68e649a7a46e744a797b00103675b0491d37c95ed8a48f5eea4ce7ba94a374d7d4288f5be935dc535ee29ef21885f2d24d16e53391d471a374b73ebbdc74e01e9da46275bc3ea5bc06e5dc5350ce1d85b3db4bd6c4a8eda391ada9d6c6d4f4cff240431decad7b3d13b5ebdeb83dba13cd03eaeb07ecfbe33a7cce657fc0aea9000e6cf837ecb7d19c030d79645cc701f607b258b6869b70ace5a012c39166adab8caaa60d4cc067c824a01736a7a0be9ba05ed90f073e47b664b6794a9affde832f2608515156d6353508390ccaac82aaf6adaa13886a5043b08b9bd42a6a651736354e4acb692bcd5f81909b7de5abecab356b6f6252720c23bbdf83b1a95d18a19594f644235fb5b48ca4c203e9d7a73da0d7ef9c879fefb944cb4e096b3ff8c8f09e8d4cbf29abaaaada0c0b0b0e194b0c63f88afc7379562839a28495401fcb7d79705ec76cbcdc783848546c812f32f0b3938c32e29a333974423c9709590af42da06a97bd3d1c8a782e24fe8c21d1b72a4b586655a41c5ea8cc126a67668c19825be2b4d00bed1a4d4d8bee4bb3362cd7a81ba207ec1c5e666444a65007db8609c5303396ba1e4394a15ec8c345901eb8840efdcc3162881e36323c840842470f5088e504fa1650b3cb862ca8878305e53579b9c6a47c57b4bc7882f45c7687d72ce489c32127b63ef44f87fc9c926255949131c3b5e30766786536473633cb73e1639d8951a8185304b7487978867a5f182da5d461189e203a7a6098eaf23b18c6bafc0f58110c835d3e8761e6257c5dcca7a4314cf6d5c996525e6c25b92ccbb2ac575def3d29df555996f5eb59567585f7de7b814cd7549796a5699af619a694524a69775fdac4286d85519abd36323acc6cfefa0c9282a758f729d3daadbff8396b3599b68d9fa8d9e9ef5b523dc66ddbe84637ba59b3faecac6b93a70a421f155dc0d435eff493156fc5d3c7679faf7c407bc25e130f8ffd74bd861efeb2f4f0d466f6c23a0ba7bd2cc3a04668f39c74b481463ada1f100bf4a4e3b58ff8d37b8dc47e1dea38cdd7c8c7cf9facd7548fb76cf5f88a1f1069a8271a1bed6561000318187102b9a0271f34d6e3ab9f7cd05834d23e0bcfbf87eff805d5062ed1f1ef575a9bd7a4a3fd11bbe361900b5a00782e95646ef92861e46f8c31c678517d05c1e2011b9696b7209d9a128f978c62792e455422b2baacdfebba2ef962251fa90e9e655996da2c017d0f46cac80b60865d83031b07fe7db0cbe1f760f8f75d4ad9efb06bde63df77695fb4f0fd3d2011460f545656edbdf7f8bd274f20a4922488315e3a463c9777235834814511368c7aef61128169082118f5fe62434a89d221e3840c8f1f7e504ddc0f2abc94f20199a22b2621784c600f0c22e4411e38043e41977092c50a6476f4c0a867036545852ca5945f61d48e1348040a4844fed0134d0c857a447bad5ff9ebd1dac834c568e2e1613cf1f09e3cc1919d232b9e983dd164c78e61cfb25bdb766bb341e460835193fb75f1903f5432f006478ef6857720908de50eaaaaaa989860bcf7a4b48162d4ebe1b9bc4a565555836091810d4b5795d426948f7f2a7cf5a2238759021f54f89a300b7114e454333894403254f81546bd171bccd2ef2c7fe3b90041f29a0c794db84a755c998e671754f87899969285a50ce889c6de934fcf53db7164fb6c76c7940a8213f01efb6abfd7ad9caa2994f3f0d0de9b233b83bff64463afec6bf39af43c667164dbc83476204db5aa65b3f619869add41bb990eeb2667593d30ea9af3d7943287cab25e59f6855150429e0e9535d6174f430ba8a1659150a01cc79c5b604cfcfb0dde8190082a64723d8a513790b4f6adbb94524a29a5f49c44e54d9e76d931adb3794d6456023a620b6c1a6324125b9e9443620b844262cb7bcd8fd83e1ae08eb5ecb701213920200f4f8afbe101a5b8129390b002a8f426edab01f9c0122f88c10a66f0400ad61005225844225340c1c1079ed004042d5092852864d468bfa02247400249f3e31354c4980b2eb998e7fa8505f738b9201542f428021a813c1009ec11825133c65897d5614a763b8eb82e2daaea78d8d304e411f4f2a55e8a42cdcab163c78c2dd92bf9ccee5c97d5abd34ee76702100c3930024f8a5e5e67e77a766a77ae1fb193c94b261263aac7f0114e00164e306b8451f09007f6f84c6b446ce1095ca8d8d29d2670bdc416be651f5b9848c746620b9f2710664b05743e1c6073ea9d8a6400f14565230dff4e7ffdb24764a77fa94dbb668f98d76621506c813b2e0ba98048ae6bc7e1915db35dc416781ef39775b2456c817f5bc543a77ed249696561130806f3c416782a2d5c82457c0f21784ce0e5300212814628b545401e3804f640211dce4c55a709884e4fed11f4a2bf94dc21d9eef0da07e726022f1544be3a0e0f7a799c9b0968b7cec7b999c0f5d0d946e0a5b0e3f0d0d99e5d3b0f9d1a79649f871b0f7ad18e20a26d021b8f6ab92786ec630b0b892df057c743620bbcd631111db1053eeb76c41678ac4342f464fa5cd6145be081a42c8b8a273e90d44c6c617b03fb2525b30161be8a402b8e328240c6c8bc620bb039af0b8bbe6e0ad2d7e5445fd735e7bc8874d1d7755dd7bcae6b9ae1fa051579428bfa0515e9c2122840010a3bd400041e5431051128e109252f9c90842a54e093031840818a9a3c2b4610b0dc793e3431126cda15667b01519eb5055534730b78d0cc3ced9df3b22a190f6dfc407d414496f47d4039f4a0e3055e343333bf800a2f40c2095ed5042722104f8881166ca0040e9278000725702209551ce111a282547c020e302b46cf092f7842235292c0168220021b80a1043d1002a4870553b860092300428312144b8a19fab278213e58556e8b1073b5c698cbdeb052ca1564d1526bc9d2f132376ee0884dd450bfa01524e1de78402da8aa087d5140b109412d2012d48225a47c4112f30522905714411642bcf822051c88011229a924094c64610766b881145790a17201189bbd39cc54322ef842109135b494b7f1ec939fd2ae401ead5fd00a7cd0a37e412b38f2a4a727c615401102d97cf9d040dfc3c12a59110516809af404d9a2015338811282d0c4118a0085d46b42d4116366eafd0501a310286200850ba40c620117afb298562c15582aa82a68abe1634c0e3a18261e56f92a6f7a79d272412c08a32b142920820c70b0851c7ca1084508432a366149149c84e1075530c3915464426dd45ca95cec1704c509221427e8972acc6ad2b40aa489225d18c1133b60e28127a4ae25f4751315faba5217101a1c69410ea42086214055485d566b087926141d80a20949027ed625a58cd612380d25238d7e412ac8a267bf2015a0c1e26882201530891c48019296bf4e45f3f51946deeb55ca89022e7afe0a4241166d69b3e327950fafccaae431ee7a664f3498c6a818e7acb93e69aecfcbd6549aebd6e50681cb5e3bc7a8caae441650eb268659e15e500a88b47c159402215d670a7a3a5e33455375ce545dd2f061672322aa20c49a6c8d75feb55efdd52ba31e4d75cbd654916b4069500986f40b7a228cbecca4630996686602d3393678771a5aebb9441d54e8c57389bf9008184baee81734648a8e54d46b8520f678ecc164bff59a8e7a50a6afd5f35a10060ffa3c1768e4b5c4c75b700190c8bb213e201999cbde971714eab2467b5f938644fa5a1d219133d4130f35fc17847efdfaf2835200d46740bf8d876a07f4c5cb51659489513c823f59ef3ad0b222107fc70f24683e0f214e3045f3875042ea050d41a2b939e804459aad077130814d1ca1f97c850a1f740210f4c5d1fcf75095f5b92efbb8458e88a8020fa3de84425e404f90c4067500d2cf1e809a000826b8019be088941b7f41561b7fa18a263072a2897d773afed9178388a8539a008b30fa4e132ce9670231685b9009b690f271871f7648a1f229843b18f5b268f92018c6865e1d0f46b51043f42822c70886b9ec0f10da1d8c923d3c17f91c18e533a79dcc22eba6833c6b51595aca5313c3305b6c05bcaaca3057e3a49cefb93cc8c3026a9d5afde27b7c8710e2c0170fe3db7638d1dc3c2bf4b342cbe80ba405dddd371fdffc755dc6b9e6fb75fb9e0dd6419effacd0912fe33ccb7a11c21e3ec3f73dc203b96005032d6881df174e906107957e63a037b0e17bcf0930f44a1578632f38077b11a1135de0c88cf50b72e20a57bf2027a4e04412a28cd109244e18c109205949e9c40cfa9ada89207d613f275c10e4c413b212328620215a08a9c2154298bc202141c881b6699a9021426e20c4889010884221ed89a88a445cc43066acbcda2fa8892c9e6934da768038d1aed819cfe50813fa9aba09285aeb17d4c410dab43223a8092b2625698f0425ed053511026ee4c4084d68421349747c4048d0820935f49dcdc415dd2f8889330431e14587a1c9ccc4806c30b1ac987ecd5fd7cca56454d92bb316102ac945a859bf2011e4c082d7758980067d5dd7cc3eb3eb82415fd7c58920057d5dd77561dd8d17138b0d1d33a6a33846a66af40b5a220d5dea17b4c41693af2f4a9aa8fafc63d455d14c4db4b3f4bd6efdc5b22c276d5996bd9705e296c8a22dcbb22c14b7b0708cd22ef30279625e4aa66ce817b4040f9638d297a50a32a775cd29a594414b0475000bc9a7cfb22ccba251c3b0ec30b330cc5a187678cc9a11ca8d3f193537be655926d42b77166bcef937659c73ce29adc7d9599fd37a9c56aca465c5eb8af1e692d2aa98b5636bb8e28a08515a921e12a4f95c0ffade5581190cf50664c890b98add0a83a1c257f14fda685760cb34bc2f28d4c2941a9cf352ca8ead6094c42c29c950b5a9552ab52a266459b885cf963fdf6c6625d47b03c8bace7fcf4a1946dda0d8b6e16014bfe6ed3d97abd3773ee331d47b6376b7f6fcfc3673646b76d21b0c338f4da93dd65eea8de6d779d1f93a624c7dd0125034f7f0f4841db74c6a590731ec339c316adaf7c230d8b5d1e4afcf4efeea980a78c3fc94f709fd6d4070151001f221dbf354c827f49958bb203ff7a5f9416851a7c4533f0fa8435de516f8aad378aea046c3d702635e82d41fb6a1e13555a673132d7695334295fd8240f0a4b53681200df2ba21c32898e40c447e6f3a1a7ac657192cc0208bbea6867f71400c4c412cc0804943d8efd9bcc5f78e1254ab1fc3588f8340e045c30a08d5117e9c60d201117c410ba987842858e044122738018529a41ad0afdf77f4039a6126d41704822b26ec4999a0aa5e755dc779e9cbde887a86ab130d24d2701ee7a5a7fd211bd2f97b554120d062074655d6ef75795db75e73fd4d7a2bf6069d60b7e6abf96abe9a537b9cda2d0b3ec76aeb763896366f4108210ecc3a1cc6aab39c411f50d2f3d7e9657ddacbcf812d9ba5b284f0aa0ac8122f98428a224e9a24c18814a4808225d290851a582104a9b8001dcc1f48f91b2f2f8c8212873324d93a2a2126948ab7f16c0e4a5082064ae8011a5450827704113461e40c2378220c2948ed70820bc86355257d59bad0a4ce282dd34a0f30aebe62f2b95ec54b297b90b4a42d650e0f28c69880a4eca1414baba594d2ae986ebcc46d057d5f9a542c8ddc8745bfd72f37c010f245183e7ce3e5457b29123b96a8d22f48091104f5a0a02fcb039aa21a11510523ad8d88a00265edf1a832eac4450cc6c39956380600297816220d8fba2205ffe245c3df60180034bc0cc3bc200f0c69f880e07388bcd170c3c721b61c462df50b5262063dc390a178d7abcf579fd6e907ebd52beb555de511ffc445c317c130f124ad0e413cb8a2b9e371704c8b101e1e1e0ea4e2736098d72f480911c4a8a4e27f40d2f13c88908a17e28b4ee9189404918ecf911d115e40d21171c5121d115708f98ba5801c4478610a46f19813b84c31e6c28e599dfaa63d4dab63b24052566599631324951576794c5eaba2568ccc15bcd1e9ab06beba897dd99aeab0e22aec53b8d164af91d96baa63afb61c970fea40181dbf82bae635af6f34568db4acaea6d238a6c24dfe6d5614de7befbdb76243be185f8cf13de62114be273aeb1784c40d5a06ac417d414804e9f7d92f08091ac418844491596117e863a1585408bb50b5151b0c63c136a118a6b29583b092b20abdf882831214c9a9fea3fa51c9c8f49c2d23535daf34ec8b6bc3d258d6cd0e5496ee2bad4bd992631e9086861f1760e9696b2c7801162b270b35bddf6401618b2b46e5300bc76cda25f6eaa1195355f6e648faec34fb93a7d73a38054402ed0d8b833b191963e21669a3e5a79c5d594e429dbf5acb578ed12982e729ae0222005e5ed3b1149ebb78139b77fafa0502bbea25a1cacbcac9960fc2e8a2bb7e49c26082062de08b15b5e2b38251d03e960c816df47a557b2d6125f59a97bdd967965dd7bceae74dec0b5b646be04797ad988fdb0e35a48f7e8534ec9472cf6aad35fb4cccb052add845a26a6f62cf70a99e3b272a3db3a5ab1edb26e9f356225968cb889448cfa6a89eb3a2eca54322a54cbbec9da3cf535137ea6ee8d05e4b6326f4d2f808b526f48a341fc2b0aac1ed30d4652775a16fdd05371fb41ed99b5dbf2c03310ac30e8530ccf678f8042462e40891229be8da34b859ec50bb30aca72113fd923c01a39f8d8ed72d26362e0b032d03d960981b323834da691309f55608371e201fa1c2beb5e3857da1bd894f9eccf0ca673c7716541856f4854196b04208c7bc547c49d23005e42ae00df06fc32c53016fa82a1e645f97ad6efd81abdf9745662f56e998d7e3c51249b0ba2088034a7a00fd823810ab5015aa1e0a85e8630e7775bdaa42d543f48bcadb0eb00ab8800ba4b587b66ddb2e151d08bcb243f4b5da9918a2cfe10eddc4ae77a76b42d7b8ebb6597b736484f0d6173afd766d9e6813c1ebe3572482676845c3909ddf1eaf755c05bc81da27a7bd328ae0d583275b407b81c8685df009164f903c21d207e897640d5c74641d88e45d3afd1eadf9d84f6e3a00e97941696feceb70092b692881ac6868ef7bcc619ad8d967585e979781fac6c7bfbf6a45ad2620d0506f8eb4267c7dbd0ceb378e5e5f73d90bb32a2fec1bcac56dd7f68b3b8b42e742a197aa1585b6cc5e2098bdb399d3483c6fb0862cd63045cb77d98abef139dc461ad52f891a787a0d455a00fd92a8210c3570d108e897440d54f40ef0d68eac73611bd12f7e9ea9800b809ff00647cfbfeef2129ad8d5b422bbf577a1cdb197ade8786a69d59663fe6d9551cfc428ae74bdc616d662667c8ce12c8b6a8c299d49a39746a7ddb4145ad1237b6db4ae76da903dffc5cdde09c417f5b2d646ebebd746c32e5b93cd1c1bad6d343845570117302dfca575652fbcb45c05bc215a6ec49610202af6079e6498eb3055bd9a566257f3f28b2cdaea668cd1019404175398a00c60509192e9eaa624674062a5aadb083ca6552b539cbcc4aa5e5e5e5e5e5efe22c578bec831a28b2c2f392fb177dac72d935baec719301126c244980803d9180724e86398f8a494734e4dd36aad1cc799ee435ad34a8448a08f61e655f964e7cea73e763ea2cbce27f4aaf3d96e753edaafcec747fec5cbead3ba76bdce1ff183bd067e8551dc150eb42b98354dcb5db65a56ab2ccece05e462fe015d6198eba353dff3947ce7aa7abd6bf37d66580332abf373031fff7e6ea08e071c90aaa2d0a651abe30107a4b21ff113ad3ce207b3f3889f69b5237e2e7bc44ffc113fd29a18158ff861bbc2a838aaa2d0a651ab237f74e6d4b45a39ce6465f6881fcbfe54f6be09c462e9232408b2bbec0243d0d633427735fcd790c98ee702ef33020cc1c3a17a9c2c07d0517647decb6426a7b04249f65ae26586c37d039be6b9c4c3255ecc4b29b1628a2345a0e898baf0898eb20bc10062917a21938ebf59c747193011227b401f0b45c2d33b1e0e2f5a208cd49be8534d97874bae10d47c6b440f35a98f71c5e8140bd2b12c4abf9c70cfb440b976beef49ca65d4a8fc742192fb804e5d8e8cae089baec7105827048df143b78351d148d5fee25f0cc538bc4a07b9805b402da0139805c4a276b0096402971801835bf831b3b75a0fd96bea1e72e0cec7413aff064ae57c1b297f69f48b32fd757dd4aaf339fe0a9f25deba8ec918d6a49282c29548a32a0a856eb7592318c5d7ac0ea37808a3f8098c976014df5816f258a8033c0f104201832abf831a77508130521fdc76a86eac8e47ace8177484481f41d246304ccc11a39d61d8055d41fc0f0f0778d1393662a446e5efc9932b58d12a35d6df93276a08a32d1f18666baecb07a5b606632a6a28f5b16db646d31e7d8442b666db7ca0a0d89a50e8f1bca406e5efc993276130f1c16f15cb3c8c8a29b6065a2ef2e449181d8fd2311186828730ea0916c27c75dcc34164502fc4028b1fb2e0e124082d84d862082e7a7461e345118c0223e706da1aceeab4113fa8d7c6bd3a0606e1961863e0133a76304c3452af88257b27c9de6aafe98db21e7f53bd1ee1dcae3db3f799c8e2dcf070af2574c8421e0b83681612a1164291593804b3f08969e1cd65e1123a401e202cc2a828230c2afc853c4d3025e8bbf50bfb3c469f9d6ed7be852e1abd7e543ae9258e45e529a81837d9385dc64f7f7f99f1951b354ee335fe2ed3fdeffe8ec386dbdbf0f719009ce500f87b0e0278002e80fbb881f7d172d45b7c10e07dc7c3c107fc4d4dfc8ee702bfe3b9f0df09d0f5c028f801b4a03a1d8ce20ba0cb0100dd8c0d1d8eae9391e96ecce85e4e9d8d181d0ac5c202250341c18a87c66849a8852aab68494b422d54f867c947ab8a310b5288210e210e418a2f48a18514549062093598420a24481124850fa41822450ea430228512518011c518a2d8220a275138218a224471248a21446145142d88820451f04421e4a78b1fa01f2dfc20f991c24f939f19fcb8e0e7891f0ffc7020da20dae0881a8e6471a40c47981c39c205d4020d68107fe2cf8f0ae29178440a34486106ae1c431cd590da9863943d32527c2dfefd325ab63a3bd6ad8be25956dfc13effbec272c6ef60af4c7cbe1230b5635d5e9ff13bd9e5f93bf3167d757d277bbc12592589e43c7fa7ba35c27e7d8792ea0e3d0d2991a5368b448d7a1d25b25428947d073bc92a015374146fc9ef54175de7d877e8af2b91a5aa1585ac0e768be777e2e57b64a436cd52fb32ecb2facef5799d9dea5586d9799d9df8f99deb722a01533a3b9765592ab913d99e133082571554d638c9eb2861a5e2ceb58454b43a4a8452f13d29b24242f4a447462afe4a64af644ce9919192c1916a888e34d10a9742aa215a128d4c2924ae8628caa8c4a5709514a2d8557d07e5b1460a470a7d477b5db9ce4e3625caabef58d78971537593c9eaecccec14c3eaec64723e340849ada470a44a7594c852278b448d274f9ea464ec644fe1483544b1abfa8ef698c2916a8862f13bdaafebec48ab86aeb3233abdbea31dbbce8ef514cbc209e0fa92e5487665644dd59a44762564b9cdb27c47b3a7b666f661569b979d96d5aa1d19ed774e105b4281305271de6fb0dfccdf5cbfb17e73e383c68d8fab49f37de4c079bfa9f1ec3d761cccde95799c69afe93ace652f671dc77a3895bd38f2e1f0233f66fb23055a813e1fd66f7c54efd3473c3ddc1eaaa28f4aa4732928578961ba8f95df407b53c3c7e933fece7273a3830e37a7df987e93f21bd26f44bf89d7ce03761ee085f634c3de9593bd37c9b03786c9de1514157b5350ec3591387b4b247b39d1c8de2ab2b76aff21a343f66e56b357fb21a3a9bd99c5ec0f194be8cbded4b83f64fce6587205ca1050168669fefdca8ac9c471b56adafc21a3e34d8d1f325afee6581d6f6a3cb936d7123ada1f29cd967928432cd330d18cd68da87fa4748593c35dfd26f60fd383d0b244ebcaec4a46316bda42d37235fe7d14af0ce5b29a8ac94e4685bafafba99ac1d29ef47088b6d67838b07d4030188fd027e3b9baac39332cf4778d6aa1e7701d1d87fb3b176a12f71cab4bcf49e91b51abfcdda435ca717ec856798eec94e7707de3803ee1e490da749c9cac631ce787d5a7e770cb380e4e4e6d1ac7c9993de32bcf31f54dec1ac7c90935ce0fee1a163e171a333af95ce057baeab9c09f3a4c46379f0b7c8ceeb2b4e742335168ab23520a0af75c4a314ccf4565e5b99c64cca00184068c60d0e882fa3a5e878f5d955928af71f977af52f8ca2c45f98c5f7f8d5b34de5d56296cb7d3b37fc6e7b5f2cea4c22511ca63fca763343ee3d9ca6b7cca78f74bc5b2d2543114d95148e5db63d0f869e53364bcc633d3bb12002c16694365390572a3ea92f4d2af42e3314e3352ec8ee9358e75cf384b5697b48262573801f02f5d44e32a0fad3cc637cdf419a729af71eeec0a367ac662d9206dd591ecad26018868bcf4d0ca55bec9788c6b34e5338ed5b0a64c64ad4ebeaa51ed0d713e2c70e525195739353dc6b1949f9ecdb0dcdc7e5992463523642f8d256f55f7e92866bacab394c7f83cd99a9ddeca2eab4b62af4e93995e4ab94a0cab59d6e7a5bcf5cad25caf1e3f7d4e56ca4b9728afecbdac95af505eba4c794cb13b285c7c6914057d2b2b47f9bb24919ef2f7c97137fd5d5351a9356abca5e5271f97dfc0fb24e1f2193ea5df401c9f1e07a4681c0823f5af7d92289dc68c130764589d227878783a10c3eae4d040c9105260b23a1848820a4010424ac7030e48a5589d1c0ee8208917291d24444f3ce080148ad539f171705638951a2d2e25abf3a35de7875ee7a77acf5335ac8e8e4ecf9f5ab13a3fd677564ebace4fe83ba2ef8caef3234fb23a3f34f09ace0f8d76d8da757ee07f2e4a6aed349b8fcbd6f26db3b735cd6e283e25794d4a7b4fd0d2489f1508b58fb4571bc324630467f89cb8c35fd1357b69b487b45f1a78f84b8346bb66351adc8ced24e3314c29282517da22e9492452656f8542ad29e5f431ee75aec6e910daeb2303ce3884f6ae4c7b27c771ff761a9d895110b3173bfdb6a9a8d8707acbc2310a66f666df5a5a02f0ed0010406514ac2ea7d95c5cbebdda01a008a0d102f8d8b861320a6e06f8f64b435f4e7f690e701a7a00bbe3620097fbf43cf562775abe7283dd5129808bfdc9ec6db410c0ee700368b13f986541a908c0eed408808afd991605008ec5eea8d8c0d99fcbdab0356e77b8affc35ec0fa4a172bb43fa8a3df1790d3250031052bc0619a80128754f2a97c1fdc6b03b92033a48428614c9a4627f2a7b2385bbdd913450320414a438fb23ad4f95041580a02445b23fd1e2d8e980889814021a68d1f5cd0821731862eae8a1f560537714c1e5304ade07b3e5c12879231825ef83d906c128799d1ff0fc58457d413578a25f100dbce8fb809c3c46499e869fc98161ac1d3f647f7dad304a3bdc423f200ecdec4ac8f2c02de8ee07ec4c8cd21e0e46ad895a1e18083f2087e1cce76cc72cc7035ba1e37fc01a27ce356d9d96077ed251bb70aacb6a3cc416fcd04e59c3b12a3b798840e8f81ff0d66987c3cfd9ae452b743cfcbb813f62c7cb6f5d0db4efaa933c1d8f8361a49d96de60982be57fd5dd5e9fd46a29a7f1d9fdbf6adcbe32592a8c02afd0ca69771ac7e68cdb18a690ad299771adfbcab31aa7718a4dd3654315c3e26a492c0c23323dd45dc6b71a5fc9688c5b2e0017002a16cb06568128241abe054f03efc3d5eea68b2e6385868add89f13f53b94539cde8a496cfabb298af1df24bf6965650ec4e8a5d19d9ebd36277ba73afa21997f1d0e92bdf629cc635b67625439da69e2480d3885e8f0540f409808ba5b2c1b2257b47247b7d5076a7b3a66aaf8f00ec4e8d7317d9eb13001b3a5dc6374de5349edd9a28004e137a6539cdf6d0a70ddb2f5b75d647f68aaabd3e00b03b352c17b2d787c5eecc38f7cd5e1f1beccee9a66b312ee399ca574e69580eb3f7fad0680f75d7b357352c1a227bb75b217b7dacdd99612b2700fa7476e774ee99bd3eb73b316e3ac5566c9d354e43afd1380d763ae334f3d8adcd5e1a9aecd6692c9f1a76e764356aaf0f0dbb13e3dc317b7d66d81d959b3e6558ed5a39cd75ecd5e934d52f19cf2ccdbc85d9ebb3627762d879d9eb73b23b2ad74786dd31d9c909e0a7dcb237c6a7bd3e3d4f994e53dd2786dd51b1f296bd3e26bb9372ee95ca55ec4e8a7d9c00781479ae939c007e0a90ca2620f0d42a0beae5a4b439dcd5a54b856f8340ac6ed91cd8120bfa182607ffc497dd41285f595805a5a248b56e9b01121ab5c730d7a471f3e1c2c9912ded66d128318d3708c88d868686ab2dc78de4e12141e7c0c3ae361e541ada9b81cefaee003203be34cdd0070b08109ae1e51bd87c1d36654d061067a8d75f57b0bbd1e6c0ce214fd20291861a24032e1a8806ab21489a7ff900884873730be9d7cf084fdfd02fc86709ed24c848132a7a0c03ad8d07bec56d5dd8d67b2ed7a3e51de61babc7575968f9207f7305c9208bfe21db3ae45f5d6c0ab7ea57c76dd907df026017481ae2c0e8041950d1cf647a413158d259f47b413258d2af074a4495afe228654c2b3bf44c1104201021e8881a52d7678ce931640b4950c310201220914210c6a473411598e502249976060b07f4967e47bfa45fd16ffddd7e43bff457fbc5aedf69fdc65f795aeaee7be9f4bdf7ba28954aa52dde9b8e46588c46a35193258c7abfa5934e4b92812829eb2a92a8882d0f09a3481dec914824e2892db556306a075bd4c1a6dbb66ddb109148c8067b42a18b4e43a1104f6c11894446c496073b5404a31ea5b4c7b66d426c1d6cca83519aa619698a6118ccb2d3d32ccb6628a5328d5dd775a17ec1be73ce8a61186c48abaada615956a99ea8842a978a8449eb98aa191104002000231500203018108bc582c17822cac20f14000d9cc054581e4cb420c9510829630c32c4000100101801184dd20427037a39405f181c15f596322e02c5e495f993f8aa876ff6f146b95157d6cf1c89fd8cef7be347f6911edefcbf948b18b8fafbb6159fdf38fc9cee520c69ccc3f94243db7dcdc415b0feb360f8fc2b6b080919586063437c736ea78e11d7f3ecc6846a48e02bcc692e6df9756d41a89358d49b280c52ec50506201986629492ed87e4431594f57ac40f7b541c71237f639a11bd125180eef94e35e58da45c8ffcf069020213266ee19e82fc84d6d86daeb77b6a2beeea22ba333356c549fe70fc5177b6a28f16b22e6540b8c9d2890d48478e84681784026fde1a14d3c3ca02eb30f408b8d1799ca0989ac4513a43edc034d0c50b289d99ce7e18b5a48337cc12f2541fd801adbd6a64601964d7b21a2395a5db69416ed45f078ae3738fee57e40c465e428d83a173260275a64c7c701879cf03c0b7bccbc3671d3749ec8705001275e08dfd359b46ed8f38604915203ceeb2de994d7c6a64e8827abd2381d33cda842a5bc50e98a000e55595ee0c64dd951c0b1eec6a68fe84c0e2e495135ce68edd3cda0d4b92279ec23e56c26c2b7e707a3bd5d01eb5f5210745cab1c43db390437116c5bccae92f8c92e5e830aef0d98310d7eaedb0f88ca81ec1a2a58f8c2d58ba7d710673ae30611e778e6205589813449067ac9e5cdb44ce149cddd047b483aac39e8611845f8737d18cef7c5597155e62a5bee4c2c46b9cde6efebd72e20c7436805f479d267247b214ba95406289b48471a3d21052b47cad85984d02c4aba35e06e3f37cdd17bc97b14d2dbc05d911227a94364aad400730c9963d4c3f085483c9148893d2f811983e8d11c3ab3a2f3516effce1d2d20ebde2bdc516e63ab7bbed6cc89b438f1ee9f8b14f412021922f7c01fbd8a4e7cc2934404c843cbaf9a08c5b41df786d0fcf2b3eb6a87a0dcf315d863c4f724627c24ae985acf1cc3b79a813e851759689600aab65f8f76af584c7264cae32e8efb4f1fbae5415f3c83cd2c097e396d708ed747aa9006681e7f445d02bd780b14e5d8037ddb474f829a4999852f9ad5031182b031bb66348c4135038a969c9ee1598a76a751371fe130146633ec050741a928b0af1fcb4a51e8ca0c0132d8832bf6b1ae1e02bdd1c7c2f5a332a000a5006d6917aa48d77f86f1cc350fd876d2d866bca6a84e49d2112f4f1503dc8467a376512fed70e1718fe612d60f56768c56e30dd1634c4089ec10992081904e87ac1cd88c771ce84e9d1be906d2b6772d87cbff16b623312314d0d5e284c281c9c74f8da9e8878f7a95f9791ba60df5defcb29db22fe7c4d94013442a38ec44f3bc5d4fda4cfea4e5ff83e84afe987119022e868e19bf02f6a14cdb5124e67e97db558b58909a7ff7a3e04f11082783532611638b2bd6b924a845458dfe9e422d163a374ca7b948e860326277173c99d5ccf42a8b7f2a23ededdbbfb6d5829ed4244d99db282677a9ed22fe53f5540cbda03e0627ba50950cf206ac8b852e61429f9d12ca7844217917f62ea0ffcced4c021803628a5b9e333f0b182dc619c310cc022d8a15e115dd68483ca5ea356ba58df7d74e488ec752d96bb0567e13b1b4cd4365bf256d99908a41ed14ff89c8614002b5f0dfb75106a9561d3092919920376f080dbe3904cab2e128a8a9421e4ddc52daf08528261520eb9a53f7643884e99dddece9404c12828463c4b3bb9f1606c128f8e20984a1a4eeffea2069563a54c70fcf84199f951a06fbf4efb0d3f5dbb0103f9754981fc30c005588effc60e10e8470f9b7b07ed7b37383452bd38be8de97923916f1f25ea570c9177934b219c83f376f58ce4956a18ab56666e12c49e2a9dda88f8b2084b9653610dc52f5bc53d79c11a5829708675dca88870cdc96112a74b42eca316033069cf43ac514be8c212a0e1af84df4a1aaa987856b20860cfb4bc80d8c597645671fbead30b249da74b40b6237b932b7b9bd72637421f6f0606736d4014e7c30b0ab2eb1e548d9852bd8172dff94ca29033244c8071848f84039a0be89d6073613fafa29d74301a3c1ed7840bd1ae7afbc6869c7f9fbf14c42faa5739eaa300992f7b256f14b92fc00358c87c60339f240479e5936d5740a6cf3784499d862ca0f55c78116883b0536fc7e6c1ce2019592a46c1a6b41ccdb4aeda3660f661d5175f438af8fed07d4b11753af22b7841b8ec77d84201e4bee3c5a4c76fa68213ee043af95f081380a175b625666526a959e5254f24a416963da68a53eba5626a3478f0fce0fec375f4cf25c584a321fe945572e22b93ebc56d18894f49638bcfbde47ca2cfaa312a9748a3e287a11cb4d8be9c71a56973a7504468c84fbeea36bbef2d980965f3e7bf23c3bb3d65f68d04fe985717b1dac287260f9e575c00b455ef75dd003b517b1dd0c87413e1b7da3ea0576b3114f5103f1a06274c051819b976c73db32e430e6c2d9b604fe7f0374dab834cdd11ff769cbac2875a438ab649cd48048d0086f7981630540533b0b40712391fb5267b51e9ea55a74521e64f4ade23aafae383c98fb1bbeda45172dccee9b396bd15eef2e42b2ef1fed6d0b73a2aa08859175dcf319235ced49604849ffa50c950501c32d4ec8cdce9c89acbf1fcaa8e0af5af5cb180d3dbf06c66f472a71a2540617831edb2123ed2ebe6619b9a12297fc2cb3d04b0f6ee8c8013b17417110f93ceda03e97382ce24288486110f72942e1027bc3a00d4a5e0ade71ddc5c2940bcba829abd383acfc39ceab8a7682531f42cd0ab09db2d62222b2633b1541d551abf2da3794c11bad2c953f8a488a0c8933cea2b10bfaea60ce56a00c3bb6e9427780c71c1d849b890c17dd085cb9b26f1a9cb31fb051d9b1f98e53199a261b5a8f3d05907d2c24fe24b7027d0a839cc0077c3d341a159f1b8450e2690f1e17d66aafc61d7d8436f10c6f5872cc74e6aff741eefe20e2974c1e8217ec7165fd9c07be4f9e693e366241d0e06eb40f88ccdf37fa5d37100743218f46e72af75af71f1e1a366529e5ba8ca0cd80a31120801cab2c408e9f677c2c1c2b29c3dbc0e71d4aaa91dcf6e0f2903c283c5e41a2429fee90f11b756cad11c8e4cfc273bcba2f9ad146699c1db8e7c67248130518048f385bd3e75ab37d38771c92c71adf0d77832ab465947b1b2360ba4f767eda3d5bc736de8f7445ef2a4b81c6393c340e268bba5d5a39f6fd7b4083f21f7a6e98a7c71ce444c4d4ccd8df5e795326afa961bd969000a881e97f4fb22d30534237e9212454e45920bf42755d16e1d986c34201a1920a165a05f987739da4411e45c314116aff66c7d6ded6c6ddc67dae9b01aee34869f1814a45a07f04e78a1854abd3e0dc051720dda4735e8864c6c79b1c04a1ae85171d13c80de0b22d01c242df033ad6e56265ba3fdce9abe20c9125fefcbd13686c5c684c83c11c69e2460579d62f9260825c624b52a8d97bd307c346c48778927b608df143a77b58a23a81ea2196941e38bd713f90b1409a80f1803ce0a135720f08c704128581d7c71adc69622f02fdb7b7863405f52109258c5450414e6dd192c3c80d45275c12f91d45cca61de49f8ff09f3a8dff026fe085ac40af1234074e1228b84e4d207bd6ab11243815a0da6c23b3b40e3acba816f4879950fc400901a3c0a21cec71720b30c8e445dc44f25b5a9f12eb1ea0bb60a6456dc843a86c1e5ad1dbf26c105e41b9dfbf351932b697c4a5cfd281edce03066ce5ef521d582d56962ed409a3c94fa1785a9799e8c7100554bf7a1952dcfaa2d49430ea473021a2eeb0a4349af8cdf380575abf4cc829d1d0fc190f0f777648d46d3b56c2f6669f65726cb7a1f42b1b766ec8c2c2c42924eae64fff24ad774eb0c29ea8a0c2eac7f645d78b7c1567cee8c188d4a56a46d57209cd82401a6cea93ab6a520171e48ee5a0fb61d2d4d8eff29626012b68e9699aeec8a2200ede3ec9bf96fd146bc347755c44bb73d5d0768c793fd141600da707e2c7dba51a0ec08af6440b135406fd94b4069b1258a9b329c72cba46d518d1a18fa8820dc202de70426aebcd8c2f1aacc6fc53a34865392f6d69763eb6f21fc73d4cd6126963596f7b5c05c52a76e1aba9a5982d1da6f0baeb768dffbb27f93f22bd0e324128c493480fa9ad102c4a981f2591a21a807395a96ed378ddffd4c5603536c0c11462daae614bf7a2b08abdab5b64e489b9ea96a956e15324c81dac3aeef685c51fa1398896b25517c88a5ca57bb0d22daa9c88afb2f0e2cbada117ac8980c20a5ca718f3fed42ef63d62e836b13aaac6b04306a89fa0668fea953db12cb2957f4f01cd304b846029932e2ab63fa8e85b0453a1c9e1ec8a4280dd301f1004fb5471009275a453e0945de3cc57a19537a6f5156e80f3e9aba052d925977d0617328bc14176886828e63220fedd9d13af9aa21fc8f58c12643f145d584d9b75764f004acd7120ec7404c82cd6cc6944ff1931efd107246029ef78eab10fb53697881caebcab88eede1394f3aa962d9a1d817f3a0d9d50bc26250de4a26b94703f2a662508f43306801a946a3710b657b6375392a61ae378fdd96c912ae6cd24f416527cfd1449c02127a73632b10ef0f4c4b6eb282450ab94006e70a028965330c62d5063fba5ec0014b1a735fd01f39fdea9ae0ce801ad51845ea84243b30e1f900f6bbe568cf7be58224d57620ffe6db1f15a05f009a2c0db3c33ae44146eb46c3907c5718af04d82f580a300c75577d89949cfd4327c61669e1bcdb840fb87d5cd6d24d96d4cad55ad1589d3b3a7146a5faa07d93ed1f2f1d8d20a4979997f877d7ff3f67ee83924e84959c50441a1afa4fe44772488d6e8b687a5954de7254c87bc942da7fe87ee85dc3b5a2f236ab3f68278ba432bbd9795b4ba42a94a7cb561caa0b74a5f5a29df2303ee74de1cb169ca8d6d0edd5584c9a3c70af95458b77ed164513c91aee4c8b317be5a614855f5b424382314f8a3844c862421f9924735a63b89cb3b8a388b428758a1ed914efcdefa90d9e0e18c96554535085725c53f1241328af8be2f50a04449acbd3e3d184161fa3bb96c91a74c322a05036a27c7689492b4b5d07617c2f417ca899f878951b58bf69ddc4c9300d7182e1e38bb7f55a166f1d07216e3147033c1468903a7e3a48d06e90ca83d26b8c5c63d1c7f51c9f03450b6c547c7339a560aa9df09df69d84e95c9eaf4744998f56a434095b989209d6a99c6a75edbae375a57646206c70b9f1eebde2c93c4ad64837617199598420bf53e285e3a9937226029e5786a1f21d0b27e81f256ead90cde242eb4a041c75abca6297fe598f68fc0ba0178e0e83754d20de908e0b5ae2c17e852f4354d06fe8784c52782f452f1f5b0dfe6a97a6fa5ac6dc9bb191d5a54a2350965540dde5a85a5bfd44bb55e46f3a0ee57d2323ee99e7eb17769b351e14a666dda72e87af6e43fed194db6607c86af4649b1d726bcf4886b842433f251bbc889985b0016243a99a9f45e0414ceadddfffd56b70e35f9ff4d6159055236055994929fc019150d3e16ad13167c32f0ecb165135f6c1eae1f2a595592110b1d82aa90cd57f6f85e6cd28cfe8cff1be3bfc92bebd195ffbef9f98ed8e7a2a661671cffa49b5b9e80c2a24f8967a98302a559cada1be4c26becfdb7d671edc2867e679f4fac57ade744dc46fc104b1e33817b6465e025426b38dc58379fa8f20ef2113cf98402dfcbe9879d56db2b5c39b814b819a9d4a63697bc23c085fdb59e880a13218ff728258505d5fa95e621d952c9184c80c9cf9e1ce58672d2936458353fb8b786863f67b06618c8d70a10f6bfffb21ca230b1c67a75e5dde1feab6566a05305fe1db12613fbfd8c0953e7857d71a521938ecfd80658804200a14f7826f3948f1b73b5859159ad9221b83e5bd49c9678423799e2d7a7006b566a014d559131efe8a46d550ad804ea63536eb6cdf3c113ac16bcacd374d998ab64d1f4a3613eb00ebedaafea3951b6186e06134dbb25ee475c24ce41edde0f682d6c3059c4d18036e55041c2550cc02b046a7bba18088a1ae45fbf2df376c570d2bbdcb0c215527860992c799ceec9c70cbf71d420b80d4a48add88ed19386bcf972a893320872d3719ca0d9b28f9d9aa5080e8af096118b0a6763220f76d1adbbaa4984d18adfa46a808da940ae6eaa1309ed8a87fa4ebfc5b0c22715667c4fe0fe95a4e792cb299ff8d58887480935138b67a80310f8e98d7a56c9f51bab4615697ad8e2650e8381b8a0709536774e29dfe070647576b1c2548a846255178f92248e7a3e1cfab2855b1943718dddedd4bb4c413dc2a567d3024eca66cb5fbcd757570f40a3289d37041deb656cf5b8d241c06973c532f637c3bce3cb27625b192054b37358cac7da1e533f373ed0bb447ea2687827f33c7da8af39fa9516a316a5e02d50736b072666cdfbd1ae5284a80421d76931f825125ecfddd69379c896ac43baef2ca29a88c5a59f3d3ebb126d9736ede239101a9ea4ff4382c90e11673a1b2044a06271eaf9b361c33e285f222f7aed20628d81b1ce1e4f7018e1af212b985228a80b20e41f191ad6c0563e3344fb608103618bc3deea66912e94d7da98263c122e9837b5dbc31439699fa955478ac816cd3be156682381611615472e486317c368ac924f9d061f302a1f6bbb669cbd53e11dff35417639f9c625d1998ed483d68a5ee9c745ccf11492865c1e09d33db83a9f39925e184451a92b756751690f0b0597412e6672becf50dd1e2c40a405f45cf8b2c687ef5725b0acdf54aee1979374d021fc9c103b316f01c5cc82e9da3f044af797ad58a421d3e85dea62ac47a399ef0714395227e495b2143fde11e249c8d02002f3861a21cf951403f6897d4606707fba864c4309429b8dafe0396874220cac0c5d9cab528b9cb284f4121416960105d30b50c809db300e194a9ea193ebaf9872957d2475c90a29cfc8efa23acc83c68453e89c7bc6a42ee45e424657be468f7b3ba087fd97108faf700c629d78a6ce984b646645f7372b4197e28ac7c7bd74506eaef1264ce64365536177d3a009f8428b2ce98243d7c5177fdcf72a3d8cbb711415b4ff5f16eb08420187183c551955fd2e09e0c8aac439e82ad5d08ea90e366d708bda94e83f59f3ba41f2690eca428ee62b035ca547460a32e153a2b2bf421460274e64f35c0a6d95d352f812772be3d1d6a6eda8d036723eaba8605a8d12013a59ab4eb34b2eff38f56e63a79a9fe8e4e3e549d0f62e493ea40daac6d2de2f42938e96c780064cde8f11f55fecae14becb89e8426ca5a43177cd5c6fa2285e3a6287e9ef9351251997dd79adb1b16133834193c65001c01701b38252cc31601dd50cc39dcc8c1ca51d3594ff63f5356d8cb3a03cc375d8c23cb2467e42138c95ec590a9cbcb7f842254c91f622b9ec9aea87e8511f300db63fa15d822de6c39d67a8928674e100c269bde3f4ebf6450e08966c17297a5bf91479df87a1a23659b545031f5938038317de5892996225faa916895f6918367676758fe91a5b75068292bb45a44782f19286a294e43574069c3705da5666005c3b0ba80ad9d132215e983ae9ba02d562c4223e8dbe98b1544eb6a80c4d2ef48e98942d7a88234abda06cca4f093a0d611f2933f9dbe9a3f521d8707d6476bc0c8b80cd713739330abdd308e203db6d4903d51d69abc132efaa4fd9504e36e9fc30546a303a4a44d1d9d88cd00ca5ff3633473ff50d8e23ac9777bb697120f94d0ad5138a2f04f4e3e9e1802fee6eed7f1751de5669c31d1a107fa30264c46ac56cc7368eda5302dc9d82adee11b48efb0d35db9a25ee87bbb74c19800af511c4d18ebda9fd57ed58668f861fffdb5f4205a3677434b9c581f6cfe3d85660d203a8f5b1a96d5806afed5ebb03b237c159a680792299a57baf8f21030bd42b127820915ed44df4a4f5cb16ee3273a05d70763744dc121627381ec417470c6957cdddb45bac2e285dc620a80405ce75182dda624bd015d01ed03a78fcb1ca11506023e4a946bd0d3ed3c8b88b017a86b60fa24c38c1a56ae18276de48210f67f9a88abcafe71b6924b2011869e0dfc7e4d80028ca3a7c921a280ded8bbce317c32e42e2c021c80bde4662adba6104311ad731139566877aa524444876b13027be05819841dc4282b04a990c00bf6dc506e26195e24907a7b43f112ca161293708274ac41e7a87f075515e6793f4385c67e01d43eab9475cbffada7a7a67a3580b50826ac9b43f4ffffe67ed0199aa00ebe9cfb7aedef04ac3bf33c356c742cb798952c91302f965e39db90f5454a40f41d8a2528dfdce31f9159e0a7bbb33f572db9d361e97413fec6eac1326c6d3057d3b69d7a9c21a06987efebadd66028b1518cc6e36ecf3f943c7693d0404c7d34e1f745cd28d3b36819a4316aa79bb8fa0631c4e4980b8852c4a6f77358c60b678456f4222b38ad6fa8c11e2cd996ca435a100bb67719a4f63b9b8782c967d1909c6d0b82a893abb12b2fe68bc8eace02b3b0ac6b0e2ccc85b0298587d25f91e04d9fb218b75f4376613a7ba2290cd1ec45878dcf8c6a956ba792203297f57425c2bbb455d0ae36f07de049c7731d937a12eb517e15698d0d8c2cacb4c02a6dfcfa06749d8eafda5e5b9a16c63b961f9cc42092938db6a0cffa41619113da7646cb8f1c0f07ef80adf89267c75fb2ac7d444c1407066a5ff26b22c9c5e52009dbdf5fbc3e9fc3f47a7a558d1bee962e6f79d733a57777b2a9138f990962784e71255980446d8df0fe536583a88e324c576305cf3b1927cbce1eac8992f0edfb19a1091a35b2580263eabd04f2f963207e29b199f05e710f1ace7c46403df004af81407802baaed2775f5025be1389c934bb00e84aa13467a8aee7cb861a269c84d6e83ea5b6c332db326df5db3dc0cefcdc7f4654ea3992eed6ced9eb4b634c97c6119048210c34cfa3006d8b65c774c0f13b439259884afe76f18ba0bd9c90c948661adfccdc54071d624be4def00f2802343951ebc387ff4efa671d93d6256c5199ed3167fcfabb1c5f7d090f55379fc8fce58a0817c4e7a1599c8081c9a342542861da644154b9475c5eeeb043ad71fecafdc6e662f59eb1c34c24deeba390361b8c731657ed0a01651179cf44820205ae39e8b1d61652c2effb1d01ac2e0ce39d978e116cec18bb5683a163a3b457c278f7183619426046c8418be5bd04d052081f47e767f89bff6407f3197dbf8cf0cc70cf16ee736225357d0a64abd05f37ff0995cb2e9170c7b9cd1c9b81e0d467828db43a52d12c2bc83d3b2ec96b41d91248f9563cb8982e47b7009903e9b9f61b22ce3251a4790de44d4fc868e784c51b32ec335edbb75fd51b08d80332994d3121a0380cd9ebbdb986dfc31b34984d8991fb68e52d40e8e656dcf59d92166215fc96fac2020747766ff798b4d8e1602bcf98225ba5d765d064a308c679ec9214541a73e556e5e76d7c7a7fb6c91db81c2c056afad6f89e8700dc11779d52928b91255398e92d05684199cbdfb53907c69908fc53d6f5ceb51c3090aab7bb2018a929b34feb4b5f7b4ec2770880235825f691c10ff94fd24c197b25c4b3f25fc0562b7c99ceaff395fe642724f916ea1b0f0473a731636d05fcf69123d25fc185891e2a95b0e72c52bc369b89bd7439a2edc58996e3eadbeb1c31e465c6d9590ffdf484d43c54d173c44f6c8a306a6fded2e98622fca8c65cfe9254aba62373d9d422288cee5566bd6c8c5f6e54c1aaa093f4368e28637b167e61ce36965132b6b65ff7340fe666c182382516f1ca2d835226c03b4b5e7b7fc3ec3e7a4d68845d6f32975227907ddef8c6b1e1b25822ebcd8a75848ce84de8dfcdd55cdb31b9bf3dad5435ec0b7f7d2fa64f23f974a7663967baeb3771c49d78a1e318d010a024d3b88c3f53645158f1f17af09d2692606edc65322e2a646c1f9d03db413b506310b5c406f90535b13f2b4d3b036764e92df00c41d6263ea5b831c68c4960eafffed22addb58aa325a8c0c88229b5b40db1e1d955cb712e1acc84dc9bee22a633bd66ef140f978a9124eecd508ad010e1f5a95bdfe27d7585ab2d0f55c2f12ea1ad73a60c8676bdde7ea72234319b5bafcdcb3583cd56e9dc05cc0961506a85ac5d930a11513be48213735c482423459b95d29be05ff6ae6ec4a1a9e1aa274b6cb4cde86a4d35826da3aa13646eb8349d85317c9c59d6a0bbaf528d3ba90a0d3fd21d8f90e0ee9267b77c7dd1f19dc0cddfde06b959c94f3e1ffcbd7b8d8dc5d67fbd1608925439455e436001d24946815393832267e1524b89a4767ecf525917b5360ea7eddab6dc5b50c516dba4af9be55414e5275943ed0354bc8074f46eb64c98fa34355383951122f7c6e9814e7d9b53d1d6956c6aa414d820f510c37cad9fd9c9c10c5a520cdbd947ee34f2cb681808291383e53290750f3b5622ba85c83c3d7d2369d7f6a10cb30e49b534ce532c473d83514ccda860539ed3e1c1a4a8c6d5528245e64f0a0e549c7a3cb88d875a1ad11149dbf8bb232c86328256816f9dbde95f584659789d73f6085559121d465e489c0239fe3a50c7fb8fbf3a6e499d04f19adce009ff0de5a38cb4a90b48cd588c48718a5f49c0553239e84a6a176e0b3cd8d285863554949d823046afd8492428111488f21131724081f644222cd91367af604ebff4306c2c24d614285ce17fdfd980ee61f9540d8b1f68d659dff88d2c1b2fa4fba815c59e4296f6c44258e528a01040ab5250759f418916420659b68cc25f3f02e39015b7d90ad686c7d146c89ad2b062417d8d2d6069af08f75409c17c81ae806d19fd9469adb4c9cb092fcfe1f5420022a85e971f07f4902a1577645367386929f14fbf17dc6390ae047802ead17846218c20d9340abdf4927e286f3355b8a23eda9993db6f964c022cb05cf274295ca691f5ff96c1650a47f77cc17e9a8ef18051926485022499d9524ddc3f1413254564ae8ab7b4a5a0295e6a9afec23673b7f935d498a7b8ff4b99a1a7122d1c4461ae9f3517a181dc029c1ef53a9be069442657f705d7c72061ba47e84fb18740ce7418399daa22093689f945e698c0f90894e9670e477f99d7a555dcc96ba0265f48fdf99f580ebbd97d9d77d4a225efaf789909024d8e130eb97a2045f89737b73cbddefd6b9ee6712c8a6405313e5af0e24a6a3a8624721b8009c6811ba194b914f504decbeee88ea14f11050b61a0d2dd2ada00a6583f166ef15c83bd652a3c03e3ad173e58bbfb21cdf6fac4651f8182f355ef213f88e463a8a6b1b10882aaad7882a145d613cd54978c70397c8e1728db468c9bbcedd2a7f43211776b3898ade34d9f81967e4568725a1856e9c53742c23f2a675904d6ed95036400f803ec78e95e8e80556c32fe81e908e214c487fab2331fda6e13cd71d6f96068e35749526900c2790c9728c6cc480ae3a7aabcb773f434496819fca02466a4d8160d021ee75a2cd392c790f50173bc934da4ae12b99c40a04a9b4ce66a0de9c0746471d3abd3e243fd23055df0583716d102bf1af59f4e32d19402f04f81a23f4300f52c7b5c1807c831086421608258396b13ea10d244aab3a409e3bdb837d45e5273bb00ee06bb0ebc087cce27fa2e6bd910ad419412c4f786b0472b0909c0cb0f48c117aab3536c3d2745d001cf0d05a2627e086510e08183faf3d296a84e1072f41b7b9ad13a1d7cd9359718eb8d64bc55d2e92dfd035660dbc3e1ea5acb158a3ce51c7e906cdd7e9e9b009fc2c9bbef8c2bd70f084497ab760c835036a0a04a524ac1f2688c5a4f2ea743e34c8c28a03ea0dcfe723fe12b42b672231242ae433adf67bf4bcc4d21b7d91700110fc3fb07971dbb19a9319bbfcc1f62b9a561a2c41bfcb0fcbc644601981be08f93d087371df76edaad42a8efe54ea35ca3f9ad8282062987dd0d6e4426e11e57d6f690a4e89c9559e35a324cd6b18ce365e5f83dd396efaaef10919448d46c4999a2b5435d05b511001e3da6329ea609fce8ceb272102afa7e1228253b00f225e0153c71ec900cdb9ca2eb374266c1ad0e1667d1f446e2508fedf35eaa50f217e578736ee32c4ddc10a84aa46a126dfd5d357b8fde2245076502109310e92492ad23873e7f1fe08940833a11c7527b6691efbb3ec612e194d1a65a10fc9972bd0c496ec28c28ca4182ac5b9320637f1e9f0c60023e39079a5389112b17606386f04b29dada66f10285c1bce7df67d077dae444f2392bbbd01b63b6404163881947531eceb1ddee20582ba618225977ae208a45f29cba5285296e379143c9de99c8a6452ccdfe9f2fc3543241e38e219f4e349dc40ff870687d80f216c1fda9af5c18ba7f0f5e66d97c3cac4fe1181b210e8cbe06da9e3d77c89a0608e5eb5c2888bc593489e28968277bff09e3e50992fceabad2c2eaf1c56ab13a628eca8de7db859d46977ad95213a4fe4f66bbe2b158958f8ac7cfea8652fca28e82a4eba819160880176dc404da6c8c499c3d49f32868339fcfc13a43dd18bf37e84a9a8a2634b7babe20c1a2a24e3bc7e3096b9327c0bf478e448c39715f71e4d58326c1aa061bb9f76dc0d5838c0ab2c740ec5343913af8e7321bf73839e4733e21e5ff222ceac12ab94935f5eab832e24e06066f952a5583b592d2f5b03862969f6baed57e9af46d758e5e77b4cca87a5fbc023f67be228272c109f6ffed188fb335431a00b83cfc124e7b8b19e0c56423a35262935d5192356ab1e24a78b7e8961a8490cbc8ac74dcbe206db51085f86fc834fec254d1ba5402ad79778f4c9a276a250b4b74106b0f48afbc35792d3e23859634be26f36b8c24005a5b594522e4dc7b9b9ef72d603c95ed12f56d4954958d4a19370c71dfc7ab41b536e33cde47823b5682199fa176b8079e82e9cb8cc4f5f7b8415aa3e834e7c6e94d4d5dd10541b2597828f51aebc8d37e56787ada42189c7b18a4acaaf0c3340dcd6e179da96642b7a5c18007c2a03fb9846b2b28993092f7769ff48eb2269db53bd15c70574793e3988210c8e3de41ad90c791d42e7c753bbf2c5beee29311b3c115fcf78b5f7cfb7c9fa9c16a589f553ab95429751ac20e3cee85b46e7fdf599eb1d7c790d042787db8c46d8c43b2c900232458168ffc8b19b56e75d83b212084e1af0749942da602804514f7634fe9d1c1d2ca9eefa2defeb04c7a0e6c9beddb5914ecba3f8d7fd348e9ea2250a0e7224200ef530b2d4e0c3ad842fe1e5e11604f58e84c06857df5696302e609a23c35506f896ef1930b895e5a3f8c2c15758f993845c4abec951c5e81c44c7b17dda9d2b9e23190851d9c1ea90c5622a166e1efb1dc411e546c57df219e47f804ad3f151cdbb34d862e17942062882733983063b6ec5c65ac0cf986b3f88c0aac5a643b95839f186b70fcf36cf14c397288c3af390414ad593c425b6589e17b8d5e042612221942ddeae31c6015717084907f6a82f54ff86f00691d9ba1fa0e2822d5e2df8f5d895222e7982721f063774c20218a91a4dbb93a252588dd3ba14af3d9ef9609ce7c23c096fc4f0dcb8dafb113db043144e34444ccc6c36e43881260c2d13d2c852f94e4e1f13d6c2e4ce9c66c73ef281821cf1ff5588ad2e3f08e6d303f36dd8deb0c235512a01801aa2cd03a2ba042f8568cf2ad9a6032784f5c05efd07a8fe3a89c5a1f9543a3cfff907085ce45ad9133f52a0eaf268ebef327bd25a33d67b8e4b33610768ac3a0861446fcc7ff0235dd3693a60fba16a9e3396b54dea4afaa7ed03bb41bf42e900952566cca6a8a03914ade75d06bbf565e99741e3b11eb84f7ec696589a6c4307273748549b9265fcd1daca317f08b4e855970403d4c8ff9d5eb8e1f0c156347a74faf4e89742f18dea5ce13a671b13f6feb207febb552473291ceafccc023fd133732104ac960e6cc5a799250f7352774ec22bfe62195fb11c384f515cd5157578c875524b18605408699fac240ace9f07303e1558ce1431ba104131992652e6ae49cdeb3ff08ca9122c2aa1db909fff24892e56c44655deeaa10b7cb532e376203f9308cd11ac07b2da4ca6a97ae598ae4ca3c36564f1821bed5c98fea340d4ddfb297c3c1d21d7b61665fc8537a08785e04179a8acb17857b17aa1411cee2d1a6881a9c68fe32476f264cb94616c61db1c1c018ecedf2b71163e5e4bafde3809e51d593ea72622b1d190ced771da2bc498b9741c73e33ac3904de4b45ddd736a8a0c32aaf52c9034592836daf0c8d95bfd8962e7e57948fa4ab0df0d1a171683f5efa6fd805840cd59a692c9449d2c44c631d96a00a105dad509abb87dd282980d5bcba557d3d547b81da8267190457d7b7cda73078aae128066a550234570f0b70c69740a37d637ecf484328f62c850334e611b3b47c168b431f3da94ed69b5a50c5d18dadf5d5477e46bee39d50e9b069a137f4816f3d82a8977dd09f0225dac0ad30e4c915023c913d3f40aac388f782b04d2e66a7560f7bf95b3e89a20bc0f8058ae09a4155ec0fee7f41abdaab8504060ff01e40e5f4f7520b2b4cd9ff5598371685cfcae0603e27a65fc6135acdfc8f37e5e75c322f2995795cc146729c8656d207cb8fbd2795659f701ebe03966bb882e2a3678cf62bd7c781efb64aad0838a1b1adac82a9c61e9e1760dab89f0d0b10039ade8d4a3bffcc2f61a442771728743ec59949a9d61d9a00794bb92388469623f9eac2a0670b6d19c1b91d6bf02b2de1d20027f9bbe994bda07e5d231744beb6c7d114ac545715dab0fc2c4b61de064a18f147ec7b711e4118774735d4aaedb43e8142d13a5ab408b1478587b8a9faabbdde3e2a1ded864b20d11715b604b96b7fee919526b6fd952b5a552aac15bc42d3267323c1dd86e69ffad9f3027caea766c0a6749dd3b7db17d341315621af2d8387542aa5ac8de73e995eee26e3f84afac534333c1f1eda93cd4ab2b58ea178b627387fb1f16d52387174d0d8fee9d1cd7f92e5e7f29c8d66c62a2de3df57e290a73b6ed1f19a0300b2de8443d0843cf1a4ba3f94d1bd6063943ea8d84efbcc6af64d0589799f6c0787f28bcc0c0b82ad5f5a076ae24726621556b1d1e4de16c48c8cacc6d8cbb9323de9457d15f035668c59fe2edc67d8f7e561bd9a4373a44807fb223d526e78b2a27abb846e39a65775e0a1fd7343382fcba6ce3348d945fcd252ead06887036cfd1abfc47493139fa48b8e10c9580279171e0bbbf47f84d0795d7092eb853269fa1ed1e6ac33333af430c5b0dcc973b021e5e7c2831637764e836a8f581fd215352ee0304f629418d19e46ca13b05ad3571f3746403bcb4c1632ce46afe36be73104f08a997f44c51d249e3bb2045e9f4e05c16fefc761d64d446c9051492f253aab9bc7682e46b46cce4b08d1da080f5c686a65c535eef7a9192186f1ef341b18cacaaf1b2756d06097cf4c3e0510a1d6ef78a3f2a21bfc6a583df61376ed82226632172b75349ee2e3a36740e4dce47d9ef59d6556b546feb2b1140fa9e655e325a778b636d560dd80c047dd1251bb8329af6ef076af3ed5adae2eca4742c28f2c9e2c022d7ad2726d1df23b51a1b76617507ad9f954b9d63bac4c409cee3832d5e83b5df6db15e38b9d5448eefae7d3776f85dae720ba83f35e2007e3c9c5f5e642425b9704d462707c3b5579c6e58de755594a35c141b50fa9aa2b2075f7fe5c13ee93e55b8b04bf43e9482d7826fb602bf564917111460e6ae636fcb57209fd51d8dc82a7b458db29b764b4fb8a73825219ca2289726d293a682ae11a100399e448ac70e8e0ba42397ef408a83717521fe5c5a2c44ed0799184c005da61ffe221acc745386f864d0799f9acc190d728ad3e617640c86f993b80db39fc03de24426b75b690012b37298a0b01339acfc87eaaf362f0483d8e75ba70578a946d93d34f816a200974d66c6ffd1fbede8f08a95756a710ee441b044dc8d9fb83b0d36e0dfe9918f363e6954628e76e733870267a88e52e052976f0a55590d81dfdf668bb9de2d4baa8087bc601e91a631e89d0e654068710aaf2f74bc56ca76daa4c5a09a2fe8dd74fdcbc5f711fcfca4785619fb8a309601950343462259666585705e31943354024bb39b1d2dee774f53cf9d4dc1569cbcdbc105cc07ef78c19b368d150d33e89ef02a3a275156748b074818abe38fd9faf7dca1a82cee0100977495fd41b3f9212fd9083e39622deac950352d983426e97560e7b5509cb41e95ef2b49753e0c05ed6f4da02c99dda22a871c6449885769c6af0469a99c180ee11e795b7e980d66a874cd8d60dbfdae7394d7788398324e1d5659d3c787e97516317942ac67b9b27d83a1125db66209cff3b6919b5eb3ed79e06fe8081948b9543678ed21debb55f23971c3a4b98104a866ff006e03743076c797d92008164868b9ee6caf5103f84ab38d612cefb274b5158a0795a305127a524d356e8a790fba8b60e090a56e131c85a57d5c76bd30baf2318750158e7a594b54640a24a97b010a2d4b37632145940421ef8e8885dce8420b523b4cf06399f52aec817491004d1564be34c9845d23411ff9570f2501ab323a284e0c0d299a3f70bd784ee44e0da0a76b64557538a74f647e77a5627c27b4127c53f2d866a721af3d1c7cb976bb6ae73c988005ceed530e9f00a951f71c40455407280d92e9d3779521ff4e6bbc9831e001c70d2bc4e4758af1426918655db3f69495fb7810a63b0964b808ced680a70cffe32b5f4e6b990f13045d08eb596d617a28d58ae0ecf1de6598eb61cf006bae529638cbf595cdfb88d6d9a0139a0c0315c64efb3f80ab1166de0f7107a31b28309545fe241abf753269dba6ccf3827208b8a872c3ffa75cc11457f68b8cf7e112936ca28b3fd0b81c080e8b6c2af1878129acf01c045d427539b95b0ecd8ddcb26884d5db9591e2ab90c84ff7ce88953d81ef1678f9ef983a864af6f79335781503e87847026f9ea56e1e1ba21c33c7f3f4a03c8946b97a208eab141f4804d140799d8ddcedd12843cf71507a60f48030c1fefeb121184eac00e4b239f52c1e18c89670773a2f7b0c75d6e7212e0241825d3e993cc3cbd50511688506b45e8ab80d8fdd468beaddd55dc47596bc159f998b1a3ad8537228fd15765791c8e9efb1f21cac939c076b5a60d9e0f1a9895906b180760cff64c44dd916b7da8c82828af206fc7acbb99b3c1286d82191ab8a8f4b773cda04a7386e416c4235d0120bdc970f344a62204cb4615be28ff20ee6eb6cf541adae1afee9a48d111a08a5693f033173fca7961f01a052d050b6210742a05b43b65d756126de074a8a8e0674accc717137cccd566d8c3662cf5edd07f4d7fd3e1e8474942f0e47a2cdd103641c65315676db914f0a9ca4a4cb843df1c8e52700c619875cd4447609b19fc70f4cc920b84a6aff976c3a992b55471578af542a3a0801da08f0a3870b45c270b786d91384942d9534bf34f59264bf51b289d5e65bf60725a35836422a3b547526dc9758455321c2348740c1e991e738e5a81e859879048197e4812b69872624fa576a39bac9a119c370c7036824c9adc4a815d2c96f4632978c22c9bb5d75efdf498889b80089f045b8b2d72e1fcc90599ab67076702f02f1cd1c4e0d05a6c31c72178c281ba72532098e606c6228de716d2424429ce931fb0e81f3d01b8b3b33fa32ea5581ee8ff56740fdfe1c29e39903926123be1190d0a9d070ddf24b403d399162bd5a7b67f3b50b2de0653424b6db01796f82e86e5f0bf9302e3efcbeaff5f8db983aa43dd4b2b4f5c9de389774bad5f2f737940858b714c6019fd14b82d4632aca0b941ea008260a41596b5b09e55619bd4bf17b4ab1aa83d7cfaa8bd873928a61c3a89cb4130323f8af4a3d30a908f22ca4306e5e7625e21a247a730c28c86c6662a126b527ddd188a7d7fe488bfc5d14d6ab770d56b7d7cf68b832b0dc688c77500a44fe7ae6e144a12862a176f7733a427c5f7b4e81b8add12db9e8cac2a267360207589f926cb448bc8e7f6099ab39929665f7d5e973bceb065c47d8441f2d279b6b420ce7a3897575a7ad30176c81807599d6d5d8b43fb44f2c29a676395531b1efe1e5eb84f1e5f370cfd4bbb6eb3f76ba1fe74633a98cd23dc89dc1d753b41befdc6719e99fe2fd86589223b089d21dd22230a01e5133ebe187ecb03f575a0658d2de751b91d96bfe7405e8b4e00f06e111862b62a1c0605a286ecdc5287e1289861a7753e1dc4b57f1d6e9f98502802c5a3761c5f7bb413e63514729e84f6a74481e9e5c2ce2ad4bffc814d3bf6118fe227610c76b6c4f44657e7f84d37067f92a79b128ee0b970d2857edc3717c5e301d634ca069c41e00adb95d1ba21f301889ac68b18a257a9bbc831c14e5f36ff686c2c05a8cbc4926a8f03051fae4c2cf0076a594b8a1e9a7e8af8dd850784575f38cf89f0332491a78607e9a14890ae02d413cd24504fb8a19b3c30b95cf16b17fa13ea250abd7b16bb9b53ecef507d1a6f4635340c265ecab4c2cf96010107c989bab218683c899fbd0f78a2e21681b462b76a6ffb0ec71182ecdd926e36f68d6de5dd046e12b1a550a37dae7973e6346acb72a47abe5e5f6bafd2a12b80d4c2f31dad0664ecf7ea479c4e4f327ffa97b81d0b60ba42acb55c94e166a465c1e855d49bdda4aa72329b385222691631f3e9f89ecd883ff1c78bd2febb3b78e58445da6b4e0ae38974cb99a130baac8c8b715216ef011110f722cccd094a761e3b1b712ea50382c9f2b4487d7b443523b014411838a6191466b41612e0142385bc22f1870cc95c63e0abb4fa40f7694930631c9cd123be4628212a02b3ece7afa3fbbbd54dea86ddf454633693c58a58dccde2f3838724f5d9d92ccfb1861f3bb5c3e40e5d871a8fe242b993342060fa87a08a865736ceb86662a2092bb6af0ba57511d62e1619bcc063354db9fe3ed0953673844c6b34e090c02d040bd87ac8b983076626a9ea1d6487d0dd67ede721eefed803f9d0971ef1862a48fa5ed746c45d11163d05560f34f31f91f486a639303368646ca0e0866f8de7c72c9d10716b126cab1521eba9d12ecc19407760b9fa78c6d6e3e6188443edc422e06f61c46cc5edf8a1affab9329405a86c019a613e49201318b540e6b4cf5618a8063edcb11844462d451a9723f75efc74e6047bb13ef686b5ce516429a9ec4665373201829393eea33e66ff38371c9e4df38ca7870aafb878c7173791ac66c3511c5d29f692026da44143b604fde65d702025c20fb6d98e5a5e2157e39d5748dac48ef9c9b88b7910aa0030813292ed3de6d269dda7af9537ad3482bbdd7fa86970ad4905f2158ecbb4c1f3b900d7b7c4924cc89ef536fc1e08b7c3d9669d539f53f3e8703a4388917897b0443a1147c8b09cc83ae53974e9b66169c97500e82fb57ad9535077c23b0b91eda00cf65a88de6d600a98b2e7fca0d90afa302fb8583601b9870ed1e9c807e6e698fa5cb1b6cef55004d5e32c19c0b46a844cb572d558cddc391bf5e3bc98635b83e4d5a23cba7140cba612042904f24de05ca1ea36ea14f20121f37c187174b1ea7a9e1bcc6e0da54c27f48d447d1d0380efaa567979461896adec10315d29703a154ffb97780ceed253ffc1da7ee55cf921f66c792702472c033135706c0e26576c5e3c86d25197284c8ce407d936657454616daed32d3d77920ec16d346981d7f799623a49a584eec2d06d9b82c7ff2a80bd1c0e6a402650f8711041442c84d5181de18cabc2e56c16291ad91614f24d54d7c22b36d8ccc864d2e96f497bd5e7bad43905a90f520893af72f01dc49001a5d504f30905a2993c0bdfef8764b2e4cb7b85fcd86e238ae538fcc23f8604fc6640269091d77abae93b022e30ef46cebb4e6fb31b302424e13b9f475d3b701e882a60f14836b3b3f6628577b99b39902cee081f22ddc7b64159767cd28a8e673146c9771494e2ebbcc5810d29c081975a1979eb772da8cc4320d4c6cd51428a4cf783cc1443732cb80f293ce8cbd8e5558ea7be9b3e01747ee097cfe1dac7592136468f790551a3c3b7633926613ebfbbe671dfe43dd936e1f72a16cc8106fcdeaf036021b69e7fe6bbc47e68348ab679f4399fe2b8673ecec0e584339d7c1d8c7db1eae03f4a501b60d6ac9eeed3d9c189ebda9f1d5330aa4c6e86e5cf4818682652d76e2a3c4dc24306e744bf137554a124856429a2df49690edcce7339f9d74dd3aef20d3c326af4cf897d7c3c2fa3b34e39e323840a66c9baedc176adb1c60d1a9c3636ba6587b74365bac46b8b2791c5b75e8be7c28e2d24384a6620fdae12d5fd057b2d3877b07a537a40890989443835141e74d3628bfb4b17b22b7909df2640ec21e96bd04429ec6be15a964a2cc900c5f97c89773689972bc21351421a96ca591562d87e2bcf1d8c26ff55ade1dbb223f29c9aeab4a5f81c989a60a8eae997a6bde6067f80a808c49e8f359e0230c661074053c34e2eed0dd8a942afa0510c100f3d35010780a2cbbfbabad9af1178974859230e1d7bb766ec7375cca92de38ab40d957bd49f141ec5d702012c2064893bbd2f903e57196415757e45d3774b7fdd4b7e3d948ff923d8ea5f504ea6078631532d6f4122e2e22de1b69b7dacc22f7b78187878e96f607c83145925fbdd84ab53350b0a4b79a24be16032ca5329347f2cb0da8d6bfa5646dc9ae00e9b0e4fc832d1c6132edc39b150347da37409a091c9ad5efb679f5c04f86f795fd40e8e8ca31566845d6c305b2ab31d9f0ac61c99618b0d8f8482a30f22504436aa233147fd98ef4c9b09696c8ea41ae245983d0d662a9a4fd62e5c4ae81a3a50cfc16c821887cfd9ba46a3104dfcbaf0623ad54c78c27732bece6a540d8dd53a2c9c5b6d95090ede8db6e7058aa70571737eff38be3126546a807c79b897a55ac52e2ede48306708ddf5b251348c1319535eb3352640de25410483c0058390dba7f26a67aa1e6c511355e19421a24886697c125241d1ba767a6f4182471296ff8466ab615b72ad030b0d26005a3aa48dfa8507f369371dee2d3ee460eb15b5eb28e83fcdf508ac4d37268a621de985a843be1edc93519c6db9eeff752b4d58780823635439e4686ea7987a88c17b2d1644b21dc7423fec5e1fc4f25c5211598fa66f26ead5c4fc8bc86e977b20a179e5b660c2a45885e4c84ea9532f2dbd43c0344324c54d989a307ccbdb8894558a6d706c115145eba259a0ee08d4eeab491ebeedb713d539d57221141f4344f731b1504d9d0ca8d573d3b9cd28ad9d55244e2e00485bebe0c1b4be35a1a96ffb94f89c4013b03fcc0cd2eed43b608ce280b2c8bca46b7481b3ee0bb3157b613f37349badf09730c441091ccc55305426edec0ae9e8ef0a4ffb3845e6a203eb56ba1371f50ed6964f436495b48115cd2bc7a4959a62b3b9e693c349eb9646da28535c339106be12874aad4500598d8bc0d6f256b847b1789defec1e7ec9e5fb01c4109f58729fbf087001a8013998387cce1a69a5609385aa7b79af5206975b0be18c49c843eaad278cc06d946f3bec850089f025b0156c7269ba7b6080552d79a6a74937c862f3d5660edea780c442b49e1d61b2d1ba5b1845d333403d8f11676206901492bbe22bb237ca8cf9ebb9e05318875c7460288691bfdab6a632f5b6e56a8d2cb3804eac725bc9d8b49bb025fa80fe54e09f1aaf2ce713079d38d93e3d5947c254ef80b994eb8698590c0d9a19ee1e0b127d783210bf06d9d2da0365157819d7cfd3ffc9985a0723076537ef2dabaf99c1c32a193cf92f7a67e8e046aa82d3978a2c86e06de678b33acba5096afbf1b1e09dc08d77526b61bce976c6eb787b197d67d752b527a42d1e7618cd525154ae8e5fb750000c161a6469f8bec16027be2e44857dbeb40259ce5b917696dcc66e011ca755f3112eb5c2a9ec0284263a40aed34ccdbcf31556c04b0e6a0976125c09700e5a81d043b47a8a91b3908926890aa6d3930b70f5ebbd2911bdcf19107b737959e79004ac268c0db2855f9fa0835394aa3b4807b687c662c4171e0566df88fdb047a84833f57f96161da87677a41f0b5004d047bce7a2751589d6212068f8f98e7d0b14c47fa8f1788b4d1c471447eb38fdaab4d8c798bd6f0d9b736dee7255e27f733c62e17b771d4771ff91d92e606d1a3c0ea2a9609a966a21571497793d911b6e669dd6d6aa61d1edb6b4b8799e4840746226fa86aea0a8a3057d22b674362f3c7ef06587d3c887775075a0d4fd8ad49203cb4ebd0b125f81545f561e1967d23a8f50f167def68ea5ddf73432ca6d5847cb117f13c0215438761f40900784a8a31164dbd05eb576b2e220d6c8aa9c3f40139e357235f2f4bd9bffeeb56a2f3fe8d80c8128809c52dedab49012a7ac0edd04cf367391a68ca67e64aa287ba98dcbe48b17563bae072bf0c378a50aa79cfa24fd4b909ab88e2ff5106545c7d4ae34e39364aabd1e06d7fdc50bf4203b01116bd33c7018ef98e927963bab03b6565fa6614caf5f2dcb93cc52d7169427c3bf3485979222106de82d56c4bb93fa3177c3417ed5eed8775cc6681964ae9e480c24cf874b1e18a60c752132c355ee2b261600070edd5b81af9313bdd9b6a21014fe6f9d3d92719e40af932847b6bc69948f950ddfef63c2b360efaf723020c5b9b1b4d6103fa28a38254312741a741c1b1e5e82d9fea155be5d5505055cbfa46c2a632097c06b3daea7d484a7a8cb56788cce002038654167bfd76e31f5c6ede07d7cdfb70bd611fafbcd95b7a96fd5812d90cb14cc712d3c73403cee925f7b2ab7e5e63916f23a7d22c672a9d02f380c1a12f0e7c65a632233ea4e994e0a5a0954cb5387c2ace9e28d0d963aa2cc2e04f66bf85a7dd9c3710b98357c2f3a4a8df96b12de7ce311e583c38387e69ab7c9d1ae081219b8e5052e2ca67d3311ab187b0801e0fbc0abd0b530284bb8b3fdf9beee4aa6730abc9b2107d2b040fa9b5381f83ce750f07f6b74f5e5ab6b8dc6924d11d7dc31dbec5a73b0c0f6163125115fb429f326c7dbc0e3debcc4b95e09ea61926bcd69147dee388dfedc44f28e8ada52032e7a86a8311449e3b6aeeb432d4136181d4b6df2a4b084fc5212e378846eb07884e04c6e443692aa79d864ca12636bb95962697ddc1d01afa0732713f74a4ba991b49056c7e5654b86849551b3663ca81f18bee29f947bfe0f8d8b436d93db9d30a092951b33d2762b99325ba3f14489c20039935bbfcd2f3cff96cf29be629a7feecc79ec763fc047cb37954ce2ccbce5753005c9a2e32e480ac692d4745e476f665c1eb5d089fe5d0cca0125ac57ba02d4ede601f129731b210391c1ca0aa9b1078c4d56ebf59b9b1732d36c4865cca2d17eb38de210e974b817440311c08f4b1d431f1013aa84288f99cf0da26591ac4646883c13d4e52c6428ac324dc20be58277697a81ea6cc6c7c11c29afaae3d2bd5b4aacd335df3853c72549f0f00e0eddacd9e7414815743c313b0f493d1f0392849aaaa543f28a04028a9159225c9cce4b4412817715cc6bc070a2f5fdc94bb9af2c946a7f912763e697b4e283a80427d9542a555289d293731168a345aee7a1afd5fa85a19d91c5942d9cbc3c0358980f3bf82e89c3d44736ac4cd8db926453e88cdb94d958bd5ced0cd553d96ed2f87d9e3d1aa03ec9133ceec63ff61cf7bcdb07de66ede35502a56584f73ae7c446a978c45f2566242071bc30015e0c71e7c690ece2dfeb4c1b6f6f7a33ff88fe83198f969eb0a09529eb2dca44c8dc4377a88e5dc6a3276c83068bbc866ada050801661455f5fa34fd507965d615ead87a16ca4167ec3a199f0057502a3a6ff854eb1d76b25433a4a0ab87328068b031e8277a7467564ffdade86df0373076f319c033223afcc04107853fa1ef0baf7ea5034d760327e2f48e2c632b7cc88bdec555df7d9c3a46bcdbff444fc2f3ddac033e4ac721f66a19d76604585c7839d05d225cc5e9d7ea37a4ad3d11d7bf55f6a55e2fe1b83d65c735a31dbb13513badf3709322abf4510dc6d940e20d2020cb89ad9c11563ff68bafb6d47cf7e52f809ad01ac3614c6484a170fe22225dd12a50a75d7ae0b0c9934f182c933655e640d2853d64b4c2706a9afb6c1ec3ceb532f46f472364dbc65a3ebfa09c3e561f589ad50e6b80feebd7bdeb9b3ac94f6589de858129c75c0de6b9ed0b7086d2527b702bb1baa20e84964f6f315b4899863479087f87f47cf88efe4efadef5e5dc489a6e18ec4d379d506ce3f9166709729d361cd1ad019166fed664f1569b8cb928d84de269d649d5a738b5229b8962e56feaf6af32732b9a1b080dbe1d9368a1756f17f2d59118cd4aefb4755915d30ebbd15d69cd9f3347a9e6d06079e358e6a06d2b75873c67fadbca6624d0383c2774caf34def21491279d8a4b510ed6643a1d0b3184a69d2b27d115fda0e64f96506f1a0d3f0a44bc6124fe25186be13296355e65b38e79f458e013888cd95bb28c710db30f23c70acd183d13eec2ba1f0c6d88751b5b50b41b9bd7c7093518c871c1eb7c94b0c63ced352d5ddcfeac4e0fd7dc18536d576b14fd75279395b9fe93bbb775811285579c77d15e59f18e79ac2eeeca4aed0fe9098ad08246b5a094a2039afce01389c7e5bb618090d45d3b7ecbc822d409402ba2f199459df07e33cdaec12a8f45d45d7531fad9508c3bd35f5f2b89089551c0d3941045b7590f593f14343ce0b064e5ba05d7dc0121384a672a228794d446d3cdea908d59f8ce159a3c7a34e91c72a8c56ee4e150681a05963f62cd0fb7932d67c60f57fda7cc78baf80a0f77c72497b8dc66ff4997f808c4fa108f614b641d582b56b39562d5a862628ee703e82a5580f0e1bf0fc78b5859807f1d79a6219d794167ae014901243cf62ee2a9b9702f551f584e470bc269777d221e2cac8ada0498c397d3df5d2bcf1b6ebd925f3629d3a2364eaacfc2112d67102d4d71423c1ac62dc5d36b01264db9c018b30a932d4731445cbb5c44c9e70b88a00765c20ac868099e88565a3169724324ca0cbc33ef04c1b3b678fe2fee21e9c6d653db8ba8922f299071003591b591eaa9a30e0b46f66b0b2a26f1c3281258a379b8b71c937e84c9f971c32af61b4e3f6df3b0912e614433012de78ac6f49b7ea8ec53860828c98374b5538fd239964c2ab0415cb8014ecdf157b9739a799b93dd8209cd1a45a4c7cee1e13431f4009ae5557da49f403a6c78066122f28621eda544ec03d7529627996d12cbd2fba737b45c4bb75131eb4d966ba0fdcdf42206bf8b1c73abfe87dcfd03024a531a666be2a36364ebaa034e7366d0399e7304a5fc1107693814ad79af45b7a4d2e213a735bfa93ec322c45ebbc684e53d0c0f9ff72dcea129edef9c4e081bac3212059f1dcbcdb32dbc19f4270d9680f7d9fd1bc14c78f569f891872a43382fa005abb943c338a011bb4ed00cef7533ad3f5b9340b822d1e66eb4864efa17218eca4f8b371ca44bb4d5f0d49a239aba2baf5e04b383868a953683b7463477442b890b8eef4e82060842043608be10091ad5a0b9e06df241086ae713527dc752a6a5fed2d8a4e0a5a616eefab985ffa820ea37281a22e3c05cf71cd7d80f25f61baec62f8fbe5b62d798c1ae79585b72b799892731dd92bd23a3b0aed2c0e95589f8f412210136db957b644180293d26a3a41e676dc5c6c971eaaf38fa16353fa3e15f097423ba9ef023fe09017c69ada3581d753e9ae3a6b6668a3f69b6afd4a77d65d78580f52581131f5daa984027258cf48a3023e208f328fa83db2cca8114188ca91cb522f2da05a164ae30ee7f0fe916e4e11bf3fa273cd077821d98b86a6225ab5e4aa2eccd184d898bb305b0ca0ee350f74c360161d2334a050d9e3c9f1414a593be1e254a69bb36944e356a56862cf1ecf76e6d7cfb2341621c3ff735d8072282b08220f13cb10c42bdf717f0ffeebb441be0213475a475c0d6f5096a61363e3afe08389d5c50d2d0e3ceba011871ec28c50bccb6b42746caa801a831e0d55c2afd6f11b5e40b9975137021cd838663e4a371ed6d22bbd52ed1c1b46e21ee8f187113621f831e11f408ef7e4bd2b06e0cb9c777cc631176740cbd5d4743ae530d076cec1100c254fbc12f93c945b4f4988d928f67843e47b09a77be768ece73e26e3a3384b1ae8debe9d0b564897da66e7d721cf35c294d3594d68c669a68a6f95ce3339b80166367c498a70bf045653186599573d615d0608259ac4a243a44e473cecf63a2d8f3628a78e5cf9e892c301ab2242e22360ddc73ff145542db0b5e0cab5be193f7bbe1aaacf512a797d5e09a0f8b579b5377d21d40b0153c2d5da1b30a2a8b87a9453984eead4d287f7333c3f0947d9ca4bcfc423e5ca0ffcb42c84fb6d82a8ec7a92f95628829867301695479bfdde2f64ad0a43cc0f05a24d1f7a826be7c6b9d8e910f51b86c0322bee0d896e069512bc2b7b8d5c898ac462f452792d53396f70ee54235ae207fe6cc0dc1e79c7428b211f6c340524566535e2903812d74275890f1c0ee64448e2a3077793f66ce771e6099925ad8ac894b23227d0e51c6147e71ba243e5e57e405c1a52dc56eab4287ba2e00af0a0643fff65705e0f72c87a92cd34fd35d21dd27ebcef427cdd7bd06bba5ba421248c158889d85418e44ce704465eb8bb2bc1668d966931fbf3d8f351aa0f69884af2a256f51f74476629237bc76a3d6991a8f606136139657458de4e7c03286d0a39a9bc8c44de18e2a970cf06dbc214b75c8223f65350d60229f7a341ae0b0a85b90b486dec6cb5e671cdf97a0ff41a4035e71cea379dc4f6928927727117620e0f3a2d8b91879dd3573363e982907c53dd2eca1630484b35d19a288c81d07053987b984d24f493bbe8c64433dc89395a8404bb08a1695e66e8af6b1c41bcd8b0ed7852e51bdef5d7076c372a565f62464d46c7abc077df0a0d0efcaa3efa0db34a278f4dfa2bf37f336014596b6389316e8e12f880747311f1066ef6e7f5322795cf34b543c9858079cc415a0f94b0d4514df5778d32d5e62b1ddbd9071571cfdf4572a1da3b2e97d17748bcb372d58ce369e2e7c9cf277e167f60c5f0cf1503b8f36b139e78d19693f196293ba0434d2b610d6c1b5d3b608f4b8bbd24212ba622f6128d0a94a238709e07d247c1ebe419dd2a95005e41a4c323ee27c57276d2c3e08f49f820b114752c80a6a47551dc23561c48eef49ab3466c84e3e176411a72da854c74512168aa76c904ac3d22a80957ffed8e54eda176f51e439a50ea9473071c6b3d966389c30dc8b51622df3a53fd99006c18f076af27e4db4b3d30c7e54f55efde41b181b0d14915d36a89c2600577c4c6d947a28acba9597d31deba4b19973d31f2e0098f6b5ce31893fd0e5b227f86310381700ba6882c4b714ecae84d2490fd712e5060f1e3487ab48a9b00d4fc174b20c8d3ce881c748ea982757ef446196a061b77bf48d7fd5d2f3ce669d0e92f0416d137fb13f84f1a36bd24b686afe3a74ee88efe81d72d6ebe8920520c7ac40fa1f8b7296af9410b6aa02e315998e7adaccbec33253e8cb7472681529f5b55a1829c1689bf162a12919618b583e59986ac4cd032cb4eeadbdc812163f5ca268354a8a5f201e95aad5cefc84b760ed8c4236f42a21b77679d6b2861896b14b9c79bd7c0cc6c4591cef78f2ade8b35033c448ba2a9ecba799e3ee5e484bd6047698746b51cde81f56093ae96514dea9b9a8ae1d8ee63c2cd3ed924cb3e898a584e516d2e5343e2d267533dc1c202252a51640adf93bed833796a52c9b9ea5a0b6d197f539f8d7cec7deaceb6c7627b5a97481c35050f213865e4ce27fc169e84037175019186cd107836ae1dbe64893d8352e82711c6af1a9e5115dd0a1e725ea564b38a2a82d6f0c7e461356fd9d2e5ada7050e7be8e60dac16b4e7b3940a39d7b03426b589682b2c0559c9436be5a974be6d91ba4d3977359f0d4403ba5281b266bf390a36cc625b85b9b38d16a6a760465275f4007e7c2642537d845da1487d270ea418992817485b37065ba0cc341df0385c5171a8a3d5985ea8aa98327f3329a6c5a1c77ca3c0096c95f2e91c626584c2e419560be1fe2284a7fb9bb233bbd06d11bd40726d8a07ae6fced309956ad0a761ae82d283c19480b28457add08461e90eaf36883e3a8e2494396a94360eb4d308ae2ef560c32506cea1347e489f574c2419b41655dd30f59516a3ee2049342db77af4ad53a56b72d162643c130616735d271622d1c718266aa0e865ea775d7422ab78b497a6afcc93aae65c564b62bb8c892514b47a74c921d42e5389d673efe094a4eea4fc63f73cccc894f6445a08cb5c5ae35247d51936a1f19842daa597ee2e1c3d9aa0922e082b9cc9076d5c272215242e8612ca16d2094d2324e13c070e84af64bc09161bb4bea89f227401a7d6115d083205aa90cdd108d3c54caf37b04ca53447f2b0ab5d7775be2f914fa9b38203722cebb04c3b7ecba1a2c31166245d6cae1432f3e14ef1600fafb1f18b08eb61f3286e8251d2b36f89b3095e7d1065e4be2e03e9f1c339ded64ecfd56d0772684f956df1f805783c2b5e129c38ce37b2f0db9b1257396afeaef7d10fe66073843bd74327ce3e551036dd1f078ce90ce5b86858fe1d812d34a51dbf7ad06764fa4c9752a2644aa296f9787a79dca22278cd027aa3ee07d8b5d64ca5309209df7e7324e315592056364c15f1e20e80bdce6cd1c0b32787244b83a1d742106b3d408e3cfa3f8cef7638246a87fd1b141f0f8ae9ed4beaf5d2682def6de82823551cc2006cc1ddf834ab8397dd17f1c149b0e247385fd2d423e83a75eb19e6cbc075ca647f76595cdfd4318632ac8796a97bcc401cc2369fd72c7adfcb46436fe23c5075b2828b54e48a09a615f0e03e80cd85acaac0aa349ff72241e1e7e9fa61a7e869a8015832ca212360111a8f45ddec179a4721872c306175dc451bf7a4c668ff6804423e432ddfd4be169edd381c2df56d654fba8a5d2e867133fbc169712d5b2a959ee07c75da15a8d021d88c058c0fc6e104299d8891c809c85f425935780745b1c219f6e964220df231531895ac2b1b67235b241a5ad2cdc279927b2d01ea103109ad329e488eda6a0bbd871f86432a0c32dbac0c0198015650cac49ecfbc48b5c6d0a300660cc93dbc1c4ee47647a019833d1d87719bd4d7bc95b2ac5c2102ab67757d0e90403bd82e81a06c38b9fdac60790c739d7040df11c4a232edbba4f8afd3beee223944e2e60af14ad61cb905e5bb532810b9c728a0eb8f471859d054a859e1b5ffe92942292536a2bc4e0b926c36d013b5ab786f887c9e2f3f1d1b7b9993483d0583aaaecd64fb8fa83d36fe027b5ef095b92b0fa92b9698f5f49250e81db2968c112d5e6477e66c560cd1fe397e50f32ada3f5d7aa95fc2c7ceec91ac0edbd9d42a1fb0a27674dfd362a80791c7175092fe36899989b51863d7706531466403440e5dea5069444d1c5f3b241da84f3e21f53108f75eaa39b69eb4efffc4abb258e76e2e8fabc14f12e40be07a7a796f79f55ac3755be8a996b8b044e16511a9a919dbd82279877e5360c9ba1f592a1f9a75d056043f632538da7ef0f9c81416cce8d0b3ad6b8dd33a1a8a37d0624dc646f07e203aa1bc9ebe4ad80449888083ca7eea36ab4118256d801b644ff7095a8d44a43d1d8a9495fd782213e82bcf7d87a52fb7e31cae1dd7dd20663a2e2a1c667d4d273605d639b0f540641f93dfd499d0035016afd2fe2e5324c0685607a8876ed8fff761b28b2f3076a1ff6167aa6c92887f8d78c62e31b690add1b5325662141b220a51fafd73ed235f6845a33791192c4bd4a05ecd4e00ccd867217a4b89d058f0adfbd6a890594df2697ebfabdfb3f12e33fa0e51130c4e11deb7ee0b91a1ee53b064b13c532d59f20251824e6daffa31480fd6f5e64d1323a2dd5f82236c57ccfea3b5941e256194c92eb656069eeeb9c14ea4e0ae91096d02b5a185af140a9b79f8c0fc0d8d9f789890d7981c86b15b0993c3ffeccedd018d91f4f15bf5e894d552830e1e64baa67284cd3182031c24050192498a1d7e2069930f9b6023ddee76f08124cebe5a358e687d9d8e63e96706c29fe28ed905778ac4345e4830417d3e1e0e849f63d1963896129853faeeccd1a66e24cf96571381c2ae30dde483831de9dadb8b8c426123a7f6f3c85a72596d017682b0dc64f62bfac1ad59872d086814a1dfc19e0ca0a56b8c1175faa98ae1a9c26fe7cf7187299e30ec3d85adbe9b06ce75b503693f9c70340de83d7c5ffc4c874f528434be73aa680581d23535dfaeaaa0b0ed7266b028ed5d7d6b82f8f0dd94edca90166d9d1d1d2bd1adbed2abdf342bf8c0031f55ec46bbf57548c9e09be4cf968ea0ddfb27ed6f2a6aab693966361dd67211058ce71f837c9c66415d21f98c96c94d3cee5fe299e5dfd7b19a1cf5b6936e1636b51d18e5a16e3fce9fe659db2902bbaa88e3dca6371c9d538166a4d442d1c9335f7e986e29bb66e7d0b64868f9d5bc68aeecd740ea3650bbab0398a8a15003d83401bfa26039534881020a0644f875976b86ddadf32253db6889421a37aff59841e6fea54af55976b3e6fb691001f862821d80b7b305c2b287bf104746005bbb985f14b1b291ace0440f6e261950eeb531f4e38577fcb0acf9dedff8f84bec1bb87975083ac2ddb324b1b6219a9c7d207f88c370f7cf7806c1edfae7b25769ae701bd28234452a45709ae86783ac01aa87f07c55aaa266d243b6b2d09a6a49a336cafef0d1dd6ca77b5e78f8c37300728b3049eafb3e3988bf4affe97123e24e80ef94f8c67b78e1254a051bd897aa64f66e53691593b09b7e89a4193d940b65a6fe5ec5c4ea1432803a435d7781e1b6492ae250c7086309fbfb1a1ae84c8856ffcf7bf9bb8e43fccaee7d3672cbabbe22c5de301e64c85e738c316190c8ceae41f2a5db280c81cb1f4b54b2e60e3a10300c63de65477a1a7ddcd37656d2f2434bc2b56c0d44b8d3fe28131e7a177cc8eaf419aeec60a15fae2beee1eb32b9a9a5bb37d40c211083485351661a5a23d267fcd13a18f4b27f1038706a6b9f20b6347315304c62c712bca21bc89eb90c4b4548e5f3eb4f0632c94177c8e94dfc80f7e01018ba32aa708d8241a0703202d4e861d8ee12741af01d4602553ee18fda902d55b914323cf3706c38e9acdbfcfb426881d5875966022df5a58c316c2120613c036980e880b33bf0b1c1c5c6103b47bca3a61c6d923658238323675984c269e939fb889211a76a2c19781284180f5b69898637fabc8d48e1422113e1d9b3a50d121fa0f3bde732730c2f35d08c054d4a38e01b9dd262300c855aafa99884b81f96d7d00247dedbcbc094a0f4cdd88456720ab35dd7241c91ef0582ea1ae62772a75c20580b483d2e283fe89501c26cbacbcea36840964d8b9901a02841b2c5a41ee570eab4201383d071705cf213556ab3d8940a6f75858e986c874a995483013b5247559cbc2a3384430c9ad4854fe08dc7f9c6aea8999a1a01d4e64ccf957b23448f98023efa66f17b50bb0c03814d51ac2a175b6e999ad16399fa0edaad830a882b292ee3606e38d23fe0e3dab95700d36d6b3748f47b31d8bdbc7a4b2eb628a63f0323bb2f5e78f19b70f5331c7cd0c439f98e6268b502820c5780a1e32df8478dd2870d86a976a9520644a3430df695ffaf61ecd067ead91213b4810168f8f9f65835094230cc00767ef615ef0ea815c58e484e3ba4e78444b00652e37ca19be41721516b49bb51d224192a35f2348e5ce0eb785a13b28d8c8d3604b412d12dae753c5f62c469284b4157e4d92fe652e6eb3ca81a3211bd7a27254088d3089bd96888f38f2f401c0520ab586e396dfba3c98c1a2f45125be2e62787159bad1094bf010c34c78f033371ca7d0da772272cbfb32a2c66996ee7709797da2508c66b99cd5b128f70522de49587bf7bd0fe011f581b23e341f887f54827928331ead170eccd7d85dc5c54ff4415658284ee3009d525cf08490be9a6c83c47e61adb5f378ee86885337880f3a8fddcfa42f4d6159a69f571009e5bd0aa2488c390d1b4b47fc40b0ae7cebf1e3236b10ddee1a8466870d00da201b48aba382891f3893105e27842131c0084d44637e0f45048f03046160ce6f4553ea030b1aa9553098b44b21ec0cad51d6d087d802debab871c9b44019027fe4dcc503d47a164c04ddef929c5758155a019c666ebe6909aad591f4406d721f7aee39afa9b868649f561498aaaf081c22d646e63d71c0d3a1a893acfceb6918ed4c70625f5be6a7cd9a6eea0e0dd3f245aeb5d364422fe9e4eeaf3e427ef5af8f53361765e0f4082d30aa5fba995831a2da7bcb3a49721cda1749fd4d0915a54254966269a3ba94599d7a2b81d07819b3dc16d62d43b5cc19a86a06c2283ab0d6c9028e44fe302f28c5e974ddc4038ee9de686c22b51414ae06c06b1c65d1ecc9f61e9bbfc8ec34bd789c08bfb0aa587876b2fb462eae2287de0517fcdda2952563d86cb60d056976dd0a8f6b7446f3ab664eb2ddea8cd8221dc752bbe51d1e19149043cded432f2242a6e411b1986f2c32bb674aa325e63637e20bcb09e27cc9d209f52997e22c8347c618f27f34ca62481d7a7c7bc0122ff46fc005a05f63eb83e2346715ef2845e0a589a8b11fcfca9ac9f61b8663e13adca091ac13f776351b809626ee5c094b3617cc261816634d4c0f4cf03399dfe18ae3a110b40a0ef0963ee84baa4837837489e15195eef40626723c177c532df64b74966161d3ee6ebd3dd35ffbabd98a0f5babe7b221a2be09d9c79b988fd972390b9ea6200b6e6fd2cdeba229604a09bb99a20fdec4307cc1d57d52f889d5b58995b4175c8c639d5a649229b1aad9ce3327e8507c9f177ee477323df3bf783e1cb75f5b76b8882d1cac8d45f313e37d0ac5876cb638b4699f4a08071c3db1fc431444495cdde0842c844410471c414cbfd9e764bb926425d2605c2bf30441a2629b58456ce3127890240c98c9f6afaa64cd0dae688213f7985f8f0890826342760af29818af5f5d88e60abe71b90588feef34a11e0eb9913ae12d8d3fc8fa774beba497dbeef7bd049d3b7acf101520dc8551ebdbce09214080ce7ab3aca357786c67ce01773c5475012c338b557b400d76d046e2acbbf77b07050b10b5425872722489668b1964a0a8f7ede56d2a71e61daff3fdc192b215e697fd01ef099937da8a104b6e811d80b6f2eb9df7a707e594df9e570083d3cf643d6748d9329efab21eb2dd6c61cdb95f96aaeade0826e6fc9296b447465befd984ed047c7d70916945742d3a947e12c0e5a3fd36170df5af5303a744720b3ced2d7213734c78a45288088c5efa71665dbaafbdaa93999881cab6aaaa5e1550e23270174cb9f001fa3447dd633f625c72ec582ab640b5e79c537337b9320809921c2b9cf670b1100bd0b5a4804c083a371959044630aadb2de900967edd1fb90afb086d20737dc3343b24635f788f7073f3967751b1aa5f2fb03c2dab70a4a162f4da458546b76e7d333082e2d833ee5cc2da19d740b13ce3be07658dc7f3101d34ee9996c2c55dcd32d97cc28a1841468efd510344cd06e40c2315dad32efd56b683e88297aacc9a2c75268b07e0117e74f0c71a446ef7d35e5931fc340ef6f8819aeda89acb412d149e9ae55606ab7c101e6f38b4f22837bde39b7f4785273c162905f82a76f41f2bfd3ac1fc563fd0f427264f194406a4a4dbd80bce372860fab15a9cf4b61db7fdd3c8644d9f3bf99fea1da66301db2945f8bc73f4089d7a2ec3e2153bfa216d615ac4b70dfc231fd11c862d7a056ec6f1b829f1d1edbb3aa181985048a4404c6c3022520826a2822591518ac62a95e02ca5e195a1f19650f265c7e233e708d514755c45b64eb0a1302e4f5f41d00f883f600985a50b2eb8e72c81de02f5fe81c9c61ab58b218a6cbcad72a5b9758ef520548a23a92bbf06be7309443bdd53cb6e1280a617311e3bc007dbaa1f1e96c79b3c6fbd28a08a39a6b79e995d311208795e432395c80f89bb947b030a60f7b458200ac39a0e3ffc52805a27ed7007eae82101ed7a6280e381e539beda7120b666ca90f70190ed2c5c559fbe6007123838de8b41405ca5aacbb7212f465ce390904edaa6a89649134c09dab02e89ed26b4c9967b4b99a494010a0bce0b690bbae5c5c66f9975fd8711c8874caf5fd2a4e39938e9fcdc65c1f1b3a897e3a711d4ff8422957f2279d9f92965caf63329fc4281361250fb3c7873a205c940c8cff7a57146b5c30a0fd3034d3c9c20c882ebe5a0229092a0e7c1f7c1730ac5cda42965224d28d36816cd1d932514f7b2a28349a70987538e2cdfcb503b52b69abe616cf852dd2f778ae2ae972b75a16eef66b94eb62457ce4bfcb5f912c783409f0368fbf8d783effa072b781d9b829ace833d1e83077d6e4ee2e378f06f59dae478f06f50ffe0dfbce407ffb6f3e0dfc2c8def6e0cb978e0f92f718e4753e83bc6bf2c68441961477cbfb85dc9c34f841f06d89866f4a337c4bb2615b1619beed605b130ebe656cb34271e08ff84685e2a8501cf8317c9b3205866f5292447c43c279d77460497137f21ef52b4987d976650528dbd030f9c836ac260bb26d8d5305d9969585826c63d3fbc9b71d548f7c2b929a20df8c280ef4c93728fec3d8b2f262bad1a4c3093ff8ad2c3a0f7eab87e3c16f4181df9202bfe5c566f5d8564571e0e7c0b63014073e0e6ca3a238f075b0ed0bc5818fb16d8ae2c0d7816d37b04dca06856dbd3965264d29136942019f07f80fe0b9c34c280efc1d78c9d2787fb79670ae680efc3beeb1366d7810e3fd6d4bfa81ab1ee217e0d7176f9c0dbce51410bc7141e29c3939aedf332a99e54fe37db0a773727eb796a4f4a9bd0b4be9535f456691f9df0ff11cec35bc5fdb7f71a093f7d43a5b3ea16b6f03efd84eef24e5fc965bf0ef0b74fca6e0c6ef5cadf632fffe1995cc81bfb1ae2dc91cf8b5a7af223aff39418d604fef641befaf223a5f776c3b0ff0ecf8f11be7cab6f3008fe779e077f0fc0fbc03e7eac7cbaa3ca8b5b47fd7f6b82fce95e7c0eff1fb5260c1ef9abe40774645818420c0e52290a067829f0a7c3c8873e5f33df2be3d9e82bc470a80f27eed037f4071e057803ba038f07ff0061407fe047808c581df8331a038f025c011e01cfea138f07118028ca338f05b4b1e24c1cf79ffcd66dbd9e1911f789e1c3b328edfd769cbb8afd30df6b6d8ef8c9f71fe659f63f63830cd9f186fefa4c10f9976fc7e9edfb5dfe3effbaddfb5fdba35a39a5149f0617ada544560458184e6550ecdc6404f2cdc1a0a2404a567160512921407c18c0d0512027ffc6e2d5d39b596ae6c3bf9f17b96f1f6fb86a4c177266654b69ee7c00771fc8d1cafe31fff8f5b5166b3b3c686e6ea86c1156c616c6ffb92e3af8860c31013468d8e89cd8b08b689189474d03191f4078ebf22c2eb0d152ea2744c6c50f407f8573cf87a68b628695b4f47a493d48705797f0514e45dfbc93df2043e795fdd9325c811e4fd7373790319711982bca5d4eb7d69944f452ce93da39a51813c6e3ca08307efc879db95ffed6d795fdbef5ced7cb65d69f06d3d0f9a51d11cf838efdae75dd391f79823ef31ef8bc3d6d3e04bf0ef2def3bdab2a43b79d774ce8ddf332a2ae0965565215124abb2d237de7d18e5531394de38571a7c571a7da7e55313157d23b79634f843bc86eddbc0fe3a58ea1cbc9f8667541afc19de39521a7c19de3a3d0d3e0ede369c34f823de35260d7e0cef1b4b1a7c18de3b4a382da734f82193062f9655e15cdd82e68f13e28dc5b4bfdeb198ccf94b4d6badf5ebdb9876da8da7077cff11272bb9b29c1b59c9ddb1e1789c95dcbce3011924076625378224ee6627c1e8a3a416d39959daf8de3fc797ab0efbfe3c6cbe10c8204962babeff043288929baed9d58362a989be69a3f4dc836696e7fcbfb673da6f4935fb2dab64bfe515cecf1d959272a1fb2e147ea140422d2a0a24240ab9845e42b02b0a24147bf986a2a14042e30834e74f45cbfb568d57b24c4338f241071b0cc1c00778f7d746ead595803ac9dc697a3f29d04e7d95ca7a55a5573eb1a8ae9b4af91355a83e0a355740871eaafdbe524758d1fbfaddc2e77bdee7e587d0e327f81e2f7f040afee72978f92458f015bc052fbf841fefe37fbc7c08043dd007bd7c095cf040fe82978f44887c1332780c3e83973fe44343196013b0108ce4022c81200c811fb8040b300914e011700f3c01f6c13d4126f88228797665d2b4cfb961c3a14307762a67f22f6ec5a77cc9bd381597722587f229bda42c52dcc991a6262d47c746edc6ce033fb1aa74bce3779ef71deff9fddf73d86e38debdea6b4180fb9c043defd3e3e729f0262aa62f56a696bc509152829ad24bf22c2ec59d1ce9eaeaeaea0a6962fdf06181abcaab783c04b8cf4980a6e77db026f81e3f4f813339955bf12fbee4531460a7e25e5cc9a57c8a437992f75c8a677124775a1a69efb6c6eb8fe48f80100e6080af48dafd1dc9494a96a4de142825292a5e96a6ac7c61a2a2b8260f4371fed38a5ed1d0e460e9acb151bbb1db09f503996707ffad461b5db7976435e54a090d15aca5355628ce9928ce9b76ae294dd291690f002b9c737ec8154fd6791c343bb28d9761e55cfbd99acf371e83ac1c79e78fd8b2ed13b0bbe5db8f006a1c19c72be05d683e7dcff1ff2ebee7e779877df8cee371efaf07df23f89ef70adebeeff974e7f8e7d93c1eb723f89e3dc1ffbcbf14ff47de377c1f798faf07df82bc6b72f67207196bc8740232997e963e98501b50dccc82c16cf231adf44c2ab8a9f4c3b8bd6ad21c9f7978e0224092a3ab9508703c78f2e7a013d725399ec684cd7fcebb945d04aff39e4471f96d4ca39eaff1fc8d8934c1eff078dbbb95a49fbfe11ec753dd06453a10c00704f0f115bccf18100cc82b886b7c11de5f0178049c00ec473006d8a9b8924ff121d801801d89e2683e427154b7411e81e268914c02c5d10e720914470590214071f4832c018aa304c848288efac826501cad200fbdcf580e81e226509614378301c992e264af0c018a9b41b2a4381c5746427153843cf4fe47acc0410b6d1d9fe31d2904365248d8f1f97dca03cff34e0582e7f16e45cc3deebd89e2fc25f808de931090f7f5f99e77a510f21e7bfc04ef07c84ebc79a38616da14fccfbb01f27eaf7242a2403b000f80f7772b0ab4f50f797fbfa2405b83d7bd13f90dde39f822ef46be83770f5e00ef03f80fde417802bc7f2da240bb0099277ff02060020c007fe0011680910e38c02326b281063a8d6b0000807114b72df80adedfb350a0fde37dbcbff762efef501468073dd0fbbb1405daa17ba140fb8207f2fe3e458136e85f28d016f241dedfa928d0b6ef7a7f0f438176061983fc81101ce4020c04076120fc03fbb000578071d6f5c221866111c7b0a4b8d853f083bfc704d8a7078f12e09f08f0cde10f70980702bc010f7c7b0063c083693bb08f8c71cfe3aa2307c681ab95ba54a954a53aa526552915a942a94614578df41149a5a72c6f5925afc6bc25164e57f98f9e40f40cfab257799507493ac791ceec559549cb1d440998b827b08cfe3b216419442e59d17457a4e992fea836ddcd697f84302454956005812b09a0418265c29aa1fa4b92d42ce479ee34136f629454535e44c9b32750d2fece453fa1656ca7f7c803ece93d823dbd752829f1a8e251f549d9a94ae555f46a62e950924f454ce9ad432949ef510927895ea57149fb4bba7198942650aa8ea4a9b847d8ef5aecf7eb51c88dfe13f2a29b15f25dcd2544d9d05a42346bbc4274cd16a2585b885e511c1df3065d88a2a1382a9bfd97f32e0f92c96279bf142756ad4adebbeaf5aea4a4a4a4a494a614edf5ae7a57bdabde55efaae74153692a4da5a93495b2a6d292acacacacac2353724a4ef5aee8150e87c36d9cc691c97068a549340927d32b1c9a24a3495734e98a26c9ae70ae7a57bd5eafd7438ad1205ae064903049cbab1886793fc5cd1bc5cdda09aed69fd09afed54579a70d62dc5469e96b5d17583d6c813d7a2afcacab75c17ac12aa9a65a17ac4b37ef7104f3ae59578f5e5a5a5a5a9abba5b9dbcd9da49a3b1a23d0dcc4f53c79b17af2329543e8e00805925a47cba7a9a9292f7acb2f6d46710bcf1763e88435654419a3a8e5d35415bd6b3c1f6a6be88026498d19d4c09066ea088da9223ff3e60c359a987185559d9c7131be00634c2d0a634616695861254519291fe3c98c96eac26895c81a6dd31b2637563c8c256743a51a29b130858ca49d14bd7f7c0d526d810a281a833b5261a4e9df7e4a9a37061854dd22aef4d497e21690c6e84f7978703d5388ece2b5daeda71029c582a647e37669d7489b4264140b9abe685df568a42fe9df294442b190555f76be3fe89a534f2de50793d2e7056b456b5beef37d32b10ffaad59c85db4d63e58692311e3d446ec1ba942443e943ee00a540a234de9d31448fa033f10cff9ea40ea4ff49791afe275e51f22be1c4b3de8607546184932c850668730511c21455112144f744aa0b26b020730515c6420861d2a50466471045411471cd59ca892431755d060c61a2d48498ca14698359c28e2871df0d1ec87a634caa8c14c1154942d5bc0486303970e8851c39504191ea848a38b1147588141b221238d314e6ab8a106ac590596163334e92206285e32e0050e2d28d1c608335f9e78c12e9184165338111143d11a5088aa64c00b253061a48801080f4343972d59bc355b90f1422f8c9e96a719d288e2e685d601a878410a0f53dc8091c3933653546461a50127aeba3c09e7d10b0f1c812e2aae700963861b0d3419d910a5861f8658638c13a4277fb4c64d160f06a62b5da69320c23022ea0a163054b0bc902301545c81e9e1298b092e9a84310313495081f2d2050d1c9e1daed4bcf1c1090b4cbc29623012e3c5146dc230e389d80195a4333c238c88814b1102b83855516de1b284d1910d8a106ed2c060031754b81085860c380001059a37539edc58c10c1351082146062a4eb305094615191ca6c0e0a4439a27b21e29b030e24b12564f6f260bd28a1da2a832a3a84d133794a8c99425bc5082c2c415a7b9e3e208ab2f5b8eb86481c60b38c4a471c6d3069476e08285371a085164864c150f5614f1241fd59d2822b880a10c33d2c4e066de40c6694a0c55579c761cc188d0000f5d5cf872061760da0025890113a58a103cb8b949304a4c8114e5cb1166beb039d2218b1062ca90c28319392028c1c40d4934a13a03c41a56cccc80e4848d55124b3a24d40e6b44b1820a4c1960a821a39e9eb04813458c23c8d879b284e5081f9cb29a9ea451dd70b15285441258315ca2262949acb154d5c5985e96106a86f8018b223ab0cbf202ad32c184c413429861c206347c607326079e1a1fc85cf1c4c68d25784d4660a6f022c6193f28adb18315647864c678f2c2a0cc106b6050fa620817ccf0a04a172965a2be6c400d4f0090c002a5039399ac346be8952a335c25a9918689980390508209a5329a96c05063012b5941a4e961678585f1c90b139a1d1563a4ac60a10a116514d9b9b942c61a6da044e1a5f7e4b396a6e94582cbd260ae728954317addcd18c0e9ae7c930b2163687f94da86619729cf4922578b2ed06cc0492fcad394ce92a1edd7a8b4ed52e6b5410b55bc9081327a28e3298a355eba24752992dae93b3fa0416308538395b201699557eaf2d051ea8c0f178595de3c9a27f750dc0cd2800349342775f531234ccb27a9ab297b5303a92acf49ed5ea3b8dc7ca920a4a8e89f8fa76a59b3385d9456ab790c33d2574269a612f75d803e7d81408dd09daef984a1514be943650fab82f6aa84ea13e80f491ffbbe57d04ea4bee8744aafb024ae699ed2c7026daaedfb4871d306cd5d0d49daab579aabdc1f42c79b251da514929e5788b2d7866785034d8a5863079d64d3e4c586285fde70e00c16037eb4fc4bb4039aa8364751a018cda09bff1ed4130607197618820c183fe866064c5ba850c207297c98d24d2ea478886289334d2cc1856e8ea1679a1fed84287e586a91c6f0cd42e16717c511112d7eed7a716edc5ea28d5cd78323d0f08750d7fd1b7b306fd1c98cf2290a4bcb7ec4f9be9565ee7b1cfce562f8c359d05e5deb6b0b24aa4a7f403e1f5e8c7bbc7afb10ffea1a054282d317094ed7bfe1e58b23740842986d46c0a70f3ecdd56f70b9e887030578b4d0b65f27d6a76bde3623e1d1b5d62b5b556b43a87c03d0da292e52970b548562e2d1f2898b12971a6e13096505357501f038ff919e2f544fd7dcfc233d8c39b47c82ca825aa3771d73a04f52df939469e9900d3a78727aa2e260c6aae5d3133cd43ce8891cea1336d4a7a7a29f8bb57cda72868669f9b4e54aef9fa9ab89862ad597407bfcd00489551d7ca0458f3afa23a0d1f44980d2d1870005924f5b98344cd347d2b3d2f44d08923afa9fad75d2f4d4f33569da836696cc519aa6941a559c0974814571526f99d2138dce40fb0b844fcf3c44fad0772546a9f7947b260da138ea66c452d6644d2a99d1f2e66a41e3baac16ab1f3da5bb5c852953c820c41451bef0428ca79e155d9fa7ca35d698d2c0155aa89c80a1ab4e64e9edd273ee686e69f9a4450bbd79e8134fbd294f3d232d59b8960e542d53fee4c4959625f4115620f8fdfcfefbbeeffbbeeffbbeeffbbe6f7edfdf0facd54efbe9591b416ac139bf17f19e0f4e2040d00704a7cf973c9fd49a4f4a1fb08bb5356badb5d65a6badb5167c6b1fb4ffbd18b3ee6e6b6d547275fdbeeffb647a76913e326d2915bfef3f297de6f75fdedf9793cc37f672a9af3455c5485f8b153da75efc998082333e0d1868ca2853eb9e685034a48f7f1014fc8633aa27c9202ea5d0f56bf624a762945aa6931c0719444af97f3348832c40c89c04d2200b111227f58669c7a2a5de320db22849dc14a241162ab28754726511250f54939e527a66f9a2a794a64d78d1f2a98922fdd30494f6f7e1ba2946f9a4658ade77fffef90132a4830f8e8c50420de2dab540d14ef39e5db4c49d2932bb481ff9a29d55e8dce9893708534acfff5e44e6f722928447cf2fd21403a1a7d41422b5941a6b5afeac2283a0308bf4ac227de407410108e9231f084da9d4d428d497d2874e2834fd19850c32a5a48ffc28bac82093fe9541684e2283ccb75c3c31d1c443fd6d14fcde45835a6fc5b7dff343835c6f1f080d7abdfd211dd0a091e6e4a53929e6e88778fc9c092a9ab68493b640525b4b9f50516a599580d2728b964f4ab0a0c598283d6807c7db976f8207d597b797540c6abd7c097810042f7f2279908e97b61f5f3e100f8abdfc123c28bffc69e441af973f993c087f0eede58fe041b3973c5efe5cf2209c1b2f5ffe120fb2f1f2a79207ed78f935cc9325f809bee775f08ecce3d9f10fbc0cf3c8bc1c8fc73d0ce7cc9bc0e775de8571e63d901f7f8821c83c1f9deff98b75641e0e828fe0416ccbbc8c9fe73f8c23f36cdf3bbe651e04117cee77300fc77fafe3a5e7b67c725ad2f37374fcedbf7cd4a3cbf123e6e9c84712e878b0d7717bdb8b9877cb47393adefd5b3e82e9fe7164dece8f7f03f344dbe73c0df36c398fe3639897938f5cc7abfd88e363df8abdf838f2918f8e277b1c6f312f968f32d0f15caf43cc47371d4ffcdbdbf2114dc7b36ffb19e64930413ebaa1e3857f7b9f7c74753c7fdb57ccd3c947321d4fe7c79e7c3475bc9cc7f112e4a34fc78bbd8eb7817911e4239b8ef7bd2d978f7874bc1b3f3e8f7fe1f2514cc77bbd8e87201f01d1f1c0bf3d8f7cd4d2f1668fe371306fc7bbc023d23d908f20d0f1eadb3ee7a39c8e67e3c7cccb7f3475ada798e7028f48c7938f00a0e38daf43c7b7322fe779b4e7cd9e87f3b2df918f8274bcd6df72e67dcfb3cfabcf7b9c8fa88e87f338fe318fbe2df374649ef8bcd6f3c2e7817fff68ea6c9f03f3688f23f38ea6ee9679e3f362cf833dcff5afb765decef36e3caff63c9db77103e33c27bf868f784ebe0dbcc473f275f0ccc134fce339f9333c82e7e4cbf0dc794e3e0e1ef1e839f9310cc473f261b804cfc97fe169e439f92e3c993c275fc435cfc96fe1219e931f6209784efec513c41f7ecfc9b7b803cfc9afd804cfc9773c933c279fe2d9c342432e5f44660d033ef34a81a5090b15162a58a4c00265a5bfff905853a4eb572c52f4c7b36f551afc9d0ba0f4f71f125f74fd5aa496f7d4b5a7734ae9d3aa854c58cfcf5d0af4bc40cf2dd7e9de515ea7eb54a466bfb62f7817de175c803791bee045f9fa913791fe11f4b2aa252b2b574c689ab09cd664c9eac9d840eda428ae88020d79550a054aa2465a1211111111e9f6d4481c05bd234001d7df5f4c017fd5dc8c5b4e399186c091104620a1040920994266d5eb0bb12ad1a1e9732035cdb6f942ee72d27ac7ef4d9b00a4b67dffd9252e5554b4cdf884bad3350fb5740753dbfc85e87fda3f4dffd35c90104213d5f9d120beb028d47ad78bf455a4f5f6ed87b8f538649039b558fd29963eaf2433ec8159436595b4d3ba0db6b70eb392ab290f7ae8e5810d1d6ed70b39de35ac95865f4fa86148bf56ea45401adea44f1d29c6217de613b966cd629d5827322da3c660a9e15e8cbb7a17a3287575e930ebf545a4fe7c75206df589b40276e37c71e2135c239153d567945c9c5439c638f5f42c54715563dc559f4035123935b110ab9595959595959595959595959595959595959595959595959595959595959595959595550f9c0432a8b62dd013878467ceffa978a46931562db93439a377ad66a6e2b4ec4ddc17fea30f3f1468d76a3e703d5c9a54716952a567d5428d1a356aeaf430d4c3cc6a77e1a5a07fb67a0d23a59412684a9cac3e6b956a7878a086a865645b91798bea18358d0ba4690925440d374cd91867326808cdcd979f6dbc7d23ed36bf0604832dc6ab25941030e82d7b6046d7124a8817f41e6bb89e1a6dbcf18c63ed3f2da184e0e98d7332ee7766c73f30774035d2b4840a228b9e0da82082b07187d41e97a325541052f4fe99fa70989707ca091730d7fd71d16e6dd8e89696504ebee8cde36e44c9b3ad92a6b5d635463927a5eeb55afb7d207827a5eeb55afb7d20785d09e8623ce1eafbe260e61ac585174629cc5624874e92633f407b1ea50f9b5106d1a16f328854faca7031ba5ae3658d5325a37663c3011c083acd202802e4c18607d9036ca0cc78debc769001cb665a780bd75b11ea906ae578e2c3d104bb0521dad6a081b6b3460bb31b67b86a57301b54a3ce979a23e5a22d311362944d81e1a881e41ad568d28ab5096166745e56e4b87a32b188586b4a4e984694d74d631703d1083f2f722c16ae7aabd586d49ab8e11bdc9bf5432d2be99585742bd6289fcc0883861b34b070584450941e44c29a2ec8a0a14a93ac2a740c68810b1aa4981103153c32642e994be65ac05ab7f4b3d6560f027fdbff2e08da0cd65bf3b6ffbd68adad5f1a621dd3d3fe174bfb83aea4fd3f5b5d56697f5ac78c1eb3b5da5a6f9de09b50ca6ac638bf7e5d33cef73b56504aafb5d6fabbe25a6bad5cd8297d64ad95469b01f15a6b75d055c58cf3b74b29a594525620b5de2a0e449fd6da1aa6ca16cc486b6acfaf17c4d60ce995b28ab99fb55f055d2e2d657883ea5f500bf96cb96ab571943ff3f67797ad5084d52082376cdda984457b8ee45595c97ee00dc1aac9447774ca951ceb03efb765d564a2bb2957b2743765bfba65d564a23beb5593893ea578cb2a7dc618739b114df3d6f42bc5d99df4914f14ce70065104aad5a91c018c2abd6b684cd56e3cf4653b725fea10e84ed77a2ab6445cd40488eebed1d5856188c5bfb8f5435c6c61136c4c644f97c2fd14c2b740d7ddce26f39130ff7cb45a3da1d1d34f67605d349c347d174d8c2d80ee74e1d337babafb5206a9727ffb83d571f8433cfcbeefa7d010d535df9f492194cea9651097405e4fa07a88ea2af7e96b0175b79baf10e6a573faf044c292c600c38b1a548668eac18c356e95249690626424a5c9095d93f4d4868626345aa68aa64c2533d0c472163214ed908417bb2a6b968cd44029234b4d931a236819576aa8a899024613184a16bcaf22958a91a6e513d612f702c10a02e773dd3ba671aa53a34bcb272c1d74b5026b869f8bd5e4e53e7e7e808881e43f1e74fd274d8dbaee1d7b748c2ad8f4b17f7e80a031aa1d18634aef7bc731a4fc79686efe1850c670a2f7f7ae0ce2c49ad243d40b85b2e513195ef410d595da29adb57e613623a04ea2e94bbd4fd034d3399f505aab18a348cfaf538c54cba7315a985f1b63e73ffad7fc7f0c16b43f8fff8f3f107f39ca9eece9346aa451c3a76b315adbb2d67e54b65a67be334d34f77da31e422fae6f5d6fadeb7ef5b39cd9626daed54aab65aa185567a0ecdcc1eed640c1c18a87345d70f9c283d19706069814a3cc120b1dc08295c41061346930cd1514608451638d1553a866d0d9b983b669b0b47d3a13c58b08862ab29c78818292224a0724183ba22a528491e2090d3f540146872d3140b9c2431a3eb4c004184866aacc78b9ca815ec9109ac9b2a3e593992c7db57c3283253ff0ba2e95abe66b695f5451bfb8c26fcd69eec02f9ec8a14c992fb4d42f9cbe51cba72f96ca842923f5c50db1324b65ce2883666ab4d765af56ab27ea9737b0b52526d2e8e2850c5885d14457bd4071c4126874f9e2061c74758a15152b2b3af7d66a2583d50dba8aba5aadb5564faa150cb5d67c03c9b8f9d0ac699d09d7b4ce845e8467422b068a8f8af647bb3b1927ed4e468b76d7b9fbb079e640e60a48a6a90ef5f00293163d44294a3a828d1a5858b802b5841b904c0e525eb0f1e28a4c161f192a7820b3458ef7a5a4403fc9d850e56de250bda0926466a85e48919141bb5f4085cc983730bc5103a5731e50ec8e38b2610c1dd0e87ce2a0ddc940a1940c14a8314d6394c658d5314863a618033565083ef9c02ac7aa2620adca057763bf2424a84605cdb0e00d5d5c75910694505bc480c28b283145bba732b61083cb1532b4f0fefbecfdeff3ef824a886914578100a2e62aad56aeb66a07fd7db54a0f1a69ae7e521552550dfa7b1e1a7475dff7500922cb910cbd2c9ed042f79551e6cc531a5938256186eecbb42e9af428f3db217c00c1a00baa2ea0b670b184ae4f238e964f5c04f1c4386af9c4c50d5cb420a68ddeb80d88f3a5943fafd4b7c997dae7acf4877cfb94c9150348dd0a18f87ef7e52bfe36cff777a1f9f5ab4b841556f85eeafc5500b17e1f88bfefefdbef00526733cf3e48bfe77dd9490074dfdbfbbc9b9d044007be0af0e55ab6d6bef54b71f43580f99eaf13a29c348c928c1856b4189b6fdf005267b3f49c08552c06445080d4d9ccc47ecd737205f0a56ebe0a800022ddf716832fd2d701a60e7cf93280d4f19c044007fe2dbacf23daed763b8b89763bf97226578e8099c9d4bd0a40a473e11e29924e7fc8cb330288745fe6d9ff7eb0f402b4307effad003e0fcc4e02a0b36f8f7c99c9e839f93603485d11ce73f4df73f46db623df1b40eabe2c3de7f90052f7fd2771015a18f76bcf49a9bb32e5cf6c9b59c856c5e875f66d4666ae623306ae50e0ab8bfe9023c555d961e07bfb630f51ed81cc4261ce48b978bef2ee4afd2b36235f294eca29a760947432c5581193659dc8cf3af8e1b156b348e9da44182e351c887bc230a1e90e62aac4789164eca49c90d1c68a1259e8aa0d62b0c4ac21d244862aa8b0bed00084982c352d9fc268208c0d7ad7f47651f1b44598a72da49ebc9ec2b8003e6de1b4051a5ba0d1628a16465a4871c1646981450b2b575c31a56bba4eba01adaeb360022b05cae3154c68684eaea139a935a06243733510e79bb48a12a589329ab0c6b0a22b9286881f9c88b2814c0dba5a83c6220b8c112cdf280eccb5afe6413c93062cd6543045b566dc15bd1d4f164bee3c21c665c1cb62a7374f0e248c737aad5f92be143d7d816a75608d4ccba72f467c59e2d1d6ed711e34ef4b0c5fc6b0d44ddd88a74e0a19bfbf5aac2e8a611fc35337e2a913e5ab00f3614f31ec2b7ee57d414c5f3894d27376887f0fe2ef6d065fef2f03cc4c5f5817c353275f16c4d6355f44ec83b8f5558ef9e64a7135a40e40c1a96f03bf82f57b68508e9d554de7bfc14efb4fed763b2a9d3f5941a55dfb8f504596f6270102b6165df16ff2ba2b538af6099c6912c73929a593d2b146837a7a4418369a3ad85b1c02d5c15ef4c1844817cb4c601fc32bc0fe276994516048d1bb2704180c1bc19e48d743812c385f44c02f0fb9b659a80a2ca7305ff6b48bb49584e885bed92552163197c822c6f9bbd622ee9c55fa7b3be518fde5dbd459539eaaa0aa57c4db1dbfe692b44fc7de78d11d6fc1722a8e1c311cd92c0475d8b0cd07505b034d530828c310c40925962964fc09d27ecf706421489365a1709687a8385defbf27483106423f1de29d82065f74d717862018ee0be819866128d5171dbecb95a7749887b87f9ae2bd4427f1376cb60a7a7efae224aee78b736a23017fcf2f1a7c24a05ca3c14753f3bc55b86930b4fa037fe21f8afbde22313e4fe8922f0ec2bc2b88f7a89d3259e20ea5f7fc2b82f767d31412fe9d5992b816021f04570efff5f3c59d05a831bafe5dd3e5ca6028cb204e1ea23afcbebc91b85c4f1f9c54832f66af94c2b60a160c7d7ed3ec017e7d71e01f7ef33df7bdf2fed690d2a29ed349572d7e1374b93218beeb371297fed1a0ebbe0b744d2c53484c143f6f242e2966a1d6f4a0f5afd80fa155df87590d5ea0d5c256cf996b32eb564372819d826e7db3e86f4be62e85ea8a61f06138fcf7a01fcf7dff55a3d1e06fda0b04979effe34125d01c78a5c17fe56fe6ad82fefb22e8faef3580992fc555a7b0ad826ee996d4f7c31791eba4efcd13cbec016639750308d9c3e6c907315f949edc34a95973e347879e0e4869c4d0e28b3da205f1032f596cb1b485126900a1b3486178519544133048d49d3ba14e28b516ea890e536e40ea81ca1a4664c016860b2d44510385141646b565861726b05c7021ea4a116b961a00451860ae74b145185c9c54379ad65a3292b4b5d625bfebb27fd3bc71f063d2368a8c0c882e27a2a09104152c66b041a78733a4e8a2258b315968fe46870a24255e6861892a543600002a8aba24a1c44319588e805cf1c4ea4c160e3208414494194d6447946983039b23c878995169aaa2b0a0f0a8345892c210d279c5488c2694c849126096aa5cc1a64c142ae8c046033d6cd1c0951a3ae79162a88912c3055d2b25638bd75ad1bcd1b55659175b6055f81775062bea4c9869250a4d161875c64b4ecb283196f4d5324a0ca52f0d90d697fadbb5c6a47b20e45fc5be7c55c1c095898149e71ae9362a8ca5a830a47c3163a7850d397c0184ce87d05e06851e8ca0aa58e281cb11516114458521857e691915462f0621a2c2701a41944246fb578b3110fc0abadfcce4033f0775203602ebf7d93c5405742a25a5411c613e13aa63d2c41f033a1702a0ab2f3a369a3a7f8a4358c11682bfaebe63a314a48b207f9a20fabb70feeaab5bb7be5aa2385d600cc35e74d77d15793dec1def2a2aac309ff6defa21f44ecc64be38c32e044027255ec1367ba9934629c827d2c9d711394add109f58ea422c350d3799fdd4cd17910bbec44653271fc4224c9dfc195ec1168294ba99510ab3279acd0a307be9b9f1e58b03297e582684f343aebf1bbefd1dfe28b31fbe888c381f6e85f2b500e9b37c314e1e43dc6abd285f387913699c07f1be1afcf0c76fd117119c1741bcc19781b59a87e0833ffe106763c47568ff4be2ba9593ccd68bc878af6ee1a967587a2ef6f2f5854b340cefab63e20b7461310c41506626b397bf871caf3003a70cef6d85133c42a452dc0c1b4ddd4c377b919699cc9ef63b7c895798bd7c91ce5ed2b0d4cdb0d1ec897434bc6016aa32cb29c8ab2b9123f2477167c3cdbaf75e21e9db0d27aa1331d7a2ad3288953ed2355220b71ed4b7f685ac0c22abf431326374ffe620b43f8dfa624a8db9888cf63df0af9f71dbfee75fbfbe3c50c1eafa42f6bd097f1b75b5d3f689b4585df465a46af0c56aab1dc07ca36bc6cd1ef4bf97a561a41a3785489d2383804fb112aa41297deccf972c529d106518352863a5e55789c71bc3b8695aef4bf1d4340a742380bc7afed533db3c984f7f662a2c0cee736c7170efdfa7ef7bc831680341f6af8bb76dbc782fd1e2988dc8f24b7ce902b3fcbcf790bbeef8e115250d72c184dd8e8537ba99f80ebe943efe17cb5a798b17bb664bf49d659c3094e5ed57e3e00bc2986db7157bd8fdd6a5da85be21d7b00f86afb650c62d7b79c83594d1270c4f0dc355d73e7cfffbf76f2bdbc096cdd57abdeb6da1f8caae7ca58fdb4277cfdbff0bbad9884d7c9b2d7c9bf8feb716de07bfa6b3d8fad605634a2c8c5e2a71be8aecab9dbef46ce4036daddacda11571ad6ce4abf5ad7fa3988d8457fcd0f532281ba9d9666903e1fb6a1f947a896efdfcebca46444afd25106abbd9c817fb9a934c20baa6e94f877d9571e2d40737900fffca6ce4c331bfeadb6c9fad8220f8f20708f838e9f35ac6be561e5fbc6036d27a172c4b9ab3ddb76ffbde761f6c61297dc26cbbd988edcb466cdfd7f4a8e5fb8379dbbe6c64943ef2475dd3f2ad919a3d5fe9538944fa81b14d6432998cf62e4c7bd9387bd7e3bc0c830fe6990cefab65b3d7993df8321c9c972f1b3f84e2bceb67782fd1b3a7af22b20741b0e1ca795b4e3662037c1d30ef25437c36dbaec7c936dee67ad98399da98bdcecf46db44669bcc6432a1719cd16835bc65b6c94ce7694f438148d3fe55294ef63a584a1f19ed716879534dfb51db781dbc4dd03a795fedcaa1fd4b26fb9cba9968d9efe0253a5aa7a6a3f343280d86934cadf3a2ced5b95726c319f2718998c34ebb7dc1465955cd971d725d59c8a0a8a7e74f291ea3bf5cd287daa271b7aae3c869244af12716df36a1bd282713a38c2253a5e7bf5eb198eb776bcb3e4683c166b3d9efbb654cb4f8f215c3495c8ba22b8f2f3a8aff1263e3eb551b633f4ae0e60dfbd7db621984fb7a1b2c83208ae30a7a7ca9e5872d3ccb5b96873cac5164a2c84869f05d03982fbe7c11115b92eed9efd6e77c88b7502b0fb96e3dce5f5888f7eb12f48b4dadcda8c3d6cb7edf0ff52b869330d1b40ff19e7dcecb97074cb4d06c25714d13126779c8b518b6f25ea25bb32b632f63434efb30efd7e18b78c75eacd5a44ff8adbc4b1863b05102376fd88b6f8b5d1374eba9f836580e7f2fd1ad97943e349b07b37ffd2bef15f4eca51ebf8587dc26996f748895b85eca206196d2c7e58a7df8b0d8eb61d9c88b37645b61b62f5cbc97d80c7c92e5599ee58dfedb662440866c0ba27c11cc7b6ae9d6ad5bf769934c3dc1a9edd1687f574a05117bafb5d6da69edb4a0f4b1d247ceef5924d17fb699b58dcc515e0ce1eeb552d90d5e6bb5d64518dcda97359256bef8197df2bd4679d18296b6551435a6488f5a4655add1561aebefc748d158b75e8cf150c035f8f78e63ade639ac3fcbc18f163fec7a8bc3af78e82ed1a1925a7d11f95eccdbb1d0f7ad6cf300ebefb1fec2972f02ac804fa8afc4fe508e766d51dbb7af0bc2b82be272f6d8d7b230ceafd534104db91c51e971a76bd4982a2da3c6509140cba8314dbaf6376ef445647c33da5af3b8d355ce1ef389106d45fccd1b3dc1ec21bfa66d6831a6d39313010d37e321e3c1c9e3c772c06eaf1d574dd469d142d91d41d8e7b2ad7afda375d2d983037ff346cbd9436ec09b3435d2360fa891b6515554f46b2ba220a50f7d254940fd6d3ab1124781485723b1ba70ad1f19909d9db57c3983e47bce5fde0cc6ed6cb2b46f3965a5b727b1d1fe0018edfb3b9507613155c58b191dd10f55da54d1001926be2843e7ef571e4494430b5ac4c0c548092a6f74fe8ee5416ca21c3184cedfb33cc983a44e698949bb93f75ccaa75e20d834f8fbea09d2afda5b477f2a7dea4e57284d8df4906b9b11acfdb1f62da78cf4748ac36cf340d3d700a8069f521a74650a89aafaa26b7ad62c2b7db733a42d17abcbbe3ed84b192476c7f0715e4e21f5f7d04c32b59296aed9f56524a29e353def9bf1fbca263b9b2964ea9b29e094ca29156dcf4d63783b0ceffac2dbbaf0fec016de37d45b4eb5f4966e46ea6cea942964ea5a6484149d39a8a44a17cd43358a18453402080000001316003038140e08c442a12449c368df0114800c85ba4a503a9ac883418c83200862200601c41000002080180510710e59520080e3e232bfce96c07d26e207f12f7a8084d14be22554b6ca3f7610768e3d60532149c0e70806b0e42921223de12e62e87a7dd17701ae90a6fe0153e9149c93530ab192a86c3e0f7e805b26eb65eab208c356873f24f9ee0cfa22c8adb4c9ab46ac0cded2f3953a9ce6473ddfeb874b90564efd578a4be469350da2f0cdc1277ed66dcee4e33201bd8aacc10673d69197cf75072815ea9d90a46a1756afa978875db00721f4548417faabe7b7672f5445c76504d8edbedf2926fe248c167e5bc003a94c04f37a9a49f3a02370804b5ef9b107b4d6f2979e3c339761d5e14e2f4dfb78ea20261e7ff5e3f5b383c926aa3113d49c5634bda54890c3e91f4fd82a2a4abd3ad10fa6b5fb49211e3aef1474c0b4e9602f57f952075146ea2a39ed0f380744acd3b89b5bce4c77c476050f8727a65eeda790c473c050945bb017cfed39263d3fa39bacc02bb16501ae38b386f609b282643cc3d77e5dc351525dbce91580e72b47450b601d51e6c566b8e8637651d6a49993b18250578b2abca2a02a278f16cf1fa0cdbaa028cda4a212128247ad24300ab175257d75b86bc9ecd25c61abae92dc2247aadcb957c8c3dbf9d05cc4d8137acde3730795a61a51401d8c05b6cf92d90be16cf88171ce206d534f9f961ca5a193867c65489e752c7e89018b071ec11008ebe00720b3a717798207c8fca69b6dbeca9bbaf3e80b24590f3aa8f3a43c40bcfce29e1464a9cd21f5f94e371cf2910e4b21261725f5475fe49af475677efbb360878a37db54878e10eaaa32538175c72688dd9ec8199010b561d84fe90fa396b1ca8ab3ad499e2abec005cfb6f94b5bd058ec32ae5426bc793a0211029f1358e8947d645cbad6aeb762f56f251cdacabc8122dd2cf16c326394be8ebc6073c5490fc30db8f3c6be3025f68984b456a05edc2e4941bfeeb1ad6c9f8de9102e3f821727f4a40e1d443b4cefa1710b8fed8b10412bd1a768aed609626d27f6744473e88500a5cdd173e0e4c14712de1cb89ec52a8342b23fe998e2d6fbb19ba6d56bb83c5e52d0f5c406d38391826d08dab099a6232703593ff88239352d640840b6961eef746c658128d38e38e48a4aeb5b399964e225c20c0d1a8e52e333e4b062014eb18d7ea7073cc721cecf54362b6224c95a69278d818308e6317c1c940c42a7b88383a9c0f81c344f38fab4d5fa3bf00649bb2c32f1b23ea32f49a5f466ddeb3b3be063475cb2c08cf3bc93a15bf59a85ec031a13a6aa2213385010971ec696f651559b30d75c386108fad69c650e3496929291924af73db454fac21aa27b2454dd282d1dc5103143a0829219b53468638dd7eca4e710cbdb9c96efcfc4f55c171555afb214499aa17ef451ff7d23a8c787278ff4beb7d4ebbcd430f412aa8d0131c3db04a6de0986a8f4de0241c77002c0229a555a4df94189c1641771d4a1e038415a0da718e4a6d2b80846e7c0e2088356dabe589ce3ac353461614544e3a02dad37699fc8da3c15e04d9668ad64477bd568a35e9e446dada61e8c7893a2b1279a4ede30301bf2caf46acca92a238d59ecc5d70162856a92eab5be47d93353e10bd20e6a828b48a5b4970a4cbc7ca21d885dd63d3398faad2e684c85a2a8bb4e67ddeb31834f4987079b7403223c4cb61772e61a9ef1a416bf59372230437950d4394aaa33481cf5c6c9baa5ccfca869d3993bd4a10224645383f01e2df4c38cd198ef0d3981ddb3c500b6174621a1c6f82797b45a0ba1fdf94ab501e007531ee039715462145021604d1cb3e4e92eff3c38a04a7bdb89c054042aedc139ab0f311152666f058ea79596fc20f8a09944b77518670adb1bc95a71e06fc1a6579360770002540f666f4c8a8da4ed38f6235aa3ff471394dcbc2fbec875e98e5b4a6961e1e01255902d3c1bf5d66015842946b38525398fb3a0b87659cb756ac9eb19231827d221c2a3c352fe3384d6d5a805c8016ad1bb42581b8f58033941181c9d252ab3244af19b895239584ba08243b8517557840ae8c5de2493fb05d0316e000ad8809df69407acc4234dbd1690843c77a0f071fb3892ecb9ab34f4b6852d5f3e7496b7083d740e96728bcb6c32b75fd01d3c3003d71781d58d2275902d35a8b9682d7707520109ca73bfd7b573cde8ccc7dff7aac4ac825760ce880458f7dc44a8fd3a17f404bb857718feaa6878b557f9e990c904be6401c1f0b5c176e3983f0e5530ba9f7d2262ba35fb718ad4e7629a9126feb3929c02d60bcb55ff6864cead1b50de9c0c3214f6000a0ef6c3b27a8d180ed61ee819a4cf23829975cb0d790107cc7c9ba14232993e2f10a826112c01391d17c3c83120b5a6d314d6245728a6d145433f7b499e7cd81bcdac59c0eb8d87eb74156d9eac851145bc8294636f962d8fa08817b7e7de3ea31b692fb7dd9e6f247779b4a3740045cdedd9d55c0a98d804d3506fa4b460e5165271bbdc9ef13adcbfb1104c195332fe0fb2795ff8588cc22ad53cda7dd46a41706b99b995ef403f48bf1367158cd4bb5dff1c5041fe0e70e8c977d361909d7dea4dc2088e9b95ddeeedb96abbaf964e6e57baa9441366b1d1c5289874e4c2b38456015f20e9e7f68a3ec054f7af7608988ad614c4deafce48c95b2ad1900d11dc19d0b09e06c35e796578299b474eb62c3906c48abdad37696ebdde2e494ba09fb889f27e0ef0bc469848d31b5e884e60516130096c7eaaf306bd77bd8b82cc586532f46bfaa8fb0e510b2001b63bce54c531d9a336a932c4595cb7451b8ae11c46d2da8e7b9ca2c35ec79a3b419482a168c76d58420c1e718f84f210cc69ff64643c57504d96da3e55923d50d21ac5443bd33e67ce586056a2c3fc792c9622f6bef751ce5d9db80db0d365e494194ab16173ce6d2e5cbb01e65c710c3095e894e2bae85e5dc9b544ae4bcbb1261457e6f13cbac88e5cc79d3b8abf618255ca81e897ab9398e77dc1246358b3ad4917e8acf1e7ac145ab7d698f519a6bf813b8f28886f0c5e0845071be6812e79b63100171a4126ddc0938aac06963bae843a17298961c6bd8618deb267050431737e3f6d8b144f4929e02138be2958df8e4e9ea7d57eae1335352b078dcf16f000e6e07ac592af43a3cd749fc081eacd6709109d794f741bbbe108cce77fd22b45cfffadf2e970126a9abbcf4cf69f601e068c1eda13a33d7185740d2320a9411bb3cfd60f12a5b10224c49bb73ea77db58539903edf49b76ff75686d58b0fc393bfb87b9331ff42853fb7a6c90bc30f0096cb7c8713b086e01b5f1c246ddcecc42da4ebbae0bc155c3e5afea24b4649a789ac5dc04a99945ae17d20feecac16717f7651c2ec3a5a8187befb0230ba0dfb861e1efa16346f46031b6df876fb2a7cfdc391f3119889b3bfd46f56ebb299fe84b15adfdacf508c42233330724c451a1035410e7372864542602500d854c5ab0d666244f3d2847ed3225334fec2939ef9224bee76f8f87877c460c1969ed13e8a841b01749184587d73503a8d72cbdd1719711b1af21f5966da35fa9b34cd5d3725f3fc3c0461d8f3fc42f6d54c577663542b6ad60a28daed208d1a112499c5691abdf3c377a4e430b70168ae2452f5e259deb6107831e85f29c1a5c8e27d8a07e7ce652f97368595c3d3d5cf54b25a3d8f139751884cb567517c829a464a244586405cfce69952489f3c3ea609fb867e140f81ecae6a85452c47fad95755f437fcca26221ccfbf1fea861839acf11c25f8b0a286352b7c79035899773e4e7165dbd5f1dd6cb56794614003e373ef73396053c8975b64b4630cb1abbc5808b096f13c0fbf9a9c1202ecc7b1e8890b0134a4947b42cb0a6e057140958bf0b790a7b70c6775a8f79e32aa905c344729371f9ba5be043d82dd137956117a44e544175498c0ad0b0b08558d3f038522e074bce1518110a8a2a9489017a139793c97819283733f56206d6cd59ccaf69c1a0b06028f1228d69e42154bccf3ed009d35fe81595e612457c959d6b1cc5a4548056bcbeb2f01025b20bd3ce5e5d63bf0a925bb8ab0e70376e605c6a32c3056ba9cc1561152c241d32ed5989dd389121924bae7375a785e20b355843c66056e314a495b92755ae65bb29eaf23aab2fdf7c62233e0efe55b6aaefc90d311bd8383fbb8a46dad50b7cc0dbea6780e1296ea0aa4470adc32a9c00b0c47d34dca35cf6b46fcc49c5e4741d9c5f579c6a75dd324a5b358603c81eefa8881f049feff5e11ba800d4b7034a0bac14acc74c3f8ccb0230b1b56c479256ff79ee844f853473187873e1a141b09a02d0ddc6bf3282f36c061cfef328470d883f90c6eddf0c4dca69611d5e922b33c758f2ce23fa4333120821f8822d8000fe80453ee0e25b66e0b7b0e8ad84dbb40838a47c800769889dbca594d98e1da37a77255141a0d43c4c3422959e39f9c1fe3b4c95dc9879e18b0ca84972be36be86bc4abae42f99f02fb17f4ed6d9af9f672a48d3cc76587b421af80e1b6e152cefc72bb0d63f9da9198d5822a0ccacbda0de2d6f1b706b0bca9972467bf5f3cf2c0f751be05324aa2102456b83905e11971de3206efbb3c2f3532de92c64a0779b3e8cf1526b72f4768e721b0619b554e02a3ad4d04cda0940caa04c5621bef248e7d20ad21b827539b05bcad8d2ea534a18c52ba2bbbc714a673852cd3eb267164fa7adbeae38dbc05fdbd7518c71151a4768098dbae367f5310c6df9b594f5e53663e86c5f19ddb8f481275a16f7ee8e4de1da1cb3adfea4496bd1d8539e181da4377a24f034160b16c2c4ae2e6b701a49b13f613f2ff08985d26f00984275ba0b6f169de148cc7ca9c869b0d4cf34641f3d69049ee350b5ae241d85a9326e4b223829141fa578ddd7599f316087a5b6dbffffe2dc65579a0bb0babc84ae4e4a46ad02c9d1289dc463717efd0e6f441fcb1ea8fef6c7c3e365bfcb19089f1c77e1112ff6b9712522c8877da8ceea2ada615a2902e6a5d30663bbf6f74467c45271a4c4e6c4f2772df78cd816e439d91d40f4ac79f98e03fb6da3e192d27ef5a150a90ec24fb729841c5f8044642284247f8a3d1ced559132ea2a0fd0db459904ea0adb34de10f81c88491be24827b8d1dd132c8f8316f37a0ad0b07b1b210b6d3121d71219125ac0f5d55c4c857fa91b3f6a1443b4e7e893f6e39dafa02c522700bf896fa7d7731924b92d4a93cb8d69013304ec73ad94ebadd6afa20ce1bc520ecbfb5308db20888e7074ceacfd29642faca1318bfef81c55cae1ffb0dfb6df90fb5f7a805ca3286d2fbb4088bef303101e66bfd98b51d4be6d0fc985a8bb459ca3c08c1d4dad2ec56c347cafacd03c75c1cc3f52dd50f1e297e8709247018cccd18722ed6507adf66c5148989041c9523a0007f3dd5f4285f9f268500f5e34b781b76188ae6e1afe3695d5d2ec67aee0437d2b7e348ddd6bbd34814efb8f2220c8adf93fde8bb243f64d586fb8f712103ca3e055a80a6dc5180c39cd4f35977d739d816c8ad5e332b382bb910ff793ce88a3f183054f4b739bbfbce54ac4182382f33e940e6ae7baf7a3dd68bb301df037a05d44f0854a20c3a5c527aa222f5e248ac0c716f2cb25baf32a259368e3b925be72fa47bf13bd12a99a839e1b3b91d694a73ae748f5a49bc2ddf70d614df64ad9c3d61b2493b65cab2cc6cc78e51b1099766a40bffa8fe0fbc0037ed95c44ae789e0bc6f9335ecc0d80396a23fcaa2b17b06714071e2201cdf9e5d0849cab0fe9080238b2c5b66fb906886a4684422c1186e6924533f5d56f6d35baaf8992ea6484b5ca37f8a55226f4a50612ac4571eb56ca75680157217d7ecd848ba2614ccf502cf25e942614a1aa2baf9e6a30c9f7e864d05f9bd0079905cc0d92af18cca8ab0e626a658769782add227041d233df61ec3b6cb2baf7f165fc84a1877f14fabb0ba433f15cebb812ceaf64b0381cdf752b23dba37201b3f5f0124da2884a43373475309f4ba3f3105349e118623cff77b0e64738f6c8e878e259b4a6fdf4cab40030c22082a14041a917b8f4fc0ec3327de8651b536c9243142f46054e4e88130e543c294d3f0037528ed2a55df23a252edc4d6a4f4dbcdb38556565b4d8ad7d3876a5716d700990f9924874ae0375581ef0d756741aa42f26bda7f70571bbb3a8c530aec2158f68db1239be5c46c982c8e713e0b166a05b2ccca88c2831ba8f177f312ceecc2b28a34486be86157513add9ca3fdcb08954b1b06d205f864bdf96395dbc91e4d3e0adc7b7d8cbc197a8f9cacefe19628e269e23d5070961602f9027580f54f3cf7d7a2c65c453c315697bf2684a63e353bef71d2aad2e0d5482e0785d988430192454da2d329812f386812dbcfd4f45ed90956b820f8baa62c0c384bc56f9aaacde88e2e9162defde3b8da5bd937f8d4bd7dd2c9ef3e389a41fa3ca018e15ce26c6be93e4e24e111d6b1b12bc82e4c063b455afd3b943294a62fceb4744c92f3b07a8d118f9b54693b1a7659fdb1b1ceaacf182253dfd52fabce82c009fdbe73c468807ac3996aa63edc185de99fd254a9ccd5de2774eab7bbb04eaa2fbe3a43fc4eccb4c0da96b7ca926b4d95de39f9c4dc46752dda09fc795bbad12c47414bd2b13e14b24e5b314192662497bd3642657a4b0eb1a0eb8517301aa419c91a7407dd43ce4e338277cb259d7656faf7bcd4c7aa7a2247db6d24225b3e75f83d6039b3dbd8ed9adba79c58030f0cef26a3d21c8afb6e71c5477abfdde0046d70e248818e0f585aa403de2290e5b39e0f42ffe7fc5e22ef263e9b6fb11a1ff94b015fb41fcf31241cafdd0e08497df0e3c573d7ac180029397670ec429ffe8554dadbb7ed8011c7738e0648478870cbbf52ad75e433392a85c4564b94cd8b0249c241b1b18fd87cd5ec48db94f4dcca637dda8b23c12ccec162079beadb339caf134b0f3abbd5305c6774b052d897dbb84e695d68a871f6dbfe2f785a3e593c4203971d349aae33200e5cc3598c414460c3710c8f615ad44be4dc1d7d923341e45ec83a855b074ac91365641552669d14b110bd2bb40ad4f23790722618913597919ef559983af48b5b4ff142a10740916fb656970c8ce4e0de7895963947bfd39ac0d0bc018bc3dc88e3dfec67f55598773a8e91ee6d83842c3c5f887a77e5c0da19cf00f2512b74b6c636eebd872d56b98d2edc8e6794a7e4015e3ad86fde0aeb29e117cbbfa92681386a009cbdb0b8210dc08cc4cb69b7789a25d7ff08ce55d62100c25f7583a1d6cbd6f5609ba09782050a07e722bfd3a49bb520265d66405a7ce77763241c2059e5b27d346cfa6f9b38ab4f65cd93ae77016c9d1c16257aa93ab0c8ddc9f5e487906c83541d93be840a4bcb9700d86170daf600e6678e3d823b7e485d3a818f7b7e0f90ef447c8717aaed3e0d2e52bfb3b0d6017ed5f33db13e20aac292ec7db247b0d49c5efabb5100eef17d13de197d242dd198f729d3d81fbbacced2f480407e2e3d25bfde35e8c777afcfc5a7b6b1ad81503cc07971635f8614807b4d44c83846a06335601e233712865fd26e248cfe17b8874bf391af8bb046040c173496c82a6824cc4875fba218a9dec99f5e7d918b197be48f48accc2684b2e7a829210c014f93e5befc4e7687811fa5c0c87b63fca4c11591dc82f37036f1008f4b52c1dc5e656d5d19e8f57b2880f77485860220a9d92139482551a179b85970f571ae9e048c1274a5b7bc2646268c7787478c872b175ee57c0128467243ac3761af56c697d3a44ecf98e86be2d2a18f83b16bc02a068539e5048ea90b019b7f0c864b16961118ef61fc440c20641d3ae09a115b758c9739e8695c40c3cc4971e9aedecf922327f0852e7340fdc5e43325416382ba3997096efe2be2c5250b6c37f40c0f94f1dac0e49b0641f46e04274ca0fa4455d0d9671da37184d5481b9b3d12b0e5a0cbec27e57a5154619fbec82ea1675d684f48b317b217dad4459cc77689f5844383f4f9b417dad405f608357f51db429a65172e0b06b43d423ab03b61bbf2509d08182914dc3a11ecfea43716a81315ca88b6683889b66d27222f54da19b5921805dc25b757930e3751a0f9388019fe39dba0ff108ca62dd1b9fe2bd944912be03cb86fa647b151018a120531489430a494436629a15ca8a3d05186c9a28e29a50e224b19654709858a62314814c0485286905286b2a18c72450d03473966961ac4951abbf814a4fcbc28a347a08c3dc6963d872d7e0c557c08757a1a65ec19b6e83131e5a781963f46393d8532a70758a314dfb03ba4cdf6fb60bc49cba7b71182cbea4c83c8ebff9efed36e30f3a57fd3b8e598f300ab9953232efe366f63b830e4e0ace9e927c9935c42d84fa04c86fdd194489946ea661020bc0ced9b402b3db94b9f71e9e6eae71806473a8d04219bd0b50a704074640e414710b06a6f47290216cb969bd88d182d8a889a497d618bfd58dc09d1e41f98855b3baf8d640a89aa9415e3a2ef1610c1858b65c0fe0d407e698d5e6675898f2809a3a7685d2e4a61de4545ddaabdea7892cfe82bcd369910ab0338ae60b2a1d119986a04f662e8da822754f8810a185aff6d2117cf54ff1a02ecfb002668f1395489bcf73b59bfa9b8733d176ead016c44394c0e1faaa3877ac6ba59fc89ae4517f75a62cb23b5d763dd71eb98847478c8d6f76d503e0a9888386e3c065fe69ce2a3e7ef233632f5ae9134d2d7a592e471535a7364fba83c47a29e672ba781807f25a09f131e185a448af0967432dd0131edb76b268a72962e7265517b50b73955616a4898dff16380ae81baa00e9c0dd0fffe35e67c84f3e802069c26ad11c981d504a2132c823143d1f6d3ccde0c20d4932cfbdeed53d35d3b99b06a2677f124f9b4aabb7d3b054e3932826f73044128e9d746efd0e8f63436d1b43b5e11e69857e4f74e70e0545864b3a6a4c53b0ea31d06409097e986de55bd0cbdba47289a1fe4047a0a8f91a5758defde866028a88dca8320f37571654490436f91ccf7b378987770b009d504903cbaf2c9386db9035d90325b93a77de79bfcb09b7a6feee386fe5c2b50bbb15ce6ec82cd61c7a09569315ab84ca5a3f9f37302693836a65ca4d769306d95f51243066d07aac7b4183429115a446b770ac4449b20b88893055382ecf06157ae2733ba1f98a802fe272e46742bd72a63b87a263795e09a44e8fcdbec63ff34f5f29e26c088b376daca6598e68302b488186f32775240c72c473ac4543a899dc9f21be815f2ed338c3f604ca2443259a063c2b00a459d62221924ccf42520531d40f23a05f1e88bcecad5d34c0f57cda5ac04f4dc9fd3c00b067b93e653f59e5bb42ea0164a855ac6b96a6c4f50f9b665d07691832a51460ba783e284cb76c4a59358c38e92cd9fdd007707264ff05ceb11a9c6ca3312972cf5a681ec625d1cd0320c1428ed1205032662422942ef6199974220ddec204ef56a1c3125396c58598c063513e19ad0e34aba327e3cbc4fa08f0a54a36fad68a5d48d3f84100360a5f8dda0288566a6cd8032a54e8d654b5c99a4c37d50ce6858dbcd3b4a990016272692268bfa14099219d28830ba0ceed1ed6eed4ba74ed9d64c6fcfaebfaaea240fb48f2c30add68161bb9f71f3d76bc025107bc2d09e2f0b867804eed0c44d804d6a4c7d5e2c610fc70774cc03d10f20494d22413211a73a77a985e58dfa2279d9176890fc7c4ba6265bed53a359d3a3c22c02c53c03a4ee94ff92272045b349e4dcd1841aa4848399d198d1cdd0cdcbb6c611d1a3f1dd1530e6960d8eecb4817a0b4aa2c03724bb633aad9e6b251301aef2380665cd9ce76687ff0d8a34f0f25c8f7f0b475ada2085672d6238ca4a4f698582efc5f0bcc703df7e591009c3961bfd7704530a54e18909067eef16134c2c0490b821c404170dce235cfb44af1d9a8893e05ea0e585044a16a231efedfff4ceb1a2845092a2a8474e848941c1065383033e334103ccbad8cacf7f017fd35c30cd0c6e7fc6b2be2f21582905fd874dc31c937cdd5135958987e6d0812f02fb7d9d88a9e04e008036d737b8ee95046e2a58badcb465fcfb2b09eceb116e7b52a218291f3cf69c6a42e222ab0e0188f3c30857c83b969367df582288aebd92542d09d1170cabae1b35abb629e78b24e64a688d4d47c3ad744775aaad6df44412f59574c1600c91309725274db30b65c98958497c077fd083a784fd2fcf1e0a6b5bb2bfb8d91a4c66c8173eefacabcd5e4093c5f291a1b3bc3e03570e23ab0d6c9faa79bb1175a153082c915e821505b93229c0f5cffb10d1280dd2bbc1529fbb525fadced9b606deb33019678780d0db6c88201a623b69e0b2d264bc637f21d8bc4becccee1746f46f8c8543d453ed2a7ece1af0a2470794aeee40bc1d8a14f0577905287abffd20e5a43eb76c4ade8a6dee29b0d3fef3584e67e477a85313dd1f2f334203b89fe1bd270845af4d1c34e1f90bd55626ea42b4d526de355a1565f967c606597a14e24587509c153b25b9ae3c435ff72a056011a6bf1567a79b57077d7422ce8134c1e30c3dbb616920a39b9702acf8e13747abc24a7fd66808e9c592ce9e4e9cbb1004a11ca6f4142bb4ab08bb54b8e64ef8e2b20b0689e3f538759e0d382e7368d4639a49d562c8a58d90d06d165c122bc7daa99197d0b579ee3d3ef489ffc711f6890bc8c70fcb0ef23e478ef136d3cd5e33372d4a83d2d2266880d4992509d9d136d3784e83539f2524dab20497c075e111a584da3bf77302b187683b6a7ead1007d14ceffac73d07e5f2fe52c020774d881c56c0298be28e2874a3c07128d74315e6dc38e0841bac9ed3133a19238f061c5dd3f2e5761a8effb3c63431b6709eea7d40770f0d5f4c3ae39cfe24dae8921a97b414638a51eca47382a2a8f7dbb682003b3e0348cee35a0db7b6527090891064fc6a58eadf37ccba9edd4a4f8eb7820518662e351813a6cfc07fe20d9c3cd35fcd0c091645505211872613e5e2d7ddd6387a77c5017e1d240691841cd95e9b28802609b940dde90354382a3bb06063a9db396ea9b40b097ef783ab5cefdc2c9792028860eafd12711526dfcbe6df2f041e031c28a9d9150e54d383f4018275b6367d887be5a92511698dbc9c0ecb2b2857174edcfb34dd3bfed5b5adc0b19d288b147b113d505270660de414d803ab207fe9cb367a7d4f9128450e5037158e97ca246d27e76850f2ebd8596169fa837607c2b36098eaaf456f259621598d3677bbe11f19f7f56075e2e507e9df5641f0fe4d87fd8eaaa334158e088e9987e737ef59ab708de2d392275f3974de707e71c99e9fe1c58d454bf3943ae74616c8b6ae2871a2baafefe0281255bfb3a9f00519c51142533c80167957e4b554eedb2b116e5570608b1c914877677a754fcbc831960d68a66ced15f6bdf8abb1149de50700381c7b79d0ff2514d5c5440aa5981e7cf149114a6e44099e7d2794bf2ff9e974a42f90198a2ee23a64bf1458469d85f6d61b973e7e3244c58ebfd797f95f58bb5acbbd775c2ed8e64b3685675e12d522c2c7cb5810a7118861eee2f44f4bac444ef7ad61437ad77976d88bd87450ff351d387d6c2d9bd8ceaaeffbc504856f361bf4dea552e2e74ad85a300f16e5b8012a10fead0157bceec2c4ce79cdb35264c7aa687dd6383caab1b0cbb5e2ed96d4c2ccb0613bc96363676bfc0aa5b0248934d48fa75502084db4fef92b759adc7a1a2a040eed699a5f82f7f2eb53da3be179ee8c3bd048871972a4480f7e2ef799f36c732672204933e883b237e5227d6365ec81d54a8e0f9a8eb2e9326d4b00be6cc3874dc386ef5c851ff49bc7142274a078635e51193c3a8b8c7f689c9c77c1a264a28a178778ee2263487e843b81ae6180f6ac98d96d4c4f8fc5befdcc7882487153eb531e4e28f70dc4e731f3c6cf440003a8adca9decf5d3512a1e67a1fda3764c412a88a78d6219ccb4edc3a56128e26b02b27120be0773051913962306b9f802b784ec579dfc1c22bdf0ec9eccf14dbb0cc13dc3205cd31681625c8a4b4a6aa2ac26a7508f0ce6c648a6c28383e9b05c0e6754ec98007a02b974cca40b4df895943a11804da355e6d297dc840233cb46974e35e2abac91cee4bc88dab7b2546b02b8db8b2b031e7d327703c31a795b7ca701cf6340ab3757340bc37a3bbfd7a177ae66cffff0c53737172adbcd90f982a31f183237227f13417af7ea3278c2332429ba206390e4a13a5e2522f97711dbe9311b98a072a6784dc179b4856e6d1f357400bbce3faed5c78af3778fd4491eaa3e4495618d8902c7372cf41e2c7bb82a866d07d114047c311c434ec73cb2d8cdb22bd3944306cfe6750fcb5cd51c84d4368d0e2c8003da47e223b00362fbc076cd6e77c07614deca9954318fbb5565ee63fb316e2b0953bcec3ccc17c8ea8223e7dc62d37f995140167f40dfc7aa460303837a125c1beef172b2690bdc73e2ef9fc60bf0709f08815bfb71686af0b1d3c339b64acd6c0be9831381fbf7864aab9972c7e59b79cc30c274c5a337501042e5bb5a41aa6ed219fb68cd669ffae0ef0783c73041943fb3352d0363337768758a233c74b038dc9fa02446441daa8e40197325424df339895d47b54fd02ec2863f1ad30ebec94b13711bfe217a1d1e0ae5d21e0d052414b04547b2068d9d85945561ccf8d8c6c392f437627d45a253b07fac7ba04948f2047e7ceadcbccee545e89862a4929cdb2bd454bc862387489f51cd549c828a360b6d6cdf0f6c4b7184112e3d6e89aef65484ddcc857d08213a84e11eb7af9ef05c94105576048edb8bf806e6a3222563f1f9711bd79b9f0bacb843d25cfb873e31089bfce6e05134d694fd2b9c1136718c4ecfc9d674e85c8d2bd141a9d73de3451f3b3204336d11face66c30ecc3f273be81730b7606eae43dc7f2b2c44f420c5841759bbd0748119999146dbe838d1061d07caf59ad178f14ae566365974e3eeb187f58fdf00566f6b2aefed456b2b16500117af664cc5848051f489ec33469926d0d385344f10224ae3cfbe667a152b36f136681750add16c7a4798c43ddac654c0a2f47eb7b6411b58fdad74597fd4109d44c2ad5a43f6c92fe2f4c3ed1dfcf0ecb5a0022550ffd29233a5b50dbfd411dc37359de202c96e64b044a786292f0a844870f3addb602f507607d3ef401545d335541f3fdbc6e604976c62051205356f858d8146a9d5935181e59052f9066646023f3b9be54855c67e2db98926fecd0033bef60660bbf81b12e9aa64414e48a77b0dccf1ec3ea39e20e55d77abcf6c73b6785bed9c299ebc25334e4741a6fef1bb3495b2ad8d7021dae22f5cec36b92be8f51cd9a90987e3eeb1904c5c941ac8888455887635bf9266aba6545b4cbd4cd95f55b496f1f5fd08aeabd578c0f9d54e6d58dd19832b342a2788b7d1673174470335bc07e376885f114ca97889f5d9dc4c5ce35f64a66298f467e4cf37f2fa45b3fd09d86c7050b6d9a3245757b8cda0e5f501ac675e826ec74040c4537101cbf28a401be6eb763e53b9978ba6701b3d9c330347410ffd20186b0accb2e8f5fbff4b63abcf77b8f83f8267741b301c8182eb7bab2cbd4fe5ce4c2c9f0cc02434836b5b9f90865e3e901d92f5734d62ceffcb1095c1a7203f9a8279f53e70bcfa0dcc170146f4e0812a7adfe9dffa85f2d0b0374828f8bd5007e406ba40ee800b7003b80037e80e74812e2017e802b841aea00be406ba0017901b7483dc4017e00a7283ee2017e80ab8412ea00ba4ee389556d8a8b98b06def6445762837191cc1818c8edff3fb76d3adc857fa0bb764a41c68835bb0073f28acb26fcb0a6bd37dd6d48a5e42716f5cfc6849bec91e22d755bcd7271a6ef8317284f77663aadb83dad2c6eb32c9b5a082fb7d4f7118bae7531c6517d1758ccdfda7bcd2866f505543a9b38b1bdbceb89893dfa11b5b6b9b67d2f37210f2fb0093da2d940b3d28e6aa715f834b5970ca9a8d5055f4959372c34c1abb7ef35f6a84a64574bfbc9178ed19504532d624343dc6ce31f8646f69db6ac6f0856f5e80c078da39e3b56a72830c22a5703da90e3ae2e9ab5bb52669156242b7b6545db99877032b800cf2df8b2daac6aa4a4809189b2b6d04fcfeb69123aba00833cdb5ae380d2a4b3704a856f24d5bb2ade95983a70cd8c11c7e651b1e82cc3b79b7811826659527c9cd6cbbe882455d7befe9a245ad85807d4ecb8ec52006a1770d81d86e3aea7252fbdc80f7ade83974b179f4a5f2cacbfd6b0c179afb06114cafafcd53732fccad1c92107d7f07bf3e8548257786812239200581a8a1d7d28e52157ad9d426e49c01a575bf34dffb5ac1f9f010d209fad4fd228e29eaa73d98bfe180c2ef13212f2fe15aa1a240c6a4e7fb512891b9837bb3ff7a7c44091fd61c5067403ce33af3ba513ade4b64367a881388b9ecaf183bf7cce1f1ff72188ecc3300c35a7d3deab8fef546462e041d3f61d28119565298b85033269190f2ff47d99e060b4c7112fdc7d46435f1d5f2d4b49b5ec9617f54c58ed1b112fd21da6835d096841dfcb8997be36484417f6be125a1b09d342de57138c26b5c74c8628ac8b5999b34c49dcb2e3a0b470fe3ddc4a20c7cb58e5c3754bba821b898701c08c218c16f3ba999219967e2d4cb5d1622a190c9749438e0b69065142de4d8a96a625c36275490c870e195fd4c273b284966d29df8a261850a2e22c88aacd2573a36a5d42d4057728ac7942140387185768d1e14959bb72a1efcb4e72862bd45c6758ac91041d2f2c2df30997782f1325bcb620e28b6e10ae24d79617f50cb26cdf6b10f1e22d087749284bebad4e8a64b97d7b8078316e4170b095842deb5b3979d152fbfe00a2b22c65b128497a6d88217bc19c31094b6da928685b2d5dd40fc8b719102ddafb86c34d22a0963fe4729fa604df5a777053b7fef9d33a146365d8c4014e2f515c0717a4f90e6aca32b1c0ac8c037738bd03a8c70d0ff87e1d684abc83dfab06a9c9292a6b5edcb91cfd52a60a54d8ee7bc39f025d94424bd5548233f77fc0f3ef963333862f035af24c61c8836ec2591223d8de09b2deb8b3ac71174851e54c7f9051f18f35a83679ab4e93e4db7ed61fd7d3f1aa7b787a03958a1883c3c244ddcbd2fbdbdc038b1b651936826197c04a72df1623cdaa709b78c044bc5f4ac2d899f6393458738f6955bd2fa3c756b418f5bb65f2f9cba3c798404266b2c6a8864cac97e03b5fc3991a306d87a2941b0b98b2ecf4a162ec38e43c7fe760f62b53645f09833ebf2c66c928cb45513f2c11ade5316db97b77295ebd233cd7d10fbf4bff14d89980fb758f2955eb22e44684ffa0d98857c4fdcd9bda281d3592dac3c5a3d7378e82968151a08b8b5a501188c25d0c457974903df749a98b9b691d289a9a04a9f199d85d8023260de2e285eff14bc39b38a04ac82bcebba050aee6df6d6e108e6c9b9b380a300b47705adaf00c25c89ba9d7563884adef9dbdf7bd66334173bedc18a5313070672b417f253900a53889d6871b559c0672102988ca86e32260153600a2d7d07b2891669f82531f9544a1558324191e97d7f434cc6099fac04804b30b41f064ddc98c54270252d3b3c948704ec68abeddf59a716c21ff8e5e6d1b722293cb430f9536f0fb9f79f91ec198794518d66b2255beefdb21f20a7481e98db4d0ed937c289a903f7c50ec658ab053a1471c6fef7183010928d29292377ab1d853736c04276057f264125a3391712eed45e3ac346c1c3eb78909a12a1421a0bcda31500b6bf1d4b35c0feee89046d3ad936a563a8c7be6bdd238513ef68b70f22f8681ab5acd6dc7a4342e962926cd3dfa2794482b29b58745a118eba3684ab4f5a2cd907532f1000d2d529e9dfeee2bf3cabf362586cb098de70031a66bc4fb166169cef3d9751f3ca838db862da646855b702ae9e23bc5d798dc93f8d7ea0fbf53023c7bd9b5466a71635afb9594656509b83ddebd97c4b1510219f30b81a75f8a5d1ef57b133b8df1f62c063502383172e9428af84a3c7441b4e2d502cc751e4fc3618cd1053d3648ee705aa2105d3a8af89e601fd8d36fd82bf8e002c7c1bf001d71cf08d67fc128e9263184e2e3579e7838b7213f93467def236051b17824dc18e6c4d435cb0e1f8c606dd6a540f90ddf25c20274c214d24e0a17d459048259328b85b853aadb94e5ef0084ca2a5ade0708cff21ab558056883e272cd6d234373747a907b4a973d17e60e32d62914d850d2cbb8b3eb0dae3a0bb1cc3eee5304b2a2c4fed375072386282d20c15ff88a04673eec19fd6b36917761eb0e41c50a647f796b9c07f803c4843038916328e12b0d36e2270f884a3045fccee6cccd96128ce9d4006877781d99a221d48c46ead18e54a8719489917a467895a7abcda3f4cb29e91bd7ce648370e0a1f471b895f0464c1222af3157dee1d393d7f045ad9ecf91b98566155e254cc8224c88829d9923ae04fdf8e1a2dcba3b371115dd237d1a132f3df3ae00e8bd8cb2cb445a18ad3060754778a119f325fe4b1c6978179a346ef1301ae2e218ae63825fcc1d0449ecaea1f619ae8e98f8ce37e82eb52e198a117c81d2176eb329a2c370d58d4aa6a909b8abd4bf5386d1e9663c0201598aad72492b4ebc1fa7ddc47143b5d515d94f7282aaf5dd0c5eb2d14a80a4c9efe46dc2504d533ce046244f2af6fa94907a24e45e15ce68f19f4e7a6d9e1c23aa52a1703347d2bc566531ed1623d0399d97414df564d18ec33885437644570011ca62664d895f5c5582474eba1512833b81dea69187033318cde48a50ac0c9d074bdcd339ba1a0bfa54163f28dd736265de0780b47f26907d947c9fff63ecf16f60243a4ae6d5169c7afda64e7da5b73013e90e21002acbcd19ac691f0f493238c57f0fdf21d7eadba769782eb82538385033b78071b55bf6f59ec8ece204367da4533c14e2b244b6ab85ec8e3801199e25134becf1ed516477477e549e01159f0ccd328018135b42c76068098b6c937105bab2025ac11c9a3f173a9ca7947f22dc48aae879133deafca28540176f75b1bc04de70ed2153f97ba544c32f86b029a4e7106c95aca0e01ac7a350d9e296e6e930ace2189a58d812bcc4ddf519dbce22ffc2ee49d692a601eee0eb31cd6c4565bc05a665db3e5fd6ab9441de0df58235242c12b0217826c607f13f4d863551c09de72664822b7aa2a21940e27d9c514b10170a7e21a9cc026225be28d37e6260a947f403768707b5272824f1329a312d08c10b17ced6782ba023028c1c9d663175f74c69d987a433827d6a1b73b6c072b9e0cdbd05381c0e8ec3e5e0b8dc710e7e8e92f43b11a5843c06dde5a90c8dbbcce081d9430da6a56a8e00d30a17c47483388586812a9d5ad044619501c7abf68cfde4625113d39e5139ccc3e8c91cf56c37ea8c785f78ae5e137ff2aea2b1c0b5a4b285aa48169d0871c56c2c421edf0e8fd5ec8b8d1b37775121515494684b152e4dcc4b1a313378d10ad9db9b2130a0ccec3db4b39442546c97ec3910bb6cb36d9167b2ed150596b846fa8f62d1a8ddabaf5bfdb1233f8518567683c1981e16502219dc0cc06896b8f4824ad178d731a65fca0a9c712487686eaf58f41706915d0ad062d0b5e0af5793bde71691242a36781ca700a7cf94efac9d1f8c16d2012deb4f251b1884dd18b5989b8c9e105cf76fbd4272f68784af2c9390daf0d77312e4b9810dd26c9b3c4e5c2ac6c0eedd2e03dbe4359b6e7bd822bd5b8bc015b1a82ccb2e7e2b6d929ddeed61ebee29f7798b6f74d957ef9e9ef680dd483b9aa21aed025848343a0f82475edcc22beef4cffa616a6b986abb5ddaf06a0c7e5f4735adfee2030bd2631e173a93afa7ba3d64013ca37fcff6c85a123d29b923390430789c6e3c7e3a418b06ff69815ccd4626270122062cf250558ba7eaa4c4920966fee58e27c10141b4e0078048fe00bb77a88b8257c4ee5067ff60ab3f8e535059bda9d1ed622c01ba4a45772fc90334e8b70fb356e4b3579c78bfb7a5577df580cd074cea2d00570e423fc5e907127e201cfc3da0776a5aea3ffcfac7404f9a22d48aa67dfae8a8726a36f804c4f957afbf43bb0e0308c701454fdb60362a01ea07155b66f74bde58a820262af48b2fe04713983a3da5e2ff93b650177a983140bc4893a1b7436ae94ad8234635c1b989b2b774490da5f2337328e4870eb9489e76214160635b217704c847831e6b522179bfc04408f4dd18ac1f28892df45ff6643698ef8c6c67d8c347d2e209ceb9287dff4e700b1e98aa63d80d5499c6b037b1693cb7b277a4a396b7ec1b7cf1cca1193e0f634688c19149ec3982b6a3eb780a4a42612d26bc45d4e761b00adc0a884eb20e5d56942d0fe08bb704cf037bf4f702d63cb3675fec6456baa8dd27b077fd06178a1f32efa9ef1c6327956f6dab714ba41d3abca49a7d0c7c40eb50d0236aa98b9c2576379542b744f93d8ab1991b4f8b3c22b634d1e783893a82c189a749954a5ebf9b16102fe3f9f43b9790e93583db786a407d134e012c8d3b54026dc2cd4fcd771fb43ffab38edfb6f6ed207962f43b5d1b61b564845da11533aba4b0bb68ded8782e47fd2637ed863b216901d08a6755069b1b3d11c1b3cec39a02f80d5a5ba82bf21b09b33e305657e0f9c0ddbf36705ab201607d1dbb652089888fca19e0ef8c6de5710a6c64f25821da524b878d1f9dbc948d0ced03dc1ba23c7f79e64cdf9895fadb82e2ceb4fd646322d90661b3d96e12d0fe4c1c8e53e16be112ebf691264bdd30d76747aa5122edea59b2fadb9a040e3b2bb85d9e6d4518540ca714554271f213c999d84b09df820f0d928a1aa23fec82326a443ded3bba8f63b4c07e614fadcbeafa3ba5d47413848984473518cddb1e7921497edf3fd7fc0f9c3b44ff41b6d4c994c7cb39b50f88c504df7ee7672b5934302ebf6536a5c9d4af8c3b132be2aa41eab7329917d0921a7af8d121c52c341e752b195dda37aa2727ca1057ee7ff6dc34e647a12b7586273978dfdc366d185c77914e42e452c76e9b22574597afec8dea09cb6c7187d70a930349ebadeee8876b3a885acee72c67510e60b5885c37006916bf6ed2776e5ba57b5ba368773d4cbe7246ee942b7e5db74484f541888b651e5c15bb8f99e994c22f02aa1163a9cb82912a5d323ba62d5d9bad196b913196875b256e284bb65b1204e73d71bcaf7cf7cdebee74b0b3be7bddebeee0c18abbcb982b967661333336eac1d6ab24e43602b7822bdcc1ab0020bcea430d43e69461a1962e9f32c334de4306c8bc668ae6246167c66d8aee49b8135f3423b6a98e12a32da6350e8712d052c14b032db7410a5c4768c8602df41a43920444214e2febc16670fbce3cad30f0a48239ad60e5c3614ba74ed89767645c2dbd97e40cf47c5eea64cbcd2c451eea210c104a98f631209ce2582f58a4596641e660c597ea9d612ab5084965509a6c25ba3a716645aaeee241e9f57a022623e4f7a08fc58c7cbc1f961d4c14de41fabdd2ab8c81a5019b5a27e049b7844b2bd80bb403906b74d9a1e06ff43fe1a2f06f555782b66d10c5c916868fe65ef5812d5e360f947193fa7a0d105e09c1256ec584529f7e18c2366bb62728803e5e8f21b0c280d946d6a68ca283d0af60a6ca6335aa42bcd15297889ffb2a1cff46cdb074da89da4ce8069b72947d5174b7ef606230e0839b9db3be40622b9ea2a61ab1c8ca5f80208da8fd99607036bbe04cc5a4b4302f0890dd0894eecf9e0db10943ec7cd2b0fb5749f48c16527b17a8ee2628e127fae1861955301d55810b57ffcb9140b21f03127411581a62023d98ab0e3cd02f2e1ae5fc7d721fdb9439850d10300526732714777ac6ed50bc44172541693fb508339d68291bb4d94ba2676f051274e5eab398e44110585a4630b4b5666d1ceb90ac09279569798c6af259aa523caa69cedec5b913d6f65f627ebeaef50aca0156746070dbe13c201b91317241928b3cbaff8dc8beaf819a51ca0742549e79ff2e5688c0d207f21530a191f62521cb5c492b02f2151171914eca49f3a9bfdb89830f0c8fb2c864040960081b23367718d2a476f5eded3bf263a9492a6faa179c50990d7094bfc60d7e6f5c0f30bc0a7b001669a9a95e45dbe48d7060dd85a8d5ba4b7253ca82dc007a9899730d425ef59a90cc12ac1a587120ae7f6295524cc1fd6592e1bfa142c68bfce1bfc740ca5c01820532ce6ee131c74a6063ac9cc5d487c4c1a629ea2ffbaa1c184d71cd7a5e277c089fb90ca517d014d6bb27fd0276c34e802b518e9fca6f6d5d0118c5ba153680c39c1f48b83ed1ae700d68b9a930ff2a503796f313b10b9bd25bde430d81e1791e090a09a9dd3d585045c49eebe7418b43f52206c6e8d13e6855f2260bda82757406c30b841415539e94b7157db48be6262fd6268df5b719417b58264ea2b11f66be1f0f50a4536a16a5f018f9e733b9784a80142eb1fd71ade70f6b127b2188c90ba2aabbd0cd68f0ea6397380ae67c7de1f367e33ed223c1de5e47f662b9e47dade6372bae60c3108dc9d3cbd9803663840be0c421004ebc0be0c447e404a999ff4bb2c5548127b18598c2c7e63dfa0e8f70ed18bc8e8a9463e482f27930a01876010d35140ed01b84fea7104218868e431582381f898484626716fd851152a3b1e2591a1ebc4a1902b7945716f7ed16ce55592608295ec27f9b232b7b3aa512275f39437747f1a1dae96fa746e9dca1fea7751e0112aa69a00413da8906adccb613fb9d66e2a44c8e86b1e3366ed0c8f44f37aa95f81f581b6551f29e79d0be81619c49f78a510315ee43adc0423d905c59b01dbb844a30c275e2282b3450d034fc60047114ef0c457afa76f5012368eb74150b9f3affc43a6a4e399d061ead8151a5f2ac596845a532689b55c48d298aac3c8cd5db6245842fd88355ec1c954be463ec9e99278d35edec8c9e527453bedb47e9f241b5046ffb698a31d5997a50aa456760ddf5193187cd3dbd8b75b27c3f4fdb61b86b284cf86167e747326bf5bf15459aad31ea90457ab7294e4420f2e0348554f9e31b888b3a6582e9f1360f31d1e204db6e4f28f756748f87f73cbf87147c9918ef431d6e4c18466228b910081e14adb4b118915f2dae43489d01e84a1388ebfa2e5072452a0c3a4c762a4ed9b7baaea74ec6cc4e3f6d84d3796c096ee1ffa7ba1e8f1b23fbfd74bc4bf3b22548afcffd49ad25b969c7efebfa6369e522cc28766b0c7a38c38931b31b088d665608bac6fcc2e996e6498878210eeb15369d7695e95dc86a22f55f0144f1fe7f36a1e83f4b9c6599a8cea98c7d69334dc0fa133ded35f94d965a420341915c9db1440f59c67158aa59ac8f023fda9c27b9fa6e6faf5525a401e324bb91d25c709907262ab238939c07a4597f867a1aea61a39fbdfeb67a99e963acd7e0f8e4f8235ffa04ebd5847b001f5abd740e0e722ae0f2ac8380cc28a8006fcf2ee7ccbb6348660824c75cafdc8df96a30137b2171649acab198dd18dc32928bf2553f40ee7b75447ee4d47328b106ea88df08990345c81641c35c5b700d0a7b777991bcf98759e1eab202f23e08e482284b0212b80664cd2ce32c5ae36118592eb8bb2bab8c948a5713d0299255e3909052f1c1231812b95a46e5f55ebb2509590cf7eeac432bf314aa44ba5193c693b9338592b2d35e524acc1bd8b4d4dadca064d9f4b9b018780cd850b09456fabdd6a29ece0dfa4e54d266c8cb292a50c4bc211e2066a0b2e35b08d194a0e544e009b87a33a179731ea24f9623ceecc5f3e69abdccd4e03a7b71ffe2a40571a57df5dcdd02657c155470817a030a5c0b140cf6e3a70b94d849634211b040c6805ca0e63ca94b2e50e5e45c480b5431f2a4e02c69680affa93b28fec3a1b1572071c93c053f5a970cb7e90248a300f3c03917887924bea287cb9af74d99641fba2f9502ea2920115f0429e44933877a942880c9f086b033a003105b0d3ce44393a5fc3b11fb6f2e10b22fbd6f0b83ed543420ec61649bfe5e378856508d72946246398f9516e5105a2bcad9820582080035b112bdc737fe3aafb288e03954557bbe498def3073bac849464de480742cfe63649f07136d04977910379635ef845c05779205a23dcc61af7e09070f7c4008e12c881f102d5b9b4996c8110d6f9519f5be3f48eb95d5cce1bb803a9b4b863c10d00a15c430c9f748904ba2106a4299f6bfdb1de4252c59c8b9143407100ba222f2bbb8094641c422d96c195e2136a63c80452916dab22a65da92d02709ab2d6a88080d23be8e0d5e25f318c67a4086cbdf3dc32d418949ccf420643c14f243b00e2272bc1b92368dfde41b448f82d5987446a8a508de581272b0f3d190c302ae92ff815b014cbf38ff5195bd6cc8caeab10caa64a482bce7b661807a2be54b31fdc9859b66eea9df20986b9235196a60a8f950ce4349d5be40e1da4ac763548e94fda334462d24aa1af990058e64b2658b921732e406613fa5748c898dc87bec8f927e9e0dc0bde1b885ff2def9568f058b6018611247057ce7c782047093de2da94401b03a5744236d475b4e43868aebba9d6d6853e0e733efa99335170e6588ffbe6978770be3e22ac14b04b5c00eae1584f0d1a697cccd49fff4a033321b1500720edfd91ca979765cd2200746f20a9530b647ab2b1dbfa082034ab13f152944a70ef0a54cc0675e437d2b85884b28b082f207bd7ef65c6485d013ac074c8989d78f916df98e64368b7971e9870d6e95d01431b29c1f82e9d878fd31c8eea0872f64a929cb2196b9644bee3ce3809b2d1c8bf582e80b347e732007715cf30ab0e359b31c2ad691069e8a9447adb1ada9550da659c114c78aee7237d32b30246c4b60805462d95be9a549144395380958d7ad675932edbad415f64ed3dea0f3bae129f0b9d87ea1fa20d700ea16833ddcce88ef5af6ed5f3dda462aba3d3408f5ce902b79606162dafa81b335a5251cfdee5ba6ccd0948001d64915e29e38674e302be264eac436ac50f7a94714576fff6dc0a8cf08a49126c3af031617b73df5d8d72dde97f4f50c7648bcc9e84b41e4fd2c34a889a0b4f0755d54bd97b00097ee9359ff936a916d51e5d588c3f2d5d0ec503d520990b10f07dc47d684fc069cf28c773f60bcc140cbaa530e819c650392ee7461f309f7c3650dad1299c39b110f705980ec386ff7c765d0bda0e128e096d04a80bd470b4773ae6552d1d73ef135bb44dc3b13f2c072b842672252133cbe43902b0d02c8d46875acec59853e26b395494332fb97015feb49cb0362674b2b908b2c93820559164535acb3985710aec27e18fc9815371a80c9abc184d160c933d3563acda99c0d927468737579724a47a7b3068cfd3c1100db5488908bca8081c2719244995ec9bd20bce9e84b8fb5a916ed8a85ca9b7cf7cc686d6581658ebf8d83540dc11ce6d74078028e0d8004d330eb138cfeb1a39253aba7375a6cd2b20e66197602f89abcd1b3ec354308e28ec99b35edd1d395b98ba6f31852d1b51005a00d44738fad7ac17a9ddec6c439dbf4f3bc7a7ad71171f1cc7ae03dbd5ba68e496a1c0766543c18ab943c1d39bcdf608de02420b280525221f2dca8d27db92811be1c8f1d2fcd792bad82e3b654d61d5ac97db692e69d1a519b02ebfdac5f2256d94d6fcc57cd834321c1878d9f43801ae3163f121d42a1b1dddfb3ac47350481d952a14298443c85a0e19726c62d47aed010ff4a7032a1fa3a85520ce61950e03c936e7a2c702d214275da43d267bd4055b81baaecb614117c37b33bf03c50161bf3e056506e562c6d95773a49ce89bf9b174ce2f7d41b7df80731367cb5e82b709d5b4884842f6de7b4b29b79452ca180ac80a600a12e0fac09baf6e02415fbd84572f61cd572fe14cf5e946a4cc577fc017cb18f48c5d60914695811f8f5b8caa1f8373eb31118b33b40f394cdc3287b927cee8dcf36fe679f67d78fc44f953aaa091e9e77849ca77aa9f985dc8c1efa3913f632110a45104f598e8fb3c4a067ea2299610456b264c7d96914713c8a4ea51d9f128e4d361be25178dfaa10f8932f087aec5a84a439481fff34e8c022728040a813346e7da3d3106e832ff84c44f489ce179a30cec79d8e79ca0cf0041b7a108fe2180c0f5dc0c1a32e6a097f179947ca131c64823ff3792f0d904b4266b584a6886944951f9b33bd56f94515f48c885461951b9041a32f09fc0042398e3076496cdec31df92ab08747f598b187ec2e0ddbc0c5d14b5c82f630efa6fc2f0a008e52f1b69d4f7fcfbc4d0677c1e559fc537cac01fe38340fe2e3b8dfa79dc24b0e03b9f81a3ea77dafdf548a342e5c7df8cebded82493aad35a0a5aab1963f7beb0564af7fcdc791e379621f519d7cf631154d6638dd63e97a194bf9176d3b1f526208132c99b0ead39430676195226d56452751933995475e732f4c6235a935956847dc2f0457984c1809f3eb57ede9e7317f265e0e79c46bd45f9ed48837e60291687877c039621078e2f38aee42618fb1912f3d302cc89b6a5569f2b6117365d61e204e2a2c313b631a7854054b862a033db7c01f9222294e40bc7fdea61b1ece50dc7903b43e88a710c423afa0cad3ad1a016a1a432600a90208010f127cd0b9e701d1b35d8f214f13365089b3bda0f016030c287911c30b860e58504c470831819f244b141670da034314033c8be8630593ebea87cf1298103081c52e022e4073b6a002581019292810857356419b367c70f2b808049941f6c902190159199468f47c41f018420b39c6844d8818178a22102868f0839799e21e28a46c497c71863cfdfcb1b0e1e2f64c38928f247ab4a153958594ec5c58e9a15d61021e383962436b472f032c30e13d0b0c39b17a0f98105242f201145509f355883c2e8986a32e7cb172bac1d3edc38e325abe23c1d3ba59492a0071e798ce41025870d4fd4cc534ac491a7f78952109c41e24715901ee45079a235990204251d9a76c3b1a3a6f425eb46a02e1c969b8d1c38283abfbcdd18824bea693272610e960a7b58c8a107ce136e82a38b8f233f8e1823679641e3fd81c18a3c1a617c31fe330693790c3e613cc9f4b9b5e933e731c659ea899b2c3dbe60397161c50d3c4386f480e223cd131e8d6829949c1e9d187a79bbf186865cf4f276630b572b4ed10442153dbebcdd10f25bebcae4446f376c3a735934f8f266e30f3745c75ede6ce461ca21cf6a9566b086c3a1056cc5dd6c04e19105de6cf0c0a00b1161238e0d45b33657f9a6b1d4a873dce131f966db92738997379b15a65c124d5b88c0d1478f124080a480ac01346549160b5e4f77cc0c398c50d3df8bdd0cf1e5efbdf8de4ac397375b0a64bc97379b8e413674823a00c60a942d61b0fa4499628630d2410be08001e435840d594ef2ac8bc87ddf1bf82ecb24ead9a86e133c09e04b155216b6e87ee2d0bb46ebb8415aa39e1be7915210483f2db5b58af4db7eb56000e492bbef0ddefa267adfe15be72453e716ecf237ca7e7aa394483b836e9c7409e96b752b5514c9a74b768c9817a4796b9174f5c25ef7584bf1d837f8d84125eb78636c1d632321f4063933d9a3fe3a16679c77be6be5bc8e1df5c47df413e722ee4f3c1e8ba0f21d49009f1bb31dfda7deefcc1fe4e4ad4f0bdae9d631ddb9bbcee171bad765f05290e24dabdc76c15b5aa37aebaf9e25c7713fe592a535ae7a8bef6612ba481bcd34ed07ce8ac62f6f36cc705c34f7f266238c7e79b311e54f6e2304913642d8383d4d18638c316ee3e5a4cda03483bafc3e5241ab56a925c3051aeca439620f0e393650c60b1b21de60e9f184e63525ea4df3ca53aa75e7883aed6350afbeb5be4574f5ed5bd39f631045fc206972a68831489ea8e7caf49403103e63ecec1863e38982795984141ef6d440874a9c394f0d281248cb9f29420c31f344e797a7f4685231534eb43019e395820e1fc43c4df918741b5267eb96a5cc93f4c2edd1f2665565aa40af6fce2de59cd21b84a3945297b436f3f4fa42ef7258e9b24f2f8fd2f3189e5b9f198a13b17749547910bc56f8fb3a1721bb97a7cdf6773e71a27c2908d30f74eb77bc1caeb3566c1ddbf9a5e37c67ead63f7104659df925cbfc82c29cf2682d93b1fe92b38ff039e835e75c3b2ecf682544af48d83fb1466b18e7f1ebbadce52e8360969abd7660f865fae50c829d5707330882b4c6f237c55a15ef77b9d65cbf16d8a175beef03c1fa79ce397b8d2e85b0129ec1718ff05be933ced839327adbc7368338f6552a05822008eb66963dcb64f0033f3a54b3d758cc897c0b39d1587f688c911df4ea5b682ce139d6553067d03b10a41fe8b239e790ef98cf7c0bf94c36e45b68943928f3982ce6423e14c2c412a2ac4830ff64e2e79fd20b8993ea6322f79e28a7ed44edb3d79afd84f54cf5d9e7f87989ec30f104ad650f45ae054d2f244e211f13ef6b514eaa149805b6f321b1f642e2b47d4cb40fcb1e8afba8cbfef917823231bbce20e89fefd063e396753ec3c6a8fa313cefc61cee2fcf2c5fc8e2f3ba2ee31825cac239f67be7f8954be182f33ac6b85ebd5aa71c37bac01e238f1c1eb709531f4c14f68389828e324f1a48e2e1beeebba61abaa01ede29fffac5f3210b5c53bcfd1bb2987a26d23a70869c9d13df89efc477e23bf1f56ec71c53393f982b6058c7b0a63e35f63bea71db9fb1e06fd7dd1436c41ec575a81ccf95e68ae91e1e37f5eb4e9586f73bee0174a9c3d7b7dcf2fcd2f15ecc3d771d736234e71b7c6e7e31b052a951d29a12755848e9bd9d2bcd1578375d1a8e31ae8be075be53fc86f996b9508a9fb1318a7e8cbb65632c8c714faf634cc70f268a89e2d60bd20fc0193accb77dd8283f98284077a233749877fe7da27c9868f4a1c87dae2da8dc7f3057dcbfdbd25ae01f8af73fa3cd82cf8e59706122ed43d1bed77df0c14471bdf32f0441f1fa27dab962775dbed973e760c8a24b91311e3f9828ae2c89168d694aa982caea48959534b04a833d7ff81df7fc61abaab4aa6c5a5445a055d5fc2155804c4392aaea889609c984651215151595132a2b8cbb0e77988abb3baa9dc032bf2eb5531da12a431586aa0b5596ceb3546177c252eb882a63001d0fa93aaa9d00a3f7d151ed0415151595132aabcfa77f427ee4a70bd9ef42073776a1e95f15954cdcf8f5b8259abf33ea6f6d42e2d7954949225d3f526541b0ca825bcfaa3d7f5455554d15a40aea3886212a38695555dd3a2b0c79809caaaa034826295754d9cf5385c75926a5a04818575549155547aac24943a2ce83ef7998afbd6c1348c867e76a763c6ea8ecd8b1cf5084ecd8e51cedb4a10bcf7af532473576a5e73efcd963786376cfe956a2198f7974cea513adb62a90ed955eb63962ebbbde7e1b23b2da08c27a04bc6c13a8ebbfd88dc1f2fcecb3cc7ca5d045753ae57718fb0c43973ac76e4316b84bb4218b6e949f0e6bf77a1541a0b5eba0e8446b178fa0771dee7087bb19767a613f4197e60ed301537f82d664e833ac53d727945234812055704e694de9c4e7d9bf4ec4547cdeb33f43fb1ef6a8fa7804f52c879c07b014015272563caa795476c5dd5610f4d8edcbd9b59e41f9d18c8c8cdceb73ae67b319ed39cf2008eaebb613ad4cca515304eeb9b162b9a920e8ad57223fdebef52fa634a3b519c7595babb4d6ceb0c537d32968795bc1ce6ff0651da58b1f7aba9c631dbf6ba34aef5cad3b5189820ba1aadc5604eeed2895684dce415f69e4af757a9dd3710e18c64242b6f064208915a02f386ce8e8f27403f5d02607229ab001c2c35714212169b208d10b5471759d13f0268488ce4e34af09b9918215fe7a4237c8f3313a93cb0fa058005ede52d0f2f7e52d052ad3f6545e297a83dd8c5104c5f99ce337fd032b81305f65a212a8c0081b80a5b00eb33299cc5d7c2e1b653ef5d63a4cc863ee44a73ef6c144019be11c01266e5b652ef34f56bfe81cc6884ad819fa7497c9ea91988971860c146c6fc26531a2124ee5274b78cc89c43df544fe59d08428f312e29e028988fc2b21ce51c61cf4a1dbf9e3ad4ffd14f78c9598b36aa288c52cadc962d467e2906fa5df121801ad75d1d7611e5583da102812f5c96286e0d42b4097604e7d04ea1fa04b431ef39928ffa3b5a13dc542872c64cc416fe75beb2e606e7deac13d7fc8a7b8a5be0a0dcd2f1345cc632e13f791162d0cf44e3ef546275aa39287a75b5be2799ac2c98c36ba38612b31c12f49a5b54d34ed1e0ca58aebd3615205954918c42fe912e5a64cc2d2a54cc2977a7d7954b13e1afa8bd99c23fb0e7fa225fcdc357e72de899622e07a16ad6097a108d7afd31d552d9d59734e4a650c93525aebd4600badb55a4b4b588100027731578296b7205fb7205d6f7df6f29602d512e65cde91f6f21624c773e327e593479be37ace3f2ee93720615efc3d7b89259dcba24cd36a22719eb5343791368db37d9d652870a5fdf7b42af39c4f2e92698426926952d525726952df93cc9e625d236b9c8f50996a1daaca54b5e4b49a2b2a1a8982736bab7d79f5d254d6914895ea393557354b26719e0128baa8a8fa7ca50f45189f8e150fad71358b2271356b6b1aed86e6e68a9a66a2a073a9aea1b51293a9d6b993a96a5124ceb9896257af02747930c7ed1c3ce772eadfb09a35517038643dc7715d366f6e3fcadc7e68b9fd60228b8077d0c521370873b71f545fc7a213dedaf0f1f5c9db8f3a2f5d869fa44b96e324e5b85a2ba5d6ca907acea57fb1ec1f9d778c4173aeb4a3b9cb9556aaa7f2b65eb7c7719cf5b0cd31aa5bd09b7707bee131f623c4638c4dbcbc55056187dc7bef1d9a36f86963fdb80900d79f345962bc18c16103755c78214f9031608c54718df9820524f3c1bc277d56f822050936582970a8da33e5872f51c8d4e913c8f6193454439f3b5d9f3d1a862345c05c0153049627ac828f413a180102067c79ab92d3c3bdf7def0e20b56ada90a03565df16e55407ee8881c4008e910ab948397b71e767e1f654d316e66f5e2dbc6abcbdf5b6fa51ebcbcf550d2c34799cffaaeb5d62c5fd29ac4c1fdc045b9f5e081e3d6e346755db1dca804dda804e522283af55514817a0c5be9a422549f5f9dfaaf8a31ac6beb35ac4ec52228ce67511da1aa578f615d57cf56a4c9293b290ed477d35b79e3f1677245e82de52c5dafbe81a6ea39ebdaf4335b47275aab206c1a8d563a39cb39e7569cdce8b466c401a1b990686aba4a8e8e640c7cd4c4e981073a767c3c404999205f3fc46007193a1c306221cdd70f2960052952c28820177c0842a62a87391b20a3829bd6161429556ba880e0c79522f624b1415941ce06a4eb331df8028603df019ca4799364cf0c67ec3c490e9ab480e506091717ae2719a756a81b8fadab84d6f96e3cb4a49d4ca04bf7261338824091aae751e867c85cfbf662be8560be350841df03908d2a265275ede998100da68187e3efa63aca89b407a0d43451549ba63e6f3cc2bcbcedb0fd9683be3ad3cbdb0e212544d5a03520ba6ee9a569def5d54ba04cba065d6a9a2b40700ae1c503a40af9238c80840dc0b04a7e4709e9a8847459277ed748e2656553f282cfbb86922d255e35ae6c7398e0c064871a4c88f06c3c3011cb025d42b1542e5e931d8a7ed768126801bf6bbcb0f5c1965c668bce16202159667033839e0c7274e0e44c0d1aeac8b9f285cb625363ce9d397a6acc19628e119f770d3a64d4d4a043430d3a35d4a083c3ed778d1aa6ccf95da38ead861d363930a1c3c60536787181179c01fc768197112ef01a4457b0466892fae4ca17db19291b57520a1e921734f82d6563071e2a1ecf2b90948d413caa8458b590a572b160dee090018797540e214bbfa57204f1794be9c8b2e7b71495153e63a8192da91e747af020d50308a92a9bd4f35bca879035bfa57cd0f18183948f3d417e4b05a9c1c9ef13a2d84ec81224ebf714922c243208e0f71412409ead03ac18160e7e4f25a193846bcaca66a5c72a081d7e4f2991c1f68062e52a0f8f25409668d1f93dc5c446e5c7e7df535ff080f07b0a0cd69817905981cc0c1c190b03fa6686293374cc704d99f1c10c203381a6ce789d01e4d976dc1f62a65e7833f5821d279b138eaa202b84bf9db09a384de132c6e98c131a273708f8fdb60e7e7f0b613cf8fd5cdf55e2f793edf30dbf9fb83e5bfd0ec11680df21e431facd420b8b359f378b2d167240e063044e4850023126f872022f31a090e0659be0c3041dc0df345e7045e3098d179cace08f902c35bed4a0e3a7c6170bccb400ab05515ab005fbed821b8e7e4b51e9df5248a49864f05baacc679752337c3ee188d0ef13aa74f9ecfb04339ff709b713e09c5067f6fb842064bf51b0c1230516b0b8df2840c1d2fd4641cc4621eb330a6b3ecf2d15cb5eddac1cf88f6d2b03fabbf51e9deeebaf509dff864ad8c9c0cd067696b216b0f5dff8c580adf7b2bed8fe96796fcb2b4d46a2064e95bf6bfeacf9fa6b7b1972d0a0233e53fdadc286ebbd3a82bc007109daa22379b0f3c64a86afbf948e9df70065fd95f39e203d41902481e7ea2f17932b96ca1829577f6d5ddeb3f3e73d419ff16cfd1d73ce4285e68e9b053f3ebbf8787cf6af8632846c7cd4fdfe8e1b05357c76a1e2eb73e882d2f9e1b37f1c48431632dca6230169aa6c7c17c4610bdc839016188b9a9c73c619e3ac01d8aed1c40ec6220563e9f1d985b8220316aa2b5eae140984afc0c15670c056d07cf6296db014329f3d0b4b61b2258c9572e6b34b1963e5088c250d0b19198730647fc7ed021d62d0755dd7751508d896ca91c34a3153019de942d896ead1030b19339b8e8fba3084fe8e5bca8757056445e178e1d9ea3c6a83ed292c1ba5d3550305fa8c43173287213e7b0e5bc81c967cf61b84986327872b393f60d03325a68639387cee72d7e52ee79c3b0fc0f61419419fbd4d14356fae48353d3efbd7790c80ed2933494835546b70483451a0e86f27355ed7799ee7795de7a100db532f0871431632883eeafafc1bc2b07fc7fd50becff33ecff3be05c036d4110c2893c6460e5d88825af813aff3bcce5b016c83c08c0776a10b0e7e6cc0e5b37b610b232e4537649045d332da62824809adcffe852d663a80e017ba18da2104c1d0c2768c37b31c68370ed27c0e2130f477dc33b23efbf7815ee8228bf9ec9fe4607b05563e83dff7811f28c2760d1edf8ecf210434f83b6e14b81c80bf867458d2f1d9017287419f2170c7b1a84576f9d707adae8fa2db87315d3e0a058ce4c98a097724a156e9d8f2e4b393c0823e390c21e6b367bf30e4a0cffe61318f1eee30ee309dd179d415e1035e87319e7ea9cfd9d103682912e60338b4ecc1052727d86a7a790bc315468bd29466115db2a9e905182a10b44d4eb5a72985d0f425cc530741a926398bf54997d46bbd79f9f354bebc79c9f146b416a5cb1f3972f49ed9bfe1c6b9716e1c237b61b86d74f7f2c6a50d015edeb8cce122030e536e328c1fc0a3c80b41e2ecc801eb09e329a3a6cacc933249789980b86432a0146f0a56a787c0ea0eb07e64c027b728396e50bcae9b29436075ca0ed0884673a2e13843e829386a0832cb89861d081d607cb051ce702c0da01434dd4d8a1b2e48bec4cb1b971c1e0e3c730b114ae91f2d584fc19a926c92443c7523bdf5d4cea75b16dbd39a12cd61c58e7f9e7a0aca449f2896284ffd0498e9520d74fd5c3fb72b7fdc7c30668600e7d89d28ce238df9d63fffb2e851cfc53ee1a9db19f3ed18353fcf80d122e371fa8ea28f8b6058cf9ea95fcb599f74cc53deac435ee073dd4c40083049985152c39e1786b832f2f586ce982036d85c1868799342c4a7151dc0647959b113038faa057c617129d205a48f1f3fb30c7a2f6f56e47856e47848e8d0a1f34576504d94e8f005c89d243890b6c46941100e63a6f4e843259057454747a5c873d74a52e931addcb95437285b5447780912a58f1022555eb72975bc169e0c91a6871bdce8497383c2658311542bec09d4a78e114238296203a209151782f843e5f6844b0d576f105639f6f2f6e40999275d6a47b727459e50817bfeb44550de5fdfb286bf3e43e9ef2823f69773e1ab086a62fda561ffbad0f5d72985c19240c7c61c2b39a660dd21e28c970a3410b1f1b0e68903824d109a4f951c646eba08b18179c1963fb6117860e136258d143058aeb80d4889103a29acc9ca2302387b7ae4c9f123eb883d2ea4d04212492a28a8cd1c23003dc901c31169449a2b53bee6d888d479e2f4b079a3f19d3f54c937275d643ba8f274e9c18c1129c0c180116ac0f0f96224ca11b7265d58d3feb1f5c604885aebad499dda1193364cb6ccd08ce0e6e4c7adc9d73593e5cc955b46d3973726556e4c82bc8997b7168af866d8a71f953ef5520a9149e24f71ce99e5939e7d993970e6eef3985d74cf65d19e6d89e322555c799ab5c8155c95894252eb58948182edafed29add9b9624a14d3e99517b4566b39ee5e8c73eebaae838f807c6bf3db2ce2e7eedf2c728f45fb398359acdf756016e97be10bf9397b5e07c38e470bca240edecbca5b3ed9c1a42f5e842f6ef8e2050673f862d26ab98b33074f27f6396a5aa3c9a417b4da8e730b662982cec8278f760793ca2d5bf4e5a22f17bdedacd2e56f11b4e860825454545bb4d444584c44512412256a41225197f6e2ef47b5d9f1e8755dcee2d1b3335150ff318fdc2d77c317e18bf0050776e10b2f7c81c12f7ca16932e956eb77f4ecdc7aafad9e9decd9c15ed7dda2b7d7f5dd3f96ab77ec285196195115ca64291293a67b4614e52917bdbd1d7bef6ba2a0fe09c1a35cf1fd98283c504a155ebf1c9e208a4457608fbd74ef6baec0e34735bf26c75d5bb158995d875cf139754f105db2e5902afecc15dff851ed8fc7779bfef6fe842efc3fdf44584f7d7f4288b044a22a2251142227547305911589e2c75c41d48244411d8b47a582a8894ca2bfbf1f4ffd7ad1d3371116283306b068ceadc7872ee52eba84bda48aebd4b338e3f0a8b92c8f0b5b70f05c964ca2ee7179763c3c5245b576a4a9a0b7129745266d2eeb8570e28916ddd71103587475eeebc2171f4841b086a085815c0cbc1ac46104ee2873ee601c28933ac82212e2939356cbdd180676d0a18b394a0a87567de65956a6eb723cc10a75f93439bf26509fd539515624074cbd09d3a9ae48d5add05a6b9d815aa8f3b41b96a0b776faf5ea73bca33b05e4530e5a45b2ae2b92753a5aafa38ea9a72a9c4b9fc00d5d9dbad5a197153a63c808b1c5e0dc046e5441073f5d0239aa1fd949272b85ac558f91b553556e34b49153c418366266571f2b21315b32505dd1030606409eec38d3b4da092c3944be59ffd322ba8a32bb50747de945d5e5ed8aebab13bda29a7511bd746b437b41100441d0891e04afb46ae538d00bc5a9e7bc7a9535a37c6088c30c5c613de8b22265fd53847deca5735c7745756523227ace89bae895ad023bf093ac4845a0cb9b12ae073dcf3fd1f3baad30ecbe1a7e6051e8a17fe1e7dfecba2e0cbbec791ee231df94683d78d5f559255d62ff71578066ff5db08a960b5b60bfe3779fe8f9247b795b52e52da9923de5ecf4d0f1f52ee02435f5c220ba24ef131df32ada0f457953b23545d87bb11a3c92f8bd821808de27da4a76eb8241837ebb60d02021184c267bce654baac23004674f7415e5e5ed4aeb3f100441d05dc807c722cf6380d33d0f7deaab274a98cb90abe2e79d38f51cec73a79abf90c537c5a2e9443ffb502c9ae39449d7e54d49d7cbdb15d57fdfec0a90972b92e76d759622a0eb62b1e73ca6a44beec49c398ee3c6a2d063700efb10f69cc39e1b439ffa2aee1af27319d6ce4171eaebd7e59045375a5abbfec98b6151f6e5ed2aeb436a84757d3e779df30d72f7038f7d963baf8e338feb38ceab53c56214f7dcecce003f8a7b8e1325add9b106912de7b6d65aabadb6daead3a6c4c977b6c675b2a3ca4ac1a5a0d66f4baabed63a6e5b7de642735274d8b2848a9ebdbc5d01d2a264eb8a922ebf53704f6e575ddcacbdbc2d89b224c9ef9a3d32b3d83af104a25c95483d528550ae3aa412a944c2842913260c27caa73c462b81631e01f49965b20041ce8d3ce79e6465b20e7afe1c8b7486e158f4427ee82ee4876311cc63845e1d167af570ea4171e70c0bf3d4776254fd7caf113716ec7cf814acd56dcdb952cae56e04398aebad76be952a6a32697a9de153187cf686c46b47511965db20d105cfec9a5c33cbbc33f14c3c541f5746579fbeedac4e431814c757ffa64ca234e85feb33ae47d5295158a9af50f6abac712f27ad9c73764e1cb8324dbdd0240818a48923e5861f4f534fd2ecb8a107182f4982789a3e8011c0cb5b921d496c4a3126973e946793d3d394419f73441d384192c049f2546330b54406383afc2051648ceda98e179ce5235eb556f73e5ffda8d65906f34bba94293dd2f5f3b93959466e47ae15008a48e2479e21ceccd09547879095384f869c29a283550bddcb9b111c8c60b9112f46b07cd73f2c829e57cf95a9f3eaf552006a501e1fb48c901142eba9731952c0832b6a6848e18c0d29739ebc4ecc15e97a169daa0c5ba050a7289d50be4c9d834d51783a877cb25a9f7a195e3a29f0e527e9dac437932aecd44bd74425a40a097c524a159c4b0fa58a9ac52819f8ab9b30f55132f04fbd0c590cfaa93943e0e26be2be1494493ea5309a2baad38982f27939ee39e5f4ec9e18553d976ee73dc79e63cfa215c11b8dc63c51b4d84db4465f5631c64d85183e7b0adf9e4faf4687f079fb39d7b1855c93427f4d3e34e5639563862e5d022143963fe103103260d5133e9cf041eab182e7a3aa1513e60f7eac36c0f3148eb2825256d29a943fec90f351f4a5d3b002e0060094975e4316722cc1e8a55f1f7a8f3c7c0a8c3e060936061f7ac6687b3ca6c0c6f0839f1faf019cffa18fa0c722cc110a95d213e8788c215d03382f43181ac07939caa88306812ea080a30e3e1f55f36c69204f564c9852ce719f10c506824ca20e36d1a526ba24c7ecf269d2722f59c8314f1453a4d19a0b1735d2bf18dea2b77d2d7aeb2c7a6b2c7ae72b56745108653fcb24264d98e86d5f56a1a2b79ea2b71dbf186e416f2d456f8ba340d13be3277ae79a003ca805a076048051f45aad835a8d835aadb68151ad56a4412d039a899aad353a976045504ce3c683b83f9f3cda154bcf4c97ea970755f0c9d57a01a1071311cb75018f62e02e97dae3e22d33231549e0ac4532690980157297c56735a3a72e9d876576e2e8b7fedc79396b4da3b9d76a13184a4017efbb725fd35a03f27ca0958982e90a1856e1c3c505634d08a3923bafa3d1dc6b35185a60b129305c88692976b6b636a8a36551f08d000d322128938b2b842aa1a1271c3c199ab930237242037d0600324425c0262f7dca247409134cf8b4807d0d0e7e98a0b54044d35a047ad032d0a0e8eaf3dc6b3525a5a6a616289e12a135057c15192931dac04a6b1acd84111b70904449a9a909860d0e3a4052001f1d380b276846d92fce5ad3681b8071f1c8d1920d11cc4bf404c00bb6444100382a7222c5d293a3001081008e0078b0420c505fda03010cb1b3b5952447003515e68f69fb3db98e8c566a60be421a400a82bcbc0a10c400c0ac4413e0049013493fb4bed7326988a402f8c84ab1010b05405165672b842828947ac400ba5c0382ef1427c0a3cfeb6a3525a5a6262320940c4045037d56336a8013037c00ea6f310af9e0003b526c6da467465e8a13bff5e7ce1b67d74c6b1acdbd5693408ed95591a8eba84f93ab2239e0c70152e8e0f35c9ff495020139c0d90999d4802d0858c241ab7a832c7afad64b4ce08d974a17e79cb5a6d1de0b13289b4e1c694dafdf71725524ead7f711f66d947dcf983adfe06fdde59cb5c634da1d659d5c218bc9f5e4a409644240538a037cb0648026a5261405684a3a41800120353535d59a04e041009a8e9a9a00303689de01071bc09a9a9a8a32306a6ad2a0a9896622043f2fd635e526dc749ba80dd614cac7539686c0c3571fd4d9529a1a4d394b97a8ac712ea58ae91afcc4a0b4350d5c884a265d9174dd7a7cae03e39c725a981da74cc29ca5b0eb42f6f035c3b6059478a0fecd8973d8f4a6b61a66fea14bf3cfd7e8112f215d545c7bcf3a9386792b04e3d0d3b715f2d48a2251cf596b6af5d49f5ae11b561c179ba3896db5566bb5566bb559a395d29a5b5b2dc77d334b0adb3507cc151e4c145584127324c9141b61527e1ecc150e9828aa234918be76e396686878dc09f8ead7005f1d66c10390d137fc9cfe3ccc9d684daa8079f5070c602249151ce8a1cbc9f4b99c4c5dd8a23e6cac7122924c1a40386ee9e6bf71cb344febc6ade2abe77122e1717ff095c57874839e3ec329932875907e49340c3020f487f509d24254f4686d06fca2c3371d9f1b7ac4b8e4c0f3f5000e01cfc0fec474f0d2c080c0b268d0467803080c8e0e91682ada7eb9d29f190f50eccb0d523e2dfa1b02a695440e7bb4a8d9c3c3105e49d0e070e1cc0d1852909225444c0b3cb21bcf89f6b07c4b741613cbd2188d9641775afa8db633e4f95e6add1904d2b0e574bbefb7e6caa3e52688103740047900036cca96951bfd617d585a88ca3784996ec7d61bd89d2d3d9d0abaeb91b9f46c486884ce4fba28579ccc00466bcdf0429619d61cd11abcd49ac1877089066dc48024b682b62fb568f8b2030d5a64688881b6a14b240101e97a44ec4b875abe1c743e130ed186090c9000af7496c153a2b91a740dbab313d28993077cc3c7b302474ccc489c3f567104a5d117c7c782ee7a681e7a880558113dabf2d97497d545eb975a7260086b9063c3176488104bce11dd97f66c641d74f6c1440b29b9a33d2cb1263abfd49a23e603a3f14bad3968b4167d5f6acd99439b6923ed81969671e85869c180cf832fb57a60f2c999387c4d9d356be88d355d6fadbdade9a286cbcbd001075e5fded4c4f03583f36b95e98e758c616a6a6d3c757026f9e68727d06eb7925293d38b9b1acea9edbfaa46cb5baf95ce406bacfc96593735525e38699aa70994a6cfbd2393c964440e8a442ec3a0d31c1c415c42dcf6855cd2a5212f314a2cce662e432c930247d0b19770191428a5a45e66626856247321d9bd43ef1d4a442473e92632c840e6f78e6c88689c92f9908c888509a271d3277298cbc49d5fa67d361b4bb81625ad9518771425729a4bba546269c84b8892d686422712e5c386c4bdb5cbbc2312f2d04dcc68284209fb445e43a821a74ae44159992ca459ca96410643d4bbe112912f11372b6b2acdf2881e363759d20b006a39b7d63ad55b0b72a391a572e35a8ee306bd9dd2f5d64ef1f3d65ace5aa59c0686277a794bd3e5b712b76505474993844ac944ad354d916b6b4d23e46badb57268f6a0b1f3fb48c7375d1e7d5334a193a160873ab4365a25252b7a2b81299a345dc281b4ff748eab398a7b3cca2a7a837fef10345868fefa4ce92ad5c9466f25a5eab7cbb2af7e330865f71b94fd0633f80dfea5a2112099a41cc1007289bbf166c89abfae24554cda9bbf6c1460392e2bc9a4e52dcbebafe7ac358de62e6fe719e35076cde930af210426e877eac86fd86865d75fa9f7500cc59db745e13d19b6c06337ca29ee28ea8931b0c7e8bcfe77458bc7ec277c1e77e73346e7f49de81563742e2cf7ddcfebba6edc527fc3effbb0374abf221eb7d4e5aee75f0ec56dff6bf1650e7bdb73ceebec275e71dbe7fee81de3268b1bb6e07efa0da1eccf9104d9754316b9dbf2927cb6ec7af99e7b53060a7ff3cf31b700a7974783e007c21c742a86ee79910838c3462829f5e0b8a368febeee03bbafd53bf7fc837531f744ed3071d74ac7a2cfb998839f4c8b51f463dcdf3d7afbf78d51f4eea1f363a2fdfc1581b0ce412ff23c3bf6d03f97d56330582c7fe7a0771836caa23c427dfee85f0a632c02fdabe008057af5a2ce31ed46a8ce43eff2c300bd3ad855f073387315fbd47e75ebb4565a8bbc6bef9d55e9b44aa7d75ef7dc16c1904550d9e95824c24b3de87384f244c03ec6bc0846959e8fdbc8af83be6945dd08faf53dfbb1c8c6ee58e47991753b427d45de0855d459979e736efd8ebba81ba16846d641284f8e7274d0167123d4e7b488730fb9af881ba13a5a033fd3fc20bd4fccdc5b2548bdf776576647cc4582ca9777efbdf78c0c5e1725430c21220d123598f101060b715e30c88f8f1d6848024e88c30659302f025882805287cb2667cc133632a60a0634706e908204952a1e154f10152b4ca54907c40d24687280c11c1bf20cd96043a6cb0e31b8faea9c685efbe2214c07069202a50a18a3eb899a317e8c6882e5e9baa087091271f8dcf082ede9566ae6072cc549015edecc90318325cafaf42ac791c6fccb55e7461afdeab33b47cbdb153cbfb5a639adc9fb464f9fe9a755af32bb77f4f5bd673e7433238412c188a42c8d79f87d4492d6629ac843902896a388ec47e9cd8ced56e66b3644437197f021984da844331f222212637c3e7d48cc4011964a115929f51ed1b8a3a826f20fa4b5128862398ac8d25ae75bea3d0a73180d5dd21a1d25add11aaddd38d6e8122175f980792e0c970d193c64b8c8ec40858c0d646c487a793bc3e3cc19298590613323e3453f916e9a8e58d3bdc934a72b71e861cd9218ec78b3a6ab8a1c4039a4dc20e6091b0125f60536bfaaac00565992f7a4619284113858e98347037dee7845d9c382d716191b7180985d8ceb10716b66766b8c96a1ad31513abae5e53157de186f7c7913e3474c9e0e8ee5c1ab418dae2f6f62e4684d733157c41c992b380904a09ba8e42b37964d4c19c219000000031600202814108884029128894355f60314000e7faa465c4497c7e4410ec4200a622808196388210610608801848888d801ae3ed5a7f94fbc40352081ba6d07f144a06d8f277651e86968d16e1b9f847583b5c33c461ab2ebf6eb3314e3ecb34aed39fb2369e130bcbc3954e6804d1cd75bdabdb07f013210cdcc132b50d7a8c96dbf226b7309a524e4a90bc3c852132d66d35793a75442d7252d12d62ed5132b4419933213666324c9484804d13f5a503d7908802153b1d55e89fd9e5621b4728870d655305779e704cee8c4c04e4bc735c33e3739f727b11af6c417da28a8b492a9af5c5a849e9ebf43b5a0f2b967feb52a6ab219c52726fa53cc737a926013707e063d1e93385f6446602c9753e55893a3f8040fa9ab1650db119ce40631737d688d133c75a85c62e56f6c2617b8beeb23c8679e0981cf88777b0475f8a99ed377de0076b63c21592c9aeed53f40706fa2bcadafc41c41f5446951b61e45888a0d2e6ff6d379082008bf80a22dab1a0c588559187613e960b20d8d13f02a1836bb4af92ec064366c22590c7db5fa59bf92836573029820ec7df8bcd00564e91a4e682f98a2cef3edf90bf88e7920fedec3f67d23d178578ae5400424eca00d38f77cd0f72aa4e144f5a88b502f8dbfbb640c04cf64e8daeb69ec1c41b2ae39a4b676dd91c6e52f6f2c0c682dcb14180611d73d97ecf768c7f96e5340a9d94ea9a1c2afd1cf75fa2dd0f7d00e713a3acfd3015af34250738e02c324b48f0a3d27f73cc14c9d25d85369a0d2cfa8453a6817a522ef13d8b3a75d1e04bc6a19916c1d65d52f6fd0b552c2717823180fe9534970c910efb183bd42cb111234dfaab3605e46715b2c57ed539803b4894fac741841e1d16d8cd91b6fd73b339ebe53d6d6001fa5e62e7318241612cab12c632b62da5809426599eab83b9d70b7522a3c3d4f50d3d2da7aec43c90d59e3cbf70a6d19d50d3283cd8fdf0b9eb4f6965ca56ad0152394455f4fe866770868ca4a8089ba861c325265c13a25da5f35975ee1dc5c1c3ec01bdce3f21c68b50cacc9070d43dcc2ab6b61241951b63267c3c98dd110070e91690ebc2e458fe603f9c1344807191727a8000772579ecc3c129830d497ced21019f89a4101977b06c0ae2f8b40f39709e68ba5d5de646c778ce2012432b7b205839d222ee45f9b54cd628ef1244c7f409308a492765ec42f50401d9517e750393edb49935fb020b2d32290dc9856bec97ac213ba3a0ec6a6984190d9a19556935b933f4dfd80162470913a86d7355ef26f245b5bb8d3cd770da5ace92ee0720bd63816e6173b574aefe015f592b0ef2a550f23bcdcf98bbe673944807bcb3d89a5e24a69727aeb0cc8cc5f9c228ca2210e50fa9b00c81b49b88d50de5161de2439ac388d06f44b19a872e4006574eccbe51e1b27b45c47bcb3e663fcfe6c23c3bbd68dc71cb106e05f268afb4395df51fb6d338dcb3a92378c99bf4f033c86aef4c9c42efe62a6166c77b368b20cc4a85b51fcdc2f32f8c2ed2c0cf04cb5409f97caca4b3a627a3d3754b4368008575e4c5968691ca352b98463a718d287da990c872a550954a87982499522fc70114b62aec974850d67eede4738fcaa746679e62955cd9f62c19c111c0a473d5670b6f210405c15b7bd9bc1eed140d9a6c67cf9940a65f5c467b62cd95f13ba0b0d08b2b7d82d94347fd98769a1423367b044c27c313378df7bf100174cda0010bb387746eb6a22a28815d03bc50b7e744780eb806a8bc0eed19d017b079ced57e8fb36255e45e4443b68566899f82245439be952ae2415f0bdc0b288dc4f8ddaac8d569b11734a69d130f4900899b83bc6cbc31ae4e6ea25e6dcd22085a00210d419a1a679abfb6261fbf8220d091e3463af9374c9fcee9dccaaddbeecb5be320a6ce80a6f81facd9af0b2af1d41d5c33501e8ca6ab4e8f3cd2a6167c0d5c9bd0c2124b5dd032356b52b6d7b9e2993fdf0a0b649768b3adc8128a315548fd0fc5a23388b19b91ca394d4ff66b6bc007e54036eb98d37ff8e1914442c40c5b5e4277c181a2e1a4bf97cd87d737107013c51c4ee8109a9a036e0cc64bd5c214339bb91dd08adf522d24f937421c783409c126bbc70f0e53597434beb1970f26c95c660db9852d073886040fe40c96462923854bc965f647bbc6980195ae4ecc98b4334d8c1889dacd5d3e28ba3a073e51e9777fc50b9ff3372b7994451d4c7856a232726570b276d14897099ea1523ba43d55969c2cbc943e84d167089d3b27213071662e5f070a11f12473036e2f699383ecd860a85ce673e91604046d81433a848e375b61471a58317fe987a23266303d7b274a018828968b735a445414ce1b60a327c02e0a86e67eb6ac863332a94e6f687b6f1f361f70f88bc4991433ceea9c1f11b059b3f07eac6a5b026b0306473aa9b38d5dcbe0be6ab15e655585c92020bb09a42bfbafed6cc86a764a5f0eaf12b51f8947a565bbf35db12d06a31f42b0e125234ab551559d4034920900606b007cac32dc61690e3be55c1b79042fc6c64b03e031e0bebb5209ec59beee1801680a7c2b01993970d66c90f7880fdefebaada35d4c32991a4785d4fe558a01158359491cffb8eab2311c71496d1371d4ff1b5f4e58e65468a1da471bde8d759601af6b6cb73636a52989634a401b889c3cfe65435008404e0dcb3247ec808f7dd981d712fe40eb95a659b147aa63eb973d5c4bc35a89e549b013446756fab287e5f9eef7ba942a87bcb2aec773645bbf6df6b296e776d8e0b56b742460cca143fbe948486ddfed594b0106881fa5678f904d08d4d90e5d05c1e06b6e4c626e1dc1b10247f90662c199b1fd711efa31f05cf0bf2f4a7089f53070fc43adee231d91f36d721c0707d294c39db6c78f08138fdc645ebe2ba4b31360d4ea0eda65a8164b01918426cc126c1f5a7fb5a1e22b70f93c9ee910156f57b5b9ac300ccdd9354dbae80c6d77a3b7106c2bfaee46cbb43f35db4608f6fb67eb71aba6591e438ae73134311a086feaf630e3966c7d117b47c4c81bf41d122aa5e58f04fe68eba07d0b783a2bcc8d57d8fba8ec885ed01997bdd49e4e692f69014dd0c75aee6e8114cc86644ff3b4b8dbfefc433177b0611131eecd647da23500d7099fdd1346847e0e73388674ce487c0cc38ae93a242c36b375b7d9365ab6b4cf9c168ab8d3ff76af8950d02182fa78e60b2c0b1104c1b109168de6bcf368849b8b122c464236a1783f18b35af08122ba80f8d7fa2a7ae57fea33a5a1822ce3a0c29a4bc91c7ab0dd061b89ae265ec4c0c23dbedd9b9c20589482b0071ca0043d3213e1c899cbe8652fc2487f2237b5dee4ca3f770d98cc51cc37e1065cf6f4a01203db74b23edf37123030d21f3c6a6ce9f095e6c709fd005812cbab0c8d027a1a7fdd8f45343c19c6c20f3d20f469394949b1ecc59f3f36742caeeb59c00859a0b21161c0428fa6100a04f64cd84efe7bf18038c0a44f76a420dc3158caff32360c12ae7c8ced4f7f8c4f7f31d482a8dba2f77eec38d0a34e47e7ec8ddfc6901ec06327d9bcc5082e1a68a04452039bced315061f99e7f23fe555aa0d947ff60e1cc2a3bdb75f8dda095033b86fee8775aa37ffaa9da143f476b8d3e2259ae9d40099d52af604229a640247b2ca0fd1c2b90f00523886eaa2bd0c6b25206841a17c80f5653c7ac39c0d6173e3ec638ff63768093f0a67ceabdb8d18703ae7e52a31f588490d6342ff689d88b2a370a95231fb5b3012dd2885e356f826334749bb040944c1111f1e7025986b42ba28eb6280de155925061edf730d04c1a34bcab792f4c4446ab07fd8cecf625128ae0384e9fa23bf1e74137518abc987fa6d5bdbdf97741b7ad0b2cc697befa2f307f6721e318d72ed205d4953b2dbd7fae85bdec36c6965a13b3dc4f9d2efbf35a052634ee2be1a70a04eb45131eeca2741a881b862e1f591d7c63d7dff40185afa8641316c72d68aefd80ebccade57da498e91481e0d011f51b7796a1de4f7c4a3558848effea9147bdf85f42684028979b51ab522a8d5565d841899a99a120995290c9377f4b35699ad811179a39575e52af7bb184ce8800b1c6c2e0d1ec5eb4b9e2fedbd90e1aa4ad5d50e6463501e488de2f1dfa959cfe9833c739641f57b300b683eaedf0b82062d818d963107725a432c0a76982374549f6d2f42685551c1a1da71a70fa35e6c4f68b8cc68a30d0bee769824b3ea8833b225511a111718d6e255f45371d3d15217f5c16ca8410872f23a1ad72f20f888aac27d11ea9139fc7ec3baebe5bb515019e8cac8b39c6102e6f4d5637ac27da8cb0d5d55111daed9827068ff01bf72b93e08d104f99d6a09f1fbd6b4100f4d812d73cada8c44ce09c3e6658954113ecc88fa5c2f068b6a00ef9153283fe61eebc53852a08bdb684e09770a95158739a6dbb99b209951ee11f4f0ab1fa9e1c382a86c3d9addbd6ca113defd943223af070fb8956dd6efbe50e182c8cf59777a135c53cf53204f454810285ca2ba32c5bf6a3755e7dd830120fce0973a29021e9bcd245c89148a8330b12a5bb2eb4f7e11734172dece02546fda72bc9d10b9d92927054191442372a92a4028581f37bcb9df72e1318473d958ba64bc69f440e7ff76e3c25cff8dcadfa0bfbceac760391165ee863d79ad71bc3ccb50fb1c6a6733a75a88d8f3b380c06975f1faf1ee4fbe6353754832fd26c8c1495e5f4083f06538bca3f4dd8869c087ba9639dd9ef7ec5992531999d956b2352c4fa2c594604ca81b610fb06d798fb59d9d660d21f68844925024a9ed9c93205176cb13597a122bf074e3b08b3d5277762f13c7b9344036a7b1c91e2d94fe6e95241bbbf643e1f486737c32105a4507906b0dc33ffe4d0e09bf7029be3951d0ba2c3eff66cf857d099266f9db863b2c7366b402261101056c5ed0d0c79d79269db3e0a3a71cbcf1e2ae734504b6faea6649a11c91903806575a4bc5773b6c874e5caaeedce5d4515d168a23ee9645242eae5e02111af734bbfa8b098aff9aec84509e1205515bec07231ab37e6ebde9e955b8ca16fc1e7a7e427a65f5c03b57014b6e7e4e7c61d12b0bcf380d3ad61542e2109262e922a580dfdbe9b5a49369b3ea40c7640732d46d539a3e24e810168fbd519b439d893fc77226dfc80892b9aa8a6f18baa73bad462c1da1e75664a5f4430a897b69d2e74923be360976dd5e4d31aa4aa04fd3e150f2fdb5189632563f065dbfeebfcc3208ccec3a0672d37712e41b5b76f1404c352b673e1ab49c6fc8617016bcd53cdc9c2e6b61f4e6eb7a6f51f856d546c0421d350646d5419f8739dfc5b066e115efb97edf32eb345d7144b68319419d88333909cfa8ca4b8298d63d9eaff4668160fefae3a978f5d865ec65212b2adab4bb477bf45bf8a51490244183e09e1addd5177ee976d02070a24ede7002f31db64442ff0ede86fccf642904fe26d8e9b57361d36082b137a9078d8ff8625292cde0cea1f9be9229ff755272fa7c8b30b678336713b384e313abbc365441fdd12869f10dbd734db2ec48c0a0da197ced143ad83e451e186f5bdddade92fe48329a2a48372d430f4ccb22f2ea562e1bd92da532ebf17f8a9bb02fe23b86dca0a3523e91bc8e9ba14d9253cf9b4549528e4214ca7095fcb237988d3ea2a561bda4cb9b1214dbba295deca929043fd172ed79c11052bc21a8b218d141c0522fc52446adfc1c08f8d6ab67d857e6ef6c5958d4e0ce73f4a570b5400c5b61d599b44c34c107421b63d5203b2b56d29b7d8aa3b3f1e2b74f8bea2d1344e724be61c7b7df0141858a6930b4bff96dc192bfd7b0f14cf27545af1b22e950b7e49ef7e2dc604f6f96836b145467146634c0b9d9a7b1b5359afcd92278d106a872d72c95890764e34dbe4e72de6f5980748d9c25de2b0b2221ede4faa0831581efa904002eb5f0a5f4a4938ca6389a496e9d24123f7821d5255e5c4a40ad7530c255945cfc559e00b2510b81eac3fbed6fb837727a79a25f9025e00310e6dda132b81891a39e4fe717ec3b051af1c4ba2ba7440f27fd4806a0b751dd1c9499ddbab4e27e9274186aad591b4684cccd7ee4d6f31bee16f315f5f5dea0982debfecc3819f21e2b9900e78a212511d52476c23bb85b797904e9cd2f40fdcc24e492eb251d02459312ea503b31408ff32104e94e1432790a4ae97a783138012e00025a6dd9439141c189c4ee3421024479bd3900e044200b95867825f6eaba5aeaa9f43dfe0cf2b69b2f68868f64c5ed4b3d10b2fcf348bbb1a1af1381b1d00930c75e17778690f8ff62e2a8c83992b2f8ace192c2525988ad6ebb74cdd9842d53c10d2d3c856b84f0d35139969731af0d827672ab5b323be470b3f759400e99b55884b6ad974fcd10669f85854877b71b06321975c4089949e1e84b7aad966c011c56a8902a34ca25b85501bfc51020aaf00457f78c8477fa409191ff5053f3a9b52233d8ac57b8a02ffff768e313e0de9e1d7c0745f0859ea8b86dfeb3e0d69cc6833a65140f148e3ac214dfc577465461b5bd25dc37a1409e947437aaf91f86c694823b584e59d31d3909e8f48dea4115547b10411eae98ac511199a4823ef6d089aa34fb428e99bce6b03e94927be2449cf6f94e306d45c80a309dbcd3a1b4bbb1193f797738db4f68439d21bba0a8d8166c8e4b4c2f91929119d64487affc92ac7a69c59ca639f0b3ee8dd3a6ddfaa3aee33ac1c4d80f7fde695d1a49ff578e280a7df0c025ada2c65739c75e55077fc8cef0f10289b3d6220982e36dd802e7170e69426bac3e9e40a3dce23b4b3d391092229158d049d4ed0e93743e1fa1e050c3baaa32349fdb193095f2f6c5d3e7dd45f5929aff79bbba303ce767e4366e72b06d24aa0a604a0ab310eb7588154321331accf7f4ba2fa9ac92ed55c06aba4746b27c8ee43886a575b127585b396ce6de09298acb21f18a5851df714e52a978754c53a5a7fa53dced6e9284e09d77b2cc34da1a348176bf192a1260b60699aa091e2e00b3541e65ac1852ce02428bdf581c0c0324e3ca70589f42bda0958f7b8b376b82eee6266dc75ecf301ee04fe493735ac2222e28eee5fdf37191c6692ea7cffe122e96816b552259c874bdd7ae25ef9e89896778cdde2240b0a45547c00a87a1eada42e0a5e4bbb00f6d4288825b368f1402f5a09b243cfa51f852974fe8999cbf4af7dbda4bc2f8d2c85a82bb37c32e6e22bcd50cba5bfc3fdf7247f6e1ebddb84fe2b7d2067b6a3f02782a0112340e4eaebc61d7177017d58271d6ade1c827181a18dc3c97468a3ae9034048790fd216757da3289849c79b1b5a69f7e92ab1192352dee79ff990e552114534e3d1bf01b9ea241cf2b4238367b2c439a6587d9d60247c5b386580231ee34438df2a0cbc872416b809e7a92dd7a46c872892da186a73b12c893c90e982fb8c7e2b034f9830dee0a2ec61fe788deb1b21df0c0737110be98bfe7623caab1f6e51d6c98955c04dcb1813fe888041972c08af43649c20afb174dc57ac299d66c3c12891ad29240a9e301705940a8097e25ad723d1ec1685734c8fb181d9663e51eddb06746179715a414fcdf69adb4362db303dd0ff5638c9cbadca7d34ba204e4af6a4548a5630bb8c28124f9e1f71714a293dfd1de3fd42a6192c7e99f480cd6e765fbb13db8d89990f4c722caecff8a76b6cf693fb6f2e1e996097e16c41c84c7ef9c93e6b33554cf6aaef643d524aba1ddd3dfcd9282b2c99ed6aee31d2906621619fe3ea7aa493b7841c9ff3643117b4b3487d7de2257871a1eab9279868a259311b72b930f697400f349fe26471a4c318cb74a751150fc6ca2b857af5fcbd2f2452875e31bd1e649f26adffa9ddca8ef6acf94336b252ae21c557eb96dd113a91db0d2d22a90a4cae6abc859367f2b9e9f14044087e72214aa1811648d955bb364ef2eb68e5116186e23f441c49ae03d63967e354f16cfbe381bdb07a1bc352458d9d8e60c221814a00107ed6835497c69aa5473574731b0c0420f1056aaa5d59458ea4c51306d31c0b490ed89de624837637b4d31cb91f30829b6f33a2722773b241a0213f2dd7cb147251561347de7944593678cf802dda72af394b6fd45bf8537f8562319368205768c60eb15bab1bf8b939fe968a1122c0e9a6411860757f49ba0c1b2fbe9082ba21c7cbf0861fa6dc17cbd181aa0ff4955824474a8b6ae7334adec9d03e797e9aca697ff1be136cb2b7b24dbe011928c16d98cd6652fc432f0f9ed917bd04ec20a820f7fd603893e5cb767290dfc8905df53d9ca13f54ca00f4a1b39a357b3c5ad6b76f910abe3732c071fb756c0a62d729d6b88d537d67ed391e655d76b025503d4dbf0c0a8007dd497cfdee43c9e37544d8898e84bc6329f18c3d51254593007a1ff838c6a25b261683ff2ae770b7101310d18b282d8faca0945a215416c840961470e89273dfae93b0a76a6f4e8700f338b641e8a32943646bad2c81ae5ed89e581b1c6235ffed5caccb53dd4ca64aa226effd2ef4b6d76558c2713960c0ff795c39b4fadb0a454d315089e02122e19ab52bb652cb708b0628e8543d176463901ba87d8b26d2ca0d6015ef4c89cd90905f9349c6f1b23a96e3a1d572d82cd0aa10041253c50a3ce177f3e6d14f5cc589042268afdd2506dda8ce39a53c302cdda8de447cab53fb5cb96db622ee920bee1d577e6ad07e0c17df0b35096d4554c7cd2a72df479006cb7aeca8aa4bb0a85a5f224b7bceb1b4912b9c223d821ba41694504f315216e2b2382bf8aa843ea680a5f3e7aa709a9e5905c47afd78206e2d1358874b0d62bd188d0c646d86e7cced6980a4042ae5e1b50add62080a144e889a5aa7cd896202c0b9adeed4bcf1c3e852d26ece881b3d15ac191af2b58f8498d9e3f5243e1110ebc0543927cb8eb7413277278d44d2360f285bc1cbe83281d496a1e92300123a6d91ade07a602f0d9ca890765426eaa023199215eb6b44583eeddd6570af2d59d58e6ac8586888ce36bc2838d064f4a3481ae879ca015b7aa3d485b62026b7bb82f2952d97fd836c251ca8565a2941e7d88e93655770fe8574b7d6db16df4e39c7c5ecf6f7e434f41cd70bb6a0d848eaed54691726b3cf22275cf85e919794cfb472aafc2833aa87dba058d2a0c0da1c98c87bdba2498df332ff561d38c1f2ce8c7c284343017bf0fdf9e1e832ef0f960147585d7965b813c6a1b04f17c714e5b0a9989402d242c627796f11450fd04cdf05a80e2b419370f47b337a28489a3e8bed21fd3d1f24a8d06149446430f3c9a0deb376ed67f969d7a31d2d4d58970b16b7901eb2aaf41a8d15e52d4db5466e5334ac7a1e5edb08c146329cc1bec98876fe60eb33eb3177313b3ef1e2972d6d60546d07254135e28ac31e86ee41b24dd1049b3d0056b1ff13ca72b064cc581702efd25ae1cb85d05ff7f1b117e5a555895d7493778fba39f14e13a3b6b156ac048e67e3e6555d0e7c4c462cf8de772968369c9cb08c594a8d90c15a2e60b2955f6a121642e078bd63793a17a5cac481e0e33d97f767b7d1655747937a9c9d6ec3dfea3f9131f0b40c901389e457df5390f5929fecac3bf9ffa824b56fb0695ca2fb3ac130eec037724076139184011b35080bef60f338b9b713363146d6a79d3ca6a33ae27cdc3c2d7ff616d02f27bab3d7c256f902f1437b97cfdf2a13107d2ae013b360b1e598d18989a8baaae0061f9af4db77bc2866d2f7325334c3c3aaaa2623370eb1e5ea20298cd82350facb01c599cb5da27430ec6809bd9bb36c74ac157480c880fb1d1398e42d28d4838f741a945017bf7fdd7011337d5bccebc9c2ce9e818c1a1e05134727868866f44abc48c7a346341323dfa85be8020471c00fe9622b0474fe807b401c64abd0278871793ce56d519646a08eff4bca021d250ef84f201eb8cccb6d6b7fccc24e7df47e2710956d53ca47798da0302a057bb2d9ac3c66d5e765ee5c41d6bad9a9e96fabcf219bedd8a3f29250e2e311a1c9c930dc80ede031ec3b0a011ddffcadf8e364ddc53c5f147908333c3b8883d93306d84539aef97104b087dee37b234c694b3d24ba5a4c9ec202ef091aec402630ecea1bfdaa79c7b9a331a270d53fe0351b1c11852d8f28b242626fa4507106c25b92f054b55e927dbf99b9cbfc32e4727dd20c2da2830118f461aa8ceb27f634cfca29129079216bbcff71f96431057f8807463648b321004020dbefc1e4e9adde7bf93a38880c25e6e58f2e60ca1c6c9b88f57b6cf2f41e39b46b4ef335bd70828c16f59224ed188c29258e9272aa5cc780c873b90bc4007da4148d82f3f482515d33f2adbeaafa0d24a20d0f9653d32f02c6bf210a2aeeeb8e55193dc3158455e7cf3b49eb30da3346b77e1cde415c826f9acba821b53450eb4703a26192cfe391d1361caa9101de4a5dec4cb7993f61a9cee78f30eeb8515a46db6b8205780e8f7d5a2882c5f821e711255f0e1fa526157747a39fca62fec2ef05d4e53fb6f071d280335e807d5038de8d836751f419cc7e8b1916b4c0fb8cc36b44a7be970e995bd481f00b7ce28923d00423b19217f3eae4937bf5a6a7083661c85b3132865f5a484658870d6747622d8ea06769b8ac54594cd84cd1c110d86d482a0e760208a9adf62339d9a21da39327b9ac898e0155bdc685b5f56773c7c03e66477bb19abf778daa3de54fcc7a6fd6642088576465ebdff4edfa8f281f90a0447121dc7a4942d339244afb6988818832bed23d1a487f9f3997a0409e5cc50a59762c71ddf2e275473608a7f6540aa17f924328f164540ada63f99d3339be0a670453268595b7b8ea2d6e3cc993aee548fc2df6978a5b9eb21ff4d0f91bba72849be50ad7bd90eebc3332ecd20172a94cac3782c57eaa918748662a0d7ddb7109ceabca9ab3bb8c6039a4429b773e7a7287f05240755e7bf7b04e5e25024570b08e2cf153cc7bcf96b7e219be6c7062fae798f333e8ac9e14f523c37a94e6473da82842f84ab9d7d62551886060a1cf2b1b5a76aa07e1e49e3f08cdbb6b204e133e69fa1bfe08e5f12db5b80b4387dcc5520c9308565523747e481d81af8d3862dedd4844042d3f30b394eb03156836ce0786f4ca1eb977030ea938347953144efb2f3805e004fd14590f447036e0c813f2ce1146f8a31b8efe035941fc5fa6fefda8d4a05da081031e5d145a3f53b121c328a91edcea61ad88e02e6d63f39413306334af5473b2516ba2c9a47fda69d2288b8921ef285f203173e0ccb4f5ff2dadeb176ad571ad1b5ebec2d46a91aabfc70c111453242f9bd6a4a5de07dd87081420b6d0bccdf2fcf41f9583802517f16351b0e2ed8e23e051bcaee5ca854c852bd1703bda495494676919387d0beca9d7172289220954f2421788392133759e4c2b554dd2d31c5183774e31bc29c80fbcba23cc5689bef38c771dfac42e79d9cbdaab52facb9a0c7e2be28058cfe0922fbd796acf1849272c64faea7acce858a95dcc4941b6f986e781ba9b547005d1e847ba9885dbdad102da7051de9f8fc6b0400e228e8f338d2d2ca53c8c95597c767762150b2b0a04aeb52bb10cc4a5997a1ae76b6f8ebe48fdecfb8113086bec099077b57bf2971cc255107b1e7c02e932c44a10175c0f94d93ed464540be399b5e6f678c66cff05e74f20870fbf4660fcad8ee3009ad922e7d15ab12aff6b8b80f054867948fc9e92d017f6df9b13e0197fabe7d50e54d4b9ab3e11d745ee0a5892e57192570f8c2da8b300bb418b09aa83886db825484842484745f4629240db09bf19adb328c8895d883917a26536225a975a50897c314be06f37a370cbedbc1791b50bc7bd856c8839f0ee0c3d63771edf595a9be419b388770bb0de732ae8f143baaa779bfecba816dd3425b9ecbe1530c85cb14d0ae1c1a83e04b8b73fd1db89f69d771a8efead825f2931751bde8b16d8f305970efe095581e4ca3cf1cb95523281a4a345a0d5618ef0f5a55b1168aa3a73f9bf5421f9f5ce07241411e030d97d8c357fc925508814ae646343d57566f65cf6323b2a6ab867644dd183acf73aa03a33d5ddc2307a05a40e6b92f9957a84391229b653fe89a24b5fd054f0ada03f5880b8484797fad43257f9e9a220a104f61761045d8b945504c37b259a498a8a752214f63968d4dc60c1fa291b16cceaad89422ace80f8da4df6f12054a872f837aabaee6946af393a28cd48cfb2bbf95072b0f50a0de617c4de95f7e394ce0d26629bc9b5532477cfc2d3cecbf2388d22ddf88ff0dc47af8ef56faa88c48f98ea0cb9e17de2eab1e74e6f3ce1aa2f40c31e26caa2d4c5f1f8a7636c378d56851c1cbd1a8220d419d83e4c4942951477d3c1d498417de7f9bafec27465b601f33464d545a7ae67e18a0efef780e8d61f4d53ff3d0a001ab196530780136e4c338bff56d342b5c8a368fc5472bf6297aff8a2644933a7587e141c002f0e00618f367dbb372537cbcec64204862200a915284434ecd7b563d646db8bb2fdb5df2b24397a014eb454d44deffc3e06042abbd1e8c9170d2f09a8c8b648d5ea4a814b3f21bcdbc2a95719ae6f671086204f6c4e66b1799ba36015403e1b2ae9ca64b41890417593da98c70aa0f4f3338d4b41074039a4d3e2453a213189390a963fed42415b5e8a3f959d304aa27a3016be5c51c6ff82b6a42801ebcb3901fb3c0af1eba1e2b1417d216a4a929c09075507468e745b9c9b6974dff3c69eb435efd369dc914350bdc1d6b509b127f6176a47929d20b51f77318b3783dd44ce44eac70f3377fff716712631b0c3e02bf1720cf3373c2992845ffbda1c4820c4acd2f8f05203c2de85e30a26c1b16f3b95cb05a48dec7b94c5f19a59c2ef8f4cf74f9c7cbfe975cda756225c7ffa385d5a05cbe1901fcf8c381aecac888592eaa7438f2c82b55de0afae03731bb25620eae2c7f3663b9b9fb496ede7b13c75a76856e9a75ff25b3e0b651fe24bcfd8d4d1674b4c98d88c721a3abc533f8b85cea4faf80d5d1454ae31606b7c93efe63f4d76ac480719a28a3f05f2f7b687999d96e681794c8a6703c29d67edded706e3ae1b7c4f571dc3e1d01e642f00f00e328137e40cdcc715a5f1a5db7ce608dc691ca452133e14a628d3b1a31dc0709a41716cbab91125a5d6c417ec7088af71c1dcf39643c04f997d0b8b98f5cc009d0fc8e68e7655e45205e524b02edf2cf036b2da3e1d98186ebc59fa906540e0b64dc87218dec365a29917ee5e3347cd996b7b5c5431a155d230e5262c45d093dae0dd187c61fbc02056aa0b1254a4de8c77d9412f734e1b1b705b14995b6f9cf9dc8ab3683b8bf5a3cd574f542aa869e7650e5b3c78ea1e6371f9cd5c3785d820cfec8c6b5a5bdeec1049850af0f6ca29af6a381f726f02c5cdfc9373b3e805c37f72b602e563d61c3e2d8d639be15b6567b791a5355f5bad74e5e00a1208cf08db5968ac02910cd5523c22dcc9e72c7b31b6ff824c9aed272a0e9db148ae2f8df5bdf9ee33db98b01f0dedaa81d0e7a23dfad1f1a322a088f20d684ab23803df87a93277368dfd0280521ed2123fdb138e10756d14a489721c124355868790cc27bca3ec6c197df49207047b684681c0b9a7e3c4edf94be2f1dda99359651dad553bfc57881d0448f24e60a3e8d75f501bcc857e30beb75c7a415f22c173f639e012f3ebcef8c801c2c78aee7a4c285d14569f00748033047370ecd4a0e8bbe873a4ce86c12a25b4579bc80c18c89f8ca13f9826766f3e37a97a5ba48ef59b7c1bee9bd9ca87758e08449eebae3d934c902bb7830422bcf35b0940aa822d9cca01256e3d1010451a9f2a13289b82b2a6a7c0c3b034ae17f4f0d2a2010c9079d0365809558ca028d913090f6b4d9ea6be53ae0c5f87ab97565055c6d0080efc3f4eb2ef5f5260c546516fa32c569e6be1204ca6123168e351875ee38467bb17e39aa001e1a2f73f5afdbd1d30d1f02d3d2947e2d3907008ffa85d31320af13d52c30376185fba0f1ddb5e6c6166687ee5b64011452debd5c1f290f8ff88d92a8aa9d34b092820e55c2a6bdf07ee1687220894a8da7fa7066d623fec00b15f8a0297ce23ee6d38e958e05a7318a6df8e072af0b44dc6482eb474b76ceb4f26637210ebe77aa3036a357d37af7087f674888595d753fc21f823665f6132cb31fad4d2567b3ac526f8f574e0b14c61148d58fc09b77b3c7bf61385795d94f8a31d68c1bcb8e416b1e418e01d6f597668c41522155c9c948e205e633e316e2ccf8e14f95a11e4e8657dcd222323db8d71ddd0c081de91632a76060270839c85ad4072402e508dd3168259474631285b1cf43ab4a508866c5dc9528890f0403e9913ad73ec6be77b5d15f28abca2b37ae9828046813cd766e2d401b45020643f3ed16df5b78ac80090b32407942efdf34efcc22780218a0a450b2a0f85727bbb6109a25aac530fdfb7fcdaa1831e72f40efd7bc1956e4526fca073f20c3216380a4110b2f128dc011f8e0ab5598981502900a072fcd6d28488b0247a2d834853055efb5c83763dc9cf96269b6b9186ad69fa955b16f541e80f3655575a9a7533e3c4bf28ed31c38ae3415e9403ab2bb451af9d2275b07107b65b34200de3318a3b5bff02e1873d5d107da0d5ff810a626e9914e6a757f7d8fe394d997ad00345705efd8ca9df8a59ce06d3f36bf14dcda0ace9d024c4961a8ee075f8a1e3d21d0f371b8477f2c96e9b171b4d3161f23c8d5761554ee9ab12d261e09fec2c2c72c531720014cc8c21d23ced071f0a18ddd680c8f406ae9e0fd461bf7683be91ca1a4c9ba89dab41b7dd389e5e011f650d92c55d3929ace9815262222aa55927563ecbbf46ca1e8e704846273a5b52fefe1a3736e47c2aeb94ed8c0d712291cace15532919f92953afb90bdd1284a6cad2ae2137b122d9ca162f95b42018e0035228079977e69b2e89b20fc689bbfc58f39171782f23e4db1cea259ea7973c91ce6dde377dd5c6b4489c8cd886aa520fe5b0508f02fea9aa5e293b07f657237a651e398085792ec0d4c061668560aed4f920827a6a7425e482abc4c88ea1b289924e9a66a24692180c7607a21cb6597d1c57f1e9479aeaaa585a059bd635656818b7022507eb19a7293e9b2cabccb7bef0f4e999253d36501cc7879338c5ec7c0b488c72833446c3986df3cde9bbbed467bfafc7d6f378e78f5b1c22d2ddc7adf4b974b4849091610867bb4e41537bee65121614a28f49d327cad3f01eac8c45b55296d8d6f7c8ce553a0618a924ed3f2b9f21e52a888608b135a991b2d26bf29bc3d3210503e31f00d994260e7fe156a76033b21b735b568d7bb117e575c6454a33513277c500f1756389d88df09c1f1f249837eb91505a25f4c2b0d695c2ca2a0185119e5ceb43f559893722532126af10db79ee39c441cdb0348ae387e3874452324ec72e74a8186d1f983e331e63c4c37bef967465a9ffac3cb50bbe2cb8a6d1e3c202b665e180240a903b609764aefdd90e83a762d4890bc1a4fea13a7869176c7ddeea65f39f35d3f1b9743fad3715bd5ade9ad651a85ae5bbd85ff4d0168289a618ca408c78ad0808c22ed1693bf11992d4e1e0dda21141a20e01da0e82b1f26d821725852798a8d71698d723100399d344e3c61c4874e2ffa66a624216f5a15e3ce320593e0c64e04a4d1a41e0d74888a2fa61d21ec0f4b02f4c112dd741d7a0626a22f04b283a45e3c73b86384fe1e47833c59eb0912be4fdb6a6e7fcbbc27a88185b4c58a685b68233a9f89554f21015cf3701197541f99dac368ebe6c242a124bf1e4ee661f20b012734e455ea70637f69f999c9e23875fdfb90aae61a1822a2a3a2f390e48ccc9b60417dd230d01304c301a9840722af41b887070e10722006cc228cc69899f67298d6fac46401b0660fa899f0ad3c66a88b0cf78a6e020357e27901a18ef488f102b82a8b98f28b50784017b6293d11cc36554478bf11932a9cadd0363d970170fd6131110cc3ea5b6101d6d8ae630bec70cf9b6bd7f154f02e9a08acd14e81334b4905ee826fc67eab33229242ae1e075d635564b2e0237d50075b2106e840dce43d36b7754bfb833b8e552e6499069d4aa4b104965712371993e983536ea23af3fb65aa8925a88b3e07e08a7cce4639a713fe78b8aff3612349fef020b3425f5114ab9fce64c25c165a7317fa7d40eca7580e73ba1d0e598b5c80ac01c6b31b53cb73bc1cd17a74aec06743b91235fdd3653d218a801b420ff1f5af1381b47088980de146d4fb5f97a4d4d781fbe5401a75dbb326669d3916f36b3c387b0222b995480ab7fac63a583983181beccf2d3e8e06efed5cc5b2d6f61f795842f0e6eae29ff4e044b58c2d4947e8502bcee6c4ecb0c2131d217087380bdd922ec5f2243babdd61054fcede0ede73a0bb803dbae3dd7dd52d479ca037e645af9672824c000dda740355adb6ad5b06fba9161e4e56b6d9a1341d55fd245c4e0b19da08452587a44cf4faf06e4466cb004dcaf7575da92924450aa5174189dcfd5462fcf702d98de8d85930e19dc114c050f40ae27eae0f20f3a59327b32f5d906f43862e22725e844f6b35a41f131955a9c4ab428d54049ac4053ba8e7a83d4818c4c764e8bb6bdc0eb4f7fc7264b382820d462ffc1e60af13e330621a77a3278ad96f6ccaa089fb0b665144a358d14823e2462f9f38fb8c93c5902690ae014794654b2724855f1dea39436887d70d5d5631cf051900884c1f06e795684dd98dead2387f4251d66d3be8ee220dbdbe4e70ec0b1c6749b0acb0e23aa02fa6d9a848d0bd607101b89ae7f9767d8295f875f7fbcaa13ae0c3c9955e424c7a3c6f3ae7be108e13e067909fc5e9a47659465b2bf635820cd7bed882fd2d954c3e9f5800298f2579c2ba0817e39514c68ff4eadd6d78957573640fbf28a36830e9f81f9df37fc86b9f1bb97492939c917fdf2e43867941b8e3cc9fb0c5428b7f0a8cc5656ab7590cfadcc464967398e18bff555268fad683eb31298682bd595a9c6099ca9750f3343052cd008495f82bb23450a8c621ec0ef301de00c3bebc41b46ac90baf58aca87a05ba862f3f99ca56b790563adc72f6c60a3dd181a713c76e4114f18884b4c53704e000605bedd43f24140b82f524957450d1774b5e4e23b6c27be0093aa1284871414d5385c26186391d1541c6d1456fb2f1d8522108e8f8aae651e333c74c72be62224fec19421f57aab1f1337e6e128446f626d554e226d0e41d492f7ad9384396149b1345ccc44423cfffff1b04fe593c38f209625124caff6ba904543a1ea283083e98f5884328fec1fdbf3e5d678a6a70b69f9f449a3172e29b28df6291733543e1a95dbb4540b5034318015884ebf9bdaba09ef2ca2dbeaf901e47cd33807b2f580ff2c1ea7c84cfba41aa097ea586ec9bf01df82a78f2b9e850d96d66c4edd03335d6cdb8c727133ef66297cf9c9614bec29e7490b229a62f54b9aa299db33588a55bbb58b2369ec84ccb28886249306069d35b82757553e4857f5af710eda75d0a44eadda4d26ba526aca43921d76db109fc704bbccd246c1725613b99f23a88a1dd045913a36dd92eb14fcf23365486ffe214ac6e6dca705b60edc435c1684b16df140d3ec0f8ad1ace1bb0d451e9bffc9a257ada648cb62a640e40dd1e538ffc52b4d304ba26505d04eb117bd81ff388d636b46d4566ca66ea4f42131013cf2466cfa7b08d2cace8ab32c510c86704a63f4b6c93d62381a3eedda8f5939b42e03c9da0785b7912dc63fdc46d317ece9f1676b37e3a95ce6955c484e146fb392c26327b827f94b063ee6c02b30afd72862669eeaacd3dc6aa6e045cd1607976d5609bae0180ec21d41b610b90258081fb18e367fa9b6bc6865ae5201c703f4971b93687646978cf3e6c5ac63e9830d430e3f48e624854fed519fe44b2aa79f8e60a2ef5c04b52c70b76e23e6a1e2cd1f180703c51b4c67b8927afaf59de240fc713fd16e8a42ad056c9bbc5c54a8e361c0f4acb6e9244641c36c45c1291b9c4b10fa49236fcdc814cf681fb47df4e6d8db887bf94320cffc107aa9db931f1ca70f4567b7d747b5de3b1db5ee5387ccf720673a9d1cdea8b835124b30924b9f7e95969122f3e65ebcc95b0bd9d8f1da3a0b6a34a4608deb4a08b0ac6ad08e2c6f443c95ef12efdc4a7de16d7d6312ab033437635b21cfc744c51e4a8d46eec3307f226477ea4446cd8b5c9b15c3cdb04063b739e6f255b1c8594316f74bcc136389674592db21e9143f49ace8d731608e3522699cd5bb77e695e155a687b42db595e6d9d8c208435b7d18eacbf1c63497a227b4ab9ce58bf10064d3f067fa39ee854416272f69b22fbcf7ef4589b83e4ed767607e2beb8a4869a2b02d4e74b987501317bb11e766158db064130f1db28cf574b6721f7103d215ed32a9fbafa5ec1e6b5abddf79e6ef46d57a3bfea9b00021723f162a53628361361955fedfe1df0e22daff021ba103918c5b4878d5139b771a7d064c0bd27cd539dbb6aa9bd1b63c44a829902e8ccdaff260b76ab20c15e3cada35de3bbb5ec075f9919d4e6bb9c72c4ffc8237d8d9f63dc514ede4c4dd37ead38b4e9934ab617e0bf429a0f5efd2610684a4cf7f799b3023cd4706bf85393d864ac88ce92ddc8fbf7c8235000f9a5dd8fd6e30757b599b4273ddf35144214ea760790b91cdb7e3def979a4f5334c33c6acbad4916db7e42b54d8369a0b44f380c8f463a6c3c0b26d23464c6f2a7ca96bfd44d3685877a01d91b37d33ff815ea71762e3e0d086236ad3076b412011c4dae149b0aae88e266e38b48c6f782d24730e0590043018e428cbcd2a8f093dd58f3e9b4cc54cc880c73d3ea82c1fd5229a70bde7c5dd70968c2dd5cfccdc9f36d62611e4eb0121b2ea3ec7610a112dd797befb1dc365af7642cf24f6815fdddbaf2b60711feef87afbc994fdb76d601329d018f879cb3e6c41cf8a64244723b3f550e07b9cdeb0bbf2ca928cdac9d5db9bf7dedd8dcd410b99f5f85a4c9d6953ee31ebbc36ed0dbf49064f13b25a1e0bb8f7a5b57bcd3b076a1231434ccbb9212b968c64dc4ac473cc2f4103b06ea387b56cb772acd80dc446fc7606086609287eb62f9887f387f0c3c8830330cf957b57e905419dc5afaa6631faf72f12d234f6a054d26858cc3a97945c289f7e9140fa10aa1b2d4a8e191289052169a063dbbf8da3d7f7efc77be8c05d094e292cd421fade0069e8d39ccb54e0251a3dee8fcaef3a89f0b851f87ceca4c1abbd6e0a4d85914df9c2dfad16f1e5088f3be211b1f38b337fc7a63de0c2b104c1c6ccb0982354c66c3f98cf6349f7a7fc8c598fc2b8b412f098dfd97ba07618a1c0bf439618aa909e80a928d460d624f24d3b71373ef5e860fb45861e5de8468caac4965dc841ae493cf5ca5675c5273c6a052d5df16d5eec4fe62d47634db8e9028d699c95add2fde593388a2d0e2d49b1b2925e17257879b52053a4542e893900e08977f0a182db07217bb4247b59cd3f4c90cb2b61009aab72c37e3825e73a496833063d8bcd98d5b8e6cac793273095826f6bf93e8ad95ca5f10b2ffa72c277098397100f245ea8713f570a60db71bdc8f482d368bfbbde5caa18daa92943712343ae1a8deaed3b032c9cbd63347723c03195380379f7d4c82402d80550ad2c5ec3a2942fb75ed43943fe5a0b0c6753fa3d5af1f81ea50391ae47fe2d0601d1d7030c37bb5f618d3e9770bf4ffbb797f8402a41fc3e0f9134661cc65e68fca77b249df4e4887a2e41ac1d7376b2503a9f803341295a14db4e4a828c6a830b81451c1f7a01970af52a5106baf0abcc9ac65a2747d8790032f47a43fad3a2cbd043152c4d7fded7c39e7c104452eafc3d2a20e235fff6303b5586a2ebea4cc6772d271d3f051faa390e6836f0e0048449624c2bd6815e1b51d6df48d7fc1717a4d071d24b95f44c759d00d1dae6a9f86bd961fc952ebf4f617dd710b5ff3cca1491af063a68e4cf48960b0862edc7779d91b293e6ed12c33ebdc810d31ec3b94b86ecaecc4f09a05e3c6c23131864876a149f60bf618e834e7e58eba008133819c55bebd0bdf15d31198bc86d16935dc6a43d8ae9fe6f75f081b17f9e40e8f0658a4f6fc3335c505d8738f501d7e604995c5004dcba8d5b2065103085cfcfa153195a90001980656d4deb57a4004f9894bf40bf885ab4029bba9052b66a8ac47c1887f05a07122cabece0c6c55a6178d426dafbb01cf2f4facc0ea7918410d41081dfbb477570ae317d0cf6ed3e3dc3932d9494bfe6c8491aaaf18e0e6ee438a16c01e1b6c00e186aee5faf9cc132aedbaa87b0f51cb3b2fed9eed1eea1ae18b6b8f083882f564cc313c792c302a77368ace3d039e5e9c28c09f7665c5133e0911d6f048db31f6553ca430df50d9c310be845ad691e646ca46973bc6c6e4ad7d3e1c810e7892948d109ed2308428a05d6ef6fbbdbde529825831c69d1ae444875ca95201f1c7bd0d2ee9b3b2253cbe58e7449bd4f46dc4e09dec3f0b02112c0755042480c4c20e955772339f6e02372ed00a39820d48fc669ad0621e5ad3a19e9c56a0c3f78a0314e41755c7c0d6d1ba3067ccb523427c98f726c2699b26f5102bef29a74de8c6c8b3ca564004bc8991d77d81b6aae20a9d36abbaa038b5b1284229d3d611cbaa80f9d709c9d0d0a5479f7f054ed2ead41c6a79635f5eefb48dd5e3aeffb2b9456a83b7e93ac19e876d26c8a796615abb8f4d639806aa764261903ae0a4b3278bd2141ac2730e3dfc793751334d42a565db8a802442a7f20b35a1792da738560f9c35620a2e1f80c18da7817ae168af597a9b11b281e81919f40752b7e7cc7c04bfd42f95882bc4e8ebb604f21c0239c4567ce55d4be89b79e91a20e9e83bbcf36c885a663032905cad95cc6ed3be973cfe9054000c7014a038bbe3d470c2a6961c050e84b73bd01db2016650ef6eee6fb5a64103e32d30edc7341e98e962253f73acb392f17727d2de6572c8ec4bd2cab4e4e10f62d030fa8c246c17309b3a04d2039164990e3513b4c4c9022d7d9ecd4d2878258c470cfa8c9b9f8b046d4d3a1c0882aacb57fe5c14a52315a702c619619449a4c8279ff746a3686402af540e82dbca669c6c5cefecb61c107ef5bb792572881ff48d950a1ce700282c7177743dcaf17cd9b753a0aebe9358c697b78a2618d89674c954c2bcd2f970fe567405bc9dc8a54b44c15fab193b49081cae911a9cfe24905a79c7c97dd80d0c2eb23ca49e347e1cbfdb6a9863c66e68f4a09d911031f6eb587c2c20493372032055fa249b02807fdd20d6048867d10493f3f86b5836455f539e7573f12e2460b725116b7fb6df21d023e3e33cc7064cd6e2c9a4d8d03e18b32d183b348aeb1d2c794355955f6949aafa9122e1ce88f9f1da74f0eaf8077e57db99d9677d56d858af3a01fae5541dff6c87aed75277bfaee0b5be8f4ef04a561a4e188dbab171d4594d4ae90d52da820a4bfcbc06f844fce388ecaa1a86af2726c38c8c436207035fec682ef9c52b5c4aec1c662a5bc5389013ad9080bbe5818f004f8d40698031bdd795fcbc8ccbb2c15e38d0da1cf732d1d46cb2f501acb0481ed21c24468254d2f74fa3834d6946b22ca291c70172393a19e2d4eb708305964b284094d692577ee83ca3d9771cec1c8f6068c7d2f84d9a4b81568ca661409b1b53bbb2bdc096b79639508c2d8694526c20975e980c5cbb672ad412ec86e30618de1354d369a1b9abaee78b361a39de9cae16a97c6cad9f0bac8c30394a064d750fde982808f399b5ba352056ce7050040d6f1843abb69f7a049803a102b31364c221b8fe184f70d17f82d48abea52c7025a8c02a43e42ff02b2d6ea853bdfa9478e5357e6dce7c4fe1d5f4bfff23980c817cd2179294f2ac2516bf829e94b52d584cf2bcffe92393b93e3ae01bc688b3ab31f8db49565ca62c977da450538679ac74afe61ff6865eee4a4695b8188f77b698dee93ec4bca5c45b9a3e3c63f9c045fb4083fae3363f9320211b57a0aa4d03227327eb7c9ba8a5aa146af4e45e5320a4122ee16a7f0f24f04d058db4ee1c411809acc65d054b0e8623fcf68b5afaac408121fca92546eb98d08811a90f852af4c9f0d3cf9b1e18b3575664c893ebd2fcba0c88fe6a7b4f7c0602589a91d5ad10363988ca790ae34e1ffe97ee535cbfb9aae7ca79ac3309012a9e13a6fe0f9b8ab9c226439140ca910f49dc5205049a0519fe10acc81812b07021269c3718bba99e2e8153dd68e49e40aef0120a7f71e6bba4ffc5d68a5a0464d2f6c980c99af91d33622424c264427ef8e52b48e0154dcfabe875100ed309a6d6a9da66c07693802167393aea817531441183a87d090247a8fabe863425e5940d31532e14537a90740f77990e514c8e6afdcccf3136d21cc40efcac79145192139664d01b4958f894eb9c6a06d013bfdc1a01caed6e8f1d30dac49222f5bfdc6e9321a71755861479409e3c04d182a02b1708f7ffda8c5f87152a103805a9a1b8cf9e44ab47d811bc81acfe2fc30e856ce1f0f8723b8f9742f0ad5a27acc50f26936b188ab7692479fe78a2f3f401fdbd59c9fac365fc88683f01699e9630af340744e6c339f047fa86caf591fd066444021d422225547d1cb5a062a29c3be654381eeb5995a75b4bcdf3517026db143369e622a5c540c370b800bcb64d6649698238113e1bc649310ffde189947197fab5ead915b7000024c38de0e2777326bb6fed23c52da170d3feaa98222c5a80ba8f418a6482b475a91be7d529e52fa36e9ba4c7a0c5ede8c9e7b79fdb7ea4087eed966953a116a0babe4d44284b6d73bd3c3a77c28ff5eceeba2a09d7f0723ab09bd6dc065bcc3ceff88dd4287d490da7e4e330ebe128f8b23047f75f81bf6a0d7c5b81109d301ee3d2eeaedf7574324e0709a93913bc401f82f1b3e548b28078c4c11b8826985180540186ac00a1fdca553f00ee3cf19dfa291f6fb2976aee7409f867a24a2bd249167d77c32e6616cf4b6b2bde7482a5098325861e580962bbc2f7fb504eeadd67ba182558b29e3d09312ebed7d30ae10061cb6f75ea418bd63072c7ae3337e173c3bed9a21f0a69fa3ae41329ce8588c9655e8e01e92683ccd1cafbf41ae997eb4d8301e1e6f59a9c1f0ea7574535097ad06b53cdb653bbbc521656a28002a9c6f17c697f8c1b0da95f2a6245b8fa9e85167f417c4be06d2199aa71c98fdca99b55ee11a0603caa5d9ddd6b32e3772cfe014c34813b0d45c0bfc2a08ad004e450a32168e5bd3316c5ad6e0197bb6b3592e2c5914f16da4e733546aca2d398501542345b54952dd166dbc65cf5b88d741d10f31365ea1d73a739806a20033a821159f3f8e0ca1617f123369f03efbd166721e7b13521a1c213d5354eb19119d5a060f6149d6c48760b61677a4fb3d6eeb69a4a7eac73e5053509f8c2992268eae5a7a417da2065f7ce865e31bc568623c0f04cb7d8c746254e6cf4520a6ca0e15508fbdfd84790a7d965eb14836e7226a36c94c318c5a4964e6298430423ff7c1cf324126ee4954896b71a6f1a00468722d712ab92cc0ce73aeb12ffc37e3ac77bf5d849544a3ade496340df7c8e4405381033617ed5d8c2e20f2af9a2889e31af96e870e6909fefcf5e20dabdb3dd68fcffb0c4bbec3c75fbddc51a55cea13891df80476914e300461a5f7c88e3d0b68be4f367138073240f6d7b6bb4657e72b464c192c99f0df38b3158588fa4ad6ddb058b38a159ddfbcd53095a69f16a7fc3e3fc0c61a5c8545eec2726809f8fb9fc1cbfaa2cd7b19c27e5d94ae1c677e72ca0f2302285d547b28ccf633791babb5aa78f10dc018f19a304657d23c6085f368c03f8c30a52a47f11ead984161eb51b865d2be6fbcec96b98ccce4e04332b4a73415929768d5a2994fe944c7984c39cbf615eb78295c4ecf59537e4d410d69686103157918a0c21bd612040d54218712be3ae2d41d694a26d93e2b11ad6231262ec3d2d2dbe5cceea4ed90d5ae0c078c5a4518b0772575e299f6a36238f43e61b6cf42f7b96d46085672384700faaafebc06d7d931f09ef9d5ba7935c0bcc215e7cb63349eb085be29b9971920330475fc2f1534853ceb0280e389f5373b48a4a45408b3ee5fd608ad3a19a833ebb534a3ea7abb6138c9fae85594a2e0013c8163d4702c6258ce98a33b29dd99fbd9809d69a765917700072a58fa5456f39c5ff840c711f4403a9cb21ae0c7cd37d756a77adc015244b68855e93815b49cfe964c7b3adbcb9ffd038655b7948a16bb3571e374cc8745268f79e6057b47cbdded11a000491b3cfb9203bd0d695e0d966212c7d5015dc64d2b7232c4f2c1306fe1c986717d24c37c0719f5cc252cab09b9521eb5215cb975f11580c05806b9113575788cf000be3ff1f5376bd4d4508c3ed996d3b6181271cddccae952daac266d5d2f3d7fe2ba3927c8bb74bda15f08f9a9f825272d7560f28f2849fa00008fbf03d5ce173ac0b0b5662a8952ea627c5feb0adafd6d7eb1608abbeabd1da69148d1140b29faabfb410959c1646fbc3068382e4c4985bd70cd5ac39596193048334dd59434b86ada103c71e1027b843591ac690eb23bd9a462bac52c9db0b2050e5ff5e69e96cab211e373b38076d243d01e4de3a6aa09caabeb631a61aa6bd50cd414b2d08edf2e02a2ba9f429fef6485a845f39dd127b4869f77c6f84841d126448e89d478a6e9eeadd8578c06203f5801c8400337b34c988a8780de6fad1a21c409d8c315ce296dbceaad48a83498285f9317abc27dc9163387a6a1644411da6488df1542ef07462eba640f4f19d1a36a5c6df444ca8537de2f0c4b80044d154853caa70a21a4995a15201b123faef9797e2a4c669f10cf5a461483af3e2e7c2a712afc0a7b146109f08cef597406044c32f92274218e32a09216bdd9416485c399029008227bc0fc47cdf7b58f0f25c4c0f40afa40b24bfc7f22d2364ad442c17429c8b8507111a0b85fbae85070d3187949989d99242876ea92880ea421610813b663bafc6027a9292044263827125520109578dc596c80d65f2fd02517c5361f0f6947bee5262e1360b8b02bf528f0cc8a88d75360b48815b0a5cf9dde9c39e6f4ea0f75f36f1bc51b8c80abcabd59894be7a4b72505b2fab4383dd2711531adf358e95b003056dae47b86b8a6bbfb0550563d5c3feebe89d37ca572edd36a455a03a4d44e2bdfd5d93b2d3380ec4af3b9692fbaeb28d9661403826d58c7f9ea30d5aa2785d4ad7aa95b478932bc3eb44950208d2a966fa81b6b5e7a01eb69d4a152da724d8afcb538d1a34be7a7d7c9bad139a22f83404ec31ac38605a515db54b74c74b809fd519fc826d296bdbd561364ce3abb3b15b4e05cc1b561315059d5ebfc9439d6e208a7403a4a501ff3331b77f644f7360edb9798d2b8822172f65d7d447532f518575cf09aeb91805926b0a54bab5332f1ac6c16801eab341b43b342f43245b51f4b4549741d44bcfe75a94044864c4c46f5bf2229a09621500b06bfb506985d824a06b6838b5ebb13aa5158c82ffb826cbf0bff14d50ae53fab64606f0615cba1bd3d6491c59502df78246db9130331602772211253a63c710e6f7c0997c6e367ec2ae414342702e3f973c8ebdc456791b83ff0ad51f85a2745ef15da3621a5d39cb583478f6be2b78ef8ed775576ef2e16d974c93a994ff4bd14e53cda896236a30e54a40b1240d5d5782a7fb73ba486754b3bdc6e65c0c5131548868bc5a349df716dfc11d7510b706fed914ad4c35fd846c82554a8be5c4549203e322615ccb343d5a2881404f4b563ab168233ed6d02069042099b193b2ef71a0a4c6dd099b84867983c3f36d20b9480ffdd1e9ef376df1345a85d1ba5fc0da2d5f494b93e3c891a5d2d8efa2a574b20adfd11f6befce486682d24a5ea35f6cefdd301d324877a127a449b321e628674ca47b96e6bb61d64c9a1b2e02d310ca15b61ada7087de5d82ef5481dd3b9afdc38a78fd4370f7c16ba04fdb3218f5415d4b9aa793a5eec8b3a4e3af0d82ef436dbec253b6fe601a36ae9b0fa92d600abfbe0df31eaf439466b1a2172b05ccc7f0ed27b484cf24a41a05af963ae949b244f9e3e3cc409a58154ccacd9c2932e0837f29c34551186916bb8ed71ebace8501a03fdda35991f2eef406447f9d292517daff59b41ae1f9452b01692549d2acc1d6e50bba2aef43edc51c4b36dce25be9fac46b17212224473409b47fc6fc32ddfa4796ef54748d32c1d4ef054091a305edc6f492b012009d86062be99cda7b21c1ba57a5a750ad877d4c3797c6b6b8a23d7c2e4de896c8f4f34d7f1ed50c325f38919b6efa653b97bdd32d0ed1f3016a28aa798ffae660d410a41c3aae190a05dd36781ef6b1f8a8f1d909d515b5f8db9f9e21fc75ab5f793482f3f86e57ab910668d2585b88b1162d4cfd1206c1c12e291ab1d8a629d64d70165e6ab9ac11d52a5d24fe25b4526b5b5c9b7d62bb701d22e335606e0d3702cb6b47b07bbcabf220d8c6fd066e4db6a30d14cc496d8f5addaf6a06a82dc3a6321e84a306afdbfa605d29d63f7b192feb58b01d668e6e0337c92f2837499c34fedd4208bd0e2f7aa294807c5d5920bed8173c17d4f422eb049757ee12e01f36dc8ce892e2acaf37ea1c50cfefa54b96ca4727e66ab23e1561799d41d44b12fd4b009b0164eea8c1f49c012dda3489cdf93cf2c7696d7195f9ad4797cc0a052abbbf0158b1524090e59e58768c1ad38435d5eb41c6b769dc8afcc6f4143ff45ed6bda91530870ac839ddcb9e150328922b052164777cfbcef091468ce1582cb4b0b5c3f0887e5a12c0ed4f687b2eeda2902426c7aade6946ced10437ca3cabc83303183849bd4e64e4078671350ef7806b9a42d611eb133c7bf8becca0b05d49b40264a304aed6453714501028a715754265cc3e7597de5bdbb9eed37bef3b91eed27b97df7abef673994fefadedacfaec8691e1671406a100fc1247185e8d1d270d4d3f594d542d0737944be95612db3ab5d3278b6c49da9649caa113c113b1142fdca02b92b24e11ab4ffaf0495baa50090ba2b567101e3549cf99458acc38d98187286a52ef93929292dcfede7473e833bee94c209c3ee076493a2c744512fe759d14744522da80ae48557fddc616ba22fdfe3a0c3fe85a43fe751860e85a531ab13cee717ee2dc82b08628c82d5fd284517153867cbcf85c355272a5e29a86c7e170b844c737df74f454c2ed7035b386952db1d894045d4fb1bf7e0209bad6787ffd8415bad67c7ffd4418ba9ec7bf7ee287aee7d55f3f71045dcfe05f3f5103ba9ec3bf7e030abad2947ffd06105d4fde5f3711085d695a7fdd44125d69c4265f135713b19fae3b40956c4a76da7fdd8967a5f05f77a2ead4cee1d2e8af3bf53a5b3fea75272b2b65fe75a75fa7764e173e7fdde9aab3dd41bdee144c2d912b09b7334d0042579af1af5b4003bad26ab55aade65ec35fc3c32807424f30c039dd70bb5a14749d25ffba0d28e83a5bfe759d10749d65fd755d15bace867f5d17045d6745a59d3f41fc799ee7799e3624dcee7c82ae331f9e435f4f5b7a9a7d2365ce9c3e8acef419a4d2e6708d81019484872464545afb781a8d46c3a3f452c3edcc13b7a3454965415799f2afdb9883ae32e35f57f1045d65bcbfaec209ba7200e4450fe88ac5fefa8b43e8fa8210ba9a3ea59bbffdcc4fd4c967fdb342c9394a1bfec39bb8dd2cca861674c5c3bf8e8b3837f938c882ae4dbea6e45f6f2236713515af9e4256ba375dd6946cf235fd3ab57f13bdec657ea24e2ef3a73971e03c8b37ddc4ed645127b2d0b57b7ffd041674eddf5fb75e8fdd1c43030f6cdc28abe06083992ebc443a646d594344c53d1ebb3b7913cd9b7aa480bdc9f5a61eace0bb7833eab7a0eb6b415526a8aa04557f8978ef247cab62ca81db407cb35377fa0c34af9dba0d74a32d1f4fd5c00678b29e39b1f89ccd683ea3cd76d07c862c2dc8be0a4d773acd376075d842c5534f9a6ee69be5663d0c75653d4be274571051da97989989f3ec42ab6243f2a10aa9e84687add8c6115e23e4abf6b6d8a6873336eb384e9d927d71fd7c8bdb5db73858b019e1e82489212070fe58a93434641cf9e1c2e10f1a2d4d85e492a99140cea125640f0ce6e8504549073033f624158a61e23cd7247798d3c31726a6834ae3e20489a1366bee1cbda8b4e6a1274b8e1e6104b690219a9c3c4b0a686b8484a551e3c4871188fcb2f5f5cdba7d18aa2f4fb8142a9d90be33ea1a31543bc6f80a9d9ccaa8a74fa9d72d4ec06337b1d9c6d308140a85c2cb6b5ffbdad73ea452a9545aa27a1a9d9ccc6b349e33b88a4dc79890d42dd3c3a7afe6ebfdd55c05dcbe0176ba3c74a974421e8d67540cece4648bc461191c728f84a45b3780e4f180354cb7328c75c620366bad3569b937fdfa795bb7ceccd9cc9a3a97c9ec79ce663ad3b4d8b1cea7665796c866ad94b552f6b1dbae9bc0086db7c53638d86ba5f05bc7381318a1b76ba5da0446e8b552d75ad96c36eb6b5a34a90fad0cda210c6a2845508500f0bbed507f6e3b949fdb0ee508bdadc3a6849f7aa82d16c7febe4dc3a57cdb4f370c075d2f90e6065d2f2f10aad404119af4b6d886c8af670880d01a3bd0d5df766d79cc84811fd4aee7b75f0b9af78c305e8471909ccdbd69fee962078a6ade7b835738bc4407ca7281ba34c9f2f5ae0fbdbfcb330979f90af325954b14f01e313f2dbce269b4c71a2d93f9e1f2cb02ca4edded292a86e3eb6f9a84845f5d4a93c611d416bb96e7896f9d9e726cd602f49679e5b7dbf02d73cb109d86a830f832bfc0fbbbbccb43c126ad52b75aa4d3d11663d07c8d7a3a916ae864b7cc736159a876a71feae3babd3389622d735381d9cb65a1da9d8ea8b1a98a4e31d0a8f5c909ad051becdb675e8eace1f3a66ebd40b04e931d66ca1a8c4d11415c3c34f9b3e7d7c69a05516346f96b53c9703b9a11cb0f337c7ebd6033b799b8dd4c38e3a10718a05f2f57d38ebfaba7b5123728e9c779478492be393d5ddabd56a5cdfa5afb84334d96bba86a820e75a6b338cc43cf6f77d366b66ae6ac8a73f3d0db8d1d25dd411ac3f4b6d8d5e3855b2283565252b2523686fb1994b8aeeb4fb22f74494938fba2310fbdbfe2de91edecf4caba4f9d9012b7464a5b1fde16d9e0a1c1b19d38cb6ab5dc559168202c7ddf66eac5e1585291ae5a93c9725645ca59b5864f6bcbb5ea8433cd6b3ef3f39e396ca14cafe5ac855a6201c7125667aeda4c1c09351db650aaed4d0a7cdbac6a93d9db496d5f986e55b3cd6b4d57cd0d60d5a66471c6aa556f2799533ab39f6653b8655db6a82533daef12f43abe513c4ca7ead1aab5ad6b315ba31f70af251ceb500c65cf1f36bb629d01ff7af02d56d6db335196bfce9efc758b7c7b464ad7cf9e5829bc1440ab58898f5cf5013989f40879eaf5279ca77070172c80b3d4923541220fe729f5faed25a189b3c6c753afdf1fce96786dd71463ff706e610397bc1ece97ce718ba75e6f5f17917d3c0ef1f50b0c5e210a38f712435defe55fdf00671766fc04d5eb219480b355f1f0aab888a184c53ee221ce56bd455426348b7dd40d67401a6cd6a6e4849e167b6e0b751de92f88bf4e0263d35e593fed7c93f6b29ec99ed667f779ebee5aad869a11f0590fb612df6fbbb81410ba9ac4bfbe9ac497b9b5d65a6baff2afdf7befbd8d812ff3eeeecee062a3f1658e31c6e62e0574656e9aa6ec0afffa2a93cdaccc67b414107ae232b8b524f3763b75b8b535b81a5cddc565a0018ac31a9818a7c19b380dae7d61bb7576cabc34dbe9438ff83c51f478fcabc354e85d31f5b915163b75c0079dfdeaba1513b8edcd3b727aed3c1b49b7cafc94c976b3a219afa7d56a67ae84cccf1c18c4207b7104f5476daee0500f659e0cd1d305a85e77b2d912051109c362ccd2c148bdee3647d0840642573d00f1f244bdfe64b355b4040b848697445117f57a3bfab38323b4cf233ee8759a18067dd0eb22de16918c6af8d85304508d21720eb5e9d5e8a1d797de16db643142afd7a4d841916312a1d74d24180842afe3b26a54a1d76b6f8b7b962c42afd3baf4a0d7cfb745a49f1ed0621b1cc0d08b47ce5bd55a9c65fa1a8d010fe875f36d51cf110fdecd237b15fd6aadb5b9892374059a31228c4c154aee5286571fd486203e19cc1a938d1a31c51c56d2a0277440637e30c7cc0d1ff1fce0cb05a60a1c6698288ac4f8c04c05260cde0bd489c722878f2714460d2a4e6cb5b8d6ea566c626cdbb66ddd2a73c2edbadb757952e410a148b34e7810c40407bc12e80b3c24746a46a0368a4e260c1e96a4cab8384f4469424f301271424a08f44616261387d0eb206c6421e9acce283aa92d345385945c540fda1ef45a7b76b79bfdd40d8367da08835b6d825e6b23482a8123826faf7debd618deb7d89ecd9997982bd69816e83075aa2923cc69e38f99bbe4489303cc7ae20b1571a3eaa2b8a262cb9ca11862d2c063368d474d633976c020829e18a2a90fdd9d33f7c84cad78d0c3d1c87c714475686c9c81a144a56e304f2ccd7ba28979c30a6a82106a23683eb637cd5f34cf75c65eda57bf6884daf0629ee8f2365441ef4dcbd6820bed9691c5a425993b195fd636d950a77b2fc63793c934712fa02707e62ca9048ed93792f9b0d96633996c369bb5dfd96c766fdfd9ac7bd6be2a2ade0c16988187cdaaddedddaaebbbfd9de964bab55fe6b3990b3f93bdb081ef1bda4f57675a9989cfbeb40f796c36a7c6d1292820470a134e37db652134b1d9a6d966777b0ddc26369f9e56f8d30ab7d6765b1e6a7583909082306e5e20a7cb42d818bb035ad0288cde9ca0ddf8ac259db4992cc94445f8a05e4ffaf57e95ab9b6103ea14dec06da7b1db3d73bbeb8ddbe0a2f876de7bef35fb9a6652091c66ff3ad547f486fe0ddb969d706fdf4e9b0c5b99ac65b22b33917eeade295b37363ba9ef1b5b638caf798169298842cddb8c264b2a8143e6f86790a120ca857dd118bbd83dad70319bd168e8ed3c6f48487d2dd2d136fc18fa2b788bcb31ebc0c5df6e8c4d19ee2b9361d96c379ccd45ed5ccc6c2eeabc9d268d0ab5a7adfbdc9ba3e06558d6b696b46ac0d6e6ccbc4ce8cd69c7849afde4c484d69090906cb62817f786c375ae849d084921242929295db72f6ef7c29216ecfa9bed32f3857b0bdbdd240a665fb417b98858c07bc59bc1020728418418144475df6cf1adbb785a57bcd57db875eeb603b1c4c46432313131e1be4dd741fc5aeb63b361acb3dd3dc3d97ebab9166950db98c67b2ba399b869b7ddb4bd9db46ae02dd84fdd8b018d0ab53aeb64cd36af2963816789ad3b8934228d47e3b53975e3a037f3f6b1d9ecd9e7c5384e9969cad0185c88c102fd74efc563b3e1f6dbddd76526be32b39f6a160989867491b0968d4685e66ed8a99fac2933a34c4006b52beeedc6f8e9652b4ed3ce6626ee3bc341fb7586abc666a3f1d0f5fcebd6beb825d8eefdc6edccc6189ba629c3ed72513fc3ed5c68d0ff645fdc9e86db9df6050f5bebd6bee176d90bf79c92dd6bc786bd8ff15d3c39ed6cec56b7ae506b8cb169628ccd9a63fcc27d7cead615a2ac895b8b3d567658f21bf9b8bf7e8962bfb68b71ee225d19a1db22d94880708b3d28f61af8d64ff676d214bef78dcd4673829a4a7783abbbdd1cd3db2e2d699d7afb53f79a60bb6f4d1bbed9096880ff85ebbe17ee9bf6c595c1e4f3b6be611c08f8d17ebae6ad7332a01782eb76cddb64f7d123254fc7cb702088f81be8b1cbf082d28da7c3cf702080f88b88669a66d368349a699a58669aa649a3cd4cd37491540247d6ade7ad7319d4deec5be732e85c06d86d38dc9db4d292fa9e324b9b259d49d6fbd6b9fb359cc5ed902ec6bd60f31764f6c5751bee75036f6a903399fae99cc2d72c62b33e0119743dbf314d097a1d9bf685b5256890f406eb6df1cdd56bfdc582daa29be5db37bda21b259f229bae621bae126f8b7cc0f0f54e4d6b2dc6a6df6bfab0c9dc66fdf1ed9d098c50f7e57eb549df5b28ec6a94701e636be7b1e77eb5c41af605f6623fd9d3adafde47d9b09fec9f276ede9fba0dfa09e76ef413760fb6a0ab255ab7a14489373690c966b2129db42facd71eead733024835bf00927f78b3efaec4a90b014967896a4d6767b3978130d33dd1aa6c8dceccefdb9474a7b9337241104357f3b1354bc874255eb85f85e6480fe2417c8dbe49dbaf391f49291565258e56a8195321849105bc452a922cd5a1799532c09c7d6c0032f9642f6b8a6abe1473544973020f9a0fe498b9218488028b89c1052a6c98f1c10e192884c4a061c74c69389ae04553231639783cc1f0a93821066d91f630ddce9942c7439106cd131ed0809ac0316696785187842e0774840d33a7138c42e892940da70b274d89d02be2841333c48d2b2893894228081b554c249d11f4fa49cb83ce5e8ca1a60d2d139fe0d27fc355a9b03884dabf15d4d4d8be0b5dcffba6ec3313749d80cc6cd9cfde26bbdd9c053bd0d5bcb9dcdb68b79b53c5c81083aee7cdd948e6b216baa23797430dbaa23797230cbaa2683fdddc893cb79b0bf136f476733786a0eb59c10d846de9767360581f43bfd94f37878208ba9a2168e44157f3e62ee0a12b7a734d8ed0151d71bbb91c54246e3707a308baa23777620cbaa213303f06d9a3fd845a59d23a653b71bb391d1e743d6f4ea7035dcd9b4bafa0ab79731efc4057f4e670384257f36fee851d74456f4e97065dd19bb3c185aee7cdc13084aee8cd49e180ae678b9b3ba1085dcdbfb9134fd0d5bcb91b37674289aee80ab767aabdd94f2f6e17470e6f75537f61dc6e6e6def07512204aabf5f22aaf632dd93496531548f56510c65dd31d4cdbd7084aee8cdd9f882aee6351de923c08960f27836096ed7346d12dc6eee7140d7f3e6d4a0ed5230810411444100e3a9050b0756a8d0e52af014d6a23861a20489114e4d22423065ecb3c72dfb0df414ee1a193039c3b76071b07e6d22dfbee22d589c1c9e48ef2db1db6cb3fdcd326fea4010800de875dc7ec7ac94125f4737ed1d566a49a29108b912421082aed6188208252cc7dec4e6a555a1b77d57b029ebe2d43273e65796c36fadceb1a0d657efb7396b9f6432b536030ef3310e8350e24d6bbab510c8dce61ce7998592795b0856143144bcccd7a8a4978950f39c5a738bc2cfdc7f66cd9a8eb6b3329c699aa79fb31957b0109236401a597dd9c2874b0e5db0ea187f5419639a1e3c0a12e45e448a18e5e00df94255c5d1141f8ce4d8406587294c7a604245909421431471c92246ca1f9bacf3bde0dbd72527fcc15a30e342d06ea5ac5fef6b01925f37cf1b6aa5700ebfad96634251ac0173a63bbbb00664d77692ee65b9b64f349ae3d96e26b3ba6b5fd04cf386f3138a9b615c28a45c5b08682ecb99f689f64443ed0b9ac3b8249ee64c76c6b5e0838580b6f4345f2fa0399e996ea359dda5cd5c863bbd7119d83e7fbacdf6ec9e3a9a396512e764614c28099b208f8e80a1d168670dc96643aa9db42f7d68341cedac21d96eb89b0da976d2b69ca1d16cb4b3866443aa9d342f341a8e76d6906c37dccd86543b6952eed06835da593b69706834da59ab9db45e502606e30f7400a99261198d86a39d3524db0d77b321d54edad8221aad463b6b276d118d86a39d3524db0d77b321d54e1a078f68341cedac21d96eb89b0da976d284d06835da593b696076606154856a119d2f57c2ac2c115b528546c3d1ce1a92ed86bbd9906a276d109522349a8d76d6906c48b5931664d1962d341aedacd54e5a188c318d463b6b4848b593366566cafac61fac7bcd1d7e6eaac69078f1022644a345c5ce9b20567443d3fc80f703c8bd8b182d397054a5c5434a23ac1e8ae64c893208ca15a2ab29615388086124d442c634cd2838970861e633dd0c579d52b1699afd84757677c86653a2dd60fba9890d5b33f44260dda6b473ea27daa3f6c515baa20fdc99b80c64df8e74816f5d091cb7f3d7a96fdd0af6c513a61d8ad3a0c5dfe8272863d01515334499c2a0ab09065dcf2fe86a6aa1ab19571d2c7e7b1411e75bf0a615b5f5ed515a9d6f5a1d05c4f9768b0adea2848120b8fa760894d8d416080220ce33f8587254a4a8d0193a6a3b04419c5b28f4a40898af2e3568d47608849db69a6f8760d8a92516719eeaa10450cff7c3f8e88fda0e8111e7a91f5bc810f221e477078cda0ec1b153089010242150e26ca6f993e886225868acd4760896384f2007475e6be82cba53476d8fe275da69be3daa17e58bfa75da1e7505c1cf4a9d80c0f7ed10f4943092df0e0389b34d098388f38d77e3c128de78308cdf0e630c8618045430949da2de0e230c86178c2f9b98175bdffe428c4d6d625e1071b68c1ea5111313074b561167cb463866ce123773c698a8ed2f8c9d369a23f2451267cb65e6d746f8c5ca8fa0dafe4289f31418a1953646868409c1d4f617cb4e3b876f87c1ebd4f67c38cb908837e8ce1e249f9eda0ee387f3540d3a78212468993c24466d8701ecb4b9824218c34edb616cbd185a29132f84dffe226823bee87dfb0b1ece36a20b24ce36a3cde8226933ba507efb8bab17562faa5e6089b918b3fdf8b26353db0ffb84c4790a4830499d2d343b8c3eb5fd8124ceb68735412e3bbc849132466d7f40d9699ff9f60796bc1ece5357545d061da133e5cf15b5dd850fe7358e981145437488b1a3b6bbf875da66bedd05b0531b14e23cb5f5e5cb2238615c7d8638db335f10090a94c46a0c15b5dd05b1d32e5334ba3876daeee2eb81a3952af180f1db1f28da7c0f04bffd0120ce36df033c9c6d401bf0819e0df880efdb1fd87a40eb01ae07849d2a79fb03590f583d7065076aecdba114d914c90e0078384f092193264af0cc8e3958d47600f4709e0256a1612b0d9f384b1e7c9d36f107f4fd60a2c5c3cc5188f30492f8e911e4a7cca3436d07c0b0d3c6e1db0140ecd4168d38db9ca4d91228cc0fd795da0e8023ce192c61d2b5c88636c92c6a3b00909df60d492500969db603600c6a69a5484029bf1d2a890455fc762822ce4850409c9190a0824850c26f87fa82f282ea02d382427abafaf627253645b2629f80389bf8211688061f56cc2852db9f8238db3d57b4ecc00344276b87dafe24ecb46df8f6a761a79658c479ca08a327821a05f933c44a6d7f32e23c2524cc485179484ea39fdafe74ecb4b7904925ce332cd951448c99226354d4f6a725ce30aac400c5a47c4914476d87e275da64be1daa07e583fab5433dfdacd48827dfb73ff590842d92dfde02893392b0051167242212b14511a985f1db5b8cb5107ba252b6086be1d5e20ba9078bad6f6721c6a6483d5810719e12e2a32b11d8235e5711e70d8a68c6c6905c8008d57616c64e7bcc11c92289b303f0f08228b1d285c9506d67a1c4d912d50c096d05d5105aa2b6b35876da62bebd05af53dbf3e13ce5050c1591af2585bab6d4f6163f9ced9d1f923279c286e430466d6f01ecb48741618b61a7ed2db6580cad94130be1b7b308e25c02aeb2fa7616559d91aa1a8945efdb59f07046fa3900e640d8b7b360e1800376beecd8b466c73e21719eb23286070f75aa2c39fa50db572471261145cc982c285f49e2a8ed2b949d76986f5fb1ecd4f27a385b4564da701993755494a5b63be0c379290846cb6886aac796daeec0afd306f3ed0e003bb54121ce1e48e912880d9ca1ef88daeec010e7a92436247af387ca9016426abb03c44efb4bd1e8c051ced8b73bf0b5e268a5965618bf7d4511e712307245f0db570071ae2157f070ae29952b7a4adfb7afd85aa1b5228bcbaa575c29b269ad4c99311ece0fc082b2e50c956511a9b6abe8e16ce558c1c326cbb251102f6abb0a5fa7adf5ed2a7e9d5a6010e71b15425c85aeece035466d5721c4794aca94a39cb12b3bd8a083daae62d8697bf97615c44e6dd188b34de601d2a3372869a64b6d5771c4b9018e1e75ed5904448c1ab55d05b2d3ee9254aa5876daae62acd3d9eb94dfae4bea8038d78a18eafaaa0b7ebb6e69a55c7cbb4ea72be28c12b16e8875429c6b6abb0eccd829cedb7559409c6d213f4ac60c42d268cd21b53d17c439063a3b2c79d05288d11db53d27ecb4b97c7b6ed8a92516719e1a42441672a36c83658dda9e33e2dcc2080f4dee341ac4c7a8b6e78e9de690b9644e89f3140d46b2740102d2c68f1eb53db7c479cac917413c8404eae343aaed3a5ea7bda5e7d3fd3a6dd7e594d8b466a566e5afafb9ab6fcffdacd403df9eebe57cdfee5e5f601ee6623e96a3e2ea5c130abbbedd8746beddb73a4fd1a0b63b9667b9d6b73bd07dfefbf614634ee555df9e62992299c22bc5570ab06f4f414c513c774891428c4dcf1d52a4107e7b0a638aa1956a3ac552a4a8ea7c8ad5782952f070aef1502071aef96a3e14351f8a1429c4508c9db063d3138e7dba0ee7ebdb4f2071c60989249183a487de20b5fd4412e7a92a36083a64c4519e9e95da7e42d9696bf9f613cb4e2daf87b38a068e20357f8e8392a8ed287c385b70a5ca0b1725192644b51dc5afd3cef2ed28809ddaa010670a28faa21296e7aa0e1ab51dc510671396149750946ab6dea8ed28889d7695a211c5b1d376145f9d2efd09e3b79f28e25cc2091ecee7f178a277c2f7ed278e564ac4b79fd8ea6c6a659db8ea135627b8ce2325c6bebd84229b9e474a244b28bfdd040fe70958c102240f0e526ca852db4df470b6e0cdcf27c62a4f8f366abb095fa7fdebd40283389ba0439a3a530eedb0a58ada6e4288b3cd43a5b5e431a9d24311b5ddc4b0d3c6f2ed26889ddaa211e7291d5c7c7e60c010aa23a6b69b38e2dcc21e221d2fae3a3bb851db4d203bed2b49a58965a7ed26c63a65faf6124b2b15e2afbcbebd4457e7f3aacf6089e2b79720e27c064b00713e87c312c1a1f0db4b2071b6479c2d51abc456201257df4e42894d69814800712ed1a4eb4804e88b32476d2711c4d912aa63a8ab8b91284531c24edbca9058c4798acc8e206ac2b68819e265c419041f73fa780132a798a5b6933876dac16f2781249124a1c4d93282f3a5cb944668be96389780e4b8038732c91e49d4f612bc4ebb4acf57e2d7697b892b123f2bc5f4247cdf4e423922f9ed239038d3942388389fbc9337a278f28cdf3e626c84588f082341e535e2ab534bcbe2b4f5ed4e626c4acbe214c44ec26f7722e29cc26b4a17473bd85c2d52db9d8a384f1159021cc609a435c88fdaee64ecb4a91c914e499ca7c87ca5f981e68a962e476abb9312e716686ef872b3a610d18bdaeeb4ecb4a77cfb085ea7b6e7c3d9051041c7363b3842a3446d1ff1c3d92acad264cc9b477dda0052db47003b6daca070c4b0d3f6115b9da2dfee34b452205ecbeadb9daa3ad3b49a46ec7dbb130f671a11372171a6199346e5b73b01b19358d31812671269b67e69807fc46c51db452471be544bae089943241854db45283b6d29df2e622962ac89d7d4c379023381d6bc0952e4862cb5bdc987f394952b4bb4e4846941c3a5b637fd3aed28dfde04ecd4068538db22163f3b7260c2a45017b5bd6988f314112a85a4ec5974039107b5bd89d86943291a9b8e9db6377d89b063535a115a1111228e56eaf6ed224488102142449608ad16b125824b040f67da8ff613d1a3fd44f8be3dc4d26bcfb787180b0116222c84d8b78740863086387e7b88ad105cbe86e8faf610c310415f4308bf3d845588ab1058df1e8217a2b78769ecdb9914d974b627c4d24a213d93f2db99924cc56f6722e23c4b3201719e2d974cc1a5f0db99be98bc98c08c9dd6bc9da98b498b696b3665e9eadb9794d8743665a9b7e4fbf62520ce17542162a2e82b8fafa7b62f0571a640a32e45b8143589c3a5b62f093b5d1a766a89459c6318dae113c6e58a18436afb9211e7015ce9829c3364ac0d1bb5fbc9b72f2197924b4a9ca784484351b882491c5151db979638db353c642323578250886a3b13afd376f2ed4c3d261fd38f876f67ba5afa59a9f3b3c4be1d4458e75956435d1f26bf674310449c67c522882208e3b72ff170b64b9c2d11c41711e729308f143daaa2a5c791256afb8722ced64d9526492c28627fb2a8ed1f8c9d769323f2431267127460c20507a1f1ce18b5fd83126716f83489436423e84719b5fdc3b25310bc4e6dcf87f3093e8286c0a41103488bda0ee287f38cb7c40995a2327cacd47610c04e9b49500862d8693b88ad0f626c3afb31fbf161ebdb3f0cad94eedb3f043f08bf1d1543c73e507da8fae0fb60f5e1ea03168ac479e69bf9d0e4cca7fc76f4d8693bfa8572a15da8d7b7a34454880ebf1dede13cc523873686dc14aff8d8a0b6a33e9c2d085b8a1102266b88516d477f9df6926f47816850494c690ca5fa7625a5125229f9ed4a766c2a0b1448e9ebdb958e568af6ed4a4525e3b72b59295d29612965290995b494b694b8947838cb944aa59e92efdb93969db6278d2581258525897d7b1232c99874fcf6a420ceb68da3375e380c1113c68ada9e24c4790a08a03ac01b76d040284b6d4f1a76da4abe3d89d8a92d5a255d25617d7b922f8997d4fb769c229bcad4c8d48c7d3b6e69a564df8e4be25c42e394df8ed3c26de1b8705d382fdc170e0c07c4596694197141991127fc76dcaf866fc75de1a83af718aeea1b67f5ed389e1267ecebdbf2db6f5f9d6f57435d3fc156e8bac28e459c2f5285cef8ed372d5f6f5bbedeb8befd26bc0171960d6fc16fbf29b1a9a948d1d5b7df7e562af7edb71ece25ac37dfb7dbc26c62b6b11b151267198f97fc769b97ed8b88b34ce6b3156dc3265b9d82f8761b56e71e9be9d633eb5b37a6f5ed36a0cd8733c6bedfb7232571ae801561942d63945870d4762425ce1b003a8306073d65aadc51db91969df6ef7b5e9d653add7a7ea1bfcab0c0be1dc948c4593674d9b0f8ed48626c6a5ab14fd74d2b5bdf8e34b452b36f5328147e7b4dac3646d5485548568d74858485c4d924129344e5b7d78e9db6d7be3a45faf61a5767d3abd6e5e54514e26c2693433b5f766c8aedd8a722ce1889a1ae238ddf7e2271cec08e41c7631f2415a5da7e26719e1a26a141ac5018951ad0a8eda7b2d34ef2ede7b253cbebe13cc53b94e850183f63ba50a9ed351fce191813c588440e09d253db6bbf4e1bc9b7d780b560a7472b65bed8a9f5ed6756672cd6bce0b79f409c4d1e86e2e16cfa4cdfd9334fdfb79f449ced10674b3c3194b16f9f29b2298642e3e16cef20ea9108885510283d9c5d281396848d23435290a8ed345fa77de4db69bf4e2d3088b3084dbad8a0080b95b190da4e13e23ce583ea0a0f236f804fd8a8edb461a76df5ed3462a7b668c4d91eba23a6c80c984442a0da4e3be20cc20641635398082ad4476da7213bed1a924adab2d376da58a74b2b853fa8fcf65912671c6c9f1181b3af99d70cac533bebeaf40e713ed5f69910679ada3ecb9201719eb22118e5480d738e18fda8edb220ce2b4c49d4c3a2ab2119276abb4cd8691b794b2ce26c11513df2eaadb9a1ca14b55d66c45936a58b8f3d5a98f4c052db65c74ebb0832a9c4d90155aa80a981cf1d4342d476d9126717e42801bdf9a195c888da3ee375dabe9eafd35fa7edb3ab4e69df2e5362d36be81a925d7dbbec67a5fadb65cb65bb19662ac5cc31199589c4b97bdd3393df6e7a995fb97fbfe2cff8b56f37b13a7756565696d6a73e9c9b48fc7d3b1eebdc5eed6552b557d532d9ed9888b355a69952dc11b666471db5a7b840390e3a0e8963e44b6d7cc4482cc6a610b0818656eae2ec82550abf1d5775eac356f80a6375cac3f9aeb8f7ed2dd6639d5e5fd2f75788b36d44431c1f46debce9d2446def21ce0f6801ad28f1b2a44283dadec44e7b48d1d8a9fdbeea7cb1b0fe6265fd867d91387be0c307189f31393c72a2f6d4932f6db87c600d12d445ed16d2bc4eedd814679fae37fe15f7752cde3bc42bb4b23aafe828abb605481ae3e079330487a44a23cbd58e4441808c61a376d5b73b7d0658890a8509b40488c622e2aaf285ca1eaf366bd420df21e06c7bb3a5ce1f5fd7cf91da6db6a8846fe6783973486d20d6b6cfd0e9ec1bcba7489122458a142952e8a9a2e44dd31d3857e07629caa03908ba3609ff7afe81ae3883aae081ae22907f5dc50e741591045d4508fffa0480d0558416740de1f5d7d52ce81a02f9d7d52c740da1fceb329ea06b88abbf8ee284091f9dd19e9572aa32e3eb1402abadd9ab7082ae21827fbd04891117cf0d8608351e1c7440a4937185ae21867fddc61e746542a26b08de5fcf57d095e9f8d773e080ae4cc1bf9ee30674651afef51c59d07569f9d77364a12b53efafe77882ae4bc5bf9ec309ba2ec141d7a5df5f3f6144d7a5e05fcf53d0154417ba8228fe75a72611b6ccdde328ab4cee0336e80ae2d824cf87303f448810ee14224488103a34298678d31db733cf14b85d881b34a02b88df5fbfe1035d4104ff3a0a29e8fa21ecafa38882ae1f967ffd0321ba7e30fef51c74d0f583f0afabf082ae1f7c7ffd032ae88a2affba0763e88a1ae9f0163d13fa4c4c4c4ceea2b32552d0d9aa4cee4ccfe4d6e629d574e39fe79f3b26e3d7e81a8d820a5d51acbf8e8207baa2c2bf9e230fbaa2bdbffe810f74554afe7525a392f18a4c86c8c89b6eee4124e84dbff578d399cc3d89f2bcf9f5e69ea5987fd3513c7d80055d95847f9d86217455f2fdf51294fc253dbfe4279a5ff25b95bab4e43528ce2fb9894e6d9e5ff213b8dd92bfe8015d93bafefa0b43e89a54085d930ea16b12f0af371542d724e15fe7a011bae2947f9d8331744de2fd751840d01547fceb307ea02bce4806cc8300416690b2479a285f4a2f15c40c3b6f94c0496467890e2a88fef120408000e1b5e44d374d375102b703810be282513096c34b33474e9a379d898453ca43575cef2f9afff0e1c3870f1f3e7ca0038665c4e984db7dd079a1eb0df9d76fca9bf2afe7305227c9d18137bd292786aeb7abbf9e3b84aeb7e05fcff180ae37adbf9e3384ae37e2df2d8fa2288aa2287a077884c49b2e22046e87a652d0d5a6fceb691474bdf1feba073bd0d546fceb1ee840579bf1ef0eafa4a4a4a4a4a4a4a483581ca67309b753c291085d6dbebf8e0311bada807ffd85115d91907f3d8a909c514215456d6701d829ae21286461d8693b0b5b2becb043d5324cf9ed2b10719ed2d2a7cd2220595f78a4a8ed2b14715e97c8c12191a02555bea8ed2b183bc546be7d85e30ac815c4d854041b365bdfbec2d04aad100c137e7b04c42230b602d50a559d2f6f05ab5ee16a052cb04161df1e81a351d0b747e02b025c83ba06797d7b048811100e42e23c838f26741e1541f24590dabe26719eaa61cc92c999aa2e78aad4f655d9292ef2edebb253cbebe18cdbe18b0eae2d6ba8f0a8ed11f0e13ca525488f3254968f848c51db23f0eb3402c00804edd85484152b472b750f7dfb5a1464fcf6d56abd5ab1d6ac556bdd5ab9561ece228442413da120dfb74360695cf4ed1018830058a0b04062df0e0124048c818edf0e81ad405c81babe1d024308040309bf1d025681ae02617d3b047c10e005ea7dbb0a8a6c2ae287881f63dfaec2d24a5d43dfae42520515545041051554500188b3089f085f52842fa9021c1ddfae820a54c9aaa4d5b7abc07b8012d0f2db1ff005080c50d8b73fe0f8802220e3b73f400bd01620ae6f7fc003808082dffe0025360dd1c63eb50174f5ed0ff859a907f400f9bedd01cb07f0b003c23a87f06a2fb16f770012e7104864f2db1de0e5802f22ce2194ca3f45e51fe3b73bc087f354942787904cc4ecd829a2b63be08733097a804b007101eae0a5b63b00d82926f2ed0e083a40e88061a7ed0ed86ac09f3f55dfde8065a7f6fd8438e267ebdb1b20c6a6218e3420e847f8ed0d20e20c756439bcb2650ea3a2dade8022ce533b9290a9c386ce12383db5bd01c64ef1906f6fc0b101c8060cafacbebd01559d435c7588a09fdeb7378087738820660012e710c31043b01043b00634408c016381beecd89429907d42e23c65830fac387bcc8cf903476d5f4012e705dcd132d6e3e7858b4a6d5f80b2532ce4db17b0ec7484b72f60ac5312bc4e4b783b037a385b474a403cd0c1a272c44a6d67800fe7f30e99208b8a59bc7451db19f0eb145701830cc061911e21962e2563d476060c7126c10898a594315b82546a3b03889de220dfce8062a726bc9d015d9d9ef07606183b45e1ed0c3876dace80af05f0e9b30026659f05007166522e808773085e085e9f10bc3ebe6f5fc0d602b41690b500ae05582de00ace9eb16f4f41914d99e0288087b30c8bfa10da11278fa3a0daae801eceb607ab436412bd39f3bbe2eb1403f9018338db42588e8e0c8a324c23c4d90511266e94b0a9a3438bdaae8061a7f8c7b72b80d8a92d1a719eaaa2c46191a32f76943452db1570c4d906b60689e849a3275bd47605203bc5bda45201cb4edb1590c29a3d29301df7a440c499e99882dd93f5ed297ca5e09542570a602968a5b0c5040579f5ed2828b1291314148038a7a0a4ca491c3485b26c51db5108e26c97621e61e105a213e489da8e82b0534cc3b7a330ecd4128b38b7e0c40d9b2576aa08d1a0b6a360c479ea4ad10e879a18b292a787da8ec2b153ece3db5140a290444189b3092e899c043283a489da8ec212e70c7c4061844489974267d4f614789de21edf9e422f055f0a3f2adf9ec255e7291e8fc76b47e167a5ac1aa4efdb51e8310575487e7b02903833051340c49969c834d4a1c834d4c1f8ed09184b805802c250a04a805702be0ce9d9faf613c4d874c9d009449c2d0f488e8206b12112648eda7e4211e7a9aa3359b2b4f43c11e651db4f30768aa98ec81392384ff5d0617988c71a39609ca8ed272871b684b4f458d4c88d0dcb2fb5fd8465a798c7b72780d7a9edf9706641c5ca4d1833757e0852db13f0c379aacb902d74b67614aaba52db1300ec14ef080a1330ecb43d01270cad942dea117efb09c1a59edeb79fc0c37969890024ce4c3da65e9e24532f8ff2db4fb83ac1ea84aa13b010208680b1325f766cba54c63e21719e00c81f2b707c42061d52db0f90c4f9f6c17288e885ce9da2da7e0065a758c7b71f60c9ebe18cb4b4fafae58024ac4a6d47800f6729255b74d88006099d2cb51d01bf4e31efdb1100ecd40685384f3569720510580d66843452db1130c4398522c22234b0b90ab2446d4700b1d37e543422e0d8693b020e70b45236cd97f1db0f502c7e05bffd00409c978a07e0e1bc743c7ef58e5fbe6f3fc0d601b40e90c57500ab035c756a978adc19fb761314d974a988017838e7b20e3df262a7ab10981ece18c8e9d1854cd2b0658fafd376f40306719e1a4ed942f5a88c1d386dd4760308714ed2d1a6071eb0e3202eb5dd00c34ebbd1b71b80d8a92d1a71b6461d6f0805a1e3e7863c6abb018e38db1d76a8f3c88e9a1f3db4d47603203bedb1a4d200cb4edb0d3066c2d24a59347794df6e4272e94ef1db4d20e2bc640210e7a5e052f04e70297847f8ed267c99e06542179896095b409ca7ba04c203876b0e1db023419c4d60fdb812048f11881261a7cd68482ce26c1df508f5498205680896da5e0023ce289d3d7dea60e9e1668eda5e8063a7bde8db0b802c40b2004a9c5b10a9863c3d5dbc2c6a7b019638db455f6cc072644b1e13789db6a29ecf845fa7ed265c1540894d4118b24fd70dd9b9faf602fcac5401ecf8bebd04af12be4a002b21ac04b112c60a4045c419c472792c2e8fc66f2fc187b38cca6bcb1f47646828a2b697f0c319043586fe68d17144cb0d6a7b09c04e7bf9ed25044b1096306cf3ed256c1160ec4875acfa76022c9375bcea7cd501fb760210eb14cbd4d9fa760288b12988320430126068a5ac993ac26f2740b058a7f7ed04e0e10ca24802126710c7239de4918ef2db097045002b025411008b04104546b0635310454648f31bd4854b202d74d4f6119238db407e74045af3650791306afb08ca4e3bd1b78fb01c61acd3266f2781d7a993b793d0c39983228b9c8839c3050c1bb59d041fce164e9e268cde70f9ba1852db49f875da88be9d0460a73628c419f35973e8ca4b0e8c92a8ed240c7106009f2c295e1c75e10354db492076da3d148d241c3b6d27e1ab5312df3ec271ce08bfe0b78f00c419c46f041ece20822082737a2082737cdf3ec2085a3d02d708c24e4378fb085923588d70c5c379044384963b947af83c51db45e8e13c25644b151e64bcf8e4bcf175da623f60106716b824f1f2458894457fd4761184386ba0ce10ced78e3e60886abb08c34e9b876f1781d8a92d1a717600a1630d60e810b51451db4538e26cf5bc79230450173f6a7a50db454076da87924a11969db68b3036004536fde0e7839f012cad1406df3e80a41289bb3a7f08eb30af6f1f80d600b67a005c3d0020ce1f964b39c1a51ce1b70b4089f30d2d1f3ab2fcfe9841a4b60b6089b3cda38311a1d59c5e972c6afb00789db6a16f1f406f00be01fc847cfb00ae04f015072c4ed8c7290a40894d3fa85113e7ea08c4d9e609d363ccc7488d914a6d1740106713c0a468d9410fd61b2d6abb00849d0a602800621cdfb70ba0170022ce1f8c463845231ce3b70be067a52ef8f6008c05402c006101000bc05700bc044045c4796a08a1274ae874e5006ca4b68750c4794af80819564451d0cf1db53d0463a75de8880c2189b30b3c58951153240c10276a7b084a9ca788c471a3831e22474648b53d8465a74de8db03c0ebd4f67c385b403c27720e51a9d1e3486d0fc00f671b55163266028909b9416d0f00b0d3de21280cc0b0d3f6006c8520c6a61fac7cb062dcfaf61086568ac6b78710340abf1d043110c642a00aa12a04ab10ae42c0020189f307e107e19be407e11be5b78370acf2ed207c75aaf4ed2070bde97ae3f5ed20104110be197e3b08576fb0de647d3b083f107a6fc4dc8cbda1faf60f906e92dffe811d9b7ef8f1e1c7d7b77fe0c6f8ed1f143fe0e1fcc1f7c1e7a6f7c1e7c6f7ed1f1cadd48c6fffe003adfe20abf3e57d80d51f5cf50756fd01170fe70ad6f0b0b282e68622c51ece505c6bb62ce9814b8fcad76987fd80419c5920799387cb4bb04e1d21ce17207942feb8d9b264d8690ffa760f889ddaa211e7291c8c567a9459aa0842a4b67b70c4d944213abc3389d228a7a8ed1e203b6d41dfee41d203a507cb4edb3d18eb40914dd14081bac6bebd83a59592faf60e925dca6fef40ab83ad0eb83ae8eac0ab83af0ec03a00e28c2a955d416597f0db3bf8c519f3ed1d5c7540d555d565f5ed1df07228d92cbf3dc7171b303661df9ee398a3c8c6f8ed39b4d86cb1e1faf61cc21c4036c16fcfa1c4a6a81a356caebe3dc7cf4ac9f8f61c3d36be6fe7c08b832f0ec03808e3408c83b11c541c1071468dc63545e31ae3b77330ecb49d832d0eb0d664add1fa760e801cf8d6fcbe1dc7d81aaa3555af26d9440d0e3136459be05812717681264d1b65903954faa8ed388a38d70a25e263c30d7c9edc51db71183bed4047248ea1958af16a84df8e238873095863dfbe81586714ab3740e28c0a85c5a4b08803070e1f8e1ec6418583a7011267ebc6508f466ee028e2414c6dd72089b30489bcd8e123fc33a406b55d0365a71a2c793d9c9f08ad5933f6274c92456afb063e9ca7a8c0c9e2450ad7a03465d4f60d7e9d36a06fdf00d8a90d0a71a6f97a1832680ad818416afb06439c91186d8d2d797444e253db372076da7f8ac60d8e9db66ff0a5811d9ba23a501d69bebe5d83a395cadfae41318df1db35b0d2e04a032c0db234d0d2604b032e0d7838a33db497a687f6d2f8be3d83659b6fcf60ac531c58e71e9b85c9c490469cb10f1fb73adf2e07b856740d836884df9e81954563d1607d7b0619f02c9adeb7ef14d95469cf9e1cc6be7db7b452e9b7ef923928bf7da7b5dbda71edba765ebbaf1dd80e88b3523299433029fcf61b5f5c605c61cf65fcf61b3794385b3f78bcc2105204e7c612e7a9205d40df914345742852db77bc4edb4fcfb7fb75dabebbeaf47604e23cb5c447248fd2471ee522b5fd461067d4d1192c553d284214486dbf21ecb4c1befdc6f0869aab6fbfa1c4a64a6aec1397efdb6ff46c1071563262a8eb678adf7ee367a52af8f61b3c6512db40621b476cc388334e6db7d1a512711e40951c40858aa8d1c2486d578b38bf00b472334454c7471cb55d3576da7d8e4835893306fe3ce90213a42498456d579538e7760802c8c76789528cdaae2e3b6d3edf6e83d7a9edf97066e111928e0d6182f4e1a3b6dbf8e16cf900f100c192850891456abb0d60a7bd2728b431ecb4ddc6962ac6a64a56ac98d9fa767568a528f876356846f8ed2ff6632a955aa55aa9572ad6237156120acb24856594dffec74edbffab53dbb73f57e71e2bd365cbfcdb32c36fff2b5b06cb96c9faf6ff7dcf96f17d7b0d24ce0c983256c8d09fe2d81cb5bd4612674b888c22333bdcd1a107206a7b0d65a73596cfab61c7a64a3f7e7c7d7b8da3959ae0db6b142dd1f8ed35ac6a5cd5c0aa915543abc656d7e0ea9487b392afa7e423fabe1d0323ce53619e2c3af47bc2c7c74f6dc7e088b3089e9f28ca3450d808d5760c74f8760c30c0208ea36fc700832d0cb830e8fa760c86180431107e3b063c9cad518d169f104f142d47d4760c7a38c3d0a38727730039e2c187da8e81afd3d6f3c3007881229b2aedb04fd79576fcf5f582b16fbf6069a524f8f60b921728bffd02adad0bb83a9f5d9d2fcfab2ff8ba00892fc0ba20ebdb2ff8c909f2ed175cf9d4f60ba82ea8bac0eadb2fe0d150d2587e3b8d2f1a6034c2be9dc691469186168d2d1a5cdf4e0348239894038dab6fa7a1c4a64939d0e8d1f07d3b0d218d9f957a91d435634658e7a4aea4e38c19489c938e33883827259392339292336878cdf84a5262c1d6b75b20c6a6494a2c20e2fc014c889730474910bd51db2d28e23c758392283ef81879e040466db7c0d869e739222d48e2cc811964961d56d4b489a3b65ba0c479490e8f2e54478c3fb5dd8265a7fdf5ed3378337a337c383f4da9219095356ff08451db67fc70b67ad61c59646807d7922b6afb0ce08ce00ce18ca11c26df3e63ab5311df6ec1d04ab1b040f8ed1604938016f4bedd021ece49402924ce4942a1545228a5fc760bae2cb0b2a0ca022c2931a9b1405f766c8a0b649f9038379e424de884b9e182a3b6cb48e23c35664f963061579ae421a3b6cb5076da78be5dc692d7c3d9aaf94d71934584063585d476291fce56074255ac1c6af4e64854dba57e9df69d6f9702766a83429ca7b2fcc0b0e12a83c8881cb55d6a88330c1d8e8861887ab843466d972276da768a46a963a7ed525f328e56ea4986f1db6514953282df2e0388334e29838773124f462f8927c3f7ed32b66468c9c8e2926125e3aa538b1393c7be3d2bb2294e4c0c1ece08d85155c84a88133b586a7b8c1ece3104e34c61722788102cbe4efbf80306716e2c880871b1a10631206a7b0c21ced6d157efcacb181d41546a7b8c61a75de7db63103bb54523ce53c024621cd9d0834c143d6a7b8c23ce5347be9618c9a18d9515356a7b0c64a74d27a98cb1ecb43dc6585e5a291539e388391371c6113310679c1167cc39778169e52d2536c54181f2d7d7f4eadb5320ce5363e4983104a64885c5486d4f83385be5162985a2044112dd083bed39436211e7a93071aaf8f16126cc0630b53d35e29c01f00a4855933e78b4a8ede9b1d3f6faf61499265325ce4b4abef4588488d08f476a7bbac4d9e6202851f20d21216b12a9ed99d769cbe9f9f2afd3f67cd5e999fabe3ded5540c41917c4052b287e7bfab3522dbebd82b10ac42a485680ace0588131a552760ac2db2be8a2408c4d713a74fcf59582ad6fa70051232a70104de92d52db2928e26c9539289113278d93405b6a3b05c64e3bce11494112e71578c250e96187a32b306a3b054a9ced2238c71e00396aa465466da760d969c3f9f60a789dda9e0fe7a74773c06059527171a4b657f0c319042f2e7ad8e060444a13b5bd0260a76d0c0a2b1876da5ec156a7350a2898008933ae87eb4d905c27507e3b05430aae28b0a2a08aaa27189b408c02ac4ead9d2f3b36bdd9b14f489c5f088299d283872f4c506d972089f35497395dbaf079246489506d9740d969bff9760996bc1ece5341107dedb89287d19b1ed4f6097c38dbb12e547e453a4f80bf4edbcdb74f00ecd40685385b386da2145a334488d797da3ec1106703e839442890b24f963d6afb04c44ebb4dd138c1b1d3f609be24385aa914124870434a10fc76098038df9012f070be299512f4be5d0209241076fac1db2590e0e793a0ea76644c914d6f47ec5394f2db23e0e13c55e56a4d962f6fe4a8b152db23e8e16c0945191a0165c19ab3c4d76977fd80419c2d9b651160172067025da9ed1108718eea0a0b8bc387ab67456d8f60d869b3f9f608889ddaa211670b96552850d50d61b48ea8ed111c71b68f78e45003941ef6f0e9a2b64780ecb4d72495112c3b6d8f206a69a5507c7bd431eacaababf32d5312696195e1c26e685cb4a20e63a729bc68559d9d901df84ab3cae12bed0ac8a7479c91888996ecf82d7a44476d9f49e9f1040a6f51103b72d4f6599b6f9fcd683c1ad55667a72507beceb870f83ae341f9f61955a728be7d36468d9536c1237daad4f6990fe7a9226adc042a63a7ca97232aeefaf6197086350bea986975eeb0ce237c1bf82a13d3c05799f0d02be16ce7ece0e1e38bf1909f276abb8c88f3d4961521556ac4785812446d97153bc56c8c9d7ac964c84e495c751e11c450ed19f82ac3daf92acbfa3c82e8e3db4d3033692acda5cc27e3c97a322bd3e7e8dbe9dbcd5fbb096c37839d5e26df6e0a3bd5ea7468124daece57b5e1abe975c357f36bc431abf30825c6623889731458a766e335df8e8d38cf00c6e387f14d9d41471f9e285eb494f0c83354db3157a74d4c545fcdaaafe12bd6c2c057bc55c31124354b47a8d0168f8e4bbaf4fcc0218b7dd403113865c6e258dd294631612188ff91c30e3044c01c016a3375a451118a143c36205993c6793c1e2f44df1931b5a5438d12a21699202f007dc6844134a8c9203134d628a24452001e829be039092e829bf8b9095ec2092d19fc8418fc006ea288f38922065c01167014dc04d21de00c7011419c4f7c6d40a70111c119742b9a812011e713450ce8d6f302baf5b440f1db2b403ce27c424b06dd7a5240b79e31687d3b0cc76f17a1c4f9047002baf57c41e702f0db25a03b51d5826e3d59e8ad70a2eadb23d0fbf62620ce26960dd5ae5b4f080055d001df04d201baf56c806e3d1980fcf6050c8d389b282a40b79e29e8d61385e2b727c0f8ed4d499c4d084fd0ad27027407107ebb0174267e26e8d6b300baf52ce1f7ed04e0fd7036c12341b79e23fc4430c1fbf601fcbedd498873896443b50b40b79e01701286a04b7e3b08c22fe1f541d183e2b73b21712e416ca8f60e9c90c46fcfe184fc76a725ce25b24a8c08e25c8203dd7a667d3b0ea7e506be760d7c19044b507dfb2ef82494238e3893f81aa1c49944b1a1da6f1095df6e83f8aa6e45bfbefd8fdf3574ebf9eb0865f1db3118a1cc24840dd599c4ef6e752641d550ed61c206bbfa59fde52241d555e462e52fb8c01180db5d40c3cf334fe36908d73c0d3f006e47039d3163c68c196e00dc6ec68bb760cbd85be026e076169c4e2f95c34b7901703ba953860c1932647809b89d0c8fb145cbc77002e07631ce5ce8b39380dbe573e9d334d5f2e6531f01b74bd10bbe02475f818b80db55404116234f810f00b7a3e094f113a4f9095c00b8dd04fe124820810459555e020f006e278147e0a7918f20022c6f3e020f01b78b20cacf2b443eca6f9da6f82847a39c294acb473908b85d9493929f38c370858815a01eac4471a32a89a933a48c9722478efca84a388757b252e895965e094f9ab1aa9f1a3940cea84a1e85b3e561ca19af312e76ac705195b85ee9ca8e57f20f703b252b5b0f819b9d4ef0104000817b80db4180de1e869f301c8501e661b815e1c3f00e703b181e54f32fdc7ce16790c7bff0db0bcf81dbbd406f78176e760ae35d3807b89d8bf381071e78c0b9fc038e03b77bc0ab047900b8d9298a07806f80db01e0dca3424141415141f250ae016e07e564b3d96c369bcd66b37906b89dad8efaf4f4f434e5ca3ff90eb77b22aa2d5ab468e1d6f82dfc066ed7c209690a4a1f2e7b08c9c1035caa4853594abcd27cbdf1024a5191ce3c927b9a47f2159dd61ec99f903c0ae96a7924ac338fe436703ba4302a0b168e8e7916cec4028bf72c5cc5ed583839e08003eee480942fef803f6ee740143cbfa2eb57780ddc6ec519a5c9ab70b3d316afc231c0ed5498aff353e7a8ce9d745194bcce2fc0ed740e25cae7727e3afa9cdf3a5df139a781dbe5507777f719b89d3b50caa77033855b80dba53851a0408102b8e451b8146e87c29fe0f027d8fc099781db9d70b2e64dd479134e74bc09356fc263e07626d012254a9428e119b72b314725e137128e92702612ee44c24d9068d2e449788adb91f0dbed76bbdd6eb7dbcd2bc0ed6e5bea881157487ec408bf5af3239c02dc6e041331efe4e413e0764ee7799e27932e7fd2fe6c23c44b1f2a73867588ea39c392287290757c6ad4a8a7993f4f9700b73b9794f9266ff253c9926ff25b939244dfb4e69b3c02dcaec9c934cd1f0f2ddef4a7a818a647e176e69d17e1a79c170146152122c98f172122c99d17e12b3a65f1227ebc17e110e076229e647ea25990a841b23be8e19223e577430f29b54061bec0c6babe7828534462e6650ee3489f0fd1e6431cb1fa107e0be12f70bb10a81596677293c9cf27cfe437a61a123d9333754ac133b90bdc8ec9a9684491895ff20770bba5d305251b1e0fc2cd4e473c0807006e0702cb1ab19eef3631ef1a3312bce950b89d2993c964327fc2ed642820bf28fa0f6e7ef016b8dd072c5ffc30bd1d4b84e578248c101f72c47c647122664c969c28446c5e1f8fc7e321ab7d61f3325fd2e5cbcb9c49e64e5e86bccc4d78d1e165be42e64f5d5ee62e9ea832a7a0a805e7653ea3530ba7f8250ad4cb9c056e27b3462c45ce04f7980133637910fa496483973042a16ae260a5dff427d3a34c8f617a0d2c6ffa8d0d3c84123abd58ba4809c168e4f1e8d7a3be02b743a3b4e94189c92a89194077084df9f260ac11222f4128478adc70bae9c64912b60145f2abbee1f14b4f14e659c2e310a1464c69bc8c18aa4147d5d5d6cdf646ec953e0627c43bc23251c674a83316013ac3c398076c8e4ae6654a7e55e29b27afa4e42a703ba52a6f98c83c4a364687dbc9ec9bb769bdcd73b89ded36c523d01063d8189e295bd49b8e408290558408d3a8b7317fcbfa9b3b6e77434ae386ea913c056e87c444d19b6ede74a7346f9a69dadc79d351e07666ed4f3f4f474f773ad37429fff413b8dd59c3f8496e26b909dc2e2907aa3377850f192745312675ac2264951f87d6dc09c244cc0d8d9ca5a99ea0457ab044193246b4887a14b92190d80e624df05066a6c1e1c35892278072405406c81b350dd4a3026a61b2c81806a741f2a75bf9f3e79f5e02b73bada832bfa1552f7326590e6d5ee6266468aebccc49e076b21335ddc99a3ec255fc6dcfdfdc09b7bb9d515170aa3ceecce3bc09b7c3618193041d51c7a8264b111f31b1136e041529c3c8c916303057076ae4e14d1781db9932994c661cf4320f81dbc9dcbfd0cf3c4c9dcd74c0639148323290623ff315b39fed21f3b33f3ff318507ee633f82cfa999d9f39136e372b7ed1d3e516810e3655401449e143ec25813c42c4a34a179d2f8f65ce63a607cc3645a6b78387e01031857020124688877050202a3b60ad36779c38bb91e94f5fc2ed4ed3d4d3e64d5f3175c5090d68aec2ca2451cd0f380c69f0f26688a78e6a7ad173c39b0e02b73389333d507ee61f70bbd929db124c4414d4844bce0f553682173b6488f8903c49aab22e7a80bcec65fe24f32899c790798d21e9d2cb7c8310e4e8a17a99a3b89d0c89da3b373ccdcd2b95e637f4ced39c8986872a82a7f9d397a7b90b1a1e444f730a681ee30bccd37c4650a5f98d345f7a9ee61d743ae3691e42a7364d9e254f731168ae84dbd18e517ca4c0f9f2bc3acf548b94a9d688819dcab0afd37ecc05063cc72a6353c01479a3b6f712677b08cc0e3dbcbc0caa52a5b6b7582b3bb569ee60f9f636bef02b70c7ab77c3d711a210b5a78445b6acca24e9c282441df1ed0da4fa9bdb1c6ff9258e7844943e76c8b2416dae4779e410b3fafc09a2a23c7cfb1d6aa532ac4e91bcef6b79949016964082aa888ca9381e2111b255431c621935ea651e432b8d3a7ebdcc5d74daf4b2630e1679abe3e765ee94af2ab303f6b297f9194c69bccc93703bd90cad41ec8b5147a23443d4192ad46284062e81ac86ea2ccbcfdc67be62e64f338f9a798c599d263f731c6e371ba39aa669e9fc78d3573c614953bcb9e64dbfe17666148d06c7d1d37c45d3944661fae0b0c4cb52a58531d2a3265111eb8744a565d1e1f134b7e17634e215f576bbdd6e73b2fe76e26f73d4fccd9170bb1bed6d8082c8f9d18087c819d5e628ce384d55981e77d62cd2a2dab0bc6dce94b7790db7b37916f5f41bdaa94d1387c79fce74ba09c7e14f5fd129893fedfce9e793ed91909090bcb41ec969b81d929ff86aa83ef1f55c47be56fc9acf70bb1a00a4a0364d51ecc457ef9bf6ad021f1b8ecb2b41807ea8edd787f3948f3b8e7a3410a32cfa521b5f418557eb1abdeeb1fd22bb898c0ac8d5e3db1b8b8e103ac8b139589a54518d6ca0e4d005088f3278d4c6569aab8833dadec656e21cf54586db9d340ee0f030a507858b891a9536e5a5cd965630073267a6a8b4e0d3d66c8df8d919223f3b09297124660ea33054f6cf172b85be7843bebea8b22a2f4bf306c9cbbc57bc59340386917f42f956c59406ee6dc4c8667aee83ae67efad69755e013badb9608118fac95ad394c9646e9a58377bea603fd5cef33c6be799759ec16096057020088fb69a0c8652b5aaf51a3736b0b975db9da13f9bcddce294662eb2a0fe6b540935295762e63837555baec44c97417f548c1a36a3e061a823c80e2e3b16a9d737b0d91e1ab405ca152e56c0d0a8b4dcfaf436b73827618c31c658b7da1cc993728ea16c7e7a0d5ca367b99adb68a79f7f4f5c62e614fcf2cf24af9244d39598c5789cb3ff62ca4d0e15631814aa2a3d277cf0b1d3044cd0d80e15435dbfe5a27235aea0feab9292cd9e470f914a22376157eaf5269bed23aa2c50a008a9f3a4887a3d85cdb60f94aa21868e79ea7ca9d75bd82c811f232d3988ba4c31a35e5bcf8e002f50a226244267be5f3fb5d366a6699de6d626b3327b759ab6fd77d5b48b93d85eb88f3e4a0c6d5f4da4ababd96cf19d5ee6c2819779d27ae60f162ac9f41ab8e6b89ba33f3dd7c2edaf6e8de157b8bd69fa58be2c67ca64660e9a521525dd0656a8594cdde9a6119bbdd727d88332618cb17f7aeba756b24fed37721bd817ed4a36b51687dde0463fb5d5d9b02f9e96a0964e1a2d7bc6573cade0ed36ac149255bee936d3f4280c65fae92b4af3d5697d7abba2d83465ebd3b3e082da346bb2d6a8371d050674da6eba0a76d93a73823ea8f27663f5356d3f5d7346334dd3acd5dcac39ad569bc980d82cf0dbdee4f33abdb975934ac997e498eaadf7b2539a5befb14e799d9e6eed581508b74b8efbe096c9ad378f29676dcee6acb5288aa23a995943b2dd66a639c39d6eadb576037fbabd7f2e598bfa5212ce095d721cee3e0e04f3cdabdc5db2207437d94fd6fcbd7d42ddfc75ba9a8fba75f3aad37506a51c56f693f5a41c1eeb278bbbe5703287c3b0583f59afe5f0b29fac2ed9c85c83f5535fb1b10feb27653fb50341adaf37093cb1d84cb72b563307c3fda625e87adaa71ede9efdebbb55a61943cd344dd35ce1850dbc0c5f1d7a9b9926ed344dd3344dd334ef16da820a5dedd33ac39bde7dde591adb0a48afc29e187a907fef91e875b179af792f0af7de7befbd26ef1a32796ffd7eb5ee1e9360c69c20d462a50b45a8bfb55c3868ad29c249b4e543b57edafc42910f237bd090c16245b58eda9c2bf2a062250b51202dd5ba93cd533d0c11a2328e1d51a244b5ba08983ad86270a1451ab47deaf7eb94d594ef057055d345c0aab96ec0f8eb25beedc6187b631ba30fdabe0b82deae62b316a0fdf77c7ad39d4e27a7133da36c22de9f4ec2bf63554ca68c79d4c52b859f2a3570ba387a92836aa9bc75277f8ac279aa8aa703172a2142c29851adc7c019821aaef41a01fbc091a3e2296f7d039c41c831c2a7c9982b355054eb21e0ac011e2e47d05471bd79a362acb78e02ce534bacf0a9d2c391222183542b674b9710405bd6e880a25a77a1532ce5ad5b00e709bcb6acf4a248115248b55743f434f16184880f21aaf5dbeb144779ebd767fdfeac5f60a74dc35bbf41eb5768fd0eed14994452d26c5133e5ea4c11e72926759c303a34e4081b24aaf56bec144379eb57b9ecb407dabedeb1b77ec33a6d21c64740855bbfc94e656e916fe6d6152e33736b8c979939993b905b915b21469352a66b0a6b4af6d3f51b63d0b5298944f5a6dfe3fd42b2c0edcc9641914d9bf6ec19fb7619968894df2e4312e7126400e2dc946c4a220a36251109bf5d862f19bc64e092614b062d19c06430769ac2db65e8a2001067147dd0e011432c64a44d10670b70b19a726488482b8db0530c1c128b385b3c8298cc7903678c9e296a3b058c3837cd19a3834f213c41366a3b058e9de227df4e012405921450e27cc21143468e3f6e6003466da7c012677be6d0203c3634a2f2e88dda2e03af53eca4e793e1d769bb0c57145062d3a63b777ab8fa760afcda29d0430c31c410430c31502006b1ae6f8f61d8697b0c5b41d4f618b0c4b2c4b4be3d06a0d8efdb63f0c120c6a64d569aacf0b0f5ed301071f6e00f2b5b78bebadc51db6128e2fc010f44651d2c450a15d576188c9de226df0ec31106240c499c5728aada71431710b02cb51d0625ce168d9d2e77b810052976a9ed302c3bc557df1e032f861e0c432b751df120fc7618824d421e7adf0e030fe726e104903837119b8887924dc443ca6f87e10a062b18aa60c0129bc0181267cba60a0e2121560d3758a9ed2f2471d640ce9a425c18258f8ca9ed2f283bc54cbefd8525af87f30b1bec08e1ed898314a4b64fc08733083dbc8e7409e2c5eb89da3e815fa778c9b74f00d8a90d0a71b6471d008d55a9d34829476d9fc010675b284e1a357e9e003254456d9f00b153aca4689cc0b1d3f6097cbd60c7a64d3f9a7e7c7dfb0bc7f6178a868cdffe82d50b572f60bd90f582d60b5b2f70bdc0c3b9c967a8d7e433e4fb7617969db6bb30e6825229f6ed2e288fdfee8251028a6c2ac28e9db16f778187f3939134867a600d2974a5b6bbd0c379062b2b34a40963c5055fa7f8f703ba10c4798a0c9f3f586bcc74f932a6b6bb20c459066f119e3e3e61963d6abb0bc34e71926f7781e8427169a52ea3421210812c240122ce22901200e22c42a92c145416127ebb04be24e025812e302d096c0171b68b8eec3944888d9514406a7b0b419c49d821d8cb6284e4cd0dc24e319221b188b30d84c358971dce84b10a848749954769d2b819a3b6b770ec141ff9f616902d245b50e26c0fe979b4a6774ca2244b6d6f6189f3140d79900caf38799384a8b64b80d729b6fa7609f424e093c0afd37609b4a0c4a622e2c42174f5ed2dfcacd45df4ed2df408f9be9d052f16be580063218c053116c65aa062816b87ae6f67c187b355c3638c0f1e44700c5d51db59f8e1bce371269ed7a8140897518612454d3906cdc80800a0aa00d31600403020100ac6b228c8813010be011480136fae5e4e36910ac5e124085218c61863180100000000000000504453345003bb13234461308149f45f440a0f11498fbb1d3410966e575d66e208fec1a7a773007db1c44a810cd9014e85ab181f8ca2d85161a2be128d27ddd5a58088018e4cfd8ce85787e591c99643782e580c1415424595f90eab428ed5a1abd8b383314e4dc097937b016c0098a0fd91b59b1dc49967802d1cd0858a5aa05b668817286adc142873d3feb97306a0face19c7f44a4d700a4a32fcfb840ac0e760ca7ba80d014933f01974adfab399d268daf9824eae2d50c28a90dd41fdba98e88d2328bcd19c6f7917d0a52ea040d7262ea0dd9eb3ddceff6976b0458e4ee341c31aaa474ea9ae478e32f22d9584d50d1d356cdc4fbd9210e738d6319130a414eaebc65651d14ebe24f2294245e1c15c2dcc9b36711a5c0dee36fb229052502d46700e4e7423d7d58fa5480be4ea41285c4558b074d08576284c900e299c65362c2ca6ba4f9014c67327d428a7d269d278383807ebd23b34824d67aafb9d38eb6b124c231c5e21f6d9aa123bdcf16f669bb81628f288289f4f8032e3e5710bfe897d331266fb00f0b9887102d643db3edfe35b52c467cd2c4d82264dfe145275e720d3da54514941628fc04fea847e8762c7657bc860cc32a117b86a314c2913e1680e592c4d594a8a25f618e03fc0534785e3a21de8e5870e7d7bafbd61b22a2863f83a5a3956f0f84f0d1d73eb2dd2f1306816461094e0f5603c3cec920209566c91887d0bc7cade9f3f35882845862fc37af26275435a87b6cb580aee5a1e96cfb848b0b31da8d022d2593915cf1deb145cd2948db9eb00b83a365d4bed0ea320ab4bcc4bc1813a112d528736c9b961f8b7bc584318c7c9e3f134e74e90e8209f6cdef526ba9983ff0d3cab1a4ba8918649c50df3ef2bb8530afcc819e0e3ccba91b7362572734b93d3cd7ae2dc878ad4f0bf8dc20d40f77d41d58277aa0e37836a0b35a370b1d5695f26fc4233664842331e38b64b835163f0c427783b60015542be5156651482fdc7d5fa5474d11226507963ac23a4bf0f445b3f23ae0ad48e2a05d05826ed057ebc6b3a7f05280a67e723ab4716d6eeb4be60ea4a7067de1f19573a07d3ac0abc6ce8bdf83adf37421e0040866ee44be585d4eaf0f50347602b15d4edca7c263264ae6e6c55522bf5f40d5262aa60d98ef65cfdc8fd6d8d4da300bc49be50cb68c6e0545c598ceb1429ec84403e07982fa4e551cae3ee3668fbe8339c2882288482c94b3b0e0895cc6aa6e75b22036e7a1d9ffcc1ccf128f9e09e271880c504154d9d67dd2b8318e96972ad82eebc0e4c1180a95373c90ca08be896c87d77b4c89a31db353f83bbd82e5df9415c11d629933aecfd8f7ed0f7bd601152316324b4c5900392278e337e729b4b1acb4c20245331ee4e87e37c0ecf6ae995a866f55b88745b9c42c0c481fe6637d34a0c0d6751c37f7106e8b377cc0f23c07e265fea447dbdada636fcd64ec6accc8cdbcc9250a932299adf14fa1776c96533228c8ce28386e20340ddf8a28324740517bac2d652e50b49f94e9e7ecbd503f2e61f2e47d17ab96ab2186c2ab58658daf904b2f5bb950c3ebe26ae2cde55274d2339559c2e67c7e785524dac10bb9c3e7e9564cddfde3c10348d0a10cac30cebfd1f44c6e57d71d12012982def459ca394110090b20164a1ed033668608789d165ce676937717df8a17b2fb0091ef96c0028b8606596a5d284e3e4d9b1d39cfb5eaa987dada53a313cba48f4e204a40be0e47a09a0a40b89533f92b2009ce14cb1007e447a4e03a747409019c7a76535be39c18aa90fd26f44f151e146feb415eb81b5024e5f6e20ed07f0055bc85111194fd739884c62b86c38cc2c5489d8c9a0bed10afd7d833f30ce02793b7ec106bc81164e279bc5622d1acca7671bd003ebbfa84b41a322d0cea3806c06326865d040a1e3682c4d43a8eace006ee9a5129891d3d26f635d810835d597c382eb4a1f446dbeb2663443340bab70def7da90016c3f65c327820989236bd620dd1f8d65928ac10a77a130e171096fb9b72db3ff608c2afcb8e32b3bc9d4748db486e8bd447659c6a944ad5252258804425cacdbe1f069dbdee78b87517bc66b6a2f3eaee88b9aabd5f7bb34c81d75a1a4e98cc698060b610901b6518554d376cc2f2c37a6614166f649a54830a3ce9d5001b0a92c59dadf9a7b04615842aa30f3f2dd78364b056b70b48f77fc1a3659aa61276dbe2e99b63bad74e548b1f100570f5756a500da9726a3a556a8476a23efeb3ed33746db4273285eb69160740467b12f91033f0f56ce46b57fa57c7ab0fb36ae7c90b921b36afb507df7f27380140a70e4763300eb2578af45be191dd8ad29d704ac8b5f9c911f1a8da23c9809d6f0b41a00292b1634335eadaadb1fce699f03d18ca44f50649458332a92b21229b24578027565038a00b29c958bba5d0b5321a1502447ed670d3b6541b5582bbe9ab1dc266f1c752da88d84c4e964f1681676c057758dc412806d5bc32f0a43a200569824d396fadd7ffb213bca164d18381a422be7c2a33c7b2b47d81be1abd0a495af4ff65411bef7eaa8df361fcd8a762fb408c5c32545ac78a31fd5bc595685b2f3fded06c43ef49b53281862a9fa0331d6818ade0b93a390acbb7d7bb8a2d65b6fd4c4363b209ed2b07f4aed4be3ba7582308276884c745532e0caa8bfbc4da628292a1c54c8d85a2fcd53f640a6feb6ca08e26e37340b82bd7782c93a00688a05b8a6a9b78e32f8aee8b4f97646553c6dd0bb2268e4f53a9b509903a08d1c91c52ee15e76a238f382d39bdcb911d8c84cdfc70262e396adaaa6fd695c4ac41a6b4cbd9f07d5f3925a34b5bc718ee645a8fffa9d98e0a70854ae1ed143e200369b27bedf0489ed90d40771c5eb981014dac9955d7b265c5ad72409fdf490e3508399b04fd92653f956249589a051bdc5a1dc66aab4f322c21d36bdb28464230c5651a34a13eacad4e6e68f09fc190b11f67e0981968ec8fe994e294d2c6f10b0dd5e62c25e588578a92689dde1797205d1741ab1d76762dc3b88c21257c71110a4267fa07a20c920b6451174997e29baddc72742c6134d63add26b68e686e37659f10674d4ee8d198e6bbbd97c38a6ef6a405aaee038cad838688d4c420d158e7e006a967582086e4415fc1fa8a3f543676a652e2ed5a7075188635e14e8d9edf0df0751ac436f08ed8c31b2b639ec52a6fcdcd8c253780e448e4a51e614c185edf4fb5511cb4a1cf1b120177c3d23f3daf56baea5043cd93bed0b2ab214b0f2b0c6b38ffe915f6c3843706e205360d6636e0157f770039b4f820b5d40db66a6e70c8ed80752779a74e3221bd049adb4ba7b4694fb69ccb1a5106fe4b2d927d2a1fcc355e2d4918d926678f1a5cd31a33199bec9ecb5886506168a45018a01b05db28487c65113e46d1a1693bbe26aa04361142df42ac893008254535dd7c5c208ef02ae7227acbd2aee35a08093eb648f599064ec05e11eb4cd98dc03d377837a134756a51d85f3afe79f5e6a4fa9c11e1b3d2fbe258d301f70e094c9c0ae5e2b133b49e0755d47ccd78e979dd58e0cd9b4476efc994d4809510e67ba43a435db1b47141c37643e25457b323623ed14fe0c1d4f3838e25c6047bc0cd23be313cb517048b8c02187ba32aa37ad007d7a2c0f928f4331e1ec25804c1c9ea479bddaa5e5fbd10aa46883795a9c65c085d27e8d482de1cb09e1d8acac1c37e1a34330b340c8713a5efcad5e60ad92ecb915c0e4eed354e79a8be04430d8d754322d7def0bd48066ec0d02faa65edff0363f9ba0deeaff28ab672a69001da35ce412606504a04a5a648221d28b406ca364c8e7d0506cb718dc04c43091ff8109cca4dba15f5e57b3916d8fad29168ca5c756843f831e688cc7af69d4eb3a99f1732bb283353d0823c377746533436aad8bb2cef96ab0ea1d190d6df288e0a960f623c0509717526ed901569857baabbba699483e4dcc47dbab6d1b05c39158f6a20955282547a322942c1962a2281dccfbd720d0153b669ea3d96df99973aca4f4d44635b48ab477c7d318286015942a92f78c39c3ad3b631371f84f7b03e45ac8504bed8222c9fda1b8467d18a08be5c47523905be8dc10bf63bf470db6afc1275f2637ca588466186fa631bf4dc6671018648af22db730cb09ebbc00b21295969d933f80c258de7a9a6e6f32c522d67526995cc3174ee249dbdf0034f00a294b8d5b88009ee3d29c1db1aabf12e41dad99b07473e0ad2a39507b79c6b44e735f41a59c6a61dffa301b28e527b026619c1c673d2f7137b47bfa0d8ed3a0c2724498dcd16920e2b8394c88516fbef0c1e854aa20765d448a3f811b08ea6f9ca968b14dcc7ef0ba71c94fe3500b64af4336df746709a8740ffd860e7d32e9a6f21dfa65680bea23bf2d2e449397d358b57d07d92a30746c0b3cda2f25b03f39764f5489bb6b2f97f79fd2d39729f2df2b1743729d8050fb554e9bccbd5a4f7fc3b4f5ba48aa8386c2cbac30dc4083502b4844f77f83fc4a7bdaa3f1a0aa023e7ce7758c4dbfdb4b453707fc42c33f7f0d699923d01aa43a386a0bb8da29c86596474fa52bd6fb1875a817c5d0e926c894b5816a8162faf856c34e083cc018da3ba20a68908974ead66f5f852c11b4661afb9d04263afe44fc0d34b5db5b2d188afd90e324ca30da4324d23862854753e0a694d1df3a1c635084ff3931f799179e02b781515cd44097af00229d415c01c4a70dcf38d96c18688ef8d77563e2c12981e2fd503f95de48b70cbdaf30bfbe3225caaf43497a8ef95ad82a696761e77d171c46f60901ff5ef22c0ac17cbf974027eb86dac38cab7ff6f05f3af02f58d841fb638f3301c36f4b65cac3c6473e14b80599c97861fb3bc3a9d6852ceae664c82131031fc1255a05389f9f206cf20390434851e381bee7270e431f47560f91a6688bb165779416459f19322c7f067e595c6ffebae720f1e91ab50677adacf5dc4501c3233ab877a037b03cbf0be8337249bc31302871f4785f31a362d7f651e619553efd770c2921c7d285d0bb8538ab4fa265708c1dc5d6853514da6cbc6913743dbd00456f4a29b9e27ab3579c95dc36208a2d0c3c8f16cb533780a294eae6f2f3f0b2f1fb0c1822faafd48fc013a65973e5e45d62d648ebbb23cc3472bdd8d5e77946c97d704d221e2a84590c36995d34d6086a0cf15752f7d9158b74ed6c6a3e6e0dc314ca862457445d028fc36b4c7b063437452c93fbffa186d37d0d526094d4cac1d5fd2644575118efe8900bdd364c5ec54978d5a72a7e38690b5df5e5ac588ed0a5eab81b65c79e1c6153ab689f61a19487e04f4534b2e4cc68df4fd42aaea1052aa89311e24781ed7d7cdb30fc19b5549ee805fc57da83f8a0e464e210ad18cb4d0b3eadb1a9fa479870dcc4540847c8b8d9d2e08c41bff6898ac5d39e381f719b66c83675611754facd480d712130aef4a771f2b744d0716a89424f6ef37b187cc4498b309e7f6c4d4aae7213724b4e9c09f5fd2b391cc4fa0581f902fdf9a1aabd6607c889667f1d3cd18d7e263ac3125d0e0b6dbbcc3d4279fa694dea61718489079fd542ddf73c87f9ab073bec11cd060da056c50b0daba2586c92404a2fd6a2f2b4b9cf47e7b75c5d027ae0d3b205726829ba0ed91ad6b6637aed3c74c182422a075591fb48852d0b513d9f36243432a54cd8e771022c2a75ccd4006a7ec5fc82de11bd437f3536ac35d7b8f78e9ef51de2a73a2a84670e7b424f0e6ce47f6c7429df973f5b9b5fda50d58d24ffb4427be9b095745a107c0607f15e0adc74102c2fd25ff728b872dc43c5fed2795d18cb080867599ae80e4c7a4b305b49b944fee436a0cf4eb723b2e36b64c73eb10322534db1a529685cfcc11a0c16331487bc99f3ded38f5270beac26dca16e953055b8e6ab0d89145f93d9f4c394851495a7664997b8c888e5bfde098b5adc7bf1b14c749c5eea625de441d1af24a5bede48442f32b4478339a762bb80b84ebfb6f86014e8d80a41c6cce500af1a59bda715e52b0c53ebdd7449324121fce676fd304aaa30a88e82ec694de9e3314a9fb62b24e5d94bb39aa7436011b6527871ea2aae18053b1efdd52cbe94a3965c557aaa8ff7375c63f04128c876704f8fda824009b50ceb58a5d319e1e6d18406384d48584bcd67cb60b1f1468191bcc42b181caa1c46667ec30445cbca87088283b7b9d8d0dcfa197f98c28a96c3e8961340d647ab8498f2311179832b291a71ee115ba684d4428bf84df4a0d7f033eb950322dfa35f4628398f8e2d67d810370499b750b768be3ec9f4af378115fdb3ff1811e6120983064a614600edb1f50785c7976b532eeac71c37096ceddb65eba3d54c45a558ebf55f332ce39c4c81fbc8e456b458692565241047bd0c7554b76817454a329eee4a85c6696727bfba99034090a55ac358b52296317a565471fac6820a00ea27de34d122f61284142216df60eda4ce6995b2a721c2f4efa87e56c0196e0143c0abc8421da9b4a6987debdad0cd4e4bd0b2d7e7853cff5d882ceafa7f5895b2e36901e1528657325d6efbc49326ea27ab7a23426b7466ab8cca4113d48a101a3b1eafa5b38984a271ee29c318cd701d37c1079c3a09b07283d375f2fb291648f072996d54b6744f6946222fc147938422e3dc29e38d37a183772d1d506b92725456b66b45839d2c4e6636cb483091e9ed1a61aa460c597d8826ec0c4c8475057c20ba67c91eb8ff41033546205bee4e73f62d256376daa6c46293919d69d801af67e262e4481433dfbd640481511df7b2a3479b7de960e78dda8456ee22b426f5f6a4bb0538c103a7f1dd717242b6db0b5064d5898a204c546358fe9bbcd34fa278ea1c49f97af6e027414f972c5eb8214e0a2a6fd3f73d86d9c0ad1b9f6f0daffd336c726adeddbe36d66907ae4e5e47362c51af943ab993bcd61ea2064af312d96dbd07dc3a321eb28b63dd31e25638317d43e6b8f97661a7c4ced284d63baf95ec05da17e5664eb7a90cb8e37febef5a6a47396942075490a18f57649e62f9116d4ac6da906003dda97c28f54eac9b7061b92907db75a0c10e96ba616bbd2b8eca12bc22435be910adc1a229ab994337a511e132fc960af77135d1441a94dbe9a8264e458778dca469780e2a08e0908bd2154fbd8ba99390852f86f8b9e11dcb5a70f101710af137e790cde6e0846a558eaf8e763ac86e198d8f2e1f8a90b8fa2633f5330b264ed7bee3a373ea7cca4e0abd908c46341470dfb4cbe9c9cb0191efe85919e1d9680aa97bc0c3cd7e627ba6282768781e683945849b83e625f24e11ba79c65eb86b4739d79629ef93cb7e1e7206d39d5251eaac7b0b37a505b70f5f4eabc49ca71c6dd46d79dd98f3db7afd3c7ed1e5b684cf032e151ac6ee08408a10ae71b9c8185b8abbbae3f1b25cd6c6f890c742d973b282406d4fe313ed07b685cef8ef434037edfdeff756d4fe39a3a21d499da59da2e97e31930ae3f6331d280a890a1ca5215d76f8cc926eb2f960391e9047e95ecf103018b3ddae84038c2b581a03aaf946c5826b98ae1431e8890a0a09e1ce683d295d3f62ca66c48c51d6ce05591ed0c097111cd47a981fd17edcbd79b7b3eeb4b91daf6bcf052e3c0ac1b1b96b10b0c4e0213ac5948147cd0644eaa6aec4b4954b6d01d2fb5da336e3b3919b24644b09453f6885ff0da6df5288a315daf8f611327b57cf94d29654dd64c41c1a5fccd73fd661b5e4fd45b79ac364a9453c68c84a4b478514b4afe31066f26a903b4d879606482858d38301246d1396b66e6fc2a9444cdd266cd7e917a658a11acb6fbdb85982eca896ff6f46cd80737d85c2237840bd6ad4d3ca77ef73702c624b4aed8b8d0230e831bd4091e7fe30e4e1861cdd6494e23f9fd09f24097991c0036ba423871148660e9dfb91ced1731dbbf04456f94c5b57704f97bf983391ae8b19f10cf87d923e9490b89d46ded59e69a2024ff221c301caab4af5833958557baa65b91a0c2e47b373582e8650cd69f94c9a59f3ecf57e625d7cf00bdc548b885526fe90f85b4f448208da7158f2726a34b223de766ee31d414230dd04b40390f7f47095d89699b655e39e1123e32988df4774f1d7e681a4d672aaed0155eaff951f23666238c5df410a4872dfa4cd76552662cacebc59452f739703fa43389a3440d3e1ce3b6e16edb249b1592a552c88a1e02e073afe89618022745ffe62df4299b2f372f41829e9e60ce11c47a41df1e9ba0ba2451a0a92d06624ac60f3604cd1d6b944984285ef6a3251c2b986bd77e48cef1433522419e560af103041865b6607f4be92e29299d0ae476e18f046d4ece3e962aac7aba27d52dafc9a692b10b2c1a122b177b3c429ed9fb413d34acf984e467d385e8ebc3bf0a367b4a059892b8c68980b7c07e27936790eb176a139b98aa633fd4b89460bd4be9b02f55dc16cd8e9cf016a33fc1625789a2bb9500335ebce6bb19f78c6b52dee25f80a3b67ad00b34cc14523a5aafb4f2db9659bfa94e81107b3a7e502984c2d8345b58d00f8450513217ccc3e69db2263d1da6ebb9969ef4c84c3a4f6f7ed55f1a28f71bf8f279f51eaec005e3443e679b9441a0266dd0cd5699f28d34f3216e2ca2c42a78402d6cedcc18a72395d177aeeb8389aef307499b4c58af9ffa838e5751063f717c109e69de9c84ec2b93d84c2897098cb7687db25ecbf529433c9c8fc637c459a9e3c82f03f2eae1c5d44d87fc5ea4074b9ef58ba3b81bffce20d48ecbcbf81892d620273b6a5406346bc1b131bc644722fc7a1704d921139bd542c6a0be6396cfc17cbac9454635c39ef3c7898b89f537605fb36a0cf4e6da558fc304c2014523036c019525121750ed447f1e49645cdbc33f11719bb9725d0526a13c33386d3e6a933986fe2f9f56ea7dc579e0cc9ed489f1d3f8876822b977a89412c95493526b26886e236abea717f43bf28d30ddb6aa51821f897c6b2c200bf273ff0b9c48bc01357251fa68e2447602ad92b668ff3ab054f93a76bd2a48acf43ccd6c5691bf5622edd30913ad6f711b17a7a94f66b862392186d95ed5ad160279b91d9869828208f94e441e42f90f075b2d65d2701852a68d67f38cfd165ebf4c4c723c412d64fdd137b8811bea5ef0e28bee982919b7028e80d8a48307d4acd55e09fc2154f01fdadeb2c2d97e498bb3cd28854c63adbfae3920757b16076fe7b625905b3829d87104c63e33b38a3d345c1b1f1af1c02b703da36fd286969718b7d17a511cf4cc4e60d41f76098e596002cbfece0d668c2c1730c1f36ce8ad025a5ffcf4cfd3482d1fca43d0e12c9145a643ffe28c10464814640912e710c4df89e811e9f62a74e3e95e945893c5086c925aefc99ef384e3491d0323e3f6592d85b647b130ccf21c7d5281dc05bd827b649236e2f85881d25e4a1dbf4ca763ef4d4a1bca6e46ec1eb59b44ed2944d67cdf4a89973c4e9e4359a70b9bc6f55073efa820d78089f71eb46dd28d9d1a20013a8ac27a9cca0d38045f7611b6cd781063bd89986bdd2c4f95726ff9cced2c2e801ed277416c0998355f81fa4594cc1ea6a24806d201baea014e2939314fd5078f0ff40ed49f6add48411acc08d1d217e9cd583c8ca30e933ca33c1d06d9c765fc9f79b365f477362ecb3e06f83aa23f2e32056c2125c825c0f37b70b0e0f1cdfa0b48f47209c454890ef63e1b0787e5a1cb846d9dccfce783a6d47a2cb927f12043ec0bd5440f70ed41dd704805452871f6101d3403d9e20d54ef348ba8a8df0400399dafc07159969f3b58222eedc4d9037e4c8e91d2b5012ab5658540f6446a8181cc00cb3b991becd28fa0e4b521fc5ddc99dc295ea6618f1055c0ee3e0b7738f7da0a32dab38d4e38432433e0113c6fe92b1c00e9db17449447df764215e6fd25f1da1287997f168e9df796c76a732d14d097cb112c30f22292342468da4fb8b28757d7e7f2a53294d3894a66d5cbcb9229d89a33e4f0dce309a96c11cda9c6415d107d035892d52bd91de8abcaf96fddbbe9ea6801e5e4b8799cf062bbd6d9b420cad645a9bf425a20d2db678e6aad9f245a2d07167a3e712d68cacab8c7381e1b5c9bfc6518768f8bf28a563ecfaccd9add819c6dfee0b306c291d2fe84480f58f6f4757467693cb0216e60039eb671412762c44d2139dddce10276728bdd0946a1d125ffb22ce717b1c9cd91c24f471b075bf83b21d4c2d862452a1cbfd0254b5ed633ae436e114a77b62ec11d5bc47dec5150692c2bd323dd9eb6e71b2bf8d6d2178e0423790ba35529b68d0f934d1a2ff8a5732958f39461fbed8a8ebbd3f8995f554586c1a0bff13089f9090876e666f4c85bcb68bf701315fca4309ff3b57a511017a49ebd120598410d363570d21ae5ae3109f6f375b63e32ea94417206f296eddf8e2216d8fb4f406d03b54616b73bfc415dcfc4863e68d4b79ee66fe725cc3143420eb088565d001f1611e8a963813ee9f1abeb8210b6aa388276eacb54f831a65404966dc5e1efa300de5951feccc10090637935c51a38c6c5bdd38bcc3c088f2e5900c92bf937cf6137e83b0563aeffe019fa182393d11fdf8e46052ec86eb45f103654fa742e3d069186d2c528f58dc41922f5287e9d3274683bd27b9ce929810932b9ba29408b110c7535e870ee7776eccafac016864cc6a0060d2ff4dfa9968d0c4cccc15ada953dc6a896076b1a01d8296f21902193ed2184ac00524fe9ab3d0c905fcc3dc8ed2755b776ebb126976d6bb44ba00215971d697c90d758c5818bbb6e167f01bd8c108d5dd40462d4ea87327a61dbbf9416e31214b6053a5e044ee60f8bcebff16f70824af94421fa74f544b726e714b6c3c3f751c7b49c6569b54ef25b3bc6c98ae53ea99927dc477855e57b5db00b64e23f320e5e74e9544c656c86d2ecdd7ac13b59942072fb0f90f7b9cc788ea3223cdf1051203f73b5488b9147cc26d9d4c8a3d63d41f51aec8fb68b98e4bd08bd4059569a254745d0fd73c4fbf2cc30daebc3248456b395883fbcca9e477730554ceca79ef3602329e0d04d19596eecccf8e0db5a51e70d66a285876e21394512f9436352d6d0981cf4a2fb6098dc4ee5aca3c59f1fa8000169198ff0f85e7c52f7fade9c3c7ab4c1b5797d28514b41cbe621e0e2b436c81fd9014ea0f4abbc9de94fd3a5a36953695ff98ce300113a12a57e9530e98c014ba2c591048376737c177019edfd786054d1d81dd5e5111e74e44ea829ba3365f64f2502882c6b47e11ddf6e02689a1e42bb62834ba5a28ec1072dc4db63b5480bde8e1c1cc14d2d1d378b2bdcae5ccd669e138b89cab02ebf458e009f6e502fced44cf20df4ef530a83c4d6f619b0d66acec635add98ec65bd44bdfc7e3ff15808e8bb176bb65a05d98cb931e6a4c594ebd00f4d408c69aee9506e8bf796210fac8bd9d27b883954c2989c2d4e208d32a8c9d6935a4a67ff01112cbba61a844650a816384e4c2a98f83bca84bddb26825a3b90f87745a2bbcdcaee636b27d5885a193642eec6a237b108fcccaa2247264de91c2bd8b80f7a19e7e2889c445cb814888d1d552ef2835e3d8888d7a4ab3c118ff29ef208a720ec64d0c3dd7d25a948a19e18be7434b39f4804e07173a63f51963e9f6c556655c3e29671be965ba4dd3f8a405dfba0b76bb18b1f38eeaa7ecf5718df4f4ec335f92252ea334596cb7ad50ea6e34837df564757d15f1e2265ad8ed410598d1d76f1424bfc2380f545177003a5ed4ee5491636d60013a472076d68ede0f4b25c368e5697796a90a83e3f16f34480c57f1530fe15709190b35c61485f3341e707120a4ce1bcf4fe8fdde0d1359573300156dd68acf1a26e07a3f83b8eab29a75badb98062fc51cfee485a679a79821e774847f1055308637e9f21d1d0f5888eb996d0620dc529608d69f1224f131800b54aa1a4b7a12615124c01cc3b26f935703f242e8c062f8aee5421f2fee416096c894eacb29565d28919949d1fef948cc997dd65446bfb209b79351cc03ec97ebb06da27be3d609dbba359354cb8a1b344e4cee18bf6c20497717d7e935dbf19e679b33f1556fe0a353206000cebc3e9a4b6ae8bc92ca9a4bfbd2397efac29d57ee87159a49e7752c4c67a5d7838dee9b1ef56963a89db0e95e2e22dcf1c7491b9dbdb9a2d8061b5c1d76454b3cc26a819e270e0a6133cd3cb3de9fa06299bce928f2a1d667a38074123a0b3bcc9718c3702feaa810c51b854c1cbc2ecc95b833edc889e63cf5ba8455cc13de52488c3a475feec5f390eda30499d3ffc558a03384c50e503cf5870088629339d1a773c12f9d04dbed51fb592685ab7aa2ad39695b76d28b8bbf6940f69a881f06897b46a656811e60b0757c4de987944542bf2089a0d75a738b8425ceee386ef6c32528ca3702aa942ec508b34fc768a884896d84463df27bc1351211fa4e416e84b2b44090c321a08eabf165ce002a437df716cb4ca1ac89df7c3d33c6caddb33baef2ad2d66d9ad5e7eedf229086261eb55df4bf37392d230f945139bddbd78919cf531937b34b5da2104e8ad7c8e9c924b498e7ce811bc13ca60e16aa8b1275de6c67737b23d17f80c7dc601e90040a4a711e403f54b9d7d24b588d4f5d3e3da5dbc7dc94d5ddf5a998cf4b157058d36d201a398282058d6d43fb50e08c97457d118583cce7f2a4dd6744682547a7ca21afe5ca1b7b0003eaa4adcad0ccae33c456f9444e989d421dccef4364f2480ac5979f41644ddde0a2f930012a1ccd7fa5b092d316b7679ebc8fecc317c29b8be96981ad2e048524263dc041f05c44499f3171abb60f141f1c05d8fc19461443de8944624d8742bcaf299eb107545fa82974647324da3679b6ba851552cf8539b6bd1162584844ba0e68f84b110e2455e54088d6b184e0da767ae5c89a02a0d21dea27768df09c83dbc4f1ff87506b96a2f09d9fb61332ed093fa578c3f579d2a4ebe1ad41fdd4d4070d163013bb2765afb6f08808260bf19730b9ca5b74979b85f633a76893e8d5dace9dad42c294bf06952deacb79e03d8191964306c0948f0479335e1d816a68c6c603ad85859c914c084f6a51b95c463872abecf22b4ed86e2cfb3d52d7a58720b7c3413ccda117c1d7fef0081242049dafe817c88d12841d223f9a469031871266d145987b426d028f43d425ec2fa859c4ab4f13093c55c31c403d05299d474667092dbc106f5e78732bb4e5b507483d6e7e3aef2e8b5599fd1da2f8bbb1da950d56cda86b35861b5942b7cbfcec6b54a849770cb4060d61b31888606b9fe1bea0bc010a5231dee76af9ebf13f813d9e44e2e1d98122bdc82d34c0ac09bd31463133eb5483ede80bfe7403981afe5cb287ac455d48365507db921c0ef58d4a9e92c5cd7a2deaa9f491aa214607dd5f1613227e2b363499d1e96fe173e9904c6b4d0b6f4946c88596190a69050f0899f05769dac40df99c5248a755b6402e049a7a13a0c839db3a9e997f010cbb4dd61d07cbd026c5011bd2044ca3b18b7de504d10e15368c16a9a2376cec0696530c696f8f86f1517d2474f880240facbb2ee4a8bf36a44ddd8fb3a8be61edcddbaa2f2c047347c8371e51065550dedb66b38e860667c81f4dbaf8ebcda3a2609c838067f76bf39bdb519cd6e5341c5998addd3c0039d444e755d40265968fc7991d3a223e8d67e0efe839e1b28c3ac6b09d83e4c52522f69ea01cb82bd1360c40feb0190f303a573f31b7c9069ae6fa2d1cbe0b459031d09753832dad9d472b9a556cd6385de4c44470faa783d92f00d14e533ea00c1119aa2c864a225cb1959ecb07a5b374a0c3268d9ed56e00499dd50f3cea75fb49d504b5b82566a472566c9879109e5a11680130d40dc78c20a62b2251b9c8c6190a1881e3f2008ad93609d59cc329fdb617f0ccb62497a7c6d45d56ebf7938243053750a2101ac43a7328af9574fda6f18e6a6ba2208908ab4e9ce0b20418ed5c30c4cb86fe355e9d7f7b6684d115c1841ebf6f0403f588a4cc88b03918e446b8e8ff03bc360801a413e6cda68d23d21763ee7097e9f221c21a2f50bfeaf87471abebfe64fa4db0ccef004a2ca31be1417e0ffbf0d2db35fc93a37bc838f0fdc16c224317f190565de0a2a67b59c96d29acba95401dfb28383d4d903b6a512a3c2988b8d33d41b8ec6724d4864f774c6000d7e67f0ca15bfb4080379d3f9fa5aebf392e17798c19335c8d0b77d51ec601f0b0960ab1a21b2b2bf76dfeb7384b8834e488929827c7f6905c6c1c5c13c3f09979bbf141dad84c89d8558498fb80a8b5356c838ca7d77603cdeaa07637de2d0ae367766ed71df73d13ac2965cb64ded4c821e5db0fff78c66e610ce658880c186342b59f72af574ee973a252fde030d905a52544f7ae7ea79a4ca6a0c4f5a55ab3dcbab09a01664c15da2fb85ef763e7e52ce07bec5e52afa927ad2ddb7c9967c7d1fca8305526236ea187259d9df408c8bd961f28dd167187acffb6c905d2252e67b35dc2e860e4cc0ecd333803756f87fc65e05edd604675f76babf59f584d1a3b92569109defe9c707fb8a99fe6caefea1c950ed5a488b3a8b9e98cfe63416dc38e1ec1f0b269b8a1e45d129745a5c59a2cc836b60fa7cf9394308a8504be5be0431f96a780345526bed6bac169300afa2631f92b32a017a58aded86dedbcf61e35b44e2728fb306a732e610b88e09e83d18e5f979a45584eec2e2520951d685a83030dfc35d3e25b383df3b514e45a24bd9f2299d5c4baabe448f9b82245dfd7a510b85173048a27f288411f5d0ba80fbc89c9fc800606718930731014c3415ca606c0d8f8bf79e155ec426cb473d102b8d5f8aeb5a895dea8d408eba99f601093e0da5d04b9956423d711702e9e7b920a74e934776b026af9554db6147541a784dd67a46e6749220a7f20f0524623b890d274a6a1b9c18078a4d4a1b6a223374d271e1a76c097eaa87432828cd10ac6855837566eae52ea873e39fa85e41a134424cb7852ece3cc4f4aa1d495505417119ca1a4aaa11f4e395afcc3911a3e36d6846f09e3c701a8dfe362cda37a3b5ed2d1503be6617d66c9afa3555f48d42d2c0be2fe67d62b88719ec2bc3792035602c5cc141cb598425ecdd3cb6dc02512b8214ff0ea92f07c17d4622b55998be663f00744de9643ce692b3767e2952c5e1156110fcf8970aeed1ec591b785aa6a95872f3db6cc15f6e8de7baeaa6c1f089de4d72deb68e29cb7faaea16ac514cfdc59244a61ad24c1938a9b5b9f949212d96ec97d1d5ec941030289004a3f9eb0942749290d363614e2de1fade9c7e35f7ad4e106b3df462eae698b398f3dfadf0ccbab85aeeeb3c69e08e81a20aa341720c2fc781e391d4d3d3c651743325ade3944adbc761db7c5d8fa89fc3eb3997699877eb03c53b08c45c86b0736a736c48906c43562b0a02e60f0f67352fc389d30a019a77704fc0d1af4d7707e2dee75e9cfa9a30a7090602ff8b50ae5502d4304fc3e7b61242772f4af827832fbb1656ee14e5f528e4dd46f3c7dce01e8955af11e3afcc0607e16bdae680d94705910d8be53093ff2c39f0788389a74b19779440913868dc287fea1579cbd321547d3eed4e3125bf87a79ee1314d2a8f7aace356404a574b10b7cd39350cfca175e1d227a8fd7a828c98df33c533ca4c3158b567f21e724f65369304fb062b7eba1a19a36f7086ea6d9fd14cf731c225a4c2a648a580c5c130efa37d66676327c871b4761960c42eb31bc4b267be50dd8ef93df99c883b2a06e556cee24bf6ce7451327c65a240e1d9668aea558053c97b1b6f04344fb4acc7eccc6b8440eb5d837162c2288c830f81824030d087a696883d560dd828d8f2265dcc0e3d447a69935eda71ca59211146105290c862dd8699ca9446cfc96ac44331082ad23e65076517095006cb5eb2b24bb6fb22ec27204a241b5604dac323a0b4390ec8717938b0fdee3b9768ff7aef90b6fc91de417747ceaf28db0a51e79962b703730adb610e4d46c8dcfc0f7ebc16558ea0fceae17f06eb86c3e8be9a56a321b9283cd077f4f24360f4d10446eab5408f6c336dfa69bdc3a922599044b20594be1b9607f585f8eea3f4110d59786659b24db243e26bae5da114523c89950154d5eaba2c533c81b0bee26f251202944c120e65f39b7a713fb719d52a72fa48e7ac4cf7943fc699aaa4e96fe5e01e152f3694410ce2a8ce71f24750d9bce7d343da67c47b2c6ac72127a73e240c336c16d9a1d181053515a0104c6018d5bf8d8d17769c18a72f73667e2e7e1738618e4fd3c500c193a028b09cc01e92dcb5e8c762ae77c0bd1ba46ec103e5d7b8d76fa3457c0012527deba10a29c834c387931a94b06508f2445d9f019fd6cd8f0ac3284c04d7068cd5176e9abae2810d388c8d46fc8ac5c80f4b0ad26ce7348c1df4aaeb21a5a0eb17f8d9ed5c8b26582cd41339af834077a3b137dd7ffcb254966267a7c6afc807270706d30dc5980f698ee281b92c20f4e1cd01dd51b6c767ccbf6c4be44c61043143cd3a05654be2ddfd08b728c8f09a470cdcbf2560c0479366921c177cae82f3dd7355016dcf83d1314e7ffb5b5410dd1e8ff475058cef5e483e45e83448bb40d023b3e2eea44b876a2d17e8175f0a711a4f173d7720560777e0fe09778c343eb0e675f189f3acba49c54c815606869c3d01ac2f812089f6944546d60a4ca30229d0a48602302a6646bd7d432f46b761ce83f1470f4b5d537562b72038b22cc02c9a1ea5481564b882bf85d10834db18efec07705c62e19b2a7716b743bd9d28c1b714fb119515a06f6aaee89ae067abdac49137729b62d8ae223e03b536ac3ce80ea5f10eb179b555e10d74048db04eb1417a52deea8c66aeeb637aa6915db15a73694fda6087508ce3b3cda7e79daf234fdde32a92d32dd9cc501624b0b0719648d67b72fdb33b62b61357a847e05da53df35c43a60f8add7cca2c4c620e10ce135e8c892d2220d8c6f7408692f7bccc78fa84368496d9b2ead62b701743ead2e7d04e6de864b5fa9598d0b88d3e06e5df708cd4a5488cb765df796c23c4d766b2ef25147059aa5305b57a4fb2e6342e9141539ada934d8c74b045d1e5ac9f13c722f0ff0789005c801aa6f341c19e0febeab40cb244d8127954187c46bc964676768bfeb8c2e84f424a4138a4bfb6201a15b7f6c4244b23a6551c5da5e961e80dc7427d9145a1763b2b2efcf94e6e3f4b524c0b670100bb47f0cc65eccb06f1084521bcac9520475670c6c9eaf64be816812855d8015dd8fcd3390682fec2291ce05d310b4bfcb2e9606b41a3f887fba5d8a69a170b39450a76f2544e33cdee33974123a3528630173a8efb8989fa34be669239ea99273ba6715b65beea7eb41caf79076fe82c48762d577aa9fe29a2f9278edb803c227b34495cc7c63b1967f5a84437c7b9fd3e330542c5e1d39041a67d7ce8062587cc9525e9da8ffbb93cc6946100c5545e20586aefbfb50da1a214eda0ff94f44999406a17fe194ba009602edd671b1a3bc683df0533b16d448c1a88d1ae40fa817dffdf6b0b58886fdacc200ced98312fbb822345338b65d540b20352d10b565dd9deb05ba2e8531a777b4d7ce2eca56dbb3aeac4011b9a73cda2152d75abffcbb31740bc8c16516018d3b415b2aae773b3dc571717a152221d31ae1c022f0ae5cdc21b8a3a96b341f48f15fd8b6202bcab3df0b246545c45dfbc05276d115f4921749f0ec056ce2f41b015dcc6b1cafae0980d06849108dd12c03b37c63679fb5156e6f71d0872824eb4fc1ad4019045873163d5e1830b8c43920a4c8b6222e7124d44eb93445c2ed59c3b86cc67d36f8afb15c905c04efbcb993e357988ea08386634125df4d02269c972641e99baa7e58f33f37c4bad1d720946e497f2835c8509c8ee42cfb565348d1ff3355b382885c1fbe040a9d9f9cf71ca615d6c36eb22666402f5ecf448ce80249283046e520448851843709c7f3ad283df3d9595b648657425a0b150e08ff3d2e1462d89dc3d750d439be9bbe7c3b130bd4cff01979956c9db90cee6e23ca2cd4e7d3324ee81be4f05b1f9a1a9056cdfca9112559d94ff3460e8a88699292dc01b81f23307103415b043ca67ec0cdf7508335e0ca3cf5c9ad46de36a3db3a6eedc49a4065194b9261667139562e306b0bb245745fc9c1a95adda50c9b9de3dbab441319d58f386711345ebb3be529cb91ce4d2f7386c1523a9f90c420e6b722c32f2214706cd64a4c40cccd7a22b921b12296ff289f2859e2f3a4e49298d2cca89b1b3eb82c0ba702a80ef1634d7e569da6fa86762dd414a090504b116251e3e5d73b5152766dc1f3e68d689fad140c3196fb5e6187fb57a035773d1bb32bf43dd377f8f6b820987e6b9af6ab7778c388fbbb5b16bea9c9599d682233c5968abb05801c4990d629038f0bf3362eedd820fa2d212874b1548347d159c2abd570a1df1107221678b71e44949f0f01299dce1816e13f8505c1203c759a25bfbce1bbf975806c3026bc9514821c4c989b02bf717e341d8559d2e31aadfdf82473610dbb6e3c23553f870736e32b1529714502444d4fa27f77a72e9af53ebb5132cd723f4b93746428fbf66df0fa05132fb06648de40dd4f86dc4a9e15d1052e7069033372af1f0a471555f253a5c77cb669483dd7e813e25f0f9c402910bffc7c869f3ba71ee9b36cea34e72c40748695d3708531fd8638d73fb91fb6ca0572318f963435543f2f5af9e6865da7691deee64cfead04b53eeeb3a174cd214628f4675270cbd6392c8a8bb8165cb6d76186cfa765214e5e81527a8410113250fb8cf66193fd9bbebe57c962506c14680ecf68cb776f86caf8537cbb60a11b2014c583f79f008f2d224db6d8ababc399518ba3d6408155163bd0323c9a0ecb4f43829c9cd8fc00078737e8f2c9a280454dd50902203bc1fd0b08a825d94e83d88819645a6ff5be73d620e233501304290ff99d3818d640bb5a9cb57e89bde28a16d40d9cb4296af0419a08138d2962cfa6edea2b4c5fe29322179155b697834347bf1c2bb40fcb7d43d0cc2b06e2264b322236e584c5e6406c25b8611c69d153815c028311349bf6beba380808456de509d1c945b89762398d8fc280761a0c3ae3e0add66f5ea757601d7fde4c2ed57aa74f0023f58a57a7fdf3bdab86438d84553aec0fc2c5bd73d013ab8e80143a9807de7b2c18dbc59a482e6ee021a6dfbc6ba2f2477bbf1365254da9b756b7fda009122bbd3e291f43da3ca6ea4116c293a4dd2763914a4717d35de6375056dee6cb41f1503be1fc2ef3d78fe5124e6fb3dfe34d4a7e220eb94af4a1dea278af5ae8d739ab4a92f0b571af8242ae41c185d0c5616d683225255df9d571bafbab39b4b416b88e5e336508ab72ad25c1f6025d1dc4f99e3eafb204ebedc406e5822b719404f1d1f1e9e41ee4b27e3ce8d8fc4d1b9458b4b3f142fee67280ed79e1a5e4ccc6336ebfb8b07fb798584e425993dde0f791e3129b9d0ff53a936db28f9e8c3886ff0159b5470c44cc5602a32f5a05cccd34ee23bce1be211079a92a6e01bdc5a90b7587d7d7a5d8f4659cf05c769fdb8ed5f666edd0c0d56c21d5c373a15e79ef02adad25ae02b7e37fb8638c013c1a786640ed8f06602feee8b20db96f158a9eb37e9933f3ea322f997c3a238b4e676916b499d3e9dd4f9daef9a8e212e130d3e53eb104caab468a1880f798332a8883d8392ef29a5e68ec4c2071acb1300dd7f9ae88b3696a493e173035d4ab18207a9b9cae7877638dce43eeee82e3dfa7afeeeb94171369ee61233aa659d3934d06ea6b29bae6f57ef49ebdd90ef3e7f66db23eae8963be946b3096241be139557a171e6dc45bb14509a70bf56a6a617d57fe75fd0c6e480e769d576af9ede83bb9b89d2bd92e09676e8a79f3af6e0c5e9b282b750590ef133cf698eebb0a8b3418b9298356d2d860948b2685389947c9f995b159f996d4d0f913483591fe5e586f0cd55f40aefef0288a6d92101e2694d132db47403109b5441e5050ce94c2711251314f02749337c781e251f05c1e13be53519a6189659bbde837b6a96cbfda051baa03e9dfb75513c5b6779cb30570b08cdf06e6319d4662834488a8cd40456fe289fbcf2aa566f298b2d0dac064717bab9ad40af4f6cd11083af6a8ab8799d257986426c22e07e46b582df5cd6cae2d9664265a5371a28a1f1a818091e4134990eb76a982e7b670293ae310ae61d0227166018aa4f9afe53da1e813ccfb4a1c24be716ec6a33bdcd0461cccbb3d4a8ca71b30e852a7fa76da3f899c38bc07af1d847e9b984023734fc625eaea16de58feb8c4ae1bb2503b300eeda8fe33b75e8414606c011dc3368b0a563446588c51e5e6db408f33216795457871d42e52882c9e325a8c587169ca2ccc6ec89c57ef8b47a119727668edbf8b7978947aa98a9f9d6a42ce3000d3e91be5d2c60be3bbe54e89a520c7a7ee154d8a2273c1ecea633b091950d6a25d29e2769852b424d1cd1812c02ac42fb778600efb7510815a4d2a5f0bd7a4ab6d1adfca87a8c8ce2abc5fa5947d96f398eac607973d4bd1a945f2525db449cf0f732d3bd8e897a2939883dd44bb2a1cc7c7c8c046e51573c64a3f0168b4765be598bb36133d01c802b5d0bd97f05df5509d946dca9804f2c1339975f14ab882975fb45684269b3dee91ed38b35b602a19161b9fa0367c49efc2aa3f15b61ac01c86899363249a3708420e8ae330e934e2b2d07f4c1d97e1548699daa3321d21c226216e253beb5789eb6e3029e3e1baaa683d2a0d6549aea6f5d3e269311b86d88ecceb6f8a0ea82676f55d9d9e1536b477404432bc316de8a40c15516f40aee85d5a8048b41cbb4656a1eb370ede2d38f5fd0c762fe4687914306857881528f4e7b4cfae79b4f74d22faf51585498086fdf8b728a9518f7b8d4cf29f67e142185bda57a546b070c6def7506a2d9d7419b900c1e4bfd526c7bf64c72f900edd5af0ceb649eb688d9195873214df14e3d762018bb104fcf57a5ba574b879edb9be1903c4361a119fd0e3dadd67b58b2c7dbe60a95d604bf86ca5ea5296bf104e16ff3ea960c22a019c9543908e1fe4ee95d26f3c94d0a2ccf5e2b27134fe19ba25ea5d6b5fafa807c46735267d3a707660cb68aaa1edd6d8c5a4625d5f1b964485a14d391dab38bb794bb7328656aca8933c65927ea66bee6451e1e786254ad961d0940f9b9212c184bcca26f8ead270cd4514aad1e3e773f35dab7ac1848bf025d5f75c27d794a49d9c588ea25d758cec4c12be8c755a4495ce0eca040b1ba615f0b78afb00766315464bd6912ee4c707680e23eb1a7f8bbde2c82b492819b24e241a7253c0fb1ca543c13b8dcfa269544de74b78da37c5d4b4edf5eaca4156542272b77251a456ec5d2e55ce7d97a8aa08a7579088a2bcde155b16cefbb703260cd12bcdb683421440e4f6500c7d481cd1b641e29bd2bf7f8ef5a1234eccb98554dc660a2ea583ba592513864e828915e3f2b773f1dccd95f29267984aadd9e35c88a4369f3359d7e63fead065db2453a84421f8aa1c7afd88a43794411ab4c5cf6b616805b99eda14e30879895afd4e6e2093ab8b966f64ca2db275203fc2d37c6c69de5e33394c47d65ed169dd09cdad45d2fc209fd8f2293a3a23dbc1ed37f04c7db915c66c801e1cf29538a7445b29c2b54664a63a112e860cc4739a59ed44b4d54d2e21575d89ff4785eaf1b3c73d009dc529be029f61774b4194b0dd9ea4d8602e7cc630aabfc706d8fab64c7258c6acb84fe80f4bc164ac36343e05dd90f30518e769234a668f5409825a5196c7691d663eeca3878b89df42d4e82bbc9e292ea075d9f4fdfadc54858a2873e6e6d6194eee1c52e77a9b579aae2c149c565181c41a80442b7d0758e7f4b9cec9c5ce1b66a454f5537e15f69f33e237fd0450fd31f4b3954a432860f2c2e99d923ba885cd5962c7629087944b7536cd2f18e226ec5a7406b450c3365408f06b0369bfe8c832960e2d17115879aceeec478a9705accb5331222574d8df426ff4a4a2c5bd56506a9b88177a0541906140b76a1aa3f36c78e66743774e37eac9f43dce791db66a3758587aec22d4076ca53e6612dd490100a92c00123638ff65dd68003f05ed85411353e723889a5d77fee76eade5bb2e0759d5c9b5c3ecb8b3d3267f0e05635b163dd0892dc4f17cb2de9842b2d3658b98d82d63c6fdef080c3721d1690f214423814ee9cac9cd06ca5a6f169080d57ab3b9ee8ea3951025c1a08ffd701d1fcc7460552a2cd3e586b43b36832dee4a9aeef364252b9d12e67179b7549868b01258c41ff1b665c4eeeebdeb296cc6b82430676407712f72dd9276708d7a4ec5a36d8ad2a02ba8930a051ca94aabbb039230f764615ab1d4cb68309272d43dfd7c2f6d98f2cc37450e948a1865e2d4f1017da10a6c58567c62f456c4a27e81dfabbc68bb278867126689b7c71a943f2117b5e23915db17ea8d9f0f842cb775530c4d2781cefb3c96897a4d4fca403099889c409dee866a8b07744a0d7e9d19d5514ae0498af0c698abb8903de8d56272a155abf9bf9a88707466cf10247801c6d4d877c5d09488063a9021660375d4077452614933dbdc60323104fb4af18f50bfdbc87a744b78e72f2f94940af331d89c07f93ab067290ef9469bbe8c3be4c7732c164bd1162b0f7d5d0a52a487c03e8932faba92a6d1ce60b5d3920e129a0154bd8f35c98116d14cd1eacceecdc2b117ac12af3ee3e01f8e93e14a4ebaf0539d5038896a2a9d880ed9e5a766d5944ee3c7b267c4f48e603a7964a28559a22226aba5a09b94fe26800af741c814b988efd266e7e99dee2e615b8b88ab1aad3b2241ab260e73e915579549202e87a49b49ee3a60828b1b3be9c4982bb678434ca01bf2a711bdc815826e1ded21aec8f076416f2d3e950a6226de665fe0361fbbd2b0d2332c9e458706cf981006011a9533fecb1b1c08c8113d8458066e35d2eb881e0637af65e1a2e4c2ed5862a047f40aba1c60d10c0bb7532ad36d50f2a8de21b68916d54b8a3d705f870a7b26b17a6acd20f2b60b1b24e971ebca746a25233d72e89974ef0ef9c33caa2bf28b92060343e56d07a5c5b8ff9e158219c4de685b1b682cdd37d42a2ec7aba10eefa9dc335970d94f2dd4d5b0707e873360044b712abfb589e7c4748699bab7044c555c9cd5117f048d95d2fe90db497cc418b8e401ef9f942c9ee2f16426276f4eb9b715bec38d6e573417a2bc061be4b57c1e29285e70970a6680d67d407e79932a8eef2384aae8eb65e67f0d7a4c281fd58a79d5da244c02670ce36977fb9bfde6fca0b49527b210c946244ec58088b86f6d0cd1c225502deea40aee9b146b5922e87803fc5004369719f365beaeb10cab7ec094b4578c623d3d1ba480f393bb1067192cd5f1bd09777b782ad4ca625680cd89aef1ad0c2cea148f806eabb13cb963baf259d4d67a2b53f13c9afb07a01060a712140dce32b05cf7fef844b43b9aaa1c62c5a47e9de2c1910891c737d75b998aaf0737af09373b227f61c9a363e036febbd2b052d3ce42a9558626ed85b0948d02d69b87169fc35a585baa50b322eabc9501eb3aba47a26dd1ae84b1058c6ad4119f0da7de290c2cd0550449874356166abfa73c8f9d7e07480860a30c92360e9958d6797ffc0dcdca38b0c1a8963ae2bd9036cac6cbd8037a6b38ae28448f00c5662cbabfd219ee4309373009aca5b5a1049a22bade7b99b2ac23bc036d0762e1ad3dc7a8a270ae1ab5dfc8b47344740fddebf0d5bd1cb356a7b2ac13be9a034b2b58777aa394826560b9ceeee7e85f851846815dc1345d471568b3b311790ef7a2db3ba5098ef675227375e166261a31b3da2a6e8a19e846fa68b487b0a2e09b23bde4ca0cde2eeca5e107b6976ecf6466b1b910e30e1d79c08d5fe4969f9dd2b2d203adc6a54339a91ba1e51ee5c7793c9010ecca5dfd3b1641e30fd14388617893d1de23f4647873150a49a52fdd87520635a255a0cb03ca6659747ba532dc861247f50f624d6c911e29e641b73ea0a04f088123a5f7d811bee254914f5b4d4e30edef64eef99d7ec0b249f249e02ace35fec2b128328985f6e4dbe6dbfab369df602469561cb5969e6ce28c319205b8c59252d44525b939ed5d463452825967df9c00708a6814a2f06beb40954720e87c442629f66dba242698ff3dd32084b36d1a6d8e13e411037aebd6a653103864e974fa7b5469c6b163330e461c612bcd7464a8e52c58c6318e459c05e610e35896336b034dd4063aae36d0446da0e41a07c74e7a4e39955aa8a4718ea20b85056609aeeeae4752f7dedd9b6c29a5dc324e0aeb091b0a2ab2ab4cd0bafa40f8d74157ff6ae9ea9b2758a1ea63899a6a66b88d4b9efa7ed2f79b4aac7063612d93749e37935821cf102e6bae526fa9f8f3931117f5a79fd4521df65a86040c18776965a88c299372efdc8e54d53d3972a407105ddadbda7a7eae9b8082cc4bdc162b3072704a647045a171c145c5b69558e6b029312f995e96a458e50652dd19280e5f4aada49521522682f84bd04661265201dc9c9494b8a2d46a04d3abaeb863902d40c8e47e8c4aa06c9991b4633183b8b9164156b4d15919639a6085e957db9afe96e2cb4b9412567c857d39f3d0f79b253403d49a5849e1f58546926b4784cb8b6d0d096d2eb8e6655fd7f589d637c2486d62fafae6b0d8e6d4d3d5b6abae3e0956a8f29e63eff919b0c29e23b6a6cef332e0b2d67d1f0356e8c3f034d6d12f72a520722571c2b5a649d757479f03fa464a9c3afa1e9004d12f414958470bd0d187012b44712001cb117395e8b95cd101af1ac5585b4dd26573e386aa31495457d57f012b548d48a614c005699aa669fa44e91ba5574c4fd36f012b4cc1e04c10408c58d7cf0256a8714c215ae2546c71d9c14584958eb92e2828b5bbe01ad7d7755dd775fd15b0c2d5c8968efe8abe8ecf111e1d7d20d478c44c477f8868cb49479fc356998ebe0a58216a444777064cd709ea3aff022bd4211be3e21e79c1bbc426dd52efcc23a5a76b985e82a63ba2d95c135c892006845401c262461a5ddc6a26868ac25579a22546d81c9662936198b520604b6782369dcc55e77930bd04c9a42f5d945e6f6b684e3668e8204295a52238c6e8336fbf5f90717432b4c2186d04619084d154066d4b0bb9207e0ffa8df473d04fa48304f5fbb899d911760646d766507f0a58a1fe803ef7d9fffb8788f61bedffb03fc47e1310b07f85fd10d8616672f4fd2860855ba92498a6cfc92ce9e9eba473337a6aa5a773657adad6d332557afa27608529d1298212279a30b121594d05d70d0c292a99633283624970f54206c9eeeb13a1683ac1352555155c5720044dc611ba312d88c135bff5358c0c91bebe0958e1aa3e5ad7d55fd53039b2ae7e0958a1cad147d1e7683ed2511445d1316a1d7d12b04294e7ef8ccef32360853ca86f29a6fb5e04acd0a7fc30fde77f3e04acf087091a286c5b4fdd120b52d4b4684b13220599aec9f988a3a282c2ad8b91dd150838d5e81a201c54a91266ba879e93be378740d4095076e331895b0d2aa9612823920487dad40e24d74ccb19a5d30f3727c5207eedd6f1ef9f7f9dc719783534e19db5add63208f1dca5c1a8414b43955183514b839686aab28e5f49294ad2970c5de75b56a8f3f3e8cff39ff7f9091bc3a5fff4f49fb9285c483dc4d20c7111fc91bb81022e2c6b890a31f8d3d67f92a8f49f07012bfc0183d4f76b94d80b10e6f6d505a9495897276026c4f40dd6f75b59ff0af3e2d4048948df6fc23622d1f5fd23f6af90c4d5f7b7807f1af4fd1f48f2f0f0c485b591593bcf13f1bc11cf7fe0319ae8d179de03ac90675db3721b7d7d1dfc23a1afc66195be3ed0baae5f7d5dd7753596b0d1d7ef002b5c7154f074b461030c0c132a415f1619675fe4ba60517326e863eb3e9fcfe7f3f99e03acd08786d9a575f47897a3a3af8386ddc975f498e6aba33f843e118c8e3e0714455135593afa1b6085288e6f4653135ddb1a312ca83ebf61c5ae0ad7da98a0caa5abaaaaaaaafa1a60856a1db20e462f005cb1005dbf0f50589862d74ee294ba8e0bebfa3d7c10b3d4f597a03f03ac50e35c305a56c2d6982d79d9728b2a629081bb52e3f6640b19df458269b16cf2a26d4ad137c6a40cc9450c214fc1544b4fc3c068e9e9638015a655ba91d1bbc00a8dc2d034f59ed73d7f0156d863cc400d593a86d7f807ec18de02ac10c3194f5506eaaa260cccf0b6806f7956f89667470859c7bfb393dc51eebcedecf00cf18f008f9f0768e880168642a23afe9da49da50cfcf0760688d75753961541fc3b4f1948c2875a0d1d6c5933acc204f1ef48e15f5676fc3b553b56f857c2e3dfc1da21e2df001eff8e960e1c06024949e05b9d39220f9d2d9da28e11ff6eda3127874afc23810d0844b4c0b73a5614f856274b79a5e3cf61c3bf0dde3270ad7256c5c34eae781724ea725a6353be6db1c0bf9ca5e3d719ea24e19f001ebfce1288c7af039553868140c60c7c9b83fc3667ade3cf790a92a4e3cf81ca91ca401228ee5e7839c19551ca11bc6d6e5357d468cca5a1c3bf8ca5e3cf21e66ce514f1efc3e3cf01bbc340206507becd49fa36a7a9e3c7290691eaf871c0708c19489444453606c68b153282f8718e192800326a9e24415341f523881f27897ff90ace1bce12ff808f1f670e270be31647abe3166709644bc77f337743871f6798d77e8f1fc7ea660de3f686ade3f606aee3bfa9eaea3937c49b2dfccb56cca1310379001eff0d12034ddcde4075dcde4c1dbf74fc1c897f3a19d802217039c4d0bc14cd823779e4c7d50f1845aeb682f8f91bfee52a1d3f5f72ba9b21fe7978fc3749bc0be3968375cc87c38e9f27e11f0e93d3d619b02a43b4a42151e3c992bab7b8e516914c855be19f088f9f637122fe8df0f8391cc6ad6faee3d67797e5a2e3f769f9b67c459fd177cc407398ccc057e2dfd1e3f7b16120e6c192c1b73e2b187cebcba2b369a1259544a68c2c4710bfcd32033bc8980af38ae1c58b5630277d49be25df13fe193d7e9f4d1906f2b8e05b1b240bbeb559b391cac07b3795a6d4a44e0d0eac207e9baa0c4421696b1836c5ccca060bfff2948edf8668a3857f203c7e9bad0cfc101ebf0dd81d06f22455f0ad4d520abeb569eaf8d9a28dfebbe9f85963060e795d0dc598b102e446103f7bccc03b6649cc1733306c2fbe82f8d924fe65b58e9f55fe12ff3a3c7e768ecdc2409ee509be65b54af02ddbb503aee35fe756ba0c24b1a3c810193c8a10c58c41fcac99232c7aa05903d214c4cf2ee15f96d2f1b34f2c14fe7df0f85929b60aff383c7ed6aa676904dfae6c21f87685dbc1a3e35fad56ac0cbc7650ec6a84a93b165912c4bf1233f09e719256a5cdc618254182f8d72dfccbc88e7f2daec6f5887f1e3cfe15b93661604f1508be5da13ca01e759ce9f855a49accc00110416a22136339662d8842171d2f72107534810ae257dff02fa775fcea12ffe654ba75887f458f7f4d52bb30b0678b03dfaa601af8562debf8d561898e5f4dc2bf9d8e5f5dca40168643b9e58fa4126510bf0a37064b94b92a258a04f1ab52f897d1542c95887f448f5fd502f61c31f06d3a77814f89574f1d7faa956ea5c5d4887f660d9c265325fe758081b9e7ad02dfa65613f836cdb23ad2f1f7d87a6f1948b4c30994acad2a1e6341fcbd6506ae7056c000493237e715c4dfa3c3bf74f8e3e0f1a74b1968943ee11f001e7fda2bc3409f6104beed211ff06d6fade3ef3dede8f87b50bd314ca2a67428bdc108e2ef556520025ef4a02156a584a429988fbdada1c7df03bbc3401fa9067cdb4b62c0b7bda68e1f2de200ebf85130d4881ed124fe6532940dff841e3ffab6e1f1a33e4416be45b514f02dda6537877f1a6460098024c9e1244c8a23318227044176c5c0c2450629881f5dc2bf7cd6f1a34f2814fefde347a532f0d12afc0b7afca81506e2350cf43126e05b1e9b0adff2e0e4acf06f058172ad88db0c1643b25050ac126634c860b95b631234bf051748013160b0ba5c6571e11234ff0cda41f73dcc71b37f9085b7df734640997e13e837ff8577e10321720e12c150cfaf335c8833bccd5bfd7e086decd7acea77432fc9ca335a758078fd1ab900e9ed509671aa52488ee38367e12fb674ac30b88e0bd60547753cf11e90b509478ff89af8669282e13db0b40bff81a2c640cd6c587076c51a6767b04c5c1bb9c1b791bbf1b58a4f0c67dd7c4a8e648d922ab165573e212913168c8ae44cac184f82a96ebc8cef408bf476b05654a5d4c886f1c9a553388a84d5e23c2faec675149b24516a14f5e6a8bc8488a1d00de35544930892eee63cacc2b910cae4a3229234deab50ee4d993c576119de2a6413c184bebd0fd11b11f5562197741591e28388134f52555844e5ba0ad1708cf10776152a6d56112b864b4f525547df2a84e3ab308c3279b38a58c259856d2d0ed27356112c4c605b4396e9ac42309868671561028e6715d6819521d7d87ad6463dabf08ccf2a14f324558545546258854b94ffac22a032acc23440abd00b277a0dabf08e4e835568064d6eb08a503afe2ac28587a055c40ba155b82606494d2694deb00ae38656611722ca7d8cc79e395845944000faa64ca20058856aaab0885bc56507abf0cb079686744b9f27225a85648a5611283837f6567bb00aed3690743707c7c1c307ab70cc10e53ecf39acc22d26581a662351d1e8438755c4d308ac3186c36c780d2381ba09c22aa205f0a27809672c85ab7afe9f1056a1960ff95de0b9c87c9f4bf781c8c7e83f1019adc237f3899b5547ab08151aaf3a4043a62ac22aa4e39fdf085f75845584d30a46bff479e3ca9cb9ea611581c45b23a30c01f3ff7d7cb2724944d7b3feb36b62104a1526f116fd506504b9734555901710c32030c21324c8f1160d81e4adf680234d88b6ec6c4bdd14026232624dff0ecad0c27e3ba4dc30b8857c74508616f4efdf4231c034b8825ae84d305c4494411d846970052f2b0277145d1345f754bcd523aef056fbf0e0ad1e8165002d78cb3db8e32ddf208b3088076a78cbb9f0a12c1fd286be788b0e1579ab47a0a200b814ee78ab3db0e32d1ff212327d70e42dff4085b7e8179f1bbcd55e78abbbf921d0f4bca1c820222f0962662b88c5c4b1d80ade47dbefb7b842c631c30f0fd2f025deea3749c0fd9221bda45429c11b44f20995788bf6ab9a01f03082084718a748459fece3e3e35302bfc07d8b70de1d7f1bd42ff05e7408e337cef1081f1f4e848bf05fcc4d209a8b2e880bc27c114074fcd7fc324dd30c323b9a813d0c18772218638c710fe5708321a8c8c88df38b761445397433e7cc4d126ec76f628cb189a7b8d1504fa825d17b424398c8ec37adf738e02a2212d47b7f2f30025b7cdca2db5b0cbdf7371718812d396ed1edbd4fe1f63e844902ef7b1f344598bffdbd47e182d0dffbdb7b7e41dcdebbdfa2422609f9d96fd18efe55bf653bfaf7025921f453a10b42bff9f8cd55e8f65e156ad9a0d6a7e34f4598fd9aa679b74d8a0af182b01982f9e71a246486c0de22b6b73e3bdd7c156b361ff20ab58051dcefa3f9148200017abf85dad742ad8f299451f3f1354a92e8a67906d7cd085ce0bd10b8206e7e2f1d8fe9f8d1749ed473081c026bac9ba8f8557caf691a803bf16084f37e8d692a6cb4b8d8c2cf7e8dcaab149a8aa8a89747d4e7c317399afca0244a1651947314f54139cadf8788fb189528ea831a9549a3ae89881e7d54a961d975b2b10cfff61179d5f3a349b40b037f8c603d3f8af3a34fbecf8f4aa1532ec0f4fc689553303f8a852661e00f3113d1a69e9f3787811ad6d66f79773d3f2fc95bc3bf0c9f9fa7e4b195b5f5fcbc37de925786813f52280fd985811a8c3cb0aa21569659cfcf2362e02d4265343f2f0903356835f5fce71b1cfe197dfe733927d7f39f74f979c3350cc4b05cb29561a086aa13d9f39f442dfcebf9fce716fe993dff59c4409eff349e56188821993cb37afe130a0335349d533dffa6db77f8a77ed63d5f2313343dffb9042398ff7c2a16e77afebd86814074749bade7dfc50d867f3c9f7f1b77d9f2ade7df4714c9ad858118b0b07657cfbfad301048a9ccbf979af6865a72a2e7df522982f97795bec3400c4f3ba9e7d77018086434eab99e5f1f3512ff743ebf4eea35baa69e5f2b4fbcf9d0d1696120101188d8d5f36ba99fcf562b7a7e8d8581f7a884ea19484a4a272931983daa03cde370385c41875cebf9331806020d7111d0b00c276b4df5fc79ab45314f61a00996563d7f7ecb50cb1bbabb218e0ae6cf4b6c18e882129801895cdbe245b02c3d3f36e2a623cec2c0158e5a3d6728e6c7369f1f2fe126fcbb46e353cf9f1f4bcd616088fc261b0666c8c245f83364e5378d65c82f3dbf9984521a19e50c52f9cd27a8a9b40efcfc26f0bfa9e77f0103332461085000ff78aff6fc1b38d3f37f20bf0946e08c04fb59e222fc26872b3dbf114e0ae6ff905b0cfc59c3453fc62f24b0c29da60267499bc0dbc4ba83695276728019af987ad460f2158c320366e8e5cceb8a0a6d22dd6169357a9aa6699aa669faa60d56986aadb5d65a6bfd26152bd4ebba6a40cbda8076d6d7376bb0c29508048f253aaa207953169101933051ca25c722ba44dfff4344461ff69b53ac70ff107f882e82745f09ddf7260d56e8cba18bab1e4640c90d143a688c71b23a4114d20d2b48ecccd2561739fa86d2b0c6f465026771655ad8417d9d21b19556460e79a689c8d81a33ad1a0e8725d2e0d38ff48ccf54dab438eb2b32b83e1de96bb2058bbe3ed0fae60c56b8b290d2f76ba6337d9f0832a59192020d4d859554701b557485684aeafb4dd88f80a664df3f628515c4bebf05083821f5fd147001ffaed169adefdfc0075868f5fd22c0bfa0bedf94c10af712775f545d1b9212ace19d1697dbd90d27a62c6c4a419f9aeefb32ddf7a6142bf431b5e8faa9747d4246d74c38ba7e20fd7f02aeeb1f42e1d5f573d04b515daf08eaa51c5dbf097aa9aeeb1f817f3d5dbf198315ea347d9fd47802464fdf8c6285e98f549957cf90e14d18ac300319db521ab38c874f16154f7040b2888c79115400551871885666875b1a6d9e1181156a20d98fbedf7cc10af74f92178a5467a00e66a00e66a00e66acd4f4e2ba61f0632f1c1d6b7c0795d4454adc5d32c8714bdc5b54d4121a53416eba578b8e2fb623a1044b0fb6a61e472c271233a44c4829912688112e41fc3eb7484f4d17ac30fd755dd7f5cd16ac70d55a6badb5d6facd2756a8d1fd3ce7f04aea7b3f91519a5789bedf64c10af7725944eb46466f3ab142231f452737ad08c3a8eb3757b042cddb42068b102325ea7a04778d2f29a414e1ac92c15dd777d1a9e99349b1a4def33d6faa60853d459e80d9a1334b6c5e185bce0da372450b12b63477cab628e5a908d1ca1b0d34669ac396f4f47584a100f6f4cd14ac30f5599faf747d0d1bf6f54d2656b83e0a56a6ef5f9d1ce99b45706f274fface0aee3027721e9ee8e8fbcd2556b8f5737d066c4cd76fa26085fa8b3582eaaf5c4d0f59532d94c53358364c148210c78ea8d8633a52641305137066ca9830e3c24553e528323684a8e24a092a29d4de0da1d7e32809136f605e57c7223d66fc50e9524cc3d674438bae71553745256a15a3824325f1c4a3aa692925e764067361d2e5e5046a4a166a9abc30ba5c745125e7e18d55b1b7ad82d8726fbe86813214c2035b75ca6074e9f5846244463fcff57c748b61c091a75ecf77a5d0614941ec0a6b810cb6e049ee290e8a991f50c1ad69a41d91f2995c675752b0dbc855ae374d7b41174a9ad506a89e4175d46354c80da2a0c445b92143a375f355d0b487d334051aca5e6fcd75462f61b298d270e59dc62f4cc8a49c7c6a239e7471729a728b8393a102922c4d4f6992f07881f2cc6dee05d41d73d1ed7ba3990d43e6f1786871673b59b56ad23b7f5c1939cfb62839ddf0793efa812e47cc0a8e333dcfb3acb7ec63acac4a8f4711def9680e149562eac13b9030de06a0a302d9932f09db1a54912a315b62f4fd3e5afa8652c48b9ac44596285d9e6c39e1c2311a03a624331084355e4b48b630b178d251695394392456a859925cd3e2a9c8d098d19b367687948d747659c31043913ca1a0a191933ef1505a12a3d49682fb440ca61e659020855475e0376dca54f749cf5fb9ce79e6f4333de2a29b444f38a3c445b7b7bcf342607d1251434362b3329c339e51d1854c2a0715241a6aac898ace580a2f5cabbff92e727487fabc57cf476f5c1516ef86d8528b31155227e70d992574289884bf206ed62034704a6f01ac78286c9f1f4c211f4ce474f2807883140ffdedacaaae410049d05e0096fa63220378e9a51e74803c554748c7d455045e0a5b2b7b8453c0626d8c86b4062c36be107202903e0e02d8d0da45deb20b5682070ed9b724f64c60c13b2440eb86c3aaf39868c3121cfcfb60d5011ae2906af094a3e3015ec34409f0d2d929dae1215a3b1e7bd6f0f4749082528f0f00fee85b6222105cf860e0202d4b8b421ab8305cfc1bfa9b51fc64582ffe6df82db4960148e86eb9e4059501d21074bcc912fe6f879f0f0d1a7c562185061b6c70b75cf24e58b3c16b80d3a1ca07691032065dfc035a75fe76304098d0860c6bc7ae8e4190db30b45efcfbe9f7d79249163688e2100718ca38fc1033500bf996f9672b03d3cb26e4a3f3f043fc219ebee50ff187a87d4b0d551c5cfcf3e9f7c1b6863a0074d0c3bb6f6986a0e14607443c77cbe5eebee5ed60421651d17aecedf715684cd1fa98c8003e3cc859758086fe76107af1019a6fa01c3aac17ff6e561da00701a40308ebc53fdeefff10bb30503f7e1f9d6f9981fa67ee07aeffb0fdacfd207fcaf00f58ef7dcbd6b7f42d89b66fd97ef80d38b8f9ed831082ef6eb9f4d1f996b90805162118d9c029953cddb75c6374f41c8ebea591a301f4b5ff0f51fb96c48ebb6f39c5cd6f7dcb018810c211081d8e8c381c7de0c1d1d1d1d1d0d18623a1a3a0a3a3a33f3adae04803dfd1d111d08f86a3a30cbc8dc1865d559e1ef58ed0531f657c7464e2a1cddf0ef88fd8dbdbffa125c60138533370703bdc17eaf70be7dbc1f4f2c483042085b7bc9f7dc53db3ab3d6c9a66efde1e7ede26ea5728c4dbd127005d5555ac9aaaaadeaba6366f5abb5f28fdcdea4d8a9bd082b7683f01f72e77ba0b122e690ae135a5dbd1adea49f47b1ee1edf78bcd9bf16317ba17657f01f718dc0e5ebafaf383cdfbb3b53cf1a29331368180ee05eb26ce197686f376b86fd341e82a6fc5416d865e2faaea2fe06e84a2686aa36f87fb681bd4cd57bf5bae960df206189b77039e17071aee5717e2a0bfb07b0998284a3fea77558bce139b17e7a60b8df1966b29dc491f62f26c0b3818031904d15c747957318ed150d67beb9df7c6a6d66d430f5d357f463dc309f8ecf849741507edbefb1026ba3eb7c3fdab75ce39679db5c666ce97db703384fbba6fe827b872bd15a1bfa07b88a0ae12656c5ea26d03448667400105bb8b80a8b32db54ebf426bf7ea28307b8b57c845f7d59ed3737ad0e7a2fb6cdfe93bfdb22be8dcddee6e07a5af357b908ab7680701841032c669537d98f09cf9ed70ff876e9d3f0b8970bfc518638c3fe82dc618036db9586b2181cac42450e16b62ccf6e0c0b907473671ceac095e599be0a571d6208ade1a44d95748676cf6da9ea87925119bc2a42b4cca122ef3481732ca45f8b3dee789a29b73ed63d48ddcfcd668b8868731facfdaef8abb392594e449ea5317fa5c843febf6c39b2118a0c8cd37ddd43be4d45badb5d61a981f7f0b32300be56f3de86f39ec6f87b4d6288af2383f7d7cf6bf26ba7459c8881586008184134d9cd3d4ab5e1078352f08d6bc206cfa7dd557002bbed3af514b57c76ffeddfd6a2c30d49c7e5f6bc9322f089c7e7f9fab7941f07effa6dfe7b1396c7cfdbe369f6545f8565335ff9aab7941f4fafd9ef937e6ab37ab79419c3df37de6ab38ab7941b00bb86890d4006244050cb6b9a08f65e19219920ce3a642c8d796e0bd45e605c1ebf757560276dcfc94154ac08e9bafb23d96652fcbb22ccab2ec69e2ccdb39366d0c3afe8dc403e37a8cb779f884b73a0b0a6f75518cb75949c65b5d85c65b0d2585b7e6308db7f788e4ad5e52e32defd7096f735518d747dee6bb33236ff35219bf725ddc39dee62d1d2c5cdfed4297e03989b779d8e778abb3ca8431bf378389b7baaa9bafa3a09c9a388f5d1adeeaa5b9256fb932cca36d4f692feccce79581e1e6e32491c1dbef46e51039de66b6eec30314bccd5b5aa8e80bcfe66b303ee4383e7c6b7a6178eed7485687a2a8841aa2067b6890e573c55bfd01196fb9016cf056771d60382ed1eff3cbbbf7debbf3bdf75e6c9a612a0a5e40dbdd2385c43d3a0a4e149c66086690076f75ee382803882c8edfecfd5e122e70c32d32ff833e42d00dc17c153f8828aef32bd1117eb7b418f68e91a691690af960a2fb2d86fb608cb73c1b808ab75af72bdea2fd04bc356a861d0b85f8726a7c9ee7799ad7c806f73dd4495465d335799664377fc43559e1cdfd0c701df39bf3fd115cc7212238a04dd0349611e9e67ff80a9a1f62eea69b58d8baf92de08c2f4795baf9d8c4d9d471ea358bf07be56ea9df2b76caded3ef15bb6557af0cf89dd2550c714400fe99efc207f00f033f687e0b627041e4e192f98481dcece69b5326e01feee6142e6537bf84112b7c52371f021aa99bffe6dabdf000a0e02e60e002b5d82dba1fc50b957e4dada55fe3f00127e45ca0080b6b9124a16438a6ed499722663682a6fe807f390913dda1a4ad33c5e48b37b89b858b9124ade29b0da5164e68259d78c4852962a0e104c50b48528b5dd07c0f5078abb342dcf1566bf5fb0168e21aac888934fee99c3731696e605be648f830f298c3c2640806050913576ad068b5e12012c702bb12645dc824f1e812345f07652526baafc1906b2c2b28bcd550fdbe8731bed3d70d42b8be6ffe07493e22096ff57dd2252676c492b2f675021a61aeb4cc502e9920501785264b569a32560658d2865495ec7134f20fdeee037171fc249cb8df57dc7f29dee6a57effcf373f4406ee37df850bfc0123c6c517a4292c2641f33f70813c696b2cb92404692568be092e30044e0198b7778a76344de99270d16d829ab2cad242005d57ce084a57b878d8e04a220b6e24c81e4b685a627edc692d7447aecc59bfd873829dd4b9f76e2af6bd4f1554d0de08a254af97cb7a34e97b679e1982484605acca5a152eca304e70c81431b494f47a37d07d23cb9e40d3981c25d6c25000096ea52e43c4b6406991858d48dda0bbd743cd6c40f5bd8d3c9de4575299230e315f4ab06c500309e387112f345d29ee0a57b6729a00b72386ef922235eb0285c1ac0a5b7ac230b9773ed3e8c8a059e7bcf2616f1e2f4dab8eb8e826956f4b15aae854b831d4bc13b0284156676559a705043fd0c852fc3872a584be328635a7a19448d2282febec1f986e55e3a13bc1ccd04cb3d4ebf93e4afb78a78aecd15d956efb52dfde295dbf473358fd3ce976ced290ee9e4cbca57979809a17457c502de942b2a684ec45514ab3a3551e666dc9255a36a4ba34b075440a1064921763daca891b5c085055c97aacd9abaed2cf1ce5840bdf45134405923249b46c3d19d5c03a72264906e5cb1cf67abd1e8a1261c345176e6ea340e42ea9096aa3a03555dc3cb2fadebcac2447ca13efcc3af80a89a30611cf3cb414a5a2c34b95019239e38c24942a566f67646bc8bc60d2946515a4e40d7b70326139f74ef7c6a6da72841addc9d11e2f4579bb0d55c08a24ef3ccf93457efab0e4f55eafd743d13b285c74a7acb2b4baeec070d1dd1f7c593b4bb9e8a2fa54adf0f34473af87820da589f292554a75ac0a8cd329846a146e60651719bab02e088e3cb122442a4ccc8c9e82860b0b1c43c0ae6accf861440c09a9ef143c3d6698651554447e3ad81829152608450fa7e902ee967abd7373a086c68a0a8dd598206a07489a91958541c3a40ee5e646005c32175d74ef55c86797adca7c39e5e958a1e6544de5a5e9f9e799434b3f4f5e3e794d46d8574c9ea29cbc35214ad191a6ef1d2682b6ecb05313e38245adce055e81c7d27aae656b8eebb1c793aaaaa7170e3e4c1172e2f8340385098dbcea22510526cc0b2d486052b0f00e1a5a111a5dd88cfc4891d6430117a622f942cc89314c27c461f178e8141757931936dca228a009d8d71323772f58a0c5f1786a16550a3dd944e8a16462c040a14b4b732629b8dfd4f458061163220313dc51face39c8f4f47147dbd80e333e3950ac494a32dac9c16160d206e6a50c951230aa7a8a185528727c8115b5ad2e2f245242ced084205521cdd5314953981b5e39b3945315ea73b249fade2a3a428db12c79624d5337caa549ca0f3703a396f5b46c226648a26a6ecdd885cb518c87d979e660a19c572fb81a1f577753613ac482a71a33469a4081e28103060f739bc79f9f7dcda014cd239095540c485faefad02085133db4d490536bc6e0e9f5a56dd903ca548ce0a9cbfa19439399296961e5c4cdf9e819f728e6f57a5e77b8e8a6f09584f2bd7d5a3a60bd5ca140736cb163699674e1924a93f264eb6bec8a98214a542466e4703abb21c38a98186246311657727541908cb1538869ef09557b3d74ec4752a643d1f79813160f274140ff86e1d1e3c615a5b71e4be3930c245ce0486107e5250b8fa35d8681f4f1a4410a93052552eb799e275d941a6be999b32420c9936fceb7e6a191112b4686ece79987ea799ee7a9eaa06154ee70aa381dc1e13db182656364e772165869214b72a7460c159812a2521a5716eda44a159d2a62376a0b2dc82059ba99b16bb256064713548c32268227d849054d4737d154863ca90cf58a618b13724786ec4bc6570e2612889529e5a4503549734209acbdd7fd056c3d815714c4f5c4a2debcf7860d691a021339c0da94ecaeb830f0b43484c5952e4da882a7f632f3a2b6c1ec8dcdcec708cdb7d7c392c245b70a5d0016168a6eb21a4455ccd0912acd42982a766f25ac9a2ea6d83b45cb52d6cf33b361c8aa9acff33c4fa2e3eef57e3ca13fa4d01f55e80f2cf40791c869076a89d39412496200096e267d9fd5a9603b3327f5650b2e0c0e29699a82f84207877aeecde32dd6b8ada97b9282e52c78eaf0b19c8244446ac9921c6d198d979e271daa9550293bcf2130909e60116bc1a3c39b8c2d5032dea8a6b092c0a880d85929e3f4d4a5e32cf3c4ae871518192d2cb8c6c2e0b8ec47b12cf960337b4bfa42a74427c9f1a63611e34437c6cc850d3169da1bfb4aea7b73ae914469e190215911613f6a45ed5da25e0f1d82ea2d2bbaae1d011541ceea9434dda011dc46de9094c464d8459dd18145493581f22288dd913bb5ab2f341f38c89c342022f575dcc124ebc852701bb102d277097245c69659a8d6b22c1dd374dfb232489d17ab92d5f7d6b1ea9599f9a1ee9da6e928ebe78981773e9adbccdcd033266a18b4092f905241d2886a4cda5c0cab04796105e92978ea222f5234b3261b5495cd69df0c755a56924f070905a4204878e71904094f658550892961ba43d2f4a44e5966c7110c17ade0a9b5d4e826136716157d151cd1447d51829d41d344aec06c3eac915b6ae284c5db1800602b68a0bc31990c400e779a94e1aa0122694894ba9820dae9212ca6ecd8c256746a920b4bcb6a730165499c1672d5a4aca4b850510246957bf7567929be24a929f73132c5e4f5e53585854491392cb2265e7c9c1521329558c59856f094489ab52e5a886a88044f2b6e54c9285c42ca9c099e3a88901c300cf907566f29c6cd3d1f3d897a014a552bda308bb726cff3ec679a96793aa18cd4e698d794e2f3945ba3f0799ebc2f4262c9344ad5f929efcc3b051f815c9e29da96ccd4432ba8b793a623ce86bd5e9ade20e6b2b014e9968265206fbce0615a00132299dc434b6af5ce7dee8c8292e558318b7755045932491bc6b1d040d6aadc66d47061864b9419ae17a98a37fc6389d782962a69c6d0f05216153c794c4193e3c2daa1e5c78af2271d1f9dab03b4bf77026f51a7e9c24517ac0c4d401ae46fdf1a736ba7df634ae00c37b7fa8d729432b77c58783e95474d317236a58968064af0f471464bcc1d141d8d20c153673159a65198d4a5e79f6227883a31b6d8538cdc8939382e30a31a241f0e20f2a44bdd9a982d2e7befddeb25800b4551b3aeb7d568f77abd5eef1f45c7d0e1a23b5c7a92da2cc855ed6db49fef4cd595a98cf6c93bd3b070d1256e158dbc15d28e3c9e91cf66a7c1f96c74f83de9d294eb99da126a07874fdeba9ee893e279f2782b0fed3c1e8f97b6868b2e1b0ac7e77cd2ee3e89a80917dd0520a1f8b6c2f7de686bef3ca3dc1396c400a429596a339104a926b87b34c5e03551e960331e3bd2085131a50d354ddd54a597c270f962640b9a2f1b27dec294a00cf961c22da97990f198db674ec9257dd116c5ecc556a6ce071722439c8090028c8a080b1e3dba682cb32f6be85989252f586c9da719dc8b7d660289c553111db364cc4517bd493bab5296238644bc394f344ce831cdcee6886c71ae15e590533786cce40a58949b6bb0754a83adaa6a040b1a777f7abd73ef3d96e3aaef7dea1d7df38e5cbe5ca9311585292ab8b76089433a86a159f2417bbc7c669cb3325c7491670a676be7d9e3cdc8286f4b8bbef7bae5505ca3cb920b67ecf56e94276c7d6f201864c515518624f39aa392a6285fead074e8681b03ba11a5cd2e8de2a6b47f2b82a401a1cb7afb7275d54c9d29a3727117a4cb64d374892e2b4fb22d562cb84f8b257c736ed20a60f1968b6e473936f7d970c962ffd94f211d05381df7e6bc1c9a052aba212c256e5392e09435825b5b9d1d9841044998ae184a8c44317dc2183d945c5cb89eac0577d20e631c591b198de0ce71c277e2e83b4d0b8c1f3fd2146121b7a60e4ac797325eccda501075ecf33ccf5e3ff7eed9e59e5d4e532367d637b0f4f2b9a3035e8c2cb9a881593251f5c2920da4f204962d754c773f8a956224f53d16e305d736b458af1c15ac64119321c3ec898e0faa049af9a894ebd66be334a910760a0080000000a317000030101007922c8df330a5b40714001045a85668482e138963a1588ca2288681180c62100601100018c800872c56661660f610996d7e15a9454fd6d7b814db2e5676ec0b643f665b3f68ca33d98b35920350223ab2962493b041c98f9674a1cb974d800cd6e28bdc5d2647a75bc2debf3221e966532f09b392158818ff0ad00a18ac48944cf89d2fac77b4101192e978fa7bab55fdd245201ad0d74cf220a1551349513bac4ba4c764cf05e6d987c78073d9a74b130fe6b497eae56421f66b2bc8ad25da4c87482d30e0c4e25deb1ee52bcce69f5b68fa1495208f6aaac91e60372301a2d90931d1b3af9c80cd7d078fa790a3b29373ad5169dba693da17571c9db661f640f5c121342bcfc4814ddc0b58b34947425de9b0d55b534f75724e96f69cabbe752e35846ccacb9391447e32d5c7344a8548e1244d4f86a8fdb7c235d1a139673134a2334ae3782fa35f528e6bc209ac07b512e4ca59b15a0f7b8984ca5a8ec724ba74c30971e9ce50d34abd77ad4e6d36eafda2ccdaf121b8c0d2cfb65247bf7efbaad1850479b566267cad138299e37d772447ad92a1e57d81f52ac40c09e34e04a2f75541d879c4d043ea1d8bda0240bff21d927f54791876490e99f45cc407557a54c17d6515b671e8dce5af6d38733037a04fac6a964af2a1f46ed8ab9ecc2886297e3a4f017f3dda1ba90688e73f8b89e64b18ae469b3bf07fe50f47174da3dff4e035d1548574b990c7a38c5f295b72616804b793a6a7ee139721b24618353c27f7685be559b49021375da867e28e90ee186a600c7a9746daca454b94725445b527a4eb3caeef5769058726a85ed1d2875f691445027c905af4608b777a6582cfd649e859ad1a109829df90681a526e479ce35a1638742e609d9e15f46bee9abfde3e8fef865e121ff0cadcb84a46ba7800808024fc06b1d3749898a8a2b4f4352dcbbd661e670261624782b7abf4001f7f9533609c1997b55c9e29a651725169002d5c6a81d7706f28322c845c57b53410dc6ac8dd6666772d476719d71451bc80640403aa500e9d244258f222601a722c5dfec8f375715e0ca45722b8be176fd05cc73528a9cf6e6a6f028c4371dc40b3e42b9630b544c1d1cd75866791f5c31799b6a268cd0f5458b6a149ba1417dbf1349e686aaa713117c2451309c6d6de68ac90eea4ddbd0a44c328914520f93d207d2e3bb6f4e2981df17c2d57a6e929c21505f158b7c69d8378a361060b39485127ca6e7c3d743ca3579818f4fd2b1615ba592e9e5034e0dc111d51f4f80ae1c5144ef4d4fd5bf6dd5e869865c8fc5d992eb9a51b683888e1d87852e6cb60a92cb3d4233dfc9a5b89b5644e6f1094606cfb4aac1e885503b6005851fed07e8809453b7acd8d9bce16115580ffc5951117e1732d0b584afd7cc1ac060ff25126332c12f3151038b9222ed2dec436ab4387912c4fd112db6cb9ee2fe43a8eb114494729ba9f10cb26c0cd1ee35aaf769ac4ab7200ea6d90d87f38979343507fe766af20cfe1c956433c3c9c76cebb468ef32fbbb8e6f7bd203fb177aba05ed94e83ffdc3676b491ca284a5c7dda29f23e0ce3c352a07d26e8bf7b654bcb55fdd053b98a664895c5255ca58bc1d0b02e76c828960ac4dd9a3d9e885755759813848a7552ac107eda809985d5d2bde451562f06d82d33c33964b4eb2c399e45dd1199119fd01a38746e84c9e7c665a52d53ca839f9bd82fd49f9d7d44e3fa95d8045a1f35a0829857462988691a2ab1f1d636681d5c4f9b484497dbb60887e596950554c05f912a006d600e89d3b92b3657979848b73ceec57917964791e8ac9deae975ebf8f86aa8a0a9cb15ff49bc582ec779bb6bf19dcdca999458377f1edebebb6ab271938c4348188d51b2e8859f6c8869a684767bcd2bc9b167f3de5528ed37d24a6d45d3c965f61c23ef32078010d64cea305201f347f02b9e4ce71eac6826e083e11dea20b42705b62b397b0bda8f04cce7e4a001947664b3f5a8935441d12bb5b708004758960bb9fd37fd40a07fafddfb98e34b99e8864791d4d6c94d8bdd965c3ffb8efddf01811f1d25284bb248b0a52bedcd8e1d9b774507649bcd4272ff016532c09689076587b32f29097d484293bd5f26361dc59f27f236216f4c084844987e2191e9b7e5f4a95f205894caded15eac9e03fe1908bb3553ac367089044b1d4ee813426e46e7fe958e34ba8ba725ae4b5ee091b7c822b3ec78b5a3afcd0e6497ce16be4a572f3a7f49b091f164e2c6dcc25abae406eddf89c5911641ec869480372be783d7b7d95562361c3f4689e09fe64414db6d7312066a64d1a9950e272b104beea7ad16d8a460a2615c91d744e5f014211f3ed2639ddda567c26b8d4611e5069cbba4122e061cf45b3808989c055db6d5a570f9b818d8b8f5178210035a8ce9e75af07165b4466b349a34b3f78b374f4d4636d740f871e5ed39118d276e2ee05ea0150cd64f9c09fdf4c4b1f25b670473cce0ae1c12eece77375906ab797fdff40f1e9cfde8673f4f16189790bf4d146f09c09950283deecf51f2a46412f00c01165c70be2fae703bf787f13f169aae33a35b28cacc18e271263cfad054078492f29ba22983b94bb96225999a6e213b132afecfda51535f123dc785b4824ced3183a9656bd84bec5e1e1dac28226f604a0f07a56d91101ceda91692813f663726a351c55b88faaed5a8bbaebd1750f95af7d68cdd72c94b35265b12ce9fbf062d7f1948121e672cbb23dbedbda3a8c31625c08097936b76321c5ac9ce9e9925f5a45e1287cd4bdc7497b88a24ba9d862e2997dbd47413d8cfa6f8751dbce17cb953cb0957992974acfd0dc836b7d82256cba403d7ec66df7f9ee1b484fafc5177ad64bcd133afb41dd23560e668a05e817a3d9a53a02c87148822d3bffc11ea5a0ad5cda00a3f26acfa45de0c4944654fb53c0b058a56834c93bee70e13116373d92604fd3033d32bcdc291c1a25899bc5ace6b64238b6bbf6ae876eaddb70a4fbf0759ebdb44eb102e4128d15faaea8dcd4e0ff5f474c7cc612af518caa674457c5584c67d46d88cd8a8e70fc457a653e0b7d12932b005109bdb89e8e9f2e12dab6241830ac989468266ca280089f35c730e3f306809aaf9109ebc554924eab147ec345d227b05635802ca23ea9e383b899859e074b7920bf6e07ea0d532beb35ae82ae40ceba0301feba2fb556b6f4403b2daf5790653052ff3d5b057ad6144fa5484c74798e69f50a475038a25aad10e38892a1dd1c43fa70ed1729bdf3f931dd3d46ef18b2633541d94a6f70fbbc937ec3435c2d69e6fc93c608b21d9ccbf2e910234a4610af5886d190c9cab91a0e9b85f3b91ceaa1acc0f0da69ec6411f85a567e19695589f11690b3041a5f6a4e62beac808eda05f26a8b8627c0bf5305aca88fb060a97c33c39aa92314a5eeec03db253666420f59296e7e015e5dbba019a08ba40a803133c701418e20d5424f4f3e19b327ea57d8ed886cc6e469737ace3969622e7a4242609a9234d7013ad926978ba3f79bfc295a8ef2bd889a0958323c6bde50a92f552657a30024cfa851474eb500ddd8e08e03ab701a127c39e1cff42472c16ccb98d061224bbe00056043dad281d7d591260f1362109b0b024c4884b738a3734694e14d338d7436ea8f260dbe50db4c7ad3d61d384868eb5cc49d32f08bce7289d1d13cf5643947d3b750f7923ba08d8f913f61e240017187a8a8ee7a0e4026f9f473963e1e5a5908f68e64368043e56b11d4f1520687e8456f06825c235b7da3fc92dbf0c57aacd8e65e97bc5fb36887e2f24515e7b3d961b430cf1778082252b3bd5212c2d7396cb840647938474b8d68dc04eba1eaf3f9a0e3464c474c65dda43fc588b80cc9f33a1bdfcf52cc0dc4179ca795fce50c181b69dcfb4fdf7f6940c18c23582b2d02b2a520f800da4413b8001ba0f1f4abb0c245ec9b8f1f46cb660e7b2c92671bff1f8edf311b65f25f0655c396593c42ddf793918621b63fa6daf5b33ba560abad3b646c99543d546ace5b3cdfa609a86df8e2ed54b9788eb00230b1ecda9c8781116a07445ef7ac4b4ba9fcce3889128415f216a1ab13cf50aefbd8615e400682891eaa6a7378ffc034bc93058acb02da5138586b006b84b504c155d22f6d961421e61813bd90a9c67f84817985298bd2485c9064124849a174696ce11578f0ad9772435d069903bfaabd2c99c9d83050bc39126c7b98ebc4f22b4a07aa3795bbdd9715d0d4cf4108ca29e8e440f919e6a21d2e952dd6f2d3cb4171d7025f639af571da2ecbfe3086277689b5557034500c534ca419dba490b0529e9c9cbed4ba79a2440fe0e6d53bad056969207463b5d8042e3d6c9361eaf055a0f4af9a5efe6e917d9c2e2a3b75d60df75455d58f200a103df5a2e143ad1161f53d9c180e3dda468d4cabe4bf8646c2539ac5d8f3d3ac7df1982bf43679bd3abda3764047f57922bb528126d819a5804a31c1d07e2606dda04e3b5858d00c8e692f2b749cd3a90c0d4b1126eb9131b8f4bb372fb9418d981af8efbc611cb8743a0b16b6589f3a9adc627f4b3c3e3a31b9e49d53b89f513fed1461eaa42169d614089b71fa3c18a3b419efae5db1088f1ff7a0479a4884718ad3d54982d7f028de65bb2f252a756b7de5c6d62f45d4f1f6fa08b4f2e1b260a233bbee933dcee3face4011b68eda2cedfdc9f6b4a19ec2c878ecdbc5440b8acb43c2da46ad76608d7fbbbcc2c9aa3f9027f6d1f21932e410cb72f7a7e5f296ad8d4bc57fb87b52985f811684b4dcd255e222829f30b6001aa438233cd4e831ffede477a6d7dc76df91e44fbd70b44448b891ab64c20e33d714cf8820f47f51f5d22314b1308d6b410d1bcc4324fcca799342a0994687c8ed83f6dd79eeaa54b1daea84ea8dee0cf38e3a85948512ec5da1d15d834c6ed8c8be0a78f1e69369d491d05fb764ac246321f943c68daa6ecc5b8691d89f8a8a32b16592bc41558d1c16a74ce6341a3083540c2c9e8e233265b567ca11d044be25c6b4219beb28568641dd33ca33448752d28bfb62a6f749540ae17b3c99f4bdcb8780706f54a08570c938a671e9b294023bbd1cb9b9272db030d098b6cd36122437525cf4d695a0f7720b23eeaee85223977cc6df5195ff75d819f6253fbbd644446a5e64f2c3221b3cf9d156a108de00a33e35f655040806e065450bc59ff7c614106d607b6cc56406764ce845f9385815af083f88515a20157c79d4f584d28e97e6fc644e52e4d1980d5190ce7ad1183d08a4d7c6bd6a8e918374e5512be5b9416922a4076fc4ce95505383db495a90f0c7fd4a46ab5f70d365c532d4d52553e81e74251362ea5b473846629b21ac3c9cfcfd1b5bdf7e999d5e37e84d2a2f8bff8006042b2d1256d8cf556c337ecd35d14540816666a938804b29a804b981459d5e930402aaca757554f7b03e14a05bd3909ec60a0b4b8f466ec2f8e70d25c9334c5b19723e8f4063bdf5ce1c671ac3c154cd271987061c977e4e91514a06ec19baecbd9c312ae1137824e25cc8097c588de2c87c93c175d3cf5c05c60a0ffe5a00c7e8d8c9761c2c66583c11d62e2a46852b6e43ca8760b68b3e876fe74c5bd9f19c913414602b7fee7bf014aca6e95e50e7fc1c00d16e7c6af8c0ebc372cf14f7c018444c1d8402a120afac369899338ddc7e1aab718b344366646fcc7470d7536bea7b4cac38d1a3501acc51e0c4096cb8f58904aa1b19c1cea428ddefcaf5c8e16b977c5ba77065ad24ed18b1868772b2c71b15f80c360ac46d01ceec9c8595470e4a25fce2b7531e16ee795cc6edd2e9057a1a13a4f02b3a6353dafe1253fb3ec5899c19395d62584d87426a19185370d622f2333653482fb7763b5ef14e36815c947ca610c58113d7c69ffcdd11c9b1d66f83d08197b46a8b4a9897a23bd2d946364d697534bd8211ad482a47ced48ab29dc246566818290d5037692d8f08eca220288d5b8a2d06929b7b404504dc861ce646ecb7b1674aa04917f07f5c4e1053ffe06bc5bb82783a0e0373f45e87af04b89cbfbd213528a9b0cdde1a50fa7b826490ab8eeaa885bbb9b9202a9e720b527f9e5ae291145d3bb762859f09c3e67305700b74819503d7f67828cde6d6eac57e273b1e7fe2df09f1440b98c9e2ed519d94e160cbc857a3b89383c59f08359abca8d251e7b35e65454fff7329c982a2ee25c4736f10a6b6c8939eecab5c3f3fe5de2b45e87a381347ac06d524c47c5244136539092958506ce760bbbfd8eb6b6c47dfc2ba4e3085fd382884dd37f356ee0306f922b09de0dec12be78dc6eb52b22c1de636aa898b1c32cfd5353785f81de0fea8d0cf8fa3c69af43c74cf03f0218245af4e27047333514a80f62934b6f3905a0c10f01a970dbd8dd3ac51d0cd5306a0517384a631538e57eddf95c2eb9fc2ce790d334566fb060e97ec352b63bef4eabd692bc0f77840190014cf9c78a9102d494c0526005639990256fd4739f53127059b0f64b9c5ba59f041c544821ea775caae0e01210f2ee1962da6a29a16e83be81a61b0a71262d93230edbfe59d69ba52e97e23e8c4ee6955f937c5eba7fd6ab5a3b88b570954c7caa46e75b1797ef37c65b4d94ba810c04b0d495e1d68ef33e47f29998038b3b29c11420b8b969b17f4e604fe876a8b7e9683f70b54f452eae320d503148402f0ade6a6fd9a2b3a5302166b81441cb2139f2625e5d83a578eedd2abd7366910e248bc5382e7b24a4ac5038a803c67263b504c982670a54037d98a2031d09ab1315c0ed0b69e2526f310cec62b082d1b979b3022ed94339f73f451aa0cb4872f9bb4cff11d1b360194a441a9d79c380bfb8350c7528e0d4e995c509714725317b07ac024e07ec19a78fe86901ce08e203299eac01de3ca9d62e020bbaeadbfae2a2559b015f273c81468f4759a2e840736a0a91f8925ab28348b471d35a19258b361237ae072929736e6d78cec3e928e2010f9a5ba24a88f49ca545e59f0c04966af8df17cdc9b146ea6499b0612e1e0a0ecc4fd52e95ea820360eda60cc7a197254b7fd54bc08814602dbe837fbb4b4a98fe850fc73f3a84f30545603588c134e104d270e198c87472268320f59adc551332fabe26bd836c262f34cb8607739da7a837b5016bc224174110d1a3d7b4f6082969ad4d74a134626431c871e75352a7ff5082887f5c79bf973f04003737edac950188c03c873837bc78e46aff6b16eb3dc2d2664d23877b163fc2b3165405dd9afbc2a45381594a2ee35aaa8a205094a35540c7265525356a270fc7eb17a4878bbac46ebbbc15661c02be1cb5fd3210f4ac17500383c051a2c7600a955f867c7b962ff27e5b83ad8a6ecdbd198cc37cdfba30d93e552d66578a917d2dfb4336654d61b912dcca50effb7c3339c5489a8d4d1e4c25063bdb89ad5367307adb413c661456d022fd757a20822e12645e4d25887a439aa07656fc703622ea2c4e1df7e159c8e0e597c47984703df852fe9b2b74f3bd08c41f434dd069d8d70155690bcbb707d56d9cbb16e486ae68e46fb15d09a3c2187b114b30f910a4ac0813cd3baf597dea1822fab637b60c1a87c03db3c21401f1c5bb41efca12294ca8e66ce3bc9cb3beb69ebdcf957d1506543bd25d96699a115b510fec0d9e04cbb17049a7d8d2fc4d2e8eb4b38477dac6f70b3019aa1a08bbe0a42c5f717fd6fbd49d915fb0a3a000cb37bbcd3817c2aa1cfa2ffc04f527346b9d005040a951e5f015fca72fb54c22f8ed453bf845aaa288aea556b6611a45f6de5a4f48b0925e8ca8c18e62d78e08eb5fd7dc0d76eff04896ac03b9047c14248e459133d72e38a82cc54f9d8a043dc75a37ff20cf001300d05a528e111d2f3b55fd1b868291f9ebc16efd46ccc9a6197c79cddde8822678b4d6152740b1f8f7bcb4de70e031e70c92d24635f89547d2b628161a23e6aae3e23c371115da0d60e37227a98b66cfe2ef9fabc943abd994ab45a94d9a7af6f70fa50753312340943c506b690fcdc2d09cd05c7e8d3770c61a71fcc7f927d7866b930e087038fbb134100f6f1bd27e490c9768563154af3538424f8e2743cbdc74c15a23e3ca4471ba9ff33762951e4bdeffa1e5699aa7943605512d7533ab9890c462166ac557742ed54b82bb41b9ff0b0a98403b5b39684baf9d4a776b70577408b286c0657d085356886779de91ad300ad7aef8dc14c227b35c399f3559022cb80aca1e72f2c8e75686b76ad2a4d9774427619630b2f390308c252d48c7951efcc8669be56245bd26f2279af64c242beae3cd2d85d636aeaed1a6c0e0904666cafa28e66ddda8d3bdd79b44247444ee2ba432fd2dd26b6c4e42070ab3d73ba73f3c0fa3b2c054921d4a80d600eda79069c5492e7623053070c9fa7f86ea62d85c3138fdedd43bf89dd112439eaae0b8a1446922e5625e5bad7397863316435033af33b746d2cb9252d56289a1853e6d6e47598a3b260c3a382d7a2f7d66c36ac50775ea34c99aa5c9f31b1688e011772e6ab005a892abc3dfb735999a1e9e0bc3c1bd572cd5f9b2d50290b8cb1584cbfd9275b5ffbf621d11c205c6e380df4747dece301ef10be3433fbcc2c87a0be686c783b63a4138406083099c8c191032a7aff145fc9b46b8b83ac5efdead2387d7009d05f358c47140ad8da21cc7f4549761830c58ad18c1ce1fe72ffee552bf46d0d2c6fe2402b957d8772107d2cc90cde4051872bfe0b4b3dabd7826fc2cf047d9e1699e1ef86fbd94c3832b71db1c6e15b848d471a9bc0daabef8428b94c62d131a4a857cef0352a83f93c7503d78620cc1d6551901fe674c1876715e9cb7ee21878b021c7ba4ccd81ae6a3be303f2d1ea85e465b74d2368b45c8df00f113776de855d4fe70848ab567726184dc888a2d86b1f262bb8bbf41c27631dec1dbe00ba4a9a99529692d0b32bec28b0bf4b8640af824bc0ac57b94444a846170a6c195e377b1fc510e6ef89ee43d61d3e56b649087a2131d1a9696b7ea8adbaffefecdcaad8e250d384c11868c7eb314893db9c8825860f9ea14e1c5eb268d32ae883cf7bcb93175d755d545bf126f28be7a4ea1ade0e1d7e74a03e90e7f3b77fd2d77d1470a3f2ee4333ee757bc5f73e63793280fba17a2da3b759eb3eff54a7e11f5eb0b9feb21f66aef6b0d241c8f40a3f30c67bb8b89fd97a16cfc626d58cdf164a06991e47f97bf8b21695be09700515d6063d455878369d3f250502938634969c3739155403d2120f8f8ae14121b76d670e31e07e57d1bb569656d5218a6cc57495b8d82ca359b4497beda2c24bb6c00c0714b78aa0fd68da8520367337db54590560324b2169cea9f2abe51acdb90e0563beee93a4e7685b0dbb81170bf610c72465d0092976fcb4d519f9ecfd9622418484ad56e9c500c810f1a5f8890d2907dd00c076ffb3518abb00e41b67a9c75cf4ed0604630e4d126e33c64ffe5bdebc374b8213734a30a81e7772e55dccd892dc26ec80a102894432cae59ffe60c5dee56a6d5641461278c7f283566ab4f736e6e6e5f6284d95cbedff9464ed1187ac82b5324c4ae621ca52139bac06613e55af44b290ee8801fe0f28ab06dc86327e78510ebc94720ec4772d65f747b117016b80eff18558cb9502716bbcf627f351fce374cf94bb3227c0118a2b04960a61cb874a5d9d0be200aa3d239f00f28a9c3422c40087a4e1c1267dda0cde2bb47723752f1598cfc6c8c75bf8163ee3b83d8692035cb91711f004c7ac9fc183c4c086e7c3981fc9d26b08ca8a9de512399b1cd5353287280dcca0dd6325ba90d06217e7b1ddb90ea45c87c4a5ff4b12a1c41e7c9cd6fa6078cf0f2656650c564950a519f808f57205da788ec59283f729b57dca981413aebb3f2909db7cb2d3c80ceb4f7a3e5e6e02fbeb661635803a4d163af427ec738a3b6300a398fe5df10780b16a76e804d817011c61351e52b38bea0a8250107643147adf4b812b9d6a56989583848eb9a66ab00eb7bec05e7d633a76815529a4b205914ae59609d335077bf9b0f7d8021995efd65572e73808d106324161fa89eb8962e3468482ff0a022c2ac415d4cdf87fb5176000b5cc52831e8277d8811f3c2dd54842523e4e3e918be09e71b68e61f57e1265e3b007763b398010d1c2716721669847ea1e8264063b4c983814fd04c5fb8bc26dd4fe070f4f6cdfc37572d66a01daa798feeab5bab2747115108f2dca6691fee566d45d356bb716527f4e5537584d1ef614b4b171c8e8c382d9b3d38c102b22507c6ba9729b4457dd6112ca44bd0ce1526efd56e6bc449f47a723d0be0c9825c3c65c734917ba87a669beae4e3900dd2ca1708d71369ab9fd8fc21e88b1c6723ca46db99b18851355f607c03efbb850ad024b5d6c442c2e9a7f125b01cdb56b9f1768044c2f12de062432343b7f12b2af5e143cdd54ef7094f99dacb53fd5511f4bb4239b645fc09d7eb7c0081e38dabbc0c3cc509a2c5cccaf5d6508d8759b85b0d5a6e161f5c2710bac92d8b31dc4d93ca9bae31425f85b2044059056f2bd54af4c19df6c52966f606411102b7229a92faeb7d12a77d715c9f4bb941dc1b28fc1674a2cfeac9b7bc4d289cc5987e2908ec5108dc95ea5f41e487f202b1272ce8ebda4e9f454898e00a58ca02c6d52eb540517a45864b0d2abfe646fde920bd83efc6f586deeb2d3d83b7637a43ebf5969e819b31bda0434f52dc29b9611346fe10b79ed8170c51627cdffdb03c142c134e65ede83212a942e13d180e52e9e0fb0855bcef46bc3ddb954cd1228d96f296abe491742258e991b96efbaa48341eeeb1b1d56bb9e6940d06710c71dc6f685bdbe9a4c41197ed3f04a30f170d946a2182647dcc032dc5ddf0f86cb3bdf7d9da7ca655ccee66f8e3ff4e354735a285e41f5f73d7272f6b6c23892c83297dd0c83a63bccbf6e0ddb17f8b60429dd2a53e3563c64c314177cd1be954f406387343c9c775a74eb869bcacd57b500c4872533a2242d7980a251c955c1aa6e9e17da4414998af095b236fe71b37534553ff354ee1c75607a4b73e5a101c9de7560c7e7282c1317520a87c944d190988fd3cb28c7a2ce9ef68de9857c2b4a7dcca445625bce451e2cce35eb99c4e5b38bd41f7ba0edbd0d7b61703a2072429a5d4a93bace9876cbf739c7523ea1c1a9ae0b3ce6486468b3b8a63cef48665ac827394b332385fc62fb0319f01e94ddf8109d879e2c6aa689304a52322acf53c71d836ca257b051f29ad2e9bca37ee1af9fd4f499af69f311df35fc7501f92d263ecbe91da6b3031e7287ba9c27077e839c3fca62f3a82a1721421a23b063209d8f17ef0fba81fef0d88348279b7c680ca3586ebb3139b016df49eacb68c468d3b89a5d4995c631fb3aedd0bef9ed1f6536839b8b0352e3123e4565c390ea99b2004ed644f843edad465fa5d4973fc96826e829fd1a5556499b45c97e1428f9b2636312647cebafb8e906edc7724cb6d8d748f072d1d8badec66df2732ce809321c011373017d70e2dd7ea32372a34e5331042f3e601570adaa6a1c866d2e801c7d1926ae0833b7dc32ca9161f087b5a79ae5c03fc4c7c81457a588c36d5ccc490fbf498ea07da7319b0f92bd369efb5d8875432a3b6b8c92031929b7d781a378d49981aaf991086a574dc6931c7a0ca77a0723e6d76d3112de5b8d485fb73f1347cd2e018d1299bd1ed58d7cd3735ae2b9770a7a2b5747f93bf40d6da069e5ce1e87e664298ff5869aebb934ba1bfa3cfdcf326085836eb259a5ed2144f56072ed5dd5cfa6fd06c255713b176dc2c2e4aa8a54e6b7b6ab8943d8b0311c536318f2b54056225dc09705771b1ac105f6d27471dc5d856ed4aa8b9c0c3e1752ddb78f108be48ce4a7eca907887c2ac1ccec691cae2a712f98123d5728c7edfbd559f1cefdedd57f52785227ad0b6de9c5ec6414800ebdda01c49f193f79284dc92d530aae9b7ac0fa11ea6d36c148dc5f6b05b48e8642f3c4b080bfb22f1276c0e26b9be9b382330278f260b7adfba9f8651764491423c68552a811bc6c9dab00dce28cf6460287251a9ad7b86e879bb787f51f9c49fb0a8d43b66f042b758028e535b89be0935c5b1489b6d67baff28d1faa27855d9bd64951dfd0eddbfdad97d47d4b6403fd3c3f426736ebf29ef3ccbeb59221b05fc90d2a4f3fce546f387612966373f3c4d965cf79b995079d565425224bbd5ace325c225198f1eed1a75237c2d50052f9c724443c16a880c65e022ebeb977564367f3d0cf409eebff4914f2d1236b0ccb8a611360b4f2be4c84cf6dbfdc934bcd2743b5be3b9d3a84ff09e60b881d7c0087bfdb1fc951d3fc6bd6f35417817cb438741950acc122be3b518896eb2b5c5213f1258657f71d980ce01e4f2b6ebfb81d6e40eb1bb00ad620b68638beb19c58fee045ce01430a94699070fd8277b31dec3bc80430942d2e35918c94dd3ada6e25860cd4509d09f277d09c0fd52a3aec195967f16ce89750233c001ae3268e9a2ddac1bd4c433df32c0b93dcdb4c70cf7816aa415d09bed1d82426d67555fb1b33010b9d4b65d23a2a63b545606514a78d322425ae61a25208098299e996b4e441d83550aa20af2366b5261209cc59b66a412d9ddf23ad9b00a6e76b841f4c8526192d9b40f359d6e2411400b04594e816c4df3383479f9ee6e477711c62eecca4e7665273bb3836076b1b3bbddf9ddec7e4776b1233699b312197f907db25499809999cb42e48768c68709cc97d0ab85dd795eb05fff51224fa8dfb9935df3f9a5e114f9eed8d74f318caceb69350fb4f884c80ab5eae0793368e30e41431c58e33807a0cc0f89ec1ff80309836c85500712c24aa00343967e284aadf7d6fe3febef503d94e4b0367e34b3026155b997efdcb6a385da172140e750801965e5be193576b7872ee32aa7c422ff93590d6516ff712ef1009eb0da83158d84eb893c3745cc3a641ee5051b664fd8e1c8d0b18ce0effa38c0ca14305327c537f7f071ed79394879e9bb99c408754b71fa2e667810a88080af6ae8ba375ca9dcdc29b84f52ad172f85cf54637ba0ae34a9f8c8a5823d4c14c7c2b030e79114112f43555f8ed729192b59a94a6d201783bf2a632cc642b680b9bb59adb6431cf59cbf21d3ba1618fe3091614cae7eb902c227f02010ccc476a4056a77e79cedff0ff43295a92a030dff2c5f2df44f299bfe85ad5c764dfa720194d538ba08e256e7d5742897e27410335452c1768c9232eecbe62c30be0004366ce00ada8601bc683b20cc9448721b4087469f285481d00ad7a4d308c765c4b94d4a7d745d1755e5cbe0e9440d065096083abbab8164cc46e87dc5897385e13edcdae75e9ef657d73650cef54e95620846954345ac56514b887da356ea8a272152a93e544cf9ebcdf021d2102cb19d1b903c36944f71ffb07da5545e9029d38560fba6a9914b5da4bfaa8c2a23d59c73877a39f7d4e162745b34aee1b36a431d89bc70128e25d062219c31fa268a1fe070eaa7b1aacfca40e218cf431203b98031a90d1921fe954be4c6a6473d45e927ab3ac9607ee746d2617ebd5f34ffe8f8d4c1d67611734ea718b02c2a4be198aa1a8b0db7e50352a0dba2f751e06046f442afb665837259684f69ceb41032babe5088ef869485b5c2a569a4fe14aa971b482dd5c3ad1bad24284b21c0b866fd789787b3fb6d22e909d86789245a125828fa531ec92f2211c7b1e3b8861d4c37b710f2e41029a4ae1a9ce9a4ffd0dccfd95c17d953c50b3b11494b2650a8a3609bb4eb7901c033fb9bdd758a43a44bd8402059634c309dfeda47e83e938a3ec0509fdfb48ef574a913e96e7253ea6371b01ca95397bc53f88be72989feeedefb3bc5924fb41b62bf2bb8b62f8adf1371f73de86c74777f3d2c54e8df942fbb5387e4dac0b8f417b05ed973f0b5cd27d18d4b239149c7e997cf7d184aa54275a5a05029fc405598da2fede6c20a62a369d888d5c95a33944a9b4a4c99d984bad0749d4e6d938ccb870d0d7d21825ef0314d9659b8ed62d7d203302118e084d65d76588f49747ec5e9b95a61189333433cb6b0ddeafcf054fdf8c7752e2950156633a0a5b85e56e8cec58e199b09d1d174341c5c6c7679dc4a40235af69db453f052f8dc0ec996c9109670370846586d55871440810e23cb98c0a6305e6e2421e7d60d4d24019f8ccc94835282e83bf4bf8feeae3356e54438f50ee2dda75e348befad2093188e71093de0a653ecfe903df7886ea34d9848a967564cfae69a87669216eba6a8880ccc4a21955827e688b069e276ab6da82e18b3a8d078bfbf9341b8718171dc20220c6dc72dfcbb96244928156684ded91e5121f99b05d62447d9369f2ae1a11e457729a2c8f6fe513a6657c42a1fd92705f22c50378fef68bbe1b7c197173a6fb6d0db324b02370bc769de80b60dff416f246e043898aaa1c00d3fe20dc40b10b3ddec7370a56f91b45980272bcd95a790a70f781baba41926e0d66aab0619e6e29a6ddc6d1da73d90ebb393bbce874eb52e249e2bf40ffcc3ad5549411a9656c3c818034b5a568a91660c4e7bc375885b2a8d12dbf9de3f45dd8012fecc2e9e2d5397932f45121c717fbb2c8c984bb20a832eda252912b370e21727cecf4992df59e43c155b35638e98bd0dc3e2d4ced4d1fba00bcf04c10cafb27da4448b965a1e89dad70fb4ebddb4c18d1fc5b0b2ad82506a2df90c7ffd8dac08df19e8c86c2dd135a434e69b3f74c5e985302fea3110fa19a2b25dd1c8ef515c18c5f8fb5368ef12147c597bb36bef4c525e3fdb32a9096fde7d61300892e412694bfd72075d5d5c2aad55fa568778d11111ee98792ac699a3eb9d1cac0ac1c6c36d0e3a2e44cdd8e901bb996197e7a59c2ca449227640fbd831de852a4048ac68f2f9016dcdef03f348a3180c707b53799325ec06ed84abf33f91591e8ea5964a5e870ba399169c49eec810481e904ca886d59c17c2241853889e76cb3148566ee5701b8227c0125846a0e4d78041a62328459fee11ba4e47dec6412b1650de891c1d0b6070a4cb361df4526a99f05946eacae659b9c486312a17b2b0a7d30f68739a8f8a1c429493c7c67092423031f80b1fa5f10910cc2259aa3b61f82415312acb7c1735ebf3a34dda8e76b5073b0016252ad10ffd5f048b1bdd871889371f52e50829e8c7f02901dbb885dac3efe66ce52f4efa3b52640d9d376a136d8326283acdb07c9a6f3064fea4e2e7cf01d61f3504a12d19b57100935c136f9d4b44d29ac59806805f6acdbf4de7fe1588cade04b8431389e72840ff84e1bab906d2aa08a961e45668c00e697796ca57ebd2a2931b05b62b328af31f22a845ed9f4fc389290ecfe4905d5c6e2ac233c398f9a69588a2c6ce8acdf50c54c1682cd91d7a24795b806d1e7f05c707addd22ce9f135dec5fad887eb4cc829600ce8faa4e189272eab3ced776c190d7b6632f526a307442139a50c7d701132253030a3470dd5e83d176af1ec97926f5857fac034f6d3660ac06d08541b3cc0821cc54d13c8041432c6537ef3cde8eac6fdad6f1d9eee7ad00054521d3af9f79d69604ef941d118a5c60223a552275597605c9c6ea58d36587b6ae0e84672b581811e2442b503339cd98432e045501e30c651218fcbb417bf9c730979344f10982cf3fa8df3142836b60987fa9467c69e8009c95ecb029a43aa87a356bf79807e2bcd485f41d6435d10ac08ede21710a03ebce08f3f9ea551ccf73d80792db93cdbd2cfed565f4c04bf062ab44103ee33bd7bcf29eeeceeeeb8ca21c9ba72a71aefb76589a74e334c266918c41bcf67298d06cddc4bbf68f3e27be59d6c119aec00c2c5ef55b5f5fa2cfb3d9d8fd7e296ae48c9b5bed39e8a8ef5f20fba56bdf38922f12972f5366e03a86403cf4a9907415ef70fb2667ac37ada7648a2381d1e373ba8f108ebea485bc3101205305729776a5212789662fd9a177bd26317fc012f6b420b7a1ff857e655a53cefec2c4d6410abbbba483744194365eb01cebae5355f78ae741d26398f44d4f6d2a1bf33cd00acaecb097d13644ad9b04be49be7e46d441d89c06d9c4ce2ea949d7e9fac19193da0bb1775d7fe01eaf2520fc895c8dedfa35039dd7fa14c7e4de1ade4372228833f008184f65eb42a88686b97ce0c1fa81118df29cdbb7e645aed9eddb2c111c7ae203e5f5b45fef799af78f812aebef676e57cb15ca0378026ef468cf9707c3ec5920107519dc4cf4772979cc854cd84c4f34f7c8c650bce107857b5b9e3d014f390cc124e73ae98474b845b76423527f7c68b7466c198c536efbbe88848d81427b8c6f7a69182a778639c71b3521460e2e4c72709300dfe3a134e1768bef504f8086778f0c72ac21e79564e8290ace1ab5e31f09f470313ea9cec68bfe5f78c180afd857b7346ba270133c9c0401da8ef9ecc245e809a0db090e3d1e718186341393f2dbc6639bb0a1641d1f112ebd343507fbaabdae23fb84ce80d4000f4ec79cb2446e49e7d91a28323b25f71f8e8bac277cde5133f3b7bd571d3a6cee4f92faa17ecf9f725fc168dc09c852b82e7207c02ccfd5eafdaa98b726fab0d7705d425a902052bbd41bd9978400723d8ad47e636aadabe6c21c0106eab406ed567d3ace5541307e6f0e5ea4d4ecc0bf3482a6a4cc6c3d0381a126af0afaf12a3efae6a90fda833c67af2a4e274c0c3501eb44cb31d3e76295e521ef215316629393ec1842cf2afd992957777b38daa9c65d5b8a37e928ebe4c168d04f3a4c7437995606b985e4d8c34f31d9a28bc95b9aeb250e8a199cc228d2f78520b71a14ea7762423afd65654ceea7f068a95db575acefc2cb6bc5604e491c858ae9b1417d52a5f2f7476c50c1b29284d6b0fa5d14ecfc810f504e0755cf3383693806e3d73b850c8139008e613efd67a2f460f9d20f1bfac9ae14c9363981f66a42aab9b456ab9b67da9fa4344d7c19163137df3fe9cbf894bbaa0350890267cae10c17912ff891e0e84c15e815d5c92dfb581c50f8c8dca8cd392d8a065f545f08a49c3a6e9cfa64bf7e9230c6a03aac202e4bf438b02023919db10230742cb42e5adf60951daaa2f1b5a20ba3b24cfcdc0132dec34ea80e6d85ca954ec2ac4976c1e0dadcd298ed8e637fa73e47257d05672b12f7698202d58060031580a0ed590f2a6ddd9b9b1b47e5242c40297f0eb909890ea2f35d32c74abcfc1ab7807a49da04810d2ae63e36e2f36d82acacf63c874fa4d30f1a29c591b0cce8fd9b82890b4e6e1dc9ca286e75d435b1c20dd2913c517e8bbcb9ca57b80ba47be7a3bb2489d905fa6979447ece73634d69fd4be9e5be9da34d72eedb50343fc313987de8dbeebcdf6753166fb4a432d5168760dbc1981298902055f96e434dae4911c030e326f19e2b8013e8831bc804ae15c7ab1315a46852ffea87ee95616b624a850ae2780cc80249aaf83c25708fe17e5e502ad8fc7b2e347bcf3940136e1a50451b17badf9158a0f316bf80c701976d40d71bf21c5cf38fcf21a9c17cf7e61b345e8e42914f2cde0ca0c8a9dfe5d197125ff4a630a0fc2254687e8723b2a664a47c4dc1632e16c984a879b823e883735f437609f55b893ad14c98cedaeb3ff45d8a8835a64a4e945fbeed3a6fe5e43053be86a85e79aaa6f07f41a0a336626f568864dcc2f332656a8cb5cace44c0f6ae06d843d9727b936ce3ef5428693abbc4469eacff100d307a7d00ad4eb553256a26a1a331b4ed32f1dbbfe24e4ee2ff491bb71fca69da6ababea594d3d4d01dbe4f2c9dc8c3611ed6c3bf572bc4a1ae6a65302f0c7c0db578f39fde107eaf537edd6db0aea95ca0ee269e3c2ded360399334d4f0dec4f2e462a56bf129236d876cc5231925b70b6185ee93a9a5505a6e8dab8f3711733216a1be626e1f22b290b8e42e33e4ef8344003eddcd444fc2c31f0bc0af5a6a58827c8cd0933742b46292459ac0617e6beb1df815c1ccbcd327292363dbec54d333b73307be4a31d07c063ef026d4e9a3306a7f95ec9cf2df7fadfd49de90997a69bd3d86f5cc662c24168002d0b22902d1f69d9b03c4f2cc66806e269c54ca708842be5008fe1a09adf14846c7c4705ebb8443e883330b01c0686bb15a9abafa617c45715c7301e4da1430c4ff62181803926979c620bf633da721c2aab2dc206248853285568b5a8842ab6bd7f668a63e8470ab883908d1d1b850d3d4a2a85426a43f0223f58deff21b5fd8a7c4f8f502a8b9c4b990bf740fcdcc439011233f5ccbd2001e88376ab5f4c8eeb16450e06854e1117e88bc5e16f10d54702873808d8a2e80673efe58c35606e6716b6a07a03c1b8b24c70a06e4f379200a00f643ec99944dea01289130ea38f860a072e380f6e3cb73a18fc1c189e471d7fdb6f146d4f079896157eb4535ecb424754be3afe80b8d42fc2b1e38ff401fb7be40d612c9d6d88b5158abbd8c844aa0c31405175b0348b96683bbb5f363f05cff9cea73e851010ac336b39300cde24c7b8ad99c6cc8a81545debf5beddcc4c54069cef8d2d6237cabfe66f4e869809cd71353e9005e62eafc6d75ccf09655e0ec690921f2d2bbe91fa61b5a6ff48e0f8395cb4e6bcac903544125ef27461726e3aef64ab99b6ed70306ab7b818432b7b4ba2765b6cd323878979f8aa0e8020768fcd19570fb57e1ccc47d178408e40569385ff31d6dd3e6412aa099379202598ddec4bcf1164ee38fc002e2fe59b3dd467f7dc8d728688474c414a70fd0718b5d93981edaa8fbbc1002f9b7d79b17d19b534345c08c4ee3a9b10a7f0291937d5ed14cf5e01961402956168d229abf79d9d04f41c770af708a0d956784518399497461c36588eb895d11bfdbc49430c28ed797aaf27bdcdf0f4fbbc9f9a8a5200b0367df38d0220476bc5392de0429c1ef20c5952f11b5815872e14228b3b523edff791c7716001876fd21994c8fa6aefe8ed4378b9063d0f5f859897570fee673a487dbceaf5d15f9b6011f9e4e6bef9eb3460781ac5ad62e1f4ee964695f109989bb130dd7fb2e6190a48403f78ec853b02c558361770ab5af6d76d224ef7f9ae581de516309f210289bd7c09c838c4261f6583f0809a35cfdc0340436bac5e92ccd928bf023e1d01eae8464af9177370b231f5d27499e85e3189715661f03a271a3b16282463efc65277550174933b36341e1009a4c6f1c2131931a30166d1de679f29ba3437b4f063ee1baa50c175d6c5775d11abfad3a28f4730d7f874f389bedacf1e2dfd0f220a86e3059b6df85889a56876a11bf29d101cad8f73f5415c70be38128f5e5e22221fc8abb9fe8e5a4a596fc94dc901c88146665ca81bf61dc9347073043bd27f45dc34179a0275743e5755a728cd7ed4f8f12d7543eccc22ece309d3f2c4ed9b9fabbd0cc98618755dda0004eb870886dc04a1ed183cb3f043aa12b6e20e637ee76889f28dfd3ba7cd5187526f569ed813272b0b0499eb4a343ece856ca08870baab0b32de024b851117faa313895e27bad5b1f3783633c7693202477d469d06d1a8bba3f6ade5b0a28e4c7f4612694998f850ad738270f3137340053117c09e3e8f21a496ac65051bf99f591d43557404cff5ec3c936ad5d0cdd8b1cad7ab6e7e3e9b4f5a8e4c637e9211e6594ea38b3ba37b9adbe8b6633289a1a3d3b3b0ca9cb577d8a2bc4bbb6e544475d18874a34027ebd6229caccd0726d76775fe54554e6ed14427e3d943b7e5a063b270641f7a928efa9f015d06c1ad16e7b31b2cc33d150e86fddc053b6247301c18bab0b6173a462472d27e06af0e6b3a4f7bdea32545a89322c3c71f02b64e0068204aef29e485eeea0f74715d8a816322eaee31aff82a5d3ff23f0c322d733143b7543b47e3f3fdcc819c2ea621b741060c5601fa1c5b5298c7a7234a2ea79374935a11467d97de1347ac87f55c8ffcc7b888ac04a7f8c344964e053029b0e7003a06ba3841913c26ff15ac7c3a3f329649fe5a3f954fe65b2825ea2d60d1150ac3451264a6ce5f8ceb34257e35dfa271b400ca3cc190453a1e33ae23becefd8bd37590ff1542c15e978723aa4468ba6824e82674cabbdf542506d4217031cc6dd51e4ed9c46dc12a2402b446523f66ce2d6221f0dd218fbace9b746747bbfd26785a0d928dbb14767157b14c70caebd4c5a40ebfed19cbd03ffefa02751dca902fe891f4928a8fd044882a0206ac6262658022e12e32ab2ef2f643e895455d8257312ca854776ee9224a2bad1a5a409d0a1b19b1d10a75b7a53bf154aecb47c3353911c103b55149655530e075fe7faccbfceb5ff9722e2a9f8469d86930a9e1b7db2cb0bb764b23ac8c01fafdb83855608e69756913202ac30c90b6feffe022240d98547ca4046004ae02831ac8356b3b9b68c0e6a42db0edc4029dcee40236e874a6804f1a44361593670b490524d38f359212b74541fae881752adb7b4bb953dadb7f0779037a036c033a72481292cf217fecd3659843c25afeb211d975f2f6bd613058acba5344cade1f603ac5b8a113e6082684085c9b12b17878c12e07dba1deb97bebe08f6d86e1047f1ab4f0bbfc235a30753a850d2b8613d4170eb811d29c454350e252d389bfd59fb74e174c9dbb1be056f03209bb6cce27a65cb4833974776710b08181c03f219d4d23404472263059a374b874c68e671340a327d65cf8cc80becbe2d2b83c2e91cbe452b9642e9f6651502d64526c4e6239333e729c65b148cde8389b80fc8607dfb17ef8dd7914b53e5669d98ca2f0d0823dec78448fe85ebcf5f3f60b0e200893c72b5734aecdc77e5a498161c30dca0b29988baa6ad72ed1d6c76a7d95a581e002b702c28b50a9370f16fedc79534335af7bec0c82fcfdcf36ee72fee7c9652332cfd3e74dfe32f9dd795f3b393a4e16332bd666d48832a4ed502ba38af010f1e278a4e88327397ac07889d35a0145c6f5f3a019198d37eb10681a747369a242ab5a0bad6203e6e0dc623446875a4b1cefaae6f4e77efd2e23f8aba88ae62cf7d889d3f3fbdfbd93c66837036ec77486af53876800082d4d4145d366d2eae477ca68c020b91cb9284d3de47e00dddd8946fdb94fbdf7808797d56bc6d6c71e914925f33dfc3bad531468c6691ad50aade28d97d44f4f9ab545140ed1c9bf62ef1c3b416395b6662b6bd7ad94cb35c33c072736c35173b0756aa55aabd62b1a102d88367461a22e2ecc0ad8bef7ee8ac585eccca509240644569a0ca43417413c4e9c4a16e2b473d87bceaab51a1ffb83ea70efd7eb0d7b5f2acbb0f4c73e9f5a3fefb11ab422ee2ee2ef21b21ce2ee3af7bd9792ad8f55329f2396a4397cbece8c525d404d6fd8d937a9a588c1b3c27a7463f49ffbff8fe3126f5377f6fd0ac075e57fb0ea54a4adfe58aa685a35e4e3b846a96659d3ac89d668d57cd594d5a429f586350c16030e05bca76bb8ca2a8af28a5203f8257a3ffc319a4871ae32a114c39169284401a4c75aca0b9ae00c301ae1cb06d9dddde517eeb966f7261154d5bafdddcb0093d2651518b2066ff8e820d2fa2279a2b1a20c72a3664dbb25dd94eed295926e0debb789347a632325118c963e6b165aec608dfd709e10db99d9888a3b11a5d2f07a11a2e11bb2ffff8ffcdefdfd6fa1f3c6ffef83e2f7ff322fb58002e278537f2c95d7f3e74eddb9fbeeed02e3b0e59565b68319761476e26b3c6e566d3f4633e870c06f62cc61efcbbec120ed830d35432a16279fa2539c757a74f2d188eb40a874a48319315a5f3c6e7e8848362e8c67522daeae27d1519e38ee8f02478f9fa21d493200055043a84a64e463930c8225d5d0c41afbffff8fdfd90d47fb7642f8ffc6719552eb6397cda81688aaaf0e1e6238082e8ae3a0a4570d0dc9f11d6bd73d45dafad8a90e9142d5956caddb4ca28448cca0e69c86b25c85431a00915b83099ba00e2318bac2ec05c8153e564f505b402f90acaaaf7d2cca9c15e9ecb0697daac64ce8ff5c1c7f707dbaff2bcb6d52fff949a03bb76b94ae8fd56d30e736d18e5358c39f847dc43b6877f73e2ab63ed67844ea1147c90e1f9ea63548397a62825e65d0a91c7668a145673945ca4cb5c5f494edb3d7be0b2c22373c3b45458d752d1689ef6f35c4b11450eb63454815699ddc935d06b416c07b3a8ff66469df5b05e9fa580db59284e7378e738ead8f45eaa42e448eb2a46762e2fabbefb41dc7fa7ddbe2c101802ee1d4920aa8175a180051b2fa7972de380107808c321ed7161ed6f3ffdf77ac1f7ef79b64eb6395cca7b4c4cd74c7ae86ea14fdfe5d596fa1f85a39c654856127af4265468f1fae2de9cac9bf6e2b39313334c706fe2307114ec3dcb75560ce3336059840daaea737fcfe9b1b0ab63e76581c31642ce96d77b819d77706dc76f79d93b0107fc290a0863e6d443939524bb52eb21a7befbdb5be02b63e36382c1a8fc8125749879a017197e65dd080961975614580fbc35e79a263501d51164ed7aae99b9c81cc55b20733a9ecc7de5b6b1a26cd93464a33a5a1d25469aeae1ba4798e2d73d2d38fe47773710c246d7dec940490ae840797e044f454be249f744e9cc94c0a4bf936a3c3c4cb2683aae129c38dd77e9b8b63a169eb635184a85a371be707585812d6eb130d383fcfaeba5c2e2ae8bb10ed65b27677d9dd1d829fef8da435fc29bc806201832c94824e7cede72e14c691080a48602d2c664f2b8e093893dc8e90472f6e3fd47844b32314fa72b512c001693bfdc2620788c60e2e311564842d67f842828a4a73119138de515dc19ffbfb8e425b86c07fc5bbba33d117206abdf7f7af8ee328b8d6c7ae089f440ee2bfde1a76af926a0dbf2ab1911ac3fd671655ff77f0f6eae7d1150b08353d04a1a83b896e83b1a31c707140393631d8c64e08af9c6ebc68489b4a488bc4e7ffef91b9c01240b776e8d0a8811dfed8660a72c872edf8a86183f610a9b0a6283653e4985ca7a8464aa70c5301ba92164eb0f94861e6fc1882c9099b73d000903af3414b110366474c468163ba1e818b23300c8fc040f3ce9568bb86e80f2a6c5f6045424ec2036858886a6054745c9db80bcf4ec4d033991028dc70ae6a454421dddd9d5b1245c7a7508ce7da37b3962627c574f3e2e8850611c85f5837b2a21c19a013713a5eb8783d4468079420c3bd6778deb2ebfedbb655fa6a7dac5299d6e978ffffffff3cddffffc72faf09038bf71a64596db7ab8e1447deb846381c9d7a1f6038eedafa5860705834820872f40f32e4ed7bcfdf9be1775daf759998ad8f657a6a1dfc01868b8cad8f3d22934a264ad1d33f38ecf15be25a95ac4b6b138667b79997b3a309456679a9fb8f71f3fbd7c9cf6af0e1cd828027a34b55e2c18565085b1f4bd421c8c0d1faab39185208d950a16456d515e72ec1aa1719b09a29d58bfb5959d71030ed8504e90e8c0e1a2ba2801be2188ee43f50e3d4c65a641468ecee716e8471eabebb52cfe0bbebbd6f1c1b15b53e5669f9218c9aff7abbf011107659fcd1d175a0079f815b08606797f97ffe7ff7c7b36d99f57bdd684153d2b015ad4c4e90aa10baa845ad4f6ff129f23c9036d57832c5dda4e168dba239294c5adea916c029ac1ffe97b77bf7deb22cbb4397571cb10782ac08e7d1759f358ab0fe4fe1bf7d6f9d1375f276e378532d87b0e6bdf3dc3d84e92ed213365f4496ffff5ff7ff063c2bc371978361180623b63e16a707a848e943802dff77ac77ffba288bd1a86623f6a78005da9eae5cae4140ac3ca859a05259997915afd0a0ae979be1a949cc20d5b95d6dee3417829974866a6ba2355293ff77dfe002a98ce745732a6ec78fd996504bd7cfd898b3bc1bde51686d3813f1133d34724f4e8c94bac8f8b1b45cd174f26a30384d525514d1186e13d07d97de73beb50a5b1ffb8195a875bb183b32b8c475d1aead8f053e88b4e0bfbbc3da5f34fc7a44dab2c0ff32c6329456e54c1cdde32867d9efdfe4ffff4d2c50795e11a9b02023ce10ca40c51077cc7af80ada972e8df7f29a41b4cfa7ee5459cdddffee3f84f72f0b1ebcdc924a1c8f56d07469e6267c10b91c29579e712a2f6c4b2e070d7164c4d5c0432462a172ce66ba885f453e5c25e507cc3a354c9271f502b325df777a813a5dcb4e0dcb8004e40c29099032636eb41aee5430b87baedcf1df39c41cdce3e38f85aa48fbfd1f7510a411dfb66c8025854e5ea6068b4e519fa7c9275549245d8141124a43995c1c4f5d1fabdfd99d3f18b322a371f502cde837295ca90591792a0ef5687119468ee5bd43b405dddd163c579667196d0b9edf8ee627fb9775cfe18d38c040dcc9614c9eb5ed18a7b28c5c36ba7a7cd9b44b15683d37c8e8ee8683221883ff71cc246d7dec945a4561baa23401df430cbb7bfceab021deb05c0099665d7fac70d288e1809a9b30a4d813c6132e68749fdf4d06ceb2fc23614c91b690f8977ec8efd386e39680cf3df7c2c23a21706b58f35eba79524730317089ebb24d6aeb63ab3ea279ad26f1a68a1db4e039035272f1053c79ad1c2f6f36375a78510ab89d522d4952ae62cae84eb51822c1e104db5a420ad2e4413402a2736339554dda89602ab786f5cbef26648e6c201a925821ddffffff75fffff1bb79225e48659d9bf76e4bba3e56bbc326365e842a388229c21862e08170b248a3e0926e90de5df7ff4217c7c5f863f885b5202de15b748be9e4a3a870786e88ce725e4e3ec5ef7552ff3ffc43fafdbd91c6d6c71e91259049b745beeccbe26433868855595e56b3495d8fddc42dd3602b6ffd5c76629047d80e0a854d0da637e414ce89d74c15c5680e05a13eb8c3701c57955a1fbb6c46b5be42a896f9871736ea57c33c1772db99a8f1e5e7410926b859a33a36914f41af89d2480370f1344392cd1697104888a62beceeee309b40d09f2b41a0ec59144ce158545bf4cbee0da7d5fad8af32117069532a4a0e03771c8bb0c3dc7bfe99c659d1833853fad71b86e15dcf6bb74c35d4c7f3f7ffe7722270cc73055e4068ac7beb7454d63d6eb28ae3787388d35159cb6748886e4ba098be2fcb04c2202be9e9776fa466eb63a35a1a04d257ef0689bb3f8b7ef70e4109a9f5c7d9387ffea6e8d1d5c0523087c64c0583e055e52137ef8dc97841f214985484f73dddc76157f3ffc7c076840df28d9abc51931931ed9cf9a181d55140d4ba7155fe4865ada00503ee458b1f1823a73121e2ccd972e0ff77ffafd710b0318d8a59c1b8519b71c125870f2c1b6f582e2dbbb745b6a8f682b920aece4e74001b6a4e0a0401c89185c26a44224bf12107564b5932481dd756defd38fee9697d2c50083f455fa2370c0b595fd877eef193a7e8f7cfd3f1ca46e497df6befad350e65eb63994fe9945a45c17175774c4bcf0284b6a2a7c824d69061a35f384967727a73e512f3c0900f2cb378478c8376d9bd63a8ad8fadea1231d791fca8540f5a8b60806106d318680420c360208a034190f10014800514c864a86c584048403c188743c18018180c02466130280c060201c1701804c6f06caa311edea70831f3c865ab160f3f595176473a6d9f62fbbd6ccfb859fc6c58fe0a025c23ede35128bb092d26f5bcab22ef3538206bdb2a629b4e642b2501130afabf33cb888f61f7a1de78b9c646038e50ea50ae66ff3671e9020cc222ecd115b7ef5864a41e45e0c2da9b013f242b61b1a6ced13ab55fd6ce7137c4906eced8d0a6313f138d623ce0bd0d99ade0c3a01c4eec2b5ffeb91cee211587e99b435d431a3ba32738962e35ae2171c51211303f710c92ee7239d7dd5ec73b14f3ef12abd20f1b0bdcacc970d492809fec9155add8c695e604a10ba595e5c6fe9d7b25b1c7fa4e57c0713fbe9e0395db994b7ff3d3a12d52b03cb5e628297c454fab9ea6807346b497e4d327456114794fbada23ae6109bdc11c024af87925478756ba62107259c9c08d5714fdf9052690b6719eae8863c5da6479b52388e399cb2907c059e803d1c5e6121d489f48ad34883e0d6ab09b0e9f8ab261e1f447d39430dbda3090a2abb161c92ecdee49bb97dc97104906852666b44e9863caa53c09a34751e11b453af082ea81a45fc5d915afa66842a4954abaf085821ba564a831cadaa8e9639d2f6bc15117092d34eb12346da257d4a403b82f6acf3a104e4b1ade8a27876a600356fc89096a508619991e8c360dea205380c390b7eea7ed5e3c1870072fd22aa3156a7d716b82bece708d9e8cb8c3b3fc5f886c9c08dfc1aaf6e04a39b00e3a09df9405d66442127b6b6eec32725d2e4079dc2d85a2f3952b9bde6ba47a25c435743673767dcda6e3ea5d3d880729cce3999280d3037fd38c98acb904d20a577a31328086e7bfb157c84136558fc15ad3f988bb07741f5c96d335016d2da89b1d5faec54ab59e206c337f72cdef0b283522d7a5b43154c352cbf3ee03ffa665a0a7d8ca0b85665a80974b171665b4c10d41b25763ced81be3abb9de1beedc7fc894d1d990d69e37a9c3d3a06a7c9bb8146092c2badf15f9e2832f1c1cd1d12db8575c1179642f305f4ac460bf7857175a4643a8c8a065cbf6aaaf323b8605e8566c424728383483eaef28214697d7749c551fef39a45f759257a3a30a35e56d4b645cf8e7c3dd5d09b8450aeef8331da11be6f1246a7ff32e4dd290a715841921d5ea46d462cbebe850c746867cbf890976a1cb041736f4b4f7347313f954fff8430c8eab53178c84cfa9504d143c4c955c4324f3f0728960442db1cf477b954dc5fe4bbae4c882316be31dee7a0174a2a2e07076162940e3aee2db5ad77233e74b91b5fb76be5233f52a56e936a8f4134eeb9aebe54ed7b84bd2fd25cfa5fd5b51027c95f99772ce69ab1a906a8c49c20ba4a7b9f29d1e75214ba5769cc51f661ba9f0ee35f25e5749ed6ab103db33c46c578a1c9a4004794030d342092c0164c529bd5059d2a5a1030c7d101745510e23667a59288bf69f1dd788e731bc971503da1deeb2500ff1fd94fa736f078c86145f80245cb738b03dfe6ad7059428bf19d9cf0b6668caea41752c854470c8435e9d9b66d243b9325fdba4d835beaa827df077462d39b072c42ec01785406332f59e24f2ea9d3d32fdecc321b14506ef3293033caab8c1d920b46832cba810c8d68bd3dd235ce9731edb1e9bb276c78519d4c82355df82f670ba82c4b877cb7be5822271258ad0914bab489c3ad5e3a57256386c78bb10aefaffde11ce7cf0056dc224e1bac5922f5b3ff1e4c9ddd509cbe557d0330004e87632666943f4f33ce4a0ad0963637c172e06876053550fbb8662284006e3483e03ce981f7e57d016f6aae6a69671e0448a868172fed4b9943708a5a7385cadd7123191e61d55362e17c91e1b622eb2d28bd7c662bc98572597e035fc10ac54c60c39acc4702ad2f7d9879965a8aa0d620009d844fcc1cfa4c313123e33c89d440bbd58500d75ebc1e12b738cf17cde3747527163e06f262d19d01b1cfbf706cf2f21432b74f9a6d6973288681325c6cd11344d14c5c94d15ae1ff51b21e99acd29e79c9abe06cc2ae13b3549f2955533ea5cd49677553282ac0ea272dd14fd14e4591ca8c343ff78d2c2cc5fdb6ef151fb26fd50d0791e5bbb393a3aafed3652108d6cd8fb30b13152d39d5d98359345cc3e05d454d41cb1f0178a8bd8521a8140f84b0893ce54e3099b2571c50934513bd67c13221259e7fa6b2214ba7a024ec7c1b54a87ee301b65c11e7f765cb4f74ec120f7553177dfd4cd404d9d062a0ad27ac504447b9705c1c11bd63239dc61e0d1508ee2c245af9e6ee8e84e7c9ca6cefcd6f85afd4ce640883d6c07901791985840e86bdfbaf9a00c54ce244780a3af5ea74bbd885786b9224eb8630b479ccfc08f81cf980fca102bfd18114d8558cd2bb77d8c00e1812b14326086a74843c88839f17ce34dff85f0c37e27303196b26a41b180dfa9e38d2211962f68ca689c9e3589a95827327fb440c6dcb5d286faad59745b179e406f5cff59f5a3b9e445bca78bbace0c4678d7e031de56e6a173abae866f757f8e0a03ab8a8ffd6fda3af2916b73d69e5ad01b091bf5026a63082e9f24c96b8b33304d7f2613d55f80fc5c2f5134b9d1ef8a30364d612729f442c8c73e66ad3acd21579733915b05b35a9c8ed1c07ae517548d6e74eb8d87c9f6d67aab0b1b84a92e88af97b253f0d8ae27bf1a56dbfc7e87fdc3642b85c8348343bfca735705740e385d3910bbc1a119e5ddd9e6fdca79475ab9261a21cdf3f46c2d8b76e5a0828ce87edbca7244beab3ed01c9176175ef0142704ae919d9eb224ecc3737a6a580d10072a67342205379e8a54d777b8ccd0cc74ac977d9b5c49b300e03873ef85acb7fd7b295590327a649455c721f06299dbfffe15f9d8076d590ed27814acbf9534f80387dafa7f9ad5ef13cd8dc9b4d594ac9c4fb5f19a23985aedd704f9249e17c08ae298b0eccc4ba171b7a41c835419621cb7c12d358f8ec0c0aabc1239388b9f22e29a37eebbad3439f87fc90542703f02fdef789c8e86966fd7441c32783bc5a625b7f31872b40855eeedb08cdbcee7354f15c732c6a509e201a54e19551be948a115b6aea2911f94acb726bd72b19903a42dcd9bc70eb111e8038e56ed517b70dcf91e84e5d8da783bb8e53bba2fbdd57b1a2282191d3dc3c0cf7abfa5bebde4f95e1865f109ceffdabe55571c79e16f07972235a5c134e765b2206825ff350797b1421d7b71006bf082f0bf74550c8ce3426a7ec0ec769f991b32817632e99f973bb473e2748da6fd42564de2d03b2e0a89c21d7322fea5c0d8e9768b4dadd166ddea3ddccc067aac5e422c52c04bd66bd70f8e96a1cb364a529b160857c1e8c1bffa0caddbd26aff090a506a45e33ed491f242da98f524ee0d842768ba08e3050c27ca3441b3881538bc0ff55a64226e66e5d4ccd377cd6b7cf1b621b2f687d1fc03eac8bc353028c5f5da5c60c8d73bc2cb05114d9017efab64b1535c454238000f6e27a308183218f135a0d4513989cb80fe5ac545ebe3fd000a4149b88b502db020d0333fa85e8b23a93b07b0f8fc0091a4971395039dc30cdcd6f0f86e7cab052083322711023c778527f6c1a9c2e92dbd119b03449effe79e501a431da6fd64f927694202ae3d093b2c159610adf663c37caa50bc22ee8302eb652bc1bac2060f707411a4c58e48747f3449e4842fa43b4bb728e40dcb7dd736db2d404305e16a70f4410669f384a0ea10b67519af39c0a2620b157580f9aff28da23b85994f641b2c3b1d42dec4bc96e67cee9f2a70a4c7d066bb5d4df31491636c5d293fe328c3393b5154cb1c68a15a98521d34938c69ca0d381a543e15ae0c73d433d3b64fd00e20ab4728e4813af220ceb3e0f53055a0bbd63255560e9e9aaf3849a0afdd1092d4c21a38023a6d6af2f2b89805073513c0c728f3075e030ec21695467d4486f70da618443da09b6ef010026ba9430f796dd4f97edaf872ab646e2b57d7d4ef8401899a5b7460c6f3f430b7198ff4117e18ee7882481ca14ee498429edb7b9e360399c8044792559f4394b84d7d25c43db368c6c82924b1fb4a8de1ab0a9d94bb2c4fe0b32fdaa6dbaca95f38e6c8a7ba23f3a46d0a18f33bd327d1816cb6df51e0ac3152d494025112d9d27e74e319a2d46aa18b5c726d6e331372bf70c3282bb868c8a8b437812759572b9d6188115142a96eb4bb2c9b77fc7e8e57dffda85d5f54f72f1b97a34f96eec9c8bb83de27812976c4eb11498ac86a441322edac0ac7ebf14b67194b8e1edcd8a2197eaa92071dde8185c346abf108537eef5b0b30fb028b1c07327db4bde8287f6671f7899d7e20c5634074e6e48ce8d5e2480654c9739318609e9c41c0620a95c2a33e035e7d43ae37a07a60b4645f227bd4dd43dcf65efa3a454d11662c114345134c55cebdc6be646b90c2367e42ba416387f8037d4e1e84f60c2f5d21f44770a9ff27f6c08f0b891c22ca504f4b5423084b9fb073b8ca77216c9154a7893e89624c4785e4c5e091c22e9c08967217cb61ee321782369321041ccd4a76cf64e0837da431728956128a4030b34454b254e66afe543cd17daea6c6445414e17f2691a6613795d6cc057d8dbb208418a9c405380b738ce4efa3a267e26eb188a597186c71534e95ece1b0400cb685c811d5304f97af8283db4978c08b4bcdf271974b751a984a747ec85dde619acfd524764dfd8ce42df8717bc1aea76f486e4eb785a8e921ba4f9225532ed677dfdd8b7ab257bad9901a4604b9511293fc4869ecc71ac13cf0a5bcdea78392fdb2d45004fc8fe91d2a9afee53f93a6db90894f8e183648ed89073147ac251a3a0252db35f55a228841d0bcc5e68e602a8b86bf6a5094e6dae8776fdb75c21e873ae116cdc3b29622de256cac2830b6821456fd16e8c3d2da22294b37a34aa063c272e50a334bd7c931ebb4fe11bc90fc274f667d0f44158e2074f1e72d64fe40343419bc6e08128bfcb50657b6fe37593c13cec5f5481ef770e59a91ccd8503d1e72031fdb95685565073c9160092e4319a5d1ea57105d7aa55be7fef54ff567aafbb613f73a618c3760c3530d882c4734205d8889ee1213250d4eae67be8541cdb5d28760220eff46e30c0ef82860460e44a476e1f5433b73d61429ce76098595c707b57e8717b41289105d5ab6dca53155e41131306f60b97f5e546af0422aa7e9814574174872ae8650462444290be4a82ddc18ca624894e53619c23752332fd922981c25cd7b2156e30dc112041f9f079f5e3b5499868c2066115c6cdd964714afc00f6e5424f722eb9b8104e5e22baa340bc22644702182f96e25e82cf3bdb9b56fef52c15a06e4781960fa7c0c237597da20ef5bddda3793cc465d205795e8d66e2de360e10b3f44db3a6899cccc489ec9b7d91078ea3dc7f3117bc98ffa393be4a47cad27afb237b6aa04606a9c69fb85157481da8e5502d3e5c76955f2978425f8fa3878f4da56a37f41d4664989871e442ef0e527d51312c672f6176de87ef7d579a52fbe222256c71c6cc294928a8808149397e522c05c9a94a909d1f7f0271bc185cb95544a389f83e8326295c7d142986e76f961963718cc6bb9a04609bea2c4a99a791622aac28712f6f5f5370a97b381c54030bf69b81d95fa621a7d9dfa0d531dc85685f402c2aaea10fcdf47b21282f5f86f33bf0019f32abb11ceea0ba65741bb51aaabd3ee08bdd7cfc31bebf943f270761658e17381ec17b8c838235a60ed4de59c76fbc4d47e6d4432b86f3bfe3a37a7e56967db67845db3d58da78c41b4312ac665fac6aa0adb5120fe39fff5b97169093355c85421a612364578496b088bf1abdbf0317e6d261f2aa1b51e7009f99408a00ab7bc7a1fbec0b9990b524d92217f01cdea650d80862412a37468e8101b04e508df1c29d483f0faf1d9d630500c6be99932af9964614c20c7e1443eb9b85c2ee1bc4347c6384c108bf6f0ab1a2403c5937909ba61b1e7af02f3234793875fd30c218e9c89018cce2ef8744670025eec46636dfc8752e814770e3774f777f93f3cd21ab5366d6290cf40f17465c71fb013423cef772fa6587bf8cab5a8c8858f42bd8d67f8bd0804f96c997d9f2d6d3119798cb4def309ce4157878dbbe0991f1d83b6133ed0b94f06470a714bcb1c482742e3d9a509dab053af789a20c52ceeceea39a6ed899c04d85242be17a547d2ac0335f909d98d67fcd37a88c0cd734f0410283d0a49097d5b66a9ff1e05a04b9d4c1e10eb5be1c6bd8e703038e8e60ba3dc37609f2dba0304dc1317e913cbaf836c622cf137063bfcf8e1a25588035e71fba72eefd8cba14bc3da02339bf42af048aff6bae5b33330ae8e4c358421022a9ba12be44af3dc1094fe4326df9e436f24e47b667594e8f469f94a1e8eeb4673867a24675d5442685e4819c7cc380989ba0ec6ae09d57c0ad8d90114078217714967fcc34a8364f2370d8a4b519991f4e99df31dbe56689826dfc20ca283eb980d7c942e422936de8520d0e63d2a26345a9674ee28d9c1c4208b195c7975a0f606d3aceb3630052d0edb9af5040619e9cd0600691dd55d4c394da53cf4c2a05dcc249951fdeb1e1058ee6b9df72c4c5a3a2d59605ec98bcc3196a429753c1871587905b1fd51c398b033c2176c6f5269ca5543f142cb4b236dc80144650b52471d1c6a0b462f41d718191277c8576d02ad103866735fdb2cc435c5047ed5a041039007040cb2e0d13f816d57d9d057a90ce6b50293c4293b1a17f9ac752f1c228b4db1b68743d0d4cff99f742ba5ea8ea4521848b792018b9e1d71edcd66d6393eba0dd226b1618419752f02a7448ddf5f44d506a19d13731dacad21a712310c6a7b223ace78872832eda0a316a6cb7d6251d0bf4876bd27f83270bd7241ccfb70228189cd7b25e7397f653929866977a87a883b8fc3586aaf7b05957de8cab4a1902d43c99dbed784f10c6d2f057caed453c812bce8ce02b66e1088c9966d7645b8cc7380418a96c84ad18da2f3d59557ec673859a261609615a8107af97e1eeaae2de762888d309842e296035c5b233f18a0ce35bdf97cf5479bd204811a962da63c87a24fdfd79363c813a28cca14322e937148213dc1d12296c48984490e2a43a5a4f00c6633f525aaeff651ea608cf2f1e0f9bb108116f6ebd9624b6a6890877062242b11910ce9fe20a3cac8f0e0d716ae2564659156453448b0a99e8f0d73e78b19dad8159d70d0b5039f281342f9f3668620896d41f30567ee976d67606c487d0ce71f7449c00b57d8d86cd8a5c4342302f00c8c31f7c6146bc486107512cf6f6a93b48fa8ec60081df2a33fbf59bcd116b67ea42bc79da5da8bb033c9b3c1332f7b41ebc5aa2daa221fdd2ec8c856af775dc6415cd6f6a631a8fb6e03c107dcecff9db6842de88a0e8c59a0c768ae7ab32abff4cf13ddfd5ceee43da897b0cad617103deb76a07c90bf0d059603dc64c161b21c1e7506204ae9ccd4891329bc07681031399f64ac43dc113dc2165b67a2351c761de1ebe62244f1d651568d6014b5ae43db3022e11539f2e60c14ae2bc08420f9b3e8078f7c72cef213f89c2e9807499f986b50ac6064ad391a394277452bcaecc3da4b6982bdbc32a998fa2ba0ccacbd376187b06bad14a525e1fca24454a6bde18ba2f8a45d26d8fbd2255cfca21835ff7a170bcfaee59b70059ea0078e092166d8f172336111a0612582b7a97dfad4a1d1914bb2e696192220a9f46b58a558faf095a79be90fdf7b766270a34abf2c8e84254c6b3946186a4a78990d613dd91dae58912c98d6118a83f051c658094ecfa285d43af9ba76892a05213e01877e710249235d9de01f327816e53ff675a9f17380fdfb05179ebc90de051254f8217c1f60b29fae2201c1238c88ded14bfa60c477b4125618a5f42e88cb15c6c5072764bf91d9273dc5ecac02e3d5d97088992c56c4f8d4c7a04f07a1224c94c2a408604857e05cc64c599ea02437c1627b79084652c28962934cd6e1601293b93d298ff026b693ff0f29a05b0d19820da71187c259f770304c82a709001c8c461c07946d47991e5340186f9f30a2eedc05d85663269b01d84375653e54a3bfc6506d405f132adbd0f5538b1bd9cc6a1ecf48672d64f108e24ed29a6c3d29674dc252b01353332766d572c93a52a7d3160d26b6ba2c2d5881160f467c50902e45c6228a22471545bc72133f2c56bccae56625f9df217285b36fe97e4bafb7d9375eda8cd6221df36abbc6455de1b5a82ba0ce3da2626df249620369df70b634bb11c50be62d85d51d16a30df025db543dac3a559db3051ea1685d3569863ef37f256db729fbf9cb47bb723726a4ee7e95cd6afdce59a0468af0aa5520ac6370488213965997d82464dd05dfaff014f459bb63000096dd532a311fc0d8d250d9afb28a6b99f0c932ee854daf5fa02c38ce587085203fea108bad16996f79818d89cf3a941cf52b52e710ff313acc0d982f2b025a4dcb079f58b11a2de0f8ebc01e3543044a79dcbe0f7f612390b2642776063d08725aa3dd845d734fbb5353fa85a4c1a6fb2b8c04a080099ddf52ab0d9ac05e3bae9aa31baeeea6b7d13f0bd6947c4d21fbb84c08f96307e81290cb11b8238def9033b8c214534c6a1bb145992504d4da1ec124843ad136792ca21a40734c54bbb3a4436bbb513241efa5bdac4b11cd5be93bc0e2081b2bc250a26688328ea061a2574e1674fe19a9324b7c53760759c06754a8d05fe2aeb568850d9eeacdeae7ac9df44a355e4da4ae6eb0432c9364f2cfd9f0c079940f9089b67358d660176947deccdb6a22bb731edad6d6f92d7f6a8feceba3da5b28fac56cfd45ec74fb0e878674d753c3d0bebf029caa62d86531a5a6f381a2be5eff597facbe83d0b44cd46ea681c42c8bc9d9fe3a8533a31ba601d61cca2c9e1d173117f4010a397dbbf18199bfd9f41e204c4fbc4a4a231e4b57e77b48d341ba9d8c4c64d978ebbf5328f3ea386831b521b6df47e10e0dcc1cccb811c928015b029e048cdd26fe3d0040b72603b88e81cb915244f05e4564ba119575a0cbe8d634c039d6ffdc7a803d6d8a59aa96651a832925de471acf20ddad059d03ffa51602dce39409022be9d1aed95d23bd593113e8fed99723bf7b3d860bf97d3751aa39368168c9c33632fa25dc124046e6c883ff90079a7a1e190d438b01275bff03f21e508deabba966d0de3feafab9f7ad5d5a231988b229e3f777ba550617f683291c591d895adbcb40ee53b9d11defdcee3447fdc207a34abd9721c09db126d07b6db08d052cd3360cd93f6493147e16aedac2c600227ea253a5d4c1743a259228ae858bc814609230385457f8c06141a2df270d7c22e287e80a80a13501ee15531ff95e777d722d7b2d3034af5e7a4c01f3a69ea3b19ce74d3ca278e77874ccfd767b3024cf37c33c24c8de6bee41729a8b7b9f6ad9a88008459cb5649a64e0460077939191419478dbddd58aaf12defa2baaaeb712e6112963b644d715d1c6a69819ae3da9f80880aeabc84126a546729542d6f1b13dbd59adb83ea7ad470b460455fdc72dc19113a528c4a82c6f9cdeb2d3aa50d698fdda089eb874b47da12bdacd61f1987e5c14ab8367594dde399715d7f663f0fd8a90a6712ae45816a66200efefe44982fb9ad0d8db0ffc0bec89f11241974b5959d9bc59b5290777b8057c8dd8b893a410b3905bce14ae7415b87d85e8e84422cfdb27ab54872a61ecca4dbaa99b0e83efc187c67f26647f6402db7f8ffc9a71c16a4f5267e68226624ba1536c3ec425ccf127ce447a5380c6a3f3a2b2a09873f0871b55b2e4aec4fd9a96aa4c6ca874e20e8c5dd2c2adcbb4cd46e24cbea6a408c5721b440a4f6d93be3a2693bc5180bf906c930de55ef7222f3b931ddb0dfe61b025dc14e1bec1a0c0807dace3ec7a6b23cfbdb67f0b694877cf3ac558518e7e5d6a3c604fd96aa37534e3d5f314f5b138d42a25c9c54580a5b4c4888988f1b22c1768388ddbab720645664b342501285894b6c88cdead8ec4e966ec93b1bf2ba1028790ff288427b02be6f440d35e8d8d139ddc30e788974995ed2a429d1eac6b15fd5241479e965952643a71f95bb88e134cd7b2cc24fd23cc4da1da9e03d74f384d26a3243388f8fb3bb729f2b97b2b62fe2d7714306c054394c9e0fd5f736de83e94fa4bff494db7870c5fdab1e1d5f99a6e7f187b5d7e69b64bd49cd8d5cb3f03f8d61ecbee5fce8062defefffde356b133bfd95dd83c81497ae4ea82fe9f13147b5b450a235ecf22e66507c5a2d2cb60eed7fda1b356144eca0daea70f0b5f56d2ddc4051531db009bd4c9761fa871b61e6bc55807bfb4097df9a084c0ceee5a8977e6842fa447bdf6dd63478fea5bdee999764c285c0225059d8b6fa7d25f53f72a9db0a2f94e4294773c8413235989886448592bffce7c6fa05053faf0406c68ed677dfb209e380b813ea9af2e076df8a2e9db2636a2ed32c997e91065a47103b8e5f8bfeba79f195ff90860aab30a9d5443161125b234a63e49d3507d83ed00a5e8d8d6720754b1becd46c4cc89d6433429e2d58aea6ac0b297bb9083c8433e39ba5983f8adc53bfe21ee04cb7c70e6e3a3670717da1540293f3baa0c5b8b5dbe30ec1cf6ea46fc76d4dccd0b854e6d5abb3e416d4b860892dfb14ce21cba2ee69a244b7144542dec5733d59aaee09af91b6145dd2098b6232fd7ec0ae9c7758204abd8846eb595984b65f1441a718db7eda423d123d6ec7545c2e0b3c33d1d46371a1177675a855c51b1cb1f6443b7284abe654fef0b56bc742f4f6df2c199422f026afcafb47f745d041d9ce60baebf00b295915450210627067a47be135fdff2adaf7fb7b7f5b135e8592f83c3c4c2690f482e7749cdaabc956dd0243bc49a73144eb8243cb4508da2b33d3855a81cf47a03d6ac2162f25a8d1c0ae68834abb6f2c21fa352afab7d86284fb590456d9f6552635aae82a7a95bf1f4392d8ce4f3d8e998eb1fcf79f38a116e5fae361c05a69ba6239cb0cdc38e47bb8b9efa2d5ca14a2fa8422d3b1593683d4682a3c13db0accdb104b7dea9a7bf2457e271760cab9b4eedd867f71457c7b27f643bb4365b0fc98eedc872ce28aed51cf1258cd58304aaa59989284a4a6bd7948f6aaaa454ba1407863daf8b62f9c985cf34defed6f3047978df24e088a4735eb9194c3af2c810c373e1fd65f305e7887966fd124b13f7ae6de04c7763e07a24d17f99f8ff3740242821b2eb884d52d6ea2db48de65803fdaa6084cb867be6cad502df4ede5a5b429785d074210b0bf3a0bb6fd4b1fcb468c32016e30c1d068ae3d5e8ee14232d51757f06caba92942a35d1451b0e2d58a73006c3f47e2ee34b179e3b17aca02bc4d2488a5a1e24443588d902c87d2e6facb5a599322f89e1f345da0e36a69177d98a5bfdb1740d71cf691798aff24f42c4a5f4dd63afecc6105dee9edb3d93733075aaa604a14b314f87b78469723ef6015db0cfaaa470e9329d6ec053c989762b3158052620b984a2db6d1c70ab277803cafe689861b596e03fd8686cabbbbc5f01c6c52ca525c8312e22fc3503fe7091f14dc033c530b43d025891b3ae9da9310b437940fdd9feb3e2a99ef0e85cc662d8cc33d80a606d337211221f81d54eca21cd8946f38dcd22803f7bd4ee4a23d553fab5a688ab208849301bd7d23d7d064eb06a0f8c092926203913a89c286c4730b8c7c8e4ba76571bbf624b9ef9b50e93aff7bedb5389134cff84f618fe3e7a72b0a752fa155c604d29c526022e91503ed44e8000bd036cb2aa1890b0a9424c15deda00e52be2f216da53bb91689a9dfed56c154ffbfa7da78b83f123cd87b43f3f404f2fd218f1517bde12a431eb9be7847b9487e776f9783843761a9113b27181ccf01c387c61ef4a9d9fc7c82cff3604970e3797be4ff927cfc8fc436695e1d22a375c1ade41c745af77152335884674244b2033092bb0336331c218d90a22a1f2516203c523cd593816456f1debd25b7e51d044cc0f54eba4df57fb1cc7638a41368786fa4b3f04cc4f66e987042032926430d116008f359adb2be494aa1e1bef001e32aec50fdb75a18a61b13df11399e807999fcf2f34d266c34c10b8fd0022dece6235a30fa25725bba22764e21ee956c621c9bdb2a627604b375bb7c430fee8ca3732d50114094e373642dfa1cf65febfcc6e8388d8c6bd1daa0a42c242f6191ade87ac6bffc2232c4aba787afd728c3b73f6e3c9d299490b27eff99e4302094dc9f49a4d98037127e0e54e7431586abb5bf8f408a81202602456f56e94a1e86ffbcd4aeb3d9fdfaae0c01f06e2f4c162d650177c38b4bceb97dababb938a03b302fcaf5d15c394a7cb5e3c8144cecc3de9d58e1f56fcb54d04504cd758b9192b3eb748dd62ca3540f73cf7a02ad8df92b989ae0e6d80c0c8f5c9f69088e570c4e105350de4468a2edfb17a18a1ca6100bb74a047b9fdf781adccd4967dd1db25e014858017f8ec098da7a7bc098052eb5bfb155a60a0a51d97ba5f16ba9fc838ff9832d0d000755e599b678dd441f066c0ed29883e2390f2cf21992b8cca0a800f25b2320264925ede49086c796fffee15f8c099c54325c8d0493bb97f25c66f071c2f5e125456333d8ec5d15c894a27cb3b0ba7adb487634f1b40fe96677a7c7e71134e869711011c6e01ead3342f56708e657536cc4d1cce7dee1acf5e3ad389bc7b71573351f447babb3ee6d833b36eac7be05665c89b075bb52e2634ae26342e26542e96cd739d16a564014be492eea4a83e8e45d548e8d381d7e6f7de52ca94b6b6dd01db02ed02d802ae9b8555c3eb55108f131acfca0b22cd8cb11c1fa2c22a2655d018cb54dc56ae2491c37b6e5b1fd355a7f27c3f941f37cfe1c4dddd4f5cc8b84fc0a0695cffff7f77f7df6d5bb327f6a0dd671d25cd9e9e20e38b12924c0f9fd328ba7a7e7ca85c04a48a8e13f8cf39bb3f79ab4ef5fd6e7884229ec5ef80c58a2fde5a8f0d5dfcbfe4db31f192e4d1b4bdb50ca23347851584bc916386e340bc1eb6a966000d27cccc10d2c151c362ab7bbf088b43e8636017a52f2a23c5a6dc5d74a7ebcaba7f73617c332a8a8ef0c5c50f45961700d47e8180e96cfed51d60bed6615dab4e6d42a5ae41d8996b20d673cfefee2ea293c0ffb2b8b7c6023677ee19977336b363cb55a732b5d3b6c1589424679bb2790adbfbac0e6261fc68328fa5b1328ea89a966078517ff6b72d6fef9abbbbd7320d5a8c1ed1db0df76a5adbae38bdc7c2ccbd961ffb18f48a3c6894593b614a67361d7c998015fd1dbfc03cbcfbcc68774860e022c431c2ff180c5a922d0c97476f8610ce1659168e1ea44dd5e114e4070d0ff20410202966b0ca589bde79fd35038bab4e4d013a69db48f69d650339826100992c17b0797b200ffdb4b99d72c109da3a816405d55e324e1e44653f7c1ede7976ff432b3a28b16d6e8e380ac3c1c3e58806093b4a5b513882205900ba0aa18c2bc41940bf144a4ed4fdbd79d9d7fdff7f115a0a09232b4009b3a699222996a99d9d1352e011ca48e8b7797b9b189361d8a6c8a88097bfc0059fd6af07325aacb0b0ca2102719d0d3d3c27767405c930f142739c260e14478a7396d3cb897907f4ce35acf30f6f68c0bb8626d5c3b9e41ab3faf20a22a0d47acefc84e9c8c23c48e0e05483a75fcec9bd433e47db39218cc7659221f933c9d2ce95286c98f86a4fa790ac759467d5a9c2a293f1984134b95d0ca37c219a3d0a9e6301248e33ce30c655a71e3fc024df61cc00789c87857cccfaaeff9fbfe637e2dec69831ddfd63c77e7b71d275777d1945594e79bedf0d4a0a3c5e3a99d5104b46278647271f13a07a412b2cf05a3cbc2f11f134916f81c7bd0e06d61b5c3e967ee4f0de5537553c554292ac63b41dc1c6505a75ead3548818485f3f18fd36ef69235c015fd881c16a5151b289e198ba18222d1db5edbe0252dab9e7cf5d019d654f62af8254b28ccecb8e610d1de80e1b534d1fe98f30b8612b6ffd980d698bc06213135526c5ab321912ed10972a2e4a509354385364594db0148e908c672d8a471a2aefe17d4a8feffff38ad7390b851a2355ce157ad850baf9a181a358e60223241ae2e241418201a623aeb1b5a266c4bdd5fa2577ff3ff5feebba5a274aec656b737b805e215ac031f66c430a385b193059946c2ae5497dd29ff4660316ce6dfb8f818510310b256d9ba11f134d665d2f824ab889e9e122084767388dea766f8dbc019d0e1005343da9c07336570a911a6c6bdb02451d68ea6e1bab49c22ab6e85201088a14332e544d4630202321962c1463735d9ee3df120aeefef187b9485573d5a950294ad5198a556fbfbf75efa42e2d22a969c3ccff77c72f6e6df8710b2db8ac13feffd719601db7ceba7d77ff16bf5e73ba6b109d135ed69de33af4e5210d1d026f884590cbc7f8c3571033a82882a2e112e54267c8b6ae414e41c6b7e96dcbeeee6ed3d94dbc897b4a172d55049062ad6d596e44f2cffb445cf735cb42b07a29879e07d038884abe7a35451459aa492f46a12cc182f6bd3517cd9448adb6db6ddbee2ba62f7bb5c8f9318e56c2579329e65c6ddb1e458cb3e58e9645451d2d2b8001f0ebb138017dd630736219b30667239932579dea8c86984e3fd77bf79cac5a7d349de8bd5d8a58a76a96e64a47ad7d30314d359709d0e6ef330668564bfd808a69868fb2ecc7b3488556c94c8d1dbf58969b49c9d4c5d46482e65cab09f732fd011635edf9fcb288b4899d20633826b078f1f5443e95cfae67f3097d4a9f6760bd10c2a272e87484f163e8220516fc699611cbb0882023c6f1ada0a9a6e5b400d2d1850442b143484194676aa907d28969db6eadb3989d3b7e7cf39784d09deeaffb06effeffbfbb880d6ac54e0b5086c69687374a91458225c508281767396c6764225b2facb8ab0e5e99908d1de0a3b52d910feb54fdbaefcf75ddbdb7d645c955a72e99cea8a7144dddb16d5ddbd68518141780369dd4ff6657bb7f919cf78d12b05671916189d1b28d1c16b5cc6a081ce6c9ffff9f8c28c0de5e157181b8b75937ccddbf0df7b7c7adda75843a4b6fdb8dfc51eedcb3167922259c7f7814c12e7e15fbc560f141e2e25e52afb31cbd1c313980398239807210f18a0e0e015a2cd1a478a6a0c2c39f585849c7a65767d01556192abaa02a82c6153f23604678703761e72c138f00203cbd94b89656843696d8e7caffcda6eeb7db9bb5dfe5a669a801346a314166b3e22db4a4961418291154d1c122b5f3a4002cc593ea0c09a1a9ce9d9ae52caace7f9ff56cb3ff7fe4714a0d4f6319613c7a6b1bf18509402095d8d68d7c0367e504b2159b1c0fef258c9d9031b653f2ffb78d3fc9e9588b44ebcfe9fc4aff82c0626e0bd6e80a11ad2ad9219ab5f6515a75ead31452d905c2a799712bb4168b59752a30084454da40ecc93bb0dfec5a756a13ba41536a92ad768e935f4c26efb428a323291b4f32904e35581c90644473a47ac1c9e32a71ba6bcc01b4a4c493a44bd25da3d1b6c166101a9406cf3ea737ce5558671f6f4e856545046fdcdd4536d40066104121e3e990338c680630a63cdfef2683291eefa0779b792dabb3b76a88a773bbbbfb7e3ecb6a602c238ec48c8ae168590e59a124012480a9d199e18221c332bc55bfaf8e997192e89df1e3a3e4aa538f96fa886923d15640ddea8c731e2cd25223313592532345b5bef1d4a36bd7dd022ce9bd6fc61beb5c4656031d5111fcd27c3db68fdfc7deb656c155a7027db022ea9d75f6a69118c7ac095a88406a896f0071eb8b904d41e42085d24fbd2feefdff7f1a02cd192e90c05a2ea59ca9e915f6b486356690363899e731c678d869ffc0c8e40dbf39488f0aa39135805ff4aed7dc5be410d0ee7f8112407a012e0c1ec65aed8ec9de53ac53f5739958ddd4946876ef1f73d5a9ce2806bf2949ee672f5df7968b85b7fbbf59dd7040ae9011f6692eedebc699b5bfe3fc3755ffd3683ccb3506c77cf011e23070baf461f71e3aad3ad578d429c3a4d6eeaec2624dd3da164499937bedffff6bfb45ab3619d3e95bc27b3fbfa01663883bbc904ca515fc4596d9d00bc507179015464d642b2ffaf7d6583719c7e19f9d69621802fac8d17c3cadf7d6a0b9d4dabdd57af66ddb1aa555a73ee9291b881a24498e65713ee2d303e4a4e4858d096db36d4b65dc3bebda8bd4722cab2aad3af5690af9af77d6b9c5f6c33a5517fd651a551b21d35d84c693f2ce547a2a312a4095209b1f384e0170c23a556fd1562326d6a97addd2c085239379240ee01a716ad5a944a4262a6d242f8f01a0984e8edbbd8d1155eefef53ec9273a671cee736094e17178e36af855db0095dbf65f6a179199f5fc902a67601e1e872787852362d0161189ef56e38c5bf71e72d5a9ca0fbdae4ca297b6fcfe23d752c28ee3ce90f0c88daa13da820f6fe9e54347ce6ddbd25c752a540aa2e5ac1703c20588337ebdc6a3a149f131da3ef76fc2d932ed2981d1c30b8a616bfd155c752a1051e9690a29e24b19120cc13a87b88b0eee39b7ad1872d5a9caae26547a81d89977d01abf4e544900a25a21b1846ada7246291df3990dcb0ac6204c4f32120730866171d5a94e2086460c64dbe526c3862551638165995e94b86ec60d849060d0430800d5f101a86976dd7be969d5a953c89425e5ad05fcab69a1d9bd91cd55a742a51b20cf48724f4055126b7158724d6d04e03e4614d81040c5fc28600e6e78afbbbbbf3a424f73b22c9bdfc7eb33d4e9dead87d188be6d2e517af70599f2a2acbd637072620edb3da97d6f17a576e9d22e4ded024d7191e63854a150b5735b6e8125a516b1d4a5356633ac5c3ca03a8a75aabead19f4ee46140b0a45401b52128664a07c39601c792e1ceab358dc64c8ee53d6292490afa80410997362800e02b3186804180341204af338cfb10314000612c254b0605c40444438160a84a1601818108385a13020080400c1a06020088fc37331eead0160425ded5a4ee70a9852a193d5a7eab2c5197832ef51786fe0712abe957a8093fef7d268b054c9635c23bdea5af5288e63785571553d17fd5523ee443edb01728930914934e52fe630a6b4f5b2e1c81fa561c9bbe8ecf928e94d5eaafaccf75b0336dbc4e9f044ecc2302a8e3c3968b031e17fc02350be4d330311df6fb3a19b742d8fb00085d9f35fc4e4bf2c7a6694e75c4fb6b587af78bd00ddffb5c3f0b5ee04bdce6288326e4961f1c1311054a3d8e43c41a4989eb0d38da2e174af8980845d0d135173fb69a7056edad2f9597a286a173d2165ec383a367a88ae0f8aee96b5cd746a400349c8ad53c778fb6f71b5c5861aa7b6d2bef5868a668bed5a02039a5d522a49022d4e464c0b13c0e0a9a229e1723794363ef7555104b3f522f59e6e15a5bbf46b0b6403ecfe97c4d8a9e3b10df2ef9eb3bb3b138be084112caaab8f374571a2a25686b1b754d6b0c33c8549bf1401863f0d1c12af37ecd43b1b3a20cd29be155dcc957a9fce63d12680b13b053f26b191018738d2cf76231175574d09471775a53e3cfa73fa56c1f1f783d0b0b3edd4a58ff0520af3189ee6add7002677ef07e331f216222051b6e18c671821faa9b3bbe01abad33632b72b7a445a965bcfedfb7330e657e4e6748ca78a5c9e8c6bdcd0379fbb5bc374526a08575bd4f875d846e3721c991249d619c95dceb0dce670dfe4ba917c453625d9eee00eaffd60f18b57b380ad6d89ababc80b008b31f1c6e416f049d319ebd2a559c45349636c98a4dc767805d3ac0f9e3ee6bbb69e5063c92dc6bccdf9d16cda7296656d3ec3644c0d33141126ebb112f3966a6086c5f4226e22f82befd6f8c633387330830a106814939b16da8d3db0c24154b2738d66973894f440ba551bbbb26c281dab91e27231dbe2c50870d4acaad3eb45e67f01f70af0c35de5af248a6fdb6415a642cc4d6a8cd66b91eb23cd7ddab4b991403e8b3fe0e7d7aa56a9345cf871a2b2858a99c0b1ec0d3d1093ae44466661b6168c94aa78e20604241e14529dcbe20c25ef1b94066b80a8affd60fd66999efa5b310c3b0ab3c7379ddccf818aa02f51247de4831745a895c84d1cb7891872e202f2974fadf758fd363edb1c59787aade656eea33366314cb9ab7ce337c432f19a865bdf712cdb8294c746f3ab84962a82af9fa9c6bf3a694fd40e9903174124bc40de6a1c0e7deddc5085760e3442188d33cc6cb3cd0d8320b1184c1743e33066c0b8c149c08cf348050ef96105f5ecce3d92f269f18fda2abdec125160c2c3c48cae485dfa0e2355a1eea3109e12717a7c9ce8c4b8efae4e5083cac5df7eceac990c4020abc6a0175d338377345bfa2e9c9f8e551260fa27d95d0e203fba8bbd5c95e1efaec4a98a1250454d982b352ec3c838d0588544fe8beabea648f9b79bdebf85cd645114e69912714055f299244f594f471ab52c39dc24ffd5e8520b86b5d7b8ab446a2ee398131f75ceb89897085e3e4630bb0159a89fe797bf4476747b217b202a622569e6775e3600f6694552e60cb8c03a1da7accb9601ec7051259500f73c5ea57a870193b9594d8e30fc3aa138a5ac1b041c0184582e164dc390b967a83bfb7891dc7b96d20c14822c8ee6404c1f9622ada527bfbdbb6df4ea0c7f0ab06cea1865d9163a1bed0de76ece6f6792772544b976895f657913dbe9da012b7bac3bb39d9375e050fdfc6a908baed4c984bf8ecc5848a6692c97ac140ba28ff55f615698fce1537915e4665c23e11c1a8ac895abbc856dae95493727d8361099a77ef37695c59096d7471f8a212d6f46d895edf13eb0982ddb354ae650f0990f9f7d7f56d4097114c7910544c46244097a0ef968c3c2d65508451a3953b32145c6c146501dcc55f904c68fda2f60aa8c5828e0fe8d50866775015af6991029105231bf7e1c796923d9bcbce656741c517780a46e514185eac23bb523b8939d22f9a7cbb47a16a599e7741d2e616a9dac2a77fc424c8857368da0b4db54954785471e32c53a8dde6124dd683ad5a8a78724dd35122dd5d49fbbc730497148f2db1364245d7fde53c12e8f0f192018d315800a412c85644216128a480ac985f0fbb42c12c793b6fbb621bd2e823a12abc3311eb15c5fa3528822397871019a721471f4993a33e08d273e3adbf9a6b22d8199e7f059a9211382482a4942172a04c3a782f7ee4b76c5ee1bf5289772b6e656cf7ae08096160c424ec8a83dc78a6b4c4a73367ded2b704b9ea13a4cdf7a29b75aeb29a9b25575d05787693128e0c8aa71f8820fb4761df84a54d678fb9f4fe4a3cbc3e12f9dfa20748784a71547ae22dd17d6f1649fcbe475023e01f13322e4e0c4732d779f9702cfdd2a68ea9152e8a3f3cff7ca0a1373f963052cf3c9f87861314113a0bfd578b149846d4f6755d34464dcadb0d30ae9e369b89b362f5b5f4f159a2b894d3342e37c9cff2fc625000581e556c24ec26f71c5e1991c608d2d661d9d524a26930ceb3db47328acca076dd6a3372c775a867e2ab62b71d3c2785044ca777d8217bb11df0ca2187bdda04a41a6044506984afd9319daec71d77974ac4917ceaa8782484ae2bb2a3ab322bf5d60436ccba1c2a967964fb94d10ee009f28350c01c465e6ab6ea424a8b1fd17d5bb2528d142e521a28dc4e2c0b654f8af4324bb2ea0bea299c3d277d91e0de9491fa4e1b43c11a4f02f15af64ee90594716842ea1296d73a8d2d60b16e6d0fdb8025306b9e25b7a2013cfea282c3dc047a125034640049574ffb6b30530bc835befd77fd399712e0f2d0bd2133dfb8e680085472f8839a10d23d6383ca81fe2ad8f4aa57197b435f6a9b4e86e5cb1e3d3a9236c11f4d858b9b8926e3830609d74fd801a88ae00b5715bca9e5a20286f2e31cd5cc34dcdb48f7b5562ffa26db5b7af7ea9399cd85009d45f9c1ee538bdd45361af91868e1d45bf09ed90478730ab0281df734939812a0ea3a7cb39797afeae372bb6a073c3a16aa40d30432ce908163a02f32ae287632c148df82e8e77542309d319fc001a5bd82e0e3d4ebc749a9a52a18404c107e20a026eae8429c42941b9dec4a435ddd0b96f19f00280a52393b91a66008ef2a2662393ca870ecbe2348c60b70e7133239e623c851ea02b0d7100028b763cb76c0034445617080ce98a5784829ac1a86676c35dd9fa3739d431ab85c95ee82434652ac1a5370026a7da6115a623b3a734954647ac5166bdf79c5912562e1eee121716dfaa46228a963475d5d1846e2285460d159d566b9e015f7b75652a51220aff98e2f282d419de295ef36e1e7031d3eae8f02ab8f5318009695dbad5c08137c8db4c64addac6282e31a1ba6e07625f097f25c639a7fdf3658441a7fd50df1df4b46878540adf0d7213ebcf33086762963c74fb163078a8311efdbfa99824e9a1af4a370cf006a0f25d4977d9a94101f23d6509745c0568ab1412fa2466195d378f61a02d4010d8942d52957aa9da6323fa73cb5ab6eb092d595201fb0a5896003412b6bd0095e139528159b768852c3fb30469070907f8274e48fb412b91319e6623db989fa81992ca385e999b1933b141de898d5267206f59541e3b3cb8a274afa163f74c99656351c9940ec18e824c6fabc001898837b58226885101e1800624db434bc083eb473f19dc2eb85e0535bbe9f65ba1e05049fe887d05284b4719ee19a2913ca48ec906bf37582ab12343a8d1f6e9f0d05771b91ee238dfab5eb22267cdc66d6599af084c3a9ea5c2e55c1e395391743cfffee5e803f3781197e5b7d6c8390bdc4f95b5aa9446b6ae5cee97fc6209b3884d86912b14e52d9a4cbcb992150de6be2b61ac608ee83a2d4ca4b050d61b0a6b24039fa72da96dd92b7be652c154abfd04320e292070f17b3d9e81989a94000917367dc31377d5000e1050a5b09a44cd1c2978725583c4c946b86a9b98386bb2f1367d1779551c86f99a128d743d57c068b6d9aeadb09b7c1abaa04a8adbbfb8d196aba0ff993df5d675c658ebc8224104d1cef64ab958764dc1be07a29ed9e383ca9eb57cd3d3f78423db4cf99a60b6ee30bdcdbd97b90df4b782272c06662b6dfd96ad0464ed708dda46cb76b7daa6b56507b61a754821dd8c392ff0f926c45d5ef7e5f0a9c63757d225fbd470fbdf3ab2195fec00b43c50073e01df71a3fec6f37972337f56837f086ab0757c9a08f2ac79c79d24155322d8d045505eea54ce4ed671ee1fa22c11ed79ef0714296e074fb474e1123a318a23a939655067d0fba9bbae368c1cf98c70b3e005d72d2a7c8675cc4cf9ace659ea9551d86d8143a25f494b051c976d11384d1242817c0e658d388e71e3f5f1e6fa39c3925d1bcec21d13023b0f4e7c8327caa1703e26c9ea1c9c99ca731a229e11dda7eebd7a9c156988579a3d0f3c053c18281262b90681b61f58ed45c93fa4f70472633713f104bd56f9ede9a954dd73cc81eafb9d613f10e53d98fa408f749e5533770ef17acc0e990749adb3449240ab3ce3e56c5f84026eeac255c1dfebfe599843a36049938b0ad18f03b83698f24656b3d9cbbd9d1cb7f1c2e376a9855e634ac13c9af3725918523f4564ca9a990499cdec8f61a6e0dca25aeb26939f0e3062243258907987ea4ca92954ece39e3a10f2748c0449995baaa25ec6da0797e67af373aacd2379d7796ab53c8d129279f1d0b2404c4b60f9a8bcef8e9bacef7f81e665c8512f99798b0412d7cb41868218085d1972791526e214918a78834caf359f0af0c244874204af5d5a895c747057151875917ec32b6dafee81ce13d2a5ef26897ce80aa025492e8165130c20685979bd210b72a13b2745ac80bf1bb6debd56c75f9eabe589b143755bbcd0fe85964f083d69f2092baf78ca2c3f41c9d1bcc03c02338e5286893532da7fe06cda2bc9f32d2538181653468810c5600a5c96800a7b5022246b87bb64df32603e959abda7e4ecd6345d36e9c0ac8c808e1dc34b6124f1f2647faf67d4a4e38f2a812981abd5f72880453af2339740b863ca1449a017aad9e469d7946816119a77fd1fcfb26c3ad9d0d504bd5b6d924557bb412693454829cba4f30b4ccc623f0d2e527e94da6366dab373a860c440236528fd2e4458f02f511d768a85997a4b1e21c9c0131e7bd88d5159107aad76430cdc1a735777d34173201e91c30b11b726b4b82569c041922456b9dd432203b702b565b233b7440b6008954f1aac7f5ae8669eb41b183109fb8e9734389c1f7676c53c1f4846c00a152292645a721e7226bba15aed212234312605bd731fda7e5eb3219c6c9771471b54ee5df3b9dc5775b9906daf0cb30e74ec0e62e44bb6a0b18312355c8ef40597258076c90ac1c7685f56cbfd09efd64b2ec73e11101bce48295d578c101b733c123ad4e66e45c1ad8c555987da203967514df9df2ed69ab4875660d3989e72f6c0eed4b7b2d54b0320aba0f7cacc1bbc8bde3d099e71ef1013b50b9dc44d76b5f0458cc6b984031a1d507cc42e55c192eb8c8cd74881d31cae8b6827e94e2d181cd49f8458c31e38b0d0b2cf89dca71b90bf3242c3843187c9086cf320a62d33ce91215b7aed32c92c23ae16fef47974ee3179d6a8ae525c479e4cfd9034444c554a52210c62402ca27d53e4ad000c97a65139189846cb82b93c7afd09f17a73d8f98d390876019539b573abbfea9faa2f2e4134e6d81cb6b6b8b2dd102a1f8ee8f5852a4c8bbf28db84c40ac401c6113d05f7d47192222f98ada48a19867de1d62eb52a68b90451d55ee6297d65bb1317baa74e18d01bcd8bc1f8aca87caae6ecac35ced139d05298c00a639cdd804bcca86d0b58124a5432a379bfa5a191e8eed685f91072705b532b1a7252f8e0f252b13444951651fe441064932f4069cbc6f4bc0fabcaf5ef359b81c2e70164648ec78eb0ee9f41fe595cbd1940c62a64152b8338191884bdb4b9f0b20135f100630babcef031cf3d21441697f46d7b4b171f17a09f740fc25e821a3e9716d1026dd079b73ded0ce4a77cb45b3483c04988601f6716c4ed66c01bfc2e400eb36a585dc6d3370cad64493ace66ac0aa659d09d7049fa5d4b179def29e01890ce9e9163f3ac17ecd3c51938beb11d32b12c852d92a41c4b294e51180b7cb56f18392cff903b3c4757bd55190449cee043026bd76921ae4cf0ee95f6b4e2248a2b73b8c8d255ecf1ee5a0471a499ff4006c22398e8aca45de98e400730e8ba1b5b59b8a18b5e113fed3a1089028599acebda129352eacbe1267f77d9e2afb26b3740fa3c76fb3a030eb54546e7b630c1409c29cc997787477cff7e2c39178b87caa30ad48085e6ffa42c0370123a8411311d2bf5c5bbe7b7d93af5c6330fe36569b4fe191ff06f0ec57544c64926e952bb52d1fe6110b868025319ca82e0be8237657413b3cbca0cbb61caeea804e7d7b08bda51a655c910f4ef8b5a6421267fc3ef9d0982b64266e3e4a7c03ac8a6435711c0b9068b363a4e59fd7d37b0080908896c83edaf5ca8c44d48f8144b023b3a8f06a588e6c1901779766c104cdbe3e5e124bb7a73812821243b1a17e1180cda50e162d08887b258d778f02d4802102a5bd2523a4f115ace40652e396cc84263de54491645464b81945f51e886ac74827066450b84808eb63987d4118cfd7d04de4aa08965b806dc3d54ef0f3648c3199c927ac080b5954cf8ddd6210de48eb043261828aad312360d31a6518497e6da1022210d1dcf06079eb68e532ae1eb45e50eab67ff4b35a666ae1ed6e0b108e77f26d5955e80e3a528991891bcb72dc4eba34148a4f1a98bdebcf9c94de74f0a2479ab21a50f5ef6a9b48aa0e1f3124edab2b528d6793a0d8794daa488684b3a09223f9358c9a9b0df676b4253d2c935bdff629b66f1334d0fe59e0afad8e30a0dbfbb3467171d5577b374033fa5c1025a8e86706f53a229bf62e6ce4c36db0b36b5c7263ca4ddcfdb6af5f7e470050e1f627d5370709bdb4ac6aea8da8b17ab6d8427c8e107fb8ebe0549d157956c9b01b2a8888cca7d2332162cb5b1ce0ed5af203366ce56916ab6d5d018eb90941d9a7d5aac4b4fd6a3b7f287e859a0e20a69313607f093628d81f33467b2c288e91c005588109016eca5ac63dac03d56c49e58ac762b8852cb56d59e62ed57320eb532186f3dd16230f7636397c38aaa52e99d9664df070fadc797716c7e285aa6d70d657c528be829b2a90e828aa0d635d620947a6390961ec29e1b46dd8fc3a88eff56c0f0ff205a435dd4f1fb47bcedb63d3a45a65592a1f1e928b615e8c720a0743e68fdeccbb25494e3938d79e68a8e87dfc816272676ebd68d1fb27a36c01e58a450babccc7369435cc3716df50cd044119bb84ef4dc0ed5cecded7abd814881dd089e4625626398110a6046e34afc142a3867020c7bc95b5e675642ecfd2ce59f78acde938620bf9e4872cb2f7a8da191fb4d6b0809fb32277d526126d6da5851ee5d79da32bb722e49499fe00c5b0b1ccb10f512ddac3b1d29b98e93a9796019ecaf81a4d4b0d06254ec83fa3709ea3797f29e71cfa8519214c90f4f385f7946995408b7bc3851004f16e39a18906a99dad6868e0449d2d61cff37e031b2ced41113f904bb8975c917d4b119da1c00af17b1e39cfd71dcca72c9e0b59a5ed44f964a135fef79c5f66e37c303c52bd12ad715e2d40f8aa6abba115b5f611862aa930095d8a945271511169c5ce2dd401c7df1c6cf4c04776856dcd411885cf7dbcaa12fe0763ba91f0b26c45298318aa79e9c7416c5e17cd94ada2259fd5612db49b0cce6abbb43d0fdcf509c56c01df52fe2c22f549886e7f93d9e34f4f76af360cb42089ca0ffa5f1a85730e014cd398a53ff3680dce3fbaf8936e516dfb40f86722fe7a2fbb1e61366dcd3f51c6f76e5cb8ad23d5a075d309937cfd44d6292a80084b3713854794598c8c116e6a8810fac518718222415f2385235372c40cd6f523683910fba30095fe2ec92a6d0dde522fab58c5f5e2695e92fcdf18b339016298f6e80919142a1da84322b3643b9abffefe544865d84c25154b41e0f44f5c472db579fd49ea71e1dad238dac77e13aa8962cdc50dbdaa08add93cc6b45ec824f30314a62922d2701a69b93d6e68ab1c30f65da9a920fcba3b57286777808544f2278e52434626d01d0b4d492adcaca5a7befbbdb93816f7ba40339341460d648104f25c142b408c62240962ff9ab524960a9e31e60eee59d0a8965fac1dcdcd5988677d927f8c11a5868f242ea88655e8708f2e5c1850644672f728d09898238fbb3028a702cf65fe50794798747c382df175eda69b1f2bba03c2005e2fa19d893ba79a7fec3cb60129b34e053d13f7dd0597b0a3002b782959beefcd333b65d03ddcbacb387e108cb716aea241db3b4239470d4eac135d7ceae5abdf96bce639ad3e63e07349e6122d4a0d15f33fea5ddaeb48935c78c1a7bc2fa8c04a36ba7056225d9e36bc5c92c0a2def76828d7ab2a281c28fd57e8dc7bfab581143227b13d4a57315f2ce209dbf82b6571855d228525616d65ca1fc0f2f290d7a50fd04e2c1e8861974efd2e560399bd61ea1cc48071690413878e12a58b9baf66bf20bea76134ea91da15664cb700a8248e417ad6ee640340d937d6e4c85a6a6894db55809779b2fd435afc36ab089df8b16738ba1f761cefba1cbb7cbe6abb440a20e08dc824ed1b7788ecdbbcee09d6d83d675e1d71a665de24bc2dd32d2d3d9fc8583cbfb81463eab55e13020f4b2c65aeb3e427c0c12618769a564fb39bbce28fe557479a02bd1b739934650aa1e8d6f66be9e40a6ca9dcb6d4e3b0682d619e0d89448857dc4194cc96fe0995c4be835197042f7fee1aa67e46e4a727280ee5671952ca9a7ab6f528dee6315a6fc74aef1fca71d72d439cf131fac06ca442f067204fd5541d9afde8c88cb0984ab826923d7fcad17118e16f177742a2b390fff0b4eacf72973a45a5969b9dd4725a826e13951e18951021cf26b6d6b94d7644d94cc1f04ac28701597173e565d8b33639497d2d2bb6e1d453203b62315b2fe8963f3ae36d738f617b2cb3dbf7d0dddd42584c8ab3afc3ce68b848aef57d3079fa51da59986b895375c6acda2be61ccdeda6b91d923ade4cb662b74436561365f23e5749171e01adc67cf72036d527229af0b3e14d14cb0e3466f639df58c87f42e313b9c05b14b3b74f4063863616cfc9963ee46fd365b2a82d29ac0f908fbe708aa0d8005b6996b02afc0a9c206774051c55c29f7d548d8c044831b84a1b4fa18ce2e44da398b2d5a0c69f272c2bcb988a7ac1b5d770568f2ac894c1bf170f542a49cd48da0a4f1a55576272ebeeed3d3bb283cbb699ee0f76661ca91474c2cc62b48ea0be5fdc9621a65814bdbc1a1607d39fd287d5f74be650d8e8ebde72dba78d92095b5f6dcbd3aafea7ae751bbe18015584bc9d9dece7c3217fb7ecfb8e62eda2057b2411700bc455f0e56a24ce8b24bf668ddf4be9bcdcc2c099d2923812825303c0984f979dec42b3e412def5d243aa57b6c270cc4b447749a2a48094facb9ed625118e77af9ba3a2a605f01cb128046223902cadb3cb13681957b5f6b5c03183ff305fb26cd94dd7e40dac7aa221f621ff663cedb650afac86b91166a986366268ecfe7cd319634aa68064671b8484c468d0e354423958b244b210330a384428ded84937d2149732338e01f1d123b91cd4c06389b7ba945d48da26f5ebdb9ec8b291b165ece7fc61f01d683b151e834b2e8cd6244bb6cffa1139842ce71f534d423aa791868174b82663d115c2b3a66db258b42724642f5b8995ebf6fc600eae416b3411955febf36e376fa6b1dbe07bc43b9dcc749ad88407e00d68c7d862e27b1e96f851100a6b45372f2e295a0f5ff4f157d8c712af789eae3728d0cc10d90301028014f00160fd2d9a2a3511541ec44ecb5fb5c2b3e7814c462e838702cfa791451c8b956a40e18eb91e1308987833566674bb701ce421dc94b63b90c7919473c07969b57a020822c21648ff0cc8616a731b1ab7c1ac8bdd245909b63a47719832b647c547e8f8be8e145a68983e37819ce29eeca332e0a6e005d19dc817a337dd305770d3f6ec6e62ac785161bf16eea02fa761051349633d2d7f113e4f2347e631bca9d9f9cf0fe0a2d4fd84654ed3f6b1b1b8feb8d52e857d2c022e4e455677ecbd59013d3b5693b2236a25a42a29d6d48e655a3ac26357f7b03f4f552725c55571dd3345c2158574d4f8bad90cf100093b53c16d536bd8d8feba2ef2971e6cb7e06970a885f94bbdfafa4ca5918660b8494df643431f36b57ab24d5600bffe462087afc5bc36090f333cef23ce64131ea64ffc88defb86010586a408acda10ff0617feab8eecd516f98a077a626a8a218bed677abb9f87c1d78a9c557a741270f589eb825d9c5de0285f1535b8a506b6a215d7c25543649c415551fea10a2ec681e375777b293f53501c1e30baa75f8f6b5dd0df40b19fcf9859f6a5f9845cfa4ba913ceb2a86f538a8cb841a078ec2ad668b475db81309827468ad7e1f4591d9583a3f32fe3819635c8c13370ac44f1e250d718cddb87325640c6087927d80d2878056b4f8a280e430c19c9bf7805a32ca041dcb40f9cdf39539501a53f557c19b996725f16445cda6e5c563a710b2b01021a9f6baf24aa7ce8139ad4511e00055e0a4f72c924bdf3d923ddc4e0db20b30dd0495d64ccbe0feb33bb0792faca422d328fe3daf1ee45e9744929fb9ea6f808b9ab23b89e8d54dad5d32a10bc019e67c617f49456e83d023901d0f49b64da70ac6c12f34d7af91dc25c7e44116a60b11ca59243786770a99dc4818d9fec657366fa75d443e66f65bc358c240d438badb2208f1e6174d3fe2c216da091fb5802f45b208aedfb2b63ca13c448b5d21436f040189a0c192dd56b676573619d41ce517ac655239aa796c35620cb7fb931be221c97fe76b2a1909f854bcf2a34e16f94a5f19fab87ab63d1fac01f2e2e8210c98dff7c7b5becc5418f4eedff066c8e5c6d7406d406e87657c9434129dce0c809140c43e5dedd483f6331fcb3dfe01b732b1bc6042ce2caef55657b1c46c3b9c881f3410486c7a64092b64d92c5db1fdf343429c8f89c3bf17bf81f2b87611ac3e659056ff4b2130ee184eb75384a3c7db457c4e1fa83cae24fe98ba3e7739b00f7cbfd975982e9a1cd885c17acfed73e773fcb27cf3a23bc49f44645680c19bf3ccd2c34e8d86e839128d819afa8e2fc3425cf0eda14cd9f0ae2d7d603631b17436e1d52c3e5cf0fdc3d900995979f9c2dd1fb4049dd95c22c072c11c3a31c66e020df7be049b55e780238a8dd822ccaf72e1c43ca36e7d88c1d92b09facbf4b8e1a1faba29a7278d40c02baa8682290519be079d3b73067091983803cea6994b57e06a7c344998c100c84b5ecf3cb8828c2c9a361183a4bd4299c061e2625c876e312da7c49dc6eda67a70a8e2c4d45831add228b84bfd04fbf2e0cbc1fc85c16e082c5fc704c3c96c5cebc46f394e8f1fcceab2525c244c511cde5f5b491c5a13e73a238175205317862e45199ac1b070e09f214adf9c970faa51e90b313a6afd86057bcbdcf9f58e163bbcfa905a3fb5c560ae45e72b953bba5cb0f23eb3ead51383e446a4e05ed6adb6188b8f8c3b17d38269a039bae81ca2584c9909350a7de8a94b2ea0d98fe34022c8ac54112572c70804c04df1e68bdd101726e484f7576879c2e849919fb06025d149c020c612fd7d79c6a016eea88c6bd2485f685a27a11d78e82acaf43396663abc04747c29c2078b20e633200aef1c1eb7b7e6359937198b3925d0476e2b2ac6514be0d80b3273cd3de05b8d4301c6a5a382d8eade25dd7fe7d7aa0b4202002f2ce95ee8ec95840acaca7d3960327b4a787634eaa0855f0edc38c82f1560bf890dea1336c4630818e113a4b1673e2019ac6feafa32ac10f488c09ef0a522481b51ce51e3b34bad9201810a61ffa578a37da6accc7464f6ac4417df1d2c2351993d635914091821bfe99daf8c9cab245ce0cbef883292e134b5f771c90d26995001bc8028ebed7f235626f9400ba5c2256fdac8cdc3dd9ceaac2244ac2cb81c31a4cb914adc96f188ce121334547e0e890681a99ffd2c077c4c021c7701aad8543055608e6975e9626c25293cb7406042023ac1050336b3dd82572620d1846dbb49dcdc1e4ed00040d30dc43baeb840b73af3e9cc87bf480bf55f15a9f8055de0432de69fc9c602fa919244ee5c37bbf7de52a6b4b7ff0ee502fb02f1023f42cea82b6129cfc388c986cc474e2ce55dcbe9856ae1fdfffcaf14d303901d544b432b88274ca4d0492e8f8e636132b30c8debf5b4d6b256eccaaebbd0211e0d6c11d50db2fbc7b2fa675d938e05982d2294e525e7f892c541aa4d2caaec8846d57fdbc6f195e81eae45f7bdb5d67beb58186eba4176979434974d9fbed0aef04233a1469432631e1ae95ba5a8f234cf7d79e82fa7d0fd18dfd80ec35ccb36c8329bcfed812b7a02e4f7728164e947e86ff2be712c4db6415679a43b902eb576dde7faecfe93787950f7ce9044e57a6579b97377d96187e159bf3bfb88900a1db09516f4ffe5281e50968723237f808ece4a73098a93c2f9e3ad4ce987560cb119ee8e44b64196c550d27f403efd7f90f7175ae23724aebb835cda204bf32a41c67f7844bbbbfbc8bb0fb6a9a6d6bba06d47ee5f371775d75a4e22b1d4ded8c67ea43a6a3a39626a4c66ca6309df69a6dca02e3573332efcf06f0d95043cd3ce7894103275ea9a89366acc9e337132297fb5c2e5cb4100506438d7b301e065f7c1fc8ce2d6626835b95853dcad84ee35f6c2c63257636346498ee81e63210d09ff358deb3728faeb5965576bc52e9afb0f7c18b74957f50df106f7b82a64b3743c85ffd5ffffff974bd193f5f6b244ea9a8ef500a3f11675d55c2bebadb519b05d669b1afcffffee72112cc7ae57cd98b534846d497308adc8a935a57ccd128667270892f195e5b60a6b05d12851916972462133d29c868ed05db008e08c47c58c284e8d641bd09406726a20a80612d34053ad451cc412891e19d1a837339a281f2ac872de70aa9c8a47c6e6b11279dd8ce9fe84c83c43b34ffe8f12fec77077187edf84787df5bfaf6daf4eff7085fadc930d6b7f7febb20db2cce6f355acd1ff0d6b0d1400e6ea0549a2fbc0e808d6115b1cb07d0b3db54176ca09159ba67910b2bebbbf4f095de3e0f022c0f5633480d9f33d9845ff791a0ecb2b06c55c14890646505ddfc65e8c804aa9f9f0b6562bfa5ce9fcd6de4c9d5dd71267d8346b1c928b30277019d97012023322098c4bab060903ea458b8cfb1bb52f8e3f4e32d10462547a7d91f5b8b10dd51872e4f385e4ae405fa6254e203f6a3051b7f8ff9b0d56d627dd82aa75cf9fc96fc8db097179a045aa0bc4387695cf0dc35b6b6a0ab6b673afbdd769787de3d7cd31ecf2b52d7b22e92a2794be5ff2f7effbff478b63b8abe649e8aef7ee7b64783bfd1eed998376235879d47e6c6021ab4599a02c63d50d2f30309199a436c83ecd4cf948aaecdbd3dd9df77e883ad2b35b0c621381aa99563484a4f674c349000796987684925235a7cecdc58da6a7bdb7b5cfded288ab72a9a2a9325a597b3be9db07fcffffff07fa5e0dd4efce6ed991a827245a8254cb8ee216db158c1d4285d686e67525c4c9065c0c3902a6275b8666d38217cd882b1fafe115c6844606447491836847aa9b9a3dad5dc975a190d2897bd971004504b784e2d8c2f446c5f0f8a4084b6b199b49e1d01056bca87e74d5083ad329f5d574b83381a75ea0937470ddb7b836c8ba8480a321e9e046e3da20ebb23ff8a2d9fb29229b1d992de32fffb2fe7c6dfb48681b649162dbf7dbda0232ffdce71c16b04157963edcb7e38ce2ae751cc318db208b643194f4f40166ca51b6fff09ae386075bd8093220f762daec983b3f664b91a8654ca84d4c01aa211591aa4865e2ce41400677e4e3c49d5559329b2ac6e79ff8b411ceb77f3827eef0b00db2c422f348c24c9a9c20bd0ae9f1d6de9502ae0a122940078a8aa5e3ac018303178ce80ad77347868d1908531aa7d68f590d57db850c94829c7a1493704ab0c3f08bbcc93b2ca086db9a8ceed93a5be2d81be20a1d1dab37307f269366586b8e425014ce9176c8abc7d9f6a156f7de55651b648f96cce6332aa22aedb15b425343625b4338e00b44630822924d1273645a4698eec6318cc52215baffbe85a9e1a7df7f28ee5aef20d036c88a4dd3ac2282c489707371949efbd68a4fbc62d473f79ecfa4ed19da1f7a92f6063e3209f9b45918a6eeedf2ff86f5d62d249fb6a13e8e9bdce79f65b937cfad15da826c7b77188ee37ff8ffff9d8a730f64d319249b3415aa9ae8b186100927d771c606800ce4fd27dd5deeb061fdff7e93d60659eb6f7013e742f31b148dffaf7feb12f7a6272b43339e60ead216c3367d28f57efdb3bb34923dde9b3b627668d5868449965689aee726eeb6d54b527397caf16a43024db95d4d4508c5b0bcb0faa1c64217d5a0a1d545852c574b9c2eaa35506e1a1124aec5cbf8e54cf9b99ca98e9b6a9448e9666317d878afde1b4cd906d9a3bdf431499a26cf130fc0a21d509e441e86e37809c31932e8ffff38bea16c83ecd192d97c4641dc90c25abfb0e699e2715e701aef6c1c9b15db207b4c2a3b303bfa930df73450ae040ee88c11145207188ce98a8da1382f3b4b6aa0de7b1cc3341de6e9be23f2b2dd4b821c132947cac9c458cabb7111b9b8187d723cc7cfdb05138de5a1f21704c55deb383e4edb209b660d718c73a10971c2e8282e70ebd779463a6474febd8744db202ba55655865c55e4860e7c8d2d4a88031c936809a09ced2061de2337c86eafb648801026208ee1b628649f258a725a4f769f4c01da1c8e2aab42decd50ba4176cb4197faf66d6d6ab8c2fbb70ed28284013119da26164e25fbf5eb35e0880e0d6b5add91ac296371698ead2f9c20262eb7991e4425ef8ac4f115b50db2551057d70d6b77eb3219bd20a3d81d88a1058febdade3ed7ed3cdd20bb5f9a38187c0983bbcbee3f25651b648f96cc0d42a97952ac8ae34992d1edae7151311f1d336f72438e63f82f400c8c8652d5acb91827ba7e5957dd8f11aaac8b6d488693b1b02435e303c6e4b46205004ba5e6923a88b622ccb3b289ca35419a3e453547d014878ac144c354e2099ae23ef675a626ebc71a71f718ab062afc7f8fc4f7bf077cb605318ac286892634b1960758809a61334376fdb1628969b50eade3384cbf2669aa365ddd36ea7b68abfe6f786b7777df5bbbbbf63320d5158e6358297d77775fe0c54c982f8b45c5aa625d9d4393137c74769c6852d5bc789893b8e5c40122d9c89eaa8ac3aa2189eb3e95b20db2471c502d49daf606e2d206591a239285064086dce7ee0ec3268c6d9045b2d81f4c0c99b010c305928d115051185c8afb1a8faf0251408bd9210435c5321bb2c2abdb965294672e869a0e17cb0bb720154432ed5352aff7ff3d17f81f93e61ec458dde7a73bff77c5c4cdaecb16418bc48aa6242fd2fa407d7200326a6cd87b47da06596a55c4ce75482c8a401e4b34d18a1730d1232fa979484d77de181ec33b42c2c476c441aca8821739159a6c2884a83326d4d2bcca6a10a8aef9605ef57081c2a1c22a572cd1e3432ec57bb88da48056353beb12aba9be454a973dda7bc3d49dce7844fdb744bfeb606cd19d5faeebd275ddfde75ff3b37ae3878df85ee3d8e579bafb4e3a3006bac74921fbac4a13fe2779ffbcdd3e8abbd63b68d9065966f319958608a23a8a367ed1d5d6eea238cf7bc76d830e067576affa601f30f6fdffff7c9520c796010cec37c475386f17aee8befbffff9d2cc35df9fc0ee7ef20fdbda3cd36c83ea352aa8768d53becf6c370e85bbf68372d004973366965a57c8d9d1d24c6aa92a078f8cc139671c8c7bd5f878f2ded625ae20003c8564bc996f84dbd77dfc2eed5af45884663e4dcccc49d70b4156424452995396145c5ec1786e121b10db2c5e3fe609834798bf0d6dbdfddd7559c967b6b96042233b3171b462610a7e6f40840440d6b226590d8b1c499c271e24071c420c08102e884b84359d3ca8d788b61c5aa62570bd4c20a206ee2869decff6e1cb334db20fbdc519f94846ab2014bf5a40306d7c9ee73ae0a9718ea7980d5fc712bfa99321d59f88eb70beb6980891f173f94ac5370df129d6d90fd40846e5fbcb56f7fb35c2487f38b9edd9de724aefbc2a20db243fac34b92d6dab5ecffce58de2decbb77e978bffced5c539e7f3a260989308e61a6907dbe5d85ee4c21062dcfdddddf774c4782c86a282dd226ad513ddd1f1710aefe7a59477bc7199642760f8695d0ad14db7b440a7f1cc3ce9969c99395e8f7214fd9cd990689696154913a159ea3fb4c022563754ad9f0b09c154d08ba1a85a24f435660e0ac1fa3d61cdcaebc029113a81490395b50003a01d318680418c3501cca0235cda91e14800511c258c07448484438381608c4c1a018180e8344413018080602c1806018081ec747739ce3016c6d55746a040cc0f89e79ba8b8904992b00e9d12bea87339a2699869bd4ea12ee4e78699ab22246f5d20f59a92526920b4418a9d71fc303a032b84bd255c25970830257e489d536aca0a0a8858915123fa19f3c23e2f181c635fe338f620aa0dc752b7557c2a0209a4f111080c5ab18fb0df85ab49c6c5cbac1529c9b8c9d27763cc6dc333040127175ebca84d762d298ed3af1b0a4ab9c27ba29d7181558132457c5ec1d081c61bb8a42173f679bc5e98d865e0dec3a94f4dc4cfec3bf5e363dcf6fe78528426166ba39d930ea93199e586db7ea0bd301ad4929b7a15349194664582d0b23d08793fa22347348f9c6745d1509eb7cbbf58e4a24204159d6f349dc6c61c615adee8373f4ef321d23c18e2f39503f9fc2f4f3603ad394a80163d5c287a38ae3ded2488943c6ea748540621ae26274a64966d1ebc34168127cf331c9dc7be358c007737e9ca1a6b6344fb7d67deee4dcf2918fe048a85d2b05f2ac940bd263de4cfb0047bfd7cc30a52bdacaf19b0f3ec79a597832c49971318010e5944af129363904f906a7b46a7747791b42af6721518c19f7ece03d0e41d888442cb493e17ea8c6015284e4ac96ff6c9e335451e7726dab76549dc3ce7733f4d6531a7e3c103e51c4edc049eb670bafd5fdea0c54c7d411b0611c80a98d7dc67f16aa1f700588167e2d7621676bc2f3f0c47ef6a9dfc74e799f3417382628fc44b8930a39834168de28459bf2c715edee15587a647e363b5d72f43e79b4ebe847018305dfd7f106d0b88439233bcae806c6218e908d49b83c6d795e3e55ed203cbcc82414ee0f950e4cfe68597dc10e9d39f89cdcb5ce2992db5ad2818eca3720667217c8328a3d46832d6c01a4ce3d0bdb5ab6f76053606510ecf4400b6119167146196649e82a03374ed0f8e9f24392c273d336cb344ac955f46fe352e674c8de0cfb0c0a8dd9cb76e993036232a6a31077d0cbd8b2195d3358a33a0adac7c225a76883609f5e8c51db02dd9b6fa0f6f7b25ed5ead18f5a76f59f92c5a68985009ef67135063c54af2eac68a71aea28f27f3542018e10402811c8c17c7eac23d3c5cd6e8938c2c0706cf4fd8c3bc1e40aac2f3421d9b50b4633adff715843c739c993de9999c776531c735213bbf6392c399dd98196153c3c27806d29c67249c6cabc768701840afa928dad67ff9c2339baa09bf29c58ce91d9667b579a067b00cfee0132fa863ad2391d6d7bd0686a00d3595b2594c818a77eb5a21cffb343e1b27931f92f0ffd0d412850672d5941fa5fcbf684bd0054e8bc765d5f2c4a5103df772d0a57fa3829be764dcb9c354b653e7dcc8250041763c8321e11ac5fcb4f705187136ef3d25f71aaf5ff150a10b0ec37c14174f17f6eb08137f12bbace8493faf26437aceded233470a0e85591302069ca236872fc8aac8c198c3c820fdeac1393bc335c279238b4ad02d849b648acd7e1fda873e864fdc1162e327cc6ce7b7134404a48c09b0e047b96ce1f6d95396d463664a33c6b5cbd767f09083193d8e5040021a275a0d5d2fda0b078a9e1e51bf18a752f024009eb58f6b9b4903bbe47dee5145ec9e5fb03716711b6db3e55bd62cd10c9442146c532234861b0627519f88cf6ef302c895dc03ce1763a4556cfc664e77d5cd4356ca87aa34db768ca34f734d56f8ea3f09f7dcd57da756fb022fe6c2816e35c6edf9d744e8fd23f596e6aeb21d2094f189dd004222189c2c0d30e4b365768fb36af8d5df6374575c9b68bbee7892886a2a252d217836e04ce550d7fca47447cfc79f3cc8982f2ef6e0ddcfb97406dceaec4391ea8edf5a95de4c8a139d974ff1eef07c35d508cdf452abb5cbe84b0b8a85043512c22ebe2c90221d49388fd9656861521a45f16565c91607d012eb5597078d040bcbadb9480677dd3a86335d298c268560e92e8c0bc14a1a320e9ce16cceb8f34b6f6e4078b0010b9be4e8857084e83f8a5f33fd76f3af3a8ede0bb548bc36a7d7712e7140ddbcdc9a33c1253ca9e2febd14926db481183c3d142e9b6100a632d89232805996e4042042c80ee131f0187b5dabb8243a81bacead976405e532300ace68e5795ac3b20218611e8717c6376af88153a8e835283c01695d6f3132a66360281425477d61b57ff8c7d1271a53b26c15fa042809b93e7132f4f51ea054a49dc2aa30f9b28783a08ea7729d365bb33c9ef78c3755b93e51eb5922c77134583f051b19329873a7b7fa6314a076484f8b677f46daf0f3aa1f738fa1fb3cc72094989122f0524c937e22155521ecde2da9e8c61584d953def90aa80e3367bd5f2ff2f81e041d3923cb41b5b5e3ae084c276012cf167974d33afada6c935d6b1c030bc3f02f7ea0692b2730d1c7543f251a77a85db0136d96eea5b6bbca814ce37a2e283cdda4c2be192a65ec76b66ddc9265292e04202f49c3552c0d002b617904b4117ee72a1c0dd4069f8b22a33e542a7b06749a852ff0c0f25578b86775ac6f17baef2050c8d3f8652ef63dd5abf39e287f519c07df097f7c188fa148bfc835a49590cd79f913a9a9105457c533dc38375c10143c283989b4776fa4ec4a5ef0bf83a71ddc90f229ea9710ab40a39fa9f4bd4c35b224610dd3227dc508a6ae4a2d743b3d0869b100751da562a63a03bcb898e36ee1f440f12992e0ecda8e8f39fcb5e6ce4ac2f57618fd45a7455cc4335acbfea1e9fb622bdf3f1da717ac9bd331405e157ade57242f8aa607aaaaafa3237d397c8cf2c3d16bcfc362a2191541e311ba45107576698ba3d60b7e43ad305275b9775bb567952527599d0d5f9bc0c1683aa286975a5dc1787e5f246f49716aa448b9a250aa03af8d752a6c76b3bcbf3ab19f3637a3a305317dd2b163294be6d76fb7ad73498338ec2a98fcd8a936c42af05fed7d6ebf606aded09bc76d82355842453f5854908918da0343c5410daa7196fed23e2ae7d87cbb89c31a017c69e50c35e7e402594af84979e8415127dfa006829ae729443116245ecf075619cfa618b2de96d2f4a79792cbebb9bd23993d00b742a1d67aad35088c60f69e207f228e75e74492c36453ddfdb9af1c8568269aaf2c2eb4aca7ec473dd1edcd51608c6556bb316afe6b289460be87d1f1aab31d0c3ff839a5ef543b802426fecc799b0667a696add7196c853c8ee74704a962ca042e38543185bd2724665bd020752bcad404c25e990f5af74499765fb982dd8afe4209c909a9e4b01a0b78667a9987ccad61e7316ddbf76ed59c3aba468c90ce45a1df008077df282451b6e090b1f6fc7b70b0279d6bee5e032b65bc2d0b9fbbcf7b21e7289036a00aeca0a3863aabb01bd9ab2101c2b85647c3dd329529292b95e85e0f6f0fa314aa10d0daabffb2152350dc73332abb90a6a0ab5c63a4db5c605e64e059d9a6c583a236c99588583b2fb5b7af73390e5fcc9b11488ab80a4f399f011f29483404a0e214f7336a28ec099c6eda93e269a0823776941cfd3975fe534bc2648cf81143376da70ea220aec6f5784e2e9f5bb3e36eaebdfe609281fafe121f40466a6097206846738dd7be51f6a9fc907cb493471db39a2f51577ec7e80ac5c974ee265eeae0da6a89d728c2a2f32c288e9e969b2bbb3d5808cda072305d4a5304e070d90d7282300908c2a55ed6d801d064361d7e449bb1a016b150bc259f2e85e9892c3dd2299d29a2378115744ba99b5865b9879306abee81ab84a50f6f51b68b7cc6f49bdfa10323c59211d626494371deaa27e9cb78fa9a4e0ef999c7aa03e018daa372ff22ba0d400ea98353cb45a5c9c3500f7d11458c142098f01fba799586f578a55cb6d8235e1d3eadd0567d5d92c09e5fd1f111eda86fe40b891d8284cfcaf54db48957d626f07c0c83d3ff5d118fb42ccd625a47636e8464b7bc65d80acb31cf5be7cc40e05f29025aef4e5c33a652dd460a59c869c7991b118b01004524c5b82be44e24a18c21892dd2967af5f2dec103b053af497d99d2025e780d7f79548f7da5b8384a34ece427605ee3afccc47fe1e5d8700f4e8d6c1d89cfc36e05f2e3c8668b0b0eb2f4e4c27233b29a9c478791eaebe9021c0ccd9d0a9f4c7bbe8d5a29c7fb6777bd64bf32fd92eda57e1f96c8498b61000dc8bb0a15a588e304227cd440ce77d87f5e56ca061eaf28c0a56a1c35a14c1af71c10bc85044badfbe31bc3b2cf9ca37179d588a94488d55f1027d6a94d4e58d36207e0834961024cbf3cc9588b1428c17375a0493428d8ab9f30dc44fef7b134208bbfb99f0c139a6038250fa439b1400401c097b7febcfd8074109f944c11a21420d54b5d40a41aa3a2888985bc908384c1ab4725686483ccbed20162671bd00f3423dccc67f1a09453be45cab9e5768656cbcf79766c4fea6eca182a48158ec94335f7a9ea9d4020582feb62cc801a58c090ab89f28c50ba8ebaac8e35d4d6be77b44b06ff5a2999bea9bf713f7122c509fca2ea938e49a38c73ad0d33a2ba2a68c11ff8df6f5cc3c7501496b0dd6a5535622f5b252a31398318aa8ebeefe35fa0d22ac959ecb79bced7bdaacd8a48549e35b51630ba3d81248f6bc56ab7077e6146d96f647d6daaa8ed7a3902ed7c78e4a2ea6b383761597ae66d0ded44136bcd9070ee99c782809862ae76af4c53915725c0532bbcf2df255a3691cd253e7155455f6b242c611cf224a9150be3d831f4815d742d87ff51b632c23841aea422df4d22c8d57916e372052cb7e8cdad4d498b03f258bc22ce170fce26601125afbe2bfcc311cebf040e0b8437623f0c0963ff8d29126ee93a6ee286bf3cd233c47e2cab23401c1ee149f6b4e8decf7432e4873d3f5b1b81b6af256c606886ecc478b696efdc9412d814c4c953577fd37701f062eac27910284cfa45be50a3c34b2ec8ab7db02d00d943d9a11287c9566001e991b85387b89238e31aae091069216f925a39e6c8cf47a9f3d3110e9285237982e915eefbebab18409acf79847b5dd2d19eb5ad8d3faec5222b469d8f353b415abc09fc81d51134eee67530886f44b5051c860314c3c3016012622caf1901ab4be767cc36fbcae087c6da5f543cab8bf898be6e72c0c5a42f1e397ba1d4c1c18bc761efa9dbba7d56548c3ca673b274aa95498a8fec08fff28500c4825f3f85b1fc1101476690b53101608d57aa4816a9a7040c5ecd0191207c9b594b92c94589c18330d142356a0a31836595f659d0df094ed02c46a61260c4f74bbe42346235651b3786edd5316fc9c76807858e28831cfe7579a5f4fa6d083c4e67427701f6f803f71ae1cb7c2270427894033d94134a85e6c00f98b00716d9e825eeb3188781c81edb294488000ae966edd8190a6cd90896043a9b938da5ea1d53eb8851b4272e4273d8c2565ce89bce0e0c039a5b18f4d222c47145097575cda8246318ddccd082b8c53a913bec901560ede36bd50b2e168607b4bd716f7b0976ee9962b56f12f93949a387189e0fcc49755897ad68786530c5095f7c9d4b158c74449f14c089c0876de9a12f9ba0a255efabbf0dd668b6247a8275971bfc56d6500d959242b83b8aabe64e30512a89bd2513fdc53734973df039cb6051681a3e4aca48ee18f0fb03b982a57ec11ec544e4e9b71a61ca05ffad05198565df653049a7c17cfeec1af039dadda853d1dcaebb5d14ad5e83a273b54b2f34b1ae309b8396f458fb58e0754f65809bd422c5a4a90fd3da0d5e4abf17af305b74a97fce3eb50af7419d7898ff50ec1ec0dee0e9d7045d29562890558ac65915237bd5e7c7c1b80cd03ad7de1659ffc1b6e6dba0e93d8fa7b80b9039986050d7c748bad98d37b04af348b7e102ebfb4c558ad6aa16bb2327017e003c807db31a11b26e5bc658ede18d7d1649ebfe225bb6cfb7b4c25f610f48e4dc581a3336ffe296bf1c637b9db7ef58b30896cbb5a81367b5e52c5a0d88bcbaeb7a19eaff736389d84e9435d9169e529794680ba345ddd970054d0e76a060c0c0b83fca7d4c3e08fa997914bf37bbaa6029d2984f252540e7ebfe5464544f7b454a1711a984e117fe2d8acff79b8394796493033caf4db9b54e144e1421e1aa7b83f621000b660a9ecd7373e3067da85cb573a5c7d4d5e7f36c5954474c8f82a3341a4b9b2c4b6123490a423e6384e2a37c843e242d25d54069cd85d6e5384371ead1b5219e8c92bec1ff4dacc555b530988455765f99e2e3cd058f4ade13c36cf9067a1c2961865fe89ad3917a49a03fd60bc9c114518e2a209c52390b097607ca54409805d15daa40920cce4981e680822ba898997a10369e95e995ed2895d812c41313beef86ecb1d1c3c1f2605d1d359a973b7f3522994d5693c9dc4121b39570b1a5288f1a281b60948f1eac7411fbaac599b1dab7b3104e611cbd1a995d393abd48f72ee07de415ad2a520f09d8b60265b0446741d4b31550ab369d991c394672128dae969243e8ac0c52baeb94e965183b14e18636c017b36495ab176c71d52c24b30e4be05c975d65e5bc30d0b7ee31ad42169b603c250b8a6cb34a094e28c8c06af7b68103362bfe0378c859e08d3cfcd70220bbdc1554dbf9e47e15eaa34b4e434453e795e9410ced068538f3f4d0c13a27fc8a1682216d434777d5b761140ebb4cc62e4e996ee56660ddfff1e65ae231ed6cc5050ff467b9b67739b1e9c0155436a0c70a0c31fd9a704a87cd587b058c479cf317db020e673e643ebf8bed15cc8806e0b7ad7a3e5e088988d94661839d95a5a2e76de8a4b2313437297bde6737969a0e7b2c81da7985359dbf1222fcf9555b30ce1e985e9992eb89d308080424b0b0c6dac0120aeaea94d2b4c4da46b670bddd20b85f4186e733f960fa4a84bf0c75d0b0fd04a3e120e3c5dded3dd3de1c6546dc3a665bc8e9de5668327c69c54e8f4bc0ee648459eaeeb1c9e8efeaadf22bfdd22e845cc7509520b85f1c55384e3ea6d650b355848e02cce3fa1c5beca003388ba8644778e24d76e2b8eea550085a21dbe6ae6ca31a222cf912da87afa182270420856dde41f9d252cb57e3a9ccfae0a1ab346c46192587f6ccc32ced9e24f1b945fa72aad9d3c4c1011389403d2f55589c844f8c79f2c5cf72027a5b205e515a4067b08b6e4040a2ba327b08a03e33ef1afbed008f4564b721f01c3401da4d2747c1ac302024739906d31b278b55d16c3027082a249f09ddd615f218d4d797369080da63e8e2c500b5468189f5302cae556215d3ffe983f886430f6f2864ac0a2da98695a425c22f20f225d087168beeefc23a968f6043b054081e05cbf8f1668e0c1ad4b578af25a35b3408985087db2d85dea1dedd92cf710d89e6abade9dc576fd5de86404579e1c13c6e099d8347821987a9ad542923fc25aee029d26d3f4418d4e8bb0dcb351ecb12826ddb862c93ec7b11fbc6a81ea70de47b3753bb3a3259b8ea8677f1392ad599d30d599e089d1a4b22c89dcc5999d2a9e5673947d93986527c47baee10484a6e885941a95f97c716252a9d26bb4cd58741f6fb754008abb5f1e21d77f1d97f620e9015a02ff7d3ceac65bfe5073a19e7123b1274dfd23b95bac33395ffa29181d5561a613303941c327b8742244127fe1525e009cd97684f658bfb0484e77036f934302e48086a7444ce0a5ea882306d3413a1bb9db4cd05f7b2d9533c1bbc805037fe795574d511f9a0af2b5a53910987cfbb0763e2e70bb5a32b51a564019bc54315a8be50c7dd049e4ee954c3477f9dfd65127582882ee4067395af0b5221d788ce1deac55462708174e7f3870d7c45c6594a24d4820155bdf0bdcc2c506a759ce9b9c53bebb9b792e7d17842165152b5c7119328126e8b5c0c4d9f50075041ffa18c1f2acd58ae2712da077bd5af09be02b3376abb316745a76f1439f08f80ac9f5dd37c64fd9c542b6fd05b2595a73848c10649796621b7ba55c7d20ee524d45cadcee6e6ad4d783302178495747ff19d40bebf919f1f49176014d71ebd048e8ff771e030070c5262d5809a1c44b572cec915435b0e38ffe40db6bd39629e8d36441dc49d8abc38f540db4e11a69000de991b6c659eab6d602c5285816b5ea2a4c11e20b80090492b9cdd7f2581cfc032798703ad29c5492a9c18f40848a7e5d4c91ce53ea714f7c05bf9cafcfad033ea94edecbf707cdb1240e9f63d53f50719416685024938566c6b164b5ffcfc7b53c5d972bf2e038d1241e389e12219d129821d53ad4b89522dac12cdc6214fb3e29069e86340b0f70965c3a0c6a1f0049c8ad45192c44144e60172980aa7eea1a2d971161688cad31ce1a08a293c9627c8b0da3c10bb0206e1381737f037f84be60869287c34d41da2cee76f460e9d2ba1b4b4c0c7d616faee862594b8b61b9d0c9400cf2fcc6bb6314def08ae25529673830e6c120cfd70f4aec1443f30cad08b2f4696fb51b3c2b8056e3b487cbfadb8b76e5877554b70c549f63ab27ab34f93b785c17cad80c178a9e884b0ce82cc4cfd587176978940bf4d3e5006cae353b09c7d740292cbc31f61309ed16ffb4a88e0ab0e90fbab86d8ca5faf360ea23940aa70984fffa6f3f4f570ac93161981acd7a459431858c176744a4c942181553b8ac2bb0dc3e3af781d0d02490a34798ceb1c034ae4ee97a4058c143b3577be27dc5350d9c054e04c7ca45d3b3dadc5998a31a29d4c0c4bc1df4843c36ce8852f8ab28f43f5a1a6e8758026d06bf657e0c3f7967923aa504037cf9e9e1fa430652479889933923ce43f0208482083165a4ace69be0f15bf13e15b4b4ce098cf1a6c3480a7a397147d26109bc2684eb822832be6b6be73ac696e508763b0c1a22293605092961c35802cd599f5b21289229aaafd66d39062c34821800465b7877699d607d81c91559596c30f603a3c06f479fd2d375842b18a19f98d44632859d8f843dae81ea918f0e67f3f7cab94cc6c8af30887a8c814cac2926a5fc963ee5048244a56062f37e841b167cde836e410ffeb09ad9bd8a66d06d76795de58dca7ab2b23f520b35f5ed05bac140a583b5303aff8c3a002058521667f764cd7e3e87dd3e1315f0f9ff5f3ec362d7684839d9be3fa23e68f286877e9bd199841e94bd4e2a15184f4544d567bf0f32a4e811c9fc22128f43b7cebf911fa0372678db2e65c248aecfd36c5f30c005e35f4e3c37c74864fc1bdf143a79bbb3efb73576bfc120641a7c7d38f2cd6b97ee58254212ac65977b6cb836df1d6597c40992476d2c9e896f0a013667a3e0d506ed4da5308876275312e0f54546c2d0324a52119ed6f22312d64cdfd2d53c62a15b6c17e7d9fbeef1663006228e8dc15d048f0c1f09bb45ff0c24408fdf7d9da645a53cf7636f7edc0631a9b2b9142fb0d1136211404c3d278524519474a62215bde37506887ece1087277452a9d727924a570436ccef56c2943dc1457d2240f95f8bae1b2404aaf4a6639da3e0d972ad11741b1fdab8d087d9b7ca90a5bd4e7d12e8c46171673779c37ac590f083f88d43f218d1717d2c978e39c495e0f4464e32792205a9d904620dd1ddbc894039a0e592c8dc070f885730bfb61a3c8a9eb462732903c95dd858ef1569b8b079a4b8b11411144beff2445da6bba1816b8bbdc4de90a208f7f87a8821eda0e82b15c71511a6a66c810b77a9c717cc7a49b459f06d2cf240361053644b9b42f5970cf7b9fd79c9292d01b1840d98e250565278fde553fc7dff3eb686babbaa29cfb70794c24a186c851e5d5ba9c03c5301da18540641f8b039577a8b6e94747b9151679602de31430682d08c0ff4435fbbd5407caaa79823ec9fde5c59369db5ca789fea5fb382df270b0b9dd6eb7648a4892db98730e38bd7d4c949b395b78452d8192c4c5556783778b95d127003b30aa2b1dd214162a3171fd52568b0f1201c5843bb118d0b65937df1366bc32c9252a2c759d6704ad6818da5db04257f489764d2b143fd2841edf06b41cae22bf4eceba9f611f03314f8d1c3243e74f0c8b31f41cca96fc4784b34e401e11bcc50e763b8abc8df1508e04368113fc976339a6791516191123edd16e96a0a255efea4f0de2e57d518ccb88121e3455159543e30e31d0f0612519921dcc4773c8d703391cb5743f9c5b82a54f8de58a7d26aec72123dac86672590f14b7acd7d7db217f6719423266961efcd2613012f8f30b29318a6de77e8b693526174f9483c0581d0c7441e179c60c28cfed1f18bfc2b79c461588280a0c0caf1ddf68600dfcc1f156bd443c72b1198f95444c2b66aeb497515f1d661edff06ee50d1c30d5c719ef44ba138b56bcf11c62f931233794d71bb7b8ee46ebd9f321f17acd7299a65d7b42ac69f583a5a459a48d485d1718acf1cb160efe0f2249b47285ab2fffd0b0446d938437a3def5da755219abbdb7d0428b951012f94691ac9b02b92dadb710ce496bc19151aaa64e42438627b42defd3b2e8fd5dd803ce9900e01012ce38c34c23396247049a3036d548ff0fa21fefc48f4067aca8cb455d86e783f8107ecb36b5911c189bab7b78319b16738a7bca65bc4eeba00a1ddcfdebe459fc898b7f5811d3ced1059173c11b4bc4f0eb8b954bc42a1e49133fefc40acc1cde4f0b0f5d61a1c4e25684de38a2a8ff82b1ee5c2356be45bc3fff3161b7c62cd75fe38845dafbaa4e4b45b378c007c7dcfa4dbe743d3ad1d60efa2c238905141153357b3531a63b34d034a4aeee873d16b6bf7c804c43427a2dd42734663f28042a05621a44552aec1cc00007a1448ec49ca786f3495ca00f93656462fcbe1b2a215a8a63816e0ea037aa0d5c53dee338e0798ad2fec633bf886115616e30076064e7b58ebc4bb4efb8c8d927fe2e269b70b461c2867f4f6abf1f7f45fb7cc9ab90f991b20df990e8557feeb63be6eb58aa172634864345189564581c9663471863c1cc59dc9c15c291d140aa29cbe72a9bb9541ff3eee47070b0b83835d10c976a40ab910554d3b2037095310d7aecf2ce75847d737d7e6e8cb4237adacb863d0996118c25f03c6a765073a3b73e66b081a8b0b78bbfbe238c0e6cc91b1469e2f60d9d5ae038be1bd242865661850324a01a520119d1e2940cda221ea0bcac6df6e46f73cf953edcd3df4bc8162774d37415221ce1b46aba926d7568666562e18dd71f59b0b7512fad13fd294f83848a50157eb164316707d3c54a317dd79abbcad32200f4ea2576d830105d2846c43c481d6301fd6766e305071987e92ef0b8bd1ee8c2bc69aed11df5330085f1fde17fb3b8be47d5717b8c5c73385841e2f168492cfd86a395046893d200ae374c802ce51217d8b6a29c1adee184655fe444c9dfaedba417bf001721009939da80d02e147f8f87d4ebc5ab076a7b87981a7fd65255a5df106d6b6b48b841cd4154dcd4dce5bbf25ad354deecc7d330e0ee7b4688d1cd2e598bd00897f65864c9b87d746b756fb2fbb584f56429e651bfb0b19d8c0fadc4ee89455632ffe01fbd7ba984c850b1b0512548727ee528acbdfb250cfff973fd59d2b4c8a5adc7d9fe61a6af58d5ac1c01801bb8b05955cf144f8404e7e191bce336141e186bf64f8cb73b72fca429ca172b72367e8f8df2912641b106b62dd49b6df0ebf035ef795b84c657206e9a95ff1dfd209a480484f6f9e88f498cbf3b608a93c43a1049064b150128c41cc1e2a306bcf623eb54725e6d5731df71c5b6830abf1b77ba181a8fa92e4f0700593a221e4f86217942b9e12925c3945a7111bba9e71586b5aa60d1491d0a25b4981cbbe113ef881fd625519bf5e0cc390a7ca5fb51fcfe2db8cecf5c383426b59971a02d7eb0d437bb2985203454b96064ef3b8c52b269ab156d3d5af924ad4f05d03ed7ce610447ba22d8b388f586bbacafea396256472ccc70dacf6450e9e30fafea5136c3f12c9dfa006de964a1f5307c746d83be20fe7036125d994ddaa1186322c2f79bd00738462f86271792d24474f92a74b4b62b915f4f276f06ece20dc0e54ab80febe9a55b20c2c6b9d90d2f7b5bcf132b5cbfd96ca13b8155028d0deb65af6429efe36408eee390d214ae3f777e28b8ee9bcdc4eeda88e7cfac236610eba5969582a6f06dbf139ec8893567100745b7addf30ec637cc63ecb28cfcd9db45eedac2c61561b09049010c12e99be7ba8789374dfcdacf72714a871d7f4127e92ebffeb5a3484ff057156bc75841339319d1cf624a2867f432ebde213beec1a56e741f3f5b4911be03e2b8f4e8130d80761673d0ad990081dcd1f29f4e46aa863b1c8029500d8f05580551f7d255b34635d298c4f0ad560aa0df52597085ae60aa1f48abfb07dce43991d0ddd00fb816faf88f1988a15751ad951703f20b4d53595d594d0a2239bafa3f8a5e3654a34305b7bf7c6ed1f27da1bdab8d45359edac5803fa22560da27b5b8669e40501cd2c3eca0ba0b50227f6ff8f211a4366faa199f93f63e2a310e4b530138436525717a02c2155d2f083582d49f026aea255f563018daa40dd580524f528b158bbddfd41db3d4008e64927f111b240db8eb30a61967ef4cef6c371d8b1b0a96a11f0c103fc8eb2fbe76703da8d7915bd9cfc03c8633973f0967f8196d5cb3dd646b12d9dd3b658aec1d88069305ab05b03f56ad3bfe7b5af1e51db1814029a5dd6d4395e9724c0fd8e2f474d8d37df2346da8e2f684c38ca3c9315dfec7a601587162a59db01e3320acd8b50e5a553eb4aec6d505bf7e695efcd607331e7c8a9da245bfbdcd83b703ee524a4216e26e14e22ec3a0a0a0a008abd7b95eb15a9ae941b34e86724cf1684db6d65a938c4aea7b708272f28cc8df2c8798c46b948f93f4405f7963ecf60ff4ab315a5cad4b09ea281e9287dce6cb8c83a311c2b2e22b84db8ea0a0209de9a014e88edb1084f6e99e08c0a07bda07da10847f2fbb8aa3896f6f5f713439dd73f95f8cdd73bd4571c10cae5b177cff20ce39dd73d962777a00b4c5dc89ee1889b966acada5d79ac3d65a6badf267b625084b8c9d0eeb030fac52756a31eef4de7ac1f2b7a7fc8eea114770f9696338dce5dbdfaa0d486666ee56e2f695df144edfae3ae0ae7c8c4348bc2badd84daba3e1878179530cdf135f1c1c4d4e8d7134b65eb6e2c48a933aade8603da5195803197ce60f16aa1eccf973dd0730f89c5cf560024d33a6164793337f26d0fc6154e0a1029561cb63ae2e22d77d6eff0d49b0fd360f92e06aede7096f3f6cdd0992c0db4fcbe268729acffde1e6739dcf60c195ebd6e5feccb4b88ce2e1de7b4477627ec204653157f399cfee9c0ddf7d67b117fbb872a213cc17913b73ada90cdb4a5daa4c9601d92b84cacade241c4d0efbb91e9ddd58e5b09f69c5891508ad179c7ef7ed1677d59c5ca7531b2fd1419f3d6d9556b55931be7baff86974a7b7a58629ecc543b3f5b6b771d59dde0cc271e2bb65dfdfb0ae9cba030acbaa48f1e45ef1bd8dbb1a92feab741fb41ccd9222acb9106338d8d15c442e3fe7e18e86ffed549182e7b6d6aa96a4f9e0052b9fefd590dcf97c1d124793c3b65cf835876d893228b2137d44eb05c7dd07795eb522b7ab8befe5e2d3c9c26b58943819c6f3002c4d5c4a0760e989518c202adaa27b42f1e4ba430885c2ae4e4d33af65418a9361537e64810a3f91a5a36d524a91e5c9b058c309b24812650a1a40b0c14d371876da09aa8a305ca084268c51041e2298fac1d74d789c0c6bd2243679624dafbabbbb0c68c278c20b320c09185438d644a78911eb4355269f16567860a45e12b594d10566dc6e6f401a52d6da4dd3486282009c5aced8b0bb8b3071324c07910a2bc5244491297f9a69bcf884f91cca9292218e68e9ae95522734a163455e9da5a4cdc5162aa16851d0d2854e1746ea15ee251c812282c20d21b84049004a30c31535a8e251c082285e8cb02b3820401391a5f4028993614960101fe00593a784a0f2a47b54c51cb9bb3b8572c30d0dca654c00030914f79265eeee4e43cc7338062d00d51ac5a5c00a46b6608a8fa55c828993613a70c0125498621855d8d9c28c1a18414a9fb18415be44126a194e8c31c6194c2c81a4487327e0a20a51f4e08adb4f2819e2099efa440db912d1e351411547c4f00419ea1746cc07173b5c28692e88c0a20526842128cb13247c01005d307182095cc8e20b51b49f2c3f403f5ab0e860318265078b92eea6dddd734a273001baddee2d0c1dd803c510a3a9f6b8892c4e863501149bd0624ddc8240c6195980510328a8b062860c56900234b2e0c2132930224978d0e48a284aa0f8e20a2f1c81f4032fbe20410cce0812c311460193765150031ab460072e684109ba0b32383285288c40094c7ce144f7a4424692eb6e4b227717c19253674a648451e4afe260c11232a41053b2d4d796f0bc501a8f9975f71275771a851a5ec31b0d25d2adf044e443104107436465c6df9c49f0247812dccf7822d082043a122d6c0216719878487c5430022d467026e0c2ed0706232a9833ddeefe04294e864da152c50b9c2758c167a2ac01698dee2e35f3d0ea227a03488b5b771f2dd092431e1c1955749ad08062641809c70024c418b4e808116484210e3b68410dbe264a0924a59452c6a8831e27c3b0f0b9f293c5013a008a31288b936140430469d1d1d131a2b3a3a3441425cba8adc8f24e0b1becd0f0544079d41540d2fd08030b37d37246f7ee283e4e865d893f368b09e87d44d1729ab111ab40326dc8182540022fe854210750b8f062d404092918c11898e069a2cba0a20bb5a786bb3fc74100a0b03a8460e4072410821625503ca1c29406da42093bd6154bc0f28346108a34e98e71ce2b9e381906a5070b9f2b3f0cb8224b1ba17577d5713a518b2290315d03a6808206940224db9c4fec48d9fdb630800f74da92d7042ea080bc8388060bae70dbbdf7d090cd607777432edc2e02192c93a4200a3dc812461623370d06255f6c31c30854eca0c6119f235758255b5b1372ad76b52cd7725582154ee4279fbf6de1346a2d99712f87e4beaac9b8b85140b82badcee24eef75a862db5fac73df4f6698373924732681481c8d9d95f5dcae2ea7e43ea7536aa033e0b7fa1ea43e7fabee564b88bb133a08d3ff1abaf857fcc97cd342fe39311abdd17cea1c957fa90c79534d43d625df56ca217459b14bfb19c583d6a7d5dd296a5dfeb3d24aca6e2dba591c61e08b9fd26dc6a4f0b95e6d8d16252b6309025a4aa55289e1a8d1a26432c1944aa5eb35a7f40eb0848a18d17d10ad146da7468d1ab0abbfa2a7dfd56573fba9abf461650ae72f3fac44cc0a174aa15f2b9cf9520a10f2e7dbb8ea6864f8ab66e6f4ce8deafb10865a238375d5cc94ac6be65ed6c52259d787accb8e6cd809ba33c6a6b01197bf8528e6e3ac8bf55c08c4c655f8154668b27c2fcb6cca0f292ac111b05c06bab0da8962fc700b027e7c5ae1c48735a7db9eccfb7f3a66dadba7c3e6c9e4cc7ca1e6599ba7e317f07e14393d99f74cc09b7f32ef6d5cfbf65454913e5451dfaacbde8cfe3da5a3ca6ffa86ba3aaaf886be3aaade0de53aaadc0df53aaada8dad7e3c99f7a48a3d996e6f2fbb57931fa435eb05c75ef9f6caaffd34421842a205dd177f767f301cef4715bb915fafbfef6d056f443edceac1b7bdfcc174603f2610061bc49f2fbb97fbd7e720d60b0edff6ee342d7e945d1be73ffcb0001b1f7b89b0b708479333f3c3d1c419199c587102dfc5ae382b972bf603d3602b147aa109dd513ee6c3a7b4513efeb6cb38f40602fefcea681e65b257f4fdf19d762ca1d5beb5869c6e424fe486bbb62be2d08b5e640d893721e8f13aace11cf15e396aade2e9fabf07a175cdf941e0fb7f7cfe6e5d39a73be35b726583b007d65a4a5facdf3f5ff46d5d393057ee488114f19059e1e00ee34221aa85807adaaa734cf9e02ba9531c15b1dd9a5d6beeda5507dcedeee657bbbf99bbbb61606eb7982c56c0e4b675f54317a4df398b2bb7d0e6de8f44aa22891bb663b6b0a8b93d73bafdb74dd74a7a03237f43faf6f7218a8facabc65ad7cce9f68baceb14b2ae9ed1c52272139fb5dbdc8ab1537d1aeb6b22ac0ea390e0419f3aaac78edb1e5dbef4256b08dfb858446ebc5a1ddb6f40b28a70328f0806f0d8f6368fbb88228c20a264723439ccc7329fdb550c1f2cb9ddcd3e1772a3f22372120854f38a3fd60a473e7cca0d4b8ee6fd63dba1bef3a0ad126339f833773d04b7ddeda7b37297568d9d98639d8db9179a1cb9f28f557fadda85d34a3fe1ee94521ffa106511b9e1ff1a84fe7c4821fd69b13b418b7905bfa7a9ddd2fc483f487c7f68bd40eba2d39db9d34ff7aa446ba3abf529a37c544afd65bad14669c51d22a0f11f15e21722ec8f7e640df91b6bb127d34fe4a6ff460ae44657995d47e1fc8d16bb13b5a23bb5143df5941285a8a4a1f93c3f083ffd8a039f56f4a97509e93bad17c93a175615b31683b9b844c6b3fe9bcfa307c22ffa4afa177a937d32d4c7a7b1da21027efb32b8949e5a97add665ba32548cc9c02f552e15b45c8efa4aaa12d2d75a554443fd67d58442d4b77be5b8ef4b264723a4afb4715c31ca12d2b75a17ff7c19d9b60de6646676e2ccec4ed89dc710f5d45a4596cf71e4bb553bfe35ba2f5ad78e26600a6effac183b4148bb9be7b6a7363cb117d7304574a747f140a2aa37606061965876b79a07ce273c7fa9359f989860dbdbbcf89834936ed23cf3eda4c2de09c5d1e434cf7ce268624ef35c78041220811f2d36ddae36d05ef3887aa47323943a66bea1c7f6f37311014797eebc4387659ccf45042c6374ce31390f37ab46be023fe06509979078d98734d8edf81034370de8c9bc7f5902bb1d97c429713442e27517122f5fe6171c1712bde7d2562beff0183760b1fd396efcf84f8e1b3f2e6364673fd6dac9a8fe585ded5240c4975fa222eae14351559f56ed862ac94e90e20055b5f4c0e56f5fabc64ef05d5f782971b92fc316ccccccdc22579556fa09b85c80cb32d38d9cad980efb5cc3b0e6e928628e6c4d8c4d030df7b240f8add68f6dd2ba4cd3828f72a964b23632104ffc42874d25772a55a6920583335fd2e7a7f4513decc7e7cae5235340c81f51518c548c947e2852a2b71f02e26235ca82915a97e946ebe227f5a0c0e551533decb3e5182d18ae4cd986e59b4a25181d407aeaa30f88d3ef41811e7f39f42c9f9fd63a5d900dd55a7dfc153dff35c96fd4c695f8a5f58213aadf82f087fee2971ffa77341340c3b215845ffec5d69d5e3e53428458560bc63201793a18739b4755ed4693c9d1fcf0c34f052ee06884b4c99d1eadd1ba228df1a555621da7c3c2e8541f3877f72076777e09f228257b75de49a3dd488319cb71238d2865230245ddb8419432deb881b39fd8cf98b33d0cd2be5ffe43ebe7370aa73da5ddb37db4fa5030861429b5d6a79eaa3d1b5a3cbf9ff6eceeaed23d2accecf04b969b7f37c74ddb080796dde9f18822d2217c43197f93f1c6381aeb7c7907b397a2f32b444ecdcc1c71f9510f2bf6a35ef145d5895499d893a150faf005e9f22f445de29f28eb9a39a24a2b9fddadcd99916c2fac9c15d73e989399f9af3833fb5f9131ce2be0c8ef18b5881573e478038a626666981cb0bb334c0ed89db92e11f945d589c9389d8971420a862084318648a4918d40441f93883cff300f53c314ef4e3131afade7010c4c8d58d8f68e7a3a39980e8c76bf75a7d65e0641a447bb4df1b8e4fb37fadd39188ef7917241b63d95b5d428202eeb0587be3fb54adf9ecd1106bed8712776257d7a5b5b41fafdab659912c22d6ad577270bc6e44e2d07d381c1389ac6018799538e1a1e1e0626860b371a8da8dcf63553b054fdf9548533bf5ab64465471454803c1dedc99379ecf373d9ebdf80dce97d8d146cfbe6439b6c3e3e3d36edc9b3d6650272e55f49b16b8229fd54e0025480389a4a8592e2930509850b1b10fbb14e0766f14351d4c9ab2d640d23e1484d355fe3d516353cd8b0737522f413cc3c064fe1ccec53b03b73ed19e3cff833e8a45f2bf410fc2b4ea74290214e4f5108429f903ea41f043646e14c59c5e84e5c5c5ca27cca9451ed559680ab0032958d1b4737ca6f4cc78f27b3637e3589acebad759d46d635438a31c658a715372e4fe4a6e3fc197f3a761f85c37a6e9c1791cb188ef9edc6e5a715291ef12955bf597167b572981597ad4b3ebf8d9373ce69c5955bac8b5a70a2f69e0d4f6ccf5c2795e13f674eff4245c41f1c8117f08f229ef5b1f63add8bf9cc581f97d7a60cefb642fc878b828282d8d9e95c7645557432ce77a00c1ccb484d39e54a29d729acb0356e41c4589ff195d5dde208054729bd511139a885191b47666c1c3142add1d648d9ceefea0272e77b75c55cb7976d15c3643cc61c46d83b9f5638d565c4ed67f0e1dba783f4f04d4fc7e8210ef09f7ea5a1ead9c9ff1f15733d87548d2a7f675d7f446cd78aa065f6fa11d604538a39c5cad159b9ee74ac53a1286a07422d114218eb5f0ec965d3733a7fb2ae1e9cc42df7724c4e377c5abe6395c173df53e89ab8264e078e09f33826dcc4d1e4b89d1bdd0e16202d3c5caf2ef7e4f224cee352ccb875cc9d6b9087c0f7c84e5e93b8902345452de2f3220b49744ef1fa900bdb8db4bd8d638ec6a1fb7b41414141d5f6931e9a209f07f93f1d965ff6d0042f954cf6634cbc274723849f19fa92c6e3eefe368ef9974a259fc2430e1c6ec3dc2edd1ec5f437b603112d87f71d771c8944c07f4ee6bd8b45b2de885589d6baa21585a838bf5141f81dc270bcaf01c6162380b8d39b561135c0b06d441bd1159022b6349d56c4d1e4302c864c2c42308052869431ce9f585c19ab70b9ba9815dae519398984a338337b147667772a054248218d304e7639f7574a5caffa3a0f5cafe49d8f21fc108455c72a28d6ced53085e5b779945507043ffc527dc97688693944a683fc768f693b98580eef9fbb31d144c536ff2ab976bbf362c670483ae3b7f7b4524b3de3551ac8da1aee6d5ceb4499d3a1b0bb331467f6265047221d6167456239d00c384b7d7cc6ecae938ea08ce5605d081cf406c20c33cc4029486220acfdfa2191288bcb40b82edf7e545dec8a3bc2a13f9f545d44847049f36909e62f96840b9f07db01a6e5f0feeae1e52f04d8f80b87e9af1a00f0d70c17ca70e133465df8cdd833d3817a583a5282693bd86039bcb771dfc3c05c01fc0cff625d3301f81bd65543c3dbb0aed3bfc9babe7a005897c9fa1a3208c0aaaaea2bc66468a818930940c598cc0c33ec0a215c97761f2c3d8d7c297149efd5d577f4ecb275d98f25eb52e2ba5897e8a54b52257f54c5b715bb22c64e547d1b27654ccce9b902179896994ee955a8a51b4ec68039074a666666668ecc524a666686cccccc0de1181332e95ddec51af237248bc80d748792873f334f2927c7679a08b4a58a9c94624eb6410a431ba4b0c002795bcd788f1d915c4e16087c7b849d52eb6becccee0e1d0751e0200af67ede4ea05016733dd72252c4fee66d5d4fc7fab7a7b3dd52bff476f3d2a383bcf4f0206f99da059148dd6d5d3072777777337ce76e08617b77777777b73b3b33b318dd0dbbbb9b9b4746d17cc6c60c666ccca051c0ceddbd0abb3b577166e72904692bac48977afa96e930b53826039f9a9774a1bd907110f152beed5d4739c5c35d381bc3d1dd1fa920da1880605570524a291b0c5d4018c0c0b8d4aa3342ee5a9a813a70f731bc7ac2eeced5136776a6d5bb0a2c7c17df451662b54186db7962830c2e303333c90c76773683ddd949e13fd6d692ad8fc9eda7c2a6dc6e1bd76f4b0e80622a3d298fc9e5b73b786a2d3d26f7323d2926074031754b793d6f8aa3c9794cae1447631f1307e5c84fbde1fe904824ab46867c3d7e75f7eaba8deb3f623aec33cb7490ef3e3b4a10a3b526d3e93433a343c7bbd2fac180243eeecfee3f988a68881f4cd2c88a3e89f840fe891aa67031818b091836efeeeeee6e77efee6eaa72bbbb7843770a27dc7265152304829c3cbfce19638c71ce18636ce6c8dd7332b3d35bc23c8bc9c93c526b1222d16e7512bed09bef9f0ed2b3a9548299944298440ffad0baa2f53a491510ca05d948e1c43b7a86d3baf8a9f5826399326aa9a574f423fa4c0941adbfd6aa34f41fc20172f925d583fa10f56ce24a51387f4df0821ffaf914f54e518ea21af58f1282a226a456ad1a6cf1021196de92ab43ada8b5f2bbf7c80fe1339533d2292d931270447753638ced4eeaa9ea0d61377f907e685508795ab93d03bba0282ad6ae5455998c3f97845c58fa59794063a538b24f4a23bf3aadf40d5c1c8cf3297d58cd0f55389441133c5d3873216342fcc6974f250b226964fd783a5cace8044da6509c8d3a879ec22a7e57f3279ca1aa5da64a22d18fe997b2ae4aa5d38151dc9d99d97d3cb2647697b1c6a7e4ec1146eb32a89c5039a101c9182509e8878b9c5fc1da5ab2ce9f3bb61da887dd8ce540c16f91bb1151eed6be09755391f5f2a3dd841ab273adb5449d873127952865843d508952f28e6e5860604c0e63ca89dd4884e0c206039f47ac2a8f17d89f81e181c9f4332fa641587d976cbb3c5e607234f074c221662647cd8ca38181902d93e96113b43dcbaa73fc8c5eddec3efe5140f8c3eeb6437ca6cf3d4417adf3821cdc0d8d91bedae2ecd6b8ab977a08ef5bfd8789717c95ee295ad7c3c0c4fce064de7bda558ca382f8a1b22991c70b78b089568d8e2dd5581e2f601e78b0a9615316d080e786e176726162980f2cd23fdcaedc285b3524043a17045be0f3e2c62b63151f8490f91bd0d3611b191f996b9667f2e25e0fa8a928c00b0fc82141b263e40199f1b4c47f9199f524699fdb3f5f305bcb0d9d8d9659921c2f2dc8f1d202229048a459b295fa6b4536aeb44fab5a5d366eadaeb48088d29ff0e1334673033b3d1b8c26c69d1ed361f490d242dd104d8ceae1eea8abcb02d75aed5903a58a3119972af4cc7404a5ae0bdc7e12b4148ca698130e429a86a0a0a07abdb08e0f8187495564e69b04a8046ddae862a768460300415000f3160000180808038201b180585744c6d80714000d5b8e405c4e2c95c943c1481cc6711846311404400cc3186294318029e9505507176e8151c2c08ce6f291b501cd7a3bc50efadc0f104828e471a9c7eac331808ac1f8f69832f1ee588ea98a31889d0de8972321365f886cd19620ca9265d880e970f728c0101634ca1e0e8b1b251324c354206001e3a4f260776f6a2c2e7ea49360a07368d8dacd8047aaeb17ce7075fb8ccd702cf671532e4344cec206003848a1dd30c104e324d258663e1fc98074bf00ee5f45a61baced19dad771934f15156d228a720746a4ff074602bbc4d8ddc50d3d78deb3919aca6600da93d95d09da0c9b5f17c674b264f3cadbb536974ba13f5476558909ddd39661cdb340fb971bade513a18f34dfeeca355a869377b39458a6f47319ba8a99f8aa967993252c3c9c308e17d6183913b05bbc9ad77259165d482b3f6f85a48a0ba99ba588cc94c7ba826a90fe1c6a77a94696aee3cd57698464998f9e2438d2c303d43c430492cf4212509a382d4a11bbfc67a9423ad65f856d91bc8ffac917ef9d51fc7ba36639c1c94dbe8046a6f064dd808b20c4955920d739213c59ecb9d4e348f7aef463841d274ddb32829b33181f00129aa0ab4202a77322c7790ff0b59139187581cb5886270dcd7fe4f1786e22213567007c4d6054d8281a1a8ca8f5218d234f6b6c57866d4bb14a53082934b292c0d35348e07dbb3c42e08404a7a998c0b6075494fd4599208221d81b04102c2de148f3740310d356cdaf1c0862279a0ea02de4234e1e8c7883b72745d49fc93f17f90c0710e3c1f166672133f076230b9b62708251da75cf5dd59f51d03581b3d63dee60cbbe2318d6aeca11381fcd96c3c0098d564d78b229db059a6555ac038d0a1386fc354111fcd1b99fb7605d9f51b004bae0b769b0c0d853ec9c85c507358f4322a111fe4ac2e2f94e4e68a1ccdd60b92cb7d16c7166749beda07cdc5a3de0af98dea6ce30ddd7878e175a85c0547f6ee15966948fd68b22788bbd0a684a6229a7ee5f14087cece4500d459b7b04d5813cc243a3b83e17a27006ed396347e4f1877a7b2c13c3c02a9f0f410a6e289f9eede3fbdb7496bdcaee269a75dbad7940b4148324e77a125c1620265a097dfcc0a116ceed608af80dd9300562855f7453b39708eb368fe47d39acde04163b24afe5e997089e7bdbea8980fc8357bc5e7cda93c7e51c1c0bca8be08407daecee0121403268d8d61006329d6cd96b35e958e2c387d10cc14fbaae6eb92bb562b354b0572efb3386a19f4924755acd55c9212d12574df60423cd5f2e2de450e0ada3e4088cc3d064071d5bb06a0a86040c56f649e1ce9407c963cf18a29ec185ee2b14dda8259dcb408ccdf1b097f122ca14e2c5c214d6a2c9c69f004aaf8326088cd5c92001b71b3eeb2f78a26938a964c9f7253b9168ae40ef2f67d8319b237fe0e6396fe60833a701562b1287c82254ab9f044118260a4cb84ac0c8e4139370c180a9abc2e3742d4c0189cd35cd37dfd12fcba43ae1ccc10b86e7c6cd40a6f4eeb79c680af989342b2a555d2d63fc0cbc534d70cf930954a51187abfd3685bf4a66072f7914fda299925d5a8ad7c207856d8bc7a97bec6bbfd7520c00716eeb93d6a04b8008eb5ba426a009bc8d4e7a1cd0a71626c894da63f21c9c45095ea8be24f4f83c28f436f1fad2c51114d2a1b61a9e6836eb695860be9005e59b92aa53a8b01255228ed7a4a4ae2f212cdd2a9ac3d82c130948754be9435ebbd3b67a79360b150e567acc4f946dd88453b625e2e80407134213ad03d1e27b17462794da12afc3cc83ca557b5ce8471b3c7216df1ac30113f3c5d7cdecec3270a5a4d8703f4a20c130b129f47e20891860f916450e478fe3023fa81e3c0159424618629e2d721239822b2153ae65f453887dd7ce8cf6ff17d9186edb07ade93c374841f19ac14cb61f6ba970e38b61164ce015d77eb74c6e541ad2d7bc89a1edb7fd41e287373c6e67d09996348a89a18c16f5558de0670c83930667d3e09649a373b12adaa2e9efc7bf685ddbdc0d47943a136e8a2f1c958e93ae4768053984f358e6081c81a20f0d53c7074a60c1d7956bfab8cfdb8c9c396a3e314b15231003894a22683d1191bda1c72b20cc925c8ab6d6d6cea68ff5db8d55443306e66a319e06f5526721a00664166228ca03800b30adf5280fbeb1996653540dec7c4ea6a3e628c43263b8f5772bc7a7bd32b813cba5131a10853eae3248685e629f1a9f8fb66b6389d7833fdfd15c6c4b993a2a8f8c6f1d6b1ba5c7e34e21f00b7f1db2f1a876b6bd8d07cf8534053b547c1c0e4daa2bbe749c08b8993c7d2d81c3a8604254e63f7ea95a3ad3c442b51b53b0d5b1d5890c6cb2961d87d45f30d308b001fce735839fd993db062c512327c397045322e867e5accaf2df398464069c338db9a703518d7f2fe939b14aa4c830a8b24db25a0a003a0167bb379aae491da24daf1218d1d58da61ff42ae4458a67af987811fe35641752e20abc9bd5693feefee529dafd603826f6212003b1e59e17c1603dc6a00aa038ae45e653359e9df4ab8eba1596d9ea93b55b816ff8eeae15f4e558be8910ad10c0937d0ea82ba03c2231dea45a14645575f381de805fbfa32a2b142f0e97b93eafdab5ffd2dd509e9f20c7dee0c3c1384ff863ce0b3147e8be551da16a9100f9048de60c874902693bda8219169b4cbd381a4923e33f68fb0588fd24016ee5e83a84a93a9000d0a19ef2e3dd108634ead9caa55a7a4535a09ffe4b538982dfa0f59f81c1b3ffe8bfc7eecc9403c02c799fa3fb769aff21b80fc8e1fd370ce022305af5454fbe0d3bc737e64a599798f50077076080de018c8fa72cd11560f8bea801e85ec2cbb38514527b725a708837cda92769a078fa1a98a00a475b031ef18e49371d5e5bd2d464c0cb444f695207365c2429d46657c214804e4f915f788ff9f41cfd4012d31453feec9fb3262d6fea465db2100f3167811a15225bb235e3951edcba91e9ef6cb454082c67091cc5e44f18c128a91baa5021694e2cff39f35c8315d3cd4e9c3cdec761390844f9f0645087fe6a93446bfc77aa8d64468e6e9e9ae6df5a7cacb6aea1786d578b1f82b5321adeb067b55a7c3e38e3271caa03c05658c0dce16cb598b6163f9462aeac61ce5a5584111b7f33726508e4be7b6bbc2ed2f40ed3fbe8b499ef02c116c2a7bf0f8718b9cf25b18cc4abecc865f5be07423efdae3f4e0a4f4e9326f25171c8c257d2376f3e6936468e702be14b935331231f3f2575cf98240efd9b206c0db1920f24680f94e10762f286fad12ae367355df2552631cb1a1ec2bb82a043a06de07131191a255c565ab3497d6dc4889698df3238937e545a54a585107369eca0908dff0f80caac3c74b04c377683d29d69f635c2ea9c4422e6e8788f50e4793fc18cc287809e561ac2e9768d62e6e17242a9d6159bb771e6bdae5bd7f67f1059131385e230ef4ae12e319d3b47bb2d83fad211cf70021bec4fe92fd58a693b4954c8a4d5d33d36d7c090894d39067d36bf60041e0746c4c424029555e047a74a163202ad8c9d8d3ad8d826ff9b4843d0ea13532f409f8dd61241fb5013515d32aef07f3e5ca3c8461f7505786ac8c544cadb37b0b3c98583cadcdc1b466f30ab34aa6f1d9069298e1d813baae0e473925351b47575c4134a2d970df05afedf91f9f32d334b2b4831b3f788d6c792e7853884c12fafd1ec636c4e480c0c9d67d7ee520face68e81057a2ae11d1b6f7619a90c6030246359d7d9f35f862a3335577321fa2e122e80d22e05db02af33bc75ed378753065cc26dd5922f593871bf524a222c411e5b12e338ea43a386e39e44792573f393ee632fc917f5e9303927503670f332b1c571f16dcce60fafdb88bdc1deb42bb319fc7148fde9b9b1ef72829e9a1deb8c42ee21f6ba84a0aae390cbe99005679c479a414ae3baf6a3a1bb0878e34a22222cd3f279e204befeebef8767e7ad7906f7904c7f23edb7f84701153fef302b738603edb02b9364c851321e2458b46bb775deae11dc4677736c3c7ac6245f1b2ce750fe938207af60db2b0f7c2335f5767dd0b381d033097ed60ca6dd8542d2caa3b8be40debc81e37783d71aad37ce2077804b095d89d07ab948c00d6d0794745bfd4e20e7b213bb35be5a1bb6c4895d0ef14e8c2390e0140294081b5e694e3e8d6a8a5d6a7c7b91aa14011053ae84775a62c876b6a01d762d6501a9303c2765141d5a568c4452c41a8cecb34b5939059048befdc3bc2030a2a9ea07235332be66e0f1d31471667afb8fe54895047c86a45c9a8ae093f67a2720688edd03aa40c6c1d52c1c6ace728af0c2326a843bd88231c69043ac99caf14194ffcef981a7c081d4fd67f9a60873651e8a2f153a2cb22e1674c5a574047775e40700aa6cab889777df227b3c4a422885693cdbb69b0aa9ee3e0667e8f5246c67cacd6bb4a2121628aa3850f42d4f5a77dac627ac00ee9d0284ee834b986b851832383836c1940a23e35bc6fc1e2a1954991c1425d07bbe2f638112a1cf20af42a60b650fbdc9da60929961f03740f3349385877fdb288a5186d724f033d15dc5517857c108a9283bf35aeebc9656cba26857428744cab1dbe7bd4403fbc970ea03014e91f74df55574945647b61c29b5f020dfea833621162d0e92fa6d7d0d5d9a8d67f43087fbb1d40240803428438a435be05ab2bdffaf9703d67abaecfae25641c4ff30a4049b58f1a0702dea299ca7ea2a6a0044627a3ea2a8182ea6840661a19f17721c75af439a0ca7ffb843d86dfdcf88c9e764577245a01b1217dfb4b6ff78b06b37ab38faa16772e0e75b274bb10090740de44f2f9b37f918e87e94462e5b5e6b4bb522e758d6bbcc1dc77d1e4ac838d0f44193826fa00d5e68cc36f507035a4fbcdc8bd9fd6a146c529067e6076946d95c902a69c5d76c86a631e8d23c65d8201779c16d1f57460bf7753d8c149b99f29d680710a8ee003399ff9a867f7cd6b3efa6fb6c8d833ba4b7ec3149c6c9903282b85309d1a8b6e6966644507596862fea3ea4b4225156ea9a6c53f524913a3dac48f4638e78fe9b593819400efd3b4324bfe0e5568265430133c6c90e72ddbf211e571d0c00a3cb4906e068366b05758de082f40c2c62351d618a4d712f1a7707d84c2fe7ab77eeda626b456a801113874274fb92f302539e201040ebc1d0c621d9d09ae802da9199772a3e6060368b8d9dfa7bbdd1b1a916f232aeba5473911d412a87d395fd488a616016cea2c6c8af7d8e979a1ec745bb58e8e3a712b0d236e7b9045483612006479ab9ebaa1b0d1c0e4e4074804af0212459e731df7659f6e754430589d6dea208a4b07e0819f9b4312b38bd5f842c242b8b519cf5b6f5e0aec1a5bad4bf8ea328d5cf0384f010e1d70a4f858c36061bb7171032d257f66a160c4ef61970cd7056fc0fc22b643149d1cf4a473e6bf0f11c7ed872b77cce52c1cc3e0f61c61f086ca86d63634c270edf149c23f78bcce40051bb123694022458abc8772054889e4e6b728caa72cf5381f4d8bb3b9396fba775b748941338986b2b8f9b6ca4577583bd1cd5400b1a66ae372d613b84ebbde7218d4c29ed91dbad5e4915987d31c03eb623d275d3bdedea754aac72896284b16c5f87ad08928e253624903948466aa8d478a5b7e1d9d495241f446a1e67f8551e987667fa55d2b7b0ba92cb531dc877aff41c3d4dcf0d9a48a855c67510667f4d29855d68d2e52bcad766b28395ef02176f86d7c37d919d8116284e15537cb95488707f2ee969d35ca8ee955d95c26631866a98230483517d016917258bc7b026e832cc9ae8d31fda8ad8d66866105d38bbbe9677d290cc4cbd5d03beb189c7f61439ecd572294ef0f1ca2088b39df3028167e54143d386d2e849db8eeddf16e61fe309f3fb095733cf8e01c76168103942d53116d4121988df1b3804056e8d9e828f968fdd0b984c9037d288c5413cfd78cc697f69183519dd5996f4a4824c6594bc3971a0c396f65928f22c5ad748d16dc2288b98cc22bb1aaa43eb161d2c2c83fcdaf2897f1bf9455cecaaa87c82c40251ce9152f78943b81fcd0dde1bb1913109f5d2d4d4645b0b8c1a5a3d6d705e23bd7c362aadd8b0040a45185414d5e31d94bcee764d0c3f29260657635e660124c7d526c72d369cb88bb2bc35f5f5d379fbbe4f31f9d0a1a9411fc08632c015e0548256d0523bb1064bdfa6982e422b65f9ce620f247c985d1644eec93f16bcc470a0e55908f094e9804667ce82361fad426f3ecf7b2aa0300a440c4904174af0a7a23859a90464c4c33c6da076b915812fcec770d74d3863aeb792d025e5f8ef601ca12ed5f7c3d0279411245123fb0c4cd9dea8a8cc9254aa291540dbdaeaeca1ae802431fa3cc246293523a3351aebab31f81173bcc6b32cab26887fc65e8a8e1cf1b8a8829c6c54712fbaa878737274be3f96cf34a181f901285c17b5cd2bb6a2732f1b304f5966f30c5166b35933fcbccdd213cd476a26c82aa2c21e097f8505bceb57e4833423fb07eff96abb0c9191d93455896926600887f67bb178588fa2b1271fc880a6a98ef2b37273379d804a3e3793bf3d5425232f46de46c4d8bcb9a492e3ea37b453d927cb4207a0643f63ba3ad23338f491b895ceee070b4bd28c57a02847e97092568a1585f3ab631b533e9b6577cedc9410cc0a0fa62ee485d0665d2c9c1f4919460e536e69bae040b2f5c4077e38ccbaca0c3ac99fc0420d9cd9b6dd0da237945d953781f3a03318a738063d41ed6db399359c113e64ab56dce027b26908c3ad4dccfc0ce2a19b30fae1d81ae99ac9668df5b4f5366459bee11758f62deecb32228ac23ef2681cd03cd5ee0e6a7af4094b63670ef6c80dbb38993782a4c02cea7a145f3c3e276d8171e11785c1c13b2d1e4b35f05c0fd51d68b072b65f1412da68b1eaf0c3e98e6a4dfd60e47cfde25f06bef8085b6698f14ef1f9830525164875418e6c4811daebbab501fcaac91c05214f82301b8fdb0985c4da5bdbe8d5094a022925d82185c0bcd36ac94f5ec236cb631ba2654ae6ca23b319578c415cbcd0a9e08abe23cd874329599e655e865f52a492c8fc40c08722ece5696e28785167620858949b0800dffb2323a218499bf2e5dc471a91aab714639586ff6a0bdf80fd221e96627430123351ec9f18cd959ed8aac94020b2a34741fe31a4c55e6626361bdc3d19dfd193282585641e308affb57493e48f2f8e8b7f39e0a242048817f20cb18186b45086b05818650c4dbd8f5bc43e9ac7bbf98d2a70740b9dc4153857060ceb48e8d918668a18e6304ee30be61d62413782dc53b6f94462c602b38693062a807c2cff513f61bf36ca115fb84e6b8a36354e463fb05795ac579d11f9053bf375e48ac5aeced4214cf47c6db7406c1387711da06acafcc0f04f3b55aa05d37c8185089a34dcb4c81dea53a5b501a18990be235674af2d515a21f7f90b06eba115f6c320f40c266e84ebde63aad46343249f3c0a9a3c900ea444fdc3970309d335383c6c811ec55935cbb23f8227e7e4a7f4e8bb288733e500a7ab9bd743c224d810bd40b22f5813e64efffe17624f7e941ed849a13b44bec9a5c75c5785f81d6ff1ff8ebd237f00ec71cc0c8b9ad3df4262fb1f9f3c4ca50d1de538fab12ac9ed2fe34309f9022e280c7fc20d155a6a3f72ed642363113a1a663eb98f9c1d8e6cd081de48f1a02ae18462ada1c085337af3d06ab65b761934355ecface0d4b20042d7de09ad9622518edc7808f76c30bbb2df3a46a57ced1818adee223ae6f1f3c89cfcd7555df718a3faecc69c4d04e90fd16ad6ed6c451cfa4d1304ff0dd136a8c0024c9d2515f4a1ba21af225e4240a7505eab915d7495a8c5026bd5b2527ca4e1ec251e1723992252a1f5489df4ec0721523da5e57078f2848f480e702861133fe1a7f68069aa98858b018436c29bd83198fbf9314c414923e477aedac5cdee15dc360e29f724337605a4ea22ec07de1826f243c31391ff061e33158f969c510135248b7ed4b061680b32b7efa2380ada34c5744812764a626f8bd328149dc2fdad0c4d2c498ca02e76343ba8dd346722d089e9869bba707f70d99965213c1fe62621fd4177365073038fe776b69989092697673b95f3537c1c4771e5d2b0a51f0c54bd9d2de8d9b2c620c1c333092d9f40a88f431ccb5786225176efbac0d5059ec0c4f52cde58d9c3b9405e924061b65ab534b05ded961864a92dd4c00117346484c5e9da2323876876a63d7386c2511f7a48cfe2d25591203f9fa0e6ffa3014353257e0c573ca4beb760631919152dc0fca5a9c623abbe145ffc668cb5997a6c6ce0bafca81766dff33affd4c500af0ed9a3e68b4d92ec67cb0b389e9dbe463db9dbee3f19993bbbfc27a31eb574db4c2dfe64d445b2f280e4f04f3887448ed4c30f527e16e89279bbd3383de6a42c925b59c21096ee74ffc846ca0cb2751f6ce5a597bbc7bb40a853e2c563d64c0bfc1e8f4ea63622cf8cedcf914caa42616f2205c113c5e6ee53ae01d5f6ca439824fdcdb2c0656e64bc3dbf98c6fd3b76e889b5e8ed6d29552b067071a603e7a1922bb771c66d1b3e4e4f1c8ae47a3c1460930704c5f620826729e3a9e6129832294b72a0ecab98b9d486541e214786c91441c708dba54bc8908aca1a71b8a2a36eb4589845c599a01268f8f4587897e7ff7eacd6ef88a4ef6c0907854dc0c2e0ea2670f63cb84232665deb8a1813624cea6df1e30240853d9c510e08797605d5400341223596bb32277a1cc7047ac36a93e0ee3a445767ec258fababf7dba9da0455ca4704d06f6c4208d9d5b5be2d512568ef75448e535acd6b04d51dfaed09a51f9d77e8b776c36c0d9f811d7095f15b961daace89ed89b468ab12c49731e2b7377850bc5dabf22f8974e503f16d6ad226eb407cec47ee45d1f3662b45c38b901ead8144f6e98d935c973c4cbed5e7a6caf1cc3525a1b3924c1ee7905f705456368214ca39f96aabb7c21a5a4b825ba1aa54ad292f905ab94013ed40452dbb745fcb1f2ff6751067b78c95fda75e55043e35f704699f32e249888a50c520fa79ce80552db3a9d69b5896498f3473d2c7a4d8637670669040ad242d7b7b47098b9d6a20e56ad07f37ab96058bb81231d7e6ee875e7f15f154cad1ec88d798dee1ef5f3042ba99175c422086506661f56be6eee71ca7494de32a9a69ef89e4209e402f8178f648ab753f4f89991ea22908e3b4669cf4acd73404873b3deae97d1f00f4a8a2c4ab89f86a4e33b2476c9967a5323d932f92b1ec8234aa4e0ed0db996020df7465339c82006c4aba24bb7093995087754f44a30b13f4d4f4f13ee222288c5832c0d853cb14f40a3acb5f15a819ccdf15544d6f809a5ec1780eacb0b0333ab043a0a969c6d75769ce1ca1b59bcd6795115595b61daedabdb817a76b79f52b0c1831f69d859d8c29dc2ad959cb3f3e166bd5974315cafe83e4625b854c077649042f60c4ca8dd8ed204b99197bec5c6c936f2881fd31e526c801d372b457cf6fca80d41ec0d136b8b75a906f6940838c2f140bffd9bb0ac4460b885970775003812fb06fa866e2248efd757527d24320575fe3335780e4812e2e4bf1e422f81b4dca7676e6172874f10971a7ed30d1cf58d4fcdc95c953cb451353ef2fe7ac74861552dcca80481e8b8aea8b6a218576f9f8e6f954d9aa3cc4b03c12d493866835e5ef89021603caba3365fbb4e0a4b4325c832294136ec2de01289796724c687dafa2e85fa50351a78e1302699a638d35196985f9862a106241adf16dbc8887e586f54bb8f19a4126c96c7fb027fd2725a44b43b9edba178f61dad9e069724562df68707be10452c4f0b84464781da102934c68df2164178249682bfef185ebd79a1dcf8ccf1b5f658fd0f89f73f2d37e66e8c37992f3c078ab92b4807f5c28a3368424dce31123f0a0b89a79af8aa3c7d225ab79f2a0eebdec2e2cab3150aa1166b469c8ebcc48d420e27ce3ba90db6ad92934b2e09d9063d5282d228fde262d9aa6587b4ae80db0ea7e93034e5196a30c080327bf2a3346be4735efa5d66512de7f18daa808fd8340e2d190c362f235f6c772890c90b96907bae53e1bef04a38016514053eda5da4e929615fcb826644c6db87bbb26d49d36b02fddbcbf5fe9c412995b0e1123780929dbfcb6be24ceb7b97d6d2c34a9c4a478e4ead92150a22e95bb86f9e83ccbdf4f37fa45fa68898a15b73b35542d97eb464fd17b4dfb75ed4e164b1bd4c6d07704524db667bad9b6a09714d9a6188a751c277750e85847a79acb3a378b293b3e9e2e60c22223d8219755e220e7055f3409641b79fe7955dc01a763809a6cd44247207d22946ba5561ee147dc23141a3dcf19b504c8b5c717cc0e19a9219429d4a056dcc96cb2274ba3c17d832288ab3b70fcdef5a1cdcbde07b5236ac99db95d862d0787313235baf080cb00786a0e8fe0e96f3ca51e484c2867e360e8194eab4c5468125110ae51c5e2fa0a5848368e24c2b73e619e423872207d28d655697ae24663c6115097042c90bb499883c1b0b09d179302f7130bd8a5a173940117ed170357bb80a5cdff30006d8ab2c495787578b1d72c69250ad0f737b978c355d130641a63175000f5d7485077c4284bd55056f6cc05ea1d9133d1e0610b394cf84dd6011e2644dce26a6c83a6874660b2a4020b99850934e3f6e7d74c65670ad9e48a63da2712e8a589a49fe2ca4edff68b4852291bf0efb2fe549bc5d83bc87fbf9e25624580378eae2d9643179ceddc2c4ba937eac603cf56829800b6f1da95c1360feac9574472074baa046198c27ced0e4625c6930e3790fa4806ed27f3c8a8216beaa466ba073a214267a056ab13dcd85084ff0f8b5f2e02660a4460465b85a353c0691142e6d2dd54a0f3f8c1a5d768e2847d15a4ecbec5c4f5f4a772cb8554fa4c7a51340f0515e899c24f9fc3d8342e004033269b4167582e9f7f680f4708aefd2eaf023f7be507c111795b171ccf2c319f50973e86262f389643a51a251f0454824c12eb0106ca0c88a0fa88d91baac4af6faab48e7375d1ac764c889215ac704d4075416ef7614efb448c57d0c0ff4f24e593d2c914652a44fff2408bc6e9f115ac9319fcbbf13a7085cac64a10240109047b96a38c36b1278e67ec4f70735da60668123d6b607e9da186f03cf8769398e7c45f59492d8e9c20b212ac64337018594443c43dabaa5bc08df36d62f945d58baed7fa17ba564b7eff5dd83c63b7a02eb035a77722561456dfb865bd279a7ccb36fc84d83c4908aea63884b4685bddd9408664f6a1bb66a01a08aeaceaba73bdda7b3209ae48b47d3a80d13d2454754a8990b9cb3ca5a669663975562dd97ece9b03e3b094517bd61751e4ba002f5f677ae2a936aecf6184c22a664fd2b17a0a2e2a27311ceefae9bffdb727ad749ade685dbd4659ba6f0b39bb222c28b136696704a94d6c36f7120ad72a0716628ea45e53c7e20727d70097ad69ff7ace4e66ea10c5af53ac244d8563a01042699b0f449883bc79fdbfe681b7282a78cf7e2640ed7385a3b08877447bf398eaabf97930c90784157e1a59a10fb964e20864561832d65b4b181054f6fe045b021ec5284156a75e5441c98affa06638c8061d63a86d9acfbc0e966362e0f75a3056082a76d6af5b78563ed31069d49a5b5d5cb6e6c4393fbea34087c22abdf7a68a961f9bb16fd0b9f76c6b45f95166f6e1f3bab5422cd4001f04821f77fdcc0d52764c1579f473a4f9ff47b7b86a3e7f80874969e416b053ee0083e850b7951754856c8ffef43d956a9d6018575abd23488dc710b5ad8a18cffe326a71a719c5525b04fbbf1e7df2b37e545eef37608f3614786e215cf2fa93b4f79a6d8a0d381a3f852689e33c73ee7fe234307df86eac7c2e7c1cb1112351556ebe661da96608f8decf84d52004150808f299e0fa3b674087880ddbff11c89004c9532ad83a131de88b7bc946969781049c2faaecf41a7566acbdc2303836a8fe32626a4d20b67359ace0b07191a2b0c8d398554d5140d740409317d166e8d64b71cdf6a4e637d7b295920078e59d9c542ff36119bf229d3a4bde746ab4913ab568c12934bdeb79ea6afea166b19a2c368f5b6d97a4488c71f3517f4e48620ebe4ed6cb1c88e21fa032ea2f1ab34e2673955e827ad9eda8849542a9771850a8d62d92b76e41f1622ac1a6ad809e05ef316b4abb7f6182e620431b262d2213c499f3db7b73fc5cf062fc4798c943f59c042ebfc3a0da4b01f81cdabb3502446ccf724b73ae60135cce234a7cc87a84759746aad82cff6f848d28db33756595798183971c9f796923f42a9e39acab4b07ef9e028d37f2360f04d6b9b49acb67e116843fb4beeb3b5287985aa6c5904872a8eb866c68d4b5ad0eee44f173ca2b1b5f17ea1ec48d60d813ef0f93ce8b45fd4826f6e7d14e6b80a273fe38054bd80f26bd8d976dd5c7269895b513304334b17dfb1df6093beade35e606e625ec1bbb41771a360da85fd0b2942643aaf58d79a570dbf8ed7f46bd00b13a34d318687b7355a1cf4f00c84beed43c70571d58dc7dd08b62f66dd8befe9e2392d6f7c8fa4616a32334289967f7b29ceafecb975801086a0204a603998902a0e0fc09b830ef0aff593297c6b7d2092b1fbf78275ce42e3ad2f7a4ab5ce34da3d08eb72bb7ef3dfd5e63a107cb35fdc848e04c53469c58dafb2a13b1bc13fbc5bf4ce04ec9661bfb7f32e11170d1994bea2c8f25eb52de3549a2ffeba77ef395322881622e0b13e7b7c1a115423832267938459f9f3e00602c1ddd90d865b5edb281928a56692593652d7ca2f605676bad46b295b960e6e70369890566fd1b449078c0178ef835c745b5e9e6504599fea418addefc0378c1818c74ac6f80cf44a071d6b6cddec9bf162ad793e1ee3d0cf576439a6ca7951a19fee1be0c4dfde19e910495ca0292088df2bc3e881673689b46170ff5eba41e1825ce3484f1aa9eccd63700af3cf01d9969c007d3004bcdcb67a1c2074fb17aa58dd951592e181e9b3531966a376e12d4a014efdcdf3b0135dd6c1733e95202c857c6161280960050c111e230211c57f4376dc02bcdc235509c3de43bb31f3d21c220b494773bf22fcfc20aa591f1fd5f2462c8d28a585e44a15eaf0cc78c2848a7b6cea89f217a565a326635e1e1f7bd6ac9790e4b834b6e8f7a90907bbaa5b37b6d0d6dda100524ab40f24a7c20bb1891adadcc92e7bd4578fa24f818b0be16caf13bda06b3f027acf5d9328e249ce29fe621c0fc21e40ef5e1f6bcc17f70681e385392b579e75321a50c796cbbc6c9ae8415ee123cd96a1ebdaff6f0fa84edfd00324c8e39199be586b1f129f7cbf1fd12a0eecdd853c39ae7eb0dab9d60007c62bd0219d590363792a4877b3d393fe117f400f4d2660b9aaaaf778b4974334392d7c5a7eeaf9d119cf515a1ab4de0a627294944ceef5a4aa2c89dc9ee099abf751def22b8a2f9d5688e6ea9c8136716080a1db1f74122611390ba5a07aa7ee970649d993a3deceb6a48e7fe02276168e859c2c50ad6f23cb07e85b6eff24290d8c3b370103ea7908c8a59f8dde46a14107d12b7c9aa508f2626db0b9ae1ccf123ae77eee00a238836f5c4b0ffd434a85e672efdab409167c48db67212c0e9df1c05f41959e3769674a09ba4dc4455dff0dbc4d7fe8bff0e3969343839d1ae91560c6372b035bc9ffb916c5be29ccc8a63145dac1195fc6f011dcff94b9194993fe3cf1f132c4707d46b72f5404d263eb827d14a0b10d8121b4f959635e8426e66a8b4c69e824e92c2c515489891e746621caab0ab1758302a2c235149f9483ce98188f610395c41329477c38228c1323e70989db39d3ef266cab3f11c7e008d7326960a1b25c00477a6398858461a0dcd0e1e8f4b73cfbe8865a61837ff8a0f0d69d824925ecd6cc8bda4b1cc2348f040040a2c2b58b3a20d76c6c5dde20036240c1a4da00a88641ad6eaea11d9bf3bd0ec9f0ce4c1f48fa7b3761a7c2e00c83201ef6c90b36c541023fe70f2d5a090c99e62f898a94346ae630e8dfe8a178f5b37cbfe1ecad94ce64064dafe5d4eeb8a5f64b314629ce189caa08556df5a48548c6d65b259a2ff2ab4f1e6b6029b158411f19414faadef0ca25fc26cf5ff0bd41dfe334b391046b314de1c24c62e4b13b33f9c7897eb969f164bb0dd7716d5ed7539bdf9c58e2a911aa75c8a3fea8ade028060041c2f3d787baeab4571a3b7d6393fb28a28e43df4b6e92d85ccb1ba810e3d2182c46e3b56fdafbf9ce71cdeb15fce59c9dd7b64e98c7bb1e5220646a7f5e6b8ccac49f9220499a188e6d1767926671cc83b6dfa91951f5f891125b6f7b874758b0ccf814b8042755221158b29b3551fefc714a96c6c4d1a123f54be6359e7703eb08e3995276438b46abcd06f2f9ec99a6635438aa6a51084b136e4d58cc574d366d4458a5404de66abd03866115a9ea7725c6f1acf9f7bac3508c83410519589cf026b00c090f6104f286e08de158ae8bc58032019f483dd8596df3f50f50fb33aa648d2532206ab151c164592c3023a760c8ce4c0be739d461095336fe017ea8050e9880244d1e21815e2c3fb8617512f54288e6bdae5e58c0f15336d252ef013c77c789506753b731880e5789ce02ef38a705377ac9eb8901f9d555bf9282b8ed92a97d88549357851307401c54ec571ce940a037d814afd949b5d966bbfe53f5df286ba83181b1ac1ff6a2decb38d18803f5449a4af45c1bb0d40bb4308c01d980ae52a731f2bd4910263e37102a3389ed01273f189456d169420741230c627611c0a86e916c5465d5a759a6cd9277d3244fda865023d82d7175e7be8aea0a03d7b4732d53adfa82a1116e8f2f07c8d2275a4a464d9e4284e66f6bcf0ad1fcd4e766745e830b340d4e213d63042a2f986c61ca9e37d177d617d9086d347ac7970cb35a9009017ebb013a37637502b2536717c3b3a81e4c74f1b883e77b1a7c404e5b7a650915474c16b710e70ea4945f467b87e2ad36b4c86de161334799fcf4e492815622c7e958f5d8c4ff5a513ffe80c604ed08c6953bf6232ad350739c832cda9b318eb2444feb5ecbe8026f37194677ca69e58d56e14d583497febc5005faa5de107ecb3920587f562b5676c2825b4ccf60f870b7ad8e5c4d11e41dbd3bc275583bfeee1d8ebb60a08157543291ed1d7df51a3cc0c1bb6ead5446129923d289a120a408572ad034b74a07449218a003b1dbedff9aa5c5488c36b13f79a1499f353a377412dea774f4924df1a734940c38a9acca981b4812ccb668fe73a291f5676b97b533a414b6b7b208b88e07ae34db9be2daf49325a25a64ba638857da7d068c7f625d7d2648877729d5b6d37d5e46f2415f9cff1ebbb779a6b940d14856f88a108d087451369c7a813b036b746a083ee21ce86a6feb3f52dbfec37d0084dd2340624ad3ed74a322ac1b458ba2b0a1c3cca94931278afc2fe74cee2bb5d1b6fc9292caabc5154bd916f5c7c239d9e9d80321c4602eb084b4d2e5ddfd27e0566a7fe77c3f29a87e66608a37a89cccb6fa0535e31ee75d4d39c06413f80f902053f5c11d84824eff1f8c18e91f003179d4b3371a0c4f1bb485d1c5e0baca3018274d80ba7b60ffc27cbd340af7511726250e98487d232d8d601e5007b5ab7856b2afd04afe3e7f793cf8377a86b319cd8e00d711d2884e016340c4e413208a878a00fb67d2323f71471e8ea9f28dd210cfd58455cebf3c7d68847f28d414700b1bd54d030c18e99a651c2b432cb48c8676ecf98167c2ec2ead8b8ba385a5d766ce583e771bc5a6fce831c6be4b0e858636278bc1157d0e7a3dc3afe52ae1878f762f666e50e5266658868a4d3389807fe3ac49155f9303606309dab3b39e281006ed2b000fc894c488eb86f4ad422d4bcfbebea030e3b0516c04ff04e9b755333fe5102faa93978a799d457c4e09262ec19a4720470b445bfdb08fc8c304d9b4639e518c63c3e567e40a0bc7dd6e21f5e164455efbaa9cf7c19425126f8bd77efd68bbba35d6708b84d6257f6411016385c792a351a8ac2b754ed5f37b13214dedafa4687f8dea2afe72306b9b6c1b3f586355d9460dbcc09b7df987872cb9c7801dc5de2e9817b8b1b8c656ef680fd9fcb95cedbca6c60f3333a1552cede6d63e7796af84014b02ee643ec002b6a225ab1934ee88b684b2a0bcac6bc9f76c640f60b926b52186df4601a9b2cab4bf4f84926d21e48beb04aea1aee801470b2e909ce4f2470cb92c75430104dca2d6be77346734cc91ea65be6832332d6f6e240d6c00a6fef0f6b999dc95548acab56bbbc4d3e8668751702e81e6e46d0b5392356eddfa4b80e669b7df10c6a74f17459f20b07ad13b135f3d0a2c12fa94614853d3fcdb542f24d1ac52d4b19232973039065b952b877097dfce6a071437e150adf91f0cc3c12c8ff28a18f7c764475a980616b4f4a0596264f008347b90cb6a601a407da3bb86bdf2cdc5b40358393d0b2a5feda89ed228ac694965f90e8d4a848453631519d93b0925236a7bbdb6575d48739578e1ce5c5393b3a59bc137a51426201489d70eaaff1fca17517be4428fda86f7c338d7d4d35d98f4cfee8ac404ebf90b17f48881a748ec5b92b91b504cb0062bb101814d9e10d2af20c41c8f0f3ef2460b281162a31458b53a105b785fd330c98a1349d1868313c6e00b3821246606d23892e902aaadd2d456df25903c7c36ab61ec4bd36b30462e175e29d094b15372c2f23eae867afd94658acbfe279ded622694c74a61ba18302c424097156c660ea2eba3a6fa24fd113c71b77f12c5cec3a42de492fad23470093f8f4b175cda1b0ee3dc69670ae1d144fe311379ddde1aa1e11548a66a7b6e278718e277f01d780680ba62cc45258ab9f4bd0906dbaaab0f30f201e8ee60f6649d3ce7b7212995bcca68b0dff86c7846e12f8efdf22dcd5cb5da54654dfd00f182fc0e30930ab953e45053a48fb09de0f2e1a9d017dfe0e74302ae8876820838e5ffdda0a3784d36df0369d4e488501b7d4e19c18e9a23afc1c2b64eed00b640e7d4de5dcf7629344f7fb63f1acb99c5b3d87f07d17e0d1f3874eb777983e805808cf822c2db1f1a028cae506df2883c0b92a83410ff9791e2166e2d833c7f04e1dc3adf27e87c82b62d844a5be8064621e5be462849e418c7d6711ae603bd87bcc4d0b665347827e34226f751d15ef19990e169613eb8c4e404e6ed0dd5430391f88830e641ea00ddf1291b88088aa2ea157463773de5a2ed81efa41e5a6577368f63d7a044873d06aad96857f8bc1167f149e201e1a70faa035a1e537ede8bcedd4675ca4cbf0d2e1d4ec282881a5174489f19583e122cb3c68e4cd8f93af998596c7e7fc6d80dab1e20ecab7dbe0b0f1c2f4a21c2255445d7033f77d83abe2d3d96cbe297b744bad1b52c369082672a1179a331dd8623322b4083728ed3c82e2284f184de6a2c8c7d682329f9736b753125922166ad3552cd015ded6943b5624e8c0bf5a4376bb974dd9e9b9eba33d0a9313dc0c44e272f4a8ba9d23def420ec933987ed25e71ae898dee9cca06e2d5f6644e1f83ba45bd0d14d649efe43f684ac4e2892ece8a539fa33bb4ad750ad72388ae3cf4c3999e40f4cdd569f64d914f8e3730e80af889eea821d38172fc72b8c0fcb62cd8287282e5aa44ba78afb949000f59a1035378cffba131eb9e3eb769ddc44c72bbbece2368e581bb1eb804c7f1694c9a40552c2745bd401362f589551d917f9d824f05d49b99b05b3a50452ef8b8584f6d41874536ac2999fb120f3a2d442d9e3401b87f5d3b36b1d2188dd61e88f74043463cf715467897dc5056d4520756d9a6aec3a1bdffb5ad1e0b127cc047b1f9c50e80523e4e97cee5f26469706c88636e54c3c8b182a7777353a5b10df6ba6f38dfc4c5e4d9dc65a43bd0256e61db5e708f1282bf7a7156f34abd6ff4356383f6b47680363803e04feed0f2c6facda0e14e4fe276c5b3bb54efdcf96dc514820ea0c4bd3c66036d340078d7778615eab511995f50d0414436194fb05b0a1c787a178d622100e18e1ca10287fafe405e85b89be52b27cc8d3fc4080ec9fa06ce86eb283f669a5a3a387ed241b0f1bea6f5c71f8d8af63bab0433466e34198af031deb95f93c6f465a98ca56c25c930f5d8b6f2b2f9dfdb6c60b346e69d0963a33317823ee749ae6dcccaa19d43f5600a90d442e0ce5d23e4761e73efecf323a222c4f250559e05a47a114a5e24bd92808a23150ca0b5522f13d480c885505b29d7d0be341f7911a7e09bfec2022730333bb3a04d91d40ae1f0ebc1bcf16ade7544d18ed48f9f95d13d1db4ff61c8821f49fd95f8a3b42b4acfa1aacfd944a54f979600303ea900b20d5ee31fa795780ade61716d086fe8fc9624f1ee1edb513df9240021842015d347c51d7c841e26a5eab233151d892a943951ab6a9631f08adfe8e257f8554d6550236ae1b8af92744fdfc586fb7e4f1d964036797afe8c052b3851950373c124400a3f00d75ab3b4228382a92b583700b8ce0151969ae0181f345926591f1c918981cd748f2273d88d9cdf5a59fc0aba95395d08cbe66c912c5d7af174822f38e2e38cd8ee1d43f826581ebee42f59574ef38ae53b0265355cef893425110cc226424089ae38d8e9ee54c1fd33bf3334ac9dd9ef9f3b863499140c3a9f426d7c4af4a83becd1c7115f780d63e999a738bdffefadb7385dd03a87efdd42dc16aa0b7b97d48c301133b7d4067c59352cd7c611ee116a95b4b55fdba15e0d94938ec2327b3d0437fe2f288c163513b436fefc37edcd35c909f0c822e26fc66438a62d39f09b40066fe7921b4bcfaf1b9a904499b8e67012c2549395c89571b5172f9304cb35966a30e6578dd0578d3376bc61f13a5c5ead6ed60329c91c3e98156b5c0a4f0e359cef0906b7737675f78b8bde1157b8fb6ca578562d1a51aee1133608ec3de184326f83ac5337674db52655924ab1d54e9be040484d36bcabd840b6fcbc43197f7c93a2ac36f1e82752595881a9c31a85416c23b84b1cc6c32b0524bcd3f8af00220a6ef66b8a3d43500efd45823de239194c4fb964d74aa06ace6cead8780e52ddf85efa98c9a03093a7976f9b97d638f2f7aa21dcfc389a6ec7b91a418bf8422d9d20d2aaad500a104963cfd711c6a1aab062b5a5bc6ab56737a5902d0ade40dbd4851f817fd93dfe1432ab24afbeea0db968400a23a00bf3bc4a27c3d3ae2271701faf12755d8e2d67d4b352fcaef279e9ca04c3ff2a9e80098d24d0e9c70bb38b3080970670888e135592010876f44a51357a2aeb296271e24a0f24f0691901f076b2be96750041cfd871b63b8d7c93e1c7ff80b020939c586b2d0872ef51d5a77fe466684b25eb799e96d62a5a8da46913ffa79467343f7ea7171e54c499dad6e2474e83616924e12e64b74722bdde25ae6ea82d8adeee75bcb0b5748925d716e2410c2329b52ddc5bff799ef6a660bf40af81689e7a3ff249057654144ca90e6c2d04d57ad25b8507bf745030315f047e383cd32b4201ae852a1b90855fe23b4d4cab5938c2311ae34bc942428f9a2de1345d79549b819c6da8bce5989eefe65190f20bc019f1cc946ab4fdf91bf08f1ffbf7803cc33d5e0f7a32b700007f456c214da12f18753fd1f832db4f648517ad0efdc9fe0ecc2552cc9d88a90c51c4fa56fb3e48ea9a28381782e990c3d28f8d8b4ccf46c6328367d1769efcf5e1b98b8ca1197423fc772340968f0065041001d461d036652e7fb53a74365c17b0cd93c272980bce918b702902b70afca898a652a60adf2c1d44a7a88df16b8662c7bcad4112e05caa14b2e353c3e5ab0d5793579cce32718257eacb58431536f05b71f1243bb3fc4fff96d198db05a23fe8472733974610c9b5096e01cc81fb32b7586b04fba54f31dace1ce4fddc700f88ba1d143955a40c7c0f64003dd97a65e9b8865ffa34e0c40b2ae34266c09a526ece93f81dbd8f031ed1c5d5213a58d244844878e25aaae2deed37e55fd9879b801fd15480c4440f663d56d29b0dcd5865eeb4199795873f3ea480a80eeeed3e1935249c47c35d7d5a0d9d13eceb64f8e7a9b15a7bb1a681301c08fde0246b744e48d7f63bf0b11803ebaa64154c1a080ea440526fb8d523d3df5fb0b483f2d727762a5169c3309235c4b371bdc6f14005a1f828a280d6c2c454392c089da6b6eca2ac1b211f95c8ca952096c4f01d0b1c58ffa06f1abe66266fcc8098a5fd1977ed4b04f0ec28fadaadc1b6234b6fa1490afd80663dace83445e72f6646238967a189d2124468bd486bf7184a55934d91022fbc2642be8973993913159201c8ad66e20ac645108d160f94d01af6f43552e2f62e4636f58eba30dfaeec851f8504164b6875ef92a3cadb93b81e6fd641ee6cc3af9e6e973d0b8fe1f25ea3bc5d5b47762a0fc27d7b41c86f584dcb79ebd4a69d4b3cc037409afc67c1cf68cab69aee54c6737ee9982d597e22a169dd84133a99138d1d68b583c21f1857798df2639c642d230a8fc2ce0bfeea2f638b063d4e4bbfed70dcfe09b82449cd7ae186dcd01a5c69a4219077dc6e8afe28e0091e97a6a23083172da7688200ab1108f1954ca2a44be18bc31e45853e048fdb979272954691fd89996f139fd0bf628ce0fd74b7845479c0e1a15a12593c51f91865f73a0c4c6a518436f2b76f969fb667c2916e1e08cb19aa85fd3f41f83405c173094d8ab3d064dd46775d88a7b9b19778d19535c00dd7b525a4b61d9132123a265432cd9897732c74f9edfe9ee71cfc22dc2c53008c2f7619b88e0ceb82f8b68ead2698e188622c69c3b4085a44d1a1d5d1e622a04dadb92959ec9c9a2419dd535a80af11511603ad8fd40af60cd422e8e83ee5b32da657bd34b330814070d2797960a1c989f991e7680994315ca79ee593d97228ec6544d22647041717e3de6685bc5390af6afc04eb49b743d8d74d6e506d4f7a4a8877ecfe64d2f6089985f58fdf12e5a1dbb28c005ed260ebd1171bc45df887ac206967eee33731a72636bcef0f8bdb1bf87ef9683ea4b8e692685f327b273c893e75b205268889557bd53ea3bd8b2ba9738d92d210419e8bcf378673894d981154242c31dbe4c187d87721acd34b858b21327db82645ba4cc8b9751c155341d1a8583b98819eae359d65878ca82ca9f343b8a9dd8aebc2fba9ec2cf2b9daeeb75d9f12619525b0fdc5750a134375fae2a4226e8d8d434be353a2be85077fd68a58e1cb8aed7cf14d0159957ac2fc52b4684b76514b5faa0d0d325fe0b423af9915cd29afc82af4bb085d57e8a916190cd92c803292890a65b1cfa189f1744bba2cb4ee52e712d4ab49568defdb440259617bf84881f933fa5b4ae2dbbac5c498669e00bba3be2497ae82737c354bd6b7c650dd71acf8b01077009004d2979ee5fcb2a86badc70af234cd9201696b5a4f48b2acc63d336c08e09d4370d4d3d376a79e811a5bff64e113a4332d9d444c4ba7759ba8f53cd93792b177788fbdaec651b9f3e90669b6b5feb2737a87767c647609590f548daad8f661662ee6a47e49e147bf550e45d02fa9e414f5b50521aa503a62516a96b8850d73c918681fe23c2e49b6331a00880e000af685c60b8089957ef9235303f596a430b16e24e073009a89c0308f550aa4957a7b1a155cc600a85203e206e1faa504f34f65be5275beebda54c29c92465e204a404d1042c9b214f09068452c28e2ba9848f043f607767981f04711797c956b033bb152ca34f20989947579c997d74650af5d5b364662925b364962ff9e5932c65d5735656b0256faee438a2334e2aa3ef11ec0fabccecfea0336c3922615f32c9ca8aa45dbceb82975bf3ab6c7bebb392977b255db0b2eaa5b434ef76efccf904bd7773b33d56b05670d13b7d77797f7998f72f69db4d921e3d56986bbae9e16ee21be8998f4b4a8cbe64a41175b94a6b7a252e3ca0d28400517fa05375ad049312fa7e33d547c33ba3e6e4c04d8010218e87d71ab6d2f0caa8ee5e55feebc3ab8fffe67b7c21ee802255fd7c4acbd182b6239ea226837f3cf9cfe89a0cfef137ffebafe8d3235509713c5c8fa5f1070224c801805c7840bcf11e6b829c4de0f558c18241f7dc29775657469dc9c2aa25ff042703bbff046b62bedf06d6c07c7f8cab39d11718c743f47ddda860c44fe8ba6115732eb45adad699036a67346a4ce69c8c6c27c34f337e484306583bf3fa9239275343ac56156934b833aaa5b59be167af7c811abbeae7ccaff855f769878d9c7273e8b55203eefe9e0bb1bb730a4223679fab85313781bbfb11ecee7c04123c18866d8c31c618638cb1b99be38c31c6ca8a525951628c9565c5e6c92379a8ba3b7a77b333c7c8ececdc84dd99082f2f2f1bd972d7a97290daff28aa8566e125c68f01d6d0f8f830c09a1a1f3f26b379c96e60cdc9a646539053c586aa128b9e6ad0b001cac09f01cac01fbd8d8fa26b642393148cc91e0e56e3db3003ac1972326001b783a24628956ae1b1cce1c4640e0726cb9c4cfc17991aa3022a459f7ba152b33f666e711422c48520730e556a88dae1872ad4dbe1491c445b190102bb3b03819ddd4a9048247a4959f3bdf7dcdf7b4e51da76c952655209f37ae67e6906f3a496ac9e690840ef4cfc8e1f509bfad33c599a7c186af76987cdd20c399dd64a908c41e584d97dba730cc14b657e7e6e1e2ba333507e8fe78716a279b87978564e5a8a9d4c3d46290719084cb9f3b34222824404333318cecc9e030c7686421303f7e3381b800f7d2f1d763756d931bb4358ed3ed883f2f5e3aa3d60cce851e15bbdcfc10d07763d6e5690fc03026fea75777767807a140957766db02b3112ae38fd9289df7b8894ce99516a2bb25aaccc9f9d335956b77fcc5c8d673cf74039be8c7a86f5f3cbac05fe23dcf47c89bbfb6c9782615846515456afe76c7b818a79289dc50610428cb651366068d01ad3460d1a58c69404b2cadaf6c290ec8764433238f4b24d05bbbbe338c2eece388e488af2318223081c413ce133313a81808682769250a118866534a4c2ce17757b6538b1c1a02735b0c0a05746ce1e19a243281081ce8c523bc3da470977d2dddd55f57c2a4d08200fdc516107b803791ecad08400f2c01fa0104b3304ee401eb8b353b24062f29d20deddd89da59b97b73d014fdc162c47b06c719a802794e9961b5e0e161bb050597a8ec0d243e519b402cfa9667bb777f7a7d0054cb25a0cd082d59224852e92ecf0b03443564b92d5125404921230cfe91f5c7cd67a1242f7f7967b33db0d1b062344b90bca6f3dd7ad358f9be1f92e16bab568cd8fee3b38337b4e2646a7aabfb5385f2b276e067eb7471fd515b8bb4bc1eece52383b11722ccbf2f159d3f38fd21dfaf0648089c73981a85441877952de0265a2d40d3a612d3cacc4f7c5175882a01398047cb234435e508d2f88abecf083ac523bdb5e961afb037ff6e7071ee21323e8fb2d3ea9d0a2149b3f0bb4577e7e20d421891277aaf1c94f85920a5212a3dcc85cfdbc321b9ad9401928335f5e1465517f650fc745e4ee4e659645519753fd73444f3b6c4ef0a75af7c2ad54414949a5500595922757219db52e2216a6b63928eaa42d6c0e8a2ada7080c242f5d64523d688588c8930f125bac4fe18af0b00279b1b8f699b09c7c7e478186d1b91fec50500a41c386e8c6c5c94ffbde6b7fcfa9b155dda365f8a32f99c51ef72b98b98873828b88cb9836d9cc2868d8c6d64ec28c9ae7a777919a1c64adb46a8d54f996d0ea8528a1ab711aae8d70112a35103e6b70154fe111c0a3b9ebfe478d067be9e9da43b1e0a9733017e0d8d0676238b19d9b8eaba116abca1caed5529a29a4be6d7f642ed381dc7c8cc8e6b9c8fc4364a116592a764f91e3373a4288ae27eee1445b9cfb6baf9bbdd2d292385dbf94fb0c6929a53decdec5412caddddcceece3c441386cdef49c9b3088fe1c3cceeee7c054ba7dc9929697305263149ad74773773373377bbc9928f7980cccc95153d4697cccccc5d5939a8ac1c30777765594d5132facfd068849146588cd67c52ba19ebbbe35f23125324e7aa84ef6eff1186916258999be7e78f40175f3491251c91bb5bce87452eff51dd2b1c60c45262278c344401bd4c89d189d1798f9999bbd9aaa2904ef5a3f63de79caa62669dc93aeccc3fa074a97710cfb69bca41d583dc5093060c16638c3634322c73701a898111f9e533bcd0f52d489c1c6311f7f5711cae8d3c58d63233ffb0bb3393f0e3fc24876ec1a314b618b9a428762ca8a18cb3b22e910b7d992af88d8fc1685c9aa56da7d15737b4918d8d8dd3a986c944e31f1b8d62342d42b166f6ea4e28aac758b94bafb4cd9f9252e398b9e9b2d2883cdd68e274a3092b734aeab953543635aa2309c9ee988e2430ef6697929ae0bdf79c5d09767756c299dda1700b638c31c618638c31c6e66e8e318c30628c31c6087d442291f5524a4b5e5f3d14e6c78efc762b6bfd377b655b2bcbba2ecdb2647c36a0f13d461f7d18e63fbb6586a0efbbbbe1c41a88ec27fb610cc39c69348497862766e21bf8b9bbbf253c014bd0c792a2dc992792a0aa727777676782dd9d996076f62017179737278b68aef79f980a25606792ecd99332eb2aca5ead64465d951523f3108cdf7424967477b77777777b37333bbbbb77514566eeeeeeeec8ceb3cb60660e7266f62076e7e95588b1c30e4d3411d381980ee010028710734e666676672923373333774b7992dd275352ba433731242ec2c7fb4ad099a2056a53ce048a21dfc00b316002f54bb5c6ef790fe69c94e497593b0bd04fb046f4f16d60cdf537f2e43fb387e392e97032941680852affbde892f285accab7f867e670dcd2708c16a592f951416d0481ef703525efc8593de514ffe6c09f92da52b75512e5cb52dbd2ba0c1e34e09d0a7fba3361c2a38477e65442512c6bd436cfe9513bf39d1e24110975767e3fb39f88749dc596cb57d9466bf554b6cd703d365fc21afa53db2a9a0353dbab3570155d16952f35a6b4085333d22a3106aa829292b2a902a33ac8ae6077e7ec8aa0aa626636e2ccec46d89d9d5489d940cc06ae8b99997100c1eece40b0b33bcf202298999921bb3b3373f4c1034315bee5be8e80d6576f60cd5c1d3415fec9f1c8013157e3de0b111c98583801fdef6606a203dd775108511821babbbb7fb31b569d63c24a75d53d0e06e440ddf583bfd99443b7ff2126b2509285122cb460a1c5bd85dc1ee7fe58ae64c1744137ac3a216abdd90026200cb04608d4724007045d6021ef31c3bfd91996666398c1008b2c0d24bd9cfe36a4120d82616bac7fa4c7c3d26c4f8818aa21f3ab7f5fe4b241f4d7bf978e87102cbae60935d5bf7f3a4b93e429d99a874357e63920213deafbf72bf4581a07a44419348fc6d547b3911eb0340ec8c995fade54c269c7d2c4779599795bcbc134076359e4d05d20257caa561d100ba4d477b1f696d98541441115662e0c22b65477fd2092458e8b82ba1d649103a18848163a6e86881859d6e4ea73422df502cb95684dfcf740de4b41a8f7a7ad39a2c3e354310c8101d61c31624b7d5f65367b027c2adbb127c097d9694f80ef59097b027c9badf17fffc20082a7be3f40908d59cbbc77abe55822403bb3aef6632b91319c44c144964a042889f6888c910491317cdc8cab2f2598d6b434d850371caa5c532522c6d09a1c1131b46444c4d8b22657898c1165044d252c0d112b5facc90df5422b2c58f7ebab403cc852f7eddb854ca8ab9b6d5dda1c240b6abdcb470a49e85c1313eaeabb524842b73a202382eac6edbf022aecc3b71679f5d5c0dacc3913e3f0836f35b77b01e958ee93006ffbbdcd8610c2d1a41837772fc32258706f405d143b6c194dbacf2f448274d6e49ef9f965902396909bbb97e12eb18c85042fe8c675ffc167c8905f12ef7d0820000020e5c0716364a3060d2c06e685ba88ae6955948cde0cf7f5c0bfd95de76aa0b69bb99a8187c3ee7ac1859235b90a35fa955fbeb8ebb0f9fbd8d2d46094d60b012ed57f219c54e6a0cc5b7fc6aa7b08a882ba35ed73697d1909eeedbd7336d7c4fe744dccfedbacfce69a7823313f7b7bbb6bfcce58071d743e15be1109dd6f10eedb2d55f9d673ea5d07a8d4b8c2f75ed47edfeffbd686b8281008cb729ac3b2527bd9f6cccc322bd255be15339ef263b6c11ab3cd6bcc9ceb19b34dab4cd57ea97da3f67332bdf239d922de86f4fb112affe668e1bd97a9a64a42dd770e7ba4577a8f33b70d39e1e0cf41f0de7b4f9bed7e7bef6d7dafcaf0b6b0f865d2bd5b77871afcce26183e8a080a1a925132334b19a39431728c304b9630dfc091397ae418df358c9fa563a4385405f16359d6007c287753ccdddd5d842214c11f7377f3ec2b98d95595d013aa11497c42757b43f00a94810f871c9ae166e0c72c6654f8f00aacb1ae4c7805c61835b62a6cbea1f9b62ccd902754e543e627542d6d6347a56ed08c37442515774ab549b38a66d5bb64165f3c24f3e6a8aa8ab3f84eb919fff8550d35b6333955811aff39d3b7321751f69cc9dbe3d5ec3172f45859a9133bf9140e70c027b2cbe81f9d670bb14964766667f7263c1afd132ed4fb257af9f2a160bd741755b2faf6aebc794d1ea3b77723018bf0192e735e4e10944e8a395bcf4bd89c988fcc103243048d46d8081b914830e7dfe66d203fac01b2547c05129343850391544c298160231b2a820801b234a3763ed40f2ccbdddd8833b3bb119792d9b3cc4a5a2e604a2beb2d39e59396e69a25d5c4bd63f42754d07c30ca9a9e169f92187052442ba9949496b47ea96ccd7c4b9b3f9575d82875db199d90d1d99a87f4048ea25e36cae36e641be5e9a19ef23c0fe5a13cd49bd644694ebab651dada361a69dbd7f842640b276b7295f2d47d9871a53c4bb3bd674685bfa344cd14e89e543345541d909623156aa4caae8442152dd848a487c23e6923d1a84e8ba124156a1bada40af34c78f083344f13040072428b2a402f00a20610142aea5b9cf70c17064ca7be8f01a68cfa1ea31066618d1584219f77f137800c4a2bfc6deb2b418db485cee2c00310115608f97082283d38ef2b57e37ebc4801132c5c80c40e96c079ff80204485d0680aa11115a19114a1119411941114232884849a3481214177cf912347dc1421211f7c803122871c3607c8de1aacaeb4bd1b6534fb9d1452d2dd6ea6049970cc7ae4bbfcbe26f0636b6b2537b3effb7a9ad44c4c4a5c2a95de83914221d44a6e66bfc46658aeb4ee3d6caf1f579d313913568be13e289a308373ae0f42423c3c4e84847ae861013e1eb0dcd2406839e79ccb765a1cab33902a14c2eab4ed06260840aac0225e9f66cbd1c2f3da15d6fde71c7cf0033e8ae8591d2c62f9814c41df77670ff6c30abfbb6f608400640ab671335cc4abf351845c1a661666cdd2ed033792f6e1c16e240e1b420eb84359a2b3a47558c912d73362e83d5535a24de8d6e7ee5c315b156673d9b51cfcae565fb5a9b48152465566d3686b4cbcff8200acb2463de5e2fabba73dd4cbac47e7af958e99b91b32b4aa67ec4c405f5563d6a3f338d4f7f5632bccf1e33d8d867746ed1a4a2bf9f583aaaeedd021ee73cd22aa66c0e7ab19b940c4feea00026b76d2f53d6d73ceb954199c7352460825f374af4ae97c38a1efd939c7d946abf31d580e860b299c7021050f1752e8ec95230855fdc654195a47e2502fb3233ad8e0505a7c1d895369d2e553998e0d8efc2a3ba283c491af638343bdc5dc301575b9151dfecd4a1b2415ff06c28c866a5e0a8895022eb5df6534c40a35193afa5b203ebd7238ff77e5705a9038728d42edc4eb5c28c0cdaccc7e7453eafeae672a381d4ba150d7664dd4a6e2c493c4d913af102737b38fa30b717233534eefd434d0827850c62060478964b45b5465cdef2c73332cc35f6553ab0c81c791594ff554f6e274f05b7b55309525d043bdb54e86abca35ac333147aa1ac2b56779450d41053e841cb7bf60484579c4087fea2dcf7aaae728abf7de33b3ec911f3317a7839f92ccfc4b7122bf9ef8949436488f3770943d5073380fcad8536a2052e8fb9de9f8f1f5ca1dcbda4875377335d7bfe3016908e04cfb94a3313d47f7379beafeb4478ce8ac877a9809c0cd3c99f7d1467dd47beff7bd87cfe174d613df3317a703460258a6a591ce047f21ecf19799911934e764e03b283b66d145ace13caf7b053912b51b28b37f5201257dc9f180141029e87b37c35073ae84c7c9d363af09d5013d91a4c25407e44407b688bbfb360ab9fde9090fd4057a410e6a551d901339752bd9e009c0ab94aaec6a71b30fa56a2d9628696144dd27edcd685350f7495ff980c6ea80a83019512141dd27c57da57f4052c6a854754054925021dd6854228d7e9010031da8c0ea5d1a308185196058a1821b7c5180a12a920882173a8431449381458c29842603eb61b360b1e2428310d47d92afe07c6e46bb8325eaea2007318ea6a83bebee97564a49c356e8404add2fad84d948ceba8d5c10d0942575ebbea4a3df40dd7dd3c90668061fa0e1ba7f80fd204d84ba1b347a13900c66506775403220a36ea71f17260e074f8c1871850863ecd40067ffafeca0b38407a2c802677fb787e083df651cac74fbbfd4b4fb1e0fb0d0020b2d7ef8c18993994ea814ed9b07a953342300004000431700001008080582c170240d346908f201148010557c40625632164843c1501c887120864110c4608c21c618670c5148a1222a0eb76e6d40d4876f08abb3b1ebbb16945258576803589df539df95ea017c08eb649da6b92f51414dc7419d32b4706283e8664383697d44bb851d8c168dfc317ed92a5f3f48acfec297362d24e2142ba204d407ad3fb6c7c44c166c9d2ac44612152c86ea47af856eac10d6fee2894b30c396c3c26b5e083a2852b347b14880bd16f73aa4be09ba62b41d66c5a79814d96c27129d786ba1ebb626eba6adb501d33ab7facc8d905d2214be89a036a2941da8152d3f5f21dcb5b631ba69f2c94578ddb6aedb21632950d02d7d931be5b67157874b7ce4c32579c7b958ed3c872e7ee88fbbfdfe471fec721554690d6582fa5ab2b5d0a2c9ad98205b8b7e42ae48b6c178e412cbb65b9f5db1769f663cfd3671dfd265e7b965280a4a7143dca93502fd3b9e7d9061fb64994c4be24825d77d2ba44edb76016740c0e9f6fd40478648407a24280d434d56461e9caa5de355f186eefd847f3d848f10926e221b6ac26bb16c63793edcc6069f2dbff77e85cc729ac73b1b997b077c417cbf27540f29dd5f7aea0f07559938b8b6c3046f94ed7f0a3e674057941e1bbd43e8170530f107acb170b2406fae1730284e745ee81db20e1b891cee86d4fce70f0ad4c9e925c9d16d1d8683d807a7f18cdd133198c60288579ae19405f620c32dc71d618dfd7c1319e780e112d3206e2379b1b07c11b67a011fd6dbe9099e1cff5182c029c7666212bfe86b3aee97d9e84e34eedb5a6ac2f990e3c7e3e4d7eb8ce7d4d647d092757be8f4cf0a5ad32a6dab294517e5fd203e245df4a3151d3ac595098a8defb6a772adcfa03ae8bb6ca5939bfaf06413fd6e399b7c5dc3bfb11f2e416988471c957e36112e5cc9b2e0f81006a5189a41fdfd6acc6bbf36b230835ed92077737af35c232dd7ef2db5eedfb8e745cd264e18e887d71ccb4625f22298638689d1c4c738420a3dc557afe044cc663bcf08ce98d7f27b8432b1cc325c7589f444bf8d05314806a7ac4e1aa8429d9952c32a9515a4be5faf82030b7ae353881f4ababf7637953b3a1038c1ff309211f3e79d889aea1a159c0aace2872a444c74dbdfe42c2b3a8d8fbb215fed8cb908a8c655eaa8e88db89e45cff3f9c5142d39b2b2a24f8d63cba526623b6096d001173e64e9aff3b7648cbd54be34baab52e468980ebd066e9386546fa9443d12d83ae1890bab9fb7a343e52e1133946aaaaffda61bebed4036e34bff5a6876951f21c5afeb745e7038858e2c89408b9ae17838ee360ef84d3f0e04b728d6e2f94b38c54e82843ae86500c06b2b2e1eefc7cb9393d540a058ab3397b67c91e05c34534b3953f6755086ec398895db42b0fae2185aab4527bd75c17739e9bc74834916d6a3aedc4046b1d9842fc350163b10da0fb73ce49032875b67729e3782afa2e3e0f3ac741918d3a85ca22edc689b02f57eee390b6c9c2d9bc96b5fd7ab971ad71d8295d79ac3ad948642e8b45888c0b345dc4b757cce5f3d2b850893e7a8585106b85010a4206a94c4adf8407b705dd1f5ec19dafe30271f5aaf01a279bf64a962afd680c7991afe00a27a22de886c030df606dee43bce34d3ed4314087d18cb34921bb598acc838a5c31388a0f94763934f7e4063e9cd8f7bcbc814284066e5d4651098af5761b87eb5f16d481ea441ff0d8b10b7ad0b032b9366cbf876b538f107223d4acdde06a5ad18d297836b87987ade9e05600447c036d154433ddfa7960d1ad1781ba024991a5dad74552edab200038b013a90c2c9ebef13f2ff4ae877b16062ef8935a3fd95c1f9b69121802ba40279e43a1c1050f4da2d14c4c3cb5571767bd7e271a0b3861474c55d5661646a4cbd346f21a7bcd937f66d6c1d45ef9d0b9542a4ed245c5ff0f9960393cefe0eae538ff4e9b3d121cfdc79665d427a986c3e086e57f9e50ee1c177b6a2080fc560b6ae873863b094f47c763690446cfd245b2cd71111a25ee4146c0ba0c0da08525956ddc52c25912313d3b4a36782a9fc5c8af29b53c0422c3422f512220c49b6bd5750ff1b18d9ec855d5640719b594f03ed65d5b68802005a71eefdfcc553ffd959773c4c3cb15bf3a011d0c2b38409c038d8f00117e446df2e9bc0ff6c3e567c8413be3ab0cd4ad66c5224d5d9f91e10ad2e64b369c563bcbe9c28760c632e841d44d116501ec17d1f21b8faf74762134adb74d001228cc0575ea51db4668062a33cd5d47c1d5f94876aba207c2383ec9f9f68a7a303ee1a67b8a08a838117dd382c877efa21aadec1d5b144cdcd450cfe2ff90827ade806d9ace57470ad6703829e66ce23b43e730e228f79aa76166378ae385619eb8e106a8363e29d7fbf7fff636ca2260ef474b7d674c3ec2cd5ea988c55dd416f00515bed29d371a255c18c464a4c57134b20447764f6d93fae9078689bc8a0bfd21a589a5cd1e46295d969e235437c2b07a401d1f0e69ed5429338e1622ad9b7e62c25598c87fc395a913ab022117f7941c0c965cea46ad2132fa62e3226e702d00eb81ec31e16e2245afe0bf3d4965aa9353aa0e9b9f19beecb2cbbf40a4163a85624191d04102eb4120ae7eaa20278ea72c2024fcb012985ae63616a6d35fe586145cffe1d08db66e57627216a6ec03a173cd5d6a3e1d27837f57a2cabfe0fed0ee8c950ed78568501c714775b93f9e0e539d56f20c0359403622e39e61a0c558ba43242b0cab5d2597869cafe03750c740e5e81183baf59c3be01581377f517e87bb51d4cef8db3621ea8e82551b04dad8a39acd43e3009f11c5eb463f9faf478f196e830b7a6ffe9626215bb9255c587bd8bd561b3329a6a445e1a03f3e0133cec6d261d3ad8c31ce5e549938939e15ed49814915edf367612be34332ab5e6acbaaf4dd8c8ca2dd297cec8ba59292bb41b34636279f410597861ff48ca771fc2834f95fb482805d24e19d3902c31b987ff5effedcbe9b964bdb421f4dee31a5b534b89cfa10220cbeb567d990c7aed911537a78a5e8c99def6d2c3baae9a550065ff57a4e689ae4ea142327c3dfb79c53e1fb42cdb0ca03c9a42c859556ec9f68c65c2f0c041b71eef2f7cc2fc9c7f15381bc21989f488fec995ee0ec9ff8d5d6a81c6e96ffcc284f9869a8a007227f4cec720cf769cce9dea1dbca08a5930a36d0be9a63708195aba00085e22c68496ddc57f31b442da8ae2ed65bd841ff362d1c21378c62acff0c5bd292dddc74736e814c7eeaf25d7065811fa3883ea1cddb1bd63d14a008bbc6abc573008c5decdfd739996bba0114a1ea998aeb8b2af1d92b6b43750c3c9adc6e4403d73319d303b57dbea1570244b5d41ffcb3feab4d0c73bb56e669fdde3b9f9103ac6bdc8d5daea439622bfdc7a495fee71feb2d1fa4b9491f4410b4bcf8f2ebbadcf42a611e9a33f1603f8edc3c1a6f1278a007ce564cdfb2983996140cac9a2b8558a13169c430358a5b8923ebf69073d7da4b9fcb64207cdad0a42fb3ee0451570688b1d6999ecb0bc9c0d20c6bb5d1fe06e4d57da99b8144226d410116117157aa9f9ddf199dfc219f43eccb8b56ff949738adc5e12311777d98e21a9d1fa16eebd81c6009265e05d3429e328e9608d0970bed9a9bc0c06550ed3d1cbb637bbe1d6ff7640fd529374f7364c527461bc71a9177fde5cdbdb38701be3ba71727a01c9b74a852187be9f7323305b9b642eee5042822010916e7e685626c9eae48b66ab27d3b8317daf3ece7c9d0edd5918d2f13c5074871ba0d98000854a5d5877624de41f5168c3d0534d119b7bfad2c6741289c14e9b76b9c313bdc721946a27b4035e4623ad014adc8881fcbec8fa2174f8de9d3ca3410f676bbcae4f6bd99e68c41f480fe48441d964520db260a65ee00317baf0075234b4f68499076c2d9ebc5007ff6b8d9a3190c2d8a98d46c0dffe69f90fd7a0bf08a42e153a25667c8e35ca1c78564343569b7eb58f14900535665160e6a02d2c58fe4fd65b81ff176919eea6815aa8d94ddf25bdbad20cba9f6c89971ac093f87c9a722c66de7a8a4cb21664234d5816c7ce2cb3c0bd5c8b251566ac802e6f288518a1db034ce5b13970b6dc8a319bc7b1404caf265f2e3e680cf62e846725905bd756c7d409a84b230f79691edd4629593403ebadab3832f9607f2142963f076169ffc52f44badb9695c6974b729e23bd54341a2a6b2c9142014157729e1434c88af2f5e123900e227b0c88c9c6c851e27c8c46e5866b89330db88a8003e8c0aeea966e65272b4b3355fa23a6ab1aa356637514ab59090d74d4e5c68443173120bd24d344a2b17688c11c125983f75df72c333ad1bb1d5662fdf3081de9c7b2aa57e88da4fcf687e148abc716cb58b23c49ef345182c243ce3af9d368b501e4cc990d13e89f50508b71194678888e02e1210f68938c8f93f777738bb6335ea22dde3fb4c95d6a9ec9fb5bdffaaaa040beb31454a5629a049e0a7c7851c163063639e6e5a4184c845a39e5b0913b13a661ed21491db81ef54a7ad0b6bb923f8435b1b176a208121cba1d1c619ae6798e1d4a20e767a6bd06e7c0bcf90c47b5e7b709ec4caf8747de61f908ea5a58299cc4b65eaafda0ef2d81012873ffabd0bf1f67886d2d68c32795b9d0cf56a1210374d2a2df2c51ad3b23cf14c470bb4bb730e8304fe9349c19e8607ea9030f8d8938b8ca7263337c24bb50b8e8941c31a964fc8236afd472b041528a1fdbbe3a6229b99e8935bdf72e16b9849a796d1f84cfa11395f5cafbe90569eb4b31c0e8142f02e661d3ebfdf9a13dbd3a7706df4d2ef51791651f7c39e0921550647064e1c10da8013ddc4ebede9fe802184cbbc5fd34b4d6e86300972acb8aa5304e41a0c2fefe116c0a800fd8c9aaede822719a13ee5012594ce46aaa5fe207c31b5d02f7f472c6783b97d64d932de794b1ccf7a08a0b565ce0852fe03c66d47189734c823ae692a9a47ff4adc24ef9a04503c994bbd07a2019e0c82cb91d58dd4d662d36d81e0f6d7011e55fcfa8dcc57865167e8ed12755ac3ed6c262a074fdf20d9ca85e59c696a84a133f358f865114d14b75a26b0a8e9b0635dd82ec081fecdc864a74b9def480d1bf5aeab8744c6679532c1fda1d07c11c1585eb765f2892dd0bbcd812ec55546ed17dc851c08184f606d8780935a2f57bb038b27614362ecf4997c66f37afa100d2af441dbf0826af22b23a923bc9502293c7cddc9fbba3fa953d43ac1de6c4d0ba45dbc8df2b91c36dd3d7464d9b5984ad9998cbead6e09127a5661b20238f3cf7f9b52162f3316bf2188d1f5619a2b540da83dc904d3fc05c57aa7040d0065b7fe8c1d5c950f7e6de420b8066a318a3e3e0c50ca12f79d7d0e1ff1a38c9ac3aaf9b2657332ee607330eb18c653da7ca27f2185f83b53ea935adce16520e7d475786be220421f4351c8cbb73f8e009dde8785d005d00a545760b4342d12007bd966e149a3a7ab4f3ab6e0e27695f24af057219c76307ceedbd99330579d64830ede51fc97ad9ee85e61820999c99cb814e099175309e208e7ed02269a54eaaf1f81c06f7ca5ae05232574ef8db67e56bd0f8e11b7cb102f3b7f216f1963bd3d144d5bc081a3df5167b909edf2b02382f519982feaa2a3d0f6b17450fd56d75aa4894aac5b4ab10275f7511bd1610ecd133405de16c8305da5aa2ba0bee7e4abaebfaa453c8c72f31c73ad230bedf100682d2268f4fb5993d2b699990951f978b074829dc7ad71a797fc289137cc4d8484e8e463ff97efc5c66c73bda3faf2d3a478b728c38383534026df6e4d304d484cdce708ec617d10e12999e7dc90e15d3b577e1870d1861e11b0e0403f580dca435e520865455ec7856929d5aa2259e713c2d96dd820e8773704de316c3619e5a46d84170654ed7ca7047492b434ce2b4f4669c16ddbe8a80f192f5dce5d0eea9710408f5867ecadb7358d478f259dfd15056436bf728e4ebe33efb1d8af7f6637692d4983b00bbe7e9b0789bc828f6645318dca1212a068c09edd6f81315071e34fc881e473ebb37852790f1ef24fee73d6f7b0adffe12c5de2b2c674353430397e2993b889edc8865a49536f83da4246d8c2eaaf0a1d9392f10a8f386aa15edb4cb3786a9a95527bb3a51ab480fbdefa87ad1e64411fe92a232205bf11a29542beb4377eb45452be9bed19152ce446f94d2170138cf71a1b07bd17031da0d6e52e7faa06b4b1f8dfeea697c887e658502651fbb1e23ecac644b14c81ffdbec7b80dc9c79154c2aa368619fe3ee836566c4c85ec0b7901a4fbfe89db2879bb9bd0cf27e4c2431bc1df5cbc00d3cbe7e42ccf5829df078b2a448cd1899d14f8e13bf0d4defdc0a27d7fee0dedd0ab644c68336497f4c308faf3fd2f588498e90787215996916cf5d542ab3d0537ac7d397f0a319e231bfd45c3cb1c00557a125dd4000797cd19fc9fa3ec516dd11469a5cb0a053063ef1847062be9930368a7a5138ac6cd8f3ce60c6e81a613a0b95eb95684b260d2c177743e81988b69e0109f93244d9ecd27c03f23af05b48fe03ef5c80bac6708efe576fbfb8c26ffad1f401b6ab02b6e9a9450cb21fa9571a29ed11b764a380b8bfec04213cf1abaeb6035e17477f53dbdd2360f39c248be44a52373c8ba7183e25506484f35514cd9fc63f3990487214d758df44facd10b0b53436a72d79345cfcc38848b698484b8a94c1e264096a203a3be97d2435fef7931d7a483621eb5859e8d4c2248d254e71dfdc8961903e8b64ec67b62dd9f393d4528294c56ac6322437b6667f56a91e6f659924d7c4668b20cdcffe4a19a93f6075fc7f2e94e3e4e9751fe2afdd161ac921b1059baf47c0b42933269b1b954a75f13cb2956df4549c4be2946f477c2ce857de32114f2eec1d0a514e800bea31bb3dad214e78d87a93618c395a9317479f4046f8cb97aab6c33b1e2b728b100f396653350e642fc7279f7904650823789474d4ad8322ba6d0863696fb5281ed4bc0e12bdc463a2cd54c6372fa085a7b53fbf948d1378e8e1f2a46346f2ef4dada0d7948ded7abb4bb7a8044d513b9fe3be5afeef6942edfb13b7776b452208aa2b43ea7e5feaa0354726b3e834aae75923690cb048a0f648f98663e19de0b60002e0e435158b1128d69809d7fba8f23e48e7078598c5ad7ec058192be380c1abde8689835744083312401338a888a349767d4c3c6d4e4dea83611d0c24d8f9551aa0bd52d74395f1ffca2c8d1b28b47cb4f4b6001d775b49016b3ae872d23d9d1b4cfcae6339b11685365d26c28738528a3a6d78724bc95c431e8b831b657510249d29023fb07a60379c6dea5abeda6d98f394d738ceb1492a68fc5c1bd29d88c4642683f069811d0b028a5eb9cd8dabb013468839d9e9a8e60d1d9e891d63db7104dba2a9708159e4afa30d2c9d963bf218024cc53c54d681f74f4d329f01ced9a536101ac6daad43337e2a10e8195f01425524ccc0b6f8a54bd908010c0f55f410b8aac15ed62057eed481dae10c624fe51defc7d5e30fafd05057d07d5805ab5c9dbc7f1f55f0ba331bc79ef0cf8618ba2638a431b612e2730b5c1c442f7386c1364a90640ba7f448df2ee5c1015cf0569bd153d9aea93fbfe8acac9952934e1ebb5911a16792e4c889651b26c0c9b32021d8d635b8b49e1e8ceb4857f8b8d41e3c18c47a644d51066a72537a245c789edecc8c4d25b21f9aba5febea474b44a42bfab705364a31e55e1f39228a27554d1f1207a49f2e6b3607ca1e5564386416412b295c852b378f45d1e6b0123b390ea1bd0f553587b83c6567dd1964e46604d69b5c4bb8a91065fb05fa4562d99b31e903ee0c51d7603ec5096072346a0504140204e61d066fdcbe8343548a905fc1f99d8533ad9004fe306c281609c234635393b00d0391c1ea1d9f116dd2900724a84827f253b34245cedc3bc4966b58cd28991ce8a7dccb017233c48968bca36286930c895c453015d8961438320246ef273633577362679da147efd9699706da7d987d2118b6448f8d94c984090b0e491cfb105907353e0774153440326dfc8c4745f5db031f704d4081bbb0d7a17a19d77a67c833da49131e3272c439a22b2c05d7f8472415f14df30ae7e5e1be6762967d0a7d16d03e73391859fc893d938f135ae334586b291f303d10a842ea8147252a0eba258454e999529f2390e5377bd0dd7aa5fe2927f8c6bb7995e63aaddb5b9c641270b0502ffcd4b4953641b58fbc3b78aeb515ca7b0a7aae50355c6f8f90d01ddc3150b2e78e84074ad7686589e90e7afdd2854dc3b83aded466dc6bfc2714403d6c9387d60d042e29c427c85ea6431ace19c3d6dc85cf3a533dd0086094114fbaa915f1426f5339a2a04acec4a45bee59fb859c719a508be0736aa5db4eb9ae8f91b0f807cc12ad1295ed59d3c7632a5941eaf9d387c283fcbae55b19a13edc5a57e34c6a5d865b8c98cbc3e5f4b4cf885c18ab5a915eb99567ab293e394f681e604e5da4b04e826f545eff2a11f749a47a880f2e867515172f3c31e06be02dce1eec2ded6c2ee171c253a0849dbb34fa9e28b34181f0a9efde64e1042f3409e94b1a3c184fa31a95dce086d819b1c0dc3e6ca015c7fe2c5dc01a601a9c433babba371c0710ae268c460a076dd566a34caa832e232eb65548a46031101cff636cc2f1a647eed10010197d14031d1a783e63cf4c9d9316239aeda10d6503bf47f9c1a31102f5b57b8a7495f33e8710fa39ff4ad892f35d1b7f00d8bc00d1430dc6181ea6883bd9693492de1e1009a5fac2c00a716519efd34c07a71dac90a5422d53302e2225383f5d1d1bfb9edf2ab0a94ccb73fae22ed10c8c82b3ae14929f7b705ebbe3a5ecefa96ca3d159c49b1a9632121974689f4d9135ec6a99b788982387027ef8e5c192fc4d88245d1723a5146e0c31a8a8d1f4d7358ef262a09cd52d0452d07f07a58195e6403f8d6c2df551834a0edaaabf172e1d029149579358f275caeec6ea3d3188db7e93a4f0b4f40c5c7b391a9096985ae5ca6365c8a76b766a02ec3a61e7f9f1edf4d329dde5f37a2d644f9c4a87b9f6fe12ad8238bd91c532a574971119b93758a2254819508506bbff70e2c333a13e9966d20f716b6fa76bddbc49e5828143e01954051af95c23e14e1d85cbfdc2fe772a505ceafffb7f2b5d0e79ea980ef335ba377395a8da1815c3c7c890e3acf45914d8870ab165a26e9dd66e10c0c958b6beb141c710bb5a8067525f5c32be0bc567c82b70a61fc46132db81ac6b8c51fd25674182cc5671d5926902d96eb86d0ee496acb8a18a07a3ca4f9e2bd924a35dffd9d354620e0840942ab019b3480bd6649fbc2df3c6c04b65e006d1221e1919f6b1d9609f22e26c34f22dd242fc04ede4db60cbbf5d79b44542c53b75e9845d8269f3d087179eb4d921793f99276eef81c2135d3269ad0d697c66d9317e36d3baefa60d75f9317998f93095966ae75d368e709e3835786939f2d8714c4aeb3aaa738090d777706d3b4edb2f640c2e5bade0e572d93dff2fb5a5ba025b6b3fb985e629f1dc9acc229d6723742f57e58d1861fe706c2d1e81cd260b989d73efd90a31f466d4d226a2e219db730616efe3670c697e0564b861d014b3e20f81cd39fb36e43c65b8c9fb4098c600730fe47919d6c116f63f69ef960c5cc467839c3ea615e17342d60cc9e0d62effff9ffdffb7e5e6fa0f3e1e5f6813df34b4ccbafa8a2e0d23e34ebe4b70e2cfcc8f6f0d2665011ba91f8673534714dd19e2c4a1310b810c96ba005c4e087d8e0d3fee5d30739fa0660c9ef3fa0fe6650cf3b003306876affd6700e6aa7001fbc9a82ec6f7263804494f626edbf7cb9b8913ee2c69e22a3a41185a6bac287c5430894e93857d260f4e6b858cfa94dd70d689c51ff42c6fe66dc6aee0abe693d45fa16212f96df5f24fa92ecbbf046c8716a0a742cc22803dcc5525b9ecd05af9196331fd935c4abeba9492d778660469c996e4c7017a008a115d987bb11b487acda0e1c00d9b109883ffdc939012a0047b363f022e1233ffd5d0d39edcdf21e0ad0c57e99b40865d05e94204afb98e371ac2cdd1b84f3c25e2512b6162876b1b299715af104355b96658fcb9d0cd648867085798786d106b0f5b7fea0909b60f37961fe2b02b3a8f2c7bcda78382cb3fad840bd263732f55f8299ffbc2cf0a010403c980de0c094a027aff91ec2e9b95c5e2acd89da9ca71f20a78e0354791039f2a66649cf7dde4abc55acaa4b788c67512b10188e8723bce600b515d955fff9b4d43912c9be0cebd346d8440af56c92796d7a9ce96973ac276be2009797eeea9be4901ee3f1300f444d4a634b1ba147474c4322c0ad6aeaade6d7334bf20843b4bd29400d150135ea47230d2b90d6143ed3bf6f70532d87825bc4f517d94f92781cf164191573f12defeb313b9ce0a6dbe24fba563b6d3edc61c71486eb4859de6dd7cae59bf3c242809f07d0727c710d525cc13345251bd28da41356b3a52205ba51e9456f611b8e284ec71618bbedcc073d290e152098f9af1b43bec911bae6ef6bba34156bdb175a1f286c5e82e3c5856053e67630363c79f9a76e5641d8527854236de281703da085ed46b7e4c129c78fd6a160132672e032264076eba231fc383bc9352d49845fa140e47e15170de309509f28abf2fc3ec35ce212a2239dc66d842f4ca48859ce8c7d27d555382043474b7a492a8495fdac4d74c719c77d82bd734438a35b786a53cad613cdee7f4ff22591aa8073a57fcf911ddfe463ce64b23785b0ee27e91117e9626c0ca3e806305b522d233ee18141a18a8612102d911cd5ed44cf6e47b03daece5efc2d026b1746658b579a564e3519958209da4e9b9cb1fbfab34fcbb873ae39efa071c22e892fc3a5fb908f4e8153e5fdf3cfd4298c7b747e275e0b82ac37870a695c1aa7f1d1d9174b3b2aa4c6c7c6c74b88bf9d00ec78e2832d4a8aae9f685f876531f18c973e8ee85221e149255872032d061487784b8e24c0dc1ef01452c9fb27e9cb4cf3829212bedd4952558967ac534854eb616ba9036f829b420a6aedc152db05d0444c6a9a20f6a336c03c7f069e15e99782b28546bc6e1a48717ae6c601ee45001e66ce63a342823e15b7570c9f00c658003d39293c532e939a97da848b64d7f6470cc1e504c966fff60dd7264386387d7883f38fe81f4d91f5b4c3d0c6a9b0577d13ba1e8c9ca51aa1a5310c79978f82f1b1f1dcb0a039d143a278a96889eec58c63c90cf1dc5c4b543f91388ddd35d460585caaa2dd1be5ae58e116f99928f4a0f7a1093150f06903f91524a8a567f823a861e5c9a5481a853dbc10afa18a36db4a9c7f5c94a8b026d360cd50410f525488024f14572cdb89ca258342a5702e0d533efdb0ff343c38bf0b257726640e7dae49cb16be2924604499e4a75f83dd92a00267c079d7fd5978f45bfd3f1fb21a9b83d0f676e0d4ef63c56901cff5b38a6ee090c7b9c60b9b5e31794651d419b79ffbe9c31302823320f525d08d7ecf3d491f01fda056c9ab7e9855c438865a02e2f8a49f2afa279dbb631d3f2906cf76675a895c5ee5bcf6ff800bed333c55fbca1d42974d26fd4e51c9612a46e0de97a074197d5008b26327f2cd245fd1d46e895c80da5f805f1a3436e9342c085dd28137ab4f86923f216dbe3234fb72c04bef2732ebe11b2a005c034bb7e0c58c9355efac7ecc9b3e41fedd8ed0851a3e06fce50bbc91ba3c20416483ae2fbc5530b320ccb9f6a6c482d81d0991ad356b2e080421febf3b2875002a63ee54ca0309546e8cba04403d1e7c128bf4200be5340accc3615539427b0f5dd52db1ad15da4fb235fa24aefacb53b2f4dd5e51bc7e85c895677a09ccad969c4a104f4d838a0601d1a27278a52b22b8e8dd43b41f72e5d6552b006052df4c0dd9f354430d70eef131c83442b8b40dcb5310005783bf1a60fdb298fc85b99f11ba623b2762bae289276175c5734f8ee4025a9fac110341bd4e3a3c61a0c3c9d6b5c30476f9e08426ea2030dcdeaddeb399f6a48c99eb467f74e5db71d399d8b123dbee39cdf5cae61d8a9cbf951ef1766b0c6fd9e54ab7c8ff2e6dfae02897b10d4e8980473d49dc02c9f04adeaa0f5823a2aa2bca8aa1dd5575efc4da90bf17186b3367e744d8d852fc893293e1e3985da5e5eea04d7b308f0b26b220b17f125668131a4cbe65101b6178621683bf9ad8e8fa7188c1c4cd9c2db1302669a6c6a87243a167d17d490396ed9c133e060c72bc8bfce8bebdc1ddc84bd54ce8780c6f2afc0c3346e593e35d25d63117df4090d6c5ce9e405578f933764efd39e6d12145af53bf178ad284b4779611b80a1aa344c754e3c59f453b42965c03a93dedadae861816d48d5db496ca1697c8c1a8899a5fa1dac22af23ccdf40b02e4b0c1ec46f735bc75231c42121e95080720174f0b57e63277a7aff58dafa5323ca698e5d45aee83c934749dba39716aa9e139a0d60e39df6e3a84f0177f786b3eec17c7d92ba12d09796ff5e7261950201cb33958cb59860cf0b74ec69d42b266f41baaa9ae60582786f1c4524534baaf0970703ae4be6994ea1b10120dc08b7f6007ec780d2b3e88a9c9e7c55f32afc2d9199530575fce11a80708aa370357eaff3e624e6214da0152b7c10aff28c57944520af71186a885a71bef672cc2147364b12c65a424fa61782d12f7bc60be623b1b7dc6754e694df22f6c483685b972ccb027c0e0698f539de926cd1407248c01d8242c74c779bfe98f2bbb92844e59b5f8975c479ca7edc243d701bf25d926d25fac9688c7e044668a8ed159c9e040d6aa2841b6d4cd5df79bbd4c912c961f740aef245241336369c41f6ac3cd333a8a4d79aa3fe341d12d8d41deb7d1b436812c658ed5f8b76adadadc381592a29bc0b9f68d9642a3b95289add2711c67aadafb38bf4ead956aab2465f1b68e26fb38c170851e5082200255fc64a9b11cbaf2e10df55fbc1b2e25950b326069756f82f8f344932f9e4904fefe3ea2e5d54b69dc48b36d1b341f0f5166312c81359ceef43a3e1da2e844a8d85c16acf394bd3e424428f7da06ec7b805bb3669e748dd8035c7658c6b25f86b844c361feb3eff4e4476eb0422189f699c8f547802d1e7df1b3479ebfa362c989d78fc2002020d2cc2aed3b5ec483a44017b770e3cfdef5d7b1c4cb36795c0d9bf74e869847e78b3e8cd2b61fa3036e1ac590718eff6cd36a95c2b5b01d1cc4e8876c3326bdf723ffd6f90082016075014752b317cdcc82ba717c6d92fd051479202326100effb53552ffbde460dd66a4d87c234196383457aebc045a267f91e1fc232914895f26b6edfb3f99e07601cb652b5f39874c86f528735cbdd9c5e85a10e30e75d8b89fcccf6244a2d7f3f9274076cf24a7c10d9de08e196fae98189b9e32c60bf93b3e3a15945b7df872694aa97cbd092f1dfe3f1eaa523d43b601800388f0ce8b1d0c4bbff068555df818b601eb21be5f39133b3830ef6c0a2949248b7e8cd48229361c0065e8cdae59384fb1729e3fe4db192bd1d20f0a8a2d37d9309fad638de01dbb3f1aeb35addad42634fc24b2bfb8716483efb35050d781fd59ad8d0e891ed8e1d6d0e96343b73c6287b6ff621363e258acd36a4c31bad33547676607e26d19f1f4db9067da6189d0c8f20aa3fa94cdaacb8964a4570b66badd7ebceae7e27fc655ee8e925ec11b979fd1a7508f79c8205ef6f57c86620391e511acb61602bfc33071f3d8d4c93bce1163e1b78a41b44f63bcfa981247aed538ea3f27e1954c45bbbd8210685fe1e1b23ecca90209d6aaec30dbbaf421caea4c6db31f28ab7880fb785b66474ad46a31975eaf0878892f813cd1547df8b82ac39a07999d10ea08884f161bede981df98189e3e446ec41f815dd3b99bc6c2da0596c1853b21b05d7f3de67d34565231f85bc68af3a42bd73f0b3c987084d5bc2724c4058529c44d87d478ca95d5ac1342533fa3c645cf67bc9f1044049aa2e94d062f2b9d4928826673992e83250a52992a8385a1f7d1c6c9a82a9d3f3dd4f95f49c095e394049c827ab0677b394e4ec74f128842a949108aa6105f67216c5d11ada328f5e8d1cba1c451dfcc4e6175abcdd41b7ff74ca001c1c61ad583a2a3a1dcca3e2894d21b3f8f0a37e4c9fda05eac03ec628d1417e4b5591763043d90d46b4ec12c6f640d7f1943ef7ea7395328c603d6e8b0e45b36baef7e8516f23d457383cc3a7397bdfb25aab4679c08d43f9262773c3f27f6fd3a708a9f242c1af78c975178a7fee4e22228b940e665bf93094cabdf404c51885d89f0a7ae42791edfa4a4c897bcf95cd142912ad2f1cb1fccf7078f1bdfad5a56b9974fec133a567ece9f6a4f4debed65b19f327dd2745dfa0957a832292dd368c665c9caef65e7238e4a07e42fcbf5861f24330d29865f99d58d54d4d91facd332d34d837320bc3e7726a82cd34176187b1b88c55f25e29af37094e1d2709cce6330a192508b0915c273a5d43c0349c09e95315a3432c6bb1ef285b06e7b87f2b3b2c641e83fa7fbd08762f63e0a99c455086fbf5ea52453f87a8797a48e0031a74bdbf79e6fe854b110d833d41457da67c2b74ee96196cacdc40c9d3258d1953dd7849e00aae02e2894ea51eabc9ceae9353f58f67d04e00d2f77e35e973215eb0b6c5be1f5e98b1884f2fe01e1f2b41ea4626d5fb49d89d94695b4df39b3c14eb17bb8d56d0f932c4a43b782ec1bad6223fcfde0a04287725c6f1197453fc20e8ab7daceb1f84016ca99226eeee6cda1bb00e0bd94409121e719f450d40472947af10521a3d27ba7067181ff17c6b2536a4550fe88e11dbece35dad430b83d16162a8b609978febd9dacc868a355c8dddde00377aa9b4a7135557a91c39d67a327299dbe7bdb93d50b4dc20e6680e49e80c567dfe14ea7e8603cf71998dbb582132fe0dc56e07321284194cf7d6204e8ca2220d6795494c8c4260b1a36159f410f570448a519d3ed87c2a9f84c63719b9a55d59145a1735d049c44baac64f9398c23864448f1b1477ca1f9c187b7ccbd964f6e10d92242bfedacec47d5fe14f84e52633e244f981264208703e0f545a6128c8818fdf1d8701ef64d3286827e12998c7f21862b7893183278504964e41f957aa876906206641898c4c80f20316d0ffac8992b139c682de7c4ff302da5f803b83198d8c53db514df29e6d1eb3b0b6da8e8bc45b59d98337d5c4cc8131b040f8b7919d5e6733f5d3360a3d4a6f8893822003ef158d67d23604c6029c2dff8a5ac8b90bb823f712d01cf55b314575015c143288feaeb578a034d129d9ed7b777e814ef2127a1d85adb5e87aa5fb360265883e80f7985d8301e2296f713894203ef76e0bea51593e0a6947957188774ae1db74035b9f27f54916a318c4823c41e0f09dc2f54a8302346e8c650db19e02fe913f40b87fb58ff578be773954789d81f1f20c0c3d54aa4bd0932732983f5ab098be38300b758a4cae3b93f90555a9bc66ab86f5a9042d95f3c643f052fa27b912915d3130f5b3b439083dcac8f4c7a37749e41e7c55965f5acc180f9b30a48f262afbc61990395ac54f2c604346b2e078dc89ed5794e872a7931af778f59af75a0c7fd3d2e89e544f0a74a55d22b7187aab2baf6bd75c85ba88b9811b5489f86ee5b7036a6601048355a9b5af23e4320f9712ffcc4c4c49ce994598c113459896917194380f32c04886503a20dc909d6791a43689c6051bdcceef8957c0f34d58eba9f7af9fc93b42ef2adef2ce46bdc47988b5432e81df38d1d02187f604b474ca73e01af37551f667a026fdb403c7f1508e0d013fcae69be728f6d9c913142b61a2eec92ace9a935de095e962dee52d9dc3e4898ad10cecca25283118d49b78a5751c4b920d64828897e57ae587c44922790fedaa270ec4d466d5716e3a9f4a72c452f06c5dc56c7013c6a56dc6b2f0077775d7d412eb46d24a50961fcf42e732e461d60789b2c267c7affc2b5508ba2ab2a9cdede64e0411a4e3b70c97750d5d31e7497334df1f8998042ff7908e8e37ae195249355a21374954a1d9adb4b514a029ffcee126c21d8755fd923cb6dd2204c98a9c9c6c99ba42df7f123e97c3e260270d03dd5ce3de02f30c09cbcc71062e500d0c350eab6f017fe9cd3c31b0b19f2a62bf01777dca2f87ed134f3cd7dec7e047a7c524e7bbf585b387fc6c282b90a5003e558cd1c9f48a726739066aff70bb255a122319ebaaa5dd59a7d35e2352c138d71bb243a2f816b1347748c833d1138fdb6acbbc1ed2d016e99c712ae80d2be7d5e2bea8ce32707985e2e00813ccff7ea6c8f8915084d699800d27394a57bd7569b72656c81452f2a5a1ac4b6e87dd42a948af2c77b84abeb73a199c87923fb8138d1aad7101f1a59d132869356886a72a0df0b1356a3ffd4c42efdbf6c857e5211a0ebbd3683923645deab3037814640ca3f8479627b60263990b760765a7122a4543a7c9be86e2bf1e093704338ab1437945f65d9ebbf7e908498e9b327e29f7161f88795a340f455be31da7d4413ece24205299ddae92ea4eb56dc8549e719ec7742c456d9e0bcf7ccf4259b885d5f339d7e49499ab24fbf85a2fe3211ad16d8b49f07fbffed2dc0f7ae1145285b0d6a36ca54c949d0571cf1bd8bb206e8e7f90b8dedcaaed7a17ccedd5cdf5604574136cb69f3293545ce1f996d8ffa25b21c6e464b759b85f1e21189aa82b475dcf3395c4ec890f79ada62237a2a6ed3c972ea1d648591b98f87eb29a7b88f474f92822fdf58d4fcd1e5bff0c323c0e0cc30e51671210a1dc1e692acdcd49bd82dac18dd06a8d8279bb9fa3434f8f5dd1a2728c17311fb985da8a1710a2ca6aab65d3a8f8f89ffd305e9f409a5265390e5505188aefbaa5eb91bc6fc7203f5a6c4e8ccab583cb187d9d62e18e0e37badbe898882401e308ff0c638251e6bf4bdd8930c4df50bf17a560f17a7a6d90d407c47e60569dc63bcb84947901b604730feca89472c9c31bbb77da920230fe7aa7bf646f3c33564573f303357a20d555405a0f81fa210dce3741a511cafe23a9f0bca80da6f28b0a7f07674a0b861dbecaf44d1dd83d87766f769775142d5d7d3f5b80786ee23ecc829684f4c346e3a9c9ffe022ace8d628ab6eae6cf1c8759cc484dff86dd2babd56715826f27a98ba622ec3080a3e107ba41fc9f022af4aa0ff372a036234557d4e64990e2f1fc673afb22d61993aa625719236206778a1d2070c8330b351a14e5ac3dd144ff4b7c703251294e4f209dde13acd04080074f31723514bbf3de2d507aca738703d69ccca5ca2e38b9950e8ddf26f2329d6e8a047ac4bed71d36b76410f85685bbf5e235a6a59c920df4fcdf6e7a590ab4cae0ec0699ff4f04e2206d1fb9715e3f58de961752cd4953859e46a28f6e75c4fb1c746231d61475340165b10b3e74795c9f7500302df2a8878a901dc4b53c880935778ebc866935e8dea333f3899538b765ee17f4a7f1a4bc729ab62df936c149d44200f706d20bca88db8940e4def1a4145fb014029975efd6265bc92756ccdaf179746a73b8fc0e8f16c80d38703da01a761da0253c869ca36af741ca9b0f5f5159bb169f7572285d263909ad8f67ffa90f854b4374b7099164ce0f9287c68540ff77e84451be04975e5af56e1529617b3761ff6f80686bb8a92a54101299a09acf2b6720b89a3362b3f964f675e21a44be9549d0ab93c9ccc640948b316e0a6446522c5cfe6ca6dbcae72ac5ffa6789358bc87559f3463fdf9d5db76c20531e8409f77790360d28d0ebafde8561cdb0b74c61f20d7b8520252ff4148155811a2bb7f318e6513d0775e0f189a2ec000ecabc1bcb89b4eeec6b2b6cf68aeaf05d8bea1c9f37f244399e760fbaca411ed9a69343fdd33b981d2eeb2a6a6220f15f9248035d8637fd5507d5389108cab6948d3c933598de11842596ae972b6fdf58f429ebf3a529a68dcaf48a76b63d1542b3a6a5aa23c7d0ecd85fe7ee8bdebfac19aea44d454671b24c3aaff284dfb1b1b81d61e56a5442c011964418d61f62690537b08d08ab9d9a9a57e2528e8caa91c28cd524c04050fe3968f8f6820aa3f259c2e885eab652aff85f3c8e3c7cf901c58ede6c5246ea39491f3951886f63b56d78f7d0af7e06b9bb58f1bcaea81c3d30b372ce8742fa419629baa3f546fac1596792423bc2506874604609963daadbad1263cb5ec98a9366b91e024e3563430aeeccf869ddf46da60e9ade03323cb2dfe9d1ae436eb62ca8472ba84defaf2b4df897e0a15669dbd07b71ebb8f1c29513fce8c54efe52021b851f2e1639db4964d909a914cf3eb498f34f6a8c71e899610da1f3d83764bd9032165b1dd27b5ac1442d8ef7a8dafadd0d0146422e0c7568260b6936dbec1046dac614c6a8a5f0d901985c500fa76392963ab2acb7671357ed06ecb36b1c0cac579569622380e5f2d8e4e6ed7a0b0cd620d21f35b432369da7c8876cce42514b5bbf78bca21d9070809db333052e907661204b956049c543a9ca43ae1b8cd34e27e776fd439178b55bdf516cc8dc2ad8ecac80670c555eb1972b7e1e0fe7a3739ae803ea30724cbd22a823ea379c2e3d3ed81572a510b2124428d16f4c4e1b413c378c62a0d87249c5612dbb5290ca7fc2de52cc2a106529202902e07aa2047335a0e83477e433e09e7c39cf414b2802b4fe61a5eb6f62637a15f9c607182dd599823cf1a364540ea3435ede0f48c1099b68a6807462bae34b20874ca5e178931f3ee48ff68f3883bd200c5da573c536236f227bd43993f079e801feb4a39ebb19fdd4dcd6c3e3f64eb7a2e4940bc8c3d20fd5d20a287bf9dfeeaf25d390b8c2521491579542c1f501963053f2e468d796de38f3f0a411e86f0e569768ec8324ffda2d0a805c8c3ff1865f8a0396c62c05145f83fa9116c853f0e0191eac4cb9eaa8643e1a42b03e151cc305e1a054f3a651efbbdc9818cdcb06c74ca26e0069946dbb54cc2a0c861e844fdbdd845429158888943283fa32a0f6eea1fd7304156a234c02630e27fcb6a640d46d9125a6c3cba284c607830a111c9cafc211882cf23c4bd75a005784e5a3336eff1f487d20a7e2a41e318c2396acd9633f2157dc5082fb7504af66eed8e0b51a8463926d3c5582ab09b869c2b0a9aeda10e98fa087f15e5bfe58a4db59eae17bc0afc5059020fcef8561b42283cd4e41b2350d8241c80c2b81f47e670fad26b07c252f12d889fb6b2437fc493b6d2f6004c40f6a55b9263fa651133b18b6f84bdf76e711a8ec6545a95eb75198d504645df0daae6d93ddf446ea8e646c062586e4aec924590c69ce7020e8950267810af2c1aa7f472ad0c546a88ede77c175f826556efb7c459d652e2407e50626a952562220162179b80e6e07ed33651dc393c555f6133a91a45449bcdcb9ac7e4a3bc676d1f4f3671af2ec5bfdd16a3e1e61307433e0c47eb0ada51bc210fc26b26510aad85e8b31d3a70d16d28904114cfec60f358ab44804d12bcf1c1e5504315b4d12b4f0b7d897b3fb7c334357f04bfccb36d91d3195becaa8de9d442e88ed6d36c56b83370669784c0e212f34cbf9df5cb64a26d0c72e05531eed5738bcc13410e6d3ef9f7d4038ccc75403a5b6d92bf667f63bcbb7d09828d102908af8a5343243b35eff7aa7be41beb4300f8d25abc9d3070691a47a8f2ed2054c17a68047fc71d751a7131d7c9e8393c8b8e3a7bd83256384e3087d488adb82f5a1295cedea14ff799865b35aac6cf24795303d4e1a352c90dacdfcef28fae7ecdb733cb0595432da9b8a28cc78c866a719c3cc7469382cde2bdbb33bcf0ce6f81bd31c8aad1d0cbc57fe747e814bfbb3a9ae533ac5544c878ee6e1db3f8137628520896820a5a5cd6ae73a7201fe98bec61993a3d2c39162a17b2dc3a97ff298f31c43c4509c000ee156fb57cd7d47d90f9f10bc8e5f50192a41fc981509ffc31e714043a82dcc613cbe8ad7e2020779a545d77c2e1597b3118a3a74d1b362f51b4ba24b1378007a9ce7e2a40483604bc13d648b3370dd1b00d38041719025f3bbf3f430e2d071488e98b9c7b025493f593cd015cfc030af5929a5b20523a6e0e85773952389346fdcf38eb60cddefe8cf36de3f4650d74c76a22cb6df59ec8fd728a7596c62d4bde5dd07859c4eac08a052808848c5ed4f1fcb9d4e79c58a43dd3797b84357c97deb107af7ad2484dad85369132251981098e097e09f59a9e8f26d8ebec715c0d1f5b16d4585cdc8ac42d27a00beebbe74cb36514a7ebbe1e25b5accd04848169be214d97429a0e6952e0be7b21dc77a1922a41ee77afa453e222298d074d0aa5e75e4829445255fe426e5824ec58553d0d481dbb4d1ad86663f1d16f6fe1b4c0210b1ee47e4b45b3596d827ff4772312fa568a8abd85648d699acfba21df48e71513fc6d8e03e832832b542003207cc8c1e58f848ef4f4810b1c9edc60032ba0702d51020b25a4a0c1795e51c2e5df2f3abe4044d010452d7822081a5cfe9e91704a913a72f7620c82a769c24e31709933416b1acdbd69753c82443b4257fe286ca1e9a7aefb346d7aea2a3d75f1868bde2fbc35908bdeb454d712f0056e336c2a2ef678f5ab8e2d8515d95f60bae8d71124a4a22e5b685bbad06834dabd4d03aae36da0066a20d25aebb26bc5d74fa150abe8d0658c3ca5f4f45b019755ead324000b5cbf9f66fb25790b6deac876b3675ac20dd60d17592c168b5562d5e817c66e10acd0d1081540fe9eeca2ef026ac159a8189eaaa23649982788b7fabfc7b653a794f79e7f2838a523ed220763085991c315415eb8fc5b888e4ba06c01ea69e20639b0e10797ffc5b93339801cbb5105bf3f8f3f103aaa5003237cc038a1e2881d5cfe2ad071899331b3285ba8008c1adce0f27f4a846804bd461db7591b5349a78e278f09ea854ca693755cb68372400fb87b6bfbbb75e8c832994cd6812018924f4f6e0538e6034a45c1a775cc97d25c94d252ca6b55557405a63c3a3976c03a5ba6591c41947d80e9de73da9eb910e42e743dc15d4f2c568d1335626196eb7843992cd31509eaa0e34755fd226821a14b2e4015ab2ff786272ad389ddb21c23fb7b33310398deaa42751c72cedcabb5de3ab609a8aab6941bb613baf2e78982fdfbc75b3e76dfb20cdad40638405b74fc219da36305fe20bb0e6ef32a63c706a255fe446437027712d9bf796cb681fa879e8ef5f40f1deb58c73a76fa8efde94f5ecd542bd56ecdc78dd7f1ef808e75ac340d79b48604400c003e64e1c371e964b8800537a318959b8e9c8c43a13899b51ffd988b2ec587aebc897a0b0f184c5a9386e636eb686775a4ae766db43a0ea92aff1ba1ec584c3aab3593924e7b1edd9824b666f6bfe10573326ec6d1b8224ec6c9bc3542f6e7689de3f53792abfcc764e764243cc15eb654802f40e958c75bc2a49b2e7443f729d54d4e66769c113793519c212e0bd744e7707f3ad5a8d185648d112ea32bcf4255feb429d9c91f3fb833e9b21e4bf214d3fb04a8eb864996b892540972dff4a517625da630090cae5b0ab959e7ba2127e3826e48c11c164e889365ff1d27987241d9899ca8eee02d9c72dd0a5dddd04d37dde4649c0c0031cebf296498328aa815a42048c13ade8b3108fe1ba138dbfbbfd0395d1caca3bb582c2ad230e18281c617d77d124ce259307102285c30380f6198e0e5baa10c758c315c55fa494c45e774ffb4ca1f7c90b6aa7facfdce29d52eea81ca247881fb4b6f7f7c816f96400d8d54da38b81d54b661d3e8cabf532d45e3702257f9d790fc3ac618f90becf9360eff4e991a87ff0d23706f097be6a27f0f2160b27f7a0a6dd916d0d656041dfb55553f9dd3b1c6d13b60a148fccc681cb60810221467b3b5cad4ffb08d2930d9b47b31a6d15cecd7ebd5b4a6c9304f5a783d8cf4e8b18218b8beddaa731cd71c475132d5bb8f9871cef0a2c22aac8e4488d01511cf7b5eb0f639010698ba586135d6393fde02aae3a98e5d5695fff72ef34e8a62f612cbb2d759b6e182796e80c98ee58bdf1bf57e2f785695a7405d325ee63f3fd5929529953efa3e9ae0cd47136cca243d3ae223913a5628525cf4ff2a2c455d3766c0347fafc4f432afc4fb6fe68361331ebf90198fbdc7afc4f433f0cff819a112ef311030cda6f79eecd233910ef859f22fb2ff91c3ea4853df7bea729a1ad2a440e34d2f64c67ba112d4cf7853a8a44a10d4cf7825f8693c75390d28784ce77034647f17021dfda8aa9ce2541f9351b98615ca511deb0e54e53fd97f0b495426fda80758029230e933315c0c8ae334f55730bdccafe0fdf7dc3701ea92f1a8148dfd1a4f5d38657ad40bf1be46a8e47bcf7b25326f7aea729f3ad20869eca31e56c719218d0d6952c08f7a21f851a85722f3387421a8ef51a1c35c354cc1f4322fc4144425c4fb2f4c92a40a0d90ef27405d5fa8a44a90ef655e89102e09053be8a1875959ba947c21f6581dbf94c7aa4a46f87df8b18cc7ef6f817246f89855557e7a255582cc789957827a253342195a5538045255fe2b8cc1d485aa42d95f26ac333dc0a44b400bdc3ecb0f93c203148889810f4e97bffd84542c37bca00635302a4b978c4c787a995fe2f2f76452d4e5410e54559e6950a81ef020aff4f5b7822339710597315c4996b884c8942e970969842839fdf7d4e5bf7d42be5378abaab444e74775080bb50ae4a309e6be3efbace3bdde61d3ba08488ff726af4d8a53637465858ef507aaf29fcd68169a25951a610495aa841232d93113326942263be685d5a7aafc9bb8cb145698c35cb482dd67a709261d96bde6d02a7f1e5e150858ad44f810a94135a8fa541cbac2862a0e15566115566115564753855558855598e96f88b13a9aba8e711ddb3a663b56611536e3f4965cb7f184e2807e7b260a72c32a81c562d91c3be0126d551bacac8096fdefe6042659362c6f79df086fbc500aa76cdbc5f75e16abba458286b9647f7a16e992e258fbbefd40479e76e2a3d84c6a57689195ecad9a0d917344c9fe4f647fb265c85ea4c54c63146b475bdb57dab2bfa37178fb7329242efaef146192ce50a012a0adeefd2940793aa7a671f8fb47c3737f3b9eb9f73a559bf65665b8d7f19c3debb6ab4ce601e4dbf1ec83ae9ae5e20d17fbc56e28d9df1b0a4daa5f91f33c4f237415a60517fd8dd0939ef4fc5ec779eaf885f45e2f24313685240896c21990202ab8aadf07eb868b74d55fd3393f3a474571f43b97dcef43ae2301b99ff44cd2217a16c1340fc93305cdf882495390c9a42b3a03cc8c2f250c0b4cfe131abb3856b3f0e1011667c6b13a9e1ca3f289060cff0862aba1dfb7734a9996b2674f278a83cafe59075cead2f354816b311492b7684ee8af5f4332004594b97f4976f98b752c851856775419851b30ad2a1275a4224db4ec349e609215eb09b4abc465faa1d08f4272d1bb4c3f09a04e1a239de90d2f18c7e838c467072c7ec4e48088052e7f0c444711e8000539d0b6b8021b4347ca8556e5072d38c10c3388c1e58f85e8b8844a1629ae0c21850c8a6ce0f27eff1be4175e2865f231105dfd086202d5550a710cbf6efc00631876e2a2ffce12f875c2d8d341c2240672ea32a492dcf807baf2dc0c50e271ecc9ae42abfcc12ae8cd8d963b04cf1718b623e69340e771a71f4060ef47e9bf522a8381eb5782514e860b582441d929c2e44d7691caf763a3d81e2dc03f66f7b4937eb9488b7a6c0e3c004184c96483827c7080e10083c1603013ac04bbb00e662add0e06c3a7ccd1c9c7534dd1f440a168ab9d50b109bdf1c29e69a54516a018a01ba02a748e4de370df41b6e9185ae5df39f090bd7ffaa75fcda4cb244ccab22ccbb22c4b158a8a8a8a401b106c95a519c3144679fbfa006802b7b5a16f9bc71c28370092c035bc554f75f32017fbb9e7489a139a0b5fb0b9053acb770b694e78c16e610bac6c4317ca4bb28e572e4627175d569fc65f7445bfb308b95b4a1225aa2cf7938bfe36e0038c816bbc5ae1853932a294525a264172011582dcd8b0bad65a6bfd99a1cd7039c083548c91510c5c30c8e4e0e5fa9e4e2186ab3bbbd35b2464ff5b5e2674bcb935e01025fbef9cbdd1aa4f85d24fe3084c76276cdb8a5ca451da97aa2fcf81ff7b1a56708734ac6092d27a4a17bd13d3fd05bb93aefc575d60255594a01ebf1299ff564e60fca857f2bdccd3f407413dfe2032ff759802eaf10b413d1622f35f98848e4181169f970b87b7a3b812e4a2aeeef41cfe348cc07ea692b2bf6ca3d1b082371a90b73cd0bd7dbfb7d65a3dd07dfd9207bcaf5e48c290bdedbd2e4576ed1ee173ebae1bc7711bb77121c9cabd85640b403cda9c4ce701233078299a61c8b641b02457724966517777cac9904b4aa1e9c74513908b0ea3aeeef44c6552d475bb5307dc257548476092d59dd99f55c7ce07adf22e8c7a65f5ce6858c1f72f940ba54beac474a798eeecceee4c75df77671dbfaeebbaf3ebceee9ca1793e43897ee219956dc0c044bcdaaf34bcb9b151a3a7e768cbc0903a6eb55aad462d033719a0a30854d5cf4516935739b6dfc21a366aaaabdadd1dbc14c67599219bc104ea52f7f62417fdfd8b73e167f5b2c7b8e89df472d17b5cf45a1d69ad7750b943af9de08349074937b393a09fdcbd4f8955e5def6bf14759d52d4e5a5a897eac2d25cf49abfcffcbd0845cb6d23b7e7b5a7f6f8917ff19a7ff19ad7bce635af79cd6b5e3379cd6b3364d7bd15d45c7a4b1e1c3049b75c775af33cb4a3543affffb774b0ee494d4d4d0d4d8f2e73b16c8305090929298843a294c3221bea38dbd1888a90ec77651d392c58baf28c21dde8d8c1732679cbc7e8f838caa6cde8288cb7baf396042cfb17d94c5ffaa22da8c392fd39d9144158aec88282a6089a020b17ab23f77a712fcc804cd60ca923f7e25efd72c2bdb6de9a9be57ef246e74607cf169ad1c651e1ccaebb392fb1ecff5c2cd6226fb2132243bc4589ae08657f168a7035ce08d632fd0e6fddafd93e1e5d73b3e6b66ca10b53007133a1a3ad4317a600ea6deb2980a600ca5e77aaa138a81d55e64cd80193db9857f6e798501cff6d0c174349719ad09cae6c1c3d1467eb62e06898c23cd15bc3c5dbdd1d8adee944c44516bab2d627bb18b2ff0ead6d35ba6ace1269a15afc3514c77b7a8e8664a056a3b55a6daf43e8aa7a31219ce2bde8a2772fad0de96023508115a9a0c326878d8d8d4d7fbe36745c32258c269c207a32b3018acb5f071d4778428c0d6ea045d20fc670f9efa0e38bf1850d68080207b0285cfe3ee848a500028c961caa10eaa1c145573636386856b5d9510277f5d6eaa512e8cab9cdd6126e709bad2c2c5f9625154b8027b0b536b5432693bd0eebf576dc66639b151b32ad5f8d2630f7dddbb8589fe562fd1bdf6cb710dff979b1038f3bfa0047987bafed3bd76dd281b5df3f60b6efeeae1f8fee3ef5c7057946dd7d14c67a3899a44335d554807e622638c1e437cb429f3f2d9a7d332a402e6eb63b8f6dd43299501d3b48c869b0c0b23aec2da8d38c23fcd53ea3efa8c748e9b3c7c8f4f949397d3db61fd634a66474b778f8b4c2156cfad2dfff6a75ecd3557ed6b2f774de226991f90a928225260b9a096dd942442b32aa913e26cc3d6fd2189f524fe9e52db24a19b2e2433bc28b97233329fb5f2420a22484b27fc9c91163b66afbebd1e5fad5c75b641b65af6fbbfb7e70b97ea5527f7bfbbfe56d4c5198a313e987350222a21579a9d9af47ddb2058b90acfd8707c97e6240544c6f758f6e911d945bf50583e23ea91a173b6c2a35d20d5da0c24b9f18fbd42e74810a2f5ebc186d27fb9de06d74d48511cd45ff113e1edd4d6ba22f987674d4d1684afcd068b4ec6da78d0e51da6d9b12524c5de99a4ad7fb787443db50d1908b2b08e1fa2e503154c3a1ecd16edf42dd6b95a9a10b5414d5eedb015bf0834567e1e54b8de2582db2bf67bb6bfc6d8dda21b6512bf89902c85503316fd13ac7b148d12d5fa2457f53265d88ec2da01008ae1003dcf566bb6d842d4866ea4ad754ba42236c42238ca0c429242494bd01d454e705782b5cc1b5a4b596b58776f79579cbaf7987bc55ff9b7998d15693a8c8cf6fcb47fb88fc2bda384b7e3faba3d3dcbfa3b2f4165963b9c75be435af905fd327b73accf9f2af5b574ad9e0bc12852e5041c5c54e62d65450e96e17a8a0420595ec71b72bc94a1f0f2e74a11ab8506d19509c10dc2c7ba2734280731da238550bcd71a1c631a338fd2e1485db2ae30215417445b3add4da90627707a114080d2170d5008f8b6d0093d65a6b7d9d5a2db594ea20e0c4d95ceb0e8ae357c8c51b24d4391fc5d18f4aa27e3ba55c43160e98bce667d2554de9b8b9424137170b5df9353b6c9f6b561feb0fad311b2a98bc662cfb5fb38ee015ca2ecbac9979cd6b7e67a60458526a1e2da84b6bd5a1e341ba0203a38a7cc19dbdf7a80c64c15ba6f727d282b7ee773a748c9052956082d75e08bec8ba31956ea7e3625f589b5d84c93b7d3228164b144f20e8d55c4a3f56c621ea5e198c3f103cfd7ba228bb49525298b8c005838e1eb228e13225094de0828146189729acd23fa4a6e887a40430eab7684ea05ef27dea25df10bbe8b7aae8d7c3fbf20ca13834045fe821c30dd431ff272f12267097495cdc7102d79026956c6e1b625ccf3a75a4ae5aaa2de596eebdd774efbd48ea684a4a4ad2f16ec9f593155e173931cf8e1f40581d2ef2b8b15b1ec1aaf21aa8b3564ee09e19aeaba767867729a10cf09f81e55a424bf01f01cde1df538496e03fc375ddd00855f993200b2e9652b00d5b20e2e20e0f98048d64b2f772d1ab60f20693e00badf2a761648fc186ec961a2972812275bcf7e6e6a688a94b147cbf54fa6ea99e5374681fce223d5099d2957f913a9e752ce22abfb8085df98f3f98a4e70f31d8dd3f1eb7e496070c26e9d935d01cb071f897defdcbc6b1747503fd5aa65363c3f3cef3b4919bce48a0aafe025030564cfac9aea1019e17da70536a878b235055ff034cf8126a0a043b56d242064cc613d334dbace30d416eba24aaa75a6ddf7b6b5c46e63b79a6fe81aec624f921168bc5645ee63b79a6222e3608823637416c6e6e8862b1ae9dfcf484e676372eb60d5db158354e4578b440c2372269957f92d790e4382479941975f47af4c2467228efc4a727fb5f2f1c336bc1451ab5b93eb9a6614a4097d0d695018978034df2db19a13921b899abbffd0087fbfa278a23a6c1605243f61f3ce019993cf9f63216325df99bc229de0d1d37f6dae8e4a038fa69b3f13c3d15a07a7457870043b57ad5cb749592d9542fb88671509665599625edeebd53f738f112a88e99a78572d430d925a9233b4991320f0f30d965e9adee5fddd97bd3935406028ae39904923dd0df04dfec2caf7e13a0ae9e26ded3aa6a62fa5a4af5d7c7b94bd174972ed27498c4454772630bdcaf1d2b703fd94486a44a60e9bd7af2d1047bf62a3abc058a462c98cab22c4d9d8c936d322bab9db2e8eca1aebb72ecc0aa6fca9468092572ed7b2fab074d66c0663cb91763107c37ddf4bafb9b9b75c4d874b3bba9a39bb5e52f2b246bf90d54f4f7bc138b55e3343a161bcf712b7e040368829c4e7e437f404adf2920b26959c85e28b50a1d5b0b55f9836e5213e8054533bac2204bd62e2f4513c494a485c2249d91183db860d89eb8aadc5fe2f2fa646ad334bd45008ae31c158a83ca5928f883a5647f41016b8fd323a4aba58aeca5b081aaca696870a65414f56417ea8ab009e4feaad55e5da3c27136f44884be3ac77338e2e108886cbae841aef2df020ebdb0dc80eb931e06936ed21ba40006d9df83bcd57d774e3b161772d1dfe4823b6e7bac02bc6523eee3b17912dec40c48d0b3b54e2464ad58eb2f379d8a5bf12b9ec5b57897ec3fa55432fd55c752f87abdaa695336bb390336c213342ee7799e75bc8e6fb7c2ecef25c56142719ae89cd411207aeca18ea1c124b011dd43445c1b3acc649f9de43c94fe7aa94672b14cf1d8de655336df9d3e63d8861d66c7072323cce5540f7052e328e2221128682b0adaea1c1e1407173a02712c865c75830cc513b577f0f870d10761c490e483c745df4157fed7a140491283e5c422e63ccff33ccff3f4f1f1f1f1f162e33c69a71e349713a2e0edeb7fdbaeb3a91a310adebe8727a006d886628d8b51704deeecf5e9da1ba6da670b4cb64fad265b5bd3431b1190f50fd26a379064f0621d4d2f659b527aaf7d52ac0ebfaa7680bb70a70aae4fb64fcda55dea7d5ce57ff1a7e8ca1bcbb70fc589d23eedd33e3efd3b52e1d395b3e8aa96405559f07fe7323d048016002ea6b3aabcdb82f93104f66c3d281e145392e9a438624ca7e9349da6d39a443045102a82f498647fd3e9ad02647fafa438ffb15cb364dfc0ed4da729a98edd3fd8a56855d990bc9be9dc4c4926a41be0faa4e9d4a16384ae03ade9349d01a0f992cd4b3a009945647f7a4b2977ddb0aac826d011db9025072d3c74712fa5a8ab539ef10ffec12fc74cca1b4ccab22ccbb22c4b6c06e179c6175ce94c27cb64326fb5b23f108a83ca41bcd5acbae96c3b7886c05b0d6f94ee5f8be4a77b41b9e8a444ba525195bfec5e1876998f7d10c4f86e9bb5b2cea1d9fb713ed15802d78edbac9191cbea78652e7399cc4b4d4cd3ec71aaa9b9b4ff34805cbf8060b498514b172a5b6dc1347b1d83668296e0df57daf4c2b64255feb0998b43866c48840553b671df41e83819d144f613119190951eb3c78a699aa6d7e690ce34659c9c1002db16151004418ac3e19824c7713597fef8029b320982756c9ad34e200d0b20d0b1613d051d8bb4ca1f7413803cc0de0426842d6824f400d3bcc399421c3704a33ad014d0960a68e7f860d1866d6918d85d105011948016e99c16487a9edbb679948214c7414bc462b17c0069614ba6d168982f0a1913d9df6b6f3aa48e5d9665d902973f116ff913e9f1035ccb35973e79b37d12d71c30c01a6895ff1692b48bec6f4392faa07a191892aa0da963a9764b437017c4aaa3092e6ef372a480527a64cbb6bbdfbe74ed378b55e36442cea2a573926f89c7fd6bafe785271b9b0c1eadb9b7de5b471b366c8c48606a63bc823b1e641b97529121e35e8c41f0efbd75bc1763101445dadfd9b396c5aa71b2f7592c1b35b848d07518b2e2085787b01fe8e84ca8ca49a03822647ff5d01149923b4942b22105769f1517f8427195bf14fce354b2dff002f71802261b090c9ad32100c5c8fe9d4471eacf7c27dcdc352497b40232ad9fc4c5d2c5dcb3ecdfae366bd82369064cd2a4dcbdc7e8cab9f71fa8ca61649b6ebae96dda8fc710203dddf77dea3e5ce8b0aaaa213e39cc461186d5f154036603560343722fc69e449360b05326079e879aa1c14c11335b66a29899c18c0b66accc98335a66663350cc3c31238399a11927669a98c932239b616266899918cc6099099a39624689992466aecc1831233483c40c0c665ee0a196c01ddab8687d184b343d388e6ba12a45d095372de52f57f5b858f618baf2dfd139dda48f9164099cc4454ae3f9799574d554e8cabfd503262bd2934dc5f6f8e82f573918340789e26ca3c31ca973b8b085402b1068abc1a06297c98ae4ff1e929d84947d0b6d5c80498fd530898b34ae20917587475c2c722fc65f0526dd3bc955fef762ec49492d9097e78ab7e3aec73c6663a7262e38bdb8176310fc171b762fc6ffb0ea41f911ab5fa1e38d4f143a16a92a7f2866373974bc80abfc7fc88ea3f0e244e97d80c15d261fd7b156f3da8ce37ddff32d85ae27d848f7c5b2c3d015633c214511ae1f5c8c9081c6650c0cbe70e140572f7c6128c01d5eb7b06e98490534545965c25ffec4cbaa72cfbdb258b5aca333a9e1e601650f2d98ec9a97deaaa1db6f0531b097f5defea1239116d9543292aa72da51284e43a12b2475eca3dc34a9bd245174e5cfdaa1b2720f3fa8fca307b8b33d495ccb5a14ec396fa1d7e8aa9a2fc055c845efc1058b66e9a50d3787eccec38edbb802b750fd07418cfdc77f5e2fec30a12bff1d9b3d65b333a163e3504b32464895c27b3106c152e8a5abfcefc5b86bae607fd2bdf4b2caf01118869f50160b531c77561db1a33206c25b26f1865901c8aedf9ea4b4cf310677477377f7d6d41ba20caccdd6cf06112659997531ab862c1837931193e1834c261343c71682aafcbd4502c59191fdbb0b1590d2aaa8f597232e40a19eedd4806575852ff0b358354eb6d60edf9e643254067ff080e94c4672268d90e9c703484fcf6455e5413786c08d45c8c59d2e98043ba88956f9cfa0488aeca08b6e6434cb72b6acb374777fd9be6575dcba5bb685a71a366a2ec620f82f8a2d93c9889dc2c027f6020683c1ea68dd2dccc2601ef56ce7f80b088ccaa4cd40e01297496b326da71f40609c495bfa78b485c1bc3580ec9d858e3755154fe948a98ab49294eb95327bd7185d55c1a5702bda887a7c814b94c23a27b67b75431d16ba12029b3279f3d3b6a20000c5aa4a886af6e9fba3016232bd10eb3a8549607099b62253b8d1aa6ac5024c6e2dc0d4c59214adf2b7e282d9bab81bd286b4156d5d8636dad0d665a36db48db6d136da46db681b2d5647532c168b6db48d66d240c26b0398b576ad5d6bd7cab34347878e079bba172f17a02b7f1368c0e405c203bed8af9bad0ad8935a6dc8905a04a8a8aa2e6eb5d675984c170441b0eb81490d588d27a635ad69ed9035adac73be5c8a7d8cf4d80ffd1ce956b8a062b2cfe41a9234cb90aaf22337a95020232f74e5bfb324db17625da6d7f11f3f5ef66f4aa989bb4a3aa514abaadc0bc99b1cf9080d4d0d8104d95ca6a7794a671defd4298b5ee41f3f98b342d6ac2a0772d1ade9316b85aefc89ac9035eb78ad694d6b967cc887ac156b5ad39ad6631e8b79cc9a35605e10365ab0fde286cb9fe74da66aeab8cde2d886450e32643298f0f1699f5acd5b24501c312a54d0991415f17cc164d7bc15a6b7a039368dc3c85b3af01adb3ede0f1ebca4ab15c4c0edd342b521e01d19e6a1d6fac88816d536ee2648e39041f67b4352379856f917f9a0a8bbbdc77b8ebe74ed4bad56abc9c87cb553cdab996a3232dfc9fbdca5db719badd564c8504f88a8b0fa845efa25da4d8f143982c4863a5cec9b1b1b35fc4b20184cd22328381f4d6f9fa414a733d92a87228c183c6f3724bdd65a53db97ba2e77478a1c41726fa944edb54ee8593b509fc80d7574808402ac7210a9a3478f6a1cd57055bf0d3d22526132670d072c9628fe8320c6f782a0abb442c7164355fe24501c99ecef38d03189de28d487085780bbbf66f7d4541216abc6e979b469baacce70ba4baea1d740ad28b9705b09edf8609226993c7c3d6a33a9c171f028fec35696e55696326aa82e18638c711d796618ff639ca46db0832178e182c13ea1c155a57bf229aea228c5458a1dfaac673d73d5cc8710b07db263f5797c84d18534f7d4230598ec5807415bf6b7b1cbce692926107a1dd15262244884e278ee54d7753636205d7918632c63087ba6d28d9552cab25740673ca71bfa35808e00cff6f1701f4f67af6d8a53adadd65a6b376b396b3b6bafb5256bdbdde6400411b6733b6b7d8ce9cafb054b73b0299671f6369b19606c28bad841e0eec9d376d6f1b46d2792b792bc754bee55c7d39bfd2407cbfe365ee0ed144126c2907b34b438a5ae4dd9bc007b4d3f99ce5584c94dc6031b9c59c77f0481b74c9e2a0f9a144effbd10ef657e56c7ef65c2ad5655db116d014ff046cbde85e4766e677f2ccba4be14d75dff1104e6327942a17b6bdfde5f92bd9ba231d2793bb7a4927b6d4ff20b9db97f91e58536acc0e4766e671defc51804b7733bb75384daf7c418a8bc7202df2fd1c8eba20fe141029362f609b4cadf0a30b4c853d80224054aa3344aa3342075bc341a8d7645511469404ace87196278e188911c826aa4cbfdf4b16802965937b90a21d7fa367c741716597e72fd1ade727ffb3a1e829abb098fbe0d9092a0c6aa0f6559966559ee68d70d4f3c1173ede00a1e294affd2694ee332f9ef5e9116bcd771930fe66a5e5c743f3212400af09120364c60d2060b26bbac3996c0dd9f8004eebe72c1f5498a03cc3d7591a6f4240d43530ac590c8055ca49105ae2953ee8f8711cecba47873c9015d30f7403c08c5e91ebaaa00ada19140762942975ff3b800774f76b9dd4c8a5c9749317b26029732299247361f3ccf0981c92e9b4a3714a0cef29065062a2450439acc85351f0adc095c4863a4f3a768b24dd1d4d07ee71b5eb08a0916a50e32e0b2c30b4c4b5c9932a44517391c0149a970e3082f79d1a8a0a10b244c20c311488c8610830fb8c8010919b01528305920442c0cda831e80a0a1061dc6fcfce0f2d3e9e7e3caadb4652d99201db91d903a7e1c6da3595aa5d5188d2f0ea801774fda53047a4a2699bad8711c168bf21f624a59870b9575b9de3802f3ec3801bef7f6ed0b048783018018d75114712ddd01b0300d42e90b1e30b86b2eba97de8a3828dcce924c03c4f3bc37bd2daa2af7424babaa2f7c32250a824feef048b5b22c74654f808beaf8858ee25b9a99494aa3f5c8c2961b376c6c7464d2f250d918ca80d0550a63ae82d2badd2dcd165922b7b42a93cd68453597fa2c8bccb35824a42ceeee344bb3344ba3c9645c8df38fa8471030b76d5b97aef28b4b6f0980dedc44719acd1026bb74d164036ce3034cdea0565a7067f2c6660747900c2912048ccaf93542006887da961ca218d3c4352e91b2431459f02007460831e4f2cf7900046ea2a0dcb7f3ea92e29cfe144ef9fee662d0bbb9808b0dc4c5066d40b05596b51abcd2c93c99a6922924a10bdc1ea01f00011131ac3d9d2e9528f84571fa716ce89cae4fa71a356c983546340e2b74d5265dd1b099efc578b3f5cab0e120fbbd1883e0bf586feebdb9b9c92ee527e662d7953c77d249f76edba9c7b8884aa5e02efcb48e38aceeee15e61770d187b8e80ec4453775a94bddd9202a6c1bc7f1f870d16f7448b0b3eddc61a6c0a40dc3d5a8c0a4ad55a22e98b44459940293d541a0ec3487413abf9a8b2ef3ddd676a80ed559dbffc984f6c845b746442eba67bdd8998bbe6d1ce745a009ae373e608b644f17451109c9ce369fd90a62b07480ed913572d1076cbdd822091ce12db4b4d06ef132ec31159682bb6c046098b43318143babb148de7a0253a220f464ebe33f646209da62af241fdb89ab7c24e22aff9f991428375eb293374699bc31956a8a64b132275aa47f10c4d8ce5ce5bf8943f8da1ad706ae9dc91265ffaed40571d1df66fa4d797dc77255318522139812012196c95327f5d7949d7db36e4456ae1b5932c010b8bf376fe1bbe7f729af77e1bfa929388481d25c554ca18e8bfe7646470a05162f31f842c8055d34e1f2b7343ad22d765083910a860853830e5cfeb6888e9406658a305a60f0c416605cfeb64647aac5163a60d912032eb19aebf4f1d8368e231a53729c78a3db5a8fe3386ea3f47bdb38aee21abd6d1cf7422dd4521a8a0d53df86b1348cc39fcdaa9d41c96dad16ba9292dda568a1fd3d7411a28a5ce54bbfc072a1e3386c28aeea97727f3095a4a0c692fbe666ab29e00a6f7d797bd50c509573b1d30526419176e1832642c644ad56abd56ab57b3106c17f5164b1223004ae9149b1dddb36b18e5e7395ffd1c9b158b58b6bcca5b80fd08f8b58a4dd132975535e1bc2356ca322179dca505c72fd2480a2e5ed24ca3e26bcaeeceaeb380492f00331c20457b8a019c96ea05c48c1022e7eb8b0d2030a1660832e38a0c009105ad0f043d18b882b7a7001d10f2ea7d99ec648e7d277ce62dde8f06c9bc974b368e972aa6183dadb7d83ee582cd6dd8eb58f3170e9a5ef30568a9562a5d8edc0a2ee7232d096a581b6b61be87853764ea482a8d48cf62641eb189a010000000000e3140000300c0c860322d18850acee1dc90714800b6e8e46726038964683591403410a21a30c524064000000606466d0003631f6a010394384e25b86018e0cc091010c5ba8b6100c15cf948201435dc1f43b51e981983b208834259ed6ccd45334a3a80d3ee919d49c7243834179303db996210c32377d11208a8a4bb8c0134f47eb8274b30e7efa9ac71259397e6c1558cfc0889170e3d5f1ac20728d58496a8cb71a29ed66eb17626450d863206df13eaa5fb01d5e61bea476a2abc76caf0ebf14fcbc3a3a1fdd4195d91e0bce423da1eb3fb32c2f8ae6be277fe3c10a6f879869150b7a025404c53602b09e91f72992aff8642e5aacbd6539e84e74f9090d3cd767149332dac8f5022f418997d9010a8522e2b3d2c92b335569309b46629c47191cebbc689969b21724d992a629f84d549c69d59c1f4f64455c06713a70226ee57990fe943c2036b8d3cdc409533f9e19843c83940f0d9dea5d405a2f9a7571c7cffec4795d083b8ee899354e2933abc984419544a88a63c811b6457b14dc2692eead1b9fc3328f0ccc1aa982741ea698e40b548cc540d8e23a51d7d754cc840539f77ca956b078f12df349d65ab6539fe398cc510593f3eb69c0a97d7ebd2472ae22f9c663e27e8c572d9535dd2384fa27608c31937bd103727005899fc606ce187c1dce2936c1cbbd236801874918cd14e8c2677858ddbb62fdc7a3e491d821d7eb88c33bc4edfdc30f453a94008c5fd75b0788abb71ec6a528dfea3318ac6c36f917825335eeffdce0cd15c6ced9277a948ff5d2cb3477b68563111209af1ad35b353ae3f8df6a332833dbb6c12d993cb4aff5a16ddfb24f60ac5d1d7f4501611bcae3bcf2fa0a4d1f2f9243f8e201e0afd6dc7f889da3468663b688882303d10c46a7de69d51d9aee8aff352bc8ff33272dd8c4a33d3f268adc5db51241bc678fa6c62cc7f0b7b543b20099e29f0509cbe5cbb4d5c42a600e7b0003dbb29d02760727dfeb3a0fbeb56255f5f8a78e693cac6a0783e7b1ca97611e071c3f146b5a696f64d66ad20455adfc9d8ff157636a9a44328f6adf2a7ad612aeab80a82f1d6b362396f7b35acb154036ceb766b7a2f17d418140fd88e10a8d32212491c97f007fc7d439231a700e377e2590569cbaebb6daa6a69eb7d3f1e690db5b84ffa74d482d8cf2f80ae34a636008b06d10cc3e0bb0876595a4ac56658b5213d5f624c85f151133cdc4788b82c762ea25c88a33c78e18086c6a43db892b1762a4399d7101082ddc62a55306b8ae03f816c33e738847ac72590ae7f750e452d883286221bedf12c4702591525a056efd6a2f75b4242b6dc26e57d70560c46a84fb95cb0163f84723b9012370a2243c2de2b21a96f6280f5a04f68613b755a4222a4e9c9dd67307925754e387b7b52955ab8af6428daa806513fc76eb1c9f009539df00567133b1a3a1acd91a804d47edeaaee5726908816726421ec277dd85a0daf2a83985e7e2d5d88dc82e9d3e6cd17199e9f8146a40a434e268540b2f046ba222a198f1387ab8268d71a979d0c43f48e53bdc2bbfd9ad6f896f18d9a681c3b043717f4b1f767cc0381b9767424317b9dc3cc5276d3cb3432c6f5a07842a056fdae18dd2537a83241a17287092d8e5ad64f094d3ff4490f3852b624732903f4e2f84830ae64ea173cc7050a11241e102308e9c9c299244ab8c0753c446a19b3577db0225ae854a11ebbea9709a01c3cabe1b668ab3aff67edf47217b93467b36bee9a965c1d49941a81b40c0cd649b9f872141e7ebdd3c1c27a4f8eba0a7a7d885453cb83958755d5a67145f3b0474ab03f9a37f4f2ac1ba1e0133fcde0b3e28321e588b0abce68a8795910ab04f4b60b874f06dac00fe1460d1c986179b747fb28ff3fce99ca7220afc77aca41fba4f0d24aee173daf2fc72caf5b9e05cb7a9e29a09c0e6cfc18a2f592fb1acbca6720f99a0e1f87b9138824e5c262beb37ce10d10dd9c016d36668b402658afbb20cce232d2afcfb6f2ac482209a76fc71cacd6478b1e6bb8e1a3ec159d4a7328ee2e16ab2fe6fe664536008e419b979e2999daf19c482308a4638561e281cd960c712ceeb8820e7eb6a4820a1f2ed58d3aac0f71f6be021e346b69b7d3c75e2a8d3b4faf3d17b634a2f77ad5dd1115989c94f1fb5d6d8ca5f6b121eb69db552e4ee8560cc39349a1cb535c139ee8d7bca8c3b5d21325fa17a683c2fb76f97b97b49ffe4e9e72b63a21bcaa34e323d650c04c4980e844a2fbe1441fc2f6d4bd00f1f7d82ab491c3e55f354526d843647b2b96deba21e0dcc5d9a511f01fc20cc27327c7dfff87f487a29bad5cda52a187772ea53428ccc4cf587bdf52b688255683709776cb1af6868240bf61bef1afb4f34a6e61bc08a35bac8aa9ab7dc1040f36482261300d18981a9e30dc628d6cb437d266b0ffa9c1c8dd501aff71ad7ac79b71048ba92f2e5505ce6f5204304494c47fbcbf23a26cce0a4949b9269c3d5b13e724c925adec8b99ad69768a0e060eb975601701a6c88145d63f664848e1a715c200550b3df16b6008ead628c284dab0be043b63b61b3b6978ec04aa22884b84a9810f78a962d823777d70bc75231a4834b1237c6caa03ae40c41b772d4ea4b905227b8c8c46ba1620dd19e58dae79a3cf7030877e154da064f61bc0b6dade9c31b8e427e6a2f88f74a3a033c747829012d94c2c68f1e892eecb33470be1b9f14bd0d3cacd185ba31079e53baeb7f0789dc18d590f055312a6fd884e3ce57f50314ded04708c005e65198e8099fbe1dd5e2d21552ff0d457521aa1fd685aff81ddbae90e615a0561bc39f4e5e100ce87e68c6f6ada16eebc143f637c595805fca98a5c771fe1a227b457a952d39f19b80529250e16954c8d57217179a19c5e5626eeb91aa95ad064597b6d33946c0ea8374d95144b5f3c9a1edbdea8f7dacf9b51670c414ed606a135cd36e4f22b381f4556f52cda5f7e6a7295971b599859752e62d51f9f089276e9fbd743fc18d14dcc21f03c7ec36a2b7449629d5e783789aa5f98464df757a89968206f0683c487621bb078ecd74c7cb486c5940f5266374ddea439a987907c5792159b5347946380af43c9b32e4ac5088560a2f1439ad00f65b5c6d7887b2047eb2fbf87620c4fa9b108bb97cbcaebe5de2e28a0b6cb014b5ff6352ac62873bab98adb9f2b75bc514ac8b5df1da252aa56266efbb2146c781fd0aa408a52d4d50ac90f6763afd8210a47ce38b22e12ec10cbc04fbd3381575db73366a7d737b9bd7f31dbd7884d177b164c36a97cd016e0610efa1f0b8001d2275fd78da922e8134a49de20305f418c2158baae48d1a12213839c027390b630cd5c9d246cdb99c00b783a1d9d754df42e889c54373dbbbac1c75984188211543b0d8f8d1533414107fc5c89920d869433bf7bf9aa2cf42e0e424d4195af2af7b54de8aa0a889ec6cbcb726594da306a4069f9cf735575cba675a0c909a0991de9312f037ef101661b6e844a5b540fcdc5f685b027e62b3c7fdd935b862d4a1c9092d5d5267a462f1b9a3de39ab867af3ee01945261fb259ad5049bd5c661030a58a355730de5364b283a9c31aaa3077d6dd09233574c1a8572252c325a730c7d187643aeb959c2d31870cc20beb7c265139f18a4433015c18a0c9f8a22e62ee20ea315c365962e2b937dbc23cae668431160b072c9306e1f7d82e9e2a14303cf85a94772abc058ebd1de24efc309ca4210c8bf3a135cdd65143e205a5baac50b52faf6215d6440bf47a41cab8ab7b2ac30cbb0a2f5bece503e36a6b24a44648011a421bad19dd48663193bafaa30342ab0409b63c42cb492ef88d7fe0c8e002d8985f9b80ca53aa3884d5aac9692093d20e1fb6c32a4699d43530a06463cb54db1f73836912824bd6395a65fd3fc9fa531aff514f643dafd435d5fb00e0c463077f744e240025144a206b664f101f9b8b2028782e313df64e355cff5f1f18afa5425eb43524e7d471c20a2e59d18f7824a3b69ed5aa9267d4dcaf7bf67e96256cb6996ea8455f3c93bf9b56505bacbfd0b8b5c2fd6594e24b07429ab43204f4d633308b72a87ed929b0aa8b846f1728df13b620308701702ac74ec1d1eee5a3c94e42c7fa8f9f80984e6dbb475bd4f72a913ce2f7b00bb7ccbf82a2acb95cef9597d1ec273164744220e812c2a8aa006c8af3c57f6436c80b45b1d2ebd06179a176a5b44335a2a1abeb67eb1b980995e91f08ad787fc686ea00a69a79185bc8962c2f6a0c9ade0d200339e5491884f16c022f6bd22999eda28dbb6b04dd012236eeb5c21bb6f4f538e2361d40feb3b4eedff5c3ea668f9606aa57dbf14b1e9d60beef38dc43f874083177938cdf0fe6c9f9f69eaae92a629b4489271df058a092d2f5c83cc9823a8e81a6b5ea5ada019f2be3a1ae6a93ff4adfd06e276dbeaf6904e160ae9d7efe72be82466a0faaf1d40c8766d071e2d8332a2d87472d37d8d4b0b97d7258afec31a5424dc2c9e0556cbcba8807c4720925bf3e34b6bff4d90a477c43e7630f6fc9c6424313be152b7798228e919d638f9711a2562faa5f991e0469b449a0fbcb984a5dbf8312186f3734be3e1c5bd51249de78ed7a7202c4662c24c19fc89171c440b83098dc9b9bf1c002e888a750f41a91795434bd09cbb2ff7cbe1f44ba81ffbffa899a186c072d665c9523937ac03a5de10774933b9e63c3a0041f605e40f0e58d18a8c2b37aada4e3c18a780e0e21141a0ad0b385ed0d930c316bda62c244d57c35281bb102faea2f67bb8e184ad7d6a4609f255cf1b5ae910fba1c25e8ab2964faef43f17cec780b30b0df6775fd9080e247544986bc202ac97d52bbab4a95cdcb93a6f5e70be74fa0ece0f18224d688b43da0e0af7dc1d92f93488975913a3db8dbd3d2395f15bbc5b0d5257367217ee4b9dc6ab22186c464a52aa903769ed8f02a433218e7d2ccc853ea94f3b01712d510f917e2f92b1f125f5fe73089c83ffe0e5bebe4c174d35bee1ccff7ba9e4c757bb2e89bbc08c57a91b115e9190f5a083ccd712d6760c1ca840646bee0f658bed5e7eb89823f40ef091d79d54a3f2db3d536a193419cd8b30092aebf50f335d794b6ea099e73db1ba5ef3ea614507c182012106361d673e1af67b3c92394bd5ff190431b873d0c3ef04df0caacfc32fb98d8b900a1987398722b9ba7918e1e32aca3207a6fe5922d7101e407af9f1f289cc3d7a8b759cda0d148533e8677df29214821a83e940aa0544e45d5a1930864d3f1720256becbda1f0f5e6f49eec5da430b7e3861cfd15a3a0c7ef2c4b9f4f77333004516809c354ad168c5df92488b3cd337a6b3633a844164789501900c730617b1d2b9844f56e30cd7aa431dc0cf67555b1dbe03742bb1577a7f68e4c1512f36fdc5d7413970278471de205720389d3675563b4e5fffecaa8ae9bc5d45193914ec0d38debd674dbcb93183378e1aaa6c91ce1b5c727190c5b49da6a3bf2065f773c53f82ae4f0a356362566d16cf9dc7ad3c2d47aa3865954d23468acf4b26bd258d044bf7226300e0c38032c891236a0344ba63804b013279fd5a1b031958703dea36757263a0aff075ee801e51e40d0a761667ab1c7a7bedcb5a5ba6bfa62fecd16bbe6bbf6b16169ffbbb6cc8defbd26f2c1a008bbfa2c79f040b2365f3a3ab459e72fe2ab4a05adffb74f1c12f53e3680c3e022be2c3c40796c15a17a3d8dd6ad4d43b552a391786246f29381159687dd620f81be23ca0ff600aee32d65205bf09a8b47b3faf887e9847f8a4de1d991b1f0f36ca147a1daeb226e20901abf96560ca5cb06c7f133d55b6df2644e562b06f71be8b2c61737815d474d125e5bcd90903eae5a92b55f0090e541c53e65277ad70b4ab169402daba26c40a1fc22216f0283ad2837d8acfa66c12a28b2eada5a0b934fee9526c453c781d919c0eca29e3a0637a16fbd64274adef3baea758d700236ab3814a4fa27cc844bd1c96ecd267e9dbf45d3c2b3c25d4af124e7f5f1f4560e2d5e1bfd36d78fc3da7f471edb496051acb2b7c700df28ca71a37fff9147fe37b3ad649f1d999cec921a50640dda8e6929524a259eab8ad7fa6466cf7e9b00fcc81d839a89b390aa3afadc6fd0084c813c71cf38538beb7ca0edf7cddd308622013c0490a786a5d84118133f43dbc8026578b94a11dd07920ad301952c742d84c2fb525fcde9d7f45400e2569c82a7b49a041fccc451955a8d9fce9dca4a8d2acf2dc484156b1eafbdbad9944990e9b9b9d70ca296d60372fcfcac306e1d7b5686415cb5c7f45a84ee25836bcb400b79889bdd4c8935ab839b85a2a4a783017eb46210cdf551a9d139d4e32c63d4d521e0c8055e7b26cf9b7a3d198eb8bd387427c7495258ef6366a80267f1c655210fde9e7df8f5c0734735fb4fdd29ec7744e92d7ad1cd210c7df2384b0e9751de4f87bde5aad4a0f8fcb626bcf64e2b11e100689500c58e5a523682367a6702691ed4a5f2ede26774695c010a286160b71196368ba1148f695ff0b835a3c76be011cbe22609ff9325f94326f6a00d2778b7faf107d0841ea465a7cb676c6f6546ee403ea0c15642cd43ba3456249653c286e6602f75ca1a648ef6fd1f87f67b9e7a71215e9c22814545b51ef76997e835fc61d75b57e63e0f7b4d382666192cb20b118cb93a74ef964d1c2e90d4de24aca828247b4c86179035354f8b59739fd9d19ad194e36552bece33072d399e71f2295f368e546a9726a563f9d58cebd2c4eadc785d1da15eda03aea796f44ed6a0b7242eb8e5684bd5231b0a6d29a2568a80de1623518e0e2946a5431db8fd1389b83e97eac0b67cfdfbae6b971a71ea2306b3e3d8c8fd247cc55ed3cccada9b7424e3b3ee605c024fa4b38454645330f3d7e78a90a25d1313544100f07b8c82b51f86638bdd8bab83c989140b11c05253ce127a178f9c7a8da41a81def6b0737f0f8187895ed723dc5f5df549d35539a5f043dc9771a720f3c1a52f274426d918aab60887da80f765e2d5373621cdd2bb1f83a930a8cff8601a1f5e6f576b7cc266f3ebf32ea128620c6d9c27e063d4d0708c3a8ac84e7f2e97ae9177ccd866d17310675cb8124aa255eaa262f81b2512530085489a6a411b3fcb41c3f95bdac4645c1f3dffff5afe11cbb4e4f9a977d9de0c9a1cf78e90036efafca4c2a9b6d6095fefea9ea2673eabf82241e282db9f58cf545be7c9503043f59077d72540a2e02cac1d76d8fc3a377c625aed80f9038ad7d078c921f59296c6cf66bd88de52ab6104c86fd6fd314a73043fe10dfa6be271a076894752b5a1eed345f2c054b89b270641ee06ebdcf45f5f3283a6a451cde95bbeded0c0916a75295f1791b57d8e66a71275b8cb9fbe842c9938f52e6b1d261a986fae7dbd979c7031089e6f86737c1c4665746d3d4dda16fb3688a7f99b9660d4a189442595b050932435ae8ab2d3751567b9a6dc3bfc2b18425b1a175af2c12c5eca8fed342f3007203ca41643dc2ca81c95de83a0370fdc78b567892230da37dc82729368973728ae2c259c68cc6ecaef79a84569a004ce503f83b58bf04a942899338be6453a2055c15767add2a2b72eee7b4a67d9b905269f4d9f644a0937a529a16b1d4bca51bdae07800d01f3c763fff58a4ce9aa1948f6779608d2bd5ec3637d822bda87866d9aec1402234c14a2cd262fbbc1cddc1cbfdd3812161e5a9dd6a4286f3c2b8b81ea452eeacb74c4fdd2832ee5df913fbd9015e75e1dd4342b45529b1603a42ef9338034750b64d5e4f8d7265e78eae12c43ab9738f7be08ec2712d7aa67937fcd6fd43207554540b58809f4c4b94b14a5c9138a4bb4c59575502f5c2c64b6c5c22fc4dfe8395e47dacdbb86a3ea75de8c1f1e33cacb45822f3260f7444a71d08d9efed11aac0298209ccb110d83a9b739fd875d3a89e88db40e14f0da3312fb9e3e683d85e1a4173802a760f2575e5468d6e822e31454c8c69a0603d9202f60d433e8734e17dc0e3abfc16bc6e83465f22d3b4a7e1221f609c349d34e2e6462d6bcc12681a0247374ef76cda4980f829edfdc209fd82823be4b0670e9d3d0061c6d728165f9fd524cc4d8144a8c506bb58687234442bf43e04a5d7714eff08af16b363e311968f3ec049c75f16bbe39c3e284b9a0d7548d37de6db690b0bfa6cd30f96b52eaf78510d032e2036058f695cfc1c356d1222d10a5604a4cd33c8db005154cddf93b0df8603aa43b7b437711e3a070890d4c96b928bd8e0207b82bd37f8b5221894ee9fce6fba64ed35b28938e2b1edd54340cce5b11a2866517bd3d8cf7f9dc98dd2b4c1f46f473c1c805d70b463304038ce99141d7da408e067e0f87130070b81e3c03ba4a2c225c2345b4e9d666251292e2589ec020a2e52a32fb5840061b981dce94764e332941323ba757028f1c9a5907199d4016d8ef394b4e5f2f274971833bb1e1d92ad064de39d7eb20a55e849211c70f2ced1cc30d1e1b82b056c1fd2551292e1c665ed84fd6b82728e0ec1b36f4efbdf25f61695f8551f2841850004d8f89d77ba1fc06c62def2ce2672d08f734618e6ee261ebe1658a4ae691f8a5852395efc6b62c7ea2616eb320eb73b7a0ced2c9b3d89d85c290881f130402b0bd5fba5186ba8152b77d8e1e422150392d4f6732284a8b5f3a91ef81e78eb2a2857a9ce66e6ef5a024c102d8fbd0272ea0c528bef0614283ad16990fb40277501edab53576da98af8ac411f360298f1e720d621cdbd8de89b91ebe85755fc151fec29a3a0b788be4af496eb63f3c8fe827c88aea6049e1290e681507e036a3c880d6ee492a853529924c9bc9e5bb812f23a26d1cb9ec439034e3e962c626963813dcbefbe8caeac796995967e69acc90240697468adc42660c74cdd824042554b52a14e91adc36fe179b7a8bb508ce49108dd9bd9fbee77b357a6089cf555b7efa696f6a505743c33925d915065a6420d077e6126400e76838217809eb8eca3ddddafcdd081ec43e8015f5a594809f8667ea256851def5e1de0ef9c6dfb9e044b42a741dcabf2c51c6aae2065474ebcede963aa1e61904e252054ba476366d4bb5b5a22048d0c063236ab815f3b590c6761f1c4db855200f3e8289e8b3bf56705df0d055b66ea6d17a59eda2a87504d931fcd74f29fb04e529aa80616171d764e0cc17f34e43239a286b14811b34338ecd435bf56e975bcaacb126350049eb841b7b9ec6a8dac993fd24f0df1d605041d774f991694d64af3b060cc5f5cde9680399d7a747568b2af74488151784bca15dee80d2794b6a00a7d2e5b87f9beef92087b14c2c7994004729418a6f086f9891e7444a5409d33a3f362bc990dcf1f58e0db06e43d9f841db094278df203f07c3982278902b8cfe0224a3a0bff879a1b5049a10527165c92c192811a8ba1d12035af2f0b69284a135fc86d6b4300cb18b9d6bb8cba462ff6eaf26f8011d11142d19a3f851d1c22f8a4fe5ee17aa60e54555057ba85a7c01a52cb2cbbc0549a464ee6e415420363681d07c850b8bd8658ed1e384e1b2b0ef6ae5206aad279f4738377f2caee9bd974833c0fe238a6f931f3ad1ecbc009c663f82244992120ad1bfb9fcb7d880def77d2220b29c00b2afdb0a3e3a97734281c4a1af67b94f7820a5972856139cd40439f83c01c0b143ded03fdac75da3b7122ffabe9c5d8f84874f6a679ad9664ac1b9cca139e38df59c24b8f2bb425ba3effb62a8cf6eb66c9efa75c816b0aa2f9acd62ab25b0913bff4a5259b5af28e54a9b85e8afedb09d4cc13039700225cd07e5fc22805ef02b639f139842662175b7807a359e924cac6b766239b5d028500a60d55fa4495bf0c3289a800e6c28e9226fde5b1ac707c8a8cdbce8944bcbc8e88f6d1642acd040368d4b5405904c7253595099377b156897956656a09e93f882068900a8344ac82996109b57ad107b09e34144a8b9bf1e5f9105b9ae375714b4264e07e4947a26741d2e045a1f2459961bc5f5c8613e9b02e82797dc31708a5d8e9f97f556c08f7481c5378ddcf7f8a03a2c74e8c67e0e4056fcb7cfd18b134795cd08a094862b82c511672115989d83a87a09256f2216ffb6f7246cba0069c2ebb3eccdf52fdc025e568f57e9a53556c96e9dd3288555cc83f00e29e2e3e189ae6dafc4f43b0d42ed3913dbc31b1a4cc48a82099a55f82c3aa312f15206036122047c3145ea1d4bd48e0f2aa5b1bc5dc4f46b6fc444d98be03b13147ca193accb6f19cf9418ac765b55bc4449766b7b9a8f7f8d8ab53a8b44c3cd3cec215a1dc0caca6f5c40972a3ce1d9100be4b1964f21f9a44c32eb4026126b889a02e763b38214d44af64083ff502a63758040f0d947a2b1a4c28b0d76b7aeac215d7b4a894774086e6e972f5ed7469ffc14d46df4ae75eab3e757ab764d8fd2baec577ad5f120a8b913a05da0a7381ca83ed935669c56da59187fec525d984cc5aea32e0cdce3efd4a47cba84d4f8549c835f9e113a06cfa1c00830418fe338aa0eee21d7544ed8f9949f864721b8b5eca76277acdaec419682c615d332349ba7ae1461e5008d275f0b07e98c28f3f5e4a19d5aae19b7330e7765a8b461c4683ffeb69dbb2130c9271d477d9c3de706c2fff43f8ef5ce89a10285534db12adebae5657859994f1e02bdc8ba5194053767bebc24d0fa9a6a7f980dcbdf4304dc54c6c96deb839c897e12d797b0baee0d8a932d1b0997cc106185cea1e791bad2aad01ba8d768b62c8363e020eee69fdfb05f3f5a854c4e007723bab107b376bc80b1764ee918c962eb0e9a55a30805021947dbf615d0b40b2de1889d4d74e13320ecb216d9b320ca203c78c8d7114b83a9d5cd6ca5be05c1430c5b6c617624f2402e1065b99ca7086305b2194548c22b693c48218874812511b69184f4b61ee3989c8e6a4dc012517d6f0c24d6925c914df186dae4a328903cd4113604907f41288f26296c9cbd1da22354c154fd561cc1744cac2193a46d2bf23de4a1e5d8e9d66082abdcd9f341a1fb9b1348f2115b6c3d7eef2e9ef1429b3ccd412299b714c85493be9cb7fd2fe8aa6431d33f650c32a783802b31690fe900edf394d601d59844961394f14cbbc982de8565ced31971bdb7c18fd5fb84420400513a79ffc7d96aa63323c0ea287a156813f6070f107eb6d8b2ffbaed3e61dc518e9eb9d3b176954eab27c3f1de2dada0f2d9d63b6c242bd8b8256a3a775c9c9718e658895070e0825966bceded23cd973d48ee78375e101148e342ce55bb9e86d83c3f937e7943ebc12488d2d35cc373aa542afeccc6401ca7d7944f009c3484ccb9fd9162ddb8531163892f75e79f37609dbe083740f4309e0204d7b0f12b518c78dca70c95ee00166ffa0974dfa7659eec0db00a9be2871913c087920331ab66f774c2b0fe77c66342ca0aed76e16c54bf35a35e113f8d81e56b383cfd53b0953938194280439aa6d3ccf4f75d7a242762df0f0e81282e5303fd483aa9a58bca40e62754e98ffb69699cd0f0f015ae83947ddaa45b081969fa1f9ccf29701b89a123805849da0c477d4d053a908b12371d557f9adf034cc0a55996025ebbf22ad77d8a8e10817519bccf590658d16f17b736c1631aaa781cf963a77e8ddd88eebc1eb1e9eb1a1e22eee2f638ca9a879e858534bbbdc3210e81afe1afe1379af4dcadd8881f609fc1f99b1a3b714035f48ce44c380a32ea8e0d9605692eea47783dcdcf8fd66eb074179162c78c2309c22d5c0cdee563df3308c8791ca40c952f4a5c683c7ada538fea69c42eea7c7b7bc0e48f881693e61e55803a4d17d79bc71c3da77bde2d4a8b9cf4097d54622bd2e7f5b3e61fb6e20cee6df09925fdcd7754f849cb591fd6d6db0dbf0d11fc1430c606fb17b722f48bf020e6847e64f05869986ce565a3efcb57193fed63e2894114ee41d5773a39e538b3f4b42ec0a943239832b164931f5682c844c310e4cc47d1296547b3230682e8ba5debfb460f7ecfbe39d3182349e60ef6742637eeefe91f6e454c866da1956c8e2741ac7d5c5ad1a56aed346e0746b82464c7bc653e12b83f97693713a5283167e60ee52fa09eb53f9d0b418e81b22e27c1091d7e3a3cf95a998d8f569db6c5aa9bd0f47ff2656770c2836d66cb3c751e9da570ae23994627b63eda8d2e05c3dc96bcafc070c73fb1bbfd24971432f85713a9c23f15e594e83ef3fef52f1bbf225d784799caed23aa7175c6dc561b9a47bb6388e5269deb732477cde72e28a27f94ddf9b6f3f79c808d746eac211693b1a529488743d0ab7728b1460d0843321ccee8a8408f8b67ce529905c7d72f228cff9c22b90202fb3ea5bd43e43cc132d9c32782b26373fb6cc123b86941675b5b51c4ad4d85864141ea071d94d167cb6018b666f33de213fcee9d62767aebb2f6ec2269a3e0d7f411355fe495866a14d81322c3d0e39e60c2e4e6b4e6a522a1a73db60d7530e8bfffd7798c8210d1f7d4f124f408ca9c3f8e1900017d91b0e452bcfe57b88b779515d5e2833c7c6f185880c0dd4aa751468bea065d3562767b6b295f6a6ad292a554ae4bfe8f60670fab69303d71d87af2854cede86d5cdb414bc6235593f985da149883ac41194d5743f280341dcd633c551f92eea95711a5a1ee4734d083f920ece5ee2820e6f932d05d2f74127be781191eea9055658cf4060098ec1d489e6e2b16244c7a2909b0c254e549dc05ebb21efbac081c42abd9377eb0e5cd0d9c426d8574b648b8f070888ef21e1c8f4219f8221e00712705cbd1d79aae5e4585347243ab16e492e3eb5fe3861e365f75469b8139a3f63623bc02719af0a5523794a4fdc9c208718a15fb13ee5e5af11961eeb9433c09aedc8b6af36adfe9b58ea95babb9283b9d6e86d285b0a6c6d0c571b0cb9f75dfa019ea9d9a78ff66cfae1a283987d895cc5b6754301e133379d199d9c21ca297c75d376a3667911d6fcc3ce1e858d15b3f6cadfabfa7fae70a872f3cb6f547478acc78ce7b18ebef8b342d279e766735a82dd6f7561cf22aaca84d541f1e5cff22614a9ddc64cb74992a23ffbeb7a1f699456fc1a7536c537833663170688ccf36ff07fee5c590457c102b01ebaa97eac5bf00b47ca40df3256acbf23a4deb979ccef7bbac555f4df0f1d28115b8a862c094c750b26c8f9e4ce751e0a75d8ace162a367ed0a92015e322988f23c08f9be1b2bff0dea427f73153dcb1e749b2f6b68639205f69d4e85ef03103e0cd9a08b616f4c1b968becd5d9c87b4321f3773075323049b6dea322fe835eaedde7ea2106835d30fe0ca4a4d9db1bfda8a921eaef45fd7da59609d03040bb216ba8dab635e3939f37ef6369abce26aee6bb440da68173cb312edf9642a518a2d165274197082255fb25cc016c72ca0c1696a61c7b5aa64ade48c29c9d2788afeee3e495b37066f79f195153c8ed45f10eb1e33406baeb1c4e4ffeb7dfd93fc18b71d897d23236235a491370f073b56f79bdc540108009268698382f1ff746987925dc2bc2299d2626aa6c78f7373213c50bb28d72b3445322775ca2b223b158758487d7d963f2239958879e46cba3d5a7cdd4c957ecc62f94801b521c2837a6663561947a6285a869bc834db81a2d2b687939680370c3045b7e0fd6e6d61bf43a3df416ae77707d6d85ca2fd47f2ba1611bbf23b3d759d7eb7ee1a8bd450a18e6b2c339a493c4c24f8979c8a4951bc654a2926b351d094da6d6ac1693a0a92cc69aade999ba1afe695b24dd1fcacbb87b357ca6c6f581b1f66fd7358cd49385a9fef13ddec7c010da5b40899e52dece91bd748c32cf50657bba0f51509bff1614861e81fd462b158cef4027d179ac9469b7db07cba71b46ff08cac95993b54ee20641bf423732227fa7aecacaf15431ad8c6c1f6d6193e43f5feb4ef6a5752518e038eb4f1fb95ccc4f101e75dcd33790ad5f26decca6752eaa6bc185e77ba271f5ce0a40e00685b61424d53f7c094c894a88f0408b9fee752fae1872216511811b5c12989af008851ddb853d3335efc0936740d1b41a29537539e27015d46266682ec2ef04816c849b89516c65c750993f43e2d186246f1b4ab7e0838260875a8c8f582029a4e0bab228e614e4368df038c66437802247b044784822718e71f8eb04b6ad0db241737ccda8e549d640bd08caab1138c249546855aa87bdd5ff63ed58634a257eb6eacee71232e61b83b1c6bd78801c812b00439017081aa8b51987c8f603e164184c2a76781162122ea9d991e140912088cb6582505bf7a681061d38464b0ed2b81ffda2510c81eb5d7f6e0bb7e5c587ad14ebb6807e9f8cf3ebd9e54a04f736302b869a927deb921c09a00e5e6e7155902e2ae1adbe465bae4df7b3326d312192f0b7a3df7e71c25aaa2f743dc67838d19a038a762a758a3985f6ced1d9bb93a5964366bc3ae1c7bf08f50f38fcbaa43de2ed3c63d9918d2854e9e5868124a495244666b125465e497ac355349bda7dcaf25603fcccbbbf7e5f06ad254bb555adbbf748a42509c509604501c7b017c9fc28ae755277a43a6e354a9ed4bb54194bd89716aa4b8185a3e83c6ac22d782aea19abeedfaa9b5f4b121074510c9693862adb5f47912d6585605c3a9ada7d9b20362a1c61f27651a83f57a8e188ba6d2b639b28d655094959bdd0f69700a7837b9b3eeb0d25cd40b9496c0f50daf4e0fecdc4867489f2fef97b9a19fc038a1ed2542f4b1d0ef4180d32d63ff251a9b01cfa14fcfa3605b01f60b1b1904521ae422613315b592d264953638bb458ebcb08aa2380d9b833e49d02f45c38582c63578aac16cef93311a0ffa432535ffd573a2350b32b851622b59dc95ae3468181b3538f33d9f84f89799369f796c00c622f741ba65e7a588c600f665a1ac0b719b9010ae9f4e0573f5fe4552698d35c9e6b218aa801ba7ab1873dabadc8fe1e5d33b836ab664ae3459355f0ed013cb7c589e2396b49bdfcd2b84ea2315e0ee98236d5535e2398d2f5ac8e658768b9dbafb754ad06215721b36b6948e7271117188239000773019eb5d9b6e3b0c0c510eda5c3b054f96bde3105577885ed9a92cbe0f7441222b2c48a41c7db24735b423f5a10d015530fb38e935e781afdbd21cddab9b3d6f325a910cbb81767a3c2734abab75d0900da339a63e29875b106d086871b87541c0e29cfdf98b73f8eccf7f614a7397907c2d6a2648fe03e86adcea3031e8804af15b1bc50c6d3075819046a7a1dc83017ec09c01be93e2e68904dd7d688b715175782626546dff7798a77aa6afaf2a08221bd24e834934c1d1f45e5ff406a352a8010dbce47eb9e8fc8f0429ea4d1155cbfba83d8bacd6909a40481d779671effe0a4daa6c34f7fe97013c972d9d223a5db578b245e15565f48055b18fd4c4c284e99d84a1fdee356b30e8399218a596df9044e8a1dd3b12b712f2e26dbad874b1030365060cf32fb0f324725b9ca501a849e75c9675c3943b83ba089d9ffb4c51011b90004cb79e9095454e5aaf764d8f6e5fc4fe5c43f269d9e0cc4fabb44bc33a18045dbda7c7f0e3be710236b1a0dcf880aaf304198d78acd013c40317a5e859161145180a6d5f98e11c1f3655decc11d9e2c208e9fb8299b2941ce8a61be4878f077573cc877b919aa673ea1575016910823c27f886728e98ef7d6c36c3b798ad0e893d8a83a55643c1b043bf8df9ec5f4e131d7381c82d591f462eb472bcd790a8d744bbfcee6d6d8dd3a228eabcd64b78c9514baa16a13e3732d4798ecb4a7e75091a05ddf3be472a45da08490fc9906b3309eb62d417334fb525e003ecffd07621a7214f74782581cf87b529316981c94fbda414fc9a36b7bca98239802743ad34e2202a7631b9f2129e978cdd90ac495ae9da8ce4836ebc9ed274bae4e43a361d92a92719d443c098e803e0e50941778c2b3f564d9bb889450090aace160ede3d20b920447a3929f876096272f6d431c0c9ea1275c8a3a5269aa2348bdc902bef753af74efcf2c937386b3a6b87cc7d6e97a66668b75e1488e335bf486fc6f393973446e209bfafa43f7311fad2dae86d233466834868317bdcab7e9d950e5e002dab148226a2042d3c22c094cd86c8e61490717c76f7e475bbe5355c48d0c99673f4ac2d0b7b61b8befbc84f86605a8d27961c4398d5a7b8da332425abe727c87da15eb720287bea985e0675f71705cfa05fe0d23a9c1356e05497457aa7bc07cf54104a79446d790ab19c086e33b1489ea0862b11d40769e11718ccc0ae70e3f6bd3c63875cf70e74473718ae3fbfaeb70e20504d2df64985a7f9b83affe7fb26b47f2702a4afc734bcc68a985b807e521ebcefcd9fae0421134cce60b0e26e9f54b398f2e681f31a37bcfde297e35d8b316576a983b61b8d527999608b5521bef2102d6cd7896cb161da1d0005ce11b72045701de420f7dbda5fb007184ba52fd4cb4650a1ec8015098c9e73bf89f3e851ffa8a0e19f28ab0ecae7481a9b628710b44a54563ecefcab198dceaceea3cb5212bd596898351f32e02e082b7b064c0b5e809c5b788755c601c972fb82e84bfb47a3e760c79bb2c8722693fdcbc89aa6c61e0fad64241e82f8551d10dec087e683064e628525a312cd3277de3a36d97b47df1db4543de35d396824f1b95ee991430b9cf845f778a9ef8625d551c789190fb76e9a047db0b0bddc93f649d6392f21a5ea4008c73ef3ae9d7afb3757c2e1d6fedb4bbadf3ff7a68f4a543849209a940f6dbebd4141fab3a6bdcd3e62ffe36ee9d142feb2171d024cd64717aabf54ba3c9c5de17c7dcc4b87d6244013489c358383f8a1bdd46702348f41e117837f979f81ce60752e1310398df54baffada2196d9a05cd1057b4dde1062f494a0df9a4b63ca969b26327d386a7171dbdffbcc7f072742bd1c27b237e4bc3f6a91d4c479ead0be281ebcd92dfa59f5a6e46444e502b36e8ba918052aa58aec9beeaeb450ce7c2f252d7c146354a451d9269cb428f83a2777598acd7f225a01721579753835c7634084c01f1893367237e3a93ef9c374b0db259cee34fc121f3a84f2e828e9e4a3948957573b9e184305c3ef0356ef832b8350743fe9ee79af8916bf2b13ebfd4b6d68e9df0a8e72945ea3f57cea35994f5bbc9a92b7dea101b4bd7bab803625006c60945441d1480f1f5c05c77bece42554cf101a3cedbdfe76abe650ffe4e6c124ded88a81911a4ada89d57871a5652711876b3137e109e1f3f0867f684c0b2effee6b552a6c398445650a8ec1a86085dc50303bf2f1b9a2a2c4414e36927d7bbe9df427e28a56d91c49e7d7a6cde767fae5f8848fcc1d3331fc3ddaca22370bf9dcb9b7f054f8aa26635aab826b7a4399bf604e89873ba279512296c0997e3d0a4a48593a355b251376ccf6729d906d1c5f235427cd73fe60bd11649ca8f8619f73acd837e7b77a67d52ddf7688f7daa5870c329b568dc2ba45504ce73f09db7995f6d812e9b0f0d2506f81e3c385e69661c99dbdf571515003e5444a00f176bb0d24d59cf5fa7d21cd054edd72d5a45a6b6ed0a6d1b6d25a2fe9adeb21c26cf82cb365b3c12b670cf34cc814e07bfbe614bb44d692e3245c98c3ef8f697d609c780fdebc8b48fa1850953340dda47b8433f34ca8fbc069d662c6467c5b50f81fd1597848601b192c4e2707c4ed68f792c4904b78b1be828d63ee2364e966d7baa3861a2f8c9a7fdfa2ba4e70228ebdcd521c7ba34e77a7428630c0b7a5f1a5a69967838aa81b4412bbf0cf41233506d28e81be16dda8fc969317a658eac40bf5a99443b9f2f961e92d9c2ad86f11b27e7755c9792fa79c153ed06eb2a6c3de1d135e14d0c2422cb0909baa8c3b9cc2595f229c9be937ffcc92d42790471802686013374785b539e901efba9b14b42540a1f8a07fc9613c7d79c79e1a1f48a0773ce19e2873fb45e64d7e8bef27f1f025f24b1565d24631d2cb4083b7739743f541f64042e98cc02b69af3be51aea2434aa5f4464c6e6408123e5d55f779dc21a9c6d1864c3028a0be1c7e59f0de25883bd82e21ce21e80564699f27121087da5f9dfd1a0eab364215f0606ccb52693564db8cc06dd978d982965f745db5a6267e6873ba90440771cdeea3efc619561d2dd0355e09b120ec4f543a4c48f4b351c9ea0348832a47b9a1fd34ad0ef0803634a06c055f8122050a0a72cafdbd464624a2fdd21ee7487f7f7d7b33a3ee770eb9cd1d506c49ffda3e767b423d09a5a9800675ddf73232a1bfa5d69c036c18858a6df8071a60987149dd5c6dc00f24a557c83e37e7fdd44a26e59184ba96b323900f0b468379646107cd91508027580679894d1be44ec71e9e6539ab792a150b49ee7304dffaca2db9ecb73c909cef590e274adcf43dfc6228e601e9d96b549daac3ae58803bb068c04138bfb38fa9ee4f76aaab73dee5aa3dc2e350e06422c4638c0a5ad0f0f640305c87b663d3a049fc57246f59c3125c1689e548d4c0fc4f9ed91dba86faacd96d843599fb9ad280e90385ec824096a2b07ed24f278e842f91e0488c786a67de97639f58853d794c4db235f10c4c36953fda30ad505330b444f0a7bc49605f08e29bd90959e6070ff6796813838390ca404061cca71301e59f443da9b9febd27796be2039352d72996cbf3f2cf718191f1728e53e3e96644842f29c8953674601f8057c483fd8d7b979d87f0aae471425d4c6baa4e526c4ca5100bcec10f0f6f1dc5defb40fe35e3a1c0d5a717c2255e5401db1026041e939a980807c5f715fb6b8776cbd00beae04674f645529cd83ad432b8a0e557d35a2dff911bcc72cc13fa37b548f2b48d303937877c8f8f2fb7c330e870a5ad0ef1fc12c7d018f7c80fa5b3be3912cfe185d7f9fc340f9e3165661e6dc1e77941ebff7cfd947f1cdbe2bfc5f7742dad4a2ef9292d0b4009ab514150d35e244f076c40875d71d0f100edbf99f23edfd3d7106af70e8a57cfd94f3448e1b249285f2507a276af6464b330f2a1304c5d3441652f0d87c2407ee0bb1a02501fab585609080b7c139ac0fa48e84e3cd0f2177475270b4061c4988d43114ef1e0a47d2ee20ea4f9c66e4fc6977a6559118f5488e7b2d9d0511471107f8955d2061f84772b195a2f67ae55a534b4a54f6a87a15c14dbccef46c355c68227142e64fd60d911d2cd8f94cc35945f22999ffa692b93987dd5867bd30a4d819056921bdbb04d7572fd2869b07ba0dfcc0c9cf5e27c32a41ea75b802cb2d611f4020c144ca5a4aaf5b13946e054065e03e6cbab5bc12b8257f51ce16f90cec492dbe03e0dce8bce8cfb561a5da4d74b9128c84fad80ae20fb8570447dc2c28f9286cbfab7ff32fff47b2c04320b61f615332049d6e7985a54ef069c26ea36f8d985ccedec00cf2943147cbdeba97b488d66ecf1e92f6822e925d2352b83bfb1d0c32daa766f80e89bef6e164eb5860ad09ff0304fb07572fec40cf4cc450e01632dbd620b47f8a74849e5c364f6340065fdec91a83354ea9f25e4163e4bed1c8c14e5189d3d29d9d551447540413b9e5c0830b2780127e9204aec05eaffce723dbfa1444759d533b94a1de2d73c2ac766d2799c6cd89e84cf03f0ac11b22458ae55f4148b124d25162918a946920a45ef882fe8f2789687ebc44364f74f6448cccdd68ccbeb1867f5df39548e384ce8e871620a82dbb73e5a84cd936c1b0386cf900f9380e60f389394deb8c4290d403d2afc3e56274aa579cc00c4957db2b8fe4d256ad62752f065ac0349f84bff8e89e1ef2c370d57dd629b2f9f7c28637a240eb2ef4954d1472b7fd9437dd34448b1c0e13cdcc65f03cca2fe1014fe4695e7293e5a21e8de552866b4335fea6b287b67f6aae2291bc9a566763296eea99f12a304a6cf4cd5b25f220951b3732063578afd9e0b718bc8b16ca6c48ebce21acda81ae180bc7aa524b44fc4a83f35809d61b616724428f9525d80fb832158a89ce5eaa6b271385e533ba75be0a5f17466b8b7583be8746d8ae5615125868e40b548d35af98544a9af03abf839bf5ade4ec5c5e5a81189e2159fca384b5dd596b72a44671c3bd9208e9e84426151273d25b55ecf0cffd09a086a32c77e2127284efbc75b498f88b4edae9d9fe2781382379a051d1398aa0edb31386761a09e81e589e0b72a31134053a82f7856c744c33bfcf5608992300b6384a6cc2065acf0b3b9eece9599637f02cbb9f7146a43a928bcc8cb4a782e0e32a42c4d0ed4c7b088e180a68f63d242118f1c01747334a4caecc0a81da5408091e5f05740364dfdec4558ccf258f1c6dbe620b39bb86dbce91b6bedfe1501adc09f7f36602c640548f636689c1eb34bf685a93d352c8b759763142abfc19ad0c5291ad549b7f04f21084bf4c9b59f11dcdf3cbe30d923534c3ca410ab35fe6cac822819703742d08153111dcb19cc3c5113587f79a471adf2bcde85c1c0b1b8c4a89455e72581420f1f81f6411336664acb0258d86067958ae8d1e1021e4c772234fae18fd883bb13e2e01681a603d88a8338c02693d172e7085b39ca3c45c89973ed69ec6c1f2ea0fea4ca33b77c5617284ff1dcd993edde53b264e72fe3212825c4143399b380881ff0fda2468afd4891098e0451489aa99b4666a60f4b6bc51b1aa128326069de4e818bb3bb450367140bdc56e2e4c883261c77c9a50db79e12963e9603f1b14cf84fe20b08c9825a5e9d7cf7539f9c990dc23a7c1d74f9ed7e42787e14fb941eb85e4a299df357034f643f4b415979bf45af04d9ca756d89fb54edb9a726f245fd949cccac9ae7549953a8aaee6740108cf15d4fafa74e2988866f47ea31e40e30b737103a03d666b08656a814bc82513fa6a0081704d703c617c208e37c2ff7d928088d8ed46a8ebb804bd925382129cfd1994024715bc1174024779940982a62ea2f4b89ffa5f9c218208882982327726d5b06e93829b5a261aa172df10690958940ca4f641d053aa14fb057156b97ab722aef01718c43e898103d6122d514d801632505dc54e8d592b9f8db1a2a1abf85f06791c08e83ba62050fbe1d77ed1f0ce7a79708384bdc04c9430f8bf49a386f10a40fb20d0c4ad5d1e96f93db10bfe62819c9af920adc693b54cd9866abf8be811418e58507b4052c40042a5898bea3cc4926d582945ca88026c165c4654369aa0751c87f1af91dfb71099c08d68997d64179816a4f7ccc0465c4a4db15faf32e2a7117c044cc32390130d062851f7c87727d0f7a53fa40464be9593253f8a676a17c835b19d9d7fe8d29029665e0d22adfdc7ae0687ee4806e934d11aa04e70ee6010c40b4cbc9d25d720e3b2b8cdb12eca063a8efabedd6b90654bc09f96bcdfc2f403594851ed2553636974150d3444b877954cfde87ab0a16e4c2c2f093563240546ad6922c7d5c35d29a0c4ad31ce9f0049cf9514eb120008d4b78b7700ee18c6dd5420965dcb89e307123617929a4e2494a1cddf312fe77a83a480dac4c64531b4d143071e60a731a8a3354118faf93ae324891cab2478743e96dee60b33d19e693c6bf3412cd9122a5a1c8801c91cd13110b84a2ade6b96e540bbb36a7936f01ec5b68a94e857072fcfff114cf7c320c00515a5260bda4b64bb2c82fc0f237ce6c653e8acddadd8cf988025377086461bd77209b510b19c00bf79a1914a3aa60dbb93f06dc8b020ac8cb8bc5ee329a1b9545eb23cbda940a44659c4752a4afce95a36e4d4f891480ac0d3840184d38072da5dafafbdad09802cb85e5195f3cfd62aa50ed907a5c4ab8399d62e73cea7e62c69d4f24951bfe7f3f55e74d48bfa4ab771a1f073c8715242ec21c56e28e423cb124dc130850ddfce6a16266e68e98825130f121ba802769105c0250692850934c44a67ba5ac9519217d5e607434f39df2354799d066311885afc4a300916ad4b702a29450d1d243304070131783dee944d0fa9eb8668b031b9a0e426a05793b4962aa2836b0325a0c1f6190590dfc3375287088821811b33d445402699b41741f790ced47e8b098cc1b196747ad9daeda8480ba6bb9e7c61bc7367683905c95de908f3d3f039ed63bc2ea677c08a7191b06e851a3be2d91b752b453310bf8c222b220347c4553e9a9fba601b15ff14259403c73b386288d42976e3db7adf01bd55ffff591b63e2e3557e41bcca64611dfc9a779b66e96c9043f95c54f99d5e6f8fe217bf5b24cbe4de17056adb9426b90a3aeae7544bb1b2fc98da429e6acf710f853873034ce7385b24226e78691dc8ad05b82e406db765a64cc6bd9a0fe04b599b4702a9617c26e0332c31605ff73f9baf8749a5f6df775f839fb000f83aad7b0f79e266852f5d686873b1ed22ffcb0405e7a5f16ac957b381dce3e5b0be1196ce119d955a5ecec4bfa734a70ebbca8450da99ca3b8f6ceeb5547caef01c52722f9c048a7ab0d02b80926651ae99922f853b8615c6a42828bea8a6e6f0ed1c740317fc6ed28fa63911c105e99227d02a0003f62bb5c4a74f2eb5daed705b5cdfd23b0c7423d096a4b2a7249eecaf20ce26fc3b33514b0a35844c872cf7ae3a6c416a8b6359bb3666373cd47c73a20813a52ed0c954c9ca750b4d4c67bc0130515d9c276ac8af06c3982c4fd327578a8d8b1f67940a7ed272e27059ac6b8748e6dfce9a6f4d705349e9534a7d1c07df42f5540282f0a95a734d6917545c47a38e19a5b285a7dc56d7516b809c54a37499106a8a40e613164058b1f63996b75ee6a219bdbdb18621b3317b53f1b2a752e2e45c408c03a6e6f1df51d3e923560ccf5687cc0748b62250cf27cbdf52307a4026733263003f7ea0b72bc1623f9f902dfd5cbd9963eec155bc50ec503707122e6ae98a2d7d915b6cc4951304fb4965b3e572a0d67025b29aa592fbda60f69d49b2a4e8812c000a80614cf74dce7e8241fa8ffa36fd1d73071469ff63e8dee368a3c67c2b718dcae0431b31d86b8a2864308c4036e0ca489ca49a1589760ef8e714e1d14477f5b61dcbb9b26cb568100e0bba404030e05325cbd24c1e3b6c215dc53953f12250c83e85a23ea40579523fe7dcef9f92cf1f0b137eaae9510922737e504973966a07a75e2638792bc756952a6dee40520b4c1372f8fc50e8424f6f598af687f71fda3ebd885b7ecc6579f23b95475883227f5f16079a74ed7725f071751d4b78f23e58b353996c215344302231bfbb1df3ee257068bea021f5b736386108c6a9ab32d7f407c33a99d3aadd90db5e76d5cec52bd5d8623e61cc3b3436eae731e181c3d7c7c30495aca2dedcfbdaf4b29cab3e622378b6e705182897da60455e5aa297f4e8c42d4c038783fcc59dce7cf4bea2b34afe08a73a7936b574c3fc163a12ace18cd805728ad9b25a9952c3c92546b15e0db3d069cf3de20004db0e4183d28f6434cb930cdd4b48d6c290259f3f748020ebe16a2c0f5ea22736cf6d88523228927d463e8b96745305fff9d27140a2543791185e2d3760ba224b2d44e9cc5b986e0c89ba13b40e28918a13887e10cd6a60b2bf6cec628aeaf834d913fdb46e5aa544fab4d37983b0ebe78047fa72fdc9b3576183b4719e8fa759c2bc3b96ef7401bf47609865afd8dd6415b9fe807ab25b3f7673e223923744de8791f8160a37deffd117353f4c3f60be7f0ad143b08c830f5bb884e58750ed1c5b8404796c2af875b6af2e9a3dd5d415307ed045bb7c56035cb4505b369ae19a9de8e5cb5a5d73990856e3178852c106d064e1a90a353d3f8d279626e2fe73d6b89fc06e34f18e3cbc30de4c43a73b2f59b61985e4b4dc284eca2d4fc2d342276a3b67f7cb991ac884f294d381194fda36c8fa56dba89bdf0b285788e7f37e4b07e826bdee18657f421741f70051d68513b6c8c02db5a7bb6d209577f8f66474a0a7cf6d074b75c74c50cd265a89a4f55052968ff15d8ab3e052ece92f7e6f85a8de0f16a0877c594b7477efe6c08497b4ce16c793b6270d2dc56f3330aa04b40fc9e89ca118fd8b87e50787deac811641f24029c715f5b04608cd596862f9f1174a49885e72d62be839c1a16f48663d83b54efff664c165a8d48d71da6b35a3dc3656260c8029462890538335ec935b6be24e4caacd2af02abd9ac40b75f55e60c7751b5063eb6d8f67ee80b349e172f33a7b6278461dedbd62684ffc44df5c8262505057f406188d6f0a8a77d1b7345764c72652ef1b3d4fd088c3fdde5c1e1ec52ceca17b42f303cf69e5e1cee0bfa785ec563b2597e0ab046f739e24697dd62a412ad19496722a5c99e578a837c7e5a4d71d1601d9bf9253ff1474f33018a0821be617f018a130decd145c38f634fb47a50286a039bd92c22f089054931d35bbb200ca23068666248b47b7ac8f550ae19dd0f8bd3588891df148c4f826d1361882ea798991b67672b6b09d718747450ac47e5850e9d60dc8a3184b22d9fc4460a9e8963a8a40c984bf981c2ccaa4d94905cc49cc16ee31f4aabab96eb337c58939fffb1d7a1db2f49da905178502b44024e4c6ba039e066cb40eb078724f6f5a3bd9b5d54ccd0f6d43ff8806bec576199017bede85021dc6675f5b8e59f5addca896bd58b9e336c35bdb51a08bec05da5520a621c5e6f59470741ce978c6ce1e68013b8925b8c1c258f197b427ddbee353b17e888586a481fdc7f532257a8ed7eda7253ab9108ad42a284eb16578224c191a9395b092db6b93700505ddc52cc22cd85a6002b2489c7701d58a7c321c9fe4481fa8383905168aa72280d926176217ea354fe607c6fe47bf815553ecd6462ffe9ecabbfd87885770db4bd9173208e8396571672c24ae4eb93a2d527005a0aa54990c98833948b637cf1fc521d8d23997d079f2a3b0e7dc325a1068edc4da8d1e0f4ee2a0440dfae1c0c285e57408a5e6ad74d602baff246fe0da40d64a8ae7c893c7a51af874ea9e7f3b695484cfd91fe14bca92720de28dd2fa8061e1c9fa08ad72e5bce0cdb360a6de286401d3a51073b7781ff6cc08462ffeb9e2fc235be2cb7e9e1e4ba1f8f2f2ded1a9336dae7c62d99542c7b0b3df4791163ee0328ec8193f9c33266323aa7e05423be0b0a1062b14618566b102e5b114edc754fbf811f807691acdd9883fda4c050d6365405a0689e2c712d253b26c45403b279a9ffba21000b32c9ead07861531fdb1900281a88bb32bcc449a9e0617a0379ef1e31c1bab4953686c125cf27e8f41b913423a3545ecb4fa00608bd51cc8afc9a657609ebff5d14c0143ceb1564037afb45565233be08667e6deb66bb4621bb4c907ce4c76728cb456153b13d6fc08699497b2e57f1926daaf811d73bc5554c6220c23f0cff8a2406bc851dc3a6b021a256313d738ee24caa2afc34ddbac4c77b14689c587e087ae42d677d37dfcc2ea3c88391caf0907d5ac73667542460a9a558e111c925ddd8a9b437967eeee2d0d56de7d5e3683a3b722a49c0e224244566ae690e083b07dc2e15de479f7093288a4890606e69336d6770b048eecf1bf451e3c4db5674b4cdad9f9463b7a1cd45576b967e7de66f1962357a4c5f8b90c9a3ec82e577e6e78dbb2474dcc8281075ea1dec2f312ea97f5d281baa69bfc08c156c685a894bd71737374daf438ffa1043801632d1a9e6530a988d509e96d2d5f1ab7adf0ebf16def8475748d856a5cc59c4c016fea2ddb848d50200094d62e5e513133707509a48df25f4e797bda01962eac55bcab6d82e39cb3fd7029944415bc2fccb0e95e081e03a8d670873d83a97a92b971412e5282054e0875ce23c34c263518faadc57d65d269da5878ec7e55e95185eedc073408c2a9580a3adcbc36b3ff038c7aed0abffc43fec6a90b34573e0216658cba80f80b37009efa0898651db5fed6f858b0e3a8477ab4050267d60dd069206a6332410a3e8b44296e5a31e91c0fa7f3e288c33e8ea867b3b0022f91a58c3ce555d3966d73e801333f556aa47b6c128d6d0ba9f621d55e442ae80aa96c440bd1628a531b6e8a4212e0364a77b93c4420200725e0b567ca8d0a6a27a17c5ad5acfa5eeed29a077b258b0dec359de5e04521a7c62c760a4e2a0df355bf5d23c5e746340998e1d5858267e12d31a6b0cdf5d03158d5bc2e94ab3020dd7a71101757d40813c916f1e86636e710bac299f53c2f141458ce5748164560e7df233d891f5502a937aa755d293e34a86ed06c6aec9b744a43ead9d7e5595c6d49f3b7d6c1f66104ca9fae5c73bc698c6ca793664239be09cdb62a110293099b08f343b97d57e65157ebd9e494102196dfe36e6132b18b9ec24e32564374b54a42a1d59760b3a4e81f8da134645d761e6108d874b5006d33a385c8628454b1681d596771074c3ed5ce4e96e36bed5676e5748d77766d7a8ecd861b734488e98af0877600325938d4442c42ba2f61cfa515d7c3496ce3e66325e4271ff6a9deaf892a1593eed53cf209c93b20048a4246195bfb2e8a9310cf51447802e204f59b4c2c932df6db24a833d2ca8df387eb7324522aa90e6edac8c9bad56c0cc7b7456b6492b508bec56083d48dac679a640785418f2259b53fd66b810e4e2a4ecd48e85fa92ca2942eacad45cc0142d986e9a44541ca64c2e6b9dd7c9831486e00f08a53ebeed1a0246fcbc2072a90d7505b890246f5025c00c3c87769ef8b464ffe29f2b5603b3fca7de590b28edc9c08993684f63d9b9b0669068022baaffe693cd47fdd9e4f8cb447f24f4ae2cddb1edd40b33cd4fad7709e5370682b1e45b1a5f5535658703f705ee68f91c2ea73e1cc3dff59ab227905f01627c6a8b42abcfe1dce2e44d0db1fa350415168ac8f8c3de625a9c4d176c4c8908b04b84a53f52213a5b2f19fee7c3f91ea112764b0731995a27ed0b3f85173188372b26bfa1e1e7a501a614fd04e06312eb565284f37e64da8eff97d4ce4962d569b678ba074d902e18fdbda336b168f8824dcbf97258a687756f914aa4dd87d318134c165c46346342b338ae25670ac6eb21328c0cf43011b4401b18c020d003bf8ffd85e0a08525f750137730696eeb9416b8345d12deebf066da1b7c9eedb5422879663a3432673529891dab050ebfe98c910644593153e14d0b3d05fdeaea09ee66a3c071ce8a0d4c72a417fb97c0356c6faf7ff90e41bcfc8598f57a55380a2a43c4fb6ef60420c991167d6f2af391878dd289d0525047302b92b2ca577d1d777d176241030e769bb3b2a5716ef98979f089ba39497e4c0739384478ed2a6083dbff8811fc9e251b5b8203ba98c4463ffd05c179b0d755cf6f400e20c5f8a23473cc7d552927cb828c1beaff656cda9d5f043fe68bb41459cc1b0c5f0599c7fdc62f36af76094de3b972673df791f65cd3e04edd475063430c897198988da5d8bc9d4ee24fa3374ca909a3a0681d680982da1c6773e55ece829d8fe8530d681b0252f34be2e8dba4b3c11be7c0f5cb038435e2ad3e0b58da8a3688bdeabf1c88aac3463a3ed7a1d1bcf626de41f3a9940af3155dcb5c0be28bd08de33f84cf8c3a98f705bff619caed335055f25545449a8f7d03bd85d432cb9b9bc6efdaa13cfa5239e87ee5ca0cc9eb2b56f28c458808ea4adf9cbdff63efac331e073915fee6c3a398652fed5873bf67f65e86e0900f9f895205480d8afaba963ae02acacc30308ddff0ffddc0dfb83d9215beebbe686ec489555a2cf66f944e48af29f350e403f21ebd05efe7a147052c6b608cc7fcf5f3b46ec1730051d5d69a5e27820c2dfee06e14f9b2dbe4c9eedd9f07e81519602107062ab0a1d733e4301f985d9b8e4f9c66416fa3d8a4327c61e6377429b04c42895b67640144035c934fb08591366f578088822712287641b342e5037d74668711cd57e42bae184ee8df98ce2a4ac529709d394ee889da6a51ae147ed159cef99bd995462dc99be6fe68c933b45508be26f77aab9c68d42a114db82db50e88d45b5da3385ed30468c62c9996a77c4dbb76b76c0a760f8f2bea2f85410ec40c10f386ba0885a8d579d1a90545c0f910857745d610e0c8940a02cba7f2158df77de7a3c2b59f9985b41a0385b399e2d9699a705c5042445a75e9a4362ce1e8492d938ecd8034e0fff0a0b7c61a6f404a6ae88f788948fe865ae232dc884a2ac7cecba35914e6b0a93a1c03c1a0b945dd17d821a404a24b1cc670390dc613cf2449107302175642f4dcb81a63162afaf08014c8d41895454db078e560ecd8a0d96f170f33efdaa5e2978fc15b98558ed4e385c7a009b8a4e27ed011b8a14e3a4a6491f8467f2d32e34d4c6152e8d87d3c8e26e84dce980ced7aa5672917145cc01b8b9434d0fc8d8a22dae993e5d9dc6d73555d71ef14b4d83713087dc163f496dfec83a0d1e589e82149739a90426a6004a009e2d87d321b934a398c1874c8619d0cdf7cd1cc62ab6990f04179766b519c52a990853ee33140ccda3c99647a62baee4e39da06b020204240d757a6fa7974d1ad514c254b2237f99b0a771fc6979b2fd7be173e4863bb7953856cd6e3f2030a2560e804c7ffafc9520a4c95b50eee0c775ace59ce0de78ee04d0a4d399db735420dd93fa555606e4c8f951fa09114c0ab480218bc54b965e9c1c33cefdb67b3cc869b5b4a8946a8492edc7489f18f84480d7e44202f8841fc57174cad874f7c861bfd44770e515f91088a728c39a39d167a0195f55853420b381b3be64fa03bb70d85d28e575d0bb4ad577f6163c0d2c3788a18caf0433b33f40e3863ac8918f23d1606126f99bd44296aa13987bcbd722424c338283c1b16b84e6a2c2e6cad9142b650878a040614d1806e967537c43706e188f7c0736b5799e5412540c9f2a48c8e15a59acefeb137ab39e86c98db55f2b13bb9e7725c747b66da197cb919255470972dc4d8018e35acbf10a784bd864a64909c0afec9294eca049b021986edc4f4b12ec3982fd96ea83489a9ae18ffb66f7dd16db271b42bcb616708fdaa6099fdda7cc9a77ef9c74ba3137c2121dc56afb1473b18a7b815757d027bdc495b0d644af34fa8d574a8675b89d9d44abcec9e2f1028d45513453985727b6ef76b46d86e18120a1a881220ea8cf2e9e76e0c45affb149fdddad449d9961cb0f6ff1cbcf0e4d7a94fccbea50049e402d36d67ad0ed99f3d03d1787ce754f7c5a828ae1c918028c29729967c581dab8967f637302748144d7a04cb9e58cfda8e3b6b5e5db3629711b5ab4f50e60d3a30c55bdf56e6be472288c7a23780f9049b68faa207d25669f945ff6a7c466fe6bec0204423fb12141ee60abce2728d637d2191cba2d16b441d1afb047045172239073abff99631ac3f485477f904f54286fc6d78e735d3f56b0569b8462eb97097a7c881e2db3021cb5976c4eefa1829e72b253cbe7d8471f105984dc2c95af010f55c378e39ab46c399891c31ded9669a60ba925de52cd51c92d31d3ec91c701cdecc804dcacabb9324e97b77d97e8a8f5c4d68a80561adce2a48afa731eee6b6d7883eaa70c93a3491934dac27ecf352ed1f79da629b992e6f7348bea48eb1a021520753100155f6795e08a79fcdd4c033e1197a6f41c07b94defc53d164c85a6482894a9eb18e989f177832a4ff232d094c289c539dfbb4b038cf202ac2aa7e3c6acb6b1b71100ed64b7818cb7d0edb61dbcf137ba74bcc1bf1244bb7fb7d9f7eb2722d954e4651087d5c8800d20947e8a98bb874f17b6339e7050f47d8acf3e86775e463a03ef8a6eca3d6fb6114d9f7d12df8a2ac9e5ed4fda701177c6e5d6e21c4fe3d17b86c310d1976d50169a06f0daedd488a020d71ee500eeeb6042dbe9865eb6f679ea52c35053b576f7f920b34b062cc5d28044a98e2c5caab72a47776f5dc9f0fa0cd8f63e1671b7c56d97fc14859588bc2ee9a714e76fbfff97e78b45e0a2d5477c06e60bba15dacaf11c6a4fe8aa0f4c4c35cbc485a1a2f4104564c33460bed0e74feab484a8a6183925beb700a948a607a37ac02fb2ce2b77798f60d60ceee29d847c9b4e2a1436e95b64a68edfc84198bab008650624ad3ea3cd76a4685d5ccaea0a0dddc670de74a491760f4223151cbf81da94d8853ead7fa7fd51e1f75901b7a229c86313e5202186061ca2e2b531301a86d9dad2da27cbaba871699cf8830e1d13e851f8d7ed2bc59488fb86bf0ad71c3c84e94b6fc490f283da44742f135f6a7f82dabbd026543eaf6062aad16e86e588ae0ee0ee214b7bf292cd53e4d9dea46f9b0600179180ed4afc81cc0e1074891e1f7bb7390165e0815ffdd1043fa28d75be86e49654597d455c9d5b5b0ec9979d439275882e47d2908b50c478667aa36878a3355ec53c721e054a624bf265392077c90c695001b45660d73d5105eb812744a754e5c537285f596480fcda8a21e0ff9ebb5afbb07adee47bbcbe2d0fafe7f6caecd47987da16533aaba2b0d78ae59c822ce0b1fd9a811668be184c2bd5e32ced635c1b9850aa3419efcd13a01be889ff5c190367400a7b9f87fad29055f185d9e1650e59311ee4078ad3a902f50344dc88b307e83ccff83c488d6fdda13bca97b3ab0b4cc2c9d28fd6309d6202e25db831b0197351a40909f823273b0aea0c77a4fe087a8b44a2797ee098eaf55526b9fd77314035d04e01825640fb1869e2258b00eff3d06e59afb6214f7af2ee5be428816cc343052686c96e4fd9b09d86500f4bb1d6f89649764bc467130562a3aa3d3542ac8b2070b44ad97f7692faf98226943d78e7f73c77a71029cecc6d5453ca7d5b22b7d4b49d06892221f17aa28c714d6a22a83f54bae8882fc19b1b67c0e8bce967d791b44a2c8409ddf74c79f76eae044352e03549d2dfde54b2f8a2e6691ad1304510817ba6208cec7c39d8032115f78983126e932ef46694f182891fa17fc883dd8e212b3faa50117cccec3e945a87b8f2312228600389374fd3efffc1fe3065390269a425104882492b01795f0242065cd73aa75842d65962c9160e5f3e8588973037abafb51c64b34a2630ecc3895235e548f158198a4a9191d6ee5966cb6c82bb3c80a369150d9cf14b94c9b07d1eb7c815f5c03bd84befe83e41de834d00e92074cf16563f7bc6790413b34cd7d25b99c4bc43ccdc41b6cd1820d853d31ef00ac23b7e71ece72e9009aacd9bad49872da052f8c31347a1298f241493cd061c97832addfe5131600c9824f113c7e77f65bf99eebcfee6bf97287ee7e0f076ab8c82144bfedb94e5e12a428291b20826cdc2180b0d820f140942001f449e4623b1e1a9a188d0940f0f376bb73bdf375b2d6404982cc6170f44dc114ed5463e66cef5b3c94d7a08c2236a326f9ea42991438e025350b739bf205bdaaa59b8f0cd4627b0f62eac17c8f89f53d4c11bcafafaed1792c93bf2d8262b17dffc725b85b45b853096b18d0f41175cd95e150f4b5b860df99ddbc99e3da3fdaabf501f02d1ae432ff3f05beb072cf0f55bd66ff571834f949f76573478b02b825a4a24657a92230b4bc35517e1f0a873fe866c74746fe721b2da6fe4048f498b18d548175212dcfda3e00d4977396c382d8672bf7d2e86a1db3872bb32161dc5779036dc34619b94f0dc28bac9cc9974fd0a30b219337f463ec4bf87ecdb86175b1ab3f421696ced4c3140eb2b9670bf4bdcd4ffae4a029fb2de3eff0382eacd1aaa9288d208590c1a7a20e0dd3588e6660cfd652202c02aaecc26d277790aff648a2c218736e7671d7e9a5b8d25c63a9992271f24dc50b302872a388bb21bff3de2d26a6d94e24af487a805cf34386f81a62b1da40047cd86ab5b692918159d978348dd8fceb467c3b80e04726acaececbaef4eefb2295715d5444a94f91e69a5d484609dd82d71ed43fd6d8d1c7b1cac15d8e4834618331c6a211cbf9c40a97e1e777974b14145cb69dda2a5fc020c0c1a9d75e46a3f1d5a503a2dbff2c8c5b9a8858a4ab6e581a3af0076460c78ea1f98bfa9cc35b87275300df51914e201bed51ba5bc86bc810809f895e12199ad32f560d91cab69a7d4e71278f590552e575bd92ec25e5e0389e842e5c76c3326fac018acd9ea58a909b0bb06f9340c5a687cd4e627994f7c86099b339c2e98f12ebca3032a61de7c5720161a3707e5febff7d829baf5dce247001038ee6a3b99aec771f58f621464e8b248cc6d4aea2660ed384ceb4fb177e3700a9ff00a7ad266cfbee4f55a440ffac59f1cb5aea11abb8642a5143a206fb6664d76f74e29c99007ca07c9075e8b0b5f9a84ed37e204bb5d9aa2d7444fa813eac471288bb2a853ca2f9fba531099236ca895a60bef2f3c8df7f7a29671797f9fb9919f2dd3f235de1d0a55f94f111404cdbce27a79fdb95310f7a12b7f9919d8d04d1f1c55ae0f79770a82faeeaeebfeb425617968c10bff03bb5ef89a8716b8f03fb0cb85af6b7ced4323d53ba9e619fb49a352301da4b5286ebae9ef44fe3e3ba5fa7637930dfa7742757777c3dc13ea94e29f8f63fcdc56ae7fe7df291b31b0215bb9fe0c2ec176ac7f623f0df6b8ca9f7b5cd51ca541eff27a8fd394674aa55c0bbaf22dc4f8028cebae84eb6ed2953f0dcc86eee3318f02fac0d2a1737643cde7723c38020b30ea8f8de231accba3ed1c264715cb24fb0c79d997187e98eb610c7f39ae09a42d9681d26c4f22b9b8c870bd0a3694e1faf6b52673e91b608c4b504a29a594524ab54eeb34fa02045feeb7ceb4c322c95dab9aa6b578b344e392bbbb57e79aba6950fb58f43ccf33b9c8604815acd6a75b03ab66439e6067b66da3cca697b52c1608feb3897b838171e6778d3a8bdcdc6fcf5cfdc0b044bc455d45dc9fbc483b5e76d48fb3d68ae24bebb81fdeea3ead55fd4c5816ebc5e398fbbc17ebdc165a525a5286ba90c2120d12a185a34b7f0baf4b3f257d295dd1bfc172116d166f5951146396c891253d07b58cf64ed0d63b6bbf3d2da9a02c859b4aa57174130d64d84dc8f60de9951c9d212b50e8e0b9218f17078a73628f51165a852ddc76d7101838b77f499146015f1e4cd82153b0dbd59ebaa8cb096d11a134db17312a05756206edee282da7e8d54ea4e790f4fcff366e48836cd0408657644715760710ac8983cc50031b53844b39b40c7f0480d9278c8465f63c20a01e1f298d3b194732bc2406a0a719b6917b9efc1dbdc54ea8aa635f5c299ca02a21bcaa8105710cb162b5d4ff0b4ca0b7ea0b04e8f182a365dcd40fc841163cae1eb41f275cdebf54e1a56c681e9a664383ddaad600075e6a30ed4c370495e1fec54a6c746347695f3fbf8e45bc69228aa2289ac4924812abe8994aa4da719b26737ee1596e2f02f4a33e7c3ccce6fe4986d4dfc183d22be814d20f6cb8a37ec7f9a67d0e52edeeee99cb5f3bce66c1a4715e0c97fe462d7d4ab31dc08a0d1976002bb6c655fd3984b0a7f73eec206f711966984d6eff495755b027ef4f1f1fb9ea74950cec4687c82897947ab99ce24b81decd229e39bb23e11a6f317fc8e78f2844c4c8563bb655d2b655129f8a626a4ccfb74d3135def37db5bc4769625ddeee6f49cda476340f7e548ad53c98077fc3ba65e269b1a78c0069558714cbed906136841c7443965dad65fa1ad570834de7bfd50fea6eab2dc37c9d6f4b332ff5ae927e4be1689044227d3a54f1297d314e819c4815267dbc8a8fbbeb50c5a78a4f951fad4d57f50781427465f650aa895cd5321cdca3a76411c30d6a300151b0db87dc1f76d0d93068000b1bf259a58989c4d47bd31ff1def4dd40f1bf31bdf71db9f1bee50b95683068400c6b3ab19832b57beeebffe89a6a617ed41d335bca9e2e88ddd82d51abb53030ffe056965b59965bb995dda414931809433e90ae1bd2d73d301547b848cf24005170dd94beeea1cda323f50e4dccfae92d4aa99fd44fea27d71082f5530d350803d455aa216c48cb1f40284dfdde61bb212d9deb1b82a721dc11ee0edb0dfdf4d3af74dce1d8d0cf6bd4606fe50f36ec601dac65429f753add7a71e6462de3470da6fc8ab69546760bda801a1cc284a51f6ee5d3d063b51b826783477e85bb51c5865b57da12a62ccbb21b3d2b0c215687e1e4883a2d53fbc11a230235a2a7ad81c72166d8252d13feedb0dae44001d397fe88e9e3d7910990619f3553428202d800294ac3ef2e2c2eddc2fe40c0cb7a10df1f3e6e5996e58fb22c8390ac7800cbe4ce72282c96118b4bf8098fa50dd2a3253cb1a318c7621db769ae791091ee4a27ebbe80a17ec3198feb2aa96442e22def93c150a133c82003846172588d99e1f3fab7d8cf101fd8702363b0306f2073b1114c19947d8428aefe1926d8702349d6b16d37b660b71f728b056135fb4292b1addc82a84d007c235bd55fe36483211d3aba92230876480f2cff0b0a3fc5d2c48a231f5ca62e4280cb1f651d1bc7d96d680824bdc56d2449921daaa85b08900d79bc623433c36d9a688351517b579156f1afdb6ca2069b4793892776f0030702ea718265bc71328ee3388ee33896888888885a46aac2cce2f69b6af5568aaafa59fdfd8ff5efebdddd26e9d2a617b4c5376e0d8d82b02528d0aeeaaa6ea93053a865b4efe961a196611c5cd55fadc5c15bdd3733bdd60f477726676ea6666a21e4a41e131359826451397ffe565658d37b1f56927d22ddb76d3eb86d8627ec8e1b546c586fd75aaddd5a93096166719ee7799ee779caaa10b54ee79870e099fe05ec3a379c53e41ebdc1b61d2bec2885ba11b420bafd9b13766293a2095d8dcdf5496f535336ae6a924651dbffe8bb7d26530f716ea2e3e0e8ecb283804e28ca32369d4de7e83ccff3acb5a8a88cf33ccfb22ccbf23c4d2cc8284c7333d9f45675af28de8e886061c3cddccceffb461eda3b3dd44274d538a8a76bf2130763ad51610f7733bd08d67bfc8908038f33be746d7cf4968ba2f597abfc353aecbebc55d28003cb409b50d00674fb7fd45aabc9343719f768b9fd5bd136f3963b0927e79064a9692c01360449922449b2b5a4252d69494b5a92b4acbf5992038b9f8787a79b47085b49980d64b5722cff8e23d81b063c71c3489c510599eba607cfc845fa1e7a4cd941e9aa39b4aaab91532392877fe1f3709adbcf5f087339a7c1ade5841a9d82a80191cbc485ab1fbc341c59ed728e1d500707ec736ebc1a6ced19a7c1d0bb1a356a1961352afc005bb0f523fd0d1f41298284b9ea475da5b550a1e4c2455d50baef3fd1a0a4411bee8fec9643833ff62f931ee84ce145ce158ac881c2912ea8b042117c1883065eb80a50032c5374e0e3032af4502eb69022545e890285122e1da8aadf0a540bb75f90ca01023bd6882449265ba68834b28ce358eb584710c793eaee465860ae586df456ad631deb38b60c00c81d708fd2fff8416fbed9320de31ea5227a2a696330a51684fa1d2ec79e16cf5ea518e4474533cd68a65d9969583ace88f276319992198e065b267351f6322b94865e19ed32ccf09c9c9a539b60b937f9a6b9a3b62547b3a3191534466948ad166b2c368bcd7666dd444c92db7dc7333ae37eec21635c8ac790e5a012f5955243473b57095feebb77781c77bade99c06987cbbd894bb118b41b15f27079e62dd4e763abfa67ef84ae7864a9cc3cdb9a2b9269326ee4b89db179c6d9ce6c562bcf5aa38edac4a0aafe32c6d4cfe8aa1f0249d8901e2db169f0c751b4315372c5b270706620406203086432990c894c2693cdccccccccc8909446e510643219b3cc5bd6ddcaacccbd526bbdc5424256a8e53b5b0a970fdb08b6e5c3a602c609eb2409d4876cc6e9c36ee27dd831108a82158a49724d4657b0b44e7326d98c55fda5fd42cbb1968f49d417d6d3175aef9bbd9c3f133552641d6c1cba92c96432f032fb6baf5d7e7db206fb79466f8ed132e7c85e1b0702e131036744828882dcddfaf8d0a02193c964345edea2f17a551008085222b8340136841256a870f5a005e1838b7443f3e8bf010710501d2278810717369c0152fafa63b04c2693b14057b9cff88ccff80cac1b927d61c3562d869ab1f67017431703188b4482b000cd00e540cdec9de0c37493d6449054eba2fffbe8bcd8b141adb5d65a6437ae56d36c99ef320d7f0fbaaac1190c6e2da13034280208ca6350330bb7df3404748665a120be4c5d261f4da1092b45ae901255ae7bee52461aac81c8241a6ad02422d220835179789678ab1e1d1dfdb3c926897a810df1852c2eb60575f25cbeeaf61bbbf1349a3de1e946cd9dfea5b41b69d78da0f6f987801debcf5fd7956347728f9feeccb023ea64dd48040c4b7242572e86dd4865a96b864562b2efdff221ccf56fcbe996fd5ad66af9b627a86fe3b9fd6d3a9a564ddf5d4e97d3e57439def7fd70157f473f5749cb64df175a98af16295dfeda641ddd3820b1a9b2895af78ce57ddbcb55a66febc699b7766eff06f36d3c994cdec9e47d5d8fe9eb465775399d4e07ebc62e870956f53fd1eda0fb81d60175403d4eb627e3f6c4c9388ea3691cc7d1641237711337711c6d88a4a62105cff3ba3dcff304b0b5bcb0b22386661271b128545623f20f2f359249738dc4412611c80a9222a52ccbb2d6b22ccb31076414a65953e32debd66e9b89a4a606a74ecf1d502cbb6db089ee9be01e4883cd6251b3869a353555789ed74d6d38060af881f3371169b2b2c25257a96c98dc8e09ec9a803fd44e777a7af9fe1d11200d5ec1c270438f5bddc0da2ca15638294b29581cc1094019a84209b1082c3871841457ff83ce721866bae8865a6b2d6d4cd3cbcc02d5f22d29ee41a55853b03600d181a57415f2e8994aec030c8210291b31630202ea71323a19c7711cff0639c23af86b33f1ba2433b31045511445b1566bff5964b140f0ebd349158037a135069608184fe2f6efc082a5465748136cd8a7f779e588fb3c5da42d263378011242084306455582688bc90d96b802501540513ca1c2d5cf3f94a6b9476b81ea9882b6ba0caaea961fbe21ebeb296c6f61431a04435fb9fda2912bd898fb04fbf7bc2d26468031831c40b94218423caefe9ed1161320889ae8d1c288239af0b89a0a59b8ee020782ca2cc8721dd7392ae3ec32faecb3cf3efbecb3cf3e5b14cf9386898ad5a8e1ee30b0175dc178cb9dc779ea0d61503784d186f035d2203ba5350d56312ae29cf416095361dc49f72ab8079007798bd5aa7e96b7cb5844ace81a887b1081d2ccaad9e64b8b9541a6a6838a942ca2b778bac5303b5683714c7bd527d6e7fe10f507a008eb351176cfd92ac621ea1d0d76b709fe583a14c5e786da0e5a6b4169e86d93b69516e336f7b59a5eaf7682b6d80baa6a4a53b25e0f51cfa58d04bdb5f431115de9a0e94c14c5205aa6ab4dbabb77291e41b01c73540bf5f58b741eead241454a1657d82f9e3e72557f0dabb53466886cc8affaddd3aa699ac6a6cdaf3400a7bc5daa87bbf5ab619dc344fd2282198a39e95a509922149482b65454c5423e94002aa84ba16e04ee63d1150b4b1f790bf5580c4055ac80239a2aee10f682c85b281691133991bf5e2dbe9c246bc06046d810dc323ceaffad291c0d0a3fa59552e63fd106ab8b0e4c98ddbf2c965359132caeb3b406a770b5c69ad9a184e5cfc1ebbc063be76e166f572b1625191d14ec520ac9111d54c6060af605a8aa9b4f396260e9a53786debef5d2face354628609aa659639aa62964c409f6f4547b234eb05ca5c1810de9ac877d52adb526c33d05e94f9381ae7a08bd9a0c4f610a2cc4ebcf22a521bdbcff9296e1deb7274da8fbcee9bb4bdd9d2abde7054fa9fb16393406e94a73f7beeeee9a3b13e10cabee5ee3fec1ea11384bbd71a355dd5244097bf20eabfa614e3bdb89f98eefc4a2b021efb4501a7fa682aafa49241797588cae506cb3a4c198ccb60495e16eb0c33d8cb08efe0640b17383d2f08d5819c5fc01abfa896e54a95252a113d3a122168bc562b158cc642a9da4b39e1dcb0845422cd6e2a9091e3c31190f4f4c878787e7092c960383f9a084c1603a3b00f071c2263fe96b8a6049efcf2f01276c0d1aae494557deb671af7107a0ab7e15d5d1af69dba7a260fff69bf7f681604d0d487070ef2ba5230d963a6ed384721821831897706fae9a751c46140e58946a55635289994925529029430d84dbbed3a86b1dd5be7629cd53f49a725e9cc3b006ddb7faeeeeee946912dba07623f3888888344057fd1ab022062d839ae199886a80592b88a2c8a2b7961cf912c6719cce5942695ac81d593071959ef4474a4ffa6ea0f0df90bef4f5cbf4a5af99c8d8455dfcf91924d297de44fad21f217d37508e78ffb9fc11d2d378d27773837a283135a4af0075913e1e7868f993e94bef3d8d2f86bf24d445e3655fc86432f6bea0347de9155d7051178d94bba46c0a0604bd6321cccc0c78fa88cc9048cf030fa7af060e883810d998828d752c26c6be8eb9e83cae237acb613011867cd15bd4455db0dba28bab26f65b4a1c7b2782aafa010080544aa54a400218c0002952c4a3d2e72fd2e7a2f8c2111d889d22963c79f26a32247a13175d74d14592288a2289449224298adeb50b5a60cdb0fa67fa7ff413719f353962b100898f4b69e8654ac62805123254323a2e6955f7cc11cf9225a50d79acd55ab1ab4223b528c6b1c71e7bac71434fd334f60830c58eb00759333350aacdc059ee4600baea4f511dfdacbd927af94b695f8a82adf19b48ddd323a571328ee3c8de9a867abae24f2bb9e8d004d8762f8e1693283178c20f1761883418c3d5a258a488b28508851066cc55c30b27783003d3688c275c2d4a650a1d10d1031e50c1c41357ad3f92a42bc8286ed76a61c67164d53a5ab0b26889963f4093e6d58015f1b1db6988eafa9bf8bf10037706206cf8afdbff2f6fd9878daff265623bda9e069bbb35d65076068b257d1ba74ad7c4a719ac4e83cd2ed2ff2002feffbf8a6eb0a31d494fa2a674dc14219821a6a6e8533b6ab05da09d621869e174f1185f701194041b6aa77606e007ab5dd14eed08883eb5533bc59798a39db4d4ce1f2743c0b0fc4f8a94b64d47473bcff314a7986814b8241ba36510c3f6fff066ea05b7751dad2f4e5830c52e2d1573e4bbb1465d10b9b667e2ea523147b4374d7169cfc4c5a70ab48bfbb6944df5f0c15657f1830d966559d66ecfd2ada260b5ed06eb6827dce8aee3aea1005d010149a54e2552edb84d737ac387009ca0420706d6a23cd6d132dcd30773b0baca2f57895bd8ed4522bc5593605883390dbe1ac479f2129d34e11edc847da0abfe103543c56e1fe7681f8ff54f035df7d56a6d17a50659230a766a45083855b87ae84ca319378b5c466966deb2314d4a3d0836749361de9f185692fe5483f30276a1eaf5a0520eac1ba280c9e52fd977957f5c11da20f7dd6f9f0a4acf297a4bffa3b97a9003e93410cc21baaae1dce4d39500c6183535f815bfe244aec58f9b3fae859b6ebae9a6c9344dd3d4c138d806d3606eba598334e224e301332c93022e9bbc27a5d8554afd505d383fb05ca43f3d6b4179f4736a0121734113103295cb5ed099957b3a4a3900470a442ed3c76715fb51a05d1c8bd521ac7f39ea2be85400a8b1680fae350655d1eb012a5081aae855c0651d36e7495d39fccfeeb908eec130d6d1ecce99b77f7318f7e82258473f9741eb1736115f7693d2cd38ab85796ed398bdebd313edd4c8601a5c581c1a6c2158ec0ba52f327ff197938c5d08162d48f742784b12a4f442d854468905015199e95d269b9d47322a4b8d61cdb04870b059c24308367cb95e173538e3e3071022466a8ed4d0a4ed59831deeb0e14b8327994c266b2b74857342e2ad53cbb4330beef9e9e3d03e4057fd3adc406972288d0c280d57faed4740a9156e3f12253638a44830821b706c68e917f50394867bf077297543ab6c1a441202d661ed0f1d29b1582c169505dcfe9a233c6660352bb870fb24845ffb8e4b851a7ffea3b918fef718fe601aecbf71731cd97f24788ea002137a100b82ab8d7c2822a708a614a46831d959220a578cb2209a5db01598f82208360842c80bd729888dab9a74c7d568ff461024c08ca427dcdb3d755af3062ff2222f9a427b300eeb10a234fcc3ed0f65d8b4376ddd5fcfee86f5360c877bf41125d229c30df9c4394fdfc95feba4a4604f704311168a6ac76ddda609099d4ede693a4b27e93cd115bfa73a6e3bb5d344dda04ee19859144551144551acb68d6cc1be112c16e6aa9d6e1939c38674d6f1e6cff6f289637be989cf264a5f0f2c1714ff70787f2359b0bc82597ee1342864c786ef5f0545d1e4046d4a6bb5f69fdb9a76cf54d20aa5e9178010acea671682590866218ae8000749924c1ac1eec0245deda0c45ee6015de9e85f4db1de9f344dd3680ded8de8a56c8e6a585fccf6a867e2baa1aef2be98ed3bf2a7ef06caf61d393d8afff437de33717d12aa7dfd09f865ff923c204b962c376472d975fa3888cb06818040e9aaa3a12e2d0a5d350c1d52c5ca6c475019ee5908eec140b00ecec1ed23274008a1d50841d26a615abc0356f5331294b9899919af21260589430a922449d244964812594953896403442f5c79e1a88bd90b5770ba987531eb62d6c589e3737ca97a39d8d86930061b3a2cc448006dc0c01bb01d2c1b3b36745836786cc07a1a6cc5f0b900b9942c8ade0280604939d8f8b1f16363c706112ea50d980d2268cb458a8d1862f85c4a57f5d76a6d0c2e45317c366036602ea54b6903e652da80b99433306fcdd880d980c570e2681619269b85a92b011257b583ac6a560f599a542d3cac307d3c40e101f5cd62a7a40454e6868229a0aa7e1d1ea0f0607ad4f3e0fde9516ffa23a7f79e516f7a0ca0bec7c0e9b3697075c57a5f0cbff7d455637a7a8f14608c224874799fe973f51f80ea0017405bdda3db348e3b4a62739ee79944c84892f33c4f10044150f38aa3c660538a427777777777e374e734e871474b447f5289bfbd917b9cc9164ddfcd0d14ef4bcf03cafb6ccb9b3e6a8ac1000fa4377de92aaf05552a954e9ee9eb51d6a746d21ce4add2770ce94bcfc4455d3c146482a158c3487a691974d96c6e3e8fb4231b25e20bb6530671fd6a916c26bbbbb9eeeeeeeeeeeeee16451a50f8f0e1837df8703e3eb0978f2b8870fad4c64ffaad5619d3f33777b7a0d16e4f7aefbba10d967c509ace72994d9a0fdebef33a2556dc07a5e9ebc363baa7b73a73257dbce4659ae6ebf57abd5e4a6a4cd3344d13453d0f86224b84d14701704200a0603baee33aaee3a4700610acc31b8a31e92deee3d78b7c91afd7eb072d351f07700049caba2998a8166eaf82016c4f4ffd6d3f8392adfbedb94f057c9b89c69ce342060c06ebbe61de7ae97e79a1ab7e1a98b0a50f5f5e6aa5f485f42f3058cb0ce05aa16cb2aa4956f5b7192d068c17560bd308d5092b8510255898761500c5f2ab56edd56029e55d7aaa2f41b689d7bb50df04eafd37fe4cd03dbfa7622240ef06ceb0af644b85fedda702be5ba3b8c427a569185d75f7b8aabfd549d026c2dd7cd2604f8f2f584e33c949a03254a8cc1280cc4c20b35652f73f9a075466f3010502e51e37b08e7e1a44c922f285d2300edeea66e289ae7be99ffee99d26c2a7614d040c066b58c31a566a180a75f24c255205c18edb3420446ef011540483b99c35aaa0cd1bec94453904926cd2b2d7ed79cc65d898247cf9fd6ad793401396ecae303fb061ff70d14594cb1befb05dedcbc16bd0bfca55d2979223598695abe4344377f9bdc98ef5cf73434c22499294420a922449d2f74d6a6569082da61976f7ce69c76d9a379348287e2d98fa4d9d7aff90a6b4f2f279f279fb1444060aa6d93e5e374d77f36a2db6a8a55abc1b934c6e29262f4765321928d81495ddee1444060a96de2e656f3d09f167fa2dfddce9b4938017204fe8da4069b803b4e5c1dc4382aafac3b0e1a9ad85f1bc99b73c23a8aadf530246e4559109758b895ae52d16f286ae9067046d795e8f129e8f170509dafa8179cb834255fdde48040a0fa7cba1343c445715cb8b15b683bc5461d9147a1fa22b191335181444a3c8fa949e0f5010b7691eb7695a5996e109d6e534773a2e9e6046deecf4ae7847dc466547eb41d00ebf0e547698ca0e7f3a5019e98ade0cf4d8b0139dd2d4a05857922eafe05aba725a45c8e9a50abb0135a885d016dee3742ae2b67b5560655902951ecc83f9f8903a3b3f9c6f1ab7793eb7dfdf9b79cb8379306f76fb3d9f9609bdb2f4805a26ecc457773d28af0c93de8f1744e26ac76d1eecf66b9e4e8e07eb0111951c8d4a0e951c2a3aec14070d3070749e0d94a66ff76ab0c339c14e4568df89ef899de7a91c1cd8bd3a1cb0cb61fe3a915ba58faff0d989369452da01518ba081bb0e3db2b1a17bd23de95ede3571b16ba291482e2e9dd8757c9eddd99ddd29b64ee9ebbab33bbbb33b592c6f7562279e4602883eddf4e4994aa4960f06e61f04592c98172e359540d6a5ed2acb2253d8faab23c0b022820de94b919819983f257cf9873cadaeb01cfb5216b794b1892a7d1cc4a58fd202f9d1a090336cfdd0078c141f25121c6c963480b6b88a2b289dc2c5171505492191643299acc9ae3d1e946549fd77ecd8b183ae34776d07a589891172fbf6e527fc0e26c1ee28aff02c52b79f81884069989f0a9129d890cb250d76f7dda724cbed9e765ed870c7ed6883582e6ba9b2c77b9cfe30c1b9b0dcc7b1280d5223ff1d3b7e388718ec84dd3e9b068b582cc5924556edb8b21c513f6c37ac972bf7e8d71bb94247a40b7b03e548e94def7d7f0e6f57fbf87b5564f94e200c4b87ae88dd90cec2f82192021692e0530c056adddefb6ea8abbaaffef61d21bde9bb297dd655332c115f3f528cf3e296b88ababd24d6d998b0830d0ae8aa3f09d5714357fc8308105ab936c5c625060063417bda00c8ac7f2de68d99a1c5bcfc79b4f62fe9af3181d0d1394a6293e43ccfd3e63ccff3b459a2ab4e7a8df5e2d5fa5f8176fd70550b99c2d6caf565e3273c5d8b9f740f4e4209baea3edea94b8eead73df73f34ee075ffe12abfa697c30e71d920b0052aa52dd79d9b9b1836327c7c90b338b1ec7b139871f65d939509a961f7475c5863cbe6f77dc72a8aa9fe6b49809aaea97c23e7144152c8f079862e9e5abc4861bc2ff3fd7da719b17dda0e568d50ea1ad0a910885ab5f0034b07c35e7b6eea6d5c2b0f6e2753711bb098e5aaf68a99459ac170f0130b0b2108c918519838041e04219663441e2ad5a2d8ce6f3836bfec2f5e79199f0560dabfc897c58655a41c19ad85bcd6ccc2d3de98b1e2ceec73baef22fc2634316b19842acdcbc0568062807686b47fbbb7ba2d0a8c40db8f5346534320000200023150000200c088582e18050402a9fef561d14800a66804076663a9887a3599ae3480a43c818a38c01030000000666662b0058f10f223dd67e98e2449f7b6071f7f03a8695d07a81232a58f0357aec8188142609a78a7c8126df175d87e08806040f0a9e948e4004474ad8be510a265b7170fb0001d1532acf0c47a98c20f656b2c52dc228b1b19297ba1b0cb5eccb2536c278746e7e878df8f734d85b2e156ad3b127d08cabd8589b92d823c7510e4f87e4c12920b454bb41db49212bf551e509842114f6fd9b6580f17cfca99683c424460532f4c79e42f7314d49727fb73c09ad68f03978299f305a569f417ed3bef428c711bc35ac2454d613cdd14d222ca648e4e565c3cb7eec9ac01595a9bfa5e5b01ae8997957c4c4c0f1fc7504d5359636418fc0bb7aff05559b896eda4a49e5394991810a38fa280b01eb49d7553514135edc1e324b9eca132e8db21e2c7ca31a483a3c5e061c362c73243a31de6729708c7723bc71bedda950a5c29aa9ec110d1c9ae929f29c455e9cea57b1e05ec5d380e09078cb5a648d1206c88cd6b37cc98254a22a5cfc24a9b64f4e86b6e913a87644bd90695535720af361e64d81688aaa451da2befd7791ae029dacc92fae6d7ed26c528cf7a959aac302a772e5a9ff464320a4e0fa0c25a8a53bc996c608a514d4580e9eca76c3661b3305f0c72f7dbbcf6fd6ae90222d0490f4b54fe88aef22810234fb7639a37f885c4d41cc1d0c53ddc50555151571a0f6911c56838314c3684ad2676eff652e4c2bbfb0c690e4732a6e90eedb07c462eb14413d76461cf243a82f5a0af6586ba0d20064dc72f0ed35414f681b77ca7faf624230a85377fe67a969406b8bc7a32b114e7050a877bc1e91c2906405ca7ac22a290dab53e588a52831df9e3bd7cbd5d712928524ebfc9be29afd1c98527dc41fb82d243150f83872ad2ba896d524d4adffafef5bd0a694570745f696712550a4a64291d375a0321cc853646fa17b8e1d13cb59779f4a2f1fb23feeb73f04bf3f64477907414c45dae1217b22fe23dde5e68bd7fb47b5ff0a2234f6a753bba45d47d75102b74617c0525faeab41e8a06431c4f9914ea3fd5980df301a99a0b1ef05da03cb69321b58309307d18b081a1421abd0822251fc80a5a1575c76c062a09f3046bd2a255d42d96dec5015e14d2a0f85801d744f05edc1ca12b2489d9e742d297ba085952f5e313d9c097bf9da7205bdd8b35cbe9e3e5ebb9869cfcf68e6d2362bc02c6a41f44fd4ea5e588c67cde9014929da5bd39bd84bd09886eec2fc905dbeec99c60291aa9a0b176e42bd817bb0480182dcc8ec2f70a960c283dce64079022d63f6925813cf883f9890bb21533265b8fa1e74c96ca24d31886f16edb240420421824a4ad0330943dc653230d6d299be154a378966ddba865743424088f089c8fa1812891adc95880c13571d7c327b80c1dd1ceeace2720e232c508f94f4e69fea8014f6e857220736a6ba80ccd32b86804dd7e7417d76ef0cfd0347d687b3f08ed851730e52115822b598e718f46a83cc61402dd80e43fcd7b90f3eb2ca12baa1209bf6439a37f4b63d941b84b34f28d885450232a94b577c0c9809170201ab5360e70c80bf6f0fc671e6dc35a66cafb4b401f1316480634cce4c45281cda6b8824ee76bf8b9706bd371c99362c1f7923b0f07183b22958b33bb830a028460cb1a88644a2ae2da1183b6d1f80e72f5e4bc2f97d69d1a8cb6ae383fc9c68f340febadcd70a2c64011f267ca09010268e4b07a0cd9b24771ee6aff68c072e6eb60dd6bb428640a53e47f5921242eea446c938538884e9d810d740886fd60513347aa56766e7cf513ffadf75166db7fa3f039fc6a4f7e3add38977d96d52ec7dfe36874a7f43e0271b0e8812f9db3b577afee60d9b0c73b85e624db9639c9a4a2372939c054da5a8f05131ea8515d38902f2b240a6f29b6637f1fbed2ffa424bc0c454163715741c6fb882ccbc170f1f57dee03b00ec155535fe7d4e255ee954469574dd614fd180fe7e9daa7987c2044d682e3a0f7bb5d830bbdae1b42129735944781958c40103081bad6139e6da24529809db07a38388e0c904adf3ac629c4fd3061f36a9a39ba333e09f824fbd67a29f2430ae5dc1a464d57797a2923416551f7770158b9faa853b6a9b972b8f00c70d267085f80317d26dee23b2380d33a055fd923dc6327cfe0a5b708a5281fbc2635a26cd2608b1ff5beb6054f7302eb9a35dc622f500d4b1ce51221aee5df495be90022f319faeacc773d644229af4efca4c0651a9441d34f3387af0c3c47852ea5efc0f08d286465e247f817c02458fd0e781e1ed3da9baad0bc8035627e0bcfcdb905aa999ccb9e600401247ce3086cc34ef49b50dd01824446e2d384c9729e5c2607026d3b6a20d62c11e72ae49c5b5816e86193b8423f59b61f31ed9f5634821b04eb453026701363aed887b0f15b7ac8f6fa57f96aab08ab7c39abe22a6f125c28d29720d5d0f9984f3953d20026d10ebe92f698be73aa13ebb8a1a712353c2739924d86ee97d9f4e6f0a084e2d95018c4cfe059858a8d8441cc3328106317815a4621267c93fc353eb49cdc296462912b01841919dceb1238fd22d6cf5a74895d66afa01efc2e41ec6cb890b029994f6a8b71399d02a4841b834990c7ac7e1c7ebce41899d45e2a71e69bbaea8cdf5e45fdf2758760b661140d2e957d3e5d908e53db012564c94b2b5dc8d6fe05d9b123356441df83f345f0f064fae586279ecdc0a65dee0982a3b024e14b1369be64fe78f66e51b5713bf111fe0341075cd60a0f1fb140868a2ebaca5d503fce335cf88434cf2ba166fc7ae233a7a3900fef5b1c1e5fae4f01c84dc6f7fa05fadc6faaebf40b7f55c4bc7a3cc114f34ca7abd54dac7eeefabfb8be85f247c7ac38bdc573da184ac4c63ceeca91ce5d3087f5020e922b7c18c8e2c943db19c9dfe747c4fea423d489545b38181804e5dc6566a923e6ff062fb62c3ff70e2147b81497ed60fedd2298fd3a63657a5b44add9c6e775820428f9d0f85811f5a6fd6f8d3bc214a362859ea220b4a818f87b1d1ba4259b10754248d56eb9f260323605c58f153ac998db28cdc9dea7093990d3dfe3446129ac586cb70f8f3033dab38cbcf033d37d3449af9816dbc1010d380a4fd9ffb068754742561d4119ccc8da30bda52a850ce11bcf2d320b4911749a3c0a91433d42e38565b6ff5f0dce25a4e4018d7715730a38c860efd743fa2ccd081c313d8cb3913e40bf48ebc18f5da7f3af31be9155c6492570f7c5e5c83616db3990e49d045c0cdfd8a30dd252763b09437cf22c059c55ae0d9287e2de058002828d2b748d18525523d73e20d0673707d46c778cbac94d226e266e19f93bc0b25d89ab8843324b84ffcd2eb6c0ac6f3b139464635c778f8f4a6a47421428a40a01100455e0642f9b95f2a6b7543ab41fe4d095f195b4a58d854f49c1a158ce461f1ee2cce8852eccfd1dd54543c34f7f04519ee4bd5009ceb218df62296702194315df1aee070e1ec57f8168ee506f5a4fea07fb4c7515edd24f997c74745e13cd1c856a3dc117b876a8e78db84b2878bc9101e30fdaada89356a9bff9b89a5dfd6ad7176985c05af8a14fa2e4bd50868c4cca3d4e76a8c0a310a0d2c213c50b63fc7140d585049ef434c6c6bb33ae45a4b88612518eb7e3deeebd204715e94c5719632d997ccf232674874b8f9a25e5f97e76e35d8d9103a72067b2ea5b9001a954298fbe5c7a19b88a9f6941013e1666d01376bb01179eafd4ece73fc7e97ffe022ecba90a3f35d23ab75ef99c9922f18c20a18dcaffd2bb5bc82db1c53a1f5ddff3a725d38f5345e71302d934dc6d7d8651bdc5274fc8ce0d722a3ff5e1686e5b42e80d43719425202551e435bb74ac1df2e609f59bf1cb81bd3db632dc423ca7b2ac11734caaaca228579c19e679cb58fbecd24f6f80adeb4ed6bd2542d4778164d969a26150a262ce6e5672f63933ebe8700e673e717e54ed1e297c5c92a867a825df11ce1c19edcf6df18cfa7df3251dd31d0888ed71d7190eeb75f43de791197c763e450d4847c6058bf45e4fa6cc77e98299c7bf91ba2b8686a830eb2af0159dee783870901b6fa92896ececa328246d76c7aa33a285947d5c41a7fac46cdb2f187c96384c1ea1aa0c4913d7b1b673b2098bb5b14e7d9ac2ba09ae8f452ad0445cf410f92eda28706dbc624a0a64702f8f65a9ed7c709d83ca463dc45dee71166da57ff306780d52b835a44fd267577b9e46142761ddf24ceac0531c85a90961e765465a9265619dbaba03712f0dd2e471cf00ca6ccdf7d9e05db6255b09e84a73ca8cf43e21cedf33c9421ba1a937c7535cb4ecadffba81eec362411dc024fa8a3ea2674e5f9f5071e8db78cb0ac3fd3c6ee3cb28933aec37db9eb255cc7477197a2226523c78e1142d26e56926aa2d311c7a2247b860cd68f2e95d851f079665550cc8260cc5c5a477efdd627f0c73bf0d6368d232e30c2f1ccafdc4a04e77fd61216f08c595ca7e49522a5e324cf390a0317674b4b96e1b1d7d7a5a72c0237f5cb7ec29ada5bf454cfd75bdc684313207aa88e9ec1b1f299aa0b801d6eb4944ca714aaa6e6f0413a970ad6a179c41b25235a4a5db4d3ff6f713d0d77f55ac0ab6c26c79b956a7c38e68d2a95eb31188833a2176d0946dc45af98f16dff795dde055b5566d2c179267826cbb6e31afa6c1e5b97ea90ca88eadfb5b6f34f3ce8d9321e2b946c41820e768e94dcdac6eae30f3f96804c433f7cb3bef14a26c3c113f244825b8cc46b953efe83be20b687eff136b70353193ad718a885152e8884672a062ca64d26044931d8c2c2521796d1bc8e411598a9a8a59559bdc1d26e6f8e928d5936b8573d256528f46fe8ada323b94eaf4460049f2a812fc465ef054619e48d4dfc41866c1add8bea1ea28958a5de4b459a276c31ac5ca8587a8087d3af6efa42981fce94fccfef8b4894152dc2955d8b24dcee91ea88db23bbfbac42e77cef63ebda88c477e383d712c75839be93f5779e1800b03462759e8881395d590042d08bd85124e99a446e85f406376fbe02b0cad5fd721928de3c45ff582f6ffb870924b102f7efa43693c33d67eba7cb9e0dbef034cb1f3fdcf26e90efdcc95c3c6517083951ed17aef267497b5424e2a717d81eb04db17b4cd9e516f81041d5d4018031138b48ff2f49302dd496b00a6923ebca4fddafadffb3364d23262ef7e89016f0d84812cdc6117461d42ad24745c196744553813e30a901826b17bd24624977d925861540e50651e83f878eca5618b1961715b0d5a7ef125e7f7b682146c58e66f071bce1108b7117d71b49c06191d2bd6029941cb45dcc392ae728b1cad65f416866cc08b02cb8e0c9b3edb5aa5c501e57c0737c03638a555f9dfed4f0710e5485c3a71fc332a0a9616bd43d86a490511753f22281c8b0dbd1bec0a16e256ee51fea7a1b6d3b56c2053a970a242a2bfdaacd74ea29da379c0670cc1318e167a92e3877d1aa2c0e0d8fde331c4004513f40fbd00517296d72dc6c5e11b0335f79dd4a2d82ffc45e81fd5520626004bad1200c67a97868e5acd77fc480b38c382a8994683ecd8ea76f8df20c18829f2114cecb2d0f5640128542a0a59bedcd60884b527dc2f8a0c933f1335a4fb4afb90d5d973f2b08d6fa700a100fb6d9409511e191b5f1240dc2a9b8562d5f3703fdfd5c83805bc83b4b47d09df5d191e6c011505a7f87f0deeabfa8dee220ce77e4f5ccb8313131d1a7fa13bd9857653d17504cc2b315e93cfe2c75027c345c5ed2072f8e0a92c00ab21106bcf86a5bb8b8dcd7ce3b0197d240807baff0a36e0119c8623fb0451c8c94e858176c7ea0b9ed66e0cf302960056182d35b38e071a7482d79300a71378365b5044b2052b648cd1e1a8d1742031bd4c810ed0e52776573063e0b75a7e614166a198426342296721435ee63b3a17862d1416b87bf8d10ccc8c960f82b4b0739dbee6bf72f103b7b462b6f4ad3daf6e5ba48895c518000ad190957193b4c9b96005f412f25bb911afcfd4ce0f07af6e1fc697ba9cac0f50f799bfb48629d545c9b0763a8304d9845c6952598561465df87b1b3c535cd67992b02f0b572fcfe440288069a289d93442c13cb1484a2b2f795790e7ba9360825cd440414f6a95efd925f8bf165aa50075f7d6c6c0874a32809d9bd7c97ac7e0b9b4a734d4104c9737c7eea16c7416c77caeaa77d8d40d70a224186b329d04271bf2ae942499be1ef54481d5084263f3e8073863eb83fbeed40f2d75e08afc64b186ebbc37fdccda17eea22c0d58606c25ad19b063c97a49479e91b75c9922bc49515b6421ce926ff84cf0a71989aec1873092c857ef138240055a959ff1b109e452d532970c0c24095215ac92279e7e6002ded6ec9840edc8a0e453af1401619d1db9de263abd2b669f24a9e4f703a8251807281872a3306ed0f76c1a5e6250d25fd8d586ac7f09fe5f4713464699630deb06b85c2e4567f4554cef77237306087c44bab3839aad182e24a05d2effb18a07ffbf9f8952ef04485950bca798658a100ca6cc48a75121791255255c933a260098ad762e4ccce75fa0a12518cb5febe52815fa9e3f2e25144bd126fa23f79d61068d08361bbcaa92abd046a59c5ba2212651cf4983aae493139eff5da8d5f64254fbcfc764c319831814c81b70eab54a73a4de91f0d425316984944ff2ebb42a054de8a8b5cfbb835a8722c7e3cce99ceba06beeaaa6cf542b55bfc6216cb10e7e3c547a7deeec56480806c10d5ce54e536151e4bc82a2644622dd185aa5a8b536d522e0bc54dc4555a0ed94e9c67e14940718bfb4895b3452552ee0249e3d80cfa63ec68789f9371d1b94f7d83b4a50564a6acaeca3b205c05174d21ea1e1d66c0ff133c9ec305c20a920a612966cf5413bc5d98f0cc38bf2fc2c0bed4bbb0ddcc6b5fb4d9e6b01d4e0bad173044995c374f3483b1388f4c973d565b3953ce980ebfbfcda2464af442dbcd76b5cc96836eb2e769c8310e30e625e40c7a422826e982732ef4c53177557e08cea2597f606277c90772be90ab834064e1d9ab8186d877eb028ef2bd547919058fe44267556c3fda4336070d3c1255e4c4994fa622640f7d94c56621c8798a40a9ce76eb9ccb1fdadb21259db1b4160b4195b3e8044fbbc0a08a7ef22cfe5de4df152fc668114d5e2d85278442d3e562ba9c32ca61eef28ee50300a70cd6e22c427ee6577e8f13fc8e59b3bb5d32fa0697bc61cad7295467e1e7625c98a5928146f3cc61440520eb4527f0b8fbedd453da31c2396c9b9c66533f0ed5873b0185df9408f0e8f29d5f397d30eb2335a807abc214ad7d1144709a21e666a4901fec814a17f07e1d981add69a6764b85e3aa365a9d9ec05eaef7a8959d128065f7876ad971ac04e495bdc0f3412bca69f9cbe528c921aaee7f175319f7b6d30f999aabc7cc4a83ce3fd7e61a3b4e312faa00e788d36f172ba2df7148597037a0d861137e1c1e279ae2bf859301699e6fc7ca74264700819734381acbe682134c6a6401b7ea0076a4af261f8aca1cf6b0e66b2767c7ec17e34c1de3dfc02503cb5226743e69901c7c8ce8d87efadf4494723ca1fc13d00559e51e70ba45b41ede1fe1c34736fdf08adb6e43f6f04a3033593101574e4da3c4f9ebd7380b4407924a419039cf0b3bda8224e687c5c458e02bbd2c118d74bd2863f62cc1ade6582a3dc96cc9986a59b2c818b8d98454c60887e5f82d2134b68d367ce30ece4babf67edf45ad2cc9aad12feae951a24df1d7866491fba052ce820dbc0f341656809b98ef79276440b032038cf7a5498a4a7c297a2bd53b4cd6c80444c3323d84c8f251e582be46803b8bfc4604a5d85c60ed7ca3e6375f8bb4e85938bdb7ea5dc9a7e4d6d1a78e9561df2f1f4951c403dd492376f5b303fd2da768c81beaf8c8941d3b08415612a717228a7589bc38ac17e23a5ff64456c0126f4d02a95c58533c1914698a2190b2712c8f001d2b0a5028aa9d21614d90195f3321c938d63e4e68218be9b946978413d9ee50c48b6c358b43d1b9b0a28c7806a20ab29ac0ce974e520734e4fb1233b6b5f748cd77a8206fadce319fdde3e46e921587fc8f7539c2433d5c7820fc8a7ea1ade7797b2d46fc049e76c8c29bf33b8148b1f56856d830e53821527a98e5fa68cf8780e6804cf280053fb3a9fdc1e2fd96230c122c86a83949b7031618aab0869524fe8ad44f76e920a36d5749a9a945873ee5968217de66f3b48f6d3dc9578ba4b4adae29164b5221c185d110b0a9fa6cff54f987a3354878c683726fcb9d0af49ab3250f28a943e3435b42f795a958019c423034352163a35643aceaa95d368af441e71a2f82abb194cee59b397f21ef19ea092c6358576479a543742eff2317e53b60b639a316283aadb5acfa48d9b75aa31d8e576d586dfc79dd33e8b81222303801e3b94f25526c7e66794d1da18ed4277b6b524e3b8d06e5697003bba3341f17a64bf72ba6ead38826300277bb8a652b19116a79df8c97047002d86b801ed97c231af99f65fbe08a073d8bd31b22a6c5cc71379d5e71198a4a6f58ac0bfd8ccf3b32b62541ffadec54631996cf05657dd3ab0e2414ea9199cfa3bcd02264453c68b034371fabb4237d70463c13c57f0a0e0d4d3a1dc1cf3f4065a1fc7ccc766ff22dd0f5e055408a32a78fcc806c71a541986e6d60c8276da1451f50c401630b49c7ab34dcc089ab71aa73032c73f6340a4acd7af3a46c1b99cb44fbebe2c599a91bf19647c39e67a2e02ca9b3e124354214c867d5e42b59615bf56880afdbf070dfdccb6311742e8fe4297c73a21bb59df96603f48decfb06aef9cdacd17ee531c718e808964dc25ef18a4d9195aca336b2d33ed8202fe1bd28ef817ef1819a392cae8c6603f955aef86aa679ebca9c8721e926a8c5afae7f3052b79203a327363d17f268cff329181f5a59b7d70277baee5c52c81048878663035894d7d2f6b89c6608c20e2094e3c9644c3799f2b9b62ccff67123ae5af4e0d8f77e364be051eccf65eb765e95dd5b19924eae16109e1b10932510549844c1dd0bc77aa054dd9095c1a89132f8a246fe67bc1e68648895934b7a9355f268c79de5435d038401341bd3363a2469a302a4ed89bba265e461b76cba56bfcc6a6a67bc2a1946faa83b403508170647acd52c0fa7a63bf744e96553612d2c711a91e2852714ba33cb40b62a08cf4a76d9221b10b7598d8aa18a2a72dae1b93622099a62fc1eb1df21f46ac27b4c3dc542c469ad3cd9a0c989cade7e7e967884b205f22834cf9c60ca4afc1cd641e39556b2387cc6c2bc72799ff37c4a8118e93878081e9ed9750cc1ec89c1ec8bf6728bdff8ac11fce6b46de0b8dcd66af99e06ecc25e6804d1f4d69b36bf8cb8e726648f82c03ee06c1e11a65ec1eca85357cfb0ef8acf58526aa34e33ba7cdfabfcb578025f921eb987584fa546042f2f0f85f6d2df368f2de2cd88f96b0d820ec28de0c40a2c9e7ce654c97827521b0a44ce247bbd687829f3591328f898421110ff2c06278be95e9ee3c79bf8eb725a24f678609cacb3c4d4e98de333f92103521839ba2f65cb99616c00c1e7ba62ba0e6a36a0f888c14c9d5af0c0f6f051da518a3bfa0d5734341fb0dd0b2ac5b06fd00194f624de6018f36152e61792daaeeb1bc1098cd3ee5a8e2ade0e8a77ae6dddacb26812fa30dbf7b0f8212d3f456a12a56cf683f9970a17a5744d60d613187965ebe160971db949124de0e60f07f9bc73440c1d640ed054b9db9c460115f9e1b1ca96d685243c947f98b47d473eb5959c42fa517129f563b07646fa974a7df5c7a04945cfbcd8c596e9602b5c267033cd67bc4b20c2a418f38bf9499da3ae36b2d7578cd97f89386036b297c504fdd35bc0d998c696db31588a7a30df0434d3348b99f178cb952da1b593a5a24b2df430280cddf095c5dcf08f42f8b9b4dbeca4ead8e197d446bd987ea3d34d7ade3ed8351ec9fdcdc17f7bfc1f4c72e5d3e98e8c70e8c1075a84a5ceac828385de6a5c82c1b0b3d66ad6003b7a382550eba41ad34ac02a78fbc1886816839b8700999da24cfea7867fe6d7f98a914080a0e43acc3bb48d6bd70101ee85197b080a1e5eaea74afd9a8e8d0c3eda797bcef2126fd09abcd96767b56e2b44a6013153a17a026192fcc72bcf9249cfa945a5d04dde933341fa597e3e4f65d28b89c9ae8cf50be2dbcca341419e9cd2f8590010346c0b748e9f552c1bc0a9b09209ca262e89c783f3d567288ea45a0695274d799698ff88cca2882e633dd0d54df5c48dd63c6702470606222c2cddcf23e0fb13b79eea64e94c022ebeaf49a808d98a87f197273beebab13350aa59845b4438ed18313854841827fc35253fdeaefab72dd7ea310e0606da2bbcb13920e6c930a9547f6649e3f7aefbaf62f794d00e4015bafba243729a4be506cf36061473482a4805261f66d8701c30346dffa0feff31b808d85e37e7133fcea998481e1e250920253b1ca55c5b931ac4edadca7404c87a5745cf3c0780dfeb01eef4479b05d2b9617e6e4f51d3bc2453b76e978bb46a20d517cbd3e79a2056290c614bce0796d4c1443fc6bac9b062e05abf0454b9dc1a2877ffa79d27ea1c80d87afd47ea65cb9a2594ca200f1dbb3deffcc3e6ddeac84ad93c3ea4541cf9b4bc323b48cfb3b72ae31cf65f92cbfd1784f858480397db7a07e6b6643a2c125d07483fd304f98011664a0aeb7bb589fba2d28487b5172a0c7f70ed46e6a6656c9744305260b053bcd1fc6123297d44cab53ae4e45e76199118f24c3ab371072af0c9255f88dca2acf8e43e4798f49ed7ce85b0cf42963957e4dc5834772e08a50973ec14ca16bbbb4ddc787dbce80713121ab3d2be2ba4034b991ad80845e0532449103f3cf6a17aaebf2c99080dec4c1e3163c4870fb4ae3f56decb493cdade79e3188f96ff2018e87fb63ff5628557264676ea9f64a35bb4071ad99e1137a84be4651693ae30d8b12048d8b095bac7b84aed01f71e46cceb426e147335e77dbe6906724df95d7a20dd5f31371531a14fc221ba90f7dc940658328edd6486a53735a9d8c2f133fc20424fdb639a584aff8e3b2c3e490fcc942c052cab6e33c9467eeb418fe58414804163a41d8042139ccb074a0e3b4cd38630cd68220fff5b5a8cb40e5174b81d8a0295cafeef81484fb68d6e953f31ca018f8644437352a338143d672e3bc63732f4e5391b74291af3e07ff59b88bc984c006e4179fb9b7fb4d640fd0d4cf947aae332d33c1d1d48c7612bf28c256133a0ffed0bf01acb813eed0937d54e6c6ee6505f308d5646ef7b3fb0e0aeea22c5d79b893c2c90e5cd8c8f557df0f07d03d2da4cf04e0a2046c78eff205d33b9b83f28be5ebd3e84c12d55fa3a1e0cf8e26802631b414581404423f255d64c6d05ea8fd7f9f5a6ab47c97f11212c3433c47283d2b00c282d20aacf1d9e1e3c1109d863f7af3bc9193229b93d77001f102cba093541fe7d1960339b9b6c8e4de9b2678c86210bcc857cca19cf4d3aaa0cb64413a3dbffb86191d52a12f8be5fcdb943c242853cea2bd8401f51f00d0187cfafa27a5e0285a4909a251eb33b3dd3a81563ae32d30eb13273944705491b9899b92736de30f3cb81a3aff286fb271c22c01beec7fb948e153f39ee5f1d8b7f5eabf9a0dd08d72820fea645687a4af3e17d2884cadd161134ff5dce828464b6930629d97fc234b59d083311031778fecfd7bb018cca7deab9c1fd18bdf4291c0fef4b868e95a2d1732e08fd6f080c8da768434639fc3d479ff62bd58f80f4f16ba57562b7fa7c5263d9b389b3eee6bc79158c2606a04518879d0ba10f2ff0aace9b2603bce9dd57dbfcec5595a09cf05a4a71826b7e403793fc28351599785c07486c2ea2b349d135b10ea15ad507c733e0340cc93956663582c0efe0fe53e3916703986c1eea750196a7f820d5be1a53c7ff2da107d584d0e0afd8d8e78829f3d7dd7f5255be8c106a1da7e52c2025690b98261381fdbafc943c14cf00984c95ca92fad24750119f76554ff21c4f2029f4358c952301f999337a0e7eadf5183ae0656bb70d46eca8fd0a8a400fd0bcf2cea37e423ec193312de002d2c650926b0ee8360bb50392f9875e1eae53491e7eb0efeea7b053866c9c6d8f1d7bfca26939d584df52db0bd5494cb9eced51ae5cb716ecbbc6ee354db3147e680851565a9d935543db595d5376f2060ce56cca266f8c64436b59965fa9122150526230e29f323d23d455e96a15fdcbc636157fd8da4f5d5f3889eb0b61b6f8040944a35c7e5a79d36c210c82f3390b7fc7c9fcef02c0b2721d012a73fd6a431ef031224f225b4cc0fcdc503981553a9df29c60640a71fb7518ca0d6f33c68684f8f0b01aab57bc4988bd23346f23c090b6a1e02568f36f6fde710fce810efb12526229d0bcc05090f0cafd523ffea6513dfb093a3ab4d0924c92c7f2f7b15b524e24c3a45927c8f410b8b2d1f8a6898a8e3d4bf29236e8bf572cee151cd7217faa75ca062f675e548252b89bedca63a3b794d0f5e876e8251090e899c9766dce5d39a4bdbe2c5ffaa5f01c2b354eb7fbd950414fc114f3864512064943e6f7af553358d938484c9e2de17d91e4b9ca36a2c50123f973312b8e26cf98c6bdc0bac8a6c8978280900117a33b62df800c5011a8162a8ced830322d1a729be5783486228d24a9c0b53c7e474a6b0cf1f391d439cadf022ea4f218f6b08249c7895314e0a7918e0984ecc7dcf965b2883067578ff730e44d389789c26909c61934aff31e41c6b38803ed41580805f51907462bfd1a72de1df85c792b9c18d2cd300fbbe55e494aa588f9d96ac58bb7e8f2cf49c60205ec3f11f08b54b65b4eb74395bff8d13e4f55a05dc63a55f99c72e93dc6c31a40f2bd81b8b5c4bc913508ba15bf81782901835a7f75e2207e46e123aca1531d25a80b0de0d26ba68696506f38c728a163a1ada1da27e6eac1a668d493e9bc1d8622500883f8ef2803d4a9828d3b4ae860d936c55ab9dd06be6a2d23c0d89888ac5a9e0cc872312fc31c0cd62b53c1a65a9b8f447e408afca32dcec2087c0b3dfc55f66f0f62cf917c56305bb7d85b692497183933e639f0ce7afc0ade21debf1034e7a3da7e21a4ed2b5695191b4f92d5e7e3920e8db7310b82ceb6d2892e0140a212a4d9e8881efe6b244318ef270bfd6b8fe5ee8ea00ff8e29889de40ba4bbde9ecf7cf3c90710c3ac21f4c22e11e8c579efc2f143eea1a4f11182f31b3a98cac25474204ef221fe572e53d7b90e3538808c08ab623c8645cd11beae60fcb78f819c3d26f723e688f2816254469307e798e6e43a25b33cfe374709bd00770e537991c9cb108905be6d102ebc16dd6a6b313d9c0fb4ce657769efad176d93b6b51909188034e3d0c61af0be759ac95055450a24e7e0453a8182f7008aef03140a5b1af381c6d79b7bdbecbc94af9babe765d36064f5caf325c4e8397c78919aa8eee4cdeeeb20ecfda2f7fe0903e6e50c398bb0f88883bb687d67a5a56990f61b04d3a4c7d249830369c5cf0327cd60dd9af4c10baaf6dc1b23e644ddf57501ef3ff42cf6c1c76a8ea707825172fa07b5bb70e781bfb1173d1181b38a2c3bec7ed9cb48cc5e0068f632169d4f2a0e17213640c335fb337c4e48d6b663df23b5ba010102e3ff4639e023022ffe8ca764f507bb77f9c10c7c7c2904ee7700ad2b8f630b60f8e9c597bf22ed05f4018e6b543df5381bcc667e39bd95ab7a52b1de3ccfe72e848ce47d4a134b7d25351dce1543cd1dc64b164791f36a57f8fa729eae74ec92f7122d0a6724bd4d00f6933c14ecd09f754c0eb607ddde6589352e98e91820c33bf23bb62c00e4a7f4fa555a5cbb6c41120bde0576ea834161b709b3ccba211eec3695dbf0452c9798ae7831af66f74c7cf338ff479dc4c083051ae71e7dc09a58de925dea572bcfbc44945c48edf3e93ad61ebf5dd955cd110f178d94069641d3c2eb36ae0562c17857024c5a538e847655ef4f97f9f21ee279313726fc35a3828ef033a911330374881081d1fe6e460c8198ddd736dd77b4b3334f56dad24e733f273ae1dc76f1d3811016aa5c237b9d89a8d04751e5ae7b0a074c954ba7436950255cc61a6d94629c2a28c60e0fc25a8f2d25c9e4873f7e04308f453367ff2c4aebd6ea9dd638f66cd6c3e38f1fa6a551cfca902b2d834c7d71d46072cac825170f33c9a33fa2e947133f91ef0e1e5e649cf780afe2711d3d6155228378e5f9dcd167ad0764e64c76d09e6380b6331ca1e80a70826470cd7d67d39bd03276c3243dffcec68632c0d284e7d1115dc5fe0375a284bfc8715c900b8298ea5e2853793df3009514536bb330b3b10055a359b0ce1e9355ecb00fc9c45cdcaec6c2b902b72d30243e9eaa1911a771728bc2f28d611d7f0124058ed8220b49eac68a1e8c349cd36636467145970cbe73b7f76f04900f378ba0a45d4df97217a5f2cad04e9d37d7459de433160d5a833a367e8e4c0739c7f9b4452653ba1053c85b39f161ce49ab9ce4a123bb2fc9bbc276c662dfa01f166e26b27a47737e749a24c633670e8ba2cd23250d5d78042ecad0043c95bac79e6751a9d94792ac42da17240bd2e3937324e8656724832bfe3fd698bd4a02dbedba012396405af45ded6afc8b9b821b24387d8c345e4137a7d490ba529615cc4687999ec4cb5b3180772a1660c3001c77b934c40c694c9c92b2cb69e644d2b8723418629bcc8ca15fe028465e187a537974f062627d36fa782b436ac332b6c4f12102e8b9658cc5f83775e41ca4b37019128b7082016e8597c0861c2a35c8bfa34704f63b32a9f554c17b51e32e55d2394c5d8986ef84af1fcb59717703585df88130bba84117a66180c46089b82e15227d19cf4e2a9b3108e221f2451752de78d25b09d801fea4d1ce942fff70a7bdfc04809cd8ffe82694eee4c44c25e5e6791cdb2d630411111e7acc4ed27e758bd5d0560370f6c1fd549a6d17a6cedcc0382378e1435a5c6d32f297b796a7cc9b4544129c7c0ba4c9281af142dcc9da9bb961ab9e4b9742e6f5f200883eb23292299bd9c9b55cb8362e78cdf0b3ee38cbd103dbbdbea81ff7f0c96d0873fae8580a8b06d117ea8246b42525004c3da31e865e38c4ee852392d53922e781300204331b05fb0aa65c69efef9ac5d2a2ba4a2f2aa5315a886091b862cd87e93db55a5ae6ba1cbcd952c03098980d58b4646ce374c195aa78818479b1be970e0ffd92bc65798220f919693589306bad4910da9f211b6c3c237e76a6537d6dca3dc09340e813e10c1a4f1cf229a796b82da82424ddcdbd8a1a550d8e368576374e83c087353f6b66bb6ce8ed65a0e28bab7d84ae2560a2b3840bec6060334a40ae8a56eebb8c2e36049f7974942295547a0b0deddb0c6d9d5b1dbc24a5eea77e1f9d0f01f481f5c4bcd263715e7eb924bf67ef188a7b6ce053a0d3e77bf9c1af51ebb4a531f5834cbb41378c64bcb714fd4fbc3e8f8a704fb07e73facaad0853cfd625352766061ac30ab1677618a475d8b491f85110e62a52953c6ace116504a871c565d1c629fba740ead632b8a5f322053542856776801052c74646b324d15c808aba1e074a4acaee282a81bd02dd5473b0fd9f8be078c2eae992e17581668b94903e820ee422c2b6f0978723f0d76b81f4261c4b0b3f691eefcb36fc2d0b6b674c4af3a8550fb639bbf24ed7965a8d8b8aa708646b252cec2fbda5c04b343b058deb641fa453392fd8b7cef0491530add69fd7e4ff6e568312d8d577d96ddcbe6318510dc7892fac8069b5483d89e70b4c8e15ce7c017cc25fb9063d8ae424ebb19e6d138ef5306e26c79d10bc0cc0f8f9cedf4b2f0a06f156b202edc5a8b0e1c11a1e976f50ca4338615db265be67947d3f0cc6102eeecc11e9539854fcec7feef7cb1efbbd6b71f304d1d3af421b2f8a93d067630e33f12b6fd8087315ef6cd37b8422be5fd2029221b1319bea04483316ba1d8442d6a850a9b08a85fd83d506842447b2308df9581e18565768b29530bc3f04ba8ddc11d0916db073a4213a086972a99eeded0890be92ced448cf839c3b9fb747447994c00abbcead882a527cfe67957cfceb6b0eda1686ce799f64f1aa9369efb221c5fe2deda46d95ae18785ada82fc748b588963873405d74e12a07bb895df17eb0320c04d4eec5016c4c88c0cbb9ae7f69f64239a1fc8d04b8e6b3588b408c9363b83ffc1748bd96d41c098e6b284a5c98a9d2116d38e51ab12fd9f19b2b423f759808637db2c1b70cfb9493c16191ac965ea20088b0f76646441d2f461952f91902392416d72fed100898b38c81315e3c6d8cc02409956080ae50263f2906d0aeebe9865f1d4099731d7f51847d5f5e65ff51b8556ffae9136c5ac7dda60cefcf748c1a6241303d843539e2c14a2eb54d34c7d9225aa7fd9b9b2423bb2d365fda6793e849d8293a95f70cc42e9177c09c61c184aadada8dc1832b38bd26e6cd1862d124a272802145e684bdd6f6e7b4f3e05361cb9f701d3e6f787a8402fec807632b3915c1f8a9941f7764c4c7ce6570dc42d649efc2dc7dece89adb329a68e4c3d1d6f231c8223d3d858791f2d036da8cd7076faed5988bb6aa219c42141c5d88839a0ab784a29da6b2a09fab6a3f9489484ea98b789668abe1ca444eee0c8baa88b07088047b0dd91219ed0110fef53ddd1b07966d1ac78dc4dcc9fbdc9af4ca9237a9e0f8a789c4ee5c4aea326782a43dca6e45201b7783bd461926d33e55481934a3937dc4f4c80f5c9ea0dbcc8490a4031879fca9d2c1f98d926142eb4b626fab293112b877efb2e0b25f6128fccdc68fbb2a318044466fca377ebe7616d9d3672732b5fef7954d7f7d22b8d5fe1099f86f3ca3ea63fe1033455fb4f8176c287dd3f2a86bb62c8222c5632bdf367578947384bc5734d6269844659feb450819d18a9e3536748b309458da74d219f8f17ad8393d1bff49b4af8feb0038495706a349f477dd510c5dc009ec795627e7f7b7ca8dda1444b6cdd75aacb0d4c575d90950fe4d61f016158a89c33f4479e6ad6f7cc13c56a8fa36d727c974f2f384d768d63d11f5dd9caeeb15eed18adb2c7f54a864b57f87f09797dcc93b02a5353db4d9175029c86dc0a23e08d626e461a6f0cf1cbf81933e4582da424cee3229f58a94ecdbbef161131028c20f12304dab90c6084ec9cca7681bde5bdd291efbcf86429bd588bb4808be88477f57fe3bb5683fa5d5b1e7fd72b1b3b90d7e8dbc4bfd6ad3717779164d0c63b8e1d7a7b564faaea233ba52e8ad780303bff5b35c52ae0507ef78634712e2d26a8955efbc8d68b2ce7f8ce229f09a1e8932ece34dc96050621fe0fb873b8a925ccb0dab669bb97d1d222961a0771339d35d3bac316b6847399d3e8555054a86f6807159286fc03869dd8976045743e740aca6f4bd827f89d713badb4640675d3e33c4d2b0c848e1d59c58b982de0cd4e1d6764af36efa1acb3531b02c378303517ad2df66a2c5492b6c6db633a7df6386911463366ee230bd5a58537e5a55fcae273c1ec8a82190b75668a61147781cf52cb862a4e3e6ae2518b4657add1e84a494ccdf850d6b2bdc3cf59df301b58d23c30469bb560592d8d778dec4b6b1f1a61c6238c6445dd13d83b573b86cbbe0bfaf78d36b4ee154e5147a9913b8696744a96289d8504c46d55d36b6aaef52e2537de2ceca73ed0f6a3dd20a41e7c0c530fbc2c09c3f7a3b5d148ccf116cb9438d10ae5a975fdfe2874d7f5c4d5e2a0c747f069ed4d50b37e9c3df0b1d90a1bb770f46648edc596147b48637ad443c39a9ed74718955f63dafb40c9a9fd9a34dd5a5e0c42b5f0b0623289e9bd94faa963c6b3a4900af49f7eea11c18b6c8fd8e4b346893c711d74022b113ddfb669d03c91d3c6899b0696baae4bbed66bd75ea932119a456564e1b94f6d720a21a7be6a9ec03c20e8c4eb259a9bf62d3c57f567916cc434e495e232d4d06a761e176ae59774461c97b6d8e6fa80e7c223a52dd8fde66d5eb071819492964cb52af99d010df4ed7ced35cb1a85d6741b2b78085bbb8d1580a4e42f568148b320ae4ce271c48a5fce63d4f63ed31922f8b5c779bb2390eb79fb4ef7a1e4fd3fa224dcbc31351627c736495840c43541e36eca81ffdc2063a75afbbaee7481eca4faa7c51895173cfaf41a0299e5c51395f95b144fe4101688e5783c383b93aa020caa8c0f4c3272b577222f3856fb4dc4460b9082ce79ed1133c7e426c9f8154049fe0aee580c4ef5f0e3a05a811a917200b4504988179c96531e5dafd75374a7a0728dcd035e8672143fb8d78977d808af05788a1201a99fb03bb45dcef96cec26302f80ed79e1ac0436683882dcc1069a9d87c6b1ef1008a1d43d230152f1120190c821f45ba2545ccf5e9b7597b85ad7362ad1488f3e92b94c0c09852785330c2f0186c91491618b7b63976aa15728a750adf7004046d25d3494a8f78f2d9971fd623410c3625c893ca0b10c01500ee5b51ad33f2878eb9b4b87e45d516e941450728c4eb595e28015d27005506705dde2233a92f490c33787aa880b9c6b882e0ac370b440252d2a4f80bdea56f2e6f01eb916ac91b32bd0f2e1bdf14d071c8000618e80a6c417aa0eeb0deb2b9173d82cf173b4ebbac83ba14ec6469af38b8542645cf40c6bf8077bbc9770e41a8be577cc3f0c2e742c94734044b847e843bf8e328577dbadf5d96a73c02a6545b23d0bfca0a95b450507dc84216ade3e0074a46aa563bb8ffe41c5805da75c6a5a8ceadf22bea20e546abeec2a997d637a68bb42c5000d5078c0f5f9f0a0f2626b4eadb4bbd0a55e68b1ee19a154ae5fb83f40285f36d0d73ba9d77269af4341da29422f1be2f0e444eb465750485f2119188555461a1043a7c70b2b212281e69b02a340a01e54601d7640d7b8b70bec54b515bbcc30621728dbbab3681c4f1a7fc79afaeee44fde5562c42d8d743795b0260ac7f21884f47d4a9dd4786bf565c151da630bcc5d407b504243ec2fcfb0f97586c71e943b4876811fe7baffb0de52eaa78068430bd22e461f2c9694a7632e812ec46c9478f5652204d60e4a5d2ef33ee4e8a8276a550ac6e7d9e8f88e02c3de4404bc17cc9989fce4299f67fc98c173ca4adb44e25d54ff33cb1feb2c1f252274425d9afeb3fe61d7844edf5b7fd1dc8b85907531feb1c90dda03c1a86bc89aff3917fffb97649fe80066c7494a088d194ecdd20c71e37bb194799c0106d28d266e078f097433dbdc4922a7237511769e8de3801425b8e245f72de5d8181bbf63866b58d94abd9ce745c5b593c34a2fe71eb7bdfc8cb06b941c2b3d930ebee5109bf00fc46f15e29ebfb051f62e35f401cd1e2ab246146a8e8c29300868feed7c13fd7a2789197720367b2ec0d632d0e670384751999457342dde728545a8974642690a36f1bc1e876c27ad064447361af9a48de3b223377e89ff1b5a51b7b3814b3f35b274ab47d607382523804de11567bf5f43b2602c8a04de9a1336c6b2604ff62fb4cd3ed306ba2a5b22c109e0a7b97a2a0b29b20eaf632a5f841e20cbc541988f41f9ec1409d2c99ee165d8f97c86e882f46d0762dbeb05004881e4169ed619ebdd0c982672f129097b0037b439f89a61e8873d190d693c32d4755994b9d60f112f4b67b10770480a960b2c2b8574162e8d7f1b4f69c881702970854bd91334ca3e14126dfe43b28092634bd5018aa76573f899663c3b675691b2bf19ce9971e61823b6aabe7a6abd41da358dd12d1c827222457bb1003575ba044ebd5a898b58e003388a9f403610d9446a6239f1b9e7402644d7692a3cd4933e2b87552c7571be97e5b752715c61c270f4013392cd0ac73d3e961b8e320eb8c561bb13b1affee12d2a0b878542df4e12d6800afaaafca5ee475ba71acb6f76313540a8b11a5ac7eaf28fd54cc81a7ad669358d3f6d21f1c6d510b9562b3cd418fc3c1dbc605ec8c0335a9d729db9b8e82d73cd9386e98762ad357b8fb176d1e00f364e61d77b4793056bcac1988f55fd8e08125da578b8f42f665c3f2da4bd98c59dbddd1c014b74397fa1d0508a83adbb98e9b295e28d50be9cf1ef13465e244d8ebe3d6ae910a6680dd9778c42cc159a8456653835505ab293ccc1c16551c92f6049b88e0e1d39a4584f547dde58e0766de5207581ac0fcc2d9fe420c7ec8723e29887f18a3a3866bcb982f01bf32fb762bc7934960d2823f4dc134abe664ea6620f432070f6a58bc8924896d97cbbc62f4fc126e2ebb186ff1fedf6b922d2055abc534104acff2a87debbf6c99b1da862abae40ff58eb3745288169b0aaf57317c34fa74917a176e5f6aea15e4f7a76c81edbd2e6a557d54679b5e2d41015f642579ec28272b8df539a80e13afba43f1c41ed56b164b64f5e0ace2f24aae90f99c71020f8a420425c667139af378765d651b451ac78280be191ace55efb41caebcb5bfbbf7aa44c8a2c719e596351c02bfda8e43fc23da35e1a57861323d2a1d969584083feba9159440ea129783a59483f0783743f350bfa943feafbc288367385512b918355bd310f4ecea98ff0c41611250856880cab2ab51bba0570fd9bff94208040c70590eaf39c18058a894399b4737fac73a891ddf76e7080dc482d1480310f2cd7573f5be529f5a988ce47ade32410da1832f4dd772af3f9e46751b636ff57530563f59197e8327e4bee1f61df26b5e2f2d3696da331dfe513fe693a70f0616de308a7bafb9777c9ab9e75cf883c62b9d1d1fab094ec88a13adb2de82ec4ded5cf274a6f3ba3354ac971a84c6dcb868d5becd92aec2e66b0f3b58b043f0ba10ae39c0b536b86e4ac088d7eefc35fa1b5284ea513878d31ba9b04738e9212445ff619eb094676d4604690fb50db6b8bfe1517ba0f4b374e0ea089dd242156d09147b0aae41f1c4ed2110069f5ae57647bb03feb16f8f3a697fc4c4bf10f4cac2acdf562a3425d213e94426162ea53125aa676548330852755f9bde30f51ce06b2d8eafebd9c4ae0331b6106aee67a46513ba7bc844233152d8de1267047a6f4afb88632a8a7d1d7738811c6a594c0c27eb8d5a16120a87736dc61104cfce76aa98b2e61228d52d098374d9eee26e8f557a7b852aeb633526f69ac653ae64027d382bb3de3f32798890099886789d67b6465bdd7229f1a71f7de5af36113e1ff1d72fb2e9ef45a440dc433875eab882d7a97078161a4f545756f06123d62cc77371a9ebef577f07f2a95b9437cb622862998a738dc52a738788d537c10f72345592df4ca88b1e608f8465671a2660448f7985dd4efe403dab54ded03fef9a39fe1edbb4effbe3e9ffc960ae4db02e06ccdffbc7f0e034a4413e459f10d5d694c106cdc6ebe5d0e9f7ef72a902e2c68594f00c65227719595d50ce3b113a74f3ca227427f608ff5ff24528d8abfbcd06f1d48afc785c21615e7b6627de4a70a8e0165864ef64a29bef47d1bb92807b7ff9e3f9c38ccfbcb9dc40a5e5f43cc2e3f779fdc4623c954d129fe9a42d55fd659c1c2508d06a9c3c9eee69692ee631dce0b21d3afdf40ec4d7f9a7a7084559813f523819643c46b8dcf3e9ac0f68f61a3557dc7cf622e36e36d84d87c0ea0d9e78bc7341d1ab32b7847dbfe82b9f10f4270c792ca8c07a2ecacee75b7163132dd88f22a1cc5139dc15542421fc14bd763464bd39afb4a325312747835b0b03472fb9c3ca8becfecbe33113a10b7d83678f783ceda38deb7f0f7a70a5317304237911914d743af0308c9f40916d078805ecf3ca082700be4233a974340a3ebe0e7f04994b7e76b23a5c161d91045f20540ec8348d0ea5786583d01a0ea0b519bac6f741b7c63b5672611095408281f20be23b780e1eefc5e053e755f584452150805247e40c28a483805527991f53dac11976e26880bbcc91b3e6a12ac4e746e4434107d532392c65dc2f52bd8402b99af1ee570f951dd34771ae67d0f2cc94d0bed7654edb56d417ff649b990223a25d1cd913a1d18c94dc8b1cb0161dc1b7d046a169a316252aa4887d4c8be2eb89a5fa5aa86686f5fdfb3a82af63cc9920170b397c8f64edfd06ec7b8df5fb57a7d31238fcd6fa9ab5b6d8c5e314c86859d407280c826bc444f0125841fd4b613927b5305c8f617037a3555dbf1d024d16d03048c312bce9ea9c870a00d10c6e1910f20334e5a251d05c068df725462a470c31f6d838000d65f998311917661141a77093db1c690689cd3e45d82ea9047af61b2940074c8f2d8041ac69847c83bb14ebe4cf91225a4c734480519b889142543642f0386c943b2691fd1cd0d0f773e49fe911172e23fbc50d42669719d77a5896a96ce2990af67ff01898f18bdf312f2d9c249e01c237ff4dbfced1912d3693eb4889086cd1127bc7b7eab934e2ce3c21ce448f3c60de426ad2685c7aa90b7ee9b22e789b8ab41b098dace2e9c35e411b74e874e8ae720fd78aa2a2ede0f3fda5530d9ca76362c6ea7d9aedca5e2aa6b26397c2b3428d0756b287cdbfb3db069a9c96e427fb1e83ffa6a8e92571a6ade08347aa9649d62370b840b74394ef6110cb140549bf111ab5ce942109a0018a374e242848314763e4c1b35b68b7ee26f91aa3b7381ed4d3a4f097ec84dc10cf464a56732fa982a082ab0c5a1b0a4c450a9b08f7efc4def2f7b921dc4c77d7999e8c58a0dec32dd5a68baa7fbc2747cd38da1edd8c878bfbfc511004d58ffd5b6f37447d9635257d44fc3f54db0770218f08af3818b9c4079d697845d7a72bf680e04579b1badf838431fee5622727133c99af1b0242570e722fd05d0e3bf172290aa845c68a1db2c5d410a509ab7cdfb201fac6230c7df0c33837d0abc36fd66ad1b08d5c7b66ddb650fc72584b5843914dbba12104d3072c5def42b454d5901512d5a0d95481b4ce3a25127e231066d826129bfd17b318715b2bd459992df802c7543a4c9e558b7689ee1416e13fc21181f1b8448a39d97fe6c63f5a38be1232f0fba3f792f44ef824c2a76849113a900bf55cb873f94075a2c413af39bcdc0140ba11e6f428b452571582ecb2639700040b5ec98e88fd0319a3e0cd350694da793582a0c56c3dfcd39cea8467c2509f6594455e4372a5d7603fcbd25f893934ca56e2cdfeea8a54ab92b5c99d110142d51eda3d7131218c5f845e5ebfdde546cbe4c23e6b94647fdee1952f1229e8420aee03a5975085217a03a48166364edb062951de2315a09dbf66610f7f2b0eb690d34c7e96ce7694599cd1a6b8612e434adad6b97efb9b110d1c557e3621cb20e57b5b58d0b7e1b7b78a1a7a49a03e549f704262adc32d073f0f6b0216c314485f72c3d83c66d28688ef25087688373e3f2e53ffc1ef4f8e8eec46b51f5ca0c570601096d9166aea5964aa7ea13bb3bc74803d80ff245f58183d5b9bed665af3a2c38d8726521618efbcf1ddfc3b61514efa58e435412c3c5b3116e5b316e0019c95c8f1105072906d230c605d9537be4cc15371db6e6c1351b354cbec57e9e92b252235aa26e527228b3e4b856a6240de312bce091c7dae47ebbbd9351b2b23af8703f1c397de2a8059b90d7624b8b06a69a118323f43cf2ddf2a44bc284857e08aec522ef84d5a0755c72f86b7be3ac950ae9232b2aaf0a444466fe304c05bea701f485f17f038bd861ca9822cbac1c37833ab0c447d544aee0810943aeffee6d85d0fcc5940be571035e8c84ca4b1d0df69b28087e56447c88af7cb1249090fdd2d9d27055182035c969a06f60ca8f317fd86ee46b0a07750d88b2bc5f164f29970193eda0dee04aac42305ff13c72a0fa404f2957a17c4e6be0e786c55441baa41263a07fb123cec68862aa4e398435838242e9c3c42c30c53c9fcfa6d86322eab9aed7200a3f55785517c0442ba66069cd53828f50dd74de48fab46e4d037869976678d025828308e5267ec927d09c0ec70a589a9893241a818ad6255f4a7b05d2e14cde08add2a46b1410db485288357731bc2bef1d74311438cac204b55699a69e641bf1ea8c38e5024f112e94d9a754ca2baa743700e2d17b85f2f583d74fac3c09da4f220788d3a04d1c16340c7bbf8fdfbdd0afe70a3e8c6306a9b688387c126381918c191604f630470c9e60449f42279feb72af7d1a079af18db22a94db4a48f906bd4e92d2e7d2baa246780f6636f35ade5a7f49a7279516196c13516e1d2e6033ad2a5a5f95a49a3c5f9d04400770ccda40a1dfb47fc36faaad43be055116b691a59a70729c43572eb08e16211819d8ccae8c158f5c602e52060e8171c9ce5e8f2fb0147191d458260a2ce32f5e0c2cfb984769b406f1c6022720983fd42b14910f40eced42f7432b0c3117eedd55fa539a8dfeb3c900ff0ad80701ca8fccba4c7b94702aa960e0e1a9b8339263a2b0e1270efb1a33f11a2600a28e405a5ed3133fefda982fd93148c214231bfa81ef61c35420eeee5c3d9f0b2ffdd3bcab1043dc1cec643e492799793f5248a477e78d708a5fcf351f83e8a1cf92791351e181a61bdf346d25a8b2b9015c6cbf37c35b034f7c98df5681ba611465b8218a20ddcf05f3be649b2b99ab0a8050205658714da32cda9de99a5b38266cb58c146b00f21169840d57b4ef9cb16c3c2509f119a12ee8ac8e00bb712bc92fbf1d0a63872e6815d9075ece1d16a0513e6afa4dc6e31c1dac95696d0217c6766cae18fdc64018ebf810818a4a5216d3534e065ce4d255321db482212037ce75cdc848417f30b37f4b44cf8c8e7159db2664e9c46af271ceb7b2fbb368ebbaa5f223809acc2dee23b46ba41b26e6a846e0c313928b988da08ceae84185909c3c46508de7c8efc6745d8cce1d6ad4fb23d7878b7dee15651ff2e7f3ba9e2743679722c096e43537d53fdd96363fa3aae98e963fce47bfd50ea5a85ec800da2fec4c3ec861263ef5ea426c9c0d858873a935531bbc30356e37fb1760adc6e4bc4f193cfa4dfd14eeba82092c12d64d3ca06873d4a175ce7ee29642136b9471734a2b5f59ec95b7a43139882eedb7ca3a4ad2405d77e6708abc3a24581ebdc9c22361de5b949a7e4219fd0239a81b9e064cb5c90032e8be5ea1734958779544e16e5ed990720779fadc1dbd7a59e512c31aad0bd890b9b26a8d8acede4961ac3dd6f55fa286739875a1abfffc0e2663ff20961fdb149b5ebe61cfa8e25279c27d9427548e277a145b3a4439c6214111d651f5a57f88334226c91afbadcd093186e384dde43e30cfaede7925f5f0d80908947418f185f8353e4511c5459bda5f22f4b947db6826312e2ab35584895d7b6af07f79272c6c5d9d24a0528ceec18c7de34a91f5a8d51041dd38a1592311045642136a3199c0562ce352ece89dd124e40e989ab2b04da7c22d0c787c03a1d71d499618329b6f9cef9ab0df6bfe6ade26f827ae0ee4d1ded80e5d133de3230317542ab24a19a9ccb19d5e842b08abdfb8e58d1e5f162135f4cde1e425eecd045b7b5d1934e1c34c21d309489bad27ce081c4884bb08cc3414a8b712ec629a0dbe0447ec431dbd27d266461df51c1e8811dddfa018086a2b0a2a0884206e7957b539fa3dc237f7e9db8dc45341fa38554211cd6d4b3d8066b51bf87112c890b497da3a852cb4ce57bad695b8ac8feca169e6888ea34408100811b15213e1e5225472a94bfeef0e2ccc1223ecd5164006c108a756de9f11b5c88fd1f8ffcccc46f8e36740755600cadfc5b265eb86c148351c4fb46105e9601157ca24154b1d5e800357fa7ee6114f77e0832d4f692a7c40dd4e62477c501547c6c24ac1cf21c5084d924537273b16c9405b0cab968b5feccd7f046d7b955c3f4488fd74cc005403528624938eebbb2540c831861e49d7f757a6e7da911d5148d6d36dec56c975782af7e555ee9a1d3ecac092417ccf7e708ecd822fa951ae59d87583e4cef7deb031f1a564d49cd4d2d4e4f18e0883dc712df89eaadd6c506697ccd965763bc03fc9ebdeb001acdad994ce7bb9b7c4586e5a3839cd5cd7fe431d172f1ee4789fb44b4dda8af8579de2a731a16ca704bd2994a8dc4e0123df1cdf988c7d8887bf47e475b9219bdb9faa62e4eb6aa7326bb7d128404c2a136b16c3e8ff9065468ace540d2ac3375e6f2a11c7f31af8d2ca71f88d065441ebf8591b64ccf15039482907425c4d76d5eda184d61b1490960f220df82991dcad2ee14da88f16346aaa05823bf91fd5499b1326700227558ac3075e25acaa9f4f4a6e53117b760cd98836639c19ba168d532fdef94a879065fd7c4988236c8ad7e84434b78246ff90a4dbc5c35c47658138d44499288f0aea7d2b3b92510bd737ec1fe4fe6e6c51847bb82f2e8d9f47db106c37927863c81197875339686571b273be07c74fb3313e205cd21b993d348dc249a1e833179bfabe592d3c0fbc8b9dcbeb270beee13fcbb265c8ba0f286dae87d928de891e2011142f6a7d90825d9eefb48a574f62254a44eb8ffb60cf5a8db70074568a17a0e50954fec093a8810b8e27a8422ca46de7122c99b4db6297b8dec483350151d4a9d4021bb8248b2a891a720af050d4cddedf2150fe1fc9ebe35c46633649851f0caac666f655fa0e8ca1781e298d7336607f7691a5de7ea35d198d2dd2358ad54ab56aa47ad5f40aa76d9889b064b85f8d7e6dcb6b1670d7a0e3b092093b18408dd70f250d0483dc8366bf83555b2a0be61c09b6901066da13d8b3364d2597691329cd87159dc8f61fb555b5e6650963b56ccee27eac7f87356413b4cb7c91ab1907860f1cbef893729704a02be483a8439610d04c8fcd6fb4e77c636d2ab313431046ee80a61121e8b33109a6586e7f7567b4b35e22f2485972782cd4b3f1b171b7854291917c02c5fb091f452ebd8ba67b02dd9fdb1eccad6184d6c074e5ff703314a2c9f76421202a5b7a8a608eb458804d28846ce951de7ae110045c0a933f1bff914a87a50e0cdcca8b355435c3200a034753193472acc626a3f1e1be59e4be7d133f5a6ef9079291fcc262d5d526f1190f2cd75537b8b62a78ff5319f48a49c4c49433ea285ecda090669e7398dc8514161d1fa2c7c07e4687e1a3620dc83aaec81ced176451cfdb8a3d89610e6c253c0f6a7dfe4fa4e20e46d6dcb9c9987a4d7b3214c31c640a6e9752209b2022ba8ea89765ee40400bf0702a7f66b611a32366d384e567b1cc63c2daa01042f120ec338889deb692f58c5ed7a3125b7707e246844ce9ee8e7f5d31bb4985c3f6e1449ed15cdbccfe43d8785b2503763aff99c860355b1d3e64919b6368e08268823482d1921e3a4acf3a187c69c5c3b51b9cf984f936c0c08230e05ff076b005085b242ece8d79af9f23ec52d7e704ba3106023412c6757db33d2592d12d6b970f058d43cde604f3d659fb6e041d88d0fad047875080d805bc7116fd48fc29a88292d8f165cefd06575da386326d805b52bb2effde2ccf25bd9b7c62dfca833d751ccf887adfedf25338a9f793245b0b2fa61a480c9ab7010c70d010b7731a72d492187234ef1de6a98ee26dbd1f2094d5b0e524909dea6159f7ec6fefbbdad9cf1168dff5780dc73d92e000ea97cb0764bfb0571daf9ef556e9074a21f7274112ed6b3722fbc0999a62ae25f508bb1b71e6b258eefa82794d469d54e3e2f8a47d59c97546f69833db6175233d0927cc0ff4463c88f4c71d7436f625f03d69c4cf7903764a76dd4da175f7a1badba99deb35614c0d4e17c4743cb208c5ff0d2dafc563e15291627109b69fba2cc9c4ddde16ccddc065b105fe1c3ecbf77beaed895aa77cdb2a069c3b595b30084b8f8390d909f62e6650cf8b67cab6f702cb78b6e3f01b96e9f6deca9ed328837f5cfdcc10d854e5cb87486489f1dad23bda5d1d5a24fa6913e9c44c7f150d04f16601cbb50930873990b9d3d5ee703e508c950ee46c4b0bc4a95c202005abdad227dabbc2c88e4c0fe7a583c657ceb2153063d96aeb66afc34a12ff4e686368cf534eff59675818bedc4af0290793fbb3d781d8c21ba4dc264746d70efac96aed709607c94424ec49e2dd1f8a464a1117ff53129d8ab4862275469184a4118495ffabb001ecbe8f43d4f9f210a1e23ae90b8f6510a7c95c38ef9fbae333704163bde30888600378a6b4b38c4a37f00d9fc99728457d03ba12a719bc99d51f35aef9943cae2ed81dcf3cba0a72ba6cb7b1ed696146848752270d2b0b312109803aac9b84cbdd146481c79c8386131d3aa8133acf8cd94abd84807597e8997e2e4a98611356516f95da5ee6cbc2208e08f799ffec915ad8d90b81f0603989165f0d05f88a4ee5784a3416435c8360038518e2f38b318cc41b0e5dbd2d56ab617115b033f66e1628c0d6b9c0b8c0fe9284a6ca058653e56f9b8e2fcec3ab58d1bdea245a4c80df5fa6e44e7a623f82ffe37b027640ac0bc0ffbbe27e2e0d103b9e27ca9ead08da9ef595721a5e5dd50f664f2df764a0f4facefe9cb050b8422c486c6ce6822506c0800bc2fef9bf6c045b9146fefc900f106006da280d84f46c0d294091752e753a2087a322b57d4ff31890541b6edd4a748e72cc1146f883b72a1a9e9c931f7f4d1360170653ef8ea039c67308330393b924806a2dc84a5084d49881ea599b375876b5e01859e111b3f6c7d064eedd200b4ac78e4289f505b400722cc245d5e2980cb0f0ed763962aa98b35c6d15ae682cb9c5a901d6572009dac1d7255a9edbbef7ce21e4e150c9d187ad9b2e18458b1eb883de15dffaee99400cca42d45201ebb0c97870cac17804ac08574bcdba4fceb7ec63f09198f3f79e7043e0f3b3ab81e49a826484b45b82af165e872c3add7791e05500eaa3716322862fa28a556db3561dc98021ff33e3d66b75e997aa43892a429ae53172051b8e844dee10dd5808dacedcb5ce34fee731085f4d30828fabee4498d8216fdf13e301b3b0f82add22a25b1bf1ead3e63960976333aeed1eb547e731d38c974de7b136fc8fcadf0e6e848bf1f6058efa3f8f4764874ff1aa09e9017a4eb4a00e4789a8e723044f398613d275bebfe0768f47bdc95b5fef74a8d8910ce9b13615c4904d233d40a4f94a35d293166d60c3b214cb43b491749a0b05395d14530a7c3061db382c8190b8cc16dbc2582a1fcc67fefd4b38436077dec0e4edad9671632ac9b03650be6ebd341de70c365b50679eea2b951b61dd5667dd0b0e89d96d38d2e4901325263db01c6c41f03c0da09048f7938d8075701e2e127b8057ee34a690ec52d971e73b7e3aeaf92eb4f88d2771855199fc45948e06c54ef563072155a5bbdb878c79402111bb8bd0a9dc8d60a4548390233f30ac226b2f90f2d90729187f61c4ce884d36d076314469d65072effb1a67f949f87de44230e8cfba8b95549d2a033874fc21d13daad99809e107a0d96f20a44c5ba1ccf3f1e471527108e2d41191989dd1bea1daa339a69780a7bfc375d7e2548fce728cff6f4a7a942d4f0be1b5c68b156fe750d72bd190dc7a9711100722450cf4875b3cdfcdcc06325d0393de43652f2bc8bcf55ab2405cca4969230a1244585803d2c40fc1b77e749713f481820018a844d5633f3393fb54c131adb4ef9bffcef3dccdbe04e1fb837b666d2c55167145c206ce6f8300c240bf16e2030a3696e761fc53d3a4510bda9f1973cf62a47c336e5617890c7f38a3d82b9855a0faf6145138a77057d9d740356ccd019c374df039073a2c4b4f37beee1c7a954963708d8fb1813c73adcd5ecb00f969ad5a99784dce2c51c01e70c418102132dda5d891badfd718345eda64f1d42bf6705ff27a4398a8785d1d8ec0b5bcf63e5128133aa60be95eac6ac2c62ab486e413d783352fe4cb52d192c4fdeab9115439573bbdf52939044abd5668ea066118a3e4bd66bd39057588fef12dbcb572adeb89852c6d93f71dd6830a5da664b74cac953f0eb07183b43224f34def1f6a085ff12e514b813c5d24990181bff10363fe5cc378f130ca88476b9b50af66b7d7e08fabd120fb21458e5c58144716db9beb0211442745973cca90bedaf820c5a8b3d98d69a5193f264e1f69e3ac7016d9da2c756e6f4c374931ecb12d33d80d208e2167370e7f697c11d4fd4a3dc2420a1f12b954304c9c5cc38bce32afe009d6ce11bf8bd06d5fe8c6793f0a1ee1243ce816b387db87fb268a49a092e756adf0904f783d89c9192295154047e30714f9d2c18507670e952984d0722ff2117101a77d4ade47e31fd4d482c6e5bab79a65218db880f8eaccc411dd6e022ed91fa742efa302ad7dcd39e5e36deebc5459ed60d167e3d372f620450ef88f40bcf1adb88840b421d1f3dcd75f3a63fb1597594ace71898eb14e55e2896e6facbb9c1be5592f4255a69ec82c51221512c3b702f47df6106fc295db03e8dc91c794fa42e81a3399aef8996c8948b3828c1675289e39a1b637bcc8063734333c7c7ba4bc4e6ed699044cdca132969377db56afd1066f538e5242959a1c8d63d41df6387ae22bcab5ac23e56df4533316a151075fe311ac3d310810d32243753557bdecf70ba34ebda0fb1548e3f848403fa522078e45f1e9bddd12de0bc0e3b601af578bca4385975bd3ab5d2650be3e04863b75173587f728b8a3b47a3fa9c2bfca5ebf6e7aeb5e4327ed230f036c4c037a1a666f5c3014565107091d3b4010fe09290bff012167eccdecdb48f51f743510cc993aa804febf6a6865c4224ddb7a2eff7b26237ed92981033f0040fe40e43fb1eafe5ccae3df7d3f9dba573a71c66d13d4df55658d68b24bd2f6965ba69464b506e406ed06bee33a3192499ecf4e6e4f2e3bc9d0ffec69ae46262410eba1d3c0fa113998331e788ffaf99115992cb7e5b19617f198c73ce6b152e7d539a75e2ac562d5c7d7274568a131e7749f935a05acc0d21a8d62cfb3d664e2a658f1260c39b0dfcf46d56240f0a506584d5d08c09fe08dc54d7b985932999120526727d61c85c96c3736988bd5a920526727e643cdcd6a0d35ab9ba6a36448c99092a156c7444c7c961e0ca707da0743cf9b30e0a9ae487d627236e3092b364b263362233be756c6f696f550e5f2d6eb1a75224fc5e7d0adcfb1461b27c6711c759a5d3cc3094bfba9c1583658b5b980bce8cd8e4e8c47e6c19a868343a338ecd261950e93dde0c4aad83e2e20af79b3a313e391ed7838e30e8ee73961dbd9d9f94a2794a7eadb538ba7ea83a7941ca8cb64a3eaf78a5bcd1082a5b10e8cc63b1ca330e7249c84760b7271203521afefafb16bb24787ad6b203972e6cf134b6efd8eb5ed569daba324b7bea8f492d4fa04d94032998cb4dd57bb9c303554d2c967adcf84e1f172d50654f85440991e5a2c71550d9358f866f858b15932236429869a1d32883c5f91f973312ea1715a2f34adea3389baf5c1afad22c0f0c7adbdaa4ebc6efd0e6a97bedfd78fa16647bb8c5e650505ca8856bc30a5636e7dc701048b590167b815212481f5f700823510acc31e403893655e6ff652ca0bdea128814bd3a8fa357eb0733557dcf7586bd772b9cae46bd73c50a64b8f80c953f463fc0423603d45ffe427b803c6c7086decc3083ddf51fa93d0a61482df9ddcd5a8fa7c72208daa6f521fe52a306ca11696a72adb5a260bbb656d849be14216abc54bf8e672d6d989b1f0cd8003cb315965b4f1d68fa15dd8d5a47b5ded96718e6dbc04c8c5361658782208c805e4027201bd64fa56c307eb63e56365b385b646d537ed58d1bbb5b2582bdf0cfbe6a9fab53e69061c545a7f98d6cc82f5cd55bcbab1c16c38edcc5166e7a89f5456ba6fb75695be364dec127cbe43f6f99ebcfdfabd64c294b65beb9f9c5eda46bf3dd5681bfd26a796b6d10f9e68b40d15f8f5fdc6ab0ecea9619daadf3fa23f411bc5968973263219ab5fbf6bad53bf79786e7d26b98767ecc3341a43cdd3b4cbfc8162e7d697a15d8c88be7e93df3ded32ab2ff23aaae4e60dbbf5b9be81d1863aeca1e4d6ccade4a6e4a64468b2b01a557f0037b6be577fd69f2b35cc80d35642684fdc6eb7dbed76bbdd40668e08ae08278381d0ed76bbdd8080b8b8dd6e37922449f276a35996c9146e93fadf55d69feb601cb133332b7e5fbb7838b190f152e3df56a6dccdf93358a1050ee04c9723079659770124c8f169f10b88cc6044823429e7e086e85eb4e36419928515674d862164c047f4f4e80c191a6d868ce3388ee3388e32d46ab551131600033bd9057e151b90fa493928aaa5c5f9bbd26af2809717ea9c8c2bbe5c2671a00cca14968239c019d2f5260bd7b478f0140f33a7c9c27f9a2c285288c019190dce9c4c14ffc9ec0667ec64e1efd03ee0472004aca7482632fd7ddff7f1f44a149cf1268b3779d44eb9da79a312f7359c610e3e38e644d0c2ad852d505e5607e585c2cf43f2e08a7349c763030a0a893243193255339030532e1346003396e85c1fd9ed9f619b2a9e71bbfd345758f17ba1b4f0a27729fd164e5e7f282d14d68f15516ce8cfa1e7121746694594d70989802256fcc64fc7555e0c255fec76f724070700cae081fd5ee5b9bd0bbec77517fcaed60b7eedb80b3ee7d10b3e15f905df477dc16f928d2b2c5f9be37b7f12088a4a2a8fa34f26959f8d6a70e6069ec25541e5ce789192282ffacdf4a28f0178b1690278b159292f720c002fce52060dd4d1ddd193ba8f9ad0a794524a09605ff4d8a5cf711cc7ad3c49f4d513fab5d6cac293461f8c17fbd58d4099f049a42fc68b4c7a2450e6f4a4ef2bbd386f32326856c67fa0cc3f09044525d2935e146756f8395944ee7529f7f62b014e39ba3bfa95538e7a47cfc2290777471f9e72d03bfad32987dfd1ff2947dfd10fe0b4c289a572ea5a27d13b89deedf607e0248a4ee2e875fb51669c4452ecf603e02476b4db2fe324da18279163304e62b34e4e62d3ec49f4d1e424faad24762cd1de2fec5c3670e3e5279d525eb81e86a278fdb953cacc0af78615ae7f376f3da1b41ad528e19c113423c89b595086226a28613d4ff10e0c255644b12d99113423c8e912b779df3d0acb555cbb335e283020141c916d3a3bede29e8312ab418c5964922b47b9723222aea53027e9c21e4882b8566b0dc62024414882900cfda84c282f1412e5853243a1a1bc660f8f6cc63eec44108cb496cc0872bedd6604cd60dd4669cd18aace5114d68ca0194128ac1312e5857283f272e1b1d52e7cd273323bf139a1810196247508b1dd25352f41923a9660db8e5a647c76c2ccd136e009cff549a7d189860a9b227a1f5714d2484114b20059d2015690e3107d5d5c76a281819da415160445f08360f4a4bfa3ffc8d1937ec7280cf9e60bc1904b2bced975c01576fca162bc3d73020e7096406448125ddce8065c053ec9b326b20150588275a0eb22769e8942ee01829d8d1262ab4c4acdf4d4ddd1497451829cd5f414c78130308be52da31128e3bd05029a2d412ed10414525441922449d2ccf86682c405e3388ee338b6b4a050604bcbe8b672dc8c6915b88289dae9d49c1cf314afc0e46fb5d266002658be7c0d10056bf2a517a78d85a8013cd9284006abefdf5536d3091eb678ad6c76f896acbe87b993fe772a42f40cc220fa1cbe53ca0ba21f89dec765ce198544c0e79c46b5e8d56023123f3fd9f0b949685302c7d16b1bf4fbbfd35cd1b80a035c38e1470d63a907cfb33abce0386616b3e612168b6502678082f54fe19f3f5624b9f307e805b7c119ffc1e51e1c4cc30066d93053cdfca3c754710882fca0c30beb2c3fe4788215dffbc162b1582c168bc512c5483c248983524ae2d879167860a94814a312e3223bbe5e40dc60d1bbacf2c8397f6a4cdc94553fcdd0ed8f61fef4e00563fe1061093df54842ecd4e3e7c504ed86e0f6dbf94304a0ebde755d579f004b263742f8cb4b27e6530a35299d78059e9a5fa59608780aab22b8efc15b99bc83f575d0a1511d8948a924e3f65ce9700229ed5583f5b91311f04d4e2e6f05fe893d084fc15435a9f204131d84db51947ac992db4f97e84c96264256043ca5ec28f94de9ed729124497ae9e437293bbe2f7d29b4a13e68b1565fe82f96eb786a45f25edcd5ecab4992249bbee82f1c66e69da11e1096863a34aa3974d257ba237ab65dc40fe70be44b47317660e7ca8a37dbfde5aacfe5596b32b95e270f3259fadbe54144a29357bb5caefa42f73c6b4da697abc6b3a6477595a3fe8231ea14269864257c7a3c26ccccbc3cb158ca0ba3d036aa95b0bca3c332c40c10d67bd173cf9de4a12686242cbda20c1935b8b015982e9ff7a2af11ddc053a81179a351e5a8fbc4807a992cfc22cf440113c575443ce646b4b4740dfb8da778852156e417726027af2084e5d0e6e6b12229209d589312f8914eeccbe4557a81af9607f48a740a69d6f314f7ad975a471d97a698bfe10ef2a24010214388284222bd5eaf974fc68bcacbca0b8d17af468da1a49393effbbe9ecc493ad5fcd3a9bec1504c9309c3514c967e19d19374b4c0fa8b1ffd76daef88058fa78d74f7349056e198a95699722c0ed9302f8887bcadb0dc8b93e4f1a2d7d102ebbdf8dd0ebdd9a84aba3c9e3659540da431c0504ca6cdb27b682da9d4e9443bd1d1023be3ca1185e731d36822be91e4a7694f942e5ec729b9ddd33a04548b165fd9e22cb8188522af2b69c13870c05b5a647c33d51fa4041e468444eacf8b434c0c0e06b40bfd1ac6cc547f4c8c498cb91d33596c48c18ab3e421c35359e16ab49bd26e6fce6061451e73bc57318bd9d5ac668dcc6a17fad24d41f0238d4420474d354c26979136a282b9e4261ccbd981418fb3bbae7b79f919dd1ec87e4b8b8a8a1131313131eeceec56f0378c7d675e18557034861e625e8d6ada8d8d666f704615cb646d648777782cc1c5c1af88f29a30def7a3044139c184e1202e0e7e59b85ef8dd3e2ebe2e8458917766a35c26c643f6217d30a8b0a2caa892a3a2d333f3611a2719314de4e3cdba9e8f93a88c2aa3ab98c62a496afd86582c98eb06c80eac5dc4eeb9fd3370078cb55ea00e124b6e3fc8c33175669c46a170d459e41e8ec99cdc9171cd714fb9fab4bed78ff6730488f67d48f8700d7b1c013a027404e8c8129e9ef10d5e020476e125b0ade7abd15a8d9907c891da915aed924c31ac58cc67dedce054e7281fe1aa3e3e3c33f77177f739e27349b5ebbc23a5376373826f3709d90e8c2ce16f63267ebaad55a1a6163ad602c778622d802fd0dbc2770359edc2df0d6ce1a828b75c637d8e56ae00df4d777fb72f0864b5cbbc63cb68d5fbae6b01ba0005e0a939e9ee4e9297543baec28af011307c836dec42ff84612d662b9f806fcee93e7dce39a7fbf439439a371da00a9e16787d428dfa826c5a70880a823ab94d16e63ea12f68e8bbbdbedbed9fef66ea14ff2704b240d7cb77bb7d5389a990108bc53ce6318f75b7b4a050261b1b3d8e8e51c4da300a8458c0b3b2d9a14ae18a5511dfefd0127342c8aa08d1f77f2cd62e2a4c98d2553862b84da8f431de3d26e36914bf9f72e0ae2885dfe47dac4aa7d2c7f81da58ff1fc31429b2238dc11e34d421b938ff136b6f431421b185f7a9b938ff13e5624ffb99aee614d8b075ea148cda718a7b9b2b12962478c2f8536a58f11a6d49f2b9b189f522b0efe141ad6b478e0d55c316935c1b92a7da19f1cd628962b364b9ec9d2a3f7de73688c86013026a39165462451d7e38da4914948c0c6d1918c3a9365de567bcdb09b2375eb8c5f02973e0e62173380016e252b59cb4afe60eb58bb987b9eb5357cb0e0972aac6b5081090b437537ef844835a8f3e97c483e3424301f12c96b50e5b872fcf9700d0a9ae174b3dbdf3f48b4aec8ebc89aa353c718cde974ba1d50e6f314877ddf11340a8339ec92acb5d6459c57455e3d79cef58948a38f343af12a12d7c9499199ab721cd70389cb75495cad1d4e07c2c0b6ced6d9589d2d47ea76b62b2aac71daa54970fd27f5f85d002bff66756bc2783c4c180f7840e8bbc9cabf7d9837ea8b5de8c19b30a2f7ff4019a7ac2244bf75c2942ef7281228c3bdf846577b217979238f5b5d8de35eeca668b7953559e8885d8d6220ce8534945d92146796ab3a560aab35c44a49e1178e77b66e492734e6c854625c1d5dd57575ec98f988d995752e51f53a77e78654548e780d0d1d196acd741270a2e6a2cfdd29758aea6ab73b9bab3a9c0ea77a8793e2dd58a990773657f1ca63301f9f24a5535a52ee0a6b171a6b972a334256ef3a9c2e96c3c461d520b1f3e96c5dadd62e5d0e2da2534476fb3bdb924ec8a75d6ae562e2b4397fe5f8c8ad1379b71cbaae88ebc8cd29f51e476eb74bfa3e664a99720b39a06f0f2d96b878b7a4abb1d3b13c6bfaca51c7518249f2bf6002db3d8729fc8283e6093046184290649324d9e3f876c59b2aad12f5e84d64a2689eb24dfeb40b27e08a7e44320d902dfd5c35a9148240f4df8321088ad821fa2f0c5f52b3266d3421fad17bd83d44a64bfbcc1ecc54ff88e4139a68e6a9beb17f1d062158eaeee1d8338cc219483f57231e919196358a07060dcc1ba983fb269bf4b00bf9bfe9429fe9897dbc9f254b8282e650ab253649c5c5812f0edc2467431f1b35cac400d44b34b90449922449922429127595e317574812c6d8358cd890a52c1a3468d0e8a6f1a2f1a2f185f52bd2f8c27657a4f185b557a4f185e52bd2f8c2f615698cc0f934586890441f8d4ec085f91a37eb4f93c456fb68df88579ee34091169c79f50b5a5ef41c51aec4490a80660456e41790e517d9c513e80641ec5c2124892e6eab1a36b022156c5fc94126cb09260f31b97805c1f24b0a76368a7bfeca9f92011be68dac5f69a8817923af733070e148c717965e9186d85d7e1d6078dd8c3a331a8d20afd7eb05be5eaf984e25f91f938fc915deec5e59b12b76a5afb852572c739789e9c27d556d80fc9ec4515c1c1ebcf546be3159869aa99a2b7e79110130a2100293a51f3555a4e7574d97fafc09982edc4fd58ba7a60b5745610dbbd0cfff53f53d7b3a4d58eabd346169f811408a153041831f58bcc08795ca07125ed840e88813643d5b3c6164881f8c60040c74ac28c2050c7cb0084203210cb17ac1e11b352f2f1e0c04260bce4ae5a88e175866b0c4f3fb0844c02f0f577d610de3f802819a97af462ae13e8199eaafc24683022b72eb05c4548300a61a2f43385f7f0579bd5eafd7ebf57ac950abd56aa40abaa551dd811ce55e6af44c14b6bb226684a599d9999dd9999dd999ed1e914aa0e5568e246cffbc331ab7a647790d3ff11c6b5d351acd6862a31ccc4be3a48711541a2503455ff0e1f10d7e2917d6d30d3e051a7a8dea3c2f6d9654425443cb16b66c971938e674c2fc91c388154d7cc323452276c1643299c819984c6b1d85229156bc49c3c3da999dd916242183d88ab9b03f2e8cbd4c9a2c4c580642c24cf50f7d719a1c805be318343956e41f297e9214a146c3c32662ea319dec251a1e02b8e28330f07f8df2c6514d8b4521c73cc5de8b5cd6909323127129ea5895c5b14a5028a9a0494825cab22ccbd24b525996b4a49ccf2d5ce0c516ab1d464270ad4a65900a2ee42a1cfea81b9664d93668097b71aff22a52d69a4cb3bbd436aafe77a9d07504ec88fe8241f4a4e7c2ef4935cc80e8eb7320188adc8b420ff0adcfd5d01d364921d931574b0772fff124b5f287bbf401265ffa1da570478ba73a991bd80135d0d0281e446ca9f2510220244260b1032fa690c1547d600cc10a84f0e1084fa0adfafd36553e8444114382022ea220052156fd2e34553244925072b3040b1ea1956bd185bd5e698bb6dce655b4bc6c79155e7ae9a597252fbdf4d2cb5259c6681f5fc308c2cb073f563b50b25c8d46367aacf8229a5e9250e0e5e5e5e5e5c706104b1bc5356ab89cd553204932c70fb827a64b9db1a8080c84151d422ca7433fc380d46c1808b7b875c6d1488e43e34d288874d2674e734a717040f22349e4882c95c08f341235ca59e010438818714e97ceb88423f7e859d3a3bacad113af045409cf55a5da02beafd56ab55a8db9e6a99aadd1a6301b7d93c95a988dcaa80a58c58353cd37da465d40633085280dfca56308cb57f458dd2798a97e2238080b480b5c20033c4a2fbacae12069a6183bb0dedddc4343b45f5fad72af57290a336082047ce32dacbb0d610f22c46a8d598863b1980cf563c56ae49adcb1c854d52666ca65c2a8549a6caad8d5af9fdbff028fad462a69a45133a846ee0078c2380d0d995f40606061c53a745fac539ddba92f86318c5dddc8ea60372d51f5ba1ccab09b1c988de6e4e4ec4c9679f9a5f2468fc66357eb4a1e3b770e898c6a4430801b8b55df8695338eb45a4d4c4f8fce90711c32553c641cc7711cc7711cc7711cc7711cb9671cc7711cc71a57558e7a379aa0409a2b736e41d2c1020b5e91de19202bf24873ba57e9608d344fd9de1d479d9c9165a8d96acccce390711cc7711cc7d1eb2a473fd252f1757fac8fc562f1c8ea73efbdc040f2b7964b079b9616199f8c2b7ede8bd80b9b3949a3beb251230cdd7f3939ae1f24eb870f41840c61b1582c96fd5af042c82930f8773cc888c930a2a50585329968785c71da60af464d9a936bc4769fc8da4ca1215c43ac7670288cab12a501b50bad5d54b8301c934cd2481aa5511ad39bb6d14fe2684947fafabe6f65c59bccb2f307083ed7a9b526d3d3d1530d6b949fe80d48698db29e32591b5a38d001ee350a0043d81b0af3e8ac69273a000f56e41288d21f5a11566417813340c18a287500db280335ca4ff696345aa325b58dc08e8ca204df1456502dbe0f94e1fea341b446a168515a0b0a1a8d46699446696559394a6994e6326232b630f1e6cc01148a01a9871284dca9bbf37095e7ee7913c664ce98903ccf7fdebe31f8d7b40bcaf5dfe12e5cafa275fd51ed22ce9246ab7ce5e5cdf5eb4fd3aceb5fc36c0ad77f030cc4f517010b2f6b72794c167f159eb8c1060bd8c610dbd990c23257aea007e8cf9f5bb97e0c31beb0ef59ae48d86a82f7a7d47954603af59fd30770698803d77a452fc7d66e660596737f2e24e2853c4a53b88203cbeff4f5f5d02d885a5cd5d2427363455e020ad1659279c0ddf08ddf0001cd96207909fa6e05dfd000bbb004bf3852037c83ad60179690c2c4507013b73ffc71446b2a3ccfdaff9a9715aec944038515f97663f181e55e664d86a507966d8d5a227abdcc9ad08dbbe0277408381e1e9997abbcd7ed568ea66859efb4b4c8f85a502ac5e0045e9874411ed1e2e4847a3fc4e01bccd4c9bcc12e76e14f2d93457580e9c22901b79f47365d2edf611e2e97cbc5a32c4befdde35a148bc5625ce48f20cd98510c0be9e48c317c833b88981642071d806898e1708115298ce2b4aa753a2564dea83bdd41d0144c9716426137b0be6958dfdce840de72283750da10d6d0289245b24816c96af2e6e6e6e6860691f7a8961791d7d597cf8a11c018d0b2f4cefae288b924499238489224bdd112936d8dd5751dab5bf11716b83b334b468639a70c50acf700296c696242ab706209afd50ed5092d2a56a29f083862b5032761259a34701c17e4ff0029506ae6aca9340aceb0f003db3d7b329bc309b60b6bbc479f56d384102f2062b1582c168bc56239ed2e8bc562b1584f4f91582c161bc7711c63b1573926c1f2126e981df880067ae01f4bb8244aa9d3f91fa303141245896e8bced6952d937565cb4a9acfac5b434c5891ab1cc7719513b958e5b898c8c5b89ad04cb45c8c8bd91817bb5dd7755d27e42a2ae4a92edb05e5f20dd29db349beb4741d49d6328aa1445488ce97a75408623b4756bb215ad76ad8345a00bab294f50f6e975ead350274e585363bac6a1776364fd5b02bbb9f2e4957ebcaee6782322a48acd895175576655776655796250a491b2449256e7ce3db3faa8506a5a545c647d3283fcdab6251fc246f75bbb9bddd6cc9c554350e660a468691a9a2f11eb251ddad813ad5cf41b787480e9a2cedc25f4c5448b628c19eeefc69a276c52ec321f6855ae13291177ab0dec3f87b424c4460c17de24ff3beaa7fb158ac1fb37644eb76ca101056fddeeae2c29835bfa9deb45a1120ae6a1521d323093c3f74b018f2426ab4e9ab9f2664f7499385ba906fd5a65c7edb4dc87a8da2a19015e7ace5ef375815593417ed04ffd159934c177e326e2ab795dba5319bcd66b31939a3d5d2f2e2430533602205416481831f10a146094508410d8e28090249f7031a6613c67f262626009e87e3c61d4172b9aa0674226810e81a9eb6399538c771df471a89fcfb482391578e7a2760fe97c9c23427f009c48a2fd7f43261e66db56c15e05181b22c4b1e6559965de5a812128a97f2bc3e3d31673163ae5f1836a2e482c768c4c5d132a1242d136a9950cb84927449cc1cb04bd7832442b843b8b5ac4f4f7c5a42e61c7b899395de55ae2cc9114f901f4cd79f52a7dce9067607028d46a3d16834cfb3d664fa37d168341a6dc59b382c333bb9d3a9629622206e5a82a07c782e40961e587f92832f5066da7b1e8cdb85bdd3289d1eb99c2c55dc0011c4e5832d8b5214728d6934481a0fc1a720dd8a996b41ab4ceb6895c6d128cdf3baca516b03efe501e1ee9486ee56bcc2fc0b9045bd092b0e8d2baedc187ab07cc3bad65766a06ca8142e98d5ac6434020000a00083150000200c0805830181482c2216e73d1d14000c5f7c4c725a3c9787a3b1348891184629648c3286180020203033531b116caf6abfebb7717fdc0d49daaeb82499bdcb9b0f29cc7823d6812f0d1d7514cebc6ef4ebec9acbe9a1ebabbfac2e3383a3fcac5ade44817f6d78280fd3bcca9a0e32092d61d42e55e9b7bd88bef360ccc31153273ab2ed64e8d035724401219b34cba8238a19a51ec8017a67843a8e4dba30f29c91e8e98ec974d6d5b31af759db8d728bf789fda58e1024d50cf34c81750c2489ba603433c647ea232d71fe91018b240d3e4ce55cb9ec8cf549288c7ba8bbe8223c2d6f85e39fb78234f7b40ded495131d61b548f84ecc406a256c1a3ceb5b46e2baf02c5c9eabd076155f562a154e43ffa0a95d419ba025ca61c070fbbbb2603ffa0e6f4f4937a4f221b21d09691cd597a2a40a08b209a4dde95bfbf1c776058113d8039c4ae0b01a6e9fba53e7b13e73440e8fb2b5fca7505e81bc1580f0773ec45a0e7677f82bba3de65f77199965140d4f6e19244cbc129038d09293c59552a518a7153c26800fc55dab2e12d9f144bac47da12f32d9ba4439b3ff59fda708c00a35d3212fed0a0f0e338e2545799bebc1d9e281aab3c0b1005706abe7838b55535921feddf05d99eb4ea616739bf328ff94309dec75aba496591aa6d7a6dcf403cb711dd05919c433ce7b3c3461ba4353be1be9fe4b8ce6a1f5514ac892ee9bbdedadd24efb93f8b7149b8f2157e9a1e4b682f616c82335e7f9eb5a442d9b5a9902f0904195eff4e620255f42c81b55ed8b551f9671ce5e6894118188e20efc48f6e67a77e444faa435f4c4843e057af6909e013e80eddb6671e291ff2f010235b9d79c2f7642534eac84d9886e0ccc3f6e16a2bb5a9f14d7b24cd236ebbb916975bb05ae4ccb409064635ad328a1baa1f624b49db1001c49b1b0c99620471d4677d44ef80f5f12451f0f3491326f292640e0d73e0229ffd988fc8e0cc3021011585299a87de3769341c24d81d33d6665cb6f1491745f35c570cee437639b099ff5e1c435035a45f7413f09e0bc0ff0fd23b8913dbe280e2228c2d5fbc77ef1bcffc9920735b964690a0c92b17e95c48252db539f8059fb261274a9ab1bb8a551ad34306dea20e4282d984e8c9fd60031ca92287f3a34a2009872d25d64e3afe12331685e85b1733dea14447003d615238c9bef8322e9b7e3a00afe96c6749cdfb9682e9805116d695baa564a1043c7c2be19c608c69fa12cdf67da5ef8e2e463eb142fa0b52c68d4a1848256b452e6c02f31d5b6d7c5a32345197cdb43bc1ecd836c69792b9651a284fc8df3beed76ba098dfdde78132bcbfd050676a237d874cc13a6e8346f0e68e711bd432a297d02c68863800fc5e99ac5a802e3810ef95e5a14a567083a72dea42f2db20ef5ac6d8d19b58df30a10decd75ba7ebc9c7cac3484a42fe2efffb7a2656dde3245489aca902c7d90655b35190ca56fc8e39a773330efce288bd0c7c57386a8598cc606c30babcdadffbd545b29f6737251128c48a4ee44d8fdebf8260372601e659e9561abfefbaa781206fbc3d6f01b799841576583a5df62a1a9b0fb51ed0a89febb596cde4cf13572b1dfae7ac43b2015d06e904e6e4dd599875c2f0eb39d966c9aa8a3cad6b2e01bc4185cd60d277eefc135b8ad87128c215821332eb262f5e70f964bd9b82897ad513a18e88143d8cd2e893d6753c183bb64b18448017a9fd0a5a37516f0fba1a6d73985169d11f2a5e1d1e2e388887af03818ec2dbfb268240f54d52a1f634d33e658f5e064be73c94c8ff7eee8e0b34562b09d09a20847dfdf488168352127e9a3f4006168f5c0d817bab98c5ada0e06334de061b68c6abb94e0a8e6f8e96840e416e0ee8c1a47c4a2d5bcfcba3f355a6107f831f21d34fc1d1dcb151df26dc44f372e973299a72be7f5218cdd55021d9eac6511da1e2c876eb7b31810ddb07d04af285ed43b484fe31160785e0e17061bb0f2909c4e54d93c1fa996a213479ed58899d42fb6ad30cfed00060caca19c04c54d5c889228c7af5106c7bd6646f7e69ccf2c46470c6d54a3fac2f9c6809d72fe974f1001dd0ba85062e99afc10ca5adebfe7a96ba624f48a970ab83f914c7223c6b2b9a77d0f9eec8e6bd29861e02af681dfc9a40839848c61370ecafd7024b24d85d5bd1afadb0a6b8b3fd25ed1656ea1d02df93b6e0ce9c2a3c6d005df112243df4fd00dbab2234753f6c0b8cf7ecc5ebf8924a97707bd2276d07e378c4c87807f5e12e00282844072ab78200de3881dbd83bcdc11b16b26a59c4d2156045d7453faf8ad79af8ce313e19ed2d089c535aca300452107744ae3dd8a2dba1808402b3ec8387ee0d0801c1bc1aa6a6f758aa5be032778521366bfd6af35f2ec610672e433c3507620117eb1fe392d8f53429169b9355e4b692df1df4dc8af885b814d7c0503d7cc5b1baa523147af085380de8315e7ae43061fce6a654e1aec7d0bcff15eaeeb7ccbc45f34cf6c3b868c44ce576fc2b66bd1ba0e31b618f6e2f70d588df0bc630050e2bc3c0be53229069c2cde51d9a24ffa85a74a0908f62ce316d021e12c2b45df4f2c766ff49af6084a9a5a3485a2d83ad72fa109470b44914a61124c7c2e465fba15d1e1462965924eeed1023c594deccc452aecbec5e90f0d961cda4ac6504201959704a9e9520b968251065ee19201f62f74e690cec5693e7765aee2185d5d669479e2768c8fd381a8e97cb4043688ebc84ed080b8db64d8dca24e2289f15c866ec2c8a50281127c226046a224072b0c68de5a2de4b33928144cc576e4e516139e3cd668b39cde87522791be91250cb37b43ee4c587b4c57a019c488f84a3a8f773029ad9aa3ddb3e680c66008576fe8f95d5627d24e79905fb63c18cbf1416f580886398f50db95078251f1b45141df0f49da2c49e65555b594a4a953616b5fa559f56413965a944ad86d53c351768bc0f4a5e363f3eed11ba86fc2f384cc47bc9504568719188cc47cf09ee06cea9794fe8bdb2ee3b165b9fb28c738be0cf78d30ad4f7ba2ae6c42bb0b51c3a867dd7ccb86983e5b128113668e6ea966fe5922b41758a052ba1a49e6e56b5e1d188309e462f53fe24394e799fc41c36c220d1c41cb36634906efd503e06796b3ecb553bb29df6700fed75951d9e557fb8cfb1d22fb916ed6e2e20922a5d78339249265179d76744a5c435607b1396b62b5daa048660150f7939aeb8ff0ffdeb51b4100d65904cab0e6cc86d96ae3dd8d6dd65aa81f0d79823133900f47050a844a78474fdda761225fed468e646f3f6d55356d94c3cbcc2eacbaee85a41c6e94589bc13f951266d1c1b79843ca218cb9ec7e625b0ab40ce9cc3d48aadc30383604f5b82ad0de1a1cb0b8f996a6e4adf4061e2aaa48bdb0a46f2b4416931f39637bc89491ba69a4d671128b533b33b9e02946036425483115bcab51b2dbe07529557b5560b4d43bae57ffb668e004bc9b64797ea936ae406913f4cbb3cd35776e8733449d5497fec3bfd47f0404c63ba4d594bb777d913812fd3ad1649a73be6816234d7fb444b8486d5157ea3b10677483712b8d0d745c71272f8431f37a20684e5f6749806d6dcf6148406368f4f5a880c52dc9e44e8b8423d6d96d31c81a87bd55bafe254ffbb38e978878c6a2a3b89d0a4b28fe3cb2809d0c3e46302024e3f1965fd5309b1d8e3d0cc308803bdc71680c246e722583aed9ec55b391ec5fe5654a683bf25b038f6ca56746299a6a33314cb7161cc4a05c630d616781d0aaaf7ef4e8920b6166e8fd6c546b5922dd4f3f84e2b4091df058d7c2d6506d9db2ce86c7b0ab64d41f2481c6df348182daf8ff18c3b19421be836dc3a2528cb40fd03ffd62449a94a6b62b97e322604024d716b9d2c7dd10fc56302c1a736817589a2a6413918e62a005175d756c5d3c503b333c1a54cea0a1c4c7bdbafb2c407c3c37a4a8ded989840bfe21ede8ca89db16f47c737f0476bcd869cb8365a2f2bead46802d3e71596e04681dc43ff49585da6fab3acd21b7d81202ea2d407c757f01d30e144cdb40f23137ea4c073df91f2c8b24d6c3670390989835da8b1c4a25204cd76d5f6ba8da26cd34a6b9a7acabf608abc7fb1ed7c2b8978433b5f1be8efdf66b17988c077ccb6e9999e16d5f37f55d576ab985c83f675931b364a4868ba7498c7d3474fca06b1faf7c01745725792376a65ede339ed6df770c1470fc11742da70040e7f54a8bedf13c117613bc19733f84a317316abe1cb1d9c045f2ccee19713b9d36605fca783516fc3286148fe8b5ef226514b8b00d9527bc097ecc7f3d8a032a54901271df045655c5ede29c7248b08a82327b396f90472faa7b29179cd72c017dd00eacacf4cbe7fc36b9bc7f97943722b20c6ed1b5e7152d2bb0a89b96eba6ab094d99a6372259335a4087e578ca6a07121091beb0d54ad44b9ca1031c598a7b9142f8e27817c244d0225692481707977fbf9a579c4fd94a6b728d370ea2615dd7f4a99243efa8e8d767453978312c82e01f2e13ebd50e8216ffde395316f7f2b3d3a2201f55fd8fd14c6efdd09770298ef72c02bb8f9b1263abc17fecde68862fcc9014c6401f65590ba45d7c18b0654937a8a00a6a8aba79e9eeec0dacb7850327309d9de816e45c850e6bec31547c197f6cd7ea21dc403f8bb3ed017a36d09a9fc375c1c625f9dbb6347846f93f4701d43616e70bc4200d1dda40afec28654990cf83adf1d80f3e383959fb5500c2461b072ff16832b021be89974076179913e03a815d28b7df0338b82be9234f767b6133e44f2412831bee353a289143e666f4c18d8c9dce5b0af68e0df465c97bbbd2d8779822cb4c4b7ba0ea7f5d1d420c6d46957974ac27fc69f45776fb7586f3b642a79862ab10922b8476e73579f834c80ac96e3ad705be4c5ea717a459dafcadc90656430753427b692774953a8bbf1828ba4cfc250c62baf04eeb047df25b5d821d484bbb13be9428101ad417a891b1f6873a77e26302f0ca52baa32db9b8eaafc85cb267bcdc554126196a321b8cbe7d2d4147e05898d99407478e98af29d201ce394ab9ba986413cf18c0404003b14780e80051505bcd95519cb79fa7ef37a8db395177df08c67cbb0ed5feb34f68029d56a6e7a195443728703e201cea0bb8f987420d856217c855dd7fd879868c717145ccf91d25b361d298108ba1b86b9282c18754993f6fc9937fc95e88a31c546221b102163da2a8fd0fec973b4dcc03325a57106dd98e07aa552f0e5463ff4f7d93314dff9b4600acdcaf80c228a6605ff7987a42f1392645be7cb236cdc581894fce041bb8de38d95572745a1d544d3e195baf2af2777d4cb08ef6fdebf5999499e56673bb6043f21e6d10cf45ef158eadedf7aeb48e780c01e60cf46bf54d180f72f86c696feafa1c8cadd1f5db76f7853f1d96ac0ba1435bfca491319acdc8f50c022de3e94a461ae934ca4c6e6b1d02b47f3c2ee324f1dd436608ffd80116bccb2306d459b024cbaa28a41562a91f86c05464fd14b23543b095aa372adf6d719c5cef7a027720e5735d8f491d0f37e064f501f57123c52443b48b7de33a76451ee01aeef143fdd89886d4b92d7fe7a3a54b78a48b2c882b39b16f592068a676e1529433ef65445f281ac2c066ed57f86003ca3c6027273cf07c0c0b0adb2594661015eff07a95100c3c42c65667710b5a8617c8998d54b27f9069865f0f2deff4d10ca5362476ff3203a46638555c4a97b170ede3e45d9dc7a8dbc3e492f8f4bab94c1bcfea4a7ff189e3313a0aedb15cd91b572a65f0e750a6b7f670e0eb18f0b213b348ac29c55deb2b19e24ac078b6057ff8e5678dd6c270c61d55455279d1669348840ad0e7745f6cadc33e1b3775b731862587106b5a6b497fe6ced0c67f8052e723cfafaa7ce653f685a101a4ca1e704ec1f4030dbdf481553f37143b4fb67e8784100e5cbc64af8d648a03e62c6bbd3d22d281e469a0599295b48be0524beb65959d77387742fe70f29fe67b6b25e32f7a96bac12157fe3e48e4e9c117eb949a71c8c321ac3abfdc79c2a3eb75dd3050ede780096db95e39b912864ee236a7ea7c148b8e50146e458ddc76fb07c2c862425592bbbea63abb902a095c2d95f221bac17143f25ceba3f96098e7bc647302bc925804647f1f23719aeccbae9dd65d4f8945af97fdb7a93a15fbea22e9ac44f10d5ab75fd72bf9cce197e3708278a871084bce9c408645418ded554fc4fa1e2482d353e40cf453db18fcc57042030b33056501c30dc182ae29a2f9ac9264b50d8e0a59981b8b13dee8ae988f884c726362499b9deb60e14f5ae4260a14edfbbeb2e0fb6ed9fef5d0b25c66f25e839d7859be6443498bb62e3312cfa48397d318d844eed428a8adbda31faa5b8168611ddaa1cc2e07b1e971102643600ab8fd213c8a7597f0357cda9ba60e9bf1e7c217e672ffe5d1ff5d8ce52953d18355d43222ca8270cb710e2ea4219857f4eb71baab648b30c0f0d07f217c298612357b641c0643281592af8f1b2bc468383a86d3aafb62c4ff0e908cbb4d79db45dbbd4a5c4e585ab57d5f81f66fed9c239f5e85ae8eb2c960c147eb8a23cd11dea5ca9a29c3efd408783f00f380205e8db83f8ad5bce66e47b7ba0793061b86a8ca9cfa16409f2cd71a71f301205b9f81952cf039a66d3f005865ad012fe60c6367ca668d2d3c91d14383393d8bdf394ec1e6e8a791e25bb9aca4cdd403a0922971234d9b5cadc46b84a68c08c31d71988f9fbe330ece8f8427d06fc313b518b816a3b4ea1662bd71abdb16ce6598b230f66faee3f6fa01428292c916532a4ccf1502a998c7992cf92e51552af852683b55806b804b532974e7d85c31177dfdd74ef841aee76c8c0492c99edf686ea56abb21a92e737eafe256dee1c9b9eddba6198936137c77f6137c64bdae03608d15d40eac70971ae45127f1efecef00a148c570b0ef3923121b035953d8fbbbb96c85bdd20b936a9c40723349d849768f9788128ca1e9a053be6fb48fd9c85cec93e4d7db0232d1d8d77455957438df0ae121a2061b8b8bf8d371fe5c3bfb9bfc543b0fcc828c61ac410e95dd94d3011660a2ea3418209c2ccb83d870a6847cc9c4a27a3d9729fc63f193824d8c05f644d83e822247b3ec9dfa755d922346cdd93cd0fb2fea5e5e26a3f33cfceda18678e0af9533bd38d54b17988eb517a3c1f02775df25f8805599253e77851eab59c0ef5f854c0aa9caef4a603ee179b2670bac8a670699e2069f71841882be009c97d7605b40b42d27294a5531bc3e7a6f821b6c9266bac10b165237c66146cbb78c02197941488206b6e7df02e44ee48b5b0f8779fb6cea9ba06a658d7894f6928fae6bbbbef176bcafa4ac790302461b5712b8f9b61e3d0a0fd1a4cea36f4c8d57796a04ecbdcfd89340533b82fdb48651014988d627401a78fb37deae39b459a2ff59d0c2bfb97854ca6a688d46130ce372d9e810b849a2b2d13a7e105731961f3aa4a70de4f570ed8da3e5d586c308dbeb989298b00d3f3ea06c64e5e7cfe9e4b41a9a98618f47cc11d04057baf8817a6140bbea1e7e6d94da6d0a15f93479512b6b1fb11b4d0350561c7b9e8c1184211668b7f84e04a20f009f495b065bc17afbf988edae23119547e029b492a4153a93aab444871d05e00076075812190fe6a9b148ff4b8d5c160282b97b80dff010e429fb064634f85598053fb10d31e341f8b7fa588cb17461cc8cda89140123bd31bd478e08fbb16131a60f77dbd750c38f616abb720676ef70e6b1e3c25a632e6e1e167670a9d0e9b3a430a258ba61d37c6a1cc255574fb1df7d9e6f48008a324a0ad40353bc429eee71dda2f4cb7376fdff5c69231f9e03dc958844fadb4551f90275babe203ebca4c5189763d84da2b3900962eaf1a509d0dda8b6069d29df308f944c10a64c0c083e45fa960a8c5f863eb6f4fa7824b6799f75259eb0fd55ea9e1572cc7252e34c91dbfaa58a45ef0a221f2b055422534eaca7c8372aada2848dff467da06fa06f664d1c67f4c6a9fd5027b691bae5cbcffb940a4cc9a2a5908aeb60456c6863106f700b606cd21be81b8d5c0b82e88988e4a495e5891309f450961f1d554bd9ae63e484ac76581a678017e42c4192c0c150161c6e847df67370929fc554d95f43a9186d262a2bc0154c0b6ab210deeda37247a6c6109e4611a53e9221527d1072e416ddf4fe7fbc41c82ccc4a439f1bdd1a122859267a6e4b4ead1ff3303d6c274314dc96746687ba58dcf785ee4c1884fda7a8716b853e96c247326d3404a1c510fb77b4a5525187b9a4aa6ebf95dc9701ab686651a78bf98f64e5a9b42b1e0713ea4a019e12689858c8995df33e9f93b6337efa96ad7dc050aa8864c0fa0dec542d7daefc6907a3b6ce6bf78c329559e62da83e8c9b83c0097d6b836d9e5dd3b7acb38603411c68bbf6dd27011aa4d8283dfc96843d901bcd1594cefabbada99f5b6fb0827bf3fe8ad280a51d252e2804e77181cf9c7844662a15185ef451a20305817c977ac26a0323ddfc1b30a55d560089e0dca89a92e167404a827adb63b5b12c5f06d93c5c01763aa5f91365d540aab7e9b8b1274529492653f19cf47a3063988723916d89f14c932d73b11b617adbfde8326163f95c7dcfb0c09448acb3998b648c35614c826f31284e5b2190728e61d2e9a3b67cd2d52c66a5c03749a31f84f8cdb8723af5d138233b99907818648d2f3f388d7b5c9048d6fa9cd314dad22c88b613a47c203f244ee6050a0a368ad17d10a1f8c4118db0ce9e53895fe2820c2d9b8509762390a5e29fbe4d8efd4cb684b78a6e6a62f76b0c07e0fbc52c15adb47862e113e29872a81fd08e858a6c540f79675d036d9a0c8e736c35beffc8cee8a1af24f5aa6a28cedd6f1724a0f22c2dda33f39f27fdc60529329c324b4d0ad242d4af32c009d4593cd6808e8d6ea739e3b573bb58a0f1d79817c8beaa92bef82d246675cb27b87c3b6dc68eb40729eb244a5298e2723b54fa3624f17667f52a5fd886c010abde8defff12afce398763f292ce4f7983e6013e254ef4bf21eda7041c87eed387906854c900a050763d38ff2ae186233fd7fc357cdb47ce60e53c83bac73b20ae05d5c29e58fce84e2bf147ce4bf374223485aa621c6d2633847194c0ac31a37afc2503c6e9966494993c21ce0fd801548ca682ba44e4f2b68c26485d1cc04c0ea29671f9680201a3d6a1c28f054fb81e4a3372750f0aa9eea0b4b41e0577fc9df8c23c54a01e3d9e1afae44b8203a19a12ca81d3643b5f695973f30e3ab16632f73f5e09c5b573c1937e1fd6ee3fd8fc6a90b9e26fc1080b127e4dd469b5c64a756a249a398a969d058973902b790073f58a08c3ee5eb92274a07a270a616a7e7878e937c1cbc1a92136a50b890bd9d5c430fd6511c62339047d309972e2d83075d344a5abed9806b782e63e4fd03cd0024ec5df2a383b92e0f912cb8e02f7a3fd0f381e68e7a9894137e3de28370e80255c0ebbc6732db0d39f73129061533bae1ea76dd6e5fd06a270c03e78420d76760055d9b5e4dc01cb61c78c1b8b107e8b6455f675514804ead93f0c6cc6fd5a03ac783d5205685403d8557289168fc549ece9dcd1ec9c5e1bb96e39e654058c5717a11dea50d10a06ab47425ce67528068936d7d71d43eaae58926784bccb118c3f0d2ac0f9f482d14318f620867877c1e8f5590cc4f6118dc1cd380f0ba98ecc64d393c8c9e54040288907b85a9c403894ec4a04447a1e94e7125a284812accc4efd4951f3ea7c275ee8051324d8f796a72f5e79d1a42268a9924832e7837eb3eaee41a81b3a4632864cd9c1c76b9aa193893b98bbe3e8692113818d1d2131c7c2fd31aca9f7efbd7214fd0fa8068d002440443312e4d30ad4848fbde7364217917d499667fb9b79a84665d48ded89235c9a48846773a514338df6126caefbc0c6fb358664712b8fb9ad6c50285b97ba275c1b4c9e8f722c9112875367b4c697fe794994fc0592623ed3b889f10bc0185250618ae297b1aa0ff42f0719dfed833f35fc091cd6b438f7a46958f46a91c3bb3bf7b74995dfbf92a93ceb67e65d9885fdf93c28729e4232cfb114ba7afeac0cf0a9b0a5c76fe79cf004ea32113b7e8f5b460c382a39ba90514e382ab0e1ec8bb39829e89630a1af61a389f45ab1c2e452662035255845628055800c682168b66e8cd7184083fbe1f31f1061c36445fd814faa24aacea02911aece63f39fcaa78c394cddea1e6c4920d02383394793646214b84b4486d74926461428703f6a8f855f1afa58216a2139775091b9a4ce88c101f9989f088e2af8a2eefd40e38a6e28005351b9e6e9f4e349231d96a64f8ba97821254d508a3c3439c70a197de8e6a8cc174fee2b1d5a4090cb5ff91fa2348a72b6ce090a4476c6e99590cb994d804316dfd45ab65af0420a1d4510c8ea340160e96fb8b0128558d537af88236249ab026a4c5d94477beabaa2a895481c6ba82f12f267491c4694c6731c968d1aad1284bd56ebedfa73c8fe7644af2a5648ae62f262bb1df123f9630cca48a8606eae31981352c0241df515857fe3e4783312237ba3b14a2deb7e2d38c1ef025a0ab54fadf07fe1b3b1e4a869c6ec6c501352efeec64b16194c595640ef4a11402f0f9e024310f5a53ca2c2f5e79ccb84c05918e51d6c3d5b7dfc86052b6b1f428959045a74a7069b3c6e51277389c6464f6ae977f2f039f58d2daba83baa6a737ee5f4f51975f04e9d23b54609e217bdbe9a62b432d00d368a40aa716711205894214b587beab4ec754cc605aec10fa4ae0a18516b2986d970673db598ca80539cfe3ea8cc5060e30e69decb4065e2804e8d634cc221ee1af7f805740c9df23a3c7dd1c77b2e1830a4e0557cc90db8843b6e37bbe110fb05ccd77150ad3dd24f702369595dd5271f6a144897fc0fcb83540a5e43b79cca02309b6a9515d4a73c82fd24c79da70366400a8fcdf010d0e6332c8433bf5e0cde868a0c403d636a668c29d8a8a7238aa0f6350c5dceffdf75fdc74b00b08066523afa7dab812fbc549532a3ccec0191c7ca2e247d005c762ff0c74e8a0f360e68816e9e69575f9d3da7e4a4a6f2c0454d3da19e36dd7f89ee661467a04eb0ef4424dec6fd0278a5f61cee0d94870755b94bb72269c8e92a512be1e3231c28721ca9198927fcf88df9f902f3da2809b15dbc085d73685984302e2369314e5c4819e73c39d75280db83a3b9360a856ab2f1145cee52afd55592972d7746c9d76b1e293118324a57c7c0a247e27aa55bacbf8887f1a8632a07621ca221d9e93ffb338b116f4033117365af89c9c3e521d3756f880e28608e4edd9ac84c53780e06350942064d2f63ab4cfda82c8ee6edf89cf5198fab20d81691672ad04d35a61154a0f46b17437b6ed499fa9d886eb888003366a4b0db65aa17cc0dc5e5f0e74a79becad595c63003cd02a74ce3340c1c9ee095078d5f55eedd20ad6499ab1f783cefb5df9dfc32620ced95e55304c70532354104433187c493c510831b5609103fa344e56d6d90df48eb4ba36e195e96f3edf790ce2013b446a08e2772a3d9a5d68cfec4cc3d07908c8d8476c039774db4b3ffc5c2327ef8325c6ba47975538026b5d87e71cfc6451a4771e75c03a0e2243f2f3ec7b88cc308a63f917667e48cc0a1ff0ca0f98d022bd97673a7a92fe580aef112ce56f47b83e0bd0ad117979506487d5cfd496c5159763b2f8cfaebb016322cc3b0e7d9c8883871b86dde9b8de0a122158c14467df83dc19ef04cdae179043acbf3816d0d3b795c09856c2cf40349462dc0ab8fca9c3677942144a32694a7ecba71d35e4952704e2a61047a5a9a9a1adcd392deae3d344d1e2f226daa7c170adcc3e003c98951f6e282623cf08ad021d84f56e8250d2724cf97aacfb1980ec8b2d7e9006409ea8d9b89d4948ec41315b4cbe979c676228ebd2abd6047987386a0c4368a1aae06e802bed9a252d3aadba97b0dbce5b5c35b2f5dcfcaa027ff350df0ddec2b2cd4ad68eecb0368b74ce4c5634b045dc664ea7878e743efe0385b75c3a28c29554949c280fb4ff80185d9d68be3721f2ae8b628ba86ae05fcfe6f49c4b00848d412509c49db3963304f7e9f40e0342c7b311083595e361c8590337a4d6b5b4a301372c372be1d4caa1bce48a302c87f8fdf3f8e5a94b39e59e7dc0abc238b9147562f1e00a95147fbd8e504288630696d5243dbe2588ff312925d6919b88ca6743b5a84ae84f0b8db27d63426e4e8557a705ca5b152022308028b2fb65e7e56ff61aa12995438818092403bcec6c10119f7a88e8c69fde9ebe85660046a29159cc4a57254a1ac471de6ad08a6b7a1b94b99e23b0e14cc9221c8923e89c24f4f9e2c55bc4dc9067c0b435e815c6ecd2aae0fc3f0526fe37bda0ad419cb7b16606643d2be3b715360161e13c116969137b125e95e46b6a1ed329a174ffbd1923a18572956e107a1f5eef45502245bcd2d4498ecc6e2d11274b80ba7cda7b510002aa1d3f440777de66e44c399b2a9594dd2f12af8adeb4f8d11a10893fb60db34eb051083993bcd894863cc40aaa8cc03b201300dfdb88751775270795ac64b4b440ad7264d9dbc02e57dd1f5e4936b7b7a99198cc093de878eb3727b6d0d5c4f42a23ce347cd367078f9ef43cf489fc2af825769178fdb85713c8a3595d57a37a095cef698605dfda7361ecf64dfd0706b9c4c0606c944b4483d41e9b3565fabaf495ec385457a66865257b72eada37d471702442d1a7a01e7030b1c8a39d0363b55ce7a3b30ff00a3f6b02d0fffa15a44ddc283a866118487b771d7578d9193a5844b11a20518f0fe29e59b19d8a52d4c77c4dd82fa8fbf437854d92d50844e4a566767b1eeb2052956c71e14f7deec23dbf582891d8096ecd9e08ad20d9a627d22b480ef2447b45a889f07c5011502539cea2b8509f9b101cc8f766170cf1aed5d42c3105a96975ef188db1667f30f6b04b53efb72a88f6b71e0a585735a82eb5bf92d331969c9a612ace4e0aabcc9e5ee341499382c51a04140a6e7244e99b39c205ece7dc0dcca5b8a0e0080d012a461c505db2da300132a2592d1744424edaaf396921e9a41394f72f821c52895b3123cce7b9b5823045eabafbe2aa5285d10c176651b1a8aa6c77a19d0e4018c1efb0af4207bdcabfec52185e23ca5fd79573b13321eda6500e9d87bbe157785e39ac6eea1bb38e99b5e4ce7a32547ab758e8ed6e2ae5f37e405111e8535e30c0048cc324fe9f620f8fb2aa5ddcc03405aaaf22f03a2b2c0d5fe68ebdddf532a2956068984e51b62232f7e0ae38ea98d5405a18b9b299d1539dc185a09080ea003ad9a56091ebab74b066828f5c977ecb61b837f84a104f425a23db0c0bddd81399ca630c36448b140dbf8189b8f091efecc6fd71a7ebe97c39d70351c16ebb156445e0f57f666eb87effaf6a2cff0468141b563a5602ce20de6f32ae9d2045c7feede0b568e7899649b4ebb7b3082c60e270808ac3366e19944ec684e2327cf4acf97819d45c108edb81908b0b73a1b2f840c77ead5e61953c412bc516cf30426eba24773333001c8512271b587719b2d37cf8eb865d6a3d70eab444c9fcdfcc4589ae201416ce05e1ecc1301815a85f74fe9ca8fc32bf22e8d91a8753fa078f018d3aa6974bb12e57e475b37c4e1d7aeb10e1bd41e0f9d4d3f1be5e60795ca1b9d509eaf8c61636a4f48ed3fc6e96e3fe7712c5dd4dae4b09d1b20c727e6086ffe33e9691fb4a468835f13d70bac98552bcf693c98909f78fed4654543d1fb0b0ef2c2f7802ee2c05337b0cf1a28af96b723f25004c5569192c5495550017d11499aa3472f7c8f0bf2932845bf78ba9d0850d5a9e13d5a4f28d5730b0ce2ba0004b7cbfe0358db3dfdb2bf35d03db885831141b6391b98b43dcf09593bb6013bf608fd78274c471a6b63ec8826354e0deb29a34b3a47bae35b39e3e9dd0cb7d40b3c8beeca2864b94c560c13c2f50e3baad756af60a99d0aab5e282450dfe08e46b7438f7388dc8dfa7850c3f30ad100f84bdd104eaf1f9c34ec670121ab123db6156318bb58918d8b49fa7b5fd7eb64fba925a7a38d3b8883b26829df2640d0c752b9cae5b7dfe082110d07fac62569f27b320d1aafabad32170cec01db861928c6e90faa6a2863abc78869b0ec0a5c02ab0f82974373b67029dec84edf7c79eef344a5b35b53820e8f7826fbb1fd15e887398726692fc932a1cb472087cf4fab689129e2b24465a04933200c390e7771f40011db1e9782579841b2af55d9ccf6ea906b5f252d4258c20709699d5af5b5485e4a388d40352e6ad22e7f748c8b84e3824dea9800b183c387bbcffb4a416afbfde51db26d3a25979fe885f1894dac87db6d91b9fc244984494f6e0bad01360d8c9239e85a20a631c0c37493e153626f738ec80c8d3e0c2a29d5ebb75049bd4171ca5b10fd1155cf5b6ec33799453299be4e5b73d7b10971a52019535356a3443b8b1afb4bfa29c82df2ac9cf1e5b7810165cf67e8ad37b1d1907972f2971050495a356776dfe314a4cca418a8efe9b6a0b4ec9c789c9f05ee13d5c9a0b640a3a9e226720af34e2402c5023e1fba3f87c0354e69a4f759bcd66255b23e0f8d0a031095d1e34c0dcd3578bf2cc066c344064882b7c1a5ceb868f0f53d023a2bf2c8f9c11a1136b214b83a8ee4b22706d04450bc571ff04c858befb7463962a616513c2c1e9c12bd8642abcd188c0a089a2a5f92cae9a3167a17034bd686afa803e0fdc07204e4a22a0f99970eb3bde7a4708647755ad8a55e5cd315e83fa22e6a769524aca24a9633184de47d6f3fdf9eb055080400c459319d9ba17d40bc28640e20258d54d35de9db5d5ac508fb4d14d8ab5af43b1d514d1ea3ab2bff3074bcf27ba6e7833720654dd6c45e3c90869840440d65ce12ca66e6a81d65842b37a9bd5d5cc29e99b78cb1f9f0ced53a004a237ace6ea904651b2f1680f4f4859f4552efe032ce016b71eb1e5440522d4962776318a99ec2b142f8e75b188e6727db4246fbc9008b9986e4fc2b34558d23617c1a197547d5444c62e5c896cf3c8bd04eea3dcfd0efd064bcdd1c311c5913690ec2cfb184c7f61623d14e65a85f68e615131851b91fa3da0101d7385291df0328fdbbfe456825a22348af229afd8852057da3d3ea012ba1f0b3807af4a73b147bcd9cc47ca4146a12d677e8d254549f2c34e8b2b84453fc469fbcfc0fd63cdaca4d8bc232fd744cad8eb9ad4a600f422236ef60b0edd4f00a7305960fc2df60685f8882f877278894b1ed57494a7e1d9a80315dc8b23b03dc71b5d628947e40fb55b9acdfce5235af11343641ce70e70938c6517a0e1b560de2d1e42b2217e912eb75a985c3cc4ad36e93a77e0adb6092f2319b5c5aad50e5ee4e7c50a31278e34a6c5aac8bdba2ffe9714268bb01819a97f397738ef353fc90e8dff4402efe397fd018d721793ca4e98f46b8ded720e1e597484ba0682cce5d331bb4b47ee9e218ffb0c48a60977c631733fa95c73616a17645af7ee3ceb86b8af44cc821b9224f314f55e9a2a94b95bb0ee0094a4b1edc75c22c4d31b65dd91d75a3d5a6c34a659beca18eeb78810cbd51599ae8f0f594025f93291c97f951fc33b7009f6e6e318fdfb286c4c9da9bf0b5bb7337dc3cbce0b187fcb07599adcde7ebdadcc440624264d964f842763b82c37e4bb3fcf733d74bbe2ee6e943afc7d26279ad34042e3de240be4eb2fc90999a485bf6401c7ba63d5486c37ecfb06e36ea95bfa54f4cb62846dc4885c681f64bdc9df4a8f0e67ed8d1bc1cb6abac7d7d55bc7bef621b48af3aa23313be8820b61070fc9cd608bbf8d9bb078ac3ee7abea38dd2113f6e6d0650302ea839401b85f9486a3315f23cc5ec19f2df1510ba6cb427a0754b430b6465d33753d2484e03bc208fec8b9750730533c91bb5347bc8cc85bd93000dbd3f2d4100413e360260c940cbe9400126c2879a529f94e883e93011d32f04de81069c8fe8d2c9ccf37c930bd6ee4321791ca47f5be96096caaf720039ceea184d94e0cf67cada471684f126d398175ca8669308887b71cb247c0bc8bfe9e35fbd693c9cebf64d202de8b8ea82cf1541422f1aaecdc66d90464667c5f71a51ab83102578a6ddd802408640c6a5b4e3b9552883769a7d84ac2b87ef895588430aaa770652d8e9d10451750e0cd75b74576f692ee7e5c72ae09e10b315848e464edfdaf88e564cbb35eb1d520883601fa5a3eea08ac82ab048312a5fbffbdce761100a4fdac38f817b6e9d16843f8eae8dbc72c60890f798053c9017847d67d4ebede81e5222603c111f8002ec7d8710571fe4be70e6b74ca45577614ee1f80765639b68d6753f201d02304c1eec36b8cb919938387b009e48420bfaccf8e1c64719a8854650d53fcadc8887b6b24026a69fbad4fe0932fdc70071bac7ebdded167ead3d54f1f6d8f354bada22b1c09a82b558b87628cebc782ab39f39839a2a8c51a02f4bb47190328a97cfa0c3400df5b0cd1fe2e41feb46fd8cfeac201757920b87c0f603777e05fc4416ccc10fc4bce4b7bf6009ecd58665183f1fc6ae6649377c2fc362f76db1290c40e96d9a5b4dbe966fa194d3d58e24c5b43ff37eb9cde8ed744efe260a24520a7ad61934ed706c986e0234149f349724a4165f20dfbf016f653aad1e5704129087ff49382dc63098d5a836b061a625fb3392cb4951a1f6f6b28d0bae39c5837fe73f9bd9e13d086b9ca727c9f66c69376d42dcc0adec599c9de82bf9a1121da92594d22e519523f2856e820dfefb021d0a34118a5fee68bdbeeb8bc444af964ff88c1296d5130cf090f20993969e5a1a26406fd918a843eb7d45e3db5d4f7acced1ae2ed3b685c7870a7528304178a56a16bfe4cc1d6869d01e4ad44816366ee852e60210b25c76f1be70e840f2491a99e67f2832414e65ad3fef575d20a4770e51594bf57f45ac73deb75656235ff0ebef6c49ef16bd1b841d2837bd8bde054b7866b55a80fb1779ec6132a8ce81d135c2f9e2504d30629d001db53f04b05861592ceebfdeffcee72b2c3a1371db47219949254d2878b392c2605cbd1f42941dd87c0cbe56832fb946ba803fb347045fe9812b999028c98639a177fa335b6c1c793eb3e0f34f4567e3a5a154ea7d262619d5caf22826d81d4d2978411301faa491caa90c732dedcf4f31c258b5590e1513715e9010c9901e15135125556b31a73b51116691067379edaf18b40d450c138590fc05701aa483a1c07d92d02de1b8c2438b8f101eaf36f10724facd8d57f17507d65ede9240107f830730d2bfb8c7b7bb6b57b420b0ca2bb8eef6ca6874aed0bddb8557d71a1926149fff5eace4a1d5742cd2d47e688f1bf8c487f2f22a98ca12d5c8ec29d62a754d9b1d72460173062c4d05e237ff38488067b3c28a52ca081883dfe09ae5766e98a2c8f60a92773b9be8a2094b027845b65e89cd717a4d4a5ed171baf9afe6425aa9e44be986e02d42d91d7c94ce06c9e16441f4261e3523f10447873b8a2d435f187cd76a002c6160a30ef5093a1c21000b7110b7388e1662164ebf0e22c5a42a3a069a4cebbb6c92c3e71ae1977d6ce4aa47baca803ed90bb8461fab317967bceb876e465ae580f1b263fefd15d22778aa804567757f893bb0e2768a29051287ad6464881a3e5b844932d6754c91db219ade24e5342a7305ee57f5653bf999e4560ec6994622c3790baf528301fa3056694d30ee15464bb04353bb68a382796f9cb956e9b381049f32ed453cbd489440552799e3caacde06f61e560255d152dc904e58cac30ccaebb26e168cafd96bc30cd33bec2979c05a4718517f718b3cb45072aa10043390ed4852e5d320759d42eb4109aedae382e79c30821d8748592126ebe8574f7a00b540eb3fc0fec36943b51a7611a1d9520bc057a73b850084952473b613da3d42e5f7a7cfbc30f59c16c2c469c930f05428b3ed5b9519a7fdc13331dd0053d5393129747f546a45d9915b66ce67261a11c80fc3c83d874dc8e4faca1542b81520a2ef014977443d6305186a4741567078d2ccd9b1ea60caf5aa20079eb7906cd80aa101ae1dcafd4d3e219013a3ce1994660a3feea3c3c3472352600bd44d4eb109c3abc4276be647ac6f2c2e7c5bd3a72f5a4b771b608b14f6a4379357408d2f9325fdce93c5951d0f95aa276a01835d11a012809b19a1ea0224c4ac194e176b47512a686d4460c1683b782c2c7ae4d8875845a1f84de3e6ef2a360a5e94d8269af07689e74d89dff94cdc4c9723876957c227043bcb3ef5c6111bff9c1a4310cd49998a62593d99eebcca6a26ee987d93995604c2e25c2e348277c00a6b4799b02a37b3d820e9f15ea83a1a21c31d29e1a62a470973a56294ad7e21cb28bda2208b68c20aa576673cc8e7ae74f1d4b468f10e82bf525e05241bd42756a993e9729c3c81968ddeaebe57b71dfafd5f0dedb6139d50a929a8e0ab968612b30458b90c1972b8cbd3680bcbd96bd32c9301a74436e8b814e234f5a0a1191a7f8acfaaa06bdcab455c1f35904e476f80e65a84c31d809839919ee830e065618a2e5f3d68ce954f284ae2d50130e04f5b40ab6d9a3e4dc82ac7e0613e598214e43e0bce929dcfd24b8a5ced7bf79b0d22f0c8eb2d69d587f7e0baf8b4d3a36a9b78e33154d8f9f62d7e808e5e4c069b736ea6f2d94fc580d3ba3a008d7577b55621ad89db3778225e5b0c990d8423fe763f3028dc82078a1bc087e2d157e2aefa511fa9579c53313a4ba9d456323d1cb0592e0c526fb0e1fd012e87b93d67e94f38c0df3ff6b4948d0d8bc916f60653095b030728fa4e471a2dd24f253e318dfcec67cafd357342d671d819b43a9355979077399a516c1438ca2041719b18c5e6070ea70b466ff1715e481987a1c8ca26d335a8f789f60ab803079bf8dba8cec0a3c478b032b73ecbdcbc579d67517ceeca9c43639268d9f3c93f7d0af0803ad01d2191b249c709ee3b2846293396a0ea341504ba579686a6f7a517bba8641409ff814bea0a1ae976e61b3e96ba908618e1af9197e97820f3aa8f764a631c74721b4d798ac7fe8a198a9fcf1ed8e9da98efb04d9b7992c87cffe23e9f1b5584ee264b3a175b289da51e2d532825061cffb6fa827c22a23eb8654aa212db755d82d157ce84a1a8e287453fbc74d1baeb121307a3c86b66faa95c83a60ca2e059f7e537528aabe1619e8f4d8711cffda43ad6e9b81a8cb43f9d8e73a909d1aca8e94c8641e32410a606bbc1982f285d35ca25716bfda01b0dee4fec690673c3c898a5167b67a108caffcfd8cfe08e7232500d03da72452da9f0851bec68fab2e7e1d6f31047e9cd234fcea37f8f40ac27775535ae0bf3e684e54655265b86a4b37987998eeffc9a9e2b4a3fc30d30f0bbf18786ed79cb5dd6752662d7bf306849641b7991d0d2ee610c4e72d91c15d3a68d4e92b8a88fe0d3a1654378e8e7f541da7a2fa14bf3e57abdf796d2b0344a1a548c823a6a17f74e4ba92c312c7a45909c27f1d2b61c5c9fc385e11dce68ddbc92f2ecb82997cab1aa435babed7351e77d66eb76f05263e99b257c84cffde976c41fae3fc556ef8309617f6aca4d458836adfdba200213192034982342adbe214c9e8bc933c06d76f85bc8924ef639831d7fca0fab148036fd8c852992f9fcd24dd6b74cda7df7411ebd822fbb5f1c63d866763d9462a98eed765a26970bd63439f1684790cb88467e2b3023b9773282f97654b8b0dcda9afd609c438545d965b7421d3992113d856fe7e83d5679c3f758ed2f1035565f7704cd54a8c0b4eaada003d5e260a86fdcff035353a8e0ae6672f0cb21625bdcd8203d6e15f78f870d6eddbfeb2737594f566132029d9b7b85d13da5ba4a18391fa9fcd01f2b21a83bb06248ac278c0fa1ace145d8553ac38aae9372e4d6d19f45d271b2a86547480a1d273125ea0f2176fa998ba5a61cd83b605248dd2661d619db27c96174c1ab93a859fc1ca8aec134abc7bc689a94fa9379d19d9893ddff12015ebb431bb348a79d2206dba6032758900c3e6cf91864f003fc5180effba959c8d66637f84c25506466e07a515807ab7441a69bef6853f613d805fefdda36e5147405160b659832e51ab8f21c026c1eb220bf2d27fba3576ac5d49a0f2288e6e173a839e5be7e92a78f7df5529c8cd902eb5215bf408b2d3f90b2aef16a9c9d742241522438eb47c08df28a6cf1651964a9b2961f4fe991bbe4c88d30ffc840f11f2b5d64e1119ecb046d171b8af9850c4fa5707ebb4687498c0ba96b86e41999525b2fd3bd0eabdc6e5f2b0b29ce30652c84b22c81f7142fcd575a5d2d9e9da2b6805384cb042906ad9890b8c39aa5bb861f095811dab99911604d7ee7f627cbe25537914fc75deae5c998b99939663a2d03da07a1c24200aeb0681522f760d26aeac0ed8c0d1d4504c20ef2d08a153f3f8f39309f1e43185558edff5e1239069e6cf868bb102ca7252ae769129e041658229315d2cf96f595387da062bac97b31bfd108c1e5bf9432830c7e37306ee313ef1a624b2206c724e2f400ac81e39d5d7a0055fca219d0d741741cabf7b5a545590c3ef17c057ca2a7df98ebc473e22d52fbeabc9bd39d442b3973801342d1f7a5a72f0b872714c9ef28c2b40bda2b83276952d288d299df3bb3eae04e74faea71908c18cef611f6b2fb62665eb05533d58aa99100a55c6bd9f79cd8599a5bccc3642d3577ed4afdf6a500be3fdce3ecba9273fe4512ae23ee3261d6e0211507181b190eef0da150af05c2bbf70a7eb37f278509bc150d85c185814a121edcf780875b71b15f95020f8610e85d68e484f9e5886420438ac64fe9a32212c9b7a25ed189c05410d77c489557e81360db409e47b733e17d7865150746d0bb070c67953bc3f3c14c605684c2bfbdfeb8ed6b36f4af2896733b0a64b7ca5b8f4f67ccc9b3ad4342be4c9853c7c0a95b09b12ef31eba3967fb40899787a62650f43340eda3759de52ebdd72f9f142ee053dc41236c88bae2e43500435e08c1345d9a67e2211a26ff310f1fc5182428abf60dd08eec266a1fd6933bd1e3a6461961b8003b3d24b4a18d2929f86da60d48283d57129d0336284d6f8b5af61b38951f81c13bed378373ca1192ba9679f6f9daae2b73b95ec068d8060c7cedf2509114bc30193eb2ef8a366e92fd9d9027c47dea3d201a9769cba35a768cf352e6679727f86c6dc7d67c9c0160ddc15724faa55cd17a9b729d8f31a12c1b4e79e2bc0168e89354f431d78ac791278c72572e96712c89b0b19d2781d01b8714ec50ac00aa5636634cf44386867b7e0f5dffe8f55ff2480c4cfe425419557cc8ef25337b5a005be18688c65d6f2355052aaaa0511edf62176316e56025837b8df16d51dc7e50048a17af70fe2a7c040015a873df4ec5e2850c271fbc5d40e2c0e4317384d34a2e502cf65787e881d5f976a7ed09263b41f7e75bd5ca1b199fa665b169678fea05f791a3e7c7e77b185ceb53f07a18049c324d62d5560e537ce6216d2b76166ec475f9e561d19e86790b589f9a0d1b3aa4f9896c6d5fd763a9ae5b6f5093f05e5f90e679c711d81d0d572691861d670d90e6897506e51db5261cb257f43ee5962ba04fbc89dbb8b4032b48cbd7d50eacf59d9f2075d6bc15ecc05ff456eb64d1931604c809489a0a52f779c9bba50c0c6b2fe0f8cdf878bcd9816fca258e3b0868a1970a0895b287279e2ee917d790691a0d9cd7166e890d216b1ef830227fe2db5a3e84d558d5c9b8e7c4d2d93f9f08e4055fcd4e91c9b14b035ec0e2370ce59b27945c8ea8510b56757908696fe6aec85d21393de763af8d07c6cd32ec4512a6d82c6abed1a0583f11b727abe92ca5981e570168567c9a8e77ea7472cb02b0e7dd1b63aaba27323e14febd02404da073042a55291d8ca766e6f3d751ec47eda1d2d4ac91af96cbe5033eb479f6c6c516672b7742eac1405f153c65468fa2ce4a3116c063164ef87a0d533951fb6bdb3e8212ab1f2d64eb198f6e3f5a115ff393b2a1083884883001086399871d1771f0c763507f9c528563d2fd981aa2c3037843483c887f1268834756cd4326533936c6a93eab17395f80b99035dca38ca1e6b852239c5500a78a2452358d5431c7aa246e5d4e91a57669d6c81ac6b9ce637f7c5ef2c9c038f7390ab2e10f44729e3919a4633534f32f07644adff4f39346e694ceb04ebd88f8ab82e1a69109b994554968df5a27230e017f24c7a34733d80ef176bccebdef39c66e390b931da80369a90a9c5467bb2db2ad0510ff70196da512ba493f2c4e0d521c402e16a230d5c3ad9ef9ce623e0fd78c0e278aad638e69abdc0f1b347083875b0fbd30c4c3d00a8f10259b4f6924ba6a6eb5a03d7af45315ee5bf85c21f65c69e5ae1f7b5b4f829a5b1f7eddc17b480a142e10ae530d99c0a4f5cf168018f8478b2fc6418dcb23ced844e28da3549b3c0763ff604857d772be5b2fe8f331c104f4ddb2cbddc2a28c689a22affc8904b9ba9c88c619e401d6e4596f8b9ad239d98046f910ec1d4f13a23f6cdd2c128fa820031ea46950ee293983646ec149ab31b779822a6f96bbbc802262627f15dea8cdb538fd92e18637aa530d24e5cd09447aeb84b9d03a7614d200e330983c40de9e18d670f25b47a34ba0531dd21e4658d6d25fabd1588882df9de85f3486b0073a069b0100713f4c7373ed75e969057ec2ce96a8eeaeabf8e5a6a16d33869801eedeac7b93db6e66f01704ad9992214f5e8994d4e1ab1916787205235e29145f325f390bf05c3335fe7d0d0af4277bbd71728e62ce42bd8e6fb216d0d86bc041863526b3aca6451a350241affe0372f6ebdbc0f9bca90e54885ee9347b926f87a1f8e5192a2b2385c31e10c5f00aa5527c6c2bd2426ca0ba080f783c7947670a59fa04ba995b7227508d3a2acf3dedfab78de6b34d9435375582eef1585390baabe85a5186abede498c6864d3d3ee369c7066ca36e1dddd303bbac85c1c8d99048da05fe06820200a320c9dd6648fa69a9b9e65eab6a3edf5173067171fd952fde28ab4c262926d18015cfa64ea315036aacacb5b9f67e9a206bc3a3e7fe6d41bf0f8d39aa69bfa20447d3006e2c2baa8cf49cb195d3920833fb344e0606bb6923fa00b78a91304b65e4e391e543f802533fa338bd54b1ff093470f7a14433fa8b1d3d180d065f980abaabb7b16d10507ce83e947ba3d811066ca2c5289cc93a13b54d06d2ed912b1c332f78b5cac5a835d6bdffdf02d8c93378c26a03fdf65202ec309663c7998f931ebcbbaa553c7980d7cbc36661138be456e249a749018eeb7d5833aff9d39a9a1203c306c81952121457445a7420bc6a1596708cb68ef0a25fb0fad72b1d9efc216333fd02b616cfc4c6b08427a0d36be3fb65443d50b3bdd04808ca09a17bb6fcf57c150d8eddc549a76247fc251b229ed04849e168a189c25dac70f399fd7b4b86705403b3a87b29ad54af519dfa4f27fa064ac0f288cae349449b249cd984b3bcb726b02789caf2f600a124cc9909af4604858b8e0ce60244f9272ede9f032359d13e3ef556d1b07a569f4c3172a002a922ba7b62b38b04c1fa2aaca115f0dca5ea4767552c740b300cbbe8ad20a2dbc2e1db190b855d377dedcad9039cd6bd82b12a71385ab78c2c762df2a474a9a7f85e26d983de35b116d8418bce7d44d679fcccdd8146c69679c867a32fcc8fe0dda5c49633496934ad992eb1dd14ff694ab6ee68bb955a6e42a526cd9faeb437b680978bcb8fd060218219cd6c2d30f6988e5186aaba3a41cdc60d845e175d50f61695b502adc3a40c24c80b11c3fdf424a54744668151b71a00b08c576ed6411a17179e0ab24a840e4c6d349ab0379c0223d74937897a33854206c3096562ddd1aa0ec3409110df715df3b70bdd83ca8a304e44e1e9cfd3e05a1cdfba29b26af68851fe3738b6c516862e0149d91d38ecbd0a8e02b2a83de189f318d70450111077c4a9c23dbeacecc7f61ccd80ba8aa8eef20088a3a6d64fec866f701e5ba5fa5f8a9989963749672ce870258c66dcf53279a9251c2532cf3801cf3141dd51fbf7fe0fbe6e26dfd6325cee73ef5ed32906a17da25f7bb0907d22fba4eb9d2756671ce7fdf9ca56ba53e0d18558a79ccb17173c4319d93e87222afcf1927cb49e92d93098182be8575768cc884cc283b06910c989c1e4669e90dc550f2269fc7b214d400eb0a0e8633e404c47fe8560ff99746fa4674bd51ed87e7627a2d2fca244bf4681dd85a1ad9493f79b7117df07ff39a16869e97f8afe51da9da063995d8dcdb8644039c4ec2178e8bf837545626ddc5b1182b129a60d4b994452ab0f4b89c80923500aa091b6dd31e74a55714b02367227480d6ac31a9d5a17e3084db67c0110bd57b7532fea0196fa2073da15c69ab91a8da2cb3f2760717dac05a8d659fdebeee993b81ca2f33967888974f8ca92ebe04efc9d40240bf5b8213c64409ddf57759e74c47bbc57e150e0b836877620840c8dfaa02d77254f733236d1a837a50b27626fc2ae554f9afb7ee67be844a256048a959276aff13a689f4a9a066977319c6b98eb5e706534b9cd1f48b7dc1ccbc1038e181d90493fea56f8c3d6865fabbab64c82afa4194f9fd7e1033bf2535779c230e6737362a01f122c35ee3c0256c2817c585ff4489333e4e64d2efc03af17adc42a46f16a6c8a1b291992a999c10ac923b0d0c3ce4f4cf5de4efade9c513c2d4944d59ba40b3e604bbe34a219f005b8c231d0e879417e4ec13fbd6e107da66046ff18af4023e4bb17042d4bab08e06fb69f7f23e059389a9e26d07d5c4a3a460408b9dca455351f992cd2e196814553bbed96703cc67bca65f693e39a542a25c774b1864b9e852e81a279be951c39a85a5def30420941eea2d8ef85821b77811a973b70baf04e847b5905f748ddbcfcaf898c3a3e7fa47287a81e4f04aa00bc18fa7bb6658a16866974f5b77e12fad0ce6eca9e677ed1b0f9d0ba1855c80ae4b66b92c32b952e4fc81c29f1647ee5dd0182b7957f6e2559842109aa98b502eb49d6424e44a3856783f1bb7eccdfb1328066b2c3a23667c1160677d889d53a484ed7dd279bc254d8ef65d126cf1eb678d044dbbe3ad9ec7066bcaf6523fa8208b4a548ca72490baead698e768c786bf923b770f49874825eb686cd14b1f431b8a83b1e0e77790701416b8873beb85f574410f3a415c7333719445b1844014eb812c215a1fd73782298a238bb5edd9a4a33fff426dd11dcdc805f2c19c72c9e94bda0a6269605d776bd730ddae65ea89e3d6c88c9b085773a80c8bd5ea372dfd47b82f3f75d2a653904badf4aa5e0a8a534159faeb4da5ab519acc1db2be9648ff7ce5999754081430d58135f0a93d7e5c15ba5926d0a1ab3364de3cc855f5c6830bb52a69bb93c41a311cd267e195dcc6918d7f1bb925f982adda68527470250eb47aa8bb924199f51c9dc35505d2ee6089433a03cb8987b3b3b255322c6c57cdd3e1b015bd8a8ba986b0bb719963ce4a2cce4ecd5967c211ef55d55c678f1f7e0f01c8fddf1321cd57939836cf358d8f9a19c7bfe7b5e4ea4abb8bc1788cffc24a0afdc2d19c54afa818ee8f6a85a1842100d83f86c1ea0e7b8c7ecee3d1c7e2e74cc770211fbc75f135c96fbc07bc17d4423c9127bee7fe30f4afb4e9f9643bc509a8d3d7a085950896df14b0cc24e724b55dd1e8ca2cc01d7b4c121e8b9fe255a82c32aec7d375741152d66400716d489130fcabacd78b7aa757eb06117a41f4ec858cac3c08f8ff1a7704c6d4b1a0831a00401b3ccaf1785ec1666fe7f2cb657c8dd2f1804a00bcfb1c0dfe1e23a592f87cbe4b5c86e6fbeb749d9c99eac663f160595c4e001b692d847598fca361b6239b09e9f53d88e4555f4d3cb687081e7b63fd9d29d1830c38d04806288741e03a9ae2140e91632d2bdd97735a8e0323b57c6415dde7fadc8b112c18041c4b814f1f30e585ed9e0de5dc45592e1502c80309e7cfe683c9bc37675e1c060618ea607e06f95fe12f2e293ee08af7b54481be82a5ee156b3909ecaee43168516788407361df7ee1c42348a3cdbfd276103957c17f31c4b6915277ed2d5684e502f8c049e2b9f552c1d91a3fad49f0cf3ddebb3bb097e0789fe787ca286723bfac3e957f65823a10e5daa880921c0ed7809e6b07ed47806bdcf60b0290a4e2be9cbd94135baf7deeff39dbcdee1591c89dd44821c2f3ad272bd6a33708623c8de516647429fd728951f00d08b930156ab05d36f04ee6fbc6ff4bfbed7b73ae0d8d447f144dfba752f1eb7a0daf245252be9e73d225596c5363c7cfad58dcb0d0f884ad24e7cb2c4f5991649395034f8aaea447d0b791cb0c824efc9a85aac7481762750f1ce0710c947b61de355e635cc5a1c80520f1472436c104775cce1579a3243316a03be0b0d9c156b4bcdb366b910865e4ba84c919b53e7073660c46962f34d6ec34e5f09e410f04c6901fdf2aedfa7de5d3502609cab5c089701fdfd2af050cef0fd4c5c33df4c902a359681a389e033364e4c388ccb0f77ba213a6e1105421b89858ccceab1a769eb2c9bcdb2fc738f9f850f273331f1b358ccc842f6bbd2159a19dc0c1050e40ebdd4965b8aad49b25cf551f59decd5a01bf5b9c8f808efd160146a7946244065e3cfa41716266f85254b4ab014ad0b35c7a51c528b5bece7b820c1016825f905a01a11028789d050804fa63a12b3a7edf7640a6204e8f65079dc4a5d063ba68a92e2c82348f1ed1a37e4518dd9d4703675afb79010ff2976ca506760c9afe21606138e733180a301c879b881265f61cdbc02b2383c5a475590393686b7a07b7398a3741002c27fb149b0e2a01ea32d04b844600085e6a6ef85c858e10fb2ac6e9f8e4d60422c74eeac4bf406427d336710f7f81d4283d227a2835e02d0f03c9ba5dd6c84f0d7e4c387db91eab45e0606b972a8e218f08e55e5447ae31eb0e7f22e0707fea0cf6ced69eb469bea2874d30f7cad2e260e08a72725b6ab47faba3e184c6bcdb3172fbf76e4ce59dc60062ae20a96463be64efe8b05f087b6346b19cc5ec6b3f4b2c0e55de07de9d21e92a61936ab1b92180429f01a4857e9ddf284c4ae912ba3e7db9041aa71d9b067c914a0158bfaec1ca1f00418cb3038f18efdd4ab0ad7766aba4ed680cf330eef581ccf609ec4ae2369b8d54809a1df8d676ce74c72d996c06bbcf6cf25a386b04d6af94e616ae405d3f84871e0f4a3498df0a7f1e8a21de5c8cd458a0dde52cb221007be7fe69b76bd06bfd0eda1102a48860e8c3be72d571fa5ce94e566cf2efea380c82e29629d3c3f9b473150413b34412d7e19b25b4bbf0ff5b2c555193df8dc191fc33b412e1d0bc4a084b42edced24e534c9e0ee6a206f7584d184d1123464bc1978ce9e5666404c5342619eb8438e2d979367d2269d10da48a9ecbe82a07832a7a796b60023451938a8d69fa0dcb71e050cff8d3956a4717cb5c3f060acd5fa8c6631ffd65144b663028f926116953b92a82d5fb110237c17686dfc565d5943aa31d1685304dd48d252999cd56e612486e311541988da6178dcf16217d68e2c3e24e55b241b21924244f2d78de473c2491f8409f6c14a75877bcf310b4fc7a82c099e5905397a207ded646999a180253577e2b487bc257b44638648fe6c34ed467084dfb915a1cc46c23ec80fcb6a9984f036958dec66d9a4288c05b75f0d428804ba8736622ba56c3cd5676589f4a84ac6c091415615e786910b4d54ad8b0bfb7583437c480292ec607e0a70c47008b1fbf2c367b4026295aaaf332b94a35da6594155441e570faf46e2e20b8e145ca8bd7dad00be517cdfd28a287044b5f2f64a278458a14be7013c98f885ee51bbbf1309ea00c853ec98a68fe00764a502fa85e5505d3092326a0e5a4bc7864393290287ab4263676638fa915aa0e950c417e6a342ccd06e2b89c40cecf98c58c0aba30e79736ef30ac37081a818b158925b829e3ad787043665ab6bf540a9d28e23ed8a6187467cc8ef25db56f696322529030b05fc04c7046316c5d68179aa8b3d99a74fd6bad853ad97c519938c3c533463459cc9621645318b6216b33873765f37609c73d7fd9f4e377056ad38411227501589e13ac30a9510a48fe1631521854a08acc76d5e5aa7da229f138bd5614b6e63e4a469646639f2bcc873d3515fe417d3348bac98178695de88eae5e5a5e55f5e5cfee58be44cdb5ebc222f1cc7712f1b29a3aa1792e7411ec5570e54cd2a5aa135983485a4b0c0493f722c25939b8e2ac2d854c1d2698af6deac40a520b22ed3caa6699ad7facd0a24919b648d20beeffb581f8be582da6faa24344f0ca6b8ae5abff62a94ebfaeef7e3aca0283f2cd6108bc562b130ceb9ebfe4f27166b1c93c874cbc8c8c8cc7891c3366990646cd69196406e13533ba666afc2f699b67915c8abab1c2fc8615d61217d3c80ab555d552578a03bfac282050b16d1513242584450547f5dd1b2ae68b92a57252d6949cb0b8632402bb368f5a548995a6b3daa446aadb5d65a6b6dacafbe6dbda403dd22636008e365e490f609cb11a233e4baae6b7dca09d8e93add933df94974e28109509b8b8ea1529271ee3e27056aa35d017a21d502ec772fa45f685ec5587995b7b4650a343429946559628ce19002d1165d8047d7755d57af1e609cf37f4d7d5fd7a55c8900400decef31aa7436f4807545d6a2fb22fb3073d8d88e5e8292d0523411d4a69b209b45ba7b2a674a1dc1ba712e25ade1bc16dabc262b6ba72279a222f1a6020b214747244992642dcb12890856a4ce37b08618326448d1066e4082f8a3af3b9e114906681149d26ec87bb587d658cfc92f55ab150c64a0a8a8a868082dca92288100eebcd0fd0d4e8e9025d6cbe17a18214196d5931e267660d24402353c49638b2b3f49f4a0ead7b8a7d96baf02e9390f86ed49af699f3d556975d34c31f5b5ed83641be935afc8f6a42fa2514e33d19c18f75aa8e08d0a013ae8a88d111a92787104142c21299cc0b102282b8801154354e16343855667f4008d1458315a6144f4e1c9174544590206565437306d9224b1ecbad6f38a64250d195aad56abd56ab50baa009c7c7f310cfb95a2d65a6baddf1754591588e67082304e156712401495d6db6ab55aadbe52a9e496e338ee4ba622748a1ec416e7d11ee13e051b534a87bca001e442229829060886bd11904435afaeb2e8c91e3ff69929cc401802e8af59ca612180ee592e7ec60029072404e76aa5c1dde2166200afeb6a31e36fd12b42ab18e28c2854317c2ca882844a08d229d32a7ea0ca5ef7a4aa1081dc262fa9f11d84a96b4bb00464c1728d2320ac1c522122f8aaf8aba9859934d24003ac52c0d088121ba05240f734807de02ffd50144d403a34032210074887666004fa601f9f4ef3ad723f4aef1e91d6d17141e14e9ffa0a1a882c3cdd02ac1e11cee31e7bb80062e44a2ae1b3e17436268af2c730ff96171cd58f396ff3fe058ca57a2da67006c4bcb09d80f659689b1c6e6f895c52e57a64dc6bd7e5eed85f16737777c7aea714b4d7f7c16cf8db86d187e8f2351e8697cf0f83cbd7f8900ae1d72cf630e47f79186abccbc7f8ab90ffe555a8f12e5fb918f752c8fff241f2bf3ce605a9f12e4a80d83bd0cf4a145bb486068ded39530d1365814a01afaf8098a9aa0383073c452aaa12e2fa7e532f7931758fa34c5495992889aa46a15b41cc05787d3e35889f728e79f7605ef308e1e4d3e71e847995a8bbbb737677f71ce436d90b0a0ab2464a3de313020078f0e0517b787491c3eb3cc282f95c7eed65051bb1d16daed6d51aaff368c88820b01619893c3d4858f56a5d441e277655933575c55177b2d4808034fa4949e5ff4d58a265aec8e183ce83ca8384862ad6df9efb90b6aa586966c814ac5e0c053b7bc26d1a296bf170d7fd9f4e78cbb4d586315eadc48c7b7a7a7a36c7943321ac60b51f6851f1214a1644f0409620890f42e044174aa8d8a0aa018125241716ad39f58864d53d6e050337244992a512fcc09c3057ee58eff8d3645cfd00b182aee4f08ee3388e3f4d7e6e398a3d3ca3d82691687691d827e8eee3ea47f4192fcf45d23322e11181bc2eed8eab9fd681dfaf08a00d4a46f18714e3b5ba9a5c3ed7d035e5e79aa34f3dc5b14774547847f167f41947242360d2830aa244f151f233fe2819c7711cc7711c455114c5718439912099304d9d1b4de94d7f1fcc4635ea363a34b7d80037b048b7f061b5a18613a07baae3fa0ebf0e5a83e57013064c3ed0c8170328091cf894bda9fb7d3914309d1713b28bd6dc7bad75efae9c092218e101ac39403c00862f808d31caa369bfc202bc1fb6dfbc0d46a6a4c9ae6bbdd33102c551bf6cee8a194216620b164571c3a2a8612c62118b58c4a209b0885718088bad23844a0266e1204c62d1572427b46635e6f092585c9153da0ad1d0bd4e1a191919894697f4e6203000b07a7df4240b795df45188f41e92c4e225ef359f90b8078b464727168330c232e01bf00830938b7ff00feec147ac60d10a3e82452c62118b58c42216b188459224311643305fcef071441659fd611d62c78f549d01043888220944196e1801939f9f9e23ce719b46ca386ed348594ec55145319b8253c20d0f1edff9dbbfd5dda6fbd377c2b5de75570dd4c523a2288aa2288aa20c24797343925505d9283f4e8e90ebc230ec484e4e59a654fd4246e021e36c913b0cd03da72cfd4a76079df361c10e03f414e8c501f66b710506290724c71339c712f96201fa1b01fd073066cad9bfae1f375d30c70a09a203d7c2014022fe15749be342825029600939b426051ca097a005952242d79192505ab51257f2ec562918a6b8aaf2cb3d7ae68d078fefb81516c0798f4f19ce3038662b5b99a68eb53aa659c21039a466a733a4ebfe4fa7eff3373b8bb1eb7aa683575e7172c8f86b967d8fec66e9b2a938c5f4fb4e27279dd41a53dcb9a7e315bc5c8fed355b6bd5accecd035c902f30a43ee4b0c75c0412a9e08e5a897a957d77321f67de517f1f52e490e842d23aec3b666266a5a8fe240178c13b72d85e87f6dc935a170e3270e2eca0ce328de36c2a2503d334a335edb87106820d02d48c00d3a8fa26dc27bb651e3725e0d82e5db00041923737247943923ea6086996d6b400ecf7c16cf5438babd4005b3fccc86125bd1c4c642360bfbf0a5585bd76377b5629b4a6614051fd443d551c01bb2a5183d08872029f150f7487bfb5fd7d02bd2a0444253d63dad7755d24b93a67706c2dc6185b6badc516636cadb57dc2188a212cec10798152c7d6e2cc258a5a4100838a0c883863e46206748a2c4f4e305020fea0061b26c898e2082b3f3b5cd1800d26f8610b32a040a141d5ff0fe6505497250652534c42cbd1a7f6eaf3ab1c7e75a504100cbbae758c31ae191a34a478523e2a19c7711cc7711cc912002122b3aae9db6c7491bd8bc6b01e52d4d2b53e2ad817bb180a67ae60887b7cf6c30f24c9c85ce77c5cecba23c040fbd994974346c607a5c138e7efc36988a24875c8c8b75b87a68cbaaeebae8fb931f7de2b756f78dc5b2d0644b3ebba8ed27bb30c63d73d228aa29861ecbaa7af51f56bd5bed061e69cb9225251cc59f481c170ab112eef924df98da830d648df2386618ff6c95bee531596efb76454bb700bd682b5b46024524b4b4b0bd71d08be2f08fbd8877f19f044ce5b16b95eeff67f1fc55ed859d365a2a91b1cfbe1ec4512c7b53e7ecfbe56376d997af62dd370cebf5f3f957d967d382f08a9e9a6f5c23c020caea65d8086e602a6699a58c3ae6bbf318a0f5e50dc254831ad14197557d334adebba8ed4125262a2d55a03400133325839b03a886519febe2f018d036c0dc80d99f4b96949d3a8faddf5c29c53461af5ab18e7fc8fb324578be90fdcdd4dde5c3abc344977d8df718d4017cc9d174e424115039224d720a98fd6b495ee3a5487ea501daa437588d6f45f69e4b0b473625ef7cfe152aa44776c15e44c3129b4aae4c5fcb07d4cfd565155abaaaaaa5aa5d52e591305b91e977af5d20fdaf611a0aacd53a155da53cfefa8fa9989aa9abc1a9717ac36ac648cbbce6fa040f2fd385e68305bc56e63830032095800f9ad720543990fbcd13afcfb84caefb351600c43a10aa213684d7f03aee429187e7befc530cf3237ddfc1260646ed0e4b85ba3482cf0d7aae8fe8edfbd6ce9e8003db9c96db0a98ea6ca436bfcb51f3ee880bfd37037aab23d5ee5a9218f8e7254f5ff7125875448c8c3ee8e1d3be6975fb7eefe35cb5c5c443061ecee42380b77f78d88bf09533205a9f0f77727e2eede5e5629cbb22ccbd2b3ccb1637ef9758f0266647a04d6a7580b28a5f4443ff73e4f3ff9797999a9aab0a92631420446a88a609e0e09042aec8da832534c10fc315654d81ba212923a777a847ecc09202b4467057aa65239d515edd807690705962cd6624832274364da39f569e736c907ea80ec4251fddfef4f3275a7db0cb27b2605296b881032f62e008881d5e6cc902b161f2e73d99539f6865a5361e4efe376680d0d193b8af4d45124cd5339376ee0aedbb62121849351e8e1deec36b55e382d143cf989c4e1410ee9395e8baf4dfb229b7731b98113267d391c9a3dc994b9171aa9e0e57f9d4e5f6a932205c8c98a05274010714413abd56aa5691a1ab5924c60d7da40e40a86f6d67bfd859b4863b55a65da43c6f7ce5421e20b2dae38a2091f5880600ff2ea62627b50411148586b49ab6c8557d84ad34819c65c96587bb9fd7e08e510e31d641022871f5ce4b0faa440dc15d54ffa81d251ac4de508a9bda436c5e779a6f0132449922459c99c31f97d4055342b0944029140e414926888e2d7ae0b539c5d42402c2895920d04f6df08952dfc279224498c31f332af694dae88ac665956adb5d65a6badb5955449d5d69b6538cb328c31ceb22ccbb222d488f66ec82ba452a9542a091fc7711cc73b629c73d79d4e2effe2e215692a805aaa18ea14383ca112c2be11557857e0f78517e8fa54af0ae57cf893be9a36504b5003fea4d7b0d64d57efc514c33dcc1b51b998623617b0c5244377bcd8922d3da51867415e1ec62b72c7df4c415cbe8657e4fabc67d65e4b666f8d1ad5d6c892d6c892d688b446d51af994ecebd3ec6f7a0a185a90aa5aeebbb870b3ff6141adc71eb0434b862c5c1355ddd74e3023d32a8200edbd59e99a38cc7921ceb9ebb0177e73f633ae07350014d9dbe5f6b891f0385e25b4e62aa1368d65d91d5dfea6efd8a80eb3d78d4764f7c6b1a53b19d47a3a6d60b5b4663bb7d3c71139a444ae94913530dc40992c5947dd41af1bfa5254ad36088059b0062c93c7ddebe9286fa97205ee166fcf861cd280fe5454943f163807a03b18a07777ed9ed23da5bbbbbb749bccf36f202020f7ac608c71373e23cfcc14cd14cdccbc9d412387949cb9214992246fc0f081354459965bb995dbf5e1e6a4925492401041e8016104c1c76d3014d085d23fa4a1d86d914a9289643a8a54b4918e4847adb24a5996a54655d723957d6a04e8205b292598ec934a5219005646044d370d4d4943436b6868681400623844598372734b299ba88964ba4c2da6928933e938eaa74f4d3a08a4a87e1b2014d5ea4a6f216abaa13565ab4fb4c714b5dcb6eb5aefee1b5a43ca3076735deba4d648f083255bc7a5a2aaab75b5dc26fb88cbec26ae227b9197f59a757997d025a559d7cbb0f869abf56e0bd5464f0eafd26d745497d0755e58dce6f2ae2270b32e170980554907188931f14fe4b0cd3b9a57794db984309e2cd7e78e3f107d205e91d6dc23b466344b7c9ddc5579c7a11be58e77bce31ddb7c42cb5abbc80ce28ea6597462c18e5b0bd334cd3b8ee3689a1859daac256f800415550cd80c54a8b08d1d17f8f5a973586b3135d5eedf2a093514473f8e8d86886c02bda9249c2a8efea6c189b4d8c55df46a2fdda724495e379f723e913736c84214c5bc75cd6dfd1986d900c36dfb4c716a709fe2d410501bd28bd16279684d3f0d35e4cf5e73d122b9c4264bec4c0fad2e699241ad66c9f5e30695a759a824d41024110309155b7767995972816dac23b4a1ed94db08e931bda8ae707090aa2bda029b1524e465aac56114c36e9c50868fae42501ceda4ae46fc030ace2a9f9143dafa4145ab8e23eea9630562056118866d2b6d455a652b8edbb456cb0589150f21646cdd6d921cd2d3c855640945e3d60b0a8c8d223bddc104da3e9a64da27d4d50406060606c60ea0cc0840a150a70dc750173900020b2326558cb4c0090e34c801d10c549c534e409d30cef9742a733032b0bdae8b91431e9512f1a8a87e700a0d830717609fe101138b2556b0a430216a42250923ce2faaf40091a1ec40446289b3090de80f765004123b20c112c20bd58f54c5d13f442505de7baf5b80724189da4b2bffd47fafb0160a3bc80ddeeb9fca61cb1660771998fcfd49e531045cf00115eaee2df4e0880d4acef33c77bccc54ce7367e7bc2794911d2c2373d46d76cef3c21503392b2887f4d471b3c68917f08e4c0e23b213f54e7d81489fba13cac89b358594343282f5ab57130bf434e9b88edbf49094d8e3820f720637bab3420be7799e3be7799e19765dcb4541c6d4b79f41b7b9b1d4c6940d851de4cad5ebe66de724e394d0a7ee46052de7799ee7799e18e7dc75ffa7133ecfef3b9dba0e9f8d85fad636a56ff2d450d05675ff9df93c9decee3e3269c0df7f626a7e9757a1e54b1e0ca56f79170f06218294bec5db69f9abcc42acdfada13e711f7689f5aa72a6116490bbec96e63d0405a995bd5a95bc177c40ff5ef5fd1b0f3150f35cb860d825c5e23eaf43fbb48eeba86641d24dc49aeb51169e6bef516331418a6cbb1ed5230ab478a5d25360273f55b5bc965d2cb586ce5a964bfa3cb3f33cbb0916d17b6e7ce8244ff2244ff224cf3e6f7654b36099e2e88e71964a7d964ae72942965ac18fdaa0602af96207f187294a0e48d90107669021d43304bd8109c8601d31a1248731543d43164b383103152dc450b53b865dd77a1721600db169dabd3a32cc1b3730bdae7df74a7444144551144551d34819c6b018a3b561052b50eb68d29665816c50d792b3ec353745a05f5268958be75513d6628a09d2f2019aa7a8242eda64e9d0400010000101c31500001808068581a160503020d6b6e51d14000b4f683e78683c17c8e3c1882047631806519451c6100308208610646a6ae818486121c26f8f5e473d40d7abe0157f416b5d6efb2905d6d32213ff7e6b9246839584f076497d979334c8ac302955d2dc3285e64f2024b5ca09f83193c9120b1855dc35c19a68ec021a9f8b91634c74ff1b759d106dd6c932032a0ca39b3594728fadd95cb68caa78f16249d3898917570157f3b255a15129df12f13a1cdd53829294f0501355e61acaebc1f040af14e9823943a3983573b0735b2623ecf3c73c14707d55901c55112f24fd4de553246a8818a143e22f9416021919798863dafc0e9dbda8e30c25e2a548f3c71c5258f76668b29c08d4e56b9d64c40cb93f9118ecb5eddb7013e5258d99ce00ddc3554d1fb2b2213e9b854400bbe38410fe91b8dcf7d7a2a763adf60914761896557353fa27674557b3a202c832bd7ae7e6079c7e31551424abb1c74686035e431e524cc15b08519f4c05c730a5838f64e2d75b22cb8dde785c84c8d8247595bc6cfeda748ef11b15bf27369c2c804ccc81913b5a64718a11b59551b58ee1b5b33b9d055203dcdb8775b11a5d486a70ca28e52f78917bcc0943998838b899ca5ae8fe62d263ab309bde92d921b867580426d563122d9633f85a2da1a1ab9021c0977663a7c199a6f801f24273dfc0f9cdbe706632beb573f3ed33953c260b98f3125c134d2f5f70e4529e02c21cacd2882695988b560f94e7da774e988021dbf9280c8fe3fe41165b2434d2a89b8fedee6f56a061c4ed6d9725db5cfd1b980dcdb348fce806e287af46d2b55844742377ecbd9ce7680b44633f834fc2da0bb0ead4baeeab1ea71cd0ac68340a2f8394b73b9964e0fedc573f0ffc3568c231bde896b812eda744623893702d9c628ac15d68f6b65538481110ca1ea6bfcdbbd3a78847c8774e65c344724a1e8d24502486f72f128581b6bef94371c770bb58f0b9cc53ccae2b93c3674dc0bbd7eb98e76baed54770ed2bff93626c9d67d8a70943b4a5206912b5e2a34fa07e37264b4d32a25456e4a816b68285577e854e076702f5126387b9afcfe7735ef2002622d5f3dc37bbba1f6cf0a06b0429b3f4b153a0551f552c390b9c3a3b00f9fb93d859265e2075c3c54171344397a5276b188e20692d7d0a0c811922616a5c0fb6a1156d723d57d872bf0f1a00d13c2109a4d793973e01c0fdd8301880705060158dc25dc92bd99a56623eb08e0bf5ed20e4957ccd1cc41ca84efa90d215d64f08c37c31109d64848d2c58f5f0b130d5b79771d8121b1ef72cb01654532034257df4c94ed5b3c4e3ce15bba3b1c5b4d19d540bd21452d18577a38e648ec9381032495d4b2ab638e23bb50befaba4f3dd7abc64afed8a3a520821f5c4c29cbd83baf8b4146740b8b5a2e4206e95e9da606011fe10936971a71a2f8db6c163b271e804a889dc4bd4912b0d04b1dd7979763c841ea703454a6bab724600cc6771fa90a03e80ec382b57d2e8bfa82385b0616a1269073bbe581e5cc53967a3338d7406760bc551933a428d3331975bc5dce7091ec2e726a00915a895dbc601fac562c8e6c5e244eec5026fbcc4d429eac804ba253aa6368ff09af0ac506aeecae08b803df06880988d3f9d34b6d2eb628d79e08e18a682ce69c649e5eaacdf4a781edcc8898b9f8a057c7009bff84510f5284242e9c531e575558fcc0e43fbe53e6c3cbca2bdfcb1ae9b06b9f97d2d88e9b2bba39db9a9bf26c83506e9b31250535d85452d57ee4e519abe25113d693338bfdff369b44bafb77da75826e0d9ceae3d00e166785dc901a6b21d0eb6df63a5cc38e201aed0f96f0d6672a72d090407d8f90c35462f35394dabbb8799a3b7dc1b5056a47069262bef3034c709faf86a8bc7bee142b056c2e23c06e6407c97de9c5c08977b2217bb2eb55f3fe4d87c3d4fcc9d878cc2251d018cbde8adc5dc87dee2ca5e432d83fc28b8cda5cb060ac8b950a092c9c320ae257b543bc38be0cc7488300dbdfdc05cb4b1c36770ecdebba83a4b7e9b20ed93e9f9fdbf31fc63fa7e215b6a9a02d1f406f6868d182d7b84aacbc545932dcea42b8f6c930ee30ea4ea12849327476e659469fc2f159af9d4a3c23745daa2c06d2c1d7ed696aeed3c4162fcd5073895eed687277268ac093ac3788289094479643a32f3be1999cfa9dbd8688628ab46e0648d1f28d5cbbc020ac1677a69bb7b9f26417491e05d3cd4e82133f91d8be9328086de693b13735113a140641e95c99fac3f406539b8ed26ac68e6fb08648ed03c6ba7d24db91f2409d4694dcc155b6c98c96f6b1e4b0feff8c1309f770ee18f5533d24a6927531001d6d82cb4a2fe82f484e6da8ad61bfa52f4ec5510ad7e41f8a394cb4b2349d53de50f1d79dcf7cba6d0bdff8d4577e788fe2a8f8a7aade69652fad6a79959a7a3490ee23ed4f1a24629692db0ef878d0f5b597ed6f0f8885e779e90c5a5cff57a50e2c6560ec9a1a50ca3dec37fab6517a37d36463d6fb8f69c1148f07d27fc765a5b6ad7770ff94281b1b7c61b3fced0e8b873d71c7160eafa41cb704b52892c21aaaeecd60b962601f0255f67a128def40212ccb1e33f8af4eb68f3d2cefc429c19ab03339782aa4fc78d318a71ed21a6770416de87f30e14437e067ca39c1e9b4c661319af2d8b2e75db6953a2ff3542cf5710a3f49fbc7e3dc58729dd9ce674b37e59949ee311cf54d2298e1180a7d2313574cf95efd84cfdc9dac2dc276b700b1f1ce0a33ee67d5cca14a2f56ac487226667591f735cb067969f09a15ab620cde58d0b0efab727818fc8b7c3547f7971c7604a15c3ef3f9ca6a64821ae66abb3298a5dac894bd45a32fe76fa9e8325fbcb096adb8d1399af8cb0b4ac1c5d83389101909886e6afb4465706ef9e546ded0cb300e8c9e8f3f8d0299206f92b763c990a4638c192f946ad329086c140dd8d5636b3505fc3c38004f4640f922d94af4a9564390f13ba5bc940f206373032ebfc6ef3350d2ecb40155fcb6679f7606e54737c935d43d9ca1211f0a97c84b42343a73302f8e087e84f7fcc41774cb9343530e6b923845a8402b6b903dd004939861814d29174858039ccf03b8a3e612eef187440866a04ac68dfbef92453c0ac61a05afe0504189e5a28f9e6d0aa92bc2bc103d8e2bf27898100bcdba1ce328f881293f7c673946dd15e35086320dcb32c4443ff0ba7d482b56220fb871703818eb95e3a41d10b907945d018084a0116197763645b692c273f6cb9c3a4dae4e27c13f7164166c4ec8938918713363418f7152b6bb32fbcf96e5af0cc33abcbe1b6ac584aa9018cbd6c79d003597e0f53fefe46ec571f48f77b17e8a7ab60ca215101133ff4595cfc66bd1a4c697b955b33f792ca6690c98a3266c46110e617a46800326264395513cac4d5da21df4ace002bcc60a0226cf2e323ddd156c8d8545dac2b2c2af30024eb8a84dea75cb7df11d715d6eefd4c522a8a5a34084ae753af34584d227a3e6d110074323a46d3c1387cec8a67886ed09e91afac546de3c92a2bc6d29ba996a909e03d621431121946c2847bc91357b862746f9a96d704fdd9ec90bb87193e14b1d6c7adf71b974cd38630a61c3a71d8daad2d0e94a6c4db8ba598c7ace102b073ac95e442d742ba5a41315a155987492e5fd542286ff4a637629ef0335848e0a83646aef4540ec96993294ea82a96d7cedf127b17b953531b1e77d4293bec13ba8b8232f0153d1a34193bce364f86784c4267f15800e77cccb4768df86bb3149c331f77fd64236f0aa1e32b5c5a412b8327c3ddba83f7a41825f2b0a71ce8b0a2dd51fe9d049283b38d25ff85f59433b9d6cb979c92544c8f5fe51e90d0e46b3df5a3572698ef2749052dbdb143eb0ab6271e0d03ff243b689112a17fb443912321399cb6591f37d21bef39962ec36637ebff7e24415049c17ec742628b61e2c5c7501f8f417de69695281a52625e22eb803acd0681e4b57be8faa0c0dad67a70c176ccb0c47ae900c83c69b97b4889b77ec0034c2791b6e94f46e205c502051afed21cae1414ef683d0f0984a28c01eebe3a45790630a4359e63088c16a198f4013e0884f1c53d558dc1a8fafd1a0d4c59b2345e361a2511c8dae195c61318f0487a4bcc4b68f30c911f47182405f9be02beecfa9b27c2de6a6ca065604d771df18d717f75152cb0391874b0479f56e10bb4423c849279a1651f43f705d2f4e4fd1cf0f9e0d31bf2dd8d74c4fb4f3876975dab4e5be5cfc543a546a5bf774939d9e54b57fd050fa443b33cea1194f6eb0d6056d2bec4ae797f2083d635347429a7e64442f6fc8b503517fddbc08cc3969cd63b11186cf178463a001f6b5988ec47b73a65b371b133fb86715f350e1282e8950062c173fb10faadcc7858e9b3d95efd01280c4c06c5e9b76014021f3c18aa19766533c71cd6253b314e7b07ce744cd07bb4d05d8d55fabe647702b9c36519e1982576daadf6e28056272703ede790bad19c1f6548c161cec32a88bb2da7a19e2dafd0f9b854d467be39ff08dce363ae18ee23088e62dc5ce923e7403943d279ca2382277f61162b38a865a5459c4d61a25e25ab9ec7d3e89a79ae8fbf068d1ba6f1debfd07cb221ecc4c228b9a74c7a71e6fb56b57bfaf6edfba64fc58a098c5222b05cadc0aa5c96840e477cc35b0118bb598e15eea37c739fd7e8567fcb5fe05081d6c93e1aa901ac5018c539c5e1699f46626dc61e1f9ced7b29fa9de026e1c9bf180654dde8c0a9fc246b14e554eaf35d3b8667faab63a02b7a317c20075e74f671fd6d0f5ce6a97123c7de0910f9345b1bc035882a969052fd1e70b1d4186a099ab56ff146a552d8240e34796688ec4500ca1be07da85fb6224657917c6d137cdd41814a776281f98e2432fca6326fee006117c45531033207c41c3cdbb9b876cf203ec72573c7ae4741811bd55f9799f5db4257ed507dce07e9cb567c4cd2a7faf5c07b5c8e9353c79c6a9119524db053a1c9fc500955430a6ac96ad33d7630320f0de977a82f5b40fd58aa5093ec07a5d0dd50ef5a89114daed2b29ad58284e26f63e50e0b6dd9b50d8d17112c664469580132a03b58817bf697da458c3c74c546790a0c947b6c48b5cddb7b10edffb953e977579eefe60eaf2ceb2c1006d6e62132482ec932e813dcb096649b5bba897c315eaae331785e47b7125f65ab400fd0f33a3b56e8753249f43aa8e9e0e115ee61d8be17ab99a013bd0eac80ebc0d9d2829b415a0ab47a21b1c30424801abeee818436a2d7b9c6b3e18a931302df5206ed04c859b5f5964bff22ba1a61aced0817d5ab9548e626874a73cfd1b35ee723af9af233e382dfc4126987881518e13006249f010e1116b346f3f12636a86ec6da9a6791723948957c36946a031749206502e1d7df9783d8816c0849b4f936b7841d662d49251e8dca4139dfa17762ddcc4a0a19d6e86af25cc1a74bc5b1c4bbeb73fa4e02b756cbbfd79356887a35857fd2eb9ac4f7fcdb9c8756098c4e6c56cd7106c576d377150fd8f489b2a672cd598e0b727c79af9ef997d87ed4a2f4096e6c50556e3e81fee1237b169a050d46eb712e6289dc553bdbb682ee051ed5a7431731ffdbff368981cd8fe4f967801b9e83ced465bc1327596f985428da0931da36a3042c06cd3c239c1c0c64d5135872d52723796b01e00ecc4834322d4ddf229b95c88008debc43728e7a8b76e5b2dbe1b287b5e7400f40824a1cd3fa469920126ae1606ad71bdd93c6f652e7360d041446c4051deffc30d492a6cc9b00c36874ea6aa1517451060b1f5307df83cdca15729e94ba032eab89b6e9655bc91ee85b0a1bdc8fd47d89b8efa5af847e0bea933f99f8c3f256181f3111d4d32042670ad2c2f997dee32faab8f727920015230f60e05f8a2f44cc457dc350fabccf76a85e737860777d7bd475fbddb4bd6d1e8ceb494c8309659cf64334307c7e4481fa9765771343d44be4f1ae872cb386a6176a3d24a9aba40d430e965dddc4462c56790cc721b62c20ee1a0747098e4338dbf81455d1f045528e83bfbd338ce6e06313c8e857e180a8e3c760d23312e5720ead0d530ec8dfe2afb51c706f57adb2e61684ca701cafca6137f2e9d049796c25899484ce004daee98db106267048f745f6dd1ed5a783b9c1af3848341da6b7c022e8ce3cec2bcfd3a9d49fd21a13dc57a1517595f0f1cdf9cbd4e1824640829ce40aa5a6547fa0032cfef2780b0d76a7a63d6fa3d693b3340d204452756e10c9628e17d99a7e49f52f5343e435038c5c6f47974c17ed21211c99b9cf97f05caac3eeb2456025a328eb90168b33615b7f7ce1e3cb151cc7e0a483ad716e9b5b4a33772a5ad628f87e58a329a8670c4064d9316896664008aa588b8bde78f1ac6880883c3375b049239529741b2c9a9c2895e4eb5addcfd0a704745855487997aec545d2fcf98d55a0df18d18a52fe8889f8c2384fc0b35c83bcc32aeb6a03d8a3e029934c6fd399c20d51ec0c370427f87961da1c02da603314930f16ba535c2fdb667b04a730783d3bc72cf6fb8acdda542233bfe5e85b976a599e56841b719dbc9ef03200531957fe6d9b3d053251ffee04842a6767a1263c9928a839030d2bc695e8555b7ef10467cb23c7a64e6d545c24723d62efb3b2a046bfcecfdd078ad850def99b2f5fa1b51f94cb90c7118f80102f3cce9e4143bf53c2bfc9e2b14e9c3dc34229d377b80f8b0c1d0aceae5ff536e8c7315d92aa3408908c533e1b4bc65ede0b21059b85d4bb8ab7808c339a89a2d527e02736b877a7288353e5103523492554e0c4ec9ac182c891e9cfc2f932558f8075406464a2e50756b259afdb59777bd23ad563d3778b4d3af1bbb9575fdbc742a90fda630d8be1c37e8f32524bfdfecd51d56ba1d3abf0cce9b72277a62f055d8cdd2c7447565deb14d3d468e84f57b7577c866caf21bd23bae9a0bc57a5446f58e34f3125711db3ca0c7cbb59d50443c010df8a76d8507d5196473af023c53d12969fd4f97a97403b8664667fb5024d9a9c805df35ed8b33a8f3823482f6e101a7a9efc05fea7000c87cb41b04f6f19928b79840622dbbc8a87ec5b6db2c64053c1db7e8d9d15fe9f13bdd5c7bd921e8e9843340c2423f25724d2a8e50fa149636a7225c1d1ea5cc1727fcc956732a1c511d021c4bf267b9e918ac941d907650f9ad0a0641f986c3f9155072b46f318a17318614e59bfddaa6a66aeef3654980d0dff44b8e0694270d6c9081bd40c1b989524362e94de26b125d519dd78319bf36a24c95850cf333d64d0bf89a81fc4361c72c64f3b6b513c6ca3779f9fba6051f5db1ee5cc3a5257cb654fe50894e5d0b2b6b8e7bb539414c8cfd951735d9ac2a80f4169fbbc80ef593994dd1977943f6b0e837ed4917b31ef449a5972b5a28fe30e092641945bb9a819684faeea77c476da8235f2f17e91ec3690e2263db9f56bed8b7e570b098e372627f26a12698e527835a5afeeec15f3c7de6f3a24de4e94fd365736c3b64cf57cb86f5db2e7e17019195db494a8d562db59a5b30b66455f7c6a25dcd9d88b3ac741848d9f558e11ee51a10e542901a353f737b407ef7fc4c7ea140af52e3e78d6a86ec7942e6945c5a8c70bcb66d4fd467f49ab4e1a6ad03f52ccc777fb8cb78b88bf10dfade2a37cec065eec0c4ffd43652fc941c7d6fea4d4a97add793dbd2641488341e14e2f1afe779261b4fe83128692b67c467f9cf489b6da75893802a8c1c105efe2d12c6fbd0bf4883b5f3c44977ad347bd96b39bdfae6cc7302585ef5c418770a78735d1551898d2cf18510b6de1a6943a3cbe807a555f32e6c523f75421e11e5000f7e1a11c2f4047a8dedcf3b3e69cc2c4f3897ef049ef83aac36a6ff62f432f1198ef2fb307f92cbb3d322462a5b9d201792578042f8bdf1fb7bc0b4b595df9feb222139fe3053b9b399e53a4f2021fe1edd706763c9ca0031507177623e63d49b163ae0e2f12993f99adf12d3cdd79f72ad4e696345ec65cfd6a476666c4e907f78301eeb7a1b7585585050b5d5157d315beba03a86d37e15bfa6cbdfe494265aeec299c273cd399bd40304261be92d9755c3052341c10ad75061509bb002da82ed2d5d73a838a32d84316cfb0990e79fc88ef28602f1c6d42cb497314aba668d4e7285cda90ec0caa4ddc9114d3f6b68c4bb5c85e767ffd78486d1a561d33added83468a9df5040157516c13a61830b340e1b64b09125f5b4693a776108de361ce41233122165d83a1a9bf0c5a1e115753d9a81ead45cc783042a6cb14a81db313e6b25d063fcd072fdafe943f5f77a216df562a8ef4a7f7060931e74caedeb630b8b841c69f8893b4a26c4135a3a6b5aedafef23503cf7941935a3cd25d5c2c6986d1c688905caa5dae7780f72a500abc03c9757e132aefc0e56ceed66e63dbdf69e97a09991fc81d483f62a009e99138e80e90cf5666ddb7991e5eb6c3bd8616b99ca522aad9dd0f2ed7dde132aee3b2b5bce361b4dd02acec8c2b61723044ab74c131983df6f48988e12f2fea11d5a2f3ab4150930bd6275f20696648e6f50f4d64133aed97732e1078783c053ed8e2b884c34c74b6f98e4397999611fa9245c1e789105437ae8f09936a05351b8229662c3b34ca88e7c68359de5bcffbecb83514653ac6d076b4b42e8f838daf3d0d5560f95e89f73ffabdfcec72b6198a41f0485898f7e945120c890a3ff715c6363b0d612b6027572eac154435ce11debfc183c53a14aefd67119e834bb1b1b8faf4d1be63b1c037dd5156304723609980d10785c767732c73870d864c5b107dc22a1f4ee59695dad0bac914f67ca006b5bf78a4352493d601ec2a8f95a96f92174354ae67801edd721797e327490ea346b20323d0b47f854f4b82b4433194eb64db29680a197b3d80b63a82ade9b3364e2cd3429151e870187940bb95049d750c19311f0e03fb2a63c52ff86e8143dea3d213e2f08d9850ef3a5f800367d8a6a32e1d8a47f3edf4a1acc63ff4f10b1fbee80efd071e6a9455dc8cbcfba82e8be6aead561fadb8c9c6f2fccecdc5b5da90774a5b9c566acf69d845357efb7c4b61071d601cfea5c614573979067c1989595487a4dcd60a2518f6213d936f1a41091091b1b651a6c62299e39aa860f9f775d896eea3d05ffee7ba214ca6f844dd345338a4e1de1d4ba0ceba1fd84f47317372e9a417e6d63ced954d23d1e795fc869d2748c50bab80a632a70b2b6199c42dae3b6a19a7ecddb14b0392b0b3666b8edf1980ed1a9e79fc6082c06989238843054cc27a080c94799d0b798f7f99f63590105293bfaff870593669e5a2f6a945349d450689e0093ddb717a495f91cd1fa01d5b30d8e21f4640cc726e1513b7961f7a9189b53291287eb6a2bec2543ddd19eacc51c9aacaec43c095789d8ddf0b2a46a19c8d3dc35390523d77fea40679b9713f11b7fa2a5db388e33116c77627254b11221a9b27d144d4ed67305ce6816756cc5156819184bd014628d4d9edf6d8743efde264ac6a1f68af720e228d80c5c39564a395d4b180e4088e8d71da718c20123c1892e5dc08ecc96b9a533e5b90a6757f0806951a4d8300da559c53fbc44800ec4302fa1846a391044c950b6ec0cee557a262a9d51656f55a5eb963595275eb549ff1c563e0ad0a23711732ecd1a04866991d6cafb55a9de052e23ae2e8277a9003836c8a78050cd6888ee3d227086ceed3fe2d5519ad7d09dc5481c92dfa198390d50f819f01404c6cf6f6706b5c022a204b3ec8e1d2950d7bb99c8f97e9b3eda326d15603241973a20d5959842a5ce9be1052dd79306868fb2fc89cf046ec604fa7f801aae4f2d6d3186e6ee886cbf102d41ec31949353ecfce90893a57ede7e269946f9e58c6f7b704c16e8ad8429f885e45994eb0834c9fdbdec951714714cb6344fcfd520136b69168f528b5b80dc9c76f74d300f65c2471bc963c4fb3c337c0994611eae14815d8cd5a44d9608369ad3fc915c5df59bd530941743c9bc5327ea0aa3847bd0e7a2e0b3284c8c39b3cce9939d3427370e8a46070aafa4c1663e5885bcda6bab73be34e2a8b14415b059dd22aa0841788433b174f95d9da37d985bd335673c08688beaec0bef406bdc976aa404822b9870c7338d253ff0f0070f8de150d77a715940be71846264c2f8a12456102ca74714f77ddc41d0a84908ae7eae45b03b7f7504e2f771553db206424e1f8130e6612e8cd90d1fc8cdc9c7262866a74f54e8ca07fe932e663e90f838695ce503051e97b5f1b7cd46793ee78921d9821e6c1a2e94012d06d895b3932c94ee279f946f974384645ff9c709e5a61cafb5019de6a476ad90ac1d067d544bdf5594a83a1efc60ea0eb00d404754b8fff41424115d7bc004d6a70ab923c21ba468a1ee04025c24cd8ab6d1832c71f375165ba25f9e190fc22e5462568faa683ab06f0a38a93ac15c2ca507c44b1df22702ce2641a95f101c7646cac02123b309b7b044dd9d87ea7e3609f0c7bdeb464360682571775ce6ccdd2493d5317040dfa7cd1ce63da90b549b378941d97b9f32f5ad50ec261c200c55435d78e3bc9456a722613dcd73615c7e578804e4ffa75f783f03e053a62f371cd3de3a46dafb522c3aac3f34123e69c32a14ed8fb25edc9ab03655dd6ba7134f105e69e7faf03435be59e27884a038af3235302298d044230692a57ae9a9ca6ae226126bdab427a243baec5b82e13e1d91550263cb10459721e675b0ceb42afbe377595192eb0c2e0d709c91385d337b35b68187e4db3cac7d00d6f6b1cffdbcadc7610078370377268d08c41a423f3c35ee692c2fabe2ceacea5cd40803d5cf89cc069d2c80d593ff398513f690355a84f613366422f16197047b0b01b2d420a5bb29f44a583e710685ed53f3655a3cb98bb6c2acd509a867d803864b20e31835a4278d31ebfda221c0a85e1bdea717b90982604a2e2efd2550b680e31ab22a0d0566f272427e49a1e71e273214db915bcca565b5fc3385551b5b8b126571d1672180a9bf0b472e2e43c94190acc62d6d4c5018f16826ed3cad8bc1f89d4800997a7962cadc4a84afd02420cd1ed5bddc0040c897ca4a38aedd2285ca374dadc456afb12bf9aeb114baaa18a34cc19220de762489eea3830a455b6f936e4843f158fed60280f8ebda28032cdd953d990dadf520b7323f5ff099cd8bf9d8d3a5d46c2749f0072bfdf4fd38100f787494695af3e912596888d271093d9816fbd47eb6e538df5ab3ab14888deda10aa3dcba2c509e164813b11b68e2f690f4fd2e45b96ba08d2dd4021e50cf1c1a46050f0ffa31d7f887625b06430f82a8446a1d89cc973932c8e7066ab43f4bcd7266dfb9415be996a971e57395e473945a291365910621601b6fcfceea19347938bd64fb8d26fe850f9c3ff19c22d333ef42b61291d0b85da8bd539ea6e2b151baa27294b2835a2c1e7458aded0bd1c3eb0e18f495d32866804673be93891e117ee4aa3eb45ce8abc2130913a8ae1811400c688d01ed1fb6211a98cc0b4a876cbc205505e21468421298bf5a12c87ebd4ec2afc70de17329ce36fe61013d58f634b496d27d6b382b52b235361936a0312e6407c3d21264bea87894ea891a6a91ababd40be2e510663f63b9ff6fe76b9bb4bbb8b8108325a905031bb69804e5863d6088b92c6a0ff70371a61fba33eeade156c26d6139ff52e2cdd2f84ddeab257ce9c5e37360e06658ad72a1305c74434275948b2b60b6f5e5a691a54c48ae1e05537c120ed66bfa66c602bf1519f3e84857c010bccb9fc9635e923e4c39e6fdffab1a7166165bba484e5be34e53b8b080c07e44fad5d966e39567c51638b820afcaed621f6897f55d5088b6d1992f573cec46c5cf2094a39066a5207b31322c35fdca6f7796af9f31e5e2b58a2cd293d630b87173ef899c6b3143532e767b3ec68f282d00061dbb1ac617fc87710ae9b2033d0d252ea15607832203c45017c43d614e2f4e1133efc4069f13e753e0149d8bf14730e64eed4e37a22091f4e416ffd3e7af2e999bef8ed13ca4124e5e7f92c23afb59eac770689c89348506d479720a5a6d8b9d4b8f4e61865a1ca55d8dc906898f8713d3fdafe94fef70643600d4648469d375ff02a749ce3e9b14d8c7349ee077c9301e24404a00f9f8c661029cbfc0ad107fc61a24993bd9d3113ff140185cdfffa335a1457552ded43fba7083b7bc7953b3b913e35ffb2285ca62ca910562a36bc5b498f304abb21ab1cd8accb920022e36e70a46ece8a5b1845bd75e2972ce7851434426eb7f0d8b91b460115c2b303ecdab43547128a599d26f1c4a626545615c377c05171340f21f46c7c1a63816953bac907957b73c953fc5f2cbebb528dba588b3df558902dc046e3d74738ea4d45bead78686b4f063fa1569101868d1ed7535157eb05979d19c8b33b1f68c53abca08ca4238b1e03360fa367c5889e345a4d0453ab17f92deac0316cb54aabac04a914a920e4cfdc97c8ad77893810d0e4d44033a9bfd7234e6f9917432ecc0a7abe6d101297bacd534d47e0d947784fa0c507bcca87004f23bfef5083a43fbabbf42d37e58aa09b3d09971d73d35f75a7f97fdfd1d821a94b441a6c3bccbea58205b3444e842a81eb1e1b627fe07c242b1f1a665575456d42236c92270b132af087b50afb434e20be8372cd0dff49f739f8460c482e0d2cd2a54da9591e26263a21e3f55a33a3858d5b9d32f20db2f281a16d280e18bd56a26be654ef281cabec4eb9f66a7971acb4aa93363e55117687e86ac925e26b4923fbe4d23c1cf5038e53a2c73de3bd4548df08a9e483f1fb75455b501fb05f1305f55dda277bbcc0d50d1fb103ba10641a16ed86ad170173e5718b4996986d3f2952ebcf8f7e13f9845efdfe4d3b12f0325ab4f6dd3e80a528c8d25149e541a7e9645e1c72e2b831e938e0bcb96f03aa66c9ed03d30cfc17b51cce0656ec43099a295d919c9181532c9502bf14be57bb13c1be4aaf393017fa29499f64d27486692a2d09ba59929486f0d9d852ff177308054559107470c58511a7d6588d25dc4ad4555ccc8d32f77bd72bf6ffedab4471889888528a51b1d03aa2bb4e151964ce9499e166779a27865fda65b1d6218fd819111382c39b97d51392712ba2111d36847585287ee4f85eed66d6c3a008de3e626fad86748ecb328b0c6ade47051b26829b65cf0708aeaa983c6b64db0a568d58ac6d260fdd8e13013117e0a05ef02b806785b7fd1ddaeef057180800aa18e7f7ca7a311b9d435e88e51b8687d1dc1f0ec566ad1217f64ba548076ad38d62ff677de87a3ef4a0259e9384bf8db46015c93983fa02007de699bdea7532daf93b98d93f5e9cb66d84b846b1e1d34392a8427bb558ebaca1b2f900a6a89eff976912d339b30c4a8d6e229be73fdd69007b7fad0718b35eec42f29679ece9dd0204110bc908dca032bf11968a7f942eeb7062e40ad148a531983aff0004f28687ab69c132f7881d5654a4929728fdc94653df53e6126278fffbf942e20ba05257d6dfdd690c58fa33e1414a0ebe058e0c62c5203992f78bb62a592886f676197fb20c1fb7684d665b4aa1a6f1f06a1cd7e75c80899b1422f3872e4b2c7b6f0417866b58fae42a431991444951b161ee04ca18f84b0361985e023014a29000441ee28ceae1a32bc0de1a0b21b12401d8b8d0ba99f2594399e649ad40a3f608df8cf09ee6088a0b004a5f68445d5d4dd684161d7b07757b5770f3c5a93dba667261b44ed62dca21bd8da6a7619de825d4e3fe709634d8434e12e51421e9015a0f124e9ecb295faf533cd1070dba371127b0ff272532c1d0ca6b130748e0f9ea26b8ffc87e288e6a99b5f663e6d9e76fdbe05bff6b0a944557a30e139d1a606e174a8eb216d2bdc29dd35cdd920733897304e2f8b6fef04fdc2dd9368a9e6877f85e508b00aa5d347dc8bcc9b6c9641029a4496f81aaceb039982dfff8f928ffc64b93412faeaca171f037069ea35f643d3447eba7077754953ebba363ba99c03d9344aaec8b9675c1c644e7b2fc897e1c59d3f91bb6a486b289eb077302ec0819b7b4e3425670913c8e3761164f420d72306f76c310c44fbba8089415e8683e17cb92e8b612ca6f6e48b93060c31263cc2b7b44f024a251366369ad8241a6bd565a0f9f5b08fd716dc0c275841c3bf052f3e66210b002af586c5be60eb53e8e0bf05e2aba5a1022ffc2b67ca7f0b98e33579cbe241ce2af0071512d2fed3ffdf0246e6299b88a939ab45ca3606e50d35dd7dfbdf02ea7e125d0194f356abf66b105d703f4ea7283f81863845ede354364340b7c18c3937c20eb3247b59bbc205d0c7d196c20504e2fb1d12b5b988691d665de102c17d9128b7bfc90ca3a1a9639e1176a13b38201e3fbbc3a2d1b09a09769f0fc96ef550c58fa657ffd165913f5d187b5579bcc8fe99bc6e834a553d9c5e52b8a0e80758ae7c22665a80ebba1c516d604735fa4ca4713c526f0146ba7f808114621d821ce1036038a03e041cb008b61008b27a4cf7a608f762f0a917225da8bedef4a9f9ded5191de0397d2c93cfef9d8aab4a99a2e9451b31b95c8bda2c6c9f93eed102ae862842a5f14144ee15667bcc0ba9e8a59685d02d1419eac905a15c3668f3868e574e3d97b4735f37ae932136f2ca9b59646da4a01bf9a6b4133d33c2ea26ba5c6ab3410c1f25a6a35270326869ce6df084517eebf2a4d3d7e42bcac2b9b352a47431c0746f7fe9d32584182c81f079836c517d5129a1c2ea10e6a6aecb91ee0bb2e7404443e804b26cd0fc0ccba144e1935951e3ecd86fe5a718f616888d9612791247a7554761588a4da3deae4e3e35dc30b27f35903b0b3969133c68aba1c53282be82446f6bd2a2bab1a69237cb68c6c8b553748cbd2bde4072885f7c170039aa708c14c358887ea140ec8e7a9800f25b5a0a64d350c4f0ce2e752aee397c2efdfa8b5d13460772a269cc5d67eb3ee5fbdc5b9c889f37a0ca0d6a2c5c24bd3bb7be56df7a77b6c0c80bc964c2f85e1c6a479fb09c19d2f864db6a426bb8ed9354c4684ddc3490014a26086c321550b244c6bc08d9224d8ab8c802aa8e89af920553e1f29acce86c64f1011fa22817e934aa4867bea738aabbc9dbd31c7ee15bf9cc41467a856f59c40dce6fc6ae63c95fb3f381d1cb2b7c32eeae1424b0ebaec65c338840e78862e302d6a2dda0461346be014b36d41ae655598210c1ba5b7bb75d1ee45a15a8b8d4013305e2065679aa0b7cfc65ade535d722e71b581252f3501f48ff5d14fe46b524015102cd08e727d89ac7197c7488bf387b1743445134bb53452c1930c6225e650d92d01d407b55a529dbeec0846e0db2678c11c7293d656557166cec652c57f4d7bac9bb968e31be6c4e32b989249834e4cbfbedd165cb0de58134d706299ec055b15406e0d6cb93e56bf46d57446cd6a7ba69639c7c42ab90a1256c538e28d616fef7a57fb676201fdf4db1a6ad6e4edf1768721aa54a0e548d7948999b477ac6f7d7b8647ebfc18cfcc10f0a0650005ff5b26929ad7707c87fde357c9dcacbbcab68633c85c912ee6c58789a3f0921feb7080c61f6f78cb09115254d09191f05e144a80ae40291a73ad1c4f6e3335b1418dabc9ae95d9a37345a9787ca1c509e7c1cd5289d0bc06121bfe7e9c56eeb277b41231d692fb15130cd7f2f8189e633165fa2ff25cb6763f69d8d0ad3cb20162f94ab48764710accb99a9f9f2f6b06768973bcef25526a2ddf81492e8c739f3c26ec40756a956a598d37588fc92c3c5f0bbf2652965bf0f1d6d772baff73a6778dc66eebece4a54402cbfdec6233cb27cc825db85c33f414fb3cea8b9d9bb6bb9653b4341ebcf955593d036f294993025bcda4a4a46fa97d94ffe2209172db4e899cf233988718949b2d49c0fa2cd23af50b00dadc42b1bb4edf7b7fe3c538a64f731e2e1957a0397ff4647e358612c9c7d7a51685052b4345646b49625a34a2db98131246f4887a82846eddca64696a79ec1451fa6c185500268e79841251d2d7261356679aaafd0ebd5bf1ef841d0e365ea380a59c2a8b1258d92275bb45d9f4698b3192b57a8160fa6913ebd411fd930fe3f6f1360ded91ddddd4a56a4f17924b74c08e0e25fb9eab660fe268e6263d8e8fa20162f195dea4889ff3b23eb0ebe983bda4a116aa3cd5326749cbc1d7d00c8b4b3a55bbebe0fd0afad86dfbce8167a79e97807a190bcde2b8eb67a162dd6e2a1261e7b63ab2345c30a9e740a2dc7cbd326b7744f209a9b03341448c3c30c854634e5ee96481b544817a4ce688dc92ba0da68d3ff44c5ab9bc1000494e27cc95a4dbbb261501c28258448b2ca6c3b74e82e24999518f0b5033f435a3e9269e1073c14ab8ced4666f8b9240b54649d007820fac874c5b5fb4c25ed556e8d04a78d27aaa044e5e456343000e87b2baa3a104ee0346d6c6811bb1bf519f3862568d882c83571fae29cde26f512b4e54b81ffb33b56dcd6db9a1918366695bc83ccfd163269cee68bf04079b5578064a940569326bd376ba0d6bef0db5248fa92767fefa69203f55e31203e3e2f6298a1453324a5121eb232999c18145d00d4d991f715a6caaa4d06954af9dd11dce6fc360fae64ac1b6ab4c0883dff033935184bcc58f21cf0d20cc962f91683be2adb3c0a5a864a58b8a8b2a2650340b543ba517cdc38d0d1c043bced4039791b6fad461a7e4242b76bfc17443f753072e70b131c42d1be176a837da9a474a3e01234cd22055084aefa27aa9da9a8f8dbf2d4ae92fb46c55676b1e240aaa557729b6c49a623b6805689b6ffbe1c0b5c23c7740b348793685b730279685c172f24996fc12339465a5a5982183311904ec28bfc389e253123115c2a59808900d3c75dc48410e0d6da9a978cb9d3e29451822b17abe5b96fc54733aef0ab47cab72d5e846bb4a9f4bc5a1dc6a409130884730527f36d57cd4d928f85860c7e6324be11bd8ef99f9ecd2949172a19c7ae06e6aa437b1c01b09eefc3bdb02c9c3f46ba4cf13ede0c35a376b9994af486b67cdb571cf40a865141b0ba184a36e4c2acad54b65c93e2842a8e81bd72802e80227f771b7a0e7c2193db57255d41e964386825ad491730727d08b55b4b6c4a9761afa7b3d19e00a50782f74a33cf5efeb4d67f3f4debe54f1918911b71c2fdeffc4e1490ce3af3f46f9e8bfb03e362fac3039ab75caa58be69739a6ab27fde808f89c58f21ae32e4db6fcaee3e34a46f3a6c53af1d182a9fcdc60cd5eacc40d2e5005fb94be93114f4777a1370c84456f223d1318d4b5acc9ad4f3438dbc82b9c74f8c106501a22c381d020f8332039b04d06adcf5bd66cf6b5626e5e890f1d8d397406c761eb81706f843186b9a42cbcc55689561f5026216ea605c4ca99d0d6c175b566e845cf8aa5f53ae51f22c3b139ce090bf92ebf42f07510688ad25ca33c3a938234a0ba388328b11f6fd7c76020d116472b61c392bae752b8ad0d259f1038f20728c9a54f4300b1f851d61c888d3529551244080e431c81221591d425a5289f3b829f5219a08dfb5a2b79c8bc1424c68e7012dd9328100f5b7070fdd30835a87e8c70cbb24f4774955c57b0cb61ab19642f11f0cd1bbc6f1616c577d10a3d86ef42edad906a1171ebf2f23464b59696a157c6d184486e7f937f0b9970e620f9b04b9910984a7f12e199a192b20ef28712ed6d835e248c5aa171ef18c5d65606f46a01c70a0907d7cfdc95b9f4a6725a9ec1ac508feabfcdfb451d740a0ed4db794751eb108bca532f6b7a09827851d0b4c9cc558aac2263e87a6665481e8ea0dce642bc96b4c744ca33141cb2bf7b0a4c6ed279cb9d05df085d2439729f17dff0f0be64cbf46270fe8709dc7a22d0418e50360aa1f6be65e2a51a1a7eec6234409858f1f5e06b7db869cba49f7823970fb89e1cd4325b31764f59bfa234950fa16c3091c9b8fe393283261e8de16e9dbb80dcbb1d2b77bdae063a5ccc0eaf46d7dd6b7ca01de0819d6ce692cda2f86badf0da9afdae5a4ed603efb2b73865cdf8d37c87d5bcfba6156a03900b57dd3562532c9c9cbd5a0017b2a05e65ea93554e42fb6c27cc4bde8b596b80243a32109f4285a18f5a768e1c5cb27b8670494f983b704a0092de136f1b30e72628ce860fdc4eb82c297afd4d17568dbf4fd2ea76b8012cac20d700eb92399c2189797ba1a5aa202efd7cbc7392b588715d57b27270b13f2012881ffd2143163873d23dcc423c60fd01aa3020eb4bc3f3c4c5301750869d4124fad144d4e7e357673f48311a6c51b6100ea2a7bb0ba548b30d3ce80363de4a4685709512804cb4dd7899b009dd8266301532cc40974816a16767454289b0babcde4d3835b1b940fadc142b52db9ce0b0496869eb3edbffa3c950645eef5637628b3ea93b84c2c6ea27b36d7c34db883dbdc42df5c6af94b9b20936ad069f8bd0498080c751843db72dfb2ed00f0ddd165b689a83d4062c5609f8274ac8b4aa50dc339896dd6dda2f2a46d307fc84b22e2ca044c68bb3f36bda2e85e5e73247d1a33a8ed598b1cbf2997f5aa21e7cb55cb7f4afaeb097a2c9286a8b3f666688acca851b22d5b5467f0401deeba28becd0ab380363a84d16e0664f254c39b814ee558683713cc4ec095606eb6727329483bc34bbe3e23e81e06fc85399e1de034b6cbc1c01ab0917e7bcf78f9c22d40b52a5f69d257a10b83c20e83db0c7a8ee8bee8643b0cd016cf0808a8a59ee2706a12b71e5b3726c300883c1d06b70e37b43697587260641b06143495064e694fa615773db00a0e21678ba4070b4348dd60a7390fe19085c7d3e5a2b8257d7adccc8730dc94dadd1e6bb684a00ea4a918cf4cf3e6f67cf952dae64818f670243cb1186af44818cdb086a7ee99db06ab52ccf0de503109d42ad6364e47851d51de114271c7285706e3767990c0c4a2a06cdac9c187473f97bf0107399e06afea4d271edea97fc048deaee29e40a6e35e2810b9889dea826a279ea6ca39e66ef1fd861bbb6e46f91cc845ae24e2448a7ffda920c29b79c609cec16fe6fdbf00f219cc67c86b877133edd1736c0e53d0000be8713a05dabc50cd9b27c4183e400e393a5cf0ace8001eef21cfbb3bb2043b8183e51d59b2456f5d75e4d3fde0b0b4585c61893cd37dafde2c0d09590bb89aef833f0fe4221fd9a2787eabfcb6c8646df5b745b93e2700deedfe56f724d034d48b78623d139416b911abfbc8d03905d6a36904cc8336f98fb1bf7921876a34b9f25a97733072f9016900e5e0fbd0612ec78311425a5b5e7827507a01467ba08c51c7d3b3d24b01ed05c5acf198d5ca97e33ea8c69ac62d3f1a816900f6c5e879520c27b9e936a1fcbcdbf9dc558ca1789843a134f17dcd83e4d94245d3141a78f34ddcd561c7cbd1aeccd5c2d57a89f90b71e2d698b96e4e8a7842b1d0eb5ad74dd856c3983736d79191d464c8c9b3b731dcd608efc9d832a0586dd08bc8cc547726d4e0248c51d72a33ad7ca98ab235ace7d823e239ca23832d9260918611e928ab7a0acd564101bc96a4734c5537397d0fa7efccc02a58377c36d1290289d737274952ba260679e2532d59eba76f91b2f3ce5363729b636faf5a02b33e4ba1ed7bd21ad9f3314e8b880ef3d89fa04e0aa3d7608162c7f9c863189bef68b2891d95c03964e4c7240229a784a182ad4c48d08e70bf818624db94cd82de3c4b2d7664668cdc651c84b53a211aff6ab8aae86a99926a64b99a18dfe87f975eee0251e77d4874bf681145bcc005f7b0127524dc5052ee1f906a98ceb196561d34e935dba343c51155feafea79a3192b8e2623e4acec9f9c552b69231a5e5ea8b38396b70db2babbe2b78bc8a32fda7e8e0661987a84f8fe5856f09696fb7914b3d89d376b6d100e08bb6668ee6a5d35b6a63bcfe674ea9fdaf8a26555474bf3b0b64cdf8417d3b2c9ebec04aa48d7fa15342469dd354123a67e5e534e881194ad07eaa77c7652cf44d5cdff4939b622abfc157a1de114d487ae0fb19f3be8576d88a811f5f72506172d98b11a77a3a2ae8be84d8a705e06431f6128446a9d386a195ed0281775a0a8a0dd35a42bc7b9d4206c4d2fec3bec6c3284f71084f1e080d75d09f947b7f49e02c6551b75eea13746eff6ab491d1241534b2ab09e7087016be4a5efa155da65303c24d64240dbc6ee37c33da8e9129d4635995bba5deeb8a915c6ea2e2e00f095246af4e770645c688dc31b366a7c30b3f02b6e4a841242ef9ca4675bc7b294e857eb9a1acc0f8fb413a42e3173dafc8b84bd5b0fb78836611f7a462a061632d1a85cc5c3f02ff4ced63ef642a0b614467382a1b24e5c966e0e8a30fc96b567e607e5074be62bcb45d88bcc95528333d50eed7e6dfc735f62b4aec5632fd389f5b4588058f4de686e23a8491a001fcd55c5d8ad482f3773adacecee4222feb2b0d1a7f84f8d0c5c7e0ca5f4808099fe25cb90fffcb2dca12c522e233adfd6010d52363816ef932580bf4b5c6995f651338ce8a54b9ff32216faa84e027eb0ac922ea1dd87c77bd86fac3a9c3337f49651429e43225e891fa591ee3b3ea297e94c8cf4be207bf10336fef1a78ed2daa7402116d7ee054ec8fbd55052c9130f6d9d67a36d3e00a3f4d595660245fc25468f5b6826a0684ac32bdfad80a032ce1dc1e2fafd8a61ade010318b4c54405d317e120a5d0e108da7f6943204e38add02fe9cbc47e6c539130afa3c42f363fc566c2c92bbf1cd47635141eb8b7137377ba9f5f1b6cbf7f857145e510b450155226649a8bde6c3423f136aa15a2966a2eaca8d9d6a9b7e280279b74f7e172c48b5ed54948ef6ba9da6d2d1d5b75af7c452ae974bbb221c8110652350f94c23f0d8774e2d23e40442d44abb8b05147e3b093d30e53bc9edb2d58538c351f8982bb025b7fa3298826165b3224e7aca66df0d2b0c9781f824c6074590b0c2b3e8ddc26847a9f325a68f70778a2b47d8038053ceffddf747cc37140abf7e531cb1f33d9d8138b79e44154ca7cd443beafa6d8950ca363c78224e51426ba278bea2fdd4780e7486271402d760d485d22a8223b3bfb4bd8c5ee6f3f7af6a47b08a936b0d45ceab536f7091c3a898589d474d3989dd85cdd6e5a1251370147259d5cf7f997b7d77b4ed98d899ff8120436748fc67cbea9c3869e4814604c84d38fed96cb518bd7e0684bbe8562dfd04485e6134b892903120212d26b25d747d6565cb6dc374ffa4c4adfabb19e079ff361abc53e605c5b422888115cca2f5467397b022092888d96829b15611323b5b336e48b19c587da7fee176f237c9ac8a50cff44f177a0286b61bdf3eb675439738c1c1b66418aeae6a3f110db18d25bb85d7472bb0a9362d24b8d58e33bf796c2cf03f3484dedec2fb08dcc3362dd720d04d9c06370f50b04e73afa77d9e716109ec9ecc348aca6b8f047f120161d1e65bcd422100b5c0312b3b2fec8b9d1135587298b74daa4fc0a87e82d1e19cdf8150e87a8b2faf88510947fe1aca1b4a7f02cef95bb650d85dc4749263425441acf8759d8c5ccd80d5c8392c7fb99913baaeebc457a63377b0ab3d6b8f1c9763357172b06bcc293d6b6b60085d167f068c922928ec2d065720958603fbe718878b942c378cee452352d68a2310533ce7ba1aa3a9b1d98535337a74eeb00fd4e566e6351228cfdeaa915d78155da7c993c5f9778e7374a1d273d1d47be142e624baa69b05d29352fdfbf6e16c417f6520f299418470f45c9810f1b9fe43b3da503197671b01b8650c7c1a4c887f17405b97b15d630f49228156608ef67e532e49f2c6c483fed88cc368d7f2806239c46b9e657a9300c9d1fbe31c6d5481e4cd24c48bc3bf4d8486716c6245bf2ee7a8c2a23faa18eafd3586d9ca9e9f8168ece2ae0eeb41cc4398e03ee8d47c4d1c30bf0c1640c7d21344e0d37f86ea107b29e2d7fdd032f8d5ea133325a133c23e5452478717fda0d40fc220e5f30b3c808cfb82e18d66eac0ef558948e613b7d954e51aa0b90d95c2564d3295afbd72b3d221aa5cb80badee7b4e54dde57b17c40cbd723acc239058dd4ef98ed5fce2e4545feef08d1894d218759d7b34ff9eca259542170c9dbd3d5da54111a09f1450fa3d6552194d916b6ad480ea73c412383e0433e4118ff3b9290cd4a7af716e806eee28ae2d657f678e84190ed98926e28938ab59a8ee3b2c334c8947a0ec80f44bc238a3adcd6743aaefd0b2625c7caeb2bdb5c278ca5379c8457b449f6c05766dc9286237da4c13f64197225c255940f7d64b039f3b2aa040cef95b0053eca1df0e94294fd2b221e4a195312cd61916846d03b044c57deb7ecdb8faf5866beb710e43567c0b29d18c9e8097de85351eba7795aa2114ddebd258fd9929e21393e26a9255d7a06eed533c2d3a4b4bdae6a78ae4e562c44d441430fc63054c0e6ae17966b3f6d4994608d5cffe65cc4572278e32b795ec2a682887c4f222834aa33d1cd1e13e2c71a71a8b8a2533cb42fe48bd483fc6c49f5c0923d0112bbe68686de9a938add593372d9733de94320ffc7b11b33598d35b893d0c2c81531ee168a6da0deb1930bc8863e3c0d66cab8023a10464aa5dc438299b6ccc97481aa931a560782511dd0c4275e6db17fabf9038702d17e1cddb4434fe266fcd11df65c21b131a69ec1af2116c73c8faeae9679f89990e75427420cd584028f7927914bc81799c22faa302a0c985d4f9383e46ce65ada2882ef8f016b539fc54779fbd6170347edc54a48fc217d34dfcb8c68b0d9a39555efc83ced15b83af124bd872112cb7c0c4fa1ee64bcd46ac324e3cd2a95d781e5dd62ea3664cde8ffcc0b3b3dac3240834633ec5814fe4426aaa209d99290e24175d866096e39c802f25452bdbe8733a71f9e439c8e8b3373e6e9d8932d810a92c3698d5c986e0a986ede4a0764a2841d7888a08320b43dc2ecab71c5c73eb974878278564fbb9fcf32615a64760bbadeb99af9b239fa3095a53c797a5b1cc419f1ad54e108550f5b7ad84e882204da9a5aa4e532e04a2b4b76588f293780e80fd50fcbd480d264bf0394e83e2af337c180aaf4315f9b6ebfa7502033a027f6f0056726eab1cdceeeb4474d46c85310a205d6f8680f385823706d1578affed2bd9caf6e38bdecef39543c047d81ce2eca7cc55f6325c9003ca629e7c5a2092aada1c69edd8d99047f84d6a3ff86856b68e8cfed46603d13b57bd13ac8f763da8d01db5d72f0eb3b80ee1c626de7203880a19802f8e0519eba3e10be473eeff59c58bd75e0fdafbf0b2f1b5870d99aeadedee2da54c4906cb07930775072c1c9ffafe23ce2ae1fb9138ebe5fbc6f78a109ad04cd3ece275d3df4abc45692a607202f3a65dbebf799cd5f28dfa66f9c6dfa7efef26ce5af90ebfbf7f1aa8f4fd7db6d0d0fd2612c0f7db294ecc9b7eb2822f88f4460022bd9111e98d4aa49914696e41a4990591e615449a61449a5510691e459a4591e617694681661d22cd39449a4d1069c621d29c12a98b34d3fc899e4ba29720d2fc22d27ca333aa730aa2671691cb58a4452b91de806d52892fc2903b5633343d6c7ce0041192538393fd2688449cecc721da201671b2bf04f14534e264ff0df18888446cd3c97e543f8bd84a9c6c27fb4f62ef38d9bff221ac7d62dda465fdd34041e20ba25755fd2b199156ff3e5bc8dff4d6bf94e4e8f79e7ef76954bf03b5f7517f27f52db775e5163dfb8d89dc39727f8c0ccc7e7f55e7a995deb89003fca337f57e30473ff5d60d5ad79e9ca005c34d7f6a27f7ebf0316efa61d67861d1daa924f7affa69bcf69801a705c04ff881e761bcea7a63ba9191919191d7b6d483d9ea0939c53b915a8212412935ab691770b9cffc4cf3462edd1c8d74f646a739e951889cac39f9a2310ec4ac074fa670a22e71a6be8ea62731dd346332a0f3071f680341eff775dcb5dfd771d7ce4cb30c92fc07bd5a6ffa4b50a3a4b16326a0df960438026e6bef11b8cb5e925cbd3255ebf77d2013ecbd4f4f094037df7b232501a6b59a512e57d9ded46a450d7ad8007af38db8aa9258801944643c89eddce0053ad4200943c0b89801164f746efca98db7e81a692c99a24a11439ce0c8870fb4266044a052461a21784209277a603080410dca90f11c3531c60dd838c18ddbd56af58217c66b05dfe7e5b8cabf26abc9be308653cea13553483f6725d32ca817140cd0f34a3928611c5631e5c586798415af315640c9e862082124fd486145d20ce89c4d8049121318d480054138d1810a1e38318216af991468dcc880ce990d3648220d2882c003113bc056a8e1040742148109951b7f990ce89c7da9d429535b1230bcff9ba9ad05451d497645e0562b9b09bb3434a1e979af43eefc594655fe5596044aee31080e4bde1105cb80ce998cc6b85c37d4a32a30ce39ed44cb643299e779e79c5fb72afccccc7481cbe6be9cc963d0de01b7a3b598cdd0f63c8c53ff24698685d9179ce779d6b3455c843becea76b5ab5d9de4791827bd92bad648d9e9ad47eb3317aa9dfeb63f4748103fbbbb337e2f83caf8fbe95f7e8a25d642468d492c2376d5782681cf2a3deb0bc2e5727da50c70c003f406c7d714fee0fe86403c7b8ff730c1f874ae9ce1693a71526de153d24a5298644a324263faab88c3e775dc9dcd8aced3ae78cb0d562804813bafebeffbbe17cdab9ee7d018af0f3a589ff49deae22d97b98f3771d23dcf6fb79b1227ddf502180c361a81bd2fbddf7c67e786042edbe63d3cb72a72fb80b2eaa7415b449a870384907930e52aa00538e5d99a436386d400a40a0e811c0197be73694d7522280f6e64e2226f449755d509e4b51b1fe6c79790692883987b7498113ee2a4c37c9cb65a760655f9f719d48fa0230c8956f93f919d06445eac8f689bc38e58c2892962fc49e7b0eeff9524551039d876cc98a2074ac4c0899a209a59e587a136c690027bc16a451b05d3832b3cdddb2f51ef7a0fea68317f6f42fe1ef4c4ef45daea2c543434708e3efd0356fe343e20fcd39fceae6bd24d503f48e497ecdf41660f8de5e9cde951ff80d3a34612b03c7ed4889f04a821448478f20d7df6905bf546c847880e6a6cd769a43778044f0f30fde9e94d49b3b23212f1108e6d7a1befb30ba21e4264014cecc064e70ba4225ca1c30f3d8862450f46a022b4831b7f50d401967b2cb9b70fd2901b4b7a74dfa6ded298a33e914ecc51459ccf198d084af95e51d1ecc9f9e43ccff3ec4eeebca73d898888884ed8e72826f7deeed42555299e8b52f15e9d8dd6ddba2227efe8f11c79afdad63bc1074ca4bb792f8fc79aeec7320cb4638f21d0ca2423630f4bf12425759ed77d5dd7fdf7ded7799d0eaeaf50c10287a3d37f457aa30adda37e43ae684c8fcd9a04161b4b0fdceceeea89f5bd6a73560bd9ba2779b45e814b37632d1bd371106db57997b0b12634a6af69bf6b6935b4633bf16a8e22fb2ba8c6681fedd22cad4945badcf7e0ae65410bbadb74b3ba69c3af9e53fdf1ea69870e1994e404f18133830fee6ee52ceefd391d67ed014a866a82e6341a0dc439c0fd74e5fb527f874274dce59d7454ba49a3396b005e446ba7b1f859cd15684451786cf48ba0202347ea21b3e81754fcb86a9f5f04f1cc629987ec4f7dc7777c87c6f8408bf1016e1a2a97a67e39f94d23b2dd689746a3d12ecdd22a0dffd068341a8d663a4a42a21d999cc80b9a17ee4ea3d1684e731a4ac672457dbd5eafd7abbe5eaf7fd052b07387d5d7cb63cee375f7672a599497614474538206238c286e9c949dbd95485994aaa8015cde8dcbf77091d11ce1f2654c0f17cd8dcb68633220d899fafba88de3ee4f4fc3d277a5ef721094bbf7c21f1dae5ffa2ffc51b2d5c3d8d6afd6ef2b6d5167a22110d06b80dfb87c8b9823a7e56ffc8d961cd4dff81b2897f1c6eade9eaef2bf9db7f376def2674f5357bb915694a90545ebc804d5a1ba8aaa28faa354aaa88aaaa88aaaddd871449901c3e572b990681fa4fc204263da49531beb3e65714770d7fed02a7fa2264d5e3eb87c70b95c2e97cbe57211b1d96cb6eff16f0097ebf442d684699a26b6383f58221dafbbd6eae3e34a6226314dd3344dd3344d33620eb69dbaadb9c732041e1053ee1e3b601e49b8a4b406ea201a4385d8366819fffe0932894d850d4e2785c466b581cb1e350ce2a4db684c8fbf9cacb627701f91b5459224d975dcb5f5c4fe45b4b56ddb76777bddf53a98f6bad0643ae13fe193c964adc982a50f2c7d0f96ec7ff65adba55caeb5f6d29ae601be63cb032cb9803caaec63844054f98e3b42d098252dc303bbf79392ba57e22ccfebec504e90e6b19f83112f971e14fbc58296d9f95a494fbba6c077b4b6dbc8d6c682029082275af2c07ef90b067bf9c05eaf57fbcb7d602f184f73f5da5ab96b39cb7de92f7f559e524fc927466b2a6c050c4b326f958082ce9989a77dea5089b39755e622735b1d8aa560be2edb6c2b500d7256572bf7da7975ad7dc459397c0e1da84930b3112fdb3752bf6c454a6b4320f04080737f69f4c4fa358c41a5ca2829362e7b192505775f613489061b2eabacda4649819d300baa33b5b8d8d1dd250392e155cb8e8027cc826a71b9f1825425c9c956e969476a6db990abdc633d7a7077747fed38c9c38a82bbb16ca4ca84aafc2ff84e82a5a6b513545599d0560395eed862bbb5749cf4db102734f58ac94fa68a4d96c5745126aeb6d49aa22fd46ff1fb72ad9476820da4309da546aa3c93bd635ed71e6b673a69262977676fb5b683e91ed94fd0d9492ba1a9d4335bb3628f195799b2db1051a3203a42787072beda3b150723b412b1e186cfe3ac9db13433ddd6766d1e9f5bb19b38a1314cd8e0c71d4b9b7c0510a4ca1d0d300c2ac0f6fb8a4638eba4178bdd6baef88014e6d29afef04b2f99fe5795bfa8caf78eb465b86e3d495fe8d0ecce9ad259f7d02c8af3e454dbdcedb6dcb5d78241b4522d4a680b759cf8cd5ba56fa4bec909021434a4061b6e002252e4f35af676f7500b09d2b5bb5e1a186a1aa7b4c85f5252b708f3ada37f54188ce0caac5a534ed64a69f4e21800906f07793cb891b68c2adfb1693ba031fe38b41964d0d0042edbc5826e35ac87bc6b2de3ad44abbc95e816ed2f5ae5cf7d49895443fa45d36ce630cf5daae876d516922a5eade6454269bbeee57156e9d2eeb2d251bbcbd97b6b75b5cb5b26a217b8133eb8b2d2442bf5c35abf63de02fffe1949c05a878bab9c85e4619c55d2229aa433537afb56484e905cbaf7ef1d3530c5a81b73dc948badf756abcad4c7c02e57ad3690a84455b9cf8c5762b1a0a058d04969ed0ad4371e7353d6b7daaed66bbb6b3b1b7e5094a3a0b3cd19ad466493c5ced5cc9157764fa6f131cba6ee8ad363715e8903a718758de5a84d6257289962d4d55a3b5103538ca6184d41ea4adc5d098100207b1f8631a8b21744c8aa878d0f27913869a2a4e01c39a6071f1c1b168e1d63a5818b56abb2fbfab6c80d6c74efd98a4170ba51c80d45625425035acadd1e147dda1ca57bdcbb336a94764f0fccc70496baae8fbcf43d3da55b2fe991d76efef2a0285e03cacec5506bd7ba023c770f79468ed4c690b16cd7bd15c9f047f7c04aa306cea8f57447313aa3d6755d7746ed8cda195168cc0f083cc1258d62aac159fd426e281a07a635a8dc9ffaf2b72005c64547cac90e2886efbbee4131470eb8122619e192ecd7ebb6d2ac511631fd80c108b8f45803713ff326a5d2e8404e72414e9e42a100807089738e93df9546389b1ce0e883cb317c193bd9638e931eeb449a3dd6759ee7b160c5bbb8e87069e1fc075184979be6fb2e2e7e6950b2024ccb981273f98854c89d23f7832eb05cc81403535c2ba024cd3734653b7a261772670f5db8770c81153b04e2e2032e5d303065074a521e1898d20395a1b9b41ffeb03477ceb2230b8da9ef654cd92187d98e98c6d4d1568fc6d0bb06e80fbac800cf0b1be079b536bd2bf53d0052185a675620454011f727e778adda68ad456b2891aaea70060f67a8e10c369ce13617ced085337c19b4a6ca8283aaaa0d2c1c6991fd6d28828016ec7071d206ad1c5779140a011f5cff76de17e294421c30c40971385318e274a69510072505bf28816f88d3de5dbb6df7ede6bafbbb5b2975c8f763f832a5313704d24d5bdd53fa8d2353164a6dbb385973dca7d93e78c3972470496d15a0614a0da88a664a257b1c379621c87dedb8e20299b7fd93239711c13679ee9711655e5e553491119d90f76b35aeb3bd94747796b9ca898dd4490430713f19c550bb60e36091cbd9777777af1d38b5d14612caea93db66c70d64e0fe8edfb1e37d2cdb96eb5bfb9de4ae2801607136d597f424bfa4422d7c49672c7c498756f892d260bea43515bea444e397348af825b5fd97b428852fe90d852fa9d1095fd2231d5f52a41c5fd22413bea455707cd966eacbd629e1cb76bdb06e94dde3f2f8bf6ca0956785dfb352d934017c89575fa65e78992fc97215f33e96f61be9002f4c6b6744e9a300884de4e4ccebf7c78854458a334ed66f416441ece164fd15441b15c4510ce2647d5114e264fd17739cac9f020a620d4ed63f4124a243cc219a20e2201a1191b4f922de1095bc787aea9fc4f6113bd64dc4960175500fd51780f882f8aeaabf126544eadcd83527ebe82efc75e177883ee6b82e8c392e00be3ece7de42d373b0900a29baee3a2ef70c2cd19f4c0830f88b4b8e9e0c626063c3842126a44518423949e49001dfcc2cba8c81658f815bedf87b360be1fc7592a8cdf2fc459e2a780c209df6f83b3747c7f116799f0fd3878b391565567159a4c534d2d4bf979d6ea79b0125c9546c46da84428cd69cdd56b8d6e474849fd426da6cb6906dd40b9bc10d15c4564c66687c68767adc548491ead46f35a60b4c6fb9aae91681e5cce10d43341954a257f398fbf8c9cd5dfe309e9049e3e47d266ebf8f597db9054a17935dcb2d7e0e48a293cbd832554ebe854419223a4754c31927249ab20f1fce53b2e842f711eefa9c1492f0253609b69f6ede7de6ab31db9da5dafe6eab5d55e9767954e94fdd662d4f2e24925fc8bab84971b2dad96da2e3d3bae536406bd8a5c62dc6ce72d7b436b62d87a08b7e576786ed78af1f3536badb79fdbcf2d88c6e858317c86b8adb69cc7e62fb77930a47f8971cac564e475dcf5f11de77117b8112de3efe364cc5f94066622b5e52f9bf3dcfc5cd5d6ca6d9e67491976d50fbaaef475a5af2b7d5de96339a1fe84710b469d4e2ca7da815cd75590ab20d795bece5adb55db6117dbbdbb030140ae15763a8d0deb180bcbd8b1baa4c7c7c3183cd4e3d7e186e52b95be8eb5acaa4ce1afecd0182196b40c8f93a085f970dd49a437b834c2e5feee9eb8dc7dbdd05132c0331d1debaa3ab5d61a2409474873f5da5ab9cb594ea70ac17195674fdd787c3eabe353f6bfb7a1d25990c699691e5fb624f6685f3b6397286144f66f30c77d5bef65e1c834cd24397a08f545904fbeb6f6eb04f9066779183bb9c77eb576c065c7a8acf43fae7638e9b9aaff96aaaa98b5b43aca057ebbe2504170bb9d1967f0c3a1aa1c04adc2b8933aa9ab2461fcb6b63557afadf57637e823a5032624c3b30685a695b74a6f8303de9cb4b9cacd9fef667414c6e0e3b0affb3cce5664eb5adb6fb4c6a9a0d12ddae25a556b1bd9b96e750f3d74ab97782ca8893b59d2927bc992ecaf4649a9b55aad55222aae5aabb51e39abaccd6ae77124d851956b634d7cf265d95bab3c3cd9bdfa647faf41d93f4a05fabadab9656f9cd67ac053bff7ea90d775e5a93d545c95878c1b1557d7da545c545c545e1d83c1603018ccb443b71ae62df7691edec4fdc79968953f2c0decc3c911c7c96ef9ebd63c3ae64b7c89c7a055b486c00dba7a1ec6a9d43f49ae56b5da2c0a2ae8ae5dbbd65ab9b6b69bb3dcb55c7f5e673f8f66a67657eb52ade5ee09190493fab69d55ce141ae9f047520c68f63f423a9ac882ce541123456231a0ae8ed8494ab377c78eb1c8c09e931dab2f3c80204a0aee07bd69ad5e2db5fe21c8b47b0526b0ff8afa8bdef50790c280973ed73c4a266781a22af7ecbaaeabb6fa08c98faafbe5b943cef219ad3ff7acfbe79dd5b6ebbabc5f2c3b2ddfe352ffc25c6ea87fc3a585e5c6aecc59f56fab6fc4a6cd5c55859c65879c555ad3d2dcd69c752dc72a595a1fd7cbb9f7cc87aabbbb35690d9784d6d41d9a47c9c19b835cc107515282ac951274ca9a5cd9fdf1c1d292c136b5752949810a5e3b6067025f9ac0e5755d9735694c5dc9f5abacc262e61572d20bd2eddf6f6fd005f2f19e4e06a9d9df52d697bb287f101f14e470c21f3e9cac384ed6202621d4706fffd29afbf639caa34459fef69bf2f035a84c0d40b663cda43549ec0ecda3f4f5ad8e755925de62f9fa9445b4ac31707961455e64446bace755cfb39e773d8ff3bccef33ccffb5a0cfd5d74a902f7fb99b233fbe52be4640b554a63eeec044304b66f5333607fe5413785efe18fd3c31081bd0da4b2e957ea5955261328b6e431406cb2dfa23579360e9e4220349a87409000e440ee0ec45265f5a74651a5a8403508635c7a2b21101a9e8039cc612db64cdd90fdbd95f047bf15c33f89b749e9639154eef1fe8c5716c4d2e45ec1e4d6917ba8922eb4e5abdc8f47fb384e56307e7249857c04717d5f675cf57dff3d387edfdfca8da5b114c6f0651f574e7e0fa64c384c34e44a5785ecfe120249029ecd68b52829221319369088888c1d2222229b4c26939510024142f3344ffbe0182a45a97d4343515c434343b536db04477b5a21d15a4163ea97447b45cbcc443be464a54237b8cb88b7ac1224ceb23b26985052ea838e548b6a116d5b6fb51dc993bccae7d9cfb39f578b727deb488e54ebd79e5cbfd65abfbaead7285172fd3a54238ae28531d4aff52b194a72fd7a5658edf1297da519e6f33ce97622d531667e3b6fe7edbccd680ccd66b5b3dab2aeaaaa5f71eac9953573b5a78c862730cd25bd424e562195565e25b91baf7fae5fbee04b13b8d215b549a1992975489dd62737ce1e5a16262c6309a8edc689dff3e7ba72bd2e6795deef9776f2197800298beca33e328f748abc8c78ba72d6c55dcb5d97f72f0243dd7854cbcbb7bc3f0e2f2d3750289e1e58cc054523f30e2fbb67d5c34f48f0099f765ed67226ea2c7cea1ec55d108baa0cd66b3921b4e6f4fe0ca0355d0bf5fe0d681e3943422000c8d881b02ab37c92b52dcfa4e5fbec273b9201555989d5e3ca4a6945647910074f9606b6458c680de812e27438035702c7a5380e07c799c07139421c9a69fe426b71407ddef7add4917a3426080e0d4d6024e1e7600467f08d78f957debf5b2d6fc45965fdce407f1127dda647116a1302d35a183a39709fc3e98d78b97b1bbf6fe32ce349ec9f28a4006249c125ce384e0639b246c040ca5edf7590ebe8c38c1f25999a0185990790a91950bc721f1d994ee2e7600db3f33c61b0182c0683c16061c01e6caff676eeb97b9bce2ae9ac1c358f20e0505b2ddf7fa4b650df47d9df8fbce536db4d080dcd6a4592ffa954ab6130180da2df3e501e1dd432ae0e724f2855a333192d38dade7e74e4030aaf594607d8566bdbaa0d6683c16036213a1e9379a2e2be670e3b61c81c109cc37718f82c6399c2e369544160850b65f81c825c7839f0b91128c07a15c58faaeab3ac20814fec4bc9ca71d6c686a01e3551b262aaaa3231570a749d0ef708cc6687ed00a354a6bae31d8014a6acedd55eaef39c456d7d2e7f25d066bbd9eecd66b3954ae0e781a6f39c9d76769ee7f795bcce14c26031588dc16030cffb3a2e5c31a5685cfdb2c1a9adef29a5b4ba649ee0662100d9bebb5808c0998508e42a8398afaf5c1a639f92f63967dd5c1f5ce1e185089b686d755cc7ad501ae3ac9625de124b5091320410542c49a3092ea880c10823b010830a29420471afa33b04d1ddfde665c1c3194e90b658c208d7f3585b2881842f76d678f5541e9400820646b0018417dc0ad4f0868082db2752602a5fa8e0642c41c57218bde0e3dcd3c0c137e4e2d9181a51bc2ed028f230105c1769d842a3206e17463c9d139c690d8a115aca0857e0a40b3771d3ee72601d2e389585fbcfd020813921804748e333f137a5270c508c1a1428df1250b6c8253ec91d29aa037b505e807b08284a90feab27b2bf8d0f1c1d408122fbe310cb5814915d6a409941b64b7c4d6b2841f9942d1a6ee2d443012297248d6679a0b8e43a2a6ad4af89af43b2bd7b2d03a88a1628c06ef47aac68bca0923dfb7b7825d39a174248c0604d9a00150115ed5c20b768c7be72bf777b93dddf4a0481897953b2d508605b99a6f9456d488adc28e4feda1644999e4004300118496e48312959a04014c61328a002061a41b0e60264e00219116a10a171831a90702e31043168f04ac3844c675e9c61330192c0af22609f97572e9ddea901ee9e243b42f4f693831ce0727504884d9682d8445d9606d141946dd23869535533c0323cc10e53f6c8fe323cc15e541fc034c5a622371879caea9e6b1a5771476e367c4e3384092e4d3426ecf2a48e4ae3ad1daef29f71d2eb732ac8fee40750300326424b84ac585200285c98c00a229a20010734344092e0fe36bd29c4ece10f6adf13c5bee94a9f288a997bd09b7af4cbd42a53fa54459f13a2c343df74efbd985fc8369ea9af912b16b8831a88da7ab8ca555edd5bfd12b8b42d6bbe8badd85b30aedaf1d93f054d5bd4074d7ca881115e04c9aadcf4a768eb02510835a102085576aeb8e9da3a40caf40608106eef0e0b6aa9a5f54bb184b17734598ffeeda6672a5314b06daf090129fb7d9a4beebffb1cc78d39ae7dd013a911f0fd2bd67059cc3adcdcdddde0bdf77ef7a5b5f9b6583327ba405ba02a50d21f85ec2f4355fe2de39f426bd491f3679acb4e2177ded7fab9fb77b7def47a2cac8c4f63fc9dc5b1ba3103f7fb2d27c31d81d0dcdf3f7a090b90c2747777973eceeb407c32ad842c0fba3c0d7fb464d4836e39af64ea4c9ec984f7c21f38f28d37b90b288f1bf4067dcf446b5c56333439b4c6f4f48738ebf4f46b70167efa47680dcbd3f0e9cad3ef1e5a837adaf2d4e5e98da78fe3a9094f4b48d117faeea2ad06a240d40a2132e5a13f3ff48812fa22a03c7a67e708993e116f0da92a7fef46df01948711241ee0219a720099fe0b94474ecbb87f2bf521e53173f28ca8eb50fa5de4ad36320107ed56c2487b19e90d2123cf288cc1b38c1ab8918e787e5c6e5ed44a7824c9b2e0d310236e9abc8e268786c641a4a35683caf8bb0b08dcf822848f588880db8816e5faa307f797de0b47b3f04029a5efa74c1bb869f724d1daaaac6fbfdad1abfe40d9be5881dbba1dbddb4b15d8a3adceabb5a3752c57b9fe0b0d308be3aa3bd057faae04a4b4c57d69ff7a1d57eb93de46a4e8163440e8ace70ec6359205106730d1048d58cf2906165040c103263d48704a6870ca029771adcbda24d5daa4d0b83609193a16054994245902735970050eda28a2e6c41a612431c415413851f485107c04b1c1c982899cc510442b3d703e1c61933039d175dc0f40a52a0ec0851a4848e245174980c1cd1a407849c1061b61c0608b1c661b2c70381f4c3750818d96422a076dd9d05385148c8ed46fe1d11fec702da031b2a9eee14ac58c2ee5dd517677214018b5d98d4d647f7245630394fd7de0f80bf94198690d0b243c5967614a95ddf7e01926fb63938b936b609c690d0b22e47295db287b147a5235bc4c6b581431810423908869c1c48b2b6ebc8a247ee00514509690d102ce75048f0bd3042c9785993f0cb9a2c1c22505a4b486bbb65a23404a6b9c52cf7ed7e29e7ad63eae2adad9ba2bd19cb5952bbb9f7192eae00b5ba99b19a9939da9b291fd5368647f1d8f94bdbb71f76ca5a9619124fb5b7fcc464ba6b52b887c68a64cf623a3a6f982dd2081c59aabd72a71bd7678dae5cb96cd5c4a76503c287346abbca01ce6ad96ea40b1feb1c95c42b393a6c4dbe1f1603e30af65c611a13515a03516681e3e53d2a3e3dae1e9d33c67a7921e1dd70e4fd3fa346530990c06732971bd767876fa6c212bae980d25019b26cd3a6ef6ec34fb344db9a4b6e6a2bb68a216ea590f3517dd45d3bad6447d9aa63efb08a79e343fd3f36887712af54f923414ce384fd334694e4690908e542367d7a6d1facc1132a4b97a6dbd7d7acb4491906643610d2402c1d066641a22c4559e616c498391782ed66b1d2235d87043114bcb6921ac1ceee7d05f3b80c434b9bf62a5119382d436dbd5a6290a398bd6cf3df6e06ed7b1beecef20387a55553ba276a8244d3935b17466080000048002c3150000180c08058301915034a607a2acf614000d6e9c506a50978bc3912889511805410819848c210610300460a686440a95fbdfcb55a4a453057f91fc6de496551ca5df526b51f918460bba125f5a5452f0b2972a11d8fcdb0b5746a61999720621030d091d62a8ac32d8de69cbc8f76c692b42cc6ab677b5f1fbfaa249959f63059c41abab97cbb57bdbc82616003bc0a168362c9943a7488d819277733905b0ca5f99e7c4068d6f263db3e75c677fa4790843db225e3fd760eec51f684603d0eb88ea96e740f77d55573e4d0c10791f2be88ccc23e29ce351d405253124e130b6dd44000e3803d0c7593a820aa3852521c38021b568787e67aa5f38930146c75d5e23fd25d92ac2c23fea59697e8f3ea1ea782fe9d9d1988a4b1a218bfa08459551fe141b0bc595e2ea6f325f1fd25451a1cf579fa6e3e3f6e8d49a2e346a26f5809716484640139dd89267e240d1ae8f65017a0b44810cd45c3783b83ad5c18f20fc58f02a94f5f0aacc2b102191542c2b740a097da12a0628e4c35ccbff25245cecdf0b0ae3fb5a8f4c209d78488983851d00365a7f6bde8750102cbb8da42bc838751912e887e61b50821f77557c6ea071e26c33bc493b1b28efde94d148d53747b934fb7c80d4a5ef53f5b33b66b9e4ab8a81e85b07e2387314034e9744a8202eb655ece3e6d81c9c94d1d2a3588223474df72e7344867789a8c6cb742417dbba1432edc0177d1e5d0d30954817777513a7d5439ee09b2eb70ee4e47d10c890149f554f77f7599edb81a9277c5c87c8e70fc5a2579d0657641dd1161291a50262c6bdda1a3db238d7d9ad2553f9033c08483d59d19cbb5c97f7795a04ec8f12cb34689304711fbbdf618511a533068f6daeb84112fd73c4f49c595d1d09e39eddc04c09c8d128f254fa28fac8c168651386181d39987ce7e1a27a6ec6b5b86b884d870d21082828d1a1a34bd11469093a2d7572b714e907d433d86068e1f48c5c5392148b2b852f28648da58ae4cd9aae48bb44bebcca3985bd1fe2f1f862d5b1cf3a8f97aab730cb2bcf39ecfd888fe18badc672de79bcb47e0b2daf5cced0f7474c9cf80e409aa806ae7a36972403b7a1067c4e16b79d77ace6269a1daab454049e8d685518ce4df675e48928b3aa213d452350d5a0c9f459743596caa2c9578364eb8646d6e0ca499cef53e540779938f21c6ea8940e09eba804d8da809c81fe16ef8ea368b31b9226a9d298787015aaa4669e75831c17a359c0c04981ac4035d00f3701caced4778c0a9a41dddce0489d6dbeda1b4127fd6c8965d3fefca8d5fc46eac76ab2d893e9cf0b59c530a25672c013194a971f4660a85b21c47212fc0203780d5609e5ada02897be3fbaf019f9c882769c0cf794fd4ebec3ac4bd77555ec89fa3731ca069f76d5736f757c3946414bdedd293034f472c5dc3a1260d2e814d7a38c7524399a3afcc9aabdfec3c4fe42100ab0b6aab17a95fc1010e898e27754385a001fea3d723d6954eb6133729af8aa81ef8cca181af3a870f677fb33d9a2066413567cecba5877d5e4c1d3bb208ac925b2f47c34a318eb853e8fd02e49dfaa59b6cc42b0de4774c0d654a2ea0037f73e0f7d7cd7935a4154be536627a7c881ff00ca9bc6680f0a5b20c142356cbb1948a43dfe2a16bce60cc5cb9d1fe365635f101cf142137242a12cb41570690a2b3f6594e28db5eeb63c6e4acd709a78bb17cb53cc3d8894ae529124e9d136deae5b45be3d30a01e700f7b2958ba5df3d08c7c7d997608f72c0bbac58073d21491c326c2100093e478d0b99945a25c63b0be3fac5a776a3e27c0b102cb76eebdc96e039a36b10b704d434380eabc775b34690ef4888eee94b64844a7cea8d01bee5a22526a302888c2e676839611e743001a7dce4c41560ee136021f21a9c52f24cda96a3c267114d3a4a851258296399078560fa20cb89f6d66c04507d72c82594625674b57cef915c005b501e81a9a844bb11a8d7e919c46234e06fe1aa9d4094f010760028c58816a49b7fc9ec311711770ccc20bf673c80e91b24d97c0e079521e509833d2030948b91f529c30c45049472f4e4659a399bd8ba1172f0c790a3dad23440986de94c6ce2d3e4b468cb66fbdcd8d5fea1692eac3467c46c2918a723290832863ab48b81cdc64bbc1f7859b3e0179670c8fd145022ddabdd7b46e19528d8bc46e6a83024f5eeb7e7675774aa09ee215e2bc66c0d518695e1489f47ef41163cf92ab1d7ed151c448f14e12f553fc2bee59c2159e922640c318ad04df2997db5f6acb3382e5b7e6721b1fd6a583f58f711f07cb3a742c433470ab7ef5914b8b6af32c08b78c7a31f482a10786de3063ef34da18a4b72fba02080da587c5b8e83693c7d3a4a78da7dd1e505b5b0f0110b1a00ae50965aa35a2c833c16b0030d39ae8276722b0c9d0ded4c3d69014b13bb312c6c2dcc469f4626e0eca6b2618b859f346be106a30ef85de7838bf0e78e526909113e71f7d2b21f95638e359cfc574ed99dec9050d8d6d3ce2b944a14738a2dea1cdb98c0be6abb643f75039411364faa8224be20a70a127214583d8472d6222b2670d6b40fb83a3b6948d3785556fb6ae7635aa5fbd8346b9e3596280388b91ac6ba0a9024919661048729f0191e5006155562aa0d72f5f66373abe7f4dc3ca865b68ad2b2ab8cfea7668e6fb038afaac95a4d0990c4f133691ea55ec39ff5a5d36e6165fd0440e75d1ffa0ff672f6d5d18fa9fe430ca278db251b7ad1fbc05f8721e2ca8084b081375cdb7d8e973135608ad61dedac87a39aa2fee53b296a646f15025a5205922d83eb68b02fd2d597eaf40b02b43ab3cc4237372b991eb653257b9e58cd04472392e48130c7fdda071109ce6409781dc8dc0348f89ca6520dd34849f8324998bcea6545700b452ab4b0f81d1c90a8904e8cc850b995c5e3781f335f402a1f9e10985c64bf3ff0fe7c4e0b81ead883e1b8c6ab9c92ec9fb48e32706c505eca29c6b444b2bba09201d759f19bdecbaf376f6d368554be1c2df7605de399bfd129872c79ae5b638c5e8c54481e88e1458e616a08e9eca9960bca4e1a0f83cf83b782593e8a8470538f3f268518b87022e6b4e615afae2dca40da661c9ad4f65285e06ed577c38a7967126f0a62ca53f6e72533c606655be7d94c816942dcb19a61a523c202c45d5f3dc03169e1cf1f789e717f8813746e11d1d90667f3b28ec5058d8a3eb37c7049cb36548c20556f73574897b53ffd37a733ad1e7a3024bbb132d5aa8276c38d80a2a0e35e749ef6e14f5ce858707055214a210ee8bbb763b4df2b50ffd86097e86e0c809061901e2d92cfa53f150582f9a4c48bd416cfb5164ed0257d6a8bf49f9f2747c95a2c8439a0d26ece213ecceb140f8ec56a0f1e84c76683b44d399904877d842934bf99398d21097b353cd892fdd9e05322487d10fb3ac033269b666bfa8563f29bd737399c003f121031fefbf9518625476b59592b5f4d68f0e39d77082e842823787b35b66939d177d94d1193454edd1467a30628916f9350944566d10a8c64c088049022c341f09146f07d342cd14b27992ad2108c51421c3eb3ec09cd974a7096c97aa4bc3be6c8f439b63b101110ca452b8e06dbeee3a44d47a373b42f0b92043e9754f71ca1f8061810fff09421b13ee2b2c58a91a547236b9f9fb802a5fd5a852bb621a15557888db95ace98137a0616d7b9afec44fb77171efe74d429b38c620463833428e76443715ae13bff8dcda31748a9932cfe21aab1cbdcb2a33ff6492e3aba7a8a38e784f6c312ac02e83c8c4ad8a2be43779d71449e95b6a6b513a73a351d0eec5180b0e11570ef9037b988092d23c50ac248eac68d0617c33738d2d58b7d45a99ca3654ee367914cc05b0d28031f921bff1dea5003268ad3cb0cbb3d5afed12c3ef960c190059d43f21d998c0ceb25c81cd642f216b3e6e60a873a64f63228c0f08ebf9820c7c84021896c803c9e2a6ffb619dd9228bb625a5c821dddf224c7ae604a744be411e7cf5e6698c499f63ec3352c837cea7a34bdfcafa39e42cef9ed1191f92855017c8d72f88612534c0498a6b254d75d3be2aeed8c74232090ab1411580e1f4c904a8ceb77199aca382ed0f86af2a81e93d7a90e1edfdfcc44f78b7504a3f9e78edd6aea198b299e63d81fdcc21b093164b182114d508a25added5148a74f4e8be1878dfb9e15519da2e06af7a991d0e0a40e24e7168b14161e3b36ddee55f465a323d291eca9ae07665f731c44c8604d798c4919b64f466462b586616e920224dd00b85376982056f52825b874429c975f2973d7bf6bcd683203bbcb4cb9590c45832d73267cb7e5814e35cade6f8df6d37199b4bd2cec2f5a26683414a2ffc1318ee3744894763b506183708effb4a558ca561ca6f8a518e1cc04574d02a4c4b2c5417f95c2a32dea5d1950474b64a2ec61a39d16c43715edf897e7c195b0e45f5be3bb3d1947153636ebdc6da2a69f3538731e37a043fe55d9befa272f48f24e318bd6d978781b9679a54bd8b3ebc4f3697dc6799e59d2c22149e0e12957f3aa5b11747c1f1b1ea9344584a05c47a791b1e647e902536ec3779530080858424747f4007d958d40cb5739fd940d803972c08a01dc476222b82ace3eeea1b3925adc3a2d040dc5792c96f22194ec464e26bf65877203fc34b1ece207a7803c5b24471ae554b7d375119093580fc0bc2990cbc8e19d8f0e2d37050a44088e79688f342f0febeae2cf5a3221f9f208274bd7ff360aff058aedaa3b44f4896e22f89c843c8734ee7b629c879ca32e17de052d20087953d8871270465d4c734e89a91a13fa7d3e02e8d81426ab4df9e7e148ea402e5fe12deda006e3a4765da5675ca2e20135e7563989e4ad9816bb0840757aa26b8a56145109c1b22f66d3a4562946b64956deec01650417d3566699963c72b91690a38b1c040d7f37b378c648c28bb48be014cf575d3359da51576670d9288a82f0c1c1cd60766a36f9b3e6cde86628a52b1b26487e48a961de78208cef649842a9ae6ea402419215959ddbd68a3950dfd42b6fe7f1d84f0c59d999f54a7e7cd09d89389b4aa244a35da10766342632739cd858286f577296a7715623b6bd75081a4afedac5402fe9292402a4b8768603080721c7dc4f77279a3f49df09046396fe9b4e0c6deb141d3cf03990d3bbca4a8892972846336e9cfe3d0786eaa40a84c831b39ce407db0fa2c1dae039bb28e1349a9ced532044102f5d6d1bb6c6fc5e24fc6e78a58d033af8c425e1f78299cf07b94a5f06558f9d303d6f951ffe5244a2af264abd4f38d5b3ca2fcbcfb12ceec228f2d1f65f97e7f605c034d9b2ca124bdbd543e197ddc532c5a2712ad9cc92b4ff22201dbc758ba140c0c9efaebd660b7688b08eeee5959db584d3fd43cc8d3324ca0211e0f1f54b3c2e82e488a876fd75140e83f4c68643c216191dfd807dd1ed7dda8c1548f3e763995631f1e9b3cc16bf45b711d39199bfc0ac946c1fe09254cd101a0c4690bcd2779d420e0c2ac92f62c9876ed6a10a2a43ac85b104ccd814df3e6a7c1e2614fb20d83982f349c45197863ba3badda9b277e562ce7ca8e6d88bf1c7c26e2e4393d1cba3c50d69321b1f94fd7743925a57cd3bd897c52ac77050448e5280b58ce0ed8c4279fa03d07b1fb476004f7a8bd9a1078c57ff58ccdf7ab0765a229f2293af34348ac284d86997d4c10230c556665e1c6cebd8b1e454f5d8409f0def2854b0acd8aea994c84952235cb4592a4253e5f0a0fc762ca01a1351e72e0c679d27baaf3f50e1f3f1967d777f06f10383c1293bfaffd5e25b0f97c4da8ee18188d781e80388eb6a8ae60cd5d1d24ca0b24b6df2cb369fa247848071e98cede10af7bb89fc057baa2c314758ad61d342bab1e2c1ee764098ce26e5520d25e63b5ff065c3fa4394946509d192b2f0be5b5eac747b1f6ec1d6b608425094a90549d9bbd0c620b25e516f2f0a0aaa3554b2b244e669f6cbc4f4edb2e28048e10aa94abacdc70e38da49e7fc68ff73f8c958a16441cca3144dcd0e43ceaca4a39a330c8886264ea291ba861672a593638c87ba27bfbfd26fea057bca3b9d5969f7f68ba8bb69ecd8459d8acbee82e36393b3a0189740bee340d28fae10e17d90eae172976f06c3a54e1767f9b1dfed36607e236558b80eb5775f178948a4989fa6d9fe6b983674ae99cb9888e16f1527777144e1e4b1991cb9686904a9ee1aec47224a7c406470cc0a4b9adc80e3f72942709fc1e069e929807e67925b9fe17911d53ee0dae0d3fd531a50043eb1f594b04ac7a361e91c6ea39ebe9db1ddec26307ae168bee835169c078b7191bad60537b6147213b228e9466be0c7e5f473ad60c4223543208c5063d5d33221440475d259151e419a2d988924f848060478149b1632fdd3d58d640dc053f59566d97ddbe7268216f4b370202e27bc16d6d15f41a3175c92d93bb36f2917684a4fed724dc7761ee5a1d20f3db3c99ab65e0c78d2065081a219f4e05cdf70ab5f4f55dce15ce0cd4724452a8a55e88b266a7d4311f111e7841095fc4dadfcab2ad155177defc66150569df8f3b7a40228378065b4d4c84e38011292bd1f03f57dc2d3deaca1ac3a4cdb98635290d82128102b29bf414ff498521a49ba44cb1215203b61e8e1e210a81ca991631d1c86255642d062c5b8fc9166663fc1158eb99681f69d00a46b6301747c428f6da40d53e2f10b130beb6c78c066aaffb2d660071e6ea4c46955ae6c78b50e4c145b4541b014080bb8ee2d04235dd8630ef4fc4b7ecb7b73e2514a9bc5b37b3f61615646cebacb7a4df83f92c4e6b197bbf3233a557c8c9e1181101e4809a1f96213b4751b526ac7c8e5ebf3201ee402882f8370fac98254d89b0b4d31fe188c1862ba36d94305919b5f9383eb362dbf78b9692d59a24b0ac8d436f5e0c1b93daa201ba6e8826f50136418d082e10fa215ae41d5a23ef57610a0e62b826e1cf8a2d69a649fc1d0055db330914032d0444f6c69e4b8f543e4bf2de324a83def702266fed2e39972cbc56043237225941e742ceeeb1a5a5d9672e3d20a7b0e7329b1bc54ab184ed33e4137fe648a2ccaa8e47a22f8eec987c268166599c5c402f290b5718091b66235e01dbc15bcfeecc56f7e31ced57ae476d6bee47ba61e563127c4d8e7e38cc71ba466ab11d5d5a69c54d2cd921830f3ddf6c93afa7a236df85e4a4699d405a50b2329217ccc5d324a939499e800586e3be1b97d26deea77bef9ee1d8a6e26321ca4010c06a9b361d9a1abb349214c12e4aeb29327e1f3a62ba35d6d2b04f7493bd1d2f828013b5a477f1ec9e34f304f12707b2f6859affbf7d6ca9da546703857d088ae6da134e4d1875889a4702c4d1f888c90c5e82f8141ce20bfd03067fed93a2f79f1cbbb55d0a001afb927a979e35d46b0e9281d108bc1d14ed3eb21a0a599477e750d6a24c3f18dd1c79d0c6a2d06f39f62cf267d1942cb7fb8e23eb79238051cefae9bed154a03a7d0a24bcda5b3c486aaa79b229175c6276aa59104b96488602cabe541ce949beceb30dc26aef50de5488171166585ec3f2edf98d7fb4445cbc8f32d638401ceef84710744cb170704da0ac4da7fd2631fe4497d73a14ee8a681ac9d8a759cd2b3f07a8b86426defcee38c9c1c174baa31ad5c309ada39fb3475d4f1f33cfde5a86be38d6163289618dbbad6f731ed2ec327c3f8a6737357ed0a59fcc6a6cb8756b45dc338740a69580f256775de4ed85a69f3e0ecadefd94dcb70e59699dc9720d54bb82d02d5a128b8a75b7731aeccfb533edbdf5f6d8aef03a642953be5b0bf267318591729ef00cf1bb8170c754415f96171decd9d3e69ed1409403a991ab1e715d26297c8f11a7d14e6f8237e38ae92e20750a91aba7ae1d6c12a072231e036ba88349930d797951ef32e614c85391b6c866b60c5e1ef1e53d944a813faf69a144c1b5d3081dbfc39db271c982278522bbb371a75b2f2cd667aeb10e3c493954e36c05389aaa5237eaa987b480473ae9006507b8bb01ca28f13bfec5f91712d0940c98a3d68031773a022d973079ffff08a19875e9943d050c6c7f92f9142cc6c5ccd7a6a47c9ad2b97cfd25d39446c1294ca591324dd11b76249956c7ee89ff1e06a487f1b99561ede6a834c3565dc55b7248a2fc4e29ae3e6a07b502ae10e6aa2b5996b559153ba9e1aa430f3b29e104cc7cdbf230200f5b35ae229e975a15b9fe55688069d5f2ed65b812c59e29e7ac2a0d6d37aded1fed68b2fad21d93d00292ef92c0cba9813c600f1074866a5f4720b485cef96129f0b413c80ea8e8b0503eb907bc0d18df70524b46eeef3c5947b38f9744bbf8fc1d80e0b7e2d960dd40973151808647dcdb3e518325860954465749bd485981144d3c3e9ee9dec199354606a106dc6c78a27041746af8e89ab2d265ed34774369e24f44dc99738bdbb2bfa59004f23062c73fe857d04fa11a6e141402cb0ebb9ff8bec351d63dddfac2ea89c34bab1a01163ee3f41fe662652346d2363d734315711ce130407b88a306e02c43b4e95c3a26a16847a8f836ddccefd47bc91b6815927c7420f8881173642f6b125798f4b76e48db74a6daa9e63a3c082f13e39018ca2687d7c454a14cafb02a686a7dab011dbb81f87d1cb16134ec0aef102cb9344daf8cbd29dedb7c4a384a5454203e53c8c2eb68757e6fedffb5ef6b5309d24dfbca8bb2bfeb69ca4dbded35f95e333ea5c89dce64be3e8e13c0efa702dd41df3ac00550e80d0dbf4c0045cfa7811f87779d830f80159ac5c28b1a82ac823e25ab714c0dd9105036cea6d9e1c722e59489487b01325662cf8c6d6d4a227214626777b16380442e535ef983a02b625c362eb7284c90c5ac6729bb94a7f7c5231542a7aa13fd9a2e36e5c2b3ce6facb7f34431d40ee479ee4d22a77c4733dd11e7e46a724a966a52e4d8940ccbeabe289574e20d9042207fb2f054de1f682b8b7f31ae4c4849259a9fa3af3858de18fa55fdc2bad014f5db8b83ff3875d2fcd4424121dfb015f28c3ca1333f7cd1e1f3dc96a8edac0880fa54bbac68a4e340ea6f5baea5f78a90a6ed136c669c73688a5b436b05b5d1a23cb6f42fb7db448b6a0d24f4176c49a3a9dce88045372c6f01d75074c6b55599eea97352afa812391b2520ccc9293aee4b027d26ae331029c98ba493a0a7d8531eaa2cd7f9a2640e55c40b29904e2eb972cc78e647b7f5a3836d025922cfd6b33a94faccdd7ee67669ee762d01a02fe87417c131c9bb9d9292674df3245d2845fe252970d9c953e202671b16ca28b6b6273db0c6cdc5b8805c6c38b7e4e89c8e9a812e78a825c1ac48b903d07319c251150220bb59e255c6c0420e900eaa28f15321e638ce225a246f5020f4503d10fd747d8f1da9dbf23319ecb8e524603af59062eeaf395af46a9d633bd92e3b6e8cae0fffa8cf9e9d33dc5f632186a3ebfc197628166b9db37d55fb89b1c6eaaafcd88d0a4ec24733d74e8113d23bffdf8aec2fbc6504d98984d6d924d6cfba257d5961bda4c7721e1a8ddf2718ae0d4915e70272a363deb7bcaa1909a4ee8e9c8d85040a1fae41d08fb0b32317c97318a65c42ffe4cc393e95bedae7fcb4eaea977a9e7f7df0c0d6832fd04271c5bdedd17c971ae6de9ebb1c8918ce2ea7ebe2939817149e4b2699d22235c824aa69dc97ceed86a8480e1e6650dfef2f05bd2c335610be0efee565bc97fdd6fc7e30f78087b6efb7d4047500f69a6581ccce849b1177120107dba264f8d05a58b819c21728a03675cdee4c77f23a6754a8107a613390c019aff7b46160e37d41cab9c2850dcdd8196125e622cb41fd9ab012ef3a3f8ccca3779cf8457238c081c9373177ad9f736116e6db12669e67b902246d4328c7367a733ca2b9c689605420df0ad9ba5bfdfef1245057e3e4a4df1d84369c554032536aaff8fe52a6be44cc80da57af24d11a6d37b9f5491eb8317114f1056bc174f7e7f8236e319027639bf967c88fb2248c6ffef7521c82cf7c6d4fbf290437dd98911c48f6e7c5e5bd063baf3d98d8e910de51919c034bd54350a24da2581aa0d51eb0f22c39c9c74b5625f8983673c7af9413723a5097392e6bcbd7d95e580ebb42e8d6bd89da825bcb5fcd5980d1ed14bbabd2b75500da13eee2bcdfd45b26e8646d53a7ec7da218d283174891592532187cd3f673e8d42876663b44a329ae847c85da66bf17c0453970928c6a7ad5c63436733f0d3f2e621de4b1715614dda99989dabf77461964d61294889a99e0e88a8f84e43fbacd29be9eeb556fb135ef2778c59a5a336c38f89d019b218e0e2c0a82680764ae8935985ccc3e3b7c54194244c127d1b0b78c5911338217d2c497e975d30da89272c01a8461765d642af68ce9ba6d8256843cd892d34aa5c95b6d52901057e01af3d353496ed0fd97212b240fec2096006110a7cb2cf067f4094104ba11fb32f7e860f479f731e276a564378a699c050fc0606c2e64ee529915bd4cdd723a4ae0ba5a54d63ca0011313c2e6e498ef95ff227fa1edf381fb8615e3cbaca5fd2dfafcf684d16895f6680298ea750a2702134dc61933e312d4a56d56cce51bb478f8422c1516fb283ff018e5c34dffb3394a98d151890199428825262bdf91ce3e89233f5e22db6921645b61d9e07d0c761978bc385dd7d7fd3ec50e9f2ba25354e9e08a1e7ce6fbd24d2a8791c4f5b3ecda7cd71bb79b6b1d790d7e2ceb043f53b9609d0e630dbcbd0a3787052691509ee34350a9aad8800320659fcf597727e1934396564837c8ea5f8abedc44731f38d6765d623c666eca9cc9d9614391b49281af280a591f160ee09818c800f80d9ff0ec70ed84b22434df4482d1c3f27f8d5359dd430da5a283383ca64846a834c2aa68acc569666607f0b5d5cfe9d21319b39bb70ce5721e54d37eddddbfb6e6cd39dbc9ef156923821f77deb803d696d975e26bfb1660f01340f65a0ede66b8b613c5a426cb266bfe2e56c0c99f8581e13a0a1f78d7ab470f2e2d6b43ae834e770cfeac8d7cf8ecbea2dfb42dda5725f9efcc73cc053e7270787d2fe9a05c97283a3b45269f067e1121c9f7556d634f50a08a10678654bd3747e02c8be6d784189dcbbbc3440007dcc764c19962dc154ed90a5c2b8c92d3e79c56af7928c9556ce1effdcb52a1b14c9ef529f56d783b0f1f7816247fd32b56c1fd1c655880cb6dc50ae471bd57b29f160477c67ff90037d15307290b6d5833dfd0be021878647fea9eceac05712e805bd2a3eaab41234f2cfbd3356a1f1367dd4f1b41d395df49c3869bd3a279fbdf635b5fa161e579cd5c4f4bceed8868685497f5daeaebf54b3ebbf688462394c7f444a547288e39b7470416c990434f16c23e56fce17d5d2d9083dca519cb0e0b4561f689be90d2ee98d801b6d8c582ab715fc155aa0e4d10edbf911258ba4d20a3f17dfb4e9c2c0999b9ec944bfcedb1fe40dd8dfee0cd5180d38dddbb10d324200cf0d9813f8544913d3880c4b503251d814b2f51de1c21262b095c4d213afbc9b295206209c44709fc41c7161896164dac9cd6ae5235ff6d526db2d6f75602fa0cd8236aa4b05b8f409b6ef16dbc75152a1e30bbc501f2bfc5b8722e2ec2535f210394f91722c2cc9e345d3f1148aeb05da1cf3e863911ebc55ddb273c96c24e4c0658b8f5389eb66f911bc819805b488e99fb24f55f7e550a61d162cd96ea176305959639a53abffec8a600e8cabcefeefe6ac1bc62e36548eb54700e0ee8cc585d9b5976fc49aebfd3b2765f35249b932137121dc44eec928c9535fd7b54e2f3a5ad5e90fc4d7212fc3ad3e13d9bab4164f76aa860632f8be511f3963618a1e17fe1c50a4261b0518ed2b6a2206b5fec679c943c9ba7863163a0cf2934a15e0572da27a9b23cf236028e21b2891958611540d0b3c8de8bcb6aa8752a2121caf4c244adf84d072bbbefe17b988e173c9ca7f4338c412fd3a82461eb3a1244140b191eb7bf17640cb1cde2538aab6eb62b9ddf7d14b1a338e4ac1cc1de2442d741a98db5bab07bcd0fddb43c6e7a0a761b2a8d070057cfb8e62e39e756a1edb00dd08b43efd4d56c5d731c7a58ddfd93f9848ca5dbdd0146e579e24417b63e8048e60758f759ec2cc68d5136ba182618fc3e023a631e1d867c0ea9ac280f0730b7fd454f31a5220e688621f839c6df9c571691a44dd06456efb5582b6ffa3a178100c88336fa9c400c123397e1903fe33941192e128e801ba8d772c85700ec85db209bf2bbd040dfcee6a0adab425727a979d678e4cb704b28a7f9465fca86819197e6870f0d91ed388938f71245c2da4883883074b0cbbdde57398f6d833cefc71bd4703549272c1bf9c26e405fc95f4161745d2e484a28bec61d194800b45d35393c8ed3fa18168a93a6fdf91fc5c91b00959f5f9567058b1ad21f9529eabe53464710ccf2431e500d81192ea48b05859330803256d327f5c7248e8d54cb120c096fc953ac36640d24d512f58e3525ee30f1e72c4ff4079f480c59d9c4d16976657d0921eadc3945fe9c61d02bcc88cb4d87e12c54e4e1d4415c6d2cfe0002411b7742becd66b4aaddf17b092d3319848f2b6b06346987ac80f805ea8c9ec2449928a508a897665dd7a461721729a0aa7568a09e818c6f432deae91ee61203cc461d39bd981ea2bc47a1c047e297e7b6593dedd080fcd9d5d6f91be8bba38ae1b7aeecc7d1aade824738a1e4c22216bd6df5b37cab8fabc12d98822b3de997e302b25518c85bb62fa609d8cb0640c2c74f197f0ac0a99c9fba03f42c72caf7202afb0b7a00bf2020edf555f49848a8c1c3da38db4d2d27c7fe5244470893380e8ffb65c83eba142814aa2ea0a2db3656454e4c55118e4b33ca753ebea357ca3df5bda931a9d0c4f4399c1ae038c67dd2fe88b270378d186c604499cf027d8dd56f691fc0b1ee6d1f25c9d812fae1a9ef1b9a01e1fcc09879a043bba90921066c65a8af9c93f792b6b0bf69f705b44625d2202ff22ec0b1410e00cc3d8eab015a32daeb20cf4ac14414a878e006c9e2216e8e7e3ae74f61cd641b6e38d5389ed9eb29c694e60550c622e9855da33326703ec0cdbc886ee0164883fc2770e64fade68cb4082a449c8744e8f0408fdce93274f66cf173df991f5e6d098c71802153f4b929d9b4a577b40042c476f14b6066c4f671bfe1e4251ac56b5f8dac81a80f0f3718fd3ca08eb9ece6541ae7eb1a5a4b2a995d88db2e38e31441196ad30d746178d266270453005a7316b5172cc4d1368bbf7ecee981eebee09eb768a772eba44928c101952a7ca3d7498cd320435bf17e65db7ce70b0c337a440a6b69fb2d8dc5de5fc23bfb2fdd1cea9d936ef813ff1a7b87b1220c7888adf995004f78def49b37b725b678fc67e5c1c4220eb666584b4e21b893534bb4b4208609951477783327d2f3077f1af696f15204e08addf1950856c03c4ae75db4646c8e3debf7558821141989629a15154c81a148b7a404560f876300ec8e54d8b74e42517a8923f16b406128aa40761fe7e624707d6ac79cfebce353cbd10e74f6da298386ceb41e86d1c8d85f13c79ac1d6a3c4a04b5e6d2d75582cc7441d3f8016c00745649c38d71fcfd5362aa8fe347dd6a3fee64dd9efd512d4d6638e8395a1113085c1c1c8a00bba9d7a22d0e6b0a2d2ef3507c69769712fb7ebb3513760ed021e7291cbe00bf3124136743e44bee89b721d00afdbda3499580df5128b05141811f5db10dc94c2dc0f5d42a2cb85fa54560c99088c0810978f2449a811a3548b3838184d109e678077cd1eec33f9a88974368e9e80c139afcb374bd5f7a68740acadf23e687eb21f6a013f4e5d01c766d02a40dd007334d72363a54323649edb2dde3cc9f705220cb144e8d71bede7b897e6043b641b4801490dbbe83274d9d241c43ded07c8ba1c8e60ff4101b1e651f4dd80c2bc4b1705933fa24dc2b225afd328ca2041318853df236197dac05d007b63cc57bdb69cc93c07b433bb4dcf54bffa8839a68202775d7e0f1d4e30140197f822a0474e491a57f47dd54125100729b811040f954cdb6788fc76b09456bcdf1e94a17f54edd043602b82d43864062ba95551ad503f0fd55bea72254134078859e6570fc661af03415906244245bf54600c9d5af5aa9220560bf610f46c323b53fd1db26a6d55d0295c3b5bf04948c98d303dc4b458694220901ee913176ba2edb67cb365938bb501d1016a85df204f73b1fa32c3d2d74f0238fad3c5913161e44f9d76195f31a6190cb383ffa5a3c5003293453d76043d2d0bcc6f9fa932cdf9b7627122b95b42477999707935be10eb347a5efa814fc625f4950b9a5340971c4d10ccad6387073e1063fd1b9eec7303129fc67fae89a0ceb0395937f230492a123581d107f8fa379953c9a3fd3b2f951ba8878c96db685933a02bc7b105f17818b5ce308a8f4ca84c4dc8285911f0de0d7950e5436f903cb8c466481e436f661ef186e021bb38293c889d6aab6ee4ef3c75a3e5049d16462632950bf267ddeac7a5dcb6e5eb7d94d306a9176d501c22ec998afa6d4eced0c36c00c8452cdd97c69e5116cceb71409d593ad515d8089274047c03a468f8619fb45e64b05596e8857bb638c57b869ea04fbcfbbe6f3ecca8b08526f062340792ff4543eff065224ea919a83d738d43ce9667b880a60d9660e1ac743d235cee4a654cee06b8de10d133cdc044e23ce536d6b7fde5e693f7884fe6de5823a5a886e0008e1cc9cfb5de3fbf86a1289edd96452300f5b07238aedd20aae0c509cbe16c54d5f02028ef503066e6a37212ae8d93251566cbe70fa887057e599bba05b66d9baad02ac772f81f4d71a905beb5b7e5601c49c53b56fd10cd18dda5cd6d211a488321bfaa5f8b57e79fa091ee5200b7ebbed757c9bcf68ecd2c3cc70b93d547b0d91d48daddf7c103c7dd5d27b3c8a5e927234c52bed32c6c3bbed1a89fb7f8d6dfa763ea0f90b61c75a32c0cb3bde09fcdd612b02a5b918aa28acb8954b43382de9a76c356af1f58a15cc12e490111161a5f626bc040b3093a2a7b3f8732a829a26242b14e4161651eabbf64ba4872586cdeaa3c88ffc4fd60c1e5419c881312641231ab60ac310289b2c4920afb122af024da5de5c8529251c40320171eff899802e0f945f5a299a03b057357031061179f67c7e3a35380fd9825b2885cfe31ee365730d7ba62d8269aeeb1b0493bc14e99a5633e12073089702c85f0b04da2a052ed99a384228120377b958fe2f07ce03ed21f7924b476b3ac21378eed7cdd8cf57d1f9831d5451ca12cc1ac457875b4d526dc9cb5cb709ec0a55dd9cb5a24cd343cb8c1873c8490ef8de24648793943bb38a92a031871ba562d626fbece40c2a0968fe928276606f91d7e625279ff6aca8040f9d2e220b991b58fc6d3e3298ef6a2e623da3dfdc807cda45ad1622ee84fa5e684f62bb851633a85732d60a52b134f7a4cf2328e190efee458cfdb1c0e58d19cc9e0668384863dacb89372471a89f7f069dabc7148aa0d069583df381ee7cf0814b221988b13be2cbf85aeed7455821e90dae13690f38fcafa64b7a7f0c850f8fedd5bb2660e67c52c4a50f2094af8a0e929b91ecefa8b4eabceb3a2131ff489f4fa453c7256623ab01237c30cec93e7f55285e346295880a2cd1bcf2b1f3626f4baa259ccb55eb586a5af9813ce42ad03a78ec43821c153aafaf33b619d37142a1fb3cb3ebcfb76736676c5479b94932a85d89a051afbf9874576430913c3fa4e246198b817cf46d03a68898ce527773aa3872bc1649d0ffc9dc0de8648451ff6839f11907bfa2e29750433c29494c02c0ecfc692f7197adf3ae3a431d55dba2ddf0aa68ffd6599e8b55f6c3f74f85d009a2572630f3b9f42d22aac84d4db2959199320f4e5773dea47c2c7b19fda35332a8e6175bb964f36002366320fa1e82abcafd7673046a60b09d6b060fcc88b7acf07cb8ba38622cb4d85be2af6394f690a4645c154c151d74dfd74c57ef624fe65d4f9521a2fea26474a3376878ed98e09232ebff6354c00a7d49ae3d073b1d40ff95ccc74e9a45505764c0451fbcde73c542fc34890068df555128bbac5c4ed4488b987ead7556436272b4a7cd4a77d97a0e2ad16a702accfda418c550de925af6cb919d8b42b979ebc8a8ee5010464bebb89f8bb89bcf342d4df01e27a04580b65c8de5c48dff07185e98c6d649ebd6c9c72b111a9d8b53ca40bb5ce44c2593f8aa147db170254a202921b158d1650da82c31c6512d665148bd2d0cb5b5a2aee6386229f707ecbb054da402693363e6755edc08c4e715b548b1d706f5bb3ce934a9feb6e8dfc7ac93a2c3e8559b1f7ad8e1b84536280bdfa76d1ac639f13f62810e255d2aaad08f0a2b16a0408b652aae6029bd432f659dd8b6c28407dbb6e9746deb7b258e89394bad630784f654f48561c811cc76a643f2bbc5d868f53fa782da4ec393cf9ecf2e421e6007f3abdf605cf9e1913846ad6d7260047d1042c5220c5086cf6cb8c602eaa7cdd5020b816858c818bf41e7cc88cadae6a1e0ff0323d290ab560b00378c5f830a4b85e2210943521114214f0bf91cf7057de4446ced9c0fe3cb5fd44989882d34dc8f0b3dd941181dddfcd56b466976836b6b8e4d744676fb3f97a6eea2c9e172bcb67b5df19ff8061e2951b0485f26c1b374041e53d495e8480e58e5ebba7dd330787a5a5caad5b017b60e6f42e43e2cf781e4ada37e4d220a3cfc029ca56b0086b7abf0cb05a283c8d0162d0ee85b9e6572809c6fa9ba9195cc89677a67f343405c243b4ac4ba03f0d5e5a6ee84e36a5e3347f1916d7ea663f5cb6b58c63ee1c4b03b5f7991e2f9e1da8434496a48b2708ce3f64f849d1850caa7877f88fe45c753223897f8388e8b2fcd7dcc7fc9bc3ac508b233cdd0095f21f92a207f7a4f410d6a6604987714185fef768b7abc936556517d476fb6c25f2e2ef727834796336255287eebdc3ee7c9cb9679be32a7cb93db34787ab8d3ee3df684764469d155194f7d3a1e008a0f2baf3c727d7c4b9c66ad9e5b3aeaf4540943dff90490eb5735d175c5df2072606824331c88c5c4b792a050796558eaf71c173307861299887f4f87459e9bb48bdb111e95c3f01cc83457b0888d2a81a843fd8bca22fea7b5e671aa93fda1d8703e323052c28bc3423d044dad88d065c7eecf2bd95da6d7db8bef5aeda00af7c2b7dc016da99946ec10f280fc4f0e2809dc79002d7fcdcb066de03047b3b97c76e901a406878eef11f522b456df9951f566ee7b59be7b2d328b2c3b3c9ac4b69c5576921e28d1bc75a5971777860f5097c3937d9eaa33ffb4ccccfd2304d74d11e7524e19ab8db996529d1093132b900c6c338ac65b7832e0d8ca3428f1cd5dd9f6bcee2edfd711dad916b8c295644e281c5371acce234f775821aa281716e197652b6d8abd80084b4c7ea48f791e7ce520a1e067d4e3170585d691aff0b9c4c095acb6d080998413fec32b4b127f8142cb3f7def6913695f3d2a68cce7e1e8b45449901e6c58c189212b4c511d222012ae347076d8c232c78095a737db42ed9299cf0fe37096ad98bd7486513c5179f04b3e262bfbf62cc80a9253870405e542fbacf2b4dcba1250e284681c9d50ad9c19f395adb86087c3fc855ee0f81a8f6a737cead0007724990a2b0f302a5193e1cea4b9e0ad0eb21824c0e080aea443b19b7d2b5c8401fddf280dd432760b7f4dd54889315403b99b479f25a2529e0bc77414336ac979436f1e06fecfeba32f1fde0ac9c4253f9432428ed1dd271f3778bf319cbfb4341c070367b446b2bf39a792c121a8e1c56ffa20e8e8f43521a6c7f5c45ccf462e4bb852c127fdb5ea0cda3ca040e6d8fbfc34e2224a4f72ea9b2cd3af0c444fb7649e97f2324b5044ef24131091359d2e60798b7e75197282eff9f7c8924c177b404ee23ee8ca546601ba16cfe2abb9ea6691ad1f086ee16d125a52a42f7bc9bc7ea5c52f665f7001068e40c073e44d5bdfab0e032d552567eaa52c7e6ee74fd0c604b6252a2643532083a1aa50e8bb2adc77b631614127f9335a63150d49486a7cab7ea679e92d9526c3805fc0d56cf8251ca8aee7127005c5d1af2ee0c025bba8167f0f3647bb354e5e7d72a2c23ec5d0987f9c709feb9d78032f0af213bafdb1cdae920fbf1c7483a829c65646d8e4fef2dcdf848b5f22b0a7817f05a2a374985b636e7a59f67599f1b653308cde0644c3f13fa39883c32e8b593fb7c30fa27b030608368604c1bee99a9520cdd6efe1c20777fce4e047cdfea1936a78d1a80704941cf9d3cba834e253cdbdfc8275e02b29db305a4aa74e31aee2473259a945b95e652cc7d5a15e9f1e3b69dc12fc1829b65f5d599b5482a2dde0f105fa0ffa7ccf1d800fee10d601db329cf447bf521a93ae212990dc22aef73ceb0f7adfda8dcd08ceb23c596779bcd19de770c67b852ccf9ea89868955e20626c9066bc33e3a2b7b05933baf383ea8b652b44c0fe229cc3c21797b341b7f224910767f08f13f891cb59b261df9187f16f15cf2443aa6fd31d31f403e4b07d83499afbc5a469bfff2adb417808f022e659386b091bf757d3bea49f3c7c0a47a0e6ba1e0ac3e293629276314e0eab719471faf816f3cc386522e508e064edc9783a910a205face354cfe87239e7fcccf898412126e5cfa4b0e8181c19620e5c36141f4e931bc261c25dfe6cc22b3934d5f2e24d0282a9d1527bf0fdf8ace7a1012ac97b5178eb34843491f80d27c91867388397915165d358a0ea36ea243c38b033c8fe9ec31eb4467e0a1ca7112bd0fdcd306ab0ca24e9bb78bd24af82e6d0af0f3e91a45e241120ef988807e50f59507f697a423df8d6bb6b0e832e6ad87e683bbaead17cdb9487e023c2c48057306b1a0181ca504ad09fed61631592fba18362fb24d86967e94a6ea979e4d0decb3100bdb141c74fbc8c3e947490cc2e380a118cb6a59ddc129a8a7e33c54d4854e3c1779707c48dc6f3ace6eb6b8f81f82d5feb4906ca4684646e59d4d12a6240bfa71cfe44f55a9197efbc69d506362f72e63be8bd9a2d3f3366e03e31133c4d4f86c87c3ac7a142f61153639b91c1c08e0cd3c6b41106861ed218abce36b20ccf0d492d6a0378395ade3c33df2e4f3af872c72124565b1a49d49ef36cb25d0bb624fdcf2e41fd59eef91565fcba90bb832f0ecf84a1612668e3854dc5010284c8d26e4094f68c727281ac2229ff28a2ca2a8a9092cd7ae00d1630a691e6323792cd028bf27f21c113b8c3f3943f2184b16d7abf346c8f1c9b9bc27a7999fa860e571114698df58d5948c28743515f2bc91f07a72079c0ade1452ec1e866f858083fd6476c94cffbd418d51d5a852d4cb3a31c4d287d77ac4065d8498fdac8fdac3e7ea84968dfb57d279402e460c0bc4ff204c937f7613b22300d5b6cbfb6ed38fe39d300616a6427d3060cc044a55ea63cbd1e42b9ba194c8001f419098cd8756073e9e098f51a407acdaef3c30aa68761193f9aca0b560812650237d3b796842cdfff9dce872e24b22f310489955749adf58c2f6833591d6277925827551c6935e3e64420139a81fde46905382671ec9bf7ec05c1d629e4c6b13108d88cb09c22d97e40e229a0453143d4a594cd3cfb0a24a9d854d325298b05208cabbcbed9fe215bdcc39717958fbafd7b8531417c0050c1f8496fd44f266db9b2dead1cf2df935838d10a7e98b889ef5a9b962cb62450ae31388f740555846173553b01e4c78666de1a5038de7798cd2d1d532f7328bda755da8b2848903b88dd7bdbfa2a3509aa00c619c555250b45ceaffbde59f49fc5770eaff56228a0aa7b4695f557d1092bea803752dcfd7e8feb0c0fcc3d9fca8a18a5c2367bdbbcbeac6b7442ef1112a8a36417e68178bda7cacfbf666639862a2d279857e6ec5509f11a9b64f772f4a2b6db4dbf9810a8f7578c36bd6ac87c30412edc676ee354989366572fc28bcc5031b3cd1da3a79a766c6b8fe05e646d4b13df93304604c0208ac08e0f97c89ac7573d644edefdc6692679f370d471468622a4887e71a79ab7ea226106ffa1fffde1360c72908a5417d104462e5b28053a04a60331bf863b7b5b9ed95cfda069710b529a93625e5363f74d0635d797695a44a69ee220bd789222b6001aff9c9f7a2197cbc1f2fc20fcde4bb7dafc7c9084a3dc625ad7c8480b4c16a4c6a8e55cd09b8ffe74df6c46d895b12dbe3fd09c81c09e439098872fc5f85ba2a763a2919c6fcf5a90ced3b4b3dc41fded943c0cd961985513071943974cf08129ffab131cd654816fac57b676ffeaa28da9d91ad86cd802e32fcb41f400737f57196913dbd0afd7e1f48e5f9d1002b46c78436de9ef646368d2417fb44fc15f9f67d53b031bf14a41224cf4e17b3c4039ba9e4f9102878e8d2a9b01e771f4384ef069a28c7c67a9b3ca602c39fee297fdced6e43f0dfead9630c239a2a7aabc56cd7612b71765af256019ee502b78df4020c3d106797137a44600b9d9e5a92582c792d214eea5766f641ad0f67c01baeaf18feb96093bce1ddef328633bd7b75f694503a6a2cc6c9af65d2718f35d8640b17fce18d21df43a66208a4ea2bb4eb5a51be579bcee912be27531667e4f48323ac57525f81382331d5616485502d5b4d3516fe0338587ce247c15e97cd7ce0270c3936dca3283af7da4ffa962e8925283d8f91ba9af0aacab3784824d512f650d2e2fb1d297bfd2233343a6798501fa9a9d8813427a476880cd025c2d4d456d2ff38164aea5ebda91784e1211804357a21be288a04bae6f2d26fcb8ff1ac3e56dc443f44882d5f40684d669dc0f9d316e2fd7a00e1961e43dec2ac4d88b73dcdaf41707d08d4e1646bea2ade990179021d27233d7da1c361df9ddfa1e334affd348698235a0b8b05d7e7e26b931b6856240c17da3bcd85643f443c7d3c6ac20ecce2cf5f9dde02add571a96ac8892e6c49a8b641cb50a37e38365b155c83c29159de335ea571e908dce0cc5ae7b90e2602a170d6d6c9cca419fa6d68d9ff53e225546f552af17bb7dedf221bd7a177258710a22ecc756725fe66b89dece6aca72603ecf1e11ec4ba979125971926ebd40c4273702d988696e885bb1bb836351b65d056afc7b529a5f6ab889c1f0f501e2d2d41dc42438854ff377f67488dc6f18662e3fa2a4aaae78aeb984f0ecc100bd40f92f0302d34d3d2ffdf3ed987bc9b58e29e117423ea79109ab96028f0ba1a1125a2d83577ab11b511daca47aeec7742703994b0138932920b6b82480c4536822f58da0dcc454242a17ad195a25e3a13633312a04f4b2af31ba86c3cbf4b734b869a182ffb67a04ecf399af266c74dc0181600ee380d93687839cc33e9fc03a97d324d579a1c7ac001ba53e7c30ba584c9444e8d79dd749260b173f6544b3ec724de3627931623c150a04a2ca3a7fd0649ff3291cd1faf741907ed9e4ec5abceda1f60a1f9cce140d08d3450f100898c38a8751e46ef8988b25bfbf2491da95c0a073123a3e2a719106de120275437609ba9be70460de534017e2f7ebcd856682d214f854126f6a7a3929a6d41b998069cd8763f4138175a1db4ed3970e3306e47b51403c890cea1b6256200b0e1669ad76cd38d35dbf4268d6ab8e1a69ad56c130d35656cb74b5e5a4da30a6dd14f4c8a300474bfb5a7f97ea7db6d7bcf6e93ab3ba1875efd8efb545aec87c3c50eef207d23e674d76451487c6d835cb24f1311e93864e7718d4d31286e3b053001cd6460bb9ec7cb79a47fdbf0eddb0e464e35c4f5eda7fe063a30abca2ea76fb603573162926fd88da4a0ee8d71e5f6c8d3222629eade384b55f9fc272522195de8e56541d8f5fe7d8b1e1f50529731b682c4e5b9556d37ebca4c8c224dd1f0e51ff7ee8f2b9fb47519335fd0b0371b8c606f1150e35400a81f4be0c5cca0364448b4b931c19f702631302d2ba891f75cc346a18081e593f14a372ec4c9c41ee8b35b4d3dafa9a7958963e6581ac7841a557ee1dd8d6c5c0bd46c9e7688a249ce76fdffdc74e95d862855850d86a15fbaf6ead7f3faff213bd434aef898cb95981928d7b10946579302895ad690a612d23a1e74a8b2494bc2aeefcc8e69b80841bf8b908a3b42b26c6509284eecef8350fa0f1ca4720417e25dcb3e4fc3792eae029ca24ed8663d6472fd45cc525127ded21dc8fc44eea93977104256265a3a9d229a757ada6f0db24d05aa5f61116319e21c3067f4badde53bb01345616da77ec328f9e9af941422acc72917bc897332f59c6eb1283dbdd5f17ad7f64adc9e5ed0ebea796c7f6db8daef468288d9d592b5f619ab9255a3475ef43f577a63fbbffab1794028f1b6be5842a8da8d2e281c78ef753f7a2f3ce05d821c1cb137fb3caa93a6dd020979f1116a4c40f5167b685e34e2a153674d326e3f495ec10a7cf3bca782ccd2881c8d995a139ef18821461f0e2c031beefa936300336892b40ad6127755107c20298ce1dd68c75c6e378f118af89ec8965a1211d76abab6f33d712cd0294f188121be27d6c132cfbedf132531ae2ce4c35dc73cae86ca76a84963c68c5667a9f45684821884761b6a6804cd616cfa0d1a4cd89e8856e4db61a19268c5157c3366d4ce80d6ada587ac2725a111962e80112d48371e81f189debb402541d088196b1dfe425a220b85a8c5e111bc41d308b5238db0aa048d98ff1a2a03eeb2c592017362c3413487045a86210b44739e11a6823d2326cf8781c849def1e8fbd11da605985b297b850c2461c8ab8b937f8a5426e3a3221c0059dbe153388c2fbac08641636e87cf25625ea732310d17e7d2c2cc204f346729a02ddb85c24a8cc8980ccac245b0aa7c9d237afe543bf2d5a328c37670d5fb2df8886f0b04435ef82e88158e03362587fd695a12fd0866ced2b3a133a0ef9d8f120ba255b1ec223db8633b09a92ff5b858055b770fc1d03f783f6575c70013933be673a0ef7aa0cdb89275f19afa4e3935313403706bda45984f6fd410fa2cc3cc8d90eae11966bed916d82348692910d1660b5bc33c23518a2c4dcedb95f06fe85ee1b13619cb6d3de0d18ae65bb64eebf15b60e1283a734a16993371bc50f685d2655772210e2beb32dd19a69ac17630ad943e10be2004c334c41ab0c45b165b0ab1ddde7e734e21edd94c626eba9287a684b261a4ce93598bb741d968c7cefdbd188a00a981b5cf376b679e33741f5712bf8155caabf131e1eebd43032536e779ad125c45b311da31fdfdfb5b407bca4e271325e8a5491cec75a481eaba234ebfca4f24d80ce0121f2171534b76463c002e4d92addfdc418fd3a933620e9491633558aae2183a3a54231ffd9c7b718f419a1530378e11831b8aaa95806bc4b9cfc50323b5465a0cb5140f88e8b911a643d3231c1511451516d94afbac9f8e51bd6811feaed3a35216b9314f436b6d794836daf440d51ddaa837c83471ee3b00a9b7eed5470e021286c597614fbe6435e85e75180739277140f5b209db41e0a6305ee63a88afe1ef195d09b966a26f39c70aa631ae5792304e8b35e4a628d2b95c97d75aa7564a4f76ebb39bfe6b3300f07c425b77e346df3e717d48a20ca834998712cfee49bd690fb5d5820ae8f902c9774157c5676b4f188f8a7b69330d4cbc5579470646f68f6fc3e2d65ec462b13632aa834ddc37ab5212158fce526df4d69ab01cffbb9651fcfb0960803f09388d8cd60ab6c2d113486f8afbc1c729f0c7c1cbb0f8dfef4f8f8005012068c2a16f430e2e6fb06f963377fb5fec84226217e4b2af5cb312d0771e40488b7d48322cd78c216059db3b7eb93358a9b04cf28114d8227281bb4185510217742b0715fbd613eaf043cbc03a6c9be1ded5ee9e29ed3b3bc92fde6d18141d5d32e122fda157d895890f74fe89bebac47e287b805752d36af0aea70477ad4d42040cf73a7a596a7ca464aea5e49b24329fb663896243467d16b0801ba33ead9bfa41782b250863bcbef68d9599c4d259e39be09730f5d730904d0b7ecaa2dc6f0a71bdc48fdd9336bda934d650097a845be113fd2e36211e74a96e3490f67cd1d3dd6b54da07fd9fb662174db39554e9863cd515d631d08d5dd4b03408d9414c7fadd53d1737f46d8261b08a73f9daf8e7a8dd18348352d68f8905b13ae62db71cde6b710699168b63da4bbabcd29f24ef0a3148c0c54b8554c48dcfebcab47f8248ca21f1bc0deaf23c82f7d1cfdc8aee6e5801a7e96c3073c7af68632a18d0340e31e34e4874233d388ebf7daeaea0c6ee2bb94f9adfe5ea91773bcc65d2e7e797a63ade48294ffea969a68057008cbae011017d9186e7979974c744864c5b438c88cceca4f48668b041d127b099ea48b1c8c4c192cea99435a022fa65b262bcdfc8cf40cd43bf00c11dc76b5d5ce673b604cf168410f75796f0a4d06f338555622fc252d650950af70b11f5c57de9c35c2654ec54425a9f9d2f5fb1b7871977ffe70bcba21afb9ee4e5facc19a81dfc45f577b8c5dee92c2654579ca702a70316b2856f33bd7778b60f4bf499a3d4903715dc8d40be342bd5b2542d8e3a9095eaa3bdd974e778b48de18a6f2bd0191546688514cca25f639c0e95edd0ebc64af2631b6419b580a6d4232c95fcae5c8fb87c235f257df396b2523b9a20d59e3a1bb83bbd6484558f27c507fc0ac24e68eadda0b5ebdd622bcb1b8bb14ec1f845916566d34433e504e5be6e7265b981020e73192bd457cfdee6ed5c7b54350bc7110818388c9fc6907f716cc7a923d99818ab10cd12da8325544ac5f9b11334e52a49ef45df4fb87f02a64a3776bfb48011d77513ead2b41fc7e5d6675152a8332cf4b6f614cb17259ccd37bd1cceac4b7ae5498a1c2515df8aa453922772542be06b8152720dd88e080b380fce7d715845384a8e0b82f00e39e5a30442e1f3784b56082f5f18309dd6dd4078bc99e0a4afe591c175fa5aef8e5145f79989b21bcb9571abe44a98b1d4dd6b3354643bf99f4b64d00ad91adcc399bebbab3e2c42f04a0cec747103413fb236b9e168e4de3ef1f1ead8d4ead9e274f4206895ca1a63ddda154ca4eda7af5dd5584216b25ccb11da4cdb21717180badc3dc8619274e81350a4b7e7eb4192b919f4da09f11db0801856d9940024bec0bda0bc5d518c570e940709435a16b47ca925cc6ff107ce5d3ba9fb4d8e01ebf90ceb0a4c6025d54a148e8a44e018aa98301fb2b5085a1745c662dab76c1b3948a7cd6089da936249fed5e353d71c20e406554b7ced3f53692609cba0cb7a77962fe7767a8b55911dda1cad3f24fbd04329da43d952dccc6c4c552f4345628eea4b979521c8da569919bd8437d152d022548e01b560ac753eb8b9c1162cb97335bb02df04d6cfc5e38a008d9f2864b7b7be69f2f54b857a034a1a6b3cae78edf10ff0f8224e30ce5c39adab7b027f8348126b6d6178b8ef7bf87f24a6852d97078484127c8b042e188de36111b1566e43d4865565201c01567f164532b5c79a1583da5d81ba3ab49576fe11e9dd9a1028cfbbcbe6f02ad31f04214f83f1eec2383533c64b428a02a08f72c116bf5f3d431039f324f0a3d88f1d77d0c5a2345f4af432402a8c9086f925fd7593d50e695850788ca32cf0348bf667f75c356a4ed95ecae485fdc54d7aa32fdd728df884682bd13207e4fcf07751924db2031770b2bc36e70f31645f27ccd0a24ccee6b11b047b46b2d3d151da5c819e767fa8340752c6ecfc27ed1fba38029cd6a5b9180dfa0b496a9e2ee27340ef99bcfaef1c941f842d802d458ce5d7a6046f537ff7d845088a895aa0de753620336971bbd901a6dc4f4fa2667698bba5a32c0beb70436b5f1f2cb3fc22c8202fc219fc8445a155f7137e2a1193e1c71119fe41f274bc20b0f63b54bb3559727979e6fd8d802e3a539f69ae700939ed43690084e7eb4d294ca31fa7905c4dcdd935ab62dac73d8564863e72f22a8b600f570047dcc4579f0ec5577057c2ec2bf1d584dec3314849abc1a6e63be7e3feaad06cd9d72cf11d64d7a858893740bb26314abc3db66b52b40688bb64a41d2647eb518fd6d17abc6e84cefc6f8194fcf4d6dc0342107297503b073af7e059d56ec4452cba07ba4db988d23dbc20b2abbf15105cf495734c9115329e670d17ed8bd848aa4e19d19a5d8ad89fd6645f442e5bc5b884816161e05adae009055ed412445e68b4ded822fe97506b52fd646f961aef765c7109b2e1961054856abe3e42040bf4d90d9a62281c1f2455313f1fb98513dc730ecfdb70122c78cc7102f3acca39974c6fd59cd1262f3733afa0c298355ea65c1a74a5c2ed600cbb487d0e4e05fb9b1684608f80159823909f2c3be28601806a0d0035e63a4f0db038b64d66af727a005468375cd5fcfb4a6c2739d7e4b35cd529b1908905208e15fac1f4b9dc67900d4366793a23a1fc954ae07b359e60eda67d39ab2bb3e83d413f3046d0b701e95e2b4343aa31313cd250061683fa1f9f1deb1992e2c51cf0505ed10faf72d7a082191f172b678b238e11aff2bd30654eac9a88ed58d75e6bdac3646deb04f4905f46d905338188c006aaaaa2a8930ef6cf1dbe303aa8d0780282d182329130fea00ef17009696374ae5d81c97f287197071a699c2c35688f1a20bad3fee0ca3526948f93d08437e915b72491e30aacd5226f54210c283c6c6f6b7d94a06efc85865d94e20177d17699089078329d6051fe973abd6b9bdc9dd0ed34e295d45ff1a349f4308db9cb16d8df2b01a58efe05b6c96ccfd76cbd2e4e6743d9b9f335df8ad5805f60123253de819c4f5ed3ef8cbbae96af9490ed3992a66f8cea723a3ca19a28c8a6fe9474f0bb4a2ebb55cf4b347d3f214ca69ac22a642cad5f5c7bae55622529d0f56211eb0f022b7709b7550d6a435af09fcdfbeaebc48f8d64013de74df90c4a2c56de6ad41a9533a08e948cdb9ffe1bd8d7b187dad29aa7c385ecad23731c482bb12b7fc4e2d4ac6b29d1885dd542b12bcd65e9610488a5090c6319173f898337e7e2ca608a64aafb88c0113ddce516106bafab29fa979305dfe8832b15f46099fdd42d801ae19290591f2da9e0fa10e1d26822a69d5f574e110ea6fb0be15df9aaca20b21699e16a8614b870f5702a1d98caeb5479af0ed8633f841b6012d8204a8f6cac4342a1db09e1d2fd09a954709fd003d0434659acdd334901b54ad6e3db68cd3da18aa7bcae5454ec3a10280e3af12fda34d04a542f234ef1cd6468cccf545be8396969430ed2e058da3322d0bbe4a1b78944ef1f476f6d185120c2b7fb1e9383e701e4f945530a56ab8401c34c992631f0e7e952d09220624bf92fd082f68c4b133a86bc62a71958c18aff3fdf30f064f2327e096ad469ac935e10ee0cbb892fa10ad255cde55a8fc5243e56efdfd521efc01d146863217da1acde8069a49f4aaa37c494386a42b969a29c0585f5ddb10ba6c623388556728819a7142c5433847c7918f608db80732f8013085d033590fb756c3a3b21ee9392c8fd5677284be4d9fea1a4e18d5949082ac641645cea9261a3499bf076384ad43f9b41a584af50a8e7dd059cfa80238f7f90eb666a39b3659b44f8d809b42313abf549d36b8983d8a37263e79f03e73bbcbf30df9eb0b9e84711efadb036df72d8218471facdade7e265e8511fc669a136c518a7abb52c5f993b4d1372872eb3c2a1ab0df8dcc29412328e83042408c3388d1edff7b2da6c66d55e1afb321b24b6d70eea46b9f3d64aa8cc0618d9a5c29e11cb0437764d560370a75789974843e7d8c522ec94480c77bb24f1ab44df5603eaf4969d87cb0f7660dd4f513b0120d22111d2edc04d5fa70caee04c324806ec762956eb22a3bc01c3d197d5430c8c40db0df9670d7de5061de947f73564989fa179bb1bfcd7e1955771f81f944a9ea93227df862e20c0290f64b9e115932a65a07cd20fb4b8cbd91f77cff95960cc4db982f76a394e1920a503d3fa3f68bae9a7f970921f22fea7dd37f995dc67afb4ee5e712aaaf743e19455e6c01853c0ad5348290fa22ffee5b7ac70e910843693af68f8ca72cfc95a65df6aa81a80e6c7b40852bd0a72f29bb2cb8fde5bfb488186fab731f0ab0301f4992f46a50d69b327e954daab8cf830efa7db790c66f676e1829deeb94b7b911d1fa5c43c5c3fb38008da720e438ebc360e49cd0f1c50bcbdc752a8fc9ff38ce1e217e8ca9f8be67c0cadebc25b49c0e979801b2b88e4a80ce8fd8842a250427029b6f5c8e9936c6efa90b03b9ec48901d6981dbf46995141f5a23b1076134506fc639206b12aa882b8c1c7b8b79ccd0eefe4c89d2aa8b038e27b17121c1589d3a7b6aff483363357719be62ec79a504f4b5053558c60a83fa03f3f2fa47c544895e236410a2b9f240251f587c6ceaed879c2434a771f1800cfa5474af2e84c4405db48dbe61f053889318b2e6da9ec65971191ee8a09dcd0a29e61183e9982f6b4f1291f8cd18d03a9a1af71ce04380747c329426d2757ef7d57b143e420ed0b208ec90b0e07e8104114f11037724440f26cde6123eb9918c195cee5533f3a2ee52f023b36058bf4b92a507ffa31eb57ca9436074c98ea033daccce05a0c532171a647efeaa716b2139efe0fd094e49c5e129615765fa4107178a11ef48728a450ffa943ecbff37eb121dc44f4ce8c487e094ee33866217022162759322ab044989f96bdeb8d173c438d71190b54939c9e92bd325af20e28236406ef4f5f79414b18440d5a52138d0bb87d9fa2d16fd5a1bf485f0aabbed2b1c356d5d4fbac19658d4d4b28014330012c606e7a8ecb3f5ce50bb2326771371af6d17b81b6b23630d5f2aefbc4c768227451a671cbddb6c872b5508f4c83cb9c0b9a4904ed072efcb42685c13b3381dc7449cbcbc01d9f2399bca4ae152f7cd7225d57060132ad21a2a566e3338d312a124aca71eac104cc1696a593cb97e259ef51aa74e296e85b5cd03bae40acab801a3285771f1bbeb07043aa211e1d1c76ddaae9f510e7d53d47a7d642c234a19ff050bc2a33ead3515725a166b62214cb769cc655e5228233cb55c80ccbe53a77d62dfa26e95ddd4561a94ed303bfc0de1623c062c044713ddd3d94bb0f723ecc6099817482ee2fd7a41e2a51223a6d733b8d746245cb342574552e2c248fbe02691963bf544203f157b2b150c829018a91e7c90b41bdc91a3454dfaa623f282f9d00cebdda228e0bccc338da142fa0ccc335d3908b316fa0e055a16e918fb87094f576789530b67629e30d9897b801ae89ab74615c1f0340a57db98ef96e52448d0968f112836bc0cb01d33914781520ca21c4ce6d33cddb47165e4243bf04959841c75ee3146fdabd5bcf8dd6d30bbb8bc02d401ae3c983a425a86e03d2851b76c0def44893a15371f3552ba58adc37918b460b03fe734dee2b76511e2acee49a47b8225683c7790456768102367da9c78b42e531ad69904d258148116888575e916186cc2bb621121952db7ddba654f3194472c5316783ac5abc801ef604ed3d14442274fce7aeac56866a956a408287c22f31953421e87da196aa1d1596252862ffafbb9cd2c06eee4200ae1eada9ed624d1d51b38dbf06bb6c25192fc9f9329a796fe362a103e959ae3ab18c337e5bb6b6547c26d5773a99323b2cd57da7a66004b978cf6dbc36a7cfaa8b5185a0b821e8e6aeea77b67729a420116dbb9f3d3f1f6fcf2a23ae713a922aecccd0e9030d26dee386095db818b779510e4651303b73b396d7855b87e9235fa96cba97e9b8766da9ea8498cffdb1c03a96ef4962ee7dab09beb065aab90cacfc02aa3f26775a208eca4a07bd79456e1b07383110f9f50a6618902cd6685bd9e0abdba0ddd6ae58d180fdf20dfa69cd995d06270ca1cca70688131ce844c1eb0cad600997a22f9562f920fb12b8fa741fbf55e8819ba5257b6fb2e5de52ca245332075e07650734a4f08cd1ad08d6cf4776e4fa43ce7dee965d4ae907651b991e9d3913e7cc993367ce70418386083468d0a041b363a58af7b53e22be16d9e636ac8d84e23776bf77c72a2309334d0ca1c605f31b48ec1b5e8ffbc01fd73cbaa19b9fa339e79cb3677f9c776f42502694e6e41bac5b9c318d1b37584eded6a481e25682da9cef34bf9e04ce59e74f6fce7e7777f7ecce9ba8cbac5d717d7f3ffcaee864ee1d3b9283d5801b6483db4e8185c91f458ccc26484d4e55b534546b2aa55a6ab40b4542423242658e858585d564eaa04d6a35a41a52d3d4e16bd63839393939554d1d5e5555951d69f42671626161ad993abcc91a2a2a928aa422a9c84a298d0183daba4c1db408335aaea8962e541de44fa9a890a8906a84a95551339486459bd46a6b6ab5353577aa720a9daac0db515bd3d4418b404202d3445586aa56e524b54d1db4083358575860bc0955194cab688d523dc1f4fb4b4a75fbcb8b4546dce1018acfeb5a1cc7711cf72dee2ff71dc73d779febee581bb6a4ccd77f13653482be742879fe34e300f872aec1e067cea1f99a2ee69c42668d3923003f97988c3af87256d981914fdb40eb98533898f387c8d8e081087900d0973d264fd9d460bc217e29803cdf46eb98644a32832f9f42cdff3227cf2befe7bc32aaf41acbeb62143275d027af31d2688ce50d1a32630c80d1d4e1713a18cb29188da44d993afc8a83293236f028a05183b1bce358623253874f1133e81967d6f0fff12a532887f9673096170063797b2c3106e3cf58be7cc6f267a6b57e77777777d7ee2e1481cb31605025aa449f28d40d0a8a42515a8d5a0f8fbb2ddfe2ecb8c2a9aba9a92b1d9cb314e5f2a570290abc9dd37c8a4ff9e8148da25d1ce65307fd81da6855a64050a80ebad12827e91485b2e103ee2f2954f6a734664fb7abe5dcf53a8819f871c9df373bef72e20cec2690bbe7605e77afe77df7ad8eebbace03bb4ec7075c9b480a8ec18991a7bb5802b7b5553452c7224e5222b7726dedd3129cfcbefe1d2b1dc51f4deb106b6d0923df37c1565ae958def7462027c98791ef2b9b704772fc8f41df9138acdfbfc94fd9931dd4e1b33b275351504e4d5a986848e149a72825d16f72c464d28c8c10c0073cbf22a999d259e5643f69a4081127bda77f4b1822a4eb38db71dcd83120453f7cf0006188eea0389cecc72d5a309d56cb75d76b7d60e8cac13a3b3c608f8bef0989a8c75c2807ff10083c7cfc7021d0854297cecef79740a4880bb5f8b63e3f183071210064f02f8e4a2fbe61df1d7c07e07bc677d0378def1adf1c7cc7be63d880be65501742af6f72030fbe6f08e085fe83ef8f89df24f91c883f3fa486f8fa298186d84312c91be0223344d04800c48ba4039203120518c901c9c1063f5f865837001a5b03118c315e33379a8c1183070c3176c3c728ce88fd1045b2c9194542e2ab6131fe039104827fec6932460c22f9c5cf0c46dc648c2200104123188817c98f5861c440c127c6378c1830c6d228bff8f9af172ec4178c8512ac52a64376cc4c69210ad101d2a47d7cc57443e421809cb04725a3c5031147c3ecdb10bb612e281ef14618f6c03878ec8831f0860f1d71c66729d99a5194230279241097f81e909050fcb9ffea7e4af8c41eee45a42562db53c413c18a9bb4d62d256d35aa357c67853ad62cf7b93ad62b56aa39adb5766c79dc675b465070218bf586ca42d777cddd582ed1bb386c82b9f4a91655735ce7a1083e45441727a9fc03fff629b7d96a4e4e5551d1cee96ba0b6b6697d913941e4efcb01e46e28f28521731d446efd7581639003b0581b765b0fe68b24733fefe512d0e5aec30e5e585203f90fdfb5f3725eabdb7eb47edf0e1fec37a1e83687399985992fc13be79cf348e7dc58ba99ecb7ab26e3c20ca64a3cefac588ed64c9fcae8df917ef795befd4aab15bb11e8d3efcc71b48ab68a95e65a6badb5d64a39b1a3e297633378613ddbfaed45f19000fb3f39c9eccf51ac130b062c5775272ae3debebb6d8acd36c1a2b03754d4d232ad0d2ebba82e8a3a4d6a79b7bb7fbba7f7b9f7fe9b614b0c5205bedfd9f37ecc9f772e5a5a2bcdb665aded1fca4d91b3d672325cddf81d0f5fa594d27bbb4b61ded5476e82f34b4a29a563a573be103a251d7539415439f307d9a7bf9c72669f1e63e93394431b2178f671de9cece7722b4f9f233367a13fb38d01e439faf498b38b933da13aa87f8a2770b948d7fa2f9b0eeaaf19a8ab6baee9a07efab5d6d12885590aaec49d7699594f669ce68d09ed286a6261276da56ebb2f71ee5aad32aef0fc9edd65c8c99e39a274503f0833e01953c2fdb115f0fc76fa75c4de14667fde5be2ae73d25a5b299293f6d6eec7eea69393fd3362c033071df6cbfad54df0a459a3ab8f0f03e6cc684b917fd32c74344a61e6635358a7e00eeeb0e4f4e4489ee451dcc9a9959cb4dc5ce64b4b69a86a64a2a6ba00f103d41a37719c8937b9dd6e3728a7a91792d29109c294db6de976bba5b9dd6eb7db2dcded76bbdd6e3733696eb7dbed76bbdd6e4b3a709668f488d2e8d1ed96e696e676bb4d4d514d75b2246c48244b82ab5971321d4b2fb72d4b8afcd3b64e8126b0b539a2b96d6daad8b0dee4dcb63633e4f93447dbda28e51f276fe41ec286a9fc03633e45ca48980d96d0cc9322d125f25492415b7221261df28c319b4f9dc8e4f9f4a96d6cace4f974b66d4d8dd6e657a7ee82a719302d72727e87471a3067f68be8cc8e4629cc30854d9d0b2841c6c9ce1f50a59e8fa9cc67f3e794539e5457dde5396959295faba49487dc337da765a7b72c5fadf37d046f5beb6e7dec0eb2f3fbb5304d71b21b4929299c4b53cb6472b2dfc377b27f2c91d06aadb5b61e49e1c824817cba97c377423ffd49cb2dfad0f74cc51c38944079faf8bfb2ff8c3ca7e4d6417fbe8c96d186cd2f694ca0d93568b9c5ce2f64c0fd1d760e243c5f0890a622397d7c0c61c67219bb4561dd653d3e2db903ce1c61be0974ec7132dce1a4fd0164e121ea434811177a9f3ef38f2220434a20e2427404bf1b2ed4ee4e5b534fdc7cf6f00ed6ccc8f66396abcaf67d384e16d63a5bdb132e64fb425c26ceec97f08482997d235664fb485050d394ed1bd99f4c9cf3e96108fe3f4e76f0036e5b9a35b9dc91ed0efb20f0f061c3dc582271203b9a30916cf5bf9e248e552487d5efbac6c99ac6c95addf40c2ab02b3959eb9738579a93b522e58a54bf2ad5af4bf5ab96fa6075caad819239a9153d81b8ccce2ae364dd58e4c88f5ee6369bcda9fc286ac78e237ae446a4550ef3e744da854ef91a243328b88c1ef59c573dde644c81e7d111523b752e04683ef7b621e10494cd0a717ca1f202ae08165ce1ee992c381c3c6ba8b0f17446741d11b7bb3e8678bc9e3c73932a53a31d2783943005475a3000a2220e8d0d149724a7992b65d1e68832574c2fa8978d98db7686cb191e86b810fd510444c89010ccf97e1c748807d991fd5a82abc8ddc6da0691588048e7a8dd24bdce6bbd784147046a58f77846ee3a1f54fc26319090cc61d7abfe90cc81227d9c3b23970e71020da6bf5e2d8412a931d7ffea1dc50eb2a304e67790a5b95da8fb211f6bf98d61d25e4320387975c673ff9a3e2d5c829072024c0baa98b9131aa53657589a80c32945a18304151a0652d4ebba1ba68929fa21310354d7bd3aafebdcdd9dc788da15cfab3a785f09448c2471660b76c24e9b3dfbcffcb96dead9b5fecb25f63c5086335972897938430563db19197a700b7ff8f54e50e1049a5c923e4cddae36294152983665588032731ca6905c5882450896703144a9c2d59e9c40cfebbaaeebbaeefa18e2c1e6f5a4adcc5399a62aa64af051bdb182d65a2be0e9f2dd2b05ccf275de94ebe02dc1c4c7416edb12265882a93525e7fed74afa5fb3180e2a33c0922c4eb3fea17e50c92cfcd1a07368e00544768e99fb63e5f86f5e7e1bf7ab1f880dcf0341f0bf41f0b99008ecec01b91050fe723ccffb6fa1d67b409f3396f77eee7872b43c4305b41ea4e50e894a70f28793f73d91e804214ede07e2e4fd0050818b8c44420083e758fafd5607f97bdd41de407734a1b1ee0f5f58a92ba7f3236fe248587c39acbb9b7653afbbbbbb6bdade538239a03f7681e3f7839df497933d25987dba79336946280c0523abe6eb6f209128881558cc93ca366818a54ff541a64f00a03440ced1cbcd70216eb4e40ca0194e9640dc1335e11288870b71402e3483ab1c929a6d63992142019edf3f3e81e7db706484c9a419d12cf387a934936a947200b93b884c7f4ed55aad7d65cb51ca55dabf7304a64fb8289706219e7881872c18b48c504410558410c2882cbe7051b6d013b83005f7c5052bb84b9940e28acba99e80c6182cd9df9d9e608c0dd91f041efe3f281339b96d63927488c28d22b86291a08d3b62386e3ab96d633cd0297dd6daef38ae8ad604fb4d8b88b93661efe172493dfce0d558e0b95f67e2503814332d2876acb22449e1040bdaac80a5004628adc0072356d092858a819395cc70c494143490f1c2030a664a661803a74a0b55352ca949fa72dbc444a183b5b5c36d54b0448322cd1220c4cc9c1341f6ca4376ff193ea656c6882a2c5094c8c1c5a0e1c4b0f198331183c48d2f56ac71170c5268c018a04282169ea000cb961f2ac045698aad093158c600f560b041315efc31139b9827315a6880620c0e13068dcbddddc12520f7c44917a69644051728134cf1449c2666076093b4c41343bce101061f433cc44c015f4f0220b7cd0a8bdcca6db37293cb18105febc03dddab049564d0d3a19c0b79cdb5760e07efa5b049c59efaaf1757ab98eb97a009f5412b161133d7c48d2f2af650fadc7fee5f57da20e67e5230d3b188985f75b439ebbb2ed4ed93e3388ebacc7fc4b9ad1def485d494dc1dda3d0e9ed73fa77d02c9f680bf6aef3529868820668ceb201fb31728bdc61904aa3f1e40e834c1a6d66777287417a6a66c7a74f089022af2538398738d93fe43fdc63160767ddff49f13ee1f95e769a1c5d8974508fa53f1dddfd0a41c11e2fcf0e23d4d96339b172bf0b35b8042d76b2f638596b8f93f5415b169958f5ff849a8b4ca04ab91eec640c065c822e84c02548bbc7624fd7b538b1f4a9dbbd0b13f4b810e5388eeb3e96b9efe8ffbcbaced6aefb0e79f84cd9ec543e3dfa76639158e6946425f9ab94fa159c7304033332fdc09b8c801ee63c6ac29185a4f0cc3f4cd9c964b75a21ced26b0a0bac4040c507ef42585d135f03e1a032a32d45f6b9a7dc6864b4654cb2a5887bf093e470e353187df0f1db113fe7faf04b1cfb9ca158eb936c49524b028e3f22401b4261f483c4b141c0b75fe47d188246463e3f7e8bcf8f245b8a74defb24418c8ee6ccbe07e6cc7e129d71d21e1c7d7c3ca108fc9036a0677d033f7c9c334e24dabbc6b98494644b91f7dc27f924de389da8fd7004c7394561f4ed98a4f577f471cefe7d12ecdf31c996a2eeb94ff28d3efe97042e4937faf8e8c380eeef17757f47a32df58dbaeeeb58d4b33b2be7d48c825b8926a2728745987e4dec440f01ccd3ac5158101b5cce9a874adcbb372ef43fffffe3e075997b9e0767f0fd3a2446a4de7b2fcea206b86c820de18e15d7eff2822e44ab977659cc631b2c61fff227ff84dcd8891e3481eb97b1214f84ca6254f6af17c65d153911039cfdee7bc10697afb2c6baec2c327dfaddcbd6255f5399ffb411866ae626d86f177d8afc699338533377b167f34dae23b42dcf3fd2e5dbb31b4ea47983cbd8fc3145d8580a6a221304e60d8ddacd03178eb07aa8552f5fb4386d8837341d45d0829ea6c850c1a902dbb8c10434355444a4f9c1828615aca91fd2502dd150a156c3885b8c09d49b1a5248715a6843052eff05780a5cbe9b09474d1347330c9a10400b47357ad0526659a1d48114b8832c3cbf045d562481346b16666db07014780ac0031bb11a3482708e2b046fb87c8a6eccfcb99cc547a314669e82bb9765040b6f66adc414b62527421c414372f2c4125654525ec0b202ea051fc0fa8284831338545e4833e5458ae63e4766ee1a0b24c09ab5125f48a0349b647ca0721a23c0fe5f1dc1162294ec94e2071694b82e6208a53423093a07820b0896ec0b2370a27634ebbf9caddecd55cad74258e1022dd303505fb0fc76b54405f3b2048b1412d0123f75ccdc06407a92660b0e504a33d712b39ed387f81ac88784d67fdffa6f74b38489e7792f42dfebdd4b9b3e1f128ce6134eb3d67b8f64e6203ef35f40cd8c5e40cdbef77ee606129fa4017f5ffc6a89dd302b5a521635642b9a99dc5634a6ec1f94db8af694670b1565416576ada36f58d98bb2b8326b742eed672697483c774afefe77471f1e9def8bd02d9617ccd3960595fc39d822fd4e5492a78884666e9c6544ea04454a0b3b5baa3841606ac78b929214efe9b9f3d5437b680f2ccc09e4065ce23a471a7e6269fa2ffa94be9500504a675f177d0d7cfe9f8b3daf08d5bae88fa0560b13667acd9b2a4c182f0b50b30035d5db74f920be06fa7a96a64ca529c63e1959f89b2df7e8ad9de572199391856d2e631ee0804b1959b8e63226230bd35cc6765880cb988c2c195978e632266305f8be8cacea5dd045bf3e8e3a431e364f26317778a465cbb4c50d998e437ec29c734af8554ae7d0009e32b48e3999bcfe27523afb26088a21acfe14b37cef6296a39f81a14852587d0aab0f8eafb944ae1fbef74d65dfe74a5299eb6b587eb5dfbbc49eb908ba18eba02afa4ccca2f3312ad319a7928ff73aaf6446479ff9ae5732a3f72a29d5dab26524fe3377988056f631f604900185a9c3b38b22f07551848b2ff8baf8823b77ddf540175e945a5c977b447de0d73c995cc8a7c79039c5654028ac7ead3da4300a315adf7df72d6f3d0e0a76eee38e0f045d78094117549873812ea870e7722a65f06b79a1cb25de7058fd50dce1b05a1f147d38acbe8b3120392484732cc2ef1a8df077e88d45aed7198d5cb1b2daf14810308e963cdf87841c3cde9cf115e41baf40ca73444273065e19c92bfbfb9010bae8f7eca36087214c141a56ffde599b4cae732c71fd980b9de0f56f541f2efbbe2acd3c43712ef907d512f5d73084f6f16655fdfa3ede1882676fd65eb354b13e902b8c59fd194554ae3f9f5c86ebcfa8ba93ebcf2eb5fa5eac3e8e289e7275184a1025020c360c61da88c2652c7b626d72c2e677e2094830cdf33f91c90a3febb6f1d31f70ff759ef5aa473df7a6d7a02be642e5dfa8b1f13a2982b94311e60d46d64724539e0f60ff59d6222f269e15ea08be39a7086222e15ca8744a5fcb50aedf3b2fc0fefd2f2ed8bf8ce5f9d5ffe2e8a046c261e91c343c81883e057768018e7e7665d53197e5fe57c52be2ee69d84f93d6e22ada0e541472fd2c77ac2f20f02c95e4cae4db6102ef94c1fddddd573fe964bf3b0580dc29fd7981329cdcaf7b8f393d36601e1a76caec30f1e2061e291e29241ea939e79c73cee96fe774f1e291abe291e291da618247ea025fe591b21d288daeec30f1f1d01004a9cd55579b6186ef2a89246cdd411cb8c0810bdc97acaf735759185998aef6c4c1130e9eb4f9b2b45473dbb2a2681a9cd24067161aabc237e774ef1c33d3dd299d2e312f98687dc1545d8a233a1f0ac0a5005cdcc060c4e7d37ff3977d7aec0e6a5b962db72deb2ad3f88ecc3cbbdd34e5f295bbe412e7a614cc6dcb5aca3f60cb82a04d6541b472dbb29864dad43deb2997f7d5862997f5078335f9670c07c64d931b247279b39b29f9e6b6b929c2e626aa566b536b276b52d3a5bcbba49611e194083a3b274e6547d07a447510d02a03532d184b6d522cc974fca9d506df942705f8e653e11b414b850f8c77450b09a3e0bbe2c3ba54b46c5f549804c3f754850d0ef322e7099a5c621719274227d8735b5169e2d574a442e69bb9ada8445169ca606e2b2a553589a75b7a5e5c2be53a1c9db8a34a0d686ec88075725bd520a68a1abc64e12eb7550d5c5a6668100114341c3161d10a6a25e1fb020f0cfe5c001ee150891c29d855f3bae08f881c98a2c0314c3ab4ae9896989cf000b5aee09e2abc250cb26952e6aec13d47ac1902dc82411f5a80a5e9062c58b03cd9f1b9555896b49ce09adbeaca154cae483184afa801bae29103e58a12e114cec96d7525cc1521c29ed0cd951e6a576c68a9c138b7d5151976c02f725b5d51c1081c4e91532bb3022b62728eb002260456a4acacecf0b5baefc1af2e7827b795152b2e269827b7951517402a0c638a96187cd9844d704f6eab2515d0aaa6e002057691db6ac98628708bdc564b492e314b209841be7af00f083e8678a8a0e2d75bd5e094bfdc5655e2e492ace9d4e04a4440a5029c2f47c4791335fb61060555d410014495a399bb7352f90a7a2fc6d55a6b47b2d6eb4e2da539be3b2886e3ba7bf54aa90ce7d06ed698bbfb534aa9cfda777ceed5efbec3444fa7d5721c0e4cce1ebafffaef1efa4a2dd7812f710877396a0efb5d0cc7eb35343b475bdc5495da4a6d675b311cb9250ee1eb5dc7595bbd96b7bee9b5b77fcbbe0ee1ff7f1ab663ed1cdd504f758eceb71d31fd51708ae59ca24f8ffab6c7a4d17cce300106e0a6e7ea618fef7a9e377d1ad0b3fa463d35db00fd0dd46f91bf1638895ae024aab452e75a1de7e36cad35e601a2a6b2bbbbabdbd9dd444e6daff83e0af64eb7d38eda0f04c5d23ecdf63ddb6f2b76e9733f4a29a57414cb995b20783b17d8a1b5563cf2caf63f0cb658e26a47132abd4f54a952a5cae735d4d01c9c4ae9acb7564ae9a494e39e524b67d7d5693f100cc3d05a3a29e5b84ab93ae99c9cb5b3d6ca7174d6a7b672b33eb5959ba37d390e1487a8e9d46b796b9c0deb7cc8673388566bbbcb05d124aeaad37537ecc18d507b565abd0f04c1300cbf1c30cc01679d8f271ea136c965db83cbf475c2116aaeb5e6803a21f71fcf09b7a76b581bf66801f68423d426ed731c68d1221ca1e6fb5f0b908a1af07c69df71da145cbc78794f0f7b2fcf060ce3760f6ef9ba1fa795be2cd7713d1877d585eadbdc5f45f0de5b731864c9ac1bbb61336f762f0a772ab1449f7f4d653e455c9d714dd2effa987262d7bf1df75cf58e05cfbd254a3fb49a76f8b0d8824b80b9dc564a593c29dcca6da53443aba6f4a48545e94889e6f5c53190c9e52b0417df9cfbb5786e0f78b1ce057bbcfbc5e5f23c0b250c444e7885534e093c100e94cb06efb3022a9cd2c262098c21e97a5568f962004178ab48d3baa2d5d5bc2b458bc302ebbae0da2cde74b705150b2aeedde6d1384f3ce244591cf3e2e0bd18ce9b1a05ca356fe0b8e2e8de6915450b06795c91c6617d5dd6535196801e83f7e297cd6d05c58a5cfe2b8820dc6290a2f2cdb56b3a73f73db9d607520e0422bfac2ccf0af6d4b8a8c0e1954785c1dc56506a316a05a58bf71a87b51b8775e6e182380ebb2f29fce5b682f2430e0fd8cb6d05c5693e008a160aebdc551954f36fec982d987db155920a72f9ea8203077dbdc85777d0a553648cc2fc49b2bb2d13977a5c772b65022263140ecd6d956425b7723fd7844bcafeb606c54686ca8cc4b9e1882ca62a5ccedca84c89932b52cc9cb97aa292c38c3b41f6077bdedfbea12d6c946de2b14b534bf6b734262e746491de2ad535d5098aec5f9f5c08aa4ed59a0b55219d9eaa3717da79ff6aa64ef9b232657f7a43ba21fb5333340d7d53692ec4a41e1d551976d9bc5025aa05e7f06f748a8be3b22137262fe45a2761c6d380b221ff8945cbe01ba7751235cbe8ec675293af76b931db8fa6ec5f04640811fb4fa3d198ecf01bb2e7344eb0d83ed042969b198f2962a2a8a5c0cb1055a2f2c5feb11b2e9b33ff1e22b7f8dae2c18a6bec623cebe496f29d3c610b21dbf33a21510ff8833e8193799ee72f0c6132cf833c22a821f3f0fc4e48c4f3ca7185cbbe0da132ab06043e2cd166f38950198caa333bc8507566071966f3fb29effc98d9cecee3272de49defd9b17a5226efec3c0e8976de83acf3ae9048a75a65fc17c94ac60fba9097f10b55197f4e4884b1bb19820535da2ce7c19028e7365576fd75c244763de87afc43764999b9b2cb055b76a920bb9e7c614b76fd0c1782915d4e64c8ae0f4322576cc86d19110a9b1f7e2b240af10851e0264d320836b9cae0832e24800cfe17128138860eb4fcfd0d893e2154905bad1662c8138e179595eff7b8508c7cbf7bc8f7bb90e8beba34b9fb1a1275958512646e4ce642c042e61e74210d382ce44dd9d623335e321d725fca2d668b2837efd6b8cf2d0d37277ec4b46e1407381f8e21107854e980bbefbb432f1bb80fb4575ec8a1f27952109f5512139b2c9ae430b755d2530c33cf09064ece7dbd0a797f25a124cb131923acaada5465cdfc6354a6c44a991c3ca0439b24723062e640dc5ab8bab39b0a5334bcedd4926b4854b10b95b365193491008e1a2598ec80c4066438927a02c6cb0b523313ac40072964dd8ccca37d900059b85770c54d2eef1df1c5af3aab42019b90a844ecd82a73d621aa1900000100e315000020140e8804028140904692a2651f14800d6fa23e62503017c922498ea3280a6228c618430000c4106300408631367503c5caf41da08baed3051dd7199dd6715dd6672476ee29de74b0ae441f2f1ed05ffcf677dd8fb4036b6c0627a8c87ca7c14d5d06f3a56c47928a7b6d2ed2b785eb1980c5a77d8458cd3b3e83578ec6dc61e572a12f73c6ef19ef0617361c3e560771e6ba8a215405029b305ba693d83b4c5e35022b389fda01974862f859e89ad0b2c6a8268b1b9fbe0f3efc11300c3b3c129c2ca5b476288d189f8423017a057f0759115b3678c81b24dc36701f36c033c578d64bae570070eea3d59779b4d40041aee28e0489e12eb4700c721e73e4f03912d915bf28cd720b9ef310c297201bbb0f53e7b0e50ce7a4c1913fecdc57ec38f314c87083ec502fb0050efde6202d4f4494dd8823fda362cccd4f9c7e6d8bbdf9e080df6fbe243891ccacc08890ff0d44103b7e308617cfb8735a90aee90d9fc1a0b135944980292b491709240c53101daef2383fe871138307a166d0c5092d4e030086ef592cc4730e417e726d76d22c94d5c6e07f4f08d6e22f860a628a03429b0d46800a022da3c24b709d3ff780056fe34961ac0010728e90b094bac7346be7315c01a4b7e8685dee4869030d8b8e05736aa6f1f3d45faa6412b136e302bbea8d55ed752f911e764312ddaed3332c4249a3a9dab932e5f5bf94ecce29dbb74242f8e938bfe26ceeec11aa674946f2149bd2969ffcf17378c781c5170f1644a1d977cf72992781cc2a8184dca6533f30f08a40d0bc80513428b575a9150da77d055b8c41709f9d8b88cc417e15f83f68f9dea2537e81216245bea3330945e4072c8d83e9ba9acce8c0926c2c4029824a4e64a907365538f944498f7652525258be49f24c3f1cf564e28b8945bfb125f5555c99d1754394f403433141da29b7d22040efceebfbbbe14fb75ca3de3faa6f8452b99fe66e4c15949842049cc49bb0dbdcc24406251021670455651282a7e4900b4e928d9f512f42894c9c129580b18504d0796d471ca7dfb49f43d743a20a9734e55c54e2173d8d73e44d59c5079ad6bc5aad8262ca1b59ee6be87e41bda83a7300cf71fe5904ae3ce0bfe56a90a49c8b763c8cd2dcd1965c5bae2eb99869601b24475dce1033305a2a7764bae5d95e472505abc5c8f48ef137190a901a0e6c60648c7cf48e24bccf425315e22bc712dae970d2077d43022e8206cb2b720d4c39abd67692f503cf70108dcf97e2f09cc9439e7ffe4a65ab1984a678eeb5ab08b642499403b9ce77a832e8a4b475d01206d3ac36ea1986d7f39d550698949a4ed63472e19fd4da3a175b085c11a52b3ce34ee427534f547a3619483bc0d0b0f3084b9df8bbb7e3295223cb4ba59d65384680b1b7df648aedc0d726cd621d4f102ddd330556137b45d91f2646446042eccb8f425d82048596db55a1ad9ed8208b1939fea283842c8b4cc2a60f76a8bdef031b4d779e2d00acb0e82dbd7067486ecc9d83c82d9d5f4e9d73b9847fa6006ed81d0e29cbd6409a08b10f2cd7566776e626af9856d09d98e02e387532a7ccabf378a72827e3723457472712829339530c9b49378864a0a1a92e393c6b770089140385280b2e0afc773848dbf5ca5b4196b8c6595cbe9654cccbf3b3314089c87853bbdf58001349dfbb9a143827c7df1abdad8c3de0a23581c4c5f4bf317ce7614c5ab6e5215a0e09398320b1188d5198f9a7ce647aa6a9cd45d3946b0e0429fcf6ec54269471e0979f7cb51664e23258d02701c47598ea54292be7837266957737299bf9607aad82e85ab1ce02cb266b3e5f47a0567001ea9c37c8de23f0252e5289b8129d96d270edc1afcb62fe443e45bc358133029b238ff1fb15e10f58eed99ae8f288f91e61dd6bf74c27b26e9f5e16f1d2d9bb6257183e65958b8ecaea5aacf107a81b013f55d21dd202597264281ed145978e8fa93e9192014cc4189818660c9f2902d4b7487cc92225805f0e96ab7f0eb942c15b577d2cda858dd0f6ebbbfa95017ded6a530cf23ccf89fcd1aa3ee6adbb8b0a1834e4e5b411d5b57aff13fe5378503ca81820de05918fc96c0f38f22ba931933807dc01b2d9d8e1e9c8171d073687181e0f0efde4c26ca484d5916bdcf1d0b5ab4ad2c0783b6f9eacb13e7f72de8839f775e1a7ef141ae07cfa8210e614f8c56b46e18210d1060b8f445631571dfce8fc5ef0527fbc81113231fb0fba2be77fff9e3c7c0560f923c791699ca64323e3f5f7c321c73f163a7af5712a2964c1ef3a386ce9d89640c8b0f6ef7de6b729e3e4a6c04507c9cc53800763ec0361c3e0b9d1e4f95dddca8acce82a858c9f399a0d722634b649aa43ec8fed0268c5614821cd58510529197dda008583c21726d318069781a670b96a47694cbc0fff114beb8d109b32ff17892359c9a4ccd0e7d419618a89ec4290297f402d1554d3d3ce2fa52bf534548f40e9137a1a4c90c9287764d6c1fd573f9120e76e987799ebc444784c418772c86332e0f38746992770781e9307ed5fb5f5e546c20bf3df413035772e0fada826a3697b55f754c53dbbdf6fd4ef6699cb1b0e011ddce70674bdfd7d1381e67302ce420abbb2af995b7cf068c302fa738fbfa95db2460162fccc53caab9b9ae41b506ef62d737b0c9d521552b6231ae8c9723b4c2f566d0d100d80c622c3312291de4a002dee9b4b51ce59906039cf878852c08f7b5d255b644d531b9dc947ad4c01b766375a5ad46dbc0c2be65d230803a4eb04f65f0689e95ad701cac9e70c199533f4796aa76f7c2794c2e5d686ad440945324ff611c7ec9930979140568d0a9af6ca6f91c66a6e5dc7553637bd60e5243ce7db23a6b9e606bb0f7d2a630ca4edb79a800863a8d75f8e92eb8544dccd5d1cb5a33098f051195db3f4fa3d6868d20162beb182bff32c55d7eeb7e6bb5a565cca83fff2b6c25fbb90c7c3da0ba119bb8d51a2d4abec7a704c31cca1e65a0dd0d743ed75f9f3b0fa5a1ace5f7f5370ceb91012b023237660c5c9864054f8f69e9a109f3f4a53861a74adad859bb32a197f5a26742b3f679cb02622396bc564b97faabcc1788d2b4d4d4ad487b3df222bea8e7fa9c6abe58a93623e6cf410ca963d7c3b390c7bac9c4f6c526b5c0dc9bf0faa4f335e5e66056207ea34a5529a2aa10c30c1499df22ece3aaaf98ca39d128844a690103cf75eaa62dbc3a32beac2ea1898fd2366b4d142c85224829ca5e811afafa49cf4b8968127f5aa64650f44784f6b8af2536afd6dc17e3e66609bbc3a462f3c7afcc855f1c8d47690dff7deb44d0ef588d05fd28ea1b3c42e343eae4bd02d11fa843715bf651d0a6b8c56f397a271c43a21bb1123200d70ba79ca62cf3b10d6ebe73b1cfb13f0cf9328eb4a0c435fd633206543ef98f13f2ea80ead511b542e8c22fea1c34b29ad3fe4d6a874734ad7b53a509cdc6c8d9ee97faed79e23cd09ccd63c4fb5535bd75242e5d4d04f579bdb750bad07a79593fae5b02a569a2f4d17e46add139a871af0d5cb04779c8d077bd4a73677fdeefcf6e39464d0638aeab75be9fc4f244111e6b69b62249efdb0c4b97605f982011da25004a7ca1151b058066c010457bb032048d7445d8d3f9e4617819681db7d897567cafe0f95793603d19e0965c95cacb2ee35307416de3f6896d7dc1398945c0302c621df3616db99e048172020249536ec280a649f058f82078884380641ad6e17f3251a0b2dc41a315abda334c666569f586fb0caac7ddd419e6af9c502e4b09a911d6b52374cf35ff49df0505cddffe5e199044a9136193a6cf7a7c6b6aa17d544472e89c80ba0f67738a8121f0a5ea244120ad27b5e5d15f2859037f71f22a7dd67c4bc377dd9163bd4684f13e1e145c9afed648ff5173fef96deba89cc2a5dfbcbc4c6a505c7587cfeb7a18b4662394e27315868d574ee316416fd3714ae7cd038f9324c7d73d70c600a4788ff421260d8286b1b7c00674c22dd705464383ff4587654a022c4eee0ec04549ee4603d11b7f5389cd8c6c7200d5f3bc78772a55b17c9dbec3464aad386474f8261fe7033f5ad6666e4ac8055c67b66710634afa9456436afd17c019e0719dcecc63c99042bd6465c1fbe87f595339758e6c9131dc032c78cc34cf716978f9283b50b547f5f446a4b4718671c8ea05180abf4d8c2549d509bc38c4bafaf2b6aba188b8c379c15bc2b9545b3466cf738c74469470d59c1cd37ce3dbc2639f232f3de33a352e99392f6501ce5d2dfe8517072f4229b34b9b867436fa608cc96c7a188a4e9f131e04bdd13334698a1ab68a131fca87988c711b140b8c3928fdbabf0ff5a8f3486b64f129af898a93b7b75c7d3437a1d2c075e3148210a0495c711f7e9131d6d9d275f00e92f614d3b48945c679474f17d9601bf1c9ed1d134b4976f8686d6da9a2a0b47815ac6de89a4e416256d2220d4496f2cf263310c31867ec4a68d950b4c89ca2fac99b040dd827cc1c171d011c9f5a203f23ad0033418e4f548b758ad5614c9e37914ab2c79fe7897513e50e429a2b973356e88359821a52bee77488a35aee299666af674f5035ce7c8f50d27dc736a42becf829e41bad68cc86ef62c64e10fd8cd8c979948ce49e4031098088a5964b708dd2465d9a526ab9cec1e502e2015fd15a67bba75d0f30816b07df2a2cda6b24968b0a1094d4df5b84998536d700973006ec1f2aa998a888b9d5a69f6102894c9fb85c85a0c21c873a617dbecd7ee7c5031174cd0f664b2b49ae0f6d3284725d7438a002d134460d2a24e72b3240c6620cbc732715bba23b00bf069c89149c35f1f05f009634088a182a8927529866ecd11a5a3f627c1f38e7a3467ff8ff865605fa087f88756fe0665d4bb2d6a40c7641dc2980ab91885138ee691eb496d6af594409543b69e5abb9eb7a56d7774f8d7e9717c76e2dc89b9ba3f1575e24b10249736f17418b3768d0cf6981660a9a8d245a28186eba2c7d80dd6f1fcf6e4195aaa67486daa84de57273ced5205144273661738c60a3c08f72aa114a367e93d48dd98c49d0a892731f80e817f81fd5c0e74a691f4acabd7bf8301c9a1f0d2b183127168af7ffeeaaa24df9d79df2fb21615108b246e99be9bd662bbe51a56928f442fa48200a91a50c2c95efacf705cf118c528d403c25b4ce96ac0e48cb5d9e00ac58807a9a8cfff65d85544bfd4c1876e37ddfe33f01e38b031e27edd627a9a64094fb1794c563c5b14dda839f736bcd53c8ca4772515dc0235a2c08872acf6503b7767ac50c2543993e8f71225725cc10898fae98a9d75858f0586f88a7486b7afc5bceb182114137a1b4599f2b0e078a7ae492cf4065795ad66678b3791d3118b0db241f643fae52fc312db14cc66249e2363b9b79dcd691f9b61e48e81517080daa87ed042982883993587a996bcadb6ee9ac5899f560244a6f2267b9c875688cbdd9f383de644da87fb09250f86177d767ddfa092913c934acdbb68b71ec3a06f4961e00545efa2e36fe0c9a35766290eaeed11231c4d94a0d52958d49579be9e168239036edfa944ba1298d868dc155e6b192a58d78147de5d557a87b4e7385e369c90d000baa279b7225f911ba2a24478c258f4c518178c0b0b28ecac0608a788b0e2b1c20811c3edd412112aad8635219095066e96ecba14c448b1ed76abb9ab110cdb4650145d116cf006fd90c767c68d1d35d7e27359bcfe3cfb36eb0b87b57cdcc4d9ba83dbe4e87339538e69754a00b7ddf32934651d37b29dff3f3a5ba2af64d7779ce6821593bd1b6c7ae3ea5883848f2126234e6d6c6651bccef3d4de0695064d18a5b614efb9b83a856d1bbc3e092c7cafb4e5a46715e6769c0fac09dea3aaab72e3cf6fbdb4a51b371a21b10f4bc82eac6ea50b522b1a75c4d03bcc66c9a6cc788dd05f3f66413760d5b8daa92848ce895956125e90404b4bfa8831fbcedd23c33445f633504c444ae47b18e8ce0995f5e099e9da738a154267e20d057b45f0395ad1dc487c8bff4600386502be5706031b6814c7a8ce98b166bf42114a97595da834f1986a2c9d860fd6cee95beb50e4faa21aec7d49c167d004a01f6cf61c2030bfee6c8a80dbc847b6180e6c96281c92785bd309f89afb123db895e3a0c79b2ccf21b56174ef70df222863a858c1d8c4b848e234a5a03e487f0468deecc7b73599998c1c2d8b1a756a1eaa163e7401da88db7b938d6341c764985a19e65c7f124e9d33ff306e0c724e8bf7044fe83799dc0d3227493344731814c1be0301bfe33e9f78743f7ed2870f5a3e2ac4303c13bb4eacd1db2030783dca857dcbf48b9b9573b71847f2417f2e723541dd32e7b8f80869db914018afdcd6e2a35b4772fca963d16ca1491b38c8299685b552f95040c92aaef94e6fb7f2b98aa42ce05f267dc422f52a766f6c7fddf367b3ff068a9211b20ac292f35b52412dce9f3f8134eb99b5a5b19f4a72e76dae061bc8499ddb225255f2e150bcf9615aafe0ce740d243b5909299837a02d28a8c38874192e66520a21345f74ed0c0a0fbb7e7c9fdc59bb79f0f10e1fec0472f9e7a364c6f30b3f3057d55f3ee82a8ee8a61dd9be2fdc959a1db77d18a4acc1a24338e9cf2b5b830696dd08c124dbe31477bbe561a734eaafe7749095e13067a8a24a7240b559a48c5ac969deb630dfeff4b0f547f84ee8d1de9d82427d5921f898b483ac2901a08d38236fd1138f21f91c1df9403267fd82b30a1db2396afdb444e3316b9ac07fc5a51c1a872373fbc36fedf5b84b105101bcd3fc23e2147fbb3bae59a87cc0cb3e42c070cc65e9e5c3cc311bcefa0d00b4682df258c889a6c21b45177367c9187e702b0a157e4303664d8887bdcd3bcaa125e9da88d580ad7c6ac262d6419d9852ce00c0c83cfb8c28df9e89c11c3e549b1efaa89cff452263a4664840e259760dfa26b94cf5901e471da374e32b8c344ec944521cad7cccd3b5e3d03292b96f350446a8c82bddf4c476241460586763574f3d32de32c283fe1b387ea0f17b091f63902bfecaa9c4a13b611af12a8d71302e4bb5a91447ff33d3ad21b28ba3ae98185c71bfcddfb95894e3aaef2ba56eaf2e8e5977ca0e5a83dc97c66eba3e4943596a762e269778297998714701cfe3e8853346b902a079ec5a7a0a7028a71a5f8ab37141cf46c9e8165b0975a8a4ea920058c47bfbe6b56d700f8798e3753f814c310f6cfd1bc669b0b906257a802210743a1097fb52bc831574413be834a8a986302680a2323f3dafc07d865ddfc1e54749199823b16e814215214274ce6c3446d8a7426d96600675c071d043f59460a8a9a1cd367d29727ac63a267b505d09672c72349bb3af694eef3e462c8af2e7d411477f509a0a9e3f12bcfd65ea6e65d60fbfff938537a993ac99289bde2438cee40024174bcbfe08018e99c8f8c2df83b89ef5edc0b04edc1a1ea78599264d0d1bde8a4560f959e7272d61467c82aa2dfe2999b745c9376fd8b9162464ec21c9d8d56fb12b72a87d5924a9a26b0ac9588e00a74ab909bdf969afd777a84b4c02fa86de3f10c062de5912086b5f9294f8de36eee4f98dbb26a9071cc73ae4505cd80ace35ff06e589ee4c90b91cabb928305880f6bd73c77f55cfeaec3b8f62c9bfad65a0fcb0722f12ccdc45e0966921868383555e5de69a58152b50326f00c4005b3e3fb281fb3e09a4348422e995e2a527a007833d5dd53adb76c99730a873fabbc6b6f95cb72a5fa9aa4b4b91d1d34b7741072c37ce4d192124a8081e585a62975501871956e549dcc889ce07e8e8758ca630c8203ce785bb4335baa7861cdee393ba953a891dce9313bf2826d418b602c5fa5023fef37a9cfe976fe7bce38bda2a1b0804d314ee610ad999873f78e7e3d3036e44b309413ac2d6e28718c497cf7bd5834a0e8ca244e09a12e846d26ae2a68b3b7ea57d8d4d73a0b0e9d5150d5729a41e686a965f9c2d4a6bd8fbbe95df572b004da6257471a9111ff1748b47f90310d3ae8df93e23fe54ca11ba07b1ebead1f485c41383c8c5cd23a951b934a9702b9e7c6dda94ddadbb54a0d719a128a7a5413f0d02a85fa02bed6db918c996bb97890edc2d864b9bdc56d79426662c7491ffa2da5804ceefd8a07bdbf894318980a9094e18795f485abd2d7def969a5ef112f5efb8cde77dd29508254b3cc760246160d1f248a01d22e5fa2278efc11f62275677d1036802a95601786c5f1eb9cc8e1db74031f1cd123545417c5544a1c734c4844971def71e07206c573b607cd04e6db1c9207d2a3d59a87f64c85f969ae14e98d99f8fc997f5bda6a994a3716269818a369482052e61edecacf1abe5a27c94c16f0022ee7cfc36417be65d9f7eb1fde7d3dcd81b7bbb0440e6754b45944826fec151f9e284c2a9efb39613b333cdf7ca51c281981d3caabc9bc687766906f225412036d9d7559b8fc04406ecf6fbc178f8a58eaee947b7a1745b36b044681623943da5fefd2b322109eb70091bbc2bc64c66f583309883522270c8bacc32e03e58e33994d8aaf790d787b35c6e37804212deaacec95c184fdf7f0dc0a8616c4562f5a2d846240c27ae4ff95033324caf448823b6bd4cef52ad003c22eb10920beb6484aba4657a34708b4f0592e59c51bc31c93eb408453e6635ca7239592e99b68e63625616ea909ea83d7719fb4ac0ac7dbc485f9705f744e1818c7713b559ca7ec2caeae38319f9b553bb9eccce327494b583bc087aeccc2519235d3f6bfc718035f4572c55a0a3b4cf4ac2c722458af1e821e6a085299d01e45013b5d8f428d7bd60fea38802ceec9e612632667c5b9de316b3f5172b5007600f56c3d46195b9657ff7e078ace32a448884554366436dbabcf4c3a23b21ebbf66244ffe2d6d0268553d6d58cde095baf0ea27a3c83e2b163a4276970ff648fa34144a38fbbd7211b0e1a899f71e84472ac4ed7014d04295267392efd710896dba1a118605d970816ec67e732ded837db2bbd1eed7cabb5ec08e35afe9421f4d00cf5eff9646cdfc909353dd25cef63a1d23a99408b5739704f021355476274f2e8f048813cf0d147b4f656c9c63f14f4a283b786abe09c57e32c922160b3ab894b5301728f34484ec4605eaed09969ea7e6042b0e0322db9d859ecbab2896210c66d6d973fb76f630fbcaa3f3b25021f2df33ab7983b69b2d1e99c96ac67cc21436036a2c31f4bce3c43febdde38913aa6fbf41e40f829a15f208fd902a330e06a8d08b5792b4bdd75c2d056c219bdcda902d49345f69a63dee44784bc46cee6cc7cfafca48c92351fd3a399f2dd4a62d5a35cdbf5fad36e2799326c191f670c99d4dd3a40965b9c7a45a09cc46fba0ced1f3211a239628693c334b9a0c9cab1fc3bc17874e2e14cdc21c2a7db4f262222e293f6dea63e349fb0d95a912fb7f7e3fd9f398e693dae49181d1b47b5de9cd4902118fba4bb85ee84c5308ab580b57e60f4d27117a181a730ebe6c5f0b4d798756e4f9f3a9104f9c496a9ac3f1814071736752326d2b5f68e06a2854e3098b8b828697ca36785127cec9e73bb2cd4e292d608074ce9673547b13145f69a3487183e19e2139be571b7940ed6a60d66e62271a2f140be935257d163182adfb919276194ad17c39b63fa35bd8ba66bd3a5a3c0bf984b72c01a3d88c8255351d20608114e46e481c6b17a7cdb7cd80d54f498dd16c9c700acde75b99a1b5e67fc66080c7e5f3a6a2b2b4c5c179c44e1684c7ce8a1ffb8b58ce46ba2376e7469cb3cc621aa1c6a6a135b7a0258de095397cfd98d98a2ef88b3cf182a8d58811d0d2110f80617922c1f55c004d40dc3b76d6fba37f8a721c4f4d5b30a750a4c04a89ed04167cb3a626ff5dc20e3cbf06db3f27bbfcb0725fab4a134b3e22bd9fd0197bc6b8089884d328a6497de4eda6113500ce60f65a312798552c1c7c90888fe02ee06247d1481bdd16fa8a97e38e808fca7aca24bde3c07d8fdd4aac06afbd4649354b70cadd459822875b2afeea029cda4ae92f6c49e21b2709121b99ea77e925ba65b160c5c20516c0a0c696974d46bb3826b885d33306387380c8e1d4b0ba215140767d05416ff6c6a480822ea6b31ca8de4f56564a226bfd8f43a91296eb8c45b99a6543e9326e24e51d2c4d9fed08f5566fca105bda333cbd743bd9c4502e0e405a24f9d89b3e0f9704fa623683e30bbb746dd46177d85caa45f7901a0fd3d82fd9bbf68c9f18a8981f968c51f9248a536dfe6f5c21a6e3438b372594bef0e5c41e1c93443c82ec6463b33e74767038e7acfb070fc0fdd6a17af1d9f7ee337cd3f200a70f7c39b1eb74277a6d4c1094b26948dba20dc059d3ee1a3c6e2261edbe36cdd40085d089a7b7caee44d445a62333829840f28b69013029f81e90d3bc29ddd41277914deb4a486f9b3832d1f02abd46d82ec37d68fa765ef0a8caf489126551f242f66e19a2dc506860764b2e3d24109a6cd9811df24e90046a65831a0b2f2d7943f06544dc73a17d70e59a752c15c1148b286311ba230f7c108fe3bf3b996816ed37be1ce21740a759f229221b94bd2873dc15ba91a14090cf0f33e5bcafddd350cf8aaa008d52911506096f9c9c9f14ba857201823464e492e32eb4aa0bae40eb791a32ec67936596e25a8a5ff3161ccec5a05204888849bb4b7df96285127399c07da4ed37f965e112173e78faf3de4d94c35a4236a63340828d83fbaef9aece8a5cf9bbb90ab872813c0742126e07286315549c2bbd366496c571201f00afe2c440c47c2fb72866ed9c9fa49fe9e6cf413004a3b83d8ac0cd6df6b4751a1fc83fe475520e8eda74c93d3bc427e8f20321203bd617c4c14e27b643c3f61c65ceb0fd9832a5ba364124c8cd4af5e1a2c5944eb99f811803ed26deef7021de7e380668b507aa2b728bfe04bb23df56454328d4384c14f8b3c92e974d2be83643482a0c10da3bb91b5e31e68ee0d8026817f19891993fcc7033242040a39ae4c32226d38c5910973401e5d7bc491e293eb4a14b2820201d44610083c435c98314034d4a49df7cc2c084320a1ba798573a150deabfa7aaeced6422b9921cbd66ac6604a9a7395c351a6f4ae74dab612ef4c2c78ed69c30b7273f993bfadfc30ce4e7f4e6bdb9fe904bbe1def9245edb4cc90844ea382fd61ed98e803eef4c06f9c8b7312a67bbf02471ca526a4549ab3820f296b2259579a34ce2ae9a346673b649e14fd45b4b74d4b2741041eb701b0016a37a52ca12d5a1761d714b7353f26bec467d8b4095f1f05fb8bb45b9d8f9da65632530030545f4cd9372a91d763375e3552a1511a5deb4ca606fc4846292efcfa67781a5eeba343377b7275a04fbfcf7c5eff912990de8dda25a8917c397020e129f3e3147fe7e8a2549958fc472bd057d4a7a65234a3c5630d571b3595649bc2fe2de931b23fcb4da67387419bd820a064352337481408704ea44e9d8a67089e23af2ad90224523ede26bc50c7ae38f7730a21491ebf0a05ed1b7cb396903ece93b3d5d55f689d58fad4241656451baa28a9a249383eb2596fb5bb828a30a19978fb9b6435fdbd5e60f733224e5940c242452026c196d85d548a67368cf8a220f99d8f5c2eba7c3242eb09133682e7b64dc89f98dbab9742911f98ed8553c8f921098e2fc8198513c41d637182d50661a60e3bfd9e8ab1e8ab0ffc2f355db06e29d5d5f54a892b710a9b906038264e712a9eb40a291c41a328a72d0de7dc48ff39f211ec07cc2258743a29348d9b2f9bd27f99fae25ad8c8c5ef4ac33d9e69a2d397db477763b9a4aaacf2cd68388436123862cd579a2fab750de830157693f86f04a3d1587a065505afd9dff143a9cf052c01664b667a0a471b954c79531d22519b7d4f1bfc98522b8ed1fc8b5dc6ebb570a9810c48f0d53f461744d7b4fc4cfcdc0b3c71d5244fabfbade56520952019daaa60749f642f2dc00328a230fb97cb633da1c775f2c7819f5e85c0e5534c64d3dbc0ca36d30c197869b2b329585ab1ae5d38e2eeedc0be6eecee82310e773efe2a5e408c8b754afcd405e877af6174956f165516cfd2f8affe0238f11b6243ebfd6814b7d4de014d183c3542fd15ffd6cc796c07a041d0c01cc1c0a2a736e734be8a44d813436c859a69dc542cf57daed728f021833816cef676085870b282384ddceea75afe7247c4f5a9a3ada208795e9a6135a61e4971566d73016b8de8c82219e3ee3060b0c42ea4d776f9a020f7dac2b9837c43c3809ac7364a7237555049631f5236cf50ead982d50d967a4c596335dbe85477fa05ebb074c7da6b8cd3f2b483650add257df8c39ef57589ca7fb04409eef8b63d099e21383a5733edd85af25fac42909fe252f175a7280769c578435153a1d3c71beb7ef49b6d09e92fcf371b0ff807aa0ed82412185b1aacd0316ef504d183700e7ab3043fc036680f5f114c71d34a2113bf393fd83753f776596a4a740360477c1b18f2c49a806d093cfc297645fd16a79412e2f9ab3ff97189bab5f96342ba7860cce7a1c464a41a406a6e8fe6524a14e90ab2eab1b48cd1fb98ccd2f68271be9770a23c7e0a0763377ad5bed5e059830aa4c4cf203909882a0c964d5417375dcd2c247e6a9605d2dabbd48178e4f910948cf1f553d8da8cb4e17dc1e8654bf905d8846d2e524368bb300d012119c29ece0ad591847f26a9e3f6f56e00e9181a77a5cff8e3dbb0d5da78850688fcf3908010fb44e63feffd7832bb1d2686715e0c74f1257b272b0985c3a3c13a1cf69c1b53ee200e513348af1c28a927c5510abba2df97c5dc96a9085f86eb015e14fcc7be3ac6badc723655cbbe88ec44bb9e54435ad0271f8d87b50a38b636fa7c634b7e85bc72b03af50f38db29c59772f926b0c8ba9e5f396cfa03a9965cb10988904f629d64cb32ad0dc6f52b221cd00e003b21d0081a8094084660b31aedb0e48304e5a1c9badea8e5122c5a4902cd63c03945a9277d6d7d9a6182e5b619f819c81cd6cbbefb9ae64e6fd357e93dbaf891d349f8007bf2db0cb5851ee5e578f02d84e9b394e224dc75e4da4629e880559a6b3128f8fcdac203b02ed5136eef37a48a23c9b229cdb1a2a6f8b625c1365d8bf12ea453bfa313d02ce01ff755d845d85c53407e3c2d2fcea64d13d10dec873a8e493d4a0bd5c5feb5b658fb62ff3d0ea850586a17d840c0311a6b3d57e128a9c00c396fcb06a9223def8c8bbbd2743d5a371d6640d4ff35153295aa5a370d47df2fd7abb9cc70270e88a50a1e167053261d38e2d019f89687d552a562550f1d6b948e013f4b5df6afb9df074c8576524ce33f665ea3f7319848585010b08968f8138d0b49be56c93496a3fcc1ca56921193750c2808935097933c50a02cea1cfd8abc42092944065123b7478955daed2cab3453a95e1b9324cadfe40d87222d3ffc78602d64b49fc44e1c82ae114b9187ac19741270548e99cb33e088223f1ced5abeeb64762832102badb7626be598809647cde1c6d877303c13de641793c193a123546bc61319ad8fbfa73793203a89315e39d43dc84a208b3b5034aaca282dc336c57536f35544b58fc280659365b230980f475cf4e133b98bfc878996ab2675d74006d034709a031191e998b9464aa2b4534087873cdbaf3b4b68877ad2a60228a56ac6f48e9a30d4444a81bbae0f0c23752c087519b078c352fb42859542eae0e4773a9b42e220680c6734572e3ed6d9a5605229e07efb3694ae65c4566fc1a9779ce408f04861d981a21fb644279b4c38bf6f815946de51ae5f34d07a8a9f122b53b1638535c9c1e04a11c06fc0e8f91f8c910bc55cd3013ca8ef0a58b2edf1acee7098871c01b3e8e8901d5c3e7306907e1eb85be13cb5a7a949a95c736b29692b7ebb46be820741d13ce680ff9bcc41dc068644c26c32cd6eb69174d59b09f0becd04f47915558d66f8936f45fbe1ecc23b11170caba352782ce067d02bdffad4a8006d389a81d5a9cd7e508e52e57ada29436382f3cd4884658735eacebe5003cb97c17d4a95ded9391013b1318b57b1ea87c95118ab0d31d666294e209288f57044bb488e9dcd0d34a051fe7354e264345b35ad2bc651e1c707b29de93c33f39854985c506c027e8dffeddc30260442aacc5e1757cd171df41b752e0c9623424cd157bbf73a4d4e142c3de92a3f5d678245b05790b28aa017f81d2c05853f2bc68a8c2dee6d0692782ad1798bb5010d1caba2c49636996da18714b35d73359d68e31297a7fefc20d8c67ab710ad437739ccb4c4f4b2aaf6bc285b26dfefbcdebcb78b5a2350565bd47dc292791c00bbb2c967eeabd68ed03c8f289022b927ceca9c6d6aada045ddb6b44bccaedc3b3790f588097e462a1bf8ff9d03fc102f1928f368bc2980df89a0b81055ab4bf50099607c0b3007c61afd79d323066c7ad1c01a3d290465c0816895c4ab0b5d6c0c963f2853d5a73d7b984fb02572d8116c524ba08aebc9b4b59011cc1c23ce7510c7293fb125c8808f7a97305b1047265cec4c38e69de5fa2daaa11c1afedae864fe94b094926a04ef4195e374830c37d5fa11ee92d13aa7740a8c051898dfae9cac06176967a26b6d8d39c48cb27326aacbb8d8524855f132bc6425bbc35a2dd8d667927a3bfc00531bfa34046421463f554ae6be8309dc9f437645c0e194d28b1d2023361e1f494220ecba4bb185d1ae92847a67132776d04287d053f8aa544a55c2ce9d28e984e4cb7f5cb0b1684a8318f0f5f8a54126e9ada2829b80a5d01b7ac75ed768e6c76d2213654d2a48bf50644014fb670c0f745f6611d94d94fd359e50ffcb6f8edd42ded8df0cd41cd21ca1ee625e913c8d867508276cb6c727b2e8d12758d11567d4d46ea8ec4da34ed19d2d8f7fdf10f7779ff005795becdc80791a51be5633723ca323ffdd6d944f3cc157ec5ae563d7b9de1b92d752c92b3d26c92f6160d2e05172edb34615d705eb9e044ada3b59b9211e30163f63eac5c802abd34424eeb4694e2f4d11427558f38d8e9795467a4519c7055eb912615cca1685c2ce6c17a9dc8e41ae296a165d3ad9419da9b2f11a3d96ac8110240964c93fcc0a1314e6428e75082ff9305684f521c07e1b4dc0848ccdf6aee287f3d47fcfd4b1e253c740838cb1337fd51ea4497a9dad9efeb31980c4a61cb241267ceb21220812701fe88948d2f17636d8b010b5a7a6d5d3c6a96e14985fcd94a1cebd5807e7888f803e43b9b58d1dd33094de3460cd6010f5a7335970b6386508068c20a8835444be0720b6555b001cd21a2442e1d250a177fa9e0f6be751f6d3715b7d2283ac4789b777779d9d6aab58cb52903c9c4d4d6304bc59a30bbaace10d2ec40c5209c49e46e921dac6f36e2815b87aaa3df07af148c2f778736e403d67458a474ee9212853e05100b6dbd8065b388aad37d23d99b46bc1e6ea0c902ff9618a5ecce0cc8704ef12835946730cb5ccc1b4ff402d120c367faca8e7418c6fbe1a251ace0891dfe42f225972a1fab779a2f965b9ed6b873c4b31053ed607bf39451bbe504197da70c3d8fac80cf11ffa37dd24ba85e918439cfc0e0d918d59453ed81c6ef48cba2c6162333028111d0036fc0ca7b232148c06f35b1c1fec727362b109a2a1a396f59bf800c9fe08f44ccaad49a9371e57ae466d198d980385fe682cfd26124456070793a774196fa7db556d89c264ba3292b5082898ca2dfda45b568307fc33eab90405b722a102ec844c1dac3edc79d2e15abcd974e60c1dc340982b99d1ff62bc07456597e085e1160f09c91b6d0525fcb94a5ffe51c2f2d2d0793207dde29d5335f1b1b94af1f256bbf534d155aa91bdbc629ccca0deadaf18df174fdc190f4d06cf6654a024b9d96bd815ad312cf0dfc602223d83aeca830269e8d566926867333a71ea74609fc2d01ff230255bf0dd6e24aad6a0519cac56097fe5ea820c6a257424c6c68ecb0cb057dfad51f24926754ae86e86f5bae6256d392b1b12dc6a75d21f8e40d3fe8c6fc76f4ee7d1822144ad42efd04ad37eb29c984fe79ffb5295ecb2e1fa662372829c5e2007a648911b5f7b5d51eae8b0633255f755ff924104afcd6744c10795b6e2d59f733a6c5cd329a16de0ae9fe61931a4e851ce22204f73c3df719679d88359c4734050102afadc3f414e3339cec582110d3249bff81ae1bd98dbef6d42863dd58736c4f4fdd940d941f1d3081b9c31e6a732c528094f5d6bbbc54d83644bbabbdc2ab096554b3eb12b30e3ef3b02e397b9c14567ac55ca2825309a4036ee012ae3628004ff263d0db4dea0bc49afcf24e5b279a2b3ed1991d6c5a489e217ae21003b4774af93c203627eb3f00820fbfc378be2e9a1fed78c1f7159757eb92e301bdbd22fd6193b94abb2e4b147b366c47e01bb8575897a58c885001d1ce6b2c229bc5511dc64b4c5c2cf66d7d94cc51e40a7fd1c5dacd0a78eb29ab7d5638e163d41e66dd66a28629dddf8a85e1be33f7b953eb8c2796d4355d48f7956443a9875610ef607d57804cfa861b1b8038a85e13375e7cc40cadc93b59577d6c4721e4076937823367b75a73e130a289111b02b57bf5416a8d71acc888c73b696ab98230a3352f782f37ce88c57d722d6f94abb8b03f64e5bc5ea88be15aebededd60f83725eb3d271de332090b0eef237af89dd281a583d2435a11c5e903ef727e97c15ce50d63156292792c2118aff9b19ea1f98a8f21b879a69f100d8b89abf0f98112f4a4c6d417a5e8e3d644118877915abd357880b0fe324a30a4a350d44c4c2f3073cccf636725c44346be81bb5c0b6bde8fcae283ca12d952ac4aa38b2323b8bc708149c7f4493a3b5ec3b15e88b160d0fe42f1b501bec60065bf4e9154c653939a2feeea223bb19284165b5dc8af5ca384d5ba9f831636b2ebdc8997238328ec625f8a28d7d07e1348f8ff7607950217dd274546e649f972c24b0aa81981a84451f51399601a346aa5c8d800ad9b5323d0056796cd8b5166d3ae1259c91a76aa5c3b0825ca0cdd6e39f0f17750582a5f7c3657d10b3bd27d766b7645c96d557ccc350b1db38cd074cea41454eac3df63ed42cb460923a070e85b1709b41a9a9a17e568413384864e67e99e575e958a08e3e2ac42a30c7c90e41752e453e4f073c4297e44640e8d90a421db7c7c20230f21e8c49fa33183aef250a953871b3574f7001564d7b719de92352672286f3ce467b85f680c380070c93d0d58b9f3d54b459e8cb8ca425f6d9d9a208605ab138097a11adb2150abd90cab082b5ae7fefa69e9890a7405e3bce74f7a8b0da704c365308d4993b5c8eb6d5f5a70002359aed6e0aab4d6d7d62ac54e2b0f40c02d10a4a941217f73bc6fff60ba74e40d1e390532d5991c052f5db2a9a57e3aa4f1ac7053b205f85246ec0a49af8f2d240935161b024c3232146e76c21f3613a87864896edf04cca6c5ce5bc0d67064f5784ca3798c612e21fb334e8d2adf170bcabcc464dcbc527989578adb64604c1dabcaf38805192e7119b757425eea9592efabaf438b9724f762a5879eb47e13b16b86424507768f0289b92ad43c9b6646cc6da5a0d4249679b113da24a7b3c0729a7481e1232a752362b865b71e4489dc07ec9652e689c0b7649733d731ffedb017ea38053e0fa0f6a22b2ad67800b7e1f7e711251723f1e75c925109138a350d51a0fe148f013e77edb5ff40d279c2448af6eee37a8eb418a9bd885908f20a25b4ce56408466887c437ef862ca402bd1727d742119ad40b93c227106a8b09a22a5404f8d69ecccad1ab23b65b6f8a0d2d47ac335a053d75d07afb2441b3a1de2e83a62678367ad233fe42094fbe2c14d51ac92ee29a31a0b9d40f679227eaa394b73f3417be1e1f5f76512c9c21257e6e280c2a35e987ce4946431606c59b469a16356bfe5e341de4d87f27185cc090a53c03d4fc5b093915b1a3f2510f7b0030e8d6160ba1ed0cdbf20023e3c4551cb5ea038c08d465331b5d1ac1a8bef7967e95219040c38cd3491caaf5c637a6fd846475e163849ff74e01fa09cf2b1949bacc9e43880a27c3e93d617fc6243568be23dfbb24cfafbfd3bd03f5e5643e09aeeff326c30963e83015da3961136267ea185a4be4303f761c36ee073363aada1889d33b0cc54a05583b7d64a282ca487b1d4688ffb70331a434bf8fb3196ba849e5283030e2328dcaaa0637f576044521f490d23fd4b81286024351aebd63e0ef521701a4211e9fad7166ce14d70e68d1bf924897db6f74b4e5a5223bde2d582d41a042b89ce2d8936db4e269437a9c173816d162d2c387852929c35e35a1f5cad985352a3a53452c9d0f9fbcab72bfee79614a39bbd32a6a0d127fc06c81a7a5df47f3a61803ad792279a2f40711da686b1d53ece8c4f2a8d36c7e63139ed0ec7695a8a2f7e34746a70a2db832e7268acb0fee2b03beac0736a4c13c5ce96f4289be13294536e4482edb054ad7550303194de0d6374b189332e93788ca9cb66ac24e3812c7b2b232bd9be1fa3c2e459a8dd99c154dde84f4e8a02de21b3e12460cd96a0f0af519e617d7de1f2a82bb2e3c8793da6798cdf07c57b4adde0ac3c68fe51857bee49eefa5f52afc9adf53d9ca23a4b9d2a2eb1af6f38fd95ea36b42943824f53be870fc00eaa1350a38d54b0688c6fd6f0b9407a0cb77eed8b71432ed7d8a8e5b3f0fa4fd95cb76a44d3e84cc8ee22d081c82ad43099f7453664da23622bc27cda136b7aeb6db881de35b1c1ece1f4e95da73bc47642441edda2cced72def842721e0e57cbcc56c7fd32a9f16d0cad68170114bde33025aeb822f710c6c240220ffd238f47e3f2d0fa614bc73d7581f1a6b1ac1e07a181957684c2e038e26f4db5d5a4fa25710a565844b0dfe5dcb911b58a3b159dcdbdf65f18f7b5c420d5b16fc011d9f66162aa6453c6f11a00550216eb8ef580b643d70e408e7247022d192b395a381efd40c6b9bbe9e47d5ab611b14b7ba1ba21b3274540eede98410a6071e7ea2a22c997fc70b7492901457d5d62f530e40b9635ea4c16c678c308bb3d8b58ddee70a700f30f3c898af8721846a5cc9551fab8f5486b11d8384623e4a6ff244aa6f0ca10a04bf44b85220f9ee4a6e66190b915d0c8da6bec6500a903be7235aa949d4d31c572b63848504ad083e823d56a9bf1670ef5c14b7291fe19f72462c41660176eca99a4d072b8d5eab91385b9ff2f9900cdee063e113791f36436b6cb799272042d1dedf77f0d6175e9870a181b1256b3c44ef196592375aa99dc340231a79094c37692b97c0dbafa279b6590587f6d1b15c229071edc970a06ccdea17dce12d403fb9c1533cc3561bfc0877d2ee19d13edf5580843bf5c15c20c6ed8f8b9062c090b43875a689a5d24a9266a162758b9f70044e16fa09c6aae7940c1dfd03d61022f9028e092b81fb1473942269f1bb481fdf2572a58fee9803341127b292cbb0fae8f8975ad4abae1235f87f29ca1a731bb20cfcda855651e4e1e4ec6dc80c1e2b9395cb0f935310922dbf413f37c622380adf1c3400400d280c0c184f2c19f9ad33c7e2a898c1f637fd5e511b1e66aedc59c02a1b8c9a3c05a8377504322cfc555c1a09d68762a306fca16e7c49cd7d55adf91a1029fd782835e24395da5f1634a19658cbf78549cbc7d98165a54159390032fb41be9ace7447c9153e2398c18c852b82af02a1a0ae5a187c702181aee62371f1e84ceba2370c5c535ba9e5c114f599bef9fa1c33d479da72607ac6beac78091b4ca14fac5f51807ad110165697c55f378bc2a80d5d1a450c3e40a73d72d6e6209b41e4343af49ec170ed700204ffb1879b757c895f98d089b10bfeadb608683b6b271b4d6c0f3c43399420f1b8fef1d8536b634148ced123375f323f28314e6dfe7f55a7cb18bcf6a3eee6fe70a9d2485802552d0cb6d2be6c87410537db16eb431001cb4bad8525258f1f04944ab03c9beb82b32eca1f9d47510d9e5dcd932e00437541a602862d6e47c3c9f7404dcbb1765a21e910c0dda3d9045988c8b9a67343c16614a8346094bdd21d15318bcca932dad6f0ce7e32c0989631849a4408ee499a1c5316ad091c7d0791264edb2f1e1d105e212d8b7030af6eee0d5247cb97e25a0715fb862996cfbc7b7186d48115822ed13552768ca44f2c4acf14589a2cbb7c416586406ccc18626d7c731a705df7054852ee2027f891a10da7a1905d0041b09a614d800a6c5947ff414d795f81df50592970e08ec5390ac14cc03fa53b73eb3ce905a67193ed6234f665d43746233d6fbb4be302d07148bed52bd13b509dc5830de884121d04f207d1b4312fed83ea8db3a8a38dd518a294cfc1904f2d17d14b56c7499fdaa96cd0c89b345506b1235fc444c7d1c90f7892f05b05f83ee311b41eab948c87d8d9c699b296b2cad16907ca1d49946deb45d4b627aaf5e7cf1d085784ff0bbfce16115d19e8680fdefefa5901a263793b4627ad5ec04e83ddd9b8e1580d224f10f328f060ed71da77fb827c175f705801eb2000847b924441a7f29f99a5bc8664309446edd79a151bade7ea07e70cb18861fc3850ddf1b04544a255725516217fa6af68533edc9c627532475fdf3694c4f501d3826f475e934def6c1d22f934c6a30d7f6ca5fa2c22d8697c2ee1d6087e74c1e8c87f6c2a82a8ed3f71e5b65e13cfd9892fa8c39860e327cee56933ae2ab4691bb5bb3c56eef2d5c69b0612ca3a3dbda9f1f5f2dfeb6e6cfbffe03f443e39fe4c55ea702bd2f1a066a1d708cdb58096846986e449150ffafdf9cd27db721b4ea1582c97933d0998c7ad2df157b774be1936ba366b7051edb4809b2cde5a3c14bbc49a413da1016aa0a645556c1c079ad84cc4444a62a4c48b6e3c6f95853b1a4b96e8fb34c0124c520b036531203af800ed806a93f8fed2ecd5e23468046357c27bf98d6f83bde48cc5a43e2ef00b2243a79a7cf0895decc610005c651d4cd3c838189e6167cb7240a88264aab80dc2b2e95d38d2980a9cb8ee676930820373dc7e648152f69eb10cbd9de6360bb415dfdccc98d06304b66bc1b9d4da1f4f16dd78ffc47e0172497874bfdf689af281eecb95b68304d54a984846149b9d07d8061e0623c9a87e185496e5162fc70ebbf76fca02a26733d0eb818334b6563d4be8da51455cc787fc90557fa409b2f9d5a4ab11f51b39979b4aed4567872e6a452635d89ebde4ff9422671a31e8dd2e8ffc62b7437189f1e30f32488108365f0e040ab98545efe232a099cdb41d02ef814e33870901bdccc7cc843495836dedbf2390e14679513ce823d0dc7ec5113060a9a1d9687cdc271cd007c8818b745734e5717e053b085b54fb4231961d043ff31b6273c365955ee1d79cf378ca8615d0d7dc00c25b1997fba508a55fa5d873e9ea8c04b7aa1fc462b758011ddcec4a228bff5f17fbd1c7c81343b6d3ff80844e5230cfe8b3367e81b937b2d6bc10d1462dd5da69c862b7641ef3ae58170074c7cd1bd4337ac690c2e57e907c5576ce14663863f9de7ba20f664e0f94c55f0a67eb0c797a05355b604532e85c97f534fd00ec23a35b7b9a7469f91010430efd8e8eedc6254076bcc8382cda73dba468a8b9a54bc089885539e84c35743c31cedc1c18f62efdbe36bc8114db8d08959d6dee065d669665c08288fcc384ccc4f549d8fdb26988163b04b6a0b45c19b6368f1767b2c417c8c5eaf492b7421566480b856538a4a3a16118ba9e53877c04a3374f6f8235bae2d55fc20b63efaf0ce20185db445d83835cf71e81dd603c161636130f6dcc3f93d1e954b77b291cda309e78dd44ecf96ccecd7f8ad03300854b76357a42a9dc434a6f392a35c87e070330615bad38138d8e5b362cd8b754566037d0ae0c22528e0c824c6485937bd192667368574b2b60d549bf791a9ab4cc390bfad1dd91c61ebacba9a129ca99194adae38467a25802a2660529a70aca90a9d1484581b02952429ca826819405c32c886e3576b2818c514dec49550b0989701d9f8c8a0a91ac7d99b82a3f1acebb52f4f3938927c3bc0d1119fd09864f32939a49623055e605c8b8e1847de22296bd7b5ff3d30ba301470d2cb56da75197398d409c2d1f363ed1f7665f131e20f2e50c609ee674aa45cbacf8c9d8e251a17497f705e6486d770559c9cc860deafdd2c37e283d32baac4da070de3eab0bb6b7300d841b8d235a5c3a6fa74cf7b7a9e0ca99e4fb5e70c30824f7537a9c6700b2b4a0f891a3c18d8a833010e1d94adfe63e6afc1f50ff14dfce64e12440e780bdf7be51c92862cdb50e3224f054856c119cb22c5333fbaaa0af2433864c397235514a0c1b3e9e9950c59863d1135df8f992e8d0880f2b506006c65b3668cdc321189262be15bbbb86885872849b97cab536d6687fce932081d199b47feb0eedbd276ec1ada3b304c8bd66d626db1c87ff1e0124ef041abe477df29d0019caf087216cf07e5fae8d7e2e3754ca51b38fbad4cc86193eb4946a81a6101bb80a58ccec6baf50618d666ee7e8258e3efefdb10cfaf010e944e84ef4c9ccc1a6e47f51da74713410e6f7577e018c2d2a3dcf156ef238527f3e7ce0690a9dce8769b8bf82c6d5d651767af1237100742d9fc10efa53b0a04ef55728d83fe3839f5b6fab99ec4bf8f5543f8b7583ec88334e986200c839f030f135412287e54b503a04b7c740f060e1d4cd73cf65b6dd18b40f43d62ed42090646f630cb7a06b6475eba8267a888bbf50c9d9cd922f0b180a4ccbfb8a207580d89278e390ddbfd34175009b6d755fbdd29e8d651706bc8dd869bf08282e4e0010f687cfd0875c9205cc12492b641957be318e0060e88422ad137611d10df4c5e7e1de4a99123cafce97fa56c20892e5c23af4a7067c2eccac929bfaa54568fa470959b0cab7e37a3339670e5bbca28ac0760f6707bc7242651fefbe89f37a143afeeb0aaca46005afb9491332bfde9f3d3faa0a2a55528867cf5f831d62723ac014b818fcba59445f174a3f73171dc5af4abf3b57bec8ef2c999aedeb2ab40df13eba30b623181071c93db579c96e6883749d77f0fb7127de5bbc22146f9801bbd531853de2c37ab8c0e0d95c0750c4f66594864ced03d52218dbf8dab1b6830b2f1f324233648e51e95e9c70da57320e56048b45674a9b0f7434b2aa2f3ae7081e582843fcc017d8e53fc10bd73d08dbb39732e6234ab8b382c383845d3cf2d1e2602e5617deb0238726f6d24a2c6f552249e33315141486cf82e3935cd54e705ba8dd317403cf4c63e3dfe4d3421b061b2eb0f8e9768903af8f86bc37d12bf0e0d9ae54d94fb29a457dc406a35461e103f281949847415bab5a97bc0d6686daa446ade84644a271905a91b78210a4cab4f1fe5bd7995a85773ffa82486f9a8246a2003a360292df406bb6b36ac1fc01913cd34d6c01c35eaaee555e72ff0c375eae252667114a1e12e949e2cd8511582eaeff4915c671043d631dacacdcc0ecd3a16d6bda7c72e7710f8ae3ca19126c3ec89158fd56b0b6ae68f49a27c4fc841a81265ccd324ab1c38d52efbec754258c4fb568cc18c2e58db5a8c91457d48d7500783e3c0dbb5b1956d6a0fc7e4904d9e7c12819baf1c62a572ccb4f4928d4b6dbe40314f213779b21bf4acdeb9d7c7175f39cdd2d4694d9e1f6e6c4b42b0428838aa526703c24a21a9f4e8012c93a3137a6bf4d4f434032fae0f5fac039c4f02aa716d4a5a30903a4e075a300d6b68d249559a80b3afbf3ce3e3367ec3d5ab58c2bfaa22acf20da6dbbc6a9cf869d5c759cebd020a40015441b176b045a9f22f4a9d652d6bd5c19edd1976869c540f819593cfb788a2268b9adc5ba694520ae30459045404ab2793e98a3b2cdc61f9e1ab19510a6000c8b162328575631039dd78e2b9cf6d9334dc198ada9a5901a73fbb1b76c1a8ca6216a528530ae8a2d876faa0fd23275720dc340e7f90a35a49da92cf7a16a743b2d7237b740f1491535d2154a64fbfd88764fdc80f280413a4e0a9b4236194b5f3030d0048180c9381c81c2e97cbe5caa183ee04c99e4258bf5d320d42d8ea341ecff33c8fa7473edd91c91e3efc961cb23e878820594f888022e2d5d99e9074a1f656000218418ef041e8400ee4400ee440fe79083a5cffc37d610b5bd8c216b63f3626df95830449444424c94cd6253199fe0acb44440895898a373c68118484848484440840f7b500a49111865c43920035e69a3149020903b8393399489a40a4841e9411d764037437679e8bbc9137f246dec81bf922ef04e8f1a2f72ca57d82e403b8bb3bfddd5dbacbb9e69acb03c867c960fdf71142653245805c008a6813a08017ca48d7de6a10babb3b84eed0e1aa2ee518204d9062feffefc205c88da503e9464f34b274608b486c6b2d09eacfbda71bebe44bbad8463906c8c83ad18d15e92e99b18d2e004564abdeda8057223cb0d1c85a12631be51a2087fab5519fad35bde71de0001554e01ef0ffff0077babe5fcd1024388e53823bc976496c6b60569b856532f5156898fabbdfc8b2a47383216149ec0c14302001872dc6204109154f9fcb76c12cc5d6d81553b61a8389894c476787ac87a0aed72f603801c3090bd1bb288c1cb058661e983685b4a74b606ec187d0e361dd5b4626382618a6a8c440c1450babe8881aa6f4008b2e942429c2051a7e4832220a2fcc68baa2cc921892a5c119ab1a7e6061c48495e0e0872f404a5e24c596c61e2c4fcc2c89358131820c4b2ce90811c686253231241b0331b48a316c2822b65cf01165bc5089215959016189d8d2e9501c51c464658b1a624be70f23338a62485648b385a6410b66488a21592e64c4360b3462b2249502fb623ac5a9ee162f5b6ebcbc30832e0d2ab278d972624ab3947f70529bfab8d807a5969d4b63a236857964bc46b9452f8bf045ae7d0b604cd92ea580023c42e2a6fa1073b2bc32d7ed8dcaa83b8d714efaed5c44b7180a163316d5a5734f361600c30264188498ee7b86bff8533fb90d9645a8d921cc45d0e85a2bcca4d51b55008d6aad28bf789476dd9cd1ab4361a68c5666f22052740af015f02049988c779117273754a74d43036955a7933a95f954875547c241502d199570d3861d543063009d0b70edeaaa3da7ff8599388c536e72eab4c541685aac45f738f5a51db0182c631e9f83cf15b39d3493f69c960066c256e7b07436ac9175a0ea18919502fb6adab3e96576aa3d1ec634d9ef9b27cc94cd5a635f4d8de65e11c51255b6aaf1be020d5365fafb55c17953d6b340075028c59af5338b792b3600b80450b6c49a056fe821e62d8f7f708331f2a14aac593a57624c61cc1813e3b4ed9f065a0ca1146b968e12b1248ca49b797005d2185e77cb0b7a60a3280d1a6ed0a0e2041a6678e92149bbe26234da1c07591ecf8eca4109593aaac622e2a9bfab729a84ac0faa76929055033f72cd2de7d5c096379be12075dade8adef3ebedee396a3e8923e9e6117029cc725ee862d0484082999c220788c121852072629045d04c51238a0e87a8c4c695008c81460a471a152ecb850c39438d189a31342ed04c5901aa8978e5b484071a2aa298130e282d92081b64149c95e903aa07f2859a248a0293533801bb8025a3223737c08b0ee2b9bea4eab7deb5afa6ee45aecf65e419f3cd3065e4150b8b1f2863ee71e241d3c3fd54fa396574d12ef532ee7c20a38c51a52323cf98b781034a77d3b2c93159c9aca1e3e7f3901dec898c327e37659451c69a2ffc7777d7775f3e7cb607e4a1f56c9b84bf69323edc317d777773b8a8d6a55a5f433beddbd76a3252de89434619bb87eeeed07364dcbd21e30a64d452d8178e47a1b6dd3c0e1bba33e7eeeed798ad65419f1a57dd8982dfcdd7bc7dad74eeb4bbbb4f14c5a3c00dca87fbd23ad7aacae8bb4b65a444527cf3ba97514619634d58d056a6580df1a3ae84f8660881674c0e97c954e813410754bffae9c0c2e2a7c29ef8a8fcaa37564ca6d4276e8f130f9a1eceabb0273c9567cc951c7654d8918eba43cc74cd1c3674759345d7aa2b283eedb12a2b8bc9f433daa9acc3648ac3060835a78a55dd2166ea542161104951d5aeee10337340b0515742ec10335315f6e4c3a9384aa0dcb46c72cc0a4d30e9be9636cda962325d754a6ad4313515f6044709aaaea0c8da5dd92166d2f0208a421425ca47b9c96232e52f5d6ee0327979c6c09ee454f1e920248c8e4b3b50879053c50e3173ab3b77cdec6bb23f3edcfb55bbaef272cbdddda7cadcdd775f3d200fad67f3dc35dfd76a415fe5a1390d09fd386332fd1d11f6820eceb52b73a0245194281b6d9a9a9be6304aabab8154f6ff5f7bebc3aa215959d029594e4c77afc61d771bf935994c1707ce0d08299c5fa574763f9037aa2a67765dceee0d950d1d49e5c607d55d275577579285c564fa1bf4e1802021dd57576faa8c25f3eaeee0b0a13b93eeeeeeaa6b6f6bb4585e4debc6cc64faa82a7377772e8794f22ce9e274eceeee8e138f248a12abcc3df9308abbbbc3c8616cd0def236ed4beb9164bb152c0f0a7bc8ddd742d9ffff6b3035df477e4da474561049716696512fc8c7ab7f7c30f7c945fd9b3199ba2fb3d321ff9f38948553c14277a7c2bf5b65974a777777c14be83edeff775d2751355fcfa04857a9d85119a42fb7bb8d1f7fa6e6133199c6dfcfd3b143ae3af6a8943e2f1f3f3f9f8fd7179e3352333583823c1a3ffeb675239005d5a0f6dc737777f77f77777777778feededc42a808a1e2eeeeeeeef157d67d4021f452d6ce9050e41cee7297bbdce52ecfe1af83ee6cd74174f5ffb173777777ffed9efaf7eef27fdfa3afbfbbfb7f103ed0033dd0033dd07f1f820ed7fc5fd8c216b6b085ed8f8db97210fdc65f777777ffed46189235267fd511f912fe7b3c9794eeeeeefedbc5df8dbfeeeeee0ad8a5ebeefeffffa9ffffff77eaefeebe1bff758c546f6540481a1cc73581a4a88b98602146b1c52a8827dc84395d62f0a9ded61bb3be7458fac4342cd961e9b074587e2af5849900d603af90a2ccfdfdff5f5b21c9208436dcffa98de67224102a7250447aeaeccebb96ea86641d16426512a520e2901d16a6ab272dd6970e4bbb244e0c2ba44e876bc7c48981574f5cb3c38213c3f3902ba40ecbb38fe4ffff771fee3f4edf65ffffffffe33e5e5f517329b7d1d759ddbb9e9aeb35ac962311545ddd8cf181eb1ac869a3abb8d4a39ed3aea1093d02666a2032d4851ae59869336b9485185983d1fd35a8f97ffcf8af6950f3ff8fff1ad4fcfd63fcf52008e0b6f5fe7c851b6521566ddbb656928db5232a1add5fe83dedad6edec1b693d9403c06d9d3b13353e6d3f5e8b143b6a6226f9c92b293d2bbfcafe69ba675ab542a955afa61bed075310eed904dc681aa6d7daa1f11149aeff39f1a444510eafb969a9a9994b81418a5ee16249ee2c64cdcd6e560325d3226d3edc6984c3b3126d32e0c4e88aac298b936eadc17ac4842a909020793e982316d66938a617303448cd37b6af713c60dce0f7529cd4f169c940fa90f9c1c7561729ad4a51babf31e28dd17aaa5dc0d9d1d7474a84b97042553b6624cd98651811db2caa1bb81173bb2b3c164da75c1925d0d26d38e8bc9b46372e990344caf03a3e31b88cf5097ba095bb81d92041d0d2653664aea5942b4050fd96991858fec66f0921d16d3c78f087e3ec94c0d846339e7ccd9820392ccb494fb6a6e70c061c564ba929be60b1e2e66b347ff94a7da7329d3e5f97cfd8523e215d2a53a0d01568b48d7f63ac8ab89695007e1624c879c4c893135814b65f602040cb5b7c35299524da972988981a7f9c2a73de6e162ae4661446c5babebb8d5755e669d3e5d95e9eced1880b55b2b5cd14497ca423729e1eeeeeeeeeeeeeeee9fd164baedeeeeeeeeeeeece800a99feff7f3b85baf46f40f1ead2f77fffffffffff7fa7edeeffdff55bb206685fb88e0becacf8dd154ca6bdbbbb91b9e0ba2bf0592c984cd761d1befcfb7e3e1f4ebed7d703448a9e1edf97c4e3631f75a7641a3d086d6ff1ab2e053a8143e85357d2a907f121e2556fb15c506303e151974af953428c3436901f4d9bed348eaa4d3ef2762dddfaa1d4dddd4974773712548ca211a727dadd51441d54a50bd0eeddf1cab63d3f4fb16dcfcf1bf3199a8604fa8cdb06d2a7caf10bb87292f78c9398e85ea2bbbbb55262328dc1644e6bc1646e93bd653217653b111b52e88e849378bf131768d134edff9b7812feeeffefbf836799e2bed4c49c196dd06836c5080548b8ffbf95e9be8402123b32765b7a32d33a1f32b3c2ccd9d39bf8bbb37f935d6afd90e2ff5f05f05be9ff979ecacc688346b32423a3a8b1c0994edb109fe42c9de7dcdf89e99489fc84e82d1d234f9d3e8d12e49de7d70271d4e7d7344dab9c7f6b3eb1d4e887e0ba2bdedddddd532653ef6eb5192767d652093875614c76a9f5638ac9f454bb16bd735351522fc1afbc545747cc99d1068d664a46dee44c5173266f6a01d32b7dd269fba45742fa24a33a6b519d95a391cfd2717aaaf18d6a5096f99489be68f974aaf9567482869bcaf6ba273aca652fc251ffffd3a818e089a3720b1aedab29e5625f9042d76023594a630405c7bd1237b5cf7ce9bb0826f5b02cf782e3b845757b77777f776bdd5726538e720b26535f1ccd5a012a79141cec68f2d2d854976eda52b8f47d5bddfded7577f76e5d745716f60794a015a8f45a7c1b3d5e1966b49461a68b1633474745474547474848485a8a8e72404242eab42c93a332484865bc0b65909090f61d0565aa94b1c2e4a88c185dbc4c152e8303242424d762e5e8e8e8e8e8a8e808096987e8c24c8ecad0c2e4a88c168884e40392932a4b98590554a634c184088c58420916941a78c1c4940412125dba241d9102295150700223b4147144c41042400982898909422806ff9c22378b33e8473c7abc87cbec649a2055f286e09e69c10c0876c8d623ec1e11aece7dfd38e3ed3068d8a279b89d221031d5de0c6aaf612b98065d947a4d266ab3d96cd3e0739208377a0966b35917b7d369b6cd36eac0d1f827f3b3d98c8516f6bd88ffb72133e5ffc95459dff5f58d3776794c613017532603c6ff6b21340027338563af6e4bc601af76921d49cfbfee4c46c8bf98cd66a9957f554eb281c455c732d0d7b6186d8c98719b69b36fd120dedde77b37e94a8b55ec5863d7aee86a15c97877d7de3b8db3c4b8ef2e1b1db85273b619bf69f144b37d16c87d424152d96a81635c8b66769add0022ce7e87279af62f0333338d692dfe67669e01f1830f4e5c38ea41d3348d0a6ddbb42dc64da342d3feadd0b47f309af60fa6c94cc5e45f8b7f2d543ca87650e9a0ca416502150eaa1268dba66df1748a9ba63262fe2caa1bfe8150d9a0aa4145836a06150934ed1f8ca6fd83f97f4dfb07d375c13fee0fdd594fd34e9de0d1e319f153ea7d41415b64c043415f67339fccb20684869ebcf8d8606e547f87329774334869cb1205c3dde9b4546e908df6ca7d52091461d236da81dd010a5ea4032dec90fd11d8ccb9c44735be9b4c2ccd995a75f36b847c3ace1e6f486800ef79d39b9ef74c3ccf07e6d16953db667b1a5597a656ebad84843c214f4848cba98606ffbffbbf1bc2ffde20fc24fcedfeddeddfedad69ff9ad6fdff2768ffdd9af61a0e5373fad08bfde07390135d59e10df2139fd6759fd765c8a75a32d97d1c797d9d6ab7874a069512550c2a18542f4ca6fb2d18bed174c45593432502950b363bf3a4138fd8dcec509e9d18e7ec3a10c60d8e3c82930221f5c16a77888eaa28a74b6377488e8e8da6232bc94a4d47d038e38c991e9421e3b154739e7236c89120b57f2a4fdd69daa6253ae298e97d033183073bd081989ffef9beaf72bc381b64db5a479aa94ca776abe9c8ee90cf0876ce9923b6d3f67a24daa9c6204bb2ba393716bb9f38811145180da0c80e792276e717ddf97fced97594ce56117fc13c84271434c50b6a0f611f0a0a82107a4f03aaf3f63c6d94911307aa7b0ff7206dda791701963b57a3b5e0431a7c7b9a135da4ba9493cc28148ae35027a0286cd4095fa544a1b81a9728540dd3e57d35927ae228c73594fb53cd89fe4952de1fc9a14ef8f56095dce94421ea84af35948b49a7760dd6b4765fb225e32a39d95eebfb5ff2a7a141ed4f80ee9a6b13c51b1a3414ca2775a9e7f3b5534711d1508f42a8b9daf3d2a02d86bb87baebacb8dc7cc464a8080a2698b3ebd6738f6d4586624373765db7644147c44cc74133c5a1aa3066325395cd3a63326466cf6ec62cf1204da57b7ad366fefe5e46098c9c72eeeeeea906f237d4e5f6603087d14863f07d15261474c3c9a436d4ed69da69a1b520d03ddd5d64c5d82d1280c004bcc896af48d393f1dd7012995ca8e42c5db9d2150400000d0317000018100a07444261184a519c4b3e1480125072327054361b48c3a1481cc84114445118c4200c8320c628848c328e39545a0080e6fb1b1f8052ceaa383645476a33443fb07356c6a7c59187c932d0ea387ef8159f1d6f3d57598ed25c17a45295c956499017be252016a32f4514eda8837b408b64c173ef6fc0483a57e2d042e34dd392fb39d0a862103e234ccd846e4513eab5c339a2cb8b4a5f5929c09e74bc32ab9a4f51696929e44aa131e2ff882a56cb568e251a2f2ad0a10a952278ac85f661f1c501f31e58a8d6c4fbf9816483130541a8b5f2fc45041fc8af85db9a4c29a8982245c0f91bfdf17dec6539c4fd426308fa06dc9a36e5a60a542d26fb48474a115d8cfee9f93ea91c0640ef744267413018a3fc14d4a0ee4a89ec1bc684de37c5d0a57c1abd3e819b3dcd2424d510be476a28782326cc1654cf5a99a7114d0b75f0b4ae80d21627696145f2954cd0d8bc389d1f2adfade6dcbd55f7f9945dae747f41476585b3252645d9637515892a25d28cccb8fb964068a99d52306dc0015c677087207731752acf918a762b9aff168a0da4ad817023aedcd7c17b2a559a052299cf5bfe365a5006dd3061b3f6f4d8fb5be8fefd8c3bff55e8e75b4f839f024266f718c50ee7347a08990a957d5138dc4f7d23da511129acd975908418d448a4a700c88841a0e08c61581d519ea74297b48635f7f4d8e20b01c43fa3feb18d5ca9b779c4e8f9b783f7c79127c5e5ae80bb8b4c87654ddee95335425bec40155c158a0ffbbbe8c5616f21eed96836f105bb1550a5f78e34487c49fa8d12e90bac06aa5543f2b0d15899e4a9ef81ef75264b5c7760b14575a3c06f7eee1a98ad7f3072ee3ba425a0cdb8fc6d705971f186545204b82c9087ff6f122482b2b107e2108b16d7f881ef129fe9b4f7742a007608468073d54bfb838f22143b10c9ec0a8ad92f07398a902a5004a9d2344c54acc5f5966f37097821575315420ca272ffd72461ea25c0bbac0055705379c690b4465e7e598dc0adadac554678c8be760d9533461bcb90ec78d93509a55af2764f8db294d262b75210f71d6bf6bb1dac07340a05736bc75423f05adede9f110464a3a7531019bf8095c26914c7252848df9288dc15ec6637979743c65840639af46a22c49fe0b8bdb8163ae248d569459f3fb557c7ace5af2786bbf9fa597a4b499c861d2bb2f35877fe406781beedc1f210e0bfacf8384fb9c494e70753a503d50aa8a2825f1c5a40564cd6ebdf34928db66ba62dddc237f6de61040636d4de874e4cd30bc811df8d3927a986649a1b3f5c71aa3abbe577f89423eda1e097a8293dfc322b9fc2d6eceb07ffd2d20c96d50c5dd7a84e05fe24d3617b3d363ddf79a9e3066a1929e47f99f6104ef57c469d343ed8615f269385a6ae144e7a8aee5dc5e54f9081f6dc5e8565bfeea1e688c30904df839d2b2cda38ba81fd59277f96edc2f261aeaeaf6959dd0cf418534ddf97f28ec6d48d8714691d5457098de1b8207386e0aef985a258be09d6be2d2c9b53d2a67485d1161e4c948ce2c88c5d306f0997684325ee5027a01ff4a6b903b6eee60beb6f8adb7c815b6a2a5f07fdf1260468bcf06f91ff9b264b14d15473d6490cfe5db80c5109df9481e558ad6a5f02565703400a0443cb76547445c73e6930ddfecf52077b25cdf2439252d6d8e4ddbe21483cb8d7c72798161ece8b2eb431e4c77c7e8a13fb9b263b0f65814fa65251e79f4eeed7bec971f704e13d569861939cd18201a8dfb86cfda006488943c6b384569f52cf9d9eae80c53fdfdfc7f8d2ab6531773804d0b63e8b0b6b7e2617a75589447ce25b0e43c5c8dc0bcfb149ea9412e21f131064afcffe0cc117ecb251f44bf4f9e06915de58bf5cb39d3ee9903aed957b65a770b8d0095de5a278be0a7ba2b42ca85c1824ed6ea64ccbd0530a3dc6d20a638a8739f29121d579ed465f765dbf82c330455202d4c4747d92615ec4f3991a0b063caf5a1201024d2b3c419f4e4fe0f6cdef5892e8fb47ddd54c097f1e3fcf5a994eae4f276126bf2675d5c07bbad45783ef2976b1335c2455b138a5c7ace5d3308dac4230c0c14e3673e7242e51c4135225ca2af1fd3f339e2866cbce50b07ad6edd159383fafa1f3e1fcae8b560b4b493514edb008d31dae9233310913db409ddbc27f84339f80b4532d209f54819fbfe157a127ebc62093dabc648ce4e50150d385f2c1de8614c2f350ac9f27945c93c1b51cbed1c63b664c2fe5300ca7fa6df5e9f1ca5d69b46de548a3311dcce986a8f5da69fbcfe7883a16517c1fb47d37771030ef53f3ccbe00c5de2453c5d28d07de756ba64ce31ac52f5a494d612e37dc3b389b635caa20010626c30db4183907b7be6b845085d7ef4a890e7f66c8bdd0fe685e5460479387cb1b41f1c5383b409f84613c07e4a300ef1fda8c9becd18fdc13a4ec26552f94f997d435e1454dc5d55bbfa7dcb4c6790bf016b631096ea80683e30bbb5fbc62630c1c9bd856ca2f896c6374add0d522dc985b0d0d24bb64db7147bb69580a4d40ae75470c07992865816bfd6ea115370ebe6817fac29bf73d1e6fcdc9a09b2c753534afd95cfbe8379d0686422c0dd9548cdf90860c2cb5a74c2628e634c5cd483668af616ffc5630d3d64e72f5818200edee7974aa27cce2d02b2024946adc3dcecaa83b49af7051f36f002318093c62ce04be610894f8f1f6862c6dac7ed1a6e80d060d81df71e217031498af282dcc4d98209e3653f10c95c7f0eab80d6630bfe6a791e501126ad8db79be7084e9cbf9f582a176f4a83699cc5645a18a0349562e585009bd9dcb682948f14cecab38df79bcd42be61663e99e263b65c74c3a6d1a011537551c05c03347440741c62cf2b1a94ba2e68b1208dca0c893014aa4ba47970e5c288fe0aa80aaabd206c1dac04ddc0c7d42600f7baf083a7feeb02dd4f9b683aebf984692688fe4889f49b8f4b2c75b02bc1a390ebd520ce7f04b63fd0812f132ca17230731bfe8f346495d23029ad888c04234b3d1e65ebce2fbe1bddca8c14e7c2574d7b8383486aa3ba2757af657f869f451fda707715c710e4405cfa390bff78b8bcc42962973c320db021e572d720eaa02fa1af536f28022175240b775e6b91785e9806e1aeca772032feef771438c41ec82750e44e4873b8f12bf2a9742ef6ffc0d8c63dbe4016f0542eb39778fce3d7243b2f52f1fcef4d9f7b75c5e97bc772b170c835f8eb7fd8a05fcd0b44040cf3f1466425b82874770fa7fa5d4fa3630d447c7f25ba5dcaed0b1fd5bda43f30d68eb532933db89e011bcf4e909ad55a6b53450d6d1d49564aaaa8babfc7e7e59ad5ae8dff2330e402a9e804816a4271cd218d9b7a4407d998a39adb340b8ec1b5b3602fd341acfa8a5b6a9bf6678fee630a28ec072bf912b5de8ec13bc77a21f53239b5646349d686e2dabae9ac4db342d376bd0ea66ebf017cf25695b283b75561a5ea7b643d1004983a817a1ad32f7ebffd89e0b1d5ea8800b131603203da3d5cfe574cf8800b52dd59cb27d9720c4e5cf77fa229146fb9df08ac71fe167c37513aa58e64d226d236094013f5e30549c53d00b76e8fcd6f9c7826354198179d6deb3ae13b91d5efbfcd6fb99b82b9c688d6dad85df46123b649397b8b648ae61576be5b932f6c32640e79bc4425bb11e8e958ea28d760a7fc109dcf887dc2b881e545fe89880a61220512f607d4fe973439c1ec5a495b1b6fd812b832ea6eff143c40ce4492fbebfeba0fd7705f4af4b8bc63b183469cf2081fc5982b60670032d8d0168864fa1d659194d93956c165d815ff7e79e28cc5515ef322bd7d42b530f5600c7b215d84940f1093cae87f5812d97815aaec2d325c666512f738fb25dca8f14b756f51bf15d44296d8530ab3131ec3ff8c18cdee0877c4d11f945148819f98c72630667bdd949a233b0f61c5521a24a32396c66272a365ca473b81ebb1b20613c55f9bf554b7df79f210009548aaa679daf80194c15f914ad3f0f905165fbc039f300b869b85fba61968a9a82707f5d62fc2cbcd4d038c1fd4b1abb1bc793e8e98cf17d8e8b41e2fed6c075fbf907ec9828111186e2f1e7399de86b6a8f2fe60f71bf48ae84e2d9c721c0163a42ee796182b83ae2362c08813d8a11dbefacc4b8fccc625e0a0ae5c841e31059ae4065c5563e8f9f8fb94c110b58b8c51f08dd8a2e57872e74f21431f9dc0e3bacf730ca343f0a6bafc746f61b77441c48eec091bc004e93b4d59a94d13e98b863c48a594b520f6307b26cead4b17a8b6f86ed22456531ba76aa1bb4cbaf8ad73f5db2b8de55e2989c75054007a135a8eeb3edbbde30fd4e0c00145445977a26a092af130296d7d416d55e8bd7871a92ecbae99e63b907e57bca931e9bec0d2bfd9e60c7b3f97e8842814750c39da1b7d911bfd62e4dbadd7c3851633611c6a2832ac42d5fe4284e085a7722d1351b801c5773517f1ac112a79e85006ff69185dd84677f14b256cc8ec3f9ae053ed5e981ce12f2f5de2d257ba464146d08bec896b3f5d647190a5db53358dd0c2465ccb029e86d9e03c9cac714202c2994d78651aa9ef45e2da5ee4dd9344adba0366531b91eaa36a07351050b064b118bd66209e8e366b57e8140eb8aafbce50e0d18b11a1a0894a78e753fd5461c6c5ff79c17081b3a32a5c626dade8d85136eddf919e42609cef82d24a2070456520470f5a8bc6e788864f50c69fd771b4354e0bc9adea76f9bb9d0c56cf18f969c8b7e15e47965e6d03e8887d852b555ebf6feebd2793fe565a1702ec8f3b3b8b3fdcc06af889dfd6d230aad9373fc11dd3504988a82e0e6db85a9e1bdef90353ac75fb8c336de76d0927a7ccfa80d295fea3e77f52ed566a7ba88442b8e800060ea1ebac9df1707a9cde77ceb7f971221b78bed68f524a6dbdc4dd201dd8b0ae78f4944b018d26650624d8e0a044ddc6e3071a35bdf128976d0b5e63122e4fad2f92cbf5eaee94b9232547dc80b46eb20bba421a2d45aa346f762306d2269c7242318cb1a737b5650c7d9e89791a7ac1974e0a5e308d72b6344bdb088157b1df10d90e2fcf8fd53661bd773f014f75c78cf3c51464a8abc29ded61df82c0206ea75f1f96ce94b8d91c414541f67faa50dfacdf91e4a6db666f4ebb3f0881c38b4de3687eaf98467096ec473680c440fc2498c594d8c43a783ef1c5720d5ea420290202c03df2b68e103968c957a165bed63142a147a2f2d9f9a5bbad37cba026b82ea39e898862c2bc0f0dba39abcf2b1afb4d9c4c0b530417517cfeff37047ab343c6c7d1d7ea9985cda364544862d0bb7b311e288a5a86124fac1ee5fa62ebdaddc53d3b367213c3a29dff98d523cfbb540e965a95623213b6d3d4b255e7da3770902670b75d832937d1d08d5f8eb3c57427b952941b5cac7cd16899040f85877376316b162c1b164c1fbcc8c4aa7c2a32396350a0a23f31234f799475a301d2ab21e266290036e05748583e59d115b2c9d16d13c5e9fdf972549826541006b3f3c7254eda0e740fb44ac55097a9e217da35752337b8a85be355909aa21b0384d6cf3aa7bd0efa873ac19ac11be29efea80ee8e46db575fb854dc61623f3943da5268d1e55030c024ea076366ce1733bb37f5410d7f6617e6b94c530f176a4eaddcd80b4f7185a558a3100ecd895775491daa0000d225821e48ea98518fb075741eb84e8a270d755e5fd4c28dfea5c17c03bde21cfaaf42579118be4c41549e98a6e254e493165866a2bd349293175c604a48401a2b70bb219201a0f24a8c9c229fb487938715b8a7738bf54780c14e875a8a2b129884c2d1efa976753b92b6dc02f9214f395d399b30471da397bd04e69efa276f4d2647965c219fa3a9c88db514a3a27cb538b2a56c40db4b962db9284bb75515c7d4bed961970ad40bec2f809196294bbdfec32140458eb979e1deb8d3a7bd3076a0fdb1b8681e05da2f0112c879011088aca54cb6472e387941e0168d3016780bf4a35633e9100cdbbe9559b0c3b9d61b66c96d67b934230bc43713352f15d6d918e325ea7bd762b211b5ae8df451ec8d4955a402bce4edd6af385dfcd9f150e1d6ba3ea4df87a42f70e3e1c28d4eda0d69b6214a549e71cb60c100558799eac0432a5c78cc04e89a44d2d27cac4f12722cc5d177d3cea2c56bbdee7f722591a0404adbbc456ce7c6d1ca9d03c91c06a0deb1d675168d064a8adcd09f6e20696eda1d4e3d0629dd1cd53eec116be2c8716a5982c08acdd8d295bb568e70f31acb5dba82cac091483a1844e84dae8eafb45e0c05873ad9a0f348d9b6d73bb28e2caa7ebb0c282b44b3b3e59aca82f886e6ad133bc16baa5b7deee16adba26ad711b0cea0172b34a82d6c1a6f26701290854ec0e5ef50cec0d67cf85c09d4af6e4b589e4a2148fcf32b7e356185be8f15242c6e40233b37c65247563876ff1fa8f599b374d9b27659600fdf3101a78abe27fc9f645a8d7656a7aae8a376c403aebcf74373f531c57cf1561756db1835f4820311ff1ef7d9b04150654e0c329f0683a1933b7eff1e85d21f912678e9df1c8d2879bc5470ec5ee02b7a5f0db6b6c041efb3a0a83877ff9a832195e74e215f46fa2d0658260e8c4273bf54887b09e3b2c613e54156e38657b13515bc1f052bb26d114477a12f1a6c2b2c208aff62e9de23ed12d5197b12b829c26d77743a94baed8d830a91aa01dca9b2b813561279694c624c5408bafb7c5686cb0f74a71721f30c7f1c5d0525202e5c555aaa02afb031ed017302d0c97ec6a566fb876ce8101b757acf413a3d8f47799e45524e2084fc9bc0c6b6c7164ce5b3858d7637e7cc242e553d34fdfb9fac65fcd6eb8488cb005aad628360269ed186035c867d67b09c30100702a3336e291c20b4ffd4d559d457656c212f504ab8f90f61516d0275a552677d91bebaa40f670c68ba5fb2a0cd70cea86cbbc4c426a6e8474aa38c9b2546e26429b33f7607a64eadd673d2477ddae0923be5434ed8e753309a924a0e54a6132007ea9ae8f6d0ddb71d37f1c67c17576a3d162074150195d3f58c351ff619be0a0f3e181da8c32b7a93a40548319e40252d16c8a9ccf7ee314a7f5dc88ee74c6df23e8c6de89b1f168e71bf7328f836f95c59d77d327dca98fa43670d07e8cdd32dd81fca9ece9ea90441a4955e0259bfb4035452907b4a360dca36f03b664e3ba979d65c31f8e24decddd61468f219f238a950d5a63a3cf062ca4fbf2afa92b85925a98b37b5564873a3f5bd35b446f9bf28debe9ed99bd56565cfa0942395cad5552131a05d465e8779504672a07e23c90f8fd7d4b621a72c042bd2594af61cef41a70dad5dbe38918eb3e776947b7be4bffe3597b79b988a08e5238acd21db29ac494cfa518431bae8f23909ecda9f99b14c32c9391ba8cb5107efb59cab7e8bb0d079b330b2f47b41e546cf951ce8df803b52c59be3bd9ce5c24984e123921ea0aecdefacc169fb0c694d84e92d2efa5e0caa8b5029345e000cbe77e4241f5cb677718fd0618ca3b0e54f155ce98be8efecb5d26ee60fe063be39a4322db6e1a5670ca17602dbb5b6e4512a4f7129a6a0cb3def8479483c59a1c6ad03eb95ba45715c9bbae02bff0c524a64313bcdc6a33d6ee6170b6d817240c42ce70fd21b434912e3b13944ebf7c488e6ddaddf3f29acfa756894f87adb40bfa17bca50630a143803c7a402cb47dceef751a731e55a41801a927bde67d4907a77acbf913f45221168d842317e08cc989af74d072bdb21da83552d27530b184d27189fd7a6828290ae848f28cf54cdd6d1f7100d2081886ad641d27f9da37ee2a697aa7d58546c3074922f6b8c8bce31fa3dbabd79283f534a52d2c1688e9eae54c9d8f7159e6b152c32d36c88785e62649297ca20f706810ed1f1f13efb0d62c24e8d2aaf997efb9dec205604e0fac7627279aafce8678eda1b77556ecdf88cea62843210a7a5f44725266652462cf5f62ebb4683731c688d7195976e5ce5aa4eb78317b7e69972c93459963b06e59e640586e712ac5deec823e90f8db34ce1f8d60d64b627c8db2c9e39bd54c7789d0316093a35bf087e7dd9b90080d1bd01c8879a3b392b289cd7c6e2419e5823d5247a570c289736515b4bf35fafba0a27cf73a4a58cb0a9c566cbbfdab22235a1663aebd8635159966273413df0c145dc25a3e0f2609e20f43ed10343446ebcd63223b7501708a52595b263cdafa1badbb5e4bda8664f7baca3ad4c6cba10fd4a18e8b5c9bca18a36d1af9deda5592d55eed47385dfa3dd890486a385a93a1178e34cd5105d2b36e64a60e3b79a289548491b012c5fcbeafe22f6525e8b3c79cccf4ddbd02b514b51e439c8e3fbac1b856b2db4732b36489c7ebad070a65662b07d0517514ffd9f073b64f0ae676d31b9e3fc54b9b59d2924d2e6c0c6c405e885f6397896c392834159b4724f2a66ce6671905e4eb42302878301cbde431e6a2b5217b1978e738a44b1a60c34e844a1f5d045dfba895b0be9aef554f1eb8a25a9f1d1b804fb2b075fb4ddc470e839e18ca5ec636e490b38b14581eb7d9f1e3f610258c9e99e2437d60ae2b9cd8995c6b00cb595e94fb526c68f069877645f958a809a0f8a2be3e1061f3eb1b9b14c5675213ea88e8b53ec50b52b4badb2be6bf5ef57eccec1a63541cffa2306f427d87ba3122ca30f8760a3a867bb5cdd5215148d3d57d7e1bdbb0b78b8ded88dde4a592a48e325c44a92416ff90a4844b51808e7084193232d53daa53af8a50a90a17de0b3d1935024d9ffd97f31a0e2b8d0f5d98e936ac17aa8098a344535b70f7e2e802f3097ef0d3f59377053f2cbcece089624e0e21a3666440acb6a165359feda8451644eab3739731b419ac0a9b848ea4c67d984cdbc78389c03a44856d6c5244c9f3ca0710d722cdaf916b2717737e111c1257d7f80f1f415debf44ebe72b9fb8cb8a8824935f85829648ae46e89dd96851c171c30d0e8568ee8ebb25e9c2f025264fb0e5d934ad5f77edf22a22c33308037c334b89ad56150c4a9da4cd979eb0ca64c496adefa6270d91c298dbbe0e32d930e49f7387977bb042da634a1fc08b5f7cc6f8e4dfa0247fddc8512c5dd1f201124f5ed1d87f54403700c6dc6189cc446e1c024f2bc31a6a8f577bf1f057014116e5268fa3961494bd42ecfc85f67156e7f7cb85e0b26fbe666eda08af71a05f3c59bfbd79fb6474d485461d527b89485d56051bf6190f4e1e5f82d93c96484410d6fc5b29e11033ffac949e77956d802857d388100e5315bb481963005e427135c0e1b05551591ce1d01f6787a89c66e6977551f19c0cf5535179d7714a381cbf50f9cfba6f090e29f3e887169191e017888efb1d6a984d675b14c36546124f4ea514f5451c83b131ac714acb037d1a2dfa19864b06ce401cd18d2bd13f6c1b59dda257ce71509cca22af8147903d4571de40dc7820f3a270c8c94b225e4e51a1580cb6c10737e88609dd59c925a2a8fafc0d883a915737521f0b701da1dcf80233549635bb61c7f0e024461fa7c66313e4dbc24398200998581c94a46bd550fb1f110c0b2a1fd91f89ee2c0b76010ac46970c82c0126e82357a04d616ed42188b1146b41c771dd8e7a839987311c09b0c34475a2613d20bea1a0522497d1c3b0c81f3d81ba4e290a3624672897a911a0d5ccb916d050baa0eff4a4440a854149c3ed8f854e4c838a20fbe77902b8cf1f9f3dabaea035887cd63725d8c9662e3f0982f9398d4520d93ca40fcd8e98c78a18cc9227e45f61d1f6ec8842b1c460361921fbca2c6d0f471416aa1423b9c40b7aed75d67e11f42f648596f30551d407550f0148a18a7250e472815d1cb8a135d8d3bc172117cee085e64ddf255589819b6897714b232a290730c3d7afd272976204c25471531372d739656440ff3ab995f7061f81afb83ec693c29cd09b045403fad0c4522022845069381919bbacc9acddf992e271dc8de5807be033aa316447ad202f9adce8891ce508a02a7239ca9f9a199eb85bb17d85a17c2de19060e34291f529f949f30e306deb9b40701cf9b08663bae6b94cc022aeeb3882033ae026561127895709f6827d8e05704286eec176c164d32f3b40db2e06b8cab1e04713fb5e0c06c53789a5fd30882aa8db44ee581ef736473619b276e32a0fc8167a5979854c808e7b14349bb113fbc6ff318517ca8d23e8c56822a8fcb91defabd0c63f22881fd511b64f162af4397a2eee01af656d8d3b2f89899e5dafb1f123f51c82e3fb4013546aa203f4e1a60a374025732596ab4d01cf27ff18e64762817b455a6718c182adf5ccee7253983d21205467b19c104745e4ea5c808c08b712e75910848c2baba9e624d289bb16c087d32b323bc2cfa1c4bb659c0c76a89ed80f80b05a8dbb428aa8ae17aaa4e5ef966e13a1e615644e17513537b9ca38cab09c4507d91d3e476433539e6606fbf18cc8f128b0d8f927a48a2da871a1e8c30ee3d12066f8048a04fd554b9c61ee429471488445200e4ad82743623c81c8f2689d7283844c649305ebfacbae0d4338c898652b4e7c24182ac35b59a3fd95f19e44309c55fb5db57ccd0e4d4aa640660a023146eb296ba9e0600f4b95af6851615f77917981ea2a1d97d8e93351c28a93701ceadc45f2ee5115ccfa97c9ac0f9b4de69019934c8be7458e8baee7224596e464521be8e790a49664cae100c34e05f5f104762d5388e734f780cf05638dcea68fab19ee0b8fab4880f88df8c713448642a2116f3cd8be020d82e1e4852b970b53133f4475369ba4d26903b4c3b540c279829bb1a5482e180807dca6139c196d851558d54399b33987d4136dec1981731fba043518ee0c9c1944c02acf30c7c007436f3d0882b103edbd1f177009c5c6d5e60133564902ec309ce915db3d31b1409779dbafda84306091eeb0ff974cf19714505fbd731249b17edf3751913273b2c8d0cf833fec6f778b9e2ea66bc484fcfa10c3a8b940b852ca2189099d0e38e0f731022b40ea28e9ac4ad4d01f60e20cd2da41ddadec1d975a0874f598ae991f966aca41be074306bc5aa3d8d2135c35f5cb60e1d34c88038e989faf588532eff15660002fbb20738596b87acb950b21863fe1f96f036b287bc482e032fd0acbfe9c72529c32461a929ccc1a396f5777f087d381fb7fd197d74cf030caab8094a56602b162194322410ed6a610702f42bd67280070492c0fb695b6df628b9f5f70b583530d0d1ed515abdd6e0771d6202ba14ab38c226dc6a9a81ef85cab206f255ac8e06ffe26f3f1bbaa7e92e03f92cdece355d51f25058faa296b1ec9ae23e958104dc9707f274217b8e9e9ca5743121806d253290b228884db9c4ba9186b5aab398d78a4fed1253b52f68bdefd41fafc48ea4f4e0cdc5b46c26d1d61f3d7132a830ded6242881619885ce1242c8258eb74dfe7d743e72d797aca2a457f570b3b1887280678a54461f797844af13d124ac15a0e3f6ef5a5333725a5719b23451ef2aa1b4087185926f828effd7e8506db1df52104455078a3e092411b8da24c4503007a2844eb69d08c51d73d525e225c9458567a2b0a768618de7b76f1f3aa4112250ae24431614454244f89cdf27c576b174fe55099f4ab8a07001375b24c924ed416bb14a96600f046d48f69802bc5299275b4a3ed6423d0af86122f40a00d03c60b29405401586129545306be5011caf1e6407750fa8a44cf825207ad537e56a9bc3c6488a0a0d2449e0295cf93c1fb727c3ab2803a93509740652b503331502e1a4e83c7e783010c2821f0793f596589005008fb641d2cc5b02959bedb9fe082f4827d19d76f4a4fd886841109b28e836ad57c7c68b26e487383352ba9a322e2990326c122f03f8d1aaa0fa11c02a818fb2c74eb82c1815af8e7a7056f2839f3ff59ce8a2572163d142174ee1e7bf1264fabb5ff08c53c2c58196062501172ca84027499c0f60175a738c3bab85db64a3de2eac4bdbc3722951238d99c937beb00305396ec61b8d37fcd711232a676551d42af82c54d8b8d40356378f5b14353465e4dba524d92b351347a0fe5a97311d2cf1e38a96936109372539bc32c2915add22b8c33b2a9974cb1a3da02772363158734d77356d3639c36fb80786eb291a6901d92d61b56992837a8565700a3dbab58a616189c124753db4262093afeca54d618aac19b2b8e0265bab12dbca67d6aae6d4059db4b695d2efc43694ca97a8dc967c14f6a72e8eed6cdad86b05a5daacb4f992fe27b584d92612250f56c2cd9ca85d0935c322240a94e78e95e1e8318d6a31e35aa0cf1c79a7b5850341677047d0a6fb78053afa54f1760a92e33ae78b1293227ae79833003b5c439d45966ec68514b94ee0137d79f82bb762c757565ff392280affe5e7cddf0d99e6b2bb22bc0c36ab8d2c0b7e702eaab4adee9bb69cbae503a2581acafe244fff60c6215e0391a2cfb842bd13a558ad44db05a3d20509a8690b770cb28364f654e51433a578581fd72f6aa5fff81daaaf11cb079d2fd5d1417d6c4d1420eaa6e5364f1181f14c8c0efce9a9457ce180022232267340060adb8a3e09eec478642bdb8d125093156301108bd129c7ddbe4e98ebffd601b8bce41a821fb176461b5932450be393621e76feafa80ae31cb49ea2f080956c14967de47559d6b49f09817bb77e2486e52932e79aaa34a40d4e9d36229f783e8f1fcec1f7fdb650c779921ee21c531f534c65bb2517bab97fc6e340bdac964a841f5a8893940a2e2540df8879d1a677898f3acdaa5eaea50ad696a579a6536e11d70e93b59375421a48e11a6d698912a6bdadc0d07d1b7cf3c29e1739ab284ebe6cd622b8a7045f7c18dea44c2ba254bfea3b19d63446a07a650867800a4d790a1c6f45b363e48875741aab86deea161076455b1963a72583d764daba45661ffa32a5eb34e986c00326b0992232b29581dd31186dc1c2b95603b4400a4dd532b2b905dba4757e8edd535e64ff4e9d5f5fa02fdf2ef0317f11c9fe749de97e164c1045300ac6f7ee55a3ddd9286948071658e216b4cec2d7daee50153efc3134cf159299800efbdce34b4013da19bd05640221f16b97862a27fad36f2e9269e4c9ebf5cdc6a1be41720bfabdb693f63bc34fe20377c1b61dbc3df35ae330fdc939d2651b1bddc46d86724599db09dc7acf31dd6b4cd1b75daaeaa6e14ee1168f259c5dd383b63692b786bc71126b9ad37a72195758391c2d95b0c4fc3d1549c20ce9d4900f97f0d26a1e6581fa28f6d2c9982dd16fcd473e043f6d58744e96b58bcdfe104237c294a90f00a5c0782fad429b1a31c90de8023819383d1c0d0335261aa46c9c4a0cfa36ae9595067ec2c5b454fadb5074f0bd9ecbf2c58c41b61410b45e880bb4261e3963df4885beb1ed3c17313745c994663ece416cd2f5e00cdc8f5d6dad69133461e7fb432bcd5cdd4c2b87c20b471b3663d219dd0dec070b7e9906061beaa2f0f91989f30736762e2692ebc7616a9ea9c40dadf503951351a2698b55ddc13f7c0943df8e80f820cb45001b1cb9690b4d52b2a03c7d65906beb0c215fc602453992641eb25a0f50bc9d787d6871b82577c1f86ff8227d875d4987a836352700b00f9c16f014e1a59a0ce29706fb513e26c8e951ffc1c840080cf058478d3c9ba9077ee65110ef8abfffd4d6654f71c92f8102aa9d3c262d131422c3ecfaff6c352507d24043ab98c8d6dd42a11b8d603233b0ee6c91c9b2af09730023b6d2b44d9b64168bb1256a767dee349a18b931bc7007930566f794139aa0b3a9c5d72c41f44c3b8f5206c6583e8a378e67207ca2245de9ae7e314ffc90dfceea3fc18a9f4e06456f1121ac235cd9d5720c2904162379c500e42577edb9529d149ab656cd180fdad2bde16cd9fa007cba0921b3a2ee74e97b5fbad4ac37f0993b37a9518e8e4f028aed77d516e4d29c86cfcb6fb3042711bc3bc55e747242a6215807a37846f0c043746c146e6a07ab36013fa10af1302f6be6c512e583f2c229e258c1583ac41362512206f7a8c267d1c49acd98d6c6500f6d895205852802180967e8ad4d9136ee05c18b02219f3b7eff8e85c46bde5dfcbd2b4f55b0f94d8a05424b724fd42b6df4d8ef3491c97e7b7926cfbd9ba560f91f61809fe27e61052be3318d239335e016c975e85b0d14b245b3f76e405d6e88b81d6dc7bcc05e1db3907cac3980b9671395ec15b81ce0f976a899b16ea0921ae16542e639182282761e12d28f678c21c5717a217b80a75f0f1145a8c2e7f82da5e3bed40d6d360e430eeef977edbf897124b8fe6255660dd740606a7c894db2deee327ec9cc0b79127627081ba49d1847c88c1f03c55ad9d6fb70a075561a0dbef2af74b555164910e33c1d90f00d3450e2f738efcec310971cf32d37b2100a2f0d1372c8b1598573800f22a5ff52435bd6efb1c1d594198299678b488b78db2aa7a06769269f52a636e2ae509e2f5212a0d1f42f0c076d212e9a383157ef071f545409e02384f4314e8c489d0cc7aa5b03cce01052a8539e5941de7bcb196483b55a2f294419c4fbd06565a5326f1cc2954d892b49eae41a37f0bc81c48af706e255209074a25c76543fab2278deee052fd4b3d88be6628d55f882ba89bb24954f454a54295dd64ad453dbf72903c6033573022558a3eeca9e25055355e61c85a8bd9761ccf65ad4ae92072564613d71756bd94e7f67f1ac945da8f03d1b0da56efc1651034b8b32a32c1d10a22a8d535d393bbf415b063396fdc116692d68a4818d65a56ad38f9a0ebed890a0e752b719743d3d4a4802b8a8755c10bcc1957179940bcda027ca960f6150e0431bc2e2ce3db537db424ad5c2c62cab43a826a48ade23a80a301d08e6a5c5a31a7ed932821dd093be5632ef434e3d78acde6b99baa61b349b95691d1a91f6dd9aa851b9ddc703db07d12b1b6caf729f6f350a61a6470db6eb2a53b3c767d1312ddb6dc1f63c6b2a32e0ca083103478063f5ca3f5586a67b61d3a99d54d8a94f7b37201e8f4a64ce553a05f81eb55fa97ffc428d2f2fdb65a6b75c51277adc7d8557e2bca480a8765b7caa23ea491a0bb24c6a57b245e2b82c8a8323b87a96ba8ce08d29500686a3f1f13575bf62f1dec793f1aba8f4caba27bc707bcc0948c06fc0b9f99620dd80d0c05fb054ca4aa3bc4957920ca15dcabdc87e37cfbd010138d408d6261361785cc7c9688ae54a31e138c5e52d5e4e2e843018fa182033055c7993968e7f92b515f6a58d8db9330d91561d99873b37b644d8f72dfbc991d75a451ef8abbce3c6584f000115e8199ca8a5627ee5e29d6e265b778050906927de1d5921ce2456e46b4addfe3c9d579140d8577165fe017945e918f7f274004b29f7b456e6cba0061403ffb40486737e53afa2a37fb5593f43b6f3847e1041222bbb8c2b303b072dc594b9d47a2ade09ee14316c10616aeb3d811abaf60972e3cae16754e5181d2c92afcc830d8c6f560b0c24579590ad6311056c6085891efd8773a4b2545386db06c714c850aed9d2bbe91cbd3c31a71d914a4e02793da37b39516b5411ae952a01cfef33c92a6a23b08d5499ae3457f6c6f50fbe96a21695c3483358985ce368b65b0f0bcac9d1f4e6e4d99979c63b16eaa4439c842c64f03a8c3b948b05e1d66aac2ac1891bc601dbd81c606ab6562101c54f0bc5d71c5e45aa2745304b45218c1134fc1d7b1a738c3d64744972946091ba786d300a31f015fc03b9656c5bb73a6ab483d8c6beceafb0968d32caa4e539de58182340566de036c0ada1637fc772c4b076b06d11fef7238e8f0f1239b82ac9a71eac6132a1a48d48ccb38053fa722f7db7533cdc90f9a13c59a700c9ea112bd0d8201f764340c453323e837359eabd4f44566a7413307968de1ec9267a41e6f894f577112313c567c858fc97d6ecb59cb588d714b70fe255a36b80084d649baf3703926e9366fbe20d612839a5c5912bca4cadf10a445bc984a813e51e14e7f24ea71c41ca2ccdc4db35f6846b8d0f65ee7062c3c7432625c6dbe0aba14498b63fd83e51c86fa04a62724333fc370fd9a98115758097a2f09f9207d5891e8831180d6ba873127c48b3e80597fb907daa11353797224f227a81cdb85bf920998b52be46aff1e9000186e8c149a0e87977843b350498cf7b260a9db457e4719afb05fe8e9ffd65074ab0e685147f8485ab20dbf0098273be854663375156db6a49791024aee6c6e097ddfaa68daef100fd7c1123e56513c1f46ef178a1c29d20e003c7433b6e64c84848511e930af0f50fe27c601754606f214592de0bf05829bb0382641fb3890554e2edb0b458d751047955f7c44e8579d4fc14980d9c2bad814eaaf48cad7f04a377d55b810482f761eb60da5ed63fe717c8c0a769a18fe1c228ca1188391fd83667eb742e3321dbcb0cf797b15cbc2c91a02a8a656210688b7482e73efa4f44c73a94ad45063a12646ead2ade03bbeab2dee04204caea9839942e2289827d571337a48c4ba5461e003d033571adad34438b3152757fa0f54494df64ea84fac8e8c5c74f255744752ebcb8de7d43d560c15b631c9a3f48143046638306269bef31b2b91a7a2ca819a4f53f3ff9b745241ff18687cccc981fd80590ef937dc67b2b511350fa220e918f460bf44b429bae0b072e7575f027c8e8e8adb86d890239728788328d39fcb5c2c7938aad40db59579b94c82cd88881218ed5648bb19dd1ba7820e73e3923a5c648026731d47a155d19a0745b86c398b8ce08627db61befdf90d5f908e5b001a49b76caedd3f84b865b28f98eb78342d85b16615354181b6fc5009b5177ca45a791376382193111a1cadb306a3327cf6a276f09626d7939e51fd61c1371b00734ed07df929a77db711fcd9773b2b4ba6784087601305120d29237205a4dc15a7eb6fc155768432cbf634d32c2094ee9b92a4d40b7aef707752544eee16a2c8c79330c74366ea95ef2d54f57bc3477c1b4273d4dfe32951bee981d8591242c49dc9a1e543a174274a74d828faffa10cfb52b4f4aef78829f02f6a142c8a847d2b032f3e16f094c18f339aa4491eb0026a971c3d384a529d6419a34deaf9bdd9b348952a07f6cb29878a082092ea31e1e7605ad751b4295af360618e1d57f5167289a54e60fb41455a5cb894eb1cbe3d57c97e40998fa89264c3f32605570ba19621d591a387822c93f0622ce53a60e50e853f7213d18cd3b1923e207c01028eafef2531f5d52f8c45737b927f68aac25c1de7125221ce907ac5f536249bedc85de46dbc811f144ae04b1d61968b9da37da9283356b8ba8b7780233c5798103d011654f0f964d10ae697e8e85a977ce8fad3d1bbd98c94791270ed012d6e4da9cf57b63f5b09405fca00bfe444535679b04ee492cdf6e0aff57dfe598f49e5491f0ba5cdc41428dd80c6e4db00488e1a929dd3eda8896b9db65355a056c012e284e7c89b8a308a6696295a6d20a4b41698c7c36a9f43f36c346ca88cbc5dc6160a3de748058aad59d004985cee0a0584692b922c022bbeb2e2bb92cc006b16648fa2ced7b5399da062ee9c7ae962d496779afe1cd03dbd3101e98a8f3ddbddcf55e88ef5f7e308da4f37a731737f1e438ca0278763f432661fc27d9822308e05a5550c3be877d4a9882178abcad4aabf9cb83eb1d3b4fb7d3c769274997e14727423b540a22d10ddc052b60959ed8af5b87a708abe04327ac250e946577e91cc0135aca2400bc0bf8cfa8404a157063e9d59befbfa80d3d4189f6fb81351562eade1dd030d6d618d3b050bb04cbcef7bce121a9dd87581aa1b5acad3c48819bd808440c0cc13002dc64bcaba4524ae6e3ce4449bc387a032422d41a939c8ab9875e20cf0ab3583c2759e826a8d21ac31972adea1ac82f32131c9d42da2d749d4619322b448f8d1de884122391ae2316c92b060f06d9b002e7c66e7c817430af903ba68a5cd6456c4a99cda44a625d8d8bc6cd9b1b055c2d84fe074f711a0e02cfb56a341e06e1ac3d8f3e2bae2e2bdf2569427e9d20db981bb5a1eaacdbeac9655e83fc2b1142a2526ee3845dbb962a1e4c23aa514b70dde5813e0b2ae4f733aca36ec9be95c8b44c82235150be54c7f28f815ceee3499afef614b17aba8a67fa37eb8a2e07b623abbbe497a7ba9843e7a2e6a6196856c228bbf819196deb7647bd444d236fabde5e3dd22daf4972ef73f5969cb36aafcc9eb12836286f12c36cfbf0a7f0d194b705b2a5dacf4bcf54059718269d76cb3884b55694b80b4e3f4ad13a530e836838c98b0067951dddfff4e50683999948392d9296ef83da47014f5001bd0ee4c2806e30b2a881074ff670132193d3af5aad3483502df9b456807ad1799539d55129c2fe7593b1127c24a9419036cf40c74cdb8fe9ab4ec82421cb80164a9b21cd62c372cd7284616540e5e5e531b8beb5ac044d8d49765a661e63777412ee7a6959354a4e47d479e52035fc5cc45e65637c341b63c3477878f5bf87602db3437c15d1066ceec0d8e3a9abc02e913ea9b77a402e07edf99d9b6fe5581e27338e3ab2675757c7de211edf0148e7c530d452beeb7ae50ae50808a826f24bf9a06a7de3742463bbd265081c3cb9b199abe204b555312fed0ec7446cb8d3c705ce7910bb8757f0dcc0c7b86ac938a77456333e67064e695279d19588de118766e92b67ed930f0414886d7e0672fd8c27c97c39eda70225ac2da3429195d1d0509de9081ec1739b5780b853cc4af07c171a02db2209a49db188455c94418b6fa89e0a409b6bcd507c7d8a6c7fa74be886b061bd008186b375400832743ead4c6f0206b109204ce6ef969b4ee091227a657df90c4ff73ee42d142cade3caf72ceae5666732b60e21cd1fb92320420aba6a8d8f9922223d5eb7c09615db2ce37e7d54554e76bdebe787be572c8315cc4dd0f2aaab5de462fd49e0be095b975a660fb388804c975828c093b1f001e4491fc599cc37767804796d72a019329e94a3ce63e3aace59bc6be733eb09156fdda6745914fcacf011d82ba6c4824f14a991b9b4849ae3592407a379cd955824f81e6a9d098af9d0f0b6ddad027e12b2d5c9ad930c71001915994b18891624e1ca211c3e6899cbcf18f78b3f86810d60065df4b9a89e79645271b9b655e61cff1f7ae489043652a084836da84ca6a085e6bd2182d9994b5ac5b21ad75d5ca701f60b1f0a80c91afd904932ceeb072e7457155bd515acf71cde46b3398fbac013940a6103cbe024b21859854296b4870d7f2e2c301325d31082755dd54156a6acf667ce18a6ac754b6b9fab015cfda1eea1fe560b3910bb58ad6b895bb5bfcab9d9c7bf2e5df7224988d7405277afce10600fde5cac40f6465b8cac795d62f39b1f89443b62fd41e647d59a5fc2ef646ee102cb4c70e107b2bc4f51c42d7681e0c0ecf099ce605a97f5a64b7e83b77dafee9e8bbc5b1691bb555e6dc7047f787e686115f96f2edcf29b67d24e58341df89e05cb494bc636a0c9bb6b74d1ca7fe6f11ba4c09adc1cf68aaac1a0ee8563749b3444fcc46ec204446cd2d4f8f8e6907211501009d49f65bc52cd6e7d3416b0bdbd7d0673d85d527e2454f866863b915c6ce8bae3f5b6c082e023368d05931c9c93e6d45752e27f912f01d7f5d9754befcb259543f8c70c48eee36edf3f9c04ef64c50a96d74a86bc1583ed63e80b4d47c3f4c34e878adee0619bc79413523e2b76f5a8d4299936e7b943283dcfc788cfc7981e92d17de485361461abafdacae9f0861d3b2f6bcd7a42f829d0c2b570d810d7672d03ca26449c62c572e5f6bff16f02cc68c6432c9a2b629fd95327da2d7233fbc25652f78febf72d3c79e4721dafaa0424566ee5ca4799bf02fbb42470e1afba5ba03c1cdcbd9786ef6f1811a5b8cd703f8050c2601cab4242553709ad574c058d970019121391498005eda390147bc00030003bc206aa6b9c8689da4f81d9dba32379c8b09cdcf80e50fef8b656d50cf3e2de7fa8ff2486fc13d0b826309d9b543e2b9d3c8de5b2629774a5bca25025702470234f10a5149b442ac42a48288a8bb896234f9e75d14cac9c06963fdd9ac8db2cf0a3e2a74d738b36bc2ba2fbf12e5e9a8032fedaa9dcd6a6635b319eb50af714ec166b3ed78b5469ada66b3353777129d1cc952b264775a6bdd99350de9ee2b1664c04d5d4ef76cc9cd72badce52e171037ccdecdba5943309b462eadb76666b3dd1a9a99c3e670ee78db3433d3da1cdab8f5ba529bcd041b0ea214361e76cf39c524310a110af109d1891f2292785484a4458b6844a94d2cea962d2136216a1189c4219109318bb8c4ecd9514425ba67221631091109f108d1082d5aba5b8bcb8f99e376fb918979714fa52c9ef582a0d81ba5947697fbca988ebd2fb7ed3a4abbae6ba8da758aab77df55799e47a9e751aa52791e05552acf4b5dea5d0aa6522a7a9b7a977aa954ea52ef528fd2fb79b6ab1ee3d3b532377707ad54bbdbedd641a9313e973bbadd6e2cea53e6b75b27959c6eb79be4fe80999d4c6066a71a4b66c9f2c64987a0763241ce39a79c319c189072bbddda6b968732f39c1cf39c1cf3e498e7e438aee3ba66ae76dd1fe5388ea31cc7518ea394e309b9a3b5d25bd73d93b8bb41ee55d0acf3c609947a0354ad7b1f08a5a3e0edbbd5bc1b6329c29d5948adb5be5cc0cc2f326685882a54a6f0d8e2d6baf5becfb3ee64082177771bb7d6ade7597772670672671e72671e927213823988392808288828507e9eb8b56ebdeff3ac3b61860204f392263ff8d0030feecc43eecc43ccecce3cc4f21165da6c3d3232a9171e55a96a542aafc6c55ab15c2b1d43569cefd4481bb4abcede273fe76aed018b551817f7ea66770f180c36561d4dd7757d35e89a591c930d6c706848b26589a7273388b4a8e1a908098b234658a4952274aae4100516a520a813dbd20c0c84808aa6f480040a1638268da0257d9c9492c53497267569eca5f12ecd7769b84be3b7de0f04bf944a75532a180b82d78230df77bd0f8673bfd56118867b993107586ef08af1fd98b95f9e84a9085e31aeeb388e7bc1a526bdc1c6867649e8955dab14da31df9c10e386d6432cd178be6f4a66907b498eb915d73dbb9b978b4d181a0a623ce796390383e188b164a69073c4209885ddfdba2c8e61e0e736cccc8bd02bd60f83f5c360ecc062aa50db07a6dcb39edb5a3da0d5c6288c7c99b214789371412bf8a8c03d8567bdd3a95df5ce7e9df2fca6ab97e3e276bbed50b7c2e976bb71f3163a394e4b2c9925cb1ba72b41526880810519b4532f3173b39cfcd24e3736cadd737277cfc9dd93bbe7a41ded68e7b4ebbcce59bbda3a5a9b402cdd5d29f7cafbc06a5d8b7126c473eb59671e491879c69d7184510427a39231041b27a0a1a13189fb6d44c2fc00925167cc1941183f188f8c46461c27cc50c622cc4bc69bd16624320e19850c0d31f3d0083fb356abade0a3c292cdcf924d969f2e68341f9a0f8de643eba9d56a3b5eedccd20d53ad566bee1c9d1ca6234b3426205924d391f9c3e4038d46a3d1683eb45a4dca90652ed184fc2cd184fcd46ab49a0c23102273cef1c7e863ac11b788513e4428b18b2953ac1011894f94d644a76e9915b1496412b910b710b510b3109766cffe11b1e80eaf18edaaa3a3f5ba5e2eae8209ae4cf014f6a5ccdde0aa38c00a54c0c570b76126f0d1718c5fa152d0ff27f923f9ffffff77b179971fefe2f9ffffff7f17cfff27bd8b678017dee5c7ff7ca6acea355739a61ce4dfc5f349ffffaed9c35c24fce44169b70e25ff138e4ffa3b18951aa0444252914134a0408e180c07057cde556a22959ab8d884737442bf52dabd04c7b43044fb8d4084639370fc211c7de8e1c5872e3c218c18028c3c84f38e3bac5e06a5944e91f13368adb4ba572a9334e36950da1d058d6751da6dc47a91d26e2371d4a1f5aeda980300017c8deea41a7fbb932e0e37d810ce3bd610ce3bd210ce3bce10ce2bc3eb63c618625ea659516498dc80219c777c219c7774219c776c219c776461c7f3a0b4db88c73fa5dd0fca6f4abb8d1000a55ce063f27e8fc0ab9a731581804ce61cc3805c80874cdef932258e79c3466883b543765b870c96431e2093386e78067c32128c91c90bc472d66d0224532f99bcddcb7dc13e55013202421f40b662b96cc860f77543016430b2d059e165bdc8b8336ad0000360012093f71359ce2e59ab25efe71265f27e00b002a0217bed84d208146a31907bd598219b5a58011932c9401e4ef9bdac6660d75fb099158c8b003164204be258c190dd60dd1b8604dc39257855b2940c94f964f27e0680d29349768b434e2862f24ea6036cb05c5c9581142659de176ce6c59d8edec132793f1ea0e412a8d102f5a6b5ddeb2cc8037e1f087e1ff8d91a5be362ad58ae958e9f15f39c1df39cdd9c5d7764369bd5cc6a66b3cb71f5ee6b155d3227f5407e414130ddac392170f53231af2fc0eb134a297de958a52f334629a59576b4ab9dedffffff99bc0b918ffaffa8ff8ffa7f2651ff1ff5513d3d3d2b17c366f66b486775dbe33d3299ead171b467f2cfe4a9d43a670a2d25ad106a4d55b7de07a6c0cfb35e89b492d43a67cdc210e7ec1692964e2ba70542eb839dd6919691ea5edd5aaf4db5ce4954eb9c45b5ce59d4c2e9691599f3019bd64dcba645a435a425a415a405a4ba57b79e67bdb67e30cf272d1f73f2b46ab644417551eb9c45b5ce5934e7ac75cea2efb8d6144f4248149e62fc30e3805c978d55185af9ff27ff9cffffff7f9722ef12e4ffffffff95fcff53907709d2c36c369bcd6635339badc83f29f957f29476c7e0d4442948ab5bef033fcf7aa5459828eda6591862f79c938b2db4c862698427b0b82289299090946c563c3d5541c51452244501c513423831433a322a6a020909a9cbc2dc46dccd42dd4d1590d5ccdc35bf9805b2187c9804527a3cbfcce890d27577cd7137828ec1b80057dd54fcbf75a3fa526334d6c5bef61707666aadd529ad9452afee5e6b0affffff8ff32e380ff5ff50ff0ff5ff3850ff6f04f550f66bd86ca965493b8637c2f9c77917cd9df908d190bbcaadf78129550afc3ceb384cb8339b606188f6fb2c4b28812509256ead5beffb3ceb42481ce1eeeed6baf53ceb4ab8335fe1ce7ce4ce7c64c4ed0ab311b351115688a84265ca106ead5beffb3ceb42cc4252989708110414441477e62377e6236676673efad61593dbd134c9256c7eae12429a8eb8a8342cfa672400085a131a00008040104571184592b4a7ae0314000f2754345688282e180d84e2603014080604a2c030100884622008e02890812818045aabf600e4abe1e879a4cf4e969799402cb5f5886142c8f7a19dc471919bc2c2254509079660db4321a4fd0fa9b6689adbe070320f6aabb9ab1fd72577772a7cb94204aac1ea6184a5eace892484310f166d088d56d89a6e7a0b1044fbd8b25917db8f8ae45cb95ed93b7c6db6f0308a9ef2d0750a25b6570fda7cde8d8ec191918d627b60e13a352495ca7bfec3956c41ccbb079bd147a706f3b8d5e2677fefdc82a9961a1c8cd4749c418af18e0baa4a6f8336d1e7ac3dab2f66e063d7430a4a9f25a97420d8209bb60088b6060ebfca159c7e3c4d11a0e24bd7a4f8dd27070b5fd3dd3693a9b427f0000f57eef4fcc2fc9aee063a9bac1e1c44242bab85d037f46f749cd670da4b24afa7dd3d183d26ee79d6b07a7d4b06c66c7f0eec385fdd5d98e11273e2f3e58d9b3e9e330d67da88145ec68f612fc88117a9c4d80d3404b32bd8701c0777b0e5ed594f6d85dc88663e95b9ec2eb1e9d76972c3c18dac2eaaddfb2fdbb3480fd3bb71ce76e6b399c7be4beba282daa92147734d34271583dd4fde472fbed04cc01d4f60ec1ca6d876b775583b7abbbb691b1250b3a96d9b43b3b8c726d818574970444ca381ad23d0b84de03859e6ac7e2bffd52281766b68d28baedcc055e0c0d29c2c28690c5d1060b5e80186c03bb97373b2960a557cf82c27251df8141c2c4de0e66e92960bc57c61c6cd530dce0aacab2fcedf1a4e88ce4d8159f3172d25c8ac498f2deef3c5231d76b00a98cd00eff9852561d80a2a1862eeceb968e181c4f28b24b388d2b5ca71188cba0232a3d22b135bc98af200107ad28078d3fb03a5c20bb3363097c92f3f32bd0d72ec9d1851445549eb0f36e6a264506754aa77366776a994b5d495deb7d4051612b8438518482021ea309400d96e92799f98abad0f54315a096b057ff7c38fe5af5c002b2d1839e6388ded21013d8f55c78723277f1f3d5ca8bb4080bdad0b4ecb9b497a0ff05aef734657bfee8cc1b409a6b77470e03e9a83a92156d3488fd325c03ef793d713c4b984cbe080d90d8ee202951f92f7c3484c4088f9c1212ba01558bc92749635d0caf36871c451a009526ef05a599388d90529010fe0a81f26bae7f7cbff61252b5b20bc3b565f819044d3c9c6e777a724f2b997b9a70dd1aee2e190091c2c9e7b213ad9868bf512e72c9b41ddaa97c41aa7c0da504529777e0b9435c5df408622970849c534733f30caa02cf7b055c1d8c0204eeeed3705006b0c1f54f6b7acc1a493f435e8780872272236a56983c0dfe8f612f76c6d8dfb1ce45d84007cf264c115293d07d897fdd0cd1570e24f30e7e035d4574a4ca11b0b93ffeabb5aa4dc21e20938320808aa0203e7202384bb682c79b32d80c870c8606f80ce94927185a8c5ccd958f51e90185f69bb6f64664f77ec75fa32745b27e03b902f87e2e681ae24288478a6ed54005b1db87b961648a5dcf1892adaacb614fc7613c1b91ab65238f52baed65f7fcfd5176bee1987cc650aca298077674c07f6c4c36f3b3c77f8ef0577e25a1afc1f17dd00e40a9b88ff069d7ed1183dc914638a67df627357d1a088248c2391be4ee5f88f4eb99cd789570f47669313ed276446513e5a8d1e32a5299ba2af5794410a8511dbe2df8c18fbf8323649c49e898d85b5d8cfe68f958968aa6e745763e60cbfb543b62b8234b61e31e8d21cef0098ea67ed83758aed675e2c0a8b559f11311b9ef93df93e000de75f54b13a03b1433fa86a31992316e3ed17fd779d73d1538d4e6d7bf888449f87bdada8825f64b9e10acf828d85d23cad28617225f6dd1188488f23a1f8a38805f4b1aa3e9d6acff113200143536730c1c87e0e8c16faac248aa0aa55fab6f5ec6bcf15679e30a303e6151dd1252a223851a99175a084d7d7b271250c0b8493e70c7831f0472547f04bd387d7633e0e847ccd33c8d26fd04e39c3efa0dc807976dc1406d2a45aa7155bebfc26eb6a9b66dd4d9b8fb7240141b6f3bd7bf8b4dfea616843b5735891e46781428f7ab1aa151a09f505336e14c72f6d48b77381cba0a943ad224094bf3c13b11feaf2894e639ac9fe4f86ffe1f1ebfbe0445fbc914c520b80cdc5989ed040339a86da211461a1b397ee26e07da80b8fa083bddb5e98babcae5338a9cd1ec020989902ece2f4cc67b8bb19b625026afe34b2653416e3e3a85164eeaf8d0b6f3bd57b50ae898855342c27dfd567655139b340924674d206ae82002e68c24c4565becd109bf9ba6e5c448b73f9385e5519c627a8c94f873e5bb35b34288b252ae1a4ffd2e3536402e1bf2e5f154e842762f202e96bd80718d0b966021a23c75cb5c1988cc4b2267d07c9e9b7b2408a0dbfc56f46ab54da06312791deead0c16424a1e6d4acd16a2b7725b1011d59218e553dedd5cd1437c767148937f1fbdf7f1a276072789d03a3268b62ca78a71e7a5d4fe6dda4190621c93a79cb8883d592e5af75a9f39df2e941aade65fd62a7e5683eab3d415963cb4d145879d28a558a45013f2a7ba1903e251bda7db283aea7f86b378cf9172a486ab0c8925ed61fdadef440124b2c17f57bd464000b8d3de339f5e65a0049e20e2dad1ee56a0d64329594b4cf05056a932fee52b55900914fb2db415f83d72c33e1dee4062e28adde52d24c5c88cc3767942758a473ce64b75aa6d1210603431bf67f12a3cd7ae4a8088b7f66405f7db4299be0b8b7890cfc29960b7f14b27500f0ed0c4bb972df31a3f3d71ec2a73328afe6e1d86e394e618e18cdcd2e22afa930eeafddbef93350f92bb27e43f250c84d283be3e8a18721c39cbf6d67a1e9f598e84ab901a93d63c3adda5dbded71fc61db6f4504db461ea34105047847f1e1f87466e4afa1a70b750708f8b675c13959134bef015ee95dcde8eab79bf19636c394960a0ed935733035306a1a19717a64880a1059b7fb99da0dc3141cc205567808ee6723f1c00f73065746405654f142c92c6be0942723aeb28870f3baf5b4aa2cd293bf01b2d7d8389c768c7a9a9ef110c16a2490fa52804faa338c5f076974e0cf1485b0cf24e7cb2d479d700c714c4aa587769ad9bfd717c840b25e004e669f4be51c0578391ce78d63719e1bbd3d6a99cefac78426b7e07c5aef6ef95cccf7854384b24e28a5d828911e059f737cf4afe5b644e6d7ea37c1893d2e0887af81665091aff8146e23fac8bd0e1ba35f5c888072d049ce06629e2e47e959fedb511b44dc930e0a6f648312d7b6006ece0bbcb68d34bf6e470cf8676b72580689561817e71eafc4ba165400f42cd58b95852208f7d47aa30317540cf8bb5517e2f84a4cab26cfaa78ebb51caa1b687face11d1baf39560bb10e026bee0ce45d7394887c25f0d4fca1576798c6ce65c26ba948aea6d2729d7326907233c18c1dc39440124152eaf105f61851220db6bdd52ed4e9d01ce454dd3ec8ab44c3996755771aeab8a7cebc920dc2d2cc52e71a344e2c398de33b0745b0c847d0d8c991139718d11d2fe267e70c254da3e4ca5c6ca4fc8c7aee757801dcf6256ba8667ae42670333479ee6aa27d7d5888687d3a5f2c01525193fe4b9e26d0d373e7c0994aa009b1fdfda30b24a164c0739a90934809631ad7bbd1ffff43ecaa3c82c96ca1f042b6922e1c041aaa4479221da5726e647fb95e2840a7d72138d9a086b2c78cc53216a13e8d2b6bbe6d0d5500c4d142953301f75f1019e5a96e54457bd86ca41911880c7d89d245b1a6b70297f5d2832b7abdc2a526894ca8a8751a3a342366419a7bf3a9a12a2f6c844c03db3e362769bf86862a5693c9a2e6a771ff625cc8ad2dd080c8e67985fa1eb5195731186a7d42b12902da9e35339e1dae4429071475309fc025210844b1a2812e6ec4b2026770e03e756a19ed812da5122ad66bb6c10f41746dd43fc4812a6a63f02b957fbf086151a8d54c2b440a2a5612d4472c11a7f087238dcc547577654ae7b2d0ba91c5131bb3260446bd4a976c63d9945247b1c29d28174cb1b28a634c04631c630910f9eb9b05441b728c22c5b07f4745cf75fcf6f1b185159905467831eba0092528145f3483df8b8911cb7bde13a8e3552c25906e267e21c248f27468beeb4fa759c8656d63f9fe1abc4177fbcf1156d556d8ad1f01680b85434cd51a176e244f170928b5685af6716cea2bfb31a141266de37ecaff11cbb16e7c806445e5f4676d86d996127adf2af66d4c2b73d4fca4bfc3679c130502ae7cb3ea2e1e0dfd1cf7fa730f27df9e1cd411a48af83c362354766a2ea69b315d50dd5dc8b0493425e0ac368c13ab15ba869872e22e271843e7949bfd06a546538c13c51bfa0f0afbfe4d956dc71a5330e30d357f1e082d0936ed78578a4f66d8c1da7cf9a97bee5dcbe68281975bec275a19999d1bb44707d479a1eea6ba141d13bc781aeb639f4ca4c08e5cd573be0bfb53d5585d671f833464dc819bf5616d90b31a3dc3087f1efcb922a74a660b8b5bf897b711f0532daed145cf372ec7e8d85cecad2bca369c7d364da2d90c772e66d64404beb1d94d8638bf1b81cc5a78276687a6893a099bdeaef5f779e4cc6a0e2ec5a8e248fbfb82ba5be88efb770a271b255ffcde4bb3c1590a77259c58c0f09fcc93b39aec78db04344a653f6a43892512a563f78b9a7564dcb748dd0007d40c3f98ed821b4fec9c3bd450796ce38c3759120e23ee89e85c70fff1a656d6e01f75fb551b72e52ac5b872b2456da1f61611ac9afe676f913eb91b2e455aa89e9b9b19c0d64bfba1b214920e2d60ba9c59ca27350874b2d8ff52d4cb8e8ca27582f9f7589af504442f9264e739783c55443a88469271d4717cd52aff0c525bc00fcd3d4b48ce6ad3271e08ac63db85de148901495035b21ee3dad12bba57974e24c4aee4f6d19f830293c05aaa16a47900fc0bf60bcd1aae15fa5e664013c14378b2bfa45aaaeeac38f7c526574b5d85d0b897098a67475a704847371a5f5a4ba1cb6378702a872f8541837b81782a577b079d7ceba9cbd7cd3defafd4adaf30a35c9894678fc73911c1f863ea0af1d14249c091b08024a46c8bbeed8a1d87492088c4c6a6fee9142a20c900e13b2ca3df662291d62c1101056058943dc3f3e44cea2e46c805e50c29fe628c987ad5099a98bd24a096b7fcde2ec60cd75aaea267ff2eb4b28dcba758505f4edfdedfd68ce6fffbbbf6aa559fb1e205d90c5e0f1a0bfef4fed3f4dffe48fac0b813550bc0aec71cc7a0ed0a1430a2e94599bec0cb059349b958152729cef6f92a972a6b57fca826b90ce19df66e1aa7ed98561648b39b5132c54893b6835d5968c2a86007b745755ddd8ba53540566df7124043319a896dc1de695eb0257e509d0c60dcf245f1f8812b4d7ce1f216f0c6b8c8f743289520430d8238b80b9725884efbe92016714b3f966b2c3ceeac322ac574e3a5722b116abda745b88fd447a4ec2e9b5b7836de0c17bfbde4670c25c5b60407cd1eaa5960d757a7d0636c504fc9241a58eb4027ff47400af98cf804173db57481c3749362161bcc641b728f4af11d0bee2ecfab4c500e09c3619e050ffa75832910e999f5c8d3ab8888b50857a2cf3f081c396dd26e47fa38f075f09ff9399dffac7a8fe0635a145a6ec29c21871bac9b6d1c289af3ac98fbe7ce43c2580791db05ed28b18994b50c29feed9c871cb967f4dcdd9dae45a37f7aeb5e39ce78780709dd2b4a92c10b8994e3ff2ce56ad67b8ef3a53991a9a10669e40db91a34ce20b27c7f0fa1cb588f7f40bca00ff2b45a535ec1de8bd026fbf7c9aca63f4b68d44a940eda2914201c9f7c0effa78fc06d77f34107cfa9e40a05e6dcc4ef96d0b2d90636051537a3064e297d9c2576b8c5cdb9294d3e175fd9d7ee71ffb17b1f62364feab1951fa8cfa1201ee0588773324ff0635c1cb276f510888b5907c36b2c654eeda14ce22f535efe6fea7b1c9f3a2c0c46c5900397d10b1f5629d03b7eb66c9ce32f161b8f33132992c175cc087c1e06c7c130fae91823efc2dc45e0964e640dfbff48754a8d09df49a4d5c76b3aaec826c7e697656de3546c11f4ab49d9e478f5e698920ce4e3b26566fb1d62619e3ee718929dda83efa7c64f3e983cdcdde0a3b91d89f0f5c31a2d9e98a4bea2fe910302380a5532cbf63d011fe6c302b22f0f0359e854bd0b0d202746e2d209c94fd4dcafade9f6638a5e4a14567502c58cb31b191fe38057a04ab92aab385bd9de467d499d2983c62fb98c873dc4a48c2fd887038e980e47f67495c579bbed981d1d95fe7f4803a08ecc4b0631645044724b3ca8ba60e0bc6b88ab756f33d1518b1a1e954327f074bd7937dc50df2282ceea96888c82f424ecbd36afd68f7dc7af76b36b5dbec6731ef06d299fa93c58adee07f00e79f39d66244cd9b581e1d0628c21e658b53b5da48f254df386dc16539cc06b831d407cf1da231eee97fa7838e31a88246fcd703c21e33c982a8ff51864192f199ce4e1a13d4890de4ae6e9ac29d49ff186f59c91429335164f7f1c65f009a4bf8fd3f62baba25d89a120b1b09a262882319dc9762988a711f350285efb9dd443364fbd2ee4787fc05be904efd825bb79acab0867f11043af534d2cb3886416704a9ff46f39b5a5abe2c562ad531ba1cca7f403cf432df5b27b83d4f24592546fea612607e8c97ef0a4855aeb838800a869ac3ed85deabd47d2ce592b4c524f7b0dbb5d8135e74a7348e6d5cb1e1cd28074d44fa3ecd9da13ebdc583ea0df315bac638e67d1e00b02ea15a9bd05856204bd9335e1b3ca295fa4ea426338a877fd508efe80b3b159e0ef372d889f2db71c43696b57e9e58aa1f4ad1c759e7ae490b2859033675be108d357db693626fe62f900020cb29c43265ecbb3d9de2a313503dce31f460cd4232dcaedb93116ae42bdd9147963089145af8a09cb5db1bac05cf999bad6e6e97c5d6e6c860291552205a81a75beca4ee71abbc2d04f563ea7b9958fd54aeb6931d0dbc0dc2b3758e5f8b0acf94a1bad729f64deadd847882959965c7fa1de6998dcb24459e5518c6b1e99245802d33e5e0f7fa8df1236dc9179571d2096ae87f4e3f0e5ad2e985a3d045ef89de8289d4241c4232d6bbc740127380809aa6caa44b43d85d0234a2a4b21aecd346838a05916b37d8946aaa4f26bd5de5cc4211b59fc4c4bc6726140199747613fc47a550a3eb4b19689769181b6a097d31431be7db6b40e5c0c6dc74a9dc42eb4d37e013f58f4d17c985b8e01aa895466af8f9016c800a26ed149df92354b1c440d18bd68718df423e2525d1ae4f3519922fc87a68152b96432cecc8b2e813638985b110b8cf9e0a2d2075b9763dede62ea2e0349da26d67c69f2d7ff86fd003a070aa29f3178466f27b399f88bcb06006890669e91e85a9edb0ed609ad15e892474c52ae8e0e2514a78102540080c69245f8aef745de0821bae80111fc1105e76b655370ddd892c9698e9c5e7e54d783aba88390040b1b6660c2726473cdfd08475efc853ae6d6205b50e1f380a5ef8d5cfd32da7491b91dff441bcbe0aee4d6e76a9da2dc59569afa669c35acc8d2452938e102a3de876ea693e2ede026a83741affb8520a239865d74a83a383dca4a9e8eaa4a682d0c7d0f15a824dd50c71a3373200f3604813e9d63c000b224672ea8170c7e1125135c72a83554187616a57f8819d0baf5f50cddbda90210e01d672289f56f3b404b686eed686aa358b883e03e177614730ec323ca508af222055f44dc0c6022c50aeb37eed42363f19090df50c82fa4dad5aa19270f6999951b1c45701ea24d77b08ff08bc2141161b7c8133a76ba61af5afbe0904b4732fa3bc4de9daf093e4b6a33c4a9f09526ac95ac5fba67ed88d38d059d8ac479b02acda2930891c1442ca9fb9b39526e854b90ca8db320fc26b233254fb49702e63858b1a5048d53bc0c8c590a0da831a420b603614781eaccb70b16e73c70786edc06b155397ab798dc0959b5fd702c180847e3851c497a86f3cdce01e28a01ea0a5faf7521c9731a0d0311098319e170b0bdab416227c2957b78113bb5d805f7a767867450c88dca0863e62889b047f35270645192b5c360f677061ca04e7819c2d0d286dee009d44f047a8a07bda9a82d5a0d2c708cdcd88afd9075d275f872215e3a0be5a74494497a420554eb21f5737d0afb135bba226eb737d65ab6886cdb2bfa166388b382bdaca808665f32ad4d68adf20827fb8497cbf64c48c9b662c25415f754c7ac7549af3741787576263bf5ed1f9d3d17fac9e2dea6833a4a09a14cff84e61c7ef0512915839db3769d67185bc4da35462835bbcfcfcd0ff91ea87b4d41f4dbc26c1832466ddcd43b3666c1f174f7c612e780135ee5dce8b6c8f8d6e1adb58721f3ea21d242280d90a00e006028d68573a72af68610228b1e15095494864843385adedb024083bba07bab23a788e952746fcb6b7622b90e6375aa63e352261796b329b53782302e3923faa071e1611975adae8e56ad71efa3b4a3b54b54da705424b87cecd7839cdc1fe6174f972b10ed6e4b07996d863943eccebbdf55497fa4c666419d8811a020eda869ebcd7c953bb5a134da2265638516eaa2aa9086bdc457344260a88bb2b6d26c09f938b5ca5ddd080281cca85789e64f127a75eb889ae57e47154e35543fba82b526c5d8db2d2be3c1e0b3a573c4c092911f346158ae2d016062657c14a8bd10cc2934dd2949aa40177fe1d2d818cd001d2f8aa5dc4cd8b678dba297deb616c3a3e5558c2b9735dccb24b7691d8efcc8c6f272f59f6c91bd4170da384c1177ffe08e54bbb0d6be5c7882e41d344e67d11a25afbc9ecb458470dd7e2cd647ad677e2b82c85af7636bee525da9b7ee1723bf71a9f9767c47b33d371d6cdc1c91b494eab451aa11b030cf9b0812cb5f456e4b7d0496174e8f99fd490f84eb3177220cb4c9717b916f253e9868c1576f83571ac759216578dd019b8e957ddf944638336df63570c0aeaad1097bb19cb4f5607568ef914934d9e2733856d0a1aaef61fb12e816ba71b76f8fea4b8510e412a27eb1b5278f66ba9570dabd4afc21676b985995e8cfb0617c7971c49c10c2ceba372ffc0c528e374febb1954303bb70a4014338245cb060ea1ac72377b0ccda1d96e129ec9613cb2c7a24ff5cf6d36b4278640eb9b17934cab701d22abad4d82d2994f4f9ec3a0351a74062cf7bf89f0c0b3bb8f00be99f471aa2518a7657511a3e9bbaa0d3e865db8ca5a2db961a2df3a6276c9cfab2e0ed2cfa8329544657a2e843717a091a4c3fc89d4611275c563b53ec08ac740cf5e1a9468aae6fda97749df949a5dc20230a104f52802eefb4f42c3a5d1d9af0972164296311edbc45164b8f4beb0509368a3e4959276ea73aea9671b49b2d39564e6b170a45f2335999f280701a809e8ee0dae638886ce1a4a020b5e1024b970436157e24f5e508feede2b7aa4e82aa865fd46360ab5bfbe311c3b741912566363775e0ea99808cbc5c8fc902745f14224f86cdd45aa32f45d3c9833d20a324f92f9e95549163d6a6a496c49c800acb62f582d4795f9153370b384124f03dc764ddd4c504cbff4ac88083fb1758e2a9bcf451859d02800a05e9f223c4d778010a4a99b9e7ae8a1b31ac9a2c85ed042f585c26ee99e8dc1499b81e72c61ff0d9e4378de03ad891a60712cbc7d8729908d99233763e8ba9c96f35c1940b7f476e5fc82eda4e114f90cfde805373a04367a4af05aae2a8c330d608ac137692cce684178c3faea9e3fad0fd96b42661636499dab90472c40bf7bdd4770d84b910586a8c97ee95c60f02fc3702ea7b6d515f3010baa20e8efb05a2e47d0335a2cef55ccb846e4bec2aadf5b54f4cecf8b008fd60f9f0f1037ea5a7c6c55de3c52c7b0ff3b303b48002c0004a778f3a67ce899c77096738d28f62fda8f9035ac97479efffb9f642c8de4df696524a99a40c3b050c05d304abd60e710d352b2fe9d679d8d7b0411f63274ca82e07484d372d382409e161830f0388224a1525213b1f70369cfc704ad10243121b128c8e081a6c4d76b0010714cc706fe5faf90533ff1442235ae0791e15ace045c033225db0ebbdf7de21a1f9fc53086b112febfa2cae7d743e66cbcb67d9f32167d9e3b96b2ff3cf3a73f0e61d9566b28722602573d84f430e0c600e20ca09c2c74c2c5663448c46ad54ec7bcd1ddba6b931d2ca6e90cad88d8f1809158a29a3c662b11b6b9b89c5ea0d8a8d6235311a4b62319a182c07166426d602dacfc17f6badb56fc32ff735ebcbd2e080584d8c86aa47ccdc118add58d5c91122063365c462423331206baf105030fd712fbe4f5e0a1c05f0e16433a3560686e2b5f79ebe87193266749fe729d11fd61efec02ba26a288a2728741348902061e1e349d69e0f2a5b90204162af9551b5858a8f2d4854ee162ab4d65a69bd5b8480413ad3a06dbf9b531002e1e3c9090c991041cbd61ae2a325a488b7c97cadc5ad20ad9f160dad195a4082b46a2d198c78a24a95d6083c0f494b04d60a61ad10ad1f2d1fad10b46268f9b46068f5a8b65a282d10586ba4d5d37aa1c5a3e5428ba74a15cff34617acc517061e6badbd14b0d6a240b550d1010a58008517c1ca50d0a180a3009607f3f0d9ccc0309f42f0f4f59c19e761868c197b613822e669cf867d33b68233ff1a101111b1c059d3a00a6baf656254d100b4965a4b2d3daac205d6dabf34f02cb5f5da5a0510f09be5cc3e905ba89f83ec9ab5b79f04f6de1bda1b22d97bafcef61e39f94ee047a42baa620b0c5a4e6f93b552c18329b248618b028a2b5324b1c41258b426da41ad332774f0c42e073870e28aadb63669a256202b3768b2410d9658426badc509b5c1cabb60ada5439cd4f3b4cd9031e3a3c5478b152733080925114a22249444c8769e67aed448688af32ff5b15b461ef7da9e516524c46307562c8fbb85c7098484848484844260a51a0941418d84a638cf1ace2341aa50f159c288b749ae842e091a20016482294758b901152a469c45100008131152a22c0d31031338918190520c602004142a54a850099b68121ca1cce7609e71d01b16fc74d85978d8bf087405aa93a1cac0820756c0f224bc0c050bfbbb64652c549edd0a2f60b139701420f482f0f4e9d9cc6eceb8e27be408ce99e5b7433364ccd4720f2add2dfd168fc89123476460c173816e10f4c230aaaca5f65ddef3884471ef7d2a787600bf99bdd7e6cc7688f01ed5e2cc2b3b71ac6bf481ae0d42244b25a24529d6baed1a041037072b695721ed7d3f38f101a9496aefeda27ac17a01ab874dad47499818be63c8162b5c7b052bd7ca47582e70914d5c80df3b6b6ae202ac16b058c062c2e281b502960a5838d80d8295821c9a4b04053be890c3096a6c1b39b39fedaab3b29cd9158c91bed5aa51586baf45b2b96dedddf1d6aa7a60da96cc6aef58dab1f3a1d6ecbdabaedc36032b6b37b62a41b941f26e80dcdcdcdcd86c4bb6259b0d5f3df4ad5a74c9ab32343444eefdc3dfd88beb0c0fdda119ad31d8216e469ea1a1217a45b05a4220026a29b5d4dedcdc644e4d27fce6e606e99665c913824a29a5f5a6e2c08163e4c10d0d0dad5aa1086c369bcd66b3555f5c976cb33c848736a5f959156dfdff12dcb45aab4d26b55aa6ca89cdeb2166adbdb9969459edfdc38dc5376b2f4669de1bd24346f250ae561c58472c1c6260dd506bd0e7b239b7769b464b9494208990ac75d6def7793a17b915e59c7337226b9db5e7e9bc25e726392b91b312360c91008945c442c23ac21a629d2c2196912235891554ab8d458455030b8865630da955895a95a8b5d6aac4662581316e726f0fbe98061aa83d304fbcbcc160b0b1ff11931c120e07a5490f4b5ed663f4f1dfabcf39ed38bd4c70b959580e29090623c60c092224cd94e388c3c956af1ea39c23677c9a9537d93366883b38b6fb9f8f637b3d9387e16ebb2e854a272cd9b46d623d6386b873e233441dd704590431c1c568d218dfa2d1f6b0e758d57b8cfea7e7cfc779de83cf54478f535f343c649ebc2c1b5ffff3575f10476f741ca8978e4e3e754c846f9786b873390d51c775e98fb3b09f2f831e269af7f5b525fbc7a4e12566e52a8426ed87c048cc1a003c446beac53d46a7cc71c72726c2371abb3fe63df86cc56ba9eaf8c4b7dc651e008445d08e893ba7d5aea7079f19555eb1d4ddaad7af1dd99ff7b2fdea3142f11e7cb6515fd18ae3153ea94de5abaed2e16136e28ec638732aeed89be77855ef31d2bc079fb970dd57fc0140b64bc7356a53f9ee35421641ad176ccd6f6cd0d54fd17dd3952f6bccd3eb4f70b2758f51e626a734f8082c63704ae3ed9b14b5a995d2a88e602a4b18522ea71a4229068d11a3d4e1e848f524090685012306d179aa9aa0f873550ef582bea0e12466e52ff010c524a03847692adf1d1f5958e52b8cc327a5a9fc27566bb87652a23495c7c4105c2656927121f328143f757c44692a97110df099b4164c141e62e220e6ed77f7c7b9fd335b883a5c267e6d01980398e5080be0e2ea7baf76e1e2f51277bed61f87c34f43ad819cf247d13c605e9859393ff5a2cdbd8eea2f28a5a9a76fec750262089f19be4e00b23b56a234aaeed2bb1882cb3481d2dcdbaf014ef774ef3ded15b942d35ee9ea7baf3e40092320808430f7a2cd717fa9c004a854473e9ba63a52e1a0c27dcedf570aa04a87cf61d3be46533131ff47a5c2c1fc9b02ce999563fe5c85035d91a3049c126e5c6cec1a29945842089e4af8bc127409196716d7b6ec4ba5437d094056264d5a5a627364430eb80d09cad292d58c211f949444918111518c4007340329a228b202241b44aee0662db49284b8c1064ab316e8120a66fb712a6fcd008811bb1c12f76e1135f09134c3d9014991d1e922e274c1c86df6c48cf27d04c7c308d2f7c40804347ea0053a80620b901e3ca6a8b285891da00031e5059f20b7a97a0110e204b95935ff6924a48e6a48228940bafda0518a6a66ceacbc722cdebf9c8abd65aeac0255ce22565c50020632cca894197e8801d2088488a0549e6b83a522c81d502dc6859f264b4578959f5295833b06fb39ad959b406fa42eafdc023836ecfc8a59582d2dac725e59265cbe003abbdc01291de49666385bdc4d9021c52ebfac213cd9f5452373d02966a54b667d7ee9ae5d177427cfc42da05daf69cdee611fcc6937a72fce9ebbdcb4d3614eb327b6b6e751ba9fa47464624e7b9e2c3b5a3dcae00392e0b4de4e1698b635b6dd8b6ddfe528dcf77fa0077aa0b740d67221428408112244c859cf2f5277f7de2177c81d728724806580ff0f981ebfffe50b5f83b5364890205f2fe52f44ddd5dd732ab3aba7b5bdd2dc2301c1540b1e1712ae1eb8aa706d714d7129e14ac2a5c545858b07ae295c595c52b8a27041e1c2e2da814b07ae275c3b570e5c4cb8a8b870e072c275c5b584ab099715d70d5c4dd546fd5d2bbd6153b78ea743863199875519499624598369641aed7de40a7a83ce9c606019c648ca953a3c466e9ee36195e4652cb6e98d17a9edc9f018b979ccdb648b1717cc07312d6f932b5897fc00c615cee0d9d76d31c6723ab1729339b80e192b633aa5eae5e262875e49ca6c140c2f6c6df2cedcfba1a669ddb07755322b6751b38034780f7a210eba179131df4edcedcce7de8eded0282febfd9580090ef724e949920a4cb2e4766b926b925b89b7209b8d071c0f3898cb53647eab97154cef31aa3f6248328cb14d56f6c29fdf13f7e88d3ce640cb1f8ffe13f983fcc74e67e40a7147d4faa4b2c174e9452f5cf7a21e2317dec39bc1f0909cc1bc7a7ac4662bbe020686d72d9eb2c7699507dbcec74437f1a457ac3aa536da46e620d97b481b34bc8359798f184e8159393601c5a91c643192e085ec368b853d8fe997c75e9f7e7f84fdd660fa4df51bf4a2c20adbb443509a9a9d85519a15929898afd51277f4cbd0f8c227e9e1a34fc7f4f0713eb01dec325fd6f2d457e3f8f22c4cbb6cf7f498513c23cf73140fbd91bbd729f06ac9d8ae7b11b97462b2b0ef1eb751a82d82e6d01c4b032d5f9f3a35475e61f666fecc8cb8a3f98cee45303ca6dbdcc7c0c4bc70d232799c97973db2306badb5567b20efc167248fe130fcb9dd61020c52d20c8c182f80581edbf3b291041192acb5563c7da7d7ef2cec1fcbcb462638f1f4656bad154fdf0c5ba31177348caf1791fc65993cecedd87becf938ff31596bed576968683c0ed68ca7b5396bdb751f6f23d197cf6338d97df86c3cbf8c79599c85596b6df6accddfbeed8e83ea78618db873e235a28e6b9663b73f0f0b3abf3cbdacb5d6da9312bde17d27b1a6fc41921cfcf06961372fd7ba479bcd6dc41d71cb007b510c17f9ed453ee52ce6656d0832799f772f1a791dcf1a35c49dafd63a7a7db5716d24b211b2086abd60678eb3fb67521aa1eda76ea758ddc3148d45302fab34ea97cd9c66ad4be8b2c3984ed2f0d1d73ff385a8c365ea1727fb266d803496b8d0151fd08f561c2566ee95d23c4942cae5c626391d8e8e461e70e0697c195fbe9a5c93c37814ca50995046044fe3cbf8f2d5e41a172f178f72e1a44de52e5c3c9dc19cd0f6af5fee7d79c557084268bbf70a1f96f36b0fa0c82c4710017436c15968bbee45317cec9e859d625ea485d9ee7921c8e86f077cf142464646dcb1b59ced4fcdb438260cba08ad75415d6817a201aea9f9c945ecb1af178d2fedc9e4b07ba9179903c460fbd83ddd8b467eb24a5609af3a6611ee048856278abbaf5cf9f4e5aca473feb4e659e7cf041e0c50800b3bbc5e34723d126da001e1d148349ee3390a519adbe76c20e7be3c3f27bf520047a2cfd1b6a6f9b8c4fc1fdb481b85cce75a3f1f856a0f2fe53b37620000a3f3229331032b63c07821c380ae1a95f64ba00908b208da60cac230044865682a9df95c6b4f4380e654a6236889e2947f0d40eabaecd5e9e3a3f65e4ea037c0d7f67f1ea6eaaf649940ed7db917ad38b8ea3d467569559578449eeef1602e42494a7d4c70b823988e60720197dc6e43280da1348a4136db93a427492f61eef547f5a935d91b58d584aa727ffaf8f3d781ab4e67bbbf507b30db5cd5241713b20822497127e3dc8b5e5e5e28de23367be130bc66268f7f8f4d878e7117a6632094529bcb559d521b2a9cb009684de52b90660e66e5e00a97fe4caf6bc292c5f2d89e6e7d2cacf6e54fb7b6deb33fca13416d709ed72382cc07a2e57305c0ccf6eb95a84d13162b7a8cb007be7c16562c96b873632a97dd63a457a019c8354ac3e2dee354fcdae0ee3d46297cf9b7b342389916106baa1ab591c2c5ac628ddec03c5475bdd358f48e0228ecde72d142d4b199be089a43739e065afe8d427350d41c03a918bc801bf931699e11a22a268d1ba9f55b95883b78b988b2a447a6c81493568b5c29c25464098a1757662f01833c97629c4826cd2b4f1d865a00e630137a445443323e934a2932c38cd0a4528af4d851d0c064b7020a9aa02926ed5e316ba649a59ca7197433419ce7048d93c7a4ed28465260de9f55113543a6982695121483599504bd00c56c7dd9eb92fd13a44d2a85881693c81493469a748892d0cea4954496a40c4932bdaf650393a4c6cb4faf37ec6ab4a914219dd97a51038881fd2695224312589972494598ad2fafb9a234f545355055b0aff025e24e269512448a59956c2a25c84d4a10185897f04b294192cc16135f2b885d394869a5b5524a698ded787cd2398552ed2f74f1c051fcb76fedffbfb531145575a35bad8fbd2da016500b889d5b40b48076e6345cf3685a677a5ee638f7392fab27d8512127ce97a566cff1ad6705b3e758871b7e98cf318e46314af26ed63a2beb31aa49616aef8d6382fb9cacbab7dbd11ef5a96ffad4a73ef5a94f9795ae49a7d3e9743a9dea259ff996cf7ce6339ff9cc673e61563a8bc7e3f57ce963bd1fcfb6f27e1ed7ac6eb2326cb338f626b98873459b86336ed25919df25a92b73311ad6992f3b58f7a2b187371b5f788a570c7a5c73dad6b92e2398eaa71958c354ff66e087a9eecd401ba6ba9e81374c753b03739852e1b3d1e007e1ed48075c0e29c9c29e8b1d2bf5a070103c84dae02c4d41bd708dda206ddacdb1b8aeb0eba6c7c999979e85b56821eedcd8d775d397ef619bf92e78aaf7b8f0140753dde8841e7c867f1ee7395964d3bc1d96ddd763d23c2ddee3dc9e691c30330a29e96519767404c698b9e73defad2c65dcda95a1fae5e181cdd8edb25012c9a6599df93a2b2354f5fd44b7a37f2428e20be78a36cd9ea1bd95b9a49266cf19f816f6a291bb747c544b699d95fd4eeb50f8b4b27d5b22836b9eee77bffb5de9e9ac2cf6b0eae96868d0a8a9919494c4545323ee783ca6bb5ecef6657f3cece3ffed97fdf121f1697d24b3c99cd6c562e28e776d6c9eea5a676db63faaf5b13e5a87e2db6ce7df68883b5ece54896cf3bac7f23bdd8b5cf8ee5fe5614dafab3c8ede3dceeb1e47c97529af7779e6b2f76111b451fd77ba8a6ed2579e2a41bdf04f8c9ae5d650f5da54a4dabd5ef9faf3305cf394b6929571267d1f30c3f63e0b944d3935754ae6735d45377d4ecaa4518c72e673ec63fe27c30fe6f3ecc47c8e835ef6331a6509161bbbcc3f3053f1e79f25bfc8d9db10772edf9dce401c1c6d7d30d7b2f7bcef4698ea950985aa5398907c8e1772d54b577998fe5da893c8552b7c25e5e4883b37e74ff722154ff58ab3301547751f3e43f1cae46528fe9eaef230efa575486c1aae699d95d57eb04d46bd6dcf0794852c82b64ed822b2018083feb069d5a7fae00877c7351cf44bbe1cbf17b6fdb0699449a7abbc6c7ce19f0f894da359380bf66bfe5227003449042500501d9d1b3842dcabee45289e512f8c6b4936adb4b21ba3616139427c7acdb87879a89f7d3d46693c5a8cf9324ba1543a1340e7944ba7b316a20e98995fbb9c81aef00351c767e6d7fd4c308414aa931676758ce28e062a46f5fb2108208000020880114ea28e2c07e79331c28c07d319bffa08d7f2115ab84618e1ebd3f0e6ab85af0020402a431b95cce7607dc2aeaa8fa8e227aec20a9e89391d39e564ccce71096530a9174e39484dd0da7bbf2f083585d89f9611a8342d5aca61c8684600002008e3160000180c0a85c462a128cd812c10e60314000d55844e64543213c72381401c0ca2308c83280862100641100482280621e7a4725a00ba21e1f803fc9bc3523f090048070062a1e65efe35b3158309d379a0a7ee908fe4b13c59feec080cc2b1c568bb3c365d10e7f1c711dd7bc8538f6013d182070e43264a3a8aa13866e9b361a31c312d2e0c2580c2ef26000beb1d2ed5b30e0ffdde24a3e05c0c0862db3f4105523ec643af643867510408273fb3c1d45d57dd4dc77fcb41990417aaff294cd0c1407d95f4c55a34bd837578a4d9d1642d9335aa68612487089ae9bdae537c4562db0e4797b7e7e853d1791a52c000b3a4af056246811adfe4f69b468aaab9152f5f97878edfa33de4dbdf4c26b115881b69130bbfc3f34ce490ba006f8baaa3d80e438b256e1e080c440d420c1804fdad9ddc4c85eff2877df7cd26f6adc73b10eb78239d3dc3b46f6048ff079f85451451a17faa9d867d47c24b3819476aa4a9246128d88689fe48b14b0a3d7473afa2f095797939112d3e7171253a6763c31d0b3e3bc0f4c215a712a9474fe3a1cf0dc22778599e86fafc8474ad569d76784404445d43d159da92884275dece9a2526e55ae820e8eaf2308c627bad6cfaf517f75f5af1c07a7aab40ff3b5745b87e557074bd2a95e99aa518479e0127bdd5b29dac197d42054b69f706c2d1f74634d70af6fdefc23767269a7fac3544e4462678feb96903203952996a1d6a1a37ff8b33ec7cacbfb2ee0239b35f28b11916d0edc42eac2a01d9ee8389105ca08f8b103a5da156a142a8f5d90096f67a2bb2e9ba3c9be430768e00949468b22440dc46411944424835c9e21258a5bb2d34f94b9ca2585828e5c0e0acd6070939a92535c48579c747e27962653047b136ed0209b44d7293eb5d17f9217c8a94733f75bf809e97858c9608a6a407c1945b2214b285a8a09d763049bde9a46b3aee7fcdcfbc8890260a24123251ddc2f80b93aeda2dc092eb0f379eeac801dfbe7ed097f3ac183e223f84982c2a483115fc66ce4072f6dc0e03ec9a9ef8d2892ffcc03dbf6b5984869a9af9f7d70d49ec090d09b5f8e025de69f731d45aae6c4a167a2e1b74b328be256e0eedad31134892df6fbd6cd7fc8515775e14a0b390108a2280b368081f2a177283d34f1344d50f3fe7c8ae44cdece64a55b412a7f363cd1239736756e2a4a44232b8febe205e4cd4a3cebee4140e0d0816fee0c12e307a760a6e45f83d987a6eb740f41f7eb0046314f48069a11abd186c50d9580d1618c148c40f46d71440d8c0f071057c4568b20a958268d11e488e85eb57c617d5ab173446b9c828569804dc46c6a894a18a774951fc2d98c16e5e570b9df427fbc4f17c581fcee5e7e11b623fd9e78a9234e36100eca3f54419880a5fe5d21aa7ffbc7a6240b28d741cb186c624b672fd4867e625dc9ff92ae54dfd933eab33066d0af64d16b9e578815ffd718430bac779a272d26a780ba1b8a9b8940360bccb1750fc454c4e4028e463afcf5f00821aafccceaa94e78323cd65721817e6f9200eb2d7c58d4130ce76fb3b15667d8ac2b3412ddea8894252fd3927932b5bfa1eb43c6b7dfb9d5bab4c4129f8308be44372e2c7c194b4242a722ac8174a19424eeaa8cf7fc1f2ddd210d2c91d5a2c26312e77b05007c62b06212e694c713d0a1d0160c3cfae71d407451666cbd7af77ff2345cacf9875a6233e68b321ff86533e1808c7e023b3151ebd690bb96d6a7ab10f15fdcb19ea5714c5dcb921f534dc0a43083206bba89c6b707a97f394154f83cbb728191fb9467654ac79f4d336f788ddfe1388d16b1ec8cc50f33460d5b409b1c55dc6ef11640492f812c8e599c143501b8ba857fec6ecf6bbb1c34dad63088c8a5c69d0123062dd0dc98a91888ef20a3cf356dd6069d62db1f15eb90f82849628758d5ecd18ebf8c9b0412212b3cec356d20824da97351b08093ceccce41ae6c2d3104513a455935f6194f7355986bb75db6a4dc6884a1478749983b235f64014790dacd0abcfb945718b9a3e0d3cff1a733983d59f22d5690be69ad3aaf058b54cd8c65553cd12f3c01addf5e233273b5bb921e0e537280609ec7627bee3e8a8327faee0312b40a5199f337f9df29adca53961b0884d0ebff091ebfe36e09d93c05e1c1f1ea4890c77a8db6ef557481144b3e12156a8442b6032eab428573858f78bcae8f3dbaddaace05172254f25cea9f080848019de5b9c38b4d3ce3d5c0077406aa727594c7f25c03a24e1682d690f4048d7e4c1b3cdf5059295c41d4e3712270f9b1771cf4e2230275f8937bc774a3ef40793fc057830e116b78bc5879a5e47325896294e0b6ec81f3c523c893aa10f5950573643a5597b8fd8a8739dfa9be97d63ac0065675f770cceea0d901d63bfd08222faf473e92eb909577b38bd00fb3a703a8e464022226c91bb2863b5d4d070b6ecbe20ba746dd82578212eb48a79781a3af12518680f819d0d85807004f83bc4a16a2d7c84febe8f0dbbed2a24d53f02f18780675566855428217943ac54c0383119046613449f9e6813bb709445d8caa2f395fc32c708e57b424c41b923a4b1984c1dbe39c5bb055c2149ad7fefe93e2669777b9fcd5d4a8b96c5460ed4ccba51d91ead5c0fd866c8ebbff72e3f939c48540b856e922221ace065f99b1a7da988947d4fd37ab2f206d42b87695b2bf96ba95fba53d914070cb20b8d58c26026e8a1e4cfc870fb54034b03808316f431cef281e172f908fbaff8d0df2ffc54244c8b48ee19c1491fef87d64c1601a28315a711c409e96edbe08262cb8b86ac7b8a39de8f4ad00240c3b66485e16e25ace28bc4a1b85741d3908f08bca89f08f1fb78692ea02cb8817bf33054d9ddb39146d8d75085e9911031fca0cb04bcb38925c763e8cd68d997632616fef73d056d5cee6528f982d892602b4482d3985fc3cf2dbe53d79aa903e7eb6b9c9e0133ae4480f9789fc9e2e6f85cb7f212f8c6915d12caba5603634a88bb9646960aab3b08b234999985400d58a410528a1454a14964977869ad6edd2bfab302ee7b00d03ed2e2145748d0e311441fe20579989212cea20b3dda68eab1e6d80af4719eb877cf6197f59d70dc6b33097a53053ecfc3783c686ed8d4ada980436e26644d543f03e8f24166a89faf37a47d10f6bd2340ba67a1528c68224419743b1423aeeb57b0fa3ec6f6f39bc3fdca10cbf4123c91d08d5351843c8e03b8049fd4eddb65b7a6d96e609d8f749a8193668a8b69b24179d66f9033a23f9210becb45be3f688998bc31681513ac6cae67cf6273b7c6b4e6d9703aa06b96308fb15ba2b6448ab9e7d2b489e821b7d5bb730702ddd31059fb22549efb68fb2d63b34fd955270b7373e1c0ff6aea9dc2690b88bdd6e441b361a1fe6a036a2c84ee0cb68538946a10c7fd4688e650af3a22499106a4e3cb6c64fa82557eebd949b2bef9e592e6d6567f91516dfbbc6be46637a4a6f1cde3a04d738d5dfa23844b6d932b8ea2e47349d512aa0c1b6d5e3308bf096d9de266b0cad394e114e0a22681408b7d27b55cd68ca59e6d17e5644480cb1d50c02b55b5ebcefab3fd32886bf82379b1e5ae398aeb94888537454f464f2152361ad420772e05b715c159b30d6fbb4a7df89bb5d426bafa13c94eeaad2f026055aa94cf445ca88dded92762387f49b2e3fc2f02cefe70a6d6189b1b75a19a59f791c5f9f16fa4a68c9aaa7beb6c23f0a9deb6f6d7904cac1965eaf03406e815c79635a798429a0d37e25ac159b2dd21a65066c28d5c5770970c77882994d970638748835a1fd2b4bc9179016e9b8eaf82fcc34be2085fed679abb587832a2f597765d51d6335dae414559e1d9cf064d351644252d425e253f9b931408a5ab1b7f630984e25fd5e6d7c3ee2cc909c79c588e7b2e151e0cd33ce8100ae3bc7a3cfe595a424ab2a949bc4e2b9e69131c3af0585d8b262f8e0596d16ea18d1cb381d30a74408062263666372fd9878f59682b5623196934822b01e6b7d8d8ec47193b918716b564529906bd3d65d2fac06866bf081df330d26770685ada7781410b022e99211a2b54b96ac436a60b4dbda20a9b465d314f9cdace72914db048c8cb106d616046116213a969c0c5bed3c4caeaa64c4a76dacf4f0f810adb02463efdd0a1ee2c187e89bc4ee7ae426ae35987850d2dbf9204805bc0f0b7bf8ff786d97c42f126605e1a6978a4cdb02d49c5230caa73ffd543af58790c277fcde1d7d9c98093f70ae6a70d994ea7239123db7b620b5801e225d705583845274b63304800c25faa4f41a8fc166df80aeb6991330797df26c77e2caf1dd9939d705f0b0a81bdcf926808da79190aa79b0dd2c433e749bf63847479d582d5280cd769a564072f563c079dccad84402802b6b053bb90598ef0e0f361cf33d75924c805b9c8c0e20ea1a49584fc1d2606b083ed7fc20582e69ccc5922c74eb876c8eff4fa100c353ac35e87084c11132a116b4640ac1c9dc927508573dfea1d8230b00cc4b8daed8801204425f3883260c403b82c951832583fecdc37edf01152f3e95fc4602ea446667508f463fca651eedeae35e60600a84bb22fdb40fdf3ecb08fa38d4cc2ce28c80672c4142b4ae19926f4d1433ce6cd1e6366fce38e660112c9cf7b936f058005c470605f049a97a856d1c90117c00afe217a625c7509a0b5ab1dbb41ee5e472f3282870d389b0b28bd2ed031624019c09610b2d50e5bb504163b0a1d2ff5d860ca903a169289e1a94ed8caa81b1789a78c56b94bdd9702aa0e0c835e8dc873d8a5f1da6985e7dc2902569e6bdbd9c2aa84285eebe3b991583e6607c3dff17c44ee838ca870e59094ffe17133137e1780100895585015645bb98af10f19aa2aee42bbb9053460b1d623903d58b1f460448e71eafae4c1644cb9cf295707c610810c5d2cda85b9595fe2b5c38a212e19c194d70d2aaa843b7a63e9e4b9afdb41859e74800aff411165b623cf0a4d05d96487295549120138762059e634ce5438deff35e501bb5de98d3445bcc5d02e53d533de9db13f45f0c9b38555df1f22a41f4de593fb5441c65184201fecb6ea233579f5ab932e5481e38e5c479c0ffe916101281695b19ac56f05e6072f734f1392d62ad50b2a88ef1bfd661a6c26df6eac9e8720cdee4a1db94ea042351cf87e731637b4a18ab4aa0538a86cf8b3d89e22c475f94141482c633115ca24122490b2fce1ca281093fe99d8007cd9973de1f92b4d93faa94e54d1d62bd2e94761486cafe98bcdd3294b55e3d01f10ee5bfd9314b7ff90df7d514ae53daacf0c89dfa125fc3339fc97f51dc85185457902df87127d85ba01276815c9a2bce96b8fa11b398f0e0becb35f5f69ce21d3c67d7a058400b9983e9a06befbc2b0bd43378927eef7612f50bed7aa064c2b9400961c3ef7de0d8baa3a181255bb9a879d49f5c940ba2a8e0d1b51bb9201e649255ec89feb0cdaedaaf1f37e9b8b2469f485eb246168171b83b67f4b7551681db648061acbc49653c950a036ecd26ba09d2451e4b8a85df236857f1f9863ef8dc8ca614d3fad03d366f20ead081d375817b7bc981f9d491b82675b2f6b3566d627e49e0e5cbca3c1fd2ff36e63ea206df599e02c92fff50139a0af05ddf83667f99492005a881810cd5f51d8fa70c6f6b8cc8bd72aeb7f874f198adfc707526e083bac276610c6d965b6255c67c3cd9f89e5f920ec12a973af73848844d45349b388f25803027f369f6970a3a25ba4921c2f170c3ef925be6d10ffcfde2319475310eb46b2ea5c90e4632b20369272c9438d7a8af43ba3afe786551b6966f11e60a40126fd3bc2bef754ea64be9100f6fe87aa12a5d4c1c75020b094a6b616d622bda08c4e1bc7054c2e7365d6a18a79be126b368e0df4077f673fc8e6ca8ce52734728a85c5a405a4b501f90d8c16954f83825ed3b2683948628b9d780aeaf877050d852d605097a7d89656c8ae84dd5e252b9715b6261b6f5c6f0625926ad4a07ee89d4e369a86b710521c84dc7d37c5b356b03b35f6afc86963f52b5d195ea20894fb41fce028901febe77815225b5a6960ce0d560b14bc03289a3e85cfa1f3b7b2ea8ab4086d8128eaf758cd4a8705f74517bf1e2a56c41ee71d363acc798e0fdbc3ee86f550e8e0cd4207a1c1e85068fd4616c86c9e948422485a3358e91d2dbbbd9cf8110e080fd7af387be5b79752b1042aa640caef50df598c3491002d7370742c4cc710e388692ca669ab24617a476420be086d5b1efc34f297171172d0a44436dd1ece8b1a5b1fe7d757b97e5fc3d23313eecac99fcefb0a8b07373594d67d597acc8d653b312180bbf3f0ef60ef81fbda3ad6c88ec19b58156163659d79eb58bcd2555090577c067d1f62ad2d8a5a31adde7de293282d1a50b98abd9ba9d549edc1d9ba0ca6ac0714bca95ddaa7e4bda5da37db728854108419b6f984099476475bd6a6186fb3654c4ee1969b1632c1ba0c0aab49919af6cb768f2b131f5f90a7fc208dfa77990c787c43cfe7e36a3ffe8e566eca5e2668e34f7a7194d25ab08798a3cb91f7f2517f4bc285ae39b38c6ceb42642c72fba9a34500ac3845ce36021c9047f6bcbb2ba58303468b11b144b863f466a9d941820f46c15e0a3743cd26a0d63fcec7a6451a7894008e552515b1b0576136f88cc39a7efc9e2cb939a0a150f79933e5cd7ebb90171d13d9d8a051dcf73ac84f76d9c1673ef360e13f56d406ba98b21f0c663670885492e77722269fca1d19f698b6d43ffa6059926acac4a623cc9a2974528bb12e5677d6764441183adb0cb9b9129d6d224558ae63e8efb76bccd25339535c47b4ec26d030c7d4a3b5a14f0acd1f4194b43ded43f907078bd03c01106dc44736f403f01e53eac157c7177294642b64b9d3193f0565edf02e8603c7e686286ffabb1f62e292afe35d81f4f9aa5dff98d745813bfa09aa9407e6b75334083d42f5f351996aa34ea962e8ce8e191a09a0c915a7e827ea5960877bc7d39a17861d2663f9f6e74ae2bab107ea3c501fe18925a2f2722ee8bda1f8add1cfa54b14cc64c66c1a8b0870b08f1411dfd64df4bcf7865d295aabaa63f857972607ef79785fc0bf8301569e1d403d62db6ebd0f39c8f23a44b72b0dc3ff934812933a8380dd7f6d8f268d86dfa39203c14b801fa01f9933e00302cc4aa122ec65e2a42cc227007198b26fa83e4a7206db7a26a561cadabd85e5d79cc80a23b423f2057ba55236ab48d73403fd86d5396a20c72ed198936e7a7d382f63272803ad9a852a0dad716ad5d0397f4983c1eaa9d91c5700b5a14fde31a193cde5ac09fb72dd9a4674a31ce6f29b01598f342269ea0ba6f0256d279d389076f1e0e6d5f5373474ad7a465019989aa49c736756374a9cad26685718e2f87d89475fbc87cf74afa1e128f51e9c4a70d92194479df8b61b0951e722b4e245fe4f1c327ebf2661f3fe60e348f6a6a9079104762d8e3b2b10593b4f762b73627be4e46c9eb4f235dcc55ac24e02a4967c4568801757d1b783f85122d64e48381a7d38e75f070ae91a9ec124037e5645e97a91fa64c68d18a3f75f46a08dfda162a4e54933387f70f80bdd1c81e249d66c6941ae6340e63cfc11fefde1283ec0014b5a8184dbfbc77371bbe9c6da41039cbc5ff447e79cba28a8a9e08740f6c88419748ae1a40704d72fb8ff12ba3828254141887feb47b8b98280a2b9a8ac0ca4861249b092fe309603e1547b44a69034966a4699819983c471250e6b6f612cb2f0be867ff1a5be8d6046a06b0bea74e7a7cd6aceb1cf100e66fb55e47a3e790f7698ee15bda06e510113ec6eb2aca6a4fa49196c7efb02b06162ce5558c965f8de7e02e1cd88bb3e12d9c69f0e33d2329cc212ff6e4095a3201b1b2cd98408bde561811509f4761634b26d80650e792c658486483e7ebaea3bc05c6acf7ae485a6a6c48c24fa344124c9645abe7dfd554c6d210e800d6a775533891b4fcd2a07b78d19c7d6c900993d935fa7a8a81b620293ea78d81c6b67bb3b553a8e80de62c58dc22327bf695ca70a267788530c95921859a1eb9dbb116644bbe9112e8372bf19695f4e3bce4a8c93f2f3c012590f5c8f0b873b0d6192bcf23069d9d977d5331f8240accb32ccaf9fa98e87e81e433bb818c724db54441631f6b1c22c84d72d7b6623cc1ad0e4c6497a4f10a1c60c79cf83cb460ab166bc0adeaef9b5aef44c9a6e49ec16d517e3e660673f15ce06c05342dc1640c396a3ba4e06d258426015a0c39ea37a276f207c232e28a4d3170f5a6e4ab01f9f6838e5e685e2e5e7d08a7c2425bb3e502405b88c40303be8e4077412065de19d758c7d6da7bc3804507f32c0d68e7442c73d25e46e2c60392eb270da64ca9b085fd107a2903584418315682a7495359e08dfadd430daa1e1606d2568690ac77889bc598524183908b5c3251d9c18a45270b517e345094915922e3ffb9a50064bc46d7fd8ab1a234228dae9e0779b8fbd4a98e1f2aa31bcf01690d97fbdda0cf1b21a4aedbcf5ca6f104dc63951501ab59171079afd4e5613959795475b6ce2380cd3b548225ac233517e55a6b57d497395fa0152b8b30fd913ae9298f11014e88f4ae86135c023b3a6b9df13c85e404739f418f58950e264e080cb4e09f64489d0c0ba4258ba2cbd9744489b0f21201db04147db9bf8d13a484506d16444a8b35965139ae485f0710cf26cbfc10ead006bec13801e7700ee1bb7ee7e8fea1fcb4c939a04600cf4856fac86208f489f047c0bf6a0214f682afed5743b1304745c1b4def0c4635034daacdb7bf5b58d365b4d908458f17a1de3353cfc267a0465f3c0673880b46302933114f1d4588e3e4f59104ceeda1424ef48a0f0b80179a78609f23ffbbbe3d441772a538cd5d6f3e10064bc4b0d4265cc6e35c130e03780d0e5d9a37e86f36863a0b30a71a8be31565a92998e62c510a8c539f4beb243277f0ea82e4860263c385225d0b15a75ba77103a798e3a3edf30e10804265b432adaf16572051a0e90d0aa012ee411178bee79abbfa027aa7ede3e9ea8c3cd5a2303800abe7a6cdec659d8d7b9a02218e306610603e56741e150ff5d98e114f2d9e756f5a4057ff9f8bdf93d893b69303379b2a9bd154959087a958627d6a7a431b0c06d98ad8d9a77f302125b1e1e46017a23bff20e7ece48b287574020d9ec70f76a86bff81b7a804bad0d4b22f451cee80469c266b54fff59911df70a1133557f2629312a80c32309019aa19f9d6d3e11c85e7247f6dc8a2b91db2b8ac233fd54fc4cc6277f84b0e7882ca257c6a67c13e401068ce37b65c0256af9c2fdb459325c401760cc95ef57e438757f421f3000a3e154d1138725d61e034926b9c12cc20a697275cda98b8e623d222e668a70c34df50494328d0e031af444e2d6371e3b5f3c01a3676a9a8d3f641cc4c2cc1337601c220b39eaa5c9f35b2f6e11b05fbc604c965eca4441498aa971bb3adae35b319932d3243a361539a4e0c18d092d3b2e5902939ab0a33e5f05e20c7f6b8381cb68831a53dc389fa372657b810ecd9f6c5d5bbf4a303f38215bf66a45965e81f47d902722ec879a3f0d64d00890886e803a6b2a0bc587f127965a3e95858436cb1581210fc5b163790c5125566ee354baa9643ae1088ee56b0032100ba9ef91ed4f8784379db451c44817c71370204c1eb46de55b188f214b7cbe5149284065ad0203d2a3509c332c8206271b63956d0e4e6ef9ee23e3c830472228c57dca574d17e6e42593232491f46e8b1330fe51096cdd24e7a6da6724990a6b61d9af10f488042c15931fb710106815247c4de9ab6341623f74b941705e4ab2391f65163326be6f1f67e53c9cda4a43a85b0c4584da67a343a3313a0c0b4f550b4ac83a3b8ec1889767eb3ca214b67cf4138c3eb51f8005114355e7d3237e4638db44cfa47ace62eb9d9dbf4c736bf54d4dd43a561bcaa9af5940c9a137e9b77953d2bd99b7601647bcdef49e385a28f3f6f0aad747c143ce09ebde5030a680f03334324e599958ec53a390c7c85da5224aa5023df2d0d7b6883215e008542163ba94039f47c65cb30e30e1057bd791f99b22f5c61dfb4628bec704a5b06f3488159b4eaee57e2f33dfbbeda3d0b5b5589510333d4090fe16f228a1837f8031f0b2ff73b26612a45f58470224f23c6d38f66eb28d263b9247439dcf15fd31bdb81d6f10335be7fc756e698fe1f01b40609963a4ac2e27acb2517b31aa5f160499b6cbd8a43c4007aad0704e5c9a813c8ab36c9c9fb539688cd82655f5bb4a95662b272b66d17d637a230a79e2d89dbe21fc2f2b95e3d0235ba937126d4b79815643c346949302d6e568a0aa52f72b2f5ca9a7f6fa67a385d9e07d63ceb8258c227b148e761930e0271b6f5ef9ef1652c6ef1c184f1500f45c9a2e882cf281842f80187b94079b8c31a06eac683a2c0bec833ec91b2fadffbec421cb0f55d1146ff89b43c455025b29bdc9f76c29551994c786ef69652e440922ca5e0532ad72fc369b4fe8d2d09a4df47849f411346eacd91f6684bfabc534a46841c36f71e079301a673772286698d517747372aab6a59f94393e48a8c68152ed5250672f6485c4d229d1f0c4363be1547c7af2bf9360c9f8191d9541812115cc79cc2fb5b6570261d05a18f0742a6fe4aa8e3bf9d1e95df88ffe7c1f4be7187b57296dc22881508101be4901876ad4f2c41d47d1cdbebc60b8fedf0e47ef22826884f08efcf54f01768284000e106f49a805b77ce081d2d8428d3f485d71b2721905987272eb1d700ebef6fc31bfa7051df966b3435eb7a4ce8c20dce1df62393ed434fdd1310ba064ea1aa921b56e56f90c935cdb07d4a30f760848497a55261a4afc06039ce61e9f83be1005b3504c655689c27913e110efdfb435991f9cdb1dbba1737b8ddf20987943ae49fc229b473e490cff649907f048f64eb2a523e98de227afa1645991109853edc8f3cac5cfc49c897229aa218e78f9307e63558eb47f24852e47064c82726c1cebf8cf491a70c8fd8f523ea824886000f1980ffc83a409f9c3864d23136cea40b77196dab5c94e48cfd96add60452e821611911f6ebf831f1ceb2daf77862561a5fb0d6e44f01c9eea69a63859dc3062b1aa584a6ec981e727abc3ae50bdcb6aed6167cc9e3510a2322f7d716c9f72a5bb35e122fb53f279bb9b53c47bf1e7094ff958a7f19927881b8039c3b985d751a6884b70e58c0ad49db2f67ca5ab90de99878ddd4a9f645c6dc344f277c2b5da61f1c7f5e5c009f26bc09338e0d49f52f79d73aaa02cfdefb9164da829388557dc53cdedd1023368e9f658b66f004154d2c812ae3095bf9bf98c021f09d3ba2a6e8c8bef82ddbb34a06c905219fb811dc77e408afaf1c28430492b03de41895c3124234c019b8e7cdddb87f962b5fc82cc08bbcb6407ea3e9b03dd100e708b97f186654230d8a30907731eb2eba9b8315818f905262167930387716ecb4fbf0e84fbcf8ecdd869c0793d0a8bdd4159d9ec24970b78fddf77d8e6360f11127d702aa4b73475e0062a61538f2fa12a71dd88610295451d35626f76780dac8f877412192f01b0f0c37a153999617894df185e9af020c4974072c24796501a43ec42dc9e667ec9260454561674bf46d40afb73b39a9fad2bdb5ccb4cbb19b9d3cc956bf8e9deafd8e03780c80582e0bbd589cbb1782a3c3fba01c932014abd372730c92639a9653f70ecbe87094dbfd1c8a5d76669682d9dc90d9711afb1893931faf9b85330460e798361c4e97b359093bf05f52709e1da29b1c1b0e18a80e4a7a8cb94f13cd007a30a4aa431e31e0b4118f68507638078d63d699260442bd63cd6a4b840b1d02c5a01726c2cdbaa7d4569ae0d1cf4f433264a7e60991dda8edc312514ff163db76c3d612845469bac66fcc4a8652c10ff4b8045b4b756341123345f27ba7a7b0ab59ff5637fc1bda49efdc07d5dbeae28b1a826579b031006842a8ee242effce5c851023ff7f91a3e224a786050a9647a66422c13b1dbd74ad9449ef4c402bda61be0831d76c48ca7c290cc2e8254451078ef269a60cd4f26d3a5104f41b9d844a863182d46e351527f084bcc31986c8c0a44429d4c0d020ed7a773f1cc175b26a02bf10315b9024018cc48a51291c523269294fc90a8c4309e7e390cf2a501045b373f28607c12cd581a64d53bff2bb9ab65215ac37a564e80522a303cee95a907302e95c683c2ab1d598f71c54fa201243fcc9bb8b0bbb136cad32b5195176a347a3fcae2d2eba7d4c802b6632520feb93c0fe2061428c098b75e82bb90339b19ae56d0e951901963b8f5404c37424a584c471eab0302d180acb94468de992cf042bc4fc39807b6c1768590b112f068a51c7b1b0a45baa5f03aa5f96ba75b394522eea0fe6d77cd0e9fefe2617e20e01713ff4824e7b5b4efcd85614d03d0bc6838615f37810271a06c4bc63a31a35f89807e185c2764e5200058388676df322da7fa401895d907f8b921ab9644c8c9a1ea4454229a8ba78c5fdec137b90bd3a64afbea0d62f1023233e6cc34ac9b776213d480ae1f1836533b02481a22c2a315a6c93e10a96ca6e6ba6d44ae9da5578a1eb7e0f57d8664f97edef7fbc016bdf1d4a3e38da8afbdb7428a51b02f0b88d806e3819ff605cdef0617cf7c3e51f6254596a6f251516f50c256f3ddeb617b4bcf775680357acf804b9eb50d55bee930f7e3cad26cd6793079e1f5f89de426186322f06dae097b3c373dfb46d3db92b7981f39b36976dbd63da56c864b485963ab1d91d4f94e403f5e20f191ccbfedd4ab3c16503aadeae05f90057f968af8670bfc81552f661e050d02dbd07169d75e06f0bc966828f328d48679b09126d589e7174596c69f90022225b9a4e4eaab425fa855dfbd8dceb2989f968351adbe7f9561ed1a47f9ad21157f43c4b677980d8b8bf6a7d54ba7b005179547d1e2adc132b0b3b7d7e1914b12d3df359653153a985daa458539ddf254625b0355468b0856f36958ebb82a3c427d73cc45ac0de3957f60be95f93e86b88e1d7b68fefc17eb7e2a099ee2c40d7b6a5f3fade398b6f0e9b48380756394b13070ad720ad49932d58b37c5e15c76dcfbb40b7589092c869d6079a21b786f133eff1b5186d30562ec2123e7e314e15bdd622c9f610b82c77cf967d44621c78665dc6be144cabb47ef27b4a49385da29be7c37dbb2bdfa535ee325d1a297c01e54d1f64142bfd03e252454cd7e00e357ea7610eaeca924e53535a53929cc4e5276a48a7494173027aafeee8b8dae253abff286bd8b9f0502bc8b10b10406da000a2b7aff45dd2895bdb6fd2da43c1acb9eb57f0e67ce34274df315410501ab451a73b56f32067279100feeadea996c788e5dd927d897e54418df7d33a4411d9edd2e47f0caeec734e671d80c7b8af8e783a4d38b82f6560ad74402dd2c9d092590e22efbd8af2874532efa1ab92edabbf2f920970cf9e0478110f7a9c866e2fd2f120970b15cdb79f5fe123b5f901f3d7acf37ac7dd2c97880670dfc7043973a76a2964ebc90e3d9be07ab10b44e414954715b13d99355f621878bd51116a2177bef6acce8c6ccfa50c509201656d437ff5ad3dd803d7c4fb1898af1754669484924054748147437c64bed69af8d0ef43640580e68b57c69cc9358486ba386bae3a3b2ac0587d7c80b2e907cda3d4b2e5807bae68db31fde9b8f95a4e6e08ae634f1539b3f1c0a27c2139631feb6d79ceccfa0e363aa1dee7a8afdb0f958d01c810fab6929e70cf6db7ce40360c7d434f22cfe420ac064d13e439a514c7ec3da1bb07296ff14d8f88392491227aac84085f3c95c5e98e253d33ee744c7b5ba220e43e9ebe64a67e52f5813f8d98b11de9a54ef50e0085e2e1656af819d4263e1b04eba719bd9c75061b68329344e72533a147723db581d579c02660cd7c515d02bedb689902faca486fd303805ef60735b23f4e0af30fea1f79f7fbf3ebd73f0587be7f683d4361faeb2203d3b408aeeb4c2feb3e278a9e0d52c66a6b173de007e201af0198bffbb9fffbc5397084358c901b1b2ed188b192597715d48e69149a9ab573e2f37bf60ff47eef8da844eac073c5718f389745aad8f759ad93c7e34df0155cf42287da862cb4829f6cbba9de82c0bb9298de606752cd32a9f224976424306d61bc6625381ebaddcc11015b3364d9285279e05d204414fb8f0481f916b34990a56ddfe9bb4413b76ebff0ad0f470bd9d59da3f4a06692f8e029e177539cda29d1da9b4edcc611478c531a9147b4cbdc1c14f62b25b2b84462e17e9cfdb2f7fdf7d3e04b5304989564dcae97cb9f60e5b841c72701e6ea7f37779bbc0d2965d22527f1f971e9fae88a9316b9be740d70ba6b4225172794be483e51eebea1d4d743dff7ca01b8733fc96963ae68c5ee23c3e8f03f808508885cf1a0da5c329a585ae46e1a929df4028e0c2b68ee76897456b5c3463fd0e7ffb4334389889999f18a379718ab880635582c3cf3f8e85e6c8789a5eb1ff26ff7c518efab739b063326df1f15891de3a619a2b8c98c73b0a6598f550442066f3850df4e062869b0ed4813f4a38af65c00c5acc0b76368a38ad767e6e186336effac6f99e748233a401742f1241fa9825e4f862ef59ed6a38daead0c2ff410ea43b0fe3dff41db40ee761aa58826dd2e8ffb88eb3fed1644272efe754d028f28844cb7cb4ec89b84d6fd672c1c273d295d1e5f1bef3fec98ee9808e669f4e992260f080c989fb1d5491250f000439c36f3a1c2cbf5b413f782aaae4f083c5a4d522ad9890538097c18f06e4254ac231158d7c6eca85d176d4633c5007fb68c8f8d6377b76e26997e771a1610d1fc7fe58878cc6f890796f6114a93605d783452710fbb4e1ccf91244718d21a58da5c803ce5834076c3d634c2b0b4f74fe3838b84c234be0a6ec488d7a922cb65495622ae6826303f266ffbe7b21ff3225ad895ae030f7e513b4a6bc62c99594c67378491231d207ae9c80a05b5eb0b1c1b9f57cc321e25ad82ff589b762f0a8b02d2fc8af891014c70151aadb02ae4c05973348eb2a33c5a9ae7e03f7add96ddb8f3c7ac2601829264f025bbce3f4731991db3a63168d2103e8e8edd8746bd26861b268e5c9b8d8d80f5e42e5147966c17a17d48700027138e4b0ceee8a003a1cd9ac9c092fa8fc97474ee58f2ec631dd64c279ee85548f8af085db1e2d9d37949c76b5ed5065cd1d0f9d83e8d5b2c4c22552d790d60998503ec44a9a131041ea14a30e7cc92e33fb3a29ac81c2c9d8f0f1d00e6bc14d8799932caeb8d05ebf8da55aeadc899633ad6cf454d8936510c1328bb970254ea1b521dfa051c264ac6fd68c490af11f5800ea884be1aef3c680a4bfdfc3cd3df533d41152f11ada8239a1539065b5bd97c8f7974dfb0fb1af2bbc758181002731f5852dc630eb5828392481f120d7ca8e87ba2fad1efdfbdbf0436a3589012b9d41f9fc665a01dd7a37331d4b6a04efdb9d74f80023e3d72c4d0988f803dd12065ccc549c641edcb523f533ecf1c35901e416c5f4b5a61559f5102c065057d15a7d02c769bb8da17f8fe8c086f4be1a864efea6f28a24563ae28f557ff993259dafcb2cc01f030b40a5c9c26b5b42eadcbd34df2a83a91a3c5d1b2fe9e9d0b11d57e607cc1708239167560cac5b10d869c83b1a27797268814e8826f3055fcd51d6774825cdf030bf426a4bfa175e75dff7d7b213a5b14765702bcec4ac5255c9b1527763abe3007516a67635f7f74e83042938e97bced01ce2353601cc89397db782229b5fe24abac85d23e59296b3f4bd5acd2fe54def604fb3c17872ef45a42d9edad091ed42dd1d4baf0cf0070380257c7e0de073aee0196331ad6d8ee9b74080d1aef266f1cabc9b9adcc27dfcab4d65b9888b12d6ab3416bb8f02f6027799ea5621c15f508b06e508ad29d7d8656aabc7ae2193aabe24966f3b33f2080242470160ced4be464a266b3e79a658c278ab096e1683f7eb4202ebe96a8d2d9717b04a65c6252ab8ea2f6414d961df3e064af0b3ae4571f2517bc9fd7f37e036b35f0bd22031a53b564b8e2030ea31000e74722495f89eac5abb5100c35c5768720cce867a119a6f10e22fab04f0227847da10f74cca0edaa155f6ae16fb308eb9165560b6b03f4adac959b24b002621f7c27e4cb474262283864cb0f9b9119a787c516bbbfa9572f6b66e1f4e03541f671183c522baf2f3820c844b53a92ec1bd2efef2b88936b23bddca08a094a713aabd05e4b7715ba14e12b61191c51f82d8b4f470a072fdbfadc3538adf813826b49093911961e51f635d3f83ef4010efb597b18b529b98afaa606bedfbf2929077036397226fa0cc1bb79ac9b924c9b323f3765ef3a6e453deca89d4a2e36618b8e3d27d7350f61ec612efa7f486a9d638ae4434c0ff0e7840e48a3cade99f9aacc3f339dedb07a0c84bbe2bbeaa58d5d88d3da2e4dab5498980e16e75e956c675b15b8016f10433de76db270eb0f7fa1eabbc89751caa980891bc0f31bb2ccb192b4195502f58df1bf56bbefa2322784dafe0a66bf10121ea7c39a33640e7c1780af5fd9f73887b42b6f3e63f00e32bf82291a9a91732eb97f67487cc82248c9af48fccea1f27b8dd3a20828347e659f85d2e0579ebcf3a4e7a21e8f666d15f1d6d25ba627cb868d93cca5e311e12a9d2c99aa78eea436d298ca0cbe78702fc6639bb3927897856d0517925a284926cb4ee01ee386a76b837c17487a33cb18cc1e7b91ece13726ce055a9e1a7912e0a15fd84f54dc0a08c7edc28d05598314deb4382560c6a9abcfa2d154dee9e3c6c636bcb7cb471287174ac85efa9876182b684cdf0180ae49bf20b09436125c238ab8799d615fb051e7eb490d20f5dd7e8498b5252d1e79bc0762feb29e504ecc24ee954dc7dd068a364c4faf954fdcfc28785c4464451ec555ef128c8735f120288ce952b070f0bc673cb5aa21583b7803b2681e6493d9c1c41facd5d70ece5d82d9e23b40e8bbc996d9ba38b5ca7a955f0f6834dd2953b8181162cf41974039d3816736c60c78121e5843b09227c998e74fabf4adb1e04caf4daab8f5de3f53e5a8df498d4c3f8531bdb4e07a8d03f23945b20e7801b706b0cee807bf5c1484f35cbfaaaee0f1de279dba161612f1810120e2b52f07f549723e3f5b47df5ca428eb89de1124e0b4739d0ac649706baa1b8b17717a69157ab391b63e1f13c56a2d5e6d3037377ba47baf9bf7fa6c1f165d8cda95cd80e3f2773152ec199dc34184ce72d2bb0405e2c50f12430d03af993cd4582cb58c529c356aeaca1a08f1b9e45c73cee1b20cca813ebb7e9b9581fa05c441c8c76a09e62623235f3a6f6e5cc252d6f883e7903d2d517c7e2708f4a7f455101513503fbbbc9a6f992ee97656281627636f49b2f5992e22ff3440f3bf487b8338ba687ba6525957859cdf24d158d3d764b8b30ebb1b5883742059d99ba3707fa1c3826cfde3f9646877c32ed378722cdfeff3bc790fe7b2e1cf1946ca4c01ae643d95a4546a9b726a3bbbbe6bc8b0b3368ddaa7af040a69538b5220840a34acdfdb923071fba8eec818e38718f4c5157fd036d90f0d2a7eac05dfe096c87102d3c37418006c6c1d231eb3fff5df3d549a7a73af2961f152f443a468c7806e1091d4bbcf38564c9d1ceb64c784cc181eff3b495ba4896d5399cbc438c4f1f3f8c768fe6365e13f6d4bd620b8249afaa577eb07cae07f1f0f9f6ee414493e92b13602eae4680c6ed7d46e5e80611aa48518f0f7ff017ef476031494d2e14529cd37a5249b0bbdbe42b9315e3741cfe7762d3e68c90b27513bd39c28ffd2b5417ae9eb025d28eaf84a51e66a228d86354dcf0bb7dd9327bfd2c719a53d392b03f6f42746a344fd5135e96bc6c3d92052b73be9911d6458e81120fbabf40990073f81a7f1092e09ac1caf9cb26f1a2967b71161f0a3c01f1a85d4a951282d2ce9be3310f26f84ac2c96ac489871008ca03ec24094dcca2562a963242ec80d5f8e59b264eb39c51a81cbbe4e8d079c32bf25891db3d03219273c1bc297d28472984dafbba3d95844e0a21079a31e04688676da42b112d4ab65aae49b782f0dde385dcc149893d6f79408d95c7c07c91c0b2dbd29a0331eda0fd0f515a5d5fa4d5c527fa6f5cbda1b623554d74de9da94ed93b357ffa88bc7080bbf8f41af5b1f0fc49a03faa4228a5b3090326e0e1700e62dfbad89f3c5e69f33bd7fa74084f6dbae33a5e160927f6b928f65f2352e9784e958772784a1632780025000884af916fd0dbd36aca3e1982ffa8b6d31b8c5c4cf5e9d31b33fe86f2666bbbb57f6963225290317096c082c0838558eb91cb9ea14c78a5d679ae2f80e7690ab489320da8268ca60461801421053146d4164d5a0998e3d4d68029735372a0bde6913885058704ba4e9d184215cd620eeba93e5ef57c8135c8e44fe2e4210ff9d9bb6f9594f1810e308df2094fe9c43767a741d705975e068c1f4434803e778902217f02c8f05daa68a4376266064c8155c8e3edaa63cd279a53d0934e24afb9cecdf6a9b95266aa2084e93843f07992ecf72c50b2e5e42656041faef4c578f12d90b88785042054c6c41fa1799ae0c508164839537b0e07203e96f64ba321005156acc4c3025890ce4a4b9f2204ba581cb3135b6cd9c346d33f3cffc738a77823a228c6124370c786639e2279763aee4112f1b9a8f90e599e58825639e598e08caa3bb5229fc2e2878f63867cd7c992c6cee9f615d5241ce566c42c178dde92bc56c97facb7facb61971b1cee8f3603818f0038b884a5e152a546ef8b9e10783528282ea0cf585323159b2c48d2437925221c5418bd1ac81f92610ef4b5f5d8de9486d3b140af534464b0ca8d346368c12f3d5a759f8639eda94bef7e9f1455f18631c334918132aec692226c58d572c081a8620614ca810851916594a105ba3891312c60b47c818bfe095debee7c5842df2e571bc17001f4b9c052568688a53b142346b504e8383c06528b2628efd29bc9028d15fb3c70c36d553edc08e1da00ee723f4b9c059013c0e7d4e2fe43f0ee43efdc38db26b712ebee5b23c14f7cd1e1504100840001a1a1c365277b18091390b400d0178a0427f39cb6d9836d3a65d30c77eee6d4a34785e0804fe4ea1c39cc5c4f428188fc713776e62a91f36362ed7902044362e571be960826f5c6c2bcd8ac1602e18d147a80e9190a30468c9ec0164c50da8f33d7703f3a8b08ffa8791151afb38f7f9f057a7c03240544ae7180d8b727a98b0a7346bf669e91f7dd42b58f1f9f16956bfbee7be9b71e68606068bc5646d0a3be62c9f1f1c9ac589fef211e26a015a2a94070485aa3075e6670f7b8408dfe38f080075b85a6d9d3202a8d343ad8349023e6c828181095b8bd8462e94e823f4513aeb5166063602a8c3d56a513e46f8f067fae80a4760a2d9a31f151a4045240304d6e1047f3f61427f75bec499f4d89ee83f9fab72e2fd660dfd727272b66114d4d7d6d2ac36c2a115307ff6d0a1f586fae3bab1128bd5196c5c5386867e7cee46d20f1b283098ab8194c3862798393ecc48955020127aa41f64d6d0efd9f7386c32269c641bb9ab7e46a7f983be0d7b4c1e638b4bc164daa38c3961080afd43003b4013c65c45cc223d223b17ab52f8723460c78e995adb688cdab3d6d2b11f5e6dd4b15ab9b2854aeb03da05465c09fcbc300aeabb16375384a7473a6bae6a85221f046a04be6f7e50b91eb08578e1cd9952c342d99836548b39b69157fad4dddc04e2eea4faec901d8fb6b70a6356a1cae4dbe53a221d4cbe2122263d6e1845f5a7228e48e64b4af4b75e6771d9c31f6e916048add0d88c9d429a2943436e24b991f41212000a0ca606921a4830ab1004254040671cc554a055c822b9300aea6f1865d56d2bd18f5c48a5a22f97cd1efd9ee42ed473138867b36402715bc61cdbceba237514813a44a991fcc228a8b75b3a8acfcbaf5628d453ed06498fdd81f75ec28df4e8f7126aa425bdfabd8495f4b46f15ce53384954c6db87c31e1fa454a9a208265200114172e18c0541c310b90b3fa025490c8c322ad46256c4808996231f197a989081050d7280f484e8457af7c321038ecc80428325ca40e388e4422db6461327b90b91d0c0078d13645438a560c3ca8c0898176d48214fe108e49475f18ac10e3cec20c58bf4b6ef2574d2ebbe979092a7d0e754438bc4f13adef3be971a2ee90960150e005555610572d6921e99f408ab50ba4ae9b1fdc854c6ace181670d9601843b4e475c184750e7be18002c5e2cce162e30d2f4d83f5821099e56c854f4d9962347eaa272824b4b4424535a228b65d2fc2a7cd2026ee4efec417f7a35ab100005083fe0c123d44182e1048a04a04580028026f828c1905b7af4998f90bb19d3e6fb7e97c1b499367e658e3d818c316dc0707e49ab3045de300aea55a1867af95351ffe84fd597b388dee854dfa84f6a1b104e63eb06751342084080bc38947661127242000242e463429162cf9cd578366568e8f5520244bdbbf4d849b3865224192b300ea8b371dcc539915ed44dd9646eb4c21378bbfebee5f34da665a6c00870208f52eae32f4cded09760313a853f4f3e5dc1cad0d010de72d4e3169fbd9296ffe843433111864ae1cc26138943dfd25c907a5cc10aa629c0385e1947c0b70a4be40da39c1edc54df85332fa3fae92cea8d500249309451d5047039a0cef63aee409ebf94009926b90a37b20ba39cde2b9d442f6a96470405cf80662e1f21d086fabcf08f4cf540a0ce463512f423b03b95595364801476d76cd2897438c1f4491861ea80e908df2ab4e4163a971e913cc9dfe0c0cd9e18058b3e830b0d96d0ca57f4231d30f511fa5638028b70d3a3b33c05e47cabb09290bf55e83a1ff9adc226c1220edcec458ac05af612789860dd48724d97eba60a152a560d249b6963e392121464cf38fa317ffcb061b264490e912dc3c7f4e1a3c31407fa336b68ce000e300ec02b6dff1236b90a27e9442e63cd1ff47384dcfc417f0bef387bd05785ad181c3c322dc1ec31400044b06a6647003bc4cbca5e033c7000cf37dde53d60c78e198ec85d069ccbbcc887983851fe235ee40ad1e5ae9d980ba360f1f2ccec6836cc691286ec444002df9cc047818f9eb0df49ced9ac65ee9a4e67f44fe1bc2a06a070c22e934de907f8f568f1f03aae00def483f9f5949a2707dea4aa181319e7de0375643008ea944c18f522b302478c2ac7a474065b81cb5a3d0075ea07a00e9eb33152323240e097090287e20d00a8534ddfb763c70e007ce081cc6ac70e1d3954313b70c0a476ecd8f1b20375da7177ecd8b1e300388ae7c9003104502eeb1030fa844b3ee5d9c59337fac92c3f9199a078022597e393299ea504505421a4c8b8881eb24c113fb4d3c1a6444a2ee9bdc1fd94f0cee0b421f0059d35a224f3b42264aa104db0104bc03a633f38919f28c9255e7244e9894f2e31941cb20cb69262e364cab30b273870c245a6873166173d68f9d04061275a72597b3043e6c549512a8b14ac4b2eaf37050c114be088e188a04488200776a2c42542061db7e660e564285323647aa432f0e0835707347844c4c0ed44c4c0fe2c3c0b2b21f4ed5371662b9655bcf4fbfdfb5bf8facad4bb3bf531df7353610c42a68ff91ef23e4ec1e439932187dc31c71e03511e7397cf268bfe0b3e89b12ef6419eb3d717b9c5127b483a908f64772125ce1ecb16ec77988146ca2cf8db93097f09349f3e265cf5abbe8744fd0435a0f3f225d0dcc5bc4a4432c538c2e745c6bc47bf9870c513f3aa578948e80e3550f12263be870c6205a762cda2305fdea222f0fb99ec6a2267d1df32b9dcdb6a8de3bf4ad57dd4bd3c2ac8909d23918595101cdf8f43f4588ba517c1bc5be9913e112ff0cc0285158fc1c48e822881535ff651a673c65d94fbb97d2a7c096ff8e194aa47ff5228d35bbeb08ffccb46ea62ea7361794baca2f563c249962d345276f145109a709857994068a6efb020fa995ec9dd4dc927a04c59e20c21c21882f4574dd734634b113db061c6952a9c90ee0e835cfa4c7ce168d315252d7029cf2c4f88c14181c12d4c46e09a05f805c64f784d304a4a124f34f18a9e00face78c286309e90017371e20d2c05def2cce2c41a404ea0b1e495838b4127c6f8ba1623e9cbf27163007957dc30883a26f0f60223ee084f9b0d5d2788f86c183f5bcb891c70d4ef5e2c0615ad75316de3c57db45a3733a366cddbfade82a3bf7bb196cb002db80a16cc803090aa107d0c78415095d8e3efbe30c12a991be0b2eb6258660d5cbe8f3737e3a86ab1d2c003e7d329ced959e971cef93d7976b15943df149a7e64cf74cadedcb4b630f0a6e79d4bbbddcecd5bbb65ddd8e435f7d6fd9aaddeddddddddedb4bbbbbb5f72c872bff042bbd5b6cb751ee855b064ea4c5cbefee15386b50e26a74f0608fc42cd650ad5a9d8acf16fab6517cb937a07ebd1ab97a958f607fd555560fa6eddba089b35fd068002d6a1f04bca765c0aa6c2e0701c311d53c7dcea60df51e960ffe10e563b58db4c95d6c19c853b98bb26d905e56e9b0ff43aee2b75b00ed6c172c86a9b9850b1277be10b9e5b98b25c7bec92e6557f4f6eb1a419022fdcdddd2dee586d095c2948a49f3e4c3b9d6e4b61f668c882adef01fba75c69532aeed82ad65abdeb0abc4bbfad6a05784225c3f46f8f244cdffea723e5d610ccc0f4bdce39a7db2d60a8f6659ddad4e69c61aeefcd520d4bd4cc69ffb2cd9e2a0a6d8815ad69de3cd1eeb9d0a7869b9f4b7a22b73df75dc8fdcf0dd9bdd7dc57bdefba8f068861fa614944fb2de4fe6ecf85f7735cd3aafdaa892cd8bbbd076edd347055b7b7e0aa8a3bf7a6d5b2cd21e1cd993245dbe9e6695e054b5f756bad35d5cdd62df639b084cf9d0c8bdb75b04e56c2e71e69d8d2f7954c26508809635cc2a7bbfd5137eb8c3a9926abf6a93fb561eebc98ad034c578a8a9eea64ae52959dccbad6b369b2b2939d660a099cc1aba6597777afd56badd56b18b5562b88d45a2b8d726f50bf7a750fc2671e45eb86685b6dd3385b6be7eeee947aadb57edaf5aac56acdb9e26a6077bf9de77ddfd77d20f7731a793061f204f37c3b5d391e0c0b300de39ae9199fc9f1766f5aa72df5ec38a8630406ad85e5feaa59cd6a5baddbc7440688eae960327ab59d290f2cb005ca25ceb44df8ac62817b6981b2cf1260da630d5c3b18d75cf76dda7fa95226b7aa0d610c5c455cc2902d8c6bc25322d3af973ea63664fa3f33b67cf032fd1bfa39f483d0dfe129d24d4091fdabff6dd0ef957c466edae3b4639a96e71235a83e549ea83d4c04f59003244610823792207b7ec8b24492254d4ca1c408ed0a0ca350dae66a55f20f49c9158031671ac984948f8999e741304a3e135472e96bdb8cb9f4ad5befbd3ecb17044b774ed041f03d5007fc093efd8f823229f0ebf7fd8441fefebb5dd77554a4c85dd7ad0004b97b9aae35b7d4fbdb76b536b266925931572ceab544bc72f5d4a097dec7f71fbff20b7161a2324c201efda1842cf777b5d6fb6157f97f41061a2ca0820b501159bfe5ae86cd849e702125090e64b522d71a92c855236b124e524f62e6237361021ebaea53eb56594b40c9fd9a0d952486b0f571a391c4c340b5ce3b2b16410925b9ef02c448a968fd0a469625680040ae8f71d75755308ac8218364fd0918b140d76fa1fe910984e6ae62964d11028c296cb072aba0052fb00b0c4492a25cb64a4e92c45a48246182d301db3cb32449a27446921260329204c1759527b97fe6a681008ad91f72e8111b9ae23a6286658b1cc069a5093486626002129c80061a6ba30c21a488c0063c68610584a1e049eb045f6ca18595d5fc5509b4b369d6883c73deb6f19e4addc76bf262d58fad4db3a447411d284e9bd66002f1e92f4c9fcc3ab9e0ae093af7d16a7d8d4411b5ef1553a524480881441095537d29192ecf2c48f090cb992c030f9b668dcefc0944480f1c25c2a36f34d1ae788309bddc909c20f826cb901b19e79965e88c25c0763565cdef3a144a479e5feaf83c69fd2acec9f21e998690a9531f816bd3643259c349aaeacf9f768d2e6490408719bcc82b661091440c6cf022bdfe6ab85d016444193a889163c8a0850f3080916100dd208d1a486fdb2c0b27881dbaa04109941769c349d22855ecb159daed216bd843bed0d586ea56b35a51d004628209a49e80e2d8ab89252d126912caa3ff42f17b802630a5507e5edddde534a245742868d6b48ef6eaa00e6a241aad9e3bd3ac75650666a6d3a8c80420108169348da6d134e272c5c2d32d03f8e8d16ab55ab4725978b777f710d3084295914995a3ef60075478f369be99faa4d3c57d79cab4ccb1f5d3674dd7265ece8a253e95390090a758d299c1ee4967cd7cd7e13355fa2f820f4f61923ef4a70969076f9a664e9cbd1e05bb9f74c66bcfb5bce59bbdedf3b85045c3effa7d1af8ddd2d799beaf043260e6edf1e9ede9e46d1fc87d2513f8e1d3b6a1c02033d7ba85347b281457dade563c6bbe5a433a6b443a6b280bad8d0a6fc668e7aa64befefc0eb84b137744d994f5019aa03fa4c7ce6506727d192d685820501cfbf70b3e7c5188f2113b412201c8566c2594877f65b54129fd950668a6f487524a29a594529a44ff86e2ccb06ac14fff867e0efd201dabf29a405eb0cfbd77efa20735e0edb5cf699b9c9ebcb9df96c1944fa1a55b9ae51da5e009f4efaf84786fdf9e1e7f19e584c51884ecb760c5d50954133d1b5628b0f75060cfdb366aa2214e9930ddc2effbbcef7b9a3fef3d0aa443863c9f6ededb38c109c8255592ebaf4eb0cfbd1557dddb5fd99510ad7ced7bf2ccf5a9129411ae930d259660d1851158c0600c726681024bb6e180b430b381b970b6f614e65f94fdb168c9fe9e587e17befb073d4cb56476990b279dc2d929f47bb89066ed27e865ad9e42ff19937c1a8db356799344a53ead4f87280ef71eec806d82c041282ca7270817f5abd7630b5cf6e4ed699e6dd359a09865f0b950cb3a0c3084ed734f047cee7faa8e08b4818f80af3d8882d5426f842cf0fc620b24f0739a82dff6bbd066ef7e5db8a241b3a6fe962fac277b1002acfd07c1824bca855bd893bbd0b38e206c604bb7f408a3694c2054c84ec7dd1eb99ba47f135742369e9edc85353758427fc9549ea0fdf756b439ddad84ccf28867efb7ffde134bfb9dc8019ab5b7a00d3b919ac412fa4b62b625cd1aa0e06be111cfe06f21f5b1a0487f5eee32525f5ea7911eeb3f9991f179f8652e9c7903e99010ae488fda731c8882f69872e9d1e9518fde7dd7799df79df7fdccdedbaa0a6568508ff5ad684210b61d7e0971ab4e5c9dc002a552a447cfeb74767cb834668dff0d4bad8758defc9380e5239ded8be2ccec5db6fe18c9831f665272d9309814234504c1b06831821981c5889d551c72b96daaafa1e7a0cef634f4742898d2ee7257ec4d09934dac4b34712ac99ee3362c71077279c4b3d6cdc569a8db72744ba57befd7bffddced363dcc0bf1bc7ce94b2212219ed29b4424425d6a91a7f430229292f8f8bd7b5f1ee6f1e94fa7c7cf737a2c2211baa72bf29c3e25226939cbfe49dc41c55ab1297b115717465cdd97e739dd0bf3305dfac7eddbfbf6fbf5bd7dcac6c4a15aa87d8a4471d2a038e0dba75d6852c34e6f61de7e5371d7cb5bd3dbd2cb96e417646b1f0c5b09e541dfa35f95ab5dedd2d815a9959969951e636d573079d037cad452596ee2059e48a9b40f13c8cc28745f1f858a791c9ffa1c2fc4a37ad4a3509f7a1ed4a7eca35ea8cf212231425fceb2af9a9dbe9c48d8c688abee51df43e210579db84ae1f4a8e7393deae54fdf89308fbf87d4defb9ca62f0af4b2a43e81efe927a8b3dae1b12924c1a7c70ff3a917e241fdcbbf8848845629bc3cccf3bc3c8c8844a87b24f65f86785e3e2522a140ceb2ff22d22167d94751d80ca8f4258565fb1278e1494ed2f4251d5aa570fad2ab80df7412e991b3ec6391ce6aec9b420aa341ab4d2cd263d5c2d310d7a6353cfb4fc5d50668f6b870e6b20193842106d49fbe8c82125f27310621165ae87e7ba1fa2d746206b6afe2ea84eeeb7762850277ff7d152b14987bafeb4c3d6bbfc7711c27ae4ec8dc047ab2cd5ecb021683cfbdfd074c1c1aca2347b69f43716ab64f529cdbdadb1fd236dddbdf691bd3dbe799404a6fadfdd9b6005e841c7ef03dfa8514070e04391a64664ea44a400c724b9a45df3e0dc5a1364c1ef48332bdc196449ac60432330aded7f73ccf034ff0c4d509347b4fb32796dd9bbefbdc85f48872e9f109ccfdf71e18e574125f429df6133c61a5019abd9fb9fbc2f257dbcfdcb2df85345af04d8ff639d1478ff64d08c257a44894071deb6b21ddd223c55f7354c45cc05d9b4d8e4c7f87e278a6ef8291f9943e01b860eeef973fa79df4e9264ed7e8e3c9f22a96378b255e0308871f2b5572b0b7a3af7d477317e2540925c0db6b42e877df8965add962fbd8346bfccb06270fff89adf8a18003bce5f2e300cd2dd42f6966c17ef71314a201dfc10eb2fd4e9c94c7d723ed3af15616b8bf623de1bef7decc9dd87d5c5893034ee1124a8037b18af36bca0307d8f39c714b84360463b28462299a40a60720e86e1893258ec58b9a0c5cd6a1210f6a001a1aa2526395c8a5fd975faea126d629cdf2b7a2971596fd8386824e4071ea4b4a97570f4da10197756868ca508f4e650a0e43da50165e8db8308178f6ffe9af811b23ef6e2a4376cf6abf893008c1d059b1bcdbdf95fd77d7cadefb304ce74415ae2762f11fd3ad234108fc46dc7573d36a8d63b7e7396b6673bf7d73e25581fbfb9c387f75c2ac21d2ff75b812d25af291ee99462ee042076e88bdf6b8013a6baa157bd6d4afd34b130ffdbc5e98cd66b323a4248f4e209ebb7bcf66634c965867b3c6dfa8ac46150c2d33e0b2ceb2ff8ce27492ec5fb7b40d85cd8eb6cc5e4678b12a5466cdec42b934a5f4fb55a864530f6cfe9e0c10ee1a40e10698e609eaecf86828dcc0031970896b45ead1b9f4e847b3c6a15426b386ab614c96bf7b902930a5484849f6657faa962ea1095cd6cd49ae5ab2979b93ec486d5393bacb1b6d53372714a75a719fbe212575d9601a0fe4f6f655d8de8a30c0707f1355d07efb4d84c1be36a7f6ddabb03d27c220c220c4c3891b0cdabcdddec5abefd19cd3362598726d9b26b86ce5b2a764a738f3c7ff5e8c55aa3b6bbc95fde866488ff383b4fa49e871e6f4381b4b90296474803f599555a33aab47af7d0f49abf63cf635ed37fb9b3865ee5af573df432211eafe2bbacc59ae124b37cafe1ecbfe73d64c8fb2fd04573bd65a152ab989486220ed8e8f46c3465637aa587af437c1083cbfac15a9db91aa6afcd678934371fc675a8caa928a439d4279500fcaf4610e231a637928d3771761b0228260d54a2d228219614556818070f89935d4ad789559834479d09ff5ed3b174a43935544018a566b55a1929a882406b2fe04777c2cad3e344c70c5818af507071f200f2919cc5df6e97741dd5047c5b729863925eb86660d143a98e860a275b1dcbfb5d80d7554dc557f1e91fb4b9a750cc96a4a9692a58c72a76429594a0644fc00c932e19521a6a1b604a63d9436c06b5a9fce39e7ac5ef66457e279d300314c7b280da1abb67db36eb7abdfcfddab57984fce9bba7b4cbba1db7677cb00d1ddedddddad85a07b0d8d884686c9dbb63b124c5a919ab46e938f13d8f3ccb2450e666600a3429956f36e6bc59f9b6ef9589fb4dbfc5191f6b7b7a1864bd8f214b5f0e7926eed4f9067c648db6a4cf70ad40ac5dfbb6908ac25a27edd6108291a3501a55b5801299db5c83b7fb23f11d888ec9f72990e5e0b59f69ff12d82b23f4ddbc864ffdb6ac550213b8b7bb31071950611850a8e567a6bfda81264ff970519b95bb0446e2d68f084df9fda59f8e4fe59c130a5a064832f0a130abe32aeacd3028b3572d9fa5280bd19dc2a700e2d3e18d6ae7c3a604e8afb05139e10be29e05080ef09c02b583cb9d283142c68e0aec0a61bd8a0e8e8834191162a28aa72938a547071cb47110f21d83510998a92e0cf87a874850dce7b812d24aec33f57b6c4ae80d15de1624bba4244040449579a0089fcc4ae20d1115da1ea3e5aad1b1a60cd9af74a1197c80c5782e88824895d114147c40776b12a06b6c40c59988173e499658624bc29302acf2c331091e95fa3197ab061861d3e19d6f2cc32830d9c108ec9334b92344a4f601c796649a2e5862e4610a4ca330b0988aae030175e67511f34332a99874981db773daeebbe9679d58c0f1a9957c9fc0c8c0f9a98d48323a0bfe5f9f8830f32bf882b67675eee6aef5553495381db773daeeb38efdedc6cf6034bb784c7d14fadbd809bb6693435b397faae0cc55ea6e29d3594fe464d3268829be026b8096e829bdc9629cf3935ab9a627933b5f15237f8791d7737ad7bb625618a4de559bbddddbd7adfedf6bb57a7343f34e5612a811f2ee940a2432753cebb09f502da97d49782f1607074261c319c29467573dc5ddb4e9b58b63cd18ae56b75472c31a5f4a6e6d0a1e5e4f49843332393ef87bd4c5faa59ec8888842070188484219d672c76b10268120de778f041e7b4febbf694431453c57272729ae2cc1c1ccb199a5982b657ab6d97ebbc0f2c99f0c9e42754095f677de34a7140fb92faca9b82f1607074261c319c29467529ce9673e8d0284e5dad563255fbae357abf7d1993e7c34c9c9a9a40eaa74848014e358be27093474f224ebcc93d6bfafb5177d6f46b5886e278be1e7cd01f501c9ae7b7c6580b0cafb3b0f6f76aa23d0160e2d4dbc3a929ceccb85e8a83f37c0f97ee8dd981963d93dba6df34b4d9e6d49d35337ca16a398b62abc7ce59782d1f369c6e4a7968b67677b7cfa6e197fe9ab5343f60fafe1705987e6b76f1a7a71bb63fb56e2d8d0faa28ea96ddbf32ccfef4c5d6375191dcda316c7d398deb6ce755eff30fecd908461bdca8560be729bb46678de3b883fcbe87742399564b7e74ce917e54db6a4572eb76bb63d8fa721ad7d9ceabdee75f77b67a5aaa9b1103d3568f3e9e00b3a65f9ba1518243e02ece642f7132308aac5aed12c56ebcd66c4d1b81b0b489d65a6a375bb7eb306c7e398deb6ce755eff3fa75a0edfa7db7f42a1abc7134b7c70bb0ed1d12d8426a51f0bc7dcbdaef5a1ef7fd6c1ca6d9724953c192d66d20f06c473f21bc76ea5dcd9ed5ba2dcc398200093289045046e08ab66ed77ee0da4b71e8e4e1306cce755ae759efab1fe85da9d67ed0cb55e3669d3dc6c0f4c35abfc412c8b6fef70de931c80ff5b5fab5862553d3e9b57a9fc77de24cb3fabd9999dc334435cf2499e14a9f1968d077c1043ae4e9d1c720c8f4bf7545974cdfc70dfd1cfa41e8eff014c97205874cdf0217a0ef4215caf4e98bfa5cc1467ea140f7005744e137b8a0892c4f17f0a0f5109b5a58203ba18181a82041eee729626472510512a7da56b0006c797e45139a009aa8c1a70a253b508105d93d41537c5102180075e11223b52c72febaf4d1dc227fcf83155bf2f7a9ef71bdf55e0efc52a058c68094c1ffc212c70c70f760f8f4697e66a4e077ef7525d50702e5ef6876016528cf2aa4c8ded74b0444f6fef38890b297e5fe4dcaf7bfb609810a22f01705d4d94260c118150b16ccc0c38b2876805b9d1830205eb29834d0010aae8840892ea4d82001675cb901075310256141052c8abfb763316e0155342d0a12e4faf546e1825cffab8fa510caf5534390f565b248d1825cc3c8f5c729a4e4fa346d73caf5b5961794c664d023d7b77701674ce1841756940841d64fb58d1515e4fa321f6471e58d254abe70430db206018940872b8a849c1001598b72fd4923d7135987368702a926f77714304c98d6a25893dc3faf14de9cc9aef935c1f44b9aa7a13873ce780b37bcc4601467e6863d81c9e8a09b56692a5db8c09ebcbc8496127537ad113fcc0f4e01111151224a54db87d9f6f2e2bd7d8f86150a4cdf7bfbda7b94d24bef7855a3b5f6661add1421ba219a46d65abb7db0a019f346d3068a656bdc444dacfdf22dda73af892befb75f09d9b6fabec58d5ce6587c46b9f8e390fd4d229d42875efe462f7b792cfbb6f516bb656667adcdec4bcf6272fdfaaa3e932856deb4525f8e8e0423ded4c528ac3aa9fe451cb168bf6c65259a66c39039abda8f401bd88a476cb65f7ede3c0967d5b6197d5fedf75fe8589264dfe7f4dc3cc991bccb0d66dc3670e9483fee7a3952fbe071d593bc8b094b38d2f5de3b02dbe7aaf62a77e1d74022df730f96acf6f8694089d3c5f2883d793c2fa2492c8fd8fc26effbbc2f815e02bed7c223367fbf858ea5c72aba51cd483d5699bb7cc865eeea971b0d39813dc9bbf458eb9ba004b68f43efd259dd8ad0a30d44414b3dea5f1ee68584b80bfc38abfe49ac2971c5a1c41527ae52c0987b243c27eeeb13787baf3fb956d49f528f1fe33f3d0ffe1392e9d58a48e81267d5c722a5e2acfa29b1d697c7af02ea4f9ee4acfaa85a3346fd531896bfd9eded6f2cd0a3225d07a129a8c44c7875350bd58c08000000006315000020100c8744a2c150122662902c1f14800d6f9c4a6a5c361407a328c85118848c31c410430021c018400099221aaa0040110b4cc43f01cad70b22ae6b7d9085a1fc95d83bcddd2f041abdc8d909e2d8652d3ea6967f0839ad32297f0429608bfd668e1c1aa83a6812983ca21de5cd454fe19836a01af92aafb6f059de105c1cb5d407bf6e47fb14c8a06c98246520a44b263d4b999c61b09fa6bc713a70d7f75d8eb044745a88b9e80df39869f5992512abe46651af332b8bbd6b8f97c39928c0d9b27b28cc3dd4bd3f1a481e06d332a85048776a334866cebe8bc219a2f6053b9c4be35aec33d2f402eb7bdb3be80a4a92af52427b524afd43b86311c6df985d861ecf0f029b25f3e42481745e0edb2a54b5df3a89d0e84e68c0f262f8bfd63c40538dd8bb02b3f27cedab52f78b463265b3476a5ad324defd4f4495f9560af9b17d22a1cfddfaaa36a05f4a10fb2fbc0fc55b2d1cd03d12d464b3bf4b0a551a62aa3d2298aa2a629487581091661deffe0eaa346964397ee1b6492fe0e2c2d1a92f13424ceab48f61e3939045d398b58fd1a17406aa4551afa3a3453b481a02ac90acb4ebfa41f1df5709553a67d24ef6b4a737393302964ea067293cd2fb29f86a159b22a3a8755321fb9e9954ac06a10b2994093831f06b1353f8f35aea6fbcf6079f776be9512f9fb6dfd2a3841975028689a391c669558877e62e97e9820601e685d5c113c4e5ba7a9af56ceef24df7d90340f2252303769634871f9921b811c8849b1ef46cbdb9163972a8001b247435a21823af6ba20024360039bbbf28e120e84666d437ca184f00d0d0f3b8237719080aa7ad50575dddde43aa2dabb948ce535b06f75da0dba1797aa2cc949d7ac71d0dadb80b56b805687dc7518cba14fc4986aad2708b32434f800351254eb889671eb604d6314bae02a0815dec3bd5c7f77ddb7738fadfc646844ad5589abc93a5fa45511706d12b786b90119739ed24f7df0a1a0784e47542865ede4925054a410bab1ed8dde91cf5d23ae26b0f033ab4ca4a29ec205bf14ace1adc671f2a91671b2a998e9357c963285b1cecc4fa722f763b051556aff80eb8315e822fe56beb15e498072259b780eeb8ee780713dd01f7a763b99809d7557e3d95c2faeab4da41d63e123ac45c0faa738389695f60e6c2481940be09b6c52f739893f8df5c2ca803bcce5e0bc616fbcf4ad1b85fbfd023b5dae70829faf2394e6f2c44c95ed5d53469199f9d8a51fb1c7673fe18839152e8c6e366d9cbaec173a60b95eb645d22b84d14ede5c55e13257454be8ba93263cea817782f2e1f5d07ca49a6d069aedab68929a3924144f326498686381afa25a690bc8b7eb4300c8866c52bc02080e305eade04f64372e555e6636845b7530ba73039a7011242d31d418400d308bbc0b8f707daae9f21855d435e1cd25b725a6870fb675cc37768182db4b2c257c8fac82f622ee7faa84bb936e8bba58da90e846f7924e2ad66a2ccb3ef8e1f49aa8f000556ef1cf8d84638050182691cea00f450438554363c4d3ff87d1da6adc0485b79a797489cf0e4f9f0052c322e90b4fe074a1797733d0d84352cd514d60070dacc44aeb44b5eddd0a20d9f11217b0d30a882a6a5247fa8db3f68aea90e453b1e785de5af9ca944fa351d2e2c57e329f6e1cda8f68ac3339211154ccbaeb1d1e96c1527257c0254e11e6752d06f7132fdbace683a85265ce3a5535072865345f02654aa885d62ed3b301aa04f42fffbbceb89eea63a0c722cf8ac38b1f65291e0668ceeda94df121b06c5c94083ac2253b10927789e39ab242f4e9292fa11509a99a7417ab0faa5207a760a7481d59a44fd61004cb2c5f8fcbe0723d2295ecf20006ed91306f882cc87012c92257c0a0c787a7be391f749508249695bea78d253b1dda8a12074c744443bdbf7a8a12521a8c6f77a7f6681b64bb7ad5d38241eccd423a9a2b9ca32dbaa77a9d01833dbdfc3fb77879a9b7420f92f3ef611187dd17e28ff655a025e1cfa3b68f60dbd515d027ef8da1c7681c28a7550d1d703fca1048cb9259a82f6448b0535538f451badd34ad04985c0b074c08acb7748963608438a6ad65e256cdaa5c08a6baa3da0f1a569233139739185cc4055b070def3a1b9969a409c4de3c6c08fb65f3f392f2aea42a254f590f1c94598207f7c89682ae6346c2b9fafa38cd6cfdcd7fdc0588fae5f20ad60fc3dcbea0225e518d932b0c4fddf601a9ee60bbd902a0b26d3f100482e221203da581652f3b0a704a21ffec785e385f3284e9724a98c918687386f4ecc1517456ef948186b16b8422ab40ea927a28f55c4780cba9d95192a03dfa8f9c2428c80428726d797c54809cb8292ed248c43bc43a015f08fa946c381b30a3fa4020480817316c96bcc26990856d5155d90d01990f87f541dae5fd63820f35a1c8e6bf609b04e613649843c390baacd1c918004b4f803b3c1a0208904a1c7c54cc9352a492e72504ab1fd0abe65149bad023b5a01e665daffbc355c680b742842c9cffaf30aa6e189c887084b2267e85863346f4eecec9adcf25e352a2e753264694d45138ae7c160ef52c2381213723af5d987647e712fcada7f928913bdaa497dd9d428fefdf7ca2de7ed67c49a4c5eac6460c5ae0c4c0cb45e2ed60d7a072c77c6a7ae527a7edbe255486e927a2d5cfdbc9bd564f83a4073675d8a8eee083cef59a4b1ff3d2b88852e9ab1e633f664f9bd0005061b724ab4ce4aec94e7b73d2e4732d3647be85888174d6d145ba40fc678bf8f5c675868bc45bd19fed9b1fa234721d53e03d6eeb6e0a6405e8ccdd8e63a88e3c19510c439a68ac2014c0928b7bba92faf9cb4c3476529278c96628c094dc5c559fd085db9badb8e6d15715db7b79659399eb4122d0b9236f8e687f3b6d1c3de855a32e39ea898fa13c5a110d77dee3b951d81757f5efb6e6b188fce74f77b65b2c2c761fb35e80918a41872454747b19601d67bda222c91fbb491678025a03eb4fb0feba86d013bd9077e8a5dbd41ec50624787ab413c92c05883426c103820a86637721c85aeb1dc5bef69e4b7638921d5e7aaddf47eb8c3ae972289cd61fb5d0ab1291437d0b269290a7cefa859042f89a5805e48a18701bca058a30d677fc4b4b972b1396b51814468ea956f8c066823512f0662c328ece43003f40dcef5dd2d21278738a38dd1c6bb052b351cd8c57503c3d3ca7e05162962c3f95e047d8806c536d17774cf98965a20f4ab9963efe910037b35d3e82253f4b3ab999a175d98f3e06ae64b90794c3a4d201a4b2ac94fcd41f9e8486d4fbda59e32a1c5923f921e4243e60175da4f42f4a3ba55a255b63a7e4c7b495ccf6e39545349a739e529a9ea24727ae202a6cd160277a0e48df9081fbbd01d8ed6b012a56d712c2357a5dc8c3642cf5895f5256462ad7884c15e3f323ff88014ed4c812c7b906f0783d8b2728c3bb19c6a62a0460d1ac43a159ec75813fb1eea858e55974610074052b112a1335a17a1768c2b0aa0e004db79831b3d4db6a87665f33bf19a231cab5adcb08368b03871ebfd803c21d00331ca7de440c61eb3897cb3340518481c3674a7da59cc6135390678c948bcfbb1542ea3be27892b3a0afaf5052330604e9cd90f881d23036ee263224ca30121bb02065a61cb58336c259abb97b985f68cd2ade8d5b28a91c93428d50c8ec564781a4360594c80ebd12c70d87f02599462fd7b2be811f1a6554f3722b8ab49683a909da5bb0776e5a7bec8d4d09ee4e230385a2335649ed688457eed675b2b875b6191c85b0f2a1db6ce3d119fbb4c74db4aa77be63a03e629616f335cb601f4b4c345d33ab09d611e1d8e85322036800f0f6f5a757003ad2e37b2b6053a3d89f5d2b736f867053bf5275c85483f615265cfb6c0403d73620bca106d836da867ac7902a9087af07f7f51009a043a2cb290baddd73e23185d2939e8c121f307f0fcc1823e65445825b6669e2cecd11ce7cce4dd7d0d23b466240a91440ed05ba93e037eccc2b8aaabb1233f2148c2e43c36e960e2b70263c48a88cfe14b053811de57fddec5412f011adbda4ab3d79e7ea456f3203e914b8d59113f6f23ef4519c9f5d18b069e7edbd261e4a5adcf6c035ece77edb3b73ff9c55efab3eabef5aae069901f7df67e565febb59d2223f76370536f6bbda49b06f5da5722c0a5014a5e26701a2e69f5340e290fac5d3e21795945384b6f3c5324232713032518205b8d201685fe74ae89f962dbaa606437e950a34490697a03bd3341cf748d4dce337c4944dc4117e8f646c57d9a10cfa543e4f72472205a75cf2a6f28c1bd4628c49514ef5e980c9a5050ae3c6f0b963db79d31c8951f953c04d526d122edc129c66e79f6a7b76a72d48dcbb01aba67096ad99a41b72dd152b3f0c67677d9b701698b5ee6d8a198671197750580051e64b76c21d39bea17eaef95b903416fb8064520c1cbed4a2bf42912603b5758bf3dd27cc733d8d5e74581439ab3eea253462589ac92290dbee46092da8fff5e1ab47b37643ad2d3d181c6afc8f10d3ebc3f588c9743d34f27bac038dab78002227ddae574d0f4b11f82ec0aa4f37b085e339a5f7a21bb7e9eb9af660354f3a48287fd0e96a529eef60416a07ff3ccfd370cc291ccad963f80b44a2f79d723dc895fb1373c98d35bacab878b587c239bfbe187859599c92bc4ffeca6761ea02444a1f0f2973fb0e17fa6c9d3433cf13dac1e2585996399005c7a7a2d97db6f710be5777d57e3d43bbdb74f509516120b7adff5310a14aa579d58dcbb2722f25a271a78e93e999ea23cfddbf7e7498ac18032167a7d71f351801f76481866d8ae371bb3e387468eb638941faa7d7a75fa4f0345f6c299de1ac7ea30c8d21ba7431da0e83e48af4172662ed9d33d20a4470db2a9974c847bc97cf225f342f6cb4ca1f4b8f6888fc1dd08134c12af336052224e0e45c35fff169d91de3c036dcce4ee9c7f4b19b0d49322baf26c2c7ccaaf1a4decbe34d7f501d4df08cae5104a61810d304792814979925624665927fae3ecd0fd7016b47e3954409b3a3cd51cb60181dbca3c1c8fe5df72b134aec94abe4eafbe30735e8c4fdeea4de1f5d8374f546222fbd26cca49242a83da9bb26d8ad5315f646106da11d8f68c6488600b96cfbabac5707af445b1d784e8fb25048e51b463aec5f7e482be83fc08387fc4352ab451e77ef9311d3df90ca2dd0adb23b7730d4c9acfe32b92d31b541e2cda44502f1efa5723778b351f63cc4424b28b6467d98f6f47974434d21bf7d5e5025a2a3a5e3f995bbb23b8498bebc18d91367a952c913833fe4338719c43bc240b7a13ebc47de44bb6064300b1bed3263aa9db6c447dbf0e7aabc1968fb3589f437af889475a7dcab34cf4315e1da0ab8f4098127d29b91ace2e37b8b9d4f0105cf47e5f990a4c5522663fe7d317271a2317cd443a6a5a019762964c1a1d73f23e0a05fcdd10aca1ee1dc3a15677190a2185e14f1c4d6507f4259f15075b2952cd9392282a192da187d00f2d9d9daf17194f2c68cba22abe8d2a7851e33f06f04f6f21ffe3c5691ecf4d889ae804afd3a30cc7108cf3c4d85639a1670b10e0dac0608cb19151c4604097f602f25f84d8af79599ef6b9632bb07d1b80314fdf9c06188dd01498cb945a230303bb6d9e69b0fe11d1564473170bd4da81b4a663b9251733be5d25eadbccd12347d2d97da7cfdb10b8d92b8c13f9ce68c92e9aefccbaeb7797d77fcbac62d361a2b12d36fc957a63ead8863baa8c71d7f8631633753b52e9cf6a060efeed643f0ef23f5978c1f5de7b270209bdf5fe89a7be6207365d4837e06b29178e04eeaaebc46f77f2f942a832c82a929a32858e3d308e61e1e2c752d62004c347f0ac0c35bded0f77912a9520d51485d4532b52d3690fab0e59d608c5a9f240a8745551abae820a8175ddc015636d24284370485d18242bb4d53d97db6bbb3aac8776a17c0e92c4637aca5d3bcdd86501cd17bb097a4cf9bae74514b33761adefec7247977b0bd781070fa68d8b4d746f89072da31754ca9c35a8cd64ea1584ef0ae44d2adbc21100876c81d38b40091c8ef75e48e9a45aae6a45a26653ea711c64937414448382fc6339aacd01ebc727b45bdcf149c604b8555456fe934e08b3108c45944412cf9cdc9f13c31156a142f6ef028f7ecb3854e86702b4f5118afd364f0855ad987dca9ecda6a29f58b2bbf3bf32f596eb1eea6adcda06ee80378c96239237d2ad215f71eb078e0f52acf9ef7dd5e82d5603ba9d40958ba865cfc349974e78e800154b2f89ef94bae8c5760ea120a36c4da29152955616ceaee53cf58727756bd2533beb156272ef34e49d9f0cae84530907d61276efa39d197d4506041ff4aee45f5130c2ec83b4f8e2d56180c2e2451d6d6d2dc0609c01e7788e5db530d708f726f9f1c3c4f5823b7656a08db62f9bc6948445632d595a6aaafbcaf5b4135f1efae5c4816f8b5a348cf9fe30b478d5f5ade5cff51df0c212d07e53679ddf3ba3015c13de3974fb22f1dcd40edeb55dd11b5c0bef0dc9275c8376449ad7f732f01ab5f910a6555fd18c67ce679840edf44e1b04a08776d2f3c95cf137291de1f18e03fa7edf456d4f8fd1ea5051cd7681fd93afc1727b96723a2da482a9349d35f2e7aed23b833851def9240ced74c688cff3f7fe1e73da1a346add113e521138c928e639641349031c4566403a30297b98f36866cea360e8f7b60f2b8c8049227f2e69018c0a2e5fd1edddf2628d40d3d41f83975a08175fe6fdce808a3b747ac782a2450b1fb85e4391e8e0d2b12c3fe707f70c20dce95d45b37d8089b4f563b2f52fcc0f756bb6b86d2190d61496b6e698ca0670c9272c07e9295b37baef59637fbbea9658b221a35bc8e438e0944ddf82e9398264afa00846b8ea15016ab2277225fb11938b5de8de4c06414637ed9ecfe57064d232d271520c23563d92aeed2dc331fa6247799803b28debe3669c99792222aef7a22f1438c3fb13de6f23d9dbb9e985826b0f5b2424c2ad056bd92a72e79ade958adb9a81a60e1463a697da7981302c9cbc14dfdd206680602c549b025e50ef86bc6cd968d4676cda68d99e5db104f113f16211fdcc454acb83e3d6f2ba5222167dc2ba7895359c477e5c1ced30e6604fe6b04708bed04e575b53f40e475003497653f9963dd6f8e11a381b0861a68e10543501935fc5407915b0495203cbeeda0693e64e5cf6f408a662f859f7f60b72ea83f14f6ece1dca0f531d1db50e777a2680bfd7665e691ddde626b7e198d67e29e978ee0b4716f3e49593b54070e475096ed6310c38a2f455ca71ce6be0ad6269957ef468484a8f2ba816b162133cbb663aabf88d089d5c19ca2b5e51fd599e2572e56f6b83ef39bcd4e2495dcedeeee5bd9f53295606bc6600160d70ab8b8f2b2dff14d102bb049c8f5716c106b217f9785140e38ba1b6b2e5fd384290b447d678111ac1965d56bd0ffc467599c5b2beef70239bd8e900c22d6446877b6797600e38e057994f50c77e194d8b6bb4a968143513f4fdc75d6564c433cbaf6b80553f32ab6b818e0395598ec224c1e4c798a24ca924c60303f3055b103417280dcc34d4a606ba10fd7fd8aa6e60ec08886e1d5cee1d67e90f937ca42bb0068ae0254a5f8f0dc8ef2029edcdf262063a9942234db515bbbd9b644a8c510cee50836288dce204f9550eb9514aa66e95a342eb4d57d0c7d45f8a2600434807e012ea6146335c7aa4cb4896905631b528a88c8c29fb4b279636684738d1ffe63c71a35c43bff0090c62fbb8a020df10d5532295c4da95ee7199c2cc461cc930cd9fc5047d7421fd192545ebc9323ccad2aab0b85bbd13528aa78ccca5047debc9d3181090aa5b4766f89e166a2159e00c8fe636c247354c0f2c9f4f7a529157303d919aee4d838bdb2461341d677bd40f8cd9d61c906a2fed9822b69207527b005b8d035dee44d7a71d251abdb65ca3681f6387a7883ab525528918724cd913cea62c8d92a763d7d32691b4c39e607944a72dac43a5c7d3de5b7687c2e19ac134f35d52ec3417491792a65488933aa09748f62d00415f08d4e14085d9234a2f8e8dd0acfa3691210f4714c7ba7d2e94ff626a7521c74cc0028c3f17ebcd0644dcb4aee10814a3077bd8b733ecc10299507d41f9e5912fa8517aa33d3066cb72e8b548a5f74fb48e0a6f7ca380a87918494f60e139396c617b8bb638ecb9cdbb6a68a976b49d107e2970d3035c1cee50415a04d6be3d41b868915d30037bbd85952c11c2d1613f11f4862f554b5f0d549644167f6f247da4572c599cc5b4ade0c76a3b2b9038599440283b92b52f2b8fc52b97a6a6673aaff0bd6752b00fe66efd52c06c6380a1cac8cb87040e9fbdc3bd44a69e3f9bce9b28ab0f3b60ea355f4f4ef5bbb42b9b98413d72fa25d01906d1000bc68f826b1b2dcfa769748ccd194c22ab8ccf9ce96e9f790bbc2448094a7592586a74fea6ae4c4d9f6bd49de7aa8950aa077d003350c623d6d3b9b349f50a305a7b7ee03bd66507cae12e951f4b83a90d39c4d155dc3c91b2bfe031c2fe91bfdbfb6cf5e6de7d7e362f1ab89120b98d1bf7eb9bb661bdfdfa15cc4f6125fbbc0561c30f4bcd370aeb5feb4d295ae9499d34cfd1c134f845482083b2acbea4aeb3cba541d793c13fa2c8ef893dbcf3b0457fde7c1eee9ade66d56862ea88cf0cb1f045f025208babad586e2e27df70f4f7e171c0474260192188ae037fdc9f3246ff4bb96040d7166f2a884fcd1fbd7c67df070213542d2ff149d2d5b0a2557eaec7293d30c40c24f1cb4ad80948383fdff51ec829676c2509d29e9315ce44ad734afcde4df15bd08d5758a8a6ce4b8cc858ef3d55f9961587d024be135f0e8a9aef0d67a84f4518cc8e5c14edd88ee12a3d9233595a038cc5d26404c00f4925432b47e69bde366f02988b977f3c5b719c288c76d84840ebe3fe0d67e02f1c0332a26fd19cc406b26db0bbf401f3ea9486f932507a7fc68a60418cb08d689b57f48def71244acdf98240ac28a9320bd0601e83757d528a1ddb1e63b5ed2612dfa72c7f77f526880c22e8525795b29c45d4535558d0f817321eee81e99e26f7693d2ac239bbca1ad4e6511eff327888d64be3823c2cb6edfe3d420747f985bf8b96aa3c109ddfa801dae437f5ffa43a2173e82fa39df5a95f31cab4c2a2225dd32894b584c671fb627dab9392ad6387d3602c376673d8dcc3ca2e909882173dbf43dac20bc6b456b3415b14dd5126f55e81f2264022d902a9769508531f6167246a7ebb1728ad8b9d47500f063644a16844e52a112eff335eac7b9e11e505f2974571b470a30188f51eaf4a31c550ea13683230bf5d7720a39d79d1cae32b8683a714b3a786070f81392a4a0eff5b8248779b446c3f566c10477fed13f84afce43d7343ac72a928c14b29b3ce0c06a386c47eccfd73bc1db06785cb371f13b360af4942ad23c0eb0700fb0440ef3c4f3b09e915d2b556230268a13200f283e417d98d96cb6055931e6d640ef9226feadad1389e3525d672a0bb71f4f20bf8a0285a4d2c183fa341a98ccf902469fc833017e2b18dcd0c17d3210509dacd5578876dbf92cabf9794d2b25c40b1708a41515775cdf0f3be22c79fa16a87cd4affdf2e71e86e937250fbed784b005d81f59b0adab8ada2d1dd6c741cb971ac8275295bb19b7591a8b223a0085327406034961b364cab01fba70d4387bbbac43653e3bf0aeab8b7dff22eec1344b9c9e017cb5bd1d4f4d25edc3ef16b828ba81c0ef649cfb4a4f168968073fde6b004b2f0e1362419030a1d1bb1b5b5d0dc8e06d7a3fdb3475d25aed4eadbeb7a9faf3371f43500a3b273bf02df450055167a6326c7e41c574186c06c1c97a9088caabab7bfe7cc818208390db5b5c0bb03df7f64f7ab045c4e597044d872f34b810a3d04d0539c3ddb8a51ac41ce52e22610a5ddc3c0015e086d5db74d3db00876a089b8c913b68dc3fc4a2139c0bed90fa23cbb6f32f84a9a0603cca08e8a2eea49f7bc65729db505e4619dedf0d35a7e36b4cb43451819099ce41882ee192c761373be8186695e580708057adf7299289cc760120d01a445364e4640a7e722736e21d94c0254bc219033e57f2d34279c66504fa06237b9591d46f04d4bdc1a17469f5a6c6c8f5f1876805627b14a582168be7d5202d312db137205be2d3a73981c3e768f3e237936567105ba369506e0d59a35f870bfbf60a5d07b89a784039e9231ece632f41f82048ed94979677f05b808d23314b7d515c19807128efba8495e6793c7090c2638017be0f8464a3e40c67cbb39be403daa3ef5de680b6b80c32937e8579f7dce11fc7cc3df225e22fcb29395d8859b95dfb02258181885a6780685a73627d5a9e874cb4b0f0a401e95540e6a3d6ffb1c058935bea31a7a11604beda9f0d567c6025fd543014ad4675b63eb097f2f71e1df6bd59f1c4c5a84b9c499480b81ae3dd6d1d7dcd5cd9480254d93eab0a2daf1872b1045c4753794c85c126d652824015490871ccc020de4037ab28c92652b9410de12a65b964891bf451c59e2f6a6d20686f634fb73267cecbeb005a5922f7ddfe27d1144cf175508c779e4fb577da480d387dc8c0052a40453d9cfbe1354d63d1a4d3866109310b643206212e7c708e5ed71c0947185db00032e041334893505571fc57a68bb3ce420503bbfcfa69f0be518acbacaf5456b896ca860dc55c413f25f4ecf75e2961cc86bd33da2245a816bcb9528a5aa58b6c3027ab2c4d668ac6e3c0eb3b376dea07b2acd66417a8b62f71337d202f8e567ff4802fd291e1e37bae3f0579693dfd1911a2c4c34794e7a2b110f1a2872ebb28730c652cb74e42bc2ed1d7a6c270635696dd36a335f58a68196d86eac8cadbf8f6b886c91edb5d7cf8e39c73a4b8a09392185f4d3bf1349d84bbfdc4eecc1a5b5ab8e720f5e418d563bed8f6cff868c9461097b66ce7eb2e0e23339c36446de2c650f752bb7390db5db30cea644d227cb8e527b5e22761826678f1f5a3bb081b40e5474b98d7bb3de6c0f34d34ff47e80f0f8cf37039a2aaac7d1931a21b954f19eda689ea2bf0af30522265462874eea738f0714938cda15886e29f8ff4b33f0e364a3445f2e6209783f891b1dfda726a292addc2f1e1646ed930498e3ff5d00b90e2cfc4b956c6c83e494e3822206b5a381940d2feea2ddb78de17eeb6f3d707e30e68756db03a9d2a1630a03b79521b27af822f24739683112d8413b0b045f4a0065eaed332e42e476e12fc4c695e64d2313f23db13bab813248a475a515329d93ffc6aae571975cbef88f8e48d3812a6af17038e44fb27eed8ba1a6499391ebfa0697158ab27aa2f678b593165a42d7f773c1389c92566ad732ee091fa1363abb364f7571352afcf314461ed58cb936cfeb1db503cf61c4b44fee7347fdcf44b9f20806d275543bf84c275f32fb043f4b111830cc50727e41b7c7cc879cb64cb4f6954e588e84c1624c4643dc0787030466bc6da2600f28ff9ceef140112a358cc06c2be1d10dd589d8a4b28a023de003e1df3eb4dfad4820d70a09fa8a3d413495505e264c2dfe25dc84df96c62052ae7b03767662107e7e3257cdb6bf6de580bc888e870c6bbde3f1be817bfb94e8bd6ac7f4ab503ea81da031353bde083bf62e20daef4c1355488cb7518007bd143d92f586b0c9c46011c31e6c1122fd526fbf9cae57dd06bd10a13afc67c473e6fb793c30c0657053aceedd7688c52383d295a629e35041c9cfaf8fc42c2304210ef585a8489b05176bc45cc65f7c32c592d39117fad21cd475de8fcb4d867d0d1839795f5180d97c294cc7016d0b5498977b2a1b6912175a59d8e3967539af5448aa7d06e3c67427feaaa8d8991455559e5d6332a1fd9426c064d135cdb2bc1ce3e2ad4de8cbfac4381687edc580b61030ff49470295970b011e65814f81a674f22378be34e25b81b8d90e957639cf83210bd98f1ee095ac5f3cd52e5732e1cf5f868893f4ef72a5e84bde7a29bca13a3b80b599267c587ba13c9c238ee248870f5bd11e12c5c8aa241fe7333a00ed39108c929c82ce719296576d01bcc82593336fa8a05d02568aac8bc27c563fc20576637c08f5afe46f65c1cfdbc5b22992f83b5b653ce0884201b2d1bcefc99975c9a2cbf7b96dfc53448a187521dad1f43bb93057333d8c81c91a272777fed524827a4770e17d41f915fc67b392bd5df8606b12454fd16bbe0d15fbf33d7d2c941c7828790f8b269b849bb68313d05b459eefd36effdeaaa477a26a281f00823960683b3193645580a1d6561e2c7426a7c185cedb406d70dc99e39d75179f4eca545138f90266b054dde9b26b27ef61dab81305838f5993bff9358ebd75b3e92db5803dfd4483e0420891bfd89ade48a36f6f299dd31957059cb505bdb7bf009baa022bc2f83355a60d3d6e1e98a591a8d8bb05742327ed15ed0405afb866f5e2d165963e99307d883ad25724fd7ed2b329fd472b4d7a24bd5b33437246681a9b4b45dc79f5569ea1966b75506bffd1d4c0221c5918a4133a656a19f4a17b66d175a9baff9471e598e97c91609ed4ffc3a914753d44ab6a97778b73a9e9db26c1359b0a53596687f5e8aaf162b97b81c13fd58111fc1e992b74db17bd243671ca48e6db39d02b38046e27252183ba8c30394818b9c2944fb1b3ae6790d1a48cbda9c864f5cd8fc8c728f96a3ac4d35ee44473d064a65d49f1af153e6017e80f5407d486840bdd7f0e059851dc300055e629bc911eb18c5a70be5f4b3deff44e60939a13941b60455f971a1c80e7b0c46b54ae52e47d29588a824b4262431f654d84ab68be93092430c7b8cc91ad065fd529005b6a30857c2be864570a7be467fe77d20d5a22c9c196495acbbaa7c8d17de6ff8949458a6e07f02d910801fc204ba8308fe7b91ac92e674df05da1ef60e8a1bc7eadf42edca83c2767c0b4f2fa4d097c7c54da4ba3aeba9f8ea5472df110a587293d079f7494c614e2e278d85ec528ee2a877253cb2cff41c1a4e8a79fb53320ec4d365e78fe1ea71e8a0f4fb3c8a9eaee6e2ca954af1add03ee0f71cc9cfb8f939f0939e55e1f7c5ddc1499e98682cff3dd2c85a93653f2ed759bba2e463412f8e37833170635c7f066a34792bf5140405f296ee236092f999c4aa12d2758188770977d1ce169ab55f406b09c74f9962200994157b7b8c0e780e368ddfc9fc475ffe8787281d26939d388b69178b2dabda7887172ec8f8e2a08d40faecd5a58704b351a16370215b386f568d6c292a3d21aafffe2f0d5de170bf26bcbd0114d36adf958cc5eed2d235cc31e7eae1dc27cff2902b17d9b75f8db81395c60ca19ad6326a29a8bdbdb33d767a628bec392479edc6819ac0cf93629d7879013f4edefb64508b893bcb76522549f3ea89415929f0429d5e97e1e726ee415ebf77e8c28fd860cbc285c8f1722e293cab01d6355a29fde65ca14990f9cb0bd4b8aa8b3a082c2e1174cdbcfbcf90bc6bd9d13b53b3d486432cab182ce7dbd1f7c2536f3bfd1042be9a82545d1be94832d0e26a41ab216a6e9fb0a6eaefe58c6a51cac9a783a3d25c24b266a1a3892fd4c598a72c41a0efb9306930c6ade61abe8fa1094ce622c8e6937397d681612e43ba6f89aa8e729c5fbc7967642de6ba72d0d8309e7b8d001912bd934558dc11c1d04660e301187de185562d125b9a0aebb5779a93f89b1dea645811e0a5e5ac9f59c4ec657b9f5dab592e5a650effa7aa007592daddeff3fa66224831199eb301e793e1f13ac3dcf346d1b20598e5b8e68376eadf31324f04e8934ef05ebeb2cc16fc9c13da77c2f01d73f9ebb2d54c086e59f79ba446f61388884709580040d644f162357528ada296dc4145b7daa78818051686f5a691f7419bea8ff8b6042556cb77388932511396e893e826d5d4218084a08c83a75cc2ded1de63f28cb7fcbfd12c0254876b3256623844182245c63613d4e291cb1c414655b923becf91398c47008ad60787a78d069904bccb674844a3e2da1c017057d8defb8943bfdcfc79001f4a3990f4664988ea607090f6e780b70a1adbff4073b5a5f63859050c04b562884cbd79e106d5bbb17d1a8a1914c2e4e6897b258707f6fc2947f77cc47d7c0bdc45fc2e5211b477f6e819f2f25497dd1c3acfaf41d6b95fac534159eb124a7fb6d9582f80f072a4c52fccf1351b2917135d33671293084a4a8f18ebaf211877f2265d7ce3802bc85a4464047d3b65864d963c8f96a6ec4d60f85458cdc0245649cc981a4e2b6abc518f81b42a6489c283f97d9e6d5da6723b6db90a1a5f9038965fac89d329981d6ba3f8c533ae8a55c7a6086a21f08631296014c19c0d03f378c3aa2795fe1f458688d1a5ae4f02277ae828a836c442f6bc21471c013a64d80d0080bba672b2e21138bb97316adc829ec37d98129092659601840942bc1d4764839efe9a1f99de8ce1459a1c38c7a27029d428d81956640f1ec8518cd913222f03c778887923f884684868127074ae8400598a65db715d22a805d7cb3c3cf4915459fa45e339982cf150256c06b065c2c42cff4c2d9b4adfcd3a25e3a5918003404e3ea4bc226ccaeab156919bad23019248e2ca6b46a59134972634f4c4abb925f576482418d38f0ac0ed66fcd45b6e87f6005a468d21d3423b94cef883fe1de8c262e3c6471c55b83c66ab6eed93202b55a12c03def5c59ef4b004839c2c4cb51e4b305f23614aec460d4f38f69b09bbca7ad206efcee2c5fe6e54cd7115581529a53aa9d4589d77a9b5994d83ab5f46c5aa89cace26c92be3a8988ce7e729d477bd5c372486b716abe48bf2fb132af3c3102ee5159a98c945294ce8ed9629557cf1c85f55686547182c18a91a18e892a57982fd0c399ecabf761cb01ca312fcc6629ad52536b20bb570d470db4dd4a314d371d37665be332df2771f7bb84f95a3addb94a2d402c399209a1baabd68e9986e10ddc978cba6c5aef6031eec23973c0716a36feda31785fd597c54a5bbdb75d5341d785e57158b203417f78c6cea4a586f1fb87badc5cf9c852fc9287075e1b12b70c4cbc969b00f162aef2465a24a716833236d55fbb9535460e4a5f419417845db1dd91493285897a2b4335134cd05a7dfc253cf673b725c5c7b0e4f0f62513eb8fb88f387b0fd7dd34e64967ee803569d81f0d724cb5d98119fdb331e170be6fb79802d71410122ca114a92ba8cb7919933cdcfbad6ed241a1458288eee6e1d4b7c05e5d5e0bd5b9722b6ad9a5ab8ba37823bf0c832fe7016969510eca13fb1c74471238baee1ade2848480bfced465b52f28bc22717ed2a275114779037afdae553b10e03ec19fb009d0bbc7bf59d1ce97640a598f9214a7d2656608dfa4b545c13e82bb03b49787a85e053374083265b425d1c6793344779b1db8e2b2a7ac77d8a0d01c4327165db3ba9780b57dc6c05e5366684ae9669d185bee5cd961497873d85330f83eac7b1a29bbdd5c2041f311514f9bf2cc7d56bc9f23925d3b0fae9a17ccebccfdb013952c281d3bc4632212f65618c79515524970dc34402ef4b18f46aad3af879e5129557552e9ead8668b68f722d0d6d02ba56d188cecbaa82f956e3dfc8476922b3d396b7c56580a48ca9bd9eb4c5ea8bc8ba301b716181909ed72e85d86a51ca0d62ea547ba12b8d6e287a17af4bfe3935dc7de4462d213e8d729316209822c19a165aad558507927eb44cb0a011c7a942b67303a1da8f6abe18a4a0b6d64a945aa43ea3fa7e25585533d14371d805848bb9e1cb92aa6965743dfaaf11de4f9593ce3fd079cfd8aab63cf53ca0e4b61e8a9e68a71f8af9e7cd2eca91b0cbf14b75694ed6bedef6c6de95ba2866660bbbf6c20a37abbd9e17fcd6cdbacbbeea3bcc98d9e71a959b2caa24810c967dbdeaf9a10c4c680fdc3f9e488afc69dc0e0010709db2374a1ba7f4f0f0a78bf3bc56fffe0e4a1588bdb099baa0ab932064104ac48bcb760f49b453199d38ff351c2ed9bad806eb3d001272e9ba3eb253c1ad0af1a1470ba1b70edda1187af0939a53d33c457c74c455dd894eb73dcc29071da97833924f41f45c7977e5b83b6dab82f7cb87302496049cae2bf7f4507744f2fb566e5c5c319a801bd5b1a74bd7a18da8468919e382d8d07e11f852c151a9d3bbf21fb7cf5e60a7962c28618537dcfab343a73abc1563dd4428da7b7c9937ace474fb4c4ab03e8fb4c1bcf939d1df986988f68a7ea9198cc558ea269c483a8d91e678955743a40fe1b9c9ffc42953d293b770cbbcf42351a92b3dd6ef915d3707e20668e13e68da16af9f183f1048e7cde28e37702e82952426a2d853e589c9a4d6720d532e9c2d09a011bc5019ec530ef4aaaef15debbbd0e2127c7af88a7b4b781abcec31b47372d54a3d5121aa265aef34f06c7bd048ac3d5ec15055962edd4d91e6c0e888070c8fac74a89cdf8572bff61c970d02a3720782b7e735ac5484a186f35cade88264bfaab4cdcbdcdb1716e17ce697df4b646fd2d5c94af8edcc7d84d6a5f69b0591393fa1c3099bc145d7a389b8402892f424d2e3cca3ea72b843a7513b7e35bf4d59c8948355fed238cbb8514498e8a623ab9d2533f032c462503781e5c7269676a85803d8cb95032c5eb3e9497b044f45274418d4d5a303fa6badb81416fb324d56ef917b48b09606291e84a6b7136b73cd3fd8692664614ea88cde8fd618e04b20db673eec36b00c352cc8a70f5e0fc8eb71563b7c02a568a429a7e7818ac116d284b6ebe714322bf48502ead6468bde64cd676843132e41272cd588dc2ed8960adb8d41aad82ee96287278884829aa71576e49a7052f197946af73daf975a6495cdfac04e2ece23f3d746522ac392a80a1c44a0d5ca9f57bf4350b41f04e64a6bd29efbfc79af77181a708e38f59b197896d446f163e4b8e84e43a25ce533493ee97e348bca224305a6e0647c710ed7b48c04e9931388a55fe75064280ae5aadb101f6c63f57c107c26f8070b42ce18807cb061e5fda21303f406063ad62dc0e7573cd193753e8b1ac01903e2e5e55a9bc2fc7958fd8c4b0fdb2dfa5e808a0c3598a6accc2dff9962dc7db11423d7d5124131712f2f326f1969a2ea3fa76e49608fdb463a3a75490d7b977f4f5df2da7362ee52dc43cf5a6f9dea8a237b52c8941aa2be85c7ccf48c12b4012e36258c9a1453b6b21e6be9774e4f15c2849863f084adb50d0f9a87ec9966c98647a21f0d11950b70a8c343641f74e99f19637f85abc776a5ad80c180b6bfc41b407fd029fd5ad6bfcced1e2714d2e8acb0335944934e4fd6e4accc55f553f738ddfab6311b1d6358a64edb398d26c69c906a7bb955916d0521474594e236a5682ed12e492642c81ebacafbbea677e4a9b830f49a1dc5b449f8e5a4dea8ac081e3cb2cdaaa41101f9c831526f21dbc0bdc8cd978671b6d3b66e294b4f2d98b4dd97f42cb328a58356b48c3a7d619fddeb196539563353a6153f9b106eed646905ab481203ef3f7a5668a78b437313c58a67d9e089e4ff4fb89f9385c6fabc565d213bdcd6ed5d8e6b4cca7fb233760a18b77e960230d1293f44c5d5f97dc2b466631ad8aad845f5a415cfb6f2ab29bfd77dc9346b8ab99c0f19f62bdcd220cbd62904eeca44d9c0a62aef8d5788f6875ab1575e2dfc4d6a157888a84f28adc2c72a9dea5edbc100218bb86ee14b692000f2a489515103d9c6a6cacef773c6e54b7814608b59f90a9a2762f1ab78565586375cc8e4e7efe8f567f3bb02d2086bb8b96ecff19b7098b2f3df656e7705bd787c8afd80495edfb2c293a1e5132acd1cdb419dfe59069492a7f34068f45c5a659aa7d327fbcf1a949ef0b863a2a98f28599e3a60ef1686228fa84893cf7244748d6cec7ba3fda375595efe6c441822720d38c25afbcf4278064172f815ea6bd9ed4014f2dec908652d12cab00e662ce1ea57ca746af6a640b68818fa4b8f37e991d9d08753097463fdb98191922d214e8d0e6beb7ecd2b2938f63256e3a2161118359212683c924fda0d11912546f7346d073e5c560a912676eb06ce125f70274b7e1efa2583e682aac9170061508bb57c26b709c34866910fd74604c6e338158361120cf75a6f355febc7751e0fa3dae003aa491bc8b4b11c527cf7cf982b611fcb5e3dd74bb2d66294aef626521f2c74ec657c62e69cf703d41446e895d54cb00a3d685a2c853c1c0dc760c06c28e1744358504dfaf65f350ae7082f037de0172aa75fd2d062ab586d3fbfa3a191025011600b39bb9f0b90d2320fecf351179160d042af273b3d4b4b0dd053c3d530b3225b93d043a3d30fb68d17d5d6bf0376465adbd4821b3ebe7e737a5e3688ab099d6412786a008b0d065cec95828ed55ab84560c0cb114f4234c580557650e088017f390598ca61c0818b7d121483232e3a2e5436010eb3881631e5bb32ff854c62fe2babd8451bb6a0fa5be215d3993f6e071d09efb6fd9e6d7b7c176c62adb85f580a0edeb8dfce4b05e34adbd7a4014a7e79b5a5f78372162f3114934d59c011c0e21b4b1ade9868de4e4f7d574f96a7b755cfd7a209727a31ac7bc77711d489c63fefffe8f0914b3b9e0d1c793683b59e8d2bd071ee075cc84c350f730466f45b21b0ca39e34a645a3850acb9d583ba64b317f2ac7152c840c335bcc9ac320fd83fe06f85680506171598d30081b328d7e5955db3a8a8cf5d71cef31be0a80ed32930d6b9e5ece460314481b8ef006d8885e4df10318e10b83f4d8d6561973c0b7734e16548d6d54a45d6d2f41b13d27dc3b4fcc621b259b841da00c94130e92f46dfd3ceca7868c96de35b6369eef8a83703da96e9b1bf878ce08dd19e0f9c1f6b41af04d352f88447279b894b65586190de28a9e57261bfefc25d85b800bc5d7229ac56b8a223b2735c1cdc3aeeaa5d32a56ed2cd4027535809baca0bbab4f9a00d4e2d95ba32066da9f394229d4c618582ed54d6c446808850848dfa398f79e1dbad034bc0d0838a98375ee7db958489d1cb231ce8d889d84679840332aa238810e55d819eb961962fe3d0f52a2938e75f3c6b09f70eef82bb8c826bb725a69cd43d120dfeba4b98fe981b09a72bf925aa621d568ef034c18cf40e4c28682b99ad48c7bd391864df9dc30ac733efd39d66ca0b656fb2ed273e7db952733ebd13efc82ae1c1881657f9a5521ce304cd8c3306185bdcc321dce0bc2ee37964ef9927b0ea3ecc4b32fa66cd21dc90a532525616a24585ed4a2be726ffb4cb62534f619b453f510987c276804da853112379c1d20fb6722e9f927f9f2c994f29e81c403f977a50f149be483aa98a0ce8ff1288f373e948d05d0a406cfa11b44e23f9fc221f9c4d7d3f66e87389c3446eea5666f4f70a44ca5166640db7f4bc3c097294244dd67a571d972269e2035cc462fc0866793623643568eda7f913be4be56a43064ad81cb38cc666cd85c9f7de43a14b6a84ee3104877dc518b6343bafe9410c4c86bcaec5ab4ea6de14ddf4ea2bea3bf03475af29bb7b34735fc8c9fc63d90d63634806c44f1c2ca17268ad114f2e70283d55daa3ed352603e30dd1f799a129e5e3af10040fc8c3c5a7b5a9ed929b32c3483cdb9773e993ed8c4575c2befbd99088448cecd60b3cef492a79eb5a2840fb167ee24e9003845384ca61c3919a2297e972f24e4b3d9105337c546b6766d30c9ccacabf42558e274e1671d37831bc3099c023132119991f6c081a396655412b131c94aa915f61dd66424070051b7187ebe53ef3dcb1b96872e7a589a093a47634fc49400c32bd3ae504483b7a76552bb3d0d01c4b1d6e0e614bbf8a8a02b15daccd7ef7d004c875a3ae7cb8fa0ff8518ab4d88e45b1bddcdb038c12707bdf20bc7b0b29eefbc81054810c035c1293a5ee970789728e4c60841918273679372c4e8116021d36c428ccc3f7ada983b37a5955f4fa48337cf33774f27d2c5e387bec8ecc8e80fb89a010d480bb94131b07f4faf9be2d1c1c4b8175bdbb4ff281629bff5e2fa568318fead8e4ffafd581d59d2ada7e1b7efb2d93e4a46d09645c045e97fa588b397cb97103ad82db63df3e502e6f53dbad97f17ddf8b29c11cb9c55a506aad9dcfc0540d2603883c5b831eb2c4c18e19a8c07eb2885369fb49a9233b1ff8fb2a59c0b183d6af2210f6688dfe2402d20c3de5c06389d938d3a8cc05272d765d5ecdd5318b3b41c344aa6dab3379198df7a9fd93827b698833e45a3121998857e2d4953e8377b04def25dd6f9e97e016fa4730c21cb5c4ef4e94f95596b811471124a157848de05aee32147b9e7bca37acffa69537cdeae2a298c2e69688b5284da2f14d01a0b78248ef190ccda951c0789d5970e67d7423d760931b5b467b61cc3dd0c97472880eba82d128e00097d446962de469d6a18492a9febba8c7dff815c2f0940b004294cb19facc7f5abf6ffbeb4348145091a6e1086d12cece33b1171d9a1421e68d6bae5167a1b8c305dc761f9d217e7e10e4a368d21948a09a8f85efe524dd4e6384d4175bb51c2c14fd03e5aa01525d96a19302e95797bd7000439574f499a726df6b991b8566ff45096abddf0ad5cafea770867da5076e739751bd0969b28375e0c149f8c16009cda0aa2bb8b494a946f1f96a7208f026e0f201a92385e51deb1b32a71cd2bbfbc90d9f599f87103e5661ef414f33825b209e6d82dc68714a5cf394e4cea6fcf64b977daf4d27c42ec70405b1916a5db18b98cb7e7428f6701332770db756c1b2f7dba40d76f12cfe83b7db76866d334cb24d2a7e6da5355a52464e5626151be4b5f678f4c093a22c2cc73eff0d8ff8f2a0cf3fc715509fe4c469cd82c42862f910f845ef428c155407a625c50b76311e31fc59c1870082f799dad401f2ecc1e2cab5d71313add30882ff066b8d94439294b69868a661c6f38c6e0bb772f88e08ef3534f5cd0024051463f4573de97e12bff3e6425656b327ccff016c7418226d04325e3bf8078aae546b6121440f14c5ff1ce4828e59deba907fe9aaf33acc2daca1a5210aa3c3ecb070d4f116c74b74ef6338d887423798064eec650943dfbfd126058ae3f18e8b68d11436e4b83fc8b29397712adeee112013b00aeb053ce7415def2e8828f3bda4cec181d4141f8c0038dad424287868746dfc2fd2285fed20744bc7f22d76bd8c228a7d26ab7ba011d73605aff93a916b1d71c2a46254d0cbf2a79edfd1c86685829bf8b4fc4f1d9c9fcf2064c887d1c702bcb0401746ce4c1957a316d330994420880f3f00cdd0a2a1f005f06e79a59438afbd97a60affc5c004ad8ea2d8a96c65edc684e6b2ed3dd2cbf6ea3a6e6f779ddd9317ab01d2ab88bfd997512c0bec4a4a91d5ea2c489e87260d8e5a0304c53e73b855b6324f46d37fc2dd453dee9d13a4a39004eac510c201e1b01cfec9610690b6f0e471f15758b614bcf0b079c19490794b763953e1e9189a3a900e5037a7d2e7468de73d75820f06acb2e33baedfc508d9b5902912fa50b830df73cd9d45057d805c8cf2d37ca404391ace9e6c328927acc2866d4fbb8c77cfa3b7b63d9519b487f8175744615c94c9800a6d1f6cb4026155b55906d858e4a164797f7694e760a2d91cd965ebba224d3afc30e1d76850953a7996419333b982ec2384b1a0a57b1641c79327f8db98389a14558de302fba0e461aa3141319bdd61210f592255927228bc848990b5ac769a110ddf1c6e401aaf392a1aae4d0983981044b43518dbc08bda9a1eaecb928ec9b28c6ac43a7c1bd9e11e9ea5f452d14e139cd95aa1bddf1f724ec4ec54da0a03fbb314a85d749d3788fa13f71944adde96d901133ce715b3b7cef72850226154f9eafdb818de3d1e58067960333c52518391ae9bee43d14f2f2eceb4dbd20125d7cee553a5779c289675e7a93afbde5b3bacb555886a321bd16cbd9f97c3108ecb250ad1a8810f4760e47129d0ab3a65d388c13f096a35eda53bf30583f055e0b7933f95e76269486b848dace35af8ba8aa0bb1152e11b962296b72796241a823bcaf35c9058f01c955815b47cd379f0dc715c7bdd32120e2892448205957afc48e9c4851ec9af0c2355e2a4ec30a68ea03c6fb5d52c0e841f207fa43f92f07881be41c0236bb8cb4787322a491363b15febf7fb652f1a9ca5fcbf67ef656bf931859abf1ec6c70e3a56241615e02cba226f3a976e645864225f7d1642c91b959586244205e97c5fba9bf00a00ad2a40f7d4c7cb02d51cf954eae7393b02153e6525f9583ae7a8970f0c2fc41ba7a7a32ee7a363893bec0191ba1109e6ae0f4f0f00a49c81dbcb978eab55e08eebd3fea3e5f89331a5d6234f5c028dbd6b4e9db12a3f8eeb11e7ac0a29532b52452811e324f87c997287da9938a67bace428aa20f21022716a086ba5b22de79ef3acab7e6fa0f8b01e74f1f49dc0e5953f184f515db33bc0af168aaf7171d9cfaa0f932fa2b7ebd1c31a9c0717c22618cc87a2bf249691f4d75e816f0b4918862e3fe815612f2d3dcddacc5d38eb9d8d2781d253a7e9692bf706adc1d0cb6dba83e8172f84d72018bb7478dd5e165c74d9228d6cf632c84e8b57734b93cd6d98f65c0d861e2278aff26d8763291e7ebe25344492c873f87048d4cc43afd913ef8a14a7eb15168e89acc8da033ec38c16db56842698aed808cad72481eaec9bda6aefe1c77b81b33689a24d99bc92c49034ee45e68c62e8a10d381b15e0f9f891ec6d6350c71333d850d1aba550e9b9c519f81ddaaa412644e7f002851cc18d14164e80133e41235700426f0c92102e41c47c014186c0220a178704a760d2d9326da4f2658f59d4e08456499932a32e806914adcd2cddb01ef8026d67508c8626e10a32460c270519bfc108232d4871e0b057465cd44474d00d5942c3c495a153f32c680c1faf46da6b35a9876787b6d5b67eab5bd2cc450fbe3adead5a25a62b059e2b0ee06ad399523bb7ee0af3563bb75b65c88c9b6ec70c7a40355a59883b2efa75c74185efa2eedc03db7a61f4f375ec1c06b76147863185b6318cad456a8b0d7498de3f947931a26325875ccdbe1d6ea54c365a3e16a86eb8d16979126a453187026ee8f401dc3bae051c980c62e504caee67f679fc8dfeca882202991b9e256e65b1a66b07504604a16c52e51ec7adc274daa9383d22dcf474d7bfdc10faee71b3d1f7be2a56a575092e5f8c644fc680c0051c5af8df9821013bb4f4f65097a4aab9d1aae8d830b2f6e23de25609ae3882a0cae7622a187950d58f46bfa760e1485fa8b4b3efb55dff8b217872c16e9d20f8bb7743fbe1420f5d1fad2bd12e5ea4218ad4d94ae2722fd607b46732e43090d67721841a2dbf9a375fcef92c59f2587bfcd050971b20f24bad0fb685b4846cafe86cc2ba0d6ab5e9c0875fbeaf80c0e49eb8d52772d885b5ea57206b105dc1ef92998e0db7ebc252aff414c6c1081a1e7431973b49c2c5a8f2cb00f4e1d3950486c6420d12a2cfb6ec985bd263525d348403e6e7debf76e2ef53b82b1d237aa08a261c45e8b343f6cbbcfebaa410b31378543712bee4eab252ba60b5adcc228bf0f3117fe47e4bfbf447946acb535f59fea06eeaab3ac68403654a5e6d209452c21391f0a015b37a1687f8cae79af83ad7d31a7e3f2150a3673c195fc32e13196d0785cf78dc957920e468b647d061fd26f199d7e2f3a2124f94b9b9f35bc206f7199e9af31d6c1e4235f1a24bbccd156ed39b8b6522fa9b3acb11da52ca83e53a4a5e7ea77b80471ccd59815a43e0852270fe19327190d94dab6cd8094a55f9bf8b22141150738b4fc10d65b1480d5935385b2b251473380c720fb41cdd054697da879f2cdee3b84f89f7c82efe77d93d4bcd2826b753c4b758b1cbe1287ea1feb922692064f4c269510991be59f8ec53f649ed47fdbc7c07c01971bb73e30df503802ee961406e63bf5bf9a1b2860bb9b752fedbe57cf4d3206b44efbbe37e67d30b6dc2a8cbc525caad417b442353a1a39fdf8fcb8e60610d18a7901e3c0224edfe31ec607eddf6c96a03b22a150c6fd87ecb0e21ba86a2f1e1ad6d684ad32b0b8c79e189c5fd43936a9ef4b4b2a5c4462e2cec011278415509534591d630785570e84bcc433e8d42c71245af52dd20fb8ba29577fb719296215cccac058dfb4b52aa38e683a3d4101c87a54e42daa05aa017eff1085a0d46654d984aad8a3f3d9b5820013dd1ea3965bc7515990cb1d309191a6eaaeef7838f6a56e776529ffd8d043235747a235a2e42841cfd579287d6b3f00cede21e6acb3fd2ae439f2f320ed69a6fa76de582be75c078e1ed7b16a46f335252ee0e3785689a1fff52b46a8c36e5007ca11c01248055e2567eefbe34ef0d8dfd2f0a74f39ee84ba356818b1d938182a3b9fc2745c5aaf001c42355316b29e89370ef48f6ef6fc46f2fce52e54523474470090c8a7de678ade04b4d1c5124aaf52f66388fcf098264fea89105d6b1522a567a0b64484ce95f68b63b02a499f57dc99e8acd71c124c5ee983c2aa00a6ef10ddbb956c09462615ffc690acb30bc9ef7b19e6b9b01360e10f32dcdc497ee91bcc30b4198652b1c223fc6e1d032b451d4e18d8c13393d719e4f26177d96010a955e9ce92c0076847a03106cde924c8f6fb87935e7bdb9fc6c7363380b5c122a687abfd96ddfd411d9e6185f1217ae5b1db1da919b3693bba8cf9a0e1a7d7f375b87ab054c7252fdd84e4841b54f35cefee7a9907b7d338749058c6ce5cfeb6da8226c65d2051e6cd17885639212bbfb69b8053146a62aa70cac2b6461b38e29c169fd3222e466606279b838872fac97e410dea2d4996e57b460634d6674d715f851c2be96b0a542a0e9bdebc1c71d0b44e8d437141eb2415caa13f9a93578ba4ec88acc45a9083b759d1058053d03e93571ef4a2bb917cf4799caf51fec30cda773e904635f9ea31ba183d0a089f804cbcef22b21d0a66309208478d16d458bc7d59b939a9629a21f8aecfce7625b06b1e84e65752e1e9da08c0a47f2cf25725b51d990fe5c4a58371c0445376d552ca8e2f7724ce69a078546f5db16725213074ac63f1b95dc10793f16f00c4792ca9117f0932eb1b0a992acafecaed6f4642d857cdf54fc19593f2242ab31600e9df3950d1691c9e6e888554756f6db325842ce65da0013fa3260738ea8f31c28c6a899bd6321a55f64499217df39f56bd49e6ef98760bb0c01eecb9d43659eadac37ecae1013fd9d01644aa9dd5992419123657b43f4685f1e39e5d471b288ecc153d04a84b0e5d2d3081099ab9e485ea91876924d90180c2e3db104daf79c7f795207157a78298d2dc1a516c640e354ab2402a21483d241d10ab86783f49ae94affd9cab743ab074c0fbf6b10bcb96de3820a215c3c85266e86830861c970a5fe6d65dde0496c1bd15b0659f6219c88b634cc890ad395fae823dd36eb5df5311b2a72d6e74c4881406e2d1d0e17fc843a278712a192c3714eef948b423a7ae4573331e4581363616adbcbd6f0c0eae7b79f470e455d9f89e4737830845a2519d7ef127c3341a24066678ba31ab423a9a5cb2b96ad454bf2bcbf7361deed0ed87380dbfaefb08d1380f0effda36a610de816bf3e7df13120f8f1a8e30cf17754f4bf3b4145f00b416287c4cbd17f0bcf447f094af3db1849dfa19f29d4b4e590f9a79b5840717f0644150f1b2160a9e58d6a1a33a05c6864e0cb8014d4367c5e933b4a110a024cfa2660d30ca8bc18ed76f0c6dd1135efdeb7518bd8b7b1ed5711a9916948d8711845ca4ccb1c725106b52ea030a5e2b261004756c4a08db4f15a50e0cdf8a08d67a3a9e358a9d0c8354c38135506e995898d6ab024b29b8c734eaad6c680b16deafb6a3e087a8c522c4816116d40d9f4c51621a83160491b878a6cf5616033d78d15595fe96f178269f2520a45213aa5ea37f53a4b7b73de991ec4d326c9472899ce3049306c74d217abc66ddec2666ef8443f1b542f9f3101b5a03ec4b00071f5a8602e2a55f063fbd0a17c439f3b643374af5a03488ad5858e3ec40ffcf84a4a19e88f4ec7d2f9718026c152d16b5136c34ea90f02f9e4e1396c05a8f7bd5d60cdef55d37eb4a27a71b924114bc977e297008d0e8517ea91f065d320f531cd4d91852aae9e735c167952fc891bf164a82b1f9417bfead75847045d6d2fe2a6351d914a5bc4bb1db11e11e8815998e4c984c806966ca81098390d4cd2d03d248f9e0cdbfe3d4b5952acd5d5bac3d2dbacb405fadc5656e4a956b4c868a74e912ce8c6c40401a5c70a62dbac2e265244f7197aa0b8c7a5e59e3b7b2c6804d2dd0093db1268fdd23592db38936ed766b3565ab5fb3b8c3ace6628a32e1449b71450ede112e4bbad47da76f49921e9a20726c026d2ea2bf3addfa0ee585ed66e5dc343be65f2b85bb0f57392a4f654a9caa76a8bf674d956b55c6f2e844a06b2f6323324008efedb68b9406f2cdef143b4d604b5815df2227054e5ca8c17c82b46c56858b50c818ba76d5ed082e3eaf944bc925044318451547f1129efb53cb887bfddda49a61df130e289b91d5a59032f097b9f26801bff6d71e44ea07aea14201e938c87882d9c7b5a780e36548f4769bbb6e9e80ab5abf772e53df83ce0f64394fe1827f84b27344887c9f72108eb3c0c9c1971f803b93693be0e1400dd791a72da7f604a1f6850c7eaaa7496ee7b08368b9cc1cb6849bd5d84e84ce76055cafb9b140e21a1e7f3bcf89a6d217488fd01afbe81864dc1993f93a02e95cd212a7f3a62f2ddc86af5323463c7b3ebc17fc9080ba6b48ebf1e90380887f391805d433061070223fc541be329be4a849a594b386e626ce6f7ce474f7fad654badf33c3feb6d0a01472158629e9efac59fa82a79baa47abd817c600712a547c771323ac1ab76e3df7477511e4e4ea5be6f5fcd65f5df970245540c6d9ab50a8135235c8954525b763d2573c0d533c0f9a4bec4828a341d56472da9b3eef496125546ea16bdf8e9b50fa3da37b70870b7562f48191368f7c7c67585a81e9b0df15266e9939cc98ffd96ffc17acaa1eb8df1bcec37992a8ef0abb18fbc2b57cef212079491932f85683f09044461140ddf9e153632cf438aac439a44f6f2ed811ca24765cd3efcfa4ee705e11d075bde191df4e88b5424d4a90cc2eb1fdc2f9156a4149958ce9c84622540458a330987142bf7e002f7f8e1369707a1a5ef5cd34337f4f6682903e49434e93d8935e1034fce23984a1e027c0b418742f299fa1f502a85454a30fd4e0e623ae7c12a78b2625e8481ae001e591ae739910c68ea449e13d3cbf9d1c62274eca35a299a6fc25d01d4eec098db1e1e8fd07bcb9e79b12e3692fddb4cc0f6bb4001cbe6f95f081218795687c21b0de20f3c29dc6e0ee0f0c01db986687420227bf9d2b68fee969a8f1840572c0b9018ce135deb3b4783344aeaffb8c41d8f4043e14d94d1947d62b4675362171dd92ea514adf601a3bd9b3b632b5c9b7b95a1d5fe646d23963337ac3a81b702817f51139e0cc6b524330f17b99766a01fa1efaec1305f29068c735cf9f616642816d4a671e2a7c4b33b3d60aea46a64693fc8c22ed764695a4baae5954647a4e52798a4ee825c5eac542d7c15f3e878dfdd0af25cefb56ab3beb148c8ce610ef19c28ad5205352914076ccf4d1a0ae840676202e480024d9f30df57481efd4ee4e56e4ccd9e2887f609ef053ec47ae3c8607d9202833a468f9bee4f44f809aa4f09845f438815c5ede073e0c0cf4f6d23aeb226aeda4d9c44b2323c56ec2604de2eb5fdc8bb3d127adc23a9adff13026d5168f994720e90a37e733a2490df6d4c6947b522b5a8e9c8f2465ad50639d29cb1be0d1ea71fea265705609e674f75649e44cc6cb5e737032d60a91e968b6fd9a02a90960210b293c6471c844827a16d48f5d8d6f18ce37b3b130970075143b791d5021942fa6904bba51b711933782d050d417c7c179611266fadc907feb307555b0add913734b3702b59dc441043a2d5ba043c16cb90c2d8255ad6508674569265edd61cbcdf7a366f28985177e50099882eb90f5a3b6e2a900c52940b4d89d40a56ada0c19b73bf8e3fcdc82e3a6aca116c983fcbbd0659afd2d8afd7105d53f843691aba07155a5a8abe5845b587177c5603e01fe48db0949d1d434ce303a8d5f7bbd948107f92eead5720729a89f13f8f215f8a0e414382b80f260f9744b1b71342bb14391344817b5f83ca8b53c0c62dbedf9e20762ff31bd268e02c191ffafd2dc3b568235fd3630bcd6378cd7d99074bb0940e4c570234809a85a0a9ea8862e52f65a8a0757a1289817163fefdd3cfdad67868c1514a2ce71cc59c9eac95d3725400a4da58a0eff8fb44f7255804ed036604ebc26939fce147c58d5df5ad766be55bf7be600e3f10f8456ecf3f89134eb9d482cc0b9884b0f2f53f34eeedbb8c94cab6bf626496c3ae92fc9b309508eb5f72f00766d3045e7fc52754df8799f7e3867b7f689d1cf377ccefc83d094c0adbd029230fee9be73ba686859b2ef41dd953080fdfea20faff36518decb920074ce79d9c77f3d13820da792fa955350d565a529d6691f5a21d2474b3182762e035e1d9300b7084ef2e52f7cac0be7607cef12bef013a87a12b80ab599aa693ae36113e52175a71f384e41f8ccacde49ab5c9ed6b88e843709197d57151157c31c202b4d03da48a2c76ac0b88e111e9470c6e1d107889a1b82e98d8f05c51a69e25cf686a674e291896dd8ce85e20e6adbc07817d6ecc4f23f039004ce06265fe4e142b0fba8992cf300fef86cccbf29ce459aee497c80e3e090349b6940eeaab3514cc3fcf2064af1045a1e25baa9b570a40b880515f0541c7a3f5abbff082cce0c4e189a8a7427578b09afc37d527463d537064a0a0f5d6b2fb7783220b48ebf195dc9d33622179f26f238907a977f9fa786136a14137875f2323139f29f1228c20e3884f08878445dadfc192d51d05fe04e38d78713b06510c806884ff88713a8bfb2422b80c21e583c73bf4eef59f418bc1230e2f6bf661f0ab34052e7d3c0319e4c65241a0929d0ccc031ab6428d59200ebb4a076da94d4f60a0e050c9a6194aa35b32d0fdfc1338a3531c1b52497aaf5f01092f0c4cccecc71ca5b4798e2a177a1e75cb513b7207e614473b8dab29327fae3b21632fd457238dcc212409d97bef2df796492629037e08ad08d6089653bab8e54413e643041458cc5881c6124f661f70d2e22909325128c183e7c0c20b42ffeb63052ef1101db860c387d0b005952cb66023573c644a182edd04a55c74c97d9bba5750253798dc35167267a18ea1ddbbb38fdfffab3df3466e23ecb393159681bf6bfa63dac136964d7e889587d2c025cb0ccb0ced607b0f87d4df58fe9b38d21e30e7feb3b3cc34e9b487ff267ab4873f8f22300b0deb4c93ce3293fd69f6cb579fe298f56f5af3c7f471edc8d55a6b371260f706f2cfb673c92a932bab0ceda0e53acad3c717bea0abd5e450153c7389b17585d00666555929be025009b325d39ff37b95e9037d4a68ee0dd49f5df29c331c527b88064c91f826aca438bec0fd8fa4ca6afd9f0855f8f39f3f904c9f9e29b380386511983df549521431781f2992532a4d567a65480cee9ff5c5c8b51acd5ed16a1fc9fce1390253265a106a3f6b416ce3bd18bb5cbf73056ddace0042059e4f1f8715787e09f6f826ec472567ad76ace37c7f040899c1f63fdab8c99ee953bf67cae8ac95acb514f38ce28235c210b812d59e2fb89c4ff413aa32a27a7195cd195494910f0ed8d50a010d5cfefc0879e1a5a469673a36c93cc260a2244b288d0885244d766575254a82c20843e09a6719865085fa55df032bbeea07e53afef0408385fa832c09c3498b19465444f161d67f64ca9a80600a189268c2046684f18505664f3f0b4822a6a128b804338844c6ace17e224a64027d1f28ca59434284b1cb15ab6dd8e20ea2c445320653caadca26158963dcf48546e5fa48631ff1e880cbd816a7ded250cda59dc0a7266bac7e507da1593f487d9b2e17d7ed6bb5c63e58a28660069760896774dbc4ee228e3004eed0a9d3f652418fc25295bdff1cd6e3f578dfb6895085b74fa14320425d9f746ce66d5ff3659582bfac4aed3d8e2e705969250deb938a54a5d4a40662bdf741c0c0db07a9a3f742d57ba22ab3ef7d92f9a3b3f748aaccdfc373e5fde7030566c254c4ffc633b16ff34cfc6f74617b5ef77895367dbcf711033361c2cfc4e6ed33b9f1fed4e6ed17b1793bbe565fc454a4f5387ff3f6f158e4c60a672cf2279bf4be7fe58569d25b79544d7a3de646f4c2f7ee7b9ef71e5391d6df80df1a99560fbef7b60c28c26aa4549b18e61992d0e95435e9d944d944796fe3c57b9b9af736545ec8755fd70dd180b7f7fe7b11aa3098e7db887376e38658976a8ff736a2f75f874a68eefe13bfdc8db569fa780c60a3d2ea91f718bb5cff24198b9541b969fa789fbd7ad4a4f7df588d9af43cef27cc1b4fb0b90d32d13217804cf34739eee7731e74acca9ebb5b3017eebbeec1bf4f4e99fdeebbff29f3ff3a2e00f98aa0e8c2f5e328179b3e9c1d5f9d8fafaeffaba00855b8b9dc3dd7dda026b9bfe34f93dc0f89c1db97b1ccfd8471e30998a6c6372790ddead67652776f5b3734dedddd6d5bdf7cb373babb0bf17d377ffed9a08d8e2f21a5678a779adcac732bf8a6973b6e9bb4ff471e800ca87ba77397b9ad52efe1d2e9ced55a6b9dd3a7dbdb649db572b5ba8f65adb50aedb8aaf55abdd65a6bbdac28dcbdbabbb55fddddebae67ed57fbd76e2464e766f5582c4c6f8f1056c8b473ebae8cdb39f638d0fa9dd4f5240efaf909f220fc01c3a902cc5d8c318b85694fb75ce418388c723b4aabc74df03690ed38b072afdde5ba34696001f0917d88387bfcb99eec0f0680841c0a11739a34de7597db6cd78541bbfaedecf5da791cc8f9a55c5dad585d9f84913c42987b7d4fec443c7b1c0ac1d93eaefd8fc40b853c0b6485402ae6aaed698f7c01f7f72f673b8b678882afb691dd27380a41c1338c11b9bc9976d0b4cc46f5608d1ae6fb26de82e9009870797dd6a6eedc00987009d2302008732597b11784a122449824d614616800832ffe0e63e449214925b1622ef840f05e4cb52ae3fbb208c778de9417225335106711765e9e3e28d6ade239612eaab3126e606ad707fbe588d3028a536d5ab400562259d8d86d0c05e68c1a22525560be08897c693acaeed5ae3bba52650557a27c61aec8106ba49a2b469cbd26a8924323acb8c0fbc20a1a5e1156c6b85858d982858615a9589e5224084115b4c1e490e93ba518890816997e9123488896d84fd24038533022c8d6e2250fed755cff424d2bbe44c1dd9328550c41a34d2cd4426d69ed228a3254d9f531cac4c4435ecdbab7bfeedb08e2960f78aa2ad75cbbb88720f73f914598dceff2d244eedfa1079802970e23796471943b7b1537b8dd56e50a683a2bb68e09c981da9712fa12529ffb10081d6108ec230c81695b4c5d766c61ec7ab20d2fcf9f38a8c0f4ab30e715f4d68869c0609eb0aea1f32a6447af638c9a8002a54da594f0146cae230a5408df823f5bfd69d77771cc1f05db496f9fbf7380e5cdd4daafb5ad0577c6eb6d67b5d5066514666dac3d34f5f6b74fbf6b4d4e1c8571ebabfe4db2d3b7de4ad8cfd52718a4c9f91c50c9b5565742b37f983fc8d88baf86184c99eb6602b5ec04faf1d347148fb81670e999bab0c00fde0bba37d9b3f6b8fff6fed387daff7e1359d65b86fd7b2cbfec7fe40b5c7fa7499b4914c80c6b9282b9c3a19e6c3f05cf2a6cb9f64627b7ad5e42b6bc7de76d2c8d64ab943f56d3ee769900d3b62978fe42b6cb725fde2fed97db971c47de7bdf5aebdab60dd77abbae7ba14efadc1dbbfb63d62c7f72c77890b3c2dcfd5de99bb0f215d529e1f243ea0f89d62e3b903d906b5466801ad83edddcd0a60f15186929f77b513a4fe4fe14682ebda879e3052eeb444d997fff0dadca7c7c21dd1c95afa3dc5fbe6859e78c4e950e954ecd1b5f493a5e3a8cafcbc5fd6f24f9baf11752ee1bdaeba9cb366760fae50ba92a9737514839059acb1b9ace135caee34d064b60fae50dcdd65754377704115af09422829012c1757b41a929b7db0827a919422c495ddac0589e3c880571678066a8e1858005a1195dc6886190a7945112517cb58edd4b553a0067309d73ce69dd6baa3df35d74eac6423af777ee1149a6f150256fd55a51360723e9fac0e869d68d4736405f4670cc00849425dacc7b6f5cc17bef5dec3ce403a3a76c3f307aca760c82f681d1d36c056f64da9ec9ed7b22d3567df3c04c559ea11d299422ba42031165c6641f14695017ec03ca4712180829090a1155cf6e7cd50fab05e7ac6bad959627d447c1fe40cb43ac08d2640c8caf2176e6cfc797bffd81967d4c627f787990101425c4f050048d8834656840694a0b114ce8d0040bb35a75e673935395755e6a543eba88a25e7c48814b1a95c1ffbec1f1757fcebaf1c53df873e6c237be6ed48cd6c617f7dac69711d6194f5d66de1be91e1c993015619df12465c4fb2433386165e6fd9c09f50663e026a77efa34654d6480014c951bc634a591e2060a84505263043c28d1c2acbf7eb50dd4c04950a051974645d9305165c6586b1110242a8ad66a96b8760941c550652aa696e9fbfbd040ffd2c7f45d556edc4ae98f0a5e14477c178ef294328a22f39432aa65af5265e2f73bed687cf185740ec5979090f5e137c94f4d8e81cb7ec2cf62fd8d582400293c1ccd6e5e27e7e76c67e771de888ecee38c4c9e09ceeffc9c7d0dd54074149f6e21001a4f4338307237365493ad5a1d47142e605af3fdcac951b0d31a88cc3f6a4ef2a52a7bb993e779ded3271ddfffe910757ce9341de3ab08ec7558b1888eb722fd191681bd8eb1e8f530fa54efacb2fbd4c6dad8746e58d31413586c2ce5f9fe1bb52ac3f1fd12e7cc9166edd93c012c600cdef53a7ec733158131bd5ebf632c7a8d30d7c5c9c1e071de88eb737e86448c3078d7bfbe3eae321d5fffd321bee8eff8397b89af87bd111dbf63848db36f768d7dddb0296f78b1376ed8775acb769668349a9306eaf77eeff77e079a5f76a0353510bd6163c50b7441f25265395e87c824e775fc4bc4f917cebf9e8e45725e07d621d225d8377989aed7ebf822afd7f1f4758c454c742ca2e3616351ceeb186911cebf465a0547dcf91c51e7479189cee7bc28e63c939dc7f99af4fd15e981b4c65702761ee78fec3cce7844e773c6af3db4bddc18cb6b334219b9790a555f42be571038e30a3a44d0669da57d7c938cc50c34c961ceb3c49943eab426bb9ffaa9a19ac717d88f9aeca11970d959b86ff1ff46ccf9191eb154523fb0706696f342eda1911f5f4570fef5afb1a8dae0c30cc748cef82a725344801a9068b39b6f3273f03d2462b4f33a2e247d0dbe88f3345cb593505fd113738838cf23e28c384423a6f2861956e41db108e773fe135ff6672e69eebe4e2cdb4a3ee17e375d3304e28d6551f69e8a2f84c4150b22b2a4cae64c4951f64a265ef25552b36725cf3084b692af0a3677df589ac4b99be878c2fdbe924fb8df4ddd90b692ef48c5be9239b1afe41f275c761353919cd7c17905cc198ecee3ece88c416a4fe78c41b5e75faf73331e81da197146a2da9383f34c988aecbceb99dc3c06cf64e75d5f4eaa2ac3195f46703ee7734626398ff373d6bf233680f61a67edd119e9d1190cc6597b5c63237558c534a5c412483965e0a82a73f59c8daee452723f92121938b0c08a4a68ae2e529a140627f99127dd887486167c419ae1883f9c98cdb008cee738cd9172c6779aab69c99dc8d9ac295327f7da549d704412cac0334c22807ca3a6c98d1699f826acec59caa50e2d07529559252ab97e992329d7ff528796ebbff7276c5fdd2ad9aecb61468e16785e2762c02ee5d203b57c02f71b96ec75ddf61609b6654bae4fb0a62aabf9fa30a72ac3b02772fd6f881bcb0d04bda8e953a9942c319ee73d1e4b14960a10039e5fb0a0e5d22ae5aaf4b91b2d95b0edd8aa9a3ef55b55b9feea614d423a77df8d12c8967ec912936369fad4af11bd270faaf6dcb755bca72ac3af804ecaa5adc2bd7f0a3797de53f6a2727d9a6329d75fc19a52a0b96c55795d721dbde7d68d57c95269a0d9759ed7977a4f477cc05dbf8435b5b5d6766551d9ca1769270decff795f7349816c974a0fd4f0f4e9be6b27ded151b04b991b6f93e3503901ef890a1bdce29b4e412801a67f7f4e20f70a6bf28ae54f9ecf89259967a57debd3a6dddde3acfddb58ed38dd72d4a35ddde20ed7600c7a0290e78b6e41d88ffdae06833c633fb15883d014ebdfb8ce146cedc8662c8663b1d88dc582beeedb569e18df57bf5a6315367de683b48a62be423a7775bbf546e7e676e39aa393b3e0d6229dd6b797908d53fa6e66c760e558f697b5dbbddb70a8bbf7981bc7a73775cf3d7259be016c5dff4e9feafde59c7392b4c7fcdaddddb5e917dcd6cfe5b2484cadf67db55aad3604ad7e4768056113666d05f1d6f5779b925ebfceba5b72becbab8f5b76e4c7abb47385b347ffa47ad68fcd3e82dce56ee7fee50d40b00604276bcabeffc69f1e1ae4c809ef0531fef9b17900627eb8ef3f9c7439cfe3eed76ddbe627646babfdb66ea271fb6d5dc75dafb3dbb639ad75abdbe697fbdc7efdb8db7177fb6ef3c6e094389c13cd72291615bcaaedcb49e5f96739aebbf7da7befbdf75e8eebeebddb57ff6aefbdf7de7b39aebb38a5adf5de7bb7affed56ebf03c4576bed5c1f601f795e9fa761c79451a40d367f50a4fa94e640919066f596dc89c6adb72da14feea54fb8dbdd766bad67ed67dfdaba6d2190edb770a8b347561897bd8d5381f6e8773bbb49dabf623849fb1f9206aa99e4cd981267e4425882050b922aab993ddd7795edbef36a533bedcaeb46778ecb5042424342424f4f770b8a91ff1afc3fd7d9ecc2c1e164fb947274098a65f6f4d32d515b9cc8fd75cbec3942c0ef973fefdbc1e1921143851584181f801063c315312fb05143d3c20d6b65acbc56008d6a0c6d0c48ab4dad9c6a5c3c274f352d5e54ed88d0a946024e012c54a951f114d0c251ad538091971a0da1029c20cd10b2b1830842b0030e6bec6083d30e2e0031e50c8bca14316e17ece52935a5f6794a8dc00c203e275c65b5be08db2b194b21db93b0f9f4a93f94062e79786807fef55dff0408822008f637561c64e09a95d43469708881ebff7cec938cba71d77e6e61f387b59dddeedbe7b610dac094e3be398ee3388b1b68b376fb8d23613524810b87ee8f25cddbc859fbf6dafb426db76b9fb3d6da9fb0b9645165ee3bb1a44fb934b9bd1551005f43687e0de96cdf8e27d8ef3cb3507c13064efba5db6ddbb65a2ea165252b94949694ab93dcaf845e5a6e5abeb4dc4f02165c066519705003950568b125854bc81518cc3761635031f334a374080b878d21a0c1b4032a8a789ad1dfc1d4dacef2042379fc040975ee0f6226f723a0483bc560eea9dcdf3d7be5a3d71debb0ff212c30fd72a7c6d451cd14e5d3477feae44f9fb634d02afb53282ed99f72f1afb404917c137b64a18536a3535284419bf9980297d4e849f74897b8c0254552429222c40897f44936a2472212ff9debce43a44a4afe948a3fbde24fb1f8fbb80153a5f983077f0b052e7fb22bf9ffb4ffb4532a74e946f61f6aa24ad91f0c83f5b2d67695aafa4428d44f527f49fda2fad44829d755ae730a0452727ddb0e20122657a95cebcff936363b6827f931269a02c82dd6be1cd2f4015b780479a484f50647aebfe327387daa1d87a21031fb37eb44a30943324c245634c18a44b7369110cdd1043a0485cb7bd3cc30953e45aad5012da34e98d040b271d6af42ff122e5d728fb9a75ce092fbe9132aa5d24924d625ab11021a5cc6623da7034c40d2e45013a65fcedbda8181ddb6bba397ab7dbb6d77779fd06dbbaeb3d65e6eebdb6dedb5dedd5be5fad2ee2e14e29e697bab4b59677cedad9d0bfebbbd76e3366ea3dfffffef75de64775ef5befe40faa017bebfb7fa7ab8774a91bf0ad2d2f3bd1bc85d908af7721db759efba7d0d6eebf90eea4609b1c45aebd7f65ccedb942b02fcea66397badbddc56dfebaefa8ccd929c4fb916209f20021698be734fd5edc65577776ec4b5be6f9be5a6dfdae16adb03e937c12667078237974d721d89a6cf7c7cb306cdc3ea7e6db76df75aae5aafeeb69ae04fbd0fe4388ee3388eb34f6df748fa1b67cde3ecd3ae3eb5193080e3e6e6dbb66dd57d735badf555a56168adb3ba68f2d061ddedf0c5dbf7d9eda39f5bbb7d255265d54bae618c31c61fc9d1243db3ef9bcceaac429a3b66dfb4d65a71f6596bbb0f03f1e1032d7739dbaaee451eae2afebe8f05367593ae719c2c79480466efeed87ecee9c2b601968aabbc6d4e291213be8e8d046a0605cd2946de70c860921bf748aa8cba5c188f0030324eb266ca00ea7271b373e1db79f3fb40fb986edcb554f46fdbc2555db14070db40d6d3376125a55ddd865e271198e7bcb097c19ebc63e9dac68be4b3d7cdb755fe368e12d984717560995c9299d26850502c46923d6b4f4f28d7774a9faa8c4ae99efe7bb1cb25853ed93084ce34cbf4e9174105525cae49e4719924c916087a938882a10dc310487da2f9638589a84d9858752ff215abb2645eed4992d9239a3f56de7b168602b0004b4dd5402d7895e7940b3416148c23064b088cc1ac8ec0780a500ab3f29c325a820822be303098e794d10f5a702bcf2923282968e38bc236794eb530c6d3bd365f6c584e355480ab0330b1846f969af027160b3a4096aaee991f38c5cbca4acd378516b670038eb7c352f7cca9165ab019c355820e4753884e46e4d078c0a902c52a218733598425dc40056555020e49532cb05042125458c294260f62418f411742600df2941aa2885cc6c230f08e3ca5869881f505cec9534a88344032308e3ca584f8b2461341fc001e21c4117eaa92c60b55bcb856e0579e5255a0d42882892a4a3100e42965c54a17418804c5c89d4cffc9187162039e32234e62b8b5877c67d505f25aa79c4cc9fd94cc7dbf1e838a72d77cfad8a5fefe5176bafb18aa2b5dd23012028c095ce0c2154f0c81544a654c08727f6b0c195eb491fbffc3f0c2881ceeb68b17a46871a0044f08a4d22a5f0491fb5b4d8696dbcb9834b91f87dd36151c9101ede6d6774220958261854e08a46f7777f708c8e4eec62004d24e65e64e460cd9c92023c3fe30924719321eab35bbbbbb3791c0734220ee5d7490f192fb7142206d46d7ad61050c1b2ef8c006952936d6d0028d940cfbff04792004c24d08c4a1bc781e19696c5106163294c145f6df793396c8fe30b20a29fbf3f08f559191fd7f9466fe1e08b10086ec0f4210167491fd11d00a8178176d6491fdfdc63d038d206c5cf736c5d0aa0981b45b79c1165aa471eaf2648a1646f6e7f1d340334f2930ae647f0f1a4847f67f4111d91f87403c05ee6240b1622606175fc64822fbeff8b33efb36b748f105892f6c30e1d0346b335944a0d4059823cc88dab000024bee07a1572190761eb2bfdf34d4c8fea03f56e38aecdff2772d65ff9d336c64d722fb932e98cafe3c3ca6a5055f5460c68a993678647fd045c67d8c366e19a9ec0fd630f36fb976be2f536b1842647f0f630a6800d9df731d604c1b33649f22fb7741414cf48c511a3bf3796f08a4d216948004d254047920e48551ee91fdb710885ff70a2c45e9e18a1894aa3c31a5484194335096b06109055b15283c3f838cdc31cce6196afc38234aeef7a794d61efa9e001aed8c2a262f4cd48ecab0808b2bcc807172c4cc5500e68734f53de8e923a081e807c974a4ee6844e5fefe0e72f777d1289a184185881c9e8461440b20a0800bca50e305346540a0c6ccafc80ec396ec0f42cbf08c03280c323d913f2a2e730b2a2999032bdfcffcd1ae097ebffaf91846f268a0cec7cffc11fe9cbf1231f87dff8162fd09825fba4a0c7e794b1f43366ed25e85636bfad8b1bcc9f60420ef69befa02a082b600a8e8e955d0d553db7044ad69b1e1ca3602181b070667431f368e0b4720c35d3277f36ee0ee0854b71b81aae36c40a2d506da87865733e6034718030c471823fc362ea66a909aaa418aca92313159f33fcc049e5f57356cc973dca1d95721c8c25c7c13567ab7171d54e0eec28c5357911295a5657436a5baa0d237ccf9833e142a3ce4fe8f062577fd39ea88a26cf08e3e96dd349b7ca9c99bbc88a57a8448ed01cf8c003ff8e07f3517e0e2a9c999e714794a95c0880c8a65e0993bd3a4dad353345f208394a759f89e58f46d3103bf825da3e20105b3fe7b9a54652ffbb296dab188b77a6fa448ac8ff54de192363951fa03e75e7d37521f2560cdd90c5f09607df746be9af165f1d83d7e23ded78c4cbef71e77acb188a908ebbfffc622a63288ef8df068599a315961fcfe1b57c0cfc4c51af1c8e4cffaefcbcb0a0fe639e583965c27ed0e79a0e80a45f55e50bd870e6e7be860eb4dc3ad7b7d10896f0cbb59bb35855c6cdcb6592bab28ee72dc06c4eceeedbcaee3814aae3e1ccd8f47cb076a01bd704e30e4c912aeb2acc0960bc25518eee40a561b062463c55aad26e67902d73c51c36a55816b789e6a6c9e6cf007458d8d4dc8e384cd0d276ed48049d8dcb871a3d5b2096fb45a218f12ad1b256e6e842d70dee0dcdc4c9c9c9c90a7891c57132e1c6f23c79593335de00c434747e7f5c2e0e342e7f50a799878ed30b1a313bec050cb0e8e9d9d1e683d208148e0e0c18183c4926b28044f0e1e9e1c9f23c7bff85fc551147fd4318e3c6c99309e2cb01d5976e808613b76843c4becc860890c6061133bc0cf880c34c820831d6c42a001a98106640f49566180460f007a7a7c88ca25ceb53e4e9e534a50385d3200b0010000a0545d4aebcb063c36d82007a55c77c0924b30572e3c421ee19098421d77461c3b94c96550ae64ae5b72edf9fd38a60f071c70d0a3870f8e101cf4e8d12316e3e0464a0f70c67894c0f309aa29c7c23021101e2570a8458ff09b754c8098cfdfbbc83b330435e801972adcfca1982c56718e748a152b3b5056aca0008c2fb8286ce5c182abdb6a2b0f969e3f344dfdd0c30f364c71ea8718f24e93b572d99c0c02bbdd7c7332084cbf6ebe59afbd454a966cf39c9242264bb912264f2953190ca570c93bb39d7c17c09ee7130f5299fec7ba00b6793ef11035757c535c669511e0053b6cb184c68a08a866d909991abea4d122aa6a367f3efd6f524a7b523a362d84269ae4727e069ae4a65728a565fa7e44df91a6272da1a93f1f4f2aa232141d72ed31ab4f916aa5014dae3872a5c14caeb5e9247b265000ea9c6384c0c0e53cf354a997542c572e0f97abe224489cc90d948451ee51852672044995f9ac69f8e30aa64f6bbeb383fefade941960f6d44f810d165f72cdb34715fa81032e6fc5f5c924f0eca2065aee2223fa24d3a71c0d9f50d50757cc11bef98dddf3cb59e72696db772eb9e6380e03609e63a942de46144020d38a3c55504e2c72fb9cde8ebdb5d1ba4519602dc2ebeb005edabda5d549d89f005b1a94fdc91964fee0de9fb51243b173f72f6fe85f57e37893f8c41d93bcffd92139f2f7b327dfaf0bc8dbd78e1b61d3e7deaff5ffaf0366e8f952bf3b7c0bbce034e30323b08f9edf8b6fc2b864aff4b9fadcc5b904a9c8bd8b4a56a84e82e73bba1b89079855642f623e059133c8fcd1bdfd55285224727dfab006f2de7e2882e267df1333f07e0220bb912d77e38ee9e3193060f3ed3a10cb652b83ef0c39d6a98a9be10997376df7fbca4d0d72522ac1a9bc38a9a584d3d40c2edc28c104b52764b84a500209ace16ac13b794e3db94296a7541396329478a10529a8a22a08279898692982a6c60aae10310514176a9d7ab2044ea656fc2025e5850ba0f0620cd994da820609307268410e4b34086460e329d7dad592fb6f0bb9b74cc980020d6278c255bb3384ee24988a6149ccfdf40634b08b6353be09db60d61f84470a2ec93be7ad4f41881c217904a9411e2099b1e946e299829d2635e99fc17efa489dd44b5d85d233669af4508425b6a656435553557306ccd3fee63ca8e04ef29a5a234d1f7fecee35b5ec5fb3a16101bbd5f5ce1fcdcab749115e4a680e83dfe889942a002aeba95f972ace25b6e38f3c69073b4e8a9aec46b3829ac5373f03344fcc830a76f5d8d20297209e3ef4a7494affa8cef72c0d543aadd6a3967511b4291b65d8b1c06026f7bb933f51a7b91599073cbbdbbd9ffa5003f79715893ecd0f0a8ac548126922d1eb05d75cb367943d3aa2caf6e90726f01d965023d9c139aca36b0a862cb96cb5c69d32b8a45f70d2a4df64f6fea346d488005330f7f8bf250da4845bf2bdbeaf7b0ad5324aa66afc322b18b0e47e7ae6eba851d112157892f0d7faa4c9918eed5125d56f42f5b571281b51a8bac8fa4dac54e534d37affd6cecb9f2ebd7c0c614992121a4ef42b4d4ed80ce254dcebccb47da44a2d1f4b29f0a1847974efe3c7a381622a74ae4f9ac173ea8527b984c178f89802cf270f7eee7da2efbf205065ec067c2fc6b5fea449d3a7c371280a0d5a1021c31250943a01a8c05ddf522e3a1d84c1b1ff5a0d443d0a5529d53769e99806b2e38eada32b05b8a44954ec13510ac797fd20fd3ccee0dfa902b7ba69f579c22198a9f3ae285493cdc3084ca32897588e710f8a25154b9a4b0a557a2e5ba50a9dbdc29a075494971ae542a380d8e744cf9b48a1ce601fe9d2d00dd897921a89d539a214795fb4faa215c02f5a81c9fffbf92ae279df64563ba99d9a7c24ef89c0653fc959e0476a1d1f3b6091895b926b77376ebce0d064c29f91a61830c25872628d23909061d6df55a6ac8995333c2c415505991bb4f0e105053fb1c87b5a47eac51357f0de070970d948f433d024d7476a245ff2dbdc179ffd8fde1055a39d43d39194aead038d66649f1ed9a748f6ed5325bbcaf6e90b5eb27d5aa5a97b86423a5b904707bca4caf09cd61239e001f3878326f800039760b6f68f701c90c989455ae028e53c93cb58ac03d3e5e461c8f6e7b43fe7509363ee8b9ab46786103559bfcb73bcf39fbc186c2d027f5514fe92da6385840097784b9006b2bfa485b750da041747b419dd82b98c180a6fc9f693549950edb1efaaf6fbc61204029400cf2910a009dfc720405938b62e7675b6f52d322f29a223382308da2c49edb1cf9303de5ea85acee70c14bb87199ed0663eb4e0fe2165f0074ed825490d649f0058b07f096ebfd99f419ab43f859ab49fc4feb53689fd25f629cd3e3dda9edb9670a30a68863ebb448526ed0f7dc1fdb6a86d94b5d34e291ee5a1f926ac64d5721ddabec7122c627dd1eac1ffc4a2efc3ff58435170d7bdf7f767cb4584cb752f0d1d58abbaaf2ed72a145db5a73ecf0d5de73bcefaf983e29c712880b9dfbfb1b6e150f3a990edd78845365f445b40927a9ad57c153f1f37605618dcb3a8e60f9ab9b750e0dc6a2056edb3117d80a153d020f134f3e1654ce69e45d524f742cd429339169a06da58659ae41e8bac2a1970c9aa65ee4b16156b4c036d63f93dfeeeb967d51a68bb74fad888130550fc409b09f901972caafc5242f3cd987b17f7cf3dc93d8b0a670e5b9971efbae1386ea2d71a71ce5c4c01cc9f484b308be50da36fa8840dd854390ad190080000007315002020100c87444291481c0d844d083f14800d7298446c56301588634990c3288831c63082080100104088310cd5d068d9b61b37b1787262becf52d7951c3b97f73dd71823ccfac758356f5ff97d17b1b129f76c2929ee231bbda8cded4761d2c9aa09e5065794d158faa3b74048cd193e9a929674263118a31bca351a8fcd1d72a3692928404b475262e39ee3e25ce677499f9846fc26a3b1c90586bd89a6a1af3c6680586134ddd0374e2b9aca5f3068776733f544f93e80fa5bbf72d3b00242ffecf9c4f8e03719a5a949a68977f43b1ff1dab9ca0498af2e8478dafde5bfe4f56708614db8d31bb0b8a4d512083c1728d348131ff97f5289088e6fed459d9ed534717ce11db6aded6150c0e228f6bf78d154e5e5d3854889de0e1413daf8537e7194c5cfa5ada72005357672a9c8e6e6db5c245501e692322d45612c7273f52dae95aa02719db2e3b7a397b3b849ad83704579be1e7d855cdd9478b7dfbe4e0c51b21c9bebf73217c7743241da1f8a0336e1d1fea4ad447b9d463eae876afab1f3c0df68e3ebcf387fd9334a27eacb61ef7a9b5c965061e8002e5382be74d222c539bb70fdd13e91aa26089343e17ac2d7ac6cda7abb58eaed288a397db73e0dfc85c086141944b5736c5cde3f5c9d5c958d4eaf481470baac8ceb356dff68e49a078f3efe21872d3d64b039e59323138a46ffab38e144d5ecb0504d62f21357223ea1282c2f86c16a563834a9198bbe413a51a85fe83970b0833e8e43af44d190426f9c5e34757f790d9ed98ef1f0e77fe90652c9179de1cfcf60156d2c35e7cf3749231afa0be3bfb462bd9995f27c3c19a2a0bf1c4e9a69f57d0fa43c8564f171b6953fc66be7908c26f18e5e632c5e5324cb653ed2642877fc1bdd038b7813e56527c8a34f1ee0ea86738b02aaf430b17ea8ec281f46104b424d1e155d5e6331c84c472398fcf3b4a3b0fd6b36e2395f32d9e0562ebec88bb2dc7e8f5022ecc451d05c06dc13803c670139b30c9077488849dc7a72ec84a8d4f882597bee53b441c71fa97e3a73fbae519048a962c56600e2108d27aace31dc5931b42d8ba0b774d1239a37f22b5fb45aea416a6363f5548b6b8d7dc42cb2282e7e6f3a8b8f030524c329173fe23231f63d95f230cfe605a05c3cbfa21c9f8f8ef2eabd920c678ca21c5ed73f067a597873536418915155b23054d15304bee474eddf07f608e2f2000d0d36097528f3d7811200b635e730a0a65e4dfc7d0dbfbd90bfefe43cb2dbe24251290c7cf260a515f82a2dd46de2609576d8dd10b6483c99ce94f83ad55ee368033294f8ccdc4cd9f7dc1642e34cbe4d4c32e961f9d33de62bd2c736ade83b2588cb5086a984a0f9a7b8612fa5ccc087e47287e69105b6ac8e9cc2893512658a1f4c2313d233a881bc8a56406c2798e4b68bdb4bbe7d1384bf7f8cd32ad8fe184f579269b18e901b97895858c2522dcc7a7a9ed1916acee231d15b6c2c076287c749ccfb02e55c13821a69f7c4e490dd5cd5bfa1c8e64e37abdaf3fb8381e2025ae5f901f6f15afcc376432efa26d1192d5592994ad173ef7183aeebe0e691ef71398412f66721e609c89b5d2a54b6e0d3d320c78d900858e681990564fcd1b49c6521eb8e9066984abf46be064123df74eb4a3675a0145eca395dc45d965639e7e2c0dfab23f656f6593afbf1404006b6c6104d19bd809781dc85527414edfeff7c663f646b1d7a48819c32d5f832521f54a895d98bd50d1903ad8f94775385cb8acb50947e2dfeeda08caccd84427fb419914d560f709f1ec71a1ba871be0886c4d5a9bdd933d649a1b056064a8fb5f773690295ffb5f71bea365b252cab6abfd2df39c7e55ec8eba308d203030f53296a630b6cdea8297bb1f369c5225ee91417787574d2063a8f8d6236552260b35b09b0d9d75057bb3ca30b30997e9c63d56beb23ed1c74aa1dd3625b3d24907378c726f65928cc1a69867ca85ae0343e1f98702a4e86551542143fee0632110d6bf25291fc8a8ce739d613927fbdf20184a25a40ec9edd7ed140b17108cced0c36662eec03952e27ce4839819e2256338b6a28519bef4647d2a28136963b7eb3c873c6c6a967f83642f2179ca3c12871e16c6e42de1e9948f53b35812a48345f33943cde76520a340a2af670118fa60c2defe986320643b4187336710b7a25dee1b25a8df6a07b631aefb94b1b90bca3a5f0998bc84f5daedc5f47914a4966aeb7bfe05c8e5579dab6dcf72b15e23d0eff51956f929b7cdc00aa9b65aac90a3a5152939027b8c5dac4a626c9c25e1e7ecf7f8f0e970ba40947b72efca5b2a65f74086af29148acf51de12aaf52086faf59b430728f6d2c6fad7ec4817fdf7e7e514e1b3c23e5eac4addafdd352379633767df6300a25040feabb67859eb3791ea5c9eb6dab11d359789b8aca4a773baf14088443b5c3b2973903690c1ff7f983d06744d0c37800765e190407c9b855d6c60152490877bdbbc76e2fd6cdae1623264d3ebdfb350de09620426955abfbe4a0a56722c4cf2888214fa8a7db19c040ac1e7f19e3154b7b75a1b69ab3536109d7891c1af39eb4c97cbecbcf698efc0c914f5e3352f7e5a86e6b72c3c1b9b0f683d2ec2053ebcfb459523972e425ef66d0a6588c9485100f842a9e7ab3207876e2e7fde61e68f195eb998a6474a80a79a403a11a00a18f433840b3b7793e91f2de83c4e9fa497b21dad6d62a7ca833dec815e2c3bf4ea979ebe79f20a64d0ee3be95132705ae1c037bba39d428c4f91c230df000520b85699c4f9d64477114cda770be8d6fa5309f4e011ea041539b894a85ac85c9473037abbd905a6bef3be1ef8a98a7f2fcb5f32ff2c6383e5ba438102e64684e51ddaf350af5d2edb8f179059db60fa9a00cc834db3bef841cd0b52ed1abcd6bc499ab6608ee46176b5fa1bde99512c0a295c0933585820d42c3714228ba2d68cd6f45404550a6eaeec59142523238e40c2823a13494d9cf9d95e39178442019dbca85dea26a509035ebe6ccd498ecc4aa9145aa3079a76cefe49178638b14b8f452cee3958291829d94e887f9051ecc0f285f9da7687aa9b251762465865ae496fdeb1fda37c0db8f361743dd1a9524d4398675de8d84045a9b143fcad7c8617c2e38aed06329f8d5cd120440bc8705b5a60fee3dc18b52f9812f590e0caa933d7102b4bd62eb0a2fc84549bffca2d4822cf454ad449ca4c35584dbe1c0aabd1cb285e2a43e349eda4e2c724ed33613c4a3b2e993bdfb45718597d1b0f34a3b6af5f62c701e573e2116af99cf2d5f178dc169a6971c4ce431545a555f08e9c11e3ea36ff3594f6d5007f3c83e396e920945a44b8fee633d2d550236731bdaa1129b3f1477b2c7668f30c9c677edf83154f9df431928e46d90ef1933a517a39b710df20983d139294977868b2f9aa37cc137734ccb10643ae825d1c5b248c5439d09283ba5f9f64d7bda850cff7234a24e3204b6e8d69e4083039943ea24e281ff315ccae709dfb88492276002d977eaf0f8ec4ed9d03f340534a19970a9c46c6207d607bf45e871af0937d92964bf7d5348057583d0f8d2d0fe6dee0d55c68cd14ebea655e6e8050bbbaadec2c5526228610db4ef37a89db141101243d1eb4d89e0c7cae26f3925c2d6891ad842f60ad19a57065a1ad15a60e2ef2c1188427d8bdf3012a66d136b0306aaf3674ff5f0b2fdbf75014ab98a9625e4bbc2c5f581d0c87dbcfc38bb5432e77ed18d146b87544c62d9cb29e892a85fb12819527c007dd77c65adb8433c12c6da01d7a7a601aa628af24c902ecdaef26c42014e0b19d2c6c4fba664b2bdc1c9111f9423a994234a95a37f229de2b6358269f1339144b14fa461d181e1e5478fa6329b8c91adf3b85fd954a4b52e810d6a4d9a67647f76b162849144af9602e29b9af2d248ecd24a4c7851ec35c6e84c89e8e4ae407ccc686b1a68e4e71a68a9154f5d91ce0b8262f5ed2e7617612760f2d4b0020e3ae43feb1ead5828ea2224aec7a1017037a516b22d75004cae2c0b6802b9f60961d332454b2b8f3d6d2c0a32606f4c2ed2c5cbf2a52dc8ce451c45e9eab3020435472b0dd5ec007f19fe7e8d3d3c15f602d9f91bcc08fef838458816b186d32d88ad85fddc0d0bf563b705e847b9fdf67a2b437f8e52a3ebafb436dc88d9bac91c15964dd1f8bb7da359689f803f5e8eb25393593137fa0da25a21e4730018c401b74a9adff8caba211dd26798fac28c5adb1c6a132ce91eafbe03d9f94a1f5ecc8d59f8f87ed940f2c2675939c210cfd01d27fa9445b8c284cad160a9851554a43036fe04bf78336d8669d4d4e22265925794d9034cdbd2102445908d22d2538fed337ba0b214c9b935724c0a07cbaa1fabe3e5cb4d2e0456c58784d5936e30c29fbd128b4df7ab5852319ff4421b75aab87aa82dd00cfe5a967e4a12b9102a21859e5c13017dd093f756c422bd7e333de4a6058124c2ac8d3a373c4aa485a1176c0a223ab489cdf653678be35ebe38ca03388faaa3258375ca400f9d47b55563b94eb32e2d99c59573f911ab3868d4c805fada0ec416dc164c4207a6d5e78337c3ca0232846916b04fe3d1eaa8b8aa78bab15aa4fefbc08a95400ebef0840f0e16a1a8500388c37009ebab2ea4852bfb37a4caad7240777d3aaa231d6f10ce040fd5a05e5d880459731d8c609202922ac1e090f7bfaa193ced93c6229a8796bcf69b21987640978c3b596e8b8b969c9bdc0fb8bb37ce4c13c296e1dc43959661c857937959f2c59e8c6b00dc8dd666062bc7e49eff440b1360b32ccc71d8364b0b2acfb9d2f097423721633dd6126151ed0289e0ed68f73bbfec699c72b2a1a7952c8e43248e35c3d572e450f1401505cf3ae1809c3cc12e667fb09669714d79582a59ccd1c2d2e372a5382c86bcb606bab7da172de6ee23eb77c8c0418b4f8b81c1c3a05b288271314819ebab73ad8a3a66c9397fd60149909ad858a0b3baed8c743bcbf8287655ff0527ccf862b7b648041192a4894cfff61d346bd31373404d7727c10c7593612c2f9ddbd44ff6b16d8a1b9682055b2dff30553b847e56b7acab5ea8cdfd23a97b499bc65256370b3a8ee38ab194e5d0c367642d88f6f3237be623af89222f89cc239a236c77d759d4fd5e69ea41731e0caa64f43ba2c2cf54ef384fdbfcaca37b70beb46cd67a43bd8c43909336c87cdb8fd59d3e46a90bd291ec59c6660f82c60a49d4566f1109765bdfc3090761f18d788cd0a66920c263404a799c306c5ef496569d756c7a80d03e0d296b419fea9070dd5e69e3472ff87f60c77b66c206c390384df543f57b3c282a9b472f2f2a143d9d59dcfc4b8c37135eb69eed3dba7ff368e7a4752bad7182f2f95accb509000b2a83b589c34debc631f9099a3e0e08002d8b4d331639a1b165dbb330e8a2e64ffeafb5d190a961e5f8bcffb2cfdca4b724ea1632d71cb3fc5e15c0057e1d29edddcefa0aa28156e49a763e7467ab07ea2af99f2ed29f8edf44348a41cedf0c5009be7b4a4e70a0edbc932a9e57f732db0be0a06434e9186a502e28c729765b5acc92006619afc6bf42de3d6801918fbe56dda3936983b811ab643b92af8027bcef04a30d4033ebcc2593ca4c14dc2c75dc9bd30799debbb2ace95ccd55d23d92209471d45147a8a6878d5b80a4e4531f9f7460f4f41d81053631ac01f95e41f8da9e7b018e09ac8a83c80796df99c602fca099b1915aa296c416b2227bd79c35af81c8979b768049d1437656665dba2bef6e7453e3830ee94f74330d0579f74bb30e8c54f51421abf4c94a2dd1e5abaa5b926b0a40c7e2bd9f2bfedebe117b7dd6a553a07cc4f94aa101690e72ee54fe704bf070bb082a02e726ba81608a71cdd3116c2aae79cc0b13b7600af031dc0a010a6d8744b84b723a71354ead573cc248826e56c074bde885404300ccfecd304298892f7924a36c6c8669cee978506e2cc6cb20d8e60c7a90daf192c17b20a893d76f902a7eca79413377b71736f1f1900df764f1c3b901f284f68b297ae693ae08285a8a58a86454b7e11eeb6ae367a2edb18f7688b67061d512498600607962052af7910e7ca064b5964f36d11dfbc49292d80e39e271118a952a9c627b41ba294efab735f6a627a981d01716ac3d88768c1893dd083ee4883f1e9f46b34bd92673a45f65c90897a62425d76cda785f269ded11766a1bc70ebe1dfd7154c1eb4a45cd9778cfd38d5899529cb95113b47cf16b12975541534472b4d076364f195ed895b319844ec353339d0bdb5826b634e02c4dea0c5d49358ebc432d3266546d76430d83e25766a215681e11265371f3cfe70e5328920cf846a50cf7c69c13ad37aaeae6594603099016904ff9756a91805f371cc1fee7e2f9d5169e7ac43ae7bb1f91987a5446176512bde8ed68a5c306ee15db0f7a715ac2d23cf01c05450b8c99175af06e3c1908a596fe46265289515ab830737b4e83b427fa2ce62aa01aee29b4c9e0f5d8d92b4837f5ac38e0544f239676898829eda2a20c50a5554fc3eb29568bd234572ed5aba7d6a7374d888695060173b105b4cfdbd558acc5987a8a2ab0ca4d25422db20196830efb14eb987aaabeda93e27683d1c8f422a1bce404ac78fe7b4958f86e9166b7d3a54ee36500b4185a8227b3ef0782453437262343b37ba524984bd5783755031c7199671dbad0700217727e494d883d1082e84b93997ca6a75781b614eed164c0396e51679a7fb98cd9c2b11846b82482a007559bc2cb8d22b5ae90fce2f47141aa24d340090701e79dc8ccb469aa1c9f20636867a1b88e5b871057a9157c673e62e1c29801a5566d62546ad6c0f755e9e0bfe74f78c44afdfdaee836322317ea27e11759c9552425ea1433f523547e7cfafbf0bd1e12e7731a135311cbe8db0295a15cde66f79385a1453c52d746459dea89519a0e0079cc71fd915a0be8917c60641fddeca12a0f2bdfea9367ec47ba71edc9e986ff3c319b003a88cc04328ca45470916965f1dee5632a2fd9cf4a199e2ca8cf048d4129f5a479c88d377dd5eee8898ea28249652e6ad9df056fcee54dce6d450afadb4a1e21ed55383a8fa24110ffcda5ed40527389147404fa00fdb1a93f074f2b27041312d810a61515722af91a507d2f13879e1de5864a904908dd204437a366910c535d086415c7ce49be4610d77afdf85679b7de1a17a62a508de111f46fb459a82b22609657e0958a07956422415578c7b96e17b89e9e9025c19d81470d3c084122e8c826bbd12a4ebb045cc8e25bd1aae149073ed5c9f5da4b5eb0728402c8a334fbd09ec5915a91edc77abe4dc011f137f2424a8503f82f0d2d444bc352a30065b2728116c23ad44078ba180baa08ce888890bf2b18ebc071b6ce791e86c904e8a99285f4bc580af662c92dbca041400129f9a651be5180b045c3178b23c95fff59fbd0a5b24fa021f84ad513e55cc6642f4da5ac5f3353071d3d933db0baa93c404f735ac1aab18a1620a4c53d46022bef4ab2d7f96471c6765dc57a05610ac6fe5caeab175d634e63af23fe26265b4b2209d85966888fd402fd6cac55a91bf530e29ea7d7e4711cf39e068b50787a10a92abae05babbaa17931ea4e5452a91dce4202f69b73da2796048c77a19d846e1fc9bd231b5f52f31c910b5902dc99d22559daf711f90bc7e13d67385fff8240c2e686777f12e477fbd7ddcb36d8af382bf02aeeeb0020c3180e0d7cfbdfa82ff520bdc0d702d82a19f4294caa220fc089d20050de917dde268c20a61998429f63540b8fb98adc006700e8cec343a5a520c04f06a254ada62c3c378d0e93493fb02240c73ebe9d0b16a37b45da2c49420c536ea391332da1e59204fe506f86a9e901361314a7847bedc3503e52eafb255ce12276e6f106010de2a78c94657bb5f294666103fd7eb53097d72ae47a09c4cc2a356041abf775a48dc9a90e69b06f95191c64373c273b94c9a44d0b58557c561ce069557d1d08cc8d5afa60774ee7e7a87fa99c255c3193ae546df40e22106469ccbc83c8338b70b2cd8420d21500ab696864ec5b08c851466df5ee2c53567919943a5953531b37bb267955dcb628c4e2fcfdd304cd7d626dc3e547fda8ec46d19c48ca32f85784ef0358c0c820d79c0e14b2b4448c7d9e4a9deb9c5e7c1861ce2d07e3d50daa3d34f577923714d0c322ffd8d07f59ee2e6bbe3814d2d12975f0cd2d6318c14164911869e8db3bcf02dc1ee7456ac7c624754f0cd28c2091acb70bdd477b94c7391c43d3edb320c32c848ed6a127b52cd71aa306779708d33d62333d77f866606615ab81425be6d81a3c28af0ba0520c280b94e3dfac884643415d8b1a0956a9ca8de8f1d6b27b6b9f0a807be236aab97944287cc5e9c22b8f36a3d5825b103516459a13197b1eca8d8f40010201436d5642d09a863e8e2627f36758bf5227e2937583c32b84c0890f6457df00ec0985f86d935baa9c7c848f76e69f861f9d3e34213f69e127b04766747fa76d541c403db4b5f7ba330515600702dc2f51bd62acac0a7d769ffdd0d127865e9b3a815a3d0f0106a5343cd3a10e7d2c6cbcaa941b1bc7e655180126762aeaaf4a5d86b3b7906735c247a457641864656d8940409b369447ed1514e4b9e2f3fe115e6ec27b777feb68e3f7361d543440addc50fd625cb8d3fe5037f6696bbb98f6925dc8345862e590c701fbb7b248e11a783772585961c26666ab1bedf1d1a239cc7f2d1fcedcc659a74053dc5bb4e6962cd998a6c1479f4b8a128e5b0e052b0d617d79dcfabb6d70e155dd46402381f41d1422f752e969acc1b524e6ef09b6433dd61a0fc65f26111b0bd8a6197d2453121b7632ca881c6082ff8511263baf40abc76332044bcfaa2aabc2089b0c7d6d657a94a27f3752685c51d23216c6751e4a5ac1c9687aa7687199fe6bc6388bcb423e67cb50d43a80c7e1c3dbaf286fbf5a760d533cda72d8390f8c2bd5a3d946027dd896d1abe71fe81d9f6f0b9bd96067b44694bf74694b584e8c9b70840c1f20b63722c3b557261ef112909a443d6002dca68b0c25e47cd7415000540da8fa2f4adcfdae3230e3b3657757bddd784297f9025c343f26f188204586663a354bde38292dc6790c48fd325b83ce16787952be6f7ade415f5f2a713471f5fa8e7f5e44c749e0a934456ec3f83cf394478dd677a2b65f510a76923f0f92f9e2a89c42a4c06338c41090cee4d386780fbad9bde03985c8e55db74dc6a940d2f8cdc8bb19a8b2937c9ec565dd4fe02ec0b907d1f4dfd298a9b4f613c8f7dc8313ff83577978421993551cfaec790ee205af6a2baa3d82913671421d1ed808de63d2515e4da47c7a260cd1ed26dea260f7971cd57f72f1dbe78c5e8c5b70a0982da6838aca55aed1cdc8da30b7e61fd041576a61e5ece757cd632ce51b24a739bbdabd2971dd85db2d7c2caa2772cfc6ab2d4bf5010d595c9535b90113b7ee2a54ca32d37158f8d3bcf5008b8d372bbe2abad6b719124ce01f8d8ca9bee3da945c35e4d440599268a4ef86f3ef57368710667307fc6750f689e51c23c0424ea420dbd1de6ce2a4c9eb781794e3c7f7ade750956aa525135f67a773158a46a183d3ad39ec89cf52858d2624011988384288e667dcb8409a747e2d059e5cb74b93c61956369a816301b350256298acae3786ffd9b69315732e9a19063b6b92a3645293c50ed72ab3619630ac51658c8e3644c2e569ba38619417eee569957875d6edb8923875d8537a10510fb7dd0506d7e67fa4cadc9cb183853e0483366f064faa5b55a490083c2708f3d490879631eb6ac7cf04a440a631088f4ad134403096970ab787d1e11a64fb5a5b7aa19f4e9218e971bbac07c50503fa512f6bfe09a274ae30fbc72f2288dc54f26743fb680ad25451b8094042ca4a44def9c2644c8e055a6e370a8affd60fcf981b4bd79301784374256ed702e2338351c297ef8850860ea93aa98f61d8661100d88b0300ae439f59603e83bdaf4baeb6c5a9fe7ad6ab694bdcdee1b41ebb2ba2ba0b6d1544bfa6ff446f0ac545ab74b5d4c0b9c01ac08956944473ba59988cfbc8deb0c73551c359b2d4e062fd946a11b3cf178cf1284cd9bdfe6cc21afa643a2db29009f632ff1acf80c5d380a94978d09452168f35511f46b35dc8a6c013c583120642af2e76cf4d4a26216bacd53c25a69f29099f4e2d198c47a79fb2a08e2f816e6f5448a3bae3b8fcb81faab1f633f113b2a6e22d2a3dfc0fed02b3ed9a673c8281c17909afce269f283fe607db50e02a8b9900ebe46def17e6d67bac3817e040979db7b87049966be46a3e203a619f9cd84c7a7c365d5ce0aaadf213c311555a5cb22626005eadd7a696f004f3e3b00404edaff9b768e40e31f71dac1a75117eee37dbe76e87a1890b9a30f576e26330b035ff66a2caf2d9ffa0c5a68949a8aeabb3e3cd8d89a03d1313d5fe3bf2ceeb08e0cd0eec3645937fe3c4a9cc0ecffda78a5a19224d0e048a4cc26a154edb9e0a66d72b58c73eb6cc7a7919135f57c5e22cbe7be50145044190bb5c173bb900703e2e71c0c16f53987833f073400771ad731d04ad573502790e74bbb2022f20eb92d6b0a4b0d28d788368893db96cec8fb729f84058402b6ff9a842004f905bd7f15c96a01e87760647cb35e5a6e0b383b49366cf5b6a149fbaba4cf534bb3de6ec50cca3282f234b166eadcd303154131500865676319650c15cc56a028b3d701d9607a5af1c22788d29225746d82ce6c704aec39172185a36dcc5329afed70ad040b5fad40e4fd7b5b5f739d484d0b58cb9905bf59d4cda3b9ea279a64c9f986862b6e1218453578ba8098c20844d1617fa6204c446ff3d0436f29146be4269ef44e26781f871ae09cc09d9c07ed6dc6d8e00f312a666d4f08aa8120802b6b13d1527f2ae712a91706ebea2e24d469ca99322e52673c11e9202955fc321fe97be029fefaa297e4035a58b8eae9ea379ea6ecc086dae42c74f83f8ae4c81f4006bd80347f026b5b681460c1ca9e70cb3c66200d77426d732b0e97311bf060fcda18f8340e739716de13d2c830d6106c5e636d264a896c299e3258ca356aa49adb8cab9f401046eb7039523f7be8f1e8541fd9270d858fe8b515494cfdc565dd2037a82a86cbe2a4bc888a11856061b5b4a054a0880872a7d6d9a530803a8d2268cf74c2e923954da43a22c22002fb4932d5ee40e949988261ea4178df339d0b2ee76acff0235c97d00f866057daeb35a364439554b8623a2df9e9cfcc64e70004336128a3a627f05747312a100bd69e1933e218c5c05c0e84338d890a4a5465e60006a060360fbd2959b790672be873bf882a84abc55973e1dd45b5af8b538935cbb48e074614c8e23bc78fc57c73c5175c5f56c86cd8d96a2bce6bc2d295883d77b8a8883dea341b1434bf27d57e5e43833511d5b34a94be1980ea6bc09b4bb2e7318c11153c41217b404ce21023a62fc3ffb2ddae81f1063ec300e5da4400fbdf590405332a91e4e27f947141e026a1f61a862a8020ecc05dae5cef1a2fa2687be628326e7b1c84c4d4a0246214a05c0efdfc18d4c514e0328b20204349fff096a783bfd19f8418ca6202127d7a520eb96ec89da2646b6f83087ce2c1e1893eb5b3bae453bcebcee9627b94cf50a1cf225ef5d11c78433fa675668ff6b0ef1f0e7453c88a4bf12ad708b6cee285554b707d0f8eab2e933b95d5f5f13b257cec1d723c533db3eb54288dc142285eb08ef2101bfd71fe71cf8d658bf470359d82d057d276960b7a2bf3d4bc1a3066a84826e67150261bed96eca3ac10dae02b1b7fa24922d5febda309d4b544b04ce79f971ca276a38820bff85b13321b860ca0fd10e4f3ffbd7a9012f3ab851226e7531b30a5558a2ed3420001d9e6d8805a7a6679e75ce582fefedd6a0090e14c04991e8aed3ea78bec8d5fce96fe75c509267af13b6cba627b003cd5302e2a8ae8f5bbd1eafbba6a6118f710a89e0205f31e5269adb84202dd8a42d593e3203a6290349b14cfe66dc8c484d9135f95b6fbbfde6557a9299bef52e11af1f03d0f00f235835a92329eb36d9e4a243c5961a3a018c86211d2e28b6147096106598cacf336838003a30ec9cf617834200c2ddd4006f63ba38521a2a4c9457d2da204609ac67425a027defa9f914a7381fb89e80bb72a1fcdf14e57751903c9b51e0de35e185d686fc38203466e042031ca6054142e6962aa98c6180a4cf9556093c5b1c0d9d03bac2c4215c114a0bacf1af2fb1f60bd68a164a323fa8c7b5ddfc381c4e7a3a9b02d31cc5e8682c0a2952bbd4998ada2e9664de42a1e0f8801cc03294d0684ca9832515bf35cf847372b5a4a5bccf1c80c0cc685b0a2a1583fe90535831784e9f12d96c912f24c0b5991607e53d409832871dd87508ca67d85f2389bbfd202f1c16448c2570d0658d8759c517797c34219ad590ff4cf25a0e7c799c935295eb782197f7f9530e77f1832e98c18b430c157fa82d7d6860112b46b0d4669a40fe3c3f5f416d094b1b27cf3197304b091ca400de984672b148ba35b333586ed1618f2bdc34a4c8e8ef12d614091289af0dd7511e58cb6368cbec26bf4a540e4b1d8d2809daffb03c06927e6d2942e4cc3c24c1c30660fb45ac3a1339fda5860a59c50ae1e6d7e2b4b966ea67627c230a6ce213a533781f8ab52d9b3edec88dd9a7dc8121696aaf35af2743e7d76a6073804622de2ced2b869c81ba4eaa44a0b18851ea6cb417d2d00ad79fc0c4d6aa820fb5ed83a1d799a4d53e33a2c8801df6471f7f50fa3dc4522c2350158b24d127d5cca239cdb0f45afdfb3415b98b31474657e0825ddab39b4965c7c1ee219cf05f442336c7e0d8b5ff574412b649ecba68d20c79a280cebf119608bd5055770c50278c62cbe1dbb4df0b781ecd7d3b5064d5568bdbb83c5f9062c2acc7d71c1ba8c4776343b5565ba87def96884a05ed7b7f4f489bf97ec0fe5ee5c7f74128daf7b9693ab8ed524f9f557c4b7ef109da3124c925de9bb22735f4d4d15f2564d096bf2e286bc5f2ad95a00f5f9d726fb316b86fc4872b63e523aaf85b8a03772e3df1a98a14223dcb1d89a5e63d783d454bbaf87168487179411163ec13da1d8cf8a28f92b3c47f659e8a770e3ea1ce1de1fc6e6c1b1ab1f59468ebd984e18953d6ab7390d26da4c129851cacfee470cc72bd789b07fce441c8170235843255e5933b13a7e82e1134f7fa9607499988277bff26576815581f7e34c5bdd393820a11d0e5bb243ccc723bf79b3cb25f8d2a181d26063112ad0531f4de1a43c5fe0d2869bf681de123c5540c7b3da1b47a2c82529db060b4c007938c478680999d2087fe7cc552993400c45213fa537194e638505c91524418c42ea716bb7b2078c2c57e6e3bec4d8f787f86d2e5c0af6410d1fd7e96c0bdfaf8466d238b86f37f34da4e4e9b93c79f47de60f122d782a435a25b73fc0ab3948e4327009b5404eccd8707519befe55ef7dda294c097d20c311c2baf1c4bbcebbca71ca3c966b9fca048f7a505285e43cf8d5d4eae3e36585a9c8767956d6fc6315ea89de540a56719e5b8e1f9cd2a9b3dbfd9f200f59a1eb718ae1d28b4b91d89b8da82c84994c7adce228851c958377ebfe27a20bfc1aa1af849988bc60c9ca0a500198692cb1bf11125f527768c9dc7854885a1b59ea357a76e8f5013f03ea285350e0da649fa6c44524e6a7d98e45dfd7fe0d57f9ad940fe55a5f26104fe2443208f4a5920314df72ab71bcc82a7db0ae17307c78431a26a4eccadd185a3f265080457b890a2b975a7efa2cdf7c491d79f29c3aefab831ca7d7d298f48931dc776d944ce632ec16d96655ab8bfceddfb830d38f8570fe901daba7d926fc31b212466f005357bae33df60c9b73e0eceaf7d0a70b2b7072a2987c797d3d123a382e658848098d06c40336fb39216c0976b1741876a977ef1cdbd4e2b7d7fa455ab079c7eaf077b6a0c88f189bf055df3ff53c61b822c36b7d20518ba4e828c4d22856a4fbd8b245a0bc5752facfe4fd1b32c0238d4dfe48c9be679364c942a43abf1c1b7708625c9890f7bd4fb87f78dfe0c7748804edc276882142e18e096b907a33c14a703e234b4286d22ae4818cd6dead1740818a9b49f2897f58c118099fdf7b3b7348ab94fa38e85b210cbfa993440c7feef5885b0f8df867cd80303d926545358b02e34250d3ce7dcd21ed58c9a1872ddfcfbc19d29deff0a2958777947cae06d693a2c9344dbd530b8414d2b508c53f4374a491784a9d0f39971a4cbdac02fd0259d0c647d867247ac62a3ce8a9e224ffa6299690d8a13b09c8396ebeac7fada99a55049dfc024681dc0f8a048ac092b11bd7787016937cb7d3153b219e8f5ccc4b2b531a4729eef485d9d70c376f627411b39dce141dd081967b44cc11311be024a9653ae00f54544a7875e41653640aead2356adb799fd8b00c096e50d0d3be424f8eab42f6d11c1fce6d3dd7ee723de9f0b291bc8bb415442bb9f61490eb8f35e7e4a9d17cef15bc92eedfcadfe8fa61b45f3f3b95096f31dbe3099a226dbbce88372958c99e9a965de3e8b5685c1b762babc0417a6fd075e748d4fc855240d490aa2f1d96ced78ef5068734fb6820fce9ba885acf7e7765dd722ec2e945092cd0ada14d5439d86e54410fd8c99447d7d0fd3c542513ce84d11fcfc1137a367e125c9703ca34c8244de92653ff0417e7f7727731994751121003bb44221d821ded7e5fc00b44941133384a776dacf57100b2edec7f115e78f8bbb7e4590cbbe716e12495d52a56c2008ae9c2e1cd0f21f9101a53c3a6dd856e1c6ff85bb46411f9693695901a2f30a1bc49c4d1db7222db0e21589a3c504b8424ba1924927fb3e5fdbddf5b33ac438953dec95c6327bdba5b1e256910993b2318a199021a40d3e8a4a99ba0bf4c9b5276190180d9f33f13390fd8dc2f79d20bcf90151f0cb8b5d49798b1fa15f37de035582600fd5ab5e507c86ccf81ac821e8ce4f910e442e188a318b6bcd2ba84e14e831679d44a050785d6192771025b17260240b4ab5cd579f71175b8b9011c57090b91308f6c9b522b120f86c483b7660f6579e57e778c0f9ae726dfb2071e8eb0462e429754dd856ac075d43b492f62ce9ea97ee6cedd81fb47aeb97ff608985208b6c876f7a32b892b4acdc24fb46992786460d099ff1a313c8eca3ca8fb562a0f9fde05c74b3d4a9299a9d3d370293e8d166c94a87d9152fd795a313af8b14a7d6357370e0e5d226ed8e4cacd295e682d605d0b7ae805128cc7824dbe34a2fa05fce1e6f431e9174dd93674efe4253b84949d0e04d18983fb8bfa309f14f49d116f0c141fb0792f8f92ce9443e844719b906051eca4a93771945ba9fce05292320efde60d3251db0d1914c5d4ffcda4561e8b5c1687f6a0e894c267f2c10ba2a9473caca26142f65d24f5a3b40b098d96e6eeaca86167233e30cd26d2767d910355377fb5926948a9f68ec336bf21990ca3a7bb85b49a57cf5d15ae27558436bfaeb677e5e2776395aa88bc721f2021153c25206a301ec676c8a54c021f39383f6e4d661542571c795845bd555722e50d85ef2aeb38ad04321e5f9062b401b4190bca54de9a519be63bd1b826781352e54ff848c08080c4624e186045593f708a9640aec167e75e4a8470285d6f58221c8c5acf11ccfe31b817197f4af6738a023854c45460ae0c28273f638ba9cf7b61bdbe184f8ba2190cdadbe4fae9b105195668594f1ab5bdb8c2cfaf8ff8556908b03c63645110685c12fb49950452be954faa8178e45037fc39eb323c114e2a4ab0845625fd2a7051090ef7138ec9d97d80241a99b114fe4164e246878c54d733c28ceefdef2cc53347fb6f7e4c166e20e80816e6eca0be7a7b6dc6e65e7c7bc5946aad41f1c3b0da210f31db18374d97e2ec4f18806042a2fcbf5437a385cd168146739ef338f6010c6da622070c422cf52f485c588acbf1f48691e74682ade63c10c4d33bcfda8a488798b7858e941d055ac9b8ec7102e71fbd8952b4795601287bc3eac205035cbb17cf61d02914d0b2717314b7f32e5d8ae2035c2d5ce1ce14304ed497194f5fe7c9d168d8e4c4dd8691ed1d1e113fe538039e5f57c253d52fef3df27968bab291381e261804b91d7b6f314e574d1f6a1b4e544752e877c8012ef444f8e5d1d26cb67f7c82ea6217594a6192630742f301a82dbfd6f006925fcba7f16904d6b82e6c1762e4b9c1142ca92e5f95bb9dfaf553f3befd25abbd655a2b70de5814f644f91f2e05ebb121feb86d3a81e4d8e2869801800e487c0c25252a5aa3f00e18d4dd4f84006db2179dd8f9685b900a15e5b7f3e010b76f9d221d7268e90dd78895676ff74820211dd3f90c5893a6ff7398ca418d8cb51a7bbb5bced70b3297f1dc074b5e74998dcd82f9a67eeefc802fce8ba55310819cf003a8adad6ad9eee82693b8bb2f73da4403be4023826e9e14c8b3acbef9d66288b5a7442ca5d8a03cba865b62813b14564cca72260aa2a7a10b92c1c6fea89579ffce15f136e44e5915f6c1387875999014277c7ab3bb5b0b8f21a9cdc4c1f947c606b1180404a81a067d9580589f2a735976e4c16a4491fd6580b8521f059680e6c33b3c6319eed9bce3c12c40f4980756acdd5bf827a1166ad4726aba4b6ae1f3c24f26a1a970f22eaaf573332d04019bc270036c87026fadc821e4788dda9bf46d5483241975eb5544041227a61a1382cd09aaf41beb2353aa15f9a89ea66d4f97f80157e911d48dfd6219559a2e11ccd1e6c7dfaaea6a171feaf7870708ca196ab290e50d60010c6733129367a256c515d75cc75412f11893452b1aa9d182fa1010b42d8586ad5f904eccbd48b4abf83cf5ef6487cc4488990084737c7e216e027967a2ca8520b06bc5a96c0074796ba13d0e36b5582d1ceff00f22c58a81e700936a312f0a04a28830776b6a807e4f19cf8f226ddf041961e28bc12baac42800c99c6dcc3deea25857c3383647468b42297aa22f40ca7434bb31b096855b95478ab089f5fb498f5f2bdb756d431d92d102495c5aa9512f6aefcc84f8b21b6bf898ef764e1c08522a40a9b35eb2c800d781a6e83929fc7711165ded25f6096e16c0e66558ca821e378da385cf4a6f19acfbda1139484218d120acad901a5ee28ea0b6174cf6d778f34510434c607502d88b84f9f9768dee16ddb0f5f941261f6949f6c6e33a875581999373fed1d3764a50aa92fec9b7179c90396263aa0a68fdd8a6b43ec58d885294650cccdc38ffb5f4b6e3f656d0ce2355a34da77238ce4f300eb2253b23ea6fce5898135024ec0e3b41342ed86ca7a159c0d70b7fe1e84f01febec62476a818ab5c98a7d74dd8801ec8d8bc9dc7f1a6edced6db6410a1f153fc73f2f3efe4c5256854b5848cf6ae63a3e732aa14159d52070336338c8ff5e74e8157a8dba18c4157524f9a57f5ffa50723978ccdea19c7d889cf5f077618a6b7f918c3c082b529c51214c853689ca941edb1260d4673f52b4624bd4c84aba7b15872a9ae2c4198b16c22366ec2e597524f161b88b979875eac155e75b174b3025b373e46697930bb19ae133caf6212b8eebc0b04447136deb2749a17659203e0eb14210f01a6b418283f111a49970ba08beb42d1330a0a38dfdf293737a970abcf2f298259dda37ffc2df480ef8529d87fab9d19cfabf668b2d4ea4d9fd34d49752095ae8854d8c30ef7cb1940a1ca2db8d29a5a640a5810b4ba5b4aca6e7338f85fe3a84cadec8b9d257bdf0d0e1703cd07c1dd00eed5afea15e7eb82539fb3555acce737c1c86ad12c243b452b307ea65bfb362bedd3352217ae41dae514b6b22609c094ed534bba44df2e0dc7c2dc8bf825db2dc3fc061ebcaa89a077654a3a2334686154b993acfec5b78ca71c4e5ddf755c86ecef2d80d40641f5954cd6d0e9557ae097e5db992d54b99c817fab1b17cd2428a45957d2a6f0ea679fe546f1b9d603c2e8a14d8fa3ad25b8a591978628d918aa449ed1a1e3658281951c6410e70d753f9882e6af4dde52c04d2c18856534d1aff590722aac5839d35b20b04f3d9a1636fafd616a745403d7f3ca6595b9c502551d4fd000fa7519b8aa124081983e288aaecfa4eb18b972611f5e4f0e1d3131daaaf4cbd7044b885b3282272c659232c796c3f097716c2ced6c13c4631712e61056813799d27a30f3640ed1f44f39a9a735c835ace8928f5279ff4aa0a1fdc8566194b0b305fdba38b9a7b1fc01a4ebca39b439a1f856fe9d55de45db1ebd9e4eb985b9e6de02ce32b48c7e71f805433647d4e388996f78bff6b19e721db033cc2c7d8848efca437116d7b2303d6000071867b82bc6fc9801bc94ff91d0b4dedaddf1fbc6944f0b2f3cc8b32c1dc671e457139b93b1a8303175a6b38be64d26a475eb30993e27db99e260c3e096e805107303fa3fb817259d15f19dc38c222ad94669d9d2de9f5e67c79cae5a4ea061fd142bbe2db99c3344e913e36c62254ad3ac5b26bf439b08da594c2d6cb1ba2d7d182a261a3340a321f46e221a82aefba894050f04ab415a6cad83507809af42ee11322cbb3b73bd68e0346c6436c310d21d12095e43de3e8299f5dcb2a08218eed7fa3840c2f336261b0c2cde017af988911316e8854eb48c3ba95a04afc6fb5cbdccd11f788789ea6399369275e77b0019f7e8b3719a34e0c0a9bf59753023697d63827dd24139548e9458c22526339be2b22ded2edd2ab69f2a936979e97d002f4f570357be66362db443fb11da52e7a6ae56f87fa2f21c739ae8267f8c0e6d009b00359c46c7ce70f4d3f3b1649845533fc88c470505ebd7fb05cab28fb03263ae88de44f800ec0237de5cae0052386f5e12f3936cd174cc8ff8bec179e2a06d3e0fced026088884317b03695a3fe2f1f41bb53799f9551f6d872836e88ed82fe5c5e4b6029741d62b705eb66a54138cf72642a6611b1251f477062a4658c7819c9819fb052f03605cacaeedb3018c35f0ea358960ad90454d65169055c4994c1ff846cf420e61b6389b266a257173eb827f11e70e230910477d03e7cb8259701ac70b1e0c66f227b2013611ede570013254cf4d0bce862865960052bf1a6efc5a97aec778828258369a6ecb480b5caad75485af09fa69f8ba39b3dbb11ac72001f2232cea8c5725f40984e5a5d297d6fc838cf7d327114f4c4a22ddea389a83b62e4d999e19186c287d71d127b6fc3235db9e1c1f04505e14ba46a4b99de4d128e7558634d2960c03c2d9580cab0d8e8945115c382b472b46053dc2edd66956d465af6a4633e9aaa3c6e098b4626ed9cdafbb4a47d915f96dff9463a20e445316423618b2ea94449ca17a581acaa89730992c61d8cb5017e7a7ad8040ff182557996066685f18e81863b960382b7eada7f75bec7403993dd2039cb499d9c33a24e6f9e45edb10c9768e9b4cb61dcb4c5355cd3d9c634eeb02de718a668591ea2ea123864bd319529356381a89386524c03d2ed70d3500fd67d6da2ddc405a615d141c608410deddf0eaa059b5fa234aa860b688011824676a9bd24e1d31f95df1edd58252e05c33f05498a19ece1016e73bdfcd9edc469132d381a08329a3966985c91642fd00d67209bbf772498bdb1393c18d9689c8557fd4d27a3b21615d5d8b16ea0697af32eec229ef9b5785cbe03ad6f64afdf5fc05c18fa781018fe38653d527993ef4248df4ac27a8b357b289cbe8b8c967d5ce1f3cc285723a45ff1bb516b1495597bc6d7bede540e51c4872b930813eac7da746a7cdd0d5674e405756ca23f763a6c10ef906c0a30bd0b3787da174f249e1220e9875e1b8ea036dd8874ee668cfb61b01f0ebc0f043c71b1436937bb3b210baed42117dc3b904f4744063908a0b42ec1f53eb8efbf12dfc969096053424a78b03f856afe76a028448bbd791ca63d06094298a83e74aed6b16228f8e2c74a7984f74cbb24665dba620bab6136b8a10d197f4a9f3433718b4940586e11f7ba111a8b8335c8867d0fc6d2d3653cbb5ce44a013cda54f6e97633f5abe92bb9fda5fc788efe453404128955f42ed5be24a3368c8d1289daf32f85a8ae72da8a85aee0a32a028d662d8a054dc83b1a4b326222fcf4886c45a3bd075cccd03cd5ca35b747e8a7039ba3ca554ec9581d77a8114d4c4c778c6601dc2c238a29895286d8c7d06268365c3a1d5d9ba623332739c9fca4a3980d635d2e346ce6bc1343fc1fdf31fd509d368a270cf797e93ac8f11a461809dd0415c9d2a38d12d49ec8c1842b91125a4aa7ec4f0df54e647efe73f8e58e4f03de168760f257f9778bc8e541fa1196adc020313dce5b6da132519359bd60b309004bab039250a80087fd0ba7b80d1ce1e43e71826537386e6b7e95bd64337b5dbf77d0ef95915777eeddb3c373d46e6e416c7b10f63d48e00a155b69118e6179307aa895ea33632a52714d592a1b2d3a2a453a87ca5284b815c4c491dc085901d810a641d65339d318cfb78a1b915fb57ca36226030214952ce8260bdf2a3764a925287a27f342d599cd06f6a82e2842642db102ab51b5cf21b3c79c849d4f2016df76c2c60ba7d39cfa9c07e8398435750513138bdf04110f252609b73fdf03b9720930f02a4acc88d5148ddc4ad8fcd32596136065bd962c8d12d8dc3577dcf87ffa519a74ea83237711f5cb0e3295707a66a3fc97835ae009b5c85102470662c322d0a4cca4c2f0d44a26caa2acdad76bcdeb35418807311b358c1ba4fd2723834cff73e2411878ee9e6bfb400944d327186dd8075277a94c0395ce946705354f98012feb0556de0be3cc3a957836f38cb94373ddb222e9979095bbd1cc9d679d65a9808a0071262ba110acd1ba8bb0ea9350023ffd0a6b018547c87ff659320ce12b54204381d890724b18ba471dd9e5c4236ecbe30271466f871b05fbe472066b60101bae252c1e5ca2fafc63c585fbc8e7b6debb295c8b15b92ceda311cbb641305c78b5c0cd89960ace78550260121c398066ecab8285406b3929994cfbb6e9db0a54241395759d0d687d0de7d5aab879bc28137fee04b10d4f329ef7d62bb1de6ed18a7ec1b02618a2e264ad32eae1453b488959618c4c395d1962a104182ecfeb867512b9aa1179bf00d8cb78a06b1cb4a4e01783337812da92fa9fdfe0bfc9b7bac8cc8f5a0c1b69698acc10337f43fd836174c5db70ebc84c11f0b416722ba94ff3d44a39c44219d9bf06084ed103f3f83669c63e8943292a21122f09c1d62d72504fe3503abc5a0d8a1b073c226810e28c7ba8fa9fc2e6a5ce2064eee64c95643e93e5a57b59ad3403b33c12d0ad7a1e2a66e68f09160819749193fadaa3c5b638e79579ba6d670012d324e110c88688a451e399615e2d20374c94806fde6051347295912fc563f3bb1a30a7b70224054456190a3d1f941c1d037fd5b91f32b0af31b7127706babf6b467533d26c6a40e3b30a56eac79dc67864895a68ef2914456a5625d4304b2291416de3cb37fb9cb22655efad18f5a1e8d30bf2bd02354d7223ee00d0f408afbd3a0d0631f62ff88f3a817f13e47ee1ec8360456819686596e367d84680133c15e870510ad3cd9aca5266409e92d45df413fdbd9c19c043c8a2ff4af798ccdf634085f44272e96b54adb77e169209e71d3cf1e0f518b2f3f4deb995823fb95f8b5b830b4f8a98e5143cf3d3780a53c0bf2378f4c8de1dac30c226fbb32c052bf85ccbd1207fdba52e782108940b7ee568d34a7999d7a3110daf0b1feac39b5e0391ab8f2c4ca2ed404428053025f1ffae30f8f7ab7775c62d3f4a5119a53fc43e8123ca2eca3e0f5e02aa0c595a7f80aa4bbeabf14395781b3a80f505b370c9a092205570b0bb441426dedc084842aa7eecb05ed6cedfad64aaa02ee42b9f47d514b417cfa0a76830564e6d00696acb23d0bd8992b001fec49b221618a95e94a0eb3fe843ed03eabd1b405692fe5344071215a3524fff800e62b97581ac905903104d79824eeb36680fd5d39cd0aed58d2a5428906a177580c5b28ada59a5575697d2e3dde849c00aaa542f8f33cd1a4e42b0cd4685b8fa0d30fb6d93472a9476b1c5937a09f6b0854f8e06ca684448e8c63899ef6eae8eb3ef316282bba0c99faef2c1741cc07d43eba58ab8a63fc94ea494f62b4a5481d1ac22785dcb56a8c958179c6edcebc7989ca81deff97d1a1e988abf6fb608d501830dbeead6980d033710392833324a01045f15e79aaf858556a7e2b306b01487fed0f56071875bf13b5e0c9aa6d5356f007a395906a2404efcf3ace982a0bab0da79013fc68032c12eed8c7e57474aa099719c1031f67bd65946467cd9758419b01f5715c0f05d4a747cee671fb7a17a14b245fb9e8dbde734e1feb7139ba7981c57f45ca08f289836f9ade7f4ae05eb91dda4b0844063d2df1b6344bd40c0e8758b8c12646865592972e959f9375251b510e8bcd927005a1d8cfdac92994db35a4a1e03bc256867e23b472ee903d55867538aee0ca8bc779153979062f36ba94dec8e26ca5d854f8151b4faeb505453edf0a871b8286266adef84446388ac5559df91d4aecf2b7701ce262aff1904e6acd12fcc49762196c417d6caf51db2de013e5c4c615c12d87724a0f0b9c278d4470e3624fd9746672bc04e3de30a971d01e2e7ef23f1656aa95b671235fc217f90fd50f5a1de552935d98b5c93cb1ecc101e8b4f1f8ed9601c6f37b6d61165980267398fa76ab0a9b59913367cf8aa0edf5c3d138f6a9cb6bfcc24b146903b45d8cc45a6dfdc65acf508197bb180b5a3a7a96e80ca9f619956d7ebed50a3f5b324d26ec9511a55660a0aa6799ef958958dc8deea211acaff34e34759997c745f93b3a47ddc45be973f5c64f3c42ebdefce97b9d14facd86281aaaf30379e95338d6409125e95239258fce16c83be19fec59fecd106a02d8907d35d40e344fc8747e528a775345e18d43346883c0994b4bc571785b2517c1fb8f576e7a0a2412a5d3a147b1f87b4374f19b8165decfe00b616dd4bee4fc3448cd8960c7bc0d015bcef085b442dad4ac59fa263b882cf4fcc2111b78f433d77458a72bb4962919a1a8fed4ee3b8d7bac8218589a9a8d88b31b0a107c867a98582cf82f3894f556766bc9886ce40db9d1648f68409c510ca4ae35654bae284d437ffa847d351156ef66a6b85ac05451a6c7fb5f23d0ec865a25d1298e4d82c17a2c232fa41a9e9fff4ec938de3c5ace10c18c81a21cabd97d2fa92e4a07ef159dfeb82ac440a3c2c98147389395b590702b21d73cf2420954315fb148a0619fd1919b415ee63cae17fa84f217d9e72199415a01ba50cb9022104f730f28ec0aa295ac36c4d2e7eee21ebb9819d5d4f50a27f851603c0a15367222e956839e1a83114e19157111613cc53599f7cb253548e8cb13628a7ccdc6444a2e4ba3a78c5120c7e72b3ee256bd6726c2b3764bc988162461ae228f800344693cb101bd9f391448a6cc07b9b2747afab07637c2eb9d4a5814d17b525eb97cc21f56cb79b43f0f40d940dbe7e6a1ea1a447ad4926f461a721f93fcd3639698ece64235a4d71df07083d5d948e76e7b35a13936b3fc0297f51014da0c59f1e0107bb5c1a1579ee0fea3e9f2a7b2bd64367730e76cc73f07f12331137580deb267fc54999e1e7548fffe5f06d89c4a4962bec439a7e88d1a5d21a9446786200072dc340c2841323470261de232d3a7623cd32813f37a4396b983f2ce0756a0a8fba1b27b3562b8c718ab5b8c4574190c23ef1a71f9a6435c9aa55cb6ee5adf682a920f6ea4ff6b8855bb4b8f4d7619aadd52377d2af081f3a4863ce4c679a3aae334cd7bafec0c82fc2423694729db29197bdbaff32f0a6df716b7a7260e73d86d29847be863e0ebe09864b7f474c69f6c2295b5fc91c15c6185d9d8a48a12a8002b9121bc1237420189c4fe42b6ad896408ed3a14184995bbc4c42eed9bb9c1b96a859278db9d4f5ca2be7ac0b6c32b85576ee4b5a02ac57f8459f1ea026001ddbe0df8f178266fba966c090001d6560a76549581a3661b2f9d27ce2da0cc0ec04fa351a8075e1de04eab6370ccea24da81846e4fd555f1883bcf6400f8271718169c562edec50fbee83784a037375a64a3b0b4cbe644d45cd9ad70481dc73d9faad56c858c9507527d280db004d65cd4ca40bb4b19676e886518cafb2ec08cb63e108e5f4351dc5d4e3fca50921a9db003d6992cccb9bfc5ff91aa07dc89ece1028015e5ad6bb840680861ac1d8aab77826101cd12ead466535f7cdb12b8e9002f72dd7c876231f63cdd1a206719fa352e1dc6816b22bf048c1ee84315a65de1762068f3ace61d2272718eaf383c2935f8ed2bc9e9adf9da127f35ba86e98c02389785d7626b05f2ab82a736a6522e2dc7de09a23765ed2db9ba29325b4240553b8574f177d7e857b7d10cda04ca4e75c5ecf9366c2aed5b6910e8e65ea2ebfc40ad4cb2e3561f116c588e628c75a27884105c6749494c6984998ffd6c58599ef0600926c22d9bcb957151d682677ff65e25824c4586b16945bb3ef132fa9643d05d8c21869b250475be8a7948ccf3c6fe715f08490d95c6bb49eac4ee27b9c98aea2b1a6757ec7df3b3ded04ecf4897d69bd259fed2b67e65329bd376b5be62458c06edd5f24d914c0b05cd68a76651ab00a847de5ba51d948c0b31709724feea4914547489ae4c2d786e0d4e5b60e38e33565a13438744f53f9016b430043b5acd195f7d562817c6e8242652c86a220f5db614e644ff379bb34874df8b2ce65d162f3936402485dd38160d3da5e279a27458fea92e73793c9076b8fb5e0c57fc9544b9e8c026852ebc1880af94ffc66429f9a73f51a7a6302438e723675490d249503650bebc160220575ebd70a9f9d40331fb26c7e9d007ea341306014a75ca7a98f5dfc50017ffedb386b99cc6e2b8c316de02d97ae6ae57b9caed90f2e042e9607098e225a266c564d5940d97242bd52fb5a6004531f245118dc87d71adec446354212f13b039ad225ab9e6c1e3c53609abd1f31cb4a19da8d4b066a7ccfd2f184b32a244773ef9f8df9238fa559d3962479e8e1d7708877b5302e2d575c72ae38946d5353fb218fe5ab8757e89c2d5c2864b38eaabee82c61c9b5176a408407285f4a4c040efe8c3300a2679ce75e67f94438cd2199018ad898771d8ccf3ad8132d9567c689f7a360651e97d86d461c8372516e50152a095440ca0a022f847e5bf39d6d3b42b257c02329cd455066211916f50b9d659b17763803a87d4fcdf86e33ed2571afd6b7a96e2862b82c39ce1d17a193657fb06195cb586a348de86cadbc3ba5f36d5588a96328b5399d71c681668e084f2685089260111d925434a118f36d55924c54982014c7f33ae687f0ede985a2a13018d5785d30bab9e1b207df7786a32d040304a3342347c038da721736735d8f7810397a656dbd2fc0b305db131fda625bc6a3f2ad258c35f2fe8b6ec59f162253951faf949ae3925fa880d23e3cf9b07a62a7773badd34f44f892c8f95a51af1226d681f86572a5afbf4783bd531bab8fabec17e5c78f0d9e18b8a6540d02b515fdd42505fc9b0364951b873bae9761795dc3f7c73ac19770bc90cfa4a7f46c616b9e98b13fab610ccc2fc6e28d03647938479c306164f2ca460fd4d62a2c12f4fba0e56181c82ebe5bfb5d0efd38365488df535660a9915b7f6f041e32e18a1ab907ecfd19736614169bfdd4e5935942a3ef9bb78c54464412af6479327e1e59f0cc50860fede6697e39048a278a64b23857add0edd2a4b883a8437b4a445ff9a35d8d96f712b9ba93981a68f1f9d4198e08e4e913cf93dd4fd3ce34dc3ad4783fb8dbb405960bae1aec77750c8c97e440b2111813bff964dbe5dea2f94eaad383a0f023c2974e9abe08aa1dd8b4b3384a47dcdcf4882a68a505454ee60af43ef919efca167030b7e7a9ace31cfad9f5ed3838d876d9dff163d30fcbbbaaf8ead7e74d0e66816fa66db20d480b1f75c27a73c34dbe19a616e74e038dd0de7d1523a4ba80b356ae262dced90b7fcd768a6d1645482b4d80a734f1cc0be8e9402d671e6aa4f51521e0a5acabe8c637aa8e9a723d00c3bc8e09ba2d61eaad3fd798a40f80d4db1aace8fcfc2d279a345abe5a8de11befcc170b13a873cadecdf9e65c5a3747f32c06c841c474f2eb12770e6256c6de588ee5b8a60c8ea9ccba708792913609c1d1c3fb82d5c14351151d48b4667186e42147fa885020d2aa0111b9269835ba7c2a0c9a49ce9af9c45d0234837ed52a10d6470077ae17f712b37770017c54a28987dd7be06d1b204a40ca3c622d0125c7ad6828c9109700bee99cd319a38386a8141e6de376098ea7c50584eae2d1a6feaf783459878f9b35019061e0aeb21c0882c741bfe518725c45568efa463aaf596d356cca00cb98a06011a544abeaf8fd6dd1e3fd789c301ac70de0cfd3ea20bcdb0fa629a92bfc3f8dfc2f5de580d4f1c23cfe543270b963d8e94ed8baa39f63e708b2c1d5bee7c84d5422ac87ece629149df990aca7a98686fed0e375b04ee00e08148c7b035b4314d9deee72fb2ad00b5dc288da1598cca60192982525f48d870d8f9d002dbe7f96981434b6887e77dfd50d9d7eb16743dc3bce2416641c0acb6dd51153f3e9e421e292de19873b6bc621fbc9d0622dad3f509b0dcb79165eed8a543d370b6088835dbb8615192eb6a83c0af94b8b7e0fe2470b4d48429c34636293a25c43aec00a03b32888e4d50904fcf5478b95888cef831f1112330a927cfa31ef84dafcdc448ab8416bfcd55be26dff3a941941b386a3e7b9bb6957be53bb965a0161fe26dc4f832f2dce2980fe7d1b94f32108f6efb371076187889b205ed71b01cdd0268d2278f66afbfadd0c7f77634be333b8dc8af905a95d4acc309e1ac3dce6db934b3a0edd6864a001a0d8ae76138ad834f3dc4f204cd3d191492e4f97e7f4430ff903dd699331fffc2d1b4d4cf7b285964b5bab3807f29dc86202d74087a8e893656d3e645671f2d28ba9b5b974c2491ffb32c026d9badec9489e9e8c6b6efb132e411a87cabc794f11b5c96267f85be7c793c6b0ed738bbbf5b437b5c57e2a14f3e03801e774f8ad5b29c4a083c7ba9423caa68d49a4be93f807d2b7bb79030737f03655d6b19f41112cbf387cdda1c2fabf54419502f2f92de2731cedb0fa76a0c434b08c239d6556a1612012801c4bad8244bc059fd5fe53405ce4fc313cedaad8db5d07213839cef0c2e9ecacef13114b9044017ab73936034c6584b513b7ec222b3b716064a08f5e3513a4aa6aeb98959a7a98142ae0f649277577a0b1abf7d0f8fcb53ba0fe6018692fceb20129f27f307eeff80ae4ccac6b8bbcd6b9ebbe6ff42a84be86afe258291f009518eb2fccf9d64d1388e45fa156541468b93d6b735e654c66234d7746186829e7624ec40be343b2c71b38a3fbb8c61b3806f4dc5026f81e8fc82e488146000ce59ff1cac18677f002f8d34b1b2c1f030d28c37675f4a6b28048979299bd38030a7073d8b6a2148ff4a732a4557f8e4c05593b6955aed693fc3398cf28085ed4e9765215705731ae72e64fbc72f2e288b0f28be1669afefd6d164b3878c3f00088eb7a5712049df95ead9060b63a232c577d2c577c1f20343d70f4a25a70dddada1729c409b4e546666f36e0ebea8b9bb003eff431b045abe8911810161665f661ffa3f536af8e9ae215a71c5001830aa0425cdfbf1042e2df1c9c39e410337d42672edd06890b95087d15fdbb6d7e888e59c09ffd8508975413ddea39f62c2158ee709250c6fd90e6db4070afdab18fa831af759da1286509ca8db6bbff04a11424c3a547dd1d97a87bf3fb71882d09f244cb434b2de8ced2e411e9172e3c86f5537f7fd9280d6bfed36f4bc653aef4fa040d63a9e221ea00033928d7cd1adaf480cc20dfd388a6e983069be3bb771f88e9bd2cbd569298db846b05a9c62a083fc5ee7e619e91c709d84d872413a8422b21b69a6c8912f0db1e2f1d37cb88d749e0dbe1489b72f2d87e8122cf60d31ac5420b0f12d832e4e7306c4e09098ad8336b85d1be7ef6dc96ee0a688779e54fd747b0cfca615b7ca7cfaac3af87b9dc911eaee863e17d52c351b518cd389d52b2c72001fd1fc55d97ee940a024ae35f55cca957f4689d7c78befcdab26cb493ab6313f5c9cdebad7572e20b3517e718f7455f1feafae49583845a2bc14c19742d430bd5adf947c1d11a1c88841d5205137e3a610a46041c48262bad22f04f581f6888d0730c9d47dccfb07b234d9f9aa507c9e9385c269bb4a1283d58f302a53f8915ea47b02a7d08a295fd0ef39c39202021790d608315643da41058091e64f7534143a7d54cc0b3668c8fa30e96ebc130e35c19f22e6208fcd13ac8043ed0779299e18fce15fed1516de247022ab58e6f321a6f5cc003e9be8b1b1becbc89f39f92c71323cb7b60e0df55fab27ddddd5a4673b3581277d01c11d6891b85f8a4955f9e2ea2d4aad44951b782694adc95ea2e0764566cd5e2e8a8cced0bf6e7aa4c7a0b1a970aab40b148059f101b6253bb7f01c374da249804c465108488591710930a39fe41abb305d58b294cad7aae467694cf0c2e504bcd55e51649e63af549e8c1280aed40804c0c181b09323b2f9514425c0c6c2492291255a2c75a08e0b31277602341252c05f8f6af3c1daeb7b1495d2d00cf6d61538e48e2bbc05d916afb5c6bb5c5bc9435ed2282573a4b29a2334be9e75c1c54aae6b3249a37078f1ab6e9083d8bb8d87c82305e1153c172c43b28d3883d3147d4738cd83fe03b5dac8b2250a975d0b91dbfa6e03eb32e376f5f447e8a5400400414c36e6768ed40e20375a5d025f397971b3a671f8e77ac4f0a09e4c309609a450b5169bc26ae5b5ee5180ee5f892e8dd1646eaa4ad617d7ba8c09ef3cf81a05897ed112c44e922ffa1b0c3dacc1a009816d658afe402caabcc1828dec95fc6273adba8cff95babeec674b9442dbce18c090e9444c04906bfb8e3f250ef7c0fde6feb8f88e778a5b6cb5ec0c1269087becc19d5d1bafaef748d545e85219a0a3823403772fb4a97096fe152b051101db15e1c544fa48a3c61bbb92b11b03c81cd81e10d075d07e3c54f254c5b7304955b0b0725e5c1ea12965ba3a9a7e49be6723aaffae30a9da959b3145cc1774ebd67c728dc4bc342de90e18536d81a3f25b003a545f38c35ec5b13a6a25a502591550ff0d7e5f60b3c6127534ec02d5ac1bff057fae07064f84d267ded9659ebba1b692aefa3a56ff89b817cdb14653a16e18fef59dba4d5a9b6fdcac002d5b8014217bfcdeed75f462e546f402397b1fec28796446b849a53ba3909d8ad0953831e38572c813842e1ccc29fb69cc67c3ea5b1690af1c206d5a21e8db01ae6c56008c54b2c520943a2efe4147393c4d4f6848ac0eded5e27d470915191601b91e82eb5f28853f447111ad581fe8eb2b226750f9876efca60f31314a7abc644c55eb65a0f607f21e4ef286e4490254016d86cfaece3e762b8e0c63c7c4ede9c7ce583c30da864964afbacf87e12571a92b819f5a927a17024c69e274655bce7cc5f4ede6a0db3e790b84a00fa2ad7603823026518be88cc23a44efd20dc6594ec977dd70fd8c54e71aef583c17577bd881db2d692270fec4a6e00a9e69a64b44f117e5fb104ffa1e7981ea65dce46993f4d0cf39773cfb312d34ce00c9e953f16d257e72bb51d101fc42277aa52c11cb009ba3ebde593286338db3f17004f69d5383be24c3116ddef45348240d2ed20a1c20de71ef60354bc1691ffb3e292f0eed6772106f1f85c8270a3c0f44b7ee4a6b50dfac10911eef17a2a02016aab232f0e982eb86c529f934401b017743d7fea704c764baf8d3f100a9602bfe48619172a4653e72b0c80b6ff4c714db5df004ef0229ddec2d8fb02d62e456fd75fe46b111c6281852ab8251bbe9d31bdc9f7075da47232b3afbc3e7749bd804d7432bf3bc59b49adb85a1843d6d002a3ea79dcad9bfd30a2173befcd2c77f96f76db79f61da7c737924f2f1cacb85ed8c5fbf2e3de7a8bb4929cc452e43a7dcf17fef6fc850f2189461d8f1c449b443d920b40047f5c842fa6d6d13bbdb2be3b3ce321b988bdefe5e694ddcfb80db91856366b0725c1da14e9f66abb0b8fb1da0458412ef2fffd16f78c78a134dd1a3349d7bf03a5af42a4e55941340ff5e64987dbccae9767ec603a4f8dc0a218ecef37f9a526854b4ebcc385152b93328e80cc0ad575aecf5f298f853c9d41239292bbd26e981f2e58d42310180177fa185a0714a7239e67c23b9ed2f078a819b45517239c24c3878543681e55f129bd1ab379171429920413705a1fc4a690280b4ee17f1c71447ea9ec017fba18f2784d024981c9b6acb86964dcbd49de93bee76055f88c5bef06021ae51508a8f625b14ed7fbbd81406ccaee35f2e77fb666cade7fd47663b835e11f1f1d7738d1bbccb9e97cab799a4c1542b4417d26b80c83aafd2875146ca987c9875991f7967a13764d16dead5d0cda1144668d66e8b577d4c20f1700b7537b5e8d00fadb8c0068112380e1be08200601bccb45e07b59b9fbf0132953884ce47a07fd933b387ed564c4da798bac3b3dbc6f0606bd550fe59d1ae1c8a826860be1495b4a9d3483cc8f19c44792170aab793ed25f4dd6281367a920984466e7b0cede21a4fab10b424cb1129a0267c0023902bdf4d9e4a02b7e04b3a35a94a369099ef7fd06487d37db6ed7cddf7359cff4db38d840a65bcd7440a3b4ae0096550c7d21d2dfc20e60566cbd3c0212f5b12cc9d29f02a4c9793913f66a7bdcea0792d1841c0922b0a4c4cf11a2d99f089f5edc68addb1188a9e5750d061c811269c810a8e0d6b287023993928839bfb3fa3b6c4371dcfde97c0429a846841b392439be1f21789691e4e57657211f64c1a6b3040bf2b29725a29a76da2119b860f13fe1ddabfbc3f0b8ab6c271dd6b121dadcfb8b301e9053e7ea9c0eb3cb3d851ef9a2385e2e02f484027ae6b5675a200a5a451da5aa2fa7b4ed9a080e850f2810c683dea187a909c1e41a210d42671c73fe4ac6e585c27e2ea8088a76d0e48100b4a568db7651f968ca3e8bfaabce9c5e019c38d16a44714b4452d3c83622876f770977db5b2629537106390668061606777731de2466ed184bd4b11a02db946fc953bf65363a67fdae4db529571370614426aabf37a8845b79909f818909037f6d1541587b8c545a959dd646153b4b624d52ec599f0871ce1487db05d139fddb2f12135114eff9bb5d4d9d2f0a67235daf3fb856e6a9ce64855cb589c8cc59bf912a970d46d77577b7e9bd637edd0bc41d45203cc98bcd87cd87cd87cd07cedd42381c44a61cef16db7a34c45279f08833dde5fa6de6faba06dadad6f6d73a555f3fa672930a3ce2d72a325df0d9515c98b33f1599d0fbf96234d66481b0b61eb61eb61eb61e56f8e4db25ad3b8aa2a5e55aab0dced9d5c81a5977f382d2d32dad39e2c65971eb6fc389b338d1ba2be9511cd1d35cb175a666d942fee5fd20f12fb0b3b79ba40ca9ed973058cc87eefe16abf59df4846cff778338bec6f14592240cf622934a1c359f4c95090ab64cc2afbb48162127ef2e1c364baecc2c09038bc160e2922e4b6458f27416dd509a3798b1255162e51a234c52524b8a58a0a9498a94a7272474daeb1c93892c242c38122567e28811c32372dc1cc12af25295db61456260b122313152ea48541e959832656acacb9021479a1c1112c708574eef91148c68e5f47724c9caca97c9226e901fab1fab51bc71be7c298ba48aa4c8dc2d74837283f215086be58cb58af747b2e2d3e23c70d2703b2b468613bf2dbae8329cd836a2941d2d0284969c25eacc191f3ea4480901280b288bc80a661aeb2fd27825f2a3c8cbb5af2596ae38b4243a0b597d45511cc76b8a2c50e59ded91e696d287ac9077259c3d6492ca4326aedc43927245d3daded73265e546afbbe05b65b9c372f6b716ab290a764a6836e9870dfa1be3703b25b926655007d67650ee94e49a9cb19d1220625a7256fc70f61b795bf71f36b825765876589a7658e620d52d0c6a8e0213a5a949d20e131660a3460c0a6cad16f666876587658725d724d764a7648745bc2fac10a6c0523528d15aad75efe5a016ea27ef38f2c861ca0d680cc0f60cdb8bb1c305994f3b69b55a6b6db5e415eb7d2a6d94b55aebeef75e51c4bfdcfd667ebd48fba32cad685f74775cd194bb2c4cdd36e683bbbbbf91bbb5d5d63265f9c3a63e39eb0f29d280a702375ff4decff1cb17c5c193bdad3f8eda44d6719be4162e7192455447bd4142c38193fb3388e5762756acfca0f941c3858b1bbf406eae7d6365062f93775516776b60cdedb37b71bd5cca1f1d74d0a1aa0a0b4b4a8a071eca94898a2243e6c78a27a55a9e14dbd6ba7b8d0324845f2021ae8552f677100c548ef895ad38c2c406225252a478ed76eb5fdcddc52bde5b430984388ae208256333bec651b4b233f5225faf7387024692d71de6eea5898389dd5db6b36547b62393b9bbefb8fb39f332739ff5087bbcc7a78b8fbb0f0d0434a7d54050f39aad56f31bee069ced3271c3dd6eee9ecbe5743a2fa3db95d9b90c871d8addce1d458a9351f9e1fdfcf09ec77bfc5f318af10d3a7d7a408150d4dd83526c49e12954d8a0c2dd5d05931e1756f456ace8f97a3d93eb84113e097c3e9c163208092690408222343413b09860027721162c98f40e458b162d8686846c545a0c0d0dfd7eeeed2e1c0421a50cc74567048045126f048e2b8e99add08930a77746009a481705963c874584a4bbb72c381729d54ab1ed4315ebb72a5ee3ac48b22209082210e6badf17b4bc1087e905ac17a270729ab85db95db94db94d596164851108bc78f06c87469a720f8d40a94c29f90b9a817338b7c97eb3861208d80825631313adec4c952e8b419edddddd03a647a3d3e476facf0b4e321cbe9be0f46454d0060aeaee147f8bf8f4a0a27d452983043016462ef256ad520b19448ba6a4ee21b3bb8b8dca0b18f7064d297f7438eb378fdfeb439a866ce986b2aab5d65a6badad64ce9220e41225254bc42971d4ec5ef4a5da2fb6874ad6e4466dad4a8468b212a8292551aebb92a6ac2429a738b792253b144a98f2cec74b446e3f9d0229e38b02292ff1cd6b1c9380f1dcc3245aa6d58b7cbd5272a706eb4eca30a8393a49912328e4244a49a2fc60b1222f62ec965eca0bbb48eae4f61e19acac8ec86065ddcaebf0c815f105a02da0ad5e268bb06d24080c528a28fb8b6e9c37fa972459ba21f00479007519c4aeb27f8e5f7614074f9e723fedae9cf6db77c17dd648e97ea5dd3397eeeeeeee4aa7535c6e245c905c41e245d68bac185e88792106ea05d50b2a2c2fd6bc5873e5851a715433de2afde26a7c5dbd44a7176d5e641b72ec40f67eb103097bb103ec3564128564d244fa44b130acdd013c82ed3eb2b4e1a759cffbf8fc8c56abd168b3d96c369bd56a5fd266e535451952ed6938f53cfb523469381df3eccbd1a4e1f4956746f6d6bee6e3f3e568d2708ae6d9fbf8f8bccfd74ac3a9cd339f37b23e58f63d3825a1b732cfcb6c3845b0ca787e8653e4d29a33ace3f95e56c1f346d6acb556ccc2f64cf3dbcb1f0f2671db1eea6fe4264ec9f382b289b2836abdee3e8ef6dbdf923e670f6ef6678fe7b7f3ddefc1d3d9c3c70f251480a4b0a482068208d9c00a1c601ac2029122468e2049a2640993ce9ddb4befe13f1c0507e229f892abe01af0202ec437e02b38077c88b3e044bc881bf1238ec493b8125fe24cbc893bf116fcc99b4efbeff57ebf1831ac9b0676eedc368e0d81f5c16ed91fac1c0b849d6383b042d8212c9725c216614560e95823ec08ec11b68e45c2266195b04b58266c13b6cb937054eba681b64d0f0db46cde34d0ae81d3409b15a781564d0b79081a68d3f8d0408b66abfca181f64a4e03ed108806da332de4d62a8806da2a211a68a98668a035c3e56f8968a02dd3425e44032d191134d08ea1d3402b654403ad981134d0f27044036d983a4834d0ee904403ad0e392cd1400b868906da2f4d34d0e260bb1a68bd785203adb085acd4d01487a3a13114354095b3e6f46bd924296c60e7ce9d3b77eedcb973e7ce9d3b77eedcb973e7ce9d3b77eedcb973e7ce9d3b77eedce6d555b5dae71f43eb57b57a5a556b823042a13b79ba85091bf8002f0d74000e0d6cc0970632004c0317a08004ecd04004d808d3401178686008621a7800a906d618d34010c834d000651af881071d50359083aa0616c0aa811b9c69a006c30612e0aa81190069a0692006691a78819a0622653570006b1a78c4a681c1166ad3c06c9fecf1f79e578fd142b07f00ec1df6269ae26630187abfd61736b2a8e9534fe4507650fb8f3847e5bcad95531d6416b93429be63f14b24dd073e3ffb107cd0d987d0ee33bfe7cb6aca2873cebee7df3f869b72aac3e69d8f7d896548e5977e9ee763d0f97c1e99c7c4e999cddfc169cd3bef387d400294383ff3bc957dcbfc7970ec77308fec58879865e83d5287626fc6dec8cb86a1e788a667f69ffbfc67d8bd6f6b5d0f34796a99ad1b539ccd29a628883163b8654bb64fc3033be432c328b65542b864297721e9eeb7d2d20d8eff7a112fdda0e881f88e6b9cc1f15f18c88ca03876e51e4509b81537666eb872934586932bca7022ba1b296e5870d3c3e846e9154b82dcfa018311118bf9a0e546ab4a2bea4a6b86bed27241cbc84c2b859e238ac6d06a45636a3e5644682610b5356dc698dda60bce94e1444ea7d3ed76395dcf9b1fab66f3b2222e8f31afcb9b576c626003056885bc63e3e36acd0fb8dc576bccac0173b5668b4faba4c069735fa1592afb0d99ab375daed81871d54603dd864a1197b1884b9ba6373110b95223bc5213c3959a29576a9c5ca92972a52685ab344cd4b94ab3759566cd551aa9ab343a5ca5e172950686ab34575212ea527ed1553b7052cb6e89525e94b387519a0c294d4bd45fcb5d12a728e21b1735cddae5ec1e5670caf7dddd751ad851d6010f8f92efffc03953123c8abf88deb8ff42751a8ce88dfb6206e2df47537fd25fd566959d658a1c6a59ca15d5d14896cbe6c3e6c3e6e3b4160775c269fbf2209a670ca50f51b1d8d7927d5c0eb6245b922da96dbe0dd552ba0677fb4ee6c7c4ecf7bd62c4db4c6c49b6245b922d49cbddddddadb5d60a21843389496ddf4bd1b60e766c30b6b177af7fc4afeef55b5cb6503fce9ba77d6df650f7d7fef47772370e920fc89dc1e7b6637fb9a40d92e2bdd7fa8b08e7aa5c64ad24ee20574e6d52ad53e6ec1db285c687e5d1023ed20432735934bf7b6ddbee7e3aad7d62bb5b04a7b54f6c77cf984e6b919ef8fd85d952b3c21c0c6c3e6c3edc81b8752b0354ae494eee2f6b1931a73a54dfdf6c60cb885da943f5f358451ececacba3157518c59853ecca13a74c247625f3b2555183283a149511d5d6d3bd6defa94e11931a38fec993ba0c71a90e552219a210117f86e1a4cefe3403222fbff0856d9083f8931d8bdd6b590b8d8ff39d1e1acfd1149b9a24118b2c5519a213514895210ee9a1fa4f2a9116aa2f24d7179f89161afd0471acfd126d6d67aa12949375a4c2df22f16d15d6202e54b82226efe9d50599b33fbdf95a264a17ef388ea28f6310a37883b0416c3d6c3d6c3d7210dd033cdcf975ba37b23cdcf907e3a859f746d6a3e4d7d747811370c469a772da563b4cd3e5f0097c71f8866d18677bafafd17c70af678667180dc0f65ebf83696c607baf7fbd9197e348be46f486d5d531c854552a7ac9fd22d37ff3be77df2f4279d1cff7164b246ca0edfbc5216d018a0fc0d21b99b1f40ba2f8544492bb97ae900102531d72dc3240e8d9f9fd37f7274aaca47b1c3ea3ecebd01378e9833f25d629658b7efe149e606a9425aa2ffc39f1a5f3f0edcbfbcb3d5fe6a8d5386331385ab6e7e52b87c513f2c00849a52759d0966fca6735c5dbe2957ec5f145fa7a70f8f652a6b8204b92a489cfed6777939169929d83261c34711085278a891d264e0b86f058306416a3883346113d268ff72830d0a74001a32a4510108a73331855d95f87ab2026fbe015bc89f06607d76ee803f905f1e7be85160ca90a63aa0ef9f7f8f87c64483e1f8d868585d5c06ea195fd519c832105630a86148ca91b027e9cf7613f58e9e78190c113b92fab89022f91c1db97ba231a1a06074e5e7414e53eff3a3faede972d324e3f614f4b76a8fc81adea7f7ef73f3b5b6fbcdd7ecc1ffc801d4e8702f9e093ecf7fac961a5dddfbee461f9ec0d3fd59cdd492180e2678702aa85785858364a7610a25822275b64c37dbcdceb763b4c435100fde01b0d1a346848d1986a217f29345ce80a6898699f6f957113e568b2572d17bc447873f23c5ad14631f671b5c06a9155d627394785c2e863d90562b609a1d8c795fd75b816582db2ca1658b54556f61fe108422f8a410a31c6bca02ddf94cfca37e5b342818050b4c4320c7c583e2d5f160865baaa4c5992b52fdf1f843235ccd3e265591e16cf1fc5392118210f288ac7c332b3cc003f229eb27b1f2fcabbcc0c99b2282f624101d094130f2443b20f64ca64a62c8795807cf0c93e19fcf1eaeaea0a3ee5d0c1f365591f2f8a875587fc45dbadfab07c58b9943d941661d48d862c51233e82a1877851bc281b9ada8c1e4189e0c3e98354d69ac34ab95b90ee79b55c2e48c7138337f713f3b87873accf1f48764119c40b9221f1b052a4a83cd32ccd1a108a73b95cce2a57c3e2f16a585ec4c2fafc29c85ec3ca9ec2e40d71c6be5c5157f48afb5ea63e15a60a1992c923d75440fd6a6f64579839ac74d33d905f10f7b9e761251ed003f905d1c7676daad6acea902ced2f66b4647f2014e3a35dc54751b62735d542bb9f5721fb400cf244f0c1b7b595fd75b85c6daa66259baa59dd4eac13cb07c716ddded3136b07d380caf1fe73bc57d155503b3c0208505d2564e270af40c08fd3fcb267f658f0b62a2f8a1755abadbe3f2fcaa7e5cbf2619558a7f004730a4f30bc21ce94d7a94f029f0432241f56c9e3592db602ffe661f97c2d68c8fe407ec12cd99f060c5d817f0e2ba178206470f7fd258a8686e1bfc34759da85ff0d1fc1d015806921ff13f8488bfbfcef510e7de4a587fc77c8de5fbe64ffe02788023d826a17fe46d646d6c9dbf2221f960f2b5f7c3483edf9e3f0bfed792981c913e2c4e1db04387c7b5d3a6e9171cafe3ff8080a1f6d39129653b5b4aab54b7f39f2d23e7f5bfe3c905f10c5e39e85ec82a15cd1232db6e76fa3ebac384cc385aec07f07d3784cc38906140d2d1d25a5a3a664bf5b3907396e1dcd3055651cd1d0435655c6110c3de49fc54e6597a1b4cafef5080adbc83ad3312bfb98356a8d70cadf042e58bc307547424722c039699ff61728135ffc93737884124add4e677776befc315bd6018edae5c3f2655922ad1cae3dba02ffe7e11276d8045c93dac5521552996a11dc0d23ad28b8486b0ad9bf048099c3b7125ac81f98c33f78babababa82b72f81260c83c05465080d31e5aed2993bdcc19c0c03582e5f873b78c33fc13200660edffe041ea1b4c0c4611b454531cc183224de96edf9bdbfc287f3f2b878276418d4ecc36a21ff9e91fe02b595fd8f849628f56165879ae148cbd1167f1f5603db0884225547b27f69962c82b1e00412f87ab0a0201089be4691f713bc8e22686b3038141cea5feca7dc9e86735c1fdc836f05c81cfb1357e0ccb1af49a646b044b1f2dd7cbfbd0b63fc78d0f4330df7dddf41b1d2b3b56ef8741393f7bd0827ecfdd218f776150f0f9ac5c1819dd9f7acced0d9fbccd01a8d46cb34b45b48f633dcb986716420f3f0641f8ca3ce7e24c95aebecaf054d9c7dc5c529cf50d2f6c637b21cb0d96189ce1a36da9ae2c36ae0505d0ddcdbde86eeb03d0e25dd077b1e41d27de4b7acc60d256398b30313c11d3734033e23e892137ce2f931f4f03f1dca100628a61577c7008b8c18a92090e892448a2112515a40220a111e18429572784c199335460346a49841e3248652f8ebac743e59209c0e31df5711e64542501efff582e5707aee21982539fdc5d89c36f7104c929ce2703fc7593047b2ffe956b2ff23c9ce0b628539561a40320397a01194183460d264a5791374adec6fa06465a52701e45adf4091caf57756e61e1839c7dc43304c79088629d72c42dd2004091d84599ad838f58c58c207255268818823b00c0123df3eceda17b9ac2c9d5692ecaced29b5208608234436a02468df3a3541bb00992c23e012011a61940664799a12839626229c3cabca115915282611352a23782a3998553c80bb32c479e549ce49eaf4a730b22a3bf84a27a81d314e6830adc771ba61670c12594a20b572021f08810a2908b18312a7603a85ea2a69e9852d4f7704549c78a864d9b94285824a15d05077e50327fc8a0ab6173983cfeb494a50971365aca84cfb69ae74d1a89e88f454e1c261e9e428954e59281626416b6e4e92249d9a5359d9c1e66ad8f47899337364517594f02b1bace0be7765438f3ccb7d0502ae9cfe2660638290ab25b4e608b5c804a04b129792234dba8478c54c1f47dc561852c9690b651f6861382c321c0a190e7bc0a0e89461866742205b333ca30626647886aaccf04c0e3027c333350ccf402965189ee1c0991fb01eea0cade0a021b9865663606f865638c486185a7d6068356568850456e48ce51e5aa9d075934155d161521567588525a3c186a729e5d4c5ea3c730fab3c00633a6fb9875549ca615590324e1d189b21d59c580b432a37301f432aab21559821559621559421559021d50fd90b668640d2c39933300ccd7421e90ccd5489f13034e3646866853b9c9a9379720fa7ba72997b6886859cf64eaab1e9d7402c628d422c512a468d4b96c85aa216b7442e918eb8c498342a8d4ca3e8629438e545a430dbefdf25eff8646cba2a3be871f753dc6bfc0d2c514aded7eb3e0ddc07f57e14cc301a8007aff192e3df3b2576633716c33b6b8e777ca1e40ed626df33a50f4ed586b3876092b2fba7317aee5f8f30190dc016b4efc197a66cbfc602e4646b5f025f98b2fd129cfc57fa7ad9beb31be29faf0cc43a05f66d5a22c733ac6f444911cfb03dabf4947657b657f20b2b3d5df41524f7291249326b52056242ad4ab6485d5aaa6393ac92ed790ffba3852c535daab5d66a9596bcc82e31d9240b86a7eda536a92431f651b7cb3bef8f6be0f8fe279a08677be3fbbfca1d7cba0ff6baf17bb0ee5e0cf66386c19ac8a77be38fe38fbdf1839df17d9ac8fcf15f864f74af97eef2eb77f089712df47a722c63377edea3f4db4d94e03e193b8494e04535a94eaeb3a3caa8485425ba89be5694e1b047641d9deb12b6e77627cd80b5b2452e74df97515873a6e06465ff1c35a7b54eef9073d4ba54ff3c6b525a933ca0e1befa16efb0617b0b685ffd185ae747da3a747073847072eda175521daf8c6b9d16f24f61e51cdde62ad3c0a2534e30bfb451fe8e27f3cb96d53047c8f54b93045c3e6d6f24db7dd5b5c8ad32f662f9221aff4bec1fc34ae597d5f4a0cb90eebb2c0317af2fad99818b7cbd0317f9e61270447db9d81797fd2a4d13c7b776e11fc3b676e13f625a1d12c7d7dfd7bd4a4a7144615fbefcfd71a717f514bdfbc4771e41dbd3be86ed691f7b1abae32986d6a07d0ddda18b7ded3b484377e862a8ee83d9d33e049fafa127d4dee769e8094f356aeff327d06c288f600cd57d40fbd9dba8a127528e1ab5a7a13b6a68bb013a48ea3c385f67800e9eba106ab0e76bb0e73b48fbf4cc220d7dd269303ecff3a037eee70e9e2f7e59dbf6d2f17976be6518c4feda1ecf8f98e4416f7e2fa2bdf8d712eda0e92f8f41d6378eef837bf0e9bef167f8c4ede3cd250afb95f616b1a286b3beec1574e50cb272a6e4cd37c4afa569891a58fd717ae62abbc03389f2b09ce9ef778d3c28dbfbe894d8efecc750f22574da5416bf89ca2771cdf953124d47582a16c930b409f63c9806c6fa7843f04470e6b8b9bc5786b463a2245e51c349be91935866459b46209368aca9854497a134a1ed89cf2be2149f476889529a144dca12955033f068b1443b2f3ecf164b94eab8d97cd997220f540b890fc329f9fe369e9c6d7b65ca0395c5df91e122b6071363625386a1e91bb98f227a833675a38c41e5a7bbd8a734188af76f1ed9ce5f50bf653890667f41cd3db56f1992ed8dac0fed86d37133ef6f279e76de76bb131847cdbb37b2e5896f1952ee8dac4ec7fb133f3cdeffeb743a5ddb9e4e874f7c9769a8c42cf77635ea10910800000000b3160000200c0a86c322b12ccaa238d2730714800c629054564a32114623914820c84110043118c3310c823010620c320c41c5cced003b3f5f56b6adac7ca325e50d0c207f1f528bd3beeea0a19b2d655a97214fb39fba6a9f89ae43bde67e5feffbd698947d73ac666a7db21038d4d248d55f676e47500de9a28b195746837da8946b5df90045970f172e9e7578aac7fc47947298d3604bb28a510f5ac45aed67f90d63a705688af786f15f9c8e67d769963628a00d44b92ddaad65868481b8990242a338ecdc597a074f35773f66520183e31a0a774dda1e31744adda78384138f5fa583ccf081e5893e7555afc380a97a7bf84cfd306ee089e09b36d053ba6dbc88d64d07627e6b8bc586d6159ed02a100df9ce0de78f0fac4100c57d24fc8df999a0d233bd0b37538fb518ad0df9d758f1cf70cfe54ddba1f02d214317a70170f8190195cec9f8cbb469814f3e81cec3a82b0e85e10472d28be897fe950f9090f1edf0bd3443aff7fe5c4c26ab94f14efad379a29f028ef9896fc46e94553cc1bb87905e1b195b2e25bc2bec2649aa92755c16fda8703916716be17e21ad5ad64370e231e06b094e795f5b54ab65fdecf1618de5f2e0a90a272cb4b7b6da97589ae460a6a679a99e4b6b6054bd8bad3eb071d532f43a68b9ea792bd88e68547320c185af0236897afa6dedc71c6424a4ff60c7d61e4877a7b83e2291d8e36b8c91323620e962783d14085df1fc82b1b542037c51ed4b841be13b3723c25f96a61f04d105bd706aefa7314fd73c9e6ab5e78f60d8762cf11047961374a54402aaa7b2d610b8a052a927294a940895d45ea66ab5312cf411eb6b924a2a6e13253a486fe1daf2b6b6006a6115eb8b1f9e2636eb90a99e2dacd294c9b6f226bf39f59dfb517325eb24497def8aca6bbc9b912e52f083df38b63747d4cf78056ecafe2fd77d7503da499257301d010dde1b615934477c4a1974b162768b5bb7a71a3ae00adf1086a2c231a42a8aebefc66e00f75ed7c3c5d02af2f14bad06249ddebe27bc20ea44d62c19c0bd76bd0c44563b462a98809e659b24bfe037de45212cf8b0be5eec00ee15d6e5a0a150316495928e881bb207819bd8d0e074ae9307147b5f836abab76a79751fe0675a04f4c0ecb6a6965fc2a21857dae692da27b1652525f7c2e45ac87ee109e859629ad4929bb89ad43c97a14f3fcc83b430c0bd5b7dca23642e9001dc4b1458b38c1d95498fbdd36162ef4a31c9e01b69067bf88bcf41019a0d0de103d656406233de5949d872198ad3d686dc60cba5f3b42320a3888e51246394e2132513a3d886d13f4f722cb5f7f485caad982ea36acfd1f0a368f83fea546902ae449c69909b69ef5c266951df4ffe0140d4e2d6d25024b15f07d06019fb7a1e06ae827cd47d6a69a5dd986e615f661e8e825bbb6e7e9a02346dead381b8b9c7c1b4016ed1b96a6d0062c7ea59198c8042fab8913bf6c9f40df93d94218603ff63e43ccf38590cad440c6dc425344b4b34e256fac2652ce8a5afad81f1a6955c1c4939a221c4465b5cc46b797b3df96926df33d1d4eccaafcf9063a7da8a5dded75795e28c6a70c91da3ac481e154f076470d44ee66821ef302157e9370a91a4a2e1d18790cc373a0b28febb77a1e618c1fd46b9f53c48c84b8ff2565039edfb69ac277a303d4edde28442f3604e053aebad3214cd6b02e78d9c03de4d6ceb333abaf47f1278a1151be35d2539394762b4931fb6a0251a2b941d5726bd1f80da8922ef7db13c0a2d9a2c3423847189810f5ee1dcea63743c8524780bef1a5ad13c8422ce787c600290ee0f536b176850aa20f4d15393ec8e8e373598e77a95d886261ccc68bb0423959aefcfd48632982a34547d3ca18f7f0b29d98f6f195785563a0f30e9e6e01a533c4cf56820f95c290a98cd274243eceb7ed50f3a326f3f2e9f4fd78b122fe8f815389958da5773fc95d486eee188d9e49467f4f33df99073c7dc0fc6f0faaf545c256a31edd10996b3f9f3a6c5fb97029b27fe9a8c8d7de92b31fef65842c67912f40d5ca918384d03ac6de585610fd69c7e861d2a2d5b5f6b8529b919c830239ab94787a4e429101a284d34f8c42f03fc584442985c23449bbd02ee44ea30dfa2b0759252a235ae8f24bc8b1f8881901eb825407467d63db0802e8ff1d578c81005b2bbb6f56a68ead3275ed5aa591bc8987f40dc6074d785b9807077adcb8dda7cd4b40981491d1eb089a866f9cc6cf98f82c0c1578046ee4d31ca90dcceb871ee74982a0c3ff27dccb0cc5e1133b6557e5ada9fe218f92e3364978fc5a5fde0a06d6b98a07fdb2c09b3b16141d6dce5b7e0f93b48160662183d973535cdea4e80ea12a50de54b0344f941c875b78b491744ccf24a343ece9376b88c54d6dbaca6e796fcb181036a448a8672fb81485514ce63e19ef14a9f3825411d3ddf072f718148a40548a36bdb8df318c4e03665eba3f634d7dde2008125af95cbdd123e783819906b50c7775064c7996b9713c05b784426e5e25bb0bdb86125fd03a26b8e0b1026172a220f5a32593d771b7a54ed9edb5755c4cf520d7fe21f9fe4226d1ca8b92991a39a8a1515a9d12984bf0ce45a9c68c48c7fa4872fcca653039d2112a0555a5d4902a723c222339314d3b755ead2cf0fee4156227ec7297a1ea2d1ed4cfc9e5fa49932e8914ee65e453f5cdd0f4a9673ed1687a002877b56b67365cf4b930765726589733517a444c5db8cea3ddacd17cdd689d9e34a9583b4f1f9c6de44ce13db82339890045142dfbfde712d1aa119ee0089234d2772aa3ff703111925a8a6909319a7a149938b71c794ea7f449139e60fd7d6b432fc299869f5fb2a485967d061281d0894bf8c58f7f018524e82aa2f174e09391fb85cdee284a796fe810b062c8a364b47b55cbbddc5a278ca1c542bf9f78a48866971b36abc682b98718403caf56b16cfd4b18d3015db3d7646bce2e3faa317469aefea244b82f54cffdb191f187dfbf45738bebc149c2d0adb56d0679adaa797f8da52632c5974e2813ba823d1d328f85710cc55538d06c8d9794579da3251a00d7e623b616116223c3f3e6e65388bb652504c60425c96141e5b9dfaf98139edf4b12100ea94ce628ff2617faa9175329f5afb767d1a99dbbc25e9d2fdedea520e2dcfa4290997fb659e32437fe536dfb5c25af076cbb40fe711bb0a05480170adec9f3179c8a23247cd7bd41c93adb901281664bcec764efa588044d05a614194dc968395c728960a25099cf0abf2812b65e7c90cf5eb0d975b1b5813f881c4d88fef7017e029f2777bbf714e4260ea5dbc3a781d1e4584691dacabe8bdd791c9e69b296c872a4b2d03132758853399a2a855102c0b2fd5c9f079267a419b13e8d669d0088d97ba8479b1acbb29d48403658b55b212bc771d5722e2e4c641e7822dd08e36042912d8887fc0792985fdfe1effcb61051e4a4b1b2a9c5f1469bc735e5b26ff05719ba08356db49d6d522fac6f5b215264e909c78f77909c5d1396ecef6dce76a1d971062869dc2feb2b9927cee5b9e1f0cf53039156a788d3a6c3edbd8853df03ce763b7b14f61279727886656b2be0c6bdce87cb7d884c9809a3f63d39ab06c875669997b548f0e501e4cdb4337e43eefcf8ad33f08318f358ed6c90368d6c35b0a343a3b0a4a798c6f8bb93a1ec7731cfa8a30d56557c7feb90733aa5245efdc6a1cf0dcf31932adcef1c31b3f520b10856ca143f819f5d178605b120ec872514f9dca147bc23d5659ad059cc5842a2f61528f1cbb3c2d52006aef0de5d76406e05d55a5ba9e2f167a498b7e58ba145294a183026bf4c1fb57d384f29eeefa58a5c7069232ad581e88f38a0efcc0a4f988c7e85f1f8cdc31851883c300ce448b4c1b716e195e3a11aea33ad9d36c6f2c841aa1e16f5707a621313d4ec84a50c74e34b245fd979b99cbba36ea457ecaf667d36282dd3bce479d32d0e60c4b0c3ae65c5eab5f69adfca0ca49f6300752c1d61adad32b2d5a4b46023e100e8b471244e2973e53de89df81901626fa085ce7dc10d2016b148ae13d560d2101ffd2373ae80ef2169346aaf09accdb8a90c49d5991179f23c70df905397cff1cfd834e7e74614f453696de418e760ae3ca042b88166a23e138844486ccfeac970bf6ccadc28b6d314477e11532dc992f36d86bb4bc5a933d873b4362f846332b10a40613766263ba1550d9b3a3712f92624ab660bd05c78cb151a45f7c3848c88dbf213610ce3ec3e77958f43303187930d50f5e06085b4e1d3efe72982c46d3311813cbad44f5d424483a80b0b0819aa9ff1077027e7fc07136a954a4d4a8378edaee1500ac2522037e7ffa56126f8b090c17cbc5ee3909fcb8f72d3d73937293027e410ec16aea619c8f0243623eb814b7a1be2408031eebf3adfb68635ee5c3de4a200fd2628d3aa01d8c46c0892122b8046bcfb0c62ff536417bf07da62f4aa50833cba24b79425105a1cbefcb50889de07bec07405a6fe3916d34a477ec8941bbf8120853296b70e5ce939c02b321620a1340e12374fe8ee682e9ec950b46f7c87fd6e2a18f4cac6eaf0ccf690fab92e5bdebb71e89a52809661c72100f67582a20d08a9848be58f2b65073eecc8b546d7fc6c0b4fdb6eba7c9ac32d33bf38b1aad7088737034f6e9549c5a7256af1e216342da7b87adb5ba4ee8b797f23bf7e734751dbce0ca53f1c561ffdcfcbf80c75c492ba2d9c1d5c95af2d972420918e5b46713cb7549fd565033702d3e08c02c2d649774a12551a2d050101b4c3ca51a7ef30d609b22b8ed6a1194e068189785bff662bbf2fa821a58b3eafacd98907113782e06737b76e837cb2c26cf1762a470a44604fef956731634b3ef5b50236744a358d401464cc98fad651d8f8379ac78bc8fee2c21339efb92912b7010096a512ab8a5263b131bccd050336817e3852bc3f9b636e86c85b037047a668b450554918a15db92e56da1ae3484f1bb99290b6c635fb0a2248a6d3ca52d7952cb4176193ba620507cb25918d19582b3bf68a4c89472a4a1759764b33a7be5c596b636728064eb8223ef7b11d5966b952454d468e1c2e4d62e8d30d16439676ed7e35aac397e0e8e8498e81f6871bda68fe9f3b33124e896b7be66bfe6ec63ae41c96c15463d4a92a10ed14a1f67e5fcb972194942f637fe0daa7e6d2f28f6cc67c1cc87d5f5815e70a9527720181aa7949742a12c1e72b5330ffff76e9ff97e4e675e85e5da10fbbf7cd91bcefa74a1c6a5a3845d49a70980f3c6ace90b121bd0836a1faa301f04bb8010569059029dd94351a857ec481d3bd34dc7675d6b304f23e5553e0d5b0d0f4dd7f2087fc9a76a90d99112149ce631bcfe42139e80ad9dc123087856373943f7bfede5c9933c894d33f36d478b62b7b0b1126fb9fcece7e0b0d997b9de52deebe979548109c6d822cda943ccd4868fcf395df17ba926f402bec26df4cbe671100f6d1e1e67f159012b76ef65df0d4c322e579dba14555cb5221a9379510c068517d027983a585d94b19f7fa8a0418a06ee37bb985eabdcab5e447638aeb43d0299eae43eef0578af69f277fb0a2b8fa13d32e2b4876265120598ceacc5701490c1f9d2e6f692fc648ff60cf363dfe099490921c62b9f948f0a7a9531c8c64bb814b1b151be5a9932d98fab801c035371223509114f408a94d2d74673f95248c8ac261e4884ade24a40e691b1faf39df391e33daf57d51a5904571216e7c0d7c8cfea20fa30548d65425eb571af7e88f2e03df9c48b26747f47362af55d9d225a15e48dcabfca427567f0c70c3d3a7e75075a5170006c9e88c40f4d73aba73a38f40cf4c7935aea117091859843e81986c567016829441dc604a01506626de1949beb59a4a7ba14bbc9be80610afe064123aa65b2a556706d4812ef215733d586c638c461364d19afd6f2e09b969f81e60df8348d407c829d4626c3515d6611842d9f950726eea81b1cc3114202db1d245c139e83ba41990a52129ba214ae33ef6127fa544ac6c1520e7258e4c983b6664630a115f8228b7b1c66e4e4c7f3047fa8518f4acf8ce4ce25ac2ca14c6bd493eed732e3b6d1c202e5554a1942cf1244bae918cd581ea23dd93fe32405dad0d2085de78e8f18f0a854a6babae570e63e9be17c877d1211bad7618457483d8844446cf4a99b3abf44af532738a908565461e145a7dd6fddd9fd4efc4eef5d5cf2c06620d1a45f91c5822023553c3b469453e8f38c1ab129b5e07407017851bccd9cfbd1fd955024774e8c52363da026a4aba4bb611db9e94ff3e9a1a43c9441252e64dc9e1b81ba88d58dc98ff17c07fcd43cc68e6d60a6e31102dfbec88572cab2d402e680e1c8ac88e92ccdf5386b7c5ae05467b62bf9078cc295d9071d0c33e589d3a6c2c545a908aae6ef3ab3bb35aa76395453433af0f83ea65c54fc32084dbcbcd339b9641f3d53c399cab9969486f78d62e714450dee686aa7cf1e5929f032135ec74929c6000b53ed0d1ee0538c10e2dfa5d91748679e8a0be6f52e009ea071b24a2741242fb3a163a9ab6899232efb8688906f5f36313206b58b4bd5f02b6a4ae50d4198ab0a0f1c92303e6834892257e4446c4a978751671a25dfdfedd32920e54f534fa8443bfab1b1e313f2cae9f73c4a014ab2cd0cab0536aa4042339f3a00f30fec4da8a7385f18a3bf68d2d99b3902c439de68fcedc92c70e7328ac0cc97003dbf4ae9108879899bd5d06069481fd46bd0f49f5352f9474c4b5e1f406734995574a329dd44092f7e85922f2f1c0a9dbe9406a57d6b7a22c9f93fb1c84d391fa0ada7d614e557620d1abcbb5b7f345907be25d7bcd37035e967bd9f9f928453900b49f54f9f918c9265268ad49ed15ed33c4c6639d2e9bdb50e4416ed739b2ecd479ee1c1d3f4ef6c47ebb6808ebbc89e68f5ba30634457e88353cc82e24473712378f087a2caa6bff5b911afb625a4216462307b848cc1d18d1ea56fdd457d04bf60d6d50780c530d48824c7ef4d9019dc1c12219ec046c04317c3fb80c47c103bf53b04b009f87cf5d2ef0cc0269c0e609056005dd29ec3108e71a6a352a675248442d04efcf6d96337ca3e2f836ffd97f3cb2c8de0e96cb5bc3d55068b36cbd219fd32ab76101bbd44c982af6b7357c1c73e1c0f2e7373b1115c96fa9fd1c2e34c9e637257142b83d5a577235fbf6abca9eb778232625b04f7fa2141339ff80a14765f550644e8f9842386e79e5f8089dc550d4487ba7b847bd2436efe1da35393079180f3a734ef91f175614e230c830ecfb9b086890ec70d84d62bdba9d1409e4fb814be930aa0048d606bb408289fa274837ec331e64cc242eb4ffa90df70711ef08fa2563689c0c85d578b82b0a64aae663ccba801639634fd760c0c5000ded7271e48556e2f0c630547251c55d89354ac98b5826b4630f15ef9befa27bf3e78a4d2a9e6a37c969bc23eb36baf1ff0f117ab64f70a4e0896fab25eadd6866d5b5b9796f71c8d1ef747af3a75a092a36a0a7896314a1b6fc0a55af106b8bef53420baa994acb2976801a7c03ea1657c0f95667a476c0d3f41120bca299dc25f5b64389d68df2b00a615af2607bd1e17c1197093c0cbf1e9ff21575cc01a163b9abed8a5372213690f09a3f25c1d6b3f2b737f5ea5ac152d71d99d74dd55acf79549f456222e13d8c419ef59afe4769b3d3e1e438d4562af098cc450a560b77e3cd3e261a1cd7d6d3791918e7ac43b651546f2bd4599adbe988752dc6b55e4ab4f23e77941f40e47bcaec5158e2878d2217acc1e62d4161df4083a9f98bd739fdc7a8008188eed2a49572efc8776ae6cf51095120dd12aa498c5aaa24f31670be57e20f5862431a087a543c1370ea9c3d71d48c3743649e1ae308750584cd727c6c4d6abead13843c7322aa6a01923f235cb0614b4a5ce034dac456823770969612d439b8c05582373196ee6d34f75fc251b3b90adb0c9fee10fc99cd5ed07401955ed6c58be374dfdde778465e0b1cc11808a5060b7030a7bd43bbc644588b5a61690532b0a48d932bef17482c80f052bf3a5f5bef9da4119e294d13b22574a9a87cc2174fa51e9d0c53a494b60b26160c87c61281809832dfc8b7d87520b10ad86f1c09d1cb68fad22642d6bafbd8024799c30a48ac4b5180346bf66a4d0c66439fac023b17ecc29a47745924032a9253d7492b4286350e9ad2b496a19ac4b07c0a4d59821cd742e4d32d8ccf5a69b72925667023cbdb527959f39207f2ad4a29222a1246313082fb9b8bc2f103a529f4252cf6ea501813d159744696f46ee6e6828a001f56c9c6bdb91d0dc70bc48a51543ae8b6667e80ae1b67add108c39bde5ee591c3473e2906a270c1c7feb42c102634114117e60ab05f4f1f7c17d942f41be6930ad83dc1b33fe5b34a61b193c929893e0318ba28e5197a08277a84e832183bd937d166c303f1897d53848538acd0ffb5a2923ed996884d629983220ed6d5fe3677df744bbce87102545fce0c4b0a7be8acdb580668b1a6092ce0997ff91e47704e2f21826c0a4eb18974fe2e337c2ac1624804eff29e05ba08861bba93c965609e840f6c4eaa232b63531d26578cb9056400c4ab6600faf7dffc28116dd484d5f7a63656f22f86c135ef21bf4a7410aac85a0b65b1f5106e4526f3edfae1e95cd825f25fe1f838eb9bc83059c022e6370993ee7cf39e8a292aa0155934bd4d07acba44c0d5ce402fc31ded4f3b0a7cbe4e27aab6f925b8002645c17c2cb9c478412a2a1a32b9d11d1bcc5aa58704c98f7c48757e43966378324e2456eb8e918e1aceaa5aa31ba2a670f9667506a792142dfea0b910e885b30a50c8a55ff4b71a56e6d3ed6df8f41cc0bb3c929df2cbda4caf4a2df6d68c21d0f407d226c3e1fbc9e4d080bac384f127d3ae49a7fe2cd5411b55d915e34fc9c38dae141ac01136c22d240ae28ae1131d4364de039c64a3f243218c8aa3f47332d921466bcb646c6d6323723af72c3a94c9706e5407745f0336ce871b16595c9607776401415f5534c8cb988af0e48944ee09269f85e20e139248e0e673514eabc3bf9eec2991d4c6eae738ca7112781de7af6526caf3caa35171ca5d6652c8931f7d9e960b4482cfed9798c8fcee52aced07c8d111e02207b036cc7bdb54e4aed63c568308925992033d09ccf5de37c81192791c07a411ab78499056787495efa16a80f69bd150ca8360b91de79c54444a23386cb0c3b7c3ad7bcf9d148d0bb184a4e4ed8dd1d84ad3745cbefe195d4a6b4ef875f6f92a6fd3ac1638e149b08829016283adf5d5320c1f37545b626ac44a62806792ef3a9c88a351974251a7a663b0233a78c69da4757640cd70224d825437468e5e1f2a7b4183f172b294b9da1adf95bc1142ca6d537ccaa201eea4bb5771e61d6ee8d43c2b0c8b4282ca1e209048f0af8adba1ff097de984397c90d7d39e05b74288ccbd6691ea904f1263189993602eb1967cbfef7af2037248ce8840a5dd244a64b7e1686ce8f42f097b676a8dfa831b5ecbbfcdc63c751bf99c2a66e3309ad63130d88e58071feda83f106a2a55fd3b4209ef028455756a80587a2e69d0bdfbb2cab79c0de4bd78ca551b442ae1f481c4304c19decef30acf27d5ae59141a189ce9e96bdc1a3d3967af5b66ddba6c9e8b5a6f918f03eb5349c85a69c7dd50a2405f82a7100afeea7a232b1284236dc47896404a5093eef0a1c95a044352fd467e78b20589f14d513aa312ec92c4978aad164ed1465a9ef6980c867f49d3b5f0477d7650dc0e93561914383d39f8d2ca989da4301fdf002dff40896bb8c1a0b3ccbdc1245d77b1c1fcac4db31d762d3f76d1d5ddc467a4ffbca1edcf8e531e82d147a2b9ede75762eb94574700cc65e6f6e295a18edd5b949ca0b242b43875b3529c0653709b9d42abfe5d928681451b5e474bf56f5bb540c095cb1575f060f2678da5b02ea44b468c49840ffc4d809be172c4ba03a825e061734567b80b61ab5af43c799533dae3f044135005c1c911b8dfd4a61bd2b8b9696474d0d8fa791ed587ddc6ad295ed25bba52190a58071253829dcc4edd1b982fd2fedde8261165013ba404ad23ca0f9781da526b50cf3d19ae4f8524205ff0429f793622c25bba97d2e8f764bfa6d2a5d9d43ba91f750eceeb001a41f6d92076112f0ceac06900bd0b1af1a3acd13e2a5611b2553bdd88823c032496563cdc3de1e367308e5715288c01fa131cdc38e4ee932c349676eace404ea9d2c7b69e7a0dffc36994afdeec0cac3605a70b7d7b956edae8c2041cfa4bf532a5feaf4ac3933baea6af061106e476f7ce66133c22b7f0485711c21d8d8fdcab8f121264f38860013b54a425f703e219ccf98c1c2352397aefd5048d08b089c53f430354773542b649c864f8207f0d5417cca4c15c3c7a16f842003ff907fe10a093ab4c8a8ce6ddcde52bcc1ae70bc691c783d7b94328882c1d2a6cdeb7388ae398c97a7f9c8450543d0f605d504cbd6f2009d84ece0638512cf58024ea90bf1af5b6cd06703a6e50a1cc61870331b2a066593d444ea2334efdd666364f358baf8753560015ddf11f0b99af75b15378ca04f640876deb645bfda3bfe1a8621323f46a0651d08f0c8c6e4173386d5fcd1fee25fcb10698610f89738371e4e77e89a3057679222fcf9ad2a81e5a8d8a3e5130a2a38984d53725c879c8279a31019edab81232f68026bdbdd140315d9330bb173ca6a7c034ff15ffcfe384fc139baf615f4d7c0af43554efe9b8fc6a4ba3a87c83a5b2af8cc7067f6302c4c7b9a7afb404dc73d838853bfbb724b63a81fe8ceb07e5242523d12b15b211c5ed0d5f1c981d8dd6b4d3ca788b27df4a13ec6974af224d1ec1f5573b24dea2b37db907e665dbf5fa8228864c2551b8a0d7aafc737f99b89f9babfe25d37d5757d3cdb79ed98816140d7c78f478526aaa8608128c98563891c70f9edf45cd3df219cd04a6d03f960a9f98fe761d9dad212307481a85106e4b99d763c0919623464e396fb1efc13139727cfd80b93a8bd8ce24e92521144ca9d082640ab419cc04eb7d2447bd03c614daed2a42578f3c6346eb70b5d8f8f4106a257aada04df35c13d7a6c966ca3eec1ca93f89dd75e6a2e4526661b953e27234da3a025cbb657c96a3f1a38e96be7b6dcefa0e961005e87af083784327477d3ad0acd8abadd4e10c1457fb809bdd269e53ffbec5e5070c0536626e9905af34fea6dee3a93ba4b811945113e481cb31840bf787ce2221cba152a189051758e75a6f3a805d6749ba18e48fd64ba985e398c940c1cb37f5c29d04ba89fb6108720873e411c1bb444c7af09a8b8e40270949509a559584ca91f97344b544db1a241355427e3e1b72bf1021beed7b2889e96d849b26814e596b125ecbcd5fa470d7979c10ac10f08cb24b59c8ff6e8da942a0dcb8986094b8f65aaeb32f8fe88510d14270d0ca373ac258fcc3216604ed79a8c20b11d3142bde0f5688fa9f16281766958d159ac29657356902cf788c57cc2207d93ace4d0297dcd4921b543f5dcac8fd67430a4517464509a14926ecf0f24c0aaa16148cb91fd3d392cf06d445f0d8dadee9c60b918e96a7c9d9efc487684521c313a5cbc3621791df340e1a01b115bc096c83a6cb702073ec6f7e712ef0f0d85f4e2c8111fde40b37c66cfc23e9093e01182ed756e8d55fee4390ccfc87de94012c69328a18d3d63ad0e32734a9eed670fe04f3fe278bb21c03d1e40c3f30831180f2afb991301017c7882e80c68e67b70bf344893b5c06d153b84592603310e7e75eca218dfbabe54867ae4c0e3f3edbdb9505a5d3b25b49f246b234f28cf39c26914b9ea5f69a9090acfa1a0aa9011e2af0c8ac6117b609d6e5ffae6472f8473a342eeeca37454347822210f4e1e4fcea912a9db2a1b32de7ae316a9075dd5ae2221fe8184fc9f35b9279a8d6ad47f653ed63c2df88caba0e9698b7d215e8724c59e38ff9262f0b7eba5ad3ec337c26c4c12e3f48a8b398ada1857c21d85a7e4f1d8d7897c3e9fec2a52c5594eed9690428117ea4444b9d51a0bcb6e210c06c6b95288c1bed251425c03c040b212c03b80d00490f493ad45c1407fd11f70a462b7ce909d28176a609af83b88508521e91099f886aafa956da8743a16182cdf54e997d203e5a16b658005ed59ffedee3840883b4ef3fe2e0f37fe9c59329803fb37f7ab2d090d561053c48577054fa26a1af3982c3b48a1bd21326dc8438878bf2ab538d3a8ff8cd00270bf748aec3008a9f3006f6d37e4d52e4e10d307e871fcfa82fb7df0f71c8c280f1c48455e2f45f2a87de2a441ba8682b47fb6c782de232317b32648a04d52f7ea3b29205588c3a6c36d09dc47cd38c49f58e2005432e3d3ba3a59e34d84ced9eec446e273bca22ace020e7d12b0e98f729289e516501cd63b226f02d41ee65ff1b584144921c591918c3f8a5631ee5e9630445080bc92c07a7c2d4ce5cb69052a81f8a97aa56ce8a4d1183ae3437117d07568c782e36c816264300c393d47d63b40cdf106708ec714d24aa3dd76549a7c55b257ed7bd925048fdcbafed42e74a208bb9da38935fc5c5b3b722b8e02ecb59d975d082ba14d911d87b26e06d54de145323bdfc63c9dc2c0d0981517d9b2d9cd110017216855a2cbec60aa46e2958ba2c4e122e218f197e804bb31d9ab39c4081a3afd0fc1760fb5c99ef9e192eae47b475a42fb8e88b7122e42c3a6c865e1ca1c2860849927c4f51e172e2317eb1b6d86388e36d61c0c9c5a72dd6ef2987609a24d10003e42abcb8696258a3ce8d8412ad58e2a682d020e25dcb8d1385277fd2a9fc15d942143115d0286a17f7e198b80a53d9617e3debb4ef303da0e79933419d09a1719977c0c9c5bade669bc6f91988863b6c41a4fc117d030808a46d89f0e8f39c961cc68abd95f629dd4ddf686edbb0faf0929adeb73a8bbbb9c991e30b5fc082525696fa47d0a5a607f8aa4bf911a3327d8d4c335eb7d5e86bea7c4b753cc946fa42620899f90a5db0bbda5e3d030250e095750a0bbcea7e832de63ecdda5c8c830499acd0c29b583145076b16f50c33aa0e9dd8196c4b063ea94d37b09408b5a730df792b598f442489c9ad747e55761ad21dd23cebe54f005214efd0dd398ba0e4ccbb7f513f00407b248142fb52acabec37d8353ad7396e8da4037674609cca0615b074f90a0bb13a4be444d52a8cc90d8c208f5dfa4aa462e46e1d438d205c854e3346be15c13ea28dfe181464e8b1f79c310b6ebba658880a2dc505f7312da4e5d1ab5365f934f1b40a8e90729062120937f7479786647c4178952bf0d56b819bd11967d4af5bc73d4177982ff07469c074496d12132921a84d2206fc9cfa710810da888c144c0352c44f0f0ccf44980c8950fb7779f61cde4b2696f4f6b8c7a49fac9b18216a1424a63a4d12564c82297aa234cc9fd28b4ba52818af505d8471fa026d126dd754277745874e7e4594c888d72ef9bcf50a2a823c4699b23ef435bd38f7bfa84e7892e21b3db75222d84d7b15df2a9a1070e14330dda861e22ac4996ecb1fc21c1b9c37bd7188666dbb5d1378cc9c176fe3812c0e85164bc59c3581573ee2ad4eb2f129d9f8fbd87e1322e56f44095ecfccf99aabd83c0736d73b45ddc57f4cd615f39c2d88ca5e71349bd2cb5ca1aab20eca8d40c0ef6042e7157f5b0a0eee314a63207bdce02e4802e18703666e59301bcc0a5e4e3a575271f5ad1ec232be6e9d0feccc6e707faf2d0423b8ad37e5c6b0740a3d11ea35138bd74baef890372cad36c5a10477655ae9e3da282bba41bc4b34c3f15298da9deb3b7f6a1cc851625a8620e9c0fda4d1d54c001ac0fb4f8e97ecc641fd9e2840bf8fb2f4f0f5b75d5e40506999a9c805cae2aa6efa893ff08f1983c6e4bcd858370b883929e7f8e0e6c47a4ba510b0fa952209a83d4181f688e04dd346495bb1ac144aae15c4fb62e47b3f7498fa3d5827fe2e4a7579c0cf4c7e978201697668b32b7c9da832077f44f659428f833ba2a0ad2ea59333fabfdcd582ff9aaf6ba98735b069493ee78411c7483de9768fdc7b5de07ba2db36f9cfd075efb9ae64416caeb4f525fb0dcbf26d56d3c71c6cccbaa4ec8dc19591f4c03421855b324367dd3e8284ae83b63bdc9ca629e1787142fa584dcdc209a7fee7c602378af4e7f38e4618080351ce72b7ebd1dbaf87c3847882cc797a1575f46101ef451eeecf6378ac97d40f6cfa17729b1046e9033a93f6b2d7594def869a88352962bb8c3a198354b2fa1feb9ffca82bf331786184d3124d9d8a63d7153944e2c9e3ae6c2fa3e4ab93d64a22a92c1dbc63f7de7d8d741817faabab7ee3a39304bf86efa40efa9f0e4b5b93d44ce25c5ddb5530963893925141761f7f23e5ff99fb20e0ac9974ec4210ae875500a3704b5bf07f58e219d78776fed8412b3bcc0c52c6e288cd56da65b137629d195688e0fe1267513a0a911cea51ea4812e95a700aa20176e13951976b7c6e610790e23ee12108fdd1a7815a63cec5d2f303ca52a55eafe641f9f2ff9a3f8deee4df44ba6c1c425b4fc416992dbc6a65e48e0a1584cd01ac1a8e88c8d1a23db801d59a622e2008434f6ac41b812504357724cbc494d0b81b24f85bbc629e7ff2864dbf4333fc2d5cff4535865b80b0fbd2087645363948ae5cef3987152824b61cdaac46be24e5b93877702f5a2c0d4ce383acd8dc12d18ccb920eaff2c9b0544357b0c29357b8215d0a8d11da005dd3559159e274a25b271804b4d4e9136d480ab420ef8f8434cd4b5e314c0902875ab56dd79a79db41e2e157e3202326072851dad29836135386571715d4aef6e1bb2ed858904f32259dcbf6457109b55f1613b8ee0064d1a4251530c285a7248da6a1ce45f4b2433d0736d74c2db8d288c2b58271a6af8028fb68cad407f2192c295af61d649b48551194b67f007343d6144cea6a6d904db2165eaf276c10f3a2b2977011bcfc6d2a4aa79b960d19708caa33a74aefa136c14c412270c9ed6be64c4e1233a2d1957b787617be77f4bf03b0cff1ae4fddcd3c54823ac65f85b94594b89bcb4e7d3e88409ba3c41870da0237b353ee8b991d6f7be23a772573d931f05a72a3ebe556ec9d203752a4adfeacd6429d242d40ccdfbc509b7566502f3fc6e71b4550d14c25bb7da643f8820412abd9c197e9d69f492501eaa753f75c29d61a35a4cb0cd37bc78a479bbc35df40fdb81979bf0c551b243ee8384b491ba8a52effb6642aaa8c8144ace1330831671678d10f9d96022784a3542752d72ff999ff9cabe11ea5b8ec9e1bc47df67cb68afc872db30ea953704daea57d33c9ddd6aa1afe20838739546940c4c0b92fcf63a479c06364df19dc32f08b6146c5e904b40fa75aa99475173203e856c8495511e6297024ecb76b9f5a6b1a0fbb9cfec435eb82af94d7a3371dd87402e26eaf4bb1d09e3654ce3f7bb70546960fe704ad225216ef3cca6ac141f0c22250e8ad1d9441bf1d9f8aefd50c7fe8fefedf1ada9d18407c81fc8331b85730398694c7cfe9e05ec3337fa80461f53913cd47e1fcbc16f5a13f996a24f883ed3936c768246ba71994946b1c3561be460a011dbc686955e8cc33ff61ae47d04430ed5f36a990464af22e2700982e9d26b069146ed7fee034d5c75fbd85acb0d992e96b37a36a987dc85d762fa3807028c7827eed431591ac2f812c41643d8981a6d1042a082faf09d352c5e577e684cedef6aec2275c9e56a217e79424ee0ccc7d9560e53e3e7ace9bd76f19ca2df5c324371a538d1ce3bd08fea97c5570190712c260e894b1cacaafc74e5c961109accba4d0c38bbb820539e3d0c3f862443cc78eaefcfcd1e227837029a420a406201c5a21c533a24a83544e2608a5f4d2b779910585b73c9f4cbfa9134b41b2efe7010275e58bdcb1a53c3994bb2539b3c93c4b4cb47f3bad638e03d4588964df8036813dcf07102aa726cffbd1d872b74afe757d1b26c6a4a8670d6d56982ed42cd9db47c8539c36d3d651aefc0f1198f72203bf0d3fa00af3eea1947b2b0936646e623161bf42bf56a884e70e6dd2905fc81ddaa90de6ef1d8febd575ed89c742500da39b03b2ba449e7b6c3fb7b6a0105079296740b65d281bbdaccb1cb44a6780ea2593e8cd88e754078852a84ded10268497b763cc0a56094579116212e0ef1947aca1e54742cfa5ec15f86b6d0ea3894dc45ee694109ecaf6567dc33878c38e72ab97aeb347d8ca6351db7d17f1de02c347f07d61be61c780ef4ad312eb55b764fc0931ea875643062a3bb9643318d7f214f208bb3975c7226d54cafbc8702e525f5477592b239c10da8748790fc84590e0a3950e8f830230e1eae8559bf1fc54360dd195e8a318addb8638ccd3e625ea3068605ce234bc2c44af889ffbf2a5be1881e4609fda41c603b8fdfd22b2f91535d1505eb516ac77668b28a716cdae94e69a1dac81d0a7fee9d89aee1ce10692865fc36ac33dc8de84cf4865b86b8b12cd3dfb09261aea67e18d00e1ded9a61e805e18d35ba3760af7655f389a9b0ce8d38eebfd0b3ba5f00ecaa51887752039feac98de5a37ccaf66eafd652ec99668b7b9f3d6a3b89550b7fa9dff97201069efc4ff43d99d9c4421aaa273d20a4bfa6213ff9a8043252a280b931429e6420ae2dfeb6911f9b4d033d057ae7e946f438ed8b9ec65d51e48e7905f191d99b8629b8c5e5ee6116772a94f2245e4b8c60a9a261a04cf793ab65a728761983c138a97629fcd46aa8f8655a3a9d3adae714ee2f271e821f07e31a56785f6ba088f27df1a8fa6d2b9f4e34085685c7932f982e2a886b85c5932b9c0e1a031152d048fb7d7ac48528be6da72447fb8294994907cb4063a07e5319d9629f9144e4160070b47415861d74646ae0541c0cb5506076282aea8676bce9eea684f4407c7e60b136e4acb097f493aeac3695ba654a7e5c6be19ace0e3705bdc2935ac69308b06da149ae30126383e04a16951ada751db10a6f350da886b708c59a1aa10f35adb329292c10d9e5a5214f0b4d33db263a0e888ad9a5de7cff3453942d43615cbc302e0d79de649ac936d13144b5d4b3e01f633ae596b16cf15ad478f2294c21e1e9a23a2853fbc5c78acf5f0001dd04533b9bb2ea33913ab23c40cba70eef482a5098a773ce520d57a8090dbc3494689cf228114847614639b523565c0a646f88a89a960538f1aaa513a50bf974d02414c9bfa9a5a8fdbe94c53385aefb5989a7a98c7280a12110ed1f2d9d589dd29cb97ec995b4ae93dbbc6ad67a7c0885c29c8ee8c4b176e16a0a03ee998fc4d554925c071dc487645c418a91945ec50d1e5bf746e903e60e082098d7a96bdc440a5e78b237505c72857a351704fe3458ab3f80d66bd484665669dd4d49e180b8a6e050ae8b124064a33da53b1b65c51b22816039f26c6dfca3ec54346bbc2d527a0be92027c555bca24d4b387558fb08a5576b748420968b4cd8de1b1676214bb2cf7ed05dba22d5855b422da49c254f13466e7482317b7ce0494796a789e4aac35c945670a9ce4dd7ff4d215d9f3613f28533f128b8c26134a4b81a63c410fc46de11a47286db4d3a3312d5c68adeb5330fbbf6151c6cc1c43027d02d4aeebdb149936a28918e1f92cd50b76868e2292172a8511f2ee5689af0948a99436146179a071b64999ba410e5940861029fe439659cd1c28ff43ee9d00b34ec3f59933226b5d252deeff842013c148759190df807b714eed01d6781ad38946237251d0ca7a162fe90675c92920fe82304947274569011d1f1442eada947134b8b93b067af539bfd048498a79451a868e3af9c1f0f036e297481bb1c819a530d07c433b9cf11a1d4a986d2008646912bd402be6a507de449f3a9aa7ed2356cb76e976fc1b46e942f56764c3579c926f8ad5d33f406547349127c85b1f486554f6e849512d5b1190dab75f3b6226f22eafca131d9ddb46fba551d836fad70b7ae6d555d5e13e2085e5e41fc4d96b6878db4923ab00af4443a3f369c173c05e692193e3156313a60323a71133671dd26192a66c229a50480595b2ed578f61827041ac47b8029a6331975d813f2ac3b3b563b7b029836d3f684ae683f8702cc3d411f2c353fd666fe5155f29e80f5e1f78494c6c7d6583499c7e923645032b75db91ed8dea2c179c6b806010b66997c819c0c81ef7633fd09ad4f6425336fa4ce721a0064ce28f6f6807c131386de7c469fa035a63e21b67ec68f32ae4fa81ba4b2408d207f9e61498fa4c672882385f068fdd1bfccb2fb04750ce9d56de714921188f11390b12f424f87f909de1d42f1399f08221928ca7e42fa99cd348ff3fd041300f913f89d777ff527545f3386f15e836133f48136c7e5bdf7846089683c3ef520a107c5581551fb27644f7080598b29e348efe4ca7eff096368473035e8a729770b11b8f7ffe3ab7fd56fb46408575ebafd1d7beb8ecfb8ec95529a54e872d62f0330db99d9d24302aac6e534abd00f2e6f3609ce7a42451446da2bac34d50da0675f0241c4218142fc4b0e0ce07cc075aa40c1bb8b72b1772ed67c58f40503850adfbc6e9fce1b2814896cb8413c50e01d4288484250600082825e200490b42ad8360b3bc5f928a4ae5470465e3cb9101e59582c50904883f5c301316b32e6079025283c47a3a211aa32703b4fd0740c41dca686adcb5cc203c0a1cca5a00764690c0a34a8b49e0f5a8a0685be8d51f259408d8e05a1e8b45da15c94e8592a16f14b8a69fd48a3cdfb896e95d4b2b90a2fff921c4c98273101ff330c10ea5ed8e14f9388a7d1072eeb40d38894b2ad90dcec959aa012fca5b195793f97ee3129003dd14035d1e8930e404ce93477e0d48808e38c5688d74beaa2d3891968299e2ceadbba3495a7bb8a435a31837fb437d9a4674895c6a8f79a91abf4e168935a06eb110ee798fc26008f3a12fbcf93b11834dfc0077b715bcc07b5804fadde90de3627f3944a61aa00299da0989c34af28c7941f0f2b84925320dc118b8160950e62f7b7cf9cbadb532cd3851b77dd3cd6799b02f96e32975d3291cf5b7e8e99db88007bc4308c108b06c1f86304775d3e286edb942c2d8f66ebc618be05a4d92fcca186b48448e143132f4939c59efc02a2978358a5ed73f95ef9061f7c79a6eb8aa4eb301a0c8e788239de94575c67bb74700ad4585f1644eaa909f0c7eb9dc23c2dee0dca7fa509c5fd10d277837743860395fba6f5425f5aae9dfc33a47e151133c29d092e4597d3314167667aaa995bbd7adb94594b266d73c0811850a2222d8d9056aaa7a4a4a7a26b440490e65f36af0e43e9bdce9ef1bfbde40d4f030659786be80eb547c6c53a7aa8ac86140357b146cb54adc9bfaefd7f04bf2a00501413d48344814393b653d97be3808d0bff492fc1f0e1cf21440576d73f6f97b97b8d6395096da785c8b1a94052973e47b3e4133d2b8c2f10bf63b0d60ac3c55fee1ab8b460bae2af3b826e4d18ddfccd6e05ea95bfd014704db0b936d5bae402490b0822c83127f9b182bb5f346301639da4053004c52a995ba8e262e2b9190466966988c3a405a016fca4d51faa9b9077cd28eb02ff6ca90ef5af36eb4b2e544fcc9127d9489f0d1b792d5cdcb9bfe50a48b92b21353cb65df05c7ae794a3b85a7a875b4eb4ed9d0534c6013a30fd415d40cad1a203559100d5ae5a036cb8a496ff70c611cc5549a631440901be6e842232c10ce51ad52dc5a9d2f59b27cbae63ee78bce500d9d70c5a27e8bd53e8df7deef5d572a9d413a7d7bb6b0f6bf53e2c0d9d68a81849efdc94949494294e040a04d803d44f1a661a896089962f2940d979128372f492c820c982028dfa0b7ae8f73767730a0e605c28a37e7628d1a8bfc039b3917bc1872341e01003758646fd759ab30b8a820c99e23302221b8d5a25534b8460a298f040a323cb538f802afdf2c02eae849b03f2694e5771b8a793e5e9bf4917385ad5dcbbf7e9472fc26ad3736f570a987ec5f25325aebce8479167be7ac180039c3973e6b3fe8afc007fca22b16f91d88b64adde10a7787d8d7ae3733f493fc26af773afd2f9a29f648d964ca6920c8b44e5a027201f911f12e05df2455f9b4e42fc90d8d0177d4df6a7e86b39b5fda7285e3fc9d173727e15e901081f6fd203fbf1dce1cfe00fc81f277da1cfe04fe7cf20d2d1af5ddea79ec59f4124a67f79767693e865ea696991d38fe44d02d6d8afc6a86fe1d3a29fecbe922e3f927891a3df1f07627aaddeee2f48afdd5fd1d7d4579eddbbf7da8bce1beaf7eeb71bbf767f2c166b96fe8b43314a7c9a37d38b4e1cc8a76fde4ccf73e36ee48d732c55d4a6a237d5f4f7676721fc8c79337dd41eaea656392f598fb5e6cdf42d1f62ef1ff95dd6d77ae3673f3debfe6a78f7a9579135fcabe1a84f3d276bd996775e670cdbd792b51af5c69cd9555d37e8ad35b5b130940264632e45f7b7b52f5be776a1a8316a01ec6d601bbb2ec0a59cf397b38c3aa3ba1915a0d1c10720d0324ad4afb73aa3f7458ddd6babb1f9856c9e367aa1917aea6d481d231100a24ba0ded411df6bd34266674840c6ea66aea09ed31f91d4316261b5d7e68284b4c30f4b13abf4a109f67ebea0912d1845a7916069c22c19787e513e5a4cc0d1a8e77356c1151dc02c299d0411d343509ca106e9051ddf1928278c4131e4830d4a0b3424d10295440a18325a84bd1b7c20412a0c93a35f1023141972910016b5dae8d1518269610529425a986086129072f8e47843b4aa87783ee2124fe8b537c74ea8741c895fc3131c202802248b14ad0af57062bb01caaf94c1c7c7ae12d40089afcc12deef4714609420473f2c41e540c3d0d078ebb15e867b2801eae971652a47d2d191151f348b848316325233f0389d4095a872ece06577030b0cc3188a4c291e2b40fdf0c0250a93d3129228bd07dee16968e5c5da7ec40e8d63544fd6860f0a52407e4e3ed0c26d44092288c14791221c47d84754416c9a636e08996043f2c5041e36466892c2cec98d070966ae1708cc3034426e0429324f369025d86b5244841b5a128b4ef430a1600486221134b14182918e182090d04886bb2538b47160edac9d5d7c34097581f2f5e041812458887080118137022449cce0b0f0203d01224c970770093386070f5752e0f16c10b2c0809410852553744b46b409029e092fecb8f1f4f4d0aa3e8284e5e397c8112a7de9480874551a226466684793970cb0c860f322c212a620a258f8f5d792cb904e0925c460c4e204223633b91bae60b12c34f58cf9fdcfa69e2f7ac926e248366e14f9e283d28dc90782537a843fba008152b283080d20e2c2e36666c99013604801d3a307cf171ec204910594d39ca73ddaa33d7aa696bd35ecb89e54716addd67f1dd7735dd7779dd795f426ddd78f3ab0dbfaad97ad618d755cc7755cc7755cc7752e4f41cc7dfb95e94dfd804c4e4f506186523d1feff7fbfd7ebfece326ee9c0c549c32c7c59e7beeb9e78e6dfa02848a53db2f623840c68c0ad4e8e08319b530f6067b7f183160cc9f8f175bea70a705e7b4e329e9f98e92804cb8dc6db7dbed76bb2aacc3161ef770988a53c33b1c857bbea31f90096ba9c1c39d7776c6710ff7700ff7700f9f99b9d452be3ae542d4ae4e953ab61b109e1a9eb873949d71fdf4fddcaafeb241115321cbb975aa4efdabf3f8845b9f2e3387b1584c464c86418e8b04c088e180192f1f8b492026c320c7450260c470808c192a6231153215e314f2586c87bdbdb6f6b5ca6b999ee65cfb3a55712ab032d554a81aa60eab54c945dd53895e6fde8fa18343d3babdd9de02da8bbea6b538b7f618ec3db7aabf6c50c454c872b6b67bdfd5af2bd84f68e56bf5b75ae9edf5d62aeb63b4b7ad63b436dba4e2d4ea94edd9663556675db03cabc4faea942d877b6bb03bcdcba35021c320c745b6a9b69d599bb5d9acedabba6adba5bd81393898514e1447a3830f6a7478d4c89841571ecc19f5e756f5970d8a980a590e8d3bed8c068dbb2f3dc2793f8c2daccde216451a3b781d88b92e69f9bbe6fd5cf1f27a679a5e633935a6c95ca3e258abc347a3039d2db57a0aa97c8e9d4d951752f96a551ae8ac1a79b983c69ca5a9c4d10925c98f1e0543d586e00a40da0090d05451483e0869b38776691196dd8e16c2a6f24346d14268610da8e0e0d142a84168888283a5a38540b33300919124b410aa99e1122234db6a420be1822d340bbb3503aa55d36e0204bbca0525223f32492c326584f359ce80d90d693307ad66e3e3224b5396787429e85aab24b5e4b3a443834a3550a5275429b7b56e8d51c271b7b8b7953127fe0c5a6912b9285a41b2f93368a5081f39ff3368e584394d88b9a36a1c93b454197eff6730a989b51afc194c2ab76aa552a9a0465459b156ab104426fe0c56d9a11403f65281aad283841495194afc19a432ad8bc49f412a3ddf8655620121bef5ac6f61b50e741c4b3dc7c5498ea559030f2c100de9f2234a6a9a89c241ca95273c258fa81ac2f79b4086232854786091da1ac889a0c28f8e2d6480603419d913929a254e4653cacce014113e195d9433fa35d69ff45ecffda63d1edde536bdd1529c537338435fef63b27f6bad9a167dca8974ae37499247bef57b8ba2a885df7acd731ef1bdb01a8b6f3df6807ed65c61fdbd7ef4fc729232550e846a59752a8e6da58221a6dbd5f57455597305e739b2ca8f1c68b9f70f3d5f6c78d27afa729ef2bf880ea32e7fefde2da5576a5963b6daaa0e07425daae2e41f704081f9d6d329ffad07fe74ea54637deb3920d2a9cf511005f803b1d8482aa9a9e976a663c47a12364dfb1837744ac28b66e4ce0cf2cdb8d25939cb5a2c41aed1f75e72b6c07e86d5bb66e7c420abbc9b1d39a2deea8d86a6696ad0fc7aabb89aab3b5e0cbf7a5a6ba25cc39bd9ab470da76a8e5fbdc8718df5f3e79b5ed6347994275e9e1dd1237d370268fae3b73052491fbf6a65f94823442693c97e7e86fc0cf9f921311fb36be4b8dbbcdd70355675c6377eb342e69cbd5c433af6e5c7b6f6e472b957d3a8fda6b94c7375e2b9642c71b472f8365bdcdc8e57c3139773051421930b69e5c4b8fa9c63ebe5b254a422dd9a667ec48f7e758675357b9a9f8136881650c6127952d06c25b5922a4ead55a5558527fd9a5bc02cdc77ffea6b3fb70b7f7aacdb551cec27f609fad36321b3009887b2a81403f91850fd1ace61cc430b8085e0a0b9a2fa1af6f91500dc0704ada5de7696a7ced33aa1d55e9cf516f9a85ab15add1542021a113513bc46902861827a4a3da5c34fa92701b3294162c46b821a132728c861e0b046048d0421f0096f03ccd99cabb7582b4f96c843e04a35721246e2a67d5cc32a18319f6e94b76f15cca79a2f8a3c13164c20f25afb49e4eda7fd64410d0044115ebebd5b6c81b308116320357e841fc989c8e11dc5407eb533acc3399ce349b9b667eff219050dcd6bdebacdd5269e639f52bac10619638aedadb2d1af6cc64715e7feec4c355b703fa92f7fdd30eca14c3babb42e6e2d6ed284cbbb6020505a87d9a0e9ed5be2d6d8b6c2e58ac425e6816f35a622316ea50016dfc2300903b6d91b5c96bcd436c48a9b749e6fead406c0040c2894521ff420f04c1e8b9fa1e60aab82230ff44bbd44bdc140af611898f5de7a2c33068e2576aa31a5101298f8b9dd4eb0f822010d0534226cbc959c4f2a5153426623c2224047af8d65af6120d057f1544ea8fc944ebdff75ea3d9297e2a358a07ac2e3f9230b5a8c7f2c3d146f747d510a95f775eafd934ebdf732b0a82c54f75e3f967696611858e2573ca6c0c02f9b22a48c1305ad9552eb5b28489b5750b7bbd26e2d986b2f0abed668594a6f92b95de82cee2c8a59dc99bbf8e1e5f756c5747ebd5e1ee8afadb9a839d7a29e318176ebbdb75ecda8f2099764fbe172ba1d4f4913df11900f3f0e87c3e17094cbf6219b2d6c99e3626f994c365754997bcccd16963b8d3c2a4e8dff461b77e24f1c8a47f12197e265c671dcf967679cfb7ee74edc893b7127eec49dc69f3187a2e2d451db2c6651cc628e81c2496b9dad8ce924633afd448d94a7e2fccaf4a67e4026a727a83043a95af67c3cca5363bfdfeff7a3bfea63cc98e3c2fb588cee39e7f6e5b850a968686c6a7bd38df4e2b6852626ebfdf5c295b71aab95524a29a594524a693b760c5d9cb3972851c82314480361608a9bd8c5f81285d94144f4b463b1509d40444475871bedec943be5ce0e1010d0ed869be58eaedc2973404040af9d100011d9aed53b1b6d200d9481a65cdd688bb863746f883a8bd9688bce19910102022a2285a2767676766c5e39ca1d20a0badb4177a6d42eb5130220a018808c8c14514a4917c82224117208b92385c8164816485d971f7878c8202012a8470f520899237f481fb287e42177c815c820246e8754814c81448104429ec0c3c3b324f271539d4d7c91a4b491d286296e623dcb451b34932393e9688d8328a5347b7bbdcd347b7bbdbd39ef9df3c5d6dae0a371d67c54514a69c6453cb694d28c696ad0e07c996ec641385f261ad3d6e37c99bacb75a9a53463113df850e7a0a0a0b2b4f5600b0a0a7ae1ac693ad37a3a140505056571f5a2a23d958a9882baa8285794252828c88c8edc2162cab5d75f5d6badb9d65a73add9ce2038eb1c740e6633980755dad1669486acbaabc5528da319cebde67e244dfc6bc315d4835aacde2a68acf70cf9c3089337d207d9832c81e441ee0882f400a963efbdb7286e9173719341dadb5a9fbdadf52173049124581bb43648e22075c8114811c81b647926083365acf5190119114c01b1b7b53e7b5beb63addddb5a1f190d14d7349bf876739da8b33687143731eb9a3fb16737afe3dcf4f8072d8a0d393299ef4c8deae22ce2c75e39b2141f43e0dbca3fb6a24b6b3c0158cd1f457ec5998c0073c66959001e0925de59ebcc00e70ddc0ba3998faa09acc02b17b2217db660a9aca5b09b758ba606cdd6f9e29a1c3be33e762323652364ae29cae66cce288f456df60656e7d2af13e9d703943a5f6c6b643372286f46fd98b774f797f7a5ea5316623af5355aaa58dd8539805d214284e8215afc89c68c2813afcd387b29b316f9c6944f71cfb2b4e9c4ced4307d5e01a8703db5a2d3e95e17679dce32f9626fd6d8a775598775415717b70d91e4493556f9afc6f8d1113fe247301cfdea37b54b3bebad7d4d72cec783366bac7519cf6b6dfd110a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542114726747bb1a56072796b8c31901b2d4aaf619ddbcf8fc6d8a68375b08e0ed6c9a570b3d8b5af0060d0a95a9db51a39b7818a7a83ed4dfcae6be958ab1754ba4b468c0f8fc862c65a26f5830f3d0c855d78d8416badc3e8bdf516c5ad75b8416b4a7bb4a6b447075d0e94d294708802f3c50bd40d5d6c78a23408972d3568c9a235a53d5a53da4329d59ad21e190d173f94f295051a1034701699de4ae3d40487518c94e22676c19d38f036aee7f06efa393db6bc096f52716a9c096722e3c964d6da9a4c462ab14368adb1fd868c6161b503cc585c7062dc9bc3f604069291a8a48c1c4c21a2111a40911400331800000c06a2388c03499026491e6c0714800c49723e5c66382413c621a12820088543311407410c07410883300c8a5090c4a4945a05fec84d1e133dac689bbd5e32f24d117228522192a8b004ddb043a081da23bc72957476fffc9d8ee8068e88a0fab3d6e7b04fcf704dd70a868d86e11a6bc0046c0b972ebba2f4032c0122e4870464e6ad2adc8a71ea9c5a814ac695c6de790d8a45b3fbde1f086639aa4c026b6c5ca4da270e8cc4787961db7e4492f511968f771e5c60cfeab9c11d21dfbd3bca11ce59f4fd7e30b889ff630baae00205b259b84229018e0409ae44b8763e7832a11fb829971290c4c0ada49d995f73bc9c4eb8d3042e9882e36937e03226f59f34c0b551ce0a475baf825200380cc04d536473564045723fd5f9c4ddc5f8ad2e98f051b9769edafd5bd09c28b23a947a72ad01e637ea9a0937ea6fa1e6d944b0c44ab56602613881bb409b14c3ea9585fc7eab11afcf1b6f5702c6d7a3b6e9a5fa5e8a4fbf85004c7dc4ff43f08344add7dc2c53d99d001fa652f5addbefd3699baacec496d6d6e01a8cf82c3026864b59bcad4cf8865a46c7d34cd4a898afdf697ff5a36f33b3f483f6df437dea816291b17cab9860417918b59bc6d8b7e21e9699923f6ccd8610d806acd234bf43b779f694b43a6195e56d6abf8d3a8dbe6c1abeb786eb9cf45611097a66e0df030ae7570115017a5fe094909d85d8612af9372ee0ef12734620d5ce14cf482a3664075be9b3790f3790993302717558784634b1217bf86aaf8dcd66e010112278c05758d05de0919f6241c64e5c623e20d78473a991566c062e11f18036574773e378cc26eb34c560e189c34410c7ccf297142941157dfec9def24d4e368e4535eb2468f93827c9022e13246eefd6ee38155138d24c54f07d68f0ef4179c9b373c11f89a717bc4272a8bd03426472a841a4536f0b2888360c048af1c8752898d15bc03a2936ce9f0374d3025727be7971da712eeadf0a15cb2777e52a9cf3d65000e53396b7e0d6822e695b0dfd7a5190b7179e3406f558c9074cf75c83c6c2156fa9358b0c31036c007a048c344826237165830a6f0b095f3ec78f3ec24fecb066ee4a9dcc4c16380776a58cb565b3ba69551bb3688e698c69dfffe4e043a6f0165cdb4e06631cc7d35e19388b7056cee405e499e0c1f2ca1829cd4bb49ade6ab9fabd9d4a198b855dc716992158da27a7b0b0985a7430e7b8c1d94a59ada910300bf31c1257aedc5eae16aee2b4a290c786a1f89d02ab7e333777895f2e109594ca8d7270a4b06dab92f2512e8b7c6aed0acc8eb47783cff34efa356423c8c8712b05b218b70077d6829f1ec7178ebeeec23896317b09289f1dfebbbec1a534bdf12ccc7f5b40f6b789cca9258dd76fe12f631e075d1a5ae3e2f958f3307e7339f92ae02ca0e78aaac7d1444a771f30f17606461f3696f9064b3e9fb3d3e3a6bbc27cf9e24e79e485b709e438d0f98b9c1de5a42beac1c44771da5291e5964b398e33c11c3e64a30425c249bbc7ba781de4f25e5e28562fe18b8374d602c3e1cab6e9d18c5c7f80c2ed84a1a0b02d29c3c9219847713f2a2ce6a232170e6cdec4585e2e493e78c074f9a4ac45a4e17183f14a518983ebcda06b814cdbe9cec19ddf200d4d65678c851287037732ef579948ab028446c331f8e72022206d0b405238b836916e238cda9862aac6cc2346996f401315b1d988e991cb2e1d07dfce0287d98f65040e577002d83622a0088da2fa0d24475c9287522eb82a627f3fa036cc2585d5fd0a185642e6f13f4a8b19d60a7c9c236558ee8f6fdcbed9eba460c6cf69cfbce172102a891634acecc2acc93c8cf590edd780b9b9e0722f727a67c3cda715836b2777a3b06634e96aba91677acad0d8dd66eb09ce68753c94f4b7a146767f81ff722e837df95fd236c60f23b1c2220beb57b5e1b84d22b4e70802a3d609081ec0ececf7a296a6401bee3e8692903668800efec8b3790b4f7e3a6c8f5ba178ece672559fa4b03ba93bcf460b3c89b3b05d03672ba5e3b56dc1506862846c70aa7c1b498b852fa388a1015eb1a067834f72e685585b7989fd847803dead5e7ab319b844c403da5c0dcd8de3331b2c138aa185e70e88a0efb6e52c1b3c5b3b95ac7bcf54d73e6e10cbead0d8e0efc596e9c12c09617397609040078c1862ec9b76f6f936a6dbdffd5daddbbf0aa0700b814079a02a9c183d01e6144d46d7680da718d50db5a6f026d19a754a19af82c901962bf920963841c89c132f2f6b0d918eecdc89eb748e38a20815b7fd2d603433b046714e2282a9c7c59dc6cf86e385d530d79a3765d578cadeb12d1bc656c92deddb7505656eb398d8ee05d01891d8a3db90f1aa2e17a349c8cabf92a50468d78713b72fdb388f4c0db73f440cb604c2e116988975e8621b7226137a35f661e96d0b43977d2198dc9a78483dafd2ce172e76ac3fb0bb75e08313f25a7fcff9254ba8b6b2cdddcb956d57e11e554fd42fff5e1bb1c6d1df466336d4d3b6ef0f24a5e5bdf2bb4d2b5b91f1266a6a0ce9af0805a01ed028b5e4229026fad9edaf012939791126752dd676ac1f1882343058cfde97130c0ff362f7c946dd89a400c7263552c0a7c3bcdd4129b3085aea1af603201fc06a0dd78833e2d0527349e22dd474a6e09235d1b6e72026bc7b8bd4ac861327d8b80975a4133ee26ab6a508759b5c56569c12e656d0d9ecf19aab58d555bad56927e24cb78b17679388d5d0aac74e01e935bc040d7a8d6a9b72f947c1430d32186eea41fceabc3002236e1cd287ba4845f87c848450ea87511cb072825b900301c02a518e19309d1c2926a700a2dc76a185fd4007a30b9674e2ce770ad5f6c690a5e8825071a7612976107707242462aac66e0db2b19f79de8da86c2952dcf4585d2af1a69a347384b13ac82719515911f776c92da3e74bec09179f395c3660db0df05c9889b11dfc2f9d3f307e8424a2a22f17903f7fce7b6d6ef5f751b7cf86cbb7c713fb280e6223411b61122bf7500b8037bfee54740852e2c1319848ee6786e7128ae95eb22cd580243d4bcf57d1a317a4448ae64bae6d407841449581949938c196d5d0a19e17f665c55866727da2022b2d2517566d4e6037bc3ec09333406e697bcbe819607258e9ee8886f98bcd01b896cb4624eef404771f4b24fd600d7b713bd12090c44576bf934d0e6c4763cb057d3fdbb991530947a3cd2c2051a308a4db8e14876ac199490cfcb5d35fd5334acc21d28aecc2ff5f0d21b56495f46e459eac6d11bc540d525f9c00d4d111bcb65ed8f6dc709d989f01bf6791413c72e042959fa0b529bcf31eac6bb6788cff90d531046a11d2e9bd93bc10f575b30a7575ced17120e703f3ac49217da826807243ad311a1c14b1a07618e606b9b53577792a6d1aee301d8d9d652c929f77a6e5e53e6044ea13841029d350ddd69311b34c5b557f7219091bf309866997ff1325499797d2a02bc3fb08efadd8e4be33a7615f313539c02117a1518f5bc87d78ab16db49c60c03e4735372fc0e3f3603f0d59310b176fddcf4a58289036eb248bf81ff5fbab22040fc0f4672b827866e7af1f201ca78201ad1984c2303b2f45421f65281a80d1f9d00300f04647b5f4296944efd21f3e19d33650bcb5fde43f6ced608287ceca5d0ae5a54a53ccca5c538cfae1108b53f75c7b49b21e9876c4050ad01a8f1aec0a29c8fd5e07c2ed8a554b4c43f8285e6dea14155efb92a19e47ab870f00368f7d28423088040bef8824bad7dff2005cab7962691916d03cd256b6e9f4122b585fb5541bf764d30872bf3cfe30a8239f2c0b9c0d28bd2644568b5b0d2d11dbf12567da72c664bf7f5c13f4e6fdf14b5e6be646d21d754a8b37761921019fa7518440b7b0283ddccb6064a467749e40691723d5c38f22b45d49bcea1b599d7104f6e83b6f1c07518a09b15a13f007dd7180ef05c15415aa2a20e17e87b34562b967e777eec5c0a1e9e91d2d37cfbf0449db1b099a5fca7fad44284b8b875bd816a2231e0ed722ae0bcd76babecc550451fdb238f03546c15687fc5203c1715096fc45e06abc2c719b4952eabdc6551841f76a02efadba525aa639ea5ef568520990bc29aec230857e20f07536e1541e1bf46cbfbf876d7b3fbfbc0000306d6b54eddcff52de081a79674bd5ddf0fa4b44cdfdbd57da035eafe2e37f0fdc0951ab892d6941197d8b5433cfb576504527d429a9186debc535f2a8d214993a0601f02e6a1e01418f9ef3729ab7c5cd28f74edaba57b5dddaf925cda9f9b724b9f79e621e542aa6dc6bd076225bde126446e9482dc8b46ee38e46773fe5f8441a19cdca0a0885aeb011bfdec35a10fbaf66aec5e6d103ef0360694744c5312cbd4dbc2a72d0d2a55b31c779583e54c3558d40b4d8a4a007fb76196e7aba13e0cb284798e8cfca4b4e8bbdd0efec90da377634d2118aa4ae31d81055f919780a1c8ed8cb576c30616fa4334a7751d0d1c6b5375ff2c1476a62f521be686380da8b8cd219fc62f2847709fe6a0d70ad97045002e30ba464556a8d141aad6b4da8aa1c10ebc4e192ed15aa330540016b7ff3a674ef4fbb256ce152788e1d113c0869a2f79d7e28b73709335aafbc2252481f97e52d8230921388fc75650781975bee905bcd72f14d73f6c283e4c58d4968c0e2be626e9f4c222c7fa99595b073c981297f56f63a99d8fe5f1fdf255756ac865c183be067b506dc635ceeeb61a33b19edabe7f302d2df7c8df6ddb5945c62351e666287e20eedc25baf3e6ef51b542dbb77293f630e55bd8cee71aa856947243e74eaddc5aca8e7524eea7bd034c6692f6b5381dcefe31ff633736e8c77d632afc60a7aa8ddc9bcb54d57a30e555ad866286ca33c04ba303091530f3e4d86b3aa44f9ad7d1beeecfb1ab5f2b5bec0271f58eee23034a55a03ed564432e107cea631fb99a5026d02f71939f439c9fc2e8de715b7ca9f8e8500442fb4eb87804033e3e116cd6526723a875be5f033cb37b095ab7a44a0bf8d1ddcb0b25f48dd5073ab2bfc8f9c150cebb5cbde56fbe0a78670ffae337633021178e9922ea39a12208c37ad7462053c43c2a6bdc9c476138c8e485ea3a16d1ac30ecf48ac2d11c31e5da4e7b848e3453b762694b555f5601a76a8973e6f91f4973123d74f2c28316d35b476519d05b9d9a0f696d20589cf3bd976e0d9feabb73e9b02214f3013d4bca1dd2be2fea9fbfeced2845075d8549cdf8cb8727a21530404f41a7ec5604eee59daaa55715b8a188b94ddda97c410b0be3e24ed16912ddad2298586c3c0dd44b7651a50f4776bf5eefb5e112b1acdc6675e37ed7bda71c9c2c912f57347d1f6b708c271764ce316822830a055b7d696b34b3c0d3c513c20e6ebb396f83524a4eb8dc665ed005e2dff6d62aa8e23ae7e72c372f166004100811495f8d2c3b36113eb80d3155537d375bffdd1d57ab411ddb90f98b30d9f67a27a30a39af9e71cba8baa5f511cc28bd613ec4f424f36dc98fc394cb4a2581493744bf9e06bc9d2853690df38024c0903059d097c14642ca01244f4fc59d7e3a4a29c9fb7e45522df6be9a2fc77bee58c11c7da996749ff7bccdac3fe3c8082b9a5978e9041703d9cdddf0dcd31901d51f959eabd537449831aaa23564acd04bb8b01d1859ba2ad679946afdcf318612a2439bf72d1238a96f42446044207e33a987b89d5ba1d12093a23a41c1d950f02703cc9049f713bbd4ee2cb35c56235a396ba807609c5bc925e7a89744d6f289ca00aa3c4c0732d75c9a7e10edb324280a07f00823ab1a75f93d96672dc40aee0deed4f529d4ae5d2599383efbd58a0368b78b3e974affde25c0d34ca5693e7132722e779bcfdab9d9ef152da08d446f1713277464fe464a4a04f60f9f22bf2609f00a5f56851d2087db001e922d3f8695cb582e132049471efa757629ede17622b7f844954b5f074ade38bc1321317d3c2a39fb0d401635732031ce24f8756132dbff65eaa0602545f6da0c18b550edd5d806d7986e8ed36b38a14a3e58adc005b806c813d961986082254c5d3a5a3c958be5140587c27f083c2b208f0a34e12c5c3fe6b301f83c3702b2fc2dc6afc87457c7acec3e2b1350c2fcad5790bb2a08dc36f42b13c56760f5b343142c2d60e615b61cf2dd49be5b55b0ff521f7950d694dc5c5c9063faf67144286d6c7848ab4f5313c24d8eb330c25aa498ce747026f26484d9feaba05ba3e32a21cca51b0ff78d19104de1b523a7d101748f1fb286f9168d833ac0b20d851f3e12add4a92beda8ab6c61694966884fe9f3ce17423ca0eac384fdb303916cc9c386324f6d9c997acf09f0b1bf7e0eb5c041f624df6616407c682883788e2fc4a0f83476cc04edb17dd9b322e1cbffeb0c5cf52b9458608df8c26129a5189471880a5162753ca57dcf53a0bdbdd96c5d0a9e136fd398470dbef3f5e5ae70c654c1c5b53798aeaae1fa24acc00a858cb7eb90a3b864bfa93e89688192672ea905c29b1d9b3a799538f8e50ec98c386da7eafb1ffd2fa6f6fd282301ea16c69e9619662289d6e3dfaa455bd22ea669ef3d846f58a6ded0f2c093388382ad7ad72c2a2b87fd7eea223002b7313eb9b3c6b1d9503b5bf2208ea444fe6813c0f0081d126357b5028cd16172d096b8b47cd12df38caf3f298955349c9bce07cb124c239cdd0c5967b02148e8b559c1f2526c76a4cf7daa39ae5ce72ae7051295c08856b26d1300f2f66a2fd8e7a52d6afe1988eb4628a2d74fea59bf91d832af8a3d37873cea9bfbce09ebadc7730906611fda1ad03df2d36359310d585c041bc32694a503d004b7f1c8fadbf0c5fced92be715ef4bd3b81558c4f424104f8b390078b7ff204aa7e5117f7ec2e602b040b4f0c60c60f85ad0417696d5cafcfeb7bcf7fc4cfefd94600742462ddb1f4b5ff956b7d7c574c402fc4bccf38e01450c8ecc81ec0effd9cd5b168a575bf7d6877eb1c82b0b023ec469f6f0706b80182073a5d527f3e48b94250216ff1b1917a0b117025d85e627dc37b98541d1d1735501c1a8171016b222a885e9a7f1986650f357dda4eb26e1c443388697b914e44f84f1feb1d95b3983f3524ded625535d9603c9511c88664ee9ec3e9e0825ff21e888bf90441d6070bbaadd26ee6b3a7ae563b5dd5e4601f2a8c80c0133cde31276762274e1c52f8420f1980906056c4e649d5d0bb45c6e960ed331e5824419b33998056647e1b176466fcea984cdacc295266129e5bc2d7503fa63ef4d027b3b824a1023facab45a1642aae853c3df573c4415e8edc6a7cda4cac67920f3da24e94e0e637d6731e44fe566cc19f50b6b32349956cf1db0b376fe1731fe8ad501ba1101d7d326ed853438b6e186314ec00680f7a8bd66da9059979f1dc85295b7acb751d5aca7cb0e96a9a97242fb6a30bbc0604fe38c2cbee01cafc671a9a0c1e586da1bcfd6584144cbabd52cb061bfe676f0261d93113f972a5ef94964900dec4d45cfce92841046bb9c702ec1591d49205a6e4c02de7b543ebecd4876aebd0d5c5a383d07dd63d35427df6259f9ba8cdf74806c4f7d2e15c0729c8af8eb312929e03415ec046bcaf54ccabb9a5385344171dfc8cd90270d885285c43d6300bb6eb331ceee15f58fbcad19e5b47e82c5df40ae8127cbe610b297b3ad3a8269b0e038b1160ef1008678e8337b1fea2ab753d798e7190c66ea344e3d613ca92f0c452769e4a5dbbddc16302a757164cd1783553ceb4ef377b15e6cd68aeb3662c450a9f826bb6c776206403e54b1c171e197293ced0b6b37c9c349806c876f77602137e062253cd42a6b930f30bda40c148d9a0e2a6e72f71e27452ae6f0b21a1d3bf48b28298612c1335b5241c0eb129905c7ae625f0b065d903909d1f480995b36f331c5ac95cc71ebf5847b447fe7ecb6fe4a8c21bdf377f10ab0d96d377c2c7836a818290d514cb0f9b66cb51f7e2922d7bc0660625f8afec696a4cb6faf119a4c94f9365387cc8cc3f534436ca23cf6e66ea5319c53c2fabea62d398e0a38cc60be6d81b704abd9b07271de63513b1e30e8257ace6253b8b5d8c185ebdba07f07c0514a1d6cf41d026aa981184dd0c9e2f149cf7f890a0fbc8074a670df13696fd32c8b50d6730543d499a23bd72bf843517f80dea22ba9531f3bcc7fdd9370cc691b5ee5961bef55dda292b6725655f1f8385201498125ff9d86f013e29a05374e03c7056e19da61b88a796eff8a421af544ffe3b370d2e7105b9f6d0860c1ff1d36b030ec430d5010ea353c57323e1681af64858e28ee590a6e2d696d7f1468580ef6a12171549a28e7f23630e5621e4fe5816a370dec5c1662fb947c0659baf7734eae671001e0a682f865c45a3c0439d413eb933bb16f4a44e0e6c39573ca66d1c7c42a28542e00c8fe06f573e28c1457dc6685047f8bb502505ed899617cb9b220bd0a3e1a855aa8d11aab001571f654d46e7092070f67aad2542047d7832872b6bb3862fbd89559ae24386656507ad8151a2ed949285ea9f8b356746f56236f6a415625959c5979194b8ca30c4ddcc069ceff2dc8a75ec6c9040cf28f7a7d94ed8ad1338a00a9e37e0c1c3a59ecaac4a022707f1e6a34b239f4201fc0d83cbbb100dc6ebedf7f45dc8f806ce7df2b2b77f45a0821ae8f34cf7c7f64647e309fa9f6c4b2ee6539204a12b1da73855b968dce93112c9b37313fb1acad2e9ba78bd8382b4e68647d8cb87a059b7797cbfa7d8b1c26b3cb12a7c2b3d6bcac24abd08f45ff15fbf0cb2a8f1fe65e583b78e15171fff68ec2acf723350d357573894b094f9aac82bcb39afe2a74f0cb06078700d44b8ef3a3c9b4532671a2009f6f7c54e765d19ab86055f97d260dad1beef832b1c7de9d61d911c997c5ee8c052ba4204e090287b40c5139034a8622223ec2f22ba85e0604bd690b43d6671f6d7a17d6b47cad7d44d1101e8f65a88c51efd1bc3d864394f0421f70b6064782fb4bfe92b514922f1614819c45a7fc2a0a157e9e29e97f020b94954e06b47534c1fd186e0f1c64c6c36e52cd663edba3cf12e4a9a1e7a85db9d3262dab2dc17b24fbb9f0508416e8ccfd8a168214df0b78506eb0d1405388fbf0fcd3734d7fe07c446ecf8f01dea6a623ee978a5708e64dc75db2ba570c6d0d2d152b1fe28b7a9dd23faa07a715df674a0c7fdc720777e5e0a0fb905f6b23e02b1aa6ee6f8b0f348899084e00eb94670c77189799e6ef2e86358c313ed36e5cc9a9d24a3ca5bb9cad9cda2f79166fc5ae005395a2ac289a9317e949e05d10d422843639215a6170bbd0f7ce778d69492ef644663d3e7413e5682df403a7b8e669833487551a6343d7b9388673b46fe42699f7c075266a701733a070bd32ac1eac77532b9f30ad106c18040d067a684e417822fe81fb97a716a5e55677d1986c589a7ae64ded866af9e94d4ba878e808967dcf7f688028ae440d80365d5645bf736d7faf5f505d2cea2d7e9e5169c2f5e8da50618f847c148895cf06d17d171ce453df2e18455f0feeca230d59ec7b13bfcaa5a86b58e22dbf1fc2f343e969d36d60e1b6d7450eb9981dc14f0a373fd63e0397d87e10eb70db78764d1f25799838cb725459d0d554078309e4fcff227d4dfcdfef46ee86be513b413a95e297c6e403e46d9fd78dae12703e1999648704de805b1ec12a106469d766db23488c26827c4a846a30ca91864e91b1916d1b5f90d43888666126bfb0176a61c58e1dcd8d8a6035df761295b329d7cf6501630bc14568e28cd25a624d0ab4983d2f2f7f3aabcc6ecddeea950239568c48ae014656807fd1df241aff04226ce5b0f2fa0b4ee664439496047dfc4f0f47075c3e8c817df41cc8797e91beccfd371376a41b7c227eba742b455f9ae987900a7ec5e31fa0d8d6eee864745f784cebf687c72bddcc523fa8044856f0e2fb030f8d2067475d1ea08f1577e66ff7e7ebbaeb72c10f94c7cd03886332406ea636eb680e8878759897544794e605b015a2d5a10d3bc022f91d1a2f55f15a04b4a7d99e6e36d8bed1c68e6738901834fdf9b1ec074afec4d90783be08b4a21d868a0c09a4068a80e613389ae702039c40b2a636db030b212cbfe79ec4be54cc26ae6f50c9a5b03b6942f82ea697c1e80a1e4410ac00973e562029f0988f94079abe2f4542620349368277c74e64348325ad2112e7d15ed877d4df591853185db906ab6a2a4102146dfef179188c3859d3f187ae4075d23408cbe26191808c8f96b14024cc8e8c770105be7b6e05eea808dc1b9ee56fe1b707071c5f207b76622ac30fdc4dc90b9882bd332b4f11696a832c1f3bc82c8c4adfcd0a20716e789ec2215bf95781159346d065b34e609c31464a9b607ca3008270b8739c577ef645e854603124a1c3544b19508265e2ee90680b16d8242748d17688907300cdc968a74ca3bb41473f3acd213f7dd4f5d92bd7193d4a65c8f02802e2663fcd82dec0e26d137165f77516aa7269ce80362a3e54e65a079a58088515c866bdf40085585c7b42ad8d20c2b408335b902502504198447948f8512040f040b52ff78c7b171b86fa45ed92a8f716c9448a7eb5c8ad387c0ec1ea51dd8cb2ca400114846037e4cea17f8060d7e244333f82be014f4709cb775b1c50420de9c66060c9780e9a9243d20e052807c846b316041159c9bf62383e6c528041b282e9f6d1680ab639e5af0cb22c838a7f98b6d5e88d5c2ba7c048288238828fa66cb8f841f003412b46bdd9ee267a272c8dd6ab743cdc208461bac470b91af78d0a8db01c4eb89fa5839ae7401b00e56e8a386e93e1403fd87a1d19e64c9272eda2e775a2e62d5839e441277843ba8737a2b3650ddff164b366b90d359260d432258033905adf922233af4f013db43e8cea0f34204c197a0ce930da23146ed59119d1a0457854dac694ff36cac2468e717caf4fb88da21abdf1de333bd98478dfa8d3320f534e04cace0a41954810e2b4c8c72845224337b2ff7d618f51586f5efdaf55b8a9c38f8c498517b5dee4ae21e31028635c138c665b6981733a97b3f51a469c96d5ba0e8d3a5be3387c29e30a6a2be89b0b6f26538224c6d8686c8d2ed33c638b7aa20796947022cac8b9a9d22fdaa104b2dc74eeceed6ccdf6cbddd9578e01f97a6280495fc7dc4ac26e3ceb9a7d7e5d2a0cf5943cca735f856633699731ea366bdbe0ed2af9d12729d6f3978599ed7026539f46dfaa7a3b58f14c966482718fa6d07fbed2ad9ffd9498bfd30b6df0d0ae86027dbbc074e757b574349fbcb531c14cb6b6a680af83d6140dd6d5e1a5a20530f75e0ed091a5ef220b2a3ba01c5532a9db27130c710b3caab0864d5925a02b527912f549ca3cf35086b743e550aa9c1bbfaa3a63909e86673d074f0314fff33c27b2bcd990961dcf9bfefe04cd108bea1b8629b428bcabd852ae5a55ec6d0c7226a6de5a2bdea40f40363c9e3965fc1ba7e692e4d298112dfacb400869290261d27961196281a624121d14d592dac49d771d53a1cbfe0392b089d0486a616214e58f1568e9f43064c50724520589cd1fd16983b494b2e5e0102d208f677fc2fb06c1b37f11236c635f6e1e340a4bbb722e6229a4a49c6d33c5ac3ee21b4519838dabae8a6efdc41d6569c618c8bfda0abf776e652ba96da5904e52a47b020055845f359ace4ba514adea4f879b41e31012df68b0c451a8635b79854bfa4884fc970aca511cbb88fcf5a45b49d0a20c00f028cef0e417a110ceed84e734b498aef6960815d3a4dcabdd6c8c6cae63151d4cf82a9ccc83252f455e48a4656dd6b00a85fccc268470de2b2c7bc4c372d31aacf04004a6d7e6a789f81b1760d04ea286ebbcfb0dfea688df32beab0936f7eb6cd237aafeabeee4b64a3228e8ef495df82d96d291fc20c9cb98a8f22408593ee152b23d7cf4b33f79cdc82fb591ce51e2affec4031f0fe93234e3964c8c00f4f4ccc9ca720049a626f425d0954161e7602532adf7ff19cb5d1448228c35bf382263f618e0099f7b242a28a0cb34900de879e9959ee7090b54759e47c50ba2c23e055f7e9e6b34e77407fdecbb85d4e56206cbf19636c16f25598848095325b8a5ce381161bf324fa23f583f1c24731deb3664df7f0162f52e9bf9caec1e76d99b9f14174d188d8a6fad3b5d65a178dc7fd4fac47eaceb9d034827de747322dffd40353296b4a9898ae6fdfab94cfc6d778c206c20daaeac9bf38fee6bddee293eb3747d30b5467b30f71ddfa66365a8a8e764c66d590337f37941785bae6b2114d987f1af2825686cff6f17ca4435614e5e23625e59e45bf9fbc3c1d5115751928a2f9c4b453be78ff47fe7d6ca1fcada57a0f507bd175a695c9b5971ea9c15b30118f8e7023880d0c53f0b126767db207785ead1de3e36f82718ab3e3ff8394e4c047c81c12aca7647f7170293778e841d44ede2d611741f5d805cc690435c86247ee9a31ef8bdd3b9a9f827551dd35441cfea3d1573cbb4cf9cada650cb7b3cfe258d18ed1f273ce2aa4b261a4782c2fdf5ca9917e59caeda4c90e898215c4e5b82a5701a7d5efcc4e2bf71bc040ce08d16198c38625c20ec1a9f13ecaa19444f7c0196f9d81fcdc9a1bdd375ce8b96265ceb327b199553a5ec95d6ad06764a43d6280e618b367ccf5f546c7ab733732ba96dd9aabc586fec29b354c2c3921657f53c6426a4a9d0e994582a71cfa7c854b2998f06472cc6343eb06577086236095e24df33834305f653f4754fd6d4358638bfd0db30d59a66cdf9f6a4210d5c3c2d69ba951f64d8c0822bc5798c89402a199f454123d5fba83ab9d419a224038cdce8b5a032b2ff855e89b716b134a9e88d6c51d01ad3bce2387f0f02d4364b3563c083f9bebc0f65e24170b67cb5e7aa878424aedf3a2af1b5975a256557e1db9a66650371864dfa4843cb6435176a2cfe6cbde4202657b1534addba29384af6277c470d9bfa84f95c7017297f4d0ff3cf45c963aa56df42fe707b57e7ac55d712d055e74383099cfd74b6c8391f0a229f2f9ed6146490693ee549220a27af2051d6c9d18a1be2ba5c1f1dd344203f72711fa3bda8990d3f351a015883f141ec4b56c9a7d336e492068c8737a0e24144507beafaab4d2f7caadb1f428e36be62ce991120d633be78b39bb39a834e3eb2847ec1e6c3936a321fe89b0c2a16039ca0c22ea786aea3e90e7a46069c4dfeec74eafae933e791e173d304f51223d03c62850c1f8e99370d90e00d6042581918414108a233db2a29c2c90c8cf2a637106010a079151dae86b6a7bcae59048b0018bfff3ed3bb274b914fdc2ba27201c9f8e93314cf9006e4e36e536049184b95893233b9ec1fefbca441c3be758b3ad8ac767e86650252455ee8f0f4e72cd265cf0e25ab269ae9baa3ed1a3bc5092a7448cdd0b223abbeb2cca545ad1c9437a448f4bcdf1b48db446a54a7ff4416cd1eeca2a52da1e4c2fe22b2066801fe32923ad837c31549d68338346fd0fcbfdb056732fafc25a63fac3ca3d90ae177b4d2a10c695fe79ac588a184b4ef34d60ca78f93736dcd43ed00ba5eef84505b9b160fd415d9529eae40034e0286e839d8f62965e5f6255d65b1446dda2a1a5e96c831abb4f7eadc43d96aa793792028a3d410851d6a57e97067e80af614cf054350f91a7f715532a3b3d8c7c9a8c46449eb30c2a1b3073b19d54e16cef4f49d448227b9114f46814c1684e729fe46528b63e0918612af3ae9899ff3336c1a3fde98e253ccf2db1c1b3ad5e52f0a19f0a7d1c2fc7896e5babfbdaa7fd0abd177650e35d74ccda79e372c873605a49a29f8b82bb5200285147208874c3fa91324bc2fd6e3bc71f3c903bece55fc9eea655a2e2e33bced9578a7335d2225022c34245a09fdbd156b89bac65a284f8ed699ee552aeb03ed22d47c588d0b92844b71fb9c1a3377d89d9aade18f5ca80a68383103c268520bd77007cc3a6bad0a7fefa0a47ad98a171ace0adda51baebfde06963ce76929cb72bf5100bee6f101e6020691db79395449e300e6c2a5b050a548eaa517d8ff16bdc8a4037256c25b50d1477c813a9c4028374904aad94f9b0b977f23321ee4d0cb05cd3c39bd17ba7563b68be0de8ea14dbe00766d77d66bab5c7f75984cbcd67cd241049cb85ea3e9b75a21d85f1c2f2ce8ffa03fed8875d9178d3dddf4137e086bd95e41d04a0df76d2b23f132b8750630195c4f984017eeed15c4bdf2dcf45a0cf2de270fe84a3ff0a9852e47ab95a854802cc3d72c6c0f1d78eb6ae2d93709c86fedd5935d24055336f703d2bbc002eca3db395f9bd6e8a5d7b5842cf4db8559bfb3fd6357d70adbe381aeb99f41c7e2334a1c052a25fa3a55983f217a37b7bc32da7c26bc88f310b4e8747b5426ca821cd2685d3352177b351eee2e6e52a36cdf583e9adaecd069b5101581c7acd9e664d1e9b74479971be829686b5efe87dc4e91c1cfc5593a5cbf05f5e22ffa43bf2d1c414f255c47029a771d4c5a3092b24a072b56bb6fa811c174885ae19e4993fbc79611d22b775d806233499d4fea6f936e10814c479588dbfb00f4000a8000a88ece119c430363fcf1a24349f71811ae8939e96ff6ca591aeb73fd25217bcbbde5de32a524538b049d04b30450489224497892f02449e2e3e3d3844f133e3e624821b66cc2b9256d1d4bc2e8cd3d76f3961559326698c4382381b66531d64ddbc8885e4cd5e2d2741588f919b379cb8af1f36d032aecdb71a8feed58131594da6fac9ab72c558f3a9b479d5e823753372f85b1500646429d99f4ead4bece6d479d73843a3911eaec74d46992a9f314429d34479d2fa93a6f8050270c8e3a519c7b3155c6a5e92a1083aa13074c9d20dca833f552670e5a6708a73a654c75eae8ea1481ab738459e78eadced7eaf4649d5f562709589d335e67095d270faeb307a779cba2e9a132f9e76b135f7acb8a1b700c08014740c1c40a1d181951c549674697294e40e9d9e2a88a911f80f0811255a0e882054bb227700411850e55b8bc9a60a205f2a06658b51f90950e87d2d1758f8ad8a8ad992facb08293ee9cf42e3cccc9cc9ceadeddddddddafd5bddbceccccb151646cc420b7470cc3302c66def193506a70a3e9bc2952291d3358b6ef0f21966119967d90ce3c996599476c0c0a1f727b642c6b7fa971dbf9d7c24075cc5b96864d20b58ec9cf00b6523ed6c9ec370396925f87eabad7b4a635ad694ddbad9f688019f6e934cdfef4aa90ccbd570585bf747777372a3376ec4bd3835eecda87de904be9d657c8c293180475671b153cba4c52169eec063396d09b42535001005cdc15dedbe1f57843381c0933333333332494f03b28eb603d542a954ad583e67738f6f131f6c165157319a80ff6a6d01ea1d2b5e101b8bbbb7bb77bf7e6debe9b7bfb57bd67f80104081020407e0880b610a4b27854e1c20b34d0003caae8eeee6e8f41de14ea4da1eeeededdeeeededddd9dea8e1ddbdd3d7e7c7777776fd9340a50c00234b0ebbb6b135ddddfc20e1bd464b68bc58879d672bb1d766fdb2d69dddd5d31acc8ccdd1dfaf030f79da0b8ebeeeeeeeeee28148c0e74f76ec9b8bbbbbbeb3aeeb27b3dd7c2187798ecee6e07440f1e25ec34a170e58c93103fcccb5eeed046d844983a38992e04538e538a82f082e30607630c0c0a05137303c70b083475ca610aa193e1744c11b611b41df2330ffb22093ed325703cb81e2a93c3bca69882e6754831b5d616b5e04f5da5eee99707b5472c93997cc120e629ea1fa5f68865588605310f17f54f7bc42216bd484a6b7777290c621e29bd2f18e449614f8a8fdd9521404b72c1bbbbebccb9bb8745fc19638ceeaef1b0fa81c21b4f6851d8ade9de3d219a80d1642a8fb23de8a671d27351f89147eca9eb49a126aca347392f5e3867d5d31f28fc1e6127cc0d11509c4ced82e0a91408bb21489103878c149c6cedeeae0e1e5be84a1e5178b8609fc750c4b01bd1b5638497dfd1dded94c75077b79bbed83d3c86ba1b8839524f88725d96c2ee13a63021e509c59fb5f17ad6667d8ae8fa21e5bd40d6a56fc33728c8d50f2125a4c4809c243872048b44ab1bf72c9b01165bae64110aa04079114a42c51f9ef1d259315c754e100e92428f7f42822041fb83c450c568880bc911c234fc41fc7d322cbb52a4faa641a1ae7eb5face59ad7eb5d259adae58dda4a86c99d259ad56ab288a94801bcbb958cc7aa6541453b13008a5c4809cdc72d344e30f11c396884b38d4f2c517de137b021a55aa67d5dd1d0ca3ea02c0b246ede76e875f4be5adf20f9470a1824408d8704288c538423851831574619254068b99c092f4aa41180302c37c40d7e54814c51f1c6859020483e01327ca1e3e34824a5654d88579f88857240d9f7f96b0ebc5a5c2e721c601a1c267222e62a42c490c9f977a842afc2ea291f44f03f593ce5917fc7631ce10e7b8931da2760f05abebaec0a0768fea8eb01851bbee9d4aaaf2a794ebba4fca01952416c7fdd6ed70733e3da2ce47cd571a75be0ec691755ad1a2ce9fddcedcb697ddcea6ad51b5d7ba1dcdb3231c04d52c935f317782159fa34235d2a0c64ff950633cfae24a15408d5584a8aa15a088e1840edd60a9f6a3bc7052fb8ada41b53f07768172460f82b883b348d2e830347174831e4e80019296caef5d4c519936d9f983d2fe2a023a82cde9af763f2c627d3897da9b73449d616dfa21d03907d81797ee55d37486445b90a779ba6b6a8c2af4f5013f46e9cdac0dace99c548a5209610760ce324f6d873fc010d43641110fd59d16615468bf4d5e50c1aa7d8b63a36adf42e5d8c034daaf0d6ba3bd4d195466fbfe6565df5f0e4d72c0186a2f33b7873f8ca319edd24b7b0cbcaaf638700ec7d21ef2a051ed618f76a36a0f912ca95a57eda1f6738309e81c7e7f22fdf1cbe1cba1090df1fb7370ed87740ebff6daab8e849068bf3a4242d25e675d55f340d51ecec0837ff1b38101e54f86d5fdfc44faf9cba1090dd8f3e7907d3f11ce017bd8edc81ca03f7b1af8b103f4674fa43ffb70c021fe36117eecc3c13ffb18c0b3ac26f2351626b52f0230283e993bc3c30cdaa2a919f8a33f1e211551637c1dcf38d9bb7f1663fc4853afda9d71a184fde1f0c67f7bd47d873fb6777fd61e7e335cf7fb9d079706fee695b037f035ef832ff25b3daa0d056662c842bbbb1764ed8fb904d46c02b08d4ac3aa73a4f4ccb341556195dfcb642fdfeb035690c9be15abfc756a7ea80d106095bfe04395a21737ea12d9e0881eae2229be2cb4606183236e8460461a21286307254052280f4f6480748405465efcfe1674b354d4193af02962b5b736e8016bbb17f802731987c8910bbeea12397ac23446543ac0da87439cf350889d30e7e2e1e1f1006bb72ea92b5939cb5292627d0bf2c0c652dd2fb291b50f01c6812e1b582748e7685878601625251e2e26088387b5bfda7dd5f215f3e10f15a2c8a00b6b5f059711116b9fe115227c88bc2b2d34841845fd01272a787d94b8c50bc30b438330e689b98c0319d6e5ee66f62087cdbcc304fa3a0f845520c4320307803ffa0c6bc35d34034c3f16fd5f05f42f393c56e9a068129b8450a32f39742a11ad022112fa02020ff8f8f8f8f8f854c15ea352adb05a71b78ed4cc23f9a648686ca185165a041362dc27e81886756358b73b867574c7b0c891b961bbc718399352d3b4e6f83730f3aafc310d5426002603c7d84de9cbcb0b869d4ef104c484ec2bac56407474b87be6bf46a56ac9d3a3276313edee6e63d17b8709e3c055adffee6e0edc1bf2d2dcf5b171c34d9319164fb02174e687dcb0dbbb9d86ebcedbdcd2f8241e93935bb892beefd0ddcdc9ee5ee2482044b92341a1d6c7727177ef5d2a260b4f600a7189b884b71128bec4977443273f3f356056628fa611185c0eeea1b6c94f661e557fca5e472a490ad3300c6b2d6aec9e65597f3030a86e140a15c3fdbe1d13d3ed641fb3386688beca41dea5d0380e72fd80223910601af8a3017bc3bfebc3016bc33f6b581b7e165e93678431346ccae6226cd9719896cd18857abeaad8c5b855899ccbaee31637f768fccc652487a491cb48161149a3cc65248b88a4d1945dd7ed60df499326316d020101451172c7b409249431c9841c48287b129409b96b13cb32d349663eb52cd3a68c71db7ac90f92253eb52cd3a6a4a653a4dec98b18a64db9c9b86dd9e65393519b1b0751746f62c41e76911bb22ccd223728252d71a693432c7ad4806331fad4e4901a7a480d556216a34f4dae84c4c8d84ac80a4b2b21992b878e4f4d36d4e6b6e3898eb16298365335990e1cadda31ee73834b318b31c31cc7428e5500c1e47617db6ce56abbed9c1d5d2a4810695bbde96faacb65b33fa052cdfae8e41bed9801857db3854297268f43621caa84aa82719d66323952e750a54f4abd94b013edbe952e236d483372196945449a9174196945449a11a7c5aedbc9bed34c9a966d1c10105014a118b38d0312924ca4500412924f82a4508c1b970109c9274152286a329a4ca693843db0e7044b360ef62c9945e0a8deb3e407c992affad2921f24132e319de4d44ea79354d11d92406a092f27fae2510fdb8dd3e69c535b9ad3749253a3b4dbd99ebe70353c53d7c08a5054aad39040e2c6bdb1c9754b72c974cae232fc81c9664c0391616060508da4e2214dc31c0e6ad8b839a40649a5cad2901a24525115140a15c32ed65909c1b0feb0959015564274762826a6dbd93e66713c0a9edab8a9fdee98412783acfe65151aa959b671a91aa90347cbd4c5836c7c7029a5fa1afa3271ece4e9588533aa1841a32043880e083276386949e20117494a6c2485912509894852d15112133f48979473d696dc4c3033fed1928898581799b4031793c6e081b6d445a6317b85d54a670d25a6d931240c3a786245c2c005c9d11848190c4b4545a624770979a4143a544dabdad792df174130cd162195d0252926ef4425c4345b61f862886996b3a0a72d27a030564c461486caf60395431c9617cc179d412b2925e7ec4bd3b423284a544dfb979f0e10d36c907c425d2922a6d90a43524b55579b152824a82dd90614216a6bd511d158f708ca91da9244c640d53d9a8244f5ba475a0ca15d3151dbd54655d89faf0dfcfd2884555d74a185167b050b15a60077ebd2c01c6f69e02f330bdec0df670fae0df4e14305154ca8f05b26d4850b17c29c0fd2c01c86b289cc986526b3d5d7dd58c4716f21acf2eea5a276a752527a0df9073364c11be88323b7fcabcbdda7185a40e1f3ee2eef6e4c1b33cbb2986159b60519c2dcf4e8e615a149456026a3d45c08e3b0cabd8b60af22590a9ef692e30a2db68bba5f3d484bd736f95faf1764c11ff0533ea80a2e13fe462b84baff6d4e90de9c2fc2f0c756ee4f89c2d7ebf5eb5de48bbc5e194af6362bb5640c2ce022a79a998abc5250648901fc008462d0a0c25f41077e10f843bcb667d1a2f67bbf3c41ede73887a2c2e041ed1afccb6451817ca1312164c68149209259e151969fca15be0efc157cd50b184f5422585e4db3b595aa44b020b56c226050599a853c9b43048ca1a55930c0a8f1fd55a5acfe92a6c0080d5d0bd890bdf9a1afafc766e8edc384bbeeeebe9919bb3dee42f29f9f9f1f56ea54112572a58228d0eb47f2d023dca57f1a49f7f491e649a5fa274679fff9f11fff814970c08af3388ff3380fd481036dbc5e577c5c2d198bdf997ff74f2a45a957a3bb342b1d9404abc02a5592a4d2f642e2a2948b3e913d9c74044b4a4aaa403f8d644af5283389ea5674e0401b7bc5c7a5788c55c193e48c2d7480d00b56a24449ab8ff0a295ac0d7f868612ce626e1101845b80aa5723431ce183194ddce0082d66bc7831944589a5258094c4277a0b12b5a5086aace19a5a3648e1aa01031a4975a09066522631a9fdfd1a0c40b42571fae1193dd41e121563ec1386586209176b50510508841031250b2c52e084191f8822054137503b4c8054f8406067fe1344e52c94bca89c851a29a839d2d052f931157367a507a52d47a8e860078bc51064745152528221a4c8a0400117ff688f2534c2a8fc59a4e164999928a3763f3b166808d19c8146e56fba35702289daeedd3e426508f9fb2570430d94735068838a2350b0f840440fab9d04b5d9a8fd4238676375f7d8425ba80a7fb588b183764f861ca1f04f585a1f9b85e70424c2493b6925fe1750405beda49f304eeba69df057fe1b576dc12d6aac0d7bfc76b236ec5f0bf59314d0563ba9ccccccdf479187e6681f5c62a136f340c50b6a5008d5804a6f04651dd048810a18a9f15d30528558d54ce441251e62550fb54ba9856aff697df4d3cd49a55e5e5aa7dadf4160ff1ea45dfe0d5de5c7df3cc5510c732f3ee6f14b1c26d0d5f9bb81abcbf8671f57fd93ec798532db858e5f04309902ec77cdde3ffb2c00e3e73546f42b4dfde65820cad1152ac8c1164e6ec082afda9c7722890798f480a40340ace01699096cdd1f00cce74c0327f7d9cfe9df92d53dc6a330de849c46bf1674a0cb451a542a3ffd4cab05f4003e265bf2bb21d6a62fa72ffb6e3ed6dc9c9b912876604492195c5c0085169a22809e5082d4e3022e5853c23c2a06421a9407e3dd10aba6c9879ab7d2f3cf6e88295631166aa4a7280c2728d8c1074a8eb07ef08414218c68c30a2c0fe811c38712f8907145142c0042063ef8610732a648c1a238140bfd15bf0e7f10fe210c5f1b01515119b2a70c2654381a2a2a2a831a81d2240c3672a085134a9c01248834788c807e70c44a110d3a17196bdc90c184164534e8ac8011050f4e5c493e3dcc552a45694b47a32bf96daf6ac4bed4f238a22d59230124c738339141b0445b44b1a3870b2f68b828c28a2da2f016b30ed7accd3e436e6787ebdc1e39c28d31d0597643af535c562796c50a5f664150ff200a424d33e21093b2bb1bddddbd8665672e7733c73c7abbbbbb843e22e7eeee8e03dd9d357777f7ce84a070dd312cdbf8c1755f183162bceeee4f077a35cccc2866b9ccfc8cd3bdea9ec9a2a79839b9bcbcbbbbcbcbbb9b4da1f05fc605596185ccececfca1d86b317badaff2a6c96c52134cd96d44ab1511a53543684d176b50cd002b199b1a2089d29aaeeb4c9ac9643a4919680c57a8ac28d464a0315ca1a2bab1a2dc72d247b61665a0315ca1c23030a846a15031dc3a567457a5b9a66932d018ae5089711c70e6c68a760169609501f686ff25038de10a15a51d4a606c9fb2db5c4419d20dcf7002241097029b82664112b0c9d80f44fb560948d77526cd64329de4e9d4ed647f729a79c6abef669811a834ad1ce79631911900a00033170000180c0a0604e2408ee3509468c30f148012508c3a604c3219caa3a16018875114c5301004201083006090414631a79caa1a0082eeffdce7f66fc98962bc5663885cba975e3b889ed4c6f06a44515bed2f207ab89ccb20d01993d5a6e030294f51e8f26778e5b47b7b8b687be0c0f9819415321e8de2babd118b34e2c564825b049f313b2ee084a6dcd94728122cabd0cb13855eba66dd4b2985742139fd005baf04d149f13b07129d244b3866f637e02b7a0c6f504db6672c5daa31ab3543c7f2c962cc8899f81881b5b56517018a04cf290d6c4345216772e7775808e9141cd600706d0d9a6416f51df4ed6ed36edf21a9902824a377231325bfd95a348ed8e7b35ddcce08dfbf0e12d9f9587746aef82f76a1a3993bebee7bc1bccecb4dd4df45189abc05766f3f98319505f57ebf4ef1dd00e73eefda55773f5cdabc4d2cf81af6c62b97a5777c75cbe5c5a575c2b47daaa105061adfdf0d35fb2b92db50e152a71a5765f19909a6c9fa80347dd5a27c541183ebd40d69d4e8d5701709bcdcc03a3bf93fa6e48a36060c56837b9e290eca72505e288aa81cccb3207e64793791a0deb89ab5fae9397e79fe04205bd29c113941a200909ec8a9a352ec4d7582965cbdc12c1f14baf56ba0f0528a872d6440ed9e380b8802d98763d20c70a2f6c0afa244829468210184441ca5128029d611185bae27c0c8bff039718163adbc0e5f9613d62000aae6453655e5bd914c85e3608d79ad0a7fa84b2c1e1025e1e852848b3bf48c5cfa1e903568c3dc623053c90d3e215f519b8730d6d78b064a59737375c86545ab5ac6f0aac9ba2cc66ef893b765c013b91248dd38e99f66377872307e0dcb6141df8627bf55412414e73b334093773344540a2ed9f5882f10c75a0759a7395a0c62810437bcf3e753bdc838aef50d5f34647fec747f24311fe9862eb5dfab17b10b8e47ba8d8c98aab3eef421b538ad0f7ed74598ad6b30916ccec2a52444612e4b288a79c78d755b35101b171bac7f543f180a511247e46f5ee7ee0c521601b9dd801f93642e017f86307a72550c93adc0fff8a62143f59c69bb119219f365905c577a0c8a3d5d4933abc5f446c575baba1746dc9cec3b5dbd375ff77fd4234862afd75b44567446aa947d247069705deb979e4e2b558a02c1c088bb119bca93e79aa844937458f3010440edbb34a2ce9c42010165e3cf0a596ceb70f18369061d8636254d34e424478080b3d1b6666e410952ce08e55acb37e380a18406be044419b5e86a5b884ad914e402576b543c569d34db22297beb042d95adab7c8f5ffa99ae20eb3ffb4c66e1b6df3a524c9599397116614a5544802843e0c2cda1da897c24118183cb59c8f9fcf3bafd48b7b857ec424cbbd6bec58b18d5a74a45a233dcb9956c903d906e505c21b4434be50221da1192a14de0f564db226d706ca88c5ccb2366d1eae2631a8809747967fed38d54bbc193dba020aa67c1f789dc336d42079a0b5783cbe6d94405780c72bddfbc1d259d1bd0bdad8827b667b6ed861580c119da5979315e650178a61753fac7568c45eaa443925274fd70994284fb3639630d78ce360ce5fd6a3a48efe514a090c91e92ba9ded3cc95153e90dbe6ca929e9b45ae665db9f0f7f05b30e196fda0ad6a4e9cc4fb3718d8267cdac7a55e9f040b992d66d07d6e6fab0cf294f6dbefa4f1f4606641d1d1bc4cc13f781a1e5b914d26ee24f6dd8ebdf795ba6dbe1a9ce1113678ed56864dd0c37e58a4f6127575040dc8e901ffb059aea184665d9f88d5a82145024a9dc475260c8978991d2cd5424048ce3cfa6916ab08e82beb4acd17fa175b24b44573054b4253a504b125b288b29d41f835c85115a202c78da5a4346cf544fe9728f6df5e118d97e2588e2f96fcbaab7b5ea457a73d1e5bbcc4f86f54698f0ea66dc6ee50093d7be80008c1f538e6e2f447d1c105f3d9da21c9314446a3fe6cced66d10a20d104630f717ec47963f9394e62c1db82e0b20e95708309fb256ac295fb3ee282d80b60b2c8fdce9142cf718ca0d134df30dbb3f9960d279084bbe3a6d4068235da5efe05da22d659afa48202994e6b0d2042b93823d9353d2e55f4125cdfc27865dbcbb40d3ff3d2073f744cbf27d306c8ec476aacda2f90dd7605d72c393dd3dc6fbb029a186ac2767f96179979afcd727cf74353d1e2bd66db28b914d163e4e7446a86d1ed506fd306f41480f19144a76f6130b3d228c02cd45cc282cf44944c1b1616acbf224c1719296cc38818fbcae7dfd3d3596cb293d62a1d725faab367d6706f386d27d900c11ca6d9b89d628fdd816779f43ed072cc7a5dccb59719582dbf50a1145cf6e43c2d85cff0e5e35e42b3acb707f88e29129783bb3611abc7d1532613708a7579cd502d1802c9407beb5be1ebfd0094a2a26b8e0c61b008d24dc082e9d212c29c2beac15792907a1eee8c04738f076ce3583ec67918e9b087482db3d26a9ffbacf482b878b918a41dc40c64b4ee3a112b6a5c340ddbbc0da2e146b4b19a62426525a9a716617af29d11afd8058ad8277a385ffe23148d60fc2e3c5961ae2de798e4dc8f6319709aa12c227aeb057a8811addd9841ea854dc01c2eb27cad60fa260bb1c1af93ad81468cc00411537f48d8b2f137ee4ef5967818e044561bf5b896c143535958fe005d0da3b8b9606e3de27099df29e09098946e518f28aac801a1ac03aa47b339288aa004d6ea1132ad5a5b0fcc24db859bddd012c5e7fe277b8dea75e551d63e637c141fc496d3d319e9513f87e8ada73b2cf56a9a48639f6468a21e58164f41fa66c37c346c4705b71d5e0941316ae843d6ccaf8a654acbafb684fe542587100fe80124d71d14aecd56b2ec96c51b280666ce05d51727c2103aaa7c646c9ac31da74d6b77f7f6cdb79b58b1f187ba0b47982bec77aa366aa8a9316041a239d6ec72520b215f89ccf5f0ec77f8066d140407ddc2848376421cb467fe38cf80dd5d8c9c6d797933e3f3fa36811795547cbcb2cbd973bdb1252f4ba9d73c11a350b323622c9234c00dd0983ba9a739e30efb257778663b31a6a89248104deef0e5d84e5cca6f241b96fc0078be7acf0d8a10bfe74841daba1cd941c1f0dcbe73b00c9d14d1629f0b9a2b04aeadcfe79bb22d12c8036858a276a5837c9afba80fdeb1914cc6e34f2f9b525b6e07ed2f0a6a9ecc919182dfce743890346ffb23db5c92fb061165e3b6c9775066fdf7d5a56f03fdd122eab7fc23d305850fe4b5205665d25f4ad5ab11611a4b22e7044b9676fe92b83b13a81ad5b61280ad8e440f80f68b80a73a668610f6d75c13ee055bdb2978fdb1943c62880eeb6eb39ef6ddd8988291862eb033f3a318c74c7f1e5a47707c76058722a75eeb372281b6891771c42929e271ea522665f76afe94942d0a118bd0f09778092b6feeed06362ff918e046826f5636c8c91de46fcf126fa21dc17aca032aaacd7ed9d83e74499e7107785c0e2e791795c954060c9e510f762c9a60f83c240627f6562b070a5b979d34341f86adc597f6dde803fe2a13257811d321bc7c29175c186a161b57085e83708d1605e006df1c0eed1c76076bd241e2c05bc0f4964a3ea4a6fd5a6e164b2e15b41512497ae0819945700561b925c9c330c81a66d0996eaf84edb953961a278cb3c99419915402966a7d15e4ca21981df864a8e286b0e16030ae583ca658aa543c69ecaf0112ea1cdf23a2318993be590c9ae89b7d05b578155615f8ed85747497a417ce32f8ceb5dcf807067646b9b7ab3003e78a9b965010b3642cdee1a9aaf67fce0ce22049747bdc45896369de9b40b8a2f2b3f6205c6424db5b2640bbad4f77cd4bdde0836e1d8fe60e5a7328077b7fb5796e62c55569b209298db04ed3a880eb8261a011e57c87c8d6e1ad83de38d4161e0bdd90f57347be4f83d12dae823b7c0acf0532019efc86a2fdead60dbf35aceec5a62fa6abe6fe89e3e9f3a415c127ebb9b61660975fdeb04ad21ca44894a47e68de4816e095f28720cdac9748e9bc9e4d6b3a25ff410964505f28a42b040be712036dc5e830827096958869a517603afcfc659a33ad5aeddebb6d9b3c9bb1fc593ed17402b36ce4194d71d23b4f26e3c6a4ba3e2e353fafd691183c229705843907846144c21a0db2a6251921b8f62dc951f78f701fe061660aa655428fbaa0d6d910a64fc9763754d19708af03448091bfd845e02193ce8f1bbd030ce2ccf5c4eb6a64f46f5e1e68cb1e5d29742ee083858674c23d2b8fc74ccb674e89fdd20bba4819ac84029effcb5a085259ba9e591dedb21c6e6cacc7809feba3065e8fba18ebb9dfc84d453bc21ebe55af3ff14862deff3485f61a0041c4b680ceacfd88d80799d7c1c660f14a39eebb31ebfc32bc7801e821c207bfbfd6c9c32a9f177e19d112527c9e2ab0e03ef227c2311f9eaa14cc32b550b2db31d54d6a430da64e7511a44a058073d0dc9728971fc6db1b4224bbf3e90aec4bb437484667c9effa32a25da38f9e04ce86dd65b1ba6b87db751afcddf209d83f487b47891d19358ad0beca9e852cc8d2d05e8eb0e2429212f003ae711ab04705cbabf9bfc242aab453595d10aa633262dacd334a3b97a16995f4763256fff6cafcf7d95ec4d129e9d17fc8e29e2ba90f9267b1bc8f9e125c08fca4a6c86988a30b103da8fb9f6b1bf2a1b9a86f56e8a6b9423ce181738f22626b1181fae4440f1984c89dcb9a5262af2b50de612e0e3cb741fc6077e3bb48deb7650fa6dae126e74517219f753ec137c5bcdea1a04f5ae61069596887406f06aa0fa59b9c589de137d34221f1daf10cea6defc5b873f4cca6f20ef0cea437dd1aa6a7e28366814475083077f5ab70136008b3992369e45c8cb2635989a463a05b3bb27e4b3068bb09fa9e57a2d744f1ee85762f00610044f54fd26d02fa55dbe7c74abfbada01c8a1b7a8eb43f4382156f7bfd9eec6498ed7ff91d7faae6fc33419fcee65812550233616cd074c9d0b0501e8e631ad3b4eb0dd55bc0c775506361dab99591c1a8909001d5c709bfd897d4e9db10b7d455f4cf5122cb9698bfc85d4f646997c60a8b64afc8e9c8191db2ca04dbf6b7a45934a38fdf05053386082ed7dcb38096a976158f70982b76cbc91423ad9be2e8fc009dcd525671c4ebf9db164291d4836a10f3b1dc04d43d2e780e2b29df2702347c28d1f9a5986d7d44e6206725aa32bb6656b93db3b75edc74822dbbc2ab7db6480c3d39fd4561547b886e13de0c486cb567593456feef782d6eab12620f344cbaf5ec208c9145414612307624f6a917e756463c5ca5cb0a498196c13800b7b16f3fc312939a260a99b95c3c35b3004cd25abd1b4bd15a9dc0b65481ced452ebd84bac30a3bc2823f32bf21c91c1809b9e7068da768cba03277f45ddc58057de1476a8dd02b946cdde3dea46459d125af6ba065d7e675ae3418a577dfccd50604be69dbce16d935500e418be70a04bd479445d2ab37d810e8e0cb6fd12901cdc1a064842481e37925ee3b1619e9f9079c504da08cca0ea93b861c0e0b796abdcb6f7aee6f4d92e053429d09fc3e465ede513eb9bdaa4fd8fde277f40f1a569651415c1414579cb9483200129a373881124ad2c7340ca8fb87cf37ec649424c008142376d2e58fa8625713942b46278d2ca41dbb06337a34951d5b2fb61c8490f285b5141e6c5cebbf7d29abe502914cc10492bea25d4524e0309d23e16f8be3b7b60f13a6c98834a85546a657b8dc344ee26e30f25b926e3e5e241074177ef65d43e9a2e939c1368f9d5a0abb6e12bceb68774df1b6d546027aac71b7cc0fd04323104f3711c837b73488d5b5db680b510f8d4a86cd98e851863480298d1bb316c0c834ad24cac9af7a3d1c0338484ece102f83a215950276a415ba905f069812f535c44e07c77081a70c1bd22608f3fae4ddcc20b05361ea1e51323f4550df7cd24934853855ba719fec1496b118a782b29960a0a4f6aa3266a79ad2e5287284de58850919d45e3aa1acd8837dc2d4358ad07ad4c62b9881da5b510274eaa901c142aabc8b4dcb4e0e31cde963df14fdc3917ca258b28a1b1d400f0f53b1c558c6622a49c38485bcb2b8102b9abb924e9348378815c5a36e197775d159a3aa1e104de63971abda9dfa8c0c6b06c2c8fe77ebd268798f594bf44f91155a622246b556e584b1f40e80b0fffdf61272780d2c9408e1e4bbaef1e44a9956ec6ae35f3ce84607c1773184004197444580e200012fd8d096e428a026232d35669111da7648e93041462dac6d495034f8c3dcb8eb3016c0df1c355cb10d6ef93395315fb8dbcd72e9367391b8bd24587bc349e4b6f3b793b7815ca92e4b21865bfc694ef70db85a29c41c46e44f1d307cd614fac23b78f267c0df2dae1aa55e7ec7a2a7031f9c5974d012e1c050c4d5c6eff0ff390be95ba4849b893fbf40b21c39057933231fb72b210ee211233cb69f92849173f62f068b83a3f61b84281dbdb9a3d5d43e322140c033350f9fd8dbadb3797e7c72257fe6ec9d02b911763168140310ad2218a08939277e5df59770c7e1487c3a1d9a35a360c4a04594bcdedd0ce37e484aad2f053c5343a3251a71e5c21b2cefc5f10b95de814f52d4a86751f085d099aa685ed3af02d7093b9ca6727a1b8c284987747810ee1ddf55e8932568a008d18ce4a406df222b86d1e295a6e78b904b4c70a1052da900c8f4efaa1f1594618cc0c85745236541bd485dcd3a3cbb3177d974692bc85b4ca9ab8dba8bbc2a763d3281f5a5dd955e1f50565804b9758d83bc3576696541b617ac088f32302200a5b21420d6d6305c8f398245fb849994383276b4fe8bfdfb58ed4425c338d34ccd9f592d1d8b65105d6dafe7a3819ad5f5178fef8e741bdc94a328e0f738e0edcbd8a21194723bd77b1bb71a31802f6de984aff4f290e1381f8040261e9b97a2074876ccd40d2999880b26de8f2507ac4dc4c92b3f3947835a5a08800d01d297a76a357693c3f0a3ec1b0d22c9db16a23c7b25fcea5d71b5b44026a7e9bbc5f29e612d02dbf130de05e9f857704f160d23e461c99a84ab8a2e8eb62a7aeb3cf606b11f06212a949a27dd203063da147ce5c99255a7fa09de24219942084633fd28928d9fc9471b3a535be9a45d39282ffc84e377a2c8541cb875e66419fbd6e71f76cb975140b93f87eee56175cc770668198b854b896c29a025944f780374b75a16939666da0076e26aec9c900f46baec97dd4ecaa4e5b1658d362572c2f286b19caba2599eaa5017f4046b2b24c5c2eb86b105fd2fbf0c2f5610a5c5cc49dd9091eee29eb0af931378b81ad8660c37af3f9e490bab0a1ac2704ef35ff6cb17cf85ecc710c36dca1c5163036e7601b7559d0f728a15673642b48c20cc16cdcd222774a27119dab1e4afba8c0ce256d3bbdab030de7be5b6c6a14e0f3ed95c85be2ba067a71fd56feb5b799849516d64d1d87f01143b03fbe809c13fee0ee3486f2210c2aeca835026f0a60cd840c5dab25e2da559af9360902136fe6619432df4958bbb16b3ed4bf1d32898b0ebe32ade09c613d629b0be7c90a39fb8fd76d7eac719cbd16049efc8de630a40b1fcc82ffe020bb691cb6e07039b69a53573f17cb13bc96563d38efc34acb1d4ede793c5f99d92b63ac726d31770b0ecc87a82a4004b7ffb13947a5605f5a1b0594f81d2af02a1b6c806f02cf550fb632f6571d4115233b81e92293c6218dc702c8210f3e2d03b9bc634fc1b1a44a1056a1c47a9ed6384cd57679fc5f18aec0a87d46510754d7a02ed1c7854655c2c7e5ecb3e0e39f24aaece82a64b2d9d95d6b267171a1c8637d121fe37756500f8f8899b9251d8ad99afb9a0b7892ee4045341aa7354fea74649262656c41e445a936cd5bb35837ab9d80fb862fb6544676916895824a38dfd79c8f34a7fcd41959cb94c74e3711086035948a0d84b0f56a1378be0ccda7f023f9b8e8f3a7cab66f51a3c8b12b53a53c6585632e9a1fff8fe463243c19da59361e03da979c3cbdb7618bf9e84d57a176696fa89692ae0871890e08e8a3c16fc3ab414efffbbbabf8d0435f380192759dc56a28ace364d3763d43f9b65f8884e4df20cdf4f34546cc9355ecdd239b9503fb25b39647d35ca77bf692ca7c8620686c5f8e356bb429b5d688727596fd49f31c8ce48bd63b7a558ec2120522b3fda7cc505a8f783395e5ee6321597719afc8b7ba69d58a92674a9e2ed961975f7d218aee4bcfe4b29c614959ce9961795ca497f39186a1ca0143e00c39088dafdf2118710b17a3d4647b8eab7857867bea26be9aa24be49824b3ea5f28f9ae675e6a23a6a833b34e9d92f2d755a6f0cd2c6327049fed75ca5ff6bdceccc733ae854898878ad992df09adf2c4760e85f9202d59dc0a84cd733f7d838e9a6dd875dc91ad36c23752f5dacf7420fd628e7bc0e1505db4d7217bf55132ec6c37229843f2108c03320beda056b83dc1c11d8be9ed5ab4deb284378370824c51fa158005a508bdebc5cb25277b9f3ced3ba4badb45817fa636e5cbb96ae0bd4e3e93669b8757fa5f7c3a071bcff5b05f38003b7831a88acf42f359a2ac4a5cdd5dc3551d1eb2b018a134012c830b8b26f7de09e1d802f166ae0dab6471a8ae69e14e4ed9163ad32a630b8b3da04b4928c10e536627550d911f164142189938767ac9e0b9f31785b62e665bef3a649169bf517083e4cff6ed8e14e74168368e78225f03c818d7d2575d3c78784a40e0eef96894fd22b80ea0cd7371e72658c0763905c7760d35affc60baf89d78b6aff4438db244bb84ae322946063058a53a9a494a91fbde51698b96cba39dadba9d6727413ba019abf44f5ffd973ad54af12ff427bc212d0a8353ab22be995a21e7c14e3b5f833f51a5e3948c0f45f977908c3b4c716414f2e4ca486f1fe24da1597878e06456a9dbe880e48feda53f585a58f7c728a49680540de2386423c0762ba075d2553e5ce96f0bb176253bacbbf2f4661fe249bcc18e6d01186df8eedc47f3641091c55c3ccd3514c079bc2c304c611d20f2fa896145e59ee76cffd37f81c9e74ed1905f779aa0b92f0fa4e9bd2c48055dd4f5b0f608f4e9bd9b7f7cdeeb4d93c70369e71d846979c3c26d142337026028440258c9caa3f0c02ceb971f302a98e4287f395b0b3884010d3b36feb4a13d88c6401d43278344e8b48aba155d184afbbcf25b830886a942cb3af3db6ce5c720c4db8685dc56f991d4dc74fc91ff7ccec08f452447ea36f3b3c3426ac52a171a3df561445628ff14280b68bd669f85f915cd1b12e86af4d1dd58cac96d36e1f139834544e4545b03f865021888d708fac741a085930037b32d874bf6a69d59170ac12aeac4c75c41b10131939d6afb7f5717659eae1c70434a4a31d4b3f4e2e83a7182c2bdd1808a97f7fc5f229bda38dbbf808095f91d1081ec2c36f42bc3f7eb346bef4a0f14114c1c063ce795be7fed25821f83e4414d75cd8718b979a1214d2974c8f4e7b87e286cbdad3d24a4b04c01c911d37b63cf9d066d1a1c8e1053147a4ed30d538c33ca3e9e4436d69ed53375b60f45cb2a9e04e71cc2a3e9c5951bf812cbf0a0caa3397a70b53a484a1e954d7941b12a5d1a84d0f294f8ded47b9168686910761f71c86dc9ee3ede62edcd3461cbb01b758587438e2886b1c8a87a4194074afe5951500150e6c72378a52e3b4fe3f16447ab411493bacc6dfb746aad27b87394d60bdd7f17cc6f1c5a85a92b33cc203c6f6cd29a610e08031c6148c7d91b46cc4ffc5c34740655aefd8bb6ea863a2e9571ce8b26be0b014e888e4f96ba1e18524a41f9cbc6978e8d6f606466b7b6a67aeaf92e7e90215beae731b63c8d8ccaac270485fa30db7ba4d9b5a695c43f83fbc89a73360e22261704db7925b9a871bbac580c6f5f726c86e202c66c8480dd38f3c0d6dab7f11c9a57feea4b16ca05fcdff157dfce6d1bb1a28f9ea96284c5712432eb416a9e57a84eac6b40ae93026ca0e78ad2157c493f83d96709e9f8c6c06c08e0255da3e4584b6b0f83f93128bcb60cb92a0cba12ce46a0a780556136bf2137ba622a3d0caf87abf5a68b535f4d447e2a751c4f18726b81979d9bfec906bb627aef74e5f2c205f001f6375b2ce6ba218cb3b4e65281675fadb981b36055c6513de6a595c4c5e47f87ef43b4b79381643f1bd2195d8a320634825c0d5f4a53a534089bfde961826a273281e546c4f1b4a264a125ac6b895e571d104e58e3a0ea9ee31671a6ddfa5dbb064c1a01d6e933514bef8aaee9eec8dde5b135c9955d03c4dea2eb5164807c74f23efebeb97fecb4bc22e65f0f8051cc79de68786a9f36d4fadb7c519b934c3971d9a204951b9f7eda1223b080d46bee958e4f2721f4b2a3ee94ecf60e6a4e2839d9331298c34c03ac3e2467f7461af81b5246570e4e3f266abb0042a15926df083994656374e2dbce8830936df177bb51bc58aa44cb49b9aa6bab9f176ae129ada23acae4ce5aa9bc5cb0f135d9d62cf157f7bfd81935cbb6c912efd7d07c7cae0678d2d5d4efbedbc6a2f5afabac3839ca1cfdb149c44f1a61bb3c3c7452b30a09a96e0a6d466dba605d32264891fc26231c8abf59c63d7237bb93c1168686428e8e9d604bb1f928008a302f4c22a9e8c7b4449b0d82cbc2468dce4d99469ba2bfdcfb87bc5c633c30d1d3f903541d455431c332f0fd34cccfe8ac2acdd2cef17cc004269378b1dae6faa8ebac6481c630ecbabdb2face1a9c03d49d6df9b9ba76670f8ffac4d4f3308251ec96c819d6615a1a8ab1dd3668b6c287b14be0077bb4892019431e48e12a9226fb87b9fca65d1ab5ec44ccfe0c4d37473ba1efdd4481d6193d822673e4b87f31451b6d16e59c43075ad420e0a48b927fc73d01ff3de8f7b6fb6024f6cbde2d8ff6aa4274d809ec3693fb76f95f4cbbc0835d1a26ed69b090dab067d6b4c7c5980d7db32b0ffb7b7243461d742925bb76cb6012fd0163491f427b5f2edd8cfd3c80d56dbb7698bc4a7673e5d10e12dc836acd91d211199b6679169c9199966f6275245ee42ec8f4f76a6b9fe3519593d2a9c47d0bf6c7eeaadde2fb937b810368bd9eaf737286dd8a6c4b14aeaf78ef090d8fab856a7ed6c621e133fb4a096be63dfef5cb4bed6b6caee8d70e4a56a971fcf2f0a9980ce75a5ca93d933ddf57b8d83ad6abf41e8b5c85286f04e2e766d23839908ccd5313511b32c38479ec4a013c4935767f69917eb4547de5a87f464f8e6ace518bf7b401e6541b558412436bea450c99a0ba816346cd85aa7335020e6613b7989db7c0dd8272a3535e84b46ec8b83c66e58f359e8a5bbe6bf16c3d439bfc4bcbfe0262730f31923a745fb08bb185373f8e72b4d65728b40ac741f89f3971e2196f0c6f8dcff42ad801de21774063a77135ce7c8666e5482833d12750423178bec20ee3d08aa26102a881b048bc4d4c2ccdabba2e181b05d97e85c529941d9a4194d248fae1a1d0b0b8b43f1b03e2e2262bce2a09bec73d63e1cbd724cf790baecde5b7f6a1aabfb2d4c3bf34ab5bcc65bb59bd569e09e885946a5f8a71c51f9169607c89bf19383d004689793f0813177c5a62c6435c86cc1015d2f3472f4570faa547f995b2ba992fa61c068f06636fbcde7541f0932eb3638c9ff6fc65f395f22101da74311059f0afa74e0a9a9ef55efb5be77bd97722fa932f62c831a4f4a8b4d4aee0ed416887dd07b20b68d058502afb52cf78e169f18df18beb0be241cc3b71888900d34178b178bbd547b5195b147196278a0860e5eee0ea862cb82a0004fed7d7f68f0bf38eb9361641abe60b2c827a50f2f1c765497a106d3e94fab3c9906bc011a1647c9b4e38ea0a891383a6a5e6167618bbb86c34efcfba3758943dc03d40ad591aa7c01b899a037ac44d6b1a26d410aabd8117b95717ad8eba70bdf39079998efbca74baab6812a7a1271570591a7dda70432992d2d26e8bf30954e8fa8e471a6545b93130fac73fa8ed07136cac5f670b380b9d2f70b6150c730773f2453f34c10b9ec9b9add1c3286cf362945234186233d98631d16525f78a3fbf65853bbb328c1842076172dab3ed5dd43f869904cc263fd1f8cfb57b8fc5ef051c48ade0af7b3ba4cd7f1e11d01923d7bc6817ffbbe21591e438c3383f05cb3a71bdbe3cf0003b7e9136029945b6c14fc9830e12ef136b19bf3c0d1dac0c5f3572f1c1bac7364d6a0cd2aa881bb111f0d0edfcfe04267369f554597140b8f9a87e7f382115257cae65566715003f3056a1243caeda4355032a25eced02d6305549c17dfeeb85645f2821b31974577ed26a432fc366871f5658392720d5898c13224c7c311038ae530cde6d6b834e8d6016e0ac87732e316a6d6df36a782322fbe3b65ebc3efde2105c2512f036d90e813dd2a22680c4aa4cb168cd238cdbb1c2304241d1da61747b7724b91d180e6747199eec7c473ad3e97bd455f208336cda1a7b983d9b5a07d2fb49ba8b41c774224a06ea440a077f92ea450927e124609f5cb4fd8e586c1756dd8fad4d57af1514bf2d5c5a98b2eeb537e3e825aa524ef2192e3f889e28776713a223af811e34e4340c936371c1be5eaacb607709174c4264c1464007c0525b3227f5ab6f8d9dd945e333e6fc1d3ea9e29699f5af0b36f2d378e4ae890677d132df3356832743b6b6cb8f5634c21c0803a48a92f08a001fe5c9d95a94f8b92fe3d541aef9a387d060c2b8b15c61c93920d6b8d3a0f98ea0c5a27ad66722aa032c710c87e95da895be4d714d5ef839267857ceb18c08f524f0824a7cc35d71ae70414824dfda4d62c72b09034fd5bce047e4eaaaf366e44f44d4e322c657ed2c0ca5c696778584cd7fa41cd6cfd2a3c686a57871b71696f3c70292385ba1136093743e001dbbc43c632c93e2c7d50f9c9af065e8ddc956e7c209f4eadc21b7530edaa7a1548fa57ce1707face7d59f05d8f4b5cc1b506793d451108483cf721e4834a97b97196a8e7423ab0c89fc12d83a4174d3c76bec4bf2880145f677c1a6802b5db3cb9beb20d0b908c5f499b7fed626c3239d326b6488df406d672e2873e707ceb69ef9973431c76141306ce8896f3179d46a19af264a2643ccd9baceaa269bca0e1abba8d4314b8417b6ee71bbfc66d746711b028fac14ff6a6fc090783e6d7648477089f9706d74678262e4149ff1262f2653cbcbc917d3fce5989e2a24eac0cfa9c9e8aabfb383d94118f84c240cdf310db89cd5706a4429690d0c666b7a5ef32b4c036b62f255847b217a9d71212f64f65053355889a358b027d35a3c31c1d7c89295eececd3da2e755c0bfaba6c914163808bfd7ee16706a4c91d742881aff0f5033fd2845f044f47929754b4a93b8630c482835ff784c0c775268b81f4ca526c3046d80841ea276dc521354da6ef0f73718ee66a25250c76ee1d003a4c83b186d9914c64a2a8de129340b5edcaf9a7d991db406cd5e33e4b3e4cfdc8a35030b038f4181ff222fa874f5dcf71f71644b49fe5c77ec7fd87401611adce8a81c172d1dd6a5ce0bc0c32808953a52d5c1b17d9c880c8d752ddf2fe2464d57e9e2ba4f7b013a1e49b36155f4b778e55fc0003947cb1500f2cf2ea81930aa70e0a4d44e5538a89f789bd957cae45f17c23f2ce3dbcca627e3d35687487ab22c10eb207c7669c78ec35c10921395fa1f4f9236ae02618dccb398af22fc13b5be1b08273693849524768f17bb85c6b5afa66b7b2c505e340e02cf54e73fd4de43559e2e465b6fa8f04cfe8ea3e4581a55e2cd74e1cb6a6cc8cc5844eb0c0b0554eb2413564e5a078dab23d128473bfbb12e96f44be6faadecfd7a9a093ad9b046043b6d48c6add0fed39c9f20e2d7f32b19cec4a8ed544ea3040ace91710d9cfde8dd8cd1df0376ff21572d53fadf85b375380c25788e63b64ee8fec3e8a870184f4f17e2f84f0ab77a9f467c96e38a0aa22252b4b4d63785a6e0adb2c56c677d96c56fabc1280d623694cf72a0b57b19144cc69024f6c7c057b8d50b7ac8ec65b174acf667d1a384885ed2412a84e37172f8d367488e662659ef7f724b66257cc08809c53d700876f28ac5b654ad35d0536d988e201056f9b35d0130e3b5e0f789cdda9c97033805d996c2bfda5a183d92da4625b23606997b9394438b2dd4934f6c14f0387ce15a4f6242d9922bac820dbca079bb6e44d465da11457a21a904d5ee73932f7843a835fc3725d863bf89fc80c590d2169b2175254d1d40e20b8bdd83234d6e79bd856e0438e1d132631e28102a5fa342246b1cb0776df808c7c37c491c0279361464800b82340fc8f191d38b9526a2b9ff91a2b5fae6ac9e0dd51abf17c5f43b97261e38400de2b79938e29cb0af04f90eeb38fb47f822c1f96f4ce11afc36508d2b5d0f040698d3eb74c6a807f827ba498cd3c40ee6bc71161337decdbc53b33ba05385d98029585571fde1b135971d25e8b6693846623a867536bfddd9a31ce32aba8a9885728f0e99de395ca109040186dc59262cf420cbd2501d271a7425065d8b9ba403176f9cb219c9319683fdc1e6304bcabca47a95e4441a7781e2127b27b8a62d705507c87044ee261257e80492bb1c104766dd48798e74df46d85f3dea27067ff882c4ae93e383fb008942d46c8f3c0f2e5cd6393aef1e130b7ddae33abcfe0881e45a9adb32c46fc6ea10d36d0f6dff04acd2fbd156277c3ebf8307cbd6eb2d6962389ebb25ec345a701bfcd864aaa33f0611e4c600c5917d668780d7bc48925fc262b3b707ebaa5e99a1bdb99678d7108ccd627e0bac1a2a911be6ac280eebf47da9549bf57b84ec777d1cd0faae59e8b0848650ed66fa964b581cd37262bd39e14ab9ab574d08e4b5d821fa9748de1f87647d7e8db29daa95e49647b072de25536d00610b7767df646218ef29ea12c2322e6bfc0094c095aba46366e13777c3ddde8415104ee2b801a70a02dfb26b92f06da466ebc4c4dd9774cd069f60115f99c85826e1d6d495e8804ddba49d3cdfb5d8e30d188d8c26991930f3889bbbff1ffd9751041a9bd8274bec4d255cf2e1bf985f75703cc1885ded857a744a3e3f95a32c0f72e4deb781065db78b3b63153c04f4058bf4cfab350ddb2b7649d1ebd45a79884c95330d0ff5c6729a5d98a2306f89e444cb9849a934969a35ca0aa70727f74d72cccd5cb0e7c8053422d097def3fccc4d806b94c5636fd4a93d75a64fcf11b66c809087bfd270a2dd7d1bb29422c9f2d64dedb75baafa5b8d299e57bda8e3bbb7e6fad3a4de61658d6e9de002b6159372c49f55b826ca94d64dd63009967969a1d0e056dafa8432ee5e849407c6dc1fa4946ee6b0b754244a9bfb6a895fe4bae6b435b72525a6598607b3edbe1b080aa262de7cd0f560ccc1c75ea202e72c4446235182a00bbf948604b02e8979ded7d876d5c98555582c2e6be71f950804f0eabe2f55a17e7c2ed2e40ae168a5814a21ee495ed0cc756520276666d3c65391652d68f8baf317786b43ccc47bf167e4a29026e42d58471c63f74f55ed58d77e4615d3869400aa3ec2556f7bb297cd414a17ab2410f695c2c66d9a701f8511863cc5aaf105de0700af87f2242dcd0affe36a241c9c448e130d5325dbf97191e5fae2012c54ea4b040019a18d029d2857950bf27d014720959ed6dc17e101e6a4e0e795d65932daeab6623bca4b779b950f5862b197dcdf8885876e52608e42b5640ed58d03954e52df37513b83668d2fe3cbe45020c7361d699c55c85a18dca7d34e1ffd3e75d4cd625726d50d2f6aed8fc53a0ab8f076b969e9cd242df8f91ab91bba4637ec71af65d5c6ae129ae35c74ec1d95f73b0c0404e0e1101675a41d238c9b18abbdc54799b2a9bd4c747ffbce1a15aff9e8ff7877df6c32ff97139ccd64b864db7e8859294dbc049f97832d9355d15053185b3c289536d2c72f30193db33165007c341293e9ec9cfd8f3449c2d345b3fff0ccd862c04a603c6720e49f86e01e6dfa277ccad4be4fa41872468bfcf3e31e19665205029f7f161c2a6bcc9441f5a71b452011f332a0dc022bf6014dbf5eff96be2b9960e8bf3313a282d29ec5a247485f9ba44684a02001fc7399a43bec83dd111f050a42a72ecb3d9c6a88346bca04dbdc3952657f2a6caff1e778bd397f027768dad46b4aa01e24151f3bd7980b3f92a36a4699840decb9fd6de3dbe0a47a647c4c9669d493de0c6d63ddec237442aa15399adafb831a6dbe231334697d9ba84ae62a472746ded718fa6889f5a13808e70060f2ff3b77a8cd99f330a149079c23ff03956e8cddfc7ef1427f288f71a277d0572e82197fe9c3e249c2c578d2800bfcd8e0b22b9f43efa668c05291ace97ba876699573f4514af975dc72951d5b7c957501f177c16a1ea32075d26e93a0faff0d6467161b16fcdc33e9ed0ad9c54fff794ca2ae67c2c8936db3d0a6116904e6bc176cfa8974fa21403d474c2576a4cbab251295bb90a4e2e22cc3c566bb28dfe61a44bb72048a4746aaec703869441c299e2823f1fce4af3406a5bdc2397ccd00404f7fba98e01121fc24c1ba34fb20b6b6cfd1816e7010394d3073c0ac49132cd44b57ad44d15b474085fb4112762191c033505f2280596d52a4839b27d69d1f34d57744ccef1102a27ddefd807e993f034dc9e3fecfe889ada37c5e53dfcea4858972a6679bb8257b571b845c026cc28ec736c2229e883e75fbf029ebd8075071900a7f3ae20fd40131e73f40e6a440f9986384404e0a8be219d3926f1cda260d4ddfa6bde672e7ffd16ddbc98200a0cae4b29e42567bd3438de4cb5b2370bd6e467b2f169e08c6cf61a7013eab83e20827f58f682688b54bf5162066d353eb6dbfdf108c87c51c61ae116657f0001a179eb3d591f349e9ef9a712ce980df53f24208808f6be7f29521a0d31443e526c00841bd3aa0ecd86ee8c1ae4f564e02ec2405e4d866aa305e3f560a82eca10afcd6138b1507c8cd90c9564884a16660bccf89959da7066193536737e409974a36fa7b3f7e73535e43e6288d783a135238278351ba82f6a884793a13b5183793519aa8d1288d793a11a345aea0f6205106a327a46d88493033cb124109024f9a3fc02e25379ccb818c670de2a9653ce2041fbb174a3c13c2678bd43fb7190ed5a8e895848752c495192b63cbe92eb274c6cd1f034a0020bd46736b68b8fe41e9c811a70ff5a0c00e12ae2dd4dec2b0c2cb1369378dd2da45d470780922db12db2ef5b21f66f876d029ea44a5746c5f9c7e18121590d92e186a68b8a9c0e331e3184213ac979f321339ff5fde3513c2725c4a11e08775fb8997e730a7c338c83db7cd3b44d1d0fca7ee715cea6aa69673cfdac1057c564837613dc196dab41bbada73b90b61933df317f2347a37fc52a21d57fdf48b04796d79186d56ff5bb96b4619c080fb3a10fbaf82eced5e13d0e5f2d441b34e8a50c62250bc044af1f53f30ad4a4c6780cac204a64e65b8a3253b2ce3977d2d2c05a7cb1e68103e834ca5900b4da14f54c92a4eebc802b2f8f54a0aefd70b12c445f0a3621c584a64d52410e65fe91100c4bd3fa86ff2da5339eb30f04405ec8019fcb4e323f7c962b92da175108c2ed28a139acf62be91c7c4d042dc2047f0a4e63a6f474f2620b22f7fc1e71abce08796a71e2c750129714d5b46b2a0b490094c6bbc5d74c6ec2f63ba6be14d7b76c84098c88a9e57d88effba93eff3f915ca0316a51caf28223bc001d8471b8435618043752441058d2fa5dab93ccd27bf81c25c5d92617d40601f8d6e37be908f1862d563acbc8708e23a469840563f8b0d8626d0bd63731305a45288c963f1a1be4e9d3e15946a563913d0316a0fe6060955f1743af6bd2428713cec6bcea3441f8bf12e5734058a7d234473176e3af92918e62f67674ecb227fd912831162127b540512dd2253bb34eff2fdb10fadf566c9e66ec352bdd5e393ae8a5074fff2b512eaf46bef342f41d850e24a2ff026f055711d627d194c477300e4df9b32803dc6dae031666d339b68c68205dfa2267e59a3d6f6a96146f3fb97784083cc92fc8752c65d67bd7d81d686cdbb85d29e2dac7378e76c1a93ae7f62a55a9bd5587f43bfa74f823583a75abef4941b6a0120358b6335c69ec76a8bac46f21a01422b88b308da2b957b5601f7f3e9fd16ad56ea990a4cdcb5930d44d6fa51197595f708e7513df33fcf9c840c75f387c02897cac9c9098f97f9063e9e41689ac60ed9d24ba6b1fa4c67205c29111bf8bb2433493e688aa167244026218dab303b9acbab08320375a1e043a4f2be10a224344fc7e3e1ec1c76ac58c2f74b9a3b17ee890c9685004cc69a0209b62e04806747b14b2ebf83e68f62af8daa3b13cd7c15c36931c3ae072c00249d96d9ed6b931e0ee6fc0ccc0c0da96492440a833e173baaca740ca23acf6aa84ac034a19ec193db3ec5bb20a5db6d9e1916f7af7f6eaa6bc6dd722c85ec550d8a0e067236bafbe0edfba7e6caccdd26a96394588c32db7d5bc097c75a6a766ae8d8841457e83b7d3ed1f86a1b2d69b8a5ba80bceb9ebec4f8b54a067684a052df4645c5b2cd0706b21c8e896ce2567eeb8a3e1ca15d4dd25bb1f3c06874673767f318df7f01172e1d6cdb28828987cd6158e71818340099d2f8a0800f1fc3576034f75d39a39ebbdc5e0bce92fce1e3e40a313c70e18a6c1b8d89e40968f75e5da79f97b94c54b76767699979a85a251516037d86f2910a4fd9c9e154a3741e8889070d106c56d9992ad4f1054fc82339bdb0f13d0fc4ac49899df0ae61276263631e85261968e735ce94011ae0182dc3cbe5eabfabdbd168fda2be494fe8266f41ab86c3b0335fab34a5facbf69697f3214806af4f64c92249c773fdd2c2468a03add6ca28aaa3dd61503775671c9255672d86840c427b74867043f3fdd7d8221f9de40710cf8b9ed6cc75789f17ba5da31448f5770ed8cfa6c652840ffaca7aaa37f222e8f1801d909771fa93b157e6e66d4547314511c8981fe59bd385d65520e1416a9bb13618f8d21940411393ad438ff5fbecf3f8938b2070f1c443c1368d5ecf679506b6bc5ea2c71c48decead4f3075b31d123063633772d40f83e792b7e1640ee407fd014142e8dcd04a1c7d90c8704c31a5d33833cb6d8eb44fce45712c6d6d6dd9d2ac228f9753bfbd3d3a2ff176c129a4ec005999add9b43386f1bbb2ff7006340b4602a7aabe78370e5e3241180bd7fbe8de4d056404322cce1bb7e78ebb20a148b8e3cdc4972b5dfc2ff07695a1ad5af3f4ad4b3cfaac4edc0f088c9836860ea1139a4d3d1e15726a631949b1a87d2ef302eee77ccce1ecf3447ab9749e720e6db1c2de21927f9f0a8c25526652a00da2b38ca42783efeb19b726afb55a304743803ea2302705a30ce424a0782d76d27d1b42f7b5cdefb40442ba591b6d8703c5454a4c1654364bcfef095d21238c86ae7eff33b9b34b90642c0ec3bb565270a9a0310212efe35f1e095fb9e24ee3561c46adb9e344224215beebde596522699641c079d06df06f9a707f6d9c11e40d8ccf260b51db4cd68e39670574907498050703f3802dc1fed571bceef690960b2dcfe8430788f030164f91b0a87d40da00870bfaaebe1af0a9b839e9fd78e9e574f5871b6a03bc2fec0c7e2240e3a9bd5058fb8c1b12e0e2c1263a3702ef804f7834e70dbb81c68046e195831e8c8b2a787a708d6c57105e6faeab8206ce9d2d3d393a5a7f282296e453464f9140c5da24cf3068756a15b9068d1170934e993d507b52b6e656c5e46f06527114c63c648201b64e297e95d649009312559be1bf9913f993e452619c94a4e128a944d56b24ca929838bfe318e9225aa0c7e4943d25d92e5a39082905806179120e3fcc4798ba79d185b8c571dcecdabba1e372ba51c6079f5365d8f95cd368fbb1e362a1cbe64d55f097423abd2c8aa4f753d54132bddd024e347753db045fded7aa04e6fd1e4d35f0984432909125ee5eeb7ae47376da8225f2d71ccace14ade7edaa3bcfddd949098c99ba7110991ed13a1c9f6af043a0026801848c05c59975c7fd6a75d8f6aa768428a8bbe8d5d0f8a95684002e438e2b48d929f21ee6f4a63e71cc19c61d6b8a204e341097626e808a00ef2fcfb58d4a8c122cc195fb208130312281d81e242638918459ecf5d51ab1a2d5092010b234c5451327226cf6f855df2fc9eed47014cdd390d27f29cf8fa9c7dc2134eb8e8b246d21128ae5904b6822e476001050b7468724d2a791221449ed67118b95f86d17835e71735a610811a64a4200d35597ed6f590af0030f06bd2dc4f6b48c2359562384114f35b12e827943286314303152f2500038b18ec2cf9220668d8c0441a53b2268e8c916da0840755690617281d6122cbbf133375bb17a1a2440b2f5ea0600a145cb826953159189900698c2d660f36e430af2bc170c5954b7269be37ff67530d4450dca085c90a268a1831c509992c25f041092cd994244db60d92c02fbc94fbf1156bbe64f937a661c30f1a6734a94a10e4077cd35d0f6bed23a009162411450a885c50c5f5926f414e7ed76629df3eb5ff9a25c867c1febc59d69e7211c3985f0ee400354c31d43e7b4efb2ecd72cc2f6b9f86514326db4cfb60f679c8176aa9bba8a52ea0c51419feabadc5987e39050fea20f2d0a70660c242ff27fad0c71e91b42980ec0b080b9dbbbfb326236006ee9760068ae4ee7cc89c813af675b20c6c0148775164869c3d902e23fbc81918a34fe663ce9fb97e131461835ce4d52fe507f901e74827e262eb8562caf5f3922f04fcd1039401728d2f9e181816d4a94b92b20e10fbf72f68bf48ae8fc1e7f1c38414ea67b5d65a3f4431c92f3a73a8fa9c0e31e884d8424ce55a1f858eb16ba81fbf5a7f287a70caf5dba88f9ac9bdb561c895abff230cfcc25948fd15b8f8da73918bdcd7f97ed9c78fcbbe8333b81bb5dfec6bf1c7fdeb871e44bf3ef620f9f53d2ef5a3dbfadb676558b32ddbbeceb1cbb23885f498c12b5040865504235c6b7d1c255be3eeee60105803ca7cb4609dfed51771d9fcea51b0f9157e1bf089a47ef50da2a0425d19cad5c65d2244904061b502754edd1359bdcee974eab8beab986dbee8f2b6715072517d324a4ad69663c29886924c7d44c696c02f19cb5272594930d127522319a34ce8910c45e8825fd7880b8e080fe7e9d741a1fbf73ad079fa6d115794002c0bcc155dd1f5a36aca21a3c977b41930e48ee362d76354b018f79d46864d3e04ee24cdd44c738a049238ca2c9a46f368224d286a8e72ff4cd2be2ff5c102dc4d521299ae4e823e6696483d52600a2a819be8c712b8894e4539666c4169a71f1e44845583eb87f304118960987cf1c4c5c379605d11ce31a3a8e5c4d3480671dfed450cfb5f594b98f3a4893efded059377cf111c33f7f763948ef592f3704dad2c72bbcdf7cfa279e441a9d8fce8badfdf4b93fb6e9a4533c914f8d545256c1145769212bac06510e526f2f935910c894857f7fd3fb8e04e62846887f34c1df9455a8d0cdb880c3b890492a024d2ae9fa906ec3432144108dc446ab29c812ed04ce442679b8e9d20ab3e23db779ffa8c20f124e3cf08122823dad7dffde9334013055610024588435e202281e8b7ce0451486112d924327868a58952459a3572d220f52462dab2949f0a324c42143f58c23d458a0c359048bbb4ef9722e850490453ee6f4a2552d31a1c22a424fdf24832e9974fa89c4256f020eebb27927c09ce22261d11d1a7e7910ceabe3b8de4692abfd5d02e9a4964d8d388fb8c6cb1f3d14d1f12af2ecafd4c8e64e8c30c7e4da2dc8f820a3c7a876bc670f0c0c51748999523175f18c95c5ff0872aa5066cd680973bb6d06bb8b70c5a499edce3cdc305ee14ace47477570396730c83464c7ed92efb2a4b077920c1114d0bdc378f02cd1462702ac73068a8bc5442eb1d47188d7084ec7a583c068d13966767ac336442689309cd519d82c6866e842298cea4c919c188a23364ee084e6067985a8fafb5384b6c564c9b8beaba5d0fdf955fecdd5527dd3352b68e530c91b474064a7e5da4b0b5c2f7de150b67895652145c0c9b921e4e1919252544a8204f10a911c489a43441ae3c01630b5205690b2d311b840a17251d622a9b5b4b93e489b11c2e3e3ac492a2dba91d611922bf7e8ab028c122c395a4314e2fc0393986495aaa9224454705e31cc3243581026c23c73049482e4842d2485b98a418ec2952a10311b11ff0a6a65bc29b18da1338f3e28484bb2b9cc029295069f076056584125a709663982b2288c115265faed810ad9534ec91e489484fa24c49e212048758120e56c830b2f24507b392c50374e0b2458b73b87860b8190133f0b7941ef6843d2d19b68d548e137c75cf4fcf8fd6ee73d22fec9121f68e18c76e7f094eb9f2a1a5cf0f73833faddc608f969439eef6a723c7586e65eef4998b59ad743a965276b72c82bb69ebeeeef365ad8dbbab668ad6d64f0f6ace9e508671cee9734edbb9bb76dd7da394721ca574bb5a77d3bebbbb534a29d811574a6936e7acee98a6a6757777b73633c866eed88b74ce7913710610a6a54f5a6f589eb7ad5618733643862688937b1cdd4ed59d5227149eb8d5f3d373c80b1c0ec0273fe6682d6563004c43e0a194aa53d9acb8bbbad99a86866ed35053138e96e269eac00079a869082787c7743a9d4ecff1b218ab3ce2c70fe37b53d3d0d0e93d1b75684aa068e306bda133e9743a5d8785876438e9743a9db5233ffc19c24312370d35d1a6a60c70865e4dc39a0807ce69a869287a107d7650c184bb65c7b3b3ec25637faffe18e9ec2cadb671fd69c9318b6daf4f52f6f79a3347f0bb598d539c8db4e968d32915b659c955c7153d4d950d5eddc89b8e37f4346d56f80647e274c4a1a769a31a22c3feb4acea4a50a51a0c73bc2b14b764ce06e8c2cc42914bb6328cdc0d1dccda913b1d77746e7ca523e37f401671c9a549b1205bdbb8dbb974cff17580c81cc19fe8133f66c9114b8e59b69d737a73de948a65b39a94d2f97d71c049296545eaaa6bb3bac1c9f1d5aaebf132943e279d1327c773771bf2460473aeca5f678676e19ccaaf9ba69452153abb09433c8f317e2e6398a3634387eaeccc9d95cd9c13fcc671abe4f92c0f097e7ddc62b3047e9ccfa3e7701c63e4348ebc997335afbbcfa97a17a24f24614a4ffaf5be20955da7ff72f7e9eeeeee3a64e814a5c5b8751c77fde3fc578cfed1e3f497930b738c31ce934f9f734ef7c7a182fba7bbbbc734a81b63b4ce13dddd7196aaaa485d15c3fdf15e2b71b2b8f7e305184c955f98c5c5ca6a3301fc7838b41a7418425970ffd010ab818743213126107344132fc48869b224a689114d8c6872441324242424a42d5ad41023268b1762c460699274c58a932b6232f03c2c369b554a2b97d94d73efbeafe5899ef7de7befbd597237df67f7b7bb9d5ff055e49b76bde1906d51ebdaed9a679fd23abfd86c66372deb626e9fa5b44e7f96576da5b5528a828c76566bea85813cdfe7addc66df5efb5edfeb739dcd39bd4e3b6ba594522699757777af9d655916ab4d8e583b02779766dc2728a38f6794b362c58a152b56aa383169c611b1cd39cdb41f13b05deecc4eff3f26b014db02b47475434629a594524a29a59452b15966399c2e2c4bbb3828cbd23cacb1c05698fa5a2bad5d0e12fb1975ff7f4a9bc0c9c9f1e894135026422e5c0a77d7220321b4ad669a3d853dad1b2cd9751deab53c11b574cc8242a15028142a44fdcb66c9d74acc127deea3c097ccd7b97bfa3c6fcfda64983c5f4ab3d9b7a46e2dcebeb32cc6e618adca9824d36e7895c5d2c162b1e673914e166e268be5516ca7d3689b62e1b4ec862e64cef9458513e2076f0277bfeae2fade8fbaa6cb5ddcbcf7932e8edefbb5ebf4759fb51848dd59e5b4d7bebd37f70b7b5aadf7f067919eb49a6559b649cdc8c336465aa5f70020f2481d5347a4b8d2ead24b70f723dfeedeedeedddeed6114d56f0762f3e46a767b08ff953c17fe2b79ee86ff4afe76e1bf92ef4ee1bf923fa1943c28055fb00454d5fef31fc77c30019b659ccfaafd9840d6e576553bfd04e21628bcd9ac6ea8737ecf39679d6056b7b7acede5eff8ffcc5a967671501a0b67a967691e66a96cba9cb893e3ffac40e4894143603ee4ff67062a81fb57383939decdf13cefa38024c0fd134c6227031ce1bf0e8fe3a9f8eef06747d2ff16ff7936bc0c8cb87af1eac785018402e8dabe0690a5060a451ff9249c0067ed1bb269432dd4435eb80051c3302044911cb9f7379418f623696897492a8d999d9eb3582c168bd50abdfe60a75a1cd363b1fcc851fc2112c83915ec981806ad3be29f60c25b6b33e7fc72dc375d1cbddce72eae5eee932e2ebbf74b6578286b6fdf7640707e4ecb4e96c61e202c15430390ff5db5ee8c5de548ff9c4e7e94b4cf5b7b089a4d91d0c3851ed430740d616c213c929292b20c662b8d18849ebb62593024543a2bd37b0d9b9776b161cec3c4f40d83c11a461bf630a41b4d5e1a6cd03f5fce193a4fd3a64d29f8ceb34306207390a7bfba5b47be7f2c68c0b3130ed0d72610f98e6b766108cd2c19c6ebc2cc4368b612ec9e39705996c72fa7fc2ff3640f51dccce8735b57b3ae87fcf871dc7529a5dfee7bcd4cbf5796e973a71b77e089b39465d9743dfc6de4f7aa40dae57510681477f75aebecee5ee538c1d9ef76ea7019babbcf1d3a40f821edcf0db83f6379f283f9997b4f73107ffad76f1c99854a3dbad7930e10ea20c8307e2a0a1275ea934e6ab5ed76274c55d329469de8a9b371ca65da64b57a50df294c61da17626c224bdd4dad385ba7d3db691918dbf69caddb67eeb98e6ad96af7769dbddca6d9d47a53a7d34ce33630b412e0ce9b6d8dce0e689b666d06268b1c78f6e76e6eba1e5e69f7944c06dc2feb928f8143671b85977bae0bcd72dcdd36cf76c18226d9f449841dafd124b6220329cb7c7a76faecec42353773cf2e5769cf9cb37e33869aa6cd799dd39c762cb31b77b1f3384f0cc7845c8ee3eea65977a799dd2ed74cbdd4b12fec4663a8b96b6fb50e6c608c3eda6b4b32ac0da6ba073ccfe75697cebf417dc623b87f8291e152c7d420a1c8489f7452ab6db7bb18f7d4130ba73e7eeac39fb74386b2331ddd4fcf4f18de546a6a3afa8315abd5c3b5759dbe888b72f6a465f4b6fe391c31eae3ffe80f5cd6cd528ec78e9f9f0e043359c4753f6a60ec807cd62e1865c869947b4eb31c77b74d63799e55815e70b642f5f4079e2b9545ce43d449980cc9e00cc44105f7731a7deeb314455da82fe2cae8cc96c696ed4269d4485d618cc249ba4e1488cc74352b08fe83038204ca7eb2193a4663344a234432849500df9b0b8204a2a73f5d79830513c7546be87edccb09081ef207397b6ffed42eab7305ae1f92329502061ef6b75fb20fe1f224a5a3345d947c48fa347e78c82e92753da243755ae81cfbb1f7fd211149380ed5e221079ad60e2da3d6921c67729891838c9692960eada2560e2d1c5a37b492b46c682169d5d0226ad1d03ad29a21071a39ce681969c9d08a21879a160c2d588e3572a891c3942ddd9e878c1df3470fba96a550248fb5ffca91e37ff623e8454817234d68c8425a0e59602d6262108f33a299f80596188fc8b689c882e8254ac16d36c983229277b1b1b7f6ed910751113fd0808d53b2b545b68a6c1ffc82adcff721db1fab43e4b112b4453e60e0e81524d2673401030c9a5c19d8d12583afb1860b09f92f7bf3ebf39c5d0f9fc2fdebe51419dabfa90500c255411d7f9ccf886e3e1d146ebe7e0589e8387882c4013398f3d857c79004830bb2902a092359fb0fdc90e242027f1117372712af08c5146b96b290ed818aacfd074e665c48e00200e18aff4dc413098472bb260d14b9fa979592adad12b77863b0f5b124552edf619c76412f58a3b9bb1e960049609b7ff9145751a41448913c6edeea4447f5f533b0aa711efb7909d66e8841999a22099423dbb748d10399eddb2d12e8be7dcb454b123df0b734684c5eda0ed9be1da2c390413c6c1769d764fb69c6d82cc0646b95b04d64fb9c7f5951f4b19fa9f1a04c870c89866c331fb2cdd4a8c013a4ab82b5c979ecf3909e41b16f6dc0af4c094ab69f29450f96eca7c09765cac8641bf9952951241f2dd8899cc7bec39c07c685f582bbeced9103eadb229b83c73c26e57b4c02d9e7402ff8658b4a48fd0dd517450e142243fb2c19da975f0b22c4ecc9d03e9014d8828356e00e51a09522430b46f9b82d47f141917aca600eb4efc3c967cb43f5b930ed0b9140dcdbe761dfa6c0974581d73e87bf983de64133f2d0bf4b2ba66cc964db25bb3033f759fcd124195a8a2479ec5b8b3d4691ec6745988af01e648b228f7dfb9cd5200c1c957a6022dbee2deaed5328fd817c6bed9f3e4a840c6d0752a4e8631fac02bf6c912df20bbe2c585494ed77e6820081e998ac815e30fdce61da61e2e28ed85d670f5c7204527f060102f7c7065faf7df6d3da2ea0b30537128ae4ededc6c3e9d76cce899b687233a28727f9f563a5f8d0a9a007241b09700e1a6e0b5689e9acc0aa2aacc072b7f0c004120f46c8c0c3d1133c1ce1aec0aa3478ca16b709c656582b1867d1cc90b2d9a0a407307895a3d20e4828295895a3d20e3820c1a71c9576808900a372543232b37581b91c958cbac8e19204a32c676357d7e2b77765f1cb18cece9328387012665939ca40cad579b26304c5de9892c43202c166c309241da3a3cd6be286910d5d4e52ccc61a14ce15260f06a99b269872b0c0ab2b45384baab836598e6e9638b15261295a2d49a24b6159b259728483a93c51a1b183b2b29442634f5562b84cedaa10a1b438dd2d472715a4b827621d966e9bc2749598e06a4c9c9222b0c512253228bafa3d14136a7ce1be54e9a87052040f4e6cd056806fe4a86484190e720cf34519ed46b97f767717d19441ee4fe1cb34d2467cc9c0081c720685b57316b104cdf32502c2c83279ce35a6b5312aba274b703b42f082ecbf2141464a33001141647f0ba58a9725200449f27db2056d0dc14508a6b821a59325594a29a59df37600022cb22ba00c10186519c53da23444972d47a5219236fb38d0e097cd367259f6011083331b230f69db65edc7966d1f38d9d5bb67f4e9bf1a60815ff3de692bcdaf2134f7c8f0e6219e5fca34b8b8fa5afb9bb57a57fd45f304ad1b4921dbafdf2bccf58328613fa1306719abd67aebdf95d4360ecb505a7f595bed6be0cbab7565c39c812dd08515e83599b5cee9511932e9d19cfe3304190e45c9b408a1623b74e0506bad21c8b0bf7e45c5f28e14ca60eaa3274f3082a173469f0f41861eb6118a1f350bd73c5e40fb2785519d381bd40132413a41a12b74a3fff0975bf5043d2af4e97bb19710459aa00a1e15fc3b5e43af4c0b2a96dd1d3481236109afdb1d48fee4805d7616e73cc15dd99cf9254491b20a5fc4859a8542503293260f91b95670072a964d503ac3250f91f9a34f4fd9363bd1f2ccb18bc084c1e4b7b5cf553b23d01ee5c901edb220910f3cc785f3e802bf662661091f384fabd3d1a77580489f76f7d9b2a594514a992241ec8ba30fa5df8a524a296dea79d6d6b7cf555b57eee0abbe05719de0cdbe975098e7531464e899f685ced3a03fc5b685acbef6adfa69adb4d64845a6a050982798c26733cc79a3f49edd31036fa64edf29ed2ccf701b34c1af99abbf7dcdd9d7371002bfe69d775a175a61be36d47df0b7f47b515c7fab11b0ce33c12c862ccaf1c133b248690826b13541169e89202fc07d8024dcdf592cc5ba70d9e21b5879d26190912111484c8c8a9250408671561046e4852143422ba4b6c069e993d6cc6a1b774f289c52d9ac6e70723c1b37742e6b07c7ff8dffae4700febb167aecbc8fce379eeba61cb79b9a2490142281501f9f022b080d0d798148c3da481375120994faa8faf86dd4471268f5f1e6e337d213281228838f383e7e4b9140fff1fb087eccd102c0c7677dd4e063f8d1c6c71b3b4c63703e7a2f009eef19c0c7ff49dab1e4398f8710644c188621b8f3ad3eef860282d0e06bc5706787f5fdd75201001feb5f48ebf370b02890e35b65e0ad007e786725f47d978587feb33a77088e6fded87921dff80e77de46076466d60e0b7c11c937be5fc7eb80cc7c039c367272bccfeb80cc9c03ce6f7583f1ca46d5338094007830ead45d8edb349b553a0320553f78c04ba302911f26a4e045e462002e1d482ed83dffd1dacf8e1c936e874065d75f420cea40c98b131a10c3f92394c1319c10883c13e32ff214e313c3c933fd5542f6170372985f1dc8ee7d2bd9519e6a084280220428389041ba0cde61b61c459fee9632865112e38a14c3898be10307305a3980d529460e65d4884d4a65c2c42778845084688d2e8c487106125560e0924a1c010597355ed60421435685561105d6ac15a38a2450293002c9139be6e9f87996675b5d8e4a4d9e782c333b78e1451933c490c4887d01174556a429224b155a460a4e5044ab284293b20a255b154cb4cc0915a8b9551839b180450a130848308497311628e20ba518c83081a488264464f952a672546ab2246b392a35415225854c3fccb2e5f7098559aaf2f4d42acf9b3c65eb65e8ee3ddbd7b8075102f74fa1307bebadf358eee79cdab66d1bf8d2346d66a0b7423203101a132054c06249207a379fedfda5b2e0c9cadbfd3a20b65ad796655fbdb84ad1b0722e158cdef4183d19c60d1ce2d9b7e0f1a279d6c09d0018e0178e4a42a42143541262cd2a8dacd103d490a5ed51bff3ec46c8c9157c6d607e17c4afe61105f77331c6e827eae00188e85cade1450f32f055247bd1a7231ab9ca8e1ec42981402003fbcf5f4d3fd16e4e11c1469e30d8923c24fbce3c64ed46b09133f0b5815cc109e20946029c60cf51498831597eebe4a8248414b96f8e4a4220e508a08177725412024a9c72b6eaf41ad24cb8d88a5d0b3de8139105930cbb9bce90521eb518a83251702a47a52056c0048508b00950690421028c83e83a79660a2a081c50b769ca090d1b6e0c35dd4f99d376adc56698ee169c668688bbc2da6b2d2ea34b9032c06cd866475a143695c92e714383905194fd3041524d9cc424872068626aa4ce90190315240d11105ae020678862395ae4e8e0031518ba2357cc80710ab0176cb35827b02491a305194b820c92d2c62d20e4d923696d3272afb1a050f469853db9bb70dcf7b83b29c904274106912079fac180c922f76fe99ee87276a427ad07ee430cba7b8ccd39e78f4b29698c1125c130c2966ce9ee2ebb4829a5ec91fe7466f709566b3d4f4a29e595527677cb1512a59452ba5dee2746eb356cfb1ae6585a269a34933c49db5c08131393b51be582d68464e4f8178841a1bf50f460be3706679194a4239ff8a834cdda28b16333230001000033160000200c0c0744426120881249cdf41e14800d5f963e7058369888635910e3280862208631c610030800c61880185356ac006d96707682026a25191eefa3cf418eeb0bd959316d217141da647a5d7eeadfa4a726dde677c337f5d405a4a013c3260e8fff25f241f7eb642563edb7e42b548f5bc3b59b07a03a57dfbc00c2afb36b05b5d3b1c72d9ebe5cd6c2e68610f5b89c986b8f3b9edba1133918a56a0a3980abc56ee6fa9d61382194b5e8e5383e4dc22b8cdebde56717bcc5124f57292ecc4675a9842d8da3dbb37d30e2eec0950146a1e24b0db8d136dce4063451dd9fac1a0d6a3961186672ac94a09144d99209e0469cac452394446d88af2fb2d4bc7568fb7a2d17865e981d798121d4bf081368c3a22ba603b77ba2bda155cda0b26be1768cd519db1a838b2b6c2e811b4b9d4e9f1e5f0a5116b7f7567dd6e509fba8fb533e49347a65dc44cc1683e63b1e0c1153ffc65e643b372c82b046dcd4ecbe7275eeb14ce77859f03392aa709c4b1bd22449c5208bebe795ccb5e89907b47e712aa4e7133a630dd7a6e465ece1efa9ca63cb8529bcaa25de09ed18f316cb56a7ee42db05b60aff927622f7dbde67524b477947419e5d826ceaaed6f8d1fdbb2859b36e539a0938b363736735bb4821e04b500cc9db9014a1b4014ae7d04b54b20021ca3840653c3f2cd47037bbe2ac567b4bfa8dd3a7f3c5295a4a44bf46e68c8b8ac574acd11a490406d25e019555aa567582043a7ef234fce1bc348d28907953efe98a74a84fe6c64ecae76fcef403f59c19075ac62e9cbd5c111def4fc42d54aaed560339d2996e9d934bd1ec547fe9cdcd41a72fe05dca2e63dfa51b95ab0f80680c5cb619a33785a49119d2447e06af270d85c12631bbb3000dcc4aa1549d44b40b1aa264d2291dc4bc4564124821c3aec2827911596e614894c1e48c3c2b9db1bea9bd91ac93f204c4f850a6071b307638327adf7d83c5412dd4d4b422f6a11cec37945cecdeea8347e201e7419b612b715a0eb76e084db02dad83474913708725c3e39c250b1168350dee273ec9336a0d2849830775526197e6fc2f4890e027deb4e94bbfbb83f16a2241f8499ce171f48762325709c2ec3dd5cc4efe250d07a0b8951f9c8b1354b2a10ba74c146a6335e841150bafa0a729d93f2e0adaa4504347b8cf3958e2d9d940bf0fe22170413132cab9f3c75717d5cfddea17d2ceb608f5bf9bbef047b5441adffb4cea5ee66d5ef85398483c3c3949ce3502a74f7d6f6b547c32d9348ac9609afa3e6a597740874585bcc79d8389045ae102b64eb2ee9ce7b88008a518795edca8e9a2ba5ff0f5ae1d7e8e7d4e0bcf39c7d13a66af4be7632ebfe06c4df3fb917860907fe590400bb1df819752049b61961ed1dcd34a8790825153f8090e62e9cd38b6143b054fd164d4af1e8a5e4647dde2fa844fe0ee2c2138929265f2a9424ecb23de83f04c5b48821fd04ca3fffca4fed85bd9131a394378f3c8d5ac1191c7eead8af8fde4cc4c9f8460e2e3ed4e1da4d0829bf22c5d1a373cf0f31dc08c3262c487eb982e2b908be2be4d075fd60f9571c16d5dcec965c65db7a0d7685ae5ba05b407a5e0ec98a6b5cb2ab8f10c815c1cda70364da0f117ef9cadd81975447babca104f394d40889a91bdb5b1cb52f9f41606709586e5b5754b410aa959cecd2aa56a36a77940b38a0e355cc83c20daeb1809b41c65da5c0550dc58737d40c366191107548496d3415b13277992d47656edba570f43c81913ce212a213ecc8afe0911c12b8ac5a00e2af51c8192aa2c7b6ea07f4041f949da22c1424432222b6d5e76cc46076b4d7414224b69f0f7e14b283575842137628bed56b84ed5cc43561f1c2e9c7e88ae0da64d3020e8d4f32ceeab6feccf549e700d157e85791289f1616f468617dc4959c8524bdc825bbf274a5ada3449958eba216f98aa160bf1a5bbd6c89cf20af1035e34a5883b0e05c86be6aee078bde8dffb5cf291ffded52934ec39dfebe09af213bf8528659ceeab390dd44104b5c8366a035e3a2d0c433ac4c413e03a78c3355b9345e9e70102381ae04c89b242e927f212f4435cdb8e8ac7019b5140c54829dcd5d2f9123fcf507cbdf13a951040119054e12b751850a81e729e20a1aa60c1795421dd3e9eda8a1d6033a89ae1bfa5e8838fc897151c55121785529110086a07d2a594b45e3bf4c8cc09637e4115502a74f755d8221f504772bc220ba4bbde2010832245245604e75f1adb054d408288731ec38550ccd374a3a91ea365168e60395bcf609203a679ea946b7a5991b706471ef9f826caceeac8709e4b32e3cd442d4fb680749b9520f7a60a2e51d6c831671aee702f810d95d5f630766d862aee8a38c73f4a34b4ca605e800f7399eec6f75221f86b12800425c5a9d00f19d640c3fac320250fd2e0e187a81a588c34a41b7e3e26bf5ab4a79f46100044dc48e6e0e415e346f6f24dc3af817edb0924eb0322f946b40906b23fe66be8fefe23f78f0da8fd6ce7561c7f164edcfcd232986842bb99c0f2eec3dee0b29ee96926c502563cdfa1572d8349c808f9d97f1215eb18a922a0f7577e1589ccb6ea0cdaa767c5b9811150e0d09f963303fef6f213bfd5017888bcd73543c7655474e7e86fd522c28c1bc4a86e7f44958a43b75133e9582089160148976f9b8948d8035b8d5010f71a3daa13cb0276dc16a5464149b9d849fc4ff9f843ed28b7d37ae31ce384fd594772151fc03cccc14929a88cb2302539e9c026193d34c639ceec0ddfdf64074e5f2267f6b33fe63fbf03df176e1c1879161a66586ec7d33014cedc805e38312ccd1d93ec380109e8a5cda0349dcd51b797d944d7563cb9cf228a74ccc9a168ab938f0567a69a67824fd62f31124e9fee8146423e07dfa214a8358774b36fd952837d3909157d53987cb2238417c4f1c4dc91ebebb01c2e3a807496d85f042ac171fd8b7c8294cc95b9664bf89f27c1d1d43f532739ad4721227b9382af77e2e484a25ce22d1c8a383d42a0c9413de71c1507beb05f892b8871d7f24eae8a4bb88523fd212e23aed4276aad2d9ce3d1951902e90a97475b6e82fd1dce60e2777bc3dd8195c041f4146200bbe59ac5944929536665568ad3906ce1d425c45aded20c80510e84eea5529f1a4b9cb78f72485d5fad76e8d75084875c6da8c53a703aae5cf020b8d58869ca9f132284831fdc38f009fecf12e07e87f967006f1891923ccbc53413bf5ebb70d6cbac1760697644b59a3f8b523a4f382b3739d30cc77e6d9f7f1290dd3585c396fa5ad47c3746aa4f0c5025148fa4ba4e5be12cd8281db7613068055be7236e751ba7a470ba21d413ce3527522580f96d9d9e93f0dedf788ccf852b8f993865833e1cdfba8573ce995c5f795d99f8fd680b475704571319825f9e30fff4edffccc082c243a0604dbd198830a0168e7e29a91a6f449e6aea605d6af27d6963810da944d44bef222c32578c8dd7407f5cb64d3fd80c7ad6b15abdb926983790d5e8de3581be71acd99e57ee9721cc24993b4c4a829ce06cedb5fd86965d75780ee16c83895113ca3b1fe1c81c060a0838c19d70809ada5c378aa27869f07d22f84415512106b188842888442cc42022222182887f0b874aab79db30533a54f3b01028b480f96c224ade2ed1848f29790743409a2f367df2cf94d5d42a1d8484c839041e20f0b83b613b75bb94e306dbface9ab718ac4ef5a4a64d42aac0b47c92702cf36444120222fc6398a261d969b77050641c70e8a2621cc7d61516c5bb6bd37a9825cfcf30bc347266499c32706f64de657cd78bcdb5f06364e4e92642438b0a1f88893f1715c1e69083669f47311f9e30e5087220149ac6301228c07313b34ddae46c27876aeef55a7554bfdf33133b3fc300ccce3bf790aa115df1cc1e2ed0ad8c0384200ae5ac2b143cc4be75235f93380d1448704a8a3a560611b272fe9eb2135b1c965798279c0d0ca3f72b248d81fbae958f45b6e4606b20b7c297849d0f5b5763890821f6f2bacf160f1c6e99030397c54a0fdb993d6c6064e4139ea08329fd3558b90c5ec2247be46722bc531a61f1d23303cc355ae262d0a3793b396d2a2850181d68290bd0372c5cf9edc7d2333bade9dae48f51c7a775ec81f6c2e85a54b730a4809e2fb293bf4266bae80ed8f92d96b6a22cc0577656cdb8cca414c8b4bd62527ad709bcb7d0fca8d7ce6f31d5fc25a6688cb48856753798a13de1b0634d827cf5a6d6a5f57a2856d80879cddaaead4e7f2c50723fbae6994fdda20ec5e63fbf2ea9ba27a2a64217645655e2211077b2e06c71f17b66e4692a0965d42123bf4247aa82d955b49f0007b2ceb599b9502321d9c06fb363d6754bdb60293160b76c265c5b70d033773215fcdfe4ffc6dee762fbb904db6358a2ba3c1a35334c4f1a2977d1ddcf42b421f4f13f86371d55311bcb572f171bf7f7ec2780b80e5a2a5e916fade818899b8b8d85efdc4bd96fd7e5d8ef372b3d097a1a3b6497fc0e25acc861fd66782b072135cffcabe85c9040c1249d09c0f1ed853f1997b386a77bff788d9301dbd300bdca8a2766bf8c1f9f615c21bf53adf25f245dcebba79ba320b86d110ec9442b866d7b8d5b26b83f9808336f067db061c39f503b5b82e997a498bb6780db121d72f6b1af17526be2c3fe1fe12cb7d09107dfb8950341495923c6e4d6f890d03cd02948073e606dc82a23e9bbeac25266a79fcf8cb11e4060593581b66080f667bf77557f903dc4a5c7f1ef36a7adfff2f16a0d0b835131111ab753cce3f00c597f25431b8893075b0b42e4d9502739b03ef048104a60e86a001e9b88edf6996983ca959f2a686b574a4fcefe05ffcd9268468269043a14691f0fbd3ff7550de0eb9bfa20054b7c666f3a192324cd0c51153b70640de267ce8f299aa085a784a59b2c2a02e009da0a377769c3e5a3258775f50921282832483bdac78bffb8e43a0317e31883d1c40895ebba65a37c3a99e1334c063fd7b264d2106df6b8b4f970fbb5480acf665c2d5882f3671a6cf6df0b15c13c2c03b77e9775fcfd94c27c14a7a4442fc174139803efa608478d77e3872711479dcda26f7a4c27e17e45cdf090d0b141804c07f5e10187a666f9b91475477eaffe4e95381ab4da89d1a0c2c8c49c158af7e06a73240deba5648e32abc2937418d9e1f82276bd8561d72a45f36720195d78d900da28f148ef6d7c182a548618351498ef487e735501e2a4a690e900557eb39d74b3e27bb6a544477e1316a28f154abca1c77ac9b0c54af7149cea320cba3d88abec82f20e474600bc519fbf42d76e7a5c81f0348c02d98b2394082d5eec2b7f317c3d84c80453443331d6947346b890813923a431330358faf00be76da31452d344fa6a86558f759c7d39863b14c7ecab8f6986daaec44cf0999261cdb265065029ac521976698775618be860826fd8b78430d85a0b75d49a31be085353e364772db15e0d07826f47fd13ac96ddf806188da1d22f16a6592f56551411fad1385e369134139f8cc726d80e767f174516014fc63efb24945e46d27673b5f134f47b49d5b11bc7e06a23691fdbb5eecca2600593af7175e939be7fb9196980146499caf7e240fb940250a468cf1799cab9401be2c9e151dd4e0634dfc54f8fe960d4e7b61995339fa7fe1c79f268d66bf2b950240649a2637a2b95e458baa43ea518798e04b18cce742dcaa75f5292e18603f1caa85791694e2cf69c26ba9f6aa994485d4347b10db5dddc08579e86d4cab64d456609c07404a011398d148e6ffd960c9598a3ba000e951cda8e5663ef0857bf6ab3a0b9a2ab0d2f37fe398f7d8da936eef0e6af76a60271736a7fee95e314657af15039dbeb74de8a2650ed9cf2a770bc600557f23b38aa7444c042f42392a740c08b8668402a6f626f11e34e85776d0c9db22451594e41c65a8dfb5608adda693dabac57ed38b5bed2da8f80b123fb877c4fd55d7f40535d3386fe88f189f7c47c9309137e3fc07d3449c43928f14c8c091c4a8fbf3da85ad4fcb3252b4993b3834e8aa9c50b6974d60252903098197ce58c71b1007960602527e910fc5a982b5a4ee54ba784ccbe913562085c0b9abf05154eb0a80ad97d6403fa25d1fbc823ecd7c3d3c7e80903da526ae703f09ca6df93f5b822f9b81842f2fd47379060fe9775a0a652ef857728dc0df67f85df6e50e3dfe02545acaf1f590d4801983cd1c2aa4cc3334f44e0ac0c9a0bdd2e2a76ea8d18e920ea271f0d87233cc8cfe9b6545b6c3d8fc8c93d99c20ab0ee20e3b22a81a310b4d820b402cc6c3e66518f80a615439d3370227367ce5654ef16060f2a1a8faed918244f3ababbbbaec23ff4a9a1df4dd65291e5c4969ba52aafd19f5a1de79678938711948c14234d3f37462546507adff1df2c8118b338d2b143e5cfa0bb33b0c0b65864704a0d24391aa6795c691438625f2b22435828467464ea5325427f4f6b14e6543e7aa0f1d125d4ed1fa8c63ed26fdb4321fdc0a0989cd8182db43d6ca4d92d9a1c80d38e20744d6354fed70eed8c0f71e4e57a8f09cd4cb1d350fef654468fddf0940e2ba7910fa58f19b702542ba34ac5522098691840ad44fbe1b85fe60232d73f58acb66ce2f5fa8901c24b567211344efb8c4609f91369a8b83ccc56144889151cd02930471ccbe5f36c048dabff6f84091388751531159f9d3a530b74b8378b3e7b07a59818df66bb199f9f574795a46501b53f1b8bd86d9064069dd698a93f02fe604f7a0be0cb8eb94f1f4799890307013487cbd0fc0475137a07de3a184e5b15c464695b033de87250ae4effedd5dc70f78a3d7245162ddca3dec1b090d5e826d5f08d5463a65f75315016fd5a656f5443f898cd44431da9fa51e958a54de6a39957e516bb5c51860f67a791083f5b8df3543d785d333315607b1dbb061c94ba6c0bc613970a02d62e73d51bac4867f00ba00dff95bdb07748ad9e55b7516cde067862c795d66dc379dbbcba4b681862025d79a44d35e6c59bdd5174f4cdb7064068c7f53e1e0997ee1174d3451b570d744abc01ec6824d116920f8c495970f5f2ea31bc8ed35b21a83db355dd43c1b25e8f40f04719b048ca2c71c2d0cde7764602102f0b0712569b957b1681fbf84f8b99061576ec860f48f08d9ffb856636e4c5dcbcc9763c582e519c607860e4410ede304e1b76672470aacf077662bc71760be095452e6da3365fd7718bb114c020e9e4f73d9b7084539eec1c1756c65ae163c22b1cf49ee4de96e4a4898283c7c714142a8efc1cf9d82398d1be2737ef19eca61660b344f38fa0120da956905a1bd3bb2008ab89771285c0642b825fe1973c67e30f0101c422aa05c14a064365d80adfa81d861fa9c2604c7db452fd290c9966b306d641b3d7063a4d155e306079906eafb0af1f924ba30ee0cf193bff929d29b62d1f83c4b6e862ee9e3a1120f463c7860c4a21bdc42e4a25f10b3e649dcd6b117394a9d1a16f3c9d2d3be310ac8abe5d3c7b916e6a6fc4bd342ae44fc57929cbdc8d95d5cdb9717e9d1a1e7730bd4071354c3ccf5a645791665b29e06419e61611965ff55200e4fce045a43eab2bb024908959c17fe92f137742c333f39cca5deb50caec39c741a12b46fd33558bd69cccf49955ccfdf96aa121a377d4274164ae45e98c5171594bca7a3f12ea0962c4dd884dcb40029b3f68c158ab235249be436e9e720347f865796d5436ccb801527a0d7edbf083db7a1e36cf9aa22f035999532437edae8fe69f178e21234b8a9276eaa31168b4543fad54482b13c2534dabfe4a484e44a59aa2328732acf3c5961488a63b05b40a47f1aecf0399cee0b00bd2fb5dadae2e20e846eef185fcbb4440e9647f00b8ed8c659449322ba8167fe91ac6c693d099e4e9ab1a2daea6e36e81201fc311ac41935395185e5e28e321e0a0e73225b4bf325ca59e05946933c5a03f15e8dcddbfe15334354bc4a1f820e3811c7d93636ef294da728ba84fac67aba08dbb51aecccb7a374c3fc4a10250c8163c6e26917c372ad33ab85eef094a455744cea4a4ef5b84a0d0ca188d957b2d2fa0a556361df5aa9c8a88b79c4a49e19ad5347c915accb4f90868e0c4333d616ab540eef88c577e944d61a7fe2337fbf54d6cb0de5abf3aaa307b02608ad1cff85b5a4a31d3de0f7dab57b000350cda0d859b5c7ae00182d2f28de53b2f7e1a5193e8edb9b9eab536fb8e38b0f5481aeecf60b0ada796dfd387120e54a729b6512a68e7cc5ee2351db2cd62b7b5226815b2940c75d5ca78e74101f3e058f71318c647c3ba3c9045ef9a1d3a17c0a41fe7c4c80003afda6bb759676df7fb480fe60a3a6e3ce4c6be88c010f4de285b63ed4ba7573fbb794d81921ef0307679f58c4e30ce96c109ddf0e97bea770ceb4972f4f007c634aca500d44609fc4be1afe3127adc2fe679ba7aaf5a1f66d085b56e4ed352cd96aae18bcbc89d96cb5e6e94a8b211e2d4b91408a999a85acbef6e3a37f312bfb0943fe9e37222c0c5196963acb2e9c2598c252fdab0e6dd09b84cdbaf2fee3d02010010f6dcd148e17dee3ea7bd88dfeae69d6fce6c08757eb42e10ab4ae1a2a9ec8bc89cf42c90534bf260d194b9fd7397ecea0bfee2fa639502c250550b9261f1406a8ab23690d313e112d75af7b73928a6846c30fbd28f9ec8442293628880ed1f14081b0afda2c62715ee04c43d117c267ad585dc05066282d4dbaee020fceb6e4a8d5ff41bc2cb2425a11f4434aea9849a836bfdde39782d0958ed9090b4b92d3ce0fee59235ee2b7fc10e22bbc4541c6de17419143bc908e97993541048d3d6c69630a7aacd5f3eb01e99f04e4dd5f404e8e467d2739a7008e87c9e6ad2287d1c246a93c1632774209cb476e2e6cc09fb9f11e7545f8ca353d84966b6f031609eb4ba245f8c625626d9b5e98e88a03890c5100d14438811302e14687d88621fd4a2fce0b3b1655ba93b4aa928a92e46cae1758301a24764a9319aca04cd228a2af03413499588221500cd330f1e88b38ebac762290ba486897c589711c781a217fee5e4693f55eceb76a5d2646cdb86b5460d702807244eaaecf63cf49c492ace1978d24a7dcada0f8aa47016028b2af78d0d2e8ba41af13a17303192a86f86aed3ab393df0863e563e6384924aa3177a9b58b5e559888147902ed4fbd0791056078fc42ee837944fbf0c4c1462d5b0f24147e76991602c300ebb285e184a69bd6278456aa79a9173b496a0bd5ad73b5a90cae06ba1b18dd94f106c6487e5decafaa37f88af34c0371d704770ecb44dd3c3d07aabe40040620cb6ca638b729b7c1c327bbd9d8b1bb1d8c5e592eea5ac537a896cfdd81a3fe190538ebee81aa7d98b907fbc4f62db062c8d6206a85537fe23d7dab3e0013984383bdbf53162e4eb18307ec14074787f887b459c4ba860954cef1abf7eda6a923443d206d3840935c57d3481943bcf410bc5a770afff142aa4429563c518a46cb566ed1ccf780fe1d4a40560e3fa20ca8775a48e48a233cdc515da1978328e94c618b894069a334a1e89383cc5be2bea305716274b73e175bea75cff03726141f7443483979b37fb2483769588d2b1906e05ce649666065f56f092787e462015fbfe4e8a25eff66973aee1e2c72ac14551db2d80c987b3428b5b6b64d600862c85d801008d6ea4d5e74976402d704366731f694b395713bb9d50397f629658eee097a142ad0f572871347be690183259f0ce9cb898b430acb330913c502feed722daccc2b854c4fd271501c8c522d648077080d9d24b97880e9f4354061798af304339901e17c712b3a591433ea709c8f11abf98dafd19b1722b98fda7f8b5ad25032d51c556d8314687a80abf5593bb478f5a98d4b2520b32351107c59c989521846ac8b55cab3d9078dc2729a1f454366369972a0f62c8a3f9a8d8b0ee0ea8a6f89309d05d950147a156f4dd29322ce20ed5ede28e85fc79d6f8961789e87a1d8cb657f0ebdc1dfdf81b7728c37a8d0234f2e2739708960f6a9d9c1bd5bf125c167fc4717e6299baf4d970a1d4a099a360478cc9ceed8c1d132dd1889a953c73181a8ad8aeb5d76206e5b60549be5c5c226bf46eab94b98985ee6767e6b72753913b5ddd76e2e990e559cf7bf15ece964f259ccb59ed0576aed351d995dc5f80065e7a8f65e535c759f3d8a2a56f091a13b1d9214e826e31d3d1c2ddd089beec31ae0f9bc0482ce0124e339bcbacca521455f2c82c032bc9f178a6f820550f931eb0c30d9e676e286deb44ed94923383afd2c6cfa726bcc8ad1266b512f85247a5b28747e686e5b90d8bc017bcfceafcc192970bce61b925d09f0fcda9a7bcbf96505594bc5f2dbbcf9bb5f8e301ef471802d209683e59df8ae7864b1a91096f8bf4ca78aa39dde50965199dd28e908837f02005abd22dc4f20690bfc08166d7da4080fc17e4a63aba5c300263e1f7677db02be0f8250ea8acdd83fcde12c1c535c5832639b856df2e62ce19c00d3c289b748265bce75470e58a41154122ace880137806821fd417b395445017215a248f0b54bc2670e22db0fa81b90e8145e83e96956c9e2451d8c476176d16d90198df4cbc444563cafc741c9ca048048c62c1023f07bc1a23f9a0cdcc4e1a068d1e352c922f05fe2516ee1dff019164d9c8b4d5a17543b5d5f52f3856948899ddedbdd8ca84831d152dc0a2a3162ef1742ef2b2f4109ba97b9dd3ecc8ea53052052caa86d52968dfa5e9bb6a95e871c7e309a95894c467b3ae5eb0e71580acef838c6a48128c433b063b88afc156d6673e779e97ba75cb4e40991fc5e823e01121f91a18d65fe2e91895ab0cb96b870ac25801f69928c9f72e85c4103c84ec311b74a2d65a8a74acd0d70255af47948fca0e58bd8e20519661f32ba6d40024f8c37c83bf2a31398090c9c46068cf705430b9095f03236c3613d97d330e974c720d6b3aacea4f19fdfd70c6ad392a440c5ae3013e989320e14f29086b45b0f1eafa6e9acd1797f84d5e314f5f74030c691bdef38457e790b409dfc4a74ed5216cd04ec2c32e5e5f206ecfac4bbde9be95a5c03f3e94187f2134194d0135db1ca3831ab82371b20c067fe1a7b46761b841952954e852e39c7fba60a9b7905f3b2fc3cf36832cbd17549c3c388e431eada20319e57aeb4d9b6c8c99ffc9b1be3fb96dc39ae2c601a63d101b5c2b77160e590efd11e3c72681df4734e000d5750991ff9f2ae0b4789be9882633eb8f2f0b97bfb8cbbf30f940540d0a53f614bc36ec3df803e6bdff8b298a977766256142aa66b19a4a431c8fddeb47af34b1a0ef2c7e52497ced56271606bd745a0c57f8cb7986e566deaca39c47ca555ad2c0ca17df71ab6075cfa314c30b403b3715b4de0c71f70afc9aa25035de84371ee21a4eb393874e4bb3f29f039b72fdac7ecaf0a2953b1d770a7492a85c49387849c35ab2b809acd953342d2a9a3aab72290e10286e7dc9ac244de2085681897a20de2980a807cd231029d6c0062c5645a797289263d212510ebecff6268dab3430133bd108148d5baca8a530c1dfc19543aaa281306d18ed2a0ddc215ad2cdd028d2033c3b43ab862e9c1a22aacb260d7a3cee48629a7233fe8b96ec095978a597ac099215544dada58c037c36886e906850ef6b1039c78b88063015aa5a3427111365a6b36dc6cf14e2f9135aa0b4469805f3e0144daaeb536ea132a919a4359b8029d2a9f330033fa997780e5faa9ffa0fbf5c2b89c9e18f2c97cfce0f070331674c3c6d2f6c5326e5b0c5610b9d907aac7f2ca9b7142f73f645257e47b424bfdfabe3d82a89f8cde1c298df8f866896714098ca66fd36a8ee2cc9e402d29a06a02a230277c6f22fe114c248c03ed6268c7f99cd7c6616d2ea1d3b54b8a67a7c16727d5087fd2dff1421150d86f7613328d3cf3e75e221f9bedddb5f16a972b4a234a3e65e88b0caf4e7a71b9cf76f6ace4a37c36862c700574259aa1faddff3bc6873f086e6f5d339c7750062a31d7366ddc947927715f99b2299ec570e87f5c6d45c16f3b1eba4c74421d62297853dc5044a78d2ec7596db7c31344afece093e79712bf0730a1c27e6089cd7e75ae22a8d65e828247668e24494dda113280c63b13bd1cf4141bba7b622ef15b65f31afee14550f44f7d701f67870d09aaefd73889258101260c6e01b1771b103145ce191193eaaa6f8579410361b25ccd20a506d2765c38127a539d37c0118e0d589d669be6b36ffe971b405eaf1630243ec4519fe9e90e5a292a1b2e810c829109b943d2ec246a1161a790e7cb89f58b0fa8cddcb90ec9eff7aa8f7e879871cbe67aee75fd60c5e858af5db7a2eeee594eca7f8a51eb4a57a81320139618dbb1ec859a43a23280849b57702f884991a0ce1bfe07420bc91d40915b50041e1c294219835f047c5e79458677442b4d36c142c6f40f3c2981014e8c9856f34f48c2046efe662acfb5692a1157f3a87c0cab45ebeb583db612d59a674627cd22960c82a1f923b84f758ab76f21639a6289eb8124536cef327aacbf627c06597ebc3da93a795aa6912d1e0a36d32bd8d120dbc77e1dd3fde8449638fef81e4a51dfc6332e76df54fb9488d4f43603462a0ffc948c1c65747f8891b6a36303cf5e2c2775842bf6f22ccf35ebd6ad36fc9a5f5291694e4a9fa9887b6dd6ac1b6df8eb2ba8d49cb39a996a459db415556fc4e9f9259598e754da914a449d955daeb2514ec82ba8c49c73b5918a459d68935560c4597f4125a69cd58d542aeeac8dac5a234e7a0baa37e5f4f499ca7127649755609c93790ba4faa62cfbca8312aedd3b600c797ff99acea4ac3e84ebd43e312c9b59634dc6f29ba90b2530619b2e4c32af5ddb815870d0e757d0930faa27a236d7aec6aa29c8a8aa2472d015eead5684d8815874b9d3826317d9c8e4cd6adeb67a8e920ff39045988130a9f0791d9d49bd674e60a0e362d7cac38236bb45dc789159f9309e990e7b38c13ed91113ef4f9a46308965226277107443632aefda812fd2a1be493f28d2197f510bb6181bede766ed50c438b1ea7315c3e210d576ec661154042e47609debb5c5ba2dd30af028d4a281f9e5b9d3ec5f44a622ea29662f0fb8432ba82a16ff3abad35c89b3b858f4afa45d486c58f6be5f25685a00ac059ab684a604889540706ccdf5f2873cf4ddd873ace2d415d2a421b16ca3a65539f7df550160477d9935386cce5c0f51e6e70959d080b4e05190c461f6ac5984824a102baa1abb9a6b583e89a284de57173d64e37dc2274cd3a85439f8a05a9b684615b77b6cb581b11cebe41860f1d1e7cdd49d5a2280dae5c3978ecfd2c5343b4d03a36e40a275e845b04273b6b4e508d9d3a7ea66c3055d1bfe6bfda077d402a3ae75c529863107c1010feb54248f9e690a056ed96291cbcfe2dd704d3016f866930743ab3999b10ff00aced480b8312782259aec18003c497c15980318e9ecab202bf8cfc3cd4d2f071206f124be513ca9bf2a5ca4243a734f030090b420835f8f995b600633472ad012b42491da3348adf05f45f90953007c7e56a0a053951db4cc064ad10a027e98a3ff0e9aa0c82dffdead221d1fc7d2c9a0ecf2fbefc26d5ac058c2c2ef3bb2be3ca9b257396ab07cd498b4f2b17ebf4d452f4de4df672c925cbacc6cdb40188581548c57dfde84a87d1870bc7c2275b5f927affc34d1b07941c49bc860df813ed3424e531b187462b5c3ca8f5cb52b04df6c9e889840c8883eb89f4b09afe67011d92e346b340ba43fb12a7d1508a7f86a197779749e82cdf5e25c0e265a6c568167f9b118e4e00ace05b8bec5e2fe1b096691ab147d55f76f58c3d138830484c1b7bb46340aec6c00480583833c7b4d2698f7fe4f3b48c1767d4bbc5d21b9f3176a8a9bda61d92ee6e6d270d23e20effcb8c7c995780181b78abe2ddd94600ae4a38af33be5946a8ad457f8448d6e2ea11f88d1f08198cb7abbe4fc23c95085cac67c57a91f2086abdd7ed9e5a0a389f72dea2cf84ea91a37418c316417f90706c47be254d70daef44e7d3a456b6785b0bac301f9c28d3b495c2540f544f9cd449272257016aa0d2bec7edcfcd2a171149c7e967fcaaab944fccda187f2159d036e654bc2b77c135092699f37354942399f5f949c46d91c885e9e756c598ac50379cbca0a8636117052fd21afe31020caa24e33946b3456f9ce004e84a57fb2823cc89690095d98449af917c13855fb5cecf0bca80f800dc224c5ab2ab2ef1d39a1d22a6dec1322bb287846972a08db368985b20bae87ce70aba6f8f3e63e902c6baad2b4642362f8043fddc227bec46de3c1dd6a0dac3493d5781aba90a18d8f03ac83d7d3f5a474c0373f9527aee67aa007ef1cf795d4e4fb4d5c5e7e153818d1cf40e3d4040e16af3ec4741a245358d04c4ff645df55367e134bc95e5b6164d2fb3d105f4bd8114307bc4f0c898708ec07edd2a1fd2a904c4ae7e08bde0bf03cf2dfc684082388d4cab8f97057026186bd661e5016431e1c231e22a46238cb305f26b2b2dc2b46d87588cc957c06c7a0cb9a0bcd471b20e78a29a3fe71f4eb2915f050224dd9e1d90efdd91de0c8cc1ff7e965e9e40da3e34248f3d64d068bc549df8a2e4b28a9600160dcf750f6d70e5e92e8609d2991b48bef9777b2893f6958b1d2025a567589436a549d032ae9c5bca298382a1f266384ca810a5f6639735fa29600d828d3bf5902bcd668383e824239897a63643f6abf9832e67954bd9bcba101aeb7ad34919017238019d3ca048772acef5f09e83041091381ca8fcd3a3256650b1361c02ffd32a4ee607a3f636750903162d3eeada7c7df5a0754d63ca37b7b9853a9684e80e7356191f2c9a4d1d0679e8da42fa4ee1abc53d379fa139b43041ac85cd4f1db7f2c94139c1e9ab35c2e21471750947d020595acc0e7f63f9000cdc0d532f0c10fd548179dc3d681d86c6a0fb439c283a0799b5cc05c0886296e124f7d13c349ed8d3e6e600506d97085303625ba436ac6ddfb7a6020e0c8a2679c74b9bf97094f23676cc24822769f30b19e18decfaf5a2f42fe0322650bcc996cacdbb3c738c5736f8a77e463e861e35134a5579abf9457fde828dcc49c8f81910099205396106e8e5add7ab49a7cac3c744555603886984cbbe29f2e8035513d807fe0b23b291e509da4fb787700df04cd804d7bf9e25081c26224e10c7b22b569991243336210c9b1a506a71621c0d3253e0c484a955b42ff8901a68288db0d124d5fae2bee0aa240f4d8af6672e51ea6edd9a4f3d2419508ba32a583e0b766a6ea4a4e3b9548077da60b9e80593d84aea1801f30951a2b8e267da667aa0ddf6feec8013353b7ab687bdad7a61ffab1c8662b8b88692af7f41fed6798cffa1154eabe31b65c3701daef25a6a1fd6633e916a01d4d133b9469c08d8d1a2360bf038e16100dfe8445fe9560bca16ab6f2df1b43895bdd42b9599f5bf7643ca13a67ced35c917ff3a02ca1409f229df3cf1f8d03f1c0ccd68c4f760849714522cfa31ccffff696343e30dec91ffb9a967f0efcc1d2fd160d8071e061f408e44619edf1fc6a4214eea6bfd1501f4abdd44210d1c81337bb6779a30dd5e367850f0c9afab1304e9210d12b131c14f0275ca367e101aefa9e1940d44c6a1cc2ef219a863a02a8fd278df78707536c21b69e4ec9411f9a562c9a208b7d807ea1d07b4d28cdfda8c18afa894f59c9be076d1cc5b928057c15c22d41357f515b9608c7e04c12a73921cd705e36f70801188db91dd63d87d99b20380150c491090883034f2899cf08389d0902f13576ced4d0fcabec8843dba1dc89712c9487e7632949878184b1d422cfb82baaa8874cb498ccf24e1b71f187c567456106c8b20e656a5510c48c7219fe3c95c0f69f6968c4904114efa456b4c67c71c70b4b4dcb1c086552294fb65cfef33ff29f3321484fea09d937bf657fa483cd7829097d912e12c839cf2f585a8489b50ee1dfd4d26e8d88f2f2858fb33c292dfbc30f37b1f1ef1de50f480da0f1208b8e2dbcc96b578190a7e487b91c680b4132d14438046b40b0f6cc2d9290e90f94f78a7f6fd0758633bab17094a1607f3cce6d3854017b106c449fbfe4d8780d2cf7509ed4ef581bbb86675b401aff9361fed25d77a83254ae2e68adddd153e068e57474a3c180f3ab5f01128e238997f1b4a0375015a23b7f9543518ae3000eb95c0c2eec46a2bfa8c890616d20c70079f6d88191a698b103aeac84455b37d31a04e6d8827db4c5344dca0ec91601c3c4ea0328078b8f298be82c2b181041eb8bf280a09fe3cb914954693e6e17ee5802e576b630bee382118211f8177f4282cccfa77040de6535dcf58b1f971dfa5d809b9475c86db98906d73d4d031171577e92a4ab5809e288f065b1d352a51d308fcd7021708283a35cb46bb5a74430fee8b0e5d27cfb458d354880b357dc97a11cef76f20b9a0fd18e65e6e258cae970c5ca68c3d08af40edf4c6f12f4a50bcefe21adf18f8a6004a208e40b925a3e17e72320c414308012f650a7590f828c04132382834570a6f1a326397966fa3e384dd178f18d5908f9aafa0c85ad6626f67f40797d5daf6ef990d7454e881fc6a4ea9cfba7e3a5c9e7022045c0b1ea863f1879068fe1b44e49632085af9be172298d9c3ac194f295e03dff6961c51bf97dc0bbc5f2f200b40a3a354a936d81b4df35f970bf8426c0dad9b722a1f0c0c5902045b3302ff6758aca16b5a3416748009984497be71b3d4bd2ce77f9d93ca996dce893477ebe1d7e3e8fdc5b524d5d10bf0973ce4d8eb624cef42972464643bda6a7734d18605d3459a1195de079a2361de8198deee57de57000cde6202353f051bc7e5fb6570075682212f816095a849795b68d322ee5991e5da73615e314bf4c5062513ae1c05606d2e985412fb93970c4169118507ca6a1d69564c162307d63b2ba98c7da8fa822b0faec817e6abf4775cd3d0433966a450c9c5ec0c6a7925d5257ea878c18b53eebb8df4a07ac55debdc1c17c488bbf59053f60423d5d9a8498c2b1b911f4cd0cc4e01c5269fe328b28293fbca5b8ceada34c975973066bbda3fbb95bc35229a91daf41a98736216435cc6a1ad480e358cfbd949e52b8983d292400b9daef99536fa399727f02233fbb35f1eea9b220565a475c38e7bee2c0e10580c2e5627b0d9d57875ab3a4e21a5b67ea4fef889e80df6487b92925c9ecb0d731f48c2c36aeaf74876948c66694b8678763d3c26dbc042afafeeb6d31b6705fb7cda0d18593adf76b6c926b64160e9d9b996634fed8ec1635073bcb233a429c95b558b29b6e852595c8067ac585956f8a5eb219571586c639bf765a1b65dbcdf54e335ffd31f8b21fdc9c7b7159965bd994048c797ff98cd3af0dba4bb6b240e05f6c20bf0fa1979f9be22df50412b1f10f2616590380105e00d1cc394676addc3a4a9c44ed13906daee25fdf710552950a81889f0099bb591d0804e2d36dcdf5760893b81f16dc28f376ce06c2189a71d45daa935e820502ee0210f404793927d6e5ab56c2de552563e808a7de38dc19eaebb9d3ac3663cfb94457ef12f9586d48da7a413cd99116150010fb01fa666391dbdf16facb45ae800f10589523fe4fafee06d9070847bd61c042f7fa501af2ae54fc61fba352b758360a72a0e206856e7f54b22a5abd7c10a4eb59f98a780a42269d894bccf053614d48a67df1f9c2da495fd3fe88b7915f3922bdc25895f0ae50ff0cc6ae1764f9ecf602633d748830ec8dc5384ec83e4239d936de0701089d6568a16e096bfb81fc1fae17ca10dd7b703eca9d1ad570dd40beaf0f619da1b69a62aaddd2a6ce3783e1277a1fe5a35e13ce8ffcb396d665355a60f1e0646e5ac0df92410bf9a84b847c672f2569851f967cbf37efd3246c60f2c3bb288027f5c42f2d379040d44927808fba7ab882b286b5b01116b36d2055f74149ec4750eb3d22c06f419f546a8beb4007c1ea27948e53b7c142cacb807669ee4d9e08eb14ba08471fad8aefb541fd2e86ecf63e1f3b68c747d23f9eac90fa84bcc87b5c77e2ac846724b768f557d1178aeb3d567cbc2e3a7b0f4c3729f4923e55d57bc88195698228fac1c6057f8d425bb7ea87677013bc11b78ef1389c966049031ae1744bde83f2f820e843d855956c2d1b69583176a39969dd596c6e59dadda1a5084c8905fd03b9d51796be963f79287b8839ba3a2b2409ee538ba58977d921c5b740ca88a3796daab95a181e7329842e297b84daf1b6d30df4973fcac1f95e83dca24f9109984654c577e1cd6ff9522ba53f7b18bcc7d0f652e886f454789aa06c2890973c79f660fb0763e62107d0ef6cfb1dd51cff144ca750211eb81ff3657993238d49137a644b13e224640492e8e8c1134e72015a6627a105494784a21dfbec11534921dcee9578bd5c7565fe10381747aa4614e333377d2cc88808d031c10efce6f9040b2151d923ec0c4d01b91c35f09da89ad9cad047ed715f119e35d3dc32217a3c2a068cc4ca20e022e0c729eafb64ec58489a880f66bfd55a34fbe64c12237bf88e67504f3df93b2b3d7bac263099c76310a020c2e13af5a0f401c1687fc4bdb7387dc695b72da2328f42dc53c06656db324fd14d213003b853236638d21cb380cd43f12ffe3e88a2af4c91163e705a2785f581c56d6640c9c307311210c04c7afee0f0c81a174ee6d593886e443f5c6cf32d1142c3b845bf1fd17bc6d403f0923d6233473c226b68c046bbd55f24ddce21fceceaafc8dce34e4e6a2cdf58cd8b7f23427248d65329e7b1a6618430541fcf134e4a35b087aa7b9884c9e81d9c98bf8edb5d6c2c52388657396a05b7ff4e124b3db04531dc0fc7f82f3dc5d1780a24748894d46f585de28a24eb58b7152b96691c8d52e9422c8e78ae24c835334722dc1add861ac9a07beb345a6d090b8aed8f347c3dc86991c532b27fe4757ee0267d632d75bdffa7309661a65cfd28c26f267ce3bec54c32f6c83397a66456873e4446334dddce0683c4cf45f01b32449d26151af7c5f1c2a9e0c949f9fd538098f063c0acf7096bb321f3317eff09fe5e15cef15a86d98857f4896c2a05a58921d37912fb87e837a1a834eda9e1d07ee758e8dc0c2e465e42ce0b98c5e8c1bea83096ec92ddb067a6252a2cbd110b98d8b9a082f6721d487e08e18b7dce1df42d7e77a0377330498013bc2b5594f60c59af13205959f2ce1bbf242f705514bfbb3f03ccac7a23b85e304ab4aefd95ae9b6bdb7455502237f5f4009233f51a6227e1f6123d998a894a57e1083606d630cb2d720a864850414c5ed06c3e4c549018e5307b54b97af47e7762123bb3a73a1fc4181df19737b5b653bc8289a3aae05e8770ba005d32db395e03639dcb32c596e8654f8005554f41924efc191ffcd0388373a4ad94040c2ebbd391344faae1ab777a44466831d7e66c664d87a68e1312509a3fe937eb20506befdf7b0f3d2134ec7ea4f804309d95581def39d90f8f7594191cfd53138e3ed604de4cc5d18b15f5ca643418afd62e626439114dfe6c5629de6a70f31f43c3189a21309cb4f1888cd6cd9ba520d05bc3c2bca99dd3c7f0d76ae8b8ca6ce238b3c579cbd3b430271d36700c8cad305f2edd1998f7982ef2503a0e20a20540292777f7a6aff91c2fc8ab8640973e713ab54d763653772a3c80808755528d22065bcd283093259f751009a9a6f3b041b139e6bcb3a397abd8b54d0647b9fd12c1492ebec827a6464e35b457c6d2367c102a0a4e13452711ee4bc367fd221dba849713a4ce4200c15dc21907544c6722583c377f087c61737f609d521aacf121d3066a57ed0ea9529f95b63b1d1a639dc4b08866296008240c8a7e2c81f86740692e9d6e3b7314ed13d2221759d04f41116a5734d4abe83d540924f1028eb8af58fb94ee9770c40a3113fac4699e98917fb49fafd236e619f670111d36582586b32c04085cee485c6d6847ca8d86e9f534f103233d946b20b7d9ad745940eb7a9769944f9453e3c3866d04b7538bf235a4efbc517a2f49c65e65c7f1a18a21d2e516cedbf0f86f78ea204795849fdb2876098f4335b94260f2c713ab28fa5650c4e74b9a6e923b54d9737ac7d11ee16817c3cdad9342e7e2d94d802511eb8d85728d8665a51400a0e7cabcb6f30da86a039724a2869f5e7e9616c685d4c29e0d5210ca7f57137b35e49dab5f48768e8f804020b185088b9585b510e81f8f45a3cd912eddf3e409096439f7261093f14e4bac9a5259de150fce6ac1dece446f801674a4a60599a516e4d7125a38cb42b05f807b37bd671ab1afca87d133fdfdaf15d4da343bd26e7be730cb8e4c7022d7845a40ce66b2b69689f293714104dde033e97c9b071d29a2a58d13bc198d5d4fbd6ed5a48d3678441142c2badc793d24f9a45004e54418492e4644ed4522b2e554d8943102296f5826301592a8b76e37cd19254b302497e811d3ba385693f3b6d0dc37f1a7c6074094e03a9f7cd181ebf7f28ffe8c18c7560a398d180d374dc1fbc7b460c2d4ac172cad735d1ecee2a6f444cdd890abb9a8ada3aeac8b6b868dbfe5709ea8318ab588be7ebe84c880cda4a06125515073478b981e1f86615ddf90fe5537ba5b8cf229c01091aa7c512179a7c1e281244073fe6299e520d8d11b7c3086bf5f740cafc2589d099d4458db0600126e01a81eb42612f6fac9296c8bf8cb364fc1cedaf940c0c8423b0caa7b1f8db1700cf1e89328f53eeccd76bc50e57d1c344afd3a1bf506d94ac0daa83d4e6da509cdb1f4d8349ad040ccd388aa1a7ff4073c2c80bde13cfc277a879430cf778f9def6986a129297256c3847313596f237c931e1730dba5889aa1c019b70b18949faf18d85aee7bbcb071ad49fe523e5405f984300d2b490f7e70ec7c5555b12038a0f53a32a9e477bd3e0508ff1054497fba62d2d01828c3d552d2adaac8d18269296c794b7481876fe3185008cc01e5448d13754cbb59ead5c1ba7b7ca5ee0f37e7ca64bc11da02da9243304d0c96c88e806a72592d9f411f0692bf12744ebcef9c826199793599322ba94fa8091ec25055731d9e4c16ccff2cdc991ceff131c873f27fc74f1c7ccad941884d521a4f19cf2279974ec94f59908b89eeeed1253d12f63c2eb481a521b5da29041c4f959c1ed96139500e7c837b1e4896e5ded053a875ad944dbbcba996b48a9e81c35c910ebc8461c7a57e59f78a5005076f116a5fc36e66f940cf434a66f7bb6047e581af7a83606075d047d68f85a20371a1f12c0990bd4c621bee435d8229cfb547817d0a6d559ebff175c626cdb5dec760d71ac6cdad5bcec7095c2520451f7d8058fc860507a61dd91c4541eabdddc905aeb29faaf213b882c31ac2b32acff63275f82fd1f1694751611b1d2157111f2b52dcc068f60a8166cfd8aba799a1a98548ba637330005f2d364aefa6bbc51a0ef540fb1ac343b95675aa624e7e8c45f2cb4935f742acaea0ab2d15b9e43385c2cf5468277e281fb94c3e7e2876b71295dac06ae4bf4b865555221cd8146868c127eab334b7cfc64db2ed38bb2f8470e355cf6c5d389f7603be6147ea6c40aa82ba94616049b722eaa23ad3e35404fe6a92f6ea600d062fe392a8953bf8900fc382a68844e248624b95ffaebcec9586cb72d32f95c6a7863660767e36c221007d7f288326be064aeb86c5e6b93c02c4e83c238037d1f22cfa929753b215f0d0aa729c44223ecea7fbb2775fe2001de11e572e0aea32d70a338dd2f48ad65a3d6ebf10f64b76b497d8a8d2a85756512a34235f155bef50cda39ec19168f453788964be6af1f384810470b7c35e794235f378c63e097cdfa9ea7fb91e0bcce9b855881b7f1513a3176a466d735a5fa48c4f2ab625932e2475d6921082eb39d0aeaf8410382db50115aa408408b08ca7ad99d7ce07b77e8ee57e2614edec95932ad76f461abfc331b09dd063a49047795d23b33079f2a7f75b85c3299cbd7db626605fbcd19832094ac8eb09203db3690de3a539cacc0d5d13e347af3bd69162067ea1ddd25d83373f9c1ece325f111da412fea29fbcef8d9ebc9438ff4ad84f1d815b9024732568af67a225614c1c3724a0f84b725ce4f3ff0ca6803dbfd1ee7f5e24b45f03f956d22f9c50168156646a08ee6ab92678180fc309b4b2686541993f7ce417c06162344e800db02888f138a9c3b7da5995dc0e2ae35e062e03be0927147212afd831d114e256e5e184cae3f670c2dd88d42874242209700895c08b34d904a62cba041fcc0370c9e1045e98c0b8bd20438713385b37ccbc7b18a2766aec8ee0760f2df54c7ec873fca4e5e104c5af135d3a81710254c661c15cac4c024c0e5c979d69ce48829e6c5308f25c2b269c8a8f05d3c003d49cd5a56afddcc4d5eadbf08b3c9c40557643242ebc3303a6717d0000d33120c8af1d4eb8b8bb98023b1687cccf5f961c646eb74180b04098df4c68a0850a1a623fcf6e9a994febbb2fbb0f0e5501109bf12b338670a77194b4986c13271432edd80a3bbf37817a08504bb3a32da34802be4522b14f58f286e815026849b4d1fc8782af1b4f10c098134ee55a38dc17996dc1b326528463e21749f7f9c8d0396a74020db0058e9758d87b4124a8132e47430522442a87bec49222358599ca4403f226348e0226cae9049ad926ca91d39802972747c5acf84ea39323d442ae5b733ae129212aab3a3966fd0e16b65e19c8b912142853e954cd2f3a748dd27722c6f79ee9edf2feb0bfa5925de6e757359de0c2c7de3dbdc7b1ab8e8b57cf7de735d831dd594587bd2f45721b1d9dec06e850b719dbf2008c05aa4c3e74a29628028b72269942906bb9982d73c22c04ffeb2d736aa76cf09c35ff316ad89375532b59503642c7a42676f109a885c607a95c9ee33e300a247df4e99abc7ae2d608bc06effbc735f19db1d75fed76be634c40adcbc289e904294a08c87606904bffc5cfdf60d8563671aba5c1bf261b74509b036de52b01243d27dd1f5dd80a83c366d33b795dd9cacbf3bc5e75324958f75392fd2683458da88c3439f18cb396f915e8580ad181d3aa259a87a3ecf3126064131fbd7794d0510e7bdd00f5e44ff60419554211e8777eb2bd774e716b23345729473d5e0a923c8564175cc1fad61ee2eb2874ed070a54ea6942713d69de7f6346c7ce370966c815daf47f2439da41f29f4d8a45bd617824cc69c2ded4cfdba8a2063f2a3ec40b54839f7299c7a32d83ec99299327ff73abbeff4f26a5ffc9ac0c9b636ec164373cdfdc489f789befec57fe93750074727764cafa886e6776aeb3f8279ba4ec48f61a6bd386f4f8001bdb602171a8f090651c0bbad007a202dacff662272a94744077fef7b1b3d04cfa047e917b2cf99b7f090d38cc2c4af7fa926fec0000492ee7ae4bba77ddd29f1a7fee4008e0e3bbc9b314020ad857811cc5715eacc466c908848f1b959e0e4ff0afd444f5e45c2d99138baec34631ba3cb3363a65e8975435385c623fd9b34b50683a052fb97b2a199fbfcdf23d3f785a1e2622481cd931e9843ffb627d6787842f05e87d43063e79674462ba70f3961aa356c32085338ba36e67d58e24d4988dc6232c85ba335068a6c0e5aecec6fdbb7a59cbf5a7344fe514b1c1ea21190f29fff53227cb69ffb2baf312fd445cfd4681e05e59b7f57b5ed53c939bd2ec9ea8b1e002742a1aaa22832ec1e7ff6bee0971d59b9f4095c934d7cf20ec49be51dde982f1108f683e25663db966240885bae125bb49f86b94e38a45bbf26381a188b5c632b392baead372be8cc7d64d311dfc7e93de148d1a1af6ec228ac80b847e2622d70d3352891607e867028e982388cf3674ce11396b8820c566b8cd5f3f4df554a5c0b3199b0a8313fe91aed54e062d1b86c92bf6dad1e8f4c3fdf7ba9e70877563c17810040e0a2361c24b2edf06cda15d13901b425dee38bc0522b1a7cc4b4f5bc4c939241e3b66d21aa44f606916dc752df36161632016594c6b9097ab01a01799f86cf8a4572d264f62aea60657fea21653df7561ea41f6146901013a1f3474b4f13c9e4a6740296e0539469c1f18dd618e5797d36842f7c77307a3aafc92f95b0924ebda4e33f064911ee06977fbdca37567ccbd06d0a4049c796f504a061997d64c4d6d5691eaddd669e0e54085d743e1451ece695e400ac020de2bd9ab4b7db8ab32e2816ca21c515579895230a56a65c5512796c12112fd0d05ee8dfcee50b6f26d865246c2e93051549e12d089ec0793dddcab99606e906e7cd25f56e5f498767e5117cb619383514cf2dc3f0d809c750133b929a30f4dbddb136e4e4b2f5572153a8bfac32c353ce8a5024551d4b25c343a1a9836e09c5861b0b18c2c2a5313bc5a6f9378b1b783eb3401bd3888a36e354e2efd98c841701359740fc967074a131766a5b9a44f4eb9cdf1c7d1723464f6d6213dafe13fcf00e9a3ab9d5abbacf02d24edc9fe881fa88ab43082d2b63270f15c17cf0e59b1bd80d5c7f5b8f310a78634dda7165aa80c56bff9dde00ffa0317bf934248c8cd641cb8421c1e2bc292adbeea500d9a045e60b803ceaa0f693a07630e10bf2dc11ad9526f61603d8bed5cdd03e4256c01b7d33cbc0a0c601c63eec3c80fffa00704deebb53447ee49d394e8b50b85d948eb84ce84a917043ea53db6717620d0b87abd1695d11757a49c11908a03ea1059b3edca01bbb8f273b00e685c283ce34c57b24fd993301dc8d048a29c2b50d661e50e918aa86c845d5c3c70a136800e60aae90498d0fbc6db37f54a35bc729f097be3fcf09ee5787e9bd51d0055f07ba347101b79dcde3af5d4713b3d4208ecf10ce8f3140be852f05057391e49741a0d256bed39652e90277d7c71f46000ff114e768d8c4b87b4a3ea190731a8c166e2eee474f3ab2fb407af00d5738ecc57fbe70081a41d2d71953fcf5301581f45324be7eb871d751a07c91a86e80b12be3c0103a431542ed8cb44ecd3a4ca44ceb73e4aefc0c7ae0d89eca487daa91fe456a443c9309e4f7932e829ff9e3fd8808d95f9c831cc73cab6909161b89b434f79ec3dec44036c866025ecb73884ec7a1d9ec9d4c616934cce9c399ad2a1741d3ab8125eaf32755adf7c203f7a09daa2abfe56c875c5f376e1408a58e7002010440825bd3871604b7227b04133bff3d8125488221f2235c6d874b4701ec7722e76d85e1ed1c40c119548adfc18b351e1a15280729a4b207222679906ae4f507fc8e9e9b377541a0e22e745ee022ced88790f367484cdd6c2a55c3a4a21212944da6a27ebfebbd0341af1e82e0d2c5122496435a0872e4672c87d6d9e8027debad381e853e85ec7b315f7dda682a5a3bf86595429e0f487f17fd206b36e7596d0e2e3a4bc2b4df41a32797c6e4bcee130a8c1675ca6130c549e701f6395282fdffcd26a6da17c94144d3f386c3190c9cded36d6b0f3bcd9a593e9319422aad451cb6909434ce96202d721fd6c537f8656108d856eca8ae3083d538a3327a90e719ac110d83d06afb1100ac37da4fb7dcfd9881f62db6800cb25035c4e44fc081cd432deb398bb07d6b77b601465422fc7817cf0c16edccad9e99c8e9fe0489d6281805f197df20a25b8ab186c958952e110c5d96baf14e6cdee967a618d2cd5b8e4351aa560aec909594f98fda21f1779e6405c159146e90aac59eb833c59cb78c1a5bbb8fc101a4a60a6c7720c90e2d6c408c40c97c85a16ff699ccb67ba6052479c05a7c53e4967f12df2b7e74f890810b180f5b86739b4649312bcb4e32c9163215bb98969882e47a4291199dbaaf7dc32044764c329f81f69ea025f90c4a2474b1437191422e16d8c1573e11a0e7694d72d1df9d192c902962dc347b80f8a6658fa67958ab11845044c92654869bc853248e94e6b749a8cb56a25f293fc38ce3d054860eec8a5f02bbcce774c3dcd27dd108697f02a14ab07ec0e29ab4354a530149b5ca9526a363e36b8d199616146e32edb00d7ac5ceed7e82f5706256050a477de0206ea2fc98f0c2b24c9eca7997bc19b22ba7d84f809988d2cb81f9c4b68815c0465e423167e014d1a1b39320bb4010bc1d79685ce9715914c5881e31a798402eda19f4d5a2fc544b4b670161320ea759fbde4914a94f0365cff7a4b4d4fb53e4b975188b4de6d22f05641cc131ccdf11140a2956126fe28fc5beb3d80e023ae1e3126c9f78844e88a6a501312e9318d282259de875ea337312fa268b249abbbc7c4cff420d3b8ca530845f9b67889217ae49d142cc1110b26b7732c031091f0db207a8483a87726213437987d2971a366202082b87ce8424eb07ca157de5dfbe88a9241a8bc337d4927ff6b4d1e4d10f4fe15ccedcbf5a837ccdec4673709d796f033ba0fe4bc27efe55596e9920ce8494269e488195631211b6c690db3d8a47ef12d2ee6302434ef16bfa5d546a577e54d65d734d39afe8fe33d50a4ed1efb1f40dec69ac90df2d0c58bcfa95a622a536db39e147853e71ddcbf8345b2e6863504894cacd0f2d23d726c93b6497d4a2eabcfa0be740ce7e53247cd6f2a8ab2a47fb549b92c157657cb506e93387084b2e4ef8bebb565a67abdcfd3b2eefb5a963e9e9e137a7056c885174defc0cdc6b2f6a2efb5f6124a689d6d0d2f0ab89e175f98ce152b6bd0ea6b5766e381477aef5c2e212bbe76adf736ddcf1da76887d4d1a191568b546843230f3fd3779e851e4638d983fff7d0aa19ccd420e553a0d717ae638fd73deaaa3ac2b72765a0fa6336b802a6d682736ec4d7673200857dda528812ecaec23204725760d95ac52e6b995e832aff6fa9a996a1505a85da486d06dbaa0add20b13fb74c161adb7a5bf2ac74c19019a6a55de0bc6fb8e9394456b38226283942b5d80dc98d7eb4e3d9819c17b0998aeca4f6a6f417904279cd4866268dbad5271adb8aac5e2199e7a2e1fd3054ccbf63f9ee89a849802cadc67634f0c84074bf47c5b7286ace599350d1946e1809acdb029a04a26a5d304c429b0e252b5ed057ff9f23c8088c2dc5cd8e657d7fdbb7c3bd3f0e9d28ed4d672c2bd8c8bee6bc4656c3d161e0fda30fe7edd1032018e7cb5541ee50e1ada0823380607e861906aaa1bd84d7078190202fddc8eeb6e5de52ca94649c0675064706f389e0b2ab40355581f27a7204d39024cfa6229c8524cf9fcf94e7bf9030e1b2af968c04d9a145d590224a3579e68aac50e23c8964e980e7f7111125f381e4f939e0a23c89f27c9b98f9630e670997332bcf2f2f0e2d78fe35c2e7c9e7298b6a650c9e3d5401308427f8f5320ffef73c3abb66fec9e5c4c21fc30a2a41c87b5eefb2b1f491655d77a5fb58b77a2ad7ae5dbbf65727cfeb6ea4dcdf4359b5be1763dadf3dec81a84c7c7d8b32df953f55fa9027c162b018ec815c461c410461c2509a8d3dfa0a8ec86b2401062b2aac1e0ab21ce0f02f0184a981680b5fb4859e680b479d296af790f7c8b27f134d0d44a00d422f0ca7bc2c65afa1d75456584564ffa012bc67032763cc1cc28f93de13c3490d6418a1af64f0c1167f64baabdd75fd4452172f5ded1bfedcfff11ef2bbabdd75ed845117265d6d3cc3ae7f4185bf77ebc12bb9abf723f495ecfde78d65cdde875fc5d2231a41560f573b58d91aa6963c3d71c244aef3ca6f21abc855cc4f7fdf227d0fe44133186433088eb6faad1187ad5e0e82c0efc41b89e735cd2a43408c5e524254c94b705d867a3013972ba72ec87b6a444466efb39188ec5f730eb0707d2bc258c187d20c4fe484dc8002111c49e005235853609a085203ce9fe4d1f96f4efad4b182ffbba88da68f06a03c11d564c2152f25409a3e1300c205ab199a9488c1a2f312ee878af90fedfcd8ee5e2d607f7fff4efcd35a6b6da5b68edfb40631783e052204096e5250425cefe916e288dcad049120504ef0c0972cb88e524486204ba804c9419180ec5043434326cce07a80caf491e0d0811c121ea27c4021531f9664fa3af47758c8f479dc07d38f015495292cd3dc0f58993e07de83337d1c44997e8e1a704a993e08de3393690e88249349a64fc2501e40a65f020f445de43d33e7e44394d18f4cbf8f682e88215408a74c5fbdb494bb3ac1520593589e5fde1228c0020aac7e2819b1440a70d5c70f2f3061440d5060551981ab43e4faed6442aeb8fa1d65a5a9dacbd4a0c19699d0640448a4c82243566371430c32fe3f82fb54dc971384288942092a4e54e1ea5873c010ce4a3c799f8302d5a03e13873304931306cdf1de96c3fbeee9f41ec877bc1da53b0af5c0754f762adfaf01d4af1feb4473eedb26d83f60e2604db057828df6c936d5a039dd52eec4d287f215bb97488da8ad1b7110f96002016ee288f4bffe8588e468bdeb85880811c911be46a11d9a737f14728d93e6b446a1fb7e3f1cf13796b5f79f38f0cb9dd1d68df7a911cdb98f41178ce3be07f7774c1f11565802863024c0c24a11b8fb214c9f0fc07459d2720313162cb8fb2dd1450ca0605b0effd6fbb7feda1e3071441ed09cfb3868ce7d9b0d07f80f98381002e30e9a733fdfa7477d80cef7eb101da245d467e2ee3be0043c717408184c60849bb889b34834e7be07052ee950bed6dd03a2b61ec8ef7ba2500f9c27dafcc3f781fb449b7b9fa3f5debb8f39be0f4721209a43fff3f7de070efcc496b863eb845aa3ad1b1ffceec151884837e600ff1b855e68d21c3a73803843b07d1e9d45dcc4b5fe8ef72ffd0ebf896bd972b4bef53e70de83ef03f713067d0a5e1187071b383d7dd972505ceb3b2bb546a11eb8cf8ab8fb015cc7b29ff254f5da046ca7d6bb79cad0d8c043d298e74f1e8c72b7c8b3c513dce4f9df5425f7835ed393dcefa2bf5d349e7e989367cec892dcb63ca9eb884cd77c2efa6095d15494db36d12043c7182359fd4df055d331c64897dc0f360d49d631c6080eb91fc87d460e4e9eb9224b72bfccc809b33cdf8d04c92d43c718261572c78a54d159abcfbc4a1ed9694a4c62bac80ab9bf829aa59a4bc7182ccb3347a46a262bf78bb43c733b5411ea1883fd678e884b868e31f896678ea987569e6ffb748c2172d4c2a5630c1ef3cc31e5727fd53186694875f5ebf57ab55ef7e5c94c0b7a67f37a85af17ad69ff96975a6badb562985b773b9d52af3d80edde5ef7dd9fda77f1539f89a3b6feffbbff933b3fd9ffa97a65e193a9e99933bffb1b1aad64857106616b35b373b0b3d7b7a28b9d1bc9e73a51b0e472e769072a2d28ca1d5814d895676e072704c8538acb0d4ea08d47a6c0bc7acafe3de79c73ce9fb7d903a4edde150670dea8d3d07b6618d21a7200ac7552eade350aa0adfedd84d22820a516d74e6b9d4ea96d02eda474d2b6cde86c270c4aebac4ea9ed984c0564e159d61ce60a9cc3149fa3f024973b3f702dcf5c0e47a8c4d02202cfe499cba1e8098cbfbb04a6e65ef0521f70dc91aa5102ff82e365124bf201868387291a644f370430cab3b3f37324e9c892dd795f4ac1c37b71d3135612e3c261e44a890b0c4753160e75e499309a8e218040e3089e469404f6c1d91de480ab536badc551824b6f2adf9158efb19fc10bd8999c24edd7d8829d89f738712816eabe7db75f03090c7a93e7d80a830bfe1e4806dcb99c5d71e29aa439f6eff834c7bebb6cc06cc0a0f2d7a537d690c1767338e3055cce3caa1a38dcec5013867dcf56a78ac4c9196270e94bd9daf72567eaf26c264eda0e72c0967e3bd1fc406eb3ac17fb4d650543e929b2df4cd68798649b24db277b88123d09d4c7e2ec779107f67784601f0790fd1a3fd9ee646badad494edaa6da64bf3ad9af4ff6ab13cff3caec3c7772244e5a6bffbb366fb62505bc806711ecd37abfdbdddd3f73d779dd77cba765cdb599f7deb516c8dbfefc9fd9fad6ac03856758511f08b0bff655531b25f21eea4e87bcc7abb8159f722bf7e258598e052d729fdd8434c3c991cce94e8ec4490ab6e84eb36b6faf80cd3e8e30474f624725cf1b1d8a521f87f21cea490ee5501ee54dee94a41dca9b983439f5f7dfce5edfbe2309c9f47d88f7b8a0ac28d50f0d0d0d416926de49e8fb10ee8a29d3af611266b635280e0fe803edd0ff2133fd4c8f80644a8471edc90c90b01d438782e5262795ee2b79ef514ede11bb9323e1002e6fd32b13398c265c9b3949e3082eaf6b46fff42854a492e459951b466d4dbb7dda0bd4941293451cfd1cf43d90f2e292b292e907b5d7a7d302f56978ae1d28e19b30b8dcc9f441f0f637f7eee624fd1757707d200ad27fdd0772db75a38e93f48e4adf182386c7a055993e10e892d155e5a74f73965169d01cc349fa0690c2e5ff8dacf56f38d6bfe29c95e7676a3035f872fd5a734a5966484abf145cde29862ebac306acd10497736a07f5c931a364f4c86dc304fc419d3c706ecd6eef53305ea0e6d62882f7ddccdd4b1de5f93d82086001cf9c940db99c511f80a1f761188e6550cde07b9063fca04b7aa3c4df7cfb393cf8808e41d57e673f877fd0a32ddb68f64067061a2ae07232e1a00650083b4a804b9becf7468e3466ee7f9b684306ec60834b5de3f05ac761a595babbdbb0d2eef0ab09b09d56db79d7d5b95e36045b2f58b5ad8f5e18a6d4734a433a6b58ed576f58c370c2e88b056cf5e797faa5d8ab4e9f8e9d9dd46d573d7abb8ed6cedab152ffaa7b78bdbabb4c0a5530c9419ea70b500808b630f61b7661a5b655c3efb3156cd17bab576988f3c2e917e709d1b07a7fff7a204601d8fa305029f61e57fdf66f576dd5f0cb40672bd8725aabf77c93ac3febb77f5b0c64ff0ee98330b035433badb6f3eed760cba656b360f8616ba9676bb75caf7ac3fa75f70b2f0c5b2c53c1eec62eee5e5b3b26bb2ebb613fadf7bfff6e57856ad8faae07fe1052e0f9b228d00454c438619a29c223300dca2b0a761561035307a8bc60850a0a97b6c546e655549989228c5d35cd88b891b94216654305b80aa358d4064498930cd5cdab0a6e22099beb0125b0823541c4267c0056d2eb36f1011720cfcece4f9827d70e1562cb8a22264c50e5071b314939265cb83101d2189bab212a166401e1c28adc94239c2b2b31362ba69eb80193836a32734596dfd0c004b564052a0420d31826a4501501c515440a9219a4c4d082140fe026961883bf2c8165892839794ae5a05862c7ea7f6a4cfc50efc5629225fb3779cade444cbee0881a724744911d09a799ecffda61228612290c9698e0c2d37de6eeeeeefee347761a9cbbb5ed2ed7a4ca1de5c07d6e9ed34f29a54d24534aa7884250ab1eed6c12295849620a147033092dd9c91323d9ff369f5891fd797e4ec8fe31bc0748ca454e09284864f71c94aabce3865c815be140291258c0709283bf17a6d628450420fbdf285f9658d2bd1331c106e7cf81d5e279452c3d1165ffd009ce7f56b3b9913a3b3cf5e788256ec40fd9734c82d005dc7c0827278808925d8a082d59099e5e96115b3a7002142978b1b184892c215cb4286105ce9fb213d921bb0de717dfeaad7a8d029737f7c7e8908892fdfd430c257b136ee69eb050a242f6d7b979cfa439f2640519ece5aaa105e9bd9fd7d5e93d3379cedae9c6064e76ec07e32238cfa43eba42377ac875e396e0ea220640b97181b8ebc61cc1c97e0ae1c5e3647f7d12821d47175c731870f9f902212d60d797ee274c727fed08a6a1fb7156e72ce90b863aa70a1b727f8b2a9c25ddb4ac2db85f56d5354b7d410a6d13d33fe6fa6f3d7477fbcf70d6a5c008370f461dc0fdb413fcc0fd28e07e055081fbb3982e2007f200ee6740bb64ccb6c93347c554b6c9fe0ac8c2f4c9223c73544eb9f3946212439e4ee218c14570d95139b663fd7d439464df48d467872bc9be9c533a3a3de4b3fddfdf4e22c346222252863236a03cd98830c2bc7aca74ec964501ce1b88d304b44f83033888ea904ece393f9c3f9b6fe347f3c9b34f670bec5a9dc8a373c7f8990728ab3b3943fddb38af5806cd6cebbe7ecd3cdd3883aca24e8c1fb2059edac568b618daaf762c470873fd9b001ef0cce5b0c855841822f038e9950848518f37cefb540cf2dc948a9df35273bb2ca54ae0d823c411694a04a48bb270cd7f8610ecdfaf04ce5bd949d447ee3a88e6dab55a6378bba868823fbf8f60dfb06e70246f5d5494ab9295e71379e6aa0cc9e0ec213c735580e4fa364080bdaf31069735d015ba42b18f5a28c92077f80dc28e146557f8927dcc06dac0b102366050b9f5366050793efe89ebdb7281e00339091b6f2be0b28ffae825f2c48855101c81268cfe1e32f66c8d7642c935cb8898e650fa41b4871c39c9843f7737cc5b4fccd084682f7b1fb2f7f1b201273433c292e08466bec70b12f4982de164ef03373f66ed9c9a5355e6efc7c61df57feae344c131a16c6d3968b4f7819b11499a530b20856dd336e305dccd6001fbe32881839c260a2960872ba8703d100075f5024ef633a2900b0a5c0f19179c6c24423f26334ed9df71ef38c3dd48dea695fc81f7c4be3e18136d8cc0b29fcdccb88de399a73df5a1f91ac2609f63edd7d9137b7b63e0c7445aad6f2b1e81268cda8d2180e064adc9c888ae0f45d0850021ba4ebcc5c497eb9dacff798f6ff7d57b64be1bcb201a02c9e5bfeb3bf1f5600296c033e7c4905ccea91d2180eda221f3f73bd18aa550ecef38fdad08fb988c589db48f45fc40148bdfc3c420cff45f732a14cb0a8aadcf76dffecc779c51f3933bea0e11041106d3d727ebefd4ff993e33e74391203ff410040d36e0eacfc49d49613fc07903abff1c719ae092a71f884e91be8ba21daf58b6571fcb20da238bd0006b83727d1ad5c78f6ec0125c4e29333f5d0df0ece3055fc2ace33d14579bdfe1f1de1fa4b77b3b020579b6af93856927044f1e771a59d8c7183f4ece6801cf2f799600aab14190a7ae89da94ba531bde7677f7effdf2e8fcd9bf71df1b4b7f3b5ea0737be8d35f9fcdbef7357762eeec58ebf1b327daccac038575c81956b81ae0b7eba18e93f5ed483a599f86145cde72a5bfd30901e7adabde63eb3d0c46c395478f8c61f8334de4d1198f8dd45f9a7e8fbfe60c7209cbe5ac641a6d2c8332ecf1580a65d803f9f7f82bc6600e4a2edd08f6ee9201bb3f9d2c49c8b0f1fd08c988fab4d17c4232d281c2ed14e29a28aad8be86f6b476a27dd94d34ff6ef221b9e6fb35da7bedfd891f9864dad71eacd56a443f129d4643859a3833cd06e4b6b19ff635620b253883ec355f934116fd487424275d3f670fcd24fd5f37ffede2e7b4f9392ba09979dacf99ccc79e014538096d048ea0d1ccf1077fd27b6bb48f3d81ebe32781fad47c796d5f625abb3762d9f9e65f2cebff63d7fbd3cc177b4a6c2b4d2ec6166359b3196d158c35636d2c31cd5862da3833ce643199f9d42e19b0a6f246eaa323b88dfc316c9c22fd97587ad935968e42f62f6f549941fedc28f3e83cbf13671d6f5393d393939b961181f3d6b5d7dad116cb6e8f01adead349f00b5decc40dba2ef45c0ce8bee58de58cfadf03d12e49c8413b9d633869ffc61d799c04fae9ba71c71f27ed4f1836c8492b54c218dea12a069cb71851d10feeeb3e851d9cf7f7bf2f71fd5aadadeb647590d231082e27140ebce7669004ac15e309a3fe27cacc9cfa57ac9919d4f7c49b3980fa9dd86216a0ba8c8f3b13467daf638e9b2bd898fe9d72af767617769003065d32bce9ba6438932f3949ff8a5e255d65614187681105428f90bcc7b564eb155495724251d5ac8a55afacd552b32a96b535cb7a57de55dbb16251afa8cf37fa5515eae357b7ca1596eb0a0befe91c5e5155ac9a75734f515979712827595f61799693f5aa45135cb32a960f359a1ab4cf0ecda1452535e1c5cca10f7a579e436170c1adffbef42bbfcacae9de4173ec380bbfb4df8d361edd5d1d2bd8b3b0682c81cb59a63f83055cceaea07ca9fdc8813811164fee6485366165ea25e3984892a88fc5d16fa74e52448d907a888412a6328da2534ed2ab6c876cd1d584415f203df5a141660e7dafa228534a4d1033e9488d40ea8193f429ad656a63b4c2b53184e7db1082e7cf076f5501cf6ffb9df73db3bc0ac308ecfdfd1db89e57d33b454f744eea943a9db5053206497dfc9780f306ce184eb601aac025c63b61776bf00397d8c69d4e0d1c0ad8200876836083dddddd23d8f40360b546f741b025de1756f89b4e7eddad76207aedd16891ac1d47b049fe3d34df7da8d534082905f3788ee3302ad5a7804dca22f4df80cb9b6faac0254f7625cbf31363e6a457bd065a76863d2dfd6b13f6401e8b8da57f85794feca7f784fe31d17b98785b0f2600ebe20460cd663660872f1e997fbd4b2c7d6457ecc1d868bb117eec69841f7b1f19f63262d959e65d2c85b2c31ecb883eb28b419ef1488016c0eb616259f3ab0bc7fa62fd6ef5443ab3c18fbb5281e038e5f2cc2b3c3fb727526786a13b3b317e62008501c3b85c2f18ae7716ab73cb0e8d26acd56c6e7f0be7832dc21b0d2e6cdec3e0d9cfcf7c71c4b9d1dbdd8e3700c6f8f981611df26b81b5ded96b76d9d12177747678c8d80ccf6aa16c8667b570566fbde184fde31087333cab85b5710af6af712a9b1a0ef1ece7a7ce7aebacb7ce7a6b359b8deca3057a7e8c08084e2d4dabc7e552ca05f703d1ef6b81217dbdc629b81fe69ad15857e5674c2995e96e7799cf6633333d239bcdd0666834da4c16a3d164308d4683d15e2e1a8d067e00046dc05b2db809737b0197241986cea72f0c8ec96e2ed0686e2edcfae2ca0dbb10e6268ccd4d181c146024a0f5be1618e2174cd6b22983c56ec0e0986c769be1daac6653eb07655caf3530978c1756d806679b1b2a700b17372e191634dd8079511445b1829a1a8d489b9989a228136332a2288aa200649c00db25c3c35aaded3acfbbd6890ccba4f534618061d8a26bce8c5dae3a678b764986b58146cd36296cd1063b3929adcd664c16c65c368993d3dd32b14ff6c926b14c9e6c121aad696504b27592cd66343334343433598c864606d3d0d0c0685e2e1a1a9acebe787d4f20781346cb4d18586daa029830376170b06ec08c53c62946e39418b08f1d9471ca38e526cc4d9871ca4d981b3037606ec0dc8419a700a0481674ca4d98211caca53c9df21c83dcc90280375874d0810a2aa8a082cb905cd69e3479ca599192b3324489ab275438596420b09d77bf1618ba5e302c1393c964b3594c369ba1d1d46a2aa8a0029bada6029b4d0b17373737ff2e6e5e1c716e00b0e045ec089c2d385b9428b943e4be0cc97d79b2435f82f8c29485de8ed4aed27a3b62bb3197a58a5cc72c5159be30a10a73599c7253c490cb8294cb72249765290c3198cbf223c4e018afebaaac5465855ebceb79511c9537570525fcee6d51b594cbb0ea49ae42ca55398565088618cc550189e9d0c1960eb6e0808377b652f721e69c73ce3969d79c159b442916226b34e6c5d18ba32f44f909c8a333ed39bd64c95239e068c1d1826590923a9202f2849409b6b3b68b7261755ed75929af2cdef5bc2e092a50dcefde9c172536c94b92aff57d5ca0b0b0c0944b6b94ab32428a4a139c2c52546ac099c2543ef072b9725e60c87931b2b1c28365a2b28117ecf51aca59f1210ba70aa72a8a0a870a87ca091c2c3858b05454141c2970a48852a2cdcc74e112e502ce143853d468683a2aa9a81f524d64817305e70ace15a926aa5c556c5ad8d838c955ba20c9e53309a1b470d1a2c5d3940b87225cdcb870818ddcfccdcd0c2ffee7ba14e5ba20117519124751ac352a6bc419472e57b9b44938533853588a892b384ee03861c1cd0580104cc282171658105e246240bc205fbcf88890d940e690648ecb112e4c3917e4e4e4bc604d61c56503d92a9759176070c1055baa4069c9356a0606031d0c3098026b4b1239678595db62c414d94607868e0ed3962443b02c6d21caa56dca6d39ca454194cb9bc3924405470a1c2970a4c091426a4a0c2db872cdcc4d4134002b9c12208a36986ce3a455f26905cb8a135780f397b42ff14985f838f1719293b300e9dfa7dcff0395d4574f463b533c316a537b44e4fe9d596dc806ea46eaf05c05e12e7b92dc4fe27a433cab0dd9fccd7b725646992659600a015501271fe2317f68ca59e5ac6c40927b4eddb7c1c9825d4a7ea00dbcc77e03ba2c9fd7d99c5552aea38d936d05847e2980384ef49cb113b477cb6c71ea4e45afd44ad5ddd4c5a3d2a84915856aec4ed0c28a0ae9a907271130d924298280c2cd107cc14d193bbe97a6cfe47245451413447690a2084e0714248c1c914455c40811c8e714920e5634d93f842c5e647f12aae0f9e4391dfcc1e0fb2d5e91c6175c365227f9279635f2f73da4bfffeb3203d966737dfc43802db8fcc99f38c24fb620c0655b24ef09b193376aae0fe43d33dfbeb1cd0cf6ad1efc4034e7ef588ef093bf0f83e099dbc189866d013e72eb7de4a0cea0cdc66dfd7d1f79ba6ed0bfe40f3c733b2cf9f7900bc39dabebbe5d37e8c38eda08c86b744fdc61bfb6adf9645b2ddb8424c91313a86b81a84f4ce6ddf38f933b23c983f43aaef81eecd0f6f5f8f7fd786aa82f9a4fa8542db7853dcb108d000000100063150020281410894462815892e479a4771f14000c7096466c4e2e120743912087510cc3300c04718801c410600c01d038c6684c007170cf4ad398d7092480025b36eb852326f4db4b50dd34a1e1b009b34f30e52c47e8c5c905ecde9a5b7b9647652717ceb96d3f4770a53b48f610dd91e11a3f774e592694e2187206d62e6a61d6658f2e62278ae75b6a17a6628565db12e5143c1a000cb8f6d25c33c0b60f9fcb3160c601eb9b038266c6f233f719a7c54cab6540ab2520d1668fad6b094058a79b8f013cf57d8055a4f9327fad2859ff5fb3315f43a826a880e858e84531b3709cea3d027f9012d9f05929cad5e9986f1c6d08b84761b30d013bcefdf654b8a2961bf49244390655472d58f83a8927fc4ea6778d4e05e063d978a48aa34cb63b6bc6038de764e3e068a544a23f8fbfb2948e6e163aa41ad753f0a531e0432de7900770d29db736fe4c6c8ea733fe4fa67d8b409a7a01c1aed3ec046566315b6f62618ad171c9f722687b59e3af74f73918f53fb8bf407fbe0a3424f0dbca7afa1db42887b9656db6bb52e1b2977928577a448a91ff6d325e6edd7e74de121ec665627be77832068361f13f0855d405353d92f3349ef2d0591ac6c353ecfc2a9a4424b0b7c63a2d037987287be9cea20c6a42c829cec673d55754d428e4f77a1c96b28726849a154c57231f59c7df3211df838003df5c680251c31b75c5824e637c46e0a09eae32420439cb42d5786219218ead461b29f2f5dfe21955d0acd9b260623ce26e7c76f7f03f9e3d6c0a99af097cea8780feaf67457fa400f8cb1e10e654e77305006e0ae5c18d2430f1926032ab1f5100f3f3a9449f0e68914a7a8ea83911f07408d5d2c93e8450b8cbece2c7fd80716514fab785a8a6c33de6e26278cce1073b52ad36273a928ee3487c8974d384622d1923128c17b2c426c4437958258e8956fa961709601e0782524ca96012a5e910d915d5d34caca6ea9d9ff546b0c2092157d2b31d62929dc8ade807ccfc4cb5773d19eea73c4ca675908994b94b1902a6a5a66752a20f4b87657a86f65f291a0209b9cc0fa78ec495d47ca8562271ada017be5223b308f35306c7563e92d6d8aa989ed79e3bb4f8ea6069281fdc2295cb7ecda172eca782aa4c11c9a8346810c0267c1ea8047ebf8f7dd7d815a8c7f53fad7604b5b2a3dd16c8f20e39deb945e7d8ab944b5a891bcaa48a6463b81c179c93932bfd3eba82d272760c3db94d6a55ee72f0f3b30c78ad975189c759cf529ca0ce4d75a5018f8c248b381eed479b7cc6200becccfc8939c8ed285e325b0e9cf06dee3be181ae8d75e9a258a1b02805986e7cb99246e72b818048ca602ca70b9a0ce0acd4df4f5127d14feef10578932ddebb383fb539f09aecb14611f9b7199b4de5d6d93fd2e5d738a30ad0a146ab87b952957374e3c9750434969267ba2eede81ba9cf302f4eabe9997a5b0f9ad2fb5d0d7131018c3df4e854475cbeea1969a8b42df81370494ee11d4ee3059a51a04dbc02f34eb7e7bad15e3dff2b810b89a0dbb594d8fe02aee1f7841ce1b3940c4c82312c2c96faa0831301ee30f2301d04464a83c58f11adb1b03ff6ac0293a1de9b3817129fd378abbd8edb76125363c035f40a69628850098853e95d90cf6b869215b0c38665315cbe7f384acfbffb63c7543e8783d29bcd7f2515435d86832a1e92b65dacea757dab7c2d6f6c904399e9b1cd804a896988b0ecb7fc36a4fee6cffa78d30b399832ca72b77bf1354703ea493c60436b2b85fb9575bbd214643ab6e60d7322e327aa651c558da126cce3df6606d1c358cc26be27d101cc76f5af7cc000406369224ab0c0c44440a4457c81dc08cb33de21137a3d8f953e9c72ca044b506ea61083be54e8ea99cd2b83843ed6feee2ac0ec95e4fcca08a47287416597fb95d08ec6f409fa746b03a7c57f8b141e20b3242725dac0aa4f24ed378cfc7e56fec58b17cb230e35c326ae9386b88ec0c41236d2e4339f354c9011e240c5d7d91cbcb3f4ab7c6fe4f40d9faf185ab1b9dca21f883d3deb7a2fcd30a03f6e855b3d0b0299d4176d79919b951a1c4fe996cbe8c692569a78c59d66425aa8b6cf71b9cfca57ca791c400d34f68792d3e04fc210b652b67e8c65444b24ee54c371e6fc40da43ae033070cab46a07d8af960c96ec29df6b5462c881284aea59aecf7c7b537ed3ffe8ef9e1272b108e51fab8a014e712ec979db03b4daf60bcb0f8ab3c397e372e7ba1fc9c91bc4cd34409a300289f1578aadd924fe2591c371f6dc7164910b6a29114e77354cd581c984a4e65359719174dcd2b14bf04a8c467159f9445fb937060175bb3fca7489338e7c3e7c5451004e9db8f4939041ccec46ae2446955659957e6d8030d48d443e50b07e0b447817e11c6cd2cafb7f0baf714f0ed9612aa45cb7980c17f2dd31270be748baec5909d554e517ade1693157fa80c5152db223a99fb0bcff6139e2fa07e8475cd53c9e74ae993209f60efdcb7ad75d94f9d220440bd0d02175995304bac4446a072536e34fac467d0e79b8869d73e2753014fc179b3ecedae369c1a5adcd30f927903f3aa4f228db5f7077cdfb6145632c645e780fa20b9b553623557da44c408a5e4114bad30f325127430d1f78cb65754fac89d3f75241f1f98bc19f1f0b9b6ce2aece9151174ab3544c31bc7c2730722def9d2c5c810b8f0feb8fc573f1eb940b1a9dbc4c25803785aa212d33ea06ae6345394b391468d9fba20a753e3b3da74a7d49ac9159236ff3cf25749bb4ea458546bae539844c8df8bacc5709ffed50894bb4f5d17e0b3f7fcb4578e0076bc97c1463c3bb2a0372bb6750e61e9ed95757a03e8f10628f69ad740d9084a142ed407171b297460df8b044d59f142be1cf281e20927ed1401479fc3aa46fe0f9822a6625e3059f8b13dd168f2cc2491d3d63120f5f7c7f452add9be8dc77f39f773d2a3c5d357a53f2cc4e546e880506c27ec226b6f260d428c90cc07b300cd94857060bfbdba830d40bc6ba22c2594fe43e645b5577b07b1a84d8b9d02f8bd35fabec5b549a3dbcf117fea7f5ca1b8aa52ded66b8aa7e1a7ed3a71f9fe86f472f3bd7f64ee49338acc0ff76b1937f57cb2af0bedfd8c91f56fa666ac9ffcbe5691db92420ba7d9eaabd927c360715f2bf61ecc49f88e964db19274a376a230b93df742dc999c94aadeca828a4b2854a562cbddc426cd31378547bd5170521ab5d1b4eaf78a70fe4c86280360f97c82111bde0f06cd3fac53149a003c105f0a9ab19bdc2ba0fbb3a832f3ee2a3836dd3be1f70fc10c082a44bc6df5d9a0baaf80ac682ebddc932cb86c5aaa5e8f9ed2d294410f4ba596f352b6708efde5843ae27411e9fefeb8c829e9db105991dd2ad65f9e7ed5105f2fa515e96b9b02d30d3316f4d8f0efd116261a9f337e82abe6dd07bb48de84ff2d1f27b970229176adc01bbebc8fa53903626c82cb95360e62581703d8e0a4dfaccc5a5b6d54cdaed75962cb24b8f8959a6f80dc59102e82ba6bfe18d9c102da979936c48add57b412ec496262e709f560884052a99a15a57f50a49c81a15a4f71e1905028adc50dba8f6be71013a6f91a94020270d4d8bbade9208d9963f056833bd78d06747773e4355a6fdca9c48268468bf6b8cf0c659c2f10e527a458d70792574a2d890606c5225dadbdfbb37c70ac23019f50fd6c8ef95ee20135a537e6387820104e37b2bcf0eacd3ef6c80fb252ccdaa77771b05f0c66efd2d65a2e18172467b13219f04c0f86cf85889efa5bb8115470379bc25921f045c521f31a3be4ad4d8823a037e628c0a4b770a4ccdb769269b55246f68a0f2cf29f0c7b189c45bd94118cf106b02cd78acdc3c190820f03d8e7f4d9306f8a4488057e1d884756f7accf5db611f647ab4170ff2ee5214aed0212aa2571d1c9b18f0e220a8a8218e93ce2e5bbca5c06ff90cc726734af65d2e1f9487077fcaff86d8ebdc5d09c4f57a2889f10b1dd10597a1c3b1c353c299d8f498706c627d32dd862fa592b85c07b0225e4769b894a3ad70a38a1608d68fc7df52cd12bb5f696c2a01ebacf61a0ab4dbc7dc1cffd8443edc26d6309a0e50a8d6134a13104d0246fbb7ef5232361fe74801e6669c50c20dd14d62a1670ff4a90015b43be982ee48df9b13d99ba554d93f446b242e7c4bf3e98a82e72f82c8e6e19a7ad01e2a40fc78d615b587e58f4025d6d9cd3fb1866a9c5b15a9f44308a8fc3e4910b2fc6ca30e619f2ab92d829d669f2d8b269f148f9a5d03a1a921885e25b4eec3255085d09298472ac8f8a3cfd9d6789d92e1ac778437648edc2a81d85039a0f969b4b009aea5c44d59d9bbf2d9cfa38508fd24007d65ce9e6a23d6385e8db4d67e6c65648ce9633f1433c654d33978602e82e9807d8b66fc0b0f24b1bf44e40648c005b858291d3af12c1a5f217fbb2c77d84a697231ca1c332e7f8d69bc2fd975a1494fa4867bd85b28bd068b1c0c52119bd56b5cfca325884592308a28bb166fc41a95c4535e99bdbec85b503d64bd4a68929f975678d127626deca2d43a50b31ea5cdac5ea0116b7cdc8bfaecc44ca7f58e4c1519e8f8c834a5bf8f962c30088493aed6fafc006ba2239575c41a5b62e55669a37208148a39880cb47929109a81c7fb345143cbda3ebdcb8dbf6ab953a1d20d23102a04d20f1bf1d7a242699d022503cff66d293b5c0d59569d65ed8fd353da4999719040de1ad1a60f09823795aca68ef724e46cbd57b5ceaa2f9317da3019802eb650098438d5929b9a913fa8a9b69c7b4c937ee42ba23c1dd4785863c534ab0d569142f812139244e562e825aad497324675d9eba413025665efb873ee872ed06c8b796855451135689f40856fcc4fbb0a95d4e4f2b73077a4153f046e345764b593283b398a8738445a31fe29f6d96724a2771e65a7474932c60be904a19b16e431f8fc478c0ba829e33c0939fbfd711fd13bd4188d7ddaf2ad0cfe1484ce422234b93b741ede5373c5658bf228e3af710819a7e8ccae4f8b1cb7e8273e62ad20f5a146f3feb82ff7408cc61c306dcb9c61f19d03cb14180823c89669fcf8404b6030584498e7d224f0ca6972212974adc31a6933e1f9002d445082e84bc4a32ae5f23d116d897748d743027942d0c54c9d1a096553a4081a5d58106fbfe58eda541bd702c8450d06b8374f76f7c16f550bdbb351a7ddb68aaf0b965ec3b9c7168d7b43c86354d2200620d4cc36a127c0fe04d03d530d145a150617918ac730aeff6b5100ae264e037c6b142925eb802740021357a0b7deadcad75daddcae77ba567581307a34d160d328704fb627bd8ae4e5fb02eafad6d0c0fe0401900655bd718c4ed8f348d04631190b4c2d046bf71201bf07fb8945c4cbbed132fe53c06880094de4f42f43a6150e6e3701fcb590c86b01eec159ae46ecf2cdd0c2e721ba9aea44ddee1dc3f9f6bd8b102a5b4680c88e8550250e27208ae461c6bb0cd0b21400e14c24de9092258cdaa3559d6129b94d74a693b8896d5e6154f19357523aa98cc21595ef446aef96bf1385cc008afd04ce8c38f11fbc73cec3806d8693c2b278ebf93d31e668b26eb32032ea5847a21fab1daf349ef4619055fe48cae0eaa81959446bffc35a0e178e41678a22aa2dbf5bd9402816c20de0cd96679086399656f9861af739a8aeed57145a8064a7efd55f2dee234ff7081901093692db3c9fcc3a74a54beb331ac9dac7d63bc172582121f2b69ea1caf62edf034151b0b51783e8fe4491709bc47c3ba9e49f68ced34080dc732a255d5bdca4789dc8fdd3534c1392d1f25aa42e66d1d6e8859f59c8f44896d7369ed0c9c1c40722f9fdcdc4aab7b0ffb8347d36062bde683940b111c40c17a1df840cc568c71502d239b671a925f8f7eaa207b046edf38e513e3c371f67d4a78b24fe7576545ac02e0f6fb16a137bdb1115accc0a95f944059da8d9a7dec6aefe9183a0c41f550ac9c94c12620c2e793d03be1dd1f91d44465e33ae980a2367552595e9108663fbdf5a3a03398f1a3cef7f08acc44431404eedd659d70175e4d5e6ee44ebe25aee58b552b8140385046d384e41c3f6afa4ec8a41e23bb7d07f984918c8425606d1a9b8bc68a37b76cfbad649c9ed7cfa49ecfc3d68065b66aad55f481aa0ff28303ba7e3f543e3153f2873a1841376c8dffe0d43198f311d6d95c91a8c37b286f5f369d35d62db96785ceb02929c06fcfab3608ca2cc21d7933cee47a4da44e39b157af5d7128464fba891c3068483db59869c75d0299ab5f86bfd8dec5d52186b061bdb1eb7743e68aa569dcc78c0153481a76e12ea6b7e39a5499e21eb06eb9e46a33cbe88cf6967f90057e07aa1e9bea63f6897cd03fa9e23aecca21c1c91908a5036971c750809cf46e36ea4eb5cf891ec6920746bec985d42ec401465b867219d5b9de16303dd641f91253c341ba93175a049dac8a06a5012dea5ec0151b5ccd0859d9f7dab5065c1352d41b7adc6f64430f3d095e159dd7654f77b10e73391f47206cb545dcf93edd701ef771a7957113139628f8e604e078fc754973048b497405da968c683f2b95077fb97771b6d7ca8ab115e9c82d4d87f68a2b2e9bf2c76f4e6db9bbe04ecaedc4eb2001f09195c61b2879445ec574d036433f2b11136064dcc15c44e0b8d0cbd0e3bca75366a91decff7b436a354e3e9e6cd1c1c41ccdda0fe946ac4504906636e5b2e8740c728e539f226a86fb93bdb64217b03774785bf4db312d62eca1914facbb4e6f61341b06c41e84617f171296923342b552614cd9360b4301c583b41b6a962e64f67b80d1f5e6a69f4ce65a15562d62dba36514c1c747cc0f23ad88108c674cf7e591673a3cef0426f1ab7886cd743165998c3a901c559d47c10533a2ca8ee94b41fa718776faffdbd3fc06aebf8a0d3f05ab2d455f1b6304cd5f0b7b3e06068c51f7d5451267028a2a291782c0d4044a70a41150fc8e8bdf97958c2d67818e672da999751e388ce9d65c64804162a858f2b79f71cb5b80e2448616d05409e9cd5147bec2615bc9e85d3361fe75ac6843fe0ee6d505c9363485dd03c4381fcd18db0855c14ebdcc4ab267d31e3629dd37ded5c7df49cf26de65d62a81eefdaad2011c50f4329dc27497016a7d850909124c02a8adaf00968b25878a52252d03735abc9948be25080928116b1c0fea772425484d62b0e700fec5f83dff0ee17d60571c986e9e5e3b2205529adfbc254bd7257fecc46723bdc8e5bc2f9dcaafba5955eb3449f9bb91eff0992beaac6c15298651ff5b344e764fc8ca9cfb95189392174d5c49ca2baf786bf2e1caa8b9316a864a4839ab49b0bdf310303b69ec7d65f23bbf2bcdb750361192a91b4bcd02ed81ad46a3e931b82ed3b36c378f4511dd324b2811526306be885c32542a8268904fafc1c1bcc185089589f2289b0166da94963e8ac497c69b4d3a1a3246f9ab8143c3e4563395a2d93c492dd9add826cdfad35f35f82e066d621d778006351f7225b5aea7919ddf3a41c831c941b0f0325fae6cd143286fafe76ded6ade13841ff9c6e17cb9d70da7724a140f80482fb23fa446d7d4243df8d9d3f36fceed46dd3c337df32322d1980dd91a46d451fb8b9472ea155c4d3b31fa544935027231d6871739d50b1dd07bdc0699575d656ddfd868b465b6c2319b73d34b0d0d20284679dc7fd202b02fdeebf23ad6b96753522a1825a7cac7dacbf377e7de4c86c306ae29cc50a7752485023219b39786c2789c401717d13a74f1b8cc4b1ecd4e80fa39a4b4225e9597722d68f976b4b36765dc85bacc4a003bb5f598750b330e6c9470685b1cf635ee6fe874cc0e7f2279e3607da71d69686e215f9a85f98677c44f879c92e17c6d5de13be2fbc1dfa6a30edefb1679722f6240f8d2a13e7a5a89379a9eb47ba947a83f653471059512974638fed14fd277939f70c90cf1f77732a5c8b253db936632861e993df5c4c4f00388b486b4bdc44b7943b9bd2eb29d4366acdaf6cb50183844ffaab2cf66a2e3ab3b35a8b5fab4b1e54e495fe6218193683589767b386c3e1debc5c80156e84c614581e6e97e41d2785a932ed097e111e0b837cd7656bd97b0dba95f3f6add5f6e47a901c52581323555da1f86b831fd91cf9e764a0a12b844bbced8f9cbc23a0799a1afa8340f84888ea18db468ab2a2a47b814ebb724118fdee6bc520a028e37c2710a2c5d4826222c42e725c08abf18d9adc97aac2407804aef9ea046e72c19d9fe094e30ad02eac54284960030d6ca0315ee46846cb4033b38098edb8fc7f00e31976306e6d4914e8e3d1dbcb4e29b3bd9b768b2d0c592f2c100716f02ae311530ea4b8d41e5081bd44a0be922f0aaa2ce2de27ac9c11ada5cf3a31f144b296ad84482ae73557598730d3cd99734778c6b62c2588e62edc895897b33b17a5ac0b213bd74aaf7a50bc4b7e144a19bd607aa5a848bd41617c25d581c63f84f3165ab7e0fe7bd128533603c163b606210c884ced22b7a5833f5646181232d9b730f305726f9aca95a7d3b75fc5629c6c5b82c1d08614f84371356cab29a34b675993ef33056d5f0beb4eaad1bd7963946253c8c031ce86526f1bc886821b40dcb3359a03a961b26cfa61b8b65700328c42574d50bc93f4517d165ae8100de3ba05dfe0d87f8c8b8ba946c3a3c1c28e3b9f819a7ffdd35c26fc6537ce6cf9b88b2a4c8c1e49e01403681161fcea593b50ea57435e823c597c0ee451703a680bbbf49f848a07657f7bdb8dd71fdfe13d43864c07cfec84566b38082fb32f2fb58fe0faf45403670f201d4ee9ebed9719b027ebace08d2e8baea3075e02176c8e662b52715d39d0b5b496dc33e02a16f90f983bccae5f358581819ca82cb6e12f610dc4015f666d69121d66017fdb0ab838e71dd3c634a047575f28ab9ea18158e5543a77ec14aa34081d032cdde0f9be67c1f40de3e930ae7d8706b3b17fbb7816edf955fae90b5920d20cd470e2dd78b6e55ff8590ade891bc88c8f44dcdd29f184135f3e67100f519fd4b75e31420a5f44e2a8cc2c0e7b23df6b6ebbac8c425d7b8fae0dfee84cb8c57e972f98ade362b4d1feedf9f698834a16d902050519b18c6559223b3d53059413c416f11dcf60ef2e7d0463a522a43fcdb48496990481d39b1962df242775241f0cbf58641211650b9899413305da22a56d47b8a13b21a0abf61dbb2b059a2b6f17a90bb64a6eb20e92e8313b0c307f64e9fc8d07f0f5625b7bd68efdf3fec7145e66b9e7eaeaac765276a2a38ce7a3b30ba3bca92fd7180e753df7118a9c251405b2bcbd877dc9f1c435692567b616fa146bcba4151ba839c8aa18aa3d0db98f2d56e93ed2922f94aa43aedbe31588ad764079f649a0791428dcc6d7c54881016f76544ab716cccd5dc1e268cc7674d81d4aca364947331da75b459592924821925830275b3b17ec3de04c24ca850e05a32b9e9fd468e3d84dc7fc81da75e88d13669b5db2d83a3ec1b3af1db09784bcd9a4abe38aa982cd0181787cd04fc0457c2d6789ad4d0bfe90ade926a2aaeafc58c1ce335b87fae18130ddab2fdd4196e22e83601edabd3656d51b5f624ccbe6b384d48374af2ea710aa5ea5bb3c630ae1838f44914750065b299034350d19cfffb0088cd9897e443b292af099e4521eb146ebc45fcba6cb0012442c2674a69d161590f3b96f798286a1bf97debccf9563faec1727ce957026d414fab66b716996716b4e35b063a6805f7fa2e45fd63ededc804ba6bdd3923495815c032e064e5a40b37fb01e8fbd18edc956d3f2aae2e7b562a214b1005ca160b4c1642c89eb4e56e41dbdf713ea12aa16e70cc3d64200ec38342b26c21e2688fad55c1794e5df6d4e832c645ef7855ca5afb9f0f875d61bfba2ee6839a28da33c8a35d3cb45a1fc77113856f5f5032f826eb7d5df81e50d5afb03c7b587fa90212713d1620af4de81672d2b2f0316e9fa782ab3a227d0c33754c48c875fd2adfddf202ce51d016ee42c6e83e93edcb39573a6d8c247f5319cdbb0af57a894876a88d636ec33268f4b475e2f8adc499f87ef09c13e96a07eede9afd32830f3c29deaf1db78283638f115c5d369d29642eca7602a0596622821ac89a5d9079b3778ce5f8c91d74587026fb18b330a191b1a2b9c6982635d7bd822d0989cfe24b1ae544950a0a95421519d07f2bfcea154d24b80a7558329e2eb398cdbdee0295d1581203cf8644ac86572791ee0250daa4528cc4fbc8da6222efd199f3fa198c6647597ccf040659c7ea4ce53a41e0b02d7841c492b50c1e67604a2bac1935abfe1a0511ce8b7bb8a98668321ae2f4af966ebff2878a446a4b430251f640d4db5fea6d30d262508482e42b43bfdb8b86dfebf6fd01ba42239da67753044c5a85c2e2b80cdecce4bf9d34d8adcccaef5fddd2bee69285d93407cd3a079e242928cb0c23af8af59b5363b35c1300feb97c3cfab87cf4409e56dd0d6d4be2fce83a230da38574cffca3550682a490147b6000702480ae5f83d1a00c9f3c850407496aefb816049c18d907f2c192c93dec5a21e59415d107a5995db9eadfcfe523d9aa7a2d2b244a53499346f4e863c2c32fec88e697f5a623b0e9c96e3113532028c975701843504256d11e7e47377354922d02b404f449c74b44556e9ec07451b6d6e34e0c477de695de87a82a900ea5195339a4c7dd4f3f3de4d2099a83c8cc84ac44256684690849f8b0c04c13235b2d8ed5b3c8fa14c70e3640a2e5994dfecfc233469221a78929ac8cc2926f5ef26ecd6949cae6836e867fdb8a17e9fddf5158dded92432d39e1dbc860c3bf45045768e1332f06ed001d11d7acc5c7a994b74f1345122f2d10ad5a09089ab17507f420ea46a45ec4f27b0de90b1239366dd82e5aed946d3f19433a3eed45221232e37ca5278b3920073a97297860c0fd9d4464562ada9647bae460cc9b68c24c5ee5e2aafc99cf5bf5746e530d442564cc394960c5eb3329507a08176cec8434893cc89939f36b1c8aa0a63c20a0c125fc6b0913f75192a13cd94e1513cdd4a4a931790c961fd29bfa6edc254b02fe4a5e1b1a40e5bfc617a3d182e4b6f8b473fba2349cf516ef6a1dca0fcbbb117562ed39a4368f6d7e6eca20028404c31f34655e2a0b6270d84234be080c3729f5a399846912f107fdd7502b1a879ce130105e2fb20713be94eb5694fdefab63e35238eba16dd981c6aa160fe04990848edaa99cf0a959f4d4d01625ef24ff0edd6bc42ea613c9c3879876ff3bee8298e1ebbca712963457f73508728c248176fa29793e8e18768fed177a628056f7938af1b0ff98b0622d61d8309fb2e624a50e0506ea12111f98e2119d58f77ba29f4ce3b9273e619bc20edc0f07b3a2eed6c1bfa3dff1d263f30404714985a9ea2a1d2fc8e98c20b4a3767ef421dfff21410587cc2af060015f0391ff515d85d48f88b3fd1b20967308f2777548769db590b8d24fca440ac00dc740d088664179b04e7beaaad502b4041fb5b7e86a704a3405d4516af83881c088cef72d205772eb7743f2f5eb517e728c6c8a0e0a1ee0d0bcea83e52866b3dcccf3eda64a63cd9d56007e34af1f5ddf26bcf74ce4b66d51559ae66134506f26050fc4fd4007da2dacfd71e404205bc6db385748ba4803225adb9c7de6073864de40ddb0ba8353a1d058b6aa8db995ec658c561307e580d27fb48394d8c0a4efa612c3738ec3d98fedb17a40c8e1595f0dad38c726a72aabdaca636cba5c395d36c7d6a436627869d960585f2869e3dfb4895db8f8899795052074d58269ff4b3971f14ed247ee986fa5a5a64b7ca75590543117f15d9e335c50c353a28d4c09e80c7b469698db487e57fbde75e3d25f5677570d122c193f77c2ca44118722fe6fdbe8532139e38619a0b47346819ed731f3575900252aa8686c577329a8cebf8ef89a0119a725265e94a5152659939b8a10189a1eaf1d4a0297ef04e3bfe2ab00354dfcb728a32213e88d31eca60326c68a01a2536f3c968eaaeaf3684a8ab55eb667647cfea113a2712c99f8e4fd9d8a0240150603f67df092e9b77c1fb814925e8f409ef7539e0704ff8a5a52fd6a074ad8785d8675b23be4a776293459117fb825252f3bf7c3aaf2b3189982a8926e395d3ec04533b5ef350c8e84e360d5c28a3b14e42ae5f9387ef84d4d8bd5cb4654e0aa1e1ece4b848218709910285df5dbab86c3b4ac2488580b30173e2bbbf52da024170ad2d28a73f4e0e9450cc480c4ea89b084bf1d386d1f9ad250e07e76c9732e7166efaae8fca0a1d0ee12a6782441c732607a09992c40e2f90e4a64a82fda12e15f0a300c72465bddc848018eed8a9c6c176533ef9bfd8ae044f40e8fb430f4e198634e51773becb71414885ab173fdab845b071abeb96a66d1c7ed847986db4bf209c50207f8c11117f3736903b1dfa84128ebfe7bc530185dd41ecfc4e5e13cc2510a2e047e17f20e1ffa053299ed19caa96ce95e94255c35009322ea764225281850d524e4100bde01c56a074aa26c3bf857af839adb4372661f910c938720a6621100085b69b3fb984e4eb5f394df8d8c0edcfdd14753e37e6955a5701de3e48e7251021bae78d9e7411416e0e08f370ae090b5c1858a3cc7a475b96954acff10c286ceafbbd40270663d5248f59e1720141d3cb94e9d986ab32022b724693a079f3e1eeb61b22268565f8cb45b5fbf815cec3784fd2ad0689d8cda0ba6f07ddda9cbb87dccdcb62bc68e0be1183197d6adbe4db1d710a6c9b22324b111762856cde2b9adce9d136636aa704ca249dd866a448bb5ea2cdd8d9f78fbc2b622bb732c410df61c442833dcfd416d90a09c07b8fbe8a7d61a6a19e8090da749d86f66eaf0ee9864d3572ca75227a1c1b4fedd6f2bc1293baef5983da3b51a7ba3a518e9bc48e3bb592ba995df09dc7b4d42c7570959f56ed5913ff422ab8e2e9da6b9aa1147566fa8e40753ca81d408c128260d588d4af6f0b782dd55597d2ac293f258e9bea3dadbb1b90da2af57f1343f09c8a15939a55bace3daf0495d2417903299d8d8b967fad6abe6aac74f9c2938e966ae6131396714f0d8258333e7376dcb85517658ee2c2ad80f6717e2cd0932dec6fab5620d18be4e1145d94154213f6a049755a981174793e998929e4fab3f16528b3ba4b07d8d4a7089fafcfdc831d023b913263925024105881e8700390e74e9248b949c62a592752b6f55a02cd5762c7274b74f49fde64c99b571d29bc4b2f12a57496db409da9857addcd512afd46461d0a46534a35c91f6ca49274cc04806a35de981dbbc406f1eb5292a12450bff695602edb8d0fe6cf1a737d98f29636f87632461f6521313705de587adf1b82f47c1430362d026950cc0552a11b23d26c4d4f424259d20bc1efbac2f9eae6d508fea6d6d050e873474a9c98d664fa280e7e2af87307c07157ca56be6a2aa933ab97e22f47fdea728dd7d4079328915f34092864b9e5724cde80ba3c4bd9b8c39ced47946dac84190ebcce7e3295db1c849184bd5c5e24119fd2fd0475704e7335cc62ecba228019a1c2d93d69bd692aeaf7f026e6fecc042f0a42595a9e6d075a8fa6ba0639d03c8631157671d80e504b909b8cd684b0762ff580e3d0515b6f9129da513c1d553c8db740bb1b3fa76ef83a82a69b63159aeec84f0c08ab349950350dfbdddc3d36a8b78405014738a5dd6fe31f834c9ab605ee628168a2107aaf55df9ca39cd81cbecba6e59dae6b4e4eeb99125a040604bf82bd2fdead5db6d2621e22615d3f0752b8b9885a9629c6bd5c20a0714b95e02cd5ed18ab692fa82e4c308ae78d95327168525930129e5d19ed9e0aec98b2e59d5990d4fa8d1b322332ed66b6330720c948b0172b4ccc9ec734bef456ac202980206437bee3b23961ae49b5bbdee7e9397a668a949834b38c5e0c71b29068424ce51446afb5baf0f5909c5daf5ff997db464adf81892594c1048d18103dfe179d896b712884718266ec6871a1e7d9a608bd4cc47199f93f3fd88772ed378da0e57c8b2587db0246978f54632c7c4158530420ab8d04c1dab26dde5c55f52d2defd129ebcc163865c39b1f11b3eb71d338c3889be5dccc87c0c6b2b3ef3fe0fd7914e1cd144729b08db68fbc71d1d1f24da4381cc40ed8c12162939cdc6b41275cba16f06d4af1d5acbee9e5163ddf80cc432a57cf32c0e6bb17253face65063a32a0d6ad58574deafc07557806b86565b98070778bf57983dfcb4c1497a6d7965d48589724fa8e1d404fa3b200627699e3b6ca24ecfb023c2157e7b99d4881555867f2ba10d4d8daf618fa2327631fd1897b40d41f948a51c91ede731bf1ef6e6655fab119d3623ac48781c254855a6408753f3069fbd29ca3eb8376c5fe44d0a38c48caa67d6fd97d01c549b061bb5433aae8d36d44ecd94539178eaa698dbed557f24a25d0f4ff8072557f785984e1b41aaefc186f5afe53b139ee0630248c49f03595c2ac3de8b002b0eeccf018e21914464b7b797c3ef1d1ee295bd5a0d80f250fe109928ff2c046ad43408d1a6c260c800c16fc8d6eb38e837788ce48a84fd63d5f3e835f07e6ba361a4368ea3fa2aa07bea4667f11a3362192a254ec089741cce0be9199046e75161f0a4b2df77e8968768b76904b2bf3e53de77531e8862791802e990d32b21a607907ff4b0d699bcaf7ac92144a89dd57817a6e9fc3dbf51c4fcb5cdd4365982093ffecae914dc022f88310b3c6cd6b7e3d13dbe5813f9d39e328097308eaee08bf3bfd8d0e42621cc47d7856c37b4bf7b9902b91ebd29489872a7686ff5202fd8d2af7a693d4c24a54768114a9bed4cda7b2c192c898f29136091378181a5b0f65ece59639d27910c4236f6dd34e3143df1d9ae848e7b8127bab75c6a4d11e1de1d6619bcd0d645876eccca77c74394af38a821fbbc8f1ecf72a826882250d3c6a8928a1e5ae5ec9df28592c8fd35ebfb1d647737a8518f65619650d3462efb25685724bdee37c14333899f541a13c774c25e23935190820e41cdfe2a387d1f04c372779a52c87036f292ac0a946198c8d01322a63ca25726a9164624bc15ae8e1c495d14fe94de7a2a50789186502aa8a4f71a2cc6aa45ef5b63c88c2d8976633a153fca05170c891a797bf80c59d2c6c17a8b90fd2f40f29c9b680cf2f5fb0e66728a67c9fe18926b7fae01b8267c111b42587bb424ace2ff96ba43dc5629a7406e66492ba381f533d1a9dbf6b59758f10e84a4eaba3eddbc5e471567a56376119636bd71f72ecab409aad401ff0373aa12c92b800e7d49d0e56f8e29a013142cb034ada5580c949f0b485defb38cc612b5a1d71e853f9284e46868d1bf3a11e24dc978079844da657822c7d91ac055b64e51c0a0e9cd454a37a51404f880def13b7790b2298018c57c8a3642f19f491599d60333320483870250e567488ef189fbb1bee237fec01a0940e0f36fd8c557f795b31b0b65c10c8fb784ebc676fafcd12ca068883f1660a0a3254e653e33ffc635467da8dae9d9088cf29da78bdbca3fd7807fb420626c98596f5b3f6cba3f89f30c788a5e8920ef63f56b676bb76703f09278b3392c9b2142285f1e31192442169b8c83ac9d3630789ef474467af5fd7d083c6965369008dbbc23a9d926f1363ffef8864e5f3f005cc1f7a8bf74aa6ad47b247ea09d273040e80949e59ba302c67884fcd9627c56e44ef5a2b3adff124306238e54138c464d61b237156a2439b0c0d0fc179d1534eace4aa7fef95171ee0a7fc1f572613c2adb92d491b43e1bd3af203014bcb566b1458034445527fd301c48281aef1589930ecefc51b5cbc114334d78457797edde45e38d3c27164b741f6386d3fb923d77d95ab64da972775a80e45cd7cc48a94f95749b2aa9acb2b56bf791215c8165f201bb1a5ae05f2165ff18eb26c104f4623fc902bb311d5ede300e4bf10b0bcf5c83e8e853e6fa1e7e0be4100b00b7b07c9eaa5887ac5c8a95161711ce56dba2d6a7f28c902715856c6363b8683f50efa7c0a332b3493aaae1b83ac6bd9d67144af011d3b9ada761f3986a0f48ebdae3b34d2221746d5f794ec15f9a5495becc85999c6823b00d44d0456a6daa425c109827803d3f95dbbd3ad2ce6db90ab7461629f4be59102696fdd2e558a1e29034c9713b62b220c3a04ba3ae70a967970790984ba1c87d1f56eccd3db3cc657a3d0572d09b8b4617f11a45c3edf72517e0e066c4be6a0ad48a9229f19098875351aea1be9201bca54be9cf6ef7d397a82914c9dfe800dcd18ca58deb8d72bfd7fe280bef67098fe789ba299c3266fd032d55c04ee98625ca0d749277cb09877d5a357c3eda51d490967e82876d2e3b7e46647faa5c96b3296349700ecfd4e6f15aca519cdbbc282872a61e62b8c23cc548ed3eb8d72a64edb6df4ea9666ff5fb4a47aaec84dfa90df4bd9b7c3fb530db756eb9530255cd0781ad91fa6ea2762a0760cbb2e4fe3191d6f5d928d313563c3982bda48450c75331c6c2950f9cfbe2c11e5f559a56be923016c2e560e57ef888748816e4daca00c938e5da77908d1134ee43c8dfae63740932c1c642723f459172015e2a124ae8d2d8d37790837b478ef17407a1d50c1a17367cd606ecd2eefb58c929893aed33090bc114082338204cbc7a62bb2bd424469d464bdb5b0d7e5abf18ea789044514e39205acc1d8762ed4e81dad606bc1cf5cac25903aa04b885ea9433cd3afb227c195817cc07d42b0b3c65157bd7d2f55a4f367ae4b83ffdd7593f9da1004c9884333f2bafc2c574d4963d5c43e88e570990a665390703575c0a2f5c849f7218c04983de435ea5c6976c2ba798790aa0497ba8b1da827af5bcd6d1fd716ef3668ba61cda7a584d85551e80c52d714a718bbbc6e6227beab8ace0a28f163f608a7a267cf4333305a3886abc849e057e528b06b6772864d1b1732213cfc2538da9ad9e12537f482a8b6a14c2a2607ca1f0623ca19617dde4dfc3aabea0ccb301a80299a729c3c9f5608e76b02faf8de1a8482dbbd9c51592025caf3db4161d73df76b866beadc10f8aa3904ba5e8eb465f0bd8e2abf95dce4971d713d49f6ef760c2a89e29bfec8f3a3321cd05442386ed71d48f8b3421f2ad93c4cd9400a2b742ea8dc7f09154200d861e6432273ce3855b47925f4428a4abe4ee6b0b561b9c2080aeb18021af50418398ac8a71280fe9530e104015c74892d77a7554fa6fcbe571e1d3a6f4cf473bf67eb48da9adcf274c62b52f06ee1886ff9c85f80e690c98154bd8013f65fec6c6869f164bfa0bab9031a45c555704bcdb73bd472ce5c08fc241b1cabefa1786f46d00643ae97438eda9d83d9052ed2ec6ba812ce12b5656583ac98cc5af30074fb68d6fe240191ee72a7b706c3074b8eb3be02ee281a2621fceb981bdf3a41221d32220f29c3548d5025a16c301cec105b8503017a0b20f4413c14cd94be409c0294cf6cada446ab6d7a6164384d1be9de48906ffe3165285711124ae2827b5d2dcfa4e3b141dc14cbb867f03d36a89dd094d2bf22bbb9c9d41409f092ca411969d14f9e91808c820a97dffb7d8be9b7e859a5d08f16dc354150e4063f656a9a6f5f8bc5db9fe29f6fbb21a11b1e8d3b263c10c2f44b96463f395295b24ba865ce162a705dd7e0586ca93fd12a2adb73ae1e171bbccf517ae7027593398e5b3db6caf03768f9b421660258d7d522d69259feca4ea1a113bf8224b29936c130cb02c56846b7e5e80fc5beb1ee61ed8d01ada39b422f34c8d71a5482d545d44d61acfed09492d54ba59ba88be822ef7a2893eb87d41b231d837f344da7391d26b243fba71a390f61336e978a34ca13c21efb92dd954f32c50699780d616a6ba4274995e56465789009214aa145befb5dd2ef263d74fc577a7eab35bad70b6a92d5af8466e1989b17a054ccc57cb0bad57d6f73d02a2d60eeb9f84b494bce6eb31e5a6e3ea15fed86de25801eb6170c49f97817dc27b5c804750f5f8888cfb5b2b8d58e1aea715318b414fe34d7a93b665844e98def7bb371e0bd03719fc3619ab452d7e41c4bdb7a24a244add01a32c51ff6b2dd7a186b7d970e90637e97e25588cd9150f95445fdc9f0e78a9a82623b24b8a3094c9fef8088312f5f848a3f04e315b9a8277f8a99489a71318ea0f4a9451e002749f5f2744c5f377df9424edd7136cc9e1c79477c8cf1023fb0871f5801197d34a0bc6717d7a2b4c244323e57a55c281bb8eccdce7aedda625c097c8959123a4fa17d40e05927805436c1012732a0e44b0f2dd09eabf2699630a71221ab4adea99cf38d1871dba148fc3511f9fb437383e5d083d558f57fa574d3538b97bc137fb61b4ad4a6e5de9daae6202226fba5b94098c68e289ac03f538789d7e7b4a93319e68d4c8438202a7ad266574c84c16113acd95e8054587f8c3b82e57baba9e09c9b747c8e666bd2de359b55af628dc5364cfd5ac9bfefd7b0491faee7c42b81abf6fbd0450291b8b8e44f11a9015dbcee2093e551bf5a58e255128cb515a4da67d05c465706d64cb6d5e57c9bac8d52a3ef1f472bb02a3e93f6c68bce246a5c9f1fbd51120b309697be3b9e1ce011b00b926e06abe12ffa6f6db10cc6ddc5fec50d534ac9c7c0c7f35b667e1a2614d9421accd470d243bc7c29e30d9bff76c40885842b8038fe19e0937cb7d0c05da1da3443686a336df7a3144c03dea8c2db4028fe17d939d9a50c4e2bba0a23dd2a1f865970ac22e42d5189627590209bdd1c92acb3e8d73108e9daf532470c98e224b50b2709ca587961a7ecca574ca250c43a9cd515d45cd1dd87e4b482fc2ca38375294a2889f1d6b13e9bc4d47f528a3c6fea97bbbb59be524d47a58442a1c8b430026ed848d76cf73708f017535a6f3ea17e1b6a4176c1cc80539bf9ed125c27592e8890307a0832f10444e177e15b12e5fa4b7407415cfacc4da3ca7f9197b8be36b5d9162d3f6bd7e4df1a844094fa1c4c6be382c3083b72741b86d9338c4bd927545119ea9a9574d019c382120042a230542d0e71dbf5259d1f08b6ec89ed5e24329b07861bab467c08c8984b8e2ce20c31110fa15ec732b3442c72f8961d4794bc8de6b96eea16087877433e836fcad38e9369774c960ce01fa7dd08ad547dc77f2c33877043b5e292e5b889cf2502595b1a9b280a8a7032d9a97ff01e1bd836f8591ac6c78996764324e6a3003ee1586351d5165c6040815c83e9ef68cf91280b53d5fbe5c374d58454f46a015e235337440353353ec4245cd1502ff1f742a87012a3a36cd203b10ccd26d89cfe35d788a2b6e2ebf7d1790f85322f962a2a0f5a912a9f14a17657b123e7b110c0540c73567fe0b5ec1a428a6eb7a19accf8a4a0aa6a4ddb53fa51c9fb6dc4b2166b9f3bd06da35b36448f74b5a544ac980c500d64229462823439dcf84c5f6465501533b590ea05e6fb8846ef9be53b209adffd4e1d07d8aca375c76375e12b2732c897370e63fc0f5e63c926f06f4e38297a491f3b38edd6f214d900fc33c757dcb0d40e020c30a05fe122b94342b127b54c268b442010fe423ac3ca266b89d36b558e640a3d4ea569915a66e8ae1e60e5046af18454de14b221c42af9c863433b3192af70ad3b85bc11146cd7b39a23182a296785cd0707065b0092a193a731fc4db5c655e5072e6d5329500eb92489f85f3a54e63c861cd66c95b8bb421d7a0b7291d588cd49468479a82e04c7533c5cfe6ccb00d060579bae4f1704a6dba17cdec6904b11b934f5845749ee343a860161fe5c2306fa4938c995a38c964fa3f75a8a0604a3ab953db7382e02adee4458d833cdd7d87fa38acb946f09918fdfd30b6e842324543b998d0a8fd01e3b9d042d1ed8afd31d4f7eace9e555a0ce5ffe9061236a37822415568931b8b182fc5cf36ceca5ceece71bc58799e540361e74019c68c9310c79bfa0d485a428675e1031280e8eb9dd6b5ef5a1644b72dbe15f71bc0563081bfaf60931a42e6423dd867abae42c27889336e73b450430839ecdacafdce6091f508e9f4107c3899476d2ef8800dca712b815fe9212409ea3c1b34388e6f7421112e34a55feff587c0af116942bdd51f8d46a127fd4e4e20abd80f0636c758baa1b8bb7b02a8692aee5631c4a9c85f50592f99250f846a45d5ede32294ffed08d8d177a09ec22adaba457ff67380d2c024aff337c81a10aa92ecdde44faa17623ed7ed05fd4f9061b095ff1742fa7c2edee7e2d71594843cd04e77e820516721377c00e34df18111304ac2330f21b16cbe04e7f69e3a95f4d2b87087081acf1366a416026a683649399925d62529e59c32024c52b3e2b6fff72738e38799a83bc703b7a73146a14501d7314b549334871b131755b412ee49e53e55ef2d55b1ae9960cb12a4c8e029ed21b5e281a46bf0c03dd22ce8fff9eabf358eb0354885fa242b40aa88268d7d3eaef747df99de4f265475f2b18f78ca44646613628d996c3a19277857e5c0c201a1e63e3a22173a78ea85a170cc4d8f6a2c9c1f35690ab7d9ae8f1cfee47d03d8c643f56f962227465606a87904ecb89a8b387af08571e5c3a8d340d137621f036ac38d1222d674ff5ad88859a6309136ababc4346257932329c26b27426f27b71e1a1fd89efec738e1c46f05d23c271d556bb54941264b7fa08f41e01a6d7f36a58b6003645dc1ca9a39f84c675504cc9b6606ebe10a746bc8c5e239455c7dacbf3a73a7df364f7ac6151c3ba2b46fbdb03b7420a0d497595039bce9c482f48e8e86dfce37c30fa569ff70c7f746f2ecf21eb8cd98fcf6a686005a71517b984611b423faad04a69c3f9e3f6a389cf16aba6ec6198e427a973b6de324d714005c1c0c56691e3c2a4b994dd1135514a844ab32194e28a59e2526fdb2f2dddb01ae2ccf5af77425dd6ccf57b63b2114ec92b9bfe1946d259b7e7811e2c8ccf51178188551608d505260b23d04d7fbf13493659caf9cd4d32aba84838af06915a5bf7cf4e839c09bf47b8a2be6e6ef5f83c1d25f03a6effa267fa5c186b0477c4dcaf25e60988149afa5be1d6980884ce0d1e08988a5232c4678d5d6b0fa1032aefb5440fee225f406002ae81719c725d768586b5bc0a990834bd7cf82b10090f4c4d2e88b7f2ec8529d8eab62b3ca7f521f6a7908aa05fe458471967ac23e8459df8a3446037dc39bc0aab387f92d1508c1ec0292ca2ade508f1d087b0474edde957531a89301af15d03eb1c3e5dbf58793c06a13aae260785cf2675047752438e49a5236b0b849ed8a46a1de45d8864468eb1905c06d8a6d29a520b8bfbdc098b7db52cfa715cbc43c014db52588dd921f98d12922616e122647a784a9e371e1ac2e021baae8d130d47560380b45d7b793b8035af5b123ffb5efe0d44f04a0405697619f913f01c87989c2e5121f6abb8bc8255a23c5f455fcd215dde1a4fe642ad03f02c01081babd6d91751de99c3d8df81cd954083238c293233e91562ac821120c0051cea3d081b7d77afdac16d4ef17e4dcd970f2fda700b2e17e15c022c3601425228a936590c5389ecf63ae0e137d03357c424ed98fe64942ab5922bc55c7f4ed3218b4d8ed0301f7d344b9ac33a921d280d76fe4fc1b196296b51462442a9b358e32d7ee7d1e9fd62d3881e1dbfd2a5889ea171710e4b512ecb4099b2cae2b0f0bb2be4947d370fd9aba941d98a9da6096d89a51a751e13758ff4c956653ce1ce4a3982a16b29cb8c44cdac3c9d515875048f4cfe2389172ab37f49d5a6057ddc26cf6b23a8779526efe3cf040eda536dace8e822abf8fe525733284b818251cce877af33b4a8c697704f520068fc2b92bd4d8f6206e2daab9e7134e13e9162f1e4e00f09441d52bcb59af5ed7e0069e0240dc316519e8e6e5b31a77c59e106dad3eef13c805ea13b9612e506ba1171685fd7668a321504b803018aebe059b925ec4c5e898d21e6441b2fb62b7756cabc462e4c848cd12cf60e77cc51162593518281e729e3ba75d42a00c94f72fc571cd170d9f023c0585930b1b830ba17a04f44a92176d3147a6f3b25154f644fc23321afe222324f5f149f9f18b2aacafd22d76df784611c8a8dadd3393cab4a7f9a317c08e1e142f241fb56aa33cab4c0283518ce0d772268fe0e30fb4f0eed4d676f1c038dceba4bded2b321bbb7a9cc5682867eff55a5fd64d0c0c6a8cab505f1bc4a702845e4c696ec3bf09ddfcd53b8617597d3bb8efb34bf3fcb70b2c8113d7a71c3d1ac4862d132408902b1dfd365b7a81ecea77ceb28ad5f2eb883b1ea2707f5716a4bb70e7b3978d29adf6eeef38a049f303920570cc62811771395c5b2b371cc2a204d68a085e2adfb9c1fa56c13260aac4b722538eb76e04eb4ad45dadffdcf8910bebaca6d9a384670847601c0284cab48f39e6c2beeb4441eaf8ee9ff6e0c5857aaf2bf47428bc56e43dceefe0a8f30b8f86361bc6a5c398ee0853a296c152b688fd11bf0c2b081ce318707a7f8effeb69d789d1131b7ab415dfe47b7483b8ec49e6cef92bbc7140a0a50db63c717bcecb2adb46ffc9fca6c03b322de8d287bc30624b58108cca3394d2486f8b340c336e7c52c702838525eedeca387b564c324441649741121aaec0b90721fe8d0d448c93d46e2dae483883380e99be0b8d10fcd308196d5094ea1629297c3a24d68075e30a61b72868278dec7fcf1e90590f219c61d61ea7cfc843bc4d7f1bc04f18ce39fbe6d8c8fc6f6811732c11e33a86b2d14614d7e3d70faeedf4286b5ad2da4282903c09b7d66c75e06e4df34cccf7a01405b5f4ceb4b863c06f06533e69c6758949828342fe6539897b59eb796778ef2a19e2114335862652fe98e7c904d60beaa6d4be701780678f2ee40b10da4b24c8f6120c03911721d03f53144f3f1f8c9f5f139e0e6e6ed2c4f87502230281335909247cd9c1b5fc8b7ef17e53925da8bf25ad1f899c9e12b9eca91645c867d7ba4a44fbf5acc3ad052ea04b05f6c050457c3c3a10abb0e9e277460129b2475563c179cceaf75041e381282729285634c41edf12b911e3ed301accc190fb3cd863426ff7f4470416a1886239852fc9382f829efe54f745ead3ca2a6e1df477edaf248d4227d4dda1457e5564d6dd775f343ba7344d60ffa8eda2f28722376f7f8b7f4a86bb25f6a9ec6bf389366fa4e82722e8ca43a688f4e3f5d6e88050e14a4d9df264ca5cc9d7eaa282b134d753a9802b9d12625a7e2a40a5ec8bb2f642a97f181316006e278ab2bcb14869aa3b6c1b3aa5bcc49485b228ab86010d9929091d17fc67347e9390334fce540a9a2eeecf244734ef4f0c53ab0e100a93391abd1f018c4a047a225f985a501a55491bc9404a5701e4c3b03589878a40e845c6835f3394b9ab9853552f611099928f727fb4749263fe788efd7465bb301440e180a6d775ac2d817e3836841aa6360cdb2be3efdbc172fd2ea2c5d6082192422b7b69cb4c32c60930092c095d83a5531896e686e6f292194c4baa4231c352aa6bc5eb86dddaf5744bd15283bfbc4b85bc296e8a4fa9a4924aeae374cb10d316bd267d1e118ddedab6a4d18da1ff46de6fb94726269a27a5d2e97b94524ae9cdef79c4b3a9bc9ecc4009053531d11426686f62a294be7d2e435ffb4ca793fe7ccec2d2bebe479f45d6bebdb4d2af5fdbc677f1f695b55be96b09af15ef65e7f3fa3fc66e6ba9b556daebb3ac66f5bab29a6df3b1cd616905c1284a309c90d8413c8a183fc8c736faff5852de49fc18210e52b21be96261310f7e223fcabf6eb41faf06ccbfaea5d4fd88c105d6fc594579330ef3258bf9b2faee1bad8f37463efc6755ffe4cf1cabf931d6cdf335ebddba77bef846c3832116ba5252cc7e8ff60e157af4553a353745929be2c93b8d5aed6dada2afb5ba88be8b6a754ae5e69be8668829dd46bebeadaade6c9e47ebb3ef1901c4fe983562fae349f9307a70969220f525bd39032514ef7fb40c719cd67bcb3fe0a61b0976cb962d5be6f7d685c3c3f5e7a4f45459d8ecdfd7cfa3a7a2a737370f7de82c254f9fde9624b7df9f7e1edd93d76629f99c02d39b1ffd76d1d55e4bffd66914491ad9b209c767bf62dd98f639a5b11b637df69d612788314df4a32fb11bb6cdafd7e6f0684381459b2382b5adc2d6501009c4abb07c18f27ba734e7976c3df8897cbbc17053c94df229106e47db63d1d64160cd1521626df9076c7dfd01d21f6d252cda5c10ac6d1067f26ddd3209cbbf7ae7e7576931b89382e9b7606a651896de7a63ac3f3560bef5d69ddd3c16ed1dcd4b584004b658cacfdea2f0e3cd38c08f2c7ca57af93bb44bfc78ad90ff6e4c64615f344a05dfa27185fc9829e38b46f187efc2575e340aedd7812478700a763f49ccd8340934f733a447b4d585afc8c6169c80af582bde4b87a794cf83afcc97361b7453b70e34f7e3051cb86267e3a5625a31c628042300bb1f2ff0c095dabee49d534e39e59473cab7e69c4eb69c53be7f317bfbea5bc473cb3f60f9734a78cd9b2110b8e7ef1084cf4b04cf9bdf8bf8da720cecc30b4311fc22b6b65a5d2b2adcb56d0c5fb1260c29dfe42b17f6d2053ebd28bfb7929be29b2841cb16c7f85acdac3f9789f15eeec7a60b5fe9b77e8776996f5d07d44f62170b9ff9e4fdd5b1f67eb51b23ffbd7fbf3f94ffe2a7cf1aba7cdf2a3c71a8e6bb2f1aa5776814f9d3859b5ed82cb3fdd9d3effba251ecbff88b76c95ebb36ecab4dc1d90c0f88576193fc17ed12b17cb83fa760db0c2620b6169c6d11d7cda548c13f60faf207385fdb4c38db20c6b66c82e55fdbc5c2e2be3903f845a3c8b736f9f545bb586fddfa700cfd994f0f5b2f9fde099f633903987ebb78d12ed6c4a1e2795f348a4c19dda03e21385c0802d7672b20b088f7c37d347655e5b0bbd27d9eeeded0a4bf19fbeab37dcbfd0869737ee2e85faf652fda9ca341bbf0ddcde84b1d92d0b07b82d87e3ec1f7d6a643129afd5cff926fc587d8de987aab137cf1adcfcd83df8df9be7098b7922c2a1c7be0ea6a0e8714d1915176911c4596088255b0fb5982e7b98c7befdc7d795206bb7f71be0f0fbb9b7b069eb2a1fc960f61dfec9cb4fec5e5961b4bf7b079401f9e7b47e3534a338ca7d73df9dbb7f5e967cc7a9b4feed78a1879735bf262f6e64b4ad15f3fbae425faf8d867d8e527b95e18165b97926ce6b2094be8588286c3f771081700bb1f257a602578f001b0fb5122085c5d8536c339fbe7ed1af07cb7e5f679b89af784cb30f73dddafa2ad2e15f35dc94d233f5fbeb5fefd7cda327a3f99d9d3ebb5176d30bbf3bacdf90a76e97cfa79ea9084266fa6f6af4bdfaf15f2c640693fc3b029f8d57b726c5d5afd9b37a65fe2d02fe3b56eb2d87db5850adf7f88e01891c30f911bec6f83176ab009bb1f2240b8ba199afb01830d3600763f5f00aaacbb1a405f3e79b38ff7e067f17837cfb74e8ee1f5b53e0b360fceda5bff706e7cdd18e7f9dc3c2b62ead37f78a75df20c6c9fcbe4c631a4bcd307e71336fffad66997f7d775cf87876330f9f6edbff8e7e681af9fd7cd27c7ef3a1816c77fd775330c9b822d8bb1eb5f6e4e9919de77d57f27745042cbeec93176f3056660796dbdd32ef4adb75b7db15e2a7c78610803124c4c8ea0c5c4af709e38d86a7d7c52f3c847f1758b5f6defadadfabe58584c6f9ef1360f37b9872a741aa5da6914f7a8ac29179ca0851c9c53302468e1042630818da7a0b53068d04dee409005f70111d83deac3ee2a6f1c2eb0a2310a3aa0050fe09c7283212efc0c09c1591a68d01f09e79e73db7bcf4108213481c756e18d7b4e48fbe50dfdaf52e10fcbe7fcdad90fa583872384931f2c14d1c10f1d68968822328de47e8660402a9560908591664dda65c1082290208f1aaf8cf3810d6470048c8c4a0898f872ca966f7193fa0822051e809191a1f90046be0c2a841130f1e99581919181690146be8c490222c0c49f57a637d0a38127c0c8c838a103235fc6680641c0c479a7e608c8130f61e80a3f6064d02ad8c0f9d091822cc0c8a04a08c14c47403f024c10af0c11882f872034f3034686ec411198f8f2ca381f0e181103181973880e4cbc2d8e8036bd9306029122ef5d59a3c10a8523a0a39c4268efda25ecc007d66096b0e3079624a82e029f26dca05b085600c30f3f82035b20f2ace0021b2bc0aa6b7085246664c842f41c291a28a0f880b4d16323830ea676001bd0c881713fe908726ca005297c6021510528d4226ee00526d82ec1115758e22ac00e6c7e7c017344b40083156457d0411734304ce18748015550820646a92528c106236e680b5e10824480253400822147001d38a1085c80819553c21230d5cf806951826685d41c71048c5bc284e34115388003520f4c3ceb083d72e0821fdd494002092598a1072e04aa07af033882f4c01e82a7082498a107151036803a41ecc1021d38e40f72f0821b4c0ed49081eb31c41652609292714500031484807932262918f8336012e04c8e862984066b4af50477deddedbcbdbdbd1dc5eeedbcbdbdbd9de3be4f889a830db4f7de2bb9f7defb1421b47e674196430db44cd39e3b661d0ded12e064e034d7f24e50a0a6f5b9545d68f4ce96163ff1d9d2f2d20204080a94f61ecc73aca5c5e137851937336e60e768c8336cb07b2759c60ffc6c6410002e40c0510fe2262ae4264a29a5f4491a49731375d6dabf4a9ab59bc397a519860b816eafae723084bd516e840094702236a84e04ed051081bb2b90a00037571042a8881f212c08f9e09c2204f4de0eda77e04e2888760750a108760f0056f8491db1849f54117e523ed8f193aac14f8a889f540b522a58a2bbbbbbdb1d6103178323724cfc83449028fc20b18422fca067c70f123790c10f122da0d544c2043f4808f183c4077e90a0616283942c308109403f4e38e2c7094528c0cd8f137af8b8b53e6d0ddbdd4990524a297d0335460b89d8ed5051b0d5db3000718c07e141d0f8780195cfd8e0896ba4d65efaf56f4c7debadd768179226117d67df37770e2679d18da98f7d673777edc64848de6bb48be8e91b79fa167b13dbb5695f4936fb95b4393cb239141e6d8dc2a2adc2757346000182e9631408ab858bc7f29e7e03f115f8b47afa5e836a5b1be126fa177d139b8b7742bf646bf14e28109b1bc2a3ad85b0688b9884c2f485307d8cfe0fd0926cf4499bf5239bfb81475b03c1a20d626dcb5dc467f431ea356a348a7c6bfd75ed467dc6bed7b04f2f15d6a65ad6f51a8d425d0fe6265a6075f5aa178d02ff45f5274e8eebd74cefc9717430d032e79cabb63ae79c75d96dc5a6c4e4a482abced5ea6a75b5ba0defdf2da1a00215aa73ceb9f3faa2e6d1d7ff3af22337fb8f7c1efdc825f20bf3eb34ec354cf423dae8fa8c7d7f16ddebbe68144dbbdeaada667dcd50606c733da84fa964430febdacd86c7d8e67c649beb81e207d156c2d8e67c48da263fcb35d7fad93ef6b93e76d96b7daed7aad472a40e5425d3a4943e5015a30799917e4567a91414e4a8209febddb81086b85a76facaf420fd964be7412ef46ea0ff88e8b3971b045c6c3bd84b45bc2ddc543dedee76d6f220ded6a29607b58b7d8fb145997ceb3b76775bd6ba1ee49b0b6b8b586ef987aae4464ffa5aa58c2e6459296b7c26082c811e0d2ca345ffd190318e883219287caa627cdfae6f2d9058400e23daddef40ed427076513790e54144b25acbba56ccbfea55afb2e229ca6e7f0792d78ade1ce5a63872f31c5d4dbb5877cfb7be3f63d6f5a046c19efe55f5e0f0e4e878f1cdea9d884f71787274785044f500f9d1c383aaaf64fc2abeade2d72a7a5090c8dd836875aa2c0f6a17a7820a79108a2182606882e2ad5ab3f758b5b2de3a4b4a26cdf7568aff5b95fa0edfe13b7e30e71104f31e5f691d1e6719f11dce23c8bf9692c24fdead75dfd12ed9b7e6feeeee9abbfbf31d8dd2aec129725fdf79b83b0fca0807c2e35e846d5184eff022b094dfc2593496212143457cc714b4f80e4e3772cee33ddc79bce765ee3cea77e63c703f7defb52da55566bec379ec48e434ec77b40b86659f4f306755cbeaf51d19f615b32a4c5aa8224342640b20be230ef94c11a7417910f21dff43766ba016f213f9f5c54faaeff01dbec377f0f01d32646196688c420d8469ac688a6eb17aab75a8a73ad5399d821ea8cea4026188fd460e4a48b68ecbce4901b5dfa8a5161070216b68719313d954bb68b2e433c95b5b6b257d9525f7e49874b1cf2497f4b56dad157b1a46eade2afc3687ebeb1c14107d9d839af1209c06aa482d922a8225049ca5047fa0e4cdc14df14da4a099664889f86df907fc46be37884dbed2afd9e73228d41ccae66c9410cefde21906e4df24a07e8f91687cfabeb17f8ebdd7eff5378a3a1fae081ce5ac526ed9f7b562629f75675a26c24e8edd4e354ad63a97e9b1b458a654d5924abdeb47aa8785f2d1a38584807cab25958a433f7cf0402780b5a452a6c7d2829952b347fbb8e962616d78ac25954a512a3fb74ee7a430a094a84f1499b4abaafaf951c8f4f61c8bc4f95efddce2902d0e899bfb41df9038240ec52136903a22917859f11b108bc458db0d8944a6d451652df2aeeb46381a2ae750b0af1efbcede67bc266e4e434a97a1278f9b94320e8944445174636cf53853eb16b1748f91888c4351080ebfb981657cfb51889536945687d4260e89d206c7cff2068eef88f8cf089700fbf14fc80c6129e3edcd694441d348a52a6e59a32e1385501944ac94c6215f11e2b108adf6a59623f69e2311dcf51be05c766894eaebe7e01260bf5e0d46bfc42e0b97d2a39046893faf15eed98f88436e8a3bb48b6dcd8adbf56ddfb64b13d12855dbcec1f5ba6abd573b5ce7e6f0ac709c1365c4115028621387cc08898032803478a838e4dae25b9bfc26a25dba48a3545f553ea0dd5e8da321be75b1b0edf240e050e2574f08c7b98be0ca07cede83e3671f620da9ee4786e17e60fa91c6a138a45d289138a451a2a3ae3e01025a2a695a4b0d158d1d610e8843e9ac7e3e968fd5d521096db32c47d17fa5d28543c021a00d1ca2511c8601fec09afcfa5ce8b194cc7714ccd1d78a761b38c4843fac5547d85bf27beb9aa76517bd3d332d6b5ad39ad6b4fee5599635ad0c7334bdd95f7c927c77937c7f37c98db1de7ecfbedd6d6d6f5bcfd88fd8c4d6c33b91241723226be7a4ef9b75330402bb65f9780f0f6ccda7fef45a37f7cf7f795bc497b5456ce1b47ececf9087899f25af8475a7616edf2ddf6e85e57cdf9a869be49b4041be0df273f015282d7d2e13a39b089cfd2d0bdac01bed62bd85399a05b5fc7acff6e7632979fbf649fba49ddf6fdf4dd8123be5b3ef44da69e7fb5f15b6a6d5fe1bbcd12893b4411b37fd7c2ca6772247eee8660d9764c3e93ea79d966559f6e95b3f876817eddd6379985fef373b0a6b15c66e4ccda70a5f56d3be6a0e573d3d393c383c393a80b070f07c398fe5fd7c514f4fce56e192edf1e0f0e4e80022ff806bfc81eae9d103e4478f1fb46d9a9e942f2584b8e76747611d92d04e158e89ede1bc93f9254f079e4dc39d4c1b3cff92ce01c1f2e110d6b22c8bdab7ecacdfd0060e4171aa452f1ca25166db6c4254f03529e5c7777d614b0a0c2bf82a745351712ab37d090754d95a29a62d7fb5c3f153440774c997c2b946da4a6eaa2aebbb656c195b46f718697c9ab397eedf964abb6052cbe43db9bb1a80c98f5beeeca47a6d11fb967fc034466a7d6ff26608844b9140bc881f58be4b69977eebca9bfd92be4265fce837c60a575b7cb9991ca1559f2d9c95f55c463a7fec728f917e4a6e891edfad143863df57361add9c02774c7cffebb3e86658d66e16ffdaaa2855521a25be74af2ab6afc7ae53b91e7b8b621b0a7c6d159e0f8857e1924abb441cadad04c4e36b8bb8a2c0f1e7cb1f60095f1bc4d6964938aaa8344a7c1a55da2566befc7c722a279df39dbd54d01453caabd228b11299a0477df725146e06c70d0d8df5b1ea1a4843d3838603373d7ad6b804541c0fced0dcf478eeae91fcc4d1f07cc6677cc6677258fbde7befbdf7de7b9a3bc1475fddddfdc6ed9b711e3c3ad8679ef59c1ccfd1a9f4738700cb171b9c65e47b7c388d13dc5df4ee3ee3333ee3333970f6e73338fcbd7793bdd3bec11a7dfd3ef2b49da6517c4634721a4c6bac5be434daa56917ede588f381455bdbf0e909010dcd8bb3b897df341d029780f7524e1f239b0d2f34340e88087e381f3668685c0f166d1d8296146d43434393eb67ebfdb37dbf392c524218de7ff1d8d7bfb845619030fcaaa594920258c20c03378eb702242c6f4cf5d35992078c9e246dadfe7a01c9d7ae36b9a24936eb27245c614fda46fedae236471fb7ebe5565d24231be9b12dfb9737daae6d5a377509c503a580524029a014502a45a402992c6e794696bdbb3acb66e05f11668be3cd306cd3c4d8dd7f65dd5d9375cfc418bb69b22cfbadd6ee4b8548fb178c1e93dbc8bfb89bdc0b46af6d2f18b9330f337ad156fd68ebae70208e77e337daa66bdc0473d748f9b9ba27c7d70d8d3b7bd13ba9c1ba6937d7176db9622fcaaef69948bb31d5678f65580d6c1b5c5d34168df2f309f7ad80c5f0c6c89f3f6325e5680b4206b6fecbab2ca96b9a46c394f86ac205b75de32bf19f8c37d3f09507af7c87d5b6f063cc27d2c8a85938969777f23e4ae840cf868cb15d7c36a867e3dd4055f049482e0f376b1fdfbb597b5fb34df4dae670bd2e25cdaeda36db447fc5aeb217fd8bbb49adcf1ce6a1ba2fde7a6dd9045fd04faeb79384afcfda25dafcbaa1fe25dab26f1af4bda76d6e836e32cd9092e23ddacf46e38c3ccb79555504fcf17c788f6be2e326784d7adc64b3f797d7cb9b4d7a30fc67dfb2f2ba979f6dc3a8d1da60bc1cd8fa0ce3e548c19eb35b9fdedc2f0785785ea7965fbf3ed89ddcc1458b1cde7b2fc5eb2769559bb8e9bd5b1d42d81fa50f5d5a40a5e3a6f77460f83f7cb81e100a2056e0e9c031f03e9ef749f4c08fddcf1020aebbbb61f5319bb018eac1d06408e71804c37839b034d94175a930e1216594f0525145931ef9263ce00edac561f8263dbe221fbe9b0c6116f5bd780e3c3fc720f83ddd9e4f0f375141cbd6073f1edc32f7e5f598eca051e0cfa8de5df1faf070a5a2b26c4645d0862e21a00a2504d4409d6a540f754ea35aa8851a08bed73acdd33aa9542a45020b420b5a9665590ba105df7a36454ea1a2f25cc6a5682ea5456bc1d7e714f8c23a9baea2a282b3ae94d05ac7c77b78344fbfe6792ee35aa77d5ceb348fe6d13cb2faceb214fc3ebb15c2097ba7777a07cb21e6cbb7d0426b6f58568416be7dd67b19dfaacf65aefecbba2eebd87b8d65afcb7eadd96fb8cd3b697d61585fabfbb25ffb457df3095a9bd768148b4e79338e5c80d7d7adaaaeeabaaeabfeabf5abeaaafeaa37e0cf6f697d6d4dd3ea6b37cfc01a7cecbebcabfec9f1757d7858fb17cfaeb72fc2b09b4f7e22bf37ca5afbfc58f3dcdaf5b6efb3f1767b361aa55ee76ec652091f25742e0e7910a106a28d6aa19c650d9465198435fbcc82da6795becb1362f2473f5247dacd2276b9d5a91429652513523c9771ae27c56b6849e1dc7bfee8896a06ae54483686004a299f0dc4711c374f5a52a29ecd837934ba311a8db6d2a68312f18e7e14477e44250984d7639966e2ce2b31d2c81dddec4024f9222dc34a1a3e55d8ba7906bd243bf2698518abf89ecb447f9f71d72bf951ca7e1787dfdc701b8ff45f3cbee76fda481d94d0acebabbff9e9fb3afa987d7c519c8f45f4f147f145dbbcee096a9bb399754f0fd31a247bb9cca92ae9559472c66ba47cb765c7d1b27a5296dc645f94bdbcd97a9727329fdec59f2fca5b7db6cd77126fbd6e9b0fc77aa7754f27e8f4f46a780daf2103ceb05ef9c03977d53f9781f0a1ab01be7b38a6c01e63a43fe39c31ef667a5fa55de0fb8de9bf2a8d52c1abd2286e35acc1bbf170de8dfa6ebc89cfb3e4b386493e972e1294a2d275ee64ba13519e25d7b91379b3769d3b81a327f9912719b9d981709ed73dede652761dbcf95461f7aa4031b5b29e8d67c3473c820105f45c06d539a821200b88ce39e7bc19bb4c31da9b4fd63db94e2a954a55416436ed0c6f72552ec48760f51e0431afee090605a182e00cea0f0938581bc29a48c3b6791e4b0c540621f45a713d86a180504143f3e1601295e23ab195b6d23b992dd45ed7756196e5685fd75562e233e94d404c726348f4baae0bbbb63cba2d1826c316c3e6dec90886d16b287b6bafeb1d0574c3a6a667ae2bc3667c25887e7e35f844e9a90c4fdf671e4b0c34cfc8c1271894a2052d433c7f5a6aaf0b75bd035d4566765dfd98f598107a5dd71009c36ef621dca39f8f25861ffde8e6d1977c1ef9920b31e9c6d0918bc580fd7c2ca513385c4f4737bbb0ebba1e04d428f4e7b5e29a7f5d41a2ae3ffa8cfd48945d9ffb459fb12b7a7735a0fe25ca9e9ed8dc3bb95e86ad747d0c5b15696e8333a7f1e0534c86cd699c8861f3194cbfb439203828c871b4ec414e83fe151424dae86b41d7bbc7525d7f5d379fe067ecb3cfd767d4de13c4f9ba151534542d8b4ecd4b7ae0338309ed4763a4917e5555f1d978369e0dd8052d7b3e959dd0cd96f3ddf8cab4eed978379e4f7dbaedc0c304ec46014a2595545279d11267a35d4cfc8be173a9c4da6adf5e19c33d3926b9d7e7d23d3996f65e26b6dc259764e3e1ba4cee8d4894ca7783be47298febbc1c4cdf51cfa65dde5b2230bd39e2ebbdf79cc823e2d96817fa92082ce5378e639952e2f4b86b92052d3b1f10b828a58d83f37beb943e9b7763fbdd78361ef6f6e67703bfef396337f6aeeef7cfa651e4fbb5a29f661744fe88e8ce3bdf8df76c586bab2a9f8d9b4f95569f8d46d1b4af550f111c9e1c1d4058d2894cf9d38b10c1e1c9d1f16c4454911e203f7a3c1b93c6bf9c8803b910374917f2a394f2aff8cfc6b3411dc851cf067d379e8db621750082603da964359b1a47f39cd03cba06c3aaa70d8d5d339bc77c267233cd70496eaa7eb495fce42d4da3b12ccb9a6f59d64fb7fc455fdd618c9ae73811ad037bcf740eec374ba94dd83972344d8e15ede3471b300cebe3afa0e5a9559ebd6f10cf6e9f89ed33b17d264a7f6ac538e34f1b696937c71bd36ffdfc8c7d6d3b1f3acbe8a7f51d2716a725aadc57dbddd65f9f2d0df631fbd736579d0f8c6d15a63ef3d1a6196d36f88b9b22104030b6455cb335a5ebc1d806f1b5e5961438fe8c73de18faf2a75421bb46c6911db0eaae5605a7dfa8e04f58d10be1b5d96d9ea045bdc68cd790e1332c7f469824243b73746ebc6b05745e430585d675f3edf66e9a5f6d266e9a5fb299dec97c135b4a4b0d6e9a0f6d5ff4962a7c2e53559452cb725e8352cba216b52aacea871bb5a8456d20fcde2c5855f4ad7e4bc77388c0d6fb8cd7401dd8bab9aa5c87f5540711f8d21e104c5b3c17b4aaf034b182962db61a695ad065aa9a0a07ce4d2dabdfbed7f88d8a3e0b782d0cc29bb587f0427863e8570f1f6a10fea4f904b18a5695555dafe1358d42df0af9e4b877787678767876786a68cf6a157c45108108da614f51a590b3925125de149546e9fbde64a3f97b2a296c5272aa33815dc1183cb179dcd43e482c5f06f6af686eaff0e3d768b996b725c50fe0863621dc81d09d67876787678767474a9e1d77e9d2e50dcdb9c92194b182406a3bec4f81aa06aaa4f5957ba73aa7519d4a51839b5a9cc5c44fde0c0310427b5fea144908cd3f4f3cadf6a3ea61d92a86dbc8196ee3a6f641e228c3bdf25bdf89fbdb9b4f2cbc6f4acb56dafe9d6c33a470d3fb6c653af0305ea30fd02d73fbe5f9f0629e31801068fe3a2d69a432bacbe48716bba5e5e6e02b52be0d0b6814114534f98aa4287e8694142e080f1070e12e8bb6f422448ac01b763f4472ba90836be61d55643c3fec0ca5d6483f8a518ee2683412a38c3f8a61e4c6c427913c499499786b341a8d1e4e8fbee1c83f9b116b64e25fbc64f4264c9446deba2354f4da899211699db879deace9c831949094466fe25a3ff225d6256da42d8b4892d062445dc3052d4644225ff432be227b18dd3ce31467469e6413bda6916e1eb9cf46147de3bc1bba92fd8af62f7ed491e34347071136fa3e9b46d1fec5fb5bbbf4e3966598a3b0cd4e574412cf06057ca5efbb711304e063244d092db7681db9d012fb3e1b36b4bcd4b0004c478e0f1d1d443c1bcf06732c7fe995aa67c385bcd4d912aedaca67bc06c70da9d96893e43593c49a2f7aaf219144246f91ccd32b7d3e3d5169737e72f3d4ac18b659da9cd7b0b621425df0e135b2f9ef7380408b1d7898408c2fe32b735e1a6679cd9c3e9332446becbc86dfb0d62ed105af6133ada5000caf31afd7f84cac37774eacbc8689cdcd7702df88633d5f893e7b0c9359265bb097fff2300dc3b26ce425165ff439c5e84557253db6650d3f97899165d8bf3c6ccbae8724cb30ed53b08c247bd293fec5730bd61ebb3905d62ec47664f49d3d09fb3c4754da45f4f22bb689b67c7d1c11d1622e21215acce503bfefd1f52e7c45def739642d76e06102da8fb6cb8a6ed6ae8a8cf5ef2900039f62d008a206874d1033584aa3d87a59f65adf5ba5d63b9a422445c5065fe9dbe2a66ee916e02b947e41cb24212495479f0ae1d7384e1480a162dd144a73bc2a5688544291420d7990dc422820140988f4b98152a9e73228d45009aa4408488ebc6c1dd248eba4525ed8420a28259442a53a070c5e480981610b29a014aa51e0774eca8aafc554eb6052c8c1d542ff06d4aa69da8d3ede13a5c8b2a266e2a525ba31fda37ff1133c31233ffa985df46b25792ea351ad7d2849d32c517c11c9cbc031da93bcbb1a109fe45f3c370f2c7a4b7469b6463e92be6d48d9c41df968694f2212ddd1cbaf711b6d39fb91afd19a20e1085a4cf615ce23d94fc05724fda7ed4001183df8ca1bd9b2c736ebe5868d6e1659df16fdf7a7180eeb1b1ccee23a62ffe2f47bbb22bd5f2802770dec7e8af84057037e0c882648a821de16bed2b779d460eddbcdc26d9a14d1f267c980363982d638f795bed22fcf3011b2f2fe74f5ce456feb40ecc30b43186cae01c767dd4c2f3003573958aac2530f3028c0437d8c3a54b40fff7a375f7bf995f4fa7e657effb22f2e66eb7dd128d80b0784e78b68bdc05e601886edf0026503f18b1d5c44613bbce0c1e60586612faeaff22b59bd1788ee7cb56db5d5367d05d617c4975b35eb4fe8502f5e606e83a4a4684c254525458a4a0a15eb8540cd574a2dd092504c092966af7cccaf1b26f6d676c98b5d79ebeb8669ffe55d56c53625e286e686e686e686e686e6a6331ca1a1e971d3c3d28c7e86e6a607cdcd0ccd4d0f1a1a671a3121faf7da687b713410a123070e8e9b9bd10d7dd15b232fdfda27b137434bfaa77df6f3dde61c0d93f4ce5746ae73d3a419d32189ece6ae19dd9c69552312dde0b02e4a488949e7a2c4e8be381aa4730990803b792f7ae73409b8f72dec3b1a24e058a43b792fdab2c4dab5404be76e686e686e686e686e6844aee500c3b20c4bd9c28c532bd997b0fa85821f55a503731e118eab0b75b80936ae2ecce126082fc47113cc106784334dbc3b9276f3f5f023e9660da378adaab48fe1923e86d7fec4268386b5770ec556c29a93613bb1c550da9c3bd1485f6927e81685df6b0fede75325db82dae8b53b7af970087a63460fff8dae8439302455d58c950de92bd2c3ef6e12945ae5e29dc416ef247e056de00d88e32bd5ab2a1b7803dac021208ec31f151c02dac06f9b7712bf6473efc48ad1e2b1f4a0c5af36f84a2d71303d4923edab5b135bc394a8e8a78d48d5cf92cdc154317ab0aa7df758de5d26b686b9a49b4d7866cfc4e6604a3607d3c363699c188fa575bc93f89a56fa37456932e52f69f10525df3a1ecb9bf1cd381ba74510d36df01cdc14af0e496810070e21678c38891444236df40fee381ea18a47c8692f9b73281d1f3a3d747c747a7478e8f0b87beca5e8e567e79137dbd7e4c748adab65183605639f69d15e2dcbaeef688fc5afb08661f26a09b26f592f9f94d80d96fd175fc1a26b09d2b4fbe2a6f798c37e54b72ffbbac17a9b659b83a452378f436943b8beaaaaaaeab623ad1bb678274fabbcf2aaaa765abc916d792c3cc8cf19ce2d1bf68f25060f8f65ca153e7418f0f53e74181a6773d2772f1ec31141f5cd59a66dd7675be3188f655a357b4cf4319c5b2122fa17771b743494507c0bdedc497f8a45caa64df591551148e409f1210fe226e842990b55a28f23911463f6a4128ef1495bf623db6873eee45489b65305ed7cd90f31f420f8b3bfc270de9617661ef4a00b651ee4402e74e3412e74e3418fbe2cd69955edd98d3fa3f5ee35ceaeeb268dc732edcdb3be27e9cbc6691c9c784b8e86f7a418f07bff37993ca807f391145c753e3b3e3b3e3b3e3bcf67e7bdf760fb64427c84606892040d3a0b0f3b51474a15b2ba54546fe7f93c9dde691f213bef3d38710fd5e7ecc5571cb79df9fa52b32c7beb86ac07d1570f3159af76b3866bcddc63e999ebab9b339cdd10ae68907fd9868e061f1a57ced1bfde3d9be1dc3313d7ae70e3ec7ae0be3a24a13d9f1d9f1d9f1d9f1d9fdeb135a8b5d6fa9d738d1e764ee7e4d4ced972aaf5955afd65ada8f3447ebfafc46bfda4d687151128e40d791029a5cbbe3119e3cdf6a5f6578c31c6576b95fdf0af9cf9f510d31b63b17b7d76f7e4d8eaa42c8b695709eb8cb14201a1fc282584104249c2f0c6c4a7f6c9ea200947fa728bfdbdd9cdf4f3cd3c352b5437da483fda48f21f863df6ee8a18f62d81fc86034a49f92e30cc45a35c74aa813a85612e1c4e89522a2250c81bf220b785dc04df052ade06c2e2670ca8331692af0f33078463f6249bf3932c8eae173d698b2fba4e742f0c8b5d74b333025f5fb57b7ad8ff7a593dc47e632cccf54aec25f6f0afef0b07ecc6545f6118ab1ca824cdd874b9646a46000000007315000030100e8683c2e178a4086a2eed0114801084aa485e4a1a09e42c09620a21648c3144064440400044842680004eed2ea34583c4c5ac027d5fdfd2ba6a3ef94aff1a98dcc76efced43513f9da65e0fce90b0834aaeb3fe38defd269e66e2be2538fdff19047d5998ab792ac29f9a19eea09d5f4858211b59a85a2251608026404c80ca0c6d8484f8996e2b422634b23407ad92d1d28f6592b6da04430e643812e49ecab2dff2e57b58afdd38eee4085d9d2ac6266fe3ff176d78261c62c4e0cb4d3b8c66d26116df23ceaa067ad80d5026e870f86dc2e9b31b04ae302bdd64b5c8bf1e98ff935e670609d1dc91ab614c5d375ee85da48c9b76de3aa38fb8b954d042a777b23b269813371d9fc3cb2a024f344aff209bc08100ee15b56c992de2a0e58a1a39dd68300bd7cd092309bf6041e9b5bbde1c48fac202adbf6ba6238c632119e30062156809eed479f1693d1d618fdd0df93893346b1e8d31258a258898945de0c5fca59d7045adb1d2e9ff9da7f1f641645043183f3a13f78ae8c26bbf583c499ebdf9df896bcd93e948832a9ad649a9f6f49ad028be6ee54c6d972b664ce1b19f1bc0de5b47bc817c610b1887d1247ac74f8625ffd822116ed7a33b0cf3002b1bb21e0367db6e1df9d4e505302fcccb0561e45dabb5dc2e957501edbbbe8df4d941eee6b6129598981b425961d869183676648d8755fef734ef3b538448d2f551f748911cc03eed9fef6b73544ecdd0e1c8ab44a11272574739f63e7e558320a41627120346970c21367522b2f2e00826baa57f87d508526e3162af3e617fca97efe96606e1b45f5f6cacc12e05ee4abcec0879ad83fe818de16baf36fc13cb3d97d879822d51da2c8fc5c06698d0c6441bf55847ff27488e44297c83dc10be4fb962a7e4440403aa6fdb4f0680f43efcb4268467f7895c3af51efe83581cee6b950c6c39903390290d4695703fa8cf4c31eeae7b14b2f56775099b49d9db72d21535a3fd2b018abd5ef83cc5c7ac469c19ac559928067c1285a8ab4534040c4b860d94289b9c824cde1582fabcedc1e98346f281aea2dd6b2d965e715ab132ee50c93046c9c7b97a38dbdf4d92cb6f97616d2a8cce289c032d64d9deae4ee51d8d273795f058fb15286ca3a5c149eb2fe87d57e9e8c18ebeb03943f4cd764e27a7eda056f192f844d05beb056660c96af9a95916d0b45bb3a8a1bc1664fb38194975413aaa3a74b4069a47ee5204ad13534720e8584b131633038fdb15ad5a8c93d2d03633f707f44dd5bd958efa04dfb3e06228f823493372616e016265331168531c17c14de114a086a200f32cc8aaac5220159211651cb685669d58a77523cab305048a24f2978717e0c2d991ca3342329abf0250f3ab4679b9ec842282f487bcf4741d9803784bd6e5aaee27dfa971b1132a27d27a9a204912e87dcbd547d1e874b1fd108d22024310f2660746dbe79eb637088d4243b9458ca23f7389c710571c2a976f493a52123188e156049933b027d69923c83f242dd35b7c0b1a96f5c73c18f489e0c11859e65574b9054cc7518ecc14aa4f1a57933ee3de727cbd69246f386e5cf9af115e414a96652667fb79c9453b21cdf8517b62d110152704a9783c15f52f66b1a49599b7395ccb1947437527bb9a7299c949a4eb7cdb6313d5715160341d4bf6dd0f902a9726a3ecb631a57fd1a430493db97fa79f18d5b793a1b2726488a7939610efae400b41bef6899c3908747ad00cf59a137da2bf468c85fae6166aa2f7dafcc531f2fa1395e00e59c5c72815df8f06101c651f5da5365d2b379af449139997d5f2671231b7ba8272d395b9d35768aedadc9866fbb769863e99fe17ef8eec69f4eff1e370b4ddc4ade58c7b0e11908c824134dfc60c80c36b4284a22cf9d0e3f298746fcdbf554347caf969f7281ac30570371750509605ffe63437f4108fb1065b2014bb8967c656b9d17d08f10603b4699072392276ad7210102ccf2eb64d8b041d61218575455406c87cd202b2a9c11c8a5c9215cc0825956cc4413bbef9e259db68316d561f295eca1f010825134a91cb3f6c39ec4d1c949caa2d172dd7542404257ce552dfc965c9da1ca88b16551d5a0e7ada30e8b3296b1c2dabdfb43291dc57dd58dba25c274ae8ba159d2693cf710a4a97a2fec2cb4e32ca13e5028e6a1d678944ec5254722f294776ee94e85c8a7b57598ad980eb2e14a913cbaf4ed6d4946377beb9af83e95000a65cd556d93a65c4f0f8c167f4a5e42f91eab4d0b28f55e39aa0155d47f671551daaa667a96f796847b13ca98ed057017a3452e78ee6a5b20a9df9d30fd02aa9b9756869361e53766cab3c35d61ec5425ba6ac5eed90a889caa9db9d8e11319986d40fa7406781a69ced7c3a4fffee8886ff78f66372965e5a01c0d23f15616860ee79868f19131c3a70244e48247f588588767e481d09ea940ee094d67b47e85b18aad93e4fa858429630ee1b0d595f73263d4b5cf5d2002962295d3029c3757db9393d3b1340e07e95b64e9fb309046700bdefe1c602f84d6a83c3d01688bfbde43d75f4de0db77a37c0d0b95f07c1c00310c31aae4e0ad36001ee4ca8111c08cc397170757a4b7df0a1b39d0529413d157ff6e757f73c8d6a7ea3540fb97e460a8339c1d65f12bb64d8e739dbb051ead3ed33c5dc02a00a40b4d1672ddf030f4ac6593f6197df4be4060e6c06f1e069e3804fcb520c13e05182ae1901f18f91509e9506085dbf2a432608b20deadf9aedd365391f401f04fbc8ec0c2d6fc3889fe481bee9376352a0d4b244ef1a81544a8e89e877a9d748f41c45f117fceb6dc96b4b3b27409ac38184ce1b1a0119896ef6eae2d8acc8b823ca3bbb68284ecbe805871a3acfd2f4a2372ec90ec2ccf6c00f7ceb26a6ef09c195704569d80bdac1c8ff297ccedeb7417facef85d2c0940c6aaa30d9413e2bc79f008f29b49d19de0c166373a86b9120f37c6a06b093170b9136f08eafcdf939d8556de54da8bd76caf50f853103414df5b039d1ab8849332d9292001a3ea5cc3b40f8c0b56fffab1d6eace69051a47db18b668df6c542c9cdf38d68ceaa1ed73dd9e1ed6cfac304092fb3e56a6e351205eb7f03f7efaf2db4c8af6c15ecb353deb33e0b90ad504532ec2750abe03cc48530580093360d4d48d284f23edbd772c3061d8c1c7bb74c124054cccfb58c52c30d02802ea437e74bad2f8b29c257699b89910d0662df0349de26a3187df843d856e21722a5a10012d6d6e09b8d802399b499359c58e87342495aa6225b340462eb3e853378f41de5766aea31581e958aaf3f223db24dbdac54232120a84bcc506551cfba37e8a3227797e513b78350bec5294238a77bed268775a9d548f3371158b7a838a3df1108d4284d9ed281f3934cd0263d05236aa116212c42b5895a69d7fb984a8492eb5a0d96f370110f21c59e074c5f282f53185f8b4733bb4377dd46eff38da5e82400ecaa00faa097899ce16d8b05068f1f67ba372d6798174738f661d739fa06b6cb2bc8e81f78140220adc42393438c8492456a0081ad4a5c99d0d7a7ff913862ed98395841d6e2f8d9afd1684b0993c9b4e508725d6ed3c3e62e36ea6deb81937b74d4cdc8057c467f0aff554c5965592839efb9c6f74e0cfc4cf321070a12791d99094e221fc05edcd3489f44859c8ba1f11bbfb4f6529cdcea5ef5e1a79d4567a6ad26e8ce51cc9b026de7ba41e9186b986b40af72db4490c743ab93289f03ab339c8482b6fae95ee4c0acb166390863fd39c0d3df3cd4b6d3ee228f405139814c8407b2228b5e66f9e30ae9843d2fce19f591d4a4154faa3605574e49ea69e2a19bbce49211c380fb7aea4210ca94feecd7f7ac41b037d0ea3ec08f2cfc948b0134e47d9d993c781d1e6184ad372343e265a17851f678df18640118946c84ad5c9eec851e2c7ee0eeb0952230cd96820651755abbbcfa07cf90bda3699730acabae6cd5aea846d38617eb1dd3aec36abf526087f4177b7daf4354fba2759dd00ccc90cae4c17e75ab639cd7843c5a6502640242ae93e35fd9987c14c0c4ce70ab16ddf8be8ca60a64995587a89a4543ddb3b468468ba46f5a90ddca4d378f04355cf79abd96f1879aac65b3f01403d9abb03b40bdb782a0eecdb9f6ec8f8d62f6a5d6e0b40b9a1d56ba9db6e59b5049ed3763d69d3522e95e257beb095db4d5f5497a1ff39751666b1432bf0ed5c0e7976c03c68cc4d605563991989c793624e401b8a72eb3f77db9e60fa2e0f531ada8dc8cc2678e38980c87a16ab04f5087f46bcd097e45d422952741334718c839f542cac4ca1103d869d9d16c3a390ee8ca601ed8e8fe95265e42c041a1a66d336ac0604c06cb96734d61961102f234668eac21ec10581ebbc1d8e390c9783e8cd756911b09298afc15fc1f44866252654c2d3f76c74a87b130f0fe7cec83f1311a163ced03c701af43735de0fd5937fc9d81861db1d33577ae5edfa4bd9ea24bafa29b99de4b31c00011479a3fd46b2bd974cfc65732395c15fe1d32947cc56d21039b566a57d63e9f9b0095d56ac32cb0f1cbb36044be2143bb157eff18800ca6624e6deb690c56a81bbe4a2c68df9c6b7fb6feeb55b4b9e765f62ce7d0e714f172fce10d7b23d99f1c6bcc934fe24de6e5a3c4819bb061e2c0a6e3e5b8a33102ba0c81e806ca9d91c38b28bbc82a28c32e7b0f895f9e4083e8ff078d11c2539ee104729a90f940bb91740fc7492f69b9c7ddd8b9a85a17fdcebba1bcb6a533ee4def96f162abf1a877e6358afea88d73ca18eb4b7ef6c8e70000521431378082aca6a448ac6d2eba2abec0f5ac172e6c71e8d410149a60d012c56dad8ccf7381b89d42a39e24ee9b66faab9d3c707b03d81c4fc35665960345d31fa6817f19fe2671d8ff8bedba5458301a5b1db2aa8f4172bc58f8dabff9cc49ea1e812d6d72b2ae97a93f4d2cce59b4ded20177f613372770bab4addad1860d073cd6141591823add6d724cbad9cb1b5f53a84894eea6e5ce61581dfe1db799639cbb8ef407f72767675b59ebd1a67b510295f3dfa1972a20003cbe9ae850ce5f09fa367d6c9a993a4c34871aa976fd66c3fb5b609ed75113bc3e32e0122d4fb8c4292390db3275024ee5376d49d3f9cbc5acba5b97cc1c0ccc221b6367abe05c76fdab2949ae603ae89ada07c978433ee338b5d2edf15145fbb5bfb42b3b2efd15b1d41af15d429127da612616dc978b37c4c7a3bdc095a4690fdfc8cf84659d883bff7e0e1f834e36772bcbd4ce9341e83c78b43e208cb85353e96f20bb43ce5b358da77ff2bf89497af5ec3966fc8abb9fa176f2063de3183f04797a14d926fdfaadf253f9c99d8aded134a93aed150f7fe2fc3adfb7ebddedcc3bcf453c5524f686ba889e4a1e0220423627d945505bc696dcf317e13fc4be7718c133bea8181b5f1d948c203cb627f08202f81f864963595f379a01aa661afbb8d467f97713dde1f69108a6b60d4c1c9fd8b9a65e5bf79dc04728d3951dd48fa95cf6b1df69d74f10c5f47dec3531e079029cefb67b1fa9fe5b77a3a6fb954b266b7326b07726fa35b9b150f50a213c015e1d7f1f07f190ca6cf8cac5411ca48e2e67764afdc5f45f059bd6bb7d14bcc922edaf23df9a1f00bc8a198580b4890037e9a3829e7c1d3b93c37af9b1c01a609fe0fd3a99c2484b6be08b0c465044dcfb1b35194d0be0a28441452bad417c9761036be0c5acf026f3a259bc6610051f8080eea06610a16d270bbfb3cf7feaa3eeb4d8b08c3cf69e11a03f553e564847231a1a6ccf6546d31dffffce5ad5023487cdeaf812a65cb1406b0f1c03108d972ba5464ea43484a18435e5bdd683ff58fb7da9abead4fafa080ba0f21f4ba30948969469775617de02204af0913afd6cdcdf962d42917efb6dc9d2601815c8a2e481edbc210c39317f30c4ce465f0ef0d7d27e92278b03cbd9a3b3de0d146640fb11cd3ccd5e6ae06e5b02be04d4eff6bd42b209205a3d5d73947a07508fd30bf2bffb670fdeaadb2f94825715b2e38874dd9898308e28f6f97940023e527c7fc2e18b4de182be4dd464e886f32a7bbb0b6c0765208ae13f6cbdfdd6bb6de410b742fbf3efb75ee176aa8e6a31daf5f2da379c7e6262b14247fa6dd3d963edc5e74bafe7584be09d02c677e95be33e0528f092b51f772fe103abb2292cf79a1bb124eb7bdf09ae67cbdd899f8518b9f5c874a853025e97a55708160e4927430de0de73c457b0ced6692247d4269cfa66784589bd9566a27e2ceb04f3a69fb9684ff63659383b023631e5666d491eb831a0475c13069b4c2df15933b9400137cff58e45dc3a45df154397389bff8e41698de9d60e457b09970ae840aef41b66b81926f886f5d530075c312ceaf7a7ddb066681764c8d8cc61880758d993c5b267cbca98c35aa6a5fa0eb549f0e1b116e461e9a7bc3b5d984d8f193a69489e25726c8a506e21f6b3b147721f5718269cf27f2633386202f5d969b35dbc9555204ce95a1fc391b5e8e2c6b39d9842e70ae09fe514cc069343286e30c371f30cc427c595787183e2529dc08cd0c87d0def5af12e6156c9d3b36f1b17e5f8bd9ef2312ea3507d5de9508d705d32da871aded88cf9000b79a01c13603c27308ced6300ed3b5271dbd3f58fdb8cb9fa4c1c85fb0ac753b78864d1453b10fe4f892579c16601b031e00fbeea5a3f2792ae73742081a2f43ba6b419e6195a364f65e7579dad4c538928c7f07552c810ad45388ac5085efbbaf2a28b6bb4b60d49efc723f803cf541f347721ad8820fe402278342a9aad162384494234f45f148be0517de235897f8fa610afcdc1845152724b07795102bbc90592ebf36c54a235b61ab99ed821f38726d16b6c1987eb4eedf486ee94a6b26582f00ab40128a0431a1c50f66666ccbaac00256012325ddebfbcc6f87492e901905e4a03abfeb0cebff5f3afaffed97e2b5650d382b2053bca0d21962fd88cbb0cccfc8ff35417b995397f81d9284e0865551273d10deacca554d96e02701a25f78d1d014d4184857b157b9c29438e3de2089bcc00235b2de4b16578ba5c3e1b2447edab5d0d1f1c138f5a06c657694bec54e55fdc6891b5dc84c65ea025a515bfa3f04f10889a77cfdc96548a9188e11fb971f23acb79319dcafb965128d62e1e14df17e42fb1d92b45652cd804b33357afca22af088123e69221ef233029cc706c170b884cfbec16822ef42842872ac5fc5d0a873caf5b83acd74efb5a5ba872729d459d6f4e81eafc05452680dd9bff9e2ac3f2230d377320b374c9fedef42a1480d72567d2c31336be21d0e97db52c62182c1d08390971db7f6976ee82db88b906fccf055eb9a5fa35ab76a103ede03fc28ac8ffb6b421462af727b6e74edd2f25a4c9a2d5c53843a3bb4f81adb9c498fa0fed19be35cbbfc29c4c4af31b96f22fc758b5f431f04e8ddf9b8e8bafc27ef435f1bd763ec85007d005fc92d9bc674404e1b9fb01914ef3770f8a7c2d70f9701c1aea42852807ede322d53618f249f39c15cab71529bb45f1e4a1aaf4396b731185c7189893b831467c8be72cebae2271fd9adc9de484262bfed4433f2cc3c862f4680b628c36a50ab4387fe0ce6a023b90ac0d6046ba6583b190653dc616ab6fe270401d5b10a0eb1857c054a4c49a4a36729e0dfa0cdc600385d84783bd41a7deb5b86af449611b84ca4e5a0a273a9c6e9600e586199af3b47fa4927366a00291ca17b9f0461241115b7d1c5450a362b0a49d52910f4e9b99245027f3e3d3289596b3937c8aa3a06d6577bc07556785c0fc7c5c8bb3af6ba784927377be4aec2d0a8d12a984721b38b8340976914b88a1a724da5c8435dd57eb0a8d29f8d4d1f1fa62145c485d1cb501628f6985c661f7c7a0255e254ad8fab6142e04cfc5bbb42948e5ea10ab8194cb5bbb12a7ada617e09b7f0cd33e8afa2b40e038169e38120da8e0ff9cb644f38ca15dfc213cd994789d747ecdf84764034427fe097b49931d13f381763d3bb67602e0ee2511beb2d433984e85789d3374cd32b2aa623c5b01f8cd7fff5466e240c70c1f18539a7104961a297b545e09ea6787b5d958c0922d55e5c66e2ec483f0e4922d0d6a3e7b6a253bb61301fbfcd8103ab1e763eccc76487e78d8548a1da3e61f7555503f0ccc880a23be9c3595e45dd614684b674a23a2a57b2a1b17014bf048ffaa535a04f0f3f0c5d4388cd6a5f22fc094a545aed8973f74fce0522123868dfe8219733893b4e702976e37a849362f4d3a6ca391f4ecd4a2d9aaa5a698c2551adac4fd849062202cacf95e961a31cc8a26b49bd779c2a43e989402b262f558cd3f88fe8789da4b41272b2e639340fa2154109bc4782d6161e15a0ec45a14b5a6d8e18a74ed7f6e29868195c8c779655b8682d6aeb2307afcac1aca2306add98696da76a0dd1b45a9058d7ea045ba3ff54fc0271453ca1a3f84e6ea1ae553a6d3aa1e0436f4685dfa7295e3f800b5a1888536728aac72553149713e82f31d1e48bbc1bec45385eca97629b8223d69a7db1181cb5b9e428693accd5f97d86865caa6495b6cc3774ef260c1c91dc3a8455956280eff0485dc017a86acc39febf67c1119f4b558379dc4c5ac0b4364fd7c3443aa2b9eb9d34f69d3df435db44303e0aa166bcd7ef9c1be5acef5a663471119ff6bae9262743aa40f6ef9eae93801de31928de55ec2b2fad54a6f1c61511cf1210afd03722b27891561b98b457e0a9bb3650924a71235375228a54ee86a9db6bc807b1243e5db2c81569c7bc4528a10490aaf3b0a0a5d3d7e2233c55e00a4108ac2f9bf25cd019c74f950b4abcc641128d2747d81992233f31f4d4b3d29599e34253f41ec911f685c1ae284171dab8f958c7cd3ed20e786ea9d3933a74822bdacc68aa2d2517677467027a94317200f623e342f03294d5dc88fffa1823dfefdb85a0113250d41d9c0f4b7d4a7748a8f0b940048c3b6c893016d9dbf4c67f10ff57d5baceeef6f82ff2c948446c00024aed997f6c341d3be30c91066c8c4b08fa059ce499b25f13b334b79c04f287c9b8a3a40f4aa9fc5c9410acc9bc64aaa0272dee8ac4996b65f6a5b998293422adff58d443353453c41ffbcd63c145272176c2714f6f8624ee017d1d5b8d38f64091b8927a0812f9480a8de582718ae5b16b6cd1e23d0391c92ef8a206127bb543c44a24c11f4a004565eaf580686e06f0f4f04337b4324b8650ad415eebff908cc6104092e8e9c4f5105063df6e3c89c5832fd451c4fa91dca16dd02d4cbf66043fd5492066c15dc231725134d7d8b046e9ff537644d8882fb723f69b37c78b77aff3257f7a302c243a6227d6f26acbcb1caabc10476c37e09e66a351f93309698e7279f15099e7d0db7b3adea270d6c4fa65471609b21ff806856bb82115f624dc90676b3aa130358a8a0b484012135aa4b367ca6f40cce3cb0aacda43176a43984336f96032b110e0342bc596b25e74308ce092d545494249eeebb64edaf8ef182be83a1d13fe303b27d1e0cb3a11d3158743e585456e43e77323632f6113fd85c2592c05880c494b7bf58fa81746e0c7a7775ba3918aa2fca782556cddee3ee675506b29b00890e2c091cc1005c229cd6a9142e0bfb40fc03cc76865ef4101fe000acac9db2927ac55393943600c6dcdc34fe828fa97a564a53ce0ef85d4171c09bbf4f021937a929b7a1fe4f2fbd8a0c07385978b19dc548907546476f401fe621bc051001c8a9378b8d0ef5fa0de3d74ba74a89558a9718148b093318701c8ab12537c0da3ceb5e0f8212b5e82f22a4c6545adb0aabcbf2c861b573c0c3d47f1736ddb7e6b9d537640c97629354112fff80c8d8560c1b3582ed1ceebeb54dc452876cf4886340ef925961651c620ded4901da4255dd9463adc39a389d4c3100d9368f65241551089e8fa74236cd7ec544b70df84199e2a573f263b8f8044c0434667b9cdb2479e2edd36ef8460ecedee6006879c7ae2ba9896444307d32a78f3e5bf74c2067080d90ba04afca7647e50fa84c21496fbe31efa10fac27034637e3a58270a59495cb2b45e6ec629de3ac376c03d7df863013083aa6de4fe6e7558887935eae6b5599d84f837faf8eee9d29230a38ff59a82830c13759fc6e5ee1ffbe63805c064cee926244586c019baf8060fa059a4804cee307818d56509e08194a9d6e5da6104a9decf052742ad76637390b59a402a6cb57ecaf1bf04b99fadf55a9a3537175274d1c3b197217868f27d7fc665b25066214c040b65f06c3cc5ec1823b9cb274369bc4c5e4845919357700ab1671c364a50d14246b12b1fd94618bf445f00d30472251185a88b0b391f8578d66ce8d42205ba559de10722ee9a61648029351e4445bcaeb614e9cc58bdee50c45b7ada0f6664e63eba9ae14cf8b1e676b337835b678264211197512157e4f7548767bcd400348ea8e990a14e64546c50387af560417b569776e08e8ecd79cb0ff33a5b9730b2a5ed1f6656c6f6625e41c2d013c8de41b65097dfa014ac14a9d50c81f2d5f8d136695a5913c67e64f861b103809f324038a90e5e4ec1456a4ae803dd043957009b7683d8ef696e1133479dba1912c6062eb649bb478d9ae37db945587e81a4d16a7018b796d7ca382b85add15786e7dbc822124307e248ff8275a23781483fdd7b34c2200b38b86f368eaed9601675c979ab806e5a62ab8f70eef54aede535ae79da75750b3dc7a661866036cb64f40f0a41d1427a635e26aa89de05be0cade11fd2dc3fff30c1923fe8d9af7c68e7edad06edf7b97b686f3df5cb19c818bf85ff260e352545e28a526801e902c5b5ccc16f0e8b3401339b24b0252daabe0025215513cc75ef5204ce41bd6579a7f73cda1e9a1e6b21dad688e519c07c728aabc44800dfba3f60ae8268684c7ad443c95d4ca156a4a9f4239a7eba1a157c6276290c7e5d891607ba75ab3ae6be82c1200928585532d084a241d2bc127783ca40a71d550b07dbd614b61a637564d0a3d52ea8f5825630e851b7fcb8dc813aa6f8eccf24fd88c1171b92a5f1f38cf4cd8817744d0fd848a26f50b208966c70998560fa4b203496a3075193141a66b8bd1e740194e81d09588404738470d6744614a4b93a68e6849a8c290eb19af980b3ec49613126943b0976c810207c03e45ea0b43be690442d87c36e2cfab11a32131082c12096cdccde36e1cbf4ea9774156a8224b3d0054d8189377e09a5f3f76c5b041dd00e30c4310fab523dbe2023e3bb34972a503569324a7814659928878023b4c73f9890d2321380876220c25ab7e664610b6b7cd8b441f530cfbfab871324836866ce5098e1bed3824257e612661445648681e871e50d1dccebd0bb672f9c406f3592010a38b3b004c59ee39b9bda1703de0039b668091fdab01ff148dac0ac938757ae7b4e01a87412976a944254083b15b36de32ba821197b29d98a2bb6bb4a76ea6cf8566502b418c941af4a852775fbfec9c4bae809e6ab90abddc4cda046f74fa1632f8d6dc1d72bb9e29628b26690222a1bef2f203d826fc6328d929204fcd806f12b8f6b6fe7240d8ad14bbabbbe8bb76c608dbc1a3ff51af8db8f52bc1d72efd62dd58712f5296b7dbf9d02a614234b57029b04ac8aaeea265a9a2ba0435e153ff8906c05b258c31162d3e3e9e7b3486f28e17dfc0884969be08f823e8317ba5cabbb79a91844ad2bc260a7973e52880b6b0824a0ff68c260102f1f0a967819a4363db8e1e99814bb3378d9559004755173b8356d3a8e33ccb39200471119c11e2d3ee84e014b5a6baa8f70a27f1aa80f080ccd70ece780e212faf911c183692d171099ac131b25339a7e4bd21107e110528ac8902f6bd8a1ec75cd3a5ae82bb02392cc8e201f438e7c70cce2661742d40e3b9e187d632b15fd88ab676a797c374aae71a6143515f7cf2c9450ed4089bab56a59b72a6dbda0a985ba3ade5141e1baf7cfd07b3de754ba422c7b2e650331682497e599dc2871052bf2e0948bc79b77bb9e8e02c08f0b5936d2af371d0b738ce8d9973066ffb9e6590d88ade66b7684d5404fa97806e9e4d9282513ffe66188c62934ab6afdb0eb43ea906c6094a5b216d126b43976ede3b05d0b05bfcf1f5aabd99a3fae101fd0f22870f9366a35cb2894300275abe8625abcd9a4b4019c5c98de68bd673cfd7b38376a4c7f1f34a255dd64504d8ce2b9bcae1ce920f0242415e424ee518f77e4f38468cc3ae39b1cd621726e3c6654359ab52675f4685d0ec93d62d641515fcc4434bd467f0933634ac46a1e6bf0b22e00f77db498935991da5b44366b31337786d29b985a9502c6d42693c99a86e814d8a2f40073b94dca1d4731bdddaf1dde74f2ec9a6778da49600f8242f7790515a52f8ccb3186948bd25c77689015d5aa5e601dd13ea5e429a78e7a0745ab16922c78422dc1bc1754de360333d4f4c11591de07d083c8d844be9ee081529cfddb297a32447782866f81f06ad2238bd20ea2ed62bf03b33395f459973b62192844204ca53191239eda952369c96989161fcf3aa16d6dcb47ad10e154fac9bb26af6acb5088dd34c4b2bd02bb78e6a004fcab53b619e0f54199c059c8a7804dcfe1b01e1517352a09ecabe4de0b3bdc2cb175636329cd7b089f4e658a24a15fd20f837c40ec71c72881a3114f8d9be56324b8573f215e4040b032814c7505d0a82d2aabce4534a6ed6fe827d015bbbe20a8c2a20c9d8360661acde2db84b195327e47cc865dfadf1861526845a55b99af2ff7d8384567941c75ddea383e87ce698d1923f0a8fa78511b1101c379babd567a7845898fb919976079a5ecf6962aee981ac7b7a3ee507bfb5bd07abfe211571c10bbdc1b4032cdadf007d5413594dbb97b0d54fd9443abdb190a640bf32828138c8267893dbc8fe0382b3992e5e3b8f994eb3dfedafc57d3e4defa0829c1a68a06b15ebf6c4f3496bf997cb1e9602512f12c2783822944f53f93282ce478cda1ca7ffc2ed8f563669d2bf6421ce737882f357f889e25e048832e045a31d32fe6dfbabe6fece773e1378c618dd3d18793a6cdf850b233c593090c2bb9eaa645da88623c6402c06c4786da8428c96f4a8f273e8726b3a1f936cb8cd434e3baae18586035be92bcf36bd9f39dd86b62c1eb17d0bd74f19345ccb1454df1b8733081b34af7d6856e408f128ff44f409a4f61f65c04c6767b4f3702745df1a1e055613e2a80673edbe468544a05826c5c3ae6a4d56c274cdf704c62748dcf22570fafe1af45ae9fba39bf81cf0cba1423215db2aca7daac98609c7fed13186b229464c3617d854248fc6c41650d5083d02867f464310222c9441b431ec554152549d6a14532df375f69e5c549c94525bc5c1da5575b7d96820de9822b00a22378588b8198be3464396b5fb86a8435fe82a396dbb92ea2b0f3dcd8bc2026178bbc66ce7ec40e90632abff616c9f6831e9bb6da279c560292da4ebc65d93f6bd28bf177115cbc33848f261e93a8f49af957e183be8935978b44a0f1cbe61f000ad4e53826f68c4981ac48a090b709786bcfb126f4a11480edf39949277908b0344bc9d0ef5ab71f0dc2b63245cc11a6bbe9f15c6015785ee41182805488bf25eacdf1c9e44aebc04d978bc0bd1f17b04f2b82830aef5306eb49403bfa090efc4fce76fe5f593a999e8583e39266368e03860793174ec3e5c453f7f2d9c4d0019ac91dc16ecad2fb00c76f345c6f03f69a171ec20fbf73ad551f8d21f0d7fefea20b673314916cd47daf41512f0ddf6320a40ec701e0130c1cb7c7ffea8623f6778701f55a983475b08790bcf1685e1eae8a61938cdb9da32eed65c392dcac84cc7d312b79781bcdf723760fc75e63298509ee8254661eed067be123432cf2cd737681f86976b6d3ddc84f7e7b74a5aad01db41a8d0076f2a363582e88e9fe9d07433f1f755bdefacc20def720bea17a8c9e049cd6a2fdd8149339a907a78808c66c3728d0684a3937311bd7dbd015811d3e13a99fa39ac6847a8efb7b7a7ac6e9b47b9b147c308a29d423b7cfc6bb7d9a8417db3fe0f65c3a0061215edd7130d2d3378e10292d1867b5af441e33e4663c0074e079b7d0e2201a0b18433f95f23791cc28a503f24f497974dfba7269df4052d6a4fe0d226dc6ff8de3602f535d6d171161644615023b6f7de7b0d4ed20da7c131235711e781c1f34cc9a683d75ce6fe47eb0995e28714f2f620fe1c5bdcd2ef4185bf2abca9b9dfab67944e4e13cfd8246e645f45b2cc7e5d8035858f01b64dc81544a1b1f0748349f6c083f92b07111e1d17cc88708294472260faf0aa5491fdbe73302d0e845f021ddca685f09b96c7aa5dd407073b88c72187a7d9ecda82477ad6b252da14802d2574ef45421c4f479629b5ec2674bd4f103ba82eb70fcac941412d8fd50e2b9a106a5932910d0d0cb34f6d2e2b112e7e2c9445d31f5dd488285f1546a08cc6e74d5af65e0c9751048c6232e9151169bd9a8b91050f20f39bd172d17c78aa35235bd0b250d3e603a861ba7ff01df1f1b600772627488c3e3df47c8e82d884e5676e6b15e085297497459f58701df1f869c0b0d3cb6bf6411b55b2594e5f53331acd6165eccb582a4ba1eecaa06d41cf951b59e93b458e79fe7668763d423b0def8390dbe509e871837421c31906f0b0567ad25ebe87f5b5dc5a1e28b14536d27301d40301211bf6ca972ecf46c4fc722fbb05e53937be59d97ea81461c4cfe5ce0fab355017be50fe50a2ff31b188c243e2280908e7f6824e6a95af75034b18e95a45da433c54d1daf1beeb1dc288b00c4423171cfa4c12cc2be2161777d2046e3fe5b3f555f2757cf9836502a8adf6e244f6770dddaa47813524cea01d45becba90188ae4d813aa62373140947afa7c336e42673d5dfb53a3e05191536aa7a1463d9ab3a1aa446106c1881de3719c8f9e0857306499ae6fef0fe64dcbc0c9119ffe22c873f2900cf974d6e47ea9d6502a823002c34c6309f6360c93d23d6cf12131a737ab53e827bb9b2b1aa43699f116aa19062c0445b8a39c2e35f58c1eea1caa3b432d1fd5edda84e71cdd95d156898c8187e12adf7a978001eb310e28adcdd3215831fe16283bf20cde4dfb3a6b4ea84d45949639b78e7b8cc275e427ae6642858824e7081e0a63d9119eb27e8ee19e0cc6d0604972203e6d861d930a8a21b369e4b18c8824be4249f39ee64f2adcb94b2b869c065b7eccd03cc5cd77284b35a7b78ef9714a54ffd2efd8fe3a594adbef2eea8f857761c9bd3aa23ccf7f007ca9612aa802a3d41e5094cec9446b423afdf11dc894326bd1d82e163873993f9e54d7b60141426308f1398e0428a7a39994f9371caf427cffd2b9d004d17585d6c28a2da5c445e75bf40b4036fb78f6f3f5cc4985075e1dc8cdbfab8bef753dd4113add21f95a92e1343222f21e59b275ae7b75f3637b6242db7c829f582a1951f5d4b348cf30ed51520948179567b44b862d8a243f0131dca4f015a433ac5b3ba9130daa6b1ba361c50e51a2d0d9ce001409338018f72be5bfddca4bcddb76a74ccab3b0199395ae7bb56daabc7bd7a88e2116ad6d71d9c4acd216e8f37339038424df7be949cb67643350528055052b25768212c59f2ab48cf8523e12b35746e58e4aea85b418d9dda36d0057d8e4c9936997d563dafbe4474575881a10fba684fd2a73d89aa33fbb898e1031b0b1ac293ca2b1c095422662bae51bb7654fbd71599dae3115598b68b55884980c704d742d0aab84b70500d427b3fe63486dd1896bc351442066252cbd6106615b988f260935aa7e2ff3720036a01384f4168799f52a60a1cc95880bb0ed0d658c9f122c98209bbe0e910437976b51524c2ca38aae36e7cd558f6c14d465ff574d6120c5cdbe91b4bbf241a42d47a95d87e317c090b5314825509575cc5f8b76429e6c63e2e0a799b860cd08c3c458755d60791c1234fc243590af751cb2b18369adfb7e45a8f2b01939f356a08cf9daa70066435ff9c88a0f952550b07971152c65ab94205b4508ae396b20a12205433f9fe0eb0ea6d67cd06ab80aceed5681c96f76d193cc36cf8fdf67f9c40307b8184b3805547fa17fab5db35d5b61d59b4fe39b62afaeca75b3ea8d70aab5ecfe62c35b010e0c657f9f12d0b4ee04919535173fd7f3c13ee61f0108bec0ed5b33b61b8134d61cc2075bb8a1c6b2a5481a24c9693abf451059250f020285b3567ec5753711fa07655a2a3e5134d2d5642e60563fb5239275ac7abf8ab95a1a3f4f8473565ba4efa1a550e3e38bdbae61a74df2f04cc757b28da45bd2f933eb3ac5049aeceb940009af1f9384a74153e8c4b5ee36018c2bb216a9137c4b6d0dd084db8fbe8234aad6d4dbabc3fcdaef6615d3888ed57b9e9252273b18a8e47064ceaf7ccb2e44058ff8970a62eac778e32a87536aa792d7719899b114d19a18e82a39363d87f54263dbf48ae4a3a09408d3c6b443c252bbb658e33232d612cb44ee25aa454eb65504cea2b034b0b26eb6fb1ff4fb888659f90b1b5f1d9a1ae4fd901c100f4bf4b83990f827a12f36137523f7e884e2dc08e48258d13085c4bda44a5d6b8a9da65fffb9be20aaf2653bdbc7a1c816db7f78b1505c60cd8f3da8520217838d09680f06dbc03c36da69509222371498d82cd37692fea4d51181e182256c27b352f79b087ef63a90ede601fdbf12d8e2d752d7f244245fed0351abb0bffa785a0486445a1eb1ffaeed93fe808174fbacd9ee0728ddc12a3d801b79b27c774804ec70aeb4c6d8aa9e30c58a34d8b0c4c34b994051f819f0598b471316e03cec1566dd0aad40159bc1b6d7bba39d6a7091265907101dbaccee12f21b6f2b1e12a3e8f5f8a8ba3bead6e65e0d7682c246fc9bbb879c8c790a7f78abf8e8a10e88e3887fdca422e7e99693a4a034535c225e17cf143cb37f2611ca7837c4ad4c7a8cfc51bda0e77f16b519e92b4f2256a110cbcac2a77206641ef6aa1fd399f322fbae192ac6044ca2cb92270ab0fc273ca439e4b8f125796b31aed708dd15bbb014c4fc5469a4eb59a8f1f64686b7e91dc61a81e6a122365c2bd15f483c655cd0e1c0c89ed580980d8c5ac3fa724a8ec50304f50458742bfbf1b5dea8925603d0cca83e542a6893c21381e159ddde10b0f14f985acaffb68448fde958ca63fd2a992b8dec3dd74499b7ac6ca39a388a79c13fb6cad2a37ef2182f6cebef4626fe00a5c4f589241d9b13bc4f496363e215691fcd411afee9e9a461d52bd7023bf0565636a1b083bf084e0eed99e5970698172067aa07cf6871f42e05bd21be457add973a8cc4f740a128dff2f3136261ffdcc966d5acf18986e99674a4f3dce29615c391fd969ead1c8d8f8340c91e841dff404f6427286275a128dbc87fbdc4d81ab5a96ad1702b88258d97fc664cfc54ef2ad3f11444bd6ce3c77276b1012dd2285643a72872249c64b8fb67c30e75c6258c59066bf2afae4413972bc975f7f50b91dc13657565e1413fb4fe93610beb237f3849e80c61377185f1d85e7c8e2990be22ab310189bbb9fe717facefbad9e4ccf6ecfe35bb73aa52114b86cee99eb9d6fa92b8838caa2f5baa16ed12b6a53911cfc326ede835899921e6205b5024efa46ccde6b0270e5b86545a185157a47f47439d4a1fc12a43413eac075339bd55fd557a2b4c706ab5ed6b146ce6ea2498a3682592b3d1c852c73cb54f3546a280e6a463c4402b6362fed5cbcf1a8a077a59248d5bc1a308acc7901df9ba4b9fa1c447a4a5262a22c0199c8c6f030f1319139ad6edba69926f55aa38a7f94e400b4cf3bb10346ef7e80d4310d01559f157d3640d6e03a6d16c8104cdcf654a8dc95956a3e5eed5374c5b09b712bf3e85e57c020e4c0451a11a562ea770577a0363f12f45da9e61fb99be30b0219ef457075d092a364af0a811bbf5915a141022cc94d1e5c80f467336d65cd65b2034648ec8405c93459c2398f65dfe04b1fe41fd256055cee9b968879a5278a7ab645abdfdcb9d3f121ecbccf05e09533d469bc735c561655a8e3519699370dee158c6053deed75029070d0ed3c2c98ce12dbcb4275df5c0a44698355ea0d3b1a117b187c436c642408ceb4147835115a1f22a5d4a18142a86aab7da83596445b66adc9d24aca91530b8206c65b408b6421d1c1c2ec1844ec9adab9a53803c8840486ba0de01ecc3ac6ca092032033bd4ab4b007e228e26d9339b2ae5ac9f4bd03128a88523658c308e0a91fc396db1ddc2b8d2978452797b7dff10a690a4f05740ad78292f910db2ee2dd0ea22730d4bb00a28769ed9eb18a821d9f1ef1887dd8038fbe08712fd29f330b819f8934066889c01955533100a7b596b91cbf0ffe464b9f00cf4b4b296222a1634e1cee3b18598f07a6fafb7eb0e12956b80d2ddd6f3745b8c6c323e4bd5d48631ad5f520633d506425607e54ff82dd8a0107bd385431060281c5c4509984fed6bf4d1a7914faedd19e22175d91ce541170b405ea7c5b0d67dd5e99fb7f76ad291a4e046e05a8b57e35035d5cfffb8146b8448a05d4421f6a5ab2612548d4b837f3b04081a626eea9b34f5434ca25b85864b4a7e5a5b0dc970e7490a435bf16b24512eee59939446ce9ab4da8f0b307f67df77b5dc61d6d9b84dac126aef4bc8acce0635e7ea83e259ce6b3a560a2f551a509f95c71f03c519565a40a4afe5fefa9c8c7536d96f57ca3f51b91e64df2a4f707b517292fef11c2cb488ac8f0d6e687b2f523c554f6f598d783228e2092f6b2e5b6f05899bff9c83785e1e57c5a26682ce5b72d33fff1dd32497d6a1d00490eaf0defa318c1d050a2d06703042db59b77395b7b3fb80c22b6748d6bc3d9bae41d10c2ee0ad372fd5fa368f4170031e260937051b6c74bde2b6ac587dc612c376b48e53d228be9008bbe5cd71f0313a0a9380ec8df407730fe0692f6958b44d964970fb453b3980340eca414bb20c2ff15991c3606e1064e4a2f305e2a8ba1bb3e77eb989df0dd9aa995c34600578dfd80603bc230688318d7c91a435432f46c28dcf04409ee50d83cc5559cf07942f3e2340b3352065525d8b2fe7bcfcf5a4154c79a5094f16e964cc5560954187adc467ed27533b9b5f2eeff70cedda2361e8f36d13433aae8abdc2d81c26272645aecbdc52a76c16b0288032d1da19ff70a379c2c4a5adcd8bca4f8d060849c01635af33f0d8420d4bb32505bfb92c38a9cafabbfbb7ce9a38a4d943fd2bb121f09a064c90171cc93190a99a966cbe15db75fb876ce821cd6e720f3bb63b7d10cf6496f59076c638fd43898168d3bb54081e1a872511c0ee0df1548279bb907125fc2a6fa75ab50bf9a46fb371e3f836aef73aea359b5f3f97f0fbf3686f1b2ac06a44067a630ff3ea8c7d8ac2497dc7cf03550d25037aced498a3efd1a537f61066566a2e750f4d7dd44505b6cfa29baef89ad19f77857d1b0da97480c3de87e829364f62e9e101d21144f1c6274de2b92a100aae1e3a556f8273e098922d6e6465b091b2b733df54b35d2742b28d5ad319e2dabcc7fa1bdcb2eeb05c54c15691cb77cee8382ea7619b6288e3c1541eb1e32300dd8f7cee1f6eb7b9820142d54ecc614713aa90a6009405d23cf5403a3ff6bb90012e26c5f25c6c2ebf6a471f3d95b19a0750b2ddde163e05849721da1b2c792e04ef4162090a5b3bed06c752d0d15e091d7954f30263a37174d0d5bb04aec431a49f873b4a5198a8618d3a11548a9ff3c87ae261087e3a4460ba74e5d6755c4980c4b6fc6c3b7760fc11ea16d641d949713bc0903dad166ccdda2751155ae0d6e246485e0ae67a644a92b4d6ed7ed43927d6f7fe547338db9de8b290e6ee9023168dedf8687fc0b8c8136d1e650252e118f990dc848ed4d945acac41bb51f34dd28d07913cca2bb5fa95cb258c6971ba841116c8be6b32c6471ec87034bc3bd081ad546f2d432c5544bcfd2e20bbb60ac7193262b9332283db96bb380d5c08bb99b7fd80ff3c24d25d7abd59959daa72ec854da471314c5f5629b2ab7de56221581c91bd8588ac42d040fa06f86db08fec17921d4d9db99b4bff6065da5c2c53a0055ea937ca48b251c83e5f3424bf10d48bee0f5244b827e86585c84e32e363a1d3cae1d887c4aaa39b18ac31d0f6031a46c2432560e7e440181bba4bc8678791534f7a302a48ab6b869002b845705bd3bd9aea8aa7698ebfa16482db452e7d39cb093d4967929a3569b9398ad5206e39c0b041604645d3d65d5c1d9b205bca279225d7545445960f6e2a0d49210838963ee1200765c9793722b6e8fc4f602a592064e09f2d0a34ce5479a46c02b9e8b23fba0ca3fd3307366d8bcb5201aa4d641308c42b7027a3f08209c801c77b4f143e59f0e885e63b6c06746f15dbfcf8a1281e6cd07b565ebaa7a8c27fa09e81de90041cac183396a04d7488472e61f0b495c96dd4032a5eabe385812e5700d644a1bd9308e61a405e9fced5171c754220c4061ce0309014d18a1c89ef0650a16833e81a0048eab1b2d6b40bd7807a6281a7935a339e331c0fffcb94cb4797c7e712af109f328d0e18509ed1ad72b8c48d00291d24ad4a6031e938bf16f84e3dbd5f64de70b7000fdd6b4bb11bf2db3b6c0005852bda8f77be45cea0e4145fed6bd357c8dbed77603f72035c527ece3e8e7f10f0518e0c1246e3d6e3240a304ca99b8402be5186ee311fcd08fe7e91e06173de0fcbcd3c1925f8fb871bc2fafac2c519a805df4c32ce84b7be28c04de0e9b233747f1419349ba358e07e95d6b7b00eacc997e20757feca3e0a048b980d04ff867e856d882201d092b46a5c58fb88ce5ec27ec8304ccbf6c1642b99728d4fe634aaa3ea7ee0973642423757e777e7401d79b2c15e7f17262a35eabe70e17b6df13cea7e2d99d79e89551ab88cbf6b0700941daf53be224ce891d5fd3e48bef015440db235e4c98268da5fe8a3f16086a04ec6e2935a748ad6289316eb9d8fe5acd8a05b40792ff322df9ad53fc61b68bef8b846758018b90ca89ef890cf38f2015bffcba26ad4ed7eeb487ce8eb4f624b818e99c332fdaee3c7d9c5c387362c66e6906f782914654d53aa4c490a8f90af1cb4fece9d5556152e1cf04d8b1b3535d2b8141f234f70d3089c67a79ac76b7f0af85e77cff667ded40a42fb7ccb831bdcdeb1ef5dfaef61192a0685efbbc4456cb655da3941b5007c075506553b70fceb0d0000de1680d55af59ff97c43fd7c41cdf1bff4b3ad8cf0c9342adb9ffb2b05b50a54208fd069808509c5f59775f05b3a09ab2ea6ed42bb578b7c13f1b47b82dcba7ad431bdeeba5618bef4416660e094c156289648710f4293064da829c535208aeceacc1b0b6e8983b441f486d77bae5b473526ea4e35c9c3ace49d72a64bedaf83dcbba159f66aa27910f439a889d6137c621e15dd49901d10d3ddd93fd5f558e313f6e0a0bb93c958d89f09d4136c50b7f5dd571c48bdc22e20bd6b4fcaa4616397fcbc191a369b714938a4a94abf69d69444effb2ff25c543ab049432c9ec08efb4ca5738a1289c6b74cfdd7cdb8096a2c8597814bb7fb8f1f4a1de8d8395e32175d740295b440df06f8204b8a82802ca784d718e78b873fc9728942c31910d12280d86292b9bd2a1e1fd9bdcba49a1d0f4c9e3bddcf34e0ff9a52a7849111970e0b183d95b073d2670e7cf47c80e044bd23760a37c366f941d7ebe2668dff612e6a2dc41bbdbc45db53f7607a64dafa5319ffbdff671677821584aac7817ba5def686393895276701b505a985c01d16f5aa43fe77a06e6927cc13b3050a24b949b5585267271ae1fd0ed332f3fc0ff2aff8c1e51a766fff9674e82d19b9519c0f37dfe9a966c48db4ca07bfbf155742be7f77f14f161ffa85d6039795a8293b4c327f02f92133c31ff6ef9c800539b6d4ab313750899be255f11f0629d8f01bcafc55b1293ea7df04f62062d4ec3f4bd94300df81a894e3c7b1fed3105a6088a767f3c17f0b4fdece92ace4f88e6db3594a092d111a9eff9ece8b5678ca141af9da48ff3d82d8dfc4432c97672d1d5d7d72b929e0906b0c9afa8175ff731674caaf99c6a2f6ab0725cb113ac562f17ec5fdbbf7a069ed35907b934b4ce75e6f296e0af6d5262f8a78352f999afcad8c1129da5ac473a43dc1f4d569aba20dc8929e79241bff1eb633f57d81c93ae54dfc696a42bbf3e5f285e811918bbf588df8aaad4924fe10261ee4f2762d01d4aafaed448acab0a84be08e818a3232866572d1e4e40287dad35ee03b5f3d44dd547cb362367f4b758880f288dded4db56460c648984736c73e88331c5c877712d03e69e0ce60523d4f9215861e36692328c12d80198f3f3cb186c6908ff1008ac8ecfbf17b44624aff12e69a4a003bd18fc95c580098977dbc1a9111fc85af58592e6a8e3aef257beddf8845cc8f2bcd75e6375ae6337e775d112eb542232057390fbdd28b5d5665e2bd958845ba2b8215909c61615af7fe455cbf1d76f1c0864bbc630814170c121b7761d7a2d74e56a4d353b93d6fec226a32d4e6cba62476fd5f0fbb78563b90c113f66e6f4b6e76cda733b092cc4ed96461b7c698c33673d925e1f1c77b8c2ecb269137972d047d699883b474120208bb4009b2dd2ee18985de113da14bbacd5eca54a133b391f236bd360cb1260a4d77aca677e717e2a8eef925c5aa1c3f5ae9a86b7d77e73e78909772071325d3a568c840ff84a82080ecdafe5b17cfe2ba3771cd3d646e7a66794210f171fa7f10abb9089b097941cac8a3dd2b5592dc68ac7d84ed57812c3922ae534c1e7efed962b04ee0b31efbc96f89c472b7e69c450401a2839766840d64ee8ed402b5b5848e584a1532070cd719375f4a0bff6cacb5e2f79eb544005a0b7209c43e67d950eb4700ae3cd083425efeac95c7edc8ebfd9303beec8c8edc266fc05a79b1f1a56ced1365cf692dbe9b5911ddf2e073a19f146e414d4c2b86fe890ac8fd357301ab14e3e0677083a8d32208b408a97ae70ba9005afa5d38f106879f5788cfea01e9f20f101e857b69b121b4664445064c9cf90efc9da0329f85feaaf8d0443a792706584856099c969e9d38cf8a584ce5418c8b1688c991f355820a39ba90a95813c17887575c987b0837a3d71418a7c2f1838de7ce1287ab82d42dad6a594eba6e8e06ff184d853184985973628e1166ca86b0abafe6d53e6a1879788a01747e59568e7a7b43a85816b8818879bfbce29b80fa480c376ef7d5fb55565528e97eecbc2b4992affb9bf3dca8e8b56368386c9d8274da463087292c9e93e6c1c3a1fc99c2b7015e46dde9f4f5a4357c7342c64c8239c408d2b19ecb2cd9dfabb9f9e771ea3dafe341431a1e4c4fb28553e673660a68b2c2905129f46cf7b06ade718925017fe799c809dfd2a3a61fda27260bd13bb8309ae5b5cf0e32e23c8a15f6bfe08d96f37f4e28854463f78ed6c4d0e58963e85bda17636b62d0ffa32c020385fa6713b484c45050a1bf24629f4c2e173384e0a2d0820cace9365ed5b210ea126043d53d66a8fa9db59b4cbe50c921b78f9eed7613195bb2453a43b51c962b04132c507df788ac2c0b525a264f38dcf66302c05f86d9e0f02384cafd963de0b392fd98c1f72392dbf46298fcd8bdd70c82f90c6308cb9155cf8b6a87209593ca57125c7c36dd8804bb228eb668fe46fe11494efa24837d72987f39c40eacacfeb06479127690f4cc259b0e495d6f2a3a847d216348b045bf8ce48fca27d8947e642294a65fcdc0904002503443dc2473cbcfdf8e00532352a09d23bcacb21e7902ba9661583cfb395096552d4fffcf1788944c34fca2a97475d80c4c5f3e9da2ed221b40011b28d3afa9150f808e24addac498c895c883bb39933fbac428985f0282cc97f68a31fecec5317461ca89a4070ae6fa1423c4e4691dfda4c462449410e44122b21ae36db52f1110731fd2474b04b990c6c534549a43a7c11a7e4907252e30cc4e0c102f77f1bca46fc6b2dd584ed754274608270c272c43096a2496290dcecf45e189032c154ad63dec1fb88174875a7731188fbe22f0411235671b70c6064c02d95fbe4716003ebba33e0631ef164a583310049a3fcc569d642a151e57a53a4a5d8b0ea0b7c82c6fcbbcadc61c009b1a2ec009f86e0050c0351df074e508fd922d80469c299e0856a94601ffa59f00a6ce7cff5e69e248085587a3ca3f274041e06ff1a349b03dd347e17887bfe02e8ae96161aa8b5a554009106d37746257c7bfb7e2522b2e15fe0e512bf8f70b04b612d088e0ce88e0dcf4180230026658139b70ed1b1c91226b8f3ba6b1e2c70ce0af5609ea996080b1984b87d8f403f83726f848767567d1d2e18c6753efb6709dffe1a47e00d02f3971f5c4407c33dfeb06c54eb59790ae53d04505bf482189cffa291298e9b24f23e8088135eb41584efaf1f7e7e06a44aa29cd39307d1af253e2a43ea04e60d29b4d1b8367ebd58be225d6355278e2b3cbfb77dd86691a59e66e5738454950e03edfabe8d254913f8c6e9a3f4f8f59fd3c09f9dfa45cafd37bb5d6a11f2bb7b93df7c299e9d637b485e02f8e440f2b2236834ba07b221a6c39e0b80b7bbc65115fdcd65eb04238b6c5c370288acfa3f37d2ee2fc64be0ae8c9eb08818bdd77edee0f33c94a0ba71bfcc92a7b299bd1b731b2acd16cdf152304d8ca40cdb56ff684a120ce0fab4e9788de55e91764e6c76981fca751d88971d8c59ca68119132d4c4d97571204d3d77059ad88911961018bbc871eda0ee55f732f8a4349448b4512859a58f7fc1e728d4a84ad78263dc34fdd0a51319ac74015fa9bb2f43c6aa788581ef7c139514e5e62a858b8a18dcd80a008b6c4576918e9619bb368aca4317d8726129178c080820e64f3be2b2ebbcceabbb0d3fa38c4f037301d8f5f3c32764189158ac964ceb3a836737fe25a82fa4ec825a3ecf468489ca738f0927e62ca4c310839989d7d21285f4698f09eaa41fcb4fbfbf099101e62e28fbc17d5883ad7ddfa39dedf187adcc86fca122e8c40b9fec02dd5e1e4ea5dadde0b08509962f5fe04e86fa6bdc2d1d40419ca20fdbe4b3bae95c96396f2950b3ed5b8a7e03f5d816010308e4ab535fe449eb1333c5f66dd4dfa86c98d0a235c6a72180529db76f1a21baaecc70314331e0f4396effdae70d31c60a80a8ed1b44563e66677f92695e23a7a9cc317f6547ce649780eb9fa5a1958a45a262dde8d59746f8b70b148f7f71e874cae45acee0d504bc6ab0cef881cc5e99ab163cabadf4fab4488e49a7f19798e215c03b9ada6a28226241c2a0f87e5eaa694dd41d759f4fb9bec749cf5da7f18e13a946716a31d44ff15c6c7924a28515715b31e6cf624eb1d410f3ad35f3dd8cf0f04a9f2efe4a6776742ddd92dd578f9954858122cc55aabc3602589c8f38a60537084678f42d177d54979080e3d781ba09632b196a2db4c6b760298841ab1c362c16f0ce21adf153e7cd5529fdf034b1f4bb54e00cdb9a05dde03c41fea0950843bff96a3fc3ca5f1c71a07de6232ca424b59e18d00852f9e0f3cc580aaf9ae0927b9fb051cfd05033757f40ed34d12e57547b3e3fa560e58ac1b1f3e0749ad41dc36ae8970604c1d28c96a114b0573bfd01000c3ee8c4182ffb228d97fc6c6f025c418ebde2154db914f9fd0b39b582a170c2d4b12db25bf4e141309af2bcb1010353f745b8b7ea562822a23f1b23b3028471ebe65731cbe902db746fd164593301257ecdeda32a131b87f9b33f93fdd80d20f5533a6868d310ba8efe2bd2aa1818e7c4c1eebc04225cbcb29c497c6f97d462b8956f4df99ed0d5259fe139910d357fb568a906c22fa3fc127d1dc506bb337cbd2a941856276ff626c126393e40d745e620245b8d8c0b1420633aa9e94d472f37088d1687eb6661d75bfd604aa4493b626a1cf5d17e82d6445152905bb1552746ce363f0de2cd888ea46ab624d4f0110da09928c39357baf18eaa1b6c6178528a4e20c741446303ba149a9bf9d8c8a35e71318a4ceebf8823c18645ab627c12acbf0b74a1c52c151ac19852157674336d121e8f5e0eb8d7ffb93bd14cf9e2e01e6319a5e9b1b42a3ac9395b479010c8b6f2d8ae268c832a224c43439977192fe4c6283d479fda13232752b264b4dd56ae32a9427ab814f1a4116bb86c5e6c9bc66a28d69050fdd4a638564d6991f974f1259f23d44732633dbc04387d1de5e7b2a3da4f2aa3ebc38a06b38e8307c248b871e19394102ae872667bd1a1dc49370a1e6edd336026301612226a2f2f3f7ab886f3bd30017bd6389b35a8c29640baba644273b5bb9f527d88fc7d2303343229ca056dc4c8251e9810518ca921406b9443d1667d567ae3a4aea4e5651af41423f68036c28a29cc5d37f30c2cffc570b34df2963a07ed81c48070b7b621602ce8c89691ba7ccd247e7542823a21c7f842dca2f119a025a93f093be4a6a5eb7e99fe7b25eb3121aa8d8180a9db196f66c7e1afc2d300147ab26ba3750a4470dbfa94f49ece23c1e98344f0c50b4244ab3d6ed805da2d1e3a3c39f64ae3ef21435993584fbdb7e592fe7ef84c0e0462bd84f47ae0b62891abb2aa3e87d14d7d61004e8c1b81654d53911ea6633047844751b52ad0d6ae997bcfd7dab107b26ace9ae5c122ec2a224c0aeb9c485aa1d894225d7d70361e31928e130905f823b71067d7e24e31a453fce3d93d19db41582d9fcb0703fcaeb8cba49368105e63ee3ac370dddc10a5219c8dd38fac6afe3d2d522f4d18425119311ebd299f6cd0dfe9691505022bd797d292915338d2259ec8ea3e20fad47f9ec7db47fd844a9114aa3055ed61b48a304185d721f02b1f6a0657f31e2f8c702a4714e694988084f0164ce6492f381ef88409a6347e25d61748db83b85a145a70cf1e6087c2f7ac535c93e7600ca8971c6e3268f8e93ef3813c88ef8d0f5db882ca9e0be9b05a5e4e7c6fa627f86efd099b49e6523c4d97f8f27bc08d63bb8204aaa4e177d08b4086e0f8bea2cb12819cc62c5ac549dc7b8920cca4d974fa9db31a74bdd41481e252099ae9e9d70b3b49d11016fabb04b0f6167e0c20ed607a23ca30e50f5c7f8a2c0bc892b8bdc3ec8abec073d209acc1cb3b04c22e82475901add958d9d4dda06968ede92c75de8c9dae21a31688b557c58b1a89dfba372a3e9674f6ef265ca90674b3d763cd5fe6614039788234556da39ac7f3252b0e8e1b4868d359d2aa2054e2c1253e3e94a8dc47b99c5b26f83ef4d83f328c9f66aae59a16eac2a95598e4aeaec22cf01ff877bf0597f2f9bdf8b282c68114d94fa28c079c87fe437ebc59fd050ddf3c60a5743c069072cbfedcfdf15bb4a46613d1ea31f26bf65d394d830e7366034a676ffc1bfc0dfa812f9626dbabf4667dcf7e5302055b7e7bdbec92b28774152127e97bdfa8876df453a7ffdaea0ebbdb03b4c94f7b1c4cee635c750110d0500e41b9efd65cebacec1fc4e3353b8bf079b5f175147ed2f9fb0025597ae6cb372665acbf5ef6f0ca5f76ef6c347f13bbff23ef5d7f3cfa2eb1f98680dd239d0cf702c2bd520ff02b5feb3ca7f9f079a49e9c4afd20bc80a32c63c569d266dc613b62409563dd0df2391109866470592c037825e8a2bc240883fb807f5893202b97b2db16e05eeafc761def7af7b18f378b7cc3c9bbb6c7faa3ac0dc0df8cfb7e43418ff6831e3a00c9f4c7603b6b73bd220c1fa4ac8184e0fec105f999b2751ebed5b4d5f22917eb79e5df52ebf1fa852bf5a3d7c7c2b6ad440c381800bf45b9b5fee745c561495078cfc0aba9832ef7ea48770a39e263aff04e1ba6e14313e82bff712d191dfb8dd9d4732af8cf8ed140bbfab26692e22519244cafb6e775f8d68fd8eb40aacd9917c5fdb1aeddc35b2726b69c0348b0cdbeef0fd19eeaf5a7feb2a5077e7be3c0d8d3eba147524d7117d8b7d548d460384fadffa7d2657ac01591be527f0d6de7b06d9e6e1fe159b8722b79f63d9329abb1b97559e77a4cef674091338c1de14a0f7cbfe7daa12da16da54397d66c19f5eee0ba761abe16c3598ebd1e1d3db974cd1f66551f7086ffd293c2211c58519bf1c5687060f5b8a3284e2ebbe7ce10e7cbaa68425dc51daf0c02aa9f8d9314e5e64127a1fdbd61306c0bc2d75fa9a968fb19f004964d32fba58d000d2b61da041a69d9a024ef8929c6ee5dbd2284afc392612942ab02606f1f61250ec86dfe0eefb8b722883cd483945e0db5e00e0199b4669e658ea8d8713c72d700c48dce1e9751bd928603f7deecc93c35b6aef7682f31163755dfd176222f2daa60f570f0f950af9be917ea6c587f45afcb7015c6d8cb7aff8d1b7bb6ac69d4d56abc5bfacc80fe0a421278dd3dcd4aa5e6d744efea79b6cedb8849ed2305266db3765acf2402ecc83683daf2bbf7ec761557a2ab625e81bbab762f96719f96cdcf70d4dbe205b7c41e62251f88018aa9df2899a227404b9ff874c50f24f33e3bdd37dc8534393032a2d2fec974dc51614f3fbdfc164d1e613130448d160aacc56adebdd14ea34893dcac0d6cf66a983a38af59bb604997915a5f22b0b73037805e7a98161d0f56eb28b3624af117444d9d52f21508472dea60e99f88560252e90722a6a190416aa59a22e783e0701ca8af57fa4f79a2788a08a8a7c1421834de5396c7ba2680752fd18159cacbfe7cf7616ac1b32b24fb9f4ebe1ee378742113ec4757ee30eccabd70248b45f1585c80ca01357f9d14d45a96b70c6fbf771f9c02bf7f4d5e2d0e24228120041affd0f16fc6232f74b098d1330ea900ed740bca1eb9cc73f4e428713fd72cba5e27d2c5803457bbed125a7e3f8a78300f2b74d17530268fad6826ecfa8879b84181ae55fee3f575290156e49b7a0cdcb000c635d12bce6fde2b5b49feec652d50f2d1a6d2c846230fead44d3c7155cf3e9bc90e9f0c71cce2f19553d81290a6bf899244c554620932f1cd57402a38791f7f140a80e8ee6ab7777407b927e4a1ebc3a15f4a0482dba1f56d89c8fdfa963b25f178b99e278d580e7cbfe16a0417f3174216d5137b69e4214755abef180cbe34495225c5034497d64a0d9e6ac80492a8d8c9bd74ad6fb371e4a6b39b5f937eb27594b1245886b38b3562aa4f57d76dea68891b98cd76eec4775356b848c8fc6d88832448dc6d33b478c95ed8c4e6ad9e2fd55b309f0cbf3826eb8f0af161e7d496dded9e2999c699eb928baa0fc47cf8f392aba1700510aba23a036fc3d0f0a543a31cc053d2c60d0c9300098686b7e170008731cae10839f150b1d606853dd33e237a018682c9e33c5738c4f87a8f3498b874fad358132deb471a8b2e415611923ec2b7a0d253a52541a90a2689ab3e9b54e9766d71d0affd206ac43fbe87ce497115215a1ffa86f8aaf745ee9f62da13ded6d5e512a48957d89c4131dffaa63d6579d2dd09a0ee7926a1594a1cd806b28c0765de960440815a2de2d3f238b54c35f0834f7547aa02b85d88d7b5f6cbe7f0c9aa5977a4a534a914e7e19070f080fe36c3615ff585ced88d3a5d6e87fb2cee948139c809949ed846a0b7b98042952891235037acea22403d66ddd0b446fe79cf4d668151419501982d171e94e155ab4a4130b5d74c30e712877f4bfe356ccbe00551422e74a452ebab0954de4100399467d034194e6308c37f6d789d5e864e99be39305bd40c5b009f9de429072e4b5147ab9777eb7fcf7cd837c817ce503638ac31ac89f1045e42f3eb198a4c9b89006c6fb89758f4252111015897530c428b143d27e53eef49f30eb898a90dd6a9c3f62501925115649b10a4ea2fdbafba614cb1ec9d3e736979b6f106d8dfc3ecb0d0eb19d148a721ae4aa4607349dcfa8c39faa0e6cb4aab5c833ac3f3bcdcf7f610c6b0a6acec1af15693bb9386114f6650e25d7a4905ed64b7341106bf030d992e1f7194597921bc8b7617b29dc6aed7a478d3719827e7f3d507d968008dc6902646968ff0ae189858af829998b303790044374c8f020f95da9991b69945f8fe89021adf85558e7c7c3c2260f0b932fa99c08897a49be0a4b159c60f5092ce9a6b01e2f8d4d2cf6c2d5ab903cebaa109e81f51789b36721f5faea2adcdbe78cc8500772064d41dbdd0ce4f2c1041dab1c8ce3cde960262212a6420bc5551d162039b092a580f5ac7cc0cdf694b2fa0f5e24b4f63ed0ed08c41f3b4cb4dec6b66e517d14c7174735631cf593f3897d1b1b5138f1394584d3dfe7b350aff91f23d8737219266fe9af7d8768f1481ab73bec4b23eb558a3250a6267ac87d68ea62dd593d233f8718cb8c26b075e605bc28600ba008101098e85a4bc11c222290a2969b8dd90ba863ae98897e2e40ff30309f6d3ccdf4fbc8818dce2a34eece4b3d78f1776e8b7615a86f7d6c1941d69547d6fa756cbcd1b57d553a41df24653e634e51962545062de699b219e4b1c0d2cb12639ee46a9927edb8c2db2a063949852926081bb6d269f12eaaed68d6e72a46d205c387cb9fa0e41bac7ec174b51fe283301d84a95da1b569e0d191a714528bb2fca351eb22c8ae74202efab024d0d7e561dc5d02523a2ba61d98c6eb70f0a95bcc9ccbded6f1bbc651779e2110e158809ec3fb352f49573de8abb99eb916fb748b86370f56091a1dfadab5bdb446a651ada471b25fbfbcee68ba45ed9e363602e3b2f379bf62828f5f12acabea4db9b76a382126c2d759b6f86fb7bf627e0e780f7ae04b66f89c6718f5f23ca9f148743e9a9161071b335c754e86458996ef07c86787cd901a0800db9d676296f92edcb5d172f3df9341f4b4c3182b789356d684cb498bb41cdaebd9977cee19135717a3f446e567a91cd3c52a12532a030f2ea55188e2dabdea0d2e570791383b7e432c06a7a0f143de8bf9777e597413200985e99aafbbbe8941aaa7352d5b0fb773cc2b49f293418d6c0ecf2815fc62bd2dfb9b05103c754b65c20ba723391e60f3106e45bf5f34f726e32f62fe684c5c5eb9400a675177f28819b418a9000ef4e355148590f6b54f28b4cd68e8a91e68813ec92cd94cf670514d951fe7176d1d10ffc9a63a559b12c7d48dcb1563b35908a0130e2903d7eaa45688bce8898e40850f729afd0880034c7c6c57e205271737011d08480254e3a5ba20c043cc551650f61d4e91ed16e0d61854885152703e100f360537e59e40270110ffc4cc8bfe2b4c27c1cbb7c774e0ae2e63fb2c71e236a668f6b51c97dd3a5d7385383838600159ee9ad054d0d889d26b8290947a2520acb11d56db3142289c6748cc14c3cf72556983140070a0ea762f692a7295ad86419e46829f76cc18aa3f0241b6fe29cb6fdfe09c7c6a85dfe6928f95a5f69541114cdde11b26b11e7290f2b6fee5312fdbbe27b3382f9500007f7b1dc05b051abe6cb2b622eb91f7b0fef9e4c57a971c2511ecdf3919ec29fa2b8ce93efc6315fbc5592960ff45d72dfbfc3e17aa80e9f351ec78358b04ac2b1fffb503b361e8ef02827308edff681bb56a543ce2f764365fef29f68a9d8f46ca4f67b6b1d67f218db2ff7dd7ee9598a1a9c63fbe315fec6911bd4166ad53112dd4e1ceaa5ea7040877963a6cd34505d673330f9c68975e9ab151b05608b1ab63d1438e0c02db238896b791dab36c2e409cd7b7115873d57c236260e185c4e28a33bf8299b050f437f24906fbd2fb927f081f06fb664e5f711e75effc35a6057db33f84146b3d595c12a188c31c489008d199267aaa6209442650506eba1f9f84bf2840e02312f553d9b0396b49245a726bfe955157962ea02edecba18fd751a84ecb47360014ef3d9826acff41e4b4d62184fcede3480dcedb7c5a53d0eb0bbea112f42a198ce1ae7f36878135b73e8eff6dc5a200979c82e36a56bae154b91a988c3b51b0ab54642d078ac87c7c8ac43b20404bc4879e94c3da2d27a74949ae1b7faa640b3c87a0326b761fd3ac7fbbd2eaf954132d3fa095aca795bda87e7b54b26a3017be145c0d8f988d1d7c204ac0a1a7b2f514bd00ba333afa9ce1b14f1fb895ac72576e725a74d873256a6f9983e9470bff21d0841f4888a4b0b50046c18b5565590b6a3847ed916ab5a87194ab83339648f159bcb43773ffa9bfcbcf1b7d5eb46ee1dc754915814b015d68f16187e628d2d13a8e7d2f53592fcf0b870dbd99302d3d092173bad3b8fb98acce2f5dadd9e0028a1aa8f6900135ae33aa34314f4eb06c65b1942327b89c0a06eccd93f7fd641efeba683c316bb283fc0b62cc23d023d01fd6c1de7adab0350c998f1aa67cac3f962b6888b52d2e77632122281e37d45dd6b365d8ccef0607275631369e622a608479a852b423abf6804c9df12f8d2ebda6bcd299c5c5310c8e230768bca4e74a61da9ca1ec83fe24a720bc7624f48713712936d0d05cf1deb2aa6cfa5a222e3ed097e9758b98cf69d1013affd038a9e5c75099dc5163365407a77ba5f5bcb3e2fa31baaecb36a448e129ce6e0baa8039b8c9904092cc7a4062481b6734a9c5442bdd712c5b406580bb8d357e3595ffad7271f21e061b03c800ae21fc49c3a793b6f314009792e3d9b9bd8b01144f61a0db3dfd3d6b150db4f0431285e57cc3001eb31ed089157a6210b68ddc508a317741d937f9426fd26e893bc988e429c00fb27707d6d21114c03bdae0837937d7bf0f3c3972bd4dbb12761da70fe90baf851e9aebcb30022e44242058601032223cb0a66c239b5b6ad9b86252e51af74064cf40b243e07a4a58fd6d22b1e7241c0e121f2e174bb0e69e02bf2fe75a1a322cc874996773f0aee2187d3dcf88cee58beb99f3d2f8b89b74933d3dd8e5af48b94202ee29a556097965297ff566aa37410f8ffbed29aee14bbb6568f78fbe3825c1956568c05ec8baf5008986b896eacf14f11ce870ad55036f28343f8a628a4a6ac56f48b3a14a656a094f7be4c687722cb54ecea0ffce10db3d8c31e5e62c4cde90ad7cbd92ddf0c7d47ed58dce86af4c8ff3526b7fcec2f1320d6f17991328630530de20989b322fb4c50ec48111773704bdaec30700fe3cdf45567877e60bde92b60f865c7406fce66d78799552402e3e1e42f7964cd4d49946f272eea6c0536dd7751b6fb7df15c8bff718b7e1d428ed8b48a9d5313250fd03578182c97c26916ade4aa46c9827acafd210a3994826e5c54c45856029fa8c1fc9eb4a391b3f741ee97f701ddb38215573f680967edb2f37f7c271ec48ef33b13dbc01bf57e42f14d7f5011ecb71b51892de7db49a8ced37d9d2d295ac5fb33f61b87888d3fd72b71228fc8dfb0f48ee9fa066a4c70433ae41d14e3634b0e22a16bd2f2b0ec0ec77aa581d29aee63f9031d0b11279c14b5df053b7ea85eb73abeaccfec54dbcbde9870ec0f69b9715e21ecafcd355c505461dc08881f1f349ca641a74257e85feb243b6f40cdbf2ab1a9f66207605a466a905bcb2d78a4c0dc56d4b608d0a94aea0aa0e1930dece1f4fc18c7bd54bac84daaf5009d5e4434260abb81c19b1f5bef771a2e64ac39d24f41acc0ea7105405b23c6bf78f8ee0da89a226a1c2a364ec7747e3876ded734962e2c1e478156d93a4d110fae2fd4dc9726c18fe3325193c67d86c595689823f50dd9eb418ade638daa61b23988257d3e9eea1dc5e7efec50cc26d883059650bd9d385f116efe24d4f5045bedf227c253608d541486b94ec8c9d7f3e065081722d87aef2fc30d08c9f357a0ca26416649969e1feecf13fd572cf8c1274da0ed8025b6e5d074195a541057ada0957a2361306635c7dd91b21f35894ce8c0322aa38cc2d1863c0c6c29139ab8126a865122ef5eb083a6262b965a2a4110f2c5dfa1ac78c2577a581388f716015339a847ff24ced96dc77141fd7c4d9cd84a65c71d58895081685724ec679d4f0d22b22929fd68fee38171207ca3145317c2ae26495365254cb094966a995e2dab8a3b822d10983d661fe68dab6e69c82c7b439aee1b7160cbe1a75f33971da30cde45a462f6c8cf834c440998099a66c29041fa2e1289d74c1791998e7c2b8524cea12719dc60561a6ca4fd28712c36e3ca9ba0591237a213a74e737c8932d7dbfc2d72ed2f78f457855ba0425e0eeb7fc745e32819b144c7d8a2702a231562a18896e3fa4c5aadbbd625b875427afe7968b332a9671bc970e3e5ab0a7c61a33fe7b990d827294eab267d0cd8f94de951e4e03a9e42e82170daf12c5b067986fc29c410252e608a3de19e7ca421fd566886e866919d26d5ff93df006dd63208844cd769f09c80b27c062412ce182f87ea06d7d736c4839d88e7b90eb4a32e4843c8abada4a9e468bd25c881217181b38e52927844ae2063c00d7728d6ae85aa93808ee42577bc6f0bd6031f65a9686364da7fb3f3921645eb8d2a70b019640fda6050758c73144ca16a4476131b7fdc7600101254933980afe105a3d8d6ad4e049838217f248e568a363081ba4e00b5420bee0fed21788787a011a351e6dccf9cc199ea34bfd36d29813aba67c0a71c95f9d3f483f57b18558eb5657d313b3700f1cd61ce50963868f41a1872ad180d3e5a19ca1113d823aed92ae0e2d159ac80b873f67fa4e21679820c5a9277a940fc98efbfd4b913445972a32d6aa2d410f7ba125b6d560b54b4d0cc5e16c83e6ff6f5d5fe07d27fa3f92c75f69d6d1493bd9fd5a7034d551cb7471e4720b910219a36c8fd38bbc0d9bd729d5a85b52d72b971a47f01c1f3efca93c6a38353799d66d966cd8161df1176d5afe3a2ad0ab6910037e0bea630bc51f58659db47df5fcd847b6c628ec280e79e305627c76fc323cb52b10a2729892687e4bbc52b5e56df4f69d3c70b13eaa4daf0dc0dbc444334ce44e2be6335b81c8cdfe5f629a2b2a2f97b981814d482997c43f7196c8031b010dd19a821f332a7d2e9206a60e261c9f5d59621ca4e95ca1e89b086cfeab2cc486f069cf7fe10a2389b33667e6407385e694154909041592a915a592743d0b751898acaa6faf9fe90c039642b2e0faf8e10563bfc198e68363f4be483a248e23b5157b1f8711d81f1162435a9b3401b2ce9da421c091a0d42ad4ddd665dfabeebb103421e339e573f0bd3b704d1e46d2f11eda50d24448b276db10207a633231b6b36526805f17685d7e993000818f94f5a608f6250441d1dd4733ed27580560c890762ab56ceec8c37b1322c5e919b9b2d6dcdddeac4ffd34b101d916708360fc5d2aaf9727a8b760a097b8efd07d2dd1cdf1c942a5c8d39e9c25cc1a1f44c31379cdc6150e71f4ca013d4ef4d749e4017d3cf30f3a957e8cef2fcafbe72b45ceed5925d18a0d44b96e2b38a3db684b304e827bde168fae917a547be133d5cb1e82a1bb59bdf3106f693ef7b0fc4bbaae7166eed7d50f60990a0d3d8c9104be35c30fbde66d24e8ae6b716392cc75a74af79d445427b85716fad925688e918604f44724dfef7712d90b42b73737372c89dfb7ee1b9bf4a463b15f35ccb2fdc82a262eb316053eee69107fdf69bdef6cbdbb4ed475b08b00c17ac98c6fc2a9cf458f85c27d5ce27dc2bd503046242701187afbdf5f0bf7197b7a628766f3d2017f179b3e2e10ef1c22d19e7f26b5ab098ddbc1b7a7bee5a8b487fe6682f2aced9d81a63c8f07b3fb887c793cd5a6ac03b08db7f2a966c88e85c86f1dc409d804819e1fe727f530d175e4fbef89ccebcc1a54715d0f68161d249cbdff70ab02096981a2289e0c70f2b192699ce8400293b8733daa5550e4713c0a931fe3abf1e969c1807b07645105aee204fd0f5710400a4bd201bdc0ba52036360841c1c99e69fdff1e899a90d987ef8c8d390321a7d7e82e65321f8412b628bb7609cdd31b9f53bc13fa444e0f6d0dce2cb78f3fe4c948e96ac63f2a8727fdb486b8410d208217b6fb977200f850f1e0f34ccbac62a7f177fb529543ffb75efead2b232dc36577dcbaa672154b5ae5a6cea5d4af5ae5abdeb4abd4b4bbd8ba9655cea5d4ef59b0d95be5aaef561fd6ab3e8dedc5675e65ad3b15abaacbaa3eaccc8eb5b8a4ccb767490bcde65556748c66e4a01219a485e3ec94bd84b51c9789564ac2e24e3ac31980e9e3285ea77701323b848999e39010284c8bad6ac51a3a696d48a7459c140a3d05ce72c6a2347e91ca55d654ca1fa25984a068edc0aa51db9a3cb6a0ad52030a24b29ac12d62c6c8da8a67646e793cccecb3925cbf9a402fc1dcb9655be19e7e6f375fb7d12c80e9e4d1ab9d7c16cf27d0e9e4d7eb533b75b03ab77deaf16dabbba527cb5ac72ed42a55cd1c875133bd795c2e58dce9992df4f295cde1e5a6b84871c685032911831f21247be2f9612fb2461dfed8e30806339420b5f1bda99437b26ed6ad3a64dbe52b8ee5873b6e4dd5842a1b5ccba07e2296a04f500fd81f24097888020c116c94b9ce4250e252f5f79c94b969125b8ab317b2578d658122478d698113c6bccdea85adcfd62ef2c3cf30692f9be40662864b6f6d7bbac1fc15d8d5d23376a2f46c619688df6c5e228e5f933435012919e8105aee7e8b44eabd5faf151dc98a8c97622e262d04e443f80b40cc7853ecbf6218c443adb65a526edd18db77a0dfbbe9a45f54acf6691ebf6b58ad0ed3b8d19a49de89075bd7e7311bb702784451c2ffc76a241729a2a6f4536d74d67c59738002962de441bc48b6391222ddb3ec5971fcecb9a9ba62cfc064ed9fd7671ca682f0d204c2ea7945191266f0d45aec9b574f36e2cbb9bee1e3f08af1711ebacc7ed7dbc84fd782976ac8793fc1a4b284059bcb992ad584400b3280631c36e9f6710d8ed8d661195e1b8cd22a659e81d12e972ffe62fd15a9104eaec8f5cafd7fbe57abf48d8b938daa68d09b167b409a76fc2bcee1acdbc46149aec3e9c9939d868539d89d66e18a72913e2b77fdd9bb82181e12852c4bc640ad9279943f6283069d2da9eff7c07f7c9bd5e47afa3d032bbc38c6df4866c5ffee40dcf20f486396467b45663f686a2ab836f5c6ecea449bb054d2e6719242834692f3ec4de87eec240efa0034c33dd61ce9ecc1a0d02850ed9532e43dffe0d61f1db9038246ebfb81f626f8c22a5cbb0bbb0d0458ce31f9eb9499d4da0065678c4e31dedf877410fbb0e808bb8df6d7fe1b9bdf0cc9d38c9fa267596339f4c31c4dd24eba1d020740ed5d75c0170f11f00705f0440f7018069fe30cdae2233f7088a44eecdbdb9f9f69bcf3cc325737a2ecff52189570c4724f1db6f5ede5c1ca19e9ce898314d5aa0bc7d37dfded3335a058a392deb1984aea143f6dfc6ede2b7cf2c8ea5782ad52449c72c718138a97a70ca344a1ce9981b5cd20cd5a47d6aa7ec7a37f971101ee22852babc9d56d5592fada141ba0b1db2ff465a05029e42f41eff1aace5af8257dd8506e92b5799aa07a6dcc161783b0eecc185f0079f40ad81d61ab2fdc755a7a9107af8200a81c8470f7a6d655109e14430b1d9501cb856c1b5266e38caf6d09ae9a9106fd8032551bcec3e5df611b3cfe79c85f0f17306e9e3edbf0cb3f09c43652c6f0f0183e0c38e54aa65db56ce905d877d1d7871add52ab82a4d21fb0e371b5c699843f6f42a878edb1c2fbbaca3af64eb1afbaa620f94c4fa9d5728441989c7a7103d84127cdcfc9ba101a80f0cc27be09a0c208480a724d17a8c56bedcbc69208c53288d2804c390c7c3f0a8ffe2f157f31cb9483861b8e41e87c7cb4acd4c33031214a25cdefc751e9f2146727ddb469e23382392ebe2efcb7bd788f40a2f7ee630647578744fc3137e9c086a167570ebc1ed072feabc979dc1cf5914c397c1cc201bf9d8ad3deb7306a167e8903df81bfcc114dafe01f6007780c529b4bd31510cbfe6d07612276f9f522d0b47a49b91a704f13717471a956fce6cb79792e9914a3569cfc35a177eedb895a263be8d67ae88a16ab86ccd46ec1bf507b368e6edc5bd310cf375d80636bef77038762f50c4394d36a9b39e864283b0e61077cbfd5373c28fcf1ae3baf5fa0edc534d5af11f51f63e7edbb689bf11018808de7413e592c9cdc38fae8bb8ecf2f7f00687a538364ee70304a21edfee89f0761f78db6e6ec63985c4f77d9debbf7053b519a21c2ed92e06bda7ccb42ce876ba5e20ca481ddaa02607ddfe0bc2db83ec8370975f20cadb88d4361c3f17168fb4dd757b4a26a99dba30851eff7111d7582f65fb1b5cd2ab4c26dba8766a5977bb7ee01ffc7320ecd2f90fe6e038b8ac3e64fb1197b0ec738ccb8fd9678c4275e468a79cdc8339b8ce913041e15d06ca367f1cd8e9b474fec230f88830d07c75726a05a7903dcf4b7c7d6a59d953af575f55a9b5ba54b5542eb5a9655d2ad44bdca6c0a6aab32a5fecbdb99d5a36a96c60932d00b2dd32268bb7d9862dbef0cc2d8a3dbcf4186700a27d797d3c980351fcaad294249a8f714a8ffb7829a5fec0547afcc7bf176e364dda5f26714e41032d5728f4f80f1f78d27ae05a8f27d1faaad9b4ec753b8f5ea3971ea30c3f3ea5783007b8fbd14db940defaf57abdc497647e7d32c9afb1844214135d17992029229a306bac4c5aca9b51de6e54b7172e93b2cb070e34bb7ef38f03614720bcc7cbcec74b31e37809cb387ef3f219c741c05dc76efe03dfdc07be790f7cf31a1ee1c81bec88c9d7e01228b1ecab1bd7bbac51647b4b4fa0b41f071bdffccd6fc35e7cfceb816b94d6e31b46a1693dee0353e141a1c77dbcc727cdc78d6a0f5c93c1c79368474c7c8c46fdbaf89bdfc051687eb9c60e9c4534dbefe0d0ea649be307a6e2e33dda07ce00d17b602b9446f4af3503e13a37ad9688cb29252404a12010c81e2208df0e02fe81e7ecd1dfb0ceaba479eb9bb1ccb199863a3a3937ea162ca7c99ea8326490738072ced8636fc58763d91b263731fc0bc330429b366de4d7675802502e9d88aff105a0bc8d48e1c3772ca2bcddbc24f3867bbcc4e1e3e5ebc74b5606e1db559dfd187baac6ec7d747dd5639c35d65738e3d5cd7895ed3f118bef29f1acee25c27c72d953d97616310878ca0d49340cf438950cf4b8154aeb314ea1b41992d06adcba517d61d645ce85ef5b5b9769089e3b88bb3cc3fb0936090528df734478d6d83d14a22c4a7dd00ca0c13769577b5ddb016090e7d875ad9e9a9908084994e9e967c72d236972005773cc04c225111156ae27da7257312bcf96759e6db9cd8635006988f4ddd97e21866b3269124993f5da4e933b4dcbb6cb289aed4c93158526eb99d652186bc95ce911b97e026592a0404c7344aea76a5a6645afd2748d5ca2411ab569c852b54ea9341f7c115770d2241127441f3310c51a7b39a9f2a469a8462bb1a46772bd44e4546d6b4fd3f40c84b25af3825c6134aa2a6aa868f54d75c3985cdf755261a9e55a679556bfdd26f52b885ee4fa167a72ad3d2d73e5dca4ca117368e626559ea6d0ccb306b3cd465d67048042ecd77775d6af6f4bbd33be0954d6a66cff7194c6c1552e5b76a291a5f495da14b215cb8b67ab4bb943a812737a98bd684398994d29db6444b6d90e3126db1b6d972e552c55d9be32d559952f30c8f615cb2cdab65c9b42f6414888b3c6eeadad4d657c36ec99cb7b0b87b16eb6eee15944bd8b3710bdaf95b2374691227ed93b6b0e81522819522077bf4b6c06c1d7f0c81b5953c8f37e63c8ddefe7816337853ceff716f06e37da23dbefb7d18e627d811837404055514515dfc436a88bd8755adb755a0a4c243e7bf0178323f7ee665d51f87b3a8300d1212840b9753b440d71521521955be5bfa02ee2fd47a9055f3338965c8f9304a2418ad0a12a5ea07044f2c264ad2ff2bdde73b5ee58760e128678432225b03e9b04f3fd8c427339cbcc32dd9c76e61b826fce196abfbbe924ed5de27a61116368db3f785160a04092500c35cf7717b11418b83c47d618454acd5d930d36d9e23b715275800b779113c792c8cc3070597c0c358b63c93a1419f27cf7a9b83ce5b2fb5fef935441acc92f6fd6b4a6e2c225f74112ba2ce2725e8c225e4acd474860127044124718b8cc7a1726e14898376ad71843cdacf7bf4f14c513012f3e294f5c4ec993b4b326e58941a043df07e23a9b8ca12fee48b0edea0b8454aeb5d66a6bed06e7374701e73737c7c9390e4855eba52e44aebe9bba4b3bf553cb5c1d99d6c2c405ac9ee78120d8696e7804b6ac827fbdd2aa96359a343a140dad6af20ca52253673a635332b982e00bf76718dea8455114c58b60cbe56ad12a4d56101ca9ea2c87ea06e71b901aab44240e5ea1c66aec53932b57bf114da0c9ea84586bb5b5562957b3c8686b716ed4e738b8ce5812659daf502d8d6ad21ec7678e27d168cf731c859efe941cef19678da1d0731dd7314ed1f19ef1ebe89aeed24f4dda037521b25e76976cdf52b5eb44d1bea12c140d038389e2cecece4e574ddace8efd9a96d99e5b9fdb3753cb766edf5c5a36ff853e98d6a8528ded74b8c2603018ecae2765182ee977fe191249ca37b0949b797668989dd14bcf8d1ad3aa1ab3cf81678dddf48c34ea252cb75e8aad56eb17c071fb09d4d90a55e737c6b2cbaeaae3d2396c2c61d9a5f31ecb6717995dae1b551d9c730e6678b4c3e97c3bf8c6bf19c28832a53bcff90d5cc2beb3339636effcc6a9125da24cb4893a41455d59a5a99a55338dd51555a2b563324440ca49664e4d2a22f2f83aeef397b01cf85807d639c53937300cf306d5f90e0c35df1871a8ac5c65fad7bf1716330d73a010659ce7c04c6accbe077f15ccc162dec1194093f63a47607144c6e9798ee718a77cc1198b3469df33f6bc679c42692590fc22b30b97626ee1cfdec365336522fb191a1d4ab47f7715ac5f547c36a7cd992c6ad1c64c861df568a92baca12b29bb42dbb4655b21cb6389ad87ad8f76166c61fa0ebb7be7efdb70bd341bd5edb4db2cf8cd91878877f049196c7d86ac1bf5f6e1ee43fa4629fdcd5be9b4adedddbf0e77ee70492d0dc3f044c0874fca21fe2ed87d37aa1d4eca209e6132a5d3b6b87753a81eb11e1a5279b6ec2b938ec6da7594e37adbeabdd6da5bebd61f9e5589347720176eadebb2627ddd801f093483ff707058adfb7b16ebe0ef8980acdf12be6f2732963424a1b22a143073633fb17553a8b2a875e29b945ad62f8be5e1efc344beb7de6109df68c50c8f6818760fbbd005b240170cb44d4e3285b62b4bbfef22c1406799ec7df280471a535843e429e13bf76fe4090f9e271c8f90199c4d7ae1f79dc8ccdfe88d65c74aca77dccea04314069a914ca17a9e7b7b209e3b1e219f04d2cbf44da07256a25c81c80fbeaaa56a6185608fe56fa3a959aaea52cd320024459a8908b07a6e2a4bcd92e5ebad055162fadebb97c56d61982002f2e3f6069888622274a90b8f83cbf0de2795b7260b65a36a5385aa4dd5a999baa9979a296f255512d2f27cdab461933ba6bcb5eed5dcd15adec67286ab0c85d6327589b8cd34557884db0097a8fc79a090d6bdd669eb5deb5f0803cdb76162ebb68ed3bad8baabf5b0f5daba7d6dddbecfb42c29c27fc03e105b2fbb56986c97b288db8c09237cd6586b6caa59bb45c73ed3a4fdb5dda590eebd6f56c84710527a50548b27d58d74896a69d27e04bc63dcf18c853c86bd93b83b0f4cbfefc0381e844b1f205c12fde092bcd998a2d08cf171149aa7b8a76cef834bce8a6caf039739393c280f8a6ccf83717c9fe125e381bf98669ca626ed3dcddbfd0125326d53b3a83b532e7d2d482fd365caf6eff2e7ddd96483346a0a590f4dcb4a1614c779551e9417e589f1c878653c331e9577c64bc36d2c281ac58adaa6a266d1bd799bdaccb40c0056c8858c5e548dd9b12a79b8cb5de86d2c6fdbb891031c438688208208f7728071e04e84e772f37e31a76586ecbddbfbb86bc255f6462e86d4f73e1b236daff9e3702d9b704425b3c6725be2bdb3517318693bcd333ce1e23ad2a512b480d0462c3da8d6713e90c334c36edcc039ce714620b68ed36add836a59090e91ad0807437c73eb68f332e4de21980a8f904fda901b5521b826c39027d1e69071d6d8c6e17c07975dd6c151704e975a8673fb1cdc6addbe637907c53ab351252c5bd6cb9e6c6fa3ea6c5e26ce3621961bd3c654671f547f501b53b655699bbab8b33726db97db9407660a2d4187bca8ea49654b42cdafd183a2dd971e948daa5251d98669124aaacea8988ed9db4e8a842edf318809f1de936a5979afc6b4cc3e4a4ab59d07e5851122e49b907f5e941d619c22e4230cc154847cc83f0e7b619ab41e549356c8870cc1227c043c6942704dc893681e54cbc2b42caa65e1113722791132ca20c277a5679dd4f7348bb8db7b50b3e8757befaace84dcfe536a195597292ed9969f966c1f857e2f4c337562ce28eb85e325752f8a27bbb0de0bb9e7ee7d776fa54a2044446427952d996c3fa86cb9b2055816c10976cb8b08225c89465d85b03ca8abbc792ca8ab8f729b1021a792012142fadcc58b71cec25e13e23b5c429957b97517cec569754d825bebb65aaccef3840c19c1c8fb179edb36214346301a010f11b20919328291111e010fc142f0c7b1ee85f7db3e11f0ec36295cbe23d804a41150f511f14ee714ea3ea7d0b70426dd9093ae243d3141e18422355691e47e0d5358435ca14993d5499ef2cd79c2ac31d652a64955f0a4f58c6593671bb17d679d3bade5ee25145a2ba1781f113a764d7a679dc3363ceadefd2bb971b232a51f2bd3cf1aa3730a71bff7bb15bc5d6675f5055acb7744b2e3ac6436160bb64654d3b96ec4d61d4bd6b77fe40bfcbc17c7711c49128937ae56d7759ded8f640db5dd6cdfde94ec9c7d9fad8139fbc6ee3296dd436e5a6b978e956bada31dc187ad4bbedd58ba323776076dc492d6eab9ca8114aeecb628d42e75384ab9523a8bee6b4dd62a4d567b9abf8b43255c959a74892d2bd1e57289a2288aa2d8b20a955a57552954aa37cc195552aa55709864ad4ab9fee80b5d572ca5579e351c2eab1aab56b5d6dab26af2aa088d587695c8bcd82ed98e24abaa4eb05454a15dca354d1a22f7ca15bbb4dd1fe66cbb77bb5bd3dd9cb62edbd6c4c30cb279600ef5308b3622a650c561ca361fe6b654633e6c50795baab3cd882e9bd314aadf9ab82eb9bedcba704edc1307980773534d560e5ebf41b58ce7f5f65f98262b47a6c90a14b4e3b27fdc54cb2a6c0d136b4baef6546610d696e964ce584c53661191d992db339932126edf64ca8a3c8497530a1600b1072b2adb2f70643c67aca89ad33356558d95704b6f1c76cb5a4387eaad1d4baecc083e88932a8b522e3932b992e1a64ac0760d0dd285a143f56b8a60f044f07612b0ce976023ac281eaf67557d3167dd0d9dc8e325cc27f378089d12539d71554a42313246c65e769984c14491c5143b690433b90e3e3a8807f00d0be02c3cbba81aabefba4ea9ce3aaa1aab4424f9c360a212d0b7f028e81cc072bf8a92d7d4e477c1a55cbe94ecf6edb6262ec9429c543c54654fb4b606421335009a888e12fbd679b1795151fc9aa24b5e17cfa9491260a06d72cee947417849895e7619002fc9292627bc7a88aac9fa26445e53a6d09c424a4e956acc7ef3aa3459451394dcc8bd2b4a75a6e4f537b5599483e5a5348bc0f7f8abcaabf6baf25a6a194be76567103e679050890ed583f0ef824d8c8c374b34c88d4ea8044f49f223ff28b8b494eb6fd8d020201b3a546fd8e0fb1b9883c330cfbf0e64828dfc08ff03c03e1700c6ffbe0fec42f1de15ef4a279945386ec714d4c8f9eb9f615018b10c95945a56b2ae722d412cb95a195d47e7b4ebfc484e7ece67d679bdd891f3cc78aaa43362d60c5619090a5d5a92f37ca3a64b99f59f7f56c74bcac3072f2953072f69d469d50946befdeebca46a7c7ef1afe4cd8644fa4b2724f952dec692f5918567fec150e852e62921e7f939cf1f718904852ee572bb08ffb9ce6748026de439924724a383cf799973a383371a91b6d1deaf162a358b0728cf0b8f36a96675f758b2a6a8187912b05d6b5c5737b08b8da8042e816ce6f6e31f07962d7029d7836c6890961a3a549f03b2c946fe3aad8d3af7bab0214e2a1e9672e935794d4e209629142aa9c9e4cb9692a8d4241b574b8d8f571fcf69a9c9f514eca0cd579b6df28f7f1eb8a40b71522d59e5d265255ad55992d78b57e5570b8f2e1022921b79181e296d3d6e07df230f4d998644da8eafeb20bd4e403252a51a2ba1d0a58cc45302f8d7c1cffcbace8d8c5392dc080b04699883e41b8e5b8b829123b9914f1a921b55245889122347462b5f702819a7505a927751554854d9458d1095eb3baa3af3a62a2b0bad6547956bc9ca92f3199ec0baaab1fa2420965984e3f5609559845fff4d7d542dfbebbf332d1b5fff55b5cce7b5b3079ff51e8cf01236e4a598778440d558fdce92969631b50cf6faaf368b3ac74ba2202fc9ccbde8252c0040669f3df3a66aac06f9aad0a17a1ddb3ffa608ca74ca1ed49b6e3c0b43685b6d7d07ba241a840d599938e6d9f6db68f30426d1fe241d5ed42c6b2cba507bbb16db75ead65af1149047b70f494bca92a575a9633964959cc1164f4a67a8ac6121680b114818c6537963f2314ba94ede8d5466ff655c9f546551cbd2b4dd6b7e784848cd253caf5de92168fc9e3d2b2128aebf5acab3a43c2996992a3daa89ae4cc345999d498eb3ab84993ae8378055a650ab9280b1d739d0dccc5555597eb300c6bd2f51b38a749d729169b74b9de29b95edf8571bd9e3bd3b29989c69022fc07ec03d1d5853901c9392aee4c08446b5fd21a6ed865d532d67b5ad6c885692eaac97a24322cbb519561a087804b9f5cb2a2727d0e5c12f5e0fa1fa10f1c858280a3d01eb8cc21c2653784cb7906002fa55c2f84a3d00ff00e2ee7190f7009de90eb3bc02599639d52ae27310f5cbad8c8f53b7009f4191e05614e0ce6a4c87065b829db94bbcc8355877def6de37263821097bce4c440d599cbc541e5fa1c46f0cfad74b4058cf746e046e0225da4ebc275e1de7be41eb94aae929be426b9f10be537e7b7fcd5f96de177e7f7bec82c72fd9ec99c3de0f74dbec29c39e0f72dcc22eef7139833167e7f0106fcde08fc22fdbaf07b8f8039e4c8ef5d984394fc5e863924c95d6b6ab9cb3c5188bc406bf40bc02ffc078b6fec05c96fe0aeb5d65aeb0ab849e71bb846c2f725c12f5c094ef22358c999e023770133391276e111c0486f008ec01980919c85c5b38019700eb3ee00ccc241ccfd01d8017761f010c00ff80e76bd050c81ebe09d97b885e7609d43c1e51be7dc0886d24772117b41f21770ada32141626f040a5ee139787c04f0015e62055c07e3236103bc05acc277f0ef82eb01d8c941ace3473001ee009c807318c795e013ce024ee12c0c7b126cc219801170a34a31cd3fd88b912fa0472f0cb851bb5e0d781936e0a52bc9cb1c495efa287929a4e4e5d09197428ebc1cc10a262fe70ab870e1e5848118482f2719f91581d7e714a146448bc0cbd926bf5eef6611ebaf8b73c6c25f87cd22eeaf7fce1cf0d7c95904fe75a2397bc05f07328b5c7fdd68ce20f0d78bcca29dbfce64ce5af8eb4d6691ce5f5f61cecabfdec22ccaf9eb139833287ffd02b348fceb85bfce9a431af0d771cc2149fe7a6c0e51f2d70330871cf9eb25cc214cfe3a02e61017feba0b7308d25f97610e89c05f08c0b3c252b8ca7d1c784ea104601d4e7c9e5c2af755c0b3f6319e53480178d6d888e7145a01cfda6f826b1d8d01b7d884bea171681a72ff0433d02823f709f005182860a1050b72bf0027a0a204b96f0011340126f70f408bc84dbde4fe9c2194d403b9ff3598e31d1ef59c83aa33aac445b56c320037cd085ec02d262124f24500d73a9a9123e108dc058c7426d8851fc14cae041f7912ace40dc049fe0266c045ecc5c8a1e0179e83c59718ca7570ce5bc0e577b0ce21805bb80beffc01180207b1eb0ec00f60013be02ccc1d0966e1957506e0598df4788f64012ce01592e00380183f00ab7004176007fbb4809db8800990837140c12944009bf055d0085ec05fc0087804b0091731ec50700a47c2273c07e378891370173001ae8375bc05ece44c300adfc13e87007ef223b80077e1ff0158852bc1063888f11d8015f024f800e7f07816f00a6f006e722478013506e0a62d00af80c519bb1f316c0add2b007fc6ee3126a7d0bd0a9868c6ee8f814ca1fb27d868c6ee7d70912974ef043399b17b1db8c914ba4f005e61c6ee71e016a6d07d0a780233760fc3179842f708c05469c6ee9b84ae7ccf3a400e9f7c8fc3004243f93e56002123e4fb00a060c50af27d0904e00206f91e0127884146be776186706f021bf9b6c9f732cc102e6beca6d06db169adc9815b3db8e5e385587e6767e7f5a252cbaab4acd2cc8363e090eeef3950ca464d95f2ce674864c961904bca43ae2f2d985c6f9766110f136644aed603f9875cffe9dca82fe6b69655b6e039f0f63adf30ce2fde7963d7415c4ae1f2bdce8eddc9c12e2b29bcb0caae43a1b5ec1a5d570f5a42dc1e76dcbbfcd51a1eddfcab5168145abbdcb8ecb0eb0a877a9528494a553569424751d5d83c63496832699aac202b3cba21a1d55c9942f536848112a156bf5dae4bb3a83fbb4b558bfdf56192f5a5e8b22aebd2d514aabf3eccea4a63c682b8ca9843f5ae1b4ca1de9ab6a6adcbe6d4b2ed2098a323eebc7670c06eec703a3922c771dc761cb01b5c171ebd5eb8cb377866aecb60b8e597eb3524b2fdfe06bb702ccdc83fd755cbee88649c62e44894602a46aee45f63d79a266b48c46565e44a90e04933826b469e447359b56c8dab47242f464619947c4ae5cb44c9c3265fb627f937c37b23b84669467eb10128cdc891602a3cf79366e4489e24052347722b9496e44635099e342478c98de09a0c4b9e445382a96480c9ad501a93cf90c912ab5964cbe8681a62076ad2cbcf5b3f3604bd8a95d3eead90b42fdc3f2bd5b11ed4dc315dfe6ec771ffe17e7015a0fffcfb7ef015d321d4df2092163402612ba75da90ea1fea34dab77bc51d4296809b11bed182b459d8874791b6d94fd2296752a4bd5dbb23b5e314d8e6f2727edf3fb227516f47b262d0bb5c8b5d6fa44aed58ccacd7e7ea3fe45d18ae73dc1b4aa66cc59633163f5567458e47ab9c8d56a1155673d55a6678da6a16aac2bfb0320a05cdea8b2a7ca1b05838962bd3e780b8337a5bad5b6a52683f0a441d5d9b63d416d5da0362e50659a4d555aa3c60a0dec4caebf6672dd6687298cdfa1a567d5aac6c2fcb86c6d7bb24a5b972b2eb95a16ebf59a3870645b49a2d0c7f553adaacf58af72edc6aeeb768c9fba51f7db0f6279a3f27d6f51e41c3d9c8b2868eb7a60f341f9035f31d7893b82de9a106d9415d3329ed75b29255acb9d9555b5b23f3e3a6e14779e7f21a6d946d5aa83f37d4fb8c1b66fe4e6daa8d3469d369f1f4babe47b1d783659adc8b85cd3c5c66a8d959ab27b8e1b35ce395b52278ee78e52b81acb314221bb7fd003990e0aad651c9c6f38385b784373109e341a76dfb68547af777546bebee75f88733cc439fe4d245f883f2f690e79fc07e81d3cf6ef83cd46f5b8c4a0a79f32b904ea5e1f2475c5f4130f4f3fe57afbd3452c67c8ed81ad5c5cffaa07b6edcfefb7b0c9cfcfb92d34a1fbf9c15380c20e4ea583d1ca9730168b014d1e071a3b3b7653979689e3d85c44d758bf11c9175c72fdcfcfcf0fd07f704d0620209f77dd858b8e77f98a21f11dd31f6c3df97ef91e9c323167ce7e7ecf9a419a8947476a404c2e8158df0c8f7ea3ee38f8c1774cc7ea437ca5ae18261e9ebb98baf146f188dac2cc22d7eb37a5add632110613c5a99d3ab5f31b358bba1b2f6badbb71e3c68d0e0683c170c06a0d566bb05a835d7485750a070e1c75aa4ee1b09b1dbd50f9398ff3f8f91927c7e354e71f0ebeef50348187c8231e87395eea38ebac1c38b882c7d3e728c7bf0ae6c0337798e39f883b976bdbc4fbbcc3a5eb224bbcad9b68bbf0c847c728a5e6f01d1e85cf11e6087fcee31bfed936cc3a8f9e9e1b551c3c730fbe394fd42d93eb391cb566b569c9f53a39f806e8832ba66fd48e1d9f5239c4dd69c864c7bf0e87ff2eee2cc78d3f1b46e28ec47f5cf7f35352c9aeb1864bc2731d6b8b223c6b8b8215be8567067b46694c260802b56c9e30693bde2191d0044adb018647e178a5f08dba627e7e7efe5d29a071cacf818230959f07fdebf01573a36ed4cf8326ed07d77e9e44bb5157cc95eab89f5186f1532a6fe34825037d2b94d6f7927cfa4804df1412fbb56a9e007230afe82d9d57f9e2a59e52142db694693bd3ec23c4d7a5daf505df042aef54ae9f9d45addb2a9e662ae26e2bebf735553bcd8e6aa91ed365c06fbbd5a9c336833dab323ee8f55dcea47d15b42d8b125e4a975d9f7fcd21b58ef6f3f9f35227cf9f973772cb5e22fccc4f1f1d389fbfb9515f0f6c27efa360851aeb5393381b164fb1132ce3f8601c1d3a30f53932020e0eeb08d6d3e4162df99527550f54f9b36010b681b6a1edf8d8503586f30304d023dab674d95a4caef7c036620ed55724a6507dd91dd4c4bdb86716e1fc56c9dbb90cbe04f03848e0715ec3123a83c7c16f72079eb49c1a1ee57cc436cca044db01becb399a690b897459fc07e299996c97ef1bcbefddc40577336d214e2a2d4f154c01e8e3c8a3e353783c76b2bb3459ab05b9d457aba5f357c1b1a9654820ce0c381df88820c802c1f0c8e722067d3ac01129ae61123c7aa112f4f1f720ee7cc3266350d0f65d291607e7e2c71bf588a7f0388f8ef1c894245aec5462a3952ff44da3b4204c7ec43519c827d166c8841ca7501a8f1bf5eda610d07988637369b21e67a407c7666ab29b9aac3e9549c7eb71feddd1e717eb388893b20e9f8322eea71dc71da5e3ffa8d3a5f7be9bb371ca7c5a0b1daadf7baee41206fb46d1ebf1c11d8583fb494bed5cb337b6131222d0efcb76d281bb4cef714629b6769945f441af38afaf4a3058150cf6d9330bb3deeb3f1c2fad87699e938583030e3eab65e2e03841d4c756f1f0f0d8aa6babee79c4271181bc26409ff2e58e5f8747370e6231e3dcd004a0cf19f3390dbf7f1ed6a1e39e8e1bf53f7cbf1bd58fdee7202ebd530fe717061345701ccb7b9f1b551c36f913dfe5ee7449cdf7de0803f5198fbcebc03323ddcfac037f334c61c41797f7de8dea87bb03e5c871a30ae29973609ddfe028b4a7f2e0122bddd8c13a3ab8f1b67d0d15344e191ff4524a05c254c603fdfb6a3bb553931528084fda886be39368edd4b2ada1c0719401e8532a5b70c49326e29b81ee61fb1d78d23e0eecd03bec3840ff3c6cff5d207f6329a58ee387f41de1fcfb3c5c76e308965432f86ff4beb1ecbafba0412cef0aecbb24c4f2aea0ab6117348ee383c6077dfca405dda88eb8264350d0d77d6691ce19eb803e43224078be7085bad985ab12b9be7e9943adb13a757d9a424f4d3a35e9e570a44e4162dac929d7f2ae20cc3776afddab97ebbf3abfb1ecfc8977ca0d49340c8ca79281f156286d1ca7509a51ed407b18280bdbaee3ac949aed9d02000baeaeae3afa4dfbb95d3b2da5b69b9aece6d264d75a7133355999986651776e2e3da3695a56c16d7b973f0b56587834965d6b2d59c8158619f27cc513069ae71cc5265be99bf56a8c4273d95d1db5d367fbd7e9dadf332d2b2d53bdb7fe523985e95fa999d8bf65fa77aa6560ff565d5bfbb6a9db6916d5dc4e75d6bf5063111a11868568c7b2cb94de40976aacdfc409dd00c501c6a697d640dd37f7fede9da6aacc9408b01fe2ec0e28771a7a8506e1b4d0218ee9ca4d0e17c55911952414586db7ca19ec61b8c88cd97b98c924ed77300ab389161a84ca1c62aa33273a9c16fb9c9163b2c761ba61a2b839aba8d758128940fec8f62e2eea836c412eea8ef54a93357c9facea0c76d86895af3479545fc7de9ce6ec32553b655c90db850ef56b1dcb5aabb5b12e35d9dfcbcd29f7b9dba5bdb16f97eb34852c53dbb17ed8a9328d204d53679b5375aa7573aa33cba59d2c53d01362bfcb1693fbddb7bf32db65a72718ec16f6ef42b5acd6378e710aec385e4aa9373015d86ffcbbd7e93aa100fb0d1c78d260b8067b12ed3ab5cc5e763f736fb051861b9f5279a9afb4a4b4d452574424f9c34429fbd92e6dcd58954933a64a0c5518fb642f9d42f51fee3954bf1dd65275769dfaaa8948f287c144f13a49e5ae4c1cb63f600bc41cea6fd8729964ff7e0193db3ed9a6b64e96690af5692e02254e9a65aab3ae633aabc34d9a7432af5385d56ea7dca7e3d7c251bd51ad77de6e79b971a3ae2da66bd269a02cbe09546e55b9c26024a6b4aecec64f2ace6aadc6eaf81e4b28b0dc07879811271750666aadce28976e8d1524f1a47db576f779c4d6ab9816c57e8d9afd80aa4b554b65aa4db54bcfc4fa54a16a982a25b69a425dc9b597b4601e4d5c300f2a2d68329727959633f96b2636ec78508ff535d7cb9a71deefa60cc78c7cafa143236dd2b22697940b975acbf524ae5aba2ed52b6bd6e4fa5a6b53a8f290d04e6555caa5ebd46916b55e4f9ff02b8fd7779759a473a0ab96ede4bcf617fb650ed55ba80b75a12ed42522c9dff33e6790fa7d18e39c0726df9876a14d5075769b6aacfe3e503a5ec2ae54ad4283dc2b92835a25d7d66f539dd9ab8fd567d43196b0fa2b75af6890cb850ee518af54cf78a578c62bc581148ef14ab9c62bc5e50a761c7ce324eee0f6aaceb6a8aba8cb86cd65b329d5583d1149fe30d8566b1c9b5cffb5ec24fb374cee4607189cb1fe06839124d10e102e92839b44d59993aeebd6c0d4889debe2cd71f0eb248e7d53aab35abb5c68107b4544923f0c268a4a994bdec4cc4d6a92f531bc8d99b15a7798d55e955153a8762e0225922fb7a823aed10b15a016f9295f1a08686cbdc7b285dc27dfeace62ebaed10b95f1240ae3c9914ad06885d282fe334ea1b49f53da0f1ec3312a0af5a85314da45a1f5db16956b57c9b50814c8f3f80f1eff910fc25478fa93469ec781708dd2c8efc055bef4980239029dc718742b94b6e34675079eb4203c1e08d764189f44fb1afc6132522e4d2deb30d797dd5b152bc9a77974a8e0077edd44ade52ccb7ad676b75c0f51dcddbcedaccebeb3967bc7d9edd2e70de050cbd6556bcda150659248b3ad9472347798d290394c2d54aeb7615a16d5b2ed4f4dd653269a71dcab941bccf70a052657a829547dce104b0a55a16c14b9be26f14da0126ccaf69fe0a19ec2d37c31cdd4a94927fa65ceb6a9ead4322d26f9c16eb91b60385231546a0ad96f5a4cd99cb6ce6809e691ce8fbcae89d2094c6a2cd69d59a1d6a40d89d02a4faf7b50348a46058111cb1693ed5b8c548f6919ec5d0effd12b5da6c934b87464730e1b97d6d4ae121a665c55cefba5997563347399faaca6f23a657b8798e58d22dbdf26ae12d95e2fd95e2ab2bd2bc8f66a91ededd5d595c7752eb1350221f2a8aed7377097d1927170c0f31d1ddca8dbc2d6886aca89664bb6a73283d82dd3c99c59a629b3a89b09917932faa097530a1600b14719cbd77e81e7cc06718938d606b7cb8ce0439369323d8579bcc3e43d1cbb109c1f04876f619a6d4083d43074c8de062d3cb38deab9bdadfa62ceea0d9dd8f312d6f3a0aac4a423878e1c3a982c5315938ee7f847856001dcc3404e7100dee1a27750a36aac2aaaaa52d598b54424f9c360954aecc2230efe85d8e60f8a88247f5857d599132071d6adebf09429d4f73093263b478e1c9f7346ce583fc73f0f6c8c8345a51ba69d936cb25fc3f47b5e9ce3fa0d2c1e8671ce85443a6f68c06b65f57b5ae3723ab0134387ecbddff17edbac2e9a2c2e9a6c7fd18cd7eaa36193116ef40f8a9bcaf69d181a04e42226db1be129225c48839d14c88506613dd121fb27900b0716e11f0f000ee102c0420e04cf5ea32a51548f28102a55cd423fa0cab6b459ea36d5b63f2ab48b1046796270b027b5cd0eda882ca859b4dd8ebf1edc6ba53c294f8c17c57ac2c77fcad61b3da8065d378e83610fb1cd6d0255aab1eef4dd67a6f7e0534438ed333c1a1af221d8e842704d06239a90d1ca9796d138653b1afa0c4f18e16566d18fdb734c5c53cb66b7e7bab44c767bcea96521f878d941ae0f082f613d88ee558dd9b3c2db6f54db99ad6a9b9a451bd04ba29f97e401f01226f452cc1dbcecfccf9e6d4c3566836c65e890fd67328c4293f721fc10e1be755fc3bb8606a17275efe3aec9b641b8573dc67bd544e3150e169bbc574dcbe888c453c278d16c4c5b19ab960ddd03ddffdcdc036063ba171a993e18efb88d578d07e34dd3c156e6aa41d3b2342d11e774e962cf2bb7875b0925378b781f30a765f6bdbda494d2318776ffb84e749560a6fff13194acb5d6da7100f7e52463d7a43983aa6165c62c9a48709119e4be294887a8b517499126fb522e66f26473336999987b9c2f826427774ab60c345744e589a6055d72d958721f284f342d3841fe2685429c52586a3948a6f97375ae59ba72df35634d245c324b90e9b8640af54f80420c3245d9cc222bda0695750d6988b4294f36023083e4d02171ceba6f4473067687e79cd306c946dd4b75899b4cf3e7aa5bd55293b3b4b907867b2686659c5ce69411c8f516e3e49b593494a70e68727dcf9a199b79eac066c6662ebb204d3450650ecd5c8a37b3e799be5a6bed08a3f439948ab5c79a804aa4ff28a6db4ba25969b746700a6de40f03b70f66d1ccd449ac0bb104bbede5aca2555ad62dabdf4eaf34a05be819101616b07dfb0ab388fb06ab0252558a3f3a468308cd214a37bad10f65fa726681893eb0dda56e4893a7549527a92a623218498cc9138c246ad9833cc1488229dbdc61c7d93c436e84a1fcf25dc2b569d3c68c7c6bde8ec60e1a8896825c167143e2ca1e6bef59d6720745fb5d16772dc76d1fe39966fa9bd3649ddb73d9e51e980e6299f3e77a70dbb66dbb3f62de7b6fadf76e541ab0ca77bb76eca66cbedc64d6be491bc0576b6d55e3de7b6dc7e6cb9ac6d7b56cce7bbb85408155624e01a259a29e760aaced69d6dbbcee22cdb2baad3beaebeaac69442dfb24bb6e13df752b5c8bb98e8ab4c693965467b04d573096f6334c5233d29c4db6a556df9cb2ed9db5f5f7db76657d7b29dd620443fca480d9d6731cc771548beeee0ad8fbd25a9b73efbdf75a5a65c1a69f54969353ed94ba61a0723274a532b47505b37597ebee6559a0ab9dc522f659d672af2974c5ed72f7e2e4fbd71cba144aaea7f635c92b4ea17b5978627102b99e8eb67e40045bd61da69985bbadb3af2bb6ea5a7bbb9c1c4fa859ffaa57eb1cda2a5737af7adec8b1baed2aa1830e2f1daa54a9723d3b7b7e8389e0dc5eebe488ecb862c6baae69ce8e1688f7c604bf2fe81e6e963373ee7759f7f56edb56c96db376ab6027dea0abb5d6798b00b9bf9010ebe9bfee5f65592e6fbf7368fbdc6cb8c44e9265817bc32536b358acd14ea1ed55cba44c52f4684eda9f390608340949b9479e2364eef7c8816f0235158138a9be34e549f565297b9027550e54b903adf2f3a4fa3295bf8a24297729a021dab362f9ab203d4f09dd04bb339294bbdf4dc924a1fb3cdbc93e37f26ce311325f914b1227d517281c98f2e7ea3ab1e6903974b396c7f2d877e7b127338fa5673d534b42fd38ccc33d67c9366eb73cdcc96c7399c3c38d47c8bc8d22fcda1d568825cd31d827653b42a04c8a65afcb21f3c5252c4b5927284080b03a20b903b2c563e1ec753853d163e16c69c65aa00001656ba7d40b402f0089b4e4ceba974b6b9f2d883948410db1fbf61868a66317c3cddd88b47531dc8c746fdfd1def295e027821adbeb926d7c615621d5912ab9b8db1268c2e80ff4bb59f07e775332b398a9ddf07337ebb90d5b5a855812bdc9a48d5a157cdf9cb57397fdf2273716a7d0c4ddb5d6eeee9a9cb68671f424d29760fead474f6d9b526aafbdf6de7b2f7de5b9746f9bbc63297696368672a53e3da9212ed7526c740829b6db136c63ea56ccd4e4b4d4b4d4b4d4b4d403bb77bb97ebba6d34a7c9202e547b5dc7433f33c7d18b7564afa9c2605e53772be70554539d79256001940ba2aa70aaa32755029172af76bbd61b73a1a4b2f5c67852de54c881eb75ac7b3b21b6cd5a8ee338db9fad1bf7d14e888be9f5bc5a2d65755dd76dafd4be72986582ed95fbbddbad55055f15975411ebf3d5a38603e7c9149bdd6929f8dd5b69d8517aefb66d5b7b75db3c7a396cb770beeacceb3a51bc4aac5f16abc33ab2b7c471de12e72d71ded2cf938d8c5c7a2c58aa330f8c5702afc9abc273f29cf098729ff3904889f4a507d595caf6aee9e46ccb8ef4de2e4da13ad64ddd75497966dce0d43ade78ac70fbb86d7e5d790116dede610e0698f52ab75d06ee629e9687863c7364c28de206036badb577de3bed9d5dc7555b2d15ebefa5653773ddc4f8eaf81e79ee2081483f8fc5d80b35857af615d7d6ede2abc4146a2fb9cfd4e4e57b87ef10b3477f3788dc97a949b1bc4c99e68575cf7677c9762ca76da41bab73c23af2125db2697ade25ba840367bbf003435ce58bf7f09f87bdb4ce613c856eec1ec4ad315f15585ec07ff8357b5c30ccd79be4bda72fe47acaf2f23dec1963f524ef8681fb814674239d34ae033f2338bb6ddb86eb68ad177786237b2907031050105c8a7ee263791faef2a5fbf7afc35e409607d65a4f3d2fde599f27d25863f5c2fad7dddb591a6b9cf75296e7e54e1af5585eeabdf7b2eedd1ba79cc61a6d09cf9575d63885d23c2cbc254e7635706b3fd185f2589f2c1604c05e9520cf2a6c9a1aeb2a5feebdef15fb4ca15abf5a57e84abbd80beb1d76cd1ef45703fd5b6b593749faa6b40431532fddbb71ce18ed321dadcd74ca65e18db3238d7eb443265558a3d36d5a4262da7f1cd6916d1a184c146b9adcd88ed45a18e4f282e9db3475767998b1be0772bfb457b98df861c6faa5b5cafde6b6aea3b704f5d5dabf63edd958ccb5cf82eab0f687b11251e44375509f4aa74fa5add45efa9fd3bc3939acee9da5d6d2da3f9aa407d2b25ae9a47f22df2561744a6e20dada944b9bbb73ac376b243d8f6c92fe832649e8ca2ac66e552cba39d14dd9e6cf655b60c14993ee7945265b32999693aa091515552936fd68f24b88f4150c3a956dd7354101499345c4526cbd8459fb1e3308e5624f348ba0fc7861dae46a7520cdfda6cba5c98e2d865299a1f9e2b2a1e87292a1caf5452619d107ebfbbecffede6306c9219a45f65f0e0dd250cca1fa7ac5472efb4ab9d375623796220cb6c1fa0a2cd31e5bcc14aa576203b19c699aae50a629542f8234ac6661a96775df6db6ff6cfee81af0e1191e96721ffc07866048d93449672e422396744da6f4e5bcca74f4585bdee65f985719e98e76045ba9325d7dc9810462c49852a38d0a949e48e24b166c64b952840af362554385038069aa614a872c5cace00a1afc8085cb1a1ac0e8f2840c247210e24c134f427871c6172680810ab018a203643a22544863a566cb0cd450d1647504861564aacec07226061f58400e558451c24a1b27c0b2c6d2125b6a3ad4600d109d07ea1301cab401a6a6058a032ea0424c15545c11e38b0da8d1353de962871ac4e0051fd840105a3030441548347165860f4338a1c2868a2d4e6004125ad00c9de1c4079458a28636d408c139f1e4468d2c2420420364acc00733ba18428a1e7600b3820e38c1628b1409c278608b0fac9104552b830b36ce84200aa98ecb0f181ab88209872db04851a9b8d2c40d2f40811a49542462b0451a350cb124c4163564e8000d9ac61823b5c599202aa00455c60e4a4d59b400410e2a5043872ac4b801104ee80e53548d61c10a8018834c1468d0000b1888e00b25ba1f9ecc8b77032a582629366e784a8115306b08c1264c191fb09869938230985448523a220b2facd080808d0d502023821c3eb0860c6c58ea7c80ad6089316a70032f5966a063a9861c6a783ac38c1407c6d86203208820011a4f0041e36207354f9cb1f2040db489d807b0b8600b345892d032e40829a89842071bb2b0b265ae918514493c7951c3c392152d5280260b981ac270811619ae8062ea8007aa90620a2ed6d420cc1a1eac5260a5872430560071e5a98d1aa4f08102558a4803040b9e9ac092458723c48801d345045b9aa8d98002355030841363d8743ca850af9e28404b0bce34a1060c962f785831061a1facc8a0e262c9091a4678118616592071051602d8b2069835479091050aca8413ab1e82e062072d4678d9a14c1a6b88b98244156bb03c09c0951047806172aae28c246a48130331ba2411820d3ce9c009282f1c78a2696a09a23545d8b0648504544eec30e7131b68a855d1824c14461461ea02031eb448630c07ae38c9d246165e60d1460d8928929e8a3002072f643a4045171aa836c4000d2eb2807102056a54c165cbd2101b58fa800eb30c1a35657268638b1949bc50860ba448c30c135755ba1c9e246d310306cc94d3069eaed002ea8c0bce80828a1a3075b5022cd170650d1164a8c184146628b181041b619859a3c3a18b2e44906186111a08028a504c0b76e0a22a8c178cc0ca1317be20c20c2374d84149055358b980892b76f802082edd0d4facb8618d3484b0424a050c88da624a054d53bce0aa8a1322227008d3a4031a575f380923cc149a2e6ed062043638a1533cb9401726744863c40794900109cc946105136bd890845557c3130d5881428bd3153f483d41844c950b9cbe045146988e8627f3e214e3042a809a1a820729348600d35483099e78c8820c20ae17157cb6f4c0035515645480e6cb951aac50a20c1620d0a2537ae2a38b09ac08220c1690e00c111e684201105521a8a257387180111a38820d0d633a90061066a0d4641184125ed0a0cd932da4a0410a5830451032c822298a89da155e7888e2ca0aae0d15bc1063c6195d8ce8610a2abc3802063a4c41c3d40e58b0a102524d8a2998503281196ad210810f5a3ec0012dae20c1e6890c3a6c0973b501a81e6c50a14c166bf4f0023157ac9100097c9183521359c4600d1d68372ca1b444184474c9410d27493f6ce9a10331e0c20457b2805fe45085540aacc8a10b97c66c1c9eccae326de0c5d49923c2b062041139a05e60468dc9065d6c71a5c5290a2b377cd1460d541d204306872f63b0804343050b6cc1061a60e4a00609b2dca7333408d1850b48800377861833a0a26106290082053fa0a08b2a41c80006509c3143059c2cda2c91060f53f050c603456cf1c3102758a20c13706b9e24f570c60a97259468a2055028008b1adc20cc1726a062cc0d6ea0a68a03434801030ea8c1534311624481022cc848d9e0490d5eaa90810f277882e20a0b3196280108aace80c289325498810c1b6a1c384108a0c041288c353994c089366aa8b23e38698226882cc4f832850e4f48a08b105424105386531b9c5502a4e8a16a0d2e5c80250c13c678b2411a5144cd200a8e0c27401811032f37b491c60e615ca144991dc05002053478a012a1c20e6d541141125b8c2013f5811190a04a113580a164e58a4085399ddc229ecc2b7a7e30c1150db0346d60cb8e0f6c8a00630323d0810b8a859329aedaa0624cd51a55b4c1a1c1050b2dac98f0020c37c63483864bd40aa2aa82c8a2f574831fba3091d152828b654e10cb0e20c832a60352d8409b5436b8e189289c40a3032910e30902aca0a00b1a6398aeb88c80c692195e8421c4142c50e3444c141b31be78e2093249d0ba40734516398889c28a3092a280a2c11a4f5aa0b102840e14504d31e68927acd8e0865023821d9cd0a1091dc4d81a00a9010d343308a3c409aee02c3884a0871d6a704116f7ca3c830b1467181183a7326d7e84302346134d78600b3434cad1a006406062d020e881d0c3e6155b8d08c8148306646acd4cea8d22d8684206510011822b1a3d903a9b6ad6e8a20a34c87461e2008dd627326932c04505598e50019619c4608a2155e322062a60a30666000991e6066d3e80030d5069a2a03e48f5172f3da46152638c118c200226c674000a8cab312c53143fb2928505545666b6808046cb50228343196c3c39a105f5a1aa31e713fad3cf6e6b01fdd5a05f4ef8e105213803044a6cac68c2462d8b2a4080c3124a1c184e54c0030e57ac8c800b53530c605af043135765f0000585062b52e480c6862e5c5858420a8a35399c8103096850d39080fe6ad00e94e0517c76571c1a29369cd89431a6a94dd40d494460c104135c9aac805103ad6ea1c2981f6630861a2f357c800349605c20031ad858c19621d6d0682d0467a4e8618c9611dc8c2d6bc83c3d9969e266c07d11050c586848811a5b58a9e1850b5f5a90021dbe34c1050d968b39a79389060b16286c10c68a8c2712c648a28828a6f041061cc8228608a822502035260463a0208a192cd9d0812a627068ead50d81d437838844b9cb3677ee29d50448479b87d5d910a82baea2a89042082768f4af33220e74e1450d628c30c2091afdec442a834c6914523d3d309bd3d9a8aebb695ad657ea8eb964eed43573cfdcaa8be65a7536ca4ae5f4d8d6833e3f7fa096b5cef2b98ecfdfa81afb6e548db2a315a3365c3bdcb277e128588b07b7c299c3a01f2f3fe30c24ed4b4b079ed907b45f15bb6e4e4a9d9c7e880084f2bcfc61a3b6bb7cbe459534c7c0e53249298ba3142eb3fed9af75509a69e8c31a7feee5e7f518a88e01aad7a8f4eb54b6a19e64cca2190104000000831400202810108784a2c1704426296a900f14800c94b452685098c9519243c8184308204000000000880040699a04ed1cb69784934af7b11e9d0c99119556833f793a0f0264d84679e16f5d967869e7e18de00e202d6b8d9931bdaa7b529bc5abde7982102d8f68b292880ef62d549d3eabf40c762fa7146a7ea9c68f11d5b9ffabf29bd9a945f5f8df1aa187604048f28ed27fe2de85f9ceeefb9e98f9fc72a2c4148b9b86fc8a21f0fdcd76aeee71fc0b6cc504777f85cf554f2d0e11fd6af2cb3cc7d115d90e763fbd0269a66d040fa9a8bafd3328525e967880cc57d2297ecc8b31d10478d5b168cd6879a55736abab2291e93ff627861784a9287dee1cbdd9c7a9319b63ef36b616609a2989b6cdd436ba7c0e9110670a150eb4e6e00a57d41ab5950d36113b6583481d31eea20fb39daecc4fa11c094be311d70b45a81cc434a4fffcdef39451ed0ed2d7693d637cc1a98ff215f9106e72f4e000efbd02292ef9a19fb8a815dcba3df8fc69c9cce0ea0b76aecd8bd306969950a64d2a9d284df15dfe1d6fd73d0a3f4cf169f787328db219dc5a734de28447cf4c2c47f1d57e1d088bb32404ee1ccbf0e0dc978bbc810109b4b68f33f22e623c25213c3311599627b17affb54f9640f1432b62fa516f79feea5d99365a8fa21c1bde30081c14e8eb2a7c4199d472f92297ec9b6484bd9e3088cfd7cf6dbe94e8c22e92c171019e8ba66c9ea514c4a064d394e7f190ab0ed2bf88ca7a58eac44f0935dac3b65a67951bf3b7c5635f2e87e47ed16b3c7a2e335fa3112d3b717eb54caa56b2b32b3d8576394c1677cb060dc943358c946296e0eecced6cf6fcbd998a8bd0d5b44631f71b87e36a1079d48b7949455e8a8627ff11be63969ae7012c22d9347fb35fb048698bd8ede54cf93fa1b18562eacc5f4b019d87397f137594b1ce74849919b2375481cbcf4c44e7679dd5c5644d2fe9bcca9fab2e4282840339292e1e281ed08265093373a3efa41ba5c44fee2ea2c6ed518dd587052d9e679912096c49d946ae41c53425bcc60cb47f7f7a6259801c3eac49bef0eefc1174fa968b8b88a0cfdd55fc17fd49faaaf3985c5a041c17448f98c58c516ade921a93657fd2bf09b78ddd1f0e14e47998a6b6898a889fe5edce53aa2c25036ca67395cf60b2b84165fabfb0eea8bd1263e368f9810fec0ca4e4cd354cdfbb680bd03e4faabc981e58417ae9287a7da6251eb4925095b65910f1eca5a6fd1e5555f3a095410c04faa9f476df7d6e490ec4b19a8275fc22488f9736fa7ba650275eb2632123d50938bb68b6fc1b8dd9b8de5872f17b54ea6cda34467ce837a89ca1dd7ce645101bf69325e89e7448bfcdd547ab05f6ddb84822158123395f922a345e2716df22c9eb85343ed86c6020186ecdff05cd1b53aae29f3dbb3024ac005d43091a2d133b2817eac6c5356543852bff27421869c86afea1083ed213bd853fbf220a5c30099c737062ee781ade07f90068cc065235436e931b8e8ab011a04653deb07ff4eea67252cde7447a5607bc2fe0e7c7bbb42f6cb61881a1891aa70cae071b0fea66f950059f890453a6507972b1d086ef9145090244ded80e34b80e14b586ce4ed9bbbfaca1dbb08ffb709ce30f411b7ab951f6afeed46b3e75fe0cf6d0849c13eca3cfae937e029fdfa3fe965ef693f637814b26022a6f46684d127d7623aa777cb6e1724a472074f1b67d4c3a58a940d852988bf07942e1b912c3b8dc533df3571cff175809c13dbcaefb1607e1b840fc9ff5d3a75c0c2435cdd7e49f768c6320e54c4caa3ae837a2f4dca2e994bdff2407329af55e4bb9d27c3362079d63fb26ee691c29de63bc1557e82c1e2f18076c6badb6e48a98252fab0c5727f97b644e0bf4aacf5fcd266194c4aa63b74d2494264e361a2d8d611ab8947b6655cf694e009dd1f76bb372a954d19010abd14f7395fc8a14dd47b3abfd12bcfc0b4041365562a92dc49465779d8bffe7b49e6a2add111ee46c964aac00dfa691572e9d03e26e90bd706948cc66632f289899927953fe77e0e3414931ebe875608c207aa31b9545dfd0bd754791f42d6412a8de832142277176b0917b66c23097007917c230cfc10e05e2ad0fb421351b2b2f44704f02570836e472fa4b66532c5342ec4262d87b02175991ca2cd2611425621216530e7724abd9213483a814a2e5a147c88bb09436fc338525b6991f21498b1c51584eb55673499ad49dfcc42cdf9a7ae5314e359e8a001a09ecdae2b16d1d7dba05873bad9b7f879984c615d287ad5380ab923f5d9d55ae49b20c1d6c3359f00289490bdd85a5717a6609a26562faa26757c403e9b1f21571405b84a88244cad26a4841b4d83c91ab2727e5bc042d41e07406d1d295021f930658765f4c5bef227bac46086d3f1b2ea0900e314f4d2c974ffac40c96f5a18c0d732fbf0b30d152a4b64f9965cc2ec7b3136487b0cd7f61c411dec4dbd6453c6018bc4b864db8930211a183762d3f13e29f607388fd4b5943c8f992b97783157553371804be68d8bbeec067c557c5a1093042b635c375485315fd4be755239cbb2d6e1cceec4d93886d2dc48512fab18553dc6645e9bd275d9bcaef4ee6e56498ca3fe5b8ab2625faa7aec4f0fde5b5af13613845e3e963bb4e98b4aefb71753840d110a8191f6c90672e1ed42c0fec2d1650aadf82909f741af308ccc17029496beb3758f81e07bd01931d5ca350d326e81fa789e6c8ada04ebcf61e203ee06a070bbe683c24bb68973ba959923680695d97138c6e9813d0ba41d50f2858cd5a3d7de6da1b134d5b29b2810b3fd414bef7c6600165f5650ee3d1348c3e13cabe618e088a351e54bce8bafe8ce42467240f24bbc15f378e2652ab725fd5e6e85c4b0538de959ae8de7ff627779de1ea829e3deae53d884da9819e7fbd3d54ecc511e815148dd15759fba65e204c750ed90cb9419ba13c9f488e2c165ad638cdd91bc147a85c8994ea6e21ea99373e928a87c1bd16589e1bf6a387e85e4995d43459502409572ba99e361d9aa5a697ba05838899ce66537a7800ec34865a3977d5ff7c36a4955d1d9d41852c01ee356b0787aa2301e7e069c9e29c257c54a427442e54956f5d1c1bfa7ad44e43e6e53753bc528bfd7cf1bbb6eec203988658b88b3259e078b4fc0f2267d35d0158d428a5f9a87c0ddd815160e589a2a608d38932309f0ad0dffea7110a79e8c6e80189656ddf580bc3b4c47211ee4736da8105f8b158a4d39d9bfa9d46bd8d8e16cb3ea14cf81fd048516ab46248923eb7726c9833be41d5b79b722cb61e6818209ac6ad665297f1261e34cbbe44741ae0a9dea780962c51bcab23cb5b62cab461bd88917019328f739273e33bc9514c7f32c520992ed37b2ae5cd66dbe7bc46ce3741a377611610e2bf7b10b94a48a252170a021aa06c2156f388c500de9726ec68693f54edbc7eccbfca413413dd91d76c1c08363fe527138cf12535792dd5c8cd0432882a78cab758543c62fa95d1725c5ff37d0ae07c455632cc4c9bba0bfc59bffb92f78a3092d17efefdaf2c4620583c0776483749048be8e1e12d5649382f3ad838740cc9f72a20fa504615736e59f5b4a4c29a7d7e1c37e1119447fd610fa17507e1916e5e652140796a8f893a3beb10765758804f6d7c50e51da0846db91a9d16d3052350a985c796b5067b7c09b5c77397eba47a1dd7dc345602ba60556e7cfa89b2d1be91b743dd919d160081e2511f323aa52cc98af99f9a8feb68712c81c212178b9cefe9303f303800c1d9e8d19dc3a5aa4a2d7992a0f917d5d1e43b215c00956aea1231a4b30a876fb0112aae405bc3c9921d6a1249e7d768fec503f53e4345ca4d2af95a6cb509d9b1fbae169a3bac6688cf849fb0371af049e41e88d9ae89fea3282ac2534d73d93dae4518526fd05c7aec4f13e2bf3db2cc8f832cf584b635ebf6a6e994a4cb804c0558a5c3abcaf071b45a4692047a9dff1f4df7471ef254458f4f45ec42003f63dc264c42e4656010230530405de117d523153327280992f45bf883c47ae9ffa51418f9f9280dd658ea6052ccf2de05092baec21b1f1d6825b30fb31ce3bf41c234c330fbdd44814ee33c2252a58237618f826eaf8c1159fc2085b0af87951a4ff644df89a28d1f24c3edbaac412a65e466f0e9d815b30482e6110152be397c5f8d255479a413e8b201d3621fdbffa6aa68b92d03248e8d7895e95e88dde63c04611066d7173963eb8c6710d77c44e386d0f9266b93ac4604a6d4c94b7f207584e1fa987333ce8ceb1b56272df5aab0264142cd076eb91196498071c07151c94bddc3414931a65c576c09224d4535b2bba6e40ca0d437cc34260430e5ab1a051243f3a2e28428b08752655b513d1aa02943788cf28bf6c9f45848de11e7fc87a3c3e2be587c8b48d57aaa625b444e970d09e7b42a5455b0f9763a6b79b429ccb093b64948e57e6406751e800b59f9d6db04728e52c221d7d40b55bfe5d2887e1b01efae3c42d4253206068e169ea95846ff346ce8794c9a455f2122e0a00ae8ddbf2b0d8dfd7417041aa02d2ce3221f696219bd2bdbc908de266f28b74e4614112b991a339c2054b439d4ba90acc2f2e77fc8ac2e4800e6104afc3b3e80780b945c3a9b7e7316fe76131fe8dabc0e627e7cc4675f7051588ae9cb1d700abad7eac357681720e2a5b246d5186ab0f26f4de570c4a559f28d0842225672bc2f3484d14d32b43e71d3e92c770f801b0d32f9c00c1beeec08b3fceb051dded7e078d544771433c47f4f41568fc25b9d7589d82064e73393eeff1b027f59e85638b8711d0d569416902fbdcc743e936230b6a37bad34f8faef330d6d8aa324ff04d218ac7182dec50676ae8c9a425ccd0a19a775a4490b55f4eb5bff494ee8f5f065d8efc47052f8b47b608c33f6f39b873c4b546501b8afbde4fcef8eb6203081ee40d741e4d9a053040c15a05d12d6a0524fa213837b1d5ea2c1ae954a465baf128f4aff17d4a6524f488af4aa142bdbffc5ec68e0600a7936327f6385c6f0163a18e6a6db414e16abc46d184346c9ade4a566cfc14d19cb1e2a18089980f5142a9cf65593bf0d8a859c51cd1bc218c82f7cdc9894355a4a4dd7524b9cc31fdbdd476ec7c9c51ad518a0170af426652166c3e3dfbbb8a5f2cafaae23892edd59eda57697966786dfb2f0bd55cb4a0ddcc1620af478a4017d71744371a04c1ce108f250440d63939281a8e175133e06983e5fb4f53911c23b4ce56b3d9effa45d17376d9f0c0737a4a7355d20dda3ca58a6315b8d681e172846df93453bf6ad8ba39607d0ee56cf0c891dd90b95011c60f47849e4ada534bfe9f57fc24a8ecaf8e9736fc4c26db3248ebbc16fe4344be83ed8dfc1f5cd8420f0e65e559a9916287930a6891b1752d651e5814a2ba6db3216cec8c5cbe16688619aec9cc544cb789b0dfa0546d5b8e4b523ffab2857df741fb3de08127391b9a8c19dc191a220611c810f0c7f237f8cfa0d2d8cd7e36ce8cc9f9fa62e9f2321ac581306b3be926c22aee0352d5a029c20cc064be4110d20b1d5d4f0bdf10333b03329054dd859cfe0a9a54c106aa8fcebf0093b565420dfe12a8f2f969a35d6c51da7296610d69980feff67c5eeaf0338de6c1eb8489528832d6c627b02bd4a7098d2bb0adf6b7bdfd2ab5703b52ecb13ba85d363bb58cce4c477566089674d1531a50bda67217c2692aadc0715a8de929a3a1078d4d3402a6c2c50c912a7768276d936fa4cf7591fc26398ba1140ecbb4f8cb9dc21f0fe074be63c031c3d148442ac5b96919cf0717df64b23f6135cf6d137985e63032499697fd42e691c13ff00913973e551ecb11092f20eba8907b862a4f49c782082034198869c7a97cd38b643a76ffd8d8b00478380198a643a593f34dcb2fa9a881002d3a9721d9c6552fe577dcfedaef07193efbb93d32f34fd3403df3de6992b4ac4100856086a3c4d1caea990cf095c0a157856c628e6c2652115351d9adbc158182b8fcd3903985167a07a2ad24f0617cc2b065008ec8e0401dee467036506c72043a37794bdea076c5f36ee8a77554c041b8380af802d2443472a83f8c2e57821c728cfdd520b4f3167f48ac46d2f99a31f0fc2ad4c18276bf6a366933ba61821ddb7a6e4e4c2944c58c091cd689852ffd1a2f3f3ea7e31276f65c7c881b9e909d502f90f7929e61ebe1a5f49e16157c20837b7df5bc2676342aa5df5907995b0cac4af585cb822e55d8507769decca0bfbd2622d98e89deb25082e069a8e78d1e66695a8f07235e31dd3a5da13b10125a66deb8b0aa610bd5c38932cc868afc64a234b9c1ccc22af5bf86f38250617f2ed176e835c3f6649f907a58b16fe980baa052dbd73b5ecfe89032d21a7d59944ddae3fb0a5cb97ad2082953c291e46208a1800288b622dfc221da245bf38d05b354ed476ee31624fd9e6facc7cbb750224a7e83e466b94697c26acaa6f9fd712e9390654063d4a0cfcfd1968f4619ce74f42059f4b6051a37b724fd4fc9b480e5a75a7f23edfa57f0574549cd6774070ed156583b105031476b9105148119fc035e6be49855a7f372f8d3660b5e3badfc15ea3d650b2efc175edf27a0cac3edac4211b48786046bd2c662919ec8c3260373bdb989c508b369f7b763305671020030ec8a1b047a3c957ab59dba4b43a81aa001fd1c2bd5a23a05508a8f9907b06c47622a497b1b328720033462a6edbba3a4cf7bebe589f4c197d754b7272b36f8ce25c0fdd1b21e10f0fb388171edb0992232a384e67442d766485b210893141fdea9574796d72acd3284d3561912aa40bcbb88b39f7233277be7932390d3b36d6246d176c9f6ca701ca0bb0d64d9dc76e6b3234588c2f8f12ca174eacd1f656507729446cc8238646441e71e1a2608d3654081effb139f48d6c46e1c0e64638eb6b0f1ca6236a45ccc0ebd934090e997f3cfd8ee61534988501ca65a086fa0ab6dfac15d5759fd6bfe82c9dc603f22e995754e0a8d3d9eb3bff15879d4b2f4ad74b0b90b21bbbead0368e32ae0d66da80c6beb329b38e967753ce4193e0f949e5cb421d2554ebb28a3a57cd6222522a4aca5734dfa5a4ff622ab279387a4e89bd62ef28c4564425fad93536500f559b783e236893bd8ad8d7bf4a73ddba230d736885ceb5b1b8564329700a418d913d2b72a59c0a819508a92028274bf73b043880e2224860cd202a21c1468f80a497c3885c5a87ffb1edb04cefc91c1fb4316c7ba9fff5c03a8c377cefe3388e05d3086b0caa154229719ddfc83432b72317e5af12b39e391b73da21d2682e72140efa6dc5d09e372a34dcb40fcd25d19140fac31e6ec6c368db633872e5c46e7140e2930abb3e95e55bc75b07509cd88d2bda3e96068d3d7cea4d9531f27487820a90704f913d36686af8dc85258809ed77998581a31a0b970b6f405d7ee94a87afb5cd3f7892187626dbaaec7d0f1b55a7d0750467e656b1b45d347ea15965a8afa44f309d293741662eb88b5bffed745a7bdb48f390310b65798c3ae507abcce94d6e848edff2e25ad58a45178b853044365fc6160fa26eea273f44758395c82bd6fe6151dc0739f82662c1abfe082712a5ce846a04b89ffc48aab376d3e2818d528cbfb01621e40249dcae16b0dd7e850feb1fd8870eca5138fc0ed89226a28e290703c8a20d6d3637889d07c562a26a9eb8f49964513f79a74ce526ca51639aeac61e60019475abecb33a373add8341e2975ee15ea7ff27bd19d0a705c051d292396ae66a185dd14d1c5a5756d1cb69df1309732485a662b8c874d3f843de6c57e63407ea3fa4cdfd2a77ff88c325735cd6d0fa08e08db30eab27f9fe198ea1bb62bffb375c1124a917f563d84da995bea7f222d4abac635309fab969e0cb5ad834c142bb3d1ef08478e23999946422b27ec183bec28729cd670c6bebac38b56bd6f29878490693a535f2add2102cecbd918d9d0e899a67d589cac7b31bb721009ddccd82554dc47de1a3e114b54127d20f368791f71fa01c5197f93158cb05ae4b4776a8c5b635f441ec7f55464aae0292287ac741ef08a35c86f060bd3e347d3d8dc835a2c580a6701a74a0628729e9637bef31786d91f512e2418e1b0917724b251c9caada4b227d11fa2caa44195ab9a3c74f2dfede8067a21d04ee07229806a9de187c572040ca3f5c0323faf0005af5e17ccd6a98136eae178c0093b34f9928ba79075df827e398ca3d2a413b982a12e2a8d1e11db11848a7cba3c88813bb4128f4e55a2fd7a6e2ddf5fe094814bc0fd9af4d53e882898affcd456b059b4ab41694fc70f59955e5ff45d3d248d8af737ce5ef0d81ed24bf85acced6afa66b12904a0ce36293df1d602a199eb6e125625a090fb581f749f5a5d002f9e18bbfeaffa42cdd8d34bf00dd0d87098b1b18104ef495087f1142452a8cb7e807053adf197b1f91e068f9a2f81681269a4420b3344c7efaa6f103a302cf324da056879f19ddadd615e82ca83a8e5c9c49944a07a4a14048b7024636b34a9f7848e1ed633e616764332b7bfabeb61d426f7f10f463630d2f5519ecd79b9babe63f0302ffe1572b3d2ff38935fcac15f63ba2fee87de71bdb8550c62d15f27f07feb4c064f91fc042f39bcce4044b1d8c91149f512ecaa4a400dcf7ac441c6e45a6310284c46c2be5ae3294e5c65e55eef650657c79d7400871834a56044f401ac2fcb3ee80fc13f723aa70bd5a58f04e2fb463808bc0fa3b686c7e6505f9b93583ee3125307ed2f7900fb76879d6c413921d669052371416f738962ef409c804ea7758d1fb02efad065a092aea03cfc5fc708091c0ea2777f5a53af949ff0da90e3f41755caabfcf9648e449a1bd8981afeeecd08bb4723aafa7d12f845c8192ac53b78554e3015f6e9f2345087c46602f245980a69724a391019abe6777dcf08b67fa3655dc80874d76f61bedc4496c2bb11dea7ea2bf0894eb2ebe98e648bd3f8e941666bdf1d0a42e1ba621d0eb3a685f95cb450d1253946e9d9dc134d05dcfa9410e8798f27a1385d27a8e2c70278bb70c2457d2e739c1d6a99ced3bc4055042f06ba77d0ea54d1c681007fa717bf98e6c9af7e7f3961dcb26aa820f743f6661c7bdcc64d929d8fbc18b68fbb95f778b58963907794e06a9187a6be9e290240dd5ca43dddc1c07992e91e7dcf6929e9a3da46f660494363ce02ee44bd24d33bd98351a5ca3559dff5275680436e47f243bc4dca1cbcb53500010942766d4b0ec2ab1dc315f8418260cf106a71816756c92a38d7da488dc282e05035ec34bd82d7be0cb3125afe0daf6c2a1e7b60cc28bab8c8bbc9407ae6d0f110cd8cc935ef1a7d51e26931ff3fc22e72cb65116def93f555c39d9126b09e60549094408cd9e3fdd5e51b07e29207636537872f31b766063790dc119ab5768b668f8f4d74b58e0d2183aea020c07097f50e375e67d2a800609c0c41fc8aadc920b41c683d128de15e91dd744a3867d27f65e2e4de94e94d46281f783706fd20f6d39514e2c6c2cb54d5c4ba1d3fc97138206405e872dd429bb05fe97b9a463fdc4ce135c12f3b5c32a8d1213df97e67acbb70598b2e513f11343df7089a706df4ceff906810cf7070c90b47518b59708dab3b0a51d950ea091076fea93da13b25e207f2c2ff944af084544309a94ff6206409762f190b60dfac53e2ae10cd9fc77dda0799a57f1f7f8164110191af240abfc032defc33f4d9fc2bae2af5a3c15f1ee1494dcd73e577f84f25c0310e2474d42eb0d88e64fc277004b8d3fdae5d256cb7bd33f1fd22182ff30d08d5ec45e5202fca77f5ab17f7bfb7fe5c7599eb0ade9f8f75baa08f0a7ece0a7bf9d65ff60e74b848f636298c8decdc4c149e0a1dae17e2c843e2183988de4fdcffae89d6149f50c7b2b3216e5f3d7e89e0d65dd6128fdab21c1c888b5ec9e1caeb7881c3a4088f2c12e46ed619c6bb650ebcbf84b01abca92f206614b0582ef3ad29b79eb85f617e4950416d4d0580e6fa7144d00ca63b6c3f9576f737459880820621f87231bbee6983fb4755c881995a7d888aa22a240eb39c36831810f0e120d198fda5f4517c24971ac8cc1d775bdd9f0b4794c3e73262190654c6908efc6afdea5d25bddd1cca0a102b0475a31e451c8c765aa30d4c8bf0375236341beffac864fcb149aab373508078419872a2a812ae6652aff89283a5479a196e5957c84abd485dee5d2d7ff517fe97faeae97f115b022ee727b6c01733cb5c0e33789e842900f00d8bad57f0f27c9395512c0bc86107527127abadd38be847a4dc950119c0aa0dae5d8e73b2663f9a1c69e77dda447ae7a2dfc246b4e64de8f142a0b8af1eebe5e4862f1dd7554025a5dc611baf3273ef30861ed995fb01f366105ad7a669385cdf1407d22e448f43a859f27f9c76e5f14a3106c96e60a76f35ffb6f0e8df61042e4ce7fedd78ce99d2f8b6887428ed518f1868e04c4018ae0768e29fc010a1a153d2a871917b3614d2ec4c4503afa1e55720e557107aaf9136e633c12a4e2e82ea1a57254b6e36143ac84deac5c73169cc4f62168aea0ed4d74d26e36df4cb21f46e9fba6da9535d0049f608f315827e2b9fd418c462fe4f56b45f55fe9477168f23591531b38cec3aeeec0263790d629be9833847528c8b586fb20f1fb44d9986e23e8ebc5938cc83e7b35303b0407f351ea6d1bb36d4447720dd59ee3fec1355df26752aac4c104b4988ecaecc4aa593393f98998093128118e7cd5d0c65d5326e5f693a098ce2c1f3204766e512d82971886e780e5ef68cc486dc2c0321774c4435f6381125427563b0ed8635430edc260d356cf650926761441415e465e9f40cbc71ae80b648fcd3d4cd4298225282efa0f390ba556399cfa5fb141146f79cbf2aba9fc8a40226df19519930419412c3474a43fb47b7e048ab022e0670362b6e864ddb9664840c8844eac5320b34aa2671545f2797455e6da410daab49bb7c433793fe8b5038816c3a481f2b1e74d80b741e9d005560f7b3dbbeede81bd6a6d8c3314a3ba646aa25bd2fbbb733e6098d2c05b104208251ef207ce000115f79650e1931a1308fd262069729df8bc2f8fda8877fce00ba90fc8ce31e4ce9b1c965b4401cc9d12cd037b99407f634552d6bbefdcd478bab1240a38f45284bf3ed68edbe0757fa36daec18d886169ab4e989a8f71e4e9174ec1a98a4ca521b0105d0795ec35041c3bae9c8ea1d82a24db0e6f4119500d44bb56a5029eb54c280953d6253d398322d93556f6ec362846d4f4ef4b378e8e995b395ee0fbafa6fb8dcf82a489cbd704434171013e2210610ad7907339c9064b3de548e2c217d6ea06b5286d870edb4e4601d3e109ed2f1421e6906480540a6a4993f3b7cb10f082e717a79872031a6691bc02387cf3e3460bf5eabfd4543e63f491791f46b342d03c9d5e56d856abf350257851c9dea494f484c551e68b61c0209b89cd2352c291e42f1bd3f1107750ee09ff1520953280ed03881d4ce99b82e8b94043a4117cb46d05a60d04b1697b229d56140fa3b588ceaeb2466717d12b8bac2274271f647072d81222038858a3392b319c102340d50d09a6e188ef632b259a867923a19691422de495fe8a746279c8a44ac4060113aa1420e87d68d8cad532766066cabf15ef79b8c85e8b265a9601208b569f224676347491f1c6f5f6858a37ccc6544a0a4ad8a6f2b5977fa0ffa074ab4234d6be55ed50fb8d63ac916fd1e6eb3b45dc1822e44620da65c14a3118bca259a7166d3ba34ac4bac7a2e32730961f5b1f618dd7ee1aeb412e75dd60b362c6611231e6519f8909d0282f638d7c12122c855e9459f39623dcda7269cedb4257f7ef7794728717b1e293ed980c18ab57bc993e1882f2f604aa0974a831fed0660f9236e3d03c651eb2de8b0763c11bedfd0b6ccb693e30ccf091fec49bef3c1034a6f7cf42c2a1040ee49ee1f4dea8a3a4bba40c8cffb8fda6d4bfecd815aa5436974aa0f4de533369735a67c882a8790d4ecf2780a1b947927f064eef4d181ea94e784ef72a33b35227b494c482b7735bac40b6200ec24bef318104cf9db841567abffb0af559451f5767b8be39580fb812db045c5596c9c3807f5e68cb58d152523cc0a9fd3ef83266e37a5d280b5099fb915f31b1744750882f3cd2f5a29d802a0a3319b2ce092924c2f347199ee5ccb12fba29109f54b79efc96f1c11f959956a8741a45214f3f99d90d2804749dcbf2eb72efdd06664d175401a52b71e4a8fa691896ca4f12302e2230d38ea82883f4b725dccabff3d0ff375af6f8fc06689be788f0114dd6f3624d7d9d6fef102f091bfb4f0858d440d7b72f71e380adcaf38b6908ad307e1042d356333fe88cfa296f9aa01414034cba2725cdb9e571181405ff4743b3089d41c95c3a4f5ed584ec373bfb22b48cc44ee42e6920275becc0c713f76a882d211eea9954fb94f76a1e07f3ba5db08381894dde892e94bc7eea1e8236beb3ccb09bf0f017fae788e52ed716a4efd5e7c467a09b1755663ecc49ce307ec135ef793da5497428435a930e2dab84a96897b40f63a13de6a8cd1f7dc80eeb35b66fa3eb19977934c038966ae043d38c60420944aba0b495a45169844b4295e056dbc88f6217d0ac2b6ee41b103f7db2aa2b82476f5983035db280a235296f0ab4c366633d16cdc1b037c984f8a82ec747531af8f88bd41e56920511b457ca025fd063a5a5ef34521c69759f163a387f7b2749a64922c8bc1ee0630ecf227050b8141ce47cbbbc04e049e470807856487947fa88b6af8889817af49856d461553ec14aa30959a61dbae91059eb573ab0b70647cf2c3a8473f1c0fd52f11fc7bbe414d9ea6c7e8abe7c82abcb47aba9f1452f8afee24abcb4ef07d4b2c45164009af012be03df0cdf61115fa0627db561c22e1c9f21dff47afc53cd931e0140bffa7a2e57ed0ac63ea1127ebff400afe049b76fc4007dd6bc80a1c33930b4f3dc2898e8f1f7a801f6d37fdda1c69aa30f6800ea816eeb4ee17208342a407b1de31fe7e6fe90e25ca320fca2763c8b7b02ca173e4765f895ce91fb1c851f83fa5907033e5d68fcf91524271534707bfe03870600ed67a01b192a9e313113c65a69203887e94902ea6b0c68efa84126de535b26193abb076d5ff82991123a9b2f6f972c3d7165bceb111ec2dfd6b60d0b2058ad0df718a746eedd436ecaf6f2d9963a8496b0a09d9dc3dcdfbeb6ff3dfd113e76c1400737cfd7960c3d933e1fae4e70205cf4fe83eae344c0ed297f8d07ecc3b85fdd47850beb27f2405c22f605bfd8a798dfebf808c08e15479e9484ca4cfadf845d8f3353ad90b1beaacddbd9fffc9c8018998fa71759f11fa1a45b4c704c95800120a9a0fd0494b07f71b618f62790504cc01546fd25085d16a4ef0424e0e3d7fd37de2548652f063b6eebbeab06403274b72700b0deb2628082929891fe58623913d88471260b49390557defc50259d34e4d4c30ab82d61075add30dd8a7f0b478bce8b216e0146f37e72f0854acc41bde9f0a9f7a0213547b2f42906d4f7a1991431a408cba052cabcf19e5e3c98c167f7094823185d320dcaa202c7f8e4fac1ea85182d979cc665b09b121538854e2882a977cdc9af4299f8ce7bfd5dcfb300ba504049fb2c5887053924c5533179b5f41490a11a51330b489ce37c7bdb38f90f99645b65fed1dcb7bcf2df2e0734f7f49acacc7de4ff6ea0f0918ec927bce122eae1a860157affca8512b9c123087badcc7f3ff621c3ea31db2d8cd6279490e441b230d03d62087f5e6bfde122a6897f60e1e7fb9fa489d114550984f8d653e5959163b7f0c6ceeb21fcb8d60583a7d08d03b5f8800b633625090335ff07acca7c3e56804ef689e32f53a732d2a0f4cd80b247fc5fd8dc37cbfc0846d6c406e006be581a23e6935da7518f08a4a246dc3088adac295c5ea79eb27580239714bac3abfe436f70a60f8a81900592b1bba1eb975e27084b5d528619571d68a8dfbcfab47f06d9129957db0c27d1a310d448ac6ca868fff7479f5df0c6c2cd0e6c675528576a4c5180fc609b8dae2373ee908600814d6706b00b9a92fa400968073040e5cd177fa31e9595d370c89fa026572570b36c462ee403fd9201b71a74aea297c06d9572b4bdfd75ac40e8f3c07e0a4d4d1715079f5466a80c828979a4ae464585ad7057c5af72620d24eeb8fdfcb1c80e9bdfb24fa20f3baf54d826ca943388c06808ddb9a2cb7460255d884807a32baaecdece013a9d22c15974664b79f812abd933f078d4d90b7f5cc08c653d04fabb78c3b3834a0157aa37856647e0944f3de7803d7b7d0e6a2258f532d4e6d3d8688e86faaa819795a971c0325c610b26fcc17f86b22eb177e727d6d4c5b7c1334353d0616d838e7d7336f8ad59eb56616bb982ceedeca46061a27244e44030507bcd6bf40ee73bb36e969fe02a2645f9866daaa695fbb79b109c342655ce2c7eb85454725157b214153be4251cb691d3fd08ab95e60f66879a72532cd65ccaf863658c1285e228b24169b2d23452054add29df2cd053cb927fa2d23d4fd3777aa2786f85027e4da0ac7b48778f1c4172816015cc81689ad26fc0c135a658fac57083c125717307b14f161ca80ca8c5053363508d52b84a38ff0b7f0beecd5f8f14c6b768598e5e411e5a57416c2a4e0da330da645ab1677fff00b2a3e4b3e597b692490aa1895ce1f58b446f866eeebf2f89fefce650f346661b8cd3dfb76a195a432db554f08aae87bef2a109375a172545d47ac26d4c7d28a189ad41a4575e2513dd08d3c20970f382605015bb2589b67e2751e63d5f82519133718d4fc8227f07a9ada9680224f2e0be367528b041a41de3f8224f3dcb8af52a04f5b464a33e83f0bc61e50b1675367b7e2aede728fdddfd51bdd9ecab79e3fcc18ff90d0a9d8067f095a6f5c8212221c83706fa85f2594b0aeb4eff18cfae7fdb27d980832872a91564786775697d0f9854870adf97e205ad6a417ced8e99a31714c133f8e915f277ca0a6552998710953544afffa333c70c20208481e780894180be3feeb21e3eacbd899bc084891ef7e6aa57b70fb0d4194b50d5fa894794a70b409ec8a433a78ef0f5899916a8c4941cae549623de1883f82b24f38f25e93864653d49e8452670c24ce3c635b1a40cfb62ffa479f32d7ad30384d33448322f91e78464126c826f7b8a0a21885b80ffa4aab3663134c1a1acbb706a541fbc9283ca8a96e79633a39b84cf60be507bf01f9e917cf3c4a6a19910ef70e2b9801c26c98f1255c00c359a7bbc964180cad7eb8961c99ecaa8d2320bcc3b61a92875a55567957865847a3a6943e621dd9e989d27ed330a4624a2367e242b57c32fe68f673e6264f3a0e2ecbc223107c43be4bd798277ef3adc4f684cb84413e00d960bc363d2a46ec25900c03a5c1e4550f8759ce3dcd82f9104fd6172ed6ec3bd3897f58b04c177ac5a278e63ab25d9d08142da20d5d83c1cb681014a2146a1d6f6b36cfbf36a52aa475f2683eb9897aed196ac36fc624136fce291ea7bf3acb882e9d824fc0be8831027ff22553326d60fac8ae1b27fa93a7020c51b1060885072c600f340a25cc5391d25d7dbdabb70aa0a18175b01c72b8bff856a9f1d956a8b3ab13be2f03c32c0b7a7db0f3858df22025c413f4399b4f569f2d1794c08464f948165a135680c917e2c283c60bff88eb8484bad6a521d4633ddd3432fab7ad24b97eebb63bbea6c99baa11c2dc6234c9937266323875d4a0c91c0361799d1e0e687a771efc029eadaa1c533a912bc47385ff15f08063b1b3bba1ffddb21858550d8064c15f3dbc3658e135f921588dc8e66086e1ec75faec4f14f4ab07508281c7f812c6cc314e1623b4566396076583fe31d4a2005f777977fa5eef3e036863ce9b8bb2e05a81f7a79f73a32f2ab5302c209c86d0bf3057aab87c7c40a173dcd0e571232f7998021ffc82baecc9501d67f36f4880040d10b63c192c290c7c73a769fdcf4807968fae462059aa92352cf3c788258859b9d9b3c29e18751c89b91f8f34aaff2bc810a4b2b8db956a9a1e83144920dc672c2b8cd0275a9d0c3464f6a55bec3826f5d03eff3a1411eec2f713816d07571a66b834cbef8139a96f82eaace3e0b714024c0a40957d61c16927f713793651136be22ecad54239498286f0658ab61ac17926d1d5cabda82feab8c6ff30caf00c6c6cb98f9d0f2ed54428de1ee2561804af92c42aacd451f3bdb1632bc9951c78252f42c8232660f5225aaefd05da97e7deccce284ecba3162138adcde240aa090a150e407f94a1f28148f3a71e327ab8f058fae747437f63ec2ec60b33f66eea95a9cdf348a332a7321990a68176d3448571984572d4e8b946ee5aa6f28a77b9a688861c9758bb483a61073dc218a2cbe143dab0566fdbc0b7f3258d1d5958745bcc50430e59592fa53f07e30dd9672f53049689e188d193db0605f3c6ea32577c223b0c0d4a9facf64a05e330e8a7ce7a388f2803798571e351d82b933c898255f8790ec1e79e51bf4a07aebb43c53fb151ac28bb00ca16b6a51452f1680e0e52fdde0b74efd31f4e5d2c4e38e620f5ae4dede1fcaa1310d6063bb6edc2af4eadca6ed567020c96cc0271c94ea9f0917ddd714bd3ce51ca7c6847d469e9e0d5c7ceac3d0cc4b364b0f4eba8eb81b5cdff69605b991d4b013babdba9ce8df2d3182e7b4e6d0a1d7df92af078b753f5e6a7d019d8e5883c459a379c5ff2af6c8e57f732afec28aa69b21251611b189d05133562f497ad1f9d7ade9c9288367eeafe18dbd0257e781c7a8d9ee021255ff1f1abf2840690413d066567926fefeab328065789e8611f52b16660dfafb62c4134a05ff850981e02f8c26d5627d716f71464e2963a467c45041dc2d570cdef9a16831a5659f938a663e8441b88db161d19bd681b9eda7b310536b5afb573652fc38d3ac487e40ff8203b7cb481169a7d1f1520b913ad7d0f91b681c08cbbbc4116506a315ff4db1bf2153d3b9c6e2df34ccc365e2d4a632006e74f302b2588579d16217d323d80b19478ee637be0c59fdb7b630d864898fd77fcf0b7a2c0d10a07c3e93481c7e90b27137f9d45593c147892cf68fd10ad7b5b345d3f0d9eade58f15a9830cd2cc2b4b539f4847221b7dbad26533f1070f0fa46cf21fcfd6a6d423025351f4fedac68fc5ac0ecc9cf241a807ea7e51084db01bfff955bc2afb2d3fa0411fab8b67a891b917c1200e426950023420583acf7943e36f530bf5d6aba944bd5482fdaddd7c2068489597fcdb832a8e6cd1db5db3348bc5dc7ec3537591dfce886c8ffb7e6cc80653e796c5bad0cacd90b0a42fa820cb47b8082e2f4ef4ffcfa97126eedc4f30b166f929bdb403258c08eecccd480a4ce05672dcf0dd1268d85ab4e650f8d1494f61a844dd9a7b819effaeef3fe91e01c0e63822c802fbee19b20abc9a95dd96c97b4e7efd77ab95712df36eb335f6b74cc3b671c70fc4d0b2bcea6686f2a1661d4d8db978ea8de9d47653703b6a88a581c79610c193fafdfd63aed97214efb9c0784b3e735c917e2ad2fbed483ff57e138753740be0cbf0d233adcd1ad31cd34fee275e584b3372caf05cbdc4d96e36ccf158dadc0f3b9a393c40381a364882f90a299e81556b52e39efbde520858475cdb254fbe58622cdb8713d8b04eda318488743d4a5004e0e6ec76fb42d72eebc0bc1216f25bf4264e4ce7dacb70df256d74d0715f83b86e06eb6aac2e3ee1b93404fe0cdf47ec28d15302576ff113f83b2583129399dde20db4d410b8e930afa13fa8d88075e5584ad502691c69cd6b7a7c2dc315d613a0e1412e795b20e5a4937c207b6693d6ae2da1deff977659ad0452a6a94b4d5fa84d4c6e6fe98526a40f5e2b0753ae89c48b62637daab559f06cada237b5c501a8f4d602183ba036561978d7b1af008aa529c458107ab45603dd7beac9bf6651214efd247929770c6e1aef5a0ba37284b5bc8a19064959eef5ed9071703099a27e964a3535e984759299dad6eccfbed1be5e74fe89bccf9fa619a85db2e4c68d6d17ffd708f83ee17ebb4eaa04e4a112f2b3610f2bb93e6f2064f76e09c28d07824e0bc8c978e335509c777f19be450c5700ee3eb18034845fab0e11e5201b8ffd1e130868cb1a2a70d9e312402bea752c11231a42cc1e77a8df4a24dc068830755c7bbde43d43c55fe5209f53a5f2168815d8310584d1ff4b12ed4dd13c2d380ac99a9a27ab34ab4d90c02e836084e5a8a35b13d3310dc963f08e15e8a5324438131aaadf7d1a46c6e8079770b7c9003ca547f72bc65635967e57a28576c353571ffb460f9eedaaef02f5e38b987b5ce64bfc5099d0b56ab536e21a9e862d01313d8ea7e0c9e72946b25ad344274530f6906de8e68aa927922b8bad8195b8c56203389eb1889c781808ad99de806c3165f03d114c879a0e3dac9b1d04572192d09c6ca44a80b48f37b8ab9978e12369eab9bb834e488e95e5d27d49881c66aa4246bae33d6378cc5d92f4751c845cc0774e6760e61b0ff2b2f73a049cc75e5860aa69e95c131d551012fee113c55bebb39764170ed4de04a40b11938ed083075f00430018138e67b1ace6c43943a100ce8054e324246ca06b210b0a43dc737c8573af4807c5fab746d768e20ef1e1d541f0f038d28ae1c59a67abfca5834214e525bedfe480df014d9b15f735bf424df39999232009dcbdb53908a916815e65aa76da23ad78966546ba30745206de991603a2a639ddc8af27c62959dbb83a43c9f6e349823d4dae9d8151274baccb2ab4fdea0d7f166bc9081df58c339580147047f2fae85a7bb02c13dee4247a1cb4506ffb48e3e2d22a7fa9b9c3003e8a5956fe76ea34dda454441259ccd60f243302b0392028c5ea9a1249fd596b2489156e103a0134c86ab8fe4e4ede393e8c4ca79c7f122060f07a109c31de413a94630cdb39146625006cb5d8ce70bd15d7faba387520a1004ec73cc7fd939e6b4bd10863ec7693204f85e0871964643f0420e5e89c3b0837ebf4b1e7548d511089bca389844d7d6fbb07e0af0b775d0e597589d1f009434113db085ebc608df7269c800c6dcfe3eefae7becfaa4ad0d9b6d0edffb84c371f754bc2796f86053641ed94048eff360d16312346285cbe22b377c38dbed61e9eb34cf345ddb636a1e498250491335e64de2088be9498c52f01eb7733737e649e305e6fde2454bb1b8e1d8de23eed4d97e52da73954c4f69650660c68b9a6dddb4b68d5427db6d24e116583b79861efaaaa0aa8a10dbcbf291da724ce72fac5086e7c8c3c011a941a79d2d21bfd4fe9f13012c818f6076e9cee80e5cc34848c0c3331f88dc163200198a7bcb322ff1649efc709548555adee6d25e6044471ca3bdd3435eeef974f6ee290672fd0c0487c2f8b8ed046f18746f598dcf7e9d2d834963866d22525c524b0287a883e3bc5ef97d7e140d4339dd8a4bbf2b2bb8221c95bd1503421eacb0066d9c95ec00d8ba5356a40611300ad79aac8ea18c899b2bccf04334b7f5881760832cdf53fa955088da29ffcfde48b9c518e8b8bb1a760e317286c57e5351f8500011744eb838d066c84be2f76b94602007dd59c5ea9efd427bb795a8be45f7484159fa3a9c218f5c61e190c8d8ab2d7ac57a69c7414e331a0a74181f3764f350a278f35a2c27bb751d792682da519cbcfeeb7e402068690719bae32e928654de0b9b5750b46854a82c85a9dbb000e4ab42b95872d83fc218804d64e87c2f53e33aaacc3e7a79dbfa57c50c97852e57ee3d77a8e80918081327aaa8c0dc9e324129d7f8b2ca3c92b4a2e12f8dc7a01c1e1f51665929b9303a563afec672ee7775ee698ef68e102c48f226a606d91b85505cebd660f9f4a50367763a6bf2dc16c6a99e3c62aa13bc146c70f6c3a6b376f372257ad35a005b6150d1ba9766fd355d6f0bbf4035b9d3abf31ad15c7a8b7f0eb251b1f0c26366594fa3f1c43bc553b105b90d8c8500c00462a24999b04b32ab84ff8b126e6f9d919578a363aeea09097d9741d7e2998f148508c39e1712711b253ed041e63dea87a1f99c1ae9c287e9fc4f696dc4747a7e0b35b89ab3601fa29c345e1f86efa2ed71fab23d885e46f9301ffd9c794efd6577092381dad5c694ac8d04d28cb451e8cc2eb967582b48ccea903dd93367cfe131cafe35d9facf432b487a46cfefffa7d0c0b55f8f5e52c26c4e7368b7af91afc84f97b44ee0986757eb5d2def0cd22cda51c927375371f64089ae245492bde22ef7652eacfe654aa95d1ab28651a250fe6cb52178b20fb95de2f15f86f0f7de8504abd0bb1925d2a1e692af4bf5dde3dcb0c70dcd2552a8f6eb7fad8ea6c38dd1940e5149ccf51cf0a11d8fc5ed61f6bec6abe983f32aab53deaac17a09201f90586aa300e14ea1966541d9c473b50812342426d6b17a5155b52112a85e685b9cd0d385fd82fa82ba4712eaed1e4785200e9d5d13af93786c5fabaa1b066422bc38c74d157da8cfd872ac4dad922301168db0ee506f79e829dbda757c3811799e7812114723cef33cfe8ecff148d30ed5bd5d55597c5bd060cb907db063253d1b24510a37c4335d7fc760c092c5f4abaa2a2da0f256ee4892c812c70e162eeb58fa42eae75662a2ffd34d63baa30e4f6e0641d8a432aac1b427f729ba9420bdee7e431d23a08dd361b47b7af15eebd142d0385c7029132f9951970149ca20a32e6a8240e5bb79b10fdfe7125d12c3c272c95a408745fda4f3f259e1578f7a5c3ca769c5315eb3ba53ddd301c3ad80384f996e57a2b22904e5a7a247808455d8b86fe89a3e81762b96e290eaaebff43460ee7e7426bfb889cba2c190195910145e960bf3a08e5ee4a7eef18fd6eb62acbad3bef086c25538a2b05b20355e745d3aff483797af7e6234d068c914ed1aaf33bc1ebfa81e776078bb4a048bb40c2a1071c683e7c1fe2b9ca35d27e7738a96e07f9130ce258c4abfe1052ea8b70c2371d83100556eea875d40c930c5e115a48279e07f7d736a46f652a80942801d2b67a516b751c1e3de80ceec1d2fec2760cad6dbbeee90a5e9af9cd1a494e093719cbd9993816bd697b625e2fa1e60b658970af0059edf80fec1607bbfd08c77d1b01738d1057e0452861920258321ee48d9c7bab85d15d521b4650659d66835566b278215fcfc4cf5120402e34df59e9729edc344a6e154ccffc34e1f85e7692acd7afe1a98c1855fc25528e56eb8e45a5192308231a894fbf2d59033732ad77b6da0ebfe46c5048f5a86bd0540d77efb3095c17f4818290620509ec4eb660c8601827fe05184e314447df232854edb6c8ee58211633a4cf24c23344d8056f6e5619c16447a159cc9766f0eff564f18b61d0052ed174de5e5cc8330e073344e36ef01a6bc596b5072c72ee1e5ef1078ab7e17629bfb41d4cb473d960dd986800719253c8a83b41f348ddcb76e971da6dc932d4de88283e98d3398b2f023e7392a612852b79724a3e42101bc1ec59a7fe079fcea57c0453583c0c9d2387b1c4cdca0e615ff8a2efb01e1e246e8808efa75e5a4a70d91eb4f4c6607d42f78b8ff4fd514161638f7765d0b4386ac7e396f190b03596702ba6e59be54573b3fb6ff5df95e4dfb97bc388459285f144c33ce5b0f75f139f31f973de2434c14c7c42b12952f5087e02a372f8e23075b79800c9659581272ce530bbac4adf94b5ce02fc138f82c40584460fb93695405039f03421759bd7da0f6e0e9e15e1bdd8894385634677814c0745cb522417bebfa3840168f39b20de6a39c84a6baeddb2820efc93b648ac190882a05374f5e496d1e1aa9f46d3fed5c2ea41fedc0627a9dd8b7e2f69bc3066b18c444764cc0d48816ed3e498e8fc3367d432b2abceb6296224e12044b056cf65684ad41c562a347af3ba53a43cb282e2a2f131a1e6c8e8755bb85292363704620862b0508d82dee9d84f74684998af03eb6801736c937747d58768b43b98b2479f9d2f45bd44c1fa46eb5cf22f988db9d6b0014137741521490975ce00f2f6e7428f9291e3ad8a69b94f2ac0c08220c1d14a5b66eed9634f68eecf09043bc09c093f20bda685f7f64a6100e23b53f5eb6d972d06dd7bd8fb7076f0adca48436d2b198ea56461752aab2d811fefda2f3c6d19fbe9cb4ff4071674074b7da406aafe11231de1214a6ab8975e71152f6dd1e239fd2d0488e98c81c2a0700d472f68a4de721071e0b7950c405d56e4e2f5c0cf2143bc3c65332aed8f9692708c73ade21245016342493de86f92c6f76049b5831cba74167e43bc90c699e269a262458387d48a7f441308fcb19356f15f2a81c059fe71ad1b75a42b5f59c0dc97796b74e9eb9b829bb3fc70836153cd9afc98fbb6e870d2ca0f2f5447927b81c3486766542755d77a2e57906531cd26d959acd6df26d5eb828725a20aedc6c63e1bb9be1e4bdf0e41a2a0fc833d25dc5aeef18ba4c0a7aca126ad37eb21cbed89886f9c5ba9e93ec119b830f1e355ca01449675379b2fecfd975fa8d6ba3ba53290716bfd44736f394eb2f9bdf1c2f5d2f8d9318c99b30ae1694bb91c42c17886d904cbdcad9fef9d056c3bc2a91d7312090bd1bac5a64405dc38ba4c8b3a5e82c1b6524de90a4df6aa0792407e7a69e9fac4af741d352cafa8290c8b9f26d2f87fa5c9d59da40b9b303984a952be88273206cf2213288a80042b357c0fbc86a140389501b841a7178da0bb4beec0b6699e412384a7403730205b7c19ea5e3301b6dd6d79b32879d4f8ced29ced6c1ca69a6b8a7a12afac6cbdb200f1d241f4072867f016db4a9a3f14669d6576763e38ffd9924d25599c321fdeb986ce5d1d3556ad06934e7905d37a304de57e2857518833003efec9b39e74e5a19e9e7b0d8905270dc96980f98689cb9ee7ba3fa8257685e97aec483f66dcd70729c17a1baff50b155a4fb8d1da496e51c7d7900f82e03cf7e1ccc8f08e34c0353ce4a932b2c99589062147c08ca982334673bb1fed4d91e2fcd5b4d5812eb18fb67a76b78f38d62fc47ab65ab0223254de6bb94943871c9052ec52844e481f672076da3359f5863ea1a0457fede6814c6e8b7a3e658af42d15f78907e046f4ff84b747cfa9d48f8b4f5cc9f5de2fa5412978dd563bf5f1c89f34e98a37532828c20ac6b7e0faa2c9507d050f59da048b85a3d855831045de5fd4009f03a24db12fb75a03b28c5a58a14f29dc041dd6939403ce0388023680e5931c1da162b8316ae0bc872d0b553b5458dbc13054a8e0ab813fc1b34244dc6e610e5dab85bc509bde55f70f13e74287ae88934912981e73298599eef025dc4c4a337feb93266379078dcd59d1474547980d5f16543f89447d3f066d93ab74e2f364ff55aa63926d6d1525ed9bd2e4411c39610c44f435f23b0d219417eff836105479caa42a3eeb2c9240c64d1b5155036fd728e120848ec20c84121eaf4d454419a662423d4a306c14824906695ed979db1a0b895c91d43e492950061687d5b36cd3a8406a0bc84d9ac02a32301787c5910f882c6f646ffc5ef485f4abfa23511bd627bb1618c8d064902adf2334b201ab6447832c0522458a1d7c50e1258777abfe3ef9d18daa17dba5103fda1491c6e7fc900614209ebc307892566d0bf179e0518fbb994e46c2781a0ae11f846ad450f9ceddc9b6d0ed69a97a0728f1ae59a0b48eeed00452e2f2f46abebc174c0388c73f5d46cdefc0f2ff2792ca52034f29da28711af43bb7b37219ecd6541d4e679f336571fdc5cfd6eae3590d38f58c7cb8a1804cb1c562bff95dc6d03cd0ffe0f9c1bbd2245312512eeab70eeb3338801676d7f4cfd81f35e7e8f5c4c48a42ca5b5efa78d05971da4dfe6d05e8a1917cf4e9157dfbb961d0e24d575456346af535f00167de493398698faf8c1d5b703a0949c79bd0cc6097c5161807b403dedec564002446fa92086720565ca001a95c4969ac8dbf49c24e60d3ea041825b0f834d47ffaa05da71625f4a685e7debf444373636044abb1ab64d8ac75a62d06d370dfd07db3e008f1c6aa501c8ac6620936390f720d08e46ff2ae62afce19667a2b1efa19c96c4e7b26b07fa6c8c405ef05a36ae38931901274b2f1f90d1d0d823880bb234a58079501f47ebf932b89fc6009ffc7fc6f2ba56441d7b320768a3eafda4960e2b63c16d40711a1933cb1a0a53bbd97b6ed9fc7593b8844a178f06babbc5eb73e9728cfa6fb19e3b94d1e81598109731d43fad13cbd2b8d882645859e45c155fe74991620d86b26122e19151eb78fe40d5fb157e9a01244b9211c2f55628382208c02e5cbd166232382063cfeaac9eed0b57952f5ddc1d8558751d5993d9ae84c27315251a5b091590ba9a0e316c2f5d34b2365046dca9e4566c114a11081e925288498a6c5ede703699c01f20ff9761a95ee020fa707e91b6b7e189524674fcebbac42bbe0a4cbe0a71f70743449afd75448417c74502f140245e83fe9e975dcfd4afb5f568dcb5a131c97fd3f57df18820c9d85c4f0fd7ffe413d5a34937ecc99ab491e3471a17ecbe50e410f0178d1d21a355b259df0d7882447f6b29f2c665b4d35ff9aa37011eeef8081b3f96d8d3b5d982eaaa52ce694fdf6aa98fdfc80b75352c8d4bcc39690cc9c9d51d0f1022f86148c1d6cc6d8296a64d40f4cc4797ad3855b69f0044e9ed3b310b0dc98bbfd0dbd2586afbffdaec53549f17929f5f9426a103d12f7b4e9fc8b0c3c89592edb6fce6eb1a5280bb3543110b608fc66ed3c4699b73fb14b049bcca418d3f8abb4fb95fae3ef1397713b67cc4b7f0f2da7483c97eb98fe0ec53206f3cd469a9ed8ab526f67dda9ca143c3ee5aeea562b36b69c6db1d55cdf4099c9590653860429818aff78782f338005c2d441a03a5f554b95113f4e35677739b664701f0cca4a871e3b22791e10154a3642cafa5d0cdc2c5efbadea722ee58987c34c36a3f36d1f9c2936a0b4043f3487baa5ef00ae6688b5702bbb5d3c55fde45f4203cf00532e18c22442dcc24a751829d4868d421aa1b6ed1b5c3b9313fac8fad2554b25d31cc4e0009cadfacf9b9f72e6a5c5a2f9b4e3e783fe391e3750eea748d6bdb58c5f56f7b4ddb94cd8a75169da57f317ba262bed8143f9be4158a4b6ee14d352438833a6288815901a7ecfaae8faf08a718077e1933cff5eea83b2cc002314d9a6cfa21cb3d63c66cb5299955a1260830e4b19c1e66d7e7287ab00e028379190c1ffbd5662bca713e209dd1ce279801c6bed674e5d01ea9bcda11060cfb4fe10a77c5cfda787ac04969c34fe2496434b759434c6be674799ac3d85a1775662cf259a657f798c47c6993ed51dbde787e415bfc7ed5daf59c5276f50919b80a1be2e31ba4bc4136dfa33a443371b21d87a6fb798dd1f7f8694e4d4e753af042bba57ac0053c1d5258682576acb1e429c668f6d44a2c8610793595627085a9939c097424b199d9255b11b75b8c667cdd8e2a1ec9d08c92adcdfd56f1ecce8997535863ecb5849f0696041af43b44d07225cd040ef6cca32e7011a77295dc72ca155c27c547102990f69000d9f9fc99b51b1b86839e07c6bfcc8298a27c78c1d37748535452bfed15cf348854f2fea0a3c639a1b73224d05af3afedb37182e7097333f8fcff0d6eb525b9b9ff32f125c5a3e1ce482b85fb18f93c4c69b3f04a0d7d70a9670f90f0c65a63c541c83802d47f6b31cabc0740b0856311d1185b94748b29bdb61261277a6d4470bfa87c8caa91c185aa0797fd069ce14552a668846b2ec2a335974cb865885e0a77ef2e2b663cae5ec75ebcc3b7b1ae67c7a261cb0a0f0dea530f4c9e75b93a6d631d6dfd3ef1c27c072d8e233ac517ec7dd266a3bb2a74e70228fcc57d5444126175ca35251f4ef8e161c6fde2ac874cf030310e8d34c31b67785c32227868937d088faf0353946ae415a3324a57ef99a1b2ca97ad956bdaecd995ced91e59932d12b335b42531e4c9a5a4b825b9d9d1ef7817577c08a3f44fd7f0efb2d8f5fb216d9eb087819dd0f45dcf5423b1a2e1e12fc7919cdaa322f83dbf1a1e2218177cc7dd055d69268495c5965bd15f8b3b63b74e7bc0264272699ed63e3388d518acc92ff7c9027d87a16b238b22b0263f25b35eebd91ca63942f1b52f0ab85138330c3df3558d8f2c9dc2292ae95f71abd0931d603313857b78a28d5dd584cb5c4b752d1784f7664b8b10ad9f823999780e2a9b37f1c895a38ebfbf1b5d8940ffc7e4d5edb32149a21d2508bc9e743744d07741e9d7dd1a7efd92a4dd5d0b6eca47056e26fec783eb18fac226e859a51208e7357bd059ac3918770e6b402b78fb98b0d3051e9970391bebeae75dcbaf35aa3ddc55eee68447cbde30325ed707312a876c22bbb91c9a4a7d3d05c3b55fc02ee08baa0d8edc68cae5398e6329ab33ccc1a4477fae50b0b0e0d9a30a30762fac324fd82ad0da90cf641768163ca7e1981a7750638791acb29845b48ef6045344e40e21a60866487932c301edca1aef8bf989a9c80a059d4c961dfc5496fde96ccfb81f5eb1907e51146194048ffbc49f33f5ee6d44dca52b58a47563ad0c994c9aab6c331afe43b735592dd7f550bb53c33d8ce38d2963b9618cae81f11addb5d069b7734e3c5cb9b3abaddc988dc8e1f26bf86dbeb7269d208b833a5ed01d9e669e8911c445f151af9dd507c6c51bb553bd411bdb40b63fce7b0a6a67e15ad6381f7c6e602df58fbe89722d574b7d04a401e203c1810e496e8794cc9cdbcf75a521ba0362ad663efb22dab7a2224074280cb39f17fb031edc5dee8df66aafa475c0872fe8949649a2f224633be60a616bcbf1b3e2190e47417bed3bf84bcff4ea67bc4168d929476922bcaca373257489299733ecbd9c2edbac54c9f763f8dd7d46db9230d181ab58a0f4802121102a00cae90734bf2cecf395b72eef1ad70f069d4f254f5da37513e735fceae7169a7f1dcc7d6710f7c55fee1f7be63fb7cd6fcd325d5634ac4d5873e4314f40f41bc929b32b3b8696bca3b336c89952070ae26e4b298286b2915448e164051f222a78545124ad851be715dc238298d78b67c89498eb8d10cfd1565562b4f8033dd66572189e68dfd5315b4bc05d9bb5e55fdd865f7f5f8e7eadf6e047104cb2067906018c63454c68d39dd82030eb69e905c06c78be811727c546c07b599a20711a63134c1b992610d420648c6440da09095ce63a0c0b953e19ca4fb2fa16bab95ffca2fc0210ec5ce65010252c9975609e172288b0afeb2de45cc8bd22b1a49f1d517e5f7b158f689a411940c7978c31f8d5bcea3bbea2fa30f7d0b6fcac630ae86a14ddb1beab154ae37ceb7121d353f08e58f6bfeadae0b59ac33b5e75ba43ef1e39982ebbd12d899071d2bb8789b590cc8a6387ff5bce8bd9314d66a15232bec170f22380c278411f2448ced68ec0261ef9b06510943cae03e4a6aa7016fc80af1419490e0b49685469e50dc6e567491828fe2dcd93e42316f9ed0545ae2fcf50196abd3bdb27090738fe6ee4dcbfb2d3f20367672111a08402139c887251c5ff0e65b22b954d3e132333389b4d07196540f6b41a461e9c665fedf9a7a296c3d1cbca84bc5dc2f9777f14662498d7484e95ad2e882653b96634ecbd08d1b91130964c66e3301193ebeea67db7f94c440a2f26050cc5f9cce7b2f8dfba4f5706baa7fe0e656b09bf47aaeaf497ec71e69568ecf11241428f41bab98c83b51fd029274fd5a87fe14a8a4236d1c89d3a24217b786ea323edcd7489c06c5d49ce84082b5f91f09402a92485595634406571f5dd126770cc46733dde5312a4ce36339fbf21ba17fa2e4eefb01dc2f3991d698ee08d86595903e76b80f2bbd22675ca9a82f607180c80dad83320862efb00f7b8a1d39a24e014ee82370eaddd7c117d07340ba46de6ff95fc64bbfc378ba7c0e9e057cb2bdac3a0ed575b6a1d9f86c54bdec7f6a7a06331becf08e0be91ca8480ba22ed08aae7439d63ff95ab24c4d44505f4d118f5d5d3a175faa5f11e811a7dfb97bf424a133910b6e21b28a6b54539ff77ffefa0ee5bf987de9297d76ad9f1cda22df18615c71cde2bbae8b0fe88fa44ae28695ed708d3f0cb1ae0d9f16e08f15de38f72a6d9752645f598330a57cdfecff2e7a71dfe45c38a75192ce8ffb769c6e57215e7c834dea19ed37549739da036ed9aeee547a7e2e40520b48b43f3415ca217488d9ca159f216bba2c26aa600db44f7a6753b4154e2f24790583f5c220f21ac180489450064bf5aec0a2eeef047943c6719e70d023713cbeb04d2bb855114c3cf9a5b7567138db1f06d30d3a4d104ed062bb6e178ecd81019c5550e492569f08e03a8e6af81a032084993d9c0e0bb5dafb7bdc0233d1f26cab03b542ca625d8c9000e3ee179970aae77187f39b2ca97e4dcfba2c54ba4bb11c8a3967541484d98188e79fac9fa6ccf35b3ca01407aa082a782ef8831e56cfae70a35af25bdd24345e472f3cf46a405032f10871f0a5f422f52dc62043683a7ca51db7d6881cdee06b16a79041a1ce1e72a06d353e1113736461d0b37236d2d19461b41b050520c15c08a1ba2e61a04641406d720b7a3af5eb3e17a227f574bc0aa5ed99daae016b8f1050265842071a119c1e0f664cb472674bfccb4018c176af7c547c564f53207bdbd704e1f98ae69be30dc10325923b45f37ad35506081143ad035d072685c556a51ea99918491bc6d6260b9ad0283f8abead08e5c2040d292c1a7c5ce3877f29bceb72ec57605ff424e17cdc83dfc8193e29831c2246cd62992581f85e8d91933de4d083aff48a15c8f0d9a7961e86e95377c878e4cb118f712aa7586a0e317dfe1051ae25e42edd71510fe45cb812c28abc1fb12099e3d604c3fc406d3adb314b81a648801f6a6fd8ed5879036ef87845f1e2afe65d37b7545cee97b413b888c829187c64a10840475d44bb88219b8d70b5f391f714584208c42a782cc58d26d45deea9c3ce1c90a9c20bb99656d95f02da58db6a65285c29bf9db1c17f0205231c87aaf313e6b8747bee88c158af79c779c95d37e4c0b22f24cfef090f8c8e400d44a7f03371980a89723e498006e87b90eaabd36409276954dc7243188d1993d2375b6a1bfd76c536e5b02c6c8ed94405af3e4f0959ce38329eb2755f55b9274bbe592606676533ffda439ed4957a112601ae966c77f2bf4447ee330f1a6f91e712c904aaf599094d94e97696c37caca47089517cb6806f7073fad394547d14e1148f045a06cb21b7f833e230f24d71a00d9bcb42ca9997783419e3066d042533fd1c15c17c0eec9da35292ec4f37d5280ae8ed22138baf059820108144ca72768674e79b205777fd7450312afcaf5b22a3b1b1257052babf2f9cda3eeeb3d51d203e1d8e55c1b2cede5d7d56a500f88bf72184870fba3c97a6bac682842389ae180e3d40d64d0d3c7c61d004094607762fcb4f0f29a68b9644ddc2c7d35595cd6953ce52bdf9922a6787453bc5d3a76d3329c28cc0328218b4b7fa189bb8d661fdb37a856646fa56aa9aee8d6bc5c33df6ca96167933d8abad800f6160e3676cf10665c3c1c538f92024e9e74583acc9ee9bd29f3dce335090a504e9f5846edbe46a3a4c342013dd12c8af85e8fd3b31485b281281e5b30b3e89f17eb81203a53738ae0a785b2137d2b52c5416bb5a5562ac590c8f59f1084b63d4964c8beb8bfd60697c7b0b806add393d66a438fb36ec1e60aaea04175b5eba967d87f5b79485c3ea61a22ecfb81b1915425c9a9dc2640a0079a7b12f087164cb90458a69a65db447662f83c4573a0248b4507ce8d2ba8baea27e53d04aad1f6610a2cdf0eb64830de61da92cbab6f02fb496bb86d816b1779ffcde7f52479ba1e0118894f9e29e1aaf766166e799ee402b5e1096dbd90e2d9995f4a9956104dfe032e8fa21160fa19ad331ce071ec818b802ab2393f111ebd8c9a78486cac19951145b9a9772bf4bb4afac5b4185f257011deec7650c99939171b654e7865a9e4543c3d6c0f8ce101b8872e5878258065699c81d005717495442c08154d6af5e0f88d54576f8d992225182dd2478338dd12f04e70565fab2ff08ea04fd0b582f69b43b62d2a26bb0d1aa6fdc726973d210ff8130456e4c2aef9de152320678f57367e7a931e3efdc48786893a3fd8213ce32a801a8ce52f34435fbac2869d094176bf28950030507b0df185363109840239810454db2f5c5231a7c836122606b170ac253726a46c66c50f6ca840099c2fa4639d920172a1cc8629325536625b661f8cef08abe7fcd1757d5b1b6c2dd6819b0804f801252e19f4af3d2f61a0f3ed98d6d2f52bf9f52787aa1884a4bf77c6f2ea145f71bb07f51d426e3f2f6231628d4cf079aaa234c50d2955e84ee2ea53a5da147a776f7bc6be7668f9d440e30968900972ac94b9a9708a7f431518e39c8d08fe94113348f0647dd1c2e154f815b1e82d30a5365a72229d19d72eb6f516d8d753f8ef4d97bba40515722e0bcd4d8045e22109207cec8e2eb959708df2f65fc2fc78bf3e754e11f5c70450fb7d782dd9387cd8dfc06ad36c1b6d693cc3dc8b3abf21c92b8d878e8f7ac24701ed05fb0b4b57d47588f38a4e2b0a18b887f92eba842327bc54fe38354cb4c0de3945ea74ea3c4f3420aae921335619a40bdd353e9bcca66ae71ccf65c5e4bbf53d73116b072a1ae0c02663432c5d01f2602c0d8274a1053a56bb8a4dd00aeb17afe65ba1a51df3559ce9c4df302c781adf316c9532ed650c65044f04ac547c75a465e952429126eb36e055e18704bd66cb385e98088a32d8dfb3c9cd36005c0702a074f8d7d422c0e9368a549f57c7c67d73a8553ece220a1629e7ed603577a5825844afb91943761636b068555419f6f5224d973d086bd5578218fb70421fd8a7cd2e9abf3cf931a605c494c4c2dd6e1b637ebdb2d504038483e63f0075bc88ce88d3f690c6223622e800eee1306703eabd94c03cd49b3606fb14936ff77fdbadbe1810f498a8019a19ac32bd2aca50d36a2fb26ad42caa2fe2e23d8f0798ac0a8d816a1a1f169839bd5b40238ea0628073ca59cbcda98019b8c65c679959c75f16db051d31ca37fe424f4fe435f31553d1a559d8a3cb565ae7fa8fb12e241309ab69001cb5174dc8ab0b2a05fc3e8fef0a70d81e934d04dbdf3f70fb9123c5615b903325b78fa4993cc8c8c00a0c0fce9aa290d416f2efddb150e095ea921d417e68db01e791115ba4cc1ee8f633adc27a9283912966ac10e8adb8eb24df3f1f7f42a218e23001700cd0079e0897b09dde8a5674fc35376bee788484b5badc48798b34c6c205c4d4539a2705792c1a32ca089a2c7ac8139ae65f1518cf88835a427e8d5eeff66e495c9b3ce00561349cc01a697cb18e0ba9d059a3fc01ee4621a5f114a6f90ac0ae7e3a68fbb9b087e45a0edd25acf65d08598d75e122ab8892ad7829693126e96068089bbb90440113d4c881a28e9049ebfc598255a267c242315bda844fd9e740327bfd1b13b51efe5997fba65f9ef20bfdf52a95c340515923869a56e7ea85a29a77c9b81746f3eed2eec25a63b7f68d59c109d3476d4b9ad3bde637388736753932fc1f513a5ee3d106ba54bd9ba55968d44d73ae91dabe98de71602bde847181ed695dd9829102a3e156f10366a896dba535826957824b573efe22e7a1224ece311da1082d7e28b6e3fc5a5caf0d616418220e046aa3c4b0859375708fdc077b8cf7a0a022834834dea7b221b9c2491b0b6483ce123d08bd7aa420e98940cabaa3202d2a76a545ebd01bf8e700bdd968bc87444eaf3c31d484df16caf2194fd99179c3749aa4efb094900b70010c3977c4ad88150e61583added4f737983e7680bc6fcfe917386595a73d38f3e0fa107ca86a34c5173956e294e395359a8f008584004e6958247cd94549a5db6a1a228236f531a772599a34c6c1d153f38a13199b03d8a4aa149def428bf045cdcdec21327d5dfd1b14e86209785f92c34a6917d8421881736342573e9bfaedb05038d37a62090c559ca72945c1a9b49248b2636b608c9a3fe12caba82d94f6918eab7bce500eed9046ef5b858a5c1706c10c2d48b268ed5eac72c1c93b272fe436432044bbce1fcbfddf814ac4f751b38ad395eae7e86211d967cfe3d7a8f0cd0bae5c35952b0443709e7f32fcca78f50cf7a2b2cbd448901ae0446fc9177b95718388f5f7a525f0d6f7822c918ad1c248670a243ab251daa41c188a6cbcd40f8ee924229fd52a303cf0d23437cd6b148888d3e62c61668f44a51872fdb1ae9a150d746da9cd9275ef3c5a54ab2d9ba81d09a2eb4c9e2f7e81b8dfc69b33fd05c76c9132a8ee9df4fd731781debbd4c27da16cd0a502ecf7b88741635cadc9a00defb15d3ec7775d777e4e33b55ec1deca2775c6300828877c7ee6e1f90ea4678dd3974e39d64c4c09135a3b8580845121d5166ca3b8a4e135f97479b6b01b1cd3e2c6ec15994385325cefce56ec250882a4ce156a612884d9979466668d9b7de9bdf6bcdcbef322cc31c995efc997479e9a7a47e48d53eae5b6f5249ff03fc5eac436e472814bf3b7a712b5b41323f7abc50914ea839eae9f1103383dcfd61926dd0370ea0767121a13e1a73cb93675a5d7b6851963d81eb6c6eaac4cdcb8ecb05d42bc6c8735631c238f6c570422c6677d4050dcacc854ed767bb80a86dc38baa3c6532de799469722050f5966b1ac84f93968d6b572bdffddd096cd0f0a7413fa29c25579aca60485a68ec49ee350a45c63d1e33c6368c310b5abf69773a471865d0d2b3562ab3a6a7f54a36df9add687326e9ba3a28bb573596deb46c71a6956f0f5b38fd207892798a2711f35264022f34d52f9f1f50e521ac5a842567658baa0e08e81541ac0b53fe00a767870aa4eed277621743e6b8f4f2ff159becb3666c05b9eaf3f9bdfe731b3bab1523658bd2d47833b23af54fb1fbd84d71cf69695dbfc45bf37f5ce9a08f40ab085b9a2b272874ed2c349ee23bf85f7bdc816eca4d3ef0d432b834d5b32b857c23bf6dd3be562826b86bad05264c28f9a002573d3dea6951a95319c725d437404bc3a72879b655ed0e669bb0da1ee7b1c932ccecb027eb8f9057a4729ccb688f466e081a8690f218f3428d004eba00673f804356a58f03f1707c3164192c25d17b1e1f09f21543a8d60dc373503d5f0583b57b5c5c15ef6228a37a844be75b56ac51c500746f8171b5545b6869c1343ea33d4cd5e58b8a0bb727e45119a40dcfbe0def182ba36f9493af80b83631b704947bd75e0f72220ffcb0fd6d934a6f186cdc7a3bcc13858a9d82ecbf1a871a9d650f8a683b0be297f18f29e51e6e00c4e615ca838a13fba9aea4500b2d2d7bdc6040092699b91281248435191b5e07a10f2f8e85161fc730637b3361cea90bea2c16d65016191cfea4ed1e9243b6be3e7713912bda889c5bf156ba15b5e2c44a6483db49ea17fda8ba845daa96c7487496d65d0c314c0883c89e90dbce3cf79a32ae0614afe2e855b325169a50ad55d0331ad60285c58fba800338b0e1547bbd996e3e372411b496961b4118e69488b204bdcedebbd7e4a5577ea7476c5ac96d16f10e9cb7e6a50d1e6403c95aaa7e0c381e08bc4b90ffedc754d0e2a89b8b427a1290a5009a847e17354c79d4833c34cdf393fb5129225299f781b10ac8fc1ecd862cbfedcffe15c73f602ae2e082fca435ff7edc6bf2b4e694ae9577e2fc5f29ba082972ac6f8e0008e5886a91f673efd027e1daf55a4b721434225a495cad9cd725b88c283e7e0313dd6631b41e5b019840a093dbe2215ba91daf0ab9ffa4dad7dc2b2bfcde0f2b0482dc28cbedd6215970f60665fd6ecabc0a2485591552710f3f42cfbcd0aadbf1fd346125a1d196ccf12cd1f8afe7e7301ae8b1593ebe31dc5fd70cfe16d471d05032b4df508ab3dff65b23da1a4a04604d84799672ed5ff69f4aa6398c40238a7a5af07e4cbb5e52ef4b1e1759362b1ac2512d225e25731e433c61c0c5b0ddec60fbf9adc4926350eccc7a8935b9aef6071118fec00489b5a5bf7444032d8e97dc412fababa33df4e425b9e1faa20e2a38ffd2e43c69593a5d3f86fd002cb7046912192048d4ccdb7e8e65f12a96791cf5a7e96ec3908a2be752f6e94cde3312c5d983a80ece9cde0653b6d1871739731d0c172b004e7116cbd4ec5a5957500284eaec913307e69ae9f5405712e624bde96fb9b38b71bb092bdbc2f642e09d874c27bb051841135cd02e26662c5f16acf4ee9047ea2dda1f11035f8282bcec5117f9394403b5bb793850e93ac6606e6adafea7a2dc3fc53cb3bd8b17bbd0d9e0bad0b4c649c8a2a7ba62e020dcaecb69a9c4c3aaf24f5a2c1aba6a76bf55022fcf44ed551977c98fda0abd90be8e25fde3a916928c4125c33304cb7a3ac4828277fa47a785dde7e3c14e59c78244721aba32d7f987743b5b9b56150e72a6c87b706f561d0e985b8f4484e6d7f2d76ae91dd4646d0a8abe2198c1a37fbb713b3f0df1b862011d465f0c999d0763f3c62be96eecaf5aed903c1bce25b119e8cbf546f7aad343786fc8254894bde1256eb21278f925a7b9fb4e0eeb4972f8bfa2829e701426d5246b1f0cd10cdcdce9ba658d8b03f20fe4c886afca656f2b789b56cb75aa062af59c58d3eac6bb38c1146ca22e13b9270e607b3d5fbd4f33148a6c913b452f9814a3109dce44c8d0ee4d32c9f4e6872d5663d6175d945142aaf079ab48457a854be711b8fb05b7666a11f47dde0b05f18feca2839bbae068f5d6db4f377616bd8c607c07fa7ef4fa80d8983df710fef6021f4f9849b8f7ee595ccfef8a3317adc4527f8fd58215f8e05d30894b545a1933854c41dcd5f269bd466bea9821b9423a758e1f42f76c2d4080457700c43a1c49650e6c8e2f564cbee716ed3e8b1617f8267362a15085c1722e3d1a6e36ef442c4febbe35d5a9db2c163b0da697225317569e9cce655139d045b7213c4664cf4ac8066cd71c318c219a18a04c347054fe52a3a6a582c52425087a01b9c8c2c18ba9f1de1a89d17c247b0227c8e5b98adaec40c80ffaa00159db0730dc3a27ab1648e415cda2255795bc3bf19f3cf7edabec7ff6fb08fdb988839c62f5a4145bdbb9d6814a642aa1a6e27b0b435846e4941a00212226dce3c52406739a58da1756fe315890924f3a7501793c7e73b4d8e3bc7aef66de235f2b5cb651bc4b986e3bb6a368d56735d85471c9acce4af157b72d95581e189b823e9747c8c556366555ba4e7f4e3a0a100b89847c10a492bc8076568aff9e6d2abf291ebc6ef54542ae41f9da50d63b7acf2afb60be95ca9af7433cb2b8a24d550fbb1fd196e4e98357a79b328ebdedd3fa9c17102e2a3b7287029a0fc0a94e39aabfa19d1334a036b6b548f671c9f09693a821f846ba3449469dcd6aa3d56e8b84795a9fc3f3d0b018741835cc8a0e72aeea7a77a45d580f9fe6c3c817ab4f7858a2683c709c83d2b57537a5c692a00b582a71954844c992a9b25277b0b1d6f3826fc1268aeae62b1afa123279caf2540ecae8d4b409d60f8b2d3f832c2e2443b51131a33df009244ae47a57e7fec62501424d718a3c541bb89c132d17bef3add56c447c4bcac3d84a1a7606b780b7273eb060b5dea1342612b680806ea19c396f4bcf14650054084ad45c285492ff05821c597c935325e9ecfa71fc36a61232c8951b3a1ae5b0c08ecbc355fa6ef90df09f3e2525cbdd4a2803d86537123eb914d37db4d237f71422a98bf65b2446917cfb27502f3d04c0ac52037421d4a077222004ad58d8411daf010505ac3a962cefda4009d056a48e4dc2645a58e5555d971da51d516093a2078169867727bce88bf5f044e43c5d2611a49f725759ecb34f4da6fc3495ad203376c9b028631f7f8da0b7fa88a680b4bf297c06d4f939d6c82915a561be0f247099f4fdc54780b96e0901a9e2dc750daf414409afeb12b67e1b1f6b028b255e2fce785073b0927d275a50db68144c8bda59a757e44f82b7d6bfdbfe6ed669d5f4d14beb7a4b6df6d8f8a6095f95fbcb75f5f52f3486207bb5b7b4d05570c4615648f98fe02b5a360e1cf44a85bd5a64c04833621d5a5c5aef2e1e9365ee57fbdfabbe5006461526a44187963a77203933c2290473d71ac21dc58db84200037d14be16c10bf2ec090663bc635f255ee7f852eb31d39eefd001c90ba31557a311c3475e820543a75c01fd9a020be34617597c8a9d4f84cce265d5b8ec7181739d903102a76dcfc2c2a11d1cf33d4aa9b8784c67e8e6d9e1ef1060fafbd3e8509a670f53f86dabe5e0d1dfe072b59df35c89026c55ef272d68a14a8fd491f5c23efa21c1a624df042284c74a0298df32ed2240de46d8a95a2b0dcb2e2cf4b9e3b37309dc27be957229cb2118b59c1a059a9d4d6051a663a60df4183d23a033ee5258ada84ef31e1cded7bb9b17afde36b365818525bf7380eef970cf27f2d76924f12335bf1722eb3e143d83be8f050db9d9ca1419b082073c5634bc44ed8cffa46d28c656e1373b0bfea63661d53ded2088fb3b787d66266629d0905c5f8e10f7d64002bae88903856bfad3db05d797c3beca43b885c652fa9e1d0a313115dd83125f7dd8bacd8f0e912a2c7992496d6f1be9a55ad2f27e334dfb76a2114bef94a8519987c7ccfc37bffb49c9f0f2b06a3d99db08ee0550e229fa5a9731de95f2e57e391e54b1789f4b375371e7b01f76ec2e4c4f86eac3a3c30c4f9b73506643beff87d38c720cfb08bec3da2d47bafd505f0f6c57ebbfadcde4859d3c4294eb1944ea08b8b469037e2aa88dc3b9dc34f47eda1811822b8305563336089324297722dddaa639d8c4c7e847ce712a5cc3fd41b9562b29a861d1c94c6448452f8e8a9e74549de1fbdd214c6ec98059917843a2125a3a0fb5b921aa8fb6e7ddd18d1043dab2a7c61b8ca4a6f8f657f10746fa71b759234c2865950b61bce4cfe161aa4ce2df4cf02fb02900a7c122b7f0bd828e67e0bf461476d2c894d572dd5d34c08e2dae98e1dec119b5ea0d98a4e5ae828ac785c0287af5359d693ecff5ade4b05f86c7300409e80cf90ee83566a4e4f3cc252c180fe015ddda50095e4f837313baff8927a386850d89e02655286459b14fc62a8133d27a441cab58701a99d9d3d6b9630db83d8ffd79ebd364dc58e0780bdcfdca5caf684bb5a259d87ccd172098faca8c83ccdba8c0d8fcd1877294fe46de62bd82cb78c2ac04fa81f03a97925150079ed4233423104c8c927256e5b70c5b705c635510dfc9da2c9481dadeaa4d85edfcd1702ba4c5bb7ac36ba06277ab40906ca820c36e469c22fc545678ac56b246b0a98e88e8f925b479cbe5220a24db06f348ecdad1122e731f791abc55a1250a01166def84f985ce2a61a12f8930d90b36f0800614a633c9c9590ff338f2364036d05565bab29f7cadc466ad42336e46e88734ee1ccd12f108388ea6bc2583ce2b8b19099f39d2c6f912510b88c761e75fec0a16de7d20fbb2792e079c9860781b29f9831e7df4dc3e479c7c6bb7934a8560de17789a1331cc7d2fb6f3cc3915176db56ade673c31020f7212f458a36d15566b04b745fe3331548f1e82106504524837f4ea5e23424e809ee1a21b77cca694e479ebba7c255e66b473a665c036540bee998711c4490866bd1399ea29713747262d87a4a15c26b20653f4d68f614d8e1551ae1cf3f62b72983d36924e34f482e29cd993ee36d48e5b9821cc16eae4dbc1c6fe026c830a35141d6eb8bf76b26e9ceeecbec2a023b00fdce5100e54908f090c1e575d6fe911c7161ea397d62ff941b12b86869ea0359a96329999ab8ebe9af7c3dc06f2b35613df1483d02f829efa565e95b5a8c3b63f08a5da859ada2ccf2c5848a11a7d8a990805ee2f04dedc09940acbb2f4f62246d555c489b01a51114301ad92af566aa942d37b7d27cf414e5bfb4cf43eaedbaa7dc5be1a59f9f9f39339b7e6be497ba3a841427dc6937a62ce2687b16c92cab0eca649d8a2d5f2b73fc35bba26405274c2b3f11444fd69f4bffbb5fae873b5654b4df01cc44f3319f69b9e87e357b58ca936c549858ce240f01c090998761e2c1232f932d13c719800243066211e3a28b80d99f14c3c7dd3243a673090ce58ff48297cfff7dcc7fe15bd3f2fd74699ab3ea16dbfc7793ac875b4ca15d3b0dedbf89ecb888bf9d90a92b61a1c91abc2a90894d8ffb90137008ab041020ccd03ea0fd39d54106867256d08b48327905accc8263ee298855d1cafcba5288bbdadaff200ce6b97c40c1835309a560d050cc3d111e6c6858ad2bbc4b8bcec20b412bea38ec6a2344b85892e5b11d36c37d99a4842446865f7a61dfd09b209600957a44fb45386b8e02f76895da48f0761d3c3354e899d8e55446ffe8e2d58263fec74c88ff36737fe56f6a02ca5f539d3784ede96d0e9f1b7def3297047f7f36307f35a4ec2656a8ec9f0ca9e35724d6642e58b59f6b47a4a1f5f0184cd77019ec19eaec59e41933505e6cce91961c50bb65cf1e40716d040d07c20e803a48b2c70d1e5092c34a941d07c9a3c9357d9abbc64578ade7c556e651ad997246c7e2a3b936bf1986fb90227894f857e7c1de24f400233fe021e3443b7bca01d9c14e0dfa8319e1c41c9075c34312568be27411fb8d4812cb8a00a4d1788112168be57813e36a4f4e0080a3d60820a13d087664b129c5481044d2ad022683e8ca9daea5c4b974ef788bbab2f4a58ccf72af35d69be5b893e7069be63d9b2e7d5b2e73b53ec89cdefb23a7176f4f7bb7bed76532e37c38bdeec3ebb6524545b982873831863084e80bf996d07ca28a30cff1ea81dc408f8bb45c01df3e3db107b5c43306748fa78cf62c557828f572cf78aa2473f9b73cea9645b3bb711d7bf98e00f86018dcc8f5d0e734f6d290538e88231dad0450d247af2df8a0d3fe407fdbd7c21324f6009e5c78e38086bf03c1e4ffa152ad2af4cce933e443ce86d274da8ff4d177c058b67b15c8947f1683a087c40c1543b52932bd1a352a80aec2fe457a27b9b66921128e2b003ecd662fcefed6c9927f0a7fd4af41c045b628930f95b5859b6bc2903ca1d81ffcc4c84f9e75a3e3d17af2bf69c344dab0f8becaaef6bda6799a83ec72dd9f5f7fd4ac4bd6f2e06262fc09fb760731f334dab6f4faf65a8d9af4ab676e3897baf7f3fbbb8214e02651ba2e78f331021447e28123df7869ee0ec3f6fe7d0d93f3ddcf3bbdcd21eee987aa0e8aaefa2d1fd291ff123de652ecc6ced4f4674679a48fb93c67fed4da530e73b653146018161c5930b1ca10a05b05c018323242d19410a103c10e4cf2531f3fe5bfb53fd58bb6a7fbfd3368e935c4b7b8f123d4742f7a65b9af5cfb44fc909814391c10a58d0e20907be780114a814850e8441c552154c7441470930300529b0a0812b9ec02d74d902051e1c89600b2f08a2b1c50d8650852c3861e50735bed085223881056354d9026c02630b1724d06007212863090c3c90a50c2e4d1cb0c00582dc83319184a30feca08b10c020c81f28e9e4020e2c6dc894812b3bc7864c1c78e2f7e255f4fc0b287735e3d280089c70908377f5616a7fe6460fc7f3b223aeec337b04ceb779e6618efcf08c4dcdb7fed356b12d159b051b764276b77ad86d57b0ed946da56cd8d16f7e12d6ea23d926b23f3551f636d347b21dffae6aa56f14bf08027b6a23b9e3ef4c1bbc4b09143d7f2967a8c28f84c2159dc41eb825fc580313f8f3b657c9a202a3800b09b68f73913067cd784903ee68bdfc262c3ffa6093cf6c227f282204ece2ebbe0ce6e55fb843e6e58ed54bfd15c92a38b961f28cde5774b77c79f99797c970bfc4c87cccc3c0c0504a7fc98ef99b5f929797793af3b0933279c9961949dc33da97e03a311ff3e758ec987fc99f911df34012267f8c9e99dbc7b544983fcab188307f6b3166b1b0c0ff937a4f7d323bf59fccfe7e36081c0a98e3cfe33cdb8923c11c6b3166b1fe3d6f27ea4fc9118c45b46ddb80368ee3e4bd577e2b4398f36dd0756664efba4e49f7625bd8068c9efcd944e69dc53a3d84a7cf7e78cbe86f02b38912a598fcd1978189f16fc1e81e71c3acb4981830303939faa3a3a32264616a02cbf69f55a20f549a4a116615f3b25b31fff2f17f30016bb9f902beb2e504ac68d98ec5f68fc92f59e6c712f0fccf9dbcbcb856f95bb25732cfc9e8d68ff9322f345f46c3e8c9fc922dbff82f303172c98e79c6c068d70d5ce705277a2faff24fe5af6bedefe7835dd8fea7dce52f729153e415c965bb9490e6a5d06825b28a202a55ffd8827754007fb1c9942a5605df23618c3146ed3f3f326e183bfac28efac3fbe787136662cc150eba7e80815b47fc736ee5385eac60108810050dc43850c61040007dd0010f7001032448021422ec7ce185295364800b563c71800a2c7540042f60a2092304fd7b3bfe3f5069049ce3c85ab166de6a3f3c3f352871381b3eaa869f1a80acbc96f0d2f5d0b68d152f1ee0ef575089e787e7c7c60afc412c3360562f3366543a63c68c1933a76f49370477855836e716bacfd38c5ecc7169ffea571b6a1be71ac31c1e3c427563fd5971b491c4ad19c5f72e6cadfb91eda8f597c4c63766d6de3a21df2eedc67c3777fddebb753db87b3b21df5ce75dd7417ac249281b2bf0b75939c59ba49b24fcb9b68d15f861ceed84b2ed5dd427d445a1b80da5a12c0a854265a84a5128d444495474140ac24e9f0476cb878e1d5f3b9d606bda9395b41d28c2fca1482924d25056a9bc12b5ecf936d4c0051cb5ecb97d4f209759a5126923496b3166b1fefddbb181be8ffd387f6bdad5c90c0b5f5416d4d24d17f067972296a59825c2e2cf6c655727db5f0addd876297aa8a5a5ed510389e1ef6eaf21f67cac166c7fff1f2ff0775949d918354ee0c802e88adbf567bf4a4a8df0493a67963dcd1f102360fa1fceae93d2f99a26a2af895a3ee2db97b23d8e87e9cdf3333a378d5a82a84cbd334720a7961dffa60b8e525bf7cef58d16567bc6185755e00f3b172f0f1c2a58b3a25012963ea0e06fb5a3bb9402dd9b62c7838b8300ee403dcb0912132424d1272265298a3e32af7af84214f921f610893d3600d5ec522c91dd498445d6cbea2790d8b3dd4c7f49bee872dc8e378333f04130c27ccf23710b8c0d20d8d041961d7f958de29eff9291c40df3a94c94fa97576522d5af5ecb44da4b5a6356f408a4541bcd1db389b8af2f736b3eccb5d69f891ead34e36ae6388e8b1ef790fb9ab98fa1dc67997b9b3f247356ca85cb2daa61b66c9c2b3872895ba2d7c304f88b4b7129bfc46c4305625215a52ec33d24050ec5184e141cb9c42d57886040587c284051852dec18634353e07b8ab1e8c51260ff2fc6b4dcd27e7bcb7dcdad1f96e8f4d6fe69c94f12f0c73d5111c4b2bb2f8258f6fd9a89e8d7aa5b3fec534dd4ddcf1eeeab2797e8652dfbd874eb07b57a86a1676c04d0674993252260200a3268a202572cb1e50b14b002149c9041058220dcd2f291b57ee8a1aa5b33160612660c8a81c494042d8861050725085a62822e84a089182fa0801346088a73ce98f48931088b547f1666432d4d4eb80daf787185fdc558e4129b629718de4bb1588c4b531798b842020785d459b0e42005fc45a6ed53a2c4624f2492f2dd9da84846d94532caae9a964d811c01cbf76d14f79764238945328af6f5b52f92515a3eea6b9a48befdefa5ce785429dbe7516cfc5845dc74ccc263965c7d6eefa43b1952caa69548264154aa9e73c32ca21705e707d8ab98123da12aa0d89f47f1286f23059062dce10423c59e18dfa31328e47bd49189d4b149942ff017996c6ffdd811691e21c530380877388400f09fd25ea194d24c7e9671dbce3269517bea2b6312703802feae6b6a695e51aae39578175d0ad049e7ea833feb739342589f524a299df977fc5eb224d501f6b3215e054a581e62b52749188ced0f37eda59c28b0336511f2a59d823297d03895eecb87f42b5a82b4ef53ff25db23cb572854112f5244274f473c957af1956b08fd53bf24e845b75cc545a77492955e12f43dd17cb85bdb2fd9da0f0501c7ff846cfa2cbc04ca90fde163dc2942c2625011d2a74874fa4b90826ef6cd69dcd261f5f87b5869db039430efb667a2fa971c60f4b65f59e983756bd3bf6d7a48ea573ac98b4e7d129586126664d30b250c366d22f9be6decb150d4af082e5def9e8bdd03c52c731997659bc66519d7d14a6d115ca259b6d52ccb384da43d477fd338ce6adcccdfa6d9cce1758a81fa152dc962d7ae422b4e67f4bc092829f5e951def148fdbd32cb649665d9fd155e41ed699452464d16c531f6fdfa40f2a6b48d1edeb276b7ebda6e149499949994375dac7dce66ee2bbaa8ecbb83db3b9db7979dd0a769a2dcfa71df6a23dfdad7d7e0dbd732119c4411d278aa1afb7603ce0153293e6c6a7277874d2ea1c4a51863f408454a19e5929cf1687a124d8215c67a9e803fdcf384cc5a6b3d665994b5ca49e9a473d22a65cde2fe30f6cf323801fbfe30eea169da69be6509ade68c524a2871292ac5236ff2a488839c474d3bb634e714caa64c8a2d515a298f4a3b215abfd8f1c8b84c6866ae94b4639c15921636d98e87a701fcbded8462f67ed34ed287ddf3ed9e5ab77cd80dffdb705e98137bd02398137bb4846af6919a3dff5bc09e1ac31c875015058eb3b1e72b8a40accea744f2e1e6fc730a250263c00834ede93181bf084ca2f81e5170f5e7dad2c6fbcd2239358473cac884e3585760ff2821f42778cbfa99538dda8c4e1fc3dbf2bfecabdd5936b3eca9f42ccbbe469177022a08d9f3a5a45f0363d417ed5c5164cfaad5cfb25a9f660c3f83104e889958025959c0d886d18970f816fa680f314ad210a3bb0ecd62c480cdde72d9ccb2876f3584557f48e4862fa15bc17526053ce757e4ee94099cbb94eeee74ba8c110babd823358be5abbbe3957985847ea4537ab4010583566a936c48eb8d9eacd984106677533da56c8283346000c8600919cc56999412d3996318744e23498048e69e53d624e6ced39fc041575de52be4606cf89914f00a42a825d5ab99bf8774a6ce3a27dc450ec6a6da7681dbb949ba497a6db183d716a80b5d90b5c362fd302165edce5d39e1beb6c0f067b22cbd9c706bfc7c8d1a1aadb5d63231302bfda25269ad531aa3b4d65a7ba6048ee33cca9b245ab34cbb49e2ba17171487ef4dd2b517732ad5cbcbeac25c18d70ab356ac999ba4f9dc949bd239a99e32f726097f3fe3ceb068dc99d6bd49ba499ad901fe3c9a9a9a799384e903c9f9f32b82b1695553342508868d1537393874083dfa151c87728760b88d15d85f38c0df549a91aa17b8d4849d1819177e35618607f8f3986083ad0b5cc492b5b2b39bd183eeee58ca3b57737647865c637b03ad5ed8fe717f815e0042778f314a29e79cd1698ffad201ae34b35d8fcc7a1347d2aaacb54e1adfebd5337eadb5d61ae58d9ebb9e904ec945cfaabf3ce1d1239431c2387393646305b5d19b74ceb793d68cd6cc7aaeaf99d5bccc6a56835b8c709342146ec7634a198fa0b071b7eb784c29e78dd1c60a0c5136ab148587a482fc4ffbf32dc5751225538947992a5e5bbcb6786df1dae2b5858d153656e06cca9879e63af039e83f371727b0652f7117c06b0bccba5b4e9f46d85871a3bd49c21fc63e976c2f2294eeb90a0e5eb7f253b27d701cf41d3f7ecc2f2df09c0ea3095e5ba05eb1170c5e4a787df14ac20b8bd70c5e3278697921e1758497115e4caf22bc88f01ac22bcb4b082f2f5e41782dbdbac8027fb3062f20fc008bbfee7aa05e34c01fe6c2073dc09fbd823febbd6e3c1bcf6543e7f7bc1a9e57e3791ecd8ce7b568783358de945ef49e53cb87cf8e5fcba056e8e126a900286c25fa0c54e8c99f50777f1891a207a393e8c1a32522a59452aa84b5e3114fe247d1832f3fc041b883b3c3f353c4f5ce2b07586ae8feca0186399e101979b8e699383e304d786af9a8db5fc99e2b406204c91230462965bc00c7d958113d4a28a55f1b2374c2a3844770f7878d15d0e3c91fce1d1c1fb03dc407260ca7c7d3f481094feaaa12e787e8c1ed495ee6a00ab73dc1a5bc5570f4fe15030c3594523af5f7fdb903a4fb07306462628c2dffb76f2d259fbe53a7f2e38c5a4008218472fb2b07187a931530d930071b324d51da9c4d143cf77dbd004f017fcec4946d9d2a782651e12074c118bd6c43d8ddb064cf879109ee25f7927b993da705fbcbec725a7d976fed6b0f46fbd9bf2bdbb2a71d0ef239f7d6f6fed0c7a67f787bfb6d33f2bd691c2143a60f4ec0f5a1d20738e84748558e9e2083a67ddf392d3846cf539b0f4cc0f46147c0dfefda3abdbff6ad93fee16de7fe6badde84d0a666a2a7fdd77f970777705f9fe3b26f18dc71c49bf6d7a71d0efeb7c57d7cd8f9f0bfbac5e91fdee69ed35ef46236f2cde92d0b1912bda8678c3e3801d39f5e5663e085175e7801977c987c987c987c98e052d6d980ce067436a0b3818c0404200001084e7836a460430a36a460430adedcb265cb96f9c5175f7c21f344e689cc139927b19a18d4c4a0260635318839b1c56c8861430c1b62d810638b39e1d52cd52cd52cd52c79ce93029e14f0a48027053e7d947c947c947c94264b060532289041810c0a581f248c206104092348188f440422108108144a118a5084225028f1a866063533a89941cd0ce21105b478c7e372f2b71fc1dbb5f432f6845d76e48877b10f24397f82b78d7edc362e467f823fd67e22ec5bc301dc91c4ce9e1f7ddb7edb366e333a92e5d0e7e0e738d8f133923b3b859e3fd510ba9296826bc58a152b170472422aa97c81c00aa629489083dba10918e196275ae412f60cdd1c1701f86ac21d7efc22a0b48be8ab892666a04c65f5a9c3078a50a6325d2784b489430845155df6c7da5af6e71b325111c69ed1420b2a821059315291c5fe2c0b5381858a2a7b267a5aa840052a50811394d65ca13557f00e4d401e3b3481fda116946a41bf9d0dab09a0928c143252c8482123055472a203f8435261f61290c13405144c50c2609ae209a6299c400d95e267faf336b4303fe27b52b8c3f70f30fd6fc62e78fc444ff2d4fc403e4bfa58a87425c9d2972c19b8c3f7e6624763fbc8dc2b98b3b3097328cc814a489c944ef057e46de9223802d31442f801d3145b304d9103a62966f0d2c04b034c53a0c047083e42609a8204b86e0873e0132ce54459df3d54f63a908c3165441262f51f5acce90a14673ecb624d9ed8dd7cb9e1952030b1e5cfee4df59b141a1a3be36166e42416f0209f0275cc9ff13127f1a0f85df7510b53f4529245278b3573c462b21293654f19349f45ff678d9f353f63972e71ca9418cb71cb9c8f031538669147dfe14005fe628c8cd865b6720c8ab1c825df0d82e82aa0e82ec0882bc41177886ee8f4a7e79040423ba13427c41097068d7c1bd0d1b8dfa5917d465e42896c943d09f3d7b2bd4417e79591dd2a8db391dd29cd92c94676afdea3015e403724c4f5216e64c09544dc59c4a50db8f55bfd2a46cfc064d7ea5f32dccf09d10d0d719d0137127165117736e0d2ef56a29b7541345669cc82398e3ae555911147dc2e1bd97d350b8a6b22f979a861a48646c6480cccea25478e2a6504a34e46ba6b84dbbcd78d8d4bb34632232a9dd206a7ad16732323ad04c6ac03221195ebdb8ddeb4d9751ab6abf96beeae435fcb56a3d14aa6bf4cfb6dcbfedae61b75aad17bb592abc518038ec687c4fa92f4c1f112e765cecb1c2f755eeebcd4f1128618785efe8ff4b9f1f2974872e44c6478d9f3d2e7e503d950147b562faa1a3534332f9fc80f45842842ca7ff9375fc0ae85e97de8f764479230fa32d0e7c93b12463f86ec5d248c3e0cd99b248cbe0efa3bf475e8e7a09f431f873e8eec4b1146ff46f62dfff7e557a75adb5457bd516d7cad3637ea8deaaaaeeaaa366a776fd771891eed86a247bf2603891e7d9a99168dfc43f4e8cfc845b210d1a32f938b881efd980c6443f4e8af7251f4e8bf6423489648e2274a29a5dd7da0e8735fed61448f6a7f2ed7d7b2f54cb5c446d428d053e37d55f3fe40620fcdcf7c8bc6cf60bdbf10b147e6fd8b883d31ef5f147b5e54ef8f24f6a4de51cec49b481f9bf71befef53a40f8ec779cf79d759fe9d7bcff17a7f4ffadcbcff8fc4d207f6defbef481f9df79df77725e9a3e31d86f718dedf91a637c5901d4a84cd874147f69dec3a3947762e12365f675fcac1c98e23fb94089b7f23bb4df62611e67b6bda13bbfe731bffcd0d77e8ffe75c19c21c9b6cc346a6d746d61ac29cfcfe977be7eedf9c9d297af33e50ac519387a2379f2603c9428610f9a148f4e6cb6421a2373f261711bdf93019287af357d986222348a2371fe725921cc1bcfcbac9f3720f145dd3226fc21437d9d86825de845aa2a3ed82839ee792e8464c2460e2788cc841416ad9335d1714a5546f9675010023b35d00c0b095298a294fa278621ff1edee16be5fa8bb1174890209c2289a308da0095898027f48e214fc21894ea8e00350f057c4a2027f45d90929f087c43a11057f455b09f05744a1ac007f459e1329c05f119482bfa20db2007f4530f6012728c05f911705fe8aae4cb936fd58776b54e3ec8a9e7f2acf44faa7d32977a7ee4433eef48a3ef7dc6b4f39cdf736b5293fabd36b4a4a4a2bf182a8486d7dc9294a2e1cdcf978b64398c412e69ee9d79e0cf4f18130e979bfe30351b51b0a42e7cde8b5f56ad9ddba21c865563b75f907e6d44ae7d76c6936335a461965d43d35d5a2b3e194dccbbbf2b1b2d60ca30cd7e503c5156bc58a9e5387549ea8be34c7143167c3e7320f0a867f6decb9b1690f2fc9e0a08ba35e030c994c1093165a39aac00ec2f389e4dbcfecfb739b8e1aee2d7ef6353d5d66f9c597724a74770c5f60842da93f7c6926a40b0c99aad8523700b8c09ffc0a5d3e07733064029731383a7d9201e54b8d030ebabe79545d507035b2f1e8f46ddb57efb2ad376d6b3db6ad0e3d4128ed335ce02f3e3de96ffb8ed34737c628d423fb3822f97532ac93e164c49ef9557e81c664171aa3311a8b4ca24786ec127ba267fac3f6624a7d7f32f20b36f4007f11497e61cb8f48d25a8c9162b1e7883241c6b695489d73366b1ab6cf3dc76934b60df5b056d865a3f267375277e7e468cc4742aa9b56dfdacd4298ede0823fd9449b4f48b1b30397f6941e1dd15801fee211f5ac6d9ca6d90cefdaf483965146195090d89d553d020eba3ee73848822320f7d66efff9b69667572c9cae4978548143d9d381b28f44926cd75fe6ed49e4afe64eda8f64a73f8be7738eb3a747a18ec597b030adf6079586402525fbb966acb5100a664d8930f951943c4af4b0805d095bbaadc216db1887d296526e5da2278f7c238363e25c13faf916db78fbae47bc0ced3f982ae40d8cad651c495b3e8e241c58e0a8a2b72e1baf666459b6c53e982a6c59ab8b04783e909c3aee6c4af825982ae8d853ff9218f8e390f623c59e0f070eb69c18478d02756346d6c8ee7aa23c4e5c3ca150fa8892a313fd3aebbb9e9cea493b3919bbd687dc7fbe25167b505fb5276d94f69815fcc5a393ae4fbfcb377f786f3726bfe07636117d3b2fc76d1bc7fd0995fdb66d9bfbb66d2eb77c7a4ec9def28c9e6677763651fdec2dc77dcddf8eb5185b6be55ba0e87d81b7af5bddea56b7ede7ceae1bfd2d6bf4a914384803d6be729a6b58734d81ad918d47db6e3f43056748ec9e3ac6b688471bcfd95d57591fe8d99701faec7c765b6b7f2561401a2af9c81f02da913e4340987cceb5078aa7fcc130a0527737e9499fd4dfbfcf0377647f1fcabf7f8fb6c5d2b2702adbd7f20e9084596e3e8d9da621cc995dac5e709006dc3da704b76ab3eeb3b7b6a36f33deb0fb0195b069a78b606cd7ccbe2b0a6c1f486a0f14bb7cc416f3e7b8b7dd6fdb5ffb3bdbce6881b7d8eeb4fd0fc6b2bf5ca6d92cc323606c535db4c5f6d496531ac14a69c5d5cc41df514491b653a48de909b6ccbb6ad4d2e682cd055af56fc3a2cbf172dbcb96bf6d2b25da01d4d24b8d2bd023ae50de53a396608e7c2251e04d09ee787a0208936f3f7a826d359a824d6915ab4f3226dbb318ecb4fc0e8c2ed2a04db449facc269ff5a6fb9cd09c52b32c99968c694e994d4edab5e422b9482e92cb96beef9cf2fdd4dfd70a8665b2e391b496c562514cebc78e36c19c6c3699487a3aa14d5bbe100b9a6cd5cbcf7e784e913e2a9db216638cd253b6fc99c53228f81fe1da44f4331a55fbfac3c6d65c17b9f646df5ea90f6d7d20698f905136517dfb5b3ec2b5356de755ca6a34e1a7d26e52669c94526a9a9452cb9ecb28a5d4a33fe8af680767676fefbf414b8b20976dbfea2fd2fcf9d2a69452bab787f488127b84674b59c396387b46d796f3da032e3ed763460fb523fd639d15a5c3cfcf9474b5bf9f8e87a704fcd9d8a313e2b6853916e6f873a81e0e73fc5d08130b788639fe19e6785fe06f6ead135a456feb8452d0f34f41ef5bb223d63ab0b66e072c61fea81befbdf73ab427db09599863a16f514e5a33bb9de8570d5b3eb6edbe9750a715e0e00f968f8251ca28a32cfad944fef3fd67d1cff69f02f000960fe1d4b68b279a5ac8ce397d13693fadcda1f583c86ab8e10f7b49167b562b9a471970f25bf59796624f16dfdef37c49cb9e94dffe922009b51fb2bdf6f0359d840ad443b4b73a892fe924cea49704418d430cbc21b9928451993f81edb59f80e5bc55b50edb6bef43dac6552454453c31c0a0634727470e0ed6dd90eb469b2b6fee7c5deadd0a833d0cc70d98cb9351a15a334edd0ab32067d30ddd5c7fdde85d09bbf3c6a5386ec591e9543519ee5f65a39b6ee875ddbb1176e58d3b715c8a736bceb6b166e46fcda83a6c3bd6dd9c776b64b8398fbbdd09856fed82e8dcac0b72e3be64541e9478bb130aa7542fd2c86efc37d9c8ee97f79466e7f7346faade97ecae542f33362ff6627b712baf666416dc5cce3d15153d87c229d5cb0a26a6a828c3202ec79dc9ff3372fe56d61f936dac8abe3bd9789afc358a5c79c5d27926e77745cfdb58e7a2e03e4939e255590a12dfca5266728da2ef90f81a2dc588a7c94676cfd0528a9e432233a1a2fa0b7c1012cfa5e27d9177456f4cbd32ac6d53bd4a0609950c1219061d918dc845f925cc733a1e31f9f3768caa4835a39251a95a2ad5dc2afdc53ccccfe4a2fa2dd5d3a0f1aae768e4ee553468a8aaea59ac573dc7cadbab581b2bfb96c9ace86ddaee9cae47ccaf5e703a1e2f30307905f3a37361562b2da5e845d7103d7f2ec74d659c6d638fc7e9dc54beb13d28983eb793237a0edc29c056c136ce78a5e3d4696c67c77342e194ea0526864786358306adad191e9a9a1a3c9f79b48dcc6adb75ddf0bc6e783870726474b873badb03492ecfdf8a8a1a1019c045b6141323f3d9472d3ab127e7e5c72a318ba8e434b45e7ecc01dc41e371fcc7c21ef4895d244cbe96559130d7cb97ffb1c79575dc78d8eb3f9b55896144af7ee412bdfaa9f7fa325a402d36eb9b61d39d973effe9e8f9f2a63c31c0b0f39fb35ee777b243983f94343e3aa0f4e9d12b19f2f687d13531a4a0f481414308fbf7ae07eb73e43c2b4727e778d7c991e381620e2d65472b815a0451c9a9140acc7a1cfa63d12a50c0b22ad22776513d8cf255efe9cfbe7cd00276bd7e1b1b9becb271d9b8665cfa75e4d76f23db78fd9c8d9c5fdbc836f203459d358e86aee8d59c6780ab7c4f06d8ff27c2eabffe6c0dfd619855fd171afdfd401161f5a1d8293169d787b0fa916bba5c6eec324118ec94aa4058fdee21f4712820acfea926edfa33396611bdfaad1c955ca73e8d1c730073eacfc8b14af4ea5328a44fd40184d59748d85508bb72b1ebbb44aa4b40587dd457fd4092ce87c91f65daf257f9a331cae5ee2fab12b97c3f5b2ac58e6efe1c8a2bc5a20ec698938c9d1dad248e1144255bca89282e48451109684888f481e1e513f929227d78f4fbdc3c966825fae4fc96d8436f78b0d7169d8bd89150a692b0d02f3f1e1941b2fa17558d1a9a9733df7a1a2c9e5c241211322481228c86c14527c723e955a29745b412b1c42c1146ff26bb9608a3ef63742103e9e6e6e6a6cb1249fcc899781377e2480e0287c2081297c2a178149fe25524617103e6bdc8b0de7473a39544a4202a78898da85dc1410e7563cf7d8ff15118eed813fa46e78539da864e33c0410e651feed0386ed330c7a9cb2c30fa8af3a0e008a3d30b65bc9e0db0fceff6b81bdefdcd973b48a0c1fa80345c7ab9e8d1f1f489c01dfab30d189efebd8fc4ee2e092496157b52f47f25f3f45d30334fdf6bed3c7d9c7f2476ebd4782476e7784a03b763c6d38f4e43019e9ef0d3a7cf137b689efe0fdc51f3f46b883dae9e9ca76f43ecc1c14143cd348fc970b332dc271aaf92b2042acf938c2adffce9010fb879eef59cdf07641fb4806ffebe77cadaeface26bd7e5bc1b9a579e4effdfd27907e6f87ff6d7b2f6b0e7b60b93637e95579fcaaa67e5178db3f63e6801c7fc7d243148fe3e8724c7fc45128324bbcb072d60d5dfbff11ce4ee6565b8dd6f9c97d69b594d8bf99894667dcccce9aaece9ce64b8b9496b66b58d4bc5ac522928d36a1b77bb136a55b778efbc277a51f5e254eb5b303ae3c01cff562a6625336f87a23755af2abb2f57f51aeba2f27d9a2cc4d7e4057ccd41bc2b2be06be421fe3303fe9489789915033ec710dfdd53fe58bb88adc9af5e0d3090541141c4d7e788c8da57222cce704b81c09fb294251e66e62ef19c124a3ca752e22a91611004329630238ee6d2e41dbe26ebf03507795716f235320f1f93877c2a13e071eee15f720e04e0e139d5cb0a26468635e3e6d2641f5f9387be661eefca425f23dff031f9c7a73290c719877fc93d80dcf05c6b86a6a6c667ad736932d0d764017ccd35bc2b07e06be4fd3139e85379008fb30dff92013080fd9ccbe6e6e5c16ee0f8b934d9e76b72cfd71cc3bbb20c5f23ff7c4c9ee15379c7e34cc3bf641e232325943052e2593b7e9ecbf19b4347de1d1df4c2506f0cd9e5a9fbc264247e958d7c4c3ef2a99cc4e3ec807fe9923082c47346d94619fc1d9057491c31824476450f16bda0fbe377861df2d2306f0df402a0de000840d3eedfcb0de0e6e4a2c7c9448f237f0f436ec0b7b2110f938f78995cc4df0c63b2142534963029469a25617e8411d769c0ae23df26bfc6819e1f915dd0f337227bd0f32f22fa1a908144cf8bf0cf50c71fabb67c8ec7cd91e1e650a7abc23a767862f0e9d971553815b3c233743deec6777301b8ac99b701fe2600ba1e774f20b79362f43435aeeccac95ec6a93b2d9da38691d1733cba21a11bbb20433ee8bda1de1fd905d20d55a37ca10eff6a946190f7047f5e16325c22f2dc3074dac7a06929461f8356c20aa2d262c0105988052820076163cbcf5047be5703fc795e2bcbcdf5a855a8d6a15a7dd47a43ad3f6a05522b0eb5d2e41fbe261fe06b26f2aeecc3d748c0a732108f73917fc906f857e27594789819232d45090da59662a48140c07345804800027e38800f06202234e4e3861f40700822e47243dd908feb37dcf8e34a2077e27069905b73d0a10039421d7f549ed0f33f650b218439fed073e839b7c39d915d861860d0b1a393238747861e083084871d74109243901f4070089283101d76c8c17103e6bd6e6c70727000f2e3061f43423d7800c121480e4274d881071b1bda6563c300823690000200801a70089283101d76e061084d0ccc0c8d7642e90b738cf20a7afe3b320b7afe33e419e8f9ffe41d9f1e19720dd93f0575fc639801ead4add218e604a935875a85d4aa43ad3bd4ca43ad436a2540ad5c0f1e0d72e886845cd7e1c61daee4e1ce219712e0d61e340de77172b42ae31a79c7ca0c5087237261b09185e421d1f3d7917fa8af3d2bb5938dec6ebd4e36b2fb3f4736b2bbc65ba7c10048d8bea39a01ead0641e57ae210707471e8239fe9586ed7f9d061f928b3d44871d781842801e0a40e4c68dac12d2dd50e9706fa8e64aa55930d80e1d8c870bd33c8f009dd7c3f55e7f9f7be59b0274af1b22f775736f34be441c129127949e3f4041001420ee29db1557e49e721006f0e1003f20200140140982060aa041b6f91a598a125fb3942636c8e85d9946095d93a518692861353aa1ba57fa7fe88610703d0137027165913b83b85401b72e207fb6a17526924f57656b3aa1bb674c9ec930d9f51927dfcd21a01b4ac075206e2c726510772ae0d205dc2ac4cd686ae81a1a9e207c261bd90df35c02ba2120ae17b931882b1570e7022e15e2d621eed5302bddca1ecc891e113701455c201a708b04a11aa8a40c761582583235330000000000f314000030100c870442a160304da361520f14000c89a648604c9547434990a228086348061a02080000106000001933363300e65a0f3266b96a475a52b4657bc73ff5f564ca9def98983d5383ab4da83220d56dd1f22d6b3968f1ad506a80b816b7ff3eeb7aa7e1286653fd81ed6ee9a4bfe829142ae1a5027fcff96ff8e497708b30131e66bbc87027abe773663df8d84fea7113ac2c8071f60323f25d58c226ec2264d3012c22e42775b584b40be0fe284f116a6c357162445865e72d6b85be1a77a476a695890e89d21db29bd31e9443dda916df8b376556368726db28c2e157829c5724454aba79208e7751a6193467e8a6918eb8b2a53b91e57e7bf84b6ed5d725bfb750accf6340832a94a29989dd6c10a61856b9184c65d9775a717b0266b546242ff0d5363d223f4342e359ce2f141e7631d8fa605a12790afde2db8533bc3c3ce4958c82e479554ca46327d4b581e67cc748e007c813e495cfe9a1f42c155c4d01d7038bf586a7352fcc7b06492307fca4d6341c2d6b273b660b6a6ab4b3ddf994ed39c52c247688ac6f43197cfc0dd4022d509b121463611573d8b6ec9f4da6108ddb6b7c0a9263e1e4e8614a64ab7d9a7e86918370f874a86850fedffb2307f0bc673a02cca555301ee5365cf1abe9f28d3fa85c71ca8e8e130b3057b7e293619e5d9e6534c8c7af7d8193cd816861a2a348816f3a4f6bddcece2f98437ea5eff6c8df148a212378392e3a980e0c834476c061af8509a6bb55aab4f5eaf632e8756a4fba77fbedb8ff15c699f2c3153a58fb71ed0260fe05be8572063c19f0c42020fd199068f907091193f23dbcec97c49488fb10a0d6e42661c228bbdc7e6257b595614677fc2372b36299d04be9472c923893b8ffa2d05a4a390e91e669cb3756b11161752653bb458982fbcaf1a80af6e6d75917531eb978ffe62023405afc0d5ae708dd5bd03ac7243c9c7209abed163fe30e2fb1c2027b77637218baf2e189a2fa6c87e5217fcb84ccbea2dcf13db60b2b69a247efa274a43ee8040e13eb36a90c46a86f101ef886fd9a47ea21b5c093016d700941e7b8cacc182ea483710ee4d793d9700ee6d7adf3a8e02aaa251ec73671c89693e9bbe09e9b2be3edf9276f00d1b775fd44d951063b4824d6ecdbf51508b548f90169cdf7ee2a901911e9a5b155088fd8b15e9424afbb2ad5e5292e8fe9bb62375177f651b66b6a0f8811b6f5122ed35a67a170b7c5b7672492e0265d5ac8b84d0084cb90d98161efb194a8c89da6788febeedd34d385210fea8e7febbadd91bcf2bd220f72f8deeee7d34d619de7711a3fc7898a49bdbcbb61b5f68d8da01a73ce219e57b4434113e7f1d047e27c892a1d34212ddfe5be3394e7ee4865b1b2494acfa61919f5b40c61ef15a774a3bb7bb4d3c4e6c205a06ba9676b150d00bcd2d0d9fc0d31dec1a6fa78b5f6f1d351ae89b286b7102f9b4f14bca26ee15fdf14ac79da66ec817a09a1cef6d10eaa6e846547346787a8e5f5cd0f486ad156aaa8e044d39a4d8b31d154b10fb875be08cca34186822287bd2167dd263e7aafeef1369f853a7b53f6fe3da354287bcaacd99355f8f05e31498d7d52c1a1f7c1b498bf7573804b81461be9e949663278b2222ed0eda45611e9f911ddfc8f88329030e04a68be16840b85b6a1b4d57650a6ab980a82a48031c1571048faad6e1344e388e76513ce8ce12a8a7377594834b7e8b59e5c035740d49d41659bd4210b69207e22c27dfc4b0da08b1d8ad6dc39b4ba5c832d0246eaa04a9cc53a9d440b1dfc3a40ac2111c09308ba2a11a9b844741db5f807678ec45ec330e5db6708c285127709dcf5fb57a362eceda63504451a22f16788ee648858c510c6c010daf542802d5c2e04702d04b1588854568856a91015ab137b94ede9ec2b8500301ca4d15840cd7bbf1aea6ba42d228de3dd963b918abb795f4a8e21100e58925e0b3b414396c5e9e362650619197219c832c8cb5839a316039e49d8f51bce8baa8ae652e4a9361a8a6f7746efcfcd81dac4d84e8f7ad638d585c1358a11e116c907ce2d098a4f378391a955ea7446bdc6835b149d0ae46ccb725d295b45c61d7c6487f71f23eb668c83f3ca33a8d54b57b09f959a0022cc5784bf22dfa584746f10b4c8994e31e9cc17b0cac20868c4060404e818fc5629a176268779498f077080c133c6aef49e979410022dfc2aa555f4467a3fc072b40831daf4f37401c6679f85b6c03fa05d8ea2fbb12bccbb3be40560b122ce1ce92a1239e73f63f00d482325364e01a35e13b1b791d7424cba0398fb81834d2722c671842d9e997987a93973bc68f0852e6569cef737dbae9751e0e78a4aea1191b280595a9c6bc9f0f9d9a21550e427856ceff9839d724b4ce7a8ceebf597024b6246fbd753f68c70fd1ef684bf0f02cd495354d26cce704b2cdb17d819f2575fbf24ca3bede98e5a29c1322e58888b7ee0e9c8c5a865fb56fcebe90b464cd2a4d41335f61f144d9c0522dfeaa3e53bad02e8a998f56a072aa482406e6a33273a7e10ac0191801ee1ce0f7401e3ff8d733ffef61f77f12f3b5679183b3457c3d1a0f426929b21ffa8c09acc9c9ce9aef22d79d57814f66690cd417c948eb5f3b34f187cf10e0c7153af33d8f96496adc350d1191681ef76d6b49a3d60de179c15918d19417cc8a7e73983d7b701b6ab4b7087d583fd793295b472215097cdb1208467f467aa4c53f38cbedd7d42fdc0445e21251483b7fa6b6212762f4b56172baf77cf98eac41cd90e70e50bda27e3b6dd0ae9494c61e0e1d915d91fff4c80ac2866fa83a2217fa06b914bbc7583fac11d146907cda1eea25894ee66e06ca137174c7d16084a12c5dbc918c4532b7cf3de789e58b4eb3beb46b19680a65f51cbcdedea331d687ed77ae865ace1aa748706912021404ee6c12d2b9442c702f3ed39a753d62150c31ef6836db582d53615e2bf1cd56ccb1d9ba0baa9241842e806c0e9da1f3f34b20175c77d1a462715503ceeeddca682a68279d6ba295bd6cffcc52351be7d4391144ba02717a098ff2aca2b79c9d6565dd8364e56787ba4f108b4fec0ee648e81c2c5a7b25cb2fc42ff2625c82bec34962c6230237bac4b4e418e073d4ba2d612eae431d1093b2295074433e658e90a517572bd0b0cbc948a88ffc1710d87c49d5fe485f2ac57d6d89c982e0c2a318ce9d209e614b3d4224b336f321556f1312f87a90b662cbb935127216e9a4170d431857660a60eef0ac5dda123ca1a4072becb54452f615c9a40ecd0116568cb18305339414391aa9b3589d09e94548a7446e2979d2f038bcdbe79ddb7a03ce7270c43819c47b64648e9d32ac7e9808006e798cdae716818886aa1832e6056022c3f01e7aec7802da0f267889f5b44452ec02df23ebd12d43f01dde7213df816d2c247af36e99562b908eb3a5925dea41b20fb53fe7ee2ca9b5525258f8d48a5802d431841eef0fd62691297db90d28a689816fa82d419187eca409e1c32f29dd3b3aaba3b98f84e40bec4bf4a2e6968c40ae17c80e0b158eb5f6a5e458549cc095b6dc337625417fbcef399e3c30d363281c6676df0f15918d1b4b141448869186b5f56679f1673908a7a35b1c5899d42d6fa7a7c4185646bc0485e298aa6f8d80830d61c6328c4b59c65353c3b13674bf434f0b244c58c146b675611c91fbf4ea9e6affb3245ac4b43623250b74adfd22ec329e281f56eeb1c5e831ae3eb7f17dfd8c8ce48991ed1ac0dac0d9a486e45ba32a6f9336fe08299ca2f60d2902baed0d05374ae701d9e5fdf7d85e5fb277b068b6b94d80d030c41cd4fd8ae128755c1a02d44138dec4fc705509d540a6a3213eafb4f9d76a6aa29e8ea049d09f1b5153c2b98822db81698fa484e0b498e60572dee4dff852d002beb1e1732d76c82ea6f05efd11d1e930e96819c76a66e82542036f05a37def0a4e7bdc006f19bdf9ceea24c3b484e5f2776631d4f7ade0b6c10bff9cde92ecab483244e77673aba152729d8c6744dad810ef2db9f3a774aad3668e7e84e298626d2897030feef30875dfdd080f38915a86000d8c485c7e5cf2263d71fe33054b28b9692401f02534bc54406ed62e5046dce4ef2b3842eb0fee19721b45899fd80922f4b39789aa9dc7ba79e3d76a82c7d2cc789260ae571ff84c97c15b60a193d4aec8a2bbaa83688b2ed07762eab0b9b4cbdb9c66dcf770398842f0435709041f98a42d6cbd3e67ba9f78ae404abd5dc3918cc0a35d4adae20c4bffd6de8ecc4494da26c51ebc7a7429d691e1615dc4e55b5d5a2c047eeb9936dcd66a086703c2f58cd1244bcdd7c27f42b5abce00bc431e380fb8a53dd296907d06559f6eb8de5cdc90c1239a457da564a685af920301092cdf20b5400d6e111c9bb47727e2d85f91c2ebb470e890bf5b94604629607ee325e22114b7c89076c086f82ff496ddb1ec175dfabd39154f216a7ae19448e1d5282badf4becc80c84b708e7a8940d24803814157e64ecd267c9edb0c6826f188f0aacc00bd4056c119844b04706ddecdc0f5a4983d3086990443b3bf4a3f857bf762674c5a99d86fd789114e2e7088a5ff1fd1238615d0646e65b58845d58222cabd1cae346e1b152bff69c2e82ea2d50d1b74864bb4d0e33583124a0c868b551226f3e9aa7fe3aac724dd045c056c83fd807a4715f57b4b1f2b77e2355faaba8bf597872e2c9292d51055e60052670022f02672b68f38eedb753cc8d63a4ff01b92a07af6dba894573f4a85133fb2bd5c0300134c300464956678e697aade1bd0234fac59e66b4aaf901b51d5d71ef25594ced8ab42a6a2429fff6f3aff88abf7852cc160b6907db5c08605f267d51ebb0379a67c554d0c59262b1c675502adbc244d0e1b0000314b411d0517438c0e5295e5f051817b7acb24269a83a5eff0c81fe319b2f60f4beca5e0737a3c5f82a75d56278d8291da3fd5e8b8b99794d39376de70adfbbc2261823eef367841ff4271fdde69a33e69c28cbaf80ddf66d812a57d214244062fc7d87a9319b8ee28cd7ffedea55f5039ab893f4be3ffab438ebfe7170bb2ee1026bdd1fb1347f41a133dfc23cff4dacd2140d1258c940e42b8397749bb2463dd736fd876ab45a23ae085f0c0f1f1a8c731b76926f5b528f5c90063d9090d5d79af69f7c19ff685616f3a54e516a072c55f40d21b92d38d7930c71595caec6d21219da5a79cc2335178367fc806c58c54c1af34c2f610b2457ada826cfc3f2090e1c7a702862dfabd0be7139dc24781ab6996ffab1016eca3777f806b6365cf16c085b0e184011c17ed31225613df48308251951e50d4aafd6c0774a17ec58f0fa10bb418130fe06e045a66433b85bf51944ac2d754f0865858b571e28b2ffdd5f02a15bd2a3fb82d8e3701affb278e299b3fbd5bf0028e34595526f675cc37d0692ca000d0308beb4ed8656dcf9fd5a3330a9dd84835a56a2056a9a92945a54317f39653d8e8d12203f55590dfe884bd206af3f4b70786b02fb0d62c7702c56190bce4721e617aa14932b977d87545d9fd90e0761c898d90a5cc74b3d168aab233a03740c09bc702967e58fa535f09babc2871fc66211ad1ce675ba39ab5878c9e4098bfe5b9229977cde78017ca102a08e8160288bc503937e9829e2c46c2a5d1aa85111057732c9418f3e94340c2944cf11603cbd1c7290291c7949d53eeb442d69b8b854615ee78f273812b23aa5f83b61764f1d2c36933597e214dd0656b6f1871e9297efe763663e04f7a34e472655f9b908728ebf26029768acc6fea88af0cc7cc84ba20a1a6817d38ad242b4879f584acd8c17c4db8927eaffdf20c175d729ad63608746e3643a244ed010be236fced8a6a04aac49a03d47f1dfa12698b32a8aa16c3ca2487f21f79994f133610de355cf872678104dc5d4909b48e3440f14128be8195ee4104b4baf3004034517e1231d71d2aaa11aac8c5399046170bff791570d07e82c07fb4eed93530755bfb4a8f5a601476fc37522d9a00ef4c0cac6ef5e7276656f64773de1dac5048e700a8c6a9695a29b8683058b73bfb354d65d48a8f3d639c0b965daed0a3c16710a5958e36f2a377d747200929e17a2af165bbbbf95601c3badb09e6e1724670a9e86c67d5835f6211f125435d93669c64c818762b233c47fd73333ffc9eb3199629261453be0b599e5822c1212328356b52849114ad894198bcd0a09d1e85fc63884952903f8de7609e9fb46d640176122c8b874c35ee953150e368addd9abba87d318d3eb86b83d23583d2d9a2a62da18371553f51f034e17ef59e8245140c60d77a9e494830ec7c63ab5835973979b4fab2498b4af6091571da36416553584b92359fa34b0c64c5e370b87944b83375dad6fe6624ba87c8f85e29b79ef1f0da37a1f3347464c720a01959790843f5fdba37af5b38efc11494f48c265f608a3e0296c0f0f9a5fc7a8a4707c8ed586da846bca9562262c5518ba0c1f006905a8013abe186e353192f442fad16bc7ee1d7ee2c3982569b7d1f1c68dd18cfc2f5d3d69ec11565b21173ba8e67ff59a262b3fd0a4cba430d8713c515778220fa8f82471ac61164c77fb826135bc365b86ab11568372b630b6ce840b4178106077c7f2afe0b7ce6fe86251fd60ea6200ed4126413ed4c91414d7df5c0126524ebf09901d1569c8ce6c0398de1e36ae237d956c9f341a0c40d0c9ba0bb8ffaae184738067f6b75e37a0ee0c92422b14163a43e75383101d4177db43eb580bb60989a2a5a167b98505c01ba8c0de36d82107bb2989945ca720e3a9746b47f3422092c6191df436711bbf3040b56824b5d0bca6ebff954504d17e9ac8b2ca32a8fc4e272d6a7ec2c4d148623ff65181b00b52e8a95def2af2d6914e85224b7feec0d70765e734be213844076fd5a07901361fef274c9f2377251ddf6ce757a88775ecacec84da0737cab40b453c20254792e16748bcb1432841b427aafe61daa2da5cb4cab1033a6caa5846663bc39850d9b284fed3791444d354a6d0bc7d5f05488b395b27eac9c2bbf5220b7c5dcb87f5dfc07c20e97dd5ca06e2c374166aed9e35f58633a714bb0bf21a142185bf8a12714a7b3399d45657053190a68535e7c46c7543254b5e6ffd67fe349147a81547f59ca5ecd65af8b350de6f07b28c776d1303bcc06223ede0bf4d9cb65a20cc26830db61b5d581c9fe4adc6866845997d6717af60ead9a4b2426acad773bdeecdc87359c1a0a70bc74d56f968071c657c974317a5f38efb97361fa341a5faf09fd8916a4ccc507400895d44ef408b04b8a97a51a009c9111a3f9d53a02cb29f717946d4aaa7de5c1088746a82d8a201631b65d6c4eb18e92e6a3c7eb6fdc07dcf6804c2b9146f2307c26a687a39df280e916b8f4fdeb387a9b26cc4aa67df5ea71b97c5959009e38635d32eaa28f1833abba3b758d30dd56c20e3b767f9f337ad2c0a85d0b10f2305c5ae9ec28e3888a6d2bc0e50053c666e31db74f811506a61dbe803b4b8c8c0b5fe3f3638804e1cfb4a3c89a2168a80d123b0ce4036a40d0c7004be624965a471544eef76ffcff2b8b642608890620f98986fbef3a4a0545cebbbee4295a3a9ea9f696a79d4368ae680acc693b6889840a3637efd5d720749009821b8f0630d7798e9807d76181bf766a8028684685a37d4c246ce031efcb68c365a439c2fc0d0f3f103c77f5f25ad7f2c1525a99f2125f0a9e3e862a65f0ef22db265d2a58afe1e7c4382683372b80e81d5c3442b24763672decc610d4528ab4e6c232f3b74229d4659a6cb8ea014c9a47bf8124a6c7b63fb5b6ec7cc3e434ba51a3ba6ffaed721fe0c235e267d4c2bd87381726451379b517a791e426765d5f4b69146434b770bfdd71235dfdac7ccd503b6e23ba6435b3c45b55b32c8c1a81b3e9ae201c26267d0493cbce5d7da828204a03f20ef030fb41213b1e3ce820b66dd265c500e245ee0d16a5d5f36b33bb361eb6dce19c1c90116354cd37016e806d2717ed4a6074832e88a4ae6accbe460e5dc8e446e877c5a23b90c99b053f5f3ace49e966e85df0dd3e8f60204c888ca751511e23732b857b5b18cdb354a7169e5607f8e1bda352ed255dca5ba1c648de0429fc232f20a7f898a75290d0e3ae0d91412c27079dcafb220449937c0c179d3fdff5c1f582b2c2cee7a44d89f631e68c7a0456a864c29e6427c54c9dc2824b42a4ff950f72460177a7b07b128831b6c42e5da923a84d85d145372f14af7c5fcb4ef56d777f95d3bf41cf5fca69353454375561bdedb10edc8cae2a3d3e2b8aadbd45a816d75a382ccbaa03e306d39c32201da02a3465e781703144f025c663771fc2c9af761551e684f0f98e6df149b1e51d5a73f9ab13cc80d70ccb7788adfd4e654fa0c1ec406c78698e4a2b1132c5a4f4f11e3b778bc2b0474c4533ea1e09f4702668417d338df960689d6e2f75dc3b4bd9a479efa038faad06f267485b0f64344084afa25f0cb3dcc52cfd152e132702572b9114bc307a2c4746a7e5f52242df59a002010bfe1cc0fe61bc418e821ca31b920a6fbd459a3cf8b9a4ffdef89414c6966a28253428eac0595183240f4b6a405e8f16aa446ff68a74571f8fe29950adaa3f9b5f71c43b7ecc0379c2c1b63f55e5075a320dd85e98548d9960523b25c7b84e0989a17e89e6d6972d2f8e2c8d04988d3fbd12c5731c529523dd6a4aed7cc91b246b60c83e3ba91dd8d9b71be91ab374b2f764ee377fe9347d7241cd9ba54e581c69e6835f9f39199c65876323c264864f7f2c2f001d5f17d5ea6a783e48db51840cfe846c505092e41660201d81502efc91519d7efbdc64276f8e4d51b449bec8978183cfa1e086a48eb31c628bfb2e7c953167cc313aac2ac6a721b0bb89e12b0475b14d63362698bad7e312fe0f587ca545cfe761e29912adfe54d1cbf313915efa079b7d66de5af05c6eb82110064687c035953730dd65f5b5565bde87b8bc1852848486fe230e95fe8ea6bf3aee288e632e617e2f036edeeb7058205201b10a9129a55dc571b06d0c014b2a13c33f4591c66548fc56dc4924c46f29645d4e3c3c2c42dd3a1ef60d2daf80133858dd6b1d46e42ef7b070d92c27e167d105d13fafdd6c2ce42d716c537dc401120b0ae4fa22fa0d205617984129feb27cfee75b4465610e2d413f0ec166760b2de8f300f419d567da568bc3c517cc6b3d31d9e3e12dc28cb4ddf0431a8a268448e2a750e6250a269327b601c869fb8bac66c76545db93b0e73c4421397f91cabceb511a02c96f6c75818abecf0d315eb122e32300496d46d4743296074cced1cf99710910092279120f3371f78826a61290c5f0a0f2c616e61a625a9b4578d7762022e4eb6fb797fa26d74def611141a44715c07530ef492e00370ef28db497cbd1d60cbae0b8367fa59d03e68acdb806c8ac54c99fca38cd217e99eaeda6dce2e5a6296a385ee958f97c4e6e9b698ecb756e98e51b311130d944652f51250420018e19889588106153994092c15a1f3d736aec236271814d9d7e09dc0621f73514b96a108225831a8ca18f3243689c9f6a57912e0808533b4fb0e4483e2492c4560def21329954727f5ee8a20da0b6058602b5222fd06c9ec8d20f587aabd589c3f6a72b127d1d1dade468545bace027019a86096f3f2f2b8e6f50989e57b6cb1c45621565bf6840f13778a28f3ccb8d415c5fe6af9c88452a60ec632f4cee2be0414426dd6a24a5dd902477e5cccf313979e00304902898699a5928f3a9f23a928478c081fe720628b97ce7a1f85ebf37ac562dbc3f2782dc9f6422b25ee13f19157905769510b203dca542a0e1b45938c1899219b3659c9983294ae75630aa8079869e4fcaf39fb01178087d18e021d9dd3722932307e10473ed2f2253d692814332e192c8cf58b2583c1a0e1d7730f913e9fb541f889904cf93f0cd539d676d024d0dd7fb5837d5a51312e76f118d1536821ecf17fb7b400ea6c04413b12b62077015b8a57ed7dcb0be0480f13f9e3378b741e847e2067c985f21563e110e33f4b3791956b88017a96f05b78df798547ad9a6e3270ee1e451bc37d0cd65dae0354e4c551f9e2a344745dc2ee060f21d9703a0458f3c2c0dabbbc76428451f20a81dfe5663c173a7c288732b840e2e2568f7e443821ab0063f83449ba60edc0c4e1bd6c75b504fcdd46968f5ffdbbd2d1cca036c40ac3a0205f4deeb8dc1d711c77e48c4062610311e2a9f261796d66a1046d098f231676c98042fbcc3f40cea2dceace26ba4d5f79090a0ff94f01bf87a88e5642f1f04b64a1cc6e5dc78974abbaf15864d23dc16d76a8f5e31c0fede222aea095366074de38569468703c448c6643acd3cb3abec2ce9368cf4cf63c45ab738a17e8ba98de8aaa8f65ac004a523dd2e133b69276a2081a09ac971acfec0bf78fc33279e48e7db6e05e8fd5f91bc5321b46c478f13b13d612850af4fd0ad0684ec85ae55360c470e0233cbe41b6144dea571fd1111da4b5c656c705e9c669eb59aa74767726ec6fb6269c03a361b84c5e3a7505e6f02c3994074f12a5395932a4f5be81da8a40e53a32887576e43bd9dec9e0a09406abfae9b542638bf4441e9be71dace1f322e2563da699bf656831ab3f9782210b36a4b7c0254b61f037b6134e2dbe9cb5a6f655c12478eeb91c6939ed52eca6da99a2cc3aa1864ce01234269d7002b70efe510ced17ffe6e182eff1f8cf8ff48ce85c6168fbaeebc581ded29fb9ca8e8b0d62733204522a4d59c09ccce08299c9d89d0b02980bbf98be28481bca7a8a3445c43c370093ab1aa40bdae3e834cf82fdab08cc7532303d082d095781edd08e829e41dc593c2a4b85fa542f36ca9aa15814fcd06b8cc2eb63f26350d679896c17ab2b2080c878322d972c40be7db4a8c71ee0f88612d40d458ec0fd3be9c4c93c00e9d1d843cab8f5fd829e722912d2a6fbae5a6f9a8016d7521d64034eae6e58306ce3be956c39ddcfee355074ab61deb92290790aba1aafd265e86177f46aba958360d5282b4c55caf4669663d271182ee21a7b0ab4860e7852b96a86256a4dbe919f3d3d75ac52cb0c0ea3dd9288cb1ef38535405f8668f6e32709e408357817b80672e3f319a3a29c2ba11000759e35259c72dcb03cb92353f5bf710c938444f6c974cc3dfbcf5c29d2dfd64f8c1314f51a5200da5ddf1761caa8380aa5410f177d8868d0fca1deed08e3a4e80d2e7f3326420081a4db921f644e7aa8affb29bb8008973efc7ab42543ad05af55096024109ff038931c3ef29ae0aaf399b56b6288a09e98a22652e9dbe756348c6550c54af5a6d0c2a1e3297e0dbe7f2104a99b6e2d8e55816f5022384d96e955914a6a4c8d738998cf83c8fcad369cbb6d7c790951326030a1ae5ad70354641adecabeab37f97b433b6328ac7b76c4b2170252c0c7573ae3a2154179377a973e428d2feabb1271b113fa345f77ee219c5a514ab03a650aaef84cc36650699c9abbd4787c086f5ba8620c0577db691ce8bea79a23bb20f1d59cf483b650c011b264aa8af4a394e6d52bd914d8418e3d2362985c7a5610a5905d16f618a43f183c1590f87cbbd2d423db88db0a46d7669a839c7264bce9808cc670c520fb35625245d2edcf1a79988d2c350583636f1238d5c250cc26828a9b8f8c069954c486b2199e0d3eed24ec079aecd7b0be170079d693018e6d0fee1ebbe22e230851db7c7caecabd0f9fbd4c076e04fe8bdfdf2986c93d2ad966f825ce3ed39f81d679577c435e249d839c38f3a3a8067ab7860f2e9d44358ea8736ca59e8627640524d7a813c0733180431668921f898e159855a059ae43ee13f0dced31785a4c20bd07928ec1c04ea67acbd5027aba9032774460eddb14c7c23226a4cef10115c72e48cc0c9d1b8d2088e1fc778f0e865c84fe788994ed896f1617048c1d40375d0a7230c78240c45778e8e2ee3c8bfe64da85aa75dac7bb4d88d1ea89db08ba48120cad0d62a5bb2eef6be39111982b20c82ce1719e0b308700f6efe70e8c4a3725d47358b5cb09dbc1ab0fe7237c57185f9073bf27580c0f749404df44c0973bb955e139811a0dc47db98c5733e6509686967c0401ab090ad4366811c918e3a6e573f6dec7fa1e7af250f65b6a137c6398e78bbbeb7c8b87cbeccb2ccaeae365aeb2d556693db840904301a3237ce75aca2dac9d194b47420e29cf5d3a9ce468ce82a91362fa4fd86edd55da036030e014d8b4591b625096e6451807a2e6d8f84f568256fed4def847d30d85ee7e24afa0c9ee571b4cc598ff0696fc2c77823440f84a0a84f27a0bc1b9192c83d1c74a4660599de5225a6d744c007fef729d8ab76fc690307113de162077c024b21f86528329d1aeac52203e2345297f34f015b4548cad689ef2b4d718beef66ba0ca8f671041a5f55b516ee0f6d6781611af21c184f1288055c9404bbaeff0991a96c5bb0f176adfd7e56e8da4b61773f82dd5fcfccbe1c59c391827bf7d48968899c906e641a81dcb7047bbf0af7d802a922efde07b1701b8c49344055354b0eed0fb7bc155f99de4c88d23f05d658cd3d5f3fb10a226448ced3ebdc334dc552a9dcf312e21f121096ceec0f17900df208d9de76f506b67312a180729261b5065821d7b1614c6464c134ccc917b671eeb4be89f3afadc8709d2aa776dab153c001053361914761944aa31d0972bcfeda9725c156118c8955a21a9f87caac04e48a94e66afc2481fcc136aa5a71b2f5b8015a92f6ff32b03e0d5c0b7f58b925bd5954147e50437f07b02fb23c208878308b37296b5928289ce6ee01c13e80289cf5ab158ff57ec0bb4d724851653e04883f4bada5024b8ab36b55f49bf8c000d992a90fe0d5713879080822048edb5c2545ff1caa2f905f2de1015858e883e3003379c7bd89245b032618801a90446dd5ea897ed24c8df05510a04d95ffae03abb06f7ce089f1825ae22bdd7f4cfc8f3f1a0c6460920719be338008236489446b71853667be7e03968aeea926c8333455406d7f490180a5f1244ed3d2eff90e942c453bf1e91d0a7f5e023c08137dcf5b55f6840cadb445100a53514987844ad70aeb0c1ec54b80cb2d6a3e5921fe556217e5e7e524938bf0ceba6cc88ace7e18557fcee1a630c8c83c744b8e7b107a428ec02adc88ccca98e08f7f69fc96bf17bd93a655976f294475c75383db82df8edcc43851bcc0ab298eaf7da01d1dd43553873849986c7054ee46a1e680f4d74e92cdc7ce49923f04fc7c855dce2d3ae706f54ce854668b7ea38297ed5f8e0a5a457aa0bb171b114c4dc70112edde26403661c2ca8d7cecc8283e87be89a9c17f90e98ae1b0b989906df4a32507b606fa6f910aa0ba027d1f8f85bc15254947a930e8ab1427290e8785d2bf58cec8b39301d130bc89266942931a1a6d2e442f9be423dc12d38d663410e7a3d0c6632213dda90618aea72d20ba07b8ea8d8f2a31885c134c68a700c0c43c1cbb75d7b1f3e9814a3e313513bd960f66c4ba5724f91449b3d8f2219953ae313883d419207a7664140a9c81a81a369a04838d904b9ac01be992456d4d88433e62d904c6206fc90e42a431b95cb068b919a6ac4be55f68668deac7cefd2832b2cd2825776a900ebe2c8d71135f71431255eabf7ba8db6c11959ccd469a5aa38f9c5bd2058772ff9142184846b2715807cde9e778c12b5434efd41901556232b07025c5540eb8df997e7d4e10adb6d2b4f7161aa8dc4b42eb8f3a44240fc45e863d5a7ce20b4822eda44d5ccee8b695469bbcd8a44d24cd8c30242dbd2f2e6184eba88f935663a83cbfd48dc426695ae6fae9010010bf99ae33d64889ec898cdc3200d9874d3aa3d97a4c4e55a6c0afcce092139e7929c9c8996894cd08226a0bba8ba184a90f4c714e606f8c7ec8e97f97bd8552d0aaf4449853873df4302f33aff2e40dc5ef6b2988e213da0d6ec1379c3a41931193835f49f1aab849c22d1f3e8b268798f15d89a0770cfa112e3643a7bbd9e11bae53b33c6d4a505c86731190ac687fb7779238fd8ac05aa89383a96640c97d600752eb0d7877a43ca4ce55c9c933c39ca821d2d2c389476220e4a1d771d6a2921139fc858b8f43d4bf33875e14ea600114f5c237a9fb6e4aed6eb11262465b6059b75e317d9314e5f7eb877a0ef7b0e9d36aa94389602da07658a1e17ac007edcd382c71ade685a76ae6b975ae9989ff7afca167b988fd20d8fc7f9118fec4dd1bd833404de5eff32a5dd27bd6307cda3f24996a9172214386e45d54c5e3ca56c432e2fd12d0fd1ea4ec4c28d7493e457df47b02b878715b06af4e92231cea4e276c6606d620bd3cae6dc5bfdaa88fae80d82d86551b0dd5d6b4edeab515ca32e074f28b7b20836e3283d79bef5e79b9f7779bda5227115ac26d49a4e58321370610a75bca191a97adae7d2b600c288f2b8a99161a6f53fe9552002ebdd596f349d16b37d5ab7091ee3cd12316d2e5a1828d707984b493e89589e0fe6b2391878915cf86b72f83ad7fa0ae1b64ed14c997bdeed259b54785157527f38196cac18092e909078b60e323910ee13d6d2c029d512187a89625002c00a7350f433a3a6bd61590ab17ed819f027b80411924ac8127cdd1ca3474e8191a971aed9b2b02e0ff657f852483a899ffbe961b146524bfb264f0bf73de3527f3471ede4c394ace3af5508c5d561793aaee313b50373a7240f0a4e13e2931f557b818a3089559d73c38299b90ff5320438c2ee8b2c5ef642c44450145d25e725c271bc8c037a3642eac7f3a8f8d87697b20b92eb9c8038505fccf02262a4ed375b1e738700f7f60a2113d7892121d8e371c66a07a03875c008934b30750dea7872ee3686f1dd83face11dd187a987727e44c58bb57324e0efd4e517b0b0339a8227219df9c82520966824d0180f1408dea3b7d54ac318f7fddf3f68dd438328e0b47a78cbc5751fcdcc80bb46a3bb9fb7f7bc7a9f323b251d13c97b0adeb291de3f171911e2758bc2738989faf278280e98c3b19e12f6a00230ceea07b87b4386a05bed4238813345c6382b340d7305bfc0cddf643aa758f4c5658167bb893b1606153d29eea05c263bc32a311f96cc9d96c2e72c4c96c4f78c24e8b3b3321e8416fe93452a76057e99fad0943b8965b9c4d11a32ca1e3c15db59638cefa36067bfc7fd102c214f87277f459b6140ca9087fac8ea2b1ffbfe40a4a1a7f946a51e08501323faa619649e0fd1b994c536d70c36d095243bec892dd9ffe9dbdc9af4dd468cc782016c601bf5fc207024ea03fb376f7f741134fa2a71175988a5080cdda04551e256cf0dc614336779607e8c2bf5f34ec429c0234c60fa55f95d24aefbd259cc1062d9ec18bec3f093ff73a27e756a71d6827b1cf7a0a0dee595ab4eca5588e9bfa7ccd1944f8af8336997bd7f9330afbdebc7f4ad77dbd3c478f426805690bc079fbef73ec25479dbb1f024dde9b154d129a14e788e80601620967e7713e80e656ab0cee341f9bb368a33e01929c107719dced968b9a330208f69a2901cea25e53276fa986e7c388e3e3aa78ffc6b5200781f2ee7ff429ec51b0e9392b3c6e165f2119562b28d93d0ace84da50cb68151dc0f6946befb52e71f85971f56fa586c325c8fac8d487980c237be4efd4a0bd23bb442250b95132405a5b8083ce567a2e889b785eff19ef51e7ca851fbc573130c6a8af233b17b8362251092eac3ed358742005d9f89c092e90dba74dc0f29288b10a5f840d90762aa5bb5f5ae7a1e83aae2abefea72d66aa02aa5fdeff1119852405974f6fbb5cfc0d147427e265ceff34567dcf2f4dd9e8d37663c221c4c1d32283d194150338c5010d06657415e206c2a64f5be11b0a43772d43d100259d39858c4fe78472730153c12f2a1809a24d6f7a87954839819e635a2ce460fe76c0f9763b539b1e64d239d3675f27e751d7a1120703b2ab9a375684fc5fb177ae9dbf4b401f014f75fc7a070c8440d690bb132ecd34948c2265c85c30c91b0ab77334f1926c2b6b9bbde63e88124b82c8544b4f4f364835c75925cae8cbe86b6033020e53cb846bce397fbd802afc0afa80bd2bbaaeae0b857acbbfddd2104f57aefd7a9a01275152a2cbe03b647461d4eb317c9a8391c79d0e12473510708c8bb5957b40800b160dec9fba5d101d8801c7b792c78daa0c899c3d8128f9fb272d577283430ce0e27a76c1b4e0379c79ac67d74856b0de48b9fe8de7fb1cef48a7fbb1cf1ad5b2d5659617e9023ae4d1fc64a72797a5aff10377a2a275513ac16a9f466e70989e1c7c48ed43f60dba8d51cda9e62b1114004673805561f9897d1d71e57ee7e4231b3f3ce2c6d3dfc141af7e5db880ca77961f38bad4bf0bc045e5c622a3580ec69949717c241eb2be9f2a5f39158ef40d7f54de9c22ae40ecfd4aaffc26990cfc03d9cf20c2b9cebff363e4d860e699a6421ed6d9495a9805587db43263c012355d0e8aa20a25384072750faf6e75180d9136867f509c839193a8ccc8559ddabefb112771c263720f4371fd1f15104393e6bcca02d691e5b75d32665acbe6a44f95c440e51b5b4c19ea01a992d9ccc9f1ab50014aaf14e2c30d3ff7f126f93a5b17bcb7adf25b2432948a7317e6fdea16d766cf7801a82296c3a4b57e14eb89857a7505a28c20b3b685d6fc4585f271876d1f9b70968bc11b372eb48f221a309c9ab5e57ff388dbc354dc776b04646565ec524674056599086b4ff4dba2a6bb8ce2d8892ac60e4171d332b5759def6d22e17adb6719e550b29fc623e939cb677c3d236879a63b18e2cadaef0630ec0ea854ebb8d322e73c3d6c46f03ed03ab5854d1e70f679b407f8b087e5c49b7e27c089672536fa1e75b081abeac79757de864a77253fcf153c07593e0c3bf825c2d037205b06393f2b895439fcf12166eea29797b3f16a0e45c05c361b78733c915f858860b682c302d1f871da65c617ab632dc31ede004d783a2b2b91516ff0e3e778ddc8c2e5416e3ecc65ca7668ae85a046a96295c8965b1371a761eb62b19ba5362e8b401f00753285ac11f8ea9c22aa70a3733153d92499a129403f18f334136c1de8d63babd50193f22fb7fc1743b2b7ec0d1ab690c49f5967f24d3c12d70a694922fdb1ba39611ba187b3fd4b5aaf8bbed1a8cdbca8985f234e8b550453397dc42f92e6070a6386cd05cea5c5cd05ca723059b3d263f92e4dbbb6a5ae999dc41099eaa35343bf1bd91046dc1d3c9de5fd31052f4dd37db72edce4539f0e0a8f1df47b022df07765faabcdfbec2c208b9ec11c5348eeedc4c1a8effc7e993077840a721b36f0356cfc974ee7f58b16fa8675239d0061636c4fddacfe9414018c4e372603fed72817d4e9fa92b3dd01929e2a67a44c9d0f539e0b94853d5ee0ceadfd2b3a55b29c215be0204b6cb3638bd9e0f6901cfa4c8b3dcdb90823d56ac85a28d572cbcb90f0b9559e6d804211b7a359207c869ec086555e2fe2adc39e0b4b465c2756eff4b968bf7fc5c1dabb0b0708b367583a99bd57703b1b567d7c9eb8b10754f2f6c34daccf91048ebbb1eee5ddc808e8182effba5b13acee6639d4650b7bd26c977892a91c49d9540ef64f753c099d049132579525e2c3b52610e081c1c42ddb700492b7dbee031a5fa2ce522d1e0620d5117ac4e4909a81606bdb4276facd224bf1c4150630826dfa32058d675437a9e5cc5834182e7711a35ccc7a8f1d945114c9e625fb660e09fc8956bf7fcbcd52da9ab7cee9f899f5597a197c8df850e2ebafb48dab125a0ba2a3082c4c13ef8386e8cbe7398fe1fe5eae233a6ba3e3fd8dd7e010376929e8fc7d4391647dccf1c9c142bd9e1fa574fc06e4d6300c66e533582482cf2be88c11ed28b01978f0ba9e6c400b1a92c792dcb46c2296a9824da2751d5a6e5cdc8671aee75e4902e4f39264183fe356e50576295d633638c89c14a8c50c4d65efb0d2f966001307a95f44dfa5ffb602b68f6d90f75882af729de8852fafd4f07afc7390375f05d9d2ec9df4922c9368a4a35b340ce40cfa741b1187d62833834a4689d90e4557006602b5c791d06be93aafd59d732d5ef0a2a41c1a93696ce3544453cc4cb757dccae12f64c931efa2fc0bd3a557f844f3f4b117c31728c756e22afef5386fb30ea32904f625f2dd75d2e0261bf746151ae23a74c07c5e4f10ac345b1104c1339baa3eb79aab22749ce309e779fd750d8ec209988697ae1c76a08b6b6c459a1cc172a802e290494de59b27e011be1105b91cbaa9d58bc86e7812d8a81d1a58f407f4af899b1529baeb66384315a9d2b7ae101a35dd4dfd44975917e42ca69bf029428bea47674e6f5b8fbfb728baa56f0587401394ed90782d4cf7caf13c3a32583d0bdf84c09e79de004488dc7a7907cc6e48abd543b271baa07b0bcf1a0fbc82f1ac7e1b3bfd321875319692908e783ad34fdc751b9914fa2c80d6543dbc305ee9204f38ddc7a8af6cc1057ca06940b2bf79c77dbab09709fbd78943909c11123a2a2546bc38fac4e10c8bbfdae1eff5e1dea4d8b75db29f4bee0c9d1db6af2d29ba6e167a80bd45125dc449d8ac1299cd7ef0baccd5a46c542715b7f0818637997fefe2dada15cd84b4640435fc779e25348927a6b78d55acb0ca9505d2c0c672affb961b3e001df0256b9ff98044d4feef3bc1c986903bf413f3e677988c2408e494472f722c44e193a14bfaef7a9ef14edd02219ab23d6caac632793bac9cd5af9e56b2b0e6ba6294ad718976d3b5f01f98847e4a2c47c5def1345448492023cb50c29818f2c241456e109a42fe3ee00d7fa89dd7fd36c715ac75e7cb45f13ae4d906e4b57c506dde8c61c664430bbf28106e34f996d5adea1512395e32c6f052577ce97ca05959e874e88aa32352d5f7acd44e632d5538cc81918abbec7221f0dc06cb9fd8683740a347394019c6016e47b49dc50c3c7025d2c565d6221e311c9a63e4cd6301540e06718e2e0c750c2173da056cb3cfea78f4e188c52c500e82fbffe004f7f2bbca2e8c4dc82f4beb10ea4fc87fef8bece5f6715dea5fde9c17df1b33725c2ceb6275b3b13e731e868a8f932ddc4eccb6aad047ebc1778e786e8433c1f7f511f2a36d85d1060232ffc223507ca56c5a22ea2395a846ab18a330f2fdb6214844fdeef7feed0c277d464a6dec7ad75cba972b38ab92fbc48fb3e39117925611ac00f2523319b400df656cd0358ea7b2e2c5a55f9e8400eb838a29854a5db86abb3a1c21a900157292450fd1bf8919cc0f03e5eef6365a264ef6393044ef81fbef9fcc002de4342efa1f9aa4307eaeac345c4d5c4579fe5bec360dd183c1aeda1175e7dc1dc7d7c6c9e2b4c0c19178171004dc4df04795a68455f64c53b244a24a67884dd2379d0441a260af2c3cafd945a2b347b7470055cfd448ecf0785564c1cfc94ce944130f95b4ad013eaadbc0d987dcb86fde71bf17e44270d999b29e10236eda7473c8e64f07b1f7f63ad6cc404c59cb198283f7e55711523f5aba267b142770b2efb5c5df8b4eaf1e281747c7c244f747a603fc179a253dda5ea9a7fed7c59524a77f5eb7a31105c53199f61d406a0064f423427b12fa9e7dc2d19105c15544107f535496e61b73014c26d6b868e0639b9003b2772bd576e63d063a933836df85dc2dcbb5107123bcea1ec7a52f43ffb9e41ce58c564c5445e17d2e03ce7c278536cbdc11f7cfc888114d0294e85ecbe922a6558a0035495c9f0f20664f252fbd4bfbafdae06373b2e688412e9d0bdc1ebc2aeb80678940b70157b02a5640ff1ca7740a8cad3fc086fdac5fce37af61aebfbaef3f32d5cc914eaede68e2c6674211d25465be9976b34e4f299c52238a94cf3046ccd0370a21fde33de851e072cbe9849aae4d95815a5fabc37a221d0ff9d0ad8872afdb79a80251e82e4f2301ade4ec61cb0700c62239ae49bc1db4968abdb1e1629979023fc81c7ef638682da96c6985d5ce873260dea09b51446f9f78ce8727d1132856615541b7ea8927ce76603b42559f36bddec3cb1848eb833acdc23b9cba9923805bdc36e4c329197d267f9129495d08b00576be68c957eebfefba054825e02ddd89261b434fd76486214f40aba70cd408e339d7200f5e6a1447a045ec5b2188bbd73c981223de115cc622cb6274a1f8af48457305990bf13a380f424dc30c0cd7519c89623f4bef4f1764959897b1370b921f391474e5f3be86fa6563c2a412f012baeb3dee8cd628b38d5ce4725e82568c5ddda2876e3763e94a057a055ee16a3d81b97f9f8043d8156b55b8d626c5cce8712f40eb4ca6e652431ae14c4330bd4cd4727ea05b0da1d16464bc554a2f9ab40cff02aab2572a563d9b9ea51a1dec1156e8dd18df125c4843ae1d8443d00adb45b66a4584b6c2858ccf3158432fc61be90ea801610f83205bd0a0c2b9c4891b4650c260966360f4bfad6613eb4545ebed4569628b1d0af95d1962328cfaec0d9274c28a083174dbeb1416ddffa0c1d7e698cef5a3dee608d21243c7f9080293a622736530c73310672a9257959826ccc806e03251f6efa4c9644df8989d27f5d73e7b2cb48beba0e5203c65bdbec76eab8ba2dbaff4aea2f2ac7b72b3a1d1db00b665933d3aa8dbc75663d7bf767af3f0344d02aca78a165969f8a1b82dbbce6353ffc8b485dc645133f3971978db640104518ec15a8957ad4a9595bcb05fa0093838eff8b8f79fa5d9fb5002d38f844ab3d00a61016cd8675abf5b3a0e69ab014c583d53765db7afc3b36a896523f861e93949219986f53c4821962f77d45203d87824d42dee93c4b3581149f94c40a3786dc7c46a3d27bfff0c0103b2726fb7ba65e1b588064d3aa7c56c332c0ade1f98bad506714d6b63da80db25852a235af94f361a216f08e1bf3e0d71df09bd4c5c5d7debb31f88c6b60d0672b205234a98b3e44bef09b52f35863ddd1b2126e8e0c873136512f9d701069b34380e19228dc945c02f358eb1c2c84459395c6c03e073ebf997ebae28d579f6fcf63c036ea16a13cab504f3ed2658e4f32906892ca6a83f00cdb3ff8c4a87498e9cf92f6f30fa62bbedfd1081c1f16c0bc56e4f8f41a9ecade60502d3648cc5f349e5e755734b7ce42484b89b2b64cfa00d642696f34680390b8ed43610eb11922b375c8efb0dc963069e7e24d3ba02bff03a1f45401fbfd39b347ea8a027adf33a7d3c1b17edcd3c98cbdb6cec58ddaeb5ef52e76eb432f913d18b9291877d2921c55abe88c340fb29098ca8ff39562f567b5503d12e4b2946b9c27a1644c81d921019402f0d017b349d6e146804c2d15c70a567356da2cfb8f95ad7d9e0fd4eae530d1008741498f829b72b9080ec719aa369de020d0f5e1ed079f3ff594d0bc4eb28eb2c892aafa1989c2902d7144a07957ce8e8d667042a705d112df08e8da52264613a05f0f4650494b1008e3f528b939fd808ede21741bd05beb282c5736c64965952a05b328a408f5740f53924ce7308f9f891f5edb225d9d9dd17be2f80a201a3efc684cb3edd8ac341a753aa7f84848bc40b54325b4eec076c20785cf5f88548f55a4a7ab81af5ddf2ee8e23600aae9cff3b134a38f35aa88b462035990b198508d1535a01d5c83bd7c920a100e8135cba69535f30db830a9fec5d86cd065510e65826167b12ff3673c7e693ed0088cf771dfdadafc8c7899a05dbd44c18838700060610484a71500faa9c8353eaeae6763a179602fa8f2586f7ffe402170a51f932c1841e60ac56c49ce824feb07d60a7d4220f6c73c6d28db57b1ecc77c9a51da6f94ec9be52eb1a432f1fc8431f64eaf1a47dc21fa05a35e0dd4bc8d7d8ef6c9ecff706e0547018c8b767afebc3ef2d2c11a74a167c474191350a7be109b359eb48cddc0571458ee128ef0d50034704960a17046e67c396fe5331816ab84b619bcdb23f6ce79d4cddc014f4deaa33b37ce3e28393beb1de57b9c76ffdfee34f5b3101dc03b7126e29b9b21defb69d451f6801353e5b4b950264f95f3e2cda5e647951d40fc868e29e707ecf1aac4896ea8f9126438de18205a8f30ab19a58a08987d63114f8f211b87405980af8bec99646c48bd4dd2439f88558b60fcc052acaac8883f9a4cdc007940897beca0e92201c465a8c7a2844dbce8cc8427463c46a6d7ac8b5957c37c9f73be8801f96abdd1712846d49457552e23bf8801167d21cad92606dae9a283800d555dc4a0aade8b28c547143c423e2eae72d71e60290abaf600031a03a373144f0742dadbba13a1808416b92baf3fa68969874db5e79827f6b4b47de44a8bb69e19d4e6a30c816e6c2a3537bf67112d0f830e0895cbb85e8768e9db7f620c7864e59dca40442ba15c9d11e38f4e0b46da8cf9aa03f56e10f239263553f99153abbe3a24c4aaf7a470d95b69aa2549bad5eae2f45e61803f38aa4f2f1f349e8ed713538b3c204255750311ac3c14b0cf2488388f022684f98e623a09aa28efa13cc1014116948c16f3a81d084282ab1a58a016d8b162c57dc670061a145a1a63c8414790d13ead3037f4d9f0d20ce42092ad91430b13e735a150c17087e047fb13a28c03b22f23bb225b118ee16c510900733cc0e6c6a5f59136687a3c2cd8d633902ac7eb3083c44c1d59136a8877b1dd53d1e7e09517c82f865611ecfa6381f686b8edd30c4623710643241967b0055cac588c56e2620d1b1c598768b28e5b47bef3e00e477ff8e7fb0a646917af0aacb2aae4d74a26d6ce442e1daec56e1de34e1671d39f54205aab14a318f4115407234aa8d10e1a394a93380e1f5ffc9061c07f495030243b864626a6706ae65954d85c20f83608a2b925b5dfc2375b16f26dd8dc6898dd2f50a9662ff326863872435ffdcb17168d93c261630659d3a1d3afe7023687511073f067c47908a722f170211c3c03e3600d940b500dd5b3729bad1c21098a06cdc5b79705b38d3609752d4a098199359ca5c0734981411a9318b87a1f3856fda80a70a6dced1da48002aeb1ab9a2d4dabd2b449285365c0567d735f90206bf604642828d505ee49dc9376f0457d50a6e87fee1856c52460ea91241d67a494d57146689c843a76ccba556e89f9e5c6c0d232919414d5f86c42277f338643fff8d16ac71d1c5cb9d8befa5800351257f89986456529cc09ee0439da0bd49d75307d2fed21b31281bbc10b8a89a644409b445c1fcf433a5364cb4a9a62796a78604d4035f24190f84a40caea98312c7c9ac50ff19a62c113f64b50f7ab9831137067536d632fa0774344660511433cea8833368d614644c3c484dfc1464d3f5241883dbb1152e7e99654f805cc41a076e9bfa61d34a846a37ef8e3f2a7eb7e8777fd42b192c53fa383839b067aa8b9663ed1d87d8152ec3bd7ba9ec414414f81c3d594aab147ffb27eb3f367b8e530692e487fe484a5b93236dba02b72a6fc4a7f805c46c90e0ad6aacd52b8a2c18a6c22ebd8185b29ae969849c82b58e28f20dd6e49161c3af86f2f382c3225d37d98a407cad3e64091cc6c0e999fbc19e97e70663c6aa47eec0a64b68513421e845436449f80f3e78f000ed80610453f0f9944c7e18900919d7780c87165c300fcb670255b149f304f10c2099a6f344fc11c24cf8dd31eec54e444d1ab169fcb35cc9fe38218891b4a5e19f8d6cd86b87439bb935b4bc994a02172280d75fca6eafaa24cb4a5dc5d2e09ef723b18de77ee4c0785504209f004c1dd6057e245ea4ef5b4a084da19771b8f8f4dd323264be0daed1496973c7dadf6348437e122f88ae0315d500f3dbcef1e13e9d5cc1f3c9a16dfcc2ffe7cd8bdfda0360deacfd0a9bf468d936c7011a450127ee8ab8594f1fd92e9a1469c636268b469048c8ef3519e1e5098607e2060dd06b051f0b780f0bca41261fe4a898d36ea1533ec780f91c8f9933055bfa2721ff6bd9d411d1a035522ec122b76becc3aa0852ff9d4a9f1db53f136e08144bf828044a699855b6d63d029cd4ffc1e90c6e0cbe71c6cded593083a7f001a374e041af4bc6ba991172a79e59277435d820bd914a2c78fca0789867b02101c0386855ffd173905b7f1b4bb30da043697a81f25e01c18bd67440f6af347915336d80c0097342908783ce014ae71c2aaa38bc2352f5f76e7c2e7e08318e0321d05532cfd27811d93583e6f9ed8219aba4128a9295e3db1718a48c32be8aec587af290a1b11ffc47ac44cfceb7fcdbe6b0753159baa3ae2f75fcb986de5a18803de81a8d589cf37ad511794b2969d0473ace332547ed98e4e2f46d140ec414e873531581daee78280ee0db87c26be1fb9cafcc3226d16bc06422f8d86020599700aca8001ea71fabbb9b535f1e15dab42a9894e8ce240cdfe3328eba0e961dcfdd4587155ccfc1bdd544ebdae375f975f9b3e15c5687a86ea5042740421ebb8726d6f448248ddacf1b060e7373636c74a4d18d245b00f0ba83198ca1660866c6c516da8cc49554c4ba553219194c760c4a425a3a5a901c1d206935760f78483008d1a22eee37fd2948a08d27f92a402281b1993d2c166c50b05f60527996df9c4027e008ad19072223be833c65938bec1dd1f4587ecfe138784a8066262cb9b0a7bf0587a4e83f134c9dc5720f273accf2d14971e9b391d0994500c99d3916dec851dac7e38043ead2104929204e26e36f442fb7f6f827fcb592bb46774712b7d562d42e7c3e3cfff43813c7779eef4fafd810934856ee0b4f7aae01df663544237aef92d6d616d91a39e9eca28025552b47ef4deeb7dab923cb79b0778dd74a5dc3ce407179838200ea3e750ed3c4ff8198b3ef673a6f7d0f0add6560945604d6a441069ad0c9afc18149a7255ce1e599f8b5f62c1d6b21cbbdc05a3c966cd0262f36d0fad7d7a27be02ff01ebabb0cf7effb4c4b6389b2a32cc3a83a2772fba24eb9ede6fe85d5875eed568574d5902b27019ce164e695581695b96be1eb5646a32218184749c8edb70739d193c8f4bef21ea217f92a02910f9865476700824a7b555fabfcdbc1b7d8a46bebbd2ff5477853b4ce8676e25966c18241ecd14c5012995ce1dd1c0f7a6c1cfb0074efb6f13ce1044f20845024341cb1a3b7629d5a8114a1f4b75574ef23ba9b0b818bd8257b425d956a21c4eadbd82f01d98bc031613db357f894b2ab5ffaaa7919a4f40f1d53f0dbf10a9d0c679d641148a20d201a5681f5ab1a2506c8eb982ece597141600d8e6a2512e6e5fa1d06cba43f3c74472b10145c807e57b1a1ffd4852c8c61a8f188f97af7c690d0a9e1d79d6bf680c9a70048a1733604c9cf1c60fc8dce2eb5dc74dcc7d5389a138a88682d08a0bf05b02305d2271e2c9151a3a6db19cb08e3c10997a65e330f63d953284b768deb80774a93b0e1a6bc7d4a2b1b926dd7b5dd2ce9708455f9acf9d813d38c797b07fb040f6f83a65506e44e3d7809085eacfd70c96ecdd43340a613e689c52b49003833e72e045e7c6fb4a9371efc3a11a457d2528f6ac98ab4154194817f2b52a95ac21c8ab61fedafce123044e0057fc693e8fdb5f9d997f2166f6f771e956b6a38dbfa566daa456269a9ead1a0f5d35a113f7fcd58f33c33156ab4160ecf9ddaf156cb8fe41b01fc0309cd1cced8f3a0adef5951a49ca2d070a88adbf0e054ac43b93139308aa600864aff8706147b228796309dddaf2a1f68befb8c34208980995e293daa5f72a123fb373f1a1490d3bc79b2b603024164e794ae3ae9a35c924ac52004a9f834c850fbea0ef5236207ff38b063eec7b1e4bc87fa5d8f420438447dbd8479e054dc333c385d04783048da4010b4f92eb93267ab8f914055324c4cf5a6f581ef0127ea7d2ad250b9ccfb07617d4d3a10e5667a2bbe87631e95eaf73431630387e633435c402c017506604edc9e8c37c4b796ed00c662ff9471ae6da09b4f8dab6a34251e1a00d44bbacfdf55f65732f22b01ce722fae568065de45b35507704d622a7783027e5be06773414a0ee0caf68c9f8e55028cbd1147929204cc9d5283a2c0f029db02563d8de9520b4484aef9a1a628408a490bf365ab049a8843a0c149fcf5641c468dfb6b6ad067022d1d89427a530a5b8e6ad107f0ebe19dea9bb46693627eaf6b83bcbdec5f020c9a0b0d2e45f26a2c8cd34146d4e6d92735731f21a425911f51e44a3886a32dad0b39cf8115b215bc0147dd80ad086ad56e4f20b3d1bae64d40a5883962ad457351e8166c94d43bd2b3a4c44025fd5a3ddfb1f1b721f4707652784655425701ab4004b3ed8013c4e506241345fc1853a0e43d4c9f79566e849d450f931d165ac4f13ac6f0db2d09ecb0f2f483e5b1fd63b5960df57fe43d505abed2e26a87702ab79c4805a0814865cefe40ec43de3c43153c8a44352027118bb9d16e8d214867161e3d40fceb2fcb029b5a968e7a01cec933380c34032e0ccf0cd5bdd341d41e40de7d8ad83be2f67b080b906c6e9c782b73aeb15e4aa7f2172c33ab3c2cbe8b7ab19edd715451dfb5df8b52ecb278c8357a79158a5612d0748a8d0001ffd9bce7ebcaac902df424cc64200ca729e01cf005a8e79007c46bcedd594975090ffcb8a78442ea16ce91a096a00f34a8f54732ef0cc2890bf9381b1fad286eaabbaba295d0625312e12b3c5358d7bb6aed6fa1b386a138294faa77d3e22aa9f1a68ec35eb6a3f7593d43d9d242223409e957032ed2cb4be064e5619972662c26e2657a0b8b042fd840ec223e4bde6fbd453953be1bb12b818eb02b15e1d9b1c06bd74bbf7679ef2c00981a3d0846836568bd5ce19a37d806706024b159601460da84d042839f0d4599a5df411fc0a86ec384e64d1f566f8a7e7bd0eb5dfa6176cdc0e5c17d58a9e660a506ec67e7394454990e22a26da20d58a3bcd47e064013cb4114dfd07167ae047a1c05d974bc68900789eb56b591a61e4bf05fffeb20ac8cafcc31b0371cd42c014e20e52b4c031cf70dd89b9ee7d2db61d408bece82635a33bfea833e3ac06d822d38c14f701382b9078c9b94dba122be1a7633536dfdf6e4904e957d474706769978211493fa8024b971e9f3c3dfd76fdd02a1a8ba005940a3917bd3e433bc5f212bd83b41d6d48c03e130cc0cf6c0b253817fc699fa3a9e106a8bd0f250a5377bf8fc5d311f15a7525c1f4fd7ead9f6f02dc8683693864153e2759a2949780e54b7064248e79d072e22425095597d2e6b8cc637bde7998fba06eb1f789c83bc964397ab447d0e09a09dde36db9a1f59b438f3dcc44c83398bc330229e465abb171cbbb71ea3362ec6852173761f233b2022520612628712f843f9566bf0fa2d50511978e316ced0dfd0d7965f61100f471242f77601e049c67e8f574658cd08524adcecd71346dadc9be45c92bf634f581b7af7fe9b037cbdfc9006ffd929ee2eee4365625f6e4de54230acd9fdcfbd9aa5bc441112390f4c0089c8ceb7f008b0f002b630baab870c84112f7a7870558b5fc21380b9a182a54507972c803edb4b6e0d0997e6bd0b5b2721f020d4d5979f3296f37c00810588618a97a06fb66eda599b82c6908f8edd2f0139188bc22ef080d576e05b6e83114e34d8b11387f78c3d990ada169bc531ea1fc04cd2172774a4cb977a12439052a932f9dcfc363fe0ae5ec423019bed69076132e6398c2493147e8e6c7ce2c54ae2382e55ee890a78a202193d8c54e18a3d05f6af272a0661aa02a4b276d42c4245e0aa67477788c7fc3434038949bda258cca0d9cd328605f90efcd57e5387d0488235a78801914982cad341cb959a6521654ba75f7afc966207146007f81b6a65e1d5ec18fe4523e621092b2ba014393fe1a6d8cb63e925f92beec8839065d078a9b0d0cdb41f383361b997fac6ae5e9a6b9291f0c296850d3e561a66ea0a5c3f4eb89617542128162c58e1aecaaabf11b5dde4d624a2f1e511b209e888454d97488ce52c279abd76aae1e2888eddfd0f8274dc0332e72e298bbba3aed0e1d0df9dd477a067c08a537c53fa70c431318e60e2c934253b3485a39d169c8c291656af031761818ad2e4accea6a8e669eaed5a020d4346dcca269d58c0e4d2ead0a34da70c4958b0685e8b9aced9c7453eb67aaaf3ca6ddce39f2d9f5cad033dbc17d6d91d88b1475ae69ca0dccaf9bc35292b9a6151f82f6b78167e7aba02ac3353ce9980220569f0c1fe491e2893d17e865beb536f631b55520e208f38f93f7e4cc6ddb5d1f1711e66e5d7dccb3c29fc778d12021eeb4acdfd0bf819c3c86a514d3c4add894461d1bd07829ee2a9a941c5448796a0170d746cc7b88d90182ff2396982131da1a589a98513bf30539ba206b34d0169a92a98e4b4d70582a35dc68ee71b5ad49f6dc1057a4cb3cf92a6b79a887ca114c2775bf4662f2881e3093d8e0188f69d8e7967d10d743a7aed4ff0f30efee5859804ac0372280ccd988d4e4059f5084393f8e12aa61fd09d07884926bd43d0ed7275688dcfc5aab1280e4f53dd1e7690ff636cfe627ee3b19fa091666d234fd275f5cada39f0e9120ea0f3572a9eb07d1058915f534b696e2bcd7dc19cceed31d5e27648a5daf181c3e3458c140a3dbbc922c90a782bef6f2a5a0cbbfc9d06f58fa2bcd97e65ce81837c4588c2a7669359eed4b52020b929971dd4d6b8ffae9ec6523b3fc7636b7d217e6a57eaa7322558b488d6de0b1291419cd392f8ac1228b5bf550e000c7a24c4ab8f04d785264c594a4d1e781ab6b4455ba562ec83bfb34ae271eee029112aabe90aaefb69a670d429350047b099a5103c831a9ec3040e2ee59141e8679617a0f3269a3aa97d85b2364db4e25860973c5f5062c98e7770ecf57dc78f4f4b41742c15876396980d75b13c764773609ce4e92fa072c32c16162f6dacbb63d76f61b0a0218f8104747db708449e85aaa37629f22e980ebcf14967edf38dd0fe726287a3f6a66a40d14816d379349c177ff8cc52d1ce30502297047305c0dee183962da7483f11d98a2691ccccf9018baca31d967f6436057dc4549dedfd2bf3bfb2fdb2dd2b719ea299f6f62af7ae6dbaab7af6448ff22a08f3e0659452c84811234a2fed65d698a851a673c60df633ed8e6914142c0882f0d6fe8f24aa4cef506f3f81359525cf23a8c13023db4766c6d583b36eed5a0cca5a810df5665b63167f26888938e9ebf4ccf6f863e6d287095a68dc02aef5cd535f498b76efe83c8f5af1e3bf3f4022069e5e4620bd9abfc615c83df3bcd88beaf9b245585b2f4630d98884a7bdc7dda4532c18f82fb95863156435dadc1d894eb324d1020a7f5766e8ad5f7f643d74a40151372258578b3848e2a9b987a1652955452c8b1e1f081c1c08fbb1ef5bcddf5ff596ff9165495c48056c4fd7559701f004e78f3c0e053016e48d8dffb1424baf5dab64842470419be3cfa3b70227538839fc7e46129d37a199ad7b962ba8b8034a7e440b99d5f45bb9d02d005dcaf0a38421d893033f3aca5933aaeb45ccc58686f34ce18de8d13a987ea159b5ac6492faa4731708a71753e32e390ee518fbdeae063e6e04e1c864a5be5771ded07ff4f0d662f63e89899e779ba0e7fecd51c2f0c8522709a38afaaf63dfd863cce77ff53c98295df67bb9bd9ab2609121ce8a5b795a9e83c0434ab037a7613b7592014b2da1c0a9df0464a41a7d6d3fef878bea5e18b85f73b06127ecfa610e6d41f8acca6cd1f19ee2bef550f951c2f57ed7ea815b3702fcdf4cc61b1064caa111b90e8b81ca22351aabfad5dc59badeddaeeeeeede52ca2465ba0bee0b330b21131a5cbab47a3b9f3bb3dfa118d0964847b9408dceb73c2523e5240b642bb6cd45db7ea6a2deb03368b6d51afb19b75d748cb742da52e02d13da2a79bb84b64ebc6d42db0a7ca767cfd2e99776899fd14576e8655ae8636891157afb8416fa7eec10b884c2ed8bc2dd219d6d15d0d9a8ceeccf52d697b85dabaa9c4cbdb11fea1896023aad33fbd6098d5367f65931ac125dab4f9da194766cbbd0b74b58216d6ad69da563255d2e18185612d60c2bc62a5927ab64b1642cb406f3e8cf243959acf259ac958cf531ac176374f8ac9898188ba5eb4e491d30afdfe7ba74eb615e348a6afd1daa3b8c6aac6bb64e658c2e9a66bfce479ece182b597e183e8b15764c744d741dcc774b247958134c745dd72da1eb9d25e9d01aeb633033481dac77bdcf2d75eb431d7bd6f8a261df6ac1be7b11a65ddfc15caf7c7bd1e66e99fbe592b15d685192169aa7d0ccdca6958685e6289e5a3ddb56487f7746d34283d3d2d2d242636cb161b1a1c1c2c2c252636451fd797e59fed0aee1ecf36b384a7c2ddd13f8da6b51671775bbb3bbfa24be666e1bf428dca5d909a0aa9cd2a5592550d5d2edd2c026941695067e515fb57469aa5cf8f7c12fca4f42d76b8374586bcdf938a48ef251ef7355a91aa3f9e6872f9a1af5a1892abf9cd1d4e646a1d0221b64835023f2ede709898e211e6b90a8dc795f69d6489daa1518b2b4d47061b56ab85e3544d84b0ce6351a534326239b89915a2474fdb112d0f5c74640d71f0ba4ebcf11bafe18a1eb0f0474fd0171612e4912d48830d7e239a2016e2d10eaa50de6724a4aa1871ee6ecb3f06be957cbaf611418beb8b23db5de787f6b66164b4d7eeaf3a3b2fd78905f491f28bc734d6bcabab5de78e07bff23ea1f6aebbbb6a2d9d73b7c9ea81175e9e7897f95ddd2bd29f98ad36accc848673172559efc8acf2c31350dcdcccccc300105355519ca40ddb9b39bbab5dff9d34b0b7ad28abdc03eff8e6b868c183448f6414a7c3f4878618411c6cf13fd9f1fc8a5f1e0589fdf2ae57ca67dd6f9ecf2eddcbfb3fbaf426bcf3a7152a80ecbd32b02595db7d675bb6274dd329ecc507f6cfcbbce2d9fa5d11f991a327f5f9c79d18e3574902f4c994f7d8c17ab98c717ddfa984e7d8e8e3955aaf354d958cc63b11b8be1582cc7625d2ce6c5625f2ca63a533ac81766ebcb4fb5ec67a54aad52bf7a1a347ef5220d9dfa158d140d6df74a9b2974b54afd2c47973f2b1a16166761b92c2c988525b3b0742c2c1e0bcbc7c2b2cad1e6c5b9f33e3034c73147a77e70e5f95a93aa2b9ca34fef0343712451e698a3553f2d4dc4591747f5f76b2a050fae56e16a25ae56e36a45ae56a8d5aa5cadcc554b85736d668eb6f163ba0e114faf104fbde03b51e7599ea7799ea9f33ccfd49729b4a56d3e47e7fcc0f49017229ec6686a583018477d9a8253a7748dc84e7da96bac2da44c55609e5fab57a5635f6a9baf640b319b2f5fb4d1a92f6d52a74e73348d9f7a693937ca53955aadced54ab55aad562b96d5aa65b57259ad58abd5ab60ac53d7efceecdfd0226bccd1347bffa44ed58aa5c585a5c71c3d6385157c5c2fd84b0ce6b58c3147cb50410500c4c8646662a4331939638e9efdb47451cfc77abeba4e2a072d87864363c71a1f6dee7883479c3cd2e8c61ade98833efa628e3147eb1fd6cda5e59438d56f8cb07bbf96a20a638efe1f5a4e8ab6e3238e3bf2e0b1278f39ba51056f0440ea4be12a0260ccd1ab1f97ea65298dd8d24286103102a38748f78d4d0d1a37c65469a3963bb49ef14c8d9b87d431ee71dc620ba34bd79da3f34f4b17ddf819ba28e7632f23862526f1f4c51c1df4a47c25fe27e7c51f9287cf6859189d8ca1053ceac8e30e1ea91e248fba53a9f72973c0e4e8fa73c3868e3147df909233da68bc71c8d4cfd03968a4d0a29ca79113436bf49121845c9cddd2778b0160a1051d3b78f470e10506c663ccd1357e5aba28000160818500b0d0828e1d3c7ab8e0a3c798a371ce540b3a76f0e8e1828f17522e8c39fae647f431e6689b9f17c61c5df3f33668726cfcec1e2ef8780186187e00a191319b41e3b3820b3e5e8021861f406488910140051f2fc010c30f2032cc005bbd60202a0695a1e6ca67397a5e8021861f4064988106988d1c9dfeb474518e0d9fdd8fe1d416cd4e2c16432cf6231603128bc9108bcd108bd1108bd5108bd52f47c80c638e8ef1d3d245367e862ebaf12f1ac7860d54c68d8fb981e6f09975b1ac8c863147cffc88358c395a06880c33d050830d37e0309be9f207390332ce4af44b53dd92814c5b338c69ab85e2943162d440c6b0618c31f3a91767b4cca7b4dd37903332388c33329f0c3aa670b015879ac398a3610430e6e858903147bffc8803187334ec47873147bf7ec41dc61ced12409001e8b00301781042803147b77e441ec61ccd7a81903147bbbcc0bcdfc398a35b7ec4028c399ae547a68b723e46fbb0e040eecc7e4b17edbccef9cf4179ec786acd95c5f1e50351674270ec0071bb5da2b5d6d8b2e4a12c8594650f655980b23440590e294b1fcaf205c5d9b1117b81d1ec1872c7b8d38a3f1f5dda5c8d5be441480f0530c0101f7e80e568d48f69cbd4399efac365eaaf1095aa0795aa002a950154aa212a950f2ad50f2a15102ad5992a7334f9f3ae932a7b38cf029ca701ce73c879fa709e3f9c2710e749e43c53e20f638e1681187374f8f3ae53898c391afc79dd7dc96239e968db742d15ab94a3bd9f7a69435c489a02d60f40103940ad8891208a8c39bafb7959ba128120791019ed0146af8db7c8888d8c3988b16b41c0e8b5b4d44fa5850c496922391a0731e6e89ba3fde72f4d88cfee526a4b75883183838cac068d169695caa68666868c1014e2f3ba8cefecc677bbe8069ac4881f1b688e1e7f4afce5d7a6fa84e34672a0df3e8e8d9d1c2cf07801480d39e82064081123431c614092184243366f6f70d228e214a41a6f73debec94ad31c95248f626433e44216283723134386be38136326460c191919590c1aa3ed1454bfdef1143f8ccee1c3028f1780d490038e0d1d840c21626488230c483243c62c45cac588811a6173e41132ff8ec48ab10d37e09083004894b96a89b55e6030aa19199dd48d3146ea72962f1c3bb4193319a1a370ec689a86cdd0b3ae556fee8c0a1d3dbd9d933cac5f9cbfb103cf2ea56bf68a05b3d92b16ecc5daf9458a14d15d9122b59aee6a5dadcbd1a13e216ac353fb297dfe776946ce376f2a1ad1a9dfb09f5e9a8d3377de0786e26833c99bd9913cbcd15e71cce3d89161d8fad60bd66ae9967fd131f4a5c33fc0c3cc03fcf9e20174cb9f0738400c6d47d893a3881ac77224cd11951acb733455636a359e61c8c202bee8ba455469a64ed58ac51c6fe8ba4b92476a74d58857636619bb96d1eb703c0e9c1dbd83c3c60cfdc3cfb40f2f430f79016803bc4a03f1304de45f74019e3452248411224060dbf37db8072d4304881f7c186280027ce1eee153ba4808234fc381e2e82223680b7d93e4911aed39ba6abc2c636e193b171c1e871c6ec021753b6fab7125aa481eabd1ba8c9835e6d6d8b9ca2f4dd46cd12c96f1d49f0b6e8de60e4f6a218f12f22b02e8205f983bfcf93c3c0f3cf0c00301fe7c91007a873f09b00301761877386dbd17e582ba4697f36774dd8fca48b145f2708df6353a6cbc2f238e8d1966ec3e0c655e4695923975d041071d74f8c6d7b774eb5bb4f931bd424b1dfe19e40bf3f5e70fe061063000fd1ac06b00af7f85e69f1f2448106d06318398d857e6e8eea9155f240fd8685f468f8d1766c43f663d76e879c21ed652c10490030e37d810d6948c0ad66a31c3f2856387366326038b2f230c4c47e66fa4ce175f481e30e10cb36c79b5602a99148e1ddaecfc118706f23bfac777fa85a7e9183ea565f8979ee15b340d5fea1a7ea561a0418617ad5f9c3befab8186196400f22306185e80798dc6c86466f48843eff81dad83a65bf894e6f12fdde35bb40b5f6a1fbfd22cb8c0e345bf3877de07fa70a1078f1d3a5a602100afd11899cc4c0c1c1a00bfa355f84ef33c4de7f8945ee15fdae75bf4fe52fffc4af7ec155ebc3877de07863fdb670500a890a38747a33132999918290e8df33bfae63b4df3346df3294de35fbac6b7e89c2fb58d5fe99a97d11142889f51a1454684f858cedfa0f122ce9df70526955b055bf159dd3b64c1e4b3fae3688d65a216adb11c35aa68edb341568925b24c9a381981272159236b34c53a6e0a57e06654b957ee130ef25a69a6699a37b76bf7ca6d3af2aa784ab7e9365da7fb749bee152f17832b2c166655eac0d2ae4a54306dd9ae4a543c6df3d29cc8996c6fb22fb6ed8b89803c01e2c46bbd44fb96c0bc5f37668297788a63de9ad94960df77264e85957dadf5bfd8b66b8c0701e8bef58f755d0a5ef23e6a60564feff7e18a71093ad0810eb8c005a70b965822b58414524851810a9c15c8e572e7144545a9a21444911202111151175d74a185165a34a109a9265041458a8a2fbe30bf30323a8db4d0e2d4a2094d309b7082139c27f0c20bd30b252821a50415a8e0544193d9d48216b480052c3859808494423a815253842004a9108001860946aa0753e840073a3835e0010f9c1eb0d94e1b186080810214a450f0810f9c1f588ae2084738c20846901a81152b292b4e4ea65350502ac80a2bac98628a2990904e24279c70e209533cf1c4f9c40b5ef0822953a61c1da58ea270c1458a8b084420024d4da9a60c6420032000c109821a442101099c12f0810f7c800516292cce2ca61012126262621281084e115451c55905129080040b44e10427984ef8c014e6139a68a28915ace05cc1052e7001264c4e265144918ae28a255398426a0a30787a7adac00636c00216a458504515556cb1c5164545671111884004254a944891724a018a8202143829904516595cb972a589b3092bacb002891412292ae6f8b5b0e43359a81981fdadbbbb75cffbfe257f94a91c98487c637fb71c3851e0376af55675e67d7d974afb60b6f7628c29666db5bd55adf1dec77bb63065dbb3e13aab1da7b11ea7f2f8f61e480accd5f65ee63af9717e2fe7ef7bf3f3986c40f4174b7799ccd3f4d61a5b6baa6bece9e7b604f54e41bc6f7ed5def85bdd0204a64812cb2ac39e7f25f38d12137f91eebbf7def3bc9ae7fd077aff795de7a1352494a47082144b52f4408a249b303a9b30bc7cd15a927dbfee1a04f645232056d9fb5ce0714c1c1e563e116c7f1b4eb33fae24c594ed4f33c4f6e4f7ffc1f6d89efc75145b767dd9154defcc5f44eb4dbd96baecda7783e0828abda91b02bb7644110286a080a76d91a860bbb5d6ddba7b0d54ed082370cab63a6ad20d768d41131115a9c9941dbeef1db7c9b63a6a138ea0a31a41cab61f842980200523a8a05671527b506d80825a831bd41e700184286c7b49188e4801107004010713a85a8f2ca8a835b0c18d0dd2266cfbe810603c9032c195840d521980b1a20522aa0b8022d0913e56db436b4250f93e1c546d8816a4a0d001c2b699dc21326dfb1da9e3dbc2ebbc105553006e8747041d1d06b6dd9137a0e34671a123da2e7c3bd8dfe77ddfe77d9ef77d9ee77ddfe77dd606a8dadef62de9c23dc1b6efa40be56ddbffc81e3cdb7a59db7a03fea76fbd013f05df612bb06c100c6bf93d18ec0e67506266b488af55256f577287cd26a28601c6b65f4337f89fd88db80824dd0eff8813b1c20e41ed782b80b58fb0b6fd50213a60b1ab538090d843520e98b58ab49dc94aad2a6d7f213c5ce7fa5b9a1998b609558552079c76f7eedbee1b27aa521542fb7bd7a3b5ff797a5930d8dda1332831edbb65598b9ae3efeebf2fa2de3612df44d8a7ed3c4520f976fe23ddf6dd69dff8edeeb4dd1925a28611c6f68b838bb1e7d5ea799fbdd65a6bad9eaefbcbf826d6ea5edd871cbb7ecd86ef0708a95eabd75aad132229cbb98efd6a378a65bb7bfbf89319b151b75bb408ce0b8672d80518865f888edfd7e94c84e62518e3fbfea17521785efdbefa7ddff77da86c3c827f65ae4c4fbf07c50759e08bbaeeb156ef73ddd889aafb6af720a6bbd65a89885140d17d9f188ee0288e631886a0672feeb05315f34ab64fdfc2f239e79c73ce39e79c73ce59c6e7199f693ed77cb651d29fc7cf379fdf32390de773ce99c6e71a371b9f6f7cbea1adcd6d8efd1af669681ccbe4d68acfecdbd8afb14f637f86b64bec875dce3a3ffaf9c9f173d6a8b6553cb5fab5b5d65a6badb5d65a6badb5d65a9bad45bb1775f85d677e5000c1efba1a0eaa14c9b12b51223976e4d8fd07fef7e51be85707df7568cdbe67ad65bd03adf6a8527ded6e6bd1daeac3d5d38bfaf1ab585a53a33e7c7f4cbd6a7c12f5e793ba3686e78f2f9edafe789e281f4fa55229d3c4a469963f766489c39bbbc3f043896807d6fdb1b0a046ac7e9e9cee19a195713b7fb6cdbc12df8f7de2f367a3fcf9e63a389f3f4f719d9bcf9f917292ebd87cb618784bf4390f0505c17c3e4b70e9ceeecea5592662768eb1f3f8820ff2d292f0b83ebfacf2b87cfe343f4e7e5d7bbacf2f537b5861686ed18ea736bfd4a766f952932d5f6ab20125180109a03c8e7ef91bdd7aad91bc8d1ee23bfd80676907086121b4c45b0ce8a027af80b7443ae889cb6b092cb080f2000734a0042418c18b86d9976ebde80cf897f6cd000630800148dec7917c0bc977bf80057cf7e2023492ef168004c92f40dbfdca5390a0d8567c512f344bb1d909f8962ee2916822de45b3fea58ffc2b201ff90dfb477496e2a9fd04e87ccb5332524e62bd8f8ba0104b30e112128289258410420821928408f8243a08892192bc5542090d3af90db0e9ceae0983c231d1846b09210434c1c412422e4b0821000108408015121247972492087205f9c2743deb8308e2bb1783d0aeef827005a1ed0bda26a1bf206dc25ce838921a07dd824a5913b2b05bca99476f8934041e471bf91b5dc4461fe00adbc40c06ae78970ebba5dc15571829523bc01104aeb842168bb9cc7ca863332e329798ccc5c565262502241e4713f91b0dc46bfdc3db681f9e3c41421bf1f6c9132240fce083088c2002c40f3e88c088274f4e97eee15db41010187d20047fea21df69033c4b17c04991ec2c7282c20d79b069c8902143b4b96d51110e85043a6d11a67c970b86a5579e962b27213040f905808149d51afb3d0801c107589d512d2a929da78c253b5198a9f280041e47f3f0379a00aff50e6fa375b0c20a09e823de5a61050f04d841070fe87c6485151603da36794ba46d041e470fe06f7490d75a006fa373f8531759a22a8830509e1878db840e7a129355d1814da0138a81b30c9d9a6c04b4057a5b05eb8382923c1265184f40df4f889b80746e92a9a835f6071044003934014aa29f7455e820fc0306d08fade29510c52598108a31b1841029445ad9879a94b9622e5267234fed9b45b609f4890ccd4e70340e7fa36d3a30810974006cba21ddd97d9c57ddfcea451c741145744f441220a08dc31ff9588fb2d1794ac6b1747641adb18f51dde3a08bc09b082380360e4928c1fa82d5140bb24f68259260355d5a0b88f545a5b526d0026a4d6026c83e311393d97ca8676cbe7b51cb667446d2da943df13ede15d9276cd09cb43b34df3aa0b30d6c52693b016dded90d0e0a09756b7121b52ae7e95559f1d9fd340bd60d4f060591304b30e112ba818925845c845c5c68ad35e1111b06c6e5861b347903e9728336c9b2e5125fe3a96db00166830d36d860036c3c750d2fd6607dfca5861a6aa82136d6f032c268207f6a205f6a1a80bc28c38b76a44107f9c204f2e1cff033cc30c30c4042193e7c51060de4431980c80004086a86248a495dfea9c32749301776ffe3c7772ffed0e5773f7e8c30a34bbb5ea6c33f6dd0131897ef34926fbbd0205f982edf7d0c2e31c4a05d627089c1c505958530df3d0c307cf7220c1ae63b18606080c12b189485caae2cecf4c8d27949057267e8a844901249944904dd40ab8446911a75cb0275dbf766939095e1505eb22d18339ebac806fd0b3eb4931ad7b496e85767f6654950b3ceec8b32a34c7f270b0a9285dd9d195d340f2a667451922428a53b039b40a7243adb9ac0b9d136da85ef740f17340beda13b9407153aad28a57b5d4adb66dc9dd9bf3a00efa27fa69082039f445bdbcb340b1fd33bbed33a9ea55b4029edd0e1f22dc4645c9a05bdaa36cdaa33fb01f8998203a18e514901938e2eedf32e7a854fa22d9397e9fd9d06c0b3b40a1f4bf2a57e31c9d62b269ae5b3af35321564ea0dcc2c8a0d3c8ecef137bae7b5e6791b8d238a1c3d3c38362043034b1e47effc8da6bdd63a6fa36f686087a67363c98c0c40f138dac6dfe89cd7bac6db681a19b0915383061434a36d42db0bbc7d425b0b3c8eaef91b4df35acf781b2da389efc2973d4b37d1bd6d42cbb4ae379fde2534ce0dadd6b75cad77a176caad656fadeffbbeeff3c26efbe4f258218b1586e1b39e1586212b7c166a9390428b146a5bc509d784b474fbc116adf771560bb54aac3c7a2e2d2e2e2d2d2defd2a25d5a5a5abec5a5e55d504b05d762712ddff77ddf67827d5d42d44271d9c122b2b088228b288a2c2ca8ada2242a89def77ddf0745cbfb384b0b6a8758f24ab55aa954aa5fa9f44aa552ad54bf42ad959c2a37c4104b4fb92578b1125123ab1de7789ee338fe798ee3f8e339fe895aa6a5d12e8d9ee779de16aaf7f15385f238cd2e95eabaee53a9aeeb52dda7507bc53675b6a9f33ccff3bcd498325f449128144992248a24bb477d87224992ecbcaef33c28f67dd4a97db368df2cedfba57d6bed3b46fb2e4dd486a7f673d7e5dc75dfe5efd0f1cb1fb69163d6d8a67469b80996424a13942527b93d8517db62265fc91d2596612c93c95e46a66530c68f65642f83ae4cd97dba4f5d944bc3401d15db73a1809774383cd42161a1ee76a5d06d21f33e8e65d0eb546bb2ef2f616260606262621ee6616262623e0626e66150182b86a514a3af52b7e4d26e1528b6e7eee0ca119391151b0f4c207b1f8791a1970a0ce9a19e87a2e87ba8f650147dd443df43658ffe8582ea0bc5e9d26e948ec8f6dc11e0ba21a44ee8de3aa05b820e8a98f7712f06bd47de0f32a66331adf5c7b48e69ad5fc7f4c7509a54a77748eb3ba4746997e83ae1a4a9c9d26592bb15f0027d1f8fa1e85512dbf1bd7cdfcbcbcb7f2ffa7b7979f997efe53fd406ce0b8e3339534dbd898aedf1235c21dc054272ba25610bfd3efe69d4973e727ced1b46fb8e69df3f44d80b067bbd5e0f7b69d8ebf5fa17ecf53034c7ce6b07e9a51d292fb9344f82627b3c0b2b47558ca8d8b430c1cbfb38ec05f52930107481a0cb05ba5cae7781ae0751167c5cb7262eed4d6a9a1f3b5d9a1bd559b63d4ec52d0f45c9424719c8abc850bcdec7c117ea36701cc116abd562b158dffa168bc56ab1be85bec08385e4400ea474691e64a7e04c9a9c68c995e4c2f0c2f53ede72a1f6a9b5237409431717970f5d74e8e2e2f22ea1cb87680d405c70556c9528976673546c8fed8113ae0969e9f6832d42166a9542f187d7c2d2d2c2c2c2f22d2cba858585e5595a58be05d5210716a5282cda46a969b652a0d81e8b0595a324a329b61398c0e57dbcc505b5505a766471258aabd5eac5951657abd5afc4d58be810212b4b64899c2ecd2eb14fd49bfc47434636a07d01ccf23e2eb2a076480cc7ac3a55aaf33c5ff5aaf33c55e7ab502344cea52186a8693e72c5f604619534d9a0a5a7dc12bc58bd8fab56a811d58e31358ea9d4984aa53e35a67e448f0c917ac1d3fc424d33102ab6a7c7122ea7b4c5f93e3e9e288ff1ee0e659a2814ea4df35128d4a34cd49b68124f2f033cbd3fb8306ba3d3be9fa2747a975c1a8d4cbdc9537218d9b0c53041ca6e99098ea6f62deeb0bb7b912c49b22cc92f49927cb224cb12f5e4a3c8b22c4b77ba44f9af09c54691a3f62d82daf7a77d7bbe2bd98da3d3c46f25db6114bc0fc7dcb14eb725b6d069d6c967395b77cf4f845d1395beedf6f18f8c7ed6f1e73f42fcc1be3fa362fadb6df5a77469a3874eb627d71bfbb26defd2beab9c17857dbf92b8d6a463f5d0c9c92974ba51f0be1df3c6427aeb646fee579aa8e4b3db5357a8a90d409d59dbb3536f2c2e897d2b0d80f6e589c20ec9a36eec41aa98359c1fef8c8e326b895490935981dbe6763c8eac3b8eb5e6564f3f9ccb62a1d5fd2bee05f84577f7ee6b2c1cdb18639779fab94ecd8a2b70c0ac4a2110722510386dfb55b6fd6c3f46141ddfaeb5c67aa9453f73e53ae865b90e4b697bbadee08fa935f833fab506675e208cbb5bd3aec26c0f86b92ebb2b7707dbd8dd7f679bf372f9452011a8861c9c76f3b546f1761569a2edceb229f688514429f626ebbac5b7a6f9e2c5b9f33e30144712559aa953b562697161b55c2fd84b0ce6353a8a32e375a789b73bcb6f5f9419555a5c4a429a526bf23b2e8b7a232577b4957616b5d8590a29e43a4531467ba3452b624ebcf92c3f50d18dd0ffd82ccd7c0d3bd9278622e39cf1a7cc793ecee572a7fe337c7a3a63fe0c6fb7dbed44ff0cab5439cfd066b3d9ce973f4329524e983f43a0f33ccfd89f2193f33cc15c2e973b5b7f824f4fe7eb4ff076bbdd4ed79f60952ae709da6c36dbc9f2272845cae9f22708749ee7d9f227c8e43cbf5c2e973bbf3fbfa7a733fcf3bbdd6eb753f5e757c5dee42a67eacfcf663b6da77d29e727e588d33ea03bcb40e7573fcf8fc9f93139517ffe10ae63fef9462a4f99cbe54e2f777a4fe7f7a83dded3ed763bbddb799ee29f5e95f3f7693b6da727e57cf7aa9ce77f4ef36c7796ff3c3d29e7f9decd39e365a035d60c4dd118e80ceac9a0a8acd4b9a75c2ef7b4f3eb18147aaba26fb75b959dff9f7cb149b1bd4dcace0f0333c642a090c94b087486402150c864e78fc1c41698039f5a60ee0473b9a79dffe515bac01b58a505de4ef076abb2f3c358200b6803a5b080b613b4d9a4ecfc2f97af05040299b0804027080402814c767ed7cafbbedcf7f47db9f3cbe59e76fe56d8a96e5f95effc6edfedabb2f3b3523af0dedaa4d86c3616ecfcac1d4ff3fb164bedbdf9017d4c3ea00fe8e3c0ceefe2795ed93d987bcae5721e183b7f4bd789decdabe2ddbc9b77f380b0f3b3e018a71697442b48a616a7245511a9c42881e93a417edb788bb3d1b5b7c7c74d9ce601612740188a94eda1ef3d96a2f6784cf014db7bcca4f2c8de7b0ce4b40e87c342383c84c34b9e5c27060ab5a76b6a928253e5d1559cd61d1d5939623abaa2e43ab11dd49e2e298907542acf47715a37741b42c241711d9811d49ece89935b82edfd3daa3c2feffd25725a6e6aba4c9a6e1327db73bdf7d789dad329b915d8de5f259507d6e4b48cc339e12e10ee0a31b9ceeb08b52733312561a9f2b4929c968f8ea81c5539b282e43a2d59d49e9c94a4c594cac332725a1e1a3a1a8ae251517bb213275ec5f6de6d9587e5bdf720a7e1a62657d2e444de3b90eb9053a83d5949184f956795731ac6e196704d5ed883da8399987ea054794e294ec34747538e92ccf7de62517b7092bdc94927d8de5b28956789d3f090376464895ce77b2717d83dd8c911a7ddef29682bd9d9fb206a0f56626f862a8f7def87305279ee2f5ddc9d65261a6cef7bd49ecb646ff21f4d39ca41e3b4ebfd0b3c2a4ff75ed2ce5f8bb1bdafdda13be439d9dea7f4dd32b5e726e5da739dd89bfcde7bb7ede33eee01794c500fc803f2803c263bff4a56c6e09a501c0ed7b4f3ab342ad61d25c5baa3eea83b4adaf9cf2761baa1ce49ac1bea86baa1cec9ce9f7a195d4d9d1257535353a764e73761e20bc7e4c2e1704c3b7fd90a5bf251524b3eca47f92869e747b140973c949db4e4a13c34949decfc24cb473665256453aaa929ffb8f2421c13894be1704c3bbf7876e651d2d1d151d2ce1faaf287b1986399e8d0ce5f317672b7cd818977adbb826ac24a9a9a9a3005767ed0a2359a9d696ea7ef8338261c0ea7849dffbbdf69fce551d2d1d1910d767e4f860cb2c76c973c3254da7bd7dd1645a04b1b81ee2c7f5ef92c833516d0ce36986de79c42bf190e4c7c836e389ee66ce211e8065d21a7d18c5714af67f3a47836cfe6d93c16ecfcadeb0aff731d9305fb1b6d957c96f14a8b53862e4d44ba4e6c8fe8827a933f8b3916cbcc30a835f96b57043b7f28de6a4dfe190e4cfc35b169e71f816e1d81767eb1c99baeb84eedeb9e5c27bf6bdf9d939d7275cde67e741acde76fc698badab35d9a18c57e169fec9a68b4b31865e707c919fea7063fde34a4896b46138b416a18618401068ee62b4943fda121a288e66f348dcff2973abde5ffbe2f08ceec70c41ab7b7d664d40b6f145a83c0be1629bf8da88b6a50a1ffa169b243b426db393f8d367d961fec34cbd39ce6f7b4252dee96d3c7bb26de76defb268a79dff168fba1033724b04e2c14c7214d09fe3570d76c93effb9e88727f8ffaaff6a1235af3373d15dfbf88881621d1231f3a8411af4c465ce7e5ff721413e9dca5fa99ac4f979696969644348892ad5e0d2bd9de115889a75eade85dd277e932dd262c8495e0214fef4dc211eacdbde27dad5bb2bd17bbae73926ba2c4647b4f7483f617e433ef6d4fa5711d9cc5ee7637fceec3eede2bfe456bd0f6fe7302923e44142b1157a3a8532eccbb546bbccf46d949528cd18695eda920b3ab0a5585aac2f654a8b34abb4b77e6bdb73d3cb4f4399692895b22025f9d8d80c06a559aadacca23feb75aa9943b12bcfd8928b7fff79ebe257f843a44d40c972e0d8f4bd709036121efbfacb39113227402ecf6a30e14ba4237ffcdb89b519b842d4e35baeeb6cd46479e7a50a81825d9a62c9132b4bdbf3cf7efbdf8be0582f97d951d7ead6bb2bd6fc14818a9f274db7b9ce431b1ac98553095ed3dbee2b46c849fcc209692ed65a25a66e21f7e8d341ad15ac65924d2873f8922b11b25aec64fe7acb392a7de639da9e88ccb47503cf51ed4398a2ec1f63e8fa0de7848842e2de7b2149f79df096def6be05107f44eac265068291b9953b6f75e36f2d4091777a9f278db7bbc84a9f2dcedd5eece4677e6854bf6c67b97ed1712bcc127a2dc60dd22cb756aa6e9404a9e138e8564e238cd53f299f77e7332d68bc9725db0bdaf91db3f57da75419d79ef21eb65e1a350989df2259954b6c7aab23dd1fb2038b3e66f7ecd53dade7f40a48f3134bab4f12ed99e7c8345f1bc2f427e29e36164088a927db24df125254754ae136692c9163ef07b13b548e48ff13f1489dde4b7903a48d4e2d023768fa84d628daec377343ba935de87decf8060769fdf687bff7d9ede22216a718eda244fbdff9090928a520e80f3d3b8d6f889a6b69bd13dc2e970b408cafb23768ba875f2d45e091204b366afd82baef3fa7e448bc0bb76879c5ce7f5a13ed2fdfd875e299e7aefdd214f91eef8ad4c18eb693c1c9ff97bdfcd4462e1be5ef75e948d627e27c2eeef7e570385b6f7e091ebd4ed61d2c745471489dd1f6a7aeabdfffd7068c809babf5d605165dfb72130daf7ddddc718514cd1b1e3213c35e38159bb6e43fa509485dfb16d121fbfb36cd3f7a560efe4ad3cf9b10c1c7d9130dcef5cbf7adcefd05776cf191ddd923d664e843fffe7842fd0c516752662cdb59b74992e12ce92e9240ad7f06d672c8483b0123c5479cac78f9fa83c66ea4df33f5d4ba1d7c9531cdabf1f06ba4fd7d6c4674ed766c5ac5d9b7d7c3e46ba493ef39bfff5ede407e43a7e499a7da2cef0ffb75aa914e8a933bd1556154fdad8b73ddfade43f5126484d3676a264a1e014c1ac5d1b79976c1c2467d63091455fb56692890e5212f915ad39930cb6f2468fec31db45609be4a90cbd4c9ee28b546b304e12cc22fe47ac8da888fd6b337252799e541e942e1f85faac6b255ab398689ba88c338a99788a7fb603b37697106dfc351cb4f1abe6b7d4753e2697e936b90efef15b99ac5aed6bcef43216ec36ee9adf9cc875963813d729c9166c45bd7ae89a9de23ab5cfdeac141b458fda6f9ee20fb54ff1143b92cff0e31c8b65ee9a6d72264ff107298259bb48fb26b94ecd1fe73a45fc22fd9541e5019f8832dbfd913feedbef028ba47ddf3e783f24afd74d6b36cac6d6b31daa3598c9754094067d6574f414e377fc1d4a04e7cc8dbf6de26d9d84c1ffa2acf488ef22af1ef7f7ebf48792599542b064d7601b85b9c53694c7422056b174b401621531c618e39a53a6a7ddd79003ec88ac1ffcbc233fce8f1fe75c697438ead75a65b0bbc7ba7a1a44c9acfdb63b1f61bffb17ab7d11cca0aed9d8f83d7bfdab1f58953e40b46be9fe746aabdd7dd73dcefd3e1367d5fd05c1c7f9c0efc35f3d29d5da2b443bcec63f59958b7dbf76e3fa9acc0bcbae8f63a3a6f6ec50c94adb897dfdafda6a45c917c5af3abfa877d4cff53349fead57c8105d491e687dd5af7d2f2f4fbef8a2514fbea05e5075ef5c185afb5e68fdf15de3ceba66ee3cfe1dff8e3976d6986cc186a7e38bf9bacd35571dc48a59cb3f7eedd33b3bdde2bdf656bf1dead5a3436b466c72777102dce6d9b58b13106db1f4d4537f1bae53b3f96be4a3affa95fcfa35480eccdab7efab7ed6affae07ff5d357457136deb5ef08de19c9b74d1bae53519aff509085d6de05ad7d0bca82aed09a697ef749f495511fe9ae68ea29f6b4aca6167f97fa95bffbf24dfdca68fd227c575317e1e617613711170c201d760df55e350a2551ec29908eeec59a1140fbc8b7bbaf5ad42f1ff5bbaf68873fad1beb1acdae359c5d458cdd568caba7303b3641b436017677e2f59caa0fe49af74bd47df25d63abc53775ad2aa16a9311224676f67d71cc3c3c55326b1597c4755e9849326b324fd197a33ed2fd9e06e18159bb7892dbb50b274b5bf411e63ab525322f9b65dfc7b141569a05bab3077d67fbb35678c2ac4a4647bbb6dab142619e0651caf57e7f77dc771df7fdc9178ed071c4be18480de8cb7eed2f784130bf2cea23ddf72fcac3d3fc16c8b367afd9dfae6bdff63cf56ad8d358e7d8ae33d9828d6bbdabdd7dbc1d7dfc568fbb86b333c6b574d77ee7557e98ebd44bc2906e1acff33ccff3bed44ac948c9b67f6ba3114f2b4ac4d3faa66db4220832cef973ce39e79c73cef8628c73bef973ceb529c61566ce39e79c736295d5a77aa5c868d76836ae0c28b2e1dfa1c1be6dc6bfaf6bdb33cce1cef0db8ce67069b6e2c7756963fc8e623286084c5ca3799cd4d3cae31b5b201f6fdb2679d993eccdf5b22c556e74692e9e647b461916307e84721b8c5e62db755dd775df755d27eb3adc755d17d3753039e78c769d9773ce3ae758ce39bfe4fce59cf32b6718c618bb720631c69885710b638c5d30c61863168c5beebd7785f1bdf7de2b9eaa7befbdf7de7b5323eabafb2dafe9e52561dab7d8d2bec516ed5b5455c7ddd9bd727123d015ec622d6baaaab32bb6e7bbef5cecfb72a57d432f3e4fdf6d7f27545272a20445494a78e5cabe2ef31ec53dcabefeef54a8ecebe5fb12f770c9befe57090a947d5df60e3a39dd9c909ca0108544fb7accfb5f22a7814aeea0d2beee7f9d7047dfa3b847d9d7bf772a54f675fdbe848a3bec1d0a947dfde5fd7372ff9cf675f09d0824dad7df6d95e7f5fe1ee4aec4bdf5fe5df9aeecebaef728eeee54a8ecebacf7255396ecfb368abbcbbbe7e4ee39edebe23bd1be4e74c4699e92bba7b4af7b57f6f50fa2f6785758defd8d549e95bb47712aeed797f8f3a83ce7fb4389b1fd4da72b537b3c28f6e6a6be7372227b73dfdd5fb46fd145fb16571e60da39d7a94a1e38daa215a7d99faae4012bdb8e32a6699aa689da20a00ce485611886a18c67ca547247f965f9ff3ff37aa62ccb2f67fe6750ab44e8853e0cc3300c67dec7cb19df323218990c0606e665305a060303f330329897a1966808660826bc72c46464c5c60313fcfbb8ecd14b45b623c68b89f13cef633c1de3795e8cf731a865b2c45b72a18461188650c0bc8fc7c0a0f728864463281a8bc51e8d6934168b7d0c8d3d8ada26b6982d06822008825eecfbe855828afad3fafbbed7afbfefd31ab54e8c3e2326674272ba25618bd8fbb88ea1be546bb2ef5246fb9669dfa8f8027b7981c160ff02d32f3018ec612fb07f412d9423d8110cb47254c5888a4d0b13f8f88b4f79015fe0eb0582e0bffe0582e00bfc176aa54401a334f1262008822014b0f7f1170c75dbab1b4157cbe56ab55aef6a69572ba21da8d4681d4a243dc9d0d08800000000a3170000280c0a050492280ba2308e747614800d7ca2504a429a0a83c124863218c5800c8700010000000001202207887800fafc6322bb73e3375099a10664f1e365dc77862faa4e40640b75f70f1e4da0fd52f72fe9d9311dbbb99441bc3b9ad03156f1c84979c24af95a270a5f5a5a0873246d8f40a1bd381dc06404732439c998077a323077962d75936d07c96644ae16f4bf48430781aad9aa9e4fe92b7aa3325e5357306248b8ee2022617dfdbb00ab1d941cae296fa12016af1856c516f4a435507e0812e0dcf519362245ac134026a1ab57c7a074fbaa281c60ad55337257029898ca1389061be294403d8f6ab0c6ab1922f8eb5630ab8aaf8539d6320f60b299dd452909cd1e894b546144e563e79d4a56c9f8be1b27e1f790870b24f5646e40d9ea8467d10245565be9732a577fe051c8281db48d808ef5cf2fb3c6bf5099664fb234ef5ca83daec6852ac8f602f0c124fddd71d33a1f3bc7116240f6dabdd602710c22231f9bb05a24c4063936442dc99411c20eeb2bcb84a892f6afcaa14956015f366eb948915ab6ef7b48998a9357be4890cb69551b2e71617c44209ccc43135815140a814c995e081ea165a0616eae40d9c2680e7bcfbbbed57d341d11957ffbf22b10b4580fda04d01b5cb2d1969c8c9ebe5f0448372c4b44e2a1c83ae826e34e629098985a36ee645fd0368778b5344defd509a730727079593ef59b35ea77a0dd5835a367775cb4e8996ef6ce70ef6fe80d99acdc2901ad04ce2a855168712627a48690c68004e6f774c92c546b5f7d3e628aed1ea1ce2781c0a9706165ee734d04839bb81ebcb7931ba796b83319acf16c3af3d76cbac663f9ecfe6dae101524c8f4d9cb312b2563ad4c249f989b6a1da81878f6153b3d422ea53a497f00431e1b9dcab66ce2a1b143b651ae57e8b367ba5668eec7029ea9ae9beae2c59ac2fe5e236c5f0f489ce7a1b08d39b41a1b3d7520a011e2e5c23be9d1e0141f6df8618cffc49f0c8102d1b366c7443474321f5cb21d249dbadee48ebd401c90cdc7b191dd11b6d9acb52c0f57551eefc6b36ef9906f45ea5374fbe3aa3a00b6bdf8611b0dc27f1f580bd8308fb0cbf74d5d157e2fef7629d275c9217798f028458e4108de6c54c4f9a2aa7dfee360f8d2d025f4140c4c2326e37d84033709a2f95fb924408bae9db8c0f4bfdaa39e782c2e78e1ff2ce5d8621dd2a43364e5b42d793a2d97189a562648bb4fcdd5b0ad317c643a2fd33872c423c83b46d8a6f83ad5b81935846f07498bd818c44a87609e9eeab71d71d401c6c7ad6eeffa9a16528232858f2bc0811d85e8459f887180b9055df98316e36987bb73f11ba5496a0df90ae4e62179269a9c202b9cae17b5122dee0d85905da4b4cc3d72d8e801574fc38af3d084d2e5f316fe88d5e07ca2a57d7cb41575204db49ecb466178c030adb396643db0f18503913094ab67de9b093efd3a41fc3a3f46f2d12a20e3e8fa42978495315c7f6525e93ef777e65149f057e5106dbb47d0392a37fc5df3ddf6b85a13375a147001e2037ff24a69f609bf730f743e724aa6f452820f5ab121d936f461de4f2f8f9df6dbb4cd90f1bab46d3542ea139bc56889e3b4d7a6d79603d12e90e792d15f402c019846ba6b1f36074f52efbc9a9e3e66c24591bcfc9403ab299bbcca76b7056ea8288a39a87495b93ec7f72928bc33928541ba2da91259cea8223e577786c03dd1e844955dd892158d04f834c45ebab6bb6c2feb22b989416c2c74969a369e493ece94c6c285885cf27fb1d7202faef68e59033ce7f21a9420407364e74ade6b52a41602ab57899e6ba35017be33120ecb069b8eb9f231fb19fb669000e81821398d03972b277a5668b2fb35b78730af93ed8f05df775f2cc1ed34c0a5402e0a85b74e7881c99b4adabb83e4acb9d0b2df7492e3156961b0ac50d4dec0292e491201f84c9b6182d4163cd2ae16e92ba1fc8a0832a84cf37c3124cf4fa1bcd879c079b45c0972fde41455c05a9a2f51f31ade86bbac6454968ce714975e83c2bbc10982ce9490076314a7a7e4eb1be8428497e1ad5b42959f7a47bfd0d72024922e02adc896bfe3701019ab574201606ddc0ae6d07f88b11a448f67e465552c09b4dcf787099ecbf08d5b09d1f5556d13dea5ea3d95e260a0e6fe516f10961e83d5651279f376c780f67e2c14d05de8f72eea7849eddf510d6a92f5fafdc429c80ba4543689bc29f349752772e9b8fad279aac617fd24063908b0227bde301bb977816da58c8ccc9f8314aa3fdcbe37bfba57faf99ea5d3100ea4281be7bd4cd130ad62696c73b08cf98257894d98104dfb96d93141abb9ccdd0c5a4588f434c29d72c64c6e402887a314e5ee8b943142967d696fe5833a476bb096bc88405bece77641c79945a4c96b224f61b04ad793d92c22a74b885c623d8ee973c987ab0e26aac7d5667258c884fd35d72313ee0bd4cd0faa1350ae7a7ebfebfb3db640c9951b1971c2138c35264ea95226d7f5411741d6027309208d6ecffa809687c11a666eaf9430fb9112ad87dd8870a85440fe70a1c6e304e643ad996c1461e4c7f340b95504f3406995eaba17b26498ecd69cea27e8afc29d9387dc88f5417a6be610340dace8de3f8a32a3d7570ae252580e21256c58691eac52da357af79853d5af6f17cea20f18f598e4eb72ef20db47dc260529e97b54ec3a5d907f45e9e2b5956ae47a97eae2ea924839b69c0c762bc847ad94f2a3c523da06c621eb3e49cc98960971384aa39f41bb315d6af679a2eea8646aee100c48cc94b3e3d2e16728f34d8c340a4ee1b44533e75b4b1f6aa56ddaceca4d6ff910804ede612e2248587a9002c72ecc3e9b1b6df0f99858958ed5bdfb73b3a166c5f42c94d7f2f1bd2f6a98f0ada0f9b0cf32ecc78ad01f3dc3966734827ec0b67a3646530a30457508ed8147a633ff7ea7e4cd16f4883f741b1f4b88a907051f31cdf82d754f7ff6d20d220812f105753c96839236422b00643137df3bc3ae37322eaa05257bb204054e2d0a68f9f4cb904c406aabb0dc35ce4316540cf1b4ccca3d5a9188412589464d981538a82f3349568ab78aa7400a9313252fa230846d0aae869788daa32bd5a17b86d12208c692e838827c4181b77f12a70c6cca04a5d404e34146f74bf42d991e9ca6bb33d561a85eed01d0ef5c99665cfecb78d09f1e612440aa4b09884464071da75abc908e3318ec6104ad2cd5f1a29dea303e9c094ea4ba1d2f4125e7db4684d4a5e606bb36ab96b560840eeb8de4f667c1adca512d8e7f8ae9085113915b912db2145c0e4996b92536aa07144d3cbd38d614201c4970215eb48563cee4b047ba094ad5f455dd0eb35e91c279838d7b0780e2d5ff08c54a872bf95a0f10a5b0ee01c9b84188c1ca480a687344b6ed5fd4219f48aa95c213bd5fd4918319324fa59abb26c161ccc1b7bb4283a97b721786703af775085f850a45354a961e20c6fe777cbbc6381a9dcd867005898775f50c0ae91ba58edf3ac3e76f22a3a12bdf7663917b7e2629239ae5ed6e200b06f7564c84311e10253b3049a27d93eac930960c492889d18e77471a7981bffb84ec598b699ddf037db60770fe9250154ce133babd6f4a11edc75899f39e1ad0b97874881bd0a526337e8a39895073323e62133c67411aa0d1bc0e08658e59fb5e28dbbb69b9ee2679c1f09bab4d31fb29ca12bdd369192d41ec5c8aa6ae01e9c4eb9c94341ca7a9adb5c2af43f5ef5ef269ce23be0314ffc3bf803c8b7c31f233f3ee58fba67cb60a18480d928489244f2f6df4e10285b04d91aa74fcb6659c3def914ef27a9c5176afbd07f43a6abee398b8246407db56821672601a6d35577bd9f6226f2d7175007025dfee22ab520f7583b48dfc1df9a656a82d94ab2bc91adf4953d716c0a15922bf24671296f8403dfd79febed5a20fbe611d597a37143232aa19309f50b3b8c892d8a0e11c91045d9b4826fff8643f988d95229213837c14939e8c1c91c49582a4706211c9b8df0ef482671cdda507474912d3d351a9b2ef414f8aefe1503b383652284f4576bf0d021efac221cbda0210669e98e09719c0f219940262b834dc05afd20c4373f88ac886c6adf20b8fcf3e52c1af65c95de14f2077eb03f12e4f158c0f0b8327a012ef7c305b5acd25e097413c6aea29147c5954ba59657f3fd47e97a448df0d438c80e2c5b577740522faae01a600665af6e525ab0b467e9813974800e14461943d11781782e6a64a20ec651a1f03758d410f74a1cd56d4535a823db2c25c941280601d9fe71b4403b5d32ccde8b408ad3e496a8f89be18b211c018251262b1fd6dda02fcc690133769e230ad0d6e2b780ccc90cd9ff284a36d41cd41239143e853b2a8e5ceda5b28a6b11caef6af952387cb970a0f407a00c4ba2e9c381841045e29631699f55410ab2acf4cbbc1445fb0754a88d1b42cc5e4469bdb75a693086cb4a6745b53fe4b8e12a88142432540335033a8644a6417f902c04989118b00511dc71aae8384600724e1aaa5ad4ead49fbd46b8f2fa8e54e006c1e2d4c53d47cbb6c3c426f2c1e107750690b4925f265283789765fe7e3174c7ace5eb5491cc408e92100f16f6176479e25d525c0f85e5c2e13eba33a10403164b06af4297314a42abf52d8722f63c5352f7627585c8c7a4c9a286f917611a44ed46ef6677c50e965b74eed2f73217c1c948e8eee4b5531c4eed65e1fd7fe3044e3a34b503a64facfdd4a5831f26c36994c95940d1978cb091d4705a82aaf624052651170a53f1717b269ab1d504ada67ab2f12220e8b77a2e3af2123dd84865b35b33540ca14c7ea4469edbff89dd245dcbd5470a1f65cb5faf27598509075c842606b88d222f4f431957acbc37cf7a8b0dc0220e4a8b1d5ccfd8501eef59780913c31a3900ad548696b281aa345fe92cd3e0f0cc1bf3ba133fb8e2ea4313ac1c9e3d943b1680b5492729cb42c21229df74e1a93785bacb35e806a39809015bb0a2da0200a2dcd54993057f3474eb8f9807f5bb0abca250b702b48c72cc89045deded239d9c576241a63dcc554f419ca567f41065e3a58f59fb41367ea74c74b077bea42669e09d25d868b48bd31ca695b75dda6de0d539b515de657d41e111b14a53aa143f2ae87c304ace698fe83eed6d8e92ac36f5c375671c8cf479a07d9a8e16704b7f054dfb059848628ad230d706cceb70791ef48b3394a009c91bc0090a031567b3e65ac76964a656e13de386ca0473c1ec86d8a8559069b7001de5b374b28276c6c3d3d8181bc2f7501d6d7739dd1c65a97bff86ef5e0ddddb92217362e88b23e4768207d499de0c1a000485489e9490bd9d1049bcf52240728b4a3679d61a3cee1daa3fcffe84542f8a8fc92ad170a825047b43a59e901c673a0b9eb5c405f7cd222fd6373770bc79c87547c52c59a95d7fa1e4c2a094349589c40423c87b129a9e24e084df2e67b81e5985213d3c313f52cf22a5e411135fd5f327cc19129e8cb505619ff5d7e344a769a030025b872c047ef9b26dedfbb0228b146cb4952ee877dbff3c642718439be0d3df0c04bedb31d54411de91d9763e01de41091d687fcc263794c1682288e73d60121434f262022bc0cbe8f191109537d00897731672405e4772b9d8d79895a02350bc15b52891e26fb76ca3bfe505c70b2482ac08656bdfe7e8966a1a7a1e8bb5250cb2e63a7ea3e24a15ad116fc1f4a32fa7b30b30995637b943a0a7919f812135d12695e296429d9690500c0cbf8cdf8c31cf4af4a0380b8723f6ac4ec9c4af8a00b7efeda7216793aef3819ea72e7eae8853de37be50b5a16475453f293fb0b83ba20f3de74d78e42c248937bea051d12529821f2972b15d9720f526eb688a7cd6ced15c394823099950cd8e922cd9d76b01955df9a0489c18b249b87305ac8db93478f46de6ba63c5196baa92266e1e26fb6ab1cc52ca36fd276aac3d86df455ca46e52066187c91b6571dc74e83af52b62a0731cbe09bb4bdea387e1a7d97b6ab388a1946dfa46c0ac7b1d3e0ab945dcd516c654477a4eccae3f8cdf89bb48dba58ed8a964a152aff9e1e0b56aafc1050dc91c6d6a2d1b8f830c1c0c22d33965c5170e2587ae592d1952a5f2618322d57ca9ed79670314841333aa3bb826c88db2b3f48f1d49cab6c06fa246bcfefd550cb3901f4c5685321a2f403686ebc836ccee7b5bdfc547b7c60f243201df252457c505e4f334f1edbbdba6a69aad061b0d06c7e2b176117ab2770fe96384703febea01d044f6d2128c12393ff87b22fc7e41a4fff2923417dfb2de65104ed967dd4c35d42e4d8300bfe31c621b08edbae38f0d93093a9bcc3b16122dc638522e1837d21d029fba2d86e23ce8639598b2b1b6c185b924b82fa8fc7ad02aba7b2e106a10d238e6111beb24fc73f8d2e0323fc34199460c3c4989f688b4427ca27800dd3c9be5f6d63a748874199b00d33c671d188364cc86b09656f4071d81f121d0cb20de38419237f364c21fb5a38f37d20df49d3e436cc727f66e17cca3eaa3c29d22f8854b463f44b22d653f478b7c1291a3e506c98b3dc8246da3045f6c120233b474f58423d515850f6c5db30eadda10064c3aca4490cfbc7844b731375d792ee825ea46d204db7c5a881585b445e9a860dd399eddab28a0c46808cc97f8661c3a00aed4842d0581a6e582d65886372655f64035e6c981d0347e10e5b8390ee2f5ecc5132c8e3b9604b9941d8304bd73134a6dcc96c98cecd2b39e1a56a756faec67acb46d286e938930dc9e113a33ec3229e462205436debbd17055ff38f66e62436cf8597164b11b7ec4bbbc384f0d4bfbb1a6928c5c524db8f07164187a99853e17b4fda77ebe229211d828b24054ccb311cf1864ff60d8cd77c52598b20b9f684a3dd51455ec5f6cfc5eafe11fcfa47ad9e61b22e3709a638d40961a2454d3331cb332106b00f34118a8938b007e6a9391f9cf10ec2fb66a4ad009d322d8083171d733076441e175ba5cfa9f74b0243f80a74e417fd1292f00f81f306345b00ba3221e05317257338f241287b094d552138a9e2e10c4030491aadbe80f28d214a1e800f3341af322551e06419b289979b41af28727e60e1f816e3650a3f2973dca8a5c13e348524e8454837217a3d3ca0cb2ed6cc41f8096a4404d7519727791582def11b3047986b9ec966d9309430fd2da7f5d6215782823fcaf744a09d4ff72c537208e705c498ef185f1f7289a50a880ee3a6786ed67478986975a64e3bf030175f99a5e391f825d2d3a138a5a429c21c9cfd2d218922852b6fda1c6aac3475155c411793040e5e965082f82d2919eb6814a3949260b0f9b40ada6c59dfbefcfde947a61325256d09f38ac222f1b2dc97968d3121a6c06fc6ba15201c834280e573b98a849c204644b8ea5a2ae95c20b80cdb0896a4e61e4bb2963d490801fc32318d360189082d2bfdf13f74d59ad126ee585f01a1c3a625e99c188244acffd1f081350f6acda6551242d02bd16f0268c6d414b88c63c98a0e39a1c6c4b8a2b3443a286f9338089a1d55a675d17c1586675dd3b152fd2d10d5ca839424bb8f425d65240b65d3744ae107c49808d76549a9d0f98c37429a317f90ac78fb4c143940e22b0c6879021c18884d4552a4c25936c8d465bab2ac83eca0752c47e4e2208594d2e619916576d4050a8ba344e9746eb5c9d49eef99f618e9ecef4411a1adccef2f4709cb9a96c9f343b3d6fc935c58868e9f9e0defe2c3c7cdaf8a3a18e89069d781020a0aee084b590d96e515fc06d894f32b0b0700200c093ef02bbd540ee6c43e5112927b9d077b00ce45a5f0a1c61f191fb470c3758a10e0c1115340957eb072e82b1d2ed2b9676da57ae0653641a9da407349a189594e738b05b47045a58905812d0aef24dd4efb494410459a4d00b84b15bdac46fdbb21d52d40434f6d4150a12347b55987da9fff9df02b03c70d4fe8c15afffdd64f0821e055f8b64094752cb0e31b1cb5646065985761ad87f8ff83c4444ac2ec3b23aed51b22dc2f590f32cde333762ca203f200bcbc012d00512845697d3eda39c84be0fe8fc80d44995282936696de61017f4cf52ee8019cb7a0df04d1c8a9008e054542bee45acce4e0c0668dfc4d4191a45356fe642ade0a7800f79598b730723113306f41919397bf601e728c444c2496726314e92b98e6e5b1c93902e60b2b343d015f2c9badfca0cd472f0b25d11cab197f14e4f35bb1605c695449fafa0f8dc126fe38c0da320aa94b5518311688450fc57eb4231fc5c27a51aa8670c90a0b1f10c390870ff789cd776194b4a3803c72d859d42ae68233247053823e8a9441c72c87d8a17e11461186c8a0f04e8724e56e4a15f4080ebefccae2152771ad92c486de6729af12cb47c2bba05df620ec3c4e7818c37e27c6c6db9b49a6510e5e21f1a928a7284981809f0127f8d82cc7c5ed01e4ad0411d6c62005ac1e36290ce3061674281a730b7a2f862d00b11a0acc5bc001f2939818f6881ba10a726330018ceeb2538c636e68dc5ab2088554642a4ad809cce2ff33915955e85c9f3e31f19783bf5d1d2663e81443c4e9e485500e342d776eb15dc3a32efa120379ca25071d297439c56b298994007ad94ba6b69598a04c8240fc978a6bb96543bcac29a1dfa2d0b4d8c71508162f872229b80c9597d2972604ab28c3e666e09c1d58dd21422bea15f3e04db9c1366b62da9415961112915b338b7e59a87ec3e62640c5deb453f95d279d85b9033af59c42b28c7974d7490249b8422da869b6745a5150e1d2c8c233942975f16c5130ac02e5190edcd05fe411ea7b57ec59d358ca2ee0ea016285fc11e70fc75ccecd9af0799563a1a898dc2bcd5f8fbf95944347c93ec9548e1fc11fe0be4b60123003280de31a210138118aa5537381d7e445279f6bbe27c1eb572ba1806617b1cf3163d9bbe7eb54a5124485a6847853a8e5f57744d3375417d48f8a6c95f9e79c75f3e570d8b0ce8c06f1fd6a1eeb0bbd6b8b283a36ad7972636eb359b16e248b9cabed8e4ba36d7af9e1919abab3f450e46fa497497b7440cfc50e44ae672b223bda0c5b3697a741bbf11b78a84da062d4cb838d7f58b8e118b1b1a8406dd40f4818528e888c8d16c6f44da5ff2b4e2d13a2f7cde3b538372512eddb973261f8b73537f115e6833cc2a29730452634387895e4aaca2522c553baf2eeafa8329da0de2701f2d5aebb151fac7ec7297ba17ec5ee9242cc6db7d920c47a3ba440a929c132c4ca8baa23692cbe11a0773b6389e51d1af07618b869aaf39b0d335df4b100dd2a33e22fa5cdac6f67e2efb85fdcf568b9a3034e1e24e92a5827f2cec4cc902c30b167b5f9d4eae26358fccf2013b2004a2e83a445c62c649ac99855319a50aaa3c0002066a24aeedcba40445d3e29b764b411f8db4c9f4a9ab980f47829e896cbfbde13f1ff2b15ae182a723ba73d8a07edfd9a51e372a034d4753147ce0f37f19cd56c095edf167ab946f702238b4015faf9410d47ee2e81fb8b7732ea6aff9bb992dee0a5dc400c0cc31f510ced5226d9a0dcbea1cc98921ac0bfdfb6b442b52acc8f172bc81083771a9ae50d6bde594d3ac3db049cca251eb48a16a9957fb9241883fc5f1df6abb3ef159a7306a07bd97e59e3761c84b5b177429c13355e44696da4897b666ec6060d7284eab1d39c34d31f35dfabbf9911191149c29d936dd2bbb49895f737c0a014c16c6b5b5a9c0106ac0c8bc5c91715b85f9c8076ae65cf4e20723ee3d3553d8e9231d4d9c168a5befa5d0461165d1d60a28e336eba0109bca65a920a7825b950dfb2507922a380677992971ae50cce48bfbe326286ae94706aa5644c18ce6b54a620a75c2c323357f1891297dbe4a24305363fd3fa3eb32419716bf8336a193f4fe58c24569426185c199272f864bb88227e20cba53ff76ca99243e88a3e4bd9c19044452cfe33597406e7552e7c291d7c2262ce46cac2921f58f9df9a2c01c56f43ee5cf43d8006786b9cc1ea4467d3d041c849ccf5b1a178d0e4a4b514eb6d6c7b8e5bfbdfcf02ad8847dbb8c08ed0981c1a6f9619e8373e9da77ee353911c1229170efa38f1a3cbc3a4e808bdd181d2fcbca38fdf9553d83b8d97834a88612c8d5066652283667885566364ddd4a9a11f4f27a4e063cc0098dc709c87afc3c87bad71b724ba12eb2c8d34408e6f691a828246c5bd483bee2f7facf1e3c1270bcb707695a3c6ddab877decdf395b18547a5159c28f6144c274024d65636f2b0c936ad297c93f3e1f3d80c08d44fc05006c1dd190220062a289c04c342250235d046aa0100131500420263a113834c691ea6db8f69eb4c485bbd42338afc1c369ccb272da1f4434b72ed938ba025de2d332d82f7f142e745dc5f563d160e2ec684c08abb3837c8eefd69edd06358db3295d89b6690da1a02bbd9fff90d38a218e637938b8106c7d6bcab1c40f110bac4db81164a01e5e7e340acfa1fd143909d8cc972ca3e0bb3b74fe0ee658422d66c3b55dc4734818facef2e9c2b632a7cf7ed129339525c2b67efc9dccfd3398fb17e251ca8cdcfc7ccc9532b3e17e39c3fe1eaeff0c70129991513f543a406636edd7b3cadfe1f93f314e223372e5472d1f968fbd876d3381099cc9400710db224500580733094466c2fa3fc1d8dfc3f59f834d2a3332ea876b8ec9cc06fc934cff3f18f2ef10136546eefec5d30132b389bf9655fe0acfff896d9accc8153faefa581eb6636c4d0998e04d06d380988e65462afbfa8565a2cb4094191ffca798ff9718f4877504640687fe87ee183223fb3f97b1fe0777ff12689432235bb3d77098cc6c409bb85df346a60176035b99d944aecd9acc10cfb706baef34c4662cb632a3f4b63816e321af70330a277070b6ccf8da76c76fedc79d6c99e15704d19699b34d59b1252fdff38477f324bc432c820b5c99c15d1193a5a32b07931dd8cef989e13b34126088ccc4b0e9e6d41ca8ccc8fbef3030f4ffa9ccf1e6042e49e83fae75f8819cbd05e89eb9fa94a1565df0d1d67b806516572b4f5ac3177271043ef13c02d62151ec7f90132644be0cae490c0e70ebf22e9b6f10791868fe49974de4f8c5fbe5c14a6b48989aa163ec5c0e36ec4840e3b19399c331be6ededa7ddf8992330cfd9fcafaa9379219c22fb079c884a4e3834d37a74621f996cbd9106f3af1f259d904453a3802ee7541e6616178e77a5c1864a9e82d6607b4503d21c64a0909432887755af61332ffe64730e58f04f57f0525c42f11502afc5b10f295ffd172c9da333e863d9cbd57a50a42618b63900cf1dbe41f8cc82cc4c9c245c3c6d8a8c843f9643d2f47ee1fdb25c572c19eb0d83ebd54f7666ddf4069a72e8912e9d92b5ed9eef0e891d877caa823ae54ea2c5d27c125a6b5c8b15a5aa7e9ae432dd89eff5aa551c4493bd2cb82e93cba57a3d93a0d7074c5617883dd9fbb73ba233576e265612aaabf78ce3007f23c8a54cc7084b6a4ab0764b6571c93a48754c09a097f2ac05cc22e310fe0802edef6cb150093ff3fcab08d7b2d83d8bddbcd000f866983b60eea7c8fc063c04ed856e6e4575bf849e285b11f38981c517e9c4139a715fc6489186cc109a06107b4dec33f7c0e2e460ebd624d3e01ad1abf9314423a2bc3fffc81930277f2ca82b5658ac4170251da5542bbe175f483e90bbcfeea16e08ff0aa5e86b134fcc21ed33f203c3c6431b750661ff7e5b39179768a3e6a4fbfdd6f3294fa1a300529c256a7ddab4fa85880bd4ec8ed0ea277f9d7b6cade7810db8836950b3efe71a99dd1c0e2efa8dbaaf151f305fb3d732ebd174a13eafb2ab5372d9a8e0738400c48218d122a8b05058cd393cde8f905bc5438ae9836c536f59a270b21e2a31f787ac4620565451b513b0dda97eed264b0df9ec96cd538ab500683dac6d5ef70e454e7fed89d6572fd2e76f690389f4f573dd8e6d1ddcf3ad414e941a7d144d70b09a2210cb3a4fe215fd3fb56d5c7ebeed15343a689d9bc031f8cf01651a2a267d6068b77b860668a7f14377dfc700c90c4a3441c19d9c4a155709f2beda0433da46dc2024acc30c63c163a5cdad9606bc8c522b86dd4b40fa9dcf1da39bb6070a1634c642215a98d05ec1eb0429803cb83c222102990ffa8dfd0e7dcfee06043764e8749bf3119c4d1c298418b0543885c45e2ba401a619ebeda12ae05938a1c0c3f8e8e0f1c7a58e043708b8b39ffcc6a37dd62a9283592d7a9a9120405c02a48eeef5da65fffe10849ab47c40a54675240934cbffc5f0efccae3848509feecdf06d99c4530eb3f26a78289232199fdf6b72809c4cd6cfbe6f4a31c8aeb9b81d7c86ec5faf8f0087e665004a88ee98aff81ea2583db0c68bc039482fca1ebb02b7463aa8e62ba7a59cde3256a8e5b3f29eb8e5e5d3e0099e5c06ff32e093cfd800731b988758a13faeaa9f0221b6d2cb9b6cbd68ff4d2a282a05933faccf9c94b3e13c81a280e3411a374a9fc915c66e114ff226a8183800ddb23f7cdac06d6c00a788dc24d10fa7450d1f9a3b0c0177f1084fef9d61260e188d2dbe3b617661ca7a9dc974e915dee31bbdd35ce01c9d681463aa62e66ec1f0a02e2d75989049dba6d985b4792b0e1901623d8db29d72d918c2abda124b21cd77af8e0b704815a760cccb5f0206f727d0f71df113bafa146b067d5b957d68a24d71b2c807d7036e4cf9be510b4530604b9f12cb7e4e4dd92090b83d4a504d642fe4a3e448f8ab908073a93079020866f8ef93a710a64bb4faade04ae93ed10247acf8b48d6fdea43535c31060715a9d73320973091f3a366eb31a1e47c21b2fa2dc90ca177a85527bc304a5e9cdc44e0b5cf25978e9520636459a9718b03336d5ab1262c1b765a29cc6acd6c93e23a1498163c3e5a5e3a328fc5ce843f5d66daf352e25434c70d4bb16cb80f1f7220a4407913633fc3f6943acf98539c3e22365e0e67182dcbf5cb8945ed5273d093565e542a687b6efb5a0349447927e162a00b0fa8de024f076f107e91c7460b71719c56efc92f3b026aef307ba5a80d036a847330856e3fca21174e6f3b7642f7bafedce0f8c1e14c2e8d97380c086c7daa4e769a5821ba8a6ec7f941101e69080f11fddffbece65053755d95960fcbe5a33f76892a3a0e08e8a0fae1e6c4c9efdb9137e747dadb12f59e43acf8a2e504ccfbadd040f0aaec54602af8b11d35ba32a818cca1f406436f7952d3a98d63de8e76afefaf44349a56ddd013a65e053d7a02b0a9b4f7ee436e7bfd46759e68a7fa80df5b2bb535b491fc95d1d1ffe05535bdc2ae2675fb554271237a889dbb810fdb73b24d54c399855c23629a963c5f6900b183af091ee71e4637a0c68a0ddec3aeba47732bbff55e01d5ce13cb0ea64158e560dfaf7bf779dea2d17fa68e73210c360f72ed5ff99ba0f11a3271d041c3d940e139b4de40168863db5cbe54a6e3d97afac6b3b97b35c11f3c8494159c7ffe07946f88e3bcab813807ff977b440fca652e289db0f328c79004402b5465a9d76207c771022bd89377774c733861b8edd7e863dbf3d4d2170c7067f3cfc98aea714f993948daa75962730a23563d049bff5c948368388425f46a058dfc48c4c545227dae4000fdddc4a305817e85ff1e82c72bbe474bdc4f5988f6bdc2fb69b93f447f6588257e1deb4d4dcb47537dd07bb5cc327b642242147fdfc9dc0f1828efd67317cabff1390beddf76c59d47e8fa1b0e39531e94fd8d5bae9523145ddd2090e1ccc03c42b7bff5c2d963a1d285db9ff544e3e70374ba5bf7dcbd0a5afd6d58d7e852a10ebd6745bb519690ae577a8f96bcdbc810daadfc6fede4dae1420a2aefca237da03dbef13e4e057ead864a7793704870830cf52e6f3d3213127e1f723f7ce4230ce33734a8fbdb94030346bfd0f67df3d19b083fbe6534e1b881f2d56d1a9ddb349ff2ce7e07471842bfbf0def9e578a758dfee96d6d37044f56a091be8430cd93e8be5692027c4dc24a9248bf72c6c216813414b750de8d63ce3c42a7bff5c25d0ea1d5c98df73849b8756b68f7b7fe04e1a61250ed6f3d77a03cbc4defe20e0e9477e34f367e7e847ea71b5f2813f10beddd0e37982d976189b79284a6bff19c81e2dd38ee40fb70936c9eab021b03adfe7eb8a93b36b81ca1dbdd7ace407bb78eb87b0e54fb5bc719683f6e7e66a704b7b150e8ef872bccfeac6185bbe740d1df3aee40f56fffd4c44ff1a0eeee31dd67496d143c74ee3b446fa56745bbf98c807e85dbef8413617dad4423be8943f0d50a34fea77b96b0beb1caf788fe53c7b23439d3db2b341de1a32eacb62ff1e27be0b71bd19153082e47e8bb1bcf3550dead23eed4029afdad3f41b8b14fa8f6b9a528803f924e19eb494dcbac49477fdc4aedc8fec0407bb7df146e4079378e9c451674ba379e33d0de6dc71928efc611775441afbb71dc81f6fcf67b34815f28eff69b42fcc642bbbf9d2e3ecbbbc302bf07806e77eb390be5d91bef610a67a13cbaf53ed4d497f85a5741f55d9426cf458fe7e82b37ef41a663f175248555f75cea0765be4fe564a9567a6d5aa510b7d88b3381268636bb2dc4903ae2edfa3206d3c042e64f16f739d08136dc58f164f60566f9a81c63451f8835204c8c9c1ca174d5782be9d8804dc81e9028fac0c5e7b5e734b8303c7e82faf75913f4891754e952fa251ec98487d1031172ead9234e5ba3024a75183579372bd0b2cad05214a8914b897a159d7edbcbc96dc1b0ac686996ca62706f2a614efade4a5d883e3f5b96cde2134d3ed06a61e4f7c23c21e6a575637c0a2279fbf4c83b5ba456b14a3a496ccfb2bff81660895311766caee000b3039e4ec33d0f845018946130b4b828345ced206da8fa59099303baa646e6bbf6a6f5ae5d5364a3f43d5a2b9a0f86fdf1c39b3cdafe4e1ee7fc6ad7abc7fe038aba1afd88ba406fa9658538d2f59689c706b00995476f02bb5f16e99b41f51ed2252c0ead436d313358c97a057c95c43f1de52d839a484eb2d1d8f67ca9f50a82ee1e3f9d188513ba205614269c20a3044d1be1e7da866b58752517ba4b859da44dd8796e0ba2b9499327d749a46dc51e01b0d0560465a81888a545093b268110d6aa0c137a6c351037ae8b51d254f250ba46cda4a8d880ff29a51704032022a5af35ab0cac2d7f8da10979255e8f92b8a61ff090bf0640c344c1365246df1d10ec35ec1655db12f6f2e03562d820cd47ad76d0325b44bf7c32768c9821e67e78a14361737689af2222d972fb3476f33b6613a8673e7541caf6e812ce168480bffd1606e1dd33a47a947bb3d103d86fcd3b25eb16aa6db2bc6c6612a299808bcc70f35d0cb006de28554f0702a0a889a2150afd250ada9bc10e48edf154b59321a21202a6fcb25bc6c2c689cdeedf4ffea103ebd46430ca8e87148b687f52f120dd3374980547c78f3f9fafab638946e567a03c8450589d270e363b11497d52e576c06161f3120f7786068bfbb864e0ab33e5918f17f5bf08fc6564a4970a58b1154b65f65a48467277fdf31a49691dec1ff49a0455c6970964a816ba3afcd274feedf676ca140b8de4c00d02b83347e1d1994a16f5821d9dfa1bcc4e912f163ac9e890e5f9e3bc792d3c216ff3333b97df309754b625fe512f4c6d08d18a4676707d07e63e700d5981ecb196af69fecf24bde91ac98843f70d1aca58aff9882b6409f174e5fcaaa618db1ab09fbe0392bae34e66a530793c84d9feda13d1ba9346ba9ee2212a4839ec5ee359bc6f8f04d6c790a55b2939b16688a95c7366e256c5fddf9bd3f181fa8a1ddea0240a8a26837b17d075b5a848c34873740420f147458114a8822dddf3c8c01f9523c75ac3a1d31a31aa6b2934200a142a97af568054b416d51a8e58c9412c0321b5e58cd33b55257773a6f8fb46d219f362629dba77cea49886b68d573dd0c51e915bb381e42197057741b2d4d33295db6517e7610597abc45e6a34596daf2250d7d53243938d120611bc1409d055fa9105130808d6a7135878c7c65999a5a85eb4abf140566cb07f41f417acaa8cc47e5b3877660438b3514b288e7643fd3f13ad2c0c994a873e1374aa02f084371a763c44b50205727be5cd59536ee70b94ec0cd3df0db9dcfd6c35008d624a8ff8c9136a60cacacf248cceffb27a561e70d4ede8e4e9840745c5529c5ca7b2d069cfe445926752d2319825e41c1ee7a8faa0da66416c9e7afb861bce4af257583c4898d4324369b2659a96ac46afbb2feda73b680b2ea4759d31127c596ab742e5c8680881f4ee37a4713112c36b4c47013aa64fa156a57ca6efc6472144fe7f47cbff9fc3dbaa5858c35962a1811c8fff28a5a87d456a7a0dfe96887ba27d091174a855c7583e65364221b00ecea595a3cd9cfc6605c64464e1298a8625f7778d59c8973e6128f1734712b9a04830679710ab3ae4cab4d74b4bc9d9c62060b91102c459f1e00a47c171108708843501379c68e5dce300555ba9b32372fbb2398ed66bf3ad11cc1f4dd05232aca57a985ece5565bf551d2ca86b93c051a19bc5e8d35456ba61c085913890496718c693fec472014670fb97d2b17095688d0093f5714a556d051b23e771d8935e7648c845d3e1a97afd8f7a4e7912695324ecdca0583573c62db530bfd693be0a4bbcd3633321ce7c0e8b12bad7888dba2b5f625177c236454457cec142c54d81fdc90c0c9ad3c4e42de4db78da43723afcf144fbb2ecb9a936518322935b2ae9968d51939bed908b471825213a001a6787cd9a2477212fb3d0ac190680b73a3801910c5ce1c90ecc39615302d80c1659d9197e341085438160df719cd53041f27a03b7c8f9ca4298f3d336a14a7f935f0ada0f651eb96b37d13966cdd96a47fd152dcf8b693254156bfd20971cfe811630974fa568dcf082ae35fd5085b7756645454f8fc6995dac0a6c01b633535c3df5dee615188d848d36ad7f7001d5ad4fb90853889717563a2051bd82bdeaac103500050094176a6200ba500984d09c5bb421688263d2649f7316f12d8b8fb57150ddc63c5f9432e39728421fe362d6c7459e7419638f507b8bb87e8b7fa61967be62e08193eb7e3f29db18c32de69abf1516134529e6159071615f2117d35bebffbadd679bbe8595c52dc65dd8221b03d8f4a4451cc1c53fc29c8b596dc6a01fba6130820b85664fc125d89f3a32170fa52d2b3e9571ffdf082efeb5cb2283096514b5428d9273eee04b30084ad76f213012adea52b699befb12e399423f3e5c90046d2db94b8d17982441182504f9285cc681832b650abcfb88dc0be24f4b850b7fbe8aa9142ca132c2f8f1336ad938f12d30043e0f6ded0c36ef741c7cdc8627b83084bc588f58cd8b14d0071b09ecb62ed95b6302d3222063ac0c58638b29f6c89120fc59a1947e498fbec860e60037e17abd6d0ff30b590dfc3fb1877feba3191066a840d6d9149f601f6ad89e2aabb09d34038abe616b145acd1394021dde6a54f656d6094e9eb5e2ab85b6e9c512f1cfa83de05245dd9dcb67c1f7c8c455d8a87d5df39e57b8dd874da5927fa50eb0a1c052f241acb975f5ac9d3ca5956b0d8af435f169db0da5a32ac38dff422a27fc57059fe46164c8b74f923a7b37d4016d31551c869c9f9eb7a553a4dbce8489823e5aa1f3c76d613843815b6cf6f09ecfb6be3e1b199145bcf71c2f22525612a50d34b661fe41858dcdc455f4e1d70aefb87b5010013d4faf65cedea8c46289fb856fd0a13511482aebc50338eecda4f299ff77045e03e29c1a3b5df59e55af2f6bb57d9371a33b90fcf8dc743e1a4c3b89dc800bc9c14e94ee28272108727883a717ad1070e3a464101cea4238b4123f5109a8f8cc35c673fb698cc2dbdf68961988b1cb96ce7834b97045593a138d89cdfdeb339de22706cbe9abc296204887fdf15b0f2873495b3c11b521de3e202a87521d2f11d84735d037d9fcde1a0b00835604cdc96e207ba2c921a7910b7f4691548f439d7d4784b71b33bc6b9b5f557021152f204d984bc23e4d124ee748b8a6da5de3ac5a199aa0f7d743bcec5d678b681fb5706ec2c3c0394307b3d11eb6e44017a87cba6edf5722d759c3fc6f294de217b3a0fa8ad6c30076ced39944a38b3f4981e0e6583151d704537debef84cdfe5a2c7f555f45a01fa93a89b9fceeac65ac9e4cfca45be2f16180d3accd51e0cde13f8b8ff47b9615963ed9271d35138fc371f842e313fd5eb29a15b3302fc1bf1ebf0109f0b7235ad27273e67adac7fd912a96ef243b5b04e0c5aa87fc0648be50317dd4db847ca2001a317d0a14b223b16ba2f00c2c124be235ca9a112de4b25296547ecfaa6b861dfca3bdb21d04725008ea9e686305e5fcd52cb826ca054909957604228ebe64ec813130135e0991a308414ceb4161a459daeac44a37fdd417383b720988fb4949ce0d0b863210eec1bcc5ed402ff18fad5c295e030dc4556a610678a65cb2efcc2c74a79518de7393ab8f8c3861c27bb4e161cc3d200b9b4a4d1451682f7c9461940bdbd982b1e16f0a68aa663b45e479b065afa89f0dd7cc3fbe81767c569b35c7f9809a2399c7c998c3faf880f2b6407115ac90864990882080aa8abdbd412b9a6b97ec2db0fea3fd58e6e34d3202f9eb54aee73859e8b0d85f1c3cc2c565141ffb319079c1a1977c87fcca5e4a1c7444fc8ab44c5a48b46cfce1cd1fc1af30d2c70c428ac4bf078424eed9dbea672f98cfc1996258097a5b1a5dc2a96fe01d025f84d34cd05f9d4a9bb78f2ce9268818c5abd0f20c11b75f904b2b078ade67856004b9dca13fe3bfb8367bdfb5d6e6051312e334a6654d539b024fb3fb4bb56068080db4bd3c1fa046a8a08fea71d35fe0289d64722159be76e92886f1d1c325ea7041cb44e1cb341d0b450445e708eb1e9f2439655ae68f762448b0aa7ad32df5f1e1567db534f0527a9c2ed9f31b20fe0aed01b154accfd320b520c8f461c318f97db33376bd7d0adb130df7b5e693b2ed54a0e15cadcd18aeb3aba29b00f4405e9127d38ed40c7fce2614049b3e7688f2f096a5f879af8b19fba7ff774b23a68278f33226844c8bcf00041bc142521d65ff088e4d9dc6d3c227ac9b4953f3038c75eb7d180593f2cdbf5cef830cc4b1197bbd2c9179a0399987cb0a39ef7332d09c8c4bc22b205c91b5f00930ecc3792ae7e3ff3b6dce4e8d906d924642e5083315401e538659ebb27080bff66cf8f6abd4a22e90fd03a544bcaf501dce69860f663875ec58666a2351cdd268a8591d3b1ad52f99de3f5e289e3794c97c0f77527af478f9f210ce9b5bfc62ebf314943aab51c5e34f6fdbc7d40a9721717873ab31c413c6a271a164198e1e375016d66ba9f4514585d3a6bff55a1e4959a3f2a03bd6d2465fef2407a534a01460595284d02d76950695b7f6b949ac5d22e4e69e86ef43afec19fd52ad2c6c24435c6179941fd5ddde28dd142562f1f7974e0c4e82541921732ede8254eefbdc4f94a6d998da0ad4f4d18938f5a0800e26afaa94fa0fa40f936869c199d221aa45791088accb3d33e909a23ccf086c3a40b32838456482784bb716091987d62081da2d1e0dff7aa5b8a79d82ba0c0b2cb7aa8c05a8ba206bf77c2c9934259999cce4c4304c2e62fb1001fd8c11ce0366204ae651623b342a74083343df517a7162cb9f057e153e6c90864fe78e6c06d65ed18a6708020cffb364c9f72feff63264628575d80a89a35cf8665da1eeb11487e1c77d261aa3ea64406cdb1dfb8768d1fd035e97184053b827f9558cd02ab0de3bf3ba85157384ba8d40f69bd57fe2485618f637a9fd071b25d851b6ae0b03cd09fc181fb29fb259d360659d8afc7df3a7881814b6eea086815d79a1fa537de118db31b8bb7c2f17e5c09801b8ad00d120425cf07882d8688599c57dbf44871032ac242e45f49fb142059f343aa8a6f7ebbfe30365d0305c608b6d2974977b272f4b75d9b6b3ac2a81d0c2c22bf2b9127ce492054704842a06f5e2157513b4773b1c7b85bcc1af9443e787282bf5dd20ce581506630bed2e31dcc5bb505ebc98275c3f35aeea3f5fc8be6bc570551c1439087b130c605e2cf074d8f699c56e39020866c1a50662760a8762dfb2c1c1bee33076de0d03e89e82e7b9aa3ba70b152f118cc02a24111d912cc5e027e0fc9834a77eda67b5ee74fbef73ea8675a875e7db779f73372c874275d64cb509d962c442ec0d2c62cc0dc8304fd308dc8fdd22626eb2e6bc87abb92c50d881cf18adfc23ad9e683d1c28105acd51f2a4be08dd950e79891162e43292754935771bb32fe990bf2cac998c4e5a9c5fbfb49204846f4ec14ea0295507dcf742259a14339b4d9ab7cde8b04996e3f8f9cbca06ace50fcfddc610683c63644859a49227e1bcdc0346f54c23aae35320c6da56e860cd6000284b75706a0371a3dd30bb1d64281e35823d5550e160bf09ee79eba4284e6067162d564d51935162be1de82918c982b8dcfaf895f37c3e21c61001c194e52cc4ada74f3ae7a2b5576e7d0fe40d84e34115680270ebaf70459af3b8d95d68e6f9808ee58d5a0d24d4dbe38679a237f57135bf972df461bd05355c320cb186165e902b9cbe16381e23079ed1e1a780ab1d71722b2ee6968790966c5fdc88ca899f7456a1be5ce9fefaea6219159fa2e0bc251d8b95f83ecf968b2735dad6e324504ec828a0c245f5e89575be8937b100064e5c9baddd2dd6df7e84666d31a648c451ddece93d92cc1a7d6a7ea3aebad1a397481267f5099cd7dc41fb5a10e9cef9e2a53eccf32bf854b19f3a5eadc2cd7c82cc4c8d05b28cf61b4a8d4057322418d08125896a719fb7e213074e90a8cac60a9aeaed1d23e0f0e1b562cd4fd0da3b05505e82769658efd812a1c33700434090df70c39ea6ce04cd85fbb4280a31b2fe7779a503bb4fa7bb239eb74aa29990e51838dc64720a1718375b38af074acc6d9a12fed230676db653b6fb31835ed977efc6268dd470e508beaa059219a2d16c6ed86c8d169deee6c88588efbb5fe0bbbbfc1d935ac7a52fbf8079fb8c5e05045f7e05fd74030b6a311a01726c980a5bca03881ee0360aae7c4d49ad8ebdc7b9f525bcab92fa4237369a7fca739aeb9b771f9a1a6b55aa3712fe4e72e9a1a9a3ee7b0a879a57cfa6f0939f88e735db1b16289f77b23165e1da000d7c4c7d9aae69ea195ad0858dfffa28b2a9eb7efe29253a223ccb2de0a93b8988ad282df11a49abb835559d79e9fb9c6df9d4e0ba07cc3b045c3bddea34f3c09e0ab6be29512a9d2698e6ac9a634eac3c2ec3216c865ce78f2ee0325e0056e19621456db9700ea4cead4dee0a46d9a0f0488a054bd739f2a35e71c5103c26d70044723d60afaaddaa0ac750627de3d1521b7767cbd235b15af5bdb50e593a4194e63d00a33effe41c6e5ebf6a32faa8e764998c4686da35ce50cabef66f57a9407dbde98b41993b730057add35fc45efa640891a1c7b9a35e77fb7d0e9ed4c516d408914cd9e6ed0f1fbd84d27fe8cdba308912a8feab9d971a81f74dbb3b5da16eef6c69161f7d14cb1c2fffbb703ec13837633378ea56bae13c9ff68de8a28194308280bf115e0c4e2fc2f85c15a60d5e7ec29c4b96ec82437b7f102104cb0842a8416bc848f67dd411acb3b867ca7962511b2e0c832ea6292112661989776d5252aea44d96652a4678eaf8ed5fffe8f5129621fe3c795a33103ddb926b07712aac9b6400e63b3e3769c0595e54ac728dd70d1f0ced1b3cb71ecb2746c5a6f46ec8214e2c688c0b27b2a4bf43de214a256bdeea23e96cfce881ec97e5209cbcb64228e4857022d2c043b613c64ecf9ac1226b6063ffb78d2586a90b60f0c6e0e46b9f551cd1aede22daad5de2762ea06e77477004173cc446d2409848725a30774cbda8bb2e6fea0240de96e6c7d29c68579f55948b3b4e4eb9b597324e1b2d710a5dd0d7a604973e9a1d45cec1132161b08e343a7d738684ad890179be0de2b5501fb1467a5a11eb086ab3ad6f833616e6ca9c976461e6ad287ab671308c773029d36012297f05a4e826b37dcd6a89698245c6c4023cefaed1fa7aa40d443ab7f5d0a5ff18e7e1420444a2d4ef60d9acfc91616a9b03a9a979d341a371ab7aa8c27429e13f13012d9fb42567b7662fe6bcdbc0114098815f0140d342d7d1a62e5b1a9fe8979dfb8f7883eaf2dc217942186e672d6057c10300fcdceb94e30dc995703ad1e0e69d436ec9c81c6f417b80cf6d54a653f80c741d832231a67e0c0758457070794b2073586b5f7baf68104753585e2086bd149557d35ec2c8754bfdb4625063ba10f4f50e8aeb78684270334d1484340e82ab78a84460260a0a1718c8a73fa50fb382cf8ac20e8453ee750051cc5ffdf903a753206df292c188569216216feb7d7603d8a86225c4724b81dda45b928689a6f840c6b3a35d112eb808e0fdcaed25e598ee72dded59f72d4d4f16fea7dc0632b3397855eb55de1910369fc05d51fcdc25ec27bfdb8c0f64b72c73ebcc54fc41a8543199bddae425d96c8130fd7717b6f25120e96e6cfcb1c7e8ce39104e292e2c62311e39d5b8084731307dff170b6fbd7cb077c4f432ab35e4c1157f6f221ad399cdba84e1668a1c9ed850aaa0d0bf16af4c9e9ce211f139b6cda07a57b3280f2acf3d91fc70643d0030f901b8b7f1c2445b1e1e5c5be1656f84eaff221476f16a79999453007badce5c649f937fd085b1c55b0ed824054ca434111ee1d69edf7dbe39f6a21c4caa0e32954968ca423b55a0ceb4b6cd2a2067760333a24634d28a40d5145110bb8408bb7ca0a57bfc012234b93bb9ebf26a845bba8fe73949b86ef0eda70c1411980994b229f8842f6cb233ef2105663a63c97cc929c925b42372e7db6d01ecf566c0b118c0d9bddc456915e5c26ef34075bd58a40b194858cb8efc657119e9acee0dc9e40466ae0e94d9dbee665f9597514ee9e6c1ba6e7ae0112b4385810b5af4385bcfaed70002618db9a3a260c41c5a94e0ee675c1456112ed86521b37a618eb34755f956de8169c2a79c824db9cf057956604f2811aab155949a8ad154de1d541ca6ba1556221c57dc24e04b78049729c6bfb6892566553801b1390a23a681ac4a5ae55639ccc5535b90ee9807da3a98381ea5e11e5dfa48d12470683e4e06aa175f7be932083df9b6c1dbf295fbbb6c5a8fba30489d254dd5a3bdf7d16a757413cc88554694da97b73463a6c95aa034e80ecce73302f439ac96788da95603c68a233f1007480c141141dd296c1924c1a08999d6d2579fe40f84f13aa41e71434929241307af9857e7fbfd6438792946755e708f30ed25a2000d5182ab04701541d08b46ec073acd19833dfcf209b9b34b0012477d8b9c8f30de10afd94330d3fdccebe222d2f99dc82b7dc113b7f227f0393398f7152aeab081fddf638bc7c4d1ce7d73013ca938b3c6b7663ec7e00d15b04ce3099b02a4223635a99ef2054e0f2fc4038712be5fc400a1b3fdebbbcda633da90704f1aa68cc6b8d598f73d6025a61ce497b833db00934fead7d762370774e978c5ffc9980e58340512c23d80088922f0521d571f003d60e3f5f8ab4032a50b41dbb46875727619183a1d53aa02d1507b0f9a770855a0a8c12473cea8c1780cea85507f361203834fa1a7f1e93511613ac408423be82d412f331a59d7d01692113498073cba3ee5b3239976b057e3eea403b43cc3f09202ce404fabaae0ae999af86ec6deb6c829ceb7ae335b33257099b6615d1e8e0286a4751480b17f8d1b1ce112013c66389f67d2cf3355de4ebee04f9e6380b485ddbecf04b1f366f1884ad4ca5e1456915cdc1dd12a94b831b310f7ebf8c62786e0e8c6c10310520ffba7d73e32cdc11a13e9b42aa85b161818178508a5688ac2cb58b93ae104d993b1e4bcf3b7c4acece3dde29c00b9391bd6129d4f5326aeae211793e7e25378ad366907f0ebc3958056fe714a55571f08d1e9be7def61bceb7ded02e0a2500b3bda66c23edcdbd787a8b5791bb0cf91ec0ba471de0ee97e51d90449b1460e2186af2042ca1de1e11344729e7affab4108db1f3cf01bbc75ffa906c10639e43e36886a78f6c1fa97c8013d4220143bd86c1a3cf88110be4430181f22808b4531f5ee0231d6e31e86a6fd07f881a919049af261b308e1e3103d0af88f827385f07183c81a1d9449bc106882516cad94581b2bef534a62b74e55a99e86188a24d6e586405a5b0cd87a663cdfff05869069abce138658b7d26c241fe837fc8b18629cd9f8d36475010a661818da9caa625aee5b4b9b34e4c437374a66994962124c924932910ca26e2a0a238a88e22496398c987b9bdfe20697daf120f9f5c934b1384e27077b060dd36c6e0e47aae90a2b0258cafc6c54635b3e03d5094e47322e0dd95549e1b838df04147fbeb5d8fb7c5bb2c4f9966946e71ba97912c7094eceb40db607e3b851522f57267cd0e693a0771d83f2f33a9f4e1e355242f1702d9f78b597ea58cedaacd8811d431421954b62909a6cb2451098c1a12888119645aa5d2b17e23a17f126fa52ed6f5405790f7c344de8dbef3e0f04f49e4c2fb07ae1840653be3ddd84928c72978704a2f741f9c95d2a2ca2dca07b2794ed418e9b6a081d18d05414297469f77de64708644889d18045e2812a65c3e84f91a48ba05715c15ea591e439c76422dacbc4e8e8657aeee277c6431d36f8de13076ec149c35e2f0a6884f66a3a3d254a010a1a807a6733d4ca07fe770af93b5dc27a28d1cfbf8a52850c6cb81fb03601c09a0b7813eaff939cc0e4445a42123b13a3ac8c6028498ddab202828dfa16ad1f7e5faadeeb0a2deccbbbecceb92a2c225cdca539623f713404b587ba777075ab0d6fcf10b5e33225dcfd1ba8ab875916d466df4feb25ad0562c033e2f6c8691433f4c8f6a7d14a492ebb479fdedac659e9c7759a450a885fc169a132fca6f92409dc2083d070ffc4293320aa712031e97f9376f823423dc93114e7090dbf001f71ea48506b12428abc3a1270d072caffeddb5f03553d9702cedaae2b49aed9e3e585e19daa433906c783da24a413f9ce7a016023d3c884cb3836bdb19bc4cc384d3a8add7f9f0a72f4e1ecb421c11f23da69109b1188307dfac7dd82b03b33c5b2cd5daf73b9ff0aa290fbae1eb7b3e5d6bcc4d6da222be8a67a5c5cca96cfa0a8169738280ab150b604aab6de1d5692b4e5d9fb339c8d5113552f07289b367a637e383ca049b53d826e03d4572b5031050462cabcad90ac91acecdb7a05a65a4926c9563778b14a6498b31a739d60cca965b40c1886cfd6830225bba37b6ebf7a81940fb6be91298df8996e53ad13cfe797c5556d6bb7b3dff6a4a1a1b658c96bf7cf543736e5bd6259477db7d85ff4ef44d8df4bcdf38b8a467755832ae8c1833f965525c9302b55e40ac1f82d25b78d99036aac4ccf83d71a0c494b374024b9dbd947496bd363e477b06a4790ace7ebb5e93255a555e4f87c89af3966ea10d0ced671fba9e9e88ddb5555a3b8adf8208a64e645946a7bb1eb1498601fc38989ac4e0064b59d4215daf8c53dea78e2499e16f7f4e2283f17394500c4401380b64e99ae3eba0cb47c0d340198898602f1ed6d445f52ecd6970bd2821aa962d0a6363ffa201d20e93a7f93260433d108a462e525aebafdb480b520468a0884a9c58e3c4807c8bacedfa00bc04c68219078e356c9120ead32aab3e94326d5ce9e2acf777f7e6ffe900cf3538d9706683fe64425717e4a00b71b24cd030a9faa835a30d859a5035647ce92ac4b950f2728587f1a391292d9a2c3f7424389079a6d3e765d3bd392fd1396f1afbe2196af1da07080faa13d060c50abb9d4c44025eff7eeee50aa31461ade2aeb396228a2ad2464efbda594524a99920c0608d607f9071d90161877e92f4b77148bcbccb9243389c2854ff3ab620b265c0b5e9e6471e1c3fc8aa6b022c22434a078c285463978541031941f1544b4b24c7e5410d18333e762aed5a6c6393ca35de05101248547bd418edfc3659a7585164572df1a14ea0db9e4803233ddccd0cc7bc9c1f5ed48fac46d05b79bc9d2008f46c8ab9e0cfef0e3bb7c9cd8c60616a2cd3075d8c106c4d2b71ae7a26aca85dfcde4f832dde69c932856594929a594fd32471b2357467e452a20ca987fe45ca63e0f2efd0a2184951a3940136e14d8fbd792ca9d69c8d6dee9bd37ff5bb0259c4871f4b897bb165259e254c63a53f2548f4945e2a95e4e42068d2c318d2c130117f83cd58b89800b7e1ef7b6d72bfe5996ef05fe5c51e1e6f809a891e3c787f17f793522ccf123fcfee89c13a0c9755ff170c29d81c1228b14275092bd3ba26a0c01a75008e27b96843edc12e3eab482ab8751c5ad2794cbd039e78cd0611230f9afa5c3608e454aa8d4ccd4d8d89833872440e41e4dccf15d562e53e3aad849743726e66e870c876458333393c3551d0f57c5bf72c4cdc6b6c3b9c8238b4bd47d5629e1c2b7916387c7bc9a2d4e82f130bfc663a67cd912b3bccb605b7c6a03152875ea4775065886157b3046987151dc6c80f71028f737f4269ceb4b01f9c190dfbbbce00b6f3e5451f8a3ffdee6a343a1ee853fafae38dc9cc8b906cc80c8552f3760064515f7e0e1dc8346b04ad18a09d7a9ccf5fdb088c774e749b9796e640c22fa3c9afafd11068fc65a39e15bf7d68eabfa795a4fe6824518c29fc8e331734bc92252f6143d1a38a57832fdc3fb193356acdc3a08e59b403581484026b9dff5b089f8d7d6dd4a5a331a21c00d6effcb5ec539aebb88247723f9f8d30893f92d2c270ac5b93672ae5bbc8a735df45eba61ab1fb6763ce6263e0f108f06c72433ccb41adec3f711bfea08b78b1e0492684408128f915b0a7e1795fc78ccdb5210282a69751157f567f5745950ef0fe55b502c27cf9af0182287a2dd78d8933ca6f32072775033c1acfe96620313ae148f4945252e0f813098b9ac7adcdddf0f97e9c723e50852cdeff9867aee6f6be1de391e28a33d965d3767daf6e3f9781776986350b6807391e7bd3406a30beffdbff7fcbdf7eebf16e7fa670af2f8784c0bf168ba88f7d20f7b4c58d43578983c1af8b5defbf9bd6f1d97e14f7fadf7a7f6c3a296b028b77fef782fbe75401e51ee1eef2272f3c44085dbb594dc0da7345253e9a4aeb2e3318f07fec001dee0f806e75e04c224686f5477c3c7a00ec4ae03a10b324071e3fb1d2d438d2fb70761f4ef50efc55ffa6b8f25b93d222db0d7d241a14c3fcbdeeb3b8b0fb9bbbbbbbbbbbbbbbbbbbbbbbbc798e1e0322e0455f4db89a874764f28966fe9956b2a69d8f5fd3b78f4f0e132388b1e697c7c1a51870cdb9798c6572c2f5cc2da430c8037e1d2df1b03c3f8d3a905ccc2a3700b3f03a3de053ce353d8856721d2caf01de3f417f502e05970678c7796d0780f3c0bbf0b324071db07aaa803f1685e78234a8d5c453fe5b866374ab951ca8d52ff3ca6e3726aebfa28f59d1bfdd671197e8c05777e01e304c9efbd48ad864c4796bd672c0f001a1832097215fd88c353093d9aea3a744ee1c7126b66c137a23847df053c033b0a3b92b3803dc939fa32b09fe8c7c01046918b610f34028f601884731409863fce298118432610093772ce8fa8a0f6e177af498dd99f7e7507f8575bedc6b9bb7b7d5bddc8c77f80e84bc9d8eb10dc575483a25c2bcd6c28baf43996f7328c662a284695fa9090db5abf7137a9ef468fc61ae526543c193a8957833e7d4fc2a36925ecd642ef85beb70fbced037d7c25730efbeb5bc865745aad568ba7d56af5c0b23217aae891944c8bce7513d7568f9e9ceb0193290fe79afe9b2b28e78038d70aa8fd60666aea16854008855cf09411f65abaab27d3c7665cc6f2f03c9e219f4ced4fa61628bfe7a4ccec812a2a67cb90fdfbcb3e19603bf6997f8cd126d9ebbb1a8fd45296bd631806a55225952aa95449a54a2a5552fdc72557e7a13a0fd579a8ce437df9649c875a6bb58fbdadb5fa4e2d728d20c95caef4ad122899a6037bbb09e96cdaaa560356ea262e2a3c8acbd0d65191873ba82a4e2553fa0e549f3ef78f42d177777777777777771b886e475b993e1d98ff25b1246a62e84709d0ec914d8e38477d83483c3422056ed135c47729488fe6e988ef114721d7cb1fad0643b900f915d520888c95328d0655864860f865ed2fedaf18195525e176b0a7a40208af1e8f797e3d9aa743db629534783586782ff4b1952c625309c7c79e1145727d2fa24aaeef454cc9158b25cb03656c1457d1b7512c8f8de2364a14957685aea1be53f198cbffe9a88f857486f247fec89f5a3b1b25d3bf8a7ca6cdaff521f6537efcec3dfbfa4c8c32d4b41e823dd088fc68ca300c73854262be1ec784a14c983db24596c80ed9201ba43d86615fc2b412f69d0dcaf4ed91c7bcc7b6ea1cc4bea4d500ffda8474fc0bcb37c91f213547253f3e4798d850c5940d6e598ed8e39832f6130866475f54812a10109013dc63d48cbb227f9e8a3efc154cada6af6faa728827b3432b07ef25491e289129119ec8f45f4b0e20ddd34cbaa8ab789347e34580a0c024c7e98905200b8046832a4723ce5102f8e0c2c8262ebde31e7a2ff435dc4bbc17fa196e26ba46134dd450da84bb9d782ff4bb08af06fdee22d85262dc806841729cc350fd55a84c31329ab556bb5385ca1423a3592bf6f5b13ab1598d327dbbe3314fc7ac58adf5e1d6f96bbf03acf5dea497f4923af8d77715a8a8a4e9a80f37219db3adb39b469f282b3a1d21ad6ca0a291b4108de4d1d446d2481a49dcec196794b37187bdd4217e0ecc37f1b1bf99dff6816820639b9cf3b2b3de203acbe4477fb9b1bcec19b40560713b970cbfe3b20dec1a388fe95012b340d49cda8d0560713b548e32a5437e7c172330a1186b22dd2ecc842b756cceeebe0172cab62465775f3f65e9ed97deda2f6d37f1eb77f6b7b7f1691ddbbefaeaaccdd86db7cc39df6a7277effdcfb23799be7a8cf6a6cf3ce66593e9a3c914ed9d5b4a472abece3bd7a818b6b8251b07d2758cd847ed2dbe0172caf50292ed675a0ea7dc01c9760372ca291aaeaf7f7dfd88b79bf8f1e9c7ed264503fdebe9bf7cbd17fb978d12c3d1397b93dc8d48c65a52b7ccb9779d835b689ee5c014f3c4562e2d8f6ffc3d885a748f66b778f8cf97b8ddc7378cb1bbbbbbd5d6d5e4feeeee7577a7937120cb6dc6b9ce3ce06c7273cc98c9c5e59e605631c7dcd7636f7f5ef3c22eec2b0d72fda94932eeb2b7afc3755dd776632ffb73ceabced9b3a33ad80d87667b4d3b33d619627505bb3e7e37835dd8c466635797bd0ef373609edb4d7fcd19d61b0eed1702736f9d7c201ac8d92604b2ba9f73f0c88d4b08ccd7d6d97f0eb02f04ea80b343c6b69b1c98afcfc0d576cb288447eed5148ba357e35cacf1a2e05faf6558fc957da19a172b2abb1ebbea5f32db2da563b5cab2a308053eb6e311cdbf46f519dd1b1cc8296327f89082d0bf9e470f99b5864347560cefe031b71e49b25aefddb80c9bb3169ea40c33b8cdd9876f39178f993a79eb7262c5f5e33f17485b80bd96ce81b3fd5bfaadb37f95f0c5ae547d1d9c67ecaf315ff0e73527662da95b4a47ccf3639e5b6abe4eaea1db75ae26c7f756e6f7fbd3f315b965cef943aa2e7ba859cde602b0fad56bb0c2f5ef664ef4bbfedbfde696c4da6dc65179ab35d324a91f17503f7ef35031cfb3e8d6434639076bb0c2ede2163b59094018c9ddca9d2fe652be97f56aae7ad5efdb16b1979d4ea63b64a9c1489a654724cf9edfef2f71bfe355d7903f3195ffb41a10d035e4fbcbdd2f250d15a6afeb653bb17cc757d46ee0346dc16febabb7d6d6d30babccf2e3f69c8b3b7cb84dabb81e436baeb8dd29ff89da8f57b70d56b8d5c62dcee8d340bf3ea64efb278dd9cf6abf522c09b611691ed6926efec439344fbe69ed4618f834528b87a7c5c3d3dae9a4466aa4a6e2e31dbf5b8f283ef988baf5a8e4ae79a23603fdb939110efa767b4dbc265a5cf9bd71cbe00a7ef0620d639328cbdec6bd083e78bd13798c6f5d53ec6e038bac6f4e047d28f7f49826f26cd2a43e9c70c21921218f8975ebe6b774216f8274798d8261d8d370d4fa75d6f7b6d6f934cecf1ecdd3de4bbf97fe4abbbdc0308cd2a7315248ccefbde89053ffbd1721f3e9c7973834571c9a33e79ad2307f6e9c73517ea5f4690aa721ad2135b978b71767c30ebcc0085818d1cf4fef14012c6ea34ef0e1f64638200a15152efc547e560811f4e387c891f06766a00c977d43ece25cccdc7b89cf430b2ec7101050abf568763c86c765707055fca11defc53d87fc9743e331e55608a18510ca1871c3a121c4b2acf10f382de031fdd1ad8cf64d83e4b82adaef1ed2cb38f6df7b993fafd76e4cdce9e489d348de8bc5fda3e4bd04f103070b780cdd76a03959dc87f483e3e5f6718e8b7dc4b99843e0040851724b9b20ee7c7a04a85b32bde3da47ca02274f94b04408cc33c26f72bb77f4e3bdc4076a12c455de404178687163ec96abe2df9dee9d8e61c96d39176f3ca1224714a003b7e62754844912edbbe5316d64c865b48d478c3153061d60424aee86b05bdd82d2471e0d6c9f1839b640096c0193a77a3c30c5c836de40cdc46576b82a7e0e2873fcf7627cb4e0078f7bd9470b94782f36dee3866c238a710406857c4e297dcaed4ae9ab79051017becc0f8a231c156004173e965f15337822a59452c6dc3477c6209ce90bc3e4c572ec803f4d3fe7d7788c496e10c36cc231bf174365a002203c914b1f33cd481ef77249023f2481b9f410c31cb51b251a0408b52d870de722ccdad70a61101a8650d334d8036e3e0410b3f9f28ebf396ca8aa6a42b85d71a38d63f8e50bd7dc492e9410420821bc1b8410d2a3ccb39e0000c9c0a30029dc281ece096758327dd90de7d6c9ebe6809b8d0534b974eb22ed9183878d1c3b2e796d474c5ea82065f7943da10ab6d4965723d2e82dfef427a5d1c56d1c085703cc210c845b0761661ae6b6170cdfc2655df3bcf6faacd6ee5ae6d6c1a7dfb5407f0a21841042487d00820b3f467e51c000cab6849c039a28e4861042c86307d787fe82b504c247b90c9432e7965246e84b04e00339668a77564bfcfd5b38972c2956a176e3fdc9a1842c0f055570ceeb3040c7318b64e9827c282736a5e4a2e85ac62905e8a18a1f2daa60119fa23fa4aaf962074eefbdf7de09f5322daec2ef5cfd0a55d16788211cd09364c50f488e561fa18452ae5c56303533353639e663b9f1595610c2780ca5d7af5c5c6c62967faa99712efab8e15b3897c97e6e3e6c1c861beea371ece7a35c26f3d103cab5f5b091e11caeca7e05553778ccfcea3273f361c339550f1f374c8f691b9b8df7127f75c59da9b199dfd95797158c675bf5eb6853017e349d614f1145c01384104208616a9cfaf53e030373415bed0aaabcbbc561805bbfd7d8c2b9eaa350c55dceccf321cc4c0d8aa5fe5087012ec1dcdddddd299069fccb7e3724cff764f85723feb57519c8b37631be5bcbd52822cb40709eb16627549c4fc4a0e4a23a0a160e5ce8ddddddbdd616540bad71afef33303099abb6e8dfb8c5b99adda738ad273c4f7a9e1c9147529092a6d0105111f5f9010aaa4e5a4e789cf43839628fa420255d4243444598cf0f505046d422e2e911223af2861a7777024e1c3dd5933283f4546f024e243dd5cba652a9344bd96e5ddde2a6636a184549b0628a50be3f048c3b271703bf9f961ea172fcf1a04aa357adb5d65a6badb5d2eb994a4e7b25c58738c2300c7bee1fcaacb4d08470aee0d49c5bf71c49cd39e79c5b8f1837067e38fb21bd24a295fb301e022b1fe3efc3782c068681617c8cef01e363fcf531863c08e375580f069616a73310f4214c48c032299b5e57ad1367d7bfdcc5c6dd45df2f486dd34a2ba5423c039147922461c1a1a50b9263b7438edd901cb7ee73643e7af0700ee21b9062909c1d86dcf0c30240a80f3b2786591bff65cc845fae1b0e594b2ee11bb80c59be65627f45ba434657dc165c104877145d9d1b3c06464b65eec38781d8c3cfd9218b1916e7c5d155b30a4cd97ff6af9697571cd72dac05d957dcb5e42ab7ae5e9863fedd54625ccea2662f5bedb510756d75bb6ec8f07b99a6e3856c1fca21ecbddc8c9964f764d8f503e99e9ccef325c45d14aa1168429fe82dc3eb1a503e8e29461c98e396d339becca17b7464bb0c22193e32806404c908920124234846900c20194c64fcc8f091e12303890ca25a2baa3b356dda2d9bda97ddfdf646b6dc1acedce4c0deb8d75bcb3b07ebff09c562adfdfab19bb1d3da9ac47e9472c3b17f13bf662be316a3dd84c02c1fb0c5ed6662e8eb8043737d9c1df2acd97b0c6daa8357abd39b65f101dd7a73bcacb5ab7601ba152ed1e3f3f3e3f3f3037d20127804f6c01e68040a459be5b8921d0315989babfd5a63a62a5b2d958cca6da1e73150992e9b20e3ed957350d57285ca734ed50bb018b9981b4cb7ecc8459428593dcbd7c932062e664713bc708434c539683a321165ffcc85ce4494efcd2dc2a3807c7b9c83dfdd6f83899e0c4d44a623d391e9c874643a321d998ea4cc133f249a846e444c44ac25f3c6856b05e458821bdf0613377e77771cdd7e1b7fe1482281e594cd1a1b47cd0c30f7de98e7c5f1411a8b73a70f1a416718edca8c869d451abaedb7c7d3b3336b59310ddbef8a61f442af21d6ebe395d1ac351cb5fe750e7b8b6271eefa9310973e765ddba3d139fa320aaf5f07126ef79082b40c2fc3cfd96148cba0935b4687d58f25beb9be7e6d7a94274cc65940965f6d10ecb189b3af613ef6d8ed6e108f49e9a83f7fdeaf9155f4012519be6b162269afd1ad06ba350e982cbf7b481e93d2319f3edd6e70b08073dd6539080e18b2dc7ef8d096d00abb5b17afb44ddd4fb9e22e62d7cbae4ba805953dcaedef6add5e332975a597f8c65a29bf5bda37bdbd0192e5fe92a9b7526c896118866118265fc332534ecc33cb5d4eb61b902c7fedb0bf0192e5f940b27c99e6665484840502294a47795586f494285172f67357ed23bb98a2a1bb0ec2b30fe78638179f506ea24929bd94524a27664327bfce99373ae9c6cd7ff8a8c2b5d946004b90aa15f1280245a1381487a2501c8a4351283689411128024526f1a87d4e953e2ddd92f6efc9acbcddaea63976ad288c87be61dbb5d1558e9d7537675ae78e01197e96bd23fa18d41e40c5add977f5fa0165b0ad3bb1d8ad6bc938ead6f1b5cf912cdbba9c3ec5fedcd2a1e4d397928371555c3947030e08169b5ab3bacf3076d50cb95c2b8a55736bd73593306eb5ba82504f919d967bfb20c5e848f969373ad8f2812dd8822da1d3c360f678c3282d2d3635b0bed0c5852dfbbd50abb78b6471ae512f7471fb3b141112309c7551cac7b9c71bf97488cd954e07b474d3c763505bd719f51683e154722cfdcaa3be8b2cbc635b92f1586b37627cc5d8b3e07985be6b386ac7bf303a437cc7f65772634fb1cd565636e8e31c3ce2fac01fe760966d500944e24870c878873b1ec3c29f5ac016dbdeb780e99ff03529c534b2f014b7f0173ebd0d44c12230086804ee38870443253809cb479c24f5279cc4858f8193cc78d882322cb5a6ee75617b3e636bc11606e36618301ec3f00a0c6b1f068e33b0192b5bd739a50366fb70e5310cb7acbc73d8db47ca4f319684e75933bed6ba2599b1c56c6a37b2ed745b8eb8fd9cb599b599b5f6eddb40fb2b8fd916fb33ac6c2e2d374af4c652c96699cdb22ccbb2166b4f9929b3d67457a26905a7b33565a5af2f3b15b8754e25d7afd7c552278ed3870577a1879e1cb3ac774e317af49b653f623ce26617b961c739389321fc995aef9d9152f6a02a8aa266b898714d47b491333d97600dd4411dd4401dd440cda47fdaa77d1ac995a5922d954a9a378665be4159ebc3dee24c5e7f1fc7a569d6fec59d8facd937619d6c718ee792863b175cffc2afd2ad965a1a2146cd067b1acd60cd37caf81ace0155f0b3fa23c7ada3ab7cf3ec9803da346aeb729c83428f28e3e01cfceec669376b2d7c2883bdfd79e7bdb0941cffaa2bd6128a826fe670eede29dc8e9b4d0c53b8fddd13429a57c0238804932012448254a01478048f6094d8136d37b19aaa8fca12a72a4ed5edf4f28b0feec5b66c069fdbcdefb77fe11bff5a2bdd523a6eb217a17186e46e48bee98aed6719766d8ed5adcb91978df86933c8af9d35d657777c6cc3ec471c3d0201a32e73fdc63028d4ad9f241fa4234747425286909256df71f3bbd574a75f19d0e9e0c02ce3f41c32cb2d8755be691dd9f1088c8505c3b08f5ff1c3c617c0a9e9b4122d514c93b224a52c7d974afd52cad22604e6c9d232039d55fbf35b3ab60ef8458ee7b9a574e86479019cf75eb4af710ebef6f23b3e161b43ef2e107186e4f7e08c7317c08189f002382b176ce35e5de9022f4a6c61e40325000961081f7082074a0f1e28c1110f14c1866068891108c185156e7004133a2b9081089c80810a90008514c425946001021838c901154d384205960084131ff4608b2c9260bd24724ba7e022a103831fa890c207263a50c509b2088490010a6e9002147c800b2193919785154e4841821ae8c0091558300b22444162820f104ae8e12889c784142740d1819e295492a043840b50b045119898a22807eec316180a6c40d183297650849f29ecb05a20c2141ee0c2e7082d7870ed07d56d0630547958fd28ff570050124e1c118322c48088f5aa187ac1123bd0a2073ba882e550c84fc8eeab46aad944a5941342086bccafc80823a0504c64f86ade58200082fb9800c208d535cb18d88ffa25202c324209f79857648412b973ff6b69a9447733e7b4299ffb21759db3fa194e77ffd9fdb061c39eb9300d9960f0fd4ff00513482cc7cd0215b0beb80289160bf3254469b15c0a3460a288e578c58405b9f0f94012cbf16b9204162633881f911052d0c3c26606717b00094f08b14250040e925858cd207e40502209442c961f58100fe92846bad86111913b2cecd9cb0b171015b11cb3ec8045c4bba3700d210a22966906374062bdaf3f51000de107208aaa0f8a90c422f280c084207a9a4c6102cf1352483a3282154649ddf3c50a7a82c822d54250c2021ed6230293277858a92a5c68031114b1ded71ea0a4e0c7f6e081231691f70514467658fe4368152c22a72158be65ddaa428b880922f880d4417842174346fc034c0471848989083b554862ad8cb0b0671b762105113f52e080e8b9f4bf7f37647a2082b7c40ca48c20da6a63aa47fdebaffa3a2c8b6dc58f652bc6e205ab621ba8e1183fe5ff582977ff6cd3e139c7e245379333e73cba0f4918416251cce2050beb8ce2802c1d48443a7c421750a6e802ca145d409982c61534aeb8c2145804b122a671858cd20b4abfb278c1d261c5f858925aa10b2d865811b3781171aaffb152bd4516cb0fac391fe2540ff8f2e5362445219c19c86f0846f8a2c58298e507968e1381de4e268df19d892a50e8a138d5830e4949fa3a2c167dac19e584f01b881f96103471aac71c928a2b262c1dd67c1d166b3e96842568c294127060098e97e1cbd7616de0084b871581c01e948950c65d28d523fe2302142286583aacf83a2c89533da40e3fb07458f275583630e2d7b89bc9f1b1a26f9508d471ef12604f69b58198ac3eb1cd1aabaf752d69977e4ba4b47360463dcaf3cd8c5acb1f30cfb26b5a316926138ccbde8b42406c7ad915181a0c130c18d3dadb79654be998bff238e6afdcfb26d3afe0e7dc35e9641302aa758e7eb6ba4d8164ed624d0016b73e0aaa60b756bee127008b4b1d09031265eca1f4439eaf914005795641840f59dce474ce21f690a7f390e7e374cec179c873bb897f7dfcfeed33f698e31bfafe324624d3af13f7139a7944a6929675c3ee7377dfe030e08b2fbcc84264c6fe657f8be33366e7d54e336b6d9683f3906fe267f60b2cda0cb7cebffd8bba09f11c63ace234c0baa7eb22d9638c72bf43c9387d3703e3bb538c477df7322e7cc795be5bc5b0f01dccce92169ee5bb27240300f7d4bf13968193d0d892d07800b0d058b5b06201c7138ecfb9ae51fa0c5fd8569cc20fbb78052799b13de8020afb1064c6f6a0aa63601878e562d3f65a8fa87b508c2a1eea9b9f76632442754e3eab60c3a6be8dfda7dd98da0193aeddee8c291d99d2a773014bb8dd23eaeff188a0c42006d9b322d3fff168bc29e738fd054c760c933318b213a67f9047e3ed444d38517b1330649fb28982bc97e931c3cc39f9b2d3e91ff6f6cf186394b91f4dffa4ffde4b759dfb5e667d2ff14f5766efa571e429779cf5bdc49844462bdf7784b58490901248fa507a1d79cf277a342fc4144923d9db55e542720e5e171509742165f812a86da0c2953eb9bb59bb6165b47c9c9bb5cea794d2fb685e40b13c9afb686c8c76a3bea35c0029a491735016f94809c539ac655720644402a2cce231d65ad4e9747dc41d05eb28ddb5767d6f29396a35fa51d78811c8b9183fbefb47ca226dbcce6871fb87d04031c6534b9e2c799ef274c934bad0cfa28d9f5f8422522931b6e48be58a7f5d17101057c5cf4e1c0b9d5b6f6e01e7e2dbb84071736c389adcfef669e9a8cf14292ec5a8488ba1261009e7200c823f39e6140d9d14e738982a8a927562843fb94a0783826abd37486e41411d0ca2f06756a97523027f584b688a86d8a59ceb940b4cf7cab96ed9bacf6f004ca80f7502d6156357ecebbaecc7f816b7741c2862038138953cc55fb722b61759d23afd5f751c30b9be6b33c0902bddeec40133030c99ca380e18f2fcf15e60103e4efbb6cea981f742e9471cfbbb5f03ef25d27ef12b8e38c3832bc05ecb0fd8ca37c7f93145034c76cc06793430b97ed74ec8b0a8890860c56d283860f2dc9c08dac0366a28ce35e131fe581038bd7b484e8494adb4b20e9dbb8704e3478c0326c72dc87b812f83101787b8f50a4c6b3f1e0d0cb977e40824f439e22e9ba16e154ed953ca297bce17b398aa3f62adaf8acf7b56402129c3af719901b0e09114acc8f073f008ca30f2b3a28b1e0859f02b8d1803507aa07d48437f5125d347d3f4615668e2c23b4b9e1557f0c916e3205724ba33716e18c5ed773ce7c431cb1c706e893e00c1ce83428eb4bee42a54c58fd7775c86a1ae2cbbde87c7789641145fd10f42048015df86498e6f630956fc1d57c8dc2be24192e3ff701967c5cfb0ebed6ba58f15c20d661414b7e68efbfeb809d9594244d63050b698c6a73960438a46d8a0ba4a9fb766484e4d8ddb19ba27d4926d50f764a9ac33e7339915e0e73e24fc34c941a8e478f60c1f87194327fc98c3e609459b2dea917e8ebbaf5dbddf5d0dc7d40c9d3bcf5d7f8906fbf473ff9377eb6eb63df1c4134ff49327fee4c99327f0c993274fe293274f9e48274e9c38994e9c3871429d3871e2a466f6480a52d22534445484f9fc000565197699fa69a54e27eb2865d3dbc0c6f08d29cba5ce94a176695b8ecc744bc98f993ecc547e96bfdaba7b3dd17a82e7899e278ef49114a424171a222a823e3f4041f149a340a8f42d767541e9d48c08000000000314000020100a874442c188502cd223e93b14800b8ca8446c50980bb42488410a19638c01001820000202000023239d009f62e86e8c416730baf572e074236b40ae210e7a078a64fa62ee52f4f4308aefab5a7d74b7cc8c8bd32c4f140310f901e1a7a7f12df67a12f1a6aa67f78707ade59b1bfb1fa54a30557c7fd4dc8e7a5b419dc07619e1e0d656f05305cd1bf5ea9f1b1770ba443dec667ad67573a65237e1abdcc0ef780852705145b25a8e8e5b1583591362700d220abd3b0e066cc6564b9b453b59d2ebdc3ff30f9f076e25397e8b160e305c8b7a5d30e946713f9a585b97091986606e85729f951f2d36c0da92ec27a463dcec775ee3119cd541e3205bf37374855ab26bbde2767b182f8f5b273a3db9efe8447a8e8635daf8d6d984634ee96041a8851e0f0bfbc2ea39d38d084a6dd9a4bf46003e10f97125bf85d7c0173307903af4e0f9adcc008b259fd7e11fd21ef57c9acbf54e05c411bad295e647a7b0a6497ac5d4aec37983c507eb45bf1c4c1c2f64224a6b35ca4b544690a2c99097cb63aeda53afc22a645c952af65b80ac79071268b03e2234316029f1ccfd5774a1d461db59f8cc576e4072bd362e73d19b111036bcc30cd7bfc196e47aab3becd0828b931dbea4316af3cd0a3f1f41e48474bc2d1e364f1390164a5e6df4b839aa880c205baf6596b9f4b4c509e1a19cae4cf5c0650374bd09bcdbf86aca355c871badf02d1890d4110ac1fc99e1471d8cff5b3fd5490a4561f3810c05d56947c83278aba06fa4663c422b9bb6039a6c18a113f8a5bd6900ad1754468da6797b89fd84589f9dd6de0f0939c23668ea03e02b7c8c0bfc7e9b6132a5c51fc005f4891b91dab1da7f569f920c0ce0ee979215e5c4abb84cd8f0c98ebe8ebc09000799e7f2ddb8b7dc2c7000a5351f8bd1588dcf384d6005b240382ed3e135b1a765db97fe53f571db88efe00979a1b08bb8f9b2dcc41a8bce7bce8e7c9a51031d45776cc142d09b136451fc8de8f8bfc3293300c747e67ecac5e9bb994d6a598f71cfa6ec0598a82802359a5682f1cc6c0de0f596e653d78a03cb4fc9cf72c0ca0a65ac3ea09d284d3526ac34b766769d57cfe956208d1b5fd97d2424a5c985ffa9abf0ccd011b89240a175529c91b2870f7b8951181a71feb477f54f09544f9006b6e066af382d118d40f4a81aa69d5aa302107a842b9df30aec516f14f48832ade0b181935d78645b89c0d271a083664ba7ad245c7393e4c0998ce3261631e29956fc72903ac18fe172365e01d2713e27502a41d65fc6de3a8dc1dadb7b3bacb6bba09352d43dd490a0c316592788ae297c710de50aa5d5db909819bc21abe5441058053574d29f8037f7485af0ba9e320e06241506e6fe129c17503bcc408248fc3001a4d1b80a16c6f06b13db5f361010cfc13501a6ffbc90bdfca188d5815d86d58f14e8d815615ddde9fbfe6f04452fa06bd01ad05bf3e9f6bcd58be897fe26d8ab9c9924d6ff0673a4984de1de81d1e3f3e9b2b1b6a0d7270b0cdebbf81bcb44f7956c94fba260372956e66c7f6ad6759bd46728e3c8355f066056420b0f83f4c0c1c62bcfe7d55463164ac0cb6e7248da2ce311669815752a71a4f82d8cb27c7b88546bb422e3071bfdacb3f8c0b20ae7a55bc1dad5852cee35398ab433d9b8de4f1277995e990ef135343793e61ae5d48895ba9423f038ca1da83156dada74bb9255fbaa4c09fe05266349f0d73973b8b9b4226d19255bea9c23752bf6f063d1309f55ed0c5339c0ab91def32eaf0c04fb88448a461b3708bee6fa1bc92a0554e13c1aaf1634c76939a245b17199c141efe12faf5527c99cef6e6174b5ec5018532ba35007e592b7df3a2e14c35930856134a582faa9a4d830491ab31c1cd88c596d5bddbcfb9ac37e77bf28817c632b2842c4aadf2d63cd371909bffb2300d6665c0372a28061c5f9e43f998f5df139a58205524e9616dd7e6c5251d4147fc9193999f3814337b220c7171c6db113065912d90bda72fe3bfd56d9d3be1d997c4a3f96d14119b350a4bb8d6a76de18e9e29ed3d944a4978ad92b82aa00690341b5726c93eec69333094e6efd967491a780b0c95fa68fab18b39a89f6340b1debe8e3243e2845f05f3fecbef19a424f8bd881d563e8ddae51a97430d8b17d186ea47d42074e5fe25b6b5e1b83d1a50628a3f977a467dc38dcb2b876085b2261c4271e52d98336ae2c3e851fc6aed81a5d8893e6358684ec47794caf9873d178a15c3280d71e0f2c9c0e6786b0d74f24b841c3c2324058b3aefccf8a380333af48302c87f5dbfb3a6776fac041a36d6bc2d760fb3643fd0a37919ab753092e401567f83738ffad2eccf36f83c368e897d8a17bffd518150532fa1d6fe4ec3e21fa74ce5293615f821c2ad055a6c5406a952aecac557bafd31d83ecae5d1bc311c8972f22b687c95a2516ef9fb79ba3530a262ab854296495d9c9b8c11f09ebbd72f12931b7206bf6f21f6fbdd1650a8118f6c99ebed4b846c1657cbf9495c05dd6aa433fea1f2f25662626f70d50762632eaf6e0b2f8ca198154c8ce60e5c676336013c0b221430aec534e9d3467c2fbf673a5ba8b1d3bac8dd41ceab7ad945d89afaf53221efd2e2b8601ff7baa79e221a157fc62de3a1b5fb95595ba18d22daca1685d03a1884221e3c30f1f88be6092cdd65aae544c18500386bf0b10234a7eea9163e2675454b5b6da69acc46bc8e6ffb0e07c59c089d1a713a7ab815f953e7a53168cc94a39914c7131cc8a7097d004a19ec0ea1f920a5622586de6063dfac879cf6b578163507863e0c5259e2deb1c53ee431580831e5a49f2f5ebb8b38f8c7d13ecf848d827ab621044b92e44c8627c3587bc67766d14f83f310818d16476095f71a4ea0e820f62be884046a81f4e289a77d026ba082da1081cdd9a0a832c63924b02ab58074aa82299a5c10efed2472135a62b4f77ac355871078c08462df85c7e0b4a8e3c200e8c96fa2ff25a0ba9083f2e5a79d13496b6e697e4e7e5f55d90233f3f73a622d3da19a551394fe8904be226e8724a21e02c186edeebfd962b08e9571a5ee5701f2991a956db97d525c076dd0bfe00c7abfcff94511243199d1cccb5b5d9db0765ff469e3a55f0eb5034b42937e765f3f39aec7a94926a3498247eb1d371aea32b09664ee10f9008a204d3fd22022612f5ee60863f7a1bd00695b50dcf5a684ec21ad78471fbcf511123334c87d5f780e17b98a17460167f5b180531b1adf73b454c7f3e4c79164adda6f32546f83c006dd9c152b02a7780c2846f26ace77829f234b5ae0a0bba8837730054ddc260b462314920976124ed573242c68a64845f8d9a58b154901c8f41190cf97acc645ac640f5f6866c683ef7cd4d219605c4f2ec2f544953af53b6d7081a5867430c936d30bcc656393e958c44a5b30ab30a6ee6b27799bf28142bea416d2272c4ad2d014c455424c5a3103fa0db39b917a7111efc41c24c1b123631cac51c4782e97be132ac8ea8012e2135190e88c6a9e21cd71ec271f28ccd94f6b680dfc5763bc3e059f509cdd3c6b2d25b5a946fd71175f431de4553478c898769004d3f0159212f5ea047ac86e31aa735c344369039a62ee81266e697894454497c19be0030fc7cefc645741731d74a1f20c2defd62787633fa7d1340a3c0fca630db719485c9e7e113ffe191bc139e46a52505db9fc65415cb812cd762e2a6cb65e9059d7195be37e670266aea6cbf3c1275f5ed99adb08ec0e0ef035a2febee38820103addf4a35e443d9e93ca6b9765dc63cb8bde9e7ce349944ad01e4bdb9313ab3557c856b9a482b43611c329c01f677e3434818952f2ee85bac57b8cf728afad183b1490af264825911c8abf05388fd8c32c48f0c873669734eed800f28ee7c3915fc28f4613754ee5595285d305ab2e00b3529bcdf08f01a0fade38511bb361c8ddc4e01bc5a837422728238d1b718641060a6131350232b73e79f0ae3ae951de04eef15180efc2442729cfeaa866991dd2488c4737a01d01072973505597c8dff7c229f7209324817399a324dabe06585010d367e1d463b39b9f74e77f8d0dbf64b08f530831e112658b7d23c3a0548e448676c544ea6506140a2f8cb8264d26bfcc585ec17cae32f471652b07a975061441dfd6c47b447c11aad0f3ccc34f74f6e9e7e4f9a078947ca28912f41018344b4862fd29ecc3dc223fb4e4bed44140389889fe681d22dbc05f3d242e0ca08c9a5ecdcaded7f526bf5157414c70c0de14e3262f37ca88e7b7a01767ab54e50364970dbea86f10c1744d5afff89350a1e89718291029890e3a572ccb099881390f6141e8e2a63ab7da9b662f96413d2af0b652d94a997129795fe95008ef6372cb887618975c04907af5e26ca7ffcf77b19e2e7f196a4a16bf89c76aef158248ef712e6f1259c0fb9798c8f6eb82809c0cb7d6ee10f617079d3ea1c81b837432f63c0f5ef23aabdfbad56dcc25a8cd51f7cf361f61f8f2947d23f63bc0c92ce270f00dba32ae658900da8ad4942426d51ad970f9c35e7ab3dbf4bacfbb7d545130df7420668d0a5d6fbf1b228af550b2637377dbd11fe4416b96d3e76e8d05e65bb936ba22f6ce1d7c606f31693e640141bdf032c6be0aa93787ec37cbb2cfb5d1e817c2fcb496085a585c084b9a604d2dae41b9cb8a51735ddb5ac374a4c9a707eaeb89b31746d6d192f37f81264d1a1843f428033f2b2b23b69a2271a036ddb1b49c40e0964c22c785893fa8e83da1f76d44d3c0f10cb00bd1f032eb491900d902394e91e8ac8be9b0e55607c4fdaafd9ea862ce4d201f59e57ed4be8b91609fde9125c19ed0d3175ef79ea25adce9ce226eb95594b0be98fe4c7ca5dc3f3243f0762ce68653693c9fd3fc4029ca3c89205929951f77cf83509dcc15507179e5b1bb5568d7965dc11e9c87c6b01d33a308e7cd592512e04f945b0068cb6843bcf5f656a812ed3314daddd8b76ad0983a6884d82d8dfedfd76a921b4d690e2c9fca0b677a8eaf421e404c877785d8b6ef7f0b0a235d47417b8eb9e2b0e10bec0d84c3d2a95db28588489c2d804cc67ed73a13cca799d288d586de664c090ed505733ef0f43c8f20e5e1f62187e9493854e364d866694ab6a82ed2aa6b3e6baa156e63b9a24ea58f4177d3c599c552300e1de0166b8732bceafe79b1d2ab18d0adfc34909aef8b01098318942d936bb74212e350e749c16ee438bce0b4922b22c8c9d69ecc839b8cad54c22747b89456a3be3cc94a4775363f25226b01cd1dc4e27d4d3b34627586fc2d7eb391f095d7e92e0f35bd85e40432ea769631af966a33216481ed81c14b1883df54e3b53f08dc717e82273f33a2f7b001bf3f877289311ae31f830649044aa9180143b59319f342e21d7fa053f1eb6533e8ef5342732529f4c98a1b0d2733494b263e26074f2a808a4747416f54efc815e93fba5f4178972b56ae9124b640bf4c10caffd4fba2070b14884c737531ff55981c46ccecc37fd04cc12bcd53d4b41999832ec97490326656d50000d7b5fcb2fc109c42d1e8927788ddc9dd8d2cfbb490f69a9a7d5486cc3b59dba2604fdad53288e1c37a1e142173017f011faccab0b845c4c2b5c6b883365a842e992c4b9e2c05a9970245370be4cfc04dfb50cd1f25f423d6d231b65fc8f356d911ddaf89c522d4460658485b490d0d906b32507d79955e0050d9a30b7d41d26627cd75df8a6b8219809addc9ed375388584cea30c820f0c37a4aa38162f8b0ba472460cc51305a3b4a698f3028b2ddb30b80aba07786926d306f20f7bbac6388229bdb00529c974fa390beb03b55b1c25ff1e3568a1f5bac944876fcbb2a16e8f08853699bcf9fcd344880e84001ad73ce577584cd509cdc769f75b2617e8dfdd855021252c0100dcf83f16d19518c478a92671715315acd56961cb065261ec4c20780e8de66140933b03bf8aeeedc7d846860a88a6321f659f15a26f9a8d5b2a87b8e65cf4afd2e993621b0ef11dfb887c251b2520477b7f8d6f1198cea8546bca3da76c1b2b169c48965153df31899cac6251e21dec494f20376bd6a937a57a8b29d30ae932692c87cf4f61b38278770ce811b1c51f2ce95bfbabf0cd303e2648d82e2d3803dfa0b4cba2a93ae8e2e38358326842781da911af3f4c893e0795f85e5edd817e09b862a076afabb73eaea90264e8070577d097d32a9a38b1864dea54af28feb2e061ed67e3aeab1b9cf597d970f323dedbc84d0156cdf2b58a4a779aaeec1095e7213de65d91ae55843c312bfb4fa2ba838edadc86c66c03c8800a0633abe4911f1cc0f5a8c84e7d17bf72941eb80a438855b76e9fce8087ca9b2ada6094064e10c1f5f540dcf6e945b6689f5f00ee49bcdb169c853684a90b6b246111c4f19f104ef36a05ce6368d834af7c199a2729e8a7e3e3d0c7c2677887a8b0e9c443ebdb1e474db10f8830aed8aad0b9b0684f3d13d6a69cb226101681905f1e08644610412f165589395ead76dfe7d8027040130d043ff7f80ccad5640094431bbc42c32b22f205127b554f4e6f3622db529ada2a80f331db9bd2901c9e9cc5c90daa62d16454a0573cb3b76029fd3533a559925472ad68509543a999cf8543a7911c4cd09e3057dcd269ee12a912f0d7aa0a055660e1bdd4f809355ffc76e8f6e2de8964563de2eea996a11c645579e5afbd99075872ec980dc6cb3f7714f45f14a50c66daddf7790fd915b5762d057297fe2414d16667351b4f8043d777c1ee588d96d8ea3bb0dc0423e4e0c9e5a4bf9326264a3316d6558c99a1af9e8967e3b79bc2378ccf1c679aca44122590500b23ccc5094813c96cfb619636ade3f5d01e065df51a84be3624c24c8ef57dced79352f804b75f39f7c3e28ded36c4c083484c703648f1ea81675631c59262ca0745d937a881fb3f0d99b6510629a60ba81cb303eb66f0f61d67c8d253fb05ebf569f0c5ffb721db3bc054d0da42f9e29d394dc2174bcef779fbe0b405290c56f8aaca9612fb9a10b151f813d0d4ff4a04316bed7b4bca2cc49323eb881d6eb5308d7fea70affad3429e8b1666ffe5e4b5512bd86a91bdf2340b2de83d95957cec3148a9a1b28e54b6673d5017784ae4108bdb6654be6169d5105aeb5cb6fb77ade0d52fb5a35df0bb83dc241ad792a1dac43e329ed5507bbe9ed0816d58309a8a45bc73ca085d02dad7d14ff63f27065c1d204ca3d7bafd754892e6bd6821ad129e9b96cd3142da823e312d2395faa343b575484e5a363d89a52467e295e09e4c347a702a3208968b1d0c03c240c6656b581baacda8baa93d1cb3b43eba31a59af9dce07a3dd68a7523f842dbb74edf6e575db6eb2bec40acc02a5fe550868b756a9cef2a252895d167c7f0d240f9b07415f801a8bb516abe7b330aa1583d3798ffb64e197579adac5c676d4b437be2d6d71cb145dbb842e7ba2dcbad6497b649202ab02f996e5acd7958ef4f90211b4b0053ef896e77ecbc217a55fd5a2aeaa1be6b53b51ed7bb6854db437df73a2b5dae7a158dee5558d0e4cc21932c4f90536adb148d349d9d0d6b8957ac51d5d18a8a1baf22525151e355a32aae558908c2aa294c5389e33af28db7f285194384c1396328843380dfc5541c3085dfc34a8d4abab4589788958c4e84016db63d7cedbf013a8fba30ac54382a9cde3f5e2a7f6a67c21a4e6359457b2e52b9b19e4168b9a2b19bd61128558b5bfc921fd6e4c2f7a62080914e444e096ff143e8541f6bfba7c19fce90140be5077e219b7c64dc59d7f2e014ce731e943ba55703d6d664930f328a0eb8d1c2a45659aa5ec720fcace651303ebcdbd32bc25241cd930dc38aecef2173ddc6df20844967955b6e9c2f6be4e2ee8b9d33ebfa2add8f95b259a31b0504a2e1574a54d4eb9d24bfe91f7e38dad4d540dc063338ca89f16f0134219309b4a0bdd670218d2291f939b41fd41ce3bbabda30cd7d551e29e2059d09479cdb3ca09b65af1481a1682271cf1e7248d091c10c6053406b50f7b443e826ec09a4d8873ba5aedcdfef874632893b5b1c7667236f6e63fbee5bfbd69bcd19c422a0ba01273b3f59396655789040008590fdcd3e3a96c65e9359a7fa52ed742cb8ce23cde29fcb30c486af2e00dbe6d4c8d91bfbc508de8527bcdfb115613fbcd4bbd22313e2c3098e6f528d038e3b9903e0fb3173005d5bac2ea15244b235efa20d5ff5e6d5c47aaa291394df803353ca4ba973a9e913d88167901c735c716f87a6b432f5ad3f116f9f5045a4d10283e869689144a2523031769d0db02f90b2bec9bf3922038abb6dbcaa7a0e1729b8bad20ea0d41ed6d1b3282afe8b756a294aae4546d35cee4e9671c818e1c2025c0233f310e78920088c3bbbf5eb10cb9bbb4bf2f507502f47dfd5a2763af78216c4586e0e8dbc45c088865782e535e3536f0e0421a2735e325d9a3e6208b856c965a0bb0dc3af482536f735d5b785ea987ea1a75610f9eb50d620ac890a94ebe33b30c94848225171b46b34b45fec0aa42e01b775cd6410d498aeb1a175e4ce6b92e7ceb53c61eb24387c52acc869e83545bd8674025936bb2ed3b2419de8c453a1fe6a968376287a26e5ad7a33d0ce4dd502d383b0ef34700f1c39761a615868b281bb1fb2f5df2a445e1aa352139985ee013fd42f05951c3283a604612c707a9aa6affb2455b3bbb072548ef9da27b8fa48800e18ddd6c97110f1e6cd8eb3672f445c1161853fe723b3d084ec7f944015853f973c5ad02379c99efb6371df3c20288cd0e0fdb2f886343f4ce3e3b94a68d5c627d5892e9118aa85753de55bb951ee401b895fe1643bcd376fc3e80f5fea85e9fb3008cb41d688ffc6461cc4142b3136ee156e2f387e49b0b87c1965c521c7e3e537745e4f727a9b2ad1ffa952fa15b8faeaf0261ce9bdfbc56be371cb80c078c205e73193e315880ef1cb9dde3b8e21ab76ac280614f2a0f8d1e1e2555f2f819c3577d2afb654930f4414fbefc3665ac8e1f72d016a5cc7a6c51f1167d89c39675b7d0acd29464fcb6f0e1438c6996930eb220739ad7700866bb1ee783416e8b6665d192e66746808816ae7b484fdead13615b5da43200ad0743a1f0861b1d12f4a3181b45be05c8fcd93368b6d34295fdab72a4fb0b49b980cec0e53b21d7c263ab14ab96663494b44ed21779553fd9382eddc541b0b6e76f8420223d021e1d244a922445deaa260d4dfa10050284060787caa013600d46a00ab23396e26873e657960c01d9c544443f28e35d18a197605e2bc4965ad61485c3b8856c3d26248e1059be72b1f2a24d345158d61b9420e4f5ca85e24d9d3202d7c2448087e9af3735398268f9ea62e9ee5825b14a26067c0638268909b4309846b47e28eb11792674c2c54f1502101bd801a4428c0a3b25459561dd448f9bc61092e6ba4182d2192f2fcec8ab7340005e613aaf960c0d90339a9a4a2a46a0c6848cf5deccecae4a477bb074956d125f31a80b61b43ec64e65d3a13d4bae5cd8a84361caef360c7e657d57f068e93f05c3458680036d5000bcb6cffe461093c648de09cbb715585a9675069f238a4819abb96a173fe1308cae39ca2aa38bb5fbab964d2996f9bdbcca6a0d14905330af3af2be50753dd7f77410f99224fc73b83b75b6d0bf5dbe06dfce6842c9670a95f77c188233c2d410b7a9e651b2181c57d1f119d1c0103d110e859f222159130855cf406655e95e5259f7135464a9ae2bcfb9f394b634e90d8eaaf40e15da62c29417f99a1614e88d09a14ae362eb6c812b468cd02a43d1af3cd0aa16ea356274fdcc2707312acc53ee761d9ef4bcc1808d7151456d3f4b3709a9935a96699da09c5490d57b7d624b4213fb7bf5cbb607f74c041286010a6130f136302d05b5a3e7e9b511cb979bbee1c1b2b33afe25593d5f94de1f712a9480a9d1a027f69d0092a4b7189e1329c7c45309d2dafd98b2fd890237f3ced0ec54a8b1612652cbd30a03c9dada414550be9d51d0b1c4da9878279f544343d05479aaf072c26108bd8186acd49abea1e341dd2dfc7562f77d68bedcd0bb926c3b0761a316d7a0f51c9ca7d2b107268d010727852a00a04d50776116f6b72de0506b9ed6ed23e068982f70fb7de6ddf0a150cbefa328f26f7ed65efbdbdd0bfcfffbabad828b8a1a8176b7b0880b03e96d30224a941a2af6bccf669ab748b3d32e00b2685b31bedecaaed956d7525d6b0fed471bdb6756eb1a8882d9aa462a17d2aa25fb5b989c33811bd4d55aa24e76b45d1a694e13f719f5e3079d43c62914006e017ee2ea162c383d08bf69f3768d0011ae8b9672d334fb95ed0ba61bb933e3d9ec83138375b870d5cf9325dce3cc19d074b9e9106b6abff4be632b67c58bfea8e3b3e6c82207e0347af2075a5562faed67305459242fa35e260eeb62a14a63af9222780146e31bfc2e310bbad59b57076c5bbfd2efafe0d669c393a12019f77095233339f461b2da63d352075b5d74576b08f97ae771d1f5a133930ed9a9ea60795969582e5d5d1c52267387e873cdd7d954ee0a3edef6ae78b17a8e0e1b1b510b0fa7c86d10770a8e837181743c822f2e618ea4c429c78be76cdfbad8a304c43732ae2675f84f0ba8d802d33d1c27975289f461f841d154f3d73812b52c38b8093005d8aaf0a461831be57484b20b5e9e0e7a56300f9f484ef6504e77114f1f11545667aa1b68a3704ff92ec7b4db5b5be03a83ff52453e9d36570e54cddeb536fe50bdb90e43185397b4d7eec87d52b72549d11c4a34c4a23486336a1470cef62dda69075e9944f86016339d8b33a8bcfb6085fa53d992772a0ca59c54e843a90c5c9fd5716d19369fc42bae61190a2b9bff04475dae22fc7aa20c92b1b9db53d2d89fb57f0b63f0cf4f74a0d32d5cbafca985273e8bc53966fb11cbb4be2e916faf35347c83a0d310a216524710250540fa37879408e4258a2bae5c65531914819a520359f7944353821737d6d7fc15f19911dcb9260b1409dc15339c9e216ddc8e9688ea7118df29a8714513550ad3278c5bf85475c8412816350972da103593db75fc88c3db24b2f8fef2c554049d7d36cd71889213a57733c052c2f9ca041379df06b8ac68c230ac6310565cf911a67aae3b6b5a47c4cb9a254dd942db8e8d4407ae1a69bd8157999a2802664040a074c44fc00800f6064136c974c7b7eff0c8c9deb8b0a86e95278e3142eae2248f495c4f8555b7fdb804dca1da8b3908fd40b0480ed5abc00f2f1d188b8bd656b6b5775a2ea15c6f0287b045d702770af0690dbbe22d0ae6178d4a62b3651f320879dde38e0b62822eb23e7275104a033bf93fb033c3719142955461b6198c2f19a3b8e4655ee99f520bbd8e30cd649b5752503a73506e479b8de60c9368aaea3d2d0f100e9a4fb3274b69a3d159311d18bdbd4c28fa43626ae30022b284fe3d392d03731f1c18204b7c472a9827d7cdc46c6de5f34595626e1a907efe8fda4dd386914fea82a7f9e145030060b73d90feffc2772c39b191ad7e6fa411feed0353fa491cedd48f7a311da317ed06b8ba5bcb7788113b3c85a38263332d8a954d20b4b1fefcf16aafb928935992ab7a5b94de79d90033638fd4a54b3ce4b8da620eba808ccea483d44a0896657aab6de3391b8006a134e81d9e4704822ac662c9b883fcd171038615964e5a510428ac8cfc9a79de881612a3b0c137fc987b7cdba77b1cb0f1ec4c20c84af1a19fed3b71fbfffbad37719dd84aae013a60649690639cafe6ee060fdd3a904309293d9012f1cd990042661a410d0746232b240c939bbe50bac31bde65665fd8b57e89dd5b434d61a3d0c267627d31165b4dc9d976407bf906571e1e311d0612a436af41f94672cf27f64102e6b7f52f5b236b7f085d43747a2be345e2fa617304b5565697601da918f56672157fdc5f077a408752614106ff558ab9947393421eca3ff03b786489e9bcede2e95fa565fcdefb45fdb91a21f3e3c53f8c9c8ae492b25c751424c193428d922d9ac441d444e5479ca0bf23c75c6ad72852a6219e0e4fedcedd44e690d050f15e41878ff2a708373b5d95985d89c9cb5ad321f32582c94b44a37bef63bf1dd67ff333d6006b49bc16910dd5c03a565ad825feead92c086aba4f5f96c522911c174c8a6d2284b61855a94f84b801e535ab59656041561682fea0081bea164053ea4269e63a58ae804a20c28461fbe1de89e7e5c64e5b644a9c4b5703059d94681b70e824df6da523619069dc08d210d0b65d15a442298c363b5c6cbfc551b26d9f5555b8e6fd728599e82e064bdf61687d2ab1abc7920af083abc320a432a89d42b4c0e026343c6c7f7a93cfeebfa4ae2beb3f6e3e6967344793b6aa2f3705dde4bcbce972b3b3aef2d9f5d84571c535403a937bad5243ccf8f9c2a3dd0dcc2f5e2ca99bb1390a47be11bc3a3dc1cdfb0a51dd8a486775fbca0628f13b00984be47afccff5a7117b27ed1942dcf4e9e9288fe5f825f604d6177cf2f204ef12939bf3235214ab2a9ec4dae45b9b2aafe3a8aa15ab90b6277c21c85fd7894cff746358e820d5b4944de41695e7e8e027d5121203de14bd19031c4b2dab572a7a019b21d1f28b72205e12e3cb2a07fa2327b74aa2a4fb8e5f64db1d9e315b890116862b239eb4a0446986e0c21639eaffad27e486607cb68f2c2d5a973bd43f0a58521c9c37525f2c945ea18c31c8993ae8a151d4243688d72bd75339702df989efbd89d97ca59ef7e7fb2e8a24e6e3e00ed378459cbfc6b8130d6bf7ace8f9de3f9eaf540be79b84a921e0909a1d6a78e013eab3e215a78ae752522d002a3633b74883a73e228248c55d7d353273594bec00116e1c8bf6f89d8ad42ab4f399586814147703de3457836d42d9372a0303e7b72a4715c890a6fab543a48af46a6811449bb71a14c090adc1b7b3b0e7256c65bd691db2f103e59caf8d86a94652dfb5158f09c0f3a06bb5379f42e065d8f85fbcaca50a0dc97bd8450b535d53f114b26e4a8fa90a3394208f8259560d4e024598bac5989acc19b06847ce1c66eafe261d68d90cbdace5750f665b38d1e8fc23137858662e5c539b2b318eb22841a016d0027025045d99b908f46c4d99e39d11fab4b373004315decaecf855efd0eb5c6c6881f0ae4c7a7e720ecdab0560463f75b8303102ed9479606b58d2efcaf2f48837b2d1992dcb2a48043cbf89442cf48af392a32f12bc5f6e1a31084252e30c7695619a103b922f48fa796d77789ccb3ba4cb08fb1fdc2220390061094719565e46733c7016d623acd93812ae931e9e180bcd88013122c45efcf5b6c2593c07ab001396ca3cce97161df6e1ace634b99ff6873f2ea724963b5f3507c9c589510f518b05ddb650b9e5ebba12bd6d9034057e281a18d2574fd47127e7c22b48468801572393c5b6bb0e122d3a89310839e5a96f6b04a3c4c3803209ee27adaaa3ce942ecbc11503a684dbc93aa1b1145b147f2eb5f6df33cd023e7415c512527e1cffa2027e8ad3e5f3a9c85e88d76d61b42cac22127ef4236f243e60485a21635961ceef1fb9c5feb19328d05d3e6f4e2d8e615ee1c67ca1ba3900f2b84855dc1688ff5d9611ef076982205448a025152d5547c64b65d03443f96b227dab408f8c3090c4ca9920b6e5e8147e84a6e81d0c0c48d8d01fe8ea5357c301842fd1a1cd5d472aad7aa099660af9e6451b6816ae8e36ceeff5ecf1000742d85b6316fbc0bc7d95a5a96aa7f90703be0a0d61e341bbb494628fe42f7d537750da83598d0b073e4f0f4534fdbf43104c584356ed3dfb61d7adef2f8936676ba717180acf67473a2bd91344815d1e1c49069caa731205be712bb238d7bc8ddaff2e156254d220df429170bd0ddc39914aa62a8b26d3eeebad2cdb3dab61b40466357927fed7d50984546ecb9812d46857b61f72b4d6b4fc473fb5094275753947a258e9bbd2ffb1605444a5a1b9827c60c1667e662f1de02605d5c9b563c9abc00ad95fa16c3f5d64388fa84574ce2395cf47d6cd420ecc6765ecf47b4b63777571c4ba44ca145f72420e4e15df32b7e9e6041dd0ebbea46455b17e64287782a7d34f194d711e936529aa8e4efbee2b5d84b97b67e708db479c99e62d3e967eb8d19941d5b45a5f464661c6039f5ed7cc21a6c93ba2e75df0ce67a5381b7429db48c3ce1f4c3230b9d5e3fd9564caebbb57941b08884db6a2441cb3564631de71940ca53ab4b08438cce89af5029db4c36d0e9e88c82a2a8bcc84326caf5c81eb9149bcb9362887ecc22eb9ba33940b8e9b7659b404f19db409519efd76108c3e79c3ea07a56dec037923f87a64ac361f3f35152ee31e111792ee70690abb259bb39366eabf2536a6e08d050dcf55addbc7572295bad91887b714d486f5314d1711e5a168a0828eb1f6154046a96251dac9e3202425b5f17c8a8ce4bb039d317241635d6dc320902383667acc0c3859a943ad84e67d1bb269d10917c7aa79418eb5e5680973d8c7e5530fe42f2d7a705f8c7e8b61e5547b3eb0a8be38d144c08093e27378042d446575bd81f2beeedd532d4f1419e9f06827279aff3984f586734f4ed5f7fd2fadc98f10746736b88cb8ffa32033b577866c2b4f1d3f8df011842588d53aba8690d51d5b68b6885c27f1ad7d631443e3638024cc0a179ba749d990e1e90b63124d52ccda23d54f9cfac6aeea24245e81009540a85a71a7e54419121d99fb4b60d0b40361bfe33f7f552bb5d340642e73b57107440769d53d9fdb8b7dfa30875bb0c53ab6181b95b16bc320f146e9ff9cfc8922cb337533edf41186e14c1e6f5b6e40759569cae30a6a37880cbb731636bcc3bb7c83a743c5b85d38e6d67147a3aedc5cc69da5cf036d618d2a7b49793e5121e218bf7bb6eca9a8fd7e79a394e8c1227d98c181a4598966a41c453ea66e778c0b17f99f32a6da7e22a440f109cf4b71071ab0871b18656b6b4a70dc49f7ce7063888d58fc3749316315354a0cbb20a6a21cf89acad1fadb218cd19a85d98143fe05493bcb219134d16678682c7c0b9256888a6c673376995eeead967ed69ccadcc5b331a9e2a6a149575dc5fe99e1aad05c45019c5bb21b3b899128a0bcb1bc10802e4485c87921aebc1311516d5d6fe46cb1eef8fa6ae282f42e4b63a778c69c01988f4ca2f96ef549f191abac9989876fdf9682433b4af4105a3983137e8e8865eb2b238e98ddd4f72a0da1ce1cfccdb225a9bde445c927e55f0b83da55dc26e1382fb7cc6643e3d5db0c16c28a8334010fef661635957e85754a99492d37caab8885beb19b03f947f3f38c9c5a65016978131a5b9032476759a2851122ee1accbb19bfa768a267793039bdae25aa46f0586f979fcf117618ed6dee4377b660c79a0b672b59a675e797983a0e08124c435c923b96f5c1acfbdc0d1905edc8dfb063b4322d5d778c570c4999f5c3e1c40cda9b1233a0cb7a21af7bdde82a5c9cd8264d891d02b52441fb12294579eb9702652840537c1e4414f25aa04aa785b476f6d8da1316c4d684b33beb477578cc03e1bf108f1d0dff999c8f30ca3864927b9d178ea6bc8db5a0f817adf1022aae8f70e501f7520b2c3f17d31940d513cf26cce7ec9ae197ae6a434eecfd6bf23137e57da528630d6472c98137d90a019226b0b219c09274c06f55206042c03d40d362325dad50c2891b932447e3542066d3aad8fa06b027c3dc53119fef7d6238113cceb5a9b00098cca4468e75cd55067aa434cffc4f4c07a9da34f8f89fd8e9abb3e000499985b3c1de660f36b73ecc72d1d231bf50d9102a3bc09cd989c0635d53689207eb0886bce81ccbcdb52e0d2c402d9c99853e93cde68b4ad3118c4bea17c6970bb3b7a9295326184c99fbcdf67e023a95d3e918acb219ccd40db0d215632fb229eda6ab47069696f72b684b02aa8674413850e7018b1b73d9ebccd5468607ed1f122b4ad1ffba9b104fb073296daddaf2c2b36bdf5d139e22b2920cced7398a71d8532cbbf402f07cf79b3b13f158cf6c85c35c1b6aaf981e82621510b38c2d1d4a4363c96b2812b85dcc5d183cb39b812207f242cabd332c7a19f4fabfdb4b89d29261d66ac3831992a6cceb4ffb18b8e28fe8f8b017e92c5e63efa0e893eef86d3d34247ef806abfd87dd261008c8af872de0aa842dc2b435f669784ce36243ac6c32afca9334781555e152c99d8987390cef496c7a466ec25b23cb6c0d9dfc62b718fa293d6f215871528d01bd9bd18322607f4e525d9115d47111667cd998914c2ceb2c9de68aa8e18e5bc91c94056dfefce304faa65a1750c04070f3e6344a245e9f2660a8780a232c3dc45d9a17b5b08ca081c25f40a85cd74c4d585ba657765921cc0b4897744ab13b1e2af817be4bf85289e651994b277b5168910aaa3868d33950052c024f2f63c8276cd2d70a5457dc9dfd793af192a1c05f52c93634c3b678728444ca3052ec141074317873db882965f7a7ea6b01e129a8c457cfab0b24322b1b09fa656009f702f4d9a11d35cab672fd215876c1092167ffd99d63096aa43cc679247d12a4c3c166e240235c979addfd2e522e39ed7517d8e28acd1084f3434452183ef219649bdd3337c25782ab4480d15d77fc2b218cd1a0b38384cce309b85ffbd4ae22361cd85292be5193ce2c32958fda3eb37859a11212d1a16338a62a958f8ba03e0bc571f56c1fef14d71ee00b1b1958049921970f48db707809ab8a3d7a315ef94adb56e439eda634baa47a49ae20ad19e9530ff97e2ae80030308a0e36b0caa0e675f658eb08dfaec7fd819db793492383b23eb59f55a1a356c9da632f4821f60909194b862d5377ba372ee499482cc8e36406c9ee0029f3c5e4a68dc1968f42d44d2ba846790d00c86ce4427cda5f68ccc4c320f29fd47c5ad177a06460c11ca80ccb52c99273401213e2c6fbe4979c75220c73ba2936e348b2c045f6fdf3fceafb9c4bcca809fa5ebbae5218a54e6aa3b452229bda227a8cd7de281188e981db70ba0e561227daf43f2cf8e09970906cec6ed9aab9c6fe69a5fe0c8e104229e35bca38c15fabcc89f37cac2e0cf1030b155ed3c9e3b661a2b2a67beb402008460160f3223163542be5f1ad642423826149b7d56ab0a36994f76d341ee9044a44530fc94e8c884f1c9f003ea0800c445480dd4d91d297a214871978fd624c72f9c4cb076d1c6acf3ea94662d831153720011fc141e6e62883c78f9b0c16cbf83cda30617131fb6c3805621a1564210719ae7289a570676bc21e04d6cc6e288172e7c1b4a99c4f2bb11e99ba36fabfda2dbe1f13c3ee998824ce5360c6f2a746b33700eeff08955a8e65481f720dbbb89f5155aabfcf760d87cba4b32e8557c5be89d16170410c998719d0b359c4a08578d3147c50b9461d87562b1df88ed77739f0a93d0325184d39d3a9bc1eeeb0d91e55f745450acf3b6610adc8231a63e1be6259204f28caff9efa71d1d543f30cfadc603e89ae9e4bddd639d7b355c79606ef11519f10cc3fd48c8cc4f1cdde61c6ea0d3e1426221943ac32778051f4a744b7cf2a03d8a39187e72afbf938a23916a3e2b84e1e1edda61a56f8eba78d78d35811f8d18339ed30ae3c4e2793081d924042c6f9d60d4ebb781bc5e1f3e30cadf42c4ab58b137c011df40a752b64c1395797dc50ddfb6172c0ebf19842660b88b7967ed5e44016be4a31d83c21bf3e559790e9eeabc821dececb54f946ccd17305c2030f5444713118bf9026b28d9e8323853a7e6309b0b49209d0e3c60f01320402dc356f0acf6c2039e0141491fcb31732ffefd24f66efc83448ef4f69cbc7354b6e1625be329d9dad0041bc8204847f9765a564edfbf2b7f13b841dde92a93673fe7d1e4f4a6b1ffca102ce50d68fbb26c70852a2d4eccb38ac84fcc39ea9e144b08299df89e3cefbbc31afbfe38c4c52afb934c18171ae7a0291c4fd39e02d38f8c920b6cc860fa64b9220b6333dc0c90b4c12bda9f8404c5ff0e2e543bd2e6a180ed8571710df5176e83cd26b034b40bfa359437d3a99defd144d117cf75f164f1f533d100fc0baf1e90e37ddb2af1134a53096c5b2331e724dfb3eee4583651ea4b243080a639310a135a85eefb73169115ec20309c17015c0e85b6e4becdb2061a9b3185b92d6277eca512daec6adfc5ccd7c70ca95d19862c1f1763b1fa4e340414429fe362a29cb9053b31556d49ea3818737c99a85db54023b2700519f6ebde63825b5674000838289c1b8b3af448131244629a18b18f580cd18105cc6b226f4ad64cb7e3cd210ee3bc133a5027b2ed0a320f1589362cd9943e4d9b83c070a0b56d8107a375ec92d1aa2e28ee01d796e1cbaa6f338e9ff76dff41ccd44fef76e1167ca9429743970ef83e8801444de52c54d219af8821f71a354b5ed73e3382b46c86c25674d3cc122174081529810f18506e5d1a8b091da0d7ed3234d13676183a0f991db7815e4ca8815726d58eeb03576c3ec7ddab039282b9fd619d4ebfcd5de6a2f85c46fe5339bfcab3b68d31b84fa654c60fbb1d94da4f8cc03839f11c20c63bcfcc41a5c19b966f10898161f8714e3784d0f4053061b5fe2ff44d7c2b7c63fa5919649cb043773fc5184c263d85d60b284e28e11d8327dc465d480c1042126960a902523b008be085b0cce3ae4813fbf513d8e4a4ad24c0ef177780f6e655ab4e4fe72654722d5c72d34fe7e0a93437bbfe6a2b51d642e7f364ebe8ecd4dfcf262c46cc89dd341769aa89f4b47285656dabe18788b3bb92653c549dd5d7b69765b8ca4fd99ff718f1d3cf913ef0f93caa455a8187e49cec6b389e8cf91757b3a282949d571c01f9dc0ea683df7e18b0fb435bb6fb48343fc49f9ef56b7a54fee73f1dca409f3aa8436061570c1e5a7e5bc2ff4a33485c4960e5e282a66653954f3c287a93db7abf99797b11b9b7ec34f00aa19ac49761e20bc20b1435c6175dc92ed9d38c091212254c61a4d1de1530277e616edad38508913e885e78ae282679060c2ac194f810c6d06ebf53bbbaa2a444c65c7b577929da588b3796ccb87c558d8e6e9f18bfa5cf881061288f71f24c6f69a39bfdb217ef1b9c8d36b4ef53ba75070763cd1811c09b14cbb2a6c0de8fd3b02ea7f147cf9f73847f26574e4b0316976a65bfb7b720076fd41c8201e462c7507db290bcef5718f70badd5e7c8c0f0d639b0b30bda0cf7ddab8d3b342541230fcb429e8be58927802a58b0049ac150cb488c5313f1763235d8a68646895a9b3d2eaccbc46e9bc467387c20b8b84e2eff0e74522999b65c02a1c994739c6903698f9c2554b212cdb7a7f8c15ba36616ce8b5cf4014326bb44ccbac4af5191e08e20d1ecc69210ee886d85282c0e4523259c8fb2ba6c411ef5d34225e1f7ca5f77fb18632047cb79844173bd860c7abb51a6f3e04c5847d36ad1cc971e3c81d1dd57201e01d0c5f9f754ff0d5c23afc681e650793c3de803c0d258aaaef0e96c282c8bab3d0ec8705f7135f1b01a1cf0aed527ba7693fb7e2fa243ace60540d58909d55f646c4cdb40ca12acf115dd0f4a60164c642ff2ceee48188d86ac1b536379036d598bae3a97290636b42e3b4566eb56ab310c14ecc6a2123ba25017c1449875dfb106c3ffc839988d2cacd97860ad8593b8d6c90b28259b2241cf97026292356ebe22804ab1b94a051dfb26f593c503531eec73b010d12332e1626ac2c821a4ea7c7771156449b6bd9da0bffb12bb4fcb326196edfd710f7c89926a82ade551a978321456651b9a4eeb655699639e4069d50adfa08d56d4b420bed5299283e610a7696742529e17bd2c7b643321319a1c883a69690d4fbbdc64d3c61f1c71aa83cea755f12f2f7978bb603127ae02ae26a9369fd135c843b4aeb776d610a413401ee92cdd607baf2cc045d1f3f3f5db685425826e969615cb5cadb040157dba208881b7f23ab00d705d1fe53bd9aeb4d8e2f6ed55ee8ac3f4631c3709515abdb2e9bbd77496b1472679e08d61f5c11e719cf110b2712e19698ea757cf5310e06e103b81859a0c3b9765ecce2a6f2a09155044ad0c3742c0dd32e1587c984d79b35357387b48ddc451d0cf82a52fd91670285a41247070c5b5165da7c6de0ab34825980deedf5540c0e0a813959564613e085274e72142d89d69279763dac1dc4f55383a0ce0a9d416a9c5378fcbe56e79ef894ba65682b2696bfd52ce1e3103cbe47f94f20a362f61b1e6eb1a790d254307916a973a3c4fb18d0fc127b151f9d4ad9931d59344884e275dc324c88e413fc1c1c482c2b6591f5c0b11be696221d73e353fd9e9ac681e19bfcea6c9b802fc048dd87ed849401ab8bc594929eda037ec1944c278d87386167a047ce4ac4e839f1dab859669f6d6568d40b7933ab7445acbaaaa2a2c00c029eaee900441dd137b17ad12a2f823708e93c1ef30df182479f6e56e18520077e80cad5dcb60385d74cbf943a23158fc4944b04126a683924f2374f8c4341cc9f9a444d895eb67e29689e816ec052620181875b140bd4e62315132c0a34c94dc7e9d809190502bae71573db2d5d850cc5eb55e93efe9b534c212301a7246f49152995633e635c64fc4cda09ccb00aa90e07a1f10803367ed45dc06ac72389b6549895bf11629c4ae266fce2c2496714e94db37e41420b138264921199deaccaf88a0e378538e27f76ef34c37945caf934944aa8b107436901984310221a50bfac5737b970feec6cb110e30059d9fc72496ee5b6cad1649132593baad4575a2f4a907944bfc3ba9e6d387a610b56d43e3187aad40dbe0d0dc9e820e1b1a99586cb5f1d3aa5655af38efb68d56fc679811b2c32fbcb4032bddf57bf217d3ea05c1b567bd072ef7b2702556b8d105dd5c6b745e314462827983e30ab17de489a68295426cbd67f53ddb50e2ac57c0f0dd3846b35b436f54b2239b1ada72302c03b5437205c8a309d90e3bc59948c7744d7c98338c708a4b3d6966450bfe8cb275eb3253d9636e28218131372f77d94f5cfe8b2159c5e3b92410f9399230d882916e71b8960f97cd9d4350d759d4128c2559b7301f2f94b83258c80a5e288bcad7e0eed9f4be7bd7ad832d8429bc5aeb3c930647945032f20a2435008bdadec737809d4f2c388a77100c05e9baf6db38956d904c28936daa22d8f847df5ca062ff13ace52b80d902a28fbaaefa8106dc6483f5fdf40b9f3de68ffdaecf6568e731c531fba2f09129a535b80613e6af5e7528b532e07157f02dd1bbc6b800d01066ada6970fffed92a867a53a5e1114a01e1b547fa9c5e87de551dd25a24b57739dc68e90ddb867c9fed34b5165e3fc383795d116ba19dfaf5346a1cb4fae68dd7ea9bd226201b83edeaec52d7f56301dee9e5926940faf603f017d142c9dc84392c1b127952c4267759cea2b1ca66159067586187d64c16cc95c298d5f068a4dd080807b47446ba60bc919254705500b312099589635c7708ced0b8771a57ac878720d555f0b15854154c19586c177c5c1c230997d3c3d87726e47776442fa3540b90b23e06c744732e03f9b636a53878fd181055dba78ab3e5aa951966c39c6a1c6622daa145b5220e50b1c2ce3e3695ccaec56f6ee42d36f69ce4d96ee83490b721538e9389514ee57f46936762debe4503648ac20e6743339a8fd949fec0a9eda1c7af90c1dc71fe9e9b785a45a3686d4c3ca5daadf5886c2db6d4c0e633a7106f3c4c4c3c8ab7bf81f0be507fc0085862d3aadf7afc1832c5e2d028395edbc39bf5804b052ed01c63b3f31eecc3cb74845a1b3403b015d12b7b39fabb280e1d37e7997119663e5c5386ac22512394982a65c40a6e53bb2fdc5a54b72a5f2c86f535fafbe31e9476a63f28bdfa1bfa04a6be08426d656d13c93de208c504a20a5c1816def23a7eb0b1cab95dee58f42d3bbfdbeba6f7bd95e449e1f4efafeb81639e0369b2811e2f540162f74857f7cb81aea99fdfc1ab52c9268637b2642df0c6d22264a65aaa4042cd794743c28b633dc2ee8826dd878c4b29c70ef97ea482a8a9071d300f0588347733fe3c84d9964b9fbdb721f5745f2c4b217f7cb97fcc57046ac07074e1a87054b05fc119311a7a3a1a30386b69111f37625308a9232add778c8ecedecce035c4a9ef98c0758698be364cd847b763d1d2f20201f5e14a792317cf5f230e2b3d9cab4a0c59857a214fd7a4f7490c637fdb1f6d96eae907f212d18814f2fc7d1271c5f89ef73663332fb5cbfc8b687134ea344354ae6802fc744ba06791723352089f2863cb0e976b071ac1e19ed6f5782cc7f247cd16dfe68b1f42e667e4998d15ba51b533d34ea7ab9c5574ea27f978b6aa5a79b13a75d3c54865d6246a57763c0044d256c625de719530f63d8191406f267326893ab15493174341fac196c24a53c4a112eb2abc13390fc64a0eb8d7da6b59241a9aa19c5a429a3383e8d6b89f4582b83a77b94f77b73a810d50e5b90b629a5908786593e27bf3288a9586836c5a278d3271aa132d64083badc48c4a4b73515b364a007fdc40cf52da60f2fe4a20f4ede3621cdfbe742e5c5a64eee84746049aa2c4369c1a23fdbb426171602404405f086c47368c8d8230907e89c6283c282c5ca29999d2235bac1da1a1312cca58e2c232b94b7e506678bdfca6755d20c9d1b6b1a70558187185980f5db8bd65eebeeb6799ecd1620f7657dfb8f0e37f72d420ca70408c9faea4356ff4d91fc077bc0032133851a2200a6ae7f706df5fe7bef45a6bc23a67b31d3f80d407f19fe7ad7207bb9e7822b3f19e804f793ea95bd0be866a2fa2c859f16a870d5f75b2941755968ab8218e12775816b5b71d1d7de471b3ae6564c660c7c3f8a573dc5cfe7882ed521017156a0a29f84bf4578924428fb49ce254d0f8f3fe5e44f7b6492106bd1b8527ac06a0b012efa44d2bfbbfe0b1f0458f38e90a10dd3a7dc0e53e6f5e160dec05ebf0f40701c6fe0bd294157fd037fdd1b2805323bceea537f120915b2b50a54b655096174ce93ce1da844aa72cf82c8970cd155cc4d112fb154493e7a61379520bc61a3ea91005f0ff453f67aa6a0a59007c8eaebe48e74148b582f39e38747f72d080142ab6f924602c48edbf27ec55a476e029f7ecba2b0724b73304389227c3c38e0eb7fe017bc314e2ef40f6169e1aff7b3c65f63762f46bd5198587922803433fa3add794baa4de1de85efaff2d426e8f1a4f60f740226a549abc8b7b1a61e0b0ea65bda9b41cfbac69ca1a11656179882280b274c5eec14b6631336818273861b0881d412cf0da9d508326844f21a2d897d6236fd9c94e73b3a587b2758f93224dfebec0676d50bdeb6a0653ffef9baca46c37ed9ab32f57eb1ba2bf185df97fc11bd534a31d5ac901b18dc0ba8636fc9ad5e3190fde5c95321233db57ee1a286b391e78434ca37ad369c65100d075df2f70d92f7b0f962e0081c058ecfaff1ac6af280da82d4f9870eaed62ce519b0f690ee34c61fa2c0a9885c200cace93683ed5bb2a1d0232e0784876841b85887de1c011055d63220c6a4ffab2ee9b1205189fa60d866fd57427ad40e75b21657437be0742076f070634f3aab1a86fd3c1171a9e0fe3e57104f4a61a8931a4546a57086f4c655d0052ae9c9ac7552c42ce1543c25e1128fc2ead5a297c4b34c70344ed9be1440e7c7ad81546fa2326300af95ccc2f5d127e8ad38f4d0be672f8093bcd3d7a7a3dbb1dffe2e7f99a8ca13970b8e2df37d06f8450399ab3fbc171b0fdd28f321897a8e82362e8f47674ba5ea87e5b3bf09b5bfcafe28b84fcd4d7608ad8339007bb6c86d2137a48c1e5383478a3c412f8fd3eda812d62d3e82932e8b380a10dae6dc4810545df6b4f42f8a19e9c521a8bf8e705aec15c14270dc0c04cb50c81d1688c9721ae97bfbd7b30f37beb7ff29fa6492181ced08d4f03c36bd4a94143dcd184a3246a4efee27e702fd2500649d0e23ce52acfe0bc3927d184af81b76809983b475c7bfe83be6156f74ec635a62f491345c87ea46475e420a93cd1bd981b55b92e5ba04fa41a297ddae37b5a24b09c5ab5abd0f69b85c4484ea92d542ff6a91ecb9d6c560701464b52f10ef71073a3e427acea41d1c110a4b7b1576ec794247f8b528eeac5e30a5df2fefd3d73a127a1db984c3478141ccca192674bbf1c6c2fa08fd69f2ac0ceb6a58830c588d0d631de7797cf98ed2da146fb5ade3fb770084ebc11cc3a62628140a1ca74559cd22ea2de85382886912610d8d9efdc2701b8ef3130c6afb7f941603943bf222d9b9411327eec3116f3bf632c225c82d9d6cab9bb3eba76d992fb726401ce330e678dd9a1180b815b147ba76cb4861ec6ef8e27fcd284cbb5921efb285119f465f8770212caf92a7f7437d4ca76f5415a1e91dfcdff0ed4fea18e741f3a6b7bc3b61a277fbd840f49629577dc264efe68c844e7b579424d9489d9cb213bdb102ed0249a8074a9fb66ea8a5cde737a7b0d5bc2fff79de354c9c952dcecdad0b027d4387345d4047d11a86f46e5752009d33be08983d72d4c2038538f92c9f54f1aef462eb3a69d86b84e6cbdfc4d2b0364abe07307dbe898b31e5b9f8103e5aa7921bbafac638c2f3e1b9ed1c33659e6a058724ba085e99a4d5f3739446f67ee7568ba44f6fcd8e96c08bbe478007420562043288f87a3479f9e77f5a6c952adc88004056814378abafbb0be0ca6623951b8ce35c0183e29c56d624981f1ea83ea3324caed1c3e90c3a8b69c8515cbbefa174a4592d6bfc276313524ef1f821ee2e0d061c61378d439e97b5e0750764c9fdd9926291ceff3d34557ed215b5e220a55db31853f35e3e296a76bba44ab1c785b6cfc9bd801e619a197d0c06d15544952bda5fb015a8b0108a6cdb6f90cd94e091d59a9c06b65c55d5a4fa28b8deebcd5b3fbcd06830ed6680bdcc6e559fd0ae55ee8c484ec0846882b1548a9b014161c02b274a4a58c319548c9116864380a06273b367c7e7b7df3f99bbbc9236f7330213eb4edc17d15f4bf7969524a801b670b4e9fc1c644598aecda96f0933a343df433645d416be0cd5bb04b8c8c0b890f81706172453c805a010dad6731d16022bdb20e2533e2872d17dca715aa05cdee1d1cf996095ef4149bc858796370de9a2556b416c185c6f7935eaa1f59d4a5a68d5b7766c8cbeec4f295a4960b6592f3c4f95fe38f7f6eb2dae16ec8335285b37627d5834895e6b63463a922cbbe443ebad476a92414f05ed464dda731044225b28d13353174a9e3003d43ba701fd3019f900b1f9ad68d6842a1defd46ee296e0dd32753072ebbb2c794f7fa3a827d833d028f94523243401febeecb6b7d385f99741b09937191930a5e7e23e6081be85c661928b5d642b823fa543451600497932c3a260ef426f3739fdfc2dc0f6598be8bfe916538f288689fa7e0593784aa42d6cf8e13dd11f8590ffc3ec3c2adac93dca1b5eb0020791438c40faa4265492cb294268093540e66d6a8a7ce09376fc9970ec7966b78601c3362c90a9b3fe2625d1f867421d24ab321ead4bae7e42cbd936e2a492b12d992813b3dc6554997b3f0791d8ad90f93e1439df065ac501c6302e0c9319d5cdd4a9306f79aafc7efec4de71440e69334400225365148d155a0a26af0b97eb06dc4698c54cdde1d519d7341fcfeb018ff7ca963b8683840f7fd92fef4d982f539139fd7d9723a158d3248f65f2cd30f89a1e19864f679006ef99fd9cbccf31d59eb724e04bd3470a3760a3e6a20474777b99f43e52731c1c697d841d8de79fc6b3beb164e725c7693f5c39649bae9389bed358f94e639e06f4a73cf8b328ba859b9673f5d8b8f2bca19e3419021958a382858d872294d2d15bf24f79c28596bb443fe971dc2f5c153758e231995784fd5653076e7b7e3f63da88136918dd07fb821d122e415a03a175748573b9f6aa673a4d6cea0ba937861cfe0791f57204794c11318fe13b10031f2525850748d5c4d352c0c93c56ccb3ddda4cb35b6cc996b8155143bbd12af7f80ca3b74595f3e30541e10043fe3f22a393324296944731ae680d9be25e54a0633585aa124265b7bde0dbee06863e5706665d6b78bde443f7914d17c5f24261e11158b9bf8f5182687cb4f9fc0041ab3ee31d159c90dd09865985576f8cd9235a6a06c4fe115cf208327b4a17636fdd4060f0689962bd553b933ac84e6dbb9b435f45ed9102f13cd1bf65704b929e271986b77739e423fe387972fc757594d5c928e182de6d097ff958057eb71b3d18b9291495ab27e4c58109dd6cd4885226b3b0f5d39c011460d73aa0873adc7fab4760bad3a93e6162a506f6a792491ebaf86ea0866f8dbfe9a1827b2a544d178525f38247c50ed6233f1cafb9f5caa35e2a8318f6b0e573e7bc71ed62d05eac4edf32c3e5538f88e6164bbaacd7f3d541c5ea8822cb32c3b5f012fc85bd91fa8e447fc5b54ca8e78f586212bc623ef54ac463fae42c9e0de523b46705064d1dffc37281bc2d10d5436bfbb2d52f42e745c6345e1aa13c1eb49439c590348c97f2a1b04009d9cd48141d35db1bdb8e08717b8f7ad5ca54a6ab17e1c6f6bf72972d1f461116211df2272de714c2969b1f43fc014a706fb90581d70eb8432aeca7a8d377315c93a282e586305027a760ca31d2c23933f7d86fb0d3bd48f30beb2fb40db9dff2bc8d7b0a3743c8c07c5397d576c336736b1480896ead1c5d714fa838bca3976acf124581121b523279dbf6cc194323121833b9097079f6c07000b121bbafc9e1a8067ab8b41aadb9238d195d422bd964b20b865f5d3e045968d03c4e87b1c66068bfb424b8397b691181c63ced83b2a0513c53e62a70dc40a14ea7b6a47890ed512b12bac2aeca4c7fc98ec3d720a5ef12495491a524b3ff455a26efd4c366a4041891ff2df4d14c032b6f662f8849058aea66cb75276310a3b08603785483cbb3db84e9ff375eaa95c44537554d248323a5aea069e0a27a7657d179b0130369cba1e83d6e25dfe79eacb8970d2f525cfb79ba3094e5df7f1b76a27e09d63c0371c46825292480e99508fc094395e875503952241d5c8b6e36da5c5693542a80a262067c703c960cfe2f7da30ebdad817b531b1c164296c65b2a81dd7bbc7ece4ccd81468fa82a781c6507dde580cc872da0eeae7c5863301353722aeec4b90e79d19f43dc04d40d4740cb8e262a17cf79b6a7921856d1ce968097511a195874a0622230a5b777d107862c01726683b3affcd91ec7a810346a2cf1539032ec5644e35111d8456c94314ce54b7e8e34a00d17c20eaa8c31111a090124d6a8b076c3333c66463d660b23d0349d42e17abe44534a61bdb8c51db14c01b3808a4201f495dc254539067266541c32da4702902b88909d61e83aa715a6f3256c168c5a92a5d4f414560206314afc8efc9f425f2dc91d45fe8bb59ec58893f775fadc4a705d4189dc129562f0a43632ca1153b4031947bb52a8e77c8e4a22854d70c532965ffe661a46debd20c5c8499e091865e05d29ea39d276e312c751a9e8a8b4b60019d7fe42b9a6bee876d9c5db8c9b04781651c54ad75db487ea9e0a1df4b89e3ddb335cd45dcc72983a1ad81d037ca4893aaa826840e575e294c539c10020160b31b28c0b4baf2712fafbf9edd141e8d0d9656fcb27787a5dbd7f8cd7e416ac25517d8cbb5801babca52fe57ff261615dcb0896c466c2b37ba360ce281d5808a1197bd50cc3d6a3d4f169177c9aea58b0153c894b119b6cf2e8516c52ff1069c2fcedd671bb23d0939da21f457a0fe9c1d8be0415a1158a4d287a0060a5e9277035f105a5e05e08898fedafed097ba4c0b9895eba0aafaed28c4f15c8416efac4791196fdfa5efdc156bfd2c6f58bb758645b68120d677319faef08e03400f45a90284e5da36479c91ab833a85815f58f1fb257edd8dcbe5dfc4c415381f7cfe763d396600812380d315c363e2b5f1cdf6cc65ce73384b5e922d4cdcb3d7e45d3346389c19856e26c25842fca73f986fe9fca0b16ad0182fa2e7a9317d70c2d89e10e2777820559326da974f15fdc19bca6c36db8f2d28c0ae1033e1179db5734fe9a266d733198a11bf532e6163adf983e00e97d8d0d1ef5a759bd8207bb56e66c2257f205b24756e09b34d85350f96b50dfa1834fddfe1261017cd348380a4e1191fb7c3974b998455b313a00a02af1d6ab60a9f2173da710013bbddb9a36b73b87b5ab3b11201a55e4aa578a728b39d753a29313095377611437c521bb302a93075a66f77432d23b0b58d9118a6a2e9e60392c80457840b411e351e496aee730c8063d9fc0c99728fa050eb4fa85911756df6bbd5387de18c6a91af13a0ee2b5b687ff163324287a80d0b0f45a58b531f2789be9e535d9ba2a1eeba4c7fc5812ed6f7e554eecb34b7f831679559860c1294e86d0718e790ec7891a61d4132ae3439902b15df08dd1fd148d924426cdf6b2161ac5a9d9302dd48be128d02f475b426f215b76aea6c4dffdb90328f75b2a82c158b1f4af1f57b03cdb8098cb2372191f4b60446dad83f672151c39b1af34b543e4d73248d9383770ff5fe2ae3cc208dcf3f05ab5978ab6646f8223ce4e2b8fc570af87d6e05893627dc01f03b066458c94eb6114939338ff89e6e30b436752181046e4ff4db954b7830710c16db923288192e379d145b70409f6a5525552cf9312d6091c599dd5231d017e2c4045f066e0cb4d328d0bf4fa04421e72bde3c8840cc6a411180be81085c7344ce6290484d856c12dc74a2e70f223a5199d0d3858de8f7a1616985aabe6f2aa66da5f43303f25a3c24c4c2f84c597c00d48a78e0c08f36203aac9c34cb3a9d27c01fd81c4742c6a8f9025e9376a4efad0ce248b4414160c7cd0a5e599482b94d1e2bf6ad52535dacf9fee8d72cc58c663505a286f9026c13c59457281eaa3cdf98f9e802ae52fe8a8875c9b66e54000e985750ad594724e10b25d2972762384b9d8f3eea02115b272cde978e37857f4f00033b3f2a7e4b56043e632e3af48cf843af69dd169f490a3ad9aeedddeaf28fd65043410ed9f20a85cfe07536be42505c78189131e88f2aa6437298ed06cf654a76599fa5e947f8dd5665b26f71d06e6de85f21082a2b136597e734e2025bb0a280cb14697c1593de35983b9d227deb0ebb2ed4aa04351b3ba4a0168a7bd1149348227993577c90a97d41eade69fed1ffa492e8466d4a794f926b78bb3954644d90ae86e2797788cb2f033b7cb4d26dc3d93e0758153b8edc01cebd839f8d4e27c5efa90a76f925744c9f5ca198fcfaa286671d733d3aa65bc42de2aa8644c6a9ce6dce643a5a4cee6ac7f523222f142a29e65ca68769bcf8e89abc406fa2b0c80e8ed04ce28405eb4bfc3b5840f53a60bbcedb03ca4b18ae256a33f0101d3db4a19e0bbd5c882a5b9475589274999b17b892b2f0eab7625f897b445fd89ae100e97a7cf96a10c3f293334dc48d8270520c18807fdd2248eaa2a2364eaf3f82fa05aa566b535351a80a0819b5b8936d3b8b6ec7ffa9003fee6fc303d4d02c180af41e98e074dd8e74a508a69e538de041ca7b553297f77dfc806721f0a009dd850711f34bb2aea101415394761616fbea2d369151e60bdc3d1163ada16113e79fa44e5d5dfc75c8156ced812fbacb12f57cc6dcc5a4c8ed309eacca9c2f453dd75dad905aef3e1126982fa2e419dc58c26389aa687f90aeafdc5e431dc10df66cf9ad02458f0b5531556473045bfe8dda976aea0282f5291e2dc5355744aa0a95c426f9ffe46bf690f7924ca870ed7b5a9b86cad965dafbd6eac73c335cc7d89cab02eadb1a59fbe96b52fdea484421c17ef1cdbf181e6705878bd47b0bdec97cd483f11218b02ad178ad25ce211d13722fd0a730ab7d48930f11d7ec5648a84e8a78d1387eb41a5dab7c545ba6afbf97e52f807dd1cae01c86af27cd23ee398db6c1ee1b98f692b28d1a087083ef0b70263c2649a3130311c45c323ddd4a7059bfe8bd8e4cbca787d997c516f75dde04a78d1157f0bc80c182abea6d903d87963b00abe97ba79db6aaf8aea58f60ca71d5c7feff5a3e31453520071872a0a4e9862e487c4678d63c2253c989f748c5da1ae3cd7b77d0e19adf37d3eadaf5a9a1eea7cb64cacf52c0c2ee7e5f2c6311ba1489a05c279a5774b64f27da975381a8fb3b1930265120cda1dd508f68fab8750d8dce2a30618d16f599f1beef023854bc3c0aca1eab07a4c7e7eb652e2714a6adbb82823b22e6b5791a942aac939535a70e9e08fbd855c32ecfbaf3b1d26c33ce90b24a2ea1856931316d3c8cffddbd3ef454bf43e68b694709b58458351f2e0e0677e46299f0fbce15b8a7a9e772b668aac2c6e6f992eee0b40318aead34bf53a30a69d532262f864817e17e891e472c9ae61e3f1520257c311deabd11a7a0228d7b02518220e4318487415f1bbf5d4cffd1e077bd1de31f269a3e28e537f1e67cad225fbb2b21392d4c599db57e09ce31be115310a569f6b75acda0fab8d005228b44a0e50002ecbb95dcfcf6bafa7d7f37c6abebfbb4454da9be51246f25ef5be1507de17d540815d711342682f8b31987e1bd16dac1b9bfb80fd632156ae84468770c47bf57520e5bb8c626fd2cad16d497a0710f6a9194d79cd3dda38db941b5b70b48dfc9d06102a73ca9d5a811a258c62695a5df8a43018764361437e5eeb85e2d8256a71db430ac49fce69260b8ea09d0761a81c3587c232485e3967ba1331811144b3cb87aaf7b731d78deeb30b6a09629116f2e5e5a0d57cd0801c38322536a442973e10153fc34e8602f3ba07099d42bb2e12e489e77535b74122dceab35989db5972fdb3138a9aed6a8ba9198945c5098e3d5ca1a11243a61549d74200251a25bebdbe3a0a8ceecd4aa8db17ed9af51655ffa4e09f80f58c0f12adcb90197bc679505944b96a9a287a5d7907eda4a9ac153f1bfa1657216ab2a0872e271eba1d7423aaa116227b94bc9fb69c2afc5f08b3bc9ef719e0a5460853b07c080a7e2f2c3ea1d204882b35db08b3aacadb040afda7842c7f2282633ff11d94f28f856c6e66702f9c448dae56c543a8f8bf44c3ccb4a9a7f54ea372c18588d41d6ceb98f1f74751f2018776cdf9b63bb84bf1a21f7f9b5c45bc0cb13d665bbd78ec06d8f73fc32839fa9ff000601ee9aacb28f5c2b9380099bb3566ae8c12a6646412bea5efe809affc29678687602da3940f9bac322107d63f02698ddf88a7ba06b934db73b3c974e1dab4a1ceed6d352c72f5c3048cff8d55943ed3618676a78e1f19417451b17982f063a4207ac68be532b2d65a3c1bed020494d600493dbaf255097b841e38a4cf285bcc2d489191e555787d4d96468d2d73c59262391eede73511fdbde27462c38cabd354065847d2d0af4c2a00f629bbc2249a0ba3e99d392918defc415979ba4843c57a4084fe4a5931321ad2136f2678d748ee9c3fd6e91eb0cf092068f03a6000753a5ddc7778490ec7982611adcd94ce3584f53ea6426223b6acc414850058314fbae1deeb161f62ca71732b0b7e431397bbcdfc2d460c2f94645262217df7c329f0d764220967dc6b4aa53b060b2f45adba8f754bee6627f486941f94a25356cb009b8c6bd0168f3b5958f8f0a59adfb0be0896f2c9289e69db8cbdcb3db612e01b220f9e6ec382b2ec71600365d0baef2d8d035516146d5bdd8ff40dbe2b5bb63e70667b54f26de8128e5ea877b1dff863261d99e130ae6aa3c38e81c6fdacc8cf03a3d92b3a971525876345c3330dd581b8a39ec3968bbab4743dab23aa08cb47abf0b5ab082fa0cb814817159707a01991b9f4b36c989b5fd3359daa917d94d10ef24978764d32a99dae360e8aca7c666cf5b245085b5e0cb79039a9e65a7d19294124f65010dd52deb6d9e3cab1115872c6a4e23f4a4b419e52cc226d5ae16431da067315cf336b8f38095333e59e01e517dac9206393b3fb258fae48ae9d911599cd088c6d038a1087a25720ccca4a63f53b64870cf610dca015999701174066243c69900573701c431f57ea99dce069f16c3ae158e1d7dd78337c98a6c330e4fb0ae24c47c117a73c9bad6dc481ccbb7dab1cfa3cdedf24217befbde5965b4a2965e00ab30a6c09cfa10ef03dffbe0a4eda338a1bf0fc9ee77a9793cdc66f55cd188b4095b36a63a1b1cbc6f487c6f81aaf4be29794e64dcf6d2114538ee3c82fe36f19e4462a1ad59eea3272678eb9af6c247a6777fbfb2e38b7aa2e613691bbaf771b6ee0c3db47db5ba2b2bb44d9f8dde89d8612d8f6d20d3e3cb23cda941cf2ed91dd78b9b003fc92eeb9f3155202ad31bdddd7f204718751922df382b9e7eea0ee7a57b064a6f9438876264bb89b9273dec0b72f697e696db995e0efb5f9fbe67dcb39e79c73cee096c16fdb3664033398bfe59cbdaee6bc653c5e227473e46dc262a4d69e76bb255cfb8ceda4a0046f8560bb75f7b87bdbed76bbdd6e9bf5be64dfefde6fdebf6d480cfb9e08de5f1df2799b03aaa660d8f7de8864c1de7eaf8d72564d9960df0fa199b3bff6967513a1bb1e9799f3a20f6f6fdb8710ed8d446a6d8cb1e8833a3db1f187106d4c967077256d7d29c399ade4ae90eddeb9b16ea9eedc687768b54b00bfbb4370cf1c43686d233960978077fd107ab54be8d9f5b756db55d776f5515ea47955ab6d223dfbbbb544c0fd7540c2ae43901c40046fae8e43b813c11b6c60570b763d37223960d37983861c2cd9a0e090ba4b7088dd25584feb7d36e2cac633636d5be012a789e865e618b3f081872a36276833879a21438b946c4a512d1555c8b192cd27b2f96f6e4b94568a27c598e249e79e1770d6498d5d2b8f9df465e7b456aa26912476597d902dbb3e845a85049b5d773d915a34aba6aaec7a5a9bd46a0066d713d117beecfa21335a834ded9d8231392bad2541c1a633a68009c3c7f8254f0f1ba32d28a9926205b531162e58ccc62f698da34ae60dbc69decefd92b449c98570ef48fb7cfcfa7c2f1f4f91b3d0705c3dc8a499b0b9bbcf829dbf41055b48be475225f585bd8357c9d2ea091b04cf7d21592e8164b9b4c197f9dc43ba8436d5173e3896df3d0a7649956c4c1ed517e660ec515f7853b0b11dee024d4532b840939279c1bcc00b72266cee6d54f348c197c7eedee8c3dbf947de4bee9f0d3dd53435e11e4388b69011bcdd9121f0769e16ec72eb5163fa881be7a6ca63be59a3a454dfe7d7fa643dfc0ff02d92d63af890a441cdf4a78c06fec7a7491aeb1eebde69e03f913efc92ec1b454a9ebed53a488af4e097644ae159a44849d183efaccfbeb34e2939f30e5e09fc07346f6425a819cf59a412543985f51fb40b2c636a32da09b5b3c8136846d7e721892cac358af40f4791924366acf364a10fa6ac751e5249695a985d923d675d31c825118b9c16d6228f2c4c161efcc27149068e4bf7742c816e6037fd078eb4063e24959448b030fb20e4b44916663fe4832943fa60ca58ff60ca42f025ad81f32ab47553ea449b9c9a38591f9575706cfdfbee48c9122852dd524366adb3482525d659e40753568412d13a066a7aca5a9f32d6651f0543d90c29f9336f642ccabc8d142f49d25a5ee26ae6e19b37f454c3c2925dc1a69b6630f7bcbe3636d9c8a66c5e0bd9577ecf4f9db16c6118ff6cecb385e017de15881632f302ac2589f99abb461d5f38dc60db42eaf1ae60dbd7d0512bd83af236aa3403566dcf570d421dcd1d5fcc9f554418b167551146b698492424360db3eb68770d75e0d7a1321ac88c065d9efc888002d46f621e10483127f380ca31bbdb2f60e6b8171ab3ed978abd8ce7a6dbcb36bfd447def879c3be1bc7919c37ec84d104e8a13c444673e408f555eb81e02e63b2995d2714bbca26acfe1e873aeee7462dab5cda565fd4370489ded9f344f2ce2f21ef59e90574acfb6e77ce77b54ea139e714aa2ffa43e37a48093d3f6fb7f8a675a2ad137a4a29318b36abfaba9f2565626b63c74c678e798e552dca75e6ebfe32b1d96c2eca09fd9d5bd86557f3a66806f4f7de9899637e6a975dcdd6306fdcd3d136a117dc6f4e36d6fac5b139b548eb743fdbf3c951cd580fd9d5488ec4e4bc35a3cf128296d1d48cbeb766f494fa7ae86a3636657f11e1d86557a338ecefcae472512cb2c4119225d10b244bfd9165de65578b42971d55a3a5dc2cb1cb2eeaea4f187ded17264b221c51fbda26f4dcf6de9e5543a8b0ef2d95fed9b34a88381ed557bb2750cad2112f5c3cd181cd1855c6e8e029ea0c1522a6c0d4a1a2c48413049221a48a509591029714cac0610d9455982e54f0d2625a12024c1229500ca145071de80e4bb85861264e152f53b0c468d34499169e14c1250815909ab092460b19478c5c8162ce9214262792bc90450c564d2cc960e50b932d5d386145191b92312e346d9e3dc7b460e7a8c666fe009400b550c91d248a42961c39028e5d8f4cf08608d44231ec5a9960c32416caea6dd4d895d51ca3350aab71ad064438d4204161d7df1358c9698286354d9c5c21ab3d4491f3850e639e0421ab5bec5ac11f1a6a58a8dade9e6a90b8b0cb1a780790873747b81026ce541646aa2e20468834399c19a3ce165b0f5a8c0b8a2832908993441837ccaa8043868c3b6da28ed8c2e81286996dde849143adca0a3a587c852c6ea66c98f2f48394d467026ba5bcab2e211acb8515f69a32018b1873a5a936c40c40c8a9c96c153420c1c3172a435879d30507185ea093449ca828b2bc1123092ba440b98266939385095eae1881c50a2d4a18f181aaaa2e30bc90c40e0d5b7469a9c0030817d6b0a1c2490f4b969864a9418a539caa35556c350f0a7b4d86d4d783eda18b27c55e5327ad24144acbca047a602185209200034e14303038e1c5932961c618c3c6730a020a143261c2b0c28d97a0234b7ad0224b124d3b5c32a4a6a4642feca491f2c54c0f3928e1c29c303334014326062b75ee105ebe370238d3c4162fe800070b26bc7cd1a6ca8938486461c5f6440aac62ca10452c61625a7285d524ce164bd089d2c3158a43976c478b189a8ed86133c4530759b4d030c40a556e76b8521d551448d851d224092790809960480173c6ce0f6aa8fc60c37861ade0355131721535431a26262cf0104696333f385d19ba17ac0daf985e98e00c1336c0b96287c92c0b2d65ae9aa6b2e062cbc1536105262cae5cc1858c17ca58800c3043bc1182c9131dba45783565873749ae54e1268a29c0d021e38b0d70c0c8a132b1aacc8003132722a29a481185ccfa08430b314254d181890699950ac348c0992d549872d0a185384f5c9802ca0a30bcb0420b3607a96fcad2f192a574c0320688a82452a0a0260229bc11238c14ca5c71850d52ac18c0a063051630ca7459f365004c98a03025c41913e0b02d2105aad15d5431870b1520b0fca0c49213d880a4cc0a286c57b210f636f9dc5030c5858c153554d579e1842ee498c04a0b58cc89c27ad1e5734202244ac079e24b9d2790905facce6c81868a93303613b09e0882821362c0308386872ca048c1218a372a4891048733ac39763ad105cc41832ba73058be004286394544c162cd12516670b33d7930d839529d18093073c68818527600c28c068cf8628c0d55d8c0c5d38dd3e55353a609e3ce0b4834f9018b0db840e3064b9a29603839e90242b1db142f190c11a61bce58ad308515743cb085105757a471c394c275eaf2ad30cfb831c1159818b07842aa35a6cb122ac0c0e487265b056b872a5fb42c5922a60b33527052d090421260a4c0a4862c521f196ba5c033631c41f2c4c314279c666843c517515c69a2c313556c515ebc27b6872eac23230f5668b1614a8e9327c8b09ac2c21763a048e2c466f1ac740c72b050a13006122ee8281f6038f2c3164b88b0505d5a45ec842395dba46912050d0c495090018a2f9070a20a16309031a28bfb83d7e48ad1e53b42c7cd15282f543152861a9935c2c9942192605952654be2c500707092c1cd1a296460f841a68814ac2051439532a0746149d9017509cf69e863db3c3b6ad4bc90910bd3769d56a945f4efc075ca33d6a6254edaecbb5dae16f95a25ca0056e85ae99b2745e88cd757384c446d1b5ac061c2c9dad0c28616930b28369b88851201dde28b270060239b414e234bb758e1ccaee16c4ad5023045472549a0b1eb0d60852ec92a7608686c2123dc25b63680157a0859db9a0cc15d826ef185924d4199bd851776b6ee80925398886442d7a4907a0acaec196e4041995d49247be7ce9e2244b631f26613b15850e916645022a0942c694fb5d007add52bf3c666a36ad10e4d7e09a869ba21d1258eda38aa16951c13b6c26beaabaabeb66f9b1aa7397beca9d10bb6ba8487ebf6baaeafb4b643f489e0eda2c2a52b39e78df2a9beb65aef330ea1577ac621170847eded3fe310bb4b1cc514a53ed52a4a668ea65ab464e668528bb657275cb51d6f70a1ec9248532d88a9a993b2b1cb2427574f6a5066f82e93a05041b94ab2a18626872872a022298730bcda116ec9a5a1de50add8203c1da8107799a4439d06ec32a90b150280c85ba8d25089d114d5c49826b89851c48228462499a93ae383109b9498243456a0e122090d1868c8f0b2cba4345ac024a5319394e689a434514c247699f4040f68769954554b5a23468a1cd28831410d1613aeca146097265c9161c2d59d1ac365529dd81d7c10a2668452cdeac60b5e0d5d28d8a5120a545461d97857759450b8730449d3131ca26c107708322a30a1c215d854b44ba5225d48ed52c948949b5d2a3141bd29a272995262210d0b5528b1004709496d72b14ba5244d6176a994244d92289492b87161974a2e3c116597b4a71a2dca05a95d2ed52055031304d8e5520d6278350b9c5a562ad8e59293344eac969ed49e70f1a48b2976b9048589cbc214281bb03872430b374ca5d9e5520eb51e9494d9e592106c34d8e5d2104e45cca025062d4d6c5aae12954c134b5cd270b15ae2a2051731b8d45932e2ca0831bcda0a584996a52e6476edb2c6a866a402121762087769e4a483110f41146164849117a33118ec72d72cd8e5c6818801ec725bed3641bb94d52614bb9459edfa649710a809609710c082c62e75fca023ccb74b1d543ace70204908513ae0812c2208f1012c42a68c8065d7520449443005b8cb1266b0a1841d4ae8126504729aa29284484af345d21c1270298153099e4a40b5eb2e4d80625725a65d4ba51a947298b14ba52d4a4d08ed92d6a46797b42a57767d49e3b2eb4b1a12b432b4aa5d695df0ecf204148ebc4083d3b6cb13a658e9767942968d777982d4ae2784d99502619dae0d58aa0827a74695c5d82eaadd93a69bb35d3d55dbc72768cd8c3100585324d500aaed43ce7100d5ee9112a2b65d5b760fd5d5ae5facac76ad014c992adb15464e9839db55db48f3ce1d3abb326d57153156bba7cace95185676a8d2cc2ad69079c2c49cedaa69d6ec1e31a4b6ebcceeb1c3850b3594c1c6067bc72a071f6e0f4550b161bb6a5776cf1a39bb87449a77eed8d9950dd5769148f3a321528e62f24202253cbe23483d28cc70836fbbc812044fecca23c79c5dd36cb1ebbfed35230bf88204854dc4752edcc15d11eee0ac80c95cce3963805526e9b086b34285b3c2c2ae8fe3031356987cc0e2830c75381fca70505170505e763d0f477054b4ec7a298e4a0e401071a918b1eba914014587b3f2450752e6c20d78b68b2c4d98228baeebbaaeb37058a5529122970a172b86115dc82a9558b84207d24fcdc826e2ead92eb2544a72b5ebc57852cb5cb1a1eabc5a63954b4eb59aa68dad53674a01c68e29c50dbb1e8a3868d64861c319254970b194e5093451ecdae5aecb5dce39771b60954b5aececfa239ec090f161826161d77f9de70056b9c4a58c5dc1308551617a79f251776904c6eb3aaff3bcceebbcce3b81552e7589b3ab07b489b8ee7691e59ef27d9ef7799ef7358055faa0e3802d5f50c8218fd1ceaeefc21ddfa1f33aaff346c02a39c065d777218f0a940020885def853b6804214231434a688a0610ae254153fb678afd853c7ca8084130bcac5208991f298490a8e00b07de50023edb459643a476e591b3ecfa6f6eac7204501bfcbe0ffcc09155261df956d8f58612a060bbc8f204ab0870737ca62832b26b042615775c2429eea82f216fd7e776915a4cb5d9446a39e905e5d4a2882b9b083d81ab41062502173982456204881d76fd0824f0420a30b2ecfa7a247a67ee8f861bcc3b617a827a1e141414d4d313a4ef1ae7e65103c589823dd54029b271958d6d4af292aacda33f0eac63b97d0b3fe871aaf58b027ab36b57f676aa5dad20ba6bcd06fdda064496f9872c353965c67d480f6e8d5461deb973e7ce5565aab0ad67ac4cb5c816d61ade43677479c26ebdac5bbfac351b82a0e955d49ef302fd19ce2ef429426f099d35d627b54975aa452a598b549892da543f7041d77f3e15033e6ca5774a0af15e2f043fdf19e6d1fb762fdee84bfcae1b3316922f04ff236f0686d4e852ef6debf258cfd1dd63d67d3fadb83def376b119d3928f011645b4bd2af75c10c7abe467d5d1c1ad417a5ac227aaad9c1c922d12d82a52d8cc05297edb716e151f4716b35bbb92d441abbdbee199f08de79483e111ca4e39ef1671881251bd568cf69a3dc7e77d86f97480123c89a3732bd43d01d65cfaa384bf63da6717aebc58cd9265c91bd61bed498a0694f354d533bb6a79aa62a1fa94d9f63892eefa6477bbbdc31a789666ccab8e398b125ee79c67e0e74ce8e568ee561a5ef29e87144dfdf03fd8c4676b371047554457f9447cb46b1b1a0d35b3b3546e328f986a6108f665c9ccd013a37b6f66d626333e8a634e8b9d14add40dfda3444a27b0a05ff760c7ad36daf6a116ce79836264e7de2687fc6293f1668b45616463f639ce151116ba4ca7e481b65613d56d0a59ea260480a4deb948dd536982c759eda56097559fd5798ebb8dac6c2e8b93861f6ac8a7325aa759abfdbd8896b9bd64b1c758bbdaa2f2a55b76c7a4bc4948d099dde6ea9311ad545d495a1359a7e6e050c45a18d6c28a9454533f61c7653354d519bf694d6cbb6723e7a1b9bbac622506176d0d3861305ce12384aa496900af365cb972ba178f4f30fa6eca73cdaf6dbf833dec23838767669e75cd5a2590547cea6b7726a38dc41e9d4d9735e10b2fe71e0901a5d5a1cbaee5905e70a296e91ab925ab36fa8433c02fa075306f41f0270b282c41dd9cf6da803bcb6b19f03fd679c1636bf8d423446cd913ff535cf411a8d4fedff13033abdbd9ab121564bb2c842c50e3cfc20a3b773662cc716aa9a1d244bdc9142169b534e2720a30c1d9e687a42467f99666ca9b683942d80b8c2450c1b99fd053ad1c61b37028d5ca7a4043503fa0fa9f473205209e8d392e509579bfb12ec687337b2484abb9e03da1ddc5dedae53f6336fc7118876255f3edd924f0d4af28140e7fa9a3a0a290c7a1fb5dcb10f903d377ea796cecae26e543f6e9c9b72f75e6d719931bd8e1f04f2e9c9df1d41bc855cdce30344da5007fd0c41a9257b3bf7cdecb3b99ec7a0ffe3468cc51fa0923e713f3fdce912fc10f04720019f08be123eade15326dc844f9fe0ff00713386cc80aea071841d21d4173ecf15cd7d25541536f78fa4f346051ac201fd025d1f772b4dd8e116fad876fe9df3863d10592ee55a644908d4173efeacc6882a0c1f93b3c2307da21cd04b8e7ba2e7489c730813861f854f47fa449f9ee871c65448d164d34ce98146086c247daa45b88a56a157ac98ea6b6e203c7b5a19b1da1a4d13bb9c6c40201f4b9640cf40230874214024585ff8872c73cff78d77ecb91d3f1ceee8fe05ef39081259d894815d67bbed9766c0891e6ce73908f78e3c9f6de7a1bf1bb9bde7b37b9f6fef390fed1981def31f3ff721693eff790f49839af99062be481ff4739a98ef73d77ff43c88a405bde72e9206350b7acf69aefb007dcaba5b58f79f91c8c2baf78c4616d6dd05d4dda773c97c64dd69d775ac9047b33e1064b53eefadd659a3c83af875228bdc41a4beba2b6d9a545fddbb7f5de7751f1942af178e1ef682f3753f7f4f346146366674340382e978e7ebbe92b0378c3189a4b4b74b9bbcf8668db9b5100658f4f6c9936d8c75fd1fadf3909aa441cdc0b748da901bab20db45d84ec2f6a4ed1fbd3403ef08dd619070042b9d37360adbbe795b3e2d3ceb34f0add7634a8af6e145fa3093339004df7aebb7d5caf74210f305df7a78568bc573d67f6852bc17e97bf469e27deb3effc17a0fe943d2a0683e6ff17cca82f48cdac2583eadb9c97af438654363681142f0404aef79147b790b525fdb45a8afed79c3dd966fd62869ed9606f833f7c3213a9aeeccdaf7f398624a479e790353183ea660e36b1a143ded3e3ccd9ef57a6ecf500729e6df870f4fc99925c5edf6f7e167f6acdbb3cefa581ea52cf020483d9c24527207112521f2a7be70878fecf98ff590143347cec22bf13c24f567281eb178c2b33e0bb92bdd87e7c819eb3ca4129191c8c2c4fc29fba865436368a5a4fac2dfa184aef735fcf4cd1a436168cb8520f76d9f3712d944efdcf5fe997be80b4d43a8beee0dfadac2566336b6393704a440c52281325dbbb7079939926ccc52d1263b7eb3b0ed3ca3d1265341d737d5a2faad86dfb6936063dae9c8c674940562639a080bab05b1319e6f4f16a60435b3e7b93e0df135a974c1f3904a56024b74b7e7cc41df80397aaa71a2b6b7bbb9d30c32cf48f339783bd2a0f0693d67f59cf559cf59c7e4cce7a00ffdec9ee7337b4dfba101bd4788f7aeeb3a5208a6dbc3df28047fda50c75191fb6e5a234b37d00835fb21c5cf8714f1354dfc48917e3613312952d2039edfffd0b7e7f9b51ae377de37967807eec67b545fdb56cbfa0b0d64565f1bde48b0b0edad91368ddbc3513f51262268cdc2b6079932fde414a589b0b1293baaaf4de86787129aab20189fd5f565bf1e0710a3cb9353b85b3bc57cd6a79859ff71cf226950b3f0f6344b0b6f3f65f8e20f81a1e90fd6ef7f84b73483ca946f33297ac0fafd8c15de924af6e195ee595f928139c87e668d53168e53f671e3bf91c8b6bf83a3e81dbcde5868143d92467de10f7da173f9b3f17940d1f5479c2cb76d9703759d70c6d4b9f2a8d3b6e967945d7f852e65d7d7c061b443d11153767d084955473cedea44803dabc49c60f3ec5925e6cd2625b5f127be16e2bea12a48c8b51e3fa966fa74c9299e133e091437c1239135b24763102e3c2a62a4ca2c790bc397ada0297e522d2a2dd8f8b8ac8004253c2da860e6b852b45e2dbe59a3d44dbbfe136a754433eef5b47c7b4ce35e8f7ffc1736aa45ac8d7f3473e88d1fc4c6eaf145b0317b7c0c98d0f8386ccc12d5db170dc5ed40ecf3815471233db0cf9fd9677256cf917a284e53adfaee87aa08c2e5df8b6063f3a808f77ccad1dc644a77a3da14a416b1f63d0933c7acd9986763b89c56c742f846b5cba39185dddbf1c8c2ee94917a2f4b41df571bb3bf3aca96d1d21c13b3edf434fcca91b4ed945a7ba299a3b5ed8d6c8cdebe878dd5db63b0832e75256950f7b47a7c9246bfe503a9c707128a93f4a01e932f3ba3dfc85b9885a3ebdfbada330075c967ed27e28a71b5d65a6badb5f6b486abb5d67ec88cae42738a10b5d90c96ed4bf5b37bfb8d54525ac27b4e9d5141a816e60a01b4309144959833479c51017b60d4b0f6ebf145d35fc815c0ae9f74e23d69d8c08ad9f5ce1759630058e8f29bbeb8d7d8a016a3ef8dacfe79b6b1ce7b1a2aa4584971838596274b4c6898f3e64b0e507252e85ef042cb154134d59133a7cadc918189883171c0c8e8bfca495d5127cf23a785dd2b799f16069bb23bd67b9db5ff26d5beef6184eeee9dde77d9fe8eb643410ac79c734ea2d7853e1d509ad23283e1a4aaf7889b8d909a42860b23b28d7ad3850a1862eee8c0811d6c3032651525a72968cf29279c38e124280b3aa7d0cc88728101d3064d56b343542d9385014d74aa7c981a82cda687402d0adab40a4cd59725763ea24c964ded17c69594eca3e1ade1fd1d41a8a3b5a651d298476c492209aa27346bbe20398123a58a1aacae58a0b5ab0596285e8b587b7a119221e9bc0d77a378e479177f74f85bb77978688ca98cab97337b72b16795549bd67e00131c196fb8bed6ba7db90a71d6fa42ea0c664d2e731c87750bb3b8c9658ee39115b1c279ded99331c698c562557c6fcf2573c62c9c33cee141cca35baccb5d303c189222fe3db8458cebcf69a8e3bbdfe5804a7f533665473ac4a33d6b7d218546362d0cdfb12e1979418b2c48444d91f972810f557c38c28c15344d88803e02d1de2ec6b9f33cdce18cf1c6d9e3bad9577dd580fa3078d2e5c5f9fabadf481ad4acde92e2fc94d1ec2f294e12c90eb9c95aa8ce1a94560ac5578125d9fdac516aa74d7f80493473b0b697b0fd05d0f770416fc7e79e4f4fdfc3c6bc7fa7076263e03fdd2400aa26629a2d5b74ad561bb3424f1a2e57aa6e4ab3a509bd6ed29a4333b8c1f912dcb9be8ef0c50fa60c5ffc2100272b5335d9363f67e599a2adad39dbdaf9a3d7d8bc6a7a11d1b4e9896acc25a3c7518b669515249b5e0330327a083cd93c9b5a6167d303a9b335278bd9b45a241e73278d617728e1bd1b8b2c5160caee9c91c81a59187d371e8d41466fbcb79182d6b54ab6ecf0b0d2f3656bcea6cfdac9d6dcc4376b3c91b3c7cdd1bb5cae56cb458daacbe56ab55cdb8faae8ed5fad66999460eefbbeaeebbc7fa7f4db41e4bd408abe52a264a8bce7bc58f676b9eced784d2d62538b4aee45dcf36f946bd7b7839a7bea96d418c74461dbf3131d656f14c6315579dab68694bca10eef1f4beb92dec5e16d57b2a41429698794db612539bc5d5be9cc314bf0aca591c533de5d6ba843bf863ce3ddb6e498b81b660c57d924b388bee4a6d4262fcc58659a1c13cda0a2302fd8be49bd88b8add538267be390d4dabcb11d84295ab4077f2f92a2bd78d6e7b6511d909b92354aad55d8f69c7594d09c39caef2d051d4469063ddf5e69118dcdf876168d09b55e1a6000b482bd0d49815eb03d68c62834d6a60adb6a134bc99a6e5d8fb48e35caaa1695f555a4552d2aebe9d78c55f5422889adeaeb15e41305847f187f5ec7bbf10f2010382ae85b108e0a6a6d5097b4deb4795effe5e079a9b45d9ffa2eb2a47791ae7a35496a9be79ae7faaeb1a7031e3218638c3f90dbe06b91f5beecd9cc651186f70c93cf1c15638cefe77cdd22a0f9ba9f315ff70098affb6dc22efe34e1ab93cecd719f39ea558231c6f5a8be460e6ce0227360cdb4e65c33ad38ac8088c0c1510878daee7f8d1a789ce1984233755dd7d5a289675982b7ef69476eba69a8a3ebc6720465b7ef397ceff7813387dd44d4380dbd6f9eaf0b1251da1b1347eda4d6523b690d7d70db929c0e93564a69e5eebc60c3e494bc6521602fbc5e0d5022ead506b780431334b9139a31eba5f5de7a69a5b356d63de2294f9d54a9b0461a68a0c12c89f69cff9c3219378e1376eb06f666599f37ae6c3b124d9a86063870e098738ad7651c5cd7714151350880090c28b2d4e1a020624e97391c2f355fc8d9f6367c246063b28785591814cf7362062818639c7314dd50826806755ed07d72a7def7f9d3851bd0bdd5cdfdf3e62b7fdb39774b75bb301d74ad4576ce1bf37ad432711cc781d6860edcb8cdd7f66e04354cd8f725b65d77df1ca0c9ed01012a5aa41695444740321044841188242951265a67181cf48609c4c28eecd1952e5f2f1a36849c92bcc4e0b81a77b4fb72f772b7d2f9dae89d9675313925dfa86ed9893c761376372679e60d9ebd8d606ff58b4a65639c951231ad51477fd920c2a101047a70008456a94a446542ca08270b7a4297f5a93e694e0bf5c0004ead61ced7ebcb7ab5f36af56ae77198861d70c71de979c72185f6ca29755c8383fab23d60447cdf84e19b35be7ba7d5a5160a797c2277398e845a5463b7070772f6fd518d0140760fa4c9becfc012b2fb10f4be1f8169df27e1e3c8796adf5925c261633dd6ec7b34801a34eaeb9634b6a29b256f1bdebcdbdd7cef78b971925e77c932575a49bae9a862adb576e35e0a6d9766cb596ced666d4d42005ae8f3d6dad1da197b56aa9a93293564f9568e0ae99c29a5f74753d1374ca119b9dba8ddbfe424da9cd8d825b2b6a64f651b59e64b5e0510d19abdf6da4a2d8b88680b954bfbcc981127256a1a3f5a28091af50ac0a1010c53ec52d3b3d454e92b8e30b3a79490d08fa63180293d9d48f304021cd4dac4ae4b330801e60a18802803ea896ce98739555c4eb006883830c8ea71d4a2ac855e75c40f9bdbb3ea081e76f9a2a29263a317842aefbdf7da7ae99c734e3078bb165f6b75e0a0e975e0a02f8865f4890a267dfdc7cdd330d17cadb5d6d78b508fc3c6303d7e3d918d6d246d7e7bfdedabda03a1d3921e507a4cf6b0b03abf91461656e9e7eb677d8d4d599d67b0b85205670c1a74d365f271afffb1dd9ea4e157aa0435c3af747ef572b79f71d6be924aa438956850db39529c75fbcc7eb3df6ea41e7378bb7470feb47ae668dd1ad9cedd080658b47d1e69959eb69d23c57bfc259925c54b3fdb4e2a415d72565f49f17eca94ea3752bc2412b5b7d6d65a71803dd93072a3eebd9776f912e999c3dbf77fdd8b01167d3f52c4dd95bc9bbf24bbefee9d7b771d39cb57aa46f5febe45d5aa6a59b5dab46ebd40b0b0707be84e1d8ee36ae5b6716e0eb6b96f73dc5f1c87c193e63ec36c63220e499ab5f74811d3ea3f19773b6a0be3380e7ba7f5205852ccff6e5f41f048319362feecbbfdccab173b1289526deedc5b54dc5b55dc5b56dc5b6db84c7af0dd1e04fb8f04a1dec3bf6f5d8da16b1cc79dc64fa977102398fdbdd09c9c6d18d1365060b17cee9133d6955c67913fff681eeb0e3ff78cc5f25cbbc31ca75f562c8c3bf1fb075376d7673d7791a277d79764339e8b9eeb33d65dfaac875f023d0f143ff28845d2a0bcd3ee592149b30f5d2e52fceefa48d1839fbbfee3c7759fd3840e44d25ce29190d0c51faebbfe651d21d4576ed362f3731f311fe85326340a05fd87eb40240de8ae079134a819d05da7055de853967d805c3f414242e39465cbe1f3b0463de2561b367b863a66f72c52ec3e65337bb10bc72973a38fdfb2c26fb5c16f5de1b7e668ae8247584e369fb33dcbf366e0bfd72fc9b0cc863ae846e9de6c6ce36434a88dc562f99cf51f3e67f59cd673ddf38947ad96f88375d6876c40771291faa29bf3798f885ba38879783449d3679d47f3e01ecdf2e169e1bc191d81f7de77a4b87dca66f5e246deeb467fdee77b7d2f746be0d2adb9062b8c313eb2b179a2f9cf5af1101d3cef9d393aee60788f9c7d576afd23c5fc59f0ce1c5cee466e7363dd36d4211e816ffd86b3efe0fd778f54b207bb33f58533c67b680cdd5a535ff81dd9aaaa2ffcd6998dbf7d36cc63dedf05f3b8ed6f03b931ef0f8379bc7ba3137399c56d1b475a565bdd86b09aa2c8cc460a3a034078589db94a60b01e3248c1c30a8ec7fdfb0f7c8fa4e1d3be733ffa3ecff33077ec7ddfe779de873deeb391020fab2619470f1c2732fa460aa2371209ba078c7177fb1f9e779ad51be36b90fcb08d22dac33abe77a4b87d9fd97f64b630d2bb0d15f4f6eb753652d0f9f2b0d2f4f8307cb346c9136a110b2d896b28ccc9c4bef79f05856c2c77b7957bd5dea8912a8b9a37ee0f13767fa570473da65aa3565774ce6d426bd5a949522549b0b07b99125d45852fb6b5becbdd3d16876c40777daa51eaeb5e3665b82341c4942a89487d5ded5bf31b7bcb7198a4e17be730271e711cc6b70f61c8063a66f545eda9a55f9dd4b29068e646d19e7bf71ff899a4e5e377f8b4ee5c0823d1d76df3ca7035448616f1ac7a90dffd477ed79de6d18cea1cc539efe9f5f23b2cce79efad712b10b56e5e6c93ce1ce11019ba1edf779fdd77a44867f6ddbd7cefb48f96ef7dcabe71ca38a41d74eb382ad2dd0ba11b45bac9b8ba35c1fde338eeb382b7ff11be9234efe1bd299b4236f69de32a4964619cb651d396561f82600f9222fe947907a13e24454ccabe8bf8a388497b5087e8813df8597df819da6c61dc87ee68fc8dfbd88d4363e87ceb8bbb539dd5e0d5a0bd9f97fcb4a3f3bb871e3903afa40f92ad50830f0fe55d699b85d7a451f5426085a3f87dcab415bfaeebee9122d4577736b4b3d572f9366d371b13b9779f22478a1ed8e7ffa8f5b9dbb64d56e4233df216b66d366ada6e46f2ed8d74af9614efed9764a478c97b97649803b97b648b47b6e65bfb7c8e9c75afa4527d77df3d8f22f729cbc79bce63e81144d87e65eb45f2dd5f4ecf1bf7742c83e0db918e44b67db7dedc2852919223d4d7d0173af380a2e96b08483ce606525f4363e811481130ad4274425fd70d79a1e97037aaac6eeb28b87507bbee5dd781a76def39ed7a2029e26f17e9b7f75c52c4f7c93d3e3de394f98067b54611cc436468abc307e82039ebb9d2cf7bc8209f9fcf10bcd2169bbba8f4eb34c6a91ae7984433020000c3140040301c0e884442b160340c7355910f14800d92be48664a94c8510ca4286408218410020020000040808080c808b10157500bc01d2918914c6454784a6a5ccf7b9dd6d8e6da9970d32fc57b3869f966fc8dd5bff9d45c05b7a6e2a9770d85cd317e499c86bf1003f36d5796fc35a1fd03221d890f6f50a70564c9200cb40af831b9c10af044177fc0ad5498284c440f55ad9e9986762ddc38c87b1b914019a46e40c8ac06dbd5d8026ce0f1f6c68a777ed0b819d6269312cfa58a0fba0663c66a4d1367cd678f38fe863be03e0d260a13cf3a540e22d29ad65d70b20de413b0f842b04e5c824ae4822cbe545c89c953649fffda51d14969a16da2fa9218bc3f63d4c8a443c17b7803253d359501bb763046f7c52e48d8de968fb3316c71d84c896210b8cfd582c846b065a6f3a09c53b182be20066f3e53169ab01de7d714c3e0739e893ac029c781fb1440a7efe19f044c9426120506a5bca1640b9585bd190a777f972ba3a8209e932868cc41187d59f03f3f70c0b451e8a351a0dfb9eb018e63a2c167029ec9b053c0b88fd93a560b9ba001e9564243784843ef3a0a37be3bf872b40f172b8d6ba4462ee16d89c2c2a956d8950b765d21b79d23ba216b4e3774170f81e76afdd39d03a9d33ecba5ea49698361ea3e0b698577367421212743b795f9ff99e2221300586618977549835163ff1aebea6e2bb2371d5bfe38ec38ba77ad098451cefe93465fc526441d4897f7d6a7c7724cecdde00b622248415c31e5037819fd938e32b293226c811827e3f991f12f25e2aec01028ce62ec069b014fcc1890b4beb5ce75a499580a26214fdf0a777bd7fdb9d7cf7f730dfeef8ca1a78669ead5cf7ead0a5846ffa7b8d78ad82fd11ece495348e98363867de5e2e6935c1a8e76a209c70ee93995ca1d9bbc5cbbc9acdac5f8aabefc1767ace8c5e4a851117a83566d2ed743fa887e33fd6a767a47cee00326ca5771e872982c6a77c4b7e1a267c23509f80a4386861846eb8f9bca0dfebe234ef5003371816e0dc532948c37ec777602eea67ab9f96de9c1bac99a78ecdd4e63bb28d4251b0111d388021e72a2c8741d53b92418224e20f1a6339a8a371183e37b5f648b839e0917a688f3c736962e74f8b291de7031fd01ebce35929b0cab0ed780d02490ab0eaa437a3e16127ffc9331a3b25deb031d99e0a8adc93fe183c10a20dfc147cda741a4fa4ce365cdd9287640ec618cdcc6e5278ea9dbd82578e291c55f1b981e0e7ea4614669e2f4c629de2c0e12207c1624f0c44899f896232c800b54ade7a1590c441cbf05a71cba894bdec831ed1199f59fd6a9c33513ae834ea71d3b5cf85ea7f3f85928bf0c97bec832daa043506df111c454e84791d1bd004de00ef8298a2e9032ffc7250dfb4bb8d0e7a27e9cfa38fa7eda0072c7e0e3f22afc272eb9edb5a5440e310d9a430203fb4c425c9f6efdb2f83fc9adcba2824765c971c921c3262c349ef0691cc92fa8bdd549b8938681d2c477214cbc4544daa2b98134822a524902ddf5f9a418703cb109ec916faa8a54e92a9ed4b6c03e369c286566c849f0b7e2c8af86419d6b3f91b6c5a8fcf0a8e41b8b8578fac18b93678ac26d358af128e9214fca314b5f5f5a508748cbfd0e17937ab17caeea23eb1d0580403997bd527a3ff0dffffbeaa21fa0cd2f10179bf5268a6e1a9bebfbcddef3ddddb160af2adf8145e6eff86eec48671fe1499ec8aa5f7ad0fd729b01bf0b6f5b945cd9447fdb85b09f0dac47ca28014fde505700881e2aecdae2e5e1fe00c4f12a93ed37f4b26c4e22dcfff598cfbd6bee0661277a9b16015dd1daefef6ab35c6cde2111febde5e845d441e9916c12d128b1373f84d4de0a1ba9fdb6cff641c9e55ab52afcbe1e3ded348197e8fbdfb981ff8f091a5e8228e9e377f8ea36004099327867c53f96484b9cc6077a35a36df66919426762e775d097af83ff86795d063cc2aca206fec131626efd4edd96e3359fa15a4351be5f611f36ece1497e312f1fddc652ee0e4387e448193f63d1e501b4aa091fddf21f5ddf78c6135011b109f6e8bc50844737a602abcd64233b6a94bf1e5c15bedd7a71163a187fe69a60b82f6b8da945ceea655d8745afeafda27febe23d60cf064188331e90c556713de23c9b176c79b6dc6abaac8e72b0cee0991f8fe6371cc22629acbe2266a60b0957ad079287e0273ae6f418dc626d744c8c6fba677135ea534d791ebcbf4b9a3f90c27b2758eb4c5394e9a1598e7d88d9dc2722e4627cb487bb80a09a0fd4ed155f4a0b9714d2e04ccc6637eed8de792f0db126ab27c2bda1b51991dd9284fcb032a358a5a281ae468b1057a92edc6527e746666aba64d21a5a4fed119f323485809cb80e314def5d9e0e9d0f821ef9e0a833a63adc338c80f9f37a51778a3de045ee2beaa8c9c81ccb2097b108e9f593bd7c800dece6a8c9e52c575da7744e948db55fe06ad76e9eb583f838f260fc1926d9ab3971a9f9a2ad5e342accf8da68f2c54f846f2ba6f78055dfd1b46973837ea3b603ccf365fdc22c9a9f369bf1c60a29855dec5dd2c4de9f53363d6fdbfa43a4c7b4a189397c528db7995f4199642961680393d004e750e4a5a139714e2f0d5c7441cce34f25487b2e87a09bf206fcf19cae7abfbe8ba918becce9ac91ffe1f73dde274376950bfb24b0ceb3285627cf5f3b9e1ede1c4f1f9ae68b7754507f7d2798005d2f4d5fd8996d2b6e9c463be3a9de29ba0d1ed1c0df1fe6d39582ef86796d975da9bb724d5db811e299fa2efb8c5ace7a571a585f91d1a45839f58d34fb0e769ba9bba05ed7c845c09ca65310016e9f5f728d057a1ee0bbe57998e500e42afe51d7aedeca82e9b2d0697431162ea5334b51d0b2999be88cf597d8fc30677709f425702e8035d436fb5882ac305797e463cdbf1c15997c18c812dfc4a52cee1415dce03ddf4751c93a088c7b0233c91b7ba4ebb00d9b125a48d15dc1ee4c098c6d4e914a921cd1ee21904d64f508ee71af3bbd15c8b66e8c8500789d6df7e59da2eefbf17d565f58653ae5810aa9e0755ab6ed2300673025763dd03dc4a8767fa093a0f80814a0623c5be850d096c01c72c2b377cfc6c7f5458ff29d07c63a2b4179458e09540a0213ba7300b2aea69824f2c6a30d9175c375b8b4711277ca5bc0e009ee54700180cc0deee7fdbf85593ebe3b1d100609ea3b4cc767fbba218b4bf7b4d70f32616a30fc3de7e8be03615c7f227a3affb0e6f5bcb5f152a0d7061c654c80c9fa267904f6cf232411843f559d983996fbfe06b8b341d63efced1d99443f1e97e0009e1ffa385da2ed15f219aa00e0f5b5a63e56e52ef0bf812eed04c7cc4d97991097057fff8cc30e7b4f7ef565ad7274aef92c99187140a13fb8a4c1e0ad50784e57614c53296030ece273fd67b437895d2980321e7321258f9f67e7f3671646812fadc64c74dc3cba847e67ee673d30c3c65a62786510b8696085fdce98dbc22dd0192778140a6b09dcfa4ab038e2b3280a22a8f5a0cf7cc0d3783e63a0e4424fb9f718cbe76d48215b7103d661336dc5c867155e73d331006a733ac178e5f22d74e59e89de53842b707660072f8b13b68011ae5e2086c0603ce653b21bf8d0b455c9c6e70fd0f68a8b73c2d0d8f3824eb77971ada0154a80e3fb596d0b2f8bead980e280674fd66fe270b83576ff569bacad9f1e8163cdc714a7f333e4746a6008ac9562b262184002b7df6d650cd36a993ab8adaeb4ef7b7fdd6c5556970354f780068947bac4c7705dcc16ffdf68b9a565711367aabb8cdf4be2ac6a06f0366d6d366558916e8122fcfba54b1a6e5e47166f3e0c7fb48bb60b34135a2b283800548ec1b42a77ff8cea70151b0b7d008832d0d734170fbd18a7605e04a2337debf4fcf6d61910c4b72994dcd8104ace15ac1ede19df6645ee1791829fb49dd18c21d7099ff336f7eeaef81c6fcc8d32184deae3f46bb673cb3c084d2764865bb836b70cc7817b8efd39ec2b1c660b64d5026dc83d67a873b0862e3b6ff8b2129f2e384ca1906e5488f764f1e9d2aeb24f1c06532ced397a4e72e7b3f95281aa0bb17583c204a896e4a00a8593d317d266540e6a92dbbca4e121b73ffafa8c424ee1723debb5f6b34170a60d0ccab13135a01e50db7bc2dceb8273b77cee89451918707d9f4930df1282d4658a46f3a80a056f7ce513516a122918f28b1300ed457516dd3f442fe434d39889c04d5f0245a38940251f2d7343171051db49a1242c7d746df14f7db44eb1f475e338610c036d4d2be504008ec7ec681150b7ba9fbc73dc0df3df7fe898459076d34b2df7a88089714c0ea19c89c5c4dcff417e119979d19cecb5982f93665be989cc730081b7f8e84288ecef08034453c8a5d1897e681bb14c45508b63d59444402cd5f84a4bedbe5d036d366a4c6878cb26ba81f3a625ce141196028f7fb0db5b6b0989ec9dcd90149530914036f45c83165e09918b94043cf743aac2e5ad89950c30294e9a925aab54f1e2c87775fca8c2a39a4b791e9d41a4e9241b97c493f99d6e6c992242b6d56ad448673490c56195a1769041d4e9e59e14eab2ddd31983d39f97a6a7bb3e5cf48f787b95a2214601524ab305fbe09f34eb5228d5c24d5f1fd84214fef3a1053b41a5f0495242e9528f88fab4f745729458a11aebc96d60a799eeb3fe5892472d5cfa7867ad6920b4a6ce6d30e37ef292c2961bb4d92196a266931dac829b332e9c83b10f600712d215b27f9416015512608d1bcda5285c4b4d90eff3921a9d6bfad64baee25ca88732042d62f575664f095e75a3f00c0384b41c4981fe288976b6dbd98c24647726455d9ef39ba05db67ab23885cfe4e5934c03881672d7112081bead681509fe8a24ee3ff5714712642aa481420a35448c859cd7957a504be09a8e42ccda8998c13426a60e699357b7f85272592829127b08456864b5add14b3d098c61c6a18829662508c18f401a0355f086715b52d80957e9d655ceceef0dcfe7cf37009d757a6bac161bd74ce3dca19ca0226be935852a8557ec0b8b79b88bf25e290bf417b76ce261977784e70eaca93183a8218f1295c7aceaab9206c0cff1da476b247d104284353a1659fe1a88c4720762a62fdcafd272486c0f154b5dd104eb286c0a811e0dee3bae4e87047424aae4c31ef539d2f2636a12e9b67abbb5f375f9d3de71d0533ea5697f3a494022ab6544ec035d6e4c55d565a6d6d3a597ad8af53ee9cbfab5e0ba8fd28fea1c4bd606ad20283e6913d91cda4dd4325edfdac19189927782a08caf201139db7c6bc1b19bfa9e9dd742bc2554ae1d1ed9c97a5723d4b723e1b399632bab66da0669fc4461500f7f59f4f058310891fa40ccf029e029bdd5f714883e88d7426463b0d900aaa23a121847a0bfcb4e708b350bf0b3f4fd9d705a068415596a0e3d842c586ecc62362c1fb8960ed57c01d84de452a962e2b8cbd5a519ede08db4c637efcc3bb59606cfb1b1ac77587ac2a2bafb66da8001dcd710220be078e284868b37fe222e071c556b67e3661a558a4be7501888089f3eaa5c87f5a080f2314adb70657f799a63cef0162c2da93533f682c2edb738786896bea6c3065e3b6323d85857c126d88ceb2ee3d9e9624e1b02b83338b7a59023390b51e7762c0096f38efc495e2d4850b37e193b602ea32c0f7e5e933c8df1a6ff2d9e72ec3066ed0ee928becee0e5a648288a1b33154fd101787e3b250e35ce3cbdac51b011dce702be12a0f38d5b6444110420301cee5b876e87e440c99cddea91f6d754bef1cb90f374f7e4d7d8a9ea31e0d58cda88326214dcaf7ad445a0104b44eabe5cade24413e7f69094f31a51a209e8c5407c944d22fc812df90530645ca0dc3439331adb0e6c2cc066e0d09d90943d5983f290d87718b04df5a00ccf09806a7996e63f74129e76840482ce0b211f5e71bda8a869dc7c69d36ca626976a7f928dae5bf8cfff1ab7f47dc0c8f8e5d1d10441139047c1017a96cd376eb3d6064bc069e5ab15927c86efe7d527d3a27d2fcd01de16a5c41014e8510a0c5c6ed45b8ece5b6e2d519ca85279d52d5b919ee0568bced044acc86df42e6d66c59edc2b9a2461663be3e5453bfa3ae1080d9346874051c5ab0a2fdff52f93ac8fa3cb2270c4f0a02a75de911ec080447ee0e9057d94916c0540fbc264a471bb6f833b49b2e051c5d0b69c5f50fda5ac3245c549ccd003c4d1f9ed50728293ca80f6bcf480c7d2d9c98d90a84696fe11fcda590f8e0bfbf24b7029e4623f1bc10b3211599c0d12a400073f32c0cf4e1cc60e67bd2ca18d59d3a3375945feb33ef55a2accff85780e05cb6520db49b3dc21090ec5723083308c23c2db460305a6774fdf0459cb115316fed8ed428ddaf51e242dd3dd99e8366f4471c3452e210850254260db8e82b465695e282107aca821e4925b0975f81014c63ed93c186246f2b2717045dfc3f63c66ac0016745adb6e533b0498b81ffa44b3cdb39edc124ac903ebb8f6f283df4f5aaa6c340fdb6c13c4207df7aa70f7ccb201f131e9584e0b9c270b1d97a5ea5cfe6a56d90dba88228086cbe5e514f0ffc5c152df246e97cf07654dea930f9866169cec75b50ac42483776daac588c7cb1419588aca1cc9e4c31fa4ff02928c459ee2b1b892dd8a9b334fe898c9209f35c7256ee6b80a0f68b03052fcb6bba8a185a4d3da54c55193de5704f9325411fdc67655a752244b04353087a5ed5ca6562716c596c0d1a7c79dab9c1ac7c7eb0922914ce62ee8111e4d708f174279c914b89d97e0756ac161bc41c64b2866c2bfb07ff3379ee0e038d15a0910b1efbc7bb70c94365a39c8b092b0f80d5cc2320af57f202199a1d5c0061e2c5a7ba308f91ed1ac2fc41e0dc78829e925bfdaf593d22ad49189164b12d4805552243001227002a75f5201c2a809076a4909629305ef23afce7f6cf4eaa526559c61b706d002328b90566690210a5e1d4c466a244b5e7e80d6451e217f1767ac01ce26e1e5048ee4352376de10113eb3aa563ff4cb6f5d3d4ddf93e7b4e3db4636ae8483db921607a51ef60b7790e9eeb7e368dea5350ec1023f5cfa95937e373cd79668dbaad7ae5e76d4597b1f6b4f0c3b98b6c43af0b8d6c4a7a2229c564d10f1d562ee08f5f5afc17a3db892ab60c48736c92d62f8211fa3675d67ede0cf20d9fd608aab68393c99fc4faf3775474129b48319e3e8f2f98f853e71d5ab24565b9652a17bc660ab4b92d419cb2be5cd764c001583e8be937aeb91803d2b344a8634ec3bcc87290d7d8a5c464047a8807e4e7e7074ecc4fa085dec643e36ff345210f16886ef1f16d3ed9fa9f206643ec32ca99d23ff884985d3e66894d0f8ee95424cf4863e84f958b8b36aaa43049f9f8f27a1abeab13970e71d76a2ecbaeddaf8613406d612318d92114b4f13e0d22784025f8255b3e1d88998e34b32a1bf6f5864db42f9269b361d103630793e516274816bbdaa16d3955065ad35a7902f0236979ae7f48c36d428626a541e114f5b8c6e111d612648b2d86a330576618726a464b2c314f752cd23814510b95a59d0b932c114439a8c1c1649d1daed1b42a0831099369b8fa754c7708612b9c7dd75d506776362070b305b18ea593be24f6f61bda767574947b197d4e15ef2868b6112aeb340c40c0c6d9143625d38bc5615af38f8b054bbc0ef0512508ee561c260fc4566d822cfc9d49a047e1cfa9c0a548b9ebfeba017015200479c019ea6e31bfcd6c75e058268e3f871d008e530a8cd4118b57c6a32d088d23192418a8573cbb96b7d3ee064c8d0a6f19f2524f41307df6f81de7d87c280c55116ed2447a250e617ee5098678d3ca2bb9c16c3d7849561f96d0adb97653b70493694c75e1826f2d394e552a59a8680072f988dbac1596099434f1c49c12c5975fc671a65d0200680d1102ab0062b8d19123b3f4e819e55f3f092c44e7490fd6bbcae861b9ecb02cd3c0c5821c8cee8c27faaa5e8d968b4e2c706d819508a038ba442c2f86502631c47b2650626630fd29256986f0c8217da8b69a6360c2706154bb7418ae37b22c42fde333399a08a655644601920e3f0d950788832ae8bbc5e3874cb6dd773e24fb29c586802a5df565042770763a1d5f0005bde9c9718519b54fac3d50477a3958db485f31e3d113a93787a24524da1dd1145064c874f4024c984961a232e651fea8108cddc4139fee08a10d68a58e621929da30c53f7a5ca5f5960403a6d7d4c15a8d75964d9d9401e6cbfbe3240e77764b2c7807a306a894a47ac4c1137e70a9630ff73c13c828c528d9b4c907256e8d09f99fe2cecec53094faee58d52a23590845d99e33dbfc769d9b2d9edadf85d207014acfe05fd71410e6064ef96bed56b2a69317f61b3d0c1f1bb30a8fa553184e95eccf4db0c20e033bb8c0b95e3ca0b9730ca22c97f43f13b9b7808c6192e3a6874eda8e54a607b674085ef4cb00142f345f63f9933d0bf2fd677549828e15115ab989b2fd6f765d258ebf2c862999fa54b3b777b8f3b255b4db1c921a84b5ac533eb976627ca06edd71b8504dbf46f0ac4dc6d5bb23c3cf5f278b5cff0cc78e34cc507680c02e3c37814bbc00724a814d63d7775bac3ad6d6a7b273a9edda043d7e0b5a6968eee0d80a8646fc5c9de7af51c90b5cd3799f9a6e6b03d0cc482eef998726efb675d7af4ee70a1388a0d493e42da45257be204ab48cd04315f72476543c15d28a1439ca0e62eba25d603bf08c2ee3e14c845e91bad2764b4108b868164a1e04151a907f6ce09d4657479510d0c9d45a8ef38478662673eb70918050b9a6439c3cdff5be81d4eb7a37e9496a1ca49817cfdcac2a3c4285dc1a01cc9879fdf60e806afc72e87c68d1386b9ec87f98b1a7b911455f183876803e58dd0d5c83d7ae092862d869701e6137e9fc6d2409a3d13c53d2230e38a74bc643b129c40026a7001cbc3d1a128a3977a5d544473f80ac6b40a5d090fe48b7b46632defe83dab4bde46d58c1e078d276fe12fc04569d64aa2ec501ec37c232e5e6a6048ec7c9cd0cd9756780df8375b4a2dc7a53b68735a882e0bf7a22bb5e47c137d1f4af1803f8958a6634e73999872972472dac0418b3463b15be1450d78cba650797fdd304ca37e337ab0ceb159a9135e1de19e4e9a4618eb1780bb371b6fa34ca290f4817bb42bc21941f1403f87bc25440ed6b2d27036adef1c3c9e9bebb81ee645df1f4f98553d60e4a94a6a795582e3465c81e4d576b07e520b69df09d62f90f2f893ed62213ca41f2c2bf7eb7ce584fff658c89661d2d03302565733dcbe4fb65a303f8ac9b03a9f51a312c4103b460d178daecceee734fb382210dd0510028c8c1d4a867d1b01c48bd0917530c2a670655f556a9ab81d3cb22977e19235a061e1240dc49d04e434f89fe0ace37c676ad97097e5120d15f2c70e4c62a2d3d23681608e0615f90d1ba2cf36d5ead3f1e1d122f7c3e197a3816180d88be964d0fcb672c548d65eefdfc39d5eb55e8336eac457919ba2b980ebd0b38c637ad37e8fa63da1a46c3ec5a50b794bdf8edf16575092648d4f279c6fa37b7b31e21f6ffbbccfcade76298ed026c284708637ea2036d456eff8ee0352b09e2867d32dd8c17bcc46a463b533ca888a4caee51ae904faea08d441236a8401b1a3f4bd38eaab64d60cbbc163d3e5874314b531ea7665fdf9a1a64610edbad4ac087b49686dc0811983ff03d1f186db27b47bf4295dde8207b97f58709458c10e50c75c642cc93bc0f2e372b583faf5e70e1209095ad2a8725db5d90c308392ba4642a059584aaa8e75ab8550517e935c46204fefaa83f51ebd390f036ec7f4ef3e2bdf0ceb03dbc3e640b54ee05904dfd6b0af9d38ea2fee60c282deace760f6901d4a6d00246e90e6314f9112139b52b4778ee7d88dd8bed05d8afd86b5a5e350ab0ce51b742ccdeb584af76a7892e3a37ad6247c368c98f09767f9ad84f0b7817b59b97d516ce8d25a23e3c201597c0e7c2a84e9b3d5da338849ca62484fbc6460854797304a47abf4dcd3ccf675208ffcc8ecb98904a2794e416281abcf0cfbd9d57e350bf6e11d6b3127e5fdc650e327da13667ba47205b73d5863d8018f4fbd516349f267d6818a09d1c1fe9edbee20d0e4acd891c4c2e1422d65f966bdfdedd3b733250f88136bc88dc82d63a0beb59b5ef9294d0d29894932056ac2d58f1cf79cfad716af139e32db906c6e7f7c1514b8765bd08ab6c9fb0e568569255f1fddc386b88107e5d2cc79ba944235402cd14de406a44bbe6307f6f154fd8c1db7272430711795533434556ab067772393d877f5b1fc71182ee46b80a5fa458f13d6a6a8c094aba481c5ef43ea68f933b3636bbcceb8bdf6af181f9215769f92ba4b63102d079815549e578625cda18e60075d3646116f5063693b2ec0da290b7032921ceeaa82b5f92b879f1a47509f96133e3877e0d51ee4530e9c85e0c6515c7e1f2e01fa4efdf0c05b049be5a8d1bdfadec307bbe5404a90cd1982742c66eb4071df00d268cd79fe6b4c35e6d3737bffcdbfe8811cbb1424c617006d77001da69a675d563d73678f8a38fa1e082fb14a6eae4315147c6896d51236461bf4103436bbd708168dcfd89b9d6c8ef27fd0070c5e32449320128dbd9744698cf8ddd269cc022ae9d321a3966ddc898c5354ffc12fc8ec20d046519241de26c9f84b859838c25d45d822accc5d84279deea80a271232cc4d01165da8d4599bd112c789451bd0ee550ea5cffb6a20834c6ce448e29bd7f125157ca47d05b2ad5bf8a551c5a64d400e74c9609cf09b7cbef71aef14658778a2f54eae33996eec1456b7e771f7b521b4eff4d93d0a342e0cb1f8de5db114c6b81aca6213070a2b8ec7639b82bbd670d8a0bcf8f788a784a41d1fc47f09cfc3f56ca647de0fc0ff4158e9193804711f4e540f955d777a4e3813e5058777c412e447800e537ea46435f15069abc61cae43bf440d37e50a55859fdfbe1eb193c000fbfd4f2172505dd2abae135f0574f57fec2b26d982f73109db2817d93e4122e99e8b4252626cedcf79a4c3ef1c3b484a590278673ccf47e4785af0a2b4b8aa38c7981aac99481d57c77e00a95767607f79a4027ecb86d165bc71fde20d607fe26dacc4a1a7288fd9272763584b725c5e2aecc310359ac3a5d5f0069a5f37be06d481da246f0f954b27e9140a9059de11839a65575d530261804e407f8a2ba736e345638976bee4c4b95cbf6111c64d1ee1fc0494b76b8a0e47d28058880e5a6d656699e35a4dde259a88274a06c012386afc91c176ad58a16bae54b7a575ad01e6b6af3fe4e2f932146da61316095690564b5134655d4110d9407bd140785992e3940b7a410cd64c96e8986f8ba3d149ed4160e711d81d1b4861c4b839a3487c0671c5bf6565c6ff214398005a37a133cc68da948ef1c0b4667dafe434ac4299ddd75338c16a5c5ff254f64a70ecc016f69168f37ed45e71683921e74d2b20fd9a7528b1687d4d88929df9b2843b4768e3a783b31e2a48934593609c0e080a9c6c3963213e40752a4fa734d11109018319bd3666016c7ad1081d703a220a268d80b27605393c3dd028a33b9949dc22a00ceee56fcc42a4e9802c0833a3a95349d3c18cedb7c8c74a49980138b9aafbf85101c4e2504f7f093c0b4b10c78aa798a0478708d3691aad9599632a9236f7181b0a63e7a37188b56e4ecc74d68d98655a7831fbd1c221d68e05abd46ee4c2da1f02a8085fa9f582acee0607daf069bacdb41931c4812f73128bbcb859e1763990635e660e17c83284ab8a820932978ae4cf4bf06449577332670f1106588812b87e5ffa588fa9b0b2b6701abb6c22c32d8c51d199534f6a837c9ec5b40013506871d1ae76b4b8741b95101c8be50303fc67b6f419714efe51e4a1e28e1296261010cf8db10d7bac403e617fb4fcca0a4b6db7837b91c5f36d23e57952ef42f706240b955705c07043e8c9eff6d66bcc3f2a4b24afdc587d2fa8d9ee5fd5cd42e09c5b0f4af377961cc542cfd2985943e0240b588bf97b0abe61346b84fe871ea47cd08a9f4260f12ed3eaf0e5fe81adecba9c71b1c98e9896cfb68de9ba6096baa8872c6da272f6fe9660dfbf1e00c499fabd8a137e78a7f69a15c4d7d0e20a7390422789a37d254117a030c17390c5daa1fc4c7f42c8dde7151a4382d082a71786dac0eca345a1190da0a0103e316b835a51872d30f13d905b04183386ca5a766086e07735e447907fe3168d2109af46307b3ba8a63dfd0c16267081ed3c1fed7aabf56cc92f4222fddc8917ef14d9e058b1c53fae0c67c6c0408e260605b1768bff685276899b6645accfbaafde4c9935d6ea7159cdfe71b1d46cd6180aa4d44a4eca8d3201847713cbb83c153b14f8fd33b93cd15e3802e36e3b720ac220d6c62ef463b0db8af4a34e18584963858784498f708c19ba34685d932b96799b70bb4fafd63dd508f917bbde12a7b0799ae89f0b6f8094c1482fa924c7c97628f336039c599e7d3179a125c143f891a450ff1689cc34cc7c87bc536f16978f787749b8de78f3466473ba98b10b65c199c94c6bde65b6e3fe8108162c8a82e3e00d66c6d083f328d698accf740d8346342c0abf17643a3c1e91a2eeb16dd68b0c3049577681fba922ef5c813068cf748fc5cc0aa242479806a51b653a4500e33d193584446ee4076d7ee6c918862ecccfc1c11ada6e95f7e70152c7e836c174aebf614ce660801a211ff3ca5b418a56cfeac8ea13b23abed77da1a3293d47de4fd1e87e5841ba15f498ed63b43d230bf3086402744c47083be8aaa3ca4562d96a515eb9ea26fa6b1dcb3059d41ce683fce7fb104534c2907c1cc0bedde7acd23b80d964435eed53732ce39866a41b577ea41b6d702618e32b90394e15aae0a87c4b351c3431b095bf80d04fcc0dc754ee4cd8d66a049424b33e92115a5fe2aa3c0b1bbdaa8cfcc89f05fff9f0c5ca4890a5032dc0fb3d60d59c046ea08e76ab8c27272214315aed065d214706d2e81be0c15875b4d50577340664cfe401e2cbc8cd12f4811c290c3ca671c4917ed0a2bb8bfc608fd157f588854ce6463356a832658fdafc34936ad2868420137b6ad88629b3b425ebd25151f594b0dcdda6c170ff601fbffa97341017683cc7d17d10a4759cbed8d144f471b23e3ac2de54b08f7df82382c82622fa1982dd0b98ce42dd815c3a2f2dcc4286fd879fab0000520d005639009e0c0118179d5d8ef994d0ec17b697c9dc383690db9d0dab82a75c1610850b9e731ca6228b98653acd7bfff807019ca21cc04c5a80d8fd5ac6fbf86661439871a0283f5a3101eefb15c23a87ac115a921df95c109516e6ac219d5095e79806271d534bd2954e4cd4ab5ff1eb4b1518e6380c872161561174eceaff617d8f62aaa5082cf8556f2fe958904333f7bfa44b6b4dccb1a9f5a723f788c64887aa4fe11c9f11f1a5e70dac84251e295b7e9296e90dae8473a1f656130b343bea97320b4cd7981787d45182bd493df975fd96813ca6ad665fd56cdcc9d1fef78a628f1e703773074ffd37fd37ea73db068830b66eb8ae74c92008e36c55b616789d2d08fb2f25c9550d1cb8e1380a1544b57c4a15a70a21ea5f8b6b1aee5f0b457a5428e93431519b1c4a6ed5c933dc115107f91464fe2b28ebe836244c8334ae29ac31e185e673704e2aa0ee2a4ffbf5b293940bde93fcd75c28547495222913ac508da851fd305080825532fea2b4536bb3f25f7b8b38028cfdaf454b697fdd2fd4c6711516d3180212c5bc603baddb56f8738bb6d271b18851587b370810f41b0ba2a001925427e55934a936a58ca1460bacaaa6980ee64e47449f510359222a2efb55cd9a680a88f14160360043abd0e8121684a55600987313635641b149acc9b8ae8a13daa4213302eb5cf95372f729c798e4555901a06c62eea447e9bd486fcb0c9a303f13fd50850c3d755bd135385bf7112f0d17ea34054eae8f9d703f605a692f5add98658371d05f2883149558147269fa01defc4488785a84d0a93021fbdb05f683e2624088ceab40590798092c3774e8e06113acc87086f4464e4930f8ef08653dd11a3b4a475e465a2f66f95528d48d7fe856528ac30ac6df63e5ebda1758a1a9b6a778cfdd0bba9824d9a2bbebbf83ce3d1b256c979db378d9dc15e66733694a4d3c57a3b51dacfc7c096928c3f49d909a2344044e2b557243c48bf8df9326f76801b897cce607d00052747216775e0f8b2a7032acff9b587346266b3e4db95dfff0e3ca393f338af737f13bf3cd53beb30cc259c808eacb3b872b7753a8c27c9aec1b5a2c4613ed8993bc14c07964bdd6db59358003e3894f4353ba1ece3fc04b678a67c7bd537c7b748200acdfdac240649e8acf699ec054d2fad585156e261faf31a5585ac5f828f104296cc56ef6a0b9ed96caab445ace678fec5f9594b8697894fb374506712ca0303f39057b878db7b748992035bd6fcb9cf56c5dae0c3de512d79d359937d9896889727765c90d92c240a1b24515a3b588f7a816dcf0810ccb4f6412aa10df238a11388d0b51cb1a2be6373e870190c7383da421afbf5a9ead0470e5b9517d300af64c0754e583c180c750d2fddfeaab15002e594d84c3e5d814d75071f1e5b33babf6f94d60b5de2dafdfc82c0af36f7abcea770102fbfdc7d807ce280da55cadcc19bc6017ddde62170e4a472681b8363ba77f4e43c026fdb0ee15eb9452067fec9dfe20c26dc0a8eb90273be7f8340663f5941c7a018d10fbb252518807036a2909e849de632eb1a984e6385b086380fe308267a9f46a17b918ff469ec2f461c3fe1be82735f84f512129ab015973fb5f10ee148d820c020512da38c587e5a88f722679efe1a1ad100231107ff58c916b16cef130f83c422b62047cd725b4cfc84f881099b609538ac447277bc0822b7da57151fb8caaba197ca697dce95e5d0ad1a37510aa72717b4da703d64d74cce11142a05acaeb9b3acfd77c05c1b3df88bcb2dc2abadb66f40a5d9e041dcfb5f875b58ba7b74456ffeefaf877d99203f9fd2df41acbb862f8851675f3816882614ada2fa64db261ca5dad075dc6e3d42326df72a4b27604daa191ce3a6a383eefa261c6ceb427c4503b721996433833a178c8af8321a44026821ea92b47d31066cfc448b6c2dab2f9b2eac8c9ce25668f98867a99c5001d9670216ac666aaedb0d3839537c9075a864f77e1179e5ab478e0214c656f141e00a14c6f2371c03e30f3f219fb573be005b898df657ef8b7891c02a8dec0819f7aeb22ebd0fbf8e69b24d35ed9120b7ceb322bdc7a99b001c63cd8c0ae05086488bcd8c22da278ff208acf523e96235a44e50e3391736e76caf00e2b3cff4840e0f0a3d4409dc024d6649a3afd39bed05a960b0799510d385c0295df8cb19f2618f8af5a2b91d2e2c42864d2926d9434d9d150236525e9df7c9af6987ffd0ddc5982fdf8652f78255c60fe0adc2cefffd38f94077eaef3282f0544c8afee5f9b78ad2488008e0bfcf6119e747053eaba138299fb0fdd7a957d4ecf94a5c726beb218fe04e0489dbc406d25255ef3309ee060862a4b1a0fc35121d1d68205860dba1092880f6a69ee4e615c03b073d7dbde708f698a47833f884543316fe82766fd34649785be8ac95fae28db0d57dc677bff71ba675c79c7990b116e94ab28ef96f74e002216bd49b5e2d6b737393291a86d4c7f184bca35370c022021acc5755fe71c4e24bc2acde1c3cb86c40aa5b5ee2fe4c66b059e1279f3535dd44c837deb2a9079607ed54f0c4ed84693d5505d65951fba8240c95360af90b63a244408965f762dad52896bda11aee1b4b53fd54bb468ff97f8e5e365559753d8bc0b025785484fb3b0d86266851b22aba3dc9429139a2cbe3e6d5692207cd057ee69bb9a5bcdfacb41f8668b4cc74feafc1c248ff193a4a8960e06dbac56bc615a1c2f895d94a2080099645b2909e835e46b9343a37bbf64fe2061b5e0578e42b265a3763022af0c78698a084ff4c998c9280bb0516c08816caa00ad15d8c126d93759a95a2649793551172ff4bf6d9898b38839b48ac047b427bb5a3ca591485af25a66e153c8f7a5b4124a340926c6f848ba20afdf965ef7e162c1e7111d0bed8363f1066fb802dd1164412fb71369d5c5d9c05b6a35516a755a43adb2860d0e227a7b6b734bd03dcb10ca49481bb932987fdec5cf50a27c510680c34520851ad951d9a2f24c98a3a865e4249f181cc21cfbb9a51bbd3a16c9595dd906541378154f64f935c95585cc511c9db10f3c2ed82766b07af90dafc5ecd6be1fd1b1132128737577c32985b83fca0856b807810f733f896abc946651a6cdbda0fd304b2ced01945479b2e4495d0d51c738ff2a1b0b1c192f27aad0c2f27b3b43c6fb4128000d9b7bdc6614ea99e85cf99351eb73c11b1bc09276f20c457f9b348c5aa99f11c4af8f04d38df7369fed12ca2dab0251f6f3631018623c8c93e12fbe4f21787deed7c48832b1a2aee075947d903e8f7ddfd89662a3c3d992fcad62365e364d1453ab57d1dcbd42a6025f41ddab020ee47f2f166d399a646264905bbb9e05d4f100793b8807a0b7b12bad0abc2b59e2844c9bdf3fc8f23b5266f4b50504fc40053c78fda9ad773477552ff6280c5c2ab30a7b3c3089b55353f7f740199718c1d00a413809d5c4fcfce283229d04ef6640c5d868200c00b8189850f2bc6bc41d52784c9086fd5dd9623cbe5458a9f7fce1405adae6abf81b0e47d8e69ff06685767e892530ba31b39127b0cee70f6ed968b3c2d15fa45e0a7cde146fe5db8342f752f6422a89f0eac4d79ad148a7647ddb5623eb7d534f0fab8c60caeca57a35c2bcf4d74d88b27a5af9663de1290b2ad87438a99c3e36054a70004d2e1130200d7ff6a9ecc38e448bbcdb840c64de6ad477264e2683982ff7f901395a19e01c90bd5ac46d9d987bcf1bb6a5a518781c06e194c343f073b2a0d35932f428ee719e2e009347be61033b0d10510efcea74fa3ce3e02270c9856b244081b61ab5e72a8bece3b7c750fd91a15a2f462ab2aaf74713fbfa121e90acd54a37c148129150c9146d61c7c7661426aeb5c8f10d424f42e991b7e827acc241bf898bbd426fae2f946dd418a97c02aae8e3a1f0dd835f6a912e51101636d29879d9a42f28120c56d94efefe91bb79402af6f1006ca424c323b27a0bdc771fe4d0e42965000c0b81fbc4002d8b4d05b207b84a5f9b53957a6b9312ae4e01ec52979f16606fa2e17217260c076e169c98862b1c3a57f102ab8c1bcb9fc473e64bf2741f877a0c565a0985db3b4d054e425b2461dc922f17755a9b5b5220a7a57831d9b89965523db63cf9880e983259705651f805c82a1d173970bdbc0481bc3281546ff744bf24e5241a4b9cc25b6cc2006150b08a8711fb4437891b133bd257a5336fdb3259a80310e19c1abfe04a123a6af8376d4f71167c31ad120226d6fae157bd74bdf1679eb6789ab8720e8d7c3f0a4359eddbe4ac12516566fcd801f871299083f48486d3d54583a5e7b0779022e8ec8f892fe4138d4bfe246ba216e6f4d3f61bfe1b8e6d11bce5927490275edbb27ea5e25264e523c694e346e48222d125ed898a7236bdf0ec29c6f8f326064fb9821fcb3d59a87fbb25d9d10b83bb72cd88a70e8edfce1c6af98b6e73e99e9347315e4823ca96854e62103f2f56563e251ab21fd2c698c1a2634e31ca702ff83967cd0fa1586f21f4110b415f62d12664ca0a7e518c374a6cb45861095c732aea5bd1af43d977591d0f15d8216bbbba8b5b7d47a2538d941dcb90c66204d845c00d32008b9cc28ecfc5c00153c2d0f486f8f4af0eac995670d6592d73865e5437c9e1bc6dfd7edc0a348d5e6808095714e728efca71a9ff099ce2594ea0c8546754af1c9b48b608020706ed1876349318cd5eaaf1a049e2ee1b5b672c2e6f81a13461c9c8392922fff257b757ae5b744d40d1fd2a6d84d756a0857241687b2db5cc322fab2b5ff88b742ff70095cab4fc2189371636d1bd569ea3acfc7146e69640f63be2acd35f2631ca9042895dd7a0b4bde5f8cf14d7370554c4065169408695f3292f28dcc20ffc1cc8b14a1dbf545b7e54224e9ab0bc4e0cd795c8deacad4ac9f3a3eb37ec0c4f6c80cfb5ccc2d2e3f723ceb2882ad266250dbcf3a9e20790f62894250702198d12969a99d1f4440f9d2694dddceceac9eee472d26e4db6e54f2c1529cf924f9f9446ae71c7f15ab09386a06587662d0770b8846ca051f778aa7b52b58b0df92b9d3358a247d494fd4a983938d20e26ebba4d8f7182a88c1b626eb13535b5d5fca5011fa1dc91810c82526d2f166aab74db956303937a66301159b1075d336c3b00748741db9140d68700eadda909dd186a4cec5084d2d68bd559ecf52e61057aa4a33e4f2f99dc043b163227c7185fbe725bb2a6412f36ef4429d80d24bc904413cd5018a7567877d09496154f9076a2d74691b762eecf428c022adc2bf28477aa7b8f29101db0a792434e075b0e240cb554d5a08bd4a3b228befac015626491e992ab81c50a15453588a1ee94f75b5405e37104255c634bd32df947ae47b65c573d29f0216242670d238c02b684fe5cbd045f11289b5a8dd3bb114b9c9ad7956eaeec4c5e30d45b0de139545953034f4df7b11257ad130fd2d37f4ac00a84108a4e5a6d85253ca75b06fdf74f5fcf52df6ad77cc856a37f74ab04e2f66751bbe640f643be9b6dfcf6b8ed8ec3e12da593c6edd23562b8599bc018cad8b1f08b62c721009cc9d20012a49dfc639aa0ff4828cc53d5f26b4ab8dce76b75581ca4dc9fb0130954213a6bda5c7e6235cad2cc4482fd411d54533b614081aa66186efaf7c8ed50b7dc22bcd22108db176157290e6c2517abcfb64d010b08dc06f9aae468abe201f2d26e341a5b3675c41942cf5ed7e69d7954576ba3a3ceea8831d2a8b5a9003068017c8d001f06309b3afbbbe7709a659e9f7bfba50ddc693887418d988fc2c6d3febf274b113cb9fa93417528c38500c09d71464441a2b07cc361a57291dbc9cf1b65a6ccf763429913e49429f23c631a6ec6a2d2cb36e8a6d8231a7bdd061092171af4ec00edc775d8963a18d3c7ce50a3bc9a20877a16695665e46f4c25d14e1c59366cdb117cceae82697e095825e6e2b920d908e7b5d40bd839675eb722c2316f3acfd84442a88bb9a2666cb064cc3e31a6e1d7231b634332f3628618bfafafa8245db360c4f10ffc62093a3af14b91d983897166bac8cb51067ff0720efa65227bba034946e7957b0af3d0a52b184c4886c4079f44eb7441414df3c1dc5517de5e8b5ee4ad07fd08422f8c036dff6100c41c021e86547b544ebe4bd8c0140469268496a054140a2c82021533b65525bc72fc429f25b71536e85238d41da1a9aed2759f58f9dddf1e642fb49b814372a3a89285728149646f92b6df7b277150bc2669ed7315ae4ceb7248e96b780a6e44860bd4a186c2264b163e775f9538a93f553fe64d717bba5ae87d4d964b90c43bec147a8e8e14f5bfc874315ba00d554d54bbbabca2c8486343a560a8b3affbcfc7afe9d27a07bd598430580ebcb3cf06e78cd58784aa0f2431a0dc91e5075389e85dc1a7dda05826c6022f6b3d4fda1e7e44e76a2cd4b39dddba0b27065e99a5264dfcfbc1953a6683264c71c3fb7161689941660339ce7d34240cdb1f486c7c6a2d9503768869149d2b4d7e661e86c497da26bab95097e8b453b3168cdb444fe666483ad9fa64ec3fe2df24ebb10faf20554f246312c9fa340564cdba13c0f08355e614a9f61580e343bb5edec41ff37422682c0a0c7e534dda8a6a975b98fb3a67df6d7d62619a180b5dd930459b5dcfc9f7516e988e0b6009ab6f6787d27348e64b1e7a39bfbfd2cfa52c7b58d2074c9f75058c1fa05ab2e5b4efe24e989ec0a973e7235ba8e4b950a7731d760b4d026c805f35af0f484529e7ae9d8518bb84e28f1bec7aca95d89ab49b8e6662a599740eb8c1029c25dc84acce03869a2f1a18e1ec3c57e9d367e4de2983ca696adb236c7fb380d71ed4cace8d4ac81681c925ea89ce2bb6a7950ee2e3896f5b473b412a9c820099ddbad45b97c839e8f70f82e492b531180385c0990b653c3a20a767209f1e7b326b10112ce48493c6de662ed3f61899e8f09a93b3425ff0c426710e54382c315cfa566385d2121d28899be35e04618a80f083952ef150f1c93063b53e39949008e8a8b0d794cf54657e00d1356fbc5e1c51ef1d88e982f6eb2dca307bab27912ef364e2573f5c74c24b5f4cf469956f188e97ed67c3cf8822e4ce1f024e9c659baa1b849a0b762774a8f7476be1192f68c1b70200b6aa7ed16cda604b12aac0fb4ed11f6980aa16bee9132e559ccf4027342a799f7d5666924b4c13ff222916af6e9d01d297e17718c96818c119fa974b5005320f112a5d20555ef3a5f0ea3574d29589a381b036c6737a7343785ee3e6143db37c65e001d98c4fa5aa844ae9171c60cb9dfa75b80e726fe0f5f3bf20606c6ebe6a03eebb15380094c6681d22a609a81de9e70cc24f9d64acd3394db9e1198817b925156cd05f3a07b6dc41eb9328c30920b533379241426778b846bcd0ca7ca1b9c702baaa96b71b78354c4002e9e758f245597899009cae0f1df168053c9c97e0c55bc349b3ab76546952f453b8feb27b9a0e1be2e94ccc26fbad56c125a9b8b4300af9a2adbd9316f9e04a4718da34e93c42a340c8299a8441ee09cbf1101565869f211fa076096e00802a339b18f601d624512096805ad094b5690ee75494739d5b94ee3de40f14f9cb9ac013f2803626570f4590d209cb737362b27a181019416ab1d7a95f050ff9b7f0e06791452c6f2f698e8f4cbccd56dd3502aa6ab572c8fe7b11521a174cfcb77622feaff4c54c3ccf6b350a550df098c3b24bfc951ad6f25434cbdb9ef92642403049a317e2120e7fb7f336c539ea5696203448138266dcd4efc62de50f358372933ff43a272b495f69a0ffa888602e2eb57b8bad7f7a0c1173a20723685346e2a922b06121cf4582db05fa92f9d092e2c35d17107ecaaf1a4aaf6c6dfd6015f0a338b985070507489d45bb10c14834e1ce63c9302380b98a77f1e8ded5af06047ae920f619a636e021329540449847eb0cdc657c83672fd6848aa27a9dd72b433449c58c4ba137f8c2c151c1178da69fa6e91c997eab326a2203f3f30386d1c0a6dc9508ce85c5b5cb5d107ff719d46962128fa79261aa37880854fd793177a2564b0feed2d4874b4ff8cb1f452ef0e867ee1d03269d655dd915552b9943a5d75f111ddbb9a0af17a9a81aedeee07896941398649f045d7259b860a104967f0414295e14d5dae18c77b1e1343da544426fbb01cd7d911f9ee49da4bb245aca5c60b6741229238b22635b270e0f0f45284f8840cbf04fb1a78c94a4f0abcc79d14e9a7d73132432f9ea03ce4d6aa780f204151bd175f8f80a03376559480a3a64a9ebca48f15da976318df524c2602c902780b0beb808e3cd0dcfc2d95ddad9c13cae533eed63f735c78cb41dd84674acdf7aba684b6b1c02ddb019d30cfd341edbc8d757128b19cf6c5ab0c2a246e101a060db081e44359b455f911fbb2c8d9c24d418a619dafab370860b62b6fe16c44efda1707ddc92ec44072e2de0907eb5f174788b5a990c45556eeb480402cc553880813865b8f1ade94c0632984766c1202852ce881b76ccdcdc7dec016d0d0b9ae45d586ce8712aac9f460159d33ecc93da0fc7ffd7d045e1f5026dbea721fd32c274c70034d9909edf8da39f5f2daa4445b56a364437b77ed7219545dbaff4e6714afe0086cb95bb94868ab06c465bacd1f32c3c9d6bed7b0d219f1905f1db9dffd5336adda6657daed97f354ee38ce8e41f11a96d835f62de14c6b23a0f0ccc1f42ae63574b074ef1d8eccf8c4e128820530e6126a3934692f3621d9a5210049964c4d7429c3b08e20f6384c6c1697a9b480d978f6098b27147e191ed6954b69384a7f3f274433ad53129bbc3256a2e3dd48151c43c6e7cc6979bc9a5a31b702eaa8351382e839e6edc38e7517e9931736ee3eeab0714d7ad1879a4f0204844a0624da9670714e3b5bf18d35e27b5e90366dc9d2a81f55fc0dda261200aced31dbfa51810c39e12a116a86532d351d2f0b50bff565cadbd32b0a57a444b89e5460891e263b7b4e2d2da892f16a205112b31dba98332fcbb7200b44c2907f2fd959ab1446db344bb0bb7a7a0a4ea263facfd9814e68e426ed69ade3403160770d2e477aba763ff34028258c1e74c086f82c5c3cee0171c51ea0f973e00184836aa1cd29358920ab12315d072fce8306002108802cc6ade582a0bbd45834b41caadb8886d9ed9bb647f8666fd2ef4b3a034bc63d160ee760f3c5ecde588fb28921cf942144937b93784a9b870d51b440449be2ddc7e8c356926ceaca10a739d6faec482a7b5775b1a8ebc635f3c5f1c76cd42f6b41379a0a29ec85fb1d505f126ef5f7993855e93394d085068e3c95654d3ee81edab24f8750f1c4806f7dbf89632836a39e45093f1f8abb3da13a0ea68e4cf607fa5f37d541cca41799e332e92e1b8d42d9548c1238723e49b10bb9c43071fa3403d459a9341e93a6912739cb800b6cc6fb82939ba558b6ed53c3715ca3af4eefd5d8f1e37175e46120ea0ad9dc254a5ccc3768510124501829139b167058c9901565408579eda217c6cde14ee9324d878c9dd3e9c661506306c8b38244352792bf32934572c95dc9611830f0ab5347f730d2db9fbe6245f794ecc698c6299570d4303d3ff7778d177844344dd20a4816afff668fb00160dc6cb71ba7adfb5f407edc6d7974b3d8e742a049305645129b8e293272f212395d23f96f5788a92e5c3d5afe63fe9515b64cc1c52fcd2de368226dd38a97fc551ca0f6feb6eb2d0209753931be47d2527d52bfc9d7819ebe0e0f171767c4811ab19e200d869501e3246102c56976aded0ede38d2d56bd194f924df326dae390f1ad27fd0a495cd7847fae8b534d282fedddfa2fbfdd4f7dfebd074ce285394de0152b910615a1ece87e104ed1fe2e63d715753ef60ffbf4acf324b5b29b042756550aea645e8230c3686c0cab78c6b20a9d4a3b64f668e51d46aa6333ea0217a5887dd05c2854c717fc6fceef72deb0f16363eea88aa4a4761626cb5cf14777635471f5d24c7e6ca456f0127c87575094087a07ecc97e9bf89f94a5af30297cb1b12ef78dd339bdd6f23dece943fed0633a99c7b44acee8470721f26fea1c7339a3e801c75cf8db88258eb9b624ad81deda91b828a858926105f3b2fe09e13a56567199991ee7c7054ffce6b13a65eb11a77ead5216d993ef837bf4cc285ea31bb88b0934e4ac0eb5d25f08564275e591e0ff20a9218a81605a7bf786b4b338558a5ce51f6620334979c8c25e32d33968e3cddff76b68cf62b32c5e0344fa9bcda88ec4aef4a81a9c3ee693c5be5bc01dce4fef6998dbf68cb7d31a81567d73da0ea685ecacf53b9d556404435d968871933438bd1f6d870b8f209c69aa54437ccbfd5552df807a6894a19177389ea44e701756148f0d27debe8bceccbf8bcefb3a5f9560adac4e6bb81ffec695f675ba5d0fdc26dc9adfad87afe6d7dcb3ad6485bc5ea9ddec7ac3444f977263c116a7b6660788fa64629d9bbe5b839e1674b97fc21dea904cddc64eaec4ba7002db5ecaed5c3e95e62a1d3917a5fa5f8b91babebbe3a326c57520afa2255eafb4e738588e65e49166dcc18e6e3711a95c22416406ab10aaa5cc155cf48b1db4186c29181f6e2c0734cb18fc128c1f2cd36ad15ffbb145df0582388cabeb87999ff412d8f31e065162e9f99913bd39bf794dd062c959a823010f74f1fbc0fe3402538af09c0d064f86e9e49e6ebaf077b9ad842ea9f21f8ea6fbfaae2364f7081655e28747796b1868b40408e57c584574b8b9a569d4c9dc3b4bb95bed371ccdb60f6291af998dca2e5d3754f91ab133b8c9e8a20e08cef285becef37c84755b6c4558d8a7c11b2b7d76d3cf2f5a3a421cf9eabf61e9e5db9f5cdcd2b577b7184b3c6537b062bfae5e218cac2db1c4c8d6d36379ed6afac3e8eb166bbad6210737659c377d942e77f7e5629c072b0731816ebdf98613d8a0e9b6eb8119e626cce56a7f71f4ae9fba31bb2f17b1b32ed245f0c2728860bfcae770a08f6fb1ff3209dd2555e38755a1838981c69da25a7938517a389e003487c99a215dd713b012d41a97ac6ae570963451f1c2359c92788feba6b7cde5a1e55b5edfaf9b1efeea8a636eba75189c5016e3a224dd6f126e834cd9d1b5b704ac0436d69229bcc855f18629c0f76249d3444954c91ea6c27661a1559b8bb4e195aa6dc2585cc15a0933dcb9553fc2433f60ebe11c327755cee1fef08da0a6aca4dbb56d356ec69a85c1115deef90de30a132eaff61d8e1ebe8612e4beaed7f95a51b5457493ded630ae7d34bdf63c6855ba61fce5f730cac9190df528ddadef16cb117411fb5c4a822a71864381bec43e2ce6de53552d082bd4fb1e8669de7f55a761cc6e17665986daffdac6a0aa7cd8a2ead7b0f9e665aac60c579edf801a2cd55a8c12e1870a603be258cc9df953e51e4ed95bc42c19c2d7042c8355c561840e60a8d90c1976705ddd7178b2db2354aaea1a51bb4eadb60c6311fe16e35ec6f0559f74af9e7c0dbb5a8745cb555f116ed62d6289d4fbd85400d22aabc3590b4cb84239b71e16ddb07ebbde140598adb51dd26a534d5c38b949f09939b1a1e50dd18335091cf119f0bd415a4f1c5cd5316c661918e347246f020aaa65575c3050424e07b686eb295f802935cdf416a7b5acfed70b4847a8798e103056bf127cac97abb2c1993264161e16e6d105e41a0c40155c729a838bcaafda40ae1e754d1060867c401d8d64d55e8730a8f82ffe0b6a7befbde5965bca24535b056b05690525764acbb6286fdee3b636a05adc7baa1f2315ccf85ed4e63506b54eaf73d6e9d5eb90ddea0964efa40f8fb7bce846ad355681aa0855e9f72e909377ccc1e51228b7eaf4acefc1a75f2376ab4e3434df69647d9f28a336e88016e092757bfa091cc15ed9ccb2ff8d250ab749cbf216f5519bb429dc4bda97f18365cb5eca76ec1995e0a7ffd43196856ea12079de16bfe12afa03034ec43c72c5347cdd536e4a99562d346ac46b62decdd021940849636d49345f7292f6bb1295391279432e29cccd78cd99969c465db4a906b8dc9232a5bf25d1a77453ea8204b51d7e6630c225d9636a47b9837a364ddbd3da697b7aa6cf715e84bf6f9eb9601d57e02fe6297d439a9a3e58996f860f36cbe5678fe664125c7a4c4c9e184fe96b02d7a072d368629c485012b87424a42431341d7e7aa8c166a01de45eea88a858eb1143e674f78b02ddc1c35b1600ddea2700035a01271ae1973d83a0effb89da75db688e65cdbe931be520cca46900ff9338a9f40c7f1a8a57b283f0e5005c934993dddb97f3871944afa8343999b4cadf95bcb1ac1995cbf9c33c328998313a967349f6217b910fb86ca61fb2ff0e262692e4be64a5e8388ec995869b4aad729540a65bab2a0ab96e75d23cc732c88eaa78abfc28473224484a4c889841a14d8f915f4e590801fae2c6794455f45743703963db6bc666cc4845e2d3a9131595e258b7843b82addae1a30458bda91990ddc7f97cdd3a5f5d0d9b5cc30a08797163b7ca7e0d6b78b3fd343dd7a735557d4bb202c62b30800bc7ad20b32c9f2522de2a818c72ece0e1e3076c480cc847e888cf4d5d2832fd52953b4ca65ffee4ae01555117055a457fccd12bfa39355cf664da430201f5909dabb0cd3c282d2191c562b2a31f64b559268709976e644464c95b9e5dc98aca885a8318c503febcc0439d90eb37799bf4015610f461c6c4444926534272a2d4e446415a70e9477ee4373079cbb3cfa695266f798e3939d6a089a65a429ef1ff3326f8267f608c04cbb00c1fe11fb08ca6068106b8804b6c848d30118c95a8e021244554458790d0e067043d35ee72e28d33b8a99f66afb66f3bb1c084b5d6def01b30ba04e42d96b7b8fbf6c3efee4ee1d0fea4008828572fca6dd5f69fd87dcf0e5b710adf07645f98f1c03db5d3ed9c76ba7528d9d2f2f7d7930151ca164852b6df7694afa7724111111715046d0cd65aeb3d7ed4215436584113a24184b74ad2a8a76c229949536932995d09c15d34a77775258f8cdc34a250ab4e63080404b2581f497aa9548771fd56559a7ba490b74f55df8af8a9f2f384e34090e10a2331182c667424f6797e71b2450597b34c19331c37a178cbb3cc0af929d68fcaed70c49d9bce71ce4dafbdda5458e207098eab91b5857f15f98c1b2416b8fc7b6be0388e9b3d4a7049b2be5eb90ab93eade1b06c671ba03ea04e6edaf1e2f6f2420adf6b554d4a6095ab25cb09e4ed3bb154e59e262b49f6646b4710f46ac58f0c299e6fb2feff6832d65a6b41d187bc02974f443ff55d8705b985b5d63a2b0b3cc722b24915828b495607b1be5979fb1e3cf2f69c3b9983ca711c77699737cf335fb13e0d6b7463d7b59042f5b8abb6ca6baa5d50255141448d7647e98e524479a0c0152926246f218436e79c73ce398b7ad5001ce072222125711cab832a8d8aaa888c1a89c16031a323311a7d3d559190025c7699147ec8bca88620c9dc10ab7d308f8cd7e4d5bc9ad7e4317967bc264f29979fbf571fe0804b6fc95bf2ba701ca5545c2a283d5b7e9a3812592c263bfa4156f3d75355025680cb69644484e394a88c1aa1310aa3316a448fd098d3a0c0a597296386ca9620a9f8c96136994c253b952692932601097c345b027bebf2bc7823646191da916b9327a0bcce7e0f8fedbbce7a0d4303df34aadf878f03fcd36fbf8da710147d6af873fd69547fc6daa5811824a922082c5830c19657fd79d42e7cc4981e9ed4a0859230affa2f5632782998be12e79e986f35058735807832b6422bcaa1a35d0ff0610525469420a3850c82c0f04497235ac04118285b5efe1f9112d89ff4c1393ecc7d2a0c4fff8d40be3f7d3a809cfe7b500c1fa4e0e308c7a6238ed3f8793e36ce7bc45be49f03e7fe95117c83e81acd17f89f38a48505bcc0379aafefbf8fe338ee7f80547c1f5be660a048757ce34efdf083bc7e0865fa20f8dfe300fffbfa5fff8fa64164415e42b4c78fcc35e5cb7162e76a471148277d65a43a81153006a75034ff1a245307c1031a9a1b37c03337f51c38b27c24982674d008349946af7c35035ca6bedeb131b3fd99ede863e66dc46163fa98b9c7223a5611b4e032455d096895ff118f44f62fc9ec5bb24f0f3a76f068574711db0286c31131276678f9a7d0aef662a50459946122c411655efe1d9ad0ab1c4e4ea7e11f82ff0d7f1cfedba4467c3d66f6f7408dba649679581a6628ccd4933b3d66bea093d3a70b4e8160e94a0e4c9e00e2c8ac8619b628620418115c79e1e57382b9f16901ffaca6a356abd1d0ae7ef526a58a263bcf07bb95430a53937de3aa6399cab049a4d63ac11929c02ca01a4a7089ab4fafea84b1004fa33964842cb83f15838b40fc3920f72f55d5876df9eb28ed9e765489f7711fe751ef2ee702ae3f23d0af2143ee733fc4d3c183aa6095005ae014cac97e39f52dccd740dcdfafa9e5ed63de8291b7775907d1bcbde3d02e261d9a807041defe2312b23dc14d55b39cb59892efdde8c5b69d7efb293b3d0bbe6d3a76745d37dde7fe846efa1670849b892cb53cc31a57a44e9a70996ca91359b62f5227312747d9fef5163d93fb39919ec99f8358a44f23fa9f44f03f317cdae6af930d7a26735fa30ac91c2c5f509c48d4b55592f564aac4dbf6b1ec3dfdef4ba0ff8d25f83755759e78422772e3b53535eb368baf063dd345ee41cf9c697777974153767ff7a7ee4ffdab7b478109c93ee8cf3c431ba84c3f78e20318b6cdddfd1d74f7a7fed4431ba8ec63d9012dd55d4c76259cfa53f7afee1449a5b5565a29ad95525a6ba5564e656e014d5007a1934b82fa9ad6f0bf07c5a2b1e7c68da233a7d3e71b103f455cf20cc75511c44460118d0023c14bb5816b480be46bf64ffd21de33eab7f0afee9fe9d4c6960a130397dc5b7ba0d68ee9d77dee8dc460b098d191182541f683a3321bfef539082369b066a011806a293df5f46a68bbd4455faf2e2efe27610bae311a8f0eba50664a4ab3265766b019eb958d2db89c4848493c3ae8d2601dc49169aad59a98ce34297179c27a45420970399796ba74105787104012b15a0cb598cf272aca618206769c90c20c42d475bf594033b23b558ff041ae4f24d43fb94c216f9cbdf7deed89928c0ef28ca3573056e038191de44a6338ae6bab19b75add2f73683a43ee7d1d580e2d6729a74b4e2d8729474c0e999c323966748cbabb8aad9cac62d75fe183394a39879643137396a82a6796eb5bd1fb92758fa86a15a32a1ade7bc7b27e9943cbf4f5896293f7433100adba7f5ad99891efaf8ea80b7cfaab18759d56b1552cd33f75356664fb1fbd2f4f2c83643aa2b6510908fa6a668b50c96a2a2082b658f919628b0bac5e799d852004ae1a42d0f4a546a3d596aea8c998c0a5478952a5890ca372f2a343ed2709468a81d574788b6aa1cd66b4284fd06213a623025cce264d26113abc456b55308fbbbbbbbbbbbbfbacbe91512c56cb9e59aa83768dc67a66346548484a4a4d9acc6635c45caa50cbb06cb3b53a38ccf9404e41fdc75afbd3ab9fbc397d22f64ed25be424be9e7bacd7e1aec3558b2ed30c03b2e8620548c6cf5e067945c6c42c2ec70eeafa8a5a55bf5595a81b6733561d033a3a3aa9cfeb17f57eb70f0f265d45925d60cc03bc096be0cf66ab355bad3f7058a37296e6c5cedd01bb83381e5b3f18d503d0832d887e731c9d76c33630628031c221fb311e3c0951177e9a14083d02c8fe2547f3f8f1f803bf68b6d3c5f73ec5db689d003d226cb98e64affc3f80e213c770867ffad3f803bfc28abf11c4096114e9f9410fb8bb9cc1dde5cb9ebb092ec95b335731ee6a2fc9c35368d6040dade225a0a1330ac5cdb8ebfd3d697ee94cb2bfcfa4c8fe0ec5a3d0966a5f4026323b5c23988aac400b0b316041c612718dc8647f1c3968127508952f0acd5b5a7c369501b3ff2c431d46fdddc8df636ec45bddfbbbbf7bab362144467df5564f46fdbd1857bcd1f2bd3621eac2f2cde370e8a63ec9364c84c9365f130ed9dc5cf3a770a846c612133958914f5fbda5ba1c0b6e80e5f0bd70285c1a92c1afe0d21219043114b0fc2991bdbf92bd2592642f095c97cc72f7361ceaaa12b07ca9e4fb5c38745933262a41c45e1cb64b866c6be617b96e8955bad1320d3399f5a62e9efd787e4f1b46e6cc92e400b93e8c11604464d1e44c9923a4d8e108236ec004290c1558ee941c82e8a6900ef260d2ce647f1e1514b999b3b553954092fd5f502daa8889c19924cce810c40732449e141186871ca45c29493adc2984765007d389a52a5730524b870a16d93f150e796ae637c15d3d5f050d2f74b9a24c0c8470c1abd66005262748b24309c428bdea03d59a102672adad305b5dc125d60987e874921390fd736c1499320319b93e0e0f3070534807a1260e0eb2ff0d165cd69e560bb4c81094ebdb5c1bbc1a120933d91f4799c2050dcdfd8a0d72fd5a6955320272fd13ae484abe3a672bac59b227a124fb83e190cfa8bcc075937c96b444c95e3854efe421c993edbdd392fd6f0de70a91ec7ff10a6ca8dcc4b225fb5bba850f356e0ae96dda58d922fb57b03ef69ac4068a63b58e6053dcb42c4b647f6f334b5d924c11c3165d246d4f782feac227380f6fcddc423fc09e342171c689095e75bc35cf9c5d5362318e006f268bc562159960c57c9945b82803edea97579ad34a85dc09fef930584caf02709110beb5524a1f48f7f5fbd5de893bfe25dcfbde386340e61155d9d513dcfdc5a18362f4cada6cef5bfbd388a982996a02679972775892edf71c820c41307c70c63a7b9584338aa599c9946613eaf2dece989097f28a441d94070ca86419017923eb055ccea38fd90a70f1d475c71dce8ef5ef73dfddf1fb3c6fdce11e04d27df825dc07ef87fdb2534655f6bd99eda2646bff758164ccd81c8ad1415bcddd4b82085605776e8affdf87868cec14ec51e46b10b075da41df2b9107e52a7f70824047713ce59b5ef96c106a20d02d185d2a4c43d14ce4aefbee96f7657da21048a05f97abe8e55cc52e7f4fbf76ab86a71ce60e1ca1cba3dc71af1c04a7719dde9f67fbff6664c1654f4681fe0c779ff4bb7103ece512d788e192068e51d7b5e5b5a3bd2236828f9cf48af11136e2e4085362db3863095cff24925435b2e828a357fe42442190b32e42a857fe39ac2c398a82881241d440c44c14134c71021c5889e1e5ff09f5aa8758c6317cd42e0620d550ab32022a665878f963a47605b9a1062a5ec680599204cacb5fe9ab12fafbbd187b38547d9b82b75abf6fd7aded6be5e826ce8002d3e406314e3d7d923e11fd22fa396a5588af7bc25903ee252949f973d07b9cac2f0217f87bf0e9eff89fbeef3402393df8e1186eeeef7d50b7b856f779e3e1a40f4f010adef10ffffb1dffde8e384e0ffee9c1ffe148929cacefe3446aaafeb57af8274c55fea1b8d363e6ed84ce09cc467fc93de66fc08e1cb04f5ba0e5fef2658792a9241560ce346962045c985cf1aa46aa200d3162093030e0f0a2b5d65aeb03c908bf3e0e77e1a29f4642dda5d669445dd57ea1017db1972ab94c5929eea50140e7e5c9671fcb6e3ca127bb4f411b89e0628c411279a881f1a5c9dfe00198590c2f456878a63882e18585bb13c5032ebc17609878b0e83aa001d34e155c8a0aa41760369d2f1d78c9b96296d2e2e14851d3a9820a53cb81726faa90e1b8c0866986f2e1abb182e9460987c3c46c504023458d1334782726ec840b6068458c460b0c56711ae37d54d042309c2786098ca2766060df959bfb05e6cdb8314d1d103456cc5dc16943e24e706b1533db650690d2c068637569a173f05e7c45cd557dbdebc4c45cd5f9dec9a5297bf67f265775be4c3f3d00a59a7673bd5e13c72406108525090b132c44608182a50a162d58ba0c3910cd0870cd16974a985cde225c58940ac6599a649965897253e014184cc135b9978248a2f7061cca60b180a03013c5102e1ceab0dfef7c290819c0ece0bdd84a52678509e6019f722f05010399e01c2a685b14b7e362c425c6e5888b8c0bd2469e8c70b8a52b82bf29b77b1994eec17b319519cd0b0e732f2d69412e59343be01a441247a5c4a41c4991494192a224a58994195011bce55e5aa22497f77613b7b44405db34e2aabee122c14929264fda408205d404d3dc4b4b8ee4f2de1c5c9a3c066f134d17a77272cdbdd48418d40fdf6c465215c64de65e4db157f3a9a5f762bccd49d6ea63cb74f47172e249a9aa69cdf43164c1534a29ade97a6f2af531f0e56aadb55e8ea6d65abbbbbb4f350147ca5a6badf8de548a520adadcab3aa7b5d68ee5b66ddbc775b777bbeebed8ab7b53298efad8de87dcb691526ac12decee3a4fdd4d274dcf28a595528a6badb5d6f935b5d6dadddd3d73db9cf003f14da775b31ce8b12e90d761ba55ba55eee2d4edadd2add26b43f152e79dbcefe18a3e8cedb875f552b1a87e2008e60ea2a90f705723e27bbf2bc6f88627ef44d3d1e08b6b82e8034d5a343ba86b6cc49b7675355176bc488b0ddc2ab5b9d96e50158563d32ca11f694594b6d12acd46e7724059a4e122bad5944e177d2fd598fa3f9b5351d33aa8738c2dbedb933ff3e4af6e63904cc3c9e6c19603e71477e607d9a9316227dbe96c2ae6cf03a7e875f7bbf7fb38fb6df5a3fecd2fc89c54f675a2383d10f3c3f08046ce48bd7af591c71dfb9ceeeeeede37055f10aa7bde4a69a55f6fad95d6508abb371a0bfe8952ee82f7f34a4a29a5b5eb062b0d2027c1faf4628ed293eda6a1f429c5f47b556ba80de56c7572a4aaa694d29bd98d0231a598aafa1ba7032140afeb179bb401b000e86d62b5c953c499e338ae3eb5f6697d1a6e5c17a23ad2fecd6fb382def7119950c16b42d77529736c676da793faba6dbb1ef875a7b05ece66136bea0f6ced95516373c30a01080a0a87261cdafe7bb17329dd40efa39f075e9f5a6fcaa7e3e97c50299f8efcce07e77664a793faba0df4bace03bfb0ce5a390e6cd4ad1755e2e4843544f0d3d1287c51a90e6ec2a16db333dbcfc52c73dbb65ab72db41b4a474727f5d5aaf86cbadacead6d359c2cdfd7ddebad6dabf33f1d62935b002c50ad68634f6068450c64fa13c7830c64fad376210a9db8a1ba0f3408b6fc75de927f442650eede2e39650e0e974364c2ed2e75fb5a06210811d574e8a03c1ac8f6bb4693f49b6e95d61f2c6fd53419028e8c1a9b1b0e8553ff7bb173e754a17e9d473a4f2ec0f43ee533b994cfe5b93ea894cf25fffae07039299f4bfef5d14979d7261caa5f776b07755f0e8ac8fe049b457964dba88ac26914bea81c4f273cd32ee68d43651f2f900a6b88b9fed7c1e9ba0a37e150ad3051c808eeb4d6cd725d7bfd350e08a26657b156d26fc536b5d680dd41359b88f3b6dd804d9367bb68c253fd530d27aaffc309411d30459b07987b566a37d476632bad750b9802a8144d1a2a6ac86646021280006316000018100a07042291280ce358b0ed0114000b66963a625a3096c743b1388a83308a81188a611886310400838c514e21a5ac1c02870e24cdac349e6f0f839b904541aaf944251dd1f523b020d6f7dbfd50c20fca550107add28c3d26e653cc805caa46e9ecd9c2fad09c5d7145806a1363a092508b548ca7915e658005484b50075a948a44358885d42428872c4a07a25ab8d2c3a43007aa6875800e42e52b55821ac8e2ea24a1b145e55e1055c50c50246a28c59e2aa40f9ab3147701682a0db4481d90a5669e2ed6ab3cb0202d5055c833c5f454832c4a25913260515212d50316a322090ddb145704a82ace804ac3a7100731a24655e4f9227a950659980a247c520a3b8208ffb5a8ef658a5ae54c4c1f90c99c1fe98da4a73ba8ae370cf2e962d03c5c899331f513f7df9aab5348d5af00b3bc2bafb0a6f897e0885c0a5bb97c0b6515bf84b055f8f0dd468457fccc4c53a5f4fd1249ad01ad1a1c60a4d158584e6a9e8e6ede42263e44157ed02de60b6def6bd44a2410560e37fd4371b6c420822cdac77c7cbf5ff880f752e0c30b53a8c22443ebb02783e12a8dbaf6c6fa6161747eb2d00262de03c2a673c151b3ed37086aed3ef5a28d48aa0e1db953595f90548af4e69a50680891ed987d694e4e80e2ebf16ae14cb28363395bcd26f0138157285a5170000b8681bafa96c35f8d190eab3911581239066a526cd444bb354472680f1427786c238abfa284f3cdbf28fd75d148524efaf48e33b312c2de8cbfdd560e7461fdbbd4c310fbba028dc8f34eb1ef2044fc24bb30c9cf10214c8a79c4f2be8ba915f71db53611c3315c5b37a4e5dad107c27190184ec750c3f6aeb511b2102add66afef89bfd8bc2f2a3041669ea197a6cba77f617849c2841860905e89986a9f446358c31c251ea2a7a4d60cc6fb448ef00a617b90cc0e5def18e5da82582121a064a021fe8c4eece363b40af6715f94e73232e226fb3137780222a30f0c45453cd26fa272bac7382eace2674fed4c65df55b16d215623c56b683aebd14315d6dec0adc26f8a1e6b3f04971049c1fa26edfcf517a15796a081cb3ef6a1877c23580a40d70973279cca02146e758d2c0cd0ef5331617e8aaced9e06a0cb64fc2751dd8cf53df72fc44067ec8fc5c55b8f30e358efeda782730c68396b07fb0037f11bd3ac844e01a8912a006a249b1c686e6d029c0398064bd5df6a6ceffac0ccfaea26f86134b3ee33e7aab07a6bc61054cb195e0cf8b8c1bd66afd242505a421e007b2ad43f6bfd1cc28f3f4ddacf9e3100357a54ff479dd1296d74cbd00a112610d77cb9093b907b13fb74007aa334c492aee071825c40179b36101a8519ce6eda48b1632991bc9ed785614d5ecf35185172c695bd5ba04cdeca52e9cb3200bd0c8ca1d12360edeb2fa1f138fbf30835070f30ee020a4ec4129f8b7eb6c3ae5b0f90c641eb7457c8ca5291031409e7967890e73c8987e66daa305df3c98f0b2052a7ff91926d8c001096661cc10b8775f09f24c48350624c29e02b224c582019cc04f3c0a05c34e27e3b8046ea06f1c8361d1e1e842af995ed33c8a2f36b98f6ee94aefcc577c4a6e6ed3ebc697c110da02831e174067288f78d4edd424df9856ec24a24245a8e039164a74f34a00ab8c249d4c365e595eea1815713a7cfb89135775b72ca4bef606fdc001d7a843073edcbe7fdedbc82c0d58736b4c5dc3baf5c51fd44656b276b410b98792ade54c98a834ecc6e7ed46cc65c78eec085b604b18f667d6606c0504bb2d756a13741969c356053a6f18e466959c9e72ccbbc0b847f4d814eb81728722969c7ce0da10ad30c73a9541d947d0a389bc29fa4e16dd3e8a9bdf385b4b62753e0024b15e434dc8bc5d434443a01b6856a7cff73eaf050ca0b3a9170d6106816d6261e1e3831cc36d62c5bd16a3f911f89c1fe331e8383a1eadbaeb6dbf7c245e3c03a37f2570cab801f30c3d56fb47aa7cc66a1bf07b84a5617d74b24a84cbe59aa5281bbe2aebfbcc04348bcd45702dbe7a481caf1ea8e25f8697580edc83d3d01376f903147c81f182448662409b50f55e8d96c03e3cba9959f503a5783ad080f452e14ee6088dff7b04b6d17276f8ba80ec856e837794429be2ede2922a924752b6528b2b19e41830a6dc4a5623989f7a257e3246de16428164e959947d65389e4a13521e53955a409f5c60d37b68967a41b0486f4c8e62138da7140c0ae36b8899d84bcb2afa432a25e7142d4e274207f71aaffe3e7900aec7f0d58fd19ed1f743002fbf068cadb8e188bf3429d0e2b35718295f24313887e9a48814f98aa9e133fa41cd263f88f9a00d20926ce97043e2845cb94a9bf8837037dd6b45b139f52da94b96dd97586f40d461f64c76300af75e17208d3a71c4fec6d4374fd5752cdb3e58b6276fe74997cb9e186fdf58136ba2bad7bb3863a85bcab31de9602c06cfcd71e97a1e6e4188a2d9067c472001b8c9b3c0055c61cdbe6024b28b9a0453d96322398058c48076dc84c5ed05f59ee67245e99c65f21362c8ba8f2604f23212dc0596de4184e0828a5b816d9161706ddcdb5a3c187a116a1ae18c94a6aef8046632d890d3bb668a37514322c8cd2594fb203e556d275f23c05a528c74d24448b5d56c10657da83a05e855892293494af8800ec08ec11c1b065c84181ec2543a193d50a67a96cbf251068ec7c8483175d275be372c2dcf6341acc488f3273a7ed037ce78f11441daec0fcfd9916935b495e7011909be7cd4afbf93bde469bf0dd050d5d6e77ad6cddc82753dce5a5ca66c08318b4af87c423c01335418f11128a396782b28deaa507e9c0f58a977273ad9349728c50c194dc874317d1813878ec213bda53b03c2c6365cc054c5241bd601ffadad5a4307c8c1562c28607d0b5639e11488886132cb963c49a23e156523f8e4fe4a747686ff6d06428283dd44a63a7a500f3139d212667d70b331e3159376de1a4d8943eb584fa8d3effd26c7a8ed241371b5df9914dd36f2e872808e08851f9ea2b70ece7428d3f075c7d4823ebca867ffbd3bceeb06e7bedd569a75c6a70c2ffcb84244457c9837e461f5068c227a04fac53eaf19b9fe0679a2f4050f609c88dcc50431f2090d187b9f866ae735760e7b0263be2f84624794e0c25d0a4d31f008a80f2e3b8a1e18ca1031a4c7b6f718c3e6904ca92be29dae2a8811f60bbefe028b7971ac06c57147d27c0ec9ac7a0e0000558cdce674ce6efc0d77f922950af1fd14808a0e0fd22a4aea581c0a7fc10922165c6f08787849e5f89dd3c22b9a334159f6e1e6181f38e314df848d06d7c4e9140aadf34841909c79556a35b7bc18b6c5c781776ef3ab03251b435017feca937699cc0e722b2baa77d0dc045a63b7335165572b6f94397709cb2899cf552956702b2dd7f0f239720234ff2fd8e7890377bbeea91617bdc8c4b767da93c11f34da7d4730df8dea67ead0fe907a4f187e06da8a4bb75b0eb646f750b6bccd809660e9630da6ff1f04149962d4d2632c52bbb55f6c01c46196a6acfd9c34249e1bac370a1324d2335c4ae5d7eee0635088a46118f3db7eb3f85968b8acd6d0b232b80aad0d6e7708a6ca8bdc40a300ba2e51a7ce43806c48088b4ca9002cc75831fd1c453de2d8fb04efb18e1a96b426944140391643ded1c5417546b14d68bac0353e94698922b608fca0262af65162b80f2f3ada0f97ddd83c9e74576cc4fedf447b3150cf16cee5368fc110ab154fb8d38d9b24282f36db07061216d7d932e0794bdbd90af80530a1bad33f3ce12118a89631deca9b024b21c4fd454f84fa6b3628806bb79d79e55d70edc9dfb04a22104f8e1725b010e7156f49a761e00503615815839364adf30a2d1733d3186c19b1ac37495144e8e13cef87356b46bf65b39b7e7a82a88a1fe92525f34bf04fb3401fa8a1dd7ed2ec78456aac57c3cc3f240dc2fad0cd593c944b55ab3dae165da514302963e93fbf1a081f388a0a9da98fe1f7086b2143305395812495c775d75e0edf227e64d73414823cadfb1cfbbe176d28bc0ef5de0e8008b5e26193cc884aff6f595134f8a99f77e96e3bc958496480373e0eabf24f8892df4220615cfe6aa9cd3071389c88599cc8c804257caf50008eb00079927022a0aee1a4c153b08c33840da3b8ba8d4bff502c092ebcf44eda589d01c921f1289c28104f003f3a2f89f1e1bc0c79612339040e7fad17fa3d4aefc87d037d6135d8cbf9f086f01d607e5ee159d45d8a3b5155962d76529bbfbeee1f75b3cf243b50a0f75779e695ea9ebde21a7895c884c549ebc63d535f824c98c380e0bcc07200e03eafb4506815fd03289a9e131cb161ee4195e1386ac11ebb59fbe9d13e41cce6cf8d47e3c8afc41fd9fbce43944f4bbf3482bbcf30bc4204fe7d2bf5efe351993d349f3ff203ff31e97dbb65197e217e4e5a7c2cf37d22f0f5421dc7edff9281cb479ffd709b1f39edd4ef72155364fbe67964043099ab17d4a24df65453005ecb705e08414dffaae9180206d56fdaf383f4b0ccced073277faced8d6ba5ed27712a3792ad0f8d0e768805533d3394dc2f3b9d321888f59ede697601b84c57cdd2414c7524dfbb4be19163cee19cff1955f276509ad2d4aed0d4358f577af9b7ea698144a359912d49de11db396866ca3d5b2c1d3fa3c9e601ce41dc6024fc3b474108d5a1c369af425436a1d1e062bfdb20f738e9d2d5c4472510d7a54e268e53219ad0ad0ab3a989440992ce5db3a065a542ad0b79fa342b028a7aefd8b3bf342e0325d2d02124316e7ffdc5c724fa856f0a19109189e57acb4d94241ed9f3d836b2c3ce237b220669cce8d3b3814df86ea8646ee6c08a746ab101f1598113cacdc0cd89c67404dc72494e47b46c38edc9aae0e0836b2f252cffc3796bf6929f200647e801a1f3e322bad05370c4ce63311bf407cd00e0f571305ecf07d3621b9d631bee0dab3bb2723bf7a340741a24468f011bb4a9cb46dc2630a5d5bbecc05ea7756cad2d42cb78ca2fed76880e09544c2b87286bf29644addf05b13cf229c812af2d33b6830855519ab3600a56765ef9bd71177d9963adb84053387d025ca21836f9f9895fbe820604e7b568a0278d489110fd28c63d996a6642f280ca291b38f4aae6b86041b92c01b2f59faf045d3d82cee2df31b7c4cbfc3657b57f576d4702f98a419cfb3c36dcef14608270a2c8006324a4d5439fe74629845e5763db5660c7ef74c5d60e30d9687316ab896e04e7161f93fa2dd845b5fca9b777e415e551adc9d6692fc94ecf4d4f6ff3de47e89be3cbe4a84380c87bf1c670708eb024509b201095a1caadc9cfbaf38caa530ddd32ff3207631d82b62dbbbc2a821aa27835eabb3775ee8f4a5e3253920f761b62bb052691ad5a7e195ba64168b579f7432bdb85c6d1f764372f8c230a74d2fb9177cf14f1c82e4c216ecd85f9f723570e0150fda67794ac1fa547b744de31c7426f0ef6a02579048281732fa7ec15716805f84cf20c4aae82643db2f6b2f55f39bdaceb2c8c3154bd6f3c07c8d263feb25d6d4f6e4b72ec02aa790aa0e12cf56c2678057f61578dadeb8d3effb8192c9b0ae8d1d944cb6d9c2b0ee0d574a2baa726c2745e345b1c0d26f2d67f396cb32ac9ccf9f1f4cf9609b69cc5686794874565718ba1f29c88cfff6744263e972dde2f17335a21ae269f37aff4b932a18dcbf53c27a804f5e75ec235a2f1cb8710d63ea4fe6a2d444b644af74ab086922ba458af82b4e935f99d4f2b65f9b5f08df4e91fcd785e2f08950d03fef932e4935ec5051bf10c2b89bbbbedffc28498c31036e7f3ef5aee0eda8f55068dc8cb2a4ef5fb0f754863005224feb90fd5f9e98c08a2b7d842978b9a24adf673d7a07fefa55eab6ad7557013ae738127f4fb34f2d5cbebe33c14a97a366e06edeab2594e2324f950732c6f684636e0a20e2851ec8ae1d417356e1cdc99fbf85370ea10e4fd2010f5d007463b90710efa16c8c7f9a96d0e648af36b965a090b601f72ea545b500ab9210c370eb99640ceb8e547a158110ec3361a47bf5dcf6756a87586f1d0ca5688ad976189c37d96d164451be7607b2a84f0b1a6257e096c24f9de88cf4d1848b5b72de205d989af041253918f5d436320345f520c15d4e531f5cbc699d803923538f3c5737e18583babe8f065ee03a1b630a17844ec4f0d3291f124c64c9b96d6410a12db976c972d56a41e492605f8f92d3a614bc52c70b74a8813cc44db56e10c6a4adc11b291fbdf78cc18234055e2e8aebcb2dd79086abea414e7c19f5a69dd38fe1b2ceab16ed01f5882df34620a03d6d1c91eb38979a4f3e0f96aa8c0bda0eb59765d3e62d3600a6faa0fe8942a2dd1815805abe12ecda897b646367ffdf5f73ff1210feb2245441bd7cb6667756430f87633e5ba98189001d1cd05f86754f9360ce0f87d30d399d2f371fc975de4174e826c249875f4ce8191d1caa8ed02070413292c3a9c634b3400402ad7d61167c2baa8eeaf3fcc366bd6a2383679bf713009cd01d62e9c83befd06717d85dff7f06bcfd3790f01b008a0d8a6ca78959db612f539f98a9c64bcf19d177471d1a2e993b855e9c00c2ffcb871800cc9ad12ac82443492f8b9d5b04815d365b2e4c4a29b4896f279eeee3b158b42f9ac6a285fd7d8976f008072d844311bc9257f11f4d0f1c5e31098262f2f22897a44a867935bc6f44d983ac45d9f21489320e89b6e43640084af869814a1e2509b8b02eaddeaec6eaa610036870a4eefe02c0698fb8ceb94744c80c984c5c2225dbc72fedebfdd9c53d42e742eb1ec544b5e261963db8475c0005cc4c83e87f6e6e2e43c528a343e0e1c23d82bea139be684dac7a347a898546377468b652cbf17cfcf784321f6cbf9470731947241ebf218bfeb44d4a3d6a526a5fd7d5db8bf12c22a9885e3c12b2ab9973f33496ff88cef08214389b907cdc2343191dc6033eff11828921ba4d45943de26e25935ca45ee07ec58ff8e834b666a42dfe5c803cd4c25562899d3d63ce6f280382b28bf6a271bf58f4ba13a6ffc097b6f9ad9c070b5e236e777144c989db036a04cd3b1b40f77608e0d00292cfc8ab148feebaf90556d1f778fb44065de07d04fddb0a9d4cf123223a574c6c9db8fa9cfde8e109680fa3dc556d4b4b069c9084fa6326c2490f269a2502561c7ec4905d0c4e944ad3aa7f816083a96249eac6e163084ea68d5d15d76c71f926ee9033e33b1a32e706918b03964c8625dce59cd90c47aea23aa51f1e4091b97b2e7a7594d4c37e44d4fe3d6e2d6288909cee6ad6cd3e5ba0df4bb3a5d26a6f276bfa60f2c802fe3e327792f084889a3f371f89bb7510c67965c4b1c16ce74d17292b39b3832d1818ad1de428a277dd5e9fed8f9fb63304819df1eb9c1099cb2a489984ba1ccc9c9e3bee3f2eaa8e3b6a53b207d97ffde6bf25d2eb2b3afa55cde324c1e1537f479adb2e40090d46cd1bd2a9be0c99375ce8e0416f884beb06a3fba4d50cea2eaffa018d710f86541a15c2f146d777ed2d8b877244e445902f910590e853864242e9145ac2d30b2bdbeb8ff4abe840c82c2140fad85b503b805755579c0024d4e50246844cdd14ddb5faf2d5d97e3b23d384d475b35be8d64ebfb0df548558c7c83a435653ba7d39f937ec29a4e2e1ad5086d21021a5da35250e7b4c3e66f97fc8e86e187a5a826e752cfc7d04a4fec8f2b92c1ae4f4fd4113fbdfb2c55b5253bcf09be12c09f41d0bdd5ca38b6fdf2b2758bc6e7c89b607961f5480b264dd948754e8aee3f1dbce469ffa3d530b7ced4a7a322a41d98db9822cee8c466b01b80003f2d456b0dab418dd8f59be2fb38c56b61313ae18f8e0774840f4f484537ecb2a2a26f4c181b889c190239277547fc17544053c3b464dbdc06282dec01c706155501b57c90e68657a6fe33d17d3b62596d240292ea1273fe8275edb3b9973527eeacb363cb59ce7796e17f9df1891439584899faadf55b5650166517385d18c0fbaca2cea69e4cc4013050422ff788ea9fa0c184b606b256ece8f5c34d3d758a03459c1067c5c48526ac5935dfb18d24aa1687f0b5c5e04cff03c508447fad6e5b5e2dfcc9e29565a4f5174cee499f9a89c72000f17f81f71ec989a201d583a90a1deb20a0b6d86f05acdd6272f64feec79920f0cc5f357050c580e59822aaea7c17928686aec16f9d1b4b2d70f263bf3fe5a1704a58ee64eea95580b783771c75805296b8b5b825d8551a7088f4b6bdbec213e5c7230052966b162a798f1bb48671fe47810c2cd583faf285feefaaa8e806eb26921199faa92d5728e62803749f5ed40636dba7060cfba28cc5a8993cf80d1d1b7adb3c585be2042b3664a528a3a8989e3dd930c3c8ec654e8839b9b733d7319f4183a073c4eaca488707bc80ad93878d88bafe4a2a7662d12681caa178b1896842524ee2b424f772fa64639b7b31e90becca19ef716257abcb2402d6c5c02eaa0a8ab05685ef05e50b6cfa1d345c32c73387fabfec70f81a19955cb0dbac6fb37382c243c6b8a027d84e4855b3310cea59d2806fc7e3c91347f59db05ecb5164ac2b8b1c5440668e3ea7a61e12f1b49001f51c7d80c41ef679e334cc9a1f7f37606cd4bded6ac7fde432e8fabb2a95146a60d1c7edd155f73739cc6727750143f64a8e5e461acca5923b8eaebe9c9f4c5f0efd013820df476a1b9d0008de5331cd1bd707bc8c76d71f1ccaa760319f26706189d51da99a896b2aae0a0b611d95a13a147fef14a1a27aeb99fca0a146d5af7a210e3b74880f142b6754afc6dc1efb5186b4d8867caf0f0ca9de65ad71efac05a3e0812d8dc90b625bdc76969d96f9e3316eccd187dff95f9ed4b2424687a3c8c811434356bc6a7d4647741732cecbf29f683bd41937cdfc6c7fb9e0ed8be109f210a09d6150a2c3d46203d38304fce5c67c5e1b6bc6ecb18ea869b56e96b043937f914792500058eaa182286adb74e6790adf7eaae64b1d27fd826572f87baba02a604f16711d0e82e1e7e03608654c949861935420c052f36a469b6f1549f184ceabe642f8a8ce61cb2a850cefb784b7d84c552bd6421d1e25f95066e28f3b48a17675545df3634ce8a2b8c080540185355ab0bb939b2afc1799c3f71c7373d1ebdcc9cb1136ddcdb62128970a8431eb8ab8e84469aa0ab8bf99521207fe101186a75397da499c699915ad1f3924e5cd4972d05aaaf9ef4e37cacc9b1c6bf91fb37abe2e72eb94adb6bf8d64ca0b1a50336a5000b9137761f0434a3e2d8484bcd8c9b56a85874bcdffe61e9869bd94def2eb8d1428ceb57414818cdc128f2b474d6305ada392447590ce0ecef064ce08d197f3ad7db8230a8735887aa76a53ac7c2a08236be0c6a12ec8f1dbb9278bc563b60963b7040327b3d0aa21b200e9f283ed6fb1b8a7f672cf190ce0a66c685b19649a93c0fdeb2dee79e48b8eb6b1b6d2e8fadd0c76bdc3a2384f81c7b6ce15c1317d80d41865bada4416898549315c362875e1958c6243ac6c6ed77727a3685f619d144f6a395c8e862b88d2269941986f4f402b6317c48fa286b72601e944e3eb2bf76b55327e4d5c80a620d9741d42503b9ec0b0a9e355de865ac70e09ab033fc4b45802c54d7d5e5a75a0978cf6e43a5c060ad468b808973939046463f32a8eac08fcf45251df622127b75c6edb6d108da1d2d721b3c047559097aeeb5647d4e694bf60a5ff066110f62c5dd36d9955d558613f8841edce71c20b4d64ca8a46c1891834df309f51a5ca4728ef66fa9942aa7a10ee360f680b42412cd9ebe6bfdc93c1371286c03fdbbe30de47eb55808d0dd1c3b1726a0ce16093522d4b0a85f20508baafe51fad7a658b4ab58d5e571a3e20246c6ce35d28bffb9c9c069fab900059aef1b1d691a2903b7b238ed3a0e8db380dda386c946251943c40831310ea557aa5613bfd79cf562648826b4a60134b778a0dd5abd214bb2bc6420d9cc0179c32f8d228652b612e24fbed9fefb685821ea01d87833a5b315f862a0827df35ef81022cfbf83574b13bf4de48e716d63464946ab2434b45049d88b4fc99f90e86f664288ca9d84b22168b67478becb050107e2f3a2008adff5c03ddb205d0f3fe5da6d0365be3c54b7cd0535d17d6f043f79edd8271182474a4123f167912fa2451b9550418518b19f7a3c9d2b97dae1dfce5a4866bdda9636d7f1dca96c1b2eb8ba3b85cb06f453746028ae981494b2a7aacb88a03f7b8a2f7a5679127edeb0520405d88ae0a9dd5149e8d1929489e287ff4b5883d40fa3cf180755e65b7001d36e3f5af397bfe0c9e0ae7212de460acf9c91a5368500292a00b5161c6ab3d72dc2e196a8d6ce37f1dfcb4226feff3d9469764e43959e10cca1998b0e2a2fe0c8edff53dcab0847b47784e9f8a0bc4609c52bb6050984721c3c010583d3b6ccba58831345dabca5558319cdd8521af195d011cc59238a818967b2326a599c1147ebad6f155bb2ae1430825b00d93cb92fd015bd760d23a14eaa9b11caef18766a65dc6e545842c1a76af5b81f13dde7abcfa5e6da059a7db51ecb083bf0d004da66dae88a89066bad79171e3762e7ffd1bafcb4eaa448139508547f123d9b32441346a8ad9bbf6da0800136d6c15043ba61fc8cebf548a97146e1688b782a589fd4449ce66a8c5d6cc9786eb2a17631d8934683ca9138db209b33a1d7d79624b3f4e60500dd33fba21876df49ae558bfa490c3cc7e1f357ea6f0236b4880a8f9e047cf2c9f0098024cc2e10dcf33621e1c2641d6bd25b49fe6f33b20e0820917deb6a706fb6790cc5edfd2cb0fc94fd7490022f5956713cf2994f3df4a784b15c0bd9ad58c0d9641c02c962ac7385fdd93f56f7ed0069c4d996c6ec4d37ca03b6cc365b36ee7824eb2e993729b8ff69094ca997327a613dbb0ef7d336e87902dc2342ea9e8c1042f702da74c62633b4c2397dd06cf4af68ef67b5878d6b1f92cb2d7ffb5bd6b199ce613dd99522e183fb4c07920be675d63263c966018b128c8297576f020a57fc025b086518620d156a49c7604da7044e6f485bf46dbb30d834d862462b6e29f178d08cb37ec4706d1f6e3f84adc155399f3864340819f6f07aa5fbe91c0a5c2e97db8c1445e25c457e3c51840f3eb25acdb488f20b1b45af8815512323d9ffe8409a4438d083a691b23d0c0cc49617944257822690bc7b0e7c0dfd393d36f4c9fa821d2706f2dd14d3e574a55ca390d1eaa7677419cadc6055b905380b2a62d580fbc5661b8616d368d5bbb60209e7cff5b1e0b72df0757367465ac54769d3354c1b79ad44235dfafeb4cf6378a8ea2d1c9af49c31d216e90260805e68fa668774bdd058c2affd88ebd22541537b4695258b71d18ad5113349fa25c19962b896b57c8e3377213af0ff03e6ae516978857ffde748f2454916b1158d9c1c4ab9df5a1cfc62628f2a55dd65d73ae68a238f257ce303d1e856dd422e9f53c2ad5d8d5589efd618d570e632406d4c278204fbdb965680567f1628d570ec6d5bb384b09dbd22e881692789c0587da2a7ccadcc69aa542babccaa1ef486570835f435558f3241b397b685f6a4cd4c2ae11e7b30f39b156ae5a8bceb6e482909d6a7a45573d1cc191685d28c7f7185425d27ed2b9bd42d083774b249d00eb6b4ef4e8643573515ded44effc46703a1791f9b7877d8d41e5178767accab800ee74242f5a89f580bdab85483abdf50bfb425d036653b37ab5645d6339841ae80a24ae331a8989fc8d5b7c7783c6b5e8ddd8c4ff88756911dded7b2e4cfc3b6cd39e6f2bef019da6c726af03948f0d318341497a874a1d66f33339a6b71c70f7a6e6efc33795aa05f0bed5235744e338e44a802fc9ff1f311c70a60d1dc0a2cc3e33001629498407a1e2181154d3d0de40f1761d3f99d0a2178994646098d22d578779d8f65666afbd0b7be407a6fe171e1f50584d87d0af40ca126f9a0187664637da83336c20fac15ed89884cf0ece12132259c69a0ee8afd56769e2c50554e3d692c8c623e5a9005ffb255d501b13dba9140565d0f33668aaeaab34e1ece98d530b749e9c0868242935f690c29e95fe11aa71efc8828a4479c085619ec8db4d8ab72290d343c909d1bc1854e411986a3d0c655246cea2c08926895a609c99461871832ca2af706d08fcb431f010fbe9878ae74525629077658d5ab0a9ce9120142744834bbd129b06b204956f9c9ab2ce02d98e3dc97df724cb9c21d96ac32f88befee87e85d2da6251e3b15755e7b7b98709255cad25c4c4fdcac24abacb96f08e1ab58f4301655b8baac69bca2a9bb570d5cf7e915395ffe4fdeb70598800124c21d9c0a17e01412d51044503c07b4375ea42609740a569de6a124758b8cf3f4a090eaf948783e629113adf542d3c70d3964dc1d4cb4e46ba4b93bb666b306b0b7ea39e7a93950518de2488642c6e27afb5bee6c5bf0baee930ae2c136d3b73b0f09fce4beb559b8d7a58b3a6e223ddfb0bd4e89d275ddd90fc29315c3edc84eac579443c2c310077f4c85f09e05ea6f764e59b5bd58330f32e0e4eb1e371b92c917b89f2038eae9be02c950eb723e2868c2d50bd0d95d5c5e4be96718210b1cbffd804762f7f3e86c5e85a4bf80c19561301619d515d95b71f8c1dc085799b1ac9ee43a0c3fd5e221a46c7f832d28f297419d6019532c81850ad587314e508b4352c41bf3c65a0a649261738b925ff0657581fcd087129c944bc0c0d4cf1559094ab6ae924fecd1d99fd1810781c2bddf7e774c3f75ffa612285d8397a6af1a1e6a2f2bdebf8f2af0531b3abba3e183d85dfa3db13686004462e3963d963d122a87564161d28223c9cc6e9d1203e1ad74ee426923eef4d4f339e132ef502105dd2165f089b30c5ed936f0b4cceb17bc6509a055f880a00dec6d6f6a0249c6abce220191d317f88d5b2737f3c9816b89a269fb900c5da89c93d593df8fb0a38da67cffa98e8942f8a7400c82e0929215151ca23b4894f67a92efd0eb324965406a398b01207f1e7a61c55359cc61f94719b5fd3650826beb6c1e71adca731e1e9b36c287de672c28a92aa35f2ff9b53794593cb2f0d44a86cc77dd6de47fe8dea1c4c3a2103358bf6960cc83a204ad4d66061c9e2d6ca6103762adb082d2a404482cdb382a991a3e2c45412c018cacc2329e51a7c97850de089bdb6a43267b4deceb65398152a4fbe9ce6ed0ec0ed45d1ccb5d59432b10d9c5d7ef8f8de33b0283ac32cf8483323480844d5fe347057676bcef51d50f64d3043fd341182004a99b0aa9a72f0c92a0635b746c1dfb463a6a4b7b28d67314b8730a6ed2c21c391bd84f2b823706504aecf20627fe524633fb62300e2cd8a3570a922765fc701a0254904debeb98f94f52c5d8692e2e61e4a79e12dd6126ec9d882f48ef26b4b9882e044de2f7b6c63b2a3e13b8b71b2f3b0d2d55659a7501cc06ae4af70cd737c6d6c191af4aed1b32a5be21fe51e8a24cf22479412c7059d817c7adfc25c551100003a9f550308d42bade044a2b64001d1d2a7d0656bd2508f98acb7000a6245a4c3ceee369a15436fa818f9c56de020db9aaffe03421ab79efe0374562d11ded465cb0926e4763ec0dfd99741a54eae1f830789e78d4fd0adc8bb0011aef15b312aac9db33698fb8f36af6a00e1d79c683fe3a19f198d66575b34549967732809c7aa1e08896686ed6a19efec57ddafc6c916df424b98f285cf13b5b991aa367d8a4dae4bda98355b15f72ea455c00735e1277a8248afa1d5cf19570f8cff00c55d54f558aac586034ee2d22cb2662ac37bfc8de152eb65f66a54bdad1da57a35b485c088ea6e76c77cb98f4e56d7d45a3d0942eed932118f61a18d04f519ff5033ae904768342c9cce7584a00fabb98520a790050fad9184ce362518aa6b4ffe950fe2e01a59918b1558c0226f007c5531ed095e8c7bde42462e9d01d63f378c4559947a71523ba581fdf8ab356a8b7d4a550a0945e8010c4615108330cfdf83d3aedae11682dc9bb7ea42a8534bc7a4c1b1f2eaa5c47db633b192c3dff374f3df00f386f50c9c663e1b0079699111b4a2e5ed797c3450452411786737e5e7affea5e61bc167dde84920d30b1f0c9ddc458d51c0edc4a5c4892a4878e37b114a61f54018e9c4553fcdb17056d6c641d1ed224e8b3b7df436588d5fd15b1e61216c9072fcfa776bff3113ef4d578b5c7a17c34213daf6ce64c8ef18663054c097cd0b902a22abea6b92ac2beb8578c775787a56cbbb96d12d16bda004552edda6bf961ccdf6bb14d8035be0ca46b1b05a9574bc731e01ae0b1d28a71a3a1ef55a8c9fa8592f819c3d51d5ddf23d3e0540c67c470faaf28d868ab993888139280695cc01e604ff57fc0ee39253540a75b362c323d6726ff1aeb34c82bbd2372acf87ebfe836e684c8ddf05bbf484efe7e5ff228efde3824de294dbe002408dcc8914588d201d29a620bd51a03793b30bca53f6d7a0287d8d2c5868463db8a0a18983dd621181333102cc57f3e2f0f5f1d409a08455f7d649f90d5f0f3ec664b150a5b1b225c8e1b6d6954a86670f8662da9efefdce8b3aac40770a9b01e90633ddd4ae8f598e27b6bc5fb9cebc550dbdc44c115951bf022681f882c12d1420d38bece9dc07ef90ccb897b6d923791ee0e58841ef0dc883285e5078764574680d7cff2526b823abbd5eace248631f11f2b5d84931d1f5de8371e385a612353752bf81c005fb6a95a56518d8fed9fdef9a473c0075723a2e99a474e22be65acd5e5027422e020c73a4feafee6be4359005fe5366fd45ad920e4526c3ab7589a4437eb85011a2bd28c9fe5f9605f54fb18ea892f890f071d5bffe74b8d856497df05286c29974e87a7b28baeec007f1f3c94f07d10ee0ae84b2b7cd53822967fe4ca5f60a8435153087218e5a4fe7250cb0f2eddab68f8175c9737236826f4f5c8674ca378b3b21fdc7e9f8b9ddc37bdfe08a7a111cabe3bd8c11747b4ca3f20182b6db61a59da96599376d4b0f58e69e532e0641e4f11754ac63938003e00900135cbbd4f81a00cbc14c13a622ef1c2585b31e23b7d1ccfe6a5350b6ece74618faa63784b9b122c0de6401124809617aac8489eb4329e94602c74c5a642c30d3bfbf2c9a1f5d4ba452f3b976e2823e3520320a3a86cdde559b8e82a8eb5b31860ca5606d295464c4d653ce7f23b0aa840a0639bee1f4df2dc540dca975dd2be3495816aca033876c506ad642ab28bee9c80f50e58188ff6fe8d6f9c19131e1d86ae09a83b8c182201409ada0b2c2f9b854bb631c692d45d35ded74f4219783be73974568070d0615233e3274d2d287ca2c500e53cd154d41a42f30214a98581021980327b583c5173b4f8863d94fd67b5fd6668fbcb15731545b43a5229985cf075b9a17f2e37bc62509953944c7e5a3b0b9a1518883cdecb4301f601d919712601f51569b861218c21fa3ca1f77152025a79af5cd9130ff58951cce4cb9b2ebc1cba72e932bec918cdb244d20118f66253dee12060dc4e0c467ffa34a9c88df30a72c13e37a68e7d97fc71019d53bb64a60ea6381058e3bd037adfc77d0de9a54f37fbedfda94153d0366d42e01e881875373e7575bc291e6dfe88284a2137c9e6e0af281db8d2ec5b257b4330f9058f5341e2a5df51c775c124c9f360ec2e27262c5b26e07c0ad828a48bd0d37545ec9189e5b48669ee6564782a8a24b522ed2eac5eb51ddda18dcc7fb5fc531eb25e6432371a9d768938625805c8f885c03d4f7daa8861cc406aaf8dd9b32af7fdd3c4345ef0c9605d02fde3a93a87d98a4a6ee83a6804722c31be1814656148730df715be790cae597f9dab04184fd98a10518e844c0d67cb3f2049edc16c6425864e74ba00d1b52d6cfd9eaa3b61afe449e7a6495d485f1d0b2edc9520af69b6485ecf88d57e8cfb005625a4f1f0ce7c9e35f12e0950e26e39442965671c0f535af52c4afec91d71b00f2d6cb9a1b413313388b1ca9af12159ec96ca9cfb96bb1a1a33e892e81b554f8eede449ee84773b22988652b33cd923e632eb9dfdc57579fbb1a5f49d811e68d76671befbaf27a2a2938cb8496892937769fd5ff47740fe9129bb9a1692e895173b10fc2da5942d2d42f18766742f22bd4c6e17f9715e20049a58d58863e91e03a6a74d90f98bd0f750852470b1290d69ac23437b35ca4f101a3ee9cd61afea1e6911330713c0218ed2a906d27689661c406cc243090008b44cf02339f8eb2888c446a9a2d43b18dabf2616682190e01a47f68604e8343eb8a264595f57b320a00c04e478c6e44a9f91d6645d07f750fefed6d810d3540f7df350a2b520ecc9f34ef15d192ba4b7e752c99aa93bfcee1723b7f3f8d54141dd653f73020fb2316807097eada0b29321d2c98c2c5a51650eaa2dd4761b224dc9494adef51ad0b0694c446e5ead4539cdc5cb452120d7559b55ba766fe90dee057218e3fd82de7a1050e4b6002dd7bccb63c1cf04dff22661886c4351374815000cb0dce1091bd846f92211cd1488f5e10e31b9f4c660dc7174db764812bdf546cf9286a3ef9cc6e192a8749b69b7f34e83bafdf88fd02d594a642914164ed6a8fe78e4a63185c8267b7e8f167482d6f90abd589102fca5757015665db22f9ac5714f67967249d9e50ae52ccc11a9f0d9966d4a418760172d55ac56b49e819f8fa53502e83a61074efa2406eb084e50e67a99794a67adcfe414fa0d5ca4477dd7b7a80656f722c0c94e72b2a66fb57255a8304d96f681f0bd1855e6697f42bfde92c693392cc9894b5f6e9deb21bc38fed4e8f61d821256f86042f04ccccc04b4c9ab398d84d90191208192558023468c4c3e346e4de83517e1c97ada008b2e0d8428b8db00de70fa84fe0808b8e10c97d0006a08aa84cabe7b80ed9d31fd11211ab5ea3bbc923436298de94c23e5a7f18f086aace8e583c0d0f28698cf90b84964c5b21e252d820986bf4b8f48dd2bc5ddf801452b2dc203ce3304b882830eb2c71756b32e2b963e10c680659cd0d4d11c5e28fc0ab6a661282741d0e40ba866372ab332d4b5743d471398eb6d15088ac7b33c19c245b6b7ab9e24530fe3b1a7b028b519d7cf3494368bba80005b991d28ae76626035214bc0107fa188dd45daad0039f40a456ab3d0a7cf20a86f00b79021b4d0c00c6752004d52ee2b875a7f006c1920c48e820ee905013aadb02c384ee99d1ab7e63f881035a0125825e54dd1c85a6e81574890c0f45ebed4885c3e5da29f54a823799e13d47436371e1b8bba158199b603f345a40ed33850594aa492188a91a551fcbceb34a0b14ad1d46b1eaba815a43c297e883f25bbf35b0d785bb000b19116400065a477d242fe1e0bfa98f4e41ee28ed335664890391030f6f8979201205fed0cb99c801b13c3a43c8bf51b8a5a4f175d784749e5f60c5dc58af2e2f5713e93d564486a5b1ee4a18454a6b7f28dfa4f3bd305f56a6184ba2e745a2724eadadc99cd130a3ed903316cb4f74f04c66bc7233ae28530f9b11f7af719a9ae2a56b3c9af4933875d948c00dc1c009b51c3e5e8a72566b0079cdb148ad8233824ff8e3f804b975d6b445ced3666b044cc66a3e908f0bb3fe81fd17d1eafc9d6b41c059778c44573491b5c2179f54f59c3312f43b95d9fc4c1d0c84033e964f3b4ced769cd4895e4d5198f444011e3d33ec1c59685edb42360e39e135bacb39c4e8356ff5215f2f95a57fc952bbfc48cf37abaa339f29fd1d377cb65ce8b19baffdb22294b753bef488e0488ccef9a94477bbae97dfb549ffdf815caac1266cb71e8985aeaf01ef7d8dc3b7e425f9072b8230863a303599c9496b0af978fc20d7bdd88c6ec2d2e973906ee18ac27338a803cc4c80c5568a3d620f430300646a84223848379fcb416b89e4fa95c8870c8103222da5351e0ff18ee04743aaa22588dec984a74defa7239c3701f765ba79af080b0f09f0a41cdd914b5145ba7c843678b7a9c27ea053877be45695b9d140f7d5a182403ab18296dde1aaab4bdfad6e862112b672dfc5ab4d74d22257a644303eeea8882a391a92c3a28c0468fc904a6c2b05a93f225c82c56af03b2cf6f387eea4a6461a46f2a310234eba1503c23c1b06900e5396961c38f602c12ee715123052970803783014ce050e10d8c10c0c038cf02635000078bf050f5d576f0658ab6575d850bfc68e196c5c4b40015ecc18bc5adb1aaf1a28c050b20aac21359158e971243089cb9f0196f0a42e349e62237efcf3cd733340f52f26b4537ef143a4b03e8b15e3e246c75537c2aff7624d83e53fe7ebdd19d619fe977f48630622e161727275e7cad734fb68e132fc57a18ad87863cb08ce9c569ffcd6a03602e04f4483944258591568ebc2c11166868f73a6981b3cd2d7cbfcc6210aa76eee2618e8e1297a0460752caa4e97c166821ef24de5058f2d27be91d1bc00649d9e6cfd44b425e5681e14a44f729866dd833ec3caab1ebb6295460d0c92da1bc4e55e9b143a7f866bdc1c790814c01a57433ef4022f91261d4be4311c201337d94d9998f252926ae7c136bac468a134a17473adfa957ff5e57cf6c78e74ad7fb888e8748b69b31c810626f1e28c50df400a5f826ae3bd7808ea3dfd8cad237f80b4a3fbe566823c2dee726c205b20c4f079ce3ce75da5eeb4e7ac71a913cae606e05cee5db232b65c88fcec15d054d2b3658f813ea0c91e0a1f652cbe701c6e883b0a28651efa08f17fa60748b66085aeea3bd7667ad73c5666747cf9367e22d577a21e30232ed91334b1144b50d318a6947c4dcb206d4ed5dd8d3239180bdc502776ff4679af2d28c86b3af8d1b6b64bbd56f6765b396921ae87be1da7289a2bcae9e2a9e8a840f709f64495d925089b77772af8b855df8a7858e33b9a616d1cdf3da07242260d29ce88472ca3c26188a3f2b04bb25f2a1f85771cc5651d176055695aeefb5e8065072dc741dbf04b8992ce3a3d13df096baf1a0edb871fd3ab1a1d8e8b974a895d465c4c8573099fa1a677448ffc008caa3ff59b860e21de4b377ac068f125278210b739263976a84ade90b7bf324e1171af8d18158f3e44682ec01de10f5d502b2c58da607611e71370ca955cdc46eb3e43df2dd499d85645a15d883072231594ec6e838f0d022311349c6b5b5fb1b4456f47cb3b65bc6be76b9f978e02076562fbc6fb1242a25be6370e86674f6aa6e6feb9a30bacef55660ec3e9c8b9915fc40e27661026c8b16f450b47384b72c1ec9b7f238bd53428ba7d89a638ae4dcc40d53ca88a7e9a9616c95335b50e5e91668c5a3ac1b00e85507ed27c1dd776162ef78642af8860ba2bbb27cc7c211ce6c5b47719761c8d91b9c57b395161d923b893f59c7fa236d4c536cf3c76d667a00169792641dde5928df6da9ca34c924bb9720318661995070f27fa5fa8b501475d0013a87114f79f3ee5f22b2485a476e7960233001df27f89dc4ff1e36cb29f85b410ad7af4215bd94e917cafdd32ca2a3b7b908dd2f0227fc95a1a191622e04a3bf08c71bd413db707237d5c8fe289be05c46d9a4367de9ed7949ad106c95c0a2a44b93932e0fd6be59162fca913e3a56119d9c9be9974219185f7069386bc84f14f511168532e3fa99468c1cdbb0dce3458a52ccd042b98b805547d3e82ec6bd87fe71ef502b284fea84cc3258c70ff523ccbd4dc79a2926a287f509c8409c21d46289d1a51bc4e07237550ae245fdd270c33add1d21943ca97043f4232ea453571a13d17504c601cd1564e9857380f0f6ba4cc25ec7de1d8360c01a62ab031f0f1696d6bd535c2e6cda54017802fc4e9c73878f0b60caff8144c4065d0cda7339ad3080525119a232e5a7e98ff437cb5e9f18dddf451072b43ce3bb30ca0ba7643740f641cd225e55c38750cbf4f8c1489ea4ac52fb2ea1c82112b414900918198b77eaa588f51e5cae2562a617ffa12c3c2709ff673fb4c695e19b3405a473e7245b7f65e6f4b78e57c7a38e8dd63337fada25cae1e0e68b4a7c53269de4e168261590d705112c62c5d4f74ea763947d026218f25810755bd6fd65100a47a474dd8793d3e33768c334fa440c44cada6a76d0d5268b151c2f6896aaf26fb9dda3c1dc2cb13a4340d0f8a6e40547b0f894d41512e6044fbf7bc8b68a33aab5440050233371b1b466e634e1821d800a6c04031a0006675a300c3b4e0755bdf136a3be205d237346cbb3c40838902ab4b12c1477af7dee9142f53e42367623b12e610c3300115d1c37f78fc2cc271475f5771516455996db8cec30e9e9067636a5065ae5b5f84948db72ef2db7942925290378066e0639064446b3ca347222a379a5681ab9731b25328a57625134daba5494e283775c149a2285a6685068fd6e4f2e0a4dd1a4a06ca771a9548aa6a3ac49490c8a4189189beadc4695c4a0d9346390365335e501f5a73c11f87a3edc7342ebf0279d50c4c632b8f075e00749e2061e78b31f23a853abe5d0055db23b41e505c5e179435a3e4f7d42f7d824b5c230f4238dcf715bf763040a1befb81f23130976a9a95fe301d1aff144e0ab3d841e40ca6d3e2f5790b8013f017ce09f5a710929729b6beed874956bc52eec4a6217bf17915c41a6cf6b0639a134de541c173ba6ca3e641dcc89f54716767eb55d975b3007f630570c5eb0f1bb3530c8215e01c6c2ef2e4c6a630d15fc5180346cec2f6ce38c1ba3bdc41831523736295283cc10677849030a1f60710d0c9869c3092f4c39f0d02d37daa01939e1881137fe039827d5440822a860e9620d29333060f195744f932855d0b0000e476c91610b58fc1598875ae1cfd3377e1c52bad1def8514a248a45f1e3952c6dccae7c679e1c57fe8c87367258b1c69ce0f633ad604c14973f8699544747880e5fb0d1350eebf4afaad4664f3ea24468480a7f56b66eeefb5788dceb47c268884f14b9d5e08003141bb31140810f65b8f1e353db7188d6405150a2c24c7e74581493746351bc12b3c4a3ee79691f1b16c728712377638cd1c6ed638489f972b7f7ed57cf334bbd8d6a9aa689c901485bc9136c71e5113029a53cc10e40f2ef4582753355b9bd451253d2ed35b2b8fd39fd2e368a6eff0e106c587183dc56a3cb6d0b888c38621b9b6c91d6d0b5e37cf82e2a1b3651253f45a00728748f7f0b59ef9f2d49fd83f70d0bc24f1d8adc5dd8742009fa333b0224a8bb1294eb4fb5c4f885e9faf5d72815dd671c5dff0d249db1c60d73fde78a09f712bca041093a709d0a5809dcb85e82eb2f7f8a150dd7fdab55e17c8e6be73a19433186ebef13e407042245cac0c0f5371205ccbf0147aeb84f60fe499470e15d4f1a638cebcf84797664625caf40e802d77b688738a58c2a0e93ccd0e23a09ae70e0567193c0345d87483ebbe28375e20b07d2e080169e1d7a7b011a5f5ceec8c88f317eac86cd2ac291f96352047cf819d13e7e4ce2df23ef6275a3f080a5f9da1b99af7d4c8a80b0fe8ccc6712fd080a4a56f81f8edf5274c06019d1d11152c3173b2e84e9611fd0e5df3aad2e7ab7a36ef471a1ec96df4cf29dc859638da7cf4b16ddcea407206408af740f2bb2a2b76d97b6b4cff59505c0b9deb57894e4f910d195ed3d7af4f8e3458ed49692248efaf76a1d87c19c440fe84574a5288b0f9038f45a6aa64352c27728b15b6b291446d08576c5b9fca5908ffc1fe641c6c2ff980f11e6915f10213ecc13652cfa4cee5c61a7c846285f1462970b7ac08257feb7945b8784fb69b9f7efbaf73a8e9bd123e8d4e9e974fa624fbd3dfa1e6be1ce78e9179b0f812617c64b63efeedd53ee29f7c520da8a42ec92bf5364572a76492e6e4ba4f0a30c2b7f43029f4a24f0e56fda17dbde8bddac4bf0665d3fe6821526402259d2c2d51ede8eb570973c049a5c17c14bf0fea737af0561ac09d5b48f5a66a2fe2510e84ef551dea3bc6701f595e6b2240ae57d2c78a92bdf84faa837c1fb13eaeb9b80fa5cdfaa75fa4d38799feda416760515d8d5bf82085a2c7c2f9e6211eabb1b36845ddba77e2f98908d41261582e0c37f17dc80851f73cb2e9612ee893520dd3c91c2817be0aca392d555e9ba48a464052616c0faa350c48147bbfd714a5127ff0593c2c0e1f603617ee8911000d98a7d27bb2fd6e25a2bf883be6f2d0a94c394abb947268639bdb167a58339dd8a5df24719d65ffbf81d8ea4f4e1b74a5a127363aa2bdf99a7c3f922202f12ede14b293b4973401e15bb56a7be3738aabeb3c50a617bf65a2cda269c3a01f551df0afef03f79da7b4c0579e1b3fc37d66cb1fc394dd616cb6508f14edf29b2382b764911b4d8f831d57b09e69c3b3158967c8e4dfc3bbada32084389c671efbf826bcff1c3c0b0ed35eeddbd7377afef1fa55cf957ff1439e230186c0c32a9a06405cbec4f6828140270b07c21ab84f9fd26c8a72d6ebd5a47fb6e25410132b9941f8be5c76a1658ccea6f09acc90d67883420c4440f3c4c51400c1a78e38b1a5594f8e1bde573b908b8245e2bf221ac1f7ef4e6e8c4c992941b7b6d4b4b4375ccd20c302cc9504fec46c676616b09b82cd6cdd82e60b92fbc301685058a074bb30427855d55e1b4b0740a0a06abe580221ae294ec7661921719bc295e5c382d81f1463dc26a172681d10429184c5b0b67451dce024480b19a55c0997bc13d2ffe4804c4e58f556291160e97268c3f424141065641b8079e49e23233f37f8eeb05847b6297abfa1f602a55501b57a5642d4d7deae5ab958c068d94c5b9f68525ae7d94076451f6e48252f4a14c0c59c03c2fd5c6ad0f7b084043952d41b0ee37d803615d4a0a9899cbbd8a537242c5e5381996dfe104d1dd362d30fa957950d0c6a5af5aa5c08a4b1fe70da24b4770e91b632efd1de6d1e0521420f1825c6a905d2beefc764276a53c23ebb64c34593c04948789682687fbc1f59c57801737744089ca0e5418c1586488f162036d34e1441350d8a001eae8c698cbcfdf48b8c1c58eebcf5a0481d479d0f59719a43b93982ebf4721629e0bae2cf18c8f18a97b3466ba429838027b07cbce1980fd030dcbeaf99cf62c685b2c3fbcf1c662d2e56728cc03933ac0c6651a1c8e2e3f4b611ed4e5e729592e7316ae7edec742112c784cd43dddf347a60e40b9fcb1c90d294145c430467483a82fbfbb5724c8fbe2d1f7e309cb7dddc76afa2cccdfde0416b498dd7ebe09f4b52241306c1f0cf43b323fd83a1c9bd8c58f801dac5f18c544a6202c177d5c855dfc2274b1f1ad12e8413fc3306e8c89c2b04c047fb48c098b8d4d62d81502179b6272a64e747389792eb8f22313f388e9a6fc250094b1114c1c835df245e862290b61c23e8db2224a56f811d23dfe122e5d29594be2dd625cfa8186e53e264518e9ee6352b124e184118cfb68ebc88fbf15a1c525f9118cfcc8047b9a3829d344501a3bc070822f30f9b109f620f9b2a465042e0499c10126e785fe26acd018136406ac7907dbd7c9e52b120cf55286cb8dbdb8223ba9d8b03c710aa3046a063bb1d030ca10818a22882dc9521f9e94b900aa8cdd2e4cf222863143659e6c489479218a2633a818b8272ccd19358c1714192eb8345dd14414463469f1866802816685a268678479b8587763f4f402d25444c79f8f50130f35454d504e4b4db24a840a24326b1099824c191d912d4964b8dc10b1e20a19273c221a263246d454514486071c448e96c8403911a942066656c5600122470acbba30098b10931199ee066b2f4c3252324a3ac3684bc7c5d65c98648444f782d110678c74b8b93029cb909ca22b724273ece1e8beb2614631758fa35bc5cc35cc4c9362b6daecee6e6d7677777bcc5cbf6366ee37aa314cfa264b66f6d6a6bb7364e66e6d3233f333330e550d8dcd69870430dab04ddbb88dc4e1da5a3fad63ad9c2ae93db51a8dd2d02db57196b3e9ec516753b71f78543dcf3bd513aa4359cea6b6140df5a6a9d16c8d8d2a6a1e7010c3e072343a2efc8f61dcc2c694b754e1902fbd71d8b8cd4dcbf7ef9ffdc899cf7a7663b3e2247fbb9274c62e59f5de729523e6b0d101ffc7f2cfffec67a6e3e6077a009734d040178b31d25cd940de29f85541deca2e68a7cf4bf322fccc40d8c5b4c208590980307f2670069340bf04fc53d79de30f0379b7c04d98b7301d644fcd4a535cadf084332cf412c595eb250a222f5108f5c09cede135c23218f73429a7e99acee66695835521f39c6ced9c6687aae31c078f1b6e6bd9b2dd6feaca03ea87ad98acb0159bd7396fbd850d1b42d8aab1bb3fe6b06143082be8c1a3e3dcddfd73fce3b622ee40dc5dddddddc302b760a33eafd681b265cbf6f6660df19c8dd1ddba3bedbca7bb6bd35dbabbc3769fad49964840573a20037255ac58d9ac2cd17ca087a5252b4b569696ac2c8120721d4575bf45c5211a851aa2bb7bca4d6a9adc3ab97559b6704b705b3adf3ab9853b8a336ecba7711285ea6eea364ab78ef379c1b8751c9191564533924446da9522cd48ca8edb625134929fe4badab5e3b48e1dbd28348542f149a96bdda414652b95dd46e9d671738ab1a9b2e3b6a9cda9a1ac947ea2285bb9cea576b2a821e47c6d4e6f7adbf7f65ddca4e6d39bd373006afbce9e3ee83dd771f5c7081436ced588f4634443eab27db2db28dd3a0e25b7b96313bb41349f9716a47648539b53fb4ea8e9630728db6bb7d7aadc3fde75ad22ad3342dc3c20cff34e9a4ff1030d007bbaef3e0aada0282be5dca8d6b52cacfbb8eda39f66ad4d79f479712e1a636c197ba552299ae652290f687e8ad6b07c760561d74e4e0e7dfada74e5b85c1ca5ffc5e617835d5eb6fbcbe735178d1b70eb2708d93d4468fce0c20df8bde8f232c0f6d37dc7646365e33439294a6ede9278215df195bf49e94de8f46896654bdc801f0ba75c962d5b5c62dbd255cef32c5bb6a359dc829a928b8804b5803da7e7af4612acaa1a367eaca2509188ed8b725bf1e3175f53690fa7166fb500c72b199861f9239194c82c74e37b7f2dc5b2936f4ab5eed668cb726bda47632e7f77291fb2ebe5e31e10fcee71419d0dbe5c2ca5461dd24f08d481efeed351681d4d7b29356f29d1be69854b40c3b8cf82d1cf7129ae98b031bf2b26ec578fd1630a7d9340a41bcdc41899a56c2971fa9373257baad8d5add97a63f5f29279b59665577c559df3fbbb964286c4fc3a7df7c1665629bbba0bc4b0318f3cb2b2ab6d66b76797898e4af9b07bb69ca3746f496431a2eab3ecf21f0daac4960a73c62ee4bb94106a5ffc1b3bb6546c5beeeeae05a4ad4369ec72a4f3cc77daf2dde5d7ae956bbd5eeb75eab0bf82ab737fb85b38765e214284793ea7c78333ee9841f881ab8d8a236ecb02e8d259c0ed8f90e59e037f480b18c0b39c06c0a51a6ccbee67da3a906ad19987a0aabf77971ba51abdf4237d4aa9bff6b9c792b8bc772092c984644232994c26139209c96432994c48262493c964322199904c26932511b1a669149852931a75baf526f37975c710cc2d6a1d5ea17b28132981d5960950478271e55358c6953cc42dae14e2f6c71700fc219fe70016fce02216c0081630a083add3858d3fb5c9b3c9aa9916a62e59d88916208864141e60f0a14d125a200146092664208a4284985914279c18a24189a3ee61ae620a9526981b3e440103ebd80734cc20c1d88a2560dc622a5c8c9002eb64b39411ba94f6f4320a0f306e45335c083183b5d0314281d20509f950876cea4225a11ab61b2c2a05db197b624ac29ec44035d1a58829ec92f52e5492210914174b73a1920c4549f07032b2a70b9564806245a2c02ac9e0a4e3a62c9e188f33535497549b1b451d171b2523857baec2d38890391364679c9923a3eac65110a7324517b0658494627852cb24a5a0bad124064ed392152e58d0a084651579c1a156000442419ca16a60611a438ccd0c962cc458d48549589e80028b11162b56cee85c3e3efd6f2dbba40e533233f394cc5332334fc9ecececdceddd3507b7a61a9c50daeecf9f193233333333334ff9f1b31665bd99b99e9a6b9e7491dbe5d42aad5b477d66ff41cbff53db384ee3baadab94564ff34ef38492a86a9d7dfe3bb73545ff5dff5c8a869dc6bf75d87e4d55c177586f574f0f7ff0ffcf3c10705b3935aeeb8e91a37f31ff7657396dddaefbd49dbc110a70e1c9f32a4dd754af1d8e69d3691db7e286b086346c8e2f01ee8eddb1fb2bc2abf859e68d0c2e6e0cddddbd5b9b0e44048410423a1d88888e790c4208a1a4b117101110420839ef8fb9bb43ee850a692e12f9edee2d3d5611ae7b0aa126e403db286c7b211f18f79d46378ede8a751e457153a2e6bb739cef3685a305e79c2a1c35104208a12a55d30ffd43d2311c31d6ddaa58bc3e5bb1d6753ae79c734e1bf80e218e25ab3bbfbbb9fddd8d4faabd04a86baef957846a354b548208834a0aa850a11206152a548208830a950d5009e24ce4d8dd2e67cff6a2d1d46811870d8dab1c3ab6d8b2a7d47a08a9f5f75ea6ec80e6941d3bced91ea59c5d376b9552d368a494386c6c6e6e6e640e1d3a582c568c9aa4bd63078fa6f2ebd1232727476adf5d503bfaf0d12e974782ab768c9aa433830ce6cea452ebd83da7ece9df32768c530e71a66b00bb986a1ed009491bc7711d478d14814484548f82f0e39db4203e3ea71985645146239017caca1d17f37c2ae501c94fd134d58ec88d49dc806542fc47ba27426126f183e8e4853351c67934b08655d6aa5856d9c54f691ce264957baebe11598bb1bb5dce96926e1e6357e50965ffdf25af9434351a0ee6d1625ce5a8344a2971703c207f9c0a76300fd771395a7771e443dec1891fb41e480ff8837f7e38973fcaefc5682923fcd12ce4681f011f716a75464df3766d72957a9a945dcf094c12bcb6bba64929254d95ee9ac5516b70d8d8dc549b9b9b1b6e01e826870e1dacaa83c562e5a8a0b22aa87287dcc1a3ee903c78f0a8b2020fe8bf1e3d726a8f9c9c9c1abf0b6ace053ea20f57f5115d2e578d1760505d18d4969f81cc60a766d03b3b3bb53178550dbcf9ddabc6f800881fdc0000de10bf00f04870862e3927c001071cd4f8e22000f5bfc5b53c6f49bc0f990709870c93a54a3070a9e90e13e4c4e57723cf92861db2f47b21e9f2f7180d260d3b74646988940391aa4011a40e3a4a01e920c492125f9490c20b0fb27264022bc8b0a2070722550198180e43fefee603e6b5d4ae7885bb7eedf6d5bfeb5ee0c5c66f712d0f685a696f2c52a992b837440583555c9805ece2c28fb009d8f635813171e377a4bc51b9cd5465589d3311030bd8584590d52e54a2e1ca92853f2f4c52820afb8552942a3955a8ada1512a502391b4284eac9730c3b4614ceda22b6cc9b0250881198195628396550932ccb856400d24505c68f940115aac6c4768c1c0155aa47c84c2c8c1742962767b2045a864c31197e765a6585cfe1d20defda9785cf74f5571228fdbe3c61e378ef9094d10e6ba7f9311630d4b5c7f7fa607c062e3c780441ad4a0355cffea4a50906e074a35cc1080ebfed45e3ee2fa83c03cf2fa0be1a6db4fd9081bffe3149d082eecf1b59ec78e0a70583a72ac6e6c70a86a68521675f26ac76d549bd29b6938bad00b41cbe9c1a7d8047a7cad3ec528709fc70e3fc598dcfece775480c3d2214f311674e458ddd8e098a7a99d624db88dd2539f90c4ef6f044c251a88ae7fbfa094eeedd0dd5b21742a2ba358a844947463f5c24fc52eee617b57ff20bc61e3c3dadd1fc4fa870320c3715df24b6f487bcb4990d73f183780945d2f76c1f8c6ed08d0db1dbfa316d4ad906c7cc8ccccac217df9bb07a5274b973f3275303261a1d213a6ce22911f631d817f3e7b234ce0c6dbd2e10fff62f11d491c42cd670d91b2090739a5d1a851aad1a8719422d1ac949b44a27d3cd0034821d782defc466099ec42f901d8ce11e6694d6bc00eabff013e57df0f25946c3f4681dbd2ef13a43b595efe26173281a0eb56ccc31ac2df7c9bc5df44c52ef864762392f9fc597ef9f2ab178ec0373afc2161088ec43fd610fe96de52f68fa1199254618ea448ef2759bc8853644e22ccc31e2ce5882174f977801071f97d7edab8fc20288531654aa74a4b60ac5218439165b21bbd212c7372fb6314f046889f539c159bf14ade3e97574ca109b604f1a47156ab9f26317c19f3c3163f9451020a8c958610c1132621c010825ef185fd9246eb8a3267c8edcbacb7316c905f9ed888fc08e1ad8933c10f08ecda3105d21b524839628c128cbb88b9018a2c8410234514d7e1cb13ff62830f31c478c402cc0ff267f5054be7629c39390870f6d3b3825a70b100172e623439fd204efc6239ab3097dfa9855a28cdc04457eff20b9566e87263af2ea8833931883482ff0fa5957b7088600f0bc69f5354058cff05847968947a905dfe2020506d42ff56ece225589bf235f93547f6fe1f92ba18e3c687303ecf8d0bad6b6d1102b09873eec8eba23e3a40974625850efb6b6fe952fa092ef85a94377073737333779cf30bd2dea6096d8691cc3c27c718233b3b3bfb6cd6a720af0af287794c07414829ad7057d88503a4685077082184910b334f6049032e9681a8b56a10021b3b400e492ad09cdfaae754b5aa5acaaeb8faa1831fa4942d6507405848c3a7e2d72c654a57abca2396c4a5e46f1c38309a734e295f454a299dbb318f45e04eee7ec04e64f7edafb9d1c21fcc01026ca997ca8a1ac802519220c6a317a4b5a6157b6b6e8dc6303e811760946164670a0378a95d5d70cad2eb4470e10a23dbddb56b8c6aa002619794524a495ba775bdbbdd5bd7ff2271b724008087ae3f809995fdf372445dcc235fa141087c98b14d5d55ddabd76abbe89abb7dcc90b2e7b532e5851e9015a187cdaf859c8e51e88bc6fa353a5dad23b566cb2ef67e77ef49e44e20970047b53a9dfd4db048241bab4c5ffb6273cef9a9d8c51b6d792b9682bc4924d1f58f3e1b2ad4fe98bb7cf74fc5ae961ffcd8a249aa94b78a8e4e6bfc98c7afba0655e295eeac22f20b828161f2e7b34e9700f2c900c698b376759ae49502bd4918e97a4048177d00a1123ad63067c559497729fbab9647fef43a7dcae6946c744064a5943048a9ddbe518aee38e3dc9ee3f6d54f46299fd929f740a95b5b5b9757aa56ebe648c98f76defe10e6ed6fddf87c4402f75adddde60b1bdf8b04cd0f360c1a4c7eb075980ac7eef81d1f49b3942a29e5ecda57d834319db210fc113f5e1c777e29f84d028f5250ddfe92bc2e6739733be8f67380a53be8c6e8411995caaa545cadbcfd2d691ce08ff838b73f15f8be54e01b44889126374907dd4824a35fc011b03400237c68edbad6f680faa3270486e92f67a73fd690f6ab6257fca64d6e9396a1bbfff28a7e3166aedc5231afaa5571b311b0c6f8734e2449baca65e2456c84376cacb28668efafbd7f8c3fff43129eb5a8048d5b28b16333030004900053160000180c0c870322915090c48aa6a8071480106c8a42685c309707436112c32888628c31c610000000c420429071a8866c00f08f06d8448a913d839594ca2ec561531929e5c973e6e3b13988083d3b954f691e229c7f16cac5c575dcadf95d7affb3eb92263a4d8a6893eb0a0499b8bce6969213c9a2ebba03df8bfad5f5c707a80b4316682f51a7a6d80fa0f52df0b2a2d572226ee90eeb1badf4db20f55e2c0c1354f96ceb3c2400470050fd80038628a538faf844639e93066ebe0244950d99217151c24fc74ea46ba443a76f64a51186c561710afeaaa27aefbb458ec2ebce15b734e0d26ed6277438164e0c98bc22657282e37e84984365cb7ac79f7a601e1acc08f8d4fe449acc8d255cc7f771e3d6ba1592f7636c6978c15f9c8827059e9d0f8f3abc3d4d492ee1bbe735d9829810bf4ea154cf2ad88edc3088afa15e833069548fda4af11b3982cdb20da44f4f65f1687a9072b56dc56f8ba9196cfb808c689e818b44da0814eed40dc8733a4f8dda783d0063d7d8d166afe6c5db0449bad0d9ecb3bb5c227357dae83622419169a735ba05eb26e9f686bf3c3ca0817a9c4c9341990213db7b9874fb1a4c5112619f24e8d7e896197edf7618eac9002f0814926ecd8136f0603bbd187afee2d2326e0386970110416da15a9609f326c6d90ae64d02e583019cab401ee29f55e1da53307e01ea138e29391e33d53f660413cf59f5a811c4e93941dcc55249233b8396fc4f71134088b84c3e66bdd1e0a857107d83136d9db9efb7e048e263a224e4b91c3dcdca5f2d846f2cdb5cc2d11af9523f22126c0295ad073333573b9e8c03219b27862a079142cbf4e915e19acb3c24338fdf2e0d287de4bee471076e430425ec0bd1befb597eab93e77234664b39ad4e68917ddc51841c10d75656e7c1368d1b1fbd1f41035c479c73d8c4dd6732c839884cf90db4658655613e9e1dab409fb727a341316241e5061d7ced1a2b698f5f25dde45f15de2aed994979aff2abb45f28a9626b6bf3ffce5c6a469c3dacb43ac353c3590a03e50d57a9df3c098867a6fafa78feef8bd6c7957824cbfc0ca1c44d0c202cad7612e96d738d676a82af96f8dfefac0b4cddab4d79170ca5120f1ccbc167b09cb66704c32192c6e56fe01163314ff3bbf1ee9f7166338ae2af3fad6aa831e6afd653629722f5957d8ae9d451fc82534793dd5408334c1716420087f9a5138482948cb807cb6df5d695d98c087372136dd0463b7162ec13026ad5d511c3aa7457d240a54ceb7606d9d2a56ae9126a4acaea9820055ff6e2f8b66c20cf6804fe2fd11cef6b704368fcc974033018b5aa0cbbadf441f9ba303cd74a787fb6e56e61467a5e5bd944f7e4b72ab58a3aaa350af58a3a94750a75553594752a6a1575947514ea1575a86b14ea01d53c9bcf51ca8a56d02bdbdf7dc31a81a077070f7cb786c68e0a5b2e1abd964b9bdee901c0a790f2847d5abfa500d9e20f8a055adfcc639065b83694c2bb7d4b4234b23e5b98a8a6323e76f68b4d931218889b3268b636fdfc6e3f3baec9e4713444fb06e802e8939af327c22e6a80c5fdae0323bd6da9cfca09ce35201493971fbb6c11a608ea810871fd5d521b39f849972860d995ce5c77954ddd352e07414578b6b61a03a4ad5493fc309a636b4af2039ff097eafcfc468a01d0908de9ec353e6abfdc3d2a84960724520c6fbde664cc5e84e3fa8dc123396a614142097e3c4e23be966889fb6b307fa37bc01ce48af1dd554e671a0fa8751e91251f88ff74d0e916b7d645fb9f1b2a5a1e7dbf86faed1a84dcd565fa057336e4dcb5d6349bdf79c333d4f23b62a721396f128b9982f35c0a2b62248d5bf911cd5e6691c6c7e799d7c634bde17cc2f21c843071ff4ee229a6d6184ebb20d1a6465d8b00d071d630d286f6ae2dfe63767ff8eedb630f275b622040db007bd7c048b514a6dbc8e0b45cc2c74a2558edaac1fe3dd42febbab73da2189b11426eee5eb56459f0ac2f28aa393a92b965f44cb38b27ca28dc246debb4b58900a7af94a7d1125742412bff48899156f31d6c20f2b21e602c1fca8018ba269edc0330b230eccc3ce6b1b28c81a621ea5122406c1f60711d807788b9f64b63a7e768a9009827d6be8a7f8c58c3e17e231a2ad03794f32067fe103a82301409f73006a908d6a642aea58afa412d4deeeb68e7742186ca3cbe495dd6fa6e531a3ff5ee564cdb3a9079202228f30e9a6f6e41a4a0a1c64a5e5460d8663bdd5117f7588444480993de8936c3f49de5658d347ebf803e766540334d6abbac941efac0a6f8133c476cc58687789603eea5e181a25fa3e433d96040527498f1a896651615e5a39bffce67c4aa333a918483874d09fb64382625f50bff196e8c7cffc446fdf9c4f2b19822f5bc584cf39451db3493c282f92b41708d3df6f0fa1c8e2aef6c337926cd27cf282cc7c894c75b16d15ef3a4178475c3b921e454c0c9c481e1f22cf82e5fce5ada805dec61fd70697af733d791271a24bd7f216b1416592f59e9d47c90decb2046431723aa5f54866b94d96117271bf169db156c09f69d7e42c8331453c87bb4d3e647bdc733e305b688a43449b2c5f18994ba401811cfc719805928d2fb9deb6fedeb2f859e1567ea0edcc0ea9671abb565693eb8f08ecd76b7a4b96d7780e8ad4a6866d319a4cdd6f83994128590e1c6de86709a0ce66c8d03dbca1e8731e4ffb72089818d0c8724e69a586cc04fee1b1c618db1d831e40b46970c527bc06dc087c04d31dc83443ae223b49cfc9ed61eededcc2202bae6012119005aeda4ad1cf99281b88ed654470d585e8ca733d3a2259bd6218e16a0805aa5738d50395ddd86066b059c7001fc75c57bbb49ad828b83046302669d70a0b14e6ff24447ab58c01370bf02424629680cc8242b67043e79c91418e9b7ef2b12f10f68820932b75652a88d17269f2313c0f48d963958c7221157f2454854b292960c164dddf3149a0741d3aaf32399416a3943624fc6560961dbbced7d375a5502a3091bd6e4ffbf92fafd8f34306ba6aa07fae659c25092cfb3efe41183427f902b6904e5ac14686ee87d63a4a1405708c1a4b9455cac1bb4b0e76cc8fde37a3a0d256c5421c101d5256b8c177c6c995048d55397849ece606f6f97e2201f0304a818ce218407cc7355932d5d213dca7dd44b0958c481a7b8c46d1081369d142c5ca19708f4f4b9236ea1ab983f6333b9511af6eaeabd852f11424b229ab4958bf14dd125c10145c86fc5c050b463beda0e544f7663f3092136336415dbc3b57b92de63b765619ed8a4c1313852ec7f7c9a1d5d529dedd9054ff19d3b28570d87dc160385ed64b65b859a55a4ad84077161de596bc1f5001ba41f51fd0df05b181f5eeb0123b024b0a68cd614b3684b5706a3d204432d01bb639dbe942e847b0e68d2270729c0120808a186657a782ff919584797b738b9c3e3b553e1d777c7ab77230906c15a581a5842b205266561581b537b89e317508779247fb2015ea88dd7fee88d131aa8930f5342ef200703e95fe389d7a91eb8c32931089613e5c72101faaef9b5bc448b1321475fcdb9a7a91da96928f3a5d65eaab86c5d744da8a8971d7f99bbf865bae4df378f94ce889f747e4f596a976f3c025284c5231bbb6ec7fd9511a85294f7e5b822ba9fd8482ebeddeb21ff8512eba08491027bceca1e92c063a215200eacf28851fb1a958c18e2a32804c47309359ac2de8213e0137e6ef187b448b6bd9a1b0b0fb06bfe315e956fb1fc236641b3e0e11dd0fd9f8958a589ee806030dd9f41bc45f49457af8ba09f9c7eef891f866409025e29c1db18ae0b38cb0a095acdef3a0e58822c111dc2891f6ce0786548de75c0a8bcc5ddac3dc13ce2b2cc5468d0f5af3e36410c95777135639203b523d9a301c19f4590d612b0564f88bc272fefe7e1f87b168e712beaf5dad5b6e351ae3ac98b85e58d9fc03ab5f0fb8fd293629cd419545d2db98fa8a3c0df073704b2242150b7b610f4cb02e355a3f62b5ea796f7781e71233c98d2cb018db83539392bc2bdf370e37d19e3760ca02e84dc03af7e4bc25bc8036f866f9a7f3b80dbb6c40052c2f480c8ff9d86f17ed3298c504f942e3858a4499ad23323cac53fba64e4bf343f87f61a616de89ade063c8c71e244dbf633511d90efc47e59a1ac8bbe2615925d3baec55092b1a0515382bebb103120ac1e7c82c8a9cf2f09f997bb0b49864d3e02e3efee51fe08e39c0e158d5d17b2eb536cec06dc628abaf872c0e60c2bdc8415344bca3fcc5a87f49d4637d908f5c5a1de098752ec8ffef3f6122044c78b1ea0dadba5030e3d214351c8f5015b290f6940659be3dc46173142d737ee702781ae70dcd1258fc9f3b4082b6e866b077ffc1a6695ecbd82e015c72de96a7b063af2d95ac51afdace5f4c461cd88649f1f1b5949f9f53add2cb0b269f2f122c732e7882900ea374059f6d18a69ebeb6a5f3074170820ff0fd7f2759e070b90ac85ef778b2433b9e0a753219d03066d495980901a0cba0a175640c4ed950d318aae705781eb28451db0552c43b7074fad661ad28c6fa740f1566cc6f3b13299deb3343fcc8cdad6cb1179db84c66a30e1da64dd08c3162bdc6d0f4e0c7681e36c3c83f808c19537c3e6e44896e8186409e84e04cba2842ee12ba39682da0e3dfe3da53d103e7280be30031a8b7b6ef7c8040b4a28f863c2f457c5763d18b08bd3f25e403786d9ab8f96431de7a8e81d2cbd7eb0a00ae945fd6e43e0a5608f889c3c9da4d5cec6e609786838195b37eceb0d270289f8fa1defa96152cfe3e97a305e11316d4d87d3f4066ced18005d0d3582f4fbd2edd9a1f69fed6a534a861c27cd1a4ccfaaf6d742a11165d0a304db9551afb8e4c49c031e3bdfe1c730ebb0febef233008aae0efbf5c052ecc4c5291389b17dc4e52dedbca075bd923c3e78f938c13a0d3404d513d9cca6100b47478ae9448cf2e37e599923fe4c515901cf8e5efea6c5b4f83af7f0792fbbb739de003ec2c6831e4f13be12cae1f5c09b9dad5b6e274c9bd830ee0168aea1b15e42cb93500a5b3facf8583068f0227f1647f11ac66697d7142cc19aee90d78f620e7746547cfb95316697a58bb8f62b549f970b2dbd8a0674ebf2da5340d90c2f1b7db71f3eeb71f42b0a55b7bdf4f5944331afbd01f132e14a86b2ee5613db88a85dbb7f300ce75fe6e8f3e638453b7bdc9902f290a037e904f329182a362ac7b1367c682cbe2c1ae083400348e47dd5444e65e989d2afab86e3260f6f6c28750b7ed05696fc075d8740e9a99cfbd80d915762bc07a358421085a3a08ef8f9a5b6a83ed391c219242059a6d4d013a71bb1c2553cf1993958084831a882ffd5eea811d3aa03a423491242914ac300d2b74510024c5fbbab008570e75e18a4062d0e3e1b4bf6b6c86316d60078e7678065537248ae991f900a071afb9bb29260cd74fc5c1b073d2fbc059cd5db0da0383739b025713522f72e0fa214936f775be5e291f521e422610470fa4efdc596ea3f9b5d6354b406ca75d608cdbe692bf6ad7a533c80fc33dabf0b3c4c2ceff69c19fde1d64c86f023d2701aa344981d82b200897b87c01441356911d9ef37e222f29d021c615324253bc80506a86b939777139b1263d8af716b9dc8f9a77cbb2401c2b82ae8e4a0b74edf96b69c4d0d9f291a17c58525c09805f1dd9bbccaf1de0dc5c6d527d021ba7f3ff3da0266e8865e7aac3e0c9ade6b890493cd61bb1c3807f2664d265270cefec7d7773a9cc6b83545956b1a7aa5352d5330598e1a5e9d607df2eeab65091860d3731687089491b7191014680835507a1de33bb8863de03ef13802fe40a36e22e0d8f1bb36655ccecb6062cca77d2e70048d9dfd3005e03806fbb86cc2bf9d756c3c28b7b84cf716355b820f7b0579c441bf847e0f63670ae5da0c9951ce3f98cd2c73a39c73e618a271aaeb48ebbcf245a56dfdb662b79afa08cc578e974d3ed8ccb3684bed10c4fa8107f045f6905d391a950d7d42832171019477f183ed15807272ea0a2cfdbe070b203540d747974be5544e6928cdd7fe3421724dd8aa7be1778b8683ccd6b98ec7b3a8ebbedd0ca8288b37551fc76f363e4a0533efeaef8a0494d2c1a7b0d9ab3ecb9b699761db9759ea46344d80e99627f4d1c2eb6d1666d67983e1c5549df5b1952dd1159a30130a3221fa164527232a3e710b7bfd8eb887a410284dff0170acf442b14e48100ebd80c7ac20ac622694ec4a1c0eb3e84272e50fd9767a6e2fcb1ec40cb9f6db92652b48998c3a64867b16ad716daa094d396f3c1bf7e6d1d8c267839ed8dd69b197c39de0f3e2b9f382aa1ea8bfc0f6668579e52e228fce93e0c43babacca785aea89783a2f8bf7c003ea364b68aa4c56ea365cc1dcc9bac3f5ec1a58a3df7e4c5a830ba53f2d181f694d6ad9a9d83f34fa5ed8adcd090435f4ba576dc03420b057851e3f70fb4d58bed677f3298159f954a50c52c0d534aeb056e87332f8d3098bc44cdb69372b4ab2bedb0159c2ede2c82a6b6a7416e960f67e30bf3319ee64c5757dc17cd24bae76d0de8cc611389cc3b140c2a038978b7d6b96010758134a1fca5388265ccc0db15446a98810e6a5089a61d0afd439a55708e48f5578357aac48338bd78af83302efd458107f1964442105be3fee3d6b370ddd8bbe541a33f6bdaff12341465776fd820dd152d447cd6574d4dc42e454a521d4b88b662356f3c7bb9176c7d0b49a1afa3f4a4dd870126bc752a03dc47982e240a307fc7a7ec94051df58dab1427a6d08ff19f0ac840f340e5be3c136c4e8d2e2a5116cd008848b41cd8969f1d1dbb10c3d393e26fc0041e9032c0cfdf69904eea1b31776e472da84528f4c62b2a7b8cab4aee380b3884629053a95d3241a4da6f51497f5ebf24bae0611cc69c2ea63e871959f9fb12f1c26f75f1198016f728bd1dc908f070f476e172fc8ecfe13609c86c20c6009cc8ec60c00e5725cc7795f2499175e1c4913b8196f133816f4b4d66e515c638944674654d6ec20d18ae7dffbe6c651676cf123cc6a6d01b1da88ad808469895174a315897f91a1a9018caf62d358848b2878e8c40c475480b3cf8f1a422785466b1b281b0be604465c9e01627705a61c60870d7b8d9621300a59568e1ecf31305decfbf6e99544918beb753275c970fd9ef0f1153e156f3811ebf28ca5382e0a702a5824cd09fb7ac1c44c020782a78492955ee05901fb16a15e4918058f1949a41b271940adc92243c414b3f7c9eb63befa5292facc6e2f612618cebe6e19ac965e1b08762042a0829aab9f718345d44e5d6da733003574738856b1ba070f967e8e5f91963b047c9e895e4312bdb36d788a852201bd9d447df473ec5f3dcfe888296626d0c0d038043af3183326ed5c8dfeca9d040b14039c9bd20fc8fabaf2d9d53d5784741d1e59025f0a498d86ab7b156a4a4dac8cb8263badc49c62f5025388ba8b0e50c16b5261bd0a693db2592a5352962ce61a8e054eeef22e95c764a43b41fcf35dffc8d60523f6dccfc853a5a5262e399cb0e5dc54da437651b3cba8050070f9ec78b97728439c1c0a64d4747f9cfd927705e673076cb523689d4e89e679982ac327a7129837930f7afdeebebef05924004f288cef77815bd806273196b7ae0c408010a1b853835853578aeda6965726129d74679e478c0babb6c987c46b7e4b365e9d359c4d28bc8253fa1130f0a9e867198e19ae1405a64f8dfd92c64e9edfc2fed85b425d025fa66e8326dcbcfdd8436fcc2b8b9a4c8ea344deeff5a239d7be58b71a57cbcd39d2eded652db86620b4ced55b797bb2d511b3cfe4faf8996a12472caaf7a3389cc3ed7fb6180b5a2b705077994829df83de8abfa4cf18aa6ec5311a9092e76cecd88ffae3a78ceffeeb39b41c94f729b16c46f9e9a6c31e8f4ae31c24068eae1fbab0d3515d641abd64ea67a64c0269eb03b1d2bca8c4fd0daf181069117cbc6379dc7e28d879b6aa7a735797a0a160bdfa66480ee8d6c2256a0635541751d9882c58f8f104a3bd827b6f8cdb19581d76b434fa9150433b52357ebc0526e1d71aeae7adad52c09cb92977252a7672230fcf6359b279d97a927467d9ca9aac565b15b0535b34b2c26f041109097313c59829fdd17a4516bb469a7598dbac0efda51ec89a4ab290f544b3284234fce2205aae01a6e647b87642080390eaaf5573456507a2bb1d51a7760a37fc9dd81645a5afb72a44d013b1f026ae12b899e12a881ecaf29fee176c63aae7146239595a81bb8b495c61a9ed20c53854b4d6ed7d5b7b44f15f0d0d8701c06c125d5fa5624e966a3adeb6bdbf09bf27ce5113a78e2a9684041c3049deca3a9dba2036ec4adeef998a37a934fdbf363f79a2b04ad05b499cd01ba0120402fd17098570ec145716e66ab2bdcde09d578cc54a611a2899b92d2cc17fc5b9069ba776dec60808578676efefcacdcb63958a465692c172178b2e93e0ec3ffce8bd6fb32d76e46bdcfa473be02672b357138692cea4337573c218e016d9898a82c7c8e664e3f9fc8df3aae9fd437cc430029294c64c098406d0e201d105310240bc66fcdc90e7443ac3c53f142e8d23cbcb25c1bde0c34a99288c872de289421473d547aef5462c0bccae8b6e48c45f7f2368d338fd69121badbe8ff652c19bae13de63f5bc6a8c13202aac0458d64e78d59a52f0c199ee4c6ac7555a498e53a535ca4549e6be2d44293c2466b99357aadad9b01b8ae110e336973900894a3e78e908660a5254d4a75b45581dc28d2dbb05d236d7ddf9c15a1e697659cc06366fcd629b13c35fcd7e7677ecfe863af16f66c1f91018db798f8d6bbb43f408ac55399ae49f0bd4ff0f7cbfdc08e7dce8237ea2436b4822be6a8ccf68bd852827c9f2e6a1d423e7b8961f17bdfacab489ae9d426284adb797a84b931585a1f0ee8fb3d284524f6935b6726aa3836e8122bcbf2490cf7295baad027a486fe0df4373c4414ff4f7537dd637a0edac61795529f1c65b8c46fdfbfd08d5aca81a22056250720624865a79f96718e2a8e17b880169811d403b0e9ced41701d063bd08ff86f15b98ee53eb3baedf23854c256939f08d10d33a1c19233141bde1baba915ab1872372965bc77732cfc7be0ca714543a2a5d296af27de352b6635383e60150bfc56bf3e643d32bd7485a50970d0f2effa1c7d78fcb4c999b28423c87a54d6f1d91523c25ce468e0f03517a5000ae3da85f4d58ec849b48f61cf1c5d8a13863434e6a9b27b2f05055c9bd359b0e6d6f048c2d08d165549f680250fc92a3eecf932d4c65ef9e7a6f5dda6393eaad389999fdc6a2cacfc32a8c75afb7fd3faa2cd391f6d4be77f825024bd93e5d83ca2d88e67bafa05d064c88a95141926193751887cd6a833b355ee8f59a1c55850b8b770d05bd3ffed335bd7fbc5678a0e52a43505a4ebd667e42a0386f1874edd3547ff704c6cb0ce0482e2b621c3d09241312f0d2ff96d609bf840aafebecef0208face6d253016443effd26c5096b072f9b742405e8064bbaa9b8c792d48bb348cba953ef4cee1f9359a768b50515c045fb5d41d4db78ddef182294bfe354cb5c17ed96399b5281ce72b804dbd6e720934089068cf1b8c7366ed3e14f7d200adaf86f98bc42803555a35f798b52b5c1130ce9c3e906c94a78f55693127bbca05c05c6c4972b59e5f319553f9a95860c59a0d35f302b3a4376985819ec94149bc1529b7d401f8df13e395e5b36fa88fce245e8917bc8ec472967e41563be9ada2bdb95dd56088b11a311e020ebfcf9d644f1b6df92d97615005e7ca04675257195f087b2a4ece87e241de008f21b3d42425c01975ac7d32bb5a30da6bcd26d41bd6ca171d11845cce9f1f1b4869f9f51e629be64a7cf2c8cef4eb125dbfccd8a91a72c0256fc66f33b9d6871654d1c61dcc34c38aeaa59c7cfbb5bcd69a8f89dca27dfc48db89c621329c4155ca7fa9229c204ae539be49bf8be87e7aecb80f5037f78ef0bdab3ea2627f279937a29c7ebff0fae7b9501be7873e473ab2b922c9c44bef94b55cb752009cd21bbee2fb4d747d87a81a1b6bfa0b0ab9ff454a9347a2fb556676f3fad20e92dc65dbe2ae1046c8332aeb66b24aa60afb617bf94aacd605d893cf453e81832db9b91b6a1d0daebc7969fb039277c3dfec5fd2946f6ccf5052a772804ba59e173f3c627f013442d54604bbdf6bca31237b9e3e0f60ec89e386eecf3de7c372e456e0c69afb4a99332f0c765c884cb690ebe71ced8c6a30186b11e1cd1795e0921ea4318673665a003f3ecba05e0ab5677cca035d810acb959c9bddadbd31da0a326a99d169bfdbc5d5aeafe4a7328e4d76fa33b26326a54c4deeb274063db3647878409d33761de795c32d9ecb9ea396fd6af280b26e93bd698889d227eedd8c05b990ab4f5a295f5e45af6391994c45148a3b568d48cb9e5ff313342f9ef934d21f24c5b45642fb94810ef98e2b59aed7ca380da5fb08486436277b8ed2ba57fa6c394247abfa9258ba326502755387d44366047f07382d9e03ea20d0f84a34564db50c4cf3f917a5a0d815d63cfc031bf76e8c401868027793ee7f9b8e9ce589af101043a95f38047debbca0bc30bbd1a7ee3b7e7cae152fc96b94d844a0c0456127b16188c70d4bab3752023bc71b76f0e031cc14dc1c3e842151de2365079ab7b42fea59336c7600c153a1ced169d4f6de1dbe62251e6c2be74d2e6c2ff56129d4bcd75544b436ab91395e41cc86ccfbff50162668f2dccba22bfa2e48a539d5c6101ed27d4495603de37bc44e837462c7fc1615d19955fb6ecb65c33825807f21ca3ed855ab2a01d8237cafd988ad87ded281a0ba85a59c00775964cd52a251c0db65d4d96874d844a7c6f8bf6ba70776000ab0a883122a4976a5da373404643e7b4c020b0200ad31f5e29e2e5c2863ec8fef13442779cd23d805af558c196a0c69cf059e0e3124f7454b965ebdc1a0f7dd33e9aa3b100a1e32ef648808a749396a6b183008545caf7bfe104661456896d34f6060d42f6ef3e00dee76898c667e6bcf6f023997ebda14ab0939809782d1b1f223c95325582c3962b0449c4e9ced2abda5dbbfb5e441eb63797b9686d09da00e91ef1087d53410878f40f00264095ca9c85bd739bdc5c0a1ce0156cd63279ac37624233b36d5ff34c18c77df0f806186fde2572a1e931607b434b3c61e3537e34e098014764cf5e3d5385344ad2533a725d40cf759e54e8867175037497f7241fc4b2f292d3927dfdfe3072aea034dbd891a30cd1299e02ba3858b2af76ac6325d3b664a8afcd56151c4286ef40f83b387608875a24adb2d1c1d7b35f01a770dad0da99f6c9218813564cb462640974830d11befefb5e0a4857d930e1654c518313e49eecb211419db0d5b17a0a4a93e36def37f614bf7cfe6ee124736ea29b85a558a0a962049f333801ced8c189555315df0b87f39a26f35e7381c4bbc5771329c37e6bacbb180ddb50847f50d2954f35e4c001fba26d66a3834e3b78d68061a85f798e5668998f4d8a8ff07faf211d145b52425fa5f61312fbf4c521e798f1210e09241167ac81464390bb0cfa824fed61323a382022a501b93c862f45913a6d5c2b2ecfa1223bf7001cb387eb103180f69c39cf480b012982b33213b30db44a39a4cad0b8975b21d0b82dde05062a340a39fb222dfe46d8d025e220b67174ae00999c3dcb7b243caeb8fc21a987446f0ea65d983fc1b98e772c0c5d9818cabc491e99b1d3e00b4077b13993aedf475fefc8f5f54a7dad5027bf5845ec7e9710ae52e12acfc1e6e7e531ae4b846e3362db3f68b697baec1bbec13c0273fd267656cab3083cb83f2b02857ffaf7cde4f236112e50fdb3789275182e11db4a5607881d9cb89639264d88159a9220f63974812abf827b86d7367a8a7f8b2ef741433f7919ded617e9b4b2d135932cda6d7a7226c2a8949a5183e119e7ba974cdaeb77b0b040cdd378137e8a3a0525500a5491287500b7c2e191c1a6d426067cf2161c1f924eda044ad52799780018d3e45d5ca0fed5563d47ff57025540724153a0b0c5506ee104b7fa48014262bf25f1714d5d0764a7f9c5ab281fe08b7a9f557ac45cad4734da38a4c014af6bbf0d36232550c6917608c4ecc47429818ff2c38af10f2979eb682a67207ca5153c9813ab1cc90d9404aa9b5f0251819a15430b0847f7623f9e420abcb67765df94e0330c7eadb7c16311ca1167e1af007b1267ae8cdaa9b96de51f07e9d553b3bb1ee000fd2d69982f77fe4be78173a01b2904aaec5397eb169632d9fd040b8db772cfc98a79ea0cc512871074afe4dc402e96bfcd1c060978a53ceb25764ef394975821ea0ffb612b10538094348e038f00dd1df640894a20dc293d5782d36000fed15d968d604f53311eba8148e41f5b958c82a5bf992696452fbea1243ed7b81aca8757f11da10c855b9eb00c735f05366c4b42abbe025304914b12825ce2f2e3226e0a2f2ee3f6e95161bf7a3b95be6ca8e260fb2956eee535e77f1135a906839c71d2a0bcdc76fbc84b419726aea4152829c1683503c4163e1c69167313c53a2d2288ea3ba7e9af9e096c2519822dfdfb107f69a37d12c61a717f3adc78997671fd5324d4d3c66563b16c0baaf508b1d7c087c844913e663d6420bda0a683827c2e7105e20d74d7cc2547acc3f48e6667a5cddca2faa5d8e9bdaaabfe1837af9888b0980b9ef4275f3301534c32b3700828dbed845cdc3efabcd6bd8ca9b520d3913336e7cdd11f7a4020941f9c7dcce72dd4b0f2a027c462be2842e52e6ff224c1a31fdc9bd9eea2110132e607f6aa07120a707bfdf19325638d60ba2cbfe80ec7cfdfdd2fd5826ae7d0cf15afeafda1ff9bda82c8f99e08284a7b9e5e75484a2588dad59825a2296a0fe93b5b4b9f446a5068d4170a2c1b7f443ff60ca74f4e95ebfa6d08841f0153cbcd44875846d6be2887dbc5e3fafa1029b7cf031ae8b417ee24dc43fc88932e52d906c80d995adbabba79a8066f7ee73a74a03f520e659871722290079bac6fc414deea4f35024a3bcf37071494888f52c3a57be71db9f336295cc858b5e2e1a6cdad69e70b5a48f8414f5969d632f8f7c7fa9845c1c9f709e1c3356a4cfb3b6410dcae8a222138c860a1559f4a87b36774aedc0620ca4d1ebd2e090884def54e7479ec3fb43e75d073bffbb0c546c4dd4f5896019669bf51ea8ab3689d13130e32eb10d0c4b706821ccf971d4e64f2c0c1e767d58acc8394d9da8c436f2fb594bfa0a4c0a7ede369c976853cbf8197d9e43f9294a6da2a81daa17c768d0b08ffc65d6ae10afe34b4f64f019fbd5a08eab18b1ce851b67eac2ce11a482a7513598cd2b79005a85d30d1515b94e115bd42cf870b21fd0bc4f452fe284d8c88da8aad32c294423bdd611e0653c5d2c4f3b0b8bbc034a6d79d869275ce73350e05e22393a0dfa79f8e983acb10592343af7a2072ac929a784afd0c84e4f5a75933dad8ec0d07b634140f46e3968dac4fd3840feb5d8b48b3fee01ea292fbddacabd1da7b5b2bc57bf27298ec0b209897c07eb9688d58c338c82d262f2f6563145a069cc02c2fc789224cd088267b8d928f8528625279e9b5165c6b1f481cfe476f21f3cc4431a5bc9476a165af722508d9f814bd470f91b2971f742f1f764ae2a697cf63d65f49a4caa5c1de8181ba9860d9b78d232926cac5341246523c14a20a17f35b6e31f39c500b88739141a9ad8ddef36f375b81a01750a605aeac8a40be84bb851c5f2a31bf7277fd0480974833fd6d49d69f52f98b27de6e519eeff63ecb7558f850be3b654be0bc6e55664bdc86648b4c6c2e112518b40d7fda66f7685ed6745fc08b61705cb4847f7b19977d0dff7d7f1897a147b3f3399f4fd7368c4bb276f9360fef00b6c4e1122fe1f5cfc21465de34cc792beee20929b8c46d3499b47ea895125cb28734fd40c4eb2ddb51c6a916c28118e92b83cb27602b7f8317ebe47e020cec2de369f5deed8a9c25168dac1684c1a756f64e8e5c8a4ddb969af58843eeaad57ff4725a0083dfe4369c1455094954ff5ea61351aba2e5b6cd53b461d2927ce190670ca7c949cbc6159e289de64bf436e35cfbaa04503da266d0dc5cd8c01e80ba7c8b474b6255606a6a21ace48df5e353b17563e27303bf11577b5f23e3e0b072670c1dad60e6910e09d9c3b984def02668067a453fa70a89374551f7c8a20d75c17fb855e97a869a3bde941d5c638cf2a1659221a418889461e8cce7bbcabc44f86e34a47027bb951b6557c94784d62df728bf154be5234af6ed979b6af4d1a340172fee19afe11dacc2b6b69af63ed9aea17621015ab6a31a64a01d6c00b999e1689472291722820b36c7bb3aacc081e2faf4d335a171990c7200ef7457d729fd4a1054772ef54fc53f1751200dfd44ffe8d62248f478741b8c36c353142f1ca4de84863c4dc2d65c9b7439e63b8c7e99bef49405aced1c274a526a15f1a439a333b3f7a45cca7c2f8fd693aacf13271158aea783715a4abdcc9ad8c2133b6019eb56a924ca003ae11c390c6a7ae192c217e8b75cfdc34db8b30b46b742b32c78f75f2055242f923a8dd8ebfbe40ddfac8fb93e31801462cd8c0c30258c29377e500405fd936cc6157765c6647e767350235a6d24cd305884b2bbec248527fcc5d5dfaf411d99b79d32655e5d395057a2824fbfe1bdcfccd4de226cdf2606435b12f0514f452f2747baa59493f67bd14eafd2734647c442e0c056b13da13fc30681316088b8d57a0f5ced8b258c71dea2be0e17aa89aff8561c241ec8eca33642117b68ab568858da283939096ec43b48b0e02e11175f50e36c3383f48db3957540ce78139f248780b69428de688544a4957b2596259f4c59cd2ce888621a88480fe1d23d1dbc6364b8f7584461f805a1b0d5cb6b2bd16789e5119e14496f7ac1049277cf1669dcf0570c90808ed60bdd27c9169726807d73beae5e85882e68968e0b2b2fe59634117d1426616f69e0abac82e519221829a2826dd536f3b6a9e22ee1b03a74cbcd9e65a58d771c00c91a38f578ba0c9c4bb7b5163ad1c1021844079c41216e58d5462e799eec750194842fc0ec207fd5aaabd511b56adb5e26099915e8542482a55ddaaa25a4d42a3b5a68fc5ff420a5fc57f539d2686f1a71d3947ff8219a66ddf5cbe116a0c88ec89c6841da29d0752b1c001518a7410bdf0e0ce228cbc864efe6898d9a73f04a0bcda031b4d496ff8001d941de56105141a60edc4574296f49d70f88583bf51fa3f37a2c9e48fb6550c95ef52e87de966cdb16e95c2149e5fc48f1c41d82ad0ac8cb11606d897a063b58f23b991c287aed1c7947e89076c8f2940f52f98ff0b733da72fbc661f4e5d41f7eb0f134ed9bca38b87428ed9b9601b0f880ec134487396040d30cf900a0d300f91ca0696e6c7d25f2c818447f5ca5530114c4b31f8d53ea010233c4f534665b469aa1bdd1dd8a91eeeee2b278aec7db9d3010a5123e3874844feae5a38095d1d8b499d5d9dd9f6e8c59e88f4396137261e7a4f8516e3dd3b85b0751e68f4e22409d7017cfc5099ced847ae7567f4aebd48fce3a6d8020fb09e1b86729b73b5b1d0f53a8771281a45b09726553609883ec76a0dbf47b0f9185fdf46ed56605486fc8fcb92d2f37f6fac302a9f2081d8b40f417d8b8bdcc4b7c26b042aec3a0d9ed1cfcc997049bdcbc9aba22d8b7093b5fc55ec5475675757165bd5e7888267f4e77b1fb6a6517ac5bc816f048e0b1a9b56a6b8c35841ed687980dfc290a5f9e3e164e131ef4d9f955ca6254a2d86d87ab6ea5d6ffaed5f1de0a7b73246da69762e3eab504a8ff88fd80341d16a34a172117851d358aedc05b7b061b391e0435f4fd24f0a7cd216f724304c581fa77d382186982d4e328de632047f452641d9a3639e259eef67ff59fb8220cef9543422a1713b34ebaa8d225a28e019b3784eda6deaa288b067f84a037290679a1272dc4d16a49e8ff11933f5427a7c3fe31069c885c12c77aa4c1ee643e43ff4267c00a781a17a19d00a8866ec74838f66dc39fda9488f2c403e0217573ad387564a1155e3b3423771c7e19d292816141edf75e7048bceec8168a44959ced35ff471884040113aae917d556aeef41e1524e93346d0f3194a574736ae94fbc058172dc5a2382a4160b4615d597510550d53903b03d9a9cdfdbc4c6f09144ed3f47604ecf24931576c7822714e093e909dd83a73ea767a317c6a1eaa0b6b3c041d34ae44528422c2522d14b9af91cf5cf59ed2ca0a373aeea030080fa4d06406d380ba0fc9307a837cf02ac9f9f84b440b78487729b1c8564a7974a10fe91a67bc939ef80deb47ca2a0c3003976d61af7b8744de330208a041534ac149946ba5656ae46884e465a246e9249e771c21047ecac3541dba93e7a40efc5b053f72927edaf4077580675127ea00c7d4154431e59a2481f575f5d596f582bf073a49dba18296be74435007d272781ef62148acdab168c5addc52d1807a3448c65b0459194d9bd0d914b84b0187f755a85f255bc76a99bb6fcaf9c1351dd07d87b253de7d314ccb988cbd524d220b4b9a474d435c173df0ff911e61f4885ca9bbc3dea63faea6557ffbc8f4976d79b797008391c435dc32454296eca61c628dfc2d2e21505bf6ec2a61bb8371ca5f0094332c0475674c5e212d7301ac21f64275a1cc0090777de2d4bd6d2eefdafbda173714fabc58a7c9e24a0c62d460243ed39e3198e9e496308f576e5f3fb9a0d507d0d4b714e7bec3414eafb6f735270e1d0fa81083e9e17d89bc6a3476b517aee79fd27bb9cbbdfbd8715856d992e04adc20d1e3816a7ed8f34b3d21f3edb3ff006292d6114c4712e213e3fc8e7fd0a010021a5acc29ed35e08aafbba61c4d640d12f3a35b9689115ea191c331c0e1ef3f4db7d05ac59311ed44740fad04f54a590c505f88b1e38dca44da74857b0830db28ffa02863758f746a2b7b68dfc651b789545cb79df16456cfa46562efaf8661c3a89caa28c8ffa0d063d38ea5af8fb738245cc60fe6d5107638a82a9ebf8092181e57a12757bd9a98eb3e5eac797c747154f7019f014db82e912598a3703110939c97e0958b7edc60ce05e937c324f250a8553ab0cf9bfdf052aa0845961d4bff97bee32cf425d28817bc78664a553fc5f06aa95ebf6ee2550463de34a948727ba6087b8ceca8b23450efd1fee99756212f331d4fa39bebd082098efac17df368657a4e166c4ddd8fc05f132035c7aaaaa087299cff8563c9f65328ee8bfda1fb14eb2a6cf080a89729de9675429e79da8ebb5c8acbc951ea406a6496695ae0b9fe181928b1ffc691c02e9ffa3309ceeb88623fcbea16bc6f860aba2ec34b12285217e9531c1ce0a729d025a5c788fda3a5346ee8683166a5777e32440dc36ff372b1d297fc66e22112300a7b0a4d4ad57826fed6a69e62ef76092ab2a50d2f4fdc6d705bc191b927730fa01df1d7576a66fdb08cfa9d93a9b88672c45d9e5420a4b7f01d72b1838a03ff5b04875956171a073032bde0e2c1c1a64cede2be4c10da520d64dac095aa6bdb73843d9cf8d7dc8269a1b5b522b75f2a0c10dc0b4a848e367e6a66e5d60ad991a2a54ea9da0c41fdb5ed4ccf3d5da7760a6c8839334294dd831ffee728860ed70e9f91e4e49e669af1a8234494f17f79618e7a5a35615daf92e6b64931855b32357c9b884ad6d7d395666d7cc1bc0dd5bb3b01f5794c8de34629da8a72889d16580ae293b44e02acfc91dbcce39613ea5e53dddc961798e5df3792415c9527ace4c8f0c1ca731c07c375d35b4a4a1537aec4d52be64bb342005411906f25590bc0a1e453ac00c27df77e2200111c23ead56f0a564c2346e1ec0cd30e7644f950ed71c8f086f32e042ea1476287e1a92dbe1d13ad46933b23aa103186b2ba43cee497702383267849408fb6cd3ce71b75e1283f47b0b80a6922ebbed2bfa5cad3f955727da71f7239661cf674f85cc2285dedbac64d7240347baeaf542e75f01f714fa1566b997df3d6f45180acbba9151fd56c19be6a5f15e8a6faff8d95ecf60690212bb4f7078f0f6834933ccdc2c3a08531e090a229a05bd5e9ac28900f96a3999dedb16d813d3f4fa7f44d83d4a4c1ca55e39c5a80c23809a95450d72836711cf298e3b2466189954e0e1948ceb1ceb226f7eb371a9c8cb8e36c2166c73269c22ce4a6209d6420e10950c498edcc40dd0c8bdca64f91fce9aee8a732e35c1a3802c11ae7bad16f7d4039e321e00019c6113a5de6447a40014d7671bab69f1f04210cccd1de28d2d0e32ae0fb02ed20e07091c154c5e6070a13638bd8caa65240849964c00b2a97c9eff5ba95a825a674138d4e1c0f16d6734a44eb30590518794e46fe4674e05ba0430e937861024ab762aaf2e14a61b781941bf2c0913ba5d8a936db48ad413729159ff6f6bf8632a42325551912a3ea70a455198ae7cb9cbed7070974987efe492729b75fb62de08543d2a81b2bda71262fd4a40edb7acce2b97f45b1d919cab14d28fc7060093af9cc287adc9b8edb0ff400e3cebb5b41778d22b651c93c1d67b07444a2f4b22488aedf4532b3765fc39a974f50cba1095877fd4396910cbf6863209e10740d3bb490e4c28b8f4b27375f934fe5af67643954f2ea9e150a7579072c361910a230ff0617e54bba7f951a25ca6154e78c79160d9de35d67ff2df827f8805d7f879247b70270bca9ba7a2ff33df32a9f65abc4e105524d32b19648187b135eba79bfa599d869b8d0ff261baee150bca8701aae032326e8001da3288128663aa13b8f017de61f129eddb8d18663bc4c413c9afd4c2677ca0b65e7f2191904dfdfbe728f436a71984f2894dc5beda7457eb1269383968f661276a57fb2fa02f88eeb43177d6d39051739fb4be17acb741c2a94a2127efacc78e6c2a64a756285053c5034d0659fe2fc833e91b0cd6067e746cd2a08841e79f89dea03f7ad95a9a070af80d8020edbeca6637bee1087dcfce70386a21a445fd833c852e9cf1e75d2dd4c949914198595f678cc0ba3c1a65f66db64aa09c3180b5f4562a38e741d95cfe33e64d0b99a5a074716d8af102443f1f4a38fdabe49a737e441aff2682573584044076f9c7904a91b7261344b4dd2de5b6934c08a1df31d246e4b2b8da6dbd2066c5f464d27410d40ca808c878944085fcc63293b39ece89ef9842b473d5d845912463bea358c36f111d2c771241e7e4ff98309f778eb29162d05087486e319533b43453ad649c3853aa63909502e1eada15c98538a641cc2ed05730f76562bc4af4790548b46849fea91944902bc82c14adec1877fd4c0792d67a00b9eb392ba452f1c18d4d9580d107515338f7d55728f1632492383f002d6652d6b584f1108356320115a7d5b7323443d5fe9cf0186b3eb1f4d9bb457dabc592a2285960935cf8218b767f697fda5b0c269cb373ba76bb45ade7f5038d24508382645e4d0c42b727bc89a1e0b9e5d0e67a33971c898358a84dc545688d51a703fd9d5dccc3c1535984ae9bcb653617ed4d5a5ef57434173a3b45d8dc7c037ba0c29c028b00b2077e13ec9f02a9b260c2c09d338ff9023faf32ee3456f05b48e40157868ff7b434b457b5133217cda20958ae985c15cb88a563eec599347616de9d9645b3562de57953a5890ca21239953d233ea97e1e73184ce2655cec7b380e1e867bb853797914dd16f75a5a66dbecd45e871895a845826d45c9761de582c988b6dd75511a4e59ab51a23939e1e2a2352fe0e00fa75c211b3d63d9473d631cfac27e5026d162d4954c5c0f594979603b44d394387c8a4f7006e787f1b023dc5c45d4d3519f658dace93004735f9c09433501ef9371a0732b0fff1ae8af6dcedd410352bf03e67677115101639574ca4d0b3622616fd332f362d52c8522da4cee1d07e7b520589584c1dc5284476740a51ad79305b07af4d495a167e9c1708702f1baec14ba7b793a547587c161f6c13ff22601ab7d87ae5ede150502835f53b13468bce29f070cabc98d6497dcb8870c70c4594c72200e1982788e0ae65c72d7944b814c33eff3685eb78401211840837115de894a2be005457aac518aac77f4753848dc025ee5106d02e2d40f4d162b28a519514c82354782af282181b868517fdca50ebf3c1369bba9dce083e9509acb5f2c5d9240d29aaca178e0782c19141784930c54f7200f4c95203a36e004dd86379c38f546ed5f430d2866efea0e2abf3964c4f4872644f92763e2fe016066015aa6c3441f5f7ff8d27c1c4bfedd65e97d4e0d1f2f185d644cfae6c2914b7b4169512460aca9e9bd1a091379fddc9a32a181ee17fc544cca6cec94ad1cc3d00a6e2f9c5b996dd92e1670d597a743d17eb16f65a42a972fb62c85365782f46050a2117e1c11cbd513edab9d0453a11b8f3be542a5ab50177eb18a4f53c8b8b62bb3ec55a507071ad9f8e62f70ca957888ce3ad0f353be6e1d28f8c0163e902001f09d4f83ae90ef8d9b323b1e40ecc5054af2fe60e69cd64884daaaafaef3057ed3ec126013e0267fb8a8a0ff7b37205353db4c8098266b0978165bf5ecbdcd28825d10444617a55248fce97b785a23ae789c0d78d51a81eaabe118ea53033d92ac7f119b5bc5e48dd51eb696a0ffa05e36e275794dc1471ae96710062b847f968d6482cb2afd48cde2a135c89ac53a008f850bbdd2848cb74633789e7e8ead9999aabc3704cc3079f402ebf30a53e413f2221c8a589c86eeab5a06f512c714d46bd500cab5db27ff2daf9931776251f7bdcaf44e65bca65739f500264a3d7008d397f67fcdfab3297ff2a8622df4fd054ae7b11c93f337ff77d4ee83940262f39a890d0550729f58809dad71334cd7a12a76d62ed38b1e6f68a368c52a769e8ac15ee8b28154ed6123d8f8085178d8b748eeb795c21f36f8460df8d6609cd3c913ddc7a4fd502dea89b314c840805f826fc16b6bdf7a3b11524fc373b6b2f68ddf63c9361982d361162763df9d3373294427629d86c1d36c18e869521df2d21040357ff68969c5aea0f4a1a6446a11b09b200167c9818b5f3913868a7bc42dade0c1e634eec2d5afa0294083099e189db13f141c61d941d0625c9a544129079c11dd8c283477cb81a3e0ea979288837fccf67a6777cda85d31a32acb019ab797232072d55f8abfbdb2e740afe3eb2f1ef2855889a0947729cdb90f35f76bf132b2308a68e9c076bcee950da03c0171557bca9a9f9eaad7b06dee0b7798d03861411c5ec6b36775c35aa17ae7b96dac8577e70e09054ae073f5cdd28b1440723e6fbeb15fac8ba80e224df2e22b80c42df4e95d40a8c5d43efe919e44512c319742cc72fbc505b5d98c514d2d881cd66ba76292b0059ac923b2d12d7613bb282e06f6a4620c2cb9118fc4154c1e599ed6a928f893def98f4b490e6a90edcb14e2b0a33547bb5d8dd56c0a2a2cc005d2e7c2a78a2c6c4694c18263276165d0ed176c9917a0af5a0ca7e7f0b676f84fe58ebcbe5fa08e9cd13dddff839c51874e373dc673cad1b77de404ba4c11de58f5103d51863d96da76891ff928758ec87c38dcc9e42c33ee867d86d777478f0477c3dfc6cfe47d390264407ced43bc42ae6d4f18e44c1f3ffa9fe0ef13c8f44091f8f7590d642906d3fa38e53a735740acbf17077a366cb6159706f26920c1b638d0e2bbe988e24706eb7f03ab21884807169f0f681396370091a9493d5f80569422859f879246ebb6168bd706dfdda5719440d97a0f31e6c16c95c6625c437ae66807073b5a8e16836e9cb7968152c043f0e951f739019a971038f7119bd1ee597aa6f42f756b627de1c28be45a7353158d010452028fbd3b3d7bd510524cb19a64465a637a55cd4712f47a1ab86b2df1217aaa3be4fbc9043db6f908c1459992f78620ad65c8b79aaa6da250c9065d106043084f425f22979cd7ade7d79d3333be1f745b086d2d95c89589dd52beae95fe8a6c2489be1f516b69eb1c4b15daaedcb61f2d5e409b15e406a365831ac4009c0c49605fd6c4ddd37059d2891912658824fd77428d4c3dd0236ab3fe2bd1c03f433fe920510a747840b411693f8cd2d08fc4e6dfbfb35535201e638592efd21040caf113b335d80680c4a8e346578c6cfe4f11455e16273c0e8f506cf20825458fd00a687b7da1ae6c59ad2d9873b2c7df49bbfcffe975879b9afa50f7d48cb9baa0aa603e85452bb9d24b89675ca93d71271e9aa2cc5deacffdbd72740bd8cfdae42cef434e35e20bdbb7b6c2b47d93b18ae1e955dca9aab6822d4dada5d9ad81b7884941eb6e4d8b3796a25e488a75aedabdda18a86d3067eb8943e0d6c7e3d191cadacf4ecaed06f44eae60b2485defc47600e67a1cd9ee9e4b9521a45ca05aaa931fcf15d1f43d5ad2662b3b20818e63516c3b987e21a81f8afb5be714d76fbcf8846612942af10e72b844d5789dae8bcae6e71610b1e350da150461e2e22c270a617fd310aaae00784b53b06e51b576009bbec63eeb90c99fb361cc4e86aad5d0a823cc3dc9aea1245cdf8d94bb0be20808cd27aa67ec5b02f0446a12f19990254331dd1d97abec7844c9a60f63be634f38f6720bed57aacc2d76796bd90f1bbbcbad7c21d746820a62c717fdb79dca1542650cab6af66b76439a51a9f50bb62a21e633f5eb95473dd8eabd5239740527532f0b55496156d1962dbd6ea481d74e381633795edc3b70be5682ba322e1aaace58d9a4ded381b6da5e659117d85ab46d03e894952d23272429dee4035b77c42470623a12b0b538a585b1d6a3d673545c329f5309e1f80ecd4b7f40212a58a3c3e225c7b64f7438a26bb3b0e463d197351dcf890ec822c7998b744f9e535993dae6e339d64e9c42263ac5399e4733821d1bde22e6332204ee957ae30004bda5b7b5acb84ef0256211f21902389bed3979a610c0a678378d990785a2069218da5feabb5df53a90452a806abc1d2fb5db1c5e4ad499b6676c80a425ef5ae395a8ee9bef41ee910522888afa57936a6aa55480988ce4d59462793713b260e133fc5a78818448ab4ac488d12c4162c2abed6d7875ce4b123206c368abf58848cdc222ef6a66aae0d8230f17041083765c6df77ce7b093b234f45a57ab65a69b6058fbaded9a134c0b881a976d905bfe87dce0b442c8d61887093abad8312673e10083a2b330882b94622e795f93513d38c3e6d11c1a6c4eedd6dd1e6c14f8ea92f2cea4a99d9d454a4860bc7d32a2075dc0e4190f66efe78889c1784d112bd1e24db982678d5f033a0b7bcb1ad960fd3a767df5ad42c58b5fe0a3ae5fa8cc6c9b8d0986eee3f7601a895dd4267e736aec9a6430a54e4c0c2ee9325ef27d7d44afc64f8edd20221f41dd1225b205d825b698acef85b1c77982b506bfa0b15759f38fea3e822d3b3ef481c9b3ac39ec635d30c02d45f034ed11fbb32e3b10b38b500d49969cad8ebb05e95407dd6eeff3a5b97eb544dfb18e4fb500e13c0f73bed0f04b456eef3734df858eb99e6929091430b2f90b9e90faf745ce6fac4886f2b0cf30d21a6e2f0f289f37c4ded1cacfd4bba7a892fb8e689466f002492d2f9fba163036e621f1eb8f19f52d36cd35128b446aebd6228f9a48929ba0c96fb732ea4ae051380ac809767884ed05b67ced7c31d34a4535ebe44b7868a9050fea8977b654b8460aadcac72f292fa498615c37503e349f39989d9fd860e19f4dfff2bf134b6ed92d7afb9e081dd23a93a5a17cdb35eac562216225049e6c5d30df7c448ce2328a4a9b977ada788002f018d0bae9c64cabe348b401475e581e779b338e600bd01fb2c62749638a642001728675e6aef5e3e0739c7e81ec4d2333cadc3d28e6b2411ccb2cd5c613295b12dcbc58db407ca82ec86c2bcaf74708d5a645a60b4b8089f529047c8ad38731b1bdb3ea09b640cafded53f55a04ab5ac796c483fe72499c265139cf894d3cff486165e95bb35b5b8c00784a0e21305a034f22eca2842b6cafd40aa28fc61c2fa06515ad258f7668e30c81166168ed1ff1f5a1228fb7b34c1334265d0279c57bc13a19412861b4b4127209477c071f7fc69c6fd0766ff8d0bd87e3f6f734b1bc7783f339456c80468801f12299ce37ee6adba48e7a17aa6cce5d199b8a6ae78c7e4bf62bd119c81790770402509b0e10f597502c18c8259bb4939e458606dc4b75bf277906582e4f98a9d82e58a23c1efd37f5431f98cff7e9f827391e21da511bb555f29dc0ce6cc9b10f1baaa5e07da11a4de6896ea7eff82a7ddb792559cd18ce46905401f7c86e49c2fff708fe686664e01565a76e6434e46a2ad2570a367236baa2e0b14e39c960aa1b052c32c9b836a2b18db624435149c6463f054faa74983403928c96c45069e059fab1583af96bac3feb0ad7dd89a640ab29ecf352fe6d7f13e93e8dee33b1f88e1729c2555c549065347f774a13e46189a080763f27484f10bfa2c175cd642a6b5e79ec8b6b69b430edf211dc959b1e29890c18647397f619d8c5c54b3734650bf589663d002df5a995e25bf1d20f2f94e69d8df5cfa019619806bfa25733b529c88ccba50996759bb1607849c63218351c9b33b75b70a9b33df2fd8c9d75a5b29f3976d2303926f9513903c48ee5d78f6dc5d434271a4d2335c9bed8bc09562bfee07a3a9f829f0e6c4223485dbb4d291651b53b85504dc7d259e6d13a4104ec846ff3ae27e806631eba57365a0148ed70367dc3d09dd9ef6a901629153b93ddefac3d61b9419e5a2857d17f82cb22aa7a9b167b434012f381aa8a5dcc91dd66a1b36a46968f49f1888c822449bb6e8f2f569b96badff893f3788a058e8ac899169fd59daa54084e56fea60769fa5517cc614c4d364b9ce87fe9718b84842b3fa45d4ac6298ba7a39eb46a8dc6b7c434c8530d0431a97fabcdd8e721e098dc3ae5fcc52a40664a6eb53436142dc64aa8ac0b0c996b62c1c27c1a2a17d6f1d83725812e732761868bf7d8a3ae75e82353d7865bdfe85624c230cb26025ad48b999f13a34363fd7a52609ce80548b4886c6119e9cab8c7e880b771c16de6435dc262b50af251e49be0a98e355b67f80984a78bbd36892e785294edd6afe455d5f54c1dfea36e8785cec2136901048f1925f2393cf531a2398d0de4d54f4826b9aee0f42b7111eb34fe6dfb788d38755ba88d8ca7d0fbaf8fd905708b35d165b11177dd7b2785c7885bbebb2e13399995923e745960f57ffa5694cb9cf7eae66c43d3c84b64c37845b013a6bb2c4f98880d0e9792775ed6ac8f75089af56a3bcc3405bff59876d1fa737dd262b49658806cd6e02dedd1454a22512e4dc9617e5906b4710a167329338af8edd642c7bded0de3a574d7b3adb32d9598b8d4563d7147b8b663f30c2c62d70ec26e92257b251e8ebc8bac6a078762f167f516aeba3e1a00fcde89b57443336821cf08811a011c98032ad6b6935b20ccc29a0ef574b09ee9d5cc563e8a8c826005c9a206f9a91e3515ab9677d576d82716c92eb69c6686da5aa1ad9beaef02800311c70da43b3a896499ebbda698a808818209e068d9e8c815f0be225247db6e424b9adc524a99640a6809f008c8081b04f98c197c8def1ffaf62f2ef6d3be1f49d0f77f90e3fb41c0e0fb1150fb5e1a7a1f976c2fbf9702f03ddf6f828ceff75efcb67fc137fd1bdff36d7cbfd4b96d5cbabd7f2fe978f9fdd2c96de392007ef6fdf249e77bf4b01f7d5bec545ceca7f14df18cef71f65b40c5e31d7b9295dbc6a51d2fb1ebc625242ffb7e99c66de3c54b40fee6fbdbbfdf65bfff87f7fd438cb08a5a46df918bcaebfb2594db46d8f74b316e1b63df2fa3dc3682df36df4f684ec8f76710ba1717fb6be84c2ef60f096b7c90d0a80917098d9a7a8884464d3206101a35cd8c84464d3a1e84387f24346abac985464d40413e87464d00d8001b358d198c38de2703f90020e79f0cf0088007c24e401c7804ca387c7e68d889a741100d703536c01b600d3610da4066b001b801cec0d300009f41067a1cd8c9cd1964213c4a3ccad720e329f98d9a0080c7a50d3e031cd0068f0387a70479a326c7e3527e977894ff93fba1bd4faec663ece4629afbc9e129b925dcfb0ca9817b3c044f19f24bb9a733f7f38942a3a6202239de4768d484c18f0d1b358db4b1c6f7f8f0e9f9f1e103d3f0f8f33ed80958038f3e3e6af4e0103bf16a44700cf1d864d864e0b001d958341b689341f358387e9ee6c3e76b6027d707ed3ecb0710eb71f8c0537cbc51d30f1e976c4f1bf2b17d8da18bc7251f7f593e9ef5441e13e1f07b88785e067672897a2c91f798084f215a1afa9e223c432fa388c5e312d15b8fe8bd2ff21c84464da2910bbe4768d47403ebc0464d6338f2fcac47cf0cf7e82123c423fe1eec04e4c1634f0f9e998c18d88967c3488ddb8e0e1d1d3a3574f8e878853a401d3aa1f7aa813fecd1f33cd8c9ed11bafed5c3078f2f3cbebe460f3ca5c71b35613c2ee9f8f0d6a3e3796e788a51930b8f4b3ddef5c2e3eb8dbc0c1e19317ec6c1ceeb60279783598b03191ce0291c2cdd7e36809ddbeb0c004f316a6ae17189836f7d78fc7e00ff23346afa2334be83d0a8690676e2c9d8818d9ac6189f839ddc71e7651dcc64323ad0c979a3a6187894f133ec04dcc1e3ac831d590e76e25970848707366a1a731e67c788f3373b6e7876f4ecb089b103dc7113c3e391f131b0933bc34eae51538c9d07dfa6831e3cdae0d1e6793ac0533a78a32619785cdaf13178cc76fc0e0f3cc5a809c4e352070f7e0a6ff3475e073bf1f2d28e4ececd4b3f70fe063bb9464d32d8effcc04e5c194ff9f1464d39785ce2f1320f7078fc0d7602e6a5a3cf7980a71835c1f0b8f4e361313c2e1d7deec7c7de83279a1e8448f0939913f24742203f805000f889e784bc9110c8170903809fc89c90271202f921a110ec4c93d61f240482dd69d2fa7f841c7c07618fcf851c7c0e7b3c51c801f6a349ebf711f6c08e3469fd3cc2dbef08753c2ebc0d8537ec4993d66f0b7560d74d5abf0d1883bd5c5f8b753d5bc356a6a165e188ab2cf20ce715295126c81e7a4d1c55f14396a1dd49198326b71741b1208a908741549e071a01f839b643a36f513060a5061c3af005182d23c8cdbfa06f3017d688f96289046128e5e6cf82269d34be20a8a0a858d7e6c76eef810f40e5e0c506ce64c9cd1fea5baf316ae2c2a5052ab6bc909b4fd4375ff38414543481051935418a509282e2228b1cc2e4a6bf87e005e84e9d468d29da41fa60e113d83f69bd9017e068a5b28734cb3080d93623e35ad9dff3a16f3a57ad73e5e9c023b2e371e63171356fb64b9aecc31110a9a932f3472b25a5a6ca4c2c9b5aab93c6ee14d99d232e7dab5093e61fd545ca87ec5342e42b5dd7a48d9267d3fcefd58d56ea8a8e8c4699958cf3a1642b35f1adaff9f22500cf3290baad42f9df0b058554d7dc72d1b9d249b353b47304d4646b4b1c9919688a6295b56756c24b00f5a9bf82b895f24902ed942de3a27f102770b445b531e058a9a428f6acbc2a178be6cd13e3347f32656c91994a356f9e92d3fcbddc2fa007267b0d794a902190929aa2ea5b1418aeb0924353175990c992f3b7567d8b6281a92526286090414a9620a1a02856a6cc5044162d5499898a72c3962ec48411d38392104a2c0c50b0ab5924cb791a9d2bb7cd9f62622af7e49e62024c760929018e56d785c987ec09f154adce32556c953c9d92fa1878018eb388871c1af2a2aa4110956ab445e214d016b96db43a25b78d75ac60b2db469d2b27b73594db3af310b12f86a788f5a05c747be4a24f2317bdc8d3d9a279b3b6a868dedc1e59dd0da0ae91e0020575c49826b010738030341455f1a28b0c47e41ceb5ce9a4993718d18f168e326f30cc33314f08b0fffe83960b3f699af803d87ff8090f129e0fde858d52e0e048e6786653055affbd015cfffa57eba3e4fc3dcff374ae42cf49278d0e1a17833401ea5ccd9ba79b9ecef3c0785f60218ffdce595c420e46e4a1e704f3742efae3d002041558f902045ec0e042a98322b2404137a5835454ceff134a01387aba7c03dfdf639ab758fdfe7af6add4bc81d84ee1075d1e1ec5d98787443c353d9d95f2b754e2ccd3bda713a9ac946795dd4a6567d24d1a1015f8d9ea2c9375f2b74feee290a8f92dffc0457f20333a4fe7ef31f97b4efeded3d1bcb5debff7affe55376faf79eb5c75cafeb0b0733242f802f4a2dcf9157a4fee3939cd63724fe7347f0cba00c1dc3b245d1e3d5df69eda41ba8e23055dfdf94ff2fcce926753f9cc7a6479ecab994f8fcb9cae2421a4e989e6ad02f6efcf1f326f1568faa02a314116d9dc2e54e59e3a410cd9851db2927923baaf20b14cd4b5f946be00e555ec4362f4e116ae6fdf481ad0e7532034a0094c8424014acae3417def43a8ef8560ff2ac911f99c7fe783f367730bd0a712593469138716200be9ebbe79d6dd6538179c5dd9d49dfa17524a19d4758a7ded8ba2ecdedb3589c237ca2c69b9999059e4c624d8c8cd44b6e284afddf6d32e11e40e41ae6a2c4870f146ee31d973cc71f828a594fee4a6e550ea24cce973ced973ce708657ca204a65207d49e9a52ffb8886ca49a89c6172c374a8b556fa72bea495be9c2faba51d409634a59472ce2a25f52ce70ca91594be9cf325a5b4da5aabb4f3e5a42f6dadb5525b31a550c86424c8ba6ce9b2a536d504e31485eba4a4202b83828282c6e40a44a63f3dda8f0132fd2925ed0099dadb6d0dfaf67a97493b926a48c2226ff2c886a006674f5acd1335f97ad7b3aeef25524d5dd2ed2497391ade4914245259ddf8808daed57f8d37720899e67c164c6a65524d9269d065b5bc2b72ad21d30f9ab18282c25ce5a431abaf7d4659ad77a7c200c046b680f543cb619a442d27586532190932568bb2deb1649a4c4c52f2b00079934c92e63ac89b4c9263faa3689924a950915dbd0a82ac3145b48a5a512a172bada267e8154543a9645f51aed743a3260a8b49f94997fb74e9728dfedf6bce39e7fc97cb7f62cf563a5d36ae5d2f5d53fa27fd8bd49c3213c3572a070ee0e8458ee42ff48dea26adfa15e792ab1b39152ff223ffe20f8bc9be3ed5d51b3cde6c83a9ee41aaa3f59768014dee255a8892917b8916a6b223cd9b35736d55ae554ca66208f05927bfb58dcad53e89c956ca4a39cecd92ec6df0381b2f9adb2de3b4fa66acaaae72ad3fb6d2646b956b7d5968a99c56cfe4f1a2c991613be5b4295bc6beac14cd9ef702027bef556452290f6d193b15ab6180f379e4779ea375d992ec61b297a13d63adec95db326ea7ac948bf565a12d63cd582a5bf515e558e07300d839f2bd0635f9be8732bbdce1d97ebf9d99469ea3ceec9b576b478056c8935fe55ff973a491a7c4a3f77eafc44b3e7befd27a5fafbd5876cddf0b9de6b68d79b8389b80432e4ea19ccc319f48ac011cc53cc9d846a13c6f200fd16df2a530d02e2a34c4ef13d9df085190b48152f477162c3b0c96a3091ce2a2bffce15d765a9c765aa0a0d86139c10e4bd50ecb143b2c515276579a7657b4ecae54d95d9992669734825d121451bb2423a4bc4b2676e157d792342043ee00f62ee92877520692985c97075006a90034c394524a2981aef5075101dddd5d92e073caf25b070a7477f796cafef20afa5ed438298d7bfd7c3fa1712834cea871533c85c6c57ebeabd038f0e7fb51e36c7ebeafd0b89b9fef1670161a27fb99f3f3bd85c6e95ca0713b2e346e86d4b8171a27a34ae360685ccfcff7181a67c1cf77191a37e3e7bb95c6d1f8f93e43e3fee77b92cf772c8dabf1f39d86c6f9fc7ccfd2381b3fdfb534eec6cff71a1a77c1cff72d8d137fd27ee2ce9d3b77eedcf40ac54269a059a8165a03dd4275940bb581de4095280e3407ba44996817aa03dd81d226ca03eda14ae3684f9fc2d038f1e9d3181a77c1d3a73234eec6d3a7561a67e3e9d3191ae7f3f46952e36a3c7d7aa571f8e9532c8d0b9f3ea5a171df381a4f9f6a69dc8ca74f6b689c054f9f6e695ccf539ea7329e3eb5a171319e3ebda171b3a74f951ab7f3f4290e8dd379fa3487c6e53c7dbad438d9d3a74c8dc379fab44be36e74689ccd0e8d039f3ef5d2d438d8d3a73c34ce9f3eeda171f2e789dc91e66d84a1a09f395207c091ba545b59758d3e2d144357e182d053e81afd1ba14fe91a7d1ba11b758dbe4fe828748d7e8dd04fe81a7d1cba94aed10f432fea1afd0fe59aaed1a711ca30ba467f4628c1e89a9aaeada06b2ae81a7d19a1fca26bf46384328df4a26bf47742d945d7e8eb84928baed1cf09259aaed19785728baed1c709650aba46ff269428e81a7d1bfa60284fd035fab1509a4096a06b67a4165da36f434982aed17f8572045da34c4da33fe4c2e3505090f8b31968756968015214f46db64257295f64faf4aa714ef396c1d3210c7ebc397e04837e9ce1f8f16bd4893a65808366b31c2088c1bd35dc0d84bb691407fea64971deee05c1d9124a24210689304740195104116086d080104f410091812f18f8c107a71e7868f2b243e35a872e8deb109840fb25d80f81090c225f22d9019479944c9469dee484cab47a512ef01be993032590e686a25273efb02065dcb42c4011a68a0628a2b82248b728b10b0bf72a3b2b697656480082297656c8ecac18b1b392819d15a79d15ddce8a0c3b2b463b19c2d8c9c0c54e8611ec64a892e222d1183ae593b2732cb091fd4719f935e5923b3cc8b5b4f41e8c59f61e2bcc5b5f4576329d444ea07c2fac54366bdcac6bb2957b05d95297e7b9bf73ed9af3e0c273c94c690c22a7af2231824cb0878fc73539200294f235318f2ec0997be76495c73641b62fa34545306426de4ef6f0e8245b4ce4f50895537c9dafdbc63927be44becef7473aba9e4a99a9cb77b96482aea2295086eeee7edaddf3e99c944af9da15b2be070635b93e2b4b9ecf5384f513f633062a79fe4d67fab2ef8523eb93bcdebbf9ee9acdb3429b70643debc1f7d791f99f75d51790ef5be3cd3bebc8fc9bfa3a52ff8b795f8f651161bdcdbfde26ec8f3d91134dd88331d8d787611efb3c455cffb2cf0a3d2428c8dc51770623ebfd711e27ec99a48541161e5d3ea7b8d1f3b5cf38a9b23feb29eb29eb29eb563b9da0a6d3f4e9349dbcea779c0143f002945353399ec08bab8cfa4dcaa9796b1fe5d494b5a27125c8abfc5347584fa51949d5b82ec27acaa2619376d1c3936a882f47159005421981e971f5475f40283de2ad59b3868b29844ea78dc5fdcff3a464edb85865d67ffea88bde1f7b32ebde1126ed3e8bc51a615e2bca922cc9fa799f04254c4c78e2b7a149bb0f65742f2b64808bf769c50870f17e571bd68fb27cfffed0bc43f9daa1fa12f299f51fcb25df5f433ab3e48fe0b6fb24fcbdf7efcbfcfebbcd47745bfd8befc549a40e85af01a0fcde21bdaaa4c9bdab02268f1c58cfb130e5de6149ca3872efaa90c9a2e7e3beff90fb00729abf1806f4b0cf8b3db70ab08e4d649e3ff6f4c829be765beb0bfb053554322eb7fea3dff7bdfcd7cfd0ff150128f9fbc2d7d37f3591f9ba5ae17d7a04975bb8bbf6c24433d3709455b264fadf7ffef3bb44b38a97fcb5cb5f2f22b8fcfd6d3d9532b7be677273eb5bf7a7f7ddb82424e0f2871f80cb4b5acfe47eebc3f95fd86a758df5d7ab28b001cc8c1f7a0537226e44a0a96155c34abc15712ba22a034a423808e130bd98f165c617ef9d0f2fc89b353ba72d764e5af4cfdc93891a676a9ce9ae797173e2e6441350feed1c29a57b9740bafb9c5286143ee7a4d47588e0c1c36dd273434599c9f5054409d8bb2c477947439a4c5f967b972529cb9f79757a76967b37030eb9b68b93ceafcb8c1f66fc30836e4a494db99b814a45e136c56d0a343b5e76bc786f80e69e0262cc8e072cb967c7830c3e776899f4b5430bf51d0f2cec7828a2de17acdcbba62bdc2ef6fce25b220723784a909d7bbaaa03e5f9423ce6ff98d285a4060165070a12a248e6add6b4f93aa67a249127c540b514c0cf484010a16f4e8e804041d307c03881546efe087deb24ae909202038c18b8b870a5fb8a80dc26a554f2c131608849009ee7fb9f84df2f95dc26bf08e077be5f8271dbe81fe3fb6595db24f62c68dc86e471be47c74b479f03f239df0f027dbf0cc7f7cf7ebebf4783ef7f9c18506494e9f2e96b9f91f60b088dffc45a5f22090a43f0e276e3fbbf1b61cbc9dc966cb55cca6dad56e865dab63acdb5ae4f146be33cd75b592c494321f259d4be8c44c9925e97137da34993566dfce853e4ea1ec8d5b3c89526d5b7215e971060f84a5c7c32371064d36c346bca868df09dcae7eb3b99fa5ec6a7dc8cdbe65f2b9feaf3a3a7914a4b8884b9f5396f5f40c26f85a20c592d1c448e324b233ee128b38d97af2051f2c53e2edaf82b9d3561adeb922f27e3a2d410e0f7646ce0aff3b4015d0c818478e9c6cb4ca9b8cd95dc0b82b3bfb3bfb3bfff49d7cb17101a8f44ee687d7d02348ef5f50bd0361b5f6ffc786f17fc08e268d3eedfbc8d70b67873dc0bc2fb376294f592f4bb2c3a6992ce9c8177a6f317e77802e95ffaf415e459e3f7ad67fd17036d7cbe860f1fb761e3db0665b158318ac7fb4c645ebae02f2d52e2b6d6d76762c2134c8d9c16ddf8fa17840ee5b4fb43eab74299637f9170a8509134c96d35fe76e3eb5325ca44bd5027fa853e513014ca6dded7a049348966719b3b6e97c43b3ff6d591d85fdc4466097a719bcfe3dc2cfbae435a9f4d92f099c86ce35b38041080e3bc0ac399c64638d1d82439ad26e57001f4bee72df8f95e9fc8eaff167ced497a05911f0208c08a93c8073fc94ce3627d26324f34df8df40f79b8586d3ccd36f05881dcf209bd46e837427f725a55ca393f3a19266ec2932b8c433c231c659ed1c2ffcff3325e497d13dcf65fffc9b533fb21cde2a2eeb266287125f7829306a6492ed69e1ffbca821f6952aeff49e07e0c7964f6f72913131ad7b3bfcf0a9bd8fc9767849d2d08af8b478c59485dbcf13a572398138e92cae8c2e9ab259e0d18329139867fb8581f49eb2b0c8f97e5229ab71bb89d46bf7e18ea82e0ec3d284894a1dfc062e7cebbbed6ef84b269f375c29cd0734d596d9ebe95f3e59317fb197a1ff3bcf7a67c729b742eed5dacb5eff2effd3c4925a924954b52cd1b28adb2b5542eea92615b3b5d53b3d60b88e7219934eb45b2c88bbe16e7bcb9668fb328ce7fd6851352171d164a302eda07e72de773b084729a7d9bb383a7663ab31c4ce57b55e27c108eec9bd08cf325c432cedbbc908b47608f839bc82cc3a3f7f393781fa343379cc930efbea8e7cd9710c723093ee2c43c4d68965f422c4b9b1f7271c25ee226327b1f9b23e00fac15e028ce97b49f430850e8e5df3c7dd6df1f5d27e649e7b79cc6b51727ffe24f6e03137b1be464fc2693264d8cdbbcb7b09f558166ec8f5e26dbcf09914c9afd182c1cea211779346d7e19272be635a4b390e7f52b842bc091da0a80bdcb01098732f6dd8bdf64cef62e872399ed7fd735bd14eedbfb02e24d8c00172b9ddeae739d7d5772db04bf1b94385862048c32bf5ebee6cdf7ee063579944fd9beb52d25c6be9531b86ede944c9a7d3b9bb2a59c07c3f1da8f854c648661062029b1f64598b71cdc9336f6ab98cfd07dfff5275d20d86dc46d3fc46d8fe4031010e0b7d9a47dff7dfbac4a3c93bfef7a3b1bd2e43e937b6703951bde9166390a09d529bd76b5df13f9f77d6decf78e4b9a3cf2c8df7f9f6d9cfd709bfff7435c513f9bdf0762facdf2f7fe12d2fe78c86dfdd85143beef91b88dfee7613a6bd06dde7fdfb7cf8793c822bb45081d00fda53ce3b6ab71e8667433bf4704f220219befc6e627149a3c3f164ea7f9259c4f2e4e307bff09f9ec7a8f66efdd85299e5eba4909f3e585d3094c5419aa336e7323a42c4c5fa0c84cb9cd3f9bd0a8a9be7fedc14bae0f0ac07b8a479cc1ffa8eb16994ca3cbcbebbe8094203dd7179017eece31822f2b90ab97c16f108fac1f5bdf447eb0f0f537a1ccdd22dec73ee9ba45627894cd17086486e9c56daf22dee8fa2632d70793fdbfefeb214bf6671101b364b9ead7c225c822fed3cbfd58de2e5915e67de76e38f347bd7bc2c60a640f4fa770fad0b5f9359c5f5c9c5fe40b709c4a792a4da6e9855ee5ae71b9a0dd74d2161dafcb1536e8fa97ebf5ae1f69feba56b12bf49ba4049be9537aa4ee74569ff5aa572b93991d83f48594ed7f346ace28c0a751974a1c358fac321057e4f92e05b2724f01b163bdfd79d4b8fbf66797b9424f9ddf981ae7fd7c9a3e64fb2f645bf128938cc84ba48cb2495db31f00c7efea3fa879eb5cd454a6caf6bfa4d65592d33adb6f458ddf53b69f53b61f53b6e3a7cb56040e3c39adad081c70725ae7f13bca56040e300d89c0015d2baa15d58af2a66e9ac65ddc5d43f25b0bcf9af645df24eb4adf2ed5642535ce7b104cc3e2d2aacaf6476faa75a9e6add53233c65a5364fb1253b5641560fda82ca594ada80e80a34dcaf6a507c0b11595ad977b0a882872ee4b53347b5752d0f85d65fb342a4db63fa1007f4c1e6954b66f91e40ef9f66d95a831513207fddb38fbacbe49b171decf66363647799455d95e325db34feb9b74a269f6cd647bb39d22db1f33c8f6ed5701be905c48cc69432bea0c29e5f5aafc1952caebd5ebb9052fa43b47c5439da38e618d1f4e78ca5d75029513b2d050a5029adc552a54a9e0c1920ea594526ba98e8dec5f2f69e4b6e9f4c5e9e9cb04f334759d9dcac53c8b5cacdf592ab9a8f4c9c2ce467994607a74aa2a1bbce4aeb2a1288fb3a8ca06a43c8be64d323dd97c5316ca2cc466dea452d3eacf6620a83475a353e5fa55e7b6ae828229d79f4a6e7be55a5441229f45b3be8d53d9d8d8d854514aa995bbfb999b9b9b9b2b1c1c1c1c3432994c96262727e799cc72ced777356e5bb2a4c92ccf6f72f3fc254cee7c26339945569caf375f5f52a10fbe64925e9cbeb858ff26944f128c8412a31404f8132fede8e01d2cbd38ad7a8961c9249560b090e6eac5c53a5f29944c1e80402ae9bc8ececb50424930524c954a3aa164924ef28b7c924a13cac66390c189514a298dc5284e68d4047b58ec7a0129a594d27e79c9e3ada269aa32ada2562eea623783a1ccd7e6fa02e2138f619e94aa69f5eb2c0682364f802d602b8ddb46aacbad2bb77555126a72fd161ab77db942dd3a73d853a86a7dbce14d4875f336a19c563f2ad7b79953b97eecb34f37865cffa392a9a4153852a8aa792fd4c44b8e83a915b5a255f745a960f40c106a5545a908308552e13c91e3a8a1696a4a5a581b0c88a01a20c02d6e9064375568b8596265e10ffe94c9645d6440b664a132f44c6b457083c484c15aeaa1700169b3468c93b5d4ce9673da138690b9cd0ee07c14f2124f3a14efa8e8668bd7d2a1f4ac4528e4893d9f2a484abd48d0b42f3b87a54fe88b08ad959ea1d2eaa54e1822344c5bf184144e17800a9343981c989a9842223062820b26a0aac0e25d5b7bb61b22880ccbbd1362095a85e7ee54e6f242d169de2e79019210434c2b305873c4911057ace00212b512a585308a985af30252068aa495284f43ac200a052dacf8612a77a30b2bbcc4a0c2d11a2872cec201b44284102f381145d4134e2845b1e18b2aa4a06209354a3138161974641146032550bafaa2f3409713a85c8007322e9c700301d4bcb082335a4670031a960d2098f1210c0c3e5819c1ce75dfc507bce042690b2bc24081075c9800893253a469ea008b4b094450290e675a5db0d65c305bb2bf8f487188e5de8141f2e1927177c9a86c083ca9650567dc044ea7125ab2bbbb125bb2677f31a8043572ef925041beb97749a4c052cd345d56b03cdc7d40b10197ac6707050fb9957b0785521e7d62807aa24c14ae342b98ee4f544106678c1a2bd94eb480012c7298e2890aa827586c90828a0a24269898613c30c3e7011b64f7f6d50b485153bc7092e229e72110c113664a00022f521760e9cc54d13253359343985103f380055e4f7218e3b402103a251c769c5055a5ca0a4b2c84817229ca8072072996902d0550ee9d1434e49edc3b29a6b04225653ff72b77a88245068ba98231643840a34670c5ba33aa39449aec4f2fe83ff37f3052b2bf8f38fd83e60e19cc94ecff63081210a8ce6457eedd1054b787efc7b9f265f4da977fa389a18b85041aa0e24803214001881c6b4b9e3feb01a4a00c06765150b1c42537b1cbe70aa1818ee2c80622763a2ca092e81568299272e189228208c3aa21cfc7e20633d9a849765d4864005b79278453ae347cedd3b803c81fdb8af69494371d540dc3cda68c8c41475d824085084007685cad59c881c2f07efc20b7018da0fcf2fc62d87002fdc72fcf1f41cea6cf3fbc756d4a6f295b0715082230800425546c115324bd6f1e952b4f96964c6f1ed62cf3dd1711e41d0702677e3d6c6539593d80fe43e6bd938aefdb6f464ddeff47eb1729aa4428bd61adf6883732e109529f7ec50218fb99cc254d648692e57709fe887783d40f5b47eaf7b5a6192d62909293b0fe7e785c52649ad12286a2201ff6f03371cf3e2bb44b64f63013999b482899524973f22e9eb08287217250a4103860c9f2b3420e8a0e120e39030d5f927250640b27e8e085642107451281032703485b109183d24a14a5e0c5bc3d9151d9b005961c944ee22a0a18aa0b58725064489173dc24bf1f8a94403c15c9ac753e928f481f88be10a59452eaf47798342482010c0241f0fa3865272ab93e510c208fdc3b272ff9ab2eebb22f20f365cf971059ae4fff0584fee4e0e362a662769c1421624ef2cd97912846646f20f97ee504e4e3a2bfe80fc5858b7fee7e2489ffc5143795d1a7eff847476599cafad65fb6d6c7e2a266ae9cc932729bb92295bfd8f55caf22de7be1128f89ccaeaff4adb597d257326fb3186cfc8cf3238d6c7762d9fe6c1b1d7d078ff7fa3673b15e0cfebc114d1e72871299a3fe6c7633c3f5ed8cc18e7ca6988479eb5c0cf6b82540eaa2759afdfa4ae40ed7d71cf627fdcfb64f9ed343993d0f741be8022f385e2544aef07bd05ed035defb83480993ab1f4a985c29d15d5de51f4a985c4924d8103cb8c2f833f97bc79212e49a4c27beff356962f1e8b3843291d97b0f4799bdffeeac42b9f61912dcf63a12de0b8250e38cc6b833c6f2fcd936f933f6f3bd9e7894c9645f650f4e971003dc565f4f3442031ae73c3a0f7b198f0e2e22669dd7c1402edecfa99f230ba98b97d57df36df3ddac8913de84e38c4666e125328f3dde1c0b5d2ebabe7bed53af35897fdb6af5f0b39eadada73da8c9155f175d8af7444ef4c305ecdd16ab2cbf880a4097dc21fdc796a96caf87bb89ac37f2d502194a9f524abf7d680f54f248f3cccd5d0f4679f2f870535239c321179d8794534a29be7e21da21122ac07e01e94105e431e4a20781b39cf30026834154e02804f2789fc2839739a79d73b6e6fde9f36b42fb8a27a45c428c7e954493c8e5f5acc5bf864a0acaa9496745cd95ab26242c4f4d45575eae50494139e990bc145d51494139e97640c2b243d11595940e57a09c74483a145d51494139e9ba206539ea5274452505e5a443622abaa2928272d22d215d919a0169a9e88a4aaada88bb1ca0727f4e187ef16c0563dddd2db3f88c8cc1a008507e53e1b427a59e5bafee4edddddd8adbb532412fd46a6ba5b46bf5bb54a2204425fc0078674680f25959b2f0cdc8ddb5297a87bb749943e6a0d3465b06205564ecc8a595ce39e714cf4191ee5dbea654d2f6137052a0f3626f325fbb6db4d4bbd6947ad3ebee337c1b3c65f0754fd9dd5d3b0552e6b7d3845800a5f7645afe99e14fee20b4582aa794e29a6969b556099a183621d2683f341b13b49f9fa639c198604c306c909c3fb8ee9541d65aebad262d4b6bd832833399919963660ab646026a48ecc25489956dbe0093c897794f9350cc434496bd9765ef697b2e41aec93c5df3af49eacbc7423acb973f521d6663c6cc19e68766a3fdfccc94a055bec934e9c4fd82123140b102943fe506686228d26861f208cb4118f1c5ee7456965266488054ca3ca2895b6bad35a4f9de60abb43f2bfd49bdcb62397173145f13ae74cfcd2ba5c650ba44972d52e6163f341b19dacf4f0838608f40828846423abdf4d21b26d722f27c19264f8b2914df18760c4a295680acd2e90d897cae34168b25096ac225fb5ecfbb9ef7b95c377c5eb52dcee92f3d5ce704b2bf9c75ce29cf48236240f9e3052ff0c56eae5e396bf6e992865a694e8e42a54cca8226e61b3a21e6a661f184ca24dca57477f97bcf2bf78401ca1f7bb2cbaed54969d42793dd227fd9c5d76e6bb1d24a2bad51179661e3e711066b180640f94153284d0294525ffb8c553e183368d090527ce2b4e16871d2dc26bae85efea48b867568d2fceb0b8852fd695aed56ae4d5a2eca6a5ab533d0bb954ebff77a9eec0f46b1bc2c165454579765fac52abe1204d565240a945f67131f6ddc64cda2c0582cfb37ae59ad16ac6bfeb02f4784a1d2ef1c1a0a0a12c5ffeb7d1fd11437d1acf852ec614ae9a4d4d25bc3f86eae9b966b6770246c5af53c4aa5879d8b42a1b84b2d3e6b435929d09546a952a2e09a73f6d4c1730a65ff2924d4b4ba2c6da2a7a451a884c047e4e2ee9afceed8cdf469949c77cf96212b079efca844ad7585450c95523302000000008314000030100e070543c150208c3451d63e14000c7da24482549749b3208741140431638c218400020001c0100042644355003845ea06dc0f6031d63dd0a21e0fcd4158d95ef17e19105af7c3ad1f9a8b9b617e08a0b1fe00919e7e58418a7cfd83bdd55b1f8520adfcb0026db8865a943bf4fceb974090a257404683bd6f608b9d6930baf95929bfb2a5928635aa836784ebfe29e1d5200807fce035ab83348b6e7183ac2e55917367a46b312b860532e6dad3c03b00906d37bf70265835d237041ca8b69176561b42f83416847f1dd41ccebda58d97658924bd669d675c7c25345b04f8745a7c6214f8400fde779bae978b840ec68705e04d096f217f4c365e06865fa7c9fc995f89b84a2d62806b9cb9a4fba353228497e8f665d3135afdfb58dd2a740842aff4086e09296ef1e55cc30b70fc3fcd36a6baabafb0cf9cb875e40b4c8340054852e0b28e503cc48e2926a3adf20868b5b923e7dd9ae268614364f9cfd6c88bc206b3400673dc1f2598f36fd8df03c61a62ce14687d502662dcac9d7fd830dc9c05804df9c21a945c14cd9beca298b3ebb0a78f751cad9cbfc5c9d5c90cd00b86e647dacb75181793ab7c85e52f34a011209e576446dfe640a911601ef67822d8923239adb90383048656cdf4a22c20dacecde0451fc9a7ab1a0fbd856cb164d8bba6e505621b3bf6d55dfdeca6212f34495748280864738b762654124f4e5820c62fa9cb68d27817c169904d866f2cb8b263c8b430cd831518b044664f8522aed841f3d919d0b32d1ef41d0d39e6ba9ce2e3de659ed9031f60aed834cb9234348e213fe697fd73ce53ce458e86bf079b10dd009dfb881fad409eb38f6908dcf74504a37a9fbbb8ab54d07ff2001c0e2ce4ef01d6307e447b05b9a6e2e7eb8bc32d0c9539e5dc9f0b07b43fd63e0be4567401a3f848c0c42b0650352630654495c51e853474ebe82746b5295637442fbadc1400ed4024c69a2fd510c5a51794fb76c056c6b8dff940dc627db7526ccc729261e67a837ea59566f121b70b891e7a1613881a68eb2089a0fb9bd5a08b790e8f2df7528313db8296d899c37b533a17deeead697c84ae778cb99be3f0fe7c37570e3654817f3d8ded4694ba26a9ad0466a99c0ab719ec2626bf08b7bb7e6a84dd53695379c98ff4c473b0014f81bda2c1f5d4e870bc94955d37a97ac92aa71a36dd28b062f1a49f85436715450ad92510c4115f2f39ffdf44a733667ac7735a4e1568b96ca7d6ee7ac97db5c4c75ee972d5fe925db1d13f4703cda4b4d302a8746f9345fba8fa7dd6806972466ba22bf21e4f7266228a1a4b6ab5b0391bc06719ab0e186187f3d09b19d98bcb8f74dc4f0381dc6df9d9be88d310a75f2ed3387e786ad42f624c2211455c88697af290c6e34e06227bfcf78135da08ac0dc2fb741ddfcadfe1f98e6c15529e9e021ce03c6b3e811f2881047f16bfd613012cca04857cb0e77be78f17127b779a389bef946a3da9dbff503f375fb8885d880003f7c1a43144d29dea2f4af8de9d35e3cbdf3edd11777ab04290c314d0d8daf731031fc373a63e31241fab82508fba4e6d50b49d947caa3cd01f1f1bd64c6f9b32c8a3ae3756dd5c414ec1149056cde912f6fc1b443d8d79b9fc29f75a03e946b578efd90e8019e84da1dafa3747aebd86f09191aefcc6c0d1396b47feb493d06135aa4d8de0e5a6179713d9100b49476df527264d8f2f7bfcdfbe22e7618b9b05cb3adab03b346016c414cd0808670fb0bd77a8da8cd985d3f6c0c490eb121ea40173f19d5cd059f8a2ac14cb5dec7074df5e355ccce17c9065cf304feab752c50ec4e508527622ca40440e4762a9a1b65a18efb65488659968d6b1f93881e28111d5aa03468ce80a44ae6a1ea2f83d08d90e2fb2f7633b299fa2be7cdd7d4e967f650a78d4a277c36ad6984a20791d9c48c9611f5324a027c5b0a751c71450ba86e58634971e7ede1f429b9b97bcd642a59b30a68b9fde6212f40a4b2b09a8a838d01bf2128927c9e38ec3732b056edf20c87a48550da80c34c1e8f027b4a8e749306d0cd5b1b3dd67c003885f7827162a5fee400e242c326c5631a06ac201dd74f200bc97a24659bd06b206075682fa81c3cddd5838831cd0171b65c4faa71fe156a3928845b7f563d3daf91453316adb14fcb2f0e85cd581e81a1befa9b99430915e973911bca7f4ad40a98e2625e83329a702cbae229137c3fa769e812bb0a3683af8e692374f4ddecc6bb1edb2d4218771c126b2a9f4f312e322cbca9ac5747291104ba4504bab63e88909bb7bed474b0f27b2597c3a0efb7009403be5883712263d74d949f7f51ab6efec7da0597ad40ec0927067d8e5826f034be66e0cdff80f384eb753ad581c3b8b1ea122a8cd1141581f7549b53f71fb52d21d53fa6fe36ffc1ae856a3b54c9125d47218457f3e2d306c94809b643b3147688fa6582417a3795bcc2591926013e0ce3d9d40233fc5128519af3f6249395dab07d21c059907959fd351f41d0edfddb02aea64dc80b55ca188df2661924166f3e4fb7205213972b6b313cc3d618e4f3ece966fd7d6d0eea76000388152f01d06a5f2e277b2bf1852c2d90d9c86dda79e5e36a1a8c4b317fe87ab8d0337e737c0fda68bc4233e030435ac8373f2cacac6c2fb46155fff30af68650df1c31727ae8954450e5337c5b0ff511a29e15859e10b0f27eae50ff53f778e70bf80f30dc4190b288e40ef981ea187dce5da3b6183bafe06d017593da75935a8717ac167ffacc7bf4d12d0521fec7199df4d07e7894e671cc2efaa9717ea20cf41827e0224751fef7668ddde727797f37a655f3ac2c787a40e995af778bea2d37e359d86d36075a114a6e4ec7b26a9ff943a4745d9e12cce25b8b8ad1017ad8937c7eb2f4284c90e8a08ffd84ed9bd9790e6992af66d9aa1883f1c3200707dae15bf38d8504aa374904b5de6952624d8af1b57fc1feb1379419ee9bff7df10dd341396b78d5ccdaea172caffc7f69f1307b240e17e58dfaf7ed39bc4d70d1823a7e7bac933cd1b65343b9f4fa34ac4e4650bbe98c5f4a7d29824d4e587f6b37a77b7ec2632ed48161fe6fdc05ace7818ccc555beaff9a2bdfc87e2883f0a042e67a4344486a9db32cc44bdf131b02da5a5ffac9b1e437f4a372b2f9bbb3ec8f66f2535db5c6a1f26bd8a1bded5eb07ada34be02543cd9d827b0a8e6495691b9dadc52a45734d69b188275595e9a45c5562db428eaaa00ea5fbfafc0333e87d0f64079c584b8ac1663a95ad72115349c5cab47246b4b5d80164050cab3be452d423a39284d8f7fd9157774d211233d2cc08e1d44460b3bd81b0247e8d464654d693876c958890383d1a5a6dcd4483e52b9281ce8c14af0549b1bc3ebd414e28aab86520e0fa88509402ae41029632b27d1b3f0c4a6b8b98566bb547d3cf7b6489dbc13da2a192b7d18eebef479dba388e0c4fc091764c4ad26fb96502496709ccf3244bb5b5c76e1f862be5d703ffb3110ef0007782c2309eb864d61a6ed7cc399dd9daf11c2e5938bf0a2750e3a18c5792cb3eef032007ca3bff7481f2a0e8c79b09e955292c6fef88b733a4abf7a28e2078fe8cd715336413745e586797310078191e8b18b87e401daaa16e99a3117444282296480d0d7d731a20402d7aed3d27a1e2049df8a7a1345ff314068c414115e6773d0c828711f38ad5dbd85171c1aac7a050ec2910d9f9ed3661881966b4614e620ae2d924ee2552ffe2268498b4f686b32a4196d317a8c17486e23aa9d91ee037ca6f308880ee276494ce0063213cc2ca90057d600c8ec06ba51781f84be201e5cf0581dd0923229ce908d9749902788e86623a3d9518f72783c30b2f8f28a46baf54e7ce72e35cf45e1f539fd3131eb39484979a2fb4208a72642964c363e2ad031614a0d4d8373492a4747b82dae9c8bd6743da2d7a343a274952584f119f50e5edbd6b73340a2895cbc530a74776a6cdfa6e20165d09a630518327d2dbfa8563f351a2fa2d3540ad6d10dea03c21da86469bcf4390f4bf700fd780ad2e861ee4386143cfe4b3d9fcdb4a295500892baa38d22a35067f28ebb5a65536b28d0e2256a1a7375e39a2b49e874582c8617901a268b97050a3fc87ba04249bca0607b98539998061701d472e811cf40220f9ff81a82a96811ec652cba94f0b5402b0c15c5c324246f26e4444a2b49e7b5b740fd64bcec27f0b1f87d0f093b8a57776a47e68ea59bd18ad70287275409f1e7df8f46c94c71993f0c95848aa737d5d03999795f6307d75f31d0c4aa2878f4eb600d2d09c9d9555a88a81ef581a95649e5e7f3fc3fc1034fbbedb6508f6bfbe865b31a1b39a1882bf3be07eebe77933b01ec03d0427838dc2d48a94a97f841dd68d24884e77a69aa8a4094084246e5c11c14c5a488fe5cc8af9e7489ca07249abc4e4d869fe04041459b569047fc6a224bc0b9c6248d048c608934662676f93b77ab3674cde40107db150dee255a8ab82b8ec29fd738b14fcd060f98de17a6d469bb985f329af0cf62a3cb0e7db29b07b531792fee506379030105b043dd4ec153889619fdff41418da6df023422490e717d9f2788e0937e01624eb40391f77004056c76a599afa283127fd0467f2b81fddfb002ca901d527b6293f94c377a63ba42235fd1a21949050dc7728fda74f287b22ac67e772b817ea68b674841ee91141894b7ee4a0ba2b31e3a7135e6034e8e97c1cac1476b76e9010667af8f1e843391f615daec2663806f0202f08e3451e0c13533b81841972d09682ec0224dc93370d399608ad98492853f10d333a77a75c41f8d8331534adc57bb0ed0cd0ab5cb288ab9eeababf43ef1364e27fccfd7636b682053a068a8294274e84dc7c8ebd3569b0bead0af6b24b35373795fd787f78b3c36cbbe6376e6e33137b547666491f4d99345224e11dfb679fd63456ecf70e1f761e72f956d1863a97690258c5623c0d8ddb6048656184d5c4598598b025cb6e647ccb7208805c5cc51576ed905209f4436f2b3da7dd0f975c9f80bfed1125286d1c71c83c09ace9bd80c28e9400432a0beca43030ab2a81e3969600a4b310448b71ff1f59cc38fba5f28b537953a9d8d2b9a123a5226c66291f9f46bf7a2e1fa0e020a8ef1c8ba9160bae3baa399b819b28ed72132e539285b80231d3dcaf994afa34b6704bb9e85f05b899b027b3c37ecf0cfb0538cb8bff52205e7e0824b32ef27bc13cff2ec0cec83e04e2f17b01cce4a2bf0b9e5fe1c6e72701f0fe85409e79fb7ce6227f1308cf0f04e723f0e7ffb5e07cfe26d0cc92bd98ddf6089a5f7ecb500ff548bb9ba0fdce14ad4f3451518c52c32db46a5e8d8de6040af10336772600591f0862f5d5b95cd46ec3338cb77245e7616fbaad421142c3550bf1baa806a29130f66cd976c193517e1d13c4e241ab96004ef7d8b2faef6cdddde276806e3b09ece0b3a9e30deb293e2c3e4cf1bd72ff7a929cad86a6f4cc2205f97c72168efea9a5ff9bb306e6943cba26045bf37900be0195220c82ac6a0325b64956769525f671f26a5798e6c2acc52de6e8ac748cef846c00ce255a1f3169a3b3b283a58269b8c2a5730a71e2a2f5d3b6871dfc014014a17f4805b0e1399a776242c37ba049c7e60d2e65e4689fee3c61c885b8c7557a89f601c8a3ebb5f1fc6ae95144c1dab6631b8f5195430b879442acc6d2ab2af4016f411f77f9611e3c642834682f456d5f8f1220c26e0897e2ff7042d116adb48eb16525bedc1b2636846a0c95bc29e9438c0d51c831e07c2ef39323152083a170973b7012cf137287a256dbedacefe17bef4102fc7465c3683423e9a1a1cad81ce6ddcb18913401dd45e6ff3c6f0f1dfd48a041cccebef269256c9cc3530c61ccfdb25245c6eb57a098048e5f8a89cdf8e5e7439d9d67f8d081ac3b37ed53c553c2351ac464cf4301ef11762a2731583df00c2a7914711b05cc4bea6514620b07364361a37222b586df123c855ea36aa84229da7f3c25470edf3a8a4a289da5b97733d8c0c7d696d0e79fea935143dcf14702d0452115193710d4c5150ce0ea5c8bf2a22dc30dc4e0f3f6231c0ae2436f0ac769d987d34646e718afe9d14814a0f6952ef8dc80d1058a627c5c80570316dd5173487885994b31cf39ce36ef5abe3d19e7cb1d57d284b649e2740e64eb1657dadddbcf43d11a74959dcad867c4588c4410da475c5c413a1b250b9709448dfd9b0c7e22891580790832d9c174f45e473438c7f2279c5cc1320071abf90aa8560c960cd613df34468e927cc09d7a2e2f13cbf05b94cad6a41dedc7dc27e8c7d84d4c6e868ae5f798f93ff035118cd355340698656f4bcecf0a8de464abf262e9184b1a1c5ffa6ff1be68a45974bf24c3dacf59e6860addc28fa3a85ea0f3ac1aaee14b3179f8d23517deaf9cc820257498fc7fa27cacce98b755688ee7574e54ba6d0f07d89d0a30e00fc3804898bb07902a278a8aab99b7b81b0025e042dcda160df1417bda13075e8b0b803015f441b3f0ef6d5690a0abaf9112ee8906b5e64f4df13180b40d9a8502a87ba64c451cc496d67644f8fd221fb578ee8c68747a0a12a81e5734f0bdc9875d803eb99b0fc7f10f641355418b7682f4e94be7ebb069724d44f77e83f7e6b4899b2a15d40eccd455228502f76e7eeb2c41a0c3189c062eeb1d1b406d9660cfa2d3169469e182e41786d26605c3fd4186b40c60f7f1750751c5927484cf8d2246239354be765a335148c6fd2d5a4be6a26c3560d6582af48104a941376648e1838994f687679813d46040aa0dfb97183b23a59059f4369c83cb65496f035de317d3e071862e497a1f55cbf07a7a7f2b7eb488d561c4978d58c7da03998f1b3163e31a03aa74dd94dc7d3886322b592bcd922f2d469a2fbe2c13d323f425b14c6198d65f6a1dd63061c634490e72c1366a4f5d7836b77c7a29d9e7a2c778fbe944fdccb12c7adddc1e67ac540cbbdb67fe2adb5a6334be85d64ec284c239224bb0d22e0da39c3a3b8d7c9af0c5793ee2206b7226fac2cc1b2b146c3bb51dd29a9d5d5cd281746bf8a0bd586966cf688fc98ea0c4d651a77ffc03f2db3e0a8ed3d83b5ee9cadf6df2814653a09bf6f526cde7f62f11504906c9d6d3d723af019b72b2af1aed8dadb2cc75cb7aabb6bb1205c2ce39b1cd68c954cf83ce9770a7fd52ae388dab0b14e2fae6af89e2ebf32a4605b4b7189dc5798272e8c56a0fd534bc30ff5e6401d942c18cadc7d4a1f380a3ecb3c27651f5c336b9399663ace7d85e7029322d632a845cc794758c484dba877b6e0389b95869032dcd6b841756279f7cbf1267e4327d01d709198c41506b31c4240ea9f1ad91c616baeb1863a965cb55c1aff0dfb18eb64bcc214a4c4c6efd40650975f5799744f2b53ebbc0200b52275868d03d11308eb2465c7035b009b9d2acd41d4756a7847f1e26e6646b02870afb14a50b4400f23411de64a183bfb6bcf145cc8d652b954a85e7b5bce6729d31a9179f27a56fde7d092bbf480a535803fd66c859d317b129501a915fb2e9cb589002662fcab92d803e4647b17571967d507a765ff3dee9ff6381cafedd7f969db8929ce8a3b663dd7539093b72bd55b875f734749a4fcee76d727a3dd60c9eff30b8fe336778bb42f436592469cb4ba04c42d4c7f17e900f1c1f34868c9959bf472a688662014bf2f89e5465c58ab18520908beaac4813e0e1731247adfd56c439f4613aef6efcdfb323e5d9caee5f0cc74d016c1be7487fea1c036333abebcd16c0c6c0317444a15e27e1daf208c420771aae587243c7f2b4368e0b4d18498edf85ff5c1e7eb96d88d503dcac69ad44609ba44ca6617e496dccda5758cb9136cdaf68d5ed76ee8637b42e98f9463d1eaf8ec78d527c1f76c987b3f8024c64e37f0a8d7ba5fa546e4e9136a504a724a7b8f2bc28f5b6977686324f7fd0ce5df36259538c0f1e511e9c3271a70514f516fb2f96c13626a4ea60cba2390c06ea764ac236c6db5571b13496770c1fd18ba7654ec9a45d081c12f86063cefbb34990fe48434bb86a8c151f73a5a476b38ba859f75946890120ce77aee670a816457513d0fc6a75b2587467bbe786a50efe6a0454de432b8e81670b7eff84179909b930c6113b7389f0fcf87036e5fc688be74f174c083bfc77faf9441dcec9d12dbc35643ee6b8f4314ce35881e362e846946b3eeb0ec1482334fe9596ac24688f2cda3187a74b6d759d2f05912d4a6266a8a75269de299b9bedce4d9de51e90bd47ebff55434a2218a99a3430a850b9df5f69bd2ee0c203d8c51cd10be7a41d7edcb677e0989db14b1e45c5bd09e730219f3026e2a74c01bee78f622c8d21e406dd7d3114b811241211eb9b62b6026a9d549521f7dff9dab5722f92c67e1db0a208ca40f62df5ae4a7a5f7564b4899363c42d7ead06b19c4dc00db68c6386c72082ed000c6193ac0b948caa134838dd5035fd9255ef1e9b3eb2f27735735bdc4882198779a582ec68abc8c2be0eeaf52ee53140d8e323919e056080e910271f3115dcdb3609ffd1a472e25b7c25b49ca7af290b07378772bde4f797218e13b4bb44c9e125d8866c0db27be4aaa395cad973865afccc02c032d600707d7f2a6047b8b4d88e1925418c1573d68207f102164ba607b960e4310c819fd105e38482804776ffa841b8b9a3c24c4d6d4204ab396b1a44e9ca84f42e162feed77a51e9662398d0dde8d887de124c00089c34b11d586c1a14ae85a618f2a26db45ef212f9eb88247a6eea4d4f1c6cf693616457ec1c695939c190c8e4954a6c718fbf20f305c59b4cb190d8cd10b4bf3289978a568025e52650ab91f9a56bb1aaf96fe66dbb2c292cab860772e8f1d86f33382eae0b77c07ac70898cc6460f175916590442d540a8034976982cab56d4f8d8720dc108fd00011cd690b7e3f86f5d2c0f03c885f40067260a1fe319c567ce1685bc4b7e515abec07fe3b9d3e73a370b0ed731fbcfdd9001654d6c8f4d64bcce96a47d7ae07cd2825f3b6c69254fdb8070d7f63bc44990380f222af560a364a7b0567b410a0502a866e14e54aa3dc487587770a4c84659f28eb7a43e77ba8136cad4fd4e61d1e80f6604b0656c1c4d946950c537d249d5cb484e5e7e00247f504bdc8f27ccba6433cf2b98277887fc375dfc0e967912c57b89ed8b690181776784b8360aed9e9c3b381a131585d6181206fe1bc64f48800eb3792e68e4f4100947bcae6d0ed5733a800bc752411579876ec61c69bb547499e9bc3d0d55feae06ae5cfbe901375ea0febe08085b40e8253668debf0bc0f70dec838985a8d4ac4ca4ff2efd0cffbbc50bfcf9058a16ea6c53b0100bc106e2cfa86a33bd0f10e919c751897eb6807db518131022042b1ce1cc3cc9d8878589595627f5b675ad5912fefc42909230faf5a057a75631876579b043ceef16bdb1e73e8544da5f0131350ada711078e92667498f10466f78e65252052b49544b4d44c2b17960cee4452f1d20c4ebe71988ba614bd336d060b09866d3734d403bf4d668a81dc4968689077ee5f2162ca8c58d8b16c90966061918d2306b74dc0cc36013fe77cb8fab0d5f1f980f948e46ca4f302bc34c6deacebf60a538d1cb851a1c6d141d45fe9e536d7d1621941eb0c2908aebb4105380e1f628f2a5ccd9069ccd0b765b7f066ae5b19f097f7aa7dc5af68dfba765158c6c82f7ae46444611af0baa3bd707df07e00da9d081d48207e9e21f7373532601af52e2e13fba5f961d96476e389b78eee056b9979910f40802e56779ffe5f4391ca41bc08c32562031a6590a03fef9008e7a7b3ada86ce2e0f1dc6b5ed52195f5f346a46f13aafbead41c9d028ca9b9af4634b122295446c052ddb6138e00c889897be51b40d2b703d8c924e4b5c206cea3c265e717e68dc7c9be08b024712473a0416e0de35ef6a64bef3cc73ae83d24494b8e7a1fed398da9e74a6adf108e12e89fe815582bae90d48cd7550d92af603b0648d7909590e5fbdbcb52c2e30b78eb2a4130e939ae2930a1056ecbba4259645c50a75f5441456130e891a9523ccbd15be2c9a3a81d32d8927f7af6b0d251c172dd29926ea2550e711520cfeeebaedc1ed3f4c7f670a8d955dcd5a586cc60d74347210fe0e5c103558e97068722ccfe8d393605992a49a28542b2178bb2ac7a743c2642bd84e8b5e50ccf256fd9046d3aca6853a4515439f155431c2570f9d3d32982bd6d9cdbe60ba4061da4bfd31d228fc836578902f7531ca40eee9e7ebe2faa39761de87dbafd7ee991e5c21644a31f0b34259142eeb410d09fc171fb13be317a7d5a0a11d56e4403c1072b7a184e7bd7eea87c4a3ac22ab03185eae2d7484ca6225e4b30538c0ff227a9d52d0feab431eabd5b105b42a02f94ff07401349a2a55495406228f4553c6c720a7acc175785dfaae40b258dedc02f82312e24b6f85040d6bed6c2049affd964eed84e276cd10ffcb8816243ebd142680a6a62ad314e62f51fc155c6026301af1390281c37d1a6712cb23c79432242bf351f04834537660b1d206d5bb6ac9671c6432896631f8df9b09659fff508b257bb01d0c28784852f22e8d2f97089650b53076b8a76ee8f6ced2ba6ccc2ec074b47b436fb5b64efb10791b3f6bde5b20a916f6143131b195253f941786643f6c3927ad45a5ddca2bfe981ceab3104494f87d1f365437d1dc9704400f33c6e936d570a9fefccf5585f18b6c6c4e82b76e8d782d14a999154f9e102591cdf01eaae2dc9647ec283019250e88f81f30f93eb7b293a87c31a06d75eb0e3b2b99fbb5e19add85da3940078ec1dc34061768c9472ec867fd0d48d47204d3830a04d4b9746169d4d6e1b4f88f4b9be392aace13069b04516795d3248cc0a6ed85c758c481cac3d4957b5c4aa88ec3cbcbdf4d676e1db93cdecf53fa943880334569f8e9612fb6439a5a861ed2303710dc5b4013be829c6eb84290c7b3a0399096c2f62f8d07f6e1e4f0f8b654dfcfec323a6c7ac10a9e86cd21512c387b96747825e302bc2555a465c5e106fd7e786154f175bc3a79e7e5ddafc4037a336aa6ef2747dbca9bc6b30f55bced14a443d5345e98efb155a7ec5a0f3e0d6071861104b0ffca41107c4374462e017901e1b18e66d4b2260001833b124bcf2926e23bdfbc02fc3f19747dc992a58c213bf5064755cf2bc29f32cb21201e1b24dc8f8ecf5f35c7bc089a058d31679ddc674b9749a1fc0e5d0eafefc6bff8e42dd0027219c5a511652e7d99896638011d169571b10490282616edff4f4660cea99f7c7914502ade55e3635fe0a6eba3dda587c64f5f24385bb7e86a5717ee5be91c61a3a0d0f9ed1b78155f15281872d7453b8885100ed4f94248117601799036d049c53526302846fa23ca257fc7ec23723dede57264882425d3f0ee76ea7f04f52914cbb0a0e292fe3c2940ad312f7e92d28f21aeeb6599954dcad705c14a178f02866abfa046b0758d1b0551e567298fc4a8dc7362fa87c68dcd6f8450b2f238b10ccc9cf8bf06aaf576a8e56bc1aceb88ab8c38e0126dbaea5d16b8e08b229dc97d3207089d9ab808f24a1e9d7a4629574c2327a7faa1acf78027c0998c0133164d91c3b69f5ebd3a2cce173483e4b55e589646be31c0aaa5d02256356b262c689b6a6a0b8026a31bc6d93bc60a0dd8e6026f2a2b3885bdfb6f15bd9dc29104cc7b5a3278936d9c411d9f9bb4bb5f919d1656a3b7da131e2d89891ce132dc4afb7fed0a42d561b186143d9de0a7027a67db8b587baaad44c7b7179048320ca1a3d6b350efe342dafa299607fe826d3d653d8a4d5ac1833db1896a2bb4e055069196163a67e7c101773ee6a88429283d863c5481352224badf2cbfd82ce62fc86802c2f841c0ca650a022b529c8b1f98978ebc395c63965e64dd14c0769c527555448648c6dd23045262dfaa3d3a6d03fdc8d0c6636036150554c7644f28df89fab32a044a8015faf2311e04334833e9963e41a2f06088920279b38642bc0ea5f5433ed1a9f47c5abf0d7e3f3d2ad59ca71d00927361646843819bb97ea9e21a0767c8dc4c504bd00d7914dad5188e1a7d284d6999b3ec00c115c4e28950d488511d7422711c4e918c6700925c7ff2a84399e43112049bd7fd2cc1351abfedf23da8372334b3ee41207a5a511ca491830c3081f403541d30b680f84837822cb3b194f3dda921a154d9a1d45d4c54769cddc094e820609095bdc4c201dccb6942d3a52d7af078302654ef12f9514b5f9da58e1088658733b2c45faeceb2a4fe5462c2184623ab52b7f8cdace291508585563b9d10078103198c0d6bce094b86ee03f99f9a3ba45a39fddd622ce6ea8c366e180b5955a1782e87b2d91233a7e7287b41069a9585ad66d5e310784d1a903f3dc2149d6c8b0672c09a6b8f3b16f11d5d44334409e0fd78e8b9adbc1f8711f8c4a4bccd5603fc5a0a4d117a8d01c48465542d59cb92a38c7e114ec0d856948a4ecc0f89d95b84993bdea6bb363a26c111f4aebfebefe6a8062a911e7302ae657c02c1b62db4b591cc17bfc5eaed859ad233e84ad4c90e91e23f2a4096fb7e06753325c0c41d82a0dee79a0240b01d521774ae2c9917d03816e923faa5553dc0cc9707307f1b537c65a8d2a49a8921515be550f47e0a20d67c45c653ecda85491f978065b25a12bb49c003176d312a3a3bdce4075aa9d225d5a5fbf3530d30a3940349d25f6bd525bcb30ca4be86cfb58329f3a14215d66b38911b8bca29d5f8ec5bb0b8ad6aa4dd4a75541929f70c081657d81ca9287eb18abb7b2b019910c8b70342c0265670b700088fb8133a9a34f9b11a4c44fcd9526e603508d96d8d43921b2efce0428f3965b0d08d0b8b756eb031fea544c1c445307abdfdae24382e631c5a0196abdb23cca6f4a7bcdb0efa7efe741d62a92d89bc47a965df632ae9e60909b972d8ba7f77a6e13544d7d7acb753fcff90faa0576a37756f4778d16b13899c36524bf617f19a313b849c22db9b61bf94bc10eced089a228d2127f7d264691bc839561828b70a72a2c95ae95015d849ba68a22e50ea0d09c194320fef15493f297e68b777124e43760b11472c5857f64f2ebcde5d499be55728a2bcf37480cc411a1bdc7fb8571fc1e4bc9c566f7b0dfa3ecb1a00375cbcc275a2117a54c43ebab467f93481058f655b77b34aebdc077941086ca16a6491107a8287b4f8133b3b7700bd28316296dede10a506051481be37cd74da386b426ad560e0a99cc2d283f1b244f2ea8564d8489a8cbf3ba790820963834c90b6f6df613fdcf49a10fa1320e99815f137374c3721a231aa95bcccbb94d4269e4d088f9afde6bb2346c7100f7412f301b3005956ee7114174bf903f0fe140d8e5927dcf66f0598cc496e914087bc7b803f0a8bd8df2c7c039595f8f42036aa01690502125f07291d10ae66853d2b2290a4151497f41c6b70d14749e35d5b45b0f7b8d08bad7809601ab29f742ad0e0699556162237ab800994c7bc6245c03973849aa42bfcf6636068703ab3e1f6ce7697d3843c12d0d52057f93bbb787ed44150c57dc78579dabf3d6a255f4278367e75f9105e0c30f4408c401fbfe5b3fdd7086a9656d802ec7c90848fcbb2aaff2599fb26d5b66c82fbb283e3f15c679d1b544d45e3a22595123eae800e468576e09b874ed34a6953a5e080ea0ac017e66de45629bc32ea9c6a51d8bd8884ef52643d8200a2350ccac757d30c7ccc3d87b6bb1cee2f9f3bff6048e7b4aa4bec3f30d0c0eec00cfc7af7cab01d41905940c50fe80511d0488e2ef444132ac08958a59ccfb08100f5aa0dc1f0fb9985a8078f17886c1d06fd7d79cdc5f554f37f24f7f4808ff8a18cf48af5684d4c02119a3463ffd28e93278c418555aa517d91aac77ca92e1b65d2eaba03de1270acc91f0409d053bf669c9049cd63b8b5cf2ce32450b2b7061bb3a6810ebe5675481b964b0f923434a9c752b28611c152158961a2b83bdf11f6534dc2ce76d3edbd4ef517d759902263fd81b8509e2f618f616397e9a0cb7468a6738e9b0eae5f6fcbd6ea555a106c1de21640e9971e632ecaabbcb9335038460451b28d4877fd0c9a426251bfe1c78a8074782965de1be3bf9a889aaf3e69667a2a9e00d2fd0676213483969f6b2e9772cd0b750b656bdbb83d5ead9f881addea2d220cafbd6298cb15e8659079081f1490f19f41eb37eed66d2547dc80c7806a52ade339917f3e2fb21d399af1f6e6e6241aab9f3733c813278307c606725a8e1b07a87c93d378c8b6abc22d000e3a8d373a393b4747be7c766a675e8375f20d39a6a25fd439e280a7091e87c2022ccf00d5c4940c4c65d04741d885fa3e4dedbb12be51130ebc3fcd2b50190beb4d58026a931ab90806f88fe1b50d485d9d1ce2d0623b9b6a0fc4906e367961923c2058ae3db9592a7af04814a908b27dd2fe542fe6bed6ff7da6f416e7b78c258801c17b6b7f0c4a46fd597ceca854bdd9f24238c60eab4888858422cbb02434b988b89a9084cb8765dcb8ca8aa6ee5ffe6814016b01ec1345506985763a46ed43e161a98bba260c9c61b7a7bb0075d2efb5625c4e7cfa230452accf0e001adb3ebb1b383377beff2a60b7e1bf8e5f0583dc40b6122e22af132db0a8d899e269a0ac28ed6bf1683eac0ecf12cad3c692138f4ee192375087f91907fca6b6de0bca0990239f03a0a94083614ea6210a03249822af5e77841dc43869d313c7ef9bdfe189a5cf5a37141c2ab70ffe71eb0ee3aab6fb90e6ce2a7d0e1118659474ad3d1b2acd72961dbf5782e6b1576121f3906b95a01c0e322d838e5b6e5141af7a9a4adac784ede06470f8bc24569baac148a63367dca0a402910b609bebf5ce6f88f052ac94f4ccd3b2591c7cff0fcd3c199907dfb663a258b63fd23e04b2076e92c701eb01ce56faf0090df88958981084711a0dec42a8f264e6b7b5a4b2ed390990da006fccb4485f2bbfa111e119901907b8908dd66ec7001c47256d863228811b4e3b1be4c219aa2c949ecdbadb9d38febee02e8e338702866c1297a381ce1973a89a08656d53cbc6f898ae64617696f2d8c14c6a73eead8e4a3bd7361492978a9c7817990b627a3a2390239d6591e46181a7a080ff83881c9f58332808f76c5e6b627463a679eefa6237f014d2864d37f23371bfef0b5f92c2d7ce68bd2f80d90942e40a24234f11d604291ebf908524f950285ef5366f7a1e01e7a239440603a11593a7b40aaf6cf2de8e01b63348138ff935f4576ae666417c5fff0b5c1ebd320ec03b3c604bf17eed26260302ebd548757991d4d8f9236c1e8d460b1fd06db4003a0f64baba24fb7e4ce92b7e631f5dbdaab07484ac0a1a01b686e59cb5d0171cde0337bf0bf1b5782aa701c64b43182a1994bc38ecf35bd811f8f6884307dbdaffb1fecebe089fb2224f9de5b92fc5ea41f8669f54d27e701d1690c22e55988fca6f7cb860ce01ac097c230333c94d7878438e67926a3e961a40efa08e72e7bc8404456ff7490a6a3e6a4350fedca8df032ed08df0e053e606d8d7b4bca84eb353a302a4f8eeb8361727eafa83ab11f2919863cae308b783cae631caf57e4ac48b7e39ac758e2ff8b171569dda23a2bdf79348c0488fbb1255281f85061848d627cd290d79381cd5074514787708025c7d293c8f593b750ceee9c8a400dd15a6a47131ec10840afbfd3842e10e7032f1d0ca6ffe4207e2f94fb64df79e33b9f7232ee85975d5f5dda7ef8ed3fb463b936b8c249a84d20ea1d734dc6fb6db061215eee6232954cb6bf651dbb303ed6cb202b0cb216da5ae8401b8e9b362c4297efba846be637b6a1d603ad9a9f7e7b87da9866340b14dd6891a92379ea74b2707c34debefc2e94151d76cc7ddc9ed6fba405229500324585e85f68b4d441fe5f09e068ac5dc51caba45bcef1830c24b6178cc2a5bc0888dc24bc6bb711746695eeb7aeeed27f17eb6d5e914944b8c5dc2ccb86e03e944feaf947ba3bd5310e873d2c8e867b1cdcf9c044f39941bfb72729a017cf8e204234337a88c3cf4b69e5035b148888b50e28464e13376796ba5364be94a0f020b38750807ad645bca44967a743bacf12e72155f282f801d8b51eb60aa894f9eaacb7797bcd03d1f425cc395e598ec404ccd81ae806aeea2ee75723b48f68f87f3220942227b31a0482971e40fed37a8bd520695780f45c662e1f6b1d08a949f664783ca5fd765269386f471380b2eaceecd09d91d24246ea0550d9f5579bb5928f025aee8d596dd5b82b22d5327be4e49024346e86ec5d42956ea95f9f02db98aca90f5a740ef8384433112e2146d3ced48c4d24e185cf61789dccea76d4b22b33563066c5d7afc89eb01fd503a3084ee46ccdc4239ac6037a2a81234984d183c1aedc4abc3d3666a3e4b5efe59bc0f96cfc74ce9448b84e3c09fb612c1ce7b318f3ef50af9d0fc5e0271f356364be5a0104c93dba1fdb5b2408c0d6d48d2bd62ed13365ff0f8d36b23513bd5a808b25caee3d15eb7e1840a023805c327fd1ee7215ebc1218c91512773a4b612a416005dfdae4d99bfce843e3c9bca6eebfcfdb8656119eb56b615ce1e2674f2d9188e77398a5a4cc8e55dca4e238f60ff7e8ec178cd31378208fb6140ecbce2c00eb9016e8b50eaa4ab5f78c9c638321a485e9ff08d18e49a91739980d176af6ea4a5bd6140cf00e1a1ca9279099b5249147297b62f2f395f232ce3098ea7c3ff416d76f25382a4ceb0d1ad433056937241045870d87f0503e58df34e771350eab44ebeefe0eea5ef1f9aa08addceadb060f8cc9e100b7aa3a03c8221c54eb8693aecc0212b98c6485868118e8500c8f0c0e1eaaf3db4aadd76065c9d40a3ea27cf42c4ed9098f7376b9646e064ce8e59d1664a2e9fca7f1a1f7a95099c02fd243de4104b98044e336a68b2806f59b8c15482df38a1121c343e40a7c0451d337b156912381a357db971398d876867d787fa01f463aa4ec26cd640f7bf281bd717776405c8f940919e9235bd805d094081c783019db02f4907427701b55092aea5f5c08da0892a545506001d245251418cc20c02463b80d04d2b1e1e91577e08a0ae70bae994043f317aa039b61384689843b939321272f3b45270765fd5597c5503ace4e6d12cc68e7c20f6d38f1e51d0cdb3f40473e0cd8349f034e36111c79bc751f0966d568596de443d81f32c34bd3022dd680c80c9a827e20f6f2a6cde15750447b8f9495d30a41d6fc827cba25c65aadf14c2a7452e1f7de2e9e621a42794efc134cb8a82064fe6dd3af62b019a3c9e29b03f37f0d2503ca262a2eb23780515b82de3eaad024705780cf38005b8c32101ba0cbffe9dc5ecdf29b844e8d1b19536ca3c1ef3a05a75d7451609ec0c03fe3f6de518c8991422b3e3d8b09df26ab959a2c75ebc5ac5c893b3cd3b715ab0b4df8aa4448b2723d9320b4b91a618e58c50f5e5d9e7ffbc5438705b7b89d212414c58b32fcf3e3ca115ce5efb98b68fd5255dab0bd3c5745ddc5e51c2b8af1d21dd04b7cf0a2606935f17df85b6c9a5d215a6ae7ee815a0fc4fb36a48aec368bfa020b2be2c0c733f58b6871b3a37827dad672c78bf270a0c4ad99e60f09fbe5e77f41782b32259022cfadd7ddd824ecd62bd412d70d2081179d890d07ddec87c36000e3ea8b17a43d214bc204ce95f7992c81be3ffe417d0328c64e3bd532384836ffb32c0ef1ce2c2537368022741167b947308f3ad63311f315af9c9626338d88b81c34384d7b211151e66e35233a0516ebde8ca04478c655b8cad9ebb69f2d420f28dffb8d717493bd359b028ae4d3f98ee488f1b906768671f95c9b6b39b3ea94359311b22ff47d08cc1c3d7accf2a917383c3ebc2b1a3597dc3eb767051b01138f8d928bf8c023e7063f58564ddd888dd383035c8587ab3b09b5971756010fa60a875c52fc9c0e85a463273bf63e6a7038cbdb1ae60c10ca6097e53e8b1e72273fab73196d05d97578c6e3b2072491af94a6210209556b2774ceaa36ec7d0a344e0418908512850f30c0b36adee9528dbd111140c46f2b4cdb3ee215914f46005d6b18b6fee8b389a93a64231353e198a61fe7705da45fa368a4ef03f95a229096d61355c3a74237bac2b127f9ea8f9f8d5fea7cc1ef967c53e752306c3c22fbd88d60e7959c8d497112c449968350a8a445d0e836786fac4856fdddc6117f1330d9938828b67ad2a443b49e338d3e9463c01a3bc48a46424f610bec179de8b799cc3a4d84a670bb9fff1be0ed413068086c1ad531ce5ed7c660adaa68ef839c6e10a1e6ec280c322d407169d6660243d90783b9d7345f744dd3b93b3ce1a11e9b62fba3e1a4cdd7effe3e9e300808740c3e06040180008000c018681e1a10d7904032722201bb5f9b67676a8254b38f445378c156009c58785265c27a071468627085e82339fbba3773fd8ed21d44e07c00636e88d56e13c21b22ef016c7fc74bd4adbdad37c51459a797a9189ade32be0f3fe0dc6898bf0af006e39191d8dc4b845d908ebbc5063a8fc0f432eb9f58418c7cd9b4a608574a9378a4735393d50be0ff20a3461d11ea4d8e96493648c8aaa5301a41e65793dcaea318f0e562a3765eb892b9781de085aac8648b3b61081ad3855a88b03aff324054b07dda0f75a477bfd6945794d12d5ae60dc7328f516e51bcffaa3c64d6331b881d1673410c673430b25977eb4819ef0ef74ef90c0803e9ff5f38b132de60f09a46e42aa4d000c071bf3222a52e09faa2225d471095cad5a77ecce22242b8b6e2a99e0b1a6e0ce1ef7793869c3b14304192ee41d6ce2231636e0713cd8aeb0382246952a2b27492270cf3674eb96d3949699de2e11da6112a93f34820a36466931597f7b34b94876a036bc705a66dac1a8bf3c27c049a48a9d1f03558df519769a0b2517a411384bb39a4b5763d567518294d4a70ad18f411436781c1bcb205ed62f2a33fc729042bc0816d48f8092a5ab1070c483d7a961959d520b98b6e082203983c0f8c3901b62779d1005982ef82f1f9b15e499825d54c466550c2a6e7570297500b2212749dc682f875edb7f444dbbc8fe313259709451bf89058458adbcd4634517cbb1b8789f9b4e1a163ec575361d27d99e5eb7924491ee69adfeef5e60b40512a843b182476ac2abd6bb6597c8624671f1d0fa8dceb6059396df93fa614b3f187463be1570060d78ef73e0f76ea57b673b9a91b3d075bca7166b193405a45233ef5deb1ac28412d84a5ec745a958154a548a146a4db657cb785b6b77fcb3005501e2673773c27cd7590809b48ee1b6147a986a202d0f89eac2ad424958e3530d6b59da1d4aacf5be893d59be408b897098149d4d101f8a05e6eb83d2624564711979ed11f246008d1c7119c34d35f88bfc26eae87feed41696b1bf4629b7d06450919c55e4ae08b8486be0af4aa06147cd60cd438e729fa60e5fedf642685db5c9313f48825ed999d100e0b7a199951b0f870d0805fbc754207a59ffa6cf954b97e300b604c37dc4461d6b8ea5782c96bebdf9ef8771d1b5562316ba1a1f96f88341f2d567b6dd0d9bc7d2747959b25e13a26059148495e1d33e553bdb67574e66d7dcc6d8a4435d236d337e1accdfb7b8df817d6c2dc7b72186b1ac2ab78d1e2199e0738c731f8e58a507360497f9acedaae82c70fcff9c4493a341b8430c16a034a6a3aa16f8e0f2b8eca3772407985434fa80998716b929e8ba608afe67bc1199576d6eadc3bcbaf526da588a41163544440241e535d8696872c7a151d8dd2a8153cde1abc199c1a8a3e21ef41bab2d3f402ea1bafb8e30d6aadf2ead2630a00f6fba16eafa183862a0578de1bb6ef4b0b05e5071885195ad38e588dd93c66c7b55090e848cd13cf6efc635466f32b50579644e7ffabfe67098b0e3995772f739201a09eb93754e2e0e0812279a6737e3e9cf6c3a5e83b91311e4e8496f0f660e845002e058949f007fdbc56a6fe36ac2f095548a67589c0a9025af0aae63963b00af271f10b0f61191f9f591a597294bbb58c3b781fad69db52a72f1355051b6e34bb5618c22aa4f1e8622bb3fae2a81cd537f63ec903f0ac8eaa8d03a5774c409289334f4c88c889ba38cec9a757bdd1b6dc2c0c097b1931f50246997d369013cbda490230e866d8a95c8ca6c55b06bcd55c4257f9f369cc46208821ae68917461e6036beeeaf6a45671d7e2231d9a47eda88dbe689574800d551d562728363d224ed2af928c492d0d7bd94cc74123afa277be932605d378a3a072f21cdacedc2f19f37497995d9b893a9df80443e676aa19862ab92bce8e98a4316b418e9245cc100af3086c00d46bffa9716b68d01e0c030178cdb7bf23ec2516dc4d104451dcc8d70312a273d9e72b40eb3c25d2652e75d46c846ac0ca9fd7055bcc928aeca158676e0e69c2b9fbd1949da094765e01c289fd89a2c6b61179aa960be528618ddd8d702b04af1ee1b7203ed333a884a82f9332db1bbf4bba8e73cca3079c27609aa2d3b1127019153a7ed44fbebc64ada488d1e3b2fad7a98059d5d0ff580a8bea8937a2d4ce19eaf9564de8b7de0c1d89a6391dd21ca5ea6dbc0f1d90f5035c6b00b21a49dd487a9940489445a2dee459372b0adf455145565e9e10d59af4be5db01a246e03b3717a4388aa3999e4bef816b3b63b26101d0a603d563c89f27d9f643c3a2bbc64d8819226bf580cb0ed7df441703f223f40e878eb81ac3cd4cb3702ce51cf1e2b096856366c5b82e01b8b54e159725289cba26851814f2c571b7c803e34226bfe4a5532cd35803f98cf605bdda00235aec9a23c83af4a12ad0278411684f3d9364dce0fbc9fc8a9351a7abc9eb19b69c0dcdbc6b12b1495737f55de174a51bb3163ae0ad94a3b8bbd340ce731ce19f46187f12a2f1a201fa7936034b371689cece6cde1693ad7a5b16831bf81db8a6c9997da0149041d340930f791577feef25b08b02c8e48cb5cd2e601b4afc1a204614a0f315b33a759265bd7890e445db673bd8cc9e550abd3e0a1d4dc7a6591fabfdd1b51f458989dd6fb0543fac01f50d3d1d034971eb28f92f47bdc0f2acc962084d45d317b07c42fb27f8f507cb769d3dc9269b49b4a0a5dac38588a2eee6f458189fcffa90082e071e6ea9ca03dcc4301808ee62daa539eb03ce73477b55896613a0691358f697de725272f411e6a05e6304f61a70389449afb56a0d5c28388b15bbcf02d6248ebb37f901d56341a36815144f87600d29dc814381d82ea41d3326c4e7ab65a8a1c527d4ee21629dc6ed1b6abab596546ce61f8417a2e19c9feea4f6877274926371a26379aabcdfb74d401e98f58051bc3b2054fd4d502fb3876aa382f6fe22a3c12c14fff017547bff26e54ebd9c3efe1a587646f5c78ba451916a797350ab58dd0b053d3668eb0471cc0728b2887562b9141d8bb9738ddf03846ab18cb3399c4e47e66f947fc399c5c34006184504f58a6c6782ca75e898251cfd62a5b8e51937a550fa9970fd64110fd994183fc510743361fd67316b495ff768af35f368e5789f37a6641bf2109e547ed5afa88634f39b97bcd31f12bc1686fa6cf9447788bff7a98f7318e0863eb843ff1de663c744cfac13eb2dea55cc7a9181844d3eddd60c44d4979868db3407c0e036d88a849f71724a19cd04b215a958479b3f2d0209d5b35616c9142166ba590ca920416d4f28a67f7911b49d238858c327941a46b49539bb11d9e9f642e6f69563b0fb525ea920a0a365cc2b06af14da0faadb60a91da3937a82491f4c5ff319253320b4ef97007a59a33d301ff193bff1181ec30671f5e33ec63c838d09edffb3efab02c53da41aa61dc097a567fbc7d74287ec615c1416ca7da73473744eb49769c2be85ff098536c6b674607db65a2a70ba1efca773da0ebb05382d0713dea09fe542e7b5b599ea29e2553a224224bad3d6494d8fc06acf1c76525b76029fd64563e222ad3219983fc88746449c5e8920a955bb7d590e4854398025bf17d564a39cb847dedb2f521c8db9d44382bc17777df984ffdf39fdd30ca27b651eff1a09a686a81dbc249cb4923015569c143fc8d988065959565eced15ae8221433de4bb8ed8b7850240794d9708ea2fc849065bb4981c8792758423e5e0198ba009d4e1deccd4763145d1a433fd58c72ef73d758350a9da6da0c1807382147bc11458e8c3da18c50f29b2c19bf77e958affd4aedf6aab93eb186f1671413f977f1258fd35a6fe98930727b0525dc5d1cd75197a471fa65abd8149859599b3befbc8ed81a6287dae4fa98bd84fb9a497cc10baba1147ffc9ffb556a4234184d8eaff97b1348f00d5ddd7fd386e5ce22175388adf5a44af985c66b07b59b5bfb5541dc8c6ead120cbed5e628188065abbb9d35b09401789b34cfba3f9054a4beb04b077520bb192de69f571e05ad4e3a5b10f5f30cfec27c6ed757d50466e75c08ff6aa19b2c42afec858e828b9a54391529a9e4453363951229f7973896165b8d3a01d4151da4c8aeddd27618dbe8836060b787edc7ab80d0f6801875c4f456046f8393f18d3e00b9bc7e610a6004bca112e0ff87571bee15e8b14ed3024ef84c38278be3010cdf8070debe91108de6ef55cadadb9688328c4f92e84a52263e93d055eedf557a02d1f6921c3057df8dad31d65054c68a9b85949453f45ca90692cab79ac4ebbd4009f2b133622d0b7d10e83b0e25ad0576a840ca68b14c0a18d99513ce32866a106a9125b6bda22b4cda48b4700671da15de62f0257e4f693e971a5f4d814b53775482f75fe015e60302bdafd351c0cb7f13e7b4941c4f30c87713f20d6307885e3edfe0bdfdb7b8bb40223ba1603dfde0383364cfe32e5d4f494a7e596e1006b1242438222729479094bab17390096435527676180526682004fb5e433d6d811daa9b965d2c90027a76a9c6b144a10fc21df1b2b6574685b1360e9aa625ce5be17d0dbe965ff81be4f2db05296023c0ad4a00fd9f5e6db8b740ef3a4d13f0a123619cd092c4a381bc6e82bbb0ad87bb97173758448e5ab039a8944a35fab3842e840e64c32940cb752a6ff1605c3c92175fec27cc212a926098d7cc4c672be40db736d493fe3190c71e9af1f13fcbf09a0631a90549a45d3ce0dfee4c3ee635ca41e00d91c8aaf1fd023e824b93e8494ccd670840b30ad6a273e999f73b97e907ade7801955c17db1bc580b2381dbab4c13706133619c2cc4cbba96bea5a07d22292ea5d91ab54abdeeb72937648bab73197ad68e3e97d055141172e58cef405644328880ae047592183f8a9ad2bf66a1242b847dd39915ef10961919e3adc845a3e4cf797bbcf30fda75b4f1787e3836b87190f3578d77a60f9e24bd8fad0526fa7f13ca90cc408976beba4100c8d26d92fa6e97ac7422848bcb3715e28d67b93a33e6dc9dade57df6ba274503abad35ff986b54a0cb553ad8fd9597dfeb243bf241fcfe4967b434680fc2e103aa9a655f7c82a862b420c77d386b0c53b1a181080cd17ebbc4685cf00dabb62a1ff955668ef6126fff635f8e5a38532d0cb95197212c8ffd3e63bd95c349554aebf35b9d175fe56fa9d45fe2c05ca8f357a51c359455dbcdaeb6dac452c218a37ed4fafe8c588b2cc286938045a85422a3d514387c54b4854085582c72e1cc4c67ec367af38763a52e4bdbbbc652d75f112e02afa1a3317d5c93c5876ab6b84408272108fa962e5f0f5ab99664d330a3e99a55760a9209538d951f69c71194babc20c600724cad4a100365682040023709ebf364dd830210b1dad6727fd2fb4ea77a699519c56d6354f4326a9f18615318c8cb693c1cc65d7ecd8c638e632dbac4e8cc9dc87c7b89a6bc5c56d274234e5c6edf32a7fa6f8390796b6991c431bc549a4b46f123962035474534db5e8470a7b425c5b7cee35390b82d61ae8933b50fda72948eacd1d78b45bf81df073d6432c81fa9ec12580a7be4d29a9c29e7b15f53122152071fcc204271330d8c1e1206e621ab73eaf1291a8b9cbe1525885adcf8e11b768973cb44fc085f181612050cde8f5f4e6b413c94014fb60e4e9f13a7632d22a69c2a32e06b524ecf943314f8e9be7682bea9bec19cda605c7d0feb81306b65271001609a24ae5d9e8c5430760140c168d014717e2e6337a79892ac0941bf73e3d9a6aa8e643b9499108c68cff5a916f2237da806b294a1b077ba4752ef633400c3cbee95ba4116e8e3ffa58e58ca8dc931023e6e713da94fd9cf19b0720b957d84c81f5351a97ab9a2ad84c454c8680f04c6c0f357e2155a4e14ede854caba763919268defef406c0fc486570b11925689406f59f1f917499a715aa9d04e2e347c9a7fb09dd71680c3f49636c6104bc467f217075d8509cca8d8f8de98119964bf051ddacf060a29280e5ce029d494091724391df45d4977cc9ece12673fab1d59263b45961d57811428c51d058b6b4d30fcdb9f00f380b3c3519dbf036e82f56d1ddd11585b04f89104d750c0e34dec424d6e0a3cceff87bce82ad7cf6026975461c2ab0cc42a9d215e47b54bdbf6580962b5f83342aebbae4c0a5f83839c11d72aa60130e9531a76c70581e861e5d07b071482fae33472a5750d4142cb064af1db610714e2fe179cc71d7bff9784a0ca927e41b2a6cb503a962049bb83ae48030291277972232afdd33cea39282466e618bb21bfe81f8e19b2ae753460f2312a46042566d68c22069c150ace50729304166548497061a07c3703173e94028b74da57b5989bee7c82e1137e64fd4dfe49c10cf69744f45490db8a09980a7ef7f769d7a7a0a55661f89f12dddf16d3f6c44c004fda6dfc49d0c791db4f407f043019ddd651319265127b12b839141386e7f9e2eaeadca2478a2405ee24602489316861fb474e2ffce70c4f42f864618e21121e2929cde56b78aada6c6a0f85da0da4929e0373a8da927e81865ca8fb563fc59114f512203080ce8135a11e9acf6703df93495af46a1cf49f4fc7737f7cf724de6c00dcf79a632d88263ac662d3472a12ae2edf115875a47354a4969a4de138e2044cfa9e9ac2f175f1f0d77d0e4da1ba3622ce9ac278fb87030e30f4f007c175e6673d1e706614ada81e3cb40616bf86f0825b6730eb44a70970352f9c6c68dd5cf4090b3a365cee1257353858fb07dd1e3f6f489c38161156d15db5b422f916ea3dca8329987feb6a5c7bed8a1e3c7fd2ed619f0e67fab9274b3ee4f35a37ba1f3f150bc05c2c820774cf66114139ada90c66da37fa878b745654193fac1b19bfc836c66f9b62fc0a8a6f8a339c3708f06833b35c76460d8507e2031bad678fb783304a9eed7b7bdf7e82a282e071f90a5c8a4a5e753e443da118465621e17c2224d0dbfb75a96c5e0e04f9a47c1471175f18ac429aa738d3a17c4f52ecc8df77832e13387843e03adedba563b6a4d7a9ebe578d8d3d1b911669a5b8c9e8f30130566fe6fc163a2e0434227e41c1b65df302e4aedbebdd91aff7e3840a58da53e43413bd3577c111f221f5dfde788a9d46f3d5eea73aa1046a2d28d83ed9deaecf62d2f54dfa76d112792826da908748d4f21fd093a58026cd43a8fab3c2cbacef6bd054c56de126499173e6138e1b8ff9b3bf630c38d1f323a806232ce9ef4ae2ebd0f5b370f0b383d43b609e0e6fd220e156745df322a8b61338dec43fb71c2d1816265bbcbb3831d7104aee208d4451a8ea3ee3d91ea0573b09e48b7679d7637700f93409fd2e7889f576b2b6154e76bb6a2f60d0f1fce204b83a2487eee79bf2ccb5b254c1afeeddfb858347d6081d75e3b7aba1cb80173c55ea8189a3168e2df42122c9ed03a0b293489df9490e7211940462e3232f5b25f20a4943a70cb3b51f388e5fa64cb25edd8a2a2a3ac4a0d01cec3c2662e385c78513abf5570a80885434d97400d137b211411a6596217c114851458f4868a82d8c1f2cb13679ae4945cc66e7c69876cd957f04cf48a96f02b912a7ecc19eb7a12c4446ebf6f4d10409694ae37b3b9c572421c2ce28cd00297f30c40ad1ea9717ea277ac6af91e24bc8dba0a031d5a472cf660ae4986e8e42191037c15f61efcc603e2a04784e984e3be29dce47801527185985139324378d2cd396e178adc5385a4f558dd9780d96180b723a9f30e72e84bdc45e71432c7340331710d525c7528f8d94f2ec576043916d73d1158ccd51efb48cf648c5d6ee3986cb7359eb4bd7c0016763dfc6ea32365d7c8066e2592dd62f16cbbebc0cc85d9d42f2c6812fb91121e6bdfca116191e7309baa85ed980a121d8106a97d306565879bcb04ebfa5624cd1148ab77cfa177896b467e7b81237e011d851f4682f271a471eb40d302d95c2113c7e7e90c392a39e4ec58ade660f805cb092675c84eac2f6c19bade93bd04c56c92f301239642b896b1d0483a706976ee68eec658daa945c68c82060d3ce0c316634ff5fdfc455610c9e3f9aa88dfc4333e3dc01d3ba1c563899b91ead477007c7f75dbe583f35ccb3820ed9ea4ff97902cb6e12cd24bbee9e01d822f20f35e42567fad4dc58f8c94c7ccd044cc5b523bafa08c3c62165213b3f839d4b43d4f9b3c8a414414951fd81d8d7132c698ffa9af4551987c02a9bf069a7182c8126149a8596438d4c6b8e21df3594d904ef91cead15d6925c6ac0740d6930ddc4a3915dcf1bef9464baa192a1cb053c04950081f02226b5a5358756d6467b2c70f50dde3578681b4a5e2842b51fcee1c0ccd80e7de264d60947a233b6de04e0aa908422f4e3460f306815c88bf70ab40ad196b700e7d793246d570a4cbb769718abc5251883e6295fcac2a3496381ac598c3813575e49eeb976d17b7576a45b9c5415ad3f6cf3c05e1215241a758ab3936440da08988070c8c57ffdc3c53986bfca709c079510172a3cc7e731793303a311bd837116ae4c696541189dcc4aee56cfb69b34a87e06cfe714faec87e707573355da4ea82505e60b5891b8efb8b115c5f02c76944c075615a92bfb92287ee57d862e3ebb9913a3d41caa70e0074c48fcb27d2458fec637086d2da5191f7d8420f2968af818ff33f7c7a3c247bcbd42223c9e34095221d9384cba2ce543009a6ec600a7fc7b77892d81c59ef5500ae7b0de93a21d806ae5649dad2e1b4fd77e51e2915be7109c967dfff233f143bd249ab0a224ed42fc78eb99f893c4893f047fbbff7fbc173eb72bbbb09ac5dd219b5856782451c8f12cfdaf125b9e65620c83b579f29a958dd2da32538683dca107ee3897e96cc2749a51963f6a602813cc299978413af4e27113b6d0256054a57b129bdfbc3c96df50020dc1db1b3797e0df97fef01311470b918af3536890c5bff6a5ae03319548000002f44fd88f8fd78bb313e7723f7548fd98f352061e1959005242af422613a636f2dc7f1f3f42783df840662d4c47dcb905454e7b4238d57284b1060cb53f8e44738e5462ff19401f59a465af8aac35024deebe433cd61de49b662e870d922dfc776643a20b368d9cb728c93db1d92435b681685c80c972ee712ff55e35b365d0ce6ee3ecce912335aa2a694f0393567091813fe373b31a51b8fee2abf7fa4a594780282b83fc24db2f982a94cdc17513206998bd2131e66ab4f9c1b292b298a4207d6119aeb1f74c61f1d76d825770f099650845de3ec41ec34c495ed9169a2f1328600a5917d056a9098df147f4d56b3311db4a6200766df8565718d24f3f93ff1a3d63463d0cf25c980926c849cc0474d2b8e21d8550cfaaa96d87f573686d3af9354a1d41fc1c70449c923a9695c1009694da0942de1d4b9979d2460b154378035f15224c49e149c81484be1b16de0645a9326d76e80348d8bca6862d9e8a568807083267e9aee9c358d06dabd055d4682ee88c38a12ef3cf6df00d61c38733e2666f4c9a88ebc46b3f71e1479aa4ea86ee66680d1b01bb20c33fc17bd6d37038504204f844ccc3f795525ae1a56e885dea94393f78f7e77d77f52c28e4d34c4a5c2859f97b12a1c9c3e9a01ada8f8715821b0ef7e8323523b5430d077773f1a8024f13e0d3a95fb020b257c5f603e92991cc821a2fe40be26f32d81eef04c0a7c1d24c47b80fa35dab43c3189b9e19dfff2dc2f12e4bcbfd2174d0126111cef02fa3002745d305032aa0ea9e08d0dbf21ab4e71fb28817d40468cb91774ff6e2754ea685c79425b23ce1c71e6d71c463df1c736774de6c6d9c10556780de4d406b0973613e7b5c3d6ac83d733e041a8d0602fec152bc68e32fbf7f6ff96524a99a40ce4060b071c076f7295ce30e0e7af6f23543f46f4a1af7f0409ed515f1402330f57e5af5f9f84fa4186b8aaaeeaebb22c89e6c9499a2f6a26abaa2beab3558421ad6e2fce5584547f68f25a83c16ecc5a6bb3c9cd93bb3569b860994cb75b7d8160651fbc5c4a630936859619350727c7f392dd5aec8d454692c612ecc873a34dae2e72c19a8103c39931830b16172c2e583ba421e6a842c6746431520daa2353ae5e824dc1c31a4a807e425108d419a806d0122025356a000101ed90d6ea41d4fab5231a2e6a6eb51ec24a06d2952b577ab0baef4ec400ab5bf353f3ea384adf980deb58c22a48dfb22c168b82151434451714142483562c26abe2040fb696412f8c8964af23465eb2db4df6729edeae859e915eafe7cb1e86def3edfcfea128f68862280a817ad4af798274c6b97a0a6e7d0432f210e99919c71e20457648fb34bc9e9e1db688b9a4dbddda913569783c7a836e9b4347ca1877f486fe96110512955d7294fd96d184d026e90d6bda1e47e96f69198158d3ea7c159644cf3e16b94fda9409da9475d7cba6f4d351851c2bf354026eff958cd1017985cdaa3f97d5f557fd068801795696d5fdb06a4cc765bc047c43b7b49b8e2558c75eab1b60e7384a3fcc5198f6a8ef36679bf3cd19e79c73d63983398772a6375c7fa806d5a0102f1472ec48f42dcb2c8fc5d52056cb795e2e98e770305e08a4c2c7dbf176bcdd4fce65ac0abfbe9647ffdb947e5c922e44b77509b6fed16b166771a3c5d91c2f6771e318fa2d8cc568359b78c2c21108689e80442424740365ba556333b23aab73d5686779f6c7fadc76635e0bc3307cfb7315bead1abe2d83384aa7b40d5c4ed7c3eb555f05fa69e2f6a3d56c7a6c807df191e4ea4046f30421b9baa947b7e3f54e32fbcc77644ed17e7ee1c09aa8b16a50abc6a63a2f37a235127e8c464de0e472391dcbaab0f59b302c9ddcaff7c3d059dbda952d9de077fc610e6b90c7429e2d0c8b3041865f83582dd1d80091d7aaa3704198469243512c028514e988ed1acbe16b1bbc1af463b3f5fb8ffb8082f2d800f1efc6dbe274ae0e443451b8db9ea65cfd2473753157b73d7667754db4b67edbcbd573f9e2a8f06b0913866248c7d60ff21099343c9b0e5164a2179a343c1bcfc6b3f170f6810c197d58c722f75ff0cde0a73695cdf385deb6ef6414b329fd3766fbf6fa2aec581160cf80b5eb573baab063753f9706d8e56cfb02ecfae834a363853f6f27d864f2c2ea9a74b76db51b7494e81469ad7546fde1e6e9044bb7ce8dadc29058040ae9ae90d55f6fdc150a398b0d94d56d5dae74c55eabb1aa5367adba83536d555769952785ab91642138b390351673d508e7aab5ad6578467afcfa34e4eaaf3557b566f815f9f7f5db1ced51b3b8adf16feb274b1ebe6387efd8a1c2d44a09605b7fd5d59dabea4a7babac412e9ddff84bf4a795e9743d2e73fa0fafd5bb9d1607c8654e8ab3412e73da19abc606b653e2f693db6dfdb7e532b44a14dfd67f5dacdaaa35d5a6eac7630a775bdf99d16a2e637319bbf5df1b83591c9b63639ec2695fb6c6b6ac8d75b94cb540aeba2bfdfee332b4ca143b5bbf07798f2e973025ca51a2779448243a2a649e2c0d8fab069dac59826f96c62660d148f3458ddea07b8a9a6d6e5a250911ec3a5ab38e406866b11658b2cf269bc60b9f2d69bc00f2c2ca103adb96d4ca10bf4df385cd5174d3ec6a8ea26e8b4821290d76b51d52afd68e6876377a83ee1f4ee3c58fa3e8b6af1bbb3a1e739995d9886d3d83ad1fa5b5d65fa230da74e1caaa4e4e78a27faa4fb7bf6f9890446f98a49f09df51985a6badcf60f10f47d177779034fda5d49a6e5a2042309b76111d90d95482c16b2fce759bac2ae31ce25fd6f9c1f27cf1f3d3d0ec80bf6882a1073f97a715fc45e6a904e70f65fd197414c5daad0e447f1ffcfae05ff0edbb103275793a413ff83a9b67ddb9febda60bf4ef8bb73ca97845a5397e1eff82a232fc50293e583ef854bcd48effc382a5bf2efd45e3485d68007d375da0ef5fcb73f4f5451704cd93f4f5924a2576bb409f6e3aa2a60b1f863e047e18ba215389dd607621140abd16fd289aa7282a45d13cc1d07cf0c932dfb27ec8ff87d5ee8212bbe9e99a27d0b7a3833108f38739ac204fea32955437e832b42ab19f427e9c802a485ac50adfc6e5fd3a3680f236e59de09fff66f3be3ea1e08f81baf3df8b4f70597a4a24180560c1a286102d52e496276e4b0d30962924c94205c7b0d868161b78182c195040c4b7000182ac1858622062d51f58ac989290615bd3c640450848f0eada0f349448505fac1f800821a165b0527c9034b66741e25b55b906438da5c3aa61655fac2a512d861a8bc6ba6165bf545564adc56205b144b0b2ff527d98db3ead3297c5a29131e0dbdd5a4b792d3a38904d8b4e6d014286520d587450492ab27e58ebfd4a715cebf7de7b43c0f37a961928839319d4f8a2c0eb3497b9a4cbf2a497390d69f9ba6132eaecbe8c9287efa8df52eaf01df559ca18df519f54daf01df53de62ef3d9ad91252d494fdd20181b31b9fcf751f775f4ecfbf58523fa1bbaf867880ce1d9f78de0daab3fd517e617e50fe16cd2f8b82e689ef229974cc0f736cbd5a4f171d59c2b8d8fcbc7e5f30afde517529853b33666d9fa536311f0b5c9443f68e2d80cf8d9649231085f9059564b9c23b3a9d47613c39420bf6a1090f5cf988dcf1ae48fdb17b81be31689b31836037966a08df1e79fabaabdb9aaf278aa7ead95b28c4e0d6c10d4acea1707922d02853c47b87df5d10ae4a3d7eb25e232e708412c0b23b8cc3d5fbc06b15c356e73537bc174393777790cd4567b0dd436ff80da6250db1798121554835c157a4b5423be6bf4f79bd18fefd56fdb79f88efb63a9c377dc17cb18df7177dc771c5789de7de6615992508ee0bb7e8384b8666244684664bcd69f21fe2cdc6cff2339dbab28a1ab3b5e0fdb6a375cceab57d9ecebcdcabfde6c2a8b89cb84dec19a178bb2d6a4f189d553c5e6a99a343eee358a5cbd268d4facde5b697c623e311f590e1ed964d56475dedd647b0e7452eec236b959633d400ec83326e6c7101d2e43f725e19303e8ea8392f9828f151c515b3dc1df44c3c0b7c32ade9042ba7ce94f25f88c71319de55b96ecfc767461393bdd3687e55bbee5c9b0e559de962dcf52de9b8ac3fa08a4c5bc2e47d596d286a0e2b04f7e152d58bb2eb930d29b6cab37f97504423e58d60dea12bf97172c4da0fbbefda0046daad65a6b2d4ff63ff826abda73547d976fb2f216f3a442e95d7ea6f42e2693272dcf84dad4e84bdef39c4dd52f994d562de6e9bbed433e3099d455e9c35bce51f561b42045abd3ee78767dbbe3f57ec21acba3eba9bb3adef18e77fc7baff72cbeb6666d16c765602d5f59dee5a9ab3e78f1594a9b636116c7be6aacea03937a2af495649e60fd5046e9174622916ccb9b40778bd9f24d36c9f2b6c9662995e04d5a1074af3b97b95f495fabeb872d9dae3bef3eed6bd717cbd3eaecfa61b983ed5a2bee51409ea493fd26181bd44dff4e5519c0c287970a46d081283a0c909205d00e7a18a24a182bb774a74b62c7d498cb92e164154ca8b0b6b439ebd7d65628427c612049ba292d08ed90be6995292c2049925e903491a6afb1699529476c71d32a534cb04f544e8bb07eccd36a47f8b169017bc4a6ea1bb1a9fa366e20c317b1d054fd5a5692dea8ffc37718e4495207d0d50d95e0e752bfa83ce10fe1fc33e1e7c7d84c6253f545cfa4be2ef353971fcbd211ab0ae5727c9792ae6a2944ca2c5fe9caa5a4ab3a0219d212bf03be1abf54fa2a945186bea5cc5f6de9443fcaaa482c3a6402295db53858d255e89f2c634452397292fd885581e112ab0ae94aa34aba124bba3ab2c448120bbe586a9455856635499ba2e60c75f56448eb4d64a8a42b53afb083395c8ccdf0922818e64b9dd43c516237496fd0afd1450faf5acdaafac25c68bdd670b5db7dc17262325f6fecfd8c63ddc9f1e87a7616f7a2edd46c37981c584c4716ea81b556a3d96e38ad1393cd764637584e4c86b379aad68bd172b35a8e47d7b3d3bc176da766bbe5c0623a323cbbfe63bde7b2d94e1dd96eb6d1e865553edf2b478bd91ea86f59a4e572fa7b319c172c2776ad8b36ae6a238a404040410ec8ab2436a53f0716a4ff382a95d27f2ab9398afa72e8c8245685adae3c47552ab06d1be0399b32400f59f3ba3747e15c3536d5edc55983211a2d44abd14221c7ce02352fe370985934598c56b3d560b31d1c5e2d47f6c281e5c478b79bf55e982b9557982b0e5705100e87e3e9b98ccde9fce7c8185b8fd13b52c2b5c0c20cc72379b899ed861367f418e9b1d0ebf57a6ab6186da766bbdd1c584c4716dab86a5e3572be219ee3d1d17e35b46cedcb63f55545e4a5edd46c371d7459bf5b936be46686f4f4f4f07c7465ebc8630cf2b4edcc515a056cfa703b3ba3e2c6e79be2c7e7f3fd662e635518c644dad413366cfd42b4edc562a6984e2e663269d9edde5e3c395dcfeed68e0491c16b9911fba932db2361044f69192db7f3c1e80be706cbb7f6e2c9e97a762c475ce684a1edd46c37d2f25ce6e6afa3b5dd7023fc1861c60c1a341a3468d0c29a2d46b2bd51e5c9e97a76206da766bbd5eccffe68ad9ad3ee0b961393f188c93a11ca67e3f29bec304b98b0489e9cae6707d2766ab6dbcd81c57464dac655f302f2fd822c4b2412d588d111c6d4a861f193debe5d5dfc2413b4a96bbacfa6f48f4ccb7394fe9f4de9f7d8ef67559ecbfd3cc733f3dcef776b62bf6b13cbe9c86c0fc653b35377b9fa7373968ee70b026f477239578d6c4fd7c3ab3d1ddaa37accf70bf21a9bd3723f1edd8d775a584d6ba7e6e6ba719993f670f4ad6d7ddedbb5b9af1cd90b0796133bdda724c91297c9f5084f4ed7b30b62c35c6f36ae9adbd63961ae33a7d5664e8b129bcd66349cfbacea5a15ae69b1716cfd30a4e98262ee0434903734b7dd5eb06963fca491b5ba1edcc31aa730cec1d4a7a367849a1f384184cc6630c9033f0943f0b380ff08cd6ddce537f8f10f28c859dec2b8c6aa8e0c8b61c63cfcb52768e3af3f4a922c61c20af3f5c15d988d5138182ccae12e2edfabf5a5f1c1e1784a984611f9444fd43ca9e06fedbb699a198d4c1204416a3e69f46709c6539964daf054febf6249f5fbd96ad96d1c95bd758031c8eab6db7d7af3cbc22250489ff9cef559a6f9de5c0d67753557f505f1bd1ac41aac1ab4ba6a75b5d67a738eba792acb6655577bb7fe8c3637bbf7d6b479baa79b73ad5bbbf7de5aed26cb5506811979d25d0d04af6912b1465e03c09198c7d66a1ee2d2891da2dbf9e99e213d67535e534106b26ebab24cfc8003d74a8b45a0906f554334364f58cf0cc9af3588c198192e69beb0e97019303bed96d3794fcf797ce73f62a8b34e0c750a2e86fa8aa116cb179812057acd6bae1a01b9cccde2783cbfeb9cf6a8b39df39320f824107cdfb9caf67ef26f54e2f26508914c3e4ccb068ef3182148fe9c5f47fe1fbc9d5f08d0ce5f7578c7cb7f6f95892e731998e3788ec774b24d7e6ff5ec4c7de2e7af41ce7a29615023100c8acc132eed6cca18a422c3a049e333035f6310c4339f990fcdbedd9523f0daae7f9a01c20c104e3358ac9216695149337921c481afb67a7242815eb972e5ca96f14aee9631fab3e5c96fb24f279cde9ebec9a6250b77b3429e4a30100aaa3c9942841439dfaaf43a84d2041717afe1e331020c2a0ac5aa7e90dcae2fa4fe8ccbd02a2b90b213b06b153fbbbe117c69be9839ea861452847ff92bc20b064113089ac0103fbee1df3084f0de1b86e18710824b797a0bc27b39e343284da07bc6d311c88ccb4222a1b05a2fdf646545f8979f11e15f5e5e046b69bc082f82c94484a761cd53c99551caa8bafac19f5557ed755505e1fde68563eb0c3d43cfd0335e6badb5d641fef56b8f5f1a35def4b8acbcbaab355c68b8bca8de4e5a2412dd7b6fd55d1d626cde10541cfa7f584de36bfc09fe9fe49fa62afa5afa2ac2d7b282ef02d6a8208dfa6015e1a5dc7a8750ce2875bbbea93e08e549d6ffa074892995746b13924089ed277300e1873c2babd6c4e8e0d1629e2c8b79b2a692bc49f36449e6c99a0f3e397e4512b3477b7c3214dbf5850c99317284850d4061a375f184141f6cd0c4034030a182df0fbc2ba0583114e5b83841c5889b22a20071c3858f12337001135660902204ea1cbf1a183182132821abf9b872f8800dc4c8ddac68dd3882fc98fa3ec0b06108314a20832b5156f5835815fd51918111c4153e40b1c5aa5a93dc74a7cb619ff5e43f440e1d01b6e3a0297f4a007ac3ff831c9200db3190a23e085071f8fb39000c0860d7172b48e240d6af7eab8f91e2a8efa4174785f6351f6004099a447aa3be3d27b0ad9d85fa73bc80b44fdad4d326dbef9fe5b62c5435be7d92f6102f7600018cecf02dcc9843f35402ea47ed1f311d5d6c88cb9ca81f332ee3331b313fe7f1dd0fe82dfd9379b0cfb67e507ced1aebf1b1e3688fdf68749e1def471c4187a76a58f683049790d8101a911a0b3c2de88e9cde0a326304c9129ffd55b247b7ab6078abf6da5036dbb1d5c5db9a49ae3a916e8a9a6ea7dbe9763bcb6a8921f5844554b26c0b804d4d56f504c8a80c7f2cc515ec8befe30aa4c9e4b2582bd28f9e8e33e38b26131693c92afcf17ff8ae23112642dc7c7165153e1d57d8c0952b2b12497445a0085f9c439658763ac1c59024ca6145242a4f709b688fd309ceca8faa630979af426a73ad3446a70b5b648a62e8a151ce9e812c6bd390f2a82f8955390e0e0e8c5616af26b1aaba6ae10892d37f311d9ff98ed76cb89cef8765b49bf38440edaf10a87f2150e310a85fb2c73cf6c3b17614e43eff8df27b7e32bfcdb68e2545d282e3f8603937499430392b6fdf9b7a03fe92eabaa1a0da032faf5e7047abedd09df302a35ba279aae6a91e69e14af16be99c338d4fab65f335fc8eba56c4dadbd759ac98b3bce5ac586ca717cbf52a9835ceb49d9aed76593d39d938d2c81af993ebb190a4f1e6aa31c7a3db8dc6926c8927ad3bfb7e4e90998741d98851b224898fb653b3ddb6f84981dbe2b7c56f8b1fcbb24e3edc6eb7dbed76c32d24f83a2828df7ca9ceda88cb9cd496eb4aff7d126a82087199f3c573352c9bd78dec05d3d9c9dce5381ef359280ae95f280a65a05014c2a128148a4a18541dc5f71a57d92016162f7d8fe75c57d2effa65e867d12cb6cc2c250941cef216d06fc80c0bb67dffd65b8f92254032209116a4d0d9f793dc6742db77f4a1e8e617dc2dc793822d8f44350bab2245cee86f68f352c2382a147a4785ea689ef27d310809b7fe6893c607276b9d697c7070721ea685349fe4bf0f96362d65938d4b1400762e4f2858a05ed9a9fd026beb6721ad60bfe5ebb8823fe9ef38c3f22d261367f93bce904f3299b8ebed68426a63d36b1c753f078f7c79795102b6a4362953debe6fc52250c89bc5388c6dced95f2e73bdc6aaeaaab264ac9d0a668d739437c62bc10a80c15afb0b298fab31c618bbe03129384e000e485ac58adc7592b516f49d7baf06664e0071038d8a0d0f3e350a340183628b591448003906c10ef986db0e604db0e006493871c67eb0020459d460045b38e88103c4e0081a748184132928411300004a010fae1990a0c2e35fdccca86d31031e952e96b0c24406a420918415520061c3947a3381246a20c1ee882a3da042d359f9a18b0e1c616384fbf562871d4c01810e5174ba08028a1480c1051236f0d001284e64709c040f44a2f46e50b4f0220ba0285f63f384089b113d88c247a003cd412c0a1436b44410c50521284d62b88247b6831d7e18a3040e066106b1430e3ee0d4e003143b4fb89c5c11060db32c1c64ddc04499618b1d1f9e4e0e96a057d43eb0aba182032ec7750f5650c30d87530587217e21251600850918a630d1430c62780f3bf010c3115c10210318e85a5707309881d78adde0b3b152ed4f6606352d58113fe820679708e2610456a0c8c11335500149da02100737d0405745eb964be2e42922061d6a3d8c918303dd4cc089170e8fcf1542609173a8800850f0011ca210e20914f7d6ce0b6a39266c2da8f162c683152b70228b2c6a34d8c2790801ab06831ba4f4b4a46c81c48c5daf0b283b1e3ca17330245084114fc4ae783d11c41102a8828318105770a2b081db80845718542ce1d302899f100a90f0401041f42004b51d140ee27093fdd478d869428927321c54b4e0873190a8e584e1eef7e5c2175928b1040f709eb019e180293ee0c060a737448e8330dc946c52ac4007216ef0048b22bef0b9810daf3066be1df88f14c54d10605441040d52f0845a7133050c7a98a1099b16be430d3b19a2586105165a5809e9bc7288288110af9d0a66fe733ac1210a086ed0440d3d10e13203170c21138286201ed7625cc0450230a828e2ca0d4a8486c8343904cd8468c10d49f4e08e75a8536e5cf0ab8109bc90e1041198610707b6430baed41c0430a78b0c08883cefb657ac4d565e36598dbe2757444981ab7ecdbe4fb2483e922f080e09b3d747f9e95ba05e113f878eea1ea80f179d8ae3ba44a18e4bcb06eac3255671dc1a97d12ee13e5d5a2e2d77bf14144b24c957f2d11b97e473a97169b9d8e8f20507f214ed483b7ae3fe291a63df17d5c047047219d18ff60869407d88743c9709f57e680f198876b4077e9dea2386bac4aa0f91aee2b87f6374b64b6c5f970fc5d20547479e2eae7d4d086d31f43fdcc5e572dfe5c6e5457bb8c05c72688ff045f31f6004297af1cf47d970d4fd071841a2f67d31b65892baea6314f5541f24ddbee715636480add7b1cd57633087b44854a3babd386b701c45b104b763512cf5b65914cbbcaf58e28d41512cefce21512cedd622512c7d83a6e843aac3d048a4b1c3d2446fd8178542f4867d5d66d34526c3877b31c6f856c725134f757c2d2ed5fbc362fbb7ba3b0b302c764b8eb159cb93b4a2bbdf1c1a46a0dcd8f45bbdf4f7124969b1c5b88731c65867fc3978fc5e779348962cb618df6a1d8ae75a89a076fe1c2e204db9946dcef856eb42d0fb01170248407dd4b7aff914bb1c858b2149d30bc626ccc3a0c853149f05d6ba0a4e08833cc57d63f635c53092230b7cf1c5396750d372f0d86e6923a1b62b708b06edfc389c9019090ddaf8d2a01972c618e37c71bea00cde6d2ecf72e72f959bbefd8ccd93524bbf84a4dcf88723293736af4d8831c6d65e13e31309863dc6190b8c73ce19db92cb901b8354954bdbf4cbe4fe8a1f34496db55932c5104824870b488db5d6a59d4d2428af69ebb9844df1bc5fadbb5fb327a430f4cf9c73b619b41f084d4e989cc04e29a5d4540a9982ac6fc57b490158a2a491f529766d7ab3b8f5dabf26b394e3479ee4b6cf82bc841519cab55372a24bb05ac3a730d929ecd5fa4b429488d02e97b9774ab62527259855915c63093576009410e16c7f8dcb1e6a931148ce32d007d114d394af22518efcf9e66c23e99fa46bf0e95f2a0587425074a5dc2c7a023f85394baeedfaab88555db407fdfab24934d0947f56895f593655e3c56482f9af3980c892c616cbd613fb2419a88ae422bdb6ff49fa00cd2608d21c97e422ddb8cc4b97a52b040a925a12cbaa423e4ba281aa4262d0142d696c11cb59a2d79ae4a2228db3a889e5ed93a463b3fdc59294e32498cfaa4838d0901854457ad1943f8d7d4d92cba59fde124844f51cba5bc3f462324931f90b3980c8c7b4877d9113118c8a84a0aa2762fbe3f252ec186751e4ba8271d814bb36768a615ee90d7d655fa06e6c8a60b0dde33707360906cac8fb94a41f4821eb9fa4183eb9e93ec33f491b7ee8c1f0ed8b3e84226290a1793a81dcf6c96dcd10a94d9619482038a4cc7b5a76c80a7aaa625c62c0b70e1b7fc8d252015b42e28251b098a44092909686bfb6e651b0264bcf2460a5d674c7e56572e9b67f8b29f3b6a1ed66bd99b5566136e7c2b0adc96c921a570d6fd6f786598759873949cd4897f314c631bd9a9ff385577da016e9e011a34191088ac43a02d1ba1be636fecc93c32c685d9daef7569d6e77d3fe2b8cdefd3930fe6805ffd18f4c0ed87793b4297f3afa181ce97fab6c27bcf7b671cda64e33e3db1f7f66f43e1a4b2f41d3e7d71f831f87ae79bad93cddd1041cbafac658555d69d9cbcb663db49adaec06c3ed6a3c66cb790f48d33b798661b4cc65ae1a776c9c4aa8d42c592531c914b20100004010008316002018100805c362b130cab238d4730714800e88a272469a0984a120084110c84010c300c610600800c02804105386e6ce00557fd79ef461a8af2460bf7684957edcb30884f2169221f261d614bd34d7d1249fe151bcae5142d06eb8189701630aed8eaf28522abbf2599fc944b497218579c41c46606dceaf6ff0a412c1e78a2a9f5c287f121b07545370ebaa1ca3752dadf3a2e9954a37013e805bc143d7f4ff5dda77c8b4cf188162bf064a53b9e4eddde71da2e33bc663f7ad192bfb1842940577c618e221ad863f03939b829eacae06971e0e7b08fc78175320b8ea0aca17b3600fd2acff013f01ca7225fa203b37827def3750c15c348155a62e5895bb0994918844adacdb81e45d424f5c60e852216f78704b76de4fd1f54f33f065c25611f1a8241341b97e342b2cade3f55b2d8298fc4e287ae92c579aa0bd884b90c07e4ca7f53f30221f13a0be24962b4dd07972771d7c67dac770e0d52055c49565fbcd220756ceb6c1043434508f0e7d536110ac3459c6af0b40b0d9ae417303247a2f08574b5230d30ff8474d242875fa2233eb92c24a1162d7e606ceb936932d413d93d297a9698b44ba54b136257c1cbb6bf88fba71df015d2d5b9ba7179946a452ef33d103159c2c812f59303d0456bb8e54291e783d68d66bc0d10659c807c4d52665fe1d870ef6ec5f41f53097bab404569aba44257a3128e29a66b6042252d27b18c22ad3d231305a0723392b7019a6471315586dea0a2bc8dec00d0fdb4bacce00c74176c495e5110cdc05fa57bf7fe823734c7d633dedb3f67d8450986889c83920ba9193de7fd14add530c27680e54967e91498495d21394fe0563901af71ab8c16cafa095a66e51592706b58bede339231eb0fbafe9d016e24ad332f8dd1e0560c0da5c924f4980adfefb8375d33946b4c2b48cbcf7c9a0ec04057a1336b0b4d204ba24426c41ce8eed2074d6c1c0930c92bd8fee48e1dd8356d11aad52db821e4766efdd6ad4ee138f8104dcb3c0aaab972a5482e71eb67b9a777a5a5cb4cdf272255b114abd89da2ea09530eb8e54c79243ee8e564a396fe51154c1145afc34a5b5abf51c6f62a467e2327a83c9d2d75ad36fd22be1e069bd13e754d1eb00e2a6b326b4bc71045a26baa16ba35a0d208c792b1433119fed3eb2a2017d46c40609a5c0b4ab01dfc923541f39e66b88df956ce79bec0814a2187cd9be5fe60cbf1a658ac71c0566ff6dbabdc5a9e81d9cc807595a1bd02b7687ae9ce0c4d71db43d6637073a843d05d103027d093f8ba2e810dfbf4db28700925ed9b4780519cd0f115dd0f27a440ee95436e944e9f5cfe6b4457844919dda70de80c64b39e1aa3fee09522645f37eed2810c963bda3495764f3138781fb37f0418b4e4dc04644eeeac44f69d25054e68b1df0401b5b6cfc7087e83ff80f04889806b3a91615edaa8d83094d683f2d45b9768896ad826bb6cfe023f1af364c375aa80381d07a81a315bcaa400584ee0320ba00f19465dcd1476d5f92c1ce8eeb4b442107db4bc5008616c89c14c9e087235fe4743bec7a3e5cd05dd5740dc08bed7066e21ca5f739e02dc4263fcb0fda29b4767d592a8b471be8739f1673bdba7ed615ebf53a3b7cd434a302217bd7bbde79d3dedc86110e130c7242f877e898cdfd156be9410e10524fecd1fa563ec0f5b7bbf0f81dd867b2ea8c428696459901e45af235c0beb0eaef5a61896589a88449a2829b63a11279376173bb0abfe606caa46e0247990a837368cff752963502605aa5a519a3b93a1b7cf2b1db510f08ccca5f54aa9d713fe26d716d9965d5d1fb973649e1a3ce13728203cd7b7a998386f1554888607f478717e8a5eba503085133e76ed292c20bb457c883c5fa066f75764fcf758995694d5d566cbef80249c8d91b658fef885786aca9a4cc2f0b8b023a77869172677f2ffa9b7e2a4f322b26e2b06cf95c102b12c95cd55b9ff060d187464871ed0a122b60c3bd1e00f20a49013a41391043c7c10a68ea69bc1302f7502403d6429b03594144f900950b07abbc560471523d3770ddb8d23c862931d49b1dbc48989cec616e4c18e56b2207c0eaa33edba0cfd0ce850238a7460a7634352c1c2d659cb979507c37c767bfb301d61c3f753bf0820fab0489e80faeda4f211b301858c8bbc12957f819d6c5fb0de97b7f30b86d3263bd2815824987e1f47733603c5534c00c030cbe361a2680bbe1874f94114ffb89f8dec346a3222f01facdc50fa510c8543359593dead1af4d07ceaf4dd2dd665178036c538a67243b6fac6a8d3c8d85ff3707793a16e07105fff12290a6831e67773068458c4e29b6919723b86cb4318ab08193db9c6174f423e6610044eccec5a56e32027f8100af8227d0f774978f3e1d91946a55101d1b93d87be73ead653e23038943ef49535de76adc0f64b6f655e5648b3ba822e63d7d444494cf0dccd9170df56ae84e21d4090465aa450b22b8333dbc8dd51cdf9b715105242609a710b4450e6cab0c35f3cc94cddf623321ba01305289acf343d754f42eb0c6e6f0777238d98c795ef258249ca8f52f8779437e72d29a9d4fcfcd3ce37f1747b80d7bde8364555e0fe37dd60584863dc37cdd27f83eb5a3144d9f622e1e0fb94a9e429327d00a94beb201fa960d7981fb7cfd374af9494caaaae471dd4cefe7310ec0cca80fd585e676d6280fb401d83b6cc75a8eef7eb01e502a5dfa270e24db476457c42f7313fc1f165bb8fefa28592419cf102cec173275568e59af8d35b78211bfe09267be61823e0d2e5fb99890618ef6e48d67e91b0ec46e7e66248743f818c33d9e48f134e0a5534a1f83e8bb93bf37b699740fbf818a3362d1ea399c23747d4c7cbe35604825d454a24d2dc933749516941743ee3634acc2e95c7c6b83b478aac660e56abded7fa44bd50b1d03dcdf8ca1868326fb58bd606de5d472e646a38d578240fc44472528d5b594eda303f1505a926500dbbafbeae4ce63ec8f90e817dd995c78c3bce95a684b71df7e181e13aaa2399d88bf26262bd5ef497429a69231c89971be974db6f912ee23f4427ce6a408ec7ae252465376702722905d9669420155bcdffea41cd27939fd06b83dcad50f6ea3937ae8ab452e22d686afa1108907824bbe10451bd2d1d0dff132e0c3ec5eb33c48cd687d8690978a7b4e3860289e6ebfc34ee5c42e1a27cb3a850c444591ec6c9bbeda9a861ece499fbb62e856818f031c3ea6e5bf7297d2fc8f726e95fa6f20192d4da6e00df867f41cf50e244747714acfffeee4f8f990fd0b16e04697a11d72e928ef4ff8363a35be4ce839f1cf2f631970b7c5ffd34efdca57b7e1ad3aca52e2d1049c1dae1e2a49167de83fda6ee0b7b974d1fdc9b5d12e9fa0c38ff4fba009de7f60d0623f8253ddb2d900357901e89a655c358983829d6d4efb00b2d94ca38870e39626eeec302744b9e68a2eb641e89270b24b2559a066a475fed31b4108c4021dc218e316b16049ec1c41dcd89ce23b81ec683c430fd46928b13da801350c28e85b404730f7183c0bd988db0076e069eb50b34177c09f7fbf33ea1ee986435cdafd3770b923bdc10e4473021203fc5c5bd835d05ed81b32c7a7deffb94bb9ea040388cd8e828bac725c2bb6adad813454e1c2364a5fd5e796ec4e12d3b395daec0c630f0a8b60682e99e4ab2f8d532b2e14e96b3e5f52e43eab40235b5638d569025919fb0b784ae42cd494737bcfb1ae855b05062bbe2cac46a92fc21703527942a0a580dd3eb7a202b914294bb861130bdda326dc49dfa6ae74f0adfa8aca4c5541e41ea99a74a923924d3c9ab2a988e203d951870217828a9cbded80d10ec5bfa1a02d193585ddc5ce115a056c4f521e8721b8ab8ce2f0287aa5c1449d9514962a388940e513e9bfb106840526283b96a41ae4796c6060375671b737badc8ac1cd78581030808341dea78fe236ca355c64695866e6e521c4dcbf1e42c234c687d0be77f1b889bb124ec0d75442d69cc0f3c86d3b8adcc7403935f5e1d74fc73635873ac9cce113d725cd45a5b8b95d3a3879e347f130b40f14def0dde5478fbc01a27dab55034160304beb0f8d287ba3409e7ce04dec7262b07de94992a8300a64350a6ac002a4155411db29c91be437faaac3db2eb930fd5f6f8ef6081469035291fb256b33b45533d85fa37606f49ade3040eb9e9de9c531aaf0a1649cd28921489309a4156772fcdf399c28b1ed6d8ba1da140d5d86c7cadbbdc7e0a3c58d6fed0420524cf0997699d311a4fdf2871f3c0f0e03b3817474ad369616d96fca390a26a8257dfc4269607a659a100a5e3921c2259407223444e83323c42898ac762912d4484761ff4872c4b396e35aee594eb11a453eb10992e37c0e4e495bd3ad29fa26d02a1ac9dc7a7ca23db030cb12240440f04cddd0c68fa5d6659e919025f8e5828650aed35e03169dbd998871d7887fb439466808d29a2bb05113cdd589f17d890cbd62d1aff7c45b29771a6338051fd726d4d00801a5f87d22c8090bebcb549922e608197e3e971f9aac2d719e70bd614d45bd59438b2a04cfc22078c5447b82a44f60d3dcca6975e8b1715a4bfd7d85d27d4f271a177f6adf4e416eb15172904ab0e8f3a57d952b6fc264643d72a32f3c09b4f414e408736e56e509f8e6501c8c9ee416341ecd73ef2e10f9a8dc8c448ff69ce0a0e84afe4402782c30cb549ba4ab3f516095ece143a8a82897906f2e24851b0e193c2398fe30ba84f0bac1fffa69ae6802510bfa8164e52ea0827e843bfe48db16a53d125406a9bb9ca9c64d19aba96f116209a7c6f4e30f3593f9b70612792be99ba891884190dbd4866b4f7a3137a5e3781a27c837b5233d0ada1f25830825a7db57541381e9cf02a4d5c4684ae20a2f181787fe4cffb674f25bf65ae3bf6112233f47645ccf4d2b7fc79d585fee37051290072f15cb0d603c9898157dbe165f49c349b64130d03dbc739d93be3db5f6a80a632178c995b26e45e04dfb9dd0228d24b05da54c77bb564ffe7b1dab8e70de407b2f3a31aa23d0f167861e6840523410b566126063e688ac29ec8d99bdf0b1fc432594578bc52e892aeff819051e6064155425d455b5f3b6c7f9882e56ad245dcf887280e5aeee5e106e29f3e083350bc1bdc19cd54a87c801dffb33c04d73f7a462855d7cbfa731d3daf22031c5b6f50d705c623668e2eb89982a7b8185f8ce288350c9c299b8e507320300f94085ea44f4721ff1c0456003663af993511772e36ef33528014757783b257b2cc1dfbb362a40d42fcdafd340d6455166d3fc490c12b6066ba03351101b221223161ed533fcac26060d2b5807c932caa2594c79f4738d351136de93870299b40a0701b054a9957e5a821ea82259dc5a6b22798a4580bf414c0a75849188e72485c67643d2586ad9b6cec03de5878116537a7c5f347936a5f224066511885eecbe7582b81e241a798cec7d90c4c4ff81848e375140ca92181b41969819060b78f3130c90fe50944b8ccad95505e69028f868a31da4a134a36ad63a0997a65bffbe7e420c379716fe461fdd2b792bff457b082237afcd0883c710a9c6bc231aa32d7f4c9120c7ff111d813e0952da7c3f389bbcdf8471541170e7dae04e72c5a1bd82ee6cea3caf187fa019641945340e8ab7bc813371350fe5aebabc66fdb0fdd2e35c58b2468d37720e20f1a414a63b5c22b51c07ff4124f806e30f55f375ddcdb0bd01df6581efc6541df1db7d4ca9a63e65c7a2e42b321e221bf51873bc5ec337f46aafbc8733fdc0c20dfe90a146b1c511f9da615a9b346c3f874f6489131873a2905f11fd2368c31db2914824cc317a9c96b0bc12b5e861b8608daaa11abc48c1a82915bc6bd3ed4a3ad4073f013b2723c59f99f044fa6f8bc6c92e2e422425f0aae176c3f72bffb0f9fa0a74717a522772a5bf9c31c5a6f1f042b0e9c09d8b577834b12eae351666687026ad6a414c41b4c41a96418137efef2260fa20c770533ca24b625363af0692df51d7d52d99d9bb272c8238bd6b4e9dbc26a3c038bf865024d00419031c69a7bff66727bf199492acd7fa55c5d17a99ffb9481d2f6c35c80c2352eba310005df9279e1cc5cb59623574db184dd142742f91f93b251d7c244032afaa21cd64c758e1082ac4e61ac9e0c7f2c0139780083af9df81b46de57717e13cc0c35ad9e321f21fb488933ce83645dcfa4579cd5da06a15546ec827bfd83ae582dc3ce20042ed1e058811a3f07b2cb9738f060dce8d717a8cd9e5666d3d835120437bbe4ae44e23ad14a0144e41a9e8f68a8f21c77d67888eee1f402465e98fa22af6b49645ddc8820ae41cf6087ed812096a0c2803c2873c4c06f0714e81fb16d6c5680a8d499a7fbe87706886288dbed956252af1a1b4af5c95b95178ec1d27f9a28483f03006b86bb6dfb601287c05c0920963a80c4af74c0ca73e8acdc5875a1f92c803fa5ab2c0babdbd2859e1ec491846f41928361317b9fbc91b55fce49bc305bae7750add7644ee3f576c1a66300aec13422a2c3f61110215d26d57086831caf8a4a6cd29d7505743a172632085c19183d54054a2e578060d8f9f89e26e813f5ab90af976aacbb21c8758216d2efabd400b15aa3818b063730845a1dfb4d297a24a65bed6c8e410dcbb8f1a530e61e2faea989c2afe079a52fe4585fb78dfa4099beba69255f3e6a7b92505f58b705a93f745fdb3272f8bb7edbde28486f881624aeb70f7011e41d96cfe4ce79cee6fc7f40ba36a6b1ec1381ff1b37a315d985b89c908b50fe7f08f89ebd079d70f1b443ec99a11a3cd4cf8de912448303e4024a07a5679c1999f8810711752d9242bb5bdaf039c06f12f59890d21d1ffd44ffbdd10a224459cac479a2c4354ea2355d510b428a5a176fed07b636eef1b57d39720f646c1b3a5f21c240f37f5ebbfb533fbc5c95d3cc7559228815458b345569251a42560be006a09413543ee8d675e10fe530eb035bf89a12ccd160334e6f5cb5c35b22daf07a4c3eab54412ad9ff48ccdba6e156f3046e14f590c207ee40ca4740137017402ab0200628f80efca429724342c47cf3145f9bbf9f4fef1651e70fa752d0a839b6fd6e99fc423c48f941a9f9e094ead68f1b8f9c221375b00d44d5ff79fb487fed417e34280d0e135f04931a3339229704b5780f98992393de3fee067c1f4a5c53dff18b780056cd8f7160fbf21341dac9df88140d04023ebe01baee7ab6dc6cbdf8c4149403867d3fbb649cccae4d0aace17e2378b0302dc871beca2434510e10c72efd552166c3b7de364aec5f432bf4b315fdd4805453500c2d388a5b7ea538bafc3444baee527cdce1f1df1d853a21fff3f4e280cc1852178941619c35017c8026dc726c409042ef1f247ffaf9d3ed1cc7b525d756ca8510f53f57364e7c0dc6f70333345872d86278b21713ca237d431d4418666982ae5a2b4743572debb603f9b95d2069a3fa91e32d2517820165140526471a1d478033656a47a17e46d02f6c44810dabb14fe118a9ae690178b52028169b7e99a1ad6b42c2678c7a91d65b42cbac8774156418b4b48701fa6c1d2ad258a1695e66e2b8d2941f175e49db480af42a553afc391949aa213ef1c148f42b1f9252a8dba8f11d8b7088e5aac890d5b71bd144d957bc6c694294edf2abc96b990293245b845bd6cb64e74419cc124a55e344e8a40834315a12bdc94a9b920cd00d1d7f63811b34fec49a1b5bfe8c523632a057c663e12ed4f59dcda040636b5275e3a7be157306fa09195d16e784183eb0a052342c292659dd48739f80073830db1891d004808b8cfd4c488d26be5cde37a63586557c80545633adaa32ed69781fd2d624bb64dedb16d85bfb364ae0835bdec9926390904a1086547fb1f60f3035857db1f2899a6bdb6ea25c9d85e287d2ca34de191554cb17290f0a88d8fe58b3edb9c6d379c2da3e2914c88038e960c3f2bfcada294bc29b6dc2eadb8be5f689d3a7d316b768b70d0ea31e927fd6ad38498f103529018fc415058ce3508e74a7e48c17e39ac3ce57ce3248cb787fb5ea4c2cf5420319d7e900f8656f0b55f282182271685ab412986640c30197215a92a803731ae44e5823d632b11d897beb27eb59e9a5bfdb698516d15beee2635a13d3c10bc282a8815bcfbe783bb4a070f997d7f176c078a0ec143a224a61d4cc58e4ab38fc2bd964ab728e285ffd706c69b5ca6cf4c100cdb16c4a316ac8d0d2828647c200b756f1ea2d502fa2fc7013c887a8ad2dce0db616ec5ce7720bf7d93d375b37f30092eea505e7d1d5bb7dc34ff0f2dd41827a3a4e0c33234edd29d4884f4c793845167c0c73ee009e4b9439e59500898864ac8bdf6bd06a6062a376be5bf6bb7b0b1da5857f92a190850a725087b9234c65cbce63e51fe31e2b3a0c2cf9a2733931994450e04507502b4647e6befc0414e773b0040d0533e640a4f6831a7f47bb8cddaedf8e34447e75a6d6f42b4d9466430fac7dc5846bcedda8f0277fc27bc7d20b2c0cff65d2e2e476bfb3ab6bddd7741e7c9a707f7b3347125fc92f5299e002e0076e672627e2f3197bb0500bad20ee2d101cd39457816759714766ffec4125d711288479c6dfb070b335c1603ec782e9476e00c64ffce8e37ea5d683113284b55f5fc5ea2df911e713851c49dcfb5fdede7cab2e094df3f3c9e85035a67499ff07b926dacbfc0512af873f43db67282196387d03718517ebc00f7c499448117804ef4757e50c369b0eb1c5f42741d191df860f60b03b520a9d8c20b6685f5eef379f7590e2f26aa708b651322fea60a9d9ff125ee4099a20ee60fd033b9993a24e6da05266856e0087f7793f1006a256eba3b6213fb1df7fb7d5dfb9f40707547aaf2a676d254a7df857f295e7b8a1f70136dfbc9bf13fc8de696ebf722f83db6412b5bfa82aff9dd2cd63d8827ee27edbc7149afcc15b68e9febcda3bcf23295142b4df1989a15089a1ee78a720f45d88f5c9066abc7af8274a8512f0669ac31bdc1ef6cb8cfbe77d5f59b082ffb109e455a117b7ef0c469f0db3fd2eb5a9e513dae1adcede0cf164a8e3ec00bb9f0468628c649148c2df30721eb2ab6f042e33e18536e434fb6d30446b37ba091d4a90ac540feb855538d9384cddd4fa8ccb8a1c77e5c3e8b8d7c87d66d704ad794c8f175c7bfc200ce9d76f491392ea564ac299e5def8de1e22127a2439d6ecfeaa8c5e8b811da53b0500e5e5b6fd387fcac0f37f784987f1fa22fc789a059958509f56a67e4d40a083155320802b105aeacbc911917161d8e4d2825a6e8f44291480b5c5ced56a12bb104827a5810388ce21234aab58e4b149b572c75065c3cdb901c064723888470f6fb39430c0c71e34760eb79e6093d69f0ab05d143514e05cc614120ca5a8bd6c11986d034bedeb96b17ce58f48e8b104be5950e3be2fc37d3b2d07473329808f1fc25d5869bb9a8f8894e6fff577d8dce1fb7fb96808dfeb8e9007bf099a246e63c1ba562d3cce03660a228948e920e5549af563e11b7927e07063dbf830f0c5ed24fd26e5eecc10f3e55eb91ffde4d419cfa7c21094c84b5018c195f3d150981ae7ab6f2d692b4741e8ca8d206e0196fd4c9fe9ba385528ae21f948a2eacc8bc369292f5a903810ef8c70799d481bb5c938437aba0b898699151272e9d0c31296c09990092cc8455041a3d2674838f9d3cff9a1d8095d626834c368a91ac9ac07e110ebeaa964c84a10d584f21c0a003e7c0c936b500cf1eeee15c6a1dfd5cb116814cd5d83e48a4f7d8060dfcb2586067319ed356f616f746f1b20b325161d183eb141b59b49002084a301a8cebb6875a036f03037d351b2d99d30bab19b1af88ebbc1c8d00ac36d07b77344377b391fbf3490ccbeba25f69cb19dc9968a46623fac627e1a02feec0404a130614e18f332c4d18686c3920340d2b17eb477e2cbbd86499efbf6ff678b146db697372cbf066f97ecf1dfde9f4ba7804d9b8d1dfd8c1a1bec8dfc78f3960f5e5d11fd32176cad1354c645a72bd201d260cb9a375f43c55bd1e76efb5340a7e21c9b224ca070ebc03ff542540122bd6e1509b3c5cd2671c162a7eb0711808b4debb0d65b1f7910b944411293d4d88587236e61744f194856ae7c038bf74e287d611383cd7bf17c0be1dda368e017d950bbf96e01b51acd894f8be00c098a9920eadf6d9720698a8a05655b39df260f33c02ca47213f1fdd33b6e8c3f8ec7cb43f8e3eaf501ec887848622b95809ba4d871b88d4fbc55e8e4473ed7ae0548d06a69a2681c55b0908a749ce25b5916bd281583c6a3d16c9557983c89bd8f4cb7b261365780c7e45e282cb7f18986e2421d5257504752bf7f9b512f59ac3bf0ab8f0c4d457483108a9bf72fe45c6fc3aee34aeb2745958a42fbe1c8d608e877f5c8c03c68a50e59242dad0c4558188cb50cf6a7e0c7e80018930d37dbd5bb4839956c835a9df5421daf6b545d8cf610fad0d58cae27baa7dec7ec3a2749163ab2ac47c3de351cf4ab873714df5f261276e9e2f16735acc77dac257fa5f15c4acdc5524920ea561733da00f04d225839189af873e2d21eae93a762d13b0ea48b42363d0ba11d6b0b48d4a4a08743306ff2926770e865453e712242cad2d0b42d79aab6be78d4d45d3b5e5d80d808333a594a1d1d48bfa6cf00d4aba66b76e48a8a6548517c93aa789dcf646fcb5d4aaed04a9e89ab51e4957d8db3901e76ab1a058b18744f57bf62af6b8ff2679a3c145318408261625eed630fa0cca6cbd9de72f6ea6bed74e4ec65c017b41cf05f83dc5f9d41ba9f8107c6af4846ea1abda737c4c2d674a00f59ed87dcd91d0918ee0495637ffa0e18ac485f822ece6b0dddce2705c27fd6842314a419cbde04c2a777f1c6c5d7881443d717277e3c32a0f633caff2146776c7a73f98d97c8bbebab24694081c02509dedd60b398fc8ca8b0abf095c29d745f82024d70a471a3a8030e0b9e2eb8aaa621348e5d9463c59cac0b47b5ba3f752fa08d32bf37c546f2b9cdf9fbecbeb7a026c6fd4ac69c34ed268e65992cfa8a397624da4e5825a591744ab0c7ec29eec15b61a923a7f6c54bdd1f71ab0cbf371588a1f67a0968814e2679870564c386156dffe03c072c9c3d652e8116aeae8639147e603b0bbfa7cfe8e00d6bfaebba2c01df5f542703a88a7857807b0a6b89f87a01ca824cfeac3f7a1f84c1e1be8b87702fad7d270250895f6a2a78b45b4b08e6806ece2a90d00ebff0a453a5ebdeceb544cca036cfb1621e7c0334fae453a8e13e6e72b442a315d7cdd04d77366ad5a6dfb4043406eac8265de79845b5ad1e3757736fdb5d4745da8e8d47da594a98f76f7f543c18960f12729e03c4a378aa2c8508b89ce29fb31c4092a5ec356d01e8a909e831a48e1b98d4d1f8568a16b059e2db00e4e306d9e987db4ed53bc39f706d114f0c281d0bc5e372bfa4823989b13061e3da18c41fe45ac4b1f4416fa52c6601935170f3ec1c39f8dc4770a07f32d2b8166a497bfaf04f8f9b86f6467a521f4a869ef3f1c37726722805570bec2b9707828634e4f21fd0ffa7dd88fc67cd9defc005beb00f4bf5c27c784a055a82a0e20c549e0c37c174f16cc8bed4912572b5ad55444bfc1400857ddd70750aa4f079a3de0745385950f8caaa5fe0e46c0c510c2686ddc3d5117b0e52e2fb250f32dfffc4c9f288705def4957cb95038499d124af4402eaec9718abec19fa0f2b31d404df8a464ce1f8d09088171a289743ef56094ba2e0aa7c7374c2550158f01e4809add97e91d604ad003493742a0990e4f42cd0099b708c28669e3bd63b479ded31f33ce0eec7ea255ecb5bfe310d5ee8832b709e623c5640bde882b7ecac17afe7f3ebefb27404d30f7712acc475efdcafa93906b9f8f071ea64f6a18b50656509ac9e47fe5ff9762e7da0ed48a725fc45fc286097dbb11f2d6d6bc1c4b8b35254ea753fc00016d17683cd358c9a339f2ecd282025f9d03585825122db176019c52baed870242b3690e059e3214801189fa4702dc9d388a552e62cce2249520823cb5544a5ddbc002cee08876c288fc80b0199846f0438b6c15340f01e173b5b836698d0dea818b7ef4bc64ccaa236b1ac974d7052264a17854865d46d077d17582203e0a1a12ad90344cb952c7ba33c415bc2d3a1e05959dda78e946183504babb418b152a0b6120ff10e5b310166c1e1923c0eb52190e5ab84e4f146cd179c86fc9ce8fdcfb8f8af7f115ae289a5dedd1551a5b9a93d83d4730514c3af0269650c38c87b4e023010a06a1c4c71df7bcc88c93edd1f00fc88c0302ab0a32347599db23b6d973a40682e35954b57c247871ff0c04d56a3edbb99c270a91c42901eef33c090ee69ac342c1edb9d0f9dd11e61cae69e459b4384674f9370af9aa649a3f21f4ce0cbdfaf14170481285e06c2b7b15b8c4378e9ee57fb0afaac6ebf8425526d8a98479a64df5d01213ee228ba577d10b08843604bc5106e104c99ef31c88927f3b64ef6e8edf7a207450fb724e4932981a4da833192fd8da5bb44c12f3103e2a01a1fc349b4b566b1a87d0f8376aa86436eb459a735bf48d10c32ea718618573275ab5a5fce121d888b4a570ec18583c41ed10f54a3c67075a80b6ff4c94aa41f0b4003be4af6fa570f23ba2bfaa0fedbe104b5efdcdc555be1fdd7296e8dda5484862f760e4e320c32d45bb8b6d863aa72d4cd5ef4b00dc0a214df02df19858e40fdfa5c13a5e610b8e529573c39f78ce2d2bd31077babba66aa827965270795a63af2ee1999ffeb2ddb174898ba85693f2210678e687c180bed37c4153d8972d17cda7a5bde378a1e7348a263817784d0e4db150965fbbc988abf1ca3d93163190304c9c9722703115c310c5a421491d202a94652479a2a6e4b2d3a574758d984d203d8164352085981b7a6fbb3319cf537bcd5a9dbf48e1d2d132a103d9f404faeea39000fb0b79d836ea7116293804144e4736f9559b46bd4391035fe036d6a8a673719ff9caa5d629274181402672cbe4bb4e594b157f3339facc21e46b57bba3a6e8cd81467c61a01c6cb60cf402e5129718505890f648e94be4411c65262701e7d1ad71fa89e22d66dc30874b9993c0e09ffe7fab30d204d8afedecbabbd4ccbbf82c2b7e9aea9dd0e53d8e8f943e03863ee25a3b34f8d74b01fcdecf3b5b2f176a3bc20f1f16d5e6ff3664490b41b02426b5871d39e9aed388168c8c37c0dd2adcef2397d538ea3a26a463b07c7cad7671446562a072b73130acbf2983edabe00a154e8eb45262ba576ae89e962e59e3045fd2d67bad5b05c3915f5b0470cd75bb7acc800033cb30689d7b3953ca06347afe3111c0100b27ae937da7c239d61cd1f870dd0dc0eb1cc957d7f2b830392a264cd193319e59bf7a5a9cf56131ab7d255021608bd558d21ba72808beae3b120e5f264bebe4b6eab3dac87ee9f68a0f78584095d675316786dcec618f0ac9e82e1262f0d909587949affac3bc0d18c02f474584800f73bcdf8b4fee80c3f8fc089a19e0e53b7450aa48672fa5aded7358d215554b07c6803a6da8a871f01f691858c205282fad2cfcd404f48622a6089d5d41969e5c84b1651e804c3920c8bb900e892d0c4ab4fef12fe51cdd43d8fd562aad3bdfc504f003410885ae0d0d2126553375b459455a6c09c2cf1fd98350b62b5be30df41f80e3847eb2afbaabada79c19977c94b03810fba2041182ad59e8600546519203634e252b46b90ec59598f3fc13f0c29b4d74cedfd5b5bb1d6044072e41678e150c0cbc00b45a0d7815191e1359875d6210c725f443abfbebe2419752a6253e7e7180d5f03dbb9295f7b364575c6aea57e9de0c83995b4480909718c45fe3a9252bca52c62068b3f93882ff5fe34158344a81afd32e6cba570951b4082312b43ed93423f8ca4484f92ae74011327014516a5a25a54c81b8d8bd836ef28a74f2364fa655bc52811080ea10cd767856091ca28f374d5c92a919ae498a78ecdc6ef806822e2e90843df13e44087c4c1f0b966e4abf3c4e94bc652f9a3e3cc0e2cfe8445a18837ba8ce35974030707164beac65ce9a98680f034190f70e0e17a895e871118922d212447a9cbc0987b8400ff24dbcc99993ab4805346eaf0529260b82737fd20ccb7dd7c1a7d53a7cb0a8fe9fc0b7c219fdefe6dda17948ac36b0acb32e65fc2cf44bb13082501758eb06f3d9c404bb41ee6942f8f68fbad877a0f39bbe619d6026200b50637ad2888408723f815ff731a181fb0848d08c04e9c8a01fa3dccce1da4c5bdff6fdf9f610cbbe0d7f555ceebbd817a6121cb6816207f8549fdbedab2880114ccd1dfe49f8dfbb4dc136184ce8e48044603c517ce0aab11d0a0eeaa2f49e67a832338e7016614beaab70e0ee09d23e8679c252d846217183590085867aedb1584deb57b83198648dc0a851c2679dbd800c75d40d584e7fd913af5583a43c31d156c0d5b39d517a46c7d12b8ecd03a40db3bf4727da7cfef1e42bc888fb2600f28da846efcfd6d10dc0cbc4561a16feb31ddd3b08badc2d1a0ad5081d6fe2d2c37bb5811b4ee07a86dcabf75754431b1170af8e19365f1de8571a1e8562027a004cf2a36b58fc6d7abe8194b28acc1484722e257136c096e23763d78a711945e5fae270e780b8097a5e2310d78bc52dd745a4556e75d6e88d8c0842ca31fb100634322b67f9531b7803cdbffeb497dd86b9794adda3172ab96b02bbc430529f640b228d7b7fdf577702fdbdc3f7bd7a83b000ac93501490ac2567fb373a1842b01759bf51287841026f04fc835cdba5e92ae3ea60810246c15bbfdf40f885150cc21dfa88aaf2dad85514d293c04a7f04afff1ff02da8b3a04279736425cc0086cb29ead24b1d896f512872ddaf151a60be63c85fc7df4970f8bf364709e50a1c6c0648771c9e5a7dbf989335edb9c59b147b6bd57a43c4b6650bc29a42b16eae6037c136ccb834c32cc86abb815643585c4ac37c703d5e79175fe137cc7f09149dea2048edd2343ecb7949ac187c6c3bd260dff05e91b08b3ea88de3fd70664d7dc4323c58c273dfbba52965cbfb88cb9ce2efcbcc7026c5b06ceebee4b77beaf7488d818de678a68e410cbf5c6f4d81c6eabb91c9deeefcdc011eb7240230516e82b59fc5f20c47057b6ea9fab35508c9244aab328c1ceeaf387aea9ac36da9f6836b2b1ba5df0e3bcd7ecc838fc83f1d152bdc70844c7541c45f344e3bb98d717d84b05776d2cd7327bdec73b716d21619bd2cbd2ea2cca405682fcda83ad86c4c8955dded9ed9a2e57c6119020e493389f242c3cd73c31f81129d4e347df3a86940e04f244aa9fe1f521c4b766a1ea2ba81da4ecf9a0fef4f4a567511e5b425544601e2d45770d08c4c13b282223cce70c010379e47739518c3b7f8086299ea16125814ee19de1585fa593edc6b21309ee16a2a8d427d3fc707776c1acfbb835e0ed017d944f076ffc2ce0a523a64e3ac025ca10fcc240ff745a077b104fab476ffa2cec09dac0ee411491b19f69e1246910f7d610a89ad749202de3151ce30297c7f4975957e16882425e4ab2a4c8c16e5ccffa961f8982dde30abe1dd6328425ba96da63ae704bbc348fac2ae929f37eb3f97a2f565fbd573e37c870b3822900f6cfa181601b00200ced1b29c91128d13ae40ae12b9d49a4ff49e52dba510271fdfb646327d86c08469cf104e2621a17bfc5e0374a4b47af97bd8eba536fbaa843206316ee74cc2efea9168e70f958578d5c1da06c532d9ccf73783955ed6527d6819d2cd650d373cf8a89ad1ef41943a5c8644b323d0336d711822390a729953dbfa45ac91f0071be3c7eb3fab5753c8e240a12428f04807758625a92e438cf66fd03991a4bf0dfc042cb7facc96bb5f04a44f8aae6323111fa176057d67992282ac36718d54f215f9fb183ef27ab072359a0ce18b5d96202e0e6ce9a981f8b1c16917daf7ec39f16fc9dc2a64450a554066c87aef9df7ca1bc473eb4278be7548b4f34127bbffd5eaa3a19e356c3d67b879b86e65a40e94c5ff14d31b6830340ba90e74dbdc486815b6fe7614453864634a673e6b36a8739a6620fb03366304654e5e176897334ed9923faddbf984fbd47da1f597e277a95be26d8b2dc7d4954b08dfd277f15d0371efc4dad4eda3b53df95bb60e3c2b49275bcae816ade187e8d5c86210af7d409e89417ace0c910fc3117bf6e8db0885f767783d0c3c03a67616d0bdb42897e672c501cfaafaae162456b08bb6ed2e991ad000f98f681b6b3c040be56fe0adb32d1a89c6c97f34f56dff0799ed7015acde97cbfddb6a28dbba8723271ec5dedcb8ac19ae20dbb6a4f0f86a728a5e679b745a9eb6c624837e3001b06ed4d812487677b8c66e506c237f881cd34b1a93855e3ca031b1beed0750793ec3f2193b3ef7b3ca33cac81a681127a11eba434621badc15d127c0586dc5a1c60ad02b4079eb6b4492d2223a679c025a31de1e05eec44e5ea93e839f1fae020f2aeeb3875113d1683c0f51c043fb685345d5d9bc7102779a60fe03690a5c710ef3f51804adae0a1e9c525ded7ea1b699ead52c5ba567e91db52e699f11f8ee97c4c1b977cfcb1d04cf94e4ac16a0becdb87028b2c940092e5c90444f2bc7ac486c87eaa9e68a33e7fa4e8e2bb0bb0a02df89dbcab22087e28e88f3d4b739d5e88f7da8f5c021f4f53ca4efeb2a763a384c0f71b1e104a6e9a1a35c3597cb097d751e7b8d38fcdeb90d73b78559be6806aedd3d1f707444139395820f3b67d042aa13a6d22b5e72b04558b6201304cd76440d1a3670ee035c8e098c17a8b2a6ae16d20149e5bbd0263adc1f67c312241e36e2a14ddc253d75cb80f96f1379cdffe45d181e17fabfb38842270b1217f87070937f811fbf34368199abeebbaae9da039113adfa2702d368c940d88dd5d93e4f75b31cc2c42ee2b292b98917df4560638b5a141424490abb46419118a287344c3b7be1dcc2579d537c35ab8522b411001f41353675b6c08cade9033dde24679307000ea858726822d140009e7ac42157a6984b0052d48c7d7edc79bb46c24fa037b2bfe45421502c512f1e7443d5ce17e6d3c16e74253cea45f220007366bf99f57653eab568e23a720e225bfc6098e9098ae1b9c4003fe57377484a6996a9f19a2edf62c0b1d43f3422bb4a4c2e798035e2fd877825130684ff9678dd64f05f455d1676978a2b6be0572586ddf11916d42609488a958f4f972cefdb0b363a522d434e62578a1581dd717d771d54d7e61c946805af2d122584f58cf4b30e6abd8b04167afd6b08a3b378c84d2d2423d2fdc2e1dd20f080d39272599cd61591d365f101a477715a8008d087f14d49b62e37f847c3c41f33a2ee2922ae8ae4fe8920970b60d5f5af18092343738f93a9f84338715a327d46e229c96bfe22e5c798cc3f74be726ca46c8a952d6e3db76277ac1294f85b9394cb46efee101df72ffbf77fa1953e21a7e3c8c8a9c44e805d9425aef22ce22a944ddea3fd64307c17a868bff74b22a3dd359b369ed21f659735c3d1f43b3544f51657bf0b5614f1448ffee82a6a20a67eae50c61721d45746f3fda96be4e8c778ed12a3a48e21d8cf8344ac289b300a4684c79188fae894e0a24c7cc39301a39d2e5a01d6caa5d0cc08420e3daf13cc8b3265689fd575e8b7b4071998e96cf1df7b7711de1e6cad87bc2d6bf242efbc5d422a2a891913ce0226ee01fc5ea8684671958a707c153597fbe6d0dab7b0897172abd5ed04722a12a9916667f5d8781229035a2aa546f89dbe59b41fb831fde487aecc63632f18449ea126fc77b1adc426bc0122c6887a6b34199525e7a4ec2cd467da878670f9a61d3764ce5d508a6ae131cd61578a5236cf4296efcd6214f05784ec66e440c36705ea2d71fdda570b2a65ef9fafd3011476b8777b3b9a2687f7eed4feeb5422a55674a3a8e75419d880865072561c0f87d3e61238e18479a6136314705ad8330ccb450f6c96d247e0a5d7e7f0ecca255fd47534e84bfe954edaaa389fa29a526775facc638757aebeb4d965e71382f4421b14ca6251b3681f0a351c535b4f63ea47280fd211b3ac45650f76a015dff119dff87ef381487bd5728152620d102f342442d31a10e56330a77db444c4ac6d7634d9740ae67fc78b7069e79314592ece512619f174d814f9682a1eb47ee017a2f57ee3e694de3c0b35135e6acd388f2f05bfe3442dd5bb5ce9ce8c87ab725e2f6e2cc32073f3b38df615aa736c4ecb69a93dfffa4862025c6f1acd41050a7307951bc736d97ce400af78dcdede3845a61804635052ad98b2de1777e5eaf2155874e640097d93c1bc757eb7dbf26025a9f7f38ba960ceb6dbe93556c3149f05de3c418675278b119f03913edb1b238fd5dbea335b3386c5924c38c479e1925b07cb8758e14d6e0d98069bd62af05a41cc78a63ca7c762fa4a9e5669458e84d1143d03e172029bedda86b42d9d85e869a1fd06992c9f316bafef63e13ff20f1f4d4596f2e422a5233e4a2eabcd7c57ec7de16beb797d98b548a2fee4341961c3e7d492d9ea55b725224418fbce27bbe25a26ab25a2b4136b94eb682cada11a720b469077516b5af8ce462bf2c21fb0ca4eec1d13580ba2b97e8bd7516aecdfa7450066d80d9e3b486adf49ccb242a741976a1777503a5e2c757174a819d857962b3ee95ff6d707b667a24fc48f017b88ebf3d513102b286143fda7ea043e71f7a243b89bf73d4bd03063710f588376b4b35ac4d7de782cceeb80cac7c8860faf9c67c5335ee7d9044d23fcddbc6d23675cc511d12d6ec8970eae6b81bdcd368e8b37729b9de2bdcc68ce8b3d9371c50d29e57eda953a7d47ad4a7d10019728aeb3aabe6dcb11daad69f151f2557ec64be832e54e267150060c6972a45d02f8bb593ed3c7d6e93ab1094c8e2460c2d6fc4f8e83bde442910ee9c85fbaf918f6959c4d79be120cf9d4047db5b6a91824c6e4523643184898d796479bcf55d893bc530e8a272d1cbe3d75bea77ebb09060f6be73de91edff48ce2262d84de60bd95496b99ec286b8ea556bdad6ccc442f57c55f8050403df5fcdc1a20e2a04eeb77dc212a16359ef4700c4234f0482e0e4f29c22c2f4c7e4729daeba03ac7657d5bee6e519111beb6362b1d1b7f02b6a1b09f2618d55456bb389bccb475842e284b9165963b117d093567a36cc9fc53cb757ce78e899f9ecb6b286b83c52e249c57f5d31199a0d71d7736b1e5a8c1a44a22907edfe67bd990a065fda5c5bac5bb1ab7bfc60995e58933e82d6da47bf0672e03001bdbe62911252b5f0b9db3be037bdcc0037c23146719ee4727b7d9d34a4d113241943a20167cfc2e24ce8f43f408543366076c17d9d32daf339e8a7c5681236c2ec327f238f2fdbf46e0dad36b1eba32531075b32b1bab95e9bf99186c61dd77cdba3bd65f6009474ddbe80c3a47ba82cd11d3e21100d7dc942e1922093b984bbe760f8c5a6ba6324a1a9bc3a969856cb1d79ad13bb8dfc8b16429f3d6679f1f5ed01426c0723bbde8f031a89c0d23a987479cabaa7afd0c7f9ad172d9aed76b8f4b8b10247a575fc00733665d210a4d3230c3e358199152a5940d0ee4f827930cb5e08608b4da29e8724c0e1bbc79110b46aea2760a0625982f55089f64a5775c5fb98b75baa428c5f10afdbaa430aad8a482cb12c81565a16cd665e017cd6d6cc315c5449571bf368924a3da2b62da3b6f4b284973f5dea2f1fbcf12eea2a1bc9f3b33b42aa4688ce72f02d3258156399a75f029ac52022ea723928c1d7d2ff5d3bdc23a4908008c4ba4970a409463016682ad0db33887315e934283a8b0ec921c682697b9049370e15ff62a0390a6c50f3703cc4843b6cc306390c51a5fc6ed3340122fe30ab41f7532f509353c2e12b8135ffb38c6724a3675223a03041554f39601b1304e7466bb6e7a05227988d0536bed2b3f214f9e9de153f9991055010013800afd349d2f33c0c6f5cb07fc2dd5bdf23f237d211360bb567a4a88c1b0ebc90a17e14b5a6ed4120416eb34ec4d7305f53eb47415cec76b06e605f3f61142e252150751ded0061770fad60df89bc65d5ba25f3acd2a793a827a59c7108aea4dae03ce7512d26247f49a93ebab584b1d6df5da2e0fd02216aae0a1b9864569edd0b5b715931552b1f59a46b05148bdcb0561c86a4001f2ff13f37e81592c497a4c203b7de2d6ea2408a5f58263a192296325a5c5dc44ef068816d47e189a54303fe272ec1fab897e6a8a9c2271844a6549a6b8c809e8129d8c8546a22312a56b6e2fc921dd2f54a56511ea265f9441dfce4f2d433f7641893cdba6629fe90843e1efca34d4c483cbefa51a9a1e934da77c009c8d80689c1c327a19ee98fa7bfcb003c6ee90fddd7e30e725f84f1e16e034c6182d9c38467c5ff9568f5274794e70210b97476da9904fd58b43b33fef03776ac76c6266ff112343984205ecab3e3f495457b898acf5b6a95be3d605842a382c288820de05eb7a4ae5028e41e20cc7f23551cf2a9da7b4ab2fb82744ad6b488e485aa8542c269d3573e6e24288a73078d4e0c3cb16f7ca69cef9f69ea84b8857e9caba8f6a3a27d62ac4e108d03842a3ba67382bd8ae3eb5c10b9602a1e6a4257366f026d50739e0f15a8268d66b453709b9c5ad96806883ead6b5799f15b77a706866aa5f8282224db5fda2f91fe4d631f81fed718bc697c55743523024293ce3678f079a5a303ff1858fe85a2c914b9148b3a11467dd91c67d484c2043441944be44b1613e44c2e8a16c06fb32fa95bc8334fdd98024398a7ce45de46c17cd4879054d6e01bb2201cf28a78ab85ac7e5f2e30c3b8ec109bb7f40a71297c9387469e8cdfa4600095fd2444094542b949ac0d23022cc93f689959275d5132d7f7bfca4f3bfc77e54195ceac80f6cccc82c24042d0b15751b699ea030d1995c557b11e080cf97c976b1fc18bcb6769b2e480b0c24314281afe31719de89c94e2d22be36bdd20f3a99db5eedcb62b6e8e5a25d2ec0edcd0eecfa9abddd0fbf44b028737d7e006c7239b906cc35e7f6423f4557b5cbfc884274f42b94ac7259f3569afef40cc5f3c350ce553b99538ded7c98f7a63c45cf7ed0da360049ec42b4b02acd3c875aeed2d82a26173a540df7f6b2b0e037832dae9a6190159e73c1452ce81f18bfa068652ee8398b15b66cb92a2381799eae6dc9ec04fdbeedd9e5b47c1ed696c4f3b637c1e40f673bf7304efc6cb426139f2a8cdb12fcd08a922f1a7e473cd8749c283dc82ab46c6bcf2d5e6d578966ed0ea66dc9b5a8499c6b4e325d00d4a2c93a1bc61446ce1cddff6eeb9bfde774ac58182e56f9af9d19ddf05dbf2355009e294fecbc576b3f434ffa8d513f44d014bf9822913fced697d9a1d9e5bdcebea0e8a69582c41e357253316cf1a686ea098f5873c8018c7c7347d3a770df78459326a9aa504e6c5858f26ac9433bfd6c5a28e57c985a3508580bcf4191383a929c5f0048686754b77269ac876229db20be57184dbed51f55c107346d3b93418a508413b98b72342908cd9fc35ce612aa8485cc277e38f156d2f59fbd24c907aee3b9c43eda88aa5e6a90eda83b5166a13769aaefea4041a5f8fd4ab687a7af9714d181c57b1d11e7b5d15882b3c5462c72aaa4b6c58ec50e340fbb746076b46eeb365eb1dc7914fc557603e3ef496cf80360cdd4b516cf3b2ba215fa89f65b18277b415f05c26e6c811500bac0a89b78d0b18e7e72203653e345a2894e7e9923b8660d25501cec08f1825027053bcd11011492fac15f3081b958aa909c25c1c0c6875212d12747eb7821ed99db3adc5bf4c9b0861760eecd366dfb395c9663043e7d9a766a844dafa1ff7954d43dcc0d1bd1d5daff904053c21f6ac7672da82f30ea8240c5aea465aab998cd32bff33690f856d52b0c16bc3aec91280c0d7292f8c3ac22e03890d085122780d0001f22eca46c6a70b27644f45c30a7fc7cc65c9818f1812f50e78b7e9c4a057827ed0c9f2881784756e076126e617ba4c7d755ac772f0f131b0a38f464cbe8faf0e793e141ba6bac969899f19882a0c8f8cc16c27b0abe3af8e269feddfffdb289cb815e723ddeabd419e288dd9e0edc86d05abaf350a8896a02ea73a5787ca0f1a1fe1d398c121743aecc008a91032a1c6324ffac3ec8f4d6d150115b1264944019697a52460acc50b7c30cee8932d80c993abe72b0de1e5f3e0e4198999ceef206ee267db4496bb0fc92c5008dca8ff0c017425e8894e9eea496e696a447ee10362de2f828fedf6eb27c59b8b7a9e8b9d378871e97b5d154ee5b5312eb1cdb79aaf7b4f632feb719f95dc6235a8d6838646a0512100d44b9b18f11a157146e5bcc11fbeae5a3433fce0f293d5728fbeccea89862c663a0c4950fb9ad1a5e1029ee4d60b6201c7d0a343a70be78d58c78027a57ad202b55aa07228d4946fc917262ff5d09c05e0d526f97716c8e90dc5d0cb5755affaa7ac0cc0aa569b1226db852c22404a3045c46c1a69be0b7d22042dc4aec9f681167d725453b7f16550b8671da99a3a047c7a1cacbc3dce15c122186102794abfd496c8c9b9ac36c3bb4992b99c56d2f92613c3c7c69736c278283d4c375085e5e4a3454773ce8a71b132ea73ed7f7966fb1fdc22afa3f765a01b8a44f4008c2c11ff4d0fba3636b36942206bcb76c463962ff7f08b150cedb213640a09564b4b1230358dfea237619f8f6216f400c9d95b4b4b2a1958f8f7eaac3caa5a5fa14c87eece038dc6761df149fe066c7c1bb8cbaaa9e60b7d38da103a804bea02383fe70efe76074fb3a1c8bde724b6b1dad58fea6c7c7e8931df5e0d2f4fca1f630ee53d033c7cbc5eea19bb375a26efc665aff86093e72a403b1e9861b913028df8bce1c1a0df8c6d61f441d2c2ddd4728e49197dec788f7d127a19a40ddb29d99efeab9b87df7d3a82623ddec95f24f40e241aa332ba8b8751ab57c52208f7ca5c6ef40591168905efe42854f9a3e5c836b2a256c9b4838feae928e6d2ca104b7ab80520a06d78add6f29bf99d676c2fddcbe70a80f72246b6608725de495db777b6a15761a0ab6a39e34650a0c43f3b765470224d6502f4a6f25a3b92c50ac408e732c637a876c1104446e8237f80338fa811669fe8226b32db19be18b56e7effe23b1cb1ef77a99975334fdcc91e9f1550097af582b2189982d57c0be744390ff310d4edad457ee662ef7673555f6ed7835b643ad89a817c7416a48cfaa16ac91371480ddd9a9c20e82eb8c4a0aa58a5243ef76797ac50339f3565dd7b8c41734a53d806d7a2df69d06dec353ac756ea1a3291f30b4871e618ff7b0ad0354ab032a0113975530e0904d63a549bd0b3e2ef2afd06dfe025ed024ef6b602a2b4526b90b4cc5c363c298abb2e5cb7121fb0e21360554e516756b33ec8affdd82b4884e1e47c7501fcaa5ed3f7307e9a54692ecbda55cd9f6de524a19740a7609c1082c3a5810831ef48095c3cab1999726634a06323d0915429e7e45399f4d7f4a854ddfbda6a063d369021e3c78f060e1b07026dde37cc2136402a410cf9c6fc02c2f700115764034e50f745c6d2a7b20b136e71f66e4bac7e9844d6d70b3e79e4e9009904247481529f37367345b8a734ba9412d6c12ca1a22dba02783b2688c019820d7c7780b5d2191416d66823c5fb54cd39926995de8f1c2124706c02c3964c0d2022624512bbd0c82c82460f925ecc82c4296b119e0d896a3016681c109cb2db30a2460ced982c316a9bed212694b8f521a03af905821311f50853c4528e4396d4428d01b73ce24dc17ad9996699aa6653e24ab95cf4adb324dd3b4ec1e916935a3c23da2de23ee1152852475ae92adb90490044d1389aae6922aa4e672ddd736032ca70cb21c32d2b171499aa830c9137a9b679628e80acd42595326e0d26c99750b26e4aa8d0863b48fd9c6f61090e005e91b498743cc6d7de8e801e8a50f9bce1e8ca6a50f39afceaa3e7a584176c15cb0bbee721df61ebe22c584c16031fb9e9ef7f810f5fc1306eb010a1222aa9940ba1c1b2ab2a41d969455170d78004ccc566f7b288e9b58d010915471536474446b4828ab9ed4cf1db11e8a268e5d7d7e58295ab81c3653c7ac9fa151c30655a1892183ae643ed40791b3eb8570d18007c0c410812b22d00b398888888a64e63a02ae58af5676554d6aed61d73967ee76ea7c8ac7b2435578ead438f4a4be6af5598ec4a953ceb1ab2b668f97cffcc9e0845912a5b1a4ac5a5266451212ada1e1e9d1e34353b36b9d73c666253a9957ece849b538242630d6500a518a1a5485ee5a7725a9efa19ea55e08191a33f21888810922868c2af74ae6052fe0d8e75e6bfd03384b923f60329430ca92daaedfbc16da161b92b029e5d4c00f182c6653e2a13c5b6634879e647acb632074c70ea31d2e9d1d464635406ae490c9a1319393a3d3830710cfcd0b480f6ca7870f106735ae88b35ac6598df4a393b3c383a7c37446c6e89503b423c70d0e8e9a1c363a4894a6084810a3a38d2816030a121ad25e3d3d808c7e74727678f0643a4068e8c800f5e8e8e8f00842aa98cf3e01a9829edb2776532a661b67581b6236b15100c9724fba736a1819cd1a751ae9c8919393b323634635eacaccc931cad109cad1a451ac465d993e049103d403c80e1c3d5bc64e0f1f6ed21d9cd52a67b59c9c2072825e3b3c7abc6248153286736a00f5c061a3b393e30607ade1648a8004313a9aaf9e1e3931a020a1a1a0201f354141414346b85b870e1d373ae8a474baa6918bc70fcf508fa29e231fa31c1eaf1fce6a9716715603827256b33d38ae1c9d9d39e7a43fb018156530404f8a321b178f1fa121a36b290582d25fa0a08da7070f1f578ece0e0f0f066612363f7878785e3011902ab48de714a79ddba6d98fba282b3b6953f164f780828cff6575a5d3ab9546a3dac8b26c451219010c3a4b40c2096c28f281ba5cae9ce99a3f3f453fb09e1f8d4e4a61aeb303c3c979713d80e0ac365d3b5be99efdc0727478f0c0b85e3e3fb3e567c8c6d1a4a9c9d153a7cd9df33417c88f1e25827ef4fce8f9d1f3e3a7240575676736afb0dcd9d9d9b994d25358ad343fe4cadca927b266674b9027d9f1bfdb14198b336709f4f584d2534d7b2e3c086cdd47ea4a9e8b14caa22c1205e5baa27a437bb2733d3e373d1c576f6a4e519d45d3e84504a44710a3576ca8e88823e9b0b9d9e1da82846241443d2f9f1fd8ed79cda2a2570fcce7e7053b02b201d22348cce8151b2a3a8a05090d11d11d1e3c144707475d7587abde04edec3587dedca2203745f7c6766e6e6e5c3537363da820cb2db7dc44424815740b19902b940b66205a220e5f60c27619068359182c76b4440e6a73f43a824d20af9a536343459cade1acb6c38307063baa385eb1a021a2d75191d151a5a9353544b17a93d59bbaa3ba2a4e504c688848868610393b7b8d1d1e3c4be488d52c9163891c4be45842c78ec6d12cb82291955e0247d9a8f37e30b214536ca99642595add91ef483fa2dcafb262affb4caf3e26b1be6ae5a92729295856b4880dd0f0c804ac90ebca575726ac9e20215726513da9b019ab446b9027da276086fcdd944249d2072dcfd81a248c8a227b8a5ceeaaf889d3078aca3a30a52275219e0bb9a7d52c7a358faa8eaac37463f25a99e988d2501cd4926ac992ea6749d5b3a4da5952d558a7aa636bef8ebfcd231d3775874d0d0feaf3438580624247d50616449a95761e10d99e9354291622d54b7d26e526dda104d024552a49442ab2bc1fa6eb44f3c375745242c74529a53f5c3f5c3f7278b4afa0272942cc1ba359835a053977b0b5bf1a41a2d0aedd0372a51e419e68d78c44768582498fb5095b9346dcae3b2494a5c9a82b17427ba9236df4644fbd84acbd561e9567136b8ffaaa3dd5a7168009f91a89b453793492b63f3f24d20f09467f349225d9aa69dfe1d1e3e5532b50acf6d4a00e5716b5c39b26a3c35bd6e14ddbb47325fa538778be1ea6cfed73bae95acdc994bf0aa33556ab105521a225f1fb01e2d1e8d00d3daa2e69a41d268647a2c1514322d9d1e5e8b88e2a8e5a5373b86e8cb6f69943f28004f13a4cfaa183c4e990a4250123fdd0b19148d6927ee8f8a1e3c70e92a3d4601f3e7cf8f0e1c3475dc1c1f97082fb80bf4fcce8010e905d024719f710d11bba83e646d269d443347f6e604347a40d08160b12d2a68ee56e76f63b7b7ae8cd0ed7840d191df9e8d859123c36b407a5740848511020455e88d1ececd4880609717652ba04cdec993e6294664eba04cd12344bd49864590f2bc83eb805e40afd813cc9ee04212530b133229841c5668b501c154e86999885893c521c8fa52885e2e86452a2d03a184cc8da1c1ad286289136e9a494e21cede8d0dc00c5747838ed349cd52a67354ab70ea6837730cfd7e303ba81953e8c9f4d185050364fb2e7a123211d9615403425260d52bb1d1d1e3c3d280684a02b990f5ef001db9c096b6a5a033f826c339c2b70db7ceccc1f41e89cf447901f417e1c91e80e3398f4aeb0983df1be13f18becf7d57b518f4fbd18ef57db589d7a31ddb1b6d1596d87ced9aa83acd250167d56e91165c90321a48022cc8c34b7cdca67bad21bdba46f50c04e26376dde48149a266fb53c497ed3356a566bd53130339435b3eb33510146c8f3994cb7ab0bca920d58c192e919ba6b0a8b868c101890112308ca92c72f3acce1082ec8400531c0811a5a345008c31792e0810e8ec04d010c4560108e0170520812020e52820969065cc801123c6ab0833ae0a8031235b802139840821ab2ba2285a50349bae0b389e10a18030f34f030411c68623e5017197068800c216185570f100e544828a1d4085c0083147484c8b063021f284d148c788118c460f413852e14a1804a30426fe71492980298c4174e6880020fea1007300c8189210a30b144510e1a6a50049b4649c4a154639528c38874831c643005976bc806413e50d80ecef0b3062b64810b42e0a0a0848d49891d9cb4ac16500426f0e0d00212476842032f804216b600072ab4c0080e09a0307440671051c20a2a2d2821b425610391249080f241e3556bc1108653f56a4da20421f3930a784b2f74c126a502cc001564e9852ed0d41a03cf4d002ee43983d6993a77f69965d90d3a4180b3d79ad54cfbb4b5ce4dd4365156bda29f97e2b4921e861c32d5b5eab18ef42ff4daa7a6e73520a808bac5597bad72126bf54abb498d087f9442b1adfb95301d6e973e35b3df5e3569750b8ca65b32284b9e0665c914cacab265e2059fab798fe1d682b90b73192fdc2dbedc343629dfd7cd28c4bac5916eb5247dce70d3ad4c4b2bf5288b88e4eff1752875abbb77fc7beed9a54471372efb53b497ed7a0cad6ec9a0519fb536dd2251c86b1a46a2902f7d9c49ba75df5d87f6da4928b0d5a1d52d295168971245ca7ef69d92491459a2c0d33291ed7186ee9bedfa2cd75ac39bdd6f1b58e56995a7e19665d9b5d045cbb0654f75f8b26decee33d32dd2b75fd2a6673e5dea65b86979af4792eee36a879c6e79ff4630cc8ecfdd879996e916e67478752be4deed7b6d0c39dd5a9164efaea6c170cb424db7f03dce0bb5935e758bd352879b6ec9eddd7ed974abdbdd9674b7322db71f749beb74074a46996edbd34d870eb83143c39843ceb4fdc6492935cd722b34dd81924d7a5d71da0137b6d5a1b5dac5a72eb45a33226e545177a06473b7f89e6a97e9f6761ab4e7631c7063733ae4b81e68cc644b20abc34d3be0c6d674a869f305384396ba0067c8f4f237b8491ac2584e18643c3d162d46bb67487af92ccb6aaddab58da5699a9ea99bf4bc3d8594d11a7bd433363d53374bb8b990b411a76f277a96bdb29a263febe55b551b912fb511a6bb1851731f4cff49b3c85a7a37b2b6497f9e58224931bc92f4ed2d526b9c79589fb7fcf696d4df342bab3a64a1693a8525c58a4cdf6b99de7ef7deea8eb396f424e4be7d9e18720fef2b16493abc55ab21a7c396d57293cf9588b9371db2d85edfda744b663a6491bdbe95b54092bce545506f789473039eb1099b3ef3353f73eae93f6de60d8d142296d06312265932eef6dbadcdc41657cb8d6b715b57db8de338eed2cb74d8e27edf82d329ec43eef4ea149c0e6d76fa2aabb6695b354da32d369d42dfd862d8d22edf42d352b6d02e3fb5cd3af9163a9bd8a4b025bfbd85d429288ba4471996cd6236b1758a30bb2cda33678f322cbbc56c626b32d32cb62cda34726a8bec55d7d8a9b57a5387b2648b4c4f1cca92af7a065151ded878b6a8a7dab6505613bbaea02daa4ea165284bdee0e66d0236d1a1fdf68fdf9a0e25fe8c7bee9721e9f2da470b630e397b487a686568ada5dbf690a4b5224a361174fb268ee17693bddaf29a38869b762177483a496fd7be693d90acb6c996cf441873c877d62058d2cf99621b59b676aa599b33a55a9d2fda336dbc61b3e7e59c2c9ad878d34e6a31b7bc7d659f15ec319650eda6c98a92802f92b2ea6c620f319b68b16d30dbfb41d32ebd4c7b80a65b683652b8d8f3549c91429282d55dde6c672db6ffed9e89dcc7998c85bd67ef69495940e04bcaa2dd7d0be546ee57af28ebdeecaba0a03d8220090babe5eda62c90c4d21d58e2923419492655e1609abaa20aa20aa2a982ecfaa932d2b40662385441340dd3681a0ea6a93a54385465ccaffcca3df9079663f966d71c9d0c9485485b466243dab24ada3252c63dbf4882e420546524b1c93ef92703e518c90e121b929b2c948980e4a26ca4892a1d150e3d19f1a8dac138a8ca1832aa7a54b15d475550910a0855a135abd1e1520551152b4455b42122558caa8cda4be5d3f30303aa2138a8ca0ca1e1d9f521365485876a47c5a3eaa17a59d23663383615ceaeaa1c1c2518c570504a690c078e8d71a7096945425b455357304d4d3da9b1b1d915dfdcecfa108d092d08016279d4827c5a914451ab966df5d3402c874421f7e6bd689a0ea1a11ff38bc6e6857954fa695ad334de9128aa962ffcac48aa28d9f55a1023aa722455689e8b496bc6751adeb64ca758316a2f1f4d68d45eb2d2cf4a15e2b65afb057676814dd252df023bd32912452571a9963019518a6229f60c5b74b4c00536d529a522aae272b95cae71e435f21a475efb44cf09d809585d410142013a01dbf31b0a104a0c0568db4ec04ef49c809d183ad14355c691d7c86ba467e467042634121b0922223ae173e26704684488b3429cd532ce6aa491d7c80b0568240855195184467c467e468046622840508450884684468846808c148d189df839d183024455c613b01330aa329e303a01445546941c2782a8ca8882734288aa8c283c2788a8ca88d2e30410aa32a2c05060283f283194a013b113434b78edf91345283d505e283d283e190a0f4a0e0a0e8a0eca0e0a8f8a6283a20325078fd09e47d971e2e884110a0d0a0e941aea0308e944cf099f133d3c2e1f407c000112644ad2c88e0a1ced45b3e75f3b43298a82d0aec75b974b78ec5af2aa2bef79cff69efbbc672b79ed3a67098caad492572d194123d0083c4ae148d5c05236291db158094f498f548ed40d67619ccd32ce669c258146a0117dac4787aa8c876d1a1c3952360f922a608fed5a53ae144e2a27b5534b7a94f0a027f5ef79bd887aa8ca5872f4a3039613a32ae3754a5eaff7b8cf7f4a7c4a8098e0daf52542d7a12a7787aa683c78a8ca737e731ddf71d7714e731c254737bbfe39a80a9012a292a29220254697b35a098f502be129e1415526898748f3d143d334cd478f1e3d3c7b048d40a35def0b016b18ef6bd7db79211764f7ddd56104becfbba76d78ffee373108caaa310943cea64bc776514fa68e9b1dd957ab9ca91e655036836cdb5c77bb4c0c1918104206e9321775a5a433d5b26f18638caf8845cb5df1c6a6a2dc9cddde52499b36e27ba667dd66299d66d9966e4ca86cf6e440b62707b2eba22ae0d09e45752515241524652447b068cf5a5334546582453535de9d7d7bbcaecffda12aa3aa664f900804526fcf85717653d17056d338abcd5aebf6bba3aaa12a632ac89e9fa38a66f3f4e8f9ae2a878a465553fa3c7c61f4c6a84ad015ba449d2845100838444fe65341a8ca081615dd04d1018f7a6862354139a8ca982ada45292029a3d491d17c4a09b13d9f0aa22a5788aa6443445a2a96f2e9f9810165a99d148f94ce6bcfa77aa476a46e52ae144e2a67c67286c20c240287a8cadc530935b19c9a65359613cb89ed5010565764d56cc0d89ea3eb286777feeed415cd869ed0cf1b9da96c3e393cc5fc465357324ec6c93821cd99da664355c61474a3d974a490452f200cb0aca0d99c34583da46c37e368cf52e0509511dbd800611711cec13a32394707e3ecdc0b11444c0c1918c04155e64663f300987aa70fa08d56ef8725c07c00dd2b6ac007900f201f4199566746bf513b0b0b9974cc429c5b16819b8293c5f74613840ef2c525da46f25c782e38cfc5f55c60cf45e7b9b0912a78d81ede215574ff3eed89241205fd14579485e75b68de74d45cf47876012042a6b7b12915477008af8575dd8f75cf3937a7b3da4dd009f68823a40a16cb02020b0840c260133b1fcf5097fa172f8b45d03d43deeb4abfff4ade3fddf23a11026f98c9488a60e3a5090a518fc568b2bf77a762774fdf4929e5bdd233e9f1c636fd13c7f0a5f4d3774f1c63c8985011f57cfa18fbbea44f5a52d6975b282d357d77f918bb1bf1286f8a14ca221d7512a738c6d8f33855b57b4955f2eff7ee3e8f26db2b5d7a2dbc18fb7b77ba27ce7bd2bd765f2f093f6b23566fa12b2de90978acc7ab4b6fa9a8921eefe9a768b24171bc5ac664e34b1de291b549aa6f6fa157c4efc49493e8be334cb7ff441993bd9d5557484f8125b6767cb6ef65f2bf774417dfbbf8e9f317638c4d3cddca0eea1035964e0f8a92b24e3acc0f51df33946e85b9fbf418e6ee7bf730df7bef7dda448f252d63b24d9733c75e4d1c47f432df3d17dde7512b36bdf4269d6e9d5e3aeaf394524a7598dfbd24caef61f67e122565a17498752bfc742bfc2e816cfce25d3d869f6ec9f86c0964cb772d0f6b13ca924090b67d11736eaf45b7bd017264a88fe0532dd1fe0bb13ddf5d7a2fdf51df53a5ef7bf63ccff3bea352ffc073a7cb97c421e6b69f33bacfcb5357eac471ee8e963a71f4de750f3dfd626dc98a283d82557ae10b3e3b85d56393dec359a8ca8bc437aef7904bef0795a747babd7fbf228fece93eaed8b7fb9862ec615f226a134d345187edfdf4d1645f7cb3a42b37e4de681a4204e3dc21e2083e759538c4dca839c37e3e25c2804306f5fc1547937dbf5f6dc5d1bbbda417e38f3226bad569faf2c95f94587a279ef468d232267b9efe8a32f35cea67bea4ac7c52a699944b7a03267b86fcbd7c26e22b8644b4be9088d6d7eaf495106822dfe38f32d3068ba3cc3cda571751f7fccb0bf2f6b9eb1863539164a23cb0c1862ce60c0b7afb568d968d5ac9008234db20b23949768f32340958e212ebaebcceb3d65ec36cd268535252ea0f52eaaad6ee064c4a85a959c52b8e95925293b061abe9cc9ea733dab9707e6a1873c8b6864c27d3d9497fc05d1a94c694c3b72be7d8b2e928634f49656cce8e3236e99a763058cdce1a16463dd1b11c8d4ca278cd9a59b3b718594fc61014ed794e0446b346044656840107120c594f461118d5934944e300dba5f752a347ce728524a50a197bded2c89c1e69904833d94cd606cd45b274d3d8f303b03dcf7d40487369ae3d7e4048c78e4dba25d1b0d99a4b731901827b3bb6dc0c62d3739fe228b3276865e6ec48e72c08521558bb351cdc4f701feccc9e35e86becf9c989921e60bb15874092286a8d42cdd9a49cbd1d77967a6067cfdbd8a63547b4b1e1ec31ab393567070d58e29209e6ba15d9f16c1a6377267f8cdd75e276592fe52416c7bc3231c9c419a769c0129730d634d2482f6d6c2a29bdbc76e9bd903671d4f40c9d4120d1cb63e9b548d99e1e61b6f79238c2ecd20dd7fe4e5f9aa94b8f45a753afde0f28b1d5b1e87e3af550979eea928a23ccfeba83bfa1b3bfd3779f1ebdcbab44db9d0e533350dba3b2b7544fdc7e121f4059928a21cf4aa7a597fe95bacb921e6136e9a487741a7bf7d3e34a6ad3b38680dc30e6904f6a4d16d90fa5d6f795f2f731df189fb8ea449224f278d233d2f135d9a48c34767bfca6655236bdcc7863d3cf1b286a9d3069b78923bedd8ef166ba3d16f34b9bdc366c6c97fb6dfb4cba55d292b2f0d7d9d833d4d363b6bdaf6b7536b2bde197ebfdd33374df7186765465d5323dabbefa52473de5bdbbe91dee8e6f927f7a36dd73b9a6cee5dd45ceb556577da5c316f8eea00e5b0757efbe7af79054c8510fb9de53dfe1261db658223fb54a57bde4957ebd8bdcbbc85521a8ab8eba6ae49ccb49444487ad8bfc741e74e8b2c37169071dba84071fead065a415fe3ba0ae6aa948bad44d27b9e9ddb9a75095d045fce9a20e5d7e915f872e252779890e5d78f80ee761074d4259dc4974e832a24d288b5b3d744169166571dd4d3a74c999b238b0079942591955e16ea94ae9de4bdfefbf73adee3874e98edf7def6e0a5ba89f43fd846f3ad6a1cb7de7d23de4dd436e6a5d249f3b09ea271db64ecfff5a92aa842defa5a3ba8784e8b015b6ae0e5bf837a5c3d653e75c5c4c17b9a9d5e9b055ba880e5d564f7da543174b59dc551aa4ac1565b9b87847ddd361eb9e4b46592494e5527af7920e5dbe7be7eee98eb2b8773a74d1579fb2e88d92697281aca3a55e8bbbdd8af7dbedddee7dda6f304ccf0f6170bfe228778dbaf269ac63b2f6ee89f59d386eafe7c471a6ee89a577cf426ac75e578aa1b1ef4bdfc4b1c6deb8fd75971e8cafc6f6bc8f9d9ea95be47ebf7dbcb1bdbdaa2be053075372be2983230f0f9e8e2239ea243f893ce422a6e7a79e4b2d2ec0ab0ea66e7af1a5f28be7ef702e66e421ea241f39890e6356cf5fe930e62b92e7933c3f1479c87753f89087ff4c22179fd2618cc8531779eadc6176b8eaff49f5d355d7a88f1c6542fd337d879bbec347741813f2f0230fcf3d88ba12be00c0f501a0da61071dc67c87abae7f507c0975d4c5d54b74f8828787e7418731e7e162c8471ea2c398877ce459e4a9ffa9e773975157c21701b8ea01d0e10b93ef70131dbe00c07f00e8f085be78ad57e275f8a2e43cbc8407eda29e70292de18bd543bed256c3d4132e3f853ac80a42caa827dc396edbbac23dd7951726d489fbaaae84312f852ff24bcfa7eff9dff3530f6342cebd48bda4c317dff38bfcf0f9e15331df017cc8550f39779630e62bf0a78bfca4c39883e76e3aea21f961a8c398918b7c248cf9c83f1dc694be8be830e622e7de5257c217aaafaed2e18bd477782ae6a9671dc63c7f071dbe20b9c84974f822fcc8c311cdaa27dc45744a3de1be027fd2e10bd3436ed261cc4d0fd1e10bd55357695b4fb8a7344b3de10eeaf005eaf9281dbe38ddf4d34d7a554fb8671dbe28fd7b49bf9e70ff744b3de180b07bfb75e9f6266fc519a1a65ba72256373035bda0d295ccac567af69d6444cd7dd8c22cc50a92490f9bf49a6d8922ef55ed36490a9475ed26e131acf4637857526a9875756bcbb26b75cbf6059fd3b667da4972d7d8b7d32dccbd6cda88d2336d8449b7aa36e23b491b915952b6ddaec7875b9891482c942549f5acbbdab9e656a64590ddc074abc23da7d5aa5b5773f5a660ed063b8050ab1447bbe555e57fa772d7405dee1a3b24d738d9ac43c4d1ee90abc4b1c6567d167cc8b1a8fa26f8961a22827a3c9d5e25daed9dc499ba5329bbbf129434b172e97e2f10ddeade69fe27ced49d3fbd97d4f351e28cd46d6e431ee5ab0d7575ec1d7c17e21dd46188ea21f890dfabf418aabec29f07ea107d55ba95f7aaeed4e93f7cafea58f570a5fa563bab8e2f4fbd4e85b39da237c8dbf35518775d973f76577d46a7b9cfebbaaed3ce3d65bb1adba3a5eed8ea97afb45275243272c8ad1e55c70f43f48b0d55fac5da524943896356babce7d91a5955bd4fc6ee56b6fbf2559eeada2eabb1bd998a3d71c677ef7a7c4a1c65ecd44ad591c8c8211f85d89dd5a3eaf661886ee1df50a55bf9638ddde931752f5f7aad7a7ff35ba857b3a602eb4ca2b847f9de6a17891a77830d7c50832a68af4dbae6ba20e8a5eebd134bdde5be5f98752bd3252d45dd9adf0784643457fd9c2f958e42e5dc7d5d76bb7f29dc7517f59c7d991eef4d1faf4e95c4941e35cdb53d51467369329acbd3df775c3a46d14bf1f115bf97c451d3b15128ed9dce7fa2ccf45ec0cf577106787b7c350c38646d7bb87bf612ee742bf5fad2338cfa77fc31bf7b0d51f729d4f7707af31eeadefb6f6aefea92d04b4775e1d5adac14ce77bfa5f97b11a5c3d99584f67d6d795c826df9d72e09b5bcbbb3c1496ff276d3870253a5ef9ef7ae03bdee5eea5794bbfbf0c59896307eb116d463c65ace365ddba12b990fa66b3926d3351ed38d7bf57d75e0b5b18ce6ba47751abf0bf9f5befb7d9a6bfe5ed0fbd5a3e6ea6eefedc3ee03421e78502c5d4673e59bb22ee90d682e3bde171c291a13a17d97f001210d5544831dc052b6f74c5fa49452da0c23fc8877943886a6cb0db3f3a99802b3efbdf7867a447b524a2945f44ad3e74b989d655250c728b1012d9445fa498fd3248e30db74ccd26abe5fc1a46c548662b160bca344133ee99f1ef32be97e555a69594f2751f52966263165a76452c0fced2157e516d48c4d2665abceb29df406e08b2fbef8b2a44accf6fdb4c1175f7cbaf7fc49237d5e5887a839762fe9f0742f263c654f8fa19743ef5ed4d5d366ba66ce8e27a3c868d2cc9b3eb2a4e830eb98d54528a594521d9e9e7f45c4d07b78427d25ca7a62d2e149c7849e8e09519f365b0ac110f90aa56364d808ed1923a2579b6acec0a63acf63c50e5bf9c8170b4a8f32299ed7c9a47430b4cb19860793925936e92d2c2b5cc8a408b93666c50e5bf9c857254236812fbef8e28baf4c4acabe2c964c0a4c0aea1663fb10a563643df16064523a99940c86ac27d5da9c572befe33d3dcaa4ec4e6f2065b431235ffd3e242266448bfcea1811bdd2b29ed4e1456146803151fd051938810d6cd05173440ab83d6b6de7c96cefdd3c06c1bdefd7fd74bffcd1633d7a325b06ec2cb84fa915be321b835d5edd0c5e03c1ce74cdcea8e0d62e3b7c33a6f9e77e05abebc04fb7c0673f7de69ccddcca37832b28eb82bbfeb05232686dce2b366bcbafa02c79d65e01c6206f479d30ee6e5cefa952eeba8fa4ebb08731b8312d616cc10ec4b97b888a1584c926d997880a5a9b73d7a1523220b82fea03adcd199401416b3308668bf1ad1bf2bd3d86e5b8824c4812dba7d54fabdbb6cdcc9b7ab4190c5e4670639a3ce4e0051080031264549e948bf1e9ad874f7fbdf95357c2bfa8df53f1d21496746bea933e9d40fa5bef4c6672d3144fe248639f5216f48ec5aebbf7166a6978efc4d32d3e093fa541ad7d9ec4bc33695a6d52bed67d46bdbd27aeea4937c199b5bb0045799c34d9ae4559ca7d97c3cef4ab4370b4a009f510fcc07feff4187617fc741ec3ee3e85b2ee4cca3d1dd575f374417b0227d87938db75dae413caf34edd53a5ae3bdd825e8742e999ac44c35a7baf2b7929b7fac57b68bb52e97267de57242c3b93996632900869fa98b7cde70e9e66b26d4fe2f4bc1398b38bfad5a37c81b72cdff78129bb65e3d30b82e06d07b3f125bd178232be71261b696c8c0a5d4ef7ee9d4e62e95834e931eb992c2b22b3f5e5049b2c4a028d1491d78bb5d6ea30e37c94887a1675074a76e9f958341d9f8a23bdf73ae0c62e6994ec64174eed801bdba429cd286bd25af5ba6794387ea3b27718639cc5d251e2d4aa87f23c542acbf4f87da7c4f1036fc2f2d489d8bbf7f584844fefb138cad898e2b7502d767f5d19f94ae4253df5882822ae44294f4af7b7a447bbf1d5ab1535bd13a7f772bae9205ee16caf8c8a64e4161f58f7d23d56cac34ebb901bd4a1e9ddf5e8e9d0743c9fdf7547e530df7bdfdd4ccf68fb74b9322ada324cc72d3e30d4e74b548728ed426e8fa27e3fae4a3aec1e9a9e7f8ffad4a149bb901b3fec50437c1731b289b8b18f45a12d5f5b623dcad7468930e690e7a62ec8a652cedd4ddd535ed7a150285477d3bb53ee4a97f7722ee9196d674fc6b6997a591c51cff9214a3be0c6ee6ead679ad1b2ed56f8c645a1503fbd5a58f64dd997b5efa52482014d345187f1a8efdc4f2694c994d24cdfd774ba7d11251b255774e8426e941e65ec7cd2e38cb64d3789deb358d2e3a767b4ac7b11daadcdd985dc44d8632260cc21df6a1873c8efc4971cd9fe1ecf90aed0b62f4d9061a23cf0b46047e99e87bd194a45d4c1f065fc2ec59438dad8a9cbaff4d42555f14e2971bcdff1278219f59406c1efbe84bd7ff72d548ff7a58397decbf7e9997a291f14ef78f50cca9ede3d7b99ee3be374fb4cb4758574308b73db5d0035e411cb17400df9ea67db52150c7e4f7d824f1dd4adfbfc3be7c1dfe7d43dfea606c73075af9ca1fb74fab0f4d03bbe9e6e79bf0f4bff5ed2add2516f812f5d1ea53f0aea2ca5c7f0ebb6dd67414e7d048ff2bc52e9f452eafb5028d4f789e3e9dc53567a6fa1b87adee7a5378fc58ce652f6ddb39f7eb1a9639d2ae5d4bd2e55b2337a2cdd7b98ca6a780f4bfae5d3f6548f21d8f972e3939ea159b6dd0a88798bc52b8e36de52477cd4af38cec0379dfbb22b8e99c6f68e3a3a6c8c7ffa98ed2b8ea6216cecd4af388247d9780bc575a752a8197a6f2a2bdd4a1b1ba7f43843c19cbaed288b46aa6467f458ba7d98ca28eb9e7e6149b76c6c0c862ea831041b7519a332a834cc5786412b191a1100000000a31500202814100985a3c120cf023daded0114000e91a85e5a421908c31c8a510819840832c600010100000180a109020055e8cf89e40bead800f07ecf4440b0a0f65561b2d71a41ebb823e1558a3daac7bb5b654a8fac0719eaf265bedd1e4e45adba710f2c321c4e493b6d566050d695ddda1d6121b5c33b202aac7700079c03a55577c7bce56d29b405d27c649dde43f787a0bd9cb9282a93ba7f05f3cc3e60a8da532d13f155c4702a4157c797009b1938c76482a81f01428a4a1de249dd200d591758711e8c4f454f7690d0453db8a710e2e681a8d169b57f8a64bd10638ad58223e456c51690ce8bc75a02f97251c311023884810f7807b12d5ed12f187a9db73dd76034ca20268dadd02b41eb02298ae84ad816a3181b6a4bc0776acdd1f44c5673a2d3ca0d473e901f5370bb7d6f5830e5ef582189594c572b31520077ba9a831bce06749d174245fbd14733da803bee180c2d648dac802c82bb2bd8b6f79ed3166a943efad48c9385c227ffd9b36a1d965a057baf5decbef4fc2a189249d5eea5e130ef7d6a55b55c14e00a81459c56454611f375b08706b0e42645575a68dd2c2c9b634194d54823488a02dc71c188c01c2b3e9e16e0847111d11cc087e5f84f476a7e381a08c80efc4710e14bcf3f84efab0a9f2064113fe23d1051f8cbabfa85c83818c3324f386b16d7312af84737e8a770a9e89ffacf713ff6ab55e38f9de57f49b3df3b2afa0d4b26246ef9c8ebf5a263b861cf3cf65333fd74c736a4ce4bf7b4d1f7edad9d4fd57b5a2ed422f45aa1ceb376013be648264f830088788b087b10e39e8649226ffe72b59a10dfd3d21e1b4827704f0330c383f95cfc226ab83ee15b4e6163649805e1e1df9bbb127e13d301166152c662b5fb07c523faf53c09828464bb8e8a2ac1c1fb90d3160a95c856375ed5d401dc4adc68691a0245282d2e957b59f57fa659a5ae04468e0b4b03813d44a68718a2f0df130f2c8355cf40ddd6a7799abc6f91fade22c664da9b4798ce9ba8456eeb19b079cc250288209f0fef328f455780c5e40283a8fd2164c06ab07681b1d0145e21ac83beb711041ca9249f9c9ebc6b6f375059be9c883c30ae08524dc1613bc2d91b57a489c027b901f3c28bf3637b6e9548cae2d466f530e34e93b0b67c9d83310077afa1072c8466bdf7ee9b485873b05662a117bb3d603725794c78b99241a3d892d55f56829c228a9d47778b9cce26ba36efd040686863be2b7da257ac354c64a6aaf02835c143a7cdfa8b5398aa4e62d8ceb51801433e743872859335847235ec1744adf566a60e46a06314b12958006a5bc4572b06ed5da815b56686df8009fc677d518c62585a928d4d7db3f7008752da41551281ae2e2a4f2b898c8b39f41aeeb2755288d5ca81cdf9f398bc2ca0da037e25ac34e57909bca8f1d13fe1124a3cd50d4fd3979ac161eb98a978721646d760b713d1f58a02a20ff22e9bc93436e492e0444fc6e1606783ca6abec7a24a2b0f3e6d3b1f92b2620e263fda7060439c7d7c063d061667eee045ba7b68b901306ec11f9e42814fd31b2db06902a0ce59879500332e2ff69f13e4f0f67a709cdbcb083cd1fe61248bf957749ec4e59f35739cabfc2cce84ee2150b80076a7c96c252b46fb133128780696f8db25d8a2159ec65031758e3e711ed3e9cc7d664a2728bd7d07f00d38cdaf28f303f28a5ad1696a34c92e48e90a6e15e62942ef61146b8374fe330742487f9367437a32d04f560b950b5676308f42dade99e88faf3c9c38df049d4c33c594d7c83536650a0b041e0b84a47da4138e69ebb6bc6bf771e870273d8ff95ea6ac068ff9fb25c19f6ea471bfb30df527c352ad21184b1965ef5a6c8ea722f74c23e426a1ee20439b9808861d409e439aa7111157d1c8cadc5aa190165bef34acc83b71a5893c35e42f13956a5c382ba4d9cc9aac9baf3f4045272cd1257260dee46e082344f2c5ae3c89ce743344800081960e5941cbc5c99b78c3514d841b5a749f3bbe64b122e32a4400e1f3e5549fd32dbed905f89c1442dc8f90b9c9bfccf641ab40bf14d3e8325f243336f28255fd28416ad8e2f5435e5928918c926e6bc2ae4ac21a95e016f1cc0a916f7c4f6017425604aae1ce1209f74d6b43bdd6062b282e10b79911e8d968e29923f1099586c5a3ea1e2fbf2e47df5e70b447091309300945338bc2a18bca1e0d2edfd3e79e9930aa09fb2cdde2aa26cb0dc74ff278202c07a2caf05b932643cde60d40ca174aaa2b5e1cc8b5935b65579e4822f86f6759a28f6e528fbfcab252c8d7082148a61735b01f9f889a90f272767d4d8a3a8870289e508f18b2f837de4594cb8dd763664c428c4500f1e8b6b9e87649c14b4888dbb1150db0711486a7a67830e1bd9a9c0a30a67c915fceea87c61d2902cb4ee4a31e95cb1572ece69af3d06c092d968f0fec813d16afe70f8e3ac93e4877502129c29e40be1826b33e6615f9d0f0f1f2906d25def7fe394b3c54067d44151ce842da89bdcbf57949bc5e8165a15f900c09250004b57f8ad8b2221a2f50ce82c0bc1083db7e2e35a3e4a1374983bb3dbdd1864958ee4993405eb1e1b13706c11ad46bc438201b748ebcfe9d318199ba45024a2f740e9b61e8040b8774cbe484e506a7be054f84981161105943ba8ae01d2c807d2f5da87f09ecfc2e39ef4d6b194b5135c6b2433771e24817d0b12c671976937c6de9192e12e2c13ba70eb0bd1eaf3c655285177194a312c0b810fdc9ac1247ec9984c841e57977033c0f27f594be32112a7e9e50198f28e54c0b59bc8d139076e5d1249824530014904bf184298dd4f0ea2e7b76e7e4e98c249d32191e5900a8f97575bd1932c7d1817fa92a31e4c488f91d16ff7fc31158fae922c543b4baba2b766f48daae4e21e4270c42d31d9af05058f9f5fb9d95b20b09f4f1adcd76486311bd910608be50d7935d2ec71bc4cbd9c6b4f38630b3a1b0e3c760ddc53bf8f4bb22812528085f57375ec754cae4ed8ad7b1d780c3a93a9e4bcf9369e8bc25fdccbc4dbb03cf510bf03ae7801a6ac0505b7de79fa7c1fe473c3ea7bee84ac50e365229b1e80f3c268c2921c8879d935764b69b39325f1f92797e54cb0b45777b9b634e26ad6e379cc3a9b7e73cb0aa9b0ad4f0104259a840da3bce8061cb07ff0b554814c6443901694126b175fedc135028a2a0711718d41e47a0c4227d159570716264f38517bca603ce408abea11874d552e41120ff2a2132aa1b9d8198500072a20e058219c4fe9934bcdacc7c4130b7bfe8aa3dbad47d33a328d861a685a8e9d321cae23fef6190af070d5a44f274522d2f0678a4e3e0abc7ac9c327993da4dce600eaa339ea7f6d2a694c2af4a30cfb89926b1088b3cb9d8644caa8cb79cee9b9950c60ea618acddbc9fc728294f5e4a24d78be89ffb4f4881fba99e74ab37c380831fa4a9b6c589dea45e4ee7bb493cceda24255b431744589978b29cd6266b35518d7a14d426e9b614ca0c63fbd89056dc0bdce21dc8ec6979a6c3e5a90997824bc53efc1c338b3a5dbbfa2dc2de819e826288cb04bba1b851457e9f7044ea1739994b27eaeb62b5761e9115939ff0ca0c0130f9f6333848872f710620237e829961b21d0cfa266365422857870719c1cd03edf1e93916619612c2550a8b0bc10d417727c480d58d2a84858df9a3ee53e4f72929d6c85b9312548273e7853ccb4907902884201a979f8c9c93ebc48e3e84f0f65b04e98691a53c7d27ece8bd4d7271e791a281a9e658936e02c352af67b61681d0aa344bb06089d092b350e425c6745c9f4b685c3e4dad33de13a224ecd9a622214166a82365d1e2710bcd4a3b7d4a70bcfa2f857a4806fdcca60d6d8a8e7595f5879763373143ec88e56ffae9f0f353be7c2cfac8ac7586005a2962d89323e77a902b4ab1f33c0ab2b2bc614babae6c413840063aa244f6d20062012646c84771c80b807e3b7777ffed31e5eea7681ee2ab38251ffe17f47c08998f07c29e698efa969b5b2e01d0d9eefbf4c70cc7e7e18481bd0739637aa023c9716cdbeefdce2eb0505f023240bce339b9bbf030235e13487bb791739460ff4bc25ebec3cc3936cd665f794111e96863ffe9fae059f5fc729286b4dc239c21e99aaeb72975d09d54e251384b52c166c40d2e472407bb1fa075c4662310c9a980dee96ce05133ab6dab624982c6e0abda8d52865fd8428ff7cced7128602456010d945ada6284dab10297dec90ed4dff2cb9fe91a02b75632aa23a447b132a7b826aea3388bd5ffca250f95e7d0d38c62b5199024e4c7b8e5b2e7f7c943d990106242a0467b5dfc1e326259306722a812c4993cb2220330dc4a609ba8372bcd9b2b41fe664c2edf2091f4103cb3c6803be874c081dfbf20d0afab24cf76ed97b41bd68f52140800ff9f603222232929c4e7dd03f0a8ff5be253f8945a783c3678c311fed16381f9a003b84e917c8d895ff7bb8a4d6c43e645c619732a20652c50b84219a283143b2b0b40fd3530402a973007b4200a5c11183312810d9a035c958f643bd039e263b08b9dcf058690c09d8a4322e203e5305c042c30a772c7c3a941e3504727acb12511cb61301b116829921611309191499d724023b0fd1dc23fa599d2d809f83a87c09ef540be7c4e8c02b731a9431394f8d1451d1a32cd346879c34403e53760c02b5976f21f88da99c6ae49582ebe4271fc9ec95cba92461e39f3c07d1ac9b09b66c72bb8363730c81350698edcc93f769f118e3a48e641836799ecafc8937b396098f2b985c85253dabdd33d14a9d259aeb5ed18f2b32f403e7f907f11e8b23dda7d4d493c4cb1449850d8c496ce672bcc5b1589e9d0590a2757829eafee11eedb17eef48f520954edb2446cecc643edc2555594244de3057d44d67289c54d8a92fac88f0367b1a6353b9c226589678f268e639d4eddb21a51884de01eb048b60385e50f19e272797ea362ddec895453271d1540d6647d705d0473dd50478a7ad2e17966b9c6b29224e724d9f79e72bbfd61233f26d1391de2d30cbf7e3e6dbfd75e556c683a105a35437604ba248628fffac1ada45fe966013b65461d48a155b5d3f0be10a055ac2da5fd652f60721404aabb080d434a7fc4fe5b5fa620a0ce9a221293da9cf68597b66b1cbb2ea9edc479a78726735d6ca63c57b16f77bf5771c7c23b2711f5a7aa8bef1dea89cab02ef9faa10b9a4b67f3574d7031938a682fea71108f42cd3b8839a83f4636600d4c370a8a1918940072e9c46f4f1d8e04fa56e4d9790075959d0125dadea6b6e77ec3d645f4db0c36c9385042538b2a2e621c885cc47bd936929f137a858028c965bb895d6658a59977bbbc272411274e64875a395d65e5037635923bf5a63b6f593472ab83b26cd18b9f72cecc5cd441e6231c945008ad4f4b294626e8a1fe3e0425ddfb0bc89047de06a4c8eb0b6a93735e0ced2d2c7c29210f4523de45c4a14cd78b9a68913d0bd9a3febbbf3776026ee380c38c201ffcbae0533a8f0a86bd33f3596414c3f513b90a178c713c4c30a8d094ee2067aeb955b6b9924c833e49115e3cb81853291cc2d951c8a646972f1432a6af073dca5be8cea1474c846b59cce593fe9c583045401ed5a42ca473933bfa1236260ad88ac2bf2c2629d05beba531c0a9c74b7e8632a102a2e0db93606aed5fef8e9cc96cbb1c13aa8074cff8bba9a5b47df0993243272f55d1a9d693d55a1e17a4f83c4d084059587eaf719315de4fd138dcbe01197f3119434cbeb98e52b0e3aba8a31b9eb668c30fa20b5a68a3a092244a01399e1e1d80e3859e438988781de9021b11c5ef091ee567052d3ebeace623dca5bd0f95b2495db92473793c4f48d597792cbca2f39fef747136f1d495c40bb0cd4dfd27c65d4cd05afb231ca19fdc2ce90061a89f023993465d93eb400eb1512c13f2959d8a279ae42428d5f54e0535847da314929d7ee308e5b15196f5500db88f0ad550e31a7672e6d00134597c59e24599edc609bac5232fb1dc6e799adb2ec186b5f3da661226a5f7b7a1e83b39e494f60a51ab386042a06d4dd0d925f0a7b43bee4cc1b3549daa08f17d0acb87ec341251ec83324c2ba7662aa5b9728237477b6f9140a1ca536f3d09ab016afb486fc3dfc14423a39f218e86abe306dda5a253b200f3f1ae517050636fcca8cb35a1a4dc729d9588cecd5629e6c022d65ec8c0cf5fe1f4f7fc028e9930db6719cdd60e06a72ddb5d4a4fbd35110fdbb71511755a3a37f8dec74da2539301a071acdb01e37132f301025c7de0d669b17321638b1588d92275e5834f00c4cc29ea2047b32e0215ed07f2b0470d06628d0a31040836480504b7d1c265716aa346427468262fc8765e67b1c7ae7f079c00aaf5789510051c9354c603007fa1cba14283dfa051a59f092e42bf2799c64699580faa561d01e8a45f300abc1755aee9bb271a94dc5aa74bbc9b9a4cdc882d9cf9445ac742e229b0390ef9d29efc26675991bc5a2e29013d31d4b3a2d7b1b11098ed34c5782b6398e5a775dc965d304f4dfceb1dcc24213e5f1a2463c71adddc0fbb3d5bf05a5d36a8aee85475310c3bc2150bd65ccc0ac5aaefb1d26c7238124ddcd846533a5f376d56af7c3db42ca473b266b9bf1080301f3d9fc687700fcae19be6d4c1aa2aaf846a4aadf2be823ed37e1c5746997e3775da36a8a3901b1882352c39cd0615506bff2463353b7625df0e0913e5f4968ac8223816322464d0f80b4c7b26d196bccb91f736bb1e938e0e81d47aac17adea442aace19809825807327293990ba223500bfb29aed6f75095411d7f13c6338a23ffcc86de68ec3f04b7a9ac0ed5351968c4ce6eb772866477745dce5ec63864ae6d3997da5ba0f2d40f7b6fc5e0a9ae96f3080540efe7e1a70dd8e9043556e147dcfde14a52479b13fa1beda830158abbc34ef0fadb65744e0f062a042e3083b257b9e5a8fe1302d18968f00a73065d2064581c09179777ee413f149dae9e722f32f77cb14c07d29d271ff41773ede740fecb8dbdf800e14fd118c3dd4d529c85344b4c0305f3242088bb2d3866acb2e6b5c422ee5f1ac1bbedebe504fc09322e4c1e0265becc249a481115630819c9410e3615803c3a270421be74c30312c50e9a17dcb396acd0dd032d3bec4dd922c7bda9c7c6aae584a76c718f747518d66e6b5c589ccb4b4812d89c1527daea5fb320d15dae0d275483cbc8fe23a053ff4bd82423c28457887dee70786fb94eedda7af291dea327f4e05ba84ec4991f01387822c27f5d2cdc21883ab2c48b054310211a18557d8d7314e2a90a56884985a54e3cf4b48971db8bce6e063a42cbf37304200360c6c829c6f01769af9eeb0ae6218445ff26542fd26113d2e07e6d3ff0da86063e992148cdbab4bc32108a77950e38050d4d478af61da9a6af8d83679663ec57338ff0255f49b0ecac3b97549d0ef52f8c165cb5015f404680411193bb10c3adf2f469e675b2438e255d16cc4c07e87c514111919e72f54eb275f664f53cef7d9cab5ee006ffa5bb0e30b62daa85cedf0601db5511cffe375f5af3a5a075a07af3f6e588d2456e9066bb04b062b5090a7cadbb9c4d76b2f35ba0aa854273a08574516c35276bf714d441b43d93b834e8dedf8599a8751a7fb719acd6cfd44c375acc38601aa2a05d23734012e103ec3a2974d4fa04eb5c78088f9f062efac24f5de8ded611d53fdc0695817f340ad0f9c9a322d8356a7318ba66c18db349405984a4daaed81e0e95184908a5c0f9a49f3ba5c32982d35fb62c5703c8e7b17eb2ee187af0c7ad18dd0b389198c982e01ebcb7346e7370d2d2569f9bb592d724ea60318edc38d24ad815e76b9357fd6547daa6733eb6671e9bac5f2d24bd55834d76c769bb2b65cc7172ab3581b99884538853edae5c69f9e921640b3cc4da3ab4286f0b127b585e63cf5c1e3fa0c54fadf1bd7728289cc0567c425eaed1c9b2f6efa94dd72282a35fc7243ee2d4b8772343cdc913f4afef9d6cd44c9c92a9a068c5161db4cdbc35fa5add0ad340e3e9195484b967d13226362b65facddead7c88fcd456d6d1b78fdf723b5b4e7e1c2af4c7d25ccc8d6e11f80ff4267313e8ebe0dee13d4bd6b87004344a9854e891e417df6e2110ccc5170c813035b09a070dd112001e79c9a9ee1797a43c83b1364a8509e17f49477649ed4bfaa0ef06358ddb7dbe6068d34de09b6077859f730524b001fc693cb6a588b732a6ffdd24881beb36553a5881c123daa0e31467f42b4e6125c471d317e6bc97a857ad025cfa7139c26b169dcf4afce16c3388bef2af4da4e4bd2b10e35afed6b0cc19c6e00c26498086a3fd1a387f143983c4e27b7ac5bfbb0ea01299900716a48e0acf7486c1bc4959d71d411938c596d0d0592ed9695b3b865baa4c4213e240b8bc757fb5adca0acc5c60ffcd3fa490e4becd13d164e1a491622246278177f62697e56c393f1cc425cae5f8427e0451946eafb1e4436bb63d284285b70e75de51f76ed9ffe51ecc74fe4e535b5418c6678d66d8fa81d5258bcc06e6af2063bf502065cde4ffef90bcd04bcf146c6ef6830cae00f51e1df0080ae3a0eb76fb6c7c9ebccc96381f2be437e799819c051115ec840b67dae523e0a8e41ef20f24730cc2519e1a1a6a738f372b946595165032667822a3cfaa8b70f3bebb53039e6945871ef7f099e62e74aa0e050965f3ecdd7829442214dac6c442691c3851bed1dc7c4a74815ed6aaaed24d84454d903069177a0e98ee6ac1f67b638a84a0a4bb0eba50a87dc558ba7b30e00805b9d7ca5a5c943e5db09e939c488e594db97955409702a2d7a064126bb09f4f25e0acdba2652a3aead0a8184d71c2482e06266debef06ae5d0100025ea56df323c0605593756bb84360e05ed33946653134c86139069a28705e9669bea96131c8a8f026fa7bc22f156806fe547b680183b21c8323762318953fdab477630d0d20438c960ed50686958026a725bd1ae9cbfb884c014bbf80c7bca4b7a9b132b3c4b67360f8c578804bec5329aeba79bfec11e9f8a5e5cb36bdba6a513385cde922838a6ce0eecfe42be9240cbdf984c1956ac7c875a63311160e24b12d98294af40a1dc35f6b67301dd1635be9ca90c53ef311fa626469fa58faaed7f989f64f2eefa0b3eabb38e07da7f220cd8ddfd0ecf2fb0d5c3d5d284e0860706694037b8d391fd1bcf6cf3b1c5d2600bacfc8961a874168751938bf1237a01bffe970ac27ec0696b74ae05ee0e0c7e18899b317a8585e473c9e0b0b7c2a66608b667198cc43616b445b16c2349558af4257ebcbe898e1faaa7b0d3a91a9a4b000f82f3fb282b08d21d40f166e147d951b4a773a0bf66f8b30793f0876ecf436ce290c025bf4fda1adc102296ba7f45360cfbe6819b8f6fefb373f2a478ba3ab22052edece1fe0f90590f0132ad8313724b901f6187b74dd17739981bc4171245718e90d8135c6458385e86c20a922ed270dc7f3850c72bf3242170b2ffd7a46fc41ed5f21bcd156b581a522d45b4151524c7701644b9b97795a87fa391abed0fef1b887b8c3d7572969d46216d1654fb8d4cc5bd684411934ec5af3d4a109ce0bdc655fe3672410b1d8c090a28e3c5e2d0002b937d30c6036083593c82f44d04385ec05ffad3f3b962520710d8eb9030368ccc50367407a18c278f1fc3fdf4109e7a6129580f7c29a04e4430889111b7374fd6d73555ea3f15bfe88623a1363a32339a621996ecb57c617c2bf7ddb0bc974a8cb91c1b197b92801e37461b8d3f1556b5c7093c951d3d83348c8d5f9866a86293284c7781ef6368c6e2ff6f8112b45dacd0f1a02da04d416dc8316c7531f3c25ca70de14092f461ff08b99c111062f4e06b6bc4e742fa444477355d12b52f641901954ddb1779321f3217b9a5fc473c95e814cf9c0ba79b4911c5556a16d63a87447004d6891d89d4f0cb75722f6486b8c2759312b5ecba692299ef8210a982b1cea18cc25afd4294d0f090462a5bd9fb7c4eecbd9d15f35b363c477fb513ae8a46a5d7a0eac50b24800950007906b89e6d39dc8afdac7d5a0cc0274b44991e1594a42a33affcf507c5750682059aa049d22fe269d99f53e6d06899d8897bcdc7c179bcb7c023f0de016e204bec7d1b7cf170f8ae37c6c56f508590f352f3067b7e1da40dd541ffcebc5ad8f5eca34645c996bad523d61bc31cccaa09c94a2ba0c1ee3f679e63b8b5498a0b535dfb418f9f3a83830221d565a4a037bfd0931f15e7faefbac2706dc5a1abc037cd91991918763b4f6d6da91edfb7a1b8b7154b38d4225a11963873d587e16d0ff701773eed7d443df0b8e1eb67ba60ae380476226f353fdaf2c4594b8e8c092cde489c7e4f55231e79261558185a4c46da9f9658d125ca067a7fc723bcabd620aa76531ff4288960865eb35639f8522c757a408dfe2d778b045b864e852db3f0277dcef34d6f921a99458e74f679f7ef1bb4fed9ef65362ddde99b38483e48b12b40086bd981234e1e3ccbd9c758de4857aa144e9748d97a3da94c8b81956887d7738e6889f482c56a849dd735c5ceb74bc1e042c22037a206379c8d93ead292a543181580e0108936d5fc5da1806e6d411137a2292bcb16142eb0844f3958931496cd1d2fbb14a9e54e326c19baae3dfbd01d368906ed1c397ac9b71930e992464a101b90c99702c60aa351217aeb5a04a27a1920dcc8326590c469f4b7790638163b6a2a48daac981573d57805147db4e6043b510e78daedae21181db7230ea5bda75cd350d0dc10218e606227ca4f0410654ead16222f98803df9cff262cbf601af190be60b5d2036395632d42baf8ff12fcdcc44272e9f0e8ff7a82c31c1a4264b28bdedbae68d6b7c6054d23895993493911cee97ae3cc1b11fdfb2da9862b3f82c56143092e33de72132dcae6ea474d71ff166ad2e0c88a9a7d22b393cc5ff8deae31ce315c1220af8aace6cbff1810cac42d2fd139cf1a736fbccc85af61242a4769f94f176f6d0a00b515043016eac47570bd9e58fd68dac37d18f21fe4e6bb8e6a7e1c4e7b551c47579739d60d81a9891776968e18eb723855738d9c43e3fc9f9aa51963649a31ba990def88bc67902c8afef37866aadd3e6f6b3aebe4e92f25fe5da0a8a0480812baf89019b12b1dddaf7d6a63a594ba0edb071a097d240c6a7acd3537449a602ca56fc9a400f80802e3d86d2a0ec6ee0c629a0f28548a4bee7ab65f65d18b16e8863bd4ca92a2272080169596d632fd15da378fba38471f5ef155837c86bd0e833191a16bd19a6800850887d460a4d8e3f1487b059fa8fee424d0a6f6e46aac81eae0466ce1c733e8a7f86c31e57a718e9a504c3a074b65586731040e7d86e59a80db920f68185095ceeed67d94d12944f228d67c3649df8a3aac353bce683d32df94006b62eb2cb328c61f1bc2ee0285c4e2f4944e56fd81f2e9881dbdf548b0d851419bccbe6cfb2ae390273ed1bbb84a95825175466a66aafc3fea7da6c720e9a3b596ec24e3bed5bffe1bde5e667f381662aa2d1297bf163965482d954500d4a92857063be6a28542deeb8d332297c6d8fea001657408652320b63044605638184107a90ca606ee610050a513f2fda5fe3866e52344198bfdd1c1a6302690714008849d1b7427f4a82f5311d42f5a9ce88408fc8ac271613d0c32938bd24951ac014e63c56e313e82e450229cf6ae4c5c47b72421749f215ff74762c92ab8e00db078c55d6523309f9a11043877b2e5e522a88d3ecb08bf9eac748c7d0c1309dc92e8b30fa2694218584946a95d2c76829e8d4b1b3873036bbc132679d4a1055539b538520a5b850583b3ac25be564f9cef2bd35c8ea1cffd1e31eb35a8b2f9b50116a5380d48f9cc0599a127551cfe81f99e3f5431aefc3b487f3540bf1765749b5f8c5015c1ef308f964e695833fed80aaf9579c9adfa472a522a2da98ca6248eabad588756bf194bccf7206191f5fd0d5aea59d5d7312895e02e5750d0fa49baef5a095c94889cf6b3f301bf3f8fa53cc83b014b19b817fe958741d402a838bfc74511a4b8fd5799a5ffde8fa521b18408ea1468fd50f18948d0d64a747cafaae9ac287effd77522efb07fa1e3975f6cab8a03b9e6d770076dcc641e9cfc0a0ddc52ae38de4c49c398085e793033c927e0d3d0d30ebe3adecce0f2d0c2146fa6775731ce972a6175f65c4436864a8f548a66e6c61e03fdd962f3d335f57d373ba3ce2f2dd81a13b5953c091c6af66c002611c84bf96b581a9eeaf310697a473288655a028e0cb8a386beda74417b416ee098686e827a0fb328a4d1a9d28aed1ff4f27b02beefe624be1186eafcd490c459af4d51303963aee5eed794a1ff75bd326335ce4e6e2feaaed95cbeca34532bc695eda66bde548ccf487f88766c73f1249c319c54467db00d143aa1b8e8b895bc7b8547104c5ae9a91bf132555768d5184b4b82a90950769cdf914dab90edc0e9459b067dc00ed5489d2d2914438686cb58605f5d18534caab5ecd74a9648733563826665cc264d9ddb11188842813950e329f0ecb0b0a8a97c076ca877a076c0b13c26d0b28f565dc6f373968dedd8c52b22b8932c614774d09d10e385fca1a3b0c46a4db5ece859f5d8c0c183896d87c28672a9c926daf282bb13041f5e18201fa3d88a4c594f8011d38ff83b8ba603f839d2aa59a5b770eb02c70e3524d20e3f94ade0885520af2700192c8dd43b87fa9d4789d852bb44fa1d0e2bf13d01d0303b41617604f0b1a0794e541c42ac0bdab1454653dd7a6c795efb3cb25eb19dfb9d76a8ee967dceed3c942f75705a5406ea1f1c3c7c57ef32b953472798d72c7a4a19813b6a4e87cfc8e6e82b6eed88c678ca6bebd87463796d86185c16b518123bbfa18d6fcf845bba03cf0e62ba2584e7411cda7070f95a052883ddb6d0e00d6cb2db07dd6a43ec29744d2227d383d67fa0527b4124a1cbd14e28d186796b3d64db692a34907f2e9e9e0616ce44f0c5c49b2d0100d456efff5024563dad5541b0deb725d9fdb02ddae9d54746662927b1f2eed6f3f01b75783ec57d8be3277a85d5cc8b6b1ef9fa50d29c55ae4ee7cc7643a6a9c1b9f141f6b2234a8f4643ca5ceb4af7342bad0d8da09b79999300e4c1e478d9df0d9f57e9d557ba081c261a0c254537509cb2375ce992fd6b55966c4394c715c0a9a7fc6145a406d024de37c398d4935daca8c97b1857401f589f5f83f564cf5d95b4fab0cf39341687e13b51b1ee6425a8fbd71520e555727db119baab57b27134a7a4188839e1d4d86884852e02ac49722509435643db73cbab9c922bbffd4096b06ebab1971fdad6b5746ede87322b6b32cdf3c31d3ca730ee3ef0781e30f2c2a691b65a728661ba2483c59ccaa78c405028124a68a7aaba8dcfd157449f8cbfa645f72ce58ad2c7cfda2751daf46b5923dce42c0dc09f7c1497d5d89c68a8316ec255c774d7b3870ba24f7cfa58efd1b77d9a2a505513eaf5ea59346b89d22a3cd8ca7e6320924c743cbd51859cd1fdb72db8bb03ceebdc927c1e4ee82e8f99d410fb80731d5a758eecfac3e798953362f76d8c5829753af7a6cd1828d3cd640c59c185510b1342dfcb4e105b597973ecc2177883368882a6f2298df1e71c3ed007b780d0a682722af80e0e23c64f8fd552c47888f75951692d8f2f3819f3d0fa81bb50a244ac215f001e7e02962d9d77b9c013b8388a017623fbc65a7367bac6efa21b35258ba156e1ef9aab0bbe08c4ea8f9170110d4f3c2664ece5e64756ecce3c564a4a647cd525708556666d42d8bc633795838de1da638d6d13181f8ca0d6500db3d2cba32de10ead8ef415e433654924afb8859910439504df4e746d2c9c9e0ecb99090253a778d268a920932009fd89445774ff788968366c95969231088c717cc6e87b9b706594fcaff0ef3c8d35ea5d4145fc54b9574e5130bc5cd7a48e94cb8f5d24ef6f883798ce779687ba400ac672424f7d2aa3d86b7d684f5c60d339edd53ebecc7d90b559d47dad0e562349c65c6c6bbfa6e0b272862f68a2f1668b0b14dd4baaaf1df2290d4fd1cc80e2cc051e54b668bc04c986a3d7ed20fe207bc678d1e298247661a8cec22d36bfbcf0c11d76f9c6514c9851f107753d649d0bf681517b68397c6510c23aeb1e921e4b71b6c5b66b7cd7d2eec6b1c4ae5b13a43061cb261e5252c0386f7ed66eb07155e7bdffe0cc84b42aaafe5e84dda19338a95f099e04f5c9581c102d969c5360d726459bc1c616847f063df9f1884fa02ff72443d8e89374fe5074d693cc5bcf32e1b1a36aa3fce697616c9fa1ac6a630adcba8919ed9e4e6f907de6de8a06b9267d3c783b24611a753a478fc5d9f7044d985ce25875a00982e20dc9823dc5c7b3843431778608038ca76cdc01a72dad298982b85b1582b7e4928da07e2d0bbfab2704501da8c9ddd0c9f03a3b5ba5dd4f29a23962a576608468bc082eafaa157f9a48d887b022f517c4c145d5c3fd72fbc75bb93a558c029df42682a9c02019dd1d7e51538cc7b1243d275a5957c20967b3c67a0132828972a127736baa9ecc718799a47bbeec59e6a2048cd55f48154417bb91dbf129c36ea326d1086ea1728bf011c45fefbf107fb20c1dc32e7649747cbcdfce5b98460140137550fd57455a4102ceb04fc77c6f17de49f4b44ea313eb3c64f8b31c922ebd68dc1e5f8e17cf33097b2501544b5c3affb280655118f614a2afc88b625eebd916cd2dd12f8cf13860c8f2bda5328c36109e6cef7a4369c28c545d28887248d623a150d826d05c9a7caf101340add242201b7771112586f45d3ba0d3946fd18c4c3648e5a094f27b900a3f8c1b7b4b87b3d613617c3d31ce11f5dac00df9dd5bf2f1a8f4c0b9e17fd74423dd1a83163156e88c60f668bf0007136868d5c57d07f0d4640b13914c084fe43bcee3dfe84f3352df52b21e38838145980d9898f1bbe000f4658b6a490b752bc0006d7101901209eab7d8ec7b06373af4abad8df469cc484aae51825d6068bfe79a8b2d849234e4c04108c420641cae412a7b9cfe5e8aaa07bc4dd013ce9b8e24e0207ca99da227b61e38e6379fed33604b1327ccd80e974076555ae8a65772fa76b40a43491514ecf6fc731b1cffdeb8e3706d742f35b23c0d142d2d0eca3608d80bbe2892c871cf91437cdf3c9d4f43d44d065126d44e8bbb7c978267399f4fadc9890691effe601c6af1347cccffc153fadcb0866b1a3452c8bc4920967415c082b36e6646156e9af3fb259381fd1c16a4009810fdbb338e3b91481c675f70a6d497c09b19352622636497ae3987079d8a57cf430edba5383da8960f165f4fba5dbb9d69b3b787621e95c74d564117a828cdabb5d560a72ddfa7395f0f590eec0a6a4bc7e3440d0b31c05a003a79c520af6988fe5f75a2fd40103f65a233640c6ae8934c4a2e71a215a965c16a2e9bd7cfd044454d8ae4aafe9f0d957a53811ef090b3898634b9ebcd39e1064faa4ee927024817514ec21b2d0b5eeb75265bddafcadeb8e0986c75c3d83dea58e74538c57ef8a109dd50fcfa0cfaddec338439e92c75e21e79b40f226467480998fb9dbc09cecf03a59c818ff9663623f539f5fcf57599db2b38681b5a9f4d1bba1069088a208979223a664ef838766733932368598ee276cff9024491ea960815dc1324c9d6d4581d7259511960fc6d29300e87833e07329cf566ca8986522610016f66558842a8187854b5bd0404527680ea9d2212f6fe76bad29a982095f880f80dd6cee3904a057e172a20263a96f632701bac72d0bf46488b3b9c46a5cf7808454eaaea24637187981380de1964430534000921001a6bdd7be46af3e4865c57bfd6cfa8fc393ea456237b312824d3b765d233496e08d5422362993a82bdb43260699c5afa599dcb53b35732f1a727b2ce460521371a585f1c99b911ba17e34880dbc118e300c04832a3170dd4251a7c4ecf0fe5cf9ce0629f8d3b147bc1983a04c4820e22ba1c26cb66111056c12d4914280fc5f47bacd768bbd0659ef0782bc6524b1f6fd94b5eb15f4ae86abdf09c0c44774486a7e20fdd79b948f872417d0be9abe3f0ecec92f3ee48b49ea13c6b81d5ad9736b44aa04762858e6071cbacfda60a93ed46cedd8ef41b962c27951f8aac8e1161bcd74a0650372dbb581492f73d6347933f7d809d4115b42c80af47ac3595080367283893ff4659932da4655f63413a7773cd74db0b20d03b0781fb784b37b949e19ff4946531e048b9cffaa589e62eab19c6cd2aec07448d6a25363662acdd0eae8d3309973297652ec95c7e9412ce766940260bbbb65adaf268457a3bc56d239845c68b5a2f32a45cb2c868a43f95e10c1a7715c36b67408e2136f465bc457b0ab151a4609703b73f1d8fe450179ea0c4666e18556c8aafa96b05223d10f5c2377a05e5c4a3ce7764258053cc96afce426a397496752231437a3c37bce1ec0abae2f350413e31da29289e299a88ef5fdbbe11184ab94fa9143dce3e8a00a5a95b6372076fa3604792d1aaaa11b65a729923b98898a877c16ca158c0bc91faa502cf83af87e8617a2ae8423f0916dfb09d6934c3da021f3a86511e26720338427f3f2055ae725fe8c4536055a50e256f539b380ffb2f519c2425521cd563f4d3a91ce054d4c56830c80438c08f5b9c1a8f315641271a0857020431936dd52e8a0d7b816df28fafee23f0e43118155aac32fdb7f31e7df1b7b828755405ec3a21ce97f8458ca57e20bea87ff0dbb0d28bec355ecfbaa1ff004724152ba13d348813f51ea10fe48d71e689401e82a67f239b9b51d7e13c867af02ff4e5963b79b6ae3d74c4f6d4297f8078e77b97d20644da374c28ee05c52729f10912e21794d58a9509f5c02d44a790c6903c84d8494ae3671d7b790813d7a4d6d6c5fc890f4d48465d70b5129aebd7b67276500a9a672578be479e157186e3e6d487f91ff6ca748efa317e182f494878b0c4e9c788072bb1612cbdf16166a198c07e29d08324c4efc56d82a03c58f1b83c03a8fca9a6315fbe2616d31c11fee10205bc7bf8beb02af8de00b0bbe7beb58b58435d2704f6625b649baef8fb4650eb4eac850bb1ea6c2ecb11b715d5f5ff62e8b995337f791a8297ff598902013d14de51ece7120529d771f63c50a0de3aab92201b77dfee4acef23785e5f561d02fc9773a9b82499e301e36d203fb1d035fa49dfb835e3a96ceab6ce10f8e38e5e024544838a450675bd30d67016b5fdf80ee5d0b345fecdd324116865f1b3d9cfeb05b584fe839c7ad8a2d82838042c9cad229a5224a2b21dd6c450cc176ebf723469bdad62732bb582287c4232fc556c5bc95a3d1c9eb539e44a7b08607ba1e02e10a13fabe617ba523e84f491249e92bb351b113f54823dcaaee9e5b3a520c1fc6d25613fe2ec34d5015b4de33911dd8793264a6ecc0327e3dcbb60f76f7fcb7a60716f7d933705c30f7846ca9182f2513b9746ba84a1ff3d42f3efdf6a7acaebcd9e01effc943c972129ec976134a6ee1044bf5c747056e002c3b0b546957e182191edb01bebf03669a0531ed70584a48ceb8c1543f49ea9fe0cc30249b4ff00c194848fa92ac5cf4dca20d29b0b793abd54853902d8248850b452636946bf3cdd2110bc0f4e5d3e1a88222107fe28b8ee053672912057b5505b83ad753a4355ce64a82a2efe5e3b54e213bb38cecd18c2e1c0b377ccc015384b55377c9799d25e6034bf2c5188e3d7feee72cca64c0f2e3ac4387dfb102639d8f346a960d1b44fab82496b354d4428d832123f1e6f1725ed7bbecbc4b1f340614aca1792518cf9ca85480786f8a3ee990c08fea9fdb9d75e2e5bf9e0c154728d36d9a9f0520a1eea72424b8ce9f35370447ab00c1e19d024d50ea3644e139bc6d258c27521a36e76bd542631ac3aa112605a825d4c58f079041aa58fe30ad70fb6bb49bcd4b50e133ef22154caa9ff66388512ee18c40c83396235e3d41bb01dedf1e84f5bd7f373040119079026265742c1bc09ed5e9401320f8e6750d7d02284b4915d4a7e6d21360a88862e20918f6cba5dd9875504624fd9c34619aeac491ca97d872106e64edc7cd3cf5343dbb329497bc7cb93dedcb6bd3ee2f115d02713040439ee33a4c855549e518fd1b38d189d9623967e3c98218e72c129dbbd412014bdb7404d821257e1db210745200b5039ed5b3f451caa8bceb7b3849ee6ed28189b7999b302e05afd665cba591b07378020ca0dbcd28bbc98a1ab5543b50e3b25c7452ebfd9ca0f5f512ee6022c7edfe0ee6120e17505bbf5b468500edec2b5dec2015a677979be39d94a5845f5d548e8d891c9513861c4ce43c433bffe4d07de6177b99ed8fa47beda94076af7b36bd4570cb26523ca02eb921febdeee7b4f8a518c4e7a0704c4d15d10a8219222ed346b41fe454bfc8e880af6f59592a4534d3414fe85322559e52d89f9d567f739610b67a12172486be20d047b9dab4c39cfddf200b8c9d502d48e31524215fd824e4fd081f3b58e7a357b81efbecb142b6a9fbab6b46e9b89070fa66dc87af99ca525caae2f810130f6aa8fc9504b478e922101e89fd6ccd04f06966490a19d0f7d860010aacf8fd4c6c70a1fa344cef2ea7233031fe78876432b0f0d7febc95a947b13e553c05550e15d8a81905bf2d4027f26768d9952300a20ad526479b053fa749342ec75723015e8c9c3c4f9a8cb93049b0faa074bd2e040b39ca7d28975d791e4edb5842bae6b30c2cb7b69fff39517499e15aa8a74127c57ba3a31dcc90bf3ef5779be53a393261635c83f71b9ab1a92e8e70220961807ea65ced2507602c7376c0cba71a315fc30935e1c34f3d9fcfa5866f73d3fb955239595b60ea237699710ba238e38edaefd1d663f7767f4e9437a262878bf19d2315121485f0cc632d9aa23f3412f220b8bc687bcf20f487d38adad35526f351e78b2bbade924ae76f4639c0e03552e5559afb98420f90369cc6c07fd7457f1ca5229bc47075e9614a9779ac1665822de3a04ce942269409a51a904d3048a014c1975bd309c238482f89c52f010f011701061a8069c61b34e7b6d7c1684d06cdca42c24fe6fa627a689ab9ad034ac43692ca72d359a81692d8feca5c497f390e6eab624cb178e95adebde3ba144042a47e34b14e856cc27f077ce51449be8830f06bbe9521310aaeaffcf56a02e5d5dbf30f850a055ca785dcb6b5ebdee010cce599bca0fa195071f30309db7378f2353194ec4bf94df803cd4491f2f3db40861d6d3a666d0c221c89cc87cce4ae80d1e67949b9dc98b17ea82c308166f52243cbca71920d0f6cc695fc160ba0db20cb719c5f45525c7f15ef057339bde74cd05522795b2b3875eacf5d2da061610b8b6eae315e3fa5818bd0973e16bdf4d63ba51ae84b5c1f15bdf8a82f763e9ddd5d2f84686cbba838d1f4a98a275ef89756fddcdad289c6a3e6e09e52e5ec75a29b1b46f9361ab8ca8c045ce424254cb3d03b81e902ba82dc0e8881a84fdd579eaae4a884e949f149b911d657a57ae97da147ed74f4807c9fa106134affd2312da3836332ccb580ee28d4f3a70e0a022d6d857a28fd2a482e882c05756639f2f0efeb14802477368a4070e8451ae009c22994628d055440672c07f1800da76d459db61f33ac20a861d1a15cd5279d718006780da0a3404589682d01ad8bbf842bf80be12658c184030cda692f7a810950d82d6d6ff3cbd7b7653a5d01f45cb4ba00a7f62ccc73cb20983a58966bc2a687e7a37304bd75b24f40971023de784997a2907c146c1c184bc9a30f6d1220ef898224b784e0c8c4c22392728a90b0a07dbaac3326dcfb1740f82a021e041f4fcb19e1a9a1fb65dc2814621adc1efa4a49173eb506f6a4798fe4fb58bb0eaff9fa8b3a964f9794fe1e0dd550c8e812202e2fc6e0ecce2a3c00e29742efe8ee77d1c7d1893aa6c669ff3b7d86438a56b56f02b9e414ad8bb188b3cadadee5e0062629103413056efc7724020c0616a0218681133ba7b92ed9ff2394d679ad0e30396828c7b92eb4ec3fdba411a8a5eaae4cd262d6504d591168c23557bc02db07735e0dc606065f91baf1078291e953cdc4c8488c3360f4aa3190abf4f5f4a0d5b0429ff5ed4580c89754b91a2395b6ecb481c8d9dc0233b57ab74773036f8495c762dda29767ff1718a946d0e6da9923d3a354255b2f60453780924731f7be6aedd70ba926228a58a23369c0c0e113956959d2b6521e606d80edaa8e6b4faf328601216a95635b4df8d0057780a4fea92fc77c3d0e66409b8967f8f7380629fc18e5d7de418f491bf61fdcfa810385b3ce905f17f99176d0a5f3a6c41f507ad63c6d5b8196879c713af8040ef0d7f051eaa0464f7fd1957d1308744a84d5b471d9a321daf0bc13535acae05cda6fedbded2eba4600315aa9ef4af4c7cc0c54885c289bc42170d952aeb3572f2d073799718f13e78a85e71e1ad93753744213222dcb65edb37c7138737bbaabbb16eb85d36d1d9f0c73234c7d88113ee1587a20a80fed1ddf6d21487321d4661a016dcc3bbfd508dde50850a5264d54c2491353a334e14fa74658ad36ed9d86fb0265e80049de103e21a28e7e34683e94ab6fc2c2e6f6f4969d58e2c87bfc0d0f91509dfe8d804602ddebb03ca55c438d033422bcbbb125dc8ec454fec1cf585ee47d44e31d4b721da50aca0f13eee19c7b484276ae16c9da7a2e9a21bcae2b2ce6aa62045ff41faa541584af137966dea4d0bddf944ac576371280e003be4d1ce7d387aec87bea7582996b564171743f88c024b9d141e95d4dc10429b20c9699096db17a51cefdf6a3f89de0c2c4c0f272871fb71f7defe66f0c58523031df99c89383ff8db4d43ebe10164256b404c1562ca95ff08e9b46506870f7c89efee2bee7dbd040d873802d1a0833e63e3687d5e778cfb6fb1211512c3ed413f623fbec12513f4b612a8ecff78ed3f925fcf6680189301cf10ee81be4a8293a803a4c5f00eb2950337331fc66d732b93f2f0d9a844513355fd35f8a6e66ccdb4e6c8873ec9186174d160024586f0c139a3e0054eea2d6cfd0a076b83fe61f7c35c00ffd1dbc0cfd3904ff7ab6fc55350e4234439ab0462d1c092d97d10ed4e0b51851e1b5be628d8c3974f1b21139e37846a16a62e44972c1fbc3ef898a437e2f206816d5f8849e1cd5ce51c3aa619d8645ad6f0cfbcbf8d594f39b32b1f57871b8639d451ba74c1edcf9cafd9016f26b07f30fba24eb67737ca1d2762584d22f57a155be720f835af66681be488703a91822f6f2a670a7820d7b75515838f99ee0f741358572bc58949ad409149e58782c63883bd23ce1c909b3abb3a8c690801739192f959605f4239ec5a607428c5ff4150ef806e03fe702e560afbc47025ec4f33c574109009d207f9e44c0eb607ac7aa0c22e63e2f09247c1c2b707b1bcbc4fb2af1fc065893df571cde056e5d39ed3201af92d71cc57eaceb0bbd4aa229bfd1948501f6571400c0bf803503e8a4496128edb61625849bbf38fbf275130887306606a6cb50e1cc0c4a5a19c0e4c6dc8418bb1ebcc880d8fee462378fc71b072c9d7390e11e65cc62ec45004ba1a42d916c4641e5f796253e6ea70da012a283370e177d972c172aa3802b599a37b241700cfeecc76749578f95c2cc0b94be7fabf23f0b0e85a697d35799a04fd45e4a051665b569fba50e5d5ad542636e6344688146a1ac2e4e42f93c9036d61856c60ff006f23a3f94c08371041be8e73716a4c88e35d2033cb5e3bf2b06c1edbce4fb1c7f7bbcc957cdf973d3a09c39689b4377801d70e9d8494ea0f6e060024fe4c31cdc91229343285cc505d8f1fc8ccef18c276de3f084c6aabdab7e9d46a8d01c67690c59689ae3c025b43daf326007c2cc305b119df1ee9d7cfa014dcfef047c982f9ba21320a68440ca8ce874a81bb2232e88bd9cf4b723f653f6ed02a25e0e159ec078fe7d7d5d2ca8c9766f231992b2f6f0536b8a41502543a3d0bf1a44e005759d5754f5d561937753918b8446bffa7739d824f94b064a9738c206b817ea388014c1d7e386c03bea87fec349cbdf2e7adc4642949364022c9f8e0918660656e6127a6c2faab372c80023facd4f6530dc27bb4672329f1c9634432f5f9e654417f39793b3b904d3c6cff7b841fc2672a0d2c5d4237f102d27fed4513e32f1900766a0ebdbf52f4ebcce602081f22e90b69c1fe51ce092132204f1fcbee6f797e14b510a9973f66e5e2f18ddf55f57f9c1c29abae04b91e77fcfd989f74900fd46538f6855843e2eee9b820bc664784f3ffee274f3891242f209b1859e01bf2e10f563a4703bde7163a9e6cc8964dd11b913cd3d3fa4a4b16acb9b238863385717452969e6dea01aa4a152b7aae8f1d44d71b062c610633344cda294056b880a02346ee5e0b1ee7d86e7d94432f1197f0912499b8a643852aa9b0a542e2126ec295e1818abe0e5de9d7b248727fe308c4251cab7cd1ed73f448a03705f964e14ff0f8e3e54ca34e345f4ed87089b8a3cb53115312d7747f26a9a390571bea43535e0e960365de8a203300f05071442a5a003e1d68026d7d0b2482939a8d1f39924e13fb18c86f101681d6f2d31051ab2d390b905b5d77e507bc0d2e18e2f853d6120fc457a0e7c1daed3af5029ba553cf346bd7ff50c7706c612e109e50a1db6525061208f66ae71e89d6ed8212c318481ea65b358534278578779676caa14064cc5d92b4600790b5383dc4ad5128e6ae166cba6c7d03b4719b78cc424963f8b1c86219f567c13ba4caed3d7a3e28854ea984f46d25f46c1418dd28a70fbe6fbfe3cad1c786b553784929f2221c30401908eed5e665d41fcf004cf10508a4a8cc4d9e810d443fdb10ffa5061ac48204a2cc78d2521b17a61a755c6395efda18b17a0e820555f92988128a84a483b2a684e146fb94c3fe0c92fa0eaeba24a4fe83b496c834546ff6b33fe026606b216a5f86703545a4995dd944a75a49b6c1f56609f2b1430e9a92142b507d64a1cc3bc97f944f652fa3c0fc1d3e23d08e706e6980b28fb562b141661817e0cfe26957078ad8a4ed61a37dd122a234d5e06281e57f4ef21500118c061eda825a8241142295484bc3aeb5da2f37963fbbffa02ea201fcf60cc5726dbc97e4bddcc08b963a26b0825c6b39271c474840dbb360f82acab3a171e9883535b069d586cf2a765aa056a7a7018f499950e917fa796aa5d1745b827f7bc8a5bb2225cfd153cfc46f38b0f41a7163e51d2b9bee7e49a2804a7046bb92c2c0ef50e80815911cb713f54f0cc103dcc51eb712e7cfa20895cd0f1bd4b507321ca3847ad932613565b5c47d134acd0bf092cccbd7445e460a571e6d55aa221cf35c7320e846291661cd9a37974751a4563d863aa62d10c19a33c4978026a77acd033db53082a8f5a444b1a8137b027b27f4437ffa9a3a4905ab5952cd50f8016287bd267fa8cb3c2b36b867a1146547ccb675af298b5f869f8d0ca0a5d65a49cc0e5313b1cd179852e91c5db01bbace359c0b7758fe30a8bd3a85af662c5b41673f1677bba9cc194b8e5adc359dd6c08b0808d0581fb99a5d8503666de849689157e936c20d7be59eca57f44b10d7938571a252790211f5ac153cc5c99ffdce83691edbf06f53c319eb32ea25093d4869c1efa03b9b8071bc8778fcb693a5feecbe849747113faa2405a8760048ac8b7eb0d75e3a64e5b44eda1056cda86b45c0be19e0ec116e7d6f970a11c4ceae58784a1532ffa4aceba4b303ba60d99da0fe07ed420ebc04cebd5a536e40df8e85c03189d0f480c1722fda22db4d9909bb730dc7a5bb3ee168f33dd49bb50668900d0ca8f593a94638be322ebcb5d611b227fb953b4119105ee6fe09a4bcf46de135891e050e0c20000177281282e9e8528e6d5424067094f58852e5ee6e4ec02ada9cd581c108fe7e501c84e75823139d42b216b4e671b03452a1d1a7b64a730de3ce8ad0fa1d77a441e6a514223c2d87c51440eac69436499e0c34cad5a09e981b25e63ca4bc80a092465e71c6830aa7255d76a2524bca77638793ad7b5c51db523746e0c0c5941b45c5efebae18549639db78545580951b8bf9b079e1f37d294cd912d19ea151d7d23f36525a284b44daa1e8c9c6436b281aff29bd3c68c32a22d5978f28944c14e0cfea084a39ec8e092842a219b911d69f85e82263c8222f4df286f3a31381dbb486ed109e06cd19d050498ffc62aedcda52135723427a6a14bf09d162e06886924102c3e2d33379fb4ff5f7617a0b6830fe2fd4b6df584e02a0598d9141f1810c11cbd97b1191d33ed4e4770d22650ce2c00a24f9ecebd622b68cb5aeeaf9da16d9d974ec823a368143259f417e28d9ad371b0a3a2e540f51b00b2e1563b0c842a40f7416cf02c4f21c0027e1cf345580b4730a50edefe09171e22084986d912c522132ca65e8a556aabd88ec5666004a0b4d413b6292776694a8953a06e3e39111c2296e8ebc207536d98255a97a4ee1dee1bcb16454d5e91a2ae28d24e5039fd786c00a9422f2ef24f99525fe976651c0991f3b214957a8be049a5f2c7aef26b7325e1ac09f84cf3537cc3410be3a4aa39c23327a077cb9ec7c45041781c7553e35aba9115f7d68ce56c6d27a6127a148896acbcafc45cf20c648665e8b61631eeb88fb14f5df2e8e3f69b31be1569ed6e5b35c2f05bc871aacc197db3234483bf1e775f9c2e8a254bc6e2bd520a76c59f331445f879348714037966c54b9ad395da409a752f712ba2eb1dd8f13b620afcee4fe6fba557ac1cb1aeb47a44dd62e591b27ebe2cc5eb1119c77f99dfa3a34a9e22f3f58929b771830923f82f4b080b5ce95bb832d64eaeb29b3d54ef876e7d6b90a33cbb3e44bcd93d4b5d93fdf98c6332d97b9ce09b295805ca677a4b70400a384f5e1389acdb7cba43732377a6fd111218687bbd265f097bee6730796804531a06244dea491764d29c9ebb1d40ecbd1719078481b9c1f17ad4535a0627ddb591d4898ca84d7e46e6248642c4d9aa974c6a886e16e0e3fc543708df7d168d1e85634a2d4a26e27cc1815d8568a293ad8532194a17ef99af100cc413115721688705d4c86776fd560644ea3417d421c1ac05b4b62144f4c3ace2aa593dba12fffeec1de8becef477c0d03930aa7a3747cf54ef08ca9c7518539af9e92ae0f31a043ea2e4517a2d71c4108f59a7d54cb095b8a3e085f9b12955c82d5d0da72187b243f041362878b4880cab76bb2be4218229d587aec69bd5cf87b6d2b0aa9954221c0a663a8a47f52ec65a4e6e78a01b11a2bf5fcbba2c0fe1428d001d9804ea37a07b5cccd6ee29a695295b5a371c703e40e6e5a40453d2e43b25b6dcff96252660dae17bff752e82321d2866d50c0d59bfabc8ee8f816e6286785e7059bca01bafd17e3d8fa6c121514afde9f1f4e312e5b2f9d616237554fcd3684ac89ca1a99c98353067c84032df800085bc789a150589d46a90e0e072ea5ea379b07f2b0d3d5175aaa58f3394433ddb5423d19c13a9e7fe03c4f5954d0cfe424d0cf2759918fe45570cecab4b382f5486ad4ae8f089e51170ef0aea570555198904cf90204d9560a1eee5a187b70cd47fa713dda33ee6ccdcc1657f7d908a7b8ac490ba576aa2e428687f8d1e8352ef4a3cbc5a2f7f2e4abd055a4c71682a8969127cf16458220ec774c66d48adc408c2add5611e71180ddc97d384393d5a178c7e25c42183f053f750a5ad458898f82a3eb66a3ca9dd796d420bbe58a95f7dc351de73289c6066025d5cddfe0d4bfcdb8d27883b183e14a10c41cc0af1355db733c1ca3e6dd8477c58af458d982448287c0d4924795d018d328fe4e9efa1a1ccb10b1e973e7198ace08125a6c3354f44428faac358b420c203ff0748c5f7686450c0dc1e868c00985ccf09487d1dcdd110903ad71adde657dbc38dd0ca6357756f739fa2c1e0cecff6def890910c439d231b5f181ec034aa39349a3ecbadf8178179fc4c995479587c4c76300c093e62a6b1de886a69e4f4fbee696e986f83cdb1cb10c82903e48c9335880899942ff86cc24cc0e8625335fe5c5c70f9a850ca4fd2dc39f9633d108a62c40fab79f837c364ebf6788dec68e6c6b73b12ad7bf6633067efa41f1c72e33f7cf2c1f3c5feee18487391883436516263d972e80a653f7f7f86adbcadd7dd90749f5727fe9174e9183efadf081931eb275fdd22965ae019a92856d67f8e1bf0518e6ce4cc45123b26e7f3125f13c00e8d39e0382f6846600dc2baab56e1b5c47a302fb77852b1724fec2ec3861b4c6c78ab53ffcb84f2002f1b1d2be399acd020e0dafa6de6cc9f2bb4af5941c0521022eb1c3760f77d1b26bcd6d6a4050412445b38d730bad1cb03a638e1714adf70243128c24392cce1415e73cd0333afc4195e54256f2a151ee02981804395a84afef250ecf2b36430dabcafe56c2a9199e472a008f513bf472ebaa7caa3c8d69c0ea6aa1e511d4a6355f81077eefa7789228bf881cdda1ce0005c33608a628a693980aa3bd63c6b57d765bd08343c61039c72933374ad8a51d3fd49d9ca928fd4b3df88a68418a3a9ae21aa573c6d4d00a54aa75c4ccb87a36db9abd1fa8040e885a47c9d228829501b2c6788a5b78b84b47bd921b7981042375e72a2a336592193373e23c03c42303947404fe750d3d808c377c5cc1d018a9629c2aef4e0ff8960fedf473a5e5e59c0566e2df8b001ef184549b5ddada55cc075e3598a95c33840eeec3f92b79608393ea3c68359128aac0b6ad807282e41980d95e7c7a00a0704ba9bf2d9b0782c1bee463a9c80f71a2e61cab8cf14370c3c53871198a15534cc21ae2518033e8c8f236e7bd2a8298ecbd649a3c94e760ad07b6089d1e8466d9e60fe1b41d6cc2267be56f43a001c7c01eea560fcb766f1e9db14d5e97aee0b2054413a2afe5b2d8e7a23dedb732f5a26e969243306d87b191fd2113989f37c63e74462ebb41765f616521407059093e7817a4b1b5fcfd633ed6174e98d0b6db23385bf5f879e897448db0bed2b7ffd68eb6b9b7f03685c94962cd88d4128d0c0fa0322a2757ed565ed5f93a148281cd30411aab37e84ad175b77114d3cd49485940ae5601980a91d7d1f8fe5e47577f10d4dad2f2323d622a812062d92b31a9fade23200f3f669a3e83c2e63f991de133ceee1be82ec190c44668cd2cbd89470ca04691e0c6accdeec957937342c9433d7a6c15867ab48a7ca348a89b3d73096008101b87cb17ca7ebb3fffcd30af6426a3a81cc876041c41bc4c4fc7fe3e6408cd7870d363210c5fe22eb42a55a462997625a4ebff5513044c558691042ed628ec9d913399302d829d1a50c4043b919f8be3fcf8f6c305597c948f3e729cbe2cbd6afb0c53b0c5838578bc3f27fe88b7cef9adfc32fc6ac1a14dbacc44663c6cab95c6ee9b2312505d2b83eb24265ca281ea5a1a405aab14cfd5acab4dfd41df402ce05bcacc43c7c5ced7b92278764a23e4233f6374f6448143c1dc3a64f571fa0a07dd3edcca6cf44fe021d5e8cf20a5d4a23dda3dedf1074ff30befe7b1e6d138e13321d62a56417974f1b4d8c30f03b6e1d0b793a4f964a341b68a6853cd0265d13ebf0704cc149bd01d894c7c71ef682a299a2563f061415a4a7753614da78682a8e3914648f1c2db6a7822cf83df42ecfc843890fc2c0fc84a3c7c825a5b4b0d6fd335477c45033742ae06da06012cc96df8d151853a41c4e8d9020acc852675656770c440dc04e8a2c0d7845c09c02b79b9440f74c08c097c7787eceb8087d8d6a7e8d5947a7bee23b1333fbc1b7e4d3eb0da684c526f7640581db1a70453ecb955cf2f7961cc250e5ffa8b1d96884117c5d528f00465d74612250ae509a24911e292e50b98b64fc8d6fa9e244bee7f9dddb0117f50147e02d57c4b22d374da2e45e00d4683c7d5b4caef56f8e0aa8a2e82ebbe8e351551c2ddc68c90c277056e455512867ba73bd242151f7f82c16d3e76192c3271425d9990de7bd93e1c1967df28ddf255d5f1015b101393cec15713b2508c8d24feec87760e09dace969d537c896179012101aa4fff8708abdf96125abaa83bc037301d9041edc9b3902f6628ad3ee1e92b8fb31ca0187cd8fe12e15bb2e001261230db064bdb4b380c907ceeb91663f21aa609e0fc08a2147c168a413c4002736fdc84c18217183a358716283bfa1371103bc5dd5f856a1c86ae2991ac529d2ef08793452cf50482381468390bc577a82bb0e211b0125ca57c2cf9f4a80d605a51ff5d464a1894ec07434aad745bcc4bdc914e603ddd47156911851761830da49b53aded6628cc6ec22e8811277cbba788881dcdf3322995e534405ff87b56ca7d7ae55f00fff1fa5ee9b62ba68f1fb520a2773bf5dd949f5bcac1bb65581d60dae478ad0fda8d1e9567a80e8d00b095f4ec7c5765d22760072729ca0d07355d1b60ae8c91f1524587646591e14eea53417ae53ab99d51868a7d96eb551adf362032d8831e10c5d8e324e53377a65f2b0ce9bda619d08f18942acdd4a8b0017162175740a9200bc28ab470f4175cfd083d8dc0dc7ac168c94d2c265887b885f0113b654af76af1e2244ac8f469057740ef0c0825ea762903837ebc6bf95a3f6efcf6909da91c3d243f11ba705dca3a2ae08bc5d031aa90a8759309a15b50d0908b22e51da70622175858d69d6ee4ef64ae46e8e6bbbab5e1245657ff7a0bba1f613fa3f0f0077e8ecb55a20e1300773f1dbeb4655b06c6bc0e87113d1d6c5f68cdc401289d9da6fd64d422db2db4d4422bb77d007df07f80821eea2d77638d3b507459fd2759a687f9ef6188f30e833f836e8b771bf1be4a194c17d932abfc9e04e228d7688fb28e5c3227a0e7bb4e0aed340fe94c73b9ce978762c12f170a6e7cfa3bf3b8a3e08fcda8bf06b8f7ba4701efab9fd68cbe01da4df5e6507417aecefb665cf1886f5026491b3d099873278dbb517400b3a3fc61f5f0677d24f5213d8e8499a86b1b79130f61ee7ed451ca685a11f3d690b21435c06776da67718366d8a4884612fcad762254cd3480f3e38e20da0e99af6234d05d334f0b507492a2a204c7b10e40da0e923cc5a8f879c76e52cfa4fc4c3d9459ff279871f105dcba10c163df79af6bd68c7aea584fab7c3d19348bb8730e81197c1dbcedee8b3962212691c0c7d10a2d73e247aed455a4ac7c399de8d782883731029dfa5f0d0d4537efbd00e79f4d0633bd49e88958e894630bac643d213b1d2471807bfff3419251e1f89872069347a6cf4d88fb057f1213f067290c4411515d003d1b5ff46230e82e00741fad183231e67e9e321d6453cf330e5b70f67bad6a56c32387fdeec773278d35ec33e3fc6330de73b50a0ad57329322c127c419758b32461c366e8bd8fd2dc471a1da852edcfbf2bb9cb938a3e3a0975fe321087a53ff990ae2301f67d837c5191646e398eb38c33ebe71469c5103fb31ceb0f8c61927608110ecb5f782bcc71de7c04ad78f41f6e7bc17bfd7cd69436b350d591950f772d7bdb5ded39097330f2bd00e2b0ed435adcbd79599f6decf9703754e7beeeb0e42b357eb7befbdf95e0beaecedde625dd75950f7f7e27bef771bd4b58f7f6dc974aff75773b07bb0f39e88156b2d0f73e81a3769c0696befbdde87b28671d77518e310d6ac672da85b19d9edcc1e8659adbb9cb5d75e7bb7b5def5ae1782fab557f45bbf32a07e4157067441557b4dd3b2c5b0bf17db11022049c81881f1cfbf716b3b2ca26b3f771884c65a3f0ca7ed366b11f9ea59ba1e140a89fefec57f63fefbd7ca6d4b7180c69b10fd7580e6a28fb324e2dffde521f7f26d506ef3f0763bbc1cc4d5d7b77b66f67b6f7eecb73d437bcdf5de5ca3dc0f31ce51f4e5402f1fa6fa8efb2fc4713ce47e3e4856a1c721ac59ddb159bad77210877dfc3096e37befe52117370cc4213ff430dd83260eed6eeb14d0de389802a37f7b18cd23d6b4ab711087f6f761b46b61f0ad597243384ddb36d0a643a190d6344debee6b1807716098de759672a7ed907b4d639ac6348d7bfc3b306d7bfc3bb61d13dbf871c7439076efe5ee0ebdedefb616744117f4d96f1cdeb16b5a737c86ca2fa2db90fe3b436fca5f1e7ec83da6398efb547ed838ad1f06bfe6a1be1f02d1edcf708672dcc3e0e7789c25cd43accf0f67288803fff630f8370ea37d5844b729a1f0033d7443bb7bbb413cf4f80cbd158803fffd1df82fef72febcc10d8038b4c71e86c339401cdadb87d1f8c370f66130abfd8e12607ca1d09394042670b0041299e3793e7eb2b4e1bee3311eb779185a196496aeeb390e64bdb7dd7f6fad8deebaef78e8710fba3dfcc7b5b4e955da6069d3afef3ef4dad36ecf4ccddb32d2a68730e8d9bbeb3d7e7df5e3cbb387ed7f32733c06e4ec779cb5f6b30d7dccdffdfd90e290acd55ce781dd539c3e3b1e336f70284bfc79d3294e8fef491bca12a233d0d66b9c9609e1ae7bcfe33a6e83765ec6d206fbf899d8fb7b3169d3b59737da4b1bed2510ed258ea677386fbaf777871ff0e95746da688fdba01ec771d246da90a4cd9536776b699339e6199036d8186ace7524063e7e640ea704638cbdaef32ee7c00adedce39fd35a6b6d0368bae6da7b31c6181fffc41ad53b34f1e832a7581bd64a3cf47b5b82728ab5816af64a5528c44391a96bd50e4554b4654cda0e4d5dfbabc32f61746298d6df57e231b52f5d5a8678f8209bb52cf57bb52d63ea3a0eff405db430fe7c4934adbdc69af61683f8468b1faa7444e770fac3f8a35f6aaf39a861502362a5e366ce6b8c352d6b1af7a1e9fb3afdf1b38c29f398d97bac658ce14f638c31c67a33d9c7186fcdc34dfbd2f57f691fbe96310c630874d1440080208324501d8aeac103fad8adcc200e53371eca501435425314d58314b2b9070f456df86dcc8cbbbf5b7e685f0ff23445751045558aa25fd15485b70c8a643fdfee823ef4dd6f57d6c71fda7196360e7a0f4a094a4f5a6b5f83f178b6f463f6135a3bdbd797a0e76dd94fb7767afcbb23ffb5767e6629beb5d3b39f1e1f532d63a0add75ee7e5c7d8cb14d58307d34ff553fd543fd59db5d38154bf4fda802c43f7214575cc39cff3280ad5ad475114c5d32f455d8ad234bef10c50d44fce11e10081877252484f9bc0ad8795a70167d97d0f33bcca4fad4b2570e311f87ef431df6885d3c0add63146b0e3a49819b84af64c1d836ad5e51d9a7a0e791efebc37505775b5ebba4e0b85786899bab7654c968ca9739ca9777f31ea427a6b79a8014dfa181b5abf8d8961f7f2d03fbb8fa4ef6154731ef14ce2a52cbfdb32a62e5f3ebda5d2bfd618c67d5fa9a4f5bffc50a5233a67d33e2fbfcb18f67d2f3bc9c1ed41fc778449319eb6d666cd6dccc7654cf2e67e3f2569f303f831a4ffdefb6e7b0deeee49dbfbafdbde8eb6c7c18d831a9431dfc3f7a3cc2355e1477afc9848c1cb493c7ecc484e1868eb3def419e9773ce397ba0f72a10d61a8c00e947df430f1509fcf0bf4f6b520cc87b0039a9878b5a6af955ea168cc0e8491fa3f2df630f6e008cc0e8c18f1971f06354f8e8310e46007cd2c7809cc46346fce3560c17cbe181d17093258a1c02d82cc51aab58c52a567c42c1aa618d11f7ea8388d82cd52ac6187958fbccec473cd631ae5b57ae658d7d56daa3f358c58e6c664e98d962c92daa95f590712c26d28bc59afdaa16afdec6a4987c2224177707132c9a6e3d66cd6efd0e8be0d7cf1d67e615df0a7b5495356b25f38e48c34a67b776885595c35c92e2dc1d4bd0f337a0803e23fb0586905d7edcee0cdd31d340bf2c0f31bab1b963bf7646849ce1ccf710b118fad7ecd70e358e1913294659e2db98968f39a90b8ab880081352eb340cd3fafb62c4ba9faf6d61fe2d088e0b21b7aeebbaaeeb44af6da42debab536a8a2669d2733bbf8e32a64e7a2164277d226e63184b8d388ee34a9ddbdae8b93d4753235d1209443169cb8e7f847fc4edf9244ecfff4453c6a732faf0fb447a64836e3c0473bed50e4d3cba456da56106ef53384ee607d08442578a388c7ae33fe5b91fed928cd087a50f791eb595861960381c5c08667bf9a18ff9867e9389dafa22770e2fd456956a7b3c044d3d4565876006ee0ba2bb935dd5715c6badd33aadd33aadd3b6ef34fd77e6948f198788eb40f38d0f7f367a747a481f0d91be7df7a26db4753c007f189364d2d7d9a0dc6c8263be9e2b7f893ed2e8bbef7e65474a7a6971cd8a99a5eb464a0a8f9d94ad3cf4a1772f9fdbddebcd830f3cb6ca0e8f48df3b2ee261a97774cb98fabdb86777d7dee52e77b9cbf9e54dc77d286b7e7cf2ff30f396b7bce52de7376551166551166551167dfebb6d6de3b6c66d8d7bcd6d9afeab370cc7710b68cf7d6f63c2e8e77e661cfa8759ba46a40f6f2064229411e9e372dedacbbced8eb48958215d526866665893fe5aac6dd2775b7bd106336983f9f577bf6d30cb7c83a48159baa20f1e915e94b28be881b51f91b410771dfa1112fd26fa2de79a59ba441fca1a3c22bd2865cbd096406c34d63fd24fdaf45f4dd3b44ddb72feab8d344de3fe5eb87b4ee61b9cbcb9c9f945f9757eeeb72d81481c290427e717e5d7f9392dffed72e899f47108e9ef94dd167b4e8ee634d19628490495ffc2b854fe2de5c32c651e7eb174e453394f97387fc0a0689f2ffe6cdb9cd3347fce39b5dd0921bbbf737b6ed32eb761b6c75c1ab9b0a6cd8c83fbed6b4e699ac6694790c823a44fb46ddd5f99b59dffcaefbb5fcacb286686b9efafc5ddfe3e83a20d8ab40d8a3efff65b27352269bc6592942d9524e946dd93beeeaf68fb10774eb461b4c71a975660d186d1afe9d74422d1c73cfa9d1dee6cdb93b6ffb617bdde326669fbd1963cb2090fc73d89fb8f8753877b110f27d769bf5208d9bbab759b8895aef128426edcee934ebaae9337db5f0ce72d7b96f9c6f6318b5ef6681fca1e99c8123fbe8ecf695b02d9128a8c02450a91437a7c2d89f4f89c34d2e36f1d112bf9455c72f177ca4b71d6b48f594b9f94f449456e8b5bfe88b6f422257ffa95436489cff1701ee91b8faff17026f1619678d87d3475d0cf12e85a38d096e8bf8dfb10c771afb90f71d8c66ddb76f7bcd86f20c673dc6ee71c1d9f3f683a0ec260df7d0eecbba7e997e28abb2d6b6a1ecb36406c70e6b63aa1f8e4ed471b0f67df9efbbcbb1dd2e4f4aec4f33b5f92a8f3b23de84353cfe1f761a91b717a0b45ff3d690b213f119731658eed10ebbaaeebbaa99f8895ae43dcf3dd364cf7a3971947c7671098edbbeffe56bc6dd9b92db3fe6be16e737cdbb1c74cfa79b37d386fb4bf3eed451b8e109cfc89749631e5fb9c8c29430077fc1626e3c8d70ded613a1cdde7af59fb98b99913ce9c7ee10debb68c59c2cfed89ba1ec71374387bc2d963ffb2d8ecd1668f8c59a218a6f5f78533c5771c312dde41c4f2a8f9a6046270831cbc74ef49f985b423ff8c31c618f3cf27bd74fd37de18f190a68fbcee63d7d1f5638c31c6d823edb07bd2cf1dde971e394e7b1ca73d4f739cf69ea6cbbcf4eeefbeb1e3386419fae5f3e64dba9f6f26e59c33e96dcc9c3998e3f21a24aca34752c9f2d00e5f7474d0df950f65c050e918e3af315bbcc7f85f6bfaf7b91deae8dc6b9dbbedbdee3d1dbdeb78789f7b1b94d2e7401f67cac7a9599be430d5f1d2b92f43bf55de1167496b8ed3f3575fe51cb207e959079a8e39adb52e99b27cbcf5dba012f4bcce12ae36967f8587dfaff09b21d3b8fb6ee7a81deeba2e8717eae8186b2c7958ca99cbbc74fbf4fbd0a63cc42f5d258b3898470ffe9771c6b183fb6e9997fe8d4824128944226198d66ffa76ed05d882263dfe026c41cf27bdf41127427e5b761b68ebed7dee7e0874afe7799ee7795ce8efb50fb22f56c7b45aeb1c18862fbe17e3fb825f72d0f182bd17a560fc399ba0f4e00d489c71c619679cb1a9634ff35e30d7e19c4bd9f4925ff35047cf3bcb0ce3710ce79c73ce9fc3e335788d59c24fd35fb07dc1b7ba9123c3648ed18cab9a31fe1c99d7a8314b55bce635af79bd20b1021d2459c31566f640b97b99354c27b5a981b47e100f6507795e8addbed3b41d36de44caa7601068875eee8e8716eb38ea6eb5500dd59016558bd0aefdf3aef612939fbdb792831ee8c1ed3388872008467a1cfbfccd52ddec7d0b821ed4defe05811b68ab1d4a5b0ffad0fb5017a2202dd4cd505d44d65ace792b62d3f4f6f9fb7ed01a088c87da63b9081ae23354d3bc90b6e50c0a692050c88bde865dd07fdf2cfda0374d038161f98ba095c619571360d8118ad866480537c2d03ee31d31c71de21e6764b086bbc79f439f473f5338d8009ade7170db708883a10fcdfc33f350e69f2fda61e6e14c97c12abff150f6edbf1dcef4efef1d612f4c792df441748f3fd43dfe0e8f5eb403df4873994b7ce156756d20195065552b6214fafcd8843e6312fa5c40cd55599572d8f403759152ca59aa7ed2efb18c0377591367ccb7c10a2d6725a994968fde592dc619150511d942b032c3f8b2aacaaa178d118b31c33446592895f4a9ec315e0d5322c704d766d8852d6155d7bca5d7d7f7289daceaabc4b022b03b92f2adbffee23dfe64fd0fdf25aeb35262f4b1c2777e0cc18d30426ba7cf99834a253d47c82c4d1cd5278a6e45317fbe9564521cfad1da6981144ba4ae235097ec718916a80ef6b8448b23f4dce3122d8ef41086166ad663922a9ad050030589cf48145da8a9a249167fbac0032258f1c4045c10420798a085259070052aa02c913558ec7411860f0b27a2d8e9e2a2a991010888607303118c81c949be8d2e150062851551642105184811aa743979ccf90fc03d424457f881820b3e5970d1a7f822091e2050618a235560c153c3101b98c0c90f9ed0c26746264d18d129ed3109154674a9255898a01bb2b3040b5c2cc9a249c6846e719d40862da07c2a559c804812acc7e0859e530f1f38ca89be8f1ad300f200373851fe320d808025f040e714d27410c6ea5ff4f9b38793c71cbc14410b4f7c6eb004212ca84aa2c00e18c10d8c40c10a214d9268d1d327a947264ed0e95f8f4ba220a94dee10b3a60225903f807de69804b2cf193f61797f9425f615681f260c17183c668bee55fe1b1cea45f53b13060c130652e9218c10460f61f48a334009dafefd2b4bf237326f5903c6d79ee6f40246fef835de430394a57acc7fa02cd5f7d8a139014088fe3843be10b20ff1c519f3b1cf9e0765a976b4fcb93565a12c264ca74af294e5b2b8cec968e4b45e9023648a2cbae8c2146ad0739a505890050b54d0240b1d9d6a0a9f392517640d9e55891f7d7e9d4b3051c117e69b2609fa7c1b27c8fa7c1df379cce761b64c9b3e992811a4a5ea344f84818924e84009341002c569be06a80bcd0ba21083316c7144125328719a5fc46ca133e8f36b78cc40977a649244931f4d7a080355026a03644bc162068f0f84a49a30a2c91237786003051444808528a6b044892243a0c8a66442451524f8c11254134ff0e289123c00032f989841119880d2852ce2a16a20058a8bea041274c173820d08ae5b690ea6172649b4008354be1e9950f144ef7a6442c5137af8f5105b436e44808e4928956fa22e3445ae480208527042155460e24481264c51862b9e1c910217a7f9df3fd167c6d3e79c2ca8f2a930823ea1cb8791852a74fa3965e85374fa9f14363cc68aa8992e34318882842f4a8004109b159c289321379dbe44325db413c5f48c127190f794c9d802121d0ba3ec333e484a8968d1e9eb305db0139dfcbf8c635a5a9ae2e9a253b420866889e13601c6c497bc0930467250089a6e7aa12c52cbffe4bfd4df97748454387071c6fc2241545555555ad55a555a7ddbebaaa62eed214f4582a02fb7f9a094d20719355e72d041078f181e2c20bfedb59e2db10a5e4cd115d02717673440051afc40213a9541831a39e85065d4c841071ddc5a23dd3bcea8e1091d827a557dfd17ea527dfdd228b6e0598a2d5b2cd5975c87ad23c2c4d2c4f9860e9c017146dd4258a2b662f9e38cea44d307eb7c0ae512a12ffd407896e836d1aa62b4aa6855296632bd34d1f2d2afccd7e3579187534a29a5ec3076c53f1be28c28299573ce39e79c334a1bfaece9f36d98fab421e25075d36c894bb270d3e7d7982d223abf861ee8f0655239a97ca12f7d7ae0fa11c8d3f5537e3145429559923cf4a0394d1934d03ae6f398cfc3fc1fa6cc42709f7e5875baf4f1c1e1d327cd9934a7d3b93377f6dce935df983575d6f44aa6640a077d99ea16fd30f6ecd8d3af7ca3050bbd75c7320efa327e8f44ac53bcb3643d8d2968faf9adcf347af4fdd829cf4100dbe9ed74dbb2b73057bc3e820ec8febab04b13e1de0def6ce1a4c7255be4f41b7a5cb245aa937aeadf10bb5eea7ef1216662cdc2db657d9a3ead1dd2a4baf535e7f0fa0f71467d952068f93ae280c3ebd6cbbcc37cfa7808d9436da387d6cbc49d4e2d2ce250bdece17c4a678d917b1fe67aab5e1a54d02186d1a082a67fb39ec0108d5ff63b01263496bde37befbdf77ecd372e0fc6d8677f318cd1a0028d29dc2bebc0327b2d9c2face1bf728e5b43bfda5bbd090db36fc1603d5a95157dac2a2e06748d1ff6baf4494959e44b25f9037ee8cb5463b6c88ad66a9a2d598f96c5d7c558c538abd56636d3288f33e8cb5d5fb4a065d796901ba98b146090a4cfd01ea30c197e8f710a24a798c328ba50c00a4c44968883ed040b05acf04464893dbc41471cba2eff8b59da4c22d8000c424e3d7ccc2f90dcd4c82150c1a6e654c52d0ce14207005750a173aa7ee504524071b2be878f98842b804c71aade472c4208a428325ff0c4a9878ff84517278b17a1dfc307026e70aa7891f93ee4124338552a25123752971ed7113b3822c9897e0f1f12891120a1e654bf878fd117b0c8c189be8f511643d0c2a97e9c4107271f20244e3d2a2f229f721f53ee003a607efd2a756491980ee5db98328a985e6cc8d75137d18afc18538a4b29bd825e616311ac0e7490854b29a54e50279c30514aa913a62c5a5a5aac162b0739a094d21be80d37484a29bda1534a696989484b4b68f9913ec9a1418df4913e35d22727a526a50607c76301cda137f486e61481ded01baf055e0b663077a68efca9d3a79473a7fbc89c162aa42ce22551a51671d2186954822a11bbd095d65a630fcd5103043abe9c71563a7b9042a30c2934ca4027f592985e1233521fda437ba8cf13b487f65437554d5553dd14a96aaa9aaa5353f4ef4d75a969be417538965f74a0e5c7540761e4d75497546621d57597f3238c6ac44ce548e9358cd091c69d1ee38c1a46e8f832ef881c8499bc4699236729e2a09195864a996bf282c6ee9d3cfb6bef907dbca64577981946e6f6f872874c101798bfd2a3aee933b263910731318c875dced02b62bdc66b57fad5ae745228ee759fbea53b6044c89e71f97337719fee266cfe5477556d197ea0cfa799ec94cfc85e2b0f411cf5b1ca77c07e86661b7400fdfa95873e3afdd8674bb4ea5bb4ce96d813abb87be4d4aaaaaa8a55ac55acb1c668bd20c6183f014bc8d4586315ab58c58a8b205ad675d55a67aa5ead1a637c1b33ee2d545fd5206255abaa561054b18a3156558cb1f26f7d65335baeec3ac1ec8db4418440e489132b29954f9c38896275a88b757b66c97a8b87174ab77e3e766fc8bf313e06ef51a15ea2e8f9e175433fcc47baf5208eacdb9f3cac72a80b36af9b7bb333aa5bf7ed5736d3e65a5ba5a81592ca71822262e4c8cdcd955dabfa5cd9adac932bbb955ed9b5f6bab96ea60bcb15458c4b488cb7fe1a52ba50357ca986fd320d60bfb46b4c03d8376dd33480fd185bc63480fd2b355d625c482e9d2b098b7dbaeb4f8c5d7d2e4e75a44252455125c939dd12828e906e7da504bb324ab12bb3a19362575689d45445fde8f4b12bbbb2273cd48772e18321d979c263addd1878c2334bb1f3f484d8a70f917fcc92f5f867962c09d4f0015cc3c753b5410904e00338001f4f770057e8015ca165e6f1a342c9384257544551972b0591c5fa16a466d0add7e9d675136758360975a9d4a57a7ee15c37940505fa86b2b424d13215efc531cff0d6c3982d2acfc3f234270b8c3199f8dc799a13f562ba44963d7f288b55ed49b990d2a6da583fc3ae35f5c72c69336cf92a9b7a314b96eed653cac5b67d5adf9ac962bde8e3fc3ecebab3a3b33379589e85f7a8f8e4a12cd6d39cac8a921485a22e0278eb0bc0728335d99d1d91969452e208b9c1b9c9999994994d6669660730e79cb38767b25439a8ca88938e297651234d28c62e8c5d5449cd78baf5b6094fad46903c518281274aa694f389922756e8509718bf83639c2ed587b258effdfd986fccf036268c1968f936e8dc44601da381629fc5d8f1b4f705244bed78aa3ea0b7401feade57a06fcd6c69e938d0beadef0b7d8c3aa194948fd1c5eaa4288bf5297fbbaeebaccee8314ceb28dacacab6b2a25756b895956e65c55b5901adac84b28ed8573ef2b839dd99258bf26c6ac52c591f254a148ab78f171107192b2bdb46b14e268bf5146f0bc53aa178e289e79c4e9c6456ccc72b1bbf4d827f65ffcadea55f51f2c362da8938fc5097196fbd69ce679913673e191428b38527f322cc78a2600b64b644264270d26100c0c86ce147f6db24b325b43e3ed4a5e4224f910913507dbf05e301f0d65b21b385bff53607c6569925fc00d83066093fdfa559c22ff38dcd7f9630c70016489e83180a88a340a951301648f063000b24b31427c61349bf196e49820eaf181b8c8911e3694e7583313d6e7d9ad3adb9e10a1a8b28e20c99a5a84b8693a5b2144bcf7066c962000874cce209906e7572cd6c09652adfd4f4ec07bf0f75a9b2abb2a12cd65fd25f40e6835fd9d0f93e36f2a7cf8acb9e89ed4be5f166a16187f355fedaa18f9a3e79a6f217b50460b921cb767553d9500be49254de4a9564f6caec5529c9ec55ab93ea04c3b28b976609060dd874034b019e8588bda12e36bcf505a0cf42ff064aa5294a753259805c375790d912da9f4bc89573a12e2246ae2317ce129a0c495d482e9961f2adf5f6ca30a9e5956196fd51325b401c595f79ee639751eaccd29561bc344b2ad98621311a3828ab1350562718b6042558a43080456a96a294944a2c52581c9961ab6c183bc4fda75b3fdaa1cca25bffedb08a76388374eb53f6ad096f4eb71eb487a8de1ea296f68f22e105a45bb6db605104d833322532f68f22a1fdf9016c01ec1f452adeed50a5873215ce9d6efd66bdb6435a33796996ac1ade0ac05b5f6f240274a064dd7aaa644944c075236da891a91f73fafc50177db2bed6cc1d2e583af6219502b5f9819279387b280fb582ee44fb3487a2a8910ac48a27975b63c926dd924e24ced49947baf5d7661d72d25a59dc04d91b8bb228904559223a160502599ceae34427b34e2c94bcc3c4217b6383541f7b6359942562534e6aa62483e2c488102344ba9641992d5ba6244b65473224998eae33cbc9866428ce48900ac86c99d54d15a4c2e974423f6c9efc08859c80a2a3a3d36fb62a9c338dfeadc978885d3cd498875fbf91083840b4c17a0b01e1a582975d63962cebca78a8fbbc31360f1cc725ddfa24550e75c1b0505ba70a4507e06bf8b0d680822ea940c727d420a7cf607dd64c999a25ebad2f194147264ef07421e4177dc611fa7b786b6e4d74a169a20b2340610512494c10e464fdb5892e232468514514aef0e385329cacbf37d1255ea1051411e490c1052fd8e264fdc5892e160f9600c5ce4dea09119cac8f878843ecd66738ddca5293c5cab2549f99912c6565d29232c39952488ecdadb93f2e907b7371ae903b04755337c8cdb94430d49571502bef302b4badf5d7df9ae912e3adcf70664b98a5ba91d9125636ddb2a980943e48bd382c5fdffa4c486593e1b0d452b565e44c17d46c217253f7c88ca14396ca8c6447668bf51615663fdd7aebbab13a15557dacb037550eea88906ebddcb15e36f1a25b91891340baf555ce6c1952a152d67c7b335b42fc001d3c6278f0a9442aaaa6aa917a649a6c14562789929d2bc88573dd38e9d65f39d667d6673fb666b6fcb036b3c5d22746ec04a78d1c2ccb039d2746a694f3899127469e2031fd7ceb03b06bd8d8fa8fba54248d6665ca1b11ec1859d0f16dd01875aee781ba481e9e4a367982e2a92a1e1e2074648b0545fa482e6a503ae8903fd7562baeade8b515906a972c27ddc974c95fdf06aa571ff9537f8ce04f9b0ea8a8b3692ef4ba0922e4da310f982cf5234ff4c2871b0b00a163c50e5df203a4d79751c28407517a7da9735d173e72bd0c82c3a40751f4fa32e77afc035ffb04655d4ac08b879561aac5c408176178a2cbfc046559d7653d79f28452fce978c3133d7f2081898c4a2a774e129aacca1f34c840830c389241cb8f3a7e8d519aac121a5fd0f8225aad539e4f30869e17d0cabaaaaf55d5049661197188555655fc818965a2b6be719937a0d3c52b396f26cecc99a9f9832592c437c9542a628f5d34c650d1686f10687851298d06b030ec694e9457563c619c86172d90b24a5949cbc2b2ebbaae0cbbb0acba68ad2e4b4a277b0a16c74f19c98a43d7e3ef8883f57106efb4dae0aba454568b52caab55ab2f54d51a62d5ea0b94525a558b52caab552b1bbe604929a5acb5bee04618a1ec49913225d44da5ff322ccb302cc3b06ba7744d5d6afabe22b35dd65001a7e46cdb3099b28665c441c3a612cbef9fdaa864ac586a83d0294522000000a0001316000020100c070442d1489ac671a4b9071480118190545e489bc8635196c4280821648c3204100000000440666886149af7dda4c5c401c05e7eda014b6e109a8a07ca87e2afdcc590adc13b3bdd573d1d9ebd30d65340a7b8021c5ba3aeeb47a7a41894c312d806518ff0ae2ca16c124f0801fd7008e1a1ca7f8aa5eb31cfeb32ccaf8a2c665450304ba3907f1f28780521820b80a96c216236ae7b8e5bcafdafb449b0680c143868fa863a3bbb184b13cf793639ff3d01dfcc8c6e955e464b4acd2394c04373d3f768384c8c7d142e49455a0a40cfa83ffcb53268cada4864b0497277bd005762a1760cf9977123c34ba1b2c6df69ba8f6c4159fbb3a0019d25427f2e4848e600b55f57919303701b86ea2f5d9f02031cdd3922a2e151495b845352229fb6178aac5814babdb262be9101f89e184ebee1f237a3ed905f264fd04ecb80280f935f067e838e766460b049328372d8ee8afe9d8af1e89a6587399f06db5a76bb1d62cc95608d58f3ac29697c93e8d717af1c76657c0f00b3b049801dadca6841b982572fd64192906c81c92dfb89b0bc72499909e28963af8dee3f04fb288cca3f3b9a292f216bcb2a620e43e0d3dfc316b14c1e96dbcef553f005ce42ab4bd964123e838a56639f47f60977841ab040f7597783f53a3e8c5471615ad273a1278f5e83fe13144019b8d865d174df3a59265a16aff205962aa7d652a4011ec1a63825d52836708e240352f90aabbac40b5b3dc9e17895515b9cddf93349a39026220f781ebca3f0924f5d38b1622cb92f51d0d89e32b0ec704c6fb14c16b3ba1190dcf63a47cb1283dac9d249bcdc36a0daebf016608c1bd0259da8a03420a37f5cc3f84178e870f08a43145fe6d37c7e1624c018bc889f31c20d866d95f8db8bc81a10c1006f1f2ebd0a5360bd218b764c87b94c015254c2e4f517fe130b4a40af19894e352175903fe6b9fbecd8692503afdc6489ecd1d9fcfc090d1c7a89726c11aaa72214a1b0fb549c97d03d9aa757469006c68c75a302a7bd9a3dbc21ed7c259925e35aeca600bd30ec0af543c1e84daf24519a77e93e3026176e23c2d4ec58739f04c098160f473bf62332557afd1153fd56c99a7c31d341095d467e5ae126756611a1059100e84b75744a6a15ea0933a7d53e88fada3cdd11b6188475b50f169a365799e36ad058a506e371c68fc3e62e2131fb662066ee556a01cca8e9028a03b1541de741bbfe267c8e3b96fe1dd632de4b9c55e31e97a3c8094053fc3b5638e0ac924fbb08dd5a53000d3ecb20965508d677690c32d4c4d256b35f6dd657a655802c5d466d5de45c2d44330836a58e89a315491b9a653a3460d7309d83a7565b9e2945335ca1b62c0a12b89c1b098a84cc3b368c63aa13712b0c7d31333bff2c9e6c888b387620b7a0be9508c503d1d9a0524d9508edfffcc751ee69ee3774249d5402edb4e1e204c6e9e45b540ca3820be54c50f700f506bd9329957ba28e7b3718ebaa76a4ae1fbc07918c06d13f34df768ff6bb1a8ad3ef625f90da6deb9f7521e0d294f4f9fc25944143b6cb72be06b71ab6ff41541fcb18f4e8631b7815ad6a40baf04d3dbf2b3435747ef5ebaa93c761db6f98f985cc7502039232b8002ea58089ada7954c52e467e79b2340be6dacc03b4dcef6a548c445bf013a9574a5b1411942089d526aca6f95c924232f218340d3c45bd8a683fb523e42831db0b02d295c608112a6260284cb5f7d64b61c7ad805d03a50078caa037d3a313067e4825d3da179c502af9cfe808b4bd45a22ba0063280e1e030c4b3959d16f6c83be5e87269675137f3707ea4cfc03e9f3811abebbe8ed38d2ead6463b68e59706b64e1e8e1b2719801b7811972900ee68fa9e1608738b6493e717b5b365a8f9a50e4d6d18b8e65ee826c605419f87012f59653825652def3ce6bef308d80ba37c967aed095bb20bc6cf72c3050afbbedb5f84518bb44741e828483af941367664c08d8e4532a0aacf4663c372d1ec9b76462548d160fdb02ed0e5ae4aecc3ca0ea400d100fa08bc0a0701679e977d08dc52f79c72787b3c7fcff27febbcf789b2a2b70034f8e516eb866fc9d651b9d8123211c6f631da3aa5a0d7dbab8becdd649c3c5cc8207076bcb18f212b5c6afcabca88bcf6acb4c30bb8e82f07d7f5a9544216ad1a98152f4b95ed997e0d6d45012b966b9da369872c90ecd678a9302d983a321fb3322481228c9b78a68c7369bd84d2e952d3cb329ab029fdbd18b00f816844092d7cde762ce312aca147e56a28131db05697dfc4be4c21cb3ae457ae8b864edeabed063cea3e371edda64315d14e2e36547ee061837aaef90831da4f70831ffd23d900ab5d53469501af1d31c8461ba2d28154b5418d09e1c0441b6c7578f29ca5bf48bf51579d25dbcfc44cb168a41e21268535abb8aa01131487323ce15ddafc45e6787e9012c389d3746c1480a647acfc71725a2e5f3b00f934b08d7deabc93533fadb831138df24b8e9c9282e745c1e146aadcf9c6db2e37360d23dd962a8d144eeee474f2c9c9b18fc8fd8bb6ff9315ac96931286ad7b5e06b63ff8a82f8b1171a7286e39a9aa5b099bda41b539a51ccd3ca65aec496e9618de3f31eec39c7798d12a089ef32faa16022b836ba985801fe498825553795ae975f4c9b08eb3949ba4378f47bf3a55f319a63616ce948d8d6f8e9a6a07f7c71054c1e13c93983c75a582af5761a9d2d9cc1b15a9d26cea964c79aff6bcdf7d41234ef8e361d1afe8f108855436c144e41efc099d3929fbcfa40e282d820958dba5438b11d46dcd494ea89ada02a4d45fa915defff56a60b4d7d5c13d108c3c06614427334196996d0910e0670bd4eb97f0acbcdfd35f2668172f36f8db83c3b9761b889e3fc92fbb6e1b0b672e134249a17186be5b231d2272b46f77f78aaf2119579421fbef05890253254ae0ecc11381c633830756078f4a964b6c206430b0683aa4ff0c1306b2cecc1b878a8a1e8ff80ba84a2ee471b0a2e4b9a3f87951ddcc5d61b0c8da78388fab52ede542b98c30526227c2a86aa417537a1d2fd0b0043539d8fcd240307bb0352188999051256702f1affcaba70b6b1f778299657f285b5fa506648318d383316b6f22e253ca71403af68c1b6cc06da98cf660401ad59b8babcd0a94b8096053b0bf95d06740bd9596e59806d48d31a00f8ebfd144a30b88911fe8adf28e8c01d1d4502d5c4ea88c6c2eff8414332970cf7afb456bce09c31a5ea1e4eb74320117ca28794ffe2d539016ebc060fae030698d849b49b506bf64458a6eb69164aeb0f23627fa4b4de8eb04dec23ab35bcbd39fbe44d69ac726d55fe5d30ef812145e4abe9780c65dc688a3d7f0227ebfd0b93f9720ac9213b32086a27806af48b96be60ceb5762da162821acd8f50645ce1519e2c9a955fd3362cb9f5c4a907c9c6c917e956d0a53b6a1cb9955f2c2b64a1418c14709cd09d0c77bfe32beca681200fa1f8dd56db7c1a7c569aebb5702f5b20b1005aa59783bc20cb1330d532d082ab3ce3031d6b5873d1ebd9e3cf93317589ad8b562c15cc68072db82a3be7154de301d7214eb09a8724e2379b012f42220987b1afbf7d0875c4f0948776f0cff83c863ab7c2cf2a5012ef63cd9de38f3d989e9ce57c9cab8ceb25e806d12607fe3d6c5549d82f64b2c730c372c4192d811dc03b41b5fc2e534aff658082697b97a012d1b909967cf31895cd1d6df1c978b9fc8d62a927c76adc48d86b07536bf5838fd51ffcabafed29ab3a322531e51d74910f1ae3221d480cc194bb3f31813f91a90d4aa92343ea24091e391610b4ff0e9d7f30db6be46b62b7d7cc86fcde6e2a4fd42249f930f2b8380ffce0fd0065b41216f11964d1dd87c033e68e05955d3a8dd7547493884ab0e61f38d7da36ca62f63de31a25e378ff866473fbf9771168f593a19697b046d6051c0a09e6b2af915dbc612415fdbbf64367275704dcdf070b7d1e99561f3fa2ac2d982fdb58c909565ec3e7f76384a19e0bed229dfc802e4591175494e62ce499a20efbabc4f8af29f5d1f9759b50166595482dea6ae348f3ff38699cf3652a7cb0d3152c24e3de48379c3ee40635b4c648090fd9455b17d0d9149f76e79839d712b6108b9b0a99ef6b93106997c67cafbe7958a935bf6f0d6e2f48a028b0f2475e20549a8e5f6516497c15a9a803480170e10bd800b1c55ac93d818329ba6520b931a8647cd71b346a2449e65317d463355217e9f13d8e75b33027d1c381a5c65eb59eaaaf8474767108d5e4eea2c740084ced66d05c13e9c84bb511d0e264c5d8e38c4707643ad2d4cab30d2c25b4c8b17e8c4f9a31f76d8f05329a84c4309e7f34bd67e02b8270842a1e8c4622711cd0e325e6b64c019687c76fa2bc379b8b41081a1c8356faadfc746bc9290c377facfebccdfe0bc691052933d61189ca1667dc3b96fb0220956db3ae8fffe6a8e2586434393dec50695856adf555123860dbc71cad92c2cd186a31a7488abfac738aff176b3f5a7b43f1e03e494c6b358495228131956d6b71f6b75b9e9a7f734f936e756b36195d57f348f6f388c3b856805e7f3ac520c273733ec52e261d8c8388c34d673986afc7c46c0b09175a27b07613e071a9e6bbd9197d97586544f0da902aa798d34b4e6c826a42c95f69ce902e1a2aa248ac2f089a8df985f1a7381830f7e317631d12b4c16c88068cde22603f28d5e66a9b50f63820fc776bb23fe68a5eb2533c0bd46b3d78a690c1fc2930a1063d20abd9610642387ec734d7e800bc5b3e23457a05c2a86b24331c131f0aeb1739e8d045f5b02ac8d87a9adc17348742f749fd76ea725dbd4cc15aae8c9422f68594fa258df964405c63a0e09beca28ed82cbb1d1130d7542b8d9cf9cb927182f0a4193a3b20278735d49ca5a1c2e2a9b3d5839a738772611962170c0b33b0a130c60ad30cb3974ea155fd1211ae856a7236b31d5379e09db0346c851e15b51f2a9d2ca0fe8c24d5c126c8933c39308413b4655a54616e5398755b036e7448f9b65e574036928bb83f1c32aea11cd0082242d70e25614867e0b39327457df2c0a301ec9c2d0998e86cebd92e37ea79cc61c6022fa5601720ebff436c2e17a97653fd1c55c390b27c7739402a0a4068fe1bdad73252e99a85f0d3482ddece680c6218491fd5759c04d7f4020851bf5330ca87c809857d7b9c7de73e089935eb28ff0f2546ea410dde323cce9ebb3a8e72f7983f6c1eed193cd87f7ac07b4e4caa4a183b64a4efb0c03bbc1127d15e7e98da0370a4c3f523971a2aacc238d723dc580324f8e34915f80e9559f75c6b0c376e350ad75bc6691395f0106400895dca03c58e72ed039f52334ce8b5240c641fdaa37e7c1549ed640290ee2c0f07acf0a28d0f5c6cb45eb9abb46081a43b44faf43dc6d920ef36f12f4c7bf23c141bdef1126419dbce62205d3600a1dfec808ed4fdcd41922e60c1c1c5c69a0e2d576d4f0db83c33c23b92129c61fabb7bea039024ac9bd60d6165b779fcbd9f2cb73616d68be7c7bd01a752e27b541fdfe86c59695f778dd2c35d84d43d31c45f28e09e6a72fb8ca1b08e1492afc7f1cb7932d09e4abb79a59baae3ec7b909f4ac367e5cf28dca9a320b35b33a503518949fb2bbd341671caad060c6b850891ad4753511ca27be2da391dcbb4f694dc164b35f0c93dcde722b1a449393615cc07df8f4dce4a95a40ded0a0257e0fd308bd1e0abd787b0de2ced1d25ab574c23a0af6696e8454b3e166a8248ea65689ccb6a8e046dc452f885f52247e2682bec63499249177470aae5bcf6a2c3b095247b1d8a1f552d5eb3b27a0c6712f2c662ddd5e3be24beadb769c3102f1c64e333bc6dc83c80dcb873ca35ad38220ed7ed5316d5cc374ac5cc245b3ba35995f8417d7907d3420ca6349fcda452c6e5eec767e10e158c007ab919246a6afe1758167a5f1329bcea1def4f2a7b72e80afab5e9c4793c5cac46a7b0836a410e2e71e8f51e7262248f900d57a07be79eb728896928862a7c09397404d13ea681191e05884b5e293975d92e87fff4e975ef47b7edd6fac57b74e35eafbed336cecfdc0689c48dfa2128522da7c81fe6dbfb3c897070aa0a47a09adcfc4383ec22f34235a8e4499a8b2281f612ac8272fdaee1313a3e36fec87687531c956a0be4a806e0e39ffa4372e82e19ed06f490907127725666f0b082a03350fb7a39e999f8f6bdec31aa52167c54e0239a5d7cf8f52e22d4fdf0c24790c514d05bfc42d920c87885fc45f9ca68d81afd4283e29fec565e8369210cb9d6f39c7050396056c63043b8b093d99d01f5d2688a477bfc1e36841603d577d718c925c1fb2214421f8a8502a4ab9102d22be03e276e00d7479106603a3b915f72b9b590935e0dd06556485bcceb706d6f1c24037c85d50eadbfafe563b9c60f89144432649b41aa240dc6ae5cc773e0604bbc84333859691d0960be603767c4bae1a1ca0594e37e425041a6fdf8bba4d36304e09758182121e5aae2cce832ad9ff3b48c2a8917dd81499e6e2421b8bbc9363b25e4f10cc97faf5aa277500ccaa1f116edde1a2152d963c625f7bdc44c7dd27cad6a8e9ade966c4061fb599866c29b24e2a7dab8c601dbd9e19dbaa37e81044708c0f9b6b5eff3cd3f659e6ab8c887b993130de1a188b90ef4db8e10c9caf036efa206bc53449ec21449d9d98367de4bf7008fe34667018d06302622424e6a3458def31ba27814826e0dbcc7f0d5d96f047357ca701895394568b3644600e7008f462715363edcfe70d5127f47352766da7d3660d7bd3bf163784d722fd3239ca9770045b23821f839fb931e7cf9fa046f226d3d440a882b86923e100e2f87a0ea2e30ed6b1ac76fcb8e639132a69a0242f4849f23b35cdc0086889bf79de83a47d8b42b1c76c0fd4dda14331aa019ee9da177ad6eea7815e53a295b43974b4d271523336263a7cb13e39ed6c640ea6d745836711a72042119e906e715fac47b86837e1172d5dbb655a90c17a256b61498016510682e426472a197c34dd88b6c90649a302679be61595763faf68fc43633224b722b0a24db41206bc2ebce4428e6fc5cc513e2c7494802b1a0b6d76032dcf17edcacf747a14dc231344725498319a8d37e6d2605bd02d4e1787935bfa7a824534c3ce3f0cf36cc63dcc7c9b651cf1df96fe99772c6662ae6526a0892c02feb65f4733349b48239eba66876cb820dcc7cc0a94e4b9f189db90fd5d89085af5e54bae6a10ef03a76412aefaa0b54fbd78000f562b1284acdbc4dbeceeec2dd11b18baee2b7b5d02540a84c9b6a0e67fe65f9fd20443e559e08d28273b172df29eae6df01cb3fe6779bcc16116e176f3016cc22b77ac3c97f0a29517781bfe1bc4481b93681c40ba26061f00aaaa92314679413be9dc7524836a78d72af2027845515ef43be5146bf6a388b3333df2c98bc7419d7db4a96dcb1f5f478f9fbc30ee8f6fc2c0f41c2d938be10a4aebc59b7a47899293ebd783566e7f33996081eac5f13c01d56073ea6cb9717105a095eb5c79107b0c0cfcbcb35c2cbec626d703a7c62b0a6dc5bdb59b1cfabbe0e16315b9c7ce97d4399d3c96ec6c25a2cf629f35a9d75088758f2967f91072739d0c4a45b44f2986879c2246eab719e6c05d2bbe09ed59b92ba69443bffb5dd66ec4f4191f5ebd86be42782f181647eb1357f7c36fc083fc7471b413c7bbbd8c4c6f3a7ea81e534398885d9aaddae78c475554189590f0859681fe75014d4818f50e4df75a51f1042ad0f0c1f7c975c5c160e0c88df977121c6996848c6aba73ff556c4fa9462b2c091e5475cc51f0ea8ce43bc14788f1ebbf7642af58cc1ae64a45008ff0f1b528fb37226a055bdf13ed4b571192b37925e4ae4039d33ec0047d510b43fd54f2f831b1a0636b223edf93e46bdc49c2f29f983e5bfd1c4c1e4751c50d530c185da11d2c4a0c036edb07c6bcc7fce8054137c3d5da7292288db1353afc49af1b97e3dc1f9cdefea2d440ff3f681571bd328e853573e6239d0f10d069fd6353312ed3040f231b165988e2f89eb96a7864dd2a04216c55cf0030a59214708e269642ed431cfb089e665c5569974fb82f9b5d0aeab33f890d0cfbd39cd659b993e9d5462bc235bd25c460026dfdf991a31a887ee32f464ed9c16505891f09b9383234743d2ba4ead283548be82effd815e83da367527aff450cd2b52725cf1b180cf73e6570f908a5f6f407c54cc3800651ace3f70691e91f47e7d723c41f77351494a319421598eca0d3f962a4c68340827f01450d4a399662a1de1489d411398039cd10b818d07c39adeaf3e192bd27daf9eefe389d206d031da5fd1b0953e4c5a04ecb123b6ffcb95e528d0a2f0b1ea96a16cab8736db376a366184675e5152e0d9864c7ec749ae310fd93d14517696570846ffda1b62ab55a7176f277443e89c4725768704d412f0a1a31a025aadd9a4adb6f3ca2745309b3d29b5103cea794d7a06f04a5bfaad59c01c09276dd728087bed4f6c0a5bdc5cfddf014b2e5caacf46e1f21d5363adaaa462ac94d717b9d8b1f3615b289b31c29c6da87ab9e1b29d70d7c3d475303f75f63738b88ac2b97214b73dd190aa0ac60f62c98592ad33db4ae0775dafe28b0319c3e7865760d3f25bc86deeab5815a54dc99d0eb0994ebd1afdea2d6cb41fa579d5a8496f7ec8963e6c5fd363f3bca9cc992c07b2b430ed34d4f69f887729a12bd0504ea053350eb5db69c627e54d967ad8cecf1399add874acfa87ccc9228cdc4c6314d884322472c705d601e62c00852ef229e6dd63040eaff264cc87a63ec8060d7c6c754cd6dc1bc4178e26b1798b7fc197b462a3f3fe8c34ba306d83436cb02f29a2e2ceed49eaad4c2d7cb375dfdd7450a378587861e3906fca8856ddad8eb71da616a21bbbfb744e8d855e29e6901126b5e07bdfca4288920b46c696903d2ce1924cfe4b1194c2cfaf98c0cae00977f4413d628c12f4ddf0250f6227b9ea30b0b5039ad897dd9fa8df4f086afa224d9349e6a933a238dc04203d0bdcf938b6312cda87f8b0331997969338de34d083bff3a1c049503ed3550011371b9ae1de2ed9cb5e7f866ab45a9fa7dc455d96c76af0f512f6b83ebeb27af047d2a6d3229e0f328939adfdaa1b45ebb1876dab73b2fd772e6d67e29e46a46682a14608e442c2bef75f0fe1500d9774571fbb185cbb346ba578255f2940c710dd13ecdad595b196835f341344809a518ef7c0fbb3cc38c8464042263a95bbc11c5d0c4238f371ecf5262525d866857a84fb8af51a5beff0cd5b014f12c8a8fbe44169ffada5d1ada711c216b3e718fa2b176c6761abbc18f84e1b263f835da85c08b7263cab185dee6b8ad62daede2b05d36ffb7a2f0f61bbc986c0cd6b1a83ddd4eea3172c50401104b0a2ffec1d30a52b504421af80d55f5808d5e389855e0ff992c11cabc48da6727b96daaaac2cfba45d39bb5219a9e0dd2befd16c38cd4a2dde2c71a5b6aac11029d4c0f895b86900c8be1073c22ffbcbd4fc8f0fb731be108a2d8cb4908944ff6a1a0e6810bec038ea026ae10ffa1f9cd6a8cb27785c96d2fa35b93e41b80a74e707dd652161b65e082e779a34a580cdeda8acc7e3ba6f73d21daedcd6dbf1ab405901aa5d333d566f5f82210f4897b81cadd0541926a746ee6699e616ba570a2378a1bc2f6f76de4454b52fa4c84e3f3938422e41c3ab1d488d0c24abb087165a471beffb1f248bdb687fecea1919850756110542599b99a93cab9e3cbf44d57afc143a73a2e69ff2749502bb8d080ec4890e88984da90addc3aa9c3b23668e91f6b0bbfcecc13f6944a934ddafbfd19654119c270baeb1264866ff601beed501f7ebb296a8252881dfdea366c1855ca40448f596fde6f3c7349c0a7270430f2e4641a05f2bdb378d075b99554dae50ca9583ba58613cf2757fdc08a1084bca2307238ade3945aaac4ea33906d6ffd0d02de87b50eb6b2521fd7a7e9707ecf419b301b84aacf6e11079981a5b2484d85f08fa42560921ed5006dcb7e479470906d3c5228ff03e3cfa261a04194b14cba6ba702d94833a2be42f22136d270174e0a5fd8562e77eecc0686c90131ff43365c3725e4b8cd93c816c41a0657d1a2970e992d7ae97672d14ba7efa297ce659f00d24751d03781fc3c5f9c92366dc0f694b161a8675dd4219b02c9840f45fff6bebb60882e3980fd0709b6672a8d00881253950b1c50df1278a40d0dbc6e678a48294e6a325f31e87987fb994a50477f03d718ff71f898c5a54a5746d570abbacc38ba51a4b6b29d144d92ce965652dca5c6e2ca2c74ffa38bcd4eb79f096b7d6fa6f9f74cd40a62a9b11e059c0ec397b45716bc2040ba787d83ec8825376915ec995fcd742228e53655cbfdabc37872f379eabf9aad04ec0b6548cbf6d543593c39e9380af73b696d3d479d622ef285eed55dd20c14adfdfdfc1da318fc1b0a80972318cf76ea24c90213715ef304a77be22c7fc7b13c33641ea9bca9d336ca0ed3da5d77c8342958944015936a88ad79c2d707d5ff2ae98d88f46ae88bcddab2c95bb44c7cd4b70db98ff196f20da389f30f33309fe26d293954a791c5f7665b3ed700b6bdbbcd982a6087e69ca19634fe9af4959fe72d7581c19e20b80f56a7a07cf5e9efdce5f57cd4482f4db0091526565d79c24a9412fb20a7b28d514c6c21d1b140b166ca74060612469523a1604b5c4f46146184a8b4371a1422e6171829e212bbfcecd494bb70e39fc6d4d21837388a54746021d62e8de17cf6dd98bb2db26e04c575842dee16110641db35ddbbbc8a3811f636db5bc8a5f727059a31e331cd3dfd80e88d66a968870a9c1edf35691ea88442e12b2f65c939088f31b7a0a6dc8824ade58163be6cd10f53ee8fd36560a58dce065691728a5581377a7ebbcf5250c72a5d8c3b7314a82a3911041afe488649713f39e96e70c2911efdf9de2b01393dc6f722beda63e925f6e02a775c5f89f08fd981a6f1b8f3bfcb91c828435bf025159bfbfe8fad6e9d83bb205e4d6d0d2ad64b6d0ddb5dc8ab359e15d01d06a8c2ee3068110e73249d39f72296346895eb1f4445bdf252ea46a325243737dd0b8872660a353f6e2ce1db52437d901705274dc41a860eb55882179306e732e8c699adcb38a6e218ea962c903352cb78f77f5ef623c1396947151742f4c8b8008180dbd6c82398a3bc2e2b304343b327fbf154ee32a24823f8a1c55e1ab12f470b65bad7156f2c491bd30380a9b899b7faead730b997c270a4e7b0dc54df655d4a9a5ffa6f9e2064495a611eb24ed299b710e7d8bd2e8d75fc057f284286a900641cc75c7ff29a216151f9239113591267e9abdba6827250632761f0084219abd4d597b10ee715f5ce073b3dce86f3b1b0d0a24d05010019ffc9593f30d59dc303c124c35dbb47fc6521559a837c0cf450286aa18823d714b0dcbd6b0164c064d1881e6e2693388690655df3de0e63cab810ea8495b65094fce16919450b9f8387bcd37975b7c0ff586b1f5eb039f1b79e7dbcb81e7e182f1228b3510b996af1ba72622c104f64fe3cbcef1cbc58e20db4f8617da87db0deaaec0fdbac7d1da3517c08b3598d5eba7aa6f15f2ae47a3d557bbb133a232a06b3c345853906b5ecf1f0cb26507128d05b8e581ec298cfb5b1580d68ebeda018c13d8b71f743490b2f8e3e94a124a73029812994c493b262e58b2b18d2971ac6b6e4cd078c3eb0c4f88d0c96de38625defb4c4968fdc41aa753c56f64ec94a131310349e6e2e0ad5472915c6eefb973f7e171a5287d8967cf3d45ded39a513493f32fff3c722d1c9e467c689b6271e98845d85f69b6912a718c3bb87fcdda65d50a41fba39511c585cc9be28ab54156ecc623396ac3bcb95670297173b74d9d049cb0121312471eea5715109c41b3221f3ed5417efc68a0bf5ac98dc3a4a7ff651178278911e2b71eea53c138ac29152de7967e18ebb92abce9305740e57029aafcdfa9c2b77a65e08c782c1ffd7479ce26241958114d555ca639ea0a09301e30446ec1fed342cb7ff0ddf51200296cff85e62d7e9a7b3d19617886039d58965b859f3f0c45a4d1080ef045c0634bf2d6bf27af59086049d6aff6ef65c9d54a21e076e67dbf214480e904432d9eaec6fca749f00aae7bb0fc699c772ee3b6cd51ba5a75aee5c0ac1d892af0640e992e6b233a0a439fd5970522998569d302a1069322b2d82b007ff54b0e0dcbb7647a09a3b16c9c4f2107ff1c4919c858fcba2c438aaf688d477d9184243e156c64f98f00c783ae6d48092b10ba11c647ba84236eafba35ffbbc4b44e4ce9354acaafedbd72e0f312df974ee1e176ec2bf8d1f7c113aba169c09b9447f7a5b075c08f53b985748c3b192239b518064cc7ece1017a328d35e7e639a5843190db4cb4ca8c366983b8ac3e5269ead29f2a26ec7b0bcecd90ea85cd7c76015efa820118f6ab4c75cc5eac560cbb97407597eb04702a8e40463676b0160cddf973fd935b7943412620e0da98171461ebc040dc1dc7b4ac263678429c4f55d253401da08214ab4c1f92dd0335b0df1d3a9c088496ee85df88021a5294e23dfd90a8b08016cf842cc63717f84a5aaf1176fe8a5d5887d8c7a3d1d7e351761cc7ad9c7ffd3155eba0ec30b00b6343ebebc517b0310e2f75f2bd99bf3ed6223ae2352db5b7ff498e86a7ad373e87c4acc24f6be9691f18bcad31d7702f42acc46eba5bd7d22402ef5445e750e0f4581c72f291908f4f8d9ae1c167cdc9dde2ff3f880c53af842dec5fc23405976a2cdef3e789de22851d6b49fdfc6f974f14a4e4f0256f47c84764ad9ab4fa91793fc1ea452e4e7fa2767639cb9feaf2355c033db06598192a0fdd19158619f7225dbe3ccd2990ab2da8684c3d8592dc99700783c88bcd281a49a505046d6011efff178d0a04142c0c3623d22512a96cc172779c319d1ad1c49b3fda49ff7ffbd82aa7a50405621e8dd2f598bb20f3e18f9f31c528801f383b85959e787e5d35e381a3c898f77f0e9c9adcce445a915aafba7035ed2d322577659f8c1b19a88c94ec0ecbbe527c570c2cda04ee464a4a192402de75a77f0103073b2002f8f0c3a72e72cef9f4fc74a8316b3f5e7c2ea488f01248ee50fafdd1a2c178a90ba2770e545d2cf272eed48f242dc9a6a1336a3c78232178bfefc2a84ed0b0d1249a147eb899aa265216e5956e6a45b1ebe11367b96158226731d343defc026b78dd13bb4618677d1fbcae54c111fd4625716e324f4e5e3f8e1eab0892050c76ce007cc449dd53ae9b1ca8e3a095d756d8cfb260a2743a931ab67387b851f1883f8fbd02568db8a613802e27c6fe54c8161ecd2dcf2a8a0e9e1347d9adb681120b76070a6c97b376c284cbee8983e5b0dc1b6d2ae51efeb82470900c390852cd925335b5c3f758d72881668d359868984bafddbe7e10ac0b0b678dd6ba6eeaf45026cc1575865738f2aaf583375cbfc1d3b137f185fd4ad63e49b34942606b12dda5efc8e69d19533b1bd912bb43c6a61e7830691662291ec4610e3d215d910891fe3e35e2324fb51b97730eeee62306f878b9e418290b30d1df09c52b1813fe52a62e991dc14bbded755124ab143a06733c75b2122e767b341d7bb1b86b1827fad9408db188db5630d08ed107087d53bc0fc2503e1086b75468a9ce9df3a065e0e981ff50ea4867722bcd9eaae61185d898ee7017a6e2d11e0b256c5470ac515f10f35536c32f65904ad602cf4ff23f14fab53ce3b8c3228bc5cecbb6c691aa01749e89243dda1d86ef39eb177c7de1585e7a7174770c870567d8f1398a8ba839f3a67fe9420b4c3928b5a00ce0949018b6a06375d5ac2be59dba8205aa5b79f52a3ae26ae1d971da1c398b9e6b1f2d060d1bba596d6aaadcb79f6a767e49ba80eb67c9b9b91e7bed90d01e116353cdb3a5ece9c688634960a6881202f66090e9ab6805174e6154f0af6a3fe9d7c3bd596bdcb33e205f437afbc0b83bd9df3ebad62b3fdd263b3e7c3b0fca25494e1da7a0a30bb41da26807fc57939f7c8fe1ef65380a3d6c83baaf587ab302542c6559f70d1165fe7148989aa0f7e9e54b57648004dd2d05222112ca493ca8333cd2b49ab73364f06e7f06aa70091578d90fc2f084a5a96156c04ad061036434939d2d082e555a8a2187c8016511b6b56f85dc2b0930fbe7c3739c255e5b0da80762adcc064238022c3d8250af64fbe87c9aab960b17f94ef3eb0be35aad02feb5003f02b12de14c34f5f959d6887f8d6b5b695e4a5de64023167f428839f8d532d669ba5d931ed917767894bb8f59b33ecbf6659a0a9e385b77f4f0fe59a215d57543e3e2983a965febd23d69ffedb8be854b1a8a43e397dbdeb5b3654a64f72d29d2313c47c4e6a943a4571bb89b63020c76eaa5647eea69a243da3e87abbfbbc90348c4d892f7940290a8069e39aaaa355a34329bf439fde9da8d7541e0f39b7996c889bac66fd2231045650730ef7fb8de8d4335b7c34679be2e7b5bb7cb19d3f43eba3ae3f68a70914072b43182d1b6884366ff833a4d2ac50380458efe094d2ccbe8e37370884bf5daa2eaa365c8b66fb92f4b8a7f842907ca3428a158cedd7a6088c9bf028a3ba864990b026ef08150f7687fb68b83c68b270d31f1db3ce14f8ce6ebb5716825c67774b50dfda2ae5abaf133efbde3d6d48f9178804c4f4eee87671c61a8e3a92dee17e2d7e19a635f4731af9098b165d13506491cea9117a21ed3e9c0af432a5ca1010326df38a081dc18a5733f3c33e3179e3a97a4e4b30cf25a58bfccb2012f433840c79fd878c1b576e1462f5608c44bdfef246d4bd291cc5b4330c84b7372ae12217aff1b08467021d43c804c1ef85f11560bdb855fcc246df1f3dc5b69d89208d95a83b70bd52a4ea62e17ccacbaa620d8409d0e9f97c02c3f5f1eece4e719d0845f43638c065b70edab3945fe328611cd4ee42d142a6f2f8462b4a8a67cc940c8567b0c34632edcb1223cdb3c678306fcc91365b7229da029d701f2b563d25abcb914e41ddebc13ec547d17a0615d1f6c6377aa10d312cf3a5172fc239bb264dcf3915ce4cf0ed0740bb2760ff676bc9df1e47959edb69ecc30a24005198777e920f28e55ee4501bcaf0a985853508c6240c666fc6ac1c8779c492f833920706826441a47679452a7c39a6a514ffbe9e45af96bcd8bd5770f895af3a877fb2a70ccbd193c6fb26e69197327a9a09e2321782c2da09db2b0408c7650a01a3fa74b411329798b6aaea0632fc2ffbd18753c0a8271e49813954aa378963b79f5f64e1e7c4cd5b91aebe1f0c79cd82003d2674b6c87c380a2af540cb0958774b54f90c67a6deca5016b7084b25af2376cc3a66d89f1d9ab8d51027375965c83dae3145f35fc8e48b383ffa4781e2abbc10e1d3975d47f8d5da0f6cb7140e2e8341af99ca2d372301645bdaac53ee417e614de63ebe0e784129ca4a61fb820a50788c6d84680298bd728b8905e34a59e05cfafae6954902ac5f18b39aed4a78e80d5c1311f2e46e33b371a0becad0d09151ee88f1795d2d34a09e28cfb69904f009461730fcfc765243fcb86363f533d3c020fe40ee82ab98683f0b5f864eb408b38a8f2c1f6936c67e8265d987847e6329bef4cbbe0fabc18add214a5795a252ca2d08ab1c9e45b443926c45eb37faeba06a3a0ebf527d3c6a0078ed55b0bbd3370026aeab1f8bfce23e01b22945b5a10018c5324c195052393658d9921b6c5bb8bc24be0ad845bd1b59d6d0ded801339bbaea7c425850c272e138ba37010eb8238ced1baf0eb01ea7666af33b3828d04f14f870af94d71dbafae0136e825ec530535142dce90d7deffc4bdb39736385b1d8b74f36c7db9b804e529cfd37fe8ad406b9db1c74bbb18eeab2fe53b72bdcf9343d3e36acecdd25a9f7b16fd2892f66b21aef202493ca3fae2e15c18fba3990d10cdd5438dead00108cd126b1dca41fa7233894cccf6a93bbe84f0eb79ccd5fb0cac8cc05bf4a32858aed9c3cf66ec0086a457f8d48daa80c578477ef49f618ae1959168719f562600cfbcab66eb375f9ce118e6d74239ae2ee7aaa222709d0a000a716cbc8c586627d4febbdb9f59984a00ccda21579ea021ae98b453d6d0b2eeb43a267f0b4edd18260083ea8c780a12158ccc7b18af959a271a4ea8f2f850b3720eeba6adf249c709eddbc5a3a5997318015c87d5e5ee741b067b4ae5d7ba06737c3a35cf75f9819029e7a7e411bf278174dbe11c7dc7037d97c5da461d002360697a0f34ac85056c4f53f42d778d01e4574bd8746b962678577968c151d2f55dd2290a5a009bfba342dda5428095c3b098155192b90d314a1e522f2ba0eb465fabd6561b6462a97d3e0a93e0688aadc3cf4945a1e67bfc9858246322a54fa51bce6a84441e8d26d25c62a1ea7fecce90b662eefc1e014c33d141b4bd77eb5ecfbdbecd855db10cec91b1217085195d6d86ba1bc058392905a755c5d57b9c63ef91190a3bb254f1de84e18cca80ea210e21dbc19a652ca4c18388a63b553983806a4812e8fdc1bc7df8aa2ed827944e8a55099ba205fb372772a566eb11c39b1f239ae8d3435cad119f428b939ff90354a9e0c50a5789be92228b22528d8dc0d1acd9d8c865271405c655ee764f7a15b8b2bdc84a6c2acd5bc7162cdd8f2824eead6e83c3f76cf656236336f93de48751e1178a7906f0853398fea3817f23c0ecb1923393e4277e05a5366aa66497b4638fcf0ec0760ac66acffd2b135615322222014d1b5c13cd25881af4555eee239b498a2c433cadd15b2495c22c26a0c9b4f76d0cbec9319b8ee366e9a6c68dd687b86d006d13161403c86ea80a063d6e6c80c60820f34f85e4318e8d94aecdc00486438582463b35369cb315cbcddfbf2043f3119549590ee06ddba7a006ca7491e8ea30fe9d1c1411efa10d838e6e0a0c870de5e1db07b9e1e8e9643784358f7b685136d905093da0db6dbca21b2add30300c199eb2e528387a78f7bc23e35f2f46f5ade702e4cfe391f1ef8cf8317ad09be3687bb2d51495b3d90a1668f702e9bb123c4c87c849db22611fa17cf84d85cb7b8c1a164268122c3ec291c25c5ed088743f813b9f981deb8290a74337f61bfd52cc7649bd060ab1ce183f9cb64b0fa4ff8e2c09030bdcfe3aebf09c649fc1b3503a8ef51071b04e51f013788402efb0aabd834ab2bf376433e60fc924b75416c0f3ca9d30c884056e852cbfd7f808e17602ca4d9709c1f176223bca256a28ef9d21cdf29f2fa670ca5d61aa17a75d3b6cf03005671a8657ccca99c9f2f21454b94f2fdf73dfce71d05f0207c5ee2af3c2a3518f0e1e179048f09452bde3b78621a1caca7a03fc7f66c7a31c2c814f923f284a2f39a563b2f4ddf3bb2b5c3be11020b8003a2f809acbddb582dcca9e9f45097a61af9c3b36daa4ba4c7b5deea01905fc2071f33984b23d939ceb963477335898eea35148e57368de5737c722939d641913b1cd01e3bd7be1c4ea2f34ef53cc6d6fee5a321830418146113ca571e4e18265e4933ea2b1047ef231895eacbc9eabfc6cbe6f5529b1dccefb5df243ad88ea824f420c5bde95c6088330817246989793a0f9bae35789bd0f4f205f5f7f7285dab42c8a870b934ba41aabd7b53aae701797a00e3b33083288de60f05b9d5a89300d489a27dba95b8691dc822570f9ae87dd46e69e32583be7a8f316317e3caf9ca39632294f1c6d8c8803ee8043024489b7a8c81908364ef007d0b77f10a15ed3b146f059cb8107041216b791160eb8cddec0542aab000e2f4279260331c6c0039d4ef9ce1662ff2456068c6c979d29a4a70e9dc2968e83a650d0c433174d2dd0dee3a1fd2ce1ec7cd4c5873d851448503d16ff2b24d62fbc149ee8d207092d8c6991ac70906b624aa81817b4d20683c3997b2ab41ef5301b887e56282a4520fd4f833ee09cd1fa1d2b237088a8dbf5dd158cf583df042b9c7fd5b05129f4c05eb5b9176a4d39a8fddb6970c024209e719161a2a8016bd1e87b0a25fe5d16e8d9a1d1e0eeb0a8b8e909154bd18b436731964a4138de89184165ca56e86374a71cbadd6512615cc17d761b3e55542610c16af913a4c4ddf54ed7fba5a8c26c8658b3ab2002da54ca1d0da0fb51595d70c17f518a1c6c3de20d5786fd10a7b2402479ff98a228d311c512ed60817678af8b523cb74d8d1e14a8956505e9a944974ae60ef4445e4f8d28a084aea0baa63fa52759f547d0091ce58d76ccab1cbd7d34af61439763188a09ce918421c403976595de918ca6dfd14de0c400d5c8c760ea6355522f1ccd28e39fff55400c0e52df033bde8f513fb7ca5e91839f3db24d063ddc92e8237e208e14cd7dc30bba076fb3760ccd020e367536b6d5447a4c038bd4c2f14075d2f131c52f0450c78c5ba8975051999b5e81a7ff4788c158fb98b1a8a050c4fd41e43688a684df42d6b91b5f08eeb179714147e2207c42663e29060c86b215607e0dfddf9ab9c060d2d36fa76f784f75c5944a091a4006006dc1b8c68a0d4e502552dae197ad702037c561abbd88a239eb952f81eb94148058cbb586e97fc8637d39dd0a848a0619495b43e4f2fd8e0804a6d3cdfce4b640c4e8c8086a50b193a76d7b54cd710cd525c191a42a2492cbaa6774c4390f879dd829663ff20a9f4eab196224b552efaec1e1667b44303f9862f2e09937e5bb3169f602943c5cd3ef034a3029f10b05b18b45e1dc2dbcb6573b2289db1e16eff11249a999b3ea37d7a7a8bc6818a490827154819d7a64ae3f4b7bfb115430b53171934680d2ea0bc9398dd829f723300a3628d24b1c8d671526c28729155f70531619ec0939e9552a8feaaac848f19a417ed5c09e8c36a1ea1e55ce9d3fe515badc8efb05adeed09eac5eaa864249058a21857ea1e819eb065dc4abd6134218d48ca2b6f24c68ca35a6449495d0652ee980ed3eca08195104d8fd1b0c9375253cf88c293b542cb0b6a0769fb9f95902895d75e434de0483ec5e582d95a909a39b6e59b58e0e3689e147ad3ace91c1d513e3fc273d874e5bac4ebdcc886f3b6d9adc424cf51c2141006970fe39df953d4403a926c88cc501699e7a6efd2c7005087533e677b6417e5a56d80ada425dfca62ee0eca38edc6975052894c93d2f9622a33742dd1094c565f304cd6d22344f4974271940e64da8316297d98c86708e95837cee6d5a8270f26d3b0ca7cb1ad2df3a0518bcac42f2bafe22daa45c29f9aab03cad9c0a511655b5391f7966d09ba37fafb58a38c29e6ad305a4a404e264c1d43d820dbfaac0e552cc8a9148f67bfb1ad3aa3503ac22d8c1086518844cf7e5bee8bad1d42b5e548098e2ac6df08a53803c0b6e20f6ef8ba55cf639267386c269ee2989495df45d5605b47b94c2344e8151298cd04aedf326fcf844c8098d5ce46402485e5f6296b55857b937ec43178a3ca6bb3d8da30ff7f9c9565503ab948e6b0885d668c1c795bdfad64d8d1af840f27910537cbb6b63cc09aec28165219099ba9022f62a754b1246a6bdfc06a6106539d0beab29cfaafd3394f2bf61df5775c6dc5988123739d6bc018c7e464f5ccdc1afcc357ea73909392e68c473208270bf67f47c0663d886c9e19a93abc54dd5dcf128d1ef2510618a3d7af0994419f45e52ba212f754015ad44dece085d5f9e61b992d0e39f0c3356c4289f5b5ad45d7a484f19bcb28316e19f60fa591861152abd217185ee329dfd6b6ab92d7ccac62945188fda6763a25a6b28aa63238db4a9f1786344be9a7cc73815edf1c001b50bdcc66876f80ea7162b3f1242bef4b8c45e255210befe4bff56d1ae7dcb5d22e93084bff33f777f6a008eb5c437505ec6e1d9f72cb5cf6f8ebe223f97a4e8ec339ed68bd055127ec63e12bc162b26c7005e954d7e80201d0b766910c5c71748c737a16f372b44d339528073d81849b7f91e56fab3808ea990ec2d89aa7c58c3126da28b47c40600f700a3ee408aace3cbc822a7f4b023247fefac0d48e3965606032bc2c79b3d83c4ca1b612a946d890309042a2a0d8c023ea31b5c66fb346b8bb0b061c8344794452957f46a31e80c5dd0046063aaaf7e167eb4519986b80cc1b1850277963683a88018cc14fc5288131c6c224502b5f064071820173d0f898359f0c069880f3406f2cd8d3131d6577a2801fa851d32483bb5cf05ae9d31e41fe4b30ca0c585c683e072ca835074ddbb72edf4b02b03f42219905460b794a36067f7922e17604ee98f3a691d767531ab8c21342ee162822a1af9a70a69725b20794ebc1d8054f874ca00a420ef80becd6912ca9f2a29c237d9b5144129cd79f711e7f2e9ea05a4f9b168697c491917a8440818b72978842108d721104143894fd4ccedcce359fa80b639e715377a4d1a4c3ed1f5f869ba30f55c335b48ec7a6c444388218cc5fd84cd658f412aeb346886971bf4675b2f8d18f14b87ac9df36eb7744ec283efcb9c040412a88b57bf045a68a0d7eae280047a2de92d03c606c6e1143ee989a7a7f1e184cf46f6fc4e7d925d49ebc2c2645b0519290d531134676258ab0081bac100cef087ba6c2855c21904e8e789aee12c7d5c424770a5e18d09dda1699b1a9e6779bc66b1a2614a7d7ecd152bc1aae4dfee117995e10730ad098663c071f4c2f18e25a4b54de71a2d945385ab4799f6f7af1c32a0c1b841b96f3a2c9c45e7ca711d9d36d639612a940f84a79964b6e302e7e1c30e0192bf0ead1c6a65e2069bc249bf3362a55520ee760c7afb6bdb2c1e7bafb32f5a20a958cd80b02123fc0afa5f0e8d3bde405d1e07504432e643ba9e69d83810c66a664e6d7c01c3df92cc7cd44d78b221e842bf28700f422515180a278f4f90223087a0dba68e037d0a311c18222464b3a0587170275a0acfbb6f134f52231e43a5bfb5eb850838675eac58a06526170d3c2d097de2c42b3c916bce4c3b787380b0cabb8a690bf6c853e7971c177f0792a560787e6c247009c320b7ac117108c97cddf0b39c1cbc5e005b68ce06ec1e5fbae04d0a041f425987f04d74ff1b0da17467f5cae8062172c3c53d23fc46fa92fd8f6334fe1b63c3598ae2bd5d144f5c7a2a5f1206811684d187bd8c8cdb07f69e933ad62695f3d995bbd4b80c92b28c498fde2a90cda7f41f3906773c1a2612a8903daaba169746c401858998a02442854aa27cf0815693d704937d5eba46ce3477f7043a14216602d2cbc25b9f95aebb4a269df781e3fb11015f0fcce8c01e81b2bccd8c27d51443ff8716b797dddfc148a71449021204b8b94eee9c2fba24a29b68251e53b98846b3839e0850a818ad47bc9e34cd014769009c68819f1568122a1c4b0609ccee74b1f3c55d347bc09001ac21501bdeab227942ab21e4b9f2314c9c8db920df0f78e302b9e58ab07377ced6a05993855dca51f7c9d34fd458db54f437432bb4dd3651125fe3a31a4bc50b685f35b8c8e5b65b72daa3d044a3131dbaa51e09c7eff9ec6dbdc202b3256652082579568df5384dcd612efd9b01c9ed6856d910c62ed4c219610781df0791a6b9391a2ec2322192c603252875fc7bc10d8a14c914849c98ddfa0e8cdb0078fc7c29bf0439326ffc173c5b9597eb9961e7d297b9bf1869c752e1d418ec394e4accbf3f83889a35cb5684617219aa5c6953f36ca9f0723e2e1a453650dc715937c6eb3624ac4245e4d7ce3b91751ca5e0636cac942681f893f7590d8947e85d1508f5c3aaf95df65685e8041250406744d9bb6ba4b2a8dd407a11a8cc833a866ef4db3e133e2afc6affcc2fd6a86af2368d47c7b36651db6cb203b2df8dc5cdf386a7affaaf5a1434d184199b12a00dc11cd3f6aa9c090da2b60e64d0ef94d14597e37a31b90c1d8bbfc4eb578e64f754ef1ab9994a1807c06c1e14c99aa02a40a8ca0d62d4daa1469c807768933c828e2ccf390be2d8c5cf474964a30e6cf1c3a9ae7d1803f643752c72b39afdb492a47674efbfca9a5cd328842bc3eb268fcc76965bd6ce559cc993d1a016dfbc37678103017b1f2e12f13c5197e7a49147e082c2a4d34e29566b9c44c52621589c0b1a5b795cb1798b144f76c11b03931119ba2e5661da28ceb3233f13768f9443122430ef7b265e07c036b69fcc3caeb123b36c02a66e6ec02e988cacef3b2ee9468d5baf60ae61e636fd94b2dbb2b1a0664f446094b8da252a031e4ed88197e96aab689b5f0de2890d2d6a6e56b82c265486acec8b31a097e7bc5ee9a95671bf620a8e3d05e942ae200ede94e682b057796184b7415a0d0ce2194140122721ad95685587abfb6eb8171440f53d1c29a86da1bd99bac9b8e7e51bed93b738f14c64d4cca12630cfa5ba6c96d207ffb5ad016f8d9f20a686de8533a06f06d15ada37251a9f95d51e72b31984e5c02c574f43b75187b43a4e5091c02d1b99ed3f5e106265787a7cf59023ca4b2669a1abfe868ca285e96f92295abf90296513450308fc60920773b497ad864e383d5a4e9109b7cbe608f5edff33b3415e680562b5f91ed7b72a2349d2c1740525e4bb09f4750c8e4d555c1b5fb9e1c6a706ebdd5e721dc7d92ad2439415fc263f464987ed6d1886fe55770c50b9b7e9c4203e7eb18041e039bfc98cd461de838826e597ce4fb54ab23667d0e7b65bf14a597392e07acd02d47dd6c30120bf067f4a163485bf13951cdaae7e43ca5a21479657db1f3aadef3faebdf7967998e30ba5e80dad0edbc565d8cd4f60256510dd5cf72cbb8b884788c70bb9824abdf4d41b263e0ec4929d163e2b69d7dd01a4e89eee0a60e923d27c630191c57ebaa9fe174911f7ab1ba36abbe8d90024ca9592d8830589e11fc75ab334c0e6cb400c28dc11c809b7d4538bcbc19ffd19b1cd0b013b1af60743ea02d20d96079e7243161744ee01d688f144fa87679cf6cc48ff854e015982b355752582978b7b427032158de90a75534026cc84b1eb7a55898b839356cf63fe0ef64152c3d6e72d4d31544ff61113606df13b45e80144400303c05c43336856ccb7991b28f22704ba6778dbd583f0d745dd3cce35daf2a78c7455259fd729a7a478fb78223eba37ff6221aca272b11968ef13b542c5622fb387e2ab4583451042c99b80e6cff75d31f923d7b60fcd0ed98683f06c1551b5829034e32d7dda12b5cc18151f479fcbce403d210567a047153f73fdc00e7cae44fe2b906984ca37b1bf43239759514013a2afbfc2378188c4b49e940f5058976c21d3bb8535cc27744ca8e082357e2622bfa4996e6214ec7a4bdf964f24047a06180891830d711ef1bccad67d1247edd8e1fc63f6982e5b93b57262b71312368b0768287e40f4b7ff67a9aee65fcf426fdcea1c16ecc978cc1e979462ab7794ff7d40c8034416b529e8f9fa1c51a8ad86020b7f964d041d2a064edfca36d39282a6da4e1588ce97e8b55c64f45178831167ef0c1633de85a0b88fcc2f113ef3d0ccd15313e7fd1dc6c892f62708a9e397e714ba80dc486ce9e11660e36301c9158cf454e328780b2ee5f8fb1f6397ed86eb5b882ec553cef85e70d685e5b6fb5d0a3acaf118fd46b3c8516438cdc0baddefc7b41265ea17aed91f3974b618d12cde32c3cab6bf3e61fbfd73f6aa0114dcefca384810beb9ed50b388e93e70bdbe3a7cf78a9d9d73841e2d98fde521583f1333ec534b160735610e7a091c83d513811c68f3643ba756564ca683641bc7397c85a37773309e57c13e65bbd0814e9e1f7ce1b8ad98bac82ea453042bb9c5df32294de196eed585389f905caa0f143643fa48e0419e5a05404a67cbf78c1b10a9b091f8fe908bbfc125a3136a02f09351f137ea49240b66b983f10a47d7b50c01426edc16c9fc6e22d4b439321e0dd38a68c83a5b1920fb85e1a1f9dc254fca2adaaae3cca07b8a501cb7510c268297e0bd11142aa19531a995635029e4c428e0922001767dddd6f40a8d8811c29920a51e18b4079c1c2231d421dd86c8d65029690a72734354e9601fa49f14bcab4705dc723e99d3320c4761236be3acb2ee89be14c98f6f0834dee83d8cc192a30067f0eb97663510cf83e06a0d36045ba0dc83218578ed3307783a30870c301d07c9214b44f835448355daa4f6a20db54785d675468feb98f8943ea63f43396c8fe8bcf1d3a6562c56e9e36b2e080d849f00372c6b01bf6cce341c8d6c4fc7b8a200491089acaea1590c474d35ddac21ed949def8a3d5189ebaa27e9e817cca0ba61f607387a2be869c785d6cfd7115e1b707e77e10cd93511f72813ec9897d3d61c04b6965f7c80b2c78541b05270ac4219b8d77af4b1a1a89452a0a1c8ec5d86863cb02cc2ceda6706b37908ea44641bd669f064aabea125906275288d4fc8621ef72baf984fa7ea0c2e63db27ec84222aa7443e9840935dc9f3f5ada79762f6ccafaa14cbdeec37a18d263aece8da70f475230769856f7473193085e32d06d872790088311f1102c72933f48fa1bd3eaeaf16548961db5642e7db2b4bab277b2e2bd081e598781047648e21277618391a0be2ddf2ea8f3be38b61eb8aa5e4fff777164ef783dbce718a1a0a743b75c106c9388810fe8f7b53260eb5013dba0809612f85a60d89f302db7a58eaa81a3e57633eceb383641686cc8b8c1a866eadc8ea7af94da8b503419efda858b17b75e5fc481ab6b46e5974e30072e07ca911e73270b55945104310e6b7785e12fa80164e9a3bf69e87fce29090649842a006126a5df63bbe0606312e2d0af19d1b7ab937b872d160c2431016aa93a4c89865452df9cb03e13d19068e409f53667bf0f8d95b4a15ab364ba9fe8bb2c2527b4234001139c346a08317576cca0ec479568600aef41a3134875b21d38ee270cad2181b8ae1202fc28dce949a8963ae27168e85694a5479dec9ec67db12d89ab76aab59af4a6098941488d821829be5c8cd1c09215bc577da1a08c74aa4d1ac3c7170a6553532be9497fde0be85a28bdf085b4c52f4fc542c17ad45c7c0886207e4c26db5a445ca30ef8d66860b697e56ba5f1d2682595774af94630379f465071658410dccc015d91f4d19cd05bdf382d49bc8200913b30787083822d03d1086e422e6eec68b33b0c240521a1ed9b1dc4049c5e6650dcbaece6168c401ceedcb524822f8e0687ddbc60b802e64ddbba018af41a36386dcd1b3bd144e44b1ca6486a686b820207b67f07a15dd07c59aa7aa7aaf34d4bbde7c9396a3f0e28d1c8715fbcabe1f974efa7d505271821718a5627d0e6cf712781f12e0028389e71fe354aa3b7a2714a5ae34ac1f1c6c139db134deb8f773903277670e0ca9567cb0556d92d0e17040416ce0ca3b6790ba72dcc1b783f402acffc0a070feb69692386526485738d816b2e8d12e18b661502c34ba85eef446c8563576ae0dee78d719d15159cb63f050f6712be3b1ad2fc130b9ce674c19640dad9ca0af08c526fc97ed2ec11a66f8aa9d06a6f1c523331aa2b483631cf7f98b3d1730773082f4a33e60b27361f894015896db5c320ad5088793d865c7cc4ca20cf2f6d22be91d7ca06a0f5964997d9bc8fdecc37b3fbbbe607c5867288601e73f1ea02d0d4c176c8a88eb3f105bb07d585e207bbef12672544ea58693bf1424201f54598140091b059d9186e9c33388f5640323df422c47f47c24be1fb47019c6e24b89dc179b684c5111fa1138004e3e4c0e20cb5dd386f278a16b4392d06793de89f84acf0dc96398112ceb652f3d73dfda69b470074a4650687e608441e127c0e490142e44c05731026c539d73d93479300ae0845ba5b7939948755ce931fe47f229499ee5f33c8e737fbe57526570fdd53fb2bdf2cb9c34d84faa603c76eadb9f6076af25e6be121883268a762a7bc0b2908f2ce7f1bc2a50eccaee1fb422b1337ce5c7776ad0fe6b7f72db99e4d0506d6340b43d1feab6db8b81afcd0e65fe40af1e269eb442a7187e23151cf16ad502e4246bd45cfd989079520d5c56575148517713b3b7deaa0ba68ec4d8d42880e89dfa636961582472911a9f58a1f9c4416b60106fe8cddb04c000e1c5bdc6e0a5bbc40a0cb55e0298213db7faea8a531dbc35a0530bfcf1f4f8b1dd124b4e0d14d076d885584828c53d9180422295e31731143d6bc3ff052a59b7a549625fccb0acac8cbda82fe210e6574cf30ef546996526f63798ccaf5955e85feb2269a18403192b6f6b21aace59261aac242e5ffa3aa269b6f40f724f011b1ed42c16d78ab12209c7c484dfeaca9dea9d8e6a8c1065ac20402b3d0868d86bfbdc1c648dc7ada3e7e0507d68e3ffd065a37666830cad7c67f90e57953c9e2d79a725019c05cc1d7be0a926f7e5204017d7c007dcc22c5be5408ddc2ff21558be310b2ac9d9f460d19351ad2b271ba4e2ad176b828d52aea644a904e9ffa61b3d59448e9477371435179dcf7a8b23aef1f60465b5546b1718a8081b58c6f16e840dfb32281c1d3a271a7be1614e1b0b6bad5eb0ac02a978463d4cb763e2ac58e35c27c8b5b59b5792603c770c317e171b308f7b2d4d45c826dbd06cd836fe12afb7dae0a6f0778c62b4f761f9f4c98d71df6b85e5066228a3a44c20aa5beb802653d573da00c19539d31a237913e1678a91e2a98fbd4bf5b1a14ef03faf776a156103068d974c3b53ca815328157a40e5629e77ce0830fd6d2359b948a428ade95b8efe183837c0f3ae0466a4399bde21ecea29e6fa79e5543ae6e72092c00f9838c2b0f0ef1aebde07556cb8a68bdc9de7b6f29934c01d209920af8094b7efa64a48a249a384c024a02028dc06b04de0380b93bfe3dc06882b6cedefeccc4e143feff361bb663dbc9e3bd17477dd1d9dfc97dfa0551bd234d0ccf117cc83bd02dc07e5101b15d58e0e6fe3280083974acc9d5171db0268e2ef20f822bf9d583b5812ef24fcbdcf7458e26aaeda25e30cc61eb10f16b93ec9586b616a41670c00316bf6b645aad72b54a55d8e7c0876b680255aa2ef2b77551d3a0395882e7123cff48a306e9227fd12469d82a048f2afa458e76114e552a1fea173548b78b3aa48bfcc70db48bfa6283dac2bf4ad5a96aa48bfc37a82fea0bddc273356b5417f98f41b00c2418ed42fc9e174a0818cd12eaa7b60dea8b0eba857fda414e37c8ee53e24834b4b2f2d37f7461bfbe10a45d8cef5f85d4171ba82d8e8cb40bf11f5f33add5a85ba1ead54017f9e7d0219ab42ee2c0f3701dfe10b406fa45770bf0df66ebc922da351942b56bd2a83c5a5d9cd07e4d60298243a78b93510340da100165056067883c61b95ae10b963864598818f31af3b25f46d9ea174b0c898b5d2a1bb573bbb350b562e58c2ad2e8e275f1a6b976512f9617970fd9cff96092ad1152149505c9d1e7e2edf239977b0f3b63be31df986f4cccafcf8675599f787954deebb91197da72299fda72a9adadad2edf79149557712ac7aa4637e0f462616579cf7b5ede732d2fff108c79f998979b211803eba2ce4ee5585e45fccd49eaa15a7fbffecaf546a53efe378cf5c9f7cb4937d313e46bda2c555555555558b8b8b26c716d55f1c282a50a0b162c5a150bcb6649014eb67fbdfca806c1ba51c73b8a4a1ef49656c5920b1f6bac587a5858b0b0c6b0c6b2bc8dc7a9596d5a677b76cbe3f8d7d69abae5abbde563587c4a3e0f6e90a378ddbdac4c29e7f722c170772ff339652116bfd7b18c6119d3aa5b56677776c8ea5ccc0ead699dbbb12fd666dc5c9f83325f6eeceedeaf76e1d9fa7b356d09b667bb947cab5e0f5ca9ab8b0aab2cc9eb8b6cce28768de2adeaf2f2af2e319f0f29515161e5a4923cb821052b0b4b0f098f2a0baa0a0b4b4c1530345868b0d060a1c9ea591d8eaf6cedd72a5fb645b2fdaffb4565edfd12bb5f5657d15a4717ef1d456b4f2a2a244caa9c67adc2bf205976bfb2fdbbbb1f826407f9e90fe2847c8cea8e40a5e35e313b2b2a2a2a1e0eabb3d143f6db4bb6efcdc2a8e361876c941db2f82f96c8047431eb13a3da39398ae4289e97cacf6c77655f76bc22c933247ee43c2655607e54b3eea22d666724dbbfb3100c9164cb1b0b73276c4c1c1b1be3617539253bc442eb1e90e231341fd0a252ceeaae980fd939f777ed64fb94ddb99095503316537596ca0ed517becbf62f9a3b96ed77d5a5174eb650b9560ecae01ba687ec9f6193eddf37d962d9689f97fbd545d6bfac7fad608253fffaba5b5d646dcffaaccffa6c181a26d6677bb7ab174625f62b239b33d6aa51bca3786def7659ad76d1657bf6ab56f9517ab7ac6f67e772d5aa6cdfede5f2a3d49150f198544145b5181eec90b998ffbccce7a061d2e5d52586872e344cd03041c3048dd556bbe8e9a22f7b62c9f689fc487c92edffacee5239782f9231f0e7ee62f542297dddaf0b76c3c47cbf5be664fe239b338abe51bc7614effdcaf6c1bf5faea3bdbd5452d71776c99c4cc9c5ee1c7007428151e0d4904d7b52fbbb58657e94e6eece8f526badcf5a3bc7fe9dda59283f123fc5393f227f4cb23c4b05957becf9989407f90785619cf08d495d770fc198d498d498919e76e120af0ad912aac9410828d40985f682a605f42a15f2d33aa1d0d3c34e170abe130a3523e86de95ef9a3300343855edd6c7458aedf6199c51214855b14143455704f90220712cb4d9700b8e9c1258714548c4c0923d54411a9354b5facc8d1e2634c8630bada6f829bafd9b8f429df6accf2fd1272f99a24f4dcc969bf776e26cc64dfe6b49250a3c84dd5bc5f5624dd9381860c9a4d95694787e56b8aa0c3fa4d8bb3b9d648789cdd3229fb5b68046302029c8ef9c922d9ffbc63b23f509826a0b23fcde5942d59d47ecd4face984029af328e5fdda6da627c8ede70c9f8cbb08c421fdb07f67d0bc57c6d8459dbba8efb532fcfb312ea807d4e29cfa0d0f4cc4a02874105150ec1df48000c2431d171403ea51a8d1d2431dc7c114b4b4e953eedaa2fed799225ba8e36861434a5b165cbffdc9ab0d1b172982d1c8c86864643c81910ba3910ba3910be3097e7e7e528c46457e7e7cd224b1f8a7c7c90f0dc89b5764367e8e1f8d8a8c3fe40fd09230bcf75e320c49d17e298ef7c31f1e1f9207f7fce09e1b0ef1f303540e01f4a3620820152a56ac5871c10bc4cfcf4f8ad168eae7c707fff4fcf0fcd47e6877c9f85347a3a9f187fc09e2e7e727c568d4c2cf8f8fedae1bf847ec417117f90f4fd548d6f0ffd07c2ec0e590807ccaa7703b20d9c5b7619f6ffc21b1cf05485bb83aae58d647a33163fc53a97e30c6def341f243fedc1ff027fc11531c9d7e82383097a5984b4b0371612e41320c4951147129aed530f3fd92bc36749224c7b176c903ca005fc4fde4b2f6c3e343f2e09e1fdc837f7c787c7e52d452fcfcd01600f6f303548201fda8a8d566906040b414402a54aca0a958b16205d08a9fd20b988ea08720088261a8c1288a2008822078bb86a0193ed16068ed0571b71be26ed79c8182661492e7ec791f057162ee285b88131fc4855118051faccd10739b26b0f9090ac00f7151230a7e298221dcdd2ec96f0d7c5b5bea1e0a8a233983c2bc501cc77134611c47f23fc72bf160288ee338926dcd882138de501cc77124c99124c90bc7826d5b379ab58fdcb493eba765b65fabfdbb757bfff567d639ef4717ecd2ac6fcc6ad6d10c527f5d545fc616be58b97e635dad2f1d777b35516cdf99abe567bd5bbddb75ab985c9e96eb6cb553ed40414949193182040913266e553f75ab6ca6d5b43e3f6d1138bd3dac9edbbf58f662893b31caedefef22b7d61a49596badbd67a5b57d0a64db858888a800b92d1010d14d47da1d321ad2455e6b972643890c2544b9ede86edf9c2c0620809c5a6badbd4260004253c48d4f6a30cba004002da876e3c1a0e7029b8f0529568c76c85a2020153f2b5258e063c317f460c073ab05d100506630d380fc11279a010085ae00ec009c453dbb7b36c4635dc512afa7b3b003b820cdda10b046280026ee73bf0665063400d482786e3d18e00b7c6c292cf85901a462cce9a882d67e0494fbc78214369f0b30063d37227e54cbfd25006819941ad0da06411b379a620042215000770096859f75a86941370c2eb00df18c3f8260ca164a31e8cae1979dcb616e010c802624746665d5ac6a5648a86a466a5335a95a5419157a75797dd5b66a5ab5ad1a170765705983aaedecf819567d920579e2941f79c57957935646fbf919fadbdac5adc653aee6ece767087ef74fd90779535346a8c872469633b29c5db29c0959da28d62e6ad89963516754b3291f9a51617985916515c9b28a64e995ab0675032f5d5a80416a491a206855f21585c3181aa0782941eb8fe3987b48b662f4510c3ffb28c94fa49ccbf9f77b0da177f6aedf66bbbb1006a8ba41c0a2f77972b5434f3dbc4992c20d44e834a1935d5033070d971924beaa0f83366e8a8cf940529505436515f11515c56b4cadc1ba00c3fe404142ad6b3a4280894dc98aa10629d49fa8754f56356441b1a58589235a40fd3d850f595b9722c593d50f4bcc87234a800c3932e3636a4c89136fa6aad407aa1f545f680425a0c027c608182c2d19c09e9070e1a1ca8f4d97a81bb0159cdd951e7e48bcd481b3822b335cc1ba5a8315360902a20505f59046891491375f64c0808d80aa8e142f4daca0091058bf810af8ebdb4a907317e283bba8dffaf874172b32b2295f38809121cd1a288ebc902506b0ab28ee5edf6604996bebae0f91a3cf162254c8e010830fa8279e933a4ed821928496104694e000b0ee35db37f87101d6114eaea460a5558406a86c20934411518840b92ec6e0cf418c19c4c94a61488f283de8349c363a28c121ca0d6143ecc8f5c86b0750ae41340c0482601802e5da44f52bd2405c0d1ffc1b96642e6bd7ae970734ab1adab5d71ac007167530f8447e147e8a23b242b9de9b439ccdcf0612f2a30bda7bdbcfae4fbb801038548e085943a6c393942872182206839729b21668342f4ebac89440499501800a68c2d0103666a747fde172871d7688ab3fd629bd561140611971868cd7163341fc8064cc0f1c985083a4c5f03067c817169c50612901a2ec4bca124fdef490c1fdccf551ee8d8cc80440839d23a058558153d54920f10357af0c4b0e3334b1d65adb6d6d3f68767737ee4f729bbdd7ba12f77e599b40f3deb4cec9661cb18a0a3fd27c1521e625090730759a2c31c5893a558eb52ccee01b6465dea2ac2c5086489d61620e5a9bd87273048627699208516de8ee6e06fc60d5468e132b4e2451460b971350dc79c12744f7c2b091aa73e687981550c00c981149046106071bbc942951aeffb43b6672b0e2438720ba9440eb0bb5ee89891d2b45b8a0a60b91174af03577b388c2adfb5f1a50502553b66dcba28e756bcdb1ef405d2951b20298242d349d25803461c4968f2438345712216a948405e952a4c2095f74f6f73e0ac31b889c99b272e4893659686d3647aa80819152d28419b4b200d683863547aa347983d6abaf2184845942081c56b0e4fc3e12a2f5d19f7e8ed8d6a56c2104bcc1a9cd6685aa793fe88930cd850ff769754f3d98fc8a08f9f2848c08b4c5135045a83051f2a48756248e18e5845f5e30d73eba37ff9ac19ce4ae5361c6cc9418786ba2a242e8a203d7570d42a0e0825615465cf8924408b0275ad05a16c7e7248931343a2081d65a04d1b5d75a205c238326094ab7b8d43e0882e0576badb5b649105a0143eba083465ce03882a079ab01dec4303469a079bb6609334cd8edacd9299869404151945d841b8c122496e8cce935e160bbe4677f07190144d99ab7faf3b3cda69b2b999ffd4f9906148465b4e35310343d169a94299265067511b034f90149951f41b8807a0e862b32177840ae4081ba0f5c725863e78b0f38503c3154b4f2f5f03f3bd0db6c6eddba75f05aeb6e47ffdb76b4a38a312e444481624a4d11bdc54e93df580dbb3a2ae8b2c4d962258cc90c6e98821c7992268e95d50f34497ddb1123b67d11fe9f6bd71c034fe63cb18187222e5c3df500e6ea8922a6b6a88c712da920e58bc80d4c2cd1bb60062247fc00e5eb4c1d1328a0029c2240b46869e1ab87dd1b3543ac99b2258905573f8c84f17e4c19eb89a26304092c619284c0a545872178615082e8ee3a7ea780956eb4ee8907323c2071c4ef678507b43e8ed6958083941bbe7218c20620edab7652f0030aa8b11fc08a006b3267786ec254c8c1862ce5aebe47d5f7a9fa4ee53c5b449b4943054a4a4f2cc90f5b05c5eb2b6c6b0939399071e20615bc8cf931030aca1d8b1f8edc40440d75ac44592973aeb85923c603134ec6f36c9466735da35df4047f8e03304120b9daf2e10ad605784dc4a0d95d9199da95fd02e7b267b472ab109ec06dc42e77762376b90848ae1a742962cc0c422c495204adfd4bc2a60516867811a305ad40f8c0f262350645cb884ea28b9a296a74d812f2433d53b6d0581fd7b759e06340f2021c3254b27a70321f45a4b4742d118547efc70f89985493353caa2c3146c80a534f649da0bc09398ed6fdb62e70a470084283922c74d0feb3754f52ce7ce129a16557e604da26530ed3847e07a2dc834f4bd39b47dae70f6cc037a7b4b08640f886e50410268620a0a4b0c686204f3bc4a132278927b2b4dca025f091029a2c5e11595882387973c5881a96fc0005f56fa26ca172a91af1d391d40f88c069f78c94eea351935385aa52f58955b2bad16c6b6b34d2e01efdbb876ff0803ffb885bf734e5854bd70e505cd40c693a5b6bacb8e13509e342794ff801e8e0f49f8c6f8e76c8dfdf5ec1493ee41ef8907f7b8d1b88e15ccec88ce1a7bfa99464a5d6becc8d392f38a9754f2b64f90a3225464a0d0ba8bf52eb9ea6d0a9c2bba2c296287c65aeb070c3d5982529c0f094421337639688c3c58918348a5adaba63043fbf8513bcc38f748c50c2cd3b1c63ff32c45d1a3d99d645ff810c9846c38eb495abb556b70dc4fb7eadd9f8c9f7694e7b7bdaa4eeeff2d1123dc19fd37f5a21ec4b92353ec4118303ea7fb60e05bc1e31240952864e177ac40bd61717de40114512194f7a484345b646ca1cb08e54cab2072948fbc906a73747015101a73787b8b6e82f7b64d86a34c48cd7e01467b2590d30a728c86ede6ad03209f5ce98777491ae8d0c5ca3c122c7f0b3917ee014234121f9c0407ef6633f7be0f466a414703a22edee4481539ca1b083535c07a7980e4ec727e6e05badc6cd6317fd707adde89cc029cedd841c6cea98d095e9e2e8e0e8dedc01cbca164a7d76d95e3f23d0e8c5a0f2aeda146a17dda44133cd4dc916a9876cfff23600826b95fdf4957ab8fafc48fc30a9cbeac8b75fbfac6e7c3bb33adadbb6aacd567de08bb89a9346b043f61d57c56cf98112dcba6ae54395e74376867354c9eaba936cb6ca2b001478346fe197ff8492e6ac2c61697cd2741acdb643116814cffe09755e950c299c565ee5a1b39979057ea3a88c1568b846455ccd212ecffcabf33c29ff76a3f61168b4663a3da14e574b33102a5a9a4e28a033b376d9216b7f046bdff6b2fdb0cc4f6bc7c47368ec705a7765d97e0fd9fff13b7d9f1de86558698485eb9716e47e15fd62f66ddb05487ea900281ff50e7a35fe55d398efc3b832812ddf14eda2344d5c5fccccaf2d8272a1d95d34cba5d352e4fea09fb6a08fc4efbfb50b5c5fd06a0b5a7d11545bf0d4fe4993860baa2fc89a499a386a0bff9f0565379d84103408faf4a740abc9ae2ba10ef963a0d6336d3a4fa26c28ed2fcdbc6187fc1f476f8310ea60fb3a6a8dc608b5191ae8229fb103acd1e0d145fe2569499224bd8224493649de1e9ef1c73c9a393e50e2e381dbe1a73f1a27a9be20a125d047d7cc41813e0a4d1d7eba083ae0761ded3d043c453373f890082be07ab5ccb15345293c62952620f168f223d0c5155fe90be77647d191883062b99c80d6f9772094fd8d8ec82e84cdd925187c3177fa87a6097e36f148eaa2ffe1a8987bc8c5589cf930b62ed989c8ae64347f5854347376c8df62282d184b611a3ba8ec8f41077570fd292ebb0d6ccdd5f3a4656f2f271c22e4d0d181d6cdde3f57010bf8979cecbd44760bd29c1995ca4fd7e2600a99f8a2597df767ff848a3ffb25f167e18b663a2e892f9a9dcd1ae6a77fb9801e69f5f9fcf49e5731efc9f0ebfde6f8ae75ed8410284f2891014a5515eaef51add3eda0866a890f2d356f507f27d7d5323b7efa17800c8b3ffbb4f6948060fbb377861138ad3d5db5e30e154625cc0a4a3c41fb15c00dee2eaa46aaffacee84f1e758dd0957f64f085f7cadf0c5ff31fecc42207cf1adb934f666be13eb2f2d401b5cb7aa969f34a4e0da45752aad48b27fad11c386c5c124820388c09ec50f1f8768da7f4271b41dbae60da83ae7b783400fdc68f93f7ba7aba5f0c577ba5a223f7ca7aba5d147d369967332953efd6fd4453329341d0006a7dd7b129ae388b1cde6352a5726595dfdd539bfdfcf6fe050dad5a83a45c5eb5d5f7183f8e0973d57e05f1b8d2838bd35a2707a2f6936d90cfe65025f045ffc12c485b89a0df29beccd3e0dbc59172352a4cd963a57c6408101b21e171ca2e87019bb304049d5a8b00a1596ebebd8d1e4e4832c4b5ccea896b5dbc4ef93e42940de095856b953a4f8f64951c39d0a6002068c9f1ff3a6b65cb199e23c7e9b248d56ab618ccd74478b65fc3c5f9aa967fc3e5db9bf7f4d2656e3e6146677118f0fe62981fc0cb37989c6923040c6480a4f589d9943045a6d68418929283efc7a65687db00412646b0c0f94846c44463084888c603c21c906afed1fc32a82b69a4d365b1a4fc8b73f5a1d69c630b5621019c1888255a7eebd17c431dd7bed77a5aa462a121b4b60a40a36fe94d58de638da10831be95d00c1268d76f2a35b7fe7db95d2d174cdbaab507e9a352a070f223175aa4e7523d946cadd365b9daa5353b86bad2f828e1df59bba628d57650e2325292125293d013fc941b3ed633be41c5cc13072af8589dacf3fdf87fcbdc7cf2125dd3af6cc21d9aa57affa5f966da635fc7fc60f23103382c049b66f24d42ce4672522aa6f541f46eb9e9acc3005040f5d64c892a0f563b4aed36c2123041910385484e8aab6a3bf359dec3bf99f39a41cca187ed64ef27384ff800813eaae46f93792cd9dd5833138cde51c56c7c387eaa7230f3feb57e1f1801c68c03ab2c4d7581611a0e8dd2067cc95a93618e4deeab286477d0780c1d5626cb37dadb5d69ae467adb58651f45b0be6a7e95f62617ed6fa96899fd532b1f2a3ce5dc3a089729bb71ab59ad7cca69b6b64fef3a32e735df37cbd6f274bb9ee93685fdfbb9c4bcb7b8ec5b3547c7dc7f2bae2eb7b941f59f04c30921fcb30f89a41cdaa586aaf6a6d55aeda85fb0b6c39ec08ff5583af3c380f73312f73b7e3f56938f7f2ae1e9c73619c6ff9e05c2b05ce7b3f38c702847315389782732cb75a81f32a0b701e65752ee595cc87ea33b121b1f5cba0727d1257c56c17e070b8fa6587ea6380ab5ed5cf2d3f6bedd50740fd0c7015abbe06b83ac22e035ccd00c0d51c84abf986eb8c41679be7153503e16afec1754e81ebece3b907e719d76179860b3389abbddd2e8f38308b389e27407639c4b51332a8d96510d75ba6f2e3b0d581f025cb8746c801c2173c660d708ddab2e93f3fab85b25056ca1a698ba42d5606ce4356f6adf66b7d7b99c817c917cd9b0d6b32912f7efdb43e29bebb896933441b4b048db9dde697691c49f24551fc242bfa33edd8d15c4ce293a479b3319a4ce2871904f2d3121dc1dfdd0d4e09d53f9be83ba6ede86fcd13cc5bfb5ff3d6670ea9ebdbea5bafee55e333d53c8e352a183eee24dbf7eacc1a36bc2c74a6501982d63934f020b6458917c65824b0650aff961764a23d69864d9e4733fd19aec4e15227192d7ee3c227ed27d9241f2f6ec4356db4348aaeeadbaa076ab8f3e6ced7182269d0ba44062a4be46085892919d0fab46ae77c1dc12a7bc26fa104647d6570fc9f7d95a2d170b8ae8ef9ed76bb227426ea62c49ac8fe4d5ca8bf1396ec5f7715ca8f5acc9894ec35d366473c1f823652fcc4ef633af57c0e3be41918c1b43fc9f44ccfece70c476d66de2eaa993944f0d39f860bd83fedafeb673be1aff5318e6caf2472894b99c21f7ffcae3648a8e95393cde3ad9f9673786bf3de5c74856fb6491801c6cbee2acd11a87f8ed63d19e92ab35584ca0e579040fd4768dd110c63928822c68a141fa83f8fd6d962189b22638585353cd4dfd25cb452b6503f51b58ea301050941711f473bba3b94fa4137df4ba34ad2a68c8cceaeeb4b95b3c44c0f350ce10a93eb2452b9c9270006e7fc08b439c48d345c6ae47e459c0d71349c1168768a94c2c8f5efa8652c2bcd9d355c8e1439d1d223863931d02943eb7b1c348a1db2ac70e48e163468d531a544901892b021820a5aa30c29020a213ed80071254cbdd3d3f341958332170c43511c4791660bfa71244924232418bdb224cab41e9e1e1b86816b3290040005469296cf00b05228ddabe441929f297e681c94e9c0059cbe0a0bba6764ed27597b61c840026b34c630b4b62b9722ed81c607ca4d8ee46c565a9b2db6bad65e6b3b2882d399566da6c533eb951d14c11d14c1a950ee5c2a54dd9f56a321666b9fccd64c9bc87c9d67fd5c07a74646667d6b7bbefcec1f75c03da6065e6ef2dc0396e42356b3c30f4bd4fceadcb0436b1818105139a81004cb8f124f4382f494209323648828688b41c2081f544f64b51982b6183730941993c30f443c052122c8172a2565a6cc68953484ae0ff6f389fd27fe467e5af37da8bfcdf62eb36b2d58c07a70220bca181068ab6913246c861bc882ac41bbcb481264445019420d1ab4d5b88085ab072e3c5ff7aa105e5d5c605fbc2f9c3aaf8ac784882ccc4776b3613289221219fb4c3b9a2b83bfa3b998c2ef366f3644d34d26d0bcd5e8bfd7c423cdcfda00aab3863a2f442db1821e45c2ec88707f20f741ca0a595b4db2864813a385295756b0ea72b2027ac407be16d8ccb07bb2a50b751368cd50c689385b513aa04ee6481cacb22c2dc0f0068e0f333d00e183cb192686304364c7fbfd7e3fae2d0694817975fdc07858bef3817d89855531f11dcfcf765e158f0999efacce7953543c1e2fb7f9c3eada7575757549c1eaaefa730106a7f557e7d45f2dd3c2523695d56575f5e713ebaabffaebd2dafdd57fe370693fc4918042ee6e8b63f1c316f0d1c5420c2b486185307ea7d7f3f5784898b82833e5f3f97c5b7eb6969ffd5150bedd0a3638f55dd40e4ae8ab8bcb6775beabbf3ac7b7dbed7c5f53bc0f7a78925235f5dbc10e11a9264f439478a2e58609af365e6097841ab7b6e9228d6d284a96105669e2e8c085d61d141c9a68ad408c1368fdfe91fd85b1c56088e242864a10a902f490250c9a29b21eac7879eda83feb9b42416a6bc51c24ac0196d8510c0c584e9af098a0610990202ed861a204fd227381e682eda0b2ff6c5d7f95d65c7ed62d2f3fdba9fcecff9cd69fbbf842e5537e64c48fae8c5b536a31f7b95726d9c1eacfee6cbf47d96e9fea6e313f6f976e1761aecd59196a77fdcafd05de5deeef5dee13ece42601856c1f0c19e004fef1563b4691d3cf5f6b4dc964c01cfcf9c60a56b0c2a62bac37a4d920e1840d1336516880010da38f5a7646b9263f6b7fd91dcb1a3d70f8597d49ac278d29dc4838188f3bedd0534ef233860fd5f089466e49041d3b6ab4506bac80cd5b0381f8ba70dc20ea82d17fe692629842fd4137888c60c408b25e9a6507669a66787e52fe0ddfd1946f35eca74d39dd41cbe9cc147aca6d9e7e7ed08b33d8368e0e4423001adc62a87639252a896ac06950f69428f7d7effca41c83888c60c4a8a254d927e04ed3262ca7e197eb2eda1f76f951a7690395db2762e57eabbb7d8b3f3e08e1932f5edeadba5837ab7c224d27a7271e377224f97a3e93e7c7777389c44ffe137af3c7dddcbc4160362bcb37cb3f2114cb28cfe768bd547b1ed3e969b4aff5d348fce4f70c8fe6cdc93f81e7c7c74f7ea3b5106a4ffb9bf3e06e4ee27c7ec4a5f89f7f427b2ad6dd81a653e54d61f176533f29c81d106fc55bf04f95e7c9f1db0ef563d3e96a09ff8fe9547d76a89dae96781e9b4eb5cb0ef5683ad55ed7d81bc98a3fadbfd0872b71373bc3cd5e7c104af366dfd69b6f8c5559133c9fbf5aeaf9d9cf665ffed2ccce784bb3f7319d7c663acf679ffa6e36c5b33bdf6fe7fb852b70e1970a1cd0e8f31ff98d929fda9d7fcf3b5d2da5f8d93bf5472d00f5592acba59e2f4da71fd37b4c274f61aa50511f33ece2f946793e752c1e37539bf7f0378a9ffa21d063f6159d5d2df15cdd20503efea5f2f154ee2fcda572caf2f0485cd8850bbfec50a3a379c2d51269792790e66de9068279fb9ae97475bb319afd208473606843030d5bbb1d6a7b76a8df29ca51f25118fb4380831bedeaea61193265cb96b0dd0e6d94344f40613477b31a77777776a8ff76bb31fb2733d3faec507f18052700aa97db889c865de35774bc537747336f4ba1cf0ef58f9fdea9dc1f821ddce80d848a925f51f2edcffa72a38d96e66d69f664d885865f76a89fec2732622af78b532295c8eb17abfac94fc3ac9b9b372bec6de5bebc5b65877858b8d1195aebc5a5e9e5e5feb0ab3ffc6a26225b668853c60e5816b44570d3a66a4d13ab346944a0a7eb17a4d05f73443058d8c1e9994fa2ee87713fc9efd757c01ddc6190e8d5ef34d9bfe23a4d2e9d06e3d47597de6eb75392d295a8ff524ff7bbdd2e0bea9fe34ef6d731c2af2afbef68eada4ef0c84dd7a4d16972a7c975e9ca9a5d7718cce91f23034dbc1903c24e915f15d47fa9751ec4119244d51318c67aa0a290b256b36f3f50a7e025c78a8d0f48d434692e4f6c504343122e84712326cc4d993f92bb79bb1fa83f282c149dae969ed051fc1f4fe87dca4be293a3e9242edd0f4d27eb2ec498228f8f6b0bff1ec731488848c4d5b7b89e9c6473a02e721f522194dd02ff14e8de5b6fb543d59f7c8023078a1654e8f14418146aa6701101e623ea050ea6f4bd18bc0ffed27dd074bab2ef04fe35c7a5d0e97e68a63c72dae4e5027ad867912feefeec507d10d7b69a2c6cb0c8f59ad8767fffd99feb478aa1ab8a93ddedfc280330875f5b685d921d0a7feb4897921c869fd61b72f8349599fa77f4ef9745b1b4b4f0fb2f78af6d2ca404bf82ff842ac1c18de4041eaf0d18346ff73156bbd020d70712725d94fff1e97ac726b55620dbac67adeaadf7d65a6fbde2bdf76ab102c1ffdc4747b7fae0c58db4ff33871444c4e6fb73fd482e66833ef801575beb8ea07c17c0026e314a40654be43ada93d004ba40b6a88627292e66c69a9881880d5160b0e5c80a61a62c39b204adef381b58042848680c9dd2c50464e117455cc1af1ff483df644b056cd1f2b4c6fdfe5abfcdb04d26f166e386b5ab8366f740ff3f73fe48fed72f9c338724fe0edd2249fa988a4f82a74ce6f1935c54b283676fb36e864f37acbeadb6b0a50a083746940043458a2b4a08191ca8c8f9c1431fa5a33f111b0a84b1418528581842880ea8942f295c89824c4e968e2e3a6ce991054ace9d36d3c5ca0f4c0d74aaac507dca2a83df64486e08233491808c8c6018215da02021a2116cd0bc418024c17722cdd45c227ff633fcde2616d3a79c3a7d520e3fb2e5906ee0e0d12438e510853c7e9283b894044d30e8e0cf4ce183cf147e681a8546b71a6e95fbdd2a834640414244bd91eb6ae9569d40f073b55622ed17c8c828db6a818284887a4419f02cfb8ba299ee0861980de22021a2cb64c4b61b3e0156f0e7b7670ec98feefb0252c02d868d170d1368906f0875aec914fe0dafbb3f48f3d1ea7006fa338734a4a24e15f57e5bcf5122cb9a302c26638438b939f3040f46788d5952bd3a6c878eeefdfd1c0e11fce89a44f714d2e1a72729ddc05175361be30cee27419324c99e916e76b99a6dd28c8cf2c844beb524ce33cd8f6623530a823f9016862ffee827ed0160b8c530e1cbf5bbc6109c0a09f911398b31abc104a71d765f08d7194c52ba8143470d27cd184de0b47b1edcf023f26f643024df41f2c10fc3b09c9934eecf4c2979f64ff941f14712f794c5a0a4187e74df41f349f9e6e942494a377074dd7a92002bf72d9853123c65f09bc05b033a3781e3834916bc26cdcf5b89ec98c0260b08375047b8904485228254f1c18a1b366a9828eb57b37e208c47c3580a67b6b080f697225ab8681149c284cb7604ec8e0e65a440b9630020a6d411a3c607d5972fe515306db23ec35f0c43f05eabfab6fa5fffbcee2ba79422aef38b38f27b344b331ddbf4da07371b63f3c869f84d3787346c5fffbc964b3b9926f859bfa9cb9c9ac007c107fbfe6d06981be07f9b61a66006ff293f6511d7d94be86c2b0474afd7eaaf04834b68869b42edb524828e1d42ee759fcdcad24c7780e1ac2ccb712ccb722c71e0cfca99977e5f146d5976f758d2685f9f6602d166663a96668a732dcbd98b3f9bfdf8655996e5387e299250c71be26866936aca77f3569fd08aeb0ba2c851b2060c8b921e4dc67489e9121204144ec04a7b39d88196694ce05ba626af4cfe9dcb7baa80dbcf7eefec7fffe610777373c6770675e2d73b1285d5b7d5fffa67fda1966391b2fd74e65597b322387e5896b81b316474d18c5a5f38a0b6b0499ebd47982f2090a08d5edd6c5ca61b0935db7210115892d20d1c2664a6fae9787133b28e443d39ecc9a029e4a715caf693ec2bd9bf611f87fd0be55f70286b85e167ad56fbae3573ac5d2318482e7c3835ca43d54c77d04ea65b8ddadbafa5357dcab43cab613925cb9a79b3217eed69885ffba76cb32dbf6bf52957b3a2a92d482999fc192ee59149327c91e6b96b2dc6ff0c9354a020a1ae3f73482780275c2d817fff04b1d1d1ea4210cd5b08a0e7ec105a8036f8476c039fdc9d4a370080c04e151d31b68d7704013ce13e6836ae1ddb3092d88962db2319813fe3208a4c1982cbcc972f525018b69c69c10d113732cc411df75d54a97ad97958a85d6f4b2b2afc595d925268625cf2c82e609ed5b580f229a7f22aeb59b9460f7ccf0e72c0b7480a06694c61fbf906a290a8a4ed75453dea1082680400000000f314002020100c860442b1783c1eca69663e14000f8596446048944a64611ac4288831c8104200010610000c21c018e64aac00b4e1bbc4af5da5970681e10b50e46657f885e44222d8cef6d3fbd9b219987837d5852941c6ef4d1a600f12817ac3f680704233e746c793b07d8599d16c2590fc9cfe34404babbceb0c3d6091ab580bb72c80f15dfd9d102e95be555dbbebfa423d9a71bc06caef81f5a361d97b5ad92ca75a3a848400648b8b4361ec4b9cd0564ff6c630b0caea430330abe80530e162438c60e4b84608f90a288736735f56e0e0cf5868e0c60beaad06cebfe782a7aa4bfa4825943f24d0c7ca616ed2243d3deb8227c16535f84cb03643fbaf06978b81116358ab9077167983c683fd046b500061101cd4097eff07c1e7b81081f40e00d6208f8c91711b56469f955706ca6788cf1a1c6b8fc2f4e81fce43dd43408b2c6e9315f9153139688b899989958eeb6576e3f8b0165e530e3611cb7c7947054bcdcd032de974c0fe2b55c5d226569c1ba590e6b86055bc0b06d67bb1178e316cc8c037366a471c08e69a7151948ea13d7697008af41b580f86392734e48eff389abac397594bbbc60d60091c9a015992ec460505676c519152520554157d9eb88a430d22c57b87d3e905e8e3b6ae82008cd4dcb121369b6fbf00933085d402cd280faa6c61c8183eb6eeb7973677374f091c5e3eb83ec1a3ef2ff5157531e13574d39dee80fe9fd4120a966b95928fa58215092ec6a0904bc49cd2e1f5c2e1f78261a468a0ea4b9c93412241117bc9f90c5fe40a5f3b386cc9fa21ac5c1e168b2478fcc8359390cfb8adcc47a01d84c7728f8b5dc5e0a375063b16965a2eebec803d9ef499cd8c406d0db9aa14969987d9b1bc1f5eae6c69164519de3b8fe3a85033f6faa8fd52a1cb8d2c6cd501923980f1f5aa388c600493c054d6fc3d5c02e21c57012d8b5eb55492129c443fc12e8613995a818c771b1590a92ccc548ec7de52712982cebf6f880a3eca295a8ea1d56705e16799178ec44813a237f2a354cd7f992b791db2281289804f895aa8e346876d9a4accf7613a18a2c2343db7e1cf71293acddf27a91b4a8fe64590f66c77bceef3213b3cca693c5d3ed1106624c3defefc77cceb339381ca4750dcd7bd20998bc79aff663b8cc784229cee16b00489e10bc27cd9c53dc932bb28bc391cb5e0173f0bcce3e0c442791ead4ef8e9c378edcd65ee18d04359f60c12ccb221f7cda61ee00237941a4a44458db3c95cb5aac2ee2840e25c0937b38e65c4e5533505e6e930bdeac08edacb5767f2a82f5f8119cc6a5c13fe049b42fb57e0627f90b14efb19ab1cc7d07815aa24fee348f8ebedd3ca444333dfec3f89eee071679590b089bf25e5689b0d54b2417b7757149754a3a4be23db8f79ab4e41fa9a11e2698b5c27d6d1b9e3d011da85b3e0b1c62b2423285d554cbb9a90e35811ada07c84a8786085cf933883e230cfc1fc2176088d7d74ae80ef633530e14a001db30e6521e1bfb039714020410119ace7933b2c39fb7663f4c2c0ef82e9843d73ac821c6dbb4ac768f5db1c87b45cdb98ffe180ca3c63287deeb11c8277d6a6adff69f0c4a9657003341d0691158108d8eaf129325b49f01721ba4c2a741a848582fb2460e2ac0df6b2a99471efa0a9da4b33a3051beb7ace2b279fe7d3fe2b7a75f39b76bf0d8b1f55d48621dee2d1359a709bd07bf48e49abd290167de9878174f661e64c2729939ca6d78f840d215fa805a9156de8cdf84c0309a601c1885de93483a1d3dbdaf837d03aa4d1ef15924b6d36d5583fe87c6fda3b1752ef2408c962b3dd65b1d9e4110b5b49e0ea4886919e9768813053fb2ca3ad3acafca1df7efb8936a47c85f8dc5c34d817704466b50ff8940d94768d95b15f8e8f4c8ecbd06a3b0aa18dbd22d19183aab802826562cd8ae91594e5398b5002363478fbdcd801a548e4accf3fca43f0c6116b0091e4c7023edf9de2a4a98b2b5254c6fa2a925b6896c4f9c08030067274a4698e2f80bd58997acf1778a74a974cc5df1cc66a19adbd18a2062a43dddb340bc77c58dd15e2f5a5c957678373c78c6b706b0c128967a720971c86c0109d880bb2c0736540b5811ed25d9bda7c44f240d69ae9fc0bc9f8f2305224b035f7ad0e223507960f7b2687a3d5ea2a764b284b2f26138b2c5d1b7892bb533dd3b0a10356c57fca6435a8954858dd13f03e0a7ebbdf5bfff94edbd0e5e8dd981e5702b08ea587ebc0fb7f9aadc62b95b837e193068275112bffdb8f0e6abaef88e3f4a1ea2219c9464fe93566c9091ca249e86fd9331bca51d4f58cebeb2ec8def59a8a3cfc9e0e2143953c6fbebb35979fad9f695af0ccfb0c91597536f2cd1e8a62f94a231ed0986a4ba02a2f0c51dcb414aacf96e611c884e4c71e7850faaaf901da29c8547c833287c792e5d45ac7a8098f195cff0140ce87d172690f78df146f384b3eb899f30198f4cca7098f83682be3e5c21db9e874bc2a35074cf61fa48009ba3c762e4373ee122a9890d5c4c7f28be2834d483749021696979a6c02b126ecb73d742eaa6b9a8624b454470732998b8e7a3ab1e1077287a24c9ec0bfd65afe18f03df9c7925fada6267823dfa85764ddfec4af24c8233f9710dd52075f27711d32635be205d17de73d78f4564e9da95d7a3e387307163afc798c81ed2ad4d27404522db945ed2987196e010ba0af9e8a920819d031a96f96ce7fe192b4e56e46d6c2ab77242c30d29b5a2364818056615f27b7350a60b0532c22813880ddb5bf7dadaf0a99a1ab801a707a920b757ec9407adb31fe91de538f1481fb2d2bb8605179ec25227bd661c374d1ab37c668273084dd7c551addca0819195f8cd10c199767c9d92d9ea723f1d9adfdd568f3938b85729bc548b5cea82bf61bd0a8b370297cac957bc480b6b155162493019b9da93f83eadc56292908ad24edf5d065f3f17519ce017a70a1a126cd2ee58a5eeaaaa839e609cff87b58485de4a11516be7f9264535ae7ca32ab02018cfe1bc6e76d59f2bc09c1eb6e302f34cda5bebaa2a196000e572a0a4604f5d144962619b627fb9469d6d5cb441707f0e490627e0c97340aae5efd5e1376583edc5a2c01bb9dc39b8c5f763bbc7b9c99d6e947fd96a26baa4515039ec427841ff25092a789935b40bf893578ae2e56f07d914aca3240ed6afcab7717b13c6dd4c0846559dff9653aafa3944aecea9d527df7b83162cdd55bd8195984c5e9a526bcaa74666487b2ac623b7ba636119f444c476c7eb5392d13fbad92fe7816baaea7d89555032a832d3743743fcba98a80b9c785fa22429b4756ba08b99c334694e0b41e4b92366e4452a6f1e9a0fa3accff41b0de32ffd7d19e851755cc648a813cc5beddf8900b9734b39a4a15a8a27b19b08dbb897ec3a461a38a0edc43c1a1abd4e75d378599c8921cd6ec612e5163eff37945df0c077b85e905c282876c19cda3df52fff8b522be5e6f993a36098b12d427f66e1f66fcc3193743c5c4c4a7bee21a495517a88a59c0ad1636a9ef5ed6ad3e67332fba280742e64ca11bfe43a9b54844397363e4071c8a509bc406768094e1d22035cdbafda655e036b4caeb34dc8905426b0ccb5ddf41fb54999e10cd4a1f07ef6db673c1cab6b98d4db5db1eff21bf55d2fdb3390f172027ec3d7114d504cacb353e204d06c825439356970196e93b6c122ab7b4b6fde610a8733e96ebff8d261b76777ed4f240b123c79340317e6adb69066c5ea8596070ff7bfb6b8343f208db2c7c7c583c159b85c791f749b98e748eaf8e214d73298483185a4dddb9ce37a00a769376351d353e8ea7954de5f170f99ade98d582313900d6907e6cd3e93c775b2b347a91a6512cc57851cba57822f649d826a3e54f9f983eb1827f400d565982ad315a36ffc02c63b68dd16ece287b7dd4f09873ba3eab1e78117729ee743c294552c1882c5a7c82a8a531d0db4a5f9d4ddf9982a8c1abd7867474c9f5ab81b96d34900a4d9f65e3aef94f5709dde485c155c230b8563c37caa03fcc909c502ede7d5d996865460f71c4457849d40493189588b76f0b5f390881b2fd9ea09c788461b866894a3f2cc50b4077a947c9f9eb57f28eca2cefcdc4ba9af050837d7d48288318e703dbe27a013bfdd6b116f9812e933ac44ae0eb4264e61c1c4eee5b7089e400d0cbe0d278fb8c312e36efbcb7b145d63404fde1b6e5c275159e304f6ec46d232954dc04ec54699f0dcced80fd0267ddc08c287c2df45eee91ee9fd4ea5798d839ba4c0e7f586e2f6a5066648fac4eecbadb5b4dd1a26b6e0e7726db2d1c100e4120af1afa478dbfc6428375b8a55f3777c4df041d8a8b0d366cc0d0aada999d973ebdfeb792d125820f6cba54a948259d1456cbcb652eaf7d81c8bd7c748d280e7d2d69ac25b5b66c993c4a2f23a9cf176bff44057a86c008edefd2f8462437f0eaa895cfca0cb16e43b3045763f351ffc0a1c626949de56aa4b15fed5636c996de983261c6a254ac3bdb76973ca32e6cc0a0b13330c8f7c1b7c7233ff3ba5e133a4aa32f918330dcbd77d114d988ea788bed771235d782ab6e1451e2c018ca40601baae4e1eae93283a48427fe777047ec3b8554de47709f69058ac77a423ecc61bd2d0e05709a238f730b5388fef7d2ef26a15cec2b44eca61a7751757f74f83d480f777630747ce313f5ab91366149ee08e1903918461f44a70973b9bcd11ab58c298983446824a1a5c4cb8511636f018f005f42defa2cf6909501f9220eba3c07b95c2a64b76298d7b9f11138d2fb97429119db02f761025a7ffb0278e2e705b3e5eb09bd9e184ca0435b87c24401ae311a108a4261f1e82201b12c9088a239771ec984dee4aa8bdcac8160c222455e8b7c7fec25333610742aecbc954b2b7c235c2f3d9739c84d8195824686665c95632a556ade4dafe05366ca2acc2b09081285012f04143e4180cb7572f24e5e9f12ccae719f4ab685e8b0f5d7318ff7ffaf07605c28f9d3a5b4f0d6ef4d7898a2995e93c9f6f82587a14b8e09133eb635213a16a28029533e64bbc74d549231f88f952564ca9e17f5b0bfedb67526c88e1732be6576a4d6d5a6d91e980d1b0f52adcfee79e695223985e16e2a1d1cd3b8b3ba98f8b76b33e37bfd92815fdbc6a826c25e3bfc18e30ecd8cff800c1061edf84d7a32f3b3c83be8aa1d3adf1d2ccb2c297b601f8fb05dd9ba7c376725cedb90f28625785c82c4824d0588ba7c39a20bc23b742662a60c09958103df8fa7e72320315ea1f5ee50e357df11a0ac0748cedef285086d782ee11fa91f7c6880af76696f587f0676d9e4efd4d78bb3b25ff0039090e9b2deb088c4bcaaf1c7341960a0bae53f7556d40590e0a2ed36f9aba09d550baef044e3dff0463aa05000cfa6856817331bc60b303681cd368a761e0c48c4c869d6b878839668126fd9c8fc32bee2f685f22b218d3587cc3080b7092113f9afec0ffe571ff2c25ac4b97aeddc8252851044488409fa49e61fe6a03601920ba0dd975863d2518d4193a72989d93a254a85407ac42bb5e79c57c8867a83a1a473fe9b13f14a263c21f73c8628f330e5edbb84cb2dd80caa0e6dc09b43d06a62d806a7c96a2030f7defc1ab0dd849f83c44858473232239f27f587c401a68f7529155157bacd6b7a1be04f4fcce7d25b0c72efd4d2241d49d56bd2742ebc36341555afe1816bf51fa5e922301c783adc7dafdab848ad275425b8a436210fa14bad2172bb23f5dda543ae111509c3426d8c7734bde76ac4db0947ce86524dd96e5f3bf78e5786efb85e0e6d2843cf3de7455f3b4acd00887518a5570e45627d8bde9ea0a564a4f25b0f39ba4b1196628db37fa88a1591b60778f9cdbba15f59c6dad6dcb77105333bd38f85b0bf30999f60d70480068d00b050e8d96a71e251d0b401074bfb8fe69160ef71f5bf1a1488ad44d709f430e90fc24afd378819b47f48cb714759bd5afc1ca413e9946d7253beb072b2280e99df6b58a126d36d63bf0890e5d0b6ffc02bbf54a2dff923697510571868b34fabc9a1acbdfa85387d26e624f1954db852f076d26b8cfa68252fcc173b0b2942e1d88e625d0f9d01d02d80131d9025233a6499873bb524cd281870d13457909ae784ef7299908ce92ab1b4081ffcbe3c39e4f712897fa02a06a2768d6074c699237615ad307d2b60f3f8bccf82554c112c144c419a13b380fe5373a8cd9052e96215737927a24912d434e8a191abc7a2488400a22458f66659b35918de6c93ecae8108fe9901fa34dbecb65c09d1a3f249f8201d93a8ca0aec6555b236a40d7c46a7e9ae33a16355c308387edadacf625d966da8736c1f8ae9115513053d0ddfb53958081604b16290b9a064c6a76e55c4ab982ab3a1f530ebb080b6abfee3b65fce038f8894644040e8cc8817739b8a63e2fd145ecc1b5ef83a2a707e01c02e785133e0d1f1941443f511b051f2077c90bf758454f9632284e7c502faf98684cf35db9ef598ea463de8cce9613f4e27ff7ee4426823bf534cc8f3ff1dba4c224b9508bd985b53a733ab5e1cc8cc2329a63ec5504f6af79bdeb61a32a1d961fe7043783b9d32f28154ccfe2d5a0fa76016d0e47ed64a4753c05a033c805fdcb45ca9737fd6c373e8a9aced21fb85a6584c6ed3a18ff67dadef15a6f96898c04a9a002a3aac85cec3efbd050b1db5d2efb40d8722b9f0a8292f8af476f3e2b0cb8a864c7b1523686d7170cded553da16a0a6abc172c8011150b82424df47594b31bc7e5a37ee3f3cae71518c9d719d049fd43b778a4de4f4c8e1a192fd64f79b8aff199fc576b80d45dc71fc2c26e38b2ac6ed11d80ad842abb048a00e75beb93cdeb77fcbb1be7ef8a09b3a87009a47da8a8b194e5f23a74a7552f30a6385e4439e814049df727f3a3a2fce1d78ef91568d40ca33c2e94308d333b8846652724ec30f91d56d1904817acfc15004fa74cfc75c5187400390848bd52a1229d2519a3492b3c32745caea88f64391ac074503ba85707fbba202014b2d871b150aa1a396051bdbb1fcf658c8867e306fe9559c7da01baceaed4d6cb64d53cbe2434197b03bee3e0ceade10505d93e180592883cae15ddc98d52803e350d19bd6eff2b9b3229b819f5ade3bfd89930765e223ed0d2cc16f2a8d639c95aa1ee20ea001c68ea9980098a52d36cffb1ae341f082015f153cca61c7a7f795f01335890f4d7e9a228bdc39bcb1ba31ae158426d6e7e29d39240670f988b9275dd9b02e016d880a002d2a20f8dc412ae0caffcff044d9b4bf6664e71a2a60829d808229b314ff815fa7c69d21a9c434d4a1db3cf2ffa7c7f334e591ec9d0a7e9d74f0fb8264f137aa8c5a071deb9e151895595c3bbc5798b46fce6935d2fc81c547b66d71bd3284df2ed43b2754317d79a676041397f069c224cd0c453b5deae45410db9faa8d8cd4493cfd48909a24903f68ba5a78d5f57cc38707a87c5737c7d2d509515b0642e0de94c8bd1b4de69eede3d28c5834470da214e0190589899e5588294a51dc8ea953b13da20ab77aa34a361ce98cedb5cd42f2869d7de050c19077e81ce60c689f98ca5466d1c1d3c0f53bc472b4c8a8916a9bb2a52f57ab042fa5658d019733679151caf81d8955918325a34b79b5d836f72be742c1213c16c7061d1c1eea40688cecbb4332f8e421b5161ccb01198761c697a3520914803b9a21048e07b89147cac50a02f26ce7d842fc71cafd6e7170372b9f75df223a755b2b2d240d362f75a1b1fd50c886fd2b850a0ee5ecadc055f39ff9cc5e584ac3d4e83a2d725d94f03cb3d9222f1b7c240439ac180810bf30cc77c8ebad190f675ce36a2954e559e0cb43420abfc410e2c53238262b1ec7eea904684d91faaca0b06b3f30d64c44df6900ed23cb39c29b37c2ec84a625086cf6cd30133866dcbf64bd5c8a4962514679d4fdef02ef2a9723a840c15969f0ea333c7187e6375eefc5ce82bae7a52f0a79e9d834713810779aa805a9718775a1ba34d521839da1d73683c9e7dd5e75ac3144fb2b040a242411c43e37f0dce18477dd55ced92e3b725125414a827a73b33d137b94fe0529f1e58df13f11fcdd11feba88f216cc31544a3bbd452be631fde664bdd7b0640141e64bdf3349b8419ad079e4a2d2642f65a09d502e6cd3a01e69223ef76be3e15b0905868050af733a5c196b90e1fd467e1e1cdc86c838460c19d21be30f4e2be3c88452f643d6b1f96416407266c5671ce18ad2bd6c35128204a1f6417d3117a4a9093498be317930bc6632b32548fb0c28800bc2b3c514dbda41a9095e92e709c11b84777f0587a030905551a644d01a0b1080eb08b30be37d34e33a0c3ddc10796ec4c258c5c9a51aa09998d0916d85574ef2127341866e92654bf2ec7eb7966524a9b795d5ceb948c586dbfdcda8bf15d485063d183b9a3d00caf3f5c854b04b6da6fbd175a0fadd8cb9fb032455d7b82d4b99a67942c67c68e7202359b3ac379b4f9c745979538172dacc886ebf4e7092a1a2289d7d67c5de6b78ddf806322d4ce9890034158baaaf05c3d8b2fc30c287f820c8ad403499539263cc2f14f02f27668682f1085e84cda2b928b6e6078fd10a9b041d527fef503546527adfb6161e2eb01ebd751c97a99d6f0b203516629dc0185938ebc44850e3c3304f82f5d1091908c8e38c1fabfc7f1068198fe7593bc8be73d6f2c5fcf5e5798f6e2ab3e03c8495a2058aaac9af4515fa914df3b821f2454807cc9b8bb9ead693c934f54be3e72efafee21b48363d8aa81b818da8f93d0021624e4d252dd9fd11746282715258749f727f273a7fd465f0591fbc090c8444c16902480b9af532d1cccce30e1e06517661852c05fa44afac2b43230fdd567fd6125c2a14024630558b6edd0d2a0a9f0765c729e1c70a39d537461768c63c021b4b4c25132f00a09ffa73932546d79047ee0380092124173e1d0ab915b5dcedc7148d3c4b3e18fac26471165342bc3f6c88e5e741f0a170c3037425b461107b31fb67106cae5224ff8127165ce7462647ffa79bac90d6344e9fc63428c9e40c0ffb6968477739899878fc97f69d29241e1a12eace0d0887c21e449e4e3897b4540c46b3c75bf19a42df1748badbce07f62209ab92e3602fe4f62e5acf3d169b4c1be26bf0e010c75865d2f8e9c172603289a8cd15eea41c52bfc563f6784ce5474de59bf0a156c7bc455b4bf2d96d4e00e306578375d23eecd8a30433ebfedcb16ca1111e22830fbc1dedc5c063ab5a58d0060a07382f4a3a051ec0f13de3bc0e9e1878148fcf9e0bdda481b22a5be12c0ee734c1a292a75b23ad65fcf9a560c07e7163d8e25e2d27a2fa1d1da59591da383417a1a05eb95e217954cf1b1217f2cbc5ff8216aedeeff96356d2fb643256bca4f3291a74374f89d443daaae3e075bcc2f7893d2a2a94929d2607cec3b0be124e57712666f4f3ae80160165baf917a9485902adaf4439a2cdce6bdc1c84f307aba9589ccb908eb99cd946698bd344ed26c26f1ab2b82c473a742904b632b5c7d5e8c7b1c893fc3494a0cfb3e08c0b6defc23e818d72380b7ed93310fb7b8318434cc975332b49c124db0802b1a9521c5d9059e98233b2c23f41aee29bfd244aee049e807786c35c0771f8139884a430070e3cdb9839eb3d648730815262a458dc4d3b50af5c20b6e9bfdc33d61ed951895c55e183b2e6f1058ed05474566d3a08d9477b0d0e2ff378a349411e7792a5a4dfa75f070d0be4a367b3939292715e766712e719d03aeff1bd68dcad0110bcd17173f2a63512b22d69c835343307bbb692b214c1f2e90cb0567a702ffe0a0dc5aa4c01f438f04c45e9ef9008e760e481e39f4c6854ed8cb55408e2885b5682162a073ef54ca6d56d8b4ba2c776e0aac5242c43246ae2aff717690e476180682688ab40f790d9e9fb6a855bf4923645a032c320ef1ff89987d286c436b26c4e50a60438aee9450abdfd8651019279d09a6f4c3c036fb229e8b86a76d93928a7fc482d863f58c380c29921577ec0a045b9b72f826380c5c810b925a0571ae5a589ee93237aae70cb0fd296d280dbe346b6b36fe453d954f13ea7d89ca725ddcfaab20fe0ea7eae1ced55d534933d8fdebfc95e8d8df6be1e37aa570807d7b77acf29277ecc66019e8efdc2e95fd915fdb35a702ce1c640b51ce389810b263274f947ecdfbcce229bda687149af7cb99669b33d1299a4f52862da5d890e1ca77b3bb1ac5a4183b0a62ef09430ad1320d0dcde57ae85dd30a222f1d25f3df3462c68aec5660143e1a0345e222e87d8bb03bde75c4f75992bab98072abf508d3918852a375a98a9f74769cccbcf54967f4cc323f79353227d723517bed65c3d77fdf74061fbd9accdf59ece8e523f934876ccd8d8265571007ed515e560ceec629a217cc07102720577644cff58497a343514da36127ead43e3893d294083be826fc513189537b534dd62fa5f65692429f0f85558091951b5388b606a205a3b941677b4ba07f01c3cd9b2462c72b1765a09fcf9309f7ca85c05f462c84c8db6c964b2cc166ee6cc6f5032afd92d7a65d6199a77afdc039e57860085a46dd24828a0e3309ece4ee0e237e43d870af5b5db82e5d8ad687e9d8db0545e6bea5d60d0911e43e522d4aedf3a6b4554562c62ce32d5598d45f00e3bfa4b4c0be16dd7eb2bf64d31719cbf6853b6740e0c9f48c3bd2b8a4bf9e9a157af9946529fbfe0b2c4b19a97aa7e6874895af78404be6aa0b2e8b94fc41fa8a39acb09bfb9bf95f6e8c23b58c69233c26e389c66c7366daebdf35ca9ba1939f89c0dfaec881c1c3bc61549a60c9ac58913d078104f96b6d84a61503f83c1697cc9841f431c27463164d8dfb645696a8cb6fa25341433c43bf8d6615edee3ffe9978ebef51c97606cd57956a01b4661b2815f4d472ce6b14a0e953ff866d4c6cd05051b2d7b6cb693a5082d5040bd39c159ad23b759c09589de82ab6d177d49983da1c2872421e70770379c00ea62f0edf0afd9585b9fefc6e6c99d3b4a91d8ca9bea196d422325452295b063826d56d64458bb3f3dbaf6081c498649e437e713641dd7873ee40611d5d51775e881e39e4808f2ba0496bf71ae9c2e38706313c12cd683a90303ae38969704adabb7e9bb8518e12356ef019663e3d6b42b78bf52237f0f9e48ec45b263732a1012b6917a2362955476a05d8a27b99fd799509357e0f32fc627a11ad484e3240cce7a6bd7738d8181e97996babdc229d7cc11958ef6d26db408b792688d1f9298f9bad4fc9cf6113d2a3cb33f444660f81a218b336307c0525469fc3c914abae493e6b2299cbb0c13c632c3d4a3bc4f37e2989d79c82b0cab084ec151427cc8d4e74d257ac81326f3dc0bd3a54416a3ac7a4861c2c2ac4323930482a5ea8c46a05d5ca7558b4b4162c0fe4d0aa6922332d91c13d7d02fb327121b998d41588690821111b86724aa03372901517053e632486a5867728a8b84eef27f34444b81931d72ed39b3d496d483707fc06a727e94064610acce513bae3d768aec1d7689afd5dc844420c7aca32f5ac933127ce25669f4b50115b8c8a6864cc83382cd96a69cc1f2d9a263935bda5a53aaf9b94861022384ee7058d0877d93ec18de56404006dcedb5104275c32780f813ecd326ada6d09f5acb4b33586df5b7bc9a95a4d7e912e52a488455116ccd137189e3ff38f3b66132b9d9e3098038439280b41939b76c7e5626cc4d92c1b8e882ea4a58deb05182d3677ca637a09c64bce577b2dd932f2c6dc82f0e4fb20ec8aa915c4396d99748897864df6f007468f2579d5edb2fa172e277d1ac840f57ce9bcd524cc7e878ed7b0cdfad79cf0bc33b1f7d3d559e8f20ab9e5a91914b306a421d5e4f573fb0bef8e18ca376de996d43ff54967eb434b53c038168fc87ebe119e23a636cea8b0d58ead85190682cce8ef7ce6eac1c5d94cad34ea2afebe41c531bd8a56a01ecde35419e9c8ec4be73110e8f1b4ecf8935716960ac5b03d16ebb2c758d9c1df07e05f75860b1546a160ea414a032fbe8c2b913e1e6e58c3039a154049389dfee17eda58c6825110cbde66332110eff5dd6af2208f38d443ad13cd526c6c5c0291e08f529107e0847eeff4ddf14b46b5a878080208c7b146feeee6d5dab30e7e14c27d20cdf12f81865f8e8ab83c7436b2dbe14aadd2d0928678c93f5b3abe0f73e0ae7b3e908f66fe881dd241e8771fd3d1e27f20ad44cb3e985362b8aedc638925599c6d4d91d9db6f13faf15f8b6b85fb87efbdb6a184b52043ba01d6482b4880a6074366a5d9757711e13635063b3ec8c90097d8981b9c75176f37d96e997815a0de788cedd3a811bd02d4f6a6a68f977a50e1976bf9e8d839aeb5ee81b240d138f35d8a896e5bdf48d981e41a9025b9761edffeded3044b4c483095940edd61e2f99da06018570ebb4efa024bd6d63964fea048d1101f584b8d1785993a4783290de46c6d34b00e484276b5957450d01bfe610af3b41c40ca3fa5798d05135be987974462ddd770acbab59c9a963dfb0a8c620842fa9dfe241390e7a400f6370b63850dd68cfed3934c3ac0dc1283c20d9be5e05d0da4b72e1b34a059e3bbf6fbc016c1e19adfb05087edc3781a43fd110ea38e613fd800e993f3c3bb13d5f65285b21c722c7f82b1abc7fb68a037844079d511489fb72165014b54c6a32952bca32d0936612ee354e495fbb3f533b7c68e16ba19025683c9a9f4ac9efada2e4f0ff7828f22a0f8bb8f75c559bc4b623b983164c7656d6c82bc71bcaeeb2b172b26ca006c17115f22ffa143a855187b70fd2a73436cb39d6a35ecac3e7a1956acf95b8287d12990468376d09a970381d407c4661d62dbd6f73d754f82f740597f852fbc19c6b5f5be896dcf6fd15b663fb1cd2f366f67fdbd21de9630d92cc65b9c098adca40bd8fa4b08fb73a0eecea4884b9a2668d8b768eff81c3f52b5f7b0751d78304f8a77d55899d687250813d51f3cdbc583519725a36c2bea1ed23c7c92b83c6132826c128692e41f91e9fafbbdcbd4333981b893af5d726ace7fc5d7a92063e24ab4947bbdd61bb6fc135c44e18edf9056cdbdbbe6ef264fb84be4c5a8b25809a60cb33fd8b06e8df90f0ee7096b69561acb6bae412ea484d6dac948d0942375dcd035268d9a1abb0de7144165b504f8e170c11cedceec8677e9477295e12c47963b16477fc1d189d07e72193c38e1dedb98902cb53361f404c1e815591323c2a8dbda7776d1280cc00f29da339a69fd0a7810ea17be78cb32ee6f0b70b120995c534767d19f807b47514389f1cdadd8c29a8c451e0d824ad2cd579440b17bbd2cf53fb613af2e6ed6ab6ca77cd7cebdbe53e187feb7f4a8a13249730baf92f26a31b1cce897583af1ee50a2bf8b91a22dad0821ae829cb7b3b7887ad5a905d0f3fba4b68fea766358eedc8c347a155e595381696448bb98753cc18403e9ac193ece2acf2f8dcf87c1aaa6f4e56aaf2614217f9459dc8b55f45ab3c8f9254184279445f1950764f3219622d1c2c216016ab21fe9437baef76eaf31952ccd4b327ddf01288350b369f600ceb31d2e76dd671792f41bf4f6144dc2a65b82b576225d550c0b3783eb094d29aa9a0667de93503b4014735e5917c190e3c5409982d61cf0de3abd66dfde6c05d55b80a6261848722500fb15583e77854098d71dac718119e8a9ec41a94e33787254eed640f6d019ca7a95e0fbc30aba21343f335afca9e74741b709dc203219bb7d60ba32ae0c3e1a489c4c6febba91b49078410bc42afb304ecc6028d078519de2b419e5b1e9e6b1fd09f75ce846ae989ff1321f269a7f0e74233405364ee41bb44e0cb2f6d077523488b66ab80f619b56216048ec8dddab8d3edb3245f601d584dbf560eda0ef8b5240993403af0a7827a55be7befd7a128b344f46fda90219a0fbef03e8ecb1ae15ea983ff3af95a102f296ba9352134572d2caa4d701e6dfb8ed9d2f4d69ef0a5c10b422857a2cd39b7f2721ad24d515b4a344127a23d835b487815b2932c623b8846e27a5dbf9ab55dc0a7f36c2525a68304752802a525d3a03aceda40e1b5be6a34760c02070e02c82a01d2c67e2244aa5883850f94bd3c0080b0c8907c30b15d7be3095ebf7e65c751fca56b3139a0811a69d54bc7609ceb5ebd78a444924c21784b529524198220680b821c49eee62d09cbb37249d8c683b6112a992a4d62fe23fc00101f6f393600bc9582138907ef15d411f93b9830cdaf23e8e8315c7db02a82208f464abaebd80d90b6c33ef0536c9bde7cdb8ae09fe704a7d4823f12f058f1407a2a0b26914963661918ad2cd2cb5d064562819dfa75e49d4bc9a5773992d5d2110cfb55581eecd1bf5ed0ff2a7a763d0010b4b644afdadbfc7fda5f6b10f1d3ca317ed4f40739eba3b3a8a117bf6bf0cc63f2747b8f1c5fb23201e9a3bfbb9b3924930506f4597d2f982a91dfc8e6d563f39c77cb4b79b1f2005403d20f8b8c88804ea43e497850a29405768529876d929bba72c584446082111d85c965534a568315c03d67c05b0cb9793a2bd1bee4b37ee6db5abd973bf107a8c9c9606aaec89bd29a7144157471274229e49f9d293a063d9d2567f8b0da392832cdffb901e44df7f421bbdde035ba11b5fe18b3cd957f6faa8945afa9c5dd72db15b388030dfa1c651349b9ca30e3f1820026c368cc996729952e4c7bfd23c763ce999b18aa833029b5ce991e11c76a201c3fe2862ce6e935cc6e7ea8fd5cf268ba787128fe522b025cb38048c6f94cc5ffa2345ee9b0dbb603a9490abfb3a07fb98701b9b7313d384a7801c949266fd7ac2bd43128d1e4caaaea7fc6056680af8995a742d4d047bac6d28495fabdad1f3ea868e3b7be97bd4eb88b448ecb1671a08d1bb9b315b2fcb4b439fb057f2398349a32f556ebb318e097b1a3e64092e893232ba0dccdb894039a0e29acffa217c166a8ab33a618bd3c3299168efab40ec1b84a1604dd1aeca5a610ee5c69828ba9e4c4166bcd3b028adb2b8f8a044bd20fbea9f6aab6de1931f48816b0bc0a10f3151d60a67da3c32a85ee809030aaeb89ceadf1cc592e394de08df48928c71615a1f1f0828f50047310529810e341585834e1ee4f5483c93a071529e5dea6586dd2aa64f7c60d88c0cc74ba40206d5f77a49ca4d6f018291b1d79aff34c4451b253904c74e101e4e3401b1788380fd9eaacf40bbcce65eac4d32af80c10e17e8bf92f5c3dfeda22dd739cddaf14e82c5c879322946ada6111aaa866b95594f77dc7c540f0c23517b51b64fe40c1b6e763488d5c967faca649e4f15f447be8c89fc986c8a93080ded8fed066984f6dd0c832e4aab455203f3be2858c4913a0ae9f0fd6e4414d820304426a1e062741339906801e3e73713caf8e4f3fea37291b82f97210db1d4644d77a968c43efd47b444c40f935d728a4965ee17751165b66580bf5c60acb4459d4190c458e8426b25f8e4364f73859a3810929ad7df553795dd5ed2064b3259b25000857dfd3cc42093b4f231d97ab79ed29e20a481f117d713a4413896ea1a65390fa2f1672f98f9d4fba1df1f650c9890e28604998e48dd2b47507bae43bec2a8aaa46d005547875262ddf9e6551e0ad1a31c38afd38d58070e2acd3cc3b783902b08121a24b00077a7d4217c69d49afa5e71000167ff8abab1c0eccc092f7f670bb39746e506c52aeb44479dc5ed04a90eaa66d1a18798cba3db132ec8f26cffcdb749e7424d0766d1d09c2be9c903d65e9530b2020a2ecc324e0d11f0a8ed5daded9c5a12b982e741cccc0071341244c7309e8cf7ae54ff3a17636a5062d525e4383c2a27b0ef8ee029257e91def88653dfade01489c006dc85cff4cebce07689d8fb3f54152ccddf1988a11bcf2b488bb69693a3e14bc7b2deaf9d1baa7f15b4a2c82f874dbe88b8a6112c8fb1c5de3d132ee4225b8d75bdfc6f52126f2788ebacd3ed3cf87cc647d3db1f366f3811d6e68db296b7398b53a18a05488263fc835132722675b2e31c80591e4ea1ef0b8605280d0cc9300a9fa67982b58c987c08ff75322e11358f22e83857263648e984d8c77aaa79743da29bb254aa5f7ba97c4fbcc264ff7023a51bc4930aa3b4627de345499927e106dab99966e18166fa44dd061048c8348512d9e78327978f2ba7d029bbf2b731eb97253e34dce6231c3a387d7545a72e76f11ef1b3473c491777674107f3d3b8b3846f75bbd4dccdf2b0852b2088917189ccb3ae94bff9c92368ad14f487d15d2c1fe884983c0dbb3fd85095f652b23003b54efaeaacecbd3d2875a48b66da69556eff164db33c29aa7c159c3e9030c0976da7dc2379bdb6b79470a6abc3861b7b3135d8121c90e04cce978ffadab5583ba7f546d1b5de580fc626934872ddbfc48020d314c4aeb93411cf50b36a14975ca20172ac0ffd812ad69fd2f8ee206d15a83449b18bbdcd6d83e0ce00ac5d85e95968af28019a2156db9e0ea84600bf8925477505b0df428c87997a514a81be407341badeeb7658fc25f272f5a7d8da5b74603ab7cacc10601cbd6e79b7da45b37ec9dd4f0d5efb6c89ccaf16a0715b040b3eccb05b2484b006cd6800b14345ebece1325db23d2f033f65427e92259da99f329446b584298d8abf628a912d17aeac423d5e38b129764a9d8a32faf70d97a60a350cf9f2e8840e14082f3e8c93a6cca2321b87faafa6aaaeccf3e2359994a572b0f2792c223f7b61241919bd158db20444f909501dba53c3ffc5cb3c9cdb3664318717eb4fb655fca3a2a60fb2db311e1cc823a1ddec4cd30070a17cbc737e47db5c81548add92bbd0f77582379d8a45df2784862a7d75e2798c4b971e194fb54824b47c210798a30b2fb64c6edf886f94ddc6287633cd06de50a4a45c6f1450c6486a6d1cf494feacd3330206fe80f4c43153df87758cc55552fe1d317894ffb4b090b869cbd84b9a93dc9999b4bfa1b2549d3896882fb45a5812e31582296c29af75e943e975f97fb0295d5b8a1bf2a71eaac6cefb7183d68cf5683d23bf6f166e39473143a1db82502c589820de4c975a72e4508f0dd6660526ac841339ba7997254b256e4211025e98139369fcfb9d308bbc7540119c5ae4638c9b87bd1a96b26b542fdc07f904688a47443b147ba68ef9da8e98fb2ebd493c90c0141478fde85bab877d2ec8bf1629269cfd0139907206962404057a7ee9330d45362cf8a654183661d55cffcae7ee28a1323bf3fb011d0a3d8c26f4fa0183057319592b2f84e680a2c5b9e3d4da3e03a59dd07ece90326c5644350aced8aa1f0051e9a4677a0464538fc257b9aa790765498109480e6577c3f569a65ffe0be5106bbcd299c0e0b271e5b7aa4401c57a6986a3caf70cc787112bc75b20ffc0f0f6f54ad27828febe7adca3fc7161945d7b6bc6180f7612123a1e83953829a836cfc067d02a9448643bd7bf46f0c1d97ec511b580503ce4275f1adfa82dd4372b362a28e4c734fec3f0be843a5efe61420d1b9b0383c650d048af1211e228aa9f1ed8bb936eed84d9f3da779cc91e435c37035f41bc6cfb4159bd14e20b36de2ece56e33d003f6830d83acb0f8fb951f6c73360ba391794edddd127560f91ee3c248c59020b23a4d5f785386ee4abce74fe06dbabd8aa9b36d2e932f4a9224838a296d3271f44c2005cb5e7e14e0c3d5dd5d9aaeeeb2cab8a8bb9a72b9bcb35ec25155541719ee9261cda2948dcdf191794d50179d1e222041d60ac8d67207b2977c6e48d8540deea2391b9055c1e48de4314e6fa1039372923b6eea364f2d514db969e5ee1601129b39e0e71ad983b82c3423653825438084dbe56f7c2c5daf8efdefe592d6feda43377680a7c4fd25d36548e16cee7b5ed556569d08326105172aeee23fb01000335dc90f76e5942f73955fcc4b18f18f34c2794d5dc7a95b8f14c46105e750c03fca6d3fb28ba216f0a8183b99bb4a6402549b56a9a0b5dc47dc09c08f0ef39086680fc7891386303fa5c44d8833a835e332e374ede31a82d6279b37b19c9f14b84e95884de05721a9643d7169103fc0100ec0396c01035e230585ae8090309b52a7208d594dbf8cb703d5d4498e6ddffc322306dd1d71cac2e344917609993b6b9ad3700956f2ce2b8e580d53554de398505d1ad4bb19ba7a3190b12d54b84e6913a0f26f29538c662db2008af5208f40b3a6ad45432fb8af8ba52db2af454ee68a614b74bac825e871ec1a22a924f71b449d965f49ec5f991696c0f4081e754cf71082a0ce476e1a60b2c7cb3a03eeaae9de78d18148eaff3c68da53691347215fb62c3e0d6b2b3cdba6a149dca1d74535b0f4e4606330044a27ecb5d7280854f1300e060c27113a7133fb5d63d4c01c04aab7930f727a173e08ed54e64e50eb342f2b45222a655350804b49ef266d27a8b9bc50d87f08123852306d64773e4cb0002f2b9a057498f509e85bb0c7d0c49c4a97559a7c6a5adb7cbdb72c2c2cb0a62c551af082b4e74d3be43ef174d5fe1463eb1c84c9daae0b942df4bd9210bab7fdd4271b4c2d85df947147a8b41dce68be76d1ec3be92f1f933abee7450b8d42116b3ad2ef7c7731d4e6a76bce17d02e0a97e123f26cd84114d127bc1ff25bb9b0337ac0150e554b1ca86f9d6ab514c4429402b04c6f56bd75aa5c153e42a7ba7ee06cebc01f169d698a3cfb4f433eb077e4faebbb1407ce01d4436879eb416e799a8f7cebf04454cb6af2843081e03a25d0f44989b7af0b86e9ac33f410e498b2d0e07708da77c83fb64e0ebd46273a907a8c65b18d4dc705d454928a4a18118bd200b2db8319fb4e1a66a231cb1a620ad9b80c909ebb2f5cccd841f9ceed024f1cfe2a8793fb51cf28cb21c0595658fd6efb54db244d4b8cb58dc5ec42e17a9ecfc6a5203f80edd97983f7ee7af09fe7990c52678ae696d63e58d3d1c01d62d392c43f165437c02c37ced99c452b2dcb95b921190bd1c0efe569492942d3c7e7b9254820f1018b1e9fa3889bbf0c3c3a1fea473c73c53dbe6bcc5053edbf37c27c03aa18c95328031c969a264cebe873cdc321fd879a77713237db3382874cfb0a4ee53fd1e2df960f886be9fcaaf687062056260efee30b4b2d0063b48f2d73c77d616f1c34d101dec04a4e32a68b75a107ca6e5fe5bf99599fe9bef2ffe12af064bd612973ac1750643dbe2924dbd91b4dbb65dcf069e774a3a71bec4eac4fa1a4da7bfd01b41619186065fe3aa034e177e3b622a901780e22e131b9301653f0a4405504e198722a855337c6d931e657603efd3b0dda688a2e5cd264367fe3aaddaee5702c84dead085049a4795ace3c2c10265a2eb5fdd58b99302e21e5b28e086dedbb9a54cb816da3073dc5081ee51a4cea255b7a11f8c932b401d5650a0f71666e7da0a14a956cc87b5967b4bbea5b8b43d8eb91c1a4c4311085985c1a4d7517a4837a40c9cafe21e0b69162561cf32f6665b2d249e656cfb998e2001ba3f00ea789688736a7e7abc069af41f6076f3cd427c324fd9d8a82534c6ce6bd1e4158de7586d1c926b8cd09847793ac0370e18d6294d7cc31bd4061c4a119221b2e15647b44025eddd76504b59f754015e8a5690b43c7d4938114fc1cee6f3bd68e3692972cc4c61663454715f0e0c42d42af1b8f90f1a921be20b4ba854ad024c6902f65f498950ba0c06d3fe91c70049cfaeb7add5af678e393a5ad4dcbc79c2e983606c153b33ef3e5ce1698622c88591ac5f098a5115723dbb31ec211c47306ec170ee6e235e0c25993388f05e416733f4dbc7092e45b47c19a99172a7e25b0af2acc54d5acec8d19331347db28fcc981279195041e12b8629da93348be165d1256a05bf00a8df2e6ca5de61ab05f9336d628890ae069d5bc49deb4543b582b738cba4461eca5906eda27d6036e69f98627e06cb842e9ab23e7339cb12a751c63e746fbbab072a9b58a10997c34aaa8c354565c5de5bcaa0a14a72c7cc7fbf5a520af5b87e80a620b8352543e350748a630347f722057777fdc740e75c49acf10af601efcfa56b6159946f3a16569f710dc9f817fc50aedbe149ddc813decc6b16c2db69dd7a5f739d7632ef940bd922cd1a38726336dde94a59a1db59c28997c53875a4b54aa178dd9b80a2265f235501354d005d139b887ffc1a60a0eee032d39dd6a01bdddadc9702e772cfe1f3f32e5ccc1892220ee7b1dddc36c74dcff14fb2ff288508fd442867453c11a8fd6feb0474f3c9118c294ae969d47b3dcc5d384b7c743b02898ee0f0cc184c34f405c86074e106090550506caea9c79ccba9f24e2c3b0da2ff975f85c8c5ef1f745137f865a503fecca3773d84d6b83de42a374823abc9d6ded3d35687c9e02eb29c9ab6cc22d975d51cb91111456603a1fd54038c78af2fbd9fdb2e5f206b6c6c9f91b20f7082b0e2f084dc309e698cc9690b7364db71e7c3a6c033ceab6135395e0867370b9fc9cba3dffe53ca25a34ff9bbde6c2ff8e28f3e958fab2a5332d3a65e446756f0c00a042f3902e15be9c59c4bcbe3bdeea2bb7ecd39f99d684a6f39f4aff56501188768def9c5bea86e811df0276f1fcf6a6d73bd0ed4bd0757bdcdf6c4b2eabf16292c34a4359f983c21705f5117f46bd6832e9a75f4e7d96b4d94bbd32138bbc6c2d5c793f3960ec225334153587a1aabdf07d627da5894a7186cfe6f72622cb5396de49d5fbb4c0ea925a62c92a01470a10e19b4e36a2ff70cbcffc44162e172cad77617460edbfffd1983581990836ee1a777b4bc481982bf02e37605ad4135bf130b9122aa3c481b7c11f82334fcaf08afa0825477345e3ce2facd06df6d4e9f0aacaf5c4741ad3e29a1c65a6e3eafe0925991a574a6b51569ba6dd5c4e77409fd34f80651e504e11e7485b4ab8e3d2341b1b097af9f504903d40ed38a0c77c78ca00fc451e17fe83cad1e20a79438853cd56be73204fb3713c8e53845f1518510b66c34554116eb12e146f524a8a67de0a6c83535f4d091581a04ae9859ef57c3422a75ab7491df94582bab74b5e25c03eb4b3c38f1ab716a110a1378b247c4f65a08c004c26d4c0551366b2fc02bbed91c59b4f8839be85cb2c92862bb2b8b66afc2ea39bd093b6c38fd3726ef7cbee2219f296e2ec3997cc16e15df734068cc2a7eb0f8e8689501fa0004eceae6b2f9c5a0cd35e4d93803dc1af9db8ec429d86fb17ae8c82871a834f216be72a800b132795128ff7d4d401e374a124bde3e9227a7076d9c1e4fe866dba1d174be132ac83209412d876035e6c0a6808fe0abf02137fd45c9ba8e16e85e8b1de1033db8dbdd8c7eb7fe451cfb9713f019ffccf73400e946842b1e0bdd89c9b281fafd3a27b23b4c93e60423b3413ad6bbf5f064592d8f201ea2021720f060ad67b39abd24bf4d1c3274e2586b8e9f435f42b1950c8410ac8a26c54a8c9cbd7251513ff8157af23d4628aa76a3bf9e675c44cba02348b4ddc6adf6e415467e15478dd5f85463432f6deeffac2cefd4bbf1ad4dfc27193668856b78554e2f3e31035d39be2e68bc602c23814462985f554bf7f8c894ecf5abc2c2a6e85f4168b282bd2c87e6a3b14dbeb090b98927ddec5c1fa16f65887c95bac8059e211ba05b9b7641c40813f9108c20dfb47c8fdee927aa224a81bfb1bf05e0acf3c85d04f8755af76231bdeac939ebe7e3909b99223797ec3833e432f1df4620d38390a19333b37e6732314a5d3b84bc01ee51148a78cf4878d7ae616570ed02cc9a4a35e64f4937cfba8a633837336e1bc5d3d028cb304861c1e4f29a13a88462e15a6ff817765403ce7816827059664c146110284a280d858b80cf18b3b883e1598b5de5fb817b98210e0959beae0fb5d1da67dfe0fc5adbd46d8029fd263cbc827904598aa10512ffde424cc63b68d177fc9593f1ed3aead1f7fa7e5110148cd5ed7f94a4cfc6ae102ab0862de6cebfda44c1be6e76e403d2c6708548a26a357a780b0c452427601fd31c7a8ddc45265d2a63e8b632e95fadf07213810926b357232c59b1e1b1c2096e8328c7ef1e3b07d04de0de0c313d48670d6a24b8cefcaf691c390ca105f92ed313662140b45f947b264f658335ef7d32977dc552345380938da1b3493c361cbe09c79fa1331bfebeba77ecb03ec0dac1df12e8738062dc6e8de921369f26adcb640297143b60ff20146faa9e3b656c50bce05a1b797bc0c9091f711b494eed033afde7431a4208e48d66d828297aa830b445895cf72725e018306e96206c4e1cd5738f230be3474e52316639f7355b736a7dc139c2f0e1a29338c0b14ee7f7becb390b880eb0058a79f232e3b24cc0c7dad14f32221d127b843b4c5c784447ea40260847d0ce1555a2b3de158a48437210042057fff961f02b401491dc163a92991029d1f5be9e26cb5f2c542eae4481207c3ddd9e208e97f55bc6eb6c11f0d1b3d887fcf0ea789475394b890c9b2f0ab133c5050d10f88a20c59d8ac72d4ecc688321b18ecc9363f14207365ecf9c7b6ac2395859eb8f1da86033629d747697b9125ecd596962863b7ed263bb2f81a656bd01aa09fb34fff8271e89809aafe413a1a9545946017fd9e14381918a2ea617b057e68a73971860fc53214ffbb50a979542f81991154769c2800b727374a1b7340f596f083e3d902088eabd4b48944336d0ef6225b9f99bcdbb0f56284380a492416db327e8fcb0c9fc096ae0eac4e070ae992a0cf5557865e382571ebae470a45df72d9297a5d4c6a5a682e1ba7bbc8ceaed9e4f7475de0a1dbdf0f732296a71771171ed91792c8d8345235465a9773aec4c2eaf00db9919deecd16982cb430227209cc9e33cf3b9cbde0c8fcdf76bdd19cdba0bdd3c7dbdde75fedac38675fc8cba60c4eb7bcf336e275c16c738e0e63f7d944325a83b26f8eb3a1b0c4ea8867168542a779e2cdb524e2fa21bf7f14a7a888de797e95ce3ffe16b3d268ce25a86a48fea6454e19d98a5869349bde785f290e8fabc931a961ba8e00ee793f538776e00420f6b3d0fc8a04d91dd2e4d1e1ce291816cadd3c2677e6e253909d42cc8b5420cb8e539fac5015c05652da088b47034ea947c318f9ce3ee9e0b3553141af66824b6e1ad3126d5062a396986a40f6c3bf83e9c3a25b47d8f32d00bc8410f79cb4ca66de0814e0ca6eb6a31bfa02dbee51ed7418fb7cdbbd782c3242e9717b3218013a875c969064870224db887c50145041564b61db00841db1c89baef27b10ceb64ad7055c011679441f15e93ff748a08245c3c0863e68d5ec7bde48b408f1d0bbbee9d9119f7181f612e5c898dfabc9ba24683aaacb10d24e1f3ac79f3f84c01dcb6d72211c205a1b720ca3ec91b2077b298d18774d960ae5969aa2508e5fe696382250865ef83a12797a6074842bc5706ad48c7c9d841e427629ae09b1c7e5a4f02c821f2709311225b5d0897703b4572762e754104a65bd6cb607d018f4cbb9a26abb28d094f172d5712e76206fa2c42241da1b2c23222ec8fa858d2e49e18b9d561821d0e9b5e82e8e2ee230196496094030de0bb6f8d04a07c788cd32a1a1ba059b87133cd7cbfc0558d9f63fb9640eb0cb8035d560b972385a3b95adeedfbb12aa55b46d87fa74c4170a4cc471f5536451712dbcf6af8b65788f2995199f6789438b7f933ba80d786d8f2db6fb51c610d27816340c088280ff8d3aaa2db766611935773d053960c7701b6773ed06f8c178acfe1b3cf754a83ff96dc10a32035387b8c55d3d12bfad98d22612642a2af95a8da0f22aef2988cd5ee4dc1c616e32a0f50b36c9b4ef98a99cd38e5e1b6907cffca865cb547bf10dd1addc9b17f7ef4443fc3434d5a0cd86584a5e350337f744bd64219330158214df5a85e78e33accd244a7df917b20ccbaeb88876364dc037669a7238ea8ce0ee2082b51bf684c81b86ec47de2a9c0f6901c2f79ee8e2aadf1d67c8cb79e3498345338049900e202ee27fa3ac6ffd2c5bbdf70f1b266b60e27b045a02a4344d34366708d08aaf8dc8e077cb2b7509cbc6c5225f158980338fd45fb4052f70aeb9d8882e00d0ef0ab50c4fb506396e85693515d1f05fe4acf71139738dc89f5a710b7cbe693391532d27f1476764475301e552dde1b16c6421b8cc8fc9599cafbccfb9accb2a2c1212daa48eb6124c21a4983e4cfc48d5c2a29ec2a6910e31c362e447185f7ebd5abe00731328b467dc00aab19a630fe8ca7ae42f01d1577ab10ab5c459a7023a60130c1a532ecb2c0b2a23514da66e56182fdec1683f2f845b6db238f17b629de3df488b850ace8168ec0f6ef4558d27c32e55e254db546d8c8a8cc42213a782bae570e7448190d1454eda63a941cb632c99ea84020b5f6ee83b03dcabba5d9f31e4e8c1ac9b591c643ca2c79c5693615e908b2b10d70a4e72c59e42e9d2fd6a8eca5acc931874bc124e6c4633129da852b26b22e30655cdd2a38220212294912a854f22b54e6ae9323cb819702fae814238752cf11eb8027c0edb414dca7e659ab34d5561bf73f3e07073bc89f74362ec1a041a788aa406cc38f7e81f5b401bd5ba0c03285019a4d3b40ab240427637e5a3774e2c1548b8da2fc107479214952b07012d49d30dd502c7ccc43f04271389eaabd054bf4849226dc47c1c7f943534a700061316c0fca733e670cac56253116a18e826abc5339ddb7c3b05108fdaea5f8615f7f9fa4f59e0ef1d37485a8105cddaccf07aa2df9f38f1e5b11d6e6e301c938ba935ed91f6ad894c15413989f6d93d4b8d87692978de5d2cb299ccb5de1a30e45c909e641d36afcb1914c6293bc537780837a89d598bc44702d7da265d1edd5fc9d141164fd803ca245e4116e0d268c9e27a20ca5a894c50cd07e54b1f5c1d5fd0d4ddc701b46d0492b735dd565be6612af2374e593b71fdcd061d9c9671a93d68a37cca77427df086bb669c9ad896702d83775acef057a918af5d8847d094e586d7348044249bbb81a34243ef12304b3aba0340c97eb37f462edd036c63cb04c207350cc51f5bf0f42077fe32d0badf95763cada0df1a4ce7eeaf1ff15dce931553a5372a1fe1b18f08dd21b239dda69589eedeca42c8bb438e5d18a88150c871776b2bc128ec418ff5e2ac4d7502a8663b61751beb929a2d825f648850e1d1444f443693ecb139df8be3cc232965c7024918fe9ace385ea682e1ec8bde17e7582d73e999914d6a92885722b2f3f8f636bf8120242c90273256667d7a500360d8bf00b5b19715a76c8211db469563062e68de1f81dc4e69126c71922e27b15132fad7a53672476eeeb5a6673148c58c08ccff6c37160465f8f1e2293899b81b3a503104f7a7d0486924750675ab881182d55f1d618ee3336f8e781bb5b75ff238ddfc8d27403dd21d1e3a7c36257bc2b2bc933945ffa022d7618090a63c18f6e6d64a5dbe52e32f5f285e280699e2ebeebfc5e2056256b9dd377d9b111765ef39184b8b61447aef6b64d88fd44c935ce4ea687aecd5d073d369f47acb249c8017c26f225590dd716e90492e8bbd046d4238766f49d1840f1efad74bb0f7115d5957c7ecab6007c2b87f4433aa9548238249b9f40479da31731c6730a098c55e48c30d6b26f9cb86b8fc03966aa91a3a9c4dbda6ba6427beb1d1bf54794d56cea9b2a459b14c04ea2b5ce7cec3854a5250a759d8ef52baaa41344716e33d20d700897010806aba0862b22ba8810fa3cbdfc76320a008268205556cdfd9112be3198c14468da47af1303fcbc5a5ca9c43936a9590458c72f0788c5ce7805e3e289ac969bb25551ec92474e98c40214f3479001331d052c809df725d910022063d8454d1cc2bcd1154a10cd934d234863675380eccb4ab6faef2379ff9855391c494058f82f6b457b4ed1c8d091b88a291809ef19a06a6289beec5897721b51cb22185f55fce8f5237ec048cdd19632647d91fa6c60188c4a1d95a72ed961b16b0b472adc5c90d99bd6f56616e006aa284a5553e358000f4e1dfb296babe8aecbb92c01cf580ce8a7399bacd4623ee4b1fda831fb9c61f3002305af2b112580343d62c32182744d82e451eec76ace74b031877003531b9c734e51dcd45ffac7012a677c68397c56ef3f967213536ce782b1902ce5a086878aabea01e1222f3b1ed0427487b77af3487e53b4cca146018de2d3065735702946a6db4101f43769031ae26cacea1f19f9af610bf65919eb11d124103f419e74d19503b93428216bf8f11645143f39816806ff81d564e76c55662064438377384a6b6c5b9ab66b1795b52e8b951a0fac8217dc44e8f93d69c6babeb208ab65f9dea772277a3c700079b505349ef1829d68b96393621481f05f8466b8c677c4d2e08f0c510e65c1665f44ee486d1a3c938ad6b12395ec0b4bb86095f9ba2ce6ca11e53257151651ae379ba67eb6afdfbbe88376b7908e7e533a4ce40c5f92bf5dddcb0398ded5daaa72adbddfec40acaea6e355fc4e6bae4945b899a4ef7e4895ee40c478e97158e8b05b530031e734f9ef0a6922192b2d7ccce5825b4c8657c30c4e8b97049e32d0ef88256ffe3819be9c2d50793cd543b67a02dca5872081857203b480bcba6404ef3385c482447538cdc5245d89e0e52004b18d46eb6993f6403f7de121f365473804e229f8679e0eea2854bb9f0c6995652aa226b26a9709bdeebb3030a20607502f449da9480087cf5287805983832e6b4a99e9ff12e0cd8b68501e68fb78cf5d3b461145c9beb71324d231661a2018547c63bebb5fb62c6d3fd056891b53c664cbdb4dce2037ec43bddfcb21024606840305095d5a393b3f6699e4a9ce64e07dcd1ba7eab3272ed0ee5a44e3a311f5c36a368c599101d66a63287019c3ada07cd31c6d0055a0bf3d9f0b60e17038b9561a26602eed32c0359493d3c19208a0e7a0bb10863397b094f52d0f42ffdc09da46a05d3271328aab50e1c010fff4de112695ead24255c5f5c3d324cf72dd13f01805984c551890d2e82513cd99d93bbc2fed4b80911d04b38efa2435b67f9f248589abdcc744fcac6a85270e3e44f2f65aa5526ceae17376ac18c9be5c12ae79be5ed845f2d40d5c70e53170c1d5e43cf5df9b825efbde925d912244b5643d223908a5748193a0db5ea75086efab4389aa8f32e5b9193046f48f5c44dd22b99983ce33807f5093c1de0641ee96dd4f6f1021f503843c7830244b4cc14f156ba37148bbb8090a3ed868e3ad8d1ff67b8be90ef4fd630f89043d5200783a460fe447705172f37e0928da4eb1cadc717b73dbb5acaa432fe4a2e3a4d55d0ad41f43d2d1280c2d002a509c780e230e59fa76f3d401ac15ee8f8d30cb74485899afed46bfdb1488bb2661cd658490d4c97268cdc4093473b8232e8b2e502f73afa54a4e18cd326aeb8b591f811e7e92b196f972f41520893a8246c5a47eb53827b6e6d8d8d64112569010bd1f95c9904a7fa4514147f3e3a0ec9ed790035f16b04e9f59f4c45e10e5b24a0b58d458cf6f0893dd6d1026a7962e8e22814b9143a5397148854ad282aa74669e3a64175d4cafbf8f9e54da8110ccc18a58f22724f4783595a758e1e87be13a69afcba0b0dcc053e78749526569faae509c7419c99a1b62481fbd7ac85541746f499a746fff80647728b585ba3a2e66a84efc81364d6cca64b9b5fde3a5b7d3a8b3ce2e8e9dce950640117cc8feb7abe70ecc855dfbf033e429f2075a2bea4b335ac21163d048e3ccfeb158828a5bb4b63e8aee104e3e3763b50ba12e44e809279816fcaf337b07e20fe507876f18bfa7838206811ebc0e3f6a1cd250d981f57990ec327070b8d1d931b732a4d3ebcdb941808c98493b26e2646bf382a7f3c2183bb5788a1ad0fe643f985c0b5b505c44b461503472f1899956223be4068ff82cc717d4230d41361a7b73b227d0270996b17a08966f9dec448f4a21fed05a4834275449f8cb6475403a502126e1c34397608c189628fa1f2a09ea4fc296a2bfbca8800814f3c94bcc36eaaee93074a8456dc89642588238dd7650db237479aa43321046b958b1666d60eae0b16267342882483e22199c88c08e99480d5140f20160aa48e930962ac03322a9126cedc79b3bd4f86c6ad676b065d225f92b2601ca4e58323919e578fb1b9a1cd8dc98f8d93f50ce5e9295b30d34a2c03e4e1e3efe12bfe4b34a3822025e5672f21fb83910ea630e10af370704eda7831d562b5cb85f1ed724cb6df54c6f6402968aec77460f70f17e513d11db0bce22222553333108889048c22ce63481c379ca91b91eaf90d4b6875203e167c3f61816b5b6a7a0287046d2568d8ba941ecaf5f1215f8e40303a34cb2695b941c6e0198cfb4ad7e8db5ac1ee17aa05d441853321d94274b1aa7b28100d6bcdb5345f08a98fd02c4e9b18a97392f79baf09767f7b386caf764693fc1a0c7ab554e45d590f0194d8d80dbd55dc9b7dc6aca931518d793a245baf44919e8a1831e7039caa99d64c1d2bd776b989ccd2573cd3e91c6596160fcf2442a2e465dafd8b0cec48f4f9d530f6f514a309dbcc15d3f41f62ee2716354ff58cbeb4704d08ab5fa66742bab17515d4bbc84042e90542450584ab40c5812aa8e7c8cd740e8ac07b0bd5d2f4f05df5a7b0961020048d38239d8953b80686b871c6edcc500557f156c8cbe702cb7dd842b828275bb9153c49014f066d5e1ea8dce528d8d68d75f53adacb5129ce59200438ca35703851c903437e49de31cd74be7968accd4d8fad981cd31c9e833f47b889102a5381d78c5929df985f8fe5d98597d9702205f4ceca34453e5e34d74458b0f1bcf86d0445fc545aabbcf58675b332f2e6313a75d16adfc241e23fa3d451ac459cd35a27cc444244c5c80403b2d4f1c9a482655dce46bb60d28846f030651a66b72c24a6dbadd1d16e2f54b4e57ac827aed7d790c7fca3c54d11dd5a87762b048f83923ff17b0c40eea1eef9ec1bfff10cfc70be7d02142ad3f2b040ebfed32a889d1a0512dd52376ec514df454abe5a4ab78c0b0086777b786d288b1c95ef529b5012f2163339b78421924507266e24e25a26521f541277896814e2236970d1cd7880aa83a9b6c95c051a48482e735bd98b4eb2fd81030089fdd817c97583b4acf6c4a3583fa4755f82bb33b035ec51c1bc2a1cec156364eb651ff0713f8339f26a622b4afe441942fdea804148d812c74002eff0e08cc4de0ce931c396c44669bd7ab1f43721e3aba649339cb43294ad4351e243df08705b75d6e15e33efb8c23c1a27508a72a2b4674954f2d26a2f83e579c176f518cc01d171dea76850de5b63aced76effbb18c862e7aa9300c21e3da7400d2b7b2e7fc6e2cb3d31b3b279dde7703252d1b9a4786d224c4f8a53f22e3e3d0c68fa2878b1f7c047258345dc0da1de781185b2460a53e22a9e0e852908025ca9afed795e3ede708ebf9a64b0a0d1d4e0f301b8dfd03a64025438e41c90970dd3b2e232e8c9c3a4b047fc44bb10c95b8be8359a7f13a7808ad4a5015e33ed29b0d7b74459e502f634d871b3cf92eff5e9385806a4662c130d218c64306a19544a35b93b5d9d06fb410ed7887eba578035de38e4b0a8f65209fc570fca2655decee6608c0ca609f0d5155b08f1299b191c922fe87838fbbb3c8cc51119a88c13e53cd54e99d14f5a913ef60ee27aa602bb8a295607cb292b300cdbee6d88ffae2d984804fdd1a69bd3987f557b57f5578110b8bc90256ab21716105bcba9d10c22e493e304ef0ca10316e0738bb6f0120b4ebaf0a4165a6a8149169e84854b5a38e98593b270097781be31b151f55d1cc01d31d92b1252567f73d18cc4d114b2464c2dcc2014734d510ee642dc146e3bfe9be90757036e6cf2dcf24ec282a52d30e982935a78a985265d60120b2f61e124174edac2a5dcc2dd08466f5eb7ef3c700edc6cc368d25ce639b4c29bb2c081031bad6af923b42016bc1df3203ebba07413e976e73f09fc2d0ab7e90ab423eef9d83a8b93e5545c62b1bef9f9169688749250d474738e848b15d98d4252d4115e1149ec6718a7f54de2ee5fceef52a398afa36b3dbb4d0ea2feea8180c2b1148abc54ff148a47354af1dcad1c47cdf4a53c1c8afa6af501728efba3c22c0f479b15d486b51075daa43cdeba7415f6fef22bcf76a923acb7c3ad3edb2597529d1e799025b539ae2eed5052a665bd2297deabd28726e9030abd3db92c5429cebaa6ee16f6d32a1c5d339e84e95777936ce09879f2f6e281273f8e6ec90d98e6f07d933a6dba5e7929d65291289af946f6d91cb1aecfc5152cc16a21796493d1cc3ee2b5d363743240973300c14964ed12c9eb6811a703d68eb2d8df2356a7605ea281624a3d373ea4ac8ac198095204a2a6698f8887f16f71714ed226e5d4d13e5539517091c286c02439e92e205240247ca0644c0f907f701ebcf19b07fb1464f6cbb018e5e4751e02e255f9365fde9507d9b99c71f320ddbfcccc8f8fd6826f45052b984e824e37eaaa32674f61794765ae1b58596fae5749aea145108574c46ad35dba9a7c869251435fcf2d4493a631520299530365cfe87ca5821009c989f5ac04d2a447126c647a6aaac66a68212d63ae190f21aae770319e132605d1f0a55b8d8bfc7cc51ecc9cca10e8dc82c9f26c91f530d98583a58aadce7941232955085835b41980dc6de00e46e622f9ca36035869dc40db4962508f37eec0d95e7e5974cd60a01123373513df8967cd21f09b3a332347bdab1939626d3c07bae566b86b41205b46426f0dc515f50555466c324231bc38894eb854677fa098761592e54414b57f7dc297e3702714b4d0038af9ae9c59200cbb9a0e0d837c334c13e84c394e988a6521406d0334f4af3a0ac37f0424310cdf694ae59bab56adf3705df1de8d73f12ef04d38d8ddffa9f4afc928db725ab525cf6fe564acfbd2ffa67519435adb7bef2df796522699028f09b4097909aa19538db6f45afde9b433331cac69ea428a989b2e624033938081bb305e3a1e61bcec687dc003d6912347102c1c404aa11560421c62c7583733df000011210d4c18bba181b1c1405340116789ea57bfca1e35833c474d51d7fc106ac0a5df28f5b820a5522ffc716aad3016d21a99c376c4a6d4539e4fa544a1264b9e3bf2ec5a0b58f2a44979cea75358b2ca8522b26a74caf32b9195e5f936c9ce9f9f9aa859ac4321d90cf231832aa2da35ff368edc64a2a4641fa33cca0245f97c76a0a89b52fa4dbbbdbd4b162b4f56bbe677ff0ca982fd4b9f213f4ece176a02f7973ee40870d78a9a723fb5f2f5e728ec2fa404d8479c09cc7ce793f8492cbaa7bbfbebd83d9734c292ba7d6d4e6c892f923d5d3bb6d9fe3573f429a91eeea3c46cf75f5cf6fc5057e38b9b36d7ddfdf53ad9dee44e0eb559f1032c70799b8b22cc5ac5fabffb813ce59bdc30f88b529f35188afabd6906a8ec549b8294eb2804840cc6adefeec7fdadfe2fdd69b8d5ff54a6f294327d1fa539c292f97de14495d0fb4b68ec725332e58832fdb2cb9c8c83b2ab71e364311b70c96d49177ff566f7d846668ba2611b94ab7bb6a48da981b89148ef2c519a419bd3e4813aa26119f417deaa8aab5c3ed48d1bb9dc92b6a44c6377fced8b5c7e769a41e4073be0fab48f93dd8cc11c1157dfbe11248c739da440c8609c7b8b35b464673949d3e06f825dd2dc5bd20cc2b9df1ba8b38c23e28ae87347f46be89c8cbae8ff73b2723bca1fa55f6489b34599529595f50efd3b8543a281b6217a67066d499387fe16453e81cb277059691b7f8806c2604b9a413a93470d5c723223b26c0615711b98b091239a3072bae84f1efa57c8142ee9676ac79693f4691d7384a4e1298150d022f0ba83b8f5644f6c861c56345dc1421832886883c71148e8a044151894b0c1611da343540a25726a0db566b3d6ac35fb3c24330afb16536b1663a2e539bf6b7523942ffc283150ec469c251da8fa284e4e5051532ad193be75068ec98081e48e7562c79674ff851f25e689384b3c1cd58344d840328591bbd0f8cb031a68c848a6a802158a81cb564b1482062e5b2deacad39f1ee94c021b98290a29b9c3235b120f68a0213b1a7f1aa568bd163061c24881e24a0e6aa480430e65749842441248b1f9b1227c29ace584e5afd92fce3ef6971356de3ee70053b89fd068ca652bb7ea56372b824828f7f4e64d04b31569cfe956055ab1f4191dca4e58d95bb4e8ba6a05199a64a0cd0f29cfee5aeb1543a3623fa51e096c344d862a321835174b5ccc729789618cdce32805ab53d0ccb902ee9a1432e5249249a9586638aab1d9b5198a6a8b258b0436b0fdf0c8d3b7dcd7ff3a11cc9c88f357c32346c22376daeab3adca3b304ffb3e76efdc3f400ddbeb794f454e8c931e1db9266f046338e01c85e90b2901a6638c0afe84a4c11dd238a78699b034a505208c50430c958645c1410b1053a83803431921884d2863184c85ca2845996a809625408b3204a8589b32cb25479b447928ec624e59b212c40743fea1833ea2c9337594c0654b11cd204f6af2d48f7e293f22a24fca57f4cdff8ed6e4f95cd354adf2c93c292e604e7bcaf33931fea29ed40ce296689ef993094f2acfff2648a78c66ae8b903330fd92e3ba7c38df1df257f911e5f993a339acb1e09a3832feeada94a43c9f7372d82a369f937294e773681cd6334e6aca5f37793eb7c65f5da34196e75fd925f2cfa330d5cf8ffa28e16d4acac959a326608019037f0905c58ecdd0487f074503df0f99fea4a3757272824fc495280c29a98abf6414c6d1dc355b1873f7fe1c1aa772d9a295e07c4e442aad530ec72c6545da227728828d81234ec15f2545210528762c9dd0a299020a4f9cece7d1441589c2b830ed9aaf459217dc993cbfac4b15a92655a5bac4d17a67fe2c9a52385a9e7f24095c46c914881033707f48ac2f2ee5e4fc353ee5e47ca96d2ea133a6a4e44a3dd4a5d4c237e64ad3996e19180701bee120e05e3ac2c63d1d7196d0df9efae84923d4ed7dc459e2516277de3cc596dd7e1ac814625ccc7c27e34ff33bc4ada7d3392a0d9b3022dd2f9c5ae9068a81c311f8cc3667e1ce0c0673d758e002c38e5b4a19a833371f6320648b851b4fdcfa2f778d052172496e4a0ed250a8b236afebeecf9fff79f74ed745c9d56daed75dcfbb39946017c4fc7d88b2ff4f9a983f9124d8c8fe4590b8bfd75d9654f6249b0c3f646e73d7119e5fe6e426edb7ad753a4551eb028d112ecca68880464bb015d94098186438e387338678afe1f205872962da98628c7bb4c4c4bc20776d49872529526194586188284cb0a586337e70010d145888b4508a392d53c4b6864bd7060780b0a185a6275e308a791832c2f892031a2f80e012f38ecc12180c8e9d6bce806ba0e665c107dc57b080947dd67a5295bbc6020d4327a041f100b3a33634f4aaad80a5090c0f020071068722a4b080018c07301d91c553125838b1821955fc8246ae0d75c9fd37776da88c9bdcb52132d8ccd7dd63c418f2ff51f3d56aabf75555cfad1190b33ebb5aabdaac11eebbc9d2265b5519257b385ba1f048f78e9221165830c2cd6cbd0f043def13e1fbc2ae03672882b73217627c8f80de1dedcd1cf71f1896335b1154a0874224b06180a6ae4929a5b4fdaa36efb70743235ff6c62f04e7973723ed645fcebbefe1916e4ce2e599b9b144216f23fd3642bf9bfd40f103c50f143f23d029574e797ab40e7574bed6daa3c7d89e18277546afc9c9e9d1b860cf225de0d128ec824f480d2754fff9de7c8b047a5faae4fad6c8619e97b745a3d3b74834dc4021357c3eb3f7b33da4e0bf0ee4800bbce3db5f45421c38e1ee797ca5a0bdd9fb4b2bb871d97bae5a90dbb2f79b15f2de6e357b5fb90b7a347b4f6f077ea1901033d8b3f79e4b9c75be0b8d74afc3e389f8e5f13dde8647bec77f1d78e3cbaac4fa923ae1f89216e5f8d2673abe9c51ad2f27d24d8fdf7a7c1786c0e50decf11cc7711c37863dfede7bafa8eaf15dd775ff5f087aab1eef795e181e5181f8cba9f4a942210bfe5b815f8f0743212165b0cd9738f7f8552854c17f18772aeeb9c74972b3cedfac339665d6f92d3c926365b9878eced8bdd363148d70797b5134b219b14668debe02d188e7ed29108dccbc7d8e3881d946b645bd331f47cce99df93c441646ca259e5139c4d26738c49216b1c4923add10cbaa949b964b8c9564aa12678a54d2a85ce2dc4eddd8ca75b462f668217d9abb461aceed1e4d0dfef9a547cbf32d924db24a7669e5a4e33633cfccd5afdcdfee2bb28e1881cb5aeb97de582dc775d76b3782b74251df3ef74bea88e374c4693bdaa7bfc43efd3a42a1238ed78712b31cf7f39fecf9f9efa9d49d76f9ca28b9e7939431d6745932f02160cc8037b6075a40233097bb66a426ace12e77cdc8873138ca08caa88911dceb29b1713e74d471e1b61688ee4d02ad4f4fcfcf0a48dcedf1a1abe0bd78086aebb9385cead3d3f3d302cd5d7d6b463084046021e90420015c20aad930b51160055ad4c52d9bbb6603532ebf4ccd8ca6a702ab726bf1a486ea0a7c935b8ba73070d25316210daf726bf1c4f429e130b7164f4a9060c3ac756bff6c691146955c73d76a5053a1bce7f4f6be95e6af76ef78dfe02e9634fbdb50a8fdb3e5963d4c329bd2d597fd4e298d42a79da2c4ddd8ddb7a15013a11bad937a6beb1e6be536fbb3f6d7d03d829e182ef850299d63077ce8303eaf8241af94368e76f96fbf8d3aaf534b9db669287571a052ba6ddbf694524a297575a06762700550574aabe71db96d03c43cc176f9f773236b64b1da606d95fab42a5baf4c61825b3db78ebba68a480c26a8b070050b9706ac50868934905868a221d63d2d608a088038420918cc6061831dc218834626041746c4fc7f9c64c821fb17a9950ac08cfb05973a334cf6af394d643c7b6a155f7f2b2fbbb76bbe776f78e4b9ea699dbbb972d9fae6dc76bdbba08b9ebd1049e7ae73fcad56bda9019a1b7440d3e53d3f34325dbd53b30ed940b5e6f617d5e9ae2377e492ccf34b319764ae6197513e2a5e593d49aebe296c35fa46bdfc8f88142e7b2630c906fa31614d5d0da49ab0a91a5de48f702c5b8aec0f8ee57ffede58b6bab104c2991bcb0dec28a40dbc81311d49132ebbeb5a59f0ecde09e1074c7308f4859a489106f22d321d0304ee9e22198b3899811a3c73e803f6a18126119bec546cd8d5d1c2363d0e394995f40e7d95f884bae894083a28ad48a88b127972d4e9d9c4489d73b5a23cff9b2f64ce3c7bf644d2847fd29fdbcfd950249e318cab888293d3c514e824c97f25431c762543dcf8b38d3dd4e573ce9ecf43081bb808cd67808e0d85df3aa52369c23798bb4ab4f9b97f0fd9d3733dd6c4a6efed9f480ec3c05f58a692c370bae4f9b38b14b1f9d3cb64c2a28b95d934ff727d844597a3f99e34a7a6a40899582692917933e2f8df7c9498cd88e337bfe4fb1b551d97dcdc8c383e9eb0e4e655239419250634f3fc4fb499b363dffcc62cdc8e08b0ea572fa3de549551f20468be027ec73a7142cd27da38995a22746c281c270b34068e31244bb8dff3b08d8e96abfbfc7a06ddc8ac3ff551c21f54c1f6cbeee87e77547ffcafb54bcaddac63a2aefa459670b9cdca6e96eb45caf516f54e1d4103753af4ce0cea8e26cfacd63bcbf5bbd3a17efdeea87ea54a54a93e9dd55a9f2e4d1849b7d4aff5b7a7636bf3e22f3be6084903fbc764c0b4fed727b719d8d1b632e125c38c3ccf7c91672dcf9f5634ac276d86197b4d9ef54e13331d613c0a77aa33e8cab829b8f479027772280ab353368aa981a268d866c364b75a7891bd2d54f64f1645619b1275b9d71944b7dc6fa366101d37a5c963cf68a0396e5b7ac7df001edbc68b24f35b445d4b14768f6ed127a3913fdff3c9bce8caca9028fb6f4414e66dd12eff32d93d32b27b6a88b27b6bb25f61ca65f725fbb6a581bc1b7ac7df3d238f4cef783ec2e5f58cb2fbfb140d2ba15db3192442f388a05f50f4abbef7d31557f877914b6f838cec4ed3e57fa7abc45feac8feb43266d0ccfdb327a52ada522750222e19816e5b48f3c6b8fe3e4ad812717f254bfc55df7f84270df4442eb79a19d9bf0487714854840ee2b8a071240e89ecbe445dcea511455ddec344963f99a3d1a5b7b1f67e098d79fff928e1922a8990c53e0f2b739263019717c98ac3a64c262bfa3cb1c6ead28cc22e1275d92eada524eaf292ddbf58a5deb15a9a0789c2ac8cba928eb0dd45b2dc45b217c92289e031b1fd357b469dd8b6c8fe5b6d06dda1c98344619788729941b7cae4f11fda6af9de4b949de362654b14668f681a0db3445c14855915dae5cfd43323edd2f77034125b997ba3fda00c2772cb4040c22259223b343483ec0fcd738928cc4a71d7ad3283ac0a6d83f0a36c8d8ab2af70ab18b1998e56f684adecc894419965eab10e8f54fa130840a6336694fd73cec3bad902543a8dfc35ffef4a0a16cb73fc55ce6f41608e392c70e66841f3593a6dae5e80d1bf9c5f4e4e6bd627bd337f139ff8200a972c10963a28837386728ebf66b69596f6b76f13bd87d2b3d805babf80f736997eb5967cea9a3773d9ca6499563a2201371cceb9efdc3d11f710871b9578e3929ec5bab171e8731f257f76cb36779864ca64f9be1569ee3049cff21dc924f4b9b1c449e21985de9974a4228e6c73094e3a9d4dad4a49efcc17eb88b384c6ba9ff94a77add00799880743807e5e3e1bfcce3f69e2d4c464041a931224b325223f4a493d24d2d1b75645444b565034d05ed0844114533dce92204f3e3942c13140df202960a0335a50410e8f1d3a5837a0cd835f24f623000008ea002684830c7a3490f3424c75410ff129c069e5c011e4838c506e84f8c3f7f16543f9f87236f17cd94d3c5f4e260dbe6c260dbe9c4b40befc01f2e54c0af22519e4cb79d422ba654f0989384bc877bd8ba460c8220278010cc9259360848a780ec17c20e22cf9e08b7c910f3e8801202916fb8a14b122cdf741eccbcd6445167196e48f7d2ce71f396a84b1981566c26c868848a3a86b7e00443a9505b63908cc9659cc26bd7e881dfb3cf0e03d000050109c9835380f00b0c690213f2428c7143cc284c163481010d003811d00a003a10b4b2150075ffe8181c1afd7bf3e21476c41620b122f219e8fcffbfce020041aee1552d787832ba436d8e037f032008a225472618b15270837c8a0db117196fcf89ddff961f38f9ed8ac522fa67eb02026ff205d2f260db7d323768c494c9a5c7a948feac303150a0d54f500cf0d1e206e444945dd004203ac410d784ecd35730ad700e4064893ec463624736a920551830ba206472485c8290b35f24af41f3d6ac8e4499d3644fe0f3be4afce6914b61ab3f84f8fb2d45aea2a8a6287185be9908ffff1737659c88bdce8da44600b289b54e49445540e5a8389babc1d9b35cee444c69d89c25423941953fdfccfca38a42f4e6119fc7c4bd4495669b458a2c0f74b9bd4d4c97a88c6d8c460c589282c03599604f9d56760be95515806828c95b6f3f3ebfc79a40d7c6d9225e3afb242d92487dd22994ca682bfb898c97327366b4452f2b45fe65b9a1533df36592787515b648f282cc8cfaf50358ac2787e7e9da2300d7e7e0719eb6aac34ea1201ae33da60279628bc27ce50c8fb01dcaf7fe47ead7683c9d37de733efb2dd599968d18fe71167d9f51a8843e4839177c421f2570f441cf2f149390371284b596779feea8bfc48249102ff105d2229fa10b33059ca23688bd2bb583a45a9ac8b170c2ef802ebf4f8824731881816a87edc01971e95c32bb4842f76cc822bb4e40a28c002e7e00835f118918e54238e013ae64a49d43579b2704216eb5854c7a77b6d6edab0319d56bb71b7f3bcaf7e60784315a75a6d2b6ca9c7834684cea6cf8f7a3837c8ef8198f4ce6ca066f2ff815e576f6ee8903e4e4c7066a2b3049ecf84ba1c7b1fbb6379f174951d9974b381eabdc19a1e93cac4c9ca0487c784498e325f39f3bc17e4307fb45a1283ac418e92bf0d9c9c147c71c0acca51f2d7dcdc3e47997362f161a0124b1c20dd8a7362cb254e67f475ee7eddb95b374b6975f739fe5b405a1df7afa3754a5f7debabbabbfb8a9301cfbf4ecedee9ef7101cfa7eeeefe5dbbbbdc66bd1b3cd4d9f5ffc726372ad24927c7715cddb6a775765e05ac1077a3a3b5ddd8e0d5d7da615795e3386eb3b4aaa6eab63dadffff5b03fec3c9f139c79e62aa5a6efce28667bbce6e76c377c420db9f250999fe144706b042a11b6112317baa6c7f9e90e9cfca75bdb37516c874bbf974b4b61b1bbc6aedb02b551826b1796b40b554155651bc4001e06fdb6f5fadddc6262dfd23f00443213b56fc3c61e0497a3751cc6e78ff4cded60aa5de86fd7f5b7b6fddb88dd6cddedbda6e6cf06dedb02bfc180a5fef765e772ff66e7eb0aa565ca1eab5ff7f6f93af05c68fa1f0f5eedf1d594ca7d56edcedbc0f0c552b6c7373c3fb67f2375838e6fcb6b542a9387280985ef0ce28ac50e89fc98d30c9e7d00172dceb868cb5f74628b45d6ab99b3049cd5bd7da6e6cf03f935598e45b3bec4a552b94304c5277f00073e7b5f83c70c0f799a958eef20f592cb0f63f932f4cf238603710f5399b829f3cebb40004786e6028b4d12f34e2f9c3e05929142f4c523305ed75dfd138dfc185d69054600dc5fc6136e6ff40841987296180c1861a504931243316d070b941cdd452ccbff504853622db872286d1c876cbb68735d98ac9d6075ab6afe3af20d97ecd34b464cd74f2d094a91440643097069738ff0e3ffb4aad6ce4fa2188d55a25895c9f55bf3525d7faf5d538d12d3b24e57a05161d5653859e3cec90dd4ea9b78e2dfaf7de7bef7d227eb7ee8f5c4e8b76b28540bf7b228e737ffb9a3911e75ad61db73832a6ce30396efb0f4915f859b5cea5a22985284a0810a0cf3df7df5846192aed77934619c2b12c1c8b63c70b640b9c73640ceedac3f5de33edf19798e9fb3450e7b9f5abdb441f0e60fa654fb64fed88a40a3c39e0c2f33cef89f8e64427003cfc4fe5b013bdfca1f85d50042e87646b2d11bfef89bd26dbe7defe7d2254c749ca6d90b791a41486871c0f9174c849ba05fe71923ea57f640c9e5f8a23f48ea3b9746e20c75deede7b9f88d3fb53742fe0bd77e3eebdf7debbdde7ee9d32f4bdffe3afefeffbf8abfbfb334b03d9bf5388fbdd934abedfe46e77bbdbdd2e77b9cb5deefef7b96f1cf7857005cfdc6112cf75bc42df588fe07b9bbb5fbdf7dedbd91367eee8a5d77bfaf4bd7befbdf7deefd07b22dedd27e29e7b71f2fe910ee079bf756ed7c3d73a5f57dab42873441cf74ebdc33d11bfdcbbe85e44677292e37c5685acc198bab8bf176322fef201973e997b7fef39eea79406eaccfdccd2c4cb4984a72e13a6711bf7dff566c6f4de12dfdffebb74f33ea277b8b9e42eeea796e6e12675aa9a798a93cb54ea1dee43b8a234808b93e47a731cf7e5e5de99b8771af7dec43ded16dd14e5fa5f0857b073c0457d17d33bf5bf3ab1f44efdd5ec25e6faeea581985e48d891f075d2999cac3fc7231ca8538d76d55721a93e0db9d6ef9d2cb8a43f3f7f13b422cbf5cbc925d769ff09ad3ffb29579f393989c4e4fa742cf158defa47d2e0d9acdf6a61ec37459b0d5f05fd361d94c36d36878e60fea610096ce0eddfc9f0884e3d42c13c02a47768fd6fa3dbb66d3eedb66dbd6d75a5f29cdea1ef215cc19ee715bdc9439fdb5abd437dbcaf2a3827a7816a954762ebb255d1b9073538114a11c30dded2018aedebc27dc0bd76f8fd6003d1dfec081768a0fb9de35fae727fd8413f09e8332d33ee10ec43b28fc386f890ded9009ea1689bf43c0f7c0f1c4b0cd09eaefac6397aedda7efbeda737d9e466ad0d938c59245224343204073cdf76d8e4f6ff337bc8316fb37b67a39bb895e2c542b3e0d22d5110d1b03185ee3e466444303523024c2d1601321d58732508226440c2d650c30aaa1a68b88048ebd624297aa055319eeabdd7833366dcd4a831b70a1ab600a3a8904616433c11c5d308d61c40aa0a2e5aac305a8209ab0310b536f1a4660d22c03862cb131ac0e0a58723a6746088306a520e4afa0a1d38101a9194c64c0c1ebc5cf142ec004768a1c494a21b7c80d2e1884944d7c88e73d774a82177b96b3abcf07901696b70607969a6621cd6a2264882b16274c4950a11732c8318a8ec6f5bac56017a80424966859a2b66a80984a022d318fdee22862234456039c20c1b6274c460d66991602e75fc81dc7e3598831724c8ba1fa85debbdf7d65a8ff4ab7b794e7aa8ff11da73471d345c362d2ba1bf850a0c4ee4d924fdfbf4664f0473279640b2ffa53de983d91371a9939dcbdb78c2cc6537951de58455c72bd404a6b004b4cbdf8b7bc6dd47e81d3f52059740f2dc729c9cd32d4949daaa6279f3d3c8c8dd3cfd532cb111ff2e5370b58b7e10da41a6df44a64faac1f329d93bf45964d3909a68a2687e2d8d9433ba4a71e6ac42e784ed28420186ebcf22a32f2f3a9d2a6199c9f547a86572ad22d70234101d72c11278fbb2a19ad8afb214be09fe909ddaa477ea73f0849f3469a80b36549327294c59ad6fb5f47c0845e012f4297f6a05c1613b67e098bf09fe4dbcdcf09455b96b47344ae78f4fad62594b5088043630cbfea83911337672522a8cc0c18c28216a54284969110441c4195e86b660eaf2130426ea897f0afe53d6b0282d0c6de003523c5819f344ac841054a1426b23690d0cb1f92f1a70d1ec7e098d7523140dc4baff28a764c98ff0043705417f090eabb296f58bd041d5a8ded05d95faa866d12e3faa340364b1efe4d38908975696ed10c54b647f0a8219549f264fad6b268fff1308b2df0a957d3a1d65d1b009d52e1a854d2fdae59fd4e3474755e9a81bf174f2c026ba4c9c504f4f33c855681ea8ba66064d2f9a678527ffb24e659f60d435d97f8eb30330e656635474233faa320af32aeef2af4795c912d523772faa4633c869984e6e4335ca4ed3c9c9898622786c469500fb6ff76978a467b5bdb34a2a3294f32ecb894ef6f9199206b6c95da332850f952daadb62e19c283fac91b283102068638b180bca488922cc9613f8f004e50095592ec91f9c260e60ca60ead23441b97b391e3e2a5bba2668ad56ceed8420e2a6707ec90023d372c60c4705d10d9f13a592c347c54a934185088e0b09b8c4a0021aa233b44499a1081f90d0b2060453a6744238b59e5ce5ae518121ab72d78cd6d002fdefaf15eef1f11f1f42a408127fa9be1f047fd97cdffc8def1fc15f2c1c9fe3fb4df0978eef6fe2e489bf28f87e14fc558105ffdd3f89fcb5e39bf497ebfba791bf7e7c67f00de47be75b836f0cbe7f62f157cf77cef7f8dde3fb2793bf2ef8fef9a58178beb9f8abf5fd73c95f3cbe7de8fcdc20c8f773f0fd3da2d8a48fc740a4a0491f3e1a90757e7e3ce2cc39bde38347ec4c810334105b4dfaf80e85724cd811594d8088d8490622f8e487785170f9c0c0470aa40f0c7c60a0f3f32f10abce589d9c3dc61e453067bc4f3bc45693393926e088ac561351c42c272f82f88905e20551a840ac37e7a44081d84de6e07ce7e08c2594bce3e7f3d8d1125b4efae3088db05ec0f34b96938e6ac24263a44334e106d491c8e4a98a584293f66d9c907c4410da659f03d192b1b28138a45df68388f65761129cbf64cb8525fea8c2247848911ba24ff883e446ec017d40b011817c3d4a32253d204b56a24e478ea012bfd329211473eed3e7724cf844d6d66ae289d85a2760b59782ef5b8dc2e3366c741e67bdaff3ce581147eebc6d7b7affcb61ed587b67fb6b37289b12f3fe0aab36da68a38d5857459b29787de4af627041f6c41675f9e32bc6a6933fae47feee98bf4ecc9ff7f9fb2cc81f5841fe420af2a7cac9df0a277f9847fe6c76e4efa695bf1b3af2c7ca913f1c601571e4dbae90023773ffe560e54fc78dfcb56ef2b7c3267f3c70fe7056f9cb51e58f82307f1580f9b3e0cbdf7bf913c79bbf1e3a17d4fc6140f3e7c3f3475671e6ef07497db6cba5aa63ed1dfb967628b421f1a1e9e901dc66b848c96de6081907b9cd1c51947d4629cc89b0cb7ce6329fb9ccfdb7f6d9504eb626eedbe6349f8f84db2a57a11a890a8773692ab9ab8993e9321ffabce8f3cc60e1b82851ca049acd0c966ddb363358cc6031c3250146e0721e1d5198cb8e3211757978a4cb09d80245d49de0553e7f7581270d0a0a8d98a6286eab94ab0e929004ae138ac2a61424933673269eb2bf83a0a4c9392f056f4e9c696632b1b49941a273dba61924a4fc7160028c68d2ddd69b3c8162afd25c329354003bd5c114fdad6ef5e993e9b3c9a500c5a7cc499f625edbf8c4491105279d73b2bd4b4d4adb71c8f8fb13a5db8c4a93fde794ff13a82ba3354132950190fd838c81bdb750eef2bf172a7424ea0ad33057a15dde402a9fca4ed42ef7f00bd409dca370f357e7c33ae62d13bd4894f9cc49ff171778e6e9510950c2a5cfe6ac81b6ecef51521c854d0aeb1350c0f97b708604b8636fef5c445fea1d7f50f4249ac7ff1395c8ae84067b76548523e672b2735fbb6cbed5d985e37ab3215df66d5b2d9251f7cff99cc934f3f285e6d444e6e9098a498c139acfb39b099f672d93cfb3750891226ebf3b73d8ea7d76091d7ff8ae729bf71c1b150ea15e53ab1e917497ffece2af32c7049fb2c94c5a15ef2727324272f0b728a9a91a329962fe73f20d04244a968ce05b8dd5421005fef7defb17f1cd8cd1dd489c0d08e97f6f2d045f363346668ccc1899a93291ae121275cd702e51d7fca6459f6b90e6bb2e3b03f6b793173e3f3a656b4602713206dcdfe5d6909f214438e0c2c7194cfff6bcd2e092ccddcaa1a3e59ee3641a9d1da1d0eb90af34b8045f6ae0fe6f95534128d4ca79e7808b176203ee17c7da23146a771d9f7385c6d73ab56e950bece22e28627ef84c42710491beb4e06dfba929fbd5abdedbda811a987e3f33084a96f88bc9a8c4c9ef03c1495a02132449607abfe3fe4e0eb8c048e64687e6d06c24f45e8c5bad7f92cc3699de7bf4d9ef9eb3d65a2715ab38b38742ddd944a08b267f8a84fba82776bb4471881736e044ce4d7a2b71d27b4eabda4ea899d2d2092baa7a3d33068b2e1dc040021e7018a20c51510c3168a1860d627a6082cc195a5ad8c6c0a2268b1db25871c698285496da2063694b0c6590cc50ba829b56e499539092c51a273433272a00c0842c2a871baab4510697a5082440373272237f4d2b327d3fa25664220ece6432590b31fa2ebb31fab3ca8ce262054b7e42611d8bd14fc15f7306c591502514d67d21a34f5151b2347428238bd12742ff871a516b85cc7786032e7c44acb11a9a42d6436d9690418a1a31365801450e4dc942cb960f5461441411527c14a6c38d3a748aa14c87f2cbb1d0af445c0b92169e820003c4067e10530226c2a4b1d24499220fcce0d7052a4dc50e1cb8a28c312b749132c1081faa18b1c6d41a15cab09266e5851049b9daad7bd8418831336871450dd59835a8a0428727ac602163081572541abdfe3131c4172498a1088c59941fd078210c3052cc6e70a243c3c5da22ef0584224f596e02cfde0e0ce179ded8fdf53ccf1bcbeeb248cacab4e258ad304cabf82a5241205de1610c294c6cc0a1280c2e352886c6489aeaa214597146125a82f0c1061738902931c1c5033e40ad2046925485ba32a5e658810c124c39a2e80c193472164bb318a6889842e33eafb0a1e6fab58923f10ad3400f653099c00a293734c52a100f48e1610d11653c6182ee4c1021c8f58bf8ab76bd358c8f3eb5c95d9baa32f5426d6a03b4d63088876a8378b0348da87ae38b0d99d8545ab82b69ecd0a551839706d1574b6303a054f89d518154aca131667523770d0d27720e1a48d8a0917483c651cea12c560803d31bab82c151fbe98dbaa161949bdecc02d1c0a182ca8173d7d434e59c9a1a295a6a42b0a3a6860b0f1c1c9c9c1c1e6a88c0c991bba6864a8e1a1905376554b0eac20290729173c20ae0daaa4c6472fd4f046728540171b3206c6ab38d523c58935aa22655444d4a881e3872d7a48a746a524317ec180383d6153ec21190609a10dc90496385e6aea551228d51ce5d4b93442d0d97321ff5ff66cdf45a9006d7b2a7025b86407d8ee3be8e1c7081bbb76015cb9e79946826a3526e402c6ec5732b9e64c53dcf67f667d3f4e22f260b42a12195941c96831265ba84a38b8e6ffdcc4c3bbef5f4a797069a379efe0ef1c785d86f893e2ec4be0eb1c785d8c721027121f69de6301c4ec6c95f39448f3e0e717e91d1a75e4ed6531b98c7e82bb144c60bd1444da9950a0cea7976a420f0ec1801309e2200c693936dad05e3090c344534c9882b6ff0013c5ff5f4958c401b93aab187c414e6e34f87e4fae1d8aae4f69d28b2661254b6a185916f8843594a9bbf1187b29494a88adbf796ed78c74aa92be106bad9bb6898120fa3049942a591e92b298156faed4f558d24aa9471e58725ce888a555aa4f29ba2d50830ce5dfbc1045e0e180714c804feb6e8d6a8223402af66611158b5059c3284f705f672d77e40f2a4f0cd5dfbe1c80cfea1e8de15774124366cc533a433370540922159a1a3003d402149718b9040800be0c39237c643a28c9a5cf6ac4880c13338e055ad83c25d98f006cc5a029f3162850606736b5126882a65a8e01bf0965b8b3253c21cf0cdad451917b4809a32fb2eb759cfa77b373c2675faddc071eb4384e47e1e371748036dff76a75d53c8903cb71148ef3cd9d33bdfaa5bd5f6d9de47e6eb2eb7754fdb3dddab5bebd76edba5206cc1f3b723abdc3d52f07ceee95f4afb8e749c19480da213a8b4acb695490c19b211010080006315002028100c874402914028ce54552d1f14000b88a6506c461a49c32c886118640c31c410430000000021003335a5dd209b4d9cdcb079c33070da85964d89795b8f8189441a9731d44139ae3ccedf0ac85d566598c123b29bd31134823a99d365ab615a9ca0292a2ec47bf9137fd4fa8e83036a1b2469b4607c4f982d8c17492204595eac3c8defc82c73b73376183822b452d702dc558833cd4d188bd79f1a9889166c5188dd536bb42251349b9595f92ca24133519c5325f5f1f975f80c1361e401de420eab4e3e2f10ddb0b06951257804b33c64147ccefcbdcd8fcc06b2a93b81809b117965fefa8aecff9e7efb99c5a1773725a7469c2b5c9852eab0b6ab0547a65e69a2310b2c87c2ab9b471c243263b19cb37c00f520559227a558677e209de5125b1adc88c3565cdc1641dd3063c2c290f3673cd19898f811e34209374f6e00ef0b1501cbe598928e54924e937587ff69900526394a9fe8a83fa99259a4cd6e9125faff92e696444651d4eaf5e362b60f84fcdba9f73d619a32fb7666393d380dee6f793e0c2e34d340d80bb538b6591edaff96281246478e3c7126d22d0a5a1eff24d2f49c38a5c76fcbf021fe0246b64039b893cc3ae1a07230709da774e96a7b0df8481ff7ac258c1b01be4199e0e1b00088ce9943d0a4e314a0ca56cdef4d56e095c917a8195a82cc13f54e903515bf2495a8d0ff905a13ee86a2f439afce6f71121850a8a87f3a38e7e270ab8bd55b0080b6f0f4cc3519b40c4dd181446a64a4af8478d9699be61a831680f5dc43614e210a4329a45a711f2559d0c57015a18f21e05bcc54dbc874d020c4e69f5df31c02ea2468b17a6881e6948db6c1a48d51acebe84688428d7670ca88c25f261523db1b7be92aac8b75b82df51a68ae0a4e94b7c21ae174ec28085d663257bd2667196b1eaa8c75af9a93aafccc3ff2a08cc9c8efbef10df895aae74ae644cafe45203241020dad398f679c46fedce2f2c0df7b43c5771fd648ec620ae4d532bd7419c9bf0428877170295d79fd80aac1a52902c5c89d9a3f8d227b7a62dd01d66a5add3b79514c5b9cb633b47876f38da7dfb3667e9bf9daa13785bf7eecb70c0b383a6af684fc05bcd1a4f691d1f075f678ec66daadb28d0d43dc81341aea33472030af686c0ca0f9e1bc7006d1501e48e105315fd1531af279b55c2c58eba51feafabdceb6ff83f53f11a05bb7e817c834a896d424f085633f84582f04bc0a769df492d7612fe0a8278dfcc90bd5e0cc4c61813c67081ec10bd153e0d20220ac6944cf33c0a9c46ab51883030aed0978923a2c2cc01f046eb96080c0c9be8a185849236a1beb0d8ca69aa1a53b978e9f0138c9a5a83aa8bb8ae63f505c3ec72d1392d8475f00f884c68087400207be72d66ba5146c369d84368de392a0c6237d0eb00c13634225d8802fc77e23c82bea489c3c11f90eddb8473427a52236d36af30aa078d09f7bf2a776e9b296c1666558bf7ec69a2fb216d3c02c692968bc6c0d65ba6ba8bda2a898b9963707be5807be733141594401d231f8d29bf12a65655b05a594158d4f8e5dc8d71dffe998df71e1b2239cb1a375bcf457d403f443b098d1d1b75ec71f05fbdb8e83203bf7c82439ca0c15f15c247167bd210d935da4b53b3fa69c7660521e769f9f2b4849be3bcb1baf0362486620a243b636f35b0219e818635973b0c48d15e16ebc452e8880113a7c219065556ea8b3ac8c170ff20d31713040299e8d5b0038a431b14b64f5e2a8de32b1d85f6fc33342ca1e67ad29e08504e36ee92215f02b18888d99ebc394798c1d23f3d3e8d4ca037aa2999d265e913ca13b34c861be8b92a758d84220080a23acd4a43a27c22f99675cad261c7f9cc2438e18fe28bfafb9559508dfe7dc534293dc1e412b718af2ba852f011f4f51d28ec422685fcb7011298bf0c4fc1485a9917e8479761eb201fe3755e55314a3f2eb53c81af23435d72e3d5a8f2257ce4061302122b2f2fd8d220317621723c27f4bb4be600530c4452ab7c248b8e89c1b2c8e47e7b2151d8793be9cb83afd202acefa157ef1a882bc55c24638397f385397b54371ef3856c9df31efa8e0d6c5e518f86264f9dcfd9edc930ab09dd8367944c9aed626cb71045af34a898bfbf7b65c723d09dc6546e87440807ad948c4f39542c21787abe0ee6a78d2845e31890eedd48a75959c86cd83f4c91402957d3bcb436cda44f0511bb13bce3786b4d662d548c64b5a9cfa5500a12329fb3388db00a5392b879493149bd42149f1bab22cd62de1db6d7a953787995f85ee6f742d3a4cebb99c8b5e8f7094055e9085961d0fee9e18a5d13e22616906ffc02115906c5b15e4fba54515af4b1f1710143136a5d99294c33c24b74135b3c0967b275ae6204c718fb46d9ed844e1ce2c92ce9012cf19d7e1d1961e748bdb7472bb1c9c373e76c004faeb9852b602488b3976baad84e6307739767edc6d41a4d9ca802bc4893293c913b3fb16e3168793416668f376a2c01bec93c718784f60e67b4693522be41dc3422f9d218214d9c66300e8424c067e08cdbe274bc064a773afecca7e4ff8537fad616244a51f1a223c223dab2f44439cd7a232e0982317eb80b4f2b41cbe09538239d1109c5e6f423cdd6533daa60ee8a278677809918034ccf8394313b405809936f0ff0fcd2c28cb917ee43a980842b8735bebe1009091ebe3027a6ef6a8b0d1b32ce176e47cd7180f31bddf5d6f3260e807306e25ce365a8293cef24c4f7ccabc230da390617cecce16e469e4779431c7767268c5e00e4ee3e1acedea9820555e91735adc1d89ad8e3776d622bc605db8cbffed55bc241ac007696806b51e48880e3e036eeb2ad17d41b4ef220affa7dc198543020dcf035298d0b0982936af833ac3b1f5207a8ff812f126c9cbbef702557ac25609014d7c1cf602153e76144bbf6c2037ff88da1366bfb485d41d0cc31316ad223718a9f2598eb8aeeeaf2ac92eacfdf2754477677a86957f0f5b49af77c1047d925ad4eb997a6719f4f3447cacf6e95a613d2010ec2b0d2e279dc4cec8194d56806691925ab6a07f5a165112b60bbe62d2a2225e15e2c06deb250639961a03fca1a588f28deb05dad9912e3868627887a523a2ed2ae60c830d96d17a225514127b6749384ababa83c2cf3bf4d14ee68b177f414d023043860f1641d6c308d9e7779a02cf7e5528117ef16c2eb727ca13883da3d4f3f005a0124bffefa608fc4165523f4d2eeadad74f6a6636a34a86fc39d5390f350ee9a9afc36aa552631542184629ae2b9f41215dfbc9b66050b0462fe5a13fe4bac4e16173f699b5ca33013453b01933e4273bfd23d0977dbd6307107fc4aa08fdfb7dd4508a3b02ed70ece3381fc64ff3e46327a165d345e9da1ebc3e1bda696af60877b995aa59840ee8359d17d374dec7989ec0f96f96c4f1a68674727f32d0f2e9a7e8c03f932493ccfc1779883ea953e993cf4176950e3974f603c3be21c18d9c305b125bc394bcf295abf2062216ec5401bd0fe210592c2f9e731b20683b796ccd60a5325ef4400c563476f4ecfdf638c1637d611d4ab4a7779a859888ab06e2342af9297a9ca845f8b1a2ee3ae4a608f7b8aa8ac0a368ca61f12e18d395c550678c1af825aa3d39ecc27061d44ec8e23c9193dabf8dd814dfffddf79dc683b6801a87f581cb49b9ce2ac45bd4396ca85251218f023d33809bb728bc8d959eba232dbd260ab4420e352d9a2f1396f3c0ecf5b55fe49b7eaf75d531ae8d409843b9049808756f53b8775480e019203fa6665407591ed2815c2db5cfd71125f9edfb1c044263ecb7ed4a72f0951678a3d429c89477cfd828df2df7d708fc8e463974fab771698ad67b9c2b455d1f46692a5b2195a0a22095f030295f46a1461e1117df2cddaf23dba407f66dba759f5b3c213e2d8d0b21ccf5d3629de78ba1c49a53c7984218e2478c3d9060a40be93c14ac275b9a7b51679919581ee2d1cc771740c003d9ea1e198fbf41e70e14656c7fe2e22d298017ae18c0a32b3861bb1d4ceaa8d80a22f5f88780888bc6334029f8a32ab4b5c7dcf2e147ff2fa58b34b0dc6d0cb982a845c8608902f2e12f8b1f9422a5351d5c8e814bced14970ef1fc1584046f1d0ef8f9e43183c2d3bed019b11866bc667ec8dde8c4c68fda7a280623c58952186b567b8d9aa3c29c58b997df8f3972cc3fb73bb502d51d4e63f20120c3287846be1b43436c36ef4040c144d641b134c9675f14afd19cf6b9f9ba8b3e1ca77c705d0bae8b86333e0660bebed352732c9b86e5f4453c6a3c19cb539ee45a20f74db66f12a814c2cb51d0795b4c7a07edc1bf5a88efa4d666e5835720eb0b11219203671d89d3c39a298e25f76758d88908c38c0e947a7033fa6e99873f42418e2dabcfc07d0dffe3402f6c44c241c344326549035ea89c70bc76b81c342bafefa4b94adb9493c0b0fe853833ce237acd7f5553eadc3ab4615ea4d5027844f1e7381d13d1a90067915e4dddba7bd61e5e764c34ae3dcdc000bcb212a8d4b76bec0505d4b3a13798c4c0e8b473bef41816d45ab100e21e30c0c9eecdafddcb3d89028783b0ee9ce8b80d4032b54878d81a681cd7155fd5e9c97a98fb12a4bd5cd2e5655ab0d5c2767ee8d1219237dcde02ae327f2a88284de5e932deb9515911308c3bdcd0cd41a78f5e899cde843d5a2388a8eda8f41c39c08a9a1c9160b8e7edaa8017affd3a499a15d3d1a03c9c66f804574bb592413531952766c15f702bb175586e894ac499b01173ba2c25a79abf4373a4052abebb5a7de9602b895e3c04ce30d7814d134520d31d3e8ba1f05292d986b0b132a51bd53d31811cf1f18a0c14760090dd99004911c5456d2f996f1f4ef6801eba6a0f51f2ccfbd40209b7227bd14c1ad37c142241e8d364718f0f1b9d42f601d2f17d4e7f16423f1eaadc1fd94e96e53ada88bdfdaa5947fc206e820c6958f9bb6ec23fd4d2d543281f5c604ce20059e97a92a2accedc2d29c124b4a97fd919a18a375a1eb538e020a53194f33f6640143a030c4a1b4e51518f3de004dcd7ff8ac6a5d02ab6c1578818db2371405577331dad706ed6c13f1f6f61728360ba3bb2833538b6e7fd3423f17f62aed3b1babf75ab325aac80fe94d57d4846322b2bbea1112829cf11acec951a83cb5900b725cdcb59f9122705e78a2085699012a4d59ec861c2dbefb18412a3dc0b5eb23a2705e1190f6201f65ef56b5b28913f3ee79cec56451891323563256dd4d5cc5263eb97bae7c2cfcac98b0eaeef509ee552bc3b77f0e5eb1ca239b20fa2a8363b8345a93789323188ae98492114d283af803ab3f6925fd73193920647e2ce76e959e35ce6b2d835190fe6272fc79318fb15edcc260fb2c1e1d103206d3632c8f964bc8698268c92ff33e8618214082ae3a9b1f8e7b6451905d3ad68095f101e3fc13ebca8a59338e02bc8dc43cc733e8e17d552c2750d155ee62e367618e0b883e13a369a2d56a4bcac3c4f1522233ce7b25fafb9589e1459012c50753e2f622d9073260545a97e8769dd03b68c426ce695d96a86c8c9f16ec6dbc6af676e24b744c1fc243413fdd647144cdedd3cd5c854e123f5286db737856a40b4c7e925ca66d05e2fee5b00cda5772db59b043e0874cd35a08fb8a0249a1ee7ab5eb7bab656e5a914afbfc56661a2481236da873b4f2d445181c83e10b0044513dda630ad9168ee702f3c16a456e491d7e61b8f5bf4875c19d3431e86a9b421ea8183c49d2957ca427058d2c8043b0929ba1b95dded1063d1cc96918707ad9c4f218b27f7534b0eec43c2ca109899f477a4b897972e37dfbe5b3383a16cadaafe8c8465abcc0a35d6726976dfb8e57cf11bd93ae9dd6f3b28cd29610c905e619d733c642d3953c13a1495fb64e4eaa10d93206c4740526480e1b87142fc9b4ef213595cb605a98443066fb5737f562c3838249a5e205f35861779ca029e8b27cb71e066ae9ff83f68d5a57d593c1eb25866af7bd5132a4fba8336887d6954ef0d9ed51c374abd836d28124ec23a96048d15a46771315c7ba0691431ec794b728b1b371c1702d8b61c568194a3ea8321cab2b5f86b9741caae75ed84d47f2bfed6d66f22fa509043dbd07a8e7b989ca6af540257ba89dd4491b1490dc65f69a287705aecd3ec850205d557cc90689a5926214bb18e18c7102417ce3705b344ef705426651441b678f5eec008a46dd2f13ec00b3d566f584921888902022166cc67aaec9905cac9eae83c947e358052c3c1e4c641c46ddbf6a264fc4289a448afd9a5707df19d3315689b0dee57e4041efd0f5a17d0ae29b9adf73f54e4ea4acf3c0b5448cb2a6c20495351fc19e3dd84e408a19fb022e37103e618feeccaf75a21f7634038e8365ddc6c9ef4a122b0c45d6f75833bce4858589defc9c14ec957550fab22174c701f198dc67da020d5da7bd2429a054ab0ae5408e3e4150baef7217f438c06bb8a8900e8d7230a883d3c7fd0bf05243a2163ef9b1a8f7882c5eb00a4ea3d49a62d5165378a7a9850ac40e858809e820430f125820b2ebf009336bf2a8315aac4a4f061732a9cbaaff9ed0c4848f1a9055df9fadc24db18a8ddf20f43e2b54b17659fa658aa4aa2c2715112b36eaacb840f8c37a702a470c50b06cca2fdde4b1fe6ae7209857bdd7f7af4c8fdb4ca9aaa7ef66faae555a775423fce3af83033053d294d56497e2ee4ac82b551cb5e46519146d800e57da81c890545e3ab466b31646f1abd10ef063e5c1c410f73107caac361a4ae539910b4f0335d7ed5ac8131ef91a5804983bcb7e9748142b40b9749bd8bf3a65ac8bfe1c801712fc5925601cdb53ab18e3c8e37acf0478ebcb7f6c30721010d10f7b306f10086f9904270a32d461bac77f4477f13ef50661c0999307cf19f0767458c1e8bba8f4a88f4d2cb870f9c0ca7001dd163085e7014b996011812a8fc476336b38d05435497b65d27068a7691e019a775e6615fa9b4778de6a61ba8521c167eb01865a847ba0a9c529f8d7f625a02fc8ab8097c18c78d03a3292e99172a656df71291009e03b2bfa4ee880bf52a8d3197bdbd35ee98e0357d6b29844244f865f748599dafc3070ade5fdce18a04e49c84ba074165d44a6d86dd2d418a66c779edd97d3528fa3157f16627de413e19e8abd4b7a8bd4c50de406f78696d9fd0e106a45df2380f743734cc3afd06ce120f26859f8caeec544551cbd21eaa44dad8a4b6562ce7e3a923f75e8ba92a74377c9e431a0e82c0033183aa298d551707ee84fbce8c426d97c63442bb8b1e6efe65f5e6e8f707a787e0345864a5c98e8fb0cb6ceb8f5a4009d4b86b2e455140c58d65d7712c3b2be8f65581e0a6a925f0154ef14fc6c49baa547fc57c16b2b69f28b448fa4bd85ec943a9617ce0682fa8f3900224f1dc3dd8de747c0e2f1001dcbcc604c46dcefebe081725a9011a79d6701a0fcc88c320bb1daed62c560b60fcc86947b88dde6d206426c5d7a1d295f2c889b618484b33aab40304ddaead89fbb9d5cfd3bc9c463f5425304c8f89a383245adf76f2ab5e7833c6f20ec3d881d586639f97a03b172dfb5a8df843d57b7a9a66fd8e803ceb7bdbd6b7de4b6702b78bab74c88bc5ae238829e73ca7846818e4d783dd23e0581ae34116e39f538522972e10c9644abc43fb4d663ba645eeab597e0389260ac28693881edac146c0d77e0e99c387423088fafeae1c1a85672bed5a8844e9b3dae8106644af50f46db58212f71123265a95576f54bab69c1787441b02007d5c7d1a4694c1c3469d4be49a32546bc4bf7685c83683294b2396aa8da059843cf476d657c001fedd49257e899d3c5226d833476a8a501e8f037c3c8b2a2216dfd091596255b6777a9793d9ccdebf855e44e1cfc8b56cbfe194a3a81fde24fcade9ce655fca3aad58a2c0d3da59f55fdd7fb1acd02d0a2cafbc13303b089945132d62184fe4b0f6b0e7373eb2ad0d81939f399e678e50211fc31df38e75cd8859b46728641b0d109731e83d52ed640f34a9fe6f4b0ba690ee27cc7904d19f1827eb2469117ac5a70cfa7235c470bfd291b923b5e7845eeea8fd57688d44fa53272b5c0ded6e96069efbf991a82192ac839d95f45baee93353c818bd07596d1a905523c47429d4fcd6417b1d5b78f5036fbab173096a9e45f39e7412ea8ce92fcff2420ec71ffb512ad6b3ca0d3b3bc7a9a3fbdcff63ced3f56fcf7a5432ea93a01ac2b5da18345a81645c0b893834dd1d7cee0665ff1b865eae1a9e52c541a2ce1907c77ee423c874d648d9ce43ed2e6d42f922bfe0dc4a1d1e5a616e3b85fb897b025137d246102b8741bdc85d695e421babfc8adbbd258b11e62e34da72ba85d89424acf54122367ae346365101f5501ec2e7b1cf39ce12448dffc17f5485e34fbe00eef1c193db2e00e7f118b337b197e9e753e89e5b9b68a22c53ad9d1071065cd1c5a361536408b56b3bbab4d76ccfff14be794a442c5a874debb7f79c859a52cebd2a79b33b7a99953cc86cf2a39b4c1c8effda687bec7455c431162f99c8ba4f7a59aad7127b47d546e1db89c4d36a4d3b0d78aa2a2abcf1202eb1c5964b1ee166e90cb91a809911def955e38791bea10786b2d34cc6e484bb17e93c39e4f80cd02ffa462857d52f168e0a0ef076ab1c4ff859bb8cedc16d46f2148042b7304ff5d63385f4ae3a467165632cc9fb54f2a5afc9b0751a4ade5e8de2900a57651cc7235f44152b994da11257f1b4546831d0d21e645d7ec94e2197e829fba77708c9bbcd90e32c7096d95b8c3d167863982940d3062fd8c2e9bc38e1f525188e65b5de47592bbc6ac012136d4d47a3d67507642ec2effa41cba4bcceb31c9392f1eb5654c8c2ebd6c44f99186d756a61e3c9fc6cd7412ff2b94ffc9a6eeb1cfdb5f1e2ad6bf5951946d42f9df967c79136d5039138ef6872b98d9a6b5f3c98e2de97382cdbfc120739429b88b9936e2f9a9ed9f2c1f7e9033b193fda1965d7e6295e1925943410947d36ece6690f2962cfc9c77fb5abd9a4027dfc1b8566fa6a09f05c9783ea08a2091da3685e422e9d20ee491cc7651e7a5bb7a7f504b8286a45639733e7fad33ccb4ea26c97805c99fdaed72904b778266fb0cc7155b8efca34c9a3488327aefddca285a36b6508b73521a7e649f3aa7ff93c0e6b3586c1f491d56e2b192845299bdcb22041ac2d3f0adbe8b5b973cc7d8859794c9c2f34e0c5327b1f5e3c56c79d63cd3298dccb6ec2cbf61901caa4c012c370b3bc0b536cc8bd5ca494b11fcde004b49dc7aa6f24e42f1eea44e9b2c1d9b1f7bc9cef24dddbdd19633eb2a4f81f2f0b9047cf6fe7ee4da24bad42700340dd971ef4f1c10ab9c8dfb0d9b11f642fdf865a0e79e8aee2ddebe5e29a4fefe9025a1a932ca0a7c7b5f4ef297fea3ba80f58ef279c3e14043db8749a494535cf52bc5e26816ddfbf9fdc59e671011005bb21c12f488acc41849e346f36bd5067f1175e4b1621f224ebcffabceeb5c2c626a2fc87e737306bde6e3f5168d0e8c3bb1d072e3f303837ec830fd60b4ff9b4ff8423b4396a62b7f99eb2b3ccd9d3e086dfec7acab9133b8430f902776eb579e33a9d08f5232eedf7a3ac1138862d7e49d0fd7bd2006a31b558a469015aaf9139748056de9732788ec59b1962405f41a0313449f9cc302a727cdccf4fcde73b3fd649f820514dd353e555ce59db850e2b8b963f8e395c0fe529f49a0d6c2a1bef89cd65b3b7d2367b45cd44b1924aab95408aa7ea114904d0b9a98567bbdb7169939c124bcb1757bb26579986eb8e05b0d34b6e0130f9685a74857ac637fbbefb296afdcf664c4c0d1ffd672f4863031506dc58035adc461ebe6d911f49ed74d56660b03b6520336b0f7b6d170e320029e684893f465a6773322c89de0c80ebead3de655c0c3295ced524435acfcd20335012f34eba475ebdbab0ecf67f458fe59fe179be935358deea66f9e783e3e0da3858e52cc52a34041cde89e70b8a24a605980661bc132431db1e24e734e71d19d959543321262450095024a9127bc8fbb446a36f107110b0f88dedadbf1407d5ac85fbf171beb0616758b384c778e032fcc27b6c324e419ca310e4e968f99748390884cf4f3ef2f228fb6d58d940b5da11f371c05e8e9ca6f1f433ff41d4050e06ea4bc7e813ea06a7b8d12da93ee7238b1e568a04b083fec1e02b2a0c380a176cb0c0c88de657b500d3c4ce6b9636c4cfd769cb9b26b5c3640e2dd3166b684d77d2d616e48eb9c1f6cca7c18013c86ba3c2877b017a7ea9ce275666122e7d887aef0ad1487e8c0dfafc902e212f32bd900700438b887f4fbab5913bbee15c9f0473da2503d98c8fdab3271e66f236e612d5bbc89960b9a4452dd98ac48daa05e0053605f466d62681163857ae68b24035bea84acbad26300599c5f96cc9b9846fe05253f36bef85fc24b2237f42b40a0f2113c7e4e7e9f9fe9c58a7d4a9e789a2fba5d26ffae96c6f58ef74bb662d389ed1287c63c6afd5155bb6b971f9fc9ee341992149c784e715c427624b5019146ccf3d8f58b66a040351df8eb05a3412242ee2fee1b46f933c28d5c1f55764774e2fe00ebab4094c30059a59106ded8564328f1947c72032770883290c822aa263fe4564b550dbebc9d29abe353c5892d91b696df2af5b6f40407d2dc8c5ddaaa56a66a75d2ebdc0ade56d2db52e1820afe6e057912ea9780ad2442da0be3b81ce2be3a7e5494920824bc20446f2d58fc7da082331772ea0a9bd6fc679215c6a4f413e9030d1ae761ad46148e9593a6746f3b241885366609242cce4df5cb35c523a4892711a47cd166987f3ada6346d47876449e45b9e6e017fc7ef2f3bda898bbe93455cf72722a852a53390c855496574c0044b898c762a02e3f373d8787d985389af84d4e8987f96d2fddd61324c4f7e130a46d2488101b335aac89360327046bef6d538aa07f363949f39d532ea561dd1bba6f03820a3996040a7f48e6c3a20f4dcbf7568d7bedf29409e76eb291571173f06a60925f201578fe381cdcb36a15b3a174471a4dc6311fa6aeb41d35831558ad42d1be15a9a1d0d5d90a4f5437e3e5a8eba37b418b91cd16bd9de6fdc6517f77b11e9e602c34723bdbdc18ecf59fcf02441aeae43689524a4241b9e2d5bbbc9c77cc3224cabd678a70f1d4a81af18b0c5c5652f862839b7b9445a3c2121f80cc78f9a5c3f683249e1028a5836e9db14e4449b2d644a0046eca6ad4297ed109c8c277a90dcf21fea298a304a40b7ec33beb3c030fd424a6ab95674d3a5d53ba5166f5b8b3ad7edf28a75980f78a8ea530b4a014f37e1f246c42cd88eae6b94d745249f584376075638c41baf307247cde474d1cf87ec9aa0c7e576b32b6c050299da31126ea752e08154ca6dc4db37fbaf44db021af18fc59b0611cf7f87be3e68842aab09824c0f33dbcb2df98899df236bcb96d2c18954c92626541b89c4dc5f87a215d08f47ee82b1231342d41604ab671fac9ff7cc9a15db75d48fe014ce2250243eb03a46e0f16e9fd72c32f958a943c25d885a64fae406dae123825a8647de075512db668ec61969bb9b1102f446eb671fc5803bb1af36706dd0e14c609ab2f8a40bb28736337a54cc4a5b9bf73fe920447f06476c043950966b8a802dfd736a4731724bc4737db3d99b442d98b6045dbe0bd4526efa85f873b4c6a51d699ebdbd2f2a27a54b958d73d93fffb65cbb57ab7be3062838d1559b170a3d150bf67290fc0b21ab0018670f27980afad625a274bb34c820c366841a902fb1c7045d28b1435ebb6078a0a6367cc82859f61d75c1ff7476c7547ec2483a3c204159b0d076ee1dc9e43a2de6c86f180519bcd6c7ef86a70ae9c133991fb96e06293d66ea003b3da509f577af7889b56e5a4783e14be20b164069e642b5b44cca784d6436fe2835eb40624a48e45ddf409b503866da1e4ac8b903b5b1e3afbd93de0ef84754f6a2d003ec52010003b1b37c5fe1b296bda0d6c9169ecf82f8d818d80c006a2341bde204a7337e1514bf5067ab7299b49f31478dcaef361a290d6277c0cd11a3147d38107c50689b5c4eccde629dbb2a987a74ee1117690f3bdb1006eee2770306f7eeb3148f3d0998093413de820f5f641b69f846296e8c615d7084df0b8bc88ef12f9b0c3ad0e3d503f5c152e54ec9ac3a1328cb17a496535ca71d905db7a2a4aea9909db08bed10b0d2c0ad8367a270f3d39daf87d1d5c9c9b5a918b5255a25bd2a1ea2c6c640914cda2c922dce4e78b17630ff3cda0e436d0383644bcae46b34b303360fb3c04b723fcd085978aedb47c7e1b93cf7efda19b865bfd307e359a7b5eac3029d737be1d60b0921ca571a8eb1356581946a47fd803d841ef3260271ca0303e3f8cdd40c808348bd365f5e89fe3de0c598249d244bc96346db9e996e69351c34a1220e597a9e6a530a3f9a3cf3660be53197548846b75d08f6391e7410b389c3dd5834509f895c8e79336e2271a8c3f1ad602e8120460085c663748864e1e5488cf219d6c48998a758d13933189ca0a3ad65cf1292f2aa9ef1cf3f589de75d31575f8fc2097bc416b9c9b63bd10b8684e690f27c0f675ab138580b684f7ff40e44159e9c0889ba08211c9ce27e33e1209ca5b3e01c23d83d8e2035fe26943a04eafad52e4d528490f9f51fa47e76274773d530b8dfc61a8f7eb61b233268cd53ab400a91cb84eb1a50abe761d60c93a72caca8e8ec67aadca4a630df153d93f99ca95b524e1fc8ae20ce7100de9b62694b39089cd89bc7f88154b210e822b245c9bececd24fdaf0e8bc7b351864c869c23bead829d9eb42be3cfd86084ae3cb2a36262009f123cbe591fb4f907ef9ffd09bd8603b61c57e6d45bfccb351ff642d988caede362f1a358c6d4b7b42b4182f9a88f7bbd58f88a54bd3ce16d1cef39792f1bf011a9f3e3c80dc002d63a62e0ea07289195e57298eaaac848e82399f093075cdab4e29ba01aaaf20c6ba48a14283965aba0e07197e54c430f8fa145eaf7163afde82de5b5804a89125db6c0710387ee3193ce0d042932a840f8603b8694a382b27c74ea299aadf0cc498654a9e22faa02df6e03eb3a195bdeeabce89ba9082ca57776dd4ec30d8afe06eb4f930314b0afa5fd6d2cdbf923acd0164190d31863f33d2ffbcfa3d7536fd0e3e12bf1f6eac7d5ee25365d9e1cb1ad99fe4914713a0ae9b831092008d155eb9886e3948ab9d7f301d72dabb074296ef9f24f7119db13a5c04fa6d82f23a9213b08c544e49d85201a0c6fabc1b1b315c71cfc3450443018bebf9658ce62df38013bd3bb9b9113549efbe557794350a2732c977edb5fbc641cd157639e281cd2b2ad39e40510a40fb724fdc471f1a66b0f9a381cdb40b5eaed6a8b0a9cd1b546b4a47b5233c15b3cd897ff74bc18ed52014cdf48f43df881deca3e1579cc00467fa338abbe36f89628f40e7a275738fe9df234e6e8858b98d31a9ad75105c8756fab8771318c844bcee4d51c0cbb84a99505f89323a35fed04d8b0332ea453efd2cccc5798c778665c4e81a33ea1a1a35de9e7eeb5606bedf89fa497d1c1b451d026267c6bf8fe36770e31f19514401af82dd19479b0a59cb7f5287b30d440a328c164dbec21e9a5b2ee6bcd9bd0d224cdcaf256974520dd8364044c6079c8307b55915d0af0ac06caafae7d70629d895c1101d12af2634d1cdedcd9b72f6b936d1d0facbf982ca09e65760dcb24ecc7a75c5c706636a164abfdde537d4156e2df1b1de3691ee4974a3fe5379741549b6d5c3d3eeadcac267a398b70bc6038de603972ee7561551cd91b13203e4b24775b02d18e17c10b29e6dff4166a697067ab11fac84aa58d88aabe51786dd8fa5839b12ad32d877c98247016c411786e289080bfcb4099c37bb6f82c36b210cc12a729f5465ebe0c4024cba11fd1ba1147af88913a9d53c4212ad57b17e72008680e850e76846b973b84fc5422860aa7abe0d1506ea49c6bd16ef0ba005e22c595b130df848e0824632f8866fba4411190c49e797f787d80b8c635bd5377c34221d287cc0a5b0512dc1086db25226c4f25a554a6d090cbd4f24d35834418c3be8f9722b2d7a70e2d3354fa79bdc6298e54a9310347b9f9610bf5e48d4d1a9bb38a945ff6c81204e2dcd5e6b48adde0a4323c873e678f93a0ced21617ecc42afc6141fd9ccf22df837d43dbea2fa1194e549bf359441e3a04197c65b51919e03492d8d9d284534b70346c80414910bc95446f1bd705d673a2d60c2905298c20db2e43aa6e11570def4560978b7e7c0fed7948655d6b7d926da960cc7c9c73d05ece01436e778b41b73db3675063715611dd72c6999369bdd6e45568a6e540d492a32c5708dcc38fa6e115c46eadcd72b22c7b99abb308d41fa884f734ac4b90da725cf737bae37626a64ea4b9aa6da70014c8b4451c30e987dcc59ee1cf16500c7ffc3d5baf28f757fb8fa8cfef0b94654979cb3a4ba1870b01f1e83aa1fbe44a08d84051d53d76e715d1709224afb4d4bf80cb391bbc3320c8b7b68c010344d508055c09ebb8e20f46c2c24737a043d38073dfe1d834299a87f6bac570e9935b4979d48b862a8e141ea20d6a8c642a217aec14a7bdfa95aef45eda7f6c12f9eb0cf43781e20ca81a44e49a8e872ece671369cc54847ff5c52fb8acf38e853681372b903c61e820a10518af1fbcd0ad17a8f510228a42867cafeb822ff2e491c2d386cbb21818c5b2ce4f65118bb7ea72c18fd55264bd932e5c321c14bbf017b5d394f13112f01542dbe014a3810f3cfefd177c10e44ba6395e0e8350c710cb2dd2a9612d43c9b872b2d6b8936a3bf8726f579b42715fa63f7a93a4207b39f8b7d56cbb1711c9a15c032e74f1b2835deaf15fd3a13942b5e9fc8aa01a3ef1e76e9022fc26ab1a7074aad0a4d5f72d43659955a8366d3f535c60a8927e09a480d6cd8d9934acb71da6336f8f27541c717f0fbdff261a3395a8badc2e44b14be7ced2f87b2de640680aa2fe78ca7bc57fdcb7047471b321d672bfb45f8961e0065dc1b6e84e95831c7b60729081f198d87fdab05cc4c550c0dc225316bd56d27af0e27318532495c61e021a570ba86a9a77479b50effb3f26a649e14eb43a65b2beb10e14116a18f20aa3d09e075705efe401e318bff83ceede7742d2e234f5257c26c7237464c5d5da2a8ee5d6e374296d859e5ff27c1c4616e6b4ddb39587699394ea216ccf025e3eb97e5ead26c6b576474f3a6755f435b977764a9a5814e7b7a6a19c8b275f70014d2f0ddcd859467b4d19a72c8db1b9b11168cee88e2694d83d31943e56c34349a5f97ca1d70851264b6ea7bb0948ca9d8fd205f2c305ad32cf6edc0987523e01fad69cbd384c67bbba76383f23495d3cc2ccfd9216e9b6dc8d384d885aa7317ce9334be26c4b15843d5ba15112e4a7f88b72ac9b7da244ce8c46fd5e4d3e118692e027ee62ae90d5a4ac0f8966be2f3f427d7b3dc413be4a5bfd2534f5344a97366bed495c8b6ba24a71fe443405f03db749dab93de9e24ee8d4458d24427d22bf4985ed42b3be59e013cfe3a198dfffcdab58af9a2ca619225ac23d9d53787a87998dc5ed486f2914c369f5faad475a06c1a4efe4cbf41a72bf7942376179485567f83a9a65ff4d62513004739cce40678a340e1ca61019a0f5016dee8161bf4b21c3eef443dd79c9f280aa44785f454bdd54813a8e1b07b2b6c6541acf3d45dddb0ba41d603bb339c80e9a319a819419f902904c11b42f8aea2ff84924235373ed63751cae36746fa4237546fdf2730d9b6a3b447d005d95d8eef6267167e8512347b49a49bb62c137604a810462f55432d11b16c12e60d28fbe1b01ba8adbb489d41a9765405d7b971f873cea0320a4c87acd78f99be8a6f4443ac72e8ab8b9acd1c49f2b5fc045a03204ee5eb7af2961c8fd45080c79cf2257041277831d93ba6c0027ef6ec2701244287f1d83fa640023ebe874df929dfa651fc44cc929547b5f58c788bd8f851b20c2086f229f9f2dcd5679ebabab0d7d84403812edd6d42efae6062e7c4ee24f12d90a3cc7ee654ede6d4761f24620c5012dd5bcd565ca552cbff5ee7a4574f94f32bc159334382070f212227ae8c09eb858cc43cb28486bb4cc2108349151605e6850c76213d379bc7fa7dbc58e69496b7efe23107cde76d4c05b3a95b5d43462053e5370025e260bceeae5320d8cce2db75168a0b5bbbb3cd6c97f5f62b242944e8e15c7f9fc2d135263751b17e3770336986599aab9bc652e3f794f367106c46a7eae99d804d719ff8ddace6b6cb8453db08a1488feb8b9ac3558667af33117512731b0a55def2224efa0c7bcdf4b9d74d7d38ae8fcbbf29a937bb70ee9f45297dc19555862ec3f8ce6bd73ae38a12a84f82dc97da7bca23e6b821ead3c68bdd06522339e51a9703bc3cea94f001afe8f4116fcb0e2b832193c6e394b1bad762dba1292e52a815179ea76664a664962e0f37a796ba8eb6a14efb61a164db5b445155ab2e5fbcab398a48556c82939cc653c75a2d2baab85687739793c3efa561840330acc8153977b462ad81608a8da161829599983af15cd828435b763908578248e804fae45057ff1dcc34d686f2b4028daaa73d8eebf4eb6a0b541d15c600047f1fdbfb0daebe136dff62a820203087d7362e61e1d76bf7521562225ee170051702a5990cc793e0fc3128f7aa813ae28463460bf3c49f1400dc0295ed021e821c2ab4add47240aee946da95165ea960bcee673f9e976fc03b42a3fbf9b9395e633e82f9977840b06117629fbcf2ade1d55c445dc676a7c2db5e0630922c9c2ba0563284bdb1d6415d596757193e978b9a2d2f6be61b5daef9b5b188d615199299c7d1c1e545e91a4df2cd88c415c94149d09e986645aed22f757ab46f4f183fb134fdfeae036a968cec3b3773131117ba6679ff9c6aea06a38a9ccfc16de0f84446acd0db5204b5d3d982e2beabc0dbd06c42a17342ce3edb76651eeded2bb64c8b7e6f3c66d7af63fb0a267562bd27715620779368eea731fc8f150860652a1a6709a59b604541abec5c107c452873e7948930cf068810aa183ba5ed88d3f713b5bdeccc76ab56eead542bb9db72d6a08b6d6429c54950e67d067fcf47788391264b4b7290b268b2dca557c933cf294f261d085af504008dd8498e5699f1c37668e16f5a8300bbd2c48cae1f4dca8259e5a42f4ea5a7e1a8dcc399ba7dad548c1fc980e35a48e6bdbf85bdd4a9fd5980bb9c0b3654fcebc554b1f7fa76d35eb0b17b96fb1092a089b189bad0c34fe5a506d657562972bbfc130cbcd0a582e56eb3faab2e58a24e37e5872fff5d425f2b355d6fb67c61ab56c8d874a8dc8ff781a73c736d2354ccb376d67a29bb3db5bcf172122af8684e73424d7b7d06cce78d4400892016bd84ff59331987d4edaf2684be39dc9940f73181ea844e2dbd2c8065a11f7fe92ae05f104002c2cfc51893266f1509089aa654191bd3ce2a1ea205fd6e7cc30122d50532725eb6c345892e663aa225a5230e1813ca58eb1defb7841d717d40ec891c47404e6d214cb96d0bbc86116fa11aef788074cd848e1b7c6a814f83b6906ef0cb851308818e50effdb26ecf9448c7328bafd3865af4583453128b3f968f2b3aaa8bd34b99a05ec499d18a3fac281347e79ab86bc11faff59c33671545bf3ec5d853f8524e66b974f949b5f727d50c2815585bac03df3044849880fac30baa8c9997d5de066741338fc91c5f752e29c8e15b071979014d33b0b45510727404587243bce423226dc34a307be40ae069ddcefba095c560f82673f28db87e70666fbe6c806bf75e1e98ce6b1d2187facaee2c00346f54b408d2cdb7ede4de6add99834987bc09f2e341ab2aed20fb8b855f10f94ff1faec080196b74b3cf97c463c1a87a09c364d7552117e6edbb78f547ae8ec31f4a6c7adabd15b829d7ad25b917de7767fd6e60728e4bf51ed74ec266cfa7d76409cdc461ff72a728f4609c10dccab4cb4ddd9027cc4aa5071bd021a02d509412d298acb0448126830fcde13a36021c024ecee48e3a638cc2a0b41a03002e5584921787b43cade8d6728f0ea2e554b7b2b4626ca3a92c570f2462c7375a03c823bf14997370a5b15a681e7c6adcc94c1b0c41a7b5ae2fe135cff422eb252236f81c8fc5ed857fb1ae59cc70b01807b7ce6c6b0d9ccf852c8847553b63dc893d0a903901e1698b3641e138dd688621bba523eabcb552250e986539e8047d9df602622a8b0ef12e17c9d51efda12a0c49a03952c55a0c56dee535f8b60285550fcae4c22c03aea8d6e49f695fb6fdbe3be9d32d334eb99df76748b479bae1fdeba1b7b1fddc404fa1dd11ca8b583fd2bc92ad5c53c1b8eea9af86160194dad7a9e8d82a2c347653358ecbcc147d188ef4f0cae547282802ab3e282f1f1497fa30cf84ef6bcd0af645777ada919a91abe87f7b930c60b9a386f2f29d8cdf730b285803843b877805d6e191dff44c0e994c7bb316d11d09f8f6502f0dd970efd52a001e531b04cfc818d40fe822900756d205ff103b08c03f547096e11d64aa306faf754e97f4cb16f20c46eb6fbae17a1fe3df6d5629f6601d79f2700376d9e0ba5a9969479f7c5503b8a9d7f2f67a6c34e3bc39beea05830c830292a2dc0b248222cf4e9d8df729116e04727fb5cacac6a8447f85deb6c6ea18282a48d4194eb70ae2a10e86c03f38e734c948789453d7ae20d88d0b7225ea9c97c7bab89713c20fcbf636497416437149d4c53562cb52da39edc34e6bc6b6ec8efd149eabbb8bb3f2ab4f76ce9a3b7fd5f2801042d3eda5108ac36fa4e25a6a46a569517eb9c2ad9077c529bf5c454a10a257becc2914604187bcf61b808a4e94a49bdc0409acc7b8341971d9cd35f9ebc89417020b6e55df3a0485fabdb79640aaa633f257bbfbef07a058c89a1a72c781f762e0238b9aec6f0d49ed7545fe246a9358e03dbadca5ebfb17321659078886813aac4d4e70c3541c8370f9ef3169e8724585a2ca10159293be76bbe94c6fdc2d9896870e5bed45ac4d4a54ece4c745f2803ccc0d148002cbae21ef94de6562938a283475fc15e63bcd5f34e9dfff75f259b99647fc1e215fd9a0a30ded87793d4a2037f1dddb769459837434d971abd9cc04bd84b31d12d5f8b4ea7daeb697ce80629d917b71eb5c05b811649ba598f4d1ac1bf1be89227bd20165d7eb432596212f3bd2a09941b50dfb77bf6b89cbfb166f6b43cf2facceb334b363f5a2637e95cfd160d8bd18e0ae026751d4319e6cf888e60c0afddf4f852f6e27b1f96e17c45574a35ee04461d83facce9d229e5c8126040f2758526bfcc61be4ddd8e304711d11e1e80773f55cb95c4d84b687332cc40ac66279396c29805560dcaf595badd9afc59a8b84d4383f636182840a20ce417c34f7632db9d16481e439531c79950875b9fdd58e92cfa1faf70cac77d90fc21ae95524d8c003015ae3796ff4a5baee9c39857d132846dd37f2088facc2c5df78898e748d311b60dd98a2b37e3d457a11010bd92e4d166d8eee4534e348fc30bb62b9a862bc64d4b34db86c47aceffdd1dc7ed1ec6efdeba8f4e34dbfa9fb66fc49d3ff753b46741804d5ac2843b4cd423f3572cf9b811144c54a36e157c19c422c06389e730da985cd7d05c0ebb12f7109ab880f201e703c0a56f16227689ed17d171da4fe3b9c244836be306b996a8c395618000d3d8d7837c6b98303e5ce95c8a397b76765fe13036d8f7ba84452504f02164da422a4c7e7a00edf179f62b160f70e54b522e67b944961a5ea3cbe4ffcb7c2bfdcba99ce2973e9f69f87b905851da72f4a05a9252ba993b631a366c366387db1686535e5925534508dcb8dc5cd9ff956a573815f021df3a8cedf29933eb614586ffd2db0860dd053727d0a5eea0079aa2cf3b9342a0a68e3a79f8efc928ec632110078b2bde3a425e72fd80ca1ea2e924aa3369288b65c9c5a12477e3b4916b76e5ef916be9b00d3d0ad8bce8325d4388fa0e02274d4eb6bcd552d1cc89464db5c7cfed47e4d57c1a05788b5365e5cc6b8ebe2b2f4f9863dc1e3b3a94b0a319eeee4c177f2a7d16be6c5be619129c6bc5a15ad38ef11e5eb232207f5dc8b38336af43c3fe6a5dbfe6164d85ff8469392c588ed8c29d5a9fde067fe7331db4699275a63a2b2aae43ee02853ead9b1d84e3d2b53318bbd9c5bc9f25853804d658defa8f47791f92f90dc4830db365a83fd4c8a7ca78c2ff98870c039e0144eed41a6218bf119e37360e8577f19de530bbc2a5182415fa2b18d2060dbd34bfab93073e20fff6cb5bfa4237aa622db5202428c0a0b2bab80b76ae7d33c0916a346c6c2d47eb1e8a94185bbcf0e23b3e73179360a6cc19d35187c000e2eda48df801441ddf327409d2b2ea4d918ef4c59597f6a7b06d65838bcd45146a756c66af72f643d44ea5fa61a7fbce5f4042fdc541567745686b67fadb7b5e72da7fd3e5fb009dbfaf9a70c4b02b14903ec227bc2e7311078396fb5500cfd470191638dc9802f0f0880a2416f5779422f369e2a86c1a359c214c66d8cb7bd66e99be2601888ad9b79b6d9dff53252d6be600b6f855a33e814884061397205e96d6e7d5787125ec42b947abc49ec0e787679279da8b679e4f0681fb10ee8ab4846b662a90380c4102954e91732bcd92742ad27feff1f08af09701bf63ed2dee5bc32880cbd349a96d3a12a0907cbbe66f7ceca6e795cc3b57f41fd21b14c7d07307569618a8b1d6bbd5f09f22477b00f6257d7d773a1be2d80ee9c84951cd5ae22fa4c8b25db598a2a49237555cc97ddf94b930f9886582edd841f38f23986d7e7c1beec2f6af72827c32d9ae325863a01b7ddab52dc2c146b5c03ceefdc9f56a98261556c206dc12d30dc5117700587be8adf3a0d2924bb3831a2e3161362ee52529d1d5241df31bc8b85c9f5603d6cb07002727c61c4080f6b423648ccf970c4c039bdf060eeed86c3cbe1a3171c284fdfe852151fcafe9894b9d94cc08551620bab37032efc24d48a0eda490d8e2e069c6838c0510c2e0cb1c593a73a16bebc01348832d01eb733e99c0fe8f738eec9b5e1228a181f049b08602cf4e5fc752cdbad26286c0df091bb1af53263863694321bc93e8b80b36c13babbe34a5ceaf8dd5aecfe7349217c22dedd1f662259854368b0b173451a71a894dda591a179dcb8b22a534e3b74345a6eb7b3d8b3ad557187434b56d3233c2b6b0d327806fd7f51e1656445e0d26374acf54d861ae5120959b03483f990dcf6f95261448613b6a6be222c6550ef8599026f6d0fb6668dfdc10fd5b5743b7dbc7c29b66e33220580a6f5f34e52a34604a5cece12bca9c4d3ab0be40443ec8721416f643fb91a683233091f95631182cbf6f100742855b3b45e39260835410f7cef333f605de54c8277aa9302f380b6f955486c2f0d3b09064a060aad3ad511b54f641fc63159c9a7fa2249ba766c0ad9ee0bd118494d245992ff88ddb2253f1274eba696f52f796e05413594f07fce964aa20c25f00dec88fb3fb887c60a4f084131d759a8634d7d52c78d4d0c0d06cea910a77a4fd39267c8471898e2e531703bd209645148ac6b9cf0fea39cc85014c7653dd4bdfc84158d8644256f7dc31e39c6d807939b661e6736883cccbd11e19ef842512ee79776a819243f7a32e60687322d4ff9933d7dd7108333fd019c839a11f44362198ee125fc6e359497429bb224d50016b7f996ecb1335f68494e80bee003efbf40e322f471efe3c5692ddcabe1ac665934958ddf077c678ef2ccde47e3514ea1fe8d3284298202c3bc6eee6a9e0a39a831e91bcf228f264272bceb67947acce3dd46fbea8ff3d3eda004760663f060dc8814ca2f44db151f6a7e56328ff89bff920c984181317e98a92ed3d2bfa32f03fe8a06ca42634487a46422a4425567cc4288bc4f5bfee8b0b16922b0a972103ef8302a625277b7a2478d6d4e9d0b0ed92a41084bbcd21b7e3a18d58765430e223ab6f18910d9ac660c86de1fee8d97a392e79f4a05fce6a1fb26e1c48dbdb31c493d48c85f59b98ae6d6ca372c4c08dff4117b51759ba2181bf02143471878cddaf8b6365fd6b8943f6e17f954da127d79549ce8435051dd77b81087df5468fcc12517c72cea2c5de43926ea4e02ee5243204cb1f9f31f1d10a0a43a5255c3beee609513ad7f9d563d881f155038c87e05c2f8d11f31f3f7e706bb3c9976bd39464e8fe9689ff450b7b0f9270238573ca929808264bfc08cd6d968f5e7ba324b1366557c1bd2a12eb396274dcab802f227a7616aa80aa48443f2926c41109d675d2296e66b1097e4e51a5fedac00db12d45726d7e24520ac37e1c501c205391290d09e9f885a710fa9c84a4934aa43ce508e1c9d44e52e62c49d936da8b3d6b872169058666cf005a1ec56187bbcc19b8ff71c3b5201d53c4f3377b793310a98e97353c384d25ceb9efe58b30b47aac2af3dc3985344767a9107373a336a6876f111ec75234f30ebc7710bd8987bfa27af4dbb351531e4f15ef6b1078431e7f545415bd8745dda45979be0d8c2b0e199c5430ae4454d33c31a825c79d2c6f78a33461f1ba91c4344e48d8309d83f2e1561c3b9db4bbc6353ac48e20a240ace1fc2af72dce1f548474fbe6c2e2612fa6b105942e7a2b02c003375d388fd74ce741603ee226e088fd3436d7f790168faf5f84b58627cdfead24b74b606d9b88fb8cbb08c730280a1dffda2e8735992349dc4309dd134324e03301541da0b10c84595e4c74a5a4b3c7b89a04aba3b7b4bb36a7d22be1ffca57f31e866ae4302321df01ba81f851f52118ad3ab56074b5a8d3c6d43a00f4861328b7ec8c580326dc87eddb9998c54cfadfd21ff26f4c9592af83b3eb5f25c36495ef8bad35839a7c3f31f26d8846c9b0abcd27d47bb684a7c3f546af65d28ce6d7164213ed77c3c7a00b668c92afe3c6efca28116289908dcdc400a18f203cc17659d9a576dc479e8962e03b031f558cf299cf27b1699871da04f45877dc67fa7ba184adb0774ac8c6ee9a4545e2249a80c293091afbdba662b9167c0f95fcf2c3139593ad4c14fe8bdb1b5480fe64cd89779f0a7abf8c3889e6017e635d2a79b5d344d083044521adb11505c7d01f8779d82d7e4c643db631eb867bd8e46ee55327bddbbcfc28cf4cd954b77a80b7cc065c9ee9c56b6585227aa29b20fd44b49413d1efbb009b88ea97151a02c86b79642a14acf3475a811b5ab2f8424d260a4b3f76080bd41cda20999ea82e6143dce3e6b97e093d7fa5bb6f2d8536385d58b1498c314765b2d2a59a5ead87096ef991a0481b7d31f4f30822ecb8722c2e8d78bb5a7abe42bf501560730ccd723c3d305fe8576677f7d6f030350c443055c54704ab43b31ddfd4e578397042ae66bd7209eba242ba8f5c2a858bc79d67b7a3e7defd7d05a525a6ab6f47e045f08ce48b1c64631822e5f2ea487ba532863ee95c8886c0de8159d76ad99150f4454b0a5315c5c78dce56ab1caadeb30fec7019b9f54962253370677231207d17a9a10bb29b3c3935fd723dc1de616f22afb834b2180b6634a9d434f4ae0f796d449853da9c95578ae298ee3029783a34027045ecd9c6f601b327c9e48cccda700983b7e0f28980b505c66cb72672258def8a183d2776f6a3ca4f08c6e6ed5045cc7487cfe88b14bb515712c05d1e57c6dbe933612b5935a7a5342750a3676983d5c8adb1911cb0c6c6067b60ac3cf48464cde556a149bab4dd2606a61d4a3c72c14f787cda9cc93b42720622d53b407356020869483ca49415cf681c1fa55d5c3f7f81ca285fa93df1084f2358b4a1be9a220f506a9f5baf03ae419dca46bc719c382bc6a7130a7225065a9ed2b1e56c835186ab97d42400caf7df2526dd090fb5d7957e2ce6bd042d3a70285b65d4f95145dec34a95e0dda8f5f9b0d78840648131c827532c9035cd02c67f516014fc5c150b18d34a0a9fa74894c107250cdc253648b929d54377590d1029d591c406c654975facb34a70425048dbbb29f0ed2296b8e9c61bf0b0408e080c5ef780519ae8ad7ddec72dfaa2c14375fb46a2b212d7eeda57f2aa03fbf784a1b04457eba208c583bed319c4bdf78a1fdccd36d364baf515ab7c1cd8c45cc1535051da5d472e84f084da5220bc90b2355f0bdd52f8ea2cdb9a6fea0608b2e8de66f7357f2251bfae3edeed732db373e4748ffd81a3b281e5c322cdad04ee192940e703d3ab562e81832f4fdac2a6c644926686dd91a70891d7d06cded0bca791c08013c0aa90cf5e2d7053aa272f1d2400077876e9e8bce7d08d0d841d3a32c4f9d93a66b7ec1b441ffb03e43270e5e478fdee9e4962b40d80047901afd5cb924ce35b09968f478e1602ecadfd97b70972314e178cd54c4bf51d58bcbcbd00218aa0c324bb0019b7b07068f20514c33030bad01b68d84e103a50d56d0c5455c11d14940b14aaac356f5182c54a925e829b58f065bf98423843c76b810bbaba03f6c884bc5d1eb645464a6b8de78e0698e69bbe1a8cc512191c738b360b1bda7041a3c6922328b77f5ee744e1778bd031f390c0ecd28299b9452351070bfcb60df77e7a9343991b37eb4dbabf459d48dd7f005aada99456189455baf04c2456eb4d546c03bbcd76bc77529ce562cb2ec2bb8a01cdcd0dcc44e3fe319e7ec28ac93e43aee264b71aa45d1a16f333339681a7c3941c200fa539b397aa3694409d24f762b42eda9c0cd46cf5394e651e56f67bcab72da4c01e85890a08fae9fc7deda53bc8db8d1470b021a044e87e565b013f0193a6664f37f7ffcb995ffa3c667af40814f53d6b0bd4cab9322199faeb48d77529001cad273482ab465adb9f5ac8b6f6a1d08a00ee4ae34cfdc2ad68ea2d07d9a64cb9023390db58c2f93d791f0907d380d982173a4d415ec1518b4b125f0209d22546cd5b1b4e1301d6209d148eb247ce5713eb08ceed4493fedbe2a2f7cd1e4ffb36d4004bb86a9b26d34b455ffc3c1da759947688e7d504ba11ceb2c7578b08ce16fd9205ce106b3346d013b317ff4a31e4cd72669588bb5c472a96abf51d5a085aa538605bffe78fa78531323137aa950dcc3d8d00a995f00c1c3505452c56462eacbbb0480775432659facd1f7cb31e96dac094f95318d11970d0e85b395685081ad4df2741552e151c116788e8a640e133de43a2911038e2046279cf406239bac86471e808c1b7b50aee7e958402790af1f1ffe4ac2784083847b4e400b9dad8f5710d1cf7970e3c48a2095c950a47313258f096a32a78efbf7bcf58ad0c6077ce5ce7c2ab52176deb24fe81f3393322ca6e9d361e5d4c01234d0688ed2e320af27e94336a93d33270ba65b4e88068c423d4c1c4350e22f79162ce34560c64a564248cc32fa1c734dc647bb3fc6a31c884ff88b6fa29107b1224207c44fa58a6f74a434b1ac0cd0dbacd04d4b16d5e83131d717f0a68a63f0cc126055f987c0d54cce2e3c6aad264da3d24989f0d141cd392ded5e4bbb0af3767039bac1c9e8b8d19c1e4edb9aa49260901c18416d61bfce1b31fdffaf3a40dd283bbe2e836d92fd9dcc338153e602225960bc96cf63a9dc51532ccf1ec106a332f27ba0b54be28356f7ea1ca22962239a240e9d9cd49bde58f8d940526d0fac023673a8a9ef6b6d2080b24726054118c0020542a0e30272d952b4d6044c05988c36bed128b22fa3640fa4311b6961b2e9a772353afa80405ba45b494a81f1d239e4bb345e54f1525224efa4184b60af4ea8a45a3ee124b91e9b18e6fee3155393250a467fdeb916f2fa8840cb1a56c75c6eb538112b3dea43f40e6bd9b6b537def228e1231a7493ec09dcdf8b58d77da307c124a15f0868a699677a1f7ca0bd704a25997836cb085b45074de385e36f4ec62d2ca76ce6d9125f24dcdb3b0eb36d5820b80f628a67d676d2b761952dc97bc63002572e1a9e347f36360faf933dbe37a39d19336c85f43345e97dc1bb140d5d841e2929bb11e2b403c6a6d8b36b68b2113953a836e61e35f47a6e3547aae1df5055d9c533f9b99e22c584370fe6853fef8af8a7817c40773e0c4bed3a61153c1871020705a216fb129361c0af6d9bd9283f760915ca6ea3bbe72c5430ad6deb7ef37447dbbf55ded8589875074e836f9796dddeb2455e77bf5277bdfa637858df2666bf0e94b8da031b9ea2bb361f357dd872881c8cdf49c742e286ac4f76cbbb2667b5cae280a33fcef2d739fd905466eee7bfaf129cca6f263f342f2df120b345073899d687cb6beee798824ea688ef6f844f3739396d75fce9b62af8a240734b42dd29ed6c6de1f6cfac263e4bb315e99fd3b7717765316d81f5596527364bbac4814fd0e1bd1e4db8a747df6b17d218ed383d244c52aa9c64f448c6c68aad750d484a4967e5bc6dac7c3da7dd3748877229f9274c228004b258f1086c5ea87635a5b4918e8325d3640b6bb1f66ebe92cb1ce7a1e7cc6a0411e8ed7e026cbce0d0cd987f00523069e9b54ba5e45023913d39ed29df36cb0772af96b3d074ea800679850d866e332d99428ea1768c3a16dc0bc6dc15141abae18a26f2b11535078f61b03152e1f3c27068bafb0bc5e4e295af4597e2a0c9a02344ddb81a9a32b16fa225b25da92e25e0faa1c5c7d3aa3b487befcb11a11f96ca478b9bceb8074f95c279c80be2ac59efff4e81325a6002a742a4d58ef5ab36572b13fd8d26da8d3871ea40fa4c60378bd2da56ec31e6e47a55f240854683bfb7848a0e0e6405f649c2e714aa27870b37a1e084b93d78b4d13b825ee3a50b23a06a079bc329070e45b089313e5296428ab99aab503cccd55ad521b09c6d35dc456bcd1395c40ff5493db5f7b8c8d792f5d7b535200f0ca2001b6a98a5bcc53382ac1c62d5fc0a45fb074b57b8d43d5b35f17ce508265849f3815e3d2dae48922a8516643afa1936ae94683ede681cc9a1dec533c1006ac6ae097cde40902d654d3bd0ad16fc5c777b4cc2f255df6ef98ba8ab9d0c92d0fa6ac6e0b832b4d368a75352fe4be956c0602521e3630a1ae6527dae1600b193066b68b94e0061f33832e08ac690512fe8e796bacf30d050418ea2bf77caf80d73eb16e3c72cb4c5aebf3a857295ef345f800c77d6823b554fd6afbdd22ddb610565e85fa1a7b01de20a6973aca10de9803168da839a677c0863c42f8fb4202ed2c61c1a2788f190785bb4f699d4c8f0b5c59e233e9817838531af307fb0741651a160bff9dd49a524f300ef941258e7c3592a59e29660eb058417a4b50c235a6ba4313a2b237cb77d8bb737eae4560f0118581ec1b344784d67e67d3bbf6ad68b6c6f982146f5db7ab24701a43d93a515dcbd691af21a0c1ad60b20daa25e237d9ec3e14612e3ca428244b279bdb8794dbe547d8111545d29b0f5f8f4fbb9c28ffc253df88f6f440f02273dc3a9b5f542d7e31a82353a964d08f58ac1ec9c19ca54aef5821b497c4d8e96d99335f604f203f17b4c532ecb33249aec9c3db855c890021e3da443ac6e38c97d51efc0d344cfb5384303c267dbd6cffb5ac6d4e619968ca7bd27b2b72d443cb9e3c93e8e925fc55ef4e748d0234d2fa117a90fce44adf70aba96e934aed40a6c6fb1388d4ac68cc06d265f1c666d4ac0aee5e406400e9fd55178dc25ce1a09348dcd92c861be47b17cc3f402c53e6df77f037997ad14d2e41dde8309487346a1ceea0939076a866af1b6e61fab127d3f3f71e163e880dda1a31ebb38ff41dfe71fe028e2d7d0eba392cdb782f73f3e0236a3461ba90f3ed43700b20dcda04c5362ece90a39ac3c0bedc2ff143e67e0d3d09d2eed64ea6dc2f85bc117f3eb3a67fcfb3e0f20d5da38d48336e8f46b1194a68758a70dd478a128858c6db7d8b2a59c5b61475d2f00134ed1dad97140e9cd388170613f44c9e610b5baf9a11292a21612e9b5c0c71d8b91f39057b0c693bc77126255f751960e0c1aa5061419e4d171e22b82488d2e6828ad80c5d1acc62a8c99ab079d44ab4f8f833b321bdb209ab559d98a5b328f50734039ce1d2305b61d1a50c71dab200ace1f535a96d28587b150b0f5a68152a4a62ac378ceae533c356bea3d618905c7711f5ad431eb0921212d8ea730ebb4bc8ef2324da6f6f5e887f18af31800effa66cec37c705bdb7501e0b6388914b96a6b4b4f3abebd041cb99869ba05d50f4259c65fda3d95719a980596a133ba016294144d9724661a8e4164ad0bfb0f396c0acc94bef11cc65b01064d2daa64f9a38dd0420635f3373e04adf4ed3d2de726cc3285bb937c336fe59333e31a0db21f27092ec5cafc149bf735c62148ea50e84377398e085b345b983f60332fbe7a5718bb77290ee9b0141c7f1d9bebd8502939f3cd30434eb9001b8c8a190d3330573d61c3ee8078eb3bd2d8f89e5ddbf60bacc691a519f43022f2efb60f2581cc9174904e1e5b6ac6dcb6ca64cf08aadf4d4fa10ced95c71b89dfc0288cf6f073e2af2c1148bef1e108573ba7c368daaa6c18b9866f62d573fa6f38c68a4697aafc94529948022fd545ec53b89d59ff667a3d628eaad6712d6b118012675be073dca3c20224483ff3c88bcf1c800ed66c8b39ff17397d25068e6e68c2018e1c2095ae93dd0dbae831837b4bc1224154f8b8352fdc59a9f860763b05563124c89a20f7b9cac8c880fc2ded8431a7cc9757b194dd43d18a2526980f25dbe63df5f35fdeb980391f8dd9733138a5c9d90ba93bc697d021787e1824af15d3440de3f25101c5512d99f64aa81e0c8ce3da71026340e3a1a1a9147ab3562a58670f088dd4dbf077a519a3b1bce30da63fa1d23a19d1235023326e0e337ba028bee20173ffb7677eee98a1c497a3bcdfe8bee1776b1fba4629be00e06f78b289ca362c12aabbdc758195e363308990be3486585a8caa97cc169f4b3fa7ea6d6af8b01dc10c116f073012fc334168077f11237cccd300a34f9c860c31cb0779800cf1fdebc1676d6a637f1fb28a624080aeb9dc5648b0c03be80409fbdf71b4103321fa3687be0888a8e7d188bb31d636f66db9b5ba6b254f1ac0776b058974d180fad76252da16d82e2051a707acf649b020dadde92b5609380b4852ce4abfbdd900736d8a15b8f91901c6f1ca0973b862ab1229089e9e4e9cc54a4fd7eae0f4dae56a7200d17a3eabdfb78c73756e1f327d253215f4f7e291bfba2d68712529eb8c198827f70d75187abd90d36297183ed9ce94bd59f4083f6d4735218ddf51e4fc82e998f0c21b2d415193ac25b900a953c36889ea66e4a9b19e18c9616585303cdfefdaeacc9901423d3ad3d03e7c8471a9ad48097dc805e4a78b50e403e027ad7093e9db4bcd5af4af5f8233438bc4e00c0f2c1740e4f6b67f5861ade259452e09902b5f29440948301a43e1b27f0b29145f9dbc1f7db712236b8b78b2d98ef3cf358ca610785767fff6dd9ef5fdf0179b6279a36a7e3a143d6cd2fa1d1eaea4efd91bde7d97593b15b3f2743ba051c0a5ca3431038fb12320d543ade51814a6dd10ebc3b5aac031e09072a0307a68c3bca000e10269a01174ce9ea130925c6b73d2b631df6b18d4ac99c6839de8ff4f01243ea6054fd47b527bf41cdb90d33fd8a349fc8f1bc28b49c700742c4ee195fa839bd167cbe50b5d6e157ed88a66ada2c79d4c88aede1186c0a25b8017aa204fec7562354351c2e91dd8331023e4a0d1086e46d5fdeb957220e846a9328509f331d46fd99861741ecc8ad5b5eb092321d6e422087abb6d6b754584072070ddd0369091a845e628a7a0a4e2e0bdf1a45ce8cb946c700b36ad860012a163ce12d3a5fe4de43cb135e8890c2372f7b01680e1477041a444ba957205e554d07b95172b40fd2860d432b7b4a2831467f527164b8dfd8aeea949cd696a12f22e0ee64d1bc86ddd1e15106006219af52d9487116045091d55a9220d4a7e8f068bf17c37eb9e223fbd2dadeddb6dc52ca94a40c760a6e0a540a5b38652960f587d183c7ee4887a40bead428e494eb1159a76a58795a04ea54a50e131bd5df2854d783f73d7c36a4035860ae2167006794f774a0fcf7b6f43585bf7bfcd37a600f9e9452ba40aa5884b5c75742130d524218afbe244caa89e79a5cf621fba76878fee84772fd9a1673b4e872a69e24cce4b2e7f25c9ecb7379aece936557dd00c1a34519243dd9ab5335ecd1a28732efa5d69a22792f9f0e5426851744527bb27f6a091e6394707e28bd4aafd2ab8453c229bd78507a95704a38259da01aef1c8c4fa71899183f785c88657f79a4553744629d424286273b657af99d09b4b9a39183cad4a2b37ad35269f4409ea1130c944dadf172313725a04e4d16ab33b54ce0cddcf8324c328545b8129a66b2aad4970a8595b79d6c5f461548f29021b8f06ad5c491337396668ef2d210ee4e9c28c6c4a8666b663e0a0aab451005c74bf994b0be1cd370caeacb7da6a830cd5a355d72a6fef6da716d3c12c66bd1ca4a689aa584a618951ff1ca8f9ff2a318ced057c24ff9ab9a478d72d59439ca5d3583908c53464383c3119f4ee1f83f8d88f088e23057a53c9e39caa56a1b82443521551bcc514edfdf2b4dce4c57ad3c1e72943bac5494020eb9aae6aa52690a891a8254958624ca3f05a465a7616926617cbe264f8b2613ab45d0842361fcb757ab6ea64fd34879ef69d14f32c67c89515828acd2ac342bcd4ab3d26c068d4e2527508b27093355a4bea26339ca594de0717aeda92f47d59791898911c5ffd369c6935105ae292de092c9542a75240ecf3aafa659f6ef4a3357918e4ab3212768a58b4db7844dd8d4852c1be96823d5b8d008da13d2517562e8d29e6c6f04edc9467bb2854634b99130320f396988a4a4af9033b3afe8a9af577d79344a60fb366af85e8c6b78980be282b84aa304a66fa386ebcba0167bc0053de160aeaaaf46b9bf0d32601a8ef3c9c81dc9fe36ca806b585f31728646c2f4cbc8bc601ad5be2ae527a534552d8dcfc6daaf327a673c1bdf0e2ed7d0484a4a786a5477349e8c2ab0bdf78687c39b7d43aa642700af8be4cc0def8245b4e88f1960033c7e48b27f9016650ce10f89909cb9ef9f52824d9f0e2e6f219601695aecd2ac3f97abeef73ae13f7daecf95fdbbece2b3e1de86af4e21a73c7f7b19d4a2bf6ce62e601083d7338158a55b3cf00740a3041ebd6ca3360410f0585f2a397a79ac2fafcbe15def76f064a77096afc32783065c1f4635b9424f458717a453a83c7778a920ccc34b156102d4fab20006f05a080108af458fac5b07f05a18c1a746f5fc7f957122c043c067e3b0165d4aff095b0061acafe925c09351054ec0a783cba6568b325ec0737b89f394996cc8c85640f1e52ae917a780df031b61235739cc8db23f8e1d08c063371cd629c01bc20778881e609e4ef50ce0ab9f635b05e1a5b280c7299b4233a800df0e54ae2f53cba46372f938acba01be1da86cfd5355e01a9a5c04f8747019b75a369c5eb0b868b1a2c202871c1e4cd901c505a300d0c30b8c29003e943e6f068d2ea592a9316383e6068e1925161f3356296fb3919490c807567826a36f4d33d3cc34ab2621776bf14c8661305cafdda8b577a3b55616a659500a12954f115a69f12bef8f8536d8acc58a4a0af8d2345429efd6098bea6f1232cdc6d22c8f3e9a5ad9b79d1dd350ec48f637b55ca61dd38ba7f6c8244af8c9fe1556122acd4a4325a25251a7481c93207aa912729804556b6b50d00ca5359104a1be9c3fa56a0641a22a65019649641e93aa09d4a82abeb04c2273927b72edf97586305a9cdf9cdf0f21050672042b0bdd71dd755cf732938280408a6871020109291902a8764eae3f67e7d4f76af7fd70845a8dd4711d47ea80b4583f487708a4d6ed7655461578fe3502f61a27c0fda32c02e2aa0f521fe3d3e95ffc1ae7c6982c23493505219999c21d32df21a25a0ab7af4ea6d13cfac21d32775f7f3ef9aedfd50b593a150ec4dd4dbc85699429f5a8ab51f425a53939d2431667f1d6cca1ddb367baa64f8a06e3c56dd7d93c7af8f8d1e23fbd764f6951e6f181d1a249cb94babb8af44d27a534d3f1141333431e658aa34329fd214810d988e8944c22ebc9f485a4b8fbf47dfcb8db6c32a333094fbac9ccdd9bcc9acc9a0c79540615d8bf9f669931bd46b6bd192c79cd252f249d0f99b951f945964f7b1ae574098ebbd8b5bfa6653a35e21669b0c78a6440b35653391d0912e22ee5e12ef5ca5dca5d6a7f7e5a2543a22267263695be4ea8477c299a5193a969e568a23c5f3eb0181a1e47d949efd53573882081d3d5094e2a89bb24eed62538b53a41b604a7bbd6c6c1698d7dd3e2ac7967e8fc69abf07ccec3a79f4444315d348962e61c61d018cf21be1cd5583e379dd3b1ec464f76eed65cc3eed677e86ebddd216e693187191d3d611d81c51aa75bade37abda062285652a3a9e101848f1c3d88e090cc5c87fbecbcf15424264e11470ce9b6fe559c30e69cb34f311d5343c255934669357face2c9507c8e7084231c0146632610100b0de201924d9b36a51e56a1488a9ec8748e6a43d3e8c9adf3b6ebd6b9c96e9dd6c7ad73c6d33cdddd948573a2b293b77466cff4f99723d95f26874fe666b5bec333b60fb23f914991c093fd8f00c2c70f22b84b79a84779bc798423ca8487d26e0a1ac184a74599797c248c7c3a7a99669e28038880e96ce6aa533dd107e2aa39abb3a2598b744629a594c25294687922f8cbd95376f3e8d4f8325f822612a19c2257cc8c49bb77a3b6882042665090ebc893d64c88a868a7e5a21dd59af52293a3074facb37b0d103f78da0766c76fe94c57a7b6da4762441411440828d2d92f31f3c80d131713578b32bb7267bd93075e12e0ae5e3282c9ab7e06a0dfa9fbe306cbf88f11e0511a79d00c9a410ca001ee1f4fa79639e7fd6ce6e5d0c08024e051160140768b58c21d3253964e350dbdd0ebd4105264a16d5b4ec547a3fca5d010330c6408203ccaa2f7199022820839a25336ccf4a6863d28b581524a691a588c4007426968e2039d201c01a1064d0861045498a1c916facac0a81bf43a01fe1368d053c1b576f556ee97d55ae79c733eb573ce39a747658b1ef60a3af71312701224cc74ea358f151c6287d84c855459a6a70bb46cf1c65a4ba9b5d65a7b6a51bab5a71625bcbe1c670dbd0554018f186f56a55b5a15fa56a56b786a69280830067a998c9d29a59de904e87b3f7d98df0151e9d349524abdaae47e4faaa453d9f20205ddfcae91992a2126aa3f9caa1e8efac9fd9cffa09c799716d9bf6b6f259bc08903c4e5eba7a3cb0eaae40f2ca251fd77e5bdfd74d44c432058c0f2c1109c564c7877bc2090a6d17f25e7a105533207027180848094802c52015986dcbf19590751b2071e51b3c0cc407a38532e814084e8e1413615697437ce9672090c72f39f103d1c480f21a64ac7443518e40397f8006b557aee5380b75a62ae61550a4de0c441620312a65fc754c989e2c0fc747499f48172d575ab4d760eb6c8f54d60c965aa5233c651989334235238ca9a03c0074c1ffa2958441047b1661247a4e6c4c9fd538989eaef720d659c01cbd9a5ae45ae60e7650a52e9c2a5bb7d2cf273ed5d31e37fa59430f26598e0f9b5bb6164b9cd360a0012f0ec1c343764783ea594ba09ba1ab1facd9fb32eb12406a4ad9b1d8946fa567756ea2d72b388b5bdf17412c66ca7d56e972375de5732619414162aa76ff1d978cf27481b28b203f4f1df707c910b4771caa22cd34a82b1caa9e52df7953e8f1e3e9204e1e4fbdc771c77b97b377b4315677d7d32424f0f6d87b6330386e54ccea0b5682d4a7bba68d3a6dd277f913f3a4758321a8dde9d8e34753a52f51c3c80983c93a7259db17984a260d3673fa22e811354f15c2d313374bab5f3fa17191fd60d4e0e912047909ed28dd29b4c93830710b49b1b8fbeb54d08a2ddd06e6837b41c1a4361821326d09c38618213274e8e98d498d48aea8eaa440993a2a2baa302c9981431296252c48496d375ed1a30b97b22a0193d6144337a424633a219d18c6835254a7272727272747474727474747678c8f2bb5f4140f203274fc45e4fd45eaf57cf14422761b4ff745557dd69e2335df574123b55697a6630dacf111a8dce1889cbd12171d4493c489c557def2f7d3c98c7d2c3f4331f31bddf30814d250fa855de67410ff41ae5279a19ed096b666f424ff6978965ffc99a3744840439620812eee347135ed91f480e12e763b167996054adad4d7c9af834f999465e11e4178402fcdd69d34929a5f286d2a881ec44d7dfb5d7e24c402755ba067168f0cb1df52cd84f9c05967257bdf6acb26e257f5336722772865656bda14a902a2f7254fd76a35c8b9c408b8a68341266d6fa89b35aac08a0d5fae6ce83732ba30adcd4da70d4000e1ee794f6dcbca88fb5d66e2075d156a3ea73346471aa63b98f0094a3320b731550a7ec919bd60e92d7911c170fe9374ae44a9ce64532fb93688c04b6c0a0a048f21a40044cfacd552ef35acbe5474772bdee4d1d3f3496e4093f7ebdceebb6cf862403d2c2131989f4841b7f42dd5d0b4f9e2cb9a9b9aa8588ba1125cb1f6da04a78d2aaa6a95c9fcae48c51a7e651178e272be43ad229720d2f506f3e1e256f9abcc69ea37834c5ab2c3ccbf226f959c0e6be8e993b8faaf4ac851a554ba6cf3375a6adb43d892371a519f6ab47c2f0f44cc2d4b709c22385d923ade2c1f3d3a958a758bebec5b139b6d5a9175fdfea5857a76cf8fa76a753a7af6f5f2e547e25e559e047317d9b4a094c5963c35c752fc6a7d33f85c55096ab6c91a5e55a9f05b431fb035a1c9bd362fd17a06db5a8d3627d1b40eb6ab1fe09b43b2dd6e7e12a7ba451f52d4fa3aa25caf55b84e3af84a315caf555c2f1c4221c2d925c3f254409470b94ebe3d0fae4faa5fa8517f0b27db5589fc240fa03d2588b75567fe4e10a6cbfc6ad87930505aedf33a11e92335e3f1eeeb5578fd6cdb3760bdfbd56efc9d5c77b6a759746530736040918fda147a88c0651245468284529109d51a28eb459bfe9485bede9481bed485b75af7f9fc25a75c357ef51d2a991b6728db51cc1e15bbe3e05caa13e0dfacfe1eb0f9133adfa9f030e2de04bd350b57ca545f56f00650b48d3a8eae3b0b1672dfa2adae1e9b99938393a4a72fdf9aa3f7d8e727d1e40f4f0f1a3b692229a13a3974ecbb5f3b2350912a2ecb34e21e994e7434e54b76dd382d10d592c4d4522b346d6dd6ac1480b465aa8557f2951b2ff4bf69f527572547d0feb2381e5f19e5cd52251f361fccbfc1b12359f09ff843ac6d04898a9e36514e2ae1aaf0acb45c7484194b2871c51794491704a5b94e53a545eba55ebb56e359ba5ded1fcc1e97274a6cb44bb29a5f4e7ab678f0f2cd6f42ba8e235aa1f8921fdfde2bfc07293b8bfdf2f84ae9a093db9df077749dcf526315abb36058a79adb549ac49ac896c7643f63b1a2bc05b7392037f4c2fc5053cd264fbcfe35e8c4fa7ff6aab7d9a4e654be98c6c45c7f47f4a150c0549200762477d8c54716fb1abb894b53c5ab440d8ef70bcd97eea0a780b7bb2aca03f7b4ed96208baf706dd7b83eebd0ae84c360d4003e90b02db540d6880d549181488ab7c08f90f9a27a547746aa4405afe7a30e6cf98ad6a993a43669e34cf49fa993367a3e6b7883f3a353f4712a0589e5f0344a788982fbec470776b8a59a80a10ee1a50bb53ea4d809a00354132338c6b0e05b427b4279d9ad3ddddddb78f87cc1c37d3d0d51aca1bde70881e747f20f504eeefe49473ca29a59473ced9b37bce52eea6973bf7268843eea8a4b3a9d3ad544db973ef1bda86b6a75102736fa3866994c0f71bfa8c3ea3cfe833fac167943f97aa346bd47cfb0dfd37c47d4ab68f82d5a7f6e8c0c2a3a9d5fd774de178313e9d28f88388164b42a5991c0a801120193a8c224ca08eda985a269d6dbb772b498b82f2d9d05a1de63f2dc668ac40aaa4fccaafacbc5ca5b8f8944f0989b00891f22c9e45e80116191a61f129dfc2450bb0c2545e4d43aa58fc640196668eb23f592c3624c04c22d7b03494673e401478acb2141ae876b3dd38d1d34ebc660fdd6e369c9eed865227583d3d3dfed9dc8bf1e9f42f8a31a933e0160aab8572838273377a37eab55058282c57d9da06d4a9b1be36201d17566294bdb3b123b634a365bbf16c3d9b8f8d676bf6096dc7d63c6f0940b41dda0e6d8747c2c86c72b9a935845bf762fca2be1c7551804787b9f05266e0a9e17183c17e6218638c773658d5d14161ed6014d68b67093f4bf0c11863ace3a2b5749670436bd15ab5953beabdbbf8d1349b95018f1b6c268127fbfb648775bbcb343319b5690aa95af91f39945c658d5a096b0d24cadf451e4bb3b034445dd470460f9e499030aa8bbd87a745f79130fe35850ca93160d8d0a54e4c2693c96437d8e3996f3b2d9dd44fac9a788e32b54e4c261389b395a532a9551c6b91d4ea1bc1a45699d46a68048d75a4eb8f0e73583861b9f234cac7fa1aebabfa34cae4ca2ec30caa94fa6a91a7c59e237ca382eb8bfe24c8995993302a2db6a0f9b48b61a796d31674ef16b4056d417933ba3817e7e26c469bd1c509024e25da8c36a3ed898b572c163bc562b1d72bf6137bbd7c4e1ecf67535f2dba943cb507bf700cc7700cbff00bc760388671f0cb5553865faf97308d715c75314ebeb31797766997766777766943c0b4ec3f9ddcd99d5da2175ba585e572b9a6cbe562b15c2d987015b158392ddef2a254058f95ac6092fdbb162f250687f59055a49c1c9e6f11468b2e672cf7960b718b93cba924b87e4ef61f220858e48ac6cb159db8228ec55b2909b52a4595129a58602544d93f15068c834b457255530e1e8d1298e422c948321d9064b9aa587ccacf1d43fc0033c0093c4e99490952b5c1e40cf7ee3539434d438e123be93ef3263ce6415ce8b04dec5260c0a3a935964a2617feadc31d75a234bbbf917e9af4339d08caeef82b7d200cb1454c7f58688ca684f433a713b18da684be11342554090d8da039e9b9c919fa939bd1624a0976254e9330fe2497cb440a47120f8f59e33157c538cc6137c88282829000c98270c0c168e5e794d1ef786882ab500fb5ec357bf5a8bc4a4864b20867cf0a980256580e397c36a65693545d99a1c35cb692fa02be17e3d3490b38e0d04da0063d1955e0f0e59259039e2c60bc5c3805bc8eea958c1af08465ffae677e328a44b1a7ee60d2d9e1b331b54c3a2657ca0b18e3d3e95567433481e5dd81075427ced989b6af4baa0baf03880e54ae415a9c1f5ed1133f1bfbe267d3223ba1a248630578ec66b9a6cc599b5a2f1fb00f9f0d9eb5e8cf053c4e999763cafea5997b395eab533a5d9dd56e96fda69b397695cad73fb98ac5d77f57ad7c4d8394339e2b4b1ab92a259438d9bf33cafea656ea0a58a6459a165da61bea5400b27f47d49d924ed5d4165294a0023a0bff15d04d33fa29b33e94ef7d0ace954ba127df1cf2fd8e7a2a6091957f362c161f2d7e65ae5afc5cf98e7af3eba1f22b6091d54ae8418eba5fd3f567662140f7f5bb909587b40ae8db15708f9b1973d47d106cab0973d4fd171160967f717f9cb01e372c214bf7e289dc57f97f111299468eba2ba00a58c4d2fd8b2fb2a2b174ddaf844498e8421f2bffe2fe4a38658eba4fe4be4a5864556425572ba05ce9b08369084a18fa36842717a7db2264f1a1821d455fa57e1057cd1f4cd4fd22e4fb4bc87742912febe2e0962cb2920f44ca957c24a650bef2ce58be73362161eecb6f07cd1d4cce509aa3306df8d0f441a8090993339d94527e43d3c68cc2f401c755b30989ba7f5fb208c73945be9f128eb307251ca713e62b9bee976e384e22e4fb5e38ce56f7354d630db87f9cb022afb115661eccdd57e3043a641955607f993dff1639237f9400fbb4c192a325474b66336b6998240c4f72b779f7dbb191640d2b9ab221ae80251314c8f2e89623d94ba23b2fca2364488bf40820418a68910e39c20699b516014466bb430f300eb52d07a7fa8db3fa49d76894c0a4ee556173fba9b0061c01bf787ab8bb91b8bb7177a3510297de460d538fc18262b1f9b9ea94b9322d22839729b54106ec7d291cdd49a66fa30c789445b0fa75a4efb399f3c533673c9509abd65a99b098b098e0d43a75b7ea39995a6b3f66869d32db356b47e924531bd430a799acf5baeeebba52d799ba0e771d4ad7a5741d8bae2359ce7a912b3982be15d2ae7e0db121065cc4673343202dd2189187b5d65a33d43967d7dece74d5a9d322adb4de79732e29e54d42b2c523e128c44b014d61bd3fc13a7d98b308d38759ebcfc9711787a337dd399d73d462ce84c2513d9a731e2d395af204087dfa14a76160907286ba7a0d5e337d0a3769b4a7d07c623e51439ce2551693bb53b5041e1b0693fd748ca4c40989bbae3279cd51d48d1c45df043a8dd2587828358e88f78333595327d377faee7d1e0843fc6c48281c6b47cd2837285f9dcd66431246e65aad72b506b548e9a4462d529f4e6ae8b416a93b6991e274136193a934dbf98888684444444af03422bdf44c61f3b88ffbc8591d66254f0f4ffb4ceb59db59bb79cc55cdc313cbf4bdc7c7798290f4f88f6d209f5bed9c67b65c3b9d7a915a8aa24cdfe7ddea56b9cf664e52c83297f04c297868f38d58429b4b6833346289918491d98b303e9dfe6586f801965e44bb46678e39caa59028d3932e47bb94af6f3f9b1a7395d31c45bda86b2e8554f51a52c0771a8d71147d945e83549d248ab6cbc783076f7e0868a7d56e1f024ce0c43c7c3c505ef7e0d117afc2783600b5628f64fa66e84afcc86b9f17b548ff0722608cf275dce5b81229ac01794818fa17cc319f16b9aa61b5ce596f35c2a9454740706ab5272cd2e5c426714026ce25c247108b96bcd2e7754b80fafe00f2d1505002c4d57b2b071ab1040808892a093c7ad1889d7585a4728654539ebea4f453406c1a82a43f4d9644fa78cc764a32799544c29e2591361289b3d77eb52d4ec75b94b3d55ada342fc2a32c7223aff9137ad3a9961f5116cdb9f3b5b94f2c669ba75292f75ed42aac43dd891f794dcecc2216292860cc4bd350e1d01cdaa2aec6de721d777594ced9109112a3230f1222caf4a713a14c7fd628e9876b19b56317f593aeb16e7068fbf8c84c2df59e2280041172045539612499fe5b9fb9d01089bb76498cc46263924482022c666dad76496c496c89ac7ea703256309439231c2f47e959da6ac9e24ccac355469717b1629192577eeb912a7b96acafc63e8e7792dde19942996b92977d5b360297fb9db3c0b7ab9cb9982a4dc913c0b72b9935d8985005dde7ecb5b386a005358119f4e46114514b21d7a8077e8019e3b72dbe49c33668fcf2332b519341b37af9d3f805850ec6995c9e8a7f444cef80c9a42d351de73475633249d0071e3e2e181e4951dc71e3144882bfb1321c2fb2e88d791ea676399e4cc1953c67f864761c424c7ce398d6092c32487898eab789028193963bff2805df5fe7786312d76533973926d1f8feb4dce6b92e7b4da127d29a594b2c591ce6871d697dd64e9224c1feacb3cce9f5c916899acc5fa5b68812de734a9579ae8f103e3d3e95f1463626464b595ade462304a8abb5c9512521c94503a4a3aaa93557677ff50a0a22341b56fbd32fa437f9064fb39dfcfcefbcf03c51667fdc996c6b6c0a2734651d45b6075b7115b606d81b5051c8a4367ac1fe099fb3d9efc03e3d3e95f14f3663f9b4d95049e1fe40857d199ca9f900a902a97790f0f0788ab50de7618a4434f483b256a7bbb750edb6e4c8bdbcb4898edef163aac451d5bdebeb796ed77e881fd16594041b4a3247755e63838b573288eadeeee3215050aeab9ee77a32f19190e4e0e144796a7a7352fa9cecfe6ca64bbd1d064ac850288d6dbe6bed168465b6e1cb2f79572f7fddcd7b7d117e5f9beed6e3f9bfd223ab50d8d74a4148712d1998c1d09f26ea7ea5bd1035b6094bc0610017b8fe32afff11f97c95eaf194fa75cd63e797263c8f63dc861d95e2e64fb44b4aa57368a59060aa2a5b7df9b4a6257dafc27dbaf21cbe6b1a3167fec974a503c6972b46ddbd6e4e8e809ac531cadde75d6add4c3941bf4f1037bae6c5fd9bacb51767e7e37f959c0a6be8e9937fbd3a2ed9ef669588b56b4432d5a77d0715ab4ed3297b5b881230f57e08d0ab568e9508bd6651e24673857e5b0b36c53bc56f1e88a575b78d685b77d08d848f747213c3690e60c1c5002b89f408e16ad8f1e60f8a345fb6211b04c02c54fae4fca3c5ab43cd67e4d0361e54c062cb0ad610db57c5949e4eda754a13e070f2874f2dd0e409ac20ea4903750882ccaa4f04a554bdb1f6760c08e2dd9d26d0b77c83c649b3a2a3f8808d229ee86b4c56d0bbdd02231712c9dcd8aa85116ae8a37c40cf70072849d65fb443a35529c6c7f1001a453a470872c2288903fa2532cdbcb21244b5bb472dbb66ddbb6ed08639b2df4545a6c1b62c0d4f6f8515ba4fe0104f56b1c173b22cbdcac69b1f2a8f11a3a730dc6a7d3ff1893258b4575a409380ac54da6b425559387c7c5da9105d1b850ce6991d4f4007227e9ce49e251b3813978a6136b9d586badb5d6f2783d3e3f5c4cc6c279486642de249a2cb3235d236f8a5a6daae0a93373a4d34819ca1af7401970468bd5ab36f474026cb64855cc08638cc90c4802f6c182d3623859f3a645199a1a1e40f4083273b2c06a7bdbda6b5fe68d94335b3159f688c9c955242266860c4d0f1f44c4977955625a4c3dc1f563268cd4d3d5f404e67f7f36a61cc48067066c1e6bf204ee7f3fe75893bfaf69af71e0fc2ae5b91d37fc5e4615b8a4ca3249102ddbafa02acf6f872a572329a1058b38c251340452834fdf458ea25dd8f4625a6738def72e2873091c63469cef8726900eb1f98623c6ae6aa1ad875ac8efbd8f1d468da7e633ebe5b67b6b10b7718f5bc5e2e9378f500e941694a70f63e5539e7ef7746d25450525468666b200c18e35ac51f47b888e7de425a4e888fbf4830c19ca94a4a4531bcd49a78c787a66d02c1f698ae43e0661dced86463421a217c6727f280d7235219af3ded984a809511325f43bef7e9756c480186099c4092f2a93efbd2f2bb7c5e47be7cb51436cc6cf02bc38f45a2ceaf9c2f1c5984c9a455df4c310c62ea201526c755acf09d852ea1ff5fc036f0a68b5a011ef2db51fa89bbb3b476de5aead4cb03ae0a8bbadeeeeeeb3922af52a8a09d47ab5bb5be7d9d975d67edff997026b6905690ae85792dcadb5d6ae9bb3566bdf6db5747a76a22c51a9b55bc97e9ce7946ed4c8e77ee747b78d9bf3e5bc2f396b39aea35f6537397beda682b1f8425174805b4e1dc785bf49f7eda7a4db0ce54b0a136a7d999fe8a49294a2f75de719f95e4a12fd0ce0799bd503a5143baf6e2b53d8d5979d91d2775ef2cd4b5fdaaa080308d867116edbe4eaabdbd3b775fb6ac7ad4ad396eaaa54694b095343cfb6584127bb497f89974edd6d7a8755bc2749717bb92191ab94e25322b9be11cf73ba59d04877a9a43c68a7d57adb6f1f0fff8b93a9aaab46707e45494ea9ada011d2770ed246f5778c993727829a6dec76ebf6b5d65b6b0b17027a55b8ba6d965e12b5f43b0f4feaf6a6f3bc981932ddddad6281839c14eb476dad552e913bd092a6e5809d12a6769f37822cbfb3252961be249d8e9eb7bb3360812db3b0a60ae6bc945277c2b83deb8a31dcdeb017062f785730d9bc0c833a4d8c0ce7a9b45861854d7ae73cd86699e40a243024298cc133c9154358692a2f0e8cae490c57c0a2b8a24776c5ab035b4e974a52d730c8dc2230783588190c6d454336d0215b0405927341d080558b64a50ee245afd1edbf5bbe4542c89794ef65354ae2dc16769d5edfd32858a364cb141931057183a1eb51b1a48805798cf1ca8057b24c52c42219c12a5926b1c28967069c9265122b920059018509708b2c9358f1f3a493304613c68da2df22a52f67e60d92b30ff7400653c6fefdf34753a6263943333515350e3a58961f946538a4b3942f31ac3ce74c9e5f23673ccfcf72c6c5c7c8d4f08839a9a4185a3234353cb00fd90d795ac193e70779e9d49f5ef29cff2eca906362646a78b89033ac2974579e21cfa7179f5ab5b24292fd9958b99b21bfe0409664480b563042f67f99622593e4644f4294fd73c856fe3b505c6149f62702482cfb17f15a110d65ffec44b53c830a9f1fb2cb245454e1ae16a424a9a2277b14b2ffedc934f7e73ddd932e41b24855cdbcd29e68d04521073be03c0b56a0413534f80c4850faead00cbc28c86007461cc9a00b39a042143b46ab160976f0049d27aa20852440d4f0d0217f5926b9220a4b983cc8f2f1785bb5e30727205262450c78a0b3f26f56ab8ab8800830c0c1eb0b434457ac9c95fd1b5685ecdf3fb3859aa88b64d318158200338534e47e7fc21772200616ecc0043468b25265000465e842124132004313ab6a021f3091492b9ac44a062149155c40830a58c8fd52a5527a2ad2040a94208219aca035850d6a123e38030ec0910e1aa858c292980f7c346ace40823b55caf37f742a2ce599e7e730626890e4f954e47e1d2130e4aec21482328ddcd78551ee1a6fe3e577ce65f799f5f000a0cc39e490c35316d46fcf438a964ea7607cff75754a87efef268c9f9f8d8b0e3abcbbbbbbc378f9d9e8f0355d0099c5971fea59c2075fe66e87979f0d0f000847243200be0770bcb987ef1e94f9c5ac05e065a75cde3b111c6716c7d9937b762eff72e346965fc09969260c0c0c38f30b2873fd747876791f7e9c3de3cdde5f1d397373e31b6eb801079b5aad8b8b8b8c2a70cadb6f87672012a68666661926f0e8f238b86c2e2efff2ff52d2e0fceac6bbfc943438e24ae2b8f12edf9f8dcbbfdc00b7cfc6e5e7cb0f604c8b33cff8e167fe219c11037c01717c0df0c6b70149987e9e16fbb5b3f9f052c6bc940ff3b9f45f7aef63bc290678b79d18e0cc58c6778ef1345ec64f393316c9333ec64b396304e757353ec6b74cfdf0317e7e3631b20cf0ea80d7d562bf70f569513c92a2010b01eaf84368a4c6d72f2263a4647cffede9948c9c517dffa571239033a96f1a3fe2ade5a8b6616bd3877e8ec57732608c182ff332debd18204d8c97f19d0c193164c4f89a968911e6901103a4016bc01cb6f6e269bcf41f3abfb0b5ed7df89887f99faa30054e1ccc088de088ab1aa1c37084442418a6f0648a558d97f213a2c80976b0440f5635be7e362e5f3f1da61ca3c5be3239d32930f75f9dd83dd2a9976f5538de7cc3fb108e37158e38df70c3c384e3297b32c2f1f30dffe1f837bcf77f045758587d5aecdff1c22f4f7fac3d72bc5905e64753565179fbe9c039868bad5d531edd05f33760c20b0841f3385860bee607f03658604223f905f038be46c8e2a3c6df78162166fe468dbff135ba0180ab77016b506de57be56b38c0d56710c70f00ac32d09473587b70807505d6d8101eb7d68b998c9f4ec1fc0c1ae10f61ab7bf9fdf083cbbbc0c0c0fcfc6c607e3ae5d2ffc3c708c71be363c211cf08c713cccb085d5c5c6a4f7f8bff211c2f8e118e38261c4f30e1f8b9c5cf6f8767979fe51f349f71e490888daf09597cdc781ce18d90c5e55974ccfc13064443abe9021ac0564556351e05d87d406742c2b8f8ee068eb701f3312edf63ede962c0243098651dfee53bce4381e3cca8ef68b2cf9030ee120694b9d26edb3e9b9897df8e185f3f9b181b7eac3d2ee16d2d81633c4cb8b962809b4e8b3431e1769d60977fe1025ea11d337b2ee09d75b24be307b2cbd6da369d165ffcb8b55e482fb9b884574707b845089ac7f1f21362e66fbcfc7cd8781c21111b7f5d8eaaf1374222b7c6d7f401728077c8ecf2f346c2f4c73cccc780376e64192606069c3212060694d907947fe9948b8ece2e1f0010c6614217f0e561bcfc12a0c3bf84b2c51ebc077087070038c451a0cc2228330fa00ac8e2f238bec6db00595cc20b0831f338de478dc7111211804c768415911aff811526b6b062c2ffc6dbf8ee8733e01d6478bcad1d08d0b9d5a9d1c517766869b11f0054bc10f924ebf0301ec66db508b284ef423a802c6108863e1b6ab1ffba764c01d31f6f4b089abf1112e9288ecc3c11f9841320806155e3e72784077e9c58d9f8f9095124b602242758d5b0ffe0cc398045320ee0e8dd008e1304b99f051c555e80e3770267e38c1660ff0a38822ae078959067a480230d0a38d21eb7716b8d3479dc5a17a879bcadf1fe8c2d797cc9fd1c387e79bcad16fb35401b6037c54a7e07a8fe55d2560496100335b488bc908632e8b005254460e584000a2bf8e8a658d184d7e5a87e1ba05c75d3b301ca95fc1a70a30b42b5d54c785b3540b9dac480c7dbcadebdaddbbaaefbba3d2e8cb2d4e1035d1155c7106a254594524a29a5ae64d27298c5a4fc6ce64bfa2cb57d6a7d59a7a8707fefece4fe7e75cacb2d93444127f7774fc3aad3991452c899f90209d33f6fa8203a5a62f5816aa40aabede524b2c19355087cb5852c426c37ecc07df912094749264dd07991c1891d2b848ad460083317f000610a2030c2aaffe6bfdda2c102fc0299ea9fae166930835479df9d448fa0539091709517ce9e2e24bdcbb50311f01c6aafcd5acc03db8760ae8ca63c9ddce844ebf03de1a794ce5a8be377e086fff273f1e9003e43e3109a7b3ea9e1d0022c630ab5171ce05aee97f7d4329c44122904e5ce74bfebe12a961e2ad2867fc1f227d79591315215c4512b200bfd1694d2d0c7cab7101d7589b478171f845c3d91530b31df22ab9771d4fd222b1a5ec0878b6ff920e40a3bea7e4b48e43aeabe0b99f1f4e24799ba922b1690a5fb1f8eba170842ae7a10e1e1a8fb2a43bf32946f8b90090a70dfbdcacb154b0d7bdc1061a2c74a4864ae4e6fc317594d15904545c5c5cf958b577995ef64c3708c226dcc2cbd79bf76bedfba570efde0265f96d5fd19d493ef4f24f7a7d04dc9f727912bdf9ff7bd5971ac12f9fe6c05aa1ba824cd16563d0b11cd08000000001315002028140a0744a2f168304f044d8e0f14000d85b45662489a09c328c7510c29838c3188888000000080c868d008c39d5e1a55deed56caab9d79a306a0949d6274c8f7fc3a3b94092da1ac1331bf7fe1a8d44149e430b6201208aa394da7412c07e4e8c0fb455d053ab06c223197eb8c50fc423648c59eb6a5ccae07d8ed870d750e68fe99905d002589dee693c01dbe3b422f5a11811b1c6d8d1a5882c8626014b1ab51a3db37d748faac898730b2d16448c36f03eceabb222759e22ea4f9424e97ed561c18d367b51a094fab0f86fc3930b2e62293c66e29906bcd1ae9bd107f622e417d4667fa01c677fcb9495724578709215a521ea8df6d73f1bc4b0f789f70dd8150e19d24c6b788e95cb0b04ac998f39f08f38961ed3ee2b8d75be339e72b42b2c41fd180f2618e8a2118fce7894b973560375c27e8969dc3964304e36bc978eab25a127c27cae34576fd597556ce27f152d5c945e1711824e36d7f42f3d83e8e5d737e36151ac5972478db6448b0ded0b182b4a30b19a992178dd110e62f93fb5a94b313c36cf025a60004b8ad0e9e8448b13daf8f8bd02621109e2b26334e930e29d065d59090aeaa29ff5a53e42478e5bf535640929ffa3c38418fb0e3a5ce52519fde0128b607b8a96e5da7aa6d9b5e5f7236430704d5ae6e4dfcaeef35a2b90b3cd2574f46174419c374a4706e311a75247fba6e17aa4245470ffc7ccdfeec0b89026f61877a4c3e23a1a5d653d0c14de230445db8b66e5a53f87be98a4b54268c4877cf68474dcfc469cd32d6321a717965fc2b9a4b996743017fcacad136ca41fb8c0df98cc5a5968e536037cb7dbb32843e702b641dfad624c3ed967484d4438abf59ef0b8f6ee9bf100e3005695e6448cd3ab9e744182c4a9657000691aa6445942943704ad19621891c9ae8b67064540e3f876b0e3753f05536d78ab865af581b5745dac4e01ba83528db23c66400e453a9a2e360c9b8672a9d2f73980c1260252d7cd175bf2105ff3d52485a9334e19ec63da1b70a382544e68a565f355cb11875978d01248c17dc855d986e0a7b8e4e369e12f4921f9b3d9fbf9f2ff238e94ac6579e0ed1e98e940e66d3e83feac0db23b8beac4586c924d9aeec3567c2e7dea9cd36384394aab00b32e497c32f222434385f0ee77700b9346cd58a924f4a1ff0cef38efd4dfa90eb9d84d0c93217c88c84ab8ba184c5a65b667589e89246a168ecb3d45c43a8541b036ee4e4b14fed5ff7f4021a4c5b557a68fceb74b65c021411a45f316a9084259753dd4875c826f19d45a2989da228ed1fe38dad0e8882097e81f981d2d44c023f4098fe71bf34ebb138bca869d59412d72f404d56a714ff96469cc4d80b09c3e176191cd328bc28238f3f12433cf60533a0a635984baa162480b5a46c0d93c30febbd69271b70c2b58645480994067506b8ad19acd26845d5c1b0c4a8d8a2c0af92de58da84f0407f38d38df341c8b5d8d4a90a601c1aac646df7c3ad91a4fc2912acf705c34f3aa4778a663dd55e61cd0235281560c6151ae190351c016844d7cde5fa909019d016b553acc51c24dce02c8a42f2da28962b2536bb1d61ce084b0c63af897cb57685005ad16df12827ec6c43422b5302f910623dc6853f0bcc0e07b4872c746f1752ffc01137b8b6e9b564817edf0ef434d9c6b8dd0682c5c1247befc0b862ae5aafa8631f4f5bc8bca55a0ca282cc361f80414fe03f23e1f543f07d9b1ac48e19c68d0f4e2a0ca139395045366722494e459709db6d970f0ac1fbcd209f0a53e9f447afebd1634c9d461268ed8c1b88f3e315ce608304d7a801e38e6a62d0ef91d2b50d714c2a1386ac5b50f93e8fdf819a52ac1e12755fa76d7e7250dbf9f0a7304541f51fe78672cee85c3693d81457352059bb1a4d00bd584d9898902a62590ab5faa0ca1980fdf9876ea1d03ef1d4d45cae1fa9a1eb230c9b7976bf9a6f9a0bb3ea50f6dbb654c2aaadb0a844dea3a01f1a3dc7e47b3cfe821c391a570218ea847ac480d7f12b7ba94f06dc50246781db05a8ecb34099385eaaff26874ccad59e9407a003ed0a84e7b7a0944b35baa5abb015a6c066f3e531e9fada5b6a92700e98eba93c56311c9fab8d90b8c9f521e7e14471cfbcf2f024bcf842636fd4dda42157619e9faa010952bd809f7972e8a8f8734fc10360c371a45cb36de6ec4694952e05d42a72cb587d807bc2a6f092ca680e4dc4425a919c0f90f9f937993d55be327069be0d57d1a421d18e0c2f5c619111f790847f703c8987458c4ec20c6dbf25045134851b28f57d839ae67b0df7d84400b103c06f26d4efb074c318c23ba3b8c7bf52dcb338a6fb93ef39c43cab690b66eb3f945d5714d97bd302a8215b65e7880bbefeee320901368e3d7a2b12dd4c374e2a745bfd7b36ea98dc4b54fc410c3448d6ea3f61b6c143787dc0ed22f67e96ef0073acd3f79076421c5d818031a005c8444f2c3e02503a195d5192cb448bf60fab7ca5c39216a83366e99629f117932ed3241e20dd544026b7b9350d90a516f5cad74e81c4d7e0ce0f20015126c54813c9031c04e9d8b53c1d652cfde104d23a05887b2e74bba0e78f83806d18aa891b434f588556a4f107655b9426e14681d9df8af0dee47bb208d4d3a23fa91702a8598c56b63e1da10f4dfb2fcd4f96100f4d800aa7a18bd06ebe1076c78fb187266ec404aacb6de609f9e9d60f494c9b8c863b6a8e4d63d77dddc8406dc3f233260b7a74d4a53c1d78ce14e0a24281449dda9b59193bf1450008b92d45dc2859125f670afcadce061e2bbeba2ac10a7c4281a4c1e4314e88e5828817fdf6f21d4185e21e478399ec09b69ab99d7aaaf2d907bb3df9765b5285eb4b2fc43f0ce159e8268e6faa0428918e1a55642c5940dcde1822a88a5c711d29e6810f42be46b9645221245414a83d3564db68614a454fc8cb5a3e0be0ed8ebecaed08864a92be4a60e049cc2277eb740bff898a891cc25534707ee52f5e027c986ae519578916f41728eb31b251fd7d61a1e681e4631470a5aa6452f5c8f86b37080b43f634586977b5be64d7dc3496a2316524c562c18ed0439ecbb3d470e75341476bd7aaf301abf3293a55f378ff52aab04c0c18ab26802c7b5d9ac4cb3c50f7642c7554de1af193bd7fd42545957fb350433410fc12cbd8b89d1597981e510306bd3d2ddf4a4d87a4b4a99d6148ec51d2a5577709c5d8b9a411efa1f2b30d34e5674f08c0ac4fc0d94de0c9bfbde81f0c2f5af3f83652558f2afb8cf3dec41bb469187dc32574087c77d6042fe06e85ee365c4aeaacb64ad616faa2994d4881829d5b20487b0f52b6672ce0a68f4ce386a3d257e4d0d3aa3a57b496e3535ba587682220524e52b5d0bca7c4c2e99e9ee4ef8f8e536a45f180341b5b45048dba7a4ba00c11ca64094eb358096e8694ad0c8ab9d9dc887fbe0f95743c996ec9730a2e588e94768562a8aa505ecef8fa64e274858b7266687567cc6cd795d2afafc0d779efc4ba1abd5012e36cb57fc3ce9d96ca8269b0604fb9514426c1e69251fbdc6265f86803a73fc87bb5898358d8e38b6a3cb6515bc24b0fe5de5721dae06f95dca892a9be71991d0cb5d7613f0fdadb855f43738e62454659cd91d74a8885dc6afbd6cc00e2ee12762caaae82afa398a767a663d515e872b86c902132cfeda43a890ac5e3f120d559575aea8a47e53ae20327983d09e9eccda3015d9ae87b1b74a426906e5c488554654ee77e9dc5ba3d2db018fcc679377467c838d38442c3bf31170382f0d447768f56530b37fba1b68cc5fcb704e0f48edf75b62bf06481a6df3ce0059f067ef36a11bc053b42cedcffef3877312e94e19a6b5a0d1ac8045ffc8a6f055a6270dc2086766020764b695c95f5f12753294a0a49a95a8750aa873686ef0146195f1ab47f35ed499947b9d0cc83c1f7f153fb198ad7d76a9527f239aa010adb0e911b501b038dafbb5c88b5498c4b488a1ba005a447cd1115d4f9e0f95348ee08f244291936f45fafd6abc6a355dac9fbf13ccc6b6e36b430588824b117ac4f49066f7fb9048cbd75b8f969db66045a726c12e911518fc3c6b11f4955cfaf10ddc0c0b0a61a3fd9febebc88b5a9633e99580b6d84e33c7fb814b2ce305ee3a4649b17c7a4320c25ebbd6bb0e8baff41ef710788e29e895f99f0a5e521693620108e9c65489e9c2b72657554c4488251efcd2611ef688803ade38b2a7f2e1a41985c3c0409b7dc9763ff9326407377740ffc22ed02be3b94ffb821adc0335cc464b0b411a78ea8e560b52eabccdd9fb2b631d09db781663f021f73f01b037b05d0ac75de361d89ebdbcade8bce32db87308934612c015d7ae688e871a4821a4ee924d101882c580ee0813bfbfd9f8cad3f33e176f01754200769d441959e8bb7ac1426101abf8a023ec88a2314fff2737797706eb89770d7ab6738bb454c79a906193bcad6b471cb1f98938abc3982de5bfcece570f37c38bd417db4d59df3bf0cbb3221b76dba0236e0f3f6fcd5998076b8a17f3f3e26c92c7af8d1d47c7bee47360715cc01e31989e9bf9392fada2b4daa18d440340ec19585ea0376c724ea49e4d903eb36085948cbe25bc7562910c4f8c2b77b79d75401c9b88057301a7d85b0dc458ac10a1400db6a296932c5e5840d9a5e974ad06bf2d50fe1de673c708ed60571db396cb6753f2321ff41f3fe2c8385e7421d8fe9ac34dfa9dd078f46d77997e227e208e778a6818d58cbdcc5775a6171761995e020e8b0169f0bbd2deef95c11c31e72aeb0db56a48b4587e622c7ba125a00ccb0a3f8baab929bd712b8bacfeb47cc3b261664d1fbc46fd82d686cb01fa71c2514c2574d32e64f946e039d821022d32ef1f7d234b6d2fa792adb2dad812001434eba7fd366cbcf05468b24381a2071c144ceaeeb16d8d4c6e87380c852acb372be0ac4835c3bca1206666e4286fd01fef84ba3565803cc52460ad7e8782531a430a2827ff60e06444cdef8b4328284497a793a0b03f518457f4e5078b46c1faa7ce378c01aea69359f1819d97df0079e5702f42c1021046796b264c0f782cc32e9b6a3e53503280097629185c274595df5795fe793c6cf26e99189dd5a12daa87c033e0fc1972406ff7a7ecfc9ea16f7e9b5d19791fb99e7102fcaac72c202f61a73b4a6c2585e66bc0961f041cd0039087a3cd284308fcebac35936fc1e754a8580c97a98f3ac9c5d643b1948000551e8ae80b04a743dbecaaf38cc18842584403a8e25200cb7e16b265cebb79aad8a6a1089ce84983a526abe1a5d3d92235bf0ff0d4cb5424b05eed8805ef51f254a8aba55db30cf2ec939c88f841572085a46a58f6ac0e1371cb1cc87910f79fe79059413627b8b9e81c9e40328479e1708e37967f4b899c5e814a834b87a75a153b371f6ced177f20faeddd6157743363d2be6035ec7cfd828f16729c730e9e9aad0a89199dd03728ec7ad5f9ce9d35c702a96d10d73eee4b9b6f98dca72fb2c8915611e4a9ea950dec5479dd2383b292e3ee3d18d2b9d8e767110739c185c1ea63c5fce434cb0d1c69e12192024e55164dd3c5eed974cb3983723c739ad4437cf64905b74e43b2af6666c38e929529ec24ef62d145ed779711cc9a24df5edfb01dcd07f03d353197bc95a124d207f25b0730c1d8f6d5d0db879163a8e02fa811a7d25252af463ff5493adbd554bd4667e569ef897c26822df6626a8f6b94b30e44459eb8f302a26fe41b169584fbd15f7041e990815a737653a21680f2be06ef2f5f210f223566ea8f429bf56ecd99ec3017504bf98db8cfbff6c4945abb9df493972d19172dccc7e1a801e75a134525b976918b3d8d6facaf1b59e0d10b360ac674aac64094c72ac149034fd30c3cbb02722da001f86e8ec1cb511e9d956dbcff8cce407b06ec4b210db3154312de53385989521a84cc5f24e8dc3bb46c6a016dcb4e9041e0979e80debcbcee31cf4f3fa3ce1b2509aa1cfbfaeee07e48ac5f0e802cf49032faa0604be95ac04020d0e0a9b478d3c64c8420af2a8ebf1685e507cc6e5733dfa9e485980723dcaa435be178351627aed3ab39c83f4651b7cb21273b1c624d740d9dcb6f41eee3ae65f5a1ef63fd14f9d1961d42800559adbc54443e4c39ba3dca137bdcb5e85dbd86ff238c3ced88876aeb8a7415a608057bdf16e2872850155abcdddb29aecd42d417f646588c8cc929d3d685c41ce1522f3e85eae4b6233bd6d6a52a77f3de43613cf99f115cd16b65d53422a9f73e7c6dfcf0d8790746f4b27d15b648305cff54f67c05f9a0f9d058778193e5fefc70f22da41b47bafe02471281036f4681ac1221932757f003523fa7e099584f211b9a82da0ea147e60849f85018acf621b7f11960e662b027ca4c427d868676ffcd282083335245ee284b0d194ac359b917033cd1b8a34e709b4e10a730c45badfbca7a694cdba0e298eb29a2e93bf040d2046d857a551e4814e24c0a3e93bd33d1bfa72aa66051233ce8beae8b7eeabd2e0f32ff65fb5b3ab2792f234ae09610ef7686d712b6ed07c70830f9ab53d2f4037ac916bda8a56599b96dc679331c73561c8c93569f411623c5a2ee82e1b7dccffc22e6f6853f218f27e94e4989dd19a507fb55963bbe1d97f9f52f76944ac5b93b0527dbd0d4c542f1d8fd51c34e4ab1e12e84c781e951229424b4079fa3c99af835ac343d366a7d5bc4496a4445b0760688d3d2b912b14516f359f5297193a52f29ed614e636895636b1dfa72b04f40ac8db60e109ecaf06d184568c1d50ae1079b2abe1905feefba018eb65a016c2aa8352899f095cba52218cc81cb82ff77ab8a607817fca6e418f01a8331b85927c4fdf61a06e88e1e71df6ca1aff5e293d37c7f32352d16a86952edeb5585e274d358a8334a684e12f9b194dcee942b9d936bfcb8419d1a9a0810a0bddda2fb98dc78660858c2b07d94612c68608ed2b3ac894709632dc0fe2a2cf62e36ca69f5a314b0837a91b7e50529479945af8cd30b36dbd6b6edb700d98cdba571d86b1beb0fe97520b0d21e8904dd569313a5212328eb84f1e8bd78905b7e351bd7f5d9aae17940cdfaf8f046df7151c7aafad6a48a3353614fc6023b48780f47e07de11c0a846682c1613d913092978259501414326d9d431fb33c627484d024a94ff6aa8c1ba5bb83834e8d0bc5d1dd7562cd61432649db6f7bc22713b94fc4662220c5df090ed48b787b40884e3284d8614d9fdab7a9b35fcab0670f6a34b30641514bf64ad54fdb8e910010d34db0eda64e4765bb4ad6aee720124ae36ec88c6cfa895c7807d400c695dd34186f78e0639fb28347dc18784f859e59570456d7e2880042de9113431bcfc256ecd678e0209deffae6cdbb8be4655d4b4afd7b9a51f38037e596ca9595899d8e7993f1b0d6903873738f12665d0815a8120d77d4b81a6ab1a8098bbb5625ff798ff07bc19c9cfec363e9f056a9a69fec72a9dcaeadb26adf300b41f92b490658a2117d20d1a38a6b3dcbc50cf57a3c525fdf6b22f7f1f4295a2285828e06f9bca6e92b0a34fd3632b8c302e5a8dd39485e433efdda20153b75354ce88c5c52e558ff9beedd995d61393a59ca36299d47c202f484b81c19e2fa92707d03ec37076f8edbadc60bd65a43686f42e0ed7b017e429fc5c893fd79217f6c006aba26fab7592133c4b7533d1f2002e49301055b160168afa2d5cde4ea9b6f84a28b9faf658c43871fe4c79d22888810e0a2b5b62f1fc326d5cfe25e7cd21ce73b8ec86fea62e81f84095760bcd2e7b2c41bc01991dd1f643e0cd7e27fe2cf319e42a7439f2ecd29be21eae32db519755fe26bbb8d62127af1e36140dbae841dd92e1a05734186d05fa15d993098c3bb26b18d945af181f5d153d984434ee22a7d53ebb6d15194c2a8010290d37065ebed52cd994947644ae3e3fe892633b9f7fd64cfcc99069a332257d183a43b155e1bd6a090701d6309359de1825481996633fb60352d348d037dcf0169e600edfef6db96934e979f9d9a2d394de8bdfc5b4c6629890db61646940893de565593fb74c481ada29241bb6da8f2ce75ca506c32dae74836f914df46cc33df4d788f59a1da04db78d4a68532a19a090636e4ab62b634816be6a77b52a938be48daa4c35a6c8a25adb8d78ff6be274c502cf2d0811f1fbea87cfeeff1d7dcee6c75e4d308f5e00feccbe44b2b27d984e22711b5ed1fef84fb0b148632ee47ba21a6d6381c18e22130ba64ad86704ba6b7fdd457be82da32fb6ae66321a16374c2def0f63f16aa9eced80c712c39c7f60a289f18fb229121018c32a807a3045d440303ff6dd21bce8f036ff87f5344af81372ce82be0ffffce8d08c87caa3a6588aa987f59505afe81b9df1050f5abdc2631c0c4e08a0a02cb80a5e4b429f9d09f53b2406ef907296d77055be6dea69e84793a8efae52c30dfd9060ce51243bfff3c3eb1401cd5cd6cbbb6c16c79903788b5aab32bfd51d4b074fe0484d5e5150465c54ab80d9cf8506067a925d40bc8826f122fc2c2932d0493c0257f110f968d1a90f327facfa172f92cc2ab4b417b15d1c4e1433461ce1a7ddfec4c73d07620e5b38e1f0a7547d067dfbac3aff632782d172e1f50440b0967061354e7b43549143eb2d65ec86ac33101c4ff2b1ea0c037f14a1c4034e19e5fec4afea8707bbca282db44dc92bc6fbaab275d0852f69b9b525adf4ca869fa4c4ab6c3c699d4b18d2e400eeb1e5e8a9e94c9195e93cf1cd7144da246deabb36ea67cc83045cc2078f2afa70c91dcc01030a359e58d028c062d5161bc1bbcd5e1f79e6f7bd8701ef461a499a6d09bd417c14826c48ec4d1734523c28e51608df50a7f8bcdf97c617f33ea0c9de231a1f344ea6754ca7580e904d1130aa1a608ea44dc14ebae96dcb5da6681f2ba149147f9c347c104edaa3619cf4f445e0e108d8d46a2023df0c2f2e440681b899bfbfb3721e8fd1c8559bf4f153423c6ec55170121a87c5d4c9a1e1b70a32273079532e406fe73729d1e42d8bc124db954f88ac849dcae17c6532ab5f6249213bcdf100174c21a8d9b0f1885a0ab19613a9a8daa4adb8aa586d02300e25d8f2929861b25a677d2290aaa2cf8380d8460b8baf039641e62fc01f870b17391fe1545166be0747f4432818cf435749a84201e1646c6d2b7fcda9340c0b7e8f7f8ee50ca2c786e2aed566887b9a32d3faf33edf395228c0e1228b0cfb1f18775ca56010f69f90907d13e1313f82eeff1eba01e198b4e398b3868d07c3d71ee3a18c47d8c56127ecc2cab15f8b4571dff94b19dc606e48b540b491cde7140e75710c622c74edb8146c9f4a0a872b6ff10e936233f5e6884e8f289767d1c4b845579eec8e189368134c5136672c92b050e3b1539851d0351db8b79da9bf442058728e5067505ba0017e09511c4d174b54d26d8752e873e90b60ae193175ac1a8c2340590c2e75239c5125f13c89339e950596e48ecc81aff9210ed6d43cffbc81d44bfaa3ec6e0a25395789c1e3c9a805b4810c3e10ec45aa5bf4cf9284f3430eda933759d3419fdd06c629c16296c7de6627e7cab262fb94fb634648a138b0286b4416d0fb37f8a14040ca2ed9dc0ea4848cc74a7f52f2f9c055cf7a27effd4617e65c699ef63ff4955919f9f2c4c6f8efc8bc11083f7a521d0af556f0f5e640cecdf8b7c00cf89586e8256e96dc78e1cd6c72646106d6b9ff0c266b5c92d1e995979c91bf343ca821ade2be360f865ab8feaa393e87be21f0a95302dfc0b003e9348346e1b1646f67e01bafb99c486929b5172a90b7fc51e49fd364971042a15fa451674f76691fe7c080d9fa10cdd9d03ced8cc1af9765b800f50ea9293be303d2f668114c99c20c832dad71e52b129fe0a641a6d34498324a7805d8394bc3da7654607d5ad85b544b7f64e319452b372da9697389e8d870c926ac75f9428c2c87c18e99287cefc17736c21b5eb4e11db7954349b611a2cbdfab8e5bda7e6d6e7ccbe210a492f14e16183584717251133c563424ccdf0db4bd3fa62a0b4c00224697451121970490464d6a0cf23473e9e9f14c4ce89a4745273fb60a742d68a286db6a94867e2cfec7d246074aaa8d18522135c0994a2d17f47c424e2488f88d519c23473b0913356eb01fe34cb24ef15b4c7b18daf50e9b77fa6a26c02cfc0f74739dcca25beb6fafb9d87d865020116cb06ff9ee01768ecbf2f92fdf9ed42e12952f927e03314ccb52558e21604fa10f8eb5c0d32d9369990f5ca081f981a20f069cbed45dc8bee495dbb46c4205d583c069d9d0cbb1cde44707e9c66cf6fa715668b359dfbfceca9ca32e9b3a47c28c410ee01c24502217973e54d647cc4477747ac5fb71072068eeae4bbed21a4df2001c52ed9e71f0c9caae51d3e770c4bf1ab624d3c50bfaa0cb742bff1ccb415748c288a3cdf842220335383b5187fd5567f94bbefb0b98599fb590dbbfb201cba428c2705f389ab88d381e0e6742ee562e6cfb773faca538f2ac3791f8aa71064649b6a3ad858cef692725f343dee3daecea299693a907b2b6befca04e535ec9290a969bf01f32aa4031a657f2e0f64487ce454ebae62b01964c46d45a8ca12412d6a9e7257ff9a8421a15b541922de7a8aa54c81eb76a33a3817e0bcd909aa9914e180d73d063900f78d89b0281ba883f0c0a933acb4e5326c81a43d13b90ac2bef6d19b48d2594d32cd802e2ee9988958629c38a672d5b520eaef8130f9b9be537c2e06b4210851226fbdc3588bce5ccf2f89c96235127fb0682d4175bbc052ee139b81511810bc2cac83a0ac16851e6e0db46cf333c2c8c9448410f4254b55a24aa88d81555bc9946154c3c12dcef40ddf83a87de51025c54244af2199fa7488730e090929ce801c05409ab744a863da03ab9053e1b11dacad0fc033c4d0815984c64f2119df6b90b4c06c043fb3c7f9b045ade8901c090e76d741041193ed8692b439541dca66389d2ca4ca72fb14cfa62f89e0f602cfd0399aa215685a06869691f020a243246e86d81dadd0023123f744abc791aa9130083483e3f23f5aea862b95e013bc7db52263bf56e06fd2bc1ecde86b0507dc3e6943cb8570ddb6b7b64330dfc24b0681f9e29468538052f8e8a03ec9c631ee27ef38b3667c3f6b757fd578fc76fc28af380644e46af84685c3124edf46634bbcdb3357f761b71129a9736c4c0acd08e90b0f3dc7b3c6d4e7f4d53d9979c04e2cd7054d3cedb48424bddb4ae50da52485680d867a6cefdfa25060f21876c40854c5145fd6b3bdd2ce194d56491879b1a11d0535c803a1aa6198b07c32b4da179c13ec19ed8f717140245bc022ce4e92c60115fef01bcae410c0338d7ca5884027f8f8af1041c2f477570b18a0d24c287e011ec8cd2a205453a42b9b394ed23907982a91e0c515abac243ca1dfccb36cd8ace3263102c78ef297c941dbd1be53e4ef75dbb307034d05fb23cbd8a770987ab8c92906910de49f07fb258d8fed0c2113a2a67de006ff49052402230c6c81354c87f266498646f1fe534cdd252053998d4f388d074a5569e94506c4e77673fdf9d5d9442633f3c388bb5012e6333ded9cad66511ca15d31b0d98dc897a45b3dd44d456c16882448afe6b08ea1df19d27ebbc7b1af9c47aa881795ee281cae64ff61dd1306ea56ef45ec4875e9a23c25b6a79f1fa296acdff8dcbd8615cf189e346fcbf2d66146de8d81f89a8c638ca4f539fee40b22d0da1a3e0a5b47043210633f3a5c9477d96c97ab233699408176ed26c8ddde176b4608b3d74a80e0f3fe1efc397dbec839f74a7de184e7fac2cffcac61503c0a4b7ebaa4f06b39378695d43bb6a2464e4c708421dc648fa2c97884918b105b52e909f5afe574d9977ab2797fe7390cc789dc791bfde212370bfc5517c4290117b4051484c67d39cd2531e54d46956444363f36055c89f6f05ba4d382410e28c7731281488dedd20867f44b0941722ebf12c3233bf67d2c23dc97b6cb46e820ff64767bd369e696399441607d7b2914149003c12eb8593f6fd2a973ae6bbebfcd8565d33c87a450b12470fb60ea5ceafceb5dce87b322a47a4caa51c35d99804b1fd8ee3c210123502980896496611124359c893351bfd596c5fa39c60830ff58d790e6bae9144029450ba55ac650f9f05640e4c21a1b8b8539e7b663ff7da0b345bfa5e2cea6cb4d53cebca734a9e7f284074421bd6a4d77de48e98881faa19814d4b53c5e4446436f96c7168d71a0ed95de8543af76e3e136e59a96838893157afc3288d3500d8414a1d2e443dd515a47f8ba9d6896dbabf7799f57923295a86bcb0830a5ee963542a62598f776b2dca9306b35c3bcc454d731d17cec170296c2ba101a0703b8fc08083feeead89c507b7844b4afa9b0eb0adaa8f0d7d5a185a8173258d3eeaf3e1018b02fbbca61a0c63151f2df7c8ed4adb48a91c76b0ff52c10b32efd049a76cf4dd76ccaa2503c7a0e4054f15ca11faefc9e66442486259499a9fe1d45ac990a066032928e6dc2ba6186067061acbf97d971134f9cc111a8f778fd5200c98b4ad5ecbf07582590e6b01a18ffdb7e9c0e65a6a0761c2c525b6938dfc8dc762155f836b4f59c5be7f8ea63d59b7f1a8ba0d2cb944909476c58ba8a1dfa3bf1feb20d1e42e883b007e0f6ea66282ab8f1c43455faf8894f5602c1656ff8eb64a1c36ee1f2d6e7910e701f336c9c8f03b20fc6696640664a0e2ea5186ffb9258c08416a77da841b1775408c655653d26a8d5ca189978865f800cb1372820df6e2b8abe6779eab2f4344b23fd77e80c8a6b7b5797457886e1ea0c5b94e17d6e631b391ad3dc0b4c55d7901491b3c31f320862b1b884c9292fa26984221c327750eeee5b3e0216bbff467b37594876dee20225359b46daf0a3c001de41c5370582da8000c1f5cf05ca8a1c5651d2610626ea714a09611ee67efae1dfe7cdb834de3dddf19247f5649277ef3db8c0a142b928854fac6c3ed6c9af26cb8bebd8d770f2f03e9edb3d010e62f770d2fd7e333f72578a8267fe5dc29357a160d4df40923511e08ef4026461b1b4cef0202f6aed914cbc93fd8e3015691fca4de2f12d6e7d21017af0324e9334f80847ae78ae15998cb203845c5d4aedb9982ff937495482e5aa7a0f23b8b8f042ac3e920a1681d92f79af1464993427b1420584f298339a16e5cd9e8302cedff092240185f8bb0ede80779bcda1501729abf23568e7b89e4dbbbb606a92a3f24b3198f89964b13c57fdacfce5a83bc8d8d5d8fa695760d5ce30009a57cff47a9207711b518a2a3518227f19cbac749e6329633203818040940aeae659ccadfffee309f5a14ab296c23dacaa9f857713fcc46b259e2c7ea2bf0665b1c2475904cd8c010cca8f9b6444e6196aa785266818f23eb887be4bd636c7e3d2819d1fafd5c41b9bc179ce2a7c0c9643b2a962a0947492f57df27f8f723fdf4c96d01437918dacee7307d23fad809a0ba0ff5d6804464bf8798fc445af2e4a3d0b8a28c987ddc1097e5a52547a22c6ebfd00059ca7326bd6de857c68ef2879e707534e080d6851f2dd16062e82c3f2c5cd6052cf2243d4275960a69e18202a1562e7846f152c0f6850735e35b9f1766b364326062cc3cd2d242a7064a6b2d500f769e8cd35ee151d047bfcdf6e04a79f5567eef0cba60cf74bd9b0e44267cdd57e0ab060b6079fa1212a1e4d80c7f45a4190d723aa2d121c21d8ef2f40bbb2334de5b6007b3a8a013fc1cc0f03f0cdaa738a648d1239f6f90edada575c75b4edecfc4066aebd07fcaeb0a8acbe47fc83cbaa9db7f5d49625a1e43e26174e5bc88fcbeb1568c6a2b98294c9bd56c02d34cd02e1c7170c58921155a1cb2c12985e64559a59387214307c4925c3b983af2daa556ba490e46114d1381f70aa808b00154cd0e0245fefe871b532049d4ea1db42f54d0ade12d46b3c1124500ed4de34fb5bf889f608131fbe303b075e6fcc8e7ea54a7af481885fabb88a60bdbfeaefbab1e7f5205196de2ba41abc14d619d446d56afe178e5699802c1ca94e83da4988ed282ee979ee76d0553dfd63b1cdec9a562424ad38d72f578f6add3cbe198b4116a14079cfcb5cecf88067f79336ba5da7bb58db944f4d317648406575dcb14f93eb9d4d3646ea73c617775fadfc39dc299520ea2f9711cf75e8989978b27c01c735b51d5306f1eb586b946023a1e04524432e2676b645c1fe2a6d3710c879f4b9a6fada9a21741a3677d89c0c14b45daa8b37c92a52ca985ffb0b040f20b61cfe693d4d8ed9e259e93fcc40eed1ff7218a2af935e2b353f9040708ec576b6d380512a814a3252e5797f372de63496357eec990f1630cb2be342e510a2c93d7072453792a7d29168409a289fc60250a2847089292a33fac0a92e79d42f45a15c0149391e2575abd1339d1c922c014b74a9010dc4abe88ab16613dd2bbc6ba7bd7010a700e68038723ec6f7ce6449b54e6dc9ed4375409d61ff3234a7b57c14df04ce3220a7aeb31881ef34f81604c9255edcf64eb1265509bc94e7024bc6833217a3f157653f165949aec8f5b5f741db13355d2ff6610ae2c9257dcc983cae27906ec7e1451ca52142c66f17b86ee3f25876c2162d8352629147fdb23c2c7d0b7f402821ce270907cafd1c65d4cc1123d83c58f1c7c727c447dee04c73114932b9c6392e628180b6cbade9332d7d322ed24d21626531f11b5331c8fe6ce1d88c8fd618b24502352da2f77347f2025bc4aeebd9d6055dd744e82e40ae4667d49b879ae4b79d0ea6c45f96b745d886d5d8307a5fffd509d43072a06ad8ec53aa182769cc5ac60822cd94c103a9b067bf36ddb2e51bf00952dd90351df04008df24aa3d033abfb823c4f89488fbebcc8d50fe90e77b795bdc5f61e59b9f8525f80a8a9a795f498eac2c539cb2a59d75f2482070c8bbcf27a7a2a52f700e2226bcb44ea6ccdac07f4020b292d1fa50bad40065098c2633f22309ccc805fa9e597200cb7458c378cc2d28de46d00f67c293c05196867bf1b48ca148cea369cd113e6af1b09ae6b63eba351323023ab436b00ad2e9c1cab273831b8f46c410bc9cc86af90fe0a28e2ed8678131d60040c3b03e35418db30b9625cc80df2bdd8f65fbbeef950a2042fae0538dd1d6eafc225c1b874d83dade58e2c05977a3a59b9f3d5618232edf8202be1fb86c216c72b5abbd74f709b1749651ef987f84e17cffc420a14e84c9d978d11c1f56234b63e716b5734467269f814b69f6f7785b1119e87d906fc4e7d38c9a7093103617c50be89cc7716876e2041764bcd8d68f0539ace4371beff3ff70ba44f55b1ab81e74c9cfe43d85728f15d303acb1d92a17779f859a8a3ba2acad97907d6380fb40580740e8a18fbb52e7346e1efd0c312f003b970abaf63092b77b84f8c5121f033be21c811580dd3a1b2a462fa95462e33a924d59a3d94bc37755eb00eb7bf3eeb7ac137442f953f547057f59a06e0e497b7478c3b85317129839576841d52cb1e23f8b6548d6b1e584365497fa666a5488a9bd9570a55ad9f34e03934c017887537f7148c78d9e98391fc93216ce7ffaf7a880a1c3c96d17b7a1ee0d4ea46233202a46991f1d1112a707954690fb1c3437597cf3a7be073df8da2d99c0ef0a100d72417205568c6d2c212c52009f10185a42a123c192c1337a5a994a861c525aa4e303a7c4918fc503e165945439c2a8d652d66ac62ae0a171c47bc8feb3c54bfa25c80d93c938a8de08ba9c64fcc8eb58b6dfda4d454e358967fd72237556835b40d7bf8d8bf8b0a5627cc45dbdf620d0e3952ffab8b35b7aa8658b42d0ac4f7a97272eaa32976b69128541debe694d476e29fe137faa272b19f4eac1603c1e716e3a4d665cfed3e28a9932ffe30a9b98cb87c20accece410455e5067f32bf73fea4837a0f4b26a287daf0e82155283cbe8c2e04662dd67df18f79db8bdca6cd6acdb585bfe90953bcd1588f5b7f0572486af43ad171be62804d26f8e1ebb0fe05d1ee6712eab1f9083cfb09968e6e1c2535b6636349203f99f09789fdcfbe08ff3f5a4b1611e18b89bec6c76a5b011e35bc05829576f102eb73d3682a8cd76623c0a4cb5222fa826a8d0dc47b719a5aa85463300ffc21bb462c56fccb96cba30f394d3dc6093dc0c953685d4b2c730d8d913485dfcaa54d1f2a22960edc9763261cd992832da2f20d21c9f086db6818956a94b0979debd5d2c96303a72bcd2aec8b23a845b12f3705cf60b614b6e21584190e5caa0ab875aba093026c89f383bf149a1807e3a930783acba59ebbb4a7a6ed3fa801b002f5c53ece62a08e924af5e595029bd7af0dc1228aaa8794a7050c41395a40438eab01fe2a73d7005eefc1ccedc2898b77a134d6e075a80732de1bd71bfd2912484c39673f0b3bab3359046bfc5b7484127f31376edc19dae9c85b20ca50c0b450eb4696f047ad8f720e02aa35cf336d38c9e88e249247bf89b6859e5dd0ebb67a83c17906e0d6e9f7827940b3fbaea23ecfa80c3de7d5c31bcb59d951ce8d3ff66329ade205f78998a0069424d2dc07b934c0326e67d890b006d60e2f16c2554962b3ccbcf14ab79948b2c7ab16ad5ae03a7960a50ab7e1f43379ae2fabdb5bcc046aaaaf74636d101e4a1bde08109d404c75eb8cb0bc3d3a1efce1ce093d0914ab54137a09c810cfb08e3e1e675cc6c6cf4665038dafccff4e9c9dda3a575ee89f1e74475529467b9d9e382869e250be9f368375f6790795997c7c4643675d073cb40a5ce2197771b740800b18c6f454a76bfcd9358f7b9f55f10d0a76960c7d515c4903ce4202d8c9c610febe58563087756d6356cb0e665e32c21c1c14792a9351e432b73ed6873274d84e098e580c2bb184e39280c06a8af5e0ffd32c44336cdc5f146b4d574e25303468d12c820ee0ab5c16a832b53256ce4f6aa233365bd2c8be5fa9b6e406b5af250d54001990e04408e3ab147d9fcb6d57c5f3eac9bfd75e31d58781fb0661636e92ce3f06652c64384ccbc5ebe77e079ffc1ceea1afc500541303b3874a45db73b35779bbccd4a5c2c0a3ab824def74a946c478b6878533c8ff6bdbb24af9ee9e78af44069bc379415448887427da08a509f822297e242d16f88ee6824aaf38494fd2d6e385ce3e828e7b2cce956f49e38c487ab11a71dc2a23b2c4e145af3323e7dc5aafd242dee5fa013dfd7c12d428704e3873bea2e210cad81e06e931dd3e60b4d745e9b9c26d62955853d0f31ce3a1cd45cd4fa16788a18da287c11e17acd726791290411138f29694080de16f1b64c3628cc1a8afb1b5f80b2ff5c18a311b3afbf7ef9a07cdd425757bc039318614e91580788e5b529d27dd64a2bf137328ca7231542e90ac23d7b1024f2ec79215bc9809d16b8762ee4fe24fc1fb4119086523398f477206c291ad52a616e9b4a15a84bdd6d13d9447709d0fcf0ec9aaed72e563c321089567a9ee8b76c11c4ec705f48bf2a8f6c5808ffbb12b063e94983c35cf1773f5f551efa63a388ca017e3c8ebc5a45bb32f86a20fc2f63b2e8c383578c72d074c77dda444188d5ecc0d22fe8150f1176f10e4b656fbfc87710a5b82acfd9ed5c7401bb60c112a5bbabdc702faaeb94222ae4384aa8c7628b6ac18cf2354c9645ccc95623658d1eac9cf14405dea886301aa54052f743d822a442e7a9950f95b48132af5fac5581856e1bc845b5b22327c135020f09ef1d8398fe9162e10ddab60efa47f63233127d4dba67bbfe103ceb6bfb9a1a2177c8286bc11fb6d1526b18791fd2ea0c7a4b8dc09858581d55683661d57a03c3b12b2432f34f6c5bc01d519a42448d8c503fb6538ee04b7ea60d17eaa60104fd4dfb118757dd57e4552cb3d243861b3037e3156fe81dc8a0f86d93963d40447aad1b0c1e7c9ea32b34d419daa6ef27f249c48cfe97c2863b64084f1ef8626d33c8476c07d1db07268783c45685e6f4aa31f1f01b0a9f9b8cc8e37f17df1fc23e865682f86e861f1f699d009f3e06909b0170758afc4f6f8ef227a6306dbda8e2e1c97c22c4319b30d226c3e497a247dc8a81565d1952d7585603f608987b833ebbe0e58c9262b5b6db96115bd083222020ddb3decda2730117da6117aa3fcb65bd3fe88d1feccff980912c229b44b882dab4011de3a753407bc51484af8c2b42f6265a85401ad5b6e77659d7c5425926b1f69ca80d2230777c0db4bd7092d7b9d101f3dec04a7194b72d62d0b3d8762d18d4a6cf48a0ccb073103690ec7eef5a1d5656e3030a8d1556ff4216c91d6632b1e0809c75339461e10bc254cd3458753f3c8c1ba5d8e5165f5789b2009561f61c59f5cb9bbf02f847b0dc4206d10fec97aca309d95fd0af7cfcd821b29883d9db4970ac5efa56e7213e0786debb1ec8c5817ae2b9cf3d1d9fc9d11ff15f69afbbf0a9b4bc59cd20336a7cc9cd2a37469afa35299142a8840e9ded675703fab1ccd8943e77803ee21dce72a6d56125ed5807784c9e561c378231b318b2d50711777c04ca24042aabe0de3b3382834b5257c63dcbe29f443f681de2317fab34d9a8dfeee491b97ab3ef72297c45741006fcc4a11360a727b19f6e3939e5f07a8c7328995f8d26627e5492165644c50bcb4ead44c5cfee8bf238fe926822465ad3d481cd96d9ad3eda840843ab9c38469443486df16b26a3f9077ad406d78c3cf2d1c64543d757eaa7f0d124659e9f6bbfe6937644fbcad1bc8c46ee9e4d00ae35d386b97cf1b61912812e15c0c981845ebc2682b47bf3c1c8d62606f06e72e2888dd4ef5a060aea15b7e743fcd3e8bc023706aa2c7ae8cf82554f307f33bf07b86512159aa68548a73487f7104e867045f01d99046c45b05a66d8c832fa12321312270292b53f81e6530184b8632b21eaec27c5b38d99192d42f6fb25e7f4fa9998c9f287e441f6452303317d9cbe6a529147a2be8079c1666ce589f04fbea53d0f1fa7ccb271ae933ad68b6645d836a3f2de813c416d913c04479f87587f299913e1ff4b3a497d19f005e82eec89c8ff4e02ffab4f1acea82d7647681db0c2c146b6cc4123f1314f4ab16db29f4fcd2127d8f30501e9a2450727efbdd68f7bd9b3fe90a08c720df11e0bb281dfe2840f37f846c8865a35ad0e7fe89e033d3b8a24ec162c1ea207eab0026b841d6b05548dffe9fcfea8712dcef31c187d8f9870ff27b20712738d28da2f1368d3fec0508a6c422231ca84e8ae62884d36e7c34eb33f9a5359a6c551c49bd1be50d6b709c18e2881eec918a8686cbb5c84d4d59e7cca7c51fe67e3b846d667431559ad3be0c8f928c5aca94314bdceb3816e61afd26a693517c19390d7772d264e25b8233c9441738df4dbbe6641de092a202a13716cd90ef3a35377cc4ad6609b43afa22992215a51299633b0b9388a9df204c1d464413a42597f08653769d5c602fcc122af125939a20f98d449f07c7c5bab48cd744abfcffbf0c900cb3fec00258e3a65ace8e8213d33079a42cb3cf750f53cc509ac0ea70c09f4b919219e224112a28d6176aeb2e2901619143322d3d759bdefef9fe2436a16d9cdc00a8ef7f511acdeb5ea008aed917f5730a44abc99049d77919bf9e46193c1716188abdaae45ddc6a5a9336a8f57156235ec1baee422cccdbf054637cec844f941e70eabb49e243293ddbc56e982311cb2ad39d037534f8f5e44e6e45dd4cad4779b484fc8d427dc357dff0b3efab382b9926a6c4043f0ede0d768bceacf4fec0a40c0be7b5b61d1ac5bdb41817f49b805ce24dc7c46f048ec286086ad54482a801927168e06127ad87b7406a20ee07c1eb4d178b0c6c5a26301225111e25482a30399386dbf94f6358ff103ddb25643ff35f23fb769bfdd55a61664ec12775b1adf5cfd90657c61ff2a53b41e9210a115a37568f57427156a775000d6af485b51d1c88cc82df5e2faad381055f23cd32017481fe5d72250012705a47e9c8c71955960c5232fda4d267bb83ab7c8f849184490d9d0909d86856612153af9a132f66503a07272b2b56b9095945c1ae342c862b5775020ab51b0fc9b236741164c66a47de525f9dfd3c7a362e8f3f8b58a22723f33b745dbbc55f0e24db1c986c40d03e6da81af7238a986ce983c27c37df9df72f953e02c14c9c19bef3800817f66219ed840edd79b6ed06c50773dfcb4a3640f47468aec41ad9a392ff89eba293ba73ebe203b9df0d1ac518dda088f14f08e10e29a88b24e604a27df783e48b564f26e1c56e55f388711849567b35ed9ab96e1fb566e9cc63ef9d333c31d849c65962a5d2cb7c34493ce413bb86da1c5ae762184fceaa34e7f8aeef66c1950fc8ac9ed573bb76dd9fbb748601996d692dec10a0306a3e0cf8774c142417b5085f4bd110480a292481699890e49fc8128826b7203a641140084b9ab01f996591a1754fd79970de5ce37b9b1d9c2ace8a663e1f2d4279f8736688fcc1b709fdfc9ee0f63109d5d10dd895dc448948de299c284c73203ca21ed2184951975a768e3bc52691cb5479bd23562dc56c4bc43a76fc1d579508d9822355eb3e0516ff0df80ff38190440ed942d6aa4f1190a19bd1e1966ac2035bc27bd0b14b90fe4c96ce093d723ee77e64e8b3b919e9578880406b384bf98fe440283fa3fd7cb4e58d2c01d2e7b3581e75275742e59f1cca6367c1293908f62b25f142202e96f09fe2dde11f320830071c15a8eb7b4003de442029412027713e7e762f8a7e8b7477e161b071e8cce40a6bc4beb471dbe59d99e16b9ec9ce5508a01e81c3b10a1f1196ba0d39264dcf597c16137191928f9841b41f4d4bb665ec58b67ed6282f3c8ce9dade9b202525418bdbdd8fac61e03a5e54c9b6fe3ea9b7460ccc59cebdde93e467d0a5fa8dca4d8c0d9a5227bd0c2802687526c606c9888bf7824d5667465dac6f0af485aa3c4dd41a66b846e34087b91a1857385a61b276858bedbf19e09d007555b9f204f85c60ed4ec497b6d7f2300e9deddc86abed06cc3042b99238215ccbb5dadd45bcfb43de26c51ddedbac7a60363b1b1e1cdb64b29ea134a6e99856f7630b8a00b3eb1c5e49cfe928632c6dc6f7192167d74c4a3c5d6052e46c5d00ddd78a2fd540b80bea18991684842e1a31989d406df811070191cf33b4fda4aa1089e2bb457d0e02f976e59c81bb0d58c4b5b070e9bc2a1a7917ee57c96c7dd055eefdead89731f8730ff12655f719dbc23a6dac8e18e467ec7a3736dbf4892c51fc8d4a3eb403e7f827af9a630a9858c2dea21dc457272785a683907e63f2881e3330d87fad6a54f8f6aded7739287b71842449078c6106ba6653ec7d0bb6f7a60dac4dc9603e3133e5ae0d5f52b67ce9025f40282d68e06903b5acc1772f0c323730c13c639acababa3fc02ba02f4bfe8500af48722dab6f8e8f0d4c6ce59d7a70485f30ef5f6e8a14eab12ca32e047dee4586cc21a499c2f265d2f189351e65fc48304bf226b89f491518b56e40a31b9ac691e62e7c832695c1c5aabc9f75ebf4bea2bf48077da1706a64cbf49cc974e2bc803c095fb980586be11fd637ce134bc746afa7797a42ac68a9973fe4814cdc6089f25199baf45ec187d801d1f6f024c0433378f21e0cc6c198106080605a103d35fbc7ec18a50a3115e5d31ec644c1ce1218ed7a7d3619dc3d632233302c1293897078920c03f33029171b8aa5dc2b8818b32f13923bf7b87539df0bb87a4cb0bf726e967ddb1147a978e0d5761dbce2b033d4c51f8ea2b05f60e7d9ab0117ac9edefbe03c0166dab696dec39df96da703d34cd780960a57abd74060a9920ebb3e7db2635f016c109a93c5be9e98aa12e8b61301411956395df9c26de00f4d4c063de53706c0bfa5092e65b79e2874db85a9145a50d4f113888c908aae95f73774f9b87f12387f8b14a95836f68ab08aa938696b3311896ed94dd891b2b455d959d6f9ebefe34ff07d343a2f02fbfda5b1444591eee63c2f58c4b79a75670c34fb35418cd55ba5966effe518a670a9ee42e5446eba4f9ff156aef1cece7b12515200ac33c869453a51df749fb307bc14b28ab31233205fd6aea6a852a89291d1e4d8f0696e7f372286d1f0deb2778e22effac3934841097b483f4e9c464a1c8df4a92c2c44b7d8bb4411a0905b40bb19faa5a52a6cba42330382980bf50e7d13653cd11ea28964dd00367900d39b51cd9af0667abfa69b1b9e750a4320b90f1db621c4014122bb0595daff02ae0a5c01c3c0be2ea397380358fdc9684d126c91d9ac18e5128528f91a81b9b147dc66bf01766392afb1eba08198fe5d013c41206c418f521871c4beaeef131308d4f2c51fe952a888ec996dd6708c66907e321f63f0fbad3b151c366d5443ccedc8855a4807d5f6975797fe03f146910f883b1b1646dc0392fcab8f10366565c5636d1541f84bf8d73c3182ee1215ac7c3ca00bf1cc11982cb208cd76547d69c3f7df9577c94e3075f3f0f7eecdf14e838c0b153b9c50a3ade5b2c58b1567af95a084a6d7ccd1d61632a7b82f351e26d50308e18b74b958130938676c2630f82bbf4cff1b3838c76d6e87557504218e01028a3aabcad79daf5c395b8f5ab14679cf922f7e0ca0c37f52236844e921ee03144279ea5a64272f8cf0911bfb717448a076486c80a579d05fefe0864a3d2fe197089a132a6e57c2ceb2ecebe5a5ff43bd640e7b2c97939949287bd8afc1c70a685e946c991354d4335475b7c1953714add1726b4eeca151884f4c8ebccc07bc8d121675b134e75b5e23ab57e0df6995369680358360ffd9dfd63ee45c65710a7fccf27e2465ce2255f1ac7cca0aa3e205467bbabd93accdd799a42701dbe8674dd079590a237e11c4f2f232ea07075b846d1a74f63a6e6ce5f36ecd4b8027ecce19b3854d9551b9428634f5ea9d0ca791da85b633c01d69af1a3981b9414c01bcbeaec7bdaa9b2d9e826a4fe51e848df63444b87159cd4b5510e9e856e808a2078f3870ec6299642f63f1e8d523da8466c3375d69dd52d55e13f600b016ec46019bafdd60fafe3b65ee2733eadf3fe3b7b15c2370a17a038a2d99eae86f009ed87ca224e50b56a059fa1fe307d292075f9d2e6a000e8098c71259e1600cce37ef7972ee606d83f01cc7cb8e2eab14c44369182cc21b12e4f5ee0bde0779ad3386ea9fc01033cb1c70d23129b0ee88ee91e2cdfa5fb52a5fa3e4154a37a629c06603df407949c05e5220e1b4a13d02abad4a69085b08b53179769859b9ea3f74d3e0df526dfda202b77e6b832dc7f6efad18e6581b4e8b4219581db7c0da44f2783c57d1246451713dd5379ce6d8cc95d4849c01bdef1f9798f7845fb3616763ebdef9924bda4e384a78be3011137f5f62550a1995104863b2cf4f71f55818c5ce8828b7539c59fc1e6da491c7da36c784e3cbc31f1c2bdec46f64919b987109e54af433b70bc04c599482e65113b955b78c98047575ed26d8325965a6fdfb03664bd6c152d95dfe274add20abbbc212f977f3b243159aed448a135e46fe69b39e44f4388615ff3a61ee80fc1f0bab4381394c9f7c646fea32b5e815a546eaaf1980bd825387940b04c8142247c494c886829e1665e9dde3e0bd26ace3b43837346223675f19edd913c0b76b3982a1c935ece2a8220f845494541c20f2d5b402b1166323136e5385b2e39c56f767880aa82d95a2f9b68c3f10a442d07ce64df265ae64984cdf114806ec3644fbcfa16da02526e25a4e2aef83780de9e664b3b817401a54e8424fda1bb479d70671689f242952ae279a9a6501f0fc2ff9c5d5fa86db94c5a06636364561b1460a7daaf151718d3df10b575d603fbbb6325ff25be263da7fb21505132f0faea2afa741baf0121005f1be70c6633838996706c12da57859a8b200a10f849517047a54a0a0f9680cbdc406d727fc7848342659ba709dc31f23c9a3311fc2cc5568a53ae832e095b38ca031f2d40503bb8e9fb40b4063de443af9fe2776cc8b0c750188301621200e5254bffc237b8258903a3486eb8702977fa4ce193ea4edb2c16e43f05ecaffc8a2f29207d32887acb2b1b1a20789c5cfb89f5e9a4328573d6f6e7ae6ee4918b3be657596fcff3177b2cc5c447ac49f77b4ce9711d1b0e8475f21f12ab4ef9224762a2de693d833e0940661e15060dbd3461ee4d4b3decf1d30bc31172bf1d88613a43a90340872bd0938e3a93ec565d6ddd912fc9a9cd6031073e3fd60e6dd42376feb3a136928c58e1c1c1c26286fd985fc5026623ba64dc50341a0f53dd39f92be1d9d8e16442975362c735422929a3ad2b68da189d89cb9aff662c171106e0977ae6647b86f71fe2501677e228becb36441a455a78f4961820ce6d12fc6d0008b24c02901facffa7ed13ba4a2ff0daad0fdb6ff59d68162edf8fb2306675444a6ac1ecf43f0f261896a9af3486cd1f7a3b3b8d27948eeb336dc505e48672a9945c470671ecaa96b907c927d7f1dbc0b0c3c0614f2d4de5e8671eece46da6ea89754d1fd0eb99db2118cc4a62a43166f8cec50e15a62da4fecc4975d1ed95c467edfd43cb056a3f07458c6d3ad23cb93c0e12af738d32f2a3a2212b2efb43e130555c40c5f44310cf7f4cf7ccfd0a08bef798a5daa99dfcf9ef463bacfb57edc73a442fc07135a3cd5e25bc29b1c8ba25015f16b09678262d084d4b26871168f68d1b53543ad3371c44690d37e7542f05a06d52394d4ff72bb97cee48f4bb8f652e83e53a5423647e347ef299ea60b423a5211958e549273747c8098ea48e3c6c52ae286cd2b76dc2f5ca005780db6665320f9454b94d848af5591672250c206185df2ac24636abe267863386c47711a8f899c4bd8208a86a489cc8458b9766161c576410ad4c9e79d38f001e2cfa7340b0d49ea5ee906e31088a5550d430d52a670a9afc232865cbc5433aeb36138077fc894f1305f64c212707e679a108542268cd7413e048831332a6dfd601c22853ac9314cd97c8d98b9b9441c07dcd59894f587e70ea419df75c3c4fc5f81d110202c335cf29ddd69178abf253080515b48fe299947e7bac2ff9a92a7b76826b88f9836cb946678309274858150b865825a62f01dc1ec4b152e63a52ce8484bcce3cbf386d3b0c0e61666e13779b60afb2c3a18d58381fbc3d0e52831938ee6169eab958969dcf29298ee3f1b867ea7bc1833f34f5871683987c49df189725229e6ca84cb8dbc0ce700420976d2256095160d209cb332e435e9b9fb0974e1285db10573b008fe3e9fea8ce107a62152baa09e3a73665f91c003fa04159d840d752d23fd35db35fcf4f7e672f8813268ffa50188452e81a743aebcd837714bd057b9d41eb640318674250e85e9778ea02de474c9724e12e80986c7a56eefa438f80cfbff450c4575494b046b49da4beeb8ce6f0264d23af4906c572077d7222eb8045e26d7ad5603c14bb350317202db0baa70c60b2078e65f18e395e08117c41d99bc6022ddb2495b6f7c9c1d6d8f93e48b9073bfe784d2be45193c1c697e942101c9419b7816595ae07195e5c0e283e31af6b19d573a688bde10287d0e7359162446f853c94a7382465c574c6c7768b426892685ef8bc08c8810b9da1611100b53598c3dd24048a2b16c482d1584c39fe9caff1f7e7eb3f106ea86278a74f6e760081eab9f370bc6cb9de64720ce47a134e37bcc268a4252c2d51eddd2115c62d2d42dc65c556d10c3efac1ebe09533f95e011783f8082438de1221ff6905607d085c35008710ee22e19f8af27025637502882f9ddd26d1c3e167daf854f2c476ae9099481e16322e95ba5958e4435a3163d12cf4a1d200eb3c3fadbbd693aa3b8ae1feb80dded92372a593a7edefcfb3b14acf85018c0aff71adc1c24a83e4f153ea750c35c82f23356bf3b5683b0fcfe815026770f255fbb21da3c8548f6a0d8a399bbca83e9d16102e687c805949d71661829301b24387e467b4e1dacc2340a36aaf45226c60ffd98dc8444de090af6a6dc2bfef7d568791b1878a190e10a05dfe024338d5c751f97808363e3fc593882ab3e63e4c25b58063a152fa687d5517d79b13a56890138875af1cdf0c64cdee6682f41aa6f0f72a2d705638618b85275909a59400a4f1603a191deca3ae7ef98a5ae82a11fbf37dd6c28d28a4e75d67595523245c694dd32326b4fedcd3b4e81291307d0b2e1d652a59d960d50c1d7ea480408ded667f5c833eb8e7309959f1b61f7451bd91380b686826a613cee57f2dff5ee7b651273e1817fb8ec095898a43dc15f0ab595896660b149cde2b66418350b565fb3304d0b3c9c130c7ba95af9b6b32eb6bdabbf47254c2ffc9381445d7d9a80d8c24e3c7b293c608626fff84c5b28d590b9e948df4df4ff7749fe0749a954f854dd7209f2d720dd644079543d5439f8be8b4667720dfdeefcacbfc0834af0ae7c33865d180487baa3990783d395c8f7a5aa2610c720d0ea4c4d31dfadb210a42a93ee0cd740d2612709a3a84c16e1d313a52ebe96d725356c0ac6c4d70e69031b699a7940befac217f92148bce9611a69b2f6c137b9625f87e970c40600fdaf834077b0c37ac0fdd432ea87dc5a773faa9efe0b7f2ba1d5881909b9cd0cd119806e4b43191035a64268ea70794121a045cbcb78acac5f3776886b04a858548c64de89fa887b934c1c2252494c83148e89ca3eb624d07721f283630fd644ca2ce6ff200384d6b891f44fe33910a6f5417a96a490ddd8ceaca6e6d3e337084a4f9ee21c62708db43a5a765e4854f53956426429c6fef6ea0acf9ba059d332bd7d718386caaa98903e044ecaf8e5651ca515147d335415620429731b181901fc27ea9451a4aa89d388f908cadd8c2a5e3bc6fb6f1bf81c03c68089ddabb360674b8f01d02d112f3a8c2afb2aa72c2e65a0d8fe5088cc14ee45223011ae7a3322fa6e3106b7c74a23dccd29978c2fe65868dc7389548ad028373eaf41002fcb2561f2f1b19c1ffc7b8d40718e667ea5dc2fa4c3add3c90b4d1e14279cb3517ea9a13a4e0e9072b14c4b0cdd46fe529c4e8a491ef655d1766d10fd739412213b56678cad60f87ef159bb6a00488deea3453101f1422d5adca86272db45b9ed476acc49d63887869975a250ff395c86ea603d1074005e22edb9be3d98b541e93537874d4be719e069a292ace3d745d05a1601cc3dbc5334c67cfca83e2f25c9cca3eaf3588c83d41af89dd454ba85233e4ca2130bf314391205c512bf1beb2218b0378b98269550d0fd75809614102a64d77850baff605a483466d50142932d738655c052031790600fc3a224daa653889c36f133cd84a1e8286ccab7a97b627c9d012c6a31a6d38b52d94f64cf70c45986f6e9f0c10276d2f1d5bfe191d8817fea811c095dc73ef4fdf7b698fb261fd180dcc5bd2c2f9ee46322e2bbbeb571825e666d756bc131667ace50de6dc08d69679cdf82ccdbbf67178317773cf4dc3192f8d52b318e282b40043705f9f39dbcea3e6a3a8e6d48c079f99da06586e48cf56883557b3b9c840527ff9be07889f904776c8d76f6151894228c0fae5c552e68a2ce7c334a9225596f521ab37a415dc843dd99e0b922659af78daf9c3d26ce89452bc551a35d075296cb882b36a929b5fc7e2990c703fd271b1a8a68858ab60fdff2bdcbb72672e68d4cfecba50685aa5a622acace2ab64b41295d99fcefb9f4442290a65faef4a83bb20e4d02bd4a4cbda6c80f450d998e55902e981ceaab804bd4349088f388c6a1dbb0d66e694a4472d20532d121a2d7620856151b055e6c5294a74c9694f14e6f1e65bed3b560eb031fc85a8cfed3610323064106017ec4ed2a5c490e2560b5ff9406d7611e7c5ee9d39a057f6ea8a557015923abeca5c36ad9fd5b6bfa835489982dc81c006481f051a6604b167a85c3379300ab92567a75cb8a45338be85e1d58a887bc99a27d85ec1769b96d3e1fa16d0d30fdc46226343dc070502749c085c3abc1f3dee0307ea9b6d5a929b6edf13c6b8b1320a8af2f1e165949e9e843c84858adaa90ea7ea5afbaf96c2ab21369f009dd56d6a1042e15fe831f2074ae23a1576ecf484681a2f5060dd8c79191bc82af4fd971c6153f5e570b24a018ea39f5caacbeba95aec4a5f81179612b9d8069648a031155c4e5b5739eff6066861a8c65cca645a80ae2b7ddd15eec4ee14bc6fba160c739f4b0c242ab40e1ef896089c4c151720a9506028f9559c00d09b34c7049036f981dc0a15a460cb0366954970f942fd93c5468f437bc8cb80e8699286c91fa8a6d4b307a0418f0c368efa607dd236dcb64922c7925bd4e51ce05112196495c59ed5a1099d0f52ce7ea27bc3d9b7ff2031259582589b241dd77e7c8eae89559542c0b7f0f5b92f79508edb0ea1e59379466dd846cd0289021e0a7dea9177c704004571a138f2564426b25f4a8d78ae8b922999a76c37566fcc3b711980c888e63210341fec4f518a2fb65affecb281237f178b9bf154461390638ba499945ac7f77df6c9284e6f459905b6bb126ec353c8e9842802b84534839b0b91f3bcd4b5b0a5dffc3d1fbd2595daff00d94270c27c0a215ea8122ce825ec1ace1b149c2a80051772a636b781d661b4468fc53889345cf38e9c049593ace8b3f3c96e06d9c5dc7473f652884fb19905be4967178ea1f9ab711fe1c7fbe67d034acadf146688e7a981790daecc1100a9e73fea6f980a07686be4e71027943ba137fc1ef3c2b6ddee94504ccc6552fbe8c7811107a2511aa1343475cfd9f63a222400a5eca55bf2123038e8551e0d64396065aa07037ac86f7b0a5a3b22ebbb6d6036df4d08868f4f0fb0a759441846e37b33b52a180ccc4b45127c1fa6a0d2d99880b832bc8e3c6e7ee0ccdc1d4c86ad03e526e504accee3df32e5eeec710cf08de10af1e2eea988fe579169db658814f3e57a39c50b7e3d9971f6b205c508d13c4c424fe5a86582c032a5c0c63cdf8a8e84a4a0c49d96db417142a45c4556bacba533cb290e1fc8946d09be0cdb36a3d0d6b2ff904b919580ac0d883dd574d2c1e4b9ef04df114c85c4572887b29059f3952706e3064df0a996ee9e9f6909c464dd3d93d0dfb3efdc4e72566fcd30ae699b33da5ed7c4a2d1d9ede48d911494b23af43d138024d0656c466e604752014e7b5e254a3ee62ef8c3a123dea35211cc5392a64648e42751b3d62e998e9ec27c18353d8d7ebc55e690008de8569f7c134d8a895f2dbbe7c9e52dc274aee7c1253e9843c81c7731a415448f09229ed168ae0a5fc50d7dae0a65ec045da61c94e0452d772ac55e412befd7223d4de39930124b3c80d14f28a06c2a8d4ac412270b23aae4ddae0649924bc5c60b691a2582a86a61c04510fa26a8889fe11501eff7c77ad79badfa9292a76a63872df0ae71274a764f1d1c25d3771999408e0d05ce5673de368826723ae7c36b29e2cbf7962e740301acc614e0512ad2a1aca7a21a71ed876c2723a471da974ef10491868a6acab7db1f89406e16407e1e0734f862ec4f5894e79567b387809c84ddee6219f1f42ce9a6f4dc20636bda0a3b2cfd0f3e0dac1064089518e0b2400c88babc08285ef6f4ba13655ce396bdfe9c2bbb8388245fab9b2f72318666dcee5bb2287e8ad5472dbef49ac1089964809286ae5cd62225f542498b212d84b180b8aef541a00b4d5fbfb04ac6030e7404d54b62734f23f30abbdae97bb2658e091579770e340a9f125a4a7f1f66b14360f886179a635ad50dc669548628558e80a49ac77125e5b8a56b6872da63a8766e990264ced95771a2ccb8c6d4acecf28bda5758869c20f7e1a42c6ce8ab380f1914ecf6845a28755ee37687094406e95c81ecc8017d32385866844e0e828cde2280766131ca31f5356b81dd5fc1c40c97a79785826626d4d2517a948dfa4614432f851884cfa22b38bd9049ecd2aa89c0a811e19f1a4f824d9da98762be3199cd02bc77a3949cdc7fec26325800c641bb654d2127a58785b3d0837982737ac528b4d1906b28b70935159ea1d40c0edfae9eb82453189f92b13332c116e9817e230331b08944c9fdb197ac43bb839bafd80f8aecc8de8d0e2435e0e04a92051c4a429ae699617b4dfbd01214b03cfd2c831b9b25cd9bb0f794c00704719ec39ca5908924e4e9b0dec57b9792e65f507b73d1a473d94801c7d493cb11fdc86dd38fd04d698f17b1b8560c64c637e9397ec992e7a36defd948b8655096cf74a17a767546afe10d12512167910e632772a49e5ecfb94bec33f50746527ac51a430de18e1377d19e0f1e2ba24f5095bf847b0c636f1cf1f34eee6ae0e96375b44c264bd34fcb6dcc58baaa2361b8753447682314fc2fa1df104fff2a443996dca7ab7630d42ee993da2703fc6be16213d119cbf4712242658b3ed06dac3eaa52baf91b9ca83f86f9c086bc289af9256e4324252f012d198ef6824c7165ea37389fb84d86b669775b471b91ccb34c11c9a302fb0eb0f8b2713063aa9e51b23791ef4c635da29b50e4efabbbcb88b9a19778ffa019edff090be7a7358375c87c453512dcb3e8d0ce6e8c3c2ae81c03540f500edd804bff2bbd9d812f9c64fa3979b53ca3f8cf2c7121e73f27ffc9e38fc81ab2d71fff7521c64cb3ed86f4dd38feb8d2905bbaa2f4187d6e1eef7b4d60589e2310407b938bbf94ff6935f30fd6bb41c70b1758b4d1304a567b538c8d81f75411804b70ae852992c22df27be6ed7083d712d23fa303e7c579f8909687020ec6a20f959d6740d465800a81c311b83e16795c40984a043f8326309d73892385436cada1219d9da92ad166836f47336ff05daf2176dcabe395c58c44e814dd6069a5b540149ad2776fd27da0f2c81336a64e9649c1ac19aa5295895224e1198b4653d0a54fbd4c164a202ee60f440cad1212106c52cad43e68e11b1880c7757b1c12dbd0d75642f2a8093b011c46838b6af22032fe537920f7cbbd4087bf04cfcd8072c1278c37427c0feafa04de71707f9500a57b22529b60daa8f37faa8800fecca44dbad85e2a6c9a05cf3e51c383f8b7ad688c3643a8785335c526d6526f5112ce0d655f2d168cbe285ca968fc6dd286f7e107a447e087b2ca97b4dafc6a3aa20c7dea3a22a20e43e65db084ef508427529c257d00502a4f5e3a4e1eeb1c015cd6e51e130dce9b747044db539d23780edb113910c6ba112a609840ac12c9675b5f37054e63897dd32a75ed8df8558d03fd05e9295c0e15bf7f9bd3f11e90cacf1b887934706d0549b20966b01538a2e3b2153138a4c703ddef3bac7921061a0193c51080551e82cdd413a053bdf5f9e5ecc6b9be63cfd2a7a1efd91f4f887043d14b93dc8910a459c31043cb35323187a0f716a7763a8f19f7886230b3f546c1e2f022102459845648df4bbe9c1903a7cc427a04a4bbf8c5bb316e725529a083b43844fbcfedb11caee48a60cf05c7ec270f147723ceb6731c3363048972172d280c73b35c0501e434cab7dc8bc71f691ac17cd933fae636d671121b49c125180cfffb70465be2532b43e24a2d0d419fbcb8a453c90e3084ff6101c054320bfbe1adf611338455ea5f93900431b74c66e1cc801ac5148c2c05dbc53d1aa64f93acb63433a1ba88fbaf3d2e8acde891f9027c5cb81ce66602848a7b034506b2d0c50d34242e008dce85cc5e72b51037a784632fb8742c8462a104e2c43366a1cb033864d6852318239de4c297fc69655584f8c891b7f22bc36a19a6b73f8588f55c6ec5b882fcba408c52017ba3bb75d660cc1a12aeb84adee6f8c40e7c8fc68e7bcc896946ce8b1c23904bb9729e9739b66f5b98988328f43106a0e4f9cf4bae316f90d6870e4fb5c695cc641e15065f7af4fede9409e73192d85a8160a5d2855c4d6b075e3bd012f9120fc96c225d57e71c88945d69f1aa046f19e7e5dfa98f3b4c7cec09a6357c69e7e3cf2fd9ff77f350f2a76f3ead0b86105433cf73925bcd9bfa8af70355a0292f259bfb6f07ab725f53bbeb07f6e5243c8773b2829a66ccd4d93955565e1a31b620729e78d22360421723ad8010cda5a78d133b3db7ce954dccfcf0be85ef1ba48eb72476cbe29febb05a60b05a94b7f614ca05a253d030017740020eb1a083e8c425e35d47c90c58f4ad08de41c33138f556e451af24f8de4ddc638c4efec337a9f7d1f4ae5ce29f99c9f930a0cb92af8d081bed422c1b72960b3909af27cc21ecf24913d3f9bd6f4a7e4a31b00f90c54155b00f277451b301cc7b20ac99b14818a9f3e05e125d002151a9510413494c766ef4d230e7e47535c87d015cd8874996c686821fc135c72e0868dd8b4fe3da6a810c9b01511982b9640b24468f6d560727bf2f46b976e24659666e9133745f1c4532a52e8de342dc75faf1333391ffc0f42d9a5f409a4fa0564a445118e7b9b1570ee1bb18007a5e61c1d02ab9008fb9ccc863d3264640d0545e6150dbdd85a9eca5e5282ff50e06b061265438acfb161beb585141dd22af8a44b5bb85bc8b4c4a0106dfc554811e31544a7e6de999298e72d058812202d4f08616bc8d8a096de22337e90dfbd7f1318eed18791af7ce5a5e7a94028830ec496346596ee2e859c0c3ab5ce3dbf20dfb6d250e5827b1abdf01b8406801cae0ed4c5ef735738be942ef1d34c61d09d67010868e8f69a0fafe5271e0328bb82508ecdcd67d85d85bcf4f81c7d7ab18c106650a5531e1325b8e26dae5761c940f698a181501a733ea185d0f333dca780fd1d0db535965290483c810deca5ed203a21012bed18534a2255990ba72b250e09ead21d35e5bbbd21acef2d932a5e8a8b0970e03b58a8ccf5be98bc311044468108fb3506a65f2aefb8360233f8fbd9144e8c08daa3657dc77443e13c10dc9e5892736824c00c01d3379e685185e8b69365c4698541c6a8d03ce677a2ee0d936471cc659dc6440f285750c686fda97aa8c9042d454459a02a2200f998a96f27df43800d4fdc3f41660903062f6de7fc76bc634bdb158929e19b95b68b13f01cc871c76309b0e11b2d383dea31c6dcd10136cd438f8ee8ba66486479549c19683f8fef2a626e9c711558a8bbb3ddf4787c273226806371d6a4837118cb62e8724004533b3f0d60bea7f037ac3e1a71777cfd49abd3a2af0072cc6520a86dbbd4be0036e53e254109271b8a07530dab15cd66e3564626ddc09ea0ae6d966fa50fe28b2612ccc54705e759e7fc73bf2afc161775a8f9b690bae7c6a8b0f1e7cd1d2008eccf1b630d3cbc688f123e532024d2b381e54801d8a9294b274ee34ea7159c5348950d64b0b3968f5539db53b0bbac3287a463a6eadc06082bf843c7f9e030bceabdbbc30460475cc2c6ff44301b7e38c5787200891036a8636f1a4d1f84727e71e80b14ebc4dcfa1d6c33a1dc5c58033e8c201fbc86491fe98c6e76907804d6ff3f89a2bff321dd03e93eeced85a8ff909d5c5b440cb679635a4d6f088e816d3270f9dd471c516a37340fd3d92728da29008cd040392a55c62946f957f66f54a863a2b09899761e65a20252cc50022a196a2105a31a1afe3bdaa0c4912d5c44dfb966125294b47c1051cd38f243e5210355416234c03bff63c35065be7b60724b33a9eba0a11c6587101574e4842269a6ec97372638da5a49f83e74df9869e3e29d7a63005af5600be4b663958cc6331a51f73e88bfbda5dd7b7068193bb23b8652c0605f72420063cd9857444f78fa2ce818a4cac1b1dca904f0efdc3887386ed14933817f1cf573d382bebeb51bed7689afc4719eb3ad2e61fca0926422c8cbd3c5f58dbdba4f04416b9ce70c6c570ced0b6ea5353bf66b15c50f02ee11b007ad1630914f9ece3b267bbdedaf9323580c6045694e5792f9d49037a03640a8d704e0a02244cf4a8011e83563f01778459c39f4e2b16912bbabef7c1b5c2e14c5ec865ab0090f6decdf33ee58ab5520a70ec6c99938ad1180c098b832b14c0c9ca996db6b06f0230a704b336722b576662376001d4dbb78cbfe83387195fb36f0bcecbd7a20d5ec78ad77070c035c72bcbbd58de3a5b30e27e39afddbe5113b069db6324e2072549ebcd9e02cfb8f65d41d8240d091afcad64d25156f3d4f323247596b4f87cc40095fbf69e63420d3a6971f4e8b3882fc029ad06b2823749dedb1311e6c032e413e848167a9feb75de73e24937a4ed40c4770368aa7a46fb863ce255176fab17e0e25085a26218f8c1613881ae781d0da6c7723f788d823bbac0c1fe4776dea9a4101107acb0f087730eb0f2e4376d76d8cfbd66b3a0a74240ab517fa604920d7641df76634588d09d79ec776a3ed857e0018c1cff041b3068b23a82c96ec752f5aa267fe43f83fed01cffc38e29c8001be21e636b3e9a59048b5d76034ebdd6319259c739ffee2788074b017dbb523f94e7a1af735baa86e27b09852894f09dfae3dbafa5db6c19063102762072f45dfed87fac96c29dbb9ab742d6a15fd3bf074a7c6e8b77a0e02bdfd1b0460b1e872a1d3c1102fb71b2731125e92634f28923b54df5b79d101b63216a94f2bb3b0dc81ad888899e7ab6fb51e99784dc5fc8e4c64587c436806de9b45cc2b9e4a9aaeb3085054082992ffb5b52a7dacb71febd0594c48509b27304fe4205854dc07947bd7a6b398aa7537752c1576fb4735666bca1e01cdd5e277d727d57417414832894ceb67613d541c649f05330f8ebc8acfe11a5e1cac94cb9ade56e5ef2a7d606c3e6d643266028d2c7ed31ad8fc50e7c1f4032ed9a9b278b3869d6f498ecf3609df488c907742b68bd2037688f8abc223fbc13477054977f0483c90aa49ed826d4295b100e462863031758ad34033c4c253c2a8fbe8120278d59722a9e30a2f68c68581fae6dea6525dae366a994280bae23055771a598b58dcf8b3d0d091446e70e1584619ff7d624d41a03a4f7eb84260e7921f802843f1c3b88e558fe3a4c94febedc2493509392495a3e3b577be47020c631d3e680275a255da986e8dc720e60cbfc2915ff43070baec99e60675380914f0aa715c74e730004ddc606812cf3888e7aa17804b9dc3866410a0634fadce619664106d7ee25d691d7937385df346812d274bdef31b3c1c8b6e42b700c10a8fa0b4275847f2f586ed811958a590fb759e7373ba8b281d9125371867a912a499c616374085ede0e8b3d1ea636b7a64601f418191427fcbf0d9545402c01d6c593404b257f0f0987d47b985d0f583ae09feb96c3498d2b3f6125076f9ddcb44e968770b48a4f89a67346c0d575e8aca0aa302b715c974c6fca6bec8913f8f36ec199a003a58bd64b8e1ac0488229f3c47cc6ed854d6f00fc9f47f04c71b4022ff1fd35e2fe2119b4333365cc0bec3b28f19bda11d5ca5a26f525210e20a24792f007e0ba1255fe8c893085945ad8288a0fda289cef7da8404f4176d8161fe635ed3ad99031e11c8136dbea67e6499b05872d47b9eca64c7677059dbb0e91f3bce1737889a20f486c7082f9981a0241066c44a6135bb776efeba728734907c34d6854b5ccb59d65cdf3094213de80d00690f8f83ce47b2ef285956263ba65c80495e4bb2e17cc846f2af6507b67ca9ea76acf4e1bada1d900127cffa5dba0f6fde7c81fee37df015005e87f44cf784cc52a6d5dc907e71bd71480d446b70015bd98046b16f146a5f3e44ae85bc04d920bc6843174ffdcce36977e45d5a2268c082fd5ece9c0e3e9dbaeefd1505a030d212211a0223cd832be7a7d1ab5abf4400e9106981e2af02fb056384ea6c0de18691d4431078fd87b67a8baff3a831292dfb48668e4ae563b88d095148c4c7fb6cd8f544cf563794697eb37891d537861e88107aa137aae807e98bbe0390a9043973a5631f5cd0d3a4431d5304ae9fef32a4a438d315c37b2a09a2afbaaa50e4a65d76787e32c5601c7d43e2b402751cd921e2a40c2dc21924ff9cd5c9ff82e7127315446f821e36e49261ebc467d71b25e9246b56cd98372443be0b805cef408456fb6908c45cef4d584b95efc0c3ddb5a64fd7ea7da88089e6ab24629bbafab93ceb9ad0f7d1c70713fe5c925e39e8d676afd9a4cad1ad1b0b5a986e17fd9a3349ddfeef798564a2db23ee736cfcdb2d9e28903a2a7cf294f9dd8335f241a4c6c3a2a5147dd6fdc1bfa3f79981945b96eb8b7d996107d3cf40c7e2d58421f368d24007d7f49052bc7136b7ceba5aef74dd028785a35661348098921b56a21095d57b9ac88b2579ca09f64f833b4850241b3e9b82f026fb2c60a77c0145285ddcde821020381306363730a61870812a1c7603ca8bd6825b30523a4e071aa71ddeab789a686e2507dcf1546564daa21a86a6189a03bc96912aa6591ed3792e8baa72595c88824cc68ee4986301102bc61ad91a4df8c57a27604fbd8e1285c7e3ab7d291f4f197b8f42dade6d4dee2d654a2905db07050832083ba78e5f2aec0d7f5f2395a9b4a37a2d4ed7b00b6b2a833bd5855074829fcab1f70f5d3956f1d7e727c2be9f0893bf5f58c4877cff7e5098f6db27821560f289f6210b1ba6861b467e16f016705b13f2505daf1cdd8863e413e81632c7c162610bd57e7baaf29b3d8a0b2443907e2136f413e9126a3f239952a3e368eaae0d8c019421851ad0708b6ab356df00175007f0ef510c3208b1818780c06db36cf7e670565e6f55c06d8d7bc77cda16a77370c8155cf5305506837495a20c503994ac5e8b345360c80282babab4b5fdd23e94cdcd37622ccd2dc6d28c524a7f13e46f526a526aad18bd638c9365ff2ad5ace5af51c958332482e18a05f6205dff7aa10606e96a2c79c8f11a403adfd8ef304cb4807e24d2710772939a1452bbb181062bc996f2a3dc9c4d9354c82fe50dfcf8da166324d2b16125b0997b2a7fecca1b15529345920729dfe3fb0df90d4629e57b7c674dd33419659471c61d55dde257ac29d7267b3a6e72f065c5ad03d5f903fc72d34d8ddfee2cab465fba7482210d67fd34e981965bf38bf746fc8d2fae5ef9b56191ba849744bbba59bce42084165f9020a2520b2c64ba21106516bfb57062864b4410905234a916564a1070816c859c9d49553f8d7041b9ba517811460d734e4aa2f0620b2bb4783e78a1039cba5118814a166e6b428e6991437d22faf828a2f6ff00d21f430fa136c362d04249fdaa7c272a77429a2763501db14ed48d4ec826a494f22801cb1a1f35b15054fe0f027e51590621065ab80862072f35c66d8bea2e54b522c0d0011834e819319f098aeb319a468386d635eb69bc4d6a604839c51db87d511b17509d751f2beb0e0e01f11285cb06c62f031de2854ae5b7810b24957fda9b47498ccacf5da7a303e50f77e6e30790147b3936ce1b7559d0424317f8b5eae161c2f0abeb16551d30f416ded1ad14bfb6f683fcf2beab19287da963bca88654ae02c0fc6b92547f967f8e975a002d6220a95ea480de05c33dda32c5ac0775bf0a0e76786c1400ac9baafbe10c7b3db68a7afec2d397dec4afc937b6b4936f840953b98e4b1fa4ab282fee17e60c91a1f6987c238421fc51f7c318ea7e18a4eee3701af8f70b7750df86452a7b9f06ba1a0ea9a7dfd29fbed2b3e780c871dd31d81e0bfbddf7f6dd4753aad237bf1a073b1e31a0fc528291eb522cec53d975dd1a3f7189072ad3a168742adaa5bca3aa2ef5dde50acab32e7db32ecc90fa666b386977f9016d24d3c7aa49d1ae55378b8f8f101f9d60a246d75541c34e45f35724817205952c582869cd7c8a63df7091263828f9f9c10d4a70450a6031025e30e105144748c28812b008a6c6570f8c00419621a800084bc0e2028cba28028a1643c892c062298c1a43d0458daf807679b07974a4a8004c38f780450eb474f941a736165152b107fd3d9050137e9f7d4aed6f20cd84eff729935f9e44ac6a1f2b7b5aa7b5170dec2e49cd6a0abad653a610bd2c417bfa5403573de86baf6994fef61ba5eea27ed35b8e0fbf91f1323fe37be6697c7f57e9fea6d22def9b84aff15368941c27d3a7364592a47609df267cf7f7fddf00f89e259b6f9aef9510bfe9b7a1e6fb99c85d0160202ee6eb2fe8d7609ad53edd8ea4a2bee6d22c195fcb7c9dfa7ac6d7335f5f69563f8d4ff5759566153509dd4d1a4cdff44f514571e233bd3fc96cf5d17c8cd45fc2c75c3e3efa780b003e9ef195effbc0afe6e3007c44b581644020d7ad34df36571a1fd7ae32beae31df56e6d2719faca6d2acf9fe1c1b84f8e82d001ae8b166b574a0ed77283b3b66668652f435fdb2bb1b45ddaf06073bd05b9cfef8ed1841286da9995868ea3eea061e9124620ca1baef75b38c3144d3acce8264650c108089d515238c18489526f2c78df167cfa50acfee8ad912581cffe5dd6f887201b3aca281e2082a96c0f2f0fb735d3733831d7b0ca2805b88f6739ec58a2e75bd1e34ea0437400387a92e14d07e6ebb6edc5657078b4a088293b83465e30b7556b7583d401b352b7f8bd47540ce475045d32cff747262fc57bbb3fbfe41fc876c5109d59f7fb8204192c47fb9e56f54dd1f877fa9fe3c72c080c1024186d868163a15c58e9100b1d8598060e4e268abbe950ef7d831e2c4801025767cf9117c9a35c5cc40850cc401967ea6063ee99e9f7438bae3e206e24875cb86ba9acf9819a8f0dfe7eeb6f85ca3fcf86d7521a15ae5bcbde3166280468d4fa3463006c1491795bd1e34aa4f530f28cc50981981dbdf5afa7dd5b7d2f1a550d8190c3158c00a28955f4847d7791d562a696707070f1fdfad558f0eb56ff0553b0c3e29fd06aef0df393ea63d29bdaa5d3e32fe4ebf77778e100e05f0f0f10306199bc50aa3ca2fa4e3b3ac98d54db58bd627a5ef27f34bdfcfc326b8a37d5d5782385271c74eb3f8a7595bc39dcacc036e9767bfc88be3edeebbb35be16aa80d637b83a1bfb66f02ffc618638c915bb64ce29627e45a19fcc5e1f64dfbb97455dba77df4bf6132fc58838e96e02f4ef3c7287fb3623cfd17d9800bb952d5826090aeaa7ad6058374b55bf5d8e7677057d614b85ac0eae72a721b652dd2dc5b70dc762bca05a577bf7794317ec7e6aa75b5b7df2fecb6eda306bada41baba9cfcc27657cd0d7dab5af4aee317962acba84955e8ef3956ee177675bb75805d1865548a3a79b88a45343615d166c518639cbd2dedb8f16e605fca6ec62855a9edc31863dcdc9ddbbaf524180ea9d237edc36ddb36ed9b41bafadeee3a5728ffc61d9d98e3ee3949287f747777d71885a509564d13359239ee21d6430c510f5d13b14a94c8289151128322282828282868e60061666233b199d84c6c2636139b89cdc48c60c2840913264c98c82c915922b3446689cc92582c36139b89b59319233346668ccc1899313263a4a190c96432994c26b3446689cc129925324b6496c82cb981dbe72307ea2224163a42b78de06a7c5647f0b77a6fefc6f8b33ae81c8aeb7aac0509083096800104c64f92185f2469e148cc1212a52de98aba5e722d114bd2b484695251ea92b494e6b661cc6658aa833b504209ce7565176753a927e82e0f05b054a100582a1e2c960090d84d752b7cdab5c6024ebeeca4943856781eae3856e05ae0d10203966785a029994fe1f897d99a4f003f50edf7bfc6c6ab9473b655810412bb4fb89ee8e8d165108780ba48c6e2901f7591141aca58141a3ad011aed9dbd7bda3c78d39dc19747613ecc652049a265d734d636e4dcad7b4eefe3881389f18111b8870cc63c8487270d713aaaacb7e6630ae8c3e9b378d63a4e03855054ca051751c9f30143d768c1d63f7e3f08e1e5935cfaae96effddedded5c27494858a4f18ea3e77daa15c59d08ecbdd7d9a9b264f91fe8881f19f6ac8f5890a8cce90ce90961434d119d219d2193ac0143a4329f090020fb46333f7a03b4aee97b4321066d8d3839b3246d91ddd3b4e2d1c1765f3cbe8ee1e656cd6aec9b499d8a43354d3ac2f6a32fee0ceaab246f340e5df6a488475c071bb4038e659bbdd3dc628e59753352f870d6f4757d6e2ec6e5e8e391b04dceef2ff701883447a60b487b9d674db60356ba7072999dcdd6374f7584bd3e7f672fbb6befc683a8fedc5fb8424ea9feae6194d2cb9e038164017cacf719bb098cde21cdf04c7b9b2a0b1b9bb17035c6456817b8edbdd4e6191cafcc2128eb90fdc3ef74f75d915a0218a5454f99da918a3f2b3ac5d314242599062954980f1fb100f95dfa75881711448612a7b95df879054f9dd4abbb6c867d17b78edaffa407be5ff7098e4228e99618a148e40f979b60c63b6c25780eabeeca8fba73a11dcd6841a50f5e7b65bf3babbbb69e8a973b660046d9e27346ca2ea1fe60ce0064db43c2d0419b267b0aecec248f526faa283ea4440a2bb2c8eb7b624b26e35e996fce8fa1ce73edc2b2b70f52d5eba542a7d9740d721bf4aa13113acbbc01ac96fbcbfae3680e8e234c0c2055a6cf183831cb0d82c4480b1c40d39d440680bccbf4309d4ba016d2dd6ad06a315fa1cb30b343ea5fad4f357a2f12917520f50fd8ce7af24bbe83d80c6cf78fac53c99f15c98f1db4f643e5e5195687c32c9b5d88c6f6956cc27859ae59ffa6492dff8d34f8b35cb83782e384c0694407ee3ff802368e71f8f96f7f4fd25d4f7aca7afabde57eaeae9a3d5fb4289248c474152ede58530e86f89607c6212c8f412a8592e653249b3dc3f071234ec2e71a6e950fdfd4d5fb848617741aaed1fad5c0973aa8c778eae8bb7f48eaa8eaa5ed01055bd816248501d7384aba1266ca4cab1badfaafbae5b8708f13c1e21e8be7ab0ae86c1def0d3204b125674e9a1bdc13326c4868dd164329978b733a9b6377d34f4d4a6817b081e253d44e5ef199636ea2da62fecaa29d6ae03c3f8a53f7ddd7bdeb7df79bbb1592653654f87735fbfe9db3eb67f64afe425ef9f46f27592efc9cfc3504f50604f0793d26003356b8ffa669fb5169020092b929c2035d9075f380245e29ee0b4e738f9718c314a952a964a5a6b9a1791317a3ba2e65bd76953f376f49c539e4a91933b4a3d4ae0f6dcb18631316009dc70b426b5dff1496f87e6c2c27c42707aef43401ff5aa1f14b543ce4efb76945e33bd06eee2c4526976d3dbe12e9c7eec984a94762a15a55da9d495bed4755eb78bf3ede2943893a73da77d2e783f7ad3c0d58fd37befc2095cf7c022b5391487a93bb66aff42185be9b9d831f2ca53e9e7ef28fd4471893b793b66a541fb384c5d6fc7ac937baeeb3c1db376cf9978bdcd643a951e5cf5e8bef43bbad25cedf0678fde138b943ae6875310d343e7e1806424861054516cdd78e54a18478b4304e78a824610348210638966e28a294db6e0765b44d0161194df7d3612726900035782dba5446f184270338781240c20ea173035a475c368e25f90a2fb172f5fdd2f577cd95269a2743d2135d7135a34824a1d20b44d07884d7e19a22eb869da17208ff245689bdb16ced317f7e9d1b0110c2330bc7007a34bc9e442429a3824b8529460305117dcc55919449c7baac6e83f485944f718061114f5cb951aceba61ccdcc3b0026631e3f71361f1fd8b000a167fa30afca69b486dd3b46dce592a6d3304d163f4a4a1242b35ecbca4a28a859b81c6ba453ef8a0f273a819a8ac5be4c36c17674fe066a05d37cb10803c0cdff0816fa0806b11413b9aa235e0a11603088fee46f0f1418c20d7410c318e8001f345a9445382eca24bcdc2c14c51699667bfbf043046cd719ecb061e257b395c36e84c54e2c7d5372b98999999798f7054c3581b8c0c2a1018295f7ec008a9780c778f2ca0eabefb720a645c8cfef2fb3d1959878fb18afa13970394bf23c013346431b8d89a96c0d0b6048dc15d7352aa52852c7e0d69d71fed510cdde2a9fd4296676a1f911a4620b242153e49b0edb99de52216801c2c321961d852bb1fc7f3a8f9ed23d2f3620206453029dfd379816920ab53e8e75c48a80aa87f74570c73ee112b352755f57fbb8313e748bf0cfd42fa6da04325a266e6f6d5faaeb38ebabb7b880d4466b19f65efee6cf8f801842e4fc9dbdddb07bf62ed8e5438ed395eae012ea05cf7d4edc5f7d3cef2bcc04fe8abb02e8ada5677eaf8f502df7015368a9ceaebc4faeaa0fa4bd0b75ba76eb7c0d02c5f897ad4fbbf96c71f866ea9b0af8e6f747fac2830a1cd943a9f93f1f94861fadc013c1e3a1da7d075ab735717773aa942a7f11c8059873905e616b38b79875905661e66ceb4834451efd1c061e6e2c830e9783c52e8b8d5b5abf39d2eaad0499e4e7b755ba9caf81606cedcf5c5fa66fefc627582b3f8ed0c815aa059f34d1f09f605cef88b75cbfbf99f4fb7503ffffb591e0e3f1caa0ee7acd0acf9de8739753eefac845e6871e60a4ab37ae5049c813da85301ee813856509c346b156525b438f385eafc19066780eafc53f7310f1f9b401baaf3c398589d4f8f26a536b16eb5ea7c1ba0e58975becd7c1b994d93e5e19f6f23e4aefef99c8cc76346d7339d474942a7d5e836aeeb4cde0e1f3bd0902baa33ca75dde9e3ac34cbe3aa18f18ba5ec8df99387c852e7735e77fa6068d6fc93a7a3541904d2acf91218827256aa346b7eb846dc95c5995c11efb0385302d5902b12d2ace9a005be208b333f7e32346bbec9cbc135002dcefc1d38f5898cb7c15d32c0f942dc3591e6dbc46c28416d7e401b9f66cd2fed5801ed0f6d62757e90e531fd9c2fc3d6690d988ba33333350a5024d1a44dd1dde982dae816f58fbfdee04ec1ad508dcfed6c41bb5bad1adfc7f278bc3cd25d4ff9278a9c2a62478168931abfc9c6666da10c52194893ecf801dddd6de150405320ba4540353e8e06776ced5533fbf068610363102144369036eb870c36d4a081a9a7424eb8ad4595f36eeb9450739752fe947dc437dc873c1da9f76e728739aadd9fff901863ec2a1ebd89be90879a06ee5de41ee392b9bb719b736ebba58641ba21cea58b15471188155c82ac2881cfb64e60184fcf7ffaf518e03503a7df2d96227d4ea754da7aeaf6a89d89da5098f3cbe11b5e8e051905be111f855a1dd4a7d3ac45a19ebd1ca8dfbeada89db115bdb95f35701dd27548572f8cd5fb70bf54fae2ee6ff14bdb6f3d622ce679db87fb1b23a961ecbaaec93e77c3cf760327e338aee3e634811de3f6cb440b2e8a513a0c5515057f97b76d036773d934ada4691f630c7bead4b65f9efbdbc76f7f8bdf47cd8a31fef66d8dd293d0b055f931fef6c908aefc41f6fa42c3286b72c3cf0d32d90d37c8642888a184892b823002205cb8dd82a3b974b1e20888155c24d0912029205670e1f293c4082d40b062cb0e42954375db364ba58d86ad6edf535d9355f9da17b24b09c437fabd79a8d13d3e0d5b8d7346f9fd49f724cd6af75fcfe76499e5284513a3cfa3051f61909aeacfeb3c78124f325148a2e1f740c3ff6e854b45d74deac4ffd116ced339a221c5e1f4f92715524ae960388e5beff9f318a3348a21d52b6898536da81cb7e762111ab6ca614f65a6b2ac3db7ff3c856f38cb806ff0db40d44fb42de36b1f1893b8d4db8c808629958d9c1d7f19f06bab7ca21aeb7a9289ea0140404315db80862af6569880dadfd5c1012441570b942a150a5e9c2d4e976747107f7b4dfea6813df22548444a04988b18ec2006d35e3e911efff89a047b3ed003c67c8b164962b0f8116c283385850d7173179c8344588722722802d6631a014c7e5c7181f91749a17f4b827e5307cad36f980758403004ebe11904c1fc8bc02848a4042d600ec64e81bf086cbfa51cc5ba12ec80831917d818af25055cea103e5509de2c4eb326657d65c08ead1cc1271ad802bdd27b85d7c580bde92f9562624808f74a0b8bd39f42181a71881fab9482958f8a4c48487d131f4a89435a9c195c90f8e58fcf49a94a7504267f76d484cacf4038ac2b48dfc45f2ffed337f1ff552a1a7a944e4af99a9743d21f7e6df5a13ff0ab87f846b4e22e6e811160ee5ab2384208e6df441ea5a180cbe3551c60ddbb10bfa208aa0e353e05d6e53f7b13df639032aaec7d79520e0956d175dd1190e3b02ec6d2506a9c2d632c26a85102473016240ea472d7e9bda21e05230e3005e592b8b96ddaeca126eaa19f21e6d2f3c7d5910025f126d1f4b1e59d1cf2ae739411289df4212f4d548464e437f1e73442aab18d6a40374b9829357c2f463de56ba2a6d2455da50511d0f8aebacff94f8dbf9254d8e5210125a9a2c619b0f82e8454e3bb138f62a546126a5c2db1a11adf89bc4832121649359a62b136ea621487a6953884c20ce8d67093e287a0c6c95396af442a357e102143a217d43f91f59b46a2054b3c013b79e0be0f9f18c01626a53fda408a23f8005b9894d94a083ec6d0164730223d4bc5103e37a04882c60b2fa2c0e2f7784dd4200b989b50058c48cf8c205804a5f4f7c814c1bcd9c762491a8111580f0288c0c2c5fa200c584fca070424194208d6c3558684d8e24405ac87f583017c445200338424580f8f9143104fc0fcfb235200300e769d02fbf8000b241f20710411acbf15175801c0c0fc23c25ca2a0e207d6b35acc60b6a50833587f2b24584f4d0b5e6818bbaffc4bfb55fc551481bfc3d47ed67e7f2acb18b2dadf8d3182c6c1d2a8545aa7288df510eb41051cf7d2a8545aa728dd3a17aba31627016a04b02ecda5813a37aa4ed4f1566ef4de5d2e9d82223b47768622b273646728223b4776862246666902de1ceef6316b972dff45457749f0842664c7ddd625bf254a08b9bb5d3aede2c4df2329fbe12327c6cc20452aa5a2891c833316876bfb0f99b5c3d4da600d4368a5b138fc33f646833396c582b73bc8a69819a600aab2feb37276b4c80dcc19b2bb3bef3cf97360594794a7131c1991c96432994c26930992090a0a0a0a0a9a39327364e6c8cc91992332994c2663c2840913264c983061c2840913264ca03822132413241324132413241324132413142428282828c8c992254b962c5962841123468c183162c4483be1470e14f633337f076494c828915122a34446898c1219254c983061c2e4c89123478e1c3962c4881123466496c82c915922b3446689cc129925324b666233b199d84c6c2636139b89295112eb5eeb9040870503a2fd855ee39c94e6e059a472fd9eed8dff50cf8666d43d321283ba567a40835a8212747d6779da6771bcd521d85d1248d0a2460dd35116ab6ed542e8e5e1968d2e332f5d7616631f3981d2b18e7514dea22663dc34b971f7ac635ddca7b77497f6897149603cd651f84a974632731923f1f8d1a4faa444ed8a302d4224a9fe5d644a22eb26a69297438b11142c91c119b41831c7c85a8cb41869398a5abc783ba2d0feb06338fe06d8570be52c4f0c0f50fd4675a679ef1faad7b810ce0ab815aacecf49c9531787bb627cfac6637c62cc8f5c1fdd0a69931f4232da44469dc429374dcab9699b4671c4c8ba15c6f8c400b5f003484c9318a01859459dba186408620375429bf48d7fcc4fb79a155228144a118dd2ad9062a153ba15522f942806c9903fa532c54bb738a46e695f2481e916eb30ea16575784ad962751aa1459b93293820ad326d5a9106dd22d0ec28b1454b418a31454a4a0224515673d605d24ec8dbf8fe5a1519d66e77a0b0774cbf2c837dab66ddbb66ddbb66ddbb66dd36284503e40c928c1e8eee0dccf2185fa77d565a9f6f49bcd0007bc3ee980f6332ac7dd0b31163bd5f55ee0580ca67975bd17b6c89168cfddeca60a313ac11fcdd264d55ef3d1ad56aa6a4f81bdc062605bf335efb5e71f0692cdb0ae9d2d420d570cf61ae09d6487d23a4ae90fe91bed77dc05c37aa9da9f405048f7f9f8a1a3030dbbaabdf61d4dcd8f54e52efff9b3cecfe916ce5c9ec8954c5ce79d50d4c43ee68f6669546876e158c714ca2f6b18e90f8edb75ef7667675566666e1a952a25814a9bf5450401b735210d9018b4869944b95d23ae54ba522a4d2e26274e66105cb62b262750ae383199828872e5ca152c4ee377b1a6f9e968621d771d0d129a18cd0feae47127d42e285dd7adc07cab2f565fc85512872409f7938403ea34992c69054672d154d262104ee273a692a924bbc9c96affc635d164dd8ab5dda8a8a8c84aec96fc2ed6add6773277f1f7c7ee07ec7c9ab56305946b4c487ed3bf1be362a6a4dacf3920b9ab43d224494e7530071aae66ab99bbba39bbd56c35ab376af78303eaa699dff4fb67324272978d154c484ff85356dcc5a04a4555262bf1e57731779990904e6efac28474f27ac493941d907731ef92742be9a75be1fce2070c57458b6056585646abd9eae8ca0c4bb78cbe1a1652eddfde8abbb823ce4aed5f7dd1ad7086abd9ac5b21e7054bb7c22eb6a55b2137b43aea56b8327d41b33222aafd2b2e566a3f372489a814f9743fed8ab0fe2ed6add502c4506d242fddfa824bead6fc7e0e4ccdc7ca8172ee68e55c8c8c9a7584f27ac48ad20204122d4eba3838839191bbbb91919191d1513bc7135d9c7eef62cdeaeea7f3e9623440365638fead0929d739523952b153e548a968a8d65513501fecc33fddd228a002a3c68f617954db85d4be636690821f0753271f85d22c0657a859140a489d346b4e4a4f188aa159f1bb2dd0ac18616856fcd90f68b833182290e5d93e3e0e89638b9258958f43013c5a5859543be78bd89b38c4de9f9e8b017d4071170581d022a745ac8be6606f80b8aba8c6d3b77ed379e09aba647a5ad9e33e55b33893e9d77b72027b64114c4a09a46956dc2a3572dde635409b8b23d44d859a151fc80ff49be563b6e3b43355639038ff9d2e90e2e2ecebf9463fcb466d2eb27c905b2e8e4b09ec20638bc3dd0467c250175f685843a886900eb506ae35700d6b0881282414d2ee8228242f7e8c3390ccc8612789ca1a423b48742ece3e94e5e9f7af21c4be50485c43a886132254ffb0460baa3fa77d298dce902569d60cd937a3c9e2f86f339220f93b8a08716ee73fe70e34ac01b438be3e036871fc6700557f539766b9890b127e4929a8a8fee18c1caabf8dc8327531713179591ce92f3d7ea8a3c571d3d1e2f8fbec68cb591cff5843a8595e034a0d273b6a089930b485e398533b5dd030e53a7ea513e61d3168386fd0bd0a3fd0f8bbe2c5d9e7ea3582b2c85743ac21aee417a932d60802f18116e15294466f4d7bad06974e9ab521d709c4e83ee550af255e2d78ede0a5839795170b5e2e784579e5e08583d70d5e555e4abc927821f12a7a1df1b2c1cb881795570d5e3478bde035f49ac18be855c46b88970c5e31784d7911b1430414b7d3c54e9802d47d960ae86e4902a532ce6409d1d5e2c4a81bc069d535826104aa834778a0334ba2a5e7b83dc70e1168c84e9cc466a1c599a13685b529756a438b337330aa135a9ea8827dd12d53ac00a85bddfbe81082863135b4e141041adac46680768e40676433496c6236317eb51113dc4f7f8a89b94b0678faf93124d897fffc989fe5d9c22f07a9511883038f519d1f760de9963a77b4894ff1e773281ff6458d986649419d26afdb4c2653a9ce37456e77ea1ee32ec35dc63de53ec37dc6ddc4dc739ec7fde9196ca15993c78f66cddf21c24e173b46a0bbc9b84b86d47e3e975a2e45a0e10cd00cd09776bea02ef3f289f6327e466aa6b43adf66071b1e9687fb195fcd514dcdecab31f29bf99b11b552e7cc818636354275becddb20591efe2011d05ec6b71701f932a04dcc6fe6cbf86c7efc6682b31e44d08fd612aad0f06775fecfde6879ba9fff512c0ff7f3ff684691aaea93eae4d1050d6d6236b1e5699f1fb70172173d9aaa8a5427943adf3f9d23e8dbc876bca00c863642759e84ba8572d22d8f19da615d8fc49aea7c2bb23affabaceba7ec4fb952e773331e0f1a1d7b0d5091506345c325b0893fced96482c7e33b8e5c4d2739cea6d338ee846ee338148d299d50cfc9783b4894a262c020a8cf024fe58df8294fd42dfa4754b6b12c1b1f56fd685435fea1cac1b789fd0062ded1cfe6c706898d4f4c0974581c12ba1d22d4e876ba88f18e6e13e376baa0e117f3123a26e644c65d3284bac541591e13914d947681b3a04ea8442d9775392bd1cc0c0000009315002028100e074442814012c791b6a90714000b7c9454684c970963911887511446410cc318630c22c600628c424c11691d0081c079c4ea96138e1da34c466ac075336c1a2fe4a67f6b616f227870101def89271dde765d555309e477822d1950970647c05ae8acee39fcadc47c9f3156a82e4dbc0b857a6ca3cd906f4d3204c8202619c8f5ebc44cfc186042dc18c455cf06f40989490984d5df42aac093a18808de2df4731bea701b249cba51a4cf94cd549b53b0e5d5bd69703b3a0d5996b3019d19c6f33d6fac6662550f1a25efc4521eecb225f81a6219b94e8893c906027cebd2b28bbc37c6324d96fcca5e5d3240c3b5c0e4a48dd9899775efaccb1f4a92a2668b2b5036dd6d7ec8f5f337917d2d0d9a8b84880c95db97ee189884dd86bd7b0391d395cc9b6ae80bce709bad5c66711b3bfa27373cf4349865b160c04efd77e778fd60b759fcd238f43067f53b2001f75ce5a1140087b7e2cebdc3e4c72f2b48e3c7571e2c8de88149b0c7faeca80617c49fb6ecbdd78749debe9bdd77243a28e1ca69448f586ac5fa6c5bc4cc412cd604f0fcb22e012daa55b0b993b5f69571c7a1619e4ee6b49b5ddb50132362170a9ec28c8a8751184905afe0b2cda060f5f26c5c59d96f360d88becdb4a0dc5f6d83469428ea9fbe762d0f297773860e063c7055085e4eafb87ea15b0be041a0c5a09d9376ea02b363675923b1a4803b001392fb3dd04277aeb2ea749f2b5c542e32630e2db93fbff4b21385dd82317dc2a2e5ba7cbf4c44c2764b6d66454b5e1f5d1aa951118254fd0aff2d34c58de432e2622bc9b61075133a48e17b5d69e5e5b86faa6859685a6f0146893ad09b2377c1d234740ca3675804152dad3e342c4b48b4edba5f1f0db5b19fbc4122a92310f1449007554a192d1738bb2a2e21f424191882c798382819f6a16837dfaf30758f30a1cad8a1d0440a74e1f0d410d2699a366ed63ba35474f85eca1e1148850a71e28676349090fba15b3154ecc1b86016c3372fe5bbe6cf8d745a3a4f8502cb635a4a7269eae1e28def9068b9eed9e872b7f0f70b558fb9529ab677ed38295d9c3f8506d4a198d53bd400c5f8ee9dbe09d15f291b86d12b7c801336a9c1090999cece178d11c79bf0867a2e57ca40623feff159ebf7d36e28418a6170c2be0f4bc976801346c32bad1eaba2d3aa3c534c17ba78a5fbbc8c86159eacb8392aa8e3fceb7d69a9663314a2419fcbbce8fd787a652518adcdea6839caf3956ad16afb266b5da69a1e98526f1f5cfbc3a0ccc1f527a573ebc97565491fc99ae3cac49c50797dcc7208558d1999a2abf2ddac9635c63581e6b8ac9eaed93ea734d22c90ca3dffd0ec26cefa571e1420bbd99df3903d30f43fbb696a5f01aed7c722f3ca9a3b2b113f7d6610fee200d37821293bdd834a6c5d47d1a7ad2e6731c408dc286c3464246c042c91740c84348d1865abb94ac6d379c5b850b848f84900a33327d7982a7a47b1a76c5e04565ed6f929b9eb1dfb0f04f8447a9580b7e486114cce53fe91d69a7aa9aece230fa53c408564368e51e170f1ec2ee5560f1d952ff17582afe1235409bab1308131a8d6f8269c5cd7391ff867c9d4c78c744bc11975b0933dfe118567afe695de42b9af162ec23dce8a3f891d0a892801701cf0e8a1193fcddd1b64f19ba9c223644bfb3cb9490bd32aec93c43908684719b4913a004072d47de2f6ca84901f46cc77750f731afe8e712172a7798be0d34a8a77af29a162459c34325576802ce36c06e225f8bec374d43449cce32c4213e05a96b9cc99680500efde75d00e9eb562ae8aa71d5e22f8d30e43df84d3b3bcfc9724cee12af612934aa1a5cf4324d3222d605778569696a94b40b4dc980c705a32301f597510ae7c9a89dba1cd92b366e51981ed12132ca29048e5cca690f298825ba02d2e796c4fbb8b2f0a9aa74a80601fb4f0ab83cecc6f0f2e03176073a6429d8058623596588f25564e97af7a96317c5fdcc19e49aa0fae162b4b6d0a634517395e3f27d9fdbcbc637df849b80a572e7e23723006bd1d5a5440f251c6897be04adcc944970b4841f182253c20ec99b46b00d40cdb3d581bbad1a4b651bd0e6dd2047ac5e54ae628ec86576b48f047e2e581d09b085a3c48b64e5a04de5c2d626e96d225cf386003f8eba8d65904527459095168e16b83707e912f75884901382887022fd079b1c38b3723a41e6cae68b7539a6e236844d48af3556d066c2a1a51f75fecd4b69d323f3c235b707dc445343d9d40f63716c49cba73b923cf2d2b729a8f683b12929e669402834fb4c8027b78a2c1d672083a4dee7b951b9e5aa12b204b01576307af4d642ce220a011989922952c2a23b2eddad497127e00843767eec96160de8ec3a96c10fc4516c72b839c280963dddd6cdb343c33ce7635dd3249512940c45e2f4f4da4c18f4caf6041c11220ec3d051708790caf4d33a4898d8f1e5bd59d51e9ede06dc83e440926abf022d665e0cb48249f3b0062d555ad0db826012b72836debcd4b9066966f67d6064128ce52c7a10778d075decf489d1531f3d83dee7f1005591560afa39e3c458d2b076302443805ae8db373f1a39d02a6d624f9230acd2102bf230d77fc382f9ba6c820fc2de92a8ce2258211a68386f88d0f3779daaf82f982484389a08b8ea15b4e2c0b1ab148edf308858c8e7150742bcbe82ba14ee2b44eec8906f5f6844b6c56c51affdad0655bd792b52fe895a5abacb8d99824d54708809845eafe2670a4cc014c2716d801c4227885c6728062a5224447a6be5efae03a5ac0257e4c15c8c48463b219c6a071da554ea9a65c492b5fbaa034da84d1bf2aedd522bbc4a9fcc7875d747910cc13cea8acaba65a17dfa1893a720d3e7e480eb8cf756f305e2d35b7125c4b9ff9da2ab388fa778250021f5ffb44ab8b08ee49b08a3854aae1a9609a1ff197460e2da81e2d2a882c0a9a1edb78cc5e64d0ae92c8247b0c221fdcdad6d788cce3208d86d0a8f3cec9f421c864e5ab7fee4af193424b61ee4518d202eefdf7bd07ff57cd2079e80768d38b90f9c73dedce0bf2e1390f6d6da0808cd72369d34dbb4c07a67821caab8b9fc71f30d4ac0f318a6b5e3a96300e38856fad06ea08e6d4a970a12a5cbad1b2ea8b4722337b07c074c5e7a62d89e2b9b85b66795783b124b62707ce1cb3e0802ce6e5229be42fe209b0a58c6bb2d9d3c818b378858a94e18af42b5c86bc6e201c6cadfba7ae19a0831b5aeb7bbc242a65133026a9601e5b66fce29333274549b7966ef1db1fb9382611914bb618739c9294990e9367733d7079fb49634a042318bf23a80c0bc3dbd7f01656f6853b510f63e346ae2abd98070dae8487a4d4478036fc2d68409c2388535398039a604168f3440431c5f0dab5f3804637cfbd7d3d27c3fee3dc0f2e6418e6bbc0442b96c7481867b9478fe3289aafdd4bdaafdd4bcbbaa344bef61ca0efaf4feaa53d4bc7483d35ed14cb9ab35da41c1730df19cda0c7b8af58369cfa5bbcfecf6d89ad4ca6acc2896fa1e85b22d7b30ddce3bc6b1cb73079c5262beb9401e8dd7371f180849ad7c57385eb90f47bd59ac3a249ab0b0afffc800c93b42bd038234333cc0152006d3ad80e50427c51b1a45eba058cf3ce610f2fd86b6b96d5093275ca0bc012a148bb1e594c9f2d1f4ec8b3acb19fa415c45f57079f14d9d02e4478840ff5553007e91d23fe5bbee1c072d53f9677e9aef5c1e1f93debaf01f9dbe3e5864911a3b3509578ac8c76107904d9a2ce02dc6bd7d5cb7c40c1b658382e82031b5a943c4d55037b014b0d995b477da6abb92aac84f52a7918ad8a4f71e57c16d503c51ae1c2473efcb9fcc0ae15c11df452ae4f1da64a45fbe51998f124afee2a625dd13f25108f6f666fa2d4c1cc81331249098638be836df06450464cb5c1005632924e6f0fd1899b547501a4008ab70f7f8a027d0006e077670fe69f3b253eb0d7c8e9ef99e4f69b6004ed2487e867d18a6fa673034a88b236baa24b8889a5249d3e09832bd95cff7724e4b21d7263635796f5b02274c94bf354aee3fed1693871c5af9717a37fda084d53572dcb4a64c9945dd4b0133546753fa46d3ba456607e8ab85bd8c5b88725a6281aa3a40ffe39808ba4e987d91296d4429f3fe991d7134d016688edcce59019ffadfa84d659f2c8151a32d3c5d981639596a574749c85dcc4c6806b7370e112fc52b1a1230d6a53406b63a1910d52ae4b484fd921d766eb5d17e95c97f4d4be50fd10ee4f5ab6f550295d9fa9d0a8f29b803d283c4bd7b273bab2b6018e925e9c851b6d71ef00f56398860946a4014aa4d1fbac5bd94a711654cf9598104027cfffd44e2a52fd007b835f9d50bccb95cc895303e4c3322f9161892ad3e0605979c0cce639b23a1dc8160afba3762e16dc0705437a7730c099e74bd583ba23c51573bff4045ab2f4333f5b816ad24c2022c70c43e50692117c572fa7470c1a471d71b907ba5856833dfd45f9918faa0299ac959e7a37e7b1f27ecb72e87d2fec5dfd7e2a7448078675604676162292203badbb27e8f8f0e5ed5a61f7f8c362f781165f8a863394b9738e80da3bf46da3af392d040903895bc8767008dfe4c4b089fa3973192bcefd73a5c67623df6db51985d5c6a1fe1d86ddffde318000d94ee67cc7d19c0f5049f359fb5b4c56be2ddf0a78e95044dc59178c36014d80ff8ea702641240e0a054f3e35ec12fce82cffd4e275e41d24f83117a692f6d1a7ed32e660577271aa4835ecd3a1a97f73e0ba793767b273223babb624582d71cdd9908377208fc865f7a078b1cd56afebef494b7cf6fe91a6375fec8f6693cd53207ad8744f04b519d4598e9b368b8fc04abf0217bf5699e4ad5ad2640443a0f7755a4ae3c331b461dadeca95f2fd633d1981756c6dbfab2bdb23f2bdbf933fe84828051ee48aff4524474bbbf33638c316ed0edd711e3622f38b074a8e83d3f6652521ee00cc2c923f9c0f9a975442484076910a3224581856b3da0db6264e4c5d9e2d99c832de3ea93d115a77609eb5c36337a3745a7e615200d5bb1d1abfc41adc1632b7c13c8f00d789820ad099a3492b6e4be2f442f6eda1d1a29384ea0a00a1f18ba5daf8e23c19a12bbfeaed796ff830c6d9a6d8a5a6fbbb8ddece9da0faed7951678b0bf01d4eccb1272e2810210e305286097dc2bfcba68a01487170bbbb80ca3ced843263780cf84d1cec032fa8810c4cbd6f7448aa23a1861e5967e9baf5d93543c3dafa6ffe2f016ecfb271c24df5296e02f6aa38a3be730cd163bb8655eb9877852810e11d9d750826ca63fff8d8d82ac39feed1db2f92d1515a01416dc0bcc0cccc2a3e7cf4c09fc91e9da6997f3d59c5392b1ec57adcbd20c3daa8d48f1b59fb2d6f91c3d3eb9b31c0f908ed8d3248644ef770f2703a98488269042f7fbed5057b91c0717500eddaae140171e1efbca94c154b262f31fe3fef8ffcfd0599cfac04e88ce54ca5c6616a6ead8597279e238c2eac9df6960455280e48680046956ea360f27705de7222548d7f2e022dee9dccf98c473f3c89f4b941dee3b7edd88fccd29ef6005579c727378ef4831d04cfbb6baa677f22a981cdf7a0e659813b70deaa754310b00e35531eb1923f619b87dbb5bf81f06725b757a0b452336170e49fe1dcc5b96fdbb8b469d991f34ef6e9629c25d6250429d5dc2a2e3ebc670a8a298f991c880466167419660e94c30f7d4e00e3268533a191838c555fa44e40bc58acb46fc4025eda1099eff0b24d27bba3d1e847f7be4d739835bc4dbaef49f90db188358dd9c5e77d1857c968b3cc13ad28f2cfa872b8f276216b94a81b8d12fcdbdf5b0423b670e6ce0d207ab5d8da958d6143117d5c5b2043511be59ba6ff3c1c9b49899b88a0337e3f54338bb3840b6f05c80a7709ba0e019fc1829106c529fc95e5693c1ddb55d815d1805bec0467b1085dc5f461ec5c812a3fb144ef87aa688596fa7ee9aa2a9af0e3fd1857877779300ee89d89a10444c884f13ba427fbdc2d1742c379ba61bad74ce8e9cc65522ea4629214cdd28c8277454ddb064d22150e44c1a11a22c20b1d0a53e3455c5dac2f9c6b4da4000aed50c0220981931d9e4422b4cded8c0327b556cc094363a35df1e2f5ba4d6715ecbc26d33480b469604d51b75c937fc4e0d5664ce33ad8c121babf67c23bd591600bb70eebdefc6502035676bfd7ee96465e3ac1b16b8d6acf4d167ba3838222462cb12f0791f48dbc8971c10e5f0f6d5c98bbe5587bcc1be82a36c37471a1a471e6c26c9a4458b81bc24292d08d591ae27db1cfb4d0c8f304d49f0986a82c7543f415e069b1319d0a09cd7372f3e12ca5fed0503a8f70df1c8a24cc85b809c90939e44cc895c0b96cbdabbb35dd730f060649832a965c0aa9c65c496310804916fd4295ee8f0a281e76b2201620e090773b004cf01f77357eee5ec863468a06a5f62613bb1911474f7a1650f8aa1760f22871d70dcff2e87ac9d10873805fc80687ba939125beb6f42510c43f26c44c4bf7aec88d0e2cef2852302b8bf74f48660c06cc87ae1394f72ff7269bfc195e06ef9b5642f3f57b2001896ea21c35f59469b0ccc42dc9e99adae6efe9055dc5b8846ffdf367e1e53900a530419292851b503b511756a881a7d6e0170cc97e4af747e693b849cf53b4e30b52210480eee8578a2a992d9246ae14e0840e50c07864813322fb02b98ed00c63bdd3f7459b268e3a188ac42b08cab5c2a20b717cbffe8947260ec7d8c384531fac88319efac60b409b70688d5f25a9070f241417edc92f6823008aff198b529be7c48480a00474ddd0b681eb07f162f6ae914319cc2bf3ad82a48836fb4ef802abba393eacfe75f69b3ab1457559f00408c95d906e4ecbab44801534646a599361e3d7f19ccd8d38d6430ed80b8dd3d4c088bf47f249f323669a61fdb48b5783d01a0ee1b5d1ecbd493af09959e942411867e15747d70646f3bb1b40afbd849f0665358da8bdb45f7463004375793c0443311254079a32c0b34e50d728ee2d18e90ce200745eb5f9883638b4242f43b2b813c326fb04eadcdb4eec5836c8453174a36174779b480cc9285617bb9ccc8d164004ff3be954e66d00b57d458eb906ac917160acdc0060130d1444cb0c5d1851305352dadd655249e725e91c643fec46ea555e8e0a6e5e9d70a50ee45c420cf0873429ec96f080e4aa49a7927fb0adc9f2ae14eb52e4d721afe14f8c1f9dac0a7fcceb5a514940fe841134aec24809927d4b8b4c6a06c462313341b6a010ebe33109cb1d0f81a02a8e56d6fa9d9d0460dc753cde567af80031270a8f1113fa4436bf294a820863c80c850cb91485beb112a7c4dcbaf8bde7e7008430e0d04dd604a0afefa939485429296bd78e1166b2272a6a4f02772879923c778629f4081ce3cc9dc77ddb666b03118a32c80765ec414596b3657457befdcfadd3d760a71c80df68c4206b7245943c62cccfe4cb98d9a1ddd1f2aafb34e3b23005ac5e54583acba78f102d0239c14611477726384592e9a060b144856e656a05da27ebc87926379adcab47ec40e583c19408c7493562569b1a90251a5816476813238f02703cfb549ce32945319c4d260fd7b1764bf65f05728e9f4f1a351a189a4afc80e038c6bdd97db1e6c6a0e2e7aaa2236669b0a30cfb4f60669e12610007a4d212a9c73e354556e7da78a045920b29c7a7bc65aedc2a95831764fd0106343be31cef67383c85ba8f791bd0cfd2baa65b8e2a992df4f6b9dee625d9f8918bd7c303a1c101f763350d19ab46cd99d17078c95db15bff18e0444cd16d9421c440308c6aa210f99a690085ff6f36371a4024798b7c82a1e4c4b00b8067b5731469e43a986249691e0a2b45c7ec5b657de75333dffda018e6177d97ff6cfa5724fd398dd295a4ec237b10a2cd287ca8d51866b10f22195c30d95263949e5384d79f4dba9b2e3067ce7f3c3f604a41c091eb3333bb880aa7b7bf41b75ceaf03992202c86b7360b125e150ca9fc4f71f62daa35ec842b14260b43cdefa52277ebcbecf20a960b9af4251b6f80ae23e410405c38f23fd127c3f394a94788bce33ec441318347a456161978cdc2ad81fe9d2af4b0e04cde68480c92b6cf3422fddd76c14af0a97d29f2195949e34f98fe65f79ebd5a55518195fab484efa45292591c5910338aaec2964c19ffb00de7169264004aec9e5e004d6c80b82c5d6ac8831bccae03d364ce02590327066063effc99b69b7df1f3f582f084d05e209649e0a7b2f61e56213b3d97f3bf0363f2bf71fc46ce841a0008d9a5d58354256eed18ee17f25179ae7d85fd47b1669d6d0c5221b202c152519e3ef2fa2c8f2fbc8c42ead2a3f6f65930e286cf14f0b53661151952229ea55a2843e257e232bb7730a2eaeb75c8b8d9352c6b305b85be4f207f76ad706bcbd53c231120457e50046ebc24b00060bd9aeea3a0d704c3a5ec103fc13df87a20d892f364ac9d13c86d11a37c9263070739635fd88f0959b9d55e06c23c1fdca4d2651526c504c8ed08fbcb2701313ef74eefa0d27d441007d52477944e74f1be938567c200ce5abebe2bd3a700665d0d51d0422e09180f3e2ebc0abe8af7c7560b0059b46f833bcf027aa1a479a5bdec1e3358b4c3e4180f674260185c049a910763599cbc116b2cbd2878061fbea8547666b79000d44449de4efb7971a4437a662f43950b41f207a71e994462d0fa16985d07de76807a3459f5dad7931eaaff1b919d70776eeb0c434bda25bcb03682c3640453ca72ae4b2c82d3aadc4d6e6e4008a69556b3ba78334cc7eb615dfe2d8b583681dfa6ab98d6b2ef73a6e412ae117f76d6331080c6f3068e9cd125f980017d746a1c21ade458b4520c69a9bf70e1146cf25750852b285d743dd5bb3f465d2689a8d5f52f66cd49500a2d9c5ea2330310a42bdc6211a6c26b5294bc04ba211fbc1f73661b6d6cd5acad734061a601c8ebd6546b23465dbc3a36d3824f0b0eb643ce8d225f05a3a42fb1c4765199c1b0dad45944ce0a09c77f236362936550a584521b36a50b510b05704e4c66c5ab63f14093124c8ff3e450cf8ccb7c2bc5ab6ef866e9f938b4e6629bdb344a6a16f6e796fc8e3087ceb9143c819f3a7a3a30c1fce0e60078ecadc65386176367486f0b7f044cfa8fe5ecaff1c93c5bc21aa83234ce06cff8f6047444f03808cff3a9a49c3de76c33f75633c1e649a6eadc336fe5cee7b1513b79b4086a792b9e2e3fd0cc51a79b77bdd641eebad187b4a6d6ad5b24fae108c007f728799f882fa598e4fa6f0c81a867eb2d2d7c7ef4f62d875c102dcabccbd549ea040026796c813eb4f30f9310baafc5f85a5c3f8eb3062739eb1e149aace674676bdcc13df314f5f9a530ed626d590445d02f7b4f2cb3e43d9eaf748f20f8fe075be46751430c47d7187d7b9741939e7fec3ec3dc1563a18d8b2bfe630d38fe99dc71e5a5f2ecc3704e534e55602bf2186a0fc7d40d8af37c6f234990430ce86274b6721980f26df2f8651c1ca0c568e7abf53b4b5da43f27e85a08039f07e660c41fe16f6e105d50e7ae432b44503555f076b0945e5b40047817668d108f837452be3460c7bc2b27cd3b77111b22c5ee7fa373d52096818b1ae0e5e727a8314a500b0787a5d9bdefd121067a12484d44f63be34d09f813bb7c7f32bebf3311e3224fbc16a115d7d91550f222f59377fe231bd437111fca1983e186b3b1938dd1725f6b0d4c50155393eb1a1c0cffc074f213754e7ae878fc73383089e6b1f831406e20dcb1fc77e6be01e8571787ce16b098031b93f90f14774c993474a9bba5a29fab422d9ece597905e594b0daaf6972b838f150a79694e38b196642db907c8bdb9779d0ca394de59a51f95548e01b0ee550565e86784cc0adc0be96ecfd908248f2cadbbfa4f2c0e0a628cdd8d0d5af58b176284ad4743b2470378e9aa07fe8102ea4d019758cdb1854522b7db28d11e86acb20c87b794944111f0dfe51dca45c122d0badf03cb410ea53e6ff28d01c656ba3a0ad89f7a1138e5fa5389caf6c52fa92c97ac5ab2d5b2bc43b9c243b5394ab49ddd417a214f07312b6d71e332422a557cc3d5701b37d69e9fe236566b8318688b740c0cded3288faf3186a8a43405b470898ab80dc1823125c27e0eeca3ff8d86e87f991a16b0b1cee09f39053da3e95c1420eb0dab9e84a6c6210b802059ed25033330af987ba1d1fc8f60b2f9028059a2684764311d852e4f314e2eb095222f8375e71049f1f80a67100d166593b24c3f682aaa7813016c3ebce7c8106e67572eaadb678746a5bf2de61b8abe25ccb2625a44c35afd5388819f841b573fe4e8a18c4894cd4db1e981f6e352135cfed499bbf8a9efd9c5c47d394447bb65a975d8456b57cbe3e061750a7c8b875d4a23232eaf654ea01e151093385deb1e096b21760c3cf6b04742484de92cf631fbe76c03a080884d0e78b5bb75f0ef06f4a6d15470b8ed347c923e339a583b28d634f4820020d7679fc02a8a213237e90fddc04c4dc8c7ad61fc06ccdd3e8f9988ad76afbf6e4ee861d7d9187036aa0ff88067f0b65e7f44ed3e3e8d389d1aa6a8ed1a3080d693adb2c600cd469d8d25b6eb71416a7ef23dd877c74239422aa0336cd67319d1c7f862b684052f663c1b55eb315f073827508701cf43f50980d230c99d88a8b082e4d0296014a0c76a00d4671bd0024db1cab6e6680292cf94d724368f63e1a30245752bf044921428809dbafbfca8f11c6c53267fa8aaf307b1cf59f5bf3966ca6a3c61b6d921676e9d1a3f73f6cfbe16f7010973d2baaa332cc33aa9aa7f7d2e66b48873b6505f7aa13a906601bb5c1d7bc804e09f07a1c282061c9b7c76b9a162261e821085d0aa489db4cc72485f5ee567f186984907263905d9a3ea73b2f0a9ea59c33690fa226ac143f5aa01f5b26f8396c382212901bc868d61042fd4d718aa1fc1c02087e1134ca2dbe24e72473278004b037b3e693d0d1e593d7f42a9815689bd462f074e02ac7cdfa8b8d74d98b64a2bc5bc6c94c259fcdc1bbc3d6055c7e2c6021a5f5e0839fcd50cb189a32cadc76ee8e6e537f254d79b8ade3dfb437e44432fc329dc6d9606d0280349f052888d8aadcde74181e91df3934845a8d880cc470aa89b36910a01df8887e6d0aca1dafabadd0ed69fca5c924191a645706cfbac1c0fa35e70a8e76dd9118dfe4e44abbafba476b7405e3120e37e063ea6693eacb09c1d8692978352671481b0a272032b018617d2b281b9db78d3b2680d9bcaa7106673940d74c15a441de92ab82d5504ce0c8614c9879871186a8592e84ffdd7990b4a65b77d74fb495852cca6ed2400b51894e259d586544493940d05f0246bd60d3826e4835f61a8635210605b9a3e4b9213d437d458b7de52d8688a89ab2193683319ae016cfc13162c48db640187feb0ae258dbddebbbf58a36b9dfe9862ae6540a2be3b38ecb0cc1df98f5d05402b76e038cbbc8276e80db54038c15c450aa9ef5e7081c95c65b2b13943752512d41ddabd5397562a7cccebbd7d3b0e38905d160459a827bb6d85acf048b03c6c207119a408d05fb7c3840f60bce0738036f6232ec3d3c72e3fea8ad12d1e2cb5ac9ce9837c7222897b1ea53a9531a212d9c0f1d82086900bdb12cab9d759076c9fefc2910c254d30b92dc954a67439119e7bc736d050247737601d0589c4857437e450ad571fb08e32367114b2992864601a05513fa8d54e16619d3b0c0274c3d3beda86defc182e1f5ee9decf7e16fb104861f74219805b12b31b6836cf5ecf389d71ae6a54dfdebe331ce57a35e9c2d472722a7530802b8be7c4b579cf721dbd92d743fd12bb5fe314656f9824d95e5465903c736af34eecc9ad579695aaa0b29bb662f1d64ab5b71ed763f1e3feeb0fcfbb35bee4fe755d778b733d2fbd777949e3bedff316aa3045be76f3429d2a01fcf12fa19d24b2fc68b32c2505485e7fa9f310477998875f475dafceffe59f2aff871127827433ed9f56f94368824916f1e124615062756db40aaedf89453ef762bdb58640a9a432f237cbbe0ba795a230c2bfe356206f007daaf644f46887160c6587732f7b2f4f7244d9da354df3359f6d2a872fdd216d4fb253f3ef6071e8149c9af9b5a1b75f3d1d10ba78d1eafda863f24acbd08d61290c9ca876804a2c0ec68ac0c3f6ad1e13641a056ffa91dea7340fcbe64ee071af806c762fb69c9e9237e5190d39a06483f40c4a22cc78dbf808a5f28443d4e10b70c24290a3eea8828214000edfdbc96efa859e062fe59c166d0bcd66bee916e941ee26a17ba0217d6f58dcda09286cb6bc6f46cc6c73dba0221a01d638162fd4ac5940f002d7472bdb9d1f4646f4f393c878d09c50076313452893a10e91861e11a8c83808541589b7674467d4626cfa0c25937999b1495641ec86572132714f1668028f41c61b532ac342453ef17fbbee3118f4ab91364253f8918f017f18970f3768fb3dc67e0fdfeb61c6a93b83cf02fcfe7d2f707bd617f6c8047744a354b9a8ec6fbeff3e0f74a0f4f6526b946e415a76c23f1174a8d18459dacdae4d946b7521584f65e9f937c0f6e01b09184d46f7a097ecc0474fd2d3066dc065fe0bf0bdf73ff0ef63351496a65d0a7240dbf8cf40bf0f20c3b77c63d6e6c5c7a50be30aa90fe7eccd171c32d1ae541d9c1fc6e063901fc6b8950f1b8c31bf03ce1e7d5b8fc1f4eddd0f2befee7e5c697fd7f34aeccfb88c32f6c9853ce1c6803b8879a2f96c2040c37a787e4f81770c80a5f11b775734103be2f159e0ec85064c539084eeb50035e0ba839720d4f797f03d01db1fff05cedef9021f50d4ec7038d26a563bd61097bf50c7edc0f4abb9142f5997e2f381027592ab6e0c734989b1316ae4ed6eaa3cb34b407b409dca18f1fa2c5001debbd6b5906b7e13b83de35b4060683ac689c486f87c1788029dcfe342ea7a6c8dfb5d9f2bdd77ffacf4be0b837becaff58f4aeebb7e547adff5a1527756b61cdc05b409a5c66029182ba1d43824e592b1d3c94cb8886c74eddcae5ea877e97effbdf77de0f77bb7327fe04e40cf6fb0bf8cc96f80bf9c711bdf15c183989817509a604164f2a6b00d424b37dff5a3f2dbee1f95ef773570ef5fc4ef07fcdefb3fe0f76035028b26ccd267777fa87cb7ab81ab0729d6e3f98356d72b145d5f506568604fc69223745754272d4f5713e5395d9b28414fc671065ce79f00db1b9f050243e3b1ba50a4cbecde50596eb786ca32bb04f43d2d3ccf29eae1665287f0abe33e12301d6ebc8ffb3e607bfbb0ffd29a621086fce7b5d0b1323baab6849203db08974d45f92227b566621beedf078f96efe9287247ad9c9ca5c98e9a6e6014de8817e4e2465c3232d8031000253301631ea5f3a24a1bdf8d3fddc0070498dd7453a58f989f8ef3e50bfad34d63a9a18d938b70d5181bb3f54f17b6a003fa8d55fc435fdb9be1f17a8e33d678830a02a0611e8ba22a6fc099400b69befe984d3186c95bf88ed1274b7324408ec05acb5bb38d940568a90a60c7c08fc4e2beb52e7516021825102299c4dcad3077562b9217dfaef41d373d7135af54e3f5044afa87c8c9315262390898f5fcd78801a509dfa3caee4aa9a61f5b00d0aeba57a925b02f16580338d21ba47203f98a3bde2475bf52454179a3c130314ed2d5c1c939e0cb9bd21af359a21918ca266277c1c4666767c718139319cdaa832ccfc5fb67a413410f37a39c57d1c4639d3984f684973b06648f535cfc5982e5f5c2e00b553f61876905b0fa3989fd4bf1dda433c90d8bf55a43c3cb666d293889891d52b95090532605a2e894941bc2ea8f924c5095e4a16d062259e2f1b399f0c5bebae1c32d026781932eab7c42fc90573e31bc4571d5c0715a8b21f7f00d3025e00890f9268823e5f33dac2ab88681a7f70d2538d6405da445be6ad5e0d12cc7ae3d5c538ecf604a8886774578363a52d54f66e28dfd692ad1269225a7662426a077d988353eab12befcc33dfa7af23e387804fa52d12ec27dc7eadc8cc7d5f7b9dc087d8ea5e7ed683da825ae155d5eacb4f225eff58ef86165517b079d165ff9d23aa5f7306802a93e3a692022709ee74d39aaaf45dac51a5545ec6e5fddabfa0cdda1cff045bde46d54f342178e12c02544afbf11adf03fc8e8f01fa1efa218f26374fd85d03f2ed1dda13e943606f9001a033f20e0089bb9e0b5541da2d0c567a329fb046c54a2103e97a5f41d2908fa3e5bd30c87c31bccefb333f7ec65a1f7a6432ab2a1bdd48c4dbecfa3b76afa5e27d9d684324cbd57db1e9584c8871f725542567d4cee51b95710ff335fa91bf7e631996d3e52bd2cfa8899335d20026a999bea9ce587695858f2644352d5e28c81f6935a68f301b3863960a6e6d9a0ed60121144d5cd3e057ee6a824b5c36ed6b5e178c5c2e0ba53a665fbcd963d1c9adaffe15f937bcaed447a336aeb6e41a8381572601cce62f97877df88a2d0e0ddc1216876ca4124164829c0a486f79f178942a604f240a3b1271e23c8c333efd5c35c03f3b057897407400fd7b953a01b35842ddb06fff48c2c83c23e7413b513eabdea12589e22fd899972abc9fcdd2a2529b89fc66d82c3baa6d943a41b80bfc2027bb777126d643e347640be4db5a158f20a98baade3662710172a2b0ac97dcc1c2c46a22b69bb7126005d4fbe03b1e7f4a840ccd63fcf589bcb4020c2e0aa20e433282467093a274ec243ebbbdb38a5e1b403b965b9248a21de90a8195e73026ca4f15785ebb8733a19452cd67aebc8be78614fd07041544c7539bbe3df7051d83ea2e6072eddfb56ae47f807c591d3ef4dd51ddd0be2ee7203836bc8de92404c1b2772d6aeada3bbf90b73e140934a7f7f43ba9efe90c2564f15d5c04907d5645ec4e5ea1e7abcd6d1b053ff160532bab4b3b38c9c98543727b3c913f680694a1e18c8f265e06cd985c63559ae35de73795a3ff8489380e4d95bbee5bdb31a319082c226c88c0ee2da0a89f42bb0a5aca62daa01546433e1e79865dc1c1a75554a0e091ced5e6c79000f1846affed3cfdab7cd49ea4a5a88a1e4984003d28ad12455dc7fd24f58136282c20a869d9bffedaae7b430212190353242db851109d7e9526104b84e74f3df236b66702b1ba0082f4bec52bd7395efc8893e09cb90c7991f3076fe092ddc1109426f67042a22bf8e3a00ba3d258a1d7110fa851dedfbe46ce8091f7590772e203e6a90a604b9b6b3983e53db843368e58df08e3424010fa0a8a6d7d7536a93db8de954888c865bf4702f72efd4510ebafa9f013e72c9306971afd8ce5960af8fe529240e899bbfbd329dd033c7b143220533aae219e0e0ab2aa169e6006bf63e3af483b96322f2b0f6810d1c54d64b2326fb6d7e38dcb77139beb2a39c626ba9c7f256e91d9b8df773a82d0cf71532e69cc9715ddc428448b900829ffabbfe9da8e5e2b933f0b05eefb24cc8300e4036d067e56160109d3887ebb317aa2f7f49cb1c4d9d4b43a650aa034adf668cf44514ba02ec38e0c924c1b0c61848bd92f99f9e8e4d130e06d64afb82465f1e0652e72403789e603097a0ece2c451352b954f77bdff2089c8486b1c52f2942e82a01083ec741e3f223b722e8bee912966cb3cbdd6d17059123bd4f66180249b94272773bef7de3ad71c674775eaf7805b329cd2ebd5839d98fa524c19de7759a1631b4ec7f82659cbd63268a7db29cd815db2cef926b0c048f3e240d8736eafe9c04ac0086d5cdca90a48cfa00e45409617e8561184605078911aaf33633b4a618ee2858cfdac2f988c746a2f0ab87ce94911432530004d027f656412792c9afec0e5167ba44e2d42b4a8475b8240e4c9181769426ba778fe7c7bcf8ab04c5857aa02060857b0c3bc68e522cc71885a3e3d9ffa33c3b677f0effdfef49d3199b362ba2218b07b2fa161ae9b86ec45a344fd427350345be62c7cb46c93149a8dd583c9490ff2c7c5f12e9bd5f213165d806d3ef243a01736e2aa0ec1d17011b408cf8472276d92169f9fcd3f7b97c9a31550324d6d8032ecf8fcb90c196a735451ae9a83d2d6af0ff80938c4d42e521ee08ac249f926c8a05845636b8da6b8a4a36465029ecaa8609de607bb21d70c8882164fbbc78d0f44b744e7d01df702dd0294478fe9a53dbe34aa4c7847f5e80ed834a4f1b2800ea47c015787ebda2bf960cd0cd89d65204afd0b9371b6c3bac426a8007bdd36e98f12f2083dfca901b35e8335686e2c7c8a102e1f1070edc6a3f2c42a6ec0d2ed439118068aa32f010832607be6aeb384c599c581d5b7054ae5c4f453db71be0101cfeab26d9a05065d481d0be504e620bfdf4d101b5b27e4942d0f6dce22ccceea26a412626bd78bb3fffa79443e8b9145ee188a005d57243a16f1939197a79e49c94bcf18b76ecdeaa593589d26d009f345850c148ae634cd316335b88dd42cf932f3481085bc19454ef5426c678b1532b353b96648b14c5a38f6a40679a9820d8069afdf01cddf31bc43867a20db8e8b9ab1935cf67a9af77a9ba8ac6420163e57d4e6c4436c65326eb25825502f963456c542360ec69e414c8051d50a42eae35a92b5cf0066123e77652880417ee08762c2171304d4ff5447b08440199e868e50f77102e08baa20a26614d47682be84f2468d8d65abe12563c5761a5524867f6c385410e054f3bda5ec1f4b7f598f130ec8acce33233880c6b89ec0721c368239e3f78527cf61b1762137661929107337f18b0b0c53069aeb22b59424faf0cd57ad781976770aa203da66c6ade4fcb52644b2883c7df5e75b0929ad8b85f1ee7a874e4a457ce1ca08bf4da748ec595c67a599c68f10cf90386aa229a8beec91ad44538bae05f0316d60c368036002da6149d33dead14ca7589f5176de3c47439cf8faae9764218765ed087571aefae54dd6e51fcc00cea636f72c232b94ae06f1c1e6860e6f2db0fea2f518d2430181252e815c27912accac80d073db4cb2f14844305c53e0e823f8662458d68ce858afd71c592d725504b3661995fd230bc7912f4e218d70661b81898180edd28e6fa0ee1f69e60ed7eb1a0e0523644377c03e0b56482ae19b89d8996cd7c23bb460ff24bffddd8b76ac01dcb740be9dd888afb8afeab51fe629649571408029fd3e4658a1009fff9f00e9e8741b6257050250ea8d9db9467e756c3274f988c2577bb050aec9e980abf8a32e0ad086caa95c14d8bb0f2ee89610c0613e3dc89965c4c2a5adc82a3cb1d6d48ae1dc095be9cacc1755b621193da6539e66b08a23a522f2e05436bf4305e51f8dbc27b640e302631a439c474e2ae960c4f6f75626515fe8747dc6e6457bbc87e2295841b6f71fbf949d0567a9865d04971a93fc1825356a94504e8cbd2214358936d43711fac7f3f0f17f66b10fe8e02b5674f0027c5f03361e61952b9eb2df03f9181f35387e8912b57c04907eadef1dfa01170bf72c1b75781b81cd23c66855536048e5e7e57746f91ef829e35ffd85f95d3a034626ebacb85225b939e22f3762584c4b08570cfc9bc3e0c9f176913bfa24c4b31c55339bd723c9bfd00911c8830f152c1c0350561f080a4874e275a8244a5153dd40bf0a433cdfb1dc06692ba5933995f63c3b88831c930f889ffdf03902ccd0b9d6ea493308866ea9f1d08ccbab9eb80530b1c0055983d6a422f0d508aa7955a9fad2e9ac43a31e08ffd97ee5256a2f21e8af6f1027cbd3aecfcc835d1b9e7d2bb58a5309599004dd892f0d699aa685b4a05948307015c130e6d02676c0faacac1a0b931d77b37f9a99a9644fcf899e85031b17bf43a6f3f39c583cc7b54a9eb3d67fc6344124d58859b3b3b25faf517b60d3a8fa0e7762924a790d4a4453c9de0cbb272bd795ae4112abe6945be4a943277441320708271efab667666bc8596c53a984a0bf4d813d3c6c2168c54d301546cfbd7fd39ea1fc75b7f3ef7e7335b53b038cf61534c77ca89c7ff85be38113a0940301057e030290966795048f4cd62d7c99731f828b980b851bb6c92db3043e78f78989aa62cef4c6c64049a01a3d62f7801d00c1adc46c676bc7f1f9929d55f8d23a7acac2e004acb7c2721ec14ff90d003890b1ff31b4faf159bfe848b41c54bb0db33bd83309f2cf850f48bf8d6e13b894d32fd5c8f4ad0c3ba22c8de51e92480f6754f1c1a61f10595eb16763be9fc0e5f4056c291ea469af5212e62503899e5eb0d000ff0703e6c5d72482811eead09968966236863ddb468668dc8ba47c1d38e3ae5548c98c3cea213f0ac36bead4bcd16549e39c2729aa7f222be35900a4105821ed2872c9e0e6385a0488c5a42aaa3cf4a6357eb72b044c2fbbc39c17fcd62c799962a7efad8350de9a9d70b66cde28d7b0d87821831f6ad06abb9ada8b95c78b3608c63e8604e856701df6cda44e61057a37ad87b1d4a0f2def2a8570b5f63a64c8db8fe28f8452056c6844195fbb643dab49a307b12349a94480b73e4859f76e3760e40a5c50ba44a4de88dc4aa3e86426736099c34c81259529cb8a1d0b643a9960cbddcbb4def1c955e4d3b4349abe0c0911ef62f44f6c2625c187f41b7e102a3ea7871bad0b102553b72af521d0e394b0cdd678e3b1aefb07652bfe8c420ae103724b6eae02649b6052434c74c7711caabee139b5196a92619b55071dc5d751be62e6df23d62242040b7c6feaf15c558d7c0c1c0c899e1b621f047da11105b826c2bec36a3fda76d63b3fae14e608644dcb5b0d69457a121787ebd3e80489d4eb917a233d9a1228193f49abb6f3d2bac7026d67ee7c8d0de4e9ef83baa61ff443976ee8cdd34b6e670662d4fd959279bb235abc7c986b26b57e1c85f1f9853bb48d2d46727ac29e7a88f45f31b7cc8e43ee5ddf59a9b66d65c3b02cf74cb98f330ba68879518647b6580529f58f9851a24d9e0b459a9bd7dfbdd91b68640f41bba4335f205c3ae60755592b20341e390d2182ca9bb02a55ca6fbf598cec60e0dd436d2b7ff9f9a85fd639e85375c18e94b0a6e43ae59789b8c679db4101598ced474728269ac6baf2dd7724bd6cdf05756efcd42d771c1bf0effbcec5a68ba1a6911f740f3623f7a0eea9fd8bfaf80844862e8951044c6965fca161eaad0c09c7db7c67b4551b2ebedf2faddfc20c5756f78f47eb47781b0895b0b84bbf11aa15aa54d24797fc32fa19432580c4b415e3a7ccd7a2eee97850df8b8987e7e900889cf392bd4e895d325a5d6c640fc7633e17a5db258d48ddbe7f81d2e7c170d4710a159d7fab8339265d0d66972e84f2445ece2dae319145c6ac5d25cd88a152ef1203f0375e86d989fdf2666329b88e6d55173aec9678ba0b4e3fc0cada5b7942748b1f29db2a77f76b37493421c9dafc8e3fd813d9572d7247f35ba4243a3161b084f47d7a40b047a1b320cfc69d034f9566840cdfa3b9da1bff3857013ab7075357c9fb93f741de0b054b788676fc655d8622fdec23cd922f99017a0790b81558e5e06cea21e4fdcc1bf47c2e8683a4c6b4357c4c1ce1054ceb3bdcabc8c75d040ed58e9d5b6a1b86908e2779bf73aa65ac9b22c95dd65b4783c829bcc0b2afd31a938aaad8a404af6537ef3e3bd92cf5e3cb280310045849799d3bbf822b25cb82edf8688a0623ae3ad83b42b8898926a443d0097e7e02ea6714131505cecea00e2a3330e1e50245d581c8b96d352249ca98b815c7493703f647316cc2a53ff59889e51209a1166c48cbfe9c68b677adf3ba66989adeb98cfb6e8e32fbf1188ec577698c7e492d0fb0d7f255f19356d809f5ffc4867853d5558f9193ded4ceafd43cfa5fdd5a7c23ff04f0060a4d4741a165fdd67117c81dcc4f3afe66323f1455a6a026a75045a2c4a76d2a2b4209e04e083aecdfdb384587741b63617b90f6b09fb6912f6d16206aef20948583fb5be0da0885682aad7bc2b013d2aa1e45254e2fb76e5b0c056f2a7aaf4f53a0cc09074df3876a35c1157e9e439c4449e21e318407aa613e217b49be62e56d919c553925864204c1198c93c5cf5fc6c9aed0ec9a0f398258f9ee1a68de0ef594e7e0f4d0941d357d8b4dd54400fcf2848e290de6c611f30385a9ec8b2528991e75fa77b96601cad9a07ed3323b4ae395329a60f146bf20cbe72d7a2c51c8d7712e4a904dc4b106762e613333cccf23a73b415e1e965b4ce5d6071bb7e540596b25280327d8d665c4f07244cf10dbe33079021b31210529d435f4c864881c2604d9381302add1d39a0a7e9abddf5311a079b6f70c692e590024f53f4b53bda8b2e5094b3a2841d975240f02b327437f397769e2e4a3dec8d24277d7276e9ee545c9a22f0d7592cceb0ababb60f492fa01b02588d637ad8da9606e857a219898dcee6a17fd1ce48c9d0d65b0d6d5dbf2f9dbd87f83a5026385a12b1661376617a16ee6b934633338f6c94ba1ffac864612ba3bec27c355b3e131a9d07c379a25685e592a410a72a760ee0a3bdeaed6ede356febab96c7565e2978d8f1bd96f68fd117f4b0a54bdab766c396e2a6856a72ba2c0944428eacae5ccea146761500c760c2162e06272dd1af8803f15475cbc204eaa7c96991adadbb21da26e2347f63d0f37d09a73c716b31359943a4b172a2f748ba60188f8fec386e7166d0e9acc4fc7b8811894cfd8ef76f8748e09eaf8d1e26fd7ab719ee61d288b72d05e03a282d70d203ae4ec79f7a0f527aecc720fb29e8cdc17e39d9a32c46b9bd94e841322dd9e931e7e2c6797f52cacbb37085a0a4dff9cca8ba15b33d7e8ed37bbd34a465f4d2d57e20aec9ad2299c014abdb55aa556ddd81307f583c848edcebe94eef2e1178b6e3304e2df3614272983d005ca2f5d0df37169eba85001055154e257e8c9e9a14bab14e940886561aa18f089cd72f4526c92f526ff8e3ccd406f11454653ef18c6bbd1f8a9ec8d811c45726996bd784fd1a04837b4df8a582b17a3452aa2682afe9e7ca49325208b307c37c7483b664c269b26cda3125f9001a5a7207ec12a5482508e845475a9f1885f7897bf64836c178c87cde9c502bcd52e76eee6d65a23962b1a1e0ec0df7e4dfbdfddd8d97b2ade2e42717088605070424c226db3bc86167a67493c55341dcc61673bf9c0fc211df7f23d4713eea32608fd88cf73cda5854b5ac047cfe8710bcc6478a6d786d939fd0dc23b3042e6f384b2d137074771ef2f4147726fbb3680a800ff22740dffd9d34bf5fb0fdef251741b12c7aaf8f1a96c9ecec56713422622a737a41520e151fb8f1695cfe2fc097dc9952d5d71f1f7ae0d368881fdbff0a54cfac38e52abe27962b7ccb1da80dd2cafb1f314baa2fb9a250e83adc8c60ac23840825c10b0b3e38eacb107b72cd794bc4499639693514dd090577c3b898a005adcd8c6a5b8e1591680d49b7e4e6569f1577bd484342a7d8ac372412173d89eb8fc05c4022b321714fe9372a632da7facdbb74dbace583ca501a12c4e4330073fdb21c93d6b0a277adec498b03cd8047651c4beb063316deff853b07951c91bdcfefa023ff384ea65fa40524db2b630ffed2d5c88266ad21d91e43a728d11780e46ac3568b3ae6a874f0f825011656b331cf188b6cddb1a9024ea62fde89683d39c491d55def2f28dbfd46b41cce39b89b68b7b3dc07410d7233ee6436b968cb5ec5584fdaaa77495614571fbb09d28b6880ac686c21384c72a00c471b0524dd7dcdc771a46e7db4bae0bd43cf539dd6df6e5bbd70a377b3e72e19a950d257847c4b427544816828a74765c8b1bffc380fdb29e9de7295392c40efd5faab5064e1371e1144ec43f265602b393496d1233e6c2b1fca591dead46cdc3f1748ec00cbd7ad967ffe337e3a2d7c3d72a646322de63313a97d9658bdad0e4786d8ea12b5e91923a7ec1c2cc7919642cc90e9d50ac333166782a4a78bc2c9fb2705e84a09881caf1fdac18301a323236a4d5ba6613c3a17a5afbba141eed617900e6d7b6f68ba88fb197116aca12eae21f77938f51c9e1b4db1b8c9c082a7ed8c8c2f14af6f1d80f2a6f930d16a1c68998137bc41f8bb5a2968d9ff35559f55e7d599eba6d4f3537cd32de3a2e0f419ad1729b7b7dd4d5aaae14e8c453b2ec24b490aaa6d17c4b1a5e2d8636d241bd51c3b23581cc490dc2a86710a68ae53bb009f283abdef992e842f391ce7e0b78945468a91e12532ecc27f49e211144d667d56e85c75214c5d0d2c0dd280170c2ccf8a22abf4f8eb68151c6d21e7e4ebadf751d661d240357f3195d1321e3dab0888697fefcf1d1e3ab26bd097f8932334d13dabaa0f794e54ea1e0ee75b33a9f4921167a8d0a7abafd74a029c97a2a7e95694de858ad8b1757544420bff80e9c5da74c438f21fa63c402807415e39c16b3b11c7f874836fe000d343e5830ebda824f3c7c5446c04a700403f97fc881c8f8837f32d4a38865cd60f820998b1da67b6cc04b5532131837d506d681d9039b6fd6580fed78ecc3ec1d7b224a6496cc0fbc29eb1f9009564d52d383a2920c44dac1ffb81f25d8480355d39e3ef88a1d23350cb6bdca010cbb98300459718eaaf5bd473ae6c9b0d76befc34f9bd112692f6783ae0472dad9fd59ed9fbf0a397a2b010a38531893dc770895ee6e636a1983b7761e1c3c7f292d54f6011108d1e264f4caf0fc9423e55b7277a5729a36faa8f3cf1b8789016121690890989e55a61a54e7310d5bca942dab469b24252c0e4a86c359fd85ff823a8c480bd8cbcf50685bf428c8f1bd688e380c453c3b707f7b43eb4fdf943a4e142f87b52acb23846e91b29a0ca843aaccf7742c71977f956edf6a7945cf03eb5aa92219a05ff2bd87436557fe601ac7ac04e78556046432034a7cac469f8012e942b68b19ec3ac49ed590be04bc9e3f186ea62b30d1543ecda418df1dd59adfa40280a223bc7ff6e4b917f2d73dd1ea1f321ebddd36a2de74dbf00fc3e9e662d4b06011aa50eb8eba3a7bc145c10478f0ce3eccfeb5f4a049ce4b467068869a7aa0dc8cab1f9b2fb5a456aa730e07716820735a2202cd2da0eeadf04cacf5daacdf3b4d9bc6d2f65d96dbe3d914e974bd4365378de51cfa18317167e9ba9795436622b8ce53667243943b6b758d10d9b6b6d6d1541b32ccecd10c85d337a0c3446e462b7a708223e4c2ca050b869d61745703cc181fe6600204ddde27e3064e773509ab41acd30e2b2b11a6e96048060d5794938588d44b38ca5aa7300e0988bf718409407c64c1551a51fd638d870ad86a4ab4eb892e81d201f32ee5b3c1faebdd6bfb400c2107e0cc0d4bb970019bfb6c30c04bc6440c1e18d9703bb5f51fab4eb1f69389a7f4701615751c1a8539e004a43af894f7f0a3098dfad4ae7896a84dc0b4843a212896fc0150d9c2470c5c0e2c31547faa766b97d2eda7f877fed02964046aa62a5b75f1e54a674985fdef3d20832317ffa51d1ef0127ccbc662b39212ca1b481bbce203522077fae54c538ba2d744f48dd6187d7252676a59500b6cd9fe0c007ded3ab9cf8bd4c99349a5b3dae964a1379159a55b5be22dff658dfc6d1618ffa0e3d147c18bf3acc16068e502151a4d13771ec7cc3bf3045d50e26d90814e390cabe3d8a43f73b4e442ed14836d02cb206d30e62c24ceaf58be2d75a65768dd662f453d3356af483d35fc2052bcfcfc126b60204c9758206a6fefb97f3b8702c46afdb11b2b34a986334362008fc5a4c0aa24366b9bdff56a41e68219d57e8c5b36a1863cf45042522a220665ad04ea52f901a499533bf3226556e7340a8867b823f4e085bc67327237502a54b9694f880396c90ec46c5e84932fa6b8e462e33e446e3a8c2e16adc58b1b6dee705c330b4a5c150ad7dfb22792fb34de3b5dcfc420b77dfa1440aa26423907c405a6708e091d3bcfae87272e9716a3d697f84006d23fb5c781a09e87a3be3d717d2fa655ef3b2a38cb73e7d82eafccb8ec8f614c6467c24b682dc7ea451133550d4ccb0e0347fe768d6906f2890db2c7c2bdafd8c4292f8c0a1960166ea8b71bbb5fb8530aee17293f69fcbdd1e197bd0049d2b9b1c78318652597f6d0e5e7fb7295ce9c1ffe86810eff5baa5e199363b489c1a44f0a8d7f7c3c903eff0beeac581d0172e4a4e1eb18392886a8962271bf6f602d65e27926f4340126af55326aacaf6152879852c66dd6cd80d5f023993205968b2c31b14b32cbd82217c871229bd22e5246db88d064cd3430cd16605dfeea6e2f4e7613c5c38036fd27b3f8ec4cf24dc6a333af59aac238acabbbfd513d63f0abdec3600672a044829587a662050ab86cb0ff89d9ab9f3cde8d96cd0261d32b2f60cd33d83a502e6be81cf4aff428e0cbd939a26fc867d190e32ddcb26367ba743066a2807c14478a4a47106e6e8e70bcc62b01ed66b60de730384f9f3c1c45a47c3141a1606d35147c236e53f05d20644f0694a2150fad2acc838d9d9e46d6774c84a99ec0b469e5ce1ffd5c9b1bc9e8c1c8c64b6f3577b4ffae56a93279f6a5bb03eb0243a778a166425ca418d547a5755eecee66e1a978ff6a1019d5db14bf1414d3ebdeb2ce79c67bb22e8a7def66ba424bb00d03ed4e2a39d89b76e07cb2a58aa0b4ac6c452126579295ec976a01a8d84648afe2d7d1d2df2d0b575784c4a1b727056c2c13dc1c51a095009ee5fd47170ceaa238e8d08b907edf26e3a57209a508ee1e8148dafef2ac9d4a72a13c789fb6d45df002809fa2a3519715b08990bf7e67e3b9504616ef6b027852e3fce952a5badc4fa575c0d762c8421955708af00d56c5634ca8cee1edab6bb098a999575a2bf720ef0aabbb48e869e23addbcf646ccccec1015091263b1bf370f3d178a250505284fbef53a95879aa3a78abd1d3fddadebc2f45933ec4bb46df9837ee21872dd1c1cfd569b7ac60070c83b58a62a4b8665442464bacea72eb5f84fa42154b4369834edde1171326ccac90a934b0100594a00acca14609000884bc286ef01f8c7a1b277e5946c6c1f6ccfa12a31620da4a5eb6420669476146360e89b442a69819ff4ad845391f00b4a026a490a19a04f75a29da19aaff2c88c155f8a689ed4d83bbd353b16be181ec1fd077fa101d034e2ffea160d872dd7b2ab66cf910f5816a36f44cc7d5704e56d0857a76570f76698004d3a6aa9e98c723cbea8332a7c5ca78cb837c568cb4bf3cbb190ee4ca76d0e3f85aee5fb404235f7eaba4c00845145195bc331d259623c4c93b2a0a4d51fc111a3514d1f1793f22794f842d5b0a8a39a9732b3250957d4609b6ab48902aac8b4276fa976b1d15728c97bc534e3e4081914ca368e6006c53c996588456d1930747f98a182ac9a6d5bef6115753f0053842632560bb1867cfb0110c20874738ed233b57015e14e79f054347c7f25a460cad5a870523a27f0aa4e71d2d16c5daf1cdad040af94d4aac9fea4fdf110c9e048757852d803599ab09c2acc79d5d06db22324cf6e4c7b060c254ba14fe0fd6a7f609cf19e0ea6c1388f33d7867782d5c1b198ed965179597afcaeb32235381b90ccb907de37f7e413b9e64c3eda402b319a763f2f366859abf13d14a281db220303b69c08178507b3c249d36ce0f21e2d9bfd704c908a7625a29a625700b549255cd79a2c54c11c41ea5de670ec4514c144e369ca572e4ff14d4874d46e4416ec92bb8f21a3aa13902e7b7f6b2e1d4636581e22e4a1f87de897b1002af92194e40bcc856768948d7e3176cac52ec1a5f3e50e0318e38c46cfad89822336f668d553740e47d46268f3a8e86d7d118d334e15af5705b6eee8244423ec08d763e0b6def32775d6cd2604b9d0fb4762d827c49c5b5b7e6d6958024253fc5f30242238dc6b19ab669ea282fca45a85c4bb129502ac3f5abf803027ad30d64ed663f411c43b44ce990fb0b8e03be4e67c84422455978b4fac03323d7c7686488522dc4743c76870758e4428adc30f30263a5b07e015a5cdf52453359d5f331255172c804076766bc466209b88887d48b3da98b4dddf1b2dd20b2aec8a6b2324701608f4e930631df8c2914a157cda362481220220dbe626458d36353ea5aabc4e91c5df4aeb824d123f15e9cfc983a339c0cc213b251f7c7d060784a24e5a58e2182bc678bb319b7a3d0335c12208aabddfc3e10856fc26bebad2a015a0cd40efe85c03076ac48e1508ed1a31db03809227d7ccb825f7578a1aa818f5c39c773c801752fe3176114f766399923822d4b6108442028a7c423160c9c08572e5aea136a41455033c96c381391bed406b46a7e47f156661c5901bb12d9671f9b9e80f507a5eb6ac023a3497ad31ba272ebb3fcf12bc56181a3ee1f230bfd097bac34e90ad94a9e28e52dfe3b5c55dbbe4e7271e1fefa263b4ff71bd308d174aee264e6bb0f0afccb7250c24de7cc0bf5b028ebefcd54803c709ceeaec811e669ee7b867a16f5af2d08ffcb6600d884f94ee031de98405aec85ffc45dcc896b70d7b6bb4dfe7297630668fd70daccb902f699dda766ce079a84fa18039987403fb35010880573ae09b109e828cea2668aea62669f8f7aed16a7dbff4a43b39bbfbc86643f2354dee64bcf44814562b569b681589af4245ce8352590075e1a88ba1cdca0241bbb2b43598c57d26607e0574eab9c2d38fb4953b3a14ee5d13a6164e4c36014dadca5ebc1cc0f632a4149eb1864650906d6f5ea0df8ae9dd6be3e4a9204ac64edbf56aea75ea124166759e5e9ff189348c702489d76dbfa76b098e4a94dc00b1434ad26850f0d51fa2fe559451453a27b26a26b23955772e2586ba54931372fc4de068061ced776d5930681bca393c373bb15fe971916053e8b85a7849b0ef8451042f10d6708b4206eb4c32fbd75bf9d9dd38bf83657929f7922b31d66666149d7d086eebcd04b12f79228a26765bde3a964d529e6f329221c2adbc9db4ff48017979742589ec8bf8e1992a24ded3e5cbb0353edb5c97522c919a52666250486910395b1f0afe1cceff5890ee269360994aeac5d7632b5a56f238ce5e06f533c64592cc637d1bb3097aca67b45d92af766d6b40888ddb639b455e371860f0bcb6ace5616439c099cdd814aa3de5e1430f0890e200a070b3c7c053fdb46e1bba3e887f9b4371c52e3cb6147b106ab93d558d40a565b2899b3be1ba7d1e7d9e0990444f886bf6f9f2a2531ae828f63d0a4a7d362874f3b18cc097455bfa3ba6312e0a8bb2777f2634b4ea1b4b017ade28c15ac38b309c870c7be06da4809c5ea26bb0069f4c603e6fb13e24196d14e7fb96bc2aebf40d77886e07bc1ace1e16ef3f8f70f8d5819942e0cfcd07e227c76e7f50aafc0015b4b2c7438a85a8676672906ef4be8e89280416710175c8f393074bb7aa971e2d592edb83db01840b6dc1297671dae69089c50e280cba4712d99c52e9794ba6cd7f022931b20bbf6cf8ceb2230452e3267295d3651ef33ba553c0be3720f82fb04cd71d2b69be95dfda522b835a58d3eed8dc03b445202a43701bb8abcdaf260e459e6502c3b3da4fe6acb7f661e9758720d66012d0084b96f2b9bfe4376803135596e1a16d2040a65eff0d13e4a661fe3398509f33548089b00d0f7acfc88ce8f28d8f105e85ed98713dfbc9798675f28ba0afb3eefea15cfb412c64deb6ef9605622105c1c78f228655f93af4d2049d9e8bccc82bd0359d3625a4589eab58d8effee4eb4e54e951bc04f94cc998de72cc6139286b8c7079e489bdad471ff18aa26dfcd6c4b1c751029b86600ff3e03c76950d652095a14230651ccbabf3f15397b41f31224a913e5684544988f751e2e03045e3b820d62edc93d631375acdc8d9b8f1db6f5b1178b2ce1b3d43c4a692a7f835f0850350fb831843a935174c5c4728b769b330e03e90230e2fd5ba045f664f8d49004f829389049f93899f001d43173efdc7868880e3a1b59938f589aef610d16574b96e6450955a70d4472c5fdd33b153cd3ae2c3689d5d3131c25a0a1678f592cdd6641d600323e1195f1851b5cb81921cdd3f668471f25e0107c4c09e1550739e637c7b307f0e4dfd05d30010110608c8578889a11df6109751504cf14fc3fb1df77ced31d46cbddf91d6a22455ff342dbd46491a3a1b36f832814e2032a1c57a155205e11511bf1d164a4e9137527e6657513f0e9759b38101776d8e7748a6f0376ed68e8135da497421e9f6cce0dceded8137848938fd08b12064bb2a53b9c129ab937d9b1cce10b4e89face4b6b448456767777f70ee409240ad6092125e52eec8060cf5d388027f0fcb74bd141374f88f781117d5c73945f354d3aa2623fc51d2d2f3d5f27b6b7a1135654729dd86ac7edad01ee0157701bd21337e366752bb1b05c5e605c31f93be17dcdec8fbf7abeb46e7c952fad56df3899a7ba231671853df74baba5d5a3e18d3a140d7051c9e56697ab9969a043d1806ba588cadebb6d57a55aa12c3105fe71fefab45a3dff1252e0df47454f1f1665f11457b9f7de7baf67dfaa32f5fedc714e42f23f1a954a27fdc3b2a20f2bc2228a7f7efee233fb09cc79c023cad1e409c941c101ca75a072412c17c5e5a4e87a7860d37bdb9ef6ade31e70056f6dad920d66f356d76d7be3665be6681c0ded03721ed1d7bde7396d77289d4754e2a1f1f0150f9a376e698f06f7bbd3e9be344fa1cfcfcda6e9e31ff0044404e8f3173192bfc7c8e7e76af27f406ed6737e18dec92c005700ee5f78a55900ee419e10b300dcfb9827d0e7ffc1447e204ecc93dc913fe4c549e27e03793426293f6f4dd3775530dc354df9b3e10a8b659abe0d634dd3f77101bfddfabaf0f3d042506635334d5f2784c5a6e9f38057364d1fa7f5fcf979febb6ac97f5b4d50f5fc37a609ac9effbe9ad0eaf92f4d13c29effcef27b404f8a27e551f9b8f8cf739a4ea7d3f9bc0bd111db7f44251fbeea743a9d8e6a9aea479480dab7f7d0a6a9ca84af1958de7eb7ba940eec529d4aa7cadb7f5ad344b3613bb6657b36ffc39a26199bdfbeec8c8571cf6bcfefcd238262884ca7232ad9f277a2928d134131448646ee3401dc86fcf67bdbf6de86c80c911932f309e56c66ef2a250286b8e41057a7eaf8a79c6e3042f7fc275b04a015abacb466eb98dd105dd670b8807f1c57137fc464adc6d5e84986814b833c80e7f173351c8d434387ab754c236de0ff383674ec11611e48127edce9d88a8eb108afe60863966882df7a7807d1043f8e16f0fbdf043b900b358ceb454938154f1c1691844f1c8c3ff63cfe0946d48ea8efb8f3b8737135c1c41ce1ff314740a2c92953522aa2eccb9b391ae14413fcdcdbdc0b8b909e9e72307a925bf0932df8c6f62b752173543280c7a31aff491b789ca3123f11726db700897574fd16070bf837c11a3de6d731271851268839b67fc1e66124441bf867c7e3879e4f29e05f8c75cf614f0adabf090ab94184cc114662468aa8d81c8e14efc02ea54bc1ccd4d06c6ab56d8b4ab6cda6e51a3c73613659ebf8bf03e9690460c72f6b385b2b05c312c30a615eae99199ad86c9a3ebcaac136b8766560b22a6e68291d3fbeb16245dbdcb1df119574be76db250ddbd759764409a835351a584c365313e30a655e30b11696cb8b4aaeacb2e42c7e4e546287b846c07155d4d84d04c510976b886b48184d5a4c42640ea93285344918c8117ebc6df8b70b6e9557abfc122d4dcb9bf5cd32d338bd376e6ffae5e69723c0bce4212f2f7dfbc0452454c0f10fa0c7df9115a3b4a246b3244bb6b058435830da082a525ce0184f0d34f13901c5139f4cb5c16506090d2be8f62fc46854837bc015bc55c3c2686035ba236aaf814396c52d8c25c6136c7109f10ab360166e9926974d5f213857c7ffe1d57df97885f1aae3972eecc24778e9f8310c0ea729e66528f14ffc13ff4ca93a6f068dd11c6d42582c5942086185cd90953b6465c84adf17db4b23105153e46e1fe39780cc3105eff6f133f1148839644adac08f1f4844c9ff22193a1ec2124d62af376289885d002e7ab27376e2d47cdc828e8d3899238c4fb85634c1452c71048e5dd2c331d1045b2bc2ad6882e77f18091ff3847116e1d61ce17fe1f23fdceab853e1f08294733b038d5adc28d57a83ab53ae4c160cc682d1acc0ee9dadcaaabf1269339acdeb0687a5de2b41993282ee4486eddf5eafcc15188bf6bac1a1f70527d56b12af8ab395b2f71db1c84b8be5f2d2ca7693ad54b952572fe1ca8a6c45c622390582c6e96f5ab733d45a65d4316749bd9235efbcf3dee9c4347d52268b39d2e646e2acac3c1144d6640ece259c6dc6d9e26cf7d6fd94aca99ab49bd29c29d979710699a3499230dc476bce972e733e902a68fad42d2ef3e54aa1cfbf7a16a962c6a563422c4bdd92eb44152b59cad67a6f95a56429994a729d11a4cecd50e23ea481e75a2d0fa900a7df7cf964cdbfdfad90dcad68baccd1572b4d3499260986389a6f042e65455e5a9d7e958d421e653a80e9f4abcc0a3cca7220657dbe7c35c88f344eb6e03255d68392ec4b49eafe8b2f2a7ca80174f95106c13f2fe8f63ffd8392ac67fb59c4082b73259e62ecf123dac72f17ddcae8a238faa21dba9524bbd9e8275bf05913259db4596365952f52baeadb59932d09336bf366e6507046532aae950c4da12acab24dba51d736a99e6d936e93cefc9129f1c15ff6794ae15fe203f4b2a742f4455d54260472c13d2166014efcadfd8fb4cf3df9324976d2a6cd9cb962c06fb274db92303993618ca6db973535ddfe9ca189c9b267b3927661b226cb6c992ef3ce94999a4698e9f6a74a7ade6e38391e4aa4a5932fdd7e96ad176b8416222db25649a485480b91172a2ab580c70f1462e850f64b2fcaf427e2ac7bbefbef8938ebd2cb758eaae7e57b7e03f2b9d731ef272477fd7b1241073ec1cefbf6f3b7dfc07c1cf278798e3a22de79dccef1ef125770fafb470a972ed71cd9ffc102eba2f62d683fdad75184b5a5289fc2487e10a349d2208e6a7c07449354e2874cce9c9390fc8f7297b118a3a7eae2d2eb08e648d2209a4a60850041e3f3f7bddb1930873b94207354ad8d5ac8a722c7296bad5f0216c451fd2a69313131e14c8ca4c99ac5f25259572cf8e24b57312a155dc99aa4dd7cb1e6cc54dda86ed1159d67f09d913423a4ccccccd0d4a4f4141c2848e9f5d5ed7ffd28e249d2da1047f53fb326cbb6489694b169fa66cc7c59151555286357ae9c94069703a3892829533c9d6e4fda0d27bd29e3cd9849aa3f557ae8c8e95535575c6ea649e3e48029359c31bd3e0d674c115e45426bad94b64818be248d9e661ba2690e218e8a88263ae610b8c9a22794e883159cfe375fe19c99277953ffe3fa375f9cf5688f377314032e6f228ef19f944e9b5ee54f9b39a7b53b54dc5a3b5faffab2a28ff72f761d11f5aa3f61f567acfe9c51d60f28d854d0d313d16606914f441c29bfd1a4e2c68d93121145f440c2c7b51b4c515151295f1babc5659a64df2512fd1b41e8a9ee60024ea7fd8408213a8ae881840f7ca5cc194926b48ae4d429e52c9253244796d242e309cb0a91cc90b08d12a123a2e647fef4a4d423f79d4704c49373c7394742d2117da320b020594ebec03fc9d2a90ee2887e8f26ba9a238eab11b5a2836892358823fa14accd392798024a189d2919b3759b359b2b6f248ea4751aaba53263c2972983a367c6340623426d36339e7782293590082fb55aad6f17dcc916bcce39e79db6ce796dbdb65e2b57224a4ad59c933575c65d11429d31ad456a6a8a909a3573ce2235357ddf8c358e9e19912a14f06fc23e49843b5183b780c71d71c717c31685d156209bd02ab48a2b96558c201b900da806baf174ba1c0a855af404b201d9b45858a1d934bda44b86a09759b74958d174a097699a5c8877cc34c97eaa393d76fc82d1c4b2c49ba804836a52c2bc888044402220911485511a9b23fb516441ae39b2d2658e6ccef2658e6c16c9d61c59e9225d7644e5b79bd4f59093566b83bb250eef8c8154522bf47a916e481d0aa9855b2e50089201b94229a1544825a40a81f4146abd402e1868a6d3b25b4b77a1e9b9a383c02d1c829141acdcdcdce48cbc8d414f301eff86e1917c0c0fc68f78311e7b4318f9ed0d21f53b467e24068cd2480c18233160b1e318b482f424e3edd7143d91bcfdaaa27b93783e6af43d39120f86f783caf07a50520cef448747ea5b547204edf997e8f8a446b7dcc55215956ee9c9627c83057ce463fc0772d19588ca7bd4f5207132086e5221b86ac2d921b86b2347131eaac06378a09092ec8f78a05710dc03aee09f43601060c729190c22080aa3b31785d19ad04ca8f582e12e733be7b7cf4966bcadd171ad15ccaa15836424672f040bbd26c97e28056403aad815cb0acb7e102154d86d2d4c6a7fe7ed93ccf88e37c3a3e18d3a944dab9143af6e9f1395e4991a3594201b42db38673c84368436a406725192fd9c3907b9fa1581e8db6eff86707744c5d9669b73c88652304b652a94466d5af4e6f59aa64a6b688de670fbde96ed9298dcbe92db174661f304e3ed87422f1a1ba132921fa9894193f131de7e2825f40a8132f2c7c84f927f243fadcdd308ce34e19c0ad6140c0f7bdc1cd91ff1ea34995ce48b7daa02b2f94aa155b70f728542ad69aa31b148126eba7da984946e1fe402c58042900ce8853fb49a26da3d6783bb158bbb97e01059cd47d4240c91619c33960d910da979017ee605b2b063387fd72855b458f1809e9427c5d382f9b4766bbb360ce552289f4fea035a6badb516fcd45a35673db428e34c8b2274cc512e9dcc518e332073946df4bde22c2c4ec3653c36475d8772b205b7b476ba77dcd2d66a440da047cef10e450b1eda1e08345cde1921736cc137105af08dee98bd65b6cf9c169279a7d56d741b9d316cc3fcc342c373b6cf8abb3cc78656bbc1b150006334b2594db5b18989d9d8d8dcf0d42a15bd8fcb95d5525da669464f2e76d4af2cbd7e5d99333a41931df5ab0a38f3d754edd00b76de5d7415ec29d3c4fd567f7bc98288e2bfe15052feed8308a1403c75c248cabf75b0d0f37f4022aad3b7ed23e3c903c64e1562dcfdeb84b205d2e481796860d0b7f7ac408b3ecf0dba27066137ebc22eecc2eeb58501c0028f456254fdf3d03c37d3f4d9786adae3ed9839ca2fbbd6dbb66d9ed8b6c5b64d2445eddf6e7962dbb5fdf69c9e467e7b127ae2235e5695565b87158e5ea5ed233d755294949f9e3a206c9a3cb09e3f24e22c73c48a26f9b9c77d104df27b5ed3c47f2047f9b9107afeaff6cff3e23f54565b66cbc81cad69d29db003334f9d9b4e0be4a9a385ce09e4a943854ed8013b6107ec841db01376c04ed801377ff1afff69c5edf59aa6fae19eead9e89f568b4b4d79c0efc3e25979583c2d1e17cf8a87e579d93cafadc3b2e54df216145c3d3f0fb715abc50573ae43911b7f6d7c66c65f50486db3eda12032db669b080a22b468127bd5a24e4da6033bce493c60076a99a3e6794069237f77334f1e9849eab4204f9e164852470579f29c8088d148249221a3bb70b17b60f1d7ad560f95c3e8560f3db03eac16179df1f6e1d3fafc8a9e3e2cd6ea03f371e9cf1c4ecf9d5727264bd5b468d3d4a1e9cc3a361ce699a7a6e9db2d9fd447e5a39aa699c48bdbd06a3738d32479743ab09ebf339ba61acc6b87f261d54f8bc7871816111a223495a6ef1fb8eaa1b859070056f0ed75500e87882c01b57746e85e459e96f7959688e11f87d3d2737745ccc169d246e6ffe5e85ad3a461a6697345543541ee54f454c2e5124e54c200d0bff8068c7c484482d08ffc0b1109aa5022f4234f82170ffab823ffd52c909e42a21415206007e85372c7083dbd10a5e40ed0674fabe72e8ca426745890370b31c7078c36246906f2d4819294658e2e8c36f27fc01c92d4e1c08142e5c84104110630c0010e800004e8d0e1f178604a7c803c2b25e68e11914745491904d21348b4619494778ce4391c2e679ab66ddbb66ddb6c263ddd94c9ddf40da3271bda5748d2893e92f788be1f71a26f04d31b56e39e89281902687d43eb02686dd2faa4f589d638b446691d04b8753a416c9d4e2788ee88da83e85252d8728db9aed1851ddb81dd55a9f4fcb793e95e1df6709d87db3a145c837760973204d681356a340106b3d65ad81098286e22b4ec226c2e115545ccb161d2c64b44d9cffb0b47e839c6c51c9221d8f9ebf57abd5e2fb0730770275bf0fd3f3a1eba9f6c518a26f90077354740dc1598cc61808880fd859e7f8f38203a2374df447cab82e03692beab1592cb124df2b689ae2a9aa8dc949be29c73ce39e79c73ce39b72f1bdad08636dc36f4be52bff6bfd22b268170bfe8a903c6c0972c95920253a095b12f3b2301ce7a07e8db56453502b12f201d8a95b12f3b43011bda30acb556cb43f7cdda10f4d0c094541cf1155f013181566b02f635810e65021b100100009056abf56db0a502c08745aba5f1a2d5fe20ea508010790101028590c88bc8eb127911814593d8b787b6b70f7c755540e6a83363375187c6869e9a87e6b199a6eddbc0135070a00341a2d8be0d743d26f744d7038aae0707ba1e96eb40d72348d7238aae87d500adb61556c0722d7aea842115b57ae6645e32aff0157218eee23116e02cd0a170eee2314df0166f756aad32a1ccab3ee5b4cb37116fd9f0aae8a94449f474c2afeaaa4a5755baaaabda2d0f18cabcee0dae2a9268104f9c465e1df4fc33a48ea8fd7747e874559c73ce39e79c73cef9f61ef0560ddced7ac0ed93f249815dd7755df7430a98525189bcbb69dd1f7ffd01c10f6b054cbd36adde6bd3faa9bb69f5c193e2497962523dbfe76eba679bd61e3a94ef8a4aee27e5fb9e2023125389c410892122a345bbe56d5734c9bf791b668ef25f15003a943bc125a6c03fad0f0ca8a332752aa2f67f9d959ebf74522a953c34ca45dbb55b1b66034f40c1810e0489428a0d3c0105073a10240acc49d1f5c80057bd1a9d02c08aafd437efbb4f7f6380bba6be5734349126c64213235ff1150b6be44548d2701aa7d1135fad4a329cd20d22744cd3b7657a78624a78707afe22f2fbc8e9f999a03c62d3f4dd949e2fad762621c35bdcc56378e8a223d37975c29b9ebf73391a67c3d53e1d0a5f711616be7ab1dc87a2080b4bdf5170519a4236a2e4895bfd9526cee5836cdf813df3946a8e72177632d124fff53a2b4493dc01399769eaae204739775ae8f93feea5e74e6a9abeededdfefa478f6ada893fa5dbd4fca27f55199a3fc1ce0ae277b174e100db67b59afeba4cc51ee807394b74e4a27354779f3649fb75f1eba539279f2d0288976691f30caf428e41d7a15e14801ff3a60899e3c9e1425e5e79c84e47f342a957a899ef86b92327f857df6d3a91409104ffb7e8c31c7ed3ead7b7fc7ed61c77d171dca1d001478febb63b7893e1d5f0c6bb5b473455014b11d909eba7c6a21e8109d523a279df3712dc618662835a481a3d040bfc6edcb5ea3491601992326a8b5560dddce6a70664d38f14410d94cc6049034585ceb86b1162920418200c1b452e9de2aa45a6b6db5f60157cced4bf424e4a6091798bc3203b3f5f334551cd9c2f1dcabce9486adb6d60d48101c36dc7bafadb8d28931ded6eb55f48140c270ae399a2f63aa48c2e4fa798e7234e11dca124fe032a697e6e8249ad4184daaa8e66dc77c194a19ddeb876abc7199968a4aaa7cd1c2c57646586b2d49cd339a1002e39aa0cc4c0d15238879491a9d2b8ece94eaacf38581912e349c98f025679c98b1a6d3cc939535d266049e90499a1f24672e44f2345a688bcf983f6202d8e7cb15cbc20292b2cd972a2b33818cd5598bd4b546d82b33818b16295aadad5aa452aa092ad1843d6b9594521555cd7086b59a84c92470add6a594127f948532e7bc282894da6f8228b51a51a56ca1d8194a0e33c8b83d39ccc0eb577244eef3bf6ec16892f3c498de5badb5b55e4af19cb9e32165d71d8f6dd39dfa5e16c91acf5c3491cf4513faa2d74ad0b3aeb7cdd66a2dc678cb19f74799bbb767ea275bf0ed2bd1d86d6818ff3b236736add22ab969955ed17266669a24c8dd9db99df7c4d9d895a58a9503fa50e20713d3d4bd7e209d6eb7e613665aad161197dc399f6c11e5b67dfd1337f03de39eaf636e5d027ce8db0d615eaab09437a4a706489213e40164bca6afffeabf5744d4f63ade50096943ff77a3d065886e1c6e2dabe0d6e648ffbd8926fa37efc2219ae8c7d1029effcb2c4c86889a82772d620efd79659e62bcfe0cd2d3654514a826a2ca1051fcf56333c81c1f8f8bd732e8a9e4b50b25e9d751ebcf2e11757f763d68e886423814caa1900e852e0e238abba1500c411c3c163942adefbfbf7fe04eb6e0dcc7398a11e377e7d568b23df76c34d9fee3dd68637b8f97e3687b179e8dedaf8b7e4adab80712f920b9dfdedea2bd7fd89bc6de00d83b001bdbcc91be17d7ae08df609bda0d1a628ecc8a36bafb033574bd916c7f63bbb56d7b2ee3e248d7add1936c4919c890aa520ef316a54aaaf6aef1508fa77a3cd6e3b91ecf260551430893216c94ba0af23caf7b891777c8f052be8ace736f8adcbbff7853f0de6130078338a5a64353ae421ce9ff644cefbcbc229a721851fc3b2f4d10512ebee3f9cee73b2f5d1105fa0e0fdf99f192750279ba3079c25190a02939ca45003a941d5752150579ca4290abd985d12c0479ba6190343a94cefeaeeb3eceae238131523ae9aa1f54f4843989e8e32430441fc98f88be7f21fa46fd93aa90e82b753c3be99d8e598568c258c491c63473945d2e8c9eb44b18e4495b2149fa5f5286f3a07f86a7bf46c723bbc856c762a6ebd75988232bb48609e1c22eecd22a153df988fa354c8711e6034b01bbbacf8f1f19c4b4def9bdf7de7befbdf7de7bef50cb886e0e0671ca1c628e22ae5087da0d4ec7f359c207aee554067dd013d6628978c2348c83679d8e28abe648e7555e9923fd5ec4333cc3b3584475efa92184c910364a0218400d2126adf6eecbcd7eb2c595cd91f6787eef0780157cbf0e3a9b238fe8d6cc91d67fb205ef7ccdd3b4bff31c908802f5ce3b414f31bef341e8a9e43b4f053dc9f8cead5192fe8b43492950955aa9582eac56ef6097de91422471cfe7f77f8c2890cbeb507648636129f0e06110d3567d6f911412aba806edfdf90f768926fa3f1e6e9923fddfa17424a69924fd5dd77598c6870ea5a3c1b1699291f4fdd9a3bef7a65192ee21c4337af24149f4f48392f4734e42f28f6725d8c900a0b087c85a0fa1432d33c41039cc39f7c0c30c1b9c0e354cc3e82987e14ccbe8d76ca66666334d5fc6a9611c9c9353720ad3f0cd135ebafeacc2cde878d0129569fa322be7641c302525e3092d199667324d8e65598c0ec5460eb34c91941cdab00116492992522445259ac4cea227eca224fdd835471a7f5146bfd42fb57ee91aa6ebbfb58802bdfebb4544b12e1de4295252cb3ce9905e37c8139ed10fbfb890f1f94fd4bf5b7351ebfab77e90275536b8edd9e85bc36e9ec93371cb19a6ef6b98a6d13112182302e0769ee9fabbcf38f4a4611a9671bafe3ca33fd3dcd79fc369d25ad5f56bad5dba7ead5bba7ead754cd7af750ebb7ea95fea97fa332bb76497fc925bfa47744c0c76e110cbe097fe17ba659a3eadd2f5ebd72f2e2d1857a8e351334d527f9ee9cfb5695a9926fd7aa5f56b96be52c34a364dd389a02082a361fa0931447070708a7844320cb79c8124e9d752a66b1dca910bd1975520fa88be0ccae8883e8cd3b50bfd9de8c3b5ae732049b3aeff470b24b7c4157cfffe91c233ab7bc99a23fd3f58c0f77f99d5f563173de5d924e9d7b9ebd91ce9d7bf440ff81765685dff97675dcf789d6774154f790891248378ca2c4a8aa8ceeb97a194912fc9a2271e5e6b9d6979965979081d4fb73d9942b3d97befbdf77b66363a141c30d0bfbd1afdca66b7669a64d77f87c41c3ddad0af6315bafeef16e9fa2fec2fcdd5bfbf344d9ddf7f639abadfbf9fd3130f3fe3f70a9f2192b64ac6139e3d0fde962ba9a2a72074464f0c88f80cf1f423cef0f447e4239a1080c39d02ba8e488273a4bff364ca1ce9ef74283bfaa0a7f843bfd65a6bfddf8f38ec3bd18f444475af3daf35013a224f8e265b88ae87092787e0a60d8e96b82a00ce0e80bb9b007b5faea332d64ec9a6031772fbb77ffb4c4ffa3be9ba341afd6bfd31bc4849f94b3c191eef92b8bf457908ee00dd02beefadf3b675a7232acdd1f631bc932880edafb7dd1f7549dccf735471bc80dbc73d0a7987fd9de803d23951c91669d106f48ccf0facec48e37bf1798268c839d728445701a7b468328a2113c413454224d9b7af45cc114f402812bafdcaa2b2940cf14463103faaa2861ebca1db20cca1dbc71e7d41b4617f8338ecc90e2437e1c41c591abe805c20173d856633906b56b39a45900bf47ac12017cd38ab9c8edbbcd671db23ebb8dde9b8ddd9706a39351c100ce8655643dbb2185066f57a0185644020500c5413eab88ecc34cdd71d17762fb86b9926ce85932198b0db0fe10e2747771c0a26b25abda856445cfc8d5d1428dcf300e7c8e69c42537364edd310f419f4027a8918046a651ad2b07a421e02815ebafd17ff79cf8766a017500b04e392d16a3838d32497d0aa828740a11a0f8142b269fa423c048a2dc1858762a60914f210e885a8047f4425586509292a445488a810598926b1875636445834a427aab21fa250150ab3b2790a2263696c6c9a5cbc7deb625f6ccbc258978d99a6cfdb2c5539a99b6e256853b39aa1f6a91722caf3d6d34136d1c43e0e135010f4a11de3c50b192f5e94bc7831e3c50b1e5ebce8e1c50b1f5ebcf8ae47ec2f5e8440275b9cd438a5e9754508cec3753a941c8b2830656396c6bad817dbb2309e75c5cc91954d123d59991cd54dca06ace9f667ba7db90a439762f68fc2b8473d1ef5420cae043fa997f0b81ddb0fa2a37afc1d281235b462c468e08191458c040e3d8ccc601491f142863312060b4a43ea05165ae05ccc60212cc2ed63f30271894515201eb316331758f880f368f1c1e2065be70c348e8509463a9aa7f6e1cea0ea8ca1b3d1e0d2fdc4626f318f01368618c7b7b0e9d40ebb2c6b6d4ae8b01a6a3a089d5b86550e03cbda1a101709438aa4c67c444d78631c5cd0d2891942cb867c441a5cf9c9b075cd1162b0a1711601436c4ff00833a420000658112fd462e62e7a2ce283983e8a01eb524e3a236abfcaca20a2eecbb73388a8fd52143faba28195018f1f3c3b8368623f1446947cfba12984a82005edf6eff6a614927ec883846e9f7aa15006dcfe170a45dd93fffd871e4d269552ca7de20619e90084c8511dfd3ef5f2e63837f0fcdbe69b001fba144521ef9023da01089dfbed6dac68629ff370bc80732fbb924e7404edddd3de711fc278ef6d3796ca881f3a27b2aa68627f6345d47efb9b0f620eee2de785a6106dd8b7a1309ad83fa58087c2ce470a496ea1500a9a37961455c8ed5306841e5511f503ea87185a6e3048a5bc104693b08e7fdf9a7d194691436c9b055eaba5e3678253a938af454f7f05af085e8be7e211e143aff5329e151d7b442f06f93136f0f9b1977d161cb8f25239b518a627c93909c9ff68542a9dd4bc95c7e2b1a6499e9ca0792b1dffe77829409868e26b8fb3a25ad54fce38babfe408dab9a79d137d40faf6d64340a71d8fef9be8d66a7439d322a2b6c72fc72005eddb0eba14b4ffd0b76884154d366fc407233fc041fe6f84454f9ec7232c4ac2f1c4ad20927c104f1c484911d579cc45d47ecc475c5e7dc4650560c7ededf32642628ef07b42a880a960321a1542a81881148d608ef0e358f10f5fe65fa954f65638075bd5e6a53ea427094ed04b792a9eca5b8db05a545e465aae9869fa5ee6354ddfe78cc04668a6e9f356233023e1c8cc48cca6b89c69caf26bb49a19cda6a692bdec675ff3b4d4264199026e9b13c2542aa5124285ccf1322290a6bfc2b6e538b31cc7715c8b0b8de3388ecb71c22c9613cb89e5f42d43566b71a1711cc7713527d462b5582d564bf97084f561c73fc282c2090e3c1145ccf161900fdf10c3d901f858c7ff8d8cb0e849cee42c0056ce6a660108c0486b9abe8f8db046603e2659f8e3388ee35ef633975bbb3717e7e68040b06eed631fbb35d68c638db88cb0465a465a2d2e348ee3380e888fbd2c56f331208070022c5613ab89d55080890a00b940ccf161134f8533c46ca227fb88cb1c8db47cf854186195b0465c465a465e46583e9498a7919611d61ce11f6175fc4878210a08ad5e7fcb394db0b96c821effc33b16a6616158c6e1be321265cf965bbbdbbd1c76d5f0caca8d8b73735226a812dbaee6b62b609be6b40cb7b292e1ae50919191c9c866aa0b0ec48566056ef46a633676b206fe5d9714449a8212ec1052e35f0f891df0efc6a8be1dc27c1df3ba48927dcea54b4d4b6ee9724b76c92d5d67adc5354acc1a9917cb26c43339e38c6f7070cd09e085c5647896712763183de19a9accca2df8e625a7e0182df3cad709ae9b57f22a6b0e7776a6d5d48e13522e97cc250b59b4569cefe6f4faa03bf02f5e30e586eef56f8aad99a7b8c3e6a6579bd3ebedd5073d956047bdc38efadb933f39bbc819947328e717398f743d62cf39466271cc2521b1b15eefb5349718b536d374bf08247c64955e5f6e4b0920db669cc4b43b63ceda9df18e11431d59659a3e8c679d5f5f09f9434694cc2ab23381ccd3fcfa4e3c11a4ded675717db826c309bfdc529ba6efcaeccd347d18b3ae4d6867b6bebd02a7576e364db726b7dcf0beeecc854d137871eae3540de3e09c0cd6e776be32568cadde17d65f9769aa47d41ee30a1a0bdb7b2d1432968c257391f6af77324738628e29b201620e5c236dd4af4f84197afd0f01bddeff72f4fa27b2881a99238968a32e209a545cd3674c921e7354bf081224a2c95de208fccbb6c6107b368c26f569c7a3877eafe87544d4d36a2fce7af3a117314d38a2eecb49abbd39677cada7239ad40ad093fc9a5b36a4c0415a4b2737e6a88969b2bf9db4a98ff4f93da2c423629098450443c4516292e6131167a48fd28d13ee4bba444ddaf5b05d8f134a9ab834473cc2c04b7d4e0ede23ece8036c9e6cc1ebecd35669adb5f43d1df77003972772e03c65041038fe8fb7640e29f1a7a43887d97e3edf413ce99fcfb92aa25ef4f95c06d154838883680ae929f22afafc7810fae42fde3249538bb8ca247d7c85c6d2a787b3e6089ca3149e9aa3e9a1b5f4f91e9ac7c65393d1f1c71d52da97886ab12ed3242fce5d0fddf5d8ba1ebbebc1753dbaae47015c3c76968396a778ca11f8c73f0ef6f93ca27ce8b38a8680df07d80653b5b4b43041d5d2d2f2b25aad98c05aad56ace9e18001ff4a6b2852a408188220a79431bd47990dc2d03f92fe42e9363329c99c32643650c96ce022b301ab67fb861d7d90b3872ee7adb572d1449a41ce1863ac7dee694bb81337cce061c61c69fcfe96733b83dd13c54e1ab0190bb3341125f75de9b7584505b3b4ea4625decbaa1686b523d65615567e7c5758a545b3b299adb1b4912e89d7c679219bc59220ebf42fadd2508772c3894a6abd2cb29bbb9232092e375a767393134d228e99248a63704ca75fda1fbb2850b6e721fb8d79b23929f4ab37376faaa8e6ca5cd118fd9a0bca70686a33b44e6560dc178ec560c464b4180c1898867130cdde990b5361c57c5a582e2f2dae525959b1782ecc75ddd60d59a6a95ed66db92e245c2c3ffe7d5faf55af9f9d5171c1e8e3147d3d18364d1f8d4ebfe3aabfe9db619b1a4dd563fd4d53ae4321a9f755ef0c09498c4693d164b5143d954cdf554d16a661da1cd558672dbdb339a2b139a23746ebb7755b7a93743d64a78092193cf4e0038d3912229a4c132ca22e8bf54234dd1dccc490c588517bd0909875bb2f6db50c2cbb2f1cc334a9d4344d8d693296c990c9e85064b470ac4c26ebfb398a556eecc662bcb14e2f56a9d7aae8e8b15aa956ac8f5abbd93856377db75a377dad2d95e65de11811ddd32f82f7a07f596277f5e19ecec73c7526d9c12b1e5699247a63b198efb67a8ad6e9775f9d4e93c4a18f5dae0dcecba6364ddbcd76533098d6346d574c68671609b4698adba6615845459190aab06a6d95c16430594ddd774562845bba5fa2b744ef2cd53b4536b15147b258bc2773246fccd0a7f43fcb85ca6dabd27b638e3c22a209c5512a498088f60f0319ec2db54e3fca883a71030d411741b720e6a6dcacd94cb6f00cd764a1328b514a29599395ba37a04bca7d5b6318632c2f5ec1ab194ed11366a5f0ec155343c32e993195302ed982e9b4cbd79806c768a05c564b0bcc42654a39b350c942258b15fc9af835f16ba6be28aeb4d25aa9ca2c35534d5cafad155f3b77bedcd31766e11accc2b3b92b56e1d424d1c73358364d1f6e43e9d66e108165187652c46675b69d3e15415ab54e5f82f7e6d62ececd99a65cc1ac92a2b915930538e7ac75660166016691aaa520d1847e13f3245b26e9148248a2a72888188d3cafd4e9e72b49d61678480110734c91630e21465f0dd4144074fa34226a3ecd5314a6baa8b42b98706a14321a00000000b31600202810080643a201398cc23891f514800e7fb27242210b25599003318ce228869431861822000020303332db0022134a8a08ec44cb959cb4ca31508605ea8c969326692b6532692c1013ad59d948575926ac048757e0abbab311db1ad9ba5b65aa3cc352a70271a9251ba674cd33504e0cc445eb1bbe341567624b737e780cf9ef89e7924273704ec53b61fa20936a4860eeb43ee14ac34226a5b9c04eb46253237dc527d349f593d3d420690caefbbd32519bea76c0913dd58b4d5bae60a26c231b8c3896de999af2a346634003e3058c10848d5e7d4026d70f070231f3a5eb441f9eb9e264a3732810ce9559d89e40b5e9a7a82b524f10fe5a96e8005ff4928a6a7bcd14164c0aaca2edeea56d900573f5c2079c4afbf9c8ba3560f6338f38e4320bacd46e7f6bb4f93d8a5fc1dffe3832eab8452990b7938026c6028827545ac84f0eef9336dcdb29340cacf1431a271122a17e2838a4343f4317047ef1c8941caeb946a82b1ef6f46bc7bfdc4917301c430d5651762015fe972fd022a99f1c57d9118aee8ec1bdba042b11ce7696ff5d7c336309cac0d66c89f750cdb4944ad015a5c4e0bc9627e8fffaefeb19923464972c0c44bce11cbdc55eac375b4022a2d693ff8971f926db8c29ec0f8c1ee9c9cb3012760da7e50031e8c03d179713ab528dcfa8e91ac7c6f1dd376040afbf30835f17275db002f8f068e35a51594230f97ac66147c445d36b870ffd1e1cad23abb952f4cdd057671d72afb2856d146b7440afd28d9c964666f2cd952a3f0c0145d19e515ba7835816186007b7020d9a7b511c257518090fb0fe5aada951ff1726bb5b73f06c4364572f23f47d42a487157e589962db6f09beba28d03d82d1316bdcd06acc8e3201887cdfdaf7550f2d8faf5d47011f0823113319c78eea7eea0cb7795745182365e9e28e23637e4cbdda976cca875f1c3ee8db975c8bfc998f9b3b73ad99abe7445aaba2c34d903de455593e66d26c052f7544bf6f9dc04d6ed28b88ea5ea9e351ab3c920b64926b170b4bf5a6eb8515493470ccb119f1ee1925f434b18181d8a0cea1fc2d2e0578a62c665d54d3a1f56b36eaf547d0958148fb85b10c235317a7ef5f7ee4ab8b7cb2a689a9fcc417c841b97b2bb6dfe85e55283ee4ad5401db36414498dfb096b75a7180ce1d72ed40e45600256b15791f4cef3bd320cef36b873692e08085099e5b8b72d6b1aba2e0bc2ae911f26b3596ce6409b709f6c0c83c5ad2a69913a729adff2f5033d4b46411d5a2a70a23622160d112adc0a3fbe804019d807436211ad2799355e23763e1ab38d2714ff45ceab630c4432708cb404c941a4d3b21cbc11039f61491d9692fd077cd1f3430a8ebec1f871df630211491dfc88a4e8466142848189b6972ef7ea858b5e379bba969dfcb2104214a4c90e7ed002cc1c086e643fd6ba96b4a62590c80593abcc4a6394cfcb0db893bb21b1d2fb39f3f8af53db4d82f5587aa5a2d55b04b70b45c921824642b1c0b23e00059a31d4442cc44328bda18d97666f495cca236e3fa41b14b9654390bea2cee588859d47198467896c69907dfcf739aebe84c7bd5ff5df80bef6be4bca27e7867ac6cf7b9e8a2094cd122140d1fa935fd15baa3e21ddf8ba720442f6a2280625602dde53fe1df1aa247a6a0ea342365e5a202b316a1b6a280a05cedbaebdafd45c06148ab72711215f1476e064ed1970e5690a88444e9124c9afa68b0c22ed6406c37522eb6b7b94321f798137ea7527cb3cceab2c21550d252f874244304802b4628819771ca45853956445b806d124de9c2a17bab71b525e0682c52263d0d7f6c7401bec0af37e6754c4f18d956650f0fbef5557ae73b3f939b39e56404fecd53b8027d184be2ca53cb520415f7fb02d02201bc8e595e31bc94efb80fd23fee9b93082fb7389f92b3a31671a11f5534e5d57b95c3f2c11aed9f1ff9608aea91bd948bebea0966181d6338a86e9813a3e9eb8e56cb78e1488ac422546c2724284ce226239a5e576a60ca45cc397f85fabd6f51da168df66e895d2151ae4236c7cd20744628151fa310db22ad614f4d2d59a825236995dfc7970d741c1af0d51bfd1dd3c3441d56d554d9b9e52bfdf3beafc1b1f0e2e2257024cd515de502099d721169c53b79a1e7daf749892e326e21d8f74d6d08589f717791d312df83261c38ee532eba63a5d7e1792e22f24989969bcef52479d844d7fc07b009e7ce3b9012c00c4214b917b2de88ba0b354065ee22dd6a71e461aafe6871d7b09d2663e03b638fcfda83e0596e69989a8c0882e3390fb007ad765afe88377826fa8a0fe1933b3efe4290a17538a75a691311b90321df95b4930a6f47e3e204dcc72b8c0eb700b0014c88aef9cf99d1a7f33979c4189c10f3e4929a891d8f81f20f13bbd788451b2227d99cc2f150121febacd4a1836df6804aaf5e79f57d6b34445dc5b28e2ce6ca64df27c5f833461e7eefd17ae0e96d029f2f48b1aff3aa5ddc88f85857375a9449a4c07ac4176c4e49062aed4d934dbab377693f2fda8e3fa3c1191c0cb66534c9d7fa44f0ccdaff6615eb5d47b84208039c2c240d85e27849be89a2354698b18cb667d28a68ec7f043d404ed01e4e84d738117cb2a399841d7ced9402c1a072316d3014223e68a92f45d18ae26ac925898b5a50a053a8f95e754a109391560121ceb9e72a1b4dcf2586029c35616a1ee81c4de818f337e94ba5b3ca496c38b44a6241b8e991ba15647aec5ca3c6a8d907e52c836bab89cf86e77f1c3ebf412b6415908d6b23bb588d62a55a7970319a56742b814ada610ebb61d840510ebb97a81daf458611689914fbf001e7cf20267ca19e367e07a27d7e063f5a1033c237901150b065deb4b7bc4f04088492df894d9cff12cf3848b247b9f42e6ffff625cc0029b28fd472d2c5a326b58506ac543b0a01d89203a4511dd9711b57c6c165f40214cec3e208dd9bcd90e01a6a5a6d0333f13a7977d4c4e98e97459dbf6570a66d9e5ded7a996a6209ce5b323b93dec30c0e70d393253af1caa68c0841cec70644938098f6b7d4a091b1eb3939913212218b335a2693e9044c6fd485fdb42c961de8adf2a0d21bbbec58e1403d1a447fce0f4486fed6455bda01a862ed25425c7fd4c92e635ae9ed53e348846e9908e58fdcda34c5f484a559da217e3ad5898c17f8c1fde31cc5229214dea0d314f43f4bfe159953dfbec549570cc9874cd5aebe63e06493ee04c1598020003e0f1238b520189d6318f9a0cb40c99a620c0d40ae827f2281dcbb06d099c2b5ce0901ef92344a363aba61b8af6be148e0644d0344e2b5c61f35dcc22078453a7148ac4598e83a7711f4e42ae6edb8602c205809cbe5820c460d8d5185a5abc7fd71e3264b74dd8d3ec800fd9834b0d4ad97a2a0962852ad8c262f445010698aff6aa309f30ce4e0cf5c4e042500e485f6b2b1ace9fe636978853986deff759ed036b5c8fa5a9ef6aff576f89f8e53b5ca59b0e67d5d4c2dff93c08cb69d4e0db49455028aa9847c2ae0e9257a68568989f6b8a79a227a0a6dcefb1d3014050314eead79d0d325e23512bafdec98b85ed60667b9e0cbc7069009ce5e0d2e23ee33dd6c454ad673ba2c2e4ca31d99ddba14a1559ee9c5a9729d0108321a543b1fd3c1799d25ec0e40fcb24d35e84b4a4f3a1f4b7d1a66fa506ee6e010b19afd17c928783e642735eec834244d675df5e361fcb7c08e492af5010f2341efb3bd34493e0aeff67cac2d7c861214003246008c2330c5d7c3fe23a7ebfcc0de2961c415dbe2f7f7f67cf0ce5c1374d2402116acb0648d95664d196ee9210b209a619532ac4a379c56a20958de8926f2139f6822e7ecf43354354c3f8320b2e96784c9b30a0a9b0090bbc424cae37f183ab0bbfa11321704baa4f59b3b6a89a9c9252073e7ea7ed523aed9f945fdb1559688569a3ca6b951422467ee942ef85af57d994ef1713d8a9d8181652396b45e0c48790e5783a57caa5b71c4c38331d299a3364a27b65d1d6a34fa272a8218303b4503b212b049e549e7001e1f5a2840c211348a3970346ca0d6f4355404f64b30c95d000c6f01dc3b06e0e30ef3374de1f9999503628f0e391f2bc2f6c5a7ad79441204948ae5d28e45fb3ad15e7ec2d390afb9e5d43dacebdd3987d52ac83364bb8db0bbb984cefab61e31cebb41670c0c50066c2b089562854c93673393b5ab3a2eda530512d912d377119b9b475d0f2972bd552e6cf77b449842aba937efa2efb1c95d896bc60ed67449d7a8a7c393c8b030031499510fd3afb9825cf0b5402cf418c45dfdb756b54655048b5e9df015acf2b668fe5a52b670e0aabb984f953dd8446de3bf1a22897f657afc6ba8c7fead5a5bde24b0590b58527633f05f14eeeb4199cdcac203bb7fd5910c97f55a53c823ad373ceb8d88616364740a7d6ce377130fbffb48b70087fd01c805d859205de8cedb21c410965a1a2b51dd6acec6714a49fd32fe009cfd6f529066e115f692d9558e70b8b3d899c3ed09fc7c879da28df2395974a5142e1439b8a57ebd3d1cf90f85b725787baa20bd7b88e75050873b2976a0064dfe75308f034dffbdb82636f280be4ddf19fe3a30fdc09648df09539a7ed003c7d9000411240f93be762305704b22efbd2b1518a9352144c3374d3da6c5e7068e15b4e57014e860e8d51d7c073daeff7484aec8249bbd1286ff45ffea3f05a12bf824d6cb5776f972b315810e07d465fc027a997a24324b19cdbaaf507f458042b50f5ab5a905a2c9c02da31575abbb2e08047d02f5a0bb71b67d7a3f24ce9c7430bd1f4ef9b14749a7ca62e1f19bdb23063e1d108c365c427202775cc35160bc0614914130d303dda38c94780adf3ac4a9ecc696ff5d80b5dc021b774fd860ec0718e4692e14673959ee2f75fc8b4d7c75bb7ec3014707eac5a65fa1d00030e15dc3be0f0da987072708efb1eccde06300c87925bc34679a3f0e5419b3df5bcfedaf10a1c0462bff9e1a6fbab4c1313cbdd35ec0ebc74ee0ead7c3ceb88c0450425aacbbf83183d38bd8c7f84d46967bd835a3d128b9f93a177c4451b1ee83eefb8c750ff539beb10729ed4e79cb91f1fc737159aac6d9ebf8c83f20bfda9c37e64ce1cabaac02d8b6739859ba1d87e6cfce5aadd202a6b938e9689b50870e12751409934e262c8a2c047e7269924266f3cca8e7b50d2f62d5d11ff86832f50b34258d8b2e88f1294b9320882ed09756300f35c2902b70f49ac030b2f74dade4fe19871c1865a0492a51d32a09b4f8daf3c051823646bd77c73d214abb5b7887b926fcee6655a43c6e2ad0cee273c680f92ca6567826ae8aa3022ac3ae73351b294fb66d457b687a21f7a1e13c5d06ff1739b99ca156aa18b733e35c4d03048c2943a195b40eb58e3e2f87b667e697e29c4befba009208bd2a5488177af7eed2fd61c81224d5aeb7a78f86552c90cb1b42c3a22b6bebb0bb1fe2f8160c5a59449444711dd54cade7684fe001fbc1c64923c857ac1ba90ab28c67cd1dd9c059b154a32156d243581584e9c3ae2a976564a262d2cd3ef7d1d31afc6599ed7303c679c034b3498fa5a4e95682033681f8f82121961bb61eb0c9adab3eafc128331fedbd20093d6eabcf847889b1d1c30b6689b9105b671e85aa883ad83b5e9fdba808ab1def7e3b98863e2d89f69ae7520c74f880b2e6ec0f209e5df28b7c4ee1fad42f3e1fd87919682c87745b015a7be212b4920122d873d0794b55bf9c5b78d314c938271fcc57ab3ff75ed970a89aeb18525423133483f2980184b6ec86675f69220581f81486438784cda3f2ea903f72b3168acda71235b51ac4f07ca9ae1eb28306be89465e7763905471c8f06a710cc9272b0867d1b0b27e245838d287506f8cbbd56b408a62240479ab60920e7614eb50e41e64f62378c1d62559745f6e9a9b898b48c2d64e72caa829a4f63008ec82db35754321663cc89dd540d6fa8639fe7c2a814fd43640490bca6f4710027df76ad0848d3f558063cd1e6028d1abf04c0b57b2b67d6e5ed4df513f6d13812136d40271a3cccdfb65f4981ee7c9130d1ae38a6389492b9ea02eaeb8891e618c63428acbe2dcf74d50c6179bd7b4dce5fe8cb578abad21ecd81de56fa6b4be1b22aa5c88a873c4f7277885de1051fc46ac44830c78f0bd971d7120983d488637c15c84b84eb7fefab38bc8cdb15948bf41090ee7efa909f91893c2f5826b21cbc5a8bd5df444d2f9f48e9d3814aef7e50a1876c2bd402f8497424776d28da10811765a06e10dcdeed4d241548113bf589ce8038d0fdd22a7b2c808c8086c6862148ce2e4d2c178dbaa3287ecd40c5586f23a9515cbcf4dc83ce8dc2a7cc05ea0f830665fdf11e33c1793f68cb92a2e883cf94734b0e0021f551bcfbef15ecf43734274f2115f202d0a9467a2665b240635fce286c8319fa344c744ac38a458312b2e0d7bc45516b05825aecd6a79dcc6f31e5a8a4facd5175eb9a13ff20e7fd2728627e123fd21fc54c74b1a80cc280a83ab8a932ed7b3328273a4d59d1e18f4ba7b980d8d4b62b301a302938f360e1ae77e5c85b666ce82ef8c381b8f2870efe991d6819d113439279fc30077c023f8b685a0ad00c9d5100816825aa026c1cd575f4b5765603b4c7286df833a16a023e7e7d810db6a68cf90a256a11c13016c873d80ef3e5cdf3d7ef86a2edc5987140921775ed632db948ce8bcca02eef795200138c309f231249b9d4d7106862947a6c2bbb032e8305ccdfc54d1e8cc7965914491bb1e4034c49d7681920e0017d48e29954844516b56a9f4a46d08be37eaf9c6be4b7537bf20aa3db513d5ace207c405515902fc5a8c6bd34dacb7051a02b76c13caf3c60db4c55a90c5201f888885edce8595af396b605d786bf1433a2c235a5b52aa0bf30582d3b9329da76673d3b067b1a83784545c4bb09e822ba5b370e7af8f76a26ed64019e757ebd1f47678a08c63f2908ed18b46b5de00a95bae46b27bae584123b1ff8f1faf986b70e37dff24e4e6529f0576600442042d50bcb6a04cb22fbf6af5188a15287447698727b402378f563f62c3f35c96ce8a277ce1341c4a3797e9bded8da3300db60a472cde89bb7661256641a66c37bdfa5bd7292fd5f73b64d20ff0336ed8afbdd8fd1339500f655e22718938b24c6612f0e73f91d2cb5c5f9a04e37abf6c8965abcc1b5436a3a62acd0c622420667a1cde798b2ae55d353cfaf4ea6326a40203aab3ced569f7944cfe3d4540100604c9789532a92991a14a07fabf06a1a51c9885605bd6066ed7190099a4f0947d61a86e08a5ec411f6b22f6027a11b365c08a68d3a9429805ecc28ce92874745ca342596f743ee4dc3b85f555a423cb861928f6fa4b0c0e0e2838efe4f77b93e017bc9b7597c4845d4ce59a2de11e5a07225b6f1cffcca406f488ebccfed9700bd53fade330693af85642344ca3ce3adf90afe80e6a10d7549b273772af3485051d1ef4167cce35365b33fbae1bdebc075cbbbd2e0ff302ba85d971e7515f04b0df326be2fd79d705da52e982d916571bb4fe30351ef21363976de2fd79e9f6badc990116b97fae0d9dd14c331cad43ae2a8730dc2b4905585e197073dd55d4bd8e2fb3606b20c260400aede00e136ec4aa07d167152eaef1155f979c3eebecb35b26ddf8ba85f6ebf5be35096998284fd13a0f34fea59dc366734878ce016d5579687601f7370aeaefb146e626deebb8412eaa1a7900e09b59f6beb530648f189bca6e9f4a5bc7019e948a48cb0a330f0ac5bcf78c6f50058add67bdcdcaafcb6575b3d164b7c848ea64f5691c800158fbfe30e2bace746b5861333e3d7411a65b0703c631986279dfb9bbd98fb72d29ef65deee3e4282eae6a53c410773e574d63cda3fc52d54679b31312a9d5e0b4a7c7ac0296ca1baf1dfcb5776e317963f93c4d12f3766abfe55515708e2c3b784e213a4564dd45dc5b2b25a452186df41acf76df808b281d54bbe2f1195162b2d68d2348fa5494f9979c8f55470beab5538ea22c61097e1c9432b720680d53b1419e055b77daa9557e2417ac5e3048b9552091be590cb270a9d8d44857dbca84d0ef42e4b3ff3c9df890e7adb2b0168146abef208de83e32857e9496449916561b1921eb9f44a937803f5f2bf20ca57a033c9658e3ffedf12fb3e0fa3cf3bac8969c6574cf766f3273d5b0c55e8196eae79778b1e406f7351cc504dd5ec4c0b9b235678bf785d64c6409a9a76ef56984e180707c6537e8e418ce31699c9299c5272bcfbfb1caf90d95502c0414f2088c953a9280164a974a22817082b2ac73e9e1c75ef2b33912e2ddd8d5a577458b9197727a54045d725a492992a84510092796093598d9ade4db52c272361c3d73b7c49b612e83cc26eea1d1da1226f944a54a84b8615fae9797da45a458918598b1faafc7687bbc2eb6fe3ebef8f4c10b543442baf4a62420c8f7be46b62776c8de5576255cc34bf45617bf51efa1f7a9c07f47849de0e66df82a1083321a06e95bda9b0c584701ed1724be9704b25b106905463e41d460124c27a928fb8e483a969065369401657e8d2932dddb1b2d3abfca4c9f2fbf55f74869626af223651b62739f5108c8217e3a7e266f2b2764c51b3a748334149b7112e3d5be486da2333629d7f38da79acbb6a3c83a3d8f4cf5f4690d29f4a7170d5be6033281029a179343e990e2069b7f8be678f8e369b92a7597892d5b417da3d2d7d38c261f2c3e61f1af72876e9c39f5e47c0b8eb153ff35b79f13112172dea58096a74f1216c8ec4462ba1d056c2ea694cefe1d56cbf0fc29350343c2108cffcc4d1d307ce4f156a2e189687a30f7fe0429e789c16ec219d05840ee206bcf5791b0b77faebe464936dcf09e1b694354b8ad623d644a94886e2b82e0a320b6ab31e01ea9e45d8779068f6b74896c85b943d83c407e7f550345465623eb21e44ef3240b4446eab576c90859ec1844378943ef0dfa7259b6b618ce65dc3d23423f3e4007b9bd0a38c7cc1a3b0e7e43b4dd7e574721c4c63aa7a031b96640c3222b49e5eb5120cfb687af8dcb29fc93156d8508d239a1ec06e70fd89ac5cc84ed98edc4fcb6a0f3b096fa559891a1dc78aafd9bee45bbfff6c01d374a86a8027889bb384604a93ac8af1014f3f825cdf6296ce48b2556a6ff931204158d365b09c7bafe207a01b1e4af65ded75ffa3d594df79e41d17670be3dd68e203b54b7b81ca2eb9eb3fde53f7b05f698b4e3e1a6aac28aacc68fc3bedad9ac4c90f84ac1976905d8529e91d1fb9f206514cc55adc10ddc4d385416aec163dc8c56489ed584423455dc0db33c49cd39cecc1272029d778bc60ff78c009dbdb6026b002ec3e005dd6855296a586b556b2f0fde124a73800d1618a76567dda2cfa4d6e9a85583946e2c23d82f3291e41473b48873ae38a1a9f3c19686debe64f5ae3494603b4da6a0ca5f12e77374c81458c9e4bbb18d954a4ec2bfd5f9af9155b51f056810b18e7952acec38334071dbc658817901cf38ed03aae604fcd5bc13c678ad1440adb1070a32523ebfd86903ef6894ea1560630b34c5d019ff412a8a5440fad62da856476a6c5ccf677e5e48a669dfb39d4111d720b07ee5413f41175cd9731e2ec36ac9039bfe72644334bb4619b3d176190b1e5e308f318a91dd10d3ce7c6ecb2aaef5eea9b569cbe83b87adf881356848f820408ce31f833a51ce39b2fc8c085ab38d639a680601585ea8df1a24aff919b5217528bff2a511fec557e32b34f1b8bc2d7048abd319d414a8aa675d3b5331bb908a900aa6235d44e73d6a75c2cbc8d0c1eab91dc07d062e2f15b81dcb82a673461ac08178c897c0a17c9ef4906b69ab468fc6d3736f4d0d08cac8595e4409842a540a71f1c6849b40f864b4323d202baeeebe9795a764d09b5c7bac8ef09acfefc6656bee79910eeea26f64851d8e7d4e610bbb9cdb871a438a1a992ae76ad13c4445321a993e2eefa5bbd159adcf45d2bd365a058d645e640515e41d3510c176e541997faa1f978ed7dde142fe4e28a08e0702cbc8c5c4dffeaa7aef7c28b1bed14cff5e2ca5fe9b1af70b4811b252818d8397faab2d405d8a52d32b68e5ee2695876053802e1b1f78cd5088c05aa58ab0ad01cc59f3085286336bf8c20c3e74e788dc4b0803cfa0b251a66b2cf69792904b5cb21c9be5186138a0e4cf13fb45fa12f8fe8ba5856ded45289768464ebc6aa7824a982859372451a3349607f51c7f1537d92d17118fc0adb1b9469ae2feefe4eff1c04ea2300f6b52301357244751a2708577aa8563a842146c76065e2cd41cfd341220647d8d6a57c20b642dcb7d1a7a3e02a2f6594befd49ed48a4a16db5f7c30fad1a5231379519e078c45b3d5355a43d2a618191234640e2ed8698ca1c1c643c3918c7a73c6f21cc77d9854c3fbb12c5dd2920d6deda1b9a50af2163c3252333b2ec6794da32f874415877a93ddf8c6c04f65ec05350eb3542fb25da9af33002f40950e6a6495d35c313ee03d11409c461af9998b7243d74392dc96a97185bc6906ecbb4757c71ad2da3b1db761449111c15636a9ae098b8f33baaf20dedbd69a26b982dda9e25236691afd133b64e5470242e23e918fea85fd03f2b1cf172870f8ecf13f7689e592ccb073ccc9bfacae97e98e09ef56dfd8dc15a61eecefccc15aaeecc6fa74bcc452a725aea33eea77d030e23ed1c6491e186afb24c03037378d7b4e66c6eb6db5943a69b9b0de80c44ee33a2a711cc129a59ce0a6b2c5864c92c255570a42913457e81042fd90e76ae92976e11710804ff03eb99085153b0498c9cb5a455ed9c558c8c9b8662a0963fd54d7be9fc72d00518b8e52a79077c10bf2ddea9c811aa69ac5506e6856b5912a454935bbb756796862ef1396d508d25bb05bd1c064a056947d29d7fafbfbabffd2cc571fa1a97404142057dbb9d4c89f716bcfda33c2e3b60c6b6a2418efa4dba863feb2f8c9e8f8f1ce46ed252bf0de51916b98204fb07243afe9330d5e9c5ce17acd21f666f6433aff5f2ae1004345d27e9ab3cd59c3eaaf4d4ca41a3b528810429b0ba5daaac44446de1a8919e8c6a15d3c4d6c7631f8226e01e9f4bbcf6a8d438ddf80c286050187410cc8dde68fe19a1b2560ddfc63c2b919ae0d8469ff17f0e5d3bd374679506d7e114dd07f0068b1d5cba1646e5b62e25273e0ddb42bd976d8aa6d1785eedf2685df0a81aa1c7e0de1d228dc2fb9046362bc8608ff1ca4f009184a2ba822222ef826bdc021960c953f81ae8c355b7688b9429a904b8482f928e91c1aef0442e6341b379e222740e0841015b42f197e1958320622323924172ba766140dbc6e165780ecfb5255c5469ca171475fe61f7afb84c2d6be1ab96de6f2da9cb9619a704c56abf96fb747755e645dbe5b464f328ceb064d45fd2717c98f6e1d37845b575f1137c422d37b3a67d90965cc18d700f34053b368020cb5b3b92eace92bde0e944a0847c33a08002ac5860cd120b659564797de6199abb1a07a69a685aa697d28bd6a68245a2390df0171fbe569b866ddf326be9140fe87e1f3e78dd0b580514de7c49df5673bed7d0391e12d5bd153504fc34c02446192d7d4a8f15aa1b5763cbab6f0bc2fc402baebf9873d1a9a0aa8550d0652b4b1d9ecd32177e6441a53dc12c9e834e0f93cc3ad169c1aa71128583752971f8602701b732e2d4e2fd903cf08908ec9e1e58400307152105d79865c78ec6d6ec8b03f38056342543496872589ef2213a8d6558c3d03eb51678ca46f04179a567f182fe9abec97c065c757d4c60f82c0093af820af9898a3080135ef93825d6d44c968363e1c229a56454f80dc9cf1bba69b949f72b6b2fd540855b2a84a193f5df8ef3feaa2e56d7c3bb15414c9d17094e2e1944e2c3410b60c4ebfb7b6660c65a43530a68237c94209b7cae2d54090528c18c4c49ee9bc3ebca088efac72ae48f2879497db66484787d433776669da01d0d307cd0109ad08b35471f4f2a8f7bdf8f5e3ee0be5b29478504158425a5df08f8b825ce5c120f181f139aa498cb3a90f17b3a4ddd43b6a8e35c948b8910d4d35e2a4949bf4500e4c11bae1387127deba454808f08c28b465278cd12206034f831de285d441d804784421cf82ba03ec192606388fc619da52435e928d7482b4f263549577bca42d663c063c05cae2f7a0555f72484b0915bf7c1fbf7b00a7a409a205a289449b4f21162de52259f9d36b6d418165610de5380fa2613365088f3f70e03a7d7f169a7c509a631894410b39a242bd8fcc69903aaacc65950318ceb3360586031012047ffa47e509f3c63557e2092fea812831734abb2e87e9203f1467a9fd803b1ffdf4dc4c72d7e32806dfec802a45b8e79fd107ef36f138c0a1039ac2961f2d9fd65b094b3638173f48f916c29c5a88c6ff3234fd60e9b2f0c39108e814b660b1ee02da80c9d78fac506961723d5cb9b8d332ee326a208038c0f3779d990315d66e132fd8361a9ca35a268665a5987859c97884acb09e829c0fd2ceb2ab42c9a7abe6930681df7fc0856aaa2f8b928ad6919c1abfab30ea4d0f50e19704dc64c5cc06e9fb87a78ee3c1997a27da4355c06c06b81f12959f2efd707f25b479f602c36864d55869b2e14bacf575a41a624caa169e9615b327926f55a5d2f662afcd669643c000a8b32cb11a50ee8c427d1898e22b42a1639e88d2d98f374630ef8e2cba33a54f96ccc90d4e06e52a58fc4f4155392596b896def17074c2fd5cb734d5d435efcc0f49f9a437d632ca89bf81c5a6a2002a9bcd4e9f8709f42671e1e87a9edf4128fcae79c06fbefeff65bb90ec562baed95982e5ca7dfe8000893f7560fcaa8462dc62d56fce9e63807c6c19d23b75588ae64e0ed30330faf09d75a7200fd42cd1107b12b058a767e8f32f9667e59ccdbcf4a5f2d042e8083dc7d6a145302be7d024dfa0e82c00a1135a0fda4af8398123c2aabf54c1ed07fd2d1ef75791b9f9d5dc2daeb76cb6173de9486c216ec21f34c33cccbfdc1037be52aeaa01248f2064200e66eb206465970d8acbfa04e2d0061d9d028996f0000d82f76f4cca077fcb56346643b38655f2a53ea0d5eaa5fd13fd7177959b9c7191d2fc88751986601f96998d97df035674bbb91145dc22e2c678788b694af199bcc2c9df9a9c94f23a6944ca95fe9dc33f5d7e419b933ed92797a4077c6eb527cc8c5e9e0791f050478f37fb5d46796e8b219a878d28bd0c268a85b855063e128e2c47d1698f35b63df70e8a2db47c055214aae7ebb4661cb3dcec20dfc8557d1a757249145679f840dc09f0a8a3cf3e493029fd329997dfebdc5534a32afd59011d7a85431fc7bf504c4ce72f9c5580d2d3327f3a08f86d941c07f68cb13ed6da05c228555825032465b65076d9e480a612cef9f9c148f88e63a3473f55d432e4259655df5e0d728357e1501a613ad9116f20ba2f780c43c883b9ac2c7a73022a843e30b14e2cdfe00c264c90622dc097b562bac068c390c60ace14c0b75205007805df59acab05ac9c746c8f5de38ef4b3ec2ffbbefec860f3887f51f3c98c171bc92c7ac2cedb933e534b3bd80fc4b2e07bfe4b64de685bce4581e8a27dd07be34ee03380813427f056a949e4392170c7690862237c847442b5a63e65561ddd3a0f8473e18dd58f487a764d00be50ea93d5faa43cd95e21764e52ece41b44e6dc8ddae2c80c0ba92f30919d381ce9143cf4381327de8ea1e3b0561cde814764a042f492db4123a85321f07d6d70528f0887d145aabb2c99b0898729df314aff83a5bdabd4a56e340c1db27731a210ad011c970e81f84d9020615b1814ea82ff8313387b00fddd5caa739f05e2b3c09181374392bb6f8e279366d026c2c9dbc0dc2239c098230e0323ee326eab95b0b4f3442e3d743ea4f4f2126487faa6a9a4b8d843e0766b98e2d1515d742400136a4485b641779805c04613dbe0ad4ebea6245cbbc06d74f3f2544ba7f0c36c807133e5d8dc1e99e86759350cea0d6a1cdf51389c6ac3f755936e15ef1629357b339f796c5b0021990a803dba415ad60c2c4d493d56dd1d91ec112f242232eb49fd3738103b430892cb81a2552fcc625fb8b5d4410604696444232f594732104bad3116f49c2aa1d655cb096c7a3cbb2b62fe548833a0959f36e4af088f38c7abb2e2d192f37fdf3ea1424d2f4cfa367e25fd415b608e5d1d46ba13e081b1ceb8bdad6fcb16a35db9973a1f8f57de1a381d532e81bda0e52362a4b6ac409da0567d18839d47d310562fb6c869c92979f1f353884ecf7b358b8167af0dc0b52453c5edb574a5b758774d7b13318f2cd070f7ec263ac18959526769de3ee38e031e24eb9ce8452affb319cf60966e93fdf2b12ba139ee6c3ed7c4f309c68f399b1a26c04332d0ccee21edbaebfa8f18a04ca237f367db16cd23e6ae0f8c5e7b66e350006b049e28253c865685c7e3343fa4d5d4654228ce120fd74edfce8da1a0f24a2a6c1f0b50a1454db08e8be1e4ca4e652ff4178c820555e1aa1fab63921730c0b74606d4bcded2a30bb4f0e226b47281112ec92415bca1e2f1143b5382b508ae07ccc1a9b705881e50980f71026c850f517293a9390fcab22a091d43b663320339cdae7d4072f220ccf175009bbecf060fe1ed6467b8dfb9f8f7b9ec3b6b77ba15a7d4a9c7d5d62e8ae9403785e5d0a2ee1c13a9df5d977c26d1d38fe1b189bc062ba2cbcdff1b1a2e160b5a06531e1b756d3fd0b110e8c916c03584ffb4995d38aa5c30dc9101a52e7989546d9d02ca2f3d626f5e5258dbba746003f724d16199df6d9a68d0812b5e67eb654f1d6ed5a80336bb8d6a0bd431051d0014918962a8620162ddc7fa2f42adcce304813818973254e0993f26bb1e3af9b471d0502dad8fb120ca2e9db78b51b7425887941fc87b3f68ee6fb478ce563b84bbccaf5b51519ec3ae71f087f81f00aa453d181fc3898d28676f2ea6a8d8d5ae9e0be9b18654c16672d10acc1391f0d1a5aa710a3f27262977bf820c25c1f96887a73193fca01dd70fead966e0c1c70031e841953afad51da0d30c61ff58a4dd951a07a2958d12375cc8e10394a975c66ab0c7f51a0f4f7712569d5c9b1dd483d4fe12cac7b8ede06b2be2beae7ecf917a5fba27d2f887b5e08dca70d6055e4d80f713725200fc15a3a728b7402567e2ec727f8e381b0408200a723c6a00f0477b68ce5d1134d0dc29493653e1b83de2781b07c1791841bd06109cf25e15fa9fe005bd83fe107ead6ba80a7fd65c47dce020e6446046d2587edaa8fc8a17cbdb88274ad30863fcb954331e9d4a08e0b0356de6f29e9893b8e7ac8cdd7a228670ae0be84d6492a378a4708ec4e5929bd0f6160c1f7ea725cae84e1e9cc8cd2836f782582fc13edc1e57003b3ab571d792e5ff65b11f2c6cf27e0dfa360034476f2bd71b0bfc2aed7332de5bb22310944676a915193bd3321802cece8405f62187a4df7fbd1d5a9ab9ef2330ea0ee56c031ac644a2cf4dc225be550966cf669ed86e513ffdab31f02c49bbaeb3758ba4d633601a55f278ae0f560232d859ba1a53c37d85ae43fe98eb605f7aa103d1be2844f09d5c277517477f3c021652aa57f30669d7422cdb18a298120b0d288d1b412d427f816ffb6f37e85ce735196891ad33bf539b7af4bd2e635079d123d0f25ee12e9aef0f5bec619e9dc7c150ab38260b9e117f9e6a1683bf2fa09ea4508891c603249941ecdc4cb0d217a925c3c44c35ab571616a6d9ea423e6e39f875672e699375f58bc8d0532d1d705bd6327295a14ba08b1c951f8d92d430148c6836853a686bb4fd50bea981a2f6177317213311d88c3161525c4edd1870d7723d50e0f5b31fa614f8ac34346f34b82d71206b2a628a8ff79978b30d81059ac3220a9d50a9780876ca8fcd750066151192522fcce6b6097a51e1ea0d2be2a6503fd92649bc478fc4ac645cd90872a78abab4cda8ea2a09a60b260b822f5c32b64c24a84af5245af8f21b529e85653c3c9cff81d7025cd5579a05be380e2b2aa7fb9283938c8a88fc08f06267bca6f5a0f62a1d0ef5994a7290410ac49350d2ec69ec63c774d3f206c0d47499289c0382c48e95353dc1a00bb01d75e802ac4de440aa710c2442dfcd44e72ce6b7781cd08f5c2ecacfe1ef2c565e28acca63e4b992cc8d6ba5e60636bfdd051689517784146b377eaf5bb52323bc51851efc0f8e4529341d69700c18636b34cd0fa2385f4e647587b745c8a946e00eb6cc78a86e797c55846ed46ca9bac8f68a7aa50793de1f54c34ab441e87ea3346379d0a98df703dafea6e52954b4db940575bb35dd4c80c1de8eefa1bbdb88196993ae489ce90fb663fb5c6080886e8a264a2348be3e2d720d00ef3c7a1a319f3c2ccb634545386158b7f0bf380fb9f1178eea72879eda3fc21a8a8d3d81fa6635b4e94e0b4e439d98f1893b056cca9b83fbf1e8bce736c6990986d1b897c00a82609d698b47acd53a4fa5efe00903445986a0f255490a9a4ace472c9f90024fa8260c36d8074a4a959474ecd62d92897b1b4fbd168d720e0e5db0f2d40da394ddd6d933836e52ef965071a67875b9b7f884386bdb1e55fd56b3395365e25c951705429ebcde6ed83a211672519361b2daa3c9024e2b7f9628e6fa594c8f0c4636cce81c8c9d84ae777d7b9b57b0c9afd6c61ac99178bba80356a1451d904f77c60e1f719b4a744c3de1a464009786192340f60d1fd6159ff54bde713302c70ba0a90fbfd633813fefa5018a7307468983c1d552edbb84445ca065429e44ef5bd459dabd64c590e10a27f024276f7a54105a55fe0ee93472f8fe84388218a96b53e5d6bf77a1108a4f157322992c2d054f8a0bff26b072424c9ce2882a8b3ea62cfe67f282d8285076df6cd141ee1a381ed46aaf690054e148a89b8a5e43cce3800523eb2058195bb295fa6c24cafbbb1981c007f69ef0b80716bd8e86f34001587825656749753f3e62bc7fcc3b69ce503070c537fefa08978a332621af0456c56c4d982d5deadc00667019359a9586234ad61b631701dbfb8619397151740d64c65ffda06b80e97e52a6bc7099f58329219574c8b9d68ba91f9f889f8d4613c1f350f11e53ef01ef82f6a5e3b9b59f693f365fe00d70cae56b81c6df491a36ed876f24bc0c24a84a93b648ffd1c22a16972edf31cfcb44a4589f5eb826e4970942fd85369e20cd1aca4a3236f960c84aed4b516b10fa276209e8ccbe021785764b8a2cf8d37e4528d7bfd87c71fd8af54f833732a697b621c20bcba254e0a13de3f9e1b3433135f1f329dc8406a31fe37ca8f71a010b758910541c3963c83043a73ec896d4968e08843499591d9a9a454adace16ec6880ad8e4bd2b35a84e119f652414796bbf4c7da058c907af8521420c583e2d8c2af6b7b3a1b665891783cbd3b52f2d137d1a60a286a5fe863967d6c22eb3ab9af5baf49413b9b4dbe8f56bfad2cccf70887b385637d48970c315aa7a6d4d0003e3e09caa9d7798f5f6184aaf0a8971107fc43af8105c1301ae814359f539e46454077bf3f1c46c1289cfcedb2b5a3ec949cf104121a801c87d524f05a17fbfcc7cc6144f229710120e86512139638d421394b5ec37b2f8e0f679e3e39dc6540e1e02d2d8e8e2c3d1f3fcc80a073c2b4cf1bcca111136f9ad48f70bea87e801fb8271c9199c271ff99102aada71d487e98be0d5a749ad818029135f8ee45956995d9a1f9236486599d8e9710b3b06d8361d473fc522318dde3664eb236872eeff676a8b48be622589295f008daa615ee45818139383b8c3e08c0d363d7bc75f8018cec748099d7022da1236420b58db6a393ef3d8b44aeae45f01d959aa88b981878a2a01e585e6987362a3071c963f709ed02ab677baa0a889de726083c133c39ec56651c9db0b0ccf320180bbccc688fdbe40ebcfef7765d0b9b4821d6dc0af73742584c52ebc7acb9380f42667b05e54b0966edbca19968092510a341936a4ec50744ea93d72d8ac5f3c514aa8438e1c03868cf7df51751dd117c05e222b4c8d72236225affb8619fe6050d6b8d77f78f363f8d761cb05ea27da239181d175429d07801a71410dc0f6e84aac017455d6cc2ae8e6c4c3ab30a63b2166602c06f8d3ff3b2d6aab25d242033f75a5d62fde761b70bd605d2cc8603d1b514fbdfdf1f029de90239a19861f894eb00c9b174dc098eb84729dd98460d735e00bccc42f8f116b11b2a7863a5d613cacb629a6313ab4a73338e109994642ea2d6e500bde2d7ea6b17235050f6f063dd18a510167e717412c99ace68c8e8f36ff6402a11c57da4a0c6564fec318cdf326871e0f8cdcb4aec9eb879bf0782df008e1ce691272d44b69016ef9863d5474f03542422f7c02d8c6b6c29ea6f39139e066c02d59740c49c2dae1b280bf506d5e61465e6b18edf53efef9d0d8d7711d8a0fb8fcca4f2caa55a8c6903669f894ba203d4f8bb7a432ccfb7c5d3f4b2b7d53f80b9ac16fd252e588e91d3800c3fb146920cb2e0d1ca458a875b61618ccdda47473a8397b1d7647604dcd4bd23c23b86ffc248cd585a4c8376797673c838d65b3ca9a1fe3f6cdb9627ad208d35ab9244a1b7d0e924afe6f81f1507a00e8e694ac35c0d14157184b44b5f2eadf9e2b348da5104dd016d832095cde22ca578612a3256cbf1b15a906041236b542ed3b6db2c95926d35b8dee87d5f82d959a5550e713ce5eea0f822fe600422166df206f55197937f85912ff346002ea610aab8617e0532f94292b3f5eacdd9b20af5ca270ed867f8a1743ee784f42141f816f65bf9034a2c91aa1378844db4c4146f26a95f881b80b8045eb3c09d55fb6dbfdcfa5faf7ada7ccdd54ec47b05bc07bc34d389bd01e8593fb83681510c2b06f273a5f7152e1c5ff58316affcd9ff06d63176f70aef87cb9432e910ef6fae751866ae6e70999b0837f1e85a8da7e0f1033a6595ec5ad057dc8538610e96b4004ba4666aa3fd787c484513fd3e3b44731ffe7319835863888a8f4f8c2e4a12b77144c999f06c1fbefadf369146c05e947340b633331238fd9cefec59592ce81c2b46c490e228541ec02bf8d283ad38ada2e662f253497a3e86fea676cb12826631cdbbfdaac1cc2af48a7e6cc5a9c881682ee072f28d9f26049df8c1f690fc75781f2816ddc80a6b52b546b2fe61ce4a3243f6b1e34ca7e719ac08bd502d44d570d8deacb026cf0cc5a0323bfcefdb91546887e3289ac4eb2244aab398ea4dc5b32e300df98f2066390d73e38f3d10ab20e13345476092ec03a9151fb605bd749c31c742df5067be3c9f06a066b09e0e16e154d51d08c3597e8bde90a032e746fc658b5e04652e4dfec193621721ad0e88cb7763e239448f0d668757e07061ccee7fa6d08de3716c4392b15fe52e18bea68eadbe8f2398703fd01dec3d19048830478509523d2b62367c02419c5820c208f7d61ff38ef3b6a381e486a5c5eded26428ff3d4316fe45775571e7fafe06c35410812a66dff40558edb3c250a203f0fe201e4e0fdd90443998fe6bffd8baa73e98893b41d2545aa126a22028acf885b98c646227fc3391f7424e354484eb8b05ea228d6e8c2af95ade1f624a0533482f765838dfc71c33334ca1d112ed833ca4150988a41dbe87b6b6231ae42119e668783a7f545a03144d2cefd41e8dcfaeaa87810f8bea13625407d6b21f645c717739a4ccffaad39b8440b20e3942fd9e0e7f4c2088d0571a4a0be0569dd93a3a3b6fb8bce7d45f696f61b0a5c59c15fe2f59b4a81d09950cc7dfee0be0bcf93bd6865aaacb35347841730a9f717c018c904468369495386163eb0861e313961fb7009e716a4af70a271369808d24eaf8d7e3902784a70a75cb511309746c679a20a67785b1569818942ba23793c090b79cc6037d2bf16b047e9570f87a02bc17c78285f4a06182af2d6c452342030a891677f9d8fd087f498b4601d1f1eac2687fc7ed9943c76a0571e73d0e1d48458a5f29c6e0b45834d05b2923d850abe7d88843d73ec3a0595a48649079bd7d81ef62dcfb3f7cfc11f7af16ab02d929610ccb29318bbaaa938158600e8d8be416786e0bfe81f9874cfe85fcf386bca9ed02a7e2b5b0a00310c8c362141192c0892ffec8277978bfccead82d63fcbd9db415c5829292c0055edb50802d41c9e2afea5f3230075c8d5b119a9b1af18dc3e419ba58ffea8d3333d71ec2a0705cd343a0dc983bf7aec2148bb205d765b2f8124ba03c320d61733ed7440b70b0f79bcbbe8fa7dab423558d28af82e5d5f05c258c53c1722a385e05c6abc3c086aafa6b77927f0d72dbc3f9cca1dc3699bb6dbb2dbf3929a383a761373a5afdd032967954ffff5219dd53a1827ec4f64f5532047632b92280515a85d3542b7bfdece10bd20ead0294ea1b8699e17fc557c723e978b33449fd3c568f7f8d1f23cb40299796940808cd2516928519816e0b5ba97ced47dade7b10625010a094e139fd14fc6e4e5f11842813f4f4dc818a49e15a50eb224f26bdab0dff89d7a79f8095539ed27863a0cc3cbbce2b139d3ab117fcd6e3e0a463cf93b44abdb74e05e6892bf4948879328b9e98e866829f82809e6e2270927156558e3ba4069fa70a439e64a5ba37a7dbf0f49a4e3eb83d746408de09ab6febbafdc74777112ee27d322855e207696628fb48a5cb390338ed524419b857c7128e6917a3db19d579d68fd4c9cf1e4ad891f6437cb987935f180da876d7115b031ab0e6af64cc76ce03e5186949a5e5a68ef2dcc72d20792bd5b90575517fccfead60d40f506465101d0ee1f16073bf34c598bb8c3eb2164d299d0e33066a8176fad8e4e07d4ac326d1dee0a14367d0dd589360b1c0b0cf8757c98fc7cfeda12e4c919817e6e14e2a433c8ffda98e4918c988cbb69c06b6fd7a04d894788e81ed270c062208eb88704a20b3f753aa279ed16d78efff2b247df44623af0291a938a7868516d260b3f215869ae1f176dd750ed44b206fa8c04f3a10a42e802dca8dc8575ea3b4d4c27cd9f719443e859ae14e1f4a1f36ea35dcfb7b11fd504a39ccc91f77c7d213566b407fd0cfcf08da318a1082a2cb87b2a58b1558d3737620b34beb80c929df50d1070470fea400b0bf19fe84b24ec22113ef49a6b45f99acba4c8c61a60c5a328000d29e27f381999cf5ca28134814387cb5260e238c84a10b8435ba3155c82e62cd1a8b2cb060c9fab5623cd62cb1c68275bf0351cb14767395521dd9053937963b0815ae570d440672e53a7eeb6be799bb975008bc6370bde4302edad78d8b73c174ab0abb79a5a3f78b792d16ba435f80b322c96af1a33e7f9d5dbb9cd404be60dc30c2ea54ca92b74fb3917df06a1f9d176a65df03aa2265091cc60ecb290fb786832eb58dc936f52642f6377fd4455014c791dea8537002631b8ae6f25715288720adb0d37414f62bdbddf869883917b2dee369fbeaba5779c9ab5aeeaa6d2e09b3eef31922176962728ce2336234c4dd8adbe2a8755d5dbde281199a66916bb647b6ceb135a844e2285cb8b837f00505c86a12e1ef08da9cf090eefb21909af485b94592a62674b0adae985d7f23dd925fce23b14f0e7c51555aa2d5c3b64e7a1be44879a9166240d8fe0b2b3c5d02c3edcee7360ab244752e5145d4b8c7a0efb4c63c28b0deb4e03f670c92595f36f70766a5da0f45363d2bf680030dc27521c0587e743b57dd38c932ac2c3f779022db8e231873cac7083158029aae9495af08a46330ae2cba263eb76285b1c700790dc5073bd47b101bc0b76876ca6d1c00df44282dce1ad05dc31c54c8fa5dc200ac704ba4a231df3ab220b77a2086feb93c07ae50a4acc013fac717617d8a255a776ecd55838e38ca807a690d823400b56623938671aaf5dd31b7bed4d4ec934c36215881a1a80bd0af74d4e6260f4b71ca40b7c7d939357cf0d9b4618aff81d24490029b3120cce4f25bab4aeb1c579ddaecca3afb0295450f8a44e44c5aa1a7ce4ca1ac0cdbee601707a3646bad4f3cd956dfac2b396f8e153a0aa225d42f664d5e4853cb709ebe87d4a6f09bad713f9b79fef1fef2a0fa4435c03f1ad6918d3380f9ecbf650af70aa2c3ae2acd5f1718669850e218c6fe5eb0647817250fc7fd344394ae86ddc2714a9a897e4b14c9aa73fc0d0284ebb4787e32bd02417f0f0ce75fcf8bf47cb137c5aeb7d7ec16eadb44048965f6c94e1254a8eba032cb6ef878b0369016ed858a251af2445b459cddeeabd3e50cb1de396edb955b7175facee1c89f28a8e15fdf8df3d09b4c381c313d70f7fa09697c4cef61b95ead47db44b7b5c79a00343de63bd4b6cdc2c327f94d850a998b086aededb2064a4709d3df87bd5574053150e4506dce604e59acde21b08843237487a137aefe716f431e5cc2399da1b1e400f659fb464eb5894f70fdf569bdd677d22ef4dd2581abdb5d65bcd8980f2e267f719f1eb601d8da8cd9627f7750aea7afca76682e71f44c5680218a36554427aca2141cc218ee4072353b1de363e95a31bc30dd95138815968fb27559611db141371dc8e9018a104bdbfb60d50541b5a7e7cea14001119cb8fd45383242a5ea513545f3b4f0049edb6e999463344745ebe10eb809970c8b0404bfeac82d2339edf268bf4c97a1e273c14254caba131fe91fe90ccf83bed817acc8bd322eee1790b3fabd3925581d6b48efeb237d6d8aea4c2693565ab92e475b037b96ddf944738dc28a3a0352d7675391dea8768286990dc07b53f4b355f9d1b51ec8e31c5156e1d6d7db33cebf41a247911f3a72245f2454afad391e9bfbc14e6e2d8666a60d2d407471dbecb6d9061ae4814dbb2a3b91db039b8cedcfbaf322bd3d37cce93a223841f3565ac7a65f536aedb6c502f40c4cb45838a7e7c964b4a214e23eacd1248a164389c0519b07eaee8f218ef74a79bfc6bed882a1afe3a34466d6788e305a0b6499da759dca1ac84f39c83908219bcd0145f5c0abcece2428dcb7e3364325d056640f3aa85924aa8cca6086cbe583b9d9f74f0dd0ccf1466040aa3baec81fcd59451075f56fefb0eedb815f230a3f96f15153623efd283f57a2b422c46ecb267e396235d7e188f510282e80b6070ee0f728b77297cfa927c76cc8d774e256caae1f2a03cf14fe4856bbf97ba174df04d7b1f4cf2b7e50e333fff2d0ecfdb43fc087a4aa37a4a8aefb66fef6468b5534e7435a91dc6de4ecd652f0ec3f8e93ddf28f37b86e1c74ffafd0ce02f7bd99f4244eda6b3563d5d0096149e6a5083649bf38cc4b445375145d84057ed51d993b9a2171af32a8d2e53434c8a79d717559106efcf4d93a2990f1811037402c789fecfd1f03f93faf28bef023538d022d0593e702371c3b4d0d5142bc5d857ed0b0af8ae1303967857fb0e59f730d433aa2c40e240cd80bd48eaefc6ada910423d1e59e61b256e6ac83139cefcc18bc4d3558b087b6a91562867e7203c20443ba907a3daf3c12c9c832d05bd28184908684c9b1219c80d19f0b1acd162db608e48aac8fe3bb01c120bcb16aec6f455a0de856d918450687ffd17a30580ad714cfbff11ed702a9cdf7ecf61a96afa9b59c6e268be8729866cc2294df8c30eb9392c7d392751c7c063a8ad6266904bd99dcbb109eb2f11e5c2c9c8a98804aff69bb07ef75d8682b58721a50762d326cc66a55fc349067ae894103e43f89a653e7ab559873ea58c5a96a4572a289c3304e6e6030bc4253ec32117f0a3498bce7a9e0892162c11c470ffa505d1dc6181c804cac2e9c665cd4c2f0a5dc1da27f8b52f7b0db57a49c95700683142073273dd3b644eabe68882c422f1bdc5157ea7ea8f9767f60f0618ddc63f7a4dabdf982a05c9eb35f2e75618d14f6c30bd6fba70985c80a10533a6a147bff2ec0aaf68f9c9b31c61963c0eb422ba25f43f3fa846927721fe16481ec235f26ee760e5314ef6b3e5f52f08d0845e66c94154fee2afc89230e7b42034e49732423cd751cd716f6f6bc0c49f2eabe5a10fcbcc641e8b8512724e00485a876719f15aa1446eb265be624794f7c69697b3eda87023e224a6d2e16d89fc4a264a2c10075ce3e9abccb9c2e58c79a27c18fe9f4ca592a014d0b4b8b254bfb509da8d1c88fd2d232db38c2471a75d140571ad023ff87d19d5f1fc71803b2e20a1c16e41206c740502ea5c2f5ebea68b03683343a7a2713f6449e143c32d89cb3da7a66993082efde9f17a506b1aa11b18fe33e2b67dba392548da3dccf9ab44f0aaccbdd081ed15bf5a8b82f2fda534a923661d8eb5639335539c5997c126f7488113aa72f0a8ba5ed22da1750712e24f40628c8d5845a6b4edd32b283ac15979b90f9000f7ff8347447a142c974bbb660beed0db2a2f8b9a8de84f0f9a84bce1e0902cf3b28dfe5245d3bf0e3913b925a7a4ac4cd130aced748dc678a6e314ad865cdfc3ce6f5ee9d58493bb845d445687adaca40e4fc1cd0c8ff08681424d00604f5db72b526b770b413ab51679fce6f3620c97d08578d2d8f6a014029f907f79925a4295e7b2f16802d894a7d7fd15d21a2f781864fbe301aab8365b96ef543443ac2da53c2a56727eaeecf7a9ea671a95424cc862c0f2fb8dcd9e7edf928eb4eac44836e3be74b5820e606e90dab8b33a2586b073c5ccb64a0a5dee1e33582c0f4bf4da96785d9374a247193d0a469ebadf273605c14e459a7944d1fc8a6f02858b53e3a9952fdd9ec1d2d5b705a2ba542bd1e1a3570447d59b1a93d0be4f3f488f8e3234cf8d1985b8d568488f6b502f0f2027efcc02865138d0d30a1eb11780df5e402f839ad59ab9e683e7e681baf82ae0545ae8790a4971bb775b0d03ea433149689231216d92c9f6d7dbcf51435d0f06fd3abca5ea46ebd00b0bad387bb5267cc5abc78dc94ab30abfac4cdca450e043c7653f043d1580d2252b6547e595dab9a6722b6d839b36c2e744ef076f29e21f73ae7adede03a087f4868acb0aa559cea78f0de0528aed7f0e286aa67adccd43aca4ef54aec580d9930ef61b007e8b0b7b310bfe597432acaa2dcd1e3858bf8c9da4a6b94950a3a02d9c5a6115bb12ee315ad005fd30be2e130fe65ddad49b9e10a77d38696c8c832b4102c1699a720328f042fcf158282e27ca6bb7549ab5e60b6bb455868b30e6851def887caa9bd58ac9fcadead59d3fb6d276aed6d8363eb47a16945fdadf5404150d45cabeb0445076320c06648099b2ccb87aeec152d093f510b061dd85edd57d6a1d153430dcebee026cd9ad365b7ea02266760972d77b49074d59b359957e2615b2eca6fd895b7eab878e5d91e5fcd72ecb7b0d5c64decd84f204673ce0aade5553b5ab9e0eb838ab7a826a6b94b2cd8b145de243962f551e24bab691d9ea482f5e98f80e694640ec05fd27cb2b091466819c9309fc5404a14491a4eddac3d878421d7605c06064a1c04079bfbf19519d5c986531ffca5de8435b9c1d70916e177fa5969038d57ff1c601dc2f0715087d838a4945e40b1b90b519cc56e46fde687a68eca5b03c71c348262ea729328c8f3c8838943c8a1d6fbef287534ee27396f07a82e7afd84360f529b7bf1783f9690016f3c99c0613155db3026b6dc4e9400c519d7528a51512f35a53bf31ecfbf23447dc7c77ab260f5e02d4bd46ed18d48c9e0e52dbdc1c93fb20f3880876d83d3331bf8ada94d7300b154232cdd125b8f589ef47aa8dd4e0a8f48526886fb21c31520b5e9274ea36dd36220dd5e4cdad929da69a756c44ab38367113637889235d744cc118318c908d3d263a19031c2d72a9bcfae760d785744a9a541b8b1a0471e4e491763efd5121e0d35bc58428ba5ba9763efbc01b5f4a86ac781480484ba2395485703ab1ad87cc0dafa1a2c2b64acd3919c3124c240d86561339b1934fab30398cde86394729cbea41f634c5ea660bc8af15823c412571608ba048c515f2021dd4784171af9f199054604b361b0b8bee375b977431e4c1a86ffbb52ec484a7517dc1cf7c3676b4833372ed5ce3edacde700dec147b2b1d84ea5ee45e8e0f2eb6f5daa1156e7e7d425e6ca5a6ae479743ada2544c4aade0ae20bfe95dcde0e0b305b8ebbccb7daa31eda572154c63cda67a848b7672849bd401680fbae33844384816ff10097b28f2ae920a8004d84e5aa09f6f515ea15f268fba362efe3e0475dfdc95ddd68028d936eb0bae7b161d38d6090508de47aa1b13b3c6a2a3882f91804920a9231ea19e3d2573313683e84f167acc31803684bf81bdf9c13823ab6d5048e3d4be78ee3df52e3eca8317162231cacf74dc4f406d67b9a6fe4bf58d96c02c82fa197c27bf0afe2d6b954b7cfcf5146c08bc8694850164cab04804fd28b8262f4f1737e4ec0b52fb82bdd95b0a0b08d04206e8c8f1e1e35dda683de15730e5bc5893787e2ed562f38cea63eda68660e73181526197df6efc0cf391320fabd96ccf1c91273da338b24b50049034127ee6293aa9722a234af28fa1028d8c28cab3979141fd8b2a7a7a080d1f9667be6f2a91747a1e3ca3f11d66f5a59ef9f354750e68dae8c09b48bee532ae4ec5e568d66a0696074c9658cd46ced2920ed4b0a2b23da0c8d582b0f47bcf328c7922f48ef03a8e7c45287f5ec7bae20ecaa45694a4ab87b59b37c0da53f600e32c8db881123d16c09c197923f205e7d506b17d386bec8e72401098164779aeac13a56c9ee6a5c1a2098fd69300808508099b91b29f4d43a2940390f20cb575236c4f757547991a941df738b058b637c00e53f7d93931128994da52e4739e8495a39adba4ef5b41229f1d60f245d94cc1eae27ad8bec20e4202c03f144447d97c97d75142301bf558ebe046a98b46345b4cf48819ad71b1cb2f57386f1d7b27f8c61c0d26ff864ef4a5d254e58a5feb8a505db0b9c569b3e956579f58f4a301d518681d5dcb96a8301d341a7dc7fc76e7701bc87e2d7be456e234e48e345486ac3befa5dbad6bfac317d217472f12b599a8bed8e9092f5448b11aaa86a4265382ded7c96cea228ce34eb1669580076c380c4bf82adbc3408174001bd681af3236eb558feef2c15bece2a175175bcf94bea734358e7edf91cb0c94a5e4c65f12ce9a41186428f6be9374cd5a1656cdbd295d8afcdc43665f2ebc33517694363abfac39d19abf6732d98ed7f5dfd460ea8db1f9a65ee4f7f9865cf0fd5218e67faf1edbc0d0111fb58bfc5bd65014284df6935200ed6bdea176b4f21d0c802c3917e19c591e751ff08c066e557b76bacacb2434b8e08839b3d69f1ef95d45673776e35eb5e33a00de05d3d303bad8a97a23309c3bf39212b337090de1408eb20eb51233b14634fc42cbace661d026d56f7ea281790c9a669205220af00039f78dcddbe82bfedf7925926fc154ae8c7cd330d74c1e8988b4d5abc7a7c97e2ec8a78209be4986d6180083a952e0a98ceca83550b1dddfe10a4ee0b2589180b2a1332fc5ad4710782e827e3774532d8be49b3ccb1c002f478c977fa022642e7587bca83a016061a4c0ab53cf8dec40384510321320ee5657dae1e2f40a838d5b5dea0a772c9a911cb674f1cc75ddaa000c4cada05881c4bba53a81fcd2d7b28008a73f554cbe61dc0518afe4d5048f349bf346a8ec74c13fcb89b5007e660b571593d0d45728b6b5410d72526918530d53202e5d163bd464bdefb83f5777c84719423679580e79def3eaedb3744388872ce156f64a0483291fdc1ca1e7421eebaceac992d11445c1850a194ef4000229137e18c588cc6d8ba495be0c294c81af90192f2025f385758ac4bcb492cff94f9df0861fcd3eae7153645af111d481af91021872f2df9555d7e7902a565d34fe41f859733ecb36d3aaa8d5a429b3e09942f8e14167e203384e13be45834cfcfa245c6cc23bc7890adeb14a3dd5d0b3a282b512e9571c196c1e839c25639c295b8b89f66923da3549ea7e84e1483e765dca0af33c9e7b482f241e6070fcc0f02bb3a46407a92933e473700e55de5b413da65260fb3683e804755e467e1df83ed46abf0a9076e86571bf416c104af6e80f15d7dbfcd29a3f45d3cba40eb2d8d8a2adcf16ed0fdbcb384f273cb464423a98e1d5c3a11870b65d10fc8c12866b4ce840907306a5f2387fe082ec517703c9c7cf3999ea726d9cdcd91ad4097920b8b5a1ba6217e21a333ac96dd7f7c3bd0fc398dd24fd0247a0a85f0f15359130551a5ac2976f13041456c70bf05a390b1bc06f6db5549fcb480be2ee799f491431ba5c81adb5ba8005c6c2728deafe75abf405c0d2faa86081a54c36822f2175d631b644824c59502c12d37b40a24369eb9a85adf941d1276e426413213e0a26ff962b771c840a57639ede2b08e3b48d547ced2a01fb77dae2292b042ae7a7ca3eb02f50ff506441f364453c71e740988e48704ec791ba6d8bbc35037e07e07fcdedda89457f30ff5ca5b9cbe905f509fc018578f35a3d3286e8e638b7c37bf4b150efaf65787338472ea2c136a5a6102c7e565bc9b2535e12bae3c867894415bb9edf65ea2f9073aabda8e71095648c5860808cccb8f48d9691af89caa6b1e1631db78554ae71bceb55b73ec27a30caf373778ec0687931c18c12dad10bf91f2b29db983063c061a3028ac45e7a9f7df7edee8a1610465659fb38f7304b6aa91dc2172d2005fc02db292003f08ce7d009e5a121d5c404c16c0c827fb86df0244b7a528fc3d873b1d87152ca53a3b63c422abbef062c482d11ba9c44bb74d75ed36fe55f2a896fcdab3a47d7581a43d44d09373bee7f4ac64668585dd2ad1ebbd84e2cab682aa82b0c36eebc5e4805fe862282e41b0cde54dd84ae4b9aa26d0234c5dd95b8b655b85123a31407360ecccaf4736b0c6642b9edb7423f330afd254a4c67130e419f81e14becbda4b7f3ccee35a8e83fa0c75b14e0c310bcf57f3fd51099d2f6ae55b37f5057c2b8592d14ece23ccdd54c86c2a8453e8fbe2faf8e3143a4b952085fcd11a706551d5f75a751a67561eb044ebe117905619a811d6e663abfea984df740898df70b4b82c13eb0d2a63734c8116cfd16a43f314a4b31d066cac55384e78a9e782bdd749a57a09b14caa6a30e71eee26e24d5b32f612a480c6697c9e8856ede6e4654ace4c26427268fd27b5aab803cf4ff5fa995aebb1cd3ec77b35c97c28d97e8be814614c4c24e8be49b3b678c26352dcce6d244862efee7d2f2f1c5b4914694fb3c4f8fa0c908b1371eea5952fd4bd72080e7654cda613fb7764dd713490f850ef35db23a95836d25e85008d88cd801b285e9b7bf3bd384ca132c11a0af7e24a2de3531fa07388b2adef783cf1bc45da4490b8a9c2dc723081f9e0c1a0d8c319abd278ce518ca83c7e65683a1e4115d17e9c5b71f126dab6f9111560d435791bffbdb36654afec9a631c8f3c210971f053df19c5df029e0d25a1ac9887cb39c5e81cf2b2b22270f76ae2e74c6df4b0033896af1bbaa9a5471204bb1965c7bd862bc93f01c35e3ff41c9bc2d974440bbb2530bdac4051ff494a0c210b03e67bddb2f6d0bec9daad7373bd3caf5a6b444b3856e165b156d41a4f551f86ef0b66efcda4545716a1730ec5aab5514e58d448415c47ebae9b2d8c7b54fe367c0612818dbfee9fe2b943f4375153b2d69ad83cc4b774fe8c25fb4999f0a0ec06b81d7111d22cb4b9556e8878a8dd17d306f0fdcbe442b98193e0ca1edbc19f0986ae007b7f4a4726b8a54bc25293a787ecc75bdda2966707a6a392aac2624664688a5b1ba32ad509d28c65e70ee5476b3b309eb892d69153ddb3abd77714854442958b35f225b1534f62dff9f6988d8576a635b04f39b8b2bb17f60620d966c8f0af6ded80221ae87e89cd9e21796f8bb3b0182f28320660f7a1cde733e2b53ba54e1231006bb3874e0285f65f017b9ace9b96ec698d24cce89e9fab06ba6d188f4cc4e0b69cf149822c823f4e21a50bde145eae16e08dbefd7ab9f2e69119a050a42b13eec89cd2affaf39c49bf19b75af3d7182f9b655422424d6ac80f7757a8d51ebe1ac81d94b4b8e7121fbac791b4339111ed8ef8027b2b3ede094ccdb90e4fcd03a3412b8ab4d87537664aeb6ee7efefc0ec13489a465a75180524210546e672c7e880111459a20197f15f140ba2b7173942dd3495c0d284d96ed0245506c57c37df0b577e39613e2313bb67d49a3af9d54e176ddab4b473f43a9cf91c62139562cd96ad7c34c208e4d5f3e755b82441033a62aa7f5b20503a9b0e4633e98b289b14aec13a018776241c9fd2917e290dbc1c8ffc9b79ff57de1fd38edfc4194c5645502e52c68c4a5804b3478f03846d810ddc5df4178aa69c671c75cacd1bdb8b31e8a340800f6124bbdbeeb6a54c29c9080862073b0847ddd893c5f23f1296bfc775e4443fc464e9032046caf2b88e285803878b67478663074738dd16dee67b3998e60065319d1c319b8e70baad759bb6007db362149df779de4859301c1d0cd3817363746373c31bcbe724fd5bd45b4cc75b00c2da7993480c0310b6ab07ad73af38ae231a0661e98e70baadde5a4b5f4f14cb0f1a1d519bd7914d00c221265b9f47915bf72ffa94e537ea2cee6a5c4775ec79c2f2d3b88e7cec91b2fc3c78843d4a58fad726714409e0fda055e9d29136f9608f70baade6361fa499b133314ba413e835b825d3b0c97631902e1dbd15ec640084347077669a349c2cbf9157eea12793c6517a4ae3ba89999a889ed2533a2932434fac5b274b6bccfc398693c6e3892d5f1e73777b4df6c801929dea22c42dbd4b5f588297e81c658f9dc70753c272cf7a6bf796afc358d99d535d46302381cda9817562655c2093020b93c2d5645d57ac70a1f2156161774e71f1e173626fee9ce22202af8b31bc206c8c173158b88050a6aac430990242266a4a898c166b73e7d4940ae114eb020334c2ba5a3086c5d1e24ac25a245a384bc3f465b13537805ea878c1c3c27a774e51b1420dacebaaa5c5d26411038395d922b3856ddd39354513354c71c5cb62bf3ba7a6c04dd1f4c1a678e196b0eb2181d31576703f1449b116befb30918c6bd7026badcc9de7b13ccff3bccff35a9e077a5ee8792ecfe38ee57d2d3074793a773ef542fb82b12cecd5755ed77d5dd7ea3ab0ebc2ae73755d4c476b9703fb5a2e1fa0cb47e8f2e172f98871f99071f9b02e1f1ec5b9f3ed0b4641d0e5238c91b1333416f6fa6e42578c8c9da1a969d9b86264ec0c4dcd8bf975e7d78084663194ca506a299da19486d21a4a5f94da505abb9af93f9b441e2b6c55f1bb3361d3845e13d257586dc2ee86f4d9db199a9a97cd0d8b5ab7591a3b4353f3b2b9c18909ef1c92412624494b53f3b2b9c181e5d89076106dd20b6dcdcbe6060796a3e3d9499b09c9b63058c5415efab2b9c181e5e8c4704c5a93dcb6d95568dad965ce75d9ea52fb74edacfbf4127dd652d3672d914f767299a18a3694de508a43298cd21c4a75288d512aa3b476fe6478e7832f100796a31393edf0d8bcf51afe34421b04f0855e60bd261f14c3e901cf5b28c2727462b21d9e1ed8a4dd7c381e6c0280a78db71e0cbc5878795c3e7ada69eda8579e444e92ff734e9c755bed7a287d4a454a474a65503aa37406a51b505abb1d1c6dc3d13b3a684793fc33f2a7062404be38ca98cdd880464d08e8c551c66cc60634663fe4cfb53d2790108ef93b2611ebe7ecf287a349de6134ca98cdd88006e99477643c25022e1d3d9f0bce9d98daa30970e4ae4958a92a51a65760b55594b925cc9f2c9f47ada626e7476972fe6489ada556933b1b0a53b7965a4c4cce4499e652ab89dbe8f3d82f5cfbf4738be9cef7400719a6dbcf8ec389eecfdd3e252387c59313cc610f33dad1e490252944613981971ca2f490410b4a60aa70a18116ad1f72f87e003282310bba997ecf9f3c6d91ab57926898e9ae1cb9817ab02c4ed0dc7eafdff6c3fa3f77bb5f08f6a44e945bd63c2d40e77eeeee3927b3bb3733f317b9ec27006159da2b2d33d752001b066599b2e8cda752e43873d31a76a1500d2c2bec7ece09eb5a4beed35dab89db64702d980caeb4b76cb5c4ae3d2172077362de64706e7b799e85d9b82fa926fb4529a5072e777fa30cce0b4b70cbd65243f1eb3ab8bf2df485f7afe496ad256e06c0577acef5c14f1c42c4bb3d69dd7fee814fe449ebbcb163316e12d58792e17a1dbd9bdcb7a3502fa849eb873501157a4c4e2e2401382791cf396b34747737cf79cb6903087582cbfc1ebf65e13259d34276f9858c6ee8861ac283ebef79395021680f078af1fae627925cbf72fd892ea2b533a8b60b165481ad774e6501c255832c4b9e16594870276ee2be89db1182910fd0c21ebc732a8b0ab724a15e00ab09c1ec7b9ed782ca7224888eee94094a085808a205499a9e1c80871b8e10828b2e458031c110020536a4f0c4105b66f0818524334edc60f9a20926a470228798db6fe33a6a98b7a48822aad4804316590850c50909258608238218a8961f6200e6baf9d242a5876b4365caa5ffa22ffb19f9838be2d2afa97577537102196eb76d5a11a191a2ca97eb81d30c4b385571e9cbaa80e0d2ff4182cba50f5405864bd90626236c2cb3a53901c4ed97a9f4613e030fc6a8414b18488441b5429121b60843ea861f6410860b9a247d40a6aa00e9c8d9092e9e0866107accb3881425bad8e18a152f2e58c2055c442179718213e07af8010b5b03055886a071d4a5933bef30b1c284840b483128c2092d534c96a84ca002316e2d1350d1030f3637f71b48f8e988db3fc595be0246c6ed6fc168e8b6b2e4d2e772a995ab1997fe676350626a52b9f43d6f00236066c2888be3d267793553a05c81834a324275a357c4a470ebefcbfdde0b6e3fb1040db7bf5a0134d992b6284d42871aa6929872a9d4a54a24b9d4caa51f56e69f61d1c129cb0aaa6821c68d4629a1c411185011050a8c1b7da10e6af19033c2858d75f3e8a535b0b49c2ebfe5292c5d6c6ebb000a0fa197c4f7e6058db79f6ea02da81d1ec226bf9376ec27c31719aaaa447921f301fbba732aaacba7829571e7541411168a0def9c8a8222431585836b0b6bef9c8a8a212689c5b98a39c2f64c21c3857d15803b589e3ba7a0b021e6069b73e714141f6851b1335eb8c0b0ac2d6270b03850d81458993ba7b43859152cbd734a0bee9661db266e015a9a662f1b862f19bd732a4bd52d67ac309ef52c171994765c5f58f1ce29a92a97aac215eb224926a5c5a543a5242645042ca78a263a523ac066ccaab4ab95f59476f445e8985c170232000213e898baa613da06be7f063a8054c50aa6563509a17ca17af5d3392181bc95c4f31aa683f8eaeafa774938bef579cc446b55ad564cb547bd540aae0b13337761626a9ab479451072001e3e58fe7a611d0ef6a4e990d8d321ddb561c7f2ba0d6a3f4d7e218b65784b2bb20873852c7a31435a97833b8974b7c805654216710ce92b7a179c295b368aab4ba42fad09592ce797fc25c9cc4f2985b90ffd9a1b135290b218fb51f2158205cbc821f412e9eeac8be1b1591cd2baf4464895e571485f8a13b258cea8cd9ae4f167425d1c13ead6c09c9045215de8e8743aad8b0217f106b7cc70d264ee9d8d752c775a599d4ed0a439d4fb3ad6e7b1ba0e46e99c73ce3a3ff46038b6bb6109d9d43c7ecd30a3ee644d8b06f43c160c2a0c819058d89dd635a7db4993f162a6d1adef220d1896dfbb179a3427d2d57edc71c400ddf9b57ed228abd6d647e9379373e4ae7006accd60f9bb39e79cb45533bf9767139277d61276f4a47bd2e6779575d31e087630282c3f7577afd6dd067a1ecbba4fa534070889e5a7b59b5f6b3a3f7108d57e7ae6fedf4361532cbf9b307397fe7474c7a4e1b8936b7702c13071ccf0b1978dd993a1e7d9b0610386ef775ba7f33ff3c61285e66dde66ed0788f21412129a3d197adecfcf8fc3bef6563a1fa0db4033f45e367b590b040464821b9b57d3d77bb52b74fb2b5366762adccc6bb5869cdd3993b5add63efd331d3a74e8d0a16312d5845e6cad0ed6a16312cd9a47ce7e6430aeb9144d6ba987f8cecc55aa4a4a565a4b4eb2a6240cc805cb5f92ec31d944bcf544599354f6b230994cc65740eefc85637aaccf637508c0d9723aedf0f14a587ffee667d84bf6ef31bdc16133d3a7ff356d3bfa6b42a50c4a84f669119a5c81e5f7b123041681a1faef15c1ca9d40f0962eaa9f812506ae3f91e4a47d9794cd3a89cf6379a4c7ea72a073ceeaddb1cc249a3726268686c0bd262b81e5ef9aacfbf976364992640d8bd92f9b6bfac87ac2dcfe74d2e71abd6c46e7ecd883c89162cba68d6c1c4040edd3b3abd4c87f4251d6f59185807084ed796df443d65ed6c8c8b7b0ee75873ac9ba26e475fcb539d69b932d7f6e173925b7830e5e36a33e7d12c1e693156b93c6b549346f0a40f6c09adb23ceca086889e51f82420ba5348be59f4f580e879cb0fcb309cb43582cff10134bb8c2a12b967fe8c9f20f59b1fc434accecd0849e47130e2561f9879c2cff50159b7008899b70888ae5700867f9878ec809878cb0fc432b888543532cff50117647dcb92087658df4791196e3cd4ccf9b3eeddf7f82adb451bfa471fb7b6e97382ccfebacad3018fd9f563fd7e8859d3b1fdce191c574726034333b319ec7cd8241910ba396527ae43f4d4ea7625fd0ab57f72f72bd524addc5213ec47dbc334a296d0a9b61d7555cd9b7590a80b5aa2ba0075fdaededed2453e621dd6cb2f4ef66b138a4de12be7b9d8877db8456eef6389f7ff6ecd973b4e2777769021729962e913986452e73375b14ba48ed9e1e6abbbb7b53cab3e36e777767d5ef5a6bf5ae57585f4fa7eeeede2cb6eec3faef9610543b56e7b1c382a8dca3f3e099555a6985f9fc5aeeded702432767ef8a919932d34ecf670779968ab3c4587dd67bcf774c12ea9a93f459a2573b310976633d381376a2f72cb1f3376a4f4cb237d65b170fd6f5f1027e7bd000eba93893bc1beb416bd4312ed64f97078b42e31486b3fcd699521f43870501c2a88470c5f2fb0c8b35760085df01013867764e96a911138a53fc38d5f062f95f0673856105bd496bb13e718a1ff2bd8fd585358cb0fc5ee9d3d147eaee82a5c0f2c3dc3da683fc0533c2f25b76871161f943cf7da6ebacc561c9dd9d524adddd29a5d4dd9d524adddd29a5d4dd9d524adddde90ce93e6336f482a1193488687d8ab262f93fcaf2f72441f4ee5492c0e1e2d991e1d8c901ca623a3962361db46e61e5c07018a603e7e6c6a603799294031da5b700508a85eed8e168871d40e0181d519bd7914d002a8f242c3f0d15cbcf83478f27266ab807a5b1c292bb7badb5babbd75aabbb7badb55277f75a6ba5eeeeb5d64adddd2ba594d67ca08eccd2bc1ea6239bf1e3ac46ad460d0848880847510e1d331de8707737f25c071cd4b85ea9c781ebc8f3711db14829969f06cef26f20c58cd90d8798acff2dc6411002e09ac918c50fc011d111287e0fcf4e0e1e5ea914dd8e2ca6c3a3c7d7c3478e8f1f5d47c11f0208dd9d12e9d02ab5ba8eeae83a721f8033f11c283d42a0309c1b1b010009dd3b292cff2b0acb5f4303c4dd3d8873b1fe342e1e7fed9107a94ba30f4a33e4f73363e6cd29cbdf43336ac7f2bc1508b184e57f212c7f4f11446f4411385c3c3b321c3b3940594c27476cce28cbefe15086e9c0b931bab1a93c65bda983656f3a71446d5e4736451861f979f0e8d12bb0745ea91980377bcc287510031793b9055380734ee6c973ce3999c34a29a5eeee944529a5eeeea02ba4943e800e31596606b96be61164669a19afac0f8cc9ccd4dcc074767a44f2e3209c6ef36e340e7e6c78004218144eb7d1dce683b61933a121fbd9b01a9a41231c12c27a4f14c2643f237fdc93e13af246d7114b740597fe8c6912b184be985dfdcba23e2da64b7d7093469fd29613a6ddc8ccea26f3fb8ffe1c3e4fd6fae07c703e38f75962fb4b1fdcf55992e7599b74bd86161eab1a391eab49f32b0407db5fe6f0585d7fce5d7f02d0d16bd78ffe180f9e5b470bf09411e00facbe2b60df49ad58e1628313cb3e27bbfc5d5026420831a829534b5f2ebf101237cec104976f2e4f65c1644e6151c36d4939f2cd9af4b634d4c21b62c264871d74d021871cacdbf876736b0248679df37567cd2d61d259d9bbd65aebacb556da8d75ac5d1094524a29fdf1724a59947e7d6fb14aa0ffbd97deb39e5d3fe87f23f5e818fbe194d64029a5d429f5a2afad45efebf5c3c669ed9608eb4a608db2265b60cbffa3e3643dfd6f2cfd59a34c470e76463d59f2caea9e8a8c8474f9259b9700750c49efe886bfb5c6af1774dacc9a35a6b6be55eb9d2eda35516ba5cffeecb5d64a9d655f93d65b75a0af9709afee7dc0e109fa7a99f06266eea80d5e579f2bd33a55ab3625d87ca0d366591ad6596fad3135da83b3baafb552964d52c33783fd64f8ae58bf73ea0a186e69c32f571c91c93275050bd68a2f3e9f811534206b16f653565071c33ba7ac70e252f1e45e13fa7edb4f1af553d390002351a880051a1879428828457e08038229aae022cb186004d02489306838628223ae78e2e2090b43305d49910105517831022e625ce14392100e30810d4f2e78010535ecf063871b5830c40b56d8a0828f1050e410668a881f8e782181251194204b0b4b9a50b9f9152644701543112158b21244d4058a60226586273578e102930c14305959020b2d5e92260c688882528585284ce47aa490c285a6163eb082134044793efca0e409265a44f1050a08968478c205572b28c2dfe650c0125f5c11032f90a41cc181205670a485187ca8a2054fa0f8c2881f9276a8d28444183777722759b3c1498c30a2908011c3cdc7500419ec5ce2852acfcbd95660b9fed4dffa93ebff4d5cff19e9b6222f400d31050c60182102899b7fcd6d395830c24a53985c15266e27d061e3dbbc62072c979fbddb2ef7eeec20ef5ae174f9f2571658557dc9c1c096b41c132d07240704c897236c29638946a355a928341a8d46830212a4f5d1d6575b5f6d7d951542410509427ba2e168391a2d8a46bba2d16841d4a86209d8fa624d1d54924c9da4f545e968b88ee68463c117a9285251baae938a223565004dd5416cab7926194bb7bf461462a47dfa758420356945d3d215cbaa74cba25ca7e4c46520c940cac940cac940ca1d614b19484f4e539a5aad1d25f041aea1f4030bcb484b90be8f951827c51ef558a1c70a3d5618e3b2f958109c9b49c44e83f3d98c53c6284d4846686152125ef258df8f70f5cd78ac30a3d4c8658cca61b9fde3976fc66379ac4f6a49f745f99aa2e4927c524bbea780d492effba4964831a9a28a1f2e0315fe17a38a51c97018abfa62ae239918d40854504d61a2a4f86bfae8f7b102546063469cdbc62638aa2aaba830312b8f15b2c70a9d8d70122355e1b14256c8524a36666c72fb5da393999102524a6313eb3ab25538f9a494a494a494a4944cdabc554812191903584d5a0b7d61ad6d20b94913a2d4643fcd05cb496ce4c7175bd2723b4a93e8895b81e4dc87ca6d40ac85c1fe4926f1f21844490b5bd2c6287108bd5a62501e78704b59aeac31dcb208a4e54aa05bca72e265a69e30b6943575b2269994acc96d3225edd3ef79d62af9b1852d654a7e6461ad2a186b1a818aeb08555723508120a594c69a5a315cbfcc481212a524235cb5943e245e12cb4857c3992f8bec17c59a7224b92a2a2a2a8a4d19e1aad56ab53e478ea41c3972b018c312736a9ffe11a846a8eaa0eef68f204b223362a4834a595210251992204b8228dd241d146bd264e78c207949824449104c98dc8f2be59721e920fe2aeda40ef2acaac05c85e197f1f8346219a13a488614aba2b20213bb924d91e1644d486e14544c2af655cae14ccce9f6dbd853cca983fc87df3017b5e58a025bae28a5575248b1f04b6b75dbad6e599443fac196b21c10a826b1b048b1a6db62399b88ba15774b468a31b9b11ba4db5f04d5e40fa0e7d91f54969518e9fb7de46c5994bb3edaa7ca72d4bb0fabb72517866108248895894159192fb4329e95f1625c612832e000f3a9a808ca0a8cf7fd45455ea86e7f0e2f5733a1f51172e18c9509bde4c2192b3323e36dc97561bf6b8c85427207f01225cc854f812db9300c73543e6c398cb44fce6d459e675bb24f96bb3d722035e90548ce6db45cfbf47b9696236f49cbd5406a128a2d19e9a777f70f276b552593e5be28ca1551157d69b2adfb30ddefbb2fcab96dacaadf18e3d1aaabaaae1f5ebb6e2ccab98d6f541d349b00020408102b2040a89c9efa81000902b6680c0a6c7d0eb6be190924d7b6d7f78fb80e2ac7aa20493aa88c51dda6aaa9ea0702e606c855ffe83489a8dc46f3fd383736354190da56f3fd4192822009a2144449ffab468c418d551d5416e57258be745049cb557550394659755039bb505d7550296b2a0ad341650cea69b41ac114511581c98114658a0c2773f211a846a9316ae432e6c62f4dfb42a3a2e53a684e59e1e4f6d3ac6850342cb4289a148d4b83ad2d4f2feb20ffe19d15495b9e28b0e589b9eb78cbd3162802f824e29a07a2462ccab94fbb7af05874e38b2d6713b9a2dc6d5aae89dc6d234fca11775b2c8bbcb88c44b37a14d85246cbdd7e59d30e92910e2ac31da41f4fb694e55880647b02350067972e5dad55e869b25505c3a21d8b765c0a5defaabc5ed5309d91a4ce4987d42169fdd4689d624192ebadcf63e62e4fcc5d9e9e9e9ea07aa0d8d88f7aebd75bbf9c7f801641047f21fe24f84fc01f842fb69c503dd7193089baf7a7b5d6e7518a945a755d04b775ddf48e09774d98b873e55a65d535d5aaaea982094ceed3dfd3e4cea742886ab0fcccccee3426f6a35e7fbf3e96ecea09ea1e9aff9eeff99e9e24976824bc01090cd3629faff3390f7b7a75fb1d548094e5e13b7b1eb16636ce2665bc0c1e7c653c8f482363e4e18ee179a3e679a376aa49c4f332c62ad5647fe5d264ff3896b0ebe2983396f64758cf58f67d3d1dcbbe75be78d0cb33d6a80da86c39adaa3aa8279725606ebf5b75d0bbad77c6d2cb79d918ab4c54aecd97ddc36d2adad170b01d1d3b234df6f7f8c1928ff3345e672cbd0d3e676ca4878d25ec92230dcfdb609c73c63896378f23ce925f352a8ace663aa40ea9432a676dc57b289d85db5a947fcbee8148bdfc3ce70dea866913c17d26119679b3cd9b8dde5c80749b79e027b759ca91bfad30e337f81550682c61ae80bacd18559099f128b4969858e970db604cfadb8ceff7dc46c2969cfb30095ba8dc67dea92ec2dc12c6856d42012e8c748e19e30a47fe86022bc9220994db8c4761c6f8a474aadbbf428c4a164e370a7061a44198775e77ee9864b40c499b30bbb1ecdb7d08630ba070d902cc4d1fae73fa4ad5e82cb94b2960a91e5c4449ec107a59748d462dc553b094b3145112cbef2734e92734e947ed62a94913819d535d70b9e22dade73ddd92a568e79a74a92130b699bcfb50e4db519a7a002fb0652f81ef21f017ce319726598a89c9eafa77940e0aafffe430a4092161022610c940078660026c61bd878d8548683e8fd0b9f9b395cdfa731827d7bf913aa8e6fab7912e92d8f8e61dbb54b34a601e18b8258f3da050bb3d295da20aae8f2989dcf0841b8ea509b5bb01d7cf18b103456eae77892b1460743d8be1284ef7f100d2eddec85d9d0a4590704b4a49463e9002d26d8522b7e9a577048e1d68d24f68d28934c94e9afc3d8f9b8864b0251050f7cc658cf12895f3ffb1c23e4bf94fc09f48935c705faecfaaf601842dc39805f8fa0bf100162aa29852f052f54504524003150e4c54c20873f3a7d3873fbccc332a5ab53a2605bcf156bfa46f882087cfbafc37c41b364b5537c427dcb158b5f34a05c20a969fa462279716a06ec9368618f5e83e96dddddd2d33c6186294cee407e76e89c2d2a563054aa85ffbe9e251bff625f7a83d537550b5721ffe2b7ef2e04b96eabee428ef4b86fabe642cb42f6b3f5f0275f0a510075fe2f0f972e2c82fa7138d2fe7d3065f4e2c33be9c50b32f67948c2fa7d4f8e5e4227e3973ffe5fcd2f3e5a4e2f97256ed7c39ad645f4e30b12fe795ce97334cce978c04fb928de0f833129b2f59e9f52527a9f99295d07cc94b66debab393ebdc74bde429207c6981be847df0e5dff892bcce5f92ece4d2428e73453cb8c2d1c4d9e44f7f07e26c9203b1df4724693ccd9845dd7e19a328f6f054ddfe1d594c270766e4f6e3dc20b9fd36fdaf1a25b79f66c632b9fd324d6e7f8c93dbef62ea1696d92408229038dbe70371b6cf0d71b64f7763d4edb1a46fe3c8c6d7c41e63d7c618a3e3fbdbcb39aa1a225b3118be6a929fb682fdcb6fd50d4292e57f3aab64f7c3aa79409f500b076814ee70f988094146047b801921340ca821e105019b09dc988073028c484e06743a107b46923d1bd9794ee241d2f39dd2fffc92447c56322e91b1346332e367930d9cd0f829e4cfcb3ecfcf4e1c3c3f3375f033cacf7b9763fdb4bfe17d00f4f316eb79e30712adfbf07f70832672137f07223335c9cf81c84f2293224f117903919b34c93f436426222f35c92f43e425ac44143989528fc84878444eda11d9884c64a40e88191089882734c98f239ad024ff8d388126f96d4408d4880c68929f461432231e4014218418d147884308a8c6127f9ed9aa6dafc4571c86bf91da16e36f249d84bf95f412fe6ec24fbd734cc552625fa90e9a5c5a40c1e5d8e5fff162ffd9ca913cc9f9e76c0bf81863dc0e9eb03f3db6622b312e3f38dbf6ca5519baf1c3b680bafcb22e37fe19174f2e3f39b5c513ce36711e744f0e4f5054780b62f0410b986481a2c24e26a080210a1954d1820ca460a08192921fba18c14214185c290df1ff9f8332f2319f26ce87d18e5089f984b5e14b8bdb402fc8347cc17effcc7befa9d77d031800f37637c4e0fb3d019c6c6967d4bda50d51643dab24e2172c89f4059f861dcc65a1ed57e7faee27389b7cf02b027a16f0fb8d17e849eb9e5e7679475d7d16df3a9640c7ae40a8f0048a234f59a8b084130ca742132a333091624612095f9a70a34a740474e9031098608e1185e7478ec8c269c5972f3768a003a5d37302835d9fc16763587fc2d241501ed541a509de64ce8c98e166b8309abc8a30f46cee3dcf5a18ec9f246bb52effe65c8a560a2c9c165e8c5a306922855616345e2894161f18b388e284179a9f3f504bfe658cd897262b504b600c12261e9a48e1450c54e801850f466ce1041622c8918052db37bedaa767d31934d82277a4f6e5eeb55677557ff7ef448ec23658fe3d7c3f5d0ae021f803ff6f4cfadbf73d7c6fe41fb3dac5883ad25931510186e434d502245147be9c2851b2c0e2033d6c59baf1b7a6ad480a4e526830830b4c526c41bf88c2858e69872e383bd450250a17bca028964491a2f4822351dc9887308e24195103131357baa94655a78aab4a545c85aa505d980e4c67d581d1597557dd151594094d4295e808a8d29c4420516a21a905248c048954d39421a20cd1d424c56201dda8cd1b4013084805dfc73966a2eeccc45fa860b148985f1ac000210d6812843809241001ce59f981d5f507b97a16e0e91c14f2e20b67a2638b6902a0e5846dd09f2d28777eed9fadba74673973a758ca2071e9f7bfb2cc98029fd5a8740cda0a6ad6a9210100000001d316002020100a074442599223611aa9ee0114000d68944c644c2e16c8429124875114455128c30c01c4104310320419a29a32008cce0745b9d33e81f56d4b6b2ea4161938ca0f421c3a6802f212bef8851db70951328235675069c474ee6afe6f9711d52c222b9ec715b313b8d3aa6e97de512cd029887f7f4bf0c447f45fa270e837efb68abba4cd1f81255c6dc238ee18139ee405509ef1ac00ca6ecc6001ed912f9d3a79c2269402d0cdaba5d303436e68a6acef18ffd2b6d96fc3954e3571eb6db9756d9b0908aeb8caa305e4b5ab97f6d962a916008e92e097ba9c0f56f66933fa1b11e5b154253bdab345ede6c41d2728bb12048eca4cf16ce2d43ca3e67f25e1bb7d700f2b3358b8ec6e079592e4118f2674a7986b2f51e6e1862cf4706914a0a0c4489a456f24930c5a1a7594af48179af0b8ecb1336a7913f31e155cdd211a41feb835c6cf78368a378730ba95f88e10e97ce6246a8db64846628dc64430ceb705cf4a72858ebdfc748a49c0fe1493a063f2b1eb9cdb2284cf3bca8a105dfea803974b1fe676987cc0f2251793cdc4687bfc8465a367d127b18199bf22737da018f8453f1b4ba6a679cc55a21adfb8637f262ba82c79514d16debedd4188301642393ad10e42bf9425d521248629e28c65a1a0c0b4b4d9703a717515ba77f72060a6629f703511785613b54070e9b4f5f9f582fa25b827fc8a612b22282a5f9abf4331ecb150b86990e05da7d24ce8be686c6543c14207c43d257014ac1285a857b80f190428d719066a918b9c2bcce3e96aae662108d7e31ee92a46b46eb2488f58aab0fc357c2e90fc06fa850f70f4e1bf818ae832eaf7500297e68b93ac3fd83f34e117200944b267757651fae15813061dab02a93f0c7107c0366a44666b7fd3f6ebf3233903fba0aa6cd5ff97edc3cc7d35aaa86d0ad3a61d9fe6c6c3514f8f9d76f8eb741cf58ed2289182fc6e703f8245e1c8197ab5d8555fbf135232834293c6d7278bc67714f3d1b064739dfc59a3db5f0b0dbc3349f067264a82474d33cf7f8fd52285c08e91df7f96945c44ceacdb1a8590af227fd395ffb4299af0c30cf69e67f591c0e8135c7e9522c962817ccb7ac20d1882cb13326409eacd34e7764488832cc59784af0c91203e29e89ab6586003db2f932a8e23ae4268770ad1d98d9602a1718d58d3b5f09c0e0d04b99e06be02c95114216f75c304d8c2e53db89206468220313a55e5b304598a1e4da1a3412e6ea2b5beee4e79db86851cac82e6a32b11995e220a81d2b9afc1ced982277a8b4a5bf284ba67c2636ce769a276170648e05ba78c2872d33890048d5c9c1c1c11b1c5ce3e3a527a2b9b227b862db3c35451caee7c8c347ebab7ac88df8d07773c878f82c4652b89a2853471e4209a9e5364c048ea482e2b31a2c98827d758e08c5f422809fcc5e8b027e470f8a6c35ef999edb53e37c708733f79bb0722083e3611f50f29fb45b64c7a1c27c37c382cc07c6ce2a1d9d1e438902eb1df241e8826d171e23fb44141ac3d62f4a468228b77083ca9fabaad1c70a1ee3b501af149c8bad744da898b9c5f26c089e4bbbf66963530ed2d21a05205e6082ef1a55c1a596390a94e07cd1885ea5255e1e895f128a6d8f5f11f782a0202bb7e2d344e87f1b9d9b08169ba4e290fcaa4d0bec16e806d72a3af25a487cfecc05f2f0e501c9616a01d6749fb7047da9f8f77dd6a9d57028ead5e584e8e9fdbae3f5cf656d99f233319a4b29ed73e90ce9e4a9bb1713156cae84d5e95f0214b625f9b9cd430eae830c18a7fd2ddf060f217df7a7c2c5b895bffd6e3355a615b4a943a8c8f52f79cdb2c61a148300314690f7ab5b9b77d1e006846116dd5dd831d6104ec97003f77efa5d7dd5b93ba1180606f623903fabd47e876815a9c14e42279bea01029454ad2c0d3c9ddb1598c48af0f4f783ba7637cf4340a815aec79f9c670654896e05ee08c67eae6518e52b80df5a5e4ce634b416aad26236fc13a19630182181665ce4e713e721949a6af5b43f95ae9d47bc745a4c00c5b9d846b15e0c208f49782ee0ea060f26d2ac5037ac4572dbc201230de8f23eb480bd0a1faca5b60c1cedbabf84102d47d9b484a8217e262c232391df67ada850a20bebd0abb5811cc9bb167678a6a30596e94718218efcf3a56734a62b87746721c6d9e6d732d11189d168820208817b23b2a50209fbbf229ca82003410c978f58489f7c29434d41f2578a743cd41f2d6c7439c474a377a2a8b5ab811eaab90668e5245966ec5f40112d5b85979f367746282ed78a9c28a56194a12b4990b9728c28ea93a3c3cc8dd3008cd157807fa868f375d3af08b96bca1bc4d4b68ae438008c629c23c3da8182bc838f0bf1311e90d04ea1189b925fa0b003ee93b94643181c9797932995d7ad08936cd6fbf9bb48f63f9ba9be3dd19e18df46bfae56f4c64c4100d2e14b2e2ea6d214340ef54b3530418775daf92dcc37a3b87810da5f5573ed015b0e38b0569d25d2df2978133d610ad45b8e048e989fe7688891d04ff7ed458dd8602f1bd949a69cd0174a52167a867c5cb9afe5c2bb28fd03d7694cebc3400c836a673f3cf9988f8e0bb1e6b0291af32ec44f56c07c49e505c4f9c48be2d167660911f79f792a5cfdad99233d7c8b0c42655f108671e99ac0e27ca43d1332f3b088d115e6d04ccef22d51225fd16edf6b2aba275c28b70d80a62adda1838fcea74128046ba279ae94b4fd5ac8d968260562f6d9978ed2b87c52dfab860be95af0088110bf4b1fec8827894452c2b707d17288b604ee1551b81ce5e666258646b342b4cf6c3d340066197b96ef2be31f1c465a0379da5b5f80f4302ec65e797d83a23a691d6cf606d92938ef81256b28538f373bbd82e4bf2dd16ddf1f09e06f4dfa4ccfc07d50698f965719269452bf3c7f48e38a1f3da1bf6cf5295ae2b36c9c7df1430b2c9daf739bd31156a3c058533c5960f0cfbe5a03a105aba7eeb9c173c007b576d69e0b47522e34c4704771e25103324840e709e7f63b3e9788c9855a5343dbd1f33c0a1e3e8397f6518bf008f75b9e84f80c76e83d091702ac0a33a28bd19ea46f1f06504786ca111da4e96fa1f260fb03d7f3a63ff8b227c419954acd80a483708fd03b99f58710fd5359928e476e569ba5193de78f598ec148e2d35c38e2ac7be367c1e8b64b7ab0028acf5f23829d0b07515fff951a54fe104aa1658af92994acd93f52c2d23c8da519d62435badc035b60a46a11ccf5524034f73441a70ba0362ec03b8157015d3fd8d98609e272648a3a265540249ff8b128fca604a8708789c2f93c60666127484cce7a6b37c7ff6a8ae953684e8092d3544c928d55c8865b1337eff0159b5e08bd409e2809a7b66028aa4b7a7a330dc5e15b3e8d19cd37591be38b86d08e392fa873b31a4915fbd6700633e481e366a95c1babf29839b9cca2ea4998f48b6524e63cb0dcfe590c68b70305a35c16927dce983f3c6a5651608ce7554c95f0dbe86d4749c0c15509fd94aeac3319bd3914e8addf58c2ab75f306b404ede705aeaad26fd47a873ee1f121293f141ab915b2c0e336efc2a3a77a31fc0b7c4335b1996cd59a0257372522e563678f7c14e9228fc80d70855ee596894486a96730bac2f2170212d69988e41ae58d00ccff634860579eba46a488ca8c2e9aff96451aab79068f0b5ac0ef18fe43e5339360819c24910cc944f38711e78dd13056de3cceaa46750ce2e328d194971a8b2909a7ed520258abbe34abb678aed0ec0a75093d220e7244e84ce74c0d2f5dba91f8c150eebe0828e18c0511a6a4b7768a8e026e20ef4c04b352ff6f56a5a4f7bdf02dd9f1a815fbd984749a92a1238d0bd4e651979d456db4a82433242b087afb35f3b49e4d519c105e3cb97092d74e90cba26231fca04063ae936e60663f25757614e7042a1b4be85446912cc7cf9edb511b5261c2ff0882073c17d8a21ef6cf7bc3e7342462729f1cb1524a21798354c793ea00474a0043ada66450103062d79edd490894180b58e07431cffcc10579211a4d675e41f801e4d91d9d29055c8ecaf4ccd7033918e3773c0dd8f894bca070e0229298051e06ec1c0f56743955a4b8a0db6d081f8016428661057c63ae6dc698c6233594101d55335915b0428c249ea9527337f1ab77045fb715758e989e9c8f38275a679051684e5477441a1881c7ebfbd9815ec1378c0a1eec6cf3aa8acac00a562e89fc3de991c635b49a48edc4e6a1064e7d881ebe74d4aa6b7acfe9e192467298807f8367f0b24ae8a55f51513dc06a77bddff235f9fa83f5ea3ee0bbcf17d9c163e87979111c713d70ca776eade8c8b238784c818f1c026204daad11a1b7ec1c01f5267a02d2614b39d6d6c92d81b8c9b73f81dc51569050a821c233d8f216727959d2d396209f60ae19d49d2d652e800f5521304eb9ac7d39ede3326039a69571f016ec0cd437ffc2983e7c7d17e6ef736170c3a8603e9de8396e9ec3cac0b7085ed9bf1274e1374ebcc31a04238ff15536c9939a3bfcdaac572765dad24a9b46899d98a1c40f93aac67984bd43c66623548980559a331c76697f8ffbcd3418177c92cccbd70da2c9ab7f1060dc29c31b57b48467537b849acc4ed6d7765149e36aed3314dc733d82987fe8ed319747c1e601d8484ab66a35edaac63d7dd51c41e6a45fdbfa8967383a33f863a2a0f200e42be6ab351731ad4f5edd20962ef2545fbfffe5bea62a9f951473f0c75380f221284bc5653a27e1ad4efefd261c4dec81dfbdfc4041dc5f1ff8f74a1605ce252067f5ce0207f211668965f7c77932c6e51135b7d1e873a76fd7f772b475c7196980551c8410ec471316b8b6890f127ace052dc99c19cc4b13d8580c404a1a866f888e38ebe4acb0bf7a31363a16ea22190271f57fa7a08a58ba334a675db4344deac2dcb1c4bf2afbc652f3e3afc266f9adc2b058c54278325e971bcb529d107f81eac5671d4aac2b402dd00a14369d39e2316ef960188645e0f32dfe15e802a0c0cdb11bf10fd0438d0e36a9c95071068f35bff77aac001ea8f021738b8ca6a4e4e64e0e0aa8103303f09b0b41400a698793395600abfebd5d43510c263ba834fa319b470c6038933b021a9eaed466370405006683806ad614d3401032092f0d7100ee27611800df310221c30ffc8ee9ac43923267df25011a64f2172a61f421a35933c41ea3c61d612c45ad2d278e6590e44654111b9e87336a04b2624da71f9248ab8832ea5b9ff8d391395b5935f48e1840385873f55c7f422658aa6cf356300007868b612af319dd8f9e189a512fa413853c95e54501579310bf069be396cfc296776fb02b2c3476387ea7be49bb1a8aee0cb7e437c57b61923d65efaa2d262e78ed3411db6b8a124b5e0b1d5a8d608b2463f3d830f38fb1c46e43157ab84bbf1cfccc518d7611d896f3dd90a45bd6bbefcbc7272bf986db0f99fdb19ee77cde33d84c7bfa380b343b734b16165803f190a5f51f86a7457f52ebd985534155ef41a925d7e5859a41612161fa2f14e627889c4b7d623f4bd41d4f2a037206d0aaad7311a35e42f31e57fa2c9a12171607a870b10fd286e33e6560e889917f584fa15368ff38949d7d0fc8f8ae2bc5d211f18cd4b710bc67ccfe0bdaad35c86769e84375415943079cae0ed9669950d61a86093781fcedfa1321f1255dc61b6f011a42cc1de367b731c89653587448704781ed80ed36b66127329f0fba314bdc24f34808a373020af2b3236381257d454829b62131f4ff268de8cb273072480ee6a5abb2cf92e1991e2c6ffa1a4270554120c28dc63c17381c10147678cf5e80ca48a0462413a43b0e8998aa804bc00e2c966a723acf0dbc01525eb995795c4cc5fb4a193f9876823671cd142a6bb25998574ee13b65918c8473cd20896bea02e1253f8e04acf39288d4bc9870c3e0a3a215ad0341e1bb3a00f734c7b934d1beb92190769d86e540d1f0d1b2b270c442684620900d19800ff8e1af2465e70a87a001f8915956ff480dadaac16cc01436dd41997c0430d51bae2ca5adee6182c8ebb18b0b948193f5ad85315faad9a8198183112f85970a4c43dc3b410427b3aa90a4ef349a24325bfae605ccb18ea40d5213ceadb1cce4e4d3dfc3419d8f8895bff5d337b7cec3ddab09d60b121f3088ec4b648cd8edbff612835bcbf83ce9099f4ba91b82afffb9eeca6325dc96f659316592d41661b5814e22183166a583dae23e6dbc57815cbde863e42331d045cac76d221e41fe5fa818bef4392957ccb70c747f2dc151d6eefa377357ffd4ed6131faf6e4afbfd33b7c03ec2d692e47f63d2242e23f451bcb2c25772254de58fead4338a7b555a6b74015cd25c464eb76b297ec783afb052e5bf5074e99e5916968efc96b4ba695c9dc72d5ea58555294a770b0491d1ba1cbd7b80a520ef37d1117c8a1578bb0e8c1da677eab7991e0f9551aa99073f85f5d90081cf258e32cdfe9044e1563f94d28d1d63ad8cc21887fff1344f8d73265ccc095f93ca049523b230143979a62941b04c82f94f65c8c80f48b0d2d02125756703d8e1fe8cf451b63e581333114772259608325405cd3137f440d87faf3417d293d02e56d76050e21d1259e73a1b0c82129d41be7a4503dfd92386fa985afa3b2c80324dd9680fe9ec92af1d0c6806f0d0c8a0220bc5da6c98b30255d30b006882d960fbba6460365ed190c55fff15c59710fd36977c1605587cc1fe6b4d6aac7e0859aaec61813c0165ddbac1cfb1e2affaa30e7084ff35500b3d2bea4ea9150e4badc3487b7e45ad7ad9e4d2920b41a5c45c13953ffe3d826298f3884ecb1d0eb268dbb7745b99d969f87d06875f0880e4befdda1467a6fc2a8c5a54fb0f322a5a8f8d29a4da0040e2c527ef971b8930507e144509f48ad5f3d1cf5cd59c6df275a2bfa02ee3b3dd047f9cc308b72ab2763bf5070a15d21e29e84870450782aa841b80115a7870859f897397f7b2464896d1a5d81bf03759402bec7b955dc8448a5aef36a1605e1bc89ac2205ddbb84f52cc019ed76bca98823e0b0777317dbaed15a643590a36395c19c8eb5c8013348a6529ac1bd67f1c85dc7c2884025a3eba827d4eae924b22904865fbabe81041f720d11ef297aaf48018cc0e5e27d6b898cf8b6f0e61fad18b521671aa38502e2752523660f75162a31817fcd971257ef087abc3c18f1c3c8596f182c38c9d924ca5c554280a214cd8da7a60fc5aed2530950c5f36c3f2e8f0712733c966c3641b5b4764c946c05d9ef8aa0471025688d25c20c4cfc01d06e19c415d1e065a5de519b0886bb13f2427a2f2380b801a5f849d1a7cb3695d1409dab07a377dbd6ceef4f9f535eb79d5721f4d7b23d7328b0e78ed7a722d2e04c81bf2df7d050b4fb95eeaeb9a3eeac6b10cbd066f40b25d4feb97a6d818ba51536cdc7b657e3d5b2e54725376a26152bf96806c55d29b5e5fbc3c360568b7f910663308585036a26b62cd541ba337c5738debe426af29a4ccf16beebc485cd005f2d58fbf92c1a25fd921cc9804c0cf056c53448ce0725a4344c1cc75e6cba667f194a517fbae07a8b16dd978342ee7b2125e84d15ec52989035f07a21ac09e608517c05db8af2cf4877e815c437d29e8719e2fd0b5a0266b869298267790fe2ee9edc58e9163410f33c8c73574644bfdbd8cc96c06a06d85901a2f129a16ca0e0d7a8a81d13250b2eca3453e106871098d0db768c67cf48e00a6beab70ca4ffdf9c8a7aa162d558f135fbd5908f3b61d6daea194d05e24aa2c87dbd575c65160dd5aa36bf881935ec72ba8da3ac1bd75587583c2e476f0cbc0e1b3e36168ebe9e8f8896f4e0da937f8708bc72ba3b4ced64f025d3ec35a038725827828cb70930a42960f0c17116e1dd28921b78fac3697f998c2d979aa445fcc8bc2edd04a87fc2fafd0d8911f6c188786a512678e2ff19ff8db5775ecb661e8a5f87136e36e9dab7c01b624d6e1b3e62245a0042328c3c2177ff1f45af20f942c77a70dd0167cadd651818006355084c69c9c3cb2069d9fd526e72f1eb5a76f3f3abbf99999f4732e976a9ce83f7578b3a221e10fa38a8e47481563a8660c8cf1483aa82bb9da9240afaf177e1f2016d132247dbf0d06488c73abdb8c38d68703697751b990378c6755eae2afed90763c245769c34f1bc93485405aaaaad6ed264198ee1e251b2c6d920c0fcfa53a9601a65d26a505eac2f83565d788e143feb885401aedeb258eb1a7fcc741271486cbd3eda6d143fe12d5b2fd791b7f568fa7577535db01706ec10d5703b7530f7654b6a6cb0f8300cb83ddae036c447f3b0c2f492cd5168e3e29e3c4fef876f774875105e476b34d1d78ca3048c9d31c35bc479960dfe2a885124ef28391037dd1c544ec629fe03c910081386029b66f211f7abfc1d207312cafc906a4829979fb152ef73c61631e796ce68f5be8a815356a46c5ea1db00c0f0f68d04b34c4cdd359e93982f5e1bb8a3fe4dad35f978a538c3cbe493a34c2c01b23be3a7b74156de06f91795ac2475bf211199e371571823df31be1396b462309da6554c254cdc83598cd1fa460fc8d8a274a058c8caf9f64457c1623a7cd0bfa993f0c17c62cbfefb38bb37a483d8f9f61b8393366fda9087521d0065f10ec8b26dfbbdab4cd26db14b9046c2557670aa972f1ede6fe385d77ee6acab59b29a68bb75560859b9440623231ff7c2d1a35d245bd86c384fa8aa946236948b04244dd3658d51fb54ba6065245b66ee1e2d56b0fc2adc7135406ad980e09c35aab0560475622cd6b813b8cee009181e0a7662b3c889ea206a28014d0bd4c564653cb48b7db48a04761bd57104bba0d8796352df8241d6a8827f39f4513527d00fd095be8fd57dfbe1ed19dcc8ada4aa80bdc1ea2a8969608fd2cda85d61c3c1cd5d7141725c5890f839f4568a85999e96434e800b7b211ccaaa4886838e4cacfbd1728a7765204e74f69dbcb60aa428d214d28b364925ff518bb4172276b32c2cf672091cae60564b5c01f8c75fe674e7f4ccca63201a141eea24cd8169f7ef93a3dbacc34594001b98c39f5626e53872d48161663584343304c857e883d9f158e391bd9a1d79eee504eec132dff0e66bb1e93f9f5434941934b4a6ede4bd3a4e9f188447f17776a88c906a97448b6775bdeef6e87e38f8dc55357f242df3cfc3ea1ce1e8f3fac381560e13cc3d5bf9858032e91dfe1d3609d758b65223beed9e3b70c35e9f7c3c76f6d92a0022364d03fc669345bbe22ab010af18cf4c45086e2d9ccd90c3dd76236f7c4b8742d70ccabc811652d09c7ae4296c7a42dac2e323b5013121a2d5b58e0ea41caf6703dc0c8670413ca131e997d5204b7eb5e63741a2d4c3e79c4e2d71acfc5927ed03c0b18ad0c2e928147c4681abb37c5f4c5a79a62c524b7be6c3193764af196646e0f8c7f5067fdaa785702fb35c4d23a9b955e0bd1aa237841234f06e02dccf5af306c8cebf122d43923d5a7f741ceadb0d246c60db6f1ce0451fa836ccfc22bc710c3d71b9483907ef96a66ab247fe4595c06ce1b257e4def7e90a490fef6b7c1fa48c269ae546f5b3313051c6a5ae8fcdd87d37567e3e1a6eff1845e77977059664864a7065c104f29b252471724c3bab64952aa2304b45d6c00bef17ad491337f0b3c34cc4c6af1058138e55ac1d3dd4fb229e827c617b07d65077641f8725c9b29fef07d19d14c25609dc71e3238fb1f9af17c8543e4c72d090048a2a067c33b9034a9022148c12dba3d186010bf4a162337b5d74e18982705684467ceaae6e72474b3fe8cdcc4845e02ec904e255297aca7e4f24118c42fa3aedf5c6f89f19b60c9da2b6b81b3211498a2b0610693fc5f2552e979a3641d85fd70b9b4161b5bd5c14d3b307a0d31a46802f376f4b01fe640f69ed6aa912aa8d7dec9420b24b013e8fae608ec3bc00816b26c6c0e03e06a02723212a29220a50510f327ebca9fc9ec868a751bd534ffeec5a7758544b0fd3ce1cbb792a4dc370207d6ecc9c2f3216c15840e14a550d60af3ff3244fac2216c34dc74d604da26c8f4f194b6005ecb42898f84c0a6d0406ef1aeb778f00e08b17f301ff9ae9713d3d467b9a5c2d70565826508c7b003ca175de6ba73afa64a70e414351c252a6d27aa5be60868fa74c3c6e8abc7ae4e50d807fa6731f739ea03ea163e6459b6fcb3a4bafca31387fc7800ee8f3bea54c0c5366610109f1bff66ec7acfc4a1581b0c9bae826e58236a83295adcc173437f4bedac9520e8616243605a30d516e58bf523a6453076d214ffe9466b62deec3ee2e55891a57065396cdf82945a0207188a1275e466adbbc24b385add4d44d5b185356d2ff2294a0624a447c6cffbb4126d2bc41b8708b85170dcd544b944de2ce01c21cc06887c87f334f48130f2baeb0525441a96e355d855c44cc763e71be4c6a5f4d5ca1ecf5671c1c66afff46f4cff28fb7d9644a95577f143efb33193956bc4bce0ac49171a4cd5ce340351f0fbd7ed48cbe740d850f8b0cff45a2f12dec3be2727fe030a2b4f90e979e4afa008da3a6a4f3d0668e2715380ba5c0fffdf14166e8f1acfffa239eab490f0023173df174d8ab915550660d1c8af07afd75cb452e554fa615ea09f13a9b8ef6436bb5051104acf7692cc7e85339d18707b9f09ae50ecf93e4a168413b7d7d840082772d622c2322287cbfc45e2f46aae03f347339dc9848c07be7e9e8b38fab25509e893cc5a879b20f6f8d418df7e5900bc7bd12b2f02f9e240663eb9080aabc92df4614c97d3e06c025c599b22d5b9294bba44bbf6997cf9d581781686b902109132a2e6d92c36b95b21a56fba24f8fb532883a27ca59093113ff311c8b26aaf55a3a3ee028499ff00eb1339634b84f03b72562fd7dd25ce0c44a003196781334dd5381772030f70a6dd93e11c3da0150074437b87f681a6bb0d0ab329b60a574ce2ded3367e4473234d0ac5ba96d473f91c578c6e3c1c5e784987d564af12980b1a8cee4ca2735aa3c941f60d0d339ca948b0b67d5576e42f19c36c8d4e8b9d352dda297b496edc3448478e6c89889c759faf0121a58fe5cacfde0d49d8e9884c8e98a19cab76db7d7643c1c63f0a48e9826139868cf94ec77fc72f5491df513e764bcb1f5604f5f6c142c2753a4bcb16b598c4ed5f5ea4e3aeafdc34e3a923aa07eb1474babb9b019bdb65ddc5bb53ccdd3103fb8b120fa517ab856fc56690ae80e45d9031952f17ceb61be2a3faf8b9dc1d87f3364e79d221250b8f36fbac306e508989a5007c67f231f9071af118f51669e902a838dd15dde5609d250e7c9ebc9b5dc73b73822906587fded562d8495af6ca6d2f8e8296bdefc6454327c4bf9a96258d46527170c3d8f61791ee413bacd2fae31779a32e5e1cd889e1daf0212b405ccb6cec9be0507cac30b339485d6b0f7625cf8f6b071edcd433184fea965db924846948d06254866bed8ba3b62952976b81775456cb4e7e88101f8dcacc40ff30aea1e6f1fca99613c633c0349ec6c8ad1432f96a117630dae1d12d61fde73899ecf32bec203273626462e3db53b9f418368882518bb09a183f1d2785a194fe0e1b1251581c0f24e8dc68355fcb4c9b840ec4a14420690c552b8eb2d7423df31c98cc775ce504d162d6262c905a96c200cd59775127588a48d84d7348ef6f798d0b560c34e235b5d2484bf7f5592723542e568bd8bf2c899fb1f95d77aee65bc9d35d3ce761caa310ef7623415205c1323a8d9220e583604a96c86482685200638559c50a8820632c0c1cf8acb2eb9bd2ce44a2a70526745b95e8ddb59d656e87bda6769884480594ac116c9a9a5c48269a7da47fd1be5b3639c2fe8b02371e27479664439ffe46ca498c307ba8afad10b13342f1dedbe867b382b3e7506ae40ea553b222ab398b632510d53e4d20addea24f80b544430e559d7a34782acf4ac569000a1648cd5962fcd5c981a505d213a4e58bdb48c556f350ae4771137434b699da71f2d06c4ea1df3a2d76d3061cea7820334751c87229b2be6dae5b2a267fca7f5fc3efdf17981f953fae8b90feba26b2fec87724e6a182b599ac63b368d92928e99738bf1fe16ede81b555149a65fbb3a3c6b209c594c720893b41d744d64a881b0f42366b70ebf24e5fed429ce18a98c39e6e14c21e70ce183fe8cddbed3a33f46ec2a83034da33c8065b700646151660ccc6d1ea9c2be9e16ecbcf46cbae80693f0d993ef6d3a15dd9098cbcae37f9454ae82202790cb17921c33302cc8294c1781ba609867221ac50fb624825ca4becd09b78a1ff3b2b64d437d9ab6214a4ff89ec7066c238f5a931dbf8c6bfc9347509223570b42ea1fc949fe3949acdf1ce549f1903dd8d8c4c9fd973124393e85c37a821bdbe42a14bd4df140e1a94f26ab514066fa0d27ad0c5f88338604367ffae919a55a0d2a357b929f4a40bdb67b24832e166123951851223eed47da8f48072c622de1777e3341bc5d46dc0ff6f520759a0b13c20714f14e136b39f0755a727b115e999aa6724a90f598097414bb589692db8440298d054dc3445906a64cb11760036bbbea7891420e0e03adab8c5e3c56df28826227e386da93bf6e330cc4185fe519485e8648818fef3531d69f13b7a54ee04f46da6de52e0418e58f42447297362792718dd091c44112f55153d27ac766b1c3f5f3c4219977cc9e9a688afd181972cac80b6ee4d26321de84c4075019eba465afe54cbd38d51475a4fb6c5329c308d7f1baca54eec8ad2d57313873c607b94d9a0ec35860632588a72ffbe31f3ab9245fb12928b7d85f60286edd4f10b5dac79708618e39ba5944ced34436f3124a8e8f19bea65de553d6babee334781c8ca48edee88b8b6d07fce6d813d53c8e225e5d2bba7a2368cddac2b465a1c27bde8414a1336dcf9c852e5c036115eff22f9080d3e69408c08e3dcd307fc9709a96135eb1610d415121d190ecfe9e787c13a099374565129c3794cf071265b7b456a6821b0befac1b470b9cc68ea219fac1764ebc9e4b4292f7ba67b3a2a08806bc10ce9a8b227898d1a0f0b6e9410df20020910d03e8d0e2732fd14b1a4c9b2eecc402a29e549ec16756d830c1353d1a8bb427c279e73dc9ad36cc511a01e6464a2895328751478841dad56bbbf6bb42e26797219777d4def4d1295993cda279c30bdf38cd7ddcbc920ee6d2dd93efb388aed315764ea7a796ee45b3085e3e91b44813819f5d49a28ee2b2c8c737d20e817a6c9f7b8a857f486f715ddd5d4ab095c9a52ed67648f686784fddfc638f9675eefe65b4ea19d0f8c9d9f9a2e1369b0b17740a171008d16f5eb7304421c9de8ec50faae48078e839430b00897269d38a2e6796017ecb9eb6330cadce24513532b6d466285e8c7167a181dbc104ba768c61664754bfa84583919b503918c3ab4d896dbdb6365c4445f74b0fa9a086906c500081c1da12fcb301a0bddbef13941c737ef26bb3910c8dd82c5376a33a3eab99e7872c8f005cbb26543790517103bf7315c307cba13a028da8dd3edde97530d73b625bad551f1282924d48452c168835449a6e9693203938ab553c0892ce190add7694fdac154553821c39a80b367d0b0cd1b4ae5bcd55cd41fa1a651dd64befccf6b079e5ca512908c85f57c2afc4536fe132c3b23fb3ad01acb787602edc938105cf162f3a362da3487906a42ce24c9a16f735d7160e7a4291e84b9f28c4c0020e9df5442ba740cbe8473e5f85555566c96e065eacc2e227563eb45b2b4870e6764f76811d3e55ae1657537be2af5f97c53a73b67a0c82f06281f94b35b33e759145c34ba62f7beea9e8d3235289df6d33b76c60f85e1d6032b0028129eeb15ff6d90b36c2de779858ddcbdba08d25b30e44462007ae7401c3968104e391dc976db1d64d78cbe0569ae45165ec60ff0d622ad90578cbd64eb4f98c5cdeddb2ee2ed728a7afc01f2ce75342797b2b098421f8721a90a97520fadea2c0cc102b9d6999d2f012b0b5df5966e812736a526493ed419974d778ffa09d007a4d7f4b4f18c4173e2d1ae4213e486ae66f96d9c7a6433a15f2da0486397f80c147026b4bab4946fb9a66f4e9dc12fb364cfd706c317bd50a9a2400d14acd06ab00326a1561c80c910182450d6c0f683082e0a071d1ceaff68db1d5703299d5bcfade5f794f15b47d36d90173f7b1244d4cf7a8bc4feb6e14d0b87c2bcc8933333d7bbf890b71b73c95673b0b74390f0e11440d5b6cfea69e22454e47162fdc61df9ca0cfd412b52c3097fa475de4774f3ecc229b58390c05a188e5bce08742de765c77a5ca549b97da77d87626a36a46e698b511c28c5b079106b203850489511a898f642ad4f474be14cf352640300f6931792275d98e675d74f47943c1afb83e4b885b989d12b4b03a3073f30b7fdad5a5c8d8a9dee6b80fbb15664a62742652ca794d95c133f1d3b83d2ebf0975744c02122602ad60c84051613ba2f9a4c402ff61b018004335a50cfbf2d2bb43456c560760903b198bf78585738e191b83e42ecbd4de1bebe6445f07534fa92db42ab23b9574a1ff641a859d9593c19b201371c2aac2f13d2b1587262e35eab93dcba013b8f0c0a5b56589742e2a981bfbd0935fc43c8712e3fcf1e19bfecbfdb9482f52df8841f1f1570701d565d89727b4a9356034bc2344ca902dab30d2b0eb53567169d05bdc63af2f63dbb8d9fbf81740b426481e2cd674f83be43fb5daeb09fb010d77e65d101068565dea997e5e5ed68786f9a01b1145bd7f91563be69061bf4e8bd4fa3c3a4f0335320dbe71a75b974c6032ae75ed3a40cbf21111452bba64e5280edeb552d4e8af62407e20656ba8d06f1105cd5bc63551011df1bad9c3cba2d739c512cde6049c77810c12b44e424d108c4a78994e21081b21e837b12839d7e97953e899abacd718cb51933355b057d9b31970305b366ce4f014d590f600c724a56690e210221d3f43653a37dd5c21a25df01e2fdb540a9699d493a58781c84eaa61c4f20bfd302f60460570df84e3dbc98762c212c69c1f80ceeea2675f1c1d02b898787225ef71b68c3954eee9029590c3927c320c2524287f7566cff7d95d8a3ce9cdc7e904255d513e9b82364f88439d7c9686a01502d5b8f13493b8cab3b2adc8a38c313bb91b7317bf44116af84c3f2c730df8d21c256cdc40b913b555117abf52ecdb74a378c1bd6ab08724ac3f2dacbf236eeaa6891101fa00b901685f2cf6c682d4dab3e3e1da9ce39a600a86ac45d392eb382f1f5cc4e118900be67f649c50997070b09caa9c0181929d490b0eda9566c9089d15a2cef7fd598d1f259ac3662bf2259250fa383358e5232cf3fb87cccbafbf5f4c960303f20b4e09c8739459ee1e05eaecf9abd4cabfc98c45a9034ca8f7feaff036d11024cd06240d697ecdc348b5583875422dfff1b8952abee7b129954bbca548a1066b99c0f70e76fee61eed4b49357416e723fdd8383393a0d7e6958ad7314bb31dff9eaa45e3898d91290c560880c5f983e3a3be4a1b5b56c062510f3534513ce5a4f3b582844d541fb1185edcd6fc2abd434067351946d6bddb00615ea3419ae50c98d2ce7fd2508bfa09c4dc94b6c5072ea09a29a12f09f40e1c469b04ceeeaedc92c4eeaba1d002e42f3efb7f3c4e4afec4ec02de63ada01bbe366134b48a8e2b045814b60616f8c06305aa7f62d490479c15fcb707d66eb7d5c320932e28201c4310e5c438da10cbc4863221e94eef380860d9608361f84f143c2e746d47ec2c3c1d0782dfeef27c3945c87f94a1bb4c82e5c4bbc0bcaaf1599148aad5b30df49465376def8629b147db24faa16096873dab849a93f25b7994b4a1b633a80fc3f46c7f2c06817ffe93b12ed9cda32ed16f706cf180ed071b5ee7bb78e39544380ebc2f3d5914da47b863106fbb1c8569b8f87759e6302853c26c41efd88878bd39b60624239271a11a4617d6272f6abe4e2d64029cfa36f640b79737dd24be6ae4c3f6f69064cbbbdd1678c78b6edc76db902ed7d1df142941e4750b35f7ca12e436e536a8b96fef0f9472d0b6f4c94446f9656b03b517efc714c3257bdecc6c3ad036d2150bdfb075028e335a8df9a3083e38163315eb5cb4c7e0dc30d16bdd0704b773506e7f4219d2d8da20e82a873bfff1ff6303989639014e4d6472df3070a81f6ae4548826007170328032349e12bc5cc948af5573964351f3731d0d913f4cd399001e9ff9e1b71e71bf598c884338c110e4aec60b2e1c1eb2e322e2518b63e472743e9d67e277a60e274887fb357b3b9e9beded2355705f0ad0eca1b82213559e11729c904c412137fc9023f27ac864e57355a0ff3ea60e3a1c317bd8c827a6a3c0a6b47f1d3440ea55c09241bff114bf2342a31060e22c0c584e9e0a780f9718e81f8e06af17d48cb8b097e75140facec2b61bae4ed3033cf9925490499356e2b34903dfe92ca02a2b2949c713325322b8b039548c739ad0fafb22fc2d114b7dcf0d8f5db0c743f8be89e6cc1a5a0029ebb7ac509afa25a2f78e48c62e171179c9902f7a271025679079f9286dfd6739e568920435c19023a39bf31ab850ba01e4cc921fd6e3e55e888dc1142d02c08f463235a28777b63b653a51c41f37e7f3aa971cbc1e59a687bb3f4cfcff244c9b98acb7765fa5528f4681f253cfaee80008b996b97d49fd4b41c6ba2ae5caca05657106260d126c8a51910942ef3ea781811568fa1a89dedf5d55b2cfb90807c835e85ab010e8a09ae009156a5b2d6dd2051de0981bbae6e80dbf8db21b2506210a2a109b3b4d38d463f6499d1f59ca353950038b61cfa5624c0b76512eb728af9b9b9515afc81ef2b0ee3294395276dcafafb0ac199d7b3cc2311627295b7ff2377ff39a1b70e87e7992a525955b0a2e5678606c15ddb6ebaf0aad20a5e31c3a0ca71a155864135af1c9ceabad56718ec5e92322b91f04c9b96a4edfd897bc071f52aed936030f837b5d32bbf0b9da4dc9b06cbfc5c86512b6f85b7a8e4cd87bfcf492d20831c8be7b245717edeaad12bde66788ac534a283b5acc4c552e752ead2c2efe7fae98a8675b32c9e745560e6dcf19867875213195c0566f26c395dcc267769a940a0229e9df681e1b0dc2d651c7f8f88dce0d36e7518d602dcfa45b0cfe14ef7289e9eeea5a2cf1d31c6a4c40a2e83306250a4a780f1e495aa9ccee2a86d9e3a0ab57546ca486ae30c4106c79124fe61fa5cc97aed57751acf00fdf3e00f113c90990bb027ffd0b0abad31a3d558cd687de208423d6d18031767b497248d90b3a00db78aa6eacbd10933720ad988c516505805faa3cdba57e0d67692c6ab0613beec773a22bfbfa27f50dac19d6d0686e920968c995627fa5e7693000a77eda1120ae5bd94345f0f1a4a04ef216b26f5c9dda677b948b84958093baef272a3caaa6bbe287312a690d8322a903550d7ae139a74f8b16619477c3a1198ff15627071c20d157ade7061b6b8cc1622d29037a80d14c9bb828e846ad2bed37049492d6c4da1073a0b8b14e056cfee6b94b6736537b5bf78c7549c964465199a131dedbaccc6b1013da0886f66e687ca38e8e2adcd0f8c18e1764299181e64c73e9db2412074ef793bb98c16d94825bd4685509982cb4acc4fb3eba1183dd05574fa625c7ed433a9987185966367e36cd9b6758ba3ddc0cc606f65fbd5da3c430b4386730e9cc0b9982bb43ff61bccea10906175105b4bba6b7c3ccafaf3255c20ba52cd564779b5459c67f330cb2cb9b7109225a85193e25157885afb264a59af0be63d6585f69149659a0b6cde73870f8926cc917598320b1c6a3f1ba2d64801af4ac132fefbd8f567108bfe019ecf5449ae857f28a85937017c0fb36d66bc17d6b36c3e62734fdd2de32dcf8f4a39428c1a477c8780fdf8067cb40cb470da93a2d398af442f3265589d02060da8696e8b72a41885ca200717012b18c535bd4d97b1e6d6521d6d71a1997e769e55491213483602140e7dc0065b28db29ccce7170398119320507133718b67d2932165ce6f24f0c8201c7da0c9bb2537e68ced926a2ec6d5fb728524e602769a526c070f109ff2a9108fc0673dfecfec149cc82e459c2e5646384bf0afa43623a5f8244bab96c9313226d1079c23aacacc0eba889c6fbccbb8cab11d5005ff316c047db9fcf762f48ac5795cdd89dfdef70c4eec4d79145970c9e7d91f02582530353e0a34e71482fd0c77c5e681a7f6ac9517024cc1e249d1d8584e9212c07d81183f7ecd0dd92df16776bf38cd9aa45eb41bf61f6d4deaac5d9d87012a46ed5cda2335155f053312a353421ba0a3b2b4653c0239fbfd4f8c325fa797797b0eb0b4f82a88c4d0af9c05c8f71294e4dbc07724b12a94b38211a5f294c964225126de7dc523413e66f90aa7575265f8a5b2bd13208a86a9b4220e1fc313cc17fc2e8a305b086655b298345cd2febdfec7a8d6f72cb61f36f5d6824bb8b7c6a68348a2774366d5195d6f8514d91b87dd1dfa0eebc1d2eae2368ea14a95eb41269fc5b881be66c78e4d8f982b7fa6df349bc0b3fc3bf38e326622183ce16113ef94418fa6691a806c01ecf3ebf2e0ae55c9743dcd62979670bc875513b210fe68ec124b040076a403a433716dfc7d48e61da51f232b657b511f51b40bae01685002bb471370835555586aa30001e588c0e2b00547023e1537ba75028da44cfa08cbe91dcc2bf7ca46f3b66255e39c219c81bbd43ea2aef6e14815f9ace132ef2423c81215619afd6491d7a312df342b05d7ceec5ef25b3508be42ea9791ca7c798b73c0b5bdb22f6abb43884abd9bb5de2d74c0cf8a5b002e4d821b1a99e4bdcb0c7fbf8d6c58df3c13a982a7d5498adec09f28af10102a666bb889fb9a4378246418565dfd8d397999802c0703d2f6ef2a202c34f605dff4244c93a653d8c9ab4a184e0135a4c36a318acc6f67a56ac6045cca9fbc261e11622b5c395104159f4ee91be80bbf6cf01f70d587fe921a2dadb7877a099ef6b1eb3e11f4bb5bfa61ab1d8121aeef5c1f1e5d64a6ad991cdea8d81b560d152cf3a74ffc63d57faf21de383bd4fa71486cc5dc163ac09d9ec565b788eb38a1d5b417fb062718ba83a378b41423f7d9f75c778efdf3f8872c93727a385ce1c2b21a792731e5424d05c8d28f3308584dd4a931f247c4bfa68367d42f4e8a6607f2ded9b818bbf511e902152917deb6da5415bf87963df43c489778910939c255a11cd51b8add9e21ab59859d68a601dec1f0d7c16df98d15297439206304f80122d6b6a32e25ef0541030e90da9e83d8fceef76ea4c8c8c91612bc8919c3deb3839d7d0e13c526a602923d07f468a6f26d705170fafc1899133d0a34c80801b2714b5554f0752686346a9a3931f9c670ec23a3a99ecb6433a86dbcb1820931443af43b77edbf1d7c150a8fbdaef721738df4f6212658c433e34de600084e9056b0af7e9528f7e6d7844fe317f606b6d276b6c75e629d184d5ac6753248298bb39c32a1c7c22da0cf2ef3dc583eceb57a00ea001f1fb1320bbdfb298dd9d9fe4d05b2c8c81fad2eebe9ae4b5549c6515952165406ac33d5c1ca594395ae26fe39a640996eb04aece41ee4061f4ac05e7725f39fa172844bd171e543df1a4f3e1a63245b36e67ebcc468c903e6ec5fcbf64b424c26cd37d5b6cf7d4f8706c8134859720d1267de395c1ffcf74f875f57df2f3e80f88aba70c9f3acd2f78b67627feef7ede2fb1a83ba0a6378ea99193d1141b47cde4839b20e56749254f0429399d6a304b1df9d247cec07bf6745f890940cb36f192a0b5288524f7a0036d0940667b396ac6325dbae2cb91d6164fa4292009309230684f1895effe1b7bd69b1b3520c535dc624ee2f81a6000ddf902459a3fe877df7690649a206cbe137729d3349838c57f8e62e60b3122f28e4d563997633c6c1bae4e95b8315d2ce31646afc4a6c8a8bf3b84f3cdf7d32eb1d8810bda2ab82f449722a904ff8c89c6a11ad2a7f487f0888b5e830a26bde426c8acbf73754d129bce40f60e5c2db374bc3b24de356357f9c67d8a1e0359e80b849c9f86db2e8d025a369f0508953933a092647b862897581c5aa7375ebf16bdf45ef0943af8668913b329767209f541eccba445d62c53872b432d10d04c756df306269183a7af757188d448e675690a387f080f564209844b21cb2b997297410e4c1c1ecce6d854ab1e622d21ea62d2d7d32f0394d032f6a18bd42c1cf9d918c015bd2433d7e92f948b4026a82864317583aaead011f5e56085e377be3d8c5a7ff16d2aa787e83ce49b054809e490b4cd140fe3e1a418751511e76d165886c0475c21177891ca9345d2fc8131483294ff2a5a443d49203ec958d3208b97ba925455a55d382533ff36c64597a7465514b2f976860789248020ac19e0b350a5dcd18ea4719317f891bfeba1fec6bc60c1d732e1aaeb307e4d9ba160df604de23403512f224b0286d385d950acd0d0f93e2ffd3b7a7d2340d8c9bcc2eb6ba9969a5b0855db8336d5c84fb4c8d10707608dd617dbb16efe448e5e4512e0473f3785721d21d7e1a31622ac0104ca80f50be742a7c399fddc390b8bf3e1016cb08c3832c8f88b422e20d63795805f3c712ab8b76347d7772137bc33f272f11cd95c0186bb8fec91f64f7c2fcf4c4ef96513a48be04ad5cb170b036b38738dc5c6678757c5205dbc1393d88e69d51e3d5e9bd5a34b5e7f35872e89210d4f17e96845c7b19ee73a7a186fc5834bf8aeca555b80e934993bf2cad260a8905fba80e3ec56fc5326f2785dd281714dba33dc7b489514fa2431da2f64965e84f747fbfcd4d82dbc0c6c20f1298c91786adf62124b031659b447ab245d53a69e4020fc8fa1fe43928e2a8d42d0a3ed8b3469b8ce1c15ccee7b17abe7b9069d860f1d96f68c942efdbe61a3a968de25f26157b48a2abc598bf468eadf0e8df7dda2b4262dc3e97ce3aca8ab843f6d8ff090b89587584692a935071f7868d79c94731774062b3d907bd8e2c788d5a2a6b5828be98f12de6ddecd2fa5456b3823daf8d7ea542cab85cd611d8359c496785651dccdd7882fcb814ee612fe0aff41ae2928c9a7e2c67cee99a8abefa9eab88825efd2725ae883f62ac2061f710ba25c85baa77b4ddadebd0849de3aeab745bc55693406f123791cac99b0b858f0f73e459b586a953d9b516a8e57452262ff543f0b2050db6b2fbce395a7e4a9079015e58845405031f53817cd569a033a38d6101f2a1025c10470e37461075076fb80b530f3b1b778a1a91da7c67b084a5ce53766798441214a8aecb1355cc5fe8b0e5e279455aae3d308ce43b1627ac365bbc303f439f27aebd862835c37938c78b56b7cb62156ff62c432aeaf35daa7201498c56c008f8f3b04a3d8351e2f931c05efed1fa12199570e92ddd390ff310eb636ef900b1fd6711459e930525446cd9005090ba60e17ab1fe02c4f35e5c0b4b284a2623fa6cc325583596684318a2a28a023482beac5e67e0991cc168ff6c0cf8bac7a15f351058d0d111160f4664b7c01493efbcb213da9e41686ea130bb11fb5600348d4f3ab426e3436412537118e82aa9e92c3f7ede1eaacb1c6292ebb91f5d74529366d64a7771d9e29d16699f13f4ad0a02110024c6f6a8b9710d62759f689757f190cfa39ca374dabc8a1e39e3e38c5d8c348edcb0d827deb324a1458d88912d5fd9e51a2ba57e528513b8418250ae34f4789127bbff6b6ad167dda26f87a934ac4d9e162dc2f66c616a6f5c7109bb069c3fa8932ef12496e60587bc8999762598fe61143a2844d6722c1b3176dd08281a8776377af9c24d8c269b26562a8e05fd1aecfb3cd046acd5bb8b09549955f6253ec126ec1ced54733095281c2c9a08566314867573f86b2c91c942486c1b4156dc6d3ac98df67943eda5e62e8a012d40b279f6bea525da10b8eaeb97900ede6835113ccf2e651499a7e127d4b21c6d87692f60e4b0f48355e2ea112b730571ebbe30b86161a369756d627700b91b691b1860f48c394dc2967c7316ea5c613e3f8a0e8d06cbd618142f254909583fa4064e91eb19348dc2ae662fe47269a410d31e50e47a7f7c49a2c6183e9181b64f7f1b9e29632ce51f80a0ed11b0de01f2ca7146d1ca0245c5042d51bf9297a7008da08b980118e83da7f24e514eafc2511b258db0cebcf21ac74efc1027d87fbcf08c8e4a4e301fb2c119668b85903999115048bb62b435bd07e7c452f9a3ba3db903a3e41aac365285a21958de618ee04d470de54fa04d80b3f3eeb66b9b33957c3a57d8801e6cf88b6416e6425a79da475bbe1ad4789b7850bb0f1c59d103fc124e6326e90eed48d5682206e0bec72af237fd6764328f981a5b8354aec1ac362c8c9b9a247a7bb8795dcc6508f07e9f9f302aeab42f1827d229195bc581e10d97eb4e5374fdc98d2aef5787cd1dbe0d6a14ab614b16f1677efa2d3fb2eb982fa388ab88723b5c150f78f80a8be989015f5e7f727b80387c1f92b90fac170b057c2f644ac89472706b7b0f09021f0e0c5a6bbb45f732e8461cef7d4707f0cf66f386b723d85da3007da336567d10eb4ab257f7492cd0fbfebb0d9cba7ecd78c5cb656a70e37f0ed42b69ce2d980a07f20043ff441c1b42123a9d23d44e90d649e76c861b9b8b22bb11908164bc3c3e425d04d6fd95b980edb922dafc12521aaec32f6f2426a99050958612d0cd04e26b40b64a238dcf4ddbefa219539ab22631a685e2b155215779e293dd86bfec76abb67d120e855976bc3c1b514a1173927d8badb7fb641e18d9550c236f34647ff22669381ea43b8b482279c91d62e5dfdd0860c7aa3fecf414983911902c05552417b19bb2a5606f6e5220cda3faa05663031095e5eeb9095fb42960e001157a1eab779e9dbd9a3720153170c35177051875bde8f6933fce98c2984df355a3ec025fe93502601b69b50d29b4cab7b5255fde19edaecee9ff3f0cec12f432c57df5022428435b1fa8c7200b31671b18ffcff8f3839613165e6a4bc24513bf08840f24f54f44d765e43488012c7376db9c53594557f29228b1fdf213ba32c0bd20334a90762041c7a443e7dc8353b29c8df0b36ed7a2044543e4b7571702670a526712a744e180e2f0a244f6750228e53843b86690db9f473ebd629cace1c5b8088903df6ce0cf52b6033af3710a9d0355efa2f06b63f184bc9209bd6312b5034288b8a734da8b766c6f99e1d06513ee6affc85b08c12507e4c503753099ed5be21bcd74c90285cf1cd3d63776358df973a123c62cc3fedd5595a77b45669a528fe5dabef29108166f4c94ba003598245e3a2008331593dcc3866b2c019b3fdbdcb2eb549fb2c4a3baf423149e96c1df84564f85c11e231815a4e847e5d56f8c8998d68d2d87716b1885d4574194c9f3aee8f4ae5dc029196912c6e120f43219c4ede93f19aa73da6b9604fe8114647bd6c28618881c712ef336200182d86a63fbbfa2080cc60226c6cef00811f9e011f0622fc04dd9649ddb1bcfe435d8480de1304db8b8fb0b9756514895e74340a329eb0cbf2e1a6e4323a0eef8b359cda70c7536f73c4489032b6713a687c1c96b7161c4793811b287d6e3e349618601a3385e4b51c9d79c6204c306acfa52406c173c043c91f5b36a00d9c5afcb776bd2591c45e16e20a8abf3924139b2fb9ad1c23008fa9d93f3da602002802d9f2278a24f767b8624c10250a7e26bf70913069fc80b8fd15ae18436b3965090bc1eddf8a3115d40980e8059c0aa3d7847180cee3942e3ed2cf0acf8bccbdca2ac62c69144384cc6026e51dab4c60ed733cc0708d02c6b9c26230d0a53e894503faf4642c0cc081c120f065e1a788d7cf52ea1bbf90dbc0c62c7f8d782374480625817c8d2c337f2b8f64167a0df4f17c84f55b0450f635f3e6fb882bf3726787814d2bec4b5b0b04323908cca6426ba1bc42e8d59794d0dce0772aa529b00e52d145d8d8cd82799bb25b75413ab4b33207a5a0ac7862eabc8c5955ac9b120f33b5c318861543910a1c5b135fe0c6b5476cfec9f3a60061bc0a2b299dd51bb6889a34fe30ae7967c34070d9f79e368be5fb474c49d128ebd66a7b50c8524fec2035f30605c4ec68d3926d6ae1e3576abac48a52f26e4420f94a2dfa371ae19ccb9b23d6bdc210de7b0075e3e062bc53b08083c3d483b54130e010da784f08fee0a7a7e8ea131964ce1b9c744118f620ca6bd96da801adb70333af542a62e7b1a02c677b72197acc2d841b5db86cad9f91f1b7d03521ef9b81a94389b05444c1d52324fdc1a31aaeec251df47ca723255d3a2a9bc2c6890eb4141c076f8cda28d49eed5a24acc5df65f5d84256155c049ec8e61f5805039da4fbc1734d029479bb76c208f8613087db25b8d91691845c83b0e6d75e2dfac6a123c870b7578d9ceac9e9d5c96d8d325d65fd54ac58df8e8d3a5072ae85332a4c6f8c0bc4ae375caa0f34572dc9fd6bd295a6021219c2d78998cc83ee58f719e3d58ce87d3d30639676d3d43675bb3c79ea98b5b248860da240e060861df06c0cc03ba7c74a570038116277ab00ac3a047de140f0462d1835fe4c88a24a6fe625fa870b1e1dcf2251a810d9bd69e0a170aec346ff0f0b24c264c4bc2914ad744cbe420b3b20f9d6c889db0c3fcc3cd8e05cc51e6dcf2544da9e1b4caa7f7e5eb7414319810a4e1989ca42007c24fdef1814a1e1edb2aebeac83126ed780bbe61874720cd1dd469344eb4c50c30b3b13f86ff8cfd1820c12c0756562cdaf3026052784179c6872530a86df11ca0d4ed8fd96900157e0b553109be9a61ff27ec15a154aafb1d8569a3a19ef33aecc13ee24b10c504823868951700c7138abb935412af24212b6275491b01d32ce15456896734a8666f392db84b8ddb958a9ba06fdc4a0198602b67d32ce6eb2d57a090adfc1d2fbe34b1a6b98f632629d6ceb5980d41067ad47f9a6975f397442f8a81d2e88d24a509fe304bad9dc3f0009f64d0e7e3d0d1bf61b89826256217220f12ea8f25f64484163755017d0633af03c981ef54c81805bcb0fc8d93d4229ad1f33795034fa34cabae7fa74464e510c1fc3e3a77769662a88ad6cd24817145758b3caf06032e84cababb8daedc2318741e42e69078a5e715eed13d2035bdd9d23788d5a855cb55a3dc93c110ac4456e70a75460e84802c73b41157edaffb8662174ebdc21237c237584ef9351f646fdb9865c35017b97566e68e6f0405681685460a6ca4be948ae98c7c7b684579ccbd3d27906b9586a421b3a7b456fa891916198b40fbc9d1e100bf3ebfb03481c2c1073b05a9c9102eb0f9bb0e1e63ebaf9fcd5c806ff37a890dc364d5a5d4520e8ba3a78bc631f017b8c310548554dc26fcdbf88b3c98a899ad14c7bcb17fc78da18bbd4a1f84ae97c6b636ccd2aa96cc599ec38690784b4b9d15153266cbb54f8d4dc5d859d71d00092355f9968847613d89d199a64cc0b05f0572bc1f3985b3265745eed45b495d32b1fb02551448ab45243c8f81d65a64a4f2744774c207c0d2c054b9d5e9d25d4ab4ea1a8f2470e9bb3d5239ab5ec4fa50b251d3bea220007b9b30b2a687f9dfd8427a14f99ec7fb37be83e0e05a503081de8635c327a6069ff5775e1e8daa0469fc4962dc88844e8b49afeddcb51b82a839a0195d2331d8076b810bafddf5720f883230a36b6a031dceb9ab86a5bacb9a2717cabaacb87ddac70a5588ecd2757e672ddecfb7b0414c4d1e9738871900123e4eec8df59981b1cfadeb7881ab4feaa39ada543377167344dadb28b727ef247399a4aa5752abc13c97851381210dbb648be01b17eb62d61d95e13203dd1ebdf854bad40745f36000b172e86e066d3373cbd1416f84ad182708350eb77a99903ac10d034612b393038b82090a8d90f89cabe2292dd61b41ac9a3e434f4b61d3c6737abdd70a9041dfdf93a44ef94a7fc1f370172be9cb5798942f610a179e8e43ca8d0b647a939e893d124017ca803daa00e885d3096994d071592ad296401c2065b49ea464c6207899a1d883ac77cd12229abc1120b4459e211374c7708f2712d91a41ab483fbdd7175bf16d3fa866aebe74f4a9d121387374dbc879946672f74c9dcf1d8af60237bef2db79452a62403370873089408634fe5b69f30f463bc051a1c60e244deb61086865fe343102124e183a615b44007472b3c810287105c6006050a8280bb45e3cfe3dfb40e42db90d935430a2f011ec52c8f906713cdd319eac87e43bf9f47ba7ef08ba2cba5eaaec8beb452da97f66390605b6baddcece749a4942e9757c75ffee1787598f0f74030c7bf1404bf3adc5bbddfff7acd07064710fd0035b4739fe0040f24e9c0148419ecf8d1930d3871a2041c6e40e273872084991250442003a41daf4ac81e1444f6961dff7e585243ec622b47111e5bfd37fca61fc76f24b5d1e190a93b3d4992c2e315696048b040f6975128d47ef6bbddf7fd178e5e38b9bb859ea329b595823fa1f8b6edfb7eacacded0af3e10d85a8c2b6d4c933d87bf940992fde5573194993f5fbee83753da9782234d9e6fe774c700a6393ec22d2da0c7c26243c318e3231a0bbb54b4b0b854b4b0d030ce73a5f5f51bb754a4b855d65a59cfa9bcafb5d65a591cc65985f1868564f512f9485f67b2c0b14795f29456566555566555566555567dd6f63a93a660fc5bc65f5b2f04cb57bce167015b210dad56285352592f552dd467854366c64f8331d852f9546a6509b158cfaaf77eab5a6bcacf5f61d68aa5c262a5a8aa4d59a96016eb551ee367b15254292ad54bc9faef55e1c87a15d673af3331789f7539154e85eb54b097e2b1542cd5655d227fc9ac128e377b42fe92d963b1eedc5254d496ca525b5567fed771f76ed55a992a7457feae807fb14baafc8076ac996797ee5db8ae7baf73790f948186d56ab5a22179ece5e7376ebd84636bf6d18f568e4eee6ff5c29b397a3fdc7249bff1fe4aba5a6d79f55395e386502e7a5e3d07ca6c57a10dcd2e204cc5a20293905ac9c5d9341c1c5a47e3d17d8743f394f2e0c07171cad0b9e53de96d3a58df85e3e7ee79783fbf85b3d4aa2ccd7acfe3e2d48183076dc67a4655348e6644b32c1f1612d68f8b2a2aaf52711ee7711ec7f2de6a45456565b5b25ab12dce555554221ecd1e79611bf58c6644a3652633f9920c7802245f32d76f1acde539eaa9bc95e785a34b285de4421f96cf2a1c6fb6aaebb25f5948583eac1f4a89ccd88ac7ef0aa55e45b82294f2d57d4c2865285f3ab305a9b512f6d4acf22ae11d2fce8c1199580a87364bc1314b0147a97464d433a959d3dcaedee33a55178ea138f3786b38e2cef6f76710e6229ed35aaff33acffefd56b160bfd2b7b4d6bf34bcac990a7781a2f234afd06495ef54c2d1b3ca7f4dd95a9a6c553a162baf58b34e92c9641ad89936688e4de42ae048c71e2fc494de0fb75c634c565109c7efef7f41324b862db3de55396ed8e399f597f53009607921642c210d2ccff21e0be8b5ca074b2853629f861d252a2f552dd8570987cccca2606b05fc82881c818bf4b828aaf44cce66cca50203083d35d3bc4ae8513aa76baa64e89cf23f06c936b43ae8db4f013b4b959712f76cbe7a6ac62f7a02b001cb1dd8e02963f99a7ff14a38e2ac829b28611c156228177528e12699fb154f051c3fabfc6ab50a47955fe95e67b240ee55b86ea55b013b4b5527b38aca2ad4a1844729e5b928021e7b3653f9f90df4e32f9957c2f1e6ef89cc5f327f2a2a4f5539545c7f5b9e35591ebb4215614b28a57c9d9902cabc021b9c8147e62eeca999fb160430c51453f4086dcf3c22fe9a321ec3f369e6d7a8003750d8495c644105d8e989ac878f9bfa15c4ee922f7f4ab1d44a0ba93c5fa8853a2159235dce5947bbdbe8b244eb8cba23972597a5141aa5ffd26a2575b4cea83b9a7ffb3723173b9a8b49927434145a48fd206b01905ed2f1769d77dfc3d1dcbd377e7657cc875bf7a35f1ee93b58bf93c148b62f65b6a0f5baf9bbd81e7eb9e60458024534418321a250c288073b7d821f7228c201e8061db04c5725eff270efa594a6a4a4a488007b593a4925e10252503879927444614cd8d09580075e0ccf9674853c9b90e712470822bb0e4870bf0046c8a92233d69a34798e0de437b4c6b274324254fe2e76b185689ac04dd443302df4dfbfaa77550e7bbfbb2bf0c8ea533c6ff5327fafe329abf72ee8fd6a151e01bd70057edfeabb5f5d70bcb9e35a4865677e1361282f28817194104fb9385f870d70ff88a14ca12904e386c0e0e2fc1c0d5c70fc7cef957274e56ffcbed086e37be0d8b2ec4d4d494941413d3d25252d59b2b4f4fd289bfe451106c3c1b917e32f1cbdb77fc3d1fbfa3ad3880c33d3afaa1c37eca9997eb310e6500309fc9e7b3c00550a948157e671718634322b2c01f7e317e2a2fc2f0c925b7386403e06b75e4f58fe11ddee443c8f7600cbf7dca7a494ae606614d97342608857f2a40c8c1ae87c0fbf01827323f411feb0c12193ebf3c0011e61b98e4368f27c980d8e6b3ae89a608e07b00f8f6d5fabcc06d2b0ba1194e6fbf7574f82278be81cb9cf4979b92bffde7bbf4179efd5e1313d281f14200cfef850fcda22b16ee22f7fd9a4e9a955bf7310fee7c7bf67d66dd38bc0abf9b0c44bb0ff69d64a69a5523a948bb2d22ab304dd095a6b137f72276875a80a55e9532929542d7bb275c0b2498849f652a48c057d54b02fe7720985f05e52990f7f491d18579b6b9bf4a7ddbc2fa5b4afe3301b1765fdb8ea7d8c8b5b05c7167671931947df905214c27ba9f2e18537fcb5bd8eb7dd5ec7b78f81b48db2663b48c8f6ede33777fb20320a7649af4d50f49b1af2a6aa3e5cdcb677e1c4f638e66fdbc7f88d0e49e3375cb86ddfca9b8c086b6aa18e023ef8c0d2a07e42cd588f8b5df727fb77d671d15bb5fe0c7864e65d503af3d2c50cfd999999996f90cecc393333a7b7728270ce0f78b684e3e796bfaf021c3baba0d8f5145cb9423bc482c55b99cc61f1fed6c76f6838a3a6d4cb8f2e97973ede9cc24aa9cfca2cc209256bfc59bc0b22e0cf2c9ee6d116dd981f716601f3a32bb3083801681b12c0b9fbe96769c31e750cfaf6054664ca0445ba3e2a737c037271da239af282399335b46e40495ca416dc82640ddd60360af8001eb759aed52e6db31e2f2d7dbca876d0176b977ab4507466a3a0faa99bb414539395a241421b8c85caf4edd22cd3b7507e436fe836934e51906c523f3cfa1d45bfa52855e5b81bb54c4c4f760946b583c248a1c4f454bb9be989e98909ca1e59a40da8d65a6b5df15d950bf665e829f206247358543c2d5fabf8dcf54d978f5698cfc66c42e0709bf98b3edd64681843cbd3e73f7058ca1d65aa56afd56badb5a350974981fb45166059d361298f3d2575dcbb32b82cfbd75a6badb4cef7500237db3086f9362a16e6dbfce8325947d5a7ae5cdd6a576554588d5155a83595a6a65061d45715eb8beaa2ce5499daa28615ac5f595414ea8a1a5361ea4b75a9aeaaa2b65496daaa2b55a5b22aae29755555b5e6d4152a4ead35a204400a2c6b3a3ce5b1a77a6acaa00fa31f43851a1afa29c078892f5cccd097a1df827e08d27f8a02287d05fd18fa30f45fe8bbd077a9a0df429f857e4b54a14a992ed18ee6802b80d2690d503add421a8efe346c4f90c6dbd470c6d329d90c242ece48803ff7ff6097fffcd844c1fdbd64c618f004d17c5928da04a65eef6566c013b45efa54ab1b293a18078b4785c74a8f960f961f2d40540471097181e165080c91989e15455030c242f62f7dc09f10498b99ccd72433df402ebe835e7c0b896f875e2f9b10c1f82e4a8146635473a4c24ba41849b0f75c5fc6dfdc18ae517f05982a773e06def9524a42aaa129221a120a024a3243f2e3233352240624320406214180fcf0d183070f0e9d1b2eb6d862ff12264b4c4d4f60cd7f906a7d3ffa992501121a2aa21925d59e92b5544d0a4acd0ff8259090fb928dbf7860ec5e08957f2d1999afbb30a5feb4b57a07e58338fce53ade40d31be6fb18bcafff850b900257fb35643af664ee3f70e46ac8dca514a4f4b5547fe4c3888047a95471f0c0d0efe741efe737e310996c53e34011aea11058133cdeec39e8773f5a614ed838021e696e0afa7011f6c437e2e4ce41df1fdb7c7e9146e6c8d0ded634d370a4a1fa50e5cf3927bd74fbd99a8e32b9e56fb60940165cc012f0f62050bee00d1ee05132a1aaf7b640db688a81aef739fc8e12ea79cf81be6d218c0e9963d89ebeed3cdf6ee057439e9ff71ef7e59bb3048f3018fdfe4b29a5943e1540122c9d9830457390c0d4c5769fb4d2d9dbd3abb2767b1de7e816de4eb5fdb75129b5b2c1fb39f6501aa0e4edfbbe7743181d3286bb002930cc8efbce497003c7ee0175c8161cf2e51ab6053ac6fc8953fceb253c88a92832534e4ce9e06e3168a1fe82922325ad174e30db804b3695434ac37088ee755a42142b2f9800ca2f76754c3c815f64e91402247984dd160011058e0110352580c081eb5229252fa6593a2511c503198e5eba516a2d77371a8e386efb6eb5decdaa72cc5008181fbee3ef3b1e1a99c08ea4a1dd36a17dcac799b11fae25bce45e8ca75c4ecd9d223248b8ff47d35491293935bf19ab3b3b954e5925cd09091eb9dcefb9df5f95afd5f1eae1f596ee4ad8cd2995534e39e59453ba6ca9428e81feb42ff274f19b0c707fc3d48dfee0386c8af477ec5ffae3dab1ef6ddfb651fb56c5c29669b8813f77c78eaf3cad8fa62a1f2fc25c5cf781f42a6d17c0fd74f6b5ee744e29a5dca694351c3bd30bc48f9090a5de746bc26186303be6d3a53c7bb39b9d96d65aebe6b7397a3bd0b4eac8a16e97e382b841d4fa73b3d65a700ba7b7f9ed6a3d30857a89caa55c9bbe9fc47963bd3434044a91326069c65c2e8ca7b5bef5bd740a65d9a20878be546d06fad24404070613c57f974b1ac077b650ce9e49d597aab5562cd53664a6d727538a6d94e07e4a8f4c99647f92bcd59adf1369bd8b53a52366f616b485313f657444f03229e6c349dc8c2b86800150820a15b01f1e7f31df37bf35fd318d0e0f5b2eb2c6a593024c5d2e52e5fa5af47e0f53c74599e3a663d81f5168b1f3fdfef6ce392d610917c600400a408af37f74b97018a3087f3700308db8216ba6004a80c7afe5316c02994ba604a5dcafc343a750908b3d8bca33a6c46d9e804523b0ace9205563061d77a7eed47d6c2809dc1c833f8da7f13a2ea3f1331c5de6b36ca58ee6ab65bc1341cd8e320525c68f3249851fa5925c2299c825c9d4547b6a02152505652a4acbdaa77f1a49cf3a095090d0105111cde808294969099325261b383fba727efcd88fe20a3fc26e7ec481d97721009400cb1a12591e3dc8839c68facb3f2afbcf2092214115401c3c200f17fd530061803ec01f2010300828c445ff191086212efab708c11eb00868441603361218b0672f602769201783ba056c16b089baa8696dd447186ca414b0935aa99780cd6489490a8a8b5140ec2fff1c7005102776034a7f85b3c6d31c359e0638f6dc3c6bd87810e84773073ff2a317ab1f750d0ce011d37c7f4345a9f0572ac64b28b09759c6f777941923ee3eeadcedd247fe48243399040733a0a09510149009559a356a822493a4d2921713bb048329058ce35ae173c41b988da7415022dbe9c789bda4f1fd344218974e4f10e519a10cb0a1c4003bca4528179b4471b19b466c03cc011f07c4f3c5b464c166b2442909c988261404946486e4c7a765468af4101902839020407ef8e8c18307870ed8475dd4441d136fc09ef2233b3a91b5507ee3494b96986a4f4da42c25729a0781de531ed404fc79f4233f9a31bc64e9a8aa5892c964363825a18958ce4ebf08652af7d3f860a7df06e7064f0d8fe1414e0f6468417e7dff167a8a5c539035fd2f19a35fb6306bf8922dccfa357cbd503f97807b6d495732cc4c4351cc57ec8b1d7084540594a2dc204a879dfe973107c4e088289e486074830d3b9e8497223561a6112e888aa9208349272849728d9d7e9d2884723f8e2676fa79280185dcef230aa0dcff23c8a49e9302fc995efbdc3f0d479ca9978302acfaee47b9efc02d58a858f0fc12a3890ad0468a2f2f5f785c40180a363c42906605ac07088a527cf9181a1f39a04bbe5e7e05f0e561c41f2faa1d38bbbccb872d29beb8607071a95e98352892d8905984588a2fad2128809f0b1359015e155f4f0c485b5e8ac080528a2fcfa2da41b3cbbfb884a391ace2fb5d2a5a4051a60242a458e993d00f29d6c7b5a10cf2c857fd1828e5ab89e806c491affa356452aee108d3364269784b0f9e94351f7a90351f28206b3e45d47a78e2b3448c083cbab24f2aebac3346c4567b80ca53d67a70e2c1f3246e57920d12c44cca79a24a9563958255568830ac45854b95e352196c836845eb05103ae6521c28180c5bc878df4c0d2c842b26c6c5aed7573838d4629da4a73ca28b34b2a65bdd07d4f29957ef6c9a2f27f2e58fd3c3c70f99e39e6371562f8e68482421f9f9c1e2049a332184828080545e5352930253564444d48271b7974bf3e5efe4e9828d74b4819fac91d31d09f9e26059be0e0e1e99339d365932e64939d6939a7143a1ea57974fca1c1959be0ff9cb258dc77c76b75991f089f2041e4571e6cd1fe78fe92799798484d33cc99b6a4d30313e6fa9997a0977ded6e44e966c925252e753147029194733a2a9808498097d4243421c2827122e182b0527c1a1d3339eff645cc62678bd467f4b75ccd40cf127650e0a300c81e2b8ecb17c1ce864c674e6abdf41f952b160b30d5fd600f1d1a3e987ac69aa82561bd8120ecc0b0a2b40fc58e6abb805a6e04829e8326f289f03657f1b4eb00b150b5fa62e66eff5fd4c97e1cca9afa5bac9715ccb1d2ee3448147b1f360d040a2392a500a36935ee2d17c52e6d47cdd5285af654ecb9a14b27c2fc627658e8b3cff451106d399318eb60c07ec933267c6932133a34511394543a6a5c2989994396086c99c596944a94eca356c0c01dfc47056b0e10a72c303404b003e2a05f0793a9f94395f9639f3f3e73847d8f9a4cce9068083b2f0e1c975a2119635201a28769ccf7c56b9972f2373e64becfa18978cac69e7f93810e708b8e5e20e2740b7f0518fb5949c6a2990c60c19b06781c28a182ad4d0a40083a5b5f2125fb8989169114a6d3e03073188c18c1bb4cfb881cb1a0f463c8cc079f881070df0f0e38213bb39d96a6d0729b64de58213db75c1896b7778b2ddab7201ea722e40715b546d879a9744c74af2be4fe502149fca0528549e7dc157db0105aada0e2258a5a4a86244a46022f0aab6839094292bec836e231209238290edd0209fc0004a871dd6d31043c40e2b5402b3c3fef7dfd790e57bd4297d992181421d29f77b8cf5cd7dcefd2d7c0104eae2fdf2f69405fadeebf8a5abd92a89bffa3d1d5e5d1dad8c5cec156deca2fc783fb396798c76517466f71ef877c8bf0f7623d30aa3b11c14198f6d9683226f641d8761442783d2df41f98dbf0a059d4c85028f4e7094e93cb67d1eb3d26375c85ffd1d6c87bfea7d706943b97fbcb44f894b9339f33f256adb3694a3d868326736637e049467682f8adc3f610cc1daa1dc2e81ce2a4bcbfd9626737ef492e47e6a933d49d6749ea04d86c19453674036c86fee0ff216ced033747f05573359d39fb3847362e45e6ac109d3a4dcbfdaa16d78dbf0dc412e360572b16136fff944433ba647e9f15c3fc9939c66e4477e83b4024ae262af664b948c64fab7c7b3bfdcc0eebdc6ef0525f9920040c152073b4092c7954ac76ab60272316529af9e72205dcd641e7291c88b7ca8c6d0178ef6dbdd5d347c81a39bbe9decd22eedd22eedd27ca3d187d931dff67732af216f60f721900f7c02cb6898b09a2d914db233b29a8d973657492d337c81a9dcbf5ae25dda8ca97cff3d9249fd3b90e0d590dfdc8c9d6ce637bd02ea647e43f39ba44c9b93d6bd8332ab6c34186416e8a364f4a417e40decf16cddd55acd5633190b02b4811e0c3d718269042b21199339585212c51018c8a10637c41cb1a307984e4a5df5a4447de23941b7df957e57338f7932a0559090c76eecf4af9ec024f7af8a98d8e95f19f98d749a0288dcbf3af29b1bb97f85e437b2364b92fb5749ab2577a3987e52a5c3c1395db5002992ee918b46f475262df76a265ffdf7ce1f71d732d0946738e2a92c972471833cae66ff22761748f07e5c943e2e76373554930678910d5e6a3e04d57c50cae3a79a3e20e518175b9e32f51750d876774f4eba7bce91f2c801cb2c0386e3e1e8e6e101d31d5a1839a7c85ad98c6d3299dd649bcf262bb245b4e3ae95794f99b62039b5116d4a9b5133653ad438bd552fc04dd32849f95a25bbc47a1d133e45519230e1c3840f133e4c20019a311f4299be4799e01e99be07545424bb5a9a912d920d142474b77ab7bad522d9f6f537d98c59202059b647b6c82e79d33c2b0565aa0823ef3bceebb886e90a448bf0b14e464e464e464e48329995a97c2e59ae64e965f9b33df3b0c540c65a89d1924c7f0b42c6faa7feb8b920d34d0599fe3604fd1b21990384cc098197c756926338fea28fd3a4e900b286fe061a40d6d0ef9f194380eca5fe40a6a35c1a1b482ef59035f4719e602f255b99aca1bf820d98fe565ba995aab5399660a7656fc96ffae913b78453e22693c7389f212f92cae336e32c9485ea260de5227591f613547d226df452c7a0ad441499169957125119d211924db2452dbb28d36f8013918be3b66d9bece868c62cd4d18fcc6e97ebacb59ffd9ee0256b995ca43a2eeb2cd48c3593ea37994ce6d33f411e7322a0647741a64f81b624995aa82fb44b96fef67df6fbb6efbbdfc77d5ff77ddef77ddfb7a57c2b55ca4af5d58e6b72226aa65a89787222e2dada7622722272a2c9fc86f6f7dfeefb8d3811b1944739a5a3888bf43bcad33e69b52a17be6fc391c2612735928bd42608cccaf47ba96d4440c6903972894c421e9b725ce538cb711bc75d8ee338aee3388fe3903aa9c88c7194e32ac7598ee3705ca47f2b7803b481ddf0b40d8b4480beb145b4489fdaa3ec594aa99da2f6daad6e4d809a53dbd4b6114d4d4d656ff5553a238f324aca9602e946755437412a2a8a298a0959db23d710f628d3df661300324702373fb29e9c35594f93f53453c8347c806f05f00cf1f49e85a06fda022dd6afed936b07659c2778469e81e651cc95c5e4affa2c261653b39a6896dededeb5aeb526ea265253ac262c28d693d2ed25b1594c392989c5d4c46aaab1a00439cde8887a8d0249727df7a6bcaebb6d2d871a13926df74642cadeea4b51e580a27b7a82b5b96fbe6d34b93e8dccf15c95e8e66a9f0ebdb6004b1f269a40caedef43baa79e9bb7ff3163ac27d6938bf55d36efc5d87d6ba85c65f5ebb4218c176d4d34e7b63594d7f7245052ce6dd76ecf621252eb13e9a957f5b5fe502434c9eca84e6aa894b9a2208dd788d1af5b11ed48a68b584c7e335eb1094dfdca7aca238ba96930a45cff06935c9ff5c46ac2826245b1a4280c4286d4fa3d9fd731d1e80d61b6984a6b38146d4cb4edddb7cd99684c34a6a3fa78c6e8d79732358c414576dda68937769e81cb303ba40c6176c8f7f7560d79bad7e0dd3d782c170ac6baa3e78e713ecc0e2a937599cb5b96aa17e60b3229d371b65bc0fbe6acae17603add5dbabb0760c6589e0daa6e1602b676875bad54490b94565babad14872bc37ea37a409edf1ba7a294ce2c69b873cc6a6fb0dba576bb5df63a4fd2ca7d8392ebef382939bb2db5ad561e81bbd27a43b5365024aa45e24999763cdf27b7add54e5a2bad37546b83dd3e1ae33753d21c8023f07deeb95befe759ae0417a75caf5bb9adefe2ef7e2dee62a18ff31f0f070da4dc27641d0e3e9b93256eeab34ea62e14aa7a02a90dd68315fdeec544f62ed1f520c2bdb0f72258fcbb1743f5808af297cce3c54a583d9e78aaf97c20a5076deaf177efb392587500c36459f339f204ac22cbda91a8151406b3ac1db10108f067593b3284ca097ec9b27644032944784596b51ba0d0c8d28908498892248a0f921e2231d05987c0202408104f96024fde1deb2fbd5223f2763e92dbadd506383ab800be01c369c9b2764312f5880e0e250fb4a88085114b48ad1c79b9d7680650474b48a1021fecc8281b9800428a219e9834d1473071448b091ea8a4fcdc269c78999c0c662c205e2e3aaed982266ad0f2643be03255b0a203998a89a87bbf259838a2220a54d76e586a1759d66e2841f6b2acdd0082952578d2066e659abd943ce99c53ceff662bcb9a190a600a4b244ae90a4af0acb5dd9dd25696b51b74c8e3cdaf25e09a0d53998660b613165e02eadbc1ec4be1547c2efcb5fcc3aefbb55c4db0fa3a3e027759d66c6092c7ef6b2921cab4f0f7c164e9d4648a240a7852765e6a1ad21ae4307bce0ea514bbe9fb92b7a3862dc539bd5d76db508428b7aa2b6b6cd8f6612eda9736bcde9d84dc12cf6eb165952dbbfd88c9d254cbd59ba5439b9dd3c70f20dd9572dc87559fc735273b50823231fe72ef21d80d1e0914349118f11bf9f7a685c010a487dfc80dc8ddac94df31d6ca6e297b75e4a5f0ccd8f752be91117f0a0c0787dc2a0cad9452ba7003914f32cdc00fefa54cc20bc71a4e90678d8c4c5ff8c019f9a22f6b1090e7cf8835535b6390499dd31bf4104ac8584a68a0a506518ecc298d500329a23c074940c1529321b5784d2682cccab2264b7234b7ed75fcbbdfa53d33055bd6c4348cbf4c17eaaa2a6ccbc6725738958ee5e12f45b55aa9523eecb13a156ee5b63616db52555cb0b3e7e212e625867e4c1e7fe4fa379461074c1e15906b28434fb103262ba0734bc7a03fce395b1d638204e8e1c34660c9b0b6edadbbbb3fa79fe9534a29cffc3b0b90821e5666e11a58eabfcd3c6e1b08f3018f747aadb282ef51f09b79a475da1e6d3e12520cf8acc9673ef3728680bf69773706b0d349a797877c39467279829d270e4e5b7dbbef75b136775bc7bfdaddcff5edbe310cf95ee8debbe1d893efecabfa71fef7819872d4c5e95f08b6be19b6867c1966c70ff9f2fcfa303bbaf7c218ba9f610cedfa5af531d8aa614bba38f6d06de3ba49bdf76e7dfbe7ac1db6cebcb582dda46f8376fb0bd69fe0467dd659eb6a453b0797def78f48ae3226ff86d8454f8e5f0b1dd8ba45312eea5ac2dffa3aa1f992cf518ee39eab610fcd376c5babac33981df4eb574ae9532378b69f7450abacb67ecf40f3907ecafd2cf0aedf48ecee2e34b5bb6340569f54aa463a27a53e247178eb0b4c78bcf8e7dbff5cc4d9baecf10ebc207671eca1f3ad7d8ef3ba89b5230db9e3e4dfce82d2d269ed5399adbdb6e3be03ed53f05217691e5b79ca1b13f36198916621be9086d68e921a661d7f7b64fbe6ab50046e6bedf8f5055b7784c99586ae1af2bb107d198ede041e3fda8fc1968bb43b6cc9fa72ab61cf95a10ec41217e51293a826468a3cd57a880c814148102036b01f3e7af0e0c1a17303a7c5892c221a120a024a3243a284d443e4c80806214180f8e8c143e67970e8dcc0b181d1882d1778cd64895212d2119db422a221f92a148165908b40492a921f1f99111729088016e07eda43bbd64364089d946217a5384548102036b01f3e7af0e0c1a173c3453a715c943fbd2588182f6464c068bc7c570cf0a5f8e25d80311f84c60c1930159c35f4ed9356bb5daef33ed52a05b354565a2c2a5c2e2f30312b5060f160d84266c6c50b110a6ae6a909948bd9e27a3943860d8d9b1a2d27800766a8fceebda911d32da0abd56aada8b06c68e019325256aacfeb3aee6eb6d2e91fc35930d0f25efba4d56e97ebbc4fb54ac12c9595164b8bcbe5052666050a2c1e0c5bc8ccb87821be60a4f0d1a872c8781a950c39663c0b9d671c8ac75c9e82ed76b9cefb542b96ca4a8b855698981528b09885402a8486888a6846315ec25ebe78f9ade437e24b9b97507ed3e2a5cc4b172fbf99f8cdcccb192f65bcfc6e6a79e9a27153032796b3c2cbb701a51469d0f8a6310314658034aa1c3304f08008ca4851147fbc001f860c101818f3fa2031409718234405b0f5c205430d885d0ca1117fe6854824cf5c991e18e2b778211679891fbe105f84a3913cf3fd2ec04fb583e69990ca8437a3b6a8642c5aea72e9d08c04004010001316000020100a060422914810068aa8ea0e14801080a24c5e489dcbc320866114650c228618620821048001003364a40d007c059dc74303e6b5fce1a361880f66bf51e42c3c16e7cd40f23a58785ade74c70a33b760fa0bcde696ed8da4673be6e6a5a424bd15d77cd22956701abd7e7f407edc47eaca3e3268a026a540a866f1345c393bcafd9d37dcd8f15d0e98a9df28429206721014ba8903aee0484c963c2c2e7e639c64d542d6528ee9e72d98467441453023ec28490053663214f062ea24aaa665ea67777a880572dcfa2a6c937a51633bf270b2dbcf468e53de5434ca41e91c2d6ef5370300dc5e5810e918b4c2c0c2fa294833facb4242feb061e4dcdd6c327c8256a2f307f24e475524c2822e0da8d65af8faa61d3f2d00432e386a9d8a2f47ff9608962a913e37ad77f16fed5d6471b78077d0bf712b2c2c72a25d9392d1b0b098181bd8510d9cd27987d837d3619708bcb481c786de9e0794a080660b15c1937dcd832056017543657d208f9391c057e106a4bda91d12c06e0f2dac0da752fd6431709ace5ca181574142aeb4be925002edb5eb6ea8d0f54821685d3fbf6f07791b17e4100102bdad4da3f320bae1df441de45a38c36e6490d193041c4a296747e47702edd9b51462f88fd698f998e4cceb658bf891d2cd85e6fb310e433a9d52bbb1f290b39d1c612fb4f6d2017f89204ce0ef4089e083feb2cf11eaad89971b1ac3a4b73c1a209a716469fc88b86f5684f70cbe1f05c40ceb551750870ab00ed68cd47da5103a61eaf3148a041548dae1f3876a20202b4e02dd0d45f8c96f8cc37ff933c01838d47ad50e9ccd4018a0e1e1e013797ccc1632243d282d6662096e832e8a94027fcad1edc5a0d9e3edb68af0c753338d2d23f362818448c693971e3d781a1055b2b4553d95b45e7316995793c29e84ca19324db14b695cae39198b95fee8063010a2f9dd4e7f2aa48b2c80380bdebcd99718abcf994de82b13db4436d32b1fb2376357ca23c00d1cd5ef69b95ca195f2f557683892323e2dc316ddd371e8e94de5125eb448386f34f61b8b9a98cd5792841810573586080d4bc389724c1c54292e55030e22adcfb4e5e37e209abb25e27ef04d38e690f4860f950bd95b250e945ac1399138aa9cb5e6eb31714a02be7ff264800c859a42c1281de69fcbf55d2370bee21a8de74f08ab9f11df620765f5063a9356f3e05a031b57ac3022a2b7faa0066ae3412ea711d794658ea4546b9bf5f0800cd91fcd7af3314b8b601c795ed60b41cc0de966e55a0009618f922b58385866a1d65bc03c3d6706eec27279a0a28b4b4c550f2ec01fa6b533185ac47869d5b522ecd8a02cefc507d7cd81fe1840d5af38b60ca3fb7f23bba84aac9ef3442834b9dba8222939ff20ff026033eeb4fd0da9997c26f77fa60b3d400400360a86d64013903ea2ed30fc51cc6336ed76a57098862d8881da2c016e513fdf85a59b1b807f5da62c63d8117554ceccaca945f7a9cee05063bf7346b6f4978df2f4407c8699c4e760c10d01c734572c0b3b7c1f136e87d25afe410aaa4cf89311cb7c40d2b149fb72aac7910164b577d1bbd1e16fa9045f0b50046e7e9a803a53ca7b370eca3d0dc4537f58b749ef2490034aa5e5df1a232a9987c28d75404b72f9d2c826ec797b1c29f9a55ef7b25940efd2bac42916ff523ae5cf622ca4b31103638a626cb878e188cb9e9685bfd0db0799cc7ed06581d2945bdbf85168c6cce90362093dd4b60b018c9ac96d4afbf6577f21667c32d4a8b7efc5b6e681c829c8e6c5f4b91bfd4ebf037059bc2a4aadb61691f39ff64a5a4ef251a9f61b3429d7dfb5806464c7b8d27fad1e1d9f751eee7f50fdfd011935768a6400645ecd318bbd3e388a39aad2511deecfa8f1bd8972b1bf42d3e14641726d71fbde75241d66350630abf913672399615c22ca82368b767f8da3c1e139463f97aba312ec5c61fa4f6a4b86479157ad3b06c7e45802874de9573b98227dc2bc39a39655e0a75bf2b1098506f6941c10ab6ba29a34cd90a10230bd42a3ad3dca42823c682fdf6d0633fd6cf49f63b48fead4c1f73969b5abd87bf9ae50441e140afd63ba680eccdb1da46f36abbbb89f2ad9f27a9cc640cd54b54d31e43aeca8fd3c338955fdc9420bca456de101150024eb5a3a6b1ba1720c9bb1e804b796b7be7abb4b899ef39fa88e48282fa3619f91f6cc5fe29eb9240790f88e3d29e484c04eee041748b34e8528baf9a568e0e8dd9af09a4280f63fc6c590ff5458f59bec12efacdadcfc59e17d42668a4ad75798aa8ee5bd1cc32fba1c3372e06c02fae4d594acd7221b8f092ab3605171f825a477afdf37e6b354b5ce5cbd6abc4c914c4efdbfce15f9038202afa6ea97a2186ec3b37f6d5ff600313f535c5bd66204da394e9dc6482c8028619c61052308e24a77f45826c0bd06e5faf5319d76661a2acfbfad7dacbf232165119dc3fa44edcd09bcd141f1119150de998711bb7ace7e148d237d8ba9fee7e17935196755f60495903ac162d96d033282e450231027a15802491ddf12cce1160ac12682ecdff613722980b73a77391b5638c9231215626084f33b77d001fcae526a6c86f0c157bf2f370a433a98912f3e57370f4ecdc29a8cae5fb34c8b92ab04c8622bcaea0454c647d57a0255c4a3c02a27f484a559bb247e2d879d093810e8a0f6fa7a590544c38de21b1d223e5e27b8aa2781657082d315b84bca1fe70f9c6d0cfd016a7282e6524aefcc5a0f538a89def567d0d905624d62fdaacd0864942016c8535f0aad6c0e4bb8b054501a48a7af1aa5b955f1bdb829daab6eddcddddb9ccd2ba5b6ac8648e951fd9429acd396b46c874874f5b05372434b9647b77114e23af01bbecabdd63c83b8e9835c6cb4b9d3d29712ce018e5276620122be85d3a54985a523cab9d469bfd723fe488e220a1163bd8266f4f8438c3336cb5849089a4b47cd72d385ca0fcca33743ad08f5eec14a5c6ccab01fad1c110946b9b99083c2ed2ff78f1f57a8a064eb31256da5ce89945b1a991edd1ef3c7907e4cd1c24953ffdf2fbd18a8ad71054a630d624f407a1343fd512f6b55f49e7f803f0446447c3a67c3356edc4a1255dbf4b5cc67338f1e366e885eb2d44d19db18d4a46a8955a1caba413568a522cb3e350e5f496cdc28269eae27ee90128f4db8937c256cdcb8fd79d2cc776502adb0366e2c49ab6dc0ac2fa74a20c04ac09723ca5479748f0de571d74e4728d23604130433fc5307ae0c1d6ee99abda76993c56229417b1903df0b24dcc03fe367bac545fee32ccd117b04a88abad25475478e3da42258524bf216a417dc69d2d5d2fa957db8fdcb9e5f3e9119976681aea3d3b99d2bda0d83ed07e47a6a6591786440a0115624e3df0dbf369d4cef4e44d160ce11e602ac435a4728827b6583d2856bc33f728a25e3d224d28ba3eb2b625f0ea6c2be7d15cc5ac346de5c1179d9cbebecb3afc7da174aba18d8ff453c0d4c26b85f675eb01ba95699bfa5a305e48d8a5b1df2faf36006e58d64f876b1d03e3411a0be1647eb72dfb715f88d2bd077167ba551eccdc3d6684914f2ac78f315698025e6bdcf5e2b8d631f6b22e0141a22fe79883616bf90ad69e33d73f92c9f1a9ee3a8de6a9b84b014305a8a7587c1a03b4b158977d8380a363687fac1a7bd9f7382c11d628cb5462ec471bd2d4ea0f9c6ffc8867c080c1aabba29f0db7897a01eecceccd135c64e61a17f8484ec0e68a75f3364e00f241ecda621cb0d1c8394f6740411aa2545f0e5fc824f116a687a91ede98a8f93eed37405f72e132228a4eb4876a8f57dab808478fbb7102b522476f54778082b586db8b6c71d554505e18882a65375f3b3d30d2472a0236923547aa64bdfa0ec5a66d993907fac885397674b82245e71f795a084618f1dd3e1e3de50916cdf9955c1a9a133fb6366fbd165d94710cbe8917a3be357e434c2e47b7527c810ce0928cd03342016817b6933c4afce9e011bb461c62ae2ecab55999adaa868b58192cf76c3b7bb7bfd5afdccb52c00b49cd42d33e04c42db04cc0480f2b9b2cb4ba820bc98d4cbb2a866a88d2b993d5ab0bd5732d1ea1ccf65a1f56737029b7ada5536e1f727214d534d6694581de8b270f6210242621668cccf1ff8c6e7807486b7ef64bc6da09ee815487586a841c6329b8cd3a4c7cf2bad9e071870dca82bd9c706d0224273fb5d63fd18bd2cf02e8f74eb948b0829273d87be5e924426e642ae70743b2b6e6e20206e23ab7b4cc4fec8a94a9d782ff418441a59fe79bb2cd4c27b2b6a6e8d25bb2c76feef6d5a5be2d67db9bd79a4bb2ca83215fcd6af586d2ea38b07045653924fcde052678da9890173dec20c69e668fd0cd9103a3758682774f5848fe011c098da81856d1123c418dc9a887a447b4608a38a70fec43cf2922566c11d1f1567e27a8ac465995b8a022dcdcb8d7015548d5db4f0efba34a19af8eff6eb62ef74859bca8559fdde20a4bbb4d625bbf628bdcbc28e3018d8a97cd53ce6db21a778d63597c724aae8296a3dafde72be5bd399817da308743ba076d08b5f4d19dc92208ead11b3e80ae18dd0806673ee31ecd7580d67758227a05d99fe879710fc73de98e7f8c6e2be3d9bdfce66a00bd89c62f5c668ed735f6a5bc38da03af70af467bcd9ff4095dd91891899380fa3256f87d1b46ee62a3bae5beba6e8d68111c55406b02f4275d196476cff468ca1b378338713206687dd40567ec6b229ba92bde1035a71a6d87b385546ce4a4bac6b55a6232b868106bb146a89ecdac4fe6a472619b31a12877c02898c49049bc65f13214f276ba6a034087c5022d6ac3e6a5eb29c05fa67ae51b8afb6e46881b152894eaa370f96903fcc2979d32393e6046df808328b524c63a85ad5b823f8bc9580c055f1518739351fac7c1240fb2b5f877716cbfc68a28bbeba2d899094fea0f5f6728de7fa32debb07e1a85d04d15d0027544c16cefc0faeed57986ca1b4e7835bddd0cd3f70d3fa526307a57b3eb6eb26f5700157ed131b5b0a03dcbb8b7ae0186553d412e5c125ec7d4a5e8ad62d3d10fd84ec6dc452fe3e1dbe23b295dcc52e5667d9f53b60b13a57e4335ee4177fe8163eeec801453aa637c953d184a87fe075f62e18472e6d237ed6d494ab208bdaeab61d2a7bc802bb1d5fe5c4a9211c3d37a080cf4462987dfdc67159168425f0684e5de3ed819425390c5299962e9b222a645abadfb5d49f217c0170bd8c9edbe68e9d105d5f00a30e9faf1b57f9c25f0ba2f2a64e830f1b080c89ba32bcfa51b9ecf2c47e7aa2b90a57282cd90a60bd75c91b188d53be8e26ac939bc8667ac36ee59b806170866033fed34b0e8bc4c83ae0154867c0fdccecd2ef8b4345348881b24f40d582b17fcf376000e206f70ead49f380e3f60e097471b27972bcec09c0479a382655cbd8376f5fd9edc10cd112976931cddf96dbb1e63edb51c58e625973630fccfee6500bdddb061112e4d4bc0a7487d544a7c328c90ba1538f6838e940337a71ec82875f20bb134e876943e7504e48dec3f171c43d34b3659766ea6841696e6fc8e246b9e0741f50f49085b1a0388bdec49b72e2cd7e512bef05f759fcb359c9ec9f30c023eb13590ef145e2d0890f7ef14ad82e0946bbd0d8db916e70c805423aa98cd5211592a6cb924cd45a9e7282176155062d2e28302e7591f9362484aedc781c865443a996a3170ca048d25290552a6b0a8b82475e5142b018c7c4489b200ef0440afb4398f5dcfb11967abfcdca858557471cd8b70993e13f828fcd55262130c0a902ea2ac387b8e622a9e4e0a098ef3083fa21c10081df63cf186ac6fb27148d9ec1657980a848c4521ae10d011932214c47b56c762e74bd4c1015c6ade07cf18b526d06ee4f3b06786c9c7ef89274492673d65caa9e2fc07a98908939e9c8b2cec0bddd87564006562f1e58fe6bac94722d3e8e408183e87819ba1d9042db7d298edcf9e4454566c5d5356e98f5f4503592db408bbf4eaf72a363c8d682b712dc189ba79d71234fe644c217092d9ecec1daeb34cfe9ef8073450fe7612546a62aabd55bf2480c9261a1fbd97d7193689ce20504eddfc8df0cea47a471969faf060a5154fdc6f535b02627bfa3e0c9dddd9cb2ca990cdaff3066665df2ee8dfa73c7c78dd81330c850e8ed4e79ee5607dfc283387e167003b34599aaeb09be31716e08b5f79c7123fa52fa1b71d612c25fb253e9804f871be2bba3e7ae0da93f7e220739b8cefbd61c5ca06e50e2cf687f2662cab3329fc0c78e6fc0a0334a7fe14b3e479907d6c7402f427d426239c0fb1161ade08814989cda160adf65bb674ac2b9e6082b05617ee599b1f21c2af8478f6eb3715fa4af1b48135c0c1598dbd14c13cbda2628f142983d62d137ff518d3c0a9c0e52d58264d4f28fcd3b9ad3fc9788e1cbb2cb62603ae1eb27a529ce2942a53db90a4a1f55ac532fe139355d01504659d1061f6985ceabc86b1ecb52f5e3c6203dc128cb2919e70ac3a08613809a0f3ce6f49554fc66efad622df281d9024c8d2def2d2c26a9ce19f2de4c02e31a45c1cf44d74117210d726be4096302f5500e5fe89a72dc550d76113c3295f04379264831a297c69e8d238e5d349d0e8fee1ac380db1a68ef1d2e834ce7365455503441335708040fe9a589d4ddea4c69feb96297622679d8dfe346f59501cfb6811f603d370e5f19a91da9c4be3cdfcdd1b6aa5b269a42b12384d91e71bee6f5fd099f13467ed2b9e3ff581e8684882cbd1f5fa468faa2d79022e88c913a7df50b16c908c63796836eb5c19d1b765422bd86e117650e074fdfeb9f2803bbf98f11957c4dd929fc71128e490be74652502f891173a26650768c0ab8e8ac9f0d3cdc4b23f6eda660a2caf5a08b0319a3b84fd8afabb5d8da57bc34a9ad5004b0309851ba0a433e95326f38a4a32335728f41789ff95211a3091e2077d106f0c278becf48eedd67b5f8807fa61ccbf89f09513f2353feb7e6ce4b786f9dc41f3092fbe896b892b693f8d884e46684898f3b0084547b24ec2b00e70565a325deb134f94b783a8e12895af83d9d72dff153df9cadeea0e8bb8ec2da6ea7738c9ee980252885d0a50aeb622a781b9bcd91a6793db9ee3a66265a2019c59b57f4ca3556d7d7586c7252d92e8c073d087dcefc66fe94ac34802f98a293e876d9c5e85d2a70f9a4b0194127c3a27372cefafa251914e67869e3bd5ca3f9e3ad362de5152c02816c7489530243ff5b07ccd00314f6bc1b102b8bfc48bacef338d84d1e2aef28740a41af42cd9174386859127acd9ae377c0acdb2f83305e784940ddf7d70c0f2a0f0e0901ed5976fe757255401b5a353e7ca226a8ea6e38cc012b1ae96b62161a4cbe392b9c02067870c45dc8471e78d32fdc8c10425a8ec8ea150ca2006ed2d8251bbc58cb792170d34ea4089999947ab3e23e7d5f819c3ecd44e8c46cc3320560c6fd6c008e8b4ae7640c55c64a1ee11ad013dfc03771b7169ac15c693f94fc53af7c92382fe50f89a125fc6162b9843e4c1c97b08fb822ab7c9406276578db61b43ca895782ba9cf122f25f5dd6244b7480140ea7529a3f0f5923c1ed4c291e933ae48cda3ae8640724314964919989399c0a5fc432956096d5bafa85caabf488c4bf80789b152fa905852421f16434bf823d2eaa2ecd5e4a8eaf8aab492afd5ad0b13b15666252e25f607c95c9a3cfbaa985f8c669cdf166f2b215c289c54e4e32b204c1c3fa84ffbbf7562683f744d3bd59b6874a17eeacb8a3123fdcbadefbb0cced1db953582a5521f3b85b44847ac554909f951bff5693e3d057419e317f0af731eec2c6d340a89a972793e5ed429f2adeda984fbea288775104fba1b3e22fc169ab8b83f48e1a5d9b13f72206b3754d6a67a860574d1a0adc74201850df195b569502fbc3b9196d22f8bb192f4213152823e2c464bf993a9180d9b71443e785e18e640f1163873e04021f0c65e4d1c3bdb071793b47a973d0bd45599fa13851600fa87af4aedc7afca2ed839dd5b172376249b5289367d79cec13cb458a54964ad8591c424a6999c8d56ac227fe12785c993034f1eb122829f4ed25a067b7de4950cfef3896522e8e990d662e0e3462fc91910fb80a84a1a2725e3d187a8ceeeff5a612df5e84de22de2bd0c5668cf5d1ae5b8940d6004d5e39f659350e0fd5884328ff94141f00aee4f6704b1a09fc5c8d3a4e731770eca8b14281f5cc65c25dd64e4cffed05f3d2886352a06fb2b90811258810d5c810d4c20056a2005321002259ac0c6ea7360d44d7e7e95ba64c3ce1ca6808f8fbc24437f2e6d51807d5df4420cfef9a93511ec75889622f8e52297a912b57faa44585af776b38147f16a38b7c84796bd2cf078f0937831b941e938ccd299ebacf3e9861632a4ad0605b72c14841b1c75c043813f30e5a62c06c5b4517acb935cb48815c8d47e20d31a09b13e61e9d40a328c4a3e98377669ffee0a3520cae2d1bf13fa717faf50bc0a5fa2d12eab6f0831b50d9514a89a42f18b38a8a6b88a49ecd7c3111741406bb5a8af9c4b078e96a2c048084d6313c47637b239d360be688754e83a78a040bd2edb3c44e1af696fd7c666808bec9fb537ff2344a5550522f100e3de48a56d20d7d32a49a3cdcdbd5f603140c74f3a1e481e5662fe4c6f79b20b07414b72a64a548ac1d84fcd394562645cfe730c278af47e5df62938f9fa40b01f07e3f63207704e9c6fa109d3fdbc0049e3e85672f6a4883b1855042d652b8cec2b50d03308e894512c50aa495c6b2228d8324cfa7040a6dfb2d4ecd6366b1477f46d5be318f1f9a1ce58a04c7a3c9efbf2580608fb130e7e05cae8948e02ffb2243555e84a727be2242f37f4a47afd4a6b616d19b3f39c946cb1197e51dd7829bd91618898f4f19862a244a60bb2fd5c0374bc2203aa855f56b7d4104606ae0aa572d937de5e3e1578d1ed21184e994038689c76b32bca19a0b8f106a70a1e9bf9342a131278cb81251e1c88268c64a0e9774fc8d3d3d1085825e366b6ba1fd83a491c533d89125d13468d8fbd52b80857d8b04b19cebf3c0905ba9933e75bdff5e41dbc1b1bc401534256684a5cda5457304e80c69430fe9e3ff15af0dc3b4970efbb19cc031081636e7fe595ac6aa85cb187c27def4fb2056c0d41371be37c2ad93e23e8ee0e57c40e7ba6b6423299a740a30ab91d0a03fa8fc6d8e288b6c8f461b8c39545124cd85743040f2a78b032c7d5a4e91b09815d02266d4d3863023b0ee14af5238fd5e474f0804d06d0130f5d8a992f19d52085acebde43636a849835f4f3c4bfcdce36b852187f3575114f5ed48a66c412e8a0c6dfd7557d84731df815e80fbc6d885634e5645464bf253e88ad2ef2de0ca3792cb8e23664acc1de676697ab4c290a4442a6431135007e8714b7d4dbb66f0a0bb372f27f3ff6839365df57bcfac4567b84fb4164f5712ae717a11899536f2a3d377743997996998cd57fc346ca3f443b1923624bc9f063e524b05ae0aa29ee8334f639591e258222cfeea0352de1e0120a500f16d53e13522692a98393750973157747b25faa184da7fff6d201eef89be368e78b662b232a404ced23644dcddb1ce2da4145bb6569f3724685afce83b3acbfda9bff0540c50ef8bb7d05ec72d2df4733d0a52f9ef3851a77310451376840738c08aa4eb0d9a9333792565543c47519c50e1febadbd24465290dee1235f6c65c3bf652a49f1299124a5784d52364b24f24944d28a4d1f236775d2944f5d5993031f6cf733cc2aa44ee1b80b367947e956df7e58329677dd0f2e94277afb9f5d99e85dcee693eac646714b67a9d076ade180fee61e6becb861a5fb01c4dea778d94b53478e142a69c0bbb937b0206de3e3868c0ed44027cecad65e6510e8a2474833572c161d1d32f6bfb7bfb967a7522b601b0bc02c4aa96edb2fad7c0666d71070242a3d6e13fc4a92f4686bc083de5ade88092de23124d7bf8c8b6b44b8fe6f8010aa142ca08447fda0ac0996240bb7e398f269124b5d5fe3ee8c5ecdae3b45b15140490774af37871cb3e1a8fef2e3cd9bcf13ca65cc692d9dba2c41b9dfaf7af46d1e18f7a30b164f3901328e5b6f197caf1aba67f1469d11082744f7546a382ee9604e06e689bd9e1ba05fa8f984e295542e98ffe0f8c8f256ed03a07d70891c48ebad0bc6d1dedfe9d39bcfe9128b3a0c7e2dfc6dd9cb3ba7d553ec94566e5623cc67c2bc0c753b53aa42593cbb4d05df1a4508919b4a4cc4111229a608311045382930a6b1de5aca98013564f4432c80b852e7e30b737dd38bdfcdd5dd02ee44b21a1a0c51d9960c36d44931e753d96c62bb3f7a94ab0944a65c86c30431c02d6cddf8de24baee1341042709b18533400bd33a133ae6fe3355c7395c15784459f646745989657dca57731760a97db4b480f298acc2320c6706a5e12a7d2c658d0cd2fc1454d264e520e0668b6c98a42956238b41d2805f23513c7aa32a94b357eec42ef5b09560e51e759a1e9dae230c71cd966250debd975c0d4812021396e188b8723bf4bc1091df981d952e196b5acdb0b42cc1109728c2dbea97e00a8bd6fe298ee031798ce0fbda418c56586c4de31ae34c114a3888e2049db57ca34411639b7443b70faf38d770ffb7985925d6b8a6a4a69a63535b537566f8a60439799563c805b191ac13851ca4bb31754c9ecd0d752a66d338d4db3d070c0cc5c5951ee6850a535530a006ef2130e47766cc556b3dc10ca30311cb351e805d40eacf38900741036d15e61c26ea76540e19c91821c05296ac4fd6d51b781442d4111a436d95f399b909e509267cebda71964b1730524b02a5a5814f42cce351138b05b591ed94b198b5453660eecac43a708604c411c0d06cb43d7c433af4cc1d5374f44f5e740672383e5887dc1738bb6de7ac8fc42d02f2d4f63278d347f6b53491f2c10d7c81319252529ae9d2d02c8bfd035679bac3579e4c0ea835614e3ced04ba9b7d1522c2654817e9dfbaf390963bc8a36554a921fdbf7588c38622023844cc1d054a2007126f409088b01e069c48b9b1f49b854f2f9f65f9728762f8cd87091e8aa2a5ecdb73e0a2052769f0caf2fce6d90be94d17f39381b433ad7e16d4c88aa95a9965d8bce669bebf47ca78df6832b5f16a7d5ec16d5e5cb990c1129a04436318b2e71dc56b74d5fcad8b724907edc71bc822f6be5f6fef43730e4d941b5fd76182578c68fd33bddb262606393e833f7c503d68835a98c376a8a1f162c622de1c6fe996529a61ac682f2f6418aba93db05ffc2cab910a2dc013e091ae0be7079149401fbb38e53e197179168e28d442d5b28e1e3d9c6cb5fd6bbdc335310a02ad655d89a56e3b5b2b0bfa44017dacd629fd63e6d5db58fc90b2a076390dac41402f2e504a3fbf449bfbad8a01e8faa4c91a04f4c58aa534ff5b27c434ffed0668ad470f30f0afa6b059376aea711a4da3a05eacf094fa2bad33d3ba96a06ca75d9fa5309e96d740501f5475ea5fb1bfc77e7e559c18887058131dfd4a7a05a8eba3c7ef91dcf91028870c7b567e9fc792380a36788a818b648006c227b6b6dfef8653873b345a57f08426768029b842ebcfee98c1795c1206fc147be152dc7c10b783341389d33d9435cf57bb28de5728cb01d68e488adb36eb6a923208bc9084a05e81663707c242fea88d8d65eef468f78bc706644e94b9fa2bb6813b00559302e18179ce28dfdf3d3e5e9f3ab1eb8063b034c284512bba1e68554a97196ef95252b4b81e6b6d2788aa2be51d3a74410b48b93d0bec81764e0e3844296b649291d624268188ae8347274948bb9035a99745a73a8bc9e1bbf25b77c0a3a82ec5f82994982cf39dd646ca949af486b8e03eeb83a5c692b646e67236ddd0383426124e47ae72bd4758e195a09ad4ebcb384933d1f3f3ad8ce67accc1f1de5e45a350feca5c604a06e81a9e63c1ad8fc7a57a2ae70175cf24a0368d4fec7f7344ba0c0422f134d1d0b3031863970e475b26af485e68d1e887dd7d4658371fce5eb2bb8b07083f8a7c641e3609a1d36c4f66d3c766323e130ec5288e1a3b0d615b979be1fc9a252712c956f474d84365fec3e092abca2bb82f4a5a7394bfd6fb0e28796b991831b86ba2d98dc1052c24dcbf68ee40fe26caff163596b1afd3519de2940e6f14e6acc76e236e90cb7f7e51aebfef80edabdd5bf87ee6c266f232f1ab056932b132888a665a4842807366e17e4a2b404c91520c79be17fb05d817621e51f056ccd90bc6e23cb1ab5f7f9b20270632ffe258235977825ddd3e8731a1a1721495298580063f702cd28775b173da3f80d07098c3a41319d9c56188e229a7e93186b399874a61f6e6ec18aa7beffbbe10fcb984060a85ee070034c0a5ef153ded8dbe60a5dbd9414d09239838c632c56e72dcb3620328e6ca1973538a538a41b8a802828b226a2a0bb704fbe423d0a8d154abe1256c1d503483f49b476ca97ba47fc295f61956a9f7286668b3e438454de390f5a5e801a5ed859672ba4ace1125fa6cd22c898e414478da36a01f4f09c725091d94cd2f14d3210db8502c777527a4a534ad7346430649b7b3d67f58f6a2f2a1f1d2307d9f5124f19a91bf8b50c9f480652263d880a026192f3b14a8210307aee5120c5ebf5951d76208ac0c52521cbcf362333304a7193f2b5a644180ec943652f3e348296562596e38e7e37c3737220eee3b3ac273707e1eb72c833c92f80e82fecd6f17747e5b242c46787f98c178b2d53ad2a003295ba71a816ff49fe1b7523d91b6cdf1679a56dbd0394ff5d7eda1b582e2b0aa198fa19a78de6bc0221c6ddc4a99e27b7be0992cb127ee0e6adc738b9720e407b3e3bde4227984e06e549012901427230ef4b407ceb8e2fee072853399cb655c50ba9339f549a1ad5267cc71f8a112da88fdc38d680ddbea3ae09b2964a40cbb37ea40926da5916e7a70cd892cf44cd8ec4b0f0059ca2390f66f4a233e630f2335f8241e03f38b5f6866161d7d8520168f5aeb3f7b751ea1b89479e4661037e1ec0a1c8d710389a3ade4e4a2d9198784b091bde342b36c08cc268d539f71d1ab3c03ea5168b2f4d26448136c3f0281872c13625983aa2e2c1ba869e0197f499818e3a9c8727d36314ed5cb804cc043e100d18819d764d3dc9fc5c1a9268b1bcf92ac91f93b32e4496dc45c95227e559ae8838302370ba4a927d08e3f85dcb2da0eeae0ad1ede36ce0a90e3e5c33be652dd2e00b5685b45b9365a0b1b3a12db66f3a4a633de81999c3dd99525bf3b0b1cd41eaeeeaa7e6dde507c419a832d5a1c8fea21b45e089f38af213fc47f16eceff38bc49cd74de1266e79ec261f97b090af15818435bd5da4a88655ad702696b73913b365ef5508af689ed96d736ed9e7807b16a1ba8490933a11ba67e91822e70ed82c6cddb1a55b78ca758b3b7e8c26675c43242ada22bf9d28e3d4287fe00919f64585921ad30b915c27a852408e43629fce184088773d685c819ed2a3709de733dc8808932e4938e4f9cc581a6f124c22fc6de095d2e95470004159a669d13e8a2bb8b674221fcc0af7761cfbd44f80d64661cf3e49bfe4598d7b3d343e5674beb1da9f573b4dc97f327a0892a89befdeed2fdb0cc9bd97978cb2e84aa3c6cee95dc39a8586b7e12dadeff10630b82333157bf01dcfc86448a5dc40889a9b9e241207a42d7e6545593699bcb5a08e120008458ddf3f9558194f1c460edbf2b16c8e8b7fcfc1b2872d0b3128c3c863097c5a00f1d91b90217ea68d4b5be90945678a354cf2bb48d1b7beae44c1191387a24f1106590ed2449ec33ca66059fac0fc176b8bf68eceb1ff9cb0560e46d6582ee29ce275a466f51bb5e738c16f76cd54f24a83167791e3a1209a9c4d052e0e28156a6bf09fffd4be9457f610b9508c28f409e7fb0aa569ccf1d43f3ce584b482e44706ce52f553b5f8c905a8058a036fbf08cb42ec92a9a9a172af44ac49feaff0653eb4578e2ad6b8cc4fc3d94589ed9567daacbdca1c92970062fff301a3eff95815e16e848e05ca6463c99a82dc2883aaaae93961b2b16735e75e97f36149b82ecc69b0c88ee01894f7267c8bcc1a17c9bbd169751a3a183cd8768740c2f4a8980dc5b322dea7f7065227acb0f215958614373b2ddc6f729eb5bcc983ec810ef1e7658893cf0089556e170337f6bf5e7ded9b47bc8c8884214e1b1353c568969d812819ed41aa656ddf9628c86a5269700cb67a08743540e0b60660c7446a9d6e6bbf4918a056ca51b9b6e812ca5e6225c14b841b7efd2671212e256031f6bf7b367f149279ebc626cba569e6913c7569ddebe2054b418c25b762c68119cb528cb3df2c3d36d081236902b4f43a148bb14c0ad30d0e35af707a68df45795db7f2a67a9042b610e3630035c2c0342d86f6462c39113ae79546389113903f730d5a1be32a322c8f25efa5ad10bdc0be56ec70ff8d0a7a7e65534c37ab92f0a8b5e40949753bba82b562be1e943665af3dae3452694f26b1d61e4729795a3b62db453ea187ed61d4d5be457ad90fafbc7db5c8070058d3c214e28a125c2893ca6133817aa6b942b09566653cca0277c5fa3379e9d97a4f7cf9bce06026f9728d9d1b313339ec2c69a5dad39a7f9229bdb995970fcb395841606e0dfe578693046ba2f5bbb8101d8bf3e51597b053abc116b332d8338e53a99b597682c587a27f55038d67f5b83a5934414852e96ee8367716ebf4aa373b3e900b27c91d5505164a381bea1c2d69830c0eda82077fa431838a0aa133a898472d830a79a1265be2273dd93220efff9b417b0c6950cd6909815252e48bd1d293a896bf9356ab57ffe0d9274c2491559010c49815760c825c8ee95b34eeb77e5831573fcb1bb3c71bfb32eb337d005b39250735f2cf68cc673fa9da75f0724b1aa564fd2c43aa0811e13687dd95b41ad8af6cf2ee95d81331dc5d711ef049c8fbb0c5fe3fcbd24bb5089f312c9e7ea099d2c997cb5908b892586a75bfc8cc3a7bbab25baad45ceb9bea5e5d92358bee5c91e26c46ce90030a6356a15698ec1fa2eb858140ceaa5b9a2d13b0e2d4d3ac34ba776dc303d029b4e227a990e4b008219d5ece393586d0093badc0aad47e8b19fe692222fa67d5424a5fc11e59f93b8b703d8a65b1360e76d9a55dae0b1324d265ab88e3422b26ffc1183c2c124183b55979618451af9bef2de30e263b301cce4530a601a1a6fc609e6609a8585052516ca0315cb3a9463e255ce395ca2aad86d7af5ebacd9f8e55f7b43b84e9401166ef27c9d827090fc25c16c264fb1a2b9a4a31ab78e3289e291e87f0c7a461320bfe1f1dd9a41dfa0acddc008e83fbf16aebdea4da97109f7e0a7231564c5629e1ca4e1f4444466aa719faf6805afd0fed566a6b0be22391508164382725988384fd9d08858a22a4f5aa78f4de070dd204e1bec10454889f36969fe49f22f8bb0efaeab9415272115381dd6f94e975f6be346961792ffa346e5467007966d7ac59e8de32313a7fe6cd1dfdf53273f3c38deac92229dc88fa67053ebfa0ddd0e372e005d6b6e7ff58056f877a94f84908dc4cac0356e133b8e726dccf6ab35c99acb1e2e6c463a614b8e8954b72b6c270caddeb70578b8db6924bd98ab5e93da8cc1fdf40332d605396e48ebbd94e0789b6308d824f8b848384108cda12946df1ebf966ccb416ab91ffc5a1f40b6f1b9b8bd41e31e1ef68b42780c6d3b8686112839527598237475b45b248c921d84dc839040c06d350db5d5c81f1a4e3817d1ccb38f59f99c118249572179ad4bb3f1103846a7d26b91e0822afb2060bd29aa9403d6bef8f11df0d53a5ceb14bde4ea98a2da6effc48a2dedcbcd5d912561f42aa86e06d66e2d7cf5e9d7ff27c4dcaf3fa801a2a4141604c146c7f03153571b2c4478b968729d1fa08f0e715c0eae11c1c377c0eaf38621d2a352fde59b54ac5f4a00e04f20fd58ad88b50da228987fc60194de8953bb1cc8d111d80fed811e43086c023695673a48e53c9b6b4cb58b516a6b28563cee92ac55f0a0d5261ec8433e724f24c5de28162c6736c1ecba0246ec5950d7dcb0717f2280054d710aa7ef8a844e48b39a18f6ad7c98a25509e1650d578aa510328faf60c4f7e9a570cabe2b2d5cbcc8448078392384d71d717583b1c4589e6d709095f543bf014b2948d4b7e90b6e6adebf21a7d05248313e89c67560969eac82f26afddf20a655924f1e429068e878aa4867f1a538306b7f19192a5baeafd97a072c83356dbf8c569d63e14a9ba7cb69064625fc56b418578977761e32262b903f15e5b6442afd34972a0c2badac170354ce2df47712b242aa80f5d7588b8d22d1a178b8e5044bfb05cd8dd4ad7720d40acbe9f6da7838521ed8edc36d70890dec6782155b42b8f483b1c68a4e38b55b019dfe40016f0d5824f73f21cfdade77d958bee93cdf6c27c3b309005ecd04446b061135b9cc98c60a32636309bd9c98666684026b29109cdd8e04c6402139ba1c5ecc80626b6420b9999cd6ca3e2c2342e7b1d3c77003808c10e2a17e6cfe5a93ad595b1289face4a85b972421f4a7ca4543b1f8520af731905176ae5dae2a4f41007136b0bf47ac7a130e7af5394ff30533d995ceb57109a59e38e6c4fb6e8ee973b3e252a9e24fa483932fecd221c9012b1f41287f309d74d73a5208e37b7f1bb401ea9edab3e45c3517583967c574b036ce98107300ecdaa20f7ba08c6eabc8b8e8a3209401a98524cd95a110caa666531a4e5d828850d6ca38f618c0f047c498d9f2cf2442e19d651caff2a357552a31933da9b2a4c20d1352863fde2eaba1aa02249ff5039463511097e72d3a69a0e8f0c96ed97d2ea5682674a7eb19cb9157a945e699bc933c8d8a5fd4d2161e3f966735cb1b289a71b4bc379136d0eb3ba15cbe8df61a0856f67f4b2fe15f8a4a1ad3f426b9dd3c0574ab8ee9f25268ad31b90a522b3cd5ba387ecbf635ba24e69c5b66d75f7fd64eeaeedf550a982e327972a779ca89aa0a5ba8740c9c36ce0e6ea33536f497c9302125e15b11a7f8141000d248f20740c886b448e1edbd6ec6c21ab3fc5a0919fdb418a1f667a8b4865d40b26690a9c9cf59a019aa219946905b12a33b27211624b85df516c6f6962720f9f83a0c3ef82d7ac34b0b75c36a4fb8bfa543f13b6898c2ede99f0f683a20c7b86af65b80e9a6f001ef9399c67cf399fe406694e1224baf7ac633f76b711ddfe8919ffebcfa207ff3cd70e1f5480a905c35a2e42679ec3161c3890bf7b2c1a5e68efccb5d46053798be40c4b499a6f231bb6048dd1ca2db8c0da464ce99bd04074fc6bdb253cf03ab98ffa8eee2b2753f66a1a3bb1f746f69a896d03623ac4a3dbfaeb8b5fc5accc38e544316957b85d0f3ac15c0ce823a027eb9ec5a2e545732889ecfc1f43e68a6b588a9b6c5e010cb5e012458ad288ffc56b40cac88ce16af960d3a68fee19a6484466c021e4d83685205e0f84966a4a28c019e8e798c2b0977e61ec2eaac05f6b883c539700ed37b2ec9bcc1f5c56b6a0bf263e3dd735cd0a20bd4a7c26a7b96b4102505f3d1a5d9abec147530d5006c05d28a37707c0663c42ad32449fd85c1eb9b30d1501bb8f71056c9825ba51a8a81d2ab002274e9e81bef1b80e4060f9752c4f48dc61a793c7c13fd9bf55aba64ad158e1f8aa6820c2219bb55c2656958bad1f689aa9dd38a14a1c753501e94ccd8306507c50776a912437b56db69fec4a42f962b833762edfa9b0616fca1ee563621014eabdba21ac29ecf6bf4e3e36dbcda981fe4248903bb5a3a5a77922c296a280284f0cf7ada83df9ec2038926e492d46a6ad2165cfa8eeaef48e8b399d76b3666e851cc780c5c5871583d7868d58294d63986ebbaeebc24ffaed8e4769bd41d469f660a851d7b97d32fb0599879e194a42be22a23b7a94757d6a8f35bae3d937395ceb2ebe53698f6ffc3a2934716a0b985d92723d1bdaf3e90e03d96fb1be351f8e7efbbed87d801e39f6afb846a5ecec6297c412af06c1c2efeb8f3e42611e49689e0c11ec4663f2b86cacb73325c5186bc6d17845e9ee08f5564b15a3248a047238732ad6584146aff3299511f6fbed9d33c27caba6b4f5085e107b0465f70dbfef9a6f0d1efd9efac2edd1c8085893cbd07cf2b06e8594ef82664741e75b73580e74479bd1cc48a4db6cf84b08d9f022088832f80a4c5be8d229bd63f14a8c594eddc153aaca0e1ed79939dfd8c9e2a091bc508ccfbf556fdb81c4200495f6a6b796807ffd9124436e849633af7628cc4b72f97d9bb20a8811d283e8f0b8d798a8c9da9b149cc2d4c832c6d6e75c360c436c3fc343fab67890a6f8d37cafc5a1410e955a1257806d745baeb1f72e9b29c8dc37ba0a031299b2c80d97e303466217f516dc82b69dfbd5a1745cedf26e7dcf2d968d4f03f815976927d7b3de9165105bfd0f242312cbf4fa704085ad23d135bfda42754e858782017436fcd7184fb60e049e4856b2152c1c64ae233bdaf5fe5e294f443d7c905c6db8548271ba6f8e4b1678cfb41c5ce667d7f58796cbf4c1846bb5e7446e778e95293cb709a44bbfd7626fbf5adaf047a2cebd9b63070a20296c719249a90eb23c367341fc3d292c00817d5cd79471a337b703ffa5b6df399f4413efa782362fb8b3e85d39f08ac15e4807cbfccc506f41058c4582b5703612a29af0c98c71c39bb6d0c492046e1eb00bf99e350930324041b7e12b197456f097a8569d54b9b15e15904b15dd7bd2ca86549ef5599d76c8964507bb35767ae60d27b35cd4da6f554f41c8ace155cbf867659fcef3a9f0dfd144e1664a24daba7789a7e8854168356ed134b213841d75b22372e1c077d543957987055e276e2531e7241c60f574b745bafc2b567583f5079f9b122d2220231957072212994b65410f23ca72ebc63e7040aa42e5c6ded82d951d28da09402d5568abc3f528280182605a7981b3c52ab9728a0a59af8277edccf92b794c7ebe20c8ce9c72dc136bf51dbad26485925984f0eabe6f60d45ed27b76c63cd2d309cda909bbac3ae001c449d60939990177b29da2baf47a79b00d75fd9edb244448800ca971cd864f1c33a73da20640fd2132bcb660ac521d563e4e3bd4234e2a457c4fc5e80e8e1b400d12dae5396c4aeeb17c0740c2169727f259cb26c3441e039419354b58e8189da3b01ee6fbaf74addebefab1a308f2c91b1718af0a73a262dd2951ea7ee856bf61dc3183689cfc0461eb14d305cdfaf37d9ab7bfdc34f915e8e5bcd2bb01e6fc07a2ada5c87dc0a2ccc6fce86a2f3566b202b047ca203209446a0b847f06f3127bc3668e393e5654817d966cf1d5f7566befa951fef637e0b1ec722ec263e0cbb19eaf18ab119c4f1e6578c2fc486307dbaf4b96caf4a5e36eb4444129e149a99a79e14d8b9e6eb38b3f9717e0a40000688e25e1fbd6c8fd1df337a7cee2dd047b7c97f51bb02170350eb515db0e1868e2c5fb7d7e055ddd2ae24fabd1a3aa95c4eeb0d9838f254af5b3d4ba3ef7fc95f611ad4e32c2474fa7edd8fd03dbc56b9e852cee2796cccac7c720ff7a3534d70006f48b2c08e6bdee3d8cfc01d738f5881ced0962345be4633f2dd73bb2de82c6923beed3fa7c6c91a7273bd62c4eb15e1401c7812d384f4925eb192bd9258bb68068555f4323a2564b46f7f77f4211c71dba71865d09b44ac3d0469182082608512704404475d7b1c555d7d6ca28d6d0332e20640ac9ea356d6df76196e108fd058adf0beef9c0cf143a2b192c18cd8b5f34bf2c2df761f2bb5acfd43ef8a654c22356c4c40d0c9f72d5e87457e671a461e6fff8a651e479fad370522d63fd0e5602fcf347fc17ac2c4a65171e60ffc0e221e3efcd0fae73000978f6b227e9bb8bb450670eeadf9db2aa0a09b7c4d27a381c72cc81ddf2dc812314fe51649d675f9fe96d4635cd3e64ccd94ee11b23b9b3b7b7d17a2856fddef673d967c72dad4a8b138f77bf8014f79c082463fa284800f0075df8cd26c1026987ea94f6b719ead105a0692ffdf0661a41b38786ed28430e22e42a33ee07ea486ec8731f605739869d803cbeeda66ba6ac24c0327346c58660a70fa9ca1086da7439312721537fb6b508f74f1880518cd960212c962f689f61c0012a225450833e85cf9f2ae56a36f0d2b14299d6082c1d87d8d083a7917309bce07085c14db8f4c2b235eeb072e7293f56f396445ae53a508a8ff01b97b178fe3c5f731d357a0172a81765bba4e5b794f89823605e401456282685c1b9d4cc80659a5a0b7f19e534ebfdec21f7a65ee871bf9688eec55dcc011bd1ca98e04acd37f1b8c7d364f79de64f0c8b1379c13badfa654a700f76493c64a4f9e4b88ee6dc22e000a41f10f3659f2196b03143346984b23c49769570c005061b6fe318c085bd35a14c61f4cbef037ad646c0b93d5a53efb57820a8e58f503baa23b2ae1b7538391ee527319c5458f434dcedcf08585c479182dd700228732220d705092e66117200a8e71f4d756c322ba6862b9a6face5d9e44553b783e82a73526ba5016840a6dc4968b70316d45046b152df436e748770668a58ad1420ec233e7cf8c5570f6eacce99efd33f777b04faf45bc32a4948803fc0b4661df8c0f8708f243e2e6e2b218a395b1f8cd8c0bbaef9b9ac1e0a1f7a9d6bf73cc173805b06eed9047d8fde16fd04b3ead46e4bcfaf12c24639563877f07a12337d00dcf684f913d109b6a55d48b682f286adfd3efd8048dce7cbe89df919c1e77cf47aa07dcf38b098b6b198af68bab1cae1c8c39b4f0a3f7f140e63621fb6ca00a0cdd72307eaaa766bbf254d6c6da0fcdadbb2cb396c393574d53a9a85002462d4e6b6a283cc1d39ae97a1739ad7f4b9ad0bff62928055e27a5000f529e64330b291711d4fb5e15e2c12920f48e0043785f5b830c94f7440152a54a245b34581a480abd372f6b5aea0a561a298a34bcbe0040f5dce5962138c1009884f1873f0d55a7ddfae5073bbe6c5550ea0983b8c901b0cd75ae828e25b8481899fe8993a4f9e1f928854a7a66f2e60e3dbcfbb22547e2eb71410986b1b27cfd41f7d0ce3274cf006bb4649a0330c52957b98ef0b28c4427670ef7a5422d582069889076459f9f991e94522367d2aad0cada6fcdcc9a0acd1ced2d9bf935ab7b70c38786d311589391a2bfe166dfb2c0f96e024b44f59fe710220bd5615dcf41bc2a8fdbc3419e7ab207209a193f6a0e3a49a8b40114fb50e017440111b1898e26e1083ecf0117655d46b14c2c5eddefb02f8ca82b0e8d5a89ae489ae84a24275e2c98bf0d9faf8989ee292c1cb6a283855996151e18e95a63e8ca545803292afc44c8ccda238c232ae0a610d4a70b5e4b95b0ef8e1df9c163b6f77511481356155f443deaaa31e57020fb2e745d7ffa500c73b0a45866e5ac68560d9effd1033d57bb603079b91a7aaab3b55e976c602b8d04a1bc3890d010963f317161c17845d4cfa54f036bd64d0d87fd7554fa58efa7ea055633727c86a721a6455606a9d5b371e34c7ca2d798093ca71f419302d9b3d446542ce28c9ad70df21fcf4a027f8fc6e98cece6e3bd37e3f6bc99fad9cd345237039e3adb8dd930ef36faaaf5cef20fbabc1cfcf9d16b22e8e5122d05d8dedc0c9b904b90e0ee9a39dd1755d5feba35aefb483363c3d65a846ed00c7d364aaa867621f4666597021c8c504d39211f621fe61bfefecb317baad2383cddf81806be1e16a10eea83c1947c345e96a6738f44b36a11fbc6675128e091dfee483bb323733bbb8bff98d23ffbd261aa8c0c698dae5b899128557923e18cff028db7232e5517b95e947ce01e4765d55e248de7eeb00f69465d8d3c5f5283a3d617ac3982c867ed17a6159d79ceb733e52a7cfe731de79a18692ccbe810e37e114628db3987e43b33f263cd312a2d41a8aa6668aaab615525a4f577a621322e2d7fb14fee65dc192f4281bfabc3016fd6bddd535925e961eba43004dccd0036bd014353f607db1fdcbed8c38ed9ca4c03d9a083278504d8cce4869a9995c366d4cc4c80fc6464626610fb3ef0a55749b651551b1713762e542e2b69213358a4405b824b1b86ccc0393350282e672e3db3b1418f19f934c70ca597c8f97957ccc820b504337398c9c029c165ca3053da4f30b5abc0f741b653662e10309e62ed3cce09140d69bdcc264e02e8afcc7f0e335eeb6a37c35ddd1b43d67bca0533514ae62cbc18b38c658594f169a9f813b2224768456987000d087ee803a567f2c6aac37dc814a765f4de9910b5a1a1557d022938c868ed6813d20bf213940d83cc86118e58b4f8ce277c6741e6c10499f240a62729f26bc800077ac75ec41b50fcbbe6e70cb68ecc6e3f263f7b3c0e2f6e90867b8d2c85bfcc2f437a0d0b0277fb7e4c2bad9cdecbc70cca79d2e6da68baf463384ae8fedff012ea63f69948a7757d41f322309cdda73b3547c716f2895c267f3fd1ed2d7397eb721de5e4b38065a4b5b770562a17d928f72db31fb01c4c779ebef0b70cb7eda522ac66e862fa92209ab55ac4c326024fd3d70e9a789af9012692e257f3456769fa2c466587616e809df4b772661a5db32ad9705d28c761d4e6ec7aedf860ed9c90d82e84596172c304e01ff76f4679a2572d144cbe17817113e7d62cf781a45d10184dd525bc044963034a58c42dbdbafc21627011d9a5aa07b83c08e1342a6c01c1f6b64bc62e6c517ec0367c6e25cd31da12108a62e21ca74a54fa2c8e12f826c25569da0343305fb35f56a663d95438cff58657756c60b4d46e6e34f4e1c55698bb6e450f818b9cc48fb2221f7745c1de5e9edb2763969ec18e30b37fd6d6c89785627a1047d2455d9809d78a44b4a6b3fedf23ce28ea08d0a900d8c8864a7e7e8f4960aebdb88d7a21ef10c1c18e9f2b967dc478079951572c6590b75a928a68807d33ea4974f07d7e32049019878ade00b2ad7097131f69b4db588545541df4f0ee4af910ef55e7608e135d4134b3cb074b17cba3c985d054ab84e368a081e000cc2d199041ae2c67431ecf54ac64072d15fa627b727af4940fef9e97b7a77c96befbfe82ca1ac556af2da3dd5bd0d7c6238a029658c7fc5d57f28487306aa8e93861ce3521cfc9435ddb66f8847c50d3d53f5317531bd42df01dd66b5f1b2e394101dd976db6031e372a8f9d8ef7664040c87fec5812cc241c4b17f0807de08947eeb642b9fcb1eb72594e1595c9123081ec2702fe458f762dab1a8e28a3f24d5a586780187b6b32a5723db65451281fec90f925327cc1ce21840e391848ceafab1508dc3a5db42df53be93df8a1dc60cab3535e842e720f6b54f48ec030a9800c1e889302e4310fe2ff2e73f7880d3ad449ff114764c400668208c2c1a87953cbc873565653f395d8b4dc9c38f76045e6bafa9aad9cc2c284f6cd930fbc8271833e4c31ba89fb4c42a337817248f6abb6e8c8e6fed711ecbf92b53b0cdd55e064c7b60836ce2302a7f6d7b148e7377d040c8c28154d698bd013a925285273aad5e709ec15ab31aa9f279c4ba3ba10466d41d6a1b33cd3412a81a561cec9809ef12cf9874ecd02d0739713dde962a5512858110b5a73c65eee4003c31e88a8b185c8208a1476eb1c144245089b156594f812acc013431716828071119dcc234c0cbe069bc4f0cd202f1a5032098db039ba4aebf2ac2a0d37c8c066195f146ca825c0354e2939e6409082a53a27031ba90a5201b0939ff8b34210c38845471e5c6c05edae7bee1b924dff1f4a7922c6583155ec43de8bbfffb5ebf5c36e317a186f7860727f6f08a4f58cb70fa5de30bfbd646e057eaecb35902811e099d690dad59ba779462c9d86367c4c04966657b41ef1bb11e19104289208d55e3454846a514e924b41a98861b488f7e78e57720925056c5b4c122263d5a4d18102bd6781a97c2c4108238bb83f476784bf1972cc7c31665444017185b511e7d1667de4ecd1ac622824ec44a2ce739c30e1993a386171297a1a1a4c2516e08d961965b1587ec49fa27ba9d74f4deaeca1aeef44f2ec4d151d66881511d228a4445f278c7cc15d7167ccee528c42bb52902863c4ef038f27216027c4118496380715f15e54620ae3ac37fa013cea52bb0770db2633e77f4d1c8117605e29e6d3dc82e77a1380a81279c1622e7f6542b25fecdec4557d4bf9653a9ef2c2f8495b6d0e5d9d122af327b000795a165b2e047f562d1842499b3c99720606936411dab809b3c8282d9b87d2e397285399dcbbee01191d4fd3b2d59348c5b1509416ed2aa73144068b936acc63903b4d8442c024a4a2348b5a160522144ffad1e161a9c48663173728db0334ef349dccef0406810010080303023830272b582fdb47a156a0499be0ac14d4b63aff69906ccc7094025de3d9fbb0585799fe96d69cdabcd19665ab4e8cccc7d2f883b29e61cc6abf93e26072e433a11b2955753dbb9779cfe461196b72454006969a2809c9d6bf400faa94344476e6504af94d20894760ff9d1efbdf66123626d0aab6327a1fc91cd664aec43d3eb819bc38fcd35d8d8bf23ba73a0f7b1b6b67adbecc5aecc463bdd8674f38a1a9d068fc4c3bdfb3ce5991c3c6b989ed33981abe7f8cff4f4bfdc099243a21443e549a03c804ce6a009ac6d0a2ee0b760083d632dc482eaf5f60eb15f70d4e75e2ab0652a5f98f3470a82a3dea1b322192f988a7cb31c7d45f6f851e38d526aecfc39d2a90fd5b9eb5050b9a41e7ab622306237c4e7500984462a049083572264a5f11555d9a1642e1323d3ef1a3a815c5cfc0f00aa0cafd3c87382237e3fae34b664d9d665887c49f255fe7881060436648388524600bd6397396498410b2529aa56004d7016287addac7e57fe0e9d50513966b3667002a1ccbeb81f56d2680a685ef7f89dbbb47edf1e8487fcc869a68fb62ac9a181c28d1a6376a353190631f451e2a83b056c03d32153f402f1131bfa8c62514f0c1c0567e91b2481598e14d6a2a0e0a3163b5aabb776be1748b46a61d841c7d165846c6e5f5738d12347d640360d8c6113fd30a3ddbb5836fd986a6bfa5eabb696753e5da83f96f04289092bf4130f80be2dc6c2029728bf405f16a412c69c103962bc20c9f6812126c726fa91faca330746795dfa3f73814bc2f47beb9ad81ff4e61de806ac0fe76d29200e451189dacac0f74b0976d406532d3ce4c07f8d9f020ec62c160020d9d2ddf19af0c221f6a3affc14732d4ab17e401d1d59d1a843180157b339827a4b80a0b7f6d782e72171188417ebf163409efb0ef451c009abc01add02bb28f4a162b0c3a8ba247c93d8da0b38243cf3623aab63be512fdeed8523180c18b8bc826724154b2651f1a7e792014ad00a354f85386b3063a57f807f007f20a6a8c17472fca0cec1ac5ede892aa2ba36be66654037b07b420e4afc4f649259bc760852cb65b259b8b979103e6d48120b57f2e7f892ec3c98f72796ec233a565daee0cbb7a99c4bbb0903d202f96ebd1a537339c21435bd609a1e7d9fe604cd453da2764fb6f5e8994611b827ea19a78fe275a1849b3100a486b4664b62fb5bc826b4feb9865570b9c441eacb9660f82c98e01b09877a58014c4719828b43ca8e67293adaf276fd88e32fce815a37e4a5eadbe89dfdf54d7cdfaac9a7bd9c38e6a8f628e6815af27c7f1721ba17f1a7c41a8755c7532c77b2da578e5347ad9a999e2c50c1c04f31530935584e836147755841ae6b460f6ad9c7be174d23a17e3264c45e6f054f677cb122faadb1cbbdbb49b827fd1de8a94215491580393d243c9c58c3075b3c1963c197f343ea5ebfa5d890e6bb1c84e3e65cc98662ae40d34f73bf38dc1d2936a7230cee438f0ee4d64fe38f714f3bf23cb66b373a73c2517ad5d87d1a1d9984f5e6b64b5086467e14c39c4cbcc982a3dabfda23e945d8da1eb950507fe992fe5914ff7c0d724255d1c32ebe946e3e25a52ee2df9a04cdf6eff472edd345bd50ab428788ce0107dbe767061c319fde418d303f1f1fb205e086f53102d1724da771d0590ad849c65d24fecac07c417774b7b39e0a12ebbe6fcacb528038fe4fe24a269f01525254a692c9b8016e209398d417d45b143b3364468e89f453ba413aa9f643c4a74b6be62cf5a97d7e69645f92d6c9c00e5e69f583ec0d9c7bfbd2027a71c34b7210689ce73a9e41e811b1396f76ae5d7c9c2a34960f2c6ba15ff60ab3ace15f971f2e1291f3b22f3a95a10a15fe25a9d8873a52009990b93ef702e0cc8b047aa4c5ffd5e2543daeaa600022e53fa77f4207cf592680fd94deb9055f3da5228e250ab429bc3b5d6a34815fe91d936d7b05666edb300424fe437a8dca0af5221703dbb4c683584db5b354fd6289fc8b7a6e76c8a4d2fe2a62944f679de526b1aecde54e84f2cb67e8971f46974fba360b53122f8a30acc60933929ee6b6da06c50de88c81a62541df673e823453d937c5b94b5bd7335aee50925a39eeabf44c10039d271e9b89582847a6c330e44d7ac3a75ac316bbb6dad7e951c75135489535316b0cd70040d0e4839667493fd1f8ddb86731e7936ea727eafb2c2a039f0039104f3e61cf8d439304e1cab877bb11be7a6e3c61fd067df302e5a509f74b9bd8d3d97c8595088d5dfec15ab42ac4ab53395b0359955338fd7c17388a77f735e91c1a06d13447bc92c463a363c43409ccc7de04fa86ace2305486b5872cae7fa5146de7ff87c018f44c8bc054b4e1fc30c5ab7900d8de927159d2ba938275fbffce28647ed7ba84d0bec9c9bc5f83f81a15b75a855845dc17ce08a87789e91cea15b50a893753f66c9effeb11cfe150c5d4cb4d0db1fe2e81719828f0cb22a7cdf8b7904635f94359140e00e1ecd7364eed9854a656bbdf02529626ac9b6532eb7ec1d2c869e94865e8fa12438e74764003a790b883a2ba159602bf01a0b01240291cf6682afb5d432bfb39b4b190711a2ff10224261d9e415e8e7005abccaace0c8805b59101bf15288fca1c305a0541da3a2e25e13f2ab1592cbe5f2503bf4cd0eaab79c7a488d08327e0c23b73d3d921dbd7dc5fd9f359876a2cfa872c1187594308c5a81d8574167792a942a3d9df94067bcb801b83138fd09860505523615592defbcd6e1e38a2468b4519edcfadcbd5d26015e9435802762656ac399c2e8bd1742244b9586683c76b2ba10298559284af7755a6026921feec47ad2d64f17bf200fd6236b576b13804854168e3bdc703df40ec070bfbe2b17a5019e2f2bf954f593d8a1094d50f398d9e2f0031bf26c288a1eb68d82be65f12399635dc9496e705d7ae3bc06ddd1e6544941065e5cbd5c130ee894c0d6e7d8de1a34b934ac48760abf97ccfa558dde18bd849795d50431b9ed0674653f26f7cdde8d36255a7ae667e69be75a26a7287863cc28005dfaf62d976bcdeeafcc217996c77376e5c482056b3b16deb45bb5204763c26a41c290657d7dec7a994bd8f1c00f4bc0b30c3a2f98c3c787fd40cb60818bfdf4ab60f034369b29209e43c021a3f2ca15f1c868546388030b784c530087026a30e2fee0008bd242b5d6027655e0fcb948b6511c9b2f384df1b865c67c64ed8c228610e4e6ba16d386220eec5f63f343a851c99241e43634bd91390d2e9dc33e8bb8d9a832068c67b14a26c92724e736801900a4ccd2613ae3edb70cae7d464bd326ff504a46b7916bf439286351149da073f9ab6b45838e21b1f8dda844fe7ba49a000adcef92020339311b94ee38e5f8f7a240dcc94873febd0bb07bd970b32e965cfce9bad3d2a851018656ad2af880cb212bcecc973e99077bab37ef5e229685be4a549bd9885356fe0d535b06d4b2ed7184f55e0cfe438c69e5f63f189dd6ea619d42add71ea970c7f10a4304f0eebf8d2ed91f33d31865be8f2c71e65a1f17f727546292d10aeb58949da6ee3e614e8170d2108bdc1af412d22e3da99ba48c374e5ad6b24dd4b177edfb6dfb67ea4bbc794f1e81d20366a43ab4b6c28be0cc39a684587f85dee8573b056b89760b45b7ad6bbc44cdaa3608672ab76471dd49d2e0902132b0714e51e7a9975eada74e30e347b5496b442b18386030dc3b2d3558da9acfb1696d8d43d8963dca38fa847e3d0dda2565e80375969250441132336418798464cb9e5fd967c31130f77b37109b48ddcb5d5f62fc652bd3c9464956aca71a8be3f51e7300c44cd633fe2737ba2e84348fe05d68e8c94b4ef3b4996d15d0cfe37cd6a6d058adbc753428fc766462fc08bb5a755cf28e810370e41d42416b96f24d8bf09c3d0c76e0198222285247a57f4f0c4cfd1f60fd69a5277795b5c25de8cbef7b8f00b97e25d6c26652358b80499babad2ac8faf3a1339b9545816cc83b18a85245a6abd84f64fa3f30c00d1ba30624ca1dd166955b69f2c0e300fb37178b979a726c9bf6104d1ed0c162c262f8165b03a922c76e513679dba958218cd5411a3bf824250850be5791d65932f20043cabc426d1af761949d409c4c435fb2330408c3cb866aeb242e67ceda0fc65852c4252ee1f939151dd1f3b8b44e1a326bd4af14f5904d1e335f74c6fc461dfb98a1e23487ddb295ad641dd6f339303497d4b518cd4a172cae7454c8e11ea634a509f09bccf4498d669b2c1d52f4d14234d3626a38fb8a39b0b39d3a64c73debcbb54fea561873bd4c12eeb13eae93205364575c7c5404ebb94f5827628d661f4d9a999500503019029728616c5d9a4a91d36469228695c975201de385bf2ad2df674c3af5f22926a37a0df2f78b1ce6d41ca4eaaeaad1463b7058b638708b12163382dc4f70d5317a10c199773e68d149cd0b3756472d98a287a0fb7c1ccb838be51516670f10860b05858d5bfa04a92c4d11bd75aa2f5cd05e9837c80bcb78e83dc12e3482b9d658b7885e944ee0935f23d8fd1cea9b33d770f8f9363a4aee627fa0c91559da5705c952b93604a9653e48a50bba24e83e5c89e5207a22edbab26c6561f3a3686953534f247a43569ad9696e1b8917b186be04b678a1569274c99d2fd9a1fe92e708a36d94d03a4733e14aeb91cc03145064f502efc8b2fbc8ff366c1ee11b2513ca58c1082efeadab9578d1a064a8689de290503d5f90a863eb729b0578d1b2c82d877db67068c32be23ae80688a42d11124b37bcfaf83b2ffb655d1090b7935e190b891833f12b9b140a6725517b1585ae85591c71a4378b9b97b38606c771487670c122f84d74c1616a6c34108aa5960ac94fa995142db27b44cae8e7f4a1455a97fff89210334a0872fbf9c87ef68f35a87d18511ddddf6864dd3d1edbe148c99f3584985b29ab726c629aa163467334317b79afc1123de598edfa716a02964577408ee459edec07cec37be85c182b24826d4583e89b1fa317fe24fd3130af40d5f7393c29f3a416561e4e4ee7b7eeec764ee78dd3784205833e672096818136cc2b95983d5a1348971223baefab956728192b6d9caccad19f7b02006f627d6061fa1a81521f6716f1b19279fadb200773ce93630dfea0dc0cb2d25b6cf23c81886126386455f095e456d010bc1c002b19651e2a5fd63f40d536f0e599b860a9c0558c86da93d069a2e1ead793d43b3c496b5fe74f87c4003ba1eb802c778db5bb7945dc354c7cb43f7359c75f9b890fef8bc3254ea5969cae52c3e1b3bad347097c249f2a09084c3fd7f12881b21e5abccd6c2df49e3500011931e49158ec3970b304c477cec177931ae151a413a980a4e2f59a5c2d41200ba92007619c1758eb4f502a9e08e3669cce74dcab01d2f8dfb1832bf709fb5f20be512dc3de03e93e356e33239d3054459336e9c947e792600efc7004d548e61dd5dfc134e50665a9bbe472b1dc09cc5c06338e5a6f8269315ee2a924780c79055c74033a6ba67e5b205042930ebe94f645c0ed3f060acf93e93c483c5ab422869726ac39c14d032f5991b5bf3b7e6128b9d8098425f6481e2f1900c20200008425be542f248f803f9b991aac6ca18b4914b609e793b29859b1edbd09917b4b29534a0105086f07af07eede6e425f9f02aafbe0876e0c744160ba20303b9cb0abe39cee6ec7bd0ef3c4ef9a72b4f55c2bbe0ee7883f87c4333a3c240a99148cc5f831c68f31c6cf897106dee173697568eac6473242943ea48a1af6dc16ea1bdf27be6e58b9801463acbd80f02521c9eb8219785dffc843c2a83753c27c4e201b414043b2f841e21371209e3af27465dcaa166853ba7763f4da687381a9b84186f8820d5d09d52f57254189a00a2f6bea2faeff6bcb0e58aebfc73d4ba048f0c54994eb7295132e4e9e2e3bb1c20996cb45578594307e590b530bb4ec7054c5992da8b4ec80a4658717ca44552126cb652d4c54d0b8ccc40a499cc95285182999753df267828fed7f78943f3f137cb4fe47dfc95cdcb8d653b7f22bc7ca694bd9e7b2b7048781385ae99df0317bae6f1795e23cca956ee852cea3a9fa5f29b36ae836da6a719ed7aee6189d97ce6f17c82de957ae64114676145838744d0fb366da4fc0bc5711098820538399a7ab1baac072b2c18885167890c1173237620aef8a97ab882b4ef38a101cf43071d2a2829432423411830c163c71824b0b90c20843e660fdd24654469acb554d6ed87020014b872486e8a206527ac84106389899e24b0c8c3092798301863ce35d294174c28b235c2ce8aeb48083af28c1d451931338606144093008f38514618c804241eb72559327f4891b94dbe26b71adf796735ca8538be33809c453d78228920800d82306aa273d4c417b81115b60308a410f31542182249983406d44611f33c0e52acc7cb9f4725593a41bf6f01457c3a2f2096a0a5da8b090d13f4e2b64fd4f103b2c2405e0bae7356c0f44e5aa15962e57ad8074c31c778527b76a05ab1b7a4052d6552b60b97dbb3fa7df074b95fe433613ccb69f1fb7cf07b7814be6f59f56fa477964a87fdfeb7ff5e3f4e7f4968e735cb64be9b2fd556b073690600b283460a14a14aec1982b2f4b189da0063fc864f5766f27019317af9963481fb2db711f319fa81ab21491f947e687c04044585089a2420c9e529092cdbf00031555012206b429184c89e205198ebc612326441c6806ed0808f343987f81f923ccd7c0fc25f34fe02827920c7766dd99e3b11de47f776b4bc739610749d76f38d052673394662cf94ffc9ba96ef6f57e03fb46fbbdfc84f0961bc1ce3f203af7032735bc99f29ba90e876134375458647b1e8d67a7d4f89b29d709e58d9e6769cc3c3758ee07ac6ef87d9239bbdb771e94a9a1bddb7fbf0551434bfbbe3f21367e37da676728f9dfcfd67b2304c50f35eec019338ff9fb773a52a836eed9d0fc67fa8f7c1ab60607b6c6d3a0790dcbc1d380615f9a193c63c6b6c558068520303e6c513525a3f145324bb34fd6e9b18e98a16a2b56acac6434eadb1a35af6eb3b3efba9a9a1afbd927eb645b5fad45f258937a6b6ccdeddaab61c10780a5b9d5ce6b6711c822d15a694e35b44836351b4f11e8a3acb5a0b535d6d62c948df29894a5d662f1989db24ebaf7b7a1d938f9cfd6791f4d4d8d5163ad4d621effcdda264eec130ba5868d9f72e32d92ff6c4d927847e7a2758e97b54f1e93345e6265a1616f8ed0f81a5f0364c2503be8f024a311e3fadba80854e3bddf40eb44fbbe0ffd65733cf63b1eeb58e7d3b36d8f15816cd4a8f541ac1be0635d2227724a6bed5269f88661aeff0c25df0d2d8d86adf1d1ca4f6a32e3c8636ee4319753ce48f298cf70d2b5e7d63e73cf129137d2ac08ac1b43b53b6c1ee8c846fcfafe762a02d1c0e23f31aaac95ffc8787f7be53f00787f8b65b3fce7f5fe368c03fdfbdb32bc63c63b1212e7f0e7ecadf9d0856c669dc32dcdbfb56fc3fe771bfccd14f378b421bde97d302be337b0dfd3847656736d6cbdf1bf63c9d1b999a389eff4e4b11996e6371b5aa429b3b134b783238f79074d3a40b2b1bafe3f986ed8c1d1751b2c3653ae6323651365036553a3616d9e5cc7bf5a1b27db7a7f1bab0874e3fd6db022908df7b7196393158168b4accd94c7dc8666a314dad0ee0e9af7b734ff89fff37d413ecf6b3c59bd19c3db646c5b7c1b259b251b26df361abfddf8cdc66fdbf6fe591b271b1a6bf3c43cfe3633d77b68f36c9534f58403db2e54b1a1f90f110e629f9c3c1665ad308f8d93ffd0bcbfcd13eff8de9fc60e05f5507bc409bc506b3868cc13ed947f1b5a047ad03d1b5a386376538b3afe37ec8d0d7bf374a344de4c85ad1bdad02c14d6cc2fd5708651378365f4e6383261bc645151697c58936a526744c3e2a8459dcec80b90138c8c68589675d19b6154a1fc473e0c66adf88fffd89ac7ac951f5deabca1a5d5b02ce3e003e2776bef4646ef1b5ada8dd54dd50dd5cd140570bec6bb3e0adc3c07e0cd110e180c31320ebe4856c3de1ca9f1349e06c8a47d00c31425abf145b2ee47961aa7ff8c190851eabc215bcdb0386a1e734b238a1c5896d5b09f83a5599aa5dd4c591acc4afdd0a2f216bf06cb70a2a28eff8d3572c9023055459d32824738b02ca36159b69355ff869676fd2dcd3ef9db9abf8deac055b4810b41a1e39c50460785d4319f3fda8e8a3a5ce4a262845205a5a96fdc17acac30639a6e5092664950babbfd9b3a7d34c2091de76a39a702943b3f4616d7b95a9d2b4aba942388e2dabda9a2a2a6ba16817626ec32f75c7e478a4011bc395299d42f2fc022ab5f249b12bc3942d34121a3f922d97c068998677e0c546aac8d6ba8ade9c651ca75ed6e587329eb022324d1c092a90255f7342955734a4e45454545454555c53c7c633b3d1188a873c5fa7db4352f6dfccab2b653e4bb8c34db7f7f63b86ee43f3fbc83ef84328b1188f61481be9f05b81b7823244ee0f6eb5cb73bb1c6127d36088d35d2fa7eecdcfef93e2cd4f8f2037c7daea093f2879b539b11c73d005ab3855c4f696a78f0e0c183070f1932860b9cf203d2fdf75d674fa8f9cf12f43b4a993c7bac1565c490f5cbf5a86e3f8d0de7d49d4fbfda84facf5219a67a734ace2582621dbc0ecccaee9965f72d0692ac13bfebba0e0c976c7789b944e798be6d415b480fd0dd389798b5b9c494d1b7d4710ed5eddaabfeb3d5be88fae2e9f65ca6e20b24cfbaf58a1973ff321562b0dc8e3bf6e857240618f68df1dbf6afa7966bbdd73c53305ce27a4979878c77cdaf2d30ec39bba77177f0f5b2383fc3a6a35f9096d75f03a4e74defdb3c1aceabf982780000d963ccc3bdc72446d7eeb91a1b7aed764f3b7f6a21befe5df7f9e8b22e8d17f5f31a15e24380a10debe5ba0ef49ef28ed67b5ef75bd8f12bd2dd4ecead738151b6d3fcc78768219eb577b9a083322243b34143124144c9aad10557b1d442d2cd2c07314cd47ac8844192f1d328493720d9f8c1b1502181d4b32a33193f851d206bca88bdbd8342e660e5cf216b88598d1f5c872d4e3cb510df6eb2e2c84a8613863bc82404b2e696f81900dd6f20f5d8df86c5f87cca12d30cb6e8a78249bda05eaf48bdfa82e17c8e7c71c0d5d0e4cef94f43998e3b86ca553540b9f2bf7664e576d4db6a39359c5aad46eb149620a85a1515d4c6811de572d5c28ea21cd7358f3505bad4b0a5e6a6c395379d4f62fdc4671bf7645e7e09c5a9993a4a09c8df09b694c7ba012051254804f678e240f4fd29e0a536d8521df5fd99d0773adb21a21e126c2c0148a9616371b1646884c6fa9824e7ca7f8d20c42991c77807d008593d3508e6587768c887d83fe4807ab0100fcee1cf43cca3858dc7f403e2b960397e7b86821c4192e484a324284bd369b31ce5ede6f4a48d383226afb4d3675e693722693922d25210e895b67581d695d6a501d795b663d25d693da4cfc977a5a599495bc3146dcd95b6de7ef25843ddfe6e030fe6b09e3006d2185da8405dee4205e986cdc5f52fc0e52e549edc9717f6f59ca0096177a59414e81227cd8d1009822c980a66ac61fdb2a5ffc41eda566d15893c5ab9555b31d60ceb12f9a55782f1295af952c3b67aba8ee586d48abb34c7d38d0db826e4587ce68e1dbf96d26b297b1a6d35b0f7eb87e73d3d4fa84b8d1f7ade658fdd97a2abf1fcc79b73ce39e79c73ce39fd99a76b2aef6019bd01fe3520729e9cd2a3ffb42e470fdcb9829097aeeb84bc745d27e4a5eb3a212c8f2e5922022f24cbb8fddd47cb2a1d7fca08f43106d566e89172ce2ce4085e7aec4691009ed4f0c60dde51e9b794cd51eed2a2ca548ca1baf6321563aea082253ad81164ff6e304f0cea96006aa8e18d1bbc83bff5b2f5d20e99ef7a20f35da0bbbf74b77c2927a5f7542cb37516b42cae6a161ab8ba828174eddc70fbd9230296cbe5eabee876ad4d84ced173434debe650d530a7e763fc56eb4568a1bead07a1d56a49febe92ade4cf395d7f33c4bf7b205e745dae07d2effaa2dbb2275cee3b4ebe089d433e519c2cb94604f3949ae7b77255c39c9e2b897aa4dc866827dfbe69dbf6f9702bdb0b86536d8d95de230825ea31ddcabca1a1f99efb0fe468683ed7f3d725f1ae0bdc6cd84e77cad9d205db9838436255c37672312dd43776f736a67d6021d93968bca36515202cae43e55e4f09000a911662c015299f9d712ceebdb9d490a1ac9070ce1909a294be73712b2cd8e59cfeca3add873df43b2965abd56ab5bec3bf1c37b9dfb8093a97ce11597a6942ff4b0d7328a59452dac473314863f936e980f0f5c09b6ffe37df8b7dbfb9ec47e9a52e578bcaa84ef2951eb450dfaa1abedc69d38f3fe76cb5c09b21fdad07d2df6a7dd1b5a10ce547bbc9224e3a95cc9536c360b5fa5584c1adb6884efcea230c4824119ddc68d0ddbe67dbb69c1754f99156f639fba9fb293f1f0cde0cf1f71e88bf077a769bddd6d9a2bbf96d811d44e7c8b9b3fbdb5e206753162dcb60349d4c5a96512b6ac85048e2533a8d44a00986413058e7c9f75eced0427dbd975e048aefbdfc7c78db87302020ca3afeb3b28e6f4034ef79bf05e1fb3d10be1f480130eadfeffd8b2e7dcf86fd61f75babe8764be66d817286ceb13d258a1c1b4d253affce6de873a3cf0d977443e4d30722995c7e6ab7a2cb1ef42de2baab3c33d7023deab128a5f424fd89792cfa143e60debfaa07ab5e17ec0ea6f2073ed40f7ed880078fda7eff823428abc3a4b70c4350e458aa57af17d9a708ddeed16e469ed3e7ec295ddd455d7bbb47e9341e16dda29631c64680fbf454e9f1e7839b61086e7f834344f8f4ec308fc7767cc472767cd8978fba791bc755cf73b9bcd985a563ba4bfaccd571f91bb211d9b94da3e4d1e872fac6b66727c63c1e954c3b2dddddd6e74e9f73f6e456a3a0eba4b4d247bfaac73cec16e6e355b94f7a0cf6aa2d97cbd575cc6e7bbc0f4833bbf53e0b828f233446686a6a6a3ee9317ee681baf2bd916e37165ff5dff6eec6aa57cce31f0555539a35142326278400c21177f79d1833bb0c1900e0d74bbe5eaf57f4dee0c9ed9781424b4bd7457790ddb7cfbda798f038998727c745212f08f8ea16752720484c659061de8d2c5db69c25745d7451435983c4b07cf6184b116ccfcdb915c9b66ddbec04431ab72dc60e02b3c3861a7a97b9e37b35a4ce02114a63e8edfbaf2168d71fd646927f5a7e51437a65807942d4ae7f954bf1684c2f35931122eef4d4547184a9510aa70af13f921353f9fb1e93c4080d5ce0e9c9f51fa1360011d4b06991a542efea0708069871eda8d61896ebbfb3d19d1e2462525a0590a9612c16abc776d0b095a00924b2a8cf90c3a0660fdd51538c4de920f23355c357129f9e2b98dd393d1f1c3fcc200a0ec2292e890ec3297ae2a81bffe74a0d5f1c15faf8bc60381c752758ab5466222acc0d5f3fb8a8e1eb5ad193009807c4d4f5afcd4c39b06daeff36e517d4fed36d3de6711c626ad8f303104e783051e6e58fb345d7321b36d430e846201dd6618b45160cb0a4b06ae2f273500734604197d21e0ed432ae7252ba5f11f672fb36179c1b0ec570aa5c5dff979fbb5c1cd7ddfddd6f73d27967175ddf72bd628c31ceb84d1ffc39415419d4bf21cef5cff1dff1f7a96d607a70ea0f63aeffabf682c92f6a90cf8f32b5464a6b29e88e9a5c5d77f30f56bae93591b7e4bfeab736ae39c9711b336fcc719451bab4f4e9b63dc58e727b17cc7578b47c6548d5b08631fecb63b00ac26a98c4eb3aced54f3186e04a6a8529b753e7883146bedd3446d996beb4f1d9d216b5d2c7b6f5109eaf44de253206e04afd68d0b1d0ce8bfa30e6fa7bf35f75521952f5f9e5f5c154fb664ab63951b5829ec77ea4a0863b2390df38d507a8ebff6a92d176afa0867589bc0d6baefe237f28997789bcfd34080e114bfb8074fd3dc935f31051cf8e3beda34672410de90d12a532c7188aeea889725b836112af924f37feacba2c757deaca9e9403819257416d5e45a3dabc8acc94e25cf48075fda97f6c89fc578d31c6b9714c3d3641e9578ec5e4df80256ad6f4f2a2f45f3d285d7f588f47611ed3e1cf73a58614470d6af86a29a8645dffca3559a5834216a31894b8220310ae22849802a545063060c95ac02e2039d254e6fa83d049dd00266a08bb4742b8409206c175fc3deff5c2c1c9c909992a845da662801535acf595848587058433553659b9fe344a97212039a28672002854fe90b31870e3864c8c88baa90651a286de0052a8f19963fc1194cc13d56d5de75ed7b188e94a265491e9c6e7d10451b44922d39db1996ad7abc854c5c874270e3355eeb0a3024939ae3dd7e18f838b1a521c656a486f048287abeb5f5f2aa837fdf44af0a641b98355ff869effcb1fc73f67063b94b9fe2f1d34883670adedcb96b585b9f298c7cdca631e639ccf6d426f57e086b55945a81845a6ea20f31e6771c33285e4f23bcfb6aa6d8aeada50c3f9c489c75c26318f737f24cae21483db548d03b71f176a48af53eab5aca6d3284e92923c0a50cbaa766832bd275eaa10ac73f8778cf3c3ed4e9960085eb297ebf09f970635f42424d7f177270a0043a59d61d14dee1e0013db16764dfe60a90dc6c0202d3e58789aa397b068a9e103e91b94450d698e1cbc8363f337e7e0672f229b63ccef2d6416611e7ef71859ca9e8d04fe65bcaa25f92abc6c933ce79c922e39c175f8fb38a2faeb0853b38871332232c599d3f58f4a5b2d2ab98e3f38a6eae8a246abe4861b5f5a79cc3fd23eeab810ed56db82aaa976ebedebdd70678ad1f5af2abcac69eaf06eef767749e858acb7b38c8c8c5a90c5a73d4320c13ca046d2c14993761dfe0640a286def5468a300828d5f86123c1e20c46616cd24d3c872347721dfe0f98554fa186150239d4b08db8303526f9e0a25d9ad298182c698cb00886b6032f7556e30bbacea88cbb2b8c6bcc8f9deb2a534357ed7e9082528d8ac40afd893f9151aa94a064ec4aed8860555717221ef337e2313fe2318f4fe438c0a8f14340e2802873288f721dfe600d6a58ef0747d58f3ce6de584b4ebb464fd73914e46c5275358c8316e5ea7649b99ce6d3a4491714f3f8c71f7e8e9c64d6946c77c9e692f298bb6a1f24d570ce6634a01aaa9a2917edd25c52b5aaebefe2004a552269a84ae4ed49631e20f146b066ca5573d598070685ab5663d525e8ca508f14a5ebef93e33afe60981af67ca042ad305a0d6912fc73565d464ca69952537c57cd3eef9837308f7f4c3232323292b538d2a2cee7238237fd31aecfd90c33821386c494337feab96a6174474df3fd36ef90cfbca3790707a6246690a77d851fc88241d5edd9269949d77f47f617846f046f94cc9bc46fcc8570a7e3c7e8c5dbdf44bd7d06a71ed5f87cbb19a6c3c33632f2a144a59e51e8eec2f52392aa6ea0dd96718e8eac1af651199f41657bf39e24a5935256430d6908519cb80e43a94a30a6778a59711dbe214481721d9f85b9403c5b72f21f13facce52e4609568ce9bc89d3e55b025592fff01618a05cbe3ffa96a045095ad0fce7a6042d68b71646babbbbbbbb5377777f97bbe7fca19c443852d27c66305c12939cb4d004c95bf0a459654e24484408410424513c869948901e442c24551b0c7ba2524e2d072ac74a4e1139b59cdac4e2032fc0b0efc6715856555c8ef7afca5566da723d3333bbbc2f731c1826f131778ba0179b94ab2997c8be6aab2cae5a98534ac959613c2beb0bb2aafd614ed2771df7cd5dce8779b2ed9ecec1effc967b8ee3ac4f3773cfb67dd06ddba4a4dd62c10e2791d94772773ffbcc9e7e9eedc3841019e61ad4779837115ed40885a9d263447c7525f715f1e0fb6a9e4eef3d68a12939d083ce2139f680c3a134442ee51b06719f0f0fd8474abeba2e4a83daf271c9f973897bd04214f480db3c089cf53cd6af0ff038aadb1b89ef43662a1724a42fbf9b1f4bee5befe2388e7bf9f9e068eb660341e473bf00de00076e5c0e24816eada736ec3e89eb1bc2ddeeb90f0873a942831411e6528586272e7dae0339d7a5e0cb2fe7eced6d455a607dcae54c0944d77d70e35f03f7dcf3772c2d5094450307e240bfd25ce91b67a5d0e7be0b10b21620a2ee9278b707437792528485941723d0226ad6837bff165074e5735f05b807e740dc0d2461fb0d6c20076e5cf9f28788cf39930994f9ddc7f2bbaeebba9effcdeee97cee46081d3a5349e886cc5412e887f239fec20e0c3b5a2622e833b2a6ef43e092c56fc8bc34efdf036800818614972a344871a9f2441687c2183253bbf748e83caefb8de6ebbe4502fdcd2b42b9d72b674a275dacb27f7b2ae504b96d082d72e3d017b53f212e661e7e01e9b911a4c13cfeb07efe088339b308d1e4ba57bda8e12bbe38890f2121fe9416188226eee6460845e1d2ebe0cd10eefdbbc90412e2f30d8b6ef815e99fc125a5dc37ef9052cacd84ae99d0462ca06827ecdad2524fc6c02a9d8a8e52f973fb70766f11ace0ab521a85b85acc13e9500daa3f871dfa952d39d28411b87316a91e63ba6deed4634d3da66449bb37489510dd0e6c4a8a8cae0909b8fd928a1b1a53fb296fb94afe63e9fec3d3e7f3369b7bc5278af22be2f4c3d6cb7f86b48cfc2669ef54cef2847419880194e02d9793bf1591467432f6f764b9c58efcedfa9675fb62e9d90abe5ca9e367267269a955bd11125fd563ec241ac9eefab73b0f6dcf6fe48aca55552cddf0c6ed6b244be52a18926e78837e30df692c00932e8ad1b330bd62b5a54a1997abc218e27b8916e5e1cce4c2155109a3c514d21822b8809179931fae96c8c18a8ac98b136010219fe0c1851b325e6610a3bc64b56060a4a80213832a3049dc78b9aa0b296354b0012f40a040082f6a5fce7000062f4c71052543103660b9f04aa2042f0821668a1f8c1ce0c3134a557809c207225c5d3e10c50ac4647901839a924c8415344df9e16906662956b110e34a0cc0dc7097c0981bba382183d21309644750c1050f316c21266b062e2e57a0806607d89cf244162fb4ae5c71840d25a2a04d4579a1f645141f662920c1f4c20bb8a821e7c2601f0b230a37043777e3e2e1cc0dab27a5c6b85c65668b3aa5d65cae32734585bd1929bef0145cf8bf3f77530f9da5e5688b152b5460c4c88a72a0d2c5932390a4c48009996b4b7727d1e6bc0a8574aec64b852aa2d2cb5566acdcd07bd0bf27c88c931be66ca9006020226eaed2a11b2a77390b95a64e8aeaba9c858a14224441ba60415761ff5dce4265861bc6a6ac681d6e70820516c01c1561e489a422b418738224aad8208b2651b0e0044d4ca9da61c68a0b54c0c495244620c1705d310d3d2635e030851515494d341191c87282ee4a161c5eb0216a5cae3263c3bdb95c1546181da8f05a5046aa33434496a6ab5b2f67a1a2424ed8ad16ac4c0d13f2d5f7611fc5f890a768d88a89b0757d8bf977966f77f7c7623d41312c8d51304acbc0c25ce7a8c321ecda30070766a0912e09fc1d2669a42bbf9f5f7e3e9fe8e4c61b13c93d73ef794c72b39b4bfcf650161494414441081055b90a8b151008df1a7314b2627061f94f5867331b23be70950b9caebfebea6d6a2674c76bdb851ad65958ebccaa324f8d9a67c30255994925951cac7af2b97eaa11944453c88efee1ab79c0509b7334959346a24a1007e631e9250736c5d5f5c7a979381f46e571820aa33530a670220a62a4a9aa05e15f2ae746dd69507fb4b1a8538358566bf18e53fd4b14c408534f4f0260524c5d7f1c7f31c12063595357202afb15299eb8d1542d8054bd3922bf85faf6e5299b118e3a7c8f54b027eaf8ff7dfafbb1a80383e14c453361bd71c66f302a792c7e6f59db981b9762991ac6592dc68d4b3c8b1ce3f21197c8379a0d565e6b5ee95a33c0a8e1460b000a6afcb0caad3ed19e66332bb4a925a7505ac531314ccc9292469b4970ab712d7ac157c65cff1c699130d5586b84c1a8627db5f357a0ae7f8e7c8e7254061435fcef2ffefd43c9e4bad4b0bf847dc3a7dc971af655677d09615f2e0e1f75474d1db9611ec3892dfb4a93962d5b72d1f16ffe09dbdfab52d6a2981a80d1128d4633c269c909a61a3daaa1a42dd122903f993d212d29a08b1a160f5fa030ca3a62e402237c51af0ab2aa947a72fd29d06522c34f2c45790404302a15414581062f4670d5e586104ed4680a3c98c8d0268c98fac3b03461f404a51282951c8e80b282112411837f8e5154120a35ec24a2a85323122c5349ee3e5695012bf0241141415c1c09c204d5f52712db752535aa214705e98105511c525469c55734133167a21e672a77a61231127d28880b6ae8e3136485d5b1506dddbe432fbac497ebef25dd4c99cf32f9311675425a6b5c6569020605593a1cc16e052f6174fd7774fc4131754707f48323746895f94e53fd1b725ccd0637948230174488948072fd7b3497e5f508d221f15808a0991a728dc260b010467d7e6088cc53669981b23a410d633bfc556470228beb2ff5b0219fbfe109d7094f0aa3862f2e7cdb4e5cc73fe9d532ae828272bd63e42dbe94524af9441e6527b552cf92ec93ab1a7a5e859244cd4cdd329bc9590f4c3efb72fd5d49d27674993a8b409e24978c66b0195a6a48a92769615421f1aa39b117c85410c311b4eb5fb7cdf2d48ffc584de81b995e3839676a51601831456636eba18b88790f5f726203196828d01c5dc492e4a8da202b41a53aa13335f474e62ce2821ac21ee7610df358ab75d56ad1968cdf6a65215badd6554bb66c7c19ca3b613d41b01c180baeae3f4e778c5df7c2e1450d3d18fe65a5ccf5875509c3711de1ebd6a086f436597172fd610c906a40539f14a8e4ad7585352cd5d008000000009314000020100a854382e1602c1ee7cae63b14800c7ea246704a9bc983498ea3308a328618838c218010020c01323243631d004d0b8530554270224f4702e8d9d220078ecd321ccbc9ef6814ba3c0eb1a775e20d108f23e247cc990c21510ad2ad19d2cb870ca3b94304c8f4927295c878e0c0d0899dada6dc2f14ef10e1776b160d39b599df9f29db9238d61964fc7fa61ec766b165e8ddaea12e0c9c703ca94b962ecc4e2c66a8fb8dfa2b27a766781ddc2ccf10b4f43b5cf718bc65e99022776769ca30e9a9b680ac2d93cac0daeff2f78aa32d181e9a44609b8961fb20e14275b43d5fe8bafa8954cb32f889007b99821dcebdb8f72fc614061b93f78c020882bc199bee2cbfdda0d0c8b0f30098ff5916363d67bf0b0313244131d38c053242832d4173540407757aeace024399b7fd3ed8965f43951f5c4a7f8ad47eaa9610ad0897024f96e7eeee9a1cfbb857b41e1eaaf7deb4a742316e64ff206fd92e3e71b9dd69ecbe41e2ec9a33b71f21cceb38efab639f140a731963976d1d0c3cafa3cd127c16705a5d9575da7514a84d3a39281f191d4509292af4e6f8c4e6a18579b68c1e322d840cb4cee94ca927dd60b7912d9912332af8fb6fb0796c26491ad5dc87073285edd3772fc68b537296114e7ffd037db089896b232bd764be6baae96624848cfc9d44d4f20bff29e8cc4d7340569a0bee529272e634b85a20553b1a638129b62afdde07c1bb3b3e6fd28a9ee1cb4147f522a3d68eea66878051c7ac4700096e2c84cd032d6caa457a6cff1853cc91bb35bf097933398f22dc648be3977dc923203cea994e2753e4d187846654415f205e387550687dd37deb98974c087ac01129f399233d091fe9c68253294a219d40c84a685d1dd06e491d8d3ddc19489eb24fe20a26db026849ac34f03efd378d776b83ce52407c93781f51072b55314b76c7e473d48aaf7265e26580e3c659826084efc88dd2178097ca96583447ae95b769976769c225b9b29ef31a8914815bbd9d18b194fd9fa36364d4ef19440b6609aa7a039c33b0765cc2edd111fa6f33a953413f0b8a2f7253d3ccd3a4be530940c44e2f7e9222cc1e4b31ae3f780c0d4b52e326b5afc82ee0070663f1221458772316aefd10d14762fbd742793144a088f5288300e83ec0ffe3a279c66a0f874403410f1030a6699ea492a480cec8ac812a8b433300acf8b09ea933b5ee452c50466015c451ff5667efa08b61380222efdbd6df72ddf22d54e73ee442c371db89641db9cdcb7caa75c1ed71d6e73b181f94fccaa51bfc64bc8706b875490c6c17e5f2e614e981fd9104ab8095b12786023ff13cc6d58e1154f16a5d403601c33ccd179e0266609502a6829e050625be6cee1c0770aee0e7bf3598475f423f039fbfcf6d4d200f175d40613c83c1d90654303872145ac19b06cfa2e619fcaf2a964b49743ad2557ff85f37c40336415f72831913214e4dccb73faa9b5af1fcda92f317b33872170df135b6e4f8a26ffe256e5253e4d0943c3b4d63f4741ee2009392f3c3f56a05121c53a6e7968b0ee2db3971dd6c6301cfa009473a32835fa49eb26e99c05fa3379cb81cc3b208cd93e6f90e074a4ac718c121bd5a8e5b545e3755d17395539c7181ab1cd50d1a6691d8aeba5e7fb7a8911f6c64c12dda39ad31c59edf96d84d27afdf2fd68f7d40dd13c211bee2f7515b3d48ac3b6979eb500de78279f558eb0d49e5bcd56b02efec92e45c6bb8fe5d63c5f46102cd6083fb3b4dd933d845011eda9973d8827e7dcc99ca5b0552fbac13753525a6e94acf4b567ad841da84658b8fcdc4fddcd8f2319023dca53a918b62afc1802375e15ae7cd739b911d7e18b8aca8e85472f3168d464fad738723842fa141df9bda65d68c11fc89b23b62433b28370f243c0a3a25f49d56e89493d0543594cd7926b301dc1fde0d0de95f7929b31cd48e8c153118df82a5e9fd6a6abfd91d5709516122216c2e2687e0509c641f88fbbb65a8be5241154093254fd514bb04787b7a3b68eecdf35f9c02ebf984e63c9e71da68dfd06936a9bd4892c19dc315b4375f096e1783a5bc0f713908d02723c7b3f6d6226b5c05ed8ce566a537c3b7804c7af69f46754b86d0d57632657cf6b92d24918f3c868fced1c5f7bf8f17d3be1d9f8ade05492f456cb907378dc741e0129911bbebcdd41ad8972cdc3b9dfd95d79ed894b9d9aaf8a7bebbbfd37b649471a3f5d3c709ceb4286039ceb87098bac7ed0bff24878d018240ff7b3c09d943dacac186e92bc773bda63e632e65c8e377429f277d88a88fb3e65f0933c92c717e0ff9991e318b47dbe4af82fad22641f764003ee0c361e18b0367eebf683b725830bb9dd0394e97f0fe398653df4587f5316b50c21d43530ddd780e716dd29bb8e72e3402942d8817e29e8cf7dbe5b81572e844c1a13ce25524aa907519bb17ee87a51b30268ca38fe9402b1044710d811f87ae2e799100d435879a9dcdce9532d10978f46558da08cc400f6791dd67f5f34c21f5400c7aa7e3cbb8d9c78c943ae858fcd9538e2f301d100b94079769d4abbee1cdefd1bc03771f21f27019f4d8601fc3b0796387d334798b4518830a620804e5f5cd41b150cfbd3bcd2040d97bbe10991670ecb3afbbf414cbad7e68a9a60ebaafad1a255278840e926ac7a94616736aa0065f1496eca5bb60148f801882d1568a90c2a271084d3eb88a24a1b07f48c7abfb2a8fea785a345a321f91a94fe53b7d2a7f14b49bde5c915e68b96a864341ecf38718d1d3546a50f03fafc93bfc0de75d03575a47eeaee2e56002cae7991c3aac2d059041a74f2df2e42b789d81badb9f2f632d690c9a11e82942675430204883a572475cb3689c22845a6551c90826fd336a3eccafcf05ca7d1efacd1bf91ed7dbc0198695832221f7ae894e442f10b6d85b74e0acfa3b424521ce013dbc9ea20a7b3564171c4becb715da0a087a66a5a0056e389d12747dbb10dbecbd15543152fb5259793d1a3ba983e5caf52dccf2ac1a7ea112e548aa15fbdccef91f3a634c3b121f17ea4e6fc42d044acdbf34079cf17a90cdddfbf6c1a46bd040019dacf57979ab14531eca00ba702afa1e8dd2bd2b8a9f94b50538f1be552b458ad485a0d2a5609afe6457d7873e284521e34b5d2919740ef82452f3c74d5def89c25855d591a2dcb2dafc0c79ec139c52324e158558afe931892a59823bee91467f31d5b05b1669a5e2ae553a7c527c17daf480e1162d1220cf57d07f1f932c3508d511babb5b3ff7105a257bd86b0cd7402147c5993716f331865908a942502ddb4a8dd95481aa43ad2a9f1bfd083704fb9445e1d0b123efd24388f46736df1fb61d891e32b027d822c09f3a682a69152d9fda7039b26b94db5b243475fb52b3af6891cc6a673117af052047a5b0318f7b4a7b2e9b02f5a240ce551e82a00f2c8a3391055a549f5c542c1445c1c27f259317da1b0982332c84a5f131e0a83329d161ce449d0c47a8449f171e006c6052a13b81c6c3393bedbf9a47abe848ffefcf03648600bc584611aeaa748d50eddf68443f30d5c60a10846ad907989401b4c77f77689085520f3448fd5a065f5407522ab5ae0420ee8ac0b0ef3f7c1dcde12d3afc58cad5a847314f389390db2b4dcadc6323d7293f17d08bac852242fc3dc1c4445f7923d3100d830b2bcddd047181cfbfca12d1a1c7a81d8bf740acb2ea991384c81c8a59ea2dadad46aca43c8891d6ef854247d01898cf5ef435bc98d75e8009f94f28f957fce2cf16f58318a036e0a142c5fd66231d011c7488b6ca0cdb3c35798ad5dcb3119a79486afb18fcd00618fba042fcb81278395ae862d94adb2e24355f23c7ba10a36ec4ee3058b8bee2113c4e83a094e00ded47e431df688826f43f6f6be6666206cabdd08a7cfb7911f89455ac20ccfdfb857896786642345fb40c0d21c8aa5a3663554b3e509b6ecfe90705acfe3c9db563d22d5cfcc901deda0f786956dcc0294231137320f53f5280cb0d45968776ea6ebc5565088cb967163c0f4c4d9ec8a214ca47080ac1dc2a311c6c5d213fdcc74d8e0ba721a3dadbf5621524814afbc24adb739c625ca4407ee69df0132c2010ea30ad62a5faff1a42c79c86223a2e405df4b34cd4d35a98c549598f66982e935c6cee79c963246b57d4ba57e5133a583da2a825fa3594cf96fe3554c1008894bf0e84cad502830d97c7f4f12b65495288f8889a3ed0e5195fab770d2668fbba25caf52079b9db2582f59878e69359562f4960859cde7b8626432c1b8b744782b283f507357f41de4088fb5465879d1cdbf0c19e267a52f706be6fa279950d65252bcd7f196034b18e3f06e5f86f59d1f13db1b79a9121bb52a69f7c495b90996b4febbaafe994b017f0befc4c1f8cb428753101f4fec261ebbc89043cb3223a3274cc7856f0337bc00380b68ed9c89622106c59a560b413c2e193fc2deb65939912fb7281f87c9c93feb7769a87c69f723d0061d13eb7556da92162f9fbf094250bad9d440e2940570d9498b3513f6701f4654de02306b66e48cef722839b83258739408a9d176bb424a209f7cb739c9bce6d5853768c37ab8e47bc498fa737539d0dd704a22dd37bdbda7c0060860382ee4f7af3d82bc28f5caa5e6f4fa673ba41163cdb9e9b24eed22bd45592c07292dfbf7da650ce4418ae66d05fad677b9b619648bea7abf90804b11b01551748830537e9c39be5817d7fee47983920ab73efcda9e1e7d84ce983831522a37dfb1808cc9de0f0c0bafb3867955d47d2022c220d22e153723250f53bf8a70f174e625a3ae405ed6d7f4f043182e79e7cd6ca43fd1cad627cfb1741e450495d9ea687e090df08cff71a243881a7657cc6e259cb39939b31f646767d32ca4dc4d8933f962c2cbc41a0816e3367a88655366f5f51c7684672ff5f68ceae9762ad7b05a968c2e8abd0c8b0dd284508efbc773a4946ed9caa6094c337a2f2c6d4115ed1c5083e379a0c6e778417cf3b8309bb0bd26ebe7d421f480239ec6e598613ab0a836eeb4c421032ba3e5102b247263c7fdf04d4943fe84a73476dcef1bc63217fc30780a2ea5276582da1fea073049796a0967024d5cb1160fa14ed3984644eacd6cbc862cfb449b1020fea7ec4cdeec20d63a541f20f3cdf5e153196653d7c888cb79b13b1532a409708e2a811709a0a734044f7a920f641dcefaa947183e04abd0a59576c01bba4bc16bed84a37b90ca955489e072990d7c7008c76dcb4497755423ca304e4e2cefe80234df2e1479d602c3ba4adf578a304dbd17ccec7a4488530b39717844d6b0e71f45674a1971379ec83125dd6d48b67d1a2a447b2baab208e3f5b3f5dc710577b7a9e7c42dca25b0d5c1d71044755398b3b7c047953e91549c840e5a57c3cc16ff17a9b34ba2c7dec4bdb5f187a9a907e5c40bf6631e95f2c5ae5e89101e4dd9d12d40c5c385b3aca3d363f41a3d84dae5a1010ecffa0ab43ba1665a158d1b8cd10a3d9679deef6045ca4214f021979067f960001d16067113b0c095ac4dd5b129ced924c2d70569f5aa33f4ef29e49f1e429df40a7007b07a993e2b20522e45cde0403049a8bd8b0e02df20513cfa9156034b1882c20dd6b8780788baa0951fe7bf1fa45dd622d1b043ac0b81db5f3da0dd9b7de182872ac7e09d5066727a0ea0ba01f4e86988e59818024a0185b6c30038b029e61aaec489ef42838e24d146adb50a5389ebf88e5e7837617b88291a001428b0af4eb0b234191f284df9b6d26ee1ac748d306086746e93bd30216a2d957de1299d58b00e361e25a5a6f7a1b1ce85353cb8c454cc392110afc22a976325e8f8dbbdc49155208a2358260df17a495023d4ee71ec481e09ece12dcc355e5da689b0458e583d7d8f38bb65dcc69438069392b35c29ca7deece8403e032e03c5bd49aed304058c3992e2e13306e22fde84f1ec8666aa6af9499246344fd542aa6a968cfa4ef3eee7dc26386b4de02e3ae6e98135ead85b6bbf818a21f7924d168823ad6704f198ea0fe2ab0358cc9dca58b9de55164a42d77f29aa15ee59ae6d6009b45c4240dcd1c5873a28893e5dd1122b085e941cc418581a6bd7ead2b129263b3459dbabc2e923fb4dd53e85d078d7977d0de38332dd11f9f402ceb22b00f542b883f22deb4f44617b690c611793d8a02c9098d75e35584e438a65051c273e22156789e6a17a3444da8cf3526cbaddb3239607648eb936d0440dca2d1571a39ab12c08bd698c195a1fe49284dc8ec95c59d1b74861b5c0cc87a62de0133d77fac85f5737c9002e28aa5f155b62e3a264ace0aeb59dc4742fa96735013ac87ebad10f8954fee8daad8232e49f7a1022535b8b41fdc0a9429617037f5b27287090cf135e89c9a20f438378860367b6446478256f8595ae6afef44e84a1ee4b79554e2ccb3c6c9cd0fe73d55e05d3c409652bb57761ede5b158e30506a2198779c0586a82b0575f9d092221a9c0f58aa0ad97635006dcd20a23da3f4d39333c5f60709af9e0b636d45b207947cc49285a328f485276c4ccab00530032e7fcef6022ee794c292eee52bff3f66366eed2d3030b19df6e002a344359ce0c2753320a5f0a9fdc31176bbfe546877e37b5cf460d87ceacdb198200a80047e10c82c97494ab4384bbb79dada1c273b6e48a5ed672dac372372a741c6aa4bebacfa219eac2ad556c29406a3d9daa14bc30e3bf5a7311c35963818039ff4a101b190f5d7f2d2cf50a4b1ae29cb41f4a28ac298913ff1b0ebb765ed61969c7f60a1bce6b60ccefecfb919bb7f3d034112d0ee449d0ec4042fee6acb068d44a9fd8b0b06e4dc0ca15025b795010a687927c7a27b315029d7380438e669d3579b00bee3549a1198fd0e76c1eb9cd0b7e0d828227b03994da8fd384a00570e04a33e974372c9d16813ea410602ded457c66bcf39161d97c332bbf5da5d21ded8e2d800ef46d2de6942a7a78b92eed33b4afa58b258a6a9fb5b03f6023280484d9a3d31fd046ae66e545f6454f0a85361f43ded41eac95bd0b0c7e6814b31d90bb92a604cb1ee835a09a441fb6de1ade46bfbaf79fd6c37c8c1b592061f0248a3031d0b89cb03485c4eac41490757773732b897943ec47b6bbf8badccfa8e1209e3c284c475085c87885e16d46dbda5954b309b3b7899e91191a94cd1270d5479e33a03e30f4e17551acd0902835379f2f0169271e57bb1c4bfe6e4275f1ef05c182008d3d71a9071a522c066078045d97704c59b6e97a02cd4f24065608a0007037197961916128a083c37cb0df6d006ca35503386e852e17a08b8745958da8d751eb0da9d6a66d44473ba1b3748344e1cfc3bc2f617d05b488cb1854ad72704768a90a3068146089619a7cf883c88628479bfb6c9ef084ecc6814b9d7e7dff4f5fa7cb8bb26e93eed94a20543d92b996ef589b62c9094a90cde5e8ef7eb99cae32e2b443d5e028003834c4b020f1a0f6f8cb1938d9032be17843ef44065932b9cc8732df4cf20cdf2df4b651a38c43cfed9a62cc35932c0d078e50a455fe37ed45792bcb73958b90a9ef98d35a3dff1c4293f820c22b730564ebc0c7d21abea3bf058544ad84264d341ac0c6a5cce294d15c3f0051050a909da494cea934b44e797e0e227bcaaef5a51c6febbdb2905be41791cae0df89f753ea6716b46288e8976830ab87b57e36806d76fc400e99d72426239a192deba6c1c5ade60a4d9ab226c30b2a7c8928d559a2c3ba67806352803235f66434f423ac07a4f501878d6cca958b32cfa8d9b08d0000846f7b0f8e0900dfb4b7c0e6c2f31ced7d4e5a7d0ed5d3232b80120e062985773868bceb400807aacc0d95aa245cb3c866bcf66c5854cb3809f70d2176dd531c7b0e0d0d735d5533984df2bcdacd23a75d622555114af65e1b84f40ac5579c21c44d85197a6cddc0b9e99e8d07d4aa8a304b30aeadab1e00ec900a22889de583d84cadc1224de16b0d06b5390309745f613571686089a0055904efae76c142209cc23a6f83c763cedb92832f13fad908835658bb404f931e5482ca157f6642aae9eeac4c6ca61b8615c5433baef7f94d4da0266e9373e96ff0e74c06b01580d37562562a619a1c388a594db793da22b80e85c3f8cf47ead31dca80481df222621510247732675819abe871bcb0bd5e3cae1617e687c06d466a51ff041966dba71d7d02018309b6a1fc667cdc3468b304b66e06ea62d580ceb34898d7e348fe6e060b25d32f6ff5251b566590be12328cdec133fc5bd8335774e9927ee1ae6cedf28943e3267c22edd4746e42c41c7aa34d7c27c8b48c16543ccc5e8c3c8f002c0c2301c5a0708e79e88e8a0b4f9c148362b99c0c2801e241778bf3eaf81881fc6c05e7d73763de889cb5a9063bd45b9ed73118abb60dbad0665850bed826ac012d5f42e21dc68b206700ab25d23211605745cadd8cf7d02952249e4a57e09dec702cc16613f3279deb825bf144f5c20b81bae03ebc3c54d333ec78cf53ad4772e37f479a8bb215f8a4f8185ba79418981766930aa084c13523787728fd794bf97556f6c20884b33d1ced844baab17a4fd096ce6e9e69ac5e36812bb9b523caf40017875c834fa80a9e5702cb2ae92c14dda2001bc302c6cdfa84d4c831435dc113e1cd93a3678eff6b9ce6fa7e73b09e293060afd5847d83f9bcf4ac4d2ad398a27dbd80826d3fb86ef5d436270cfe9de96abb621d357a7dffbb57cd4341f2ac28fdea053c962f2798685390209384f5d7a7b94169e9811586029087fe878cf179fe535225620732195b1e3a4a649a77554a4e1863602c39e739fe23b4e4994a50109ecc47805728b597dd66fc2ce8f411e2e02601625f599b7690a1d10fc60e43039664615ab7659ba523c0a948251683d27eb2de07f52da37013388f8e71532457e79487a9bd7afce35f33998011484b5545fddfacd3f705705b7b53d688727aafb96517d1e81d75d02674589eed12209b68e6a03de2753064e113634a08ca82eb2f6914a91d9bbf653168d3e2b6ee479c3bd35ceef6e1bb3ecbef2312e219fe47e98ca232681bdfc2527e8b6930924b48804a004bf9a0319e4d189b43122c598183379ccf53aad38ab5ab52bc52d4d3677856473829de0799be1de2d3c6f9066dfcea67d37a601902942d1133f3ce5fb3620b05edf59eb4321e26f2298cafc09183101c7fd46512edc91d90d48fb552ae87a2d9f5a0e80321e41d2e8ea87ae5cfb491dc792a8d2e9ae0b188ae7812e33fae1579cf30895b641e7e2882a3812e40207c62326e18dbdd0c2fdfad986d01bd51a7c072e2b340111ecb4ebf2a6e1c2de62031092eeb0a9a7925b66d143c04b12050cb43e9bde2df42173f4c8e37e44a7f28dc06bbade0fc22e8ac34b20b3c53d15735207190fe3f21705fa9dd50d18743541ca379fec275aec682eb22c702930f96a2a88a8e9d57fb54f48537326f759852a2dc3ada94a38af9a4beeb041316ca48eb4e9218255579d27e4fe6fc9eb71c0fca5e04c036a4f6ac13b7c7cdb1cb554d6b2e90cfa0ba8b4195e6760b8cb3728d73f48051ab7171d25eb480db5b54cb3ee1179cd32d8ca5f4dbf8539bcc4fd3f178b223a656424496c1a4aaeaa0946de2aa84e6530001819d45f883696d3b398f008c460c7d37b07c3033388a8e21370d80cc3637d68b89dd60fc1ee1aa255899229da460fd13ad8916ef78e5b616b00f8568582b5c482b81dbc21bd18aab6ed408228ac1c0d25c03920096770affb80eacfeea9bdc19fa4bfc3d7a18e35d10ccfbfd40d39e651310cd919518c2949e0b09b58202112944d2f92dcce8765f11959a528f26684c18db80559f7a88b640b43b16cf2a1beff0c9d2c9044c6952b1f1e22d59f67e2267903f25a810f6ac12f81b17a88f148b22d7c673252432998c7f2f38c64856ecdfe3e0578a3237135fec0e72b2ce8bbb6c0771a92543140d479a5a10af9014877b0059468f5be602403d27eaeb71d1e84e5aa8b69d7caed15490a18fd08fcfbe4f72539cdec72922745b97a5c1fdccadbb5feac3203e0a4cf29740fc17501bb55f830ae9231dbc38ebae2ebee695f9365ad3e0534b4be21e6ece231ebb08e30c8bcad1888004fd7a940048f2a358f914a6086009a71ed6437483867cf87b1323472a544381f27103c9be82fe6e84b5dd694dd7e335249f67ef32663c288cdb9fd46fe5e6fd984d18cc00809ded7b764c49969c4a4474e6dc0bf3eca4135a8303421eefa28f83a14e488aca23be6e42db2c744f43a1c55e70a656ba37776a53c1ba1ba9608571bce6348d3835636054e8e3dbf9291661e4fd5b7ed8dafae3b68511dfb24fecb90e67508f5512350988ed2ab2e58e166728d320f968a66428d5e67272f5a00e3f76923f8ad9088db99a7b60360fbf25efdb67d9f56026c274e5af2c5c73982a062c95db29d7ba01b14d9892a316f25e44c1ab2020e6d033000e79ddc558ad86d66006ff616c67cab481c760738554b4b53e234d58c62f80bb43f8aa5f69bcd3780486e591a739ae46370c7e71f3f592b09981379137a8ca4877dfdd0cd654473fe4d31e76c475a686f6a0bea05a194b11e006758256af108d3cf74c699c6760f1dfa5e0122bc3e34c80522cf463b8e3832e72e6164b260d8e680b8c8f31015a058f33ee32613bcf58c81eda20d671d7777f47bd1cfee076ee4b1ffccbc6c04f72407004265797f26364003adcf5e8096560a1a74084295896752a859fc265d7d9a66a76c3910e2faca94382fce3aba4d78d3badfa47c59e39527f556079e165b11f6816b5dff32c70180dee1dc8c19df0269775cf0b9639aa9ae1d66b2e941e18bbbf55d4f865725d59441565ef73b6f9365066cc419531160fd67bd9f094051248b717152124e163ac5ba7fc06cce601289bb9d92935b91aec5d49db2f943a48232007636d1843c8f56292a7ffc0f8821ddab340a202473f77c8a541185d4d8b083a7aae8bed6df6f46181478934fd7ba8f86682519aad66de88783f1ef9e4053f1d68e582edf0c8320578964286c966532264adb5070edaf4b6ebbb939762f77133312a08f7a69e3467f02ab0379c97ba351b5008d5fd8b56760ca2821ad6af20a0be4f951906ae1aed50891035b40ff1ec0e6b290271925dc1131f9e12ee03ff522c654e9611d4efcb175f4ac07c7e8e6140298e00279026243c86bd28662f9a5cc4c3564de110efe9fb81790eff9c75b1b76c7a06e15f010848fe55e883e93a7c0c08db882c57a5336eccc53439f164583aa4f2b524fda50304f9cdd63c206e669ac751a36713c7aff536020a83a71a5833831ae7e1d809d3055f5d560bb7258aee0c488950b8a067606a13f1266ccdbdb6d014a6f0a1746ed7ebf96dc830a7c52b3b220af4901345095b7f9d4afcd8ba164524bbdfd69937d74c5461ed42cd1dde601347bd4555ec237f2b8cd527b960673ed82ce212541fa1ac9060f4b480a03a5a746bda2a0399209f86786b1abf911b70c597929d2424e816e05efbaaa59f6d046a7db6ea07113be0505377926938201c44c364be39eb88d2ca80e0beddc76fcbb4282b172fee6db19878e0b8ceab69b33e948fb5a23a33f0bf76b3ddd96893b501d1bcd83b941b96d62f7111a286eb401918060d8405a671367f5ee5d04f4bf401ec08358365cf1dfbde7c0a88451782b094cd523b707393e8a0c76115295367ea41d7502d38392075149b04353c1e9892949e9a150345abe5723a459e93ead98f3b49cd940a2a4948438c42b164564b1f141408f1cc7e9c925ba4884186b0ba183d9ccbfe2044187f7ce75a419e6309191979584b415619de7ce9893b0a0811d77b3c5fdb6c7601ce0e6490f221de6f2bdbfdb492eed9682a3aa5efe3cea64a060e7dafa2ec5c7a1add561054e111ba9ae2de464cb6b93a55dad8dd2d9d78e869e21f48de2d02a608b647a227ea10a297f7041e4da55dec2aff91056b2b843a3d3d9ca4dff42d82d9aeb50382b84b3ac6c3481782932ef71d6f112f2b2a794854ed3781a2f16144d83768d5b671d2e17134c7e0721eb1f09241a3b67f6d06ac6446d245f35e03f3011a43dc5ff282d4be94c6235d94f1fc01b0984fe6bd4eef8dd2c273f16100d74ab68523574449be92274179889a53ac1e2f8f45bbb4e549bd17e63548c5fb145776cace851e1ddb3f034e39ba94c94b4cd8609f330f11d96ce3eb5ec54b1b2bb6b7022c3e0d3912bf45db26855ce988f2d0044d38b7669d261613ccb8632f3b8f4dce6293e0b0f1cc82226a2cc0808574d62f735278931c6e2591d8ce060a1b0ecd8a8439dc8303c75d92e323c2a8c5a5a50d5a43d22862c7131a197664ae8746ac3b0e79efb53dc5ce0676a9f3810865604df5b13e469f4fe482f57d34fa7bf4410e759b9934d918534bd1a0f0d8085a8dd90fc3c1042a7a42a846172925f4c9d740296bdd5e683ba10bd28567f6783086fc178f0051bafff0e392b0857fa28a226d6e1c0089d648644c861388e08317b45ae89d390dc16dfe0444fa1c6046ef775f63f75836faff22d70487c7c03f859a7a0c1ce3bc130ed7b52d5842a61410324eda648bc4de67086501ece678ae158440413f56039d186a26b7619df1cda54126ba5c511c61ce7458b19d76daaffa095d6f3785a103ea4978fd1affd440f0ae8a1ea7fe8ac351cd75adef210be6fb6cadbd81b92e1d95eef34aabc7ce5a2b5f60501895a8cc7d3b0e252a8645d088b958cebc901d37f01128e338d271a64c93f5d1654a22ab76ca1aaca4580eb1e87b9d2ba944b1d842c36a52bbbf545d2e66f643eec5bb0caddaee7b824e7e8c3c01c5da4d12ac9485d800b463a9043d3c24596c4261b43163d9057447868309ebcdf208f3e1958decc1ddb4ea59dd62099c0512ae08a69671eb06bc16312302581f8d0805b211df0028cc9c8c5b555dae03ec0308b1ea0e39a380c84b3fad42a41ce28c124abc70ad0204177eda9789b32b374aa2257ba6c3c0d1e848ce87969803922c42560158e0b11dcbd6d88a4c02417f6da816c1e17bb0cdb221cc20847c82f34a49149846858a20b22073f85dfd61e3c01eea52ff7a2842b01cba292ad4d03809f94b6d29ccbfba1b4e5d205370ad90231f20fc209809f8f4538460b4d85bc1b1ea4be50858d60d57d2174665df59f957c74c11742568031ed3b9fb7aa5f9465016ad7a464113005a0cc01b49f2721ec1865c98b96445d290d1aa5fbdf6f40a41f3da39d5b079085a765bb4afe7f784e0154354ea1646426c64c388ac92f14d1e78731a134601d56585b799e1348a5f067d744d600887bf0ace0a815f76b461d5f3fa2cbd4fdced8f0088902f330684505fe4de5c283fb50f5a02a82115e0bd8d4392ef843c42f50917d01665aa2e4cdb98c77ceaff571dfe3ddca6e39c27b49c851f7f97c9c2d75a77a1baa19d470b93b6b050da34d33069eb7b7e437063d507451cb57ef04996aaa884991be357ff24f0ce258628ce49475bd0f9ef5d94f6fb01fd7cf285bc804049aecc0c48e3c0abdc72bc7a34eca383c3a6772ac2051441859a0bae95f70f9462db19104ccab5074c3538c935e335e07bff19b908071a9145375347062fea4e2f02b5b22af93f0d269489751d6b919e0988b326f70b5826e7bbe496ce1006942bfbc7eed75b254c2509a0d16a90783761ab2ae0465e3118be60fbec77622190b2e9cc9ef216f8c70da7f4a0a37021a73d0f3548fe1a9e0d555cbc1d3dddf7b7972eb40945c8946a5656e500a159b10506cfb441dcd6be0e1f24d893e1fc0618154c01db8f5a14b74a719f04cdacb73cb0ec0d7147e14339eb791b94547580e15b93147f4c4f1885430e64c1d02d73eeffb362b6564db7b20d1d9c067d1306f46e471961b68b37e429ebbdb54f552de0c262d62a4bac6bf2641d7b4bd0c075c30cd1966bcadf01401ac930cc92e931424ab1547577eae1ee0c7836291697921a04b1759d33b82cc9bab0cce8eaeb5f0f5a4fa30479e69c95a6cb845f6220ca884e274e0a75a85864fb0dbb3b5055428e0cf96896b43181123deed35ebf933392ae04a20ec3eeca040346d4942facefecb3a0255c93953f11f1cc193cc7ef86780571d0ba562f5c2032e03b776d67f17eb0533064b03914883f34d32d89f799a13c6c4ac0cd7d108777cc94190eb001cc6b37314a08fee9413387878960e909f803f0bb4df1c99fb0b3fc970a290d2bfb870a6becd9f32cbca1c1d08a28d66751a0de7b3086ba56737e9da593c195e29aed2d27a251783e667b77f0d77a957cec9da4a6a0bd41553ab9b84a0c1574ded9462136ad8c6a666afc8055a1e7867a5a136161557555b05978d87b30b9b4c5f6353d5b37b5c5018f4368d21d54404a2f83edb3c09a42a7fc303d47497227cadc5e918424f2bbaaf2b140a517e257a1a1d2d08cf5d1f8ac5c03fe47681205f6210404bcc3c45242c113e0e613aa256f61b2625be36fdc75c24d84669456ce4a3ded8727f98c625ed47978b0b2125df482d911ebbd86a584d12627da52aaa120de8d1ff35d5b833aeda745cec93722cf00b940d0267959e89e21c8c154f317d2ea9afadece898cea4c45d61f9bdb51e725c7947865ed0b6b09b3b1c9d972f4f37936949a0e725da77d3764423f4f2d7f20db1ddd32114f428d9b02eaeb9f5541dd328791a166275c39bc7c3ca7eaecf00b42e8ef5c70060aac9993f37143729eafede89f8f63ca4e0e91bd019235c867a7f613f3c6b341e3c7c10090d12a31a6753dacc04e4959640030f93eab88bcf97f49e630b63e27134c997c8e6d8361f7155cd56fa71998bd6c376ecc26701ceea8469c04b6219e857fe30b383102f528b61badc6a497dcbcb3a74afec77b7ec428426c05fb9a10f1cdb3e06ec489c4a537cf6ea8887972cc5f09e7b18314ce432683ed86e1bc978866b049e2e1bc76c479cbd6847b9fc0bc07bae6d450dbef09fc14e95fff17c97973a0c97988b968f45a830de77aee1a5c31ca797deb64455467456b59247f0db6680149e63b258790f39aa52c88de4ff6c3bda3e66c78a0a054f0bc52bf13845ede832c07d648c2698cfdc212d0016a387515d6cb6568b3c4236f59465a2603dd4a08c8a216d8a3c3594bc66ab60e68a37bf91da30f76c280c03a31de40f84434a4bafe990da3e14b1a014a6920624d384ca37397d6114a94a4a6b1a1556346c4428855576b47e02205a874eb23c6b84472af62104caeaef1c18405a17ac197ced0217636f438756115745d30ac301559f620fb4ccc6f52f78f44c2502fea02bf11a28bd9c84649692cd449650e440a8e57c359794e25d1ff624e62484a7f58f72bb3f33eaae290027c9dbb8803b64bfb4e921dc5761acab8e06ea45eacfaa1334f717ee8905599e9d537603cec013f6c8452f8f1654771529be11d983e484ac14c0b5103abe420e2a09ab780b3ff330f83ee4bf9385f3640ca431f401b228169ad837ed5ace85ee1ed26c9635522241d2b5d45b77aba19a7c0d711999ad604aec19ec27b4e2eed20995e0569bf820b525741bca6f5a136e28122e6a1b869ee9bf85aa0e7c0650c78273b5c4d9d6642630ac8051c82c426052a0282ab5feb6816d64b5470c3cc7565cb46f0f7d377e0f3b262f79b12ae013f5a53b7fef7a844db6bb54a1c4618d431557407c073e75710aec7df0141250d2a53e48eead2dfa76ceb551a7bad3c8a3fe3b887f7de6362a8219b9e8e737873489e5b70aa9dd5d9f4e52322a8059e0386c3fc7a0495bac6d83364d5e23c64cedfcf3ba6f355aa4c2a898425755c8d4deebb58cb2dfde3b5b8288a3738e49974a8a20274bf5f40b3b86bac1a61a5f18f1b0ce8ae9bf2c5764fb04dbc602b18890ad71dbb544a1c80866d51d4d6e3c9054a3d3202bd025ec606cdda748d1a15cfd10082570e514d83ddd37b9fbdc5d9b85a7f19346ed8de29f99bc017cc0972f73abe824f3c3e8f9162334729d04cb039628784342a8758d01e2cab150e4cef9056fad28f0373bf3d867f4706f01a26172b2050c33fe8cf8a7dfd76a082cb57bb27f00c2caf7e64ff891fda630204602f3c7ba290e6b540d77854cbc49f4a1f69f015e1b4fcb09dcb41440d1852472b4b2471404a08e80a87d70c7e8de9cc44129fd08140737e68119066a831b59ec394b98b54a15d926246e31dd27096361b31e914a1ae92122dbae27ed2b9daf5c019c170188c9e6d21ded938a38109de385611e40ac626f2c3a04b57bfb600f124139ce37d0916f671539fc2ce22c00fc40e205c2abb4e80587e580008eab47944bf0e487357f629b8db7d0632e2a4e31ce90799a363d38852b58a41241b9965d139f1a8b1388919c3dc8f382923ad3aafa10772febcda1345b2f7e6640f7144c1d3032ded7fc2df7047fe26c69b668d84d7e7353b09c00d1c4a6192bf39b8f6fbbc56c825c20428ddfcc9bf8db57c44ef869919029605a2c567f3a81f054d33da80db0a6951e2a2f04ecbeb7954913fa52710a80d551703212b2ac72c4822da4fee07fdc755936439bb9a1bc62e3ac04de9c3ead9b9fafbca274b57ff35f249c61503254b223770ed29cd015331b1f557ce5c9325db49fd235e4b1fe4abe89ddbf237cbfcc4a6b796b47f83e9683a65d332479de0db0f9f49f1b84387324fc6d4f29ac2ecc909dcf2f8618ed00be989e546442196a2005cc694f395495946aa5bc460f392b60b9680e0502da377b1a188bec3c68ee097a019bc393b659d4ef6f4e9703faab6a1149ae0518f5b65e05930ad1e374c20b18c3596518d4a844cd7d73731c929796ee8edee646c4481bf1309159dc4b2c152090c34a27bfab849e52cc3614e4fdbc80d3e4c106fa80f6700673658b16f8046c1ffa297eb22980c4f54819c95d04a69411e56cf0f976b3c13f3760428e65409105b0aae247191bfaf808af0effcb444c480f76a60f94b43fb8b8741ac48923fae5961a77fbc56d5298bf81fce8ce4fa938473dcfc1c4456fe87286cd505f07ad062339df30a4570208105069a0c202e9db00d0b2911115c2ad56821e5dc9f9234c760461f8cae5601de46e8017779daad9e506976851e4466e615e8e82fa6347cc23143bb59195c2fe2143c1107578a0215c800823dc6fe3882a96c1e055c2f278da38db9e07baf07c9580531ae7dd5291e75d6736e930184d8285965682c01aab7448fcc2c8704e5e1fed668728178fc893d375fa09e43d09a2f533f69912093b720e01a0b793b8c62bf45c1ac5d020c80db0ee5730b642232edcc9dfe6a6161080b3f8ea2f2db4dfe54d5743de0853b61e751b67a2a21c7756c159234aa568b2baf02aa5eac97b54e0593252f8373c0c334f5e11572a00bab52e8417a7f337dfb84c4cf258e49ed91d5441902a67a6a7ae5ac23e66cea2dd581b55506ccbedb83f0e8ed148bf54caa19ad1f5a5db0cd173be97965ba804dbd9bd5ae11b73af5f029b39ed1f4e5382b3772f3eeda23000afdda4d37500cb7e870c512999139ad58ebe1d8e6d48e55d95833bd7abc5456b8fb8ad9ad9a1ec499456283ae5c7197195caec8ae6f473595bcd115a00eb5cc740cbf8d7a5019361ed5273106af69ff7366ffc5c298a105fe3d75f21f49f17d2de80c3e46b31aac87cee882191a98a4fc759b840246a5944ca9ee0b7ae87a5625eb5f5af78d1afe4ddb37a821e8104dd8fedec70d96705c3f69644f7a0d2dc1b85bce790d60900acd136239c78534e1825d888a239e790ca16eea98f143204d32c1da68b844d8bd4701b0a69aa75abe818832ca5a33c72ecb47fa2d8cecb9b6d150a681b4a55d40df3991e113850a24092a151f4976b74610e021da01db2f33c22b871136f28da6a16df1d6ee756c166d75fa0cc41714a12a4bfb345b518771f0894088ba076731dfa8180a9366d11f2f4119fca7d176b429dcf9e7a294ada002ee26c27e9ba10a0ffcfe64789b81611fe31d673e8bf8a90faacdb3a93ed6e53d83b4b50f0bbc61739a3c5beec0f895595b5013b730d68af1b7d6c4833756807d2ff2c9c290beb91c5843380999a27a53e0eff379c3d7a35ef4396e1fcc199b4cfa8e5b5034ec3e9b61f9298a34f3d25cb52973d9fc7af2c58ee772a48c40bd649307f278da54bb0fab561f9b0ccdab4fb4547a282ab9f32a7596bc092a9c51293737ac5291675f06ef484047e9db3779c34123b19ab79491d8b27822c5d4855008fb125f854fb26994125fbe234caa2e71b7fe46f6e81d043ed547036ed1afa92c239d668a534c95745211a5874e6af3a518530d543d99a99609547464d7225f470ec837ca09e57835d68fb931bbb54469d92745cb927fde5a5dc967558add2cf9c8a49d7960f84cbc2398a514723b11db61e7844c53b5a3a7141445fd94688c5800c42acffc419cbfb7628d61e64faa77abf2831c92821868fc41d737d6f474c5f56b923722f98e449bd427f08c752191162d99b05b0b28027ddc69150b7ef6f6262ad96d5dc3c511215ceb41530dafab9020bf3672ff8bb5c306f720e4a49182750bba83796afefb23fb64a752b0cf4969414718a20bd9e12f7de5306cbaa4531efff1b2c7ae9a4e3326317207f7f488d1352773153964f4d1593288b2831c85242680f9b2a19353950a954d7d24cc21085454fc451682ceb2acdcceeedd932c6eb38d0795d118b957d5522a1a4231bae5f1a72107014fa687a0f388feccb7b9d81980223e0c44d0639b10bca2e2da6c140da791f21d42995ace4a7e86799a03f5f8cc0f2c269a79522879578bce3b8292e57d025ad22868ea9210f16b15c04ab6c5fc1052b25de75089da7ffe98f5909ad868b72338e234d4fdeda57e3801c8c272266b57d54b955cbc6746606d7ac162a5951acf3fb4bff87fc247e5199a8e1509636efe658cf72afe6c2aff8dc87ce68c5ac598a67369b20ca8d3e1b38190ce8a8710fbb52645c71772010ad46d07ef7bbd5e9b410af9e172fa5575f666cfe820604eade687407d7dd1b84ab20272d210fae7129b5ffb6cc4450e5c79b7616355e9a4a29c2e7278a847ce23a84fb36f14ab81ebc89a2e23f6e7565bf08d4fb15a4ae7404669aa0e934a72cf96e94ccfe0d8ca7a98800226d232090c9a0d46676c90e20588d0d3cc0be5c4b069475d40f821a1eb674bc1bf4e0b98f772b26b163d328644db8f4b94cb738e5d51b58f425ede03d2f6830a917011f4e7f29eddba70be165c804ed241dce1e735764c622e137c50282f451dc026fa4b02431fb5f5b0eceee8c488fe36d7cd8d4a41576813113de008efc70c8d6f6c9c69d870365883833a99f23cf4fa9f05488c6b822a3d2640873ae32e29f398a27c8a4532618b5751c93e234cd5ff56c3f4dc6aaaf69b8c17f1b80e40242f02a1415c48d16ed08bc5a2aa4a4f2b59a4e5883b0c885f524393b37138e5111837bb822153ca59e740fa3ec6aa9a1346bfdcbe8dabaa259f38555231f5a17eeb06ae2bf962e80ac05f7b8a8e3a3361a2f01008bcbfad6df6a8534a1cb955745f642b957762678b94c5b93abb80cca3a728f0f870dd31b616052ed88667cee919ceba29205ceb7bcab858abb0912f31fe9a640516b838e158471c7df85ab56775d8fa37c23ae015c446f481e83cd21d418e3d8365778276275dfb6ca069e9a1d658c07ca02703febebe5ee8e2577ed8cdd4b576b0510cfc9dc0c0ca419483377b0ae561d0640f39185de5adc8d3382688eb7ebf7364924769b10a3ae1b81cf7943e42eff2a784f84f937486720844dbdf7ffef499e9351780040128a7c2e1fb2042914275a88fc97b65652c8946b178b4469528ec74595de370f4944c3c0a7f1ac91fd80b5e218b4d71fcf3a8c79b0097346cf5a176e6fbed4d77460939d920bf66e49438e33c1379d5ce5c0815e41969c3af15c0a6f21cae4070693accabc7e422fff90f765a4f24df2bc0dca49cb90afbac79a368c8e496fc37d27a1feeb0999d563b914222aaa38cb18b5ebf1bb34eb5c2a6333769ec091b7263a896e4337735039af13f242198422ace08cd3a781325325651ab070b2731097ec01c849ab487c750615ed0351abcf47549f7991986ecc655a550834aa15f75b0874a0341b603ae4c15a06f9ad5210bf80df39a73bca5d1c149aa7c340c95b36cf5f7b8215277f280b531465c29e42e218c4eaaa5bbe6546b2f25ea84e05119d9203db5a7dee97772f831ab81ed518a480f6dc0fdce6b8969ade795d5d63b1b85effe4b4bec23f3e51d51bbb886fb637da52f8033b6b9920f40399c873be247fa06583cf04007b564bb477cae75a41612bd2153291287e167a812dc802f44e252059878c39d0f20ac9cf886df2e27df6bdd6de0c461e0b40d30d87b162fc8bb019e371f4cbb02725fc6c8f6428013cabfb02ca461a2f5e10a4ebce3f0a00cdca78607e1c487feb1744f204683b4bcf73fe650ff0de364ec6c1ff8c9ab5288dad0fc7273ca49fda956ca801c7ce5eef2361ac3cd6a52e738cdfb96684bf010c04d37945e68ff039c948111dc1c0f29fab504e9267f4088f7a71040243173df2ff037f3821a5f5136223078d4071f3a4163912aee913a8a0d831ae1179284fd647cb75d91ee729243d90d2d57617cb0dee1c5b345afe81d1dcd6b83364ce8c57285a94771b7279ff81b973b9513756622b3f2e57c5eef12a9d94dc69b98226e2bb777d951bf904628f428b6e400db9b21a2ed90200f01859386d69fefa3063157f7ec72f02895c2f025eb71da2e5f07e7d56f57157d93a524e2f76309ae3a0a423058a76ee3c1a3db8393840cec2edc8e4dd5952334484acd82d70a3783806928dfffe27155dc62cee95e585948cbb56bf6ce3f4147169085684694b8cec51a7e2703f76171b30e9dbad2290f8859b687dcda4b6e65edee2f0001b5cb81456a86fd1340bbb0b47aaaa19353d4c895640ef8f46c58be62a43c2bfb35e86675ccc653d97f94c54bec98138a159a2a431e8b011f56f3ebe1deb306bb664fba8d947a0bfe1373176e0501f4f9433b6a251459222a01fdb0d37f0c3cb39b533f17631ad176e206382bdb41bedbebf2498aff6d9b5fb951cc50770c0cbd1514ceef33f0f79303271bb1d36367b08a786360c7de65c3a543736fc4b10c38aabf9bf2dfef7538fb7818ce1bdc8a50cfd5f43c2df6ee6d7626c18840ae3f825f03c2641e8b1bd4b3bbba8a72ee869d5797ecb32daf699a2bc4e6c19ff4aa408fec338d8f78661ee33654dfd3415252003f6aaff322df950cdcfd0da5870c5ce4bf79285758fe13d90cefd502a12592564e4531c2f13811fe1b5ca493253ede0e7f8110cd44323a9002adc722868fcf3f8db1b1973fd9223e5ee9c8f5e4a1bc359dba06a1ae4c87454d39605a7988453c286f6bdcfe6775a43ca72b6e1c7862bf88116fb5304c27a44981f5378ee558ac384a20e0574848f29a00059eadcc109ab02596ab562d68a28b508817e153520346f9dbabbe6bceaa2054e4bee777243b63e0394bb9da150941108afdd3e547d469d06a926acc819529930175c8fcd201077ac634e7b4b5fb8c644983d3bdc3daa74195cc351d729ce15ac67e4b0eed2a56199daf4f364800da41bf409a41fb71d7306d419a5b0407fc5bd67572b95e25a59dd759516997c49cfaa476e3a4b4f23a2a4a7bcff424a54954b1b6b0cee59affb19c7d0331d05d07a244e4fba3d326aceb1d40226414d40f17fe3e4ce94d4cbbad7345e9ef949ec4b4d9fbd351f30f04df1df6da992c73b30a0b49f2092a0ad6327eaf808dc5676acd87f94a8487a49d80c54cf0af0c86b6da1f9fc7a93c9b31103192a55e0de194b4a729cb8caa71c54ecff6e3c01c68f9ee7153726144edd12b48d897aa9dde189e40191fa9868a8c58915ef5e97dfb431922277cee6bdf88a7fdfb891fbd6919fa79b4f5bcf689359ce502cf60250ea1dc60eabde34b7e558925326aa9e1e4673d9409075c0f982179fa446aab135c05c13ea91c6697fd5e99fe50cf9f670312f4ff34b641b7d19a56b355406359ab57ddedf80028ee47c98ab02f2668901e0a3ace8319bf0d9b49341c73274325df5d4b9b4a1d464c49954e76108362ca4c1553eaff88df5844b31f65b1a65009e4dfaac799ea896d09df3c0a46ce570732ab3e9daafe4eb713e89bb18e504610e3f7a62099090fcec96a7c2c6db9f0a2188e46cf8e40ae6d3c2e29ff29adde328a628b0cb6ea6b3bfb6345e8ab63bed3ca822b8cb5a903939569f3e1917a0b46aa9bef908f67dff4695ec85b8156144ae1ab8076ff087ca5764a3efcee05c4b4e3e586144deedeee06c60abc6b09b2b279b407be381de8046722f0d083cabd6422221bea7889c740cb18ac326203b62fc58d42d086f4cc36a0b656346e4e67d4a68130fc9cc3386a7f5fb66e20a7d71dda728153094acf1302c0ea3bc81b946db85b9425534368f108bf675e5ed3c157e9386c4550965ffba01e44798e3d15bc62f1609d2f54298aa1ea4cef1bc4d5c2b07d8b06c24f6d3cba0df350fc61fd755f6d39ad6a1a9c9e5c4b2cb7fdacada5a7b69c5ae794e929b543c8e13c1a19f0fa19055494209aed1d1a8c0d50c7ca4a3258977448913fcf93970771b2e653bbdcba333a321e4eef1e989b4696a99a14f3362d2f716d1001fffe71344e7af453c363483ba1c0149231009ceb8cf9a98deba06ed4e937e5209e0e46b1112e85cf9f3ce8e984b06158de5e17ea516916f288473a94fde64d99227a1111c915c387ff1df1656805858fe15f8aa1fa838e38bdf2ad677d72cfdd968e3c62a9131f6d85c44226d652ce5db43fdc4f7cb29ed6c7ec92b5c6a5624643b756af4e4684ced22102e145ac063bbd7a81362d72b09ad6aaf5f7f2c4260130c604cc769a0fa214a2f37a42979c8643132fe695d2fd5db29216fabce922404621137a7956d2b819d6abbecc05285e7f172a4bc04fefda766cd032d0810583dd198bac7e88eea50cd11da2c7e20006d0d3366d9baff70d7ddcf2b8f58a2431518dcce9bc4262b2ccd92519a90a704d6c9e3936cc7ecf2ece3a30bff829392bb5fa11db01c01721cb9c18e99c83b10628e5b18e9d22621d4e443abcf82a7596b09154fa330662b27903fff0f9ea2e004a87588745838e5f6e7c6389d2bc14b18ecc8c48a020eb50d07880f24607db74f96d5bad5785bc7be85792243edca6fc60de5e361b88b971bb114670b4a0a7960b08a105b21a94e685c38ccba069a0e260854ec1f4b31a74642d2f66f7c0c9931c03640513917cc2fe2d71fddc900cc6cd07651d4241b15e4efeebc35c957ca101db8081246f3157ee7a240d7b7a3230c68a3a983b01c46896adfc0bb13373aae59af2e6c0550b33e04111be5477a755545f94cb5c190f24ae40060ee330fdfdb28ba9807bb40ae9da3bce889bc20e2357b0f565a418c0163cda89470f8ed239b91a2d20f4dd0d06d3dbaa9d28c65bf8949e9629bf79e8543a7d021ce4bc21d5f45b3eddd8113db4319250b4eb1ffdf73d2e8bd2bfb303200708800467eee9c4a66d809ce8143762c202e3ce65eb3367bea29f542d343c1f2927993ad0e50f888c1cc74b6783dec28faa515b986f301cb87cf8d00b24dd64e1c58d598ccd450828db46cae2273aee46770f4c8760095859dfdaac3a7ce51b9006b3f5d8d32bd64d2e6910796136e26e59799f9bdc80dc42a72c285d1b2d926c93fd35991ab3218543e113d76dac19b16d9f465ae0ac3792acfbabffa0f6b6f9cacab6598628889d9a87469b9a179fbbbd929eebc366e26af393f2ccb2ecc76f49b5a7a0679bbfb3f0228ff68739e9d78ef63208cb5aaf64868b6e3d72d65b903d71c6eac3335534fed7e75274f473f53e89cb5e512624f142bd5a815d034fffd906bc1a9b317902694867d3a1cb181b954303d5e9c652703a2c4b17a94f0cda738b908534274b2a2d64b5e7b972fa7a8cb25228273b59b0c9c62ba12e25865e4e80e4424bd569a96079465e6679c5cc5ab8fe1b253d3ff2d13a581101d74a2253244b44ebd876c1c3cf5ade2ba94318210a40269c63493a8bddb1e8acf3de6ffd98789d982b0ed555237161b3ebc6d69e6f76bcea6227593455170f4bff8c8965b1830733464ef335886d11804d97afe03a79535409542e6cc0273b476be82a3de657029c388e18fa44a1a93b3410991c160b50ed0bf61325ace4cb04ffa257c124a21de0c956b302097e802f24f4e97e85b907a41e0371f619badb190a24ba680e0618a1027ee55e3462b12119b78a92c934ee8a51c867dc57dfb3c13f068589dfbd3b0322574e4ad54032084f8b50a27fed24b04476834ba90c438e41af41efdd479745656b5a8484ff8aa129b43ebb5525a6157856d8aed1e3f542c72906f83457b7759a6768ed855a8019a8f4a5b69c184ecd5142bb589273663837493716c4fdc652cb082281751626272c25840da395c11467a7c3e9c59d06fe25f01770e090b147e53c7844af36e0b5d61f93767a8d65c1aa1eed40c95b2f64131fb4aa76fdfc8328171d6545d164c96959c13f0db4ece993cd37f367c8036c541994bf786587585b8219d22c923764e5228d35013a06057aa70121ea47aac76fc1976c24aa3e922be5210c687cca3bbd9cc0eafcb75ad04b3f4bc039f782643e0342b62f7d13f4130ad5276721d0f656538d5db607b399a8834bbdb3e6de31282be71aada8d4cd5ec02a8e0d9c50add800b375bc16563599c03cb427af0d801e0ec903cdbb78c612d8c0ed5d9a508dccb3b2621893c6a1c656d5d1898f8642763a3b5614ed25ffc58652601b980455087c783b41a71b6c7b9ae63e0068076dce0387512a58048b20dd1447ed66ae4bfa5e9008e72bd744ef255feb13e4c0efcc9453bb06e29d9fb9cc7ef2fce516674a734e470e6ab152691f384f3090c2ddb27afe5ffc23b52a29dcb9749ec1bea36406d09700fbce01e3d066314819ad5363e9c8c528ee26688f4e4662da146c26b58b66def1e8110056014c016790d270e3ff3223f2be9098bfabe53680ac39568a96ace28e6c1080e2c9cff2ba919579e4d9ebca8bd1d4b670cef6185bc1a3655298aa306e97d6666cf6d8848453302324ab315e21916fe8446722509e61cf442f303e0f18c1302412c590123b866ca7ed94b179565b9cff63cd117069b4e4fe596c6552b1fb05ac756477f939ebcc9fd5b95fcd06f5436fb548b40062b3f3908c1034d0cc65418623888543744b38bd2af15c4f4ea017b59019ab41d7028690026899d03901c58ab7408a8d5b4a1cc821eac085b0cb02a98a88852d90e7e10a81055ea9f6bc0d27c5ca5dd4484a3831ee95e4e000ba8c4e71a5189627c93110de779dc3b554366df48062770885793a89a8d25d502444a06952341d7f6c4deffaadb00a027ecfe94684fd23b42c55d1c1c7a8f4edef23024ac65d51e0b9558495109d8c8cb4b9db8b8dc6f1e8ca8c7caf63d4ed2879051405aa021ddc037545d3d6d59f8356bb5d5846705422143d9284eba4e764a36aae32b9725bcd5b8c4268b5589150a0b75979fdd980b1d142d2474c1079def2e2d1e8b28988907361501707fe086849966ebfb88d82b3eea3bb70ee212794c40956d82896d1b8e8d4dad849f021b584fc6a5e9796fa1c72eddacb7445c473855e5da459123eb0bf41fa09e93edaf5eb10422f92ea3b4984bccdc9e2e8d77641d0f9c3011e1a398cf6a7a31eab68d4bab200ebdd12e1a47491e466da32c1f51523cb0fe577b3817b1db25221061346958849dbd49da29e05b41d49e7086553efbbc1f602aa57264a48973300fc582d5a14aa0d264ad8896936f65d4667c361de6d71f0028cbcee5e40f41b61fe1d92489fbfd416ab7766e2201d92e207a82f31fa4e0c068de68eee79c61d1338bf3dba2933c1e1334327432e8126c075351ef7c7fa4999a0f1399d3156354e44f020ee1a326da0110edd49bf80d05ca947940835ab483ff7e15154d430f9a74845099c4067ecee30d81e7c40d712ee2fd349d1c84577c0e29ecb11f0b8e492c11a3176b48777cb77a7d5a30a4ab946e08e662ab485a7c768853a16fd4351fc2558ce8de8b5eb0ff04e4cd6b919f39d1405bf098ebee86f8ce5f9cefc22c2ee803b76cbe1e616ae33519adb9091c166afc9cbf4d5092ac65c24c3987f9641c2ad9b336d20a359923f4da04236e4a39f1abcfa34ee740089dba3d90d072f2b0884519719da12ec8d89deae716c9514aa112730cb8b94ad87b30c118860949c37224e8eb004222b3006484634492fd181bb21ff5be50a9ec54bf8e3957b17b094fab7090955249be5e0a289171bf3af61378de9e3cdca8b4024a003a5a2d6ca6a8aa56403cf8b565c514c96e36bd314b59d17acf8c8a7c3093f85973a80792162e5b7623ab002807c6147bd8d6e30207b457f2e5138e6601df91929b292895704df9cc47130d132e405999985c5b3e99c5a282ff6470f986e155f1330275ae07616c7f100f2d719b78da7581719a01760206a262b2dd6eef7f02061af0bc046c0d23220e3f01a8550351a0a8a9b5d0abeb0dff70b5f04a8700296254076ac128212d767adb1e752b82e49b6f4949ec42177105ed87e188aa898bb4966854ceada7ff502c8aaf21163304b50338ec26faa51fcc891fa59bcf91fc13839d7eaae4eecb87aa97f330c0036b23a1bedfd1d793b50997b0d209bce2e13dcf2ae99a5bb97fdf6d4fb476da15b3fc17489980b40f332c8180f57dc572649d7a14379d00f4eb50771b61f11fab18968f8ee5322c286899a62fe70044ed26728e183b5d47424d205dc2ab2bdea0e2fb16190f3e7237d04447084bd3e6c4323c86ce790c8ff197d9d43dc592ffd41a6c7a1b890d9f6b7858869aa7d5c533f48d3906b6c66f2a8e3b8dab6a7570ebf0c7979fd4b47bda5fc03cbdc690303f48fe2e063c62d015a4ba25c95ad463f4be34343c4aa83e363f8f0c687c7b4ed41dd9af693b52e88ced1d657689c9500883bb6e11859a01a9d301a5dba97c96e8527922aa4397b975647770e210beac9cd4d68274d8a0211bf4969443123c1c7f49bec5f7dfca3fb361c1dd536313bfe0c2b6472a3339a70fafe87c96d8a3853d989939f341c0f7af5122ff0c6b1b3bfaf28578b30949e9f8e8a802eebdce47b755c71f890f1edab355569061af1a3c8b0b9b4edf789b5ea6b98d9e3dfd1571fabb2314f384fbfaeebabf567b6aaf13fbc1d07c06cbca9b6a923da86640dca9ca42ca17786c37f9796ca9f1390dec6ec6d0ced35a6a6379c3bf2202a1c97f15e69cb4cb8f889b4e4befe48eaba40d05c2e25875aa6aab24efb63b8a5295eef5716f9fa0ecef52575da540147cd68f306c7de044890c8e244c5dbb5796f4614e65a330a35d81b318adcdcc5823a8b468d908f86ca0652cf587a8c1d3db49a409373a3b4f414b9a3180844ecb7aa0c6b76f27bbcd28c19ca5fe671b8c04ec01ccf55773f1cc280112a91f2e3a6223e6f476ce502bbe678ad8f517a6dd69e5e553665ca33aac828253922cbbc208e0ab5be756e58d147e5d2c775ad1ccc947b032b2e39645213e081aa9f1bcc309e3815b4b0fb0aac2eb7596f50f2a49474937bd3d2d1b47fc5cf7e99990af1d5a428c3dbb8ec7cfcbb43c1eb6b6c0932461321c15ea291981f1dfc37b552e316bfc508c6450ab5a0be448027c85095a03d18372c1362ff9980baa62e49416abbc17a5e2cc9987a7ace7bef0f27b6f2f1fe9ac5cedda0a9f8b00203e392649287e5b067432fe5a96e24057f49f7e532f0b2d214bc6180e2629f48d8016e47107e8636469d06ae19b58d5462fd91a5895a6f3847a5f0347611869ae3583e646a8eefb804b7e559db4b200845aa1c740956aab6f8d3105a731cb0f76c833eed6e4889941451a6aacae21a2ce66d07ca976dcf8911a7758e8e4b22646900c987bc9758733019b5f8a0fbb1308ec9c0586dfa57c73644e51983d7add5738680347601251b55e9a75ebf6c65e52476f497e0b1b6ead393febf5a7efdd19c7e2fbb145687b42ae4e4ae988865c0808fd9388d5bda638729430fb2c643238aac62b1962ffa6730d982d6595d88c7f372058854056c12bd061f28d26526758bfe552c19b98b89bc40f9f884c7c9e688befa1e818689e422fe9fc6bb191626f85921f929a2572e9037277c4d28e7fb54be47bc10f8dd52c7aa49000dca9e80af7a31b7b1b1495bca28294739b87d4ab43957535125f565bfa27fc5b596cf8dab6e4fb28d96c69049a551d2a1d233119af145ac8c02f75ecb69f85023960cf5ece5e93de4535b7bd7dee25a9a78900c8b70582050b3e083e453357d514fcf3a94dda9c71425ee7517fc67a19e8353ad93dca9b7293ecde82051db042388166a8ece25fd172a22b372f16bfa676c4d09d8310e8ae841d71101247363b3f240db5dc6eb16dfa9509292113ea235a3ffc8c69a8e9f1dd4a9270103c92ea7d4deae90b4cc64855be25cd3ec5542b36c33043a8df3be5710380b6b3a8bcf059cfab27f2bb5ccdd2a830e815f101dd702aedfb794838c39fc934242f15d00b7ceb3582bf83a3bed89f107a5b9cc2dfb5328eacf1377cb20ef13a5a3dd4ad8fb7bbd1f7b49db7bef2db794524a2903360cd60b390bbb058f0b2f0c4f8d3785678507c64b817784d702af055d463be1e9e0d9e0c5a0d5e83034177a0a6d8506839d602718065c03ce2193c94de41eb493bc450623c7204b915f90bf6421b2119905d90926839bc8a1d7b7a9a1d77765187a7d3206bd7e0b8c5e9fb545af3f4ad1eb872fe8f53ffca5d7df5fa3da265456bf7e4f8c865eff060ebdbe8d3be662b93ce026bd3e8f16bdbe0e0c7afd1a65f4fa3b51f4fa34aae8f573bcf4fab0207a7d9c227afd5712bdfecd6d62c7582c38f4fa3634f4faae2b825e9f2ca3d76fc1a0d76769d1eb8f51f4fa6115bdfe67bdf45afa709f5cce71cd1ce597e5197b5e9e43ffe549242b7bca73c7ca1be549761bb956775456bfe2a8ac7ebd51597d9ef204b2d5df29cfea549eb589aad7d729cfca541f569e7529d7ebe79467b53df5fa34cab32a31f5fa38e549a95ee549abeadf9427b5a2b24a029595278db2759aab4a277d6a95278c55d6b03c635f1945a453e3020ca4b333b1dcbb3c53c021c8817440513120c98e4f202820281bbb3d381bbb4ff8c9caeee36f883f751c655215202efa7d1ffc3fe516fd7e86e244149bbdbf430548b7f7eebb040282b2d1a4c3744d1b4e3ab600daf5fb3952eee7dc72a6d4c7524dd0748c5fecc9d28b6e20a99419275ccf13101490cece28a99449259fdccd0bfcc9f5a407d772c146d398b4c314b6a0737372d6006aba2692992866a4989962868a192b40b66b224da599ba329364064ad53591a6a0a6745353536872d7449ab23275652acb9496a66b224d459992e2939b9ae2939ba2f2634b53754da432505446af8954c6ca14149fdc54924faecc954fae0c1a9f5c99299f5c199d4faecc159f5c992c3eb9325a7c98ae8954c686323a94414199149439c247e99a4864c220a3a64c0b6562a0ba2612192bc8802153860c174fd7442273049916907182cc144cd744226303191df8131914f02732292895ae8934260c4e754da43156208d39824c0cfc894c0bfc698c1afe34860bfe34a60c7f1a03863f8d69017f1ae3047f1a33057feaf7f9ed9a48636a1893c3981ec608d1831b63444fed9a483b30763118e3640c0cbb6b22ed5eb0fbb223b3db02774da49d113b16ec9ad84971bb26d2ae865d0e3db85d0f3db89d105fbb269218307a76d74412f3821edc3591c418b183a107b773d2831313831e9c982d7a7062c8f4e0c47ce9c18961410f4e4c133d383152f4e0fafd1edb3591c4d0200607313c8809424c1155d7440a038330658869224604b96b2285a9228c973063c268d1744da430458449220c161b4d61a2b861bb2652181ac2e01086071b4d6182a8ba2692140c6ce4ae892455858da66b224915114604369ac234b1d12455868d26292d6c34498db1d124e5c54693541258a88cf6afb4d12415858da67edf86d23591a46c524b52372926a926245d95ce4aaa26a5f4744d245d4e17a5dbe9a898ae89a46bd239e970ba271ea56b22e96cbaa51d26dd6d8749c78404a66ae7e99a4860723b4cd74402d3a453da61d2d57698c058ed3081a1da6102b3db610213b5c304c66987090c6e8709ccd30e53bfbf53bb2612981180290198138001020c11bb6b227df9e20b195fce00f302ee9a485fb87ce9f245cc9733b76b227d21e20b125f98f802458dda3591be8ce04b09be9c40e7f605089ddd3591bc7ca183bb2692172e3ab76b227921e2cb0b3a372f67e8dcbc90a173f37246e7e6458ccecd4b179d9b172498a032da77a973f30285ceaddf87595d13c9cb0c5e48e065072f3f781922ea9a48515e448d11b5c6cb13a76b2245511185455498a82c604bd7448a1a226a05514b44b9c0ea9a48513344912067296a879ca5a81f72a2ae89d4c58b1ca76b2275a12267e99a485d86887a92b3d4654dce5297317296ba6491b3d4254cce52172c7296baac2067a9cb12394b5d5c90b3d4efd3e8d2a576a95d2a52972a5428d785184f66e4bab810d5b4e50a26a926334e346cd744c2a20a95511550193d716c4a54db13548684850c54466fa0320195d113c7e60395d113c796eb02e98a2d5446fb7d1cdb3591aea84265140b17a2cca03231e8931922a9a12b622ad84a9c3848573c210395d11bb609a8f7949a4857f84065b49fb03e32400dd9ea54ca4c181d7fc8128ba290a74faeaafbe47ca07ca26c93daa417d940e64ea5cc3c757164801a32ec54ca0cd51dc7b18e76a41febe44067692557e639c9c692c6239d6b36a60379fae47c72372729e5270aa4764d4a33492a165f69e1ae49732568e09a7605a78f4c7dca38ab4477b55aadd63445bb6f9d2cee734ecc6ad1d828d6a4382976cafdca4462256c23996e1bd7acaa966cf72a5d93bc472aee9a9876ff3e5120360a4daddd290460e16465506c8dd21080056e37458ab551966c57a95ef59b6471d4b8f5c012e11652b66abda8a1017771d630e8b2f3b61732d4dc3eb0479726427164b54897cdcd0b0664d47044203948c184a39103d3a9b1c363e346cff3d22708dc0f108e1c31998e31ce70da1144a3c490e1264e4dd96819a7ce432868878e927fcf0d1b3cb4076b0789108f1619d7fb700b6d26372816f34a1e253f54e83ea542debf124a85f68c3e15ba99f36c57fd13d6773695be53d085e83b4576df41f4cd0444a76346617f0ab727d91fec3289f7dbea5c8dd0aec2edb93ced9fe0818e4b156eb77f9dc29b4dfd325966eb8a3549d3a5c59a3615eac515e071a26b742484bf37b76be24aa9f7f4f5f44db8e60ab58663bfc846565d5465b2e1558b95d57ac5caac58597d168f4941521d99a97ed6a94e5e597d1c5e956a2b68809b7065f55fbc468142c295d5cae99531b92cd8d89b868c0b9d670c9a3162f0bd639ac67c1983ab399deac6e050776aaa6e7bde0e96fdedbd3382d29e4e753b1bf0077edfae059e4e7562ce802108c23ad589e122a688500c43314b3d0c95fe56f70ab9b2c5511475616eba302f8cac71b411e3461796d862b17452b77ee26ea5a4a0b446534bac5c276523773ad5e9c4e83c95d7e854a703d3796cacee20b1e9f759fd9667084817427a858a15cdf8a45c20c58e4740fa492fbdb7461114123f98c3df37fc1bdefb511bc3fc4acfdf5f306f1ca5bf29b5524858f55bed15bbb7f74677f36d84f62b628cb11a5c5a6bada552f75e0da0806b5dc9922667749b475a16c940d60fa294d24c69ad5b5beb188cb5d61641799b822ba6d2748cef083a2d5488f6138fa07ba231da6d996d123ad3658ad8c28b7e5e7b2deef74bb08e4f4cf43fca84a43a9d538f75aaf342450f694d22a94eb7d4ef7f3ffea6b88aae7b6e82650b9df8f473a97b7edc4515f0d45557d2f2d2c3dba587f88a1e662b7aa8c52d1d1c8d943dc4e1d55e0dd6c9644a0f5fa7e3d241cea4b3fefcdeb228fdf37b7d747a48eeb3dec81a15f940609527fdefbfa39096310325ec383fad11fe99c3fcb44cf2fdfd24f9bfd103264c7c7f8b7c2168ef0698f4fbfaa494521a569da6be2a0e8c874a75fd4a70ad66434f217fed77ec20a7e7f2de1104fc376b1a9762a96df11677b6e15c180fa6413135a3e39b5fe4d53facb3033d97b70a17b4a5f845d66b31a61853aa01ebec8025ad16f96be6db5a7bcbea442be74abe48fb3f990ed9d8bd5eb87335fcf293f928e37bdffb304ce18422b69710421992fe294e894b18e1221748dae948593588adb53c32ccbce805927e0852a4fdfa1aa0406c8884109901330982617c2089861cd3ba8905c5ccd8886103868bd41ca61fff09fb1eff4bfff71ed768faebf6b1c8d662607b3382a0dfcb1bfc44d6e9801cdab08637c49c7532f1a17bf875de757c12de6cfab0b2708901ea5b5b4958ad773cb258c4a308fa73b9a44a7d5d004adbb8525a7e6bcb93c9922a55573b82e0ea486c7ae527931d5ef52eeb3c80a5dbb26a29c4c638a5e171eca0d5ed87a08a7d16405afeee371ed5cf9cd2421a82221d8f366000fdb90c417efd07a0b45c56b1057861084d97e0d8c1d76d798600d25e1842cb9f6f46e27255cb2915aabb9634bc36b42c5b0a21b2b12b440d5985ec135d8f891a7d5cb798ed7dd1c6ee5d437efe97b5d6d6f183cfdeb7b4527c6d3541f8225f452d90fa5f5e799eb948fed3f6fc5583805f6b233c6889efa57cd710e71067ca61f7f18f1f6c8d04ec1904fc39d3100ab922b11998effa12b28634428deca5a77e3189fe5cbe486cc5823c7665f743fca393946001f8211d174069611902f029cdc8867a8d055fdbefedf7752cc2a37f23eb47eceeb84d48f08bf025f85900696007b900741401fc74c802819f21e8d71eafe7fab1adf168cd1dff8aa49dd248acb586f1dc8820dfb1cf84165efd772c429f28c2a383fa3dfd46168f46863c1086b60ca190352d216690f8eb36925f7ff5021f17c1b56da72b4a4ad72e272bd3eff45575fd60ed9a2e262b2fea9a374d54a69fc9b3b2da9b8ceafa6b78a96e9d8e06e8c1c8d5a2860a5380a723044ad06667ac2876764347344b235fd8c399313a01dec88a2129b67a38e345af44a511578823f620450f41783afe287ff0da85f0da83f0da8978ed4078ed3e78ed00e0b59bbc4260480f466884b31ece64e9d4c86aa00127e1011c8c220018ec4f52004faf698152005fc584baa28103f8f74806e0b50fa962a63316a9dd001fe21047e0dfd7903580833715dc1f6762d879231be61019c0bf278a8208c8d7a91455093c7101fcfb1f23ac00bcf6215b7ed8188bd45e800f65628c7faf809e9b247a8450d970a343bcc1bfd7e1ac14f0a2dca9d49324586f64c3229106b7416202f8f7393f3b7c7a208087574f1e78e07aeae04bb1c604c9c1d8431a6f64430ec4514834c2bf9f008f03cc789c9cc621450ca1d1a9d4193346211107ffbe0890cd1028808cbe18d990876802a7001f2200af7d8815e4fe2139c622b513e0c32eb686c421fe3d92cfe0a835e4089aee54eac9ad87f8f1215cc8fd21f0dabb8e0f331081f8f739825e440411b1e954ea8ceea58158f2ef8ff0c019e2048fa32ca0dec88647a2e843d4c1bf37ea111a2296a02d4aae881494920f51040e8405be023c023ce9c9d32a50d22bfbe0959e668112bc5d99fed9a804045ebbd196a30cc622b583f0a111119c8934fe0571d00a1590690a1353d75f824d5c8eec4ea59aa079cebf0f0007976c51b4f80891789dead430e1e2219148847f5f02155b07af3bf80ede65644301881f1ff20394530f79edd4143f6e3405b97f00bc7624e357162991fb8f8c4a6a1fc0df544185f4cfc48fdf40d998fe9b1c159242824bbfc158c4f610ca90fb4fb1ef3f415be952b2319074bd5a36a306dc7603d85e004e3b0138ed2170da2bc0290d044efb0038ed1ff013d629cd037e8a495d7f075c00fcdcbd257e94a601b77d87db7ec31a6d5a2fce5d9c73ce6d8fc091d18d3c5d4a4a506efae38c47b40f8b3e1efe11ff5c361b75cd1693cb969b5a4c51679eeabab57465fa5b4b5deb9ba69bdc95e96bbaa2ae4c7f53d79abcc9758d3bfa7317f99334f2274c3f120ed6507b4449aa5281a7004f527a5a05fec9d328f0a17df523a52bea9ae05253d76fa43c61b022e5491e9551a06d081522f5a6d39148110fc01309408ec63b07a5d80c79233b84032bae1ed61c6a59270b454f34c422b28734a7d2cb2ae2424a2d41725a3dac30204e3657143bfbf1fa5d4b76a6593dac3ade8f208878486563fa4d1ea2b131fd331e56d998fe0d7898c6c6f4fbe0a1958de907000faf32183b1d8dd816d335c524285d6ba88e02ee67cb4ad70f1b8bdcae4129d63258c284210e5ae9c1412a3c38c8245443dc2106bd916d2db56e5dbf4e500936ede0a0ad4947d8431e31078fc9622ed81173803da43c955e96f74a6ef772548002435e8003e8c7e7ebe51bd99d921bc123f2dd2d156f43bce1f5b0dee8b931840d0e2edd1077740f6b0fe52987345183834b3a1c9402e3e02de7068d12b4e170304aeee29083371bd33f010e4eb132fd25706a3738412a5d7fd823e2f0213e905467c5d4a9d4992b1d8783516c4c83b62d54021c74ba32fd2f0e5ab9e1a00d7771704a93142bd37fde3875fd3d640936b53868e39235ebc712b4811c8ca2c5db11e060d395e917394825774d308a95e9d7a094a8aec1295dff79b3ebfa39c86463fa3f0edaa8f8403e7ea5d114e47e97d37804d24085f48b23384408f2743975addfe5e4ba4281008d479bc3281018158a891f2f7a4252a92d4afdbcf9a2eb22544d07d3c127ed2cfcfd14e372fdeff77fde6ffe7df8fdab86617976a083bbde548d6019b026a43fe74d55b760940f8d8dd996929d9d5fd557f5a141d3edb7a0b4aa92bafd56d287a6552b22017982b66e319854440272df409e647f61fb18ca9ad9a65b9abaa1614ad36d13be4241ec27d9bdffd254b17236c682b232fb9675d5948609cd6d6aa9b374362b1d05b19fa0cd09b4816052b56307391f580393aafad9aad96e703666bf6889b47f7e55ddfed9aafaac9428907a6567f7ed833530c9ce68bff1aa844e56a6dc6aadf5e9f9c252f0928dd14aa98da22694403114acd444e54eb9e1da559aaaa5285094888ef8a05453f7e63214bb390803f773a780f311d6650ab87be54e073d0b91f5c70fe81967ec74a03fbf2e53a8f5cb118a33b2b34a71467696afd8d8f56cfdbe8d68ade8e517163f636b7465f77176129d2c85bdccec5466278acb22a02612971d95512a1aaa70e8978b55e6a1dfbf561448c556b80a53e11d8ec239fc8471d8093761267cc34b764671addfaf55d5cad6ac926572b23b4bf556d7d4a1bd920de7ef5f2966ad51b126a576e6fa9bbf7f7376e6fa4beaac49499a69d3a450a7d426baa3323a12022daad75c7db261ceafd05a1b86d606c1c27c42ac4b84d178efc57f711808343e89f7244f16c77cda073f872fa9227e8d87d9998731c6242cffd8198df2a49102b6fce7697ced274f07ff64d27962950699c39790b41cfc1996f3badfcfe14baae4af01e349554e1f3fa2288a254fc7798b83f3783cc2a181413e14148b85d65a8cadbeeaf777f4d57daf3604850832e8c33f2bc642925c9063797e6c0e4531876178250cafcd9ef7cad6da9cad75c238e7df991462ed5b98fd5cbe6c0c26922449fefd4c7e8d0f62596b6d8b7c1ae5c9a4d3f8909fb6490f29ee6fbec6eb8dae99f3b7a43a7bc34832e7ad6055a4b54f384a3dafc973ba4b301ba9045ac1aac84bf5b46d79866ff327ace3b81e879f4f7127ddd5daadbf6e6c5c27d826dd556e9224492176d62acfda5998c5612f92f4e125e56c6da6b8a47eb35377ba264f99546527e3f2d7f0c088482cc8ce76afb58fe33896aff7de96e706c5c7fca438fa44714435fe1ca2b91a9cd2d81051cf81e9c4603c8763ccbdb77c7fc842d74f95d4ae3faeadad0242e969390f444ec9c210ad8a2e77ce39975658751f42c82beae872847ab697cd404645c55113a4358a9a95a9d6f6de24502a6a458d88867e5f5cd1c8a2c822459db2a5264d71d2292e340b958dc57efa7d9916b2a619ba2f925c72fd562a9b77ba2f76592cf5e854e785aee79a935e71d4fa25b3e02b6c55ab152f0ab8e32a2a74bfd6cc73ad4806b25a8b9d3849eab5539d175a70742a0575a6e79a9ded50b1b1fb57aa46a553dd19360074aa3be3d6c3ef42a52bd926bdf65aaf3d0c31de497b27e12efd0c5b3093ebe7e7a4df2fb281bc9d4a99d9d24faf49bfcf0035e44da7525938e9f843500cc72306a821c74ea5cc80c1298c2f3a16c19f92da6bd535730d87419e3b359203e980a26adf5844f71d262a74bf88043b872f0a6af6e0be2afafdbcf4fbdf987e7f3b5d1309ea76bd34d6c4b1d9ef8902f99cae599b3ea66b92b76b52dcb7f4d93ea5af46aba85a39dafd9dbb66dd517befa62728a68beb38b6a61b85765f3b5df3d2ee6badf5ee5235c1d5aaaeb96bdaaa055bed9a5fabd55ca0ddf79428ae865bbae6aedd5aad76df134113edbee7744d1dda7d0f77cd7fba26cd795e949d8538da7d6fca436335934fce27eaca94485bcf53b92a2bd9f2d256da5036edfe5ebab86b02ed2e10d553bf3ab72bbb9f9bba0ed395dd3f3353e74f3977cd1d262bbb0fdbe5589e3b6a378e1c282acc17e6fbbe37b2384b5b5cacef6bb5461c9b8d5da61da61da61e5c0f0ec8aae709c8eacace46dc38be91f5c9f944ddebb3f3a1eae1b35e8f47acf2ac3d3c0a71969e78a171a2d8709658e33832f5f4e0c2b00707741f274a78a58761c89f6e85c19e9aee0e15a69d2620ddf739e1fd9f53ff7e8b502310c770872c56b8bffd631886fff777369492f7954051ac177afd1aac1758236095807582d69916142d20c8175a5fb4c8689dd1e2d2ead212d322a285448b89d60bac332c285a276895a03502d6192c32585fb0b8b0bab0c4884fc427e20c2209c41dc62c46178c3fb09e8c5e8c638c6b462a462cc630e310e30ac625c6276216a20bc61d46128c33886bc431442f442a442cc430a00ba00ba00ce00da0094233e113a10fa20b6117a118a119e196f08a502aac12aa205422740134033e119a20bc21940134438c2ec02de015a0d44eda491bca8eb2a57c535f966f0a98f4a1f9d27c579f960fead37d543e2bdf952f694fed2c9f942fca07655fed341bcdd6b2a1b64eb7a05bd031681bb40e5e19cf090f0501a768f909569731ce16df2fbede7bf7bdf7b3db7ad65a7c33b6174a487faed6f8dbde95ddfb22c56a6ffe58bf39ffb618df5d8afa8498f8c22ffc4636dfcb33dd62fe1cd67b31ad99f58557bc68b5f73d386b9b31ce2b744f578b91c06307172a676bcdd98e4830e556cb53bdff368a5eededbb2fcdf9fc09a9e00e822006ffc4e083e50541107c0f6b9c317edc31be4f70dedbc6446ae4128919e733772074c9c20f6ddb0de8e35ec30831c5bad21dc2dd3d7ee6d7188754e87ee62a5cae6485ee9549b012afe7b2480a12853285db7379da1755b8bdfead53e1d5941475497911164cb5d63f453892d49ef69078ef95a7d875b98bc8195f18cccbdf938510f53bd4718c84d1f224f79087f129a4ebd2488a900621bdaf9df4f6dbaf9befabbfc7fff1af6b0ef64d81d4be7f77cdbf8e37ab8fddc8d27e69a059faf32306a8219fca846bf6fb4654e8fed3f72892bcf4735d408c938dd12cf7de7b2f15a5f5ee7d49f2daaff845cdeff1fba0e60b89fd5093de206a628fbf70965e9b741afc614bbf327de5d7f9bd3fb5ceaf93e8eb79faaf87bdbde33d93be83c4fbfda757de27c2e45725a17b8ff59336166a0d7ef53d9e42ee95e23b8596e7267589f563adbf965b5f0ac4d3f7b3e6950ae57ee28b31c6a6b7b7b7af0c5f9babf668d8b2058b4737d5faa997292e710d23bc55d5ea9ae0d7af5f3fdc3b47d28fb62ba654a6376d97fab36d017e30c24e0e1da140f0d7ff9fafe0f727ecafccfe957da5a5513c09df3d59c618083f0cf643ef479f098dd2dc24dc18573099526b71a7b732d1d502b1e94729a5da5f799294fe2eefaf87e6481cae44444343b1d8ffb5143784a9c9e976bf6d615f497f935075fa476d797ebf3ffc74fa07eb49bec76f63e874971b2705f9febcbfad52ed417fbfc5305021bab5dd7467235bdb956546b5f48323c84aa9d572b97dda7b979ee7e99b2fbef71241da296ccd538252837c4fdfce80239fc83f6b8efcdf9b2461b0ff586f7debcfa17e56a65a1bdf3e09e22b8d4b23b025b027b04074fa4616df296708742e577986802ccfca02c54dd1b1cab326b1703596279d9242b35ce937874ec7e5b9e300fd02e55840bf9f3dba049375f35045fd34c99af5caaad26cad06800a72ef157611679099ab6ab55a9335335a7d2263d87afd235d68f5433893d3a96e0ca55e7f84126eae395cad0047ab4f04ff54af1f54df477d21f589d4a7e3358382f60eda41419d5619a1739e91fd046bf34a20f62e59b0365a155d77b8345556662c4152a91b74190cd9ac066f642fc780b5f524f635b0360dfeb4b62918cffeac574eb5ca26f56b6b389a853e69c94145e976748a526df027adf2f1274d03803fa9d555add5a4aa54a1d86a94ba54a5d45b9d52992a95da54addc2cfdde7bef9d1212e40791f961a91bd0585d9f6de003003d7858281a9575d4294c549aac385db1a959c85c1a214180fc201aeaf6cd6f97573d039dc16ba0332877f4d050d012d73a6d2002d757f26beb6bce571a5f71bebebede7cad5f829d097d7d13747c957d8d7dcdf115c757a0af3f5f7dbe965ff9d7ffdaf3f5c6571b5f79beee7cadf155e72bec2bebc7f0ebd7fa3557a16a94de4df5f8fad5eacace78bcfd1d5442be06f95a3f764da2af3f74cd1f5f9fe89ae6d77a924268a86c2c08a734219cd28838a501e19416e3b4e7e0b4e3e0b40371da7f38ed3eb4734e69483bed3a38ed324efb73db61b4d3a89de4b5b778ed22af9adbde83d3ce83d32e54474ea73a8beb6ec373bf79e1fce026a7341ac477b79ceee0b656ad9caa1191231e8420820246b0b1fa2527a1046ec2091a58a1d66a5255aa50aacdc6a2d8d8924d7d17938d51b1b126a72bb82c4f391babf5857012f6830f1199bc5ee18b31bed696f54aea069c9008b2056dba3435285be8c2489a591b64e4369081ac4fad49f4629d1db1b1fa1e74214f9ae5880775dfdfdceebb77e7407c250b540bad8afdd0e3fb71502d691098bb5f10463fbf7eee5e3191af145a727a8ba4f0ab15e28b070ca8ed0d39e38a18687246e86a7040185fa471e106237c20e2f3818beedbc2c58ccf57c2760f9fe76da915e179390925bc25078586fdbd6b38fc9fd8109111912321bc02487812bb056388be3bd581f1c3b78b727969422ac0ab45786161a73a3096f65378df663e0215a2b8c4d7da7cdf1a518ccb13bfa519637befbdd65a6b2f5640ae22a4fb6ed11be1bf114685f0eb54a0dfa7310c33c1e3248dbd4e18b9c829955d520320afb41048a8e7dfd7a376830e6820a7b48f672acbbfc79e9fe224212bb52c4c8540a08fb4cd44509a3309d4b4d6dabfe5f6c27b75a5baa436678e4d9bf10af657a5849705142209ecd19f172952116f927601c60c6017b3668d0c50f0e005992c689a25a2600043881ab0c8e2ab02c34919d0133bd5c1608c188499cc797b9f5f6b8aafc59d96b7a9ead08415850b67b0b5634851628c20c850d17286cf0e505d2081040f60a63c2dd2e43272106baeb7b715426422c00d837deceba29f43600edf1a3277aa8301553f292e84821c4392b0f73ad5c1e04a3f63b91ba4a0b0f1205b8cc0d18408a941c42e0456432117668710b1b31c7a7d0faca901adbe083873a856abe56855e74552af5f8209547afd142e8ceaaa7ae85df4fae4881f7322956eac0b77741942d2912bcb6f442f019c9094b67fe8caf2ff922a22dcaf7feb2fa92202fe5d2ef92b2b975411c13e2e979037ff2d97944b6889b3966c408da4dd3f87aa4a70f6fa5f83544aefbf1569faf915057417bd40d6ff420ba35bcc62cdd895e91fd282a13aa51a4da7270e6bb52c31d4ccb62bd3666eba320de44790211cd0ba51510e24473e3391916dd9d644a567dc95691d31d9dfe8b1b1c3c30247211110372ee372540088d0c0a9a103cb29390ea01f9f232273b6810f0068f03a2a4f09f1e811346442069e93f7e4b2b9215f3b5a1328a1024ede530ce1c7c16f81638be3d8b85c6f649f8e47387ce7613bfcc60ee77f23c74fc977c4643c031e42426f64dfc88619f01f4f3433bf48ed446f647d6ce0fac18bfec7d3f108c81b59d748bef487e4e6b68761181e851fda889b7b1fdb7ac77679b2a0ba8ee12b142a7cda5962a8e94585bfcf447dd1f5535ac522a3eb67e5462dd6f4ac5851148806af9fe5850621e1f5b3c0d0d9035e33e0f5b3b4d859035e3febc9ce64af6bbc1ee1f5b3aed8d9ceeb6739d999025ec75e3fabc9ce6e5e3f8b8a9de9bcbef1fa5953ec8cf5bac86b1caf9fb5646736af9f15c5ce72bc067afd7afd2c253b3bf2fa5949ac9a9de1bcfef1cace02f0fa472b3be3af7f4c6367e4eb1fabec6c01af7fa4ba6609af7f9cb2331baf7fdcd9990baaebbafe31c99adb7665363b73c0eb1fa3d819d2eb1f97ec28c5ce74bcfef1666746af7f9c62673daf7f64b233a1d73f52b1b321af7f6c1aadd8d9d0eb1f9dec0cc9eb1fafd8d9bffe11676719bcfe318b9d1dbdfef1c9ce88bc7e91cace725ebfa85facb2b31daf5f4c63673eaf5fb4b2b31eaf5fbcb23304bca6f17a84a2795ecf5e3f7865670778fd612d4cb2331eaf3f54bae6045e7f68b3b304985f95156b8235d806fdf5833910cace825e3f18754d09bc36f2fa414d3323c041055e3f78bba609af1f64ba26051e4dd7578a6020ebc32890b3da4e47251cb87851d08f3742c7a31e1da210b10c82034414d2f1e8875a40de888f37423b8f11006fc4c77c2337f65eb277c8757ef3f3d56f3c1d8f748e94ec370281908e4735c21f425e5fe2f78534c48f8351bedac31c118489a0ed214c6c71304aebf6500727f71026f222cec1872cf1e866fc9e831b917c498123e2d0105f39b01f74449b1a226b47bce1f921b4f1c38d176d3c075ce480d3eee2b4883fdf0006fb3028147a3b1ef5bc104e7b10aea37c3a1ee17c08f421105e7b066fc7a37f209cf6211c6fc7239bf7c16907009ff1f03c8f9ca7e3d18ea7a392a39f2f527bce91cf193226fb3a1ed5f8900fe961264280d7be010024c80f5e7b11af1c042f1b376e6ef4d8bc8b93bc6c0921222a7d583e86a48682624038c21ce0cfe7887d31d996e9f074ecd03b82b2107e91a4108f2bee7af37952718e2449922461249129f2f22883ac3928eb1ddad3513ba8e5fe62992449119038328de55a59187f46960fab55b6484ebade65d3637373e3e665238300bf707872a5325706481a393572603a301d984e8d9c1d1a3b3c383c365e366edcdce8b1e979d7739297add28775ebad53b7de3a8523c49103cc11fb62b22dd3e1e9d8a17704e520212cc4e3d69a33cee95c853e84fa674cf1c5b7ecd1a3b0df45f8804cb597872e2283c43928eb1d3c3098a7c3dbb2eee48b7d3eec2c47a7321c784d8da3d3d7fc6704620504a8d30f2fadb6d65ac79f91e5c36a952d9293ae77d9f4d8dcdcc07809be7989363ac578097ee1f090a406481c1f76b6d3e993a406481a393572603a301d984e8d9c1a3b34767870786cbc6cdcb8b9d163d3f3aee7242f5ba50fcbe76714f70f508f2d4038421c39c01cb12f26db321d9e8e1d7a47500e12c2423c2e8f1e3eaaf661673d7a0805ede0c18307e7f13d3c6ed8e0c183078f6ff3f0742602128206b2be1752353cb50a204595888bfdbc48517cf1e44ea56a58eae70f2e06295d5471a60b2460e8020816982e66b8010d1517345a482b688868011a1cc01190379dead03cb1820b2f7ee0e20551903f9deab81862072ea47c5690383ad56d3186b8b405157b0dc93bd56d51654f91393ad56df1e433428b33240f5a48d183164d69b4c06134428b1a180332d6a98e2aea13824a8925aa1b6b0dd50bad17c81a5d2441f254c1a404eb8abcd1a9eecc094624c857a7ba3331885190ae18905348a12d641269d38296942c82284116337841c2c6683d9136bc8c53481e25c216903629d852248d4e75666e605521c94e75665cb8622acde704a9d3a96e0a0c4803c9d3a96e8a09700cd9d3a96eea8654838d8886297ab574931a74aaf322878e3b95a2018a7ec2c013ec4dadaca815d1b8ab0e4160a161adb8377984efef9c50bf3258f5ec3189c14913442841a1050b683b46e4ca9892d302092a34908c7ebffc5043bf4fc49a2c5a0cbf88f3c5f804342abafd176c4ab75068f67f6c4ddd7e90140d4a7d48b72320a25b4b346b426a063334d05d9451a5d429954a8d12def168c82aac01a882ac9f31bee6f6aad595d1af6176194e9018c548396982911e181d113b957232652902328079d2e2882a5db830e583151ecec0515d7104cd8263d444283665eca0b99431250b19227a752ae5c4d65d9d4a3539433765b7cd519aa3e7df7b6f1965733667a34a9bdb2409a3a668f3db9c9d51283b8b42829ad6096aa9582b35c87dfb760514087e0b868b15bdda2998c86521b2b2fa56561f17f5b4cb5145516b45a96af6466599aa9a9ebab5aaba668db23626ab94b3b5a7132b5135ed984e9b6bc2e26a8ffa20b74e5656ff365db32e59d90a5656ff3e3155dda86c514a3677da1cfe6ea7ad358414ef0fa440f033e9742c826d2d4048ed8cd69102b94f9f4581ec9e8212afdf24f7e9513da333a93502e18b02d929b2fb0698f4149478fdb4cf048706051242b8eb8d70d31c291c6ec87eebed1bb5a498c842ffac958728a4b0fb4da2a49ed15550b2fb7d25f58caee496426c6c44a13ea55468532ac45ae1f4c00740b024f31385fa39bf387225446e564189d77f5021fb4a2815f221964374bbf6e7efbd0f37de79e70d447f5d51a8b554527399e4feee75dfc72a9ce0815e1f85ab6405156ebfe5f981b04b156edf6512af4ce1765c9e2b7415ae957ae2a95b4b0545bfa5456363f547ab5f10c20750270cbdc85b62fc454390f5f1093617036f8a47a506c9435020f86689a0a6dd4874ca04149d5a1cd55809dbf052b739db6cb3cd36db6c3351c6e1a87055382bdc35f3edf674cbdda27ade4cf6764dbcb7bd61dc95dd604ba4edbc4a1d33e126eca46f62a96fa5be81a5beed76bb1dc589e5190bcb7308d4381c0e976fb75cdbbbf64ff7e3ddb7db3bbdd3f9b6d6381bc3b8dac3d620382a5435eecaece34e8ceb56e3b4d6389cc6699cc68d11d29fd3cb1ff8dd7f91df8be37859620dc52a92ac2d92bf3d168977380a47611ddeb16264ac8c1c8b1cef38d6e1294c85abd2d898958d5dd92428382a0cd659c1513666719457f366b8c5c4d025651c0e879ba283afc879872c8407ee0c26e79cb3fdbeefb318638cf10eeff0ae661c0e879b72bbdd6e3569d7a672ce348b4e05623a3b680f9c8316b2d035d540b430e79c7f68a1a7c357115f9118d2bed5d99dc5ba7e3e756b665cc609e0041ecf59f253cd381cc8fa67c6edb76f9fb4582a2890fcd65ae9a7a5b25ca8996f57666d976ead98d39ec9381f7bcacaeca3d969c87d054bfa0f4a3f2d95a5eaf6e9ded998fd0fa4c8fa5eed9adf56226df633cefede24ec634376e37054b82a9c15ee9afb767bbae56e51ddbebe5d73d7aeccfe66229bb4d335bddd8dbce13c27afc963822d757b6a25fd57fceff6dd6c5208ae3611d1d0502cf6bfdbeda6a474fc1787c3e1ea141674fbb66ffb569358b8da3570d7c05d03774d8af8deeec248f25a50ff15f15f0d3edd71009c6301597bba011de7e13c1caedbff19616bd795700709c67fc2ab07d913867a7d5ba280fb0927d834dd3e938e390e61bf1ed75a25635d2a59a1e732497e6f67f74c292d2d9a241aa058fac984891328968ef1d37baf67a73e10536f4c4d7629db9a55b2362bbca3aa8abab8a79c93adb7a515b077860b6cb890956aad3f8700ca59a423ebe7bc83a466db75a63be7c718dc5d972adc8eff6c75fb2d0a84f611c9a97f07c9c6ddf64e73dd9eb9e75aab2131c2a2a13242b1f4fb6d17a903e3b27e2ffe5df7defbf1576e4df5575ceed46ebbd1d5e70914cbd48ee8852328c88afff20fa0869ec7c66808a0745cf4c5a6e9f805c28eacb92c474ca9e284143ab8cad0c1e544876a3b6a82ac0fd68f0852f4ae5e225ff727e602c9f3e7c38e4e40569b97c4a538ac95d64a6badd8826f646b799ec06a915f6bad2e57add5e52a29156291b5d6edf13cad1a8b1c3d11825596c41e2916b23e954121eb6b2a188f28555a483d7181871cc5028a0a1558009184c41462ecae5e0a8d622786b86fb4d870f131a962c50f352c714318293c90b1068a993096a8822a0d992f64caec206227362653bb81f19a27a8ec548044150d4c60605ac1113d38595981010c63cc17df18ab9d1ba730810a442e63cc80d7084633e2266509a82d565598b72c67f8b01301d413340b821185972a53b452208448a554ab9059814746098d23c66585182e5e3096140c233d53840e4d9ea45450c513135e20660b09b06881430e95092697d415a018b167ef5d123738e0de5ac2baebc2aa301073c66b67038e101fc03829a3c50fb91c4c30c41441e4a0c609303e221e181d19a2560c316a09898662df83673ff68f5021fa3ca298d85a63f0ed7d95a832b2e03219411138195cb8410a05560080871f648822b7c3185daac228b19f80e9dc802587257698c28c3278e882051736a040290a9afd42ca0cd70c3da01761a43e2e61b2f819b26206cc0f2d68cac2020b2cb10317543f6c61e505affcbeae91d26db702a8220c1f9478c8a24314347bc4962b56989e6881133e5c25d6d8b8e4bd57b8db564f0451e4efd27dad2d7559d22bab7b85bb6dcd8f69b9bc4fefe7cf25b5e5f622cc96ca401580dcbc739ff69d22950ae1b7fdeeaf03f7b3b585edd76e3dd6c9a4572ac2dd6b67b17aeda1c73384a6496a0b193660d961a1ddf7a090c2e3f99f10b6204f0cb38fbf721f2c20f795595c4563b443000561d0eef5ccbdce45115eaa3cd1e186a91ced96b4baeeef9ef9eef559dd7c1b45ad628f70e5850a515777755a5d2dc0f2b8ca085747e8a3cbeaa218db91e7eeba2b1cfa1daf62e896d5baea558c8d214fdcd578d1691f3bd5a919d3e96b0971079e0ad7f25385db3f14f6e757b28212af7fe509fef74a56e849bcbf6f9403c94112240aa0f77dfffd2b55b8286cfd3dfff7ab5f09155f1462631888ceef81dfbdd6d6ae77a9cb33e7fc13be12a22f2c9f0ae1df524e5cf1c0ce9cb0d2716d81a4524ddc7a276267540a4b924971217c98c7c6f06b9ef9d078e4014141497e25940af9a042f8956c8049cf250f15c24fa950b6a3f7740483b62bfff76750ce39e77c2fdd2ef0bfd7bf9ffef9dae0077e1b881e7e287cdff7c15726d1bf3f6e8476156ed7e559df2b4ff08012af6fa0fecdaf4b1530dd6d2d94523a24f65d8b88202bf53c9d6dcd042a1b8fec2d41041ba31f02b5d6d21fb281ac4fadb5d6ee20b12160a1db8c26b4f66bfd0f76e42916114106a60da8842b57f07256325423020000000033160000281410084422912889d24454dc0314000f758e5a6a5c1ccca42808621043c618420821040000cc0c8c8c4a1a000a8474f03f800ea2bfd886a5fede2950850cebe7cfd26a3b44c37726ea080580b1830abebb4996477239344f80d799d009d58f3dcf6385b88a900680bd4027688c513ff1a5093b55600e36a416de202afc5f9004ce3fb64c5f99b6bfa3c562a17019a046c5b77f7b14556a00d7fc1f889e2583f7df8cb580cb2073d91fc8ab74f2e90e3efb00fa1484e57a91bbc0105920b167e0597e90870d99e43be532798f08445b26c50954b4c06ad6b82d6b45e67e6ebb2dd34ca42f270b3adb7805a8d146110811b8820d83835bc5180e700078208ffec8c83ee08886b22cb8d488033b81758c74073f2bc7b391797f714d63d1e6d13f83204b4605f6d12f3f6a2fbc640a84cdb88870eebde6d480b0c1203b7236b60386dd85ae71605a2a169e6106b580137c20c1be84fd2ceed1e07adbc3b56d83d5db0d2ada1ad60ccdfefa9f4b7dc887ce7fc5c193903b153c897fa7f908dd043dd4ffe6388f816bdb0657695b1d0fcae0eff27f53dce3c3d5b683cadb0729b71950dd3658b9dda07adb0175db3e17a2ab66d08b033acb5b4f3707b144a8cdf81e8797b71b28db16b0b63d706ddbe0aa6d014bdb05d6695b01a2ee6a66e459473a20b44f66749b5de32b701f959a922bcb52070551d21b7ac02b82f4413d38173d13796fa970b99d3db7e71d17634f48888a704eb50b6919b4a718d7a0495236d51363ffcf69b0b1d6ba6962a2aa3c8d0426bdbc4d9579ca27260d0a4f1d78e4c92215e359c31ea9848dea90f05b4209972a2f7d30f26471880ec5eb0a76fc735b1c37e1eaa459c56787611781fa5469fb7ec6ac4eb0643972dabc6ae76fd748d08f4d7e17824158e7d1d61bcc55475c13c4faf8f99b794be732ceb686f043217bc057b0015a912f175508b9e5b6f036ded03b3a8e2e577547a901dedc757c5fed300355f25b6d36224cb626d3d7cc7b2eefe18c3377530df8cd62993cdb0d87d9d610acad8ec46d77346e6bc771b63a12439b7a933e72322da8bdf943b58b452ee6bad8f4f2a57553dd9dc785462f8f51e8e49e2eabb79295802a48b0aba5456632d015ed24f86dbd2dd9acbdb06eda51f84e80dd1ad6cddb70ddde0e6fd65e5837edc2776b2bac9b36e1bab515deadbdb06eda51f84684ddd35c5e23faf65884f2888082d27d6487ae4693b5861e715dd09679425b2ffffbfeefb907563c0dcddad270ded686b36d372c6b4b43b9b61a9eb5ad11aad37ddf8cf728311ed91b8ac96380717a51b7d813fcc5655a322eb174bb4c755485b926c208731569edaa60375d963f665fe6115140d884d0a829e3b39733404dcb0b650b3252fe6e763d3e6263012ec97915b402d321c999443f6cf4a6ead77261103701929d7200334cfabe2f0dd4a26d2888ad31e9068291d6a574fce7fc939926890228026447123d439ac58ccfcba0de08002c71abbe8b387a660064abb9f5c9a3264fefd6e8bbe0c3f96de23e2c10db1afd7ec749c3d03be4d1c779a12b2d90d474d5c54cd0a6235077b16d0f4d20ee379b53ac34083a88e1de9b13ffbb79794821c1d6e7e356ff85071b8d548385143785803f29b89d4b662ba4268b40056f0ce62d2376fe6596a44e743346a21da6b73aa2825a18be14e34a63e6a0f47742e766bc7a5be949f0273da6c43b07b63cdda61b3aa8cc21ec8809f29e1bdafdef8f15588e14ca0f57db27f0fde23faa5d4e0766712d23ff36384c97b5a4193ab0a60ae57514ecf3ce43ad6b4ef20f68b4808127f199dfa088a883f1efa95160e0f7eda33580f635821e1bd97a917ab0dfb47f08638e89b8a9037d726554ca444e56c34ef803c66f9694dfb5798a67e166293ef186b9d2cadfe70c7b27fdba5822cbd18db0401d65152b142780ce00003d64452c7a214d732aca80ed6df9930d0bf74ab56a80e7458291dfc93e42aaf9162d9cdc0d0ea58a3a1927ab8e1ad9d5f20ee2626b4f439cac8639c74344c0a1bdced309817dc1e1c84d5d893a6d050c0c10301140cc04e0f67f1fc9267cd1346c6eb5381ad4016a028529d5f2a276fd3ff30482b30dd6099facd42b580d1682d6c5c220b0933ea009e2046a5e95370810622cc9632ae018369e9fa1b6680e76fdae8627baae5260b6db019ea73c4d392dfe4fdf5ff73e6408cec49b529fc0a94cfc27bf7831aed3de8e5d679471d71698ba77e7562edf7943f193861d0d99789ed68229f44c0258291639317c95d5349bfb11f51f340be3dba55e9dabba52a1272cf6c8fc6816da1f4654ce6cfdd2bdd497fdf41cab0e3969d00da8a7a56ba1a389de9f132daec3b96ffb87ad8f7fd5f43c85fa086bf00e1848786a31d3bfaccffb5e6807a65e4a41e06da14937b2b1a7bc95146d7469d02a1378ef71209e16ce380ef64a1b3caafa7788a1a93d30341c49b9c4127d5a612c420d03dc9c1034ec70ed4b517383b7da73935844d4d9020e677570b4eefd15fc0256202c25734d98f17d2b3c4d3aa55504ed71aa6f1a1cb1eae52bb350b4b5def9dfefc0145ebbc49a256886fc8dbd4eb8bb053d27c44abbbeeaaa561b849cf9506a333040874c8cf3f389305c7994979ad3bb5df8e52de2f22eb517a069e85ddf837bba723002de06732e9e6df83c7d57a8e03994a769d4ca40f0b6ef2acb70b4da836cd2daf509e12d7e784a08b349d25c11313f5fcea2c9d3bc9464e092a9bbf7928ab332bf988417fea3e426c8111be440ffd35d2731dd524df7bda93d8eb74f060bc5298916d462c2d2f5a2da807495508da8a1a02163b25497a77a3043f06fd4cc668106dc564db7e04fb6d37d373c929978121986f5425a8299da27b287377e0e9d8a5c06f2ac46f85395063c8359ecd953745b3dae1085259e9822b949224e2faf6103e43e486fcb3f26887268b417a23c69e2ae93e9b3fcaa85369bd1a27c3c80d40f744fa2ffd383c4ffba8014a1d520b80eeb84b1cddaeaee5953ada2e12ef726bd7822114cdc2ce55a508c0dfb68d82b322687b75fa9cfc2f00e2365a5e67015f11515c2ba7ac4f1a8af4aa64ac4649727c01ebb553b5d9bc7d44eede0682cf15ccc6cce3f0bf7ba2ce7366ae57f8f84f3787f6bd4a9a5334f58f602b26be9adfd19bdb55bfc2ed9ac4134f737ab2badf4a2874eef0a445f01c9219d68d68d3ea27e3ff1f3ea1acf41bbb81b834365b8957935d302068f7fcab8b945530f421cefc40e51f75083aa94fb7688e917df42c3604cc5126c3628e632167e9308df7b491d27e4de419d7b59121c83c4f47f7142d4f28c08b4d6f06c3abc77cae1b159a78bd6955f276b849b37df8dfc42a83872a4269a2993b87b6e9eabbd1601075b44188fa5e47528418d3da4a89e59b5d3f1b8005818193b0e29975240882051017e1310b8ce3465ad320a5261c4acfcbac6db5316027748972712b37ea74b2b8b6c42d0eb8976585c625bf578d33ed062642bf30f2daafbc798dbf61e9ab28ae5f11cbbe194cd9fa5deb286932d61b8a6c767eaa15ad633325ec69bb0716836394bb42823b54bd9a888837d3fb4e6d024f30f37c3d01b46617bd7d19013ee8c53ee1fa86c544eae6102d119f21f151fd968dd8afd6577081dc6a5ed9b6609eb7e8697fbc4e0a79f060c83097b7c580260121e68b1d38ceb8c694b62f7571089ae4314ec20dffb258d5bebb496fc73c64fb9d187390efd5429b7ac92f25b9814bb3c774294400586f58ab7622bc9400d529119e899fa56586d036f0e1c5bc1724cc5e8336ad73ed88aa969c0922da2dce9cf737fd6711d31577866e091f41c6fc016125aa10b258982615ba421548121eba491896600408da4c57d3913b3b2416217d6570e99929dda664b22193035dd248d0dee2e5e376768d6257fbc582ec481a81f06a606adc0b47302539266840d535e73ca6dcf019a9b8e325833547b7193f413b95c9ca27385ced4adff41bc7bcc91931dd2231b4f448cb1c671b975e785edf9fa2ba8575a431c73804f932518bfb1da54635c17fe66acf08f81968079102ca7d22e111e15689e7fb99c5ba6ae1e0a22158e8f089f6e31b01fbea9f3343fb30615390eba0515927b689ab3dd403ccfb6e80edca999592858d84192f10cc9cc778e0cafd55b99e35a1ce2eab83675383b4bb1df8f29247026dde2d692d75b0b6eca2444ccfea758746f1915305c3d1838bc4d9e615f96191c52c0dbc180ce94f25e6dcce14d4cfc244c6186d1438e39cc9b08fabc527483dd0268f84904c76e99a04d0e88db6f0e584eace75c2ec87a1fdc5df3c418c6f596ba227a38daf386e5a5bced27af0dd0803d816e889ea2a9d7d75f85e5bf4f4b13cfb0b076a5bc169d7c3a678e9b2795683b5c5b1f81a52191b8714e9af4c0b0dce84bca37e12ce7487abaab9245cae4b2844828245e05087c3f9ab2c4be1df02897a4a5bf1cc1466312986dd47e26f6fe9e065cfe8c8c092ff32abd02c42ba147e6496a0509c45d9ad449e8e7cba31e82cb1472cf115878398c4e3c7985a5d2594f6e83b8d427dc2d878706e1c64bb975085a08d9b9a916e20561bd682d83a352aacd76dbcc24144d3da7953a83284183a22070bc35c2026aad637000cbd7a61c2cf992fabf3d825423a5a96902b11ec7ddc0c73423189308ac51f1cc062c3464734ed0b52162955f696260883677a3fd03a4531651da68cdbb2067a95c9099bf49ef60091073159072100b67395dccd16cb4cdc955b3665083a540f107d87c98297b235650893070d6538c0451722bc34e7ab78a16ae3a621c315b6c176bb680d1dcd71ea6cd7f5ab9ac9159a79f8dcf292e2d459ff940de91d8750f953f0f0bb0150b30c2be4fb678137237130049964a71ad768d86187560705832cdd2e7650635ff21e00213c75e3c430ae56f47478affc42f096c2337544479d09b229412a1530360c6965d19396e3270a2d4c1d7f5d4d5057700dc9f14cd45798f96e04443713cbf0e6d8f1d4a7bacc2dad7a85595a4f4ad758dd6e5819532971e4e36431c1b00ac013f5185e6bd4743273c6236037a85e2737d958c363e4d83e623b455fb3e70afe16b74d362c52de03dd32f8366c5c951002c3443846ae6dc024260615dd88793ed7ef066839f11a361e7f41977761618f78fa03836f32d4264a7934e35cdd7a37240845cc31677d7b29e6e9dfccf90938ede4f5548df3a6cbf33bbdbfdb5a439aa4511db2ecd1911aa0df1f07d88e2f8f3d501502044aa07719d7eb81f2b597624a0cc2fd5ada0596c541b6171f9eb39e17b62b72322907b3faa91f7212e39111894cc0a23348981820d14067ae613a716b3e15018fce1d0676b428a4d61c8f69a651c897f368c95b4c31cf2680d93e4c86653a7bcd28606f7e1d59a12dc9d97e5f832bb25ffab36b146502c5cb46c9e6da289c8ba08e584dbea0186e9bc06b95ac1cc679b011a43ba649f9db9ba2ddb309dd0c1bdd2f189591b9dcd2c00fbd13eeed955e426a0cd7d9a7b2e9e3844e5cd14a09a8cd06fc3892381eeded03c98e614daaa953c38c22fcdb6f9ab477c1828b6de505ace203e7838050565460d0c14e5f049ca153cac67783a020e6d772748980633f704e403ae096040f5a0c4f58f4f2ed61ebe63a3420b624f2b143a3bbf2a8272c6f0362e515f90b6ebea0372d870472d0559e9893246eb8ed8b8cfd49f9bd00b61735bfd3f1b6456356c4aa99810785a91ee65870a81632bf14ef662921db0f32f15e2d5a9019ae1727f835408bc89fbb4a136888c7a18a4a0ff90e048480201a2ea6c1c0df7a9534fb7fd295d36b93d39f4bc23a1568268171afc004f7a758b6353ec53a74714fa740d5c54a7f39c5b05d8cddfd84fd7af17bdba9d1ff1d9e8325fc120db5716ac83cc94ca74bf7dd4a6c60db4ea07346a3a80bf3031a793ba39cfc047ac2d8c7aae7180ae5e3dd70fae0edcfb13576627f5cfc993eb02782624367009a4e662f84a9e5318ae866e701645f79818f570cff9ddec68568df9e096cfd7ed650e4e3b3767c66b820624550cdfbc1253f8f4cd7e71c2c9d2953935f5107d445999e31609de9bacbabab2312e79dcbf2bc1ba7f4235bfa6a027f92e3aaec846655311a4985d5e51fcdeb5ef2e15fdde478df5834e10155d1eb7f017060066f6b130fdceb95b8f49fc784e490d4f8c16f09fda416e4885f70f26ababdd8ef8b14d2607670bef28c106021b8e37896ba58b262714d569040672029bf0cfd0aa399c9dec0328f3352acd0ad2c13ac4eab7c3ead4338529af72dabbf811dd843f9f21017b79635b3c97998b18be2c0cabf6d7a07c4dfc22f601d3dce3fa3a6df027f4a05f8941bf52f827ed0b97ef87335d99c1dd6be59dfa0e893a83b4ed4f8873c257cc51f08879a67b1972101b53210a1c6c86c1d1c61555154970c8cf61c205aa5e423c6bfb39f04ba09ae7713e2ca68155e4e26da02f1dc003d6cc8977b8dea85c3a1de1760bdcbd6027de24c3d2e7deb0ce49541d95e2fbeadfbd48c8b092afe80b075c912a4a531b3ac0699b8555adc2cd4535096c6374c909724e3450364c1091d148ff7ce3cce973b1e7064f80aaa2e707b5e0de41e0800e03fae225b025a025e0d7a91d69e4c2c2897f39c28f3e6f1a8f4ddcc4da1336e4d60564d410d8dbf8a68c8471f2673ebb76d9d92f53273993983d67f9350167381053a3e604eb193e22ab57ccf820ec0bc10117e11c62f386597d763867bd1bdde9872fad8916bde3e272bfdb44f98622e9d5f35449b851d7741c8f7d70aa9299aa4a85e8557072b18875b3f31ac256265022f0008f40660d0322a4614514a8097936a6176e57ad389c69831b997558569db29bf3c61c1137a31e7dd2d326bbfb5348ae1ca4f615867f20ee57ac61b5edaf1cf2d3567a5688ec7e1dcd5512394c1c5ae7cb0408acff1e837fdcf3d5b1f79c3504252de4ae349f4638d825f271dd80838ad0959d2b876b54ca954548e7d048f3ac9cdcfc6f2bbef49c84ad549946051b088d1df8337be86fbc83f9918b1efd6b84d6196902e2e1488a96c6d32b38abf276bf7b859ccc73081d66321ba3c6ee13b1959f1eddcff0f486705e73c6e49ab0cf69a21fdc6144d39a14c10461e95a9975088104df70a42c4d5c60a58e449b97e3218aae10c9d133c947509b49bcbe2dd4f15d2576173778ce4237d433a8cce83981bdb21747c2c4f69ce7b05a09090ce1236654dbe37ceffaf61a3e406919a77b8a4a768efc8a589c227232ead45b3cd02e87ea7c08357ec707a54f19251c8f2f436c98f199e53fa4e59dafcae11613aed07c2ab2e881c730fa959ee75ac84a6b76143637a9212e231ca9a77ca1a767951b86e47e26e02be80b7561be963b003c5fce74cae97291ffea466c0902e4d60d7f374fc5a64ea1a70d044d558a0f38c2c82517791b2fecc8c3b082bcb924db1f2391247373c894e4b3a878f90fd007026e6e3a61ee91d047601574dcc73cbbf02263eb3b8e9c2fbae774a4ba71399df2a8d8c12659f4668ba3fdcce909c2ed19047ac46d1a42ba58700a69267f8ef3b7856f01ffe130aeb972c48dcdd6041d3b86afdcf64935c1e2530f4ec8cd0f2d6f8696437e9e14d98cba3d9ac7cdc9103799dce54c9c5662b274833b0ebc362976d0b7aa47603d759b5e1de86448c571cb1a3d2aafe1af0968dbc5a4bfd1b420f3536331765baa291c0ed149e529096823e7ba8c747b9da6659b9b136705ae6aaccae65fdeac9296fab5497fa819d09bf0c8b50a686156b205a8ab7acb4605012cc0c60a9fbe7e399f6dd8ef30d8bcc669f4090a569b56032dd65c76f70ebc823fadd6e2dee6235ef6a016fd4b7482a1da9c9024a575499449ed1b3656a0d4529fb567c19c06706137bb779e5978cfd9e937ed2cdf6be69a1dedf3d2d901d8ee8e297876c077036f5e948010ab2118188f713bf5512fd963d7a3349818e2ea39b84b4bd0194150344270c556972e70ff76a3f2b746653cb9acfe8c79df0cbbf21a5f6d2e7b062afd521b727fbdfc884315e4ae650a0e9ca4d1eabdd29a595c97c4ace3e0206347d515c7c33b33198ef1ab1a1c46f4e740b2ce2e85b9fe446c95597a503c6f8850c55acfe90bedcdc81cd4c40876af227e418fb8cc0e02400059702251bf4f28df5e1bca8b22b078718a3099597350acb91b8c2f069dfaa7dd92aceddbc63eb6c6622d539d7515bc9f4f0d24dfd2bb276034cd7e654938d3cbf1a8ff651722ba37abe9c6a97ed5bab2a8bf9484d034a82f02f2fa81b80b17259b5e2d9278c1bc0819ac679da7b6f7e5ad477218a2127fe87df8d07b713b95e6de5cbcd4979fd6635672dc832aba710e95206498a237358711ba2949801538c687c8301e9734f4fd779eb6a03934860f5c5a6848b6c8710b303784024a9f94baefc1a8fb36164a28c50ff93243e9914ad760985d4206d64333e7e3929384b9af97ee19c58553da9530de00d15f4398337aa9bcd7627ba99898d8f48091d768dc851bcc0d9fb7a463f853107115ba8ab525bf0e8c2e2a13979e2f024ece8bea8fc6f3359d7fbe03c3f859603382241da186743058dcb370b6420173bb7760226e9d4ec29ba4be5822ce14d78bd9fc1ff654c8effb7d95a145ad6e12d304123a858e55392422c9a4f31301a5ef2095d6fbe2e72452c933a7d3d487071ef034926d48a51a7946f4430b5d6e7f947e7c4e3dce08d726c38f5c99560c2f3f96a27500f0aa83e0950da9721b905420d382bf5d8cd6b4ea38870fa906ee3974d37c164bf80c6b1a6434d39be64f8359ed8199035426780d66cde8e2053cfdf2f4c1e31b5b6ba0eea90c84150fa12a337b0bac5dc92eb0403fa69bc0b0bf1f0347619cad2415987718235dfb6252ebeeeb14fb4e1e20230e8daad14ac713651aba1cf06a45919be6056d5f0e6d2ed036d6e93e29d9b0308169a171c7a8c4861302523ae131f6896cf3d0dc074bd8227c23be6555710435152348531866751b7569e572285215f97f9e9df98458513afb625c6b19704503ccfb875a73242d266b33fd70e6eb744ddee20cc84dd91e8e50b2d14c05882162f393c742e3b5f7b3a1d53abc28c5e0d9fc2ee53906485e11ee7c381fb012223e6bf53e809052354d0986e3e48196f05fc2492879c5139265d15546cda5b572efd4f0016e8defbaaf0cd70f575ba7ab16d0f37de1f36b4584efc555e614d7352cbfe619ec59d69ee044db16ea7ad320c533f7aef9b3c56be08081cb3ccf27ad978c110941a4971d4dc1e2da353f6d72be0e26db2681ab5b70c367874e840ab9ec1102b192387bb83bd4a80db63e8c982952913480b6a517c813f35c1f807b895a57345e91176b13f5398a578a64593a7a7566eba2b5a24897435e0001410b646893f1a3441403748fc66c6146a4aa8d112bae6bb2ef9ce89ce0dd72835c7df7114d6e6ad3c20b8ee8fb7abd186304991761e56a0f084499ff77225b8756eb0563ce726a33658d94bd580bf2a4c743ed819b6977128d7d8e86dd9b9c849034b5b09b97dbb4cada946ded327bc41641d04bbf80b89ea9ddbf7f7713d0064f73fb077351dc92cef8186f8607ca60397efbeb9f4370514099268df7fb919c61bb72729562a1eb2039ecf99a5a9d833b10f51a3a365794b3775b154b2a86c7ee562cf1bd04082cbd9509f09f4f3329f24d0f18fa71489ed09c6575e676bad6f779a0fc6c554d1eefa47b35135f48b3588fb35fbd24b16458119a49b3fd4d6b4dec3f15f2ed46f190845346991080a9b6484c036f56e719d50ab73a5fa9f2db2bc08550b92373a605e8d34ff04e79e3f69036efaae90db1b366f43cbb5a2426ed12abfba445f78beb111a3e2ab0956d34ac81483979163c3ca95a6c349cff47de01ac37057018dedde62fbd71624f6ef4132ee052f158d6825baf019982f0270145cc348fb8bbdcb7a76b4952a7281ec42562fc53de992e47327f3c3241abf55f6818537bb8db522e1b4c34d82ff8d2a6e27486d0fb0db5500efa048b323125909d1bb0cb4143a417d730828395485fbfeec0e80ad632872880d7596a9a936c82822a9c1f92e8d4bd8231530f0eae780c1070c44458af3d5ae0e6041bcc2c7b880ddd992d46ef2f051954bddf31eee2252d0716d340578e891ccf74d9f73887cdf12cb672dcc50f0294844d959b13ce5f1f4c6bf8a8c5dabfc34aa40fa1932fefa65c4d2d24a9e2c7d56e813d48a9cc6d863d2303dd8b9dbfae133c1f75b2a1ddc1d31b286637b4596c74769a588b1f33d95e9dfcf87630e2cc47eb14f07f4b961fafe163f6a85116156a8a970c06c117a5294b9c0b6057df24c78cd51bdf15dd5c30cb7031ffb46658bd8daeee2ce3ddf7815c8b8247ff155f12afd81438699dcde1b7e85dd20754083e699e83fa7265d5f4b5b5cb63e97f51738ca0d1c3aafb6a69d8268f31dad796e23d5bf7adfaa5c49e4b6c1572a97a8357f154bd612817504f354e24ed9eac940031d56bfdd1278b467bf123da3c1552f095624e30d8a92c5564cb68df3042a6c5c6351a0291a9d66871a05a25c30867e758f86064539e9230e58df247c53dad4876f9d2a69464b7450eb7c3eb21df99ec79343ef4fae045cfb4c1e1c15c82aad0878be466624630348f1275705d76997b448ddb00797f7f84c9bbcb08de5d38418d35fb77ad54aa1e2f5bc4d73e662aa8cb3ea9a15278d677ac07f50183e74da6396df2b802646923745a735c3c37aee540a5be13fb48e0dadf0b66db80c76b62648324e01eda7f80dc486b9b711f2e2de0d3488ab57a4c5d3307368ce7d6175988d64ea5a52c230646510223b087b1d4d43f17b9d42b6b3d6b9630df7d30431a83fcbe01883b4fedeef864907da8b5b671201c05142761c0b3700977f7e1317f77ce7529e0b33a57c534330343947dcb74605a3ee95f2580e57ab969a928971f087316468472fd357e523c2275cfc9f102d723ff386a8ef4262732930af6c62890234126c98e2d4d9b7fad72a86fc337136cf540160a6282bb15440a1b54eab8a0528723d501dd44899eaa43cb0e2ed982fc25b35c175accb59ea2fb27a32c6acdec8035f414a9322c43739f2d79c20260ce31bb05a5dc6e0015face5028f1a8bd4ac8ce913e98371d8ba51520dbe19108797971e560fa4388d9ab4a9bcb8b32617f086d930c87f40661727079ec73100d84ecb654a1c2e8c7b5b58cd0160bd272b19626ed96fd85aa1d9a3619b6c74b7e066ce79750de5055fad967952fc97094d890be3414e5ed552719afc981811837160048cf58012d2cbb621a326a30a071385dae51ced5222e6061f98b80be0c618f1b855c311a4a23835428337578d444566b9e80f2d42f9cb3dbb26062fbcc72f48724ef9f8718208e4af623fcbf88197d4a0a78bd8c300c8956eec9ce1a247fa102a05327ff50846b2387e045bc22c138ac36b50ad2e802d42835445a0788a647c62da3a9b1f0e8180d85ab3e16f4d310d32ba6b89b566c824925b28ae25297223af45744fd0edcd62aff5d8cb6d448438616a072decbaccc0da0b7ffcc839e4ab86d12cc822c021e7bb80d2c3255eefb0c2fe351beff69bf74a18d46692381701d0fd66b50f586e297a6c2d6644623b90b72f782dafb92f0dd1e3b7f86f96ccdd7df23f6157099cd0e40260d04e078abacb8a0bcd5d80fd5055ee03a42b9dfeda2871972252b15abe068af098482ec32255f94de266e40381e172043769ee5d0c42f86e775616d79e5132841aaf3389ff9fae906f5b35591bb15789ffd5ca6b80b3c34ce3b470e261a1371e1a791885d23893ff00945e740850daa9216e5d2a5eae0296c3943ca8e452a96e34fca79fcefc81e9c42d593a3682a5e579f813e06f4f06a5d833ad0c5a648992160297b580ab904c9e6137fb6a69f92cf7297b3418221a0831d809696e259ee9dcfbfd6d13d6e7c4db29359e8443a3e3ae9e617715f3dc54e8250b831d3eb6829a0f8d7f84ea50ccec4ca9f98f5328f5db85416442bac0c1d2c226ac29276a3ecc894fd63b383ecebcd37e28ca154283b19372ddffa8d04f3b7d00dc9ecbfad864ed0219ecab48bc7e0417b6fa3206c6e75e3565926d70829766fefc3d8416a42425333ab3b2b5db284974aebfb9f88e12bbac9ff5d02004aa9836d479ca8fd07b355867f65f3c53eb2ffec964cdfbe4205299f50c51adc6ae7fa67cddd06d72c6c15d26d75a4493d443af0442273e0a36b9b4a929ecf87781a8d7e2ba3dda5e479a8d635d1619284e5012189106a6da3a6796ba82913d8986af97cddd5cc001f269399294a0aa74078e3dd65bf9312f8f23ab7732f8350a5b79b186e20ef74934ee51281c90a93b5cb6bbf3aad2139e03f2e3d5e5e4678a048c81a16151a8b7224d3f5b01fc32a213ecb7abd17881495007ba984a3a8505c7323c693151f51bb4eb2e3a6dc741f2718301fbcd7760f54aabf3447ae0a78534516ec3c3e1f6824f001448939cab6e277196c26823cd84480ce0c22b739facb5a3d720001adb4604f8f530e978f02784f03e0a633b4dbbb9cdd213a33a5e9374de6ace2ea8d63b7828eaf0be63d337b4ff62fd066e70690123af6feb0c41400f2e233209de1101f6eb101edc934d500e81496e4bdc05802b2d7d3b2d81bdafdeb2a35418bff5d750285dfef0183e192ca348864c9dbc4565559a402ed9a69d8b87a5e8378d89ee02905617c437321beb825c732d3338a36d864e606d99b69b03ba10308310da4123cfd15dd679c0017331eb76eaee0621de3e6729c5898aabc1e94e9541b4fb78af979f49d3ac0c63c1cb6a76a87e9bbc939373c28ded42859eb452e94cf49c4390e0333da5ad5561f8054b77a740ac87087d2990bdb4d8f7b8cddc5f45037d98b685c26a7c6b433122c68b342b95becd9ef9f41b61d5062302b19ee027e2d77d81257115ec7dd1fe0984c251ea4e5fe7e2e144f4d766787eb9c75df36f407de9c765a44609e7cf8750919de28ea66b61b62d050448da290818f98299846765af64aecb4080984167dc04e63012ab1bc5bff3e9bbb29512cfe43c9c9c3b311d1ea1d0e28ff5ec2ee70ac60b468973b1c73e06a674d81a0eff0020bb2c4f41dcc1e7769a344d8a8f854801cd1d8d6955a76e0f928763d383794ad98350c124dcc6a3ed5b49dda111b3a1acee0540ac554c179c7853e79312ca527d83136c1e2181b8aa56f42701aee964a67470a2b7b091c968f2fbc92173066d47a7dc39145a17b0208564b3895677355a7e65361f7d8d754478d8d51280cda3f97634e9180873f17c807671add17d449b0eb01e674bdffaa3f91045431626d655d1b76c7f7830f06cbe5ce8a635bd25dd5022d16473b55cb0f8776ca6497c6540f523c546b8f22d4b403134608da06adb780cd5afe8b4f328ee07da2bbc8c4f9c748f00b8d01caa35278a96fedbd82f2515a287043b166d315e2538c5563b3e9ec3723f05cd4e23b8805c130882df45809e9ac71ee5f5a3e79e69e8574b90b9d8b91e8a890bf581c3c3454ced1dc9880cee477ade009b5101e7457669a50d1e411490049754ab9bf3df28d89a8cd9f1c331486f0c18fbb67550b37c03a07bed8daa4a35e8c7dab97d76cdd953d75eb6c7a0f33bd1042bd386feac1aab8deb36d8f028034efc934bde022ba2a0ffcbb382e72e15ff89ac06f65742d165d91de9ac5cc58e28302a11d48154152e7c927e33e021dcae8e9ca853c909da142c13c874cb5c5b76606990e01574eec303bf6157e206a0f59ab52b603211d2279d3a3ea883a0c0525b6fb1c398a30cb83fc662b1c9114f1304847a5d25b8bd84b86dd552095fe03c2295320c77f0800060c0a0c14021b6d1d822e3b843401a546060f610591c77220dd10aeec5045489021fcd9fb7f98ee6f45f9d820e5974f651e484477b21d08d5fa4ee71988d294876c47c2ed154408e0f197d581b429c4255be476d09f7bc08d688ed8401cc30652826c44f0b1117192ab73592f8e03f43a15bd5d1c4fa83d7a0cc2cbbda208d1ea01a328e7b244233674671d158ba1174d62a33abd16898d252ea68c33d2f2b591c2061bf442cbd227377a7fc475821a6c5093e6f57c9cae8b39a2a3fb99fed946d9a821c4f893226d14083c28360afec68ac8338672d117c19e4034bd6ed704d3da14f7f12e3c810c7948554bdaad7e40da9f4d200dd7eff086d1a0c4606d422b52bf689c924243882c824ff98dd7bc6fdfc37a484c26b43ce0a9377b778b9b57771b57db5bebdb5df96d90ccbe91c03a8c5c7fefa3ea0a666cfd67d07edc0982909c466b0662ca72683b2241c6f971e0f37fdc73a1c184e967bc41b37994add3b977e2b7cf37b6c7cbc2c8956b951d7fec310a73431f521d4e6efc8052c528a29420f1212348106b3db9a85dcaee187d9c142b6e7ef9c31dca4ab0e7ba6769a300ec7fae7fbf3cf5845d100276e1aa1a8f1cbc0ff646cdb078d119f680f367814686c096b4e408a78f9096e8d36419e635848c26e611e7ea6b60b3afa1fd7d0d0df83534ccafa1a15f43cb6aa751cbfe1afa9f6fe7f6d9fe6b08317e1ac5d0a751043e8d22d8d32808b35c43bff798a97d3465ebb8dd905f173ddee36bd2ebad6310d123fe48b9ffa7baebab3b4ee8d60291d91caef849bddd5367522caedbe6af316f462d731008409812b103c418210225ad55e3b08bbf2f58fad3468bff8f9b148f0097b0b122e39a7f9d18ab02817950217b0221bf7af7a5a1ea28dc333bb5aa43da953e3bf4679b442030d8bfe4f8fa347e809ea0154160696dfa36447ef76d778b3838180961c424c309b097692387c0033c0f6a88ee8eab09f19254344797c1a23b39d09ebc77642fe788cf47578bfcaf31502f6f6f67d39526133adb1686595ebd62fc67f95d17d260740feae228f10313619ecd7c23fa8295878a065e0a08f69578d51191849989dd5818888e557cf66ec63341e6ae038d02f2cfebce78d113c173fc8529f54fe2ea165bad9810c28dd585d6763ba90ece4f5955cedaa9b8a5a2a0d2ac2097700bc0517996b74cd297746ec5625e4e609a4ee41d3eb077ed1be3fb0d3d6b6f68745255b7f915548c7c40e0135ba17d2a955922b652b702b7e797ee5f6d676c6d18cfa0a02f7a6f34ef01c574d84a13e17e453d2b044ffc84be3d277d45575a937682bfd354ca323bf1ce9e95c01281edc7f7933b5dea2ae8a2b70adf443c4e926745a376940cea13227802507971e98a0471d21a141048d307ed9661a3306b7a53139a6c9e8067840b819b3597a0591b842c523affccdc7f6cb48db35fa282486ecbd8b8a143d422c5573665ff844152d22fb076c7da5e825dc8f76791f7b22f9a297aff75ed06c99faa8bc5d90d52221a1fdbad769d9ef46fef27c0376b1b863569e3b8aa8c9a673eccdf82845e6c4ed41a95e0e46fb4c2b84bf7d53dbf5d5dd520e2be6c1ae39ac8218d4f931630040b83c892616d095a3c59716dab0d7f21fde2e5074c16a59871c138bc978be183aa6e1046f2491aaa35316e8b12068d4fbbf2ea3adbc353c8b83c1d17154160b0f676f3af70e23ad6f2df1610a7b815f5198cf9dacf8ff813d2a8a28c6d1d33193b490fe0f3627a6f12dbc24a5e0ad669dc661348ae93db30e228bcc5a32816ad89ade3b9bb06278280f95414dfd5d7f0a8d728811d181f5ed48e9b25ba7b45ad6c4b16d9680c5b54c1f9ec728f266d52c271ecdc7dc9e23c13d42d9cd550e5970f3ba03728817a0f691d7646d571e14053b1b035495c4814abff2f922a19598e2bc502eb695c5e0f05a009e0be39c6a8c6d2e8163d5d123d5203456e9764cfda09739bb472cb9bdd9f3ed1c08b6b14b52bb2be7e38acbc986fc45211821e35521606d549437e0aeb939c5db6184c074279e2410341226897f974e77212a13ce0ed15b75617fe97062d0be115d5eccec7de13e7fd10b251df92db8efa3250b30c2293e61dd7cd10edd41380ee6a93d33ee08845ab0f4674723fb93b2e1e1daba2c354034509e641f8bc173807fe001e2a7572fccac3364bd8c0646b5971826ebbf1f73e70f7ccd4509ceaf058450962656e4d237f3271a9840c4e3bd3149eaa6cb6a5124cef4e3461b8ff655009a850aa19c5bd13c465365fab8d4d4cef62ac33b95de6a2dbc469547d3b452c4ac0b0ba7619f8e33fcbfc3c90b425ccbc4b7ea863ff260ddb3c0bfd2ea757381a9af7f742f13b8c9b475ebd8e798f35a0038f885b1ca4a1a25d183b17418326dba41b459b54390bc956278e49a40ea087317d51d166dbfd91a979286599870746324da90f89a842f2c00277a5298ad9e7b429f64e35b2cf462f2da9bf2bb48e6002bfc1e90b3714a8653a2fc300fbeb736a1a2a35aa7ac7c1872bee549120369aa00936b3ec70eb42d5bc7704f1dff035b6f97da5db70bc2d47f98d2e24cfcd90f1e3c24513e1e88181fbd93ab087c6fbe87074fb1b27e7b4b0368e76bb86d7baf9cb9a12d1242280115a463a99b3eea94bbca33fe25d62e5b0ddcd5aa373ed8b5ec6d79bc94c1d5aad883343648a27cd87c3ed546cdb82d1861398c748fd483e68b2a90d87760a4c32761b9d7ee5ddcc6889224872154f8c791d8d41bae0448dce78288df21f47fc28b6c2be31746ca17fc7c4d091430d467b27df61c6c5077bf46d97414077681df01c33c906bb18c46f07ec9fad094d864a347d5eccdff31db8b7e4929ffb2a7248fbceb377dbd7e4cdb11d95f531f241d5ca25e795ddbfc9b95602e57c98abe7786ef1a42cd851df8a58c5779a7da9024423ac7aae6cd3804316834e13947751506e97174fc88b09c2321d32db15e36fdc9f0286fa1beb43dab28fcff84533568f824c2d99d836e3349178f3775ee43373717aa532f5fe024b7e80aea6a4bf20327ef273044a8bf40918c74832ae8a291f1ce330f098841c1489009f6580b4250a7115ae2b5200bd27217a2f3844c13f80a9187c87eab0fd4e8e7dcb79be7f7e09c0671f06dc3d80fb8e2892588035330c4327836d665fa51f20123d708d3fd22e9cd91b7c62d9ff0ea33f4807f4b35774d36a470a34036a204af25e9f3d54113463bc6d88968dd071eee51cdf1971189ce0966d316e3ec66924009e0ac142f8e5a9f268800cca246e0ea27831be78a21627b1d8a2152ba9b8a11407a178a2130332f1a4124322b1d088ef24e2d03e8c89f59e93dc825fc5184a53a07febdc20da11694293d2c626700748130408da3be5879ef65c81fa39ed3293ec4b63d8048b0e8abd917d196fc0c03fbf5447da4b994e0365a890889501d30e82c0cd5c92fc8dc70e299fcb80a9a39e15f2a2e03f3b65de4810fc02eec631ba09b1ed4c1280101d5caffe0ecae43dec6c40fb59fd0aa2bd1564c931b142b26fce0ebdf6e50ed23cd4f921eecab1a41871e2c2450e9ea7ba6e461c6e52855cb80f482bb8c6440853071f5e2f3b1670c502145d535009dae8358ed8c09ec8ae91cc5926f526c91fd53fa006ed3992c6e3c3af8d53ee9e988b4373bbe4ad4397edafa8b56ec8186669e9b9a66e763dd10d1b76eff6a5de45e8e3002127d6a220341217605eca1a207204ae1e8e963d39c4e99b0585b516ee4d40f903c2b0dad7bfb9b4c0bdbdfb730f3ff6b70ecfb52f70adc96e55e04269ba29b0e0bf07b3e1529275016ffbf59993a25aee656f1ba8fd0aca2349fdbc0d07827e60f80a2cdf056ceb15497f875d3e89a64cb49d6fd7c34ec39923f63f771d48fa34177459ba7704464ec38addf415dbc37ddffc33f27d061d532e908e04abe39c958fee1a5883ced120fce1490986591f03c09f29d46f3eb91edc460b3facac460d4d286002c26731a9ae636355d98665708839f59e84a95256f0f21cd600c45fa0d8e9c961d1daad0d20d06a7d4e50d6c8f445d7455c11e67b71934265cd760015e5310ca820279df92d411ad25ff8edeeacf30547b154671ec06309913a8c7a833e53b939221fa1bd0a86b796cbcf3d70e8081da2d35dd954240009b5c946f99f2ca62e8eab70f32e29e843f21d7d8d6cbaa56874726589758b8eaf45740a82083c34fd64af05ff9f67ed32a1a7dca1c6e68490e07e73be8f22cacf2d2852fda50130e8c2b61866b5ac61213e4ffee77adb876fb6d5222dcce93f8c6c25f12ae1a5de126ae0927d9d6961fe65f37e62eba7ce3f7e3e67f9adb0a41d43e7ba93dd23580ab6d227807d9d47c3d5e9a63b7236abe554f1fea13b96e96c9a015589d8f1cbdac7d4270acd51bc6151412e65851cdfb813955ad1dff2e6d08d0048b2e5547c2570ba3fa0609e0b9933bbd9428138a480e678c35759aadc28970e225835ef61eea1a2eb73bfcdb9dd61954bd03d03710c48bf20895bc0d89c691d665c5cb493a7aaae1d56bc859279aa2523827b9fccd4c12123af5f799f693ab7fb53ce454063dd7e91ffbede73d50b22fd20deea501b277e8afce717b3091865a81a9159ab4b5eb97019606299ff5f7d2bfa6790ec0fa969a19f0a43343829d87a7e63094361ed70d2934765066243ea8258017ad4cc860546b164a5d7450bb2bb579f0560ac7dade1af54c04016962ab494f2ae80f262058eddefe819444b57f9aaf3d67398213d06a2a41568895c18de87bc673b64f620edbbf0e8a0e2f13849b3cd92007888130373a05bb5511a9207a6f557541b3d5658cb04f5c3777212e265932cd9e08ba048e165ecadc18d11bfede1336deee44e74e6c91cbaf3a44ed2f9fe57b638561af4c15ce10f3afaa916febb855e20cdd1bd8283575d8a7bb16200d5deabd07da7fc1072a7a087b600a306f32fd0f3e83a491c73aa456a8255cc1dd7e161a8503b3dd1b75cef8651f02ee1e2af3086cc2fadeb97b4179bb22db9ab1f1af9a58e7aeec84468666f733707064ad3d32b3768ed940c9cb237ce75c06bdc247a1e9c0889ef02687fa5a871c341522b6c7cb2c1ed6f06935d32ad558ccc64a9d1aab39ee45442d330e092c7fbd70516725e939a25ad199988263ede12db40bd20fbd64a3649eb2706457171834c611ec345c49d0d387605ea8357bad648aa3935badb3e5f5da3521305784990393b27bd7da2c667d234a7acb4174707469580840ca3433d1097e3aa2bcacd2312e33bc46152928053fa060dcba18d48ade90bece74c6a0c0690488c807e53a83924fac5c5804f830950274367d10ff7bc0b112bd0b172a29d713cdcc7f21642a0a9cd2ef90ce4d61d9e98f179391b36778e8865ba058ddc66c83d2fbe4e60953847b5068840ac0335fa3b1ece81c6b095fe376dd1d306b6aba64fe3f28736f78260998480b0ce525b40463021350414ffe286916dab8cf6b84cb2446b8c3dc6eab71b04253334b4016bbab6761c38722be51a80de8a0afc7ddbccf625a9b1da49092b645176115826e2a350ab74f2d413af5d0c202acb34646e25c719c159478ba3169a8b9cf6989a95be1d6b6e2c3577c1d9e4895576b850f1b94471344563e279ba99c2dddc15d3c46070c7afaf76bab574e81a9c9ded3b2ea4864b8889b5cb80a8be56f45c9bd21247e0b66963824a872783b5ba51ff6c242f0c05da07113e1789c7c5448f6d2b3e56163f942c2e4ac86e88f7fe7eaea612e5f198591417d655328ab40cae205b5c2ab19f78a72bee10af86f711c739260a9047041a38c1f356adb80af55b4355c8107caf2d52af9cd3a1ad8ea56eb99222b0be72816ab9d1c356e9df61883c8e5b949e2692485cc07b705d4d5c63345bebe43e9dcfb09a46eb8de8cd550adef4650d83baf16dc1ca0a6cdbe3e89b1fedc9f0f2b53a1d54bad125cad1558453c1d1cee1ad0c5b83ae555496c88cd9b4b2168dffa88fb36edcd7e93f73d234694991b166303760641e5a6d466995501ef833a8fb99e9f4b37fe8d23dd8ba62489fb866a71cc2e0b05e50a37a1ff83d26195d6aad3ee443675acd11d4035c9424e723da9fadedbe563c1916018ab740feb09f5307602671f009084e9ef383f93606e73b7deb2db39b4c56b625f561606b4dc0446ad49d1f0da24df4dfc2bcf193a50993ccf23bdc24ff83894b24b7c3b3da3be278c50b211b9512320ca2bd2ac9ddfdc87b7a1986d6ddc4601cb31e4502bf3dd3a32c05cd0ff044c5326835408b8c28820cb0e16aa2cf18668005021a5c9dc8ab172cfc44b14cd07e607812412b34c0106b466d683eef94f05765bce3953ce1362d86b4a7a3b5d00bd54089d364d84ebcacb31b01702998ec4d88a452a86efb4253ca86e3b0b019f77b37c70d1e724b89891cec294fbc6689b11712524a325696aebb5f2ad2f91a5fdaab8eb0a6685ba6c5322814d1d02969963e1913ca269f8c155109ff48131452e25a1f4d02d99f4eaf5789711a25970eacf0cd6b6f51e9ad602cf82e4b94355e56ae804db15425077a91c7740aa63e06050f6b773be81742fa64af44b71e3456af8854b6eca99b66534a6894fde205edeb3150acf7add65471c4f513aa6cf90c7434d4f82c27a8fe03357231bfa86cc2f7ae37f4d20138d3160a21011f73b58b6007f3861750d336d0386cd458323a1b59cc618fe2672936ab2f5372d422cf25b0e05fa45cf86716a85f8010820533acee9a70147e583057dfe8ead1337c084f7f338256b438d4897caf69ca90b96db517edab81df4b0a9e6f66aeee03266b257a499a59dec062856a6f10078ad72bb9fb2b250083ef8f743e9b151239854280884363c1f000017f1b37b16f645f47c5b42fa47e908667293712259aea296b9868dcbae380eb238c8ca2dfb2764b331680ea350fc681080d4011e40ddbe4cdd2cd559ca314abc844f58ed49712cb483e8a5f63ecd3b9d421bc791cd9c35811f861b43071621601d66442d3122e4ea0398f3d38a6beef62307b486811261aff4103ae09951a2b2f7f9e04e134d5657a021366d3844f33bd89dca12aede5325dea2e630e2ba3c3628ab477aafaf5a3970f287c5bd94216afaaa3b5bddada0c0b94041860b44105c2ffce86f20812b355b6a1bce12915bd8389909cb78286a81509c542c1bacfbd1bf4c60a2ef532d136c92e6495f3753d7016d2598f419483f56e6820ceefd54ca31c507d9f56d5a9b17c5e83f3c134ca9979692a3a3f0100b851bfff33074827a0e94b3434580c2c14182302d0bc3ac2684ece16a55d7e72a794d84baee568b18e78452dddd1dfadc174e23da956047351c14ae5590edc12aa64c2924afe8fa012e9e8e9a99cdd55ecf608693470b641d2c1b708223036c997913a944158eff61bf9a66fe97827f1d93001054e392791c574cc09d4ca606a3f5df280a0043d0b830755663c119f944a9d1fec31c4f3e2c444cbf92104985123bf01169f3afc55b93e387b0eb11dd2018c2777d989e841ac3084527035f1e97dcc799ef8dbf45125c249bf7682aff357056ec8b52c7f29d483700e69969d6389eee30ff905be51fab9a696fcc738099138195bfde875cb2439e8bb030885fc0f747e0835d776b90d2912e67b6e24754374b989aae1d13b1e20f8b26cf9ea7fe851e9e56a5637e0c426846942cd11e516717eb2d1cecc627aa724f7f2065db5e0584562358936734318da307f20319cd1bf9ad49d9ad28a408b396303e80b968a4e582dfaaf0e67edd1cdf85c37bfb92cc8ddbf81188dcbcec1639a33e49fa295a1d04a48df3fd9094fa7492252094134372e45ad227ea519e9c8b8a21def10629c23282452196e6b8c7a4ef0f98e612447080e83752e7b7f3497897ead68c71fc4d8ccdf3e0cf5087e738135159eca8f4902a6b3d38fdfaf6c018c9cb88a56612e6938737a83a271f7f3399caa3324db46d9c3a388f0887511382ad0d564d8da0ecde9075f8f1ca14657b93aca454f9b47805002975b41b15a34dbde887e4019dd13487f1c98e4d403245af766087be71fe6c209a66ed23c17cdf77a8cc87b48ea71f92f3343eb633ae8162b28ceed8cea78e708a3d845ebf99b7dcefef672ee115dd7f8786ea3274e599d3bb4e2f7cfc598e16bcb639f2d93feea19a39fd977f472cd4f204635cdebcf9b96fa1b585c62fc573a88adbb095a17290c12c114f23366831781a618e80a2129a3bb2021e83cc0c2528ead196c4aee85d45809b7ee8259eb3d4c9f373963dd0f2c30f5602029474e59e8b99955349c5b2fdfa28f1a70b69a83d46fabb7065bc1d3b254ea2535488c8d36c99f163bba08171df79f7af56487a111ade39311403a3502dcf2e0c29285803d91df88d2f6c67f2a086e4928776b8ee7443a0cdf62f2210d2b19a094ccc411eaa1fbe392ab9d614212af06a60ebf7d94649860756202a16487891268ca0a4717c3e23b6d07b6954159fb2854358d8e5b414c97dfcb1eb372cd75397755016a596a6647c518271754a760bf078a3b16eb88d8660362ab75cb5534dec3be2a3ea09125c6e297cf82dfee0e49ef067cfb3d7d572c4d92f38c51c34f2817d7fdbb580283054c96d8942536a13e5fff645111045aee3ceffd57cc67294c4b55f2cce15e0857bb14cebeee9ad187506b890d5b62435b62ee5d40f296c64101c92acceb011ab525c90bf2b1045eef2040ff1e810221471a82836d49439803ce2069d493461d9ade3492b46fbccc21942116af9f103b159921cdcfc5eab6ed5d38638b4f3e073e154c32249872370b10d5955cb4e094083e88c64ba33e44cc41422492e78d9bbc18c509a257c089fd894316e81400e9d87f03d1c5bd3826662541a4fa5451ac8082894447cd0d7807b2d30d980cae02e2cb31239cb9d058c0deaf6bc957698c594187fe3d492fe8a9800ccdc559f96341a6e07d9d0d160ea38950e6900e7e14e631e2d9d46479ce062bfd0cd2218b67a0d0194ffcba713e1b5d83d92216574e45aebc81d5a51ac0ffd85d03c92a0833a7f56640e57ae387a4d6f5d626626c54b10ca6afb026da0275a34ca9b0fc06133d571bd42d87b0c170466f8d1c9ab7d672794ba491bcd90b34c9ff52f7111f7565e159e98831366f6a1f0a14398eb6310ed8e878b483ce3dba1a3c7e98d4a7210f5cc767b8369ddbbee9f7974c7a0feef1073d4c591ca242563f281339dcbbb9ffe4c7c3afcfe94acf3a97496bb08c36604080f091577a5364f24b516d565fd1dee76a9abd91997e99bf67fe3351f9b7084ea715f01f0fe3a390271435439a7d80af5134d4d4b3219c319788a90f3609b4288a399f1d2870858e8198ba34040f6a6176906f4424e77798e6a178789890c4bce1fec87ea3615c3a0534e448735e08adafe5615e588d420ef7eec7c17c644efaabd86900ce0efe7dfe7d82278bb9a57eebd36e48277cf6df6a61da19a1c90354fb9c8f03eb2012ea40baca829451f48c6901d87ef5296d8c378ad3dcbd84053faab5bc5f9e4ae2eb8bb66e8d150cec1ca43fd89c29a233fad6f2805cdea25fddf935d7a5208d898f0a68d1aba7fb361fed543854285579c33ea402e8eaf5746c7e1fab0540acbfe68306aee20e13721f746dec2c12240301a60afea1138c09b0288104e1ed17c048693a54594ad54748650bbd43d69cfdcd39c3812bcd9a7b5d429257566611ac4ed189fb3af18db8fc738de6206cf5a819e96381b0bf815db62ed16725faacea06aaab5b049d7b2e40b2aa139bc2fe4f162a33a8f444e35c4d9152da79e0bb4385aaf64d032938a3d71e434ed803e01e305757b30759e9fd0406e1a4a38e329df7fdc315d316e83145a266d06d6b759bc64612aca537d92ee2c9405c0c9a9cfe15ed03be81c508b6715c98ce6b9e2ccdb3801f2cfea284d03ab879bf5622fefa6c56cba6804d93b3f9d00f6933446c56d219770f9acc9af4c9d4bfb034be365faa4327af9793177406211bc6b7e096d13ef125daee168bacdd8a2cdd9f644362d5e1d1e04ab327f32191041167e3a8ed643b206dd6bac4a031f90acd85c24d984a115517c05724dc284fb2a03ea6c6f397381b720cc2eea1a094a6caba932540623bc3502018dffdd0e1340148de3d7993fb3a7cee009f52eaf9f8304404ccf73cca9d6948bd1880ac460733bd94dcda0962b20d61d08ec9be87ff0fc29f66256fb111dc476afbce73c45174bfb0f300a37d82d8ca6ab5eb39d76b216d34748d3b3e23f1ad86f480831888922c0c0830847c037f98edab184455035d58a0f74458af521ce3a6e5a3a3b9c3abe0e7c2cda019f33dfa9dc93711a272fb631e64cb3cf46e0c9bbb27a2ca5c6c66f05bb4a2524475da6c99985a6d01e59cd53b4f39a410f2a3a4a7f9ee362c53b5d709e24b76b816e673e5ee5378d549c96b5119c5ef1ee818792f6fb6b1a274e054870bf3b50aa2f14b16bc8b84ae42c0a5b335ceac4553b0dc203275cfa11ea0dec6b20a98bb59e639956be3c2a85162870bcacdcadaaee1b36b0db998539204ccd398be9eb804857fa260da281cd786ab225d5447125cc884e5fea541d1577d7a839f4d6d70a22414f0560194e11e4c171617a0dc279d704704840b3745d241e9130e959b5898c40471e926113a29f9c0a9d2064b73a214fc9948432c778a4093538f9b29e9a0f40987caa5899149e2e879530a9d947ce0542407c19f8934c472a7083439f5b899920e4a9f70a85c9a1899248e9e3765a48ea8c191d10012471415f8318106186e148022a30e1713d240e811068543030313c4d0f1a2041a0979c0a8400e801f136880e146012832ea7031210d841e615038343030410c1d2f4aa09190078c0ae400f8318106186e148022a30e1713d240e811068543033430ada32b3b65d9040fc8a6e217512d92ebc1acd011925d9df30d2294495ada513c3d69af19d6883d7e7f5f8a3692e64d7ea43e9ab9567002d26656893f06f33375ec36228d8b6d60a254808dee4b4626e5c624e2da0dba8261d0e3d2174c728cd78eb70ab0245d7ed1127fa6df6ffcd8cb0a0ddd25347c836705f2de5a1d94f8e6a51ff4e6703979cab0fe6aee4779214fc5d0e237946cd8804a0d90e1a64f8ca66e00953f2e323e50cfc40f4060b075586e354d401f9fba7569d9bfde778c0489edf634d115667fbac927e6a93e1400c7184317bfd379d3fa700d1aa0d7d4d600b6d99b60df70190bc8a197ce20e786405c1d66b6f123ebad9e6290958c9920b20d55592f8edacb3808529f56a997cf93100fa23a87ac2c524339c004687701755815602fe108d325759535d4c5a4eae4cfcc6c09626bc6171eaea7293c6924690786c4c836420e0d1e8651a1b158591ed7cad74a419895a3e68a7e51743da639ab60a3345ed535d05cfbd436c7c7b6a334f68dab6a6988cd8356ce8938c49308f6ef6245dae4b6123fe696cf893cf8c96bf4c7cc7b8cd68ffec4db8249ee51c8dcb3180ba65d128106350a0a0ba082b9f96b147b2bd2760e914b9ffc1330db5bd4a5938bddeac8102d5408abcde0afb19ceb57e9f8fa972a14743c6a29728319f44b275b195c367363dd9035307b620e68410d5c5c3874437d3665128373181924a5f5cebc080de02c7ad52df68912a2db6c5a0e44991c267b5be259067b0743cb8c3ce3104b73c960743029db9340c3e9cf2215ac67181fa4316810db70f408ec687c5c04000a240a0d0c8718c4300d405aeb9d7717c8805c92c28dec131748b26f37de28d91d26f2f9623216c622a696c9dc963997e1cec17030638e13518feb7319f6403754a0224c36fb3f043a323e160301821284830643c617d7d758d562c788c0a19d2c400ccb852d3f7114203b952d1b33fe98f0e4dff49a19c3b40ecb80516dbc611998a2e95ddafbc4c98c9d999bc034e1c0d1ece4a85cf2683e612021253497ad2d6fba63ca305a8de6f9c8a861b2fe33a0c7b8b964d898f04744a77e9ed7ac1826f55b068c7afd8eca238e721227bcc249deb53b501386361a3a9c952a984c154ca70ec258481bc7bb470511f527dd21c504964ca079d32cb231b773e8e3a114452c9ba533a38b49df5220efe27fcdc230a38f39cef49b5e980d99c99f172e91f4b348c3da585f22f6da8464094aa5092527c5e4d28293c9d18914916ca32dd21d5803410420feab280d33742e754dfec4e5b18d690f1591f12abe7dc230a54971f311ca5fce0d99c11e2df8fdf19dedb47f925cde6a3e7cbcbf3ebd5e185c2c18ca58c8d8e1ca48c80676d3dc6175145e4a21ff4c6818a2642852b12d1c0f6d0c74860a792ffeeb1346e5e2c96d2228c3a3248281c7e0e811d809a1b09bc913461d1c9f4f1d4e4f8d2726046492c672499c65993995ebc9f553dc41121bcb82580e08f37a1f7d5a2d3eed6199143ca60c6408dc258cfac264658ec47b195b3623e410393f402fe7b24bfa6f7ba63c8acabcfe5502819dbabd820ef34ba67b2b79dc868234822f8aea49270d89591a88f0b3c85e009cf51dac41cf6caa8aadaa3dc86b239f9d2651c1ecc76c6f075a1faf9a7cd8c7360fb361a6c942ac71cea92e3833af502a970ed5b20f01dfcb77e3f5e8fda133a123d1725a59c67f5ba0bd297c3ad27d2468c57b580696a93ddb2796d64af593080298635b3ac7d277e8d67b3fbde7ae95bdf8056dc9cf612be18f83e9a2041cf49acc824fc735443b3026c86b117860f94b78175182f47836ae88fa95fc3eb88832561de0533bcbf84e28e2fa280a2598651008d3c653c79db1d8c96f506cfa6b5d2e22baded8143f0d04664781155bb26714e342896bc0e2ee9fab689c3f887a167bae149ccd2a8d2c028e491082ea8d31213aa28c2cdab0a18761e44496ad49da46eca631d68750bc00066528ed951981b3b20ca1104f63335ede1258f2f15ed8dd8b2dba5118cc8b55d61f6434fb64008c8084e40dec97d2fd6653d45c7131dbb6cb6c5ead23154f66608fed59b7289d86e554ecdb9da0d3d26d38561fabeeb2ec220524bdeba12c2087abee536ca6c75eaaeaa4181d054d88286239caa8284aecf0191525a92b076cd150ae8446699da31b156397cea252e2083845b5d22843d9c135aab11b7346a2158a9c2148b966c407c2491ee6696cf24aaff44aad74a5577265947388d628a3ce475d291481a3121d65f81562dba51d568d141c89925253bab27bbfeca33185e765aed61b19ee30dd6731cb981341d8550a3c2f3cbb9d32888e63deccfbc92b91077d570b4ca1ccdcf549cb0e080c7650942a9b6702945f043b2f8ad4bcaa4e4252c135e9eb76533d1111fa4a8593919b6085d3adee65612143ce172f5bb4be9136cd5a8a76a54ee759e759c45e3429070d918a827425bba99c680718b36bed0d25d0d6af71deef324a7f306f46109e4951000f5b4639377ba7f3ec9bf2c970206a0ca1138339cabc9ab2934ab2c3f2378bf2d7b5f197b7c0af6b6ae85f02a998d5b258cd9f660868d5fa08223e45230fe99347d6c83b3250f8a88e2bceb54cefe5fa14b6491f7f2c667bc1caefce4ac14404e1b97fcef7aaed09ba3502667760ec807f0166c3465ce3ebbfe18d3c37c09d8a296ded83baf3ba7e58775d4327b8bb61ca75249f89c646d04d222a42cde836478e0e1330ac437fc04dac4616df0e2a896084196c374d5cea6e89fc12fd158a6aafdd34bb3550e8763b22149f0cdc84c1a244083e0f815bbd41e1aa5412404b78a0f6de2a40dd12c37425380023dc83cbec46535ae63ab3721957eb955c5dde43dc21fd78ecf7737b340f2cde68f08d8335cfadeecab474ee85db14fec2400a616efe4a986d827671cc4f653b908d8da2e0a3b71dbca1e6b2aab5ab350296702a7b56cbf4aa82fd3485d0cbed0c92aa212069c1d68404e7e1421ae18c02ca504823f6f7a660cbc624dc1f6d882291e759db479f42f0d9d00cd1c2c5f39a536b1ffc1032efc8170d367196eea327a41f1a1d1256f6693f6d0da9f146015c45e3555f07a3b2e7b0b87c8fdc974c085aeb8c69746b82d7c88eea59ec433ee4edb61f19353e67891b0215bbd5f0fe25de6a4c29df398370cddafa674c420701bd1be96fd5cf3d28fcaf1de7911125647de5e96d7ed266e458acbbf62700a9ef4759a027508c3c7838378badfc56131c5dcdb2191fade1f3f44885f594a3f69bd852494e79e466bede3d5c92d30660b88adb6e35af3d537490613ab17e3ed529d6114b6c67584db35b7685ef573c477ba35ecdd9d65c78516e41fe60e79b06c03c0e64ab8eed2fd6bc421749d50900c2bbbd112f618361a2a7c4a5b7668c6b01b3a746a98fad26d0b864b0aa39e2e4fc10893647e82cadc0896798f44089baa39076d71cb84800313c1228436190a125ed3ea1817644ddd09a45b1e65e8b2371c00fc7f44e7f59665dd05295c5389cfe604caed28e7334d7dbceaedc31901d3c647e995dbc370e3a44692eac650f38a33d84d50a6e7e12ee7c44b01c4983b80aa13c1d562f375e607714a932847f3becad312decad00ffccc2d0a2af96a187cd049429cf2a8ebf05480e7ea564ca00333c55a4ab1e5983230bd9853a9bfc6d629ab3d6911dbf5132e31fe53b9ba3cef45a3eac8bb61d787b275349e14784939e7b72a4e2e559864ed12b944698b9d29282b1b040edca2ca1fa6428e19b72a4338f9901fc01cf89f81ffa1d9f3b087d74a420a929911b4da996ad863a187392522bd4e8a59b266f5de7cef42b88ff59fe28ede08d01e731ba3cb7ca4918d8d6415981fd5536c420e731ee351f4fbe480b8ea8647cc9dada6c1f4a8bd7ae4b6ac90e884d15f9cd004c2053c7b41c5373e159307ed52b2014df4ebdb934a9def4afbfe695b41ac6b3f22253689f70445ddc01443a1e95f295b1fffbbc29f26eab21941b8db106744deb9ed7a77ec072d6ebd3b83ed5307dcad37f5b132feb8a8e5aa05b81304facc89350c106becf660986653fa850f25c30d03ebf56e626db27fa433fc27496665f0c9975911f03274e480f3267bc2876b75ca919e72c608135dbd45ce67d8209c0c8243e544e08de090b1fd785b145709fd186783b7e47b0483ea96ac463b5b370049016b39c06a6a93cdf39e9c1b988de73717c626bce901bb10ad98e076c37b98f5626433e3ce60c85ffa93a77db518e92f027596673b7a4f19f53e6b1136777f2958f406882c4316beb4434c7ce420cdc3b012f29be64e138abb9ab7001b2826525148804b091a6d42810f66a4af3f03fb28e6d174629202f198918891bdd687d4d4730b8e74d955eae1c54263310f42b37d8a298d90e977d7f23b6cf0c5240b019541e21649cf8ca58393a1a87447b95f03d66e9f3cd873a6afaeff1be8c5fe9f26ad76bba6f0a14004b37806e34003ee11bd0ddd64ebabee4ddfe95acd5d7223c6b9332b9ab611aeb93cd61d0659362ab22236436b3c493357450428ae971d3a91564f543e551ae259c43e1677b0af6b47ce1b33d2d4e6b740b3eccf9f0113347665eae6eaf53a279ddcb03db454dcb01a12b9940fed2d6fc7344feb6e3de9d9115d3df42806f1b22c7c28293c0ba348a0b1dde1fa7e614273b47a1b3dfb1bbeb194ee1810a517f6bafcd3914d142553e47dd74cec20b9c5965e0d4e2104c1504eb7c22c1b35f6d0f9d178bb7b02ae6f6a870623039b4a34ced393ef634595f6b5ecd63b750801350fdcc43f310632b6495e2d365eecf590dc1d96cc69a9618f51d894cd33ecb3cbb8c82d3e8395979e4fa4b843ad2807aa31719986c7665408cced6028bd06ce746b2dc51a8839c260907aa119543cfb38753763231cd05344cd6811ce71c5046359234779092b7734b5f3e28c5fbfe3ca5372fefb536000135887652d3b8d8afc96207d53695ea709cc661bb26b14e479dc16c1c998bd1c809ab3a3deb9cb566f6127caafa2f49a19ccc89e61f62056f6b7cb5831e6acdc57a930c7527a0a2c8eca58e90579b4f583bdc45050b43a8179500d68c083d85a5ad0084ff7c07e3a5c87aa9c4e7e0113e2fe9fa157d79736b20105383f4f374f598afc756bdb1ad77573eafec29bdbd3099992953b2a85e9a47c2c8c341f580126202a6d0888fefee38ab57eaff18f4828445d1d1aac3694e45847a2e09e7ec4dc1dc6f3ed6e99e30e0026da1cda4a25f222760c5b00dba4c8a332f0f788d00a15d85cf4ce008a3690e38c774ac6298baeb41e7fcb9f3e53766b4a0455cd9ab20b2c344de66611b22d431f7ea8e8988dca56e37d48fa50d08a085e11cc24eae7cc231b658468d2ed1d6a7b27a366b7d545fef170060c71aa76930246a9f2d949f726f002bc635eee91fec8fd26bd5ceaa61cfc0b9c266dac9d267d44e73a8295b780833564a9f5d8e369752a32a2aa47c3a811a02d901e4c2d09508a19fa16154e609fa24d8755ac5a03e5fa41393197b5b35ffbb770203ddd5286fc53bb0d01ea7afc06ad7eb58b59b20a628c905d592d976365d0057882267c2b124c46ad32182a3a43e974023ad9c8f5ade55789f9a57ced425e3f9e2b6ba1ae62c4bb7c6a26a226ec93a13670a41496f83a8e2561e1b1653144041f9c59991ee1ad716309105a98c81005f0d9b21f7bfd2f5c169ccb0a5bd56409f8176d0c46c3b10ec8a1e7fb555c6d2470a8eb0dfefd0d508708c3a6e107f5a233cba3eb32a373a58b156b7790d24260538de87266b6e72ff05fcf2c55c94356646ec880112eb5295610ea2d7db268adcf202a6b015a757738baa13227c84bb297b15cd4fb43b1a04051f652a7a6972f29aebbe8a03e3132a2e0dd3612282ac8eebf04555a6aebeb0e4cc402307c67f6aba0c98ce7d0bd2fe9d1c13b26309092e53caf339d328f6544a8959f8e168ed5fae44e527719ab25633dc1d64b5f6d813158a47bcf8d0ee85b9fbce7232188602f30207c5358c90718b4470e4304fec8ba088f12ffe0ff0d54e00f88b5ef28f68bb42ef03ebe0ceec43e9351e18958088f5c46df596df301e25648b921088e94efe68f0acaa07581d2a03d852754ccea937c126fbd6286d958dc5dff38145f35b5082b7f925146934be53ab8db81aa831244fc44678d892d5df10c3900bd63882ce05a506318a42616351023634b0c90cec5dbc9f5a22c9e57138b5adb494f059c5bc2ae0dabd365414106b65a0bd79e897cfb596c646e4b11e98f0fed72ea24a0ee2af084c85d07aef00b40f86b6c41ebcb0eb48a637fa2a0e00c208f43dc15a51bdcbc0286fda82ec5e257765c060b90009d4d8eb4294b5d7cfd6229a2f285602954eeae06bdb82d1051f3b7f8fb60ddc6e9386dbedf3d9c8fa0d1b07ef04c3bad58ecc64b8b9385f67ea13e00acee1a3b5c4e04037e497297405b6f51fcf1323cfa9caea7ce9322a24cf1dd6192582c5d23603c81de8b7057bd7dea3e9db7fa8aa25314526b9ed1107dc6cb784591b31587f3fc8de2be696147218014414015aea582e54805ad57428da239b172210f01f5d5520c2f4b788885c500e3be795c06ab6daa0c72b56868bbd37e8d046777188a39e97c120356e72294ecb0f70b46181cdacfe2a9526a326b14023b688edb6f7de7b4b99929401f502b202d002eeeeeeeeeeeeeeeeeeeeeeeeee9dbb7bf5cdfd9d7aaeeeeeee291c9424050de1c488a88850919a03449214a980c84cc851111f24a09e221310694263d209a0841db79acb92dcf886112b8b7c8c9cd6b66934899ccc27f32807f7b2459e3104568e39f64eb621b2df813420f938d9e69c73ce39b98de369579ac91890d9adc6c9fa3552a11a787c7a72cf5c53cacdcdadd6b069031150c368fa37280dfbfe2da97f53ea574beedf96fa258b4ea0354c0e71336e9bcd326fcd6194d633fd1da5b1644a6bda4e0a3300810291297410420907aa6062841b9088824812b1fe39e46eb51aecf83e0da334efa595d24cfafe79d4b027ea263d99f4cc615dac7f1e699e254994e496c5fae7ec0197c0611e1415589cb6917fbabfeb6ab5ce4967d43d01bba116bb254b78a44048374cb063083c99e68c2020d1a6d132bd365b87b58b6c1a935ad7fa3727fd9b51fff64476482a4506c804e4ce96e6aecb1de8751fb755eadddff77d53d2597be5023238db9dd68d934fdf5e2f83de734a77e76ac671bf3e689843e7966bf6bcaf41539872b22895ba72475496776c79e1a25ab15a2f2e983b5e93bc2386611a5932c7c4902123ced0d4d8cc90346874734ae8900246e5ab7f001780065001d86a703440cf244389c70cb2bc91838f3047fe0dc755c9c98a658b33a69c6103d6986842999418a7188b5157e55760605ee7de5d17cb4b4beb05cb45a57259bd60b5b4585e52ae1518953fdd89c39b1e6c0c18c393d1c96c629da1345ed3367376ee37eef6e605a72eb3fb9c27e878c26fbaa83675aba1a1ee1ba52fc8a852dcdea9bb8731610a8c94133ed96b518f5281515971ada45eea0734c5d292db566b9d3e7d68faf42119a00c994f46f4c4996e8686a3a9d96a6caacd0c3ae3c6b7ad6e3b2b11dc08d0481a492337aa4047147e13c10335cb45b5a95bcd0e076a1c0da540e8020988603dd1da0c6c37c333810459d830e6009c300546ca099fecb5a847a9c0a8acb828054257522f9402a1299696b51958961696b519d89617ab172e2a17958b6af562c56a61b5580260f55abdd65a6badb5d65a6badb5d65a6badb5d65a6badb5d65a6badb5d65a6badb5563c7f88b0e30caabf82608b1078ba0794d99e2583753acbfcd068ac908c6f4eeb57d72a43e66b7d497bf4ccd34bf3354fafcd83378c4c990cdf30f2338fb4d82f56196f73475a73c72ed3dc91cecc1f19193f7f64e719e6c4f0a52cdf93dc89fc8974d4af159597ddffd821d97db27c0fd20da57b499625eae57b2df592e5e5fb927eb5bc7c1f72252ee4493cc88fb05ebecffad57adb23bf6759ce78f91dd4495aa895f450bffee5370493aec1bca4e17af9fd4a79f9cd73e3dbd3b739c6656570e5ba8f0bf1212dfa4ffb11ef7199f32cb1dc566ab99dd4482eb7a13c39ba6dd422513b697d1317267649eeff193a92f272db759bc66d98dbb2169b672e4da5998404e5098c983b6fee9c719de419e4333defcc30eeccb26756ddd939753baf5c9955aecc9d3ccaa7bbe5943b876a3681dfcdb51fe391c4508b32ffbf4b97675c19c34e6bb1bfb35fd6866db4904dd90c327de6903a8330099ab2293487e6104335fd22898f26c253a4860d232f1a39326443a97b8585ee29b2a448040f10e94184933d9371473c29b28308949f209e801150fe2d5272a4bbdde78ff41056e439b022da454a860cc1207b20ca5ef3c024f7b78a7c98e55696453d40c9f3c115045ad82935e06027c73c7d39a3df5ffe7c17972ea7fb4f793790524a6cc1fc2ee76cf3b989b71e1ee40e47c9fef5e56f98a5c06641c53ebc7fb08e2dd8c087e7f992e21f35a891db1f7a362742d9bf81bac8fe5d937e8df4277bbf881ad63fd97f6bd2af36f963eadd5c37d7ddb245aef2f4f69df773cfb5bbbbbb3fc83535d13087e36aed3a6ff776f7cad5daeeeeeeeeee5cbb77c7ea3aceddddddbde3badbdddddddddd7d030d38d8c9cdcd2c431dfddc4fbf6842fd6a251c2cd871e676cccd25cfdd7b3877777777777777770f97ce6810da13401676a44678ffd160476a44dedecbc1f25dae2885a30cfeec50c7f4383d270f7f183c53486261d60e554df989b950c7f4f571dc75615e7559dfba2eee57dcc43dc87154d6e2f694a7c56de2f4b704134b72f8de83d254431dee51ef5dd4e98447fb277bfa3eef53bc8bf250384ec136b1eeea5d17e6bdbb057117ac2c524196672df6b4b8f1a02cd6efc4bc6b7a7075919cde69b200790a5f0611f33cdc7d8ae9659803fc6e0b75b85fc13cfc61602e6b87cbf53b311c67cd4f5d775d19e3c2f7245792a10213c84e6c757a7b658b273cfae8ece9f8b00cb38fa93efc0e1b08df9341854340729385adbf7aef71dc0705df7f58861592f043ec9e34a34168cf6c1a26dbfb937e8146487e445b32ab4024496f38e1755f0a4db2477387a12773e83d4e7b51a24489727a1a244b79db9eca7c89f284e10d6932e69d1ea79de6309f6d10b49e3e042fef344e5849e444c9b6bd0be9174efdf6eed32fbbbd6f2a8fd35ee879a1e7c1d8c27a3adea3febb187452b6c07b54274987ad542f51efe17e3d68f1e9bf0771d86065d10a4619811390156ab9802c8b56f0c9e00c433cfac8dff738d5a2bde1bbdc166bede9591e64b9269c02534c5df83dd5b11f7adea7bc5ff1bef3dee47d8af7a0177a0f529397ba2b7714c71a36f2f629778854aa5f2c2cd8d66065d10ab23c9a1a4a1fe56f6ca26ed24cf297fa5c7c66fbef5be8fbef6798f32565ee37ee5378fcbc71bf8247316fdcc67d0a1e6d1c65ee412899fb13cddc5bee3b44ddb147276d9f52b9b26134f6007d1566ed68a9bec5c37f85593b5e7ef52b0c64f52f3884e9c35214a31812134eb72e92f0531e043f3c857f3afd67ff7bcfe211f5f635e82087d882f03d54f8df87d887678b595d0ef10fcf74b6797f0a4f770c3d0fd31641b007386332347d185e568ec9c3934ddeaf2e6bc76ae633dbb39e8581d01e9fd91828c17adbe3f8aa7bef7257c664d8e14e4529b7b3d201c400ca98d187727f9d7bfd6c8bddd75a2992911d22542fa0228934c0824f3328416a9a42ba1e5afff8154144997a6ef31dad67baef52776699ee59ad97d79999a5447b24eaf90a1e675e1962c806fe518411f3a38bbfbcbfeb7de5bf0771ec6065110b4bf2d821b0f2383d833c068f1d0c3c5a8c4717108f5ff128523cd6c8de0cd241851d7dd4ecea96befb99d4af976f8d36543fd610dfc566abf2b26109f84cf7f6c14e3262e148eedca75f32dffdcc33401d22e058f0b400c4d500e5e0def532d4a001d7cb7cea71daf5ddeb8032ccb92f430d72fe756686d1c11fe36bccff700ce3f1d38f7171e8603790f131bebe1783471931316262fe730cfee10ee21106063108fe6710fff0b0c31c5dfeaf17e6e94db5d871f07fef04f27008590fcfa416bb773cbf7b183c692d9a1e75a3c7be3ceb5d5e4769775620754bddf7acab75df3e1d2b773f842777df404d3d9f3d34dffd047298f8f505d3d6ed5a6461d962020eb33de3bfc2a38d1a2e78145fe0f15bf0e8c28247db78ca3c6ff81229772f5e1992912e651b2e72cd952119e72cd35c9938736522eeb6c81de6783f6ff8a72bc71edde3f4ab7ed7e14862fdc794ff0fcf26efbbeeed07e298ee9b854469d2529211a5a6255313e0f6aa39eb99ede7497559a857d95ffd4eec4477d05761202f4fdfde1dfe2b0ca4f5fe3439045125a916df833ca17e995adcbc268e60473adba630aa7da1f7dd18bdacf7bb5ac990878b52cffb4cf4aedeafeafd09ca8fdc08c6dd45e9efc4c23bd21c82d3a4ba32b6fab0877a7b7ad4a3c2eb467ee44ffcc89f8061e848a05212e879177ceab4166329e0bb2e082fef0f7341683d7d10bcfe0394023eea5350edfed3e2f6998ab09bdc5aa2cc8e749667fd0ac20abfa74afa655b648558a773e865988452f321216f4f8534ac26b63da52dc1e4d0f6f448bf64910a50f2f634a85facbc3d4dd22f592424296f4f871ad6b1edc3cff34f8bbcbd6fef4838cd2303bd89aaa8c48adb8a9a183a45234100820253160000200c08860462912003c144a06d0714000a84965a564c940bc5501483188a41188641002004004200220a400208552381d90162c053aae27094b6149136af591e18269a04636636cecb1248ca72c493790a866a6689ee60c70a60d0e45bc6a2211c88b7326dccb387210bd89a417534de723415679014a9a87b24db10038d214e30ef56bf97a9bba36f7e36b4456d7ed9aa3038ccef14994c8a8d80bed9e0d70dd0fef2d02ff72878ddda3ad58a91fa67441a25c130b97e70b2a4d013400038e89ad586efbcf6c9594d9bb309d40e2b8e64c37047b04306dd81b1ee7d72166f5ccf98806b4897ca03cecd7010cef7dd671d4af3ac050bf50fcf30349ac405139420e3284809a519eb96cf81c2dddf4f3353688e13a7711e85419ab3f7220dc528e1aee9ac597d7af7679d4452fc045782fde6e5dc856042adabf30ca8456bdf8100d0de5e4a78004476b8dc773700220393fcb284642318f8f8406028e39001a682a3a5618103f6c86c01e88b63ccd33e3fe769c76faea6956b7fd6d5b40445905b3b48e14567e615dcdc778d46d081c0911aaf4c246fc2cfa5c15b25dc6a9a0e421f81037ebd8870fda04867a091b419d59fae839d2fb790582fa160ac0022cbb8f57ecf8f2976ffd787c638f16d13cc49ebfdf15841729f4c6f3362c119b0a212fb77b1db36af02ccd9f7aa429b61de46f4308e4373d1ad2f4ed9b7287b413d18755f134d36ac7c2c6fee78dca2bbf5aac852746896163ac8e8e6f0d4b5e0c6a024c9ee41286c1e7615395ecda1bc5752b1187a8621c3b722c7e0745f09d00b26f0cf6fc55c9ff1675be0e20d63307bebbb2bbd0673129ac0cdd542025b299628e01917cce3f01c8c9f9d96f28cdaf4368c658f6a143448d5eba278df8337fa7510a790005c6a6c30b6c74d1d0db9c44b36d0b1fbff208e11e4283c2d201b486e4f5bd29315e7a4752a332cd315f2582d930753b04ac735cccec5f120290b165d0d11fbad141228145460f0cf4501e60839da49fc5403a52ddec91433ce6f4b9d2bb93dfe7a33f1eee27ad3467215cedb9857666af2264dd647119ce23e13f091e26cd3156f9b984d313c14a750fd0a7c5a85496272b45e9f601a60c4ee57ed91dfc303bd4dbf88d6a665e2e9fc657c7cd5550a05cf1160fd49a2fd2f52f0bae1c1607e963c29f01db82d38466ec78bfecec20fa7026ddeaf8fec0382d3319b5e7d7ade7d5f395c90f18e1f93a0b4af3967e24f0dc86d7f2e2b9d66281691229cce602be7eaa2e4bce07bc0363d71e7884a26114c981b8f88418936f9bc26a34275cb4892d7c40ca547d41d2862237de902f20ddc727ee696c9da5667240fcce3b0f03dd7ff67729046543eff5c0a4b1c927c6d318f984c3f28332c5890183fe610d9fe02f83e29d2707082b88ac0334a43594e2782ea34532ba65a0b5b11f1153a600c615a551cbcb978640aa609e653e8da2248facc035f66454ea829f6b109d9b4f024517dc35285d09f0d7338c22e69f01e518712282c8b03fefb830752c6c7524d496d609528ee01783242752a25d0e6383587d7c2b1675c8700632214adc2fdf61c9229dfdbe292a3fe1eae6bad20cb155954abbcf2ce53af95b0621dfbaa1cdedb0d998ecdb9533625602218416797a00ebf0a7cf0a2a8f8be51815403d1c641c85badb5a034a321f164baae665de03d45c88d74d55654aa2733fd43d610b688253b498b33c7d003c4de043ce534eb2e242f5bac6d576e352f1773177ea2af779eb2558e3678a65350c5633b0ab51dcc20526070a70fe5124ac236f0227b038772e364d6482c33581196ec3a2dae3e86abed34c1b39c3c8fd032eb0425bd5aab5dab42825eb9c8411b5eacda9c9ff1b0448cbbe7d5ce573bb1de7e7776f19878b256926f4fc7b0a6dcfbe74092d36b34acf4339adfafa371072cfd08a10730d5186c660f796d09b7be5f322fd6689a020233725ac5508b2e9236a9945051eff3fd82865418cf88f17d53316332d6229792b757d2f6e1d0f7a61c132d0324c1f84ae94f09547b7ce458e8b04d9e0f0db914831a7507a93ea032acd411dbffa0e94e686275613af17777c804889965763660ebb85bb883b89e0721030ca62af47c95cc698c743d1cb2643c39ba02785479cb990eb739e0be856a3c2b0bbd72fe3a84b2a30fa2b2e89fb54c11abe965ec728eabe9166b5df70360674ca8c9a42493a156edd898f1860dfd6a1f65517676d08782935d3bb2e2864b29b5fc6720a4eac0ed10111bc2552ba611f05ae4616b424da8d8b818428f6628e8bdce4f8b8095fbdd0489adad4473f4be9d7fed20c8806f25033a70b9efaec8398653808cd489e5f426d8148b3f3217d7891b021603b48e5ccbac0097bbb373d64f10763fb47e26b82e09c737b19739511f0654d8f485c4d23bd20cdc56a80865433298c475ff55add19dde97a684481d408408612c9fe39657b65fa137d8022d6b9e5567c44d8fe68e178d00ed4ae5b4bf17e32316d0df4afc9c77da8c1956b9cc5e13f10299aa4900a0bbf9966c572de9996118340b5549150d70e5afa672c241ec6bbef75d018364ff4d0e3ed8116ba1170650cf455b9b1bed0b6a68f659fd69c4452d06ea7250bf5950d4baacad6aecc1f55a5f27ba25fae39efe2e597faed85feb361e95eddeccc4c6e73bb5ae76a99e665f243e472e5cc494203ed4361356bdafa0351f202268fbc1d5496ee9420d0f612e9850659afa03f5e8acababff0de35bbd4ce09908fd79029f2f0477321119e1cf26415f6b0ce25a6c8d44ccdfdd8da4d422bd76055c118a60a91d7aacabbd2886951e5e30682383fcc32f883f98d4dc772dd53bfd2559b91f76ba1e56bb0d7e542279e49a50d1d8af14c9bea4d79eb3119b28343f1ba3ea4b074de5d5325090952659a70c3c6c68c0083841f938c66d73cd5eac5d9a6f9bfc47c41a2ddeec44852b597259d08e9ec09c9ebca91c5f194abf45b27438cb2bcfd608600762a262a78706abed62a14bbb14650ffa487cd5640a9962055452f32b01fee77e1c8b478d88ffeb185d022db794a65b3ca731c9d68fbb396ed1bb06440bf33dd7b1d0bede30461d344623ebe7511510c2d37d11d6bb954821a15d0731fe2cd0e1f275955b64d7b8b9e1a7b1b28992035283eba6c1cb96808467e2bc79ba13c8111507a7452259549b71a331cd238ec9265066628b8ed8017640e88d6545caba6594fdb2e4e595c720419669996d43235ed5d6ad3bedfe74b8ffb815e9860dd983d7a464f3ef8a52b3c08492c18ff857f529c6cb0998938614a4bc845ac529e271e3e25298511bd3276c239e97ab38c1431475360948bfc2918ae4d95471b6b0157e9fc2d9f3819bd706896dc0d3d0f709df8780e0e31182a505dec766e016a17821bdde489e6b5e3b7303dea498bc4c46a9ea981ea7b25eecb75403d13fadf692960eec9d92980b40e4256da68c7ec6877b22575c71f86bfbaef2cd1ca89689964a01a5f949d9c157db2658d9ed6b9102ba7631e932a54169cc1f936bc33c3771fc0bb0eb480ffa9f67415328330850770566a49a4bce4ae7058784d2560b32af392ef29e4810ea378e9a7f5e7f3771cb59ec49b064efa4ffae05dcdf93363403d5ba6b89b5c68ea80dec411636d18b983048e01cbe86914587656e9a4c69e6e18a611b90b3fdec7a4d94b83e26ba68c248b18b39943fb6481dfbeb73b5c131d10cac6c12ec487c27f5f1e7a795985bcdde17bb8165cc330d2520d1d078e49032056a48ff1a1f1f76d9c7446195c09495f8fb19c13a72d92e014b744328d211b40465eab118dc2e9ec29e4c22851161ebaaf70eeb0921adecb09d477b5bc891800cb56c8c9878b5c9fd777342bf5ad9de581887e8ac99924a8ebbd5eb82ff807476d6539b646039ebea6975008df89c65a50952b2b5219abb37c395a2a574c2d52326dcc379d444491ef2919e45788afbb42a3539db7c013196b9d1d47445a210aecd2f4ae0d4d4b846cb8a4429ba81e8ac0f7d1e544d32d9c43f8d48060d117d82a88f2e38049f312d7e77fbcecf4f27a1a1efac6fd18262f84ebe5c9418b0290b9fb34afe9f32e9c15f7b4b346f7dc73ff7b5701c29c700a0ff9a940fe6753a970814995529cdef4dc1584ab52673c1bc1643a56edfaab4ac133882d53e4c95984347110c29dd69f4b897a2baad72a5fe1a68dda64f73f46539818d6e3b54ea9d04d3d1d95dc3d12ace23a82990fcf6b269e326f5da4e0f388d708f31a9e65ad9d5641edfabc275c39476ffcccaf8ad4e245782a22cd6dd0154baba987be6aa2e57ce4b46f664a9aee0b7b5b5ecbdd0f3c73a6373e4d31b898b1b29ca62f12bf990b03d1a9e19343ca23d02c9bc0af8b32d53639ea289dbe09ca5ffa4137d54dd483a469c20c31620ce0777eba65bb7d033aad32b1b114953f666bc70ba8ceaeaa455a12c0e3aa297acb79e468559ef959496d7ca49f3800ae91cc807ec728e1416e73bb375ccbc55a1c9529d4840178a8b75dc38c22d478a9b1a6979e20af9932fb171be6c33853d7dd46d173c3bf5c367ec0bc59b13fe78bfc0247139851b3c3ee6bb0569541e6e187837d521093e1b2aef72d0acfa5b374c0055cdf434555eec727866ae3c5f88b91d130ef6a2dd6e20e851e788a405403d2644f0e680e45ae1b4df0bae03806e7152250c04e9e9bdba471176a7470feb03ac4a492ab495b7a39e4cf4d389981f03e6d4c18001248c3fbd0c6b29bd69adc0928049705f1b9f3a62ff4066308071ca43ce1d40058929847f564195731ad5182406882c2d9e26490116a535b0e63767a77ab34e8d583fa67a1764561b02cc1947c6281d5a65c6cbabc46df96208aadca694bb6ea8ac605195527b500011b667c498e358626e0da1de6cff4f684de7c0bbfc0e139d8964606e43f7655ab6266a6f27ac3b591206f7894f1889231ebfa2491eb1dd459b88e3d02bdf694f163fb9cc483a643910e3981a72cdf1318b1f12f4f0afb8c96ca99c81d1f312d67184a298ab343aba75e68104f02bfcaa09e2e99cac63b67ec906d390f63a2e5f9d8300739cd046b7a30f6cf1748e575d189c177f1f51606d79e404591b946c62189f33a9d4d2ad534a59100bb979849db82dddb2f8a5f9828aae7ede980eeb8d7126a9ee121680d8f3799e19390419d35228e430eab4d9af6048b6d4105e31b7a025904771cfc6e654105e3c8fe14bb7511b2184bc06710dc5d44e73ba05078f4bb705ec4647ad2a7b80526e87d8a4c71315020fcfdbe34757267f219038a5db51d2cfe8c0a4524749f5eda876b8c841444a879dabcf797359d3dc31d548b68dba6327d1245fe495759cc68598c2f328fc881d0cc76b1a443de67e5e96eccab950cdd880a69e7f3ebe32caafd6987a9475d15fa260d8006c399f5acda734e25876b9ad1ad79a0fbfed6758a625e147d859cf32348d18a19a4dacf737df6809e3a1e216719af8993c14736ad05637fb2d8d1a0e602b1c297c3eb6b62b6d39d87c0157233a32b6216ea086b284e80be75d9c0992dc4b9d9109cc3a6839823e47d073642f47e8e588eec59191ec15cabed6896d314271b7eeb86f4448ba09158859274894086d5fd589648c50b8ade3c691e46d8e0c1237a1c5acab84237b3882ecc111d1a65768fb542792b142e1621d778ebce5c8b81d3a12440c9071c6110a11a359965ea8a30d8772a52c6a81c3cc0cd22ff57a265b378a14bb3fedcfe9ffb680aeab28c16810e0facb0c980739c06e7619a12eb299315a64c9c830a9464d719adeaa7ad40f13bd583d02defc360f11dd43e894cf82cd1a476514ab4bc5d50a9891b09a81aa1fc2a282c2a7a380d973bb51dcade8dcae5f4fdff7b43d82dedec25139fd261fe0234e50321bf73875731122166df70122e1742a2c6474949bf28b1249f2b9a897bfa269df5c4b3bf0f45775c270289dd929b04a3d6234c8dbdfa6cfebe5937fa90e39a4307852cdc9bad756eba31ceefc6075c33a19b12ff29604c5244e036d53b8015c1a59de988c2db891dc29c0bac066499f2a81201c376f9db279eb08b460d4e296a6b7282be2797e210bd75bedd110befe1d7123006554d9b944c0beec8635323f34e39663713f830fe785806c88eb1e9100cc40e0e95037784a939ed3f5cc81b105d38528b834d989fac800941437c783bc1cf0da5ab26d766b08b5e648f8981ca71604dbc4ae02a7078706c83645140c92e2024e10b13e17fa41ac2ef554302071c81c8a7f84aa7db3bb084a92253f54985f0d93da27883a0fd72d5dcdc70ae152304a853528fd4c2425ffaffe7ae808728e77a75274cc489f862d9f76ae3e875ab05f28c2db6d826df708d1f0d422fb66eb1a9e821407a56e6845cee48ca2a57d433719582a11799174d44cfff9cdf53f14f8d37e458904c02415fc3e72caf6d69ef99d90971579a0bce99ea1b6bf05353b5d560dcf05d1aab8ed53cfd28ec8c0047056c5c8b2288687d0ebb8cb69acaa14e3eeee8a26d1bc801e096cb0dd040d364454089808cf5f275e4328c82bb6f55b15027fb287ad373b4579d5eb72a09c2d74c59cd6479caf4060734ceea70961fee4d14ce21ed6bd3bad90d461070c9788b72debec1accce665e0fda7015e11c83e01a56460fb4ab69e937071b1407f684b2aad620dc6af6422008ddca4d6e29039553ef0d78f19e78ac5040973e9528566a3c9848c25228546059ba8e4e26af7fc320042a3bde3cb9dd9269bf5675ea03c633bd28085c7d121bbc40670f11d208070fdb877334f9fda2d34be3297fd33a64ff7a420edb218a73a41ab8fbe44324b55298ec77a4c5a102050b4c4e677660818174bb96e2134fb4a61d57d2657bcbcc99afb9c1f1d499218cb720ca290f1b33e85582881f493c941c7845583e25e19734f6d38462f2ee70171771174eb81b27ee05a7eec28d3abbc7b8ddaa9d7c270787c0b2970ea2072bd8ee05c94bd20742df06e3c5ee6ba334e7842c9782ed3bd668922877888df3dfa0144f70f2142784f5e0c1046df621e1f196cfc9599ec726b73122199c5e2d512b499c557e9ec878a130af699d319b5ee16f03372ce9d929548a09101617dacdce72af0f75f9bbbbcce9de4de92e73772c73a84bb56d0c974aa72570bd35f51d13a9b198ac9f10f83323d4c1ad18ee304f2152407accc2ba32f3e37bb6f0862d1ecd85ddc5aa37f5926f834ff06e7374b739ddc5bcdd658aee36497731b7b34cd1bdcde92ea6a20b0c8ba54fe5226762fb4048e63166f8354519317082e8acc6d7bd0977473a7486b79adbb5ccdd5da674efe67496a93bcb2c9ddd9cce32efce1226fcbe6b4c7d74d6c6f8efdd67435f20a09be39794a78dace876aa1eec178deeb31af42adb9a909a59209c03370ecec97d0b0b3faf4d383faf872fe3ff07d7b525ddaa5c55e171e8d7d5b8f4fe88aa8dea7419e22c0a4cd391d10d78d2e5159020f167e72bd47cf25d536475c31417b7aefa4472359c1f142d550c74ffbdbaf72839bc45aa860e4db06654c1b29f702d83c7d25925fe784d5f32e2be4d20811e236944d623df4729b4b34b7ac04c21667739d9df421ddb9f9af87f462b78502812f13c8a636909b3d076d09350362952380aed636fe1cf17f6db3fea932fa1cf97f65c867de37f54b9230cf409e5e37beec20c7071410d90bb91ec774612bd2e1a6ca0b2ffa35bcd994f6e9e1d797e4a0781dcd14f77ee324f36b3b34f9ef5c9273b7fd9279f7ff9a7cffae4d3cebdecd3cfaf9c9f9e8b404cc0131fbb0615ac7f5efce569cc95daed3c34c9afd06795fbedfebac9edd0e795dbadbeba3009612bb42de8de7012e799045708b34e4ff16786594879b9555bf9bfeb683f4d5b0ce794219f9b89f5a4fb6b0584f8a8fdc8cc5112251311e37efda9fd010ec0f597991310c3f7ac34a9fffde6d8721a18d6e135d7ad52a5ff4b55f1a07419fd28bf9076f7a829e57dd2ee1c455f1908fd971d7952b6a0f8807ca327e8c8ddf720ebc118f088508aef2335fe17b7716b61654a9ca2cd612597ba3bff897004cce3ff5bb5d570e4497362ea3fade94fea7f58ad35ecfa4b395ac1ab67e554cbf53b267afe1355ed0c5480fce766a35bea0d77ee917e9bf8a839e7c5e786b47e09e08930c0b4cd0086f4b1e01742d06ee6578cd22fb9d35607387d0ffd8b552f5b56cdd6ba5366c4847e69789a14510de573caac78fdda76890e5f414c483519602c3d169e428c906a33719011f4bb6a6f03acc9038afb2a965920181a251d599161bbdf5d2db4d5ae59132847c9ca177491eb0fc8b491a4ad1b486aae4f9abfaee2fb0d165e8f77914f6f0010080062012387889b004e617867c6292e040509b2e4b3d394e397fc92df08d984ecbdf7de7bef33097a094c092718989375ba95b7ed3ffdf4fff4d384390c3cdd3afd745df722d164c689157c8b624ebd8e196ec50c5de07e39d8c166e1cf2c7cc24c22a96357cfa67ec6bb9b99367c938d7be3d2b826ce0a653b645722d08e393bc4d9d5bd9a8d6b65d9955d35893a395e8f41813cf0ebb14ab1405191c241eaefe950289e0d7cea37cf9c62d12c4eea482a0d3f83ebae9586cfb84ec3a2e559347c0d231cc9852ab94c345a9aa559e282326a9845c369a95c2b0db134bc29531abc1b789c291518037c8e4ca3441be8844e264a1ad224d1069e4e21d4174d8ad1f0328c68038f7a8ffc7581cb16ccb6fdbfc9946d37651bcd1f866671a7dce13484e989104208a176efb5a741a8691a84c759c33a0b254854d92b16e9aebadbe45eb9485d3f93bb772a7798135d3f4316e2f19cf3c0a30cadcbc6d0baac4a0d9c149d13c6d5fca46d3fc67eba4d72ca76483e2b4486d65d2b2a5d8720d13541d34d7f19e6826c9b82602de8d042ee6e5b19c27cdb20c610638cff6a30fe49d3a20a9f30feef31e6b66bdb8c2a4dd3a289726968a2460d69160de9968698e3529f1908fe5eed30cb21a55d7cefaf292f98725dd7755d1711be32e4b8248a2a17a492a872016678ee347e4346464666cac8d888a554aea1e1ba2846bbc0d1d8782a535823f3985d8c1455151be122dc0573994ade24b25d463489369b64cb3efcc7d0ae309441133b64935822bbc43ab1506c135cbade5a1326923a3996481d19e0147a3b24173f3c4c4515cd4d395b49a3a8aa8f2a1a59f46e0cb08446f3f8ee9245d0deec0315341c21c6dbb1152614735659602df5184bd439b612a9441ca51e2741e92275ae4f65e12fb28042a150bf86561712e632746da9bfbad45f57b24c913a5afd05e5068dcff88b3366fc25e1a8825dd5c3bc9d051e5d68a65f2ba993153d9bfa16b8ee725c776b709d4683ebb499aca843f5a1fc61ee7eb8b7fe8ca4616a4695e9cff46cf3e91862a67b5730cf9a222dffefacb531e7f4ac4ac3d73b3ab26842fc032da45bf639a7d7554ea6dc616dfae994facbe029236998b27e4db9abb1f2328bcb72b68a2a1a0b2647f8e3fff8f1963badb79b4cd89453a61407c180315854dafa96299139cd33a26c1573cebda82a71ddacd7728773b98b0f8958b5175ca060580eb6370c337547daf41ab38265f8989c99f06fa662325ddee39bf26b8cef8bb9372606bb29dfe31c6361a8dce124dda9bb6bd5e1a2aecf9185785ce73364a1017cd52ffba1794fe491a5e86419b2d00e2e6700594a3785ba3eab7205e7d71833610cc34e5cc14c5807f6ee5a69db2f2a31a7b32b4cd3b05faba803a3105d4357928be85aa2a35d4e9aacbafe82127362bafe8a924497aebfa65c55a28ef4a9d7b20496302567096441b4923a33bcde0e491d1984a2e5e185b6bdcb88bae26be84a1273704c229501b0689daa85a26a28aaeab53280121a3ee6bab96d87da86377c98fd6ccfaf213465d39f3bd898c9742c432ab9838d4da6ff7f7e8d310c3ec6262ec8c2fc1f06263bbc7f8ef90c49409161d5333c471692a245ebc84252de110bacf40c1c4cfec105fd789d713c703f5e5f4e87a8aa275a72617c31be18638c6f1de25bd6311355c4e8ee5add4005ed4c9afc8fc931fb89317dfb0fd3b76d76f0a7f90922e913cd637290a8aa44d5f4fa733a98b0a498fd60614455c5ba60489811932597932451557fd294106dabfbed74ef4d9be9f5e91aba849e650e89406ac117a801a21638991347478e9d9c571a5e7188e24e0d51553f7720875989aa7a580612142b53ea40ea520099113d1e7f95c1cf436e6389c9e4ff9de4933396ba6799e3883d0f093ab2ea9fc6310d1e5768347ccc7ca63af51b73504f9d8666c676330dcdc605d9a6794f9c91bb233fdb51f0a8dcc14d080c0f28e9b924e6dc18638a0bb2c043b63f0fa13d24c8c86ad53f91dbdbf1c568e4d8782eb9b21c626220b6b81755a9c77037aa525195bacd7e521c8f2268dd244afda40e97cc38eaf74687a453f73e9a9898189a98986fdbb7fcb298f7c4ed37c36f1907c670af7befb72dbfbe77a3e13a244df39b7544d5ddbefd6534db662343686d3c663fa9f74818f31b792ef999c10941f319444a963069329d409951e6149cca34b791616f977b37fb019be633b2a29bfdd070299aa78eca1d9246fdca7e50c7343926869b01b23de63fb6c7c0241d73240df3bd4f1d663ee069de236932ec008c21f59bbb213af51eb9e5205846b37014cd6ff693e25e54d1a0aac41c751b367e653f36b6e38d9b0192faf61f299ac7e40e76cc61de6e4cbe11738383348031a050a7c95d4da3de236de41ba22ae6a93c93b12b30867a16f24c0d2ea8515c4f54c59cc6c66139783733f254c1bba98779aee0ddd45b199377532f938710d17ac87622b7efdf69cb53c9bb21c1bba9a73cd070268bbe243d1123e66039a4ce0c5996c32ccd98ee279698534da6491475de15ae2c61d2044a142a558e5420d45566315d9855913a32489d1cafef1186d65daba2ae9745f76a5a56d43586eb89aa7a205c68936812ddab69185157139683cc8731b41afd8e565fbae4c318dabbd2ef6865a5610e5bf38193daae5e54617bed5a753bdd5d2b4c07dde5c58ad1f53ab290cecbe819b2908ecff09d2ca443745da173565d3fc369c8423a38295d56a5eb67e06490d0059d230b49e9b22232dafecaefea506ad2af852332480210211937983372dd7c3b861009b2efdd1491962ae6ccefccf99e39717c02a1d3ca53d1b63801133bf839abdc7863ad11febc1d6a8c34d698619559eb21cc3f5e479984b7e56db1f6f245e0890071456e43ae06898d0c79ef06724430c46a3dbd84125649e1eb6787032bac13d6dcc9cf0a2f2107347f5bc2c951d92139c51cb9650b4cff32960fa200124c33cd43e82b765c24c836e588c0ae1cc6759df9b01e04cbb85ed615910db90ef60bb25d445e52ded3207b2117e822d23684f46f9ed65bae3bb2ea2014684136d4401b12575db9206b430de890b8eac905d9555b5032415e82d1a9ac06861468dd4e8f97d3cd1d41b621d7bd0bb940dbd7c7bb508f70c04494f24706cd3ebd1bc9c52c08f678373528e9db5144e9ee5ab4e58ac87e520875d10f5a3e883cb292d452acba871a7a4440eb7e550f5074bc5b8a707ccb919527bac90c100944e5c3c192281e121d23bee9817c64e5884e3d28dc401e496134e355ef480a275d4f374e22b20a9afceb393398ed004f89c822b2e123ce12aef4f5019b723f580a75ba999416f7e04b9779026f4b03c1976e597352192116918b31908016fb1d4de162b47ac75288228c4e4d251c51b1a202064754acc0ca511442880208521e45a145098fbf180f98b08486ff2084f68eaef0d2475838e9987e4758506978d47b94428a232c4c2085143362315483abb65e410b2471852323be50110511e441128c50484c3f2a92082300fda868d2824ed5e82206521809883a418cbc1d30fe3d487787c0ee5e52d0b32c93697e08a9739fcdfc53e1ecd01c040769330fb39177337fe51ea26a3e88d449c0b39993eb707054dd5d3150614cf96ce62bd79d886df85806ec1642ea58cf46def4bcd4c8b2270e29da0f212dbe7b491910c83dc9007efcbc112993c3980ba2a510545f9854b1100264ff9afbada146721dfcb54044604f00a7ed5f7740590ea8ee897202a8b65c17445f0e68bebe0ba26fbf0ef5e3b6c6012d9eeb2a2704d550ee45794175f2af9befee67543da0f9ab811e0e92f76ee670f57b93eb8e34a519480c5b4c514667a4259090c7a58f74ef4806464d04b6e526f0b874902c43c8bb82a827378177059191a65c27dfef0aa27e972c024f888120d843de9b45826cc747ae83c726978af05a6c241246a08b40902a76afa1fd9cafcad845a0a330c848cf898aaa08049d680482b477834555bc3709381e471bb668b181243701d93340e06dd8a201b1f75622524216781041eb301c1f3528681d0e1c35e89077228e8ed73a58a1cdff345f33391fdcbd68ef0e070e1d35c4df10ffb288c5317a4cf19e4ace99426d404e5923c52c86c51c49af8d399735e713185b87f8f2e23a236d59dcb4f42d9b48a28918240106115240c50d926c01022d8e3e10051848780326a82ab881ea89280fe01e54181243421991610503021959501745a3dfd10bb0b086708514532c26b0072d8862c5ccf43b7a01152530ea94524aa70a522d48a2054940014b3aabfd8b3916129f7babce774ac1a31498602a16167a9201e10b151492289250304610a23481034330a0228aa22b3811c5053c9092c5932be55a419b41871d11e1848b7644c49229057e351dbc227576242ae28836f4de08431bc2c8aac3c143cce9ece1e97508b243630eb59ffdb22a04a7e30c8c026588a8034940045731e7d1c3217a48440f95d04326f4b0093d74c2a469f4a1bf36e22039229a36869886923af33d441bfab79236f4320f216de80df0018d5e35822904a76f8cbfb4a147491b4a04ed5a61ad3c10fc8c9703829f5c9005825acc81dcacd84c0e47d2f1f03208534c71b4032ad14bf432c5144730c8a2d4a4eb7728d1b22ad2a6c20befcd8aaee0e50a59151386615866c5d46557b22a2f701d927ee1109bb6c3de4c9b29ff376fffbde9ff76b7edb7b7ede788c0bef7740cdbbe7ddbbe7dc30e730000e02700d02e5c908ab2f082038009804f1c001cc39b07fdd8981886573d521d3c76827d8239cea7c3641fa8a0e163bf7dfaed13370304e6a7c39cb80e367e0dbfe5f76e5e0ffb064357ea480a96be37653f358717422853a444e9fa4b074ec6711ad90f9b736721bb709acc1d27b3501364677298f1fc19cf8f5cf01022b2218d903745771440f2a668d34d1c7c448a2a9a472e72892a9a636832751440d2f3f499fdfc48b20da80ba221b07157097e11fd94af24b681baab03efa61e024450117241d79089fbb7c39b8eddf4eddb4ddd1db26ddbef763753ee917dca434ef774ba5957449e329120db97837d22221be634c73129e69cbb5634a76fc738b47774032d7de24ea7bb7321293b3ab1fe12eaee4fa73ce47492b90c0774e2826c17c0367c968b9cca80e18ac87eefe6a9f7c81846cc81dc10189ac72c07f8d3899b01727af68c0382f9e9f29c2cca6eca7eba22b24bb765aec9f41e0e53e9da7745c6544d32323237c9501993c9a4c998a6494646e69a64a4cc7553e9f8325da649b31f999229f6c9f47b99e3521e72baa5d38da74ce474d82619eefebd1da6c363531e62fa7b37a913f9619ff2cc7eae89e3ba2e83e1361b72a05d9ac32c87d4e16bf6f3d469f69382ddc2bbc41cd3696c9ce6918686a6f4970559ee47bb0fd832da656ee3a61f72ddb5954e1937eeb94b5de6871440d2324fc9fc36b06ddb366edbb66dfbb76fc739f5a72ef3544ad3302ca569dc5c325d5042eb26d1901acf819b010254e39823227be6afeb33a29803b92e865faf375efa81bacc5359e630b9f42bc33c75186481d4617ed271ba9661f6a31d4b0cc3fee3c78ea471de360c6fd96ea7e3dccd3ebd476a3933ca8a647290ed2bcf7896e97f4a41d04bc3d0f8d51591456463c7a8a79e651aa83ce3292ec836c67531d4b892a89ae1b0d3d8feba83ff0e1b07048f0f047f0901e919c7b0f18c1791d76a35e3331410058a02a24c9944964664820b86512a81e444150ca15d41bb823497138318069d24455982c5ec470d6757f09ea20a260ef16c68684e739aab8eab12a2a02bc9bbc1d7106c8c1dc76043efa65ed376cce52e7a699abb80b70d6f186e38771bce4330c6dff066c3c67faf8d0bb9406f97d0d542be0490af24343034af2faa02f0da37f9358e1c040390bb09009b6c3a0d679a139b138321bf9ef730c000030cef8978de94553926775a5b1c0c3264a11d1ae8225a476ac991857e5ee0b22b59951c21cc827eee73c65b701136c248d812d91514e0cd797d8db2a2a8ca9074d042eb2ea12bc7ae0c2045e351056d3eab5283119aed4ec787a65ffc99af15b4e8a5679f8e4f07c273680a459517adb32b21d14b9f8e9f258a399dc48e61ff6f32713340f04dff816f3299306bdb2cec596e89aaba8a399dd4d215639cd41255730e653f53e8c4cd243130bf75ebbf75eb9b8fedd861b663966559d62e81f29c2489aafa93a68428aa4cd884ad50144849a6ec26ef07f6ed3349849f43365cd1de911251ba9b4253889b49322a51552f060f303498f7c48c4acc8144526c5902a9655cf5c810650d94607261ccb1aaf0bc5ec2d2d00e92b06002bc1e465c4ab2c258074817aea48ecf10d1df69f13e2b2a655d46542a65455107665965481997ac4b969489917d29ad4a422b50d2f5a5a1125129b388a4cecf12a97383d4e9c9561995e723e38a709991cc8a88a01541eb60d7644559d1bde73aadb51765465105b98c0b443282d659ebc9fc65a9f744221bb70df6c8d3b129848768d331a4c115269a409164adb5d65adb644bd75b8b2f9c81c78f9a74e93b6f4fc44f727047a2171f2910e28bf11349d65a6bf1a54167beca65f603f36dc3b00ccbfe9b7287a33fad1c7f39be712faaee293fc9c1e1439cc65c67876c154b076dbd74fd4f16caf19ddf9085767ce704c842523aec4b5722da270bf5b80def2c948393d265547864211edf390d3a46dd5385270bf578ce67e864910d7927f7c8528c90aa14437ab95fbee4ec278683d6e9740af83219b68decde869563a7324c4323fbc11c0f14ed1e3f5c823b7837f5989505622940181a84824f98956313e8e436814b6ef8c40e56e97a18b017f2f38101367937f570c91226d4aac92efce6eb5bbe9775fdca700a0c195279015ae97a1e1adc186baa8d1f864f962c0e36e1a0132b142685b2b37498fd946e655b3976ecfba3c2a18234d4dfcc476cccc1189288b03186d90f0ece356249bfc618bb3f3b35e4e763e5d83c5268104b5429d1046269d259b20c4a77100b08f1169a980a81ec76eed5114515b018d104de4209bb851259f486c5073598afb1efa81991c203768c719ab4b9d8f123bcb943bd587f667c281d9f87ec58f6cbf1503ae68c48b92f713bd266080ff8196744256de2f5033c1f9c8bb177aa8e3e383f9f2be7fa9901793dcc163ccd76e02c7bc592154454c5ee7ece0bb90fe2c7fd3cbcdaca96663bc88bc5bb03863d8a830ed8c2a2109ccbbd77530b300f0456ea210145da9c41783837e57b37155af15a8216274ae3814283017e35ddc317267b305a24de583bdd5b0bc6b2cfb27e2c0b66084755faba9575e0dcac693c5268f8ddabcdaf747c97d08ef38c8fd88dc9184bd7c2fa198d31837e998f78afcc07be8cac100636842680d017eb37842317f4ad405fdccec5d161e1e8c0c1611fc6b013c6167ee93db294b16c878be35451b51355d7c6ec07cecd3a72a0a97072e0a854384cb74a773cf15d29156952c330ec092c9e06f7c2f0f18338f6404283c7d97aa5d63e9afd587b98613f16c38b657b8c0b24aa34768c73cd515d312bfb29fdf22c513198df5c3a96ede3c3b26779f030fe154b780aed62aec790765fc98731b4daaf288a2a1a1f5b18b4fdb840624ae3e3ebc158ea3050aab1a5d553b726e35ec383cce3027c338bef141195c25678e92e061c161cc3eed5ee0cae75210fb0dff8664ac686f7130a1f158fb17cdd661066aa0c89ac94958e65f210d2a65e25758010126d2c88c15ccc5a9801f07559d8cd30d2a6fea1aecbe62732c7f9c9e917e6de0463fd59c737f338d162bfa2297c818de50f31d9c810a5631647e4872ab47b7c7c2be3ecd8c24e59488a49260b49d9621e44eaf4449bfaf8ae5818cccd3c4bc4ecc7abf7875a19cd76b0dce5300cf73b22428cb66ecaf75a0e22aaf0e37d998fec003d4c2109cfe6f57b3617f72b9ac213fa1e672fcbe02c7543b4e5820002e3770f09636ea79487cc06a2887ed9cf0f15c33210185f17ccb51355f531fb0922d2507af6e387a8aa40e840db892a9c611910250c1b034abfce72c6801fde4ddde95abf53030ce6a53b088298155129c678f150bf4af5181c3e24587c617befbdf7de9afdd8cf2cfbb93c4b582cf165b17505e39cdd66ebd5e2ccd384361b663e6686b15111613476eb23014520e1a95ebfa7b2c7d35ad6852db657ee1559ae2318d46b27ede28b210f188904b40262f16c2a44c20e11b6680c3b5ea814bed8bd18ce1d846275000759519a56c58ba1be94a1154f550f87509a06b5a88ab4ec5a6f4263a5e38c717836f510cacb02a174a87a2b638cafd9e57a0c6956e66942935d337b870025a9b15bd96f085096d0f65736c6c12d304b54d56bb1b258bf3db1b3dc412c3acbbba97f577a6e28e3e2fcac941827b31dac65714154f16e6096d7254bd70721e4baba74079d6059f96230a9d405432daab08e1dd6610f7b52208f9961ef26e278f1b330663f2c0bc6d903899bfd60f6528b67092c317bddb2325cd3d3c462393bcc7e3cd764d1aeb598bd5e318a5998cdcc1edb6c9dc78906fb6921842e8dddf2610c8df6d34208486dddd2c638d5a3aabee6a8a8927f37b589cc15b3465508a35ff6a3278b868aaafc6eea51290c6b59d25d0cf4cdcb6157d821032f768fe6b5949ecafc66ad14475b7868df13354a29a6b9d6dfcb7516e0bce071e24d8cbe9b7713cfe38219c0c4bf1aaac2a18a3d375c91417898b49ff5790a8f7398d05a7f13b625b59386993afe611783a9a8547c0dbc9cf24919690debb05f06a4465b5c6781de21763104331f6f8c7e8f8f0b8265d87e465c78d17074602bcb863172b1f1cdf81e67d8578ef6daecc71be3c7f3a22fecc2c714bb9f18c3a6752433086be47daa77ebc67cfd555316b91e4568ef78eed400df6f07af77f11428be37b39fc805318226738310d2a5663e9e11a28c82290cd317a619570f09287a463849e10485d3c3b29f8843d621aa20fdbd33321f16370364de8a48acf7c4539eef2e721d3c552b6db4d3d65cea90b0a0ade367dd7ae185f742e842a9b34077a46d069a7fdd2365e47a0c69ef324b88824914496cb025fed544544b79b9a31dd1f235a8282d9f3a82e55f0dce4ecfa19e9fd106ab393fe79c5c7acef92bf007f8bd1cc448fb134a5aca179ff61e4b473c4c682ad5ad41940861035ebf681dd62aab7d8517bdb82352600e0782b7f11440d2f0f188399d7c71a2458bb530737ef9f2654efa85f2bc29de14700bdc72afca8b4ad3929292eeb55e2ccce9f4901e120e1cb5de904492686747d392929290e64c7d49dd8be3054762771ae0cd008154289d53f54535847be1901738a469b449126d32e7cbf2e56581481049d39290e68c5bbec42df00bf8c59cafcb97d7a5d61b9a960489502d50287b6ff5d2050ecebd90c80b24ba174222221146f7da396bbed43c2c0f8ba611a149b4003c5c50aa691752d285e423a50ae15e0873cfc72756865d681a4e124e8c32e64008238f21a6d8cc11fe65710447558686c0a42e12d370885c35d4b0a255120d8c300762908e68608294162bb4a327b0c45554c12c71280b22a3d58a3a815f8d0e50d0221434db6f0714ad7b5e60cc1d63ec20bcf16ee4610ff17658d8e521949813e502f250886829a71cd150100db931d78658bc19cce2638555b81f4f684690f86441b2e4e2ddc877f16ce4e513a0508204a3892c7a37724709e0144a254e915a342cf15a81ef061de9db3707c1be3a4041ab1984f011462478a36854a0941227c15816459d01482479d925ea9c92c4f8818fbc2ce24acbcf594452cb4fbc451ad132725f0820054d5e4a991d4e01628bb4c189b2c94e94a6d2325a6989a5a59117c875d14a1194593c769f4dbc94a85bb7acee46cbee464741eb6eb4fc1b8a35495411cd26564479b13648dbbf5c802c6a9594dedaf77881ddc25d5454513badbdc5a17f710a37fe14e05ad43e6bef9b7fef7233969660ea88aaf76c3096524a29a711589b51de07b4b4da6b3b56fa49c37edab69736ae4369d856fa09a25e295f2c9f523544d50d38e8106483d30857d8bd2b35ece8c0c1a1aa790a75d2b03b5fcd3f2f466e5240889e5c901041301ddc12f884f68e6290a5df510c56add3ef2806445d6704b4a3295dba9bf2c2a0084b48d2f3a759df9bf10a98fe75f7597ba06a6da5f4bd7794eb8e74ad4c5eae97469afe51c258afabedb3b5528ac305143e319041ef80005230a59452ca4929a594524a29a594524a29a594524a29a594524afa09a594524a29a58452c28c5129a594524a29257defbdf7a694529e083d22634a3ae7fba494523a53ef26be524ae9fba4948b39d2e6ef2dfd8baa9b314a29a594524a697cb1bb3d6390505f3d35d09b534aee898d4fac85d95ebed71d6949a795f144e79412e708fc6ac8a094fea0f6d3525a7f35907dee6aed6a95b272dd91f71ee56b85ef8e74fc851c90106e0232725dadf9ca525e2d7b8023eb1f4746372d6bddbe9f1ac842526b7de59ee02718671992f70a4b451463d45a6b95b5c29bc44452bfdbef0b26baf48317f2985e94a48cc1428f245faae8775a7f65fc7afdbdee48d72831b7bade19e9ca75ef7d5da77e6fc70eee9d5afb6e9fb517b6971e5b188f13b41955f4f8cd4a238c524a29258c4fabc2e33a9c7e97b5ca5adfabf5e108c139aaef4949e9556201f989bc8016929f603253858d7e5bac204abfeeb7c50a9af4fb14410b4354754a29ad945ad8cb31bbef468b2a19573d1ffd7b2f72275b2ba5563c71f383394d208024140004f8875aa59452fe872642670c4ec45aab7c13a97e8aac15ca5a7f44596badb5d6da2da09fac554a2965ad5c87248a7e9740fa41123492292de46de9c7c5114e343ded91e40827ef713fd8a59d0baffed5f01869ef16ac1c0e189a178f524a0923d54a4cb4684757d65adf93b5befa34586b54cd17041bbb37aae45fcc3308dabb2fc6086dad94ce8b0332feee9befc52a6ea670e9637d8c40f3303410e5667e1dc493eb38ddbd241cc91123f757dac88bb33821236e7cac0f6d3e12a7bb53cf7ceab6b642d6ef7b62b5949e724fea93f79721e015c1e7bd7b63b43c027ce0e7b4957b928123ef0a229fc7adde15443e30f2d43ebc2b887c2067e41d256d4e2d0526502401c514a46bada6131f60a28825a4f01132e2c6077e68f3794246449ffb211b7ce0ad3c6483cf3522850778233ddc88141eac5fc9c33de48ca8b89d37050e54f184095db8e00b20f83c1f2424d022c50a563045910ca2e0f37cdebb1d1e0e8924121a6f13dec1cf0a5f8124acf53d08e593f3f0efd149253701f8ce484fae7b57c3ae73ce49e794b2082d565e1fd5f73096b55659a59452ca5a1f7dafd6276b95524af988d4b69747b5d620d895e331d25e54bd6cc65863ad2f7b37f338d246ca0c7b37353c5e688f2a794a71a8a89aaa2d34091c650163782ddf9de6aa23ac1742296badb5d2796a3f6db5b552fa4b0b4c0b4a68f3f2d1f7667c3f1cdde14aebe9bb815baa48149c544a6badb5343fd744fbce76ad48fa65a4a88ca5ee022d39d50b60df21314e0a9928c247550c512e35773ca1c186a8a99dca98d3ce4ba78c938b76a7103427e4a184f0924a19b1fa3224a8769a34c3bfb966098b0812b400b6d054af390acb38d2a63ecb3166f75651175cdade2aeae28bb6ecf14b09e1441aea338cd3116d5ea4a1aba1eb6fa1a24a5a29ea832517085e10e03b14574f1358d81b98fa1d1981455fd9853d7861579661577e5bb84008cb2834bea9df162d00e387a92f0e879ea89af56a105feb6a29eaee6191821fd03995601476afc3ece79228ed74efbdf7ca33f697ebd101edddaaa28a5a4bedada587f4f6f4f4a932acbd9eb5fe2ed4db7171282bba741743d33fcbfa756bad7df4da6871d7565a43b003c6553f1e2c9e75efea62175a56c435b3acb8843c3202a96d2441dbd181632f65766f2d2d8cb0b4bda585d10cdab296ac18c7bd5754e98e27083eb0ee150186e7a452cadc0389d716a59daa94d2ca1f29b3898bb4349e5c34aecf43502d1ad326346cf1c5ec0f2188f008e1429f2c0f91fd04c12eb3204b66413068be7b4916cfe3cc9ab09971d02148164cea6434c9dbe181b7e37a3cfcc0db613d3ea8f49c6893ab21aaa8cfa542bc9b1a7ade0e38ad6c4cb179438f0ab4ee25e190000e276088a8924210d122c88c8d698d4ee004c2016f47d0bb898f3c2c687c319b890861032d88a8fa097ac0db012dd753032d88a88a311302872c59eeb4aaa88a4548dda1e6444955cedbf13a4e01c2377facd034153c88c4b5a2bdb5da9b65d6bbcf8af30c7ea99f5115aa348e5e1c5d399241a9311c1d38160e482ba51855459575af28c22fd0300cf25411b513d82e7060bbf8e288285f1ce1a42d0eac28a282ce3983f7f0c51e8c485cdca3038d6576391e281a3eaeb7f2855dbd748133fdbe6041959ee96ae1e08053faf4a3a97070543ad41d8f75ad15ecc0ba5713c10e86e0842478075aa0e8600bd62eea61ebc1385f736d13f986a89a37f468a08a2530fb73e1e8b8568543e503b63df53bd28051db1fb0afc3cc8731347c1c25d038dcb63db061630b663f1a3c1262f2b21f1e29b41d54f75cb97097ee9e6541ac448b374e41e754825f4d4751ef4d6a7b70e007cf39e77c8762447c758161d4a022e4e0bb1aa279386d36b1795cb19afdccf9372f8ca997c8a4715dc2ce0ccbac15cd6694eb31a44d9e26283d32428c8679a9745a1b26ca2045d0e68d435185e58e72e9085b3ee1dd441b87e2504c62a7b5795e669a25532d57a65b681699165123ca258c0829924cea1e2bdafcbc97a88a4f9049ef267a915ee09738e7b4f48a25ddc9a48e55c33448934a3e902cc0241c683029e6c43ea2ce28e39cb07b18012556e9317d4287842009d3e292ee6240d9e31ae1abb3343569337b72b7c74a7b0db5f926b54eb0f978a4d09e756f074e10a5e38a36bcf087ba2966933a35306417cef7f0ca3d90b8a89e1bde157c6f46b19a2ca585dbecde7a1314bbb1ed9d4e6c132d647c1a3f00814423bfb6327c6f3ebe8eb075042c430d95b826303572a0c578616a2246e805bd613873b7f20c8dbf964cb811e3054d8d1cd8e09aa450fd8e36303453c3092c1ca1ad1c858efa65a8f7c41336e3325bc6bf91616f190e3a6c378e338ccb4f6afe421ebacf0b87210b19719f17b8a1fbd47010a6096c1e28b42b83593f98e6b884c5642c9341222532d4c6310c66caf8a90c7b46068792ccb019d6302de3cf64d83432b88242d0ca4c2c64d8a86c0823f5a8cc470c56caf83532ec1a991044ea6b64990fd8358e372ccbf8a80c9b852c08212cc0e087371a31d761c75c19ffef918fc976a0c169dc09a768f43b12e2010d2ce3cfc8b053590f09489d321fb0671ccfc06c0ea266a844ac182a8b163245321000004315000020100a88c421c17044d0924cdc1e148011839c4868421589433916c43008620c22c60043900100183064a4a8861523b811e8fd00ee4dbdc71a0e91ab5b049e11fb03bef1b8cf437c4ff153bed77022cf3d98de255a01ec3ebd0743b873db0033ca4e52a7c55ce429d05e299c47532f648b152df49fa1008ba5d8e6bd4dd1f8fbf5619f60306ed98ca9a446783424499879bcf84620032f2aa00901ece040a9e691334670c1b9c40f334524dd5c6c7c8c77db07a656128a611149c65bc383b24e07ba52106013d6a94c8be400938ff92476c58d23a8dcd81faeb50bce07f172923d1914500146ce03624836a156187a7885f30d9bd3ed5df54dc0bad327aa37ccc50fa06b94c9ce951d5628d1ebf760fff33d034d26e6e7adbf0d106197560e86b3ebf43a155a86256f075b9a9071c75f2a03fa02498f06f9dd6237f5e1b607e9ac10fc107c7d63fe4eb40694cd85810f76089fab43b73afd0683209ead63c69581a7453c8b8d48c7073f1a2cdc93d117066c61a43c0a9f3c0136a7c4201cc367e9681dc3302d7088c449f3aa1b0c34a02b35389287137c2ade677eee2842f78f5c156531bc7a98d6cf527484aefe8f99920766ec1577255bed963362e9798c549a0bc56a9dc975db97028799f3455731d536068ab572e2e878bbd8ccaab00acc4f3b61e99323fb6533535af28a2dd3af3d5fbb9e5dc781a97c1c631a0f53422aa86a6e64d5c6de574c0ff6b3dd8354edcabe7787f5a74d09ed60f55fca9ecdb4e30823e33ee86cd313abcb76332107dce8f881d5af26a4d60eddac92dc8e7b7a9702e23c1c97f9f082734dc848164d4924db47f30d709bf18c428a40b250de6a0d4d58152aaab333c000755543ff42812b859fc11ccb544f558a50d044dad407e301f982300b24e32ebd2ff077cb2883b1cfe4371cc03c32058fe0f8843612e214752c39ebdba5820619957bafd1cd12309d8b88c2108813fc1e118c1137114a6b52a5bf767436f491f794d38fb5d0f32feee0ccbf51ea359a42d08d97e8826a72c9e92d6c0c02f100ef787e55b8f3ca131bc9bb7508299d03f66dac4de7ab901b992621ad730d917c7011f31660a0ec4ef43f326043380376fc858c704e3a97aa9db88a07d708484bad182482978ebe089132e79ef811b43b7d5a92305e738e1ced043187933b13b5ec242971274a081f07cbb1bac88c2f6c35e6b4fc5edee5b90bc751d768e38e3e03cc22ce87b6892c120b66e7371c037e013e89cf737a9352b85f3563f0483696f947d3d88a30520248fad0934cff5b6355f2fd29c66385151b811366c9ebf73caad8fb2d000f62c321580c21805cdce809961df7bc4811be9129668a601e7019812d9a7d528884ef6d94003fe07f253230c38e2267d916543a80c026837003fe829c48904080fef395f508a5a807f8b93de415ade39848250fbe42bd8ba1894cd0411065a7eadc7f7512088ae1fb4d0962ed8ff2834e899b3e9e9236fa9410c09c08f4fbe95be7a3cde23aff69e016f245f82221555743a642aaf38205d6670317809f7859ebccc484b94bcda367dee4dc69e83faaa58d21da59747644089c224f4ba036f2ad190d8690f376a4605f985c53045163949f85bacb978f92bc06624e191ede0435a98dec5a423a79b4671d2db7474d1d2bd15c36d897bcd128c7c4456e97d0110b34b6e55ab04f6795af5ca3262bdef222d1e8c7a3cff841b138d41085c603c2a20d1b1848b7e0ac27cc243595a5578e27fe6d244d85ff801189a89ec4084c5f5fd0024be158ab6fb81a61971b0b4b00f4f6a066dfa4d81695367ac83fbf0d784291908d5d5a31d6d8eb6620120a385a3d47a7e38b1aa476b54e91f4301a562f8df3552da295a6a5e20d00df33c67ac75f89635b53d6633425b10e05bc5c4d6391edee7884ec85462f1ae50b01727aa1eeb742783da396e41eace9efdc83be4875f8c83cc80dbcd6c936653a406c291728fdb8b3d867e120df55df0ab177e11fbd4fc6f96febd63966009002782443859ee44e4773227a93982d09f222426e2c981f2e7481c013163340a6c65e3c2a6038569b69e2ce0e299f61db86a369bcb25a18cb53ac0849136b7262c9c7df2db1c1a74ccc577bb8dd15b15c00cfb0a0ecde1f56f827a43a6837cc4fbd51c6bf974cb9a507fc05b3dcab9354ce28ed6a322484835cee14a18a4d2b51b18cc9035acd989122b5f5fd6b82909e4c2d982c8188c57184737e6ba08776779244848f87e9cd4d447b303a88d9322c85f2b8706d22b64ed88099ec69dcc92c7c76b31acb44b467bd437964375ce85bcca47a494f33b2d9b13089db1e231e78274612a656c659ac140bc30b1eb09b0c84cd01326210674bb269216e3228b7473901003bb4b634f6498ce8a2babb086ebf7d47ee7e638c7e6e5b66b98278693e3154620fd7066890f0b08a21cc0c551b781997e53570910f01a1cf886086c472eaadfd8511b3a51d871640244a997c619472845fb571ba677adfa03ff0c2649124295fee45875c24b10649c035d99e0f0205725c751861351a28ccc84d28ce4da43e6d04948b2df25ec3bdd891568c1af2d570280091a7b9f215ba156cb1f12e8ad071e9f27153e5219c7b877565702db92e8ff5c89e7c05c504ef7a8b029ad914a144f4d9f0b868b480ca31c29f845c99993c5e36d830cfccd1a7f8b50c374db36dae5d55f2f06422c0c658b4b4765f60f92e09ed27c99ba596d4722621ce7c77ea94e13358f340a654e3b5380fc41a37673eef86565fa0d162e3defa135b479a438bd041712321116f863274011a161cde9436f35928569c47881d77e16b6e624a8cc1e46a7c49f93525412f9ed835914204e352329435b49ae37c07dd5e6226215aacebefc01882a9228d83c891a75d4da9b9ed81e96c129be0e061b5dd81321771e6383618f32f3a601ca3b47e729303e5aa4620b20c532ad10ff592ed65630e4ed0489c8387d5c7fece422ebff611590bb1587be2dac353cf80ee4322f6747910ec0a48fbc145ae57775f1711129b5cd22203fcc925cfdf2a54d4c8935d9eb99eb2e577f7554a8cfa85474c40bbc3eaf94ffafc05b451a391f89c8998398795c97aa2806700715de05b0564890988c1b1b9455bcc520462825b8c6761f380d8b893ca9517f80d594832f7114bd0a91a21794dafc8c5e46cc6522c81265d3bda5f7d394636b6e0889d07f772826ecba636698ba4f3549fef794cbb2b49c69b1b6c1c9a38fd4447e05e11b3d56e7e6cebd8429668e792d92add79bd95ab0f0a224466b97762bd8fbad8912ef1888ae214198a7ad72cb73bffd23a4e4764ce59878a65dc7a4d8e935a478776b53437b25724d7d534733030e41ce6718b75fc998d96f970c2249655e894b08f957a1298b1f2233b2aaa3b877396571ee59a5715d994001084ade0ab8bdac13a021789e571a9f0d23f3c4821036d4173f51ddab01fd75ca3e0b4146f1e9814067ac8cdac35d4672c1d7e09b4e646d6ae54fc78833da8f923bbedcbe4242bcc325343d238d5a844b345b0a60e64780fad1751bc5fab47e821f2e91af55420d772e2cc508acbababc707121b0e72370eaaff390d8445c51d1e640c6cfa7224800d1564b6d8a8a723f2c2f2084e32b6cbf40b70c9051f7aa7d4b29576cb48620c26457a962eefa584e630861c3c1aac15d615b5e840c61c3a9fffd4eea0ce23b55d18709ea0c71cdde7e34e60e9da5f7dccbdc966af900c8ec72334d467cd6de9f29885c96759607ec7d457bc4105c100f07922be5531f5833e284c66fb00ee99bf8283fc668028039fc3383694751d6771c434e4b603f4817b9be0605294bb2619ac9887fc1147cc342d890e34f17550fe752991edfb65a0ac7049be8a09595b3d72caa77f9a480ff5729eff7c7891ced24627f14653222d7e3a029067f6db7f59435b6be012421831083c0d8a6b4d96524415e5a62a18b03883f7fdf1973c77b1d80e22e35417d44e3269d60831098c68cc3b3334013018b099e217db9a3b6e3dd44d687c519a67531f8da13715c443264538fabe4e88340393a895660c713af01012ec68555c4d13bc67ac32c4cc942df46063a97ec9fc17fba361e3d240031f94a01129dfc7e94391dbefe02461400ad7f4f4049914e3156286f58b1001d3aaab50d47aa056f152aca107481e60e94e28f6312825b395d5fef3676cd4d7972614d8b6dcafcbf247b6f2abf991edfae4f6bb366b3fc3238f4460429b1e9270f76e811289552a2f4e47e0441fa15058ee512a99ce46f05090381e907ab3c242bb8479b65eac370e8be32ac89def5e7d1038b9c4e63fd960f1d8a00289864e884af0d3a17df5c3f323425b426d665ec0292e71cebd65b14169aebbbca6fe83aaf5c10c1f7c04cf8edac1420761fddb9a45fda93815b530d6668f6353812352ceb03a96b24721024e7ae3c8cd95ed4063aba953e188c40201a97b71aa3ab6f78ee00d42a24ceb2ade7fb9598c2d86dcd0688331a95295544ae9e2f65e1c6d08df6ebaa51ab9c69ad55d32148a27d86eb06a65ea36197a55b62c3b022558824eedec44138b084ab9c8ca74ff9c51ad0d49162cdec64ac76c89d0d87b737981c929174277cb05672b265457be7b0766062f78f1c7abde8532d825c3b89f91662cfd7572909afbee2ba7a1a54e1acfbda5d020a478832b50042b0cf2fb250273d014fa6166f3c60ff22b061e50c13294c7ec0c16a2b78cf8959e37384a0e0c76b285eefc0aef4bd8ca074439b55aac2b5879ca7cc771f112a716b57ab9e5d12ae4f0434ae63c310c0dbc79d2207d2d599434fd4ae8fc61229afbbb826a73029834484d8a5d0c7b1a5c87755cb763b7d651c8d26a370dd6e86eb445f9ae37ca28e3bb0601cf13f641dd717d417d3f4ea969962e88c267c960fe05f3dbab3b925a53fb3c2beb42ce51226c147f7e44fda04fa6ba3b213158700cca1fc5fb07c52866fa119a2f282a4bf30c0acb68037f5a5a7c3c238482c531c2e2c78a6a322c79b908e5e32f9c28a772188484f08a13327970b8d82fbc9bc1c72934f46e2997b5e7d5875124da051b0f22c0167dc364011a577f582a76070ba33a3cc678d8c213aab6b87932552f1e95bd8ba249cd2192f68c2d2c24e2a4960f3a5189ef903cd46c23360eff4d038c18191e680b63b121395b41eb8cb300b0fba095b0710e3156336b10a44fb1222fd5e468366632dfcd6020e2bac4f6e9cc415a80edd10e241337555391256a0745ff6657b6663270279802acd4c9d8689167999bc61aa47a30ae788b9bb79bc65b73610920075a4e66c481ee30414b4d249f9eca76f73ceca613743add1b704e330bdaa3964f6bb6e7f162551fb2aa55aba875993bdf8988e7a936cebc8e95fb187a677ce03c61922c14b32d4f9c591078b3ab70d768af73d1ee1bfd8f9635bee6eec2caaf28d43b7eecb6afce383eef12dbb9b091919e790b7f8903689c200cde31c95a24ee780e86d97b5595b05219a145718315cfa61e9650e2d925684776711775b832051e940fb5a2eb77dfb627815d73a0bea757b7af5d8f8e9e9f30f9cf6da8192a8adc8a251492012fbcdd36a1cbf0fa4e12fd324b4feb03fe6c6657d1065b822e37fe5ee02f4c0856685abe3acb105663b786d09119731b0494d0566fb9af1aa6a4e7c5c6d02ecf59e0e1c866d4a85951e77b42f17e134474c0cc61c9098b5ab137942c943b64634e223d4c7f020b5a052ee105b80aec1880af79e8565e6085af0bf80a3d7ebcdbc36ca5b68261aa7c507c9bb0e3df5c2f03a13c8946d5f36f254045b3d476644fcb4d7d96e197699b976e752546349ac7d875b3dd881bc81dc0e340db35c9aabdaee28918d58f6b68c134e8670c3280448e73abbaeab8c59fad1e8a81bce8b3b43adeff74a6a62236c1608124f8d8f814fa550d8a49c4840f3650f8ae13854ec173b81667f421d683f0c5c93d7669af5266c2f71de78529d16ac4e8ddc71ff163a2d260d122e3d714205640dab60c0061383c795e6960ab444275c70af55451a3de4eeafff0dfe289f7fc00a082b52be063243fdd7a98d1f16f0bba24b851ea0c1fc7d2540f3af3d595a10feb551c9c57f1d0115cb7868051f082196fa0582bc0123d567d7cf5c791e971c80f2995dc5f76fd48326e5e14f9fc74d6f4f9c907938fadae3ae9640cec8321d612cd23543ca9ca220cfdc0dfb5000862195dd82d5db62ae2b21a2a1075c0e5934bf16fe6c299b750bdc4b5b8e6f1950962a98404d20478725a1e2dc21e7eb7d7dcbe9cd9187d7d959efb2ad077187a31753a86e91463c0b11fb84851ee6e0aa64011549dd802dca50256760872f0560cefb3f15c81add83460b11a38898f7cfc843218f8de20cd14a6e2a2f0425dd28d4778e4c0c2b70e1aa9d72037820ded98f37601beccb434cfcc69dc2ebaa2d405ab0f95297e16b4ec64297892ab07aaf573a2236bc8d90499787c425f205c6022e91b2536e42c1a659ce73bfc91537b48cea05372c67cdc34397d2d6744c45c886723e6bc737233a7dbcd0993644e27c4080d56b90cd4ea2e27b602662ee84fc78b7ccc0606cf3affd1a883e13bd09894ea8e74dae7d4fca52d2d39633bb976cf7e751a3aa247d8d1c34fc92184d61f06f6ca20fa0f1e59bd88a3eb5b9995f12ec3489ade14a2139565ba783ccfa7315f05ee7f2d73be3b0c9c3c56f1b4d1488d0731ec8d52e7ddb3deea1a50401acafbb09e730853d62838f17f7e766aeb13788866c4a7f3f2495cd5a2cf6f31a662ae307872c1ee467b9bbed15ff0349251201409dfcc2142e19a91ec413f2dc7ca4411d65661a3598608f74539ae35303b278cbcbaf8a3c7c9acc0b65bcdaa6565411cd48e3c000431610441f3508e5053cd7047d5bd075dc164f43325703b879a5b52317a4ea165f2ecd1f0fbe118b149c5648da453026fa59342cfa4797d1ecaa0d1f685e0a7b9eeca09308c167948fbc510536c388d953c23855d092250012cf80ef40ac998e1eefa84d21815e60d872be9aef5fae9998eb798d7a0d613b90fd4a9f04a1ad85b03fa76d6f35d875a3b1f93ba9bc137bbc13ed4fe72751efa29eb2d1e24949a249657110575c72143a5a3464018af8fc00108dffe3e9f6b1ae6a3d9ba2dc0aa435d6f7fd7d3abb9d5f61e1e3bb20aa9e238fbf47bcc2abc713a5b84f968aee00f34204688090351b471e319f7a3bbbf4996996eafb70bb9819640c3644c2a70828a21e03e0d912f365c5143f3bdf1cfe53db8d3ca9af1f5f42e02fa8fb9a6d3e7e18c97ed644ba0c2fac6bb9440d5f472764480bb34365693a5e80c36b7d7a18b423223dd6969b19c0bf6df0a283b37ca140497dd6021a20703e45addd223d4276126137f75339f1a5a0d4556ef3a35f5c510623e9ee4fc879b4c7279f172ce6fc5dd9a9ecc8b7aa6ff60d54242a64d12b6b16a1518d727eed2df01c2c8054ba824bf5334535787d162fcf324ab9ded840567587449aa28d00eecbb67607b60fc4dc23454cb72c142415c8c4d944b6ad3213ff1170c83ceea95352afba6735b17ee7cd34902c47bf8a5dbd66d6ac6ebfd5040d19915af82d1bb1c4490387fc085e2b228305f9068d4944bacc78393bcf41aa241b21dbb56be961cff6a696df6878740387af8365dacf18bbf3e634123404030c3895f5786f54988d59bd5f375a07a8bc243a36dfd3c619df5447941f46f8a98444d89ae264829fd40a44b99939eb3f0ec1978b2ad2e027d41bc6607cc49280f2560fd70e5d1dcaaa0a739d4df35f29dbc7bf331e8e4ab1622fd44d9726999045b4614600eb63a787557af1280dbeae6c33bc6ad9061d50f9207a500a6a4d45b615808366306b4457f0814b11eb91aa815b484d3b44b1a788ede4004cf0492c38105a9612b3c6441183e398bbbd85b6c2c2ed57e7f68d95abd05a32ce7794a7539ab5faf92bb0f6254db3daef5e70c618ecbd2feaa1bb5a9c0607ed90b20b23451e7d1c764fe881863926b66ea14a4683a550c89c95e8fe04dcabb05508290e051632850ae23b8b688494442a97ea48889b7f93c2c20591b2b9039a2e26689c5f8c23ef1b4a83af79106b36c038db89e036045ba38c398e932b82e49cccb28bb23b3e037c5d554afeaac40cbe7615c9e6f306101f01a699388c800c2aa07cf4f1093cf1ad4a69e3d4fccb93362269189fa607489afa1ee07db9b3e54e5266f116c917d5abc26fe36582ebb8c04c4853c40470eed997581fb588268fc2abb274a98fcae6bc8a099f8b0104366f0694a421568a258a97d05a974d20c0bf9acc19897f8a01fdee686b61353c338de6a6de2adb3a4e92b83e8ac865f9fc74ea723750775ff42f50764705d8a15c6a28d51acdf749bd0156747b6f698e2e31b0ff9948dd92c5bb0becd9e45fca71f7d4b4db202139ceb44d9dafe0b88e9142b1f74d9e5921454852bb8a8cb5fc87b5d94043934e85085f1471e226f0cbbab7089cc7520eb92bb35358816a50fe27c4f1ab7024a16b61d1d2bb1f863a2a06ebe9ab83ad360377014d7b6f91497bfcf79959665b7122039ec4d496a2cad1aa6c9d50225c5352364f24c0216033070869b13e4fc48ecf3cc3285b3adf292b6bbcc87cd409a3f218cefd0ff8cdba945e3469b6bfec4f4087c04e82b0eee559da5d311f45edcd9379f3858d87f943c0603d9f417448c5ee3ed2e88e28a121f38dd183c47a14e517b865350afc8898ea23a75ebe2bf671174a86e615ca80c3958687429dfcdae7cf112722a9c1a85805cc23817feda1001411b18a53bfa6a9e273961ca10fb80241a454e6aa7207dedcd243b02613ac64e91f10c5f456185df8eb3a08a39e2c6fb6e742adece9aba82bd8864710e0605f77d11101959396a1e8d398d2732507e77afcabcad94cd61e07099ee0fd107012d2995c7ccbcd84c3a675748012a8bd902e1fdfe5e374b8e25f70cc9fc3b8da01b37ee4fd6de11cec9220063c57c6887b1102fda27fac20f963d167875cc324e78be65b7c0372af743946e1730deb2dc1b21cc711723afe84bb2bd4714a4bbc52aeca26509798330e2e66df69759636c265696c8e93eb292706e1c5346d33c439c80d7e2d26985db65065a28884a570a01d84535fe26f52e6ea8b9bc735b5c38b70e9e509dc1a25f7fee69d2ec8a087983fd6550327bf4eebba0aa2fa112b0e758708da66aa8df4483c32cef6a3db8786aebff2ca1eb1aa8a0ccff8aa2ab9379deac2f15de42100c6cd204030e3619d1c83037a8d6d3d096e65a1636d9604feaf2131b5a83920f672366f8f6afe717ccf602901b5495463e7d0bb2eb7d221b504d732111d26e3fb8a1e658f04dad34830a20d643e847951dc49cab1779679ba37c625ae31bcbfbc18ecec8939355258b43dcb1f8f74bdbf14420f9e667df11f2db72a78e736fbc78ef6ee99e0f09727de3f1bedf7c9e2b1ca4f379f48e0acbb1ebd70933e08b7d5bcc36012f380a22dca792b512523888b1503f52553d65965033dc395f913012b229a69d7448b5e5485a89cdf41c693604a9cc8aaaa7e06dbbf16672348df14773611ad86856e91232d2c080d3daa0541acc46df56559fa839027d99144efd238c635017226403c8333800653da3369c435ed1e2265fd3adf439beb92aef365a9fcf44454205fe55c387dbec3dd3805e23faeea057f94cbd6704b29fe921fcf744a1ad286e4b968ad40f0c0ea51d4878f5e92af0e6954fcb11c2fc3ef5f10aa6150945e14b831c332ca76347c4046f4f7b778a7817a9c00d60eda263302090deb976b4c4e2535517930aea16876759e420fa0d40e43e9f5c97f55b6f17ced1a88c430677f8a420e6290442eb9ae80992bf1faa4dfdfdbbf27d34cc27dea63b590dd169331767efc89bdc7ab8859f6a133d39e1077da4cec9111fb0284c4945701528a74d7f261f672c6e96d8a96f947acbfb926f256138864307fbff4d8357174027b5aa9408bc9c4baf6cd564e0d29f1c3a3ba1a43baf114c5e78c62b44b9eece3863f4a9463c2b9759a2bac397a05ef1a07cb36cfab236d83fa03fd5539d251565aedc77740e728f72af2155706d9342ea1941076512d01b40ec094d603285b7c442260b53e739e23cbc65960208e88140a887a6d5e91a7cdcba5189f9fb26d1aad73f576e8cc7153ce75700c39faeb332deaf22802249ecdbd13ff5a04ec364b9046f9705f9f6fd6363055488c1df7628e64d6e4ba3ab74e301f10ee86537b5047e1c615c52f8836e3c91714bc190013874af5ee6d488a5f9e3ccb8abbeb5492b693968fc2a453ca8a4e7770980209a139e4239ecc540d5671806737648c4da8122cefa2475487d61d834c41dffc27db6e641150f848a157711c8a22ffe3af17691b2df1bea11c9503032ecbcc417d883b03648b41eb4af5d9481de09e869f0474802633fe0a55cac91f77d600b24395bda112bc01f69df3f986101b39b50a4c27f170d79533d390fdc3e01af8942437042f1461a0a1cd9015e8cbc1944328c14f919893ef2a5d7b219930a4c9e522fce63f885d4eb57f7a25a3a83a8631594d32fac4a6b46ee1d0f458e200a60f41ce342731c3fd1857891679230f0e85d295f003954c5c4021d47d8e820d3fad21d34fb78e666c2424b62c33c14c2ea268101636541af44aa0292e08f6e2f41a9ba98d4066540cc21febf712c0f79cf31d75ef5552f63dbe532c6b1d2f74b2d484b0b11d2f5f1969a8a2626be3d17e86621801e2ae4dccb6ee9c3dcccd98dffc17adf48c063a8bd4c2a08742b82d4b7f4c1d681cb78c706986d7ca141597e8843e6ebe22d7c59f5fdb17374936489507fc9c1dd852ace64793ee954d56aeb4b9b994017f2e3c00664d84923b2093b0883b0f50e83dc0ba2c9f686dbd9930e33c4c417fa87f886df06e44f7105d877e700a3f0a423e363d93d5d42f0823e84cb67b7b01b80d7fb0e91ae57ee8109be12bd5739d44ac4e29134b69687e26820ed46adb4d5c39a0e2488d3ca1d151277d7c4c50712334d3f1fa8541cf7ea12268258c4beb9ffa46b174988f398e90da5ba3a34d480340164e39c2fa5fe3522abf810f3f328cea2618364b4b30e3fb836724922af7b6e38091d411eafd82a2da6c498f6571c69d8030707c0e49f033080e27350c40572a2833930f0b895005ceda4c1f31bf9240e817a6f4bb33cb73e903953ad882649c162e2e15c26128bf3221ded49574234c06b908122be02becac017dce5450b2cb212473e63a95aeec7ffa36371a781ef104f824cf989424014d1bf0cf9dfd81e90c950a2108fb8fee78fcfc24cf410773b32ff6bef57ebe35af796c9106c0459935694fd126fffba2afa636aa928cf40ff187b685184c68b9c3e2e8aaa40d9355ac33c71230f44bc1a12a803729958f49df04a1ab483761bea751fc1618c7f4ccf4598517023ec1a1730f336b232b910e8aa3ec6d871840d82814465f591bd2b7748e65781e3c97ef9098594f3f69da1cc472398e92318122ade97a6823ee09190eeb0443d4dce3ceffb683389fc39c60db862df2423775d9848d6978eb7efa6be29417a01cfaa17830c64b0832c6d92b8f7c001f3fdb1c70c713a9fc2a1c2f1a1afb9baa10f2ace588e4889bd1a157fbf086a32b2c33cf31df64bcbab0674a88427ff2a7583ea819ccccead9425c4c814099055310fc926763bf761d35e91776e40dd50054e5c7dc99df9a7d0764e6c3201b6becdb369a818d5d1556182688dc40798a7d052b0033fdc45db5974a662e52e812c40bc3de83431f9184899bf3f771f643242245f38f472e9a71f88627638fcf741660e2aa4629ab4688f66421b8d7c8b98fb427b7790d640fa1792ed3ca67acc595bd45330f97ae8988947162babd5806e082050853a8e860f3391539a522d0db93d62be1cc936f9129acc7b8b7cf471bd8838d21f3e023d22239476f151a9cc0a65997dc7e3a12556ca44b677a25590cb358998cda1ec6d95d521f9e4c4b098c1bb3223e51cf077398bdb25327fb543664a2168c2a454cf8e3691751b22361f8da5a57044a3af62dee520b4552c7780ad69a676baea2bc9d9e2675a693192e87471f15d24516422600452b40ba4d1e32d5f52dcecf36373daf630fc4825fcbdd89793423718edf789008aa762ce49e3d6949a81ed6f5a18547901e2ae4489f80fa55c6b58693844cd61c5161841211f6692cd6eb7c09464e66e11f801f3ddce803adf3b9131a8158497511863c39e520b982d2af2eb61527a46debb225a95335f4c614c8dd664e08a61adf802092267c20c780b814175c7962e27415f2e3c932e25a5c2938ca5cac4f28a35445d72697d2b4c6a294068053c17208a583515053bbbfeb5a78c3514be5e24d0544c24d15765df1a5c3e8386e4918728f2972a89ac3e21ec3c5014bbd153116524357a70ce7829746d9619354b67b419086aeb8c6476cd7f839e0331572db6a1ea36b2f43eb66c068522cb51be296d84dfa893cde2806828d2dc034439d30483f0438c97ffde423f37d82c103476afa29186e700fae4ba90f79553f7196e7aabebede65b4ebfbc6ee6e80c1770985af4adeabcf0992739dfdcc9684ccc11c68203aafb061619a0161b62a3445d97b6fdafc395cc4a4dd43dafbf815bf271e48f1f3696a8ba0f27a2f166d327f09327a52a10a6625d963607699ee67d1a9943c80507497c6e44121ee4fa18edc274ae37b0dab4fcd65d292577be578f17edcb0a0d9b71f9f24360cdf5554a14bf57342f4925ad71dbd0e014d13344703e01f0321899318873ed80efe9f0b8d95deae09bc026be30c14937ee91b74f2b7774de48ee78231577836ba33ca2a0a9e18735258a280ffc792e87ab218ddb91d938b91128ee4bdf0fa0e4cbbb21cf82336174656d10cba0d5736b39e081db5902095c55425128bffa8488ef81944c12ef045b81eafabe450fa88675eccde889b7aea156956e19ecedc4591772589716725d8eef8846badd4edf826591d3411aefba2266050792faec6a5ecb211687637787e3d8742ea9cd38184f004b1ce09db522b812a409411e019747629bac3e2f854a699e571645bd324c121a374f0ab9b23987a8ab90613f4ecc9b7232121016245621bd4982aed0d4c25730ab408ae2bc505339c2197e91468637ae49b08d249da7e269142a24bd77009443e16c6ec159eea08b52d8361e07d86ccfefdec0247e41183c611fddaf85f27e2a650c4f15c017090383fee6868159a4231bf97bb0dceb4c064bcdd0db3c81b47cf7740929bd88cb1c3f3782c6d928ec77885c69abcebdabe72d0d253084f5f9d73f166e112d550ca3bc3ae6d8860e77b9105907077ac3c876d098eee8804dc395b329148530e7ae0829ae90c15963b1703f23bd323da1efc5d375fd74c306620271e484db6e39331d477350c7d1b0f5ff74e781f172feb7c714125d502642dc13d4c14ac0dc480b99398281b887ffbe0bed0993d63df5988295037495715000c9cceff209e2dab84a85e07003e77da919985dac467c5c7f58927ffdf3b156eeaec407475be223ee159760779b0be2a3015110d43ce3b5fc13a4e8c75c9263d318b34f85878ff0e30f1fd80a8c98c53c52aaeef868d0a870a4ae4c4002aefaaa14171bb54101bc9cd07adfd71f08246e5580815ae0ac4f316d062c06e47c5db5e98a77bd7e5bc8745f069eef0172efbc07cd6bf5f55cec987212ef00518a1b45351e665768224549ca66781b7420227917a8e6f9338a12fb64006fa1e51ce6c2aba764cd6b02bd5120c8487533cc24914c28b88dd2dc0065f95c37442182e48ef46d2109db952c2c5168d4d268413625203c4e4d7d92fbaf661d4c08351c704034f351155310b97d6b0e64a2305af658dffcf75f15f44969bc4bc1b821acd04b25cbbe4a7506f70ad9765ed5ab08dc8ad30dd2bbd37b8f0f64851c30626d853114cb2408fc9e6c2c7eea96b9a5da9fc49141ce81504ea641a7e3102741ab696aa0f0cc72eaa7c5392efe9d96cdd25b0ae0fcab3a97a31836f0f8daeda8037dc0684a2a432445d4eedab868c5db08e57ed769539dac0a84714a154e5540dcb14246920c19446efb21d2af4e8309a79c055d936967feda0c90cf3a5ae82931dd0ec629c4045b1676de4909b9d21650f87d0bcc195f28b1dacd22a1eec97ce48f98a5f1b415dc66113282fc8729c0aed089ab197ad8acc604b401501558cb98bd40a69d738d99ebd0c5282595c2e64659c58d9066e8441be2995784b5b1f7d4bf0b37e5975abc9d7c6794dee568d3393b7a75943c979669dc7087aa4e2862fda13d58365f96ffe5b8a9852c5a417eaee15779adbcbdd0911174d509778f15cb4b6806ab7f7a96e0859233f97396fdef2716cf345213dd428537b25f96b49814c1680ae0d5988c89fe6c680f001d61a4e80f971d0722ed125c22e10ed323fb003f250fc004f5c55712a4eaa9b7604173afd7996e1919da2954e5721df62404531bbe42d64d8ad9ee50a22d22c10f4f8ab41e0ae06f445d2c20735b81abcc59c2a00bf22b3290ff7ad321362a144e0a0908ab142198eb8c662e89eea7b19860c89b596287b4423d2541f453037cc62cdce96455e3ed85fc562e9edbc7746da1f7c9a9f174d8945a2f05109cf9919e920d3a9e9fd7b38325bbb844d14216e96126c87dc50838c47aadad8b4dc83c0590d9c407ae904227ba9588deb94d87a30fa4c1c7606bcac50445855bfe211d583f68bf2afe7c9d1e0fe2005790a741ef9fef98cefb00b2ff098603d337d4b378d189bfefa2fe549600a760fec96e3c0a2eacea3f45628f91d230537b13b3d499defffeee2fb610a53cfc401ebb6383c022d8cca013a081f05e7ede94a00c7a72f7a5c0441dd3edc314f819d047462c7d20497643c264c7a2bf53d9471c49c255f69423e29208c2fe22be6a9a4fd4dc64982eeeb885a0d816b75638ea7169a9442d9c4be6e965f3006c041a142bce19ca8ba74dd37b59d1a98bd891701ee84e73e26884c1c642ab131b97e3321add71b4cae29eae93661d4ca03d221406bbe5e4b28fdb0cbe8cb6c22aaaa97d64d2bf7e2d09f6c78cc61b3b60d24c18f6b43adf85b92b07ce35057b75b38e996f129f2d2d41a0ec19a5e3c391c2d7c603b9097f4752b53066cd5dbc5b440961c08fe324bc34284e6a281ad8016f1fe2a6de24bda2c5e5bc04b852fcd2287282e610d6389b6f24ba280eaa16d23179f12c550bcdf80d440042b6b710d6bdd9d86fa1ab63884e6d162de1956dd695eeb22ae9fb758ec1bb38bd2b0f5f66a21a3651da9d0f4ade88628200f84067463ad7e5780c01da3b45fd1701dd0083c3a22bf7fbd2c738e16837f720c1bbe566e12b1a24c6469765dc77e1d304c19bd5cde19fb826ba42a568f77b50c91bcfc1d2b70307f2828951f7d5053eb8bc8185726fe0b08a4f44bbcd610237d6c6a15f3b3826a08e8ce8bfc80f6ad078c3695dec9439c32e659a7d49e83f8198d3f172c8876e313a8d791285714dd2d98be5d09cf2b3c982eccd888afa5365702e60b3264f18c646068d0a0b3f06ddcc5e0c40758665bf9a91fc6cac211a5f5671397d8ee8267063c5e6e61b0d027ae50861bed26009bdcc2851d9c66371fc20f3c837ff63e3b52486e9e6e4ae95dcc0918f9e77c2e17263a27fc975e9c12744dc466940a0dd817746342b32cad2e2c4403a59b89aae2a9039bde9c86a7b5ac98bb11e152085f53baaf2fafd9e0f6ac528b35cdf3c4202fd92ec568ad45641bb52b8fffb4656a71281ee258020bf1d0df2abb11801ef84d51ea8c5eb30211f798989a81b534050802ae0cd94fe0b7c486351612308ba468144da60a31365a2b5b8586dff4cd243940938d4746d1e0be2335880ed84cbb79b5b3eb9c22e1af39b0f1800caa9d692534f43cc9063a6b8fc4bb4c774bbf8e0e5c4274eb723695a1f7fb9df13f937e812127222ea761406324367a450a862556702aab95e3846587f5a4769a301f3177029c671c6303ce8e98bdeabe055896d677fe964389a0e694fc18d061389ee7ef5491fd5abcaedcb4cf6d922025ae5f52f48c678f19f34e39f95615252326b826bbea6292b5af8276e7d93e9435ea60e971823513a3579af3aa531abd57014dca2458868969112c589b8aaa688dbecbfd1e824de2f2bb8f5d9835afb5948c382049e006d3e94e1452d09a830b03320e335f500113e015a9632ecd205a902c983f5656fea8ef97ef2e3ec27bff25de939f9fab5ec221ea4042a1fe2d300d613aa6f01001c15de94745f47b95e663870a0bb7eabd1d679cc48635e315736f9616406da6dd9df4ed7c4f2e28cacddadb01519f6adb835574779b3450dfd414e56bf7c071d4285f5389310df8e8636a7e7c60cd17c353579119bd6a8db9e8d7eeb02474722da77a382325400a7fcd23f36e2d2a596316ce6a0c237b4087124404d6a4ca4397e878a083bee778edb6155a3a28478702a658aac7b00d8fd399f11d6c41c80380a027a28c0282a5741551703bd342847fad913406bff1c6562a23562d23ce4eda471cd6bffe8c5111e85f95666596461514ae93aa9a8f453c04b84798780acd16d891dbf979781fea49df13ad1e321083a0b8e1581155e3f8b3bf8dee1e4d08bfda394ede2fdb25f5219a38c74f7391966b3ac0d31e6a3469233e1ce09680b08768fb6e088dc515c9c1642c4b12350b09b989eb64322726dec0bf21c24a9b5095655acee97b74cb7a22a824f84d233c1f16f8564434af736f82846bfea3bbd3a706730c8ddbbffa1f5437b10762b0d1a445685928b2362d2321d27753672090f126971ce7a1a0283911ee0e5a2096ca886a5b99d48d3d603e46ec9ff6a232e09966a5d618ed0447878bc2c9c4a559e80fdc8cb4580dd184d92aad324c2a70e08b94166d71819362609f8e96b966930e00418c36160844f4360a47ed321f497766fd37b3307e42771f2aaf50f38a21d0fdaf62feb34642cd47b6e58eef9f952fb46a53cac5d342cf976292c1fd59591057a98e3453b8f6cdef3d6a64074af60786afe7e1e4193df609bf56fa1193e2653d6d6b15f895968d6ee89720234346c4bb5c77a4067238ee9086f6515cab14a72667f53b795588b3645af373fedf46a19106713e933cdc08506070654f4b49f72414fb0566bedfe3fd59810e30c61c1ad74f77bb59a7b946671e76504ea64dd07eb44e8d4c9a9a0a1fbc472ac0a4ce4d222e07c5a2b0bce92a34ede0b0d6e95b331be1b7f21f9d9e3bfd76b2acccd665479314927572cde2ceae54b36fe1c003a38476d504ece5f5da1a4bce8c58b350cce7e693ae74d67e265a16abdad197ea553e6c393cfce8a838263213ecdf5048bca6029fc1fdf6d133b705e46091f6ee7e20e3fe2206740caeebc94302f102085a9fd910dbedabaeb5b931999ab73c57d4862f0d8d5cfb415f10f0b39c88215d6d68bca91371f05fd458f567f5106c289477237c6d4ad61d3d142347148f8a44be50a26598e19fc4d670684a7dc933389954586f13a2ca3fe631274f745eea9937394f399c59c0478b485ca79ddaa08df93494abd72aea89e14b8b378ffff2129a179248c4d5753d1f3217df8575a90b55e1d3b710eb7ccfdd56a144db5a2a268aa151d55d7552892fd0e734a16c601a3193c4ce744974ce634757b965bbc0f6d3332dab5a42396eb6e3fc08a1e0fd38aec3e13d5ee09fc687613cacd7ba2b5c63427d75a4311b19b13057d2f75bc010fed7d8ae3b220641ccdd05075d9737655cc387ee358b68dbbef3501e2a49de53dce1a82f2907143e4311f431267eae2ba1096bce61fd7d0aaf2d34eec71972781c79cdb199f3d880ddff257d3314f760cd7690de807b136d048e8cfc1f21d97f777c215509b402af07c12f9f7ee216238920439ebea2867d63369cdbeee038f0f1995cff72ef7d71f25006b231c5bbc861fdd636ebc6d735e0a022c19edf9832a4baefdf97708f457d1558c6ff8bdd7f0a5abb0a059a635772679767a040fa45082529a2b4d021032549a83e7af2239cc61a5b850b8e2a92dde3c6e07822f27c5ad5c51522e5653168c3e090e0a2cfb4087738a193554713e99d4ae998bbbda813f2ea84b0a3c0a16bbdc2df61d324e2339eff726444059329beb60c4174ac3c91c4f6891e2da6c6bee4b6869f2db5edab24b062186bae0c370308ffdf733ba4127fc3f11fc3e10bdfa2bc8b73c15ac2031f8120fe9aad409ecae1aedc779bd1c22a9f5f6f4bda0695b1f24172ca97bb7f1c7df9639a5940e9c75626e50dea1e20b6ce73a30b2ab35bc0bfa4a4a20814a015fa6496114158fd1f47e88e3aa8044cbc556187d6544b8ba7d174066054a20967ac8031344a63b7e6e3fa03c81c704c7f2dbd72a8bb17b592e7ff3ee3cc82b97f180dee8a43265339277412b1976c7dd6e3e2a85876e9765db77b74e0f2eb1a365df5bc4dd3bd8608a876cd25c14153e30761428037f53e41aeba7b21919dd192e1d2234021762ea0a57d4a2d41ae1dd9859ac37618fc53b2aebb15b079130f3af33005f1365e96d373d8c52dc112fe0b92431de36b7fd6841d69afef9d94f669183ba08fc77894fa8e95583b9381027ec7053aa7028872b2c88e9300ed4f57893d3ce97a5e6f33b0d9b115a3b92feb049096aa4ee453d218f34e26b67ef06cfddc21d8fcad0c280085d19b754964884cde0cf5c82685285bfc3c9247d6b2486998c7884928563912aec2592e44c484ec16d1149ccd9986f7afa2a38005202ef43db83ebb71cec900ac5ffb2276367bf69c9bf059afc15806416109d4cecc58f843fdaa07ef5e40a51ebe65001e699f04b0a6694db9cfda2d0ad1f4ead4e8055dd8a995150f9a2b0e87dac3ecf9c64bc119277f9bc5b26c406dae3a9cb67bab51cd8e4bc85059a4c92420208399876c98f01c1976cc9b5dad81ff1521051e1bc2d781a0498d9b9279e7baa66d47b4c39265bb3338bb9d2b005c8bb52747bd2003850e68bbc519572b12a62f59c270805a2b1eaecd007f5638a32c13066d6c29239af251513e23767cf16b529b2ca2c1149c9f1d37c7cd428a537bcb6bb77405a4a7529f0ddc5c6f20e719d1963b3102e7f6dd570b22281b180b42950dd988a55f21c7cad11270e441b205bb92de0d37f7cbf589ef93504679501d49a5c2ea0167f7716849116c8df351c33f6993997d701fe986a89bd251b52c7774ec115ce34daca40f36d81c1258b1b4ee478d1aceae1e7ae1097138620c22eeccbb5ce4776367e261c032528783d0278104a705ef376d19f91c9ebef3142f962d77e19e742eea9b1ac98c41d4ffa59d5cad59cd0f99125fe350767eb4dac0f8e47a831d97d86834d2ea1d30f1a4252e766b3fa4f7880280b8d77e1cd402999d468f528ddc71a1376c91ae339c8cd8d6967f18ec68b7cd3cf0b3e62ff25c40e54e2295cef8ce6900716068f4a50e03cb2397586110a998811a2015e82dda56a267fc02fa5ffbe8c3305f0176c02a12c887296c523c4f4e9845505debb5f7ffce83aaeec82c5668e9065d352f256aa195e2fae8e8d25cdcdfae4176a5fcc352b3442693e84c641cc953d53c993ffcc4daf2b197cd26b1b1f655c7b68d3a5ecfc180ec566c9fa60f099b82283adacb4c5c40ef2f403c16a4ea3054e2306bac283d86cd6ade6c015f8ffa6f8805243fe4c93b9a6a616a1d04f19983133199434c03ca4a6592ff378daf927259b7221d479e560d47c6f6472b3cdb994d00ec3679abf31a0495f2b4ca957c19de09d7ae0117dcc3a8a1cc11e3577d2297fb896a949f8d0e22ca31f654951498e2c41f294f9d65d37eacfcbadee58861197c6228eded2b922eb6e77508f5c52918a1ae0740b11dbed0d8630d77d832d99259371439ad99490446b47790d2e76fc2187c4287e0dd4e016baccb5b2a9417e78da1a89dd698ea2680b255a7e58455270eb944d710ef3fae3e4bcadc394645ae91d48a67a3e193789f98b9482073aa8021f4e93a1587970ebb811f065f2faeae602f994998927ba71ba972ddcd06667bae9a9309744782033d3bdcc66d3ecb2fb5ba2cb550e999a1fc273803a57ed6f71a77b20bb09dd79de0c6733ad2cc2dfd211619c8a84bf4de1871fd549a89310900c1488c439599a8f38ece46ab968d64db714df912c2608da0b6a3385e27da2cf4ce188463ddc0225d6e0b2e9c3a5bd15cc9b66f5967c4feda569dac0c1b8a527780c26f6f8af4b95c32d881c1eb6d78a3c8ea708d64561421fbc20081ccecb7703bc35dff8b61704a3a62d1834e417f94c6026551930931b32b3e9116a10850d3a10801a830cf933d9fd4a881be0884758262d2c76f9c38ef03999247018a351be3c8ccb42a2819869af428e0053dc8e64e333f5570b1a04e5d2b6bd326d709c6f3d8a6bbd0647e37b0b386ff4c27aa344cac2ea82a3ed96355b85f2e2e2fa9de5c7d31e8b4e6b59e9f15adb1f36a47eed01ac253f2f72ed95bfb202b8d25606864bd8d43ada50342da9f720e3958f90320185854726f08be31b7c301a5236821d9a27d5de92ad42be5699f11074a0deedf761362e27915fe9f5fe78e5053b19be863541477a2dc28234b36a5ada0d1af6f362a6a442bc3867ba5982b8d11f6e292514d4331158621fe0098a5e3955ff403389c87ea002722c20d0360ba4ac426e548994ec6507bfcb70e5947a831a0b20e361b09138e4650858df06a250e428e9f557d05f426b741597d43fb6c9d4a7b01d0557c23d25daf95d6516b358dd24f5cd40352637ac2e57a5caa617e2452d043ba922170a5221a407e20da13c8411bca4577833458f58f003e5b11d5369c628b98d293fe0f681d369e637f5cc555dff2c30b2bc1981553800ef7a810e437c13812835093a995b69b130bed793e499cae0e34163c39a11bb26c96180211fd93edb1eddf25bce74220d793dc18a58f7f64ee184b23639938d14363e2374cf9d38684ba3062fadc7569310aff60181e14fe852b1a2202798a6367a4d8e80ab5ac9b76eef9c6528071e7b0f7733970d6a254a070d5ad1fa36de9910817e500914d75f9fca5a35ffbef84eb677a8bf7ef085456b63425afaa947f041b75d30aa7debe52094d54562bad21f9d0f2a1735bbe12b11acfe262658320063f16d82f4c8a92573a5dc076ba0e74279de5e6ec835664e35473776398421aff638163eca7835f1b9fc8171273db72bfbebe2e9b3daa5f4779ef76ae40bd1d676549bd2fe16a841a0082be5b9b6349216071f9fb2b526d6dce01c3af5dfaebbfac3f41904eddb72579a550eca0fea32a71c5be5a932cac4117a5a040c26e2fc7e2408356cba1c0f92db6661807d7ba2f520285eb68f7d4ee8692e68910d332dde53e401cd91b91e54649258869800252f54198366c3ae5d4de4d7fd80d6c25800b2345d0ca6d4e1d70b1ea2c4424ba96152de6c1c532756770482b04095ef92d52594c3b4600252b899875b5ca3ac388061cf278c2dce814f2e8997d86b45e296558e334ed0122837d496ddebc6056427a64d957e748ddf8234b3b3e572df8202609117de751e5add6341d9de312b858403927b5447721f8007ecabb34b0231823b62c165a3545aca861c8f022f4a5907638c58e7de52306904803158cd0bdd004ec3ef0222a10db3960971b8e29fa5cd0f8d98213d70d39ca23e5492ce924e6373e19c1082e107679d2eaf0d023e96b5494705620ffc00f821088f158de493d489245e1f74f90cb3f9223f3cabf20d26f24ff83c16e41c48f29fe0150fd5659d7c775f265c822d7ab000fced908431576f71464d9b371f5ed2056d1412ff3340530ea768f58b4cc13ec5f2083d8f876fb621ea7cbc2392f71d74e00901a8c92b5b30f5667585398c06948bb4236ad7ca12e0f272b6c043371dc4179a132884497a39cfed7ad5ad50ca0f90c585923dfd8eb90ea690a871cf926e9f5f3f424fd97cb501830e6cb0182c7e22a86f180a08e920aaf0891cd472e9a9ae6d85e26d80ef24ddba3685399f3e40ca8023996851645b8b5943181c68eb3e4f558728ccd59169deb007660082c94b1ec49b7adcd84d5aa94b80ffad0c220936d4f626fc2919ba14c9121250cc3f71b9a54bd97e4c6b7d2b709083ba31fe5c425007969d7437a79c6a6daad2605362e171160821aec0002e4738a4a6b5e2fe4f3d3527df5bf173e658e09faaf027db9e02dba4f592eef0cf5b588e40adc8f35b6ca07c52b8bb0938a05bf6b0ac8dcc09fa2685f92e98fe38ecfb172efae5595d0ab4e2ea1013124cd1e51ae2b9aab02c16bb9a408565b27ee7bf1e5fddc5b7c16623fab50f402288d8b5492845214e81ef5ff3156c0a8b86cfe972c2f31e4ba735eedc469a4b54ebce87749f6a397c634f94d770bf18650d513185bfa41871c7b11d9a4c148f752580fed962e212908ab746ae6a8970f8160d7ad5f7195afe3027ad712f13c0824d0988ecc992119b1e5643de7844f4e5e8ed9726cabe58485d335c170efc20d4a2c9deaf2d80818ecc6d19d6d0d807aa4fc361f0d784f50f3c383b49813bb7681eac1f1512afef3460574b87b9b27016e5f86f72fdb7182528dd94bde65496c89df2b2073a6de2750a658dea28e37270ebf606c0d0f9b5b61265ca7669a420e93fd568afa46878ec499d831e0f0f3dd6cb012a92c21fb111828086254d57d61457e7d3b27d61c83cbbef00af77e13f0d532f8128dcb62c4d0482d3495870c1fe3e4ac783a88798c4759a830905d795c48334d0007c3145924b4f46bf7a0ec20265d44359fa7471488d57d11397ca8f001d5a32436b8ae3c9ffee5faad2adeade266301f526252424e525c9a010799d7c21a207b2839583ebc287a8aaec78be1d31bf73911e4909498e8a0626f0489329d42d4d236e89411c5cd7ff0468d7a4e1b67f476305d1032ec527a30ef280833feecdb13e7996c9a5d4ac0ebb1ba68a07863a2ec4f1091eaef74d37888153305ed5d5fbf5f6f8a53c8289de8e965ea4784f34d0332973312c3e17c31753c7ce959ecd8b14d5296ec43ee3a1a6c567b63dc0c819678aeac041d40d6b380218ff3f0a36a867bf7a27b654e0f5bc830f6f5d69e1dcd5ea82b4ea46be3922314d29cc0a03c5cd3d2316df4fb904c93609a1052b85d7c9dd5261f37551b960a7c91e7c855bbefd197014f4316cbf40a98300fa0ae9b575a949047859e4f93c00504ca0458e26102665601fb6ab1bb94f0442405960b3f0a743fc4393469cba8de09f0cdd9406cdd43299e356cbee0bde1cadf0ea6893a366d4b3a701a0abb732168e0fb44c6e8367241511ae63277275cb1f40857fd6d70a2080155ea65cec0ce4b930b478cd57e135191dc2f85a1f0a47ae15e673571a6823788dcde3462c3f21a552f0c8845c3c4d9456f0f19e301e43720a061d47339f392666ba4cd1c646b840288c901cd8b1de47231626f38022865df647590c452f4c0dba46c2d96ad47ea5dbd26585a1448bae7efa2914613fef40ac1878788e7e9edc306012704b3b8be8321eef9a225588f9b33359d596e07874c02ac661356af94d761e2c11b155351650dde478921f75ef2510f8c13caa71340903d6f0f316610fd150512f125841b0b2bccf81b5ff9d42c010c937bfecf8467ef868ad6a25d606eb887691edfaba016e08cce0822986c82057c0968e195866f155f31adaa4e83ccab6d313ed44f13dd6628d59f185f20dbc09376e517a410f418d9144f8d75aba6c40cfb6f348e1f401b4a4ba8840cf586adc42e95c0be7dc0cdeecef4809a5c5190887cb3e00ba5921900b8180f2945a4abeeec31e43b7eb29555449e67852cd9fb24c409d5513e725ca35dba15dd4e26fd6f0e4585fc223d7320d9de0ba035f87937acd7fee50a9dbda772cf07d9946f24891de13a1b3000d386adcb0f6cb3609fa7726e1e768564a51c83386e889cee249c6a0956548eb81861a7e9984d3c5cdb0dda7d58a7449ac528cbe26d5edb44902c0ff26a4fc81d26929578328df5b26f995f8fa25be519149cdc20981252669332148e1f129b82b567990fa40de776b84d1e7b11c119d339ec1a1d713a096565198a2d892868d96e1ff4e1735ad30e2593f3c5bd04aacf6244ab5f1551c53faf4629615e3cf2099f0058732ba579422a9fe3214d2662548b6877146db3cab5122cdadb224202d2c78f61f4ea7764145556631d26511fd1b8cf4bbb0f1cae933c0b5ee274dbb1e2b0d9b2d125ceef298aaf46fb002cc969bd31ec542e16b8c982210ca94a5c92b8a8d15baaf9c21ec17db68098b0646c5e37ff142a578dc4622db18b25a99a41f79aa5cc4ae9f1e21472ac045f15d7f02681e734be0ddf5b509955467ca2d0dfa5c58d851681b6c71b33117c707f27a533e4f5f7ed4c7786dc3a7d69877beaa0661e72d02627d48c3f0b142a913f2e52acd213d1892d12e2ca71377a304e8581c6e86522e7aba43785dbf381e075e322867c105bd287c429752cc8384b1fc8494828ae6a971638341b9292aef5f820d3fa0ef3da3862532cc6472b6fd7a05d0504c748660f27273c4e4549aac77382cf2afd233bdf92afded8801507723ae5f4a94763773023b4b9b33ef9687636f742ee084276708d55c070910990d46d311fafc1e577f0715491f1fb7ab0d298a52a68a6a73f027a5638aa2560224c18c6626a34fc8b59693de517fcc8993190efe70bd4794bc77c1c94a23b3fd2e8cba5ab6514211b944764f268a66cd78b259a2486b2c8f7e42fa03543aab6d304b14e9c0c366479200d5bd50efe3422f28bf832de81c9f1e6059677d14a4ee9f6b94b64d6b39762b5abf8c57a387febb2b352a3449dde3f1417693753d4eb437ec889104a5a2e7be74f7135a15a11c9101012cb1043661e2a600d1233320bf6103b3773876cf209d310494836cdd107f862206a74b39f7e932e3ddc20d2858ffd63f042b574d580a8f58493ba29489687eb9071e8a09a7f77aee3c6ae0fae589e0322a6faeea85c13eaf2585ea8a24cb9f2ac08f3a1af808b53b9e34e0d7d714748427123e2dab5c1d2c880ab64f572d268af2972354ef88cac76af2fb54fd644a1fb6ea7d685a03285a2811b854ed191fb479a72ad6b5b5dc519c8661afa9493856dafc95f94c29afe2a9cc1ba94a35a83bfd881a6f883310cc2338540ba58aa51d9420300a139daa1055e998602fe2335eac0a1865f625ff052a6c74d2eb9239e4b5c4406b17429e597cd10c0b96df38088cd3b542e7765e633f34893c195e6dd7eebeb2cde4a856b9efd7c437196d66842d08b9ebfbfbb304634df2fe64db44d503afe01eecf76d9f7bff15d2471551b7eeb5d5ecf56b3152d66e4acb5c2aedadaed152450691f100d6a7054a0255dfd316a3cd0787e030098784ff942e92a74e2ed483893d429ff3d192a7d89abdaada8293903724a25e8a234f12ea2eef2b13e0349cb05e9f73987444d18051ca23099053a63ef6997fb4a620285662fee2669e2244211e173381801532d215684ec0d1e87fa410d3c6eceff7f1d5323c0bc96c01606e11f0f15c0a11f01a1dbab9716d6ad620b1a62ce0027012c9ee0de1eaeb0188c4e0f281864e0101c6b6e834c8286727a48ee939d3d13716e00f6426c48e896a0371ed5b67ed5c070abf500ac7f93ef91d3d562d0a75c2486a936bb744f98b3456a3e07cc2ebda40227d6dd2ec6ce1995010147be787527dd4fdc715c0dd30bd4c1b14c04ea0b355337cc206aae1875442c24648370b6c7b4f705aa2e0034e626e7316a6082f4ca78c2adcb102c46702830b9ab762d64b3643699f614aa872dace379e69ad8373b7bc74b3b1490309640c4f6c1816041ede271acd84241b0201a981bca17f3af44cb39dea5fd729f40e8aada60f5ce5ba6f1b95500ea1090c59d5bfa10eee2f5ba3124ffebf847c2bda5db46eb2b41cb43ce91f68cd38329b976b89467097ab0cec2cbcd2afd7ec417a02883e984f57b9f050a66f315004f686a956a4af1a6fbbd6aebf35b35e463cd21e049b0facaa858a50e6cca2642d8394f967d30a59fffe792a0542f52a917cd8ea58f1e73b20cc47f55f8823966b02fa0790f4615f463756bb35017dc366fef06b1cbca3f8782542a4026e78c9eb28aa8948f5741e7fd8c384e3f28e1b792645cf376f8809c8fe96a6330d2e1ffeb7e71b1efa7881db280cfe7f5b3f410288f5e7886cada7ae0edfb043388dc98fa1fa0892430e1d8ba43ec34b5cee57e400a8230639b1723ecafa63bbb228b3ff77ad1d339632ed1fe64ba4170a7a7700ef67e95ca0a87e5c65eeb848ca0ec85aa466783e08e24a84dbde7a4082a9ad63d03a5a70c2d1ebe16782b19b40f0e79996b8d29504711ae45d131a6565918c6218f345d2f16db461e92df041fae7750e4d4ebd8b2a279153dc7c9a3747009991b076ff163f1ba9c9bd91b222a0c9bf845bdb5f560618f11521eba479b4f4c50310bd0b698b1ffdf89551e44689e0f8e97835c93a83bbe50ddbbf0b4cbcfad42c19daa315ffd1f12ac4fe54b6907de0fbefae2913047e1327286175e780209ec62bf3a0a69368627d0952b53e59be6c565a1532c68281516804c5971164f93c6b76d414cd19dc5cb820c7d6e7867f4db3bbcacb0e5a8aeb95197fea909389b462d7c611ba26ed3d4bbd2dc59f2c94411f8c2ec25876f2a4984aa867e046ad9808876d7b86c5a057e2e17f4c3019136075f7873d0aae74a4100a8f505e4d815af38c2961e3972f3f0c3fffaf87504ff50e217c23a6a9bc9cbfb0bc464e5eb10f5bc6a84c980cdac2cc3889749b8ee3fa907fc01be36d7fcf62bd5f92cb118bddda50bc4e0b9f498df150d6dad4a2328acee132370f8229a2ad3847e4786d6b03dfd1ebbb579e0212d22fb6a527f7ec318301e70caeb4a91dbb6c323bc551c77dcb89af4468ab8c51e42e46ccf48167ade6d3995fab52ea5b0876e3cb676a60c822261a9de8baadd724cd0bf5a095ac03a576a29cd3456297e80c378c62874564ecaa5865798b459b6279bf2e83534228b1251c1873949f3aeb00aa1032401669a19fb6825d7f83e13051210a02845b12a98811b32e25b0d26fdb5d3b7885b6d94ed9d6c4c095f083806b92345972507068354fa318589875495333a55ed1aef76e3113a3316fe587221d9c2fb6fe1babdf8e112e1c9a993318edfa82a331383652483b5caaf8154a68096ef6e726731b6b5183df785bd505e647c60e663f82a82383f31fd154bed0107bea90c12dc8c544adefc5513c1d19a1b83d6a0d8659133d983fc8ff64138c145f46305020f514ae59e838ae4225fe31b23ccaf90df946dd1d44a9dc6662d2c9bb2ad0fbd1b3542c1e959c1b0cbf0eddc13befe09e863acde5484b77242c9d47e8d41201310f50d77986ed93223691fcba0ddeb5a29c1afeb3c4e24538da36f2533733218d73a5620e27f0e38c722b9dc8ee0419767beb62845be6cf3d38c8469fa13ad83251086518b2ea20b275e57cd5ad410613651ec8e92f76f9ff9258ea0b60f6fd2524101481f569410c081026d569f2e67e1993fcf1c350abc45a52036540a5fb94eab4f5fc46f7713a12b9c0c18aa7c95deec04ae2a56f827a95c642c153c310032ccc3624a3e243cae260298f0021066030d60e91f4b440fca810943dcdcd74d0a75883dab642ecd2902d7961ed004d83734495510caa3ae5a1219a2f0060d0b5665469eec134bddf91aa12109a80ec0fe11f845d5f6226aa42fa12d472eb3b0bc9d5667d635a8de790649cfc039ded2da9d8fa1d09cd461ff01b37d5dede24693f3f83474ce83e997acae5c76d67a25ba9958221acc48680052977589a7686f4f6bc8fab8d885d856c4d5876f1f1507ea3b705430a744fc8bf1faf579d38fbf53930f2e53a9a08408c0181bf96118bf7493a0c55cfe5aadb825c5fa99a3e6ed6f00cc8afaa00b3fdfad4ffa7e2aff88d6001647ad55959c63f8d046dd31404039f1472eb770f0b65cff8eb0afa55c7c44be574e0aa23069b765e4e91f67df3b8dcc46a8dc629ba3f1c282315ef1449226510f2f89ea24233e86c41b7203e64002192054e481c85015733aa897de0d60bd4a969006b6c46a74911afb2db0df6fd80fa6d114392500ef1c0b37ab1b33a7059898993d542c05beb99ed145af77be1a212276fc416263e56b10da3664c637d2154d739a5782d6cd0bcf2b1cffa49ffebf909bcc3bdf40f2c3dfff504277e4f82efdda5033432d801d64534f012d4aa4dc62350a1789ad9c5c1b53315858f694fe8b9290e59ff9bdff6cbb998235706e52505c15bb309ce2eea7ddc83b41eeb5f5c26ed8a976fac2b4f6e598d0cab6e05d5ed7fac4ba094a2f810ed2c7b1f7e20919410e0267d2aac0614f0e1e7259c34e68af88d78526d9688d08b475279526f4fc54a6e5de2c774a9b53c0d33e179d28d159855ea8f5cd5fc91c2895380e8be378ae2729a2e651d6e1617a53ef27ee284543812b2a6e00979a35ad4c65e3ea9ec14e338e60403a358584681ff29e486fb9f003716c63d33143f6a552b9314ca535c7ef4f82cb4cac305aaeb4be9c25121b628f2d3daf267112f90dec26bd89e68a78e3212d30949aa067a7faa840009b9088ae29aeed22a7de9fcd4529f0a68325354a578cd522e22999b12ce42cd24a0e11bd5224c4261e8ddb4f2805f1e5235c06c3dbd48187bb5fe9d98856a0360fa89e04e19b79bcbdb13753feb282756d9f49dbb577015b89e6e5f959db3cf87b1fddf62aa53bcdd69bb907dc32c92e8915b658f6131b00037719a470b82eb3da76d7a4247646feb65293ac22c566777a5ce16fded04b39e2f209c91246adb907ecc5f2ab9375cd5872834323d22bcfea95bbed0965841465b7ee8faaf88ba3618a433a3e80a43fb0097e861094005d9c085598714936fddcb2993a3d764564bde1fed641d3233e6add09675c85c7e2becc5e40d3dc8991e76de271bd5ceab29440aa3adf6a7763b08c2c3a88c2b6e7d69965414b9bb65e495b8348d5b3f870c7b9f216e3d8c6bcadf995f452b6ebd1d3c61733424381228ecf6ff4f8ea22829352579a68af0cfc26b3a0cd8ee5c86b87b7e5810eac4560438ef0a47c94da020df5b4d94a4b7d6ccfe005a0c4ce57495dc2f83ae8ddc0887e506cc1b80372157a7fd4c2aed5df4ec034aef4fbb6c1e5c7ec01275ab362a874ca9f51057a79c54a23a4b5f002929d982454ae1678fa966e8840e9bd61edc265dad092685afee310e56d56e4979a9d3f6b4925c1974a8975f72ff50ca10befe1c0e1b019def08dfb16db8353ddf71bfeba313b915c0c0df63f8651fb0cbd9c105a31cea19045ee6c6eab0afc3f5042b2d8fb7d9fc095c3eec35ae4f66c60f65bf1f3bc6822816c088c60d66a73680d686d02f3c1ae83c8a8a94baf04992bf8bb3ea3ed12ab5653555871fd42b9aaa1fc19d72a09fc529222d827ea48dca8c1086ea21e1b858da633fbae15395202ec50f30a402503857389db573256a3da297e40f27c5e805564e03037262adfbc2bf0e75924f35610662be7e6fce700d44165922dc68e35ece417c703dbd062ff927cbfd079ed111454aad3d565dd5a6d43a439fbf2650569e12e7ebf4a42ad617d863ddb4eceb74ec1849bcbaa8c5d704a4936068d65e62b998a2b11f55a5f15129ac5ca0756d4c2de43d6a75d6b27d32fd4b3256f32e2e797917d6595716d29d9204096973e9d5d2a8954d984e14e512e7e4242b21bb1eca6129db390151055e22557891696dd8ae1370570e39d29f813e86e93a1e4a461a924ccece0c43283d2598186a804d7789410c59af373662d144501d29518a532281789cc1a42d0207a87409a7e23c29a9f26be62124509e22fa0b25fe5f057b061fb2f98a9e7c9d917497d7d97a8e37894153e7ec2970a7a91db5d0d72f3e32888e1b9b4ace7977f27afd221539b73caafa10be4b672bc8badab606ad1b0d7082cf2a0d2b97c7097d072747ee89295b2aea8889eb5b92d9e37093e6f4d73d4edd235ed45c154a797fd6a6c1d0e01ec73ce7ed52576381882abfbdcb7e47182e3502151eb28f754a2f619f8ba73512cb9a98aa7ffd4a61c12fa4a311922da5d4f3d5b2494083be6d0d1b95c1a70015cd7bbb4a4703ed613dda05fe983626a4138bb0d09b7abe9d412733befcbc241a2acb8a1c1c5f8ab8588d275013c126b6084b7e5935e5e7ad0c32e8bb275b44c8148e893acd75c8c6ac56fc6a5f8f1ff6a041f3a4396d0e6abd773251e88c33cc6b035a75ea8258200cc34a077572e7e7396ff5f07ba608ea2da4c340c45a73b136e421ddfd8ca230048c4911e686667c09c79d86e6e0708f3bf06da3715050cbd598525e8409cc6e640ece48c3db94890fb173767dbbb7dc7b4b29a54c52067f070608140863a8b6fd38a66adb8f63e290fd1e63329d72f07a462e993834864e8dd9168cdc84981dde30b67d79a980bc879395c94f06d962b28813711f71d8ad4622f97168fb23c938058b48b97e1f185f72aaee1089a4ef3085345fce148b24949c829253502c56cece84140e11b1437a04278d7618c2378d1e41ada06ae35374cdf6974e87883d888847c421a74dde7267a24cce44999a88e810373dc3e44b0e0e1187425f3253cd30b3c33ac7d2330efa0fc14499acacbb62db7075adab546ef59b40b2976e34c21963052a6060c06e41ef36f34a5b81ca6b18d82bec23dba65dfa72fb950a3beee884546cd8da6f4feb0ee92737ed02fb6efa563fa91ff7d46460a2ea4aa31932fd2007c1e98179ff6ab69b1e12dff6c3d5f6a7f74e0f041c46dc6a5f3cf7f1ac12e7ce898058d2f2682b3c5f23851a3ac6b0d5dba6e5e37ba9fea0cd0a99fc3c8f6f777197256b56e3ef78748ced1ce9620cef68fa58ebac746fe7957674dc51ee68b93b0f8935e2922fd8316a4d08b6d444bce0dcf1e82b1f6341c6c8781fb75118bba363d6471deeb094bfa3e3ee76beec3c7e8cbb9db8cd6ddbb6cdaf4e58019d1d1d77c5bfa3f3c90f46ddb7220ee2afa1af7c6c471f46466132ac691bf174de91c9e923076d95373bee9d8e47c798f49018150193290c26244b497bbaab453951a515a9d533726998add55ea32fb746b94d7bb97d2ea326904811d9056ecfc8e502d29581b4c3e8699d5684d26dd4b4e32c2e7c4aa9cdd79573ca20a3484e0295d89d94ead077ea360a1c8342a93991e42451dda48dfda08e7c654aa50a0eba963207ad380883e5eca01b7d9916b84004fd61f345a586a7189cb034a5d0634c76c52a0ba4e00262cb70daa1c4e16a9de61fa9055250ba67e0fab51aa93208bd2006c11f3f83682416695e07dd47179a0806893f7607b2e5af4184d58a5d7689434d6607f27500098b2c25daa46e5a7a913dfc392dbf48d945269bb62b798f2e5d96fc3b216697d8238708fa1f40bee415d9f297cdd6154946cae64b86892d7f2517184a5d94942ed30e651bed8b83be836291ef2e4a4a4f1804520fc18271f48c4819e47efc1a92a85222ae8827f10ef0c78f7287c460c7d814df867c81b3e52f279692d352e98bb7fcf198ed0ffafbd3748d6535111daca67fb4456e893d361041af21b6fcbdcc5498ed8e031408958f1c74b9250ec999d3102c79fe902b39665105b54379c4be2ccfab2ae5fcc945d6aaebe34ae9b5b2ca2d7168e6926bc1e5c3e368609e19bf7d9f6afe4195e655e63c24388c7cf340c081c60485c0ab064f89047ff75787537ed3e19489bff3befbfbd3b39db5ffdb6adc17d68fc31cf7bfb96fcad4a67c0a84bb29303f07c3374d8711091dca38345dcabe71d0fefdfc0d10202e179083ff0ed6c7f341244242410edae860ce610a3b4c614f9be78a499cbc3d7eee353d914ca349a787c4933ca9aa2a84414131316d193a9a6d3f7434fbcc19079b640ffbde247b241187ec7b1271a8be0c631512679a0ed62f9cdf094e06272f154b8b2f8db6e8d4e447237d6d7f08b01a2e3b46a599626fb063549a375b9382c2acf75198bb4a499366f7ec188586cd36f2f381b6e37f403fcadd71ce9c39ff2254edad0da3f09833472a4c98ed5b794b7ed561360f49ce9bd6668b0a1d404044bc783b6251dce14ac251e3e141e3d1c26cfbeeeeeeee54e09a77ad5f6badb503ca1504ff9f0fecf703029def4c73cedfe69cf381627c7f8ba526b34f6145a2b8f7146dfbbd554ff9f9e0bf27db9fd29fa26d98519128fea110e56e0ee2d007e44e496dad94cd9ef189881d8c3524de4fd7f7adde5e73291eddf2d48f22377d24318a7f28449173b636853a7edcbd5bafc3dc6b7fb9ab6d57fb2d5a1efadafd78ad26e709700c9df8db97f4a513298e69f4a2c8394f7ca4b86cdf2fcaca3ee18943f39dcc2bedbdf5ea907e95e2eefe3da9f5b3ba49caa4b59e917bf50779c7b7f6de6bdfdf685a29745ba964b5146d57baab8e5660f92c27727fb962fe4749f6192e40f10b97181c3f06b9163d23267896ed0f43b38352b8da92c8831d64118c3bcc55b115b70762a8be507e1de8ab1ddd4590956491e5eb28afe0a93521c9b64fb9031121407520458eb5d69a45100d1491a1a38a10bc88d17ea14462cf9fd35a6bed17fe9c737a15af12bf3b95eb7b6cf259391b70dc734e1c3bfbd3ce69ed3f9976e2a076beb1d35a6bb7e944d63fb4d65260eef94fec47ef704c2db95dbf7e51e41c21ab45c11fe3d0f6d4258d51ba38a45771a8be7fda47f5cff6e54dc5da11ccd7a6fbe693fb4d8ab5f6b927db6b9bbbdbcf297f820536673fc44f719c38b2a8789ed7692fd6fd9cd2bdeebb0f55d8d83b4f7762c836ee34198e8a1bad96e2dadb0f21b4e928775f589316333bbed0192176fc3a67fc1a27c6a61b6568a7d11a3e383b9026576b9dd35a3bedc4f3c6bff15e6badad335621a6b5364e6b896491ed6bbfc538ad9dd6ce38a3a6d16bffb365adb5d65a3badb5b67630b0a9b5d6586bddb46ec698840736b0b1d6da5a6badd5c16ae38abafc9b67fcba9fad7bddfd4a6bada5d7da5a35252259e4f8da9c73de686ba5547a51298d9f0561327d5a6bad95525b2ba54bd37dda19e79c73ce3967b575ce39e73d2168cbbfd2da18d27dc3ceb1b0f652cac9628c72cf1806073ec837583872fc00e9d8c1e3f56741d005186460810e551387ece31fdd4c9aaff9e42dfb9a96338bf53f93b6fd9f1fffe3e3eef1786ae1c08e5e01b468d99a8e2e983182121d1388c0828200198910728449926b00c1852c03a8ad1da3b26cb1b50f8c1cbd96656967e9a263c7a82c568e58b085911f258ae020e3818d1a621ab0b283a48c90d61071a3d4c16ac72824208608f9d9310a2929c8a782a2a02838b84104cc07cc0bcb8ce88d1c0740d302004225b5c0864c917c78477c539915efa3b2e9e460dc4974dc20e8b807a0e3fe40c77da4e3fea17d23d1711fd1711bd17117d1717ba0e38ee9b849d031b675dc463a6e223aee0e74dc4374dc7117e9b839d071c374dc2f1d37918e5b003a6e203afe682994841edaf701748c4da7e9e444f27e7ae8714cc0472f8a913009f823726f7a83c75e0034f72e1d2601ef2301f349fbf1610ec0872c1fae0fc11dfad4b6bf004d15a0ad90f929e19994f0573e8680c7fef578239f4ff345ad78cb3e973007e00b59f67d7ce18fd9f65d5f084efbdaf7b4edeef151331b682a13c190de433a4d023445f2d6efe86d54e64cf0d821a443032000fcb472803832606170e382333682cef86c2cb1f75930c5b7fab4fe1e1eef69e7a1ada8c1b323ebd801d2f9f92901014f24088ff3ad691f95d11925414717c0f685f4862ee6388371702c8ae4e0266d34693e77f5512b367ade47653d1fb5526be41a7a95290f106be6cf3ae87d4708943a0fc4c5456999f28dbbced3be3998105a250e59591cb29f86cad23879dc13533ba46d3a4dd3345f7233f63b8d8a083e8037181ba156b4dfde0a7e8e7ed574880b311cc39a8e31205906a7af7c2ce38843feef02f0df7490833929765939af58f45649a958b733dc4b29a557d65a6b6501d55a6bf5ea5f5d9f0ec982460a818fa986372d308739cecb46a9d0e67ec8f48dbc494bd3de3c2368a66612478d11fbfef6b92428042ac9a9050adabe5f4b49d47d7ff088b6a56e510a1afd90bf05fe07597aa3d47cd92191dadd6bdd4b83e70fc192956861a912b79b33d2a79e7daa99c4995f3d243ddb39ef88d75f69d6ba07028e6d3fd71a893dfd9520037dd23735cd8970822a40037278628d66efd52e1238165d26ba450e55bbfe080dc8612ab6e2bed26312876ab6d26aaf6d12a381252409d0400f94499cab4d6b29d50955b8da9d68b08c42dfd09429dfc8e9c889687cffa168bf0f48eea39e7ddf1f7681f2ca28693b1a3c99985173ad5a96ee376049570e3a8f103272086edfe0fd21b22c5994881cda9adc2e2885eee934090a0aaa6a493bc6ef8c442a25953d8f60e91d5941fbfb337e17e90e678881ed9489a92d89849193c5bebfa5c7248e7b4ce2502671e81bf9dcd3631287bed3c7b47a4ce2c4914369c7598ed3383aaf4e2865df0fc83bd2e1675ac9cb0115556eca201afeb64d6b396da3dadd978a524d2d91a41d2571b25a5aeb49efea9e4e4ca82f8cd957df8d6b174217b989094e1e108b649493d30ee39c8de5252c00aa564e7e464b793ee6942c79e2b8bbef7df9f2deaeabf7eab9b37735942f30219e11171023a050085af90d41caf3afbedcedeebc529fe0a01769575b33b5714aa29c64db492cf2b6d77bebac757a48ecbe9f0965f2bcd6030147d1b5c183a5a00bf6f2eaaa4f30413f89e004b04ced9bb3fd0427460e9ae0a4a9ba91094e62935111cb74f32a9f608293a92bc5acd2cb699bd7fd8ece6f50b5b575831bc8d7111772c5f8013a6eda3eb64abe01da8e8e4b414121cad9fe5349039a3c2959d2d56a469acb7216104bcafa150bf9807caf762fb769b67e51aa010e88a0ff11a303c81340a009ccc1091372cb10b3431983a675da031c748fb4014da2d4cc7b6249f317f7f1857807dbef003170b134bdddb08d9a9a9a88083165555888a0c48203540d4f3138c960b22a32184c0819553b9465ac549149995c3a73259571b2dc06bd045d13d1c1880b8810979122428418d52a279b5799fa1b2992e69271a962119662e28bc55a62c5f8b24b0c92e3e3cb1c22118e30b188155fb0d9b27206ab1283d8f8f8928528b1c4a29594553989af1266cb4a41551dc5570a0e881088453c1fbf013148cfc7df3148fef81e4424b148e73f49c720dec7b720127545db8c45926565952741414155554958529227a560ad5779d58d37726d72206a9aa669548ad6d0f4c9c941dae453587be7577a0a6b77afa3a7b0768de7d153585be7373d85b57934cdde278a4424da894537de3e6cbee68429d1252251e7148b70bc7d0a4524d219412c61be66d34c61bea6d4532c62bd7d0a158b7c9e95f39c50bbaa8a6e118978de52d9948a45abb72f99e68bca9264494c4c548949cb42e3c6556e6c7de33b37d630176c76ddf8620e0cc6607007067b60b04e8777baaaa7d27cd927bb145bd6ce62cbfe93d293d293d252d352d352d38eb3291567536a4665f355a962cbd6a7789fe6cb52c5967d968c95b3a665fbdf53c563c7043bb8c04247e4895e148979b41c3776a8a8a8a85c1de0f17f5c838796db068eeee9e9e9a906f5a2f470dd0e2d770f4b67696969a9c7ee78bcd2a1e5ce3e35ecccceecccce569a17c50748cbedad78a8a8a8a8c6f8705e94aefbd1720fd9d7fa2e3d6dcffa306ff5697fdfe645d17cbc2872ff3c8ef76e8943585f2e7776bdc8d78c7d9e3177e98ea9f175dc3ce2fe1933a62eeda56a66d330d677c941fb930311b43f9364d57cdd5995ac925549f365a934aaa4bab4c4b4c4c4b255d3720e1c2c4a355bb1487bfb128a9573d59650120acad501b7e1b3bab33bbbb39b347b6af0582a4b65a96c15cd3b3a4b4b4b4cd5ebb63aabb33aab49f692893dec5f7dcbc40b441cb2d78cb7ecdbcb867503ab11f850dcc3c3dbf07ac4b831a5f7693ff37dc4203876bc233b5b5b228730cd0aac7ba79ac360b02798934bceb44f9b422c9e9e313868cfca0ccd317d5662347975f3e746cf9a07d42e671cc29a749f91b6592b31b9f39842399bcd58b32575e45859b1a302d17042a52e10477cc12291f8f2de777608934a71c8fbe42c071f3188ecb2c33bb2b3e5ec4d0e612e6fc9ef605dd77d2aac10dba870eea38df449abfdb82a73a50f10da5c3981b7ba812ee78ab9eb81eda9cb1dcb158b84c42127e2ef230619127b784776b6508f1ca1dd695aceb2be3f2bcf0f7450be4e13a68f9f4c117e9e4cf1fda47e4fe64bcd8942147ccfefe703f9df14df4ffc3b4d881a5f38a989ad2024cc1b3431fa2ae858416c051f3331fa91991f7f6a01f3247d4e1d2a651bd71c5678e114a32e60e1430719c444a1008ca813246d9f1e46cf0ef6b6dc2e27f2b67cc925994cf6426ce5428cbe7c492693c510930fcad7e88ecf45062a175962ab72b165a7f68c1157105b3b530c8013c6dd136f2c622b6e67001ca9eadea652e59401c7f9526196c009a80fc45458c135040c69c4e8af304d90446caa70a5c6e847c67f851b04e7bb751cc7719c0b79c5711cc7718f35f757e3e724982aa7f562c69b7dbb303abfe930489a1725de5f2b633a1a9c2d4ac41d41c6bc126c8ccd80b3b523d3b3e20368b8f474422a1bb4737b4054c33a0ed9ef4d666950c8412232cbc12aa51db7a6adf71c7642c34a558c414666624d66620d92038c119577ac628c2d367ecc454f275461cd9a279040f084182516c6ace7f99f08c607e289442c07edf69c26bb1f2ed884ddfbb8d2aeebbaee27128110414b74e4b6e374189e4ee227dcdb08726f1f8acdcf4366e741983b8c53474ee42482f6ed2b992f28543e35112f48e6c658e79f1e922c373376f48ecc4d22e94899b46244760366caa3367e89b7f749a42673cb8c52bbc903bafb3c3cff83cbb66fdfe544724b04ad482ddbcebd7d722683028a836e25920bc03ede3823321407a594516d0b0505ec04d40e250e1e4b093b4f06f0d5f1344dd33417ac90c13bafb3f358763ade9c8db8640d762cc1175cb616633f4c76defb253a9f7ffb96ecec7c2eed4959e2bdcea7c24b2fcfac19d1f0122fceed1865e5cbb6a0cad108714872d7884b6e325bf675f4f629292397a06917eb78ade8c2666f8fb91dade8d2b4b9bd7d253868952c391a21090ee3bd8eded179a48f798fa387bf908af7a940667b1dcbbda6e9bcb77da19218f3585b04bd7df0eded35bd5d4ddfc7db5782fc942c61221f39e8191941491cb2474934cc4667cd11451ce1468c336ec430538413938cf702ade49412ca3b22231478b5a313595d8176e71d702becf22fa862ab89e8b0b18c1b7b67a7d861d402df4b35902027a248aaf4f0e2db6ccde7d8b81c9c4f44880c3a783d233e3c571c6201112922830efa981314d266addafdaaeb6a6bb64a0f303127a5d4c17075e715a24a59ab94b5b2c1b7ce7befbdf5e5acdaa197d9fe92de5a3fa8ca9e1dc8a17a6a29be3d319965a5ac52da2594f22a4fed50e270ebad3a48e8090bad77cecf352687402e9b7755b24b4b40cd12e4a075da7592d3abb75e3befcf2fac3f640620205a8184e6fc401e72b8022f08e4afd8b462d57bab1d42b684981dc6392e4dcb99c5fa07c10ecae8e1caaa8290b5e639a776286398775a9d41064feb7c79f3f77c8fd3a16bb65c5fa8804dbfd08244b004055d1ae4dabe255ef2ae3abc6087ae0bf695b5ca2b86139499595e65a61dca188284720641970b060389b0101414641465eeda258740dbf3a63acc3b74c98480fededa45eade2b6687518b3b6fd00739d13f8b95f309e0beff2304715d05f098f6d11b41c6b40f9c2d1068ac2865a7bcca5ba753d20e639b59bffef4286beaf7a77902ad20472ccc7042f2ee410e92c961a6417bb3fc159b3eaf66add40b8e936293e64988d3b61f0271fba1d02681c9c75f52c27c2dc0c68d4e6727f3d4e859f9b070e400d2b12300fa63d012061f33f8087e6c7d04c0470d84bea1cde5e3f2f827b260830328e0b14ff9944ff9944f792e70fa7bdfd5a808f5f146ee15ff4c4dcb99c57a264dfbc6cfc3bbbe718cf1d3db63ea69b93b8ddfb5dc1a90f7c0e868fcd453e2a000b4dc9b00381b33fc9548cbcd1161301abf95fbd581e1d1f82f4ccbddc13c3035347e4dcbed71a0d3a3f16f5e0a455a6e9da29d9f248d9ff3a4cc4a909d20198c8fc68f8568b9b3109e15105c6743e3bf3144cb4d0489cc33a406988ea5f17b1d68b96b74d0030687c6afe3c9a41b88f41059795d0e8d7fc7934a5f8c564660381da6842781843f00091fd2c74af8e86cb6b0a6db67dbb0d1e1dc294053263429662376030799dc0169fc353c29668c07373c60fd28c1d3e9d0f87b3cb964a6887d56111c35ba1d1affca934c678ce030924387959e2e001abf8f279bd21cb19fe3c80f0f8da132904fa735fe1b9e74926c900021f1f9219fa6f8a1e3d6b1c47f48efe596de12fc0678a369e40610e1070652f343478a1b5d90c68fc39350591cd9df71c483d55da0f1e7f0a4d49b0fa4b67d1e1fbc9705478781c6ffe3c929300660ff07a0730d39ba0c347e204f5291018206e1cb11e6a703357e1d9eac9272927c492cc84800752d8d7f87e7322b21d8b720842016143a3a0068fc3c3c47d2428020025cb0a3d340e37fcf675c44b07f810818f0e884347eed79d20d4a305092c1779fc6ff79aef4a588acd9cf608456b7e9cea5f1fbd014e9a3b226720b4c0bccd70d69fc419e8b19a3c6c56cfb2d0f47230740d743bb05dd061acfa79fd7b49c59ac9f0fffe743d089109135d0c01beabc2c526c2c3b1f2fbd28465cafa5ccc619547bb58dc39da7b393796af4ac7c6c0421ebdfca9e2aeef4c112ee6840b4bae2c0f616649d6f46ca0e64fbecb526399333a51c665de4cc47090683650b449c8ad2a4c9097228959cd868728afabd72a8adf62b959c9bf972062141ca9be688661914f217f71d15392a92646e5f2733064ce438c514182768f9e0d5fff204bdfd7da4010bb5c8850a6e68410e1c2a1762a062440f567c0063cc1b297288c9f79186465f529943b02f280921917f87ffa04b3e4c3e6d55dcfb39d28ff57e50ff7edaae3546d1cf3b46ad00043b46a2b841276ca0fa010d1071c270b00216322003982f57441193f208303660e6871932805445c6220b375c7430a20c2f31f94671580fc6eea8891b80a8c959cb5a56e3050a3153f030431635314a573e448e5b621863ba587238526424894135672a26c348412c7e0e235399bb5090a96cfbcf336820a3148bc1869874144001242a87ddcb0a99fbfe9d1b2c553b46c5914ab3a31b2c6636961e1237486676d86dea0669cc7629750886e0a631c69f5f48ff7e95649af6bc1a0dc37d2b80b1ed2323e9900efe2b173d8363101013e4f8465542715bf125cb2425999a9898dce74a767272c2d28607c48ca17211c9303a85d1c9c3e8e459dcb0bbb95a81577d44a01394c1ea82d55dad92562098c45bf2a7c8e20d183b5b0f9b70a5b37d168be64a47060180ec21df05840dd2141bafb848492639158be64a060180ec8179bc9e2d72289998989898986aecd880a187270b9fb4158756b0202007a0b75638e450326d2b8e148be89193532b0e49284e4e4b3ce0ac9470104c2ba8062a9431a4a234a14d40e004143425936cb2aba56bed991c4a2525292525a52881a4e404b9fcd9228fd49410b1704ac091b7e4d1529ec9e760fafc9043a93426cd19334a4ab4272987126abff157742b2ec7c9d80ed5d3c69f9c9c8e8edc8c949f9ba13e8b433d44e4303acdfcc8e90a81f538c160306d46a7f2334e1446a7eae0566deeea4fb93283c5e23c69e6b33835bb9f93d99acd1714a4d914ee7c3290439f39d3cc673ef39903d15e4b2d9b7e528b1119d989c73c2a47515d9e08b85972306e9f6dff9913f996c6969fcbc93d3ba2b9b2c3367223773235353525e4aadc46a74bedda88e3907c6ffa27b74143ce99f594fab49043b924c789e6ffb358396b5a9c3949091433d5a4894f1a397499cb9cc57277216fc99732214c699adcc9c8c11959142f4928fa49a6a5a5a515991c46a92653eaeb07f5027b3edde0934e0f58c6317e484931a44890c328f50e933e62b80595d80f748160cf540ea594bc41538249b158ffd28cbfdedd272ba4c2c989c29c73d24929a59446d5508343d57cfaf652fbb1562ab12bdf6a11882599c0bacd34a4b4681ab351a8d5ab5e50a0802808bb8d420a50a8a4ced0a6a5281b5848010ad058ad99420631365045cb0d313f13c5c1d0850e0c655826608863cf10c1194d9b0d3b90204c0b699cf1c217529461f342176598a8d265e6107586d2191de836c579b266508c25f1d6dc9cfbad56eed394e8ec6923ca56b863cfb756b6e67f9225de599e0844552599bf64fe02e22b005240b185062d5e4a802536ff01f145a50b14120f5878c08729bac4e6d71f5e9088664f1a6ab06d2671e687918d06b1a88630145f0488adf93870d4a8b1430db8adc19e24c8da0eb5fa2589432ac850e6a7105f15e88206199ee00c3193139b2f65f1a59d99210d16739488a24c6c86d0e607169edac809c28cd87c8f56092c05056d6b53b41d3f2928e4ed71487e943da46f5aa9d3df34e931da1b63d4ec6f97e5a004fae8df17397e7cb9c969028d6a1a0d614d0e57ac550659ae87b9bbb3b41daef6cc96528d52ed0bda5429ad43d400cd2984bafb17ceb9aa4074fed75875530a82b6dc7827ce386590134dad2a8dfc82f00653e490b581f69c2f96102034e88b415bdbb8a0cd7df1b5699fdf2fc6963b5110d13b18e492a24eadc0d3a3a4ee8eb98d6b47b78d6d57b58d6f67e35fbbf1d6697563aedbe8c6b8e3e6c65d873bcf3b323f464f675616e210a55aad41cf8ada6c512aee4c8827386085862d3e2011f32b526c710517455c9182219e98d28037f54417686029c4e5847123474cded18d9c1af6b6a31b393b5c818017b490798088268668822283171892ca48c3cb182a4a2438838a32be100287207a76d0e2841a1bc6c049023b81d9bc185ba668f38113989153436c0917443c413573e2c28b987bd92e850ca3ccf6d010dad14d991d76d602003bbaf161ced60903831dddf42066e31da3aaa6b8b5d22b65507c01f38408c4a8e90137c1854a4145d28bc6fc07251ebea0028b0dc880e66ab66aa17466f3ec1875461638f3ba3b5d75f65677f3050eb8a31b1fac40819ce906696b98c825c0da4ffce7bb8caa6a0a4aeaa9c98949cc92cb5992449a2d4f41ca58f3f52334c153d32fc00773e074e15403116138c5e847af0018f880268a188ca8b20315b1fa1dcd96bf92d99ac00c412811431469cc983531668a0628809002cc2c16b368c10b151a2be02289879801ce949962d3c689a52d62de840f505100214787a5580b5488804b1b27e6a4698a39137889ed6fe444d8294ef500e5450ace960d8811f357325f4dd038c115562481c18129b666dff022044bb4c141862b90620a08419a38694841c5154cc4b0129b8a0d58d8688085373f6cc11233b2039a292aa8de303182989a232c68c143104a64f9218a98ab80a50517a8988186345d38114e335f116a8b21ceb820440ab00411a362831059a4c08b24c600a34bcc319aed45dacc31f3421857fc9044cc51e840952b59b68ce1d22696c47c4529c07071451732386901022a57ac5451060c2b60018d31883012dba98840873636fcb0e588325962eea4072bbeb88183051c28628e9b76dec8d08c80b26e2c3e02cb1b6d092c60ecf809030a2caac872450b214e1801530d3c7041060d56b6d8bea9f84003172aa0e002461160c43af8001209a49c9002ca86981b116546177b6e2a1e60c28c2a39c0d0c20e1b8845264a608309dc1871e58536317f9813e122b637713b469961c5b6b163941948b8913e69b557dbb80e779ece4ef6d1614a24280f9dab365a8d5bbfe449edaf9e27fc9d0f419dd5177bbe386b7c1acfe7cadfef7c55bf50cf95adb69fbba824adb834310a95211a00000280006315000028100c87844291482c5084b9b90714800f70924272509b4ac3b1208771180541c8106308210600628021c60c15510d00a606ed336344447eeb9042df00a8281fc29e618812ae1f4fb8bc19f566477cfc9f15e8ecb1b562e4af3c4053846efca2047df5e4db44105750783e1ffbbdaf10ed818e423f3f59a38ab2748a5c1d98bf743f331d78a5be39858e18329cc3cd9dc8899f205a69fe34b67ca71f74720766c5903c5dc0cba7add43b49802726a50de7350c50450283ecb6b38bb70baf73979982ae99c26d8cc7f8544a4a759825ba70101a512c5b8bf7f6cb6645646e4862fa655464a8ad88ac5f85e45517290a1e01304dd3ab71a863015ab4a042624db79aef29d1708f1ea0e46d00dfc4caa1803674e227ae3e0277dc2cf5d0496e237e13194380a2894ef10d16a98ea718a4b46328157a98ed072f79c0a0ce1b415cf180de0391d018e662b1eee2dd3426b13a47d57eb26ebc0624b3ea4a7661acab187b0546234755be817456c29e4cc78bc7a219edf1eebb95d95f2ada2e72c485871a3206c7291d679df8728c60708b7a373ced78df77f4cfb37c75db06993c65febaa069ad6bb7226ec949d696c8b6d29fb8e01282a843ee62688077cd16a2ce0542ddcc142035c4a3bdaf9032a0c0f66e44ec536d7e1f6066fc7a3745453b0387014d59bf20791e6f3de00d31d5f473f4f47fdac2dd2b8ca9eff854b15e8ab8280cef0d29df3924b664481ba7fcf21560165012a0d07fb4425f876e183453a21d56056dbd3db4fc78cb034643744dfb99134d0c4b58d32645befe8e140f7a3be0f0d60efebae316919b324dc37774ca4232d1fca8f758232e1a6862ea1f95ddd6dbc99c8d13da4a862ed0c1cbaafa5ad464dd6c2bbe8818e0626d2a4607fd2a0368f5a4a560e18895c514a298a4b954d16b9f4ffcdf990b4095cf327b2db2b500eeeee0167e4cf84bb312f9cff0d8e4faf83a889ac66052729b7d949f4853c8116e335d1bd811b792c8124c6d9adcb8ce1a9d7a2d9237cfc5268c79c70d03924e2d2c326b5c70b0882d3d5dc416cdfa53ad18b115984c8ddb0bf57702d3e98ccfb6ad4ed306fc51349de0a7b2b95d96f314946a979174348220a0b0a0598291215ed6a3f1b049c1d269ca00fb8b22c468668442b7dd5960a876681482209d73278e3066679ffc6d99d4999a5cb7ae20f92c85344598b1e6307b147a1160e8c3e2824052630a6ad6bdac0cc9fc2668f77c3531f8e2f927260eae9bf4dd8f28f8f04c82096e8882f007028dbda8a10862fef8d7c9498eb85bbecd864d5a2ae6ce0171af65430165afe9c3c0f34563a97602c5a21475666f109373406d7dcbc1b1db8c6146edc2a06732b05893be2d000861db14865fc136676a3f409bb10a60095efe3822bc68aa761849a4509bbc79e965cd8a122198c1e52efed2955ac635c5339ea15833892c56c076cbbf395ecf5c64c2ab7236ba06a192cb6609e767dcaa03646428c5821b85e68f969b5874a3b0be2cc12e40c92d3915bfb59e79c57433ca6df16ce88194abec13f9567490b0dcba3e210f78d66bad24834fd2c5bac075917a96353ffc29eab9200971ad388538b324e5acf657b89af5717ee32eaee8c39634bb6686c6039342c8618a83a6b9cba50cbb845a854877327a2b26a5450246ddc74afa10b35bf2a6313756ee7708069c29e63e07ada4181579ef18feb4166c31d06b69aec3b0d7ed651d29bb6432dbf70e1f86cade324f0953aae91c8ad89494e3e089849cf274d4a050f824bc2ea09c08ac63d3cca94a2aba7f69eb0b78d675ec0328aa03633d726c8bffa8d849e18c7c485fbbe15ec160710dca7ae8a44a9371f66079be1673b4ee4ee2a149f22c27e4a79b20d3dd7b3f66c45a301f9816231c81120ef5f4561ed8dbf2239d9a81fa0f1fd2c2b01f6739977cf258fbd8af0aa975b3724bbb3dad79dede1c67f2d7db1333dc3359df73db1adff1c29186064fe62d74411081aa89e5832a9413532506d20b1a510c7aa753c600276ac3d2910f80803ba2a3acf5ec8490cf657d342a9092a2094268e1416947f89cd70e590f96ff3b6535176baacd0f738a91dcf8e9c93fd92235e311809bc7a20272b26232933cedf629092e48ec81e9036ffb77ebbcffb5acd98eb80446770ef5ea26a012eacaf4bd71e95e5fbad1719836f7b537ec9bd896d8a11fbdd92c0f7952b3bf85fa3644266e20e8134a95603e31bd64954f342cfcfa8b54f9948ea4279d251d8ea61ebbb144a1de9f78f834a9fca4a431ba9dd42abfca5141012307c75c09f9d98e093fb83ea78a5cad197d7e57cf0390491d2c7bc10d2f2b72d809fdc8fc88803172d5bb69742a7f887abb1f06cce8aee7fdd04cdca1fe3bd9616d3fcc67a7ee4b8862cbfaf13662343c53c71d9515af6a968c944969c438d91e0a01024e3527be6908f7d062e40c72ecb6d3b575e95296874f444dd29f2967d364067b4aefbc8476270b384fd63d2e26354c898a1edb038f2244d5e1a58177dfa40820e8845031179cf8d485e6bdee2f15b210a00b021bf78224955ca6d942a4a8447ecd320c9e5477966bc28a910c990cffa630b8ec26170d263f0e791d4f0b1b13d81a52a1c75a2b88ebf72454fecc3f5763bc29f179da73c365daeb21aeab095774925f460035b865d432c3c8202d94cc869790bccdb9f13d86734880bac6126a0f54d423251a7c67afbc100d727e373ab4628a58e0b9d85078da03f1de734edd66bc33412eba1a34bc6558e205352fb09f815c2579c3098a2d5ddb3391bb4abd172c1810abed551119a0284cab8ed8b7ddad25a2dca319d1b326c5f8580f407d4059b424007a2da4d5214d4c9896487d682674120fbc2b203a18066ea50ca49135e42484050162f8ca21b4b0c214f0be540273788fadb5464362da963c88d818eec28c6b0d15595a44bcf965695d4c078b075fd1a381073b8b7b2b6233b217a83a2d2bff39916b510248d3e458fa902cb51a0e99e5cd5631980d09abaf914fb18c3dcb17637920cdb93c4e715525a44d7cf52bf7a92701e6a839cd336023a8e27f6d51882af50296d39ae41f1a92dc715500cd63e1c24155e73513e2563e17fb07d40ebccbfb3bf1ecd007bd1f99990b5c64e73f2333cb59b94831029df5d9ab92915fc3fc83b8c8cf4009b8fbd3fa58136d7dd6337f14656f3b22ce42f19378aa907baf7066b4c326c4248f37e3fb1e59b73698b7df983531f78d46366f7ee647e1d615bd3f87a62d3a24152654150bd51f1834b4f22103e912c5e8f081637f87960924cc4682208c61f00c4328e6c4911679514e75b55aad6c8f48656b0235d85606aa40a238214a078ef2e67cddf75f349d24d0f5bbab218daccb09a278351d3ccb7c350f9a1aa2ceb82e7d6285e966196d67001999156cd5ad01d265f695fd45d2bdd1afbfbe057b73f5d9e586604a083a6cef1338652083ff3f65a212f5d0d3aa572178b8b77f233249621003e88648350d0fa50261ee63c30029fe715c354cf720044ea31b98d459518731d3a7c04cc678e36341ba08da929c571ae24a1ddfe92741fb82c1c82d4c7eefe3116e16e1d8122d49267e36de620c9b400729232af8b08a5f71ec35d2fcad62db0d64967ac15a482168dc4b87c80cc96f943da7788b8473d6aa8530fd6e94d1798e8f3ca761a440d016fe57f5d18b1e1c759827643ce1e1be1bc4a5a716d0fcb0799895a71e948a54ccba9b3d8e346655b268397669f5fed0dbb49e77c466bbec2c8cf6e44d3c0f7e8afa9fbcc03eec170c715ad4193a965287d8de3e065523c83fcbec61178d84c1133e131c7d670642722530a2272d27205b4121095c5cd88501847cea96da53ead3830acc52e980f5a3f9f336b99336f2036b3928e185e4130165d1077560940a19d0e1f265b461f98a75ea4ebe967ec562eedf549425bc32d69f8c1c59290b90b37b01b5841cd7f142ada31e0e6bed5395df976993482ee23cf3a55ad4e4df8ef83f264a3a25a55a6e04a1c6b7ce4458913fb8bdaf0389a5cf6c3f52128e7ca0e00b85c5801a6cf119bcf2dc73cf49a009707208f5933ebda74d5de6235300c2ea01d25e16c517641ca09b54a2cc0b4a735de4a2c652d9cc774fb349970f631b68388e572d90937b61eaf1c50955f2dc14cf9f59f99d350c05ad816a72f1953179019652c0f9a78e7083a6af3dedbfaeb0f2b81be1b754209473ab0d437e777420ca19091fcc6ede31c0e848c8d984c75eb792943254a18790b234e8eb72681a16195b5e4ea4051831f8490872d3413b0e9904afca1d906ecd509b43e837a7bc66493b9ea36f611859e3c51c3dd8ab19769076c18a4c2c7869d10fb738f8dbb60a57f2e4b7dd224a321b084e525cf0add078c93e52d6b7856e8f45dc4101330d4186a50868226363234002bdfb72bbe6bb782ae61cb54897e422879f05f0c7a45716f271ed532b92a648d23cc0eac8cf322e3f6eb8b44eef32ace97e0fd2c2f39c6643ef3084cb163b9182298f8dc5d1b93be06d5427347503c6bcd6aa970f50fa9f00fc9bfc7865909ec0a8d254682a62c08f31a940a56bc6375f4a3e083781e0562a550c1129af2b3c240d1b9cc90f2bcf96406b5137235c1c0ad63661482b7719beceff3927e54600ad4b7c3080e180c966a98121a59455b4abc45515f45ee6673dfbf9c4a97ca435513f7a67cf78d355943108e438f0c46b7951d0af3aec246dc9f84d6df36f30e245c5dbb2e4faabfe272f685e78ba8e728486cb6b97d321441d392e49746bc2d3576be831a7baf01b15b7dff84057040a47948775cf0acece55bc33736cbbd8672e8390d5ffac0598c608bbb68a9a9238a3774732ea84ecd8bf76370253d87851391f83995044b5e6b3e61aec29a4f165111f7d9d215d27a3db9b6c99c974468fbc9b7648ec2f7865e677baf0bf0c2566905b5bb8f36c8a81f05099f927196068677686035475c9b4e51730bc19a1833142406579bec684d57cce7f7d9b9653f0e9ca363e1727b41e1cce82ba86e0099f72aef9aac9d93b87bf5fcb6eb204c7301c9342648fd58cf8b1a579297f53a7331ad5e2a80f97037f8135df9b1c42dabb2326ade172da8cd82850bdf3c7d83b4041364c118536ba35ce1d79b09c63a81b3a47c267a63521cb1c9f4a123b7acd87cd85306fc5c185aa19b832ee37916f0cc3e7d76217f62ac6c58ed89f48cfae4733a288305e98cced6274c5e16318bb2ddd9901d636a72f5a940c5a860847fb2579c6285590bc2dcafe500a9224afb396247f25c19e6afa352f7f60b31d697fe80d17846091ba4a10a634dddb78ac0703b56027f89e5a841ce4a3763032229abb5bf7680514c4b5116fafb84c40c139cb3f397753edc10d738e07d9dc1d27cb20e04eb9a95b20708201737fe32621ace4c1c6d3bf15ca89ad319fc0f36b9e3225dea4a2b3310f6286c78d2e81fcff72d84da59819504bf7c0d835a1eb6e08e685a418ca90c5598db0f810d0b37ab9d7d1f40772ba5824c8eb0eb453515ad18ec84f994b6913ca68f4c03810a249f6cb3d2206cad31517ae8ccaad1171cb9191ec06de8307db06c268879e3723aeb15a919e1b19da7a5b2c73c98a9421b7f4ee3df26125c01e4d6e52d96aa4218e1cb51756251e4d0ecd61af0e737b6e141d0f3e8f891ae9d71b0e6f9798ca1d1a129ab93171c2075b0c4398840cf958bdc6ba74f7b37afc912f4e33c3320034b3d4e814b64ce205654c45141d6b06399dca278582f958338f9e4fe4275924bf94f8112e673a095737b3394c7e8489392672f2c98cd9327f155637a6ac011a04878a03d0670bce76a2678c6b877ff80d98081f46ffcacf6113243e8c2e9d8a76933f2c43459a99f994606401def5a3c5600165d0b2db28ff395bf5ef0acde551c9731e46b0a0a0a373953d62192c58070385062e571c3ed1b0f6770708693eda21fa91e3d83911882fc4a6003820d78ffb9f1af02928164858e2e0b2bd3f2860cc2a1bd08d9bd211e96914d1ad7e9eeddc2ae5390b711da1c4fca674767d0c73ca94d6663ead92bf19f52f60dbc5a71b707dd5a3531d0b6d57ad064d4babc6dbbbca457a2a01f856cd563960311b0582f6b64cda6ac609ff1d953eb84cd1c6b6a8e37a4f04e4e1d334c29edf09b25162e2b6180ba445c4a936f8e30562568cc061bd678dafe68f11727b96367c4320994cacd2714fd0e13998d9c4206d94bcc4de8422d20e5d6f3cbf504e6db28cb16cc94cd2036e4dbc43e60fed0099de72286aeff36b6f7132e775afc543cd78f58057adc5affc34d7305891e9211fba22b65e06d3683a06a9f1760c5ee3f7a481eab24765d1597a075d3f527e0ab05233932615f4e0440de9f87c81485cf6cf6eaeb3c6c6b9b5f2361ddb4fd41a1522c8ac4eaad5a437961c5d0dac2248c0942832ecce02975238793d760f03d0a358abde7370b9d734e1363a0f3a3d8a0c3f86a667ad7a3fba08abec77cafbed1835422d57db6e06c9dcc31329ca091d78999ac41e9bdb0e35f59ab58c005c867fdf00987f7ba864b92294a507432bae0ac29cae0c8d24a3ffc55e61bb20a2d3f762488ffea5eeaf568c938518d1850bed0695ed76c3f40e2264533f1a2f37c16ba4a2bc13ad8ea916dc4db15f1883e83c2a5586c20a98691a1a6f97cf4d7b010b8fbd626079e1ed5c938f66311d9f9b29680af47a4ca17bd832a5bd0953ea539725da3d234d85a5b592137f73ca27e7f9e64cf23599632d72cc574ec987fc4e8e23b70ebdbd332584846c686343fee8a8d4e4c397ecf0f0c042188c5eff7aefffca4a0eb1a7a7edbf32bcf75fc0687838de0cb422b6d01f2711f7e2d602a922703009793c507ffde1cc3cf7b934cfb9242d0d0c40908b5c252597054426e063007431191b3e7c012f836a940c46ced2cba4140ca0ca66b36894a3419c8a550f4318bb11afb6c42fc0487b84961380e40124e02b1d67694b8a5afda55ce91453ba32ff48b4f2ff8cb7a7183a8dc0442e0853b0485048d23580cb73a5c520904f3b611ceb4dc07ca927f8ac673c868b55ef4d68a8d7dca11d74858388816c60d8bf9aea22fd213d6327916f7de1834803b148c33e57174493981427d903ff99d2807b9b092d1367135c07cbc8296edc3c09da5edd67158160f4a5c338454a4daf200a0929fed7f4de4cbdf76bbc3a8ed1efb9df45155584d8aca26b94e4dbbb14924b0395d0bbb4e8a3656d978cc014e07cf8f0907328034144c588bbb846356ab9a6e6873d122453a84d86c356d33e36f548fdcf72d367aed12d12a27ddcc8c218f52f59c126f68b71492680217c1130819cf250512c1198154c48c3d039ccfdda897f92484926488398cbe75a7affb59379b49a29cb10c1231f5d3aac1ed71c04df54e1b58c2e64c77890a0a6cee93d8dcc754fed8883555286b2e9540c8f099c79661c20974b1ee5824521dc81012ef992ab0bbafea9afcf0fd0686144ab810bce36137b06810395e09e4b6887e70dd8651fc1f72ce6faf1ba573c231da96f95387fc646893bf3f7f246f802a5247a619355c4c24b4404c7c44d04e44a38e3d1b31532a2a9a9649672853b64d0149210edc77007b14d898e025749079c978dc92e069b75b4a763d4baefeed7ee5e19d160b5cb79c023f1f8caa8025f9a0825b874343e6cab97fff7710d48fede9ec41151abad959b829e7c441c4e1873a9b50fc6d1444807ad25467400ba532a300471169460d591ea424df9607e3ae4d85100b1b8df6fd10e4c4904d38844d56170e627277c7c4e7b8251d9fff86ebe8f05dd1680aa271446e0b025fbe8aec05bd15a68143ccfd487f2abcd77d52c1d195c536353d8acb01192535c1221874c418421a4d1e56d18157285326ee764039bf63c5032763510e8c9da0305e294cb1a45b41d3e825ab22b02e3153b2d76e40429d6f1752b16ed3037996d1a4f19f00ca7dcdd57fccfb2f6262bdbcadf434e8772a978668ec483bdc1afea8a7038d3ef8f3654e491d40a693a5afd67437a9725fab16306ba007d44a2b8cc0dc825b0649c919a6108f1aed9b6088f0bb234b594a312f5cd0b441f9dd34adbfc9af937181c61d58c2c915e8fb085f57daac530922a1bd890525686952a391c861a05490203fe3e56761521120a0dd1cc40c8ea961c3c0014fa37b1354e49903dc4a11812b3303f7481270409affb8637162013721fe56f4d9db631ed5b32e6c5c01aa29754c3d4733b4b39eecd3ed0f8e3d5610494d104556e00330cf400c486e1bbd6c9a0ff98abfe12eb8d585149d4ccd3fd728752f32078d2acef2adb259a9671e09ee9300cc05fd12d782bc53cbed102afc609a2720dd76cb34ebede65690e8e44782335bd6bd15decbe4fee21666e6c5fe08d363d72d11d7b584ebc8e6820df5748c6df223caeec2c66a4d5093060aceb0fdd44a6ef0a964d70781f287fa7da24ff38ccd16f48c0b8abdbdf7e5c20fd148c8374bb91c049629020a14507ce9f9bad4ffb59c6a5ad3643be0935b8e01c3adac4f9750dfa89b213e02028267d8b8ddbe10d9a3d00b94d673ddd0258c405b29ed316c026f0aa6fc292dfdf08d1566262e7b0fc6cc2089430fbbef06814e8344c95ebc8ec0abf212c6864c02999a6c9bacea65754d60b881d05c7d213861fdde48d0b85f25144b0e216518a6d61e46eb7a10d87137338457add6cf5cdb9c98f85ff3f6f8a87d64eb8625c086be5ebac46786aa683321d2f41c57c5166712f6f7894dfc817e1a6545e3e2fa883ad183b15bf468172bd75088db335940623baca9f8a941a95452819381afd7feffc03f6faafc204ad83456b03ddfce8643808568360ab3f70feebb851af8050b2d5e3f807244cd015038003c6ce1129f9f56f18da803bdc86fda807a320e28ab8833bd37906644810c7f20ca2ccef51c79f332298fbdc3256ce50298a73067aed0fb23e8bd706e4e1387357c59a0d9164efa32875598ac0cceb109ef9ce52dc4a217e7122a44c192602c892cf96768169dc87df55958870e223b2640ca335c433a885365538e16468414c6913dec3d5cedf87ecd8a2975141e89daca1ba7d21522037201de757286adcb7ca520508061ba8ecc4ae8bf7ff1afabdc864e8157552d1c0e57a4267affb86fc98da91e1e869ca009469fee4466b63ad3678083a6b0c40310997994f970027b1bfbf8fdae71825eb0f3108521b01ac079bdd58ce34a728ea46c71c129dfaf655bdc941d2f004d8b4d638c58a4e0ed9a1443b536092a12e2140e2dc7c4f0c530cb02b11bc1979aa796966dd431fd9324938bb60a7ccbacbbef9509b4e1726cdc8a0cb015edd6e0cb933b7dfc6c75ac3940f33f8c257ad2ae80865ce07d2f86ef991e67bfeefcd4a45b62fe9a9d77b77649dc1d9fa3942f095916e8b592ec25f3ee47fa7b98161a3204f5ed7f609b42032ccaecd724d138c8a58f6b43990e0c8fab49d4d5db5723abec115594a5fa5a838c2e4adafa1862bef1ae53741fe5147f94665a56c13db1028122d7b30f82f59a44c9a4cc6b9af81cfd4c5af9a6137c99ba8ce501c74c342f29c6037b5602bdf02fffacf618f52671a3f841c5240c63c91ad2cd91738d54984e98eba6804482d8ac05b38100f43f0c8e5ae8231a569f2c48a7069f8d7ba664e622986420f30cb056ba01edff2568e6cae8001518dbae842d3d0d865b7e1266ef0cb994e3c34e4cf7530fc951841fbb4b6c1d0e18a98b156ce438c26c0e95a6f2ac232956c95fb6e222e4a04c9f1b47c9a543ecbd60d2c24e1f410d0846c455fc4e0b6f66c42118479e925ff955c644fbea2ea00dbea3cd89b209580d1c9cbf8608be01b1a447496b7b3c98c49230e553b2d5e265c3871cb25b56fad30c0d55f1372e9e11802884c8a3e36a76421e3e1747c158f7f2f7fa55b400c020134ffa6bbf102fe173ca5e6fde12576f89873f34d213e578971b062e89f773aaefa7898dd079a41b35432728ffbbc82e31adeaa8a29962d5d52f1c672efc4171e589495b19616d3238b53d418e87c82ae8243a0c3639b7fffde43e3b270ea044861a47d0cae2b62fdf0753b7f888bb46115853a4aa6f624022c0307ccaa2a795a1f13e7cb804b5a7d0c8511f4f0f367f83312762d1b4035bf78de8e47fcb2dbba527121932e9adb34768a8da64a5b5018b9e11a2c05b086364df6a43f6882c4bcdf4aa72083b58fddd2c21a815431c064427e5b0a6590788f43f7dd48f83f0439d87b8cfe01b614bd8c185f3aee50c76a77b5e0659d9f0703635c9bd15ce4b65c5c6457e40d65a5c95e75649216503be7c706c5744547c5d4603ba908894584ecd463fd4e9fcf3e9aa1771c0e409be05feda5e225b3ea26414be6737d34281feba3fa3f7c4f357ba6caf5955e1e2a8ad8f279592cc71c87d1b983b4bb2a9243b551a8d8f6dd29c3fe6c7db2b71b896167afdbf72c48fa4e8d6a7814567da342080df6306cb7612265e9331846281c73275358bc0589ff4b77afba503c943798d901ebe686fbd92c202ac8b6a4edc7312475e9b0150d23d2121b4bdea9a50e033d6246109e7eeb3d26e64e12418c3e144b36d7cde7b94365000485aceaf54f5fa040250b7bd92f4fe51217660b26b9c963a5a55c9bffc1067619d78b6ec55835769cbc5de53af93f7577fe729776e54b75a89e681952002827fa0ad86ee65f585166f056d2fb8b846eb17eaacf0a9233cea80b779a98d2810ab3ffd7bb7ef7f7afe4d3654125fc8517fe37958353b608538d05941b4af8bd41c5281f2e07c25dbf87014710582e6d535c4d06a581863fa04f8666466e016eac32b2229b109134083dc1db72c642ab760ed0c1b41c0d95fdf6437f915fccb013da088f2f03f3aba213701169669ee827c2bf71d1f0864fbb1cce776ebb98d49c0fb3a403437da179edbea9f203b82967e406911cb1a9ea73420079a003a78166d68cfe0d8246d666e27ef340844816803b8b0948d063f64a711b32a89def97259aa294af5d289d0e0601da5a4bd6840632f99b1713e98cefed31dff550c1ed0d31632a45b3fdb33e424824601c4905d3d2c60d9cc4d81189a9533bff5b81ab2592c0d66bad56db373d07d55cfda8257c724709246a54fa941e4a4fe5cada8b507acbe4b7f64406778a0f6edee99aae05ea84215e8ea5e2ae1169f81c46db67e0bb56d50d6904c204984adfb1b0dd2d6f3e40ef6e31a0184de94c0a8a37b301b94633adcff9f3c699e0ec82a8d6a4e3edcecf29e48d4cd7dc1d93a01d19b5a4edda6be4d90386127b16249651b1643846607ef1449e6e9b15aaf55a4b53d3e4ea01cf54915ea300a1ff189ef99d4200012f1e52bb26ea3a4a7be8ad8588e32e625b15f86891870388ab27b86442fc5d4646ff77a6a79f6095f2685a338898929b482ef570bb13f7db0d6127d720add2de30594bd806dfc8ff48e7c7942c6f4b569393e51eabf31ae39d172edaf5d4c02d1be93457f7ace6f53a95b6ad757b3e27a42d80c0c08e1d17a3dc8bd7f6f6b23c026fd4e5e0fc09d58744aa537eda70ae8668cd16a695479b81a4b71910fdcc0c7a58c474ff353bcc043fe753d1032e8c4b68eb39789ffbe8e6115f81d823f1c3ae0c355338b8efde1b084d119be096e01e95f65f3d1d3d059034329dc304c4e0c0fe31e37dae3dbc07d6f9dc01b0cc75763baea19f31c969769bf22e09459a9f836f353b296ae5577d165e92d028f152ad0a1e9d4a3f58b9051095ee8c55ca8e86b5ef776d7dda769c185d27d9dd2e3d9ee1b8c5b526aa0db291db3623b0415d5becb8b176d9ce9c36a2c843f0c1e0c97f7a3e6615b69006b43e775382320dffd1a6bca3e9bc21624ed73965ff9729855c295389dba60402acad79fb10e2da812e00ab121a1270367b88e4c6ac6ae2c481446161a64461c0948e8bfc424886ca3f26e38d787c9709c9a3e4b3786d6d4d6fc556d7a90f67bcaed964b65d86bf8d755c741549e6126dad4c805dd59a36f60dddf2558e702cffdc17928b3b87dc10b5ab976fd26d1e0ee7be1e3f627f4795c01e9f82aef8f36ad0128bbf332338223ad10bb5403cc869d904494c9e45b6f190504b52ae42092871ec94058e1eb1fd19420671346b7923c605b9425c09270e4c0406b2248de4650640c49a3ca96544445e890fc0d83e8460d4124b9b644089129934156efe216bd9595cb596909702b3c1ec49275573d122ae212a6aac6cb14e55e57823659157d057c44f9f3bb90258a65ea398287221d66bd964fc03139a0b480e356d5d4751ea2a5109221b61998f15693cd97435c1ed4f59f1d12f2f1b20d9b855759aac86b569c94aea50c2c5a17b682e07560256f5a28266ecaa71b8ae5834a957e10d5748fe4bb1f54bf86e24ce1768c5b3042fb160ab97d9d2dc1c6b16f240ac4532895b22db7fb40546b73b9f21813b9f48335126b41108028c3c4b3ce3904a48e854d9a6f0591a0082424cc3d8204d884fce43378ce31b26ac9e21f28912218bc9e893a861041b9a9fac11546a1815dd0672cf667304a5f2c079ab00d0c624a0d0fae3625bfa547262c77765405bcc9b8b1669ac585874f001eae0d992294dece4b3d358917f641d18e5be57e570b646b7b54c0657557a9f32590af4a0267f60695939aa3f05804003028376625ac9576954a65ad65027c90a84cd7d4ac9f79432b98610d09afe945cfed72ac8fb9b34395e1424c1e6201749697fdcf6fa13679d54429d544c2a6404d5bf933375eb3f996c8d4e205e4726350cf31104559a03f497a002c9337fd7534fc96dca224a04f937f782a8add4d4305f9a947dbfcd3fe1d20a92918e8f3b7410c748328958b69d3469c582d6041e18ba0db17d627b0abee422899a7f0e30a67f0a1965ff725e8e425ef3522aa641a3dd9de9196c22d4fac8919a907098f9b7caaa5f982a7e841cbd9cfd71c85505cfd64a6862eb1150163044cd5a21206e843849a98362d5e8bed7fb60052e0bbb8dd4c5eb51d96150593007d329017ca3bdf3db216313a2686ac7903309143b343d410c2d5909a173c119c56c5c135da1d61e1089a2d24e462d20c32d5663c5f1692d2448528b5831b27b35884bb4639ffc8540678359a93bdc6e4dbc664c4d7802c2d12783594528468fd0cc16a6f8aceb38380f456b8ee28729f5a3db8bddf64bd1eecce2de28864ebcbed4af320782534eeb111ad38d1aef70622cda888c2183f4aee9446640fb904a85d64bf7a2e5ce9894c260b6f28c764a41f2a4ceb510893b8d65b1a08289560ac7dbe842215507b354a8163ce5193d19e0cc4345915bed25d13c1f2d7036ff3e5c27ccb34567b1125389d572aff4bb5eadfc28a23db9b618292aba7a386d9e893a2e8e0f3c9da3740adc25f17f065aebe7eef04e69338813b3f35cd90916ab16c1f73b1ef6737952d7a6c567b843d5a5c64a319c52522d354294229874fdb2059032eb4c4e217176797f9f326dbb3ef0536cc7657204536eab8742fa609293cda42a21355a3086f8d54214a641b27705bd2a3850a37836ea5ca33a2081be9cf9bc864ea539e7aa57f8d15cc2aedcafa34040d26b9c197957157b12bbdc2f0fecf2a3d5183cb88fc72ca0edd9c507512bd9b134b4e138b3fdf5e210c1956cbab159f8ac304948852f24f1309d1bf15a1c10af8ed2a4ea68b7bcca28e08c00d0dfdf4646091df856ffd5d141ed16f77b3e631c8bb803f02b6cb6ff0500cac35a36c7369b123302497dcd150ce39e53762a5b42969879a35616e83ec091720cf9189143f072884790e31e63c81881a710c68995b612a3e4099d1226f243ce1dba21860a15e072b4c7db28eba38e5cc10d484c515bce30658e88fd3e1c8369a1c72b6537265050d26e5cd1efd8c4e90452a655743898a8163b3b97294e6a43c5eec2979be4ca50caca7aeb0787e3f9d7441ed9e6ddf67e12af0247645ee64b3c534f7b959a86d0d68d48d5829b36010914b11e3f845e3a91eacd53e379fa1fc7a59d80730d500847256705034cbfea4b5633a6226cc5847149f7d7a2ee82a4db5e2dd1251dbafd019c71952ddee70d431980901f5d07c99167003d7ab155e07d19bc15238da99cf77a689107a141f7f813c741caeff3de3bbcf7a6777de7edef7bcf3bdefaa677c50be0390c2938b8ef59a4a368f0668d1a3d001a2d2841d22e0f559b606a001ba64108c404dbd0cc2298ac21ca1f8a30f538811d72504321ea7721ea5d121dc9dd85df1d8cd2dd3d6391452ba4604f62d96d13a6885d70430e9a177e4d5ff225633db1685f723c54f861d0f31883735f0174b1bcacf9751df6b0cd9eb66f3043ec2ab7b0ab657756fcb0dcadb51dee08d6bf858a93cbd7a6a00218e321873571691b067482aa24d6320120ece293c324f1bccd780b4b8c27b5fc823935a3f80531e534e2c3a985dcb01e25538ebe70996001b5481ec2f94af296418d0b9cbe6c20641664707e8519aa1256cda45471166a2f1cb42201b6aaec9d4006e3987459ba0c561156f44cf9e1723ccbde1da76a1061bef8dfeff7ce831f733659b43c8dafb8b34a1b1d3eed2d5b215f4e57c9b9845d3a2c5e015faa6fb7a05eb899b90b8dd2ecae4f366a68abfebab059d6ccb5ae5da4ce02f91ad7200af0b251254261df2c6cfca0e9c60a65233ff74be299657cce574e1e37836df5327371d44ed6fad6560471750f5021696b4bdc4b16990658b31412e3d670112a65771c9534dbfd492077c19c8a4867a1046e76ac57b34cbb14d8770e188eac3244ae9252bf2b1b2119bdcab74c061bb4843cad0273b5c42bfa31da86404e1100b9893432bc96e8054254013b8afd2d519fccc534f27c64c2616096d72c43f87723dc99ef9283448da92301f3f319bfcb8f29bcf918c85ac327a3b6ac749f7a0fb3c4ed56b85561fa5b6d8fcb143602b167a8a27454f6e1ea4870cb29e491181ba605ffd642988c82e5da259bde15219afe135c4768a1e5a26bd3eb795f689f5cd0e1306b846df7fa9b0345b94d14581ba8317b1377dd203024e810f3b8670c340cd7ed3864e3002d8facb3f975e58812b636762d3071dc5188c15667600c713b69f5ad61ae72e19e94b23f77d460b54f621187dd38b06d9c4fd96c726082460679a811472de808d80ead833a73d5e87a72ffd7097458414926d72fe9a8d534818ee3b9d444a991468998b831c45234341e1cf4e113de687b00fd13be113257b571cfd86896c2e87f4cbb44fe0b671053a494cedd9c835963451949cfec452412e2783321434807d137ac31bb7e5ed37953f596712f1c8d587e43232b781954a2f1a8fad43a4e3a9c64a38ea96fdbb28461ee2ace5ad92c6242026ddf9f5a0188048eb079177118e843194a033d7a1848aad80302dc7a12a22a43b973e33b8506159ce09dc07d0a2605ad988ce07a5bc0a46c61b328aea2f6ae5837ba4bf675a9ac6934ab2c6447e8c763fb8bb1eba5635187280110bdff27b07dac13cf16ffd84b632c1a005f924c88bfa2cf5596f911bcf4e8cbb1a4b0353949f798332d566c0f9e47bb83b0c50e5115b58ade31a577342eca421b6255c46f6ecc0ae8bc32aa3315324034da9132e1879cae18969488c6a0ee69a333ddc9dc46c2adc8372abf4c2e87f903d79a105fb2899c5c51740fb752348762bc1dbe0c42f1556b667d2875889d970ac10720a6f3a631eef04bf5526d504c44193920e6619ac9cc667faca3d52a947631537c9c466a05bfa85bd8fccc0bb7a9d1b868fd6123a7eb2f35405eccec7b97e2e05bcad0c8b1d4efe75be9524794eafec9f8f6047fdb95cdfffdcfc2a7c7a6d611f5e435d575814d506e9bb978567299f2eb337a71883ea0b9b8800f1b00bbf6411553f9efabc55258c72c1ebbd65008d53606f08a272dfbd04e4c6075ad4bd94b47003073025a0eaa6b09306b477e023ae18969450fd66f48f40d5b307001c0b17200e9f7ea56f40ddfd3ba07f5a8d16a796679533cbad62f038d224508c0297d85d173273cd1590c48750105e964a214fcf103f3fe887f7da2e805f1925c680e891b6facf975827376aa02e26db00d048182beefafca81ae6066a689d6b25c851b3018ad3161010e0fe3e5d7663ea1c6b9fb10df4be46503c4f40a0839279ea0dd3ed842544c3ab35fb6e40424e0072c0532694a2857f6c0864a8bf80825d720fbb97973f41428d20c890fb6f2b152cf5146c0295b6915807eb1b90dc1adfe4d5f9a2e0c51d806acd7c9e22b0e815c952ca18e6e79df432f34f22b3a148632295dd8842024a51b1f23d52395c1aaaf1ff8f749c22cc688d822e4bd4c01e5376da655bd397fb4dd5584c80f31c140a47b548f6f57ee28158dddd0de02739d5925ce76c21e9e6104463e875e7be374c109518c07d62867122ee07016002b9b2ee3ad6456eeff6ed6d15bb39be36f9451064fd00c849d5780aba61eeb4095aa87e7350954d908e069c24fbada45fb7ec16a5f48f070c454ae08da414f38b6d51ab48639218f1d16496e1acbe3d219e406a7dd1806f2e70f04cc56cbe9fcd3795dc658421607bacc70fd98a9231ce1145d5d5a81c9b07c6993149a2b5b93c2b7c90214d28fc36d6097a3b07919206e1f2698eb82b5873fc0a41d7fd26c57505ad9bef96f565a86047a296542c077ca26f3b86b6aa015e1704d67d624f64273aeca9d7f47c384218db61097f4d9b5f46e9a1f77a2266c86ff08889b2514380e25847f87294eaa1b75480826b57d602160a0ccc0f3b234578f2378329f0c4204a6b6750daaaf6c0f3e9b03c118c367328d9e180702e98209129d8806047e0302c4804c1eb8e2ed1f5c58350c665dafc63e58bcaf1b7dfaaf697b0bb47835a413d3242dee1b10c5f651b79e90f50b0d9f2b6ac96013bf3a8bdbaea1c0a06af7a5746103b7ee7dbd4bff1098663a0c22e13cc0ba2c950144bfac0956c1ba5ee5058be13a662146bd6f9cc7151d58623f32d8086417508f25f264e0904d8cc66fd8efb03f02ac18c3f5d45e341290f2ef1a868b95afd665d9dca01208057218b66c41824b49b683889c4f4c7cb9f1290985206e789e5354a6990234ce5440f80248f94d65408d796f3506f59698bf9879cb4ff76a4baf42234fd33c540734de1bad98c9d396262f90cb1783031b474ecb4514e29831dd4496540de819675efb5523fa116b8cb4c24663b543b1c6b4b37e2a49df8aed0e82b9e813074cc7ab4128abbb157187a2c9d00a38bbdb667157f7edfb0c26bef4666658696a28cd1c627f7e82b5d40baf1234cd441a7dd108b53491f8e4603563e0c57495e478b594efcc9acac1256b27c9e794ff49e9fb5ffe553974cdb46e9bbbf147c81385e7c1e6a6831704d01a89452cfef31f9bb7541bdb4617701e0c1d50972183252b46192d4510cec4548043226005ef2eb8aab04da94ee08f46ddf78324f60857c804a9aa6fda20abda05bc48f671a8aa1a73e1bc92aa187d0017eca540cd6d948817ef3b4203f845d03a248dffe6f9bc8a8567df962e57f2926d44ba25f31eee025289e622d4cf7539afd0c9e2a140ee72fcdea9683c6e9ea85a33865bfd47a1171eb49124e31f01b71ed04d2dffed5c1c5d3252912f69edeb053954826be8000b8a62b00a184cc36137e00c78fb95fc2f06cf8e759f50fa1627aea529a8a8d91a606cdc9f5f30e18527c368345206035ceacf07a169e1cb3151d7e550f0acd81d205d4c83d836aced4086063d308b87662bb1c53a97cad2318309b58d4abda6f85fea634fdde18953ee960ff7508a708e0a8b686545a3ec3e5b7feed4251734e7225f457a4a86aed6616cbee5dea237e199aed54c59af0ec1da749c64010de3a2b283c0ec1873632314f4ec904fc4ce8e4b5e872735210645bd17c6c0700661f3d859e43770064ffa1e0b149a7a67d266d51702642d1bc0bfafb401afa9ac264aad07721b404adf13095c13a8b0e200668d323e5e54c4424a3bc0f41fef90ec8b3519632cbd6760003142aa1e57d8d105662a4fb80daa528f112d40811925475804c6c258cf0be3b2ab9f43eb5cbc824b609d3f8b10015a80b970d2d89a992701700f10514ad8c48460b10341eda201243cdcd50ed05ec95112adff420fe438f783c640e4a5db41a0bb53bfeda39dcd02e0d4e2b94de91cadb409cc10f696936a91440d1f47a7cfabccd89ba7beed046b7c2e0cb393c6453f987290e000dcbb2badb4448024409e2ef2b6401e8cd47f59145819338e6749f08dcf4c195c64374bab8cc78c6e3a40332f38536a76dfd221330c297aed973e466985f983dd5464c8df1f4f6761d63042bf2a5fac44aad4ce781fb5c1229d7519c6515caa6abb3175add05215070f7d426c5a5125aee9e513c1e2e131ffc901edbe8fb89f4ba7422ba2e7072aae791d52ef4aebd507da5f3b38a4d4b3b1855b31cc23812d6d4516f9bf2a966b50d0b831fcd641d3debf01414da91128b864d4b8b25208dd8a7e26623e26ec89fa78459f3819b819d317ac1f8342eb3f22a9210f335fd0b8e44488d6136fc3023d12e1f345e879bf1d98764745c96c7e5ec0c22472dc9641a849376c72eda700392446f81cc01887491cb757a657d933d534883867d050df682cf319ef48259a3dc6efc7066882d033b8a5d86be95e5bf8ac632f87d8bbdebc9517ef01bdb7681e7a096ea98c3c542382646887b5a5867fb3249fda7063e610ba36f00363ccb776616ed10a7766f5918644b52f96c8566ebbe82d25d1c720c898163d9487e3522d866c9e73f690260a3df2210e7a46a6d345ab439df5ecd12b40254f059f7456308bcaf040b2f1bf79998501624b42d4db67da762a93a10bc96aed37be42d953ae487f9f0cd8c619da3ae94d47fc73f5c2c8c219f69e333bd21433f74e5c90fac6fd657301387cc02336174139d4ce5d4960571d0839b74d381595af35bd59eec039f24a48aa671346f9708574aca1f38aacab4b612f2477bae674fb3c5731b637b79c900cf653501a1d10da51f5c3849a70773a1e74f04e2b0b112bfcba3f6dc6091ad56ada5b52170c26a26497493bd32c4aa8ba0c9a9a7821de67eda0744aa323ed04c89f507bf4af9a4f839be7eeeea76177402cdafc62dae9d728171cda9ef7794475b5645ad3edaa78cc26832b9b697110c445eb603b6ee01aaf77c2d6df9e8b167bf675688b2ba8417ea36ca2428159ef2d227bc0d79ed15779b12e85341d4ecb224f2283ce635782ef6268e6efa9aea52fc233a6316adecd99f7ff0e940909b3a5e1e4b12c083cb2b38c6f73d791fa71962ea7cd553d254e1a81945b388a6ea93fc42e9c74665c3bb8a7da1ab4d7247ad162b3c51f4977deb8de2e7a368c0cc6bce26662e11ea67e469f28368edabaacc7e898acd8238505eedce12d30e01d99da89424b1ff19eed4051d060fc37d082fc96ae38432c7bb702d2ac5dedd199060a845645c52e2c4552a1dbb6ea274331a18c141283164452c1cd8d7854924183f3eace21fc476cee706fb164a727ee9cc1df6f91b00ba548be6268bce7135c704a9bf0e1379c138526a82e91db1009b81a77df501c170777f114eae4413d8178ded3581450e1a83c367cba319ad9728672b9e1340df8a95a50a39ad953ad68300a8b72bff9ae3b0dc485032fd66c476c9a1561d39c4d253dd82df5edfae7dccca2e6f65f9ab986d0e3c2b28e50e56939b481bb21b73b540d6f3ca4391a07e7b59d366ce8e76231cdf4147ba3d0ff15e8367c834fcfb84ea73ce51391c7c0fb1dabb7323300bb64f67d1b4885ae2e1f6f3921f4a10c6a78ea05985bb76a2f305b842d772953a0196160f6fe571dbf8c12c2099480914d6ea619c4511d7c5587584fb9cbcd76f24f4a75720b4e13652115a7d0c35fb8607c3b9ba97c14d115bf9333338198438e469c2fcd5ca670c5c4d7851415968288a19d137e0d48b1b423c773c79a6b608b754a63c4d98e84d0eb0860ab251e92e090dad3c7517ce911743f0940b7ecab6e8e86f86f131af62400c9815fe2e3e265c26839f917536d58fb13178a984fc9e7ae95415335a054dec0ed14b2adddd80e4a7d0b5bbb6abe7c5fd516073a1585bee72856ff446dfaf7d8e0ffa92e61e06087a7a33bf2df2b406edde2967ce8bdf77fa4aaa0b0b3ec815486036e4f4565fad750e28035c1b95526b49f3a9b5f54750fc6d7167905374c08b12dffeb819f543f8c4ffe55855d8499e877a7790f0ffb831087c2f129673bb38938c1843d0e214eb53a74fa1147209ff194e8e6417cf12f18810158d72d89ee7d51bdc99b64b2740559dd9cd72bf32c0611e3ef0d70224f30502e41b6520074217c6f22c357d8742f04da71b767d14da82490db3fd7c1f22ecdd7cf4b0c34b30681621d70b5436c442235816cd37ab4952801b2a53574228b6fd328a2d24b46052598d379b8d9390e12af38f86ac93d5166b250e6d01b8fb11be9c8dafa7e80250ea1e2db740e0f20394df0906880b2e864de748883d3320091139a6d602f2bd84e4b5b9d47d66c2a6411c9b4f8530a3e3dad1f93601c16dd6a250a95cff0a6ed8822b917ca40e3076bfdc05b8f28fc57b5cf7fc4ef80620c100d67cb7b2c7287547655caf344d568370384de828df6d785fc3e16e090d745330c268ffa7450e471c1939ce990517299122058d43e10131b2c3178a1a04e0e82d32400a9a5ab100d9e6d4bac3effc346e8d4754bac87ab00b287a7206315a89cf851b0c734b5a82ff5e8dcec8ceea71cc2b658622f239bd4461a49fc899dd9ac02b43f570487b3dba9765f9e9899a51c220f6f1a21c2774e48dd46f030f7c20df3ce43077039567251ed2f2b48b586e8692046798f4fe40f531d72a861c251e02a1fb4cf444da41d81af252e50df0ad698d1529502c85ef03118d153b98b813b1905610e32c950cace81a1cfd404075dc1aa615e1af7e26d1abe9a3d50030c6b27b1b02b667f4d9ea190a1d924c642225c1a1084cbdcbbcc60a0456a4c519a111e3bc4d664fc12eba65db8723a5140926b1dfc3ee1b4c35ba3a747badfd74aefcbbda56b39e5bb494ad7a351d00e314f2cc2653e82d0c8a6044ccc9096f462084746b60c8fa029a40061b7fcff75b9f35add14a3c895c6139e58e981c06136d5b03bee94c2ab1f25be1ba7e61cbaa13a3e5b5abd33a851de2b592298604bb16a1d8739a837ac584ee6e2307364e3520d00cbd0c23843870e20d6e6df59f37a0c97053588ac52fadba4f33a04f791f86c064ac8625b1cacc13f84d1190cee653dc7984fda26e6d38419dab781c055ffe35094b9e8c0c05bbbce36ee5a0dde41940d31d458e11502c8911647ec312ffca5b7d6604dbe05dfd257dab25b2eadce152fceee8155b216e6feb3fa0321c7f2e50fc6a543467669ea960e5194ada841a802718c81175e7a183b30ade3fdb67f3c820610da54b8f5725de41a99b7e0643e04cc18f34ad2c5b97f7dfdcc232ed4b582692440f59fa457c2603715398ee8e004d8d8d6da21b59e09b0618e124a933bb48f8a6a5c56a1efc1a7deb17f9ca8364644c053713b0aa3d6d609938d083645e086b19e1c1046dad738d7925dca9c1c944ac780c50d25f1269e76074e601c1e2a0e61cd36363180e05486a531d711c8de3c06f537376a44ef939b0cd35382999aefb72dbb57622e329a38e60837d34dd4abf88f71689924e0adf934bc800fce75b40a4fe7ee707e108c5794dfeb16639d20bd16055dfc69b294bc2d8183b62967c595286d4900079ca28687b9bf5a716c2476d9ff5529e3bf93def00e4d88e9f063ad45ae299d4206d1b44fe61c9437e606a3a267d0a2b961a76333bffbf8213955e4288b1dbd20f413f4213f2042825bf1a4c068ea8dc5c263a8e4b0c4b29818129d6a182f3415cc4f13931a2637fdfbc20d6b9222e8c91b8d84cbd854f81deb37bb863e692894e81ced0bc3b4c8f556ed5ab1b11df79791447a2ab202454859d12127dce185da24901cdc8b79b39293b6ef6c04fb3bf8171d753c4042ff4861ead32ec6307bcc18139d73e602b65dbf70e4fb103d73e5c9583ae30a7f33de1c62301b3dc2cb9ac06f25e6b2613b17c8142d355e23119512fbe91f34bd135f139835ac29ebb2707218a96eb9e37406bc79c690ce6c9cd3b5a8f97fa98e9020f15de1cfad30b19b424c8d53059b9f09f11143091f990cf9556955157ea02dd21352602d330bcb0293f0cb61f14b27cb7d8115004768fc25ae667ca20f594d317ef9790ecfc52f083dd8056e6efa0892e41d4aff92bdcdb218a9e065c7c82e90985766bba62f5393beec38e8cb5386e2f1c4de05f904dcd4c4100a0b191b545083ef4378ccbda0ca8aefb92ce27c46fcb7d78eede1b09a3daa83a150f252bcd48821b8225a1e1e665c1ef9f4decb049e6250640bb53abab3ce0a76416b4aec6d834922644055450e55458c2adda7aad345ea8d2bdb5dc1802a90d4aea886285325dc012cdfaeabc8d8e78f54a016d5006b3ba6f5d3fdbbae14d914dfb8c38a82e9af62e32f2b26b9e272b66ae107c9aedbd5e780a9f3f8780570ced5a6dcf6de60a245f7d4f3415297afb6d4f5f6eae23e6d98f0ebd07d0dda9044c459bfeb748a6d397d79a9d970a07ba16cc07c6cb4f4f7e0a425f00b23ef74c3ff8af69be9673a1da8e28a43bbd6ae9c136987e6ce58fed9d80c82cfd80253768c7a68d37ab880aeb7d31024b39e083b58ec42578230ab48cbd66a40102c8de5f086a3a3cc9e401000dbe20af02e6c02e5dad52e9a27eef2ef834c20c76d0f45644c763b43497a8726d98e42a3d3094a7a537aa89887ded68f9e4cfa83b3f01e4c51f6dd3d1681d26561ffa792193177ae9b66c26aac15a1d08e0b46c01c656428d4c9d8df8fb70effa27a62ca98e5ee0fcdb865978f39287d9c68903ff450032e6be4317d17282bcf72592204f5a7abdf15003e4e1a623ce5490eed7952321a6e209afe460a51aae38b8c51d445576ea0143637e05386ae228621ce2f35383c0784c82a1279f6751af6dc635211bc9c4c12adb22194b85f27d859e5200a949180e6ba7a12099ad36040eeb6c3fd363aebd9c75f64936999b7951f23dee2213cc5e8868a40be4f859a798a10888276c74dd0b019dc5f4702e951c425a5b8df2f59c222eea49266a4fa0a31d828115a49929a580d14b52fd951d4ae69a89604a35dfc05bfd333377b541013af43345d55a4b1ca85034f4757d95ba06088bfb4b991a20ffb41927444da9da7d6c2b4f95c0b4a1d570168de03d6b2dd8efc582340588855ec9e32bf20de2aaec339740c8c73c276e19814d502bbebd30b5217dfa06cb82420cce4d945b0476e4933ec8c863192bc9cde448260faf5f7b117f1f6429027846c72d9ae4164d50923a963fafcf02aa5c8974eacc8e0abb043a113cc7a605c7623d125fdf270a39d461aadd71f67edcedc472be6b673658aebc541c59fff952b47719ddfbd122e610672c3aac4a1c4119120a9e76c1fea686314797315476970a218b343dcaf56c1e91dcfcf6ace2aa1b924bdcc585327c2397b1dca26de738eadb501e0949fd0bd0f046a30cc91fae6e52247f2fbaefbf1a3a56d58e730138871feb89ec809726d5830f382d3de1b7ecedd9b603ff394467cffc034241dd7de5c72bb8371f606926b93bf7b8dfc1f1243412741f0f53c2b397cd3d6b8a07ccf9554661f444a29a8fc85946326482f4b5158b53193c5725041b96f526e422f19a291c82ce9cfbc8ffba9c4ad576d89b5dc6349d93ae181cd23705f186d9d144c23c568be2299f2c4e17f521082217770d269d245dc678a3e2ca065194fd917a338c0a37021678f3e49f69ed6ce5dc31288b804b7f932f582aca45c50aeb4f5f95205dc1d0ada0df5e6e75f560bf62579cef160e828829517f7973231ebeb3170f40c837983108e1a3212ccacca8354f59376c65b112a079cf47f9a8d4d30f1bc10fd5220c10edea216e6352e293614c4d8105bfdf6dc4ad82743b4db181774d4ad8c446b6f6ba72f24afcd52a413d1f473007ebe7448e4c04dae464089644f7901c3fdf61c8a455837cd1df55fcaf7458d6f492d0b0eba5b22e4ca626ec4d786d8ecbd9b4ea371366fd8c05817601f6eadd83dc263e6c57ab6a0cd9199c2ed94429a5c49e0bd8152bc324bff388652a89cdc7549ed6b6434ec4b46cf985b0b7cf02c136cafea2ee2874c3bd41109f577ffddcab89fe1773f5734fa1349a4c91034aa3543acfd462d048a5d03259729b3df968e6e2a3dcf585e01f5028936c6d130579600e0edbb7431c256ce07fbdf8e93dd2086f0694750e9dfe16472bd4763098a556ecec45f48028649e6cb64abf47521a0a63d5759297ec16c94ee4d921072b5be49ba209526678c28554a8af2fe88b8514c056d0f8b48060026e62dea6926e90ccf2fe6f4c073a5a09238ca7607afd1f8e20528022b7ccf7e81e4068950524d5b1c2f28f930d5e31060004d4807b364b08f8babb8eadfd834b7fc51aaaff9879c612c7c9eb235abed832383f4f3c912f65d094a9e225d7e635812cd2781dc916c4c265ac374b3c300271f042968c95b526fd97ba27b5e4306b204f59166f923341c0fbd781eac0d19f696732890644231061d188cabdac39051f4be8b42053276301b7dbbaa0692950c9358cb6a89ac8e4847abd53ffa13aa9baf5771d5ef8e8c47ed132322504edea106cf8b6643e2691ccaab09d7489f2cf9215b3625c978a10b5c4d00ec53c4acd9cb3576981cc6035447aba42ef884efbf85c9e543ca6a0a1fb160f20bd12152990371328312022f1326d3f7cc671cef3efb0f1f5b4090951bfbe27922328d0d41384cf9e66775bf241031c54b1ba674e687dd8e54d8d0175a9cc099a817d49e4a41dd33ca9be99d6cb03c1881eb576e8372a274a948a0a089fef83b48b4ddb031454c55692cec62a8863c76d6874ac1e590731f2d9cf5562e9baae373d4fb10ccf58a5470db56782918c988ebc545210dd1e275392e4461527d239ef0fb3ad6fb6b122e0654c03dd307639bebca6864236eebd22074993c3584f96f3899e1f495e8f592d859dbcfbba3ecb5638436c6302a8d1d7587d2f28161a7106c204b03e1e758de8a93b418d350e6f6a521eac763ae3496125895060eda1f57c44daa34c4d7f2291169fc8f4572f3e51f6bab9f97984363942979d3f001c03197e4326b8a235e21d0fd15c6dfd3713011720009e1f468ba12dbc5cc2826803b4aa9737ad00d4d27de121e49ba9339ed3c0d8d123137722f97fa73dcfeda45482b0dbf693af0af63c2ec78299d2294316022b9021089a763118e2bddde4812e9aedf427441fd9c453b671341417b41dd0a4acb6a36a4c886ce412deaa745e10be59f15696255ae1ef1868ad35e423ea70d1f093ffbe7193003b178d3b24d359de8b8872406720292344f9a4d93e40413294fcf28e8d2b1ea059579048785ee329012f6001023f01e404f0c941e1f204b655ec55d54d6acc0109ae62f5104d0ca62407cc91900a704be46f3df50ba170bede3989333518c9ac808f5b6682e6b85fff84088b830519f36cd75af4113d8eb0d404959daae18fa21de0bc519f5957eecf2ce771d7fbd6cfe9098639c0483d18ef15214d152abb877b0f69ec0fae34428af49744578909209d7c5f0b7c95c63cdf8ee9de165f2d25c2db1a2954a9d865a656aec7bcff04140c59f169e77fd3edfe2a2acf77efafdce8ba5aa19bb282adad67786b4cf0c4280708f6f8cd831f5439da468ebc66792086598cbc5511b778d4a107071df6ede2ca98e1e9a0110be8b3cfb5bfe98d954d8cd476a1f71605748dc5013fa3f60eb738227030690f107d73623f071bddc7c5e053469d6dbdde937d06593bbef1ac75b9dffecdacab48662f595030adf28882285a7817508ffeb4082c1b841059260f0920d84ff84abfaaef013d5c6db5660b6f668d6206c879a84564b88b01881936a6a8fa58007ad0b988bb5e2a1cd2996017f6a62a29a8065333fc477fa1fbff07e930d9f227e4f3d40bf938a90b3dc64ae8687bf21b19a828212c392d648e7ae5eb08b4b796a2c9e15312f37f601c803517dc695357ca3b29428d236dd3ff99a94eec61e60de49fd886bebda3019d82d5c71e8e804c5425a04b21350cc3740774be792fd810fecd38005ab27164c0be10495734bbf236267eedbbffff49a2b0e4119ab88e85148438f9e38f6fb2c34a695da2695aaa6e2de65d51492e53438745f5964dc724687fac49497504281f135402c7d9bdddd4a15ddf12002a78c134eac1445a7636d181b989bec70a654877a5e98f0105c470d651a6a80d43b2abed262e33d54d9c5dab58f9f06ebd80202dea4f0ec60cd75293fcac76f3cf1bf5e5ba7b0005afddcc36e1bcde5ac85d0aa2816f4e71d5e5902a4b607db223c0a47b18938688937e61613bae7a9a9904aa645ba23281b5620f2d82f08b6903338878ba6db180fdb2bb2064bbc4a52838a0de7d3308ca8ccae38424bdc583c0fa689c8331e2caf623123fd16741502a6d3dc6445753a74c6d2ed6593a912af1319e876f96c7631cb0f7bb31186e6ca6b2016a2e0f051ff5fe08cd7ec4064c023e7fc238adb55873fa2336e6840e43169e1fb19c8676800d1f674d32e8031171810a04eb81459fc055b85582afe3e6aa5ec4e75745e91a0efb1d22b1eb18708fa186a66fd52c7eaf7534fe012039cf79a0736565ba8aa3759f2ab04aecd1a3123606ed2a96908cd815d1fc6918a110edf9c4a1c9d3bc82373096631dd6e8c56ec6bdedb6a5afd3468d25b9ed492db6f89299ac9d7d74cc6e191ba14aa5c24a003381ccafe1377e14627b15ddbcc9ea50ee8db3e358f4a776de6543ca2c6daf8b0e1f63dcb5bf4a610aa7d7c28c4dd220c90f18ce26eb76f42db39f87998669491a1fd356173d03f0673bdc5d56347c87c77bd9eaf11c01b1ded994c43a4a82a9ec540ced12bc19978d73ff013452652bac652c4c8a5c8f776185b858f98d7ef528f6932fdc11a4b845c5dd5407e0c04f382724b55b07968e0d6f64915d53c75d3e3a969ffc90fdf073a3ee96b954dcb0e49b8c982ca89eb19b3b1a3e64942229ac9d454c5a325251cf0887e5250b4fd6f265cebf104aa78b2748759abb7c736f5a47220935db4a145f105f5988581baf866cfb1cd56121620e82c4152251518c8c6e9ddc2ab8cce0a7a2004535f2c6d8ff34a6f69352a5a6c1282facd99729718a26d2157f616ee77da8ed4814d1b8e945f32607dad4e89bc400cd150d093ab51395370f2d8afdcd45891d8d298c33571ca798b100d2eadcc87688a9bb1e622d37b62fcf60a76661e069c170725100b9ddd9c51215c15fd5a6fdbd0523bb03924b449a76ab99c1bd1c41b8d478fd9645a521d9033d85d653b66b25da111e58a685a8cce763b200cc4c28892d5c608a00d87b50572f5e0b0901bceb711675997ca87900bc913464e664f416b06228b8bd23681320f1ac5f83bf8a90e91c95169fd66a814a4f7c8f7be58271266131a316405803eeeaa603a3a7cb5808cf80540b0c0ba243eb80a0620305b2387151916c85590f0e6c273c343149da8e1a1ba0052046e880ac0da0685f194ab2710fe82dcaa0943efeaee1ffb2cb46ce8011096d6d4ad52825ad074db28d756ed7d28dd8c4ab31acf596dbd9d60c4c972a8c2353413939a68df4a4518a37a2973a7843846c204c792296ac8c319ad069f7ed96689ac80889008e7b31367db97e56e3281dd06942c03da532a795d3052325207a5aa765fd9bdb42bb533486e5ba22a876a4b526de08483264d7867b1ad00fb0c8148c37e3f5d387900c22826037e73fa01100473aa26942a1515d704af97086fd4202e9d19cd26ef017e0bf8578881d81222f796322599029c075607b907fd22d67ac476efde2eb04e7d3fb58b75ea37ae3e58bf6d7cc3fbea5f493ef0aabe10b7bae0d62f85a245a29268b7d6ef9044c43af52fec76ebb7cb6bb560bbae95d95e80107ea349f2a4a32c252cb2cc6c05edec9b8122168bc54cb6d30bc6f1a5482693c964329a145851de72b79bcdd52822d6472516a623c5e0e04406a59321331463a259223383a229420363c40c669f91c8477f504606db36bee1370baafe7fa6828f8e99272eb39970b9a39a191a4000629d1afaf80c9f123ce94bdfb21d9bec06c7a646e605bbf1c61330ab7a63cf58276c5927d148d89c1880ba2d13c38a3eb6cc47878fce021ac75b3d1a26a0ee0cace86313ddfe6e27b7bf6d9ea56563cb64b299cfb4a0cc713bb2199918193ce337054c21733a9ae839a147f6306145cef9d893bb6245cec9f4f470ee46e6874b6769155f69dae38db2484e12014281a8c0b2c0e672b354415de9b9e7aa30e75b2563c48a9c8301f19ceb5f467201640539bd4daf1594d7f5ff5a34d82f5a856ad1603bd421c58af6edab798472c827e188cd5df18d5cff3732e476a10d08e4cd52d976450fa46882073b90bdc0b521208e76504488205ad0f247e5505fa08e5063348f0d03bcafbf1dbd67d9ed2ea14b972e77057a65edf6a3c0d258b1496182286e004417105840040e51865e8882a4e537a07dd99785d998bf257a69f1318e88ba48ace4e679b9b25fbe7c12a0b0fc7c020af2b04346d5645be093ed39356e746e6eb4d05cd2b830674e8d1b9d1bbf89811577fa7bfef74afe6c7635d066331f1fcea2a7d6eaf2f1033ba3226930186cd299aace0279257f67b6cc1120296611f0f18969c14cc26ca40a6361f303e25549251501c015084241a2b47377e48e4c0e764070053a7804b893b3d34333eddc1dba235365079c27cf87175216a8ef875501106055040057e0099cb901dc99335c332650ab649601f04abe016e4cb9f261506154193e49ecdc9d1d23acc8b520a0386badd57ac53a367aca9a187ccced36b6b0b67159ae5c36c2b56084e382fb79cc09c2fe154d323738d2245f9a3084e5d6a4e1ca60abe7a96ed71d8af37ddc4bdda6b37e931a9240d57ae2aaaaaa563e28ff3b8caf36cf07e496db014e1de5703ed8c6359acf8f2219510cf6728d1ff85efcb879702e33f796db6cc21c027bbd5eb7ce75f355d397b162c5ffe792a499c18a9c03f2728d39588c4856f4c57678e9f0f2970e96de6a169a335125ac2867b7da4ce68e46d7c98b19c28afd7ab58c28e65dbbb617920c1356ec5bdf4627eeea5bdffad6b7bef5ad6f7d437d334656f49ad73c579be37c4d983dcddc849a470401d63ce2cdcd59f4e5ab162b7d812071d0bfc2a4658d6aa91737aa037aeb158ade8e5871c61e30673e8ba68c8b9e34674dda8ccd666cc65a9cb1199bb1199b326466cc9909337160457a6b7fc0ebe52f5ae4ac4a6794466bd456ea6452648d86c9e47229e303f046041a6e82c18a3b3d766aedee8e2111a332565891712b4821234155858e28168bedf4d8e979da3ad8eed9ed4f6ba62d3251c69d17b291002a5576f40bc9288f48391ac91194b82c9446a3ede02ccc45e298f2a9e0aae0aee074d40bb84a85c31569cb02d29daf1348c7e8b5994bed01646aa15d016f310b82ff2ad58ea7f2958e04f44aeea01ed380e8a0c538614519bbe2e1264ee2248e8524ce595ec8bdf241ec8ab2d90adc173627d02b9260c89d610aad92df339228c5625e6045299322b35091b2d20b5694382123411287fb7ae6082b76cc4957a122054a2c669a4458b16dcd25a8c7e82f9a8b6b3bc56861457ff9904b71284efafde5af178f46c96ce41b5e3ba771faa675e414d3187d13d43846728450242b569cb8f9859091a0393471548a0a0a75727be2ba9d3f4001184701b8c65789d968956eca45532e4db334bd32a35f34cbf64abea9e918dd057567e4ee08c148a735d6e97f3aa352d0a7519ce8cc09cd5f6ef3db759c0c94cc1056ec60b0aea89311f577b38ed6d56cb71898982dacd8e13a9c6bec8e3a28decbbbe255f1a878523a5c87eb701dce3be934ef5129b7b18e173a0d4b1772af7c065cc3694cace8d93c9bbb77e45ece3ddc65d275742ab74a81d2d5c9f56c9ecdb379b69921ac5869955669955669355769a491e422d174dd8c0e133687ea77a4ef0f7201577d5918b8c32b39d2c6f795a5386701f54afe8dce7074965b81e2e88cd26637583ff29cd3e4bbaa3bad1be5f8be1a9da51a658858d1697c83814e8fbab173a96aba0081898d17940baf7bebdf8d8c8d86e3667ab02209c6a49b44a549529a0485e4e4f693602198c0ff1899bf0834415624d54835528d5423d5482491542bb9bcf42ac19ed2c09f39cd734ef3553bcb6befe0a48161453aa3383aa3b3193867d0ccc8700ce82fe38aa5d809483ecb00991b1c10041c57ec94cdfe627342e71d038f4d5a2dbf8ef755ab3e8606569436e692820a3050be2c2863442a29eba44c0e41d3f3182968b9d8c3c0977555a01b2e77a4ea95fcd9b363922273536d0c0c330d16a7c2ab669606da240c87c3e16c60ab81cdb3edc0762d9683e1fa764d32af0b2b051103370215482a0421c75ec977bd70b0a30ee68817ccb9f8a0b397681e8fd98115552a17be457b3a4a77b05d2771f8f7ab767a5ad690ff793353549a23244a6590cf8061c50af64afeef4cf63ada533ad71771c87dc5f4e0065a3bedb4d6ceccc08af2d553c45206426cfcb915f41f24c287f034421b1e3484d83c8dd066070d162c0deb2c1b1e374fe36984426c3ce4168df0c3f9363da4c52def7de57d9783f50e473f7b309e285d72641d4f8af57aa8ebbd9f24d02d9b157b6eedfaf7781d7aa1686daa49f830a926aeda0a7f26e5025be14bda4ccebc072115d402d802e18348df426d15f12e5d5a4feacf4805b9542d10be05b035e3bf9a9494399e97eb7dc79cc5e17bdf30af5e2f4cf5e82bef69527d92b931eca5f99af76852dca2f91aef3defb95e2fd52d9ad48d0bad9914a925534cbb3029c7357153296e3599e9c23b64514f7f86902a12641cc756082f42aa88d7e507632b84ff5411d9a515c27fdea94ef5ed52dc0a618ead13886e9d6703027965eef6ac55de1380075672d12aef61bc674013d6f37e06b3a4c7ac10de7b14b368bc57d4ce3c328aec7a2f8a703df999bed3f7306d5fbaee2403e6bbaeeb7cbc4f0fd35d15adf7deb3f7b25a6467d77b19a108d2eedf0e6dca99b4cafb2ee5b056798f4af551abbc7f49f9cb857ca855de7fde4b22ef73d7f33e8454db7ce53d8d54df7ce57514ac8ad2574aa9aeb18ef737a9b649f5cc57de8390ea22bcf2be26d52f5f790fa6980b20f60cd7fb19296612c486e17a4f9352c187b3ba0874cf9347bef2de04dd9a0965ce57de8fac43846b787f6fb0ddb37fbff78ce3851d807919f2d23141df0d684d386f419957e77ae7b2b378d6c2d1d5bcd713a15adffcdb56fd7bd2f7cc59a5af3d7894c22fb4d9517a1bb2af242905faaaa6acaf26e7ae7b58240ed378b9fdbb4bb1c7210a40cb7f67bcfe36fc13d03c6ce4648aebefd33ca8eb4640e458ddf2ee9b0cce67cdd3dd10e014fdce0b9f75a4d8b5be72fda987366d33e43af8354daa68e107276ac042d4f21c50d92109116318f1a28666a9c67124921bc796cfc6f1ba07868edb7c83b23c361e71e4488b9f9999c52734c0017c837ebdc2536cb9fc0f600d7498428a03acd3efa90da434a002affa7d30c59190378ccb8ec9b594db345afd12ca95db2f8bacb45a4bac87db34ac6549952b5bca17142f990201a2b0a2bc2273612d4b7cb81a60d6089c02cf0d6e2f008cdb4bf840eab04e0eebc8771c32e41b1e5eeffb12870c996b0c89f21ae0881472e0553f0fb7e510b77b28e789f580095c4855703912ba1f4a4a57ab7bc7fedc91824841b249cdfb74bd39ab2694e1ad4351d66e7d89031c2fbfcc71cb28648d756acc87b340f8fa2a38cbe6eb4b980525ee5679bb95c857d58e76b42efbb2301bb3447c43a26a409cd5a16a281bea86c2a172a823be21ff5573b7970600b3bc4a007b001047124dbca4b8b5865b5f64db4bce5935078e398b74f31511eed6574265c40f013eb13ce46e7d918e6e7d0f45b034a26237b862f58242a152681125a232eaa4dec28b43ad552bac532db782c0b0e2ba5513d69b15193589a3e6582d94844a4230596ca8c4a4796467ab246b414fe641691ed30bcc1b3b0b7ed88d2f442f306779455e1129ac7f4a915e34679d72be7a71d2acfa45afead76aed0bed8576eb730d7370706eaef802bbb51bea9874b1eed5c13a216ff44a10de17a1d3d129c73ab5be374a1c26783789a53fdfe62caa8557f56bb516a45a6cf734eb460aa3300aa3300aeb50e62c6f8c5ed5c79179372b04d64e76eb9fae74379eea9f72ce2215e58838a7176f6066b34ab3359064bb3577ab58bfe84667d51b4c586b6e060cb67bd1134fb0b6ddfa55a4556efd2a522db77e7d350fbd316b1e39d5c237fac1235bebd32ab476a5796c584da1c84f5cf9b83a691ea9f44d5a3dc166bc584fb03fc14eb05bff74c484bbf54d3867e59c65c3a3e6c1074321e0d7fcd1693cb94eaf2f85e127bb79d333b36ec2870167ac4ccc7f3529166e5e48096afee6e66f4221370f3eb758a8f99bf04f11e056cdb560cbd424d47aab5f734575d2b630cf4c326345335acd769b498a669299642699494c2e9310cce35bb04a072697e965829962262299c9b5c5165b6c613311611e8f62bbe1bedc77641a6db7fe3c7256e37c0ab3be5aad3dba5500225cd1a3ccb8a247f9a2dcfa14c0c28adf78dd554ff60544bd15559fcc599e16bcaa3f23145134a1384346288a607a2f149fc7bbb5aabe87c537defadff8b9bed707fb621f51bdf1aafe3f684f61d58259259bafeabf29140510b2af643c4c280a602614459009c51931a188bacea455f59d10b5aabec3a883800434f4582733defa21df60beb53446ab2a1536047dc5926d06251b05b0b06289e8e602f3f41656dd2ace59435af56b52435a35e72c9e1d396974928b6ff4965b5fccb9a5a2e6f1be825fbf44e4ac1a9bb3bcd15751304f37b6aa7e6956a2d23ca6af5fa295aa946a7c83f42f23141f840945d0da50b4a892edd667e6e98ab0aa96886eed566d8920bcf55fe2e8b049cd571b6fde13cb0ba686b4ba13b037d6afd55a10fc6e865bbf26c52deb9ddae78beaea2b58a7be28e3f277aade648dda4e50a8b09dd4a4825ab0ad7a0517a07ebdc903546779b75ed57ffb20682dd75a836050cff62b145c5c2b7174e3ad5f2b0a8542d9a44830524daade7c551f4c559cafeabfa4ea29558f5a55df94aa63a4482329a855f549295257c44837360fc90556d54e0636b430658a2f8a1eb07c754e933fcc2987cf8480b8cd04121bdc7edb002566b8ddf913c5448a69bec6710c6a1e5e62c476a70d3c1f830cee7c1c1e5a1c831877be8de6c1210311536438bade9d465c70e79f4e3926d3a4bc40c49c7387a0976f9fcc7ccad13fe3fa0d55ae7fe994c36dccf91768968d5ea1062e680184115c9ac062c80b8458810c2a6812041631280e682cb035dd478081156d0e465c523f698204070b0307515a5dc2104450c941a6c5110e5a3d61b76555dcfe58ab74bb2bd7530ee72188164b01c3cbe8cec7512db9f3739a670177fece112bee7c1b3d29b85309231ab4b8f37f8c9010dd99c4ec610756762fe870fbe929474f400649607901892d9414c16231581005092e598a58f9c2734c705f75c9b9806b9443121c2cb7dfedcc8a366cf428e9e1ce3b2d911325371a5ae2b6098707df7c1adaf06021ec2b1108096290db1277f0d79fd43bd0d9f0e0675f892bccebbd77a108240d4d37878a295f5583cf9f71e4c902fd1eb260c3ad66f9dcea57c9d44e8faf982df8fcaaa6a1852114e300d934f19eaddfafc12ac1840f48da6e38201bdf185703a8870ff92af4d8d12a1d13ea9342166c807a54aecf2ac184ca2ac1841ebeaac12ac1842258ba80faf9327dff7af97b34cf0eb380802a231318b94cbb6c1484c4fd240882462d18b99c83cb462618bad3a4c3593b3bd24707500f1f7d32c1737eb03a807af8f88038eb0429e56fb9f23f6902e22c6ef1d178a574e90012a4bb402105154d6051658c967ce99aa9202b00f1b1a3fb1ab220016e592f6441b6ba07eae16348ab0b6d8004f195d401d4c387958fffb301863d3d9bfe9bbd001b1e426ce8cb160b925b282a472f80b182a1258a0c41c10a9e04418105872e46b4f85139fcdc2a7e126ab01a601efe1442302c7f90e671b12047cec538e7ac11f08a9fc8e577e1f21fb99c1bdb15c4c69fdaf8cfafb74bd978d83ddf9c27f6a847fe76f1d394ccb5eaa8555fb48a5f875f5e1ef98a732f299b08c856e94fff7d0e0f32c712f016a573ce19de7cc56f62fef8e3d39c4f6929d409b2a2cc1dfde04209a6dcee658e3e7fd7919ebe5753a6eba5443e327929b1cadc6537798b65ce14fb37c8c895892d8ab0e8a20514495afcf2c5cf2709cc56109d22f62bbf651d2c21e2830c61f01006eb22c9e2e88a2a5aacd85afc8cc36107fa55ead3125c6c20ba1cc6652e3504c183d4b2e13185d09fa10d734b9e66f595b469f92af99ddae9f1d59012dc80e8881862c8ae28ca400c39d8228a2c64b31f5af2f9fa601d05282c1b11a15ddb3c6c446476f9a6591c01fe0e6d765a3d9ec383950f6a80cb164a905cc1c50f2dfcb042450c277cf881123568c9701c21d7e24fe2f3976dd32103fa76ac592010b5131f5cff9635aba688e8fab79466fd388eb4967f53c99d2e1b8d5d9b52da16bf8a3ab973c53cd407564dd297ea98af6658a9c47ae50153aba694d08e40c5ce1e9bc2fa36bfaf348fbdf35be65d345bf39b66459722ee1cd29a1d6b0b0de7ec7ef6ec523216e081ad4fc3e92d854ae9d2a54b972e5dba74e9f45d3e95d2a54b972e5dba74e9b24ae9d2250add687a016b8bedef58af1a6c15ab5a60598b2c77c57ad9753d74faa25244cec9a15bb3e46cd62c1963c156a315cd887a82648cd0d79542b38a6a09cb5a5c40e5f6cf544eae5940b566ed9878d58fc3dd6e361b8d36ebe9993171c67a8ece92385c2e278fe4e56eecb29871220607323fc454d1428c0d3333c820c181bba82aae546c1550d549992b545c555e5760313d90382a8d0948940656f26660a841f8888aabcaeb0aec237961453eaa415c55aeb8adb5c6821c553e6ac28a2aa0e6e9b79100076d6aaaa9c660453eaa5375a50acea6725655a966f53a4aaa7706869dbb334304682db523911c4719206ccb30afb0a21cbbf79f4fc7f1058bbdaf6497a2aa8e0756942391bfaa8c1856946367a3f9acc76d27d7d19af7098c18314852c686520ffe54b0194cc66030180e2c105bb3263ae5e4c5dc60c71752cc13d437644f3444b8e074d0ba7ad42e18d415d3870653a4aa3f6130180c767734cb270b171b7371abe1ec62686eb0a284f9c46491fc4a6c73345364068899245c48719bc901c98c0c5e958161a74a1a1cacf79d2c9236af23f913252ad3e4f36a7cc347132906cae993c14204248580349321130de7e5016053f664676876c7eb46db4e07848f5c2f948efe49272bb1eda357f269f3e83f524decb3e1050932cbfe363c4842bc2785361ef2f09ef45e68e3a45048e96d7678dd7b3fa42584f43c42fa351462b38344fa212dfe2c965fbef8203f4d81b68b57edf474f711df87fae1e2a7ca8f0d7eb6f8a9c14f133f50fc3cf183fbd1e287063f59fc70f9c1e2e78a9f2d3fb71f2d3f463f56fc64f9c1f263e5278a9f2a7e66f063fba9fd50f123839f297eae84c0fd4aabdcb3846e6b953f8d2956ecdb15bf72fddf6bb5f656fb7667bc9ed064cd931c9f7af8f089478f6cdbce5b3ef1e89aaffc6d76d4273dc957eed39f3cf150f9eac4e37d25bf4b555ff1fbab5933329e215600dc8943f122a32060d7df67cde219ad59cc3e7f87d7d5f7f83f4e4d09846b5917c997edd663b3c393a3cd8e4eba7c486b486b86cf3afc363bbcaf5f4316ac177297e2efc2212d0f8bfdaab37c40f79e26dcdddf89bc51467cde7f24c621827adb63cfbb28b0e1017236e62c3923c238605c35efa566bcf7cc0910fb04d7fb2ec20b9899cd68beba28b0dd4f1e343e840f210c326e807942890d63c913981b4401530b820630362c914124079b831e28a96227a594524a29a594ceae67475db28a52ef66d7590f8a668631b2def79c737af32789eb29c79cf376b3ab3ce7ac4cfd0b81d75ea36b14e614415fcfbd2b5a6af7e34fcb0c773f96305836bad9eec7d28865a31bed7e9ef5819d2f5fb42010877c1510b2a2bded34b439a1cba5a138a4feb831f97163d2894caeff8f9becc78dc9751afeb83119ba9fff8fdbd0fd7edc88be0a0875df853f6e4e5ac5f7c7edc7cd4933b93f6eb11fb7a1e61972f9f6e9c76d88617edc60f6c72d3651f8711b6a15dfbae4a90f3e666694addcbd139412e565968fbacccccc357c8ce30278107c9f7cc30003b8fc618a04e4df8e3f5053d9fd8292a93c9d1581193e4008dac9ee1720d6694fcdcbeeb4e57cf190818ef844793d23d2d4de2ed9533397ded953f24cddeef6e9d3e70cabaf3c23166c95777bf1795398468add5deaed62774a0caf7bbf0cfdc57e761765ff8792b37bca8d8993857547401656be4f5b41e9c560a53f217deca60b05fad4e71629b7c462b2ba4a94769ee93d9ce691b3f3649722519a534f089b0951a96394d2cf44ffab5de7cd39e94b7fe952aabacc39a77ba10c49a5d2f7312931b15da9880f39bd501b716e4ced8d90236b348fddd7ae94ba8c3411aed13fd44558a7733cec71c9edb16624b17ae42ec2ac5ac3daabfedea1955c2430dc2ef54a7c8a80db9c95e41aa7aca492b733656d02b56a25d2f780de141f59a39fd9fb7a32a12fe99ba62893f8c4aaee3f55f3c0b02aa7bd993451c74c2a67c1b04ffd4ee419a54c5f48953f2fe55d1a33979fd28827d06020447137e918af7660d64faf783ca4d240dc7efff1c152093170e709610d250d4bf7ab2692a93aeb7bd30e56a69ae8d4b11d6c8b2c2bc92bba402dd472b8ac955e8c943086e517238b9380d842458963b213175bba6c44e444144b239a191129a940f24a9211d1eb6bc09218918b84439180334ca035c9b8c98276c79b58519ad664ea50060723bd62a15e71c561a8575c02c27a3220c27a50d899cb464d8a78d9c1cecb464d88e0994c8523634d2693cc4d1762e028a9b5a1eb611031712ba54cf57074bb81e01ba8071c61f95705a801f5f7e8f7d1af02b3588c2e5650849222644fb4680d40aefa0d506fdce6297ca357acc355e43fa055dd2fa290f93e3d0f10c58a38fe2b66490e493035a9c9c564bddf033237884bee967248e53f5ff4f780ccadb36f4eab64383ff6983b644acf613ad8232cb1f267df6fcacef3f9fe3e9d094a2bedba97b74bc32959ca520e9f7c91ba8732fe9f53a761ed4cd7e98bd30beb7fc0743d1457e0ffc4eefa7fa8fe39e929077591c49c6309dbabdbdfc9ae4a1249d4207588597d5697d27dd620a68e7adcb147a5bbbb4b777792bbac9554ebac734a6997c33041b9f32653af9b93524abd39c59bdd14e655abd620b5552755c1cf49a29dcf3949b4f339a7e984029521879c604cddf7a4d64783d42f941c528f3bf6e89c73cee9559feea41a7257eaba8e1661296d57b54bdc5a94392971e8518833dd9d0edd2077f10c7da462f9451f79a5ea513b1f3397932d27eda894ee5df73edf3bdabdd3f9ded1ee9dcef7d9b5a41e9d73ba33334f9f73ba33334f9fb4ebe6098595125de7b7c8ce9f2dddbe94609c943233cf2e87999f459973855a056b55bf54c23eaf543d9cfaf811888f71c4f9ba5d9d450265c4fc28a54abc92f1813ea1248292641dda5dd30e74f75600b242ab68905631bf94eed2a957e74f14da4817b64b6c17bd4458f9edded25f27303e53b7349d7254043cb1629ddecb641d9621029e58d1745966b950ac586f4be93e009795038041ee740c3e9feeed3f3881b5e224e3335ad9a3bbbb94da1d21e34da33b44346daad5c266bde26ad4c30b6c401298110f4760036ec8e54cb55a905e36e221067796021854e6c1693b839571d98887a22b9f5485bdb96c450ec996dc88011e643ad872e76523265baad1953fab05ab0b4809cc95df43be0ff92a489e19d42cda922f634f5cf9422465b248ce2415499335d9926cb4c3912b5f7e218f5c7e8ff2db25ad24bd9c592ee967f39070495fa70aecd9ad9554bf3be5a8d34b8193eb559e2e86d8ed668d39b9f44d3496bba00e425cfa3754072f54972eb1c1a54f4f39a86a845cabe2b88e82daf525aeff121baed3aea3a086eb60a94592de103369a74abe9c5c93d2ca28e69cd327adb3da4431e272c40b1db8000622d4c005269464d1c4132bad96e276154f96b8dd540063388d538eb6c1376071e74fd8933b875a3018dc5925490d4e24b9e23e81838c638043183977fecd6c872550f29b6d641343466e2841e2f683604d42465892d8010b16dc0e2a84bcd8c2d585151d5851810d35b619a8b82d4397db0fda39e7bcdd595bb3364f399c081b74fb656080c16d2a4662c8b9fdc213b79fe694a37f9852aa5ca333757e85c19d6fb2353c71e7cbcc076377fe8d0d3bb85306425ddca9a2c017504011c28a90112f982aa0c5489ecd18d95f5d70e1f69b9668f5cbb800c56d2b2e2ab75fc673123a483132832c47442ef0e205224c1c119d99a8342d7726312bd594080000010583150000280c0a860583c15016087a5ccb0714800d6a883a725c381ac9a3618e23390821640820000002002004c0cc88d1ce015ced740fc1b1a56f2fbdf41e81a31274432fd74b2aa34e17cb55eaf75a8e52af92f0de018bad8e407a092676754af2ded34be59afd5ee728856baaf62c20362ffa218e5d73e885ab9eefadc4525c9db6fec0d87b81de54156566b1893bfd12d71e280802a5cb16cba457a46cf11887b86cafa6fe471425f72319d3d3c7d1bd9d4da551c5e9d46140c8e4487b2b3e7e9ece5940fd29464d6761dc925223cbfdb8190d145bf0e8f6e2e82640ca83bfe93f90443e3c49ad2a5591547f5e286ab989e5c09be3bd8302d18ff1ecddedf9ed09b52cfcee2ee8495ecf1a1996a92cba6f24afc073dfe0e2c66fee3be9abdbf5b4cf714bbed8618ba86281f22feeebc4acb8f17752ba3d957518b5e92f54e87b38299bccbf239bd0eb490ee3e33545b32ff6fa5119c38d737f0602404faab7314a92e9e973a4c621688cd64c7e8df7271df6b3f940f7f395a10ef37205c58598e5b90556ba49732bccdaf6bc5e25561b783167a549b939cb6d78839a1d7cf3158c4002687f65fa30bc8a715ce3deaa6ee02a28c130cb60734b378e78d85fab839f6ca0a687dc33f31b679e02807767660409c3b09af3988588a7fdb956b9c9a71c5fd7617b42ebaa27c9f6b5cde9bb9358ff8be65d04eecde56987a74fccab12d329e676c2903f423a4b49ab9f2c70e3e4640d4bb2f7279c4ea4439620bedb534402fbfccf861b78ffee9b817911f6279de380a45f3db2afe7854a4aefaa87a252f5b32b2c1f810257c5f55e1fa0c3d71d07c8d54875d929067f70471680f519fea20bed16e0c20d80f54d893d0ffa664e13a64ed1fb80606953766652150cbc27922430534d7015f80de0bbb7627cc08e22112468f11360d8cc4626e263c7c2d26b883e6b8e97b336b8e146bde61f0b551fcd40241628cc38f819ce1aae85ea8296f3bc85584919eb392c0a998190cb5c69a6018a6ae6ab00716b6c80b0536ae4280ada9fe48e8c750ab0b7d21de66edf9d6a4eab9907444a436ae4760bc4cbfaf6ac80dffbb7a255348c920b60343347c5135295b5431827919a393e90753f2cd43f65b3e61dea51d99e90979d2a657d62a2c9191931881842c51f573293079418e43294493f10259d5263d2b94d7e4391706d9750b5f1da44fcd75aec748870222b8772edaac140276fc09af67690202229a04d22ced4ef2bdedd2a3adac4b7291b9a3a93f5993e403ea3ad48c801a12d4d1ef38f6ab6e3d5e03b45b5a792e8a786f11c50716f83d0eb52a35e57868d6d57b70bb845830b4f573d1d98bc44767cb92201741a99a8dde4287f602378db535c8bd51db23d37175d337df870f121d518691aba3a977fb0d10d9c66cd010a1c09e4464b2854ead176fe23dcdcd0dbc884964e00309c09357646960a752854df3733de5e53dae240453f80a1b1831e3103f353cda80502b356964ecd94d4f1bf080698a2d6edc33496fcf25c4cdc2d7cc0d26e53a2f0c699c2e91d92eb232b30cf771f326a6f8da622eae2d983a7821bd96ff6dd4ff696c91128ee13c3f9d650cc8022b55611dac7731a2e4281e44d01398236dd984eb14b88a2cba8cde34c54c20c6bcad77725aad9320d0e0128f72100e5093dbe9d2cc686986f1a06c5f7440bccea8f4855bbd5311bce5284820ef3d5dad10d45bf71e59d29a89f717cedd5c414574be3812e8ef0b5bc57085717635bc23dd80e9932ae9cedce0193181b2616fae07e607de257aae87a8ae51470a40a363d3ebe9e0dca4cebaf827970c957da0277202c16a75c28de46eb6032ae496f6be50eb07faab10352f96143f454423a9f92bdfe944b995d2ba8045e459c01ff071af690797b81aeb3928be585b8801e06f91943a0c1792720a439a9dc3d0bbec682d5db3f722d38a7fe6a255ac50e8659319f6d03d31ea2a7c78d30688acd34608a800261e91a826e49dfc4bbfd2331045091a43d5cf2c3eba7a7a4886dc9d5243ba95a749f924739196781d3cdcff8d9d17960b8322de893f40ff631000927a62222d2c2135f8f71974b154f528796e117f22c53baa38de05f8027befa9f0a7e2591265ed38ba0681fd56e3ea1c4b0c94aa94e44d9e628b784ad553d45bf943e2d7765b70847a7c4e852a02161fcbac10c96e371074ccfc6c8b330d3446c3503b02198c12c47171b0f58e3c3f8f5a5b81fb7d80a17871be874e50826b85359ecef8e8d0c5889fb816e586b7e606be7eef146cd6f0d48eb520ff8bdcbf7bbef698cd38cd93f21f6181f81d3cb03ea06153946305ae0850676ab49a086d74416bed535652bdba0783109c952214e08b54e165c55f8f4611f88959f4dcb6845b702fdaaab3192b2fd26a52005b889176b290b54d0e45813b82bbf2519e8bf0be7d60e108ca5ad3a04661eeb921f201d4d49c600e4dbe1f52f9ea171f5f5e54798bbe6d3cc401f2107ff12612f8fa48a541daec8ca63ace8d3dafcb8d30484932b89f77025413abc459a46cb3b573c97c5e4ef543ed8aaf2ea1594ec0aca109f12f2734ce2c54737059140038fa2bcedd4bf2a5eddbcd82e6756f0ae2943f298f5a8f8b52da8872cf3bdafd052d39117aca172c87f8b88a3a6faf2c75560e2c26b3704a5241e9e253d63d1a8d575a0c91307f7763582b0c369af666067ebaf45c5dbeeaba491f5a360324d1bc6008bf35f43965a70342b95d85a1da705799fafc6b9130409380ac1a2177c6993871a5795b95d22de32cb7250ee2f9382912d2beb073e838a3990659ece304f494e235e9add9dea1377d480027ef846556b48c763128364472e531e30b8112137deffd380b496fb575186cc6afe00cb200af4f4ad040f5b086a6ddc50905850f11b91fc418200a500f6ef29558fce0f53e562e41b540d6f2df7879580a0a202c46d39244c7d4922fa22de6bde096482f6a8b4cd04bd31b5de8c2626cf254b1f5eee5e508906cfa7332b43ec260facc427d474edca16ba4a3b6a3df95a671dfd476c6baec892ae3e66739f7a337a68cb4d28e20d53813e2946ddcd3aee0d0546b349e3de6c52654e2c28c2a0a280b24ffdf98ad05172025a78c625debf9472d40c8b9813eadc74d992c3191c3643a2bd00b380f5a3438f088a3d83f5aa283068b5216f5c601caaf22642aff2d9572efcf4b9fae2a699717dc5d6544ce3bae2b8b1cd86c9bccc34b2e99e685c0ad32730fbf255d1932a54fe0748fcdcf47b0d9a2ad98f124bfc9cc4c12cf1c588f7e0d87d814bdb93a949130ae07a5ba8839269f0586a8d982c3b2ae305f2ed03b0932399064fdc3a055b936f5adf1a607fafe6a136b7e0b6caa6eca5bc36fbbe7659362d8c15c39f2735e83d9806cf6bb1c4245f53ae031ce1aae63f2681460c9185c2f9c9d11809b5432b5cf1bd628bbc33cadfbd6a52103b3890b67a0752d78450159dbe6eaad8ebf8d7162dfc7eafd47badc90e030da0765925df8154171250f74cf03b15af90cacde16bf878d75de289938b0d2c0d60b8c91e5a31e2c424ed7c7218e45cc01d75b3775f8839cb852fa898fbd75ddf04fae7eb404280db60af05b74101fc3fa476ea320311480bbc8228d443ef0fd30a19f8b7f3199f39fd988aab2b14e6f102fc1d9081262715863fa8d33a0ba9df990fe48b872c93e93addff2b10f0b6c6e820d54d129290b48ecdbf5652d7acd558d5ea008030a7b8cf91a0559b17bc41f2ca8421a6eea8595b18224e4a51daf71bb9ec38227dfd87fab08c59e564e5969bfd69127c9815b2ab639987d43db5913df9d9ac109b66ba81e7577c14dcdfc20b93bbc86fcddca4706a8a863442227b87c57bdd0c38f583eba7faa1ea94766bd7dd7aa53d05d82f27837b7edf74a692bee4e8430216543cbd08b911357e60532ae2c9453d78f8fb5bd7cfeeafd5e15fd3eae1c8b58a3e167d60af78c9481acb383a6680348806746851f08dd3300354e87e330b0ccb00b3767fd2798e334e7c2bc3da2e67fda7cb4831b40b60d5c080d26c998088f63d044b9057b09a5ef0a18a6c41fa8a8d3971009514b5539fe809396c72e25648cc0ba1072fa1f71ae795cf5f15821c6785a25e56a3df77dd9056211f7eb206081868962c906c2c79bae925017a4b41b055b38bd9d357a016605d8735ed7dbc6a08625e899eace341b0b894ca6e0cd6dd7f6793bb406cb2a1d468f393392133ec3cfd7b1678d76525b190fd0952731232878ca60468558deb3396eb5eaad8cedda764d9048909bb097b893635c74ad44dc1a310f8aaf2843d82d204aac228c068768ef9e665744ac3368342df6b2d867ee7037d1f6aaac8f5fda5b8a084bec7f70d103a72843ed988d0c76e6ee8f6410a9791507ed8913a99d53455227c59ef44bf5fb01a6be16ad767c77aff92e3d72115e5a9c1c4d409658189e963379ee2fb940f06a54d119dff354c50e3c5bbb505ba87da1145fdc72343fb9e0e20472faa3649eb829151c9859cd23384b771c83d12b09d1fd0dc2b01c3cb05feb06718f15a0219c82ffb4d49f3b440fe46f1f23c124832680540a952a370580124c45388ea514166d77a390576576fcf0306870e18fa0379a500e0bc4f146c3bc9bbebb60eb98dec1bce1a77982b0c8a3d51383061caa90362afa7446e07fd273847df30b67458bdf501b0d7ae9fba0ff37ca24bb95bf3d939c203eb5c4937d83f32558e79fb915b9d9697e9e5201eb979eb1a965ded54ac9fa509ce6cf0167ce79094b2e5c592430c1b1a415135b2d14d7392a8aacd8a5a748f9639786dfe09a60d670dfeb9b40b75f4dd65bd2935e82699fce17c531c4e56d9498edc31a8a0916937f1332872605a7722ef1c2ecb341dc3815eefaf3a6967e3c1d2abcef927127c01d4bfc8ae552b4ed7817e2d362316ae4f97edc30f55ad29fc6b6dc5a88e4cbbee0de357ec31da7426e9f48ed9864408f4155dc35437b3156027be2fc827076aca8f5ca5b2907efeeefe4adb093085b07cf84075e6f8d29caa5aaff68b6b1f76cc8317f3942595cada945d2536d657ec467936df4976fb7c519d6cfbd17f7c03690dc58973c0c8701ce46284bf88d11cd6cd0ca0a7eb252601baffd98293721ce7cede30df73f145be47eb19fab2472bf295b077ff660268b4bc426f673c0e24b999bf5c0dc0e58adc90ac7e9983b62cb4359a7cf8b28919c6fe6579b913819565ec87f3ae967a054d7d1cda6749c6eb1e78da4c2ec99115a006bf1f3724eff518d83a8d38cebccbb2e40ba9bcd618ed19efa4431c3d0762261181beb9ad2a90825e797c33bee8d8b4c13642a5cd6c4010ba212987cc625ea4acfd804c3961c8bf55ee7e56602f48c009a06ce80aec54d2783d2978fdd066d286f2a4e238598b14782a6e3056d23ced29f0ef5a25399b374d8586ed28c464a0d0ffc8712e6b782e916e57e9446d429e22e3467d80d6e1ac0a97c5285968fd13dc0ff9278adf972286e9bad9ed35aa547bde1e2958e9400ba8f3046635f6e0bd03341e41beb0303dde09b5e6a18075525acb8bbdff9f0234b01fce951d71a5c8896edf77b6e26429c977b16ed222272cf629dda9e1cb99922b203e217aeb2ebb3bbb571063913887c43f7752771c2000ba491b6afc3ba618d56e51e6f76cd24a1356d7bdf03eb170b112310139ac331f334cb41856f86c5479ebb188cd58a912446ba48dae00b685be3685cc70c7ce6ef2da615fbb726e78ff59ef3352da992285b4edf600160bb6ed1cee1997fee2ae417699ffe2fdd89b3d0a8a2953382dd0a6ef6243e04ded049f63285866b3972948a5b16f62bf8a120e6d8ec56770f312c97f93d17af344ae795bd205c4287704fde305329da44b8746b0dd77e78f75cd6afd24fb55132a605bb741bdd9c4da27e55708e99e9ba9ecd7dcfcdfc82a030bcecd14c17bd2044a2fe82c4a8693ea458b9d9bd759d059bc4620b2336ca84417b0d4df4c987e428003133016408b3342005510ea9ead085d02eedfd7b4296db751e852471ffd32c429e3aa3bcd0bc0d429462986c764032b9162202e30926613514211b96e774659f03da6fa55326606a78d6ef1b53148215e2c37a5b790ad32148d573a65d2bc2a712081516c3d0f9107a80b2228146a18e901f4e3ec0532666060b670be3788174244a64a0d239955bf6f5f63c75468281073e73d8a1ff0b122e588e3053407e07a2aa01b26f505baed55f5d2e45dfd2649a4054584887430c80acee4687e979fa893294c9be3e7b0a81eba54a09b72c12039cac3dbec7ddb2a4fb0f08e84e2d67f62699c203595c8412ec3523ab8e31c0b41e4e6acb345947d33d2513e8b434f0ad214bb2ea9ff97723d017c40ebd9c188ad901e4b32022f53b60ca1510ddf8ff886fc4535ab5054bec3003822909821dd56d7e7205d2f938aaff1b9454e3de04b73edb77654b7f7b33490fa63919598f0ccfd2031357bd2ff8ebcc4c410ff905d98e6104cc0dab609027cb9a1327355304dae4b6677759e8b0f75248f188cfa66e2a33b3a48cae40823ae3f8114302c598134a8e9e479d60927fd960e021fd9b1a2cbb6ba48b5a70e471722671362b8a51874759853a91375facf75151ca8791ddeb3ed7c50ee7e9176db12bda7f454eccb0641638956675ae14a1cf25b25318a2c906d29e4ca2132ae0552a7043ad21aa06c0ab030293eb2a6784824c125053adc9f4b97e5d51a9f203ef9ec59b23a06af47920e4a1e0a81960773c677098873d1eee2af206ac95af82ba42c0ef9504d778255a3b630ae16e0b61afa9f1a0ea1bce0f8f46e50682dff98de3055e053cde3bc63622e6d209bc47eb6f2b26c22dcf73d37d05546d7cd4e86643f0a0ea7294a3cbd9946aba7d24b16cbb322cba5191610155fae47dd98d2030c91fdcc22e4c89b0037749bb4071590b43281a7ead69692669164fec70718645e78c179766eb0f3b14c7c2cb678fdbff21ec26d37a6dcbcca1d90e883cdeed2d284bc98c0e0530c298a4684c06e3817242ead13f39a48420e26d8c5fc90cb7542debb8b2c248ad0659065f060d9dde6a5f68c52704e9a2af2f9011d62545eaf7418fd94f921db766f047b5b08c746e9d8a0ad0b110003b19a01e2b1ac5121089360d4dc79bb6565888792bab8032505201c98c691435cdb505e013640312f80576dfc07b2fce682ee37c4ddcca4f33d0305dc6b5425fc8500ca46c3ecdb2de6e8109f4bbc9747e5ef050ae9dfd354dde8f0511e00b802263ab117dc7a1974f3289e2c44992052822389248cd3d37d36b9b5a46db05510560014fe2476651260f1b23115ff12de111f01e286af0595bbd4d92b3b008a3ed531db9b325ac65a857aba5bc8b86e0b3382e8f455f3ed3ebe6562080ddbe90689af1d7a5cb1e7fdfb83de9ee8dc5c5f81363437b2e0eb02675b2db8627cdb6003718d4e685920c26c7442de6b7432265aad3091e403b90087a4296608ddd139ccddbaeb9bef3776688fb33fe13b5d2b2f6eaa9d83890fc62a85150e2b604f1204673402ec0f2e02dce403e24000ff551e3cfd85e1e020300c427925b8a38a2690bfec30f4011a130b657cce5329e6d11ffd8fde0500d3d40b713b8b13e9e99495ab7b2cf3910d53b44136b5b0966c62e29b90e1c472d5fb8ee2a51929e395ab2484fa7da3ca37b04e715b03ff9d3835d616cc9bbfd9f0e80858dc13ac4ff880b40802419c927512d67974b3922733df94b7b343d490577eb1fa6be856a038e2533ab8ef82877e545ed88bdd99b9c0b591abcf38cf25585e50f52181f55c6050b1bf353ca4b2dcbc1ea56ce7047479f499e7d3f59d1f062bf655e23921798da83fb41aef4ea1218d7b5f0fcef56bf226ab62d06e5ec2154829e5c8f88d3d7d70108acaebf0c861bcf9a4ee90ebcb5cec45cee67bf9a269c48a28ad914778eccfee85caef3d73e6e98d6c82fea5995f407ec74528947f43f3fe5d826d9251e60d08d02d576e1efeeb7589eb01d04a0ccb7f44c152f3cb87c20ae50ca6f545d34096066c6955cccbb2bc92ccbc88d1f4318ce59a7f3506107ba7f94ab60f1b6c277e51a1a0abd29e9ed5c69f36aa9b27dac3173927f23a34027590bb9d5ba61d409466a13282cc88cfeeaf97eaed6a46ce17f7d42c45a685ea2004ebcec8fdcd093b5020386b30050613e2d352316185734e2ef6359c8fa8f87efc1c397c5ddef45d557a9f11fe65428ef296f7d65ef2bb4d35dfa0001e2635c4d4c7b024fb4449d146194a9fce30d51b724c0aa2286f4bb6276314c0e191eefa54e66d6c56a1a47bfd6145662a30589a2f598c654085e72451b77d82af156e4645d6dd4b5923f5e1a100238f9400fa59672fc96a19c6e950b9de6bc1860d460717967ad3dd546cde87c901e16d1eb6d158d21559cd7572cfbb49e48338b571234d9fb8a4afbe54effdf44837e0f5af60c60404b1e3d341a11605fb9155d7548d7883bdc3a74b1b07bdc991f6cbba65c0aa5a9796434f219e0a4f32954b654591ce2d282d8d569170fef67caf6f9420503deca4720b205156daa52ce61d2205dafc661a22e026bf39fcac2584a42152eb85afb064c3a87334f5ff0283d49dbb871d8f01605ad86aba4c1e7b1e0082839ff6e229e8c5639d8085085922a3c02a974d5b82d38686c5b11c240b3b2fc291be290512f4ca19caf1288a7b56d4120ecf7af5da2787b0e93ca96a0002942b63918deb7c99b3ceae0e9901636e5a1604f54d22efda41d6bf43e9ae89fa9aa2c313c236237887204aa312ddd71eb6a2474348bc406e66005a27465bfd8806ca5ab30b8993ce7252e4f2938b8a9fd7306e967d48aacf89c2f5faf55b29367cd2a552ad014ff19f0295be39191975753c033efb2f4de17fcae681e4028c2bc221767d1c3e3e6db9b32b0e90e976beab83482ba35ece8e4229faa3f1f0d90c15ca8b0c5160adac142a5bcde3c224cacc3518fa7edffb39be9b0a738740a9bd3afae4c2e2fd3e09cb5cbdb47c6668e7c3f974f60a984be85a9d122f2e21749cdf3f1243f75af6bc7dffdae62cdd1720833b4f1f883aa96d1a644e0492d0300f8b0eec97cb6a39daec4617a7d960fc0321fe10ec475ac3face4ddd0216af319d68fa514a87d723c89ebf8bacb8b6355ec771283422cf4edb6a9566b4f7aa5d59bf2e2082e7a9827b4e5d3f8be3692d887be1dc8574a96ae0f9f8d23d89d983244a848c12e2cf80ade70ef3ab6c2d41280ed04c3a12d24842c3844f1ed94ff5e122d563ae1aedfd400a8f58c1c05e12b25b1ada678e3e2f14c6b5fd4d1ba323e34a9ff93f41b65cd51414443f55ec83fb8fcb3c9867bc190d0b74d792a3c57795c170210ce546792c048dab082279fadce2dd188099e2d869420e4b1da6c0551caa2c5a26faf140c2823fa264e0137932c3c93fdd9655183a508c3a5239cef48a4e15868c863a1460f02e35279c7d27f886292902fe8a4802a0000ae18bbbce0f30bbe2bebad12aef1c1497d16d52c039d65eaf5d940de5c6fc7d268bd2959ac9bf29439e2b09a81f724f15d56a657384a0233536429046183e77cee14c34fffea69bfe51020f86c28f585e3ea13c15e90721e8f341d203aa932e33e2f9b1db073abe5ee0923478c92a417a0f524647ee67c2b8dad15a35a2e283580781897d86c77ed446ac5ad324c47aa1cf3a2d25eb41533a264c54920ce097f34dffafba066695f94b6ea0c7960ac27bf49dc4e91867818e6c3c89a89443268f3ec859c9c6e49f24c5af89b82ed2b81d54d9e3ccc6eb3bd1d73079c4f87252fece6240ad9fad1cfde54b1587b9c891cb7cd2ef8ba3070c81697b13b0083ddd34de8289651c28defda4db5df5c31183fe27edd3a241b7e1b1a8cde0d0705fa6e26a607c076ff4a6569f9c4e07db6544116e951449030313a403541fe0bf29438ed85077bf52d2c45076d8e6b66dbf6bcc238bf0cb0bac1f8539e9ecc3a673270d2848bd2712cf93d18e2b2324b49955cc817412a0871db695a639243f7c3d87dba7ced8b33f91ed5e778073cce98421dcc7e08d366db66be6655cc636614334df0f57917f4842480eefb13579f29ee806d7590534b348f2a0ec7fc7a8a0ffd47e20334bdc8d1798a8634b80649561d5323a399535e60fecdebb24b6589a20471449a3de5fd59ddeb93b5661bac5b98bb409a5d6398f2db1004afed01941f917790ada509f499dc2f45d95d99358c1657f3bfef3561745302abc46825c05ce7c2cbbf2f53402f257f06536be833cda1ca10c8154a004c882f02c6b2b69bf06550f9badce87b812e2a5f4e0402a3800b485834f5d7383301149f04675e3431ea5672588a0cdafeb70ec9b946f225543b7cd09cd3fad7ac9b6b4b038bf415df706655a5d815990ee0d931139e3cbb5d3accdb4c8961428d6d65a8fdb622058a203a60c2d29373f405f5490fd6c7c18cf14312d949356eb24f005a5c8dd6735815ad98446eb93a4394f5df6ab827b1b278427302a3e52a86e632326a046e8e0463575c1bd4e792fa106891230b4d82233121d20e93bb1ab5dfbeffaf328eb69de7a9c382d54a40ea1d643dd852a039fded8cc3870ca4e1b603beca45b94946ce9cceed5c7c513f160358447db918427cc2d3d1539bed998afcbc67b0191193f03f617cc3d4d64c068ab9ce3c15bbf9db7dcd416e0f31f5a217d109c786f884f1135cd440200a755134183822c58e7d6dd149633b7ac4377d1ee47f1316b51ac0326b3a0adf39ae49b98a4eb5e580bb7ab3c3a51cda76c02e4b9e0f5a0e5ba0ddd6566207c4c550857092ccba0fe9811fd11f640010514e0ef199c4d33ef976aa74aa4a63996e7895cd0a687164953922dafff05e0822170f2638700191eafc7debba4d1187535cdb772dca26af618f472c892bdc1aa78dd8c9d5e97800a23f7761b9d5bdc16499143b3519521a5178ec0b026a72554666c8bfcbfb5a37189cafbecd38aba8661eb568d513d6d9aa2a00d0e06bf98094aa6e3b9d03b7a6653ef7cd49b9f7aa2de7ba6f114bdfbd48fea1b8b20d5fa2023ac9b92e2c299f7f6caedd6c5b3cb461a32abe90231bfa9173adbdbe7465916697694038e67aa575e776ce9af0de41593ddc2a8b1c1d6b7f67a50cf202c2bafbd85746c3d32e4261678477cccb8535c86b42287ffd71a2318c1bc9b6a1af42e46953ac4f5f41ca785590049fd716b8b13f5928d6b4483630c89e02225bfd6025f90a16f441357e6cf85aecb0e46b1321f46d824f08b22e4a491f881d8687653dae200c41c3c4a4fc652472fb56b8423d5b5a5d50157b851a0ac8fe6038561a562b6b023cacfca99a1daecf7f2933e4d171d908e897f39c2428337c5ba1816430ebd3ef0e34c3156f2b39777c4d4caed4949f8ab1f2e2c8683eea58619605c34f5f9810617529c67fe3bf0423f1fe12f3e0678982f143c85e5ca6a9080acf04b25b9956811879c583d90a4506df4bdc917eff72f71e0fd4a1d0195c71f762a5a790097533b871b314b5f9d1124a9a2798db1b511f3d769a74ace209f325e3a6f25a816df0c432bc1d80b4018496bdba144a6e488f122bd86f14d58cebe6dea294a5c7dc1c3272d843630074b31b14977008100a523a31ba76cfc987606e43fdc39d7d3602227e904d92b15385946c6bab171f5760210f66678e0eb47a7cfe0ffa17ef4dcbe7b3d90c9b0db66044d47ebec2b7c54862a61da00c2bed46eb9487b52537712592c7619c80f23d714940cc3b1b6096bd866290d5c82e342a979c1a64a35e745780fb0644692138d09cf209d6a414d3899184ca3ee63aa2b20913807880003868dd7025ac6d6054f4fd654521129cf777a35e958f47771a57037013f951ba25c612b121deb34a389897741f7cf21c01e5b9f26af457f06b134caf743dbcfdd52b28bef06335afb81f26e005b8afa252456fa8d4ced4727dd87c2dcd4ea5033255076ccbb1a26fa206ab2cabfa817e687be7473532020dac97039b781b7d4e8d0199f24d74b3eaf5c53b5355de6ff14bec9b8cc03c34bd2fed3e4af2bd9391192f21c7cd71663d0371245a8c5fcac9d927a337f767f88d62ca707888a970d5e774ec1531eca5ac85bb2239c290061ade162fef39320658eca3c27b7f8125934b3afc1177d2b901e14d99108c7c4015793193623b41ebd786e3a287f885c3a3c548f746f0202de492cd7b0d1f69fd8be22bbd5a85d24b0750de73cbed0472709a1fa4327805947d450156c11294e3b614c06bcd52439f971c4062bd2e085704fd33f3b7e665f5101b7106792698c0b389d53cb56982d997560bf82f64c6a228f7c6e482f317dfbf0e4b24553cfd4c4d63f52053673514f69e32dc67d24f48220bd2640efa4f59a44af9af40e527a9bd63be0abf75aca7e1e01f54698edd03b8a74b3782072bd64d8f338162df42ba82f91019f09999ba48a61e4cf1dd03845618b89fe91784ebdea0d69ad7d99b674692ab0a0fd71f2f54cf9aef8aef3e2cf5dbe9cb632f383485f1c5b9b0b692850670db8693380f5d87ffcff15980f9e72cf2dd47e0233f43ad1218894633e2782ffa61db806d4b9a70e3ad0d2fa462036b0d46f09d4af77ebf5fe50ce4d25db3f95642adce8a789b7d3e6c6c7ddaf67523a7d29ea0062057bc8794d41f8dca219069fe4c5c0742e8e8c2afd0a2a73d28db05ab98fbec749777e7caa0507111830c90a445fb3b4eb8fff2097c251dfc58097261b0421047581386d20f8a3cb222a3ebeaadd1a1e578ec5f9fedd5bb938456b137cf0ed39361a525e69b98d8a14ba092f22bca057c2d74cf960ce5db729c084667651679c7d488a78b3893dab1afcd44015651ae16075b06a6d562a94906765374ce872225314395e4c527947775383c0827dfd63b633c111a05c49bbb36b6c4868d124b91ff355ce8ceaf6492bd044018607a24dea94bcd13511626a2cabd8ab640f2a6dfa8ca2224a85063ab59f095e8fd34c7687b843de0a9cb35a6603cdcb5084702c145f8f41689db9f6607f6cf31ca7fd7a85e8f7ce99a2a30ce081104dca4cf5d1b6bc54c0ac34f020bdda9391c7a8f46ebd195426859a4bba1ea851f9db3443c0d644c3a45eb4aa3422c669caa5ad1bc4c7c515a6535346d5706234ea676137e8fb2e36962a6086a1e1b66501882f672974cf75514cf5bd414baca6783fab74c49434a4242ddaaf1863636e7e343b67677e3da44cabe2d4050374567aa40f6738b93e9b736fd0073429854fb174bbe1ded11f185946f8a17087af3bc65fb5981b4eca8992dcb453c4f0d1d65b578df9acbc1a394e095ad124d16b811d935e8905ef149956ade11c2671ed5b5ddbc9337c1e237ac0bca9c7aeb942bc8308452c97fb5b5a6b67b64458c493000dded9800844f01099e8108b0d318193e042347f6804dcdc7dec2b6d81712c8eb3a0e694ab7a3a8d9f0712225ae0e90055f470392ad702d4f7916591f9e498b67683e7110a1e934dfe38b8f0b4f00d0636a14d0da2c81218397912ae8937d4837dd807fc7f388a468bdc929af8f1147fe6e85f9ae182b2c495e8eb6f4d2f65df6326f5c0a8afc668414042051c91a0c3ff9bfd017fc0ac1f2497fdced7b013a2c8b9ece6765e09ef3fb9407571b9f193e64a3883e47c5029e046f2c011aabf007002b734e8651403fd58c2b1b741f98b4a1122bc01e77c7c2e94e3ed7c092573e0ba1cadb6631f037bc42e1ed486435488dc1c8997e748a8923c2f7e14f6be188956e4838516b438666a7c636bca6198482cb8da8630d7c2b641070fb68b040bcce1077a5730374c4ff04a7bd3c78c068fa844bab47455d3e6f2f7424eaed812c1da081055aee51f7f1acd1267cd8a7de3da31b75ece4f1440ec1b678759065938f11d3a892dee9309e3da601b0a3ca0f90146fc967bfa7190c83ffb804c57c061483af11fcc9a880ccf85cd7b165e1889a4b6d22def41123f1b1152489f7435694065052e2733150de3df02368d2d38b9406b2fba64d908f2809d51134370fff2d104e53ca45ccc9d1d5cebb001bfa811488642eb72a8a3f48540f35cd1394b639b7167fcf75e707304797f8794f850380a70fcb39bb467391c8a5f091840b471facb475a00111e6ac34a678fca6da4acaf6352a60008972f323a7a6149208fffec7f066c552d816050bcf74be0caf210ce5a13fe087b8ccc0fcd65659e0eceb8b50522e5a931986464e83e516356b707f14555bb302d774ea623d1570e3a0487bb3112a16ba7f113f4500086e9a895fed2e588900419ded104a2837b8cdb47da94a59c486105a558b6b7f09c01f4ba827f71f4aec8e0b9f57f8bd1a4c6afd4ac6b1aec7dfa78f144a94777d0736cd65f73c828f596130b4a6cb36ff66b62bec9317507b31fc8cc0e4c1fe86ff6600f5f98ce9da761832f4f3cdc02dc195a0fcf0975c329aee3e1445930595000611cf98d1c9b247cb80552fbf9e6ca7ff0739bc5b4aa681ec10441d49b7a76edc5f313faf90c00bedadd724f4791b7870f16ba4300faeecc2da9f0b9ce212b4a0728fb220fd33ce180f0b1c5a3eeb0f64477d49deb1c8ab522037622edb219e64d290f852f4787a8be8e41e8b9eb62e10dceb900aa652f4be6246a711f8d324f3577c0ae274a39ddbd1710c001bd556f2a616d8cdbc448b8df7cdc2539a3d0aa7c28acf2546361cd92dade7d2885dd0b197b3f80ce0eca755dc5cba037a92108efeeb011fd4b8d879ba6bff0486fbe573582c3dd57b7d32a7b844aecabf036a848578bb3905c576d5280094732411a3065fb9377a11337aaa796c62f1469a8f6950b72bc5db46a82885975e501fc0a6f351c007f87b473e5270adefa12a0e7e512b9265687932b3b5009933d0ee6d97619e49f429378d81d7f6963269ca6415acccfcebb9596ec395b7c1f9c1c75b5837d8f6328bdb930f60f8f836f067eb31b0926a06cbe03fff63715c84d9df77c2042ce621dbc2c18b5f7efda734c649d0af65b67350caa66d689ee4cd05b5bc96a05e719d6db1b0e4d2e87ce192f349d3cd50bbd4be4642b6c16ecde8143dbeec21ad9f592d426492b2ba5dbbe9304829292edb25af6e99c5ab111eaf1d79a8ca594dd88b7a1ea3d45456e246960fa214edac7360f3a5df8331044818f00e00fb8d3b212ea194f75b32ee537dded9ec791819fb7e39c9027258456faa76cbd40afeb1ab93f48aac0752c00e2110ff0b116d7386f7b963bdd01b6784060810bf6618d6b0864ccf59c339b44d2a739caaaa823164fb451b70c5cde27fc181774c789ceb74bc89d02d9f92def6bdcde293192c053feebcfcd7c10ec95f7535cb6811fb925e32df95ae818de999a281b7af98185b3bd173f655b1386af8e9994ba7b4e8b142eba85b1d1459d1691b09439c2ec3edbc55e977ed64d37ed0d6d64dc24fde10bd0201346a63901e70c0d91c5fed405d4a4184b9c8b005704cce572335840c4f3c6356189c254946001befe422b136a2101705538187b8b84de75a01dd5f55748b8be30e40f2cdce4c153df6f219166ca10bf59eca5369bebc53f4cb4d5d5a91f8edf8cb7bcb7f4500bae5d0464e92acfca71ddbce8e47001a7a8ad29de5c91d1bd8cc139b87a85a65b0b85c43f6ab15f34441ff01294f6dd03ce713f129720c0932af23b65c2d23fe2fb93dff538ef359d9a410b69df431fadec152e5afe05dedfc2317add1bc905549267b8cf5cdc75f2da19eb4189d5d638e1b2e8f95d4ad8f23822916a71d99efd864732016a6b84a8ebc2beea93e7d79c0167a4ebbc39336429e879a5add2794221f1f1e4065e5c4511df57989066cffea607a8ed61b84749f0623fdbeac530881eebcefbb09b26735c47aec05a0471c9976fb24f0ddb25899128aa29187e5226c7d1804bdf21c0afc7b4cfe8c680056b3899e93f8d3922f8579e6eb4efaff5d1e82a266f44f7e0581f881add146a3eef5990fcf6ad499c4ad0b0e7551d46857821eaed10ad452ca385dd3c29e56c3329195618632d41476477b906e5c30fd1c70de98cde61938a4a29f39cad2316628563c6135a4a136fc52add6fba00b82a2b0f8f2bb8cc1adfbf061023d84011af109c31c67f3b530ecc01009ea645e13da7800789ab7b21c11914118d454aa2e392962024ef83ecb5a55b6f28df1bb994f19348ee20236440bb794ba1c102bf6197c58493c59828bec6800611ddc566f1d516da179571ea0a7d6e1c534c8eb92756d39b3086fdabb945ab77514714e74cfc7ed19fc7de7bbd264a8a570f4062d1d9e6705e910c5832404fc3773c28530024d6d216110cd8a7f514f752996e9611c6c4f17a0a49013241a41907d63cfaac22f896cd28e31e277fe580c4036d70734fa22918a81afab95ed5d2cbbe65e662b22c8fe7f239b51cbf1cf7ba47001340908907f5b3be5c03cec65959ea2b26b88b3c2510589e2fe42325e7eb4c9093acc46eee2d2d9f3289f0e8079af22b1dedbab360a3e4ed7d43564fcc79559d6b7becad9a153e6eb4d46abf993d46d59bf5ab0d84f1470f1d25acb0759460c6e38ffd209a65b1df1e286da28b144eaeaec9e95838c203a3622062380a0d503aaa84306c1e3961eb7060adbd69a21b080bfe287801ea77fa57655b0891ca39d4fbaecb82fcb35ee83d8eedf175dfa7bba806f7a4ba88798cd8a7a7b03b8a72146124946ba53a641fda79c9e61f0d4adeaf8964d08cc08af58ae0322b026c5d0dc0b90de73ac1400f8048010c54860507cd42bfc74bc1220fc64c1378d563203656773359ec54b4a83a19f632f500eab20954215ae491b41dac8c0272942cd3e24cb7f11c8761094ea44a9a632afa98aa9faaae6ec0f28f5a93e3c9245293064201d4c449fe0e34aaf35fe3030aae23eac91bf39ebac12f94429ace8954a36502394c938ce0caffc5d5bdf6c39bc838fbb173f2a199c3fd403fbea2426da4a3a3acc80ee59a84439f1924603080a58f9c3446d2f156f50959a05ddd099e19c2597eaad0763ad8a3de7852c3c3fede2f3debe1d5d8ed729ef9c03dba7afd15a46c78cd1f82b3854fb58066e1e91ab0a93b87d1036a4374de805408b2e5797f9d02906394107980286d6ac55a6c099fef0d84e15f0aa921cff123d9a0ead56db9cfa00197639a4aa710d0ac6f298746085e552405cf9700867a75bc430c721f4b829044fe8e3a733f51a45ec2cfc5abaf3f5c1600dc96f20234eb337562e0876f965f441aef44ceeb6ca9c0f92e64bcfd06338cef58c35c3853693b65273f069c6de9f4f152aae5d963026ea8576aa3d256ee89ada894909057b4c6dadd7dcfffa6d35c01931d71b6d92746e75e129146b7edc07b54a6f31d23292bdd8af0a8663277cbbd0a29309fd6aea2791ab6bfbdb77720636a5562fa9b5b973d9766ca5b08426488c05bc0fa07033c2110e946e8e2e220f2069f660d52565c9cdb266ed0f3118a7ae82cd70146c48d00c0a3d81168145137d2150529f7740ed70dc6e7be3bf48033cd5607059a4220cefa3c1ddc7d5fa1a507615c9bd095a657b53ca4829b81d413dfe02a22ad2e4fbaa55220ddb60975a5ac84540a466c991c97bdd82f788c5d08ccf4a94a4dd3e8a33081aa8237bb2ca6169d5e8788c8c0bc1b3917f503be212d64720bd36c0db67b0021f50f1e150be257dda63c06b86c78b2e11f61192579a3df67be354c10123f912e48a5d86446acbf22fb8839d0c0354144035f64c1eaab517da445fbf8e945c23d536667a367f3b3c9f3d1dc7543d37528f8b00bcf6dfb8df1c43078267e5a0615c5c02ae97b8d3dfcda50c0d4f86ef70c4a5b8894da518c172cd0747e9c73fbfe0bfd79a914ff476eec14840531ba7ef1d3a08e1529ad6a11a3718d595c940eaa056f1d452f2cea5b30eb89778d5b4539d7b89711ee6ace0b490f57f3ad9cb7aa0ed45e2ec63f9a007914b5169870cd4e21a4c769a9b26d2a2afd16669794237e14797cbef19ed3a2e0a553a7ee5632433fb66a55b739cedfc02ab97011f814bbaf944b793160e7c3caa279d88c0b5a7eec1b47bccb700cdb9a1db3f5b776c2eaf2d35982a91e398b4b8b7240e27a24adc77f670e7deb09bb175e638a5b2c3511ab8b13cc9468d813c5a2f97468bf1d1e0a12cb791b1bab653a13b64c345b2a7386daee1e9c0746b4aa27dd061c30c302aec8347cb3f6a92963b57d4aa62b194b17efc558141dcba776f68506295b3323e3bb6cf4dbec207e06194ad229561a000d995aa318e26b738079026f82c4c45456451ce67cfb265ff7c48040fc7a9d4b82de002d14ac290dd1332349dff2755438bb870c7381da170204c283449cb45b4ce35b1179fe13305a50b2f0efed06dce6c6512d858172a3a626e414e4ae8c6601e1554397fafd72b7fcefec3cec05e1d8d32c91f165e425572c5c6cfde79ec104023bc9b59dac23abaaa73cc975ee2a9d9ffbf77e305cd0d8c0cf9934896adab5be2ce58ad1e9aeee0115e34424da197092cff6950760e9fc679d7d38dcd2c8b0806570841d0f790003f2425ea249f098301bb69feed5ab25db6dc053fdcc1ae0609c10f3a955ec5d2d478e3ed22a457dc0cb5f94c67c2e5ab39bc9d0be78908da44b5811cd0289969d06c715ab069930791cfdb5119d2ddb1a308bc2d9e86768bbcd040b67e45db50a7c90ba6c6b4884f9d4e371e38f00d32ccfa7abc3e46e7e45d4e631c9f210d8b62345cf3a6ce375d39c63015b6156fa56531ca9f1028bebc5165ac71efd653e72bd70d4af00de023d04080905542a818dd832b6e0f3d0ad4de14b7f957fa740136449e1cefe4c60c8887d677c9063c665266c9cc45d3ea1a47d7ba4a40c951dc7314a518a0790491b98fac1ac034bab4f4ab197b187c36aeb5a2643eddbb9f87fe0680cac04ecc26144ba0911564b719ad803cf6fb31a936cdb2d93c6c301af30447b3261d30944fc0c3e5b71a43a386fcac47fb942cced2f904b04a1e51017fe96b0ca08be6a60714b02726ba241d89108033f6e40203f305b501ed46faec4560912601c2de85b9369124bdaa740300172f531e583da8af39b8d9cce30d5e61485da36e900ce66f53358660919dc7a7b5105d9c87e7e3a8f3325796723876d489ba051aa73d28a64c3b037c5023f92e3aab695de444c58503dcc5707613e8bcf0166d01346589b728fe06b6188a105d6b93f45d16ed231aa200240bf68600474bb8e870a1219282125a3eae1066a56ff2f44d2bd1b55d9d0df2876d59d524d7713e971bff3e1bd32714b655a8157bf6963203eb9f374a026c3fd3f01ea58b717489645d807596d142f7553fca7a5ac43340fc11d8bcb6d646933d2acc09019624a97a2272d5c925a7a74f417c8aba5423dc033f964570b1882c6ecf6caf7b4af7da732f7006697e60290079c2e22e4e7e95c0ea09cc2f6f2a2e5b69c9c4408f61d5e5c800c58a5e06d69e45c9293d2ce478cde1311fff8c8a3c328c716121e6ebd67f39bd4d1c67db831a1938d1427da9ac26927b958426c5223612dc27d764152224b81dd6e33011c8050ee86d272630c0cb09a700e51b6e45d6168dfea8f67430997a9dc9e48d84c10ba03c28447fffda9239d825c997236f91e8ab1da2601147bee2ddac431b70f83b0bb13698ac0ffcd47fb04a44d98a59624795010443f0efc86599f6ea6c0c489f2ae5e17684b60e6498aee50b4140b2f47c57448ac97a386b5ca2aac90747ebff9c82ccf349458f506566209a1db8efd6d3d07a2807d65fd150eb0ee56da2bab70fcaac77e18d1d90274b9dc50887dd349490116d59a2ec115049faad936568c05f18d16b24b012cf11add00c61e0f4b2afb5864a44bbfa82e7215a942aee133734a08456593e8a08331cca37885044b84d119d8e516cde6e8aa074232f5dea1af31a017598f132c7c29cb28a0d50d76455517ed439d1dc1e08ddfd2d0da60f221b8e125bcf6ac167ba338139fe2940db768a46e409d166653a7c650799a2c58ba184c48b4177022cca859cc596039ee61d8f7e44e9c45c5c1793d4b0d9c6565a2f6a9b902fb1ccfdacd8b72fee2899d5bd19bdb348a30f5e21a99ecb10fb6c8df78ffd8d7cc35bf86c52a38909297f4699792e4eb7cda059154d0b23ad9471e3d812b9b40b12dd1b9841d651e3b4d54c892a6fa0d95ca7dfae283c41561c9e7a2a9ac34d056440ac3eb6053b8f616eb0aadb590b242fe34d63411ad22b1373d7662228a8dd4ba7b2145ad7584553b25413a5223ccda92a2aa8fab632850dcc74d50475ee252fba3a7f0f5689351c1d4daf6cd911fbc2128e6d19a869b879594bcd8f6c13f7b043d331ebecbd2b9b3bc4a7cedaa7b19826df85495d05b624db7ab85b1bbe63cb5965dd9d62e47ebee05a58b6e552bb6c734491231d84da9277882a37311ddc6a0419b5acebfb2031aee440c517aa075e701c62af976d7b93f0787b9bce1280c9fad6f8bc91ccf6d8dacac416b82c0c533101d1e481acad970456ca2a654371ff71d21e10321b6f916222b81ccf3f4a24278044f092d8ae162b51190a007e7790e85ba853b2b36ecca208a2a591a4c7eb0c1bbbed71e7fd94a68da0932156dbc29c3df23fc63f46ebf90c76981941d1d216fd7b3b78f94fc1f16a43b6234c1596874a0a93b478933d2cb669974dbf65a4888f3021202cc1a35616b6bc7b48a1212f1d7cc4dba83f6e0afe3ba9ef3434fc93fb3f1836ba47128283f2e11a3264d29f554e32108e0807e49d52414267fd9b88e1df9267a826f29e3570b3d356e1e634ebb0c514307b860e7b0a5e435e557feed018263795eab83932301effb8f4e226e19b574a2ffa1c34ecad582048fd4b55d3667645a05fb62c18f89b0aa39060a02cc31575310ffec79284975e5c34837db8a3fc787aecd5eb83a6c755b740bce70f5a1f8131581e834751dde1fec4acd97e52cbf56fbc54cfae777ec46999736d8ac3f27f124b39d4a452065a32110b28e14814437c3e75c60f1864d941f523e4c010c96ab27e4d6c6f12145009360a4cdc5e5cd89dcfbabeb26799a381c9e5d2b4e0d33d3100e2d93292386bd9298c598f401636d55b0c50ecd9093d806f1cfc884bf20595b81389f330f63b4f396cc90a16513bc528bf45b5e1725ff043d3d5fe84051f3db9dadd82050453436ae768d6b0038ef6f2c0e520554bb908f3aa7a114a0b98c9aebd91f88829fce296e34f2ae19ad217564a55de7768ccc416070da1dc7c5351c6ed7e377e0b6920503d5ed2ff76383dd03ad578b850270e60b8c9c517a080b52c67ac0358b944898377d3c863f7ed5feb61eb2c1296915f9affec10f400694b6306f35ca51aba5a69ae2f9bbd0b09ce2b6a279b0e92f4d872ada6706cc5b4d4229d35e8ad0bac1820cfd82143c6670d401dfe66d31c04bd7b7812ce82b732139e940471bbf324266ad80ad1da2c80521cf88514dfb50710436495a596f243070ea7ab7787db3276d6006b44b610a36fdfc7d19cd30026a267c0cb0a6fc09b8551d6f6154647b26d953b3e021a0e3a530209b2992674a7928a0d80e67d31aedc31267d5e86b0c22ef6736bd6bf4f8b0e627d637415d2515565886cf0d3d81159acc2cc02bec91a67ea8fc01d37a4693714046fb3019615348847ab21ed11be5c1a8cf47bac324bcbb3366d98645de800f70c76a4429c74678510344655cfd434656dcf8cf799dbbd6aaa6c2556b88f66725f68e2f03552718e122cd43e8f89a53cad125b7913b5289481c9a34d0fa894aad6768db86f896f66e9dc8f8c44b4a7bad0e692ff9612b913f35ac3c2f245d632e96cea62e57255de0e7cf0ab12a8fd5e7c57ecba1acecd7fe582c2b4bda1f07ccca64f6472c2b867ded68618da496a14a175c67371c91966c3e71821c2ee98eb0c0a071c2260f06101c2c3524188b0b8fa8a8d5386b68655828c0846b544902e6a8f52b51bd4b9b41bbf803ef1959ab5ff3d5d2986f7a023204e3df14ed4ed07834dd1c36105bd85c1b66c9083e5bbe787df820bf7b342aced7abfe934da287eb297031ad334e3df57b49dd642c160079b0d5025a9f82149ea88d7cea0f36b441512dbdbcf16c4b1d37421ea8570db7797a90243870342f0e50b66225b21d33953a90e73d9001032b92027a855de30c209379d354a351aa7893c446306a2f28543f448ce14fb79c6be7b8d718468fb209c84dfd8d4a8558f673160261c0b68027bfc0c66b43ac2c4695a1963312a3533781896931c771e49f3803a0b6bdbd254791098f51325d300b741d36687dc3c8fb43e8e1f27a8667a5b69df95e0333249ef5ea646cb0f53678b09ac8a987b0870e3abff94c9542a966f41f391d5da806a53b31e6d927cd36afc0304535ed903d0e50fb0830fbe62e484693338a52a92683d62bc06100b489a100462e068c8c609b77db244461203317d313a46b84313df77f7a210c4929a2cc2c1053d08c158cc7384426cd3b96422a7842491a81a1f8484404ff17c6c3ce40af9ba83549befc59d2409c7ee46d13d17b4354ebb47fc763d3da372d9a1ae41858d0c48b525183eb28e42f21c55063cc7ddda1b749ffd5d81e4e51a12bb2bf68c8e3ba9d120fbd1a323a5bae7bf0bf71ac453e62f9963de233e61da41b7166f666971f99b127f932349b57caed62d4993ea6a02e477e6dbd26eb674ec39f17f81f5d4800ed6b3585a847addd53551c9acf263839a1ac8a7436697b9937caea00249b3b336d63c331d737b6fe4659217b74255d58ebe9ca3d59592231738c2315b032dd499e2f5f0a94462e422033851ee57186fc4a6e52db6622ea795954f67d9d412711b06b20b906f78018780c8327c4292a6a7572141e51e09e3b642bbe7f09393fe191a3440eef7ac87a6df263f5f77f03447581c7632664656141bd3f64be95ee2b7ead1c70455e8df96af20a9cb2a996fc9599e20745569761018050260bfea0ff62c2cd4fe654d51303ab166fe30a23af008c4c06dabb9a822c1bbc7353c3d10da80858b1cc7c405d26ee3211a83e2a0e3d63bf2a5c40f87f4a024c033d0c9d7b8035e846c164df9f2a2dfbb32ec3307082b43029a4ff0b643e69210fe670da3f9b398a5232f41652dd18c48c8e2f3472f890ad44aa0ced7e349549e51f4d6250ec1e830facb0f1ca4d7a99ec0b18201d26d68d4c726a33bb1a8fd3e0058dd4dc4dd6ee1d13539b48657ca31872e9273a67141699f61aac0c1a11834c8dcc0265b4332e8d3c9988490fc2c002ea6b528ca6ca29f66dfaf3222c735e126e50e277c365b30e3c970b7c091d6bf7cadcfb7ab51d2c1781f13e3e766cf424b9bd35f25c06d1fcf3400a610545af372ee2cef71e4a1ab2003c21c549073a212f41737b75b08d4821995320e4320afe0c405467c3d70de98f77465f4e8c2d277b704c6333bca9fe3daf3ad9aa5b11fea2eb2e226b7e8a837c72a179657376d69c9f8cc0a4844e919ff11564e7218ce3390eac0f68d5a74cfe9819be145ac2ae8d4225614b14335914c5fd6f21ce995521b52d2f6a12b83f4d276b22bdec5c784fa472d09d64df36864fc1a2f2779f191dd660f349a7add0f215586f7f94b0d1c263416166b2d4a2676c78e146eca1a3e13fef3da9e4b6630ba7889cf91c4c26298981b0468c3e4c926996817a29cd264be608fd9bbec36420a0acbe1a87d180dbca75d6a2e13b3b14f574a23899e492d039e079b9097ab653ec8add747bdde464df2ba7ad5fb9ad0d38bd9d9565d96046a99b45cabd2d3a4f2d8e407dc8498ca7f92c15dd646a0024fdeb54f8bf9fe673c26ef8cc4bff2d61579bba6b8781dafa089991aa23d17bd305a2e9e3381f9cc8493fc00c225b55273f16b9c5900571579a5bb52b9458e842079104b95fabd3ecffce189e812f00bdd1e00b88b1cc48ab299f89c53eb05daca272b49f425b1c02d188eed3652733c2c30c8ed96b8bca7c03aa7887d1d6b22e18cbb223fb025c285713307613f28a1eb56d2cd49d7fb2b3b5f6a050c2e8d8c8474614f36abc6a5fbf769daa4b549f49bc4cd32a692db188a86e08a4b8b8d682956f672b28adef99807e363844bb9b45eccd6c90213024d14d5e5978c75a636d02767d268579cc8fc18687183a11be17f5f3d63a4b42cd7c424d8052e8a3f15ab25050e97ba60a966d95839fc1b6400829ab130a094cc699131f6e83bd1b817db8692f0a477392ab09e372e007cc3b9b3f9b5160f6d3e4646fd8acd0a286916b079fe0c9d4063ccf74ea5df004862df4197726996cd60e66f040aa43e6c537dee4e66eb15d64d5ec6ad10a2f45387c4fe7b907b1a8c16c031cd57c8a829b56dec8f15a96facca78420ef6e3f98f85c5998a76aa0b0a69e816e879e8ac7d8c3273efa45d63126e1cd7c8005bdfc6b534ef0b413cf9ed905f1b6c1e68e300cf6221fa47251315491377f6f3ee2d17647567868038c8ff01b5414b849fca9aed812ca08459c6a448f52c8dd08e9ae5be0de8f7c5bf723e1653cc1b6c7c5d3e0a0de4cfd251f9b5436e62193ad1d37fe37c1c3b84f7b939c8275ffc9399987670f93b113ff1a361661d58586bd0b131bb7b8b6cb27c60495467e08d5c5bc964e22532f46ca8f43e796309aea9f04b2898a001c570883b546d5dd97204803353b9a59eef6a298857149107d5d77c7a1cc484fdae5510e04ca6568a55d5bf0a1d5e8015feb400ef3f6b89f17a14e1c7b49d093c4a92d8c61fb4c491b35317dbb808c9505ead7990769cbd4bfe794cc5f6fc2ddb76c48d197b5271690990f4382fcb17ac62d0456f027c7ee70fd0e48454731672f1f61b0e526ca6186e0171c726366cb0ae5b2b68dfb32a1233046b6090d5708470b29fd3e176258a8f65064442526c2ecb6c073c96aa0a2640de430b07e6ab51202107933886ec853a4800484f3dc610bd4677d4232d141c5e6f7e2fc2832824b59ad5104e42d25a106d7f35f000ebb3020b433b7a0d70c0abdf02401f88f5e589c1c54c7e5de9c1b5188df368f71118b39f42b03641a83600da6c42d3d412dee87e1e5d20a9b141938c7852a544be1a0f1b5f16c118e9a9c381fd26f7948b59ff6cf31b8e7abf21621ba2cd8c639273a61810b5a92bf55caf4e923db68c8897acb6313dae963f234b41796f842d8a5b232ad62a116042bed590dc8ba01dcc8d915a3c6f94c9c04645f13b03f9499cde454754635394ef55d5f275cc76c56c76f1dedeb2dedafba3c264959afe76715728345e6c22530cca6fcd08a1c50906889c738d5b4c86672ea701e6801d33d2d7909c3be2a7cd42338f258e00d022a21f1b7703f2f77cb31ec40ddc16c5597e40b74449d99375a3ce12473c4d1299c1c72aa2e6e22cf85ea6213a2722a80d752610990c9dd5fa56c67c4031c96a6fc3c45a3fab0909f5261b9f90fcd95bdcc3ff48088606e91e41becf9c7b05c0cc184d531ee446c80c86bb1cc99e5be88ab151d6bbc33b54c9f5b286700dff08bddf95c513427cc828ba378f1f69374e0ef085b44dce81937dd66286dbb8592d8774ea919882297f9d0fe0af51153f7494c1f657cdb5f2584c6c8d3fa00c07575c0936b06b86b5e14a8cb3f79fe8e7ec0dd77ac1e04bdf9132bfcc41428b69da76b4c1548c9c40c810f991eefe206c6a6e5961dc08bb3f64ff440a663ba4591beb590b090c8a19b0dd54b954ef23ed402387de2e2987119b65aa76c5fd5e0848bc68e9605c45076bc398b9028cee719bbdb35173671d8000a1b1a9fe77908d3bcd221848f217c81e8edd5f6b81b820f1b53a837d593930206554e7f0eb125029c59030ac40a985810304815e7d2da58489a8214ee6f7273f4da15c8640b209e77e3de9a9c5a4a6ebd17298edad575339e26c2589ed2a6241cbc8d58782313137ed557bdd44935cff56e30e973ef0863df259ab168ffb7fddf5eaedd524a2903750a0309cc0850baa7f5ef4d73ffb9cde7fb647513ddcb66df35b8cc563f6928fc65aba5bcd954f3cbe2489ae443cdd005255542a0ac1ef043092a457e14f1e64992143936b070050399e01b372fc08aca07292e564c6670f3731044aa9393e2e00f55fae32f08f1675a82a448cf7ffc29a6445fd2a5dc4dadbeb0760526dd59aa9aa62f4e014bf73299f758809d1514ea63fabe3b4b68957226bea47b3194a42677c530fb7e1cd55bed8fec2dbef52ff756eefa7d995c50497f39ca6a0955d7cf83c29478d5f3c3b88c49cdfeab197b7e146a1353def19a2529bd76b57d2b7fecbe3e7fcdb87d6bebb18b7e7efe12ea5e3e6e1f7f01f7e42f82842f396e1f7677d6dbb9120fe216d9468f85132dd442eda49ff26ba8fcda4927e141cec485dc69c36030da1ea96ef351f732de79c76a703dced9f5db7569a10ceeba5a1eccc1fc99a976dc65e53729c7084200020f74e0040e6cc086063280010b504002117840090d389a614442d101462000510820b8431fbc100a02fa01804f062c2ee85950418af677b915b773b3d152190c3d91cc6f3d09904480e30329a070c3845f8d0b5460023420e000062c40010990810003144084183006d00510000f3af071b081062e5a60d0b34205cbd3f1a83ab559ecf565bb1a95ae2fffad65e1f9bd2591a0833939907e68188108547409018e1608820f0805f1400aed0a1d406183264eb8b1c1121cb00d8124076e1b30a1833736700fe7650e94cdc64d03bf1f2619a86185810b5459a0023082a0c004726b24408303371180c008473c208715f57a409b2255a8cc0041d284959bbf0407e4886800035270b400118e98a1805605a3048c7045828c63110272620e6000118c18a100232441001146308228c6086e4280118023200ca006c4ed440c0920860f020043ea850718b011ea406512e4630288836ffad9e0890040830d9cf07131820e19b48041648101066a2ee8f923bddb96b27701189ad42021c5029710b4a830a64b93122e4137bf052b306853818a0ea048510a111a23a44c8181b021cc96209a1e427840228a941b2819c6e440839bbf65733b3c2f37dce9725872e8870193e6b0b89903e486214460e8e13a06c5c0819344124d6efe95277705a7ea4877c8ae35e747e77b45b845ce9a28ae7ab973bbe9bc115b4d4805daac0338a96b08cecb10578aab7808e34414738818bdb8f96531f60dec05a3e8c260cd596ab96dd1529e0228c1901f3b7498c2c648d20b678820d132450a1455dc52754a5b7c4c2dcb18debae9de8dedebf58ec7deb1d777d945fe1f3ef69ecf4fd090cf67841b14513df7fc346e3c8e5dcfffadbdfbc5ba0f8b5eace78fe5bf2125718d0022ca5bed1a02aeb2c1c93d5b6cd295dee656a3f3770f77b138365b676c779da1cfd78fddfce9265b5b9bc286a4d2520da16c4955f778ae7499ed0ddca5e72edd7c2d61aa5ac2d46d9b09956b6dea5ee63c4de747ce7f0030189c732e44a5d80c716da0493d71a463591afa01564609ef49006870f8c04d5ac60bef7ddff78500946584effb065fe8d865d8ec82effbfef0004896390211f2719689f37a7adff747076384d8ccf078098368304b700adff755f2dd10c3197cdfd7075015d3a96b0eb2904fc7f77d57f8e9724e31beefebc2063ff098e9620edff76d02008f19e392063a5e66b0cc97d7f5fbb4009b521ae2c2c8d491d2f8beef900c6a904ddd5012dff72d410b2a7cca4b396491c32e6280055503c30551e45456d9f3034ce9f8beef520fcdabc9f8be6f110bd8c0a610dff75d5ab1040a66f8beef0b15c0d03cbdefcba48285f48c122d618a23b71d2eb470b610fe8385026b22dff77d89fc0e50f813efcb8966c88feffbbeb01bc35f9d1834c663ce0c890609e3fbbe40562a3450f010c1c210f7c64c53643fbdefeb829ac669ef609969a8ece0fbbe2edcd278d93a3b5a69c8f0b0f938cf90c39a90324d1bf2e97d5f2265d74f2b523bce9ad88268e3fbbe4ce9f04c2327280393d2a0996267a876d0429810b41f86effb1a792d51521511042da99808e2d2e1da217cdf57c8c98249e4f8beaf0be6105792174a13d0a6f0e0fbbe465a4f5c62ba366ad28a896647d72e702da531c88e3a8fe8c1b5ebd7ad34b5a1a22d966d71fd3c2a08395db3906da89d6c5fed0b38a9da79cf1d771c55e5a3eff6e5e6f030035dd0e0fbbe536c3f4fa4afe66cd3bd9c4992c6183c24f6fc35489eb34d03651fc66c79fa7922fdf9006d5fd2fbbeefd3fbbe53dcfcadb5d586a07bcb47fb309118f4c23773f313f952a3384af4fc472568206cb5c3a9e7a7a17db8468be439dd53e7a4df7f3e3ef983f20fe5274a815652d42801454d892b599af8ca83103d9f901893020915c4d840db4233c71e7acc1c11878805366cd3848b364ac6107f806dd026c918229ad474a3040065ba10896e5227d42270e842845316f183c626898e5d1e9790c1e6e6cd700c905c8948aed0846bb6f8202a7a93f65e279c704724f1e28412dfba973dc03d7fce5c913f25db62cfbf227b808198ac7b38cab65f679ab8d2e28c1270c4d060ea10c9305d10062acc0da7eb2546f5fc30a68a698a615ad1c30a5163b2903720f161720688315d7047344020109a1d4da6c6fcc0036bc22a83143c21f27c1084432497045614103a5ec32729be27c6620bb00c8247aa16c7177c30022bd310d100cd173140d420e305cda4e931b3c403157e7ce3a59782395f72d83061961a9fac2514008105c544a1940d365c2075844b9828d2145aa1613a1326cc0f30e313456cf0841029342f96686c024a0646268460437b32020aa31151805802050091ea082095117160a4108b0e185ca12a625152bc5264217d0afe2073e47603429303b5830f70f60ccc958e8b1260a0c07043a81a769efcc085cc0e266a0456c1ed50c20b992fe7cb78a688a62c1fa24885563b3bf4e042468c79021b54d4908c1972f79eb972413d3384942e5867d83491a13a6b423637239a265b8846aa28324494b9a1972676b4407121f3c60c40b00a9ca91ba2506085368cdac1d2850b192cf33432c1e48675b5854c9c527dbb48b14007316076b47c9c9a68958312212b2bc53142ca22350d9ea46840428aa94b139becc948946aa64b7178a2c3ac7f024c982298543d1609ee48e958e272c6e44415d84841415108daf95e112ee163dc12e596c3d496229cb22d22c90f3a5a6990d0c0021f36b1028e89a197212e0b86658839b465c4bc418152992daf0968b3a3179c150faf17a39597a9272edcd314547067eac90f2e6ba6aa505931492216103723d46cd152d2a476a0518b7350d0a589a29ca7a833f62621442d092059c6f0154903e5cfbe153d882582d8e26871f3dbf0a1e75bcf412401ecf971e497eb9e0af95968a056cf3918822750de840a6936e0144b86fd802675b3756012984f1f3621d8a4419f379855c82cf9ec827f28e2a503d6428619c9b21a30a7b273c028164c46ed1f70141068d8e417107270ca42be1dc11b0e0c0a3777c05f7c88229b624833fca4c244bcd128b0a2c9c469ed387d6021b5221847159b0c8b608a676842904b14e1b874649305d7109a09b0eb4936ad945ace288ca3a4c6e06f7fa6ce265865751c2525d57fdf85a08810140455669d2ce6be11994a7f4ef27682b29695feb25296b2959498844ee8797c4d5105ed3db589248dedcb621164be7c34b0b9497f59e97fbace4a59292b65a5acd45b3f462aad69c13489190d2788c2e40393189ca02509349aad0fd140b1ce3be7fc39109372ddef58dc827f667d748f3f8d6d730fd7c9e9787b36b47dbbffce69e8f327da47dbb7f3fc6b6c5fcdf6fc7db6cfe57b3dffa2edbb3d7fce7b2a740f096b1c3bf7ebcebd8b5ddfc6e617bbeeb7fd6e57193c4ffb19b8b7e19e86fb1cbae7d9df009ea77d03706f7b945c4df37b2cf8fbf00fe2ff823f08fc89f88fc0bfe8489b2549cab0748fc7c0c0895416479625c3ea3c83ce2fe89c6c1fb7e06559eefcedd7fd463c4f7b23dcdb3eddbe6fd7f2ffb1cb65d09ef7336cffb6e7d93e87ee698fdd5dbb966f7bdcebdab56cd7ddcaa03dcf1bd91ef7b4e779fe68cef5e88c87853d8e7d7d8d3d5f65d3df61657f63635f84bab04bba3a6cd1f9e9b7682cdeb28fc1fef5e8fbeca1ddc33fc6a62c0d166f19ff93a7af9a44ead71a1e8ba559060d1272cffeaa26ba741c44c7554cace9b7c73cdbee773f4cdcbef5f7d7c0b17dbadfeaefcf4c45dbc7f3fb69dcc82f2e171d193521c9de7e12cdbcdf3d0f8b5ddec3d8dd27b9b12721c98db548496eec796f74a3852c4ddc588b74a3852c36b8bbd72e9a6132b00bd47dee316c2d79bb67b19b534da494ea2781151099d63257aef4c083d6f72349e9fbb31299f550992b4c9da8d7776b85be3ff7b62d9b9cc847aa7f2d5d2e17fa454725d0a86123051c48af0b3d2106eefcd15e91ee25f16171feaf87ab309aa2d33c3fc3cc3f49c0eefa280f518f943f6f310a6bd916f1764f0281eaeb1eb8f3b9efc12df6e7187b41eed99f0201a0effd06584a39bacae0fdfa3376cff3b622dddb3915eb9e692bdab139781ef63a16c98911cfe75ef73c368713f373ac1fcbe9efde28fd5d8be4a47c5d8bb47efa656b24fb5c8bc4f3b26763bf6361af63d3cfb1b2e7305619ebc7de686df1ee89bdd91af1b478f7943aeceb716ced559686de6cb7a2d89380ddd8cf9029312cbab04733995dfcfadad37ef643bac7d2b851637370f7ec8fb1298ddd1bbb3416bb45db9674ea1915d049f9401ea6bb23cf719de8e791bab8c74a3e2eee79a42efab8c5de8f6375eed9b6c71ff42a340bfd014a3427dd8ffbfd6a2f68fb6ebf9f68fb6abff7a73abe9d37b9eeed374b30cd2333e358eceaf5799ea7d747599ee7b1d9c5adfa5f8fdd18bbea7695817bf467a8ff6a73ec5e7db4cde1c468f7eae7e03deeb17bc26afe11ef717fb47bf5c9fffdbb5c41f843df9183d5f77e1557fa9ef55dc54492be4bfee509317037fa520379bc8bf3063873f073f55dc64822d52d9152aa512001bbc0dbebfc6ab632788ffb19b89fb16bf1e3ede3bdb97b5e8ba4fbddaf3278ff6fc4fb6f919c9c8f947b5e6bb47b24ddef5abc7b722c6fd38eaeeceb7958f4511a8bddd8ab2cec6baceb77d8d9dfd8f47558d9db58ecb648762d7a3dee46322586522efae87ead2c765516bb3b2c766f249b7b2bbb7905d7cf9e6473b7b1d8ada52f8b3decf1eb51986cc60eed9e8d774fea62f1ded84dc2c089d4468d107c4877924afd2262f3270618b7a1c939a5c43d15b6f4855f2ba2f8cb96533bae7a52ea4a64133b7cb4b436b71217c8254b1935b384c81223493fa4a8a0f9e1831315a3ab852032840e6d863b86a4a0eaa947ee49405e2b28c0165aa8b2c5c510264a5108871843662b494244ce36c4299f30d132583c0b9d42cd1498607c203987305140f6e044861c7af2a6ebbdab9e24817e80839a356a9a9a6498c16ddbc029c2504c81192bb48cfabd57c7554f8c1dedb8ea8954fff9b86038ff67b6a459622c9315b9a4393faa73ce9d7c4e9224c9f36f9951f7f093322addc39f1273de92b6da17e67b6f1e8fbf17829cf50ef2a0d741af076733b189c72cbea3e8bd00125cd240e5b7be041a46a271ca98aabc64c28d984b2a54d511de18d75061a31974aac95002c9b5504769a176120a91a4bf9ce36462ce3997808530dae2fc8d06fa612a22b184ecc1cec44ccc44625156262a05994aae0324fde9a33eeaa33eeae39149e8b49f3694d9b281497f7bb8877bb8877bb8875dffbedac757e9090728a6702afdf1200f72284ee45365abe4c65a1b14abc87a730dfe7b00123a3d41edc8ca3ac5f4978753618c45adc94d250f8b8e57c6a956efff8757c31c95736e22cd1eecd485f49787d84a2f650f368d1a11c042fc4ac52d72663ae2a35972f91b539ff6549fef0d8533244a2c64f9c08103b7d06ffacb4f39caf844ccb760a995340b394bfbc859390b4dfac3618a542659c2918d1a36746ab89a72aab18fa65a23e89ee6fc2a095156ce2a73d6f6e5acac9e0a02e456b51d497f39cbd4da69bf7e51ccca627d744feef55492eb8c772bf64bea726c582856f1cb2b897f495638103b9a5fc28ee2a0f942f9134eb658f7c8261aa8840d208e0945a1061236e945a70fb0525c65f5d4b111c5241dc36298504c6242f1e7a2f327490e23bf0533a1d844f78ac222135964d2406491a9e8544cc29fa4a4094527138a4d8a4e5ac88b4d45a6225371094799506c2aba407db60f69044c64317172cbe71fb47d48487266704d9fa0cec95f379206e27be3d0403a87e1dc2a4856e79cbf6b3aa775fe76e9fcf3bb5ba40fae9a43d583ac8434e1bf7550b9fa4df67136da3a8270cdcf3023fea387d4946bb62b0a33cef6a8fc564ba47bfcb15bb457f2b16b1eb1444aa43f1cd5b3e99a01c5af56ab2ccb6fb5f6a3a699fe48a5f973ceadcf38679d9ebffc1f580ffafe9343bacac8eeebf1b1a7fd5535c5db7db52d80315a2194684743287fad77fd7eb3ff7c7a1ae7bcd1b49becafd773939f8d6ec3d6f9f32d7c283fd1e98335c03db845e6fc65cb2541b18a34f67299bfdb16cf7286085dfeb34f726b9fe4ea7c92bbf3492eee93dcf5935cdd27b93c190c3d699fe4da3ec9bd7d92ab7e92cbf3496eee93dcddf37c3aec7429c6e4565f0f1e9c074075c7cd4da78dad5680abd901a85819dbb1d2dc7ff7e818d895b1d82d95c8fdf57f920f303eca3021a90a5ab9fa63b0dd9117aa8bc275fa94cc3203265aa46e0e4f9124cdbf44da97a4baa4accba2d59230403f2dd4c2383dbf54f765ab2557d4f4c0e2ae9a1e6f7297e53f409a940317d2218d06795276fab14a7ff9d531f0ff5acf5f6b2dd4489c742b6bdd627512de75cb424cfa1d179b665062266bcb94259a4e1005f0c80a349801e3e647fb10be64ebf97fdca4ba6da27b5863a6266136b38ef1200744520cc4d15849f24528f7fc01f892fe789033357161120da45b1d307c712265e59aeceff5334330fff543fbc5da78f5d73ddc73c3efd5cd5f0a9de5b867e2305dff4203b9da1f52d0c6ed8bf334d9dc77d97e4ef782fab6e95e8c28dd5b79ebea6857bfe7f3d26614cfbd7cbd5f9d6794973863ce85702b776e9638ef588bec58c5d631103dd17e746bacb5fe9f5f52c7ffe325cdff634ccdbdf7b320aa755cf504d50db0432aecfb7f7cdc20afbedf27688848137526b3ec588c27eb086615720ff1c6f33127289da06c0797df4cd56a1db54c9fccb33e8ce589fdcad35a79742c76b9673fcf052bb814edab80b8d2a076c671b47d2080805be02e648ee7f9fbbe4a40824c4d499c9ae4a7a337bb4c9e1ca4effce37dc95cab2d5a79be0349b9f4813b2f7bd427f63c2cec7f3e7deb3ef747ba5cbbb63ef7d83d5a5bb99f11fb5c9bc38911cfc33ec7dac67e06ac855d5b2c06e34741e1d330dd507dbf344ad03de3a9672fdc6e3b9e1c0fb7ea763a1e6fb7dba1b637c8395702e7a0a85ed0fba83dad4b208f487e74d2b01916d21a2605b798825b50c93b6417fb0a14dcc2a7ab3ab6f7c9695fccf72b86ca51b559eec5f3a97e02e2b37dba5f10ee75eabfd8f5535a8ecdee0cadc55eb77eaef63c2dd1eed96b3bc4c316e1606c5e62b30fdc62ff0f21e59392d2eb293f415d19468529ce8c57a7abe94903752f89f0a969fb72949c43dfffebe5a727b2acc1c03d86adad7648e35476e7c666a26a7b02027b802d8ee92f37e1611326d9a3ed93c566bf9f06118e21daefb2a3c0f11ecac3dd633ce6a8abac272210746fa883b52453cbe6b81ec82375736fe6b8c9733b381cd751559e6ccddd3ec6a3db99a6799aa7799a279a6baf6369cf71afe23ec6aa2cab3efb38567dcee2fe3c1ca7f24c9ed39dfc34f979f2d3e4a7ebfc93ab3a17ea42d1122d5d255aba509d8bd716e170ea0f691e0b04ea9ee7cdedcbbdcbc5db1f1e9aa6e9639a6f9aa9f94127fae52be56cc9d972f713f01cb46c4dd7efcf93c77b18e6f9fee7581e8ffd6f69fcb7cfb643b9677f86ae5d5daffb14dfb6dfaeae769591fbf667e83e45fb2ddb7ecb6b87f609d875eeee6a7fb99fed095cf7d2bd54f772cf5b7e6361bf636d32594c6787c5ae0e8d1bf9cdc11dac619aca24706302b9873faa6dbc1daae6f2a778aec3e4c43e6f9f078534748fd7a880eef12b3b43e91eff8ddd146cec5b16f63a6cfab71df685ea78dfb23a96cdeee7c8bdec75d81c4e8c722ffb1cbb4f1f964bd9988ce766246aedab80b8d2988a8e8282b6ef3fe883fe5b2ffec34697eb7c1a356cdcc08194815929030932f1133ddf45234b197a610c921de18686b18582f9248fd781a4be4976257f86cea73fe3f6b247756c92cb6363af7ba3d8ebde49d91ac1fe5ba4dcc39ef7492ebac3a4fc715782361505d8f91928c2cebfc6fbb2cb8fbc9d7f05909c18c562e6f35aa4f47560af6b9172ed2a237d9d3792fded657f7bd8efd8549bca6295cdee0e8c220cc35c36abb15998d2680cbd30e6a1a9672a04d5584c4d7b8a564cfb291ed52fb67dfc9f42c5ef188fceef0a6038dd8ba0439a9b8643a6e190fd5755152a76358c04957d18fb9f2be079dcab2891309141c8bb4a87bc25149660b40cf3300fc3e4fecbc39912901c6cd2f7e728ede3eefe3c249eefc9e6e19212f005a365382c4baec27c152c10987b9e07ae8ffb1bdb97a26df7f06ae33dcc5958c8ec1b6fad841a6029253b0abc6720dac997857aa9efd742dd35fbedcff84ff1aecf52f230059bdb2b190a5604e4fd0ee316a6eee9c7b0d56c8bd82701bb6f80a574cbe0bdfa0d50bf01bb1d1d5b5bd9d9f3b0e9e358d9ab6cec7758588b68ccc777ea2a4b69389c0579924e4db342dc51d59d34050762525957c1ea1578affe0abbdf19dabe158f5f6d771e3f51d1f655a0937732ed74b32026c41db3b08ec13047a6a563301875645a3a06d59d9d20ec5aa07e8cdd91c9765ef6aa6ce72d2852d59d5d0b0c103d44994732c9902485c795e6440ea382545441aa2055abcd51e4b79e48e278cc47d4f5bf7c44d1d7e723d6be1d0d442f6926dd2474425f2ed7bf1ecd4754bb9e48e2e86af3311f4bd302f34de1529386b51ec7b68005ded8be15ad13febb8236c7ee773e459b63e777bfdb76e5ed2a437ddecfd8f9ddb33b9f83f7ea7f9bc389d1ceef3e87fabcdf4cdba70a8fdbe989c7625787cd2e4e95fdac76b37d59fbd903699faa32590cf6b6bfd59ef63a4156bf3ab8dfc6ea27bc7b6635edd4f7c3a0fac6ee9169e91824ae492e6d3b829fb79b0e0d12720fdf3e272d1d9ddb8de79ef3c7c1f3fc3353118d1bb8e7eb73ce39e79cf3bdf9a359e76fafd379187bbb7dec756e3af577489d5b2ef3d7fc6ffc7538df9a1f71ce397f1c4a9c73ce3927f291ee5f491dce4faef9c939e79c73ce39e7e7c939e75c731dce8b4cb33473faf5c356b22dd2b9fd90cea90fc4fdcea336f6f52b5b2bf72e02028134e0ec81b287dd746c6cd24b72ce39e79c73ce797ea225993a5634f3baea74d6ab6d5d6b3a1d0eb6c3b37be9dc72b2d76163aff2b0e8e7589a6efd170c06fb15a6dbe9ac3a5cd6abaec539e72dd21c6a8b56ae33cbd33c4fd7e9324f9779963ab36c875ae56758eb4b7648f7740bd7fa56bb16adab0f0f10a8b63b2df0d6b6a98dc52e094c3ff69c5d8b60b0d7d7d8ec62f469b34f6baf584a83c966a8a96350cc9e74bffbdfefdade6e7fcb3a0734a4b7dff9b1e847bb677f109139b47bb6ee71fedf9faf729656d2d93ef6f7aa3e8c3c556ca275261e6ddfeef7170d61fd016fffa3f9f52c7679ac93ddeb9ee5b1d88db1bb87b13addc77ea77b96ef748f5d52282fb920e7286df66526b9673fad7f39e35cbf1a88a87d1510d71e689a673d13ce9cde2b57f2957c255f29b313d799669b899938a581a8f2557e93b172568ea3f5f9ae4c647512dddbef32ffb1d0f9fb7bf01916fbf218dcb3cf36134dd32cbffcb2c52cb42f078140746f7f4781771456de16ed744ffeb34020cfe71e88fbf571dcd8b1ff3a96f7c47c3bea77c77ad9f7defb7760ac3276ff6fb4fbbffdee796ba47b5e8bb4f3badfe558ece2b2abae45b79d16ef9e1d1b7b1d0bfb1c9bfecaca9e87a53d4e656bbf736b01699f3e70f6b28715e5a3d6396b9d89bab7b35206eade9e3ddd924e6deb91be9d933ba78f54ed380837452ae9771c841b294b668821e146886b09373d6e6803457a95a21d07d1e6f80292ee741c449b3369da8c31b5b4e1c2421b2c2736d32582a828407fb97f47f7e316dfeaeef961ab2c5d7a0a67e75df74d7eee7b3fdada7cef8df9d65a939b09c618efcd39e79c3f8b5b606ef292b7dae79c73ae8130c6b8e524d9fe36df7b6fce39e79cf3ce39c7b8a7f751d2fc64e69cc49f719cf357e79cf3540625eb978cf5b5be6c8b6a68d71a680428e6d99be196d0fe5d94fb368548f55471664faa01fb9848249626377727f9fea2edc32e36e22b6d956262114e00f6a9bbe77b3d586888345defaa149b5897b855e2b0506e8748f351117b5484040b9966ac282f95650dd927ff4fd0102643a348cf5f811af96fe4c791b9529088b2e72418a87019424814394e9adc9c04256b0a4b1454519010e2a4814c1e9e48a8e109cefc792ae73557c7233d7fc6ca7144113956a4a0a80274336633650912546f10aa296ede35745d0a339a5f0f75171d264a37dffce107ae9b9f12bbd9d3744e2fffa58136f0a1861400bdd5c39bde7a1206a315d583094cbe4437810083a4efd7668a28395d7f269ad9cc2419e307b7f079f59649a69cfcf2c5499e63d1d3bddc7ae996cedad45abf5e39d52c4d749b25d9cbf6d5cbf67f07e30ee3d343dd93ffd50eb1bafebdb499b60f060f2163a68e452234b8fab73097a06bfdbb8bf691ae7efdc6f5fa3556df52ba7e230d847622394e6ec4a8d9d24485242558b6c0b003182294cc7135f0cb52d75a6badcbcfc735ddec78c8e54b16253cd4f088c1d52608891082cd10739210e3a2565a0f5ba8a106cb5456939b227cb8493cd0c851ea3194010e95bb9974dd45ce8b0468be2c995243260a1023385f8cacb1a2029922555dff7eda5236140f4bfdc5c47dfd2be56187fe7adb2b0a487fbda2a6faeb5568a05c7fbd3633dfc66eba60af9e0717a09df8a6bb60b85c23298ef261a9ffd42f32f4f3cf2f61304e9f0b335b5e1fcac471e8a6525eb294fff20b3ae9e547274d9c3591d8a5879f6d66b024fda9f9cb34c6ae8d681433e5419df357c7afdbb2ec7bef4f7550df4f6bfade4254539ea082248a4a9ba82a50a8a05ae868104e03451691394d484031c4d54a3ea0c86129880c50b009e2862db328e94f85fad2f7f3153553439b18e669b124e9fb71e613f575e679bfc9a5d376d219a474f28dcc0e65fa7e1d4c83911338c5d0c449490ddbe32d4196239a14b1a89e0069193c91e2d4b754df6f336d64cbb5f74e77ba5fddff1b87a9228eb059210a90272e05a6fc90c118e58c1c31ee79a5efbd49a30a43154693f448255b2ea4335ed2b57e338b125dff6b5882ae8bc314743d46cb95ae9f851557ff4f951626bafe175b7ce8fa41e07282ae87fa4915170766a0946379d3f7cb80ba94a5135dbf930e31f050a5031b29467ca8ba42442c48554518632478848d521616574ff9a06234961113044b9a253a5a0a904ad51d8cf4177d3f0c06639b56b85429b9a1c5811908e55ba654e9fb5d55564cd0b598aeff24c00c58beacb0210d267281d3f7b7f2ce443a29cb131f2db8b0a507264e5c1dc7c79c2a553858e9e26a345d332941d7bcb5e9b6a43f55cd39e720d5f77352891369e63d58dba6f592a658fa7ad97206504c7d9b48d2118aa44421d435b6a970420a53c7553850f55f0d899e9f45c75538bce99cb721b41eab57a9514375d3968bb04f436116d8a795b40f9e295509f34ca99d01ada4bf08cce9fb55b8004a8aab5498d24dfa5a3eeed98c4dc58a31e296f489fbb1d2f6cd74e09efc3e7afe9f0ece5e28d2f3bb3aa899b4703f0b2715807281870c4f9e2812c935a71a9506fa69ce6b4eda978fb5a79a140d94bf06a57d2f377f6d58eb520b93bf46d440b29e711594373d7f6d4a03a53d7fcda87d32376f3db58b7b4a5f6d2a7ddc42e8acada6e73fdf3d84d29a9e3fc8d412d3f39f42334ecf6f3a9d559ed022a0967a7eb33dd3f3ef614c4ccf3b2a9dc3e35d272e7afe748eaaf6d41e2d8a36357b9ff49436ea2b7d8c8909220a8a4a995261cc29b6a481624c31618c29c614638a31c58431a7d8538c2936448b983aaab17bf0d56bea75855e09cf2a38b2d2ee517239b99e4e2826338e06fa9dc1f33ddff33d5fa59ecf60cf2753cfe77b3ab5c4303139393139b5ae5a592d6290c780d7d4704219e9d73ddb0cb57bf237204e8eda3df9d7b8d835ff97a3669c6fb6ab7e5c74b62b8772f970f7e44f93feb870a6c4aed140bf7dd5f7d5f6cd94764ffe3c7bd5f4d5d9fbb3a79eafae8e9d2bcd62c49e3f468c4dc58cf96357434c514da9c142fa37305cb3718d51082cb4376003afe9fcf8be576fd674cde235fd8aea8875ccbfa734d09ab3729cfcbba85f0d9cbd3dffec9d29cd8233a615436ee7aeef15fb7db1f3178b61212ce493629f062e622e622e622e708bfd439ae8a2ef2f3aa2516309fc6e10fc3dfca6993f490713363d8658c1091d585c9ad31c1f462382107370f1a33a672b2a403a968eada844b19a12a7e36f756c45a5891595a6cf4fa09a468d1b38dc203efa71d0d040b85d4dddd3c73019a7b674091f093e059932f699eafa519f34484d1f1b7b3a4af7b40f3e41fad535b0f54093bf7e0d5cd0f5eb475f07f30b19c01ef4b00b2c546a5cc3f9987d5685eec18fb22c740f7e7ebec9ee4042d772899725f7e922356ce020eacf4059c7553800e93eedea2f5b5ced39ddd3fa8354747d1ee9fa55fd3874c75f9eadfc268b5d7c425ecbd6a39fe4a29c55718bfdf94bd6c8f5277fd7b758a3f3d116e9cc505d93659af4878d346aa4b0bb0ced62634bc79aa0a80ce7b4559a6a09836153736f9e412e188c9fa0174394854ced2f52188ca01743b3154f4435180c1088740fe321ddabc14238bb0d0b0422e9ef873f3d4885c1f8097a8195fe70189c8ead86c3b5481c0e878311611841242c86d9d2613a9a4d9c338f71627fdbdb3a76c9d0b67562203d85537f86a29fb002945db73f147a8a5b6856ed2e588cdc55e016987d75f4955faf970b1602fa7ac162e4aec2320c06c3642ccd2ef08360846c082bfdb9ba741c1b8260040846a43f154358e91056fa53f12f588cb267fd301851ec2593a12ed92933653299ac94b548994cc6655ba6b34c867b62bf11f455040dbafe1466c09c85783f67b89cf70e9c73fad88420ae92521fdc83dfdc3ec6f7c9073f11c6ef1334847d98081cb4c840c4118a25afbb8035545b946ce0e1e3cade82922e9275757c86a07bee28906d1418202460e38e1beffbbeaeac06d9ee684675963929df6445f8e005211d7d342836820efbddcd581ba47bfbd5fe903aec37ac7da17bddc43012928e3ce958229effa8144b5aed6a54aaa1190100000023170000200c0a860302499605499ecbed0114000d65be4e6044180b454990e3300e8220c610a2004004104000008618a30d350081770350757c8a02cd9fb43c955e5a4076591edf8970394177f3d016654b02da925419c227c14885172faa5262ac3e84974a179b455f318515be4f45166fd0a1879763431e799743731e5695991003b40615dd04cb0b15d52cbe4186139b6c49d76e38e718a0ed556c372c303ad1c995a25a4fb5c2abd2d636995cd37f1669a250cd415a7c2d38169cddf5fabd4fbabac45a2b6b52a1375db0fca8b945fb7c3102bc6206ccc239d7d1f9f4de4f054159a85d58e6137a0aa63cdac6a9286cfc53aaeaba4f2fc5afa53252788d87e8e7aba3ef63f677e194089cfb75b7763280d10cc4d6cbeb712b5949970781c1d18de665e2670502a3b168fcd72dbd9a5f7b8b04da2258d7d08944803d43fe8b3ab8ee480c8485fab42e1f270eee04994264d22a99ac090eeeb6be267ed41ec61a66735705b122d6fd76804b78648c024522ff9813ecca7419c0f7ff05371a488c0aaacf8ea04774911839cfa404bbbc4559b8bd33fd4a2dd54404cc64a8142dc52630f54f84089290a95fc9c6510b042edbc1da0e950d295e9379c9916c79d5f0f37b9e9b9c0498b5d7fb77f660e17d749342fe1ea082207d0de826770473398f2f92e9ba5ccaa61e16c0ceb87e8f18021320e6664378c3cd43b33025d913da0e432e611acba6b9e878c0a51a1394fb9bf702ecc70ff85f3a7725d833f1a313385d386fba809040e95edaaf38f2fd40877cc884f8f239452b68fb71cd865909140906248aecb11400afd95d7aa2f3d17de48fd665998611ffa6096f4b2f84450b637589185efc8e6970505b777230db670863a2520270ac772dcb591d08251d50204f619efce1a926b3380042ebca40d13a81f8f91974d1034d2a14be12994d5a5e1a7943539a2f396bc27c78ff31d8d91f0bb1a2aadd39dc2151a5aecc3120a2e37df62d241efda8c23ce412848ff1ec975625dec931f63a02dddb1066321927004d4b2f2018a5e549e937ed422934de4779fa555584c55041c90b894a544fb84399a5fe62b4dd4d0fca9d31f8a70a81a84227e0c2e98e13948ed01e211a420cc81b58fa5c5ef31dba1d232722bf636dd0856fdfee01d95526118aa35cfaf2838becf5a187c4b5206bc0f8c24c4bc0b41948af1b482a9eca64f55e2e28af2b9069af4b4e5bcd944195cbbac1ef4721c61857102677e63a8f481cd398a3366a76c04c54848f76bf32c2d638630c7a9c3276b5afd36c6dce83206e29270455937f09742c754e201b49e1e1a1c9aeb2862375040b5e94bf380cd14f79112344fa14df54bd0399c00e031d1dd39d814c143d2b4b6b1997293b7a99669a1c12a4221d1d113197cb843aa3225ebb3113d16c0277780f5039986ccd82bce176379908e743ef69a4d34f3c6e2367f554265a08ec179372370b25d90a5c775dea0290ad3c3bb6b2800bec581262828bc1b5c8ef42b7d771d66e0f40f186004a3b001772165321c9962fe740803ee9e9c23e152c02b4239f644b1b9f146a5f489b6f46f4851191ac0670e5f9d2664ac6e7df13eabd513ab4d8a77f64272b2b4419752886dd851b55424c04ff49517f95904b4632156c5710f974e5461efb15d6546ea83380bf7d7711c79dda099d71ce8243047913f6ea31a9328d7c17c4e42cac988e04b35a318cc02c6485a448f895ac393dbe9d2ce706554d95122deb7291aa6613e842e55ce53c47834fdcc9eaa3a70c2e3ec1390935c7fd53458970573bbf53d55244300dc73e5510ca5d3849693ef6fd706a671004bd4e43cd51c2486473e0c3e07b37e429ac23e0abcb50e50df761461f062920a366faa693d03602d3f691f10c15c614211678ec2e014bd0acde0dbd64e2fe9d942e23dfafdc28b6b6d16a526596ce1615441154652a39513ed77680b5eab400ab2406022cdb579772a54a0e309bcd7554f983411b7dc452c3e754495bdc58d9a6595fe8b80758a541a7f64427e0183a7676bc16cd0eed686c43e8846dc190bc4a68e2a5e96219f11a514036156b2488d111c54b27a523f9635265833f7c4a058c9197b3ffa28d2bcba5cd1aebe9fc4c3cd90122a661d6e508d7acbb0cb3723731d85aa9df1aa703d416755692d018dd4c482e8f2339be192a4199bf588e6f9f9d1972774dd806a90969319417a1d71674df836ce9913716a8c9a0a435c7f5aed70f9f0848307aacbbed4a986a2141bfe24d4d22a461f9e16bdfbc578cabf827b1fbd1f4e42b1e67ac83f583ee7874cc5d45ee10193041f2dc65c1482ba5241b534b4d79581047a31560a032cc30957e3423a588a9ac289d060a9ca06ed607fda351970fa00a246cf36a2823b37a5af051dc4e7eca197f3d256e4412a35f7f4c759623f9f9a93b756db1fe630fb3aeeb9d533a05fee682f6a6c162da793726bfc65b2974842bcf69be3420e05198b1b1dfa9b78ec20c5c3677f9271174891bbe6e101b96fe5c78a4dcd42afc3bc68d4a7411903fd489b5bf07f38ce6aed57026738cdee8e1723be0a96cb98fee2bb7d59415b6ff8fe8914abeb0edb3f5ec0c8bdd74286b0dba09211d5bb837ef868c78c947b6d102994e3f74ff4bede4ea077d45ac888e92cb07f588689268bfa2ab3a28decec2d97d5fee707449768fa0244f3d9c71cfb4412a3208c29e146b7dbe2e216854f2032852e58aedf184f6e15379dcadeda2aa8922d05728bc7e88f5f3b0bb99a44d078d4729d73da04c0825e8354024c7fc756ac1cf2fa9fb20d6b479dde5cd5d999a0be4b4757b2f5de3cbb3b4ef3cf2bf5c00716765b3db3b6f0c129a3a84231ac64312ed562aeafe7477ac9609b293ca40a59680b00965d5bfa92c3357dc5f554cd6d5e8119e71088b45b975b40a86c644019d809f9d412bdc4adacae82a4903e74c266ecd97bd4a2cef0bf7dab490c76661394b64c8e88f4bee14f89693a5e6c76a5c786d481ef352c6c8f7fbcd712f36b2c404daf36ca4e72a8b0ec52e784b69c77d994e3922d2c9daf4a88b64f3cdb702a40de2f852a0c8a4ab19d8ae370440a34b243d4e0fa932f5d0030d433cd6eecf335d25ccc26b4e35abfca16110e2fd438251ab5d1aad704ae57425053dc229d122e73697e72649c0e171ef34e61c7e1736dc0628553ec56829a28f2e5fa5a93a09736a15f452e40d3d68798d6f2d7c1df5d0cce35b162377ea91a33ef36adbd5c005ee8f000eaa3c1951f276da6f65962811bffb4414ef9b82f74351e4e5a4fdae13e00a540aa1b566b91a27ec10030799ba677b04f7a14e0b1e0eff955b552aeb500868fc20b47e087d8b5d9cb07f0c54578c0ca6558b42ba958c882819c84ddd247721b491da6b877f4cd7aa908864ca6781cdd8e59d76404dc326442f78827610e39c80a4d6f8a36621f365e92b2516a71ad1bcb7bc14424eea2ac22631036a6ef0354eb0e0e276f3274b250025d29e414f8f272bd67abe2af437028c2c287ac464103e586ea48f02a2475ed0674385744642d65f82b2828c152506721462ba29ad1823ab937e8befc582bc6e3846efc4c25e9593b16bb50e85dffbe2bbcb0a16da38fa8676a53b30decfc360326ccd6461e97822d0821807af1f825a23afeae5b064e1d5a84a64955cf6f806bfe6cf4581ea53a981fdbf224afbc745e0c5a84441ac57c8864877dec350d52a28860f03f70c31b03d342be10f26658a114431ce4cf4fc3618a1454aeb75a1a9b7186baded5788601c1ae1cd7c680d440bcde6c82769213dbba15649b845b32bb5eb605ee16136436ad6eab593039f8e654f659d0c8027bba800771aa1642bb416c28ec181a59cc905691fdd3647b216ba899d3dc702eabb410e7795ff8f8efed14535b9160b8bc9207831d565d524d21b98127ab873a8705e41f2844893e30d12a1c0af95be8041cfe27d34e9de4bf06d490abefbb487017ab4889313455576ca5a6b0b84fa3e1262fb7a52c67e7de41c459af5d1dc7c60564e1aa2f9e15c7aa85eb9260e5f1f5659a67e6fa206786ebb0cd1ff188aa3176ba6b51273b384815454f13ce4706a3d51128d67618583d28d3be9cbf4d3e64cc069eb98fb125dc5a81aa426df422524897c4d4721848adbad49f32cf7b6493170d8840a8b2eb57850b2d0818c75bdca3b9200da597efb33b2d8e1e418548aa38eb693b5c3c7fdb26bba0e3807760453c51baf08c53a4f02133b4e0ac657de520a1c2d52ab516aa301158dcb236858d04704801fe817c3fc552b7545cb24444098d909c68b0c601a7ce03ee14c3891a2be899c212b23f797a741afb577c731b0f1f32ba155cda2af8ef094492bdc22a5810bbacb417e3e658dad62bf1e1b84a08fd81acb0b909bdaf3b81a4f54c7bb7d3018efe97758fb953170b43a3c107e940deb024795936669f6bcc22b3126aa3d54e026ba98c91d2f86fb7c17dcff145d43fdc995efedf68a71578f9771a6581649bd53a96e0b911d0babdbdca1d319219ce2e7f4239c1b87a5f8f0de8514ded26efcbb6e29ac6e8a6a9c0415cd888d1c03528e6de23b9bb660b42166c4a9d00b002b07c791023d47026765b9bb7a99b3e323dac3ad26ce00ebb8828f6704f01122c533272794c16371b71a4cb584d3aa8b49f00c55986a8f74458dcb2fae27ef0769a96da1bd2fa95b2159af408746105e5f97046960ef43b31e62b3049de5edb1d800e161841f3cb29c4c52cc9b82e5e67e4fca2f0f8714acdd3b19268f88b10c5ec899881eac80e663197d5eefa1a996474ff436d1f5d26ddf489f5480b71984a4122b3245ef312f2e825684414032d852c271ae416e061f01e966406a3703c5de4fa1b9a800b419b41a48bca4d5521e97cd20ae9cad8ca35b963683946b333012b5dba7e2b27e0d03d8e9f637ad36f14c9eee7eb4367659b69442cf7cbde9391307ca0de10689bd911f1954c3761f102d2c80ea47edee33215f3b4d77d8883f2c82688e8b6fb1b35cf71ebbf9f8f998a8dd103211d5368adbbbe6b46c07a2ffc34df92048c7fd33dfd7d418a138da2e49911e7e551da7fc8d218ca3eda22df68c5fd725829f03c02c7355fdc376cf687b9d09b539474a601c65ef8b47ac383e00448011a02577b8e07881dc1a4e0b72a3060604732aa36c82ab68088360301c11bd8063dafef1c8b78453195affd2d4d06b8b5aa02202f97db7a08aa1e63271d7c55671b52f5e3ff63ce1c07859402387196c0ace3ceff46ffdb7ebc281da2f57dd4ca1fa5f72056355e02c8fcc304a234137ef3e851e7a8db80761eae65604abaaeaa9ce5caa1d8229882edcca67a2c2938f7e8f6c5f56245dc4439ba2ee7ac288310f46154264f3e33b7ef5af1b0ae0444e1b91f7d130a40dce989f52f2402829bd18d6371dc787300da02a95d67e2d4df14b099411683063cfdf253a03d3cabdfa5987120048999c5625dc188c2ff5268561e742c271c34191d521c86cdbe53f27c9a15577329d8b24339f813ae7220e1329c4b81aca448b36e180e95c52e1a7739e50047f22a2edfcfbb99dac747da455e7679816e3646f8a09acddd2f4547aecc0e7f679bcf6ae232e885fed82e9e3dc3e7cbbb9544ac30868e7ad4349a7d90d6189b4f98939c22405430fa6fdf4b758c98d1cf5948d13357cf4417114f1159f832e726b8552aa6926eee924ca8c53d28b2a05442864c3561f80a7d52a35db99855e347937c60b9faad6548027604850be630dcc6ec1439326a06ea50db499d25997997072e1ddc09b681bc41593a9c26b014b116b133be80c98ae4a99245f96ef0cf0bfc640601a80cc244f6d5a710f9ddc02b210a6a88facd201d688cb8064d866f45cc04ed65f5e20ddb8d1f2e6c51bf4c1617882b25b93fb97dba83953d4891e787b86cb2193c55d4fafc2cde717b42613d006a39460973bfdce304928be987f8f100bfbef078814232e1fc5f6a98da60d14813a72ddf8636c67b8cd5d6a4a3265e2443c075e77e322d8d3c5122a93b3a5da7c37c7bb8ad5b72a357a25856fbf04f8554828fb1c8260312a9af27a5c93c346eee3da7f57989562faf7b520fde266132ca57899ad175272ebb5fdf78c4eee39bf9c563568564cbb281819dd83a7a067b9616a3c44b007bbd38fbe9bb3ffc72bd8e299faa1de43517366320364966f2c38b7339644251ffda72b49b336c7ff018b7b68cb29e7afdb15f99f28142f3033e0ef4216b5c485382d215fb79ccab4df8f59f4611342570e179bcc6a0277164d70b972e983834b545b81db0497056ec26c7d9f0c0d5a2db702dcb172eb3185fde5336f4fdfd7500b3ecc847a12247ea4c474cd11f6445093af3a08bbf01be509a3897235a1b50bdd1c6122ec008dc6d2d27b638920052c55a42cfe6693b5dac1ed1f5311ceda8116e20599f79dbe4122e154486deb5b980597bc363e75cbc7276d829d23b1dcf785b6f20451aa698fbf8753a8e946c2994e18fc52acc0d85f14e42d7a9fd4acb229fe33907caa4447d573d0e644c8f8da2d76b117741495364aa6bcb369ce3af35406e760255aae955f29f8246da2ed3df7dd529c50a468b9f5f614c77fa7fbda80390a7d111a1317b5d068dcd0571b05bc3b51e17176d77f0334e0723b390ab4403537c8d7aa2ad404072c32563ada531f63c4016f73dc384614f025cc71bba93ca8c4a0202227b47eaf50dab144268cb9bc8228178cb02daec3571071fd1fa6c2ec059b3f026afd6ad9a2afb32cad8a597e0944409d0d99d75dc3208752442eaf053f4ea332a6b2a9e49cb8f1bf6ffb016c4e0558d6361141b7966e338aee5af943345a90d7b1b5a8e4e7cb6de5bf322721d0e61b60a3fc77acab8c551d07be9782bd45d56b254af79047cd854b9df96f7b1f9fd07d92ff3362afd77dd0c8e912db152cb0b5315034f1da2aba936579869cfc69d3b3ef6e78a35fe8808398659bfa142be80254e3560402094e5a84d8d699169495c84b7abab361022667057d8909d9a1e91c91dc26fd3ac6696aea88a5a5f99861f35c31c5d2ff3c8ae3c6abfc57df6e2b3bb6c43ee5752cfa0f2ba32ca2db611703483e61576f6d44b99ff603d9f86389f521e1bc3777985b9b86cb790a6172109c3f6cad263273588ab1ff254c974e5217aa98b6719df21784a29199b7c989a5747d98640588c948a37d4df9622d1e615520ebf71f49bf11a5c9b453565b47e32c98b6af38357eaf649b13878589a2248d15257fc75c1d421b124040750f37f6e66eb1426edd0dd070696984b378a38b30c8feefcc0bf5bafe156e5f0a1305dff1b0b0364eb69370dfc72642ed7eff5eec9957b21e440ff4990f66f5de4c2ce16d9817a85a6c1d873a08f2dfb129ad5eb09551c5d94e741051715040ec8d3003cabe9c2c7760833bb9da9cd00354fa1e8bb94dc36302d1b3665a554d901efafce8018eada0cf72d511971d0034f228f2ece0113d82ca4d070038d628268d4197979dd97b9da777f103103959f6a5a3decff5d65aa8f192d8979dc816cc81e810ac24d041921fe673444f73261be783b563ff433806b4ade2c992631dacede66b7767fbe25d33ce11b65f29b74308995d921f553c2e9ce68bff6afbdb120bb13345ca116a19e82683a1da118ec15aa505220196b6d25f820170d031b4fee8b7d91f66745e676dbd568deb577a1cf2005bdff5d7d490d4e08e12a04cf19dd4e97c87d9eea33676f13571c053e260b3078fedd1b110391f0e3003e1b529ecd28b1a35de784894d1f5129b093dfe814880f5cf142fea12f3419e2bc73d900830c3f7d77891ab617282ec4452353f4121db8103679842217f67e91f77a13191dd658886943c8738f3e024ef9db7598a049bdd73500c45855e50547c0a251d9fcc828faf2fc190d98ec69fb702bef12e0c77124195010d2bda6c7eb258aa5a8053726fb545c9f370b24dcd05c9bdb2fe4a2e907f32cf7db9b7723e1e5f45ba484a88bdd544c8c205a9b73516a98e0c1edeca7c1c2a037d0f7c8fa771e15fa894aac9f76b0e33fcbbef8942d62a7226418f9f50c3bc2e92557f94fe1c259cb1ff804933ec366574595a442bd819bce28d31b0f122aa81ff9cc50940cda00eed6127b5d50232bf45fbb4323aab204bc5234bdb6bbf2102c8b4a55a0f6e7deff420e2ea6b2a3b2f11b5133c57d352fbf73e52111ca44be9d93f59c8b0cbe859e559db5526e19e7d9f434b67b74a93bfe0190f69a4a72bc148ed7bf32ff16c9eceba17d15e897cdcf912ac89e18e2cb781c0beebd686ba7b305aba3e46d8abb7599da708b0ed57f64dd84f280af6646d91e9e470c8384c0eb92169a592d67a54173f81ea8551416d668e0809943dc5ec7bb94d0d2c4c8a6d87c3d200c557df6501457261d6125f7f5b8d96bba8b4b624bb57acbb7b267c654e257162e9f3a31aa6cd06d81226ba04a12b5f26a0bc334fa230bc5c0052507a02ad611d2357be0c2b1a1169ad5caff09965eaf66aaafaa9e287d0141a856506d24abacbac21b0cba4839359a80a8207b113d8423e03312e5ebc670b399ceb109180005f0af96f1dcb2655d2533a8ddc1a6f3940df0ba23b2b9054bd71a3510cec0bf9e45d16701f967268ec293c7f38af501562a9f80b131f98b395c6772b5b62b9f63d1554da83a2c67494bba260850e4b72abbe6dc9e8a89672732fc3237656248b67d677748c80ac40eb228030d0ea08f0b2fc17bc3a796b1d126233865d5259c49a23d7103eef8b1778bba1d585702189a6e118ac0453afb1896fef44d4268b1cacc94d6eb927533ca6c7c947629acb4f91a46c2316c4490f47d9abd429fcdc060ad3fed553ecadfc2929d2c30af78a98627d55d0a1991a992d75a6b5abf8695405a2dd18d5e0df8eecc01f7606620d4e706423482eb660f9f4931f8ceb4b6c995cd5d22d7cf10d83e27cfc9ba2022e91cd79d943fe22ade7571a5e17766fca8d633d05ce5649785a109321649bf116341cc9538e7fbc70594c985ac096cbf8527828990055ffffab4f340fc1871be70925fc2bcf1ded37fd5fbdc84cbd5b073233e770e09faa76539589992fa6e9435e95b211e4961ce79147f41832fe543d8dbc680dcf191360c606809302001e87c99aef835abdb26a96389298cefa490cdfc19f377e9d3a868277b119f27b8f5d5926a4195d51f7cbdcb06b4d9f481b735b80595ebaf82b06297d11f694481bad50f90b2dbb1a6a6d717ec36c1462f80d7035e1be5af8c9778ed0f0f3c302891d49e25f70304fa1074f45dfb441a28ae8d47b270e78d9191414417f70870b11282eb257cf0c82d6ee07a231416fd5cf4eb2bf2b673663fbbb7c711bbc0d3249b4702ec70aed46b4359779512a1c49115324560d66236c6bfc60f2819022de63e10b0ceb8397d0142f9fcef600980b83a0568a20857ccd7f2ff194e14ff39b1001be704f4a3a4c6e4272f84d29c24a70eb4974b84a08bbb48747ca91d2430d779578172257440e22cf9e862f5a1c453f1e8523f926c85d7c52fbad0a705449ab071750b56977336e28f9f552c19edaa6f5db59c215b797dec3b65c04b4dfde50de9eab7360b1b7eaff123e269c1dabfd97174a8218f684905e6ccee78e414be5959e919fa0793e46c95f94dbd699b6cfc433b93d39f7cc687ec7ad2f7738b3aa9a71042d0238fae32d76c232b05e76d478edf85a4139b43655b4f04949cd7db71ba525c3ec487346a55b35671dcb9c2f4af19faa289640020ee772ab213d3486dd611865200ec7821751bd98134922ee9e1b8a511c09fdb0e95d9de88675392e248729f7b079a498cd10fad4f8966ceafb94fec526559717a138428c7f711b4e381ff56ae38b5e98c806ed6d375d17b6b4782cb60233562c209b1fafa441e049f79e5a8c6b117e90b165b90f49df9e3ee6564b802fa8fcfb667b6273a9fade728557b65058b627f8ec71c511024efec5f65e4b82ad71c29a72edf0328b00a2f06b122ed84153af55cf3b14be34c3a63f9776875e0f5bad1eaa9a7fdb90ed421de8e51392f36b0be2b66faac62f78095c4273bd33f649a6bceab0be9ac33112b1a6888202650c14c7ba9e69c48cc57e0725307859941432c5534fea26ddddc714c5f35bb368ce5445e12d86a9c35896670b40c3be29fc39a285168bb0e095fde4cc4a9886fd18068326fb93d4f82ce42a0ebae857f476ff59c58a5358fe2fc8b04d3165c601be1dec38e25e63dfaf83b4bd426239b2f2de44a2357292b51cc9d9f76394e7e68bbf1003ba0bf3688ef7b15414ead026f89fa514d40473dd6ab75716f8dc3865fa2ce591a3773dfc7122cd04ca2fd7f21ca03b79433eea815503b6ed22a83dceca538a6b4283ca0a679e8e685497a80b5e6940446bc5ea36d16459f826113590c99684c36ab7fa8a5546feb95581365e64b745649c887d047048013ae65aa73b68ad0d1421eea52c1d69cb11921d97d8efef02380eaf48b4097046a4011509c1e1509c7eb14d53432ce232fe51174aa2e79e9721513e44071f3b511e4d9025ea8e14bb92be5a73129cd0ba4a9a734024c16979751f941215dc16a94d4b2178bcf03fde36683ce16432f2e14441b3614c6040f7a1b56960a79c0d0c0ac82690940e995a75fb5a68bc63104054baa0b3c09ca4dc0fd094be3f438371023d94d1cfa751954bd9c11e7a1af8ade363f2f4dae7e7f590087bc3181b254afc27c37cc79e13644ee6fdf106ae3ae540c1789d9a1149f7c37c1fa42939f531e1b04753e6574f91f11e81f68a4d62e1b3837bbcd554d048c0e3a84a8ef005c884a9d0916be4f74447bb3f403202d4494446e52a3c4a573fa4c6c07324f0a67df5ef0d2d0a503784d98747f32d030d8868ab03c8bc7aafb75c9b53440e5969b80930b43a840f8f3add2082427a00cbf474129fbfa713a134b05f788a84460de90f8af3361bff521c2074ef8dfdb67c59ca7a476676df45c63141c0580425b64204db4dcac690c217c9922ec23230a5ac3d28038918153d7d64a3ca3ba9f0ce103d4ad023349eb4f54836c9b8471ff3c56edab5048b192c2892d6c5d0143f475779853974d037000c7237c3e49005c0d8a03ee5e514763da0f1bc11be61f1a5ac8fc7fabb438499495e754221c306f9ca7dbc47fa83eb05c2baf16fc53c13beb1cdb68bb4fea83c8acf55d883b2c4a9c6fbd18e5c9dd98b839b63da3bc6273451ba884adc3ad252fa0ce1fc1c0ddff1c04d82ff04faa14612a99e912c3288df48ed296f06bf3608936f7fffe8d75679dfc816445601351337ef026638f6318e3e3aa3e6d8750983d4d8c85adb91ffab4667c8ec6f2cdba009d8e78482b37eb2e0c7c3d42e3e6988bafab862f8ed3e45f47650093c13bd2e49529ba14c1a90da3f5fc17578885efb0eda4b92dda2bf00de678ce1a43e644bf400d3426d6a746bd2013ac0fe71c0edc17b35ee3f45fe8e6a06bdc916bc61d6f44ec405fc1919c6b8b4e9ea74106710572044780f88be07d1c5c68095c2f6c2e08260a4360f2114883ea1b5e8fc548c6221b627cd7ca4b4943d6a81313f6ed74777db4b9ed919e1bb57ca9f4012feb43f82ca488b40fd10f0ef39e625c5740a3a497f6b06b41e3ae644256c8fd05508ea2e24db63d199d5f534efe960ace389007c541c33ccff188419bf5a236938e16ef04814e2eca2cb477ad21e0217cfae4fd49b3570298650e1dddf5534834de43f4dda85b4bf7474381b1d640de04f70c435ecff22ac171ce9604a0087a4ef677a003d6c9491b0b3be8cec909c2428e8773be0520a1844cf0c18d8bb9ec78706c3107cbadcfc281c16254f4a13b40807aa7bbf34370b9ba0373022eda702da1c73422cd9b51336281c6843f71943f6ab60ce95bde7ec0fb133378de59be947a9c9e4280d4d9b5f7fca4bc3fb076b5aac0a03fc99163c736b61875c4d2b5dbc9658e3e3029040bb4046eb68c31225b718765dcea87cdd32079416bcd5ea0078af01030fd98115aabbba87ca881894cdbb01420dd5034025eb8eba398e5534bfa188449b100cfdaa1b4ee660eb7b64034e42b4237959dd59455b0d9599edda911b5c87d0bc1ed12406686a4d100aba194fd1044767ffb7dbac5775e12b018dfb175ad791ee349ac590943f032cc9e6f357d90340c25a3f790f001d9500ed07308ce1e399706a552fd4659a9c4412cdb1fa5881d476d4b436e002f046a94d6703d54eccea3f334f87a0430a81c65c6b1ac7315319e874e85f4b866fa01f29a54bb12452a0ecefa424656934d99da2ccc6a9fdc2303e95d20d90a9bba0e701d66eed08877cfbb74c9de553af3c3dc9a3abf311eea5c6f2ff03986386d900d5d4534c6abdbd6bbbd2281417809ab70ef32f931265f97b219cc1b111d2dda2b9a6d8e75b7a7d97caebe27f9e2621df899d43efdce00ede6968c255f376d75187aa3fc3a3ee05466cd676ee2c4a79d2716ef5b2fd87b6f110ce926ff7a04388c06d172ab6d305ad3dafcf2192d52e8e1122aa136607ae92ae69ee33590bdec7124facb136ba4bd1644cf3c5e59248434f06803ba18bb3a08ba28b51cdcf79e0f3117b7bf84bcf25d6ab30a2aa4efa3c678ff9aa6124018a956664942529b8d58b813249256c8baea8bdde503eb85f481a8c73543fa6e919be02ce0b30eea80794a17db4913fa2ded066765eb5b572953a2f044793678bd1f201c1d888235badcc27eea854f6615e51918392dd54d95d09c345a80f1cbf8794e095d5ffb134e3965d00c66c7e2db7794bfffcd1ebef7758a1f8ed6f2843c43e8005d1e6c9bd34515aa8c1b8b48e87c2fe66e35d3246a63a7d4070e110204e9d3a7c2a75e7ca76c3954a8fea9b7c15321724ab0b94d1bae0d00f4effe02d4ec1fc07765591eb48c1a1ad55dfd2d96bfdb8a573a93267b989538970c21f8cc0dcae7f2210e8f7cc0a9080ac650b4cff9293a6fd5db74e314d9f61e6d0826ef2ff116185a9603370f009d31079f11ea0846978d38945fbb613ee2ab1ed8a9298c071a29d8a54ccf38ec09472ee42a357a964895d3404fdf809b436a86fd9581c52aaa39030483e7ea81f419bf4bf4660b140223807fd462a6713704d40995d4d8d66d2f522372276f8d364a74cf728b9dfdd252fc35237ec867eefc214b165b8ce7493ba0ae63db691b77ba976d01e4aa6c70b644c7ee3ed7c9df511be43daacc553806a3b4b6f9cbaf5361d441daa65c2d54851fc26ff6cddc856252cdec146c662099990c364b3d26e77bc9dcaa0a1f25e9bd55b00cd3ad8c47ec050177aaef57653df93e8caf0e1a2e3b5fafb9230fc61507f198c14e1f8e200294f430bb46075594b6af277b37e9584b1779e6786a0914a2fff95b4f1a0e72745c8621ab26fc3482f41ab4fcaf8243c0f5826cd266941942a3da0d407dafc3297a03fb50013ef9d5f2aa1e7cf59d61c14f8eb6c0bafbcf8008080546cee9b4c97f4aaeade7ce26eaca03eb8907c7dcb37147a223a97b679c5df806ec73a371c0d19c6a664855b15b6af9193aaa3b73c40635dbe2695d97a0d54268068679f3696a3bbe3ec413bfc4a6692503d5756aee113ad44f6748567fcbf6287e56794740ccc0bd8fe124ae6a9375ac9c718f1008a136a6f8337931798827d6f6b0057fbe619201267d4d256c42c3569cf14ec32598164a37c897add9458bf80b50d505d264a4cd57da8fe7e665fdac55fb0116dbd282b4326b587dd1c6f5acdc78d67d4e4a5a0a9239844e9b03054276029297ca07c3c4e565422d3843ce7dde9c4e1daabf0c0330d6191929a8f03d173c14979c3853d0a55cc9935d6c4d59eea0759cd92f1dcbbaa05aaa187ed5ad8a8cf33645e0669cc5d197a78a8b600d5769854f38c0d36f17e286d9dfa0244c0bf0d5e56544f40b878a77455bec3351e3deec0fc97ebb1c759ef8e46c8cd61d821271ce14c6fb71eb299bf82309034f6dce9d3d20a167d5b5d2cf754b8c90c6036ea6526e136286c1449b837a0952103585d942312ee65ce07af18a8ac698f6a23dace6cc64621a68dc59f89a1f23e76c29ccdea1ab5009080277fd1696e82248d78674544f78e721938440e1098f7d7eb980601aa7d980af0f19f40fffde397596c60c63aaab355d3f30634ef56f7e556e091d0815ed2bda4729a5895d45407cce347b7fd2815e1310cc9b9abe95325e915e78e66a9eefa243c09985580fda47d8f6ecae445a6edb90b264463180a30228e028f8180bf33158643346c6076b7f1b315caa74f84e584ce8258c1a806e21989804055efe491bfa021b973f50113220ff515ead4ec1eb2d6b277aed8c70c536a787454845195a50935dc1b8142a8bb2661146f11c726440999a29693c2ee844e1da56f21416f4f53da9c7629312275e6d3b7b859d3c679e937d022e9dbfd0e2d96f9a8e2af9f477576cc3733f0af880c4600f6af2b3e5330d4d836718193f863ca60512bb0935eb9581b90bd5ffcd291985e06d4f22fbcf7f14467e474b91f09274c3f84164524b4e8ca75c9a5ce564db2f5f583b678a79f1f6571fda377c44e68f0fea8ebf2810e15669d0aeb05af6ad346ebbdff8ec461872f31feba5ee60cdfe0211a412d793a708ef54dee4d9c16fc983916973da34a83c5be6707a66580de887dc0b8700412ca49d4da2af4d5645c507dbd1323a27e89d1cacd2d2f5a33bce21133e8dc76182bda80f1f995f2987f2f1d9a1f9eaa53382793260ce77a48ab865918e0ad63d0925bbcd7bab80d7292a4abc661c2ac50f3098a6ffb827cafa059bb149215b7e831dae3ff29e739b7ad1046abf331e0896922b42f8649600f7e626bf18a22e0f39eeb64bea16a2b2ebd449553e135cc73193087e0b90ed28b335200c3e86abb0a1f8c7e003d1cc8934b5e2216476c11e9a35eb6a492fe110e6434ddd1525db665d3cd9d27b0e98ec511e523376b784ea90359e12500e82d760aa4d4cc310e6b052a7ed5c41020972c9956c58dd0622c4f3865517d56941d1aa1c51767121a44fc582c1a8ed0b226d58e344c82d06e8ed06370d904f8a5ae6480729fdc6f657dd038e3c2af7e837c43f38f5c1e03b1bf2bbaca083af9b40c14e7615a2106fff01583ed84ade67b88073d0881b7d93fc593a09a3e62430a517580927e45a79893af0bde11a6478ddef29219278e8ce6b6d91453a482e8c40cef4040cb3a6e0ec2dd7ee0460cf126b3b5afdfeef9768e84d37652e917cc4c2f77cf8945eebe82ed902891d2543cdb3d2d35e88332d7810d3afbc8dd730b1489025ef793a244b8c3066d260dfe1b0216ce8dbd5dcdf935bad61aa0ace8e843e5005b173e6a337382ce15e03ca2d5064e1ef443bf057a175ea07a3d6fbd305890da088fb9066e3062154c5d1fa9b7cf04acf76275c7ed1ab0fbc40187e62fcae7fb74bfe145aa704f4bedd94d0f8d31f025a68a8176e0bfda4b8e69a564585ee8aff953c54cf4f9d739f6529cb7ff0fef86b9788333e05bdd810ffe8baa46ecaf3a7f500f6b2f0c0b1122ae0e8d837f6dc51de1d5de652fbd4e9eabcc689c160140aa99f08d44bb78ecfa2a807a2b7e0154d7c96931ed3b6a2fc01ef6f9cbafe8f162db9f0b5e31fe5ac33d32cfce64f1603b5267648e2b6351ed58985f8e9964203b1bacf00495c6b3a64428044d8032eded2db30761a9daac06f098166ed9985a4ca78cfe74ea236882fd549058cc16eef8be7a0184454f964396d82d7ab5a6f7328eb58fc7b51bdf65e041d956cdbe9b96679995465d3ff54297ed0c12419faabec78bfff5f150dc8eb23c5d2f8ff53e464372a5793a2440ba94543157c6817e7f5f4800a5a7d81161e595d6cb76a893a944666fdff83e03e5bd7eafc9c83b9683d021663151ac21ca49fc4e100e6717f26912202ffefd42052ce26062c446b3224b34567353d807420ca80941d665c95414db0be3d7f5b6a3b0405027dbfbdac345fd3707bc2c72bb264802dca3b4c0e140b91fe43141831644035802d097ed8fee09d2b2f75bf457bda4db05f8cae014f637362db31978cd07c49e160bbb84e545b2fcb8c7fab0343d152b849d20e783bd8a4798d5dc6e8a47442b31c3abdaed05a499183b02225633efce82f2bdf3e5cc49404dcb189b789593c65a760439f397e29cc48e4363c8d2355ab6a67657003c89aa08923ce29235b8e370866035a7a61cc0e291b43f6dfc0a291713435775c83b36d8d5359a31a83220c3c0639956456f7c5cf809b9e2d54aec7b4201ca6f375c2cfcdfcd30d303960fdd9661cb180a4a1625c895dc1f189a06e8e81f90b019a282c0a9cf61b1e2a44a09bb0e41fc7af400364b5d9f363a4e807a19feabc127bfcac8a8314a6c37837ec4d2315c3d7543d15a23af0223a644440568c940ad15ad31341cc95aa3ea4a7eb6d22b54a32f6ec13507b7747667b5277166e5b29e25f9ab1bb983cc82d4250481c6a885366ee791c65d3ac8d69042f4eab9077e8b05f83ee7625f856a27182512127d113d202bc84fc4fd235a6c551ca3849400f45ec13b35a85658d216dfd83dc99a8e1f4e836b4847eecad2df236bca0c12704d22172078e8ef285e54def550cee311f74c0ecea1b4be8dc6944351fba4455977241b8636708328f87f01783553d004d3d4222ccf3d1a203302b4c1f94470f00eb23da003bda3e0b09715c19146aa37173d84d7eb1c72743d2502f594cad264dce9d7518c571965568f6141fc8a5ad638c4e68a813043170d811bf0b00f6560c47b79880e4c3392ef9d101d7b0107fc176b2b6ab0c86820a02b0e48f97c7887e512626b8b11343a2d42f6c5ff74cbeabfea3567a20252bd3d1d36f1774f9e5164b5b6a797931f967c23fa3afb78d1511ac17ddc8aca83ac5bd40b78407e53242750c864fba41d3e2a13a5730828dddb572815b574e7c200f3b728c859fdd027681291de88231c0ec0574327aa1ebbec2ad140fe88e03164421dda8e255cdf0919126577e121c372525ddff0b361d6829b3de234b35e50b43a94081114a5eca753d13bc924b2dac65d25574ec56700d68f55efd6576dfdedf5d116cad4d0200b1fca56a058b226ba517cbf9be7c3fbce17dbaad2c6be06fc94be0f0473a303541416cac370e8206609bd71a6b26d5cc9d46298ba5e152da417b1741311a90b4de0a96017467861e0ee66fbe8d53a280209b100f210b0ccd19b659b9ee2fa3823747c1ace0ab24cd58cd26b3687afb9006addb85dd6c8a54f997c7aa07bcee1e98a347dfeb7da20164be63029886fc36bb389f404799af95b6e913832833399cd49493a06b3e698dfadfeb8597f6a14ac790f85c4b65a8b32ea950f22f37b33d2d178777e3a7e35ed9f144517ce67844ac51c690a20b7c273cc63ef982d890456f4a7dcb66fa135812b06d8f5434a4f752dcce854b8f6ee73c67205f5023715faac492abb22f9f6f6a9ebed7f5c89c5914b2c928cca471d715ad13cd37667f40fe11a696e936278d283e5d905747a12f41a3db730f81c9a7cf2d07f473718839daea19c78a3f8e98866bea0d330110506b127e88a697317fa3216382d97f5c78c7a5fb238c6251b4872404ce6ed67429d2241e81370522ce06026347b6bfd64e6655d8b19b1b0d6048b60f6b55ef85f975d31ae7dc416e4934f4f4cd4c70c377026a62d8f704c6dccff06f84aeb83505d6883ed453d7b1dcbb2329e98058bda9fb35956dfe9338037a92b22d4c286d5c854b3095d541c110a9acf31cd26f8821e46894f076d5e4e532f0c52855753f7064b6e0f63d817684c9a4db2d92f8abdfb33668722349b7175625b0e66d623ab826603402f68e3f87665566c61289391b0f443eb988975681cc2ed869e7b2908d040181d9370f942eca450076cc9b91ca3bae89a654eaa62638886fa11563216ba89d1f2ef996e6d41337f6ebe3dc140fccfde39f99e9c0251542b54d342ee90eb7fc16ff0c40c5087f8f43d94f36834af40ac8bbfbbc8b53c247c3b9c89fe3333a9111f8e0e0dd4ed34aacc37d7a3c0c0bba5dd7b43347dfd450293f0267bc558971e3c71ceef9ced519a64088b1b6cb1c7efdfdc451f01e2e290d104221fa5aba391b6d9a4b1a7c480614ca05065f2c40c499588c0e875a36a4d73d9c09299653cadbf6ca08bd2b01677dbb18cbc61523752258e8cffc59d53c7e46e4d15362be46627a2ae38871a5b66f4299990598756c5d9a40c974f79257fc36152c2a6f95562888b7ef6df0dc3df434ff947505afcd5f76b843fac5a5e08d58482bcccc844d58617ae18a56d5542f7c2bff82e806bc41e55f69f7c6e0dfddd575cda4c701fdceb74f7b4c304d05bf01fb703cfad5226f842c9dd4c8842d3d4277242bf1a401cd5624d943eb6128cb7e0553409152fb3d5fa009eb45520c3af23cd2a617bc104b8289c2bc852efdd127b2d496ca829295d25b82fcfeb2b6ed2af7848732e869935932b56ca07668108a6a82f094c566aef3cb05c1319f466683ad8d88cecc4012cb85e05c05b3b7550f74b94c27f94a2494a81e7abb1eef388539e7854b3dc21da7f221ae0336fbfa3727977420ab3002938f4cc3a0d4e81286b2583d35dcd61cdab75ba344bb5d917c1845e495e88022df65047d6dc3052dfbaa267200a5213b08411ba984e0d4cb73a7c77ee963e8b2ab978baf53648d94c17820b899234e50e69ad50aa284f8402dc1076f8afd6825d6c282dd8ef0d805546af902306718993f1373515bb791246bfa324a848943c358ef1b19d798d10e9f00cbbe6873ddc95dc23205d204c5814838072964eb4bffaa68583fc7a58ba2e9a07ed5b751d30d2c82aadba580ddc7e9a9888e1286b01fdad6c137c891c39c391576d10e4c291911cc4100d7c2ff8645828c53511f88576206790d1e7e9304197724d90d102db8b0a8e468ebc0f41b39f1aacc2e1950653a5360ca2b7841ee3edc0a357827087605e3ceb982299a175cf3fa1823151b52f8658cad2076d92ce684cb0175764c84a31eb08fc69ecdfb5ba062d48d44ac864bf5e4e2682f871e88ee78a6bce9b90f76e52a00e08891aa9e91028dae457fe39cbf9d514811a4ba35b89ae273f85af198826062237a98a0e550b30d6e140642c4521a84d241e09f890ddd8e18d6ae646ef5e2fc756eda5aa2761959e0b3280738e61d82c9ab7e602839282cc782260f230de4802d13afbe9791493ded962ec90705e8db52b40f0de27fc1b8b3c8114ec32fb9134e8088d46d792fcb21f17b4447116721a596b39d9e5d84cdb124c6527fb4ddc8cb8b973db1a4b14ddadd42a27a59a87593bb5c2cbd9edd4384249e7a476b9e9cbbe95ba3f0b1325f1fdcdab8026614e090df625854b1c6b7a3d22c4332e54dd60264f300d05b0d1108e5f01218a27fd247b423e7a36efb16189c4da641513eda66c776573227fdab431704b8911428dc41f0aebff353cdf2b73ae491130b6e6a849aa8647cc252f6e210c4759c5a16417e5d9110a2bfb95e4dcaf919532c3dcba98b79aa9998c9b3708ee2e03590ff79ece1b1ebad1318e2188041c603832f0116344cce37ba11aacea68314c8429e55912036f7e8efc28bc8a3f5454f71cc25f22ba0a3b2bfc719af32798ad82b8c5d440901a75e1dd141f66e9c04966ceaa04df85245e078c501615d3973747fa2f99fa937b122b7da6e11d8742210067a6542fa5d36fc05699ae9dd8fc23a7ed87d5b670aaba857f676fef267ce94bea67d3406e1dc4df76c92bf75c35337b34695a2dc3cdcdc37bd0eb8fe25052401e39ce12743a444bf8a2861266896341e6bf0c2a2d48202f03e0f7e89d8c6536eb19f847505ab4212792202c6e9372870b48541d1a4608f1950a0564f2e98d07a8a560a26496d663892c35546fd234be4df47f1a0ca823804f450d45eb3372d5dd2b1f0a7f45c9ca27ebc89110c2f0b18ebeccf15dfc528e3d52589a240fa1055dc2608f14341223e821751ce006e43fd8b52e15e6ab81035f68dd7973eff08c0e36ae5d691a298aa62ca32095f673b794f77f3ec19cd0162e6432e9931ab734d29b365f79f165045caa2859ab1d903251bc5482ead25fa1361fe0d13c13ae6efe095842f9d325bc83bd4e9a591a163343dd173ca3629988ae466554768303a91cca193680cdb026af3ec60c72777ab2111688521f644ba5afbc54f89f114b3e1969c12f2f2bfc320ba55fb654fe9d134b3f39b1c0272f157df285824f5652fecf890bbf0cb9e0932b147eb2ab84dcb90679236144b7394b37bd3f07f47301f360107bce498aff3979e1972196fcb2a5d24fbe50fac90b85df39b9e893130b7cb292d22f5f54f8654ac5ef1cb1f09391bfb2813c67f87a3378fd75825e83149c4db309cb452063829704d8c5eef6dc22ba5a56376ebe1df6e0d326184c974d34baa90ac9a230bc00ba210c5caf88649d09fc06e457825999ceace84bd25d193033824ae5c32991a97936753b6d4216ba3405fac6ae6e26f30f56b95fe8112d1dfc7fb7012673f227cae1dc069a9b04049c6308f0c6542d8629021053f9c24ef9f480d2b1e0929f361827e07b690ce95724c5f69c94984fe721e22af997188768103c7d9039efad8f98db071d382db8420faa218dcc95ef44a399503605c10a415be0c2851f4656a0b049a63e444cb6f05e68856c2c5095805eb0099309ecbd408d6062067f30fd7532a706102ef84a652b7b180bcda87519808acdd0979f58b1e04452c24e0ef02926b6158efc0a968f20daab2193d4d89a7bb915a96310612b028945ed64e244b81feb90727b90c189f6e8811105d502875ab9ede592171ce94a5010feccef9eae939de038058c7180f00ea250b9d63158de7a361bf9cd38741dbf192e51bea6b63ee2a635ef2c48da674bd08b403a988042404be108ae478e7bf21512ab4730e874b53250475e9b60e924ba49a78ae99c17e4cd0b13821a3baf1fb999f33240af9ab0ce768457903ea2066fb0e4c666d7775e0c83b68fb6f84023bd0c9c1cd814e672611df11a528f2c5a829574d24cb4176cc0f698368218b02d232ce8958547230446e7a00247a7cc11e42e4828d78e2fa62428c9623e0bff950da9dc7d049ba87c9ec578d0bc94ca51ca47f6e2143cc8259c09e8da238063720545479bc2f600408cb3e18543fa590c2d37da2e91d61eb809b604ccdac359304dc27b43e3930044fc3c10914cc0c2146337bd43cb32367f8930497a19e85a7a1d4459aa94319c020a35c547f320cb7f1079811dd0253093402b65b2f68524d66d84539c29f0219060dbbf14623db816a31a600ee187beda64a61a8df34257ca2c76f984753932cc8e8600537aa1e86479b9065709ec6406a9c32eb3c9ac7598939dff29a450b00bdcf4287cce6cc8aa30957bece890bf5be5cafd765d5a59f75ffeff38dfe5a07b22f83cdb91b9dfdc3c39f7b6d7ec088a0eea778c7885bdbcde2337b9b496671fb9515198bfc919470c3c0e137c1858f347af0927d27bd9c754aae9c410031482c02fb530a2dec57d4573da4d05eea0123ac819567c6fe573709fec4fad07f17627bd833535bb0ff14d4fdb96a118d17722217b0adc5a8c148b029d3265903729c6f5b0090464af2ce0c8294e08da16febba94127e407ab3d85e99738582446c6a5d0e91d7b1d1bf2ab8a46c3703d491df2bba506acca55ff8dc68d80fc4abd6888c81e5c1db9705f5472efa3423c03f3831982be0bf612722af737648b3feb2d5c99d81c926acc7940907221ee6028417e866178b692859e66f3ea1718f404ef00a45e86100f12d255b2574cc19905444cc1e59421defc683c2843c6fbe6e2ccc405a201b9e3ac5b9d103989c3798d9de983a4fabb1f4d0a8f418008ee32307e485e40ac070c6145c1089421cf4018f5784161a493ea4100f9a104f9c61ae6bf7e29c8bc6889c103046bf94ffb21f3121a347eb4061c8456a4fdfeb70bb10aff10791aee1d7243435ddcd534b82ca25a3c58775ec804419f33b1c26fc84f07bcc3eff3a43ae46791fd7d2e90eb799e19f24bc778c06f90bdba1b9ba86e5113f109c36d4ca34c6b4c0ec80fd37c9abc673921150b22bafe2a74d605f23588433a50114090a5a6f1bf5b8306c4d9d4041f36c4d9ccd23dec906f813d6882200afb0f77fe5ef30421a55a790e6b86ecb9ef64bdafe321767cfb46bd427e32e4eabca028e094285dc8f9079ac21d862d8e471042a9251428410ed3c9bd51ab358e2043a72c669863a601f19ef969a02d1e4d20f852e0d878a28d0c2732fc2905391f9a42d029f5a777151b351fb220d720b12a48bf7946102173f86e599d49b52d7a465fa453d86e782f363919741066d0e8b72cdc1636cb5728fe2caae002a3a52ae1842fae43614932405a099a85e912d4f412f79efb11bd6569f421d0a04638c9dc2e1b5bf4c4ca95d42fee7bab5c73d2cefdf3c216ed72b16ed742104f19d13b50c0305ef829914c1aa67d88145b0b6b80b43838d02b6e3f6f75dcacaf976869aed0b5a43502724358c05ec52b079c19283c8105e6334720d6d18bfe68e6ca2a6a1830bd0c4b54af9aae3fb7dd15e98fa11022b42601f0134f182bc0021ae3e26f9c04e06ebc19daf8709d8bbbb54328e5205681557641efa350a0d53dfc39ca292b48eaecc98adfa10dab735949a8e5c9d6d58f40eeda4ac711a6b2ebd94cb02ec33b18b125ab3191b88a03c6cb9db8e60696495e80fb741a7754f6218732ca1cbf7b69fe0acd153dd518120df612ad8e4e287cb78af479658b3e24174d78c5e9857db1cd61f723fd0aba9f908bdcbda6f01bee3c8550428cf5e884906d53d63144f46db87e2725ebb70c5cd8f8e7c577dff5ad45bbb83350a7b4fa849d9ad8363883e8962ce4078d71c3b275e09bad8dc1e6107bcc8560fad02a460ff6343d809ade6d5815a89002c5c3b178f2f9110a036362e18771d8d8432f739151faa443ad94135e851985ab82334877c99a0836e3d8d07421489f64b98c98710c97d59d44cc451a6876a7795c70419b411d2f782cd9f9fe824e64d57f6328faa628528af8c68d9bade2351f5d42a4df41627a4fa30402c860fc7a35039d0283a299e8e2d374e995309ef50a4ac6a0d7b0a1d1340980e828379c9a345e8d38cc9eb2fd53bf17415edbd8e1433f3d3597d056ef873616735f0ba29a38bccfeeaf048ee3ade53c21afdcb5a07a61750c101be831ea2251f5a9fe5666f8b318b45f8928c1e2f0863b0a64828c8ac30280a843a5ca61e7da691f669ed8df4260f083f629107b2e23b608775078fc0195d298178278070eaf9f172fc774954433861ffb70e37262dc4be23934f63e92f872ecdb20d040637f727f43e0064a37b884f1d5025ae922e38162c9fe1edac49c01ba4896bafe1a6c20dd2f1367b67c8e9b8ee9e656e05c93c557319529e7144060269bc2947293b829ce12d34343017dfd64c81120980454731ab3767b0d83045626a04066e55817a5131fe83b06b2f15f978a7e19b2b28f5a6e4f02c2564e004ab554ccb7247ae7f8fbecde95c409aad861e9c4d6095428050c96f5b8f48b9705542205805a75aa8fe2491512d2324f3020d835a91c89b01ca57b730840882f741b5d48d2275bde4b33341841e32e4fe81c795f712af7419e792069c02e8257192850d32eb14619051b4b861f5aab9ea9ae15f832eb0022fed09be24eb24e69d9a170a39ca7b1a93a0bac475a38424f26d688b91375a0bd80ad0c6168da6bbe83ec454307c6021e1663c49491ebaa524c9a61a619e172f720fdb2f512f47ee36317052826033dc3b63efb9af11a65138d7fcff467989b97811689c03710f4185225f45c5e9119de4eecefc9628cc0452660858e4b2eb62441110e20ba98077de7c303f432ee24324ec333a82d691c55a65ebbb59190cfb8c1653a2e5d7c35b022193824cd0fd00bd53afb6859b28f724202f46135081958c7922bfd023961360825cb938f2a4fee66a0f0eb43aac5d85749c406f2a567829eb86486464249bde4e0defdbb2a6b17e7bd782637327b4ea0da91f3a4e5d3635aa13e467de8c231931b80ac105dca93bfc2b0d11e3e645f245a9f688f78a8ce884e7225456dc193411cf0747a1490cfaed4e6f03f2c734fe0417e3a3523535d43882f87e83f420c8b10c21c55fc6ad7d2e291961210fe5efd7c4cd6a448f4ff91e255bfac1b9e64b105aa0491112d7eb569cb65e835e530e8521b1e7a4a61812f725de6691a520843888115ad8e2a97d2e6095502c84801ec68edab7a2d0d1e681d188034fea391adb4da7d286a1899bc9fa82862f625525d552eb5c1235d879092025891e2ac822f7a3b361ac1d1a54b0829218425a2f8552e4dc3d3b5ead047c92e9f4745c956178b5809522296ac6f21ca2d525420a2d82a1d2cccd23296639fdd3803fa3c279b272b7fd39c241ca8b63c0c5eab46b026e9ef0159082bb2f85504fa1f590033aa78d5aeb58507516f41547c0b6079e48a83c49357e88e0faba98f28bde87ea51385f260d2e03645b6acf03897afd6bcefed12f52c0cd70005085902e45671e7e1bd32104d46e3fee46541e906ab40072bc26da56dd4e487b99979e612865608c8d203fd51f03541afda403193bf5ada04d945da01435d70b775253f19538165d62147bd6b0d68f830aaffd574214535d5bec1bd1756c2fb9e0af0ac1f245b9c0078f0f73f2626b246065441e191ac7ac15787ba327131e93612c6877548f7de1b5406da0205e33c1bf6767024eaf2ad0e5a13f3398766e0d1c48d3e0668639544035243c2e6750e7381ef8217e2e8e1cffa59fc9b48ba453dde94a7b717e05a5c0783e9be094d1e50989e491427e2a3c9cdd7351ba678e9325e61b9288550cf810ef2134d4b6b4ab73d14870c219d3c1b025e35519e1c8887c3b7ea628930e543811fc71a891c52ddab50063315e5aaa62e505633a39bea7e95cbd78c05a2994599ace34440e9ea676448536688b8ec11a80b48825eaea5f60ec11baf6bf75f1d65770337f6f22ef30d75dc1bb8d18bbbcc1ba4ee3e23877cf0014a2cb13d5e404e424e07a7e215a9735b50726ae4f0609cb9f81308b2cbc44026a4d106d9e67b43487350551150986531f814f8276a7c68e591e6042d0795c52cae86f2b686eaeacb12270128c9d9ddaebdc663f40ea27198b4b677b7bda59429492903b503a403bc034678741352ee476a4228e3af0929b9ffa6ff3d90fb71da8929721b3d8182960bb9df0665e1fe1b4936e47e1d548795955c91bbddb144c9f4e977f7087668ffee7697814549a63fe7c41952810e52cc80844811245cfd25b7085ec88d850c34e880011a5e4d90c0d50380018f1807c989341dd189ef60a63a3635940f8a19fe70c428df8a2ed599bae924a4f8e514d863e8fb6842d97848054373fa4fe1f883131b47902113ec80a882c9fded043fcdb78d7dfaa74ff279ed2bea875a709f2311c4d0a34f36a71001349f581dc0e4151962e8482f474d727f574902e94a527369a513a51fbe00c2631fb99366d1fcc9f4e3249a4ec61eeac6f6e95e053149f0efefa2e6327de61ca23af325510f5991c71965463981d30c1585ba70ccb87094499f29a47122c78064cd251208284b962f5fa8a0820c19176417c8512611a1e251b384b41093258199d33f7d8ebe68fc6ed22893c4d3a9268f35ddbf75d8c3b504d36fefe968a70450ce5e39731cf186c6bc015aa2edc37d3fa5e14ac6b4a7fd1a48e345593b644e5328fd4a4a30989449ddf26e7072ff88e31b075a4d03b3cccd58ff06d2ee77a8d64367436aa4be6bd3db97504104888f905210ec482e753c17284f6f6632025960ea3df47a75cf214430d245cd9a404e5a432b2131a87b28d3ee65943c8a2042f7754e3f6db5562b516cd109965dac884939fd345e204b1fe282e6047f7099f3fce3b397a3a2d4b2275b0bf95a4a2578ab576bad0db3d177a8b5d6c31f5c6e07c7de26378efd75e32a38d6ca71b6e3910e8e9566d9d8b53b419a60b0cd96dddea63c7677b7577bdbddfdb6eddaddded7a7bb3be6ac75e92edfe553c0e5d7ed72b293e1d8429601c8f2a3e3912fdb6f67acac7b4a2939d92d4d1abea24d795aab69d9738e68d25d1dc5758f924de24ceaf7bde9a66cad05270066db5d71fbcdec064432ade608a199dcf39ace3937bf577a5e36695bdd6c5892c4bddfc72f49b224898b239234916449922549b2254942207fcba39c62a3d5caeeeeeea096ebadb54a1bc26a75dda7eba022b533ccd18537bc136f66715eca1702dff0c8f730cf0d26b971ae1b4acea9647a038764ddbf210f1e2fdc6d26adcb2e77ff9e82e82d0cfe2cbd1895098369b2f462f4654301ceb2f462748a0277597a31aab2c5488a51932d053fa72a302a4b2f46424a609ca5172320a31f2b44f66154b6a5328fcbf096715ec6e1694589cb681141a627686e4c8362638928ca86b8ea73f1b4a203ca9dc46c664586546b508e56bd0419194f929ec09e28d19c6ff5448c218a1230c451b64411ca8913bc0411b6f201f4ab77337d7e803cdb60c030276d22a6e704902042e87f54fccee91c15961ff605b3630e245bed5020cdfa1495314bb10f9250c910d240fba16918d9670363abd3c92442680e212474051eb355082d1b4627c8117e7e56b4634a4fa50b5bbd27789c44799aa194c80d83c74994bd8eda27a96199133c4ea2394609c87c2db1e09a39f348092c598b9db26945c1a0276f9376d30e6d4ca8dfdf3f440b78b927d7b0863d99d2495f0d52233626d039c3209ee74f97c9340ce219537186b7e61e3bab143927a5ddeed57ed46d064a2ade22562b82e77bddaa8f77d507cf771a4bf174c1c9ee5ea9699a965d9bb5fc173275824dd3342d56ad2833abd0344db3d95dcbeefda1982a344dd350f2a35ecd4ebffabd59563d1c835069265bfa57d016643bca2cb29d34c49c2c93ed4f1ade9b6d96a3ff686fb6ce75ae60e79dce40b7f6b3a7375bcf3a0bb9975d056605e4d6d672161c3bd39b994c9b77dd69088ac398c60e999ea77ad1f154fb71f6e2d0b3299ae9d6dc76b7e6b6bb33afdd9d796dcda4557bedb5d7dab69966b3dbd5e4cd02df2e7781b86e29a5ec6aabadb6d65abb9a9805a23a95a27077e6b5dd47ca6aabadb6d27a6dce11b5a75c918c66d24cf7de5ac576b96bc95014c6226badb52b2d8285c60dd75eab599bd59bf9add6da5aab56ab56336bc66402e7cbe7d64ccb5c33b9bb942eddfd3544c890f9aab902fbf338d57113ddb8eeccabbdcd75ee5ea594b75e77efbfb5bbafadf6dabff7de7bc1e963c149e4356388bb1bc4b0499c4b7b5c9ac9f6cdea7c79b59e699a49f3965daf94b25ef9b565675acdbe7a66d26a766f8fabde7bab993c72e07c6d3562e66bbbdce57e62a8af214286bcac7bd794c1f5e7db8ea752a0eeb4b953144671dba4993e33d7973fd99473ce397d766b3e93c87cfde0b9cd688237cc5dfaea80063abb3ba70578cc96c0310d30068f5996ed5ac659dc6503339470c2a50a191a951897242a3f5c88aa142101ea7eb801679065973140704a3846965dc620c142cc190c04769165173163a0c0a82cbb88e9828518a28e09314c768081d22d66ae039272f8001918ae4c61442241c41929a6183105123e105182d4f53c79e10a2a56623d1851846b4af9e19505144c4ca0c40cd485ee2d30c8cd0398294a84687c5f8c2d5ac0b467be83470f267c6e995253858f7565598ae46bc5759f7b9c0529dff7ee7f5a82f2fd9bab6505f95e2f5b9ae47bdfe78ce5cc6d775753c89555ea0448ba923d962bd2e4e4e36e297287c04bee5e75e6ce4d16134064aa05890399032c5a7c01189882862c5b6c398ab9baefc9a7d04685144a38734397202d48b083928be67bb283161c67cef2f615ec6a6b6fc19e5cc1209eb990ca303dd07e03c7299435a762a685dce5b80a7299a33a36fc24952db992524a295b7225a594725cb5ed3951d552de21ef00a47a777b234142a29cb7bb733f36eb5639c175cbe03a4ec680c73fa239f4634aada466ddef0bd26ce97aa780bb858bdfd393b3773d68d162abbb573f42860ca62f6b0e24514421bf566f7797ab7c41e9fa2aedee6ee9ca70a0521dc0e3e7f82cebff7c236a34b2cfcef4a4d4dbddb3ae9b5a55143cce17942938b30ad5691b8e59eb9344af5ead7688581fcda14dfd7edd47a71952900223d5bbdbdb862b576c75f7ea4792926c75f7ea47f24ffef151bdbbbd916081050b3b6776cef0a8deddde4860305bddbdfa91cc43e6618528516854ef6e6f24ed7ab254dddbdd5d4faad7ea5e83a8d8e3eeeeddbe84ddab77b7b70d524821bdb02783c1749c23ce38fc70cfc775ad2fbbfbc9cccdac27cfa79dd348197a3d72646fa6e16ce069e0794c4c15152b981e631c943009c214b6aacc563d28974aa7a986183defb429317f462f7b3bb2165151a79a02ee748e9b7ea9451167034f030fe5f18047d19b3fbf1273eb86a3f82cef46fb7c9047b4dd7be12a771f7caea07a2f3895d31cea5e06bae508bd5d8b041e3f1c366cccb802770e789455e8f77d5f7549670d45d30d32382e8a9ea9d8cd0c4e06c75de15e6c0b85f4e2e5863ce737bf357f67fe8df93a78ccf7f1fd17e5f938547a50e091a36586a407f02861316e445114451176136392e0ac1d1812ad42a7d810dda7ca0ab94373e6277d3386150e9d22aade95a497f423375399f95a74d249279d39664a8aa9534b8aaa8834b6ff3efbd9b0f5356be7fb525df038836030184cb66cd9b283ba059a33634b3f22675dd00a0a0a0a6ab55a27226d8bd684b54845d4568303eebc213efc7dffa2b8eaffb8d0a0bab8884da50913c2e30c8221d9af414141413728526ac2be090b2a0aea1c58b3a6104c497259e106096ec91a5ff03861ad56089ef576c0b37f729b49cb24c7e50acc2db2f9236bcca73f19fc6c937ab5374be160647a41cd031ea552bebf525a29ad94564a228d55a148af1bd61a9f2fba351df091922ab9008fab1e347c28c5964cde191f2f16c6e153c2a9a6a0417bdea0e24ccaabd3cad36235e288349e8688735f2e29658d090d0c2819c4d9e91cf16a50e6f55ed066ca0725a6bbe3ee483581c72c842ce9e8e8eeb83b8e8e54344c291aa5991b54c72e55ef07d6cd9957b585e631416d352f20dc7953d0a084f02897829a660c1ee55295dfff30937aac40f80fdefe672b103e784f043464952936feb9998a824799445b6a417bd4a71d8e9965d6ba3d927e3a20a2ef5bc2dff77ddf7fff7d44473b6576caeca8deddde48bc17ae72ef85abdc6b82fcf39a20ffbe1d2c76b0b831697bb537d34c1bd79d5098c645ca53d5bcf860c4b0b9910180190f8619e06810800dc41c01701cd0a8f13803507a8093c0187fdfbf28ae56b34907b55341a815507204af1ed41498d5cde2032d6565009b0940e86a8c84d07347c8ea0354113c4ea11d5aa5080a8d6a8b4e4aa50139024bf5d37ae10121020c551123d8a4cc9020a306061b33880a007a359490818a88013420dae90d58d05bceb1c2c58127e60035b4dcf020c585e703af090240e801070192e460893141841a1240420d0714500012e830808acb0272cd0b0ce803a4a0b0ecea041e2b3b70a83880820931484101531ab000243c4e4851e100145462546880077b8003524f7a585fb124ebda958fac41432120840fe81080ca1e15ab0d029c440ad3817c93258f56a65df088bd00c92521f44ceebc6ad64e2b2715c1bc80c121db588530617c2f6a24cc024cb862ae1890ec427621c8962d445e6dea8a12db22411441147fc0de112290df4e6dc9aa978376c7e051c6384eec974f6b39602a8a2dd22a14e9c605a2ae07d718d7981c4646b6ba7bf5233b4fec3cd1e3cb175bddbdfa91228ac0f465fda9deddde36b88c70194184888eeadded8dc405c505c5c6d191adee5efd8892920e3a54ef6e6f24b9865cc34e6c0ab9b7bb6f30252aaac2e051c27cf80065b4bbdb87d8ff9f1702fcff7d2dd44a74ac91a91c9a4242311a10d0a05adddbddb3eeee6e31f5041e25182399b282088209935182b9505860a1670813c60927b26471497149a1918fe423af9f9ca1ea7b6ed0266f19a86305f5b3ac7d88ea04214396fdb0f01cf2a69366d53ccdaba07aef695ebabcfbf722ef2a81fd12d4f7a7b00e949bcaaba00c69341d249cc1a8779aededb66d54a70be90f15b7cfde3b9e2ef48e2788acd1996b50030ea27ddbbfdd5fdbc9ed3b505271832de5ae5b3987fa46a5b21ad979688382ea6b9e87ea6bc22125e87e888b5785b273ba9047cda7c221a953d87de72de3401d417062789447d2255dad9c7e1c9dee4f59ffe9e7d07442754ecfbd5318d591f9f41d2873773c271bfd2d5a024d093eeff24af0debffb7e1d45923bc5ba3f3d05c79e4c4f5ac7b385363628d07ccdabe0bdea69be2694ed82f7aadc81e3ccddfb9f1e7f07f66407a5677cfa9da6a05391fbd3870247cf638602b970e440e922f356ddd7d3a9a6623658335cfd39b4c86de46a1550c9fd3da8ce8cdcbfc298dcdfc2a9ab9f7df1e1c03b145a5d0a2b49c5710c251537fa93c720141c7bb2e971c763fa6d763c5b17da9cde46854f21079408a874ed5bc9d2d140000012b3160000180c0886030281208af244d8d40314800d5c723062643698894381301c87411005520c043008030000030108424821a830e701a9b3c05a095777b49afccaad84d83ba3756fa365838f569bd475ab106457e2af184834cdacd6429d505b209a7e4173b1519597668528c9b840f4d5ab2abc8026ef24681451f6aa70ef7dcd7489a5046153819d628912938894a755995a309925ceb952a61857941c3b325d1e83f5c2e62de9aa33b59c0294cb15892baef6927a7551dfca2bdb6cd210bc1932529f7da9288acc2d8645174604220029bccee9f0ed0f6905421511b7aefe5f3e7ae3181b24db57c2d3f6e67762a65c6d2fcf2f9e974baf20324c2df06ddbfe9b8e05de326c7f8c7e28c048d730c0bbe95d308f3f988b18907719bd47bbe1b54c5e02f08bf8b4ba11667ca1459e48a4ab330128288e4f8df03b8e7d9ba3563a6f6cae15f6013397b7b05285885b7829cd897263986d47126f403a64b1dd29048f69886dbb939ba70994f25b8d697e83e8fdbe29398501874d10dcdbd9dd69676f77d78e9dfd5d3b3b76f7edececdcb5b7b3bbd3cedeeeae1d3bfbbb7676989d4b3bcaa5d2a6bbe02fbda3fd2623a0d14ea3620e2c1ac3d313a47407c0921d9d4f57ac78686dd70fe7ae405130b26075ea1c0b117c4b141cbb4f9b1f023f86ffc660678c276321ff604c82647cec404d7ca43ad8817eedc8a5af032e0fea138b10620753439950dc173a4888a0170a035f930f73e4852ae4b2f9868fd7c88d0cbe45cc1ab074e4d3017f45d82bac29b2a2ae09b4baff813a1908543af2239a605b68de4d03c5ec23a1a2ab3f844071154cd3430a885c8b04301cae1fb361a6cb4d7b71cfb80507aaf5ec0c8fbe4d4da2cee19477d13fbebe9fe50e30a4461ce20117eb974837e0f951a82c316cc4328055228616b03d22338d4b451c0cf83b920110f344d62c8077ac23a697b83d22f3d1b89229110f2012305742b1bedea155d6149523c6e0a4c84c09076286b8f8b050ec6aa47d8d9923aae78e37761d391e7122a2c40a9345e2b8e0b88897c3e2477e1c8e8bf8f2317ce493c371119f42ac31b20ae075c4f952e2a9da22b34a0a7f4c1b8a7946b364dd18e1b3973717876778ab82b7aaf1b4309f0447debf38214250159323903d2e18f1e1717ca48fc3f023cf043133a2d08dab236615f81e2947d3ed23e273f097cb300c1630a4e3ffcabe258bf53681a2c65bd59befa18d85b78aff3f959a77abb78301dc8abb82758f7a2a8f5ad89da69d20745a97cfb5aca5148ba005191c6a6f5b542c7e88e33d95256a0f826ad5775cd4f9512c17fd1e8a1ff28a940f53f87349645ccdaeffede2d75734f50d5ede617d8c5f9505598b3d279bd74a5ab5b96288b676a0677ecb0db38be428264a1d9b5b85cb98afa3bfa92df2e3feead1cc98ea04659dee36cc113cf8561f01db2464d897aa374041cf9fee315df81ba10bb4e2abbd8985de87f97b8b8b27b30d255c47373d2d1841909642b4c6ea245d18c555075e2052696320615101747104d8d03fa114c96cf4157880f8c12b52850aa77e378950df78314b7201270bc5228d3c98920a4f2b2b0f11e1764ce0aaa6313510c15a292973badd45ddee90ed83780be3e146909c52923c85fd3f65596ae01d18a6658f870133f015067bab88b00d3b59978eb1fa233fb9856f4050d2a34708dea445e441952c1553291c1e0849ddd7411c54c4baf70d416c0ca61347c0d35aa26afb41bea17f645401ac87aa6db801276c01191b6cbcd1f643877c69a642a0c20731545f0a3f1da0cabff6262e947d706ca2f0fbe6576cd612fd6640801edffdb7b7102dc541a83f84d251548513b220d298429f58eda721f9cf1b2ea7e71462f115b64885be4a0788923c3764ea271fc726bbcb3ba6990a27e582087890f3bf3d4c367d631a925038f11bab69b805b2515bd83786d05b7df6947b931083de1157698dd635c00db544be375090e75ff6982c90df6ebabba228d8f66ff0045e4f7fca85c88201712689db8f4f4238010a9841ccf951974a6e11288b54725ec4f2cee06aa9353c6d729a6a7c770a5390fa2d917f6e01746963dfb06f61a64774b91c704a5eddb59e7fd30e7ebbd7b1fa1c69a16c1e7d77c9a4c26adc45bd405f13f8ff8a27344cbf4a38e9a016bed199edd249ce25a7914f696834b0f4711339dd012c228c8a99dd507d91fa2c34ed477ce56ecb38f39614729ea206df6f8f2f6ba485b30cf66f1d8efec5e55dd5848ffad87f2abe96e09ac37f8790cfcec7eeacd4c94f7b46c58e176331111977dbf7545116d051fc4baa1f1516c799a365a4cd65528df091233d90e2ab358e68f322de851a7a22d351692d3bd3420a6363ea462d36d3eea1b636c25985cba285862147477b2573c7dc58405e7bf3f14c602ab1f2f03a878dad2534b2528e2057a45c3fe44656487ab0d192e78837157eabbb3c208b0c986d2fc86f7f1b32f11628de32e90a3984d91b1b182e5dd5965194b191a8dfad34f40e7d2399bbae9367a8f11dbf2c8121fe4bd22fb9243042483f9e2cf5534d112d812039c43386aebc7385b249e64ddd4842052a33aa4b9f1a40141fd532d180b10e38c801408d98a2991e37ea724a68dee6b0b701e248f5ea1d4670b7db19a21d7dfdb6dba73c1f040a471008a143f5cab93cd1b87e41fcf9439de12acec32ef6ef90d37df34f90c302fae991ae97e2ba9fd64fb5688115da3c71595f32a0c27105e6e41e1501cbc1ab0f20eb634d489a78049c7523488252581261293af52e347dba9b6b28e383929a182e011974f4b2c7e0a30df75464fffc4346dca39ce3207bd0e32b913e5e7ff35b7e24d28a8ed8c74a4fa6d780ffd312f675a451ec4af42a3d676875dc55eb529a19443ee6b5f3c08ab09e3c185be281afb6cfedce9e3c74078d3ba7186f96012dda06eb0d97aa6de7403af0345f4b565142f72ceb4a7a3710edd02da89ad444decbf767349436ab922e4db85072935834d1249e4bfa0527eb423a175e85431a1eef4f3c1cff4527739b674a9e88614d2249f0fdcc1bc9f4114fe393a1f87eb1a23aa4a2fd24f219895b01e6b50833236a0663a4a08536b4de147ba3c56c3bcb66d686c1b106eed89d6106695da4c9dee674243df4f90bf7233ee1a65f0368082804481867c0d308ea7433e085b0dcb9a60719ee0b0b24a13302e0aa0dd7dcd96d54d99806dde8d0f9aa6eb69b5cfaa9571b09bbd69a0ca4ebe2fbca794ecc5751a86f4dd74b0ff051aceecc3963efd5c24ebf9153b1c6d5821efdf5d246baee553c69cfe5b89e7fae0ddb7986b3f3cd879df908b9ceab4aa5328b01da3d9bde21968258a69743c81fa1c3db83a4a08971a08e324b3f2beb626a614cd816010455b78bf21cd75026dc46e49c7168ebff07bdd1eb93ab797eb2a1109c966f33c9468ff1b74e2dd185c749240af2843481848f659b4827321aa5f01029a417b7f76edeee09d28b433f5d0a63cf51c3065441fd9c5de2838b951c3998bdd02c3d25380fbcd52a84fff7d8ba4f9be2f5dec01ddb107fed44aeb36f77664dfb8fff073df53e287b966f7ae1b20d739d341e6d9d49621c12ab8ffd7717b940f0cd9490090ce006f8fce33ddee17f08e251bc598284d1dcd661d041721e88039cdc51a1fe508451c59842b2ee7f55175e7429387842bdd43f5fe3c1b079864d89ea12595b042cb3efeec580d40b25740f8cfc26db3b6cbe21cbab1744bff05ef4d7079ee19de94c5181fabb2b30a36e2c7feeee714858b2a67cb14a26caa8a411531282e413d7a74689c56f49ffb1ef01e1dda7380cc121a5031414ceffce64c7f1fc84bce87877336dc8f70ea1bcb2fc93a3cfa306cb339f6e4779634cc69016d9aba6333f1a742a475b97270c5274b1c7a5b3730217c91792929cbf3b27ddd7413c5d817d02bfc0c8ba70049fcfb3d7bbb28fa9d99311085d7810980831238b6fa4ee2d1034c5495f215d240d50ead16566ac8b4a720357e83f4ea7e8e370f333bc8dd968510794014a46af5f955a95886a05e2414ea440bffdaf6fb0322b1df0b521863c5c876d9fc2797d4f9d8de68a120eabc09ebf0616c262e7f59766199895b408b249820cf59e0c5d4c786734d5f0615fdba291941d9413365aa7ef3402c785478282badbe01667896f8c80262c12f6ace38af97baf9b622550cc5e60f4e7022e0aa39f7986b2d930a1211a4952517598719335db73fc9ca84bc75059c5d92f6dd22136860aa7138292430d25f795961a0ff1f14b6f4d43151a3332a4d91a3d085b001b88c00d9667ce6f608bec555e1d443bff4f2d5a15cc678a3b08072a3f1b6694ee4a8e692f7e6669adddda2a52419c7871b7e37556994ceacc0f1119557f448902e740200dad06092e16263dce7cdea6b12e35ede629b2b9c4a2f6a51b615a1f1ee97744656ceb38b940ac780742b771c6324eccfa49acf0c3295c461e65c452e02b854331ff891ff45acdf19a43df63dd5a8d36c9c5844e3589f00c9ca4c06ef231b50d25c050f8f40c53a37da8b366629e0c96085848ccd20a815073eee039b4170a7317ae64d4179bb4d28f43a7c17f464a341c156e1a6a754a7b96de985d99176ca9fe1ac3c03b9a6acf45d598d027d0b9621a4f17c8016c4a40567ff3cba3f6e3d79aaeb47143362bab2082dd29f53703b6267efbb5507b87bf6a141c0d040dba391ebc759008012d8257d47fe01d8ac861e50d35511ccb31e2c2f4ae4039faa7f01d182fdb60edcf6a79efc634bf3f4ace4721450464eaa8b30f3186c7750971e003fa2f4c0893f7f1b6a7a1427e9e4239b8cb1a86e1f826578d69b266e298ec3c6d85a54397f32e4322be87cfffcfa71983221018a1d309b780e8f83849caac718600f1795359fb3c25eaf9b283874004e2690035276298e2b31943914d76086d2bc0ed0a0ae73c07f8d351b09213a4a08ea16c05675327798a8db1821385a00ca1b702874dfbe4193bb6154e0b833c9020e7af3b2e27e9c4a2f7ce0db4e0df3486ac7cbedcea0feafc7a8b8b7e465875dfbba156e4bbe3905f7929a85bcb0c291fe301c2a6da21df1228a8f3b7ffe60abdf27bea5eb84f1df04b47d12a4e95d26d7bff70d3eb5d8ba0eb35bab9557e5c7246630d6c019e2e8f36c5135f56975ce515c5c71643755365a9a543ccbfff559bbc1f5c399fef2506ec35c533ed805341863fe49e7070d8183516d10dcdbcd76ca80df2dd3194ad3c6f1a36317e33e90908ca282fe189a8ef597c894958a1e2a435697e0998a7b90e9dd4b6527fde13ec4cc46789b95fe50753ab04386a0fa526a5e60c5598f83efdb41726a672364caae35211d66d2526104b5ba5e5ae82681f719df0e032bb5be30c13a4f7d06e868ef21bcce8403c99e59f4c5bfbfdc4603ad34a81df326579c5045ae022b93a52340e81d566ba1148d98a0909a04780256580faffefeff8861a8b6f7365d7ccc8c93e081bf0b5df2536f3d65321305e0f624a9c09ea6c28e2985315ef4dcacf0c51fc47cd11a27159c832abbb6b831381917acf3afa82d2b4bcdf50d3a7fc21e42a3d2a72a0fa4c0beab1206051c8a64854c3bd513d28c4a57be64181168ff50300ec0cb776001b69466b53b427fdcb248dddb0a064e686b1f48c2601ac5d4917aaec0c754b7ffd54e01f64d057ca39a281370708bae6ce79af14088fe70c9c6b3308fade65cbdf838bd55340ea0d4343a0add0c87ac33e4b601f469640ea333a100005e80360fba783d710c0673e04dde3ae8d344138408bfb4dde0312cc1b0f800f0cb03b1a43d77ff9618940e7260f5cf8bf9cdcf13717c5da81e2b85f8227ed72e2056917089b25c1fab6e2b84baf0aa1fe01b18d382a1064aedf606df9b1e0613077464aaafd0f6bcf8b41e37883b0598cc0d51aeb69f7d796aaf02961e3537c3ad1f460f8a83e4c7a95a6ae5a174f321bd149dc4251e241db17616a94be1b048610d3122112109199ff34be43300801133c4c5fb308b965d67fd949585bb42961ef409fbce55857dec5f653cc6e6c57f309ac23af10c423c40f9e46e805fcdb7e22156eeb3c1919c041c0caa87fa3a06670d8d9595f9dcd9bb1dcf35af147612c5b98480b55fc63673d1fef7c01aa931b670987fab3d919b59d19be6a61d3b9a6553bf0482502c00fbc970ebe360eeb98a894a722390e3b514c42e47d00b2e88a0aa182f9118399bc04f9a5b2bd8bf276e792fd948f3a322ac3dac2df3e4769274f649eae38dfe7a431ed306950c0464e0f8c97055ca96cd07ea01660223fff8c3f416569de1175ea1d27a9aaf3281d87f67aee2eb1cb8890f91294c56a68e07e36b9b84c9b6d038f9a83f2f6015107f48369e700b090dd3799deb8ff5ae2c09e315358aed4947d2a0b98437777cb1a1928e31550e7760c86e4fc0f4392b7a7fb1951194160f4a5b261cf809f0e60fb9749d48ccbe415c346f5e393480a3a25105339969625c67e17cf41440fa9b80f5a8debaa241fa6e6316d5db45c69864931150c98aebb1800c2aa616199820e54801aff2c17ec15175a7e5f8452fd8194783bb0c1ada2480b9395a4d84697e32576eab6a01aace29b2b73d509e08c9b00e7f52ed3bd2174a78b6d8315b6b6056e2b15448f8d938abf3021bdd99d92b22bb6a4621e2788f5fb6b6c2f6974f8009c68e16058cb6144a4f3543686cdd09e2474d51260dc198040d3a1a9d360d3efc03fd02b23834acfe9c57f43a64adf5a3ec142b4f05544bef8e8caa55b14e53badcc929ace330f042253cd7a195658101ca4e5661a29029c81149522a9f5178aae46fa6277f89dcbf7e69a7c2b04c13874838ea59d36bffbf9963a37f789fd89e5e048ae3b89c544c6471bab6f328e1813d65ed98a6a7d596c3312ca9a4d9284c07554512ae40b50d5f6b394f4d509648b89dc615930103e95936021ae5b2b1092a559c0efc352dfd644c7b0bdd4cb95adbedc9ce8b8a856aba868208b54a89fe9725c20c4c70d97e24c1e7df908f5f1503fe10990bfe89ff8d901bd230081c27799c43c5c4e0411f998f397e8811955923f0afff2cfe4fa9a0109fa2ad23448e88e587feb2565207b481e97898421d7e6ead19878f7f3d122ac7c9cbbd467602bb9dd9581bd5a9e966ab643403e3c983e6868a2f5d0ec72b7ebf9130479ff0af41c096158e036e9a0f654c8c224588a326366567c6c01addb21438709902c15e756d1a0ae23150e0824387ee2602a82305fb96f42862564c6cf592610c3726b30722899f88150007dc927ca6c995282c5a2db9fa458181b8223b4e2516ee32cfb3bf2b5177ad9d70d59512ecea3a916d10342877a4f0a62f567291b3b5ca61e4877fe915d01c0c86e968637f54a067e4ac4527070a134af02de2da5ac0b10d0b150ab09f48d3224ebaa6ebb8dcc2f9703a36607ad1c3adadfd04562692b244426629284fdbe74bdde1efe554a72306c97e36f10634812970e1436af6526d494dbff024096928029e383b7703f522e7958d74cbbd1ad78de818fc3f826ddd8a2248a989f887229d79846c05ebd018bb8f0ae5df5ae05e0c25c2965716af5c3f608e7d70144cfab51fb4a90241309f2ccbfed91052e5bfafa75fe2dfbf1a461c5b0f20522bd51ff1cea257af55493c8de4e77a414e67157b94d46b50d38694bb3f7d8e9a8de8f9469ea75e3620b9cc446978762f332c9d8398ea19cd346df1facb957ff508a43200c3b7f36636eb8d4475757ca5ddc36d154e813d7f20b08e900a498bc64f56e6d413bb3c9868b4356879844778777fd32794c8692341cbc80f9a37c439c835d4563ee442937d3882092906cb5bc675389b04853ea4d48de692834f813c6bbc71672b43a08dd97c9b76c722c693a2dc64cb2de93a89d17626412cc1e999468493d50efa5f64afd542def8969f5eccd697f162ce816eda95478470f397dba0d92f742f4f7a004240cace6c8c635355e30ff247e0cf0bee6b866fc81719154d5741a7d086a31f857a2b5016528232d5a90431ac4ac858e0765e1d6249323efd5a433db2221ea1ab8a9f89a3d176cee275800dd8f727a9893e806524011cc515cdc5ccdb8b9563492d161a4d2cfd9340826ea31df9e4b0377fb41f45d7af7384960f6759291418f1a4f8aaf7f7b5985b80dfa8025066ac3c03ccef4b914317a01f5355b3fee5a72219123c1ae3451ad5e685d36e171432f3590687b02aab6556a77491fe0404f3fab3ef6b57a16b8c34a3dcb9218fe3f847cefb0df8fa149c2a5071001deadce9381c8ddf4a6c5e585fbba2f824960f7477708c89f3d9773f088904bdd8131e65e8879cc9d9c7e7fd87eeea1e6a82780f69025f6385dfec4970c8060de838b22665e258c85d07c333234b6198f1d63d2a29405597e5b7bb2ee1d4bcdb64e94e1325f05936d4449f62fbe38b7c11abfb8fcad18d12be72425f3be782c370c470fc7234a7ad9e9725f0117f27a90dc45d60b810f9eaa219b2119758c8a6d2f168e2e3c175585b4ab06447afa8edb4607f8324a78cac60faad61bfb81c3aaeb4c7f7d6febadd4f213cd7c8d657df594a2abb623b282529d99377eddd63b2a61bfcf0d96c3ff1be1cfca86bfd28a5d991bd20904b1215d72b335a1a7e08b664a7d73c54b4d4639443bf75484734667c76527bb89e287854606a2715193142c8c849b1632a70c15e564aff90d3485c8b330954efd53320e26b9d0ef5e98c67086fff84df5f99704df0028194cd16df6afa560f5652f4f8ac6e473de8ed4395cbea27e17d1839d0922dcbd8c29e7606021ff6674b09ae7d661e219deecaeb886a38a5afeca493aae5e11c73b491ce93c0c3d805b50d15f0a0bbd080c3b7f9ddbcd2b8be6af4193c9e2e5f6adf4d70b7642b4364636e8948b66c768026f872fcad142022042dbce00ec4da9397c4009c06173f34df8662afbcaaf18819d6b04f67977ccdd38e6c8eeeaa794f3b3ae7591f9fd66e0c655086db033e901ef351772cd6c81d3a80ea566437246850fe8ce1d2435c548af0e0f53ff3120baa1162da719889d19a8d203853c03656c95c77c6a57a78e2900f09267ec19a28a6b738b180db9594308177c8cfac93590b4d89cf92a69a9d9652a3613377c0b3e0eb4346e3a2a4517a9ad6bd30667afea8240d0b95708f61cddca7165a541e4443b738b371d89db6bdab2379ca40ca77191c1687ebdcfacd8f8ed87964e92bce16bd9dde52ed5ac31bb5ceeb098556806ebf3bc979643d7274b1cb73c41c681735a8b358e7158bacbef116979e97230a08e960926b06eab8b9596e165b8689fd22d9ecad54ac4d59863e69c2b14e9bca451521631195ac4186e086f081e5e1c8cf2157154849756f95df38321eb020027030b2bc2b3f33e235dbbfc433282f60bf2e426df9cfd5a0145791f2fd7cd3a9dcb7982cde823ceda4c86e18bb50c87c18156f208269bd6d09f974cd7ead12efaa198aab201c8c529a03e05dc89eec57d8e529f00398b5f33c628926143f0a415cdeb0d80dac4944147d2189f07dcb94e5917a265cd27dd36d93fdb19e52c39f14e5fb9b74607d576eab5de4512f32e7b9301f91b51c9641520cfdcfd9e7be998abcc0c69064f3f7c1ea1fd426b4464e0d1d5ac1076a670a4fd28e3694d22779876da79866924516bd5f655a783dec4f3f4ab119c16b3131225a31904e6add93b212a6bf9497854c1936c3365e43df1917902187f6345b8859511c4825f2a7ce9d4243b86f33ccf5897747b7fbd42ca17465b92e4d6e8c8b72ffb655af3137d71c9d09ab7d1deeabbcf735b70b28963218513ed6e236148469d7e9c7241ee441e1c8fd504a2cae2b86ecf0eeb8dc75a3fb0e14583031aafad33e46094e7fa481af3c124e268267fe7131ec535434a619df31ce24b45d0f9af08034f5ecb567f1a71256f01cdf495ed094e9b9c2b03732b2ce1c70c535197289b983175fdbb689a12cd36595d343764e71bfdc9a2ff77d13d7cef5b6c229985df05e4aa88c3b0cc75db400f01a38c704cb9cbf449c973ce5149e49e76a950c3c470dc7c9c65df5f54e86d01611565b6dbb49637fc784e3c27b81714f540b85ce22c38dceb9ce30045b20f9ba8ab15161bc41168bb8164eec6acd850966ddf940d3305b1720deae1987db89cd89282ed9b685609984d46d1b99d6a7b51ec2a66c87bf6b24f04dc2c36d8cd22dc049afbfd560efc4198ce900e9272e78f594b90a2ffe0f63961d27a6e244a86fd1ff59db91bc7742693dca12c50e247d857ef93d73bf826d27e3b284821bec5871e508bf3cf7773d875104a29e2f78e2b7e86383eb5270fce29d9bf011bbaeb2e27b58a295eb70ec89bdbf36d72c38888fcd1a4ea412b3c89fa4b2ce4a8192e2c77d1e1c76e93be5a00b25e618e7af542b51c68fcd4536226b3ca4e7226b9dd6e1456ab358d0652ca26feae0740a496e0f38627a9ef9217c2e621d72424a41400902f936a038d94d845da7e39644a2afab11160ff9406e66c975d2ed4b3ec68015768fd1ff15ca66d59e31b490861622f649be7272f23f0e2ea1b5a48109037255fa2533dcb2c0b71983e2b44923f580b3cf7792fe6cfb3e06fc920a93ee0ade4977e8857d02b1a19a22674fcbc310654c2189a290fea666b50424eb0f9387f0ca8a49574b5e9a452fcf6a75a2d980e4b9eccbc1312e97fa51745ce1a69b267156ba7889a750fcc290d05452bfe499d48f5c054573525b266835358adfd16d695f1b68a231e4ed192e33693406ba240296d127a6dde9be45a40c262a7cce2fdb5c04038ff80e1cd2e961f0aa5f2f90b251fb20dfe58162cfd29f3f7ae409f87d584a6dca7d51c6c3f694df5a298b6ece7d46b69ad1d1cab119859f4ebdf90ea26068c9e19b14fcd8b8cde03b617a17ee140a8cdecdc9d8284ce8762342cc8d71fa9388923ecea15a5eb0026c6b70d336aa5cb6705e064bb86d97884920f8edc19c0ee7b82bb691d52a0e6244589342e3d51e323934fa3875f12dcb22486c0764d5c95624d9f62ea2437f22aca53e679aa45da15957ef584e3f2302d981507ae0b28da0e07e5492437918132c90e42e9e4ff4929bf61962236445fc087dde6c089c4807bfea353d73c02386592f45aac244945e7ce94542a242dc0a4f37947581f2ef4d954780cf5e0f2e18c8a3805f87fd14ba84597e5b9899859c86b4145674612aa2816e5bda675912aa72347cb1346992c7d174ce545a5b16e1e8109983d0d385d5634e77e844b87b82397e991148ac1a60a4d0d44a289f8e774f958d50b0a756e644106a5bb98f4993e4bc96cf91acac3a79eb8667ff2735bc6cb0aa9902a91b385b2b316851f88e7ed16deb26ae39559d2007bce8842df6bbd0c5356ff0288022dc17a4e026d555d50ca6161f1ef3b1f2912d311b83abb47479a95ef6d5b38a6284ae736fc7dd53879a688cd0cac984ca4a698d5669b496a3b90f681c7d097ef359f5767cab63316ac04a7c52d2b9f82c9dc5737d657d793a1fc903f9666b665aec967f9ebc85f225742a1b2df0ff3546ed72f2daa1941e644f9e848194d8bfe29de8b18445e87be847a2efe09ac2208342e3c118b497b749c0a6e54a8582f88f141ed623861fb291b113cfafb7629bc652f25fbb138dbacd89ada646f8148e06a3978db5dbcdd530476b235a4ca02abb5340af4c267672e63f3d29bca2eda445f0b75ec99c77698bba553b91e46fb3f111e4acce537df1f128a23f7becfb16c3003eb708bae614e0771edcb04299ea40b2e87a6e6abbc488e42516bb1c9192733442791a0586077252bc8feed745f8ec90bb31fe93ae2bce6002b59d41e1fe43f141ab91fafe391c6f9c29f61fcbe6163afc788443c9de8e0b97c74e9562825cb46ed371a167e683189fe4aa5b5df0bd620f105c9d277a4edec07c0819a4b230b4285119d4655293502f0f29a19b1f932c4191800d8b1fed1726e42a4623581395377e3405cdcd6140d2c4b8126c464a8a94320fec0e482950556e683f71c7b18a270fa415d18156e4f1f54f40625769bf2b803bdea97d8e70b888a75632913405057591c0ad096af3a646fcb2b1b61fdafb88c3ca81316acd2f18fc80dfa85026fad0f2295797b49329b81ec175ae6896ea6cb80941a63d0f121cd3a69869d4cd9a9e2a39be923c8cb299636195472ebee9b5c90096adff81a5251e68da923a14f73d9f5879a0fd9f4418ad31c331eae8ef16a33df72ccb77e73f5719fc7c2f2f46fd59c73b3ac4c075e81dd869c9a4f47232ca8b9bf1039309b629b9a649772d9b85ffab2331c4b3523f51cf5c7a554babbb8e0d2877806a8e90d769a51dcb70f0de68a15302e7dfc5f5fe8c472b7e37aa802c4bf2a5fd0c45111e7adf7701a984fc1a54ff0661976c0720867cafa07658a530400d9d1ece4dc24227d83007a4ac57e80a5ea83b32a875806f84c02003e6001255ce37b5eb0e213a5f0a989ad7a66e2a2e3aa473afdaeeb0e4cf820ff9f8ce7259f76410a8b2f0bbd2ade15b28e260bc4bbc21044c312acbb52279d7135c006e1722f2e8e3d72bc207c0bfe7ec8d2a6450d3e30d1900407834a46a66f5349d4e91e5bf0d974ae356b0c2304178ada0b5c76f564f76e61a977ab61a43c5a0b31c4356a8f549b798edbbd0c91bdd8787b911dc55b456a6fe576e6870717a5f6e809149f2d95486a8f30f07a993be950def89d19e0e44fccda436b0fed1966855838370c75f5dff5b88eb306cec0ec23a686d73e4989ce274e0f92cf8a7a98ca67fa82cf6cb59ede5b40710f1f091ad1177b11bc3a3d1ae5339cdcd64fc136b4f76478d9c6cfde2bb3fddd83f5708aab5fae67e9047cb6af0ee13e3d2c515000f3f32938653163e3af038258d606c512493d7a05c66252caee3d251a36b65caa01821321f53093f7372d1414a6565a0a25aa6825740739b02f8e8aac958ac606ade02ea7048331f9a2289e5cec9804fdbf57c4282adfbe05ae15c09206af955e5fb175af81308cbdc21bc7f66e0c94e7be6c8ed9177c56f2e529d6f48c3023def10bbb7e5b405cb6380435040dac9ead173f9f00751f0f597a5978f9922fef069ae06604b4a7ef1d2acf35d95b692fa3a5f959cbd1ce235d0ac18c36aca17454e4a98078784c5085914079a2ed74d6c51de956bcf4d4dc99fa6fe7e144f3a60d4bdff781335e0faf2aba858a2fd03fb74db93f356a724fc6b07a39eda40de572fbb5ae4431eeaa254360fa873163846d6fc29bcc364f0f39ab2b85c16c39487a9e96781e6c59e00eb3eade7cf1ad6e303627535c9fafef3f6d2da01644d15323dace7b592bb3fcd4e8c45f5733941d145be1540584a445a1522bbc667adf291158c45aaa36ddfef43a5e1c762162ad00007b234241f8b5eb87bd1bf0baa56d43d55073f264156d3dac641062913d190a9f5a6f370e56f662687fd1c9ac9acc5f8cfcb98dae1caaafe3340a81fe2ac9360297ce489e26e87f683dc70828a3a346162464e7cc2fcec4cc7f70c7e0f8b7c16dfab727fccd3d693c09f48b652d35d67535df3726336954e158e3cbd7eac3be8e1fc281929ebaec0304e799442c751aba93a526b501098c689fdd0a5577284e14e8e8a924834212b9bc9c03c68bd512e473a412ccf28bfbbe9fc201b554dccf272012026819ed38d3913beb63c5462d23c38edabbc8bd7a3c119e1655d65503a1746e67d3fed4ec968ad85c79274a86fddc353886d7a138301eb31593183364d6cb558564b3d5732237a2d899b95620999e2c7e826d6d83348c2032dba65e242dfd1d3482887dc8d435d6ba713997fb0ee6fcebd16ca37c1674fed0ceebabf8d7cdaec07da248807634e94f791496fb9f66f3e19b484f6366cfbc674a041f60f922db9f0901736a7fc86586354f02a5fd63e77720658c3188cd44150b31d2e4ddaafb18a2b483468a095b5239b29a1bedf8d844eb1daef64fa98da1587eca774c9132f9f8a9c7cf69e59a30cfb555d9d85ef5d751a07679e7c7b84f7e5f67c48a65262d19a8cd70c87115c4364aaf461ceb668b89b30423f464998986ef8bddd577e4918475c1914f2d66ccafe28e191bfd4c8429c746669d710596f9a904a2a7a29275698336c35b225f6128b3fcc18043ddab88444b46828684464821a9bf89f8573139e780f1413d7575f40cb81f8930b7199b48f23ddb3e6064b0e992dc5fecb6b5ac324d0e857c91c93eed7e82ed3fabc5a936ddcc1f5c208ae807823babd0af74e188c6a52d2432f6b354b2ab44a2d9332d1755d10b821b8629f867cef4c50d9e6cb96869f731643de68b0db3a1e7a53cf1f6fea7fd10feb80bd4d0149efbdd8933525ecf0b81151598237833ae207ce377c33290bf09f8325460e5c09235e52817a4a2cdb954616bdf4c2032e3927451497a7656c76eb197ff0d3e2465000cb04860564926cfbbf11faa654cbb9e73135a16456903ae4fdd031e47f7ebf8b2db17d00a7a2bdd7201bae0e5c23b2ba0e07d56dbe28da21be1dc13b85df13747e2b523fddd84b195426526fded1a90d0064bca425eac0b8ea46a9f7d0c4b547716f662c56a368e2b41691e64c773fb9a87aaec21584294529882a5d235380713208fd3b1c274d4a9bc610a78111d29423be54b108ac1c2109b3d3ce333125c66750e02dd580f3ba3dc7b3dda0cb39f78678b6f1cbb857ae243cff6c4d3f0b7a8fa2dd2a6b786e7d06b4c9a8fef48157816a5200d56b2732c527083d4cf7134951ff97666e642577155d46578a6b00f7badda7aabb6117b10bd1ab6a28caceed0c8300a008a99775e47b53d5cccd7a06ba541f3c3ce6e868254495125eca0599ef9908506832a9b75514e3fc56a8f8807cb01e01198656fa507f3ea27e7382f316d49e13ea2e54548e99d32013df5d451ed61b6a9f6cf539d1d5742b83378aa80aded26caa3b99a3c871e0ab206eb436b5243450415d9e2895450b342b891e6b56646bc9b48a51c6ba8c699e3037f9d3eece5540c98f2307d58e8ea9da1c47c87afe8e5121bcedec53e088f48d58d2b02e1aab445ca1670ca8b17df06e22dd360ec85519020845c334557e066273902aae23b6365f0e01a42a9124c21a642a0eb90374759428726323af3b462d4d4808a5ba7d49a46bfadfc9c84d896db8d40baa655884c5943e0796785b4d479973e3cc4870d8ea7fb83f78479ded0ac99ba859a034f44fea1fde2831a678f9c7da6f4fa888c36d9cf1b58ad3b1d074633aab54f36d532d0b3d196c91ba6d247b106a041970ba68125e6d4078569db2d575e9a5c0d43842d0b2f84ef0ad3a87bc0fe5efbc92af896fad90125f27e808b31815901e0acb7e267ff2980a188dad3eee31216cf09b4c5dc58a18c7e262ce492a49c3e94276c31bebba0039fb0079dfe142c77edf6e0aad6f6d4c4d2f9dddd0829a2ec4b021fecf753603d1e1293e87b0525ac7dbe85f823942d77c2b8eb7a6e9341ebd147efc219f294800335208bb5f43782b14d836bf50a590b450616a00d85bb29b257adab296da8b3b65ecb7b6a7b04372a7f69ebd416cf9bf8322bf6955d1ee3b6c332d715cc97da3bc181c192d4bcf89d470cf2f0813cf7f5f2d1847d593ed8af7d06807acac0b86387e3122569c9a300f74e130ca205fd5681a6364539535275d294ad443aa1142e55e95195c530ff4891c5faefd7cfdeb5b916d88f66089edc3e8cb48349939c842cc0289eec1ad8161f38e274730da869195fbefcd450efedbbcef29b72aea16ae1b41d57a05a1bd3945125bf2eb2d8759035f6aa0fb9cbd630d8b569466bdd16d3894cd80e4521fcb718fab7105aff7640ce08db5f8695bf7e35aef40f804300165e75d77ab9012de691a4fcc52399045b59040402f189d9ab048a1d9babc740b3f14acbf97759b3ba4b972f5655c32e98adcb22d682e2892b4692e2a0d27b3f6efcaf2cf37f7027fe5a0a8de2a9b2df0c19be81d7633da281cd90ca02f20d48c5defb965fe788269a2f744328a21f085b1430fb54c297f5bea72d2d74ebfbb4a55748cf8ca0a2def08998b10547e4cacbe6270f27cc526bce32877739690223fc016597d0a39deabf3788d56725a6efdf0d44cda27831b24a2979afae744b60f24e06680b76c5e194b6134617c365c3e2834dcb6d61a4f64f80f2f6b1c7c56f3e6e918168cfd3f079aec8843e0116be49542ea568e2912784b49d8717e03075862d09c2832e035b621885f2401e29d87449e97b72d2e4895c8b9c7e8bae855bdf6c466b00d9683fba5a4c02f91c6648ccb0c36265c7a276a30a89a28d6604dea6e61d49481a67a250861bce19dd0424371afd9f332e1430a1752e20c6f2fd39573456f59c384cfb4d5f2f07f7993a7293ae1c10f23350abf06d502c18a04d615ae02688c5c29c69f29b2de6e78d2fbd398a14b097002e3ee29cbcfa0934159d2aa826dbcd509386921d877716645eaa8db4118711ca1732324479550915f9bb2dad1b9be66a73b0bbb478a4e2fcfef5ac7bddf02d261648972ab32a319a0a91208ff131a3b971a4d9b0bffcac4168e7ec84f4cb15246e96ee7c4406a857121ea2ffee7fc9edd162e9c6e3a936a801196a5f63de8ba4e7a37bd6291cb580b71157032e0f423358d3d3c5780ceec363b4c3e2259e2282c8053041a7f52ce55503c726174174f55e24bef5a34b9740ad7eaa1625bef9bb80aa4ed65b9ee23bf7b5da566624ed766f7655ad7413bb2098ec7e6b2355290e03f0a2d8086481b49b87e97d8da4402e021e844dfe3fcf7cc1a6685c6308edb98fdea82c61ac3c879017a532d7d10ec65ca3520fbbceab915d4875df2ba8a28e594ef71b1db82ad370aa6edc0732d7016c1d039a18a26c5930ce3a4e072a7b43a4353e1b1c479f9944c7b39bb4358d85d0f4f9d4e89945688923876305a79afcf202000d94e8b79abc7fa30880ec3580320ed7da4379f2d0820357062d28d0d90b597754ec3d0a21b2bb6db9a54c292519ca068106c7062b1fdec2e0feed4ff3c17860adee83adfcb90ff6fea60fa6a2fe53e52f37e6413563c43a56d9bb215204ad3eeddae03928c2bfcf4da04b0290b58f460e657ca8bb8f7af6200085eccf58650fd6fd1516bcfbfb3a309c9bfd0d9e7f85d8b53a7e879817290317c77c9ab50f460c19d3c3601223d96fb58b07ce38787e9ceffb9bcf7b0d3efe0ebcd9acfe7a3f831562d652e1f960add5a73e9b9de9f8b0d4fe9a0f36b3f4a33e1f1e07de6a03cfa75d4998d52dc8eadf7ed25a5a25a95a2ec75a86c31c0a389def01f44275bfc5c33abc45b6253a33329274bc23f8b9255e297df942c3e406b3c4311d38aca0304c11532a6c95bc78e9d7a211d014a40a5b0214912a7f14d0bef5ad5fa4fe9863ad3d6cc9d4162342084d42eff49087ad5a55e7613c618ac0e2eb8559fc0b66041142d8a1c5825744263224f0b87686e8ec1821efde6a4801f80ec0145e6d15f4f70756fed92139d0fd21bfbfdf7a10fe8367ad00f0c3839c0e3eefdfc7efc720030dbc83f3fb35f0cecdef2be11d0d3e835fd56f8fdfe1f1bbe3f7970aefa47e6d7e75fcd6fcd25f1497a02e424fccb68af5f2054c4ffaeddaf97d8ec7832f123cf81ae2c197cb832f103e0f426e7235795c51de561dde561b6f6b100f56201eac37b0f2e8a1ca80eb0e2fd694b7b5c6939a37eb8ee7631c117be904f15a403c1d103c9e0f582b00fcf020a783cf7b1f1c6c8073a34106aa1e3c76a46c74d45014cda9e34cdbd46424c183cd9ab459afe3050cafbefcac92d00f10152bb22c5c82bacc5629b6485f16698dba0fe40cff58914dfee11ffee111d3024cd1511362bcd475c1d7be3713f9f8818339b00da9c6e7d6f44690c81435ee6c85c49f9352d810c62735c627bce2598d3ea646378241226c83903c5928fcdaa066c5efe10a0485953fb6cc032d6b226aec246aec26ea066d11fe56094864bf05c080c25a06bf6542fd44152718626057092bf86505bface0976de3388ed9044d54b545f85b690089ecf7010faf3668b5423bdba125da2f1bd006b459d964db962d68139a46d3688e994853698b6d3f33689bb54b336a56fc392955a960ab3ae3cfa076d17cfc09d42e9aaf653dab6057776156fc3869be095423901c9c0a9b41555be255fcf964c6781591ba63e67eaf9d527b5a12afe27f0089f407565ba4652b247e0a0c6b9916a419d5f85a9026a4cdb4218d48fba2c5b498f6a30169563499b645124922f9c5680c9292944999dc2283a4909cc92124242519933f12485a99cd8688be188d89114836abf15bd65b3aa885e25a69179357fc286b179cc52d31a8a31024b25d450b9dbc1e6a56fccdeb99d74f7077891f3f5910afe28674040773601eabbe513e841042086b07283f07b93b0f6000510918c4bf62a1f365dd4c9bb63d8dec623cc51823f734a78f8778e5ecc5e431164cc42bffc9b37a85f6f35f60d619b439e488cd3081d8f870b78041aa1014eecf1dfc61fc03896012fb6034218614d5d78cba0f632baa2f110cb2efb1490607ebc27ef8bdddbbbb618a30b3eb994cb53d08e4b3bf01708792005d2a296a432be016d506aa4e29b8bbbbaf4a4209a54a9b3f5748bfe69956483f1025684f0947ce5069031d3af43882096804c2823b1e5cedf36f3975674de50c96656c6efa970359b43f98ca87b2205a1864db877698d3ada54c1924430c1184132735f4ccd133c7952fbe08238c1e2f7abc88deddde57b264b912268c8cee1ebd4a2c16bdbbbd83a84d6a93a0a22219dd3d7a9517152f2a62638c21a3bb47af02064c9597095e260012bdbbbdaf74d1459533675090c9808866a80a1c01f18ee7372c388c49f5af5b6932edeeaeb63306dd98191dd793b4d5d6eeaa662b2056e8fe91adaa6227b5d993444d25984e46784ae8e1684e4620ea7464a335353e75a46c6c529e3a19811c3363070a40245198aa470f952a83ee6444858302101ae4687032f23937280041615d4f12dd80830e852a749ff3e1e364c41de7bfeb49a2bbb4eb49a2dee9c856793640f7b9efeba0839c1c38f3a0f3e064a4cbe9e0f3fec78f1f3e38d800e7e6c70f0d3250f5f8c16347eac78f1f363f74d4fcf8f1e3c70f4d8e40739344e7a5bdac5ab44fc992d78a033a02729f9105538d1f844166058e56d0887b058e6447f1abc05196232b47568e808e808e808e644758dc8f6447598e64f3c80abbe0119523a023a0a3291538a272944199139cd0e81eddfd0427347e0e30439981184065043d6ef4b85143f4eef6be52dda86ec42a0f95079fe8dded7d2548a986e529b222612586d1d45ef0a12ae729b2226115572b2a13062525a566d356430d4a41f4064e25e70e4ff5f01d7e74829b4a02a252752268410b6474f7e855b8e04246778f5e4549a99aa96664a83dd41e909041868cee1ebd4a8cd9dbdd9977a4b142b2eaa64444cf5f7d02ad66715fc33df5b807c10cedbec92bee61b4720ff3caf99bde85feed7b186ad12acce13e0aa08c1c0d4e93117e33840b61a798996f56d066b0c0f20e1e299b1e74ce766de00190ba5ae3f0a870210e0e6441578c9fceea54661d1d2235b442148fd4641c8a83331d8777a089c7dc706497dd92dae80a502506d409415315162515a1a6a0da174d60414f403929c04862620aba55589474c45292cc14a3b1c2a2242162504407b88573ca235bb97e9583bcfd6953a82f51ed962c9366df81e3dc276b0dbb39b275ab0783f4f749d9ec7147256d256def1e01dd6f19b95bdb81ee3b175921f0e75c12a4edb044153e84dd0d5f53c16c3f75341d0d67425129e99a684df46ed3298528ee52a88d9448d844991de3b77f7b4a4a24764cd41339b90e6e1186271ad4ec4e1c8a6ace6d5472acd1115d4777fb1ab9f6b029e3cefca846e30799458fb8d684ae4d0a4a2a05eac4731b762c196bb463ac2b7ebe67b0a0388f190486f7a9a3e9683853a324dd1f93114398b6cec188216cb69fc94bd888217ab63635ef9c22f1bbee74ea683a9a6eced42894e49fd807624ed7b445b648acf0717a9228dc22d00465ebd670a0fefb5b8e8e0e6e912dd2157e8ada6c44442e244aae718becc3ca51785d1cdb26bb3bab6307ca2fc48e6913072734869731b09cb982454a92065a89325ccc7953a60495398a32596c5af0c4db80e303efa288ea1bc7190a9f95d8d852612d27d8e000bd829a2a2c62e307ea041b515ca0219dd99cad7c916d707dc50a521a710bd2d164218818920b3816ae0c7161e28282615461ad13182417a06e40c202e505f50ac3401ab282ced9690b1a4dc0c51237796721a428e81cdddda33777f3748692ddbf39768c3df9e3189b6791bb4fadd5dda6f7a6ffcd7a5e456f7ede81114eaafaffe81dbd79c7ff77881c0ab6f566854dcd00cfa834f0b7b50b17fd7b0883387337f35c873133338a9999a5181c8f4df18441e0b7acdb34a54a6b4987417a77d59aaab5e16c2da96a6dabdf5a9ab6adb6cd24378fb14d53eb86d3b4a5bc187f8b513a0f376df3d3893246d95a8c7193dca1c12d63d45c6a1d379318743957b22ead70cb1865e74c1c0d2a6fd2b52837975a6fb1391cffd4a66ad36e5e0eaff879032884712ab38f0fc615a63a126b7f3846381be72b61100789348431c67832b27d842b1641355b9abbdca96a99704c2da96a99566f6a6973aa5aa6d59b5a9b4933b9d45e3ba5c0753e74aec28d33a5560824329f839ac3b4d30a3ca67b3c25e8e8c09446b594896bde189d7756128152932b855b438c7dba695420ba6b3051fb7dced92de1c4145d5ef045a1f440f9486f5d494dfbd8f0e507e1c70f1a810fa10afd108c14de240583f0a7529008ac5d50ba85870a08a4b94613ad755a2d9e27b3d8a21b8313777352293166c1a986195d100b5184d428e2bab000e50966c10a9b944883bd4c238484c42c4343021e158691f4c4e6714d40a2fbab44f4f55e6ff7087d350dbabb379bb006d4d258de8fb9bd69cabbbbbb5bfbb82d2311ddefe18ed2dddeddeebda6187767d462314dba6bd31d56df15c2dde36c1398a0ddb15887826ef24e842b770c2c5cb9c651c63a4acddbdddddddd4d5882f61b6976dfa90507733c768cddb795d1676c37454d3289b14dddd1842eb1589bdef4dc153dd4f899b48cd67552ec9ed143edfeed64a409a00585752a9c47030d2fc848b1451a3e4c2d4e74da440387ca6728d1dd4848a1c59c346646b88d889968d7a556881963547e86431be042c515451cad2087d78e06ae4cd1858825359278350c6a1bc1a5f6e9d527d822349ca89c5279914497286ebcc144167070638c2089f8ea976244147364f961054e98f1ea2f270d3139957d80d0abc33668eb145118901ae38ee4afd1fe669befa36d9bf60f00a2c353020a2a20899f24be0bf15fd8a63666a946326a5c930769d8130bf25b2c5823cb98295246700304638736a0b00207386249afe8ddccb095f22ac60702860289af13bf84f82800a931be4efc12e2a3c043ff3e33b3cb07d04ed21938311e6a3f3f59c16b071695e182dacf4cc58a8cd9d73dd8317c83071e0ccd7ad82e7ffe7932250026a0bba50324a71d7cde07e7d75f0d0d04895859aafd8b05062245d0a1ae30b4cbc7c322fbfd7b057451808b31eb829e0014d29ed7fe561db364ba9b531cfcfc36781fbf636c36b53b96c7f658d52ed20eed72d9dd45a242bb3cf8fe56efd07bf01cfc06aabafb1e78b3599e43277c0dbced32c6fd33f8603cfeaa0fd6f2eff1c1563c3ed8fbeff8602affd407a3fe36fe3a3ed8f4aff9fce9075355cf7b2f4ea7a80e050bb2ce2f0418c445a87e008608a8bd90e5bf79fe35d59b673ed4a9f3b7002a2e07b2e66bddc315cd790085acf99c377d364f7b3865a8ce91430001dde6658d352e63763cc1a2a84b175ec6c0e1c550201133220e31462918d3ca028a2a520e25414597359a40f9628b979330aab872850d2c44e0c38bb932221639e7842c60a2685e11871aac8696ee0a11e4d0464b5054e6ca260449a145131f60c107885e5c343484154ea07102278a5e6b2ccd5a3c3d52547e1454c0c248f5ab2525b62984664331469ea0385b76539958b2c42990053fc618bda5fca93dccbf61108b0ae70755e0157c193dc2595c4116fc185f4a17fbcb25cb9b942863b1580c496e1bb4cd0fa692f9bcd466f7f7f7f7f7f7f747dfa94925be327799cb5ce6e32a15dcce5bef99066626ffffffff3732329a58a494524a29633f9719dba02544b2289b333292f2e5cb970f53498f5c47594c1693adcc5dc644487319bdfb73ce0a07dbc50f5ff0916c9724130c15a322f3492bb8d47ad29af3613cb3a9c19f58382ec6186304aafe5ce04a06112d97255ea654f99b545d05b892108b2ed57fa1ffaa4a17aaffb2f6c5645bc22c9dac90f04c69ed93d5d227911103c1b85adc483234854b8527169a058807a9356665f45fa01074c1d9cbf4f57beb0043838282b8bc4c3ebf401a12528b87a7d55aad1cb676cacbd42323160d14a449f70d82432f93d356a9e8cbd479a715becaf9324d3ef5203d7a947e42e206f5e19d8ebd00430cdbfcdd6c3ea555262f4e761ba40c0aa321c2a237942a0d0d0d0d0d0d0a8542a1587b9edbb7d67d3026b52353b9ed7803590c5eeabe0c3570a9fb4ace78c1a238aa5401d4fd85230bcd89b90b4205d5f1350fa321eaf860b3501fac868aeaeee919b48afa1ea61e6c49e50fc6a472ffe95469b8d3d37c7ba7a7f19cca0ae9678f819afb93d7559e1f89a5da1fac069771cca76f06ad72dcefc948cbeff8ecf99bbc1460dd52370a802f5af3dd24a9791dafa3e75b3179c15466bce08b08144a465d396e40020827e4b822869817115e18d1811330d18312487ab900bc4261080a5b24aa807563ebf3020cec92bdfa2b7754f7954022b0566666862e5846143aa8608b26a0141182577f91c407be80a2042a30c3c3ab7ddae80b241f6e75ce3a13ca356c7041a5478561c48174ea59d2f20698225128ff0744c0a2373c0e0a8bdec8529b95e8e415ff1b3f550394ff8327c8d4ef6d76117030677f4e4976cbf2c3f51fda7d37ebcb658b4fb7034495f08be663ecbe15c3acf86b148db67009e2a9512301eeb8121bc8618a1a9f87c7193a23026bf7a32d3333dcf5e6af96d3c35312aa695a502fe96ba1df12ef85fa5e60d7e97d4ede0398157d5669f797885731fe08424af645f3ddecc61f418842d78e306196004256c6cf4f7c8ecff15de01dd812ddacf0fb03b4dccbbc5f0071f1847b7f205ca2ba7fb3c2cff676a8dbbdbb20dac2a89bd16c41e4fce4083135be8f29fe3c19e96f87b42875a9f25716814261919295a52a1f461f7203fd80080ac38841a6c2223346cd067883c222335554ed6191992d553e1cc33dc09d959d3e3eff34038100ae74c888a76f83c6344b0812911f7f41b049357e5c36e02abefc8070800917a4a031505cf180141de2733a69d09d332e120c52c41ac5e7624b433640c588bf465f0c6874751f657c9e12e367f996e80566329cc44b2f3093e1245e1a9205d5d982ea8841758e28085d501a66bd91bf552ac178f6091c3286723cedda37202bfe0d331c8688ba1863844162e729d95717df0786f8324429592ab4a2c2a2282fa8f0a40026afee6be994417789632eb4abfb39040c6d71ef85488359107151c4538db028ca508dcf5b4c9a6405747fe3c2cb277eab5ddd1733bd6e5ae8fef4a7cf861b17baef4683aff85a3777c6acf89c49e3388d33694eb6401a32330508d7c078243fe11f7679c054180bcb380b074dc953d4644c8d66c80f085295bf9e34bddc1e4a53f7b055a2297ac3035f3d3cdd1cdb25254bbef429c96e7975df1029a80b30487cee04d92ac12ff35d30c59fde2e710a4bd09bf9f0d5a91847e5824fb3e20309c10932ea531fc02b17cca05f61abf4c113b0c80d2f557efc55e258abca11647e904971e2cc2b3e03bd26867c2879368207380b70ac760f736028a3ca3dd779b08270866a7bed6d303dca86edb50f01ccaa5d361c91c4f4346fc3f6fedcabd0aeedbb81ef2f6d303dcd73dfd32ed37703bf9b04f8cb4f42f3f1693e3ef7745fdc8b7b8ec6b341fbedddb3e18824da6f6f03cac84d02506ffa16b4dfa0981ef550b6d75e9c567fa0305a39ee29efd0548ee39ea75da89f43b0b9d7501e05010ebaf5e6f4dac3d7cd49fb164caf7d361c91a47f7b1bfc4ddfbf3d45f2e449cdd347a1fee5dcdb78df2cee7578011ee5d53ee7dcddddd3b26b29bd6b213c66c0a8baacc60f801614d6a9887adabd18a2ac7a4329a37f943dff78ae71db7d5fd7b2db6b775abffb9e5480daa96a307e10e6f40b4e4872979f05bcc68f8659f78500a1c0f08ed1e700331405a6a2905046edf23163163ffb181af3f281c250483e665468077dcc90aa09d5c72c88c2f731731f33dee9651f331884dfc7acf2fb9809014aa23f4e2dcea9c5689a527eb0fef89ce9dba6f679c7cfddfd0608c6cb36b7498405a5db3745c117dcfd019ae4554bf945caa303cbed516a733371dd8906456b74f0f8d4c948af18322168d041ce8f87bf433c1eaa1e7af0238830e4a16be7e187e0e5c0d50a420821841042082184ae1d4863109e58884108e1109d2f5b46f078202bbe081e842c1a211a5331744e6598de5cc16bd7cf35b8126fb18e2d38774dd3b4e853d362927fb6291506972a6c4eb6c22c2afc93ae62bc3a22eb2f707777b76d56278430b63b32d050c31279611e312019cd5dd3342d7e4ba486188e5f88a4400824880bdd22f161bebc16a0c1ab96d88dffd69b1550d51f55b564407eaa662d6dc2e49b3639d97d2739930c817340fba969736108f2376d3ebf60bbf8a53d93d7c66d4a2d727bd15a6ed716041281f5e6c8c2ba6ca48820e89e1c205ffb96dcb43080395ef2f7f5d3bde4fff8eb89f651e66b26f197fca23841bdb4e7d7fcb91ed43e084388ce8d86cab72768dea0a80ac3e870040501d55161181d84e89ed09a0ac3e890c3139456182607383a8d139c5490a122898aa5eeed5b1d06dd16cf1446cc826310300512184a5361981cb4e08da70fb02e4c0e431a02664a3fb8a94d2428b3069c79183a64cc825b821010054cd581322908a30c13260f074e9a41856198d9a2ca223b3ab73337b3f36bf387fdfef562652eb794f6280e2595924fa493f9b3798a77b69f1995e05a6f5680c553855f77136b6a63d3f47773e4660558acbb45eff5b67291e3c2c83c440b08ba0fdf17babb3bec690861c3af2164ef13c2a400a5179cb3b3fbd66ee6ee76987343ee8e3fd8cd0c2b35a65d7fb085feb076a7103e775ae577fe60f3c2c872e513518e282676893edda5cfb86d3e354f41f4ee76ff5427bc40b54ddc88158431444c0830adaef354af2a52b99019ddef3c1c67358952ee9a385e93ab5432ca2aa38c2cebc4c9a1aa138a540b83c8ef26522eb1dcb55bf5af1030fa13c282cd03c2ac0d4499f2f5205ccd37c539777de53e63aca56f912bb71de554ed02c22cfeedef8430b4ed372ab8a20ece3c0c0e25a070e6af336a3ce215bf03a2c64fc51f3235aea0c65f999f22c79c8828548021054bedc709132588dadfcfeb41bcca87943b01424071c23831daa1f6a73acc13336a77e374b41b5216cee8028d25bcd05246f6ea28446d2e49d4ee877911833978508195248e02400585e1e0ecc3252a7f18286808a9cc2aa3095b3ec49f7e84892f77e0bbe35c6dc6283d38e312f16506aa6fdf40c410aec43de0733e94da11b9d1d3329f6b55aaf7c48277bc8aaff94c5e2d5d894bf62338aac45f9bec0f398414345ca689b27a066aff7a64333b574341d4b82ca8acb0e84c1425b478ba140eaac2a233411596c385164b4ce1981b10a54c0c064608b500ccab664b0a7870220714590e918d363a2dbac84113676786a8e2012064424156c278c10a312803054c7001c1cf953321e06ada38f3430cb68706bb09d2a19e4e70c6499d0151e1d0df256b38f9a98202129c40ca2b081a493848d1841c4d8c5e0c447daafa9adaa3c2a2a51754d88ae80b07736028a20abffe402144110de0c69d4c17485f5c70f6c59b39cb162ed599d43e59e0c8f6cb3b52cf499d37286c65419ca939ae8d827498e8fb73de216ddd4f8f7bf64c2f9788339df005e58c7c5e80210619bc541d35bf1c26c6955bc16337d4eed3b2434bea394fcb562d0aaa821446b1586c092e504b0aeeb2d368b169a15f362c50207e7fb4a6bc056a969566d97cfbd3ac1e5d50d80a6aad693fbfbfb1a05085022021b3254b3d3511534f31f8bcb06d277f4eebe22905ae32599b36a33699fa0546344c4c8c8e304d626ddadaa75d3a7e697e7f65db3c65b3582cb684d6dbcb76cb661182c2e052dd9ada585c499e000164a16011bfa1caef619b4f7dea53b2c10faf94cda70466f1a385e865f3f0d44204c8bc525febd4029324cc7c41e265c35393b12626544f4fb9d4d3a3bed4d3d3784f8e80616e50aaa78feb2268260796baab0295fd59d9fe30bba017a41a48b455ecd09e51aafbfb659b613e73acac67bb397488bdf65bfb5a19aac291ad1052c7375074f183c9882e64064b533033af0cbc137b5440d22ef8b40bf5f061685711ca6b01b25cd5aa64540fa22a00aea81745d0782fc8f23f7957381723a82d020c9dfaa8940db9442974680802000000c315000018100a870442813812045234cc3e14800c6d8c3e7254361849434992c2300a622006196088210018648c31a68884ce00ceb77021c550d0362ed00f4eb65c28e56ce384411e5348c76be38c0c6c085b2031052f30578886823f20844ad758be65ad888ff87ddda26de882317a17c29d02838f17120274db30917409664d7feaaafd57d6195d8f09329f900ba527a0a647356410d62b72c5a467e33cebc0a20370e0a24b36f9679fa2f911b7e7d9f30fa87fec154e11560710be8583ae87df72eaf6c995a70306d029742ff873632f8136980927cb855500a95bcba548c940da4d4300d8989de2c562acdb9334e425953928f1641da448a9064535da945bdb193d58335b4ad6acd59bc8c0ada01686d3884b4f6f9d52e7899b4c6a00c2f3496bc6858982cc3663124d0b873ab76650864081bd185cc5af056543b4759110afd2d21fdfd63001302f975bc027c22ebe4cf667c0971104a8c3b9e76ddf6051419337fd0641d533a085f2dc66b50d2972868c0b84f09173ee05cf05387abd211a5620151e4e0ac205e5dab96e8719b6ee00d51a131b1f6562bc1a0906c243e169b64e786a8ab1750a015503b46a66791a48a0f6e7d3ca14b50b342289f9e237e5a3c598bc20600740bb959b19e1bb6fa7dce2080e38aa5f6246865bd63ca00ea1bb6e06d725611b99a9ede53fbbcf41e7212a6a72a28b46ff677e5e2ff9d831616048a5f0806292af1e017832a7aadfaab16a7f3d92358e4e0ef405debe86cded7be4248bf07283b679884d4d2769eb40fc929ca1d2f57f59ecd75071b5d71811818b7b0d49fcf6bf114c7323d00104b1b6372840fe4178e5eb0308b29167022d0bce2019cb8524c1e568900f31b8001fc4539563cc0ac0088be66a1b011458fee5a47f3cf3ecdc1e6c4db1283ae349a2707e1b894a16dc76114b8f20fb49a71bbd0f56296e0c5b190b2b4ab6745eb88991a11a11b0fe667481470dd880ebda6564b23053714844a048391d8a21ad6166e61dc42d621d43d5754627dfd5e158cf1379165a7d4eea270771dd46ed164466b0ba507c09c2d9e79f6f2aa682af3a2183c8278656449050554abe537f220e998195c1f1d8143635e642ebbefb56b8176b0a7b85323ef2d3799c529fddaab7666c46d000d94eac13afa9d2f7543dc0ce5843f51ea7d07c13c854948ec5160ca52a1d6ad2d3a1c8d0edd129927c1c531bf132833d770d7f5ebd42340025d7a4806b52f23a28c776673ef6290d504aaba8e48642adb943640cd36e69048557e35abb7fa88a29d1e9cd0b675c898c37c146333cbd7a7d63a7f06896d537eaba92bdb7b46561a99fc386143ae5094b8ec08fe00875eb987d3c957590c6792f76f904303d826f23db5a637ef225a3ec2e475c0caae933b7efb8f3763c57aa6c8986fd2e573445090b281b206bd71830ea0f34eca808c118c91dd8f987ab58ce3c07a8bf871bc8e5d7a082b493cbca27b3162b5f6d1edf2d5794b561873d9133b6cad24501c278fa3d8929ee1baf08451a9e84cfa9800c54fdea22a29ad652f869f903b505c8398cc423110e10fc05c882a1a3e6b6c6366afdb9d1b2e552683305a6958c85ed7396c5e7581f04b81b5b607bcaa1449e9a4897742ace18a2abba0afadf1b20622375a9d7be85ae2fe785a2174fa506203bede503e8fe7d4c8cdf67cd0a7a04c36ed016103cc047818a9df8bdf66019ae2b47f47d6a406f06ba4a7f057818b545409eaf8121fcc851cb39178c44ced4e935b56e93f7375dd904d2b871909d82be89a4a7ba2b772313a1c8ef21d85e844c3d0cfd253df987b0cbcba4c7c893d63f24e1160b9156f6c8ea8210338eb317e2b85a6c2ebeee4a43c4896dbfe639ad5aca1b46690f27c89f7847d927f871234a9a0d24855033d6d7fbda9a30494b77ec8288632adb5a1aa35aefdb242ae080257e7aa6b74592dd64f71e2f65fb0b0afedc9cde0656e124257b805cac6d3f2ee7897020c02b023b7813d70342c2996fa68f4c07ba4f1cbbc9790c10f2dbf6ebe1e6ae4ba6b34f9a808fb8f0666f09f1875e73e89f19fcf7bab3fb4dd1332b1d35f618a837d382068f88655e57d2d42e5c72879e42accd38e646e2453bacf09d5f5d8cd38ec45c2360c22acc694078206e228c2b65a5dad845de1bc9f206ad413a8518a3735733ec1744f1342fd98a95a4baec0b9448bff46c375c5b16002c8119cbc417493db8423f2d3bae6804eb4500957aa264aa9d308e30239dd4a8106ba5a114b66d21b4b6421a3417492fb9f7fce32ba5ad1a776135a70904e9e8c7c0c5aa90abe4aec29fec17380a26ba117208a41223f16b684c144eb3bbef0851a6dedc29eb6e6a4e10687c4a76709782c68c3c18119c0a8071f6a9838b0d7488df7315cb927f5f6d7ec1338d8258b6b598fbb9c4ce27c4323a9e9a330874685bdd2804c93091fdb95e1cbdae89c13890ab836a9f47f700ade4a930f465e6d2aa9f37e153dcf075df7faa7e1ce852883f618e74e7a167fcda834a47baf5536287fcfab5eb284c72ff3edc74ec52fdb77d21ad765a63ecc2dfac4155d8fefcbbfdad51c71f30b81d9fa84ce5336adb6cf4adf1fe8500f560e7e307a12b1a5dbfe3a661e10a4e145eb2f3a35a2fb0e5ff8e7ef85723785b5064ca43da32a14c90ea3188ecb398f15cf5321df02cdbe859ac2af1480637de2418576b236d3cef44d25b27aaa10723a8cbb38387d517019460b605aa59db2a3ebee262ad0efaaffcbc3f95454132be3950384b6e4ca154c7c007446f88bf248d920fc5fd0fdeecdb624baa1f90dceec3fb1d6dfb236703b13bd085e241d5b6734b857c0d8e1931c7b740253b5f7da683e57a962a7f3a550df9b58dbb1a259a9a3e15bcd2e6db933e97afcebb71c02cf0e8928f37a588227337486f6889b84834a2633e39d0db3ef3bf70d2d3630779cc57ac09e0a8555080c38147903fb0940cf6fc7e2967a0051e37485d561ac8117ce4783f69a875cab6912274b14b400e710301f3d78a63e54ecef74ee58c56b348a851959b0af4229dc84018311589232f33ae86528498b931fff822f296cae6bce669b78bf078f6225998c62021d4f9fb11daee471aa2d98d700a861cd08cc09eead33f43d49e69ae4474e1246a02755a7d67465e1eea8ab6ce247653e41a6d1a20705df690d6c8959e2f2d6841fb4e694ae00d389a8e36dff103b81ab17aeff19674caf2f7aab43a3c5561f44ff200341df1da11f74d1e9191a365397aa5cb05885131958932d4fba4e4a6fa2fec075d8ea6ddd44f58ba0e56de1402c514aa04b7a4e8a49777b331839e59a2f0d3fa2784e0369323ed866ab00d02468efaf8ff6d505ca48ccd0f2c9382fa7873acddf44efbfa3560512d1d36f97b5a710e1f6b7479674f46fe8880d64df226ebdde77fece424e09ffbc114374dab753876811ac76b6b046a89ad0c79d2e43f2b192f1da619a1b6081d4a5a9f478f1454c8188c4697738d83c1aa3b3ea8d9586e16bb00c0b9e7571c144c08e9b9b902859f2bf0d09e2e1acf21ddabd1a78b48034210ae621e1d0486a25b28a62feb8f6ff2701d0dea788c9937860897632c5adfc154e728d9e3ed68464039641b5393bbff1a8dbf34b9f26277ff0ee792f07bdb05999b30b2eebeb8c92734a5bc9b254751fc03c550e48bb792ff1cefa01363e07e4ffcabc57bc6ca6532e251358e5010370a1f97e1a552c1bb797c53778f88194feb677f6b4174be47eb1db6179040ec1449e63b781b7c82c1411dc4453d0dac2c8cd5e1f3ba7cb2d5e1ebac7314dea6605e668d233d4493781149d425b31d179776dde11f1bb562a4d6165251d969eba6b200c094262aafb4e43c6bb0006f650e74dd2dbd02d11c76228de986642223ce5e939373947c63ca62c9a75d2cc1e9f9ad7a1c1394c48f9ad2beee705c8eac0bc93b2fe4f48156cd40f55b9b26e909bc19512628a3078516fc0bf0ef84a956b71c12deca9726631c11b5ed87524a330f5b2301ca62381956bf382d41e58c0a51a547468176707cf776d3c771c60948ed0986f912f8589104e35f2c6f6d3d0e75208e92957af166a0e1c5ccb4955f597ab9b34dc3b0c3c363d40310e0978e1e68800948d3c8c78ec011ece9870bfad372d2310b4834b32e221e0ad43682d9e03a3b60c990cf2c414642181645612d3fe5a1991691620948f571778f007ea29ad0fc217c558fa3651857a846a706c383a48da9ad776fcecdc39f31da29a50ced104c00248e660ea86c4d1ac1a973673ebf08b4b4fdd7d587b231c0cccb94d8a54f31c02c732d640a42fd3d6f83936e33aa045e1f8b563d0c3caa370ea22389268de814852737e95ab28ba6d5440aa451086d518cb3251299aa4e054f16ca3f4823e3b2089e46148ac63967bcd2af4a719ffa9da44b58367aaa2743eaf33eced989656e6bfccd5974d3e1711b88ce0637ceba5d9b39fe3eb9fb033dab6a25af5d1a8b5c013d22d854f7151c69c8ad1004a9b8a7faaf84cc1b5ef638544a1a189ffb87d76ae97c40adb2dd5b87b719c5cab314d053913b49cb8dbc2318226a5b6da05d7f9d6c63b8e078223e9f08931aabc4472ea05430cd15cf2847856c8fdeaed351988e4fd08730f4310a5b65c337adca8d08a440f55933da1564325640b0e02db6b6ea0d1a3120dc28fec9458eb9a200d8bee19b679d59dcecd8d0ef2a2d8fc1693cb375e48584d550fa719454d0afef1ea67de3e8f16e78452cf64abf7d7a6fc7c5d5f93d291e96184d32389de1c38c97bd82cfda0dbff5e582a3bf2660278ae644b3c290030c3d999a325dbe3bc84543b23617768b9a13858756b004346d886a4e72ad79f360e7a4023a303414d7b1731d2ac0500e624b842699ae3ff1437c970b766e9c439a1b6bd33e54073a9e6dcd7cd92a64034d33c32ab4bec4e55a2cfac139f7e332c1ad34d981a79dfb4f2992cfbfd8a023cb5eb5c0cd9590ea176232358baf830cec412b799db9fd5774250b80c39d65dc929491c0060af2ab23ef8b2288ae3e431334804d01146c4eba1059e05dafe2dfff37c7b713e6b67d2be7a9b08ad97e03ae519502eaf6d6e8d5e7407fac080adbcd8857f4c2a55bcce3c3bda3e92f1a01bc94498e02ab4100c04fe2a6ff4e41896c50df2ca03fc958a08218b46fdfa0282aee56d5c6db417463e8307d85bb05ebd03984978fcacc9f1ad1ace851ac1d9f8106d31de79ca732667a072a367632d2bd3f27fc4e4a94d01e45eeb48a71b42d27c094a916dd4098d785c78d3d2201cfc92cf582e035de3f375393ff1b4f2cca1774efcff2d73526236c3c7235bd1645592fd641d09bb6b86cc2c2704027abaff7f8a56af5876b3303472dafc803fd0a8a801f45a8543eefafe6fb153156e86342cb7df1d5cd23d952f9e2c20191c75fb033912f4127fd8f70cf1480d89119a2c8065d8f95b19e11fc5090e8eaa0777b5704325f29fb9ad0497553efee067405a597792551026b1fadc0ae30bdd460bc4ebc1379c0261e2b464d580535af47662cc78f7dfd49b622e4d08095cea41b7c5dbc083e446a7e393e3fed3e03f9e2e4212576eca64630772e79ecceff7e76f5a2e442c962055f83ed88f6821c665a8ebfe82105c24b3392020cf06b09efd6c5effaef55acb73fe36c18fd99a3815701e250f41ee8a33c525aeb9a0ceaa81f01f0dfa4431beda3d7f0c31fcba46c6593ebb41425cd5c4e7f64f071568c9c60e50e68a0519d9f92a5230f70b6f5cdb20d7e94375f9e6832f024343f5585bc261eee333a01a12e2677ae3731193b3b346fa026d0c84c0c6817208809b124fa997007e2ac7559147ceae6b4d7a7f90114240b4b74a0c5edaa86d2644275a2803825ee749e1aadaf05f4003ceb63325ce8e660471d25f644de93191a549434cb22b1c14c8cb3c22c55b6a69bd49be215abce0cf8cbb8f42751235bdfa95624a1e6665424cd7785b23051cb98c1c26a5f36ca5c58e6c63c6d2dcbffc27eaf42bc1c24d1962e6077cb67ec67ed7c62add38efa0324ce13da9b5e66104390975401a26e9fe88fea6f3f0dec73f4a02e046327103d41367e322200092c0fb9c97152b51f9bd3a1a17f955743710be917d90484c7e4694a013ab33ba032948340f907b0e6b1d1849a7ae5c4c584ecce1d509bdbce68cbf30d787470c833bebd3ed18d6c83022ada3469c38d72dde980691d18e42702e83c624342422977d80b8a266aa6f10825a50dbe1c7952b45dc3dcb946a526c0b4c3478436a605370be707e5e83051a29c9655130476cecd8849ccfb87438bcd4ab8b6883e9e8af50bce7c83b6dd5526695f19747fab5b2658fec13f3e32644cbc166c9f37df00c5354324c790b40cd73b0777cc43dfac7bb55f9c52c0dbc0ef5c1be32b158d5f0e6d2eb86743caa50ab44566a1c90a443a8a16700a3dfb7467cf1b7e001ca4ef36492b5b43982d11f1a66dbc56fac5105aed9220cde217f33b82cdb16ccbf1c6e504cd4f6e16429a85253500fc08e76e1bb849af1026475b19bf1539c85205cdc0ffa9d6f83fc792d5efe6ad35387c85de0faf627cad88b3779227e8f7cab3ce2a563fa928a6be0b937b34116de8b7fb444640b7c31d9aa02ee02934e743e8f1baa8d3a42813d62c437c8d62b81d9ba805916bc0db40fc4d2a4394ef77e724de73def7dc85a2dfbeaf19b89b055f8198036afa2022e4e2eb10e668290ebe8d1f016df3c5b3ecc34f444991af065a0e1960f8f02b6293c613e9e773226fe28986b6c84c197bd83402dae786b6d422e428a89623f4b758ed62fe6cfbbabf5cc2dc4ce71f842740da4e14cb913ad97d481b51692782e6085ef47db40f5867b2bf05fa5b70be4089c948343ac667c99dddd5fbe89e871ff15aafbc35957bed6c96d35ded865774775c6da13451e4540691a55a6d403526d28f0c1af85c2173fe6a4a95ccad81f2f39d900e072e9b8c20f33d6ad6addcfd04c10631298ce44dba59cec307c86b20a49032a53ebad130ab6019cdab2c35033066b100f3846ba158250f89245e388c89fc44daf9b7c177fa13a7f470799ef423a3a9514a02e3137355294b59a4930f24c21337b22c11ed2ece0fba8db5886574f88597592afacc46f6ee672fb92bbc2ad9aa4ef226d18faabe13b00816926ab10c9499324c0ffec1e99895a5a9053c7b4ae270041ba2eb009a9ecf1bc76224689deadde154502e220f13f14f729ea609f6082cf03d5e7d0dbb0e735d89b9506269e6b62901d5c1d83782a2bdb17d57b594aa284ec7b017437530dd5c823c3710ccee7e393a29c3e0e094f4cb0639457cd9d6b7b023a5143a9f20e48b946ac6ebbdb9cbbac5a595baf18d9d304cec0565895a4cb96276af92ac165076e06b77177f2d93c91c73dd8510b943e5e414d6ed567016cb5de0388539a2c8eee53f2b17bd7d09d40954e207fe5598b73d4cae732623b5c81efa5014bb16113ad5bce1d87ea181b6cb0d96b8bfa0b691009cedb30238dfa3c0b1fa45b84a99dd1bf6408b5e0235990d9b38c2433532fe0feb9f9241843f771d120479c1f98e10103affd49f08609aae24f8a06ebf7fd6be9822f785037591e13f2f0e87ff2d291d45d827b564de7b6f2629dfcd1c84e388022a22ae46775f6974ac6c6689d4204a75754cbf1ffeb9692e2a2bc791e10eed26e748aca196ed3945983d11251c0ffa63d3e198628b98bf5bdc619f4b808c9576b2dd821ac00cf400e6f9af49551b4a02c04b3ebe7d627d409f6629465b8d1bc9c088fbe717c7439f469256aa549b7e0813bacffc962e9730750700d5170c19998163ac4a1e2a328cdf1c0cf5027d99c0ed5bbef49b7308af442cc3e783a7a1d23ce9e1b3a56e51b4d7e95c05c3f6c565949fe7053a278731635e1ce6a7a2c9012f0248811a1753a2a6a07a43daa73440d607583e1b6e209cf2e8cbb60d58b4e3253df254b29698378849d3171e47e6c370d8796b91d8e339482242fd7767b1c8a2e5beb7e4855681d40e7a70dd4c4c3c594fc195430e78db12f88528c8d7b8fcc61aecc71ddb93a24aa9cef8ec4cc4f0085fc29a576e242daf1d7f3486b44ed05a488d426a83533f2759bd03c86921cc2c82ff9aa9e9c0bbea62a28c425a73606ca8233738fdc07415276521c2537f3898ee2b4e30a1ec8821611affa6f2f27df76fe33065e323eea2bb09391aa1a68c8142e6fcdd520cb7b26096f3e4d66d51dfd50ef3d69aaf1d61303bdf7dddd200a323bd640e31231685801aef8ce8b0f8529148c8f96fd92ae82dca540a12204574bca8b652dd51e7f913d34c4f9f386dd22e9e4d89954fb6ddc5c4dc6526703edee84fc3ce991e2882c340b323bf3c1130f0ffa3522897153a144d6785e81a4c101fd85a23088ea85801f34935ba5d575e112f46dbf178e13e710966ba500ba3acb79509d45aacea01611ea4cfc162654d1e40e586b7839c15cc9490e4a31e05c630c275fe20768b82f84cd66433f54c9260428a4e3a9a07609819caa34efd14336d360644819c827d2d3e865ac28f84bd5eacdbd88ddd466d5c70273f96dc0a2f7e0f9a268d3503cb4fb3b616d80251cb579f20371093d59156e84e00312df8c189105ede3a4a545525daa90999fbbdf8bbcbbf9204a895d5f6c0c6e9886a42973349bf702a45590090a80c9505e44af50f42d891c7440483e8985d83c8d0ad5d812265ddbde8d1dcb0af873b25b83f4451088f96a8c9f01cd3f65d945ba9f2eca5ef4abfc6e6c85ad9d7168d1cbca23eed0f5c72882c609d6cf6e36ccbe2da1bacf3e615cb1a8764fbbf5ea1ba797fbdcdf06600e6f8c93f5684b79e09f6be4f2c1b654680a0d28a609b8c8233f171c4bd038042163b16ef9dbc5c7a03b2630358a5fa81352b80f0341778a44ff5a458e0f3a1b62e896462a889201a271fa6c5891db8a1aa78f6ce4ad7499f4522ee720069551ffdf4f7476fb1c1d8061f0893a7606b575dabf1717670e7ad4c33144f459aad319f83e590f33c1740b7b96718299a666cc4aa9a8c3db42ce0c55b100e363211a98dce196c33cc2da50b1345bd4c0b66f4ff59db1523d12d223daf5653d69cbcafa94e782a5124e75d5020607612ee7714924465f65be11f32791db4ba720240946632c850130b21afda04509f95305407157317ee5b82fa96159a5475240210a78a6271ebda8dcb83b01a9b5f7f234bf7289c2df13cf5ba7485d3f673f764fa0e262c2661b83b8b517cff54d47d7a98e6e48539d1cee0a06ee35a4d4f6a7be44c0457b5273e5a6cda80fa3f32c7137329a246f5fddd2968afc426ec146df7a47f5b31903496dc3f68d3ea3c4fd5aa2ab3d3f83cc8fe6019df09d91f95aacef5468cd55d29dbfc1b1e4a532a0e0ae40ff6676ac8625b591da7e0f871689629a791c72e339647200174a53ee493b12787bb28e253e7654d31635f3ca335165e020b0d12d212791aa8370eca37a0e9169a45c3acffdc57d46f458d8327fa90034e929bd21d0d0273be54dd0aac0640eaf57131a41f8e7b7d481b4724ced9a97f744340446f91235de2910e78136fde43e59aa47b7acf33954278b5f24377e55366cde7ba7b73fadb262f6fb817ab638360d748cbad81b5b74daf884d76470e56165533700b32ded52df28374ec0d3e946023ebf780808d6cd517a01a699939733ad04fd4a5786872a9631d47a04ff983c3c19b15ed2104b55e1748041e9ca619aac91884ad61d14715d38bae5dad4ea71692312453f38d4f0478130f77cb25776b9b812272e0dd653e386c42fa8a7edc149705581d274c66f9b7d15f13613d1e0392e8b9e3e8f25e72329decfd1fa0e9cdfa8880cbbdb48990e17d4343835a6b255702bd0355611204fb461048427d8688c166ecffbf54da44d8b4efdbad73368dff4bf6bc82d922dd55808c4ce05c3be1e8c04f16c7dd254cf0992e077201df3a06ac3e2a75c6d8ee4659c707de8a5889af6617e7bf660c20f2fb9fe99e3865d7c415849e0ee43eb6cd6c7b7005546a59d0b5aa2b040432e1d64522f8156754ad196193d32615dc8d009b497cd7ad0717ec4f1c4b7d3ecebfb9731446b1ea076d974cefcb15f18230b9f61aefae444db690770019ba31d9707ba643dcd16afffd126fa437c70fea30463a18235d5a55d33a9426cf0e0b18040ed1f60427912abfc4220f79fc25915bf3d8e8b3f871387bf1e35540746f6d7f290903139c5152cf19c7bf95b2abc143f7c34ec362710a4e725efacdea9fea1d0afd12ffe4be22b49c05cfc6bd619906336576d118a9dc0a53c8c2d102d01c07f27a3b9c55ad0347222b8d23e59c4675b4a89da7c57829319e9e05539909e72c281c4e55f1a7b778cd5725c0ffe2a4f1813d21c714efbefa0d5cf675ea729b01092d013e18c01e51328af39c1eb4df1a5d110b9761134d1532e53d0c7531eb4311f34a9aa226da8e72b7268a52ead6bcce74c132586fb7e62195b144960c75d022f87248d0468b4067d52f9efa44a2a4be16f032304e36a72bdb0e90ccdb52144a95b7a7536ecdf103ba8fcbdfd99e387740ce8e9f48b21a0fb187e238420d9cd91e3a2100402b341f4a461890c6be3b3a8a918744fffc2a2746f8ed5b7f973b1a5b33594e4648efeedaa20a4c25ee662b7bd6ac96bd9bd6dbf9b27b577ea9d8006d813af163c0ff7938a82e464d09515cb75d7c1461ad58c0829fdff5f788fdec30063bd3345bbfc2519f5371bc6e0522e4a25d494805d10e8f8bbdbe40b9b740f46f102145119f754d0b15f030f99b9f33e484c530d760aeacac7ca9176ac310dbbf90a478ef43651cf1513e04f8963486043940376567a715dc806c842b5329e044c6ce6e1ac3088384a0c6088400e6db227c12a31c282c8a221e1a93708e9b744054ce4bcf47e5862d35b4f2cc735918be7891c5571c678cb54442709cb6cdc00a8d17d73c5c63b5addbd5e69710404bff4a1fa5a568b63bc99902e3a68e5d8f7bf75160094451bcc27ecc880e901bfb9170188d27f62ed038304151381422fac8be6b325aaa752b9e5bdaa35e7fd0114496605ef3624fa8d777461bc91a767e2b76a30c99910ac47a0782de87a20adecc4e368b4768ee7ca9075df64111cc321e15694d3590170f3012341174da8f1a2665fdea8231c5edca01efca71a937ce080f26196ce4fb6bee2ad71bf2d7e032b635f9617774d01898cea5bc3741f03a00a01ae89d22335a476f65d2649092d9d327874c39f5228b9e71574f77514c8730f527a5d858c59bcf8095c55b24a472c0cada5941f6cc1f01a059c73b2731aaa631040cf396e8e682c411d662bd667ae2410e2f1bc409a68b3c5357300eddcb595d798d9062a90f29c5bb5160a722ac6ea93e616aee0cb54b8897bc438a5c04af3b75cd07e1a03889e71d6d0de3126e9514437426906935a8a488ac9d9a6dce3854c0303fbaaba3366afa6bac903372d479cf9d5997788df459ce3a75fe11c2d67a250c0081f5ef54266c30b9a777fb3ba657bcb5e61bfcbcadb7415247388aade1e3633d8f5cf8c5d46438fbfef63c67b6b2399b05103e0c8daa19d74260722d24e9afa4d0983d9660de8cc3f4ff4bcd9e15d9ef6d98105151739c00e8cc70bfec574de8f8df2b20b260b7b00e5308e68f668a775744df8f5d270dbe580637bc1d002d22d5c3da816175b743629b45bca6208880cdbb8f2de9bd5a09af0075f5b4ce6891d7b040e7e2648e15ba448fac799527c6701e092f282031e69034602846838db9d8bc0ea4cad9c2331c8684acf214827fe8036fa354a19d2883f66af134291a1332cae166af0a766dc4fc312544e03af7e29a2c430ac4201a5f0426954b008aa1a4e75bba9b00e49582c45b7656487392148265b2d6e31ae05d74a8ec726d6dddde467b7d047df88f89f0467a5e88b84dfebbd1bfa2b819b520db0c2c0275237a206ec39129d1cbdc28b15ab9891b79116e54e56fa329ba8d16d13612cd3682303269c3d06aae015c1b7157d37b91b3f261046b237076886e9923e04644c51003461b32a10e9acf21f65f44b7ab7010fed80ad9508d7a695b4a081a443d318e1435214e5000c15b95f6e6ac4a403a6f0f3d35e8b010a2c7d070415c8bc8541fb5898ed8e1d81a9432f8296998bd75490d44813491d399fa34c6f3046ce2a60d7a36448584168ba89f51f5d4885dda2e6c965caf328f1d26698e7653e80e6f566c1cf2cb710e5bb87e3818bd4f488357aa4c517f55bc9c29c1720907cbf81e0079b90deb4f8e97fbb2abc2d01b1efc1b089aef6a1371902a7169778bd66c83c0bf0a9f8a13380682b48b67da66c0dd3d415f100845cb1e7f6190c9c120affc8374bbc20f932346033d31264f9e508c36dfb10bd1267155617d2b99e11d65a0eeb217b67e1ae53a3a098b042347d05f12c8281e7ea6f1ee2f26adee37eb1be240ee40f7523ffd85b94c3ff83322ea1b808e80b48bd0adf14e7b465914fcb1d1bfb7237e952d1120f4c8c0dd828dc36ea12edc0597d30abf8009d70327d2088a11ce2f5bf760a281c23cb2ab66556a8db98cdb24d823feff8e7a91378949846b98762c7201fc91f1de0c826f1790f90be9340e359cce76fc1389e9ed039a6e1f98f441ccc8fe9f32819c3df57e63e01ffc040c247ca2ee7cb3cf5267291d45bd1a21d420f95a381278a15294f7c585a42fc870091e87136e12a4acf9de2bf7bd3010bfe69e54b2d23507a3098a6c0cfda1c217abe0d8cb5a5a45bb44f214e37fc9b10f1a8a6116c59bc0e0a69005b367d3b56a7bb1d0b01ed6c6e341e4122c9f54875430b9dbab73697a9d37b07df16f087934f8536aa678490d2d21be6ca2508b7251802651999ee41e7e7b41c4a41a46b2d5abb881fa901b5bf4d2e81836e678cf1fc9b4a50fc74a5180e80cd41c20c45468dc65a617e92c135321c2be3319f51df743b96b2fffe17376b86bbd36b5114ef2432576e7533e7b41fdc49a413a7c3b3793e8390d48a95894a3699205dea26a1aae985bc69516b1a7a45e98799ea5e7b1a9445dd03dc0e38928e762452f69d955596267b5a390411798860cd61850e64641fd36ec89e5c0d8190d3d6a9cdaa0342d7f01c97a9f1422964e1ea0686f491555aef71f0f707126b2019d52f52da7c23909c94e43ed0ef9ecb1b4fccd6b4e9cda0e71dc354f52c6456950749ceaeaf0bac4a19b96dd79bc4a4917bb068750da9b8c40c1d2d7db566f31409d4a03fb7bbb90e313d43dc1b3694ca1e9094e1c75fdc463ff44b47ecdd5130c952864a6bb4329347717546eee1aa828485471a19bfdb27aed82e68c1df533f33c76b999fb532bfcf3075e1110529af800b43210f56419fee386618af0ad76d02afab57e38ddd9b253e1ba6aac84006729ec344f4c7fafae52c11659aa388a8fab25e45a1ab56711708e1200c44d4d8e07ff4b4e70528eefd333ea315ce0cbe59e3f7b5e1559ba12159c6c1d490a668921115e40218dd9f636ef2e65c5bd19c45ec50ace959af774d119ffceaabb46850d3cdafc7caae9450d78bbbeebb7213014fcbd3f85766a41e90a93bf6ade36294a255ca9593e9e68c63daf0006e81829b8e44057da3a1258c60426632179407291b6610211c1e66b895398e07d05e6dad368983f120e1b71a05118fc64db5255917233ae7f2434b12071b53e3f5ff9ce75c64e0063e12093d2f974c0ececf81a5ceb3923d32a57606f5e38fad3f9cd61fec9062e5958294ba416be74dc2c0790903aa82554c946c404a86106fe802be65cd93ac4b9445a6e12b4d4f93a750d032b26c0060be10090f29e3b36e7d0380685caaf626422fd900c8f95c0b0f46d10505c1886d742f421b08284c75f0d4d919b54155b7a720319b56a4694ed5955b23069d49ed3826fb82642ff673816ff2082006f38e3cbb78a95a18208aa4acac22a590dff39b787569672d1f02aef634c9fcd490c041cd1e9cad258f3ff22c56480d4016a8076e10dc1142801763584bc3348152782cf1ef6a10e376c143d46c94e1b9470c3c26665e8329be76574a267be853b3c5978d37819631165222fbe41ebc939fe9aab2a51d6aa0ffc0cf93000f8bc068644547a1cf47cc33716f2d8e820e592a5a0acef511f43e82f991ddb0844f7b0c6bc6ee88e3128f23ff5a9279a0d07a93bacc5d612f4fb1991622ff4743d4bf3efa0cdcff963891df89a8e70686bea13472fab0da063845b8b4a49135aa245e55ae2838fb70ec7f4c087aa095462615a9d6e7f4fd42f176fa0470aabfdd3c53d823b218f4ee8d985e567706630e51e0d2c176e1cd5dca43254d8cf2574719c8aadfa7705b4f71659af57f6c77e0bf92066373d71b9a29afe04983622c8918c0f7c0ccca09aaebd2ee35606fc4787a837c023fd54c853f41d22344329c2abc45195c22a36862c04dd15b31911a6f008ba208c2764a167a6e5fe34515d80b12639b715e4185a030632b6064018be54093651a982f5f219e239602e2b3522681cde348d3a01474662950a0c4d7f8dcd407d4e2a1ad680f5581983c2546e1ac8fb8d0953d158e61b1921a40aad94e1c799742ec85b8581cf8f93f1012c6395edd39f80dd580507a11462d37a68cbb1346e6cb283c4708d3e1911ed725cc9525c3f556b1e891b452af862450bfa43aa88aa7e314cf9e75ffb641140fca7f236f7fc500720a5c86a5c9495a443afcbbba5c8b2f77133fdc07bc80b1cfba576b79baae547ee0ba3a1443b786f25e84214c2483d1030669503df6a6ff515a0d2e8ddc091abb939cb2584ba59728cdc9e521cef186759393941d6da7a70d9391b39a05f33ab1cd8ad3b1e9acd02706204d20be750abd8817a8607c43bed32df161d0620a748daab44845dd942b1b0ecef38b923ff40f74a94d011366f0d12f6fdba42937022bcba651184c271667b950d953a5fa3551a7ccecca35522599ba8c48aa74813d883685c9680adc281b0d73f3b341a84d76d5351e9fe154aa1040fb1913ac267f6a0ab9b925cd5d5275e10f8632d6f2163cb43a21601c5b00a311cdc54463abcc9be8314e1c3807a45fc0a2b0775b524576f13c3722e869a6fef2ce43876a7cb2e55bc0a33ac7275006a3232b117c1b471963c2bc43e2523aca3d0997253a8ce82cd1b35809410533b22e4d5d0b8df845e2c58b47aeb856e8cbe6eed847091d9f244b23e8193d7bcf6f806f8b5ae29a01b75dabe4b3b6606cd4fb3affa91ce8cb60829177eceb96c0060c9564d1fea386d0fb5ca779a45610240863bc487593cbb31f82322f7607da2d39f0f0966aeb40567bf3281c87720119fd5b7fd7e9c5304e2fc221275ba16712dcda708468843c2502f000b7d549c4a599a2f2e69a165ff1225175af777f560d38253de8add637df7ef569c88b708083590c2013ec51de09f5b7aa77e0a96464ff667c1915d0354efb40fccccf55b3294e8af368893d952c055136e11feee867cefd707589db45283c8856daf9b9b71544ef9671f2ccb0b9e67cadb77f88841870480dd628caa23c7163a7c824acdd7bdb56402990de8e688bba41fff9a5747a2a540a9cb381a44c00049bff6b6b09aec7ec3fd1942b9b5ae070a1048eb828f490cb14d14230f65c3cf3b609752d4be2a2ca5c0067c7af00aaf36cde759b03465c7b0d4a796cd798fd89746e3891fa8dc02e98325a12ea5034df655b70f536741324b59705fd8f8098c018d17ee755fece02b8e5ecd89003259a2a0deea173bd55885d8107d68b40b89c560559d6c8c47429ce74df048bcbc7cd5835061a0d161d6d3b78ab49a45da9b22df1bc5e35c86261d6eef6fd6270cc2587049bd0f265479d0bc2915c9b815fae596ed5fc187a365140bd9d63270476967bbf732fea560bc81f2a0ef79cd1c4f499fcf704251ca9241a91abefd1111c26e6e5928d7f51ba060ce73a008931600cda5014dea3a23e360fe49f9fb353851884ee353a58aaac422d27000df7542751654b6a15c5e7b1ea69913008b7f4337661a8a9dee58c698e4b4ea3a2b6a10c0383cf60c9d7187996bb73d3437eac6a542c21d98b4ec1b1a84bc59bce175a2db8574dfdda2737e4d3f73521508026855f0dc2437099f676bc84da05eba97835edf5604b98ed92fe1d7080de1eff3b3473e9cd7d927ad53d8b8ae911e62198edcb5c16012ca8009deda0146257f8a90bb02d115f11001d0838b1065527257e1b98a0d13b1a1c49ecb680722ccbd69184db913c183cc6171df0e9b354bf96b9d1c8af166705702423ad50ea098dca566ad777cb84edc51b50073413241364b439df03d734b892653e901623c55c3d8429b28720b8185d2a418b419a5892f41ea49dbe5f6703cb094d2640e7fc4367392022c3d2470fde1e2655fd15caa77d1254d231b25576f1251f2bfc1c536a2dc01696ce08543811d71a5733e5b5100e14942b890182c645de08dad68d78793a4c5b17046d6e2ea09d2a6b07512b2616bc51f7541367bf64ec7ec9cff63ee536ff9ec60a2dfe6ab3df3d8e92837e4d4304687d4cfa034089d92330870c6c76af5a2a59ae5b938c5bdccb785694863b2415a6f466778f117a58106df38b1748690881d6154392f3ac3e910d2e369d14cef5856fb3f0760fa999a0672f86e6d9cda6a2ac2a6c16bfe30755f7bb071e2e8fa8ff0b9e8d1f08034593c82adfb754999fe5c69ebde69da59d1d61e8972f303f1dad137894b89269ca9408ac76d70c440ecc7232dea620e80494bbda9b4615232c9d0e5614bf3f4a4252c89ffbd57bd5b455cfcc5f8d2e09e1ff60210030a6af414bb109f6aa3a99f39a3196562851be4974a76716b3a365e2b7160cead42252d1b34aa600b8ddb37143ee434bef9ec4936d9a5bd4d48193a4358321859475b5f9a3be90b987f91ce4e6a69c811a97884bc858e9ee6d3e0a9d52679a50fdf611b277ab72ca1b6a4aa8d7894e650cf7ffed34aac1224dd79ec6cdc7a7b650a27dab4860cdc7bec5eb66a45a96e6851090577fce07e680e56ebd4f4d02a5c5270b69ce60c296726a75776269e3cedba8e3650b61865753690093935e1943890b3aff46ea1bccbe4437c0b1527bcc0a886627d6e9746de6ece1c479d2937e0fb7cc74135131bb44881a114a0b415d25d3b9fab4a35003c4c4b5cb0fa954140c31ba9918afe64e7ff8fdf114deea5604fb125cc35e73921e750a313b4e7bb980547f377c2a3a30ed1867036c3bf7351992edb4c215ed840ecaad8405d70c78b3f89f487a5f7a3599df3a2e70237c9ed7bc561368b3fd2ddd6019ae4d462e0b02bd2d4c36d8658befe56a66a99aa32fb1190959c4a41f8f1554aa57149d43d730e629ac9fe52a5f315c287740cbefa50a735dd58b92273d2860597539007ebef15460b15a6c675032f21ae48004d0d60f50d13b4f048b099e4b3e26a97f3043e9f7d6bf71e114a93048b070754a074d8850852e429f19dcc21a5159d622e8566339f34a57ef534875234a8aed8d4c4808062a15cd7336d7a22bbd14b9a582da064e33f1fc607719202744d0e901dcfd4a4b449dde23efc6e5f1f375aec4cf92ba58fe94bec1c3a72e80e1434c7d17496b2f1afc46000d11d72fbcccf72f0b7e3cea6bf27f159b51160cb345334614d44c15f6bccf3da9abde857914a77c365060196c3eb2bb0c8758a7aaea7ef79e850ac223ed623cf886cb7f71dab8f5f23621e670606ab28043d51d791c52a7f0c5c615ecc8bfcb1aa14dbd42dd454f6a5a41c6079c29dfb8c08cd8805968e86b3b92fc5b37226e2c6ad7fde30b7165ac45d2baeb31db84949cbc64d6d737a6b5a454c2d8bb62299a2652a6a27480df1c60d936e2836edd032591a39034455a6942fa63ae5163d3b2bbdd235dd037dc721650a61fc18941da9c2800311ee94ae540b2dd32b9813c1e59fb7aa30a2a6eaf65559c8108b4ce2e7c3f18b56f8200532f44b1f9c17c25be1fe2c0f67b6161cf125c4122b435bad9a5460d2e7e88312c8951a1ab4fdad2f6cc6d01104a0a5c6bca3edc994953bbae343d88e3e18f35855bfebdce6f259bec7c79571ed628f0695a5d89a4aaf7d159a9b1a22cce25f26ac6bca59a95e3cb2e8f43485409454cdab94f98664e17ce8fd5065b4e5eed150b210a1584bd712dc95c54784a57540ac519fee746062986b811915d462055113a8a5a0faca8e91c234682f3651ba0e710bed3de1745a7afdac2c73a0aa99a31640bf2737837ae0534642faafb53b8138212510d24f3560131c0f07aaf6e474008032aa5b10d657ee9163e850878f01dc9c04889495e54aa9c5d32760cc68fee851deff209eb1d1d68fff53079b6498dabc4eb5005c26cd73f7c2bf0657eb2cc09364b0a8aa8c71f120fdb7ac922527441bbde24521596400c06029397ec4cc548876a03ef6bc2184bb103a9744561702225f88716a02cc4b0d12d50dbebb42961287e8e41f1ca205bb8ecda36ecc3198a3ab9843c94bcedd8c85da7be9855407d1146fcb595514b90e861840d9190974fa073389db5df02b2dc548f5f7feff4fc1dfa47fde145f8d0110be444a610183c7e69bca3c048c58383065b87120781ac31e3ac6392514a15bdd572a81550909533add90ac180700284ed2f449d4543dade7cc93fb9c693f911f11e43545aefffc41abc1b95a4e6741cf739b2ea185a2342088768695f5501797ee47237b4fdae9328728c81216abaf14b0b7339bf305709a2005d08c25aa4838e5f74684cb80b52a126320928280fd10bb2c284b6bdf154ecdce2e68c2525ba110174a3c38903e776cd0fa3d30251d4617cf389a4ca936bd759bdbdef52647844df5c7ee5500e60d4695b15e48f887b03f357072c7d845ff87c897c2cf1b17bfc520363d30558bae2988eb19032173502989dd146a140fd28d3cbacf927de56147997758e7235d86cce6d448a6d3d6cf4ef1a1be016390b4fe551ba86c36b2b22669ea6526100c92525925933ab76877e55f2857a51448806e991c488423b64b0d65c1369176a6fc009d7984979d1c1864b62fb15a29c760a09c4e3b24b75f5eb2880ad1a1e2f395f01419bbc4e1ee99030dbc302d7d715c8662fe56764a78e235dc601226593777d031d84c8a72149ced55406e8835c3a80b9e0c233a3130e77c622e6cc2182fe9aa6c9927ecc854c212656c765fc7e4280edc95b1cd243e13071970b750dfdcbb3ca26fed2df6c3bcca44ab0d9eeba5c1988972608c0998bb610fe5d4016613f9df49f702843f463eae45cdd41c421883d74aeac2f7e6e111f22a6ab6d65b8cbc345dfdbab101b82def6e19a12d05bdb5ccefb9a155e4ed50908c8f2fd776ff2d79dfcb205f3c095d3f9e2613546e04bcbfaea645acdca399155bcb1600cfa41ef8116de9fb978d9fb7464cd7ff5576510033035a22db5fea610be66d8aa46ffffa6d24cc77609895a98a5cc4932eaf3ad75ff41941bb23588319732f57aa5f10fb260b32fba2d709626a6a8bb8ddf72f6b7b8d9ed98db202960a754ab005a5754088832a80f78a4894e48db5d5819814a929fab4e380a316fcbba1a0025a406b80ac20289cfbb7441d80d86c8e12c0e48bedfd8b4beceba67204c7c1e2cf22ff83333f08c7c1338e0bce54121c2fa1e138b83d495fd43b2ee22d387366b8baf72b8da743c0c1e271b6b214c95c8591cb35d24c657aae614f746b8ea86c9a4c52347101b0925eeaf7f7afc0ba09d9a5264bb36c1f70559eeba7e7f0e6a0c49bf32ed371dc5d01cb7b5ca33c3cbb9dbb67b786ebb33be1cf6e3742b32b0c4004341dab193acddad9ec704ec8ccbdf6bfc4bbe25bd58f51941c4699c409235ad1c0814fc88283e6e98dc511f94683360a718dabb1b37f055c29810ef2d32351c5090318bfa04023128482e7c12c02caba1e1ef673cfd1cb4b4aedfb3313bada084b96ced9f4308b0dbd6872a468499743da8ce06412b665fa0555e9652d6da8b07d49c461088f74514bef18d47e99945e5ce33951820a0454f54b7a090f1f6680e4f4da7253d6f3a1d30a1274532589460a6206f54cea4eb429460b1e9a12da86a8472e9839cf12edcd331846944d51546b3968124759eb632a71603839f6ba0c3fc9bbf252ce9e4ed8e5c5a95d33430f58e7d82c647e6295709abca83669e79d2af89075da73fa2c36c43cea8f788ba78a3fae30f105aa31026edad037e2ad917060ab13814f0adbad6f0995f95be078e00a96e895b466691085b7500e9c3e8aaa2868f80b6842e64b65ea1322321f3c6e0d23b35de84d86dde34d8ffc4ab56f2c34debae9dfa0f708e1de8db8999b5d8fd0a183ddca5345fb9b7be12f82f2469fc517b97c9dbef27252c3823266f16b98d7b56ed350ddb25f01e6cc99afbbccbd19d66a2c8959ad9104ace4a8f124276c794461fcc3ea0b9b9113a6baad05f3bae79c45a86779cb7b908197bf223fd5e5d41d5df61d9b42854796daa7e42f4f0339b7fba0625b1048ae7076ead2fc6eed8803f3a5fb34f0efc86f537c0206dfcd13f3e0d84a2c3bd64aabc555c38818c57be8aa1de45f27e5fdd7cdeb224abd5f1de341f275fdc4ff774655ea363e1d29f1e075e601701dfd691d089359dd31ae8b4ea5135c17c1f480bb9d5db75bb8bac317716ccaea88fcd4ecec488deb80f0ec14ebfcae5b2cf6779d86a16aec7020d1e9d8ff01d7e15a2089d67852daaf0b9a058fbc942e673e9a7af4d781f2bf4529e562cbd3ddc6efeb166e0c6c55e8bdaba9d16a7b2e261435828872d4307b2efbd2d850c0b240cae32b6e0eca4b08d3bbb1a97cb7ac7d4b82b525a249a858ff08a3882bb7e45ec955070bd422ff803868a41b0a812623d2aaa26d8893c1f13a0ee8fed8889093514baa38f2b681eb50151b213a52a9943dcf070752e08277606a4801f4e022327be3b4c5c4bcbaeae3b755ed0f7ad7a83ffe4d1dec288365d802e69a59995e55c5f41a4af3e92d448de35957921f9935cc2145018f86e154e50e04aae094f488a5afbf29516a150df2bda939c3e53a7fe56afdab137e5cf6b5c7b9a9bc793feb91754257954a8fec23ec8c2ef60fcb5e7f614187c2ba833cb13dc98ef67631fc6d58709519f8d8695557107a9bb452c1038e237672d8fbcce5d204e6db739f837a5fd664795a1d3a6a6268ebf4eba1d7d4af25422f46d3a4a2dae3336583a5cc1c876f50da54db45be8c41d105ad2bee0d28e82e7efc7d4ca5d8550c873e04cbe172d820b02b10cbd3a754f3c1bca0d0a331330a3468fa542ee34d3a81e0317daabd63479daf0be5179ddddad91e407120c38bfa648692be83e2dc09d050ba6a21e96291bd09203d2df9e2400afdb53be91a65ed7f1ab8b166cd80563c948a27dd310f3e03878b16b157282083fbfbe1a2b3124129ad95038b17c45bcf0a336bbc6f1dd18357c6ae5149f788f854191c3531a4c71ae9c0a0c1cd748c4c301d82b3ece43139923245b7d64e0eed2badc981f89b251ef1ae7da5e2362faeb745e892e2645908826d743ab0dd1673262088cd415d0a32f45444748bb4ecc6be6ff3467d3347bff5a091e8aab2c53b6fa71dbc5226e1739c3e85618668746e9f2980a90f4d88742b9ef8c3116db5f404a689ac0fb1be45914fe1816a048eeace389a9f5a393919ba467a77462373136398ee287119d489c342b72a94ae2a9af33b7ec2ae52c8e2d355850027e80c4b23549228dbb327b94d9fc551dec8f7dcbd1450c9882cf9cce1ed559b59c1da01aef60f271916c75b9a6b428c088975c7ce7f035686cd238b43c45159f5d80d978c8cd86e6c6ce66f14d2d34a1f591ce83a398ef460a36da66afe14212c082ed8370d8d4588816b7665ef740874beba20ef07025a682602631c0eeb5711d276d3925995ec0cf11ee370e714ec851989351aa126126817d53a6b18d44bd87a5e2455ec9401ce00456f61b322f53e88445cab08d1b06fe30450ebb5e98f5a79b9c8873c658862a74eee350505591628392ae27fb3acfaa28d669ba2065dffd80915fad8270559b09053903de41e4e308a77f4af9aa0750d173c3011af097651c04cc5829f3f8a2d692595967d4152a6d160c31d20bba1f5e771684eda9126e0e880273301325167c4de23bcd1db0ba9dd5d67f3d7484590a5233764f953889095c16f71e5fe75c98b6ad0b28258d6e5b3411344560648529e7b8b2b6eef036405fdf570a57a3c797b9c9696a7703848a5580013cbd4ea2eef364f3e9e4701e0d76db57478eeb19e1443814faed10cd9ed92077703e317775fdb066d519fb53925e796189e711f16c68316f63e63a13e435472051265f5138c62ebdb34bbc290ad315da7c9bc5cbe13ca201d639f9b423c4ab5a6e18da2457e060308a5f9149530dba8944f297deb24ed55050f45a9d42349ce80f88b6a4984677a30b24d24815b5440cf1b4a81c199714c0d933c87e690924a3fcb95dd1bb5e4aaa42a892cb6c83b757bdfcef1a27c923c8d3eaf8f78d73e37392eb53892909a03f3476b8cda1e679f7bb32e11b0bcae03321337c27dc636613ba3446e0181a0b9a69633a21f88703a0ae7d84e9576bd70160438365995fd7402c21d473cac2086ac9d756cbae676b5fc73ed545e9ce62d94f97f1776c154959e8255a989a0c487f581001675e2f1275797aa2e7f6ca3b226ccff06d097a58a4941b2a4a802a5220d26be70e333210cae57ef77fe83634713909f7a85745e5dfe0bb02eead7d1c8d74659396902a3cd1045abcc9ee3e3ecfcc257e42ea8c3d1c1a3bf6f07d55b2a85d69c639342283f66e27908f397be770d7b044e0d5165ec7fafa60015ca3efc636581c82fba86170b386acb8e8ddb46cf0102982f4f0a54f61abd199fe9dd12939ad5cc1a126d5cf0cee41e782c46009d42346cf5feb207dfe031da2266603a2b8ee453ca0ebf0554dc67d1cb60347a71febbae6418bc8723520b50b31ec0c76441eda4b2512bc8417c7fa177d4d2f1df225be4f198e9cced71c2020b62995758889cca96ddd2bc33d292fc4540544f7985c867a1766c68a3bf68fb7a3090adacfc2d662f0eb6cfe62f0fb96f2258506cf0fac616b68b459ea834622c0ed942499eb55af97223b9ccba213edec86d5863ca04ca911e27c7cc26178cf1d0f4f6d411af9639e59b4cf6603eb0b61b71e1ce633e954472df18e8df4010ffcd30d45181dea0a7736fe0ce8b6e08837efb1366873120f94ce8ba20fb8c55d4b2c282ec3de07d2b93f16f32fc9041c8334a054715a12ca21a36106dd01aa3db5c80d71ecb0980f342d518a78d1632bac069a146564e067965f7f17e96667f1072816c2a4fc287f493b4d7ce684878e5f1001cbfe3621aae59738985a76c9ae66091c42de2ac68cf142417e5aaaa262fd2463b8a9f02a765ed02940f77177486b6273b8d3fe6a6733c0dd4610600995b729057f28ddaecd41d52d6398648834ed0f52744d2b7496796b3174ced18bef4285609d8cc60cddf779c7dfd17478a5d290183fe65a9687fd67103940aead9345d839cae8f2c323c1308dc3aeaeb362352717cbcc2a2d2da12a42944bb09b98c1c5aa2e3e95317f3eb10f9fee223060864a9a4a78d9ff22a5e6cdff40e29ff81fc2ab51a9d94baa3577f90e3ca9a8364d594e57833cfe68aaa6e9521fc0379269431fcb552a5098201a7e0fbe31b6e110c8924a70a04257923c3b77db6c700bc652612d1cef4e39b128d5b6ac9525569b9e3f9f1cd4c8e2df363ea50dd9fe6985373f4d6ed011457bd072a064d70108881282d8028c99d6924117c8ae5436ebf1d1980295e14ce4f074bf153668c834632c0c8cdb75ddb26a6fbb52f7640fb76eb201562f19db93abc39df23ca6382dd3a3bafa5d4d9228ffae697aa5ae4dcdf49c9dcf05a68043346d278fe5dd972abd5f50f0325a5917b52f70f42958355ba6ff6d9959f85b0e2c2cd07fc0a607f3414c8b807e103b9210e8a662aff85e3a445ec1d8aa9220b19b6aaae8cb6de7f9ba9707f573690a7844a0dd72f1a2d356168d5ed0136cf391ef7bcb446cc9b0dae03f17ed730ef2259772cb65914bda32de11116d040fb72b42daa251e552df9193fa6d7d4497bc63686aa384c56e2b44c57a8c694b168d3461479c20997663ab68009e250826123e32552787fe36f47d6a123e0ecfe1cb937837452ee9c451a452ed2a111e2dcaf514062ba5643056db985438e46416f09807379e0ea9eab0763a42623521dcade52b30a8dad692865690447674f1a6750fdad3caae207cf1a2ed19e022bbc9a21dd3f6e6fea878c3bd0c3aeb0d48d9a21dcfc5c765b4f50bb0240ba572c7daba690eeeffba162d3dd0da04207b49d47c7497fd96277c70c566998c0076a68c602d6589458428f94908815677a7f046222a92ca2390b0fd410101bf8244a709e1f5ec7ee48235d5de7f050f440dc802bbf750b353a9c9baa50322c744d8fee59f8160d106ec05cc9d4f9b7ad116aee383f7597eff278db2cd32c83574aa8c522b6c96b54751c84ce2fe23809d51f9d02032e4b34a5e189126ab1b3ae7d9cdc7d7ae0058f70d40871ff7079ab1fd2156056327dd32f23f375002c133d8770082b5b86d2e2f7a38e867fe44ceb582755bc7a6cfcabf9688616454aceb0f36c5297af2149afa454d0d833415314b9d90d6888958c5512ada3147fb4845ec133b61f37e688ead1acc4b301801926da697cd0260e09c8ffc264418beea120d327c78ee4594de0ab23a8bea73556c22bec2a34de570942b8d067e96d96cc3c6cbfe750ae67026e576cc2e73263e1ee9e9b33e176f9dd86e895407c7634fc07bf770e75f1ea91d32ac4fb2c5217334fcbfb27ebbf17e748b5392f84fc4792d2ecf401944f95a351670f22c317b52bf5d87838d853812c7c81adc0d742d0f93d81c536ec5040ca13bd2240051394ef90a110e2b566a3da5071a3e509a5f02e4ade910d79cff2bbf25615952194d0d814a02dc33721fe72ec12c6f47cd996421ca4879282c93b615f6f76aafc0c9605ddd3c615e0d1d782c861962170825b51b8dd1b9aadda14e6c643ae8159b27aab40aca23f89fe581845628d3637695dc12a5e2448f0e818d7f66c83fa7458d4ed4593934ddc78c5283efd0cb2f60a6ae2198cc67c188c6bc9600289595908664eb78a1a60e9dd5cefe903b463e9cf7f5ef6bf9ed45356543106ae2744b1b55e39f00798e3694c46350568306373f0b29e06cd30c41972dcbde9f53e1fb8e52545e44b486d74ab505dd2d3284142beb24d42b325337587f28bcc8c23419e0008e7e969b4fa4d8905fa39a4a771200336e311f1f58119d9b419aed848261118cec35d739ec6bd100dcaff22baa52fe427310766f44eadc9da2f852985e8791a633e92432791bc6b7beef169400c7786e9b3794781e00636407dedc12baa2773a3f3096d27df6229a055220d9fe25e10063c64df892f2d9eee7efabaaa0457ed1b4afd6b4d8eea0828fd3f62389d708f278080c9120d72783d8aa06e40af6432787c739c0741ff91189c20ec9e4e4000cb421a52e0ddb43aeec0c1161908f1030b4c3de35090dbde96b608b78cb315fbf0fd78ba6e7160d65512d31a84a87de44d53795193d693a4d494571dcc56e7f506c5592505af7b9708b0b570202c8420475963ded4017b9872cde8493f1bbecfe853e9d0657820a57cded5163f2649b2e2425c29612661b2afd76d296cf25f44753c4c620f8b539738863ac2711dfb9bc2c167dc52c8ac6dd03a08e8fa79989c2219f260ee77ec41857fc3cc4c7488210a12bfcb12ee54e26ab20b0f7c8560e3c431b4af13bb200cce2f755ecaf031bea3aed7a11fc02f68f66b039afb6691af62eb68ad287cae54a83579e75375fb76f0824800d6c2a91859220e4f20ffa380f52f28b7c1c25a3b5cbf1f58af0f32d712c09c9ee1fc8775b6242360bf8f435b259229970e48dbe3aaf9b765b50d642d91edb0431c75bf432652436c6c389b1c313889a4b280e62c3c5043406c1c363946606992ca5a1a12f048099d58cf9eb8a94e82a2ff530c53fc75539d03a5ff88f1f61692e871b04dea8484091dd3d55d06fe1bab70400eaa0bd75cc1f0f32a4a8ad730078b32c753dd7c315938c6bd8fedcf39208d13282aec5b350c3e657f752bdd375a8e5aa70149b06af93e91f5730e16881ef51a3a3137a8885290babbf80b838c353bc16c9d942bf3cd25cab54ef98b6d6b286ed7baf5bc6fd91f21cfde5060cc4cef2fc239fce8cb717860143488035a66867c5a30923a4a075aa58935026ade90eb6b8ac0f89ef6ae008eb609ca7f2542af34acf244087f99dbd78d8f0a91e49e2921341c06805088a2cc6340d847587b11704f34051f65f7208def43f0a0b0b01e4412b2f7265bee2d654a2905c2077f07cc07d90d357b4ea5a5664fd33a0948e2c1075f24f5c0458e9abdec88642ca42c0daa0352c53e623fad54ec396c071f24a0aa94aa9431461cbea831064939187d91a483141c846a0483aa7becb905c7d55d2434507e4a0229aa19cbb0a2c516655082313bdd4f50fb7bc6da10683694c66cc183172a3e8c11c62c8c18624c1a26b8e28724c218cba8710560ec600c2a4b20a53114462f72289a4268062f5668086319352a4dc952239744022f48d889d9b01ce4460c53b538983be6ee41d4b553b1f66edadeeeddccad6a1bcc775a077bec8560ae1fd59b00172a249030bd151fc37e6386030a62a8e645284df4186319dacf324a19638c313a1737ae1608576c89d93afbb510b3136888bea6b50afb593f84f00c31d293613ee364960ca7b761fc41b9e95818d004d540c861ea1676a35eb68d86687545b3dcc05e0d841ccba69a43eb3199d6674983df20bc980afeb80639d39a4c2cc39269d97bb1bb605a1c984a98216d9b2c2db1690b11fe264b4b4dc87c3c0451981f34ed7b0841d460b3f6a65f935634911886fd9e2c1627dc8841bff6f3119bae7c7c4433589fac07c3529f3afe40f0563e20bc8ed7f1fd186d0e6fd593e3737c3fbc69de4a7ba0aa51d3b7c9f43dc4a0fbdbb7966ad260c3f03d79adc86749836feae68a508ae367527fe3b7eb9104d69bcf45e997a2bf1f77f23a6f163978c5cbb6b5b68dd7f64cd8cfaf7ea682b1e81b54286d266e02c308c67437011c643101dcfa0a1f01ba8090c4975ce43657dce6a8412daf99456f59fcdd1481fcfd4b389ac70e9c4748833d84a0ebb1e042839b02daa03f40be699dad2b786b4e4a997d1a64173e161adc599e4f4883ccfd9217edce313ad3504fcd3a2cc460ffee7e77f1e4ad7c50a7477d3d9db7f2e91ef5a8ee030a19d004f5ef010675b150cf398d9c3c5efa82892de1b7ce0a896fed2ff28566cf3ee092465058c40b75b19090b7586dd3cd1242a118f1771f9da7efbee936dd4389ca77b1b4ce09f37af7caab2b800d0a1402859f7dc46af7f76caf795a95953b222ff8f7420af24dc8de7f7bff54fc5bc76d25b72d877544f88bafbd7b2df86f2fbdd511f9dc739f4bfb5c12a866dd11ff76410e20e11a17277ed61589357a650ffbd1ff6381300d256c8b4540932347575d2ce4620961a1d9cf499b8768b09734d871a3d779d36db448d91200120ebdea1bfdfceae893f6d3e8cf9d13168a112762dd14dadcdddddda350dbb4f7fad620e840392ec6b8494c6adac4e887fe3d3e0c6882baf6c563a4c70709d7d5f6a475688860d84c5a0bf37972c71919d2a051f6dca7eaa070dff1a0d0bf4212574856a9ce5fa53a3f0ab88088eafcdd1254e32f0deafc56485a5821d15a88af7d370d9ec0793d5d8277f55fd9cf622823e98f1fb873aa1e84c0be544d788c9cd0b304022bb0e0020c2aaee3b8db57d64d4cba749eb6f1f8da381483ff8a77c55f91299ab8e9d68a59fab1236488911e9f252bf0b6ea87aef00f243ad3e03ed7e0cdcd0f21438cb041fb8f14415d9f6be6f7995dcca6fdccc2f93d3eadc3ad2453823df73c8dd5d3cf9fbfe3adee79e69cdbb2f7ee62272ba795cf9eef1657b104decc67756b269cbf335fc8fc21f38db4ce8d3aff84f94bbad5e17c8f12b5341f45e6861fccd973dafef41b4e25d89bdef441313df61bceffd6e951e783dec2c2f94c5658204eb85ae17e3ecb558e9db86b00169ede863a7fb3d436b84a8285a70fb5e436f3578c1854ea8a0963a9761ee53c14192fe87cf9f17dfefc5f205a9daf79b1fed43c9337dd46fe507746e685f4f262646e1e4d800b1117228d4b513c8228726466e6c8ce3c9dcea8bcd5f6dcab4c90affa25d20c6882baf8888ffcd53ad90a497cfaf46b81fe76ea468ee730376ed010ad8aaee882441adce5b8d102fdf8812ab7f1dfe13d2b6619f631625b866519577961318457401b54fe4c833f5a672be64b78ba0813040af103c1d5910ec7770f5459adc36ad063d4c2848515221fd1c0430d0a1d4d1591131af43e0187b7923dc2a05c5d0bc548fe8eef553c9ec7f70314eef854a17f8f30e856d7be5232eb2c632396b2962c6099b773264f4eb88cacd847a942334551a7df8634e84eb84ccd918385e6af6ba6e72398dca09912931b34cbf1f1952314c0065d3dcdf3cbcff13e33425097aa75e8f858cbf7f738013d5ac163a1c1ee88e4e8e185aa3e80050f4ae10e6c49143249dc20081c3392855092f1258e131a64d236fe373ed7a41f2a733ebaf101e5176b69b008161a9f8fda07271270040994a07ca182c73b253c5d840922dcf12d0af1036f1a749f26aa4d959b5efbadcc25cef05e518390c733afe143509770c773a70448892a9c279fc73797aa7a9e14a3ed82040d95c7bfc7e3136104542a8f07400d4b95c78760c351e5b19d9228425fca58f95434defe08435dac85b5446630472f2ab62071996129321316545a54d7897c8429c5ea4b4454f8f3966ecdf8b317bfb1e48fc9c884051b966a64e2fe383a5016be151af42fb203ea52a9dc04ae3762d0237f7eb5806cf0d2812a64f0c0041168842d20a32e2d980286982a8ac0123af3f87e56af90c77ba764c7f7b32f1863e515ee78ef94ac1045c8e39b9d12a02c21e81245b8e3638c8fa4c489f30888eb88488c0bd172a1b27197c204b8509171025c8240e80204bd9ce854c0cde94b5c58895c18115b862b6cb0a2e7aca9bcaf2127f018a9b9028c182f3c3014664c121240e880461657c8a04b122dc3eb46dda41a84a8a9ba49350c096de4b0dc03853c7dd360c6e336d9735e8fdb64bf79a62c7b03ac417f34987df626f0728eeb09d7f971fefc564750b53f275ea60cebb09420a21a9f86837cdc92af188882a44c6e65af189482b204d110c6a7dc42bd64500ae21284431823005050836a7539487ff6a8ec55deaac930166c3176b72f600777f766f1ba7f3777cf196cdc2e23ff11f7da42736539a73b4a9798cbabfba86df195231dfd04a89d53bb553b01b5d705b5553ba8eac1f8b940d6e7627d579a2021212d4919e55ed1aeec70ea63375e59c9a7263617574cd6ac6eddcee1a0d1c9a2515da9fa2432334b20e64eda0e6003a9e351883977778f41769bf9a3d8016c4083488eeebe801d881c1177b749b061deddeeeeaed5e49c7daece358c62f7948abbbd7a4d7554d0e2f80c1c7783eb4e289aba91a2a853c72d00874c6ada82feebcf9c61dbf4969a945a984c6a728963f6fb1c44fbed2823a6651c99b32ccba2f6f9e2c8cf305fe958669a9c94cf19b699e417a7a09c6d526a52e31c11dba426a5c6feec5826a3fc986599ac2853831046771d8eee84a2a91b386ea428ead448b698bd3898438912cba6a67544e66b9b09ac4bcf6082a6d43a30a630d904e3add4da601e991d4b1db499b8d83a3cb36d46dedeb81ca6dfdf987720c1b65a8a141f6abfb7142973ce194d9f2f0ef633eb308f5d47647eb79d5cebf63ba41a241a0c9b1c7fd97ea3b38072c67928466a1d1c0beae0a262218757338fa313c95b38d6e64b002ab6aa81c0d61df1aafc8ddb3ed73cde1cecb18e88f49afdc6713ebb8a7d6f0e86755d2f88611b3875279ff3e3c5c1320e35b435083c40cab0f94454b8f0a19e39690d110d950d69d260fac754f5e09cde51bc878690867aa4a00df67010ad668886ca86346930271deaa1b265ce39e792893484348434843484348434d4a305525c2431b8b1c7b22b453560222c63c2de0ca5f3e7ce0c93d9347dd3c441b05f8979b86df47f6ea59b3a8ab789887c1390ec593bbea1e9ebacae168409e7c41d810aca5fd3361c64c7e6a85439b23b0ad61d69553f1379cbf415b9b6cbf6ae1d4ed5bd0bac2ed549a5aa1445e949a5eafeb90f04b70f0917941fc39466a3ac986c50ae6e5211143e48a223019575938a5260ea92546402a4a21e6498143537d33cb17e14dd30b72663a99b451fd84c3808e2c86866146d4b7396a1641aa3cb5e9a152e529896e4065de6b7952a3a99040c99325c935ac9924a52c6152b44a0928421b2c2039704072f2b239849c818622b1f30d1246604b5cdce49553fa345166c7ca161c1061663b0310336b4cc2fd8c832ad60e38a90b632037f5d318ac8ec400410f3043b481171822188b8028c1398808b27c14bcb103c7831c4192c1384c1838a72b182265103de94a04a6d19d42ec11ab56760022e361592a16e1e6aff5483001569b229fbeef7d964cabee3ceb24c6abfdf715b7f508ca2fc7c4c1f0bca7ced3b6a4abd71dba6e27e7e746a8f3d94eee7aff6d8fb688fcdeee7ec386dcbde07fb6cbe099b2f2846fc50e663bff3b1f799aaeca3dac43ed3e67c4d9b6136b10c9b40b133309bffd6a8bc854dd9f231507bed7367d2a3c4721b5e25c15ebe0ff6129b1f3f1fecb3ef079b4a99967d3fa60cc3be05278fdbc80f7bfe7cb29fdf4ff6fdb3b04f7ed46d7c95443ef63ef2b1efc788ff277bf9adf3e7235f7eb473c2de7a2afc806e680ae563df2bfecfbc157f2ff8643fdda63fa0f037c4b2cf887f43d9989c356cb375761bc33eb6ca5fcacf3029a394dffcbc816294eed6619bde0a41564fc59e296d2a23867d91c3f63604f228b139dca2b76148bd85c98ce3ae9c21ed6630482a3232b986d4413c43da201f87dafb92759384989281c1924229cbb678b940d6cc506e554942c850bbbbb9191a11ea26117da95bdd242230aaabc604dbc6338667cc56abd05d2260e41adca633de11e91839cad3ea08c69f4b492d6312434d75938208625b411022d0c808420a12408c9974a3018ed945262062b0656296c49039234853452854d8a461b008c3258c97305fe61f7143a68083a38c75022ca6b0a484e9403d0533c04811689dc219479132101fc07280d4363babfc60fb21851c0c2146eb4ea88a19d5c5d201d5ea2655a181d63475c3e8410eaf2316e8e2a775d36656b74be261b7bb7f3f1b087b541fe2a6bbbb3bcb6fc039638cb1638cbb4216679fb5ebebebf16604989cd2e59c72ce391f64a9dcddc743ed57fb7e3610a264e0f628b16c6aebad19faee9a36709f49d4e69c73661b0df741d68e90051299c4b91ca92a3b001911ebb0399594e49c734e6ea775fc552c079b89bb4d122c64723344f95d2b9970f420ca44494969066d6d6c2a158e14ad45d8dbea12448c8c667417fd22bb6798c4dc9929d1768023caa86d7f80394dc7244b962c979959663f6031cbcc902827be5dc09999a394cffe2c330d54ff9551c6144c4dbb01e553688a3f986c4c4a969d29344d66c64213b3c9c4cc581bcf991fa08c6d4194cb498defdb053ccf3400853b5e1cac67eb645bc5de2f50e33ba6811adbb7c36412915fb32655c93243a67f68a296616fe967f5aca0f6fb74472905eb818cda5d1da2c50c4568e1440f7cc821dc1788c086221edc80430e7a085bce50bba9f430a69a3e9a7c7841353d677aea4335fd8ce94d3f98514d5754d383a009a4c2821a590c1153abd42a5a6a955aa556e119c333a656e1193344cc103143c4f08c319932139b3ccbc6b92a46fe585d3f5c826d0057a80052403dc6cf7f78c66413cb5a8623da4bf5ed8e2696676c43b260096cfc5cddb8bbbb7733155233bcb3cf830a51298fd153618d26de422981711bd4121905cc17d0ed22550584ba42fec74d0d4f0d1708f6eb31084e8dcf2e80c5691d12b04819b160bf8be647dcb13aa9a2065bb21afcb113673c0a61a21e7c4587896abf0b0175a716fb4a0d805b94c86d1a88bfa2fcfd6d277d794bdb385ff1852891b706c036fc3d8a74ae20e048005bd317dda2d2a2f6f75c1c965f6c9d201d90bacf9a33aa57f1c6d33c40ddafa9e2b453f73754ca86b569d57d1e140a897651b1d6077fca864dd1c5d1914407286a9d12ea3a98856ed294a3ea8afe819e01e54d9782f2669790c5cf6afc5cdb8d1f756540952953a64c88fad925745d174f5c9cd13c96109e941145adb3c3f4a95094430dc1227aec18236f349de4cc08759fe7b4c547753c27d44c17a4ce47dde78912c52a1aae3b39b3daa38e9c7715c7f25fecbb1e75c8a3b81966a183280f0b33cfcae931cf0aea25e7a9dc66c8e29c509967657bccb372fae9f1f8f6b1646872fa76dcc6bbebbe9f0de0e0c1cdb40eca4b8329a1bda98b71c79f9e2b2584f2421b5c999d30e9dd34c800bba95ed5de2aa1d699d974a58466eb14a0ae17063c11820d00401d6344e0b6a0581db3d3999f5b376fc793ff009070f0b86d1d01d47d1179cb74a5e88866071e355df196e9e5a623d396ca5ffb6976405def3996dfd5d5c5e196dc9ad60940d02746cdb7e4ad21002ef64ccd4deb78755fc788bae2003896b7a4c8c0654223f9a8dff202ffebfe8e2ab5a1f4588bc3a9cde1c7d1751fcb0af79d17bd1919a2041180dbd611a1ee3361a189b750deea6050fb5d37ea4b554ac85b37d6869fc7d047a50044a9c519a19d4993f5c17ff212b0ad24db822a45d8960f576b73960075a61687d9865fc7c7238200c0f16213c2f78202703bac0d1d02b239662aaaf6c4516fd4548daa1d867ace89aa9b019056adc363bb50a4d965070c1815abc16c5dbcb5de453551fb8a1e5230def2a5da646a83a9fddd77d87d3f5042d4477d12d1e3dba465d84f1d897110d4fa702d15250411c0e6f0bb44a839e864d38e901bd68f06bb5b629cc3bf21a8a88e10869837385c2a876dd120b76921b771a584501fe36f9b521314196f356aa94351211ae4ad9e0ee5c98f2787637129216f29606d6a600e17877f7a7571523738873f846df9d8199b1cd43fea831b4347e0b675662a26b19d1fbb7f28efbb22f1b3e7f1e9611f5db054b38f953be9cd89b282228153a5a6e0584f09718eb7b8b6e12072736aa6d48ea7f8fde062b762dfa83b450cbe5427a1933f38e99c0e07826f84c75b9c9305e2244cfda9cb810355f79b2c90487fff51376638ccb1e10dafc76d9630b9f13c7de3e3719b264ea8c7616ac3cd7beab5073ae43eea36bc21caeb70dbe1b6754e4a3d62a027aff3589eb7bacb0e07d978f28f36b801e1b675b8940e3b3c82976ad1a00270fb969ac2ad1b9d65d025a4871f37d4761ab4654787ca29a1ea716d78ba67b338fca91afa5342de2a00ebd816b7360c56deeab6e8daf037aa764fde798adf64e580e0e3b43ae2a3fa6b1b90d62cacb16d8dcb6930a7caab2e267a0511dd44a59bf8bc0d36d71b9777511a4ac3cbe90754debf078beaef9346168fdc615a67e5a48b87f16216ddfc10328497da7f34e8df2614b1be84b5c0c9d3dadd396c13a05d37a9881db4b26865f1033377ef921260a8a4f024767ee4044d978edafcfd53a5d2b19e921d112c2a8102579212549498929465691bdc65810c494cf480892526b6d8a0327154eb26312106135d3c8989227a60628a8eba494be86009a54ad3207b4b6051691ae4255a50695647b61a9bd8d66331768b04e86bcb952e4b7abe30f280052201eafadaa0913072d0e2308c1ce0b034439ea019f2044d4b06aa960c543333948e50053742151cf308d1514485f4bc119eff2544741469516962505d8f020a3e4f777412eb0c4debb86eeaba40caa55e44d8d1d150dd9f57c258430a4e8c141099b1f18f996090897122f1aaad7d910c66666666dea317194732483a42a262a2d7a57660a8a85b04975ac411d5f52515a1c553a9aac6c6bfc346c551fbff47ed9d30c60c71c34cdda41a92d889daa7699aa669dab66ddb193f982fd316060fa6a46affa452341861b450164c2e748a2c885281b9a00a0946134eb4808da8fd310727177812dd52fb1fec392955a91e646dee79ee53e8832ce64cdbf6dbb67d2e1776aa49dba9b3f2fcb24f7ef1e32ad5bf30c8b0b1ab20a418dce504f1d3743941bd4354ff92ae105535b6ade11178d10495558f0791c452e83960410ae3b7f2893f4dc50f4161fc9d1b4279036dcacd336c5b53c7d0ad2b1fff7efffe563efd1f8d69d0ad89dc11d8702889d0c51ab10bd9c5194ada166794b1b1194b945475938ab880c1743d59707987d6f1c87171cec843a820b6add94208a22eceb35fa27d2bfef94061f64b56fcad92603fdf48fecf8ab16f25bf156fdf8a39a0507bc26ddebb4d7c4c350db006fd81816adfea673dfb8042f998fc5649b2d75ecacf477bece9f418d4ed4b5bf61b0a6a50ae02a0f602b90192b338d9cfec713627fbddccc927d9d62e4feb8050b30c041c43cd3230b23258dfcde264cfd34596c89e1ac93ee386f4b48e7328a84133223ef24dafbd51ff8ff6a6cff4fdf970db73df2a7e4eb85ae97ec3cd39786d3348a2092c4c770ca89e118489c2c4cde90032a410011267e4e0c450082404441621b6b8e1d5032ac28e42fc8095002bda86382b3c50dbdd8a10c455dda42d666cf9a2a9b111c142f737d389d17b979471a5ba545510a9687ae6cfcdb4795266d809e70bcd50d3daf43cbe99bc26ab066ca8fdcfbe420dccd780f624d41814f45b57fbf568df7a8d5fb67e8701992eb6b80d3da0804cd8de52911472f1441457421e70808352c8384071c42bdc24d71e2b4be8de4fffc02805588451621621ed12301ada40e215b647b382259a7b15df5bc5af48283fa19d6639183f949994efb2cb6ccb31d04daa62a82651f14aaa422886a0700a4d2056e636b8ee82a166df7a136be149d7f861c0ab150dccc751bb996b7f7da1eb93ae56e677a7020705f9ec2b741fb65d9d18bd83f4bb76775fe0faa45dbbbbfba43bbeffeeeef207641058e63e5d93d3a59452c618bbc8c9b84919e5abe3ee6b15584a23fed8c92332761d3763a661efa215c3422e7ab2434242cdb2f961a02be719c59fc8794631e350f6c00a4d262dd39498b42c4ac99eba4dafdb60bf3efaff37c94d8f7f09c538ef9464dfbb4dcf0d37e7324c4342427589829771230c340afc9cd3aff17f8675fc2c298389b5c032295d6a31fa34b9806a8635a1304c6677cc9d594a87a27547bcbaa92312a3dc4c2acabd92d3c7bd92ee5540833a59320ba64e29dd5329dc474f0536a8932513bae8aae7f4a75804a8c6e7714ef34cd3bb25dc47694a85b0fb766de6cc80568dfc651743ee931be61d0a24542c7619d7794698bfd639f733b9ce338a1c72b85df4707626c318dbfc786d6206b4da6fc40b460ec86cfa3b9152a60fe9516a23c151312376666e79ca3e0c3437a7ec628c1937e7cf3043edb1ae47fb787dc48febf1e4c48d3020306884d35b18c7d3889fcb9461cc3f174bc1d647bfdcea8a4870d4708b28789932ee923ff237234f4cba7bdc2636ed3b2542464e766a0b4fbcc6072b507844be8ba5683f8391939dfac47d645d04a83687587b2ea0aa64cb94295346fb766d5c7318a6117f771c7fba430187347dec7a4cdfae0f8f1d11cd33c240c7ee76798a1f065aa8432946fc59e7a1e973285977c46bbf51334a26b51b6111cb78c69f9865584720a46ca1ba321e514a0b78e597995c1df19abdbfe0fede1d69ce71f1c716a20a6b50fe9070e58f2fa513fe4195f2b1f7161efb5ca82a3f13d6c734183b76f46e293bca8eb263bf207a8cdd2e638e879963df15eb96fdedb25dca8fb13d8a6de3d71d31df1cd98df573e4aebb8839ef23d1eb0b8c0297a9f1c338a7bf5fe0ca188681ae317ea8c56954eb600322be6ca86f1774c5147e6a44226b7bdc39fcb922c7c73228352291ef5f14746d400497ea0f54bb3301a8c69f18b71d0a8d4dcc3b1466c64d661341b59a3200aa1a6fa9aa714d952a091e35fb5cf373a1a6665946c48e2876504501021d3e00414c8ea4992d4e38a638ddc0924a0991a250f490a1a0f8008e931aa92e8c894beab62e38d3159a16c5365540b31f70604fdc60924fccc0452f73f680731e150e503d954cf132b962b45b31ac41cd32ae19d7219c9618d42cfbcf322553bc60327ad7f000a99bb402222a5637490bd24a0c146cc6712acacdcc504ef53b2c6e86a6c67930a1b1b90025c5e45686c98841d18131f9d065698c529a38002b665ca8a91955b5ce4e1528a0a20508ccd9080f55bda96e92161caa0b44f2311b4bb1f1c6e8edca4f85f28142a6eda1fcbae347ee8efc8226b23012ff8a63fc699daefc27742b0048eb4498ca21ff0a4995f2377902033f4bf1e671e24bddef6d47e315c30a8842e96d68c407ba9579688b903b7190e61cdf7d6eea5059475452e0021f94e0624cd8d9c79d31ba976afc2df3321d37a0fc18f6c1d080de52b7d4270dfa900d2c4465177ca8c6df4ce06686aa8b8f60800dd4f925df137003dd242786a82e4e0719949b692ddbd678ac2c4eb0e4a40817e1097eb105528242ec5b238bd3afa4c4152cd6088abe9484d0c46c10060c192881002962ba84d80782cd455197f027fb280c83104c111af9038599077a2b2395df0562fee144caa46cfb42aafc49520455fe9e78ddbde12562851633bc7cd4a0c58b5f538e78b5ffb0425dbc44e50f8645509528c4b6e4c414334af882065258e6093261944d5263b608702014461102840e53701146d91684fd19ad5414046488c228393ca8a1871a7c180aa3b0a480c068aae218461851669fb21355bc7e780a145bc228cbc50721d725f0ef736c63838205435a3051c441b6bafe35660648e12626aa5255008114c6dfc484f281427071da06ca606cdb3fd8911a650485514c5f50098d5648f64be5df2f953f8ec2cc43df4f7f409bfbb6a058dfedcde2250b12177fa990927f9336d04dca127398a0cb39fcb3d524f1c486a5372b1edd6510bb432731022e290910b8e4fd68f80b4162e1525d134b19ae6e12161d549a10b088a93450ec6c41a16558bed4fdb2a0d5feac595dedb74958a8a89b84058b4a63800787aa0e2c59982b7085062480402208091ddc9118aa3436d83608fdc1355ea86b6604f7ee88f80f6fe76b71e472818b818a5571892355fdf2649fd4784d0d28ffe4d64cdb30075922fba5b69538b3cebfaf1ea30b0fd2962c5482d66648c8957816e84830d1da5c297225268dab865fcb4811a89bafd86662e631599bb5915e1407eae62cdb561a548f1f6e41da586e8f127b4012cd3a13f89b30883c638604a16da8542e376435756864040000002315400020100e878422b160208c6435d57b14000c71a03e7658361608a320c96114848c31c610420830841843648686862a00e5ae59386029b46afb64e7da6f22d6354f13151fa4f15736d05a34970f9da4fe8601c5dbb867b29543457b81ff29d8b8b84f29db774f7761d345cf4745bdacf2ba25f086e3f62a3ca31407c1a980448b18a7ffcc0fc1f42d66a3d2c1882ba0c7dc270c0aa3aa52e92ec85bfe8724fca548fcbb53b5bf1c858ae91caa20fd8bbe00c3695c08793d64cd5dc15dfe4855044dd4556610789ef835c2b1733cd438083463e0020afc77986b707e0a9e369d894880331b605bad4f1b36e8a4e91675d95f0d6719e86d138a9554534f53fc793f714ea68ecbfafcf0e9482cbf8e45b215269cfc6a2352f2beac922853504e2affe74e1228d013a2d4b51dd83a9cf0906c676c08b12c99d64d8de223abe54ef2f7601b4fce14ad0b81b11f75ec7998f7df8197d8936505cd20cf9d9a0a74dbf690555c5408e32a2f93cbf58d9f703c60cebb2c472453cb45540a2927a9e5f03c72181f2d2bf770f93a4e6dd2debff8a722b8d0dd547ce186e65ea25571742ba6a168e107e502ed0268c464fe91a840f01f85715b03bc7e8f162232ead1debf04e2a46fd2071e46175fa9a70526dcb2fa15daf10d0956107fc549ab9792780e9967721ce8028ebb6284eac24f9a4dd6f11e7a7c461272387d13480a4242713c4f83a4a3be44ad046119971e185aec4ad30e306a0de7774615e9fc51305c9bef2d6a2a7111b985ea8c632142894d9c0582a08690b96d110e2104089f347190efee7c2218383d2a72d0af3dd80007627e5489119dc0a6c56084a7bbd5a44809acc322de5771e192266b60d88f1f0ed3b25f285860e2814bf36c39e063ed3133bc0e2a09132b50912a337192f352d9d11c840997faccf31756f7710e802b34131b65f67d2d914b7768fe51fb9b9163b7783e5213b74860f3d580135bcf5c62f987ff94b58c8bd79eadc702c273fd3d41f525ee16cb490586220af1d0bad90de459ecfc00028ccae8cb79c0ef1ae25279e886a01b2bdb60521acb4fc29680ad7ea97b3915252864f3f2b45604a6e5d8f3fa633194fa47d5ad351e82c3d1309701faff1c57bec5324f646a8a2b7c467cfd5931fed8dc2412ed33d690d7a7c2aefa759505739e006faada8602db6ae7021f325fc78b062edade3d3742056ce812139c1c10d62a088eabd8038dfc5c7e152cd758f4212035215bf3dc4b126136358fd3996f846f57080bd014dfc79a90b57876063e8cb75b204d58c080a361d2847ac8f04b44894d85d4848fae518d86272db1a38e8de5d131c6836f810782ee35419c8547a12c2dbfd36a5c98a3f23bbd0ae1fd392a639b2b1861f2e39b2483217c95dd7c556372b503226f32adcb11a1b9955095ceddf28eb9eaf49adc3593b335c281404d4651e8b91a523595ce7c5db8311519c280c8139697f617776f7831028ccff4d45f2ed18aeb9ab48d1d65a11dfc95589b23e6ea71973daae8c08a652a6acea9a5836ad75cc41b118bbc1ff825e7b0848561667dea33664b46109d58c80b689cabb27412d6f25cf2303106b9d24597b1781effb20cd7ec1df15f38316fb6b88f8d5941c6cf19cc9916be3d09c5045d7619246b21e7ed296760fd3e181cea8d71f8ce9ee3311a5a348394d5b7bc30cdf307ad4ec05793a2e7bdeccdd1c32a4af16ce2135b8599625243f85412cc85d7c39110347802a61f94367aefe77c39a1a2fab3e1fa7f7857e6b10c8be9ed72411d161198b84013e6fc2a37238d464d8b9509e5de356ddfe38c2530368710736355b2f70231d5b6d21b2c0294fcb4c93c4c3c01612f64a5bb30f9c54c5271199a883f6e4a3a73e8f96dfbc2a3667ffd257f88535e4bc52cbb926649461c6cce6bb133cb6e348189a87a9c386c11b50bb7e60c1e9df2adf18342d4a22a9e1fa43ba734734a0301fa2720858b72778d0f9c7b3ea3b8da10c474bd25b0f875559afc34e798da5c27b6d04ddb203e55ae9ff43064f88f4380356b92ecd44a8c07acadc64d674abe96bfe02aa384179d81dbe5502edadca92ef72762a118934b1e94a8b449b2fcfe6de1189e1f90c4310d1a8d3824050d291a747398f0eb408aa618eebd32eb51921584186cfe4f187d773517f26f26fecb58db0bbb8568df0d74602e4247751df43ff35b4e801c411c81e86158a6d1439fed78df52983b0630a75246479d820e458eaf6970d467a3e52a340d97175024a048234c2ae5346e3bb3b16c2acddabe8965efea808c34a38597b3db21896ac6a2a478a96d100128e96ab25ae5802229f0875c5d084b0750f589c97bb749ef61dc4d00818067b43295fa370c71612d732601af6c22f0f85d77bfcfeda5f477fd8034007d387c97681608b5c750e574087d09c54011de609b583eef41bb61ae2ca1749f6b9558eb454441c5f58e54ef4b59a8eeae9628719b95797fb29e43e66b32153beff263779323909ba86e04420605db8f02703ce9840368ca0702ffd3e885aec333d888ad2a5d8e565b38743e9d7b78742d82d1c2f3e95b0e6c0ac7ec8222737955957c6943b86746f4a254b9b97446896f39f7c5226b42f113a4d822b7d19404041a9eb1ecb70828b0cabd7e68dd1489c86a68a8ed101e421bdaa7104f8fbb9414c3b153902e0afdf77859f5f445381eaf70454e002b3eb78b87226d1e574d8faf5e6b68977305c2fa6325eecd3187b783729ae8d7340fb4f81b89d8e45171bc87a290787401c50d32d42bc631a466fdb08c7a4fd243f8f587578cd34e59645e76a9f3ca4f6d0b9e2a77770fd91db177b07da9102fdf7cecea4f7f197541b3810878a7119e5a8e047431babacbc54eb93708c8760d069d61a3f75c5355429584884e9ffe8768efbb4233069e822d5a633c127e6159b68c0946ae36d1bae18a33ec6e9f91b412a36245f3a8b052a55e929e085deb438a4117f39a259aca428a157493257d14b401360bf358b34dd0934da246bc79820e15b7e072216fa9f23818b5ebe16a03ec524883156e19859ca5496496d0342556440cda6b67d891cce600bd402ed3c6e9c03e86b321222c0c6e76bf720310d18658083fecbe49135c5b6806091033b4efc43de96a7ee8d32bd60d5ac5d9689506fcd03eb933350fb8848b3ed55be31290646f06a8a1eaf9720cdd226fb665d2e09daa763a0781a8e98eaacd3abb43a55adad791802a471978e5c64bd4a2dcae6d77d42dd1bca3674fd7eee7f84234442cb3fc1f984b808b011ea0cc07f19b0f3b9b2376efc31948344f3d8b2944936c3e2ed2829e9568321906824fcea5e6620c183bf937e5031d109c6429352666889cce77c0261fa0e3defd502548cefc42ce82e6d11cf0b86f9101ae6bcf102acdeaf5ea5b646827ec1ca9bdeaffb90eba1f53caef9a2f806892c263a429c89fa7e9caba6747e2acf21e1838def293b0b61f0258c70b29bc17d81bf1f39179298c60e07da954937734e255aafa4377ee6f610bf1ad0b445c0f7a80ce35755e0bd8a0633012154636204e964769bbdf395c75fedab105e8996615177781dbbabbc1d7c75dac61fa6e1ab32d685877f62f7804224f57307a4eb242a02b18529a80cb7a32387976d546e7599eac7e057d4642b8a93241c4f33f15d69bc92478f3bf2c1f7c46a926408289c061d09c4017f2ab5176055ab4eccb3aca7a258b53550aa9e19f4d89ff70df0578367117a2fe0c7fadc2aa7ad808b47c7b77a0c43701a708f623252a8fe6f6e33997602f0417c7c1f5ac8f706aa1ee052ba8bf4912359d7bc152be44c50b8c0a1dfda88f83ea956efd55eed05f8b10f7b648ae0c1d3e339a705b1b22cbc87f46b815ca7450634fb290432127ee9aa0a2f3617828cea67b555ab73cd381f1f3ed3207e638e222b0f12ba3315a65b043a2d876cbe19220c5e3ce521e7f336ef7828dad950f540bd7a348a48ae871c6012cb71d8c47a612558aef3a4044e1e07d080e93f5123404c78b58f594039dfcaf4957bb4a99966bc7f2218a23e58d5b05c7d0ff0909aed13be81a70fa2a3702c2807ee36c12ce0042a4b7d1642ecde5085db6b74fa0bb43934516c4a9544c1d5f706dea113a088990c5d610049fea35315b1db1a6ad90e1d2d77335418ff3369e737c91e774840c50e15e3ae9a482715a773ec1828e848026852074a92374530214534734524290f43004d40721a27b1c60ea6301a07ebc00a41e8550f16088050f21447b3044da8710a03d1a20e943008a8f03907a1c08ab1e2ac4157bae5d3e84e1da2f293dfdc9f338025e76d0dfffeaa47bc0abb24aa9815d5dfe042900d85dc5b4e09d12c59edc8e9b763816b23cd95b075d7fdee2825147ab958f408c5626cb5b2e915d2e946e98e553b25431cac110722daa3cd519ec2785cd22e6558055bb99c2ee1808b46e5c1a16c4a64f7aa7d1966c67ce0b7a4782063779aecb59019ede9e5ca4bb0650a52c35c76c504fe37566ab91637679303ce865cb3b646b64e4a4f06b075e738764e7f8d0dec63e0f90b0f9695fea69961c999b31037ec2de5e8ccb7a506f84d6d0cc3339d59f573efc5edd63cc0c4a4fb7fa818942629f16acbb227bbafc083402a848d901c3ad1bd3d1b9d0f0752b40167db65aa26bc9d085d691571ed0bb216aeaf36cbe22ffc0a4623660c16c5481fa607c1edcef2229a42c426ca384f67ff07382a14b1cdc6530ee3b55d6fa6e103a3362a7c3d62350f2ea2e03e10843f49428019de6658a11344fb0c1c3f00493e67ec106e97cf2be03df7ff43b4687a54f109c327cc82e4c636d6ab8a20292976c11f9daab10ed22fbf23a03bab76901d5f6ec126fb6b389793081b13ec932eb688456712e8089aa1a987fd55284024a9c5560b13f413e4bb13dbcad653c7bcf2d49c0633013135410cf991865ce36d5d47f835cf50825da6ecdc72ab8253f5bffed9dd74a1f9237e5419095ff4babae65222e21ada8a031f3f1b26c3c9feb05116c62627607badb5bae98c506542600b803e35e33b6e2f7ea59ef3208e5ffaa22e14e9c7f5833f7efa75abf84150397cafa2e4cd251caa5414035f869b1a410682b46f0f738dad5c3733485f2ea5e8c71793830cc3815dc69b23a957a913127375e5a3780a154c046bed70a2cfd0a5a57bc66176a25c5c75368184b3d67b77ec3d89b97e69b1a8fb013faf19197223266cbc795f7cc20bf7a0e25a3f604f5dcd24bac20df6902257e4b49551a85f306e214dac3d5ceae210e37064d8f6357652103d26bb121e13aa1892dedcac9e40d5aa8b4c30c4aabd0f0ad457434b859ae796af9c371529cbd958ea5a1eef75249e76687be734f95c0810526dbf95b06fb7cd5d1f0c0b93473d672357313b404c96300cc6fcb23a42aadc50a16745a67c5df9b65bf013a3868bf2a5c601a59056624b04fe8a92d945cdbbcdc9cba30c5a3529cff291832cd2d3fba07fa3dc630e97847fcdae70a01c333874ceb0f0be148d0d323097654b071c6ec1dbac3a4d0baa008cd3644cabcb5ac80162c3c4ea533e88bc9a44a5d8de765cf58a691211824bb8b7c8d134b73fb23df40a38dc36ff69295ab2f98b38ad9595b19816b069d142ea20efc870a918c4a1b668f5eef44188f1647861deb8553b266bed86e561e72af52d0f410eae012c0588cb0a1aa898ddd19864d96a05faf13db94ef782645ed4a1ec05ac33c2a31b5f790930885e424811b0423f8d7581d655b43faab2ebd373814bbab039ba91216bc7f40e55506c3d670bcb8cc936f5483eea01c8e19fc778f831b2f82e554e6533f850a8e40250b215a1ac6bde9470e932325589589d02dac0ed1b31c26c0b1a646a5f6cee52cce6a57ef6e9c03ff973134f192e9980b675fd5998335cb4f384afcbebfa6a5cdb0aa65a3076324f5ef5d2c1b2a1f469ac149c77ffe6e303314c78da359a21d08a4c99020c457105c5e22352e7865bcc02b70d26b88ca41931bb23f96408ba2f7d8c65fc2a80fa3969e0f4b321e04372e3ceab4ffe38d309d039a322a48a5173369522324a02ef4b9ef158b70cae8ab44fe8f170d7d049e10bf3e68f407d769405e2428fdeddb162e9b36e6c59691d39e71d5ee8e0d89c38c135585d1830ba93f158a00347eb05b8d834941b70328f7f37375a9a042b4e28ed5886020a500b39f278ef7715e120506853412c31e49f308b189e652bda94b64c69394ee90fa689e05960e9344cad5d24b1141d4445e37f157babc177dd2e0b5d02f35c0879d2179883de5d30e68a04d7ff3a316af74fdd2a96b24d37efba43f8a3c5b3f3a0028a6559c9c81d137d700bc6bc4c9b246ade1d0028c38736a5f10348c065786a1de8311c38633afaebff60cf83f09869d34a13e19c666183e160e98c0139961124779df9d45011b1909bec0b37793fd0b7efc9969189c28de8fef1cc93145bcc869b752db45bc4b3d9cead2a4c7dec8a6826e346240937be552947d117e83ffd517299df081644429686ed8f3baa39f12a214727cf6a2c02ab31b5320a01084ccf16123dbd20054d2d3a433397214cb4d999951007f3a8484b2575c6b88636d0de6c376fed4768052d65321a9d9cf4075349f1de5d91bf948013613db1ee4a7289dc6ea83ac18010b5ff89a9c638ff7e8005afec4b600900f9951b8dd3cf0ccc407fe4e255a668e427c62b23f803758b228f46b7c12033a2ce3f9451a79415013c2b2a43b2816c1e6b98eb7529c02612683cdc3eb24fbe85fee35ad18c4597c501977f6a73901a9a00954f2fb6e87618dbcb1726c0528f4ac47e47ce99d3af44e9f14e9df5ba00e6991c811acc5267d82f5a0079d966565dcad4ab72a05d334472885e4f9e4457e6b11afb2a79ac89d9b7731bc75a0803b34dd6961e87781b3ccd06cef820688d3bae0f50e5c30969f99f3b1111682cd1e0bd0b3a816199d10ab649ea0f9fae6411fce5816cdd3beb6acb273328f3e8d01415724aaaa07b24d1ff3f8da9b15fb767b41cf74bad2c76faa0f09543ed101d0dffd1be4cfcfedde13c0cfb5ef8276b967ce447f35527366580a288357f5d257ee9837228c9e42687d88911dc345b7e99c67276ce409b81a122e22f3f6a08c2e153a0be4f4cfa70b02e2d52f1550b057bead3512d495823a0b621677fd32d013f6e4d91c0a7665fa00e495f490da9e71dfbc420a9fe3b22002d2df0089eb3a27b35f254c7f150b282a86e67b44bea0e3877f8e42fa87a912f1e3caea602496c6dc7ba34beb09b4672e7b094008d5cf69eb6c3b8e111152ebb4695014f912b28d9d0aed8126ea959433f88076cc0e7d8928582912350ab359fbdcedf13a9ff0e9366b6916959cd84779e95b9448c4ed41d6812c74dd904b6d23ad9b7322ed6114256b24096780899fdd3bd50a101ff0ed4dc68a0a4a76accb4aaccacaac6259f44f85e1a2c0af13560d03edead7e43207ff5925dab478a1e472623403166887d04f834f7cae363102d76b857e4b517c2bb34c5bfa69033503e1407ae086ebd37d1ac6e8d36b9c9ee68eca944bf64a8c3bea5430f656f4278f9bea543cf616f412c708c21b66d6b49764e07941d138a97a953a3dbd13c715752a8e7ffff412e31b7d4e1ce87df9417420330aeb792ce226cd42abf5d0b686f0531264dd38ea76949143771d7d9f2d2278de33d60cd78bffa33fd7e0f9c30b3796706342674bcccac2f8920dc515d501fee33bf16262b7b91af9b54b542f6d56894f44b504d66067d276e0dfc58fd61ba18ff1e91df369cb2f4c16fd850f9724257bb3f36dd84e2e95dd8e2d188e8a68bb31a2ffb3a8b839761ad7c06ea56abadee7cc04b847b4bd90143321c61a447a5c089ca6fde7c836689f9061c9279d787303cf47546fe5ca7a4bd28b096c86cd29855eb7c31b8be001e4bd93a87a6d86edc0aa3a46447166093e694e13868ab9a206a29e24cedc874dcf0a18b68753c91811a98b6adda9b942e9024fc96b737a170c2f4dcc7caa8649e6e24a803cf8ba8457bc996ca5c0e531e4c405c3c368aa8854aa3142c5f443fc5beba3c0c05a5f38c1254ea5e008fe4e0c6b2a0ca0af9e4e0022c44e5730bca8780cf0fda52f0b7142649014fc85f69f1fb8c3799dc747f8d26f24e774b35fc1cc8be3ad4c7361f71ef48aca5c7d582c36a08c998f528520aaefdc7b133d63e0b029d77cc296183e4a7dfb10571600a0ca37d0c91ca745f16bf2e568aa1806b76107505a14158b1289edf4b3179bf48e4df1791603942931e15ba12cfead614c0eacce33dd350164f426b51fce0048843156d5d183af1e16a9494fa3219c4674b020fbe2340cb65191bb8e99f95d9d3104e0d5646392632b53d817b234acc8b88ee8bf6d36cc03715ae7af98df497f6f3141db909602dd5d910a4f49ce26c48013205069d916ff0bc93a30b2b808bc1adb15f8c923eb7a37a92209bcbe9111f58144b876a163ea6e737abb9fc70e98518bb8e5ad1d565f6cbd9ac02cd91bc3e9c4b6514e5781106c904d863bc67e63d27d057561689e219bbf7596db99e2bf96872783097c36138cfbb67f1978967f83e8da6a425995124a146462d9071f64b24ea0ea45590f221a27692b3a799c78321dd79867c40e87c17f283ff9b0776d6c32e6744ffc7e14321075c16d3d777774e683759471e4dc862601ba6ef1a95a0165b7061d2ffa5267f6d8d4058ee2ea1099e3110348471d41137cae9a50c67118f6218504d07d1b316358fa13b1687d7bd969a251abb882238f2ad5efe1e48602a6152d2725cf6211a8f4a39f820da9d70e83a6f9cf5e96cdfcce9c7e1e0600c83b75c01b12db59a6d7b3ccd83481b404d98d1b0f78907615b4351a5239897f6c8928af01c22c4ab778f3031c0dc404c5f12e4703c8b4c7230f95c1eb3180721e6cc4127cb818e29551d94954e81df348b2b867580434fc10d40ba3c2b711e4a6aa362572060cbde8df65879095d2ba558af4469268e57e5aec9a1cf13cf28a6506424bd10ac2bba63d22e1fdec21d80fb5f9e908d4649ac523b631581440a17c2214409c3ca01e6241a0c6de1556d0fb526b8d8f9ef7e7f40658beabe820ffcddbf29ac0e8521f33716ca6acd8e5f3b61192c62952005f1d08a4cb9406488a22f24ca9065cf5a1e380155e66d01da5175ea3fb356869e342660321531e739ea14995a8f1292a13a072c39c081c422c61f3c1f65622390b4b41700cacbd98a22d5b3688f749109c360a5fd4f725743e8c32b0523a807b8ac73b3cadff38c5f9212f260046095b2f5ca7e6eebbce64a6a504b5f25ce792e9a607034837097d156dd1a9728082a65d798e81f61655d090b0628739f96aa96b993efda4898db256e5916790ddbfd36c5f665d9109a0e37dcd9fa9488e79a2c6f88ac6552301296979d1a024c7e99c295a8da2d6d241a5d3e7c450752c52f8242ab64f06b5e334b9f149486053e51d9c91375309eebab6c30f11a04aba839a354452c518fa56922fb9158c7d78c7b0f19835232051f5c075178c7c9a3b333e113d71943efab60d5a220dc585cee1d2c752f7d26e57e8c7f9ee51e2d0a6028332e22e149d739d9df992f61da8dab45a514e2f8bc8c1e2652a1a3126122005ef1a3fa75a7b6c502cabfe5fa9155e0e059ad67c8b44fb347cc837b0983039f6b87024380fc895a03c6db1fb1a8e20d886b9721f3740ac6af13501386c12bfd201d7871b3c610b5ba060a133082bbb42db575c517e687dd3c4a91f27afdc266b63d48de2a4f9da705d796e6c7488c5ad46b102f30e681e7452fc28821f04612d0fcac061ea892cbda1f40edfd3acde52bc580075022dadc13f6526ecd6c81303f370ba35d8c9c24c85d45fda2c0c7920b453a616e809d8261194297abd4faa9051cd325e745336bc49f437e136b6290296ef815412348d6810bb6a7461f98c1a4b2390274655b4369314b9f9b333763fbbff7e9e0fb89b52ceabe9f695ad6efe3deeec56530a1409271cd601af1f3f911fbb12e22f980041e78a9776004122dfb82d54acd03ee91654bc8930cd3cd8086559dedb968213afd9dd5f09048e5323d8321daf5a6aea56e2e1896da4c208ddf54d1a879ea9fe18cbf541aa45d8efb5a50cfc122b178d9e52749d2b3fe2ba7158024399fb8a8049781c12691c78966811274ad392bd312c6d4f4c821b782151313f25119f5e7e54ee837361e39f526a7e8905f0d0dd7ca3d2a98a510cbe57782d3c39ff0fb4be882fec39c72646fb8dc87f4abfc6e550523c51f97b9dd628485748574886942a0b325694d144a729080a3a6e425683a6c3e206da663b9ea6ee8ee6b3ba01f9b20a96d43f846dd65e47e12d27a29ad228d61da88043e26f71e1fc09e467d13801108f8cd6610c510607522c1807b5e611b1babfc83c8eca8adde4f5470615c5404779c2bf71f15ab5d918b43796817b08ea4fef53d16143539716afc501902ec69c82282974f122d8d315468cfe58c98236f4701778f71330fe9f41d2c902c1a46a413467c5c6362d581c5d7423b2d9bbcc01944f97b82f62b06d48892e41a25c676cec940b3221b7df70559f5761ee6335a918c38a1bda9acf794dd97e053997b65cae2b3c00be6174cfddc10106fd4dff7ba2d05628c370000bb5fc0f09f0a9c4d2f76545f85870657855335639b1e3ef91527d3b4098a78d8cefe435eeaad17d1f08f63adff7432420b4b94e3b6ff691727382710a7b65130659679daecc4bd6656a4acd4b33015fce564053f85034d85b6996f7642dcdfe0a0abf8c6fb36464c7114cf5a2d74d30c4a1f4bc020ced54b69d32d179d9df1a0dc2a5f4b40059a30558c6e1ddda164fb4bb3c6e742a03064437a031166f745d3f218e56bd7a8efbccce4b59cb0c42c8c31877d4defd8b97597b634b966edcf84263f6a80dc4412f4bf22c6b48241ce70a60e9610e0525ba4232872298645c0a15dacc9446f4840d4f6317bfd3f577ca742cbc0c8d25075a6c23cf35226f59591e830f1af705a353a9b40cc6953b9b612a999dfe6c7e5f131e0aadd8efd91c32b564843d83dbc431baaf4207a15e6b4e7b3d4c459e7f8449034a03ad488776ba8fc9d644df09895c48358023772480fa527286f2aa3d0f400c26d579a1ed2a2b67d667a735b18bf06556d3752627da2429c93cae245aacbc149e718a08b475aa52304634eb2263845ea5260248639f222b35cc4109fa4acac6b1728e8edc3151f2333906a48705a087d3b062018a915622d77a8265a4dc225f6c7ccfebb32cbfb8e230633174593e625322862c94ac3449509733dd317f07160f2abf02262ed1a1fec82c91eaa54113484a8428cc1200ab98cb75a97bebcec1af05a0aa5273eca9a5fe323ce5c17f95772a3f357b9787e1be17f86b2a8375441ebd122c40d8c20d45a260e4d25ec069868291525387f0a5fe605218ee554a3d9d2d901d6f068337b2da0a9194bfd0a1101453c18ea3d88a9eb88d4c1c61101fc50aef4ccf04d72fe916d3ce6ab6c3e3d33972274e9122c2d6951d55021887d64e7130332090899021a2671c759ffcac84b0040111f2f0012f6576b4d02a327ef83237b9a00ffe996e0ab91e61aa49887828f933aedd58ec42a7549eabd2f07ac3799a047b311aad2aa119128a94342d0df49c9d8b8654489544b1960f399b40ad0747ed9210c330b8c7e7cca47667d1e78abd7882408d189c934064c67dba65cf5b186ba590e93080fd72fa8f57984b5b64a4e279ee099cd87db359207fc708a38bf1b807fe867fe8de376ae3aa3c5b4229354bc494d2197da0d1377ce8f524270f6c13eb64cbc01f75bfb995429d4cdce5db2c74bb29d73beb27b211a49f7cb0e95fd030071b3e79cb5206631e12fc1084a6ee4283a2af646eca47db564898165283cbc1740fd22a84e32ba7aabae55c2d7221b7b50bbc9db36cc4c74182806941cf27c7704f986cff3e2c174eb2f3eb26d54559938420f396d6a557f897a1c45fb21b88789cc85cb3c9d25a11335626a69ced70a5e772bf3daffd5f96d2d08fbc4ec46bd414378742fdd0064b5529996df336b1d81da0dbb815fb90e51037b681d4968b119a1ee5037880459959040a22b05a8adf1ae6316a39e9f1f68d609d40ce41acf372f74ca08b70f1d08588741b11e521a9c681fe0ce92a098c2521c30678b795a42ab1649186ab6b6422aadb2305fc72f00c631ac130ab6d6d8a6a6f19a28f531e9a00ed6de7ef266c3ef1bc0b876f7d1bac190cf402fa48dcd7b6f017cbd632dc245fcbb04964404628c6a2ed153c6d0a4b2eb97ecad612c039efd706c0846c8a9a5a7ce8ebdcf5e57510fd82eeaaad9088ba818ed248968fd4978ad6e885f0232d6071028ccb4ea364183f9ce670df08e8f5c59850949e6e166a2e7f8a8f6b323f75789aaeafc3403259ddf3ffdd144fb8d00ace1679fe1da25e17ad90046d2cc2f374d06cdbfb1ca2781b25dc7dbecedda6cbd150ffd506dabac1d1e38a31d0522a2a1d5401ccc6db063550fd47d0ffc5c4ec2b77c054ec5f6f3f27ce78ef2e9f13ddbce04a8c587a6271b554e20855a0b7ddf45d15d3f0fcc92fbfbbeb46ceeb8e0bf7b15721295012108b2fa587052a881534a811d0db1d43b4aa4c2c9199c2ceff2aa0ef5d2f7b86760f1f1c594ff5e83f9c92ca2d83576386f6470a3d7b6b32145c069c682970a8045f100427f38c435ea5165123c176c9679935b545919c445d8eeadd06e49a910b2458fbb379bde075519553e017d7d9b128e9bd4fb6978b34704dc76e226a06a6ce3d4e789ac2c16a01b3f4afdc1df6830a58df47450725c8dcb23a2d302011715c238b59d4d658d4a75f529156de0de46df2ad5de6902205eff8d6d6149e291cd5b5c75053e5db6a86f5ded26ae6eee2ff00ec9e235aa3a8061fbe42660c000775e4c7db09386df390f0e389c649072874da92023f1654e7712218467b2221806946988d190a004b30a1b26ffab4bf654efa1bfc4850cc5d8a0e954ab08cd435304e3a68d0644f229a8e3c9c72ae0f50492951aaf29e88db75e2cd42bbe4b796d28643a531e2aaf143e9a2297182425376ce95cee5f49806707f70aeedf10d09a855ae3d44061a0e0b49a0a40c2cf6b2075b461f9b6615d37599c6b0d0dcb34ecc30c66dc096012a97139e27e626a37689f3d818420f5a64bc5300cbcb132909894208895d694b9f99175775031039bf6f27520bb6917280f7a505928ac121d9b4bc938aa996577435f5dc1e7d86b497e316a3d1f2dbc6cae22301baced2588e12a8b53361501fb1b70877394936c41153cf7432bb45df08d4ccd9aba18e93b434a5eae056759dd688e7392dd28ae0feaed4a03bf97a3bc6e140eec5d43e0b7856921a2163c7f6330699d4202fe3b6fba2d58981522479e4fd689dcc914e572e913b9e7cff6d013b18585330fe7457060ab4ab3ba95cd5b47494688cce2f9ba787dbcc9451ce6a46214aa87eb704433b090dd85d87e8bb1ea633ec1cc88e70d058add0142c13685f8d892c001697fa53bd5e519bf4c330d6703c1245354602428bc04754d7c66f4bc5f6b162dbd9bd028d9a526e66d8a1443d922132c7478073ad75163435ba363da24d6a82192ec38fcd62eab9c8bbee572fb8a1eda7d4cb0521db2cad4050dfd8823e5c1068ef4e0829e2743a6b5ad98b2f4c96d478c29024c367f66c816d0c8997946adf474d9a3978b69f5dfea32ba39a9c462097701cfc01389c4a990d00530e855448c2fffb2a519169486a9e3e9ca6fef2b72e2969eb2da46d20f0ff4fc443d203979934fd271fa6935b4e06a9bc5d2a5b56f7a1b9fdb5b5a236ae72b46055a1dd26a252905e31d846de6f282acefb047e305605031e35771997afea789e1db9cbfccbb6b41414093939bffce9190f9b3215375b4ca6293e930882225d19a6e96c2cc328472578e163e0d68402c7bcbd3f61f4f8270c750c0fa620e3d5bb2b7b08235509e9b5f99c4e170fbff41864afd3c130863a98f2090c99e703152fde110c40b427c164134a306a2e2a30d507f4bbbf387232fd1e308ce103a6f40402bce80bfaf2ae96a441ff32b926f42f8981065cc2be520bda09884d641186c4c92f1fdea0a2c3c984b2ca3834fe1f15f1e3e78bcd0949fbc29773d5f23e54c46f7934c8e700a7eda532a5bda8d85e4aa5544b05c0e887621a627cc10b54cf5f6bcedd5c960793a1265bbb5b660917fb67a73fbea27ae60ea3e1bf4e1c2485c3d272c25bb62b77e9a5823e7ad1a84e2ff8b67066d4b239640b8af3fd289da7def114c422e471eaf43e8e026dfd53f747ba396f01f12ce431dfc3815d35659e74d9f21a4aec384986d57f697279a1b3335cf7b6bccc1887195a5e18cba012c6185a5b109e35b2aa406b5bcb90bbcf353eff56dc19d2a0dc1321ae9ac75d0b5dcec4c6fbdd4ff2d3a41b3f3a9da864c3139340c16bbcd30dfc0f6c62f8622c371a6986f3541857333cd7c9beaada81a8b6335a6627678d44f5b7b3e9393672aa4e4c24f6f83524fbfb733b98d01cff89cf32ca0acb62d9e68be632a02cdb7de176929ea21637bf45f11150475c6def5d176d19753cc8075afaf704cf0e4f2b1c549e1b3d6c9af4b1f2b624d8cab00d4083b14ad1abd927c9213f5231af2599dce8e17ebae6972ec9a154e41ec29fcc1ab5404ee5ee37be74a45ecdb7ab616aa83aaca40c967032c95d01113599585332ebcb257b025a0fa3626a5933e733642839bd796c2c9ea4cdca4ae889159123d63f882b79fec6f0d3e49ea087c7a02246011bb7d57034ebf645d57b690c40b40b0a1303ee80b59a17996e9383203deba8e0fba1912dd848a50382008ccff84a768f442809c6bce57b5aef16116dc9a52d0970c9d5c827d0cab7166d24b8e52b5b836e74693b61bdfbe26480c17e76ed3626927b45b6246f668222ee1ad8c1fa960198aa565e5346dd1fdb615a49c823c368098394cfae179a620c419fbad40a8e2043785408db16f793166c9d8b4009aeb21c9ae477bd0bdee257facc054b92ddf61a4b5a202350d48a0cec944f5ae01238fc4380541f0420189993025a1be1549b2ca87ceedd4e713ebd28a13d140e068ca6d6805df58847b071d5f1dc85856c493b4e7f207b43ef9ac99c60ecc49fbdd88d3f588dcb9541c7c7cb43d4f8131e8b6f4d777b8aefa304a01482f64ba82273f6acb6735e445b65e16553b094914c4265cbb956657e7debe681e8ade7e9b24fc13b7fb7192ce755cde0ef0bd4a0fbedcc4bd6716c7ee58de9d3c9abbf144208650ffd925c9ce074275325498fb526c883864a46adba3ff773112fa4856db59b992a34fc33927d74591a904e40f173449f4709ef7a275f01be9bdace34d8d973adb394c9770be8698a8a143369d882ffe04bb0f6d23eb01bb3a124945e4d7e98562d9874d023eff157c5be3620e94d4c8cc6d47b4c238b689d86766dc5f1deb251a8216c8c71dbeac937094869f3ca2c2768d31f5a47aa08f8c1048e7913ecea4a9ca37e1571f64f665afcb475ed2661d1a99b855e941fa4390f39b6b7303f7aa1736a39ac2c7db831df94e4463ed959c6ebfeb189b175e41eb4871f480f43cdf07dcd770c24196307bb34b2582999259e9fd6caa03065ff7088417b908f5f31b6fa44952c950e331e772026be601a183ce7d0b73c620a495e295b28670cf9a0a232117f360e0a7a0f90e6d60144455d9f7e2e00bad5fb203e6dac232f9503f2797d367829fbed1d653b9b0035fe7da8f2d361df5c576719d48d7876c22771f7ed16b33c8bc072f2781f05df76dd506b98c72ac8ad3519e734b36779c8600f21cd176ec49314cf2dd961dac2f6cd177ea7128339ab504fe64663a80821d10905de00f669de6afc1c9b5d20ba1e052f3abc8818d8093616194d5a820b76f688205ee18a35ac534b05c66a2a844c2e1b75763e9f53ec05ec0d30593fc8f73f956db42c1b1b30a14bf430e3b8a4f950d399f472e45e0d77d3682f47dd1fcee80712c8615136ecda9690d142ec438715a3b47d3861f9c80597062ff82ba6e36c6d50f24b328facd16c4719742f26b359f6fa821116e5c7460eb4eff2dd7f40b3f8f9ae675ca34c17226163056cf72b419d1e6ef7ad221451a2864bdfce15fb8b08104c8e7a561246d60dd9ac623380a486a04987c64b8f3aa5eeac85b8c403579d4a7be2a2f6c72495cc9c4575ef82210aea129fa407b096ae660a4c0435c57166a2c14458d1f1bb6223a064f1c1f922c3d807400a549dd468dc044e9ccedd742a28b236729fa1f14e539cf6c8e2d8d253fb9c48cdad7ba9081c4cdedfe888f92595bcf222506532a57f882bc914bddae4097d9e7b8890b805361dec1ee3d3bff41f612fd9600fe3372a521bc9f35cee8e4adca070b5d1d91f205c05597b882a9e9872f6c6136a6abdd632a057b94df348b56e8e4cda05fcf0ab6b8e62e87bb6147ce00e5edbfe9327ff31881867c00c9b7e0b396917185d3159a79002278de0f9139870da2595b849fa7803878f66853d591c1b5d36791088e54ba4916c04bf484cc515b9f95a19def9d02eb724e955ead1fed09f487b7ed3aa20efd1cd82832f990172565405d180633e04aef3a3b3efb64e0cf00f4c1f954e3f7fb64da40e7e39cbb5dcf22da7238b17db956beeab4b6ca1a45f578b840e64d9d29bdaa695ce7dedf6d4af74bbfc93cb7430ed6c472a2c371c05bb06816d8f7c1b4bb42dd1d4c8140e4fd10d3dee83c1dbda4ce9b53a1fdf7bda0bf9f06bdaf07f189fa9d700856fb73fdd1eddc1223f31f668c537a938b4b64e4afad0a3e8f6e7843768ed72845338694aa289fc428d9e8484882a706595b25ff943d311efa51e1008e9360eba0468300381eeaf7f76a0596974bb16b2a411fd2915435ada856caf8b48ef21a5d47f55a6c15143da16a75b3663bf01d3bb8fe7f83f4106e8268fecb70ea5ea76c6300b2cbd6b6c4d1813c30f7f17131fd14360d3ed58dd9ce3e390b794f58548c729d640538fb020dec1894dee8a2ef3c659e3ee5db7cfa2317611ea903709ed2710e496ed7da27ca6b225c7a49fc8d0bcf5358d44321e1e7e2d1b443702a63d7c4b820de73f03005dcfb39b94d97f29521c46ff80e3be9ab72532827fb019814a625b0349c85b7b38514eb29a2ad6ab30e76117283a69c26df05b765f4b04f21ac193cf06c3f02738cd280a85b943c411057145aea2f9baa9423e84ababd3a6ca10710bf0c9ee04161b84d8bd567131853b965acfe3859d2fd1db413f3db1d0d8ce9ca31f07b0ceed847c3b1ea102ba9d80b6785e80c9be65d05acc3561ab65227e4d6f3b67e618fe3aa3d783b73ba9f40afe8ba91686fecf53c4bd36ced105c8159facafd6787d5a1ef99ef6997cf875e2fcc6d1f31d3b0eb4add421e2d0437d232eda5680f6b93772b8c02ffe2625299cf2455f960b47b6574a7d6ea86e6c8364eb7b8f69e0a0b1b781181047989ebace426976e20604493489200d561353ce6bdcb30a83e51c54c18d813ab2337607481fa86059a37c97300c16cfd2e2e635de9c735672b88e6ea6da7e9bbcc6ba16b8a9086daf01fbaeea8e71071fb618feb60bbf61848439ec7e2d7f83d6ab4ec363827e8cd92f38a6396f373e68ba24dad0c4b53b0d09abb2296ef6f33cc3d0bee31433ba8909607d97718c4dfeed4b5caf8b943f677abbd3fb85d45634ecef6bfd4056fdbaba7bea6f287f93e09a9e98bc3d5172b16c0a970dc48dd66d12601c381c6463d3e92406b5aaef0564cd1148e383434b180fcba261c192e5df25414c944f796f63ee56070736c1d0e920aa25d0769ccaa9dbad8065ad840936b6a4881e14d8dbe06dd8e515dab8119ca161e04aa23f23d94bfb27ef426688cb981fce0e761c0068d3a6ecedf7ec6a06c702501a47c5c992a48db13970d0faaeeefa9163875bed076e1d9719a8339f432eb8b863c0fd4cfb4b9fe9b41a5af40b4d846afc640b7aaba434f57a0825126ab6fd1e5faf3119a2b87eb0ff3bcbb95e647c29dd48c3e7cc5a8d2007760d089a3d99957c0fb7bfd1a1eb17858ab167c772240b5202dbd7497a0eb66aee4e66bf1818771f6f62e235efe5ac079575d0c899fb3b42f9a4057198c776d1ead51bc9f03fc2c740b95098945dbcd7a2d7259489f208cd9a201deb8354708c5bfc6cf1a0c57a430f1266013cd936088e1d568b2a2d5af21e83eb78e5d898f118225fcdbe97b92defefa3ea4f7cd59d17f9af985106f47129dd60582ad85ca9c3706679b741b45e44e3b78d8264ab3d25be23ca38ebf3395aa59d9aec36af0dce85232b47576c22c1334e42c3ac68e3ce5bee460228bc26d029351e80cc3506f4464e75945a3d9d6c7550bc00e65d8f8acec718d411aa6b7dbac33111954dd2d08be545a276fdcb9cad3da4c3e576ae0642a329772db8520496b01c5b0823cc80114f99e21fcdaac79cbf3a73c77b51dc8e909b9c3a98633ae6f4b6b9414bd75a8f91e59f2bbc8d2f22cd95bf737de1c01eccd5e7440a751b8f9d2aa5580a08de9827f8d5de101b282b7a83249976af526171c4db156b21cc75492c48a226068833e663faaa403744748a002e5ca2e8ac7e2d8822f6d59c378870757f76f3deb5f94dcf783f5e5c28a3950d255c0be8c920258a478dfe989591ae13ea7f008b20cb92ede7a0686a2cee4af9d18e1c02b9c512b71b1ce7c311e0b9550170ac5e868e0f85bd4391c1c8d260940be17349e2e286dfe4663330a5c3bad426565ea28654f682b8c31f7baec76e342fdf86fe58396b44f82dd2d3c636778e75270eb1cc9486f79e30e574aad45fca244ab3605371940d3417a3e9f1c1e6465501c96baf3537c0195de30bc728bca7d4632ae4fd1fa0cf65037fc30243e30b7cdda1f7d2ab4d92bc634465bac944705e6dbd63fc11111174edc4502d2deda05a965d4ab429f688c09f31e322837e3866e96793b29cbda12e4d3b274f25519678b0fcfe3c3cd53b7d2443b5c262447a13166e69f020925eb7b20c9f27eff5acf3f38d1f1d75ab5457682d420b6d08d594cc46f5855234c236b7ff2fd459e2ded24e6cbc21cf585b48f049bd8db9f1179fc8f156be475f2b2929482865af316f20005161d64000a6c2b481005485b991626b40dc97690ec6eb4cda0ef3691f4b13f9116841ad688101511539818f268be9ad15bfead8c16dfe574034789375cc8eaea649d58f5914133599073168bb724e7e8c54cbe5b510ebfccb69fc7227e7fb01710b0a51c8db4b059d5b60d5730340b7292229e3caf52cf6feacd8269f5ddcd40da952256e834d8d0303617e58b9f0443b52f682c7f560be3ec4e01d0c08f3a0c8579329a3231361664b796296c1ecabe06e1b454aa1ec84b71bdcc44b9ca7beea9cdf1ecf25ba338d2d3885e474478f07e8111799df2cbf03609527305b7d149bd0f750e9ed9f754858b6a3816cd98eafd35e9d1076366003215ecc7fa1a385c1c8723373af615e0a4fe020094036afd70218f81c8008471e73a2ce8f0a45c02220d101d7a31b8c50d1177c4035ccbcf192b9a618773af1d2450db21ab58c8ca7c3463147104797b3859b81c5b81dcf737c1383e2920611b826d5cbef306e285957de6da7b37989537d4f570bf6762e696c7db9ef66ed44322f23d03c7676b1757fac48e3c835d3e9cd3067a6421d11303806e27a97e460404beb9b8e30662edbe256ca5532b80035dadf28abd17d26d13c2618d33d8753cc621432556213bfcf3b49a1110c70754cfc1482b2f86cc62b55a2d9958a24b8290b813bc4b9e828021f204b77bf458fdb30646cb1f1ce16be991686f9ac5c00a152bf599fb0d81d40539f004fff890e074cc3e9d5d81eca06b73ef85533fb605aec5c165c2cb0a557aa8f810f197b8845082cccd28601f18057b54a4f9c35bc14021079e270d7b70e6fc459f81a53fc1f672a94891b713406750575c7866eec9c8851c631d90fed98fcd772ea1956ed0b53261866521a84e7dc3b1711ee63af8b600161b7072704b0785f4eb7b7657c22f7b22f478d50c748ab11b7ebedd689738eca4742706e41af9113a46f1a511d121661bc8f35e39035de1769831fef1b8c41ba675a3832741b05d9ba431b405d987e1e5976654beb4838ca5a0ec005b0afbf3fc6050bade00208f2e391a2b4b39eedb2e520b641e516f0ce4121a1464633d4b578dc423e987fb5a82bb32a296c91350dc8011873311643d9aee51c0cfff9c90e1d84c00ab832bd7afde24941aa2cdf4c166729caee721004a1324e17e2a7800f9594b691de8533410fe4ff7374fbfc98e702acfa41d27f3c95ba651ab41677729ba349b4251688462c512610a4eed35cc895d800abd96eea83b657426b5ada06da0b3ac44a9bae2841fde305116e3def23d6dafa2809b31424d202d564f0bef3d47977d8fe4d0e69e687684d562c8565be07b4470793345935156e487256514033bec90af4f13d2bfbeaac630aec0fe8e3cb7ce7ae91d5580352f4fcc1cb892c8d154b5b6fc416f135bbbd84a2547711c090614d7bb9ee011c2a011bbce5a00c232351883b0e70c7b66f24d764c5a29862301af3e45d3190e8bc1f840b82bccd9740e9f706a2ef10705af3b8cbb437470dd8493409455d195134098bbd2280634a25c9d45ef61b6e1a9e57bb721038bed3622b531d229f9c6dd91a7a4ef02b815d179cb7b574758e1045c5171e7638f89c2229ca6dbded20b1ddbca333ddfa965d7cd4328b5a9f9f435ab13a7031a0f032251df52837ceef3ef9cfdf5c73a1ba555f5ffac8bda58462ede4017ff0d4fa2af7f94280113bc55fcb592e422d421d8824814f7b47db3f40511af0c08898e22dc33f56a908f7b98fe4cd7bd30336e94347b53e1f80f2e4aec4a56cdb6074c94dd4e7bd0406341a082f3af40046ea3543a50918ed8257a8232ffa021958a72f3eeced35114ec75529a334610b75c4d07cdf19adb49ad16a6ec0b71fc44e174f0654421d785caf8615d0b1c6317b73219ed8fcbf800ead8aad5570d2498ba125e1fc8df21162d41d97fd6f717fc3de8b5f3c5ef38fc6bdd0efcf61eb6fe6c7631bffe285bbf8207d953d35620e4ce1eb180e61757d52ad8bbe9c10374513a46a4a076be9cea869a682a0036c3b6b9f2a51dc105628b30721e5e6f34ed110d83ac09d66b78e413e80fb3e3af75a001947a9476be50a0dc53e6d04c2023341bbb2fe380642e645a37ad3f182e95872f5e67ce601ef05153d8b1a1a977b8a0508675f90841ab29850ff38e43d5ccfb2bcb9fea139401396d0427bb7657fa90e9fe5e480cb4454b26bab2284dde8889cad651e860020847348cfc7d44399a9938366da5be65fd7b5c0e415bc6666bee464f24d6adc1cb4438ac939f8dabcdfd1c220e25ef263358bb413a03eb3d7f72f0322f3d55354771ab4354faf3c884185717939c4abaca647d116beb5e550ae0682988e55e825b5f33dd7f4bdba4b5cbdd0729d333eb5569350ea746e0f581cda77861e21cb07cc0234b01e8b00dbe3ee5c97116c7b34e6cacf0b9c6cbc01c9dff04299caf955e3ce4e0c2f2e3092dfcd75beeb56de158da1430a8a566f1a81b23afe1c32c9f17dd166aa05e2b79558dcd7b711216697f35645158cee42e4159cb1fc1eb3bfcff4179cd300808a71a984b5aad2603cff667ec856338feede731c0f946c898e88ef0dae5e9097f68c4c9ea36568462efca054478feafa020b8eb6feb1478823ddaf34f303c2291a9e65f7b31d02c39ca0330d34904219a24d462f4f918505af747f5e9618cad5f325cbe0b32828a644c6ce79e97fd50050b77e173ecce9d81cecc410f31dd2f51efe8d2272b2fe921a6975da07348fd378264b31ee69c96ca36fbc200e52f00ab1aef7715ec6968663fbcd04807078dc33d01b74726778e8fe4e055578207bbc70d673c3a6c024a10e011c4212021f2868bdd5e3ca66185da5ee2be436136dcb09d1148e42aeef7b38a538c71989e6761a86fae647fe4f65e68dc658644636035f6c721713aea01aa1c31d29a506c5a366eac6e0c2007ad18b2f0049d81e30830fc48aae84b4232d35c6f94be74f35a301a5211539344ac58d4036f7197a5d03a67710835ecea52918d842276aa362f4342333afe15e00583d9b609e6ab27a5bed8a2e0170ac505d1cc19d4bfda01a2c7727e12bdc7098310d0b0179ea267f7dc346530847472defe5e4782ca181c32c372ae14ef95b54932314788f2c94302ed0dc8a6cc667d7e883b67d1a58a86a407a1502513e5c00d43d5cc5584be7d0bfb3e9baa6b9bd58c20a279d637d9934bfc96dc337f815f19e9e9e22a892c99c6631db9c295c65dc3a92a034455df6d082daf44cbe6770dbbd3deacd1ab6cf26154addc07d31ed9be8cbb8af1d0c836d7e3e732d7bd28b0d7b5a05150ef6095ff542495d82635494fb9f38d049c4e1401e8e283919a617068b2a21b3bcdb31c327ce8d3c95910ebbf13ed6534465e308e3ce1ca4735b2a3a48901223314b617e7eba40008023dc50931b361f8fd1b608d95d9012cf7e6269854cbbf8d8c4e27eb9114ae6c2aaaba55906b8b9e8350e7e5ab27c13668f8971fa3daa67516d89325afe7b5af56f89ea66ba567ba9268ac2079163f4a8c11489f1aa7263f161e05dbe5f83eb753e999ea8b9e75d03fe971d299259a3fcb95074ea10801faaf128af7ad899f248de07f58a8e057da69738bedecb62c6278e825f99a4905de699e66619837752a4c8605015b69ab94eecbf8e8a7949247e6e6a197e45a0b21e06ef356b3884334552b4ccb4ed1f1ca53149b9958db856f1cd0d839efa8a5c24ffea8486cc7a630539d7acff46be902b008751431d80a34620008774fef012a91bdcd3024399c01a2901ae37d03cb15c097a0ac0f30ca3070b356123bdc70d8c24c985f4865396b09f100d17ca2c7419829f1b22f0cbd465b71375ee14191ddd2885e1cf4abc8ae8605182ed066d428eb8a971e3d5e54e198181b8f9f378ebd657f4d78289fe9d8c00691e2e95cc5effe2996222e00f034ad3aff568e817caa305768a86af222f98130d0b0378c13c1f5237184db8893a48a8f00067edd3d70386ba07c30180c1b6655ce50cc0bc05242cd68e022cb21181b60e292a3de000207c26d5fb6f537770e47cc784dfcef139c311b52485c05090aab45ace043d242a2845f94c5e8d9e35e15ff1e3fc067dc734a4e2044ba9c5caf2c643242f400b56b4de4009694fe894033ffdef63f5d03a6324fcf24ce8a20f6398270a7eb6101fa8a615d9990b47d589bac5746146e086bc03c94142a647869beb5c058a76f0a7e2443c63a08aaf4556589328c0ac8907b2f3a11a9d1bb71e09636b683b7b3fd48ba01ed3134695a557a897bd5b40c3d541f61aac95bec92407182715aee202a5b8c6a3b1ffe128ab63b8b6d9d2a902e6c4f9e019f7c3847638af3965fdb1946aca05680f6ef30bf18d4e04ad6c0eb34f3716569cff0ab372593b9caf959d7fd92511c358236e8a633597ad373055cc32c70140bd27855c8c21e9ad7668bcb700bc2030afaee50b1515a198b798bebf9e664e0c15416742f7dfec2597460f68f025ef547fbc3a2b151440f6a1e765fe91bf07c6e2cff4e4a2de236c1c06d0c3bacd27fe473ed44a8c5a79c03b9c1b2b439eda8643566f8ebaf1396d1c3b0e70206d088ae4175d0d7ddec4c5a73b24c9eee565f4e28dceef11275e3df23933238ac1ce389a2c55098e564e039bf153cbdc2a77800de47a93b028faa5be318e6ea4a9ec32c2141021727055ac5870bc8be5cb124b1009536c538c870571140b7af2f853ba050bb7034a61a92c4db1d82a1d3af50f80e052fc0bae9603e89969ea74c10c43d0162c82b5986c6331312d018cc0dd8a857daa1124bc4ca8b9f87843e29acd7817b9031201bd09c185aa5d1616359a0899d5961b5026649a7b0a1ce41758f128507c788734851557dc44aa534816b6ccb708613ca5963fd6091c5436c7e045283db38666399a893446285ee86232bd31c779f15b5e53fd5ed5fe572d7c13f1482d982da02c92df03851217ff6b173898b8a9e50545e35b80a2f705aaa6778b9ba2e7a6ec81c22972cc03f57a577706d965e1fac7c623f29bb7c12ca7cc8ca15517b33daa5e7d68524d7795190bd59389c52cb20bdfbcc1284af07e633af50ca67ec95bd4600da6255af681826db844fa53893d62464e75770bc3f4cc3521e7d28fb5d28c99bccbe77cbd8d5059e7c74b5d5adb88855ce8801da09344938bcc2ec6b3a1d656ebb050ea27dae9589c4356eeef863283d3ae8a3a59ce862d0268607b19a0aa0650ff9b91d6ed3406a5c32f4f99c6bc8c6aceb6e6f86cddd6f6a39b9aeb90c7e4835c971316dc7a2dbed3ba301fe4ad65d3867fb2d9686273de24c3c4db936cbc4bc0bf1db6a814591083855ebbf03819be530fd088edd0a6fb660ce3aba5ea1e7949ba43f5549b2169da93cec0f12ce4fee2918a88c49ea76131742a9577375424814f750118fd2baa035042181a61cda0b2fe922cd8d00c60c349514d0b0228867f1ce0151d152de591e04911aec36918b026f687d2653ee2195238a176c5b3c15ad9aad69284cd8d18ca8b22115e540d603fd9a4689ab0a815b01aab765392d7e20f0dfc456539fc32e590858cbc5383e6c06dd54d4a310c2f3a3555340f7f8ce70dedfaa6f4531f94c9e8a6d7d39b3f5ae2a12c27babc181be99b07c2246b9e6828ad3462313ade4f97ab9a43663dfcc1217c500347d40955766d758b69a4878985733d52fef4a0e3c9e8d29fea9aa773941a1e3b75da3cd540d4822f2452942bb72cd3975b7251d4d3d359e9cb11abdee106ecc296db7c9758931811d96d1aca2b90c8b5639f3ad32320174a7c003af4fc5ac47467bd38ed2eeba7bcf5693f9b3d2c7ebdcac62893170f42343f9c0bcf2339b71468bf022b0883450fd088ee00c5ac9cb76a0068e7a9c03bbbceaba29f2efff6fc71a72e23f8fded792d801220461786df1ef332144fd2056385f08334b4bb931c622de7eb7f732e6c4d4e3b36e841f774dc90cabb3f37b3fdb70c1799e3b18fe1d01bf9314f49a82f90ab1eba3437a3677044b2f6c91f935553e9af78473fa2cbf584b186b3dd1851d8fd9d10df6ebf30630fcb657940107d2549010fe2a7aea49ba3164f6ce5ac2de7a243688e8ebb332acfc2ad735fcab33e1e2b834a736a0db78092f6ebc1c4c8e146d086bc12ce5a76a707c4ebdfbdac91a078b20ad445a1d213db835711117201b3b9da6e3f33aecadea19cf5cace12c0b5258e13d094385669f32dec36c3427c05ce364225baeaa2734f0a319cb9f81937d10e31bb6ecab361a7a4536a92abbb9a773cdc25ad519a52ac4f644aad8145cdf0c8b6256434a6ff89f5139134e96e293424f358bdd68e025738c35c937616ee21dc28a00390323e99b3189b0b6a827e543cc584cf1d2dc80bad01a1ced6694a634f164a4918d7b4192d0d209f8ae62e75ef41ec32f3451487ba8338c2c387241ef5c079f85f4255a67218c53a2291a5810d0889c1fac6fad4519572a8ade3622fd11387d415be53dc845e569a217e77b59b249b13fa78adf4c75850f72f1274c29deb5d88cc833d1b3ce8edc162674a867efb0df893eb4c4a9981a7b131f4e963b309bd34b802114fa33a52c6097ea5834070860f7b8dec5aab2b67dba50cf71e0f8e34cc4ef98eeaddd3c6afd5014854f1c646322904b4bce87e4307f483a8ecb2c9d192e35f5922860c911b793b1389b878141b9b56cc647656b09138d7e94d97c8c500e8656f00b654620bd35deed8689d5f0c4d9c6d8d8505ec54c7103d64205c70a08f9ee47aeee4ae44ee2c37ac81747259b9d3dd6aaf4c0ea6aaf717ebfd7f49e0206d0ebcda8f2fc4ae72dc05c187434920d8634be9188a0e2d06d2395c0db1cb5e30b69be52adc27c34c04cb8fc65ccdde25ab5211918fe14d664ea744d15ef9e52d1936e10679f34cc73143877f8f65822b6ba870e473f55bed2393fad7a475712ad392158f5eb4ab9855ea21a855e00787349bf85f487aa19c37115cabaf1cc80a7abd6710e580d10295d99cbd727544a28dd2407515e2085caaf7ae06c8a7f0d5e1b335d8f5bdad8791388cf18b245096f820ea810c4582739d3416f4ee9572055748dc265cfc74386631e739146c484dd73e8362eea5211cbce68bdcbe5bd78cd9e22536d4b1bb52b4b1a2c5b60041aaed2d47564b9448a994e07889128484fca273ccaf1e8bf660e829eeba08b20ca749456c78049ca7f0e48435044ee8e5f945cd17e5a16658749029aa5930282523c567ed4cb3015ef95d3464c377266ef884f6f2d3bd3385ba28dee832e5e52e82938f69ad70d46a67a19612fce73c0334f68303e22237944679cc33924808f18784c58d37a4a67892bf20d54fd26081b7561516665f266fec820130f8603198f9c78d2da49284a829deece6b7d958c2b128b64721fc53c2979bc8f90b206275a3bb9967851db09d737488438b7c9146560e66fe5a0d88639b08523a52f476f8adcd504966b12e36d27cd828f1fc765d8e9c0128666fa4af2fbe078c9c4fd0b3b97c465f1c5f5ce623827296d82388d67c1020b1828112004bb4d6e70c02d4ffa2b17e5c6bd81fde6d8ddabfb130fc00f7f75e4e21f4c027daedb051095399bb4536b9bfd017dc574f88645f9cc52c7ef4826e4a894661d3a8ecb248593c7da13e19064f7247c485078981e304992aaac06d7ed88c3cdad69d06bd7495ce4d0421c3f1f24297349c8c20c1098631511e8509cc6bc080c022a8896580c7bfef118697047e05ca92b12383308e42dd64a968c6d3917f73e2a7de9a0731b502455bf35a362ffcdcbbb77cd5c645a05cf2cbb926afdbb3ea2f42f10987da37cd77d966c158b92fa8006ded882a2fefc46576f2ab8fbe57fe49bafe500b6e9f078b334c2f3cd523d76987818103a1b9ee0cf9887170ff3b670639a9caf1f63769d5b4a5c3fe57d773acf5b5e0968e04d7b303188cb1c38f75e43a15a5325d8f43bcaaf2595defeb44d8a5519c88676436c01e1a2960ef0316d1dffcb7819c7d0721ea38097f06761197da8c5e3bfe26f8e7c9c2cae00028304c7ed4d0ad78b61a236817c0e9bd2bc6fbd1b2c921b4e068e8aba4b1da22abb3a0d938cd6aac66caad59136c16ac5694f548e216271aba1abc59672265042d7f04b33f672b622ed6ae8591dada307b0d2bf81a417f0d5a7a60db9337205ce5be443917c01bbbf499ab1bcd9d4731e247a11a4c8bb5479e73d316c442ee910c22107c20d0c0b3e7c26a929bf7be7d74b01ca6da3b895d0a4c48c77bdfa6227a45f6bc4701cfefd461ea1724ce9bf622bf12d55721e16d9aee41642e4c312c4d41bea16e8b31b099234d4b77198cc43ed2a26068951da9e7f92c618fde0ff23aa5d5568867a6ce676ae3cf28c307344d6f22ae30d4041c5ca1423306bca069c2439019904dceed21a9a5e1f852ef7ec36c9f96959cfcaf38129b70122714edf6f3af9a6195502430294566945a001aa23e331b9d7270435dc27e960d3045a969f4220786a65bef58251f3254e3810ac15b0ebb67febcf821b94a2b1f60dcb1b34dabbd5b6023365c08722b9594ca5eeadc4349bc7afaf40d9b66987b00d4cc9249098c47c98d9d391da3d66726dbd7d574d51b13345b33ee835d3e446b5f04061aaeb035ac8bd0887aa40404d0c1148f5f677e83140401d466e75f312637e889d2c258979a2abd84e17023e1939ecc40e727fdcae3391c1aa4c338424739574fc09ebc324db2c6fd7ab1bb6cfba3b0d9c2504e3916c0f345d620d656ed44dcf268a4bc9135d26a9df599e86897855acae424711636e759bd6d2acec238deffc8fdfe93425a57a98fd198da80521c13a63c2f9336543d2a5d63a2467701d8e5f548e164344a2700268edcdda82314720655e4970f65b8d0d41ca9c478ceee765a62686769572a0a5fbea8624c966858e9ddc7df6935698a7ef134f897c909901c9b0a626d090daa9dd027fae72aa0955ea0b04c8c2938745422184c6ecb8626a5cb7f7905e0d8a0533280a6b2b48775d75c2361e684d83db5f10fdc34a5999ecf368d2607692eedc4b179364429af31426e5db0e170a05c53d353be34f307738d54c834e272eae1f8285df71de4f9ca47ec22843312a94f1caa5ed239c47815ed161fd182a3c4543ed7ca20bebc6e34825f476eb3a07ec02ba6a344168b369f513667c6347e11849d6df64bf7cab675e8c66bc1bcd836e77815acb74bbc1bcbff23b85fb4b07050858390544431fea58b3201c87f0d87ed5b6f6e4dc8c1adefc80a7bc81e05d04b561414b7f8c8c92e66b2af4a236dacc620ca282253fd3a7935d6783ff7d8470da7dd2e56615c10edc72d695ae50ca3a394efd9152ef6557499b02f1a7b92a79ccb4c1688d7d82a70efcaed17fb418a50214e1d3be3dc526443856ab32649976e519cfa9ce316e7c1a840c1833f2b354227602817fdb058b779c29dcd6fb698d58476974ce2a0a6401abaed80196acb2129c0ffb64775b62e3e8d345c27eeb94494a0e2900b908020cd2dad96e95836a9c1c0e4908f9e4b8bd46d64161061901e222507ee5e6144dd8a41300b29ddec9648f5ccce6dbc1a116f19f1d1bf36cc5633724403f3aef1bd8f5083197fa76479a86e4a2c3575519861819d39c4591ef22f6cbe2216ddbeb025da247e038a9713df9c35ea6418ae841c65cc6d274c02bdf99b71507ef6240859fb373aaca372e72420614e8c818dae71acea19674f2c116ab474eebfca4d75ee687614a5d9eb6b5e2b5d37f5b7364e4863312dd377b7151e6fe6a42db72e505da2d299b44889c414d7cfc5ba887b03cab5de769834a2d1042f69878fe6e4cd5d805586faedd746762a7a85ab7ac0f382405105159349531e19eb6a8836f95471b8cc0e4c7c0c0426bb2ec9f6a089d09899a517d23bb479b4793834c3a09d4c399d28ffe137909a88f82c8cf147f880cc927c212891e6faa0d11f0180e1a03c88846f999f23db6935b87d7e7610251edfb50a3acc3ef2d22d3d1c4c28c3df760ea2655170d4e145d69a655b16957b04640d46048fcf3b51d6c7e52cd050ffb88d0fa02488581adfcd548c1caca2085244e892efaae153dae0517ea18bb1b0547227822277c2e712a79dff933c0993b91544733ed97e9c9e5eb002c2f92828b691a1b5694aebd742a9d3bc90e476a1b127ce82c41384aea2522343210a09fb06af6db0bd142219f8ce16e21bc76065336922ec907c21695d7021507ef34e2f0a692a1286504646a28f26d3539e3c9397a88c29b4bb5776d07178e2b991f5e0c91f0c211eac258fb6cd6555a8df09c79fcfedc1104dc9f3f3f88524d160a76cffd6f76bd9e26fc4d6cfca91fbebe9257672c5f8f6efef99177d0181dc61e135f7421d06fc93f3e8cc83426d9db2abfc60b9ea232076d9673ef847a1f50781544021aa8123d826776c8d37b7d77a345c26d38be0f0231d1996952193ed5d78ac157fbd5677c78e5ebf1e4d3fe10e854858074ab3db5edd82bbe6560f27c5f11b8cbb719f11029bd8a7a276e1c54e6447032a73ca7f5c304ebaa20e85fc9dd5eddfbf3d6b1e5eda2a22db7a17cefce7b7ad67f3149e2b93aec54d144c30e5e310e51074bc7f1077ec380504a9cdd8bdc2d4012420aba08a9e738953c5814d6337282f7506fb11790adaee1222f79652a624032b080e089407b6c8e2909cbea489f31b1957c555a327304fb827a7262b65576f5ff2e84f16c9870ed45bbda172f5566fb5a8deeaadde50399bf370b93ed8aa3338ea469fcd7100d8e18e21eeca585fe0274fd7c43a9e9f5e3fd3c0569f6628d7b7a94f0b936b6d82862fb97ece10a7dea187fb76b91f5c21bd48c5139dbec382cb9f3bff0f8e07b2011b9c737e1401946257cc13a1b6d6ce635d99822c5deb11c99a7e2140398a2bc73740da72b89e12a13617fee1802d07a63a97ccbb1ec876a307c7bbc0ef863f22995f3dd572c76fa806e882a71c286baeb4224b977cbfc68335c4ceaeaad1d9c6962bb317e686f80dc97c8d1f572b995fc9fc09abefe63737be592b39f398a6ac7f85c71b4f1fbc217eb78f48fc863cd6df1095791be2cdfda67f4394d9c6af1eb421de5fd13b14f435af217e41178fdffda31726f77fba2126bf19bfa5cf8a4f0bfd86a4acdf86af011e6fa6e131c9dd1019395c89fe0d5d997bbf219f69f0dd9c7c451fee83f249f9a6dc72ff97f4e5fccad04fe737a32fe5fe9ef9baf31b1917ddcd2699a6d16c6c62b1ff39e7444d94877289d5466da0872e71da404abd18972b06f3bc5edf7a679ab26a6bbd0a4769e11f0ed85e5874db8c2e77288e378fdfd052ee4f89e357dcd856da4a1e5d37f66dfc1951e868fc7423c852c523d4ca4b3e5b6dcafe0377bc31e4fed7d3c81ff23f4b9f338a221e9860e002258a0d36cfe2091f90b0d062892682b0519debb08de90f6e28bdb910e4eedfb162d3547440ccfd45b048c9fd468e4ca7ba39133a6a7d3f65cafd2d3c631a88630fa6b8af9b331b1baaa33a1baa6b20fded6ef80d26b1b3bb8a88212b289a7234410614baa42996c82aaa80a53052c048baa18c3062565862c10a886e5822880b1c4f0439912504a905806085284e50f0a58c2b402f70d1e2041333bcb092858ca6628704183036f9575e3183179e747c60ca27c078c1edf585f60994866e364ff76b2a4a01154136533ebfa2044b701b2861c3e6428c16e872b04d19802aa51576c892fb9cd8a2030d443a143ba3a10fa4c4c0054204d9c02c3609d4dd20d86561026282225eafddeeb57b651afdc18be7957bc10d2e4c2435b1e3b284cbfd437aa61fa11112e57e160d9ff2e9fbbfe4ac0226a861c9951fa6d8c1075b7f4ace36e0430bc4c8814a2e8827b6a031bc2c772eb0504b6067343b524a7fa4f59f409f7643b1b57764b1a4cc6b3830b8ed46b4289a93e6b3eb380557363103983cd268351c1d5d59603734faf0b11b0202043abaa4fef73312dc7e492f007eb8f6e9a3be7e37a34497f7e1cb2ceaa800801f6eeabf77a91ef532c760970aebdc3c4330853b09f71424cfb9927f4d0fd7e2569029aefca49ef2488dd4495e3daf566f563c7150fc13a71530b8e3b4e273b910e0d97eb3907b852cb7c8df7fe28ea98b15a791acf1be7e78e23ce6ef39a49bf3704bc16de4b11adc3dc19553d55f0940d93e69f5be50c741d34d752172b0c50d9340091b6b2ed7eaa974406f72d97cf29b9b17b951f6f1d894ef4873c6e344591e99b229c716aaf4c963f37d8478e6ac0ab96c569ccbe67fe930799cb84bc64098a93883a690cbe68333c8d2dd796c52cad4e4b149bb08d55a893c362b18440a07712a1dcfd52828cfcf11c51deb0dd7b2e2e67aab4efca6c867d5c865158ac7e6cc0540c11dfd4b9e7f43cb1d6b15cad308841ceecf514feac1ff49616b346532050071fdc78acb15e704e8e1e26a908f24ee38c1f8acfe7cffe252250485a3a458d8e0c9dfc967294c5dd63aa8ec354bbf41651b1b1b3c02f580233b8a26fbb79c1da0862bb94031abcd9cb59094cdb7f713caa174a75090dfc82dba19f2fc39e4b38a0bf2f93fb6e6f58aa301c265c723122f1525f5558cf92cf5f36129917acdc95023a77659c064b943410c75f55f7fb8999ababc721525972c42d9133b3b79389fad5250618b1d4243fe6d0514d95b553cf97b95fac390fd8dccb2efb293f0431a40da644c01512e8dc75cba90cbfa8dbe8808a9be2063ad0da5747ffb596b774d3c6ebfa71885aba4dfc7b22f274a3d6465fa551584be64c24aaea37422d79794a78aa37ca964d3954786652c36cb86926269d444b5cc4aadb57adff4fbbeaf7aa2acf1bc69a7ad55941fc0e8ac5ffdf6e637b52f6beab737bf69addf10d83ee94cd15c2e5753923949b3ac4f89474ce8e2d65aad7933bf9fd65a0b8ab2064be0433df851d4a7603d517ee03dacc8024419f39e47046aa513855fd6782f4e60daa72f8695123a4c1d9490def3d828d1f22b94b3ab82cb3c051a532efd22793e1b1b1b1b0f012feb1424b9fefceef7f6be4f68ea00a63b91b072f509526fd7c4e31ef60962ebb190da969f8d94059172471a82ef291428861ef33e8582c99126f79c4153f6a8f75e9d73ce89693cd6af84fc7b74937f7b0719c4b855d144ca9b3440062ac10f624851a58a20b220b2c90f546192850b5446a0831836d9c58d39e38659ee9260c8e3cd6197c4e4ca706d963b2a33b83ab2dc51d951c992c7988eb6407a944e777f218183142c53e4f004123fd81c8b2c54fc40051247f0b014be8074c5b7e5f33e28625acd24279780a8418a5c0c588a609a67e89420c2f2050ca8b039fdc0770c9ebcf0ac1451c4c0c99790bcac2c9d5cb878022484141e4690c51845b92d404da07c3183132a4b2da0c066a5c8fe0fb309838b97272e64d859d9d20d758088db0a4e4abecc34d9f22414c611910ca10b4a60153e54f1418a0a112ead80dafcab655b30d01d59ee9a689265b2dc3511b4840c31e010ea5bb28107eff361f3af968579a9828b972c5a1fe3e2858a172979b4f9024a20d7c6797cfca6d643e9ca9d17252bfb061d8ebe085dc942c596b3840bbac8e186c5e80c9b6317b0208392296c68d244c41749f0e0248c121d6c3e14b610391f126fbc8b3223bd642043bfb7903f68c81a5fc91a5ffd272291ba7ce3c1e6217af03d449a8789b2df2176f036c4efdde50f7b205b4c8cc5387818fee9f11cfc0f8f8f3d906d05fbd68eb762141876f903e0816c37c4283b704d0dec01807f763c0c0b1dd967f2b6a3d5ffc0be060b3179db51eb8f6e3c900df41ba2cc7ee37bf478201b0f0f9ec7f778f03cde9f07cdf7c03f3d9ee67f78bc070f64db21bafc6b1ec8061365bfe37b64bfe3fd77e09f23c73d1d7c0dfed9f11dfc0fec650f6413bfdcb8282dd16f886e04c572409f46f440ec408c8972ca6462272565fad491947299c6b2fdb2dfdcba39934c1cd4c0fdc463f459b88b3478fa2acc198fa7df4373067bfa3d4429ca09fb1d4fdff5fdf3105d1fc6400f8feff10d90b61ef88707e5f1d2b6e3c7e781a50df685bf439432341e26e6f81d227e215ffe7e85b128be78a5cc3f8728e706a294321d2215fd26233a0e8a1b798cbe4bf4a02839526294d7a3c428ae57e5c02fdc4f53467f461c7adbcce398a13ff43617eedd94d1172299327d8a45caa85b715f025b945946943946da52361c426cfeb0eb640d35e27a1887e631207cf8530d5fd1d065da49788c82b0c4addf3f759986bb9b7247a63f6ff207cda9a73f8da69d60e6d338a97d8a7a6bef6db5fe63b12c55b059851954e4aa20fef3c1be7de3206753c97421d31fbb874c6790aca15ff3c5757df6c327623fc4a84f824a3d6ae952a74c8b9cb80c3df90d8d2f5f32bd91e97b18bf915c9aba64fa8ef31b8752e43792cb96a74cdf9ff8cdccf4ddc86f7273267494d454c4650b948914933467e1cb3c11d5c7e02431af7a199ce493c87c388d26eee9cfa039a3f174d2a7214a7945158f900cf6a118ec354ddc10abb0cbb18b01e0874f04fc102739ea417dea93d8079f480af5a997368f826f9f480ac49df47324a76c490a37d29451338e5002c693cd0a408ca3209bb4c91e005561041d2e2a8f5d34f6ad91e40fefe97753112742ce44293b42ce6452469f228dbf5ae1c0218a32591e1ba9c6c76f9c268c5bf1aba513e53a8b868eba2a06ac329eceb83acbaae5ece46a3b3b39b5d65a6badb5d6a681c5b51eb32c5babb5d9c60fbaca84d75d6badb5d65a6badb5d65adb251099b317b0169e6441675015dd103a776badfdbcea3ac020eb68181d98f2e843e728c8929435967eb7e679391e9bdef466f7acb3ce69ed9d2f2943fd4e4eae96b383aaed5896875b1ecbf1c4757a479cd6101c9c3c71764fcac823cd4bf77505010d2b189e8cb8bf091e9bb5babb78c404ff51eefc8d1cf11b77773f62c2cedf880947dc8d1c71cf69edbcdf1b0fd9f158d3dd194192b37bd2451eef74e1a99ea193210da7e6b41a9d94524a6ba5b5524abda9522d27cca14b4ba7c4b278688fc77cdcfb69d34a29a5b4564a2bfdfa60ad947ad39d21d3dd7345e611537c44b456abd5da19c2b3c373716aac1da6666a26a51c1fef49927ff55a451ef75a6bad3d6a8fdaa3f6a8b5d65aabf7952b57741ac8fc9e5a6badb53e7921f7c8b3874e86349c1a8d56abe1d068b556abd5aa4d1a4e8d56a397656952a996a334bfa684134a256f20fd73b7830f79bc2ddd104faa58164f8f8f8ec7c7a747c7e3f3ffefd3a3e3e9f1e1f1095baf5bbb5336cf9c73ee7618228f57ee3c23666bb6e3b2f9f2fbc7fe211ee3a9b5bf1fbb957678fca6adbdddb0e619e2b1a924c206b97b6a81929b8a3b3c13bfef58619a395269c8a43e1347963b1db6c062f782d04bfe145b3229e1fd2393041e98f5ab154801bc027cf5ab1517c0f32acdab341cd0bdfeccd8b45a67ad7536ad5dbb4eaf521a6e64b973c185a11caaf4efeeafedf84ddfbe7dfbf64e8ec75ce6e8d77276ba6b3bede3bf4dcee9534a29dd095dc9e3bd5d14c99d100d43a0847528429f91270ef9818b3071c8987b0f3a0e59e3b54a995a5960cbed95bd6df02b2af0d1c59043d28567dcf1b50b594125b82dcb1d594ed46068e812086149112bf696d065088da90a1f251242780127c54f177b4b88028915f69660e322e8c98b3b5e6949b0e9dcdddddd6d66dcf1d51ac39065eb425a9f1094dc9105868659489b2b22041b90a690e2440221d030e79c73ced9823bb68ee8ec2d418c3bb688faed9540ee0a52e372b62d829ebc14b9242821d142826dcb521221b460238305b75b084e862418696f3e3b2e572eb148d0b9e08e77c76fc6f0de7bef6d27426882440b05e38eac7b695842084121dc6a40f2c161719316e7b39bc11daf12094f60595261f764036384042421dc0d49170251ae917432f872c71b5e9bfdfaf52b6dae8831eed82ae23723ab04dbee8e2d96b7bce52d6f79cbeded2d573cdd7c825e80c22e88041ca1eb6f83c10da38aa72cbf83fae6e31d2ca5e00a1610a0fe86273590a18511494ab8130b33103da10b830859142690020b155be38b29a0204206372f51c8138401e2e90b0f04c580490f252c25a835b84421a4859526337cb1002c8e20020a0e395c51838dfc21fa4bebd6afcf26366276dcaa027ef5fbbccf93aa2072049a927d69cc794deb233715ad8cf568428f2964b731379cdafc9df9437ae6fb14996fe488f77706286194d65016c31d69ae3f86d686313756eb058bd9f8a0e1e47cd476b082feb049ee9796f5923fe4ed300c24ca60010e66406981ed01380f30098d80082482b8420b229a70c1c313a21a806e6234014110564420c60a6cee8efb82a4d0dde8b99d52ee49ee0bb23954ce078a44a550232d9ece5bf294c2d4a27a7b726a4ac11dbfa6a726272dee586f9f96a627a7a6a72fe9c9a9a9a9c9e9a9e969d7c5227d5a72bf456ab2497e335a29768a4dc24a696afa92bea4a62fe96b726ab24ffc66fc929a9ebe80b14156c812d99b7512b2c6545c0beda5d5eb0f6e0405d742faa519d967cea4f7783fab04e5715609caf3e9f3c81fd3b65123c91ba59262c9f4dbc33c3450388b86013aa5b2d5bab7bab5f7b65a4c9ef7ed93e6eed6b65ab556710c4096b2a78dac9133fbd1fbb139abfdae0ca52aa09cd4ef2c9347c0e17a963f717d1d27eed84bd98a25bfd1492962419453709a65b25c9259f29139437d7d14bef652cd1717f5f6bffaa0155d44be3d6006132a6c16bb787e8e7a523257cf1b0006284b42368b7f8ec628436db34f4447159c6d05108472360ee8a882b3599ce44e597dfb291d557036f0535f3f0241200641286743d52c3f3cca3172fdf923e070a96c1a3302650fa3206bea43711b7b7d1d22763588215630180991d9821028e37a9e370381323cef55416ca51e8a268e9ef7518f7a94524ae97f987a4fc3a975a5947a94862329a5149669a543ec6c78797c7aa48ec7e7f57abd7c2a4f8f0f8f0fab95abd55a5fbba5f6acb55f3fea7b54f6effb3efba1449951341fbfb7a3fd7ed0f6f7f6fb13acc5b5da6aabad6ff1d89f6ddbd67e9815e27cf5fbeffbbeaf7a3c4491c71b436d02f5a5848ebcb73614e5b66dbbbb7ebf15bfefab5ffdea57eb57bffad5fff0887aef41547dafd6fa38f56b55cb94fc791faadafad16aadefa3c27265e55a731397e3e484c4c90989ef9aba0b13f8f43deca7efee4b6e001b4f6f3ccf37333265d4ad4b478dd62e0c09394469d3d12e24b206f53a44577feb757c0ef1c6e77822add7f1373ec7bbe812c13e4ec2b1eb029dadcc4019090a345a6ef4bd88bee3e8bb91108e7ffd8c2834f32e959597c8e46d35de2532799b8d1a2fb39a4ee6935914f32abf4d2799fe542267ad9b41f2c7bd42cae8bbd29cbd7ec79c8973d63bbf59bdcc532d7ea3c1cfd98301f3f4d4d4e443492dd2e83ee3defcc67afa2e036bca7cd368d7ebf572b97e039ce428c906ff7a6993e1f11aacc4283cb0cb9f8397361a621418867d8f27c2e339e0f13d7860a1a395cc27c9f1300dfe88c64b1be834683c9e7969dbb16307fe199c64e6f1cce34fb2c1ef78697b1e2f6da2f8b027f2cf0327d1f1ffb0ff24395e7c696bf1cbadeb2b34105d8bc7e8d3109dc98a95e8badc0ed18b5e749cefa68c52ba439436fc9279f565bfd9837cc8d57806c5d057e156da206946c78c783768e5781d3fde3c23bafc6d36105d8e31d033f3ae980bfffc0c6de6a54dc78f36333887eb675e3767d29143f4974b9c1171889e7302d0ff5c67054a742d4f1ebb21d2b7214a27400dd1adb88c3e0943d9bf84b179c88edffc276ee5aba5958ed20bf419d9ff76bbb915cf797f09d3601cfbd34dfe90f1b1812022d377196c64fa7ef320a4f790e93b0e997e4f9133e9d425d3d66285a549e42f2ad006ff60209b0bfcfb20ee89f98b7fc28ff99ffb2a3014efc557146364ccf7a83e26e65556f5d7816c2930fc9efb21fe3902ff27d6737f2e90770c78933f6ca6df32c81fdd391eb0f2b63e6603d2621904674b05827fdfdeabfa984f12a6541f83a52df53129ec62c0fd9827727b643ee693c829c3446292c8e0ff9bbd650da8126febe6ae4d1f4c6557e9cc19fa50a782c4845101700128a2fe652553effec56527808fd28d00ba08f6b470251654e8328fc728388a00fef76764d4872e7eb97378b8f7b63e96b399135bf0fbddfef7293cfa833803a87759d3342a01409219654a6f28dca3f365c71d246ba807f1f8f88dbcad8fd9d09e640dfdd07a105de96a687193fe26cbedef298da31487d340bc4917d133299b8aa61b64ca24a7422f921d451512d82c5a05f45b2a4cad7dfa20c859f720651485ca230ece3ef8d2e6b2e013513d88932401530fe23410994c1fa438381447d6d01fc1878bca234ea6abea42d9a65ac3682f947c2643bf93b0d24abd44e9a3acabba2a763140a50241f093c8a88ea0e0454e85f69864fa73faf0a8b0abbeeaa50dc4ae8a7bc04f7d12d5874f24057ee1ab9e48eac15785780928ef94c16a70b88d43c7768827cf5333d0a7f45b87ca4dbd87fd36439b48fe90c95e901afd266aa2266a22cf6313e51c2b5ccfa7f80db58ee43749783b542731d8f8047721407a6c7cd47f8e33d0b9dfb39f3f99e331ba03a2206b3cbc8382fcf1514ae9fb2dfc14d1e8efb9148f514f19b9db1f3dcffbc64d3a29f53c0ca2c436a29e57a957bdc6f9ec52af6f8ee431eaf9149762748552bfe2571a883f7d28540a9592e9b7d75e7b8d9332fa8d9b1e1e2fd58560725402017d36163978c1c5912fab4d94540ab75cfde1a7429c7a22e1831fe2773cdefca9142a6800305762514550cbdf7b70fae8407765960fe0b24cc10c4859a640490e04df553aa897fd81f4146a6edbb23ff0a09f3460dc8a594274577e5e9300bdeb31bf322c9f737e522777b5294bb166756bab44593bafadd6e2b1d6d922dc3ca5ade3538ae99db87a13b352e0c409b8e18e21cbf34ef0681547245297bd9ffd536479b3fb8d36b9bd9fde9c2e046080665a9e1889d4e51d8a51e0229b517ddc2213f714efabd0d0db703c93b7cd30791b8e0d9ebe0fcd998e7f7d8dc6cf785260a87a1a83df25049c91c945640d7d708417dc9a7f84175c2f8f524b11f94326d33752e3e5ba32ec77fc7cc9c5288aac9374c7de4d0d76304c27c54010eb84bdc963f46b3ceb75a8dcb17758e4ac7153a6933f6ccc3a8a94d18f81b1abbff1b4f554c7c1d3efdd8e5752ca34d95fcad9eddaefed747ad3ebac36b5d6a7f2c6bf561b83509e17892554d42b5a00624994dbc50a5ce41136a4248a24725e7cb0aa8fe963cec9a2ac17c234596244cecd11c400c324c192212e9638111d51959820c15ae2ca723724043542a80a96122cdc4bcc1643422688217c81c9950a030edddddd2c4a534dbc7854cef9dd7bef3767fd2ab5e9f76f41893c3e16a1ec432d6851842ea4d57068353a697777c3f0444b479d1c062d590a18e4317c21663f16cb92d2d8cf69c3bb600516b860c3860d1b373737370d64c8893cf6c86e2306282d2f4441b8bb0b5a960ca0883bd2ec2fe440733389a7dd7477f7ec796b394a4aa8702f52f27883a690b9dc59aea868812d363ffbce094319f38a6d6b6d18798cb57434675994c57afdffbf5a2c56ebc57a855700429705266611a0a4948634a4210da9d772766a3bd4fac8f9d3a4b2dc2dd9217bf8c28e68478df0425a0d87367bcef66a7b1ea574f7c2941635a205288688825832d6ac5cbfd6ca6abd60311b1f349c9cfa557c819f5c6bcf39e79c73d6d615ddd60a3a98dfb8f461c35c7d842c30bff13064b55eb0988d0f1a4e4e18b25a2f58ccc6070d2787da8ac30d19b0a2c396325aa03414020d5471da32461551705fd83a0c0a6210e3061d968860896d849d0c5ee81014e504bab0d5b2f6ddebf158bd56dcb761b55eb018cd44c0576bc8122b6dcb02ee6dbd3e46e3838653dba1f7b65e1fa3f141c3a9edd870e7d1604396de3918ac800729328c31032d8b1b7ae8e1889b4e08b6858c276a50d2c5151e6c6d05893090ba0822072196d8ba81bc9d05bf7119a3d3a806d4d3b69eb59ffdbcee298413770129579d230f832c5d0cd079e5ad16cd19eafd2bae1a6194c76afd20506efdb1e2dcfd6d764c719f2bae65823bda5c6d38dfe579f7c9488acf34a849542b55a92e555d6572af274561bc3485e44e4940437b4d67b7e739756731792aa59c2ae4cc6abd60311b1f349c9c99e57b95198ae811e48ffd954adce3d33de7fc89dda7cfc7e3f7b9cf1e9f49e7c7e333439feebe3364ce39a7efe6f428a0848d4edb6b289ffb867a0b82f85198b2f9208ee1110825bade8a2e0fbb18605ff54450aa077fb0cbfb9407e29f230ff7809fc23fa907ff271c79bc0f8f464614dc048fcd23b5be8d5dfe72976d70b83642ea249d6fc6c89c79d04dfef8f2fc399566c53a40b01cf70d61346dd86a79fb740c42950bbeb539b4f91308963bb6f26cb5fca5d8a5718d4644bdbf79348fcd30b5f923edc7a231e2826f7fb4297194a8f0513ffa5bdc411e9b42527aea47f730427ee3784e2d45645098b72efef8ec0aa5c41085dfc384c9f1e9617efc66a4ddd81e6ab5ac0d1b073a51a5bff743de7cefb9e61f46e2ef786c49fdc625c24773286b6a8aae875f2d24166cfa11ede9dfb2085501c8b8f34798df7cbf65b560b587ac70e7fbdb2d8030cadd1da371a5e059661d2160363e468b7593650819ef576bb2f2942d1b1d226ebf8435084bb4f74b0ae8aafd6e29edf52a96524a29a5941225a5947844a1a49412653fe9d5966d64ca80088d786c7a4fbca45a266b7aa93545b79f5eff7eed38c5ee94d64a692c168bd5ca5377781ad67af5ebf5ca93524a634ecc306ee8b1a91365e76ba8dcb17e7b8e9740090359ac200fba527e009c58915271645524fd93e9cbef2c64c8b25f74567add6b395ebdb8bb10194bd0a429ed488e247d0a0172ad8b75ba767ed39b538cdb9966fbd57e325f329124935aa9862d714dd2d0aff9f4309b71531f7a2ab056299baf4aaa91e74fd45751b50615257d16f525b7da69e2e94ec0d0864e8c9a13a985b3d3a1b8143782226b9e6f43a3487e4343250f9caeeac36fa66642629a8e84249146b792bd15c8b0258c3c9fcaf93554610fb1234d9917574e99cd94d1af2f99c8d467aa0f7f4c9a33156e2d5d2c7d7004316e6da63c71d62853c7f356543382db389d292e886aafb2c6104123680b28612990b6bba3d4d5268f911d8ff5f814b9918f7340a83244d628c088db340f913f80c8e00ea139d34910c7392d6b2850de791e3adcd147a63e585665edabc41128abbeaa82a81e6c5510d0c32e11bef75ec8f7de036517479afd27c7d4183c67e80fecbb387a1723d9e6585c530991b26666c743644da68979df9f8f94fbdb1fbb29f5a1b46dfb50ea43eb83b5368dc7e8e3d8788cd672286d9e9c4f4fae88bc51485d7884c4e5ea35f74a392b9489a9855054ce2959f19ecedcea96eb7f3f7f7593f4c3ad443ffcca81ce0aa6d5cffa32fc150452af7a08801ff3355f89aeef65fefbd54b30f7c3cfe1ee872e06a47ef54452bfc2498e7ac2073fc9c5aeef559ffad413015f062709b1ebc32e8b19a0fad4f7a83e855d5fcc83df8c517db75ceb8a3ebc7292c3dd72375cee46a3e576ae959a69b6871d571d45454913931d7c95cbf5bf8bd83bb9eb523df3c89a9a6f38c8757e01c3237fd0acd3c3eda761721ffcf06594d4d79cae903c5677a1d84ff53d28e3ae925653a4b863e716a08215526ed7812b4e2ba4057071abe4d24513b93649338e782246941e9420e3c956e9ae732e1170589f464b53178fd5d789e2fad39cc7ea6cc249c04f3d4d59fd24a90f77d503302ed551bafe638b365356c19a26ae9cb2da94d55a6328e69135f52514f7c37595b34a3b18bad039fb52974e962ccdc8a0875408150990a94ac8e735366759ceeccf1995505c570ff8a99f238b7b529fc2fd63f1053a37ce26a70760dc0ff7131da52b3d463d363bf51000710a4360f69c339eaea8b44c99897ad22943230200000000a315000020100a064322c160388d23558f3d1400107aaa425e4c958aa3619403494c29648c21840002006040606664b475f106c0a2d4a8994d1ba662b88743f7d062c35c8eb93e78eecc636210f1dc41806ab75b39cf5d8b4cb589987715a6576ad270e865e2103a0507cea26e69b1968e4112d27e707ba8b17b87b78f643ac30792a897aacd2d06d14b1f9ac6e0ce458545b18f23955ca1d0f0afc7df771a4caf3fb624e5175fbe5a1ded30ea6fe0ee95748abedf6283ef6cf161720ed244e4f877138ea42a33776665fba31842063af3b9e49c62e1122e09d92bb6e639f4e815abe749573996fdefcdece821a74fb46b435d91d1acfb90d58463b77e470f484b323c90287fc46b5ce6f9ffc8777ee6dd278e722cd875eccf95d60060eb93ab11fe0618d96414481c32829efbf4e0484f226a3e3bc4a63dd65690b75c4a0b82a9c6b4822735373b2f6c41702c9ef21002bebd63755b7144cce96ea82a9770eebfef29ad50802c75aec64c148af4587567da2e2e1dbfec1b4d9ba1867344b5ed0218e3688bd89cbe822c490f7632147d832882dfe21c6d2ee328d8d5ef6c31ae28c67c37134801761d28a6a35a36e631ba37aefbe965bdb99e6211792ae21ac13dac34a66c5b2d3fb651e30142c4406db0800085a0c8e693f4448277cc42852aa803e1f955708d0641e268a3ce0d199f0f7555272054a888fe67b439d1a49733ad627928a36e8cf7dc8fe588b190cd20877c582043a746040b37e8dd2cd78dcd730c7e1d50b3080fc232e1f813d8afbf9bf38815239a776a3cbbc4019b10e5b71e5fa5af93de722d5184b5512d25bfef67b3941c42a1ef0d6313e3489b84ed4fa31600090ab20be9e5859b1e1d62485a23e01aa0f572508a0528d5db51269aab5a04c3ee20274b01fab4e971f004ac30a39ff233f64f500e31c036c1ecda863bd62c287c3e13862c115190d474a653db107d6fe96c08bcbb57992f64050a69e2590ccd09e70d24aee040dabb2485cccda87871cc6a814b32a2e14eab12ae126211cc1d47042f44e051a46b6cd47e8e761501bd160ea4efff65b02365a65c50c86551820c708523dea9d764799c149546479ab04bbc41748dc4ce9f4e521ee0b2c794c7fba392636808613469580238d85439a5500669fc56a2866855e457adee041487529cd629bf120c1685300804d2c83b558c94b385a470a5d751205c90ce0e02d94b9838c9dcd6f58d1df0ce8f3d18492361692b1ff0a74425a4c11d61da7e3ba4596c70f869681009dbf7773d65fbebf2b928173f835c674c644a63e425cbcb795c7cfc43a50792b09e84b9ee8d7bc9abc24c3dab9bb54ce9790167c11a8bbd5fbffe157f2faeafe3cc9babcd4f3b14a857dd253fb8b5daf658a8e85987a0d1307a4e41cb076e92323e8aef599e36d18fa35318e02d6e4626f0eb72b88d079321c3fbc2ac551f27913a4649c56106d00ac71ad436a7a3a6007032268a533e3171a5f5f8d828401b79ed6289361785216acfb3d8dbff0a58c8bcfcdd01c71d1d2b164b3f0aee0e5e934da60ffe133a73832da3867906e8e28caa4ba85cfadf3a7155afbe821a935ca5b53a8614e192b571a9198c3b87c1c934f915d7a214e1425478eae1c59d7e44cc725420adf54ddfb985e262d0ac7a464b2ea43ef34a3f4be679c10f16fde161cbb80640083ae593a8cc9bd39b2e3c22b3a13cb6b832b04585e3162fe217803ed428e89a2ee1cd73e9df1782b1c679585d0219f9eca28e758989cdc735356db24ed833562c6fe26fabf53631169446057ccb39016e2b7c117181b7a8bdeb5b4e9906ce685f39b11805c4879cfe9402de8ca2553762730cae1dcbdf72121c24eb1d4add68ff7c2ecf1893e4456a3a59cc66762bbd0f5c86000d5364a30ff8473b825387589666d5a0a5a9e98262ca96232dd3a4b1a5afb4f4e71faee6d3ab55bb5443348b6bee588607e4c2871e2c785e6cf21e5cb6a924c59ca688f7c24cd9b60676a7d1dd961052e748476d0441bfa540014234c6475089528d81ef9986d70afc5655a0010d5e8cd19a9b98739510eb279070f836a36c8367664a2c0df6ad403310a3a24b6b77dae3e124885095280f8374430c06c4a8ce6bc31e290f65c38428cf81a55b0c633ddd7410eb292d9d744209b449075419ec72db075629316678c93a3a4599b164938ae5138bfc2cc54febddbd1dcf7f87e47895ea124ea1c9cb9ff2924a9aef6f98e7e8c748a559a7d0c062617bca7d9e794e648215b8354d7caaddc41e0abecdf3a5afb3f956e63f0841a3776482695dc3c81895b65dcca1e5eb7e4041d99bae89c000802355728722b09c3649f227f811f1fd404bdddfb25aeea9ce2d8d41597a92faacf89b8e5c447f99c3d491cb4bbd34656780d391fe697302202ef27a9a5c86cb71d93203e058cb05757b559d5df95535566f850fbd3d2456872d6d7e17111f18acb4a0652b3804294512e4cb1baeef00da58133afc9d0a6c6a1975e61c79b700442d63e97eaa87b1f3713b7fc84bcb2a90831b1ae32519cad4b8b4fea98f57fd748e118f1ed5b2d9d57704ecc15274b1e2eab0ad9af9039a06c3b418ab8569745e53fb7e1612abc35c3391f660e6ceb2a1405d3dd2e3d3d972e30ed80d0824f03472c26226bfb6f4f3393989b0658caff2c2d1783c8cb97da8252fa4bc1f0306e94a7b789d21797a442e14d2ef78e7c517e2acd88d5f20d8e77a4958baa170955e1121b4ca8029ab0c8c16ca00a92a0378a93280185506325c2b4643627dbc0f37c6c3d31068dbef03da83aae7f11026c44501fccd13c6fbc715bcf033a31d69cc046fdce58d66caca58ed0973f430cd786a1897d1fa272b8fd72117344bb9d281f13c00b6ac2c78882ecfeeee6d3802871ea436fbbcb7e2e404c28e814a4d5dec3a2757e9431cb51c67dc0c21b3097ba0fea153b3c088bfd1f6c9ba2ced6ca344fbfbae0e24e27554f271d1ca686fdae7ec8726c8b47ebf706264149ce5b9c239386675796f848018f9ddc755eb13b0001e9fb4f56667e21a6ea3f1b5c68809d15cf131d5cdf27e14cc26a5b4ce742cd2a3629a8b80d09c95c867583ccba4b555355d9dbdddd0f0886c681972664eebc957d2617347e6e0267f43e8438953ed39299b1a19292c89b687f87a9e6bc12f902a8a5609df2f59777744e818ff75be9b8864b02b362719d6a769be3202f09e83f046a092d2f6a6a4f1ad845bad5cb99fd55144680d44a1a815b6a9df14e5fc7c9412a605203b950c35ffcc7355be675889c88f4e3817fde42aa245c9ba6f6c8ed2364aa35c61568d94942433024ff5d66fd0e3926eddf83c5473192a95c47ebc8e92e7a82e0e59dd529c3487e9d4b520360163d8c05e2108a10808af4739b9d661c0370980f1ce2300faae9e12ee33091751c7d5002d6d1896b49a5802a7ba24e4ffec9049ee4467cf7ec716967e7361be84573df2c09ee405dde0c8c9c36463ca9a97f4c5acb8a30c1a7f8e2fe8993f87b4ad42774e269fc3d17b9b74f2852ab202d2fe7d2cc579c1a853a901376e2dd144ac5c0e164c495782cfe43ae7a862e50e507b8c40ca9e8c2c6893ba8a028dd8744020696b2e750d866ed56a469822cc5b24fb28379876ee368f076922a9f43db300427c428df27c3db7aa48f478a13ead2093f0c1d8afea5895edfa78da701bfb2bcd7f6403eb843cdd8da3b90d38d008fcc304629b019b2ab01c6e0b26c7a5bdb091684d4cc590689dfbcf4af30d7d23ea2f7bc6eced4f06c8958ab58200a222ca58e5b2e7955638cf071661631c297934f2cd797867fb29508f678275faa5adca76f502d25f2983a6d3b32454f15e167b0ae4d29398847662d256e1081a12846ad8c10dbdb1a9257d1a4f3c6ece3218c24e86398819e41348ca28e584c64b997117985110becee9289cf1303a544aaedeefc1f14a77432f617e669901eac275c5317310e2883c9f173714d37de9922a47446796da997adacf1e0aac9e07272ccacd6fac0504c6821e0b53240bdaf7d22f56a79c7354e0ddefd7012ea3a12dce7156c13bce8969f0b3e242994c08120106ba87cc115a24c701ef4e88e8338e838e2a0a02c9a3da85d8091069c673d8d8cc51ef9ba8474979d36f9c224f1f063c9a4121b1a74d336d0ef835636fdc119c5c2956a416d8615e6796827e7fafbf84b0eaf06293d79a2052d174fca7430e95223a46408ddc47fb069238d7d14f21c50e185b0238ad4b572e28c9d6dd5dea84fffc6e10522400a29da52b4b212759a5f03177fc5c82fd672728c85a36b3bd869f0872fafbe9933a3180b65d65105e01d2af0e91c3a053565452f28ca9686814b1664d160a8847a25477b59a1f4b27df82e1d346db4bd5c6ead84bc9a70758b011be813a139dcf64f005ec6ef64500daa206f59db72a3d6a47352afac00e76106be4f47a0ab675b5ae2bc2592923f2eaedfe2358d97ba7fc2fa4679006f9e2d065f9d12dab2c280b3019964c5c2d58182e995b047c6cd299f17c85566992de971a5572ff4c4414d80e3a673a238611c09b11fa3053f236d7ba0f0eda7660f58896e86cc36ae614b701a7798a1454dee8f20533faab41a9def85e81990e31cd40169b721cc4d9d9e8daf694aebcd3cda086f12381d90c07525f36e9d654ddc2af91e694c3c9254af16afbaece11e5dcd9504c6279b376fae7dfa70b27065f7c63735210846ba153df1144713b0370ae0c74341b6d9a1d4bc1f846fe54cdbed90807dd8b5332fd941e34224c4f12fa064f68939d3829d2169c054cf1afa4ab775cfe3dab3ab34dc6f3837d5c62f53542789d7ece413b133d01675f87bc8e716819211c1e0771298c481027d550f974e8ef3a52d8ecc9d269cb6baa76ef30dd5fec8f90e99b6211427a46da26d223ddc21fa7efb1934c587264ec40f05369051919ce5713d6178bb70e43c12339c9b23ca66065c9e03503d91e6e1ed54121ac7b067ae80cd5c09eeba71b752ebd0ca56b611a45987894d03b21d9fad056657a6922cef0d50812275a5ee4494e5821bd2f9aef52eb05d543b7ef9fdcdb800cf26e41d7633b782ae039b9be6f30cd31a89fd7f1c1cf9c8f1b2c50a7387d0c7eb0614b57c4fb2de03472495174092f810b28556291f861c43d9f562a80179d85ec4d93f7dd5a26e9fb28ec5502511d8111d5cc168c8f279f51a51fa8b89e1cca30ea06b76eb118d5ec4f1e57ae6c11b457d105a8493eaee000c454c575e16588ecf1764fc024f52515a15d8bffdc0673c2daee5a19c66be9f23a1ee094b282b110373fa465a57826e2dc104b4d9f6287cbfa93c50af34055331a4d7461b0ecf2d2504ba39ae55f259b5235c39389d5290d78a97a92075b1e11ed154d14a41c0b102171ccae4c3192d50a4e4a2d0caf908a4ecdba3113e3f608283c43676fa82c809eacb8b25b7efd48dc1b758e85d692d47379cab0e64c97b388823e6ba020e3ddf94d5b89c4a193fd764293027436b4a3a5faba9345a111839bc2dadcf26b4e5ad83b8adb3d08bad5b999799031ad08f2e6e4870c7715837760ba9dc6512af847638c6d9a81eeb8a9a68b545d822ed74e4ba297a7c1611a3a679f2cdd2da424b44e71f38e5db07f9db0e02aece84ff799f067cb7d27d864136180d09a7d2c0d99f80870e23b137400cb1fc22f7bb91975b84c0843f4ed87d86618e4d60cd784dc128142759743e8c36a095351d343da71a8182608be6ccf5587ecc179a6aa1e42694cfa6863edf980721133f4a4cc527ab23e92728e9b06e173110e537c7f55160bd88ee850d385c3a1713efd52addb80a2cf5613d4004b17e4c2ee7bb59514e4251aad0f3c94e141b772b2db64743dd60daed57e3224b327a62811b8b48e22776c22126e4e8198b028e632640128dda15ca26d6e49f7f2e326955c392261c6e53bcd11cc060060d2bc433c8ba36de878558f51b9763f44f26392c13dc02877dff43ce149f9a8d67cb4a6f71dad675af3d398b24485b0e267afee65c5c7bdec2d7aa4b103f7b4f92cea23225963f8c6c7a6efba7097712d36e881022466e67a51f03903726a04bd13be65fff98226666d3a0feabcbf2ef044e6a286813924631abb80502b06e6cb1dbd2c1abd9f86cae303612d30b938bd8ffb6d456394635e89a667ec13ab4760c1da545bd2655e1eb970b001285c5a1b7ae5b6484b017d9124da5ed7390588460b33117bbcdad8eb8bea7fcfa15870f42e02edd376cde420611402f292d1204103ac9b907a64fc251fd8dd6d6836b048a015cb57802e3baefd77c91ac1b59fa9fb3522e1644bcb53616286b310db8c4815eced5b34b79694cd8f3bbfbb524cfe8a795a35441d228e462b58b69e88048857fd426e377c1f28245f86aa5f61a3d92850f4da68ab414183c34700d04957e2a1609102204950653178037232220585a68e46c1c05a138de293b27337a3ed9485db745f8f3b7d2c81f97baeee15dba7eb74dda1d1e9eadedfa00eadd4516e3b3cb74441e6969b8a7baa25a3c18621c6ab1068e2cf631acb01ef9ae49b919fe9564eb6868868c39d9dfe8f7ba51b149243247ae62f552147dd677fdb10db40050ea662daa3fc918fbedb04f5d5b65c246cff6d0f8daf6a3910b6ab077f4164c480673af7650f3e9bd5f42f54e428b3606b8a9c07ba9a1f83dd889ffd881e6eafabb09144d2c290bd0d2b7446e7103fca8c892faed84d6e6a2aafdb04060c72a5d7db690084c394952dbdca94705751ebb10946888fdb85ff86406b82428c67a30dce8165e646a98513c332fdf791c4d06d93d93056c962147a689bd7ff4a043c9e052ee71d344fe899631476dd0aea3fd65b8b5f1a3907fe7969bc857d781cf111013a2ae8cbd50585fa298528e922556d6d2f83e2bbcb199814922db47352104464de788380fbce194e71c867fe046ffdef2def0f91b07a18f017a8ac7f29e3f673a2d9c04795c8c00f2cede0cbfa9f816a2d978bb4e9186228c9fab715b5219406249e13ba4c866de40afc4cf5d42e9f238be5c28ab0e5486e0ffae7102eb3d3e2f0188f3ab3fe5d2b62544e55d2444d62d03f9b93fc5de399c6bf234940fc004d3db0542ceef4b1124d3bf654a6a3bfc0f7413c2397ccc14fd83a05508801fd8e05733175135c63badb318180212ca276b5268a2520891f617d9cbd41d1d9bc73ed8505c21c1c3a585c816b95c8c438741e53c2581aa60af0605842c869908f915b85cb27ed549732384b8649ba86d060caf3a9c0ffb02e119923e52b40edd95b13d5ff88d032645b40c434510ea15259451abd4502b8a400e0728f51d6864115a737e972bf43e49a294f4e97a57b5cb5a8ea5dc05bbbdda4872f04677c054912fa8f6f488ed2c1f4f80b693eb164681e434b33b8e8cd2d3df2abbbbf8c9819168c45e7ebf5bd6f00b841b298b8089096110c0c606d89301c02430bc47980602ee07f1ee8f270b9e836f15c2d19696356cc368f842f54eecc8d3205939c80a8943ab3a8d5fa4bf16820fd2972af299fa73bcc2c28ee5d899e920b1a5fff83edaeca3fdaac04aaa25686a0e4b91014fc6f7ec09d1094f80e826241f1650de5121fdec0657ad7cc1e0d9131ee727c7ac19f4b581eb40ca24ee039c017240b2bd32a56a8048640f2c1fb0a90951c816af9cb209ac02ec493462147a95c45005ecdfb7058a24908a372f11ef3a14d342f800496be4c94cf20af34b2a20f5d28430e159e3c0fed3710056c33fd82654b233fc7e19020f3084fe89c3ed569030799ed9b88de1521af18e00c503fb73dafc81d1d63f4388ae64c0ca308b5172638eb9ba5d46c0bf6c0f61d385a7b29420d05ffcebec9b9c49480ad8da882cc68f875aa87303b96ac8bdcc086987ea30418d27b4f71095645be94de006eb1daf738e358360475765928c905c8b4cd78c7805a8498a0a66434292107cd8d860b4ff3e5af476b1b29461ebbfde565c097b0b2c5d662adefbc307ac17ac057d1cab3412856926dce8f32f924ba0934e2a1f7f5b08e2ddbd9f3e9b73d94cc6888fb33e6681144991ea6aaf168c858f8668c1bac4f0d050fec71077b25b0dfad89493d6f8e328778d1a08d06a544251a530d7bacb457251d4cb0840a8d3d4d3aecb52226e31e8f3ccac230420010bbeb4392bcc445673dd2f170b840001bdc200633f34332be6964ef62093ff7b6f38ac2305256dc6b44b1819ff663dda5ea2d40bdf08b402219676b298e172c29c7b15b6437ae3e2a542399c81a42668bbfa343364b9a13f54dc01ecc3c666d0386ef83c6ee47ead532bbab1496206f0d8523a2fab93bc4a34cf5be63add976f4a29cf3201b4c24b5d2b93e4c7ec4cdee413fab747f254011d0b0ad7d538a054b72969ad82e08693fc6282c173a74dc40cef28570716a9d8173f1d4a6e54f54920251588c84ad5de43153e91f609e65983a3067b33925ac14a4852eba601a9cfa1acfca303083ee4a5948071204186281a36f8a26d5d62fae97b8ddac996ef924cbcc9f6b9439f9e27473641fae3e1a83132bfd196fce8f0e3fe07c14be23efb91e1b4eebd4efbf32be8b56ee092be5d52096172324a662e64631be5072d018065d5cc62ca3a709bdcba6f0736e4816bce2fbd07ec1a37ad147420abdc756cdd74e74854217b9168e1f2d90bd566989d4cef875df0dace8dbc6dea7e8710371f00e5d6bcbd6e30908606d5b7fa09d34862f16e3fecc872d7b73328abcbad4f238391b36fd5bc33fcd108286584f96186e2905f8d63a0ff6a7a245b4e36b1ecc9861123b2fc83487a0305a3862c09b81a2bbae680ce0a1a39fa8eabbc448ec8130992251ff95aa29867cc82caab1e6d3a4109f35b9286594b7c7b163f47fbf7a6d6f1419025dac24c14f63cb066848bc94507480fdc0586212f18934709ca75bb1033b3d5d072f04d0c66606d003b399cf352fc92a020de9f4d420fd6ecd9ad8aceaa21c7a4cc220171541d1655f49220b4c7a2a3cbbe66a5617007778a53b3c817862578df5b8e29f3b13c778c70e701d06dfc20b9a9aeb41bdf0eca96c650e8b79b3d20aeda81377f4e5049dc7db8d09cea4fcade99acb5484eb62b74847a260773c81c3c7cc5d92fd06e4363760889e3bc83eeaba384f49c9b1fe582f2cbb5c113726adf798a8f6eb9a9f9664c45cfe1b66f26b31a1a9188fc60fd2d21c41741868fbf6dbcc74b869c94ba4378d03d3c59139a2b17f25ac32e3e3cfa6eb1be95a83853b4a2741e6819e450c58538b57be88c6bc1ee98b03335a69219b883b53ce1ed6b96463c8e4810b8a06e0b62200cb3e7237ad816d4ac28c1e97325d2a35e784dd25cc1b25190a718c98df3778477abba7bfd30bade1d25b3e5a59017f3a2716cc3c72e217c83ad3c08228a2b28e8be11880de662a4db4cc8610ab2d8f0bf3c829baf7d49ade2f4a64eae373f638ed005dd69b729a8dd8beeda7b96a37ee7c076b9a1133e4274d161db35abbdb77edd2d0cad7b92e90006f8d3e95dfa29facdf1d6dd055754b8bf5bbf645d515179cc5380637106abefda29c20993e919f2c34052da16aa104a41f5d18239dde2b28a404239902e3ae489014e1638ee1ae29e45e1e923ce2bfa3f2aeb86a4335513b01a344bcf00b1fca9d5ee1cf6a86e8fb8527e95f87273244b91f9ad0b94f9cf00a765bb5d1784ea73c17753eac2c10e4b0475ba08d2b19e833fde0c75c9aaec26196476b5ba0af9d7b29ea3f02055d274671fd322e2a4750de32ae848df7a77f085cb44733e7c1201c9fedfda3bc403cc468334976af0a828c5af856f3e8057f6376ec759fb42f645d6305120692feea75288ede9dc55f895df841963db4aae4cf617c5596c0c532c204ea224660f9a1c87faf230bdf8030bee3fa263974d04fecf6889d2e90f8b3d66f66ba0304d551a42f000ceb1eefbf181b4e856e27979c85db917b6e8defacd2b6ec4aba63587f4035283e43477be3106278cff785f94a0c3ed253616f3a1ce79e7a84d7326dbb665c40880a8b9a5dde9bdb2eb81f34c221fd1e98bb043ff92c5061a7a025ed0d2729d9a5e1f2d5c197f9cfd199eefa3c2d106b5bc95261e1fe316fa45ab185e4311467e6b070976961fde9f5b602ce6ec2de463ff74656936f1259852c021ceb47ce220fe5348bef740dff12adc7d3dd9f143e793cdd093815533b9fefced9179d164ac8a998dd8ac9f925593f1c116af3e9069d5ac16da217f913362adb4892af46100586f35e42bbd22066d1e10ca9719cdb36da0effb85eeae84633f646eb2a388240954de2b15f662ddfb150f8f7775dcd4732fa05175976b5cf09323835a5c6710ba83a4d411a6ff7db130532749885a10bedefdc5600cb2448b62ef22e2ce9b5bee0c29722928f72284ae8c441a089c65969e9228e5a6a5a8eceda963112add1b79e5611cc1ac84714b5e0952aa60a5b0bf00a3f3ae659644219174c4a4be6a72fd27ea0a1974b2b9913bfdcf25a1f061ad1899ab73e323bd2d8ccd54c589b188d9a5a2ff3ca24a211bf14422b231948eb6be2d120c2e58e8f06d90cb1221ca7b6d4ddf4b167ec966ff3c2b33f7576a6c049140c8ea3d09a5c304d53b3234bff4d8fdca6720cf2be4b92fc1a51b711ddbb03ab334aab838c6c27d8bae8ab9f41127c8892140807b77bbfc5282ced33214370d991709b8ce03caca0a08835ef01d99c87ecf282b091b660632307eebc2393a2c1a398a2a7cdaa02441de91d5d33be74044b72a5bad2833ab40c3f700b9b17dfa47867c829e8a7cfbdae8b4a91cea0c733b524b5e6ada52247bfa4a19f70ffdb79290a7acda893e72a95f4305fd7666c980785fb4e0f259830c4cba4ff331b6b9386e28f544353210a4891139d386b97ab04ee44aae27e6fa421d53fd52faf1abb21efb40ed1cb49b3b1200859071bdc5691aaa4fdc7c013c7e80251d21e6fc817713d578371253b3cc57df06653ed747be36ccbb6bea540f3c04ccfc0097ec677a6fcc12a94c42fa046df7c05c85bcd92224f2eda49969b078596625b601e441d8cc7b68d1d1c6558e06ab37c48c99e382a80ef3795488c64cc9bdbea36a8ca6b1e6e0652e8266e7a86d636d7891e743175458b58855817a7c31cc55161c304e8e7c928d9a305e709535ba96f6b482683dd60b23d62f63d4448fb90f8c3d8881d64dddb04fc75b3c1e2a632d6c76845ce68bb38650b9e45a4c111d8932d9155d6465922d1ea7339665ad3a7bc65126bc494540f3402e1fe944801656065b20b8a743a92b6a8023602d78116f167b518e7c112d93c2132a06294875d236ff12db66488234cc355b3de70bac6b4886e80604a01e45dc9e3ec1623e1af84814bf5b800880699ff6ddae10701f10344425abecae9197c01d9e2ff29a1334d0cc0f5a8801d7d1ee4b8b420d5fcca20183a7b6be1d08dcf29a180670356fa182048284f04600f3b2ec94b39534a5d30ad3f33aa055cd78626896542b5cd4c64c0c4d56811c83c3283fe798db4a6373a1202859258b355563c6282dc87774d42a1a37a391fd619be1799dcb79295b4b3a280c12751181dd689028b4841f518cdbb4cda0af3cb63603bd2a0114ec9e5012f0599595e0b1b7747cea626e79ac8f228717f8526a9e33782ce29b3699adc2aa58bf78ecf6c01665b6293399b007386568852d551e4f4eacab07421309a5d3f6ee87a55c68e624fc4273fcd4b3875f718489fd8d91b4ca64fb60f0d6cfe12dee2dc5a784c526da5a327f0b361b785465c3959c2b7846f40eacbf4432c7b81972244be7590a96a5483546eb474d90351fd15115aa7c8b1209cb9d53c6e6ae2b2e47f44fa20dac52c90bb4893d61e63baae5da5d55c0a9e33162507302116cd4bd517067087e160f58b17930ba6e1d431e2dfa80ecdfa33dfa06a710c86b71fba64af18b6ee8320b08600ac9a49661af4db6c2f0182adb50468b2e44eafb62bfd43090ff5b49b93044066ab09a67e4e33acd6940b9470b3344aeea9fa448217ee9f0ad4d1eeb3a6c29803985d8e26f7abca2588dc2c4c0137f15ab41fa2b1b697b6a8c86a969fce309025f30dd8b011ff63da8197e1e917efd9ece00affa5716b56d0536bcf2054cb2308cfc681ee63d6f8b2d876b5fa6e5f86b4037c4adb0286e7120402f14c8ef0465ba7fa1064425bd76bf9a8fd58a6298c2754b4ade4c4a059fa22e8322274585b5e3909582696dc25efc8995cf169b25ca0eddd8144e7461f508964a36a802a65e7fe08fcd1d3d1b74238970d1cb6003e9f007154d2dc8101c20e0242798168d2bd44de0b8a5495f8a7029d6de10d36985955d9819be5e6a4fcd6335fca314fba01662101ac85756032cb5de47762a0338ef26c69bc6f930ffe93b2b6df8d1572f314f65cca8864165f84ea8a7b997c3728bb2083d74e47cdee8b2359c4e1cd5985e09659cda3acd992976b56c1ab154acf76ed711673cd1eea6c1604661756e35c31b5a5a9d97bf3a65d0dac30faa6fda445b40b231cfb9f3631a5e07707ca866f10869374b6621d84977f3930e5365fa3d0f65dd7ceffe8c909e04f1c93c5276d717d9960ce6edf9f4a314c06a009bf0ba052b988bf800ecc35fda6f134224761183ab1a82c64f4268b14a9613f762af93caa9b76692d693daa18d7db3b1d7f5b2b5b23f5b579e02980d0397c4efb9a75ec4859ce50adc4aa68703a1b75d9e42c3ee3aa82c3ca6a559ed9dd5f448c67a1a0796f7500f957c9a789a55376ab3be7408cf434ae904f33c64d40df9ce31686f6517d38f3c368a52a66a3cbaae274d9b4ea9f030f0deeaecaf4e1c3f2fcbec4b2c60816d700e432deadbd737c090073296c93cd5c3076a9ba7b2e17abac7fffd000c6806bf7b7afdb4378ee1042cc0595cc0f29515e86d53e31e6ee8aaa68c5881119301ec023b58b550b6adbba725e52f4c02b9ad0d9151ba3dd701bae05bca1ed4c2c02dc8d5a4d09308a02cc99fb9616f12e5fc90199616821ad679e04965243b4a1027da5e5e999be619422bca8d2e649c13add9003e0bb8ed734209d5bcc595ef65e14a1642fe4bdf20cf86e4d603a321856de2d1e6be6d08946306c9f1f1e940f61c99e5fd0c460c95c9ca9db3bec3d045b62ee14067867ae75d86a472c3b9bd6099486debadb26b41ca07e8350c63b488a21ccad61e39f3e5c59f2c64286d0d2ebfbeb89a3121ad11047010afce2ec6b8c02b10ca8f48cb95921bf8f64ddef1ae28343c32fc7c3e5b9567138b30c5d301e13d2fc45fb6a3a5af0894489d3bebd90dfb689e370e0b65de8becc3add85c239d7f0464692f5edb020f76c05aa2e902523fc10ecc351d032cd4bd072c6d4c5b686fc03fe8b5bfa4407381c028e0912207896c822ca63ffe19fdd6b32958daa96a27651679b8554ee1c70069f2617eedf8b32ad229d9edb6ca3875f6267bc62fb29382a19db9d73d5339202f898e210604e4ff556b964b805228512e4f22fe446e643a75e903c171b8b038fba26301e87e16f2c98e79f22ec030ce48a5c6663a3d132a7793b1c27c46969b7b5c16cb04480ec139bb65506a0e164313186634050fb51b3b20d3a8f71c154c3ac0b4552f2b341668a5e7d18250d5467b15e7c0d6c613f15f2e8b46065080a5acae8c554cccc47e4a49f76ef76bc297818d325ce151432d8beff7bef2a116327f8784f64a0cc1457cca0aed0ab350b11143326ed283c646e12e1b43ea5e369d10d3d3558f744842c33b1f28b50cc0efdb125faea032aabf058dc42312f212dd732f7cc07145d95bccf575f8af2de7a6d20d589aa25d57deffa850a914433eb5785f487b2fdc1399c9a9d395a25c4fda759ceb5de8a3685b18b4f4c18507e391333efe8587f1fe2f4a0e030c590b55d1509c5e053ed52b242c7a7619d5852b023645b50f1e62a022e6064493bcdc613c913610b3a1b43bbc38c171feffcc31c01b4027b62de32cfb8326dfd193dad319ac55e8970363a3621417a4031d9bb5ad9e3e7e2ee4b81a7d13a44110eab0879de0bef380f3da97e3a00219261cbfce2056b724d36c3b746ac75e0fd839708f1854cfda53045381aaad921710f6b741238774d95e6160116b7ed2fe023000d59b09dcb055765c4346123939dd496e6772ac147f8880fad5e1aca7872334c1ee6750777ef9553875f8dbcbea9de9816c6093539dfa0f27d8b1599dac5fbe0ef0ea7b39ca5cc20cc15975dd12baef256618bd5f66d6e374497e1b036e489e43bff7f51093d502a0f7562dd2e5329c5659e77bb7abc8ecadaa43d36fce4441578d6ef66110a619be954dbb4de2d690197959b6ef104a925373b969cae6c05c893622b33a248402b5cf87aa8c61c8345ac5cfd879b2daf2e6cafb6a3f6de68c64823baa8a9eb6e529f5f5a7b070b1d9700bff4f0749d964e531bdee54f7f1ec288c12fe15116cd95c68b0c42a4ee3d8dfe15e7f7338b5028c87acc439f5de1f074119488620474569d284479fa82802fefc4bc689dca2075cc1e5eafe44ccde92bbc3b9cc8df7e319bcf9f73e89b7bb7967654db5ae8bd7963f3cb84afd7f5c4af1a989883f337b75939518332e0887c568685fc6110987b6d418bedf41ba28677e53aaa1cbe2867d715f597885ce61e347074cf75d802167f14a5bb2c2d7b56c022d1a1a7781017d6aceb2770c5103c3cb059b5514dc560bcf76a0e9bda3c3793b39347d3c9d402aa753af4164f5fd1af135a9318a02c944ab32df01079644d13253710be4b1fcc5cc0c787697c655b009fcd38e321ac177ce5c71af642e3e6f5dc75f762d4c31a029b0993a00a91550a4b92d43b50d2347ff1cfbab59f22c3404e02884b24ec1d9c5f440c82368ba20da9063b5c47cad231ed56985b78afd523f7bb25c1acca9150c9537462fe61954536ebca2ff07088fe32b62fc489bf2aad723731d389fe47633041929df1e423bd1f7e0ea8b5c092e7bf10f8002344983689564094163781acd0c5b60eeefd5f3d4a9f012e2146d2abf90c277f1f469746650f6e83ffc632723aa88ec248fcfbc5ace1ae456fa01719a4a6d904b752d903208988ee9f1941ea362798965692cd0d1f4ab8f1417a114233579f12eb324b9a25c80fe98938afbc41220950d3781018723a881383e6c45ad8702f15e851ae6a5b41b0776de2d9a26f1321ee9a750317cb842dbf78aa4a222f4d9edb0b4d6a774a6499b70683048a91b51c6fbfb9def0607bc3f00c001918754ae4e6c16a20a10468d36fe7a71693ea4d2854477ac209b1cf399f0879559e7256e25d376b5575822bcc2938150a3f473729bdc367f998afc3e06dbc890d89611a72abcb5834e5333a56b19b1daacfad227cfd8bc5a84b8469aeb8fea09b8b4ca85ca55ce636426c96b939e7c93cf60cf82926d24df3bccaaabc161ce970f1366e12456d46b747adbb4a3c859f47b9ddf4db7bc51f2a744bd02f13a7fba97ced142e5dfcd22cb828341de8eb6c20302df4692d91ff1441b8ab2ea94222bd63f236e9d738531db16157df397ad1b8945f993f78788b760f33df8f7cab7e1b2528176f4662d1a189ecb4cfee1c11a3e231a58734be43f19f02a29073b09b59dd1d9445372ea2e4c9c1e2b718710ffe582d2124d26adf44300b26a87aba93a3ca36cfdc87eafd5cf730fbe48808c45c5842b09275358e1e0880454b52f82e02972f6c14bdd4b4b321e0ecd1e59a9218db559b8103c55e4f361c82e4dcbf8969fe8f63f58b528bcdeed30bba37954f85a937d01378eaa43eeaddc632329c3dbcf1e217a9ac8b208b8256867381f34e2d97e059a58d0fcfcf11400ac6b4d3124cf1cb2902caa9655d65d5aa276bc0fdc8f55a4598b3f1b026f4402d54a5fcf71904436b0b10740e0198dfcfd119e580d78ced2eb326dff90c58f62dd79f798d4019bbae6f3b2125d064f47e67245428c4df3d65bde78a4e5b66ad38e455793816d464d7169b142665ff1bb328464511fc6593548f5a360140d0bb4804ac802d0f49441edfe7a9e3b9283e2ddc60e335f19170988c310036510e4725e378eae1a4dc766229d947ee2d53e10a5a4e02dc61cebdb776bda5e166c7af466edde365f330863f4bc1df1cf2d53d66758a44da715f899cf94a2acf6b8fe9dc89efe2f0b68b9b4106bd9cbfd6d044e739f8475856dc3137ad92d58e10451a2a7b6f1a433c59b243ba426af9765984b36c58178c58c248f71fb94f4312d4b88296ab899c6cd608fe526be8d945df1604adb186085a56ca3999816e9f660afdbbfcfe68127006ba041bc466daecb579bd8f0f8a72a4c30d34151e42ab3ec6a2dd290048c56f3ad0efce19b72a2d8720244a0e2155d672174c5cba5d825d3eac365f87f79ebe72f99e3412c5d861f10a9cd3445eb3bacc255627af37a8e3510405db6655a76e4cc73e687a6cf2145dead6818116d10a5651a0f37e8d63a08dc3006b2452531585013821be8790407e9afb782cbebe453527104c4c4ea4f267718136bc0acd00d3f2b539ee229837c310bc8a4222a6875f402900a08da39714712cc063ddb0fc60f8e40f57458089533cba074e8ee03f6d7e7d898dc5ddfa43312f85ab08edb5cf93873c33b769e723cfd76dcaa1c017b3b44e934262262c14f97cdb4f8322d9b0b871d1a5cbce8f00a13f2d65c02e685f14c0cca9e8cb1cc2eadebc70249b6ef8308edac14b1abf183aa2025330087ecc9fc10ae4446398bc9dd7332a08566008f6bccb6b2dff7d3b2d68c42cddc3ca9c247d9282e38d555f70c1512218e9104fb86a6b41859524fd439c420e005f0d36a204ffdd5c404f50a1111877a4341d7e02246ad429369037d987b690b3a4fa2faf331e8c272380d9adfe17ad61f1449b7256159a8362ae14cf0a6bdad42ba058f7334f8452ba7f68a3b6b93248d5a21917c741e333461fa9f49ec90aa7fc16cb0c7d51d876d71f5b9ea75dcb981e690956a314bbada1501599bac617a1fc904682001e7f063d9397967a93bdacb601935f34026f9623defdf3569af24ec0d7c12372ad1511f13ddb9a76c606734a10c5663f1c0d98f33602ae8782266797a39375d2aca7b55ba44ea5506680cfbb9940e84ba871a789218f6453a0e59a2b8d62b5f8e07d9d99ab971f550ea0d84421e16e383919d6f18a129581d9146bf0eb707096d92b445e9c0a0243ec84327686687fae5a0163af77da86d33ea026d54cb5439346a9ad742a7588a8dad893810ec6996726d9e4ac6c1299eaa308593dbb89c62cc3685dceb5ee1cc9af64521f9bffaea70d4c8e7040afb1e94491cfc9faf09297b01d63e9403527c3ca5a4764a0c4209d0200649b18e633562e9e3bb232f4a7359ec5084222c52873cd533a344bab5bb84ca06230eb763b4d2108df60942e854a81e6702ad5644e1b8b2148036da02e194dd53211c5b429a65b6d92c369bb1c49c1c0ca1c17714140472974e94d590ebbedbb21242a61784163975ec489d7bf68cb2cf817edfb549a2060367735ed52cbbca4f7a889243fc053db2f50a5570ec4eba6f5a0efb15251247e6736722994230e1fffb2f4f82c2169ed0cf887226dd3edcd79c90ff3d4ccd1e1c014575fe223d1fdabbd1b9e3d87cd5590c474439009be15b5a934f9c54f7d5972a8e1e49616018c7f8c85da66a8408385527af8a1c724937c0cbda54e4644c5fac86468b2dcf30c564abc45fb4d530aa0c94d845c0f2efc61b896a0ba4e678320e213338b8a6975b55f236d6158274d93dcdaad1d3cedc4c1b4aea61913f692d4b2b07cb48f741c5c02b709f07f05c74bc6c723363154ab12617094b7ff928667ab57c28e08183920db41d7116e9e761dce9b9608ad2737b39dd8d0f31c2b10ed1712393f613fd41baf4bb9ec44d543f23e3be1edfdfa75ffc5b0e856b90d8253260631f1f0bb88f4343366426c18f5ad5948633c091182789af17e3450cf84bf4e80c56573858ea6738ab02160f087d0526dc0f3d3cc4b02a463c79546f40cce026517159b3634dd14c69d29c1139257ce483aa1bdb376ad880ae817ecf9380deceaf1b1f251c0e4fafb2f493e5373eb8fecad4ce644d4609fc5ff7e88f2baa88c9c445e45fa1065a9826c12ce5f2cc744967b84b6d009a3d85b39bdc6fe4e2d3867800e9b148417fb384ebbc0f2bfc6bed72d483420193eb2b628d6dbf78853181088fa50e261be9ea1f8eaeb19ce4ce1f263afaaddbf9d1003016473d3cf17a2bb1117acc24f3ae35afee9be3119ea6f2934649c0ef111c81aa867abc913e50c4bd060ab4388a41d4d72aa674acf583ea71322e82dc9cadcc3ce7c7e26a0ebe37a2aeb1f0947967982bf8d9e3cc40d68f161864f231b24783c271ce67365f4ac0647dc029aef27e70debf89d362ae7d957d8c1646e6f181b50ecdaa41e02b1dce1291cf9ae5f39f5a1d4fb522575f51e0b51b1e39f4da01276093eda4d082675d276d00cd52223a635f6554b6d0e4276fa2d6c547bd8de48a2c1f27fd3d2d1b11fb8d5e6bddbfed62f20af7c45493d5473a2f63f730b1d2ab456ac2479687d84d4eaa41835011be5afa5194ca60813815ca9113677baaa52e9a4cf20ea60dbb6b6d3de422d6a6d16500cd780ddd5e5c74f15472e8ead889abeb31c381a508c57202a1e997623c587173eb5b8bc0b6ed0938885bb286865dd3e0b6c46eb515f1eccc1fd77b2a07cbff0b37697c3c2f5df632ec1b66ed3de46eb5beabe4f8ea4373704ba2717948a7a4bd688b77ceff68e5b1ce96dd9536c29278ec364e7b47bab82c8fb73b80acd3020a34bfaf949c7196e933c87625da42820d09594f9563964c3c91c7fe8d6dd7e4256aa2817b24f9e806c9457e3f2972780902591da48b3a30a4e80c4e4b53f4b2ca54f13ed6db4bf0583c72c4f779f654f25574a7977893b62c907d8b6082b3ad802ccca55a2bf4148b0fb1fd0208c5f825b1aff2cbe509d2e9d8395ed437a8c28b775f7adff7cd123490ce0b131ed0a91197a443aa8232618af63c42f302b4375a841f28055b04446061a4f1b05ec369123b32dc77e88022e196ac328d646056e4b34b77623795ee0455f5e74fb2fe601204c69d8b1f98c12038fb65f1a2679113597fcb04e42af2c6cf9308260f28e5c3b0bc27b1182a3f96ce58f6b1cca7db538b140867d94e844740415891b0cc9accbd95cb29db182a9177f469cc3fe79292f2591c13b3cec28234fa3a65acefdd736ef555a6efc68876baacd1144c8e48c236624c82c5d7a541ba4495e7c394e2e76eed54cecabe63b01e06da0252a09bd08330f42bf67ade0b3aaa04aaaf21c80170eb862185f6c36eace7acbadb8efe02c3fad8ea85b8075e2b2003c6d8174a92bce7a3f9fbed915e7ebf14b50c163768a4280de71fcad041c25c63e4b7dfdb3b896647d4ab470619c3eb1d0e60c78a551f8518bebf7fe09a73ee5f1893f7acaf7d743ac8a0244a10e6a1e95a468c402e79b03dbe1a3276b163565883cdd71039d584ce0fbf9975a361c65826bf11221ae40292b5d9f9c4e31ef6c0d88e0e6138bd70c8462799716ba6c034b769cef329325c8a51b341b5a86b6a80067e8ee9a04827d2081c89cf01e2f3234ce32e8c86ba57bdd572113d7962f09f36b3b27301e2ef7e59f88196673329413f8396ab9901c5c6e11b573e2f8ab5c2921ca9d7f897aaeed8ac2bc73a4bec87bd4d176504b469e646899b91b96b2c17688e52341bf22c0532d25999c360bd03e456efe604ad67f1c58003440670bcb77b53c8737b17a30225e4a52ab14d9c76e7d421fe345e2eb37429deadd26a836eca1f0e09cb8874e746c54633737d968bc008450e23d1908755ce60600478d5b83177e9703cc2e82054fc6f1b90994bfa5b0bb7dc80fa354d73e5d39bea67723247685224dc66b080e0f89c8afaa83186d4b44ab552d8badef58f7a489d2485a66ce53322fce87acd947d70725293ad524f5bdfcaa35de38e340d506ff9e1461ea89302f607a946d01ffce703c42a93365aba1af592de70caee50cdf86b6ab7a5599ddc42cb9506051ae410f25cf09c1f45e8739e1e92a402f50b5611af2b5b898458614cf9ead1b97ef75e206717bf2b0e5fe894e3ba9caf61dae76d0031417551510148eacdca9ab2ea867286792a3d515bdb22dcfa0ed4d9c620d8d5640c5fb79c1c4ed15a214ce1d369152d8967ded2600e8f4e42823ed9f4f86123f3a51befb1196104f1f4b5ede095dc96c9e8ff568edeadacbe8baa17a891af6df163a30c2a3ce653bb4afb1d58f261945ee3ff4868a6f4905fd8b5c976d1e63054ce76887c79c81ae9c593088882bda2b1b86a0f2d9ceb958e87a79c9aae576773653b4daf6bd0349e1bfa614d0bd3660c3e0e1443a5c2c94d2e40dc4c176ad707d7f9fc31a353bf844483c9a75820ed8743c5304ccb700a270e90f29337aa806a2a195dbb47989d322c3216499bec541d8f110bb67ec2c965d2282f35ed634418995c0ba7a05e3820f08ab235c4d17dbb40221d2f1320ed232eca491557d1c06c6f6e7e9256d4d05cbb7f80cecd12801406489128d99a1f945a18bf9764798eec5542b683adb73b13e0b7e02a360863425f3e868420da104a848cbb74786ec739bb654d99ad1a45880749c43178653b6a74e012db9201546f653410f8a7b43d146509b04036be6462e36a78c8417ce0111c6844ae8296a183d101ebfc1e7195401a651e8c599b1b0baf78c35de9d81501e16665f4509df3410dfd048175f6d8f9a78e5cb5d710c89bd17b215038f2b847e894d4068080b325d6d9818cac32031775ff316a76f9837e6225ada098c6fb40ef4d0848d34d0adc2ecf512df188166ffb82ec356ce8d1900b2c437904cb66004b01415ec345bf8af1b3eaac2778e70f46d1d6a712c0924f87ae326fdd619d318f661d46afa16dee65aa1a8882825222287887742440a22fe9153d1271018f130a266f94c132c633665f4805017d1581a7762412cd668b0e467efb4b0ec8f2064f55263a293ea4af673ff7181028ec524bf3c4d7c654805b731b282f3b2729be59f0a2a3d2ad4e6a66dfdd75f2f0c76cd334c409ff28aebedcacd4ad7a3558b9ca4c978adaac8696c76a95017f8e635f8c8ae64bdd69394fcdc004d844de099f038516ec0cdd664d69868d023fbf30238075b9445e58045480372d1c64bb60b35383b966b31de04a00fd22cd73de86ffc32f324b69695ea3077862a15319a0015ed2bf0f60d4a5e0686e4fe5c8d31e876b45bbfea87d50b1d5b570d52a8351f8ede00e24430158222d3039477925fc86f3401b0a43684e3db2bc4908c94128f27b3e50fee998628cf01524f728b87c6475bd47fba3b8d137d07002b302b0cf264338d277b993ffac82b7d7f90ae6a72670b493b5b75ba27706677ab2b2e8f6bda09f53e26d8b8f7c041f1c498831df387ea00592520e4b3373be47352c99dba713dff553fa67e35d4ef164dc04c1b7cc62b06e2fd44ee2048f02ec63218577d9b3bc339d9f3ee35e38efc0b3d73d31ae9a96e9031cf172585b9430936956d8ddee3cee52232eec663c73eed2e81df7cbf7602c2524681543a375bd6749fa383f372e09269abe450f02c9f530178418095ee3a009f55a0b7e47493f3b3c689aab09b26c7083c439eb5b2e54dcb57437c8f448a9594d098f46db806236b4dea5ea04ab31d28611f3cbdfc8641cb4253cb7b32126f074a255294e7870ef69d78aaaac25cb0504382170a07073a9b96d6db832aa8aa96601eaacef8536df25ef07af821d98b984eef5bbdc32c5ecc5f39402a950aa71fd6916d114eaf2abd58830544b4babcd125d5d60e1f83ef5d3d4ad3172137e3f14c0bd3d0ec1940f1c11d2474dfa1d4c0a7ec9aaacd816df14ec298c475b13239706f9ea6da9a8148d74c2ae1ca78f927c65e1bb7a89e9fac04f89f6ce350d3e1e7e6e93f4470333e08e5733300bb0d41cc67e61e447928c125df854d78296dad1335b3bb192765f95378de00a8c1ec03492db16a3dbb1335c314a8ec239ce27208ae4552f8c50222e4e93ede1fa84624c87a0bf5a99a73812d295915715b6079cecfbeb670d281c49ffe7627aa1026af24c214b073a2b79a128a9c15f98a20d007408a8840e068248d01c943291c29cbb11e282928829123b4d12b063e47589f6e51111a3308cf47fa7ef765d45da6773f399c0bcc54384004918c95972ab3459c22202f3ff7f3534741a975612ecf05c89594b432040f6bd4afb26b635a57c3a18e4a3958a34feeca2244d3ce1543e6832fb1b685866975f9d034471798a32b24c4bcdf46513b2800b05f440b03e9311532e8c766fd9205e5d06631f513f7d280f0eefaf55e4eba59fd95ff2f7a1e4e52d8c9b1eb704499d24140a16b44fe9eeb58f28b05260201fc182949b48536a8918a5babfef43019bb6849f069c1625449561887e3209e914fbf66a39fac649def9840f663421684630186937218b4ffc96a1062d4008eb1b439f67d79f1465d5f6ae56be54774d4e3349aeaa6e5485f185800d5924e85ac33da4ee54c2b78cb63868a92a54168a41c800bd40a5462248890fa4499be2521b2578d566234e26ba60b7006369343967c4e87cd3aa5d12885d038fd931ec6e12b378abc0c025cd034a5721d631b42ded6e73ec5e73ee2f3f7b1d65bd77587b7f9c771695b1a4f6be5bd4b150ddc709fa7355b1c373db68b909c0f1272c8e20f726b44ac851cffd6d427641ab2aab9de838aaeb6a65016332570c33381d86d3d3dbd7d614aa1c04a97db299c4356821a057d06ddb0c8ca241a2691cbbb1571185db77b75d58c58727806c37744647a69f61f78ff6636bbae29426ce2740eb1e4d4851bf686ca59b45e02fe9419b2d95cce7aacb34a623c3cb9c7d48ee98bb9dcd91278ecadb0c0112bdb61fbba1364109e725d842ce47d8223135b4de9bdcd4bb6325466f8d094ae8020fbd8d8603fb7fd92946f6fecaaf6ef7d7425ce6a22ca8a67799b5a95607b7f7641398f7e12f8f14ba369e8525d477bdf981019ca57254014e3b84ba4f2b1c32546f0501db67f55a173b980d371367d07cf4955094537216f1e457482846536e33b341e7c5e1dc2e4c530ff41f4203b4cc5fbdf5cdf97ed74967dc26c69f922a01902fcc37ecd21b94bf7fcf1e64ea6f8e615eb9d604b24be956607b91dc79df16f9eb89b645339efb43663ac8871a8a2abdaabf3aab05485929234053927137a0af948b0202df9f2b9b893227969288aee578d915b9553b1e8115f82e9c06edd3764a95e4da2a9ed7e7ce8abacd1f324bccf8a872f89188ac57e9a1b74bc731613d5c2f1311abfb78dc514d02ac0d14dd79385fad6707bd82762f5da6f1e59ecbec8c2a99f1a85e218fa54b7770638ebb67725f3f7be7f7983187f9d5611813c6fd872e250218967d91174bc106c60034fa51821b2236f1571869b67da3da6161366dc22cf285269b874c0b980639a3b8f8903449aeb9e434819d3a198c9803a73c6d6459c6a4daa33b5e16fb66a534ed01add3ab3a541c56e32ce4aa036ef1eca613345b9af53ec5c3b3b1a302a5183189b855684eac93811514e1d27a39910044dd7c33dc372135ea5de7e8ccf8e611cafc263f0284871b567ccb8ba57f7e1b9e3851322221ac77c41a79c3abae7faa0debb7b6118f42c961c9f9b9ffd8c0f906747b041726ad027c811a86f5a7ed9cf41cdd385c7971bb89ff661bb08340f34d0d1d33fd9d022d9d33bea00683a37bb8d2cae5b81dda0202401af4515cd1132221b1a491932991405373d10cb17c531fe7a4d401e6d540cfa5edca0fad0265b7db6425cb50a2e724ec7409c0f8dfca54771aacb4e1b472ee8e21c79c1cd572b5433709b1223a00b962913bff5fed7584096f903f8e417ebc8c96d0398b75a2ca56fea71e54da5568312d72b3e4f494172b3db8a2b35411012d94eb2d6dc8d90e13028924ce66bf30133a713845659e3289b773fead8981da1f5d23f0750684d5f544ed48e35f7835a9cae72061c54ebe675b15aabc19a11bae3e70d520a771c51c855c37d2501cd2c9fa5e6a5d46efab22519f0bf79337b8521f20194b8ee9343c28b85b9a903776f542db5cfb8e70da6a8946e44ccce0cc5d239e1be2f348e2b1935d6ce4210983540abc5acf3db34dcd10aff739916ce14a8428e3e365a58ea87a041b32172c347c3e8398f175c690721623ea740b446bb2a4ef91c97f0bd061ee675e3325ab9992f555c191edb2d1eb44207c2de2eabc207ac9cc4409d6f27de90a68f08cb8f08d21006113a684b12d00998701564427acab400b10b8957c57557c0f32d2487e28aad880c0e4c2e90229fa9593e3f824e25f07e77cc77fd1a8225202a385f9076da2c09b40a7196bbc85d39770ada9e29ff5dce16f2d31591fa51af4ae353e6ae18652f18c29a420bfbb6f2bcd440a264379e24c7c8b8b4acb64d80200037163f16b1fdd623ec6c55297a81b26b87b70dd70a984e630004ceedc076a79401ae79ef6bbda0161a1fea8e8965f2ebf6ea010c446cc9f309c33bf235255e746a29ada686408ac82fe96f2bd9109d2489b036b4a07d4d7c944b0b04bac807cf4e86b4d249c20124d1224477b0c42ce487aaeaeb6bc6a2fee263c40d18ed217ada25506869feb928465f74005c6ea43d78487de5521681ee932eb05c37835bc159312b1926fef998f06ac219e6dc1129758f09cb5e147f1c5b697b098b558b30d49e84c7b1d5ae46efbece102f4708d5871bdc6a915d7b91a4c767127d6e5a0467374557bb27464a9fb5c861cf2ea589454b3cadce3794a672afe200368b9b5dcdac47621505a068744f615aaeb73c2b11fb4f0b852ab190abfd0923f87fb64567c34df579f2925b968ce74c2f569bee8dfa8359a1b75b3b6535cc030a208410303eab27691383659251b70bd14d8b6cfad2c682e97c64e0a017e5a6afe3858b299b6d942fb046555c6bd3dad252051feca7e5c47ba5dd82545961f0608a84117f63cd4c71784d834bbbc45d898242162d1824cc852eb1328f4b3a98c4741c8cbff5b80b9344d3278ff14485393d0be63be4920da9ce3c579355b85c1632a2186369b841cc73e6b65f8b903cae1e42b8757e5cc51641dc58098df00d04a1bf195bf8d87cba5dd85014755ac23b6a7412c0320e3c25038ac3e069ad13168b44e58a56b9154532cc6d4d082849bed11e5c73d6d080567d1682cc3942d4bf4c73c89e96c7ddccf9d9ea1b1200fc65e7ee0380f1080c777563464d34a1d873ceff2508aa845b58e9aa95a1f1bb4c2c59e111225b28a8a88a98a1c742bc1abeae41177ac3652aa7034cda58d290e3f20b039c9e28372c89f6279d2490965b5763994d266d6ed302dd6df2fdfe598810368598163b945372fa0315da4c6b06f8b4d570e9d73169e9310a13b3cb0525649e81c27a0eaf1387af7e1ee21cf2d3ee5ee356318d8797bde630ff40df0cec80f02eaba9394ffa1f88bc3fea816819883dc2eed42c5667fe096bb59d6898970248621d580fe950e6fc0b38b9e62f32d68c9690ae2f43cc989b99ee4fd44bae0b6ba5232739f0b1c77902238bc961328d008d71987b7f49719291811ea73f8790b89121739c6ba08951bac89eb15428ad82b1f4f1be5229c66617ef0807c6fbc45b84464ec9dc7d4a20bf6627b14a94e0dd194a9386dc2a4e91c65ef20ee19dec4eb252474f9267d98b2bcf0acc4b5cc52c7c7f469bd5331cd43e16b34ece6a0d92cf013165998af5fa3596dcf188eeec3bc8df22e68a896313c693d7d61303fa179c4e87ecb573d3acdadbcc8f3c0d718218155731ca0453aa51e759de5c42d76cee47cfe2a58fbb6e77785a25fa3d34dc24d3659d4e20b69ed4bae51a0a870beba022fee2288fa327378f3370aaaf7d76d42f933e32910180316d66cdad8422150ed41d26d04d24fd4e311fd064fa9210224ef19abac6cc6a8215a496054280eba84d7fdce867ef375f88bc66fe1425b981a1426028796e0329c1296560d027e6a2d308629c28f16bc57efc550bc979711a1b9e5af8e05040128d9a3eb00ba35a837b3f06eaf70c801bc3edea1b2d52f082add7ce6696f33e69722543b4044ebe76fbb9c537b7c2bd1e2e8dafebcca2a9a899ab370ec4bff921c03720aca89b925189c0fc23663be3b80d9436ac538795208c0e133655997897732bdcc3f001e1a55253ab3c956b6bdaf7484e660990ab1308f70ad30c6e152a582a9d7fb74b4fdafb80dc301766c42553aba90ec523234163649f5eb365f5d884afbcbaefdb5288f89dcb90e6d3ab0e24667d9f0e421e101abeefcbcc50dd307378b8ac73beeaed118e6e85d744d7c7af20e7f50485ba65738268d25c010687aa212fd9e83dddb8217ebbabae4ad766e96af44cfc5a6f8bdb46efecd98a7e2c1c07efe168a22c0c2494038a5cc2775930165aa5037e93569ab122b33c648b0ca909898b2d53092054056fea8abaaeb6d4e09f3f08339d91f8f892cb90387458240ae6d7de718c55be881e98023586091e8ed87dac065d79a680b1ed83eaca46c8de7bcbbdb74c29a5720759076f0756daa8d5479eca5ee768865fa7ec8d2964e1bfce929ff9c8cf387bf93ed86bef93bdfcfed059f5743d8f76baa80dda63df43a33cd867df43d26e055931545084233f2b6c57ce7249a28db8ba11159fc1dae86b5030238df11e8ae922c28ee03256c55ec3baec8b557bb0a94cc7ca249d6f1043556c074f61dfe32997c73e074f798d8a3df61886618ffd3af6ebd873008032b7460ad385fa3099efd3f2fe32a88fe9fbb9e5fd795aa8ca67b0f79f94c744513e83fd8a0624937f3912e9b9f9e19cbf9e9a6f7a2701993424bd4c73e51e04657cf875fe6ecae5519eea9faff294ff7c974fc6dcc9b40141cc356a41931a7eedba9fdf3d4e739d947b1c67f9ae2f7da1fcd10356e5f780d5105e6dd37d904a8acdaa73ce395b754e1a82d430fb1ff1e573a4ef0789c442bb2fe4dafd9c4ffa42aea4dfd90356bb2f3de9fbc142817825c934883de9bb2f7b705b75865f0389fec89efb1fd97f83d8775fc6bda7503d833d96a1b0c71e43c98f31d433d1105fd2aa813d6ad5ae41ac2b0a7b15f638d8eb982caeb7241cf6ed431aec2fc23f0f83851982600f4b6fa73a45eaeedb0ff5813db31bc9f33aea5061d234b82158414fc99df19794a628fbb8289a051744c568e4034503ee83342810b543688a34b3f6688db4ce90e8fa2f1bec5bdab45aad567c1cd38e4e052912251452b11bef099201616f6b9c8711d3a5f2106bfc2acc8b9a66ce181dd0b50476d56c4fc00fa6a952a9763c8551c7c28a256a03ea62512446e5b8c3d12a4ff1dcd0a0bf0a547dfbf8aa30f977b554ae0085ca6a57333a986408634e25d8d39e58a7b743b3851393af31a611df7c78c37bed0d1620a0a08de3a80fdbf6dc51d71c4024b063031111100b716b6bfc4d000454c4139d51d697129cf316e9607e921d61230dbe0d15404ab8f79ca3737adeff14e227b00038064ceba08dd98bea59a8fea10ceec36dfbfe1c6c8d6f9493608ee1a242cb33e1c64d59686bbc4f4d4f366c244dcb4eb23d5b2aace7217f86c2518aa4b8eccc493fbf47e959a80fcb977e4e27f9c0faf1ef9d2193e6e033fe2c59899e328df424eac319fd86d34d897034c84677fa8c3f66c4152f3062b52bb061f01caf4132afe76c0a358861d825e4a46db016966c61b1d8093761212718472127268c85d89999f96a61615d9282db18e6f0950a84aff4a7239fa3dfa073df1f5fd1915486eb6eeefaa63fe429e73403863d47bfc119b2e75e277b8eca6ccd4627a085f93a8055eb8090ba3593d99a1622b973e03249b430af8fbc241245f9cc929e2a6de3cf5424c1a91b39d81bdb933ea435e42012b7733b2f4351fd75e0b8cf788e3fb763cae455f177cf75d7e3290e0a0a62e2339ff4354398f37d4acff23ea49fcf27ec79e6939ea90d2c5ffa1e2c34488f49717cc6ad2831052d08ad4a1460cd5dd950428b26ab5d316155f7e157ec88ea1f12a0623f808d815bb008f0c73e94a54ecdc75e666f6c8ffdfc38c8679cf43508d61f1dc8a3fbeeb10614f119ba20ff6ecabc3c1d2a93dfc8ded828b835ad79466d2821515ee241b1a2b66e104dd0bc280dd8e01132475b7346e05646cebee235a453367a26de341863879db22f819b3a65254aa2240cc3300c2bf9b03758500d429921cabbb5ed53918ba8110808b535f1bb6f275e61b2467d6c4dfc1a04a8f117b0354be6453baaf3c414babc68e1766a54ae1c5fcd55b5bf60ddebfa980237b5ab0b01d5c3164ffbeb79535e8d8ad34384da8654dd2bb7f9f7121fc2b01915a33c700d77460dbd2947aac3547feea26d160b28fc54e7ce49ef3ea5efde3b1e7ac212444554ff66adfbf29112e53a1a640350108109282beeaf6ca7676f60ef2f81f56651c1688d14a64f10263d76e5c3fdf5211f9d76b6efd1edc00742d0c18afb9d21db13e1543bae30bb864fe57b6053bbc3ded0de1fc8a6f6686b5cd2662bec8c7f464304f011c861d42c79a2a595350705e711871a622c91ef786af678cae3505bd3284fedf48c3f8a88d53600a8fe3ef646e6efc33a115a827dc83f9a1472cae86902db73cfd33d8906a11b9d60dbb8ac4d318ac934e80dbabbbf7c810a73878ed6ec1dba7720ef07dc7c676b7c579e14be184265c554c688c91955b2fdf4d48ee7def4301f3545e6456f106750d69a11dfa81afc1a599821d82d3128cceb53294089197a9506b491c40c3d4eb61e0933b210bc092226985b1061841f1104514330890c8c2c584159fc0cf1c4cb4208a139b7a8010610449a13439c50c3a9831acafcb88b40891ace8c8a2c86503244892c9ef811405d23226310d145088e4c447e60d550860813fc5cf9a152c38e88209a5c4ac89c182a72c4cb0288313a2286d8410d65649899d9d95946c6e6655844e055a1254415e6dc2246d375c5966f21c40e7e866481a4051122b8f851994c26539436b21f987e888c20084484c0420d5f80217205666e6e6ee6c6c1a14387ecba55372d2beadca2c8114118910411274410c5cf0f15d7501520d6883586e9476b112191f0b218f203b3b18b5dec62175537382a1caea90d54832f6831f9439a9a83b0238a4141ccc0cb8288519c82882b8818753bd7e55ddee55ddee5bec3d3e3d94e4fa86a15179104eedecdce1ebddfe4c5c438b7f3f8c1f41114c1ad1018a921ea5b2e1de7b9e6eea6dede5edff233deb42b661a28d3e973a1383e13dffb607ec6f7f2fe9d76601e02bb8279a1cfce2d42b46681c2c91a5a98d85fa0a7b4edbbe79e448a44b4e79ec8f6dd672fbbae2858310ec7806ddac7a515c52d14dab3f61bc7ba79ef8bd14e1e71f525852842197af264427932d41cff5071800cf103a6826266daf3c8e7c9e4f768b4672f1add3dc26012d9a8a185195fd37478aae51d6325b1bd3f9f80afeab263b1ba8642083e6023aaff720daa5cc05c2c8abaa8d96fac9e61755faa1942e9bbd3f63cdd69a336745f6a6161d93edb786c34c6876d706fc89e220f4727f2113293486b9904208ea155846e6f442758519da7a87e23d68cb3aca76029a149d6dc3978c85b5ecc9eeea341e76e2f528ec52107213a9440aeb83689077e6ce356a7380aa354c79284a34dcb24c5a1411df68a5911ccd7525e92c48b194e24f839c9cab02bc3f6bb40cc2c9f5bde1f55b682d329c62248c70ea154b7e2ef316a22092fa8fc39b40d4bc5a28aa2cabf43866d28a4ae112066660657ccccbc62a74258161cf4e96cc5762299478c4c2313c934328fb4cdcaf0f3ab4c86ecdae76bb58a823ac3a67675ec0d77821553609487fdeb8f34884493da258435bdeed5cea0d8e22dd363fcd67a9b7ad9948cdf9f9b9af1fbbf29972fa5e6ef42a0c553b5b4f090fd497b08ec6ab610e11529035b13bfbf201ae099f89b85c5428d923d32c718638c5146129868521d082b3ca567e2479e6285a74cf18deaf0278dbbedd4753f459048cd38a2451192242ca82d5a0875dcb65989c26a1665311a9c4c448d2c66f1cefcad3c0308c2c1106bd5f238cdbd7ce983f9ec5d68e9677cbbe25e3ed3973e9777d3bb704da2289f39edbcd01e0308c2c1135756ef6292b13364572f2e32bc120d1013a39d348a1dd419712b132e77ed387ac6bf3f013fccf8ec9d1ac2e492afbd8fd93b0dba0ae7abc2cce46b2f1ba4571033dc968db6b9309b176fc11bd3d6b85fd38922788b38caf23812a5fb2329e763229587b4cd89067a9aa1f70823602de5212c5d8344444546549cbb3796c220f58a9c7384390443b9f8098f2333e427fc84878a8e6a0fed5c75528e132a4905c5ecdfe1b118ccec7b24ed41f90c4677b86827e7112251b7aa7fdce77687b6f982b44d4c836e1334bd061dd5ddddddcdd9638fb2a15a2bd5b59baad9d0b6dd9a95d5792899db87b2c16486db875dd5bedb1aedb96e37e0e0a3417f9da070a560cf5f570cc3300cc3fa55a86d43716f5409f73cda374777703f42d5c0541525cd1533a334200afb50e6313a4d519817d599c1e4ff8144d248431bc7d03fe4d8189a1d4ca73a5414c188b53d9bb2b23cd4524dafa67036356b8c98be3a45981b3b8714528efccac44e678ac95f03670251378fc5bdd1bf1ee9a3e919f07b1fee499df63cdc939e673b69946edf5180b52b26d9ab6e3eee037dc6579b4ecc0b61f229580c45a98bc5101202d4c5620889ca444573825588dba9daf317a2a8d3b0a37c51db34dd5e6eca05a31ca5a8bf3fa326171d50350a12449f59318591da599b50bee097481b0d5175fbd217a26ae9b9e5fc4354e5789ee7e5fb0b776ab73844d5acf45cb46ddf51a2ed39d3bbfc044cd465fb09ec50b77fa13244d51a8e9833bcb4e0a0fa3b0884a8fd33603cd2c7355b14aa66ff0589866c8bda3b5e50d3b44c1b6554ea8ccfc7e4c384c7e45262d26743d43660f5b662802f26571375a13dce445b89f42eefa67fe926f82f5bf62e5f69e75b2865a144240a72cf0cd3fbfb00a3d1191fccf7f2ed7eebc2445be35b982e6ffaacabef203263e521e638d9e0f22fcfe3f22f347b1ed3bfcf64545c7a59102d21bed420b6fc4e69efee4d47a150bbeaf730d764467d4cef8a48b87d8fa931a40f009546ca8cd4cbb132f7c3098218c3817bc34bdcb78faddf294e7777e9c3eeee5e0ea2a1a675f7d637389a8170e81c58ac185945d688c562b13806ed63539c067392cc7eed9d5b5f5feec3c9b9c1ec6e1a8cdc77383949a6e6636f30e02bb0291976267e1556a470220a1708c6e76eb6267ace0d26bff62117e1efc098d889fb2d3d4ecb4e02e1932445eef9e547837cef6eb8ef7038fe70709cd3207dc87c5323ff0d8eb629fdf451faedb9d28763fbf838b6e7b6ad74838314bffb18a8c1c8513672734447eceebea9377c4447e423dacdce44bfa94cc37953ab16312af33a4be2b75c64406212e525cca5e7eb99f43c9ff9a2277e2195595a4aa4d9f2b5ecea7eb27c6ca424a385d4518e52fa6b25c62b980bf2a4ef16438c201de40af36ad4dee0520ba89e69cf7da8adf1277d3bbeb96f130bf0504fb811b895990dfad6ddddcdefd5ab62547e6e003798e14de5d0466553e5ae720258f3fab844f61a1835bcb41aeddbc9d6c896139dae56ccd046d556cb895409f7384d351aeab06254f9ecc489132e07147ad21efbadf24fda7f278de6c4ca403e5da6c1feecafd0a962061c63188652c518052167a9b15fc78b392bd1126c6db26ba5f67c24fbd9afc3b9052261a08f593c58ea45d9081ff176bc06c24cbb1c23080de1baa03265e8492b8891b082f870430f8fca06aaa3e9260dae5083fb2d6e65c28ba83acfe9793a473374d6f504ca35e4a283ebc97ab76a0f05dd117cf72768df59639ff1fbf357a3c62f011555c15f8d9e64026a8dda35aaeb38a188dd8d0e08e3054cf4405e7bedeea5b382b91f46140015f979b2849426149138fdc216ad9039c618af2b86a658630b53078e7845d9fa01a286b3bd70810c53a0628c8b07bbbb3e1acc21c514382e87c90cb72639a0cc706bc2bc394c72983c338b936dd35266d267386e64210a37a1baf1595a2c4375bf8615210d826eef420713265fd7126668f258c76ed5969e6658ecf78554215548e578f0aac312d5ad095709b066b8096d425bc3d75f14eb81900a840e81004e40e48a9829c6b497a773058b63fe428200882b5e91005fc42b7a8d2f759e30e5633c664010ac58223233204904c235fe01ea4a51715a0b5120c0081feceeee462aab50c27fb289b917788e38370db66a8c19aa30e9eedf1be3c62b5ebb71a3177b498df65d672977af95599665d9ee6edcddddb8ed6419c0c4c6ddf5168c20288007fd3a32e021b76d32e9577477cc31c7165b6cb1d8491b6e23042c8f2ea56f985be3caecd60776bdc7eb7a6cf7170808ea5edb41c17a88f10bc1dcef5fc2c5ad810b1ead255ac02d5e829d845ca5327791610f815d6134889055468380e0ba6098c05d3057441b5851f7b7b5a6dddddddddd75ef18036e656a47250b6a585e3e82db8f07ae4ab0bf2a0cf58483c1507558fc4564d3e523e7082c85096503dc8f31dab8e2ee5e7146a781ced1e4ed77d1c1d44110571435b835ca2ab16ce375f975c5bd62bc36f693e9cdf5dec874ca48c8f19a16740fe28561dff3453d3a0dc0c574ca45fcd72831975f88a226aede20ecba7a7ca8542a958f1b8a7a6ef0c13d3e5036b87ba8dc40c5070e5454aaa32b354cb0ac2069d15098ab8a46ac8d918815a6f80784afd41a1fcc7d8f2b7bc0579ebdbf1390a86a909779799999b99b999799b96e66978f83837d0444dc2cc40dee0cae38022538f12cdb979ffdee6b1fdfff466b25db4b1ae3a11aecbd2efe6c2c55b2f5777f1358ad03c5e4d781224e216998cca32470bc98af1891d0085981021dc8b9ff8bc3728ccc7e741d5d473bc48d72650e3a34d871a7b0913de2a02a3578c10d7c105bcd62b1582c1a1be05c91717478e42bc68b8708ba9c7842912a94a811d249c20555c819237a94d23bb022082430e1d7a162728e4ca45962feafcdae0cff1051ea10154abee04e40d814e34913982a4003c6fc2bf2c5ec57341521b5cddbbe29e3e730e1d002fcc9b8128542a136ca95208dccb65031084d74316bf65f58c4616666beaee68b2f66ee6ebed13f2cc0c1113c5e7f793e63002e2637311905449bac54393a7a2b47556430e46abf3229e5677eb17eaedafc2373b015ae9213d9047425f25ae12a7cb45c8539e0d51ebccacf5d18f665ec7263a8983c784883f2e888adb07e864054e463c547d88fa7b28c488ca3224338a36cc5f9c807d7b947062233f65e29a52c31bda2a94b418bb74c6ff14c2797d932270ca9a5e565c67b2ebccbe77de9a3712a3de7c2677aef73f9191fcc97be171ade894588d6a4201940268dbdd522ea76fffd710114a567f9908f8eb29fc0f6dc4fa07bd2e9fa96eb84b1fcfc1e2c3fe97c1f19cff23de69bde447d5c7efeae5a329ee57b5c7efa908bcbcbf864bcf6f5e8bee5e5d763fbd2639f0ddb97b026f2992eaa5cbbe5f399df7de9f361c233bbefde8725a31dcb9faef9bb2abd01b8c08684b6ef84be6e35d1d76a27dda4416fa0276dd343d7b75a4344454742d209fff88c3f901cd2e0e6eca5f003d52403286b2e08a1eaeedacb8bc9041cc427e019bf3ebe6a539bdaddddedfee5c51f07f4d4cbfbab5c78ff9e47e1ec3487011fbe9067fc4d58a8ee4575ec843dc1b016039d640c7150ff54e919e72a5572d81acfbeeb327aca4c4044828ecc40a2498b1644d59f5bfdf339501701fa31b9c008cd31cc25a33b2f2fa6df80902a870c71e1673cf7f2c978d3371f05d3abcbf7b4b8d053f62ed8bfbccbf77879176a7a1f19f4e57b98dee55da8cfa4a6df15e7c284990143512dd4fb267df95cdef4c978f99d765c5c5c068b97beab2c9857fa3c9f993ee357d4ba048611cbae8b478c00011d0132e2cbf5173480a208d5e472c1ecd3756938dd7ca47d0dd4411f5be12a0d1ed5a0c524f2ea9df16a9f00a30740ab181facf6ff85ed8180da2656037431bbe71a0808a8913812d59354bfaeaba37d843610bd2e9d2853db6af82d3dc6e6ac943d5083def59136d2a0bb11c949027e6821b670020bc7d1493aa8837a49db6c2759ca421dd4414e5ee8a1f6ef2f93f285547fed43e6a16f93590775500bb5132d48a39ae69aa669d447db28ca67583e13720eaaff863e75878ea34c8a19822982a127add61c6a3d69fea1c8535dbf5065957d04647d5726c6b46174fbf69cf61dede1368d8fb08551b76a53fb60bf877dcf77d0e7521a20a6515fa1c1346098860f131e97181f9777e1e4c1781306c6f300e0923d3769c038bb3b1b19191919b1f6734940347ad260de6160383b6974c78389f9d367df29fb1ef3697c8f9677e13998ef24ffe585acbccf7b98e7f11ee6e5c3ccf8171ac4e567bcc98a8c538ddf3f453960d690b6f1be204c785c1ee64ddebf3c8ff72f340813ed4d34088d9fefbd4679663c0c0de2424f929e326a038d9fcfe3c2b7bc0b01d89743a58aafbdfc70c37efbb41a57d6f86955fbe664e07ebfe3a7f299c6b135fdcf2ae6c8cc919999999989b2a0c63212ece4ba8f57dcaeb66f92b82078259ff4adb4ef9546a457721f7bcf7c2fbf62eb6a398e748f128bee37fefe3838b637300ca7af6f8f8268a2485e32f6a7d1130d1d0af9e2cfd0b51908572fa609d0e47601b73231dd8c838f9eee1b4e903ee33c3d5dec94980724992dbbab636c8dbb3e7ecb731fe9d274e874e8aaf62dcf691f0e2d9f8f9b2ccc4efb70a56838dc507af7e769a13e1afc76583e9e1bb4aeebbed4ddddb3bb7bfb26e5e8adfb4c3e6ed8d12033df5842477ad67ea7c185a25d1c77390c46ee464038aa7e80951b316182ea452bff1d7af081d38e1801810addd1a0df406304a58c31c6c8c506795c3f67b828cf4e83d977ede0b9b1846e70ceee6eed7ba5a0d6e327a5a76eb864571a1878aa8992501868677cc7ce442264502385b25058f8e50ae65f9b65ce8969b04d5c6b9acc2b02c926b09f9c9e6c90d8fb63340813cf1ea327ff5d05c15ed293d35d19808bbe62f418232a3247e6a691e1e9b9417a8c62a36b8a0c58c8804591111551e2af8c4b9e1d1d1ce3994cd5142363e581ebd5d3365bc669dbb735877968f66f5e37fa83f4db9748bf75f14f3348dbe8e81423c1c85d082ea84e57de4491ea8f43a7de5f07a0eabf43db94aa91107eaa7bd61280144c975247346d8d677447a70933545596f7bff16769f9dc885afac28ef6e0dc171bc44193ba3113738b8a10aadb939e4935906ad89e9483d4fd6f832f3fe40a84b7dfaf07afdbb6d19e1d3b3c0dae8e29e3a5d6907c832d84964e0a82d035c2784f65d4648a1f436385b9ac33448fe01aba86a65c4418abc693d458b9f5996b5405921063d56619d5fed3f7633fd794da7fa2b5ffaa7251699b358a8244edbfba30aa62a8c6d435aa02896a84042b758da890a280ba465474512f2a6d43dabeff3a92a2042430a0dacf710d5cf451836da5ab3c3f8fd62c9da8e464379354d30a66093c04557e5fd994e747da067bf98ea46dae97ef416d53a56d5a5e9a5e7e8bc131b8bcfc1e636fc878299fa7fbe56f3b915e4cdbbcbcfc97699beee5cf78f936da06e6e5abdac67bf9376de3c2cbc7c1a16347db905efe4edbcc97453f4e33c8a7f1f2b7d2a0218def381a9fa90625cc357a02a8d2d82ef2d425e47316354be5c43d6f4e2733c8cffe9ad236193dd190fd0092558df45b4393fe326ad20cdbd3c841838640f8ca95edca952b19c57e30165680292b5b68fc4563a34183f4382d95d4256df249599665f407e96595b26ada6f1fe93be0954443ed75f04095cfb9f0f5e05572bf95fbd6938fc9d71e63b58d467bf06b8a111150e59eeb92bc1c1c95df01afd98c0fd5a004e55f4b74eaa2d29790a7aea19ee9a7f2e412e296e3b42fa641f90dca3f75affd76db499a06650ea844d855f9600fe61a5541a5ca57f5919e91df6ca5258788a4fc232a4154961cb5d09266f15033d04f6d2e12f2143bd919f9477646fe11152a424443430cb43274a1202a4b8e8496d4251a94ef225fc6d742d81af92d5f3b6950f6107646fab033d24342950e64842a1d08a8e8878875e4dfab4d9a2866e9f9811a6c170af73bd2875dd77de842ddbb9093b6e1bea59cf3a88f68c87deec49b34d82ed4f173dcb9903be9dc48e7471aecf626615fd7900bed4cbf942ec4140372a103f045b73b741c000804c8c27cef1390aa552559bf0c5f81832735fcec1be5b50daa41f7c1c4a869a272d0114524e463a81ce0f290a1862dcbba9f5697946369b6edb4a54aaa1b88ddd0a91780582cd60f51d058613165c88efe1d9e2ab5df472f7f1649306a636bfa9a3a54284155230bd30655c2718c7d5876cae1dffe47833ce46f07b86a99ccb28c86d8c74831d70a2952749470bf7b4520182aaf676a62c2501b86ff7192fb6339c9de688a636bfce663196c2ac7ceb8b752a45451451451106189c000064cef6b8426a693c45c8e9c0ce5526dd3a4dc9b27cc1a2b363b930ae4b70a362ec14e9af012dca47949aae42979fd32ab44777ca649b4c767fa2f4a7b7ea7e98e119523a9447b9c9e3bbe4432bbb8e0b86d4e40eac95f48473d530e14534887830e39c450e59eca530161b0552a5577374f5cd5174728b8308ec2444c1405c330eed6d608f17efb42ed2a6db38fed2fc7611f848b30cac3710698c244f90c130d31517751cd10a68f79cac1aafcaede3df7d8afa7b0bdc1271b3a1aaa6a3f37818da224add9c1cc38e708588b0c6e9ec0de730f5d7fec633cf6b11eba6e95b946ad2ec219fc79e90f79a2c15f7b7e493bc075b1c79e3d99f5d6cabc628e0ada8130c685042678e032e0fcf7fa1b950d1b37d88552926535a698feb1dbc60be676f7150183059d24452d18303a55bce21cba94d85061c49120702c9ef35c0e932b49777f8cd7c5978350e6c7c460186311a83410316583dbec63e8f062f2bb0a0c8f010d261a1b2f643143191a99dadffbd1a3c7b8bbbbbbb1884e14d8f247dea0c9cf02eeba961006d772982716eb2c5ed915d788f30d63b7fb753a022c2e25666892f13c29afdd9d2144780015868ad34762f0d5b8241736e5f98c0ddbdcf8adf9c278f25cc11a999903a1a0a8848eb644b974686600000000a3140000180c08060302b1883c9e87abe23b14000e7b9c3e6e561a0ba45192a3400a39630c32600000000800c80c06cc0300dfff28d5357305263302d1a53ec55b674ccd1413c00e8e546cb4b06dd991e3dd06ecca4b984ed668ae6b26d7b0382b4de131fa3817f4803228877cdd033fecafe094ee38b7fe46994edf339b402ba927dbafe6f3c63786555d11b967331c9b28dcaeb2848795a9d4014cfb710f4808ef50bee80e2b21a5a9249698321336c6391410593314cc83db56dcaccf98c9cf10285c77925f9a69f3e8ce5d587a84b0640ee116e53c0885b7a58857948bd022f1dcb952cfbcaa562cfcb582bb362fa9bfd63ff7e335d95c6e7cf1617e96fd45de37afc508d2ed38ce2311a0dd4914906c223a82899a228a8a0065515da36dce2b74e206ed6aaa18c22135a616ac2f24c2e4544c4234305ec8fb902ce49584f07142f08460e391a76c7c6da0ace125d3b9d12ff9c2e79086c64db76dd8a1a6342627ac880edbc7314b2e5700edd731398375275610e1fcccca9a1362d96989c6557b3876e21fbe8013d9e079d01d8726a193581b93f3e10f74f34982f253cc2bd771a85ea86965ab1aaf31edfe664c758d190f9d58261538fdedf1675cefbeb079404781903239fd25aaf5243bf5a9d150327f8519574419da13d7ea54bffb5226221c4a2be6ff28911d23eb6a896d19a01bf248714aeee210fb94cb6d3600b7172681160aae7b2ddb12c9910dba72a3f82371a2f21742bd46588c8be887dd7f638427d786e8a99d59cd1092b9e0e115265530bde311154e157c1dfd73ecd1ed1f0953e673f30a2a35b9229d7109c5e2e10a4f908a92b278c541efe68fcd7957067f214fd10627c4cc8fd3f7c680a4dcfdcc093ea8687cf176f12b543f034f03bae95df87766fbb60eea6129ac42616faeb35c948107af72f51236907f83456b676e1578b4eb51d88f6ffcddea74275a95cced348e057b36e340dfe7d49ea34ccac03f425bdc554e2f3adbe34d306eff7548c84e903cf6a00e3a1ace49c2e786e939848e2f2b2d01f6546287c787cc7e0e5202d6059002fd6a4e1e7feb10d2e30a9525acdcfe097cefc5975ded683dfa1586a62cd86e49b391b7893e4c50a7401b3a524cedb65775cb347bc2a4e97edf843485713ec492511d0ac8ca1de2f0805a74a2d4fb36415832884e3095a2cb84c47325627210cf5169a5a4635fd6b24cee1d1e967696f87e4e8f2ed72ffb6461f8ee282a88df7bc2898d3c89a5beff11a48c18b01e671b3d1fb8fd5320da1599fe0132e6053509b02fa9e2af5b29d601c91bf95d5c65dee3b4e0c30ac8055fba9c9356409c71fe0823a54be89c4f0cbceb4a965cf7cdffe62c90a3b5845a1ebd569664ab850065a68944bdc7c4c542bdad9ee763c864e2bbe2971060a84f8d5126e03dd793459d42eccf00eddc3fc60ba23d8a2bc6d6b057ca3947ede019a06af48b88cab1d19b1eb219b903f7c6e54debc3c713baa6f3b668656bb1ec03f39aeadc26a33bbb19a817ec33670c81e44e3b26e155e877842b943d8e8fc573e0d916b37e0c509b80da68fe87864ca82ecb2786ce3787625eab7a8bfc7d6448ade090f82338a69ab9c3bb400d7eaa3258b7e6c8e972a66efa0e9c7e2e9dc2a4ff9d6db615b27020c8e8c837eb6c01b340d5479a2ba8778db7b514e2deba4dfe50c563d16741441016d7e18a9f9445a7d7ef86c3e6ad1310710dc100c79fa71b93df68aef8c92cbc0d840ee587173d4522cb18d92e08c678763c7883062b54cc4406485e062b5697b89b75adca9b707aee4a0b1da1070af11bf789411b68454fd79f911d0660eec96850203ff39a6c4e50368a42484e61c2a0274f99488d650bb6d720b7a382a71e5a302d83981a157a001e9f6237b3319287684083350660b96bd7f03b0aa80043d05ce481f595a809e99ffcb87e9bf11c3a6c236078bff46004745747e75410d7af2450a58acaedf4e5c1f5927ee02c1dd8738a2ebe39db5815303d214fc6edc67869591bf92cdca2a4869ba8f9dec34d1dbd23ffb735abecfc4ac32de6e6f48686bc702340c0bf7012743bbce0732a62363c092953c2cd6ec9d033ae4d452c60525abe4e6ad8a4afbcae80495e630e7ea73d5897d2a4e686af2591eabdfd75f7e9a7180a281afb095e9edf1d4e237a23fee4888bf57f180a6c53e74959b468f36f5036181cd1f44d8b484b38916abdcdc647ce1b6255f4b9fbcc0dbbaa5ddbbb0d9e15fb26d2a323a9ca05103b6974a994401d1cb6bd7d8eac985d3ba139649512479a050cd14e21d580a71291ed1b38be08fe6e54e47b47d71a56877970466df23eea8d26c65330652737568bc069a07e443f91cfbfa327456fb13e70868262f39ea61f172bd05baf4ed08f280f31c845ea26d7702c658aa27c4ad4dcf05bc13d768e5cdf522a3d2e884eeda03d6fb58eee579ac443887e8572a7b6ca53034bbdbf29c47f51686180d6359ff8077c9873558ecec364c43de649e2c832461e3005e49c32c0eb44579b878885f2486cbdfa656b2ce6b1c02072009385bd497a35c3e8027a954e582c507882a74af3676e26554e384213e82ec33d03ca6c475cebd220cee624fe4eb2fc84ce49d80beecac252350a6dfb145383af74e5b78cc5819c04953b94964bcda9e982b46acabe1d7d3b8c56907d9c1b6949c267eb21be0494021918faadfc65fa6f46188cfa7ff7fe7decd83ffc45c01d2066f14c84e1e8b79bd0c3faa6e78ec5966ff100ec102c0127c997386313f99c7e352ed4e1c4986a2449b26cc7a2448ad286a8a8a1c2e823996cba4157d75a37c94e75fc939f171ab9602877eb14ca7017b3eeaf80d3382a393381e35ca24804a67ecf80e7e56838ef0eb97a610d2ff3515929774f80ba1166b91b466f53d59b8eae16e01220c32f33e4b49260faac658f80197fe5237df8bcb5ac9228613d570e0f102ca13caa0a478c92b7ca356515a996abb5da2e9ba2e365d356010ff208258008c7f34d04a941d928c2f2980e8da299022bd381f294cdbe49ea492201d2503a1eb61af53879dc04503ed94d7cb42e221edfa96f405f4eb4316ba79c4ad956cc7d5bd285c1010ef2b2241ce6aa80c350f26fdcd1ee368faae8eeed589dbeee66d73dcc1a4b5c3a402b3edf2b3c4740198233d2992845d4a4c24b2036a956939f2f55e24451965eb314b32dddb9f0157458969817908345088cdc0ac12e4a8460c9d2280d1d2c966690ea66c74f20e66b18f1e6314dec31b752d5272b09d42eeeddfc1f893602af428fa43a70216e7c6deddcc8c4c892b1fe0867a8d423ba270de874b49594b64fe78faf9a8fdd884841249e8274ed2cd984352fd307cb94ff4455f2b7080dd37f38feb33fc63c5553889d994c3748bdf50444e445dfff5e2c9358d92b6b5d6cb1cf98495c106b7ae1c46af8bfd19c89469e8e98db0efcb2a5670bea6c99648f34acc80ad23a158006a05d44658ef63ebce4877057e8f3f1bfde69c1df1794a8f9efd7f2fa4c05d73bacde015bd37d9746eb441815180c7a6eb81bbbc10c378dd9a47d3753e766814d6e9dc95f8339f0f7951d1fdb199802d3ab3cbe480baf0ab935cb4087c60a2daa2acbfa83720693fa7d085c9e72f7fb46ac204a69964d34b82e9e92703921bed9b4d16356ce3f3e5a9076f69bd0aeea8e909b292428e5e6c204e4ca2d6805e9e9a415d402ddbd5671bf26a81a8655f4e4b1b7b41abd213d370a94328f965eb038176ed456dbb0cd502817422933447d6e144ae66282da1eb11b042f2e761c90ad901503cb61ba18e5e2f4ba03e125ad1710b7eb506994cabcc5337126bc48be34380edfdc3ed08ecc251a551dcf1db0b059255075eaf34077033f84358b032bb1262f72f912102cdb81598e491516c082d133b2afc9e0d4582963e1d5d5d1bf3d81b2e24b1d79ec73780b3222fbc2d7f688ca421087658c51f0ad67516e3d3c93a0952b512444b85fbc207a782c48654cc1cfc822ebfb0d3b14be52591caafa40babb43b7b874b470cbdb7ac794d357283ec032b97e95c1a2bc4467eeeb95bddbb86a0043f9f7e958fd91b13ddf6895221529866e1aeec329f5b2cf4a1ea6deb4022fd540816ef2c3197ba047e77f0a31f626d08d7fb80fecf012068536b5673cd5f320a188af0211dab60ea047480202a57d857e1658ffc29037a21be21290e6274e3a6e8fcc03709c933455a9ec92b147d958066354a6c0f678914061902f00763ec35167f9dcca95a43049fd97988e7cbe02d45e872945315a50bbb11d0736c71edf8b8ba6e27bfe8b66b6afcba0718cb0069c0720532630d872afb829a7dcad4f779a78730e8841858dca725cecc099a58fff008a644f805d727da91e0396b01de0719d90ea323b8a429a5465f33f33a256a8b430450ae23e5925f5aa96e033c8687c3c503c87b0aab843c8216836437340048b6952db2b948f6711715d73558e37c5a40d8f78a77b5e84e15af1f2fd4ed76b71ae4250a265ce455e92fce1fbd9f8b359d05b6d08ba0ccbe6ab0de315759925b54e6d1b0a9f42a06266f18e67b313499214b2da5436047c9b6cb7d292922afc5f8d5dd003dbea017d06f7a075f58d1884825e6baf4def0789dc014ba436ac61bf04d9e2f7360747d0789da70dd9b4fde703f7516fe40261277a092ca171b13faa9b8e1c5c92656b2d98295e5cde043de50b2762e91bfaf72d69c97020b3668bf7931c61f1335fbbcdf45c04a9c260d30dd65c2aa22e0b902b8fcdba1559e08d7ced524b6aebadd2634ad0696577cd664aace73ffa5e9d56bce8e2ea49f3786777b9736c89a61ea6afa0108d251aeef26cf628ec95b1304050918721f4ce343f302997b73fd139d891bec715910cac49b8d994cc7c3593320054d75ad70d5db3bd576fc86b7d9ccb54322e055ff3afb073b5305f318dff135675ff030ffd60578617657794a3b0df5e77a353667c0ada21628f76c237c966a820f3a4e8a67a5784121f10c6aae82b75823143dcbfd930f8a2a7f4158c00eed7a85891ac1b69843495253b65a1a3f0bd977ecc9b1e063a2b6ba34061c657242030052b01c0909313b390bd57edd534295744be906f84b984e0459651d8b2457e7902980141a58bef16e07430142c9280f860357948e2be3e1b085e8d729094c86b88b3e7c0e286c81f3e3f428961354dc4849457b23abd87d96b6698e7da8d61d825f3ee1016cef3f6191403cd10bcf4341a977db967c8011a7e62202b10f613b87e868d21d15372dc8762410f686e73c46ee2ea6afd80f4dc55833004cae4ac0b1cb4314bcb6f5c982cfa1bfe7641236ea2642226933e85c811cc83c0af06d48a09d8ba1fc9bd207a8e5fed227726e81a827d21498aabf771cabe4403f5e0613631c9957feb04a7da1bda7b56d2a23fb24aaf13669a6f62118a70f110704ea06c0d9f6d56f93801a9ccf3884992dc060fe45f4d8b606741c43ee7d6215093b30694500904aa19c4399327acf5cde380dca476093f1a987008b9c483b353c82dd018ecf9a2dde972887beb8ce465a92da491fb8ecd824ad3a7e219b9a4a66a8cf83ef388d0d9f44837f390c7014205be308d49644aed3dd380f1ff1708ccd2944e26c4e509828c4271e4ce0450c1b862a8823ad892e8c0ae7f901fd790a95c165dd411f49430fac5c2b43d07e2843fdd03aaaab8a78f8493a2c8e70180d89af601c5748d973c9de428c0efdf94e258afbf960a5d65c151bbd9a07457284715587f77a04a5b387f98413ecf0d6a52a7c4d7519c9263a8c983745ad5256281c60ad26965f17ed039804af8d66959e723e81a57213a30662498adea3a67b273128c5add099c48a7b52dbaf6260804f7dae19d04a3d4748cad44247a6e5ec5aaf1d748f8195731495fa24ee0fe306b4370d6a6e87a29d89b0bc61881d64020ff2c6012e0223026c5f07a61af15eab3434b614d0c7cf589752dd8996e010b128e221be30d30f99e647f9bd4d6cbfee3316fcf7ab1c434a7385d40946d92574a2d144df1ecf8265cf4b65de1aaf1162dc7f79259f073d65d2c4c7ce5d87700d8f9d825470e7d04301493a0e0c4641b06168f7ba507eb37b103b58f93ec8d1d76abd0faa388cc8a77334839e04024115de058fdf324fde0fae1f4281319906ce190e8b0d52745538a6a38f85c3884164b22091d98e6c82037649646d51f521277129dad1814585f17eaae9b018e78ad6ca760acc26057299bc7545ea87ac27a2dd4a1e16e4b56fff6159fe903d62a93bca21dc8ba44eece6c33bc6b20cd5807c9e35310de303a93fb72b43d09899e18d33c60305a61513584107f4be1a1895323c5bb244288ec5c2defaee1d7921b3d1769819119245ce48784e9a7eef0122563a1714e4b4f75c2b5c8ae7685e3cd81dce5d4dcbe0765342eea08aaf840ed65621c08d701a74d2264ed0f1d65d4ee6327ab5741da9e7063d6a83437df4cc94e9be3e8ac8f45aa9ff373958914579b0687baecb622555a2f66a78e4d2e0129e9fa23fe971a3dc53988db85b92072ab346e453d2f364a5e80859929c8907c02176ffe7b5f0fec3fe7891b57ac938e2faaef0b31950007754b76ceb8829e1f5f96e96038d5c03ae53e9788fac895f3d3e1a1ab3a4a7eeefe8d81d44948acf0af82b1069aeb76c153c379f8db4d5fbda2d04379622aacbf75a8cd5e059802ddea33e73f5101a0a2488165e3d6ab2e8dd9ab22011b9ff9a04239f60311af6c9a7314e00adbf466ecd7884c53d0f81c38ff70750fddb27e7c6cae39ab533224685ce1a85afd71ce1bfd9ce4b2c1bc42ae9031fab20c0bae5b264d3e42e5592b46d17c98a3689d09291ab9ca2d251b18c37d3dcd0ed3379566bdf1f989bac389b9b803aa8bbb6963af129f41d3ba8d35fa6811f846a733c0ddfdd5a9b35f251231503dea2db5a89f0ed4c7a859f08e745ced72f4ac92e9277f1637c118c45421f6db8eef09fd0a08fe9e8088666cc41448d7fbaa6d8111aed07db5edaf7153e6b8289f6d256ca9b100866d2dadb492d6f065ff8191f038d92851124ba46159f7d5f2213ed2ae3ccdd614b110ce2c6d94927d99c0ab18e344a859b499c985950901d6c8255c49697f56bc33d9d6d8b0eaa43991f9829d2d991e1471897f6db5d5fa3f1aefe941cfb4caadb5abb6a816e601ce9922c5525cbc7ba0738c581c6df14dc0105a00f00aafeca2289b0b7ebb04947d341ce275537d37628063da7d669e8baaccaf52506d794a5605e079790af61914e21839626d22be21c3edfcfa5cf4b1656f01188a684e86243b98561942c37c32ceb4356a0fd9eb11eb311d063d7ce0e5b37a1aba21725d57a60401f51576116c65897cb5a4536fcc94012bf9800286c1e16942d8512ea98e861f57dec6fd9c9300768b6b96f949c22218125ddbd75d9005daef423e0b732cec94a841a8ad8bf1ba23dbe44cb0034574eb8add282e85dcca9661dcce7fab69e3644d731f9da7b5285bfa3d7b8d049cf54fa41676a2fb9677c801b35745411b13e0a6930ca7f4dcf2193522f8469f30f69cbe549aefb22e753e17d2a26820ae8cf5156a031b11f7aff1fe1da3cec7653881f38f94734e321fdf46c1b4e52522f6e4adefba815ef81c7e3890c707efc2b3985225235e3bc099b41da8448b2bc3ef0037da903f9466cd27d264a8e538919e33252be7bcc4d335dbb8a2c5a145865db0d1c1976dcc95840bbeccc433df5eb77185562815a97ccd268b9b687dfe70c358a147cb6c7e7c2ce995fd87a1e048f7b09a5e1719021e81607ac567276bdbaa4be2ecb100048d73fac009b413430f0f3ee921110dede69d5fe1661f7b9ed89ebae98727f02a3e189bf5679ab0a45c791fd7a4c24ed0c5c38ebc0ae9d48a0112dc45c886f225c76723638dc018b65ea6f7d0de4b72da58a3edaa13e40c12aa4b8e46f3e48b199498341758e92e9e9e01cabf47072a8e84eb3d8d60759f5336273de3d943ad3d93949969d51a2b2847d8e24c091e27187e807397a3381a2badc46ad70ceab0dd664545f2651896f7d65b3ca593fb9df1616f364ff03c468cfaad0bd8a808fc62060216b609417d507e7ad6ac457d3922677c2f7e2a41816595c2be1dd381c6a97ab9be8de6d3d9067e4f602dec5d1e867d53622d84de3aeda15b9eb135ffdf5414072ac37f7bbd17b082a9b46b0f73f601099d650047a5e7f0c01eb1f5de30a708e87ce3efed01f15fef9f047497464b34d4c9dd1f38e36a837b3062095ab94f45bc8ac018ffb0b40b88037a0883eeceaef31b60a7423ce0fd670ee2988db3bbb40c55dadf57681c36edec2c649996b77d3614af469a67fdfecaa9e3f6a6d70533310fe977f61f19391f3a695f3d266c19617b6cfc716da405b29e0bef673c179a2b1fc7bad4d47a7eb637a23c1e267ebeb3a90f70229c291ffcaaa3be4e57a8383bcab4efe21afc56e3cce2975cd96ae3c1a2a408f90a6707e151196bf456ea645889b0a68a5a471d72910fd4ff96ed402ae76c8b3dab7d3faeac8dd00db3640b463ae2438a40bb77d540b242926b11480602bb73f63b42e0ec25095d176db887b3a5629e864acc44e0c9e5d31ac9e57825e8feec0f252361d88cf6232df160df88b04ed5fcbf2a1e95a6b77ed4830cfeba9d4a722301191ee9ff96e7eaed337c0185cee089d91572c2b96b09f2aa0ec32c4218df417a0e768f312976258fde4d1b699d09eeb2df617f1a6a8f0ff07473851e02da1adb515b6ebee0ef3f8c1026f7878227caed08329619196e63845cf84b74f469351a1f3a173e588afea6305f999e6e1c2fec2a0ee43bff60b346b4b1659ed5e1ed3e0bb3983fd01c90f51748465d78e665c9806b18b1399442079cd91587562aefa7543ec495449e207219da00fc2a30732beb1f29f191f337622545aa489c69968ef0ef3f282eaf4c328bd8a846327c6e1f11cfa4f6b9d964a23ce493bbd0366618f94e5b4703cbc47b7bff236cfb544514de0de338704b40786b20f7a10212520bf3df1064b999894c05ed6d8918e49fe63f1fe35405fc47981f030095410eb3653745d2c147de26025bf08f7890abd556947c91d5433f262d894c9a10d05bbbcca012a12de6df346924f2d0ca24455b6d923c58ceba007a24741dcff41c0d12b4eae85ab8b0c5838ea224f40bc3c36c74dddb8c6cab3e74493c3bc88b8e7f96f2a16fa52ebf16151c45cf660e37db4ffc1b6554f9dfc20a134718e00844afa7581a913ea3b34a1053101c38bb908bf5b7eb4acfb8912dd3e0fb017f52e1c687847d6e55b6a77a321c18a8fb0e678a1e4e0c02eb1cb44dcdb952d4046c93e82ef71fadd1492d0fb54da2f6ac2eb13d9d2aac06833514f5cc98804ce0f8674a85e9972b67007ee603ee8aac4870947fb5e8a6564338099a5716212f79658cb7fa9e6cee983cc72b4f8f611c0285b57ce06c9feec57b0096337ab5e091d1e7f2a4cf868f61ba9a8a51e234a8b7244775c7c044650b6be265d9e02c194c15cb4f2a0430e89fc8cc0571eef7d7bf523953a68f7a2afed3e9846cc1758ea7fcf5dcecf7643fc5a25215f9091b28f9e7fa01b9386d230d1ab23bdb59f39c2467080f978e4b71f93153f49fc0648c6af5f752240220bf349fa6673ebd95c7ef194d9822f8546801f6a57eb824c55e1606267684bcfea0bd3ab49e2bc7b0f64b532d1f629893ebc1b7694aa014ed1383c6c54a352afbbb2d1b45d27fc46bfee932b064047d982e9e5a4cbcc594bdcd7056370e9d4c8ccbdd8cec61dc21ec0efd2d3e2ce057342781e476dee1c2597430c5d95acbf998193ce0e7029dbed911d57ff10fb0c09e985c890e3e94fa18a2f01fa918e6e3e0e1783099a22deefa11a585fc8cb1a309d206f2a8a20954c39498998d8461468f2d685b17e7db33bbcb98a5b6b6dd2f1d12ad9a12f3d3d4bb9faa203d418aeb4f546c19d0faa1d3d1a109d2d2a256b13df2f3ca6c635f33e10650bcbcc89a6408c9aa07fa27a4f9043a959eef178702834db356009bf152e7f73ee2756c2c36e73adea7f95b5bf81a8df9c4c347e29304c2b491f203ab06fb0ae19d2c2899c7da9fc6ebfe74aa4851568cdc38d4396e7a6e4d1dead48c62ae4ca953a6f04c1c9a3eb54bfade52c1b92cadc318c235c0faa1ee4984c64099693391c017c53c05860edfd24add151cd63ba52534cc3cbd70043e81f4e93ca3c54b4e31e4ce96dd70b9416312ca0d6cb2e551c392ee297123ba1fdeab39ac03d09074c1858a1c4439b58333f55cf418c2b2d5ad7ef10cfdd896411672612d35bd98e2a1ba1db7ef862179835c2cc0daaf79d4a81faf95885c12744dd86aa704ced9a3cab21baeea7b83cb33c881f8573657c64abed4dac3620b628c2894cfb2f4e7e69aed0f15a28cb768dfb794bd9ee7828fd72a79b28a7320c8dc4ae45e0ceaa84c96768770383e4bc30d19ce72d836194261c96986e7ac5c3d164e78c65d15582816077b2b6b019578d086ee9ae4b439857c6ecbd9df4564e8dae98394fa81d45b01fa4a740c9da444cca08298dc0240dcdf308cd25ca91e89aa12dc1fbf3805db5e9328368ec97573a4cc8a20db2b0dc0021934a2c76deced8061bf27539b8c95469015e7cffa62ab900c6a9f5da89340e535ef44032ff9818cab7f82d2e0b12faae394093002494c7c9ac06e1900eea39bb5666b958b23d9a2f98470fe3a500270e6333879893357ad166d52528fccb541d7fcaabaf67eac910cb65c1224dd56931ffae3ca4d5b82de3f6dbe9587001cdb524e3c4dff8ce8910b1863968a7fc6ff04b90b48829bb2b5fbea7e37d0b1f8a352ee1c6797360f4c6576b963831253e14b575df0296db67fe14007aede1b4d4807098d74e898503f5051be63be080004fbc9551a31d5f194eb19c4279170bc01f91b3ccbb9cf9afcfb8c35bdd81362f3317996e2b135880393487286463aca81bb96c89fec5c7cb05cd8f9aa48b01e51d10ab99ea2d7e40c5dff4bf81d521692a03e9e56f42369453ebfb18081034a2bb4103b18b7d4aa08e0d93ced073c3ab779b4fe8338f42ae878c15b841c36923010c7d1b7db77c7210f03e4ad60f4c45535638ab73027838522e7711291be327d6ec3a043eb3a1e0134b837ad6ab973659b3475cb36fa6ab42119423483587f4419a89195927c8fba2a37e583074b0dbd6453d242cc56cd35dd8f3525229ab8096795440f18e561d7905b27646e063b3b0907b7a88ef2af9fce7c4e2c0499ee4754e3720fbbd94aadf0ce4757e677ee0032440c7a279bcf9b54696c37ab8b432687ef44f2ec46002683942ae10aa53f6b33c41d0948e95442103d921536d79be07c307a741b0b5ab77f56fe5173459a695a6485a082073155a665a379d06e16ba194eaca6c11b15f7afa1c9eb91977161d128d3aa6fa6ddd4354248bef9a934877933a1e1e67006bf7b32a9b34c5e67db65dc69784a03969655a0ee3f6d9469b38f6d489c443c32b1b3b1e1eb456e725b320219228bcc7363214a562275d0702bdcc89485bed195ecc7257da5741ca3863324ad3effa502914efb31d25f98e65ff4830e3211299d9d465d7dd6cf5ae78b8461b4b1f20303abe502e1a4dca142acc7b0a11b259429a298b99244c9ef37f8e9894378fc81e4073266d135d1eacc99f8fda0f16426ecf26a36993522a3b9de911f4bdfee671be0d61ad6b70880b9468676e698398238b8cf449470751ffbd9fe660426d7886f40f6815f4f4d3aea46335877a878e587ca1df64fbfb7b767061b3c5e01292e8935611f198a84c790d8afd209797fe285de9f600f963e64f11b95b2eac9573040f9c041c81db99d27876d5aedac1d12cb1d10d9ce8c45180cc88c240c134fded5f2d51ea8ecd5c1a859f8b11fdbe84e80923d0b4b90ffb5be57b3351d11794ac2d3e52926e7565fb4e0cae49a575c734be874227c66bbdfa936da7fcf04f57a0963c545403f5189bfc4d24e09e269dab24a20cf8d34555441cac681fe53c27f3eaf8bff00636f2dc6871de21f330a38beaa8039ec225b41e163634554b625e5ad6594c1404f9253e1e455cec599faf21285766277cc8905104ecf412c9e7608eb72ee5b8e5c7543071fadcd8ffc8a937ce69d066f438b14e4a045aa7912e0a2f3ff57307db32011410bbbd561fbed7aa83a488f259d07ffdaf86e0d07bcef1d48d2f73153fe0b876eb5d56d6d5b5665b949c8275b5c852b10cbeec6ee0436c10d7f246c7ce7bf0249f3524a9b9093cb2c64d50a9c5cbb2f8c30ef32a1eea9ded7657966071c7b73ec4fe9c68e7d0a4b9ccac7f822e49f5254cda27c7da0bfeef3cf55124617fab50ef8b7a275e23eac7c11b6e3885a8057ad933e99912f4a3a7ba19b296c35c782cf5ae226c082be21aa7ce3ad5240e19f0a8d16666e4cb0de2a6e5b93d73e83882f6209801043daf63affdf2631520b98408dd996766d03dff102d51d9df6f861edf040bd694c317cafc14dc5a9a28f362c3b109919f61b669c92c59fe66cfc873062f09759c40ef8158701828e56a9b3123002896db3b74da503cdf9217b9e246c95dff13d01295dfa4b9c59204054179461912592e456edfda5466bbf00eb7366c8519017eb719025e2929bbfc069e6d9c0d8193f5df7c852d10b7ae05bf1d7c2915473241ae017d83eaaf34c66929b29fe9c097b4b8e183ee45fb564333bc0a400bed8018d1226a6d6af9627fea921b0ecef9d9fdb6c27992a08761a2c2ff1bc710a14c549af84bc95a50b605c8e9c5597a86bf5747566db43e5c0435ad667027e5ddc81fd5d813c40970335a152f0b1e2ae6a2c0b71aa6be9ec582d2a7a46299ebaa8439d94cc6e18dd0ae74c4550d3bd5e5ded68944f68aa5f0ecc1ed06101376e26a22c5c4a3cd50404590a9dabf0b75112bc369b3bf68daee3c5edb3d58bfe9cd6d261486b57929aaac2c399eb2b23a54258c48771f879844948200985864ac23c6be59896f4bab9a76846f097ba8def8b30a353afe690d02d291f911c45402f7c3d474b1371994494dec44d45573661ae9c5fb81fa298c052f2df3d448a715257688e9c71dee52dc4d49b5b3025f4d5f0652afe9f189cfa70a11b81c4484ff3f3079c8aee54d82fd87a4e14611cb1930f8e1acc739a484c341dfe5188905cd53e113344142c3b24456712caa396acd74748c0ffa6de767d08d404de74ff1c6ff80a31476a037a77c2ce696ac332bddc32d6966c4b012fe9f61e58ed8f8dbf76f2c496aa206530883ecea5feb60f3b30db913ed711be7bef66e635ccdd6bd034f3924a44675d2f8efe590ddbc86a60fafc13e8c383b8d0234aaa36a10fd236b17b6bb768cbeb67145dc509872fa8f5840399f2ce5c02f50223fde1108c335e8d3f46a0f2f4fdc31b9c6cd7650875331d7d622728dd33be49ed32a76a3cccdb5aab8e7fb3688394d4bc7167aab4b68a6d919581e7b867d31f1c1ac8b20a5e53ba0d7155805c64708da57d8839aa2c91641fad9c1caa13a9de4c4fd5a9dc2928f5d5c76a660efe1f8fc9c7f7d60f4320933b8516e01590ef9c46f59080360dff146a933c9f2f5cf5cf485d4bd08db07721ccf3f38008be49dee4a1e90c676308b14a293815ef530902ab61238d4fbfc21c803c8d77b09e3e3d5bf8c398949b4a2486b507fbb37eece6eb394523061f5e5500b1948a417078f683fa2333f87ccf622352e906496b5dd5266004fba632e802112fd707928bbb0514486ac5a7c05cec4e0417dc321c45d447bf32caedd1f8839462d92afc9e0c083f8fdc19492b416d1b6d2f7f27476b8f0a5339e24ad0bf1c52814c72e8f7c008a5464cfc11c23e3ef03fa5c8a2324451c2ee4e28de247af894b1325849450ace53d558546b421abacce19db9277ad3cd74e17a17fffba69758f663d2765e99aed14a65ca82d16586afcff2b979b0ae807a3cb3dad1b7f7546424dd070b010bb8c3c3e80b4248670ea596058c36acd53c2526e44e28acf4a208af8f44a56dbe7b1e0fa633028361b84cd8322d426192890ed465a2c16b802f308177820397a3b1cade27315bdcb248d974aca38f97c98fa9e8b1fc32f189278eb68c3db86470eed00677c08775f6c3cb77b1235618bf691e5d691cca4afc7ad22df55b1f8c1f442b8aa610d6f47a5b31c5661a09edc6a55ae65237d4abe680bc3b46fa02a53e62b8a2bb81a95b237c97835a59426fa2704b7b27ede6fe09d8295eb0767a2ca73d920e289118273b01896b2ad756c9b15109ad260ecff6c73c0b53567fc8c5cd00b0166030ee8c5cb2ecf46d46247206b22b4fe8f818cb1727321891c46a81279d54f5f6e1a4ff7076776ddfac4f9e747ecb9a4cf0f1cbfc7d223454119ec6fb942b0a23f0b8f6c28c3ccbd55985460a176ac23fa00a384186267dd003ef3691316978ccc4b02a7d653aa21d08cf444282c17e1e3ccc05e10dc10360b0b88f4ea9da41325165c8c066c9f052dde85e2ec6e19116136d5fae3f9bb48175597a1d7fc5a00d0194dd0a352607c718c4fe3a458db8a174638e62cc1cd1128c3eb869cc8fef488696b0d69d22edea610d788377dec0556ead219937501805c41ff46731d97d64b248c9a8f33217355672aeae920715efa867b7e1ad752ed1096544d509fbf9188a74dd564ec119485af3040c622c51de21671ec835066b55a66f1377a7279d4a479f323c0cdb25db96724da3ed525a7380ebe959ab6e9a4bdc1cfc9f675ac7dbf34bb832b71565f5480f399d94d56734e96665fe8da10ed67b932bc9236dc58afcff081ed5cdcb1d154f9085cba38f2eecc87e18b6e8ffbe1444b914e5a9f6a41975d7e939ddc9aa00ef425451f6438e40bd0857d7978f90f059ae30fac600ed612c057f182dd9206482798016bb3548df88b03361f937e30c1f0476304054673a355170434158422c237e1fcc7adc6657711f04a674195caf837062c9ec6a1b3eda3b05b3a4d69768d351ca1c56e3ea5f550d70716c5016ea52636cac4d126b55672822b35fe80d5711ea0ae4663be1f6c21a3a0756578e44db3d44706841a15df09e1b4402dd1b38604ec29a16bc75950ac5741082096627cda54bc1c7e98de24ff0b76f5da1a1ad0e3ec147cd6dd9c358a65ee4c9b0c1bf2188e7585983a883a4806bf537b911d7432897373ac7b29f3d24436d98d7c386ca60d76ba0044ab4495568e9a9d4a350e4fc0d97d6caa21c48cbd232c8cce28bf2fadb336dcfa5019351a8543709aeb4fe1f1d0ef06d91ea236e76ae0f8085d68c55553da314940daedb895dfd24878a851a1bd6a1ea0a23686c1f08593f5fddfeb091cf8878750431a00394eac1430edd6e154abe9d7cfb4a4830420759312743c064154f8bca2033e2b90efb752bc38dcade1da493ccf4fa8e78a6ae711fe7fe56fd2ebd928c8ce12b4446466230d81504f0b9379bbedf0b3647cc9b9516b13bee1f5f3238a3b4ae19e29c70b8350a057df51ba098325978b3d58eae51255d2104ad46c2039207fa944031a38ac7ef60c103d0c6f329ea3b7fa4985c0e52fcf2a47c10dd59f0770977f01f235b08804a6f76ecb384931005b52814a8b3dfd28dd69a3beb94a17d2422dfe7f90fae7e359efd53b527323335ab3583319cb66bc4f4e67a3696f48c34b486b580499de071e63c42d58070eae757307ce9e8567b7575d63a2fc4adb369f6231dcee2f8d146c884896a9533623efa217f4a36f44a3ccb040eabd2ce543585ba3d656291aca2493b63065c6859ffe93fa47d86b433b53b5113a4af38d5443b73b50a372b5ef065dc6498a0d2778ed1b33346132570e4cf0154ffb8f60a90d09100797cc8bb65b0fc7b945d9b7ecfe80a1de25fafef78fd5b2573ee7df8310e4d10cc596c447fbc80430e83b900b4573ce7fb8afef0187f5186e82f8969b82fe1ef3989f57357c6045979c34d9aa48278f63175d84b9efc8792370567bf031f4bfa7f45c3af4a44741cbc7750fb9104c285e73c6347e1a655c41604863b89eaf3c05174ba78c92b10b29b25a284a489362335ef3db5b8a8df71d1c0c0c6d7517b9132637a48e808544c21f0a51d652418426a38424bba9972c98281983dc5b29d00af58c59a9b07c5903c16100abcf4264c1a8d4851c5cebb1a7a6a3e033d1b8b90b2314141385ca37733aa809c113f1fc7a135eda219ef6bdaffe88c3cb3b1fb9cfbd45d6b38618410e3b77126df0c389993dc2f323a53571247793a3ff4b0176e26e06f7cc275c039b3b787753fa70ed61aca67e2c5725d19925fd0c793ed78f6a6240daf01a61fa756b70bd19abe4078c2b7ca28e07c0003aee6cafa9a9e73a0dc3a93dac0a79200555f9ba29ea9f4b72eeeee578d5f7333d052fb7194a8ae66ee368cf4d75e95d1d910f8f1960483c1b95a538462b85a5f95f159da658eab03348e3c6fc7f1783545365df87158ebe0008ad3b2e94e162199c59f7cab3185735602cb4f6c8c80736c83cca607887dff2a96ddc1c7be1d597eb82822e0a55282c9270e219b884dfe9486a331e4fb6e3a2039db4f8b469c111dd3a01b27388c8a019ba1d78834d4fb22ebd7b724fb5f9bd739f5b704c852a37d4ab0b35144efc7493a79cbe2f0362531fbaff849d6e22ede5e964e74676c97485a62e75a7739fd0b15f666076979118aa07ebfdf6aa075eb9df9bed61950fd0c48f00bdc0d062cb6cec9ebecc58a67fd19e419023ce73ef572e34d5727051a34303da2d214680f2b51862a30cb94474f5ac425caa171b3d0e0c66ed9c68bf2c82099e036fff0459a91410237cbac64f776ac1c5fba446ef18c204f6db0bb73ddfdb91cadc028f5e5c0c3f599c6190a5ed8e6202cd307c5ecd9e831e08e56fc8e4c6b9b0cbb2342ddfd6e5a5e3f864ac99aaa1fabf2d4ac54d7c84cba315645a536db53f3437ff9f5c73cc57abc641ff2c72a31162e3be16cec95b71436a7b9dc3fa096753abdb4e2349e78a317cda016c379ec84ee1ff8e844b64e3eecb2fbd688dafd4f21aff58633f4f72ecde1ae3e4f04086c89c01881afcfe4f1650b02b9e9996c1c079e011cfdc62c0adebe0b4378d9e6f9ea2821bcfbe23b2f02ccf6cd5d9cfbba406e5dd83212ddd4f7cf918e124f2caf38accb0de7e4361f04cef2ef1085724e05b7182b7b692af224cbc6e27c43419ce1daa1ec030a830ce7f2e050a9a928d88b4a4c8477ae02b6e068a69d3a6ac5efc4b796419f47a24dfc0bf1b4280efade52a1634694d072d7e63d26050056410ef7d00b59e3885bbd9a050240a23fa761a7d63d9b0b57c1c39dbfc74ee71103cb2554680a9c3956f5ce3c713cce87f3c020e5026b0b901d9cc3ff9747078b6598fca7ec630a2e8221b979a0148b849575154b677b8fcb165fca889ab24944f1d9dd710a16bd3a650c23b530b4de7a94a0cac11740cccd36d6ddf29b8ba5e13551543794462a7a47708721a4324d9327ce5a652bb6d55aa93a4b9bc51c84a3f36c45d4ef688ec76e2bed02e7c6f3233bcaea3ec8d21f4ade015a55b852457551e3f89b2d5fede7188692307f24b89419756c2bd0d4360e9f6a6f6b306249287ba01cb0eef12b2c1fc2d6a10e8220c93bf481b8a29dbba03dc766ab70263d55b6821dd66d9d3124393d269e3c30366ffb1860adc884b1d65f0bd45ddc2a48185ae76f59d675cd25d2b40de56259fa190770a5fb4828ffa93f14a5045408b9ca8fad3e9488f2e3c10dd2c4988091cc67261ce9ca8fc5187cd6a661da4f2e2e71780230709a478d20fb6ebc85a5bb5974e0b84492452f17616b94d1fd12e562f7a4c4d62838448f66f5ec853c6cc5d73d5dc1979f1ea6a3a8749cd0250bbb8b8daa51988f3e152bd47eeef2b52b0b0b80a61dedd535d07c52bf1ef1c94d881d9efde290bd6b9be630c8b102e8b1ef10f948962800ce34e25bc0035c5a31b54f7b36284208e1d5862bafff50d3c1fe7ac528feeee6969b24ed2fbbfb216e8a65399ba28df9b7affd401555d72cd3e6969a3b5bccb6539be7062ed9a55dbc7c91e3cb402c7d1b3c45be578464f7b74f59958294b068519bd3e0f0e305b0ca54102dce03ee9ff731aa7b8624e046d35a8f33bde10519493f68f3b3e26970d5f9f2944dc83d6397da859c6c290a6662ed22b96047e993de7f27a365359c726e9fd44f1e178db9f74a8e8067edfca446dbf2a19cf7c6ac005aff0d5b776c1eabb78cbf8137673675bceae3d3f763134cb352b5f7bbda721553b044d01ad7caa2cb877ce42fa6b54bb6db22c942c16cc619a8d0e27b853895fdcb706bc54829ab0705b300abc1a2c205db3305644743a71f830a1efd745750e6a18b117967439fd6cc940247609f25e3cda854d3477b266133b4b0ed759cfe4a6e332cc1e6367c763caf8ff9680c9d40c58bc154300a8dad1987b904c1563b6da3020d97ccb8e073d85ec4dad7e974c777023445611aaae9f5c84af53f654a61bb5539113865d05d64e05764765c5d39bdde753598240e7bd94fdbfc9174baf7b1a0a50463fb699e4cde07904f18b049657aba1fe31a153a142a7a334471397e5d393c2ad2b4cf232c2cc7ae2fc8ab912943ee7b3738a891d51cb5795f266063078dbbc6dbf61e857a73fd70a689566e746df81ff04e997b6143c4ac5e816e3bf46a7bbcf8e6746d861199a9fa6681ec732a0cff6aa47a9399e2ba380599251bb2bb5a23c47f4c6e8752884027e4f63498ba1b69014f465c7f5b21ae20fe269c1a2a42da28df39c4407970de82e8c7dc2aa31d5a638e1557a69a238f7c6a95667e2b92be29a11229032c5ef0fc6876f6de42cae771c6b195ce7fa5b14b36544488910dde033255dbd9b644f0cc0d87290e97ab1137058360c7023936ebfadf35396af7b50e392351eb2a80c481e392704518841bbcb6c246c33a3df8f3f5fa793de5503286edb8ae6746a4bf74c59e56775832352d6b20d1455cc8bc438f7ac02642fee0051098d190f7cf517b115d0abdd24565117a8ac7335ce1cab09952c0eb16145f0f66f90a75d46b0c0c417fa24227dee25b487c21ac2191077e9a5dd9b679b2857af40e888182f86b5c3a87f4368b9ea783adcef21bd50bce64ac66ccecd17833dc9c996ea3bf5d201725a9548dba87e150ee69256fcc669eb4ff816bfff4fc7c90d623be30e5881118e24aaab54d02be06ad44064b490aef6ce2e9a40a6eef7de119251dd4d101c130cd3a0a211320c86ace0c4b13b4c1913d794635eb463dc7522aa778b5808a5bd3a667c54ac6ff976e61c71fb7e042b5b88c95505b1a92d3899920cd868430c7fa7161c1fb10b45e169e1ade4cc8318cb8a46c78896cb1c72eb81527ecb7a43b3fec797ac71802b1aa93ff888cf06357f9e8c3a129516a8a412f3f6c8ad91a5953a8e69b22f9472584fb1c868d734d260dff5492ca1c64994fa0e1704950ca9a348b7f5ac02171902ac5bc6c116b4924f080d82d591680894e68e66a1a971ace926d9e41bc56d06dd8303e740342568d46daff488509e21add8214a1baa96c894fc2fa802789d0a4a67da6eefcca350d282ce0c91a1851d25aac2190fa54d3e51686c5d0c3c511bccc5755288da906c32d636a9a911367bb439f9c3c3360ce97e70e3847d9841bde9863b759fecf176441cec56dd7f6dab6011514a9a384b9850911a41f4f8f7cf1199bb507fbb157ef804b34308141b9ec76ed57cb2243a41139af2299f4e9f27e0072bdf761f7b7426fabf34d0a691e30bd19f8b2e3ea00169a8a0398b8dadf2c269c9bff1750ebfc2e1b4d67e866f9ed0c2ce563e5e2b01bc46c1dc8757782af23326d402e7cf1deddd0c801c4200603a245f742823474aa16d39b0812dc6b331996e0ab07653baf8bc9a263137a9c0e6dbceb6e545e29cdb4fcc7fec5b0f71a1940d7001cbcef59a92b60e22558aeadeded7b6be1cd13431218de67c96ff9810d80f7f2e0bc19df5a4d02c04fd50d3ba15898bad5b420e892898a70b27dd26ef78935d4ec41eb6e8a8e64a31370126e3f9eb440d2d1018a908fa8c7dbf8934c2f10e954a7768abc48428db14e60b4633fdb77071c268558e270b8e81192660390cfd9e0be6a0d3d844f0b1469065720552b31a39575c97baa3ddaef9ca14fddb52c009faad0d052a47837c8581b9398b6515a6fa441142b09906f5d0dad71f83e532ab0d9e65f57dce347ab2ca98ce0a5ada3f93a473d48e06ad2f4e850388a765d09b28ef7b3c2833857687a09330b0f0c2adbc226a3f9c7e1cb96239383d804f262ba8426007d58a196f09ea031c48ef58f6ca7bacc8072bec8af80254ef6954fc2c8db75e8c08848c473333d0e54bbd410ccba498676f7fe8803d03c9a3bba0495285533135a22986dd8c30a55007c5b9424657e25970167a1d9b7d22d0d6f8e45526e48760975f52e1ca9da9745ef85c76bd7d5bb5dea132e4015df452d889550e0571acd73987585c37e55e326dabf51d59196cc3a453acf662e281e5883ac0f4b0b7ad1881c1335ae3026bf496ae35f2290ed38e65c88563b87b7d5e249f75e07ee4aaef650d406b1331e50c11c36022f62f716a2a2695fd4a1a69e0e902de010c2be723b724a53a50363dd0d8b38453494f128b8e2d07d66dc0704505708a2f12ab17d7516eb3e8c68e1142f6c8a2bee8f9abadb8bbf4f7f7ac2b5bbba7f93403dc1f1c39857f02ddd8b84c635e60cbdc6df419d5e74d7f8ace1e39c7050efc45c9d075d2c1c3420c20a56b975fd8add044161cf9d61ee3a1692a84d6d41f7cc06527344cf3cae748a7142e4d3c35d159ebf51322bf004313f9e02cfdcb9fc052dc22469fa29bc31c8e1bbb2bf68845978a871bb31bff36745bf534412e52a8c609cb61317cd17be914a87b7302335da591c0b0fcbe30632669dd045e11cce535a6f593abe5c17de6da760d10f0ce7c8c29115edfa42778c47417b2d4abd5010744365cfd26cf0ca385143790a7ff26742f859efc3ad8c1fc9a9220c81b39ebbceeddd8072688cf318f394880777c77068035159807c424eb6ef34d1c77471c6715920ab8b9c280c32b96c9631b1e93677fe29724c86abd77c61a2a309062e18537c2ecad41b2dfa65f8e59fc8b18b79ea64b8b792d9fc8d596865a3366632c0054a6701ebb0920deb61b7bbb6e88bccd6aa981cd69d41a23cbdd5a3699c3a806470a8f077736d432c04591b860f007f8bd345e5bd8ceb6667db51012126a41381da737f7448b8b327c13faef5f2bcda2f2fbc9fc5fcd190879671385712f538a8c196646035a0ad84f0c8d686a17a6812b1e342ebb31bc4ed3de9dd491c0368e240d8550a96318592ff5c57eaa949ad88e67d1ca26bc45ab137e7bb4eaf08b7813d6fbcc1626abc7dfaee4c98de0cbe6f94d55d87786e79dfc4bab902d456e319fb78afa792f442acfd2539c18a2180065e36425857cc9e7fb8bee7282c5e6b3ac282f0ca581de4e212b2f07ae05d0c93c38888a2d5ba738cdda8be0044c867f46780eea802227b098a4e5d95ee1f4064ba5601a2375be50cf3b91347f660e858e0e8be3bb6245068668d55220fadb9e959b0877b94da6a554e02fd5f41a80f0e84be802941165f3b17e568682c231dfd30e59b916bd234a0e30b21ed51e33ba0da6131da69b0255de1c7901aa1cda6db8a59bdd08a08a7389058953040cf42b8c69f25c12843842553b5df79e1eae72c0b48fdd98e55a30e1da3fc856e688ed62e4fba82546ddbb6aaddea3da356c46c5474587c96feb993305cc9381168a10b53b62697fd5c873f66a4e321939b44819566e57b3e1121c8ed713412419d9fc057801fda363ab9f1f4d8fc992b6c46d22b9029c949a16ef8d831511807419de81c186644d7a6ed2b56beac9940f48af936a9b2dd607031af2f3c74405bd5959386976a5d9d5112370cd73a4a3fe165c3b8d86a020002569fe7e71b22c005ca70a42a40a712460982b032f529b587823f5ff929d5360044b8b6b86f9e71a8bd216d277b42f9ec487dcdd24127b3f72a67a5c975198e0064e03eb7fed653b0be799735359687aa3a831f4daa08bc204e8b6295bf3be45d5777c2cd14100590fdc8c2b512a701464b4e770ad03e2f4f21f7f1e6902a3452281b4914fd7eaa923b052f0d11840993ca872193f184de20ddefeb08ccf40794ab3b7c78952e1dce1783883ba0487a5afb50587dd2143ad0be0666ea96ee20716a8b8b04c2c1addcd1bbf6132e3aa237d71486ab5c541d74366d46a30e26ab053229526ac7592320180cb72385929d8067c4be3b3ba6bbeebda0b624959fa4d16acfae25ce22e23f07afa498427343966a0c4add8df11c5158d0d43ca1eb9251e102be639a4a37381912d58b52c94343546685d92e046e12eb4d14fc15145bbdcc32c614fecc3b34998bf1b38100dbd640e26a780ac4632865e15edb1394df6067fd20b5011ebf9427447a5f0571de76de2aee0fd7727386f2d79eaa42d9ecbe1fd9a9b393a2bf733dc420d817612bbc7c91e0463c2d710d2e075b2fdcd072a2e917688a43ddf9d270b801ab17258a8bd10905bcccc0da080b7d69a3356e9141a25a9bff5e0609a5c43e789c49f0b9c7e73f2ddbe48766c279e5cfee0bb392c5839c7ac3a76e9fb9c95d54878ef9276369c1b0b2b95075d6894921892864655327bd2829b3222ff01e3d706923fe7e588dd2535a69df932bf1fad7e4ae0c394419710fed1356a8952e6f93b6e9eb6fe582f4d3e525646783ebc90330a603603b9f56e35f21ae965cc6cb0ad647f2b8e57164c351ee4063ab0cb65a6fcca672a42f995cc121a25e53ce121359da3f9e17d2e891ed152ba0c29c4c09de11d6f03a32bd7acb92e0873283a8419e476195a11c6cb33816305f2337f19aa0a9ef3b75e2f4cf97cccec42a4290e4827f27cb9581fc713962e111f88fd78cab7b63e2deb05676f4f40fd96017519df52c228846b1042e8db7c426be4299611e35f34ddc81241cc0dd89b58da78c0739a98a48842e86dd569d4c6915c7343f5748157108038996989796f7b17b3f469579184f941e8f436784df7aa1b7b45d8d0b9d5dadb15f8e531053532ad5dbabe4efcb6594b1e432b523a0ab81d62232c104a3a31f6582e08c160bd9e709d3c1e865e45aef2139db7d2a804382a2052609450945d403db51ffcd487b09f210501dd55cd429dd2b169f0d587e0ce6a3d8308975a1ae3f90911c91c75c6d20a958f7c97648a46c12f65bcd900b163a24d076cc6866083309a362563b022380ee5c1b21a1209f709a5b72aed9330f66cae5be75d02ac03e062d9b4690463d22d966886c0a70c5c5a07b8c7e5783c43adb303ddf193d5786cefad20fbdcfc4417a1c70a1ccb43c9e13da223a40ab6232e7e3a55d0ca75ba269ee30036878871b67f0ed97d436b9fdabe02d300cf8b3d8f05610bcb8694b93f9bc4ae0bee9233a4088288f3df779c40bb4e161d2655fd981dee3f143362ec01190d4473ad403db738d805408bdc69325e21909f7b0c4924162f755155c96539330c98d451946da7a953d112345d7b6a3cddcb99815f8c2078c35ecd278a328f01b35a843585bc08edba5c54b9f5ac7c1bf8cf0c3999e04a28d7a0b776d1bfa8b3d37b7a75a152594f63c4c67fe91a635cae323b1d701c932c158a0781c559674b5b82835836e386c94509502539eea80d45a106a2c1a9dbed0f4ac13c4c277bf4976ae0d7ae69d6956d9b406d9d0b77f36d6fceb84b24b17980f87124a30b1914b992e005d94ae68abe8e31fce0917dfcc0a07ec9767c7437f7de8bbd4ad920841d090468b6a886e7b8439a4c022c193068bb733dec5f3626f42dac0eb49ff86c8d8cdb02d4c87d11def60779d5f3d1d077499c9685186e4a661c721178ad91e449b07c6c8e06e2e4bb05ffc570bf1858d162152bdb5f85a57ac6411841b8efc375844b339f2ba2e2db498e9ac553803f2c301bc4607e77f64498289631663c6e7639136fa574545a23e4baa419c969debdf34837cf329edd3bc83e234a51c55f7733e41a85edfb0eee26c9b361a594e0069ba8a04fd661d47acd2a554781818a720b6224c978a9e41a0fb1226a36f482127d0e9a17ac27a82866a6090745d0a3f6d081b45653847f008b8ec823eecc49d6e6d410fd42d949f82553de8fe5d1e0d8b3f7f68c8ebad583cdbe1ff30547f7808812e57aa53d7b9ebe39f1717d04bf63ad7d528289121ed47b68944d6b8c27c2f6783712a4fee75a77bfd21a1dd9e8a5d23d73d8b3eb06b1423415c7612a8bf608a03d8c11d8ca490c65b07266b6dbe721db81072e65421dd30d20d03b5fc3d8d16071b2557158bcdbc699bbc637479d2aaf5013fcc25133cdaf24fae8fbe1ec5012cd9cc1a08ae54080dba4c8c3874008a204c0d51c5df06d604b3d8847b76a2683499239be285881eea6ea91cdde72e693be101ef1ee26228e5bd67118f875fa459b827d4e3d09c669fb03d422b4842253232b631ce3dc2c6b949cadd06be771b58d662435d636ad4b8a360b2205b38ae7b57a7cabb03648a1d9fc1370cdd0708490a9f0b87a440782d229d10b57ac1f4c632d1d53a8473be73e1d26b642ed80f6fba1d818ce2c85cf52e3225256af1ce90a58c3c84b816ee589a69199ea31a0728d98784e7bcd77a72ada83ccca35186a56b2e5b209a9814eaea8d0ff314e2be453f2acdc7a1baf213cccea6b5a98499e81390b88d266108321da884e0aef1f86afca87494c50690eb278f0f6f0c55060eb5a46620f98cc90b70cc89f7911fbc16fc529810df00a1538a944fc8f6fba9312d732d9c2cc65bd42ed31f43cf8f01472b0a8d0f5055e4603729caf715739e6c98cc1c93743f8f4326201e5313aeca94c195328512a40d12c663731d562fa3cd0915c5364c2a67ef1d4da0929a09a1ebb8c7b966d491d0b7bef9209bab55e11edf5cf086e9f7da5b6113870fdd219cc59c4c1a1719556b7de0b2c289309b1c03a9ff722734870edc199701ad6a23014ef071d40bf39e728277e6536da1406e32ea1d16f01a4f731d6a5cbba9c2da08deda2635e6555b188c76cb354e055fc17f5546ff7c22b17aa55a7af93a812deb974e577dedcd198a0d6022daeedd0c0f8f9012ae7873381c6c342bd0253e7e2e8d3285df2c9fb7260c6c792ced0043f724d0684e60b71f0f0217422822371e09673ef6736bb30552ec747f03822a72a96527bac4e5c20ee9cebc78056d33f3ad14370bce5cb41c97d2f617dde94ec49df0b08afa5427c53a366c113f3891c97d8ceb6154d86d9c58da4ece70968e136811aac516a6d70d3f63089cd0114ac5a56d3e75170fb5c6eeb53f9dc6f6373c744d5b984606345f39fedc3b7a59ae21a41e849507a17e6c9d464772e9df4588164b5f7597c47e18958481a2fcc08b8f88cbdfe2aba1addb5015585fef347afbccaab6a8f9a87ae4e70300015afca725c7adda2fb8442a2649cbdada97ba61bbd9acaa751c440f4034d3597e1e6a4a5b4495f658ece8c5a998072bc3125000e59f058721938410ea85baf64eca3dcd36f920d1de09ccb21f76368b4784530a97e01a781b3d9802085210b046f1710055b35f7ad170dd14ca5fe66a3714e3f6d22ce15d7100c47d6fc364eb6dcd1a34262e07cc82ab55bff731bda4832e9636c283441a7c8fd0d67f6536f4d738fee9dc1696c45df8ba0e7d57781d62e514cea27aea9984b714afa4982946b2877e1752febd71cc9020ee81ef2e1c474beb8a6e7c72e122815a999d6e98f2ef1527de6ad1c3d34de8ed49d0503ecee2c49e7a063966560c20299a987c4cff2d32a11e240aa8601e485fa19d96b697c2fd060edbda4c97c5f3a9fcc8ac52bb1d5b949d90bbbbee1f5d313821c9e7465d93889b10cd1484ee8ae58f7a98534ac9b2eac13e823d872dcd1764aabf4f33116c69ff31364ad532dd8c83302415eae5c8a81b95e71d00e91a237449108f57fd3714f08b4b2e9e0c07988a10014993b060a839e1c34c5a4c47fd550d017c1ba0b4dab2206a7246da629186639e537aaac36ec44ab7387879b9e09ba8136fcdd91b584e8c55205df3a9c8410360fa687220cdf0f1d17f69e14d844e428a1c92399cfb2f2ddeac5d98ab2498d915b75857538be1aa531b09b80d59eac0dee84f724dd24dd8f3c79b22f81128a5e4fef2cdc79db2718a1c3542355eac36c01e4e9467e6d147422f4ab9eac85bc9a9adb287ff484bfd654a957ba923c934744d10f323e86d91ff4c6298a10b9c0bc910bc5ae74e04e9033678f4f7d907a3230d0df4213e35a5dc0a39e808a06d9d2bb541a4ca4c376aedda788e508c3048bd6b35e880679704736dda882226e0328e3b6f216337c4c4e1f136da82f324eac90f39aff76d0493990c1fbcf9420b9d03e23383e14fb798d4eeb1afbee68d04863f36d071e9bebd65203795bf1f25f908be988ca09f9c320f0efb30f7378ef0a79c67cc88fe73a589779fb9443501756c88ebb7434930ba785e0b380c1174a9f400512e7a9e2de4a075781bdc722f36a75ae8b8df6fc4f91902c9b6a587b52b3e208813ac1d810180405af540371e3e0b150b86b26aeae20c26eda2688f1310fa29b59575aaf3124579163d824891c19a2e78dc7d002a208791cd1c48751e10ceb75daef313c871983e528a1837c8a7f5c010cf87129e202d4bcf802b126c5815edcceb29c04e77a5c18b08779de8354b0d90dcd7e55b038df027a8ad9c3b7d77988e296a970d3cb7296bb36d34dfbd41f2ca41b8a86ad2fb009a4b145831905aed22ddd5ef5ebff133921ae3d64be97ad7c8215eb7373ebdbd0a1d05577e1325d557aa24b1a024488fcc7db548ac6cd7901a983de0945bc92964039eac26c855c53f4e9f488081dd1cc9602ffe92ed5400f4dc5bc789d684b75cdf06f40ecb076b18493c7a3ad9734d9768d08151f2873695e5bcd8ed9c5394aeadcf503ffefa4727f589336037a485a5033dee0a65997515f2269d4872f27f0b8460f968fe2d86c826b2b87f027936edc4b500030c2b83e18d29eeb970b390aec74520ef9044453adb672ea4249af7b06a0c28f40601bb85b22655f0c06ff5ab213255be4296386921cde3effc5e8ddc62216fd29e3a78363cf82c2a2c39bd7e63e6be683fa60dc4346b3398cd46ddfd80a3fc85432b5952640a7ec9d3f2a963525278c6f04e5c3e2855d3fb8174227094ebcc5ea4ca7287ba98cc0aff7773295ced31417fb7d262623ccd5c5a9c8897efcec4cc9319c332d27cec71fbd0b300302637d6489932f75523f1829829181b66ca19cf14d34eea6ddbb3b1266a7bbded39c27adb169b30a44746eeb1268851aaf0411357cce8349f7ca039aa280912f752d2661f4ca599627483d32301593d6abfc8c934605d97ebedc3f02faeb43e8e6d32da1c1373cabc37035ed9a2609562e3ef4dc1013b2e4aa47627751f6783b401ed18e1216ba5c2638fe93b2f928d2533e16c1f191670b0bf16d974b4da2e2783cfe6e92ca9580d4628f6071653a3c425647992da7c051d9639c315f02f476cc41bef8c87f3095fffe7365d9a5a272766dd319ab0ca50acfc899fd19eaef4dcc30cf33d931146d173b8ffe2cfb8b79dac4abeccfbb5ca1487978a38af21dee114de02c289780eb21de2550e4492dbd53cb96532c4fe5150d44f08c04d35240354eede8de9885db07c7a1d7f3187702be40d2b3fd9db18365fde1071469126292104029be8cde3b1a7f70f1582fd682462b13c8a048a9911480a6304b8e9cde6f2a31ed10a13e8c573988b894559e1662833f857eba12b046ca4db354f8b06bd9afee9b0a1fce767d03d165bdd4ec116636acb05e89b18814a3464d124856dc50fa42b56ed8c1164fe61465d0796658865f77459712c0267a64aa58d86a5a3daee073a3e056bf621c417cbd5557270150c5d47b6dac7774fadc4a288e6807844adb88670155c2e870d0a282133f19253f5945cdf1e1bc598a7846d98c77c666509779b267344d9087a5e766b5323d74c9688af25be309a2b782d13023fdc0a84dfe67f987fa045a04042f5207bb637b2c2fc4efa3f3abd91be72193976bb56a05cb3d3a1581809684c35d804bd8b593fb17de0cc71776050677f080d9ec077b9e7d6cfde444d0bbe60a6dec116c37292eead500917ee2505b8bd730d016f69bd36a076b13da80c22a716cab6638e196caad9acf3b56d100056705314ae3795725cca692367a4be6536b6322f0483ef4925dbe79bdc09438a468336b7b63951aa2d2384531940244bb40b40881c916678da40e7a80684c87bafde0c7dec4210310ca58db57bb5e72aa3a8f242bcb9106b44281e9cfdf805a13abc7975408e16c7b1d08fd540a99f6da60141bf9477e76732be817be0cc7f812b2fc4fe47b8aef22457d257102a002cbd82305cc3187e4e6814f15143abd17163423406a5a2d8be6a7c1c7c025fbe1a33caaafa9a2144bd58519b09fa6a20a51dbd356f4ba5414bd7a2671e666a260978356800ae0370098af471c0551be545adafcaffce0a04adcf16b0696cc164e25ca60cc63fc32539dd0fb52bad8fdc6661b5166d436e8dd4deb4f66f5b55373c59de232dc494e0a81c2814bcfdfc1bc4c7f7ddb84d1e8ca7390f1bd81db46012834c3489354ffcc93ef936acbf168f03f16676f1fa1744280d15e52a648c3aa58e332576e843aa5b9821c41e1be2d7e220ec294c10e35d84f21ff708517bbf914de791d33905b20e8d296e19a88884d1600b493891f450e30f8351f9a25a5ca525f0e0871760430f162dba4ae86c03b55043cb0f5e4824ab050cad291252c2c7aee428a7db32198da5952e40e74f06d2a1a128aca4f9be11aa3cb1928b8e55bf6e9dd7c88e67a13664980c0e7141642c102f2ac7363c9a8c3e352ee5033f96b34196943164a231fd67466404ca326d4f456529d8aeff0e2151edf29a91a826e4105d4c7260ddc5414f2c0409964bf62e3c77008deaa2abfa085d3956327a53c44af34a6d4e0ff980ac7e00e49ced719acbe0230bcd4a520d28b74bc300347b95d2c99b10039d11165c333b0f611d0e3dd12040a123b3c0cafa0011afd7a283c16b89a8dbab0e8c1b19653bf10f270620e91e6d1afcf196c6f618ccdf792247ee580fe6e4e2aed66f99bb242f9eb7a5fdf2c4094eb98dc24e1c100f3de590cb32266ebcb464ce396fd984fc4cffa6675d710b066afce2d1a9add4c5420324b23042d5051734cde5df3ba494b9d1e07d50a6a728538bb6ada12efa5e23f6919e06c9646f902ebd8f7f7c572938b80699293d0b04933121c4f4baa4e8439f7ee2985672caf4f4195d2d68d2d6c600698433b0145782d5a343601c3a89972a8140c473b7bcb77cb10e99de431e3dededddc8fb38598ef576d707a6d34d9b78b192acbda232f4c08a08dfe781d1ecf0a497f4b9ecca7aef1778ef80b51ef068e350d96afb8633cb70eb02927e5ed23b9ec9cc944525508fdea011b82c8eaf41b63a02758a3c0fbe8d9851b63b252f6a6129fe64d0ed09462c243797e753566aff7049cb59b93561d774a509574241ab333ce5beab31f74dd0438efb58bb14d30cb645efd614d0d7c70f013bf68e5fbc896791a20492d24161fc49defd68b031d7589a9bcec4e654cf9d8c2847f39e72e4cfe672a2b73602324a0dcc434c7ff8071eb49936bbd0a7da7732a6476580405ae28795c3be4daf2ec84c0e010aa4f0ee191fbd215795f826d140ff4b40cdf3f605a3dc69b660223ef75dc1e7fe197c2e24d88f22fdcc508e720acc8ed6fadccfdf8321dceee087cef450a293a10bae699a45d53bfa04e3aabe75a91e051d216bb1846b7dd3d6623d07a8bbb6874ec537e7a4c703f7ae3cac6367798e7af1346b88e61c04df3672883ff1ece7ccf6cd5a7a07e6d48d852af87d857583e53b4414150fe704dabf4bae2263cccf48c4d47705164b2b18b917f7e4d50456160ee413ed0de2da70160128e2be5337d77c69001fc40f9892f9a4c48f077b05d0ee5b63e86879224c8113ab817bb34ef8ac0f1cd366054908f164ee137350977c4e97a4966be31a9d0707b0eea605d6bf35a40f59d80feb83e5e9d0842593dea39be90d232ed4598e32ef2122711e37dadfcb844b61add9f6a32706e709134fce758ee7e28cf15b9cbb9fd00dc2eb15da92feda80cbf466edf4000a2779a6748aaaaa2b1c29577de3f006d0c2c511e6fa8db812fb0f2c8c94bba02e541589e8c6ef5b693e22518e5ccf05401beb3b205fdabfb0ae1211a647cf867e38507a3b48fdc622d46830cb7c4d495ebea68aa7f8a94d0622df6bd3d8b9065aa758532be4c9a7013aea3d7248d9e4e452a14780243950586dcc20103f7d1df842bf811ed59107af0f37f965bccb11c153fb96f3ab18cc3873886454e61571eb01262d809bffac93cd3d9c373aee058bf27b784e94018b75f4a77c6f344acd34cbb5a12335a1b2091509fe2cfb97b02ee66fa6033d04e6ba1436627c3d2eae140722400e2050e7b1a667f48a6d9d20285b357ca13b6b4010fd4bb50f8ac3a2242af2ae9468db803d6a4ed42ef97fb18d3f4ab724eff14c6948804194e4baaa2367d6a39dd09e319db4e415063bf301ac53030a65168356204c71261d5e5cafe854173d80dc64111c28180b58d4599baac2f449179bacd6c6bac0899de1bd1c3fcf33ca78c72e80c0e1f538bcfe54360abaf78400042ac88c9fd1b1eca5410980651f4942c8de7bcb2da59452ca99072008ce077ad424e1dddf342904572c760ca172f3c7c7bbcf69124f052043929c19b3118677bf9879618a8e1e62ba78f7fe6a813270217b09b95450a84a183031715cad4c22bcaa541aa90c00a1602d662a2182a904e79c97a84c224ad01215df4a6ba5b4dafae246931e9b8defa5f45e1c0e87a3f4525a2bbe75d7af47b5bead58f48a0655644f83fb329da03c68da59a13e7c71da4fd4c8a75fc1d249fcf0c75a3a8122288220750abf030f50d4ca12d7c8d648124ee0788f57891694ca17850715d08ca9b5e18b3ba774a26c322ddd79a11fa096dc8bb1acae62591eef7bdf57289dafeaf2625923fb4d4b7639a83aa5f9ebf209eac353420f6cd981205e1f45074a362ca1542db56607911c9f34f91d7377b2647cf734819f6a00766c2bcef6a959c2368d906f37e55679d7064fb12b7ee37e9a297d1ca73b9b4f346209f7a0d315113d054d1c16326d1a093f9b44d6c8becd449be7c84d6431d61d581d46e181d5e15f1ae3a7aef68c84a1b937e7396d2206ce1eac0edb7e04855fd9ea1774fab312a88fb4eae0f467c5ac8b354407135aa02a08fdfabf86382b072fd610d6c9ac20f05b53ac20f4d3ae7311a821ac3982fdaf202e91d5d924233a705b5d0a1cef6d9eb9c77f2f14580758d72f0b3ed0caeaecada21e34a178f0565513678d6c1187b763164edb3cf9eaa3253970e0f09588c8ecf04f3c00987b832eaee1c5a7402bc31395bb43b97dd7c876f80d4944b904a0e12472bfe1cfedebbb2a6c5f0dfdb9fb04359c98a4748dac08459d3ffec3e9cfcb1535f7eedd24114a55f7ea7ef5ba35edd0beea56a9e24c21f3a6b44bd21ad5cf95b8a21397c7bdba463a887f9ab86e6be5c9fb046586f2bc5bdde2badd5924a7fae373303e070e1c2ac9a1bcd59aed7ceab7e7f0b51c2f996bb61b2dcf8bd5f98be518961d4871b1acce9e137c3dc5cf6df85a5e4bcd53fcdc8632c5099dd27a3b90e202a11f464c50d25e3b90e2f2a01fae55ce147fc39fb7aa8635a4354742adf573d574a2bf7baefe8652c9eaf88be54982f6fa2284a0e7cc126eafd92c0f3f6f9559d5d5d0db6bc503c8c5b248b4e332fc50497bc54d609e4f7d021254a4003bfdda29fd20be483f05d8c557aa7150c2eda28981d5f1a726d6ca99a7093d47c157a69b02ecb967b2149467093add20fe8651fcf06b297e58ee2a882a6e78b1acbf81764a7f64b6f45a3bb23abae1a86ed8b0e135d409caa1a725ee3794195e43498276dcd7211456679b40b03a1bc20d3fa9aff3d7657db2a42f54d69e97e4db5a06b527dfd64690f579499fde4ad1466bf8e4d7ca53848b953bc7a7e18fd474ea6082c8eade6e900beffda3c0e2988c55773a6486136510e8841a353127cbd46a67ccead5d64a6bad9a1f811e27ea434326596bc54f3d6fd0c5f90bfd79ab44545a957a9dd2079f526ae9879bee112a4f94f7aabc3c2c099badf6b6fadcea6a6d2ccf5c586ef33ca265bd3ec61e482ce1374bc8662e1690b81d3ffdbba3216ad7efc135aa167426faa1be0797f3fa1f82f06b929b8f61b15c16122a8110ae007528924d689b4a42e5d1eef2bedf5a6badcd00779be934be38bef8bd2f5bcb40fc91bc3d374fdcf98f1c44f8e1186ca1919242475da8d6460cfd786d36b38306fb6d4f62bfcdb4fd53afb8db17ca8063b2f6a9e34a15b667302da820849ee90e953aab2bb2ba5bfb5b5953b2fddd64ed8f169083d35f8f8d6d9bb46655e06e3ffcddeff0c5726793684fc99a1d765876d8451e306012e1c1c7b589e319f421876a88a6e27e665c73c5f9c1fc75ef32ec79f79c3dd4307c4a3b641cbe2e535a0700556badb5d65abf29d30a8359c5e611d7f9463263fca692d5e1a33e4a61c5369b99bbb930fc737c15b987a109fe2d6be5edc9d26613bff6fc6f26353b88a6d0739334c9e74f819a39f44226353b58a1a740ed874cfa42e6f97445af299a6753d880418302f5700c39b8fd7ceae19790bb53ade4d7681c4f1599c8ea307efed53c89189086f1c5f86b6f91aee92486a1938a7c5612b482d82f96b5974e55ac62492b88fb21ad209cc0af399c7bfcdac491f015e16dc339e3ad2010c759ffd871f026ba2476bbbb46f64730e16e51df872e7e82fc0e1d3885bfc7bd7339d34945eee1d73febf94ef469594ba7fdb58310820827aed135b23c7ef7e63c97fbd7e9764a4d32483401e9f8c0ba8bd3dda27e7516d7cf0c6606183c9be4ced0ef67f087d33fb13573ab26fbaa806d4597ecdf0fc1841c3489dfdaf8495cbb284c6a91de2bb1f70648b8503feb57ada4642996f58b2edd3a096c3f92a338e69cff83db8bff81ed479302b60f5d9c04b6af6db27ed1253034a98e853fdb8770a951187608ff83db93ff81ed6bb7279f02b6af9d88927aa9f1a56ee44bd96ad6ac56f443530823dc1cd4e8fe85aa5cfdfe99148549ae080fd2efeffa7b525bf10befce21dd4f37ad557f7dba434a1fc7294d513b28fe2ec3b77aa4f4719c569aa2761dfeb0ece914bc59033a68d0a041a00adc43d3a9d66a7e5b33511f34ad17c7e626a183d3b7545ace7e5db26ef788033a44451f819e289a63007ebcc88261481f63f087837fd54f6c75f4342fe9a1beae4826ea6b304bf8f569e54a2b167ec1dc909afb23bd200bbd573f058b7667ad5ae7bf5aefb94ab43cda1d29d19d4de2577bb0ba5b54afae54542e0305f2413de0230cb0a954c11f9eb30290f06aadb5f69a386b291590e642ba78996cd2f3d7ab9bf474654d1f3382ba9c7143c6cb740f14b0282080bacae4e1659249cf3f20387ae6e51ac686ccccdcbf1f5efdc41d8710a5fabd3ef0cc91d20f20074db736e79ce3cca94aa3c5e4c890174f2cc0c274c18042980a8278e4929e737e144d205811f2aba04bb46773efdaef9cb16e6da8c248e952b6f79af9f5be729e9e78d13983448e0f08d807356088d2a23262430ea9844ac6221ed15e72e0807b6735d95952f09b371489eafaf8adae05165768615784028bc12714f1f02efcad397d8b9f87cf1174198a9c87cdbdc3adaddd02afd6e4a8404d1731466e1cbc5c3183a7cf8d2d60022008101a3849f66cf98173d52020cdd7cfac46c79c9903e3476390192b5e6da1868d3f2f7eb4b93ac3832a1bb745a219636b29f5ede887eb802430fee45b4ebea5e78bb1c97bb7338bc4a14e0dbe1ed4054534f87aee6526fa21b3e1f6eb26bfaac690b3482492cea9b5f6890acfef479b34403c643cc940c3e40b4b192e2b1d304651ccca56d9aa534c679888c3eb92180fff7ecde2e77befbd37fca3a3ddb97f7c13e7c4bf5777529b4ef8c3daf8792cf9381689e21645a2dbcdd9f2986de599eb370cc7a23ce69cc7301c3f1cb935ba7fd25f0d7f1ec3f0c5f14ff1f78fe20ec3131fa0ed70873b04210411c2d034c22f78f5cd175f5a436282cc04190d1fd75a7f6cfaae9be8045ffc5aef586bad5bd051afa78a1e6e0f903d9b4ef76d51afa42d14475114f70768e183210886211191d5d59aab6111d7ca33d72b07fb9dc2df22c658e7a1e847cfb6f85be4d6a83e27f9e620fe193e48ee30dc1f3e18664b37ea540c4c0bfbc1dd81d5590f9a40b0fb0c7fbf0dcd6d1ab999d81a55309f64af6fcdef221603553f692fa4aa59928e05bf5e6b65f8fac1fd3a9a94e141f02ba04be283ff945210579ea83b0d553ba59b34942494d6718d84aea738a1873f56d256152803af4e6510c1d00aacbefa751c811ca95fb5ead7adfab557bd2ad82882267cfd3a75936c5f6b58bba379e6aa68367918c3c3df66355233eb95357af062d52b0b248fbaac3d587ed7e5f79c71ce5076a70c9c2d2fecc1c2c3bf69d293122f247bdc6081a2f382879fe3cf617c99ec2dcb53d7cfdd50797ba1328ac949d37a79336d651493b366d61f69493523adb4d2ea5b92e2840e5a675c8ea848b73b52c24084ceb85e6be3c815e7514539a29ea4935058a3bc532a02ff243273940d68ee72e615d4e1e7e62840084104152654a81a55a7aa8c6a758581e0489d99cf08ed8306234d202c7dd2b019809d227ec454a171a60520158845caea592eab8300969e0f4a8fb4d612574775b59681aea7a83cb0a4bcd1de7b2bcff651818aadc172c6a48d18952fb40e1d282d43e47cf9a4f898724af49944d00f474b326970ebf7f708fd82e6c6ba3b78bfc8bdee568cf1c5b7da3145b062848599f3c30d9a2855e4a8e0652c461e3c4c3ec7b7519709b62a90df256eb0267047ca56981b6bd0f831e9a0655903458c112b3c5bfab8c082183a5247689c2d28243b7850b1e961b39e2e3d5dca3dcf99da5eb31c00c6cfdd33e739a2d7793852c280a9c4266d9620dda02f44ac7c6ebc6e488142850c0d3318539ef8b14afbe1802a367ed841c267c8091d3f31616f2d293cadb087460b402bec60794d4023cb8d981771b67c75e3c87d9b589b2b22eaf488d4fb94c0877e4353473fdc3f2b701af5fb54775feb8aba3d81247139a222ddee48090311770d0a540c0629515abdb221520ff8932510d88f3c5c3a9e9434091386e5078691b3a2a82db45e188e32b3fce30826e07ce2cf3baff2047d6a742935f2e07a2955a853a7f38e1ad133eaebf644c7d64c3142c74f539c8031c97144aff3b03bc2e0e25aa5e3ea098a1e296966fc6c6db903003b6bf064f1222635d5fb03848a8f1557da0ce20d20cd8eae262be210a10a005dba5ddceab8b3ac7e8abdb39ec5de0528f0fca7d8e3d4c884bd392ef7451e76474a4c1407e0ca920d7982f2848a852f52c068fda1beb11968527db67cedc955ff946edbb35ed69729907eda5f9165637bd728bf2e6d8e5b5fcfefc3c3cf2c23cbb8b667936c55d6cb7e599f0db36c2c992db366f6cca6819bcc559d0a00eba016c943c7569773b9bd2dcebed555f044eb6acbefb8bc5e9f44297dcba951d5da245fcb39422e899f7d916e778401938812276e78df1484c01182a3ebac47e3b7e3c9ca193b3fe8705132260c0a9bf51317a2c6deb62af0424db97427eab0b4bcf1deb0148dfafd8b818e7fc496de6b7bfa01674b6e75f9c6d67b833447100d9899ba7a83c645172b4f3cf48ccdd942860f152bbcfa51b9ca22652b9b043ece58d628e72baba3c2b1be5a575d2fc6d6de1780543a64e29801a2e64f8b16bcfad585a7079e3b61684078d5c81f2d5d6035bc605849699fdde087ab93803b09b8933fe587eb2a2dc396f9ae91b561673beb1ad92d5fd6ee56812005f183599fd599d9b2bbc5229d7a4a030186ae979ed255b6cc96f51a07df4f0fbabe5536c95675efbdf7de7baf9715c3fd3d85092326a7f494e6b248a72dd353ba4a5be92b8da597e82cada5b72cd20d77993db369370adfa85afb008fbe2a2ce4f8f6f7685eacc97cefbd744c6a8f982eaa3683c0e088b0d951838c0f4072b4cf16652c8157ca475a546b23707e7000bdf691d62a9c8a89ede9fabf3769a8526212332b417f380c77a9a4d48b72fc2992f8bb6a007def01741e57ccf5286f8cbac14f1ae8048b0455abd5f85986a9ae4019f6d4c8b1ace789ae3f4c3142d78fa2030cf5b92daf03ab5156687710ad28d62a9b94c167ad988f6e09c063b3058c67bf6ad5adca55bdc4703785e0866c841af5a3db3f4019dea9981bb39ead364d2336133f1d6db5aa9adadf6bc5e5d7a719646786c4b91222c0fafd123689f6289a2b2464bf68866ce9f741c0f506fefabd37ba04484cbf35124fbd9a4ea611fb350adc060d1a3488676f663172e1a017a03f80ac8af88879e1d2c3aa504d19a04bf86f4e8989efdd0edc3c70cc7970828cd73fa96f8986f403fdf002af27e807fb7f029ba981a78eb6b6eaae911d418307969467751c9cf16a79ba76f5b89133eedcb52f7579f41a8162b5b6b32376ba7114b7a18b18386dac4c1904c5c39fbb494f575f6256526210d2b525ef1800d818393588d479238687b3e4290b2b73c70b9c177818c86fea07c62689002ffcfc6eb718a015dd6ebe4367adad52d5979f30b13f4d7cbdbe074dda66ddfda3307cc9052771d638679d9f769c35c63674b99c991edab7660713bc5b2a666916f8ad95025fcf80c91d6b064c70c6f5e8877b6f3e7b03b348f9e9df7a372f0e63697964195223fdfaeb782bb59747755aa77515aed7efdb1c98b0c4e255b76fc52bfac1e6b9a2c0877d7557b05a3fda829c2471537e7af47347dee8506c68af08c7494a62b05312f353c5ed903822b253313f51fd2c0a64c10f14cce8d4b9432308cf8abd9121a70c0f275ce2902b684d99202bdc7b8d386e26a36fdc5b63917b6f4b65c58618c6ca8f5daf72da9ab00a9d33292f29b03903c3208d981e63d0d2f810b354696464da19d2d8398e3d517c2bd0bcd0e0f1ac26375e389163b5c563d2ed378110c2082658245a0650b75fa3ea54adb2732596e6ebe7cecc06c37460f08b9a256368325d2317920cca2008de3f614bf65908ee2d02024c25d2bc84f74f6f4b2c2dab2ab47bdb9aa4619949cb11952655c3c36d68362765373c6868c632342f0ca0f5426cc5d092c0d8436829dcec5696109a0ed2f6fb395a8cb1f6c477436311925b53b63db651cbab266714a3f0207f6118c537eece889bdc9b4bf112b7970d3cdaed94a0eca40c69726f3e9a1b4899dafb882d1fed764a4fa6ac11dd7d86841b40f1891b6c95f5a9c137d0aaeac3a2d613e393c6c9bd010b55b47756f49cdc76f35cee548c8f573f9f02b1b08ebb78435d6d50171cae42d7995e7f676bd6d8e5e506d230595a9d86d5dc4c09b5709b92395d4148175ca853b12e1922172d31847878ad53312d677c8a939d8a6921c3009f9e18c8d2cdc5b8f4e9b853b13d69fdcce917c65a4dce6f4dd69afbc435a24831787d9ccb5d933e3e2db5d6d27befc5b7624cf7e69c9618636badb5d6da6badb5d7de6badb5d6def85431fcf129a53489e91a59f31aa0d36b415fead4524e99764e677ccd267ae9e38cb3be4de0059d56d0cbba43fa858ea1693afdbe37b5f9d7f4fbfd4070d7ffffdfefd7f46bca7f3709869d52fa3789f268d9595a536da24bb4db0c2fccbea18f56db4e82d855e07cb1ad586b708736ac340477285ab1527187e268c74ac75024475babb4365a6b8f2cc7b62cfb48929582ba96f1b53bd718e9482dd20402c04faf00fab526be1c6f30ed9fd75acbc3da08fbe2d650de7b647516a9eab889adc559739b353fe3056f2ace61dde0d538677c31c639677cf135735641df5ef066c6c5f8865b9c33a6b51e1b1b1b1b1bab5510c47cd090b1b17af19dc26364aac5b956bb35dbed66ab5d2c59833b0cc79c33ce39e79c731e731886e0388e781cc7118fe3388ae38b7bdc23488699b1311bc3ccca7e66642dccacec6766bb85e1188614a4e3860ad271c4e3cd3a679cb1a55a4c1bbfb66d7b04c9acb5c67fc3bfe18f35bc576badf1dff06f88fffe08923d30714b48d64c68a881a46d04137d5e22d88d9f4f371cc531dcb570d41ad4a0e502cb2d0ab2402ef302772cef96eb856f4f831a2cb706450f68c48ec6e755eb494ad748e9265927d4c8fe945e962fbe6ebf760c86e00ec150d45c14c531ef91c4368ccdb25936ab1a3da949e18726af64c23f39887f0e8d54a4e18f674ed646e0af911b5310a0e585e0dda089ad16141ee61ab635f10ac23eb8775cc966d9ac7c9b78960d53372830276b23f4f31a09dbef3791a0169735aa21ac130ac2fed7966ea1d00f96b2c9caba89182ab7a6da4bd6103584d8e975f3390e7ce8f6ead55293c8b76685ba2f74cba10fd524db9f623f6f8f5aa39cfd07a42918a69d953535fd7e4dbfdf8f034d4dbfdf4fc4b48608c14e01a0a153269109936062c23d118b5a69a7fbaf66bf05f81fc791cc616161661584b51366c6c68c0c332bfb99d56c6166653fb31b174992d6101bf71cdf54aca0976efff66e174daa5067d7856eff5628dda05d8ed83b7f152f1645d1ac77cb78efd8485b6d84f8b61a09dbf5dfb418f66aaf825510f62bd86f58167e412fe9f6ae915de2f73a69b096bc5e285ab76feb19d5439372b602d4ed5fabdbbbbddbbbbd8a81bebf967d6393ee70ec81815b369cb55de251ec81813e2f104cdb6dde6eb511fb6f4f6bdfaa47ea959086a85cb5f4f57a66752df8f571690d4b34d786b376e4260971e9728b822ccd655ec0269677cbf5bab77744ebca350a8db511e228e62b0f33c6ba45e8ab3055863abc0a8f1411479d75f57aebf56b9a85aaf40c0a0aaa0ae4144faf878fbdf0c2f0f98b1e82e9e1e7f280f5f089f408e9610b3dd453d6c3f7108aedd9eae11f59a471c79f7325a54d936a2336ef12eb4a418bd8191917313c4828900e3e581b01eec28ef755cfd9ce0a3d97e959ec0e8b9ef353335d87b9193335bd3a3eba01fa3593b2fc29ac618d5ce5fbf67a76ef434d55f1b057f608fdb9c8eaf9ad964dcabcfcf60bcc26edf25bb21163d1f1c2003a44bafd4c9a70933e0a43e142c39343c60d1abc2cc2f19155c34c4f6f2c40450c202644c6b8ace909192444cd570f9f16324c068f3c2704305ca883460b2034304c2d3f30396690fce0936dc880ca613531d0749c345456bd4d0f2b5fb824f112a487660b4b9e2b30659490686c9d18606e70b8dcb4981103151c688cf0f2993c435e30d3faf282253c13057ded30c6363373e6b0708115e5c799961780a4c9e1c3cd119e3ed3b5b6800615ae18e7ba4cb12161fde66a89571f3264c45ec0105625e445993e64643b4833319c94c5e891839303cc8913df111a4bcaa0c96293a68f152f7378eca9ae5f57bbc46841e6333cb0ccdc88b122871a9ac74b99256f6e80b962073b811108d44c60d011aab45611c8b06ac1e56b88201f9616383018f90a42e60d188c36363824507581ea51a4cdef870b177d66c0b006861e5d240c1786962a9c1d65e2436b8b05313bbe281178c1440b052a312674c8c028725b1ae327495a6ce5e8a0a2a60c8d080c677cc61d57b87684f9d8622108163a5a2accc081855595c2545a172961c0c6c0f031c6e100ab0c16282d4d666c39c0c59f3454408efca1227d306c84604c7a94ac460d2b79b4ceee2cc9c04e932258baec8041c74d831155cb2b90c083cd1d1777b2a4001a92274f9615da046a7326a6ce04f5d637bc724ec54688673e188f01c05cf9fa91cd08dba2be148240f9751183864a9828b70afe10bddd7305469d2b488e14c9aa62ba33c5c6933a2eb8489160a88cd896aa85838d7c8d29c2f5a2881e16783a061f41900491e253f5457505c6b05016ed17e848993b6330a2c4b1f1050ac7981c67f230215d20835baa71f48e292e35249cdfe08af154920e48f88d1d1dba00bf3e2cd2de74b9d28164070a8a1794317492902d4cd9c8656c5373b0e49032b2440b032dde6041bb920ab311929d0d913dcd396706bcb8e2652bd0afcb0551c98b361956e0030526a74a8faa0ad51f301f0d334050be4089116dd9fdb302aa962bad95da7961855caa39e71ca4c50a3ac68425c902c20d9941623af27419e2e5a28fc827575a2b13a818009d558182e68564042a50b2dcc922c50789171763b64a6b7d02128565c51a385f66f8e0e91c70043901e4a6853135c82e61a1aeb456175d867265e2a2ca9829182c505c7c56d0b0f97aaa61c6cd9024370005c9b1a564a759a82b9ee3f42aedd19efe9d1ecf74bd29a5744729c65070c5586b26528202808473bddbe20b7ce93123a68485162d075cb98223f5a3acea0e17a99fd00c7ee2f2f0ca791da9346012e5b7da61b21248852e37d8e0b051a2091a2d5b4b02b9a9b2458a0c38d542e74b3dc055e78c6fec8920285e0e93d2b332733204cc8f97bb7ace59eba2a2a29cf39b1d4f45b89e9c0903e30857160a3e5260f803039a2c74482d5252b8cd7a6badb5c64529d0a0638386973b728ab42cb183a70532203db240a1e59cef2bf10e9a546b5cc6f5d241b1e248131f3f2b417c20ce0665d5f18a5aa347c9a57db45238630305499a1698a4097355c7f7d5033928d303a6c8a03433325e46f2c34c1024746694898345ca88d65a6b2d1544b4643fea2d1545018f2f8198b4e83308069e10c0a849618597184a5c5cf993ed9227213ad264cc990144cf14ddc3e308912481aab4f023ad44e5c115632551632212d6647e7ce0888221c44554d59a1c6e56fcb0e1e78d1caea832b60e59418ef819fb92840608b4a290f143f6222b4d153096db194bb382e44914272570c12a062130c2b85891b5ba804b553fbd39e79c73ce1df8b18902c7478d274b48e8a92982a6859565cb0db3228a0672e88be73178a7412871c4f0219347c9d71f5e2633836a50163734fca040654aad4f06832f6919a0240ad7935f8b1a707839840d3769ca66ac7801062f93537ace59f78cf14e8314e09961a7cd9d3e4d9220000fda993e5d962c81426e4529d95a1715208d9f45fd5aa8eb02ae186b3c505e2ff0c4b0644add11353522e1ec67851853f85019dbaada0539c2025a980b60b4a8e9fa7575a258680da7c5d910d9cdd132516cd84882a48d57a02a4c645e5f569022c3a78664a16c8f10f6a38d932e4f888ca139ab22870b9fb0b036a4941564c04be586d898385db6b8c070a342c6c62acad59d176899165986ee9ba7587fae32a181bc58108336450f168d0d044132e505ad5f1d3b51a004590424a95335d65a6bbc3b53c48b9d403dd4a8c0d3282cf95d95e951040f1152ab8556cd02aa28adb5a611848a0e123541cce808add94296c21e22478064282d96c4c13cf09c162ae8374a2cd0c8e068adc0454679e305141c3358a43993653859f9daa0edc9a243bbec598316256c909f212494163ec83778c78a16b6fe9cfed7afd3bf0b72e796eb983f97ff75f9775949cf39ec791cafcee3389aa768e2741797cb38ece486a209048b54f9ad96aa0e0b1f59dab86026cd9b0c2bb854d112832324ad06fab1f06dc0b85a38d4a7c1720739e79c9fa610a1f2c28c3d479ae0a0bf14b87ac4d0d347509627f945684d22cfcd9997f3dd29dda4a75a05f5037c0d663063100b2901750631d61a8320c738fe62fd1967ac73c6af4d15b7e7dcc50921b9266957b064070dae8adb697de2f40755d541742a2628add71a07f7b159c2d53f8223409d01d6c3ef9770fbfdfb55c5be98eaf208aebe14895b9dcd596bfd396727f0ded79ae95e8d1f349dee359d3a98d0af4d9a75d627ee399b26694414c3217ebb5feb25b226a9c1d8f16b8cc3202671d7e45943c7f521a11594ca78b55a6b0d82ba9dd2579db77e6cc17ab38c18d4ba6b0a82afb5d3d67a400f7e92fde25204fad53b98d822d0af8e5f7730917f9b4ef8c177ea60027cfce053d0cc22d0af9eeb634af1ebace5b70dde93f76c37ae189360e907fa1d6a7f82ea35ab60ffcc39575b8a15047d4a43e86c6d3535d668bfdaba2b086bf3df5c6bedd65aab665432aa80837287149418e8f6a911c6ba4bb110c758e803dd7eb5f8e99007bafdba5402d8f392be1ae8aecd147450cf66a51f4ad0edd76bc353aafaed5563fd28f4876093a8e625acd6bf498b74bb26a285488d3c575133b678fa73378904da18149e94550181c1d3a493aeb9f8018345c88fc7912d3cfdbb9b1480225ab8cc581824a5024f67751d039586aecd53049aa6b362319cd18d803162ef4a75fc962ed98e3b931563c081682ca0df2a5433ae395705fc280e21defd9f13a804ed18352d64c6241a0000000213160000180c08850302915030ce333d9a1e14800d67a4447054329688434190e230868118638c0104004088310628a348559d00067cfea0eb2d0b915fd7cdbc70ca8de8f8f372aa31b48cb103ac1e7364542a8092dffd1593283736225f6b972e6704ad00b1a2e80c582eca383d711f9d7b1ebbc91ff68f4e704a44658d42d43fa7f442a3d080aad002648af3df8ce86c99653f5e7c65429cbba1cc7ec0b1d13e1cf84a536be111d821f3f027f4617d367568d9ccd8824c3dcf266cdc49e0f92583190e7718b522f13b69721e0532e9ca6a5bc824a9182a7502d2274e4324fad3c9766f076c259931cc5a33406970660d21a10c49a681198ba57a87864dafe524113eefc7e826d8d13526a931cf90322b8745c52f55572a5632f8ce2b11bc49e40c974901eb851a86da6fd1e9b26b59ce75a2cd4f600953a7951c0deb985f1e7fc63f68bfd7d1bfe01c76c06ea831e493b38485e0ede30cb9267e5c1ecc9a90e43c3b0f85bfc437b9b0997bc82355103b2f9b61f0106324138e7ce6e2043b4e573edf695ca9b39a2eaddfb0581facf5c8cfebaf0baec453d306ee842e3a3c201873f66ec7fb86633019d75637647bed8839fa0d572c4577f32e5f0331c7a992eb14f90990535e711872c26648e4e111b856fc91dbc11899b57aed6dd49ded6206027e2acb43af4e3901842d6b965ebbddb4966b9bb9642eb4fd28ca09895cc24399490292a57079d68d32a16835a46f2a66595ffbb12a4d7370126a47d0cb64f3b7d289eb316edcf8c06ba6b28cbc55d42025972a7a5ce93a4a0f47ac1b89c13c878b4274d701e211a4b4106419f1e01b66c43905f188df6edc984e8e4ed9536727dcbc6afc03c76d2edec8e75a6f4be8ddac0d7ad10b7e534dc8f0e0cd5def6c5814d66e0f3a300583b07e50270024c736f31c5e1def616692c0c36559aa544209dcce08662c95eb575a49a0b736f0338ba5111c870b8b81a85138536d94f6a02eb447195e4a0ee309b25723b9fc33dcbff3f6e29e76502c8ca7ff6a8d7f2328fec2c5b64a90d67ddbdf19d484dbef7e4cf696d083ff51908b3b2c5702646e6344b5d4af69dbd88353874a74330459b242c97cb29491d3c342ecd7c6a01da82280b60589c9bfce3c689d914e0ac942082f94d054bc9e0d4690da62ce085a1a5833f68cad1b13690acae45d8e9df36d88458aef0a4e27704655354d2027045e72c7ee3bc74d1a5fd0081dd4c4622d6b13d8ee74159684467c16e2fe2ecaafe43b9f47b1645e46a74cd783a98e35fa5fdf51fc8cbe22546024e12476099b78b43b31c930741382de96a43c843d1205dfd241d76b628dc72aaf299260a472d8036d2239354066c984391366a4b55f754248158f029e7901e488e1b9ad323f6c11de7bb7df122899f7b15e1fe632892ce5596720ccaf8f3522ce5854e7e4a60ed615f61e6f1420154cdd30584027e775190428737e2d662d2ecfca3b6eaf57abb3319caecc6e970f05da5d756f2845a8e1dca4491128fa92dc157de7ecc9ca368e411a9a31f7c85e71ad59d44cdfcaadb108ba5ccadbba9e474eba01e74acfc87f7af4d7c305e755241d7aa9a4cb58af180150e781d71d8dcfcdd5bb3349c3c0877015de8a037ecd7528f68921b93f82fd611475240bb86f8e5cee688dcfe88830bbc4a4d72f7ace0f87917c6b291dd3c84097da14055166af62687912bbd2c555a189d007f699f9d44dc3f9b964de5c9465cfa798d60d057fb64d390880c0acf9f2ff4f6138ca27d60e2209bbc01cc184fb0992b31b934d3a846e3269e3e9cc088ee0a026748381a226925225fac26fa02c28772bf56f67a24f44cbd34509f9a4001913aff12d071f926ac56d8276c6ba6e6b4bc4eb9877acebeb805d7a680bb43c884e205c329e862bb19e626952b973d9cbac5a821baa05b3c8792f9728d6f7c0d32564605524bfc6229f428794c146f45e560ab7d79e3cc2d6fa757079067bf2aa647b02c0338ce01111fcbebe07ca0898ea552ca618642dd05d512fd5439b9d99fca5a68137aa894d38ebc541b2a9eece5bbc2c5206ea7ab53c93417375b6313b7ab6fa01f28771a833aa54f5acbab0e4b88a61323654c372f5b2e1aa704c120a98005ed8f41c8db98a9e5cf556cb3b05384cbb429fa4e8e727af4fed8cd163f5381c5ada7bd2b6f66dcddca6a41d3c0981031d8a7197179559e167d51d4dd5475558d5b95638dcabc8cdc8da4fd8a78c5696ad567c765459a723a6b54ae568b83478b30e8a0c54283fbd697ca84588f41dd77783768c593f785821b571da721d62cb7c9680ffc1292d2217d15e66a1f39146ce3350aa448c4807d1f1a0e677a768f6d52df1d5e44964c5f09d70ac08e31b91133540e075d19df4be0064dd48c7f3cc0a428eb73918a40677dbde79e861f5b1d77cbe67c80da71195cbc2a3b80a2cc7861563c57105867a699205c7c90675b5e5f11e2a73f733bbdcbf5dcf1ca8e0355c84df025c347a928315f020feb862fed2f4e168df6517b5481af79217c4e7c0799862a483d67e31053ab18691e6dfdcedce4d3fc127b3cd81ca16745f7882f8c53eb315618c6bb064f1acde5b70959b152e34b9ae5f884beaac04cf2f7a095e842df611cf021dda3e952a7b583253705ae68aa072406eff3d3924ef981c9e142646ca50aa0c4ca5990c17250e3c223c6d788521a3a358b8a3882235faefcb43eb3868c204cdda9e7318a4d4717eb93d1bf735ae8dd4cd385f45e1bb2f7dd5609d8647ee562e6d5bb22196655a35d14847e6093ca4a50e6606f978bd8acb59403c8b069518596d046ab08c50a5cb7c964bbd2a3899359d6f2cb2c2aa5caf72aa2217f02a40c5cba83ecaf6f47155c96313cf879710e4b29a4bd52e5cbd7d5b1377c6942d91071f7420cf8cc5937a242d220b3f74ceb1057244567986ef003a235a838bed4fe37abd1cabe2278c0bd8cc57af7bade22137bf770905016e8fb88464f56a61b3033f8f958ccdcb1f867b9de5a5104991227ffd1ec03fb4e3b4ec9d48732181c9b3c5d117bac16abc31e630886580be19ac7e8dc58b9bf6219986db6c16ab3b2922ae914c68a1e625738bc21842015be4d74f9abe99d8bdb5dab09200150d86b24652651aa691994b46d2117e998dbf4f3bc46a867939d824e85b5162dcda4142d30e105f0bc2386e4cd8993da00211f1b9ed2a7a3e8200e9f2d831859883755db8496d15758dd96b7f620fc5c29c75e5ee3946d634a5a1e2b288012aad0c125238ec8503d2d1bdec280d9d3e7e3110c4203d43574e8ab7d55acb7c24d2cfd7a145b12fa628fc37e1a09ad3c40b5c8ed497030f901ea988755146536ca4f448b44b06a2218a372e30b945f7ce49794efbfdc0dab6c56bf20fe23a569c33bc114c032b5597eb8c4742bafe5660b4968664ba85ca73fc0caf3e7cb3f1b4c3674c282d6536acdaacca4192207cba2125afcc6c1d6d375815e0f14363396cbd2b63b10cd3bd56bfebac786493a3aaf096a5415e7b45219445c81c586b4514aa19f206b2f4f00607205b7f5f6bce4597658475423dbe7ba7b17308b0a2775d2353c9cfffe093987563381760abfe3348ffc3051ac03fd21f18994f31093f4eac8cab4cf77387793cb8f9cc295f230d22b9f786ca8b3a51b88ed9551633c8049f3829025f7c0da34c4b9ed9d6e3f210d71d058471119f74b1542ebc1e8a53eeb4cb26c3a0ebb74a7737cad41d828bf4b9b9628e127948372ad2ae2f58ec62f7b2c6fd5ae99a63c1cbaa694d6ef1d4dff88185f7554c4e21c197dcc56d45aa3dd67194d72c73f3b907a06757a4a86b0a853b48c95604c035f0a8c9fe60cb93d7612e3f02f8f7b926084054ac178a9fb1a4b65a5de6b918dceeb78223251b5bfe1c8fd79095b9c458082d934519edff1d5a632aeed8214b12baf6d223be542cf99bf8f72188c3d914b97d9c64a96b045e801544db67027611cd90b6af1ee4f2da9f3147426105f7b51fbf687b4d4cf2c901bf98101c40a405a404344904d5e08d7e84692b3764a044e381ff0dbf35e6d7718fa9713069225bfca5e88b1e057ff1290891235e861a578f51531f12d7fbe6e9d164050dedf4048f52c65107019eeebbc6a859e657f978f31024c2a5cb26a47365211e13d459591698467ca2d29b4c82091ebd9154ad8aeb70def4ed45f35e213f00b5f210879001614c320d94308c37e0f3a082b5e3cd6994b55a3fe75362982f711ee3aca7e3c84841039ff4a9c9043dd1db8185280484a787701f9f0f28b3a4c38e719188dda0223c4be1f184a277a7230ffe336ff853885398cb1af86040d10e8f74c197bc97ef0d95bd22de470f274d233c6ab4026d480612aad021db27e712a2b9044a62d9439a41f9103b0a36c61526cac4b062cfee2f50d9ea273bc5e47ad3e63d4106c9960ca32fc323a87c1a2b271e712521cede4cb572b8a4944c302d1203e2c4a94d39d97aa5d3e4dd4e550bd9a10fb97af5bcebf3a804c8e4e18b7a927648e0dda7a8a6f953a9b57485caae71bbfdc5f629f667ea6ec0b4d1c10fc1c996fee65fc8f409b306aec98cb380b30a7eb731d75b337090636ecafa5af83ccaa4bc4cb4d1f1e975e6e7e7db9dc64e9f7e987110c852b928e33689a2ef90cf7cfaa4bb57558f37e860ddd9914d83a1fb0fbb67c74689d95eb8a1314757d3ff39c5801f476f252b129469311cbb9cf6b08de8efdac6861ad7a8ae8455f2bad2e526685f27b0392453ec50178e1ce991790a71aa3296419a0da84df36bba4c900f82140b289c7e9e2ad858e55d7f2997cdb4db65a0a0212cb764900374d5d754838e9273993e6d2319f731a18e865c677444ff7db0c96a4602458b75b85229f1da2213995d16951fda3c7f9163f229803c2f0778ef99503014a0f3345a028490a42de5407a823888565dab277fa2a78588695856789fc649466a6e19890fbea24ff621ad9ffdfa41b332bae07797f26f1de69aee88fb14722f11983a7dfd69818352f2a26752327510ec18025196fab880af513ffb67238191f144b50190216c423c4fee3bd8e62f5a154f774c7d1ac3a618f2d274703ad129ee836069e06925abb2d71d9fdfc213fae4ddb8a2b58d8abf0a647e56fa2323abea4734aa3926ae8666af220125dc6b3372e4e95ebfaeb9616b4cab441788206f511e79972bbb316f9fcd40e00db65befc374ae352ca5294a8b1c421ed7dc970d0314ecc33fca0f894d891fbafcca991fa0c949547b6060128a7628920a2e03d823e04e4801490ef19fd205a09248255b9feb82747930e1f8b4679e49f99396bf616c7064f4a0bf2fb8ae5d3f17af3c35918d6862c97e0b19af1521928a07e0948ba122c83ff8905371b348e8a2c65db44c66297c7f5bfe20c6bf1789ca485ee0abd1f5c2d4dd6df93e3c5735b8270a7e15d5cf19a0f0145a1cab728e6dc11ff56ce96a5f24968e03dbd47b342951552cb592ad89e543501716b47afd9fed45dfc76fca26e223284e01151d25a4a063adb7e728436492e8bdfb6ab5f0d9ee0422119e1070687d378ce329b12245e886c6cba31865836c4f0fdf023a08ab39e7a29fe71ba19d043e0ca45b3962327f459f6216338dafee0ef4d30f408eeecce90a4531c1555e70984726dffbff4719576add399cccbcc3ab7dca7ae77009ccc32939f86f1e89a1eec223731150316c4462d82bfb5b943b4790f2e782928ff1d3bcd91639977d6e352d8e16741fb9e26ecc928e199044a404c4368641d011cd10761f76e303a2dabd3a94c1931eabdecc34280f68c39828ad64984795fe92f972151ac9a95adbf64f89b74d6e62599cdd008282c137b2c8f5480ff516aeb9118598c0e89b0bc8e101954027521a7afc578dcfa7f513a8ede1de3a3cb128b366945423b8fb0fb1906601802865e46be90632e74b656259e4885f9d7558fa2a68408e18344abb002c9f684c69b28035e8547003c1c3c9d3f4790b8f113ddf479cbb76c1fa0399ca2787da6c40199f237fcdf316420d78d54d38616c6490adf118d2eba02147225938adba69f1d9bdb432f93ad06d4e50bc12a7863f85b3f939d1ebb57d5b48565acc7133caf4129f8b50c3f0f55bd62ea12286f13618ca7a32388e941c1142dde64d1dc56516a83884e485e5a9d591fb22184e8e72f20cb19a0e98131774dafd4e0d06156832d4db39c0bf8c814e2719ef0efb61bf19a344245b208129eb37f2ff60f51d32d8d3f2e950ae8c25cf23b96fcf56dc2212d105c6f57f5be7a8b05e6924fe2c289ff187573cbb68a380e549808f35a1f4b23a5b40c34eb45d61afa13973e4bae821e82df75874849f5b77dc63a45c82b9a04bacb901519561bd8276884d6fb0bf73bf995c9044850d107cfced9ef6b9c6423ca7ddfaf1192fb6d7e90f344bff050d08827dbd9d79adf60f3b11656f1eede8d335f2817fa3c467147639e7a7805f1aa2ed48e7fbf7948a84248dde4611c249369256d04af80169afeeb7200c1d09269cf840c34fc8169405f20851d5c9594f14589f67fc214af96f3b8503d9d89fabeecdf31062e8a29acb6aaa971754e2e20db4bda2917b8f76bb7baf17601fa832db37f6127d407495847b485c4907b05c270aed769594e3814c97ff32bb81995d9f308f5ef1aafb587db57a17ea94595aea5690211e5b3ce341260c4e368792a7fbfd21932a9839db5062fa78ca4c4564529528a60080dd94fd6e4f358e720c07021200cd9883ca109d426cd96f3dd5201850f3d714582732148b848ab645afa09522b694bd9f667fc3703f6aa3f6f96e33285006b85b2024e60c0558b745193f0ddd08d7e114085f95c9dd9e32311df3749a10c0d03627822ddcebdcdb501b27ccfeeeb626a2bace974a7440d6484f511e5c82cc9085a245b7aaf851d37071ee0bb11cc6c1c1b1ad6896c2cc81e245a5955271341682ab28147da55af6c775e66a476805660069204651aec6dc2929cb773939e914eebea9680e6bb32a11892a040c15bc9841c50ae2330679c4920b0100679845aa47be9de2b5d282d630bbbcf3894304a8c29ef6bc1aceda7f094f69b748b91f8d9204b4bef9237cefddad464c0d88398f0a1b2cbb9125e6ab2a01f5a4952be45c408b2f891ab2f1a7e5a272deb73e1d711b25944cf2d9cfc5d7f7ebf0226a63fdf5e0781ac86723ba44e67ce3ec74c1a88c3dcc88c6a0d98f795319143531db24a3623d669964469ffc6f60549cb9fbb176f7e8db66d4bf074e92818319ad5a385b60c462f33a60941fb8ed4d660dddb01607b1fd1974dae6b866f176a4d27870d5312cf9e6d42d1b6207b24fa05c00f109b0d37193636774eaa78919e4aba957afbb9033296eefe961445b06e0b62ad08d7fc5b4c45f41c49c857587c9fe573b929c9df2570b736beb6d669ddafef9b51f65d7d9b2b6afa27d25bbb41c82b090e32a8d9b63f2f1ca9dd15a03ea126ec1a64bce7e5ae9815d67acf5129292c29e52b4be720fbdf71ea52dd34c68ee75b3ef1569484b605c474762503e0975c90d109b6be1b3f89101b66f2d048772992305a3e33f9ceda1366f3712ab3e7a6e3024fc8bb5cc5a3b999e68c6b7b1b006edd3e90957ba5ef3654b7a23e43d936ea12711f1e0ff1b370a2b74bd31ab5e9c7308705d2b735ff00bc1b297008fa9d00b70132489581434d8e5e0dc9997498fccb1f86644a8ef2b4a5eee5e8a317db8e012e37c7a7307124bec539c4d207a55c6627979011172fa9e61a66ea3102d616a8b1f1613bc3c80c4f4c26710817c635194882e137ec5dac934c350489af98309e54dc385418edd59a81039eb5e11e5951e8fdaed7f08a524ece15f5112ea97d472b7e28cacac7aba66f7f6445bacff75e8cd6219d91367c4cb6c46ba5eca7bfc8dbd55d92398015bca0411e8dfd02ec283a046866124916f5384e51c220488d9fe1a67cac413f77d45f2d306391e11b119b294369bf81ca8540dc45a2554ebc15fa79261ea31975b9dd93b7e63e513617c5492bd7bda21ac6414d8a2b5187a98789606a26895b4428a7ec0b32b363cce4ddcf9e3d3895b1af7b9063d40507264630db46fe4cf23f81c12952b22af3a2225aa91f893fa79b774a0e365c1d599dc0e6667eeadd27ae222ac624d3a9b33ac93e04bb3a8649059e0bf8580d0e472f7350fe925d043a2ef17a9572365d30a0aa828bff09de6e575191bcda4f7c9533498700aecabfd57a1c2280779fa650c8eeecb2470507808ef8e7c40e85f56627591c61fcb54822714a1b2eb59e3c3cb8bb2934d45910c13ba0a7d1b00e183b389a9348b07ee63f8903c9e9bcbc0669934b1ce812cf8f423cd44e83cccc9c3a3e0d30903f690d4a0a6c2923ea3e4307649110c4d86236a61070e99945c8b45b4dcff58e2f180eb057b0bd37bd6c372dc0d838c0d31da0c01525d610ad615bd2a870cf906eb2ced07b03dbc0e48926f0e71d2ef49c2e12fbecaa6d2a55f98faf549f08cb2476508f2d5bcd0b6a3c9b07777c877441e874a056f71e640b6301ad7fbb38afda3c0724a15a702380c60a16799bde25cefb3166101dac6304546b6424a32bed613b3e207aba7f62f581ec1aeaabd8aea5a08b6abc93ddfec0689e5afeb18c1a26953a2c69d6a2425514d76ad760477ca304590866d01aa7ea4e9ba59ca5aa7bcec0a8505c9bb759661aa6e206c45af06f2254ed8294169cd94d4308d7d27f71f91d9a679ef435da8ef6419ca2ab60595624218f4926d2b314e027cd9c1512111d772c456cfa605e3d9e6dd0f1364e5ad4a0b8318b974eb8c4f6b56a3563d589aa2e569815c360f513a014a9fe06544d8264d72ba8d7a892747be4de78e58a180d63779aed1685a274781d240ecb1c654cd3abcc37d1d6ea20189b717967eeb0f2eeaa0c1ed914f531a8eb535c056ab115ed0de37b3e5d885113089d4ffff25f2d9bb7e43d7cf40c807cb819737f8cc3a60bc994f60e3c288955f33a548a3295d74f5a4df30d0826e9510a9716b821380fc7cd1c2982b687637522ee7b48391eaafed51bad395a6b61fa606f0f337161f4412b9d94482fbd8f59a75f4d1bcec020e87dd23a95d7f1691e7d91d46547a1591dc8752d0638e7ec79f98ab93dcd46316b970f279aea59e3d72acafdae4e27e16eca13df870c7a19f8520dcfa9a731a44f5e503991a91b5b4aa42fa47e996a27f5b2252007b1f3e9ec762b32372ca7b8fa23e397194fd72a1f092553913dde70db0e2ff113c9263c1afcb5e6be8c5ca1e3bfd4d2c2cde6b56fc44d5985f0c3cfbf2152cba1ce62d6f71537465483536839ff89b14bd1ec92ebbc4cb9467ea13a0814691d9577614071455e1350ab273b50dff4ffb57dcac14a368adf93f843760ecf2e7d9568893ce7413af3e92a71379a2b592f74748ae5069a4e6f10369b11618a990d07cc427dfe8b6c8397e613bad521417e8d727238506f34db2bc8a7c147125140dbbf97d3064d9193398e06e08b34a02095695740f0cfd5db73c57a681077405332cac404219c4b59364bdd664a40d5016fa5453444d069fe26509453d63bb0bf38e91acf484f2e6cbdbb0f8aa263b03d20c2eff23a5c64295dfea6ed3a7df184894daa4f32d9b26c11b16297d82c6c1a7a48f238046ed2b93f2b58b3a1d9c887b123c46a3a8accf4c413252b09072a4580a085d6524f88aed6e0b6e7ca98171af017981a748b2429b1394c10a3294903a9b9304ca6ddb39cce99e75dc8dbbb1e5f101fe26992b33d42c6f099ebbb5bfdfa7aec049995e8c002b008affbf4020df8391ef4b28c6f4e48d0a7797572bb9c24b562e42088875d168891b2b60783d2c957cd94f8f121dc8538a697b6c46d36b4d9264fd39e7ace27bc4e8e4d81a90714eb751cc901e4bb397cd7e56e1a96e96881bce0a5b484f14d56c388bb0632ca0b6b8b739849d5ccc59d8f4a897205848a08808ecab70b82825a5df270f0e71b386537112eccac8b5d5438a9df7d6a75cdb9f1ef61a92bffd84f353d804ee8be4a569ef08891d85b881a523d899810264a11f5f8ca6b26d2336b694b289adcaa33033468ab335480b25d5f0496dd8a63c72d3b0c64e28a8af24018db5bfee9e6af1088e79474bf08477a55df108b0f3d7d89e9dd71d78ca958197e973614dfaa64a8d9206c7fd1f96d67eb2139fa200d64d2646a86612e89f9013e4845081c5f4e806188d11bd89edb695bd6ce08705533002baea5bdb284b339a356481fdd29bf54c6232b36b05645157c761fd4152a08f98fde5471e3ad6fd9a038c4774180af5609d0eec86c5bb33a637c0a57da65ee092caa5b7e8124757713f73bf0076b118f939b8155ef9823914429daa0f3905104366ffca224f1644715dc82cc0f949ed0b3f0bef55f9e1d27dd40ea9c67ae0bb358ceec58fbe53468a65f72e51d5e78bfd18289e9149b7c3a88c80c131fb7ce42802c6c0f7b23591b33cf3f4e1f9d9e797cf904076e839e2df9567f1892ea4ece3ca56cfc7d0ce27cf47061f1bacd9e8a866cf08ea594be191a2c072f7cb27d21c24491975b532888e715e049fd192eda906802a31fc4996d9dd76db028d35665405f588bc730de92c3770a2b0af27113b6455ccd684665392f5a4b18b353037945e231940aa3a09e040923fec989dcc8a9b4724fd648290551e15fbbe7f0e2ccd931bd1e0570d288868f97984da1ad6af00d9d45143d53121d1e77c943606f0d89d78dd53d335651e4b63da472c8cadc2db04e7c80231bae668d3672e5cb1bdf587f82a510363f4968d9cf8cbe2f48afbaa93f3b4f23230a4e657ded91e7069a51433ccb4bfbcd31d8e5e8cd41643f795898402da70f6373fb1df2cb288a8b5df0b0668492723c033081a942606ca5204237ffeb8eca10668360fb8f553333af00d62046318c00949e907f2b8040cd80a91b0835e5cefa8031def217bb9fed5e55698e285f8f8af893db989c41bd846bb7c33cbcb597e33eca32507db66c830650cf35b7e8be8c1932b7784fe481e2e616bf787d09d6f7fc1815fa732563a677b04e114375119f93f217687e4a43dce30f124e9dbfecab4b1bcaa313b569f468bec45e4c5d92f27131c8af721697744acb8e5f5284b8be14273917625cef1468d970895a36580a79bf5a5785d877e3b0e594bfc7b7774ed75419ef8c9fa4b30f309e7069d01fbdc5b2c2774552da871391286a732b4771578fcfa694058e47d39ead105dfe9037b131ec0dbc66f12d9b4e95a5e2022df824a3f5ab985ad6d5e226e8842b48b5b59921e90e6fc918c586836854b8ecf9a727b429a45ae246478fbe5f60182af96356e3941cff193d2e21241a4fa05d3f8c8fffa0e4ec69da0a483ad6007df36e4a639ecd3b0ef9830c411fd85225a6cb2bd8a12e228d0bb2a452915fac0ed5f9c95fb8f0702b3f98065037f7320d96aed245e7b195228eaec253b0dc668bd91d649896caa485dd954fe7a309b446ac448b050e614b90a2bcd146600586084175b222c15c07c3d5c394b8a7dd96d8653840fd564344a1c6c12af8e411fc223fefd8a112bb18e8816b8e282676e0cd8b2d8033be71c9fd77c64378268b90773412d0c2f343c8e4da77bd8b79dd81eb2f32f404d18c5b8eae5325aa2d6f6d259fe6acd0b9b7e510f4ec8547a61086045cfbf395727398fee1007d32b00c8feb38a010e47103928c2dbc428698e2ccb071bb383cb2458acc48381c4469efa966506db401182e392ea04e4649367b4cab61b03d240be52d2adb98e630964260560d763b160ca0d6494442d041c6f8c35bc9c1aaa76b1ce35e8a247e6f670e4cdbe29dcb0668ea98271eed9fbc5a610872a2b599885939ab6c64091af4e760875075894cfb6261b55c59b39f91b5c0964097391ac97833c7b9e597e1524588763427d9090abfceebf521951858334698348a7ec2210c76c2598a90ac71199aec03794c7f77b133102cb7e7a348ff612ef62d1cf6a4483d2b2569fbc76f42e318189d52f978c9e0e4f0210b6ee2aee1bfea70d6a4e595303b21926a50eb40b75ba246f064c3af5f701586f074a7c29c743c5c42db9266c4d264f94e588c53908f9e680f56202258b3149b8928fade3b5b5ebcfa3808cc10896056d3f1325656e91951bd78b1529aadbf2b4e121a137f59fb5fe4cc40244128b0ede1f7be78d591f5ace0d48a9c93d4196387b60a3f5ddff20c94320b501f048c54f92f8da3d0dd6fe84cc747ea40b166eb6b1af02145ea0b4cf127de72c51ac184ae7ac0f7797cde49cc66bfdf6156a1bb7e1cea1e4d2bac3a1c401b42e488bb86215fd9f163c2329e5129cee520a3076e01bdebe2688a296306f93d4d3ac096a13b71a1e7681fe2e777d7575a962be5aef9cb170e390814b20adcec9c916abaf46e94a135008d219d9a307a9b31f9e54708545baaf74ff7eb3a7a8b7508b4df003970780b695fc3c6e7df9f8d14fd98e9d253ffae07df49742f4fb24b549d8f11ea5bd5e0d4b87061421f5175e2a9bc4b440459006f68bf9d01ed27b3746b2affc8237989bfd93040a76c44d4be19dd0799dee36e76beeea7fa3e2abe5d46e16177b12945277a133d30f14ade44446816f85e2edf515a172e879975efaa9898ec7ec5eb49d497897cc9c2a1343f5c5a9a29a29d0679349dfe486fa8a9019667ae8b613b5ddc160d8c43e6601f03a0a6cbf6f83b9c0c2040b64188246b73bdfa65e0fcd8c8077d0d73558a1afddd26cac8e845ac7316110d108ed6a84f5a3c4dc0b13b5f7cea5c25e2f9f72f2ab97507f98d4477d9ebddc9663980ec137fc0f9858dcec58cdc6774a4d7a9061f039f9bc9d2f63c16bb49de6f71e50415ac386d17e35d1819e349884a87f053748287657b5663050214d3eadb20799a1da2e10a9dfcde533794438dc80802bbde6dd859515b6dfd3ec79d630790025abc32222134b418ffa357ec8c87ce2f371216d111e37362ed6308e170cfee48f792bccc28990289b447c58f6ea1e7f3d1128d0161158bcafd4048de40d731222341e278384dfe6894c539e6cba2077fd052f48ffc23511ba61f1c52f2b4c634629983603fd05733441fa82bb6bfa73ca357fc12fb28d25f2eb72bd7e8b9251a1dfbf70915ada8296e4f266159dbc7f25bc394280d08d3ac30ed03b7cd51cad3023337801d2949a222a795b6161629c2d905dd45f99f89600d882f71af6413c0439b35bbd1fbc0b636f263447ba1179a473c6b176a387c300b23b8be6576889b1796a133286bc06d784126dff6fda93db7833756fe86b5a2bbbd3d872756c7c1a75772e0611f334168b068d6b0f101bac1c9fa9f03d953328ea28adc458f0d32713d0d8eb437e83bc5c9030bb92ffd19e337f95aa25ba4f6cb3944e60cd77260707dd73d1f77153793d94b4c399ab1f28242f8eae8fe2ec996fc99d91f847b191de702d420f8532786faec271920deadbacc941d97c366daa10898657f2a2c81576f96509ef270fc11109e7b73a9850c860736544fd4f61f3597a1f5c8dc8dd21882020feaad96828177c0f04c70ac9fbc1306af176de76eac4293eb13086c48e98fd1b7b4417a177a14a111889e764fbcda1ef1d717fafdf35d11425aa5c619b874e30247e79fc7eb10d206ff30d1de466fa31ef2d75e169d42877256b947e3d035338e5753607df0e49fbfd47b899a3c8f93c361bd9fa0926030599e3096103bcf4ab2c830250db7f409a7d7720fed88ca348aca27cebc46c36aea02487e3d49a93d4d23cbeebaa99088cf5b8715e78fc9ec7691c4dc5010b65a2050522a49f176392a63eb6265d127a6fe797e0b19106e8b2a64b4861af34f34f9d4907025969839a433da4c453a521b702c22c6a61c6d54462396eaa4207ba432ee08724eb083f4248cb2d5c6c1665d001733f90caf0721c0090aac1af3ac680593b1b89cd80bc480178c600367f0496c5462521ef04ef0e60fdda23d2bb03e8614dc3303c42004cb206e84314b83db4510da3cb935c6887f59d56c152746cf055dc7a3e92317a0c70001da9d0ddfadae0ccfd301c795a8a46d306b943e20cf0268bdfa3eb960640be3143a8b902cfc70c4072125eb546320c564122d42a3beac49ac1ea2b0f78a7aebf4e6e29110861f8fb7a3e989bacd638f6ea95034f330cdce7cf626a1463b2ed794fd67559f9649a08b29c07db42e3ab61f4a50f232ddcfc1c7b853c1926b32a1846e3bab19a66443d8c6f04cb93fb2dcc8280afbbe461700c9404ffc0f73d64af92cafb253b9c27afde3806091be9c00a1d0a4570da398c7e8b64dac215f58a2a3312a9491c83d9e4eeb0b4c50320af2127c4b73a90843e5cef66f0ae014148293e02c6b0448dbe8cf966b1ddc4ecb0d8ebfda17199372647fb4c56ed52bcfdbfb78316d2190e118be4f001cfda08f91a715ffdb6df9f253d4e3739f2bbf0833ab7581da1c7766b3b91b03a160159885a1a4dad245b01792da05329c9d746b20719f67e2bcde287562187a8fcbd6d16af176c16079dd6966ef1d2f121ded3cf8d39d0d392dedd4d9f75e989e988bb62d2bbb8774f5185271a643b350805e3fba5293616e45d5fb396bd2f7d6ce2f0692ba9b9ce7810c8f72fc377ee4f4fd98c99412c3e11f81873c1e17225f562ffdff83da5cfc5140323a8625b0ccef0eb85c0a1a8e35c2ae5aa8637b7489ff9260e0205fa004d7b5b2aebc23d067d1a0c37b1bddec810333363b60b1a19299ee174bf068b4be4afcd7682ed97d2e6a1ef352c3dddd87dfc8d18faeff6738de5831a1cecce1f03dbd0faedb592e84d65228e992c8ca489f42cd69426f73a07b48f918667ea91da7567d4f796a1319c324a213b35ab3f632d5af3029cb2102da9f6407d6a3b0ae335a6e7d35dd85c8c591875b614d52641c8d7a302f800990ec4b62eacb2e2cf4f2db33c3bd9b87a8ff07c7b70345bd7cec32f6b429d087123683f946bbaa229589faa5abf6856d0153a25ae50a2d4ea3d80f36e09e98e4457a05cf78aecaae7fc73cbdfb7448737f98d95ba0ee20288b0acd5b6cc5fb88d2c591edea0bf4f4d1ec73cdea0aa95770e1c9412156ce4f3cf7b4c8bf47417599a158af3b7d54e8c68ff91f76980bdb8f3257baaa4b3f99621df337e923f28c02fd24228ca289acc11fb1371a2a0ca202ff64eb1272727ced47ed729c66e21ccc97a1710f085db65115ce07669583bec26cc59c86b914eb8f5b6362fa7d784208d7975517704c2e3eb9295f6aa49b96e5784fa8d46b55ebb6f932da2a37ee8ae89015c8b73288844a6574ae8e0143f9cb06aeb12b21d74bf6664c56b5729baf3ef5d744d76d0acff1b158f0458c8eabd254fd0945dd34e7d2214b03dbebfbe5013d34bac8dfc3decbe51ce703c6ac07d8ab6838bec299c0311d219ac590b71464b526ff76896b349377b4580d7d92c04115e019d99e9f3f787c0acc2b60bce77feeb89d0b264909b4926c032ce62d4549a1f7d100e956d089e2c92222912c49f0730a2faa1e710dc108987919f211b2c55d111a0fc6eae93eb4769f559d7e3303e47dc78222cdfd856ca9db9a94252be70175c6cc5aedde3211b87c8c8b0e3170aa67b50f1dde8c30b9c8139ecd8a6e0fb03fd3ec4b4a42ae60c0816f709681202ba3346fb41749c272728eb4a47073e38f1ddba072d506b78c0d2e5b44ca71d147c6978dea6f82df65162e86d48359af4ee62043b588d3705fbb85bb380a41db51eea32acd679f4c9751c103e215ab82e4b5ee4090e310038b92a5da661e49986971daaed68b90c9101841268fdbc7d2da9d43b0f09367d1de2a96272594ce5ec075038973a1cbb1f669502ecf4a3a0f1a25b0890fd805120ba6cf81d0de8ed99bce9d95589cf725ef884dc0213cdb338a6f78d4d649d6848d087f39b5a06a0c0e40def9460b9f79cda705caaa7bf11f7b4860694330a58944f2cf141e634facd59a121797186c07a6184a29c0c18a157425921eaf13b35747b240880ccc41c2ee9465104e00f9dc8e19208a22133083d7d163bfa524070e22901cfad1bea28782e1fdfeddc6fae14fb77c2ddbbe97566895dbf6a90ecb9c5843ed7f467018b0692da0ca6834ec621cc0440f80bca77dcceffbd411efad8ca285b1def4247ffbe2418c0a5213e01dd365e72488841e0e649da998c3d03641fdef2f0bec1f54c50f3f4bf1525dfe503253d8fc8378da6e71e7ddf5b6298dec961a1d817d1d9c1b3d639787851852fcbf0fcfdca6fe7aceebd6e667a6b729aa6748d84895090b407bf1925ebf1a71755c89bcc7a31a30d74ef819d8b2722248075eadc5eb5f2fbec73bb39683f17338ba7fbda21791627cc231b20598e77744805a55021be9c8870e4fc5466c16e589d66f82c03c3494c1e3f9d54368d570f30b559350ea8c08560af92558f4a2705b0b7a73c9d50e7c9839b96996e905d1c0b43c5660f83e541a71e9fb31aad5b79e0cabb1383fd55dd6d376645fe327a62177450a6d9b70a19d78d384787066c981c062eb05e235dc2f82f0b8ce5ac5c785dcdf0aa6175eec2f25bc3c25f58e2f43409f9a91471ef680e1293c329ffa0d93eea29aa01538373b832752b5239a6d633862493426652c53bcbc6b410829b0bc5607e7f241f7be2dac9ec194671109ef93c9d2651ca2ffc0dc656a0df693522b5f85b1452070ee35a2f51ee11ad5b9cdc53ea838a6eda5a5914fa6a0dd07250c5dcabd89cda45e7e679dc340ffcf79d895d9393c2c5028efb7cb63b1e14cabdcab237f35f886726ef887c6896f652a65d9a216462fe396c10f84c6e3883716a957204368feec59849ebff6b2bbf6c8670140d0f55eca5e089abc66c9f08783d0d5f251ec7d0a074da87196bcd2cbe67a3fa7cd5f8c7445a9a6b12a2d836a490c1d0369924d69a45cd0ee6cb75922040f8fc17956e96d036481d12dd07ce493ca18a19517e796e4b9647a73e04c22c4197835ac8d18f5f1b9b6dadb3d61d986c9fe3d45e2b2b3a82d52d83a10bc1ab6b92b948b23ad6bc848b874268041ab03ba7e3bfaa3a2296ccef988bd81fa8a5f7d199fb461823d74c2d55dd31cb20b4987a53575fc5c2097e50bd60e4ba06d1c3b1fe134062771d5561ed602940205c1ed64e999d6483e12070563854fea699dab8f212006dff37b8f35837346f074686140e9ac0c48dd06bd477014d2d05a5155625f2e7ddf0b92f9ac712fcfec8f822a420de685abec7c87db8c7b92a6ec21ff41e761502d3169554c5afd985e96b832b355aed8d03b0f8260408f516b1b12ca9cbd3f328d6b21f04c23af3d870b100d0fbf32242008ae32bb98d834ef87ca1c77879d3631dc3cb5b763d6eb57d06b2af6b6cb144adc8adcf31285aba54070c2417a66d3742fb42819bc469fa889c93ef43102b0805e33ed0ce0e0801a2b30fb01b7856bb8c197dd7d1b3689981770faa1a7f99fbad790d37d2d662a392ee76a7322c92daed26712f38a1f173e870f14e3bdf79f0cacbd38bb66804c59d309520cf946a938e1929419ff67798090133f03f73b779ea465a86449e1eb6b7062bc0bf5127c4e472752d735b1da0845b2fbc2837713748c6756d5420053cfe614276af9652e4a4b3f20e20dc6e0516b6d39b11f6b8c9968cd677e10ab7475e2192ce61244b42a5efc900068adb2072967ae8f72cadbb76b8d2f0213030fb649ad66233f46ebfff8dafd6a0b5615fc4f4814d65296a130de5a3a0e040bd7e9132630f0c4fbccd44e340e139434db3537c243c49202c20b5a68d36ca7162881b76e2d96b9297628201af4661193a962de52d6c7d5b73abe8ff7bc28097a7079cc3c1cd10cf3939efc656f97669385176da7cc27c36e092558baf693b0cb4a2e9f1c108cb4b2866c12d68667776180faa5077e58201375d85e1ffad80db41a558dd6b09304d409636e032f808051a7ceb2eef56398f6ec1657375b19bd7cac32d323c792ecfdbf626ad3c57bd0fc05df0b6914eb952a4d9d19efec28bc5cdde3bf6310314e41fcdd0043c2fbdb4bf89fda15d5db9162ec8a05517057f85c7cd71f1bc4aec886a2808246ff1ddd6721547bcd7b5c2437d2ee1b82c27bbbee6ac54ce6c4074127622dd0c4872eea9d61756bad820e57b1f962b9e0829efbd4633e0b9a67c4019998142521a12228dfc6c2b29f44dd8c10bc697b9ecb9b2a1ef91b2a22c0b99d9511156851b4fac4d2bf2bb511941e6ef9055812f3835a6cd12b99ff57c3bec9e0ddc9b233df9a1bfc142b4d0f496733e6551a5b189273822e886eb248a42589bc160d23e2e1fc55fd1995692e3a732ca1cdbae1b3aaf10ac7a73f677b946bc83ca956636edbdbe9d63dc0a12be07eb815b519b184dd65a282525e70fd490f14776a6bb9e685cc703f0337c7d63839abe51afe3299bfe47af8d6488301de7223617824bf382288b86e76d6c73a0abc50ff0e162776217b902886e389920085b46909812c4bdac9f404499aec08e439e5ba488575c268835286a744a89313b6a2758a5cc7e2724c181cbe4bbcddca9af0af2d8eb312db903db1c66da69875719aebcb20a92f13c81e752a660f92fe9cf10b6338e8b6afba887e6f766dd18cb6b4d3d5671cd9a9d53312be56ce3f2bbdd0575d2d0ed5cf030dff84e5f887610afcb4e03c48187c396e7096048c0710bb4260cb4a17368d4a655de672ce90edbd0f3552898094241e4c123ed19cf2e74ac964c0ee0a218a5f4861d50049c2da09ae18c1a3b015759d6b23640415fad11168131c9ee1d0abf94ad083360188053b9c16726aab7b7b3fb660b50b367a65104264e58b08019070d30d8ea762275c7b2af2e94b1bfcda1a22a7bd09906b6c97992806d76cb92c6e14b36a50dbf09b03e52316073f14b469b5b8ce8fb9804f9c9eb9db74f5256afc6363cc3cb61fbf2ee6acd84f020e522a24ea66a61500605513febe2790edfc9742b1d8a62de1365153ef7970d065d7857d0151a6c553cb788b2eb241af6b05e86fff502d560927e6da4eaa1e7722c2b93db75e95f8ed899ccd2287639d27e10adb54c3c4741123485f2bf0ab99e0e5035a60c78b5f5fd30fcce010eb2f359687bbdea9ec93aed6741fb4e9e5431fe12b5161e961b6b4ade9bb1ed141ef7903aef3ee3a1955846ef07ca08aa4216112392c0faf59520475bc25d83a27e86d929484047dbf7ea4bb5e2ce7879873d22a7e06757c28ec6f6619ac8b3688b6759d4d4aa35090e290fb00dd0c1eccd95e7ea569e6ca7e96d070b5aed506416b9036ae3b091ee0511191c2645432beb2837adbf57500a0b02bdd6e376ce7b717aa09043e3bd37d215c5f6bb78d424296031ceeeb3dc806d3b5b0a99cd849f3e545a6d4ad93308484680a9aae23fcd7b63ff4b38ce06a8907e212b5dd3d53bc1b323cd1467e550819fd20d53ea94db4bb7736a16a431c843db9c535265c088727d6c7dff50e4678f3006daf972115b6f946fdaebdb0fff1b2d1619f95b76b8bd7ba801778d3d43c603d599bd6be0072a3cd27fe034456defc90722493fa86ad330273aaecf7fe6fe0d327f77ce031740cefac5e42637991e9d712bb9ac1201953f10d08d847ac78d8be86f4751d5328b1ddc2d79ce5d04f3cdcb7a865c015a38227348051ecb62cf9962ae68e7d2a40364311361804cd9e067bdc6d34352e65d63b8db29967b61d294a91cdfd1b12c3493f62b28c1a9f01439cb5e079e848785cbe2ca65ee9ee92f293fa055b4a75d0b502c98c4c333eca977b9f5adcb29f79571a63165da5654976ad121cf2f128bcb50ae88c03f9e3571c87394fd5ecbb2c1ac29cf95fab061cf717c3f6412f6e05c352d32678b487aea47969ebcdf113c3adac1db8ce890519d2863a5cb01017a6476b0428de266e494470974397f03ab52851b89ba873bbc242947e4050e2424a62bef307717ff985245a30488c3d8693334456c0328d73fb09d46e34c659ad61613d3fe2dfd5c2b519e813c89d3f53a25c3d0dbd8b1ae5d11349ce3ab99626538117335dfabc0b235881f8295041cab21246e64a03770a60ba2458467c935bc881abf950745db58b48da6049a3b600c6c81b00dd5a100b2e258ae4004ebf2c97c790162b5000384eb07bc55f73d51664b81afdba001fa28e0d7cea26f6bd54f38a20086d212d9a4a0c5dae0c395e69a330a4bdb58143c2218ca659f58d9360927ef8de334fbefbae9f7e7ea2a8008ce960eaf696317bf938ab4800b4cdac00d6c0e824da30e66ac9672653e9fa45e3bb0d1b19904eab8752075088c103ab625115c139182cb46cb0726ad974ff24521d48adfd25994a4e42ac6e17ac9c8a858030a59703e6819eac8337bd03b372301c34e1d0a96b92cb12a2bcbf640d8b824de9340a5e6e203d4b3a9cec87b306521fb5b1040c8bf7b6d178998c4c23ea8f80a01d087507061625687fa1a1c2a80ca2b0d0142441c4e0f81d4bf7493504b825a53fc08625e43a2fde3fb80198205a397805bfc73f272db8d02a2b5be32e34f8d6dbf8b1174cc9a226feb80a29a72a0c2d70fbedd06243d3c9082a60ceec33bfe95465e7cc3202cd1ca450837fbdec8e01b2b77551ff6a2b14620d5a3b051ce2a096ba85caa226965380d91cb47632afb16a2a44c207ded56a6114b5bf4374b71fa97947d962dd47696a2ededd0e85c5ee27c85dafa47829c7025ceb728805fab79be6478b2e266ea8c191328f7190e69da5a8b7a067245d16262b9ca8d15acdc292b7998f6c9408bd398dd6ff93ae64ace7e9972fa6e871470998173a0de85d5bf5e1d004447dbff66c1b0931b3a12413efa1870e8c6ff8b9a3564dab1537dd9808993757ee298f7ae51af6eaa7c7cbb31414274cac3d085b9292bde05bf70ae5942cd32367ebef7465e7350573645c5795b01e4e9cb316d2febf880aebcb8334044243b2551d93b82a421ab1a34263f85459d9f018453bc9fa4b2e6025b843d793a63d3f33351ace5df1bca5be2764ec3b245b665874e0d248c9127eacfd7cc2c7a91915099923398bf1bcdf00b00c1aaa178aa305d3ed25d221c392ffcc14a8d0d84668e6e470575c4c450f7fd58353c9805d1b87d5d23c9832ca45d60e74c695c92e0f5f6e2ded06e551e2bd863bf80858ae6687bfcf2ba43706566a70962a79b1a368988dfc341e50602e166fe157b46f8ed27a54b8f53c80509005e65daab2d565d93b8e2668b082a07b99cfb17239821cc981e10aea08115d81948b9b3a4066e5464e0a1f5043e0e131f4198c25a1e46231e43b2d165df6f3c15f631d03ef7fe1df212fbf556ae955a8eba6c3f02c43509bc1f8982c1b427a6e1bc144bebb4907cf26d461a93ac1afa7c4fb8866f2c93070c967a3c0367a48d6f3c8245c88b330ff075a1aa49f896e6619d78615109149b27314f5ddc678340af76c3a11fab5dd494c4ddcd8c3e1a94b693b69f4498a9da0ff8f98b1e02d92b050da2042d53d673918dca01bbf5f2da98ff3e4ff95e278ecdd8ff46fe33164beacfaa86b5bb0ac852c538c096c01ab838b7f7743285f71387541bd94eccf1ac702860258b483e2d08a7a00a6e3cd6291564df1717a3a110546ba15d3da5f369f38ab2ded141b5bf77a7285e29d5f78e0557a178c6754c4d29471337dad30b858b74c300785cca3d53294fdba00f1a465e16f4d3d2345fb7b89806e2f7c09589fa1c87f1e3340572fadd0c3d75aa5577215d7b98b606a7505899362071a8da18eaa35811ea6424b24efae7f11e75af2c7b10b1708613993c202b1c7892c779bc3a6c1eb3556c42f0b202d1d12417dead1eb89274d1447ee5943e254576496f32b3bb0e8ce0f596b5e82289c62cd45cdef6ad0600eaf4ddd810b2bc5af7380aa49192caa80d020d8eb762396ecfccfba2f284c82775eab1f4b730618cab8519e478bc9d1b8468fbdac978a86ee3df5d8bf62ab0fdd931f61133b26e891048127390e308d4067def6c505d8d60d30d7797f676e2272bcfbb5bd8e9e0dacabf51f923e7a6c5a514a06a8827f5f9aa458551307ada904db6884fd0d0c92a3c68452dfbb1354000c2c6de6a3d72fa0b67208b676d72a176f8ccbf0c5d4d9cc29b53f3cf5a14ec3e705fef33bdd19754a76d4131edcd8f7fef91701b73e5c73b4fbc1478e1a1cbe10c6215c1adbb2f67d684eb59fc177467de91d8c594d0701302ddb09abd63b13449d88a43bbb8d024b0e729a65a68a5fa28558258fe78f68b9a08f33e38a005392a915eec6720a2a09954f1f81dbc82d089888c5ee8e48dc71ae2c8d68bb05bf2f592dfa9c5a631e4ea8d34747c46498615998ed528529bedc0a1ea86580f1e4310da42359e18d22d1c0f06f05381f41a902e3d2e3340fdd55a1d7721eefbfef9d9c19311e91887ce1c67391269b44871f9812aa19fa562667eb708ea4231f5b6c823373c6b7bab1963966a898b6e68628aed503a50ef5202e3a91cc888b44d578491083ad0fcd878d33873c0b32b8cd4cacbaacf3c5d8e1c0f19f2e79c6844534a86f76c27bbf8c535ea66622c1c247e3406856c8e3e042599d9cdb62d4452fd1d1797c72033abb638923faa225c3e031537d898a6dbe73d4223264f19d2ce0d58926c3298748d47caabff3a98c073980f7acc5a71ffc8c1ac1cd324e3b8c916242ec3033be07c8a39d3354abd99419685ea2beb0eb1add5b2b6b6fb0f318daff1422fe16ceb9dc66c01136b08b9d20c352e32dc5ee2ff53c1c8f0d14b92741c91394877371d3c0acd3a56c571aa5e2798b03124fb7be5871b3d4099e4eee778f52dddcc687d5b99c5508eb236af1fd2e5ec4312349885cea4ecbe3cac25b3030cd7197c01148f4e5ed0fabb326bee21c7411b87b78ad98401a240723df4838ba73f2d9ce9bb7772978ff5bba7f26c512223f121f621ca19f2e3c45ada81257459b0bcb7668ae948c1a93d6178d6294e7669472fb624b2fb79803870804a4fed281c96fc394213bb186978fbb702420173bc948e0519a1dfe36176639eabecce26f62db984041da4048e11dda7e685ab2c8f6301c4733949294a63fcd9e9a50a47bf18d0d92ba7003bf9aabb7039214f7f85873d98e56586e8e5e1b8590ed9bac6024e471dafe1a6d69593f4add24811343113d4719dc5a01f98bd8456f0c4f3785d76b62d80ddff90ea0c3097766de07b78d21c42fbc8c1285a92d74120de229e4822c59120b2ce2a347d355cbab04e7b031861f3b28c8ce093c45cb018d4449c7561e14ee9aa63ebff93e6795f846fec6cda50a0c064c15bdbec5b7ee691fba9dea49fd409e1ea182f489cd69e0f3a3ca3ba1e659f126b4e188fe62c88d0e7631d92808929fbd5f129995b16f969e8330d85ddad49ced110a5c1817d6fc9a6d21832a3ab1bf31ae8f387914e2702c7f142bb1ae466c73e7199d4e603dc01312ff3d41163e8a72252d59ea3044b5d3038fef34511bc6a2eb5a90c61923ebe6c627f6d74df70e42595ab29cd9e9c4e9a30866568c506b6a23a5c0783fcac119b358855263aa9f98312d7ab4f356bbfded04901e528bf6ada45d6f702ea564dedf8ef6e7b838a907cb6aa9526a9f2140e83b5d6b299d70751cdf94d50e12324ae968537d445931ac6dc7db693691fc2525ede6b978bcdc24ae8c33781c866003263e67c97125188c3fc05b29f3a4788f270fe3e122b4689c65a039dcb309b3bf86480969f38f8dec36caee41e3e064a801732f2d2a45c47b3d949930cb392b1f6175974a7c6400c80672c5fc41dc0769f8f9bf9229ca090878a171e66bc2dfac22e4fcd6e4a0dfc11fabbde1e6bb73ad1ce4fea4489bc8a3fa02e4cbd1d30624591d77ae03ec3db9de3056159b3bda9c6fa91f707cc10b9468c979f9a4e130cadd54055fe102aa8d9ecbc4bd2e3aeaba036f22566c9e076fadc54ea5b4b47d0f619122577f3251d18aabfa7a02a2f458e95ff20597a3fcdb89dc60f57080252c6c1426c6d83f28716ba91c0b8278f62bc83189d80de07ef4b1da01412520cf2729c46675f2fe6794192be44961073f754ee038c09540da506306669142e943c6fab0506b2bb9c327bc4ae37b49d37f39429a0c7f8598df6b71d55494ce6043541e00a794244200c9cab6fd8f49912501aef1362c1bf84fe3fbaa8609e7abc2387c60aa3caae160f573a184a28db71de44cb0ffcdc0190abbcdb893b561c20fe2387e3fc318859f954523490f50c4aa2b88483e11ca826800983ca48c895940a59ce54a7005c01a928f4061e4c9d5bc6f92d45e834da1dcf998eb7f0167b46b52126a036e4738e39dc83d13b5b05a57c99788dfbc32186ace73fa0cb1f8754f19eb801ef86e4b0f4aaad999ca10c76690430f7603afad1006106e05b17f10784eef94582219a6e4077cf183234c1e75fe16c2bf9eaf350867947ced344f6696989345a59511191f847ef40095a0430412dea0601e59d80017782b428c2c8c4178dcc2e80f23df3af5e1591c0ca332924b87de08a01e80c1161fdec7e1265e78ca46e230db0b12d679c0d58044d4342cabcc15bb9650f5d700658d0a6ae69f7279a4b044a78955d268698e442e02d95518f8b2a43e04f1b6350c69a6569d68958e8842ee5b9e1e52cc5d906b7d0fc340d80d91c80a26b3c02d6f03e8e3a92f991cc748e175ca547744141f944e384b31a373bfdc7c0e8987a3bb3b6906b80f80d85d18e7a48cbd845563fe2d30ac2bbc41ea9d6ebcdfa564d30f73b397bf0003fde0ae6ddd0271fc0eb5a4695257ad722054b566bfb1bb4bf99d262c8418048082b8b233058ab0d731fb4d2ed5131bfc3c7995d61064446db67736b360720ceea032a6adde981af2f5d05ad797cb82d81e09e9e3305b4c1b4107cd2da890deb4be6f438d6b95f43d14ef0f2f528fe07e668e8d83b76d000bc403e296d5380ef406409c23b24a3ff943a9e52fee4cfd4fa79afae71d928c95a0d941588c3bfbb127a9735de692d35909938a046d088aa889813eed8fe3604d625e79f29f6f7ac0ecd2f904ad68296b55aec6c31d548490c4e15d8d9d2b138b107a0f5beec75b6265034b0a62ecd8ce250b8e91a2ce038a79f171c65abeced0072de7959a8d66904203173b80761af1246d9197e27d0e64c342fb7136f22e4771d4cf85479a686b99e015ae1886b3da3b75bcc3fc033694078864c75fd0a9b5c2dd1911af1dceecc8ad0f7a3b6f496237487ed4129843d01dffa59a4cb17c854de2b85fe93958278367966e90212bf3a32b50c5812724c2b46aaedf61497a0d2b5a8d70b739a2f17450168e8eb5b29c5522ef976e44f61f2e4a6d52ecfb1c18253b0d8f6bcc90d35979fb1ca11279592d2300644a18a34e922e39901273ae48eaa489c2516b2d5747abfa60c3624bbd923305943e84b25cc5f21bd5ac4fca2e3a58255588e7919271d3c6df11dddaeec6d5b9de2716671ccc2ac488719b82498064b6dcfad79c4eabb0781e9539fc1100361a197b53973b383603fc024111cb036a9823cebc3fd06ed2ca70f0a75ebb04ce337c4f5e3c738434c37433126220765d5ceccf46d676a3c3f66617b7a41149c0dade8b5e865780ed53d8595129ca0e85de7e94939a8e2c3de091ca558a335e4713f62660124e239d4d0f8606039ece534ddf428944b225b7a08b55820c76c079da851b2ede193b5280587479c658565fb5bebd00ce30b0ca2a3e87126bf66b1e0397b0a9f4095118f013b3b8fbdc08eb88695b3febd61d18166209c1054447633d1a39b59b807750d79a65532e158a768f3c626b446a404656a0711eaade51d6da4728ee107f2ad45c98055397a9f09e1f4e612aaa1de49a27aa8835a702b089596a9d43a0a9fd3b0b9ff9ab5b8fd01b6687235f18d941c644917ec5802a0853fd2695b0f3151f345e60a7a2d6c0676d31641909588a954178b43393a2bb9c0d45d5a7ae476764d7149f1a5a068afc554e8e7f12f0af6f631d0a7660104646e2096d6768004e24a8c9a7746c164a94a99484abba073c2cb6d1042af7ba73f6c4cbd3fa4de8c40f120346688a5e456a067a9c4baf3a2c9f9ca20579cfc33b106f7d4836429ec2a874055dcaac40d1a7fb44545ed34c7f98a8626e88ae838a4d88779472d9036e9bf28430e6ebdf320eb1a1c0f58849d131ff9bcaaa000e5da00b22b0f5afa0fa607e56f98af1d2ccc4fa2cddfe82b68d41d64c6e738d6d127308c27969ee61024638c22a83baad1e0234b215c287f65a76a4580ffd1f64effbb39cef443545414d71278e21859e3af7650fc067f8b6173539f4e718c61ab526db721aae199cf586648e4cd156db78296f6f0b34d3d07d85a22d55bde9929ac4574679cb6652e929a809c4581c2be54613e923019018e40c1a81082a93fae5121b77b5d3cd7c0174e1f1df69628e2508fe834a970d11b9d6d83644db52cf87bbf0a2f82d2595cd734ad7bb5177d4a8fa046ae46941caa44a9729a3485b4c522411446846ac556d3e49308a6229b406eb024dd807dad05248f1b37aa69a1bfcb0d3bbd39adb2a98a9b2891a6c6760abe7c45fbbedc4b4f1988e72501d99be35f168fe838ed442edc6d5c296251c36cb5923d1e548c31108cb55cc5c70ef1cb6ade3cb44acbe0c68e88a9d4ab31f90ef2033ce20c83fa41aaefd395918826c82f7acf7dc0bf489069402b6ec2c158ed723057331d561a95e344f41bce39044ae517351fbc0674c6036ad3829559200cbb9a0ee5e20943bd50b90cf1715ae57b193654405ab8d54e947e708b41c21dd3464a4e1be165b8e5387e9bb5d852e05efc1ee9f245fc7cb6f16b56b1053758c6d355e8a458f6515fb98ff7f1d5ecde7b6f29a5943249192409960957091f77a79457de6903ee6fe7d81e67b98bb9cc619bd59e21b8c4e4a37dcf4eebd4568b6df0cf7025678dceb477e3cb3e204dbeec0f416959771b8ad250f8ce89ad878114ed2f44395b97a643d3dd1c08afa87c3515ae3e310e5b21b98ffda966aa2122323242425252f2264d98b60ca43175e0dbb2eeb66d165747202d049b804b50744df4c9b6ff83848134e9633dff14e48e0eb63f0676ec6cff19e534b92308096bd9609d8dfa5851e66d0824a1edcb5a50bba3d5bf1dcd7d3870e84ab9e3dbf335c00285c9d884b26757fb0c0ecd1ac6e090cf76a8430a2d039df0834c8ee36816a007c9f6b73ca08f0932c006fd6ed4cf653f1c16e02f07e8436eef9a7cb41f7657e4cbfe0c3b279b6ddbe7017b70bbd56445cfef6a9fc873739e9b8d6f284a6f1e280aab2248739007aaa504d228ac45440412154d114909d2c02690063a39902bb5a0646dd15a4d5a50ad28079aad29aa4985959478a88ac0259046dbf6c1266013181e5bcb48d6fce971286325da9c49b7a9a9293022709be70601265ad67552dbbe8ce7b6ed77520e3485c4008af089401828d2476e59b8fd6d485804c20481b33b9a774b0e749bc0b0ba8ffdae46615f57930016fd2d280a6b35b98f7d7bc34597b79ab6fd2bba5cece15b85322a4c1939d51ff5c654018c5b8b0aca4315ca3c41d116189ea8ae8907aa6be291f23cf19d33e3dbe3a3e7faa4dfe816d48672d8f756d66a6aa9712059476b49b5a6c0169896cda673ea685d930dd8aa72587dfbad5b0b8d0349324e68db7e2b8d8dd9174ae791e281721ffb2da7d69303c9405aab898aca81643c373044629478aa1c48d67adaf6edb7ae38900c078f92a56d9fc7ccd4b6df526ad15a4d5a4b4cf45b452d2387d598fd169103491b0f51db7e0bc981d0f0dcecf3a4b1cfa3c67e6b66a7a84218170f144f54181e2897cbc683912dc9c89ee074518530efb9fb9cae42983050db932a8491922fb95500c3cc0dfb3290b6ed75d26ee3e867cb1a6f0b9db7b425bd8006e883c65bda7628a3aa06a49f2f760b964b356123c8d26c87293a419e5cc164706bce7854340e180f49e340b162a2f5113434c1746ba2075da609246658b0e5164f54c94ba5fd0b242c634bbdd65a2bad775269ad04ba57723e4ca7d55e4cbd6e6af3f8b2da9a2bc7c2f15957ca75b4565be5c9a6b73e4aa994524a29e5bb942e6d75fd28b25b9f6cbeff9c537b331462eb87c0fecd1eaa43b68aff837be15a29a5947688494a293f4aadcbf250930661cc10d395e54ff62393434d434cf4adb5d62af1a9e57d4b29ed5e6e137c16f33e0bb1392ccab1eeb9904886a058277a22e682625c8e715f1414ebdeb32e65beadc74929a5949df7d55a5b9ecdf7d55a6baddf27a594525222ad4ddf5b7df625158558994197c4a04b06fde8842fa336a4ad1acac24fbe24f53aab98bf561c729ff1736126d2da3494d56f8224e0ed811511bcab28e466fc21c8af2976cd0bbaa818649b206b312ce9d75aab7e6287b0d65e6cf1cd435c9cebbdb856afde7b31aef7627c6fc5385f6cb3a2f75e8cefc5f85e5cefad18e78b6f70eabd17e37b31be17d77b71bed886a197d6afb5565af39c13d739e79d1417b1d769add6da8a73e638aed6f7bcfbe14a71a50f822480f7e25a593a3a3b3b3bb565c3c68d1b372a7e0fc7672db0d6821c3972e48c6b069fb5af81ad72b496fefc711c3f8bb1bd196c50c5840913265c3061c2840913264270c184c91a423021a2d4e7b5f9d68e9336631c3f4144e67e2899031cb300a1ecc03f840f00205ffeb3629c6df52ac638e78a71cef831e570b659d19c73ce39db6ce70d4ecd39e79cb3cdd9e2ccd2d9b941ff5bd46c83e69fb283fc34675bf3678bb3c561c1bde0f1f526b5f62925c12ba5b952972f4a0291d66aadcdd9cef770ce76663b39ce4e0eb4ef79f8b323b0df1501085a8ff5e1b07474763e9d9d9d1d56ebdb01e77b2d6c234f1b373e1b570437ecdfb881719e2d1cdf0d30bf87e3bbdc7d0bae1d8105393e0b4012ea15418e1c39becb711947065f4f061a68307e1a8ce38833d8e0fe056178d369b517670e632005db100d5471dd35c14729144e90549df725b1684bdf110fa1da027c785ffde0e72784a01f6523080e710fdad820ae7bf9a02cc034fa869e704a3e8d6601e60db2037f9966e6e0df51711ee956cb66f5de58e60b9788cc3d8f9ee88957787633787b0b1bd3b6030f3c473396665b5b2b68b36b2103499358fdac9db0e99094a518ca44d6b395e7acf5670af8e12d45619a0a8cb5d92a7b4b53ffce6e51fd7b7444ccae7f912e9303e95dff365d2787e9fa37cbad39d0d3cd528343545b8b831adb1fe7eef954d556c554d55b4d6367b6c81ed92407aa6f95ac93035d7120fb554ad9270be54076d7b7517287b43bc06933ad4042421263fbe3b0254962fb153968d9feabd1eef9b4ebd729a9a80a55b338ace5d446aba8197a4b5367b588c21c00268729573051f28453ac7e3da230d7183460865081124b2811ab5f93ea579a03d5af4d1c6623f6bdba7850e0b01d8b1aa0b6ff37abd0789afa74569f165502c8a0640b2718a0aa6089d5a74914b68134908c71c61732b31f62f5cb62d7fa94c96160ac3e7d82a2514ea71c88ca81c0c81ddfe7e3b49c63604318dbbfbba551e3332ff2a3199cecda8ad5f72897d262dcaab1fd710641d151128dd69c58adbb82a96626018e98d84147386cffcad25ea590d1b5d65aabb86d38b8ed8628b6fbc76299a04e3b7b1c889ed173cf5db4a938a77c743093aacbd40ff6ad06b4256cbfc70f44d9cea3a479e4403a8aa68040dbcf1446df5aab6d48bc1fb9a382c081eedfa8f4112a73c92df9278c0b981d38f70139dacfb8d5c2329f31c3a6d58c23b28a3971901c4358407e9faa3d6d2babd816caf62969b5e1c40fe4cbbe0e20618ff4b16f13da0f16b029ebc3b1edd39eb04a1ffbddb72d6b8810993d17d92e68b966963703604d159a9a5a1860405d897da0062e26803a238d2d5f80e98286183eee3dacb0508b078a5b42d8e22e692481512a88d2b251ccc347102a6cb61a90e8a4e0d1391467db23832758383e08e26c8c34b8a5ad06297b9584be5bda6a58daab28bddad25683125b0d48368bbad3ae5b8f64cd992d1ba58c2039d27af9054acb142d8d0a90a012bb350cd1451959486145171f164888b0f7f8812a0c9a969a961f62d6091832a4009366a9892f46361c1bc5c8091b3bc6088bcd9473422100142726a8a4e00a33352092d6886272ca4189c97785d110fa03b90932d030b345e72db7e022a623d2dd965b70f902aea1ef965b7099da60cb2da84862a2940ad212554882988ae10819687c287911436a8a26b630b959f2cf66b3222f22873ddf8413c2d0ef4560b12a02888dbf3a10081b57ad6f3bef7cc18caba8d0005d404549a3d982055492a69fd3b031e58a1663440f4c5e28d142c62d96b1e4fa712f6505e006536ad8ad2f5068dbda4721050ccc5ac55ca1985bba7dedf64eb12dd319db5afaac2a9a9ed8ce84b6d6a6f9210d14273062946822b7983182440e5586f882c5adc889b576de20e28bccdceab629f560d3ffa9ff8113d68a45b63f07607460a1d1e415e4adb6e7964f7fa4ff433f88fe6a89475f7a54fcf1d1d24d45c9c294d5fd74dbb996ff95ffb5e440f5f3bf981cc85efc372f7b41691f52ba7bfdba41fae4972f241f33b6770434fa1b018db674f358a23ef971723e43ed2cb55f5b748e28a98f140f1bf5e1e1038b96c927a99d7fe7b623a5f58ed48e14902c5a269fa2767e994672a0ef7944f158a2301e33992ea23e593e2d6d1e453c661486f35aa4a2be11bbcf09b5b81265ba7b1bf169b67f7ca41dbe3f5f52af2307f260e77fe57f3551d8cee77f5da130d6e77fd5280ce7f3bfa0282ce733d5ce2fe9cbb6f3ab6ae7f7c145e73ccedfd7917ce57f81a1592209a298c07a9c2781cee7fc8e4802d6e3fcd4f99c374147cc791358e28b2663af231f7df0a0714257f7382f6339a1ab135d25e0cff907dcc7114980f317e7ef93208715ca5802a8284cca04e4acf516aa9d3f27c4098128e9f9ee65d055027e9c97007e1c09dc17a23e941377f40d099ca1776a5b6e99a6da91daa90141427b41885e49af23ea937d9c407be10b49bef257908aaf231ff30ba00b6d2908a4076ddf0b5760552ab54d4521dd27fee8c41d2a1ff7ec42facaffcacf853b533ee61da92f76a4ea96d9c79c5f47f95f47f95f49f95f34092bf2c294194c5fa040698c9358fed79284c92e4f8218d34315395c21466c04349a5a50a5fd654f1685c8a75be71a062fd36b2975a7d7ca6bff5a4aa99c9fbb5c51c1985e6a2b9d924a5ba9ad14d74beda5fa47e24e761cd5943ec6b93e961f87e712d77e08aeb577b4e2cf39f54729a53ebd905fbd573ae892137449aaa99534f4fdd57babbd97ca50d3c5135fbde510139552cafa64c992254b962c999ab3de7bf1bdb8e25a2bbd96e3a0581fae0ff962eccdeeda7bb1adb9d67badadd8da8aedbdd8da59ebebaaeb4dc57875f3d14e0849a97d497da8cfcfb5b65226e3acf2cb99e2c7548a39a9bdf7de6bedbdd8da7b31a5d55e89a91de910b2864ab2b5f7e2eebbf7da7bedfd8b2bc594de6aedbdf782607d6f8535bd5ad37b7373f3d1120cd5f76ee8f5ee872e6aac6edadbd216858c311a674b5b145b94285e740a74ded216858b96284a908952041725087d693b7c365b14245d093a5c51332b93c4f6e5a6841d96989eb8292149edd6f3facb39eb5647b928b2d870381cb98f4c2a0107da149a6eb94514586c9c90b2655fed63e19082eab165e4daaa150a938f4969cf6fcf39275db2a9b16963b29243858cd5baf3eeb959a090d1b12d1428db0a396bd71350652ab55dcf98e3aa8a944a56eb71d0c2c94b0a928cc1054cac2ee1858b931ea0acc841059f18bb560150b18464fb2f8dd93ec5104664ed4f33214cb094e404658c89d5166c4f7c71120329095aac9ed9f5c79fa023ab79bdfe27e78c3a01143643acb1fdafaeb50e3183673f8d022767a4102289a927396c7732ea25231b3dbf0c8027606c7f99f58eadbb4ddfd981840c616d2aaec0daf3e9a6a16c0451d4f6a452db531442a958bfd0fe2d58126570c122a6c91231841851f2a48b3298986288f957b14111bafefce99a62bde08bbb5df47f8a2e1715fd835608415db40f5cae92cbdcb55fcead96dbfbf547e25babadb54a094e219dded75756f9937a95b5facb97bf7c1478d281ea7b3e73cdd45ad13d7fd533ac7beea9983b8e666badbdd7ebbe2e65764a3d693acd93d6d6f83f1507cc07b15c7b6219d79f4bf32875ea925207e1a9ffdc3ae408820818d04aab575a69b5b4ba537af368bd557372b42104c5b0fd20866bad3d585e2e1ead0e34eb0a832047032440871c4110e1b55fc7ae40eebd184c60557dd25ae7115d1afa6e6973a2a4cb41db6c69737224e75bd50f9cbcd04dbf557d4d6e37fabb7dacb187a5bfef63e158624d144cc088c2862f06ed6db94514445b74496ae2c46b32667b7bfe095410d5264d3aeaaeb020cedc6a58a448c24aab75adb54eb192f414e509490658176594c4d043153a3c7d611881e1d6f9385a4075f6b4fd99f0c108950f5c6c7f1c3d231328db9f831f1a0cdbff03a6987f083422b63f0f1f336c8f1273db0f4edba78028dabedd06846dfb0fb10561044ce622bcf99e37c3e912416ffbde016f8ab21ffe93040789ccbbe7dbc714870d5b2c1fa50b884fd105644a71ec6149fb3ffe04c5e0c91ed97d27246b2efca10b8bcffd03f27b1fba3017ba309d5c3883c89b4c68b7705db12e745d516be953c75d3bc0658f71ae5bb1eb8a3daadcaf1f748be5e350973a45064aaeb4045390116229cc114d472ef0648d0c3428292e8430d303109c8f59618d1a151cb620a1431633ac408a284444484e70b05cf4a0744de045111d88d430c185132f677c994012359a54418ba20b2fcaf470e4a6cc4e9a1e9af8a20a182aca9040972eae3c39a28c115b7c60ac804546bb7f0d8ff00205462f0491c3929b1fa4a0629815b174c31750680164c1217750f7c1a28a295bb69471c445d00aaad450838c296c50a36ab604e8635cca0d9401228b29887842f3420684087303428c192357c8bca8ac28353d79010c1043548ab67889c18ba72cb82b9496c849e81ac61530840d490c5c90aa9411a3210a184bc86431f5f47991648c1328703033d3828c97344c9c2166c9cbd23746090be766e4c4398334e86e4bdb15daecca09386d718ffb14ce76e588ed3f8946a9dbc48feebdd888194b51a0b165898ad895420a0d49822063892cccc4ee27665f13104184cd468bea02053a31101d719a02050c4aba50a281eb6144100af3196d494aa9cfa3278a42126054a9a2690531dca0860e2ae882851561c69009b3ef8f3ff20c1aba922912c5c8c813256b9a78c2881800be90c10b238cc8708a818b25549c5739bddf92c2230a1bc460c2768226be48c0152866c880e12286346c62dce557e7800a922e4274e1f4a4ca4d0da231ced4b086185fbe2d88f8e0458b142a6230010307b2dcd43862050930d468c1c317d6c97f72155b500e05366d2b0369d21da40d45e91aeea4e8c7735352a24a349b12a50e65a5c0e08bb475c637f3505118cfcda96a2d25593fed99a5c6eb382a47b3ed83d3333a429ab69a310f9a2baa10c6c673ab55c9159bcd56e5402d271fad57e775770f52dac6f0e413d3666d697b4a92bf7bb9b328cb9f7fd4e73821f69b5f280488f77dcf712e447328f7e7bd7defed73dcbb7ed8f74421dc772fb3cf7df7a3e3c42c37fef2f42cbccf0c1ba80822c90551a2928ac230e252866502062a7480428b0ac65071634bdb162a58f40c712fe4399ef8321c9a3a3a5603316c0587583af8270954e89e2c7bb258ef5151322a8ab2dec121569447e5f8f93838dd4ff06d7efe6c3204d6e33e73f537ab9f3f8de6b3747aa4e494d386cb86d8c3b78dfff728878152d2c1382cfcf97e734fe36a28918d47014b962c0e54f32707ca115dfe3c3f815cdefa9d977b3ecf0eb21e0dcee89eed3f5d872efd38beee1ca14b7f8e971b27ccf116bcdcaed0a5dff572cf0b3e270707072707949a02a386d0c9893472a6be60c2c9e9a1f3bf41d38bb2167ceb882efd36fe3d4abbfec6d73d45d1c57a174b14c33cf10519a6591593235c8ad0aa9041c41a319821668d064a2819e2091fd2c052449dd21c2106992a24cec4e6ff96fdbc273f0cf6d0f96b2bcdf9cf791c519659f37b743ee7273894c312a2323d82cefbbfcebbe802728110fa17bcdc3a7abe3beb358bf539efeeeece0ae5f6507f8eb334a0430cf838ff0413e60ce1c30b5e8222fcf860a2a54ee5008cbc7121a60a8b239848b2a6ca0d536baa6e35c420436cfe05f2735810fa944b4d11f4a3851a4b3f1841438a0e138041ca861da8bc80e48ad87cd70d1b4d14715a3aba15a1a6062327458e78f1e4498c335365a662f35b3ca14bf9387f27f429267e8284244c56e950d4250b2b468c8e04404b1257843932a3054b6c3eb642cbbe3d73d65ad6da2c1d51e68ff32c71823dfcf50bd19c70f5be32dafae671c2bae4a3fe9b70ea0f5bb07b2556269b708a09675538cdf8789b68dcc88f1cc9933eb9ebdd92e651515360a418718632e4fc6495012c5e1899e18c134a9662b2275358312b02224b94aa0218a84801033ebbcfe05037e7009098b2fd3b3a7dae8102aa35371c5599c5e81a258ab0843162c351d5c1a80a8fd2296615db1fd38ac27cfa69fa21dc684f55c8a092244d8cf27044933160a29ae850c62e1999da94d6fb39735d4b7f9ebf731f411f70306a015481bf8243785e5962d7fab9ccaeff552c5776cd62d74a29a54180b1a94e8c4ea06a3b22c9f6774be92ca220447dc1d265ccd20b5e3e34426461c927ce38b203d1134ea22411a3e22ca2303dc43495e6cf5c9108e393e50816b62c5ed44f03c102077e27683b7ecbf2a065d80039dabff6d698bd56caae1ed86b6fbd9cb5f5721cc791b0ebe4eecb1b0edcd010ef91e3eccf17e2f172e4def30f1c02b2ea41010cb5f4e1fe0bb997924b61db8ecb5cae533aa1eddcd92f18b30bdc59653811054ba28551a4e5496956c64b2388206655b4d050a635ab3de30f7744fe7126ac88e20b1d98a8a2c58625e6582031b2d285e98c2833c820b2462e905c5ed0028a29d0d8a2a0600429371bb03071c68b0f31ffc6a82d7952d48a6015d1c10a2b5dac306a52411445a0acc0490c354869961011f3ca74ebd0e8b211154e862145125a604c6dad1faba8d569a565e8745aed752ed38ee64c29adf4ea2a12916ba8ae5e97f07e827e9c0bebc7ee4845e93e5b2e7d521769f54b05c6416e30e385f013e4e18f85e3ca0e17aad6fabfa5a675d76a2db76b0a464cc997dc291811257db6dc1f0dd89b1f25c0c6ef478ee440345fc218bf0f315aa63d161cc802718f5f870eda9f0b3f50425beb2f481ffc92fb167cc4efa008b3d0378e177d2342e345f8f1f7187c8c3b977dfd4562d8656fde84d5dfbcfd9b9b9b77a1feea8bc4f0eb08a3bd88c2aa15c5e8fbf5e9638e8e6086ced9f22968802c5a26d3eca9f9f8678dc26e1eff849a360aa38febe3f717e40efc6e0209739bdfb1c3030f36d840146fdcb02fc3d9329fd9977536a204817ce107434ff211ff173a928fd847fc37e12af47142cbe6ac3950f72b33f4cea6db673ee207024573d28ba88f0f06a2a44910a3bba751fc5d38c4c71130e0237e4e94d54bc1478cb1cff07b117e3fc2ef49f83dfb8d6086eef6036ef0affe0141a80f7efd42ee83c2568fbf849b5fbd0937bf125d88c2bd0bf56fb0165da0bf1285a80fc6cf8203e5c7df82c35c8cfbe03763060d1a9996e98d653e33eac0dc32ed33f9c23b8b6ef31167fc42fea2e909359f7cb6f10f71d1fe66e8bc65fd06c858fd07ec10a38f4521374bb8d923ab1253d1f3eb94b75a5b29bd9452ecb56a7c6bad92523dc3dcb2e33adbdd3cca514cfd8b31ce57f768d1f36be62cd7d5cefbfcebc089efa59d4de711e1cec37b6af589c1eed962e8dd6f865bb65c62cf4d1584faf00801b0c53df70f07a35bbf42d4a747e25cb93333cb274a29a5f429a555524aabadd54a29e510939452baac0bb8929baa9d520b70d2f3a99452d2269c6b23075b529b323ccf524a29bde20eb7dcfee363e5a08e96524a7dbb0d6553944b6ca9c4a63c6a18caec9661b7397cbbefcb3887c562d1ad43dfb7ce274359061b839d9b9c8fe6741c55101e3a3c9fe5e1b2504fe66c6445f6cd105c2c99659e58b264c993254b962ce1e2c99227962c59f2640937c6745aedc599ebbc95ae433480ab0bf306274dad2ee0e4dc15136b83c2091f0652f0d1df96c3b23c842a139d1d16ecad8ab7ed1fc3bfc313e48425f61236204fab523b6745f38885da41151764f2518fc8dc2c54aec581636cbd5c4673955425560997bd70798869ef9cb65e2ea3b94aaa12ab84cb4378a9f7bd6a29a5b55e0c32a0f4560ad65a6fd5d1d9d9d969d99836e68d1b37be59e79dd35afbb34e6b7fd29ff5ce7b6dbdf7de5a3facf75e5bf1adf75e5b5b404ca7d5de09ca2f6796d6b8f3dc7ff00eb9834afa437ddc8a00a080bea9392c3b77785a366eb8707c52eeb8d776cf853fd29ef9f1e1fae083d0fcc971c127e5f3f0fd6385a5d55e6b310619640d827e7ea8f759bfa0b52c9d9d9d1d3b6d507be7b4d6829e7d5f941d60308129caf16620811c2009159818630bfcf82fc787a1f885a2287ec618e3fcfab86c235b4fbe68b1d1828ade41df2d6d4630cd8ce8a10bcd6d693302e9076da45343df6c69b392e6fbc2ca2d062b63b058d1a296b58dcf8a14e08e5f692581a3e304c523e5868544d20e105fce152a1d1c344e5311cb6665867363058d1535397a8c956ec219f3ad9c8e6eaad0364d365d050a0f9cd2b4aa8282efc3926453650ae85d01ab2cd9e98ea8faaa1c799c114b5e1518c04c45aa73128385abb81f32f97e396ba72a2f37255069726255421528225a2560b9d99c905c254c4993868d128aa01501c68d68256700287143171acee8228397640d4d46573402a3dcb325a655957716d1acc44cb007fe4ca33e9ec38346613c660840a2a54d8ad196c9272207e2ae28cb1c7d49b990fbfb52a6b6b449511ab7b44961da3c684d1c880791537a824ece0992facc7a1f047bc855024bd4115d886282cee7bc0b3e0fd0a20b3aa2a63e2e5d8750b555c4a2f738e7fcd4f999731e7f94fa39aff3b2c73a61bd4269e7883c88e4cb7f8a3c6602e842e7975bce72963731524f4d4d5a4714266336aada9524daf66f11dd284c8a71d87c926ae23c4d1426633c450e245bb334362a9e1acf95fd9e28e339dafe4746443efacc47af519fdaf6e74193f1403d4dcbe4d34cc87dfc350a3fbee81c0ad379e7c9596b39877e84b27ee584ac6fdab29754938ef8826289afda9cd3813cd8fe2fa9d7d48bca81a6b8026bb3f0fe380c0af29f2f9b006c44106dd9abc6a3898ffe95ca120f9a87134a27b604318bf1cc04e044f314f110bdeed397bd6aae20443e84a8cfab26be9e7c94bd6a3cb39c5df1e3843c65b898c5327dd57cf4fcaabda01c288b9e73e699bda05e4f3e7aa639dbf0559bb9fb7020280792c9a719ed15e540b2a2a7d9136dfbf39839d0155760f1cc28ec55933e9e7966af1a7dd55e3520954a12bb8a42449e221c9cd033e3568b499067e6a3bf6adb5fc633dbfeafda0bea25f5a27a92d23e26f1fc6dae7bd1de77a2055c3408be876767f35e68f3dd6311b4792a4e9b07c19076a10c7b164469eaa3cd530ba2b49c47744e9bd0b53d8a377d1c4529cd3d40f09e7390cffc1cc8b9cf4e6875723624b879fd26e08820a03efe2bd14634e146d4221025ed43943d28cac6ed33499c48cffd50172d0134740b7783a28ff9b3d689351c828ffe41320df6f8e0affcc8420b7190467f6dd2e6d23c72a001d08f0919226fb54dc515e4ad6603fd9352dadeea871016bc77019142e4965d171169e913a99ecd07dac8506856855f386f5d28ab6ebdfc517e0eb394524a29dfbbf2ad94339c524a296513174c4cdb5b35550712c2c2f72e20425c44e6f65ee6ff5efe2777ace4af422064b437c1a16f05da7c8f39a7d0ca063cd24749b4a5dafa91cb5ab77ec4210f1fab9ce6237d94445b6ab229a86ddafca0fff127c8e6897853474dba80cced2f9f66cf737a7eaf79ea137c9cb368c88986a69a219ff938e7b609e7f6f211ed694b4d573c8f26049b311b6bf343f9ead042832f7b1264734bd1f5c35fd3979c3686fe110ae7ee1939f8407ef4fb1664103fc80ee65b29fa0f729c7f4120747f7fc11ff6fb44a755704856dad39aecf93ffe0481a16c366df99e8728a4996a6644d76dde3647a1ac05a73d6da9e9caa42e88decf30617deabed4c4c72f3ffe04755fb7e74ecb924b9a10bf6cf543f0834fc1219beefe16a2e00fba654584706f7f150ec9cf11a1442e58b346cdc6a0289b1b7c5fb279f1bdc901a66869eb52b469bef43d0d6da8cdcb70487e1b9008ddf9bdfc5dd882effc42865899fdfb4ef3251d32e81fc12b5626d105c47f85fa9ec64789c647f92e6b3b6878f37de44bcee9730640bee4fbc80ee4f491a3f439ddc551bee46f591e6596afe5b7e4bf7cd923abf804270be03bc7ad56e10adc0be9dedfc6f36f824344e6eec07d223ddefb26f77d077244e6066d5caab6831c287a928fd48fa6f0a34ea494524adfe3e84c3334d1f8d034e343f33633a594525a049c3808af4a2a3f5ac121d88ccdd810d616e2fa21ca2d7df430086368a9c7d0f71ddf3bc4c117fd423ea4a4a1dc14ecdea32108c9ed9facc8ce0ebe08b386a1cc0599de1de8bd04bfb0c8a6610bbe3d7186991d38b1b039fb39c4e2a43efc83b83b0d923efe5594654a83d6f0648facf26bce4486f0f7983b3b1aa15975f3d1fdc88ffc3dc9df69febee49f8bd0ca58b3e43686134a28e93362a8b8f94003130fb1a62e9eecf13a509f889ddc9771c6187322f7538ae0fdea3d1d352dfbd9df8f1bb4cc9bf6fc8144e389454eecd1518496fd7bdebc791dca8a6cfd121cd2597401e93ebf08dde72fb2b1cc85cd7d0e715e825c91cde1dcbc1015729b5f75e24a6e1b517ea10b882772afc9759308ee400b7a7b11f235dfa7c80e263702e5449f22c7aeeb44e7446f6a72f272a8812137291c1a72a3a199b787b3a9e94a0d2a57997572ef7121fe09e649b38f378b30857fcbfffd473f4366210ebee8dfb29c5f7e3b4497bfdc2efa7287e0a38b2e2afe7cf062d0eb061de484ec62ad966bb91e098a02043a020a272f29a0a1b5b566327253e50dd72f2950b35d461dd95544d9a8a2b8e2854b0df28a1400b1fd6710c66f461234504c4c5334ec059432ab2f2a02cc961c9e9090d0a00c2dd34e34610105e5c5f61a625068f6144f34b1fd3990362868dbbd7ed70c4fde767dcf6683dfceb1bdfb79a085ce2851918f1848d1f6676856da8466839651a92396ef3872244fcb577d8bc3b665435a0848a2a58d09a52d636d968ff52d102cb4d336fd5900ba27fe5ae010cbd3800b6d5f88dab025e2b818f092a84f488fa84f7d1ad222ea53dfcbdf5094c6c13d7824269362acb53348ee5b3e8680066b578ee5e30c72877d247d6a979b9df36bb923ef4c841149ec5ae5c4982a589c11e2062d64dc629e8384cd5b7dfaa569e13a3894a6cb1c529292cd4163c8867c9b52f958a9140867e8a3baed8cfad459b52b7d49453aa39952299bb37d0a1b8f28a594524a699e525eb2245151185194fa7282f1b13e0496d0b25935ab2090849651a90860a125191b6a9bce1c28138922488ae44034c9fbda2d3135393950f7f5e995eaca2f77f73e1b095d5ff69912d1226a448f7caccf85148926f9583dc0a2ebcba65316b9435e71a24951ad9581b06db8ed8dfd0148189dc91d36481895a23ef52bdd418a0995a24f76a552606aa56676a562761563e50a245e9c01623108117dff0b93b15910fdf92027b05a381c68ee0eb69d9fd67207b76d1896de6c80b1b99105f86407fef2b50c7bc6e4164410cd62538916f3aff4ca2ef67cbdeb9ca25e51967b01f0967d44b0ef9c3d657557fb39cbb7ac04ac4af7901f66b42cbf6b2acaf2eb1cb2f2735b4816e58eb9a7077bfe1096cc6e6d3831ec360e7d7630f3379978f7bd02acd1f43d8f1383b2d0dfbe425c3fe6773f45993f29935332d6be4f3527dfcbe1e7a37c12be68697bcaf2735b57df4ba46fc7f5e0fe7b212a02c78543be70888cdaf8bd5048d78942388efbec7d01a354a8b4ac598972d021b211010000000316000020100a084402713810459a2ed90e14000e6ba24866582e1588835190a320883108216308010000628c01848c6a2b006859e5e421c74063c7d5ecd6cb42f266da2b5a46dae6304b50dad4c85476806ebd5041c81e21c5dee7194fb81c0f95efd2623fb27635745294267b37b1f8d0127c9fdcc6bf31ca0ab067460c2c192c3528c3ee105246d4864a1804c440c68834c6c23e1adb9b6b31d029d442b722d5390b9fc17f4e2aa809b0dc4239744c6220104d9ee65acabc789d130ce2ca2fd0812f2ef92d41f0cecc6157e15b6edaf385ce13f444f74be33fb25d1085f250daabc372ebe3b3a5828a04f1f8fa5488d88951dcbdf426a3612716bdfbab629416ebac385109802345f5fed70c6c258d3cd6e5304777a7504bcd49828548583a75354070dd0c3216a04b765e5b6a502cf400fe519f24f57e7602427ff8dfd73d01609c4592507cdc2a8868dadb2957a4c7c8235238f325460b0d1439ac8646813bf64e44206a2d9760183cec96ce019b1cae7bf60d8fa8ab5e637d38e713ce4230423c0c563a907bff7cf37a51b8889b4e65c2a9fa017c8643954f856bc6019098d1eca39ac2289a3b6cffd7eff4804dfa9caa2510ac1edb22bc6eeaf5e438e3d2c68cd2e6d303689ac9dfc0051d428bef1cdf16d8d2d36d88f41c7a02b3d10072c2f1f9ed3e34837556ba7fb5a8d87874352ff364e2237cc2f550971df19d202fe82e83577a7c55915da117be78b8e11de2f41ac90adcaeb4ea3639672e1ccb6be8f98e467383e212420f4abb3d4e165042de22ded95a91b7ba3222e215089b9e40d6bd39b892702a949388549e448c8ab605361477a1e2e976a8d31efef90198126ddf9e74e614ac3dc09fbfe9d5749527a4071d1221b4ba4913f9f21a8114b345be406179dcf44542c093cb01e51b07e31d29bea8e352cdb2994ab4af11d068e08f9ce369125785205a73a75c8c460a7336c9dd1e7ea12365003265fbdc8a2a21607dfc57a61abbc2190af538adc5bd0f2f517fb33a8a086b124cfa90c00242a36c633f88a40c2beeb9176c2b3f6307e80e6561dd860044d77196512a7a1540a192b8f7703a3a62b380e4e1a3f2a455a7826b03329170ea5843cec61de39a02dfc419113cd074e0a276dbfb1bf45343949aea1820ad00cb3c25b7a31f847ff9a5263e75807b9fe59eabed2d6eacb95ae08e7530577b5b2ba73df7cdbef3be610605b729c206edb70e657a5c6dc50b0da8856f8fda285538ddbc77e021e070b5159a0058272ffdeb1421d55aa8d6401b22e2fb76b09faaf4c7131e8416a7e2eecdb26fb581fc29423cc5991988c9bd2b6099d0e91910091a70b0b721a062267e1bd7e232f0fbe77d915d845c7975b65971e2b9f54a79b0e0aa0b9d1a849d9049359a92bd714b04bda96ba0f1d2d971f15dad5c0cbe4dba126cb3fc8bb4edff7fcbd7eedf8210f4b7c4c6d17ee117c183579988ddb61395603f86be8b271afc0562937e85925ad729287f96ef3e924bb062ef6d2c34643d73c4f86cb79eef30977e6207b1b3fd3c9a3c512398a5dfe42b9c8039c336df3987154890da2fac8ade44cbe0ae7206416e16cb8382b0396fab1479161189842167710c5f540cd37a767023051f17a23b38458f9de3db392a8a44f98daf9103034bc6c2744ece528e5646d7927d3ed303297ad61392f88d806354a7c7a26e6097ae15bf4bcce8519722b912d5d249a06d6613cd5384fbf06e78b37a054357e676f6ab0451ac26441675d3005ccc1a62966bae13fc79576e13af38c8ac5a29986022db3394ac810481bbf92406dd97e0b379385f1d5fb7cc72b41506ad1dd21acc9ee492ef47fef2469a5a1dd9fd97322e72d2df14bdab473b2ea59b7d22ba765b8f94d9f8a714b86a50c19e3ca73ba59eeee4d7adbd98272d875dec0a8844b8f3d94d847343e3fc6cd7332a18bf55b6246adf578a1285d78388bf32f03d2ecfe50c788a770c4a8873f26a84b2db2e6c32f9acd8dffe454871cf353d10bac0f8d412dcb1e6afbc74e70d96aae2696bbba2a490be0f756fc867983f3a443fd44fab4763d005d78d2b3c3fe887d584e4b2d595ea891ffc5169f5c340388962b45ac3cef69371de3559caa0577a5175cad5110ca923a09466ae9359e8a4170bf529bd19509fbac1a74f3d92f5ac73e4e862be22caa52e6955c7b027756e6104a5d59dda1645e48885ddc1ca29a554eb9087e54ed5361c12d23ce13aa22d791527029885063f7a839d5843410be993894891672aa100528676430dada35f53b87db699a604f3af69fa43b3e576ccb881d465c9e1f003cc947f04566142e8c20893dc33150aed5e5038a69fd8558bb5b47edd19320d656a21c2422d7daf50c147f67445c2cb0d5ac0655ebd5c4fb8290ce164c9c028b3136b54d2bb88105da5623d7917d9082c37e3838f4565b4e826b70865d1dc1fa216e713038a3dc2ad6862e4ee0f3868af8ca3b398a6894005841ab68294a16eee11fe03a2c8c3320f0991365f5bd921876126fc9490d653fb59593111bebe056df9996967c717783ab115a86bc4261849a8608df856c39243f4b7206bcb9dcd205c2ed047ff055f8f2242bdab963458e31c91f23ac6db6077a741dbc74afcf2e73c0359c9fc82aca4e4425632b22d4a62465f739b9eeba3d43b0c2719d5c0c22169ba30743f890e025f5b99021965758ae5a6cdc8c6f634b07590269d7a468b24142924d3efd877a3af0a89dad303d3a78aea5135928c19fb956c6a866206b6c6f79d56a2350a41a4a8a472711c8b8948131f2c4c20bd2103685200a22bc5239e1008b1bf74939e925b4bee968462830088ec4ec5a027e12d57ab2bb545c6e9592440c07b8e8f1b71007dc60b38d4c79d2385b93d8fee546e973db58f4d7916bd549c653b25d5867cbb6d4090272810889ab65e5cdf7406af13f2e2152bb2182417de134a34d237391336d407510d06a3297602b0c30389716dd151a310bc50789789d815275f35ee7bcc6b5f27b19038a29102a7d05ac25dcf88b2b9823f65fc92e2766dcd46ea1bd7baf9da882c34553f29c52d0a5a352a3a712a3cf72910679d890a7f4d37ad42d7b52a1669a9c3772583132df0ef0ac217211e56d1ad9b416fbf5d9188c6a2979f5603fabe022ab0d6371823e6664fde272ea3b959a83afca87180363f75b9edbfa78a78b118441cb3fde064c6967277305782aabdc500192679c37226daf723dc561aba67d30683d3aefff8ef453e19df0d1a85b3e476d32681d6ac84ed5be2354526e29a4f0b867866bb88eb5f9679ef97398396eb17c4e83fb83a0d7970b72103941b31208f454d92d90d5bd92310c95cd27256d8e42c1930339c4dfdda042e1a2728346648807e8a40518dd90531598f22ab633f577486f1bdf7293032ed583e42b32f5305f1c7795c491b8eef8072cdcafc4a42e528c1db5221d28a60761acc9d0668e84c401c9e30348d5282ad478d2fabe944a0bfc52b603f7b6fccdeb47f6a22294bc7913ee7ea6a53deb9133e45347c22bf6e8c43be77ec8a8a9d644f844129575e18d8278c09a8804e82f8c0d1168331275b2dc6d7ea5af6080ebcafa192c73f15f74e1b58fdd2651e2e2c4b927de619f073db7d8d8ed4e5045af34a5860358b8a99cd39ec95af398036ef899a06126efc15f56d7a236eaecd4aba94b2f0fb814d6fdec6630996678272553ad7e40ab2e612c65d60bb686f1c9a5d1aa718bfade15fc67e54293a51863fb9a4da16fbef26f691b137bfe452da994ff472db9e2df3f49495004b8a4f3e24ba8e5a23c74f7a207927ad23b21c32bdef6e4390d82ba3106da5733d5e46b866461a43c35625ae1080ea4beb01b285117ef8fb369edb366ef7f6e1aefaee0e4ca31488bbf8b7a7ea14680d5aa93b0015001f93de2c5d37b26658ad44150348549985e201afb2bc220c2e179057855564b2802fac206495085d9c2bded333f9028c3ef87b3827abbbc46ac0ed6a12eb4038299276940a6ed640e391f26a32abf4980181addc11c74242f304ee6c86ef128da03f54f8650f9a8d6ef290e7fbacdd9f1715a0cad170e2ca41879bd66fadc13aab08352028ae71f4cb79a947869ef350662434016281002459f525221c45cda97fc3e8b9b7aad00f11c9cb6817de5c6aa18ee77949b832580ed493b19ab02e8d84f3b8cdc2089c282e77e63473c218cc2d3ca1fae3e0a445604b2877dce8e30f4d1cd95ecfe5cba8de08e1df6de69b783405346a9f8ff7915dea3bcb5499506d56560317e1b3d623942c13a096d8a08608cb657d11a20b687646f7889196abe6da8326a10b90a8d37cad398b431578169a5aa674d445be1f96833a4cb5875cc9577afa66cadb4621d3fb66c62cd1465adf649cef33e7bcc9386af13cad21df0b41142e7b0ea7a450efa6f00fd5b89025e51c0cb2b22c86c8b3b79597f1b8a1d247f8e7e0ad319aa9c439171995548ebbdd2a1768f6eb70f2575d183345582d816bac8800cb3cea8993f68de4cd9fc2e467d028e5f9ba2051be97908423a5ac336da8ab8353e4eb5bd479561a99e8a0bc5b7192c6a43bc2244e290a739ac21ce291c2bb2fcf70376f9766e36ce449d7625c4f46890cd49dfcecb609b095b876009041f05101c8e30117644d2a23a00994df67c2b03be1fd511e56d2c8339756785a7ba01a5abe79dd46bb541a4f025e5a982b12046d3016a9218c6d5f55aec2a6e943baf413ae910b42c679264b5d5134c837d9d30f32e21a766e56ecd9d6377d9ab2925949517fc246491da6c0986ac5731fd4da4f1b94db5bdb0650b0390ab34c8a06de02383b47123fef05f318e3ccd9debd9870ae7cd2839f41f7ac935b7dd90df6842ecc8fab974a414522de596dc982e993b55cb60e7c6ee8c69fa26544762f11d82f09aa8a002d76d6482ccae0c43e0e2c050d14abd3d69091c439af15071668de6cc16d4a2bc5c7761a596a7183325d9ca5dd0f43771abc224ef63f65f9ac6a608b435f8ad9df6a4b35f87efaa38792c48f218c5e24342b0a13fed9bb5d297e95d2d07c351a972e2b325c76390224149b1f17b2894446c7aa7ac3d690220717bb18eabd7cd52122fb25dade20195597210b68834e980d7d45e0622897f550dfbdb0256a054f4ab09b08ec2f9a0afb6dd2957246eee88786db414d230fb7510df5d7c6d9598d3f768001f2cb29d8f46e7c1897b05adb111bda31ae0043e2deb57c3a26ac1ea06d4fdc666e1d4e54d2a62e7bdf0b58dbfb9a4a32ac6b97eed5530fb3c0f5672c85dccccee2787f0c3d9dd1430341ae3045b746dd9c1ab20aca6c2080423b8f2563b7420c76ea95f16e653569b16c12da569f9cbfe2cdd835a252b856e3958a7e41768b372be6f60333995f41e95793338df1b3e982bf8213cb7612980830f622c790869ad874d7a99af1e90a0999f826d317cae7c8f1580434768ff8a451e13883be4aca65588fdffde9c46ac929b5badd46d34ae42b3c065d685f680e7091d19ff85f1d00d1772048c185f97fcd852f355b1230ba4ccc212626a1e6e7103374365c1c76d20c04d3d7d4fd65c2320f3e142db14eb8ffe3ce0244adf231bdbc54dd33741aabb8d696db4660f28c75575468caf5ce72a07c5549891803a37e89d42add3992c141ba7419ca1f2fc8cefdf8a63e220d3c833e29d0212f08610409cebd8b5fb9819042d899ea880e867e1a0a851341bb637b32e3b7755d045926861c9d01dc39a529366faaa9de319f7ac06058610dbd7e7620d2a9dcb92903b2fab81123b8e6e9197c6197af5a56431df56f77cdb59baffc5ca4ad7b887e34ebe35e1f34b150b707504255d8cc6970c968fbf045a3654cdd2d30ea73a08ff7ed5a9b606251b0b38d4638f29f7e4a240d0dcb06a6dca3b68cf59353d0e25e9bf9bafdc6d29d4da7c395d4f43ec18298c3027fc2f6e1a24aa97844a1e8c8ec218dcf38fdd3fd41533b9ffddc697964be3dd600e8e0cb88946f37111bfaf620f2c746d9dc4042e6a87e18b04cd7f65df3c86b9ca60a8f39a0363fe590a26b494ab99e8a0f52ce32e081b38d8f31dae761e09c94ab5f9e87df4d62638d3291d0d3ea18067582f48ce6c7bc5344393add4ccc7b82242924874223a3548de487165849cb506af0e39d2fac6860dfa0578cfaff04dcbfce25ca7275133498dbcd74ce39cf4f8a35aba170436f3993ebd95718666134488aa0d052988f53c2bc5e2a0426ae8737f46154675795f0134b599a242877e041375be341fee91149ba741c29e8f97c1b83f6bee29ad9e9daa52838f521dcb9c86788b697189cfa5fdc34218e3a2d971b9ebfa145dab88a4a0375fb93e061481b2cc872c93c03a1b2e577d6c69bc7315cc279c9a1b837026ca1971f61d8118bfc4b7cef5a82929f328ac796aeec669a594a7cc0b53ad751e9762f6c32965a055b31280ec1c002f97e03dc496333816cc34ac7a6f68d2aad2cee702236b5e2751dbb38a4b391bd292fafe38762829325794753b4969b695d08c60307cfc4ca194a764494d5ebd6a4df1ee56c4842e87c292578e72f4a9b4cf585b098f3944c679c2e74063bfde54c6f035746af76de823413f1e78b4b8c5feb49e53300f1496b025f6594524226e80fa1b64a6cf7ea3d45dc250ae08e786980a8add1f6337cf31a3cb4323eda905561a1987d30b1e46e4cb3427e95177523e1b4dbf084fd7dcbe0877aad0056c4dd883f8881e4bdbc382aa8b9cec916350175336304d038f86927f159cbe24f60c81084d2e711991a6bfb836c83a8154fb2bd49fb4ef3501398331d7dd71ed4cf7cf382d008b679d213feda02860fb9be7de52839eca8edb07981c38c60263417ccc89223396136df364d6a5127587f5a6c77c184f71c22eff433b330890e835382f53ff8b654fc93caf79b6034a72c6e4edbd6c0b3376e30342a2dec3dadf83abc9675ff28cd516b82466f02ead7b085038ac9ba4435c3ee51360812db37f1d79b9a8bc1395ece6c71907acc88873bdca63e7fec652f5da82e8cb9937229138b445cfb2d25170387fd2a2ecfe7c0093b1c59b43815df87626509020781d032ab72467a7a2ed7c286f9fd3faa73ae412d7375a8ea008ec8b4737962e29faa46446ae19014185bdf5647afaaa45704ab867cc00096948b3e0bc2ce139f5997711cb10e1f14e2190ca2a13f2b071a37f8a30abd24f19a5ba401c06ea5ea595a78021425ea101dd920b967a06ced361d0f2e367116e63cc09461378c107db411c6db8d26a4145060ebeb7e981d74fc6266cf005f617fed30fd7ad238f2b4d92129aaade83c83d248b55f8d76e43cdc6e8b6356a7f4e8639ac976f41288d4d376bc71657b14f30bdd923d94f4a3403cfaa17670b23161623ef7b0ae62f20ed1000eb3f4e6922150f5a04f19bc3bcf3c3e0cee99c4160f6822da5fcf5f4d75388141d82b2893e4aa77f278f5ea85f257b2c40bb1e4d8e35580d5081dd9b3058c18889f1bc4f690053d13cfde56302bc633143ba312cdf113547c997283fa43eede1355a7f9e06ba37bc94984919b321142a7b02776390cd8f54c3dd68d6154ee581da6b982107d45ed3d480711beec663e2f560ed2c58f3e04dd8bd66c47d2282165fb5dc450db6d4376c544b4de66634f31cca1d343cf91c73d8de8689d448d66423ed556ab56514965f86b6cc7f1e37a3fa4cc58c77d8de74afe243a2c6c3e2622a632f4fabb2809d69757fc9898ad1b92c49956383937b80765e3b46f938812c6a84009fdf000022e6afa55678193fabefba68460e9b3d93945b7604620c049147d9ad64ea219bf1b3bc500f263021524fa2ca29963d5ee5e238d44cc9fc7a5d3091300dce7a7dae24cf54ad863e9958c24cab7a78bc811a6d4293401da77342b62d8cf0997a3470f8d9a2a54d8f46023393bbc28c59c03481994a61317600b942eab5c9a968a0adbcbc332472666ab747a4903cc2bb44b2e467af90fa5599794dcf221e5cf86f40cfa99ac754afbf197e19736f6578791de8aea09f9ac2179b93bae389ec19b7fbb713ab45b68bb68c84ed37678a10a5b9112abba00aca8bb7e3d091297c491c77583730c90a46eec855877272310d637856145748394da5c99e27d4b7bb4a024a3a61904f030f235c40f0c0d25adf8503c0fc854bd289558874e160f0ec82cf4869976f40f52981dbd2f689c5b96f2bee03e2b37e91eaad1c841fe3346e266c54408e2caa80b52df764477d6302d72112f02ff374bcdf72167f6996d9a2028762310284812a2e6c7b11cd043098b385c4277fcb45d39f6a698a6668ab55b00322f9a702b05e5cb0c4e43bacc10aebbc190c528f7b3932929299c32cfea873877f34e50a270d421c40cd3e67b3deb4e5b23c06ee531f09f351b20d5c2e0d0f8a2758b0fd973bab63799bba4a131a162d0e802ac3549169a9b03ee159074abc97f482e79f922e5286809c427ab354860122512d8516a93f2b61b5580ac32e7f4ea6c802f857722b6548097cc557b9fcbc201b5867221800c23ab0c1f8c6d3d82b48120597ca132121fef4afc77cd911340b08d9bb853e9e283d935f1ffeb4b475081d6dcfd26a77368ee5035aa9324e3984fd8d7aed32a186e9f4a60f2c01fe183f055216d20f394ccecac38a4979c647181080a501001199c67b820dad7912a9823887ba1d3f7ceaa3b64cd0a861f1351009d1cb33d9ed270873f4060dca32157e234d0405f1d06a42159a5a15949d4d9742e0cd24d462324d7576c4612fdf6f96e3514bb62cb8b657d87863db08a3872f6394400a5dc2f82ceaf9e8fb599b8810dff7f1dad6628f15ece4289900a8912535c89cda9103b25f3e2eda93ea804ec345e6002764d47792315f13f82f4b77b0c813ea3ba49b1e0dfae63dfe4ff9b519dab9142eac676aee995ea68727a465aaaa21b2ba6e2a6956e498fb502a0284ea67063e32e3edf65ccc1381cd496cbd79cac92b16662e5a8eb9b76a40a02c46fa554ccc51a854c49db8e5358ab684422fc70e686a2143cde762b6301b1fc56acd2352b63d38d3e124a8b326aab7239a146b140701ddf34f3c011323e9fde7cbfd6b90523c75caa0ae6c0f0bfced9266b32b2620d736729ea8add0e6f34ce888c97a7afa0429f264f57b79ba281234b33d96b9f83bed749a107fccbda4265a919eab834caf007dff2ae40285c32a7ecd3834c311469f472be7e659261d5402a6967491d7d71c5f3f7acf12029381dce703ce53f57d20ff6d5617a7ab90f9f7406fc9383a579b565a2b8a4875056ae8600370c45a075225e89a43c302310f46a2701587681c85a9331dad03fea39610bc87a8fe91e68a698976c85fe2541d86a2e7dd8af8fd0bfbad1f2bd9dda366c1fd73e83b764b6fba7875ca85d4823b4a5ad0c6e4f98887cdf2dab21bdd58effdf2146dc64a0de9493bb0fd45d6a6054db008b28cf15ab1340ad810036aa459febebd6978b0a4720c53020d7d490ee674e86d7d7d242226f4ac1a73ecce509a9d31043c59919642fcaba4be52a9d6b81acbf9682293e1e323a4c1d7b281c2b2f1c3db7c98543284fb5a8630f7535dd2a92111eb0393af478a6a3bce6226aa9ec1e1e7e97e93a6016e81633fba9b1e6dd5f598cd11d1c7875a27824aa0ba41f17f49278360dd7fa86f48d93a78da43048e225b0d48271014fd8e1e662b3f216738b250cada1e049859119ada4cbc9f3b5ee0388fe35be76fad9f714741ac461f2a48047ab9798a0c361c6a0d9056bc28408943195cb51b996b2f6d6d526342a3b132290a73ffdb17ab61081f0228aa615c6f4e7d88cab6c2208ab086454ce4270210289d0cf0bd4d90fd439fb51fd203d481b46c1410c18f821eb9bce638b40b2d895a7ff690ae62d02a9837ed8a385748499a6a88ea1a1ba58aa7baceff7a5ddd754b6d6118f70c35d2432ba7767d82ccb8d5d8aaccbd7e01bf7f1743dd384e03af3bc0450c89a0854868ee9ea2b200c580dfd79a6e749447b1688ff0ff686e75824ecde0a2778926b458e18c7bebc5d4e0ed8028d12cb5a3cf649b303ecd7281489e383bff75d35869df5d3015a072e899026eb2736a408b4149e3d67fe622c94507add9ef482f8ecd95ce68a7966f779d06cc8d22a2167be54e101b5ce19ba0f49795a7aa03d4d5f982c60a81c521e25a2deb08c5a0f89e03fa33010292f9c841b2278a146583f8918641dece7284f19f9d13bc89f7224b243ca115d42f1cc6ecbc05072670f028cf2a28280acc90980a428afeeb24bcf75f4528b8daf75d201183a4b5b9407e056e807b7220456770eedc47f95e3aa233639a2169d7088a0f65a3f05d22f1bb360afa19ff86b0b9096df511f5c5cc41f125a83c9b0f83d0b15d5fbe8b927681b2a1fa0fc71665a0bcafb213676a279eb0f24bb958cd2771294699c2c4c433553dfe663a80a7a70c5e5713ca4ee92e6543781a51f3c8b9a786a321b9d3fb83fdeb17584e1bcc7ceeff29811a679500f57252ec25a8337df034400d65d047abb7c032cffce1e9b3b0ec1558d15e569b0af6e13e30d877926f8e1946aa01f9f3c30532c94b3327e7f41cf8ab1d6a7cb87e324cb583c84e22b48fbaa906c3843a4019dde8a6c87b77843a763d54536d7552e1aaa33b4729ee729f4567d15fbfa2b087cc48d1edc034f7fa6a382aa62e5c47a8a20172bc7635424add160164fafd625e4435199e009109bacdc9d869d39c9afe3a3584d6415785bade2f2ffdb0166901b400a2c65f41ee34c917c65db46014e3cd0aa3464829d2a19a61663a69bb6abe971619d0ebb982404de7f6651fff4ffb66ebf14631e76837b790aafd306ef94b6f54276d1f2958ce46e543fc025a8343aab10ab7994002a26895eaff51552a74288751078adca40699907c4260af1b8e66aedae6e6df847da7b523fb5ef02ba35413cd2a0d7ad3cbb2df24ce0877d35012f21565e393e50bfdf6dfa43e238ac46a7998cbfa516e57ede0373c56919c073e520927ebb2bb4798bc654d4f67bdce7344727709d04568399cf10fb642faed995360d5ec2250e4074b6adb90ecb9c014c48806be260f2a59cb078775bb8ed98cd27ea2e36dd39e1b005034817ad5e766253afd8547f478ecce41b222923312b77724d2b28d4de5ab1fb73174fe26c83933cf1e7cd43c9788641922b563c378c0207bd810cdef6e5b400dd1033ad604e2cf571bae44f47ab747f069daae4adaa56ffaa0e77b7f2c4110e6eb37a858118ede684c96a75bb0552af8ab3d49b84e72d458bbd53f7338eeda22ab914cfafc7f82a88c2620d84d7891d23dae54f88e1e0520fc3964664158bec9aff27f142588e7ef7930eba030660e6337ec1d51256f3dbf3bcaca6fe08cb54521248d6c47a14f594bfddcce22fcb65fd6b31e1665dd81ab3549f2683a17bc914b3c548058b5567e5b7a36f3b718fd940c404f062e0f8cb55853761c8fa4b93d27f7933a0c1e75dfa85497aa0a5b279df84485c9d46b8b7595a19aa1db4d28fb177b383c62043da27eee2c973ff6a4acab3fab712ac9f246bdb38d0e528e3caa642b23a67103988d60fa1f4b3f629e51d6a65bb4217221ad3e5789249a3b27f1fc804b33b61a73e0240d2d18bd646647bd0c2dbd1324dd83c9ea729c1879f62dfaa9535b185cd2cda54c907f0319b095ad08e4c633af43af5b5d02256851cc7fd16caad161ad31e69eb8e8c2ce2fcf14f70290fa997e9578ffc4562f6e4471f88e756814f959471abc839367ba9441cc5e0abd2f881edd7a3b4ed8e99236ad7a62efbf20579e6eb4d428e864895378ca0f1e909a8ec42c38548a5654c1c8055583ddfc64b7094400282528e8d721ac289deaca6e7d5004aa3a5c67769e35c04fd97c202bc8da583440cc51118b4fe910ff681dd01f18a308c69f87513515f39390fecab90cd163603ae585732513c331f4b6382cc8fe299bac329a881c7cb80e51c2dcb207b7931c4c2dc68937981a29354a6f82f7f43949bb61f162602015d2f8c14cb0cd0381ec1b5a75c767570b1837c1131d33b304f70ba17be22bb48c290b4fa12cf2b3245267ba9609fff6e98ed9c63660a86e75c48995048c8b75b804a194e860ab620ea988ffd9851076595a7c883ef45a8c3715270727990ebe86a303e032f99fd0e76213d7961bd1126ddfb11955df5899435f1de1779a974c23a357cfbb0fd40d24c00a12e64176384998937f67c3c963222dd77baccb1360c1641f2eaaebf1b413e51b7e58a6441bc1b04871ab66d54ffc80c935dba0474c345aca4f43d9d2bd52718b88f0b402b5b69de55b48cfc3835088375730bb9f40ffbf004acc920d89b550c47edee0fa7adf1c0c5ed35877c9f0b70a1b7e908c854bb4344a047820c2100555e8f6e155739757bf8d81708103557440e1b091bf68ab221b10ae0267140533e2f0879c00a22e57acb9402940950416bbea3e70f3c67b90d9efbb8fc27c7e666a03a592cebedd8280bd5c36af4f973435283f936a5e8f41860e292336409a02621d0ccd0513a8ab9ffc579e5e764c378c781916fa62572f88148a20e1e5e196018c683fa4e30620d0a23b9df3afecc9ef546f6d6dafb9c7f6abe9efe31fa0e18227b1fe5adccd1bde3a34ba60da826441ee69f0b7417880212006b9d3f9ffe06602addb49904204aa9153b76f367e45403e2d607f5e8a7998b0351bf29e7cecf8b6d4bb3889d8335801ccd335eacd3a81fe7ccf6f7019b5c6dc84521b6015e6f1b2862f7f18d5f4e9d2598f8c79cb423bca13ee9938d20d6e48ab1d1a472f03d1be00fbd42735ba0cacd3d0be355be8de17231c0a12f684a26edb65dbf409cd3190c8495b5bccabd34aea501c1e46400e79d918e781f0a1d7a81b64df2ef5b06d8e317a52a248cb3c09b773fda6ab48b006e80bfdaa34e4db47d607fd545fd8698e5604f62b1ec46804088585336d61375c5f552f4fc752aec5cd123c3a386a798d78593171a21a19aaca745643a154b680153cc6242a13e62a9233210da2b7132bc3f7d5ac5df127d63e6d644e8033b2ebcf71e093becbde14e2cc05e85f246442513740310947d31e177d94da7f957c28f0baa7cd24f8689bc87da6f0862ab0ffadbc4fe53dd6601ceded756a3347797ccbcaf9c64eccd1ebfe057a0dfe311283511a4d801f0c2a99752ba0701b88fcacce7b9a7dfcfb0b734315fbb36c1d3f71eb55e75e165dfd0dbc46f70c8f463f0f8bd1e9eda040f508900e5c9e34e92f61703a3606b717ae13f377ec297d4e813555928311e4504aed69fc4a52a44786a2ba0a1ab0afb54c13c1c0116f7901518a9be38c3fb2f21aacb951436e3049525be51952b3342c26853ac320f034252f732ec35e4351205a970346edd8dab14cc091a3cea2d875cf1e1e65f494b812f330b8d8631881a35c55a599aff603c71c4a6a1baf21910676b54e65ca0ed37f6be9f8290f9e0375c630aaef12bf30910823f38574446ec97a076a31b4f34e540e6a48125a4f0d99bde1c0c6d558fc842d3c77af59321c14e48614614005e941598a4fa8b229cb1f8cddb5a0900b08b91b7eaa458d6bfc8faf13429886beef44bf3e201752f0a277e53df74c0b75e31c9137bb090cf32e47b8ea4ff36fc6b4b73a13d7250e248b08f43fe7b762e96c1bc4a4199fe1b0a1b503d0af3767ff2a07682e1c21773136c79d10716ac0c359072eaf05a015489e784de8b5b178217c65b13a6404873108d78bec6bdfe7048bdd32e454a759e7061d6f1c229aeff73d601dd5ef27d0b3514d8c65ac24dc187689b4e58ab21f7f0b99e3e967afd8a9f30f08c579b8f32f04ca27ee2dcbf1a6a1137cdb9aee507e87db816af8fa5167a4c42037b43a96571b51560facf49e4299313487c760a8768e1c22211dca1f083549c70aee94485db9006ccaa80faea48846b8de57ac1103b49e90a1f02d2ca4f6b1e31e1606c186b5aca9c12477bff95dbcee69d7956cc6eb2709864cfaed233ccdb8e98589d5729854251b52949b854b38dab8d9756ebc77e7edf2e1bc56f0ca5f1e41d7a425c10a9cd5a7e5eff1916fad8e95cf97280eb44304504cc3c2768aeabc32722237ae6e70ed2a6de447c6b54a3aa500c1a63187f935f2d7de402100cf23f6a2f16f6791032cd87c7074f024507db6e0dbe76f685df66eef8dbc94efae11fc76d0f3912ad21e10b6a0923955df063ce2b74c44d76ae1dcda8ef1c8fc8378bb0c0e8fcb32948014c8b6d8ed3e797e0faa490c675b929658d3980dfd00fc0e1690174c81c4951e155a62f8708d0a82c35d77c06f897ce1bad85da68e91e94aef4af5c3496e38a04b4682e111b124b5c0fa68ac64a2e041e7db874a0fa403d988e62648d2e0f265a3462658e816d77f8ad6f3838fb365f8ab6f080475dc8b4f00e957538d13237d246fd383b4e781736ce052751a641f674ff819028a1a4da70ce034837b8ba2fce811b23a7e9e541de1f3d5e42d0f9b80142e62db163c6051746114d6ebf241ceb3bf068af646f7fe9a88514dc9f1988f14a05d018ee4b35ada5698ffb25540d68860c8286c2daa6dd68269cb0512ed9e1976f8ca618ddaf094fa731a014a19361fad57dfc5611425b9694af7ff376e7682f93ff28b417f745997cdbfd91c0fd1a41a6dc06cd779f0178f1d54cfbce11f1d4302ed89148b7a3982351d1dca5413dbc5f89f9bc2aa7707acc0bcc5850d8d302e467730319ec7be27052557cb7fbc592d8d48190103ca292eab541db7d1c0ac1216cd213e65f2126195685329e666486cb1941112b63f5579008308df11e440f0753bd17d9b4a3d4501a5e712046310385f6bc3861291a8247ec44b6545d5c2e19f57422385abc3c4bd8cbae1ec60156dc5d5c0e87f0de7e45bf7716a9a827e49769468def4321fcb9afea8d68bc814fc9e2c8cb44c2f83875aee0b41f09ef73eafc82cf3e72f8253533763b6e9ec8701c6ee7e67cfab0c57c4b1dea183695a2382423929a2d0189b099a410074b885c5a3bc188b191e4308ef24c64721c874a445eda9d0045d844d210874a444a9aa50a7e3e021b0a52d334e14237b518fd7152520e343e15da393b2e29396552134f5e6f3835b40b72209e833d9b642ac6e355567c10552a0f3f4c80ae46d3d35f9808b14354680fedd5f04b6a0821b849092c59f5912af7a4b2ffd6bc0524e7ae5bc87e4242300702c72a158a0fd01a3bf0dcd7231a53310507cdcfe20e56e22cb9daea3097058dc7d52e6cb4397bad46edd9e9e9a80e555607eef136d655fc056bfd21c20f845ff190699bdd6b899bcd1acebd0f8c1652b90f0ccbed8b3bcafe57b9a7f6db0e168a12b50adb423a0212ea38ac29619c919f43f6083c53ef25f508d163404f824b62a29549256efac26d1a639db21fe54d3e9a09545c2dac0cc1e53cae71a2fa3bd910627c61610a7f03c180ed04abc42e91da03ae038e3b282600ed94af2c0d7c6fe6582e83f2e2661135bae8e337d3b5bbd86f2bd320caac106daa8bbea8dedc4b636b225b6afe33f96890dfcb59c759eb7dbf8b34ebc556dc2d21acdd6a2161e2002df9462be0e4a07908de2a4028299f738b1bf644f1c409aedb7a8d38835fe74b4692df5ed03e145415f83dfd52bd19631f60831f962a549e69b3b51a48512def7f4bc2cd058bf88204f04cbd0fd2a23dab8f4fdf96138fa3cadc9c63bad51620053f3f8717f988b7d7339ad498978b0d62d58bf7df10073d9c9f40309d1e9172d118c37151fc9c2b3fa41d0879e9e5af67aa512b3c0c2a636620b8ba771ae8b33a5357921fa220fddf8588f3706f75ed200697656dbfdc1e2b473a533c70f5eaf2fbc995fdd78fa8ffc54d998e3962cec3c6880dd4b2b15889a2b7877711d011c45f745814f649f682e3803e9db898d3733cdba419e71f078875fc1e18dc6748e16f073a295348e8b0ed41742fd9178cc68220ab9967d0f30b87c331decb4b9a4f1c3a62a706a93a3e6a85f41087f7b71ece080e20c1479a4f739a91fcb4e39784367491d0ad10e2e141c2fb45fc2209bdf2069bbffc52a42c61b5459af60a31d0b7b63fa0ef564041608fa0971f03e76cc81e0140ff332103968cda990ec98d12a16a67311bc3929bcae469ae3f0ddfc2f7494a44ef7143dbfe53caba066c76719fd1387378dc56e2b2851c73d417b7746f6e18963742007087a68ff02ee9059a856ce4aeb08074821638487dc6c720bcf10c41fc8dc26e50a0b484ce6dc14d0e8f463f0ee301852e6c2a536827979d1b01b9114ed8b81a12d41dc5b471c8eb7ba858e973ba187256ad58a2feeb331dd2ed4dafa69f2b7b6fedbd3abc9283845f70154d4808e707757377ed7f7d8ba03f6a2667048204c691ad3ee5cbb72694a8ba3b2fc4bbdb3779795eae40a560e9e8c7aa0bc24cdd609eafe4d0a9bdd20e66cfc1511defdf15b56ff42e33f4fa17826eb6555d68e3045f0c9225bb24b2bf1d9596387a39164b29c81fceffd374a011e937e817c3be2e8059e833ba78d86575a178d553db339e1ad70b460c7cf21f335dd6d2ba7bcc4a005e5fa69e4c0d3c91294b160d04d17b80ad3a97f0c39dd50dfadf7b0e662e1c3a75804b9600918683043a715a68622231edfb555b90f33262ca5393080524174cb934c3607e4e0993052cf8b04555ef57239fe410d19d538f26650f8e6ba5a3f10f10c051cf25336fb500a224b6db4d4ee919cf866b5738d795cdc45fda328a89cb941b878fe232d42de2b9e344a9ea4b3831d236af149c435aa1e06f3b17c9e28157ccea8b1713bf810998ba1ee8d7695377ec067c5feeab586e9cd3252133453de9aa676948233bd2cf8cacc07a317b148824246fe8e74383eb5ba06565049d189bbca398cae5f69bd7c7ce14f777a9d892bdeae1d646ad604e2a727f4d91466212229319bc943c0e82068f5d394bae1d46fb12fc29ce891679920c35a69db88e06e5e941b15b9cc4eba0614c7f134a20d3303ff422d2d381b837e9f15b5f9b43c3df575ffb9798c90c44ff321bd837cf12f56c9911a7e9c21df8881da35f1d179b7dcad45a81e6c5cfaf3d57c84297bce4374e0396901c8c6a167f148e947305ede3b983a59b5d98a4642918b9769be78008774b17bdbca7a9931aec09446be67ee581fe71787f9c4e2c90731035a7e223162b409a3f548196b499776b7f1855fd226f7ba63a415c28028de6d2e74e69334b87454090ddaccbae0161a9364d90d7fc975cd4999d6aa1ed34607948633e42c18d0ff56704e4294324f0b57ea129f7a3594788ccc1f5153a02c5c392fcd0ac0f7929138d82917d09fc96f58338826577c9df8900d9b7628ef41e3997b1e7f1d7574b0e40e79f31310fa0959a39bd9d8fefd5d3de61a1ce960b6cea377a3fbdc89b2504e17156c38e92068ee827576bf34bcc144a55afc8a8198971a474ecf8009bbc982274ad27db63d8492b9252491a65438176c37a10d84c66879655d1f972063ef6e021a72c3738a19e12ac60da2117a70b61a3f099959894ce23cb71f123b5657dca261f15459829ada8f2b61f57092c37f04b3fbebe650403ecc9318e9beefb2448db8bd8ac35c7ca23c1d72d10a3e8229671c69c02025d78da11364c8e54f75c9c2c09375f7c5333b39840af8bd99b1cc8686c14bf9e793b47b3da33eb0ea4d6070c7b0011c2fd5afd15ad1d14ba154a90123ce4a96fd23ef9536b9d19f78819835e05e0767db85bfcf417034d24916a166b94ef47632f56b59b0597c24a17b3589512fbec3864b1e0b310430802bfea0defd9a4cd975c3549f9db72993c3c98f5b9ce76f1f577f0aa67ebb5c3b2c025c781d5c0c342304637e5d0bb136b7f8de08749a8f5cc20409e9fb2a6a4d86675f21d27da73ee763f8a7409cf71289400141f405e6835a448338769348cd7e9ddd947c2f83c01b9a973b344c9f1147cb5b6399dbfff4a66d8b0784d84da2fa92b61066550d753ee7daa05ba85023bb9bc9f2eea6fb8fe8a529ca849942ed3a244e423768ca1f2fa590388c9a810ea0b06292cedecda8177d8f0ecee1fd4f601beead174f741962577588588a034e40a70f2eff866dc8317040cdeb49d0b43883b6fd4ea57fd19eae5bf9f08557d324e5078aab22e0cf3acad1f10bba139371c58e26d5b868660271c22e26762c92e5de3db99c5d3bd4a9812701d572a0e3fad18294f095e122f26d3856bdebd575934548ac939f3943cd4f62bae650f0c7668a125704bfa7a2ea5489498e99c94facd289838e8310801d163f233b4a2b6e8a8f18ab04c83bb0f84c845b7a104bd3101fe3bda049cebc7518355f4c764f7a7220fc9dc5e5621cbfedfec2186a5e3e0ffe60ab691be6e746719d81a85b2e3bc0272c6d00e3633e83b36919d057a6f7d8d912c71be719cddda8d723e990c184b6efce558bae1b1825b4ac942c35341fb3126953b7d074e3287a63ba29efc49e239f055cc144baa69ce4a3fc8aa50e8a6266a2634e71afa9bcaf4662abd5977336ff2d1487041d0a476ebf7e15b18b5f001ea80143332611146ba8396e2db619a5f123b12bbef33bfe3d772bc872477c361b7ef7204955cb00021de1e8cf7401dcbb492e12a9f105e0f1431cd70f3fb0e82905394fd5dace0df21df21000c652b7ee7e2e605aa8c59f34b8b9938709ffc2626969a6c7e411e92ceebe190d6a0dd8b20ce19812f09262dad9ec46b2ad854cf3d79d80b2b9d29c76c525f3ccf010cc310e02d9c5cc663ea53517f188ac91f1999fac5e689e7bf24238f85ea17515cf59b932c49292d3d7d46304277ada6eb2f905e7a384d4293e8cb547a44983a6ae501a2944374d1f88e1306349d28702d49e419e0b141b3f8af0be140c2aa65c251461f45383667d9065439d60af1f6bcb51ba6371eac46aa4d0930049be74964a704ae5e46cd2fdc4b63cdf429f0aa510b0055e9d828d41b38448d5c2fb93a6572151f45d9c0a9ded6da941b3b0efb24ab292182047899c840558b00477d643738cbe7394a69bbb933932fc605815554160d5beef3187525e4e5f87468d8503b299a42f92054e881d13bd703ab04bf9d58813b55c59d7c22671192f057f3123c77fe98fcc6a5ce1227284d6fe894cce0b38126cfc29566c90a57a4a42518a4b36d5c3ec24ac7aefb29b53de497be9854d763514fd317f85e81a1c42feb7cb277b062c49d0916c50af424bb5fc236d24c9506240ef0e98e900e6b704c6c40f3081f9a60a49cb783d4239d41cb989171ac122ead94eceac4bba7ff81ad7389d81eead5f3b1638f2c14a70a0070e4cfb41aa703593634c1e37da4d03d46f37b7b6833c85d285e51fdac4ae2348483f1a71818aa62a6c789eda567f3d163717a7f03771d82ad0feeefe6a79788d7767778b7988e676ee87d05ac3142407ee1c82414c4be601f1747f64ad2f58733169f8bcc1dad8d5167f697106b66cfe75113cac293fc814e3e86e5ce86bcd4b8e9878e2453a142e1640f5d0ac4f949b1993b8109b6266efa8836e16a89daf5fef9efe970c54ed26ce8439e9312f3d3e2a02b643e5a31d3a18b5c9db7e3d55caf31b971442561b71cdb656ae18d835c10dc2f93e16b9adfb79c26f800b6a926277a5410dc6828c64871f866508fa8fbe50a522b2752ffe7b81b09c634bae3b51181a9ce0bde3062d4b70086f62826aebb20dd873dff946fd41acf02af6ebca3c981771fc533b14f4aab945aa3475872f068d39a26ebd5b810861c88a72e69e616ec1c0e56594b51a292ee668b3cf60cac1db56dca34d5428b0f43216d2c3967416da50621e3f12d9acb89098b900a76f7ab4dd9ffb7ceb39428323b61ee74a491d37bde33ea5aad3e0f491d4365696a676d5da6ec52d314f14118886002ddaddadacd49263c0c71480672306cdea3090659c8d157e13cf9d90c611efa0aed11968b4e5804f15a8974eb43dac68cfb1f8ab6d01dfafe237bff1beb05b05955c24155a007be2ffab0adb5f313a9c7f8644da1e546ed8e0001e4a82c5ea7feb88d4daa32e0c147e2e5d3a0f693a439908611727f3b44a28c217edf43f4723ef53c45df6976d670c1a205d3cd0bea0b2328d1390eb704355377240f20b75cc442dc76c8165d8a90a1e5951247ae2c9d69c6a2d811932d386f1d52e540bbb15a466258080719024089f8223a184c20002a711bd06fd65abce32cc2a24d01e114b3b541b7f1286f034448e4299bfccaef1f288b6456aa75f2879900dbe4b803b25f8d54216654f8658f9a326cf662621edea91b18fb0b153853b212f7f018548d4c5b11c400fb527407e2685dee74bc735400acd38f646f3d9b6df1134f831d369961f83b6371276b7627dc32b31b8ef27eb732505deefd01bdc03082e1df77ac620773adb35f816b30b1b816fe3eb4f2e35afee437ab5e2b52f74063929aa29160f4300dd6fd4d4965d529a610f525100b8bc39a8f5269b064a02f02dafeaab2bb5fbbfc5b2cdad021f47391342982861d3aff94321f0c0537cc43f7003506bed30712fad1441ac80ba4eb49432771dddf15ff90941e993468179ce0d9d58d543c10845eaafe2cb87a486923942d28720af210768c8c8b9690c292114cb451011f62b83c085b78965aece8f34a91e1b6068f1fb5f37477c8ad663557624e69958a15865ab4d96c76f1663be3442b6940163ac944b14473839a34a67e2b4c58488dc6657facbe94940fe060215790076044d717219afdb447003c2d84cbc9b3c3d7a8b349901be2706139da8679a2a03a2209ec238dbc673f2031279184edbd9d881939b2034df52efd78a90bac8fd763f02b85e6a3ddd4fd2936e6e73b36de3203fc49f2a9ba2714752c2a5dc67547d688ad2429e5d2eeb4426ba1520774d4791863568337951947165232310476df777a229f7fadbb363c6c601a7d202c396b6e8eba95220cb1d43ab0f9a35d7996640b5f71c34863a9e2e704d2b17e933dc4085fa9569b06da075ee3555f25406b7327e56b7480d742cfd1cb27d425b193be15ef0f887015d2ef195e5d852ef22281d9c0beb9c7be60e62266df3de74f828a8e81d2bf7b879c3eb360c59ad0575d58ea5bca606e61cac0c89413aee91804ba2628fe1b0b0912276c768d1e27707f88130ac88cc41f7167534777949fbe8e10845d04b67f8528377e1113cfe611725370b78ec8ffde8d4919d79156b52fd9b1593f1b0772a0cd1c76a79501966433d58820f8da0555356f09bfc820c94e03b466c2698e237cb1129062e49db0179d283d683031d46e01267d01a8d489203b0231ec1ff79e6284e1b1fca0da3d7189e92b922dc3249fc1b2c6726aa1bc0f1320bb808ddc824bf83527af43885508c68e58e98f89782f86914e6585bbfc5593da833196efd8d4a223a27a01d9b5d04f21e51b829f6cfb0f776554d81a8f210c36c46f1cf7651db3597fc418f73241d6f8662dec2c453f2d72540840de68445a29822384950bec628890a2ed29f1074117543684d6f8709589d97b1f99c9db67adc2dcc2f1672d5a476749f43248580c7eb16591b05e83c915e94caecc697205ab1259db301474c2945488292a78988b365b24f86625d0cb4125827ed25843f396d5258c730e2e5c034e422508e2862d6fde186de158c6696e227ca3bee73384ef697148a42df96d63b1a71a74950e1a7094cedc78a9f86ade8f79e77c632595052a09bd685b987d47e26eb109abad63d1cb907a3c2252480f57ac7f934a01f6e4b169402c9680227216c10329b3055ac07db2d675b59f2f0b3c9fbb777b1934b4dddb5e66ba824de7db9cd0b76106a496ab1e986452b5cb4f3a6ffb2ac6b409af3a71370cd15f9e4eb68d67154685e359d3ae143a72b3bacd4abaa8bd635a5c1ab036ad3f56b34c7e9e911eeab8ee960700288d1a96bb6a7f1e9422cda2274e62850273db3780e58cf768c22033ee1386d6a1a0c718631ddefd4b2c0b43b41bb440fc1aa7237f54dace6d4c9a5c13f439fda1de3f0125e2f0de34d0e511c9d26ee77290207642d21244dbd273a03803b3c73302ea4f00de0413b9c890ceba9e32fefeca9a36f82925bac7104acea87a89d9f6c18cc56094fb9f85cc8acef52868c7fb1fa2f9a2e5d19e516b4012c2437a13e10d0a716c160b1ae21573a9d50f933e964bb0b42a6953a33c9f33699fcc87928141a2daec07d83815c078c44eac0a0e198c9b3e043687f2a0313c790d9408c9ec4f310c1e479b5cc33a0212df12716126a9b2d7154458e60d188bd86472b0657f343f274291cce99bfae743869e4f6e59b782a22095bc2503a4f706907c64b2bfe88a593c934887a577d12947bf82b13a80587546c27e84e4e3cb0942282a36c8d9f0a1580a73c9b60895c0b679682731f9b4b6de32ae5c7d64bce0d8cf1af4a03217fbb016318399ff0c5b7ba9ee62f9f1454cdb97bec4ad2e7ff1f2192582aff613c6e49e2a7304fa054a4e723bec8d42ec8dfc9057b53ee6744efe1b0032c8bcbdedede385e19ed3b3d4e34820ae075d8aa5dc4ab214f6e5288ec8586ec176a6b178f5e0a8b79357ad78875e92af4e7ef26519a38a63ff1306b0aedb188fdb99247322095c5fbb2f9128aaf9647385ffedab42cf1746c6f2bc060274c9044b689641721f16a62b1e89c70bd7c1379f0c63069d877bcbd4f9f2a8e9bded9e09013dec94e6ad503f57e453e3cc1e22e9698990eb0be4ff40325d52e319382a739734313cd30d3f98320dfce76984590397915b8a81d292221def8d12183c016e4c1e3cdd39103f1a2e7ba7f4daf3606c21a9559463e540a116045e57b1db14582d87d99cea9de0b23d8fc73392ce213494fcf0bf1d847b9742bce38d7b507624c2b99e6b41eeda6b946f37b55ce011079a825e502f6ab770a22f5bc761e9b79c405ee6480ccca146c2b3785e2242c3529b77a102a0386e8ea647d120ad5707062125fdfc36997010a60db797813b4cd27a6ca0d0dd712363587ce3a9d3cefe2c6aa9c0f9ca50c563ff0e33f0c7b3ba56f9ff5f54b9461da5ba5d166c94b2ca1cafd6e07cefb2a813d04b3f766fd8df9c35337f59012e5a0ef6831bb08937ba41c6e45bba13d6b0358d34845ae2a7d9b110e1a047f48de47d9e67f5b89d47948cf0fae678a820404ee6daa3c85da15606686397de5c90213e75af27ef4778ba6fb5fabd8cccb762cab587cf973918dd076c264cc8c8897bef3672fb69e527bae746c0d704f2bd7abc982e8ab6f51de0fb9b0fb4943176fbddc16cfd4bb010496a080c1971de09b04de0fb2ffa352940161583326e0f46da1c558560900884756652a582bde6e90ef6f23b29d4886f7be77001d5abcb7e5d88b14310ea1082471e94207275620f637a959c6910937b529d9fe41944fb942a0803d7c99947f14175b0cee823b3f584fb429289cbfd540c217696e3a21dd747d62db7bb85c8e5576f7a95cc18f61e9ec260726277478819b0025b6dd224f37a1e17aad443d3c2b10d71b406792f0f367c77982f47355a80d7857142b07a6725f336f1dac3f6242e8ce6f4a1fba3212c927155a0010c5a685ef7450feaa0078c2d79cba449a886e7ea923459df7fde75c55ad6cfd5d707a2b62b161301e2b60e80edc5e8cd2428c131b806bba2b46cf7224c40e0e478d8dc1ffc1c12601832fdad80e7f1a665345e335b5366ef4d40e83bb89eba1011019d1e3503c0240f529209bbfede06f039bb6158dd833e352f5f1c9bbd859ac5f6eb389b49c59f93b46a6cc31ab2c9f4749561d355b7cd8db76ac6665cd7d689b883ccf4a2c34b2134862893118d50f99a643365b9f0f51ee0c94ca65e4f64808ea4c750df50a5a1ab24c7954c13066f1a2b37d26c73699da34db249abb4d59029da20cf2b18773ccda980d05ba9409764619ae3d897fedcea54e46aab4a45759af64866e79cf732c628895b2eed73fb6df59e2d3166460656b4938e71c204cf04c1928b340f05530f6a197b1afcc71f31e8c32f26cbeef8afdcdfb590c2be696d263411fe6a0c53a657714515a7332bff12b08705c1ed40fd9e7316e6721b7d89f2b27f63e7cf5140c58827e92532c43ad2d7a751e18979f7d5c141edc5e70726aefe3d7fadca5e1411372ba05ab336e03a5007137d587c237d6ea651e3352f61509cd3651f6759ac93bdcd9769660dde9604792d80dade049019043926861088aee920ea4462f529fd06e846f53baf0f4c12dc2ed1e274625ca4fb8c96762c70ae14dbabc68e7bc73267fb0836854f9a0aef2a5b136ff00abfd21d9a499bc71b3a9e3c97e6b1c6d39f2efd50925c0ab76fdc6cbfbf101c5dcfc1a0aafe7132b5ab425cdef0fda4c2de4a8fd4edb9dc4d74b8cdab42685850934af8a2a9bf4ed4fc6eeb8d836e5c927c4883aacfe82dc4ed8a2522f573ab10b35b7766cf63297f5de0fea3ff55ee997d72a329196feae8aea5375362eb25f0995b53b3640b9baa7bef0fdf08cc415d040b76bff2907d874a556ee7b982edb3abdb2a102c6df17146b18f744475523f392bf5a0ab49a133b5a215a8393be803b42c7482db18b84aa3dbbc7bb4e2cc320d9781d9643c8976b781943e6d8c69ead8dfb5d10ca5cdd2e0e833a749a9a50f01ac05065b7e478787f7f7c22de5c4b445118575b097bb34fe62b31512645d1d5cea64c7afaa8a85ac35709b2db95caf97800cf8504b54792acb1ba899073dcda179c158a84745e4754d17d7829fb69ae21bd4842c10a7a88d0547ace2bfe62592ba7cc97325c3f27918d5cfc7574e13d8b02c97866b6116d8a789303db4d4a514f647c346852c53a2c04361699bc51c76cc10b57fb9a158a57b43141910e615ae793ce1d468c8f797224c8a3c9bd7fb2f3d6e9a89297923fcd7979f6eb83147a096980711cb399d56dcc533eb773cb59886d2982eb65d68bbf12c534e0fd325329305f0dd38351ac9570cb2b79dd4b1f9939327450d336078d39758c4c00012c2fb878a632a74dcf77a1a9c6fd364cba94947a8cd599ea647b78aea818955bd22e55ee66e40356309130f287f964342604c15ae0b9ae515d252e980e41182379976baeb776012280c92f0f786333b0476661477d10f7121e7389c65d80f855a1c46a6d49b8053828ab46acaa1f2073d04e8450b222c2afc247e3881a7c63b5cb62dc530231813982b4a4d62ee9b3180f9d8e4ccf205775c0e8d1460ce34214ad80fd30e310b864d6cb33054a9a8184d27313cf426bbe41da4d1c7845c5e13ce063de27d1b79cc1cd17fe1bc2ca00991ae2ee2891534bd5340f40b287154b5573a297e2e4250e7b4a099d83b92c9e564da1fdbd4bd725bcde733819b67af27ac02531aef03ac73badb0879f56d6e8de24a7936c1b11a883b13bc63a8bfd5eb221192aeb3ab7d21e16b2daa42d052118d9246181363c95d8c839387f5436293cee8eb965732e2b73fc0cb05589b9576d9b1fa6eefc0562401d93de8dc65fde0d1e8c198b0b0a0667202f15c8f2fd99b00284c5240b141a64afd88828feb8d270be3d1bc92c9d5698eb81e3de698347e4050b256c99583a2a0af2e789c8a8263a0b72cf0ffeb579efcc08e671fc373d823c3e88a5bf503ccd0202b3eece4f5fce313c22c0ad059edd329bd11d06e02a5f26be53769b9e51acd64c1cb674ec7129a6caec8382bd73d5a525f4890aa9878ce638562a1ae424b393d80cb8713b07a0f93e50a4bbd66c2b11b0bddd4cd9f25fc0a3676f380f390750037d7fb150a2e5493e72975e600cdd93181bd2cc75dd1488a07eaf18db8ab20f7f143a364fb39be1b82e23dd0f03ed25ef642450108ee474b7398aab70b27b965a8bd0577d6eefbd86798c546bbe268eff7df2732f985ccb05f1c61cdb37d1f2c43be220827e08856e975939e2c4ea14f8cf8105bb162316ce0c02940286eb91226cd7438678853b95376629edbef5005dc5bd81eae1c98d5dfce1fa590f8d5fda4c62ba3a49dfc0f633ff252ef1341aa94fed8d7654e95d4a5fed2a9fe57fa413a2782d23d84ab04bbbe45422ce6b73cee7eafccd237397b47f62c01ae70a7d748dc6a122e14e325d2bc34ce0e1d1b54a1b99b7f2b63060c118b3c1650a7b0a162f3a4bcf5c1870d84cdd6f043a9f252a4868347fc7cb58f92c2bbefd350f9997988174f9517a043ea214cf59eb80da382e543638a60436f6184eca9e70da50b91284e000e8486c51f8ed3c40f461b9fad2f0740ef799a6550d68e033f091dfa22c71b0ad33dce707a578769aa9a2765baa3aa51d8884a8302c4e99b272a21a9d54a02b65ace312f368d69d1797a53b2073cdc13058147a0988eaaf5ba4a4bd500870a19a1b12ba3ea541ecae8a1422ee5b6cc01609e1056b6ecaeb3866cc8b7e385c359b690fe444a9bd140f600c457c4e101c66c57391b08e98df490e7cf53c679277a30d1681e639921a979528baaa1727a754dd4342c9b72858801e8bf88410094b9dd1032a0daa7116686330ef344fcff85a9e686f62e53b03ecad23c910bf2725b499c19add5cc13096e1012013131e4ee6b575284c58439f073a7a7a73781799ee637ada6e1b3a3fd181a6e50f7d266c51728a40cadf88fc2b0b8fb42e7b8aafca4d316a12b197776394dc62ebc69c7291145819b02e73f680a0edac5bf7b5df4fc6a367773993d9ff834a0b30bb0358a48619beaf63efb5417abe2b3e56f80bf3eeba86b8723c9d699a8d1113ac401792b5f4a2cc1d72600202483740a76b78c419908652082c9b08dccc4bf52101930664c4f4569b627cf67f938f505e1f885626de59a0155b92fa0d1187ddbc4b16f91708b0dd5d2c3387201a4b3ad298b5141518fc35a60f63658e3a97da18fd121fe4ea5004f02c6f96035a9445423011dc5097fcd8004ba78c5c3d2619829195318c3291c7a71d318aa51aebbfe7984ac6144f242114db1d0959d0248adf2afbc0484142baaa355d23959c834b94971e1a4b3cc6590fc3e8a9f86096abbc87cb0673eb129d892e6412c46fd6ac39c7107b07130117d67e2c3dad48144b8758d5fd2d60c42997c68fa1089ebe32035b6ffd5da3a6a020b39c8cade515b05206260c14a8780afa83cdd8e9bb3d42b4f8a00895a72fb0649c4bfc13bbc4bedd1ae9bf5e19e928b08d9cb7ad43dff861e4cacc53152dab5dcfa1bfd08b94d640eb1edf6b21e4f97ff5b5b2ed28c679e8790bfc9232dd4d0000cad5f41a61ee2452ad553f43703d3f52ae4f4875750a2fd63de10f3cc8097615fe37025be8405a8124a7c957efb42aea7f5ce5470c3f9361bd113c56b7b5b50971f828e3ac9b673ec45b0b16aac230bf872ee694ce53081cdcbbb995471e756cb4de69a1d185e036d926f74f5cb4e89a85dedeabece1cf6d31c53fe7b39b5e2734684f996b96509394c8efb9ba235546142b258367b744bd9275b838da15332ba817ed95d44d5585473ed400957be984d914a64363900885b16dbee4c0b6ba794689c642db42b492654776def80aba31d2d7786008a7ac5003faa5153cfebef3936f70bc1585693ccedadfa0bd0727a42e3035e5f3d4cc0bf4862be907ae31c3d3c6c283da5f1dda65ec8afcab229136c8c1494c32c2e485564e2b0e68d70139c84a094097d8f097ecf6dd06d80648d54d9de16d158031ae8c2ab434ac1794bb0400bb23ad28eb15f573d7d1bc4270ba22a3a91c24b407a91800291f3eb3945865055dc3b8e42098a0d466afd010381dd35e68707c1a5307efd71a6b9108a77f09394aa118a4656d1619d92f41b2c769641471c2d920b61c4a87bf8c08f39d91549d99a5cf12e206a3d58747ae705dd8d78c9344e2f26d4b50a3013fc43cef81c652e51058a077ccef2294a622f44bbd07096a7333df48dd4a6c9a3fce1b6927a526319b974ed0587b63c758efe0caec8d5af6008dbd9ae5e43ced22e69ccb0c217595574982a5a93e7661016a3d098b0d8f52666295caac6a06b9c0703bc60a1e479ef09370fe87f1a4a7724a2bdfc8f3e551ad57b4868044772606f0b9c511e0788d222057bec053a1c809443516c29734f04f98ee9c3eb8804b28938351dffa4283dabd21f4bea926cf7d0a7153f94683a65d9065c165fe8e01670f59e37f75976eda00a74eaaa195b422bb88721b2cde9d86ef2799d13ca049b428ea21304f29c3f834e167fbd51265c09422b0122710942ff4c0f6c9992892c233d0de58e53e4c5653d1f36c644e99045651690110f802535c6707e6de4e61d1d416378e1b800cc82c686e19742444e6b41c92f48d5bf96d0f3039f300dcca949550a8c950a2d24f6d19d0ed63204bf758ff34ac0f635302f667e55482503c65ebf2f0f224b87912bf272322c7fa5dca12b275a687affc66345ee28d76c271ec0aa2d20333d34b462b79bd5b7718ad705f16bf0828d9a2d20efc2cb9847e2d8c847593b451fe5722ecbd7dec50b122a2e4281d9873e3a943871adb54b453568abfac4573160cd630bb4a9d842a1602225dd4b1e718720fedae9f536a1a3e278982a6916851388c001523c1ac5be85cb818c50e50c318fe2b2289a6a676bef6a0b47a8c5cb8244ca579934082a0f137408b7f43118c76932c8b1d5c9a093a1da196f5254dcf126fe9018e34d8457cfc095635947b45a1148799841b29a5c246edf81db58cfed9bae83779eab0d215dc0c29725285c672c0837f322e701062499cda9376eb65c557063d7f6004e312a4ab32a1705f5dde00027d1a39ae6d63b0878ace31bd90f1c8db5cc04fd38c682a2bb19dd1115044189fe8a721c9f487227555eda087679ee61c5692fe02c6000101f33823623161d017d8bdfa27c343e7049fe3e92b04d4e8cb1a071d9c878b92846c4750547708dff23fd4bee64b008bc0a11b32bb8819ecc236dd0b4cb816eb7c795557b4af691fe14be0760361278deba43316e6a250bf4caba25072b14fd6e2ccb10d7609ff72f6caf58b718a76ee46485dc07efc6fae240f3829ec17b12fa89715031c2bb7157f099409c260ba88bd9535b91bcbe74f387c92a198364dd787e791723910e5da76c55fc1590f08bff3d5aa9a55258ae4dc4b0f439c4b72c9b28f5ab5d938b2b88fcccfb6098ceaa8586a3b645aff65ce292d0574e45f72b0f98410c3ee060dd58101efc8e305d4859ce74cf088fd58e627da1b06e169d6bf74d6c442fea697cc28e67623ca4e30be1462eed714837b6f9df6f550ecbcb39a1278e556740b8ec4f9aaacc29f442976b39bcadb51ce28063ec6d2801804fada87435f091278cff9aca63c2490066d695977e6e4428c8125ec6a9e5f8fd12d8cafe48e05a72d60b599989f653da513eef4ee7284689a09afb2bd9d17ee0b4d044ca1c421382ef5fbf8a1b65cf41346a3d4844d5cfecf0bd0f9f77ad972763f7885f7c7de914c2bc57e17d11110f208f024fd1d5cb68384d0a9a6d1e2fb3ba00c8037d2bd5d12409d099ac6219270912d9e6f1be49686efcf77f9086105fcb1c39f8985f87128d276910f74fb6b2f92423ed8e6712844709242c9b2c3c932cf4a79b0b8162d368da806ed9d8a17d45a1126fef7137baf412777fab1f9ef2ee34be40d234b88098a70a63e61ed367f010bb3e2687a64cb7a60b52b29431c78ac0ff98bb715c811e9208d3b551705047d3234ab7e4154025c1f97fee0c91b14550f862d590fc1f97b8d2818c838010216c3b4a3418e2010b82301defc75262ddb5cb9ef3d11036a8a3733bbc934b2466693bc12db389bf9ef60a81532988c950e70baac362f662572170ca460aae7cd49db9222f482f9202e24abc1c5e5cf63b11d956f768eb84741df79523a4e11a192bf841aab0577805e4d828291c067c021e1e9e5228fb688ee7a4fd387d8a25b049f173487967c2eab0bc75add931c95acf866462a1b76fbb661501c150c1baf2cca35a2f05aee12eb05fac880f282a99cdfa89c7743c9f0cf4947ba1247d727c95f9a9ef858aa7c04a50c1f6acfcfbd5e05e63b9b2e86d9bbb526d195f9c091a427cecc99695d4507f42981950af6107353e366a871fdee9bc86d0958cd9f8c8d5820786195c6784527600300ef8918f2d98e85ce759224473ce353d46edcf292111e8d111b813ab852a0f3d3627697cd5e85f9a8882a9423aeb436f952008c1f4dcf0c53e8f32a513a4b370c560eb03275a6ae86f6d570a5045f36670ec43f1f95d77f2a786f57a96a6f0777ac1c97663eb10de6afb5150263c2004aa11839f5820cec24a071d0c2f0ebd7e0b9b4dc8932ee335b4b664393f0ed29e2f662bfdd87f697b707f2728214a6c1bd1b10de54085fb95807990919eb63bca5c56aeaeaec9db2a38ed9577421c60d1b63549c8de7b6f29b794294919f209270a8b091fe55b0f362a4c4200f103175354980a63035310546431332585972f59ba331c20a5056c9a24e10109315bce50516108a9352b786113a205534c112208354f8818c28433aef8424a0c6738a93183698618506043981724a104866e8b244c4c39f1441228a094445436fe3df41c989a75878f20d3b3776712620b3368702384182e668aa85861cc993534c090021f9e1882051a979c0c0f29ca6edf2d8e561291c50fd9bd4b1647646781ee5996f9bb5ac8ee5da8986477cffcadd3fae56821f72e3a375653d2704c2f404963c60a5414e1039443a1c102053544d164aa730394ada638915b395a4dc19243a1aa4294c2290723ae881233d582326c88512de972041149683764a009121fe55ba982233ecab7d2062fa63eda6b84cdf2dfe547f956fedd80c852e8882161bc54c57044174a5c0123172857554851c54606345d1991080c30e940c5104338894aa10c0a6dcc90e2268d96a837569ae217318441830e4790718506f0052da0b90226852b46885801176304c1f891848f5351662454fa63a893e5eff01144004e489c14961cf1a50998199e003b360f3303461325403c81e60a29705a2219abcafed3fadf34d99f8b27dc2846073039b4f2537890ca0759fe8e181db864f95d7b2e3d1e47315c9bfbe3165fb2105648dc6b90ca3d951b13e9fcfaf17ae5c6a105721671b8987e1cf6cf978d91fa3dc74c7bbec4ddec9f19a9df76c45707991b6659d41175f4f7193368c961688865c702c811065072acd2624c8e4ee458a5851a9fee1cdcce761144324a45a7a05ae8147501a5a2546470ad7066d9cf5973649eb9944f85e406f3dde79c78e2ce4a99a36dc37a48e2773148e63729cdd1301a22e0a990dc80464a29fd4969a434521ed34e2a443b5d23004a86e44704480e62a639688ef9817ce2861f488ff912c04af8fd4f482f47183972bb50d74f7fc66eba915ba3b37394527713e5c4a17cece8009643ba7f8d9c28aeccb29f93d60f29a5b4767932e0872be35b17758f5f718c9f851083e2cf497135838b40a17c45717a70fb281b5e8a57532095f09524350902b7d96c94e713f9577df937738f7bd48001edfc3f4ca8c85f78db9ff55ee70b8fb2cef7e7b56d9cc6699cc6e99637f3f4ac7977f72c168e381c8732ea989f83a371385fe728e77c3dfa1b72943b4caa1f9a90fb2f2ef293fd351c5a52fd1120cdf71e69728d93ea871aa7e1a4ef2fb4fd5a3f377192bbbee7977e5cae1f176e72fdf5d9a1f1f33ddfb4f4f343e30737b976bec767e7ebcee77d1c7294bd6fc5728c382c0e3ddccfe97cdcfb844799fbfbd118a1cdb5cf711549fbd657af070972a8e1284b422015fbdf46b2f7acbd579bdce77c083bcadadf4f62e1e0223f79e743edbbf7f98ef8bceb39edeb583cae4f8909f479d6cfefe6e49938690747f979d72fd1789e6f5afac13cb86989c60f6efaf9cb839b7ab4d7f3fc128d777dd3120d1acfc3f34b2f1ab8e9477b176e52ead130877d3ee69c677de7f3353d173d09609ed05a23f779a336729d2ffb2626b0e74bf260ce171e85f62877f135a466160e99466073bb976f72a83deba7c783e5d5376fdeb0f9d1e1d046e1e1c14b422095d7eb47b6566cc9b70a30997e910e844c19043513f1dccf945bb9f10b486b389459689f6b0d493ce30dc8f3479c2ad8c404f260ed8dbc935c035244e60dbf86d46c2b9e7d1b670d275d78819517a4122d18f1f4baa2c7e840c6e50a3ef420c6b4a2e1a905ea25ea062b3a2bc4d8e002189d48296eb12ad3055cda9ea4006f06666c7ca18d190d8753ec0be81ad800cecf7ad08c411b65fa4c3e5f044cb14c9f09891c3d3adf833c7fba8db791fb6d7c3059b95f049795fb591ac4f875e6fa8bb9e59bdc5fb864e447c772bfc7a37f26c91e482f201ee47e11bc7e7890fb3dc88de79bcccdcecaf0945a4d02f9e2faa6417b2068a0c126e555b649b22adbda46b8f632caa2b3c571dbfbdcdeca0850ff20879d1d840fb2c5491f64fbdc955bfb648da073912cdbea1906223318700e88f9061031aefc2873f436e05a832169d126654f71919f4c1f88193746ec41340853b638c61ba18693b20fad3ccadedaacbdb559e2a48aa3c8cf289e3570b0f84fff4b728fc7f6db6bf888a6598c94e41f4eed35ed9b98400d3771bfe1a7e111d7fdfc92a274b82909f7db2f754d4b1d6eea5efba624acdf7ec97bee9b963cefb7ed97581e6eeafab90d372969d2c3c4e9442128ca3e71a8040332c69511c8a5963004390342c60d6f8e47f32b8fe89d4b1f324bac24bd88818c71e5c7ec3b685804c1a8c7e0c2a3fcf33b4a4182f6edf338aaf8487d2526b0be0f11ca19464aea0ffd8b788e6282fad13baaf808530c3ca2b4f406092dc020a30c33de80f59b98c08a9bb4b7f8677894275e92e091f80674fa01ebfb9714a562eded2f6d5fbf6949c315372d6d1a6edadee223ada6fa4d4e0f362d756f7f897bed9b96acfd25dcb4e10f9c71f2a09835ecf4a0c54d4a152779f003679e3c28668b3b8fe2bae7cb0682cd6e45cf01128818b77500ca3102c539e3b79304e4c5392d40100da241b06ef68e2bbe500a5c8c4491461a2910353704ca140876e3ddbb28a351c3a4cc4eebd76f8432eefc0e1a268d26751faac40ce4ea76d9bef4ed354d9b4ff2ebc77d4e5fe8f19038da1af39c3dbffaf3f36afdec939e3b0856881555ee32ea2199855861c68362d6820b16cedce8498938bea6240f3671df7dd352737123860ae4f011ee97b628285739801d767a90fb0f9c41d21e70b829c9834b128a0c131f40ee97384ca5e995858c16f0036790b402628ed9fd2a5b21fb1710fff980ecb597dae7a17c93ed1b69bd0864ad5c935a595ec96216638c34c6586b966535d6fa334f6c69c55dc36216b31863f70417a38c514619253601176b08a5b9327bd617cecc7ace3d1e5648a8871290fb8da28e2c03b9725dfff33deff337c0581f423ba026bf8b433c37d6b0f6ecdfa786b5dee7933d9fe4f9a4929f4f88ebbb4f3da4f3ad83e553789f3cbf51e388bafe5057ea3c8dfba18e8e8eab877470f839e785743eeae87cd4c161cee33c97f3b9be9d8bf3395fcc7e5dd789df28a81c5e29e185929bfbed42e9a1d6f76b1f0a6516eba3ef7d9d94dcbf5d28a15226d22e2a85d2dc386face92f6282c2e18c1a346d62543206396861c40d2c70b902ece71410c41581bf7409091519f990ea690e06aa9c8f1f9fd3e974beda022b17c09c4fc98bc28b1857a8c09c973e319f98cf930f94c49c4fcc478a13e9f83cf930e9a1286bb548b423ca07471757e779647d7f9cdb9d7ff75b2d168ba575feb19edb3aff3caef3cff33cefb9d6c5c9d1d9e9fce39ee3b199ebf1c932e7fae9fcdb381a9d67eed5d570ab19cdd933473bfb75e6b2ce66987e3f35b09181d778d1f869974f0fcf8ed4c9c1b92d5604400562d9dfbe7e9da39c07285b9c23e290bfc36947ac6257f6da17fa48e57e9c2fccf2f6f70b69debef585d3f3f6dec7d12fdbb1a561bd636a879617a47a28c431b5634a0f853ba4f8982a2d5350a25c485cb131555aa67ca0f844f9787defde58b054c5345cac9ca0728d1f2e72705b57f966aed5d39f84e843f5051100c050220528abc08041be5fa0c9f245109279ac2c64f9b5e2f7906419bd068c71fdaf7204600d8b574db8ae15d01f3fa7cb0dbbfc11941e08f2a5648340b38419e092ce186fba7826d062ceda9f6c650cb22f5f4846a5d79e7c8963c451dfe2d9b02c9399ccec10a17c290f138860875f2174cf7a1656b24c2013d899096c7d0459df8d666269a6d6adf55129e2993e0d201f645b5909b0c2bf2eee8cb1b97f5d0ff3be0ea2c5cd7edb80d4229ea508926a964926648a19d0c4150187936a7e895f36535cc4b7cd7eb5d886ae2ce777df2b84ee5fdf4d5eb8414c0c54e27a985a2105e052b3f9e208e83100cc0dfb29779cef8db9d54904eda764332098e4ac52bb549100a94c2da0e80262d7e3e06109149aac69d2460dd8df41c833c85cc1015c925e9a88985e3481055c9259a8c0c33ffb943a89164ba8c02589c51260f6f553ca2006300507334ce50584d2efe3219f7e482fbf996f114c2d20f125c913164ab658b2823644445d49018a33aa9ebc74a1120249972d58886db694610118513b8ce102366501a5f663d56a2deb2d12916ea5bc853f5050800a2eebbd9d2ab7460bbbac570387f4bbe7defba2d31a0de370dc3e226dbf9048bf93b96e7ac8e7fb3d46c1f490ad921cd430514756861867c4dcef5bc4da61e1b87a78aed6698ea4f546adc3791eb7719ce7ba5dd252bc3e9f43f5f0ecb0bec562b1dea85b2c17cec7f770703c1c0f0727074787c57acfcbb9b7fb9cfb38387f9fc3f9e25f1c9ccb6265ed591ff79eb6755bb7b9a2b8345b33fac5714fdfa6d64f2b3d84a5a72407d9f777125107fdf626592cf1925b0527727f2b1189fa4da4d16aa7dc7a1def12f5f0fc4eeb9bfb7e0b26c7203e76b42c82e1bc96a36dbf73a3f6ddb6137968ddd6cfb3f3e568988ef7ac8f1e4b7a32f6dc8fdf75dd078b3818284c13a89cc37aef0bbbec7df7855dee703e9cad160ebbe71ee75b7fff7eebb9fbc56fdd1bbdf75a3dbad7dec8599f7defdbbeb3dcd47aa2f4586c9f9c884807c99e020a499412294ca49c5801d363d0389513759566229f8b192d5558be4cd9d250a69c58c96ea0a4e4fefaf51a377283335acd95cb97553a483e9a2c5b8259c3450b167fdae95654c67d16c9721e12c953cbc28e87f7dad77d48a4c3537bd68734a4eb9eeb0fc97e0f21d9f93387f6591fd61f417b3c3c1c12c95e97b9b75f28edb7c57648975f3fbaafdf7d7d4e7ba4215dde7e489767fd0e2371dc6fd8727226e16c0f213546a29ff590573f2ab75a6bad5bddea66e49b874424a31f92f748de77cfe1d02873bf7d619cb2d6765191b5addbaed687f7e2e01883b6b77fbf4de863d0e67d8727912cbf7e68bfd9ec358c64dffe7c8b91328b14a7bace5ca0e409ff867908d44042ef52ca7bbb1d2ec2ee87274f58f00225a168964923ad274f597eebc993129cef7c009a5c351e68c2a28ece5d9331238d3a01284471c3d8a5e50ffe4144804b16012e4d45769ad1e9268b52f1520752e92a605f520046c9cf3c3b23b7eb904eae203988594a2539014d5dac7493a7c520e8b2c448d9675fedfc0a84eb61f1902ed32c1b722373bf3d87c3b6d65a6bb9fada193f6ee430040c821bd962a4daa3bebdd175b28260713741d0e58987dcd89ae6f0c30f1fcbfe9c8d658f8011b7ff47cc92e5cfff32c354ce68469f48e76904a988ccf8f523b64912cbf263b2097b59b8e1bd734e049071c30db2971be4fe2cfb66fd76c2ecb59ff4a56be699b38f39dcc9fdfe3b4d14a7b42232578b91a89def335ac1cda91cdfc6aff1b3f874fa911c47aa188e9b9257ed514e353b46a5540e24576a1a4bfa16d3a7cbe9b12bbf9f7077b7c2dddd4bd453a54f51509e6c0ae674f729774e9fdfcbe774f72877ce39ed115173288a3b14051457ce25ae8ccae85314969a4dc71ab080051d44346aa3ae31b4b71252ca3b4a4a717941b7bb5379630d86a04d5c9921716535e2ca97e304505dd9d809d7b20532374e4096eeee864177775b19e2090929dddd45551a4823c14520cde54705428f912bbf3d364e00962b5fcb9d63d3e5554c89a6a233733d95a56c2a0d80b8514f953e45f9f0f4e4575e6533aff22b1dbc6a4e4d29ad4ea939d5822935a59ef2cdb17cf36bbe966de668cca72221aebfc7c36311b04e6351b64f9a554d63398edaa65e091bccb89f91f9cd70a3b80814d2980d1b7404322e8de5ee61e3adaef4f798926ca51eeacce3415f49a987aa441275641ef0101031c11ac998cb5574856230ed35bba587095a8290d092146134062c645136abe210a45922844776f5946594bb5cf77a5745c9989190aa2a212fab125c04aa3a0385cbf10c13e9f2e7bc5dce96dd1207274e9c4c915c98894eb4844777a225c2c4a0257b133d495481a1aae2e2c93be2658b0a0224524e58bd600a28b450228b932c9a52f0c5164ec898215355664d0e2fd1046599ab325672ac2a13cb617c93e50b20c7aa324f46d93fe23073b3ccfdf6f163159935b93d20696efc8709ddd711875f55e6112ca6f202f2aa1c67bbefa6f79280fded45d09e7be7de3d1e2120e39a50319178953f8dc28864b93f66716596313fa3db4e19aed09684e9dc2e89c2fadb14583241e47ea02e3a50418518364a88390336155adc0c51a689184d8ae814aac8342193448c9825c797531929ce38e79c71c618e3ecd8b163c78e1d8be89c71c618237da2d1a7dc9dfab4ea9646998a9c25cb1131893c65d102840e1034e7cc908859e8acc2d939bf3c3f23cd30ce18639431c64863649a7236c1c57777ff40ea1ac8fe659f2df913e583b49df3f9f4a9f43c51c0b1babd8e8b718b51b3dd5fbbb318e9ecbf11477b778c31c6d64643abc5caf1252bcb2e47ae6aac88a359ac6aadc49ee7451d31772b7e94b88b3ae2d6b5bc2867d411bd66812d96bb4f2e3113f291b2c873348cc98528d6a8c0458b9627962cc10598366aa470f20505a0cb1b98f0228a5279d49dce312e28a1b9c025fb0339f5b78e3b5807b9579169ea59620548a6de28818231808008c349091eae10020cd863b62823ffe458b54518ba022a1ba0c404f1c58523b8941023030554d8e850e50a0a187089c49447c5e62ee64a29467599000a22c6b812e38a29281920824a9420ac44a59102ba83b9d226470a33b6b8dc9dcb61c7c875f5c2d3962632a4bc58019d4c992e60bcd0620a950b5a14182c362f579ee8c932251e9a904a324414941d400e501803030c49a2b09004e84534c142172b7869bc4c89cd17a8d1acc058936be4680506180fcd972c51480c018419488cf961f5748354194c38e1c408067e38b013a74ab0778b1f091579e1654b190a6cb192650c105a7051830aa0b294a13a72064b185e6c72f1328d11efc190914f2145f6afe12e7729d95d6696ba63c145a7093766a45c834516ae0a271bcf2491c3196cb2a09266cc05d284b9927266862b2a2b293b482b1e9648ab1dd6649f1cada4b8606190ff320a285a7072c508218e8032298a1faa28828d0a4d554049b1c81209ab022366175e8ef8c24b64834312415c89b541e109025a38e962a40b175540756f4668220c313148135b01122700c288242b2ce9410b2e40195464fa352aa678462e3538c9346ec0697e35be9e395aa9b025872edac4c51869f76bd094527a5bb1ddfb334adbbda91774be502eca7d9d4ea7d3e375593afdff7fbea447cc1dcb35508ed881f29d34eb6457192b6dc3cd1ebc13817864cc213f58cf9eeddd40b707b7322e5c8c91b666f78c31c6f9438c2bbdfb0b85628c51ca66e55d0cc3caca9b165b593521afa8cf8cce1a796e999cf21aae5bf19c742acd9a59ebc6aab168ec183b45b7c301e5be21c4dea82557234bc19030b94d03a3664294aaaaa87552229de40c8792c9d4cca8fb6c19798ef338580908ec9ec97e122ea7ae371fec2ccb3281b3d62a9548237183fe9647688c8ac5baefaeb6c6d1c2d6ced66d72738ded9e66b56b9ea41b6abb9a6d34fb38df3339b58c45e5f44ce358d56e1d95d3afb2f9da7c6e4e0f0d0f52a51a974d6f4eef376e7a3894d56e47256853506ab79a6959a6d1d9651aedec36bdbee3b46cc71909e57c3706cdc7f984e4dafa42906bb51d175ddad46aed642cd3b24cd3a8add4bdd65aa9a5590d312da356fb4358c390fb432ecb351e7439e8272dab6ba41bce66724d3f75ac9fb4dad9cef61075efbe7a2074f63e4813d9292e18d798ff1a39ace135727bc0cc964cede6a6001c2849aa232ffbaf1c942037905be453874319731c7eac613fd27c33da08f3dfbe2ec2fc390ff4d08db01d343c48d9c2de78c089ae52f71dafba0f3b6b60e3bc8e66553b2a618a39ab961d95606355fc32667253eb348f477d8dc647980391e08355b9df9e0397dc8008e7e30be17c370a697d2c5929a576f664756e9f74c2892e7bad8b7e9bcdb6c8413dc9582c932a0020f777d420127538809e5c97d5e812756d37142fee93b45261053a4a1de7cc35f27c9f3a52e822bbdbee96fe826b8b3a002cba607993c20a8c581161304611538a10428858cc6b8a6284e5b95bba550a3764ff9d37d91de085944d4ce4a19edddd3dbbbbbbbbbbbbbbbbbb81dabbdda9bbb73bc5dfb07609f580ba740a2e489b4bef0ff944d87c1989843c089bfb0d738981228ef93e71e84684cd0f400cca9ecaf941dad4c85d8f26b72bbe9e23c5517673c145a0b04595fd399cd831287b8c3fd9a3d0eda2a97ef9ad30dcdd357777777777f73f12c1ddb5df82b8913e89b477a1867927946ded59e78d9245d1f0374c669fee1efbd1083872a1aef78f0c2210cbb6baaa61feadefd52c09b0bef5fdadd6f360a557fd57bf4eeb955ef5b6cfebe01374de4707bb2ceb99c01c9be3caae6f9f9def1ed3307f0f6270a3159229e8b7c58707edfceb686707bffa753e8212e4e17909f28cb0f33c5f819c9de7f91cfcd29ee77330950cbf8064df9fe17e1e1a7fbf02afc7f9970bbfb4773d13e8835f9aeb43e0791756a2e2bdd2abfb17f72e1efcdafea53d8f8743f0517a75463aeffa0ae8bccbf53f455f2af0e3c222fcf8e0d786453081080a7990ff4bc315703d0f3e814a083ceff327e46025183653011f1eec0126308c5b78c2a20c3e823c3b1f419eeff908eecc2c8c66b2076973e794f6aefd7c8dcfbefe7ee20174bf02361ee7a3f7d25ec347345e041b98cafc170ece3381f7e8be8dc7c14a386f035369eedec7c1f91f9d3f01079bf0f3f76dfc056236b093748a6b723e83503ae97cce8fa0831bca831cf75306f8759493839f6ad47809d6c02d95f34c208d231d1dac44a571083f9f839572fe0753c9e6f7ea8f395889ca042288c4e74f70fd09395842f9bccefffc05623f78043797e77bdef53e3e820bf3fc083e585679907f0f7e1df1fc0bdcd97909ee6079d5b18661e9249925ce27412b75520c02a18c345f6a99aaa2f78be09c3fb96cd93271d30f04421989be066aba8aaa8790ac71a7b0afb2bf87cd257bd8118c661a4d0ff5fcd795fce2b198933f3914a5f59bb233d6a437b767ed77596fd495f50dd54ff786fd04eb2769c69dbad359954de95cf700f144c993a831de53f5397f22230faa1d34acb6b9dd6aa278a9c723c7765d11457d1c652e273b216e74f4225cb95010373704cad5c883eafb47e45fbffd0b52c60d5daeaefece10a11c660525d97e96a5b7d99ba357afb2f528ae61dbb05a7d78d41173fdf0857ae8737dafa150aef6ad13cdb716a889843aa8befdf72006375ee125963520aface11aab6fabab61b516e56858fd1e5037489b4b737cfaf3c62c0e72fe75a2973feb3bee4360e1976fcebd7f475f01c8b8728a94e23d13c87d2f0dbf24d03debb56761252a1a0e81f51e56da9ef54a1cc7fa5e9ae6b1f009acef3008b2441042f72cac64f10422785f47ddbf2610c1ee25c8fa570524c87a09b24257f6309517901a1b167ef60876387bfbbd92646efad9c79108199d3887e378ba3e76344c2ab342b2a5735921b1d2f28628271c90d0b032e204e6ca9e31c605d0c595ffeaef1a265f8de78d30d7f5b0206ea8b2c5cd707303d4e6e6aac3a28a4d9904b081810a2cba2dce241953430f689294e18c885a1346680d13288ce0e46f627091f3973f3f896bf6d229ea909fe111da5c19cba1954fb97e14efb9f839499003b9f7be135e2170ef79dd739f5309bca30ec7fac5bc6929acb1597a36a3360a8797e4134885621048a78c34b1ed8ec27bd2e2cc0f5194a121bf33e391310015192f96dd1755eaa1ce793a0aa15f847e21fd25f40fe90f01915877bf915c92fb8b0ffb716359fe8de51b1b81cdbdb11cf38c65a386c2a3c1004f5760705cbde0040d9ee4c4c891f2a28c0278110413556530a96a434396420c6e767296911e0f9d975e128f9def21338fabc7e77bc8ec7a2ee7a3d769ef6dbf73bd9f9f376aede7a3c7e3e78dda5aeed278fb85aedb71af252d651a4fe37e4932d3f8e8f1a0f146dde50e7ac835e4f3b1e779763efe510fe9107555dd6874de4f1695b5d9b0292e65369aa6533eabe636450ee314d97ed868723f8defe77335ccbeebeba061f67d3ea31d0db3cff3f96898fd9d2f48c3eceb7c470db39ff3e17cb08659fbadcfbef7eddc86d9a753d6d2a93ca7b894edb3f72a3ea5615252aa1fb9e900738114575cfe36429b6bbfbec54466ae18897e16a3631a34e887fd23b4b98d89cc9cc58fa16322f82b4704880724c348fd11e9f5e369bfbf5371443e24825b960891496466c7480f708c8424bf1fc983374c2a52ac5c9032d7227538ac656e9d3fec776fbfc3217d5b839089bf06897b1817b864a79f7df6ead17dfd1fdd57fb5c566bf8eac1bdfd1fdcdbef9eab9e04fa5bdc87c376bf3d673192f7f63b8d296bf8f5837bed41e09eb585dd7bb888cc96eb2a46e2bebe7db1bc67ca2cd683d03d0bc788c3f35e7ba6ece1d03e878bc85cdfda9ecdaad2eb21df74f8d5fd2b84fed64f802977f8f5a37bee41e870927cc39491ea67bf8513c94a0f48c5481623655ed880c50630366280c4bb081b90d8107525c696b687fc7be2e89d86cb94728667fd3b5fd64aebd3e728ade19c4f220eed73d9ddc9c26ccef931a44f719399dab4da4f255cd0927d1ab56b56cedc72369d73c36d33eaee5554157d11a282b98a842ccc524ae9f40824ab4bb3d9a659fa3ca678bb75770d87d6e21f57fc49e9673a627ee7aa56680d856ae7ac764ecdd66cbabbbbbb46a7d29cd9bf9ad9202328a594524a3dc2e6d7af462ec2662b06cda9419e733eb851dad68b996d6fd445225b2372c9f177f4531ae9c72f69296759e65ea2c5d1768067910b408a2b3fcc91856ec0825060ddfd6fd0b65ab5ad56df345b29a59452aa256758dc69963dbfa9d94d0c4a334ab30c3ca519a5d9cca6901a29657b3cb86faf07cdf6db3ba01ecadaf5387ffcb8c5e5d9cb2c4b0f7603c84da699dbb4cffbeabaf5bfa78cb3d2f6eae4318b35c63ab3e9334796f1a7a594bafe4eda51a794aa80f32ccfcdc01580f8212cd3f8a150a6f12dcd322e7bc9dcb99fa0914e4aa3478f1edd2d66ca9664770f3206110149200edadc10080052dc50280480508e2200441d717abbcfcee79c7309471a212557ceccd68cc264b73b9eb3695739a9c83a8b65228a0514451cfd4438d94b79e9f5b0832219eb0f8be43b95d024e038cd1c07675ba5b56e75d6e7a4c718b3cc2f8509b56c56a92b49665f679c9f0784c4a0216e84d4c0e6fc78d7c82f0b652c46afdb9eeb5b3b8feee03b5f7ed94baf47579f84cc7f82c93efbaccddbba8ddbb66ddbbe7ee1365dfb268e6ac9e0694f73f78d7b74d836ccc3f65e4e76537bdbd6765ec7fd647d3fc792def74e5b76763a2e570e76dcc52956f7d1eb119fabddfc260fa29c8ff7430de7439c9c0fe7bbdc1b75f7cefaac711b9e9a9d756693ce39e78c55591a285f729cba3d14524a71f781914ba132ed56000370c4a01b11473f110e7d293f1c4be586510d11135aa93f847ad44314e7fb49e8a1488466898bc88ca3418eef9108a755fd2ba694525c6466c799fb488821c4a08e41fd7d6526fb35997a20d86bdbe58ab1f5dcc7c8f23ec68e7ed10a8a99cccd2ec6e85edde6b494bacf22335b8cd4c37e9d47ab9386413da7b5d7c3ca2b050a93fb554afac97c2505cac7a8860920cd0d6fdcb07d41a02c1c5a0f87d7f5d6d2cc29d75a6b8f1010a139c3458acc4c71abef14714e8f31c639e7f40fe79cf30a1da672cd6174906a89430f537ab032801caaf480a407a81b516ba480917295010e63e82b096961120552fc922fc568920295640b39d460055c92449001d29738824a358a00295e9272070f1a29507c6e8845893295e3e48907263c4cf1a221b6c3146a1e4a8d018eb8f2e9144a726328a351c3b2cc56daf136c59f2a702ed87d8efa8d1c8db039333c699e27c8d99c727efedb2741edc3d65d2e470004b267b01ca33d0090dc3428d379800834f6333b1d0d2d196e8e56504f7e90af1d9f48b443d2aa6587ba7ea7a803232357cbd10a0a2adb202e97a315540bf277e20da109a542e681949735569650e2061608c900032b14b0f4d0030baa98a987355993bd1cad9a9cc9e18da90228637670a2810c503aa0c941cd4f8e3070f12e220726396801c01398acd6ac84eef68e4e59f7674d9b96d0b038e7ccfe3598feb95cd6b6558e2da7908823bed3a3689bd2285444ad632b3d1538215147954e4e048b3176d7f828a187e67f117f0391832142a20edb712c2fda684b8830fa5cf6c44785c1f20e59f8132ddc4884d1f7519bcac8bef4e67d38910786c4aad65c515534b9a591a5374f6965592c245ae1f01dc520faadcf284a759f10573465b47d1f83e86bb04c2f3dca6e2d52bcaabd55a972df424d0d2f54e1d0c60cd0b31816a42cc1820bb0c000ba97247b7605488669b3ccdddddd3db359e6d5dddddd3dcb329fa2b9d5d30b3b7c1c895095e568f5c4c226c694cfd599357c798ea20e6ab83a395a2d5993c3cb7db95e8e564bcee4304e5d3037cbd16ac91639bc9c17b70a8aa9b2fb3fdeb936a3ee28a071a36e4bbe37605d0eef922ada1223b81a404b76c85d8e564b66c821cc86f9a4ca933138ac5a0033abb29cf179be69c5833a6a4e1c275a40441328d878f9a24b9630a2c03206940ab8a5a4543492436efc5aebb5d0c7f09055d24cc869d96df64fcb55724c8b7a3c9adbb44fe97e3206e686524aca8710d72508326bc006aa873ca746d24ecda49df493472e98bc604a0c0c5992604201311ca1c3162f3c79018cbe6a984433a6cac713379452312925ad3851047fc8292dbdc5df871bca2a4f0533528d7423af989e5c01220c174d34313303c8c4022e51ae80f2a2260a25a2bca3ba20f3c60a16306451050c265ca42049c20a322b3c015b38fcdc7a9d27d2438efdc80da39a1f36f800e2fac7fcf3fbb7df5e66ae76a165faa65e398d848ae36c995ca4554c06ab980c42394f4f722da5a1340c84266ecc4fbd11cab8472251cff3bc97b5eff9649518247924e670e879f2e20d873da936887a4969228c1ca82c7b52cd2d593e8f2d6eaadeb8c9934b0fd1a091a327a5228e1b5444802208a8304aaa102206256eb6ccb0450d6ca0600194df73a7bbaaa1b414f7587f5b4a43896a293d34fb399bed90f7c53ce3d0fcc62f8b59d9cb9fac62450a1f5584b8720787b6e72bce30f6b1b607e3d6e77ce892adb059c8f23b29a5f311a1b973be46821386832f5a4801193b58bdb9b2a68bd4174faaa0a10561628e57797b1f51dcaadc7a795f7ebb893aa2e4f99ed095efff93122459b65a5f0e17bc9bd030497b749efe2949b96b64cb230ef946fd385c6befedb1c5950ffbeda5510cda5ec23c1c7ee8fa2d96ea7e717d423c687b9fef08494ff4a0edaf727f6da746c28344971f98f870c50626710b314370418511658c30d11d4ff0a50b0f55b400028729a61896b4692109322f744902ca2a0d93294417606182092a2954804922a9062f76b0a2a1ea2a0918632379fd98b1dcd841e8d80ff7e54b259e4c4d6569c209315a9cc80249d41083818c1e62c822a5645625e4e6a5264be91dd553f450f86d648a54bf1122cb6f2cad458a4696d14a4994b78dcf460c92ffe1eda859b5d339a2641c3c11c41448f1b514bf26104197ddc08a24626004298679907c9f999419eb21aa26d2897d7130556ec6d134d1bb1a1b59bebbc192e5cf4c4a4b24bdf3f4021b2c8cc9f2a5d3f4966464f952024c207d988f316ef6249d2acb7729bf57fe43b9a110959742962f94a3684790a82366f796ed7d24b979d444385224bcc00628df036ab2fc21562b18917f285a254113739ade99d4764682f9008b1bbfe66895048a7530dcac912847cdd16a2b6f0841dd9ba35512265b0c4952c8610ecd059795a395d39a1cce7955bfafb1258735bedce9b6ee64d9954d5566ce807296e19b59272ecf212454a402272a7465130ab4eeacbd5f6a9f91b3aff18fc31c608a621d1433a5e2d441f1662e3539db72966559101f9c3a28de29a00f5fb39ab9469fceb53bcd9e529a715fdc0c72ac0223430c6054e860707972acca220c56195988b956595c41b54cb308a53fa8642d178539e910aa19110000003315000020100a8703229150281aca922c7714800d819a3c704e988b845194e3380a19638c2104100060c888c0cccc6c0548c564d202745c731b040b2c52955014896f609c119f656a962c7cf04113a20a70235b9253c84afa4919c5ef1eec25f4a490c4003725c087f801dc822a181520eaf1136511a8568b87838071bbb5958b5c97657caae7a7b60a9bab984f7c5bff50fc7138f795f5ba7907421ecfdbc650b9584c15118f01e429ea1c1479c9737dcb6d25a01926c30514b2ea0301b54b6e08614ed17780cb076a93dc1e307d3701c2c4f0e319d9551334dc1d3169b9bdefb6538daa15ecbd3110547d8b62581f56753fe9ce281121d247146568953e68c7bec27fa38b7c74682f02cdff2b1cb28dec02cfdd1c5f92b00d171e7e7e15b2312896cbecc6ef2d5e01b254682baaea23a4435e39dfa7091329432d98a55a30a5aef70583f1a7f66f9edd3b8957c8da6a3b8582efe83b0fe62bfb45a4089427060fb90c1c66d28376c2ae6395e3aa311c515b175f33625f0e01f560eb8f69a5e45e56b7fb7d7554f1d82a0eeb01f13e7f47b5271db7ada392c7431b0cac835965aa15c41a2bc11a1e888575dc023c9a581470da48ab58b059f2a4d1a2bd8bc8680a133b21dfd10ea8b4485bf38d9780131f6cff581dad522bc77025a031fa9117533bea59bd07e986e34667e4a9b0c71e790ffd23c596fcfa162911de7d06d61e996660ffe33db2b2d15352ff72f601e151d170dcc3ace8158378326aab7ff724114ab25d7dd038662089dc3560c8c672ee8d54b08349796eb4876304055158169141cde82d4df1a104fc1f5a6b511db9cfc8e00e099d7a86c9e6045f151030ca3ed4468d1a8f68d6dd5f88e6aac53350cba2fa5143e508b93e712827e399494d28ea24cadd3a3c0baad95063f3fb73871090878ca25949294f482bb753f709441431ab3d277cfcc857a0d6dfec619af3dcc7e0f131a739159dd631ef040fb1f00720b15b19edb12887ffafac919051445caadc0a4844cee91c53022b4b304620b1358a5148cce202c9ee6e42bdfb6d16d13bd805380882289d8b74f5d84b3ad6e3b28545dbd946c044dad231f67534110f4bc2e1c90a39be7f877af82068e2154705f543a2b35c5adccf90226d642f43eb29dd2590aa750b1d94e09fb99e6c90f9fdd05cd7a36b87d0f0bcb9ea29d08f934169d7c9189ee408071c3b57bb0f8859a6b5628ae5dc5186c4f49b1145258e13526b880af8ef2a34f0642a1b8657d6354321b620108c2ad95d847328ed916800ce9fd19f1baef1a630954d4e07467d52a4902b53605b3b6700613da54bc0a5764df8224d133ec566e0e7cc6ef5e146dd83965b5c6fbaaf97e110498f44294a83e6c27e751cb0994d28cad3e7889955288ce49d69e74215da80eb48388ff46fe0bc773dd633fb6dcad77497f86d15ec55a3f8176bd7ba1ed684a4a039e15fd0bfec6a2169747d86e0460e6b1b2c24521a932a7f523222f83a639ae80ae98c129417b8aa1eb136ad1402a2244733d3175f6e252759333e127cefd778f0c61d3ade1867e335d835eefa241575c09e38a032c16eb56995432c2a94773180f28b0827c1d3908869439e8608a258d2e9b6ede7b65cb474478c9f8212a86b110b87efa4a07283749c74c4f10125024ac7fb6c841f4b878f69f7a08c606295507c13381e810d9960cc3f31864876cf81cb976f5e7dc52d70a0d207710c9cd3064b3512d5343e83032c9905fc277ea49ac90fbabcf1dcab2c9a7becbc2d49df639e8babccf6f30734a2eb2b588885730d950146dae3cdc25f9cc0334f92fd5fab1ea140af507ac357eaa723b09541f138485652e9f1f5d8f301f9492b0f8cc59f05ba52e97a6e0c1faafbccc785881ed0706fd964ac06552cd900876b8ad38e77b6c34d288624c82c6de62a8caf1a5380f3cf4ef3dce116151db2648ff6a7aaa5c2c95d1ba8c295874fb6a16a23bf2615add7493803d5715cee1065023ccf80bb0b38258a9c50124dfb96f095c25b60d8b35b05474b05c94734867b47cf3a1cc24829a4124341320b72ff6d8095a47057773c7117ace50156de17447f65acd350d143ff5dc7a4f7e8d36541288720963f512c44d5998d95580b20c87a078eda8a0dda0050e75389eb3846958c4d474bdbfc566bae1adb58ba66ca3909d83b8663b8fea2d228a4da87978d008591a6179030faf982c843a1cf029948960b70772b7989249160e82f690597e403861aacaa108e0490a840bac1a45e59af9e327ca0a595c20ff072c2f0437c1233e7f50de843f898d8d8e9e568c781d458ed63008eba543eb6bff7210a051ca79e4a7bf28da2b8f352ae1140cf9713e64913fd823f7afe99e40fe48ba108192169e4b68ad40ceeb0a44594c40b3717001227f90716c274c0a72be0caa0a2cd1a0abbcef22ad3411d5460360ee7f055ec0f88fc0937ad7fd8ae61df344f884e04119547fb8dcad64e04008e1ad177b3f8efe4525c8ab219dc43c2acd07f9cf04b55fb3df3596ca2b636ab83e51d1054f8b691d63e52ea3852159637467072ae5be593c7d6086605a644dcf5e474d942b84f0d23a59308203ad6b7b4ab20d2b93eebab4579531cc8f298db2585f6d00d8dea22c4d63f5b81d488eb0440635b078de7d945ea9a1f92bf59d6eb639786dace7390721d3886a8b308dd1797b097d9a908b058db0af636adeee932a921479fc347bff72946b053f7bd2d9c2cd5d845ab61cbcc853051ff19a62be7019c6f888ab48a76b7eddba20eac8f05c13972fa6d1132146a5055e488402a717ecc8d5ff5380ed29dbb989ebad8a99bde35e215c294b33a4e82fcb96f31c1060c9f8cae0cb2a012b4888ad5c6fd1c0c873e6d9915ae6734f13ce142a95f8272d1f2932a214759ecde046bbf0e02b5a8132cf97513bc8c1ea3e171401d401bf43f51a91761ccfb6863924750e7a3924c509e124d7bab82b5a583de3b3b6085fa1fb27e9106c2e35e7e90644dfec228e2a9950760c80ea2668966b1c013e93448849a7c3556418a24082ef32b9e0a3237fda25a53dd0994064957bea0c439edeeac200bc9347d110bef4c2ff6f141e0aad2d5c1e734d0293e43250ff1a63a853eef6a9d75116bee4140ffc736d76558eed07a7bcb5826868067080417a689d2b74f36c2bab132b2ed27699f2fadc9ca5b03d79297a87fd8f2cab4ea2a89b0099bc1d5d0d3a3edd7dd22a4ee6d3dfa5e3e3e09e991fe40265e01d7cbab506ad1fef81eefdf7169b9d13ed8c7e3da44ecd023f5be73332e0669f804294958e7bbd089732a81d5aaa789cb97e2d80b22d1eed2f2ceb785bf1e85fc2bf430ef326f6565dbfbcc423d289a1160c690aba223117d4dc45430f7549c484ddb4ea68fd794f9ef62d6d56b8a500795d3f391120425b378cc3c8b7ede7c774406d242088221acff5ccda160a33ff9573289bc12dd760b6430ab90824233d786b898d9f0393571fd38c56f49531ece62315beeec16d7850957d33d43dc7af7e39695fa9b859e64405d6d213758475c13245e5575f0a0354bdea3d032999a1f8ca5c3cb97ee088f137f84c1cf8307742f92c5e1d75d704df727e199b05c7797ca6faec8f302d9316a84c68d2572aeeb44b208598f704fbe103a66dd29aad888b57ba85b983941191d3f85d3155499abd82ffba8e836cbab71e4866c2ddd16bd52e61a32a43da02b77c347d3901736255339a5bcc57f247a0af6d9fcc3fe5f7425293e211890eb2bd8dbb110f4f4463cc6796b25f1df7be350bc1a6a653698d6ca5a8ec220e2acdf9d4fbc866f357e2363b64534c62e9b6be82b501ca3080266af3b5627ea11a35e373c8a8102e635da641919777eb2969075b964fe451555527384cc02b8c80ab767cc9c7380be8d2c8a0b31830c735e6ac08dc61d031834d008b4cfa98aeca99370a2c44b4e058ab54fa813c711be4538855527bc0ab9d43999257fc2d7b583aff93130d6da52b0163d9cd5f0528fa794ce036a07c33c686fe06c837df9f3b2c950d10ea0ec67b892ef13e6d2f3878ce82e29e4d7adddc5511a3e263f892c64350d1af007dff1cb1d1c4909a7e7d21ac036798e8794f500276091230be4cf46517c9f82d4e85cb46a86d9ee482b7cadbc666c2e0056d2698859b4fc57891f903e8c0778708745680471c2a10d0b808a7a0394b34e09db62c2b96cf0a2e11e81d6a04123583d6d7dad9567c08670fa06c2cc526258d31e68a20faa9165dbb1e5d357f1731359e9c83c72b74bde3fd45c1a14d903842cad28f124090dfdda7c81861a338c86a1067a0b23fa7bf107e2b93fe4a1d354af225cbe666cd4b70e82f75ce706a01736e86bc43e1d5ec0e7d014d8b7b487a9e56dd333764c10c8fb1cd8fbbc2341843e8434f9fb118b14c418e3a301a35e5872c8651e4115e006bd5dc471062ad1cb362e6e8422408c35860831fbe1cdee12e8681fce797989ad53df3990bbe9da9e5858c8a8d4c2d6be1e49ae1f2d341751cdeef1727edae40616d0a1209851a82eee396c592cb556f709c6e2f58a7336b83b2614cd08272934d83cc0a7eb33399dc4bded65b702111136caea46acb090e3c8457ffd461dc044fe0d45ce85ccafcec6a2eb08e1a4db796d99bd95b9a7d0e1d9865f5a0c3e02bffdd0a2606346e888305063e81036273c6a0fac3f3ad686c9d2170e488214e1c335e2d865f0eb0466aba555d79a2dc74dcd611939ca8a91d27682771bdc2ac759e74f9c6abf7a0074c6fa0764c5b42b4a174c7e9ac33d7de9ed5db506e992ad32395c2d43938b5178667b37f620ef4a39e2f4d9e4740f225cdb99314fac70d8c3d4574cf95e30f92b3ff65ddf62a90fd0754b70df8c9c2ec67f6ff620ef4a39e274cc8681d4b36434de93d90b0736de10aecb0762b505e53996318039e086d9716e1d75988c81e5f3068a89b665073acdf30468a56e64b704c40880c74700f4c74369f493aa427cc08e850607192115c035f2b6e694c44bcdc6fc17df9fedc43f03d88310082a4806392e84bad8f523908e9dcc9636842f960c4c91987d52071edadb9e542ec2bad8888377b2ebaf20faedc9f368849b710ac9a18db7f65bb8d0df24c61d9ac1895e447541162a0f223070d0405471c48b6761d809c94d35d2ff41a2f68a9687ec90337e3b2c3ac4ba8cfc7250143cfbb1389a12c2e8b60282c07a2ed202aab3468f0e42e6115ed01a0a657b904dc538aa66a80f9931c74aac9da4d35f18d70789f6332f1e2300d8150334f5850e480cd3efa5840ef9724632817e5054ac1f1493c309049e9e77967e217908cb90229fbc6dd6818852f9899ed50ae6f9ed377bab0bae86c6814ae231d01dba0d16c1185404e8975491db949ef0c646edcd47185bc3c67dbad1da14b847167cd7ed37821f60dd2c6f519aa684e2d0108b3e40c175721ae0292e2ad83cf21e9cb918378a4bb3936279af877047842ae04a4ebf55d638a0ec64bf185e70c53014db388ec9b0d96905d5298e00820f2fb9b71193f69786d4165677eaa10cd5ee8571b67731f6c340de3f94c826ba0befa5ec9552ade55dea0e9d94184237fbbdcb9e58f1e38d985229b18afa6a83b0e35e401d81564e5027e4cc47efe63e61d86b7f972eab42f86083d66a1630953b88b41c6c444713d9a8f96018050b9c8e952be7053262da323022a53ff4dc90ba4f07b42e722fa32f14db78996916586f8867d0f3375d685bd098a23228d4bdc598517afd0c8205796ae2c428f07eab10bec73eacadd1b4397b0b687d82de71b82db83184bbfe04cbfb9dd32692e4229be49071c5fd30ac873b078bd063100f0aa773cdcf04f4dce08113ae971ccf0ea0b94490834505082ef820dcf0f3984d51fc841d358b02172320ae787923ba3e3b3b330efef6719e4352ff876a92cf5ffabadf7acb02aba27a52e4b0e2ba1e297c3d07e674a726363637ab14a9d2b170b89565205796e5ae3b8cc5e5d004d21b764fc2f0ec29e30f9c8b638e4615e044459ec998c738ff9811dab3304e5b8c8310fb77477f8cadcbcc626ff748d47a3d5889435ef0b689e8b0ede07d0167858a46a817b369f3058d272de5079ffa508ad6bb335cec5f28328d297ebcd6621a436897ed32513da0fb152fa2ea61ce1a2d870b465b50628d5d21f596ba30958c4206f95a527a38692bb6034febc2ce6fb6b4fa19902dc45a0fa0762148cbe755db0e00ba3789ba0eb430579643770e5d730a150d756144318ab63621114832a4215b8e8c4574ca20e81bf590cce062f578d71826c350a461d8e7d1a0364fec39a1c29c08e92008e99d8516944273b30015a6945ac960281e91f2d17062f970d7c54647f91bd3c9123ed70dc6d05cc678cd00039b6176e8697736c3da4405bbb4901d90aa677ed0f0356cbc151b610ff73b44c2e8565c7ab4c5f20170a6b2b11a618fa5d48f7a14fcfb5db175523db5934f0756459569cc2485942febbd4208b6625da21d8bacc6178fe880414c2c8e8d65d86a153a31f1d279e2fa3e6fbf4450ac18ace8753ab87d7b41316708296a8548d04b1ea21f2b41fc90d2705d3ca6d34e67ef33df6331538356d632ac22e3fb4d34394d480727bdc1cb755c4e50bab0b2f3065c11599c7b87ebb8e3de7ce80b67a2c87345b51557413df94ba3bac5270bb24f2eda3832ff3d316fc89c432fecd62b1dda0c27255c62166fe68d59d088aee405e1989cbd4e3cba20fa3cc35a23f2c06ad1c0a5474629514974074b826109796fe31d34a9bd8ddbc8fa49b169f2a591890cb02337ea587bf06d0187a205c6f180e50ab16452bc5bcc2c82162976a47225d218d3ab72e2e1fe8c9505cf7387e48d684e88e341f714ecb8964815ba1259345e49a010217fcff2e39837a3ac97483dd731e20290f1177411235cd2fefefa534e3f7ce8650260dc44bf5498ec62ba16068a22a5cd386dd989fc4799e6b511b14ea54f2a9869fae096dc285a6890eb425c6b20f7545afdc5a94ce8f80cd9d0114f8c1012ed8d3b10b5e3afc622a362e4afa0664af5b8828e7e51b8019a168814129d4434ce0ea441381828b9aee1cbc4eb149c17abb2866d5d472cf37fdfac7568df40a890697d6f371115b665284b1da2ef1025f7b98ce930e4a4350c94014f5ed480fa595ec65bbe12a536d811de618b30fdfcb4067614df49de6a815a1122ab17b695b69074c2399e74a66173d0b1274d8ed48656b991501bd248feec5288d70ecf88d43537c1805db7af27da61f2165456bb68c1ea626a0ca0e1299c2c702f98f3fa2e82a72bf7a15826ca0d83701d039fe85f5ce9ea41b89e047bca5324d3a01b98eaa5253aa286c66b8f5df5b90c744a61edd564b0c2966ad1493b4f99f6261d5cd8aacbead6bb937c04d7bef140450189131f87bf008f96fc702e1edd8edc1660c7024e63c456daf22c2e9691dddf98b4549734599b8db4f16104d2e84dec5cef1e2d5541394c77b42aac4f53e974fd1ee612efd82b1156bbc80e4b5a088fb835ac550a57aeb65d35e741a9570e5a68e9465e292f5b972b025bc4d646ec0e8284cae11aab798a4bfb21f00f753f7eb9f610adf5977099bdb83c0ecca315489c8dab67308fa4520f0e2da01277fc6830187ce8bba2f11c4587fb74155629cb72623cfe5103de05f28cd56bd8e00dc899c268412af78290ca01c97419e25f01320e81f4f1f8c274b09c6993fd7062d16c103993ecc48c4b141ae243e2ea59c12a0e5966692b33d90ee1fd8af4d5bb38e7c481c8d4dfd6a01051b03336f5bd15d1b50a7cdc9072246e4a403289673fde93c3cc263a03219726ba9bdbaa6f4124f5c31d31dbf26565c985e4219f1f039d80ac044d8cef198557bb172d40af6abb084f2728bd50c9f62f9f159d024ea1efc1adbe8c2eefa3f112474376ef7cfe727b8d080d129deaaa3900d817fe888be5484443b8f0755c9b3a0ff71c7fc400d9eda5278800f7e1f85c8f4e8e2c124da15d21de33df57129ed8054d39b70c589a64ecd941d3b7430b9dac3e79055636c5f554adc0587c39306802a325365edea7405813301cd6146b9e4ce8cc8f138b914c9e072d47dc5cdb1d410c5ad1451dfb9ed3d9fe47fb3142afb95d45ac25c3eb717a375904c3567ca83119f33087db2a65c4a670cec9e7d7a2e0d9a9a186e8478356334d2970abb9582a75bb53a24f36bed343a2b62bd288cdc2a3a14acf8659813cd2db2e71aa26441c71d548df9f6098413b3b03950e6ba3e6327bcf118fb629990d85b27c82340c25130df0a1c5b5c7e49bc783dea983722452491f50ac3f863c9d01a81400472530a44f8511ba419bc7fa7c35fc38f4b45e224cab7bbeb7096b389f34918c219b7d2e209b3f9c0f4b46d8c9e4e0e92b02e4a2aa50462813427f3bd406389db204a43d1034ea9508312f1be078c4a9c6c4478018d0069d0247be88854b68642ef30871e866b63d911f95b8f39af0b60d8488b641ea14c70800959843384603ac527b53abbe7bc22598bee85262d75aeda153690a8c975e345ad26222f0980fb7a8a07bc77cb03d433be7ecb58c390d11c2614c959f34d178f47459a4ae1a80fb8e681331ad882528ee6f82357b6a4a88237e7d4e849653f82d2b441122dfb7c9188ddee333aa8b754444a7acc454a63b53c3454d5a8d8b5f9656805f92a3dfbb120d67d7c5ee4e65d2d240b82ba075437955b1f3363a07a7657727d9eb46f5191cdb6a52e3ee24036e7692841899cacaba6fe2c955309cd69b097c3db4130a08e567f8e30d816ee6f03ab942776f48bf4131eab07f0edc3fc17db9eaa46c20cb93b9281861f24b8b0c2b4d8dc530fafd6be32e22a237319b79cb8e256f1e38b10b6e42259e96c91f782a13b081e194feda176be2b4b8c8dbd571588f37037e9c7092eae974645126ade11e0239d02e38c8dbf784aaeb29bf8ad660e56ccb395c695f1d881fe0d12ebc348b1dd12c8c514061741a1e46b8b1d5b9a6d905a9890eb26904256ddd921490190d65554026f65c6099b721afaa59529dd20d93db956091d1c8298be7c7aa4d3d7827ba438491a973870f143f86a118f666ba183fb7a112756e0d000b22e3aef8681c249114909f15441f2d47aa93669890d2bcea6ac2a95e6540299cedc8405fc9f2136ec29c5cd5873c541ec7e0a5809a4d5e0f841af972c71b0c127b93c65b691787a770a26f3957a2ea1eaa4d2d8fcc0a805ef5c983bc75fe595e50cf5bea5cf8e81bd06f57528e440e74f4591ed34ecf8b3840ca5bc4207e5372416c6da06f162979813b421622ab743ae44d71ca7d797187d49a950f3998aef8bf3cc814458d1f2a1c302fd78111af2c21512462959fff75904bfd08b1bdb8ac7f0e94039ca5384ec216fd49b5ca82e7f22bcb5cc4110de56e6abb63323c6a8b1b92c2d5b9109cf24619dc7e8c3acf5b6fd710912a8832744ece5102865e701c585784842af1d72ec1829228cf8d10aed3d3387f6f82f98fec8323608f1aad48ce1c1d149a4d1408cb463c7948ce9ce2c8e6870012f2bf3400053aa303ade222849e3e2a9abc29e1c18258d331203c8e9a510891d6873744a1fb6354815443b75521298d02b81b83aa22c3bc98d580e52cca69a34415c15573ac33a3b90c34caa018c94686a241f5c6f9724c136ba749d4b144a61163894d7d3d31203ead7da615e78be808487396a6c58363a8209606633760427ca031984ca0c9a8160db69065522af071f633e1afbbb76f2c1863d27b2133d68f0116f98f668227ff9f7d4da51e8a1939ed634379f9ba25356f71623337c7a561aa2b8b99205c299466145b877e9af0f0df5beaabe35c162ad80332e7fe69d0db24ad50c3c6493692fcdbe3b3b26ff2d9d29a70df267225b7f32c8710d62e38a59923a9321340e785f16ea7c6bb14dfdb140fa006ce637665d72229961d344945512ba724f9707c6e20d89a8a5c7d62e43dcb17c44e0db3c9d3930e25866985932208189043185b34be4b9d43f26110ee184c64b3541c35b6ae14eac200ff86dcf899f26882df8ee312e70fa2854e279026608c35607892b760b83c3715447da823aeec7310a4c6e72b4b4e15c8d38b56100a664a60d8f68d1b45f500e66ffdf4c27be4bb422eb7c6cf714507affcdbce85e1a23b885e2a1d3e62c46058db7af44a23c930f5606e8728e2f7796dd78a22556bce0652b1c5be56c10584d7d65778f91ce9e70431f7f031ad81890650065bea83b9cb4aa3017bbcb71bfd1ea519af77bc735d544b96ca83c4096b65702e5559b09ab9b2ddecc51e5c63f1fe0cf66c8982dcddf4af68a87079ba6aedaec965df507182872ffef1bb7367d5b9805260a90a35b5f1e311cc3949328443eba94b3e8338e12292311dc5335fbc1adb83736ffc6a1f5102e000a06f69039159485625cdce9eee88fd95c686f61f80131f25f163416aa510e32c7a9e9a3cb7d13d37693e2a89c225a6a50d1772698366316d201ddac401578a2a2af936c0d8ee9f92f3f1ffd1199e3110b49a6bc95d1d44d6e5467bb8431a8dd02ddca1b43e998b46cb4c2b947025a0b777fd17a983f18fdb033fc00561a7c0b076c04595aaff04f5f45c582595558824b769e8c2e4f9e0f81986e3e53088a1d1cf15c02553aef02047b9ab4333eccf8871d21c9080d3b2a9c6dd8326a9b4a1ae0222faf60046ea8874a9bc5ba7bac1bc8dcd57a200f75141655605bb875059afa2eb7795c104807e29537979a643bc8224deca0c028783e377a415d90dd0d21f76311c46a7634d9368824b001a42786ddc57f3bea8435f76b585207c998fb502e3d3023a72314d4b440991224744d50a00e82cf4c67d86fd213f980aa74f8b392e90758b230202de61d4eda280ea29823114e81d651b2cd0793603b9c600d6b6b8a94d08e1904b51a4c58467a4844aa6f9f6f4b8345c7784404c98bade5c9ca846a4ef5ac69927ae5040822df273c6d628d61a1bbdf971d26aff6d28c933dc577923e635e93186def5f4128ee036c45d2b83dd590865721506333839d69f8a61f23f03e5f367e5115e247013468ab9e239c84ab8d0f81eb176e3a7c037465e080147998e76f7af19e73130c79133b452fd31aaeeb41698c94c2680d1f647a2c4866f365d2313ad16bde8d9b55ddeec4db2b079de6d512f500db8b4cc1b8c7a27986da704f760aa66024118880105b330ef680c2ac94fc0547c7df85522f7ec2ee2ac2a0686510cc94ef33881e3a6ea82c4a88c0ba51543b0dfe439d1c04f9119b27708c6fc6a86fefdfdebd6167b38d410c10c0637ad3026429de67a44113180c0185e0407e6866550e966869c20cd9d9614645200fb834c2d4b60df498ba46a48d6bc7e45d4b118de69662fa2090d71cab8c2d856c5b1f6ee596a1242abef5c7866e702cf0d1546ab159020743a61f95193c255296046f6b3eeb73388e8bfd2b76c982db896c98ae3b7d0413138921f89d039bc34a41f520f3190a45c397aa5ebeba7a75c9183c27f0c1d62162ae7bf9a5b938edd589b83449041b20af6a9c52edee991332f441cfe6236033b45e7e44b60e152ce9a8714a9372bf73689d81f3de3a30840c62ea892451c78717843890dd633664403e9e58ba5a0cc21f90f3831a6f7fbabde68018d53d284279879f94dcceb98effa024661902db0e127956c30c6b3ea895db4420ef2e91eff8f8346d98f0dd7419f423a87a7f4e2f608635cc1a9c75f890658ed027cb01b379a6f7273ea91e4ff0c826331d193cbe9f359b45ba88123f264af73e08ed0e7a9462939d2a937232444ce0d6810e96eb73fd187c0319f8afbbbd17d9edd98f57a7649d49edaa860d3153350d268060f736b716ffc3d247b861b0fef473c56657d56346a10d7e70b2a2af53183af4472bda2c15388580dfb95dfb288cf8d54672930121f33cafb21bf8011d54c2693d8c66aeba231f95f9c73d454203a84c674349b896e3b0b032f294b803831cc8dd5aec85168fcc2acfbc7c1db2ef1cf487e90f93ef2b6a256c4bc4b2e3e91323c0d6d56e149447319f0633c7c5e1e60b602cce20dac025fcdcc1e14cdc66aa7ae0d13b042b0a4564d65fd53b3ee07686aa1f50a091b436e8f6222aa2a0014e0a1e5c0081813021e0687173b3e4c00ca27c86cb152a7010f924a4bc26a6a4a6518940a17a307328bb323cb85d7134ace1e98d42755424d9c50663aa7d4a79da88784accf1aced12c5fe49049fffe3b80fcb069758adab5f3e20f08a4822314533cb0360dc46c59ae2156422d63fb4a27789ca0f6f9533dcb240d43c3d21b69a5924fe1e4e45be5049543d8d3a4ae75b6d0f312935645bbd3bf73de11174432142379c244a0448e2791bd4324df61074312037725ecc9407ab1d178891b92ddd6a148f07e2221c5cb5827311bb45febbff889834399dc2ad12e7f8b1b4d7c59885f240a001a0580e45ee4a08dc2e795686968b49dbce34f83fca8196774b5b9f35c043a2d20f7978c795f25f3a38abca094740b5e5fb9fc7f2a012988199c3af41ff98eb7f0000c1f4023882bce4680e91a0acfec49ea6806fc8116f838df70820e8d4a8582fed5ae8be1b62c247834d06a5c73186e21fa48e292c844b75f8ad591c983ed92969f8ec49edf70463f5a97a985faadb482c5a874d3fa0fe6802390ab857a14134b94761a770cb23c2f41b89c2d8450bfdc181973c3089ab3ad2aeb49cc970413c2162166172abf94799d17b355494dd3c61b0b4f3d4e26be1545e3b83690ba7e6342570c703e3ba36d25c74aaf85969151aab6978afe741280237a9a4e1184799ae1e3a16b2b502c85ae455b2e638938f6930994b4444b5aefe8b66e668559434bfe16227e04b6558242c085b3ebdaa1e1a0e227652e7fc4847a3bad453c7dc9b94ed32b87524c91f1ee73d54c025822552f04dc2d4674236eceae4d05309a7ab6eecd2be6316efa0e1a3aa4241cdedaab7814492e005cc111def8e5ebe6aa1489cae211c14afdadc4ae50f3eedbbc90efff8ed5bea0d37ff0d96891af214e145c5056f0588179adc0f871339ecf0410ef36e23724fc7a431e00379080392612ac7fa35c8a75af40b1e4aef3c067471ae5dc38b09a03b68e50e6bb01b0356d5be957d56996ac959039383200a35255988cef9c23cc055eab8a28ee1525621aca38a3be073f41ee2320bdee80ee4ab2158948a1063f12fcfa30333d970d5035293c1a61c571413fd174e2061a849bdaa839ee8233818fe9cd7c7141b17b625c32a1dcd9f32f296d81d48b36afa04e8bb7273526ded28766b2e1a07bd5097456f745816de10631bafd8d4131f84b73d0cd0a8a0d25a5677e3830c8a119c7d7296af7c215715d4133c0426791ec0b3b45d220e772da5eed80656dfa8e992b667c8263fa2006cb29289dab11a5403f339f4d9f2af183ab2e9cbe42099ad2dcec7466dac0b0e565f3f649f4de322962d9a4806d82437a1aeb42d402495cf97ec5b97d421fa416cbb779837b86ec1111c1bedb2eab63a89ff60dc22a2a6e51ca778459fb21916567d5cf5ac3bf4b49c7392c1f8f2e7a096321ae854a48a6888d0584275b70651ca398e2791aa0ea7def265418e9b62d062c5cfd5eac34d045e95b83a91947a890a767e171163bef7620e36f0c786b431b544b84e0c84a58df3d575fa28b942f224ca09e10f295c5f2da0e33204995f0de9304070b8a1abc65d20cb87f345f90fefbe548328ed9a5897656bc99255461ae1d4e1ca427be0bc78de8e28a5393bcb28cea74d1e11bff9ecfd704525027eb5effe9de0c14da35e4e4d68bbc63caab9fea30e2613245fec49022decc681ae1f6c74b7450feaf2cd0807808d48068bf9e90ce658865e10771c06058bd36196e33d68e251871a4e21d9be976bfc239af6476e7592c893f39a858a7d302a5bec8e461044214e2eff6ae3dd7ab79193ab24c47ad57203511a5c7fc8f4aadb8f2cd720235b71b966b1870b20eafd9790710f819b0834b7f8614542065ca3d4a4980a643833e782c4afc647f7846c141e6b7485d1e0ab42ff9b9a0b4772cdf8e44d0980246929206f148841910523f5ad68fb0f8b0e36495092f57ff9bb24069014e3d96258824821d382b0c0e5e31014267b1c5f554bd800afa4e53710c08d3566f94a71a55a16463b91191411a07d6ef789014d0d36f9e1549d86f230340a12a649ca69ed3a362bbca069344a469f3bc696a8c5eb932f534524720e86000663253208dbdedd0cafa29868150cf6d3e072b76a40680b86c25a4e7ce30e5f36d6137e5480192208224176d5228d27bfe768eb89cfc7a192c649d18f6a3d73c6f36b9176de9db188b9945be706f745347b0ce356fa18d0f4406c36cdd468a70369cf6e662a7f94830aa84435fdf99eb18c23e3b261cf0f1a4bb0ad1b4d288c4614952604f6f9a32e8f21173ad5a0259330c04144fd6eb112ad577f53224d821a22025532e954a36dd3c619b5703b4e1cb23c2d68b4b60ac1901e5b5e16044d3e6d957182e2a5493a767465e3613ecfa118c078255c6a7507e19ed54efcde208262898207885a81d90552e84f7968468b3d19922d386eab8edee487a420e2e903eec743db004a601b4906c45324313bd75e2a2a513f8baa9bd845652b7b09c8b12a5250d5f21be1de2d3e2c4eb3d91342e1828accd1c60ea498f15c5dccc7880e8d45c7384dd822736376d49afb4ef99e3871d1a22b6e224965c8a1030b3c53e737b9b7945ffd9d2a8b5c1e34674c43045dfe545e0051ef1a295072c67bf10cd8c818ae25ddefd099b96f7950b286ae52263726ba458430d57b36cdaa0988d8703e03ff63ed552203f0fe66d402619829511e6094b13155e4c15a3e5b3b3822dbce077babd0117c24b96571c04c6a9981f4f668b713f0e2f5da45e41b3518adc48a2d6afa5f3a1a6adad9ce714543eca841d719c1b3069ca722a9fc6275d3fe9bd67d4940ffdd4ddd8174958d129b87c72b72ffd3a8bef77220f514629851958fff27804d22a3f7f8bb6b9b265dbd59c209d973248b94a2fef3740f3baf970545bec350d50048f51ba0c45038432161d2e41191353780458536b46f229e1b366d75311de7471a4d166cfa0687242a8f520e1a39520347d3cd4c9cf32297b6fc9dd2fce2fff9b0799da50f0a4fa9e219d8a7aeb788a9be8944e7301a92b95b31accec9b1032d962da64c4e0ef8a54cc10b8f1205edd867aa3f4dd0d83f40fcb78b611b61495a7cb051ce38ef82fc333b8c8655993a94e9c423048521de3c93f12b0004aee19f44857e7fb44d29cf9d5b574bfaf2dce19070ee57ccd9f9ceb61cb72b9b632802c035dd4e37c54951327a5ba15343018125ad354ce73e63ec85b9e07040a8d2ed1978fab739b4e3d45e35c8feb0f4fd1e6c9b4665fc37255a6b3d69e9ef7b771edd3236bb5e85bc2ea4c8da600000fdac15f755bd58b847b31d1f57e61a61abd43523c8912a04da42acd42bb578154bc5842aa61ac0c7e97ca4946179e95c2f1a5e40e22427e46d244b0be6cf1cc0cf88a2ae4c7b382fabc37fa2df6cdb2f06cfdfb3a4d54811628d13657537ebaa010f8fdca4be8e1bb80d3ae69ba5a43b33c7230d15e04b2467b13ee2c2bb7b65e949846f5750eb1ba44edb4a6ed5a082af41a8a8014fa1360a698a5a41611fac9b8e0771980919183e0f86a4eb92d8ff8742f71f93404e4cc6e1616e3e51e33051ff59764869633e1fc2e1bf551387b6630f84bb44845a3bac233bbd3c11875345d0fdd0584841018c06926184c0303998f2439127488673104bb30fcfb100f214b9fcacf2aaabf5cd1722560a9f535d037440c8c499d5692286abd2213130500f02a2068081ae35cdb5f04e48d60179942ffc552d86481f967e2bf3786b3ce3d80c75e52d1dc5fc2470e363daa5db29288056303142a574db82c1fcaca9c55f41325bad70c187cda97afb8b21954d3382831aa48e04d27d6b4ba553533e1a18f016c624eeab2dc9c00358390cd93313dbd13f89c8ce4819d91c367a4e12ea020dc16e0e4a3536bfee80cf42b4d43ba8a6ff7b05ef73990cacd24f473430a9e3b1ccf12aea08eae550f143f3b749f713d7fd7f40f30d0b51182e1212c09246371525724b100d4a7f9bb48d1909829da171c571229c7014383464f628a66b4d244fd6113283cfffe37034df66b68476a357bbb9f88058e0149574252e65f25dced8db03d0d79b06e1ae0f9a699e1dc03b0e450aa6887e8b64a73a7c27fc9d5b7467e14e03af8ec65eef191e22fda5814d78e79a0ab5b60a3037cd839d7362527c353e6460bb96c0201e26e12acc43d2a3488bd87430aab29af13567e455f1648c538d3cd844222d7a56831fe11847a5bd8c6ba8402b7c2085174cf1c20815810456485f917fa4fdd2f9e316045f47605980c77116445fe76b5591b6580fb3a0c2f8da950cf6eb7c8db30d0bbea06b9d3b047a697096334543f668b7ec7a1e1683ea6bce8e4a4e22d1da2ac6a7d14dd0c2d7211dd6c48324e3fac641076d0e73468621bdf5e645f0cf4a6ca4477f7b03f1c0ede9a6c0c21d0f0338cf826ccdd1f8d2e7473cbb688e3116ed3bbad42a9a9772622f06c1c46e4d465f57d7e8008de38bd33fedac90f25895ad066dc5f79f3ba9eda50381963a781d4911cb9f463205fc51bfad46ff08be4a570e0decfadd540b24be901909b5f9f08ddafbbe3bb986b075b01e73d7a356f6ba9d941ebe57ace5a78a1c1cbebe639baa3be6eb87a97801870bb5154a56b108f6cbb90f1117de014256b5c324250781a38874c9bd7fb9bcc048e5f45dfd017c4bdeacc749d2604729d481c65ec8ae6a2ad67d7c6658ce4b6ae0c741935c146663efbf6adaa37ae2517845ea1b9d5c5fec1bc8168f4ca0f9be50656a1a158de402475a271be32845dd203e3acae2a982ec6253f1521684860bdcee211592a51be8c0cf10d28ee2913cd81a47ce51fe069ba381b2c40d6f8726d0c28391c140431f15426e4e4527b28317bc84297848bf845cb0bf166f4ef6dd7d2efef94e23786fec85b0a842c5498596ef0ab8716cb132c684cb5874bfe802ec13a0616fe6e728114383afa15b447d1ebeebde8e6d293dde1d13b0e3b57c3fc0ed4e48399440e0dd94468d5da18139608f7c845a2608da8a523436d30d6e3918458171657caa593d405c0b026919bba123dd46a6e33bd6129e53f21fe86989702d41c134bbbefaa1467170cff1279629e2f0781ea1461902cebaf075caf6339ba142128a95f907e61eede9ec4184d32824f06e6193a2cd278fc24d77e77bb22633a7056586f95f77b591bf0f0cb79ffcc7987fc75d51d528e1d3a122157b500d8e8d12af989c48fc6e56dc37f1415ee7574ba81d5e42e33ce742fcfbd8b41e30c4490166a3dc99791aaf4832c7851555a1f477d7434c7635dd2a6a7137b480f1d2a8991c6ce845c371336b988aabc061e6930d0b20cbb30215b7087b23008496c407383fd506d867038d3cdd053ea3b0a1200abc288714dfd77c1db1f7b8b265efb2293be7183ccaf8bbce98988edb46a26516cb6e832aaa3501f79278d43f4f446822245154dceea8788cf36e36094a28aae85c59ad0c0f443d0fb1901678844b448baaf2596effbe5505e319cd0ba1801e8cf439c645ccf501202be28c6d512abbe0e01a05c9d855078c554a39753c04b2f81e8673c20267c21b4ebfe71444ccf6c5fd5cee165c12121285e273529b4bb8841238ae9e19543d6d9be8e1b5c11ea3ca00b5672855f7ad413b13993f17e7fdf1c0b94440f0b041cad035258fafb2b65fd044b85c22d91d7ffe9f24964ab985f67b654aa40451b7c2d53a36383de109d58fcda06c3ddcffb0013345b5bc0b72b63819a45f529fc5cf42492c485893522da9d655317b22bb83647fd6ea48d66192272851977149dd5a4a588facfe95eeea1102443c3e948d91768e14bd35ddedf08a26adb86d404b93bc9139a40108553ce9940b73aae4968eb700b20a2a0822913a8658024d33cfc41889c82c8f7956fb170e9df2adba90740cd1655b131251df36f6b4efbe32daadde5c9d5a1556a19b6991a7d2c4b774d008fce5a761fcc8a1a15d7358209553865ee4e76eb08cbe52f96925927641e3d2c7e9d9855d8c436a60db7e3197a9eaac4e08ba71ff8f3645c538f16832ac3191a8177752f6ee77e1e73892875dd78451df317a4cfb6ff5d03cced08f23ad05d834103c3d05cd3af949add65acb93fa3377e71973e160f858f21b82ddd01808712c20b037e6347673b9e149c02157d1fa72d0b2db38bf85f8617d33da4437ba8149950ebcd63b6e6f1694e9c1a086214b798b4b5b419fa7046691acc41cf3b98b2ef4ca5f3e8ccc5103a43a436e9c7312e6467c05e2de8b32d4ac729acc9863eb5af525b9b01d1c150b2b8d50cbea3b31fe69dfcb64d5229e2b6014ca55af8c5df0979e4650c5e70c6637572036d49c21bdc1d14c11ed0b560dbc9efd55d0f02ad78d8b2ec12273e3039d4d5d40940205cd3f1f16e6dc24bf8698a3772e27474463fd3b9ac8c660fe3c969b3b71b745e454c5725412e962e78537efe1c7f22488469e4004a99482e38c2d815e7186f007bd471ceb000799822d6b06c1291c1a0b5926c96d0447291a6ecb2b0611756ddec0ab70ceb2042a2c1591f4504502f00d2d0a0538b936ad9925ecd23ee91a8657d5f4026e2c412aadc3c59db4728fa6ccb121944d93cb166bb6630d255529b5739f935bfb98bfc3789cfb418a821046a6c9f2a0f0168aee44a0777a143c8cabb0b78d2e3397d3404fbe11c24fc9949baa767385c3d05bb596a636d61a1dec560eb68cfb42c8a3190dd56e2f0678fcfaf6bc04b8b4054afbe2f52911e007030d2c6e8c62c33286be96f6d3868a4786cbee2651107bb921c8a762fa5303a46602ce644ff0cc480734b7e42da124b9d7b892dfee7e5af75b30ba27ecce8286f443095c3fb43e806c37c3ff5a4aab8c8c1af56b5590f2b316dbf2daab6dd9a20ce1b11ac055cb70497027969c2155d8b7970ba041a015ae22c2c8d480875cc79c8e77a7f4c36db27db29ebca2c2835b36025340bb1ae6681815726d967c0c0d76f6401ffe49a4704e20be3ba1f05e7e54188786f1652d41aa1cb0a4876624f8b88110c0f9f42c83741b8d68fde14cab4e1da72c4e670ad2e81697ceb8a2e6ba9d7a3b7bc64871437cf7b73a4758668a0cc577e6cfa5719f5ca5e8c892e0dfdb22552cac90feaf3b1d741a92bd9f02dce4e70143b6bf8cfbc700eb247470c0802d4f7137cb8a4b774ca2fbe20efa3b36c84a19cd8d1b9424845291b5445ebb8276104aa7cd3879cfc96eb7fa6c28422e08acd48d8a4c13e1e19b85f501938f29f046c00afa6a18aab9923c3edbe0609d3e981bf6dc43d8cfa9d306aaecf728ed37c5aba1f2d5e8da49323f01e3bb3451a0334bd67c607383d2aba3e613cea68caa58450a8277eb9e3a33822442c31446ba2b8d43304a26a685d5e1c98d0a0e453650c8720575162b5817b46e44afc952fce7d99d7ffb8b49662ffa9a9dba4b747e7522fe6bc01d2408070e3341f181016d41bbab11c9e1bb54b1201c8c65b88a4c4bdc78e6d304b09ab6493f7185d4532966904a16313bec0285b3b746ecb974305b4021dcc1ab4b8df89c7173fbcfd69e007d033d7b6e26df054c0a200763f30cdbff5f0ff872d32ac05aa3f672f58d1078c21312c8c02907052a580398edb3e942c8864361c7ef6a5d94538976a2035d31743f7edd1d0cb5da23db09a05654bfa749e6e027ecf2d0888c4fac30df2cd35c890fb7bcf87d2833be615b70294874adfb973b7e2a1e37e9f7be691c84f09910021e7fa09a946bbb1499649dcc8f3d1e3076909cc96ae535864d4049ff7e3075538438506d289ab1b50f55fc502362e179d50931300045cff50dd44e0c48715701e2772bb29d5bd4831d357dde2bd13de4b8b4aff6c3757268b8ea05f42c0148c06d53a303375ee75c7bbe0a1abccf908a701583ff4f9a1c9a99788b0ed643c6407698c47f91e26ed328b00423f5c90245dfcc7169a61936df6e918f6e2c141ed971c42e232d38f33e6e120709992e0a20821625e0fb6f7afa23e66a0cc118600225a4386413c96bbb4414f92b94aebcfc31b90882bf24ee5717b010dda26afb10444b66ce412c4a6dc8c560e6baa8744b0c7a6805f8e8bc9bf78c39146be0d94b9846a8dc5b2037ec8e56b69a922c07fbfec2455fd1f80635fe17449b861a52a82f4f041ba3d9b72b3c091e9ee9d51d6c36fcaf288a78b3f204b44409aea90863e428242171ca6c08d030424a6c19e6cb1088a93a25c7b39e2215803218005691f4669aabfaef5125d8212ff4457bf25c635a92fdede5fd252d245e3343ef5c0eeb042b5b9ff5b97cab22ca318d3de9c36daa9c00ad918ddc938cf8acf71552ca07285c7c34e00d9dcd5578d3efd4c6055682d86469eba6167c43124dcac4cba4f5084cb84f94f52d1502c9a3fd5ebfc472eb3087bec4f008801a0fdcccd25176f90017eadac4e3950a1799743c2b41c9c128bade0c52354e4114cf3c92b15d99168225e25c5f63cae4c144a1412556fec8eabcfdd807bc6ae9464c622bd8f7b8254204b92a964e0612be4b6787a18eb4d6244c57caadd7e57098e3b2ee2e7bec42a0475619692819bfba96bb89d4085623a4149934c073d35a633a50458471ed4c5fdbdc0327d15f70aae219652eea347b77a6aaaddc7ef7819d5fbd9bc5327c43fd5cbb18f36daa7f106ab6f98af16af975927d59ee7131a9b650485d831a31a51806c33a6eac977e2d4f69c8e75a29cdba127f12322029a69ec48dc385e6c00b676e45355ddf456ff17d1edea9b92bf54d3763313d087fbd36e2a8bc4257222d1de8d87a4856d51133c3bf15858e6226a2d7f9fd2f16d449de58ae789c7c38fc2179eb7b0ca0a307a20428c9b5b47b13ab7ada35aaacf6ab4870b3044802fdb9358633b8de0e0528291294aaa89d3b06a6b8f06ca0de7ed81318e8caa3d73ad1b2a0b1df721001ec7f738f70009f9ed2ba5cd535d5334eccdc34712fc299fab0bfe6fbf4214280cd44338430eb296d390f37a795c2d9ca747707cf1fa90762b1963e26efcc29884044e78da2e9704f40d18fbdb4c0d6e652d6b80cde1bbbbbfa8875db3d10679d6d5fb87c1eac6bc6c1ed9aa9494ae7a01b02302b7e97ff29a896189018ac0308be4ec4bd64f4cc8ebaf7fc7be51c90ed5da40ec4126a99aca4f159d8d4346e80922a6200363539b0e009a169183b319b1934ae9268661d2220639fc76924a063954febc4876f24c9458aa814db088623bfceca32903bdd2af926e272dfdfe9114611c2525aa3970d484a7aa12fb29f69eb40eb63c00171f237850a3fc9875c1b2dc4a838c7d33fbf2af119a206785efd9da9e91ef34f240b422eebb551842b83de58e7024212f046a9bbaf001735b45a04ab358ecf4db3b05ebc74a3860fc938a9b25db4f8a7d4eae124eec82a00f5aabc2b789752fe3b791bc733a0e80cad185893da79194195317545e38763d4637a031e78d98152fccfc28e640227925d41686a0feba15622ad5e45c90d5bd6589b62e993c0eff6de0a30721528be7bb34a520e007123850c15662cf5b682531963e88af040b4f38c22cedb57c9aeab21c9107332543018ba10d67201dc2f6753c29ad8db1c2e179610a4724b2e67f24e224775b5cb70ef0056e7c10553f427a86d4f9240b70b9b100a011379e0b82f8836d5b392d013ffda19b7cd299e59749fdfaeaf169d2f5ef4f1d2886f0db2eda05310db408c2b4888242e6182129982151290ee815695d5419fe93e54b68a98aeaca8e6b887e58ffaf2a0ed0a4423459294770a905edab2de35045fec6906de361505a111a2410390b0605ecefd628c601934a4d83530d3018a4ca68b242794607a042f6a93d4f6d1ff341c84e69456dbe975cefb0b4795286f2b0e2fc30ab3f4e7c3e3453956bbb0a0820327eebe6e65b009dfc4455773d836de332a72bde6bcb4c3ba2693299f6c7a4523bf2b0df03c7fe9084e9e3a870e91896bcc4ee71560066ba6bf30e26ad48f99ff7349d1b41e2bfe4e8c99929743acdd1498e69528c029e6d8db5b2749360037c5b63f4c70640cd19608fe7dbabc299a94b8d4de5bb41d70d882032710ad2802047bf331fbb4746cb832a118cd9a074a53ca0f4d79bcdc0add174c77254cab2cc21e6a7cc9ea903c591ae8cc78d04f27b69013d08ea270b91d769629043b87b0cf4dd157222adafab919c9684f4f0ab346328f1a5d7287582f90665148ae1be64615ecc24bbae9a10a7aadcd1cd6f04de7454074fb98b306b5412a35b56aa5b9edeb7c27e08b131cffa5c8a7f1f5308a094a6ef5fb6847c94f2f0652dfcc8cdb4b06d4424ecb6858abba9d3252528866607db0dcad932619308ce4b750dac57a7e43e56705031722431f6599134c7b7c6786c946131ca02b51fa9e3b890c4970400fb46ce6f5c22ad1b0bf5bc9320bfef586083f47d9218c9cce850b1d76b5e5af9922cd23b0633e9c1e608dd148d20e02856a55598b2b19076d0bea52fe1da0752a4bf43e34d50e7198c8ca588d468093365bbc1b33fef9fd0f0fc7d91736ab918c8f91a680e9a9a6d83e827f77c72b91f6d38602778455a1bf27396224ec603b8117d91c5d83dce8021061d9305a702c4f721b820270a3b47d019fd3f901159021d3da41a5d155931308ef900f18072d19b751b4b8e118dda553594deed5a2b1ee84db71ac3cf2f09f45f4a02081814460ebac9d1f6ff07f81d6b401a0a8886c0e8865405ee683fc1bf881a90040396bf867408244d73afcaf0211c6fa640fc7dfa4877b658a8e081c186e22eaa04ca89231e17d230da2abfca443cc5dec41fdeff3565b89c8b916c7ca06f8becada61c17c0189614919aedfb0111001dca75815015fe4c7cc437a21d75b48d831213ad49b687e9731c701def1f9287f71c37ef0f89a5fbace96255ef48d30ceaa035cf4c7b803efa8a779a158930718d5b0b4903401f09c57794b54496c9771ad1fb751f47fec88e20027d32dcc4b423d972ee34257af0a636969f5e1f4d4a3e3ffd75d120e59061f4063d3df54b67f1afa1d8355f9ce66a0f1f8ec8d80d688e763ee2d8bf48e4710ba62a43628d8ab8f0b207c16bbe57a2934e9f102015848fa10928305c4ea96b285782909ca2fabf6d217115753bd2718e4f41fe1c9b3d86d07602b5d59b31225bcb583c07cac5d439074d10f92e69cd949ed1f62b723cd7314edcba9d026bd37d83b67e91f1b6501a8535ef6e88e817f66df0f198a4800c63a08817f2595cb081153e0ad8d06a1bf689b4732c23379e2c87ade96a98c79d49b343d74f697dbabe112db1aeb3983a41fb2dc9a75dbf04bf4b24d29d642a1107a970c10ad73f8022f66a8bd7416e71bbb717e9ecb23bba8d9ea683259f2f5d2e5491ca572315ef6f779c030cd296226026ac042100f5c41e4cae291a1e757a5ab4c6886681b79a9df572cdb7040eff0959ddde251d523e8832ac685a1a848efb6c7336793395cc2e7c6f4f3609466dc302bb6b54490fce0102ba64f64d0c12bbe09abdf50712eff8d71677954b0ca5be45212284ba6891b60bb4569b5857807f0128ce324977e708fce443b8338477fc19789271f04f5e98f32ea85954112dc52f2353ff56851c63849a8e6c15e385c400066ae218cb1219666629d1a671176084738b8cf7fc8ffd5d5b74249fc0565f4228c8f4e5eecfc6723190297390b7e46910394f7ee2ffd1a76ab404a605de716e28c9eef99cab75fe8d34f7c917070eadf6fab671ad98042555bfd5545c89fbbe4d7451c428e4b79226cc872eac3d656fdb9e4820bc3d85250f5620a448891410cd0f79a57fefadc1a551005e48565d772f5890cb2e7e5992659d73e36134cb84538530004c0637dbf7d2046db9303d844e5838646dfc3f385b5e53a98a45265a16b863724347dc93861db514db41b0d8308c808493f498e2347cd9dd33ec8f7b964ef509e47587bbabeccc6b33b3dd0d5358d549316d28f542c9368b0b0e3773ba4dd1c66474a3804345ef67f8482b491e1b6088c78c9802d51477eaa5743544992fd00c70412e2cb664dd2b2797db67469f0eb19c5973e4ce606364efea8330489572d75944b3b4cdf75341260d6625f6dce2ae3a059ec75ba0618491cdb52796f989bd6c856ef4a2eaf241611469cef7cd669ff09ebb861b77d187f2cc152bc8c69908fa209d2bd0beab1d55731ebc83cf2ec6773a0863a06d8936e290c8e904d4064d5b01710ed7c958d6c9b694c7e7660b026e9db055748b58e057d38859b45690a6ee924e3704950897f812e8de8f07aaa82de34211d25b58e04d95b01f3528450907be8bb0376ab8a823fb106e33c16378423766d0a9ac7f26803ed1b75b4c22d7e0e001263ff0dc219adc9622e603944528c79e124d3f3cbeacf4b25e771510e1a1d1e194a907ff8ba306a757033ff47068c6d4c0e07d92f8149f3dd55fb3e0971b8d22a6f56e8c9d0382d50e9cb8b5333bc5fc24e87fa589a78099731fed0bf2e913c06330baaa493316cb5bc5ab58c61e1b2d4bbe084d2a80c1960786ed7b4af1887e61222d5107c63780cbe5695495b809a14864d5efca2e3d74c43537cfb110f6cd069b2f19486313479c6af1414c913e4dfe78763bd6b370393cb5907fc9d96e92c97002ae4803cfbe90ac99324fc6d20fea31097e62d3886c7223d61639526d7a87be695d89640ad358fec81bfc37e9766172a1be8a276c658accf050b0a84e1b4418fc4613fd3322604ee34317322a6404e64931879db0bf6f03f01cd4b240bf4a5c66d518a3f69315125e318671b69d7fed01d5e1f6861e70fdaf7fbf852da15f562af8a701a0e081609ea180eedee1c0dd2e9eb1f4a947db9dadb623a7942109ececfe727aaf19e1018bcb34276ad50b1fa7837a909d01625001c8b8c50b7c2635a6e24667162a8a0a4fd045bda6b1171491ba8a60e04b7f0114070e8efa3e0a30ae00d64b76c22f127979187103b6f40a5fdd46d7557caf4e61fef0338377faf62e5ad908fb6d5c8b2038a91bd5b7db0f5bce9bc9c7ccde88501b52679aba993457a463bc7b4f67ca329092921126e95511a9c515d1ceb606d19e7771a066756fb8b3c5d86c4e6976e7b3c80690420bade544f92c5f21b0ea65e9e8ca803c4fd27ba05b4cb32b9d588eb240ded3c9d167c5f4f364e1821eb8e4a2e641a6f5adfd4b80e18f3c6e18ab2db260bb6cf041cb0f2b0c97c40a768082585874d0f163307d6d6bfd2663019d6d78080f2c51a52a4895baab1a16d8e88205dc25852d0ab0d0d9edd4e96008b603ec91a14baf66c2f0344a5b6cf844504770bb5abecc12b458c856d0ff2e2e862c9d17182f8eaf6a30ab5dc07804e849f784aa32639910f7dcb1a5c68e20e9e727ee5e7dac797364206853972bac566ba755bd34a44b3b6026c7077bd34cbd01c8eba5cc80d279d5a244a8102e361b7b96ee41c87810e443e320ef59e211442a8185d0e234e15b4cc9bb7d985a5430bdad359ac950ba211a796f85a3d41359efb9d2937d393b82c900ffaa6747166908a577428ed55725932910e3cf45cf9a2fda522a38c68498224bb8448c9974ae15d10ee4174301dc52ceb00a6dc885987a88201ba6f2a4b6ac90b86777258eb3d8849d63ac5e5f1da9e11c21ab9c3ebd5edb3add9df5eca75b41a612515111aa4ddf43271db2dfe52c69fee7ddb6f3a8208ba6459f1e4dffb52aa134125056fafe224c4cbd238aba4a65b59f340cabf921c851b92dd3d874674a27818c782e3b941a1510621eba4bd7490918291580cb556ccf396efac3cb472c79704f9376ed1b3b9c74f6bb75127b24e6eb5419be4093d61a818c91669d29115e639faafa75f7515e91174e82feb72bb690d19faff458e5322bb6d2ddea4c60d596052b6ea586954fad1856cf096d1171abc90baf826e1ee35aa9eb8f7e9e7517577119b5cb13d737434a3617c7e41cef75cc35aa68a1d306daf30c0bb14447a61787272bb06e54d59933425ba1cf438b406b0e3c405acfacb39884d26d4bb61c3d124042517229c609610d6b91a5d18a5c8556239709a2545caa6a6acf3cb330e0ed2f6c8f1772a38675e221d7f14a6692b98c103c2714358cc65718d154820d799f2ccc0cc42bc7a30d9a394aff1fa305b05db55c6ba8f01dc6fef02a7b4f5ce68b06e0eab910dff8ee7786ce24a8ac6e095157c88fc18b536f080d601fbc5b948a9172c42d5c94c4c02e5b5457e6ff07904237e3a6747dd35d473e9e83a527d18ded26f8fd72ad3af8413b52eff910df44d63174e31a958fe8a444d43eed5193745d88a5e827e6c29fc20c7e338a2d86975870feb13b25d8497c9bac70031fa32736c4d39a170002e49077a185c70cecc30db6cbec2213d9694bdbed30794d32deb5c1f490357a5ef96080c3644df04c7462b11170a22e31f8e9d2048806120ce80df4feae37f1eb66d8e98820b60c03eeda4ac24c8513b64c01811218e01179196d021b633750203308c7b442043c528b07e69b28543c99d1857caaf4a844dc998cd30dcd3326228eebb2a2a4583a4c8af09b21c612491e4caa6e20256021a5da342f9ac0633251281ad41da641dd42332de7702942dbdea211682a2671fa44b01d47a44979642146c719174b2b692c07e3ed6fcd6874a44e2521bb7b84ae645cb967ab90704aed3ea61c34ad852a747c8861aee6188099a61aac027398501608bec07d44b15d1e7b9ff6b1b7921848f975005eccca6708bb62f9b0912de27e769e7c60d10c4bc76238e6aede8a4174060d02273d144c0e07a76bb7a3013798ba84047f10811fa469afda4c9dbdb9e06e4f1e24a4d4d7752c5ca8846fbc25085e8dbafb5a3f5ca006fce0eb1d8b49695f5cea12679c90f85de2aca7bb2889c552c53adac7452bdd4395677f60a89496e68b40f6710daa45688216347e36480d8d401fbac2df91c7559e115e03fe7616632412d29e155a7ef0b2b3f91afa14d67bacf22dc91864a67f4a070e5cc38c20e8a0fe9fbcc09540a2b654cc22ec909f9c253cbbb023685d01dfafacac7375fbc49a1ad2e941b8700983fac4c9672cf0fc604a66be15c0cc4d3e174ca18c7d91ad5953e4930acb2957a1ee9083091d12dfe0da6821901e520e6a9561f77e5c61a6bb64e51edc89fa67df8eb5fadf49a9e367d3b61278d37c4ccb83054115e681a5696fd4fc07bc3ec8534685b91dfa05165084993fda098cbe32f1d7991ff51ccb6dcb34711ed35b6be558c320da249422d2e63dc20bd345608a28e82236d6a3ceb584de56fa54b800930fd8d10ad8409d7c442fe7e63787e4ba070af6d77cb070933cb244152b0ef4c43605c485cfe13902422df4353bd049c00eb4c0ec7f1630ffd4010a2e96b5463ee303c19b5361969931c08d0440be899f7624012307050a32c163ff7dc5d04571842028a1d6e18df43dfb5ff85d6fdb393690d13c7c34b36fd2eae5df4d4dc63244cdfcf2b4b3f8d582bd3cfadf71181c60fc6c97ff09d9e5a006f9fddfbf778c3d9b597d3e1ef0b8fa93d19b3d2fee4c7ee3c8274509c64399f827f4fcff1fd37fd742846e7e77e999a29d1f62a331234f28a1b0e9490cb0a8e2825b65a411007184a5d16a672389e5955640ceb819404454fa04d36aecf10926103856cf6d55b0cc9560ba3d61ee0509e4ee466f90dbbb3f4b05b3f892c35bc53e04f05cff7bd10a24a96900500bd6d128ebcd024ba42c21cf8bfe31bcd759d812d6a3fdb93cf7edf58ce5cc1350d83c8807e983c9d2c5b50064786e588ce713b0ea67a336f5525fc01678fdf0b65c28b7784817523d2d8adffe635dc08ec2f23735b0d625f059eea27460e4149d587944e2662867413818f8812d779d4c2d4b3214f0a85e040b42069c7d4a2d10b0122c600317e6e8428cba048bd91061442ab03a0dd665b2dbc9ad0f26a8805c1e356a6e305c470f45a12ea679c12bfd455696a965816760532a797c78944903b478ee9f3bcd30918bd9fa3ce9ce87dcee7f6f4d6fc85aa96724fe3cc8dfdb52c46f0b5d5b4d66a8b9b24c0df50a2397fc15b2904b21b2fcb246161a6d0e4957c66eb8965fb189a8404de73f43d63928e9ac0365282f5a439f760ee6417cfba5686281a8d91188df5d58170a467c86729f304cc4e6b461297d5a8e6e3fc3694bc0697dc1d6901d7083913aa94c0aace52272c29ea0da41ed7ad7deda3cfe21e02daccaa07691dd3caa9b78b96b4470cb30dbdad269cd1a59066f3573a9f86e9048a9b8d27b24180d398e938fb593faef245bd311422c7959298e0fbd6d66b98e3128de7ef50e39050744c47c124ba0d27167ff1e00c7e7582c7d1d8975d3b4b5f2f548667f0ad7b1d1d1a32ae093223817126c728eb18d8ea7aa22cd35130f9c20349a1bfcfe05f76e43d448f25ea3ce8a2635ae1ff61ed78b382f143937f139d5e9045b037c9f28bd4e3c48fa690aefa38228577ea27ca57d8042fe5252b402eb3943dccd9dd7517517663868fe7749f118694e8064386e74d40599632ea2f86fde8df74e993f6891939b69f18a6573f4aab0c6117ade3914e174c68f68708c7f639d897a7f597eac3a22a3390e088240ac060bdc4f18d46f6be980ae63ae4b1442219050b2f77b84193a91682c24ce1e11040c3335654df02939281de97e0fa19879e1715339270d79da00791109109f675389550daa14c47b31216dd54586d2aa0d27d5fd6bf5c0593aed818c7be0b85d3cb87be1a4d1b0351db6899f169739d075af185a0cbe8bac4c62ea442d2b46a5e7dfe8e0fb7d900f4a11f4157882f8cb21943e3adc1d58253b5419f829570405eec0f7d91323a940d77e2e1bcabe76957f6b109f540024af72cfcf012930809e5493b94641599cfdabce4b3d97e76ce529ff40618bb326a86cc0fcf6d831af95c717a2ae3515ff788a39822d6b34ead186fbec6b44dc2ae0e3217802547e0811d23ccd7a76a9ce6bfefd832997ac37d523e294df9b82e9c8732539be04d9578115de1ed4d948650ae0bf1ee0ce33c2c8c727753cbd3ffbdf068f41882196109a5e39a3e4991823b20f88cc288197247045aac5453df65ecdafeee08def5a528b03d61004ff24d702134dd1b47aab506dfc03f5254f4e1b6d741377251fc80aac0599dbd7b826c941152816512a7e09303191b09990a24d66161cdf7825ca8dd7a9a439600966a3286bdbc3e7785d325e4b4419734a9aa2cd60e9499088ec8fb254b9c90d433105be0b3837f57e05fdf6c51fe297c8b821bccf1ab0b0ac607e5176f350966001724bc9dfacc06036fe2201563eb54d8838336608285d08f43c13a245c58a587259f18ed886e9e3d0d897ac0d9ccecb1479c473aefc6b354c6e8a06f512259c578f279cfa064e5d2158a7b7173229f50b27dbf7159d8960ec01fc390dddbb1196ae93d522b4885c3aeb884fae9aed5228cdb6a7b094db839a075b1adb7df802bf60ba556b72494cd668a83dfd981fe2a3993f18effeeb81cda1e4b5a420a055f04f498ff0c73c253c26f160864d3f0317250355d8e024ff02194b165f10a341ffc22ba58c695370c858665d97a18b856ef309aea0173fd1f439c32780152a0f937295fe795e7bd88b9a2aa9daeceba208635d2bc27025a7a7387aebd7696c3e2c6bbeadcae97f0244d023ca66e1671b1bc8f817402a5a53479cf1d3917fe2f7ba132221fc5c6436412c1b93808f480116a04f23009b33141784d67ba615095ce93e445e0afa4bb921010de4873669756b4edeb40fab71956a2416d00ff9d8cdae32a71e7b51c2126041531fffb6741de31102074709a50fdfcef5f22743ef81d844f7c53e72c033eb7588d7a56bec7a0c069795b95ff1deb33be3b800dfa6e3aae9b3aff3082be39601ad83a1eb38f31c774ebe6f0cd0bf5ac953cf371b19c51658641957d118c91360a128ad43ef4a6016509662dfed7e5e90568f5d041e72b38c63287eabe6f41d9dd017ff52a2c90053c0577d01d8ff9eb6a3dcb473229d264f3b0bf226266a6f6e21b61c9994faf76eca323e694eb1176bec655f36d9c469684b40b03183e32af91e5e63cc9d2a527e1ee588550e9123be0ee76e98519e1b4d30083797730aa1c68e90bc3e97d6c3c8dd838eb2863df2f5e7c9b8c5a3ba69aad54baf1df550badf6e215fd65d7ffd099230357b20f7d79bd5e1d4ffa027b9c980f6d3c4ed178d09e5407ff377d286a0aca84fc1365b7ebbcb1c931ac817870ae71b035766f84300492f2c5c509399f6c00153e89e1b06272fd7fc518f1c1763bd7b3221a8b265683aff89337b13ac3694dcc63da6cf40147b8682c3071edef21ae9155d95c3f6435b93fddd8585fb1e544306edee049cdf680b83cca9e739951bb38bf7b971eec22ccb4f221e5e82d2526fc4d397a9e9ca899d87269f884c8551099d2ce706dd2153fb02d0756a4aabc4545a6776b32afa808aa1dfbaea77e57ea19839521ef4829845ec305f9d6750f795836ae762eba90a636dcaead63d0dd939ac972b2f0dee9a412c608a6d7d8e91eae0c30151d0e75e68f990edbf549de1410ca95e21a02129c5f4fde1aa4aeba2fc715cb8a22f8063208866aa8719dfef7c5ed7195184e78c0037e3ec1421d97141df2409a3bde09cea09702d4e7fc2b4fa19e3a6567908338a34f2d0fc390877d2eaa0e469a54485a1122dc9a1332295f6eab1fd3881260fdf15c1ddba453e50c3cf4463e0e34cb72fc52700740ae09a79057b4841606718c8a7a40cbda849b5acb6028ee340bbbd3f37d9da0c567ba8b51dfa342487b963c1f09b00f0e5c54072394d603f78ea10a259b123d419cacfbc5bb852f9141c98d35939536928a08cb45b3c56d2ade15dd619f542f037ba62605ffba0b589de57773088b0b5a65e4890fdd2ee72810d473c68c4d8073feafe076bd2490b5692b7e25eac60fbbf28cafb308965c837e74ab3748265bdbe4bc38092d4ec5ee8afe04699cf2cba46082666c8b9d0ea57cf05e3a67aa6456d3f51d0cf185b3fa5a7c3fc2f496558c54b4e1dd291f8e85fb56c620ae2bcfc0a9f8617124de997bcc3ed68a42367eecfcbebb86329de5e3b671a17eae0190abff5429512b4c461180045f766bfd3fc6321d885fda4add0a1043805944140756eafafae96f09440448fcd92f068d27abdad99b03c851cdf2743d3009048c09833149f22fd1aa0d55ed9dd53139bc1d7f0ccaa3a9e1e63bfd3e74cbc64e0d92a52865630f05347c82bb8e00d2ffea272ae76e023331765ffa32c94b109a7f020c5840318a7f08285febca267911479bff66b5153894e81f935bce76e9ff69c7e22fdf7dc80914af6a787072ec5c0687c104832f7d48eba0c0238b5b063ecd41b23f6f8eff00e1ea16d623e9c6b0922411de3fcf3aeb6bec322073200f570d442b351ea0831816685e9ade748e5bd59cbbbff66b72d4050c7831fbc2bb932cce2c26207881fcd5b886f183c93d724a5a1a9b8bc8576430a194ca5207805e8705a077dbbcc192c13a520650198c03d58c188962511b2eca9c3182ec79c585cc4be10d9ee1489bc1a44e2449f78a5bfa781210cd6f17f2798ea62ccaa63beb6620402f93ee75575b69867936e54c75e36143f561bf746d02d506d23056ac59df63d2bd000085e55e78f6f782d5c98c200b686d413b8c44f5c9055f61492d06d4f9ba6a1dc761143ead1a91cb0f5be43fc184d976071004734fcffde6a72df958cc99182eec41040b1b8cf9ddf8fa7c48133287b14c955a8819e8cb0ac43078d8af4394424307b8d67500b46fba72fcdc3d4b91c2b1af0c663a9bddd88d191709df973f30930e691dc19039b5fb5885aed4665baa09e5ed01b45b02f17f2c84e7e24e4f442fdf3146d01fe2841cc3df2f25b1a34d5ba9cf89c90a4db134a70acc20a061409125b30d43a07ce496f0c2ad4454484c61704641686821e669fde21bcf63ff65ec906c1ad827a7413014d6a4e09d5b2248c2b9179b944c84503f84f983a3e2f3762166f29f9961b1d72c0265050e632de52b2ab4914c3f72d25a0512e379279d46e5e8c9da818e3e790eab5c03614e9350a43e06a2d4931f64347f24096926fb72bb82ad672e5a12b822a2045f7e8dcb619ad2d4dfa9ff9c7f1482f045199398c101c8e0ab4be2fe4baa67c9b4262b733db68edc442b8a34f80c0e5bc570d1681c6a6092caf17115ea9d435c35711c7b5922a41601541a0200e2f1dda04b5aedadbe2dd58da131fe72e4b0f49d278c37fc227e5da6c691e9ac05413852ba887ea3520705754f7a7d000be8c7f9541dfc450af4b0386e8c53f3e136a07953c919619c6437e188acdb41b15504b36683083ddc9ad68ba600efe64b4730783acc0c5574b026ae6215c55317d2419d97b2d34121f22744fb5112bbc710ce0014036b32f6aa9624e827130d4a5955a82589125c254f8c61d0e015bae6b12b2b6c5088510c9624664622589fdb384688d97bc975a933ec130afa4773c529a51b4cb2c0ae7d63266f3ea95501360d417adb1ad24f94c4ab185a4dfa12da7ce54798c54112902177ec53a8915c94643424319883b0008ac27b1212a7f05c9c64218a3256e104fc9ecc95a3d3da760ae745ed8458cb41c903cbf295c1428ac1fd94eb4c081583e2556fdea8cb68651291d53f337b81dbf894ecff3692f39eb8ea3c74c03e5303c5351800d4639ecad0faa59ba808c285eaa702fc2e2b809005c739513525bd65ed031e8e52cf50449b4e824ea5f40c045127b98743e89ea58bb273ab75488aea99f243890108ad3a5de6a30cefec7a9dda17cbaa5be2bc45082296d69fd488deef9189c86d70d414022bb7701191b74f06170ba78b578e48012b72b1ed4ac4501cbd5f46a0a707804ee45b7177ce982488389f19f7a9640d140503aa653272f06056fbad700956bf288172d3c88528db9f871b0ce0e7fe6afc2467d853296c2f0189b9e0ac2f12d050417c61a28869112734782b10b226034d721718035ccdb00fbb29a58e30d192907aaee16c34cb1eb94ff4634666eba44d12c9548bb8cc25e3898faf8f374e43e8abe2e98ac114dc2ae485fd2f2ee56220a2200009948d036b8333c65f2baf31291a0a0b77bf45bf8608556e1837448a0b2f8efe5b59b41c742120f33128e26e1d7cf689f5d79251836a7c5c9ecff2a443e993cae6f2847c0fadbd018c3d1d3f33d1ce99fb62db006dceea29cdb5ee6780cd473637fb69c015860700642916dcda1019d55218a3dd6d0188c7a838f605de474049ab587c1561058c84c73905d9aa00ee066c95c865456130a953ffad64d62afada50b73a739e4ab9078b27221126d1d3d199cc5e09cc0b3411c9d86bf8e19c2af734ffbf5303a1cb8c6b61acb2c0d412393b69b8888881099929401fd0b020ce10b41efdfef3cbc4379af3bbcbf5df2d893f7b7521ae6e3fd2dad6130bcebbcbf3d6a580cef6f8d6c51c376de83bcbf1d6a9890f7b7420d1bf244dedfca1ac6f3fe7ea5613def45dedfad1a66e4fdbdaa61471e26c3fb0cefef561a4680871580867724ef06787f7f6ad801dedf9d1a8680f7f7a68625e05d01efef4c0dabe17d01cf806fc0bb03de1ff036bc43e0fd7dd6b008bc4be0fdbda86113206a18052af06e811b1e8724ef4ade2ff05ecbfea775cafe433ce6e433a0c3f7787fa086f1787f270dc379ff270d1bc0fbeff8184cc77b8e7701bcbff01e80f79b7717de5b78b779af79ff2aa56138fec6ebdd7c67c1c60a0da379aff1feb5d6b012bfbfd378ff3af5d567de65de655c69588c0be6e5fddb5ddebf8b1ad6f2efdf473df39807feb2b43af0fe16a961f9fd6d52c372dedf2a35ec478c03bf81f7b7c1631a78ff10a8aacc3106069a60e07d497942c94b98f830f161f2a72bfb30294ffa3934f99fcff125180318f869f29303f6ac5c6cf2f383011d3ddc1f0cb4650ce48001fce3f3323f6590ce3f4c9eabea18eb89bbbae2dfc93a86fdbb21ffaec8bf33f2ef8efcbb5997d43f4c7c30807ddea7f4ae3080e9dbaaaaec6fad1a56cafcd40cc3d39721e2e3e9fb78fa550d5bf2fef6aa6140ef6faf342c87f707c2b6cd1c3ea4ac9e275074aa0f4f1bd684963fdf04d3367f7cca25ef2c22b4fef04c8ea83f941e88d242146ef5e129940c64019ff7298fa83e7c8e571f70941c9e0914d64f7942c93f3ef8b4d9c7e773dc67093d997c93f7c14c9e629fecf33e3e3e5df6813129cf191f0c2553bce49be0243f4e720e4f730e9fd33ff8a7cb397c65ed2cf129813ae7f03b3950a6f01dfcefbda529ddd44fd9659972554bb0cd14d3fcfea6ff8dff0e7f1d455cfa425732e5ae7cfea40fe4432098b3aae2aaba6626ef83697cde7bc04ebe06610e7c95e10c7ce5016fe0a1601dbeee8035f017c03d5e09e6f14930ce9f78008f03def137e0d85b00c3be0258c75300e7f8096001bc04f00b1f017cf310c02ebc0db8857f00b67907e09a6f00c6f10cc0377e01f8f53560f3158059f804601b8f00bcc21f00d3bc01708d4782cba701e32f00fe2700a6f1336000bc0c78c61fc1336f04cb7c112ce37b70ccf360d713c1303f04bfbc10acc207c12ebf835b3e063c3e0cb8f53e30eb7f6096cf98e5753057d5396e6e7c4a9a36dd07ffd4501b9fa7ac1d1f9adbf49a7df00fa5364cdee79bfc2c79263ed864f239dd049f372ff91f7c7a7949c904bf372e7926eff3f4c925740993254c7c9660ef8890093e973c13dc84c90379de6152fe743909935ff29465844999c4e7bdbcc463827dca9f2e8fcf5571560d03f2fedc151020b88eaf44037949a98333294f2899c93f6dd8cf9f36fbf8f094e200f99c0fabd804679ff701bbddc41f9f0752526ae3539ef4efd35ff239ce04b33c655992b32467c9e7f4922538ace2059424c10968d3ffc438601bdaf4bfc10215c04adaf4a700f669d37f0218a84d7f09602711c01502b8da80eb03707500ae0dc09501b82e00d71a705500ae09c01501b81e005703e08a04571a702d00ae04c075065c65c0d5e908ae4f4670ad5204d75a0fae503cb84611c1d5ca105ca784e04a1504d7aa1d5cad80e07a1503ae577470cb32eea01cdc423f700ff9c05d83f0f7804d1ef0cd0e38c75ffe5586a134c15036510fdc3c70e3e01e00ee1db863b861b875e0ce815b00b85fc01d00dc37d805ec41d86db0d760c781fd06f617f6a336fd4decb336fd59c08ed4a6bf0dff15b02b61a7b9145fc2d81f3b137600606f72a736fd67b03f7915ecb536fd63b043b5e9efc21e85dd0af629a7c25ed5a67f0b762bec577ea54d7f0f607bb115b243d812d9a20e60fb0473006f00374d03b8999c6400537fe9809bb2bf8f25aed7b4695b80c2dd3295c28113f9fcfc11e5d0379e74ece00ee9d1319a9bedb76d0b03099abcfd0d246aa06e76e4d058079cb4a842db418aaa093adb0ff9008d89569b820daca64cd18a5ea2a0b284d0124b2e53aed400064a4f3aa00154142329d9cba6a5a2294a5351642d337892f1a752329042a65232a0ca325e06a919cc63ce81940ca0b2909a7fea184a464a4c6148599aa2449212513888419529514a045531685592684aa28a29b5845112b22490289354142a95e28419acb9b26a10e37a515d76560d62dc5a376c33c7aa418c2bd61ac4b89d3b560d62dcda315658560d62dcfa21c8350882a0e7200882e0f7adb303b9df0639d46cbf7ee3058650737c56fb9b4de2b5d63ae3b2f974a9b5d619974d8bdbe675970c8614f259dfb3b65a6b297d994ca55eb0b44511a2946f0b22b6aac510481a0eb505514b0b26d0704f32229f375ccc60062e172a85fcc100823074a996d50393b7f2cc40fecab7b45bbfb29cc3d40997315c14a7ab606e316c8f27dcd3bd13ab6f2ceb84dd6cd944a975dfb6ceda6bad0f426badb5376d5a7b59688d49f333d6b6100575b1de3270e2e9287a23a6f4d572b933ae1d5c97c589e2067edfc77d1785da6e37aef33e3147c33a146fae17b26cdf7adaba3a178a0ed86afdf72cd812b9208bf270599c286e9eb51f5a70fcfbb77c6275c6effb583ad77e3ab74261ed783ad73ea9d7eadc6d6bb52714e668587748b27fdd380b8a2ccf455f5d6726a055bab86ee8583238d417453b645679a9d9b928c92e76d727c41e2702d9cd7362dbfba8c9ca36876cffcbc05b279b65f536a5ebb6ad765dd7711b573d09e179fa6f343fe7fab2c76db9f1e6bd7b5ff6baf287f6b66ddc5b9733c7db727fe253e4ba2b9588d93fa4f8b4e7e66f3923809fa5e6f87474e276e33aef6311c3f18eb764f9ecf795360443b77643d7baf5ec7bdbb66d1dd77d5ef79ee77d9e277ea0e7b9ddb8ce03ef27862c2c650b8b2ca5f540ec89167cf003bfb45e003e10802aba22642a90a980b649c640052a08637377f7b8afb57acf7196b5133e141d96cfe1adb7bf795cc81a6b6e6eabb290dff22de513ab439650745ab764196f69db646185968ae0bb571d283a5f09865f7a66a549badcd76a524bdee07a4f75ddf698c0a22c3fc63012fadb4c73da14bab48b22a55c338df2422ad336a9912c2edde19651b88c881901fdc4c8f1e1c258a9f4f4bc1f57d46d9111a2db5fdcd395bbbbdb33954a12c1116e7d128c9a5c3f264a09b78cc26544cc08668e08fa329532428c0c632526532923acc8af285c57a65246347153842cac3c74b782eca210d3791c47458a24e4a00b1c701124a3a2095b24e106519810850f75885979c50f56d06941e4cae203319ec5149f17ee5e64c105cc0ec07022e4b89a1262c2108ad008a47cbaf2e962d922fcd9d93e6cd6cf8ef7416ae6ac6be66906c3f063b542cb81fc7d35c3a7ac9deaf1ace07956603b0c23234fdcfaae844e654ac1ffc0af5d5937102c4fef3f5a7aa508dcdd9dc63daedbf3704c6ae348842667ea78342e77ffce3eb19b6d9ce49f6a2468d5da918c735c0deaf380c0430f3fc8e0a9095eb040c7a7203182211d5839210522d071b7a2a9058b2d5e382ec683231051c50c80203a8111b0c0e28bda945a155ab0445073a2a55605c90a01164c60a9c95a11f881950f4021aa0a2d90a0e33f8862ca62ca092a82865c32953282e81ba3562528af3457c56205d58812d43153a91718219f373a00f25172c304c4ecb9b5eeeeed793b3c9ca3c6fc1997cb3bf7aeeb3a77efbaf2ec91bb6adfb61591c290eb3cb063eddca73f6e74fc8d24731aa8612ed454e1a9ebbc81eb5c330d13691ac67a96d6d3bfc9b183013634ec05e6e9dfa0a461314fdfa7870bbe2e4a62b0787d5cd8138160b055e15f30a5a60a2e2ab894e793dcd252da1a93bbaf1e585a1bcbb412430b2675eebd52f0d4f43c97cb3b93faeb895b5df51bc2dd61dd1c67396e6beb43619118dcb39168ca409d29b5b943d6abb5d6edcd9ed7f9abb42e7071cec595b9997ed577e766f2560275b6a5ab69f0bad6d2365fddbf72ff0a144673cec8fe2ae4dfcafa6109965f59e94b86529bea4fd0408829f22be7f4f527d85a3bebce6d40996bd33a61e3b8cd3a12bfd95bff14abad2ebdd55aab4bdf36bbb7adba8bd9961e12baae13af7d2b8ad7d26c4880a583e5f995a2b759b7f707cec559df5c2ecfe32cc771405fd409e4fa141b99e22a99c995e3366ee3b81928d4fadbb62551e248997bfb04ca9172fd9e31ae1247caf66588d8e7ca24f5fd93f8d63e242b71a4dc4bb09dfd9e86576bdbfc7df87d7fdaefff2bedb77ddcf77594db6cb5e2f26aa5a5e8cab5567705644e0721bfc6e77425bfc647715125db1cd297c1c30777c677a10c16df063ec7a4f3267cc76154eddef8b3358b91b1312629358ce6ff68fd6abb536362646c7c7f68038b2f83698e91c127942cb31386a54c8ffdf085d80f1f4aeef029e6aee2f349ae1f7ab551d61954176262bec3274d8ef91c97c1a3529b1b4b488d2765d098f92035cb888929c724aa83f89d63affce944fcd3e5f2745690f165bc8c1ff1cccc4c69dbac4f037ba28c922cc9cf7112e37f7c7e4bb9ff063ec9a2fc7a12e3af81cfeff18f4923edaa6149baaf5f69adf6c93e7e72a861629bf56687293eedd8b531856b3f7cbd886f56429f70476bb3b1cd94f57a25f429bfcace4713b7fb15de2229e59691321929b3c15fed63ca7d9aa7295b487f763310ec88625a49d862193cb4b8272923653cd4c9a73e3e752fe6497c92422749441a95ad24242534b97ecc29e69614320693412d1b828551b5b264f0dfa7b9351bc0138aee19d65ab5357bc24793d266d7703068d9bd06a6d9798ee0293de0483a516a903ab4ead0234f6578fa95469397dce4242eafc2d39ff1fee5737af4fee5430fbfdce4eae222e4480f77267c117f68bf3a8f2c2ef9327f7eb49e0a4317494ce32d9ef18e6d8020f84268061f4a0e6da8418c2ec4e35396875b1e63dec332bed2c067cde477f8a455b0ff0c5cdf0616df5941c4b733b07d1bd8c94e06975d909f4aec8349c20fcb246009962d25fbb4363bc767f0d942cafdde422ae292b26f29a86361ad5ffd35ca8fe6c33d3f1ab8e1b4b7b7660208c11122baa136fb91da6ccd82baa11a652ba9cdbe11c5a5515e349d1629f7b7cbf7cb770640b943e9eee0620827d0ac6c0084104c68420f4380628a1eae9052824ebf0e258bd4d2ad8065f0b33c2e83b49ee6f0cf9a19dec89f5e913f6f4f8ce74f33d7b235f3d80c2529eb57bf11cf2b726f8fcbc5538a666e51b9352ede8ca579f95a9efe2e2d5d59ad1d6b23549b5453d9dfe617f1c34d8ccd7ee0545bb31218a9f9025f48a138fefdad16b45c507984a015af8ce58a58b25c0941b5d9b52f88ea423f88bfa2368df077d4af8e3a6762fe741161b17be53f428571a914d5553ec7da581ba3daec1d2f3fa20f086ad356a26a6d76953641d977e5bb7afd1746d53ed68ef94f593b333ea76740afd5ce3c0dbc53e3733aa4f9cfeaabfaa868fd80a038e6f77f44148725f787478eae2573482132c8cb60503da2825bbd2828af562d6bc78e53a46c853fbd1b7f5e1b7fba1c1c37d60e0b1fe5d5a16a6d66aa2329b835f6ab5fdf5963490a75d13724a329e29e5e6db4c2f154e3d45855593b38deab114135cc2b6a33aa61b5f49a5618baa7d74416b5d7d4305af442e581c7a94b65adb5546d8e53355b8e379440c6aaced7e0c0df9415fc8d230b2c602f6a1c591859283d281630cde3587ab514dcfa61cd57086b37caf3661b616d746ab3bd5aeef7886060bc6a475c69ee3c966010b569a8232b9624650db3c9fd6410c57901c5c9a1e6d1e572b97e248582b8e09e63d2e864fe9864e3fb47a786d9b0f1e09864e3c7a4dc1fc4c6aff03c9e70fdebcee7f4b176bea68fe99bf22d85b5f7f2f911e55709cabeabef4a9bdd752cff57cf12cf27946f4a931d1cffb3738385ef1bbfd7f8fa58606174d0ddfd7386b82c1264d608f2d744e5c1c781c35a11111129d4309aed4f18866f31192464bffef8dfbbfd6cb575b4f87cfd585fe37bf9c54249c4cb37c6f2a7cb37a042103c6fbc6e7c4beeee376edca0d266bf3097c38a4f1c7e28b5a94f16b54912b5d9afafa71dbf626f1c28b5f97e9e78ae8e71f8218748a117a699142283be929481efa4cc82a0db6fc9c12f7f9ebb7fdf942328f86856990ad314a322a221a1203149446ab367ac718a944d9132a259c344296d66324868a86145302f455a9bfda2925515559bfde154471d31c13d3d03d56cbf9699f481daf41f11e2ca10e9fc53fd65826cd94b9a69daace253d68ef8397de404b7fe49ca6a35980cf8940c6a987d19b02465a4907b8d123c896be357e8a23a2bdd54c36e7c7f47d55575560d7b7d7f7705e28ff649f996c25a081546d12345177c7f7d1fa466076f8c1fa492b33659f8fe0eaa6138be71b08003934142e4102689ba089346983c2a837466c19f86b5363b8c0aa1da0c52c4b551ae509e3559fc33ac914b34980caa81c92192a831268d307944039300c0e40c4cd23029a5cd7e13dccee747945ba62465435870bb21459a6c9be2df2b8f89fd125f7c19e2c7884fbabc0c7cbace4be2abdcefc24d36988f76dab13642352caa544263f30b3e95dce496966fb5c25a2d8c0aa7c22aae8abbb26e2d4d07d30f8cacf7cc925809e879ca3a804db26e2d1193f5234678645c87cc074332142952a4c8f7f46099fa3d0f45c7311223cfe3a07510f41c443d8802adb77433ccf0d1ba5ac378f013232529f357ff91af184991ef299f14294919de07edca509246349903f07ccff7941d3852923ca54dd2396914e982c9164cfaa0e25a9abf5efdfe541524abd6d6a0310cdd95741ff8b5524de5fa4172077e9df8dee7f458d6ab6ae52ea3233edccee7df1049f54016a45ebd29827bd617a0708f04e12ae42a6bd879a9727fb5a24c1c15aea961e2f7734edc1357a561350eaa6151cd4de50ec9b10241c4c509ae3c151728b012a34c4b3d7ae40e94f4819220a0e408280904254f40c92128b9026af65352d6c2150a8af249760bf550511bb579d4a60b4f546a6b66932ccd6351923c16d6fcd5b536fb3f5a0b4f4f481fadab854fb5869d96c92eed502593e9f45ba6b64b2d3c05d5a5b0f66d94eb53944c2d5b9a66b9d6726bd6aad29a75cc86a8d56ad13a86a335a545a5d5d472ba222af7b79e5ab58e5517a3dcdf6d712f6e25b5906aa67aac5c8b3443ff4c4a919e2f8283e80a99c78c348fc79ef0944fa2d8e779232529e4af2298949db5eab3f8a454ec831ebe873f4eb215cb9f2e7f58ca789945e4b42f43c493c972a52c22b693b1f98636bbd6e7c13248784859ebe8e779283a3d580649cf17f922b6c8f790b22c2b5231509b8da90e8f131d49dcb3356bd8d932a48635ec0c6b2da59e91328f555abf843249d46494fbc35ac37ad652f53560384e0029236524118dd12b9ea238410912fc50050fb2d6accd6e25b590dadc91e29eb53593798cdc81befa412004041139446e591b91ad59eed6ac95d4a2f5b7969a94e526a534ec6ccdac25651d5b61460a9143241169441e758c3291486412a9d4302ac503a5dc4fd2c825ebb586cd3e5a925dcafd3cdfdfa285b5dccf63971ae6e4a335ec8636fb6dadf298ab4a74b181466111ca90ee22a208c36fd6312c53aa4b754aa5529d9c6afd9f57fd28f7cb7c9e137d6590ce5fc5558e24e5d4436e1cb16f2a65c554eedcef3b38cafdeee4553eaf12792c280a6b2877d73c563def5e97ebdf34bb96bb97fc45744f51ec1f690cfc409e89f505b422519b66c9e06476fa11ed57572b3b61293384e6efa164cfdb9ce4fa1fae418c2be55495fd3b0c25570ce499a3b5bc13c50fdcc200754f51a469d34aeba040ad12118427b0b045f914330c40b83ec4e56e723489c0c56f76f080763355a345cfbb433b28ea17cda7777300849602ece04a0178109483293105704ab282f61e130b10acf8410099468161042d44f106253e400ce8980d154c808aa20b1a0e72a0d31fb842a80a0f3f0461f4834e6f3bc80d831f72f7756961064d2cc8f6ad2d22088f467157ac810e94d0a20a1f96a8428a0fa49aaa6ec4ad075a15133258a6afe4cd9483231601e460a82b11ee9c3be79c3be7fd9b7da76c29951ed9be3dd274ede7b84dc295323d5b99c47efdfeb3e953985710743f79b25151eba6c33d149daeb54211d2cdf657fa19f0c6c04112e64cdf641a75d5c50c6d0714610dba2ed7a72ec8fd29a032058b1b986004379869718330f24deeef1d75054938b5ea0e1eb5b5c9053a9092e20b2d74a8d41437c82dc8fd39a4a89842eeef21c5a445ee46829130eee992b790965b87fdabdbcdb6bfc540f53b0521adb24bbb08c155cec1c6e7ed4794fdadb54649483deba3364a426ad36d95a736dd742a4b6249359c2e905ff25c15111a5cfa4caab82b26256745c4a50f802857a4f5a94de79cdae49a6a6d7255741c71e60025fb3c7d3f6bf629b9232faa4df7aabcab4ff60961cb84c53d3ffb94e793ec0364874bdba44bde07037506f2392d6bd3ed9536dd56b5e95fc43dd2c3f5acb23fb5fa222e57d52f7fcfab6ace5611a9724fae6aca52790180232bd9df32354cfccfeb685b2a1dbbfef2dac3d746e8ff742053a5fbd9bca9bf83a58a8bb72d44e15e9bfe2e17b14dfabf59da24b06dd404a34af3bab4953f136408b791284ebb958e89a557e997edd33b45fb3823b8558cbc1442b3bf75afed5badb569bf89ca94259a5245c231e29e6ed4464e528e32d013c5e9f7a1b795a9cd216b9fbad1509bf6add08d17f850b646470d9b350ca9935ac939268a2345715ac86356f67d33aaec52c36a087e5626e431af12aa6ad3be90ed87245dfa323f355b21fbd6c83ed748d97e9d85669b56c64e6998ed3abb64853af64445f6ad9155b2342b85a9e3bcaac6c4d0952cdbafb14910caf66d50c36e64fb435870698a00e136ccedd3e883b049fd265dc8aa4832aca4cd4acb1bda7c3a819c1e3b72d4e4a0a9c9f491509c9f1cfea947c78684397a3075cc1b92a3071198784073e42235b9d22ab9522b48accdf6c31b3070b96ca043a02989ada0d3efa4ff495b51b482941743dc7623099aee577dffe96c1dfb509b8f8b8de258bba347c3ac1448b08ffccd483ff8f63f5c64489bd5e639193c7c70fb43cb6ae5686de40bc9e03892f88eb77ca1bad07a30c7599000b1be66f1439658eae099eae01994f14a8e328580f5212b74b17f86cff2214b78d6998659202d35ad279f3e8dad487a880d3c9e70bf0727a044c47f31c536f46e144771144571db585858b657a2812cbadaacdf82c51ad36c95336dda16fea1a136ad6fe16fd3de9fd628eab0fcc533f773fabc99e559ca8b5dde28fefdd687cff2a74b0cc52bded6e7b477440e2f3ebb6f7d937bef77b74cd27a2f77dce7f4c5ad90150aa1997b251ac81dcdf77e188e21ced16698e33f5dbea707722bace2595bf7591fe2fb2c7c535d08bf85cfba734b0f3f7cd6639a5badafac568b75cb16ced166eb963f5d66b1582f8acf82bd6f7d2fe21053db953a78ae4796b8f56f5a559860a98b209afacd2e8228ca5c7711c4920d3d97406ebd653299ec9baa892a4d58f9f0628a9212bda1a01021c8f541214240d445098a7255e2d22e84907521c46c060921a539f153ee4efcf17bf8705bb3a57b86352818260f66e6d2e4a2343e8d4bad5a8b4a18153e79531ed45695eb9fdb54f69751ba34e5b0fb1ac2b86d95adbffde9f259f392b30342486ab5d230f05b496d956d0edfca107e12fbdd572ae9ab1c965fcb2378be25a5633c9d587304094b275c292004e55a452b9d28ddc7e08ed6297552daec6264c4c8783b929ff779df3892e3e8f23a68707a5d559bdd54d754fb277083bbb5404e1a006eed0a4f593b2c7c4eabd0e21294fb6d3ea73ba536bbda6a3b292d4c69b397daec9ea71ef51edc51f5abbf6bf2184fd945f9abbfab75b5ab1eb2cb8931b8a3ea7884c172c1fc2ecaabf28d79537aa2eee921651ef7aca0319ed2832a3d2b3fc8b14ff60959c97d539e50f24da589b194fb3f29dfd237e5634acaa4ac001e2380c764701d318828ced7f2ecabf0ad1d69a3d29874e3a9619c00fead0b14f85d674110ec6a3ca5359a8a5cbf4600883cf5214f5d48909a01943b3159a78d72fd1c187cc420e3470f1eb55c5f66e6b294aeefc0f206fe193ffe67e389f830e455e5fe3364ca7d7a54b91f7686541e7c1cdf4d1d2bf238caeebfa01f3f5c2a2586533e3f596e19ebaa25ab3cbaef6ff1407170bc7ef0b2e2f594d67fbd40a43cbd21e5798594a72b48797ecd4ee7f2f492727d9df2bc39e5e9ca3130c8f02123061957fdaa2fa3fe8ff2744de5fa3dcaf3d6e7519e5eaef5abbeccd3fab73cbd195779baf2cce3c03d05b561aa2ed4e7c1bdd4afb2e2f2f4328d19e5e922cbf396a7473b568dfa557fb3a58df2866fc50e0c1af39aba2b8a23d4306faacdf6aea0b2dcef5de1312f0bfaeaafa557a3369e555590accd6e2ab95201c35a6b7507df7feaf70995444342466df691226e18b244510cc3f2c7248a13c2c22ba899a3c95ffd399ef678cadae1f1391d16c1a352bffa413c265d41bbdca4e3fba5ae3c5da1e5d0c5ca12423e0d0c54f3579e18701c1f7e8e0aaeeb69ee4aefc31f69df3efe8461007feaa8f9d326863f57c8df39237f4fa90a99c66f3496f3df5b8a03c37fe5a98436e5f147a51fe10f105c2a75252a9f6352d2488301536af3e39b25037e91be7e7cff781fe5b9e3c70fe0a9c77e7c0dce3f3e86f2fc1fcf52fef8f134ca20f97fb082900f0a99f1f66f60f069606b29a536343ea741f0c6d3e811e24bd566bbb00e9ebdc7817fbaec95f752519bbef194d5d3651d20576619c8871f02c995050404521ec1537a8036e944b1f804310e3f249115cb134a164f1cec29da1cfef7167b83e5197ef7d63ec9a008821e085adb95a4ece8e2781a563c52c46db580dab497432b5eab5b75a95832c810c1efe3f1fb78d787a4141b865609321821295a948642d08e530db346be7fa4796c86efa7560929468e28816447273b455565759544ad96bbe6310344790c49124cd9bf1862b0a3d36c9c8d55caf1a9cd183ea7c3da744f527605bb57b02bd8157df5c39eb228b589e1934a185e0696b7a5b38cd8c73f2235cc96fd6076a73b2691b224a8dc22f582abdc3f4a69184cee1f971a46a59070aa35cce5b1231ea3e13be92a88ebc759fe18bc1fdfe2ee41fc8d1efee9322886ac9dae3ced8c27bf2b816e943f5dc6f116d3f818f08f9fa1f3349ec43f5dd6294f1caf4403197fc6aefff139f87c927bfc48c4f5183f8ef1a861f8fb7fe08e6a18a8aec8209917b7beddf1d4ebc740963f2f556e1f98a5aa4d16ec5dc1803dab1e980ce2d13384cb5169983bdd6e2ac504a4dcdf426a2de12adb2012f258500f29bb2214b4e12ef710e19ef5cbb3ad42a686d9b285d49a519b232eb84420583e68690da31906aa5bfffc88c22fb1f8398e834f257d95c1af250dfc3a2ad131a905d7fe371496a793a52a2e85a10833056c188ba534cc57ecfe300f030382ee30305f593b3003c0e74d0d3ecd7c9238863d186e5275e02635e7c04d6a16006ef2023eff65039f74069f5596f15967f924656765ca2729ab5101385b896ce4688629038c494164244834cc8ee0a028e75880309c088083a25029318464c04151ce6f080879ca27fb821a2674c3d44f3a516e3ef4aaaaaa5c76e551b966a0daca4de95169b3bbaa233e5c9bcfee2a6fefa306f7f4a6f880e27a44de148f96bb1919acc34f67737afee9b2f92c33b35c61962bf892420360820c1e58dc8f6806063d5a68694b34fe2465dd0c8fe649c16392d87934b19b01fe0c4c73d8fd874f28f913dfbe10f1ed43c9f8147338826347933b296d7a34115fa7d99315b516b2ddab86890d0b5f1c5fc68f4fb38c273fac628c08bef81d3ea1642bd313be7d21e15b10b41ff8952f541744f173bc13cb5628255bafcdb1a4b6a419e3732c8283a29cf70a88cc83837a64483d38caf911599aeb7b6ba93545a6852453cbd6aca554a385475b0a3d241154242523c03c2372f53f72772f6b6b465ffdb5be97600ca63845f7ec88727b9e47c98049c407c1173fdcc18512ea94a4be7b29d3239649fe04bf9649be528688fd302c3d23cf3bf288da6cefa6bcb3ea0191138dce88166c25d9100165e88a2120010a2a2041115390c183214690850c5c30840b74fac3596b4644e431ca64e4b159c3686b5633c4fd9c04a21a17514802151baca0dfc34e802895aa2a57ba25a2dc36c8b27aad5ebdd61dd5467f793a521efff59e844ebf8b53c3a87cc52e4f2e555c6a311fc6c4784cbe4cb7a9f290f9fe5b05c599f996f1a72bc7d47ec66f546ead81ebd3a892eb834fdb4aae2d25d70fa7845442251149eca3fa62077557a0bc3b83a790ebcb605a5d38fb8a95f718b9caf0187727179592eb7bdf3d941418b37c765d171583699b5b798e6fe3737cc434d7c0279994fb313e495aeea7814f7229f7cfc04d98c8a8b345d6323b5b98ce96a86b45ee7f91647def983218449505d4997cb20cc31a0ea1da1c93c6a4aed645755061151fb4d643d0866592d0bd45593483ef60126ba48e1ff2c8e2da27ffec6ab4cdd38fb2ff8b18fc507cc7e287e05728b9860f862f86652b894c7282ef6512770741670599426d9af62db5d942ca3d45b8e7475b62ea31c2cd69b0133f48cde077e4e81e61c1154bd2882c1a22ea643eb8676b16d66c2714d63e5acdbd106cbd632534b94a5155a5c97a1299abe279350fe6aafce5a0751074ca44b302adf3f4f4f47c95c7784a9e92abe271e5f6e0167057eba0baa836fb091117dcb3356bcdee555753b2400de28f76e309225197ea84b52e0a93a49301eed5aac7fa9b77767a049953cc867f43f9b7153253292954c9fe7dd5b1d6f1ad76524fc9eedfb43e22bb7f4f3982e2d0f7a734c79f7773b7b436fd5ed79b4eb7a7bf95d7d5a69bee7211520367d1927653535172cbb44495ab61d66d2c149f7e2f356c4af7f47b0a8ac33d65f2ae67056d4a99447cd3af585b692b557283251308828e83a2d41085fb7de657d67ca76825f79b4ee448a12f261a45af96a6d4288f75117d552bfa9a79ac56a1affa4a574855475343b50e7abad2445597dc63550a7db9bc044e465e5e579b33f5e60c01724f317755cd461484d4fa426ed4a6cbcc8e4bb535707179179a1a5389260c227c6185a344f82228d360642ab48b0a9fd32defbfe3b176c8960fecfe63759deb8addc7e22c559b9c9dba6a93b30280092efd1a8a1f55c3aa1ab63dd7e47e56dfd577a5615d0d51b8dd8bcfea585df7acee6be8809bd560bae3f792096e37f3243a25203c5cd6774a0d3b813cdf47ea660d6b950de33eac2f57ac5bbe5cb9b1c586d4b0f3fb1e87e62eac1c77d505b5c9b1eeb3be9b79ccf5dc77491e83b9f8e54a9ba10bcbcc000353ca1ce0cba02ec95f2f0ee65d1f0549ccbffccbcbc33c929787299f44b9ff84facb2d91bcbcab7cf252bebfb88fb9f9e5cf9bb9983f7f86a097f721e673fac52a06cbdcef68fee2de855fb0cced666d7267b74475707c715f5ae5cb559b41c6b8ac3f5fac72eb6fabf5b78aad56c9d1b6d936bb988810f7dc8e32f7acdf8e1a769f7b16eea5145c9acf8d2873df4b375d5247e3be5be27e236a18ebb9df8a1ad67aee37a386b13ca702a6b6cde63ea236b96d96b9df66dc6f49dc6f34eeb725ee3dece11c372cb8c6a4f91917e5b86f23702fcf7d5ba93c8a4071bce7c6c85c472173bd84cc7d37dba85ceebb99cc3b5ae668ad9b45354d3d658e9b4aaa3a3fa3ccbd17e5b17ac5e4338fd526ba127a923555d5a66851494c4f4b997baf7bf1641eab464e68464955b329a29ad0d3d9cd3207237b01c2ab9ed7deb66ddbaa3c75fb16c4b596d5e314b7533dadf5266bbf6b9e77f6ad07c312d5b288b09be56c673da771cf737aaad2cdb8b8ef032be772ef46133af9d65495c6d26c964686cd96050311c24c434371e846b382c5ca7dc954ea0a8c7ce680628ab5c31d3395bac24254c265c954eaaa89eadedbf20d051eeea5724405a95f3493f708312c53d4c62704a1a56503a3fb84285cac28682c4f404205710a53eb0920f8b0064dac5b972003eca41012ada45a1f15b3d08a072d1e1449a015146347a5f6dd288d9ce879770aa2298cae150a5460a2420393535f2b21161b2c39c1caa506554d90e04211e532e52a268abe2fc3065150608256a9d58679ce6dd6c3dde4d455e9baff68fb53156eb39e83b68113997e2fd14b64f02df7f41b061467fb1988bba95fd573cffbbce336eb7d9cf8752d5bd16586a65f328f7550bfead778396e0f17959953eeda905091253af2a84aa55fb3fa50b52afe24c56949b895aa0b30682499c76a5047796c02fdaa7f34d46757395541caadb5feb4b2e0d6af99b27efee7021156cd6088d29bb01f77dc8e1e39408654c9e2fb581902e8062a59e49a6ef85b36dde98a4fb3cd33204900031a66238b6fc350163f67ea062b3e4e4ca32cfe0480ecb0cae2f770f54b7c51ccae1a55dcef5dda14bf836c7947732e761693a86a0295d6119ff39e01053d9e33bef83b7a0cf1d87df139dcf9e2289ce570cd23fee175a2b43eb4a2b3ec88a9cec551583eec9e9c35db1e16efbd124a76564fab9d0001b58f8f0c11f7124ace69203ddc6ac4cb276d526e279f1cc8ce39fea963e49a26b8520809eeb96387c52150f61195b429e66e7c837bf804caeefd0d0db3597c8b6d1645da39acac19da1439d1da1b3a56916092c9643be888ef0324be938ed9d011bfcac4af414f3ae2d721318b5f8b1a46a59c2094c5af460df32cba8ef876879945f173b2c812228b3fe404597cb3b28c78bec017523ccf80a461dc8b9f8086d91765e0de7e378be5fd5bdefaada7f539ddc232feadb79905cbf8b33ccd37b429ca384bb9c3147bb4297e4dd3f569537c56a9a44df18310714ffa94c59fc16b537c914e655104001137d3aca44df1298d5826a9a49457936baeb506e6ef30991ea72685d117e28abea8cc13ba44f445b3101418d117adc98e6b0d9a11cd4c4b615c79840c92ad3c420649f7b56e5497e64088a67cdedc5d74cf2eeaa29e794c881035faa251f445f3147d512142f452c67626852c779ec812dfe58a1cc7b5bcf5eece7259b8ee398e366c47c3587ebca44bcbbb9ebe3cad5db5b5586268d25013060608c90bb65e86719255a0d48479817951418576eaa71db29d703fb5c952f2ac80c30df5d44e6d56a94559a16ab3eaca88106e3b755394cbf59387a9e010c20de4fe4ab7cd9675055290a44cf9910429d4fdf3febeb2d2f7ec7b98dab4b5d6f3caaeb9decaea55ae4a58dbbdba638a53ffed145832b85ca652544e7c3c38c29b428502cf0b3db10843203d2e064b60119c5aba18c83e285838daccf394d8763021d4dd146108d276342c5155b4c5a581d65404590c0d4dd0bc5bbd38024ced6888c154bfa8e785d30c1a98607a962038bb495181a0c5d9641a5505c5837a7d900296b5f6054d1c93129bade56a1b010ab977304545ee298ee0830f23c4207f8f0a90d0c5174d64fba27d6b744f7be63e021599856c8f80841ad9de1e13d82230215b29b2b59e164ad0606cca84841da8808411e47eda45c191dbf6e776dbac1ff8c910f97efb2636d76fe27d6592daa4f3f75fd9534bdbb5badf71926c215b5a36ae9b6b8ee36ecb871ec7799ce7798d3f97af69b3d2df3efcf0594f1cb6137cb13ced861d07f0c5df68fe7992bf1fcf9f8971c0e1e767c4d2d53debe77ef8fedd6f94455962cb93cf42b690e3b78c2defe5f1b65c320cc990bcaf4403792c75f07c4b579bd445ec1ad3fc7e68a8cdc702f1cc539bfaac302ccf1997377edcc77ddbb779de11a1d764dbca9f6e2b9378ef65eb65f7b5765cc79dfe4a3490fdc6a5c248d144134eb40a2b45bff5e8e1de90525fa42985704420639632b6749979f36607cd46137a7d8f69c333aec691695412c4388277ade784d0da5abb9b82c8074a30c2d2163a96872b33e0028b148071c403abc88819cf914e956241eeb79c078128a43014821110a18a121420c207bc400117494159e8204a172d5b1749b91f08525d48a1bb5dfeaaffb77d8b6c8b2022db171d2bd2b87ae4bac3bef7847725d7e4fe8641102d36a85619a9a0dc2ea00962c0d4846cc7109298a86262d6438b21fbd6c5d63f5dba3dd1a5c7f30a45589fd2f495a12e43cb1982c0674dd1fcb544001ec4dfe12f7fd63f8982c4fbefbd77242c7f56f9954fa8bfbcf289e7f2bc77752f3e149dd3fc9eeacc1054976832b494a9217c312ca9bfbaa50321a248810924994c072c2b1301788882247c50860020eb4989047cb17c32c46ff0977f58ab34aa03fe499bc0b25689b004128c48410f3e32998e133a15450730db3fe955762b1f96a195c9656897676dcafe38beb841c6b8b5ac47d54a761d6a6e4ce405f7ac349a7b44ba9c09d52121da1253d377673dcaded3fd8697d0bf32992c57a25ab4825bcb4a541e7d57bc279c07aa3d2c76c8fd3ac0a20a1a2c940080da50c6a9e1a0290b12e8c8fd95474a108e72381732f5afc5ef375546a5823094a91410ae64cf5480402503279a9c08d2e1042b1b2d6fdd571e7607da43a8877aa51305c8737f4785144f5145423de850284e777b9acf7a94b7b7f568fb3adbbe226d5f931aa65494375a1dea98eb6c5fabaee46dfbba645499c6c89b09f2f630505d7f2814a7bbdc4f5c979b5abac7ea157df9cb3c211aad3c9e3679cfbca48dfac604111af318d0d7f63a98228bbc3d9169435a70b9df8ab439a4f278d921d3a74ef35835a22fffd9d2f6466e704fda44d4e636d4e6e642db906d4a02b6eeb7aabced98ca5ba5e56d9bb5b9551a6dfbbab47d65dabe366d6fbae9999bad3cc41d32a53d59dc0e92f56fcf39a12f7f2217757f5a48f47fa4876b6bf577247b42c9a7d8a6586ba2d074a4877bdadc5788d26d2aa490a24f2083f733dfd7c3134ff87b7d6107b46e2feca00ba224888eba2002422a8a2f8884f2ccc671ac8ac4e5583b62eeb24c17401c916917403491bb8d2506d775ac8ac4dd9e3e93d7d98d29d3978153a62550e719bb719603999037cf3b32e57d47a6be8e2ad3b28a5d94002aec01383285a2c83af285c83af2052be49e10c512309167ba28c10bf24c8b250605cb85e2b666993acb14aa72fd50c7092e8bc23c044c1041716aaebf5141f3d526d7a7a1389dab0e115456a598a8046cd5c6b19a640ccd0c00000009e314002020100a060422a16040a0c8c2dc3e14000c89a8486e4a9709c428886198318610630c210010620000c00c0d4d05b434c705789b4e181c770ef5592ab36ba501d5ae2d4610817ef12408f46abb54e370c447dcd16e939c40827ada92c5868c724bcce018103003f02af9cda4de892eb4603c6800f0a8071f151a7097aa956139208935e89d6068a06d69979302a6f012750148167d9e8c0b85bf9bde59015fae50c73286815fcdecb609c8bd8d1f3fcd50b420591d7215bf1e089cbfd0560a8686c36168b1a8311bf0920cf245f21e9815bb5b63ff43ca4b7663148bc90b3bd02336d13c2d14d002b8f0fd80de9e42fdf388e3bf050978bdb45c6016b6aeb2ae60748f8d046eaa2083f7f14296cb99efc806edf87b082a9c9b9cd7dec03ea5d3643272114316a7b51b65b1b3fe6bb3e68b8843127f9932f4db23c523332b7eb4f09255e29987b3ac522cf2d214cf48a68ea78993b907ab3a59f269fa122053f8e4c641f68e39d949f3a9a7869976eb94c7cf16343b25f346c61efc42fb889d5b4400f5227a45bbd7b361f845860b446c94e32b7c600cc934307c4c1242f4bf6a23cd3dafbbf3ca9602d2f6b2f7b3f6546eddd6ce3399c0e0646100ed4282b3048525059b59f69a7c1380e80c849535491f9587e5031d2b96fbe2b92f6baefecda7671a03a065c830e61d8cbf6c7c43fd492f9ad41c0458936746d173500b092c0a6c3897385a31964e733cf6c72aa8bc8874d52cfda6a9860bdd7591dc634ae81ebd5d17105bd05b861e6de94fec4676750905c13a22dc730f85182b6372794e48a09bb27f0949d42d0807ddf9600f984dd09d493cccd17282824542115c8b5d3c1900328cbe2027d9487c8b504f70f6833b21149328622d211958186ebfe5bfe9b29360c600252f5ef40cf9a9693f28e994049667821d4b42e57c8ce44599ea3a9930f2ccd95d750d161e8a63d4fc7387715dae710e06337f675cc380b72e9ea8fde480594143f1349546367c6bcb9abd3f399015a4270be77823f383747f6ea33e33298ece0f49fbc50432ef2caf78004d7fec4f6cb52802b4e5b1002cf128bb31e89cf2225a4a04c14b44d3770d6819cdfaf5db30a445437bc9014a8b99f410fb020c1a7ba8baead1268983f93523b70dda23c0c05ce3710098b964039faec2a99e0ef51cd54bc50fb0eb2c9e469014bce197525efcb40db335e09e88e0a346f39c26b941971782fa032f8a22f288b85e2c64e114815619df7cd07338883d1dc23864236062f9bd5ec96b1938e86f9f600ead59a69bbfe22b5889cc5bc71912b453a88012647274e73fa41455daafe24401cce5b06e81a0147004eb7fd3f5822ae16def1aef41b005ba21cecdd2b5d73409e31c9740269412193c666defe4a2c3c504075cf258de02b0b577e278a0931d1391fda0abcdbb0af40855c04f8c0194e0528275db668800049a80c50d31b0022c14aa41a68097137bbd1958e635aa4c2356c231c206105eb87433d8c3be3e29e6a694391927f1e100a560fd0d17863d57821357668ebbd5d7fee956b7fe6b88d146c62826983e24a2d56438161e3a896a4ad0a3b544d7104c2269174ad71f88ce88eb90b4b3f28fc87ae043dab3a5674e04b5ce9c60c8662103808d8451963a4336222f1961f738afba571859133a9540fc898863f0b7e0b4d41cd456a94c9c073235e7b7f5567c040586000ef376f4371d72366433ff4f2059edca3729aa092007f6e23521428d1b3746600c5a29e5c3cdc04e242a512056c999e06654f51f4a70a537129c6d7d349036891705bdbab1aca7e06ec72202aa5b5c18b8e18fdb13eb71d5a1f27224c159bb2535d850d18495988e47178023b88c6973ceb530205bc27aa6da97f4772d38cee94f3d71dfc08d40c455349580779337c8191687a37a6b3caf9420a96cc0ba221c44ef1eb81ab171b8880e8c0ab1a96831ce34c2f90a3dfb0ed688b28fa2271f4c2e8c2fd94d56644ab5ea1465cea226ad7e078aa2f283ee4e18369d6811ae4cab2526ac0df0e89e151c06c355b58e24c81a2841fea61de95b14bb108d38469842859ced8db980ae9cf7cbf8b47472744603e25708ff0a7f722f18fdca684c4be53bfec83ddca067de4439e5b11d3c06264697b4f11226218e19ae8d83a13e57ecca1846514117db8d20e14887d4ab59c94799227f5e105910edff68748aee6cc37a98cd713bb2f1aea69571a5fff47d71ea183fcbd78c5e7bb5bfa1fae8223bb59f264533704a2f0b0d5d2386fc319f0d6df4d7aeb0a449ce416baea245aaddf42201c1e532774beb86703f6726f45de4bde49f125682c00461dc57618c62ee320f5bbd3d0ea2f75d4feabbc8590e42285b51d7599f94b2d85a97165e1a2a9b03b8143e19ec78db88cdce09dc47a0f92b69ee7107505bc972e4e5c45a69625aaab83a0b8bd0c0f65ba9ae34099439833f0dafcad2c5fbdd1055ebc8a6257c55b05018aa73c0e39f0889e563178f2b5c802ac8168a95125ab7649e14e14e7e8c243d43e37c9d1a31dc91c9db31dacfcb49278751b856ee156d8de67a8371e23c4804f2827d65deaf8e3d51ab33fea759c5c25b56e428bbfe8e7f7bd1236e5b31b67e25c5cac1ee1a9a921025ce95bdc91c53949db9b5a0c3cb789331678582eccdd5006d4fc695ec9d3515b3ebbf8178837cd3161a1fbd7f89b3a1cbebb8f23e628560f64fc40c0d6f1fcf46861301534521e7d9ab1a0e6d9c4d8a848f5ef6d944b7a199115429eaefe70b48ad12ef130f0840df990d4e42d99971ac3e73e2af78b3124c54f35ddb94cc302392d2cfc8a2423933dc71ad94d26e5d7a7d81deac0ef14270f751f8b8279fdcc5470c675af7a45b914b1fa158cbf56219c455f5687ec3641287f61a6a9f5eb462cdf3d5d04fcc0b974f13b035388c8941213395de7cb403a7f2088bb11c3faea0e08f0611e8d876c10e0e5ec0dd158483d5eaa98a9d09ac2a35af30c114ec6b17b653d29b75cc4fdaa46431f19d354e7b3285e4a1e156e87fd179ad7afe5ec8ce5dc0bd8b2f5c3087ea87641e83376f89d4184883f7be2561692b00e45d83cd6c7109f8dbc97107c7311aca1ae1cb010cb1ae886b76423b965e737f668dba0ffb181a9d0097d330a2d2fdb41259eb91f0c293599ed9df501ac50a117941a48e1255214b3404c61b665d2d3f7f462579ba1b2493b92003e0c2ab0a9c175e2b16e58abcdb9de22c46d5654eebe74e23bdc08586400c9b05e4c40442f08bc0cebe10dd673c4beb955bd7f30a1c1344a53d1ed8e567ecf0dd4407143fc99de2edafe7ee6d088c45a31c4908b5444d72a8e3a8e679e2591382d452e63cdce6bf85b9bdeb794bcba32822ee3bf39356bebb255eb7575756403666418d47461b49797eb40edb99399704e78351e423b643191ab37bb6ce93306ded351257cc97d7e300f8460e5f538e36a2a2fe4dc5188e983b5f55f115949965df029d2e3045b34e8ae2558c54837dd49680ed3bb4bd173986a87fd745d532ca915c169506297590faca32ea2f66b000a61da124c31c8bd6285498a5a9451d1051cf89c60580fac708c808f72478e8209a50ff33213ba5ec9af0bab5f931c6bc7f3c1920c19e0b5fa12bd9b0e39948a2d4fb6b29fdc61cd2997df6034157016512a3e1b459b9c7ac1ee1fb344468d2a767adac7ec676ae30abbc2da9537351a31cac5837b1e42684f6d16d94c15df91895a1e24dd0608305af88b8f1bb91d1f4e45073b934f256c37b02de0cbaf18a6c353fb9485fdb061829c311eda32ace5b3cf6d795bbf87cf613282d259f7b69d08fa72e0423e039acbc640b0c75c1b82360a600527aa1ef7d3a929b12681712daa4c799522154f0b1efbcf91ba89df43bbc510affc349b09bc6449f2be420d235f7f5ab8d2d7ce8f8010e8f9246fa07cb4f7e7da2de1f5865278cdd5a5776083159d452675f2c4bf09cee07cbe716d20fcb35870d4e200f9d01c1919f752b51a844f5131df2a1680e6affdcd7aa1f606379f08e8ac59e790e9a19b21d1dfcf90479c9c37a639fb12dbecc1fd4ad0b880e72a097a483c4edfb6d6694d4f73b308a8553b18931508a351b18c97f9d54f57f87e0b758434652c33806dfeb16c54945e92fb23ce5c2526af6cf3a5c37cc4c1e2b8de751902685ebdcd34bda317325dcfd6ea3e1df6c3ae1b535283faaca72eee48d661dfa4592b7fcbbefe3e6e2c4acadfd8d37b0ed86afb246a336c06de7dd72eb576e6de78305b3875bc1194f1314255687ad35cccd35398aae66f71fbf69678cae909c1de56892cabb579ab855ed3ca658e41850394a4bb037d30dde4e823217a03efacaafe34027cabc9661ce79a6b386189e33d1c34bb4e70f696fc8bba6afd218b596cab14dacaf10cd7303bd81a44c4863564749d0de9627cfb9fbf7210529424af3e4a4e858db9d3c43c7525ccccc3d938bb80fe68871eae67be2a9120155a138e55607a1a076cef455e054caaca2002d02db623e35caaf93885a1da6cf9a6a76a0ca5366379d5f35c17e48058833ed4cef448b15316a37ec97b7fc1d307ad22d1f95c338d11d09010b710473a8aeee7d7cf496d6424763d9bd3c8307be88825b0555401293ff19e95c9f4a5d9d6ff93b9fc0e9af00e895b2ed9d9b272ed4ee4832397f8c30d8e668ff627168d9597b11a1b99477f9cd793ec474451701b108d6e295e2f512081ac604bb6ac0a911015722a2542152ab465320fee3448f1aca6b5064dbb85f2f32e68ee5869c5d4f755f2399eedc6e5d43c953e76e26938b4279cd0c69ea6642a63324846197c87092f06654d0117363fb8c29c490e95e7ab28bcc7b984cf18b69160a11852314da3270cde29ec95dea379e993dd76bf6ca57eca694bd7d16a61a514e595c11ef1c01672936d9408064bbbdfaf440fda7a73dbffe5287de19c6bc03040d922ad3191de26990aad6ff5638217896e520539133dfce525bf25d83d28340b0963731ac39b77bad1d99c0217822a1faf1c675df07cd1240d5e270fa587d2e38a14b4a68d3439575d792c1ffa5832d8d9e9efe1e8193d3e21a8110bcd29b8b84220176c40ed9fc3ff32d99d802014469e5b65ec539c1e73a39a1158e9c28008d8f3fe5ecd742dc150f83c600dd6e93e6e2dcc3e258fff413304236ea12c12b630117c2d65ad28e32f057851d2082cfba1b842fc9bd2ac7a2d3a22404c5bb3f99eca7783d9eb25429588982d1a02219c6e3284041fa2110844238b396a0da3a7dbfc41b383d506def9528ddf3afe3223995d281df8113df24726914a55431becb695d960181a824c8d5433c6b22f7de081e2b3fa65da65413db276e547a25c29eba3a756a76db33cd29a48fda292d99780d4d2e3700a7bc7f699601d5536700e6c2f0b0c3a09f44f526921ddcb71c5fc1ccf9306107b5a7a413768c85eb2091cb627b39ea4cd841fe3df6f8904f7a12923af77efac9eff57ff67ae81a07ac5f893f42c3d3f86a1c5829a0b0b369dc041ec5a282579e4a697927415edc09444268515f9363dc260001a8706607a750e132270a877c0bccbb4d5d7312f774deb860b36f5b3e71fcadf9c4b7bedb3251417539d944bb506b9d62be87bb6db16b78063df430b36b2ded83d0fcc2812c640a8543d2d1b422be2ac8c93c53e310cbe3380a17410e73b65fc274c36bc40b81613e6fdbd92735ccd12749258ef797acf13bb89b3001a655fc1285651d9ed449a08d84d49310370cecd89fadd8de40c135b508316537e40600b14b736805ecb708089e080385b6ba47d0adb12de30e6d68df9e5ef7467a96fb2d70c75796894cddcd8451a488f54d701e3a459f2c44a7fee565f60d016f461d7d4be95217c92f8a029c7d591000bf1d8d1aec0f2b464cd7a54801ff35ab068d2f851fc912887794516dbe7b00c506f6858e4bc726780dad70474f2a79375ea53cc6a48a0d9317555641412e004a0d5d963efe746a0f0aee1b1100188f80e33dd1862b9a710517f8b83bfd0240f928e51f3d3b5357eec7077b0fd82fbcc585be1f874341596e51f3daf85e1fc77d81b0d282f27f7887b2f9cc8ddf0e8ef38261a1058b5e0317fae4eeff9f1d27ffaff9f5145b8e5ec1d0a76a60901c68dcae4a9b910b540e75ad4459d535dae9c66e93f08abc4fbc392778e45ace7f35b64d95138498c6d6d53be46d38d0f1aef6a7558b6d68c5b0ff71c7811287debd9d8380022232e90ea515fc5fa659157f9238cc10f37ec66194b36268d1a2c3f896d0b19a6ab0a88c7fae7a6fe0001df1e7e91b6caf14f004c347d50cb47fbd5b7a88851e6c0f20753e33f28de00ec2843185a6c975e0c2e6203375c1b282512dacae59c425e21e964c25c5af20b9e75fe47541b59dc771a3b814d0dcdddf2bc3a657a3a8f81e4606a207a1d252609d8bdaafe7c6f0bfd0672c785dbd7b241754ad407c2be92ef9d64087661a7001d373e440c6688a73196c057606ff643a78a30918827410673b33e3adc00da96f057a4f72483b11095a6d42f523a8a7dde3c3cea374123145c8510d3e2f40a3ce4086e701ac7e7128c26f3e7a4cbb0fa7648ee81fec05ccc093818e8786af3e0a4339c1af7f28ebb87127ce4e074ca21a8bdfbe5aafe0e40faf3937fc8590b4e31b7102a07a2a680d0f1f66801386928727110f7ff921f4cde67730884922d0124f714090ea4d024ca328897cc4517818727790974bf5bd0dc73c62e7af34e17a36255795a0f20d5fb6e69bf23df76c097f3332c401680b191a8a365061969faa39d40cb912d922b256eff7581ab2353d2ffba3d9ab69c8e6cd7a07c8586b96187c5ad7260e9bb4d47325f8d52d3ad6c9a0d855b0e9c52c3fcdb5620aa225860ee3badfc02a44434588b8541ca08fcc5da64e33ec4ea1ed014d49066809ccdc16a179f8456e415234dfa285192d24da058aac60edfbc9258100affe3c6bf0a48af10724cd2c73c3ff922f5f9e382c99c54763a81f54716b843134ae65b520cdedb658e2e3321bc20de1aa0cd96eedcb077185ec9b9cfb3333701ab24f6ac5da006018ee46afd428cb2ee4b61cc6ad28ddb8821facfe341c8e394643381900c0882d8d39300597a7fbe011a1a28985b8c5542031435bbbe8b0d30f90a048c4d137ba73e2801c2094915c94d1cda7a3541d45eb280aaf30ab85cc1007d9cb430530266d400432ecc51f70defa026e284d8cb6da1a2ebda9f74816d31041697c0ef9bfd56ba2108b8272b915dbd9593a558cda1a8f296607d198e17396808499040d29dc27dfa71affc8a7db9c3b98a9b28c4000437329e67b29c1d5adeaa5ce09de34ac24a3dabb3b3000a13f94b263a3a7c13fc2be82cbb2abc236ad1066e6ce274cc3afdc3ad30e9195699b7ed233183b7480d0361058a72d99a89cebc3a4a9b53cd15e2e2a140165321757c918cf7ed2b2921eea505bba6faf69ab9c7abc063ca3105b8d6c3231f24363d8764c7070069ae55fb710908f6961106a9912404eaecfff30c096240da27af55d6f88c971699ae47ff4a8cfb852b263cbd850524d9d4781fd8d078da2651dc0d1e90cae6037f998e6d9971777479e9a7e03332945946badc14380c8b690340469a5d63a2d062bc42f33c59a8f8a009a70e170a612277ee4d96936a0e43c144110ee02d5d7460614c5556378ecc39bf4994bce21a59766071edafbfe85dc8a399f3e7d0eb5c7b6aa87a18679f24cfc8628af3b8e3f1b9cce0919712813e320539ecc441adb0f72811506ce8d20e7b365ac9237816bcc5a67847bfa8402a9adf63c2059d93ac8a316980f332ba72bcea40a17d81ffc18bf14c96e15f0dc74ddaeebbac1760fbb2fcb3cc8b42ace3d0fbabd8c33c0b9e9437415b8dfa189ab59858b2f43e27ae4cf5aa101660881c1308473ef63902f6612fb97e2f604dc94a302626673975ca61183a8488d28406e6073a511b7605c60419096559e8b3ec19c8ecdd76b20f05a2c5dc85b706c64fa87ffe329fd40dd142d8f6c1ea66a9c8910d6498d5a9c8672c2c60afc95236c0b913fa1a1a004f80561369900cfdea4461d02d1847c89f3b1a5e20a222133ac390fba50567e52a8e79bc95ba11952334dc3bc4600f01943ce9967e9e6e99059c0f79ca7b0587a442a10d3173456f22ad5e5962392fd67c83f54a398ecbaba6031bb7c30d2cf813ab960963fc104a8a03e43d883ac1803198bcee120d09a7e0ff343d07cb7382a32a9e5546bb3aca164c5135c8fb460a3fa9298c7d7dded103cf608be5f6ff9a2702da9852df59f0368bd22a165a2e88c6451d3aa468217570d936ece00fbf7534d9025f85ac40b01ee41bd941c8f3c8564f5d960c508c4b93b6d982c958360d7499c7d4e6de6d3a8fbab13a692b39fd4b485fa4c688d2fe55d49518be84b23f7ebc626afcee621ca775417e65b6dcd9e2f42fed39126eba67e5b06dfbbe8e6c790b4fb20bb281a3e2653a24c833e7959d743434f9ebc5035e3645849f347a63804459f604321758e9d2babc9f470a5adb1f3ec6a1d675a51aa767eb81264f6290f586cbf62469771dfacdf44f7e6c3800e7e7740b2b3a3d076baa4b57d17918f1c69b7b97abb58411fbd0562b2eea2cc4fa84a83987e375741683ad0befd1cd3d1f71cd407c09255dc6e5502722466697e3718750815b6c402ee51c074af486c8cce953a81bbe9d08e004ee0afb11d1abd6cc6e2be43516dd976063f994a0ffca05dd8e574f2d87d8596e3de7b00f484c2e32fbe963150bb77c858b268934f5ba8fdd966e299c55f0c3c99946f155fe35a0bef0765fe962a00c1fcca8a68fe45fc29ab81d7452b3e1936b3cb4d99b3ae8f0fd670f64167fb0d3ac33919a6f3950e6f4db6678f7719e5ac47dbd4a8bf7a27dfb0a5accd3ec98fa0f76b3efcbab07baa71a7038b081f283c24ca77dd0047df5f16733ee9f9b71c19f0f86a68695229f871e34b54bb67cc01b6289cc2d73719c0d425d79be0f021d4aa429f51015b65ea107bbbc48610aa0e00656076d233d35d64c889a2acc0ded06eb0ebc0ba8ef5661decddeb5e6a5ac3e1ae9783808bbc05fd6373b6192275d394e09be7fb031620fcc2605a82001f80523f6dec22d9bc13d5eb18ad1ba06e6629261c27a0678d4507f3f550bbed80006f9983ae8a2d2f58af799cbe0948aa88a84763080f01b9ca15e2e83a90814c080ac07f194c586a55234e0063eb21689e6c1cc9518840f7ca296a4acefc390ff21251b771b841b06bcfb2ebe200743ebd1ea237edfc918e66cd83a3ff9b4e24ff266a4759fe52864c944bc9455605f9fbd0ae68bade990a6f615170454698e3a8729f816d590c3a8b1f03716fe8f772c9a7dbd2af8f588e5653d0bbbdd52c18201ad5d5f1f0016757e3ed40805a03c32841aad1ab9177fe6f96973aca1b8eb867f0192e3e54b5e112b0d6a44a7835c5f1a87983ef2afdf62becfc6621c83385048a9072a73a098f6048cbc8c1a31b6abc816d0d360778b8f7d3d2c317fc8d08781ed04e54e5ebef747a00557403dbf4c5a24b2c5c5cc5b6eb3a2d9bcdf5e11fd692b07a1c0f94a82624503b740f4f5b8098494412c65c2f29c8b16ff50053daf5e060c54de3a27d8fda9325588734351bea17d3d7872b91d2cee55d733271681c886f970b576f212a6c937dc66a047b2390122ee7f6d8338ed8db1dac61267ba0be1759f97df063ff701b23f0b8fd9224c128d39e54d0f1be6f3271883aa100917d959ba24d5f62ff4904897936ac7f875970a2d2aebbd405a7be8baf31d5cce703e0a1f9df325f16e7e5796fff9778e440f7e0beefb3ccc163ccad7a8dce80f3d50b99c6de51a271b41da825534cc84aa05e289363081fb392257ebc5be2544e654461bffeb739c438971eca387e02c8ccfa84830d8b98d8ad672248e34160b621b20f18e3e93186497eadf6e13491cee205c19c69589c85ad29ff1494e24db06245708fdb2af0a136a1773bc0a4d6f0b62cbedb7232ba05bb6d3db1ca37fd2cbb4dd753b4889e5de155cf57ff3f5c6d780fa2e398b677a9956d7a01caaa390a3228a3ed161f3b21bb0b8a3049a9f96904b219c460b681f6a70b28275aa7209be02e271a2d2b3b17fb0866a02fd0609413edc400205caa4793a4a54a7b39dd6d78f4b557df32684ee6d3b6931b117893271c61783c5cb6833ed23d4440714262c8a6a49566a24ac8659b74980c025e5292a5356b7198f8b97ac26ec085be24e54962b0f55e55e90def8ea8b70e36bb0bb73b51b3af2f04b718bc5923a43f553582a8a77fb63ce4b1e47121447d96d0854f07d1a8ca2ce2a61abe65aa4f556a4c46b5f731135510235d16de68ce25970ac1ab88b9f72ccc72e6d5edec163f5cc5d90174117c2e5099aa29525340cbd8bf7d88385941ec89b13d4e8408ba637da9b79ce0733c5bfba34d2cb82954427f48bd79a47a4eefc1203b684c056364501b8d146034f04872c06d2bc9595e1f8465fb7aa448601bd0db8c2c8d7569720f186f70415d88cbf00fbd67694bc478ec0250f542a6427f9bcead3663a2719e2e8c03322f8dbb5c7a6f3538dc5fa4ed24069c946d86adcfe83446c3b94b0b9f9381b6860c136b51e48c6e989f97bcb783048501280f1809be4370dfed5a7e3c80ec5842aa1beba666a28af2dfe98ee7497a24d80c02d6299521019122e6aa21905e288e700012334fcfa3072d95efccbe6839ba4d73628e8cb2e3b5d21f88d0ae56230a6f0df44f92bcf8c0702605457832338003124272b2b10d601004e9583fd284d936ce5e4b28efe579dd5544ad67b5337b3041d5c6dcceaf4812e3bf64c3f1927f6520bbf3dd7386424e0acc805b905495906b50eb93eaada80c7fe3d1233855e20c4fc4b18c0a98dd21b254e089d827a625185d5cfd74c2da0112734a1421f3be4b421e96e124b0cd5a964946ee12d29379b15f7053fa32208ec3590a5313f1f4a09a0230580c74fc4d0b969fbfdd0af74da8e513aefd2caef787be5bcbed4e0baa17b1ce481e4c83f06e402a88e060626582510924b590e3c8e8cb9fb58eba1d1f413ec5ee4ef8c9316efb34c6cb959377e9238371cedeb1663ca62a51b054038e8e386aa8d28093c0f63d4e6d03e9a452d11dfa36a5217005618d5a3795e14d6c63ec04600826a3a0adcff6ed47e092ac9970a09cbadad57977fb1ede68269d081a02befe9dcfcf504b5f07c990872b517c6d2b83e16e9e7bd1e0cd670583ec890c0e6e12d03f7f9443e36b624dce1e708e2c548bf5e95df3f1c12a58e39ea3e1d342adbac1610625c47e815a4492867db6b610c9b7c95a36ea5c8e12dc058fca2aed4d16879ccddfddbe1daa771a48089640215424f316b241d57e8ef819585f2acf886bb81d887b08b6dbe46d3478fcf838deda40ece194aa0589f7637b76c41d5524af955ea529e7350c103245e43c234fbc89c0e9612f13eb14182f2081217a1296f6d0820451100993c51b38bb45d46b15edb8bd56e5fe10c19d50151846e41298238214664db1227dda43d186996a72e802852ed021751e8209b70764d8c234e87208875c0bf985bad539548a67bcc2326bd680ffeeaf5b78b400ed821cf801da3300d5b5a4588c177d6cbe6889e57a518d2012ef8ce45573af01e489a1a221d428194c8d0a863801b0a2dcafdbbdd4c74fbc182796bf3d6655be94265da6a16d14cd2a118f9340109e13f89db31939697ba60239f88ea939a2c4338a4aef54b4e5086833823c04fba4dcb3973636a1947abf5be074e04902ac5be42882561f68dce3fe251ec34db7c86e24568a0ccb6464ac86ca2d6e7b3124e908c139e7352116040d379bd25bd0bc71f9f6e1a160b29d1299739ba8c27bd23fa2a277db1aa188944c9ef82bc460607ce32371b0bb1d630d1a663f6e8893985dc467dac091ab48a6cd25a6ed7e7578f836bd5be8ff23fa382fb2a5a780821b57a8486ebc46213793a9a7a3fca89d2051e7c22c4d2bc4bb489ab6338b7e42e29e91eb02df91811d854ee2eb0a3dac5f1a48e4fbc4f3b0f033c6443219d1d440c9071f4c8ed075455c2689f86976eaddf63a64908d6cf04f66411546ff63e6649082925c8be596eaf966d6cf4345fc5ea38260bc214fa234af1cf73d3886f064c9191874e9694892f22b6452dab068628504c9909eb8afd93032748164e2d9e8ad1e70b047d6f012466118dc8f6bc79466661c38f4d780515bff8e05a50e978b5c716cff05abba9b1ae4327e892396f96128bc79c839effc576dfa764c7c69c89515bc874f506108f486e1675f93a0f82da6e20f352663b670e13ae06054f042cc37b17444116f0f73986975e001113b4308d39387f07de25750b0d78919a5937d5b02bc0570c0e5ad45ca8268be11aa9774b20e10db71c1db21dbd14d308145f09465726898dbfa73b3b90aba65b02551d73e933a4a9cf1e6f78a90997381c22db4f27a8d1d06db5f468bb65333de9223922e959e504a0a806461985ea9fdb134a77a8d5f385e24990c907cf23f388df799ca1da0c2ef629d5c38c80b372ade8fd12494e2dda482576cf38665358e88e0faa2387f38ed3e77b91b0445648227c940a0529d888910a8e04b4e13cb95c0dbb900cc6ff0813fc322c7bf03c0b9cd187e4dea4010b57344830d6672e9afc3474d1829729227556641410c7a6454e7afb3c690cda87d92c226be33cdc1f644dd676637a0db41794312502ed7e0b4ba1dd2feba6c64cc7af5387227f3230a0e9a6d197b61459a57f994ee47d2491bf3750903962907afbaeb2d5018bcf5914a4e3280a5ad56b16710feec7737e6727fd078f3efc35e77cf51eee6ca209fc5dfb5932d7b0a443a879cb08a1ad27b501e2b16790cf3e8019b2cb0c0da5292c20e3062b3e76a1618bd08e129b9ee3e60860c0419ad6c1885e679b43f7fe677a9483596434a607f6c47e53f182b04574225f7a0ce7cf78caa740773409600a36702ba506c70796aae05b09d5a21afd1c6ea129f3b2ae4c7b66f1c35b269372db4a520e3c9333190bf3681d0697d887c8a942097558a1054090ca2623a9e7bcadbc95b006d355751bd535ad661a7b2a7abcc9fc532230aa5fb8090596226591b9af352305d41603610e797f89f30874c48e9fdfa02ac33c9d773c007d2726b18d5e931e22d8a7fc9b14cd6ca6b0cff64ca33d881288723d534aed887c112456240f16520a2a87d135b0a08449ab18060dfe798de5678ab36f5cba1f31b953d9a2cab42c25d81ff4b803a3a8f9c6d8f6309814bef945097014eea76600d744ad2b629131a9829b95ab3dd05345317eeb4756791e92948a9faa9cec3a9d426b0753847ac29d99b690b4e7c58c0a532bb9ebbb4f54cad8ce4180933e03667d8e3bdb2ff28a824400aeff6d13ea4ce77870ca510637992e019ae18949e145eb336093ad7c45fa6ad3dd5b573ced97b4172570a3bb64e4d60364a154ca90f8af7509095c266b0594f6c0eaa4d706201204cc20cb9a5c1dcc8f3fcdcfb188862e51006a105ce78ec10cb1937ad43f8c165cea27231534b62d1271eeaef31131ddf727bfef7e7d1833bf3eac8cfb7dc2b1f040a55eb2e5203bd209cc72c12c86f62af0a8464f2eddfe64ea77019ccd200bae4ae0731fbcd3285f4286f7afb2efd3186ba4c698d8ba8ff4d385712208223e796c7d1c638828c0613fdf90d8a70f9903de588a10c890800b87efc7df0376846b9229a0171b3770fd45a832d7b38fd2f64fd744c3dfe1b15c817fa2e12e5bf8c7845c7681e998554a0edfb81c14b5cd98dd5aac6b3556204332d4ef1646e1a4c20ef1ae109d4bc1fae83494fe5d1db3134cd577f19ed979a4999d0cc4635a3a26912fd884b6dd94c25bec51c0b8f02819f67e0340b54673cc6113d4e6cdcd1e01938e81d0b74245e6f99158f5fdf91e43559a48c2e873d1cfb31f364da8941d4c7224bc4d958a3462484b61727b2f14e0f0c9b62043030540eee7784ef2a96af41d1a289b14b90dabc81390b766048d976736dcc4a637af72dea06809335996486a5cfcf3fe0ed11e2e80587b020d5ca4aaec41a72188b62d103e68fbee7cf1558db0aa6bdd7cf29823ef6e65ae5170225afb84d3e6355b6b069678b80daaf92e381454f320994db078e04e9d2eddd67fad736e4b6367c50d6a2e9f4ec64d181e16093a399af0ed9a444a58c7e1a99c2f383616f3f4c59919d8857b1d2bced1a452ced3efabed550c61afb55ebdc2982227ec04414791f283ea19b332780ce82c13f17835a7bb0052f0f687485f1bfaebfe52f4a08a6020f93944fb94c6f94a8184c4494a90ebb4f9b43fe0415e68a454de5774db1b71cde2f29e75e267fca0be17b06172585a90dab207f23eab0b67290bd7c296a87bb4b2e347a0c7631f24b402d49ae2a42cb425ef8291cdba12b7909974efc3a6cb74732017e8ef000b945b34b4201cafe94e468e6de007da038a5415a17aeb8de907a43b27b5213183d5626accbca2cd0f191010df12843595c510f5d45e39e4870cea77245395a58b82cea39ecd1e5834e33d44b753f2dc6de429768b1bc061be43c3b1d04f94a77a09d7ade754c2d5bf8e75953fdc351a48b8d4cefd421a0c2bab2258c44d0b18afc696e50d3821685244d4d2a955daf126234b97910c068db6df365f0a12082641923b37852a981f7f5841691d7a9efcaacbd23fdcd005be2d7b2afcb9914933c71fd9f5e9c4db65ef26d441c09184977de0ab581cb0cb3ea6c60847c3f31a600935d47fc270fb140f157ac5b669d89d8c141dde53a9bde1ca996cd650a4e36aa775cf112d97fa1e141457bf98bd28165fad5ead4b90e46528116aa264d655478b1c6fbfa3633c9b0893f2f507885b02e43adfc586cde654a11361db622123af51523f71c4e52349f167ebe7593e0003f44d73bf919fa0ca0aa67be2616eed24600804258812641b2e7f25c217b5c4070b44722200213b21fdffb3c3021fb806c5de280718bc7a4f51c54fd5c87987309e194db8e2e5ad969859984520a715c0c6ab71543a7d80aae90ea0c93f2e31422d5e60e2300658f9db41da6c944f4594d356830b11033d5e52af4f10bf20f78f92b43df72dca5eeb71cb3d44497bbd3a489a6e56df137313f10a251e7632c988c0d693fd99e48271ed6971f2b7e31ddbc95972d8bcfb9b21c270b45062980414edca154b2bf489e17fca0513db3dab72721fa28e5efaffb2c79f8d9abd131103261dc225c4307f8d0a2970ac528168b2a706c837127c1069dc8a5254b6a11410f9588bef8d3e7b3a0a5f43e4388ec1e9d466d0373f8541e708baac268f5b6fb2e806e866507b631724e482e56ab8cbc1fe96aaa4dab1d41b363af942d6abbed3fbb9436b600ed1b7bcaa5cb703620a71bf6f46d7cf867e3e47fb13e8d1cb152a72228c40903e368bf91e9f39dcf6e6de103b27592c60cc62a2ea214ac716887856e6cfa2c7e5a7ca3e3a5d1e0310391cc839c4648c55205ca50199d272d59f24373bc5d4938f0eb4006df06a9854669f61d3bda8fce6cbbb8de779dc6ab793e3a6d98c2b0516a117d03e2b18e922080b02fee0a00b02f78002b21a14ec41f79ebbd1f27c89a8f1e128a4f4de4c8ad829ac9a13fcd81c049fbf724e201aeaef8f1a353b26df767d2f989d755e33f58720954efebc7ddbb3ab17b35ee144bc19a6fe8d07baf0be4a119c07adee62cb4dedd10208cc14203ee20ac86ce15155c8820570bb4b4a3d6e1a53a18db0c03c2063d5aee82484263c11458d5579948842864c164911df014d954a57a97e0d4d7a53ee7e8aa993c7708d04e7ef53612f92ad03860093b4da553498210d26360339a45d0475ede0189824880f1960a60e939f4e7327eb01cf907eaeefb54837fe4c1eea0623581f53fc0a75b8428a5087114dffdf301b1cb471a3f800c97767516866af2a4fd4ec3f75bd2fcd18a4613f5d4ce8af20244ce4a5c4be487a87a37ea3619b6d12032a514499d2c6555be4b17934a22f2fa98882ba5511e702306409149daa2d3e64efa01d8a6e07aba73363e010b5528f9123f7716dde68e47dae6448fa3132e6bc4002fc3190c2d44464bcf104986e4ac52832cea4e43c2ffff6c51dde2ba5d1af944fde5a0c3427edeabc4ef9230a266a316e6d072ace6597a0c6b9e78b28b616c9d08937fd4e7971477f7969ca3f6e1dc95fe6826f2df78c8d3d798f786c880f7c3e19c286262c99fd1b0467b87f626ccea93db284aa47780223b6d920bd340d084439ce4e4537ae3f9d7821ebc832547621ca2b7c1353169c143de0fbd9b3f5a023ca2bd7bd1eb67e662bcc154beed3ae561246c05a04b3cb38acac1b56eb8e284e01c44445ea005b60a70c811faf5097a9ba9e8e4d92b80ccd1d04f6445197d3dfc5e67fd8788aa9abdd1997a275c09f109be043f568bd4d6a138eb0b6c2602e805e42a138104af1cdb48df42e902696a21668fcb3cbe204d288fd3859a29b9ddfe502b48412e6e6302f8a61de4fb5beb6ecc8a9a447f02155ce9b5077b7379b036d7ac52f7cbc27102eb1e22b022b4db4496c29b3087f4e3bd054c03c34b7e176ed8ca3414aae5599e998434e7ea708d7cdc7972c9ab2459c3ac2f16b8a9767d57b2205d9b57353f82d938ebabccec499f57c563440acef06fc8fbfc8aa9b22398d997855ce740d33cf02832e7da6d8fef811d0ea699bccec63e4104bb06da6e55ef6063ee483c023152b472dc3e5288e9263006f27b7b9353f1bd1b34aef2ea19028e1e476df018e1768207eb5993391392e248a975a08f3872c1af28e770e40ec2a2c1c291b3112639108ea8c270a4c1d2368785ac986b7044220cb0df748df03ada3e4738f21ada72264d3320b1b0f25ba2160e0c61b4857a0fd67a49943b20a8cac8c0c76ae708a336bb600409641e9cf4d1693c3cd6823e70b7392b146a4e706e8ec049dd52288e30154420cc12e7e3b373d42d02564d8726d66dd17f78b6815854c77fb8daa5fb66bc7fccce94669d92a49ac5469c0a88303e7e1478363088362c6fbfe03237c3675b9511ff80d9c804d21f978399541e288f035e2ad5c34ea98fda43f08726a0607def62197a9a767194302ab1f51c664b82e37cd29bcb1bc59f10345e2e703844223c6b55a0a2f3442ac78b8008ab71364e564d38971c1137ace0d909ed2795444a3072c4281425843f14832677df4ef83666cf0b126a1bfaf227bef01c565e106b434648a95c2409f4d9350b33825a42627dc11b68073912fb09248bba4a73376c2632923458c3ea1214525e078b8683b76bbe42261470afee1b767fdad8ae6a08f0bd321ecba524ea0762082e8e00d5de7ae09505b006724c19e9d99375a9ddeef099da315d8cfb276b75467d971555b873eec12d1495ebeb8c59fbf7fa7bccd05299c1a37cb4da11f3124d0c2829780f45bf094f453a21f9786c506e1e685e358a890551859e4cd9dd8341965a51cd02087571aaa0c532bda23d1319e0298ad329d8ed05614601dc19786e2222e58770765942724246810968e1b33b6ecfe38cb7a803394a303968d09d21a1b1e7c48c0a49bf03d44b9a1de7cb8e88f75ed6846193502c6ad209ea41203cf790b0fa708eb74f95111504b032f6809a0478b27107879f7d88e67b851c2256ba6fc65213b843d668681e84595da9061400808b4147eddd2962c06a56cc06abb2f3174d13a36573f2d7af44a3904f547796255ce02da67f4a29bbcc5037c909bcd718400d6fe3f0b9d9598e3e75cf00a0b010566995623855ae548870ce582939ad6276ba9a8c6f65467efc146ae73e658b38840555728d1052b78b6a0eeb0c843f6f26be1cffb241ffb45a18610604ba76452103a5c70843c22b823eb770935928a58e8683f29c13e62e94266cbc49b245358183f81b48bda4622e176efb918e0d403ebc69587786b03eaafeb8454c60034daf2ffdd86b752cca109332dc4afb91025973ebb8d5dfa1421c8b755a2969f1c68da368772bfd4b08859e6eb8b56e1e626c30b1558c3a4869dc419d0d2dd0ffe72fb121c12192f07f5212c072808ee81f8a57f4b8be675c334a8ee90eccdc78454b5bd64a5010b73aeecadb5cbc964a018104fad1be398bd918005bcd9654a5f227fd36b5206645d2fe3edc1b7bdbad74c1e94379f0b6728a85914d7220a777e2f118855f35f14ee5581d70e7e164b926d8dec22c952b2b8fd931cb866415b6ee92048d8800f56d5e0499de24824a804096fb6db7217783cef83fca5aea82e3bfbdb343a86a87288f21793c5dae5a990c7aad0e738dba1c6645a745fe82481f76517ca406a94fdd129249c351ee9604a76de1f754583a2a5787d665959ea0a840d2a6130a0ef5b8fe0f361f78c3c8464d9fd9806545121e828782614cb6766fefe550b833428e5375267301978a95052cf0e6e749bf685866b1bd386ea58bf83e5281cd8f267176e36372e923a13d5a87aa9f03922a4328977ca76d743d7b5a0184e4e3dd0a36f6d8c86b9d849af53f012549b242f22684d6a18b805ed1a480f2ad05530017ac24757b08fe65db43958b360efd9eb8de79eb18f84af04c29767ee3198237437437bb045e8b3fcef3f25e1c109e7c15a00c08b4039d82f51344a79e0c051da4dd790b5fac948af20a72491248edd672920408ef710882ddc1f45cf7da92e89fefa925a7848462da84d33a5e9978fe2e5fac2d6cf8e7a3f6bd56679890c49f998c6bd9d8b2e47df62eb6d995cd2d0d009517819dfca96058c7ce998a751164f57a2a40856b7b58e4189d87f0922c058866de06e88e7f88db8efcfc256b78193121c74612359349a86306e243eed4f67a5e7a75c60cd575792dda507724a9c3e093fb811b7fe1ae20089c48f87a392dd1016a4941694d7db0abc4d8b16c71b86f62487e24611e70752372ba7c44ba570d9efb8a8c398f3a17c706670a76d86f8364e7beb379db64eb8ee7d67ce0c19ae79ff63f3ed2cf88abca6457c67823743d220c9daa9afb3555778ecd80364d84685f79ee1edde90985d20b4c3ab702fa18b074194f81647a1b8f198e650624c61e4a9aef2eb45f8179f5f5f25d9612b5a4ea410f74ee2145fa62e8f86f80cbaf0e9bafc3c56b21353be4521812bd01e45293c7a13ba4b633e40da68c6117275a22ae37eae806ed4515aa7225d6b00febf7cadd680070efd5647d4f5380a582a553bee164bec06eff4fa6bc07a0527ccf35461354e45bcfb5a9dc40e9010cd6f2164f008e76cc26195cc3af8a97461e4267a8703c78ac77a67384c58f44abb1cf22184fb0fc5153b848ea88624221d65d2f13330672bc214bfec0f01473ace302a0f4eb887f0ca7b06087169c3288ea567939578228f62290b04e644e540947c989b41bd4969dc38add8810bb86a94c65826be3bac300e7944b29143c66d64b847c9f6f1edf372f4059f85250f0a75948b85e8a2eb2d86cf5b12e5160edca01a9c07d0ea8330a3b0851c82ce88a7e6f50cf3cc0869e45afce10d8bbf566567801b1e80f28f286087c8a96a11ddf1d8855c19b08c86c3454cc8e6df183e0691a9985c34ae3440588189bfaca225546a73fbc6b53e70a596b32ade309c937d2584a56ba98385fb2f5e88b68325e02f032688f90035ff0c0e7193aaf90ac99a06662da21af65bdf937c08505a63320ebe5187d29ed5966a7c520db3275de65652ff41a255b56ba6173e87c7b03f01a0c6221b3c749bdaf5d1779eaa2abbc68b92ff6479c2828a9ccf9bc080a741909697e2889d500068099835947e987474fb9860d0f9aaec2542c262dff7d282ee2a6b2338d027cc92ba5eb1ce8414a61bec7b43a8ff4fc40f11033853f8e5fbad7502d88c03d0e142ad637d661d5c119c5c6dfe5c3a80d63514840ed7877cb125d0f8de7a35513f18daf17008c9bed5a6a9dbc2e21c81d0c5dbf35705f03d9cd4f6b679cfa74989a00d247b0169e0d75c83e6f47abfc7dfaf9e2b73978f2cbb9f83f29f20bf433f6d0be6c0ac161a0085d27df6eca85ef729380686745ee09103242ea7789e96d351cf6727bd7146547068d3a96befd02ef30f6d716ef0c4289fb6d347293dfd5acbee2c5c441ffd69c400c849597b6ed54b7590111b0d8eab46ea2074665c00654b602136d1cc83b8c3c224168ca7126a059568535f1b401c663b10fd51929374e803553ec667ff6fa10012247d855d0ea6fd472d061243b60e8c4854949cf976e58c9589d42ea08aac3f4017b00416eee547ca0bf190386c8e6118800b06d62348cf8ad7874c0703b52e6043a18cabc645f6c6c82928031bb11098a7e713a523a5584384ee835107d0df0f49caa7e1df823bbb17c0a284ee2a4d411c29371fe9a64c95ecd5b8229c24a41ecf7a9fb0ac5350800bbde51035bc86c6499930f77cbca58c56a46a7d831f044414c67db9897f1a9ee5cf129a224cf82884f3969c67480409c835318e4f038d2f3d4b9cf3ad088d549ffd0e71324333111097683cde0a0750c1ea8bd09450874bb2fe0e5a6dadd51043020097db27c027dd349c8b0b23b3aa8fd20010b188707e653f188cd52415bb081322adc2b6e77e50fd1299e497979736ef9bc4e8001c7e8668b22800392b11bb04693774acf622676fb84bd05ef5034988c493c070b5d38cdf1a5dd2a8af28d30d95061baea7ca60b18910eb81c9965ce16d5af2dfd95f4957d4c0abcd83ee4d8075a7ce6243fa4bab0f755a184234df8b55cd44d14d0a1b4f0a75a9d1614700755405d0e22f683c20119e18d304a88ef1968c32257c4a471cb1c623d4fa940763acb91bcd2196b9e57ed61ea259ff8e6106f0fae6d58208ba2b7466027e979626d16a48c4ae54495dbf079d4605d8bbff5ee79a898602eee7b1a85d83f3fe17aab016c121d1fb6e4129c58c2cd36e724f1605b8e155464d047bd3ae47e6247571ac84c399409b7817273a95429333ef96e78b201037d4fd91c4a653088133e72225edabf9cf3e774bbef88e2aad6687602f6d732d52da762bf1b446c094cc2ae4c795c0b72a417a5a1f630d173a8773e9207e0c4ee46aeffb92713742dc6facab2dad7a8075b1e57398943111d636b3e9e7d6a44c9805464864e1af6613fb2b7ecf447ca5b73901d0462f252740df41428a87daf5febf9c6af7e193f4c9cf6b432ebb16a46fe183d3778ffa0d88a3ae3cd1032786bf4c698b1eb60a7a5a6545651cd190ec8415034a1535dd6741cd503e77fa401f08597f4e4aae4631c36efa7910b4aa777f3ed70a2b2138888bc7c5dae8cba19a214a070dac4ee12b4f691a12718751e1bf610c53f1e391982510b56d4806e4b202326a16c9b5fd43095868bd15694b3fca80780616a65e798d37f605469dc3335643697183e95d92d61686b968992e84a269cdc1908449533e020dcf217d99eda92b9f1d1245bead20c004a913bc0d088c688f99580306c0c6c239121b997471b0021dcc526e642e54ff191cd00ecec03626a72035103542843ef1329f5f489eb12a27b70aa54b5656287e34e9c9f8bfbe6ca3f86578a5b091204b83cc2a413a83c5b97fcc4ed1dd71b8852128f708c71d435aac3d67ff949057e32d30fb67f136e63b5af15db5f86b0f40e0ce2d1a42b553bd98225b99d6bb1408e9f0de8285c00b4508c9792359ff611ee05ccfc164d958afa402d8374e0f3dca39f54910cb8a6e07dbc7d182d05cb858becc53820e36de6511f7fdf9049b9fdd28849fae48207d51720b7afa36015c259817b11eeacbfe1a1d4566f816395b82c4f474999a540b729b59c66bd613a40ea981fea6d311590b571c49807bc4f0360d3d1897ebf20dc32146d44097eb1c307c6d41e811b6701a52de5c3c4dc50a0d1b63bf7ea58f73b281c908e45b09538f351375ee12d06caf07106c03f3655d2d442ea10d7132d1024e9482c2614837116357332a51a4ca8623f2c9890de8850ab6acb9e27ec54c3b3f4262216bf45df01c644dd26d71c1a50a42180bbc99c15f6f6a724228aef800d293e2e934ef1bd1046da4157cbed98225f7b4a69ab78b8046cbc0fc5ffe3d8cf7d6ad1658dbbcbe4d9446ed8d946e3108762249585f1057a4c4df3b15218c0caefbf85790d545f629c9bdfdd025c285e285d113a1a25f0e10e037c1813e04a77994d628280fc1176df4a24d9205733e1686f3171a14e0a073a2600018e4969c7bdea47f775a937994fddfce6f6262775118e73ea0fa15b7b4205bbcefb1e8d05645060d842c8883755d2e94373c09fc23f8e6552ff156666cd7c9618153183a2ba859fe7bbca778b3ce46121524b18e0d21cc0c5f0e1ebe653e938cbe0dfebbce239852af305d78675f71ddff1cdfc8a09b8326b007f17fd6fc62d824806475447812ada98e6951c6ef74123dfaa32097985781d9f34641898b911bc1af1bc38bc759617650183aa0aa0aaaaefc947acb10e5930c7923a48a39114cfaff1279e034abc321ab24d06f642c20ee359d655e820fd4e352bc768bd3cd108d1b73762bdf480f572325b0b83aa32bd28e0f70f827b2ee652ce0b624c3398a4497173ad668ffd2ecebbe532e1614e1722c53a263ff144b6a089da35523f68068a22d76e2463ee2f0eb02f8854309610c4ebd3846db790531c99dafb91ce96076d5155a0e22a3168c7f146fe46cea3c603469cf6f0aaf0be2f950a60c5ffb3bcd256388efc81e0bfc74e050373cd45e1b2d608b9f7d86a8c412714c8ccff81563c77134c5a2cb6f6919c0c8e12672fe1d0dfaf5b36090756719dfe67c0d58ef92e67f141237316523bc07f58450b4b3ec8c5fa03008f14971b228a7810cc3104fea0f9bf2817a2f77e05a1f6f9126afb9788523caffd575e53fde955faa08690ae58818f7c30e11ad129aaa996ed61be01dfeb4531077eeff5d251cba3efdf011cf82fc73194f9ca2ed04d124bbe393c959b84e71e6591099edc95852df06427f82074b36ff45e0c11232edd5db4fe4e08f4ca87d98146ce0efa20c9eda42d949e0509972c2ce4e20b2d44631058b8b1c6164fe1ebc261f5146e0960c81eb5b75f172d0ed97a12c40c3b55634e491eb24eb5debfcca93d9b03b97ffe47bb25acab8023d217b05f17cafa6e9d76821608890c74985bc5591c4b0581c6d75d907974025ce4c0ba8bba28d894e314979c1895ff9c537f285e894816fa2cc3d1d98058d14371fe790996ba0052cf1bf89f3842707320c0c6d9db948032d93e572073a781cc184222056ab73826b454963bf1d17421876003fd12d6c83d9c595b8e567e1b8ae3630a2dd60df0d234c0b339e42498ed8a37c0768a28cf732eb13e249ab7c9f13e011cf9d4d1c8a46e2896ec137dd84dbb3734d315b4dfc80d4da7a8a14f54ac58603429826f5906b096380c776784b00fa7c7d62570b1166d85c9c0525757fbfe541bcf87715217e174fe7d01bf6bcb1d5ad159081c5b1dc376967f0dd67b0aed57ab063908678548b7b9c3c2e9b3aa1a04f23bb4bc0ec01f57f5b1684456e7632883e3431fb47e259268031611856e7129c898fcdf0b9e22dbb96cedd3b8ff726c795a60ca24d1484a2a682970996756d0636ae9eb9794175be2ade9e9b1922ef974ace441a54face3ff9dd4829008838834013e4f6dbcce6e746fb00d47ba636dae19e5a9898137acca9003843c753dbfde6138f10bea19a5ceaa27c88e103e5bf606cd375b53c25073f7375dfcc4e693e729347bbb5263346d2b66524865d9cdd360724a96d5838da285317ed7ec0f26e17edebde65a4431af605f3c0f565a0b082301bc681f6bb133d71906eb758aba75ee059c0f58ceef027bbd2ed546d93921b4ee6bf372c89898c5e687912e68b46a5b4e8b4e446e9d2c64be2fc9d134e28da8c094942d38160dea9d90058108627649ef595b4d5c7cb27d70bdc366c2fb617a3865957576a848626b03f43aad25d25e1854adc196cbc5665a4da44800a8c8d2831a044044e8623bce48e9684889f6d30231382eb10599a567a7b1b7a6bcec10f6def71697a9d10d754e5f3c06a761ba8626e3a279a48e021923c64e448f992b5cc87101b07e259f369c8efa9656605e7039e68999ef857905e70075e55f80dea257d0579f41181d94e870dbb50555064279741ef9d81f5f8018089119ef68f58138ab46bb631f2ab421b3e291a15952c6da28c8ca8275604926b8ee885720b69ca694e4ea3782552bbfb91bc1656ae9c9a3f0e14c91925e277952fb159efdcfe971023dfd6513c9301561e2048a6f024d4a65cea3557f7f8d233644e87e22e844d373505f26d3f7561b81960f4e00bd3bf4b55a078f400ef7b9d1d2a9250b5506d26334f6e43527adb1bbc0eb923b3ad38274da50f92c6f7018e732d141e017484f8ba044349a778f527d32a4db30e52338871020e14a2fb01800afd8439db357b18367ef623ee551836075275022e5a2b8d0509576014f3bfbe1bb330c54e60c635fe400457196c439b4bcd53b14fa2fa4b04058215c5414cb65353e2a10733743050e1ec4e747397a1da2bc264959430eae2ffc528d2095a108724c4dab40591d187a00703179227d65a9438b92cf09e554c8b9c33726174999c11179c2ca107ec9fd9f18f364eb15e6b62446aac4b5c8041d9978756b8759b6023c6e369f18dbdc79082e07de48080fd6d7e7feeb86ca0406b48926296ba79c1feaf5e92e53a314511d8c7ce74149dce7ccb33c448590db9b32c40b0efc56801e42331a3f02df91ee1215ae772366cfaa37b5ad2a806e85c0b3a0b97916057b54fd3f680dc924af63def1c51f98ae2e46ac4731a608794278cf968b9330224c2071e000891f4a26ede48af13fadb3dbb1408314ae96414c6754f8bf8a16bbc5fae51a25fa3207c5b62fbf4e3f5911accd17060738a5f87ab33e4c04029d6dd5b960f267b9f7d51229e68f2eb75a0e527b27ddecd6a5977ef9b0c1bf9dd45e7ef30db109a12de1a72c68e33c89c09955d8dc642ee75f8dc0b41c3274007fa43ca26c5ded259a205c020f8aee6271b4d55c610942eec4133c624a7ffa4a10ac6144a521976425886d489de82f592486fa9744dc5fc860c27cb1e85ba84b51bb2ab020a5102fc496b6c0a4cc450337579faba826b5a0c3335faba50909650aa1eeb4870c9a04ae2924232e102c8568282958b70687fa74a06a7eaeaeb5677afc4b182d2f7981455527b871d409e4473e38ad0b191a3055239c35cd2c1454a589872890ed92b48a072b47bbfc3259d06f927eccde092a6183c12355cfa130f45e8ca3178d944ded33913fd4c279b8a56e0d21de080ec2cc81f8877c77c59622bbbb9d517a5b5d5fdd668e246026f62f3da1f0720d773e8fd252309a57e5331c8a194c0db2420fdeca109936bef7ee0da27625f41bb09fbd4480cc6b67bae350e3987c625f427fb9649170340c13a5f544844ed4eee7b910e994fa2392641bdc62162f6c0c579fd2a3b7f0cf771768cdce1ff4ee9a3b6da532ef2ee2e1b82f3921c6d39e51e97ff954cd40a4193d90625126762460209b7484f583d9aa2520fae00f079c57c048c01c865e82b8e514dbed60e67536c5ce81d75f173ed36cc7632303d7a44118283afe06acfa0178c36424575631e2416861222f58bb824f492dc18d0a7403420153afa69e3cba8c7e5c61c17e1002875494c60dad2a201e9005d4c6807d90723d79a587444f2568c02815fc20302ab0fb6e76e0f8c3859c68ce34b6fdf53bf27e541e4c1bb980af024bb1e88c082ae821f854406bcf1d66a0b7dcb1f0d9b335f4129691e3a6a077227b875230304d3482393ec37a87e438cbb62b940d0d37e91d391a97683e6d3b36b47eed2533f9b893f930a8962f9bc3096aef26ae59ba068db63e39eeb02bbfa37ca796e03c65b7ea2106a567454ac5b9450cd57293c4ad1314eb9e32e895fccd25ca5d82a65c96979f5706b2190d054846607a5467efd94f0eea3b46968af95254483fd82b62255e5a56a0290a8fa000781cc01e001c40bd45175bc14d4547197600eeb558e925485d0a9a52e398f80f1528a74c742b115aacf6b929820188e4f0ed86cd055cfbccf54f6ff699b70d1141de4f16d53506198ba37816116bcf6fe81918a77e192fd4f109dfbed51d96b300f5882263d16265dfb8f90120fbefffa096b25a0108405c1ce40a310994249db05297f9daa13329da5547439a19bf214dd764e2022d83d72ff38abbaf74a1337a0942c79eb10726bfd2b9d127f1314a1666ba766741345166bc1fafc1b6755e862add176bbf716e63a1ad703f3beeaa43e25db9c080e1fb854b9c20eb60aa29c64584722cf359714bab51c152966f24958175425c9e694c52c04fc220d990f3522ce99930347b04af140198c1a94c2a88ec6b2c4644e76958a76f8a5ecbf0768b90d8052ae535d086cf1722eca511b4889f3c711014b3094648a5a8c06fbfe94df58323ce5f835674c90cb7fb7cb2b09061b7cd0fe931e429926e2bba1d6a973f16a9d4c5652f58617da78b420761fd832d8764e408ee1d28c2f5d81dd636ef1cbfce88cfba2498c49a9e5618053e5992475cb009d0fb08a6407fc90deee44da64c8ee611d58dc1a803cd3ac08abab258eef2d88840645971174f92cf948e1ddf56953cfdda3f48fd44b4edda08906130ad7cd4a74469314ec3634aff4785d53798f71d69c8d4c6cfe4724383b14bbfc6c0ca9d3c22b410a15f0771ab467e8ee8b2377937841d9e61f11a251c590ad3c466253ba580a940baca25ea5749d37a04d8f78d3640cc3a0b47319e3d09aa4f53cf5f820b318b3aafa27b75ea69b1a38611e20033e644b6a441727edb07518b6a9fc9d1c1c6a9b22d5de286cce2ef7a78898bf225e2c0ee8931c42e0b475c9d0c31e02720419b9441ff0729819fc0cbf014db20feac654f82a84b2080a94f2ec3a945c80b92eea87feff96b1202c2de386905844587a7cda2f69024ffde59cb11b5609add85514da2635c1e697566a9398a6ff25ec2536926f4363d0048d8e3a5005bd9bce19ef0b7ad14814a5b01f17def893f7790cf2d8823961fdf4c96790166b3c4e9169da68d6d9616be435fae21e74a87ab0d8d681d11332bf5a02af88d16d23762ef37c5c628f5419f77085223c877b9b01a6c9e2349237727c4f0af1a6dddd5ce5492ef0a71cdb484fb22e67109adb036ef9b439b7fbfe6a201e0ef06a5bdd846454e364f9b12f9c0f38a97f1f7da097bbb05f78568fd7b6a91f0591d4b7a4f34324915c3f5d526c89a75b65d3516a1e9e6a05f1c4729b6c96f60fe324c9e868ba799998d6d882bcdbf2cb386ef42c7c8bc9f69b3b8496565888fda0ea04057709f4e8696709ff6060b4ae1ca7f7ce8000bc65316f54b1058fa0aa069222956ce95621c48a015044b87f699447f082e2f74098264326709ab1e28a208d83de01b1fe2be28ccc7c313be7e03fe03b1c163a34cd00e92326be1b8dfb0771f990ee8b6ee3ded2fe4fa9ffa4e00387d377be3f3aedf0480d35f903448fc5424ec87db61148fc4db82fc3b194be03f07e2c2c827b1c578598e53ab10acd742db663d5867776542f22642faa5f2c295adc7e414b59e0a9d5230a055b61e084f609295e0adf854bd458c6bc87aee8cdfa6030eba1a4f50193034d9b4c7aeb0349a5a31d6833058bad42872afca9a293ebaeee38fa57467f6c46591e517516f1d816547597d1133c74822d1e1bd4f97c69ea97adda24495718e8dfcbb83989b15c626288989801a17f388a899a006605c1c7d0c557fcdadfa78e8d2f11494c0db3a8cf12c4243cd05bea616c99b98e116dce5852a7123cfb02a87db67376019c7a3f98da2f3a3a16b78243987f0aded86e36941439e68867fe4d270d3b24ea0aad515d5ef0a226873c9228c23804897657a53428f5490a48148446bc120e3a836130e82ff3f9fd10143dea825a7d1d9f27dbf7f01b1b98ae826b0b3394808833e325f7b04489bef8c9785f430215a62a67dbd0770fece7eb0d1a8c536fa5ff011826edb19857d1915f1cb8adea3c9879fc5d27f8d3bda8613ef9efe49e2421efe5a32e060282fea49f010fbfb3c17443a5cb09b3e16b3ca14e70c9618c7dde0d2b244801ea09ede5b1ae8f2506a206ef40db82ee5465abe5249caaadbf802ee9146ab4915b9e1227b6555904e01cc1ef983b645e83dda97768b3efd2a518bcc9e52b15c31674c6873818883a27a8f135135fef388c6200042eaf41a6139c514bc7fbb8c3fd71813d97a3f5e7ecdb90b529634783b7f90332c80aefadd252dce2f8a9d85f1d2f3b1554c36d686c40e98711c9ca073260e96d724e8023656162cfdf11c460492f28044514aa0cd4da9141a627f2a83bb231b6700471ea32b7cf34a78de25a895719b347659e8ccaeeb098a6986bc5a5e8303f394b0a1f389626a303d07f7322f74c8b47c9301c00ba32afa5738644be060a1a4e955e6c5a757e447fc237dc4f3c38177ea8a19a9a6826e7bd218373b47364eb02f34985264ab877d77494fb848d0a5bb443fdf89ff4ac4c4316733ef474a0e05f10123814bbf72f723169eb7e5e3ff1518543b3c0688c6becb440196badf237fd404690b985738d77796a1d03adb9ecbce5c341c3d2504823266edee9bdeb545c4fd0372f6230a080ea61580f4492a5093c129b9529f2d38d1a5b8fb0467dd977c9081405f19da63f0a60172965120479426b5ed312fb51eb1f3c4dbefe5a364c45a3540b489e9b736ecebeba1efab3ac3ecab372135de384b1c814c129128218c602db799e611ac02c3fb4682f4aea6d94ab4970c3258b3173bd241c4a28619c8849821fbceb06df1c2b10fed6b088db6749c6f0b8b425f0bb861d73e7122dcb584e80c28e4a0a6d942a0e0050e0fd716cceee01148a712579aeb3414bba612f4f0d1a6965aa6d38ab3a32de18719894c7ad9e4af58dc84c945445f3e00d9cf26568df31929e8edf4069e6c4ab2f35972fab3cd570d4aee2bbd4f74e3801bc124f3da8e67d2b587597044f1b65e2aa9fc4de60949373bd7376b8b34ee159c72930715e9a2e5e6bd5547dc0cfaf3aaf100f4f06622547fd6a2d5948206e61324b81a4946e6e5518a9c4e03ab74b7f2f0e470c8e5ef1de49306a75f5a7dabca52027b43b9c8fa928890e6acfbe55a8af7843869beec925201279444c9d2de3043dc63cf748bbd7642284c70d0cbc840363d8cf8e1ba611b46e388c8a6a7fd46361d0168d0b6954bef5ac0b6fe828afc1717cb2a0d506ad43a547e68ac399c86b1423b3297a21c7c50ebe026d397e0bca2ca39115a469f398e94677945af98ef78d49fcc04bc19d477c90c9f69a5cca877a48421d1ee6a68cf8d7e0f8ba98c830eb29603ef9067d2902a1f06d4aeaaa9d1825e915ffd8f135f0ee7e96b14dad78b9c0507bdd0844bc6398b9ae07171f96641e4d74d335ccaf0f9a3cf275fe57bcfd80593297d1e3a8beafc33f9b50f2beba5a15c39b3a5bc80df58d29af06a619bdcfc33b3a4d757dfefd0a6d49ef607b3b4875e1988815067b8d401f23322df7999f47389ff3618c98ceb9855fe87d0fe864266096f4107e44db142a7b0803c121fb9fd41f0f837214e8cbd6b54fd4087db1362e1be4046f85a55c22263459813b6adf80b67d6ad5ad7f9a0f707d02c883d7d86dac7b765db761901a5985530da2feb6504d3206934010d1108ec4ad60bed6e934ad2a8249a883f024ba2fe67cc7aa8f75f0c4df0a761b1bb1e8adbe010a095d48d9df9c934e1b42d9300c959993709e558e03e08f53e3ab8a4508cf44e0739d7ee387af26e21cac1407c2d3317f9e66c74de07e7f039f4868be0031da54409a7bc11688bd1053124464f4b5e53c1d1c077c115ae2d1668e18a15660a9c89031e605380671f30b4090744cd92417a93b822e66a68e88f3e6a23b407f920950ccc517e5e4f68e075531eaec4f4d387535015cb8136f4ed50f0763de5c1311fed535c25385f60675032cea0972124ddfbe17456f98ba4b241d0502fc34ee77d9371515948c1080b20b8887129f8832051b04b88b95de28ea2aecfd0142617f73c037c7493b7e7878c57eda6b1366192198dbde8f0ca3bb797ad453e6a1934d091230d96ae008419a746bb31b5cb0e7db3c8392b3b675ebdbfbd9f5a9d93cfdc47bf84c7bf80054e3902eae7f3e9109921e50dc246a71ef93563127cc1a47cb4aecbdae617c905fcb5bb0e2d1b3851d705e5341b332502fa6f4e62194efc36680d8c271d494d469ace78609a49e6d979e5dd84a92f25f23912fb95a43a4c0c15434e2073c72027868f9550bfb85125cdadd8e6bf4b27436b2ac2341e6719d2cb1ecc51637a61ce95bcf6610b44b50b361677eb3e09a425a2c5205e03c215438a1530e666d186f321718d2a7276af9dbfc19852c5125f5f6ea7d3b479f3cbc7393edf29fda6301b98a3425962168d7b334f0fa614a350010a8fc81e8c013052871d2adc417e06dd0e3e179a6e1a63616406619801175912af008a05e17acd5e2be5305baa30342c6619e6b7310a3e54ee2533ed36ab7c5336573a61054035f9a9c9d0cb6bbdc960d205dde91ae18c174001c30ae9461d23650e9437f00d547fb5ab88eeb8f89b5b6e02002eacee0a4c3221fc68060d8acc3c387ed354c9e373b12ff4388a57cc1fae1e64eb387236dc0d94037c5721c59bfe72a2996a18302d3ed2af576a8f2ae0ff7636ebb2f07d6f4b0623243e39e947294e6aace01390db963b032750fb5ead5c7177bbfe30c8a49c2a0c3581867489aee287db9c98af72a0a638dcc8fa22585f95a279d96971ce16693f7b62181a7d4466b22264f0097b7d194c6f7d7f53ff1fda1dea75e8305d834fe0c7f2043c75b4421e6c99d27e802914c7096282191fdd91d2bef77de1eeb9eaa7552922c2c971008c5b953d83f53ee53449d1df31e7e323323f6b7fb24e173050d4ea8109404732bc370142d4fc2f35ee89cd8bc7973115809ac186d7dfccabc05cfa1d4d101fd7c34100dcedcd2b812c57bd3585ab204f03df4ad42222cbf7cff02eb9e55a536857dacc08f54da6d6f4d206c1561d26aec399b13401f1448cd04bd8065625ade88aeb60aeb81a8c7fe8c1c12aa334a9d2dab70a19a52955cf3dfca6e713733a60182d72bfbd520632766b79240b403ba707a4e6a40bd581961666b639db4b94e000efe0c5a4f562e3da91f454eaf4447826aff262b2b787edcc33335b661f3f7895dbb2534a8671c476e690892c8a0f00f2221a907a1e95e0487b86b1ffcace2f5f8f7739aa0e5864ef59e61fb2b1287a574536b810a7dcc14fb7bc451ea8f57706410f4499b4aa4a4f59555a6feda356b8a36df11927c9822b88db8872dae972c2a66efdc1781867a0988b82d004f872796b65c575ddd91067a73b265cdd5b65b372b1435e68b8d1a54bf3f9f12e7cf2c9fc9d7ab98d3ae25fca2d2cf5f122ea40c7a003f0b3fe22b0fa409b2bb52eeb87e642f0517ae4fb0bda7f1fd69733c23f49ffcdfea3703d46f8bcb16daaee23ba690214db54a07d87d29125935d9bd193abe7e37066f39f07638ff7454f141bbed9ee6bb74a93b39e2421f2fad892ee626c7e5ee9022606a2329b7af4449bf1e174d368531be845eaafd026258bda9c607013f295a96131d629549c63f2b0e2a6c6648a61484d8b61cc41f95979135d5cff40ecb2d9914b117e2bea5fabb96e5f75bcd4e5f027eec847d43f1caaf3ce78bf495ca7f7f483e3483e768864a8496987262176398368efd766cea619c498db5b171bb124860daae5a296738e311d29a2ebf2d73043e6373fd501bea6a3bb8e8f72e9151f87966bd47a1279a42f166a0bf93c051a773dd571f7a72b3afe244afc389852e764f09d9a30313d21fa41be146c5ed3983095da07e285b60a17b63d874fb4e7d25671580613d6d80ab182bbf0d819e740ca23d3c3ba020d2ceac8e03f0b84c8d4c4adf6033415a7b2b67069e5b4c32d5f24b45ed29812af3301379ea3ff5345f02353bab24babc6dfacb8ef654f1be1e1338dc0020e7fd828987a4399221caf687eb3fc7077494698efa306d3cbbba422e564a2480a4694bde8e35e892aeb3df287c7093530d675a67534b2ca7d7df0199ff89467eeb28b16982c5be74ca8908929bac1b07120f2a33003345804975339549c07e1103e58baeb30585699b080433951074a5748deabf59ae9cbb333efef1d776647f0377f1d4bbe52e8cd90d6c52591bfcbcaa419bd4824662f01ca8e1bd67617906f5da6d8584e861a5429d0a99f831a811e07ccf97270a691c570d34f9a43479fb53e4ff0c3e0ad098dc97746c471550633a61334add8e38a730603b81c8bfa9eba45f77ef983c4488070581e0df78f3a72fe40d5f2050417180225d30f7aee9646229781b27cfbf2bec2b9cc56c724b8f4dc936f06b34a216d33ecde08106774c90c0f93cf194cff71073e52cf0e8c5c8294e443191d5d169ec92cc8450ab95aa7a51b55c48cfeb8c46926b7e3e4e03c8d9f18108b17f44606b26a4d4b8e02e12fae65bf55e782460f57921ef8befc1b47d2720f2d692a46d2c8233a6462857b383b41434dc15a8c98a851070552b052a729a846b558134b8dda47cd7e2c7e3e658e0668bd5c0bbbdae93b59528303b85630397fecb05dac1ec56630924e99050d46025ae06a18d0e90ed877f3bf0ecc5de36ff9478b313f444c191b1fc70997a576ee01a4c79933c0ea8fee19c05a4cf935cc12f1fa01693622b211497af2db2f615fb335e12322c102b0dfed9aaf9e4ba94ed817a291a21cb386c186679588f118545c6a37fc851b6615855d933dd17d88af1b686a43ecd9d74dddb0214ce5d79d09d54f8b5ab29bad199ff1ac2456c9c34209c0634f61f6ddbd2a5a3093b988759fd9db0305146893834922413af1d9fc297b93e12d27c23928e0e925a4cc2c9bacfd1cef9f33ca8fe33fa2efafe06e80b92b9f9493211b89839951c7582fa35f8ae28e654fad318f400af090e0181f7db250c0a48bf10ee0148bd26b30bb5ebeece22ccf59fcd9c75657fadf74f24239b13ba46ef142a44ae9587b98f7b09f45d41fdd58fcf7e6418a3c952b8d0dfad62ac77830d2b64b0def341a1217932417e4beb4245053de3953addd8263f04107e2d70c3d68dbb08c47d4aa1dcb9e90227fb1fc41f39192a84be794e711193e845a54b90f305072695ada08b2f4241e9fded3ea6713a300146a4133f282c395eebc361d82673c505939ea855ba95b495a3b5148b8ac306a3224c1d46a8a2b389f2312adcf4f0579a5092a8fc591122b5ab2d377169ae70c3c6281d1ed5abe432b1738926d5d9d43186150f3d8da909741e7948bb5dcbdaa491ce7aadd70bb64eeff7a041c41372a1de25aff62e1fcd3219cc573a8a05906651403475e944ead9b25a0cb752a08a2ff566f50f2a3caa0c4602a0bf38e14274f73d7fa7aa4b2c7b9fe39cc9b3d0a7e48f0c2a580ba6236ad48c3f2cff558820e5f86f79aaa8ebdcf0a669d8e63e3f7358952c72620aa9e0b44edc21aa98f59a707538d04eff9b0834a97fd3f80cded42a38fefb4897b9ecc0c8cc8056716161ebd2d37e66303a135d486c710d419b6638c60eba3f0045552b9a8cb824c0db06545cef43feb859cb58f294cdd6388a2ffb772f44dde256248f644dc6625fdde2d45c1a9a3e0fc4107d3a58366d9274fef1728646e2a8f0725557bc97bc013628eda8bf0dd2c3ea9377d425b2c12dcb8de8f5453379e7d17e6e8719a4821f82e9f9c1098616abd960ac9d15fde818a5134c150b1fb06e511121005c71f7caae55174be15d94a824d2436be9db8921c8ce0e39b38ae07e6e7e4995cc37d10370873ee50dfe30e0c6cc3901877f24ed0541c959ffb77cf9c941155372d89e1e8a463741b4a952f58c4b53e0faebf7377d66f3b24f8c5590d3225a4c249404d58006ad0116ea96a2603c34ac648023521fb7ef1f6f785789f9e2f8e3e6aa5ae4579bba0e0b9270e73187800a0d67a5ac58261dc6768535e6053be4368a06a72236272888bc424cd2d4e58029dc0ce183604560574f96f73a092218f6fc9f9d5634c8cccf09ecd00ca0f27189a16290104de038a622ba85730d8d9a6c5f9140c042eed1ad9f7f138fdde66db4fdfeda6aa28e10a68362da4c3ac5437cebd83fcda3ba31e4987071c00f30772451663cb1372b85b2171c6611ea004a852e10c7677b746082144ad49c46c6f2291dd3bf30a090a800a32443c2c1612fb5e8c91f9c117232f7385efbd1963bd32f2e346cbe3538a5e3e86e6276ff4114369ae31308b2e02b3c8bf798ab1328e888a31567e31d6ad5c278659b49ca75475f9982ae3c0a187901942660899a4caa44247e7e4e4b854e970746aad486490c82079d3c87bf5d4fb95674afec9bff7ecab7f52c79fa497d846bdf0ddb5f2d027ffb995d6658afe662ee57975e7f5b1d6ad2e1f9f432c62f14f560fb6416ad924fb62e3838fd0d044cc2053d66b7dea73ebf0faf1f9073fa2e6838714da882838e77f3001b324f7a4c829238455c908615532425899265291f2a8344126089920648290c191c191c1c992250b144327e70c6738c318638c91f36ec82c861862eca84c604f46845421353f59c30c663003a562eec4088908238c308ab02723a707d0d70bf9dcbafcc9c8857c643e3dc0f37a211e21345bd7652843192215280588ea264638050c30c01831b9764e373c6d44de48865f7cf14515aa840c6420434bcd14c29e8ca4accb573f194959a999df8b87870e180326bfab4c0395cc4cf3a868f9576f2484392dd96d66e31452bbd5a214521c84631592460ea7d122a32546ce5ad0b37358f69005596b41bf1908f4d0adb516f410084e1933b4ff3d881000fc5d42d172979863d4e9c827d3df4edc914d60484813e87789e4f2fc5562e0c01a84783cacbf2799c41a11e3e30fc17fb79f0dfb60df308c06c6fb658161188661bfa659eda7f980c6f211a99f6f88281ad88628c51553a215ef868c52403814da30ed211cab9076635a3b8677d55a0e690fb5685a480b6921bcb583ee432814ba16d264d82cb3324ef301ade52352cbc80a68c13b5e308e88a2828a1226f20536b2189270cb28e31c2844bec0badb83ba0ed4813a54979f28bb44549421bcef9e2fe6b0cff20665d7b467b71ab6cf342d0bd95006c2b0e7217c0fbaae1bb3935c93c514b1467c94b20a1de3122f70e2a5d0020a2a4da628a122e64411e3c91649648c3166793c481d708a18638c4122151ab1a403fb5c367c793ca2de514f13736c547c44d0e961c30d51070d30f24184ecc04315ba00a3871a512f758c2758fdb391b74b7dd92175b8c4d75a312c3fa2224e18b6baad64c4568e5685f78d953113e287b70dfdbb9ebcd1cf009006ebd69b3acc19730bfe74c0f7a7df23134cf4bcc447a69ef9c91ef2cd6033f2526ff922f00cba06eaf9eda389ae1e1f1f0f294c38a1ab5c03673207521ffdb2c4524b27ec06b0a89f952439d6014e60f0ef5241bdc47898f81b628ea9e373783ca486430082153a9e7341c518c45381177a092be85d975cfd8e38222792e00b4930d17b3e2b49546144167a57543f2b49dc208927fae53705162604b007b0ef6d01e316f16101a3018c10a51124bc224a0328414e25cc580439e7650029cc4a0a959c628028545614ac2984ca3280132cea045a596151035081562a54eb07f4d67a196008d533040f5d2245cbb7a40adde2d98e10d24f08599e70d26f083850a842144bd0f41b02921d5461065bb0a1870270bc5c090803162f0f6fcc3944d4fb4931dfd042e2b01bb1b0f29617301c592b8691487f444d6b924922963938157e39d53f737ae69c734ecfebb66dd682306d4a39a5740015b01d9fe8307a7dd53ef820bd888f93c9c485425dc8eaac9089e3264e2c5df4d3e34958e22cd1d1a972352b6c75336726b1ba9973891373986492085b5a482d24527cfd7c7551ac628d75c64a846315f133ce571d4bb3f4aa749a0fe8988f485dca51ca165d54fa7c55df7d6219abbceb43b5c3456c7435ab22525778ea94b0068a4c25334929075e1a283293cc9cd0ab5965ba5599aa594dae3259a3733ecc998b8c66b8573d3a71a79b4ea7f9801ee523529f729c4209ec7951eb153db7c5c4626229b176ac279614d6939803e2442963f72eca2ba6c8316c67baa9eb7e7a34993a264baa1aaa605b8211afeeeff128e201204e3f994c1f5d9ef211a94d97b774620e253147bc12dd6529c6bb211fb104c3344df947d4a6ee1327ea80384a74a28e00c8cf26460880969f52449954983a1f56171810a8a117283db9ef9a4a8221754c1c59437e88ae9bf12d3187ec4eb29880bd21f8e00abd392ddfe5162ea2428f252cc2db5a42332b38bf2d26169396cb5b4dac9d19554ecc7132952e49dd68eeccc053c9c49949664e44c96aa38b0a038c7b159f442962946e248a4f62ec4825891373ec44542a9e5e9df0cc99494a782a21e1a9d3e1b96432994d6497654e44fd6801c6e57db5c4a96485a50c124726913a938a9933954494ce12264d2614f3499c51e614db8686383147ccb4b28d889a38136726993a938915453f00dcb4c01a45d86855169cd0014f6034a35cb00d2ca214f0f28e0bb3b0cf65bf18a11657ac0091e830410a02a060314a2c11152b4642c012309c2fd8e76242800e16e37defbda84318182ad6783a66acf1e0db342d5a661ba88882ef550c9e048f002730d8851637b0028e96bf820a38d8089ac82aa29cb38aa8e349a18a15720a14ad83062d74bcc8cb2a3a5a867e568898a2a7d62161649459466922b51358bc05224af2f06ec8ea42244c956d8080e911b588a8a711f005b6b12af49598e3545c00b7d072ce2b748fd823861e8f1bde0d7809ad225829a59c72ce39a515852a3aea3c694592977f44fda44ed4f18480050bf1528a293966e8f8ac0c2145ca942793c81134a1a31cc1e321af91c06414a9e3047f03e379bca422488efd8d973a52077b792f3f8c7db47963f49fcf87a8f79c827c3e3f49e0720746813a7007ea401cb8830377a04e3e11f1dc4f3ec99985786e6fb34d767b998570bfe7368c226b68bfb78122e473cf3fd7b24d105923defe661eb0d8d8f4c89f2affa17f309e7bf2497e2e01fb4fe62e82ecf612e04470cffdc17c4ec473fd7322a163bf8101d94009721f70038324fb1512048c8c72df058107a34f55a220851764d8c1c181c9be1d8a100d8a90fb2cdb4091370bb9dfb20d949261152a50ca8555b4240d80d99e6551b6113dcbb28d28479cac03b1100161369cec0f26fb8658329cfb07737522155923fe36508464df6e03c5068a90ae86966da008d12eca3631cab71ca5e42cdb44b1893bb94a9d3f98ed3beed82c022842b46717c1fda982217dcb27f91b981785cb22383de0f3fb93f51b987b219e6bf75ccb272b07c9117df41b98ee593e553730d925e0b9bde7369faa1c24673bf71b184de6203992898edca152238e44dd9591dbb4ec160b61c944ee5c79cb273ac2dc1cb1c81af18325132c75648d6805f1e2c140a9bea5ce0d39d057f9046486346343443dad8a5c152c7dc4a194d2f788089801f6f68c283107dda79bc614917405fd8b55687a4baf29a5df7147d39f1e45ff42bf839ec6e3619d7ec6e3f1eadca931c77b56251f8d58c558554a22d59a2fe7aba47c1165a940ce6a5612abdeff38a59c12562bb0114e29a394714e6a4501828cd943c9bf78585572ca2956c61d58192b0ea69ad1c69a557d32564af0548185f4b332844edd0276f5b33244cea70b6cd3cf4a0e18a8a0055661f00c4b6c31c91863b428418c25e48ce189c012a69c0a3488291b14e3419e701a7ec812668e16343c84023eb1aa4852abb851b15817add6e7e5c3aa08d0558e8eaeaa28680c35259224b494d80d85d5939a842c98aca8c219bc40001d5fe50082140dd0f1330a100a01041d3f2f1641605682e082969f324a680346250a0f8830822b3855e8c1115180c2122b8408c20f2e267484c21327e818ebd48108d8c62e4f1a838e9a036c4f1b6ec821e690599ad8a20a599c6005078b01e8386f9dc16d8291f4abe205263c61c044fa55f1428e16b0917e55bae085162a4c91c514557ea0dfc7b0820f6c44bde772cf61103e39e72b1276277c5504eaf83a6512ec0f3aa56879074cc15e36b4f6edd996b70d14cac5e57a6bd16e32e5ec24cdf491b61de3176b6ca49b489a0e7cd2f19637f677ae543a69b7270cb5952ef0f231a3fa51365010ea128e3a6fa84bd76ee7b5dd56f7e480ed17e90729e368b975f998711b4d271d5e3f4c275d5e33fe2e1933f08be9fb65bbb57579f360928177b4600590be77883ad28bdef228ea51695f9d7d2b4067576afbe8f0fab1651b22caf2617aaaf4d2b7cbcbd4a3f4fda4dcae846d44547612be21a2ac8f700e112577de146d5dee64b7a266eff2c6b2206d788788ca5eb608728cf34b29a638b2a2052d68410b621083264d9a3479c10b76b8ed9a966dd744d744cfae69dab61da1a145df44593bcd441bdedbb6695b4e89b81d9148dbd1348ecb5ba4ed88388cc3449df68269d9f7cb8b28de2f3871c204134c301145145270a7d4c4519188d26b9d768e744e24d2b812278514a69214a32ce3388ee3220ab5450b5aa004c5340d5fee57f42db5516aa3b72b734f2f7a96baa72720d946dfd36c23e26aa2f69b45df2e52425342ab89a23b2addc6740025b20b64bbee26fb768dbabca3ee0efa416f98e8187e11253222bb9344df2ebade15a1a26f787b44fafa0817815a742bd2348d93815ac3516b9a68a6baf7901dfe5cc3514f8dbbbee51951579665574dac3638a5d2163f5090384e74bfb87b26d2befd5e9c65dcb30dbb78bfe84b2fbdf4d24bef09dbde92857c3b8dbc69414edc89cc78cb89fc34be5dd38ed113971f3063461592651a79f7b0658a8d685e34cdf276ec5b2672c2896d9b1165a2bcb12ddbb33382547a91719b16275e74a6612795fea48ea8c59f35fa93a619b75ace9df2ae33f0933548a4521e6557dea41197b1bc51fad95bf09335b2974884c88cbf05d3f80cfc7778bfe8aee5342ea445c88cfff4001a6fb9101ad95bf293d985649f919f7c81384164609c9616510429b1b383615856b08215ac400546186184114d9ac82a506e0a30edf7dc334c4fb356d2ae69a44b3391d34b34f71a3e7559087d295f20c0d054f477c968efbeef25fd749f9d66523edd9cba1894aefba681a269cfeea68149f40c76b1bc3bedde2d05dadad9b34c0393944cb72941e97286b7964467160d4cd271f122d295f0e91dde30c99335843c59237b29c324b2064c12758000a35492375bf474616598c0e253cf07534e39a5b4de233ab1321030090c942a9f80bc68f997298d30040d0f04bc9111d20005a15f7c51cc528a2fed17d64e6dd7616bf3767b9d66d75dd765b7a7ef2e1e2ebc8b5c1f31e9ec57ad2251967f9dfec29b071eb42d65dfd7954fd7bbdb7ce594e8d945cfa8b523146417bd3bbcec0150d0d554d79e66f622aa81b48bd20b24434686720f65df1f09d11f0005349f5e03431adedf3c6851d7e54d4377a7e768de3466cc9021a3a5e57432994a251269341289ba8ee3b64dd3b20cc3422110e8baeeb5f6f3f17848a4cc71549b7efa7b3cb8ef8a07e9a153de96ee5eba09bf77a394b7a5e94158d350de53d3836e80f29eba3b57e5e0defd75796717fda168de99565351fa6794fe19d528a579e61ebed2f70fc80d591e5a5a4431d3c205599665db2fde9e75d9b5671936fd624a4fb56719363a6139c5655176fa6bba8d37cb4cd79ee1dd83ce1eaf1f32dc45a7d746d7b07c1ae514bd286b9992380d6fed262dd74c9dfda4fd9ee65d334f5a4e89ce5d94b9a066ba20fbb459b66d59966ba60b32ace1dd83d6b89fb4bdb1d74c51271261a3737984df8dec5cc6de8d9af91e3e4a281195b0ac1967fc6047c3cff8c1ce9428b25f9c8de8bb538ab9ed5a778a9dfee2cde97b2fb6d16bd74e7fb9731d0d778486c6de8944a27cda320e371ad3de9dbec39b4677d7f0a6d11aa9c3bb3bd7651aaee3ba51145c1433a3519691b8d36d4c516478733aa3e1ae715dd75dbbc9f4ebeab89bb8ec3d64c68db878e170d38d4497577751de9cee3a2edff034c7d19c3e559248025ec1c123906e80a3e14937c079c1f50f065d8b43ddf6cc6e78744bc2ae7de3bedde2bd435b6aa9fd51da621cb5b7143f8d527a58234aa394ceed94e24e1fc3651c11b59d661c11a58d46a36737d81d3a867b967dab95f4a3502f2f59fe01b3682cdf62f894caae3d26d3360cc3315a4ad39ee50cc330ecefc272d0da2946a41dcbd90d5acb4a7f97cc76ee3d62f65126f20596659a1d9afe94dd5ecb594e6de7be9deb5ec0fd9be605db766b67ba7fbabcb92d74439654c25bb3d7f43910a6cfa1eccf757bbd20fb7576ecca5e9f5ddc31bc77dca0b70c87ceaebdc3f1f262c3060ae5e2729db574d9e8f7e64d1a755947ca32521ea146b9cb467f31efd0b7775de8d8fb8637cd0ecddd73113e0235c7d573b71cce6ee595aaa2051fd4dcb36fd8ce4b66fb760b4556846346173d5ea95106436fb72e1f22d1dfe585de44f994125d7b8c96a1d0db4559fb8dde30760e479dbdc3507397cc8e88c262b86f8f578acb35a2b06fb947446197978feddafe2e05441436230afbbbb67c4a6dd71eb3651c11855dcb341185a5e2b33cf3f90e659a1dfaf307e47308f5a5fb0613c63199b8b88d00092488b0a308750b1268f8ba0509ac5b08bac5176fa8b53d795cdf9ad5f0fde8178fae6533a2735684bb5facbd742d6bdc45176f177de9a5975e7aa9e89a4884bb77e74ef1de41534d66e348e7344dd34ea49cdab0cce5bd83e62eca7b07ad9d9afe2e19d1b173ef32912f302e9fb8df6b39d27ce2724a74eca2631aad811afba671d1a2220750628401ba066a0cf800b548f47b67b2dbbf5b7aed59de5816e523506ba3a7aee77d6384b6de4396f0d6fe6ec25bf3dc3bf9c010873273046a7a7b205a6e73ca50eca16cfb2350836eb51f4009a6e553ea5afb6ba03ea5eab5571fa0aeb1379ab48316715cded7dcb5675a4b4bf7ebca9bd4e1175159dea4ec9bd3da4b1c774d2be50ed5e58d69ee19e6fea28ed3bbbf2eefaab9bcb18b9efd845fac9165eca3f79023fc2ec2db734bc247a0de6ee3dd30d45bf778a5eab7db0d6bb7365e329184a1de70dcf2867a1b5d84b78b165d5e29eea2f7901b8e5a8437f6cfe7f52346fdae2ea75e4465e7b24b4465ef113799a8352dcfd86399c645dbbf0cc41e427d5dbadf941df493a2e911a8f7117af81a9a8f403d83011fe083d010e7749b0664c99225cb294381b7ba789538c109c0e012866b8a111afe9a62040776c00a56105610c20ae653aafe94aa878fa9f9c5d454cdf55d70d61c43338edf68fbacbc3156308b9e978f0aca0c01abc8245a4e1cbce8997723f09e439c820fe599fa5c5efc74adb3d6973be1bc9da9ebc7cc1c4e7d3e0fefad75217e17d7ea535d56bfaadf5a3d84492da45da187a6ea8f9a5d52f6f69e5bffc104ccbab45e2d88b2fec1281b4ce07668492594f3d5ad4d03a5e83977609f0d71e0ea9977fac992b7e4e7309f3c9ff9897ec61e9edac3db4faef9c98c0093ef72d3bc2c20176494c8289151f26e98c00426b090c89440a6043225a88438fda83e9f8231a71fd5e55355aa56a7f9949a306555249021810c097c9024491224a7f799e93995f9543ff393f599eaf25696f75866c04ea92a33029911c88ce06541f36241e8850c11324404afca85455bdf0f8bd5c1156dcd00915afe88a669e6151f6879ad2241eeab83b008ee413e822019e206860828d66f641aa02d0b8baca103a5c81a2050b681546c15291f2a557674bee18e8d1444c080c96ce449d1455e16bd9f187ae6c8a66968dce00934b081f2648d50b6b9fe604054f48e383911e6f3073323b7bc9567626eb4fc114ed34480054368f967c50a53340ef21eb8426f0f18414b2410c6fe83898830369fe4ed732a0e0e8e7d857d48452d0f810763ed8b841e8f1b1378309f27c101f3b9c548e827efe0bd6bc2c26f207cb881871b081da1dd363334b3ca1cd8f0343734c0a265e6c0c362db40989d50208ac82c1b047386e661a1c345114f32079e15aadcc3c342070b1d2db3139b772042549ef0000786669c1f34fc23867f17114c52b1a2032beaa90eb2d056def778501930b078fa1c6e7aa0dfb3b13fa73fea3fd4ba9d773e1e3ed4cc20a4b55256d25a29e5e51e0f2ba825a5b595b4af3556d392a97df3025d1f73d04378bba1f6dc1979182f20b2a2d43a2d32717090d035f5507f70f577e930d2356f0fe8fa1eb108ccf284ae560f74b59e153842e81773d51c58a1228b5b4ba0a9b0624a19f850e461c1c1d1359ab62e67cdd5960cc452a4013abe1bf13596ae7ca85e635141cfd3d0f3152ed2000ddf8d88c38dee0049d790f49c4d8842ca08db9e0e1c6f9e30122631cac6436925424e84a8a016b52aadb2860c2a197c70c5204a8b8686b7e13d8777c554f35535710f24a200598159fa5959e20969e55df5ae00d01ffdac2c9184de36a217580f58459f58acb228c57ac02a1ac2a40e4b02f9bd1a301e98ea3730b04619e3cc8185d623fc69ca392384104208219c324268e147d1146880440b383850bfb8859d3fc93f20e8a00b39de61ccef42868441bfef10750000e6dd0251f47befe1bd26e6d0f4b3c26447c6f71e4c98e8f7373149d6787f171651af88d410e68626b0a75d5e9e813a3a78b7b16305075434cc35523f89f9b031ca18659431caf8aaf7aa57bd57bdf71e32be37f3cc3bfccb33a794fc7b7d334b13d8e73273b0c10b6c5f476b03e60beb7ca409f196af953ccdf551c312b0cd552ae9acaa960c544fe640b56b74cd95a65668e5604995229650d10f670916928f981b51d586eec1fb88fce07d44deebf79f87b087eeb9c43e14a11a943796412ff2839e09e51aa941a05f83f211492f7aa1e7077ca503d5466ade79cafc58fd8a91bfb960cc817d50133103f6a4e88dd2d7372ac625a2aebb4494bdad4097b8c220ece3e67d735fe18aad2be646d4f59b6f44d96b4b285f9ca07d13232f233f2a2df38f4acb4cf3ae7cb075cf7bc81ed1336b8c8d2aefea3137164a22a4bcbfbfff45f8a769a4984819b05395819c66aca7b79c396825ab9492b32ccbe2620e2b731163d78a715e8ed3559eb30a4f6e0f7e87b40c6ddb15fb5c36cc9ba425765f8ef8896112cad7a225a7e7e77bd70dc2cbf5d31bc65fc76c0335b1cb9b22002b60d66dc41c32c65dd9403dbd5d80481de3a58c3a301b9184c5cbc589440d4ed4e0447c359081cd3b5e50a893b00863847f1155cd1a3f61ad4db092481858fda634cfc4d348284cd05459d689848141eb52cec3199aa90e3f338d8442ca4f29e3e79c2998b994324dc0e21f0566eabd17b8f76a9acb001ad0bc2b74f5ae78e285e685e685e685e6a50146d4c49ab86b624d944f2c915048287425a168c08ea5d934f19b06ea8cb14455c9999aa8a7e79ecf5a55b58a5e70fa7964f5ec77758facaa4f557decab9cfe7c57b7b3b2cf531da005265fe513102bcfc83d2feb9bf961f20b5b553a6081eda9a57559591549dbb8a5774da53954dd1151ef46c719bcf9de9cefcd37df7cb7477c1152eed08f4a902b7288398cb003887c5a6420e6d818463aca860586ecb02348ccf16243c70eb08deda7c50eeca5c2b01d16b78368cdabc8d4347337e678328333bb441fd80785c0e6e5d5d59f151228d1bbea048c6162615169ad27522a13e3abcae61ecb785e3d39e65d133dd783adcce715c677d554fdc793774db4f15c794feb51c6aa1e539f57f7fc6424f5c9f59e9caa3238b38506371e4899609f0d19c00b6cfde15d8ddcc81c019bff9317c43355b6ac2a6f22d7edf5aafae05cdde3f9fca896c8bd8537e5c95b88fdad728ddc3fe8ea692bef077bf2fe41d7bc6b6455650dfbea16bf4b069e889535e211a967de6f8c08b96e855cf9beca42aecdf49603c6c0aa5ba7fbddc29b6647e80051b099c2d4094e300cc3f0bd583bb671bf96c3a363242e6f1aec9491ba67ddb377f9455496e939ae8bd70fec6ad2bbdf2334347d76f3899471b8d1349f489fa1bf27d19b515dde359a3ecbbb46df73258ee6eaeea77becb4e39e9ddb9c70c79c60dbc6691a769d701a86f7d5d839bc6b34679ada343576ec1987f7be4e73b5768fa823dded33dc49dfb893ce9db45da27cc3d3a7ee9d76ee5cc6fe226acb98bd32cd7d8d1524904002092318618925965882084478e289279e18c2109e6cdbb66dddb6615ad59bb665d9c5726a24bab4b46ddd93edc9b6759db66d4f364dfba54511e6f0ee4173dd4d7864c24c1da739bc398daba25a352dc34e5c04210850701cc7711c87e9b3675573593efdd89e3db565a91751dcfe416bfaec977ea399e6d40ffa876c74bae74ef3965dbb9462507050703532a3b7bbbabb392ed7c80340c1e928952e12e8dba8d495b06f1fbd845facb1b12d03e122f45d3f240977a01a0375b7d5d30feea36ba71fdab9a7b47c3d757dcb262b052000a109ee1773d7eeb70d67d730dd46177d3b753935ca54cbb2bf6b94fdfe4065e8bb8b7eef7b374679ffa0efe9b7d296d5483dfae95e93a7db846c425eeee26e13dce7e331bad16e681771cf4023bc31dd8316ddce08e47e69dddc365abb09ff2012715bcb3512542b776be40f168a0fa60fa09c0bc891a2e117902365c992254b7ad083249248220916b080052ca8e288238e384205a25f58746a33eedabbd13baa69efac76aa6996bb2673dd9e9ed39ee8d39653577edc69de365a5c23fb13f7ee345bedd7b55f990aae5f5381a6d1c8277a26bb342a02892e4a338d7ca28250d6b48b447fa2a989d26c67a7914f40f289ee521c8d7c62d968718a54727430a718f20944c2061a1e2261038a85c934a21bbddad1b48b34eecad08f2efad5f0e9e614cd2fa2463de87bee5e943708aa90441d174f9749b5c3a4dad12e4db5633231a976405045ef48457b96bdda1175a26a273bf789a2ab9d10151054a15890e400c3b0543b4f0a381afe49014727d3d1d11161222ca28eb8c10d4e7082139cc006364801271a61f4d24b2fbdf45291484484c665a0503f86d52a844696913592884b410a386e449a711b192978e9a0d12fae45c6ad130874b598f2ae24d0e89221e33464601a324e43467e9135aae0c89031a2010d6a05a388228a2802063080010c642003292506dbcb62fb8e53d8b05f8c7d9b71b7db8b5bbe61fad369d6685e36bc5ff456da4a5b692b6da56f94debedd96f03d87a1eef0d3f41cc4e1e6be74532973a68e7be9f0fac1bd7479757f17098b288bfbc6eeb3db9d236152445937e11612a5cfe8451d6d69f9bb6ecbb55f6a04eaeea26bdd35ed9de8917be9146b32f432a64cf6237b77798d447807d1343bc7dd44e2b268846b445997816ff75d4ba59b4a2795441da6516a39e55b3af7d29d11832d06a5d2b76dc69d913757bad8f7cb029b82b6f6f6771a786f99e6e5b7c10788c156eaf07ed9413417138261fff03c8651dec505125dd0523ef830bc32e3fb8451acfc70e5065e790fc34ffce615fb5cac6563f5f9e45d6bdda4bc7f9b374ad76f947efbe5d6b22ccb7a8996754b660c0ca52d163defbd8f89bff9fe46576c6de5b9d156352b21d816920dd4858ab164f5b83c3eed91d04245d47bf5a4b8fcc5ce38277c15c8c503e714aa3d2b3c1fe16b55d5dbaaea2129103a3ec6f8595d56559525b43646f9786b44c1f7cf26d5cc7c946068fa1390792a3abda2e9125a68cf271349e8ad39e5eca1677ed4aad47a6eaa071eaabc555f5d45a026494c2fefbb21f33ce8ddb096b5f3f6c2dd27de2e31b6f246bd64aa8c67e278eb8aa1df5ef1f60c87f0f63cf40b9fba3f7d91b093f0a9fbf5a76decae91f63ce8a17f2e19fa3d5f7bc47902e2b9e89e8bf2a9fb0948e9b5bebec33f6ef4750e6f787b5eafe199ec4fdb7a27aecfbbf40ccfd46319dbf5d64178870bde37da43ca0ab87ed0d7dc122dfc42036c3e29d4053b2e2ef50681c5db403d3bf1d3b5e698a7a192599bd4d32432461f92c35e309739e90e744893476dbd856fec41d3f71951b5ce16d294d50e9a342145947bebb998e3fe81311f18f381311f1873ce7b6c879efafe071c3a82016f5957555540e86adf3c1dff997f84d6e5e3f329f309127340a82796cfc4f2f9fc5df1f3191251525e3e7a883924d4160711b243443d2f82d47c31ae560c23914ee7a4a00cc48ea9e7e7cd230a56920ab0296f020c5e09f6ddc0e2df22ff5ce4b6d1f48734c73c6d53e92bea8788d2135f6de19b37aa8a4bcc31e1e5a39e8b795a080cb2a1124b621115240879064bf1bea6a10a5455a4dda2ab2aefea9e63b719fe60f7dc62b8ba07ab32fc3456dd6b569f4fae1e2aa735ab9b10942ea02eda45d7ab2d6b73da6ab1ac6fa943cb5cbe17143af47b1bc2d66fc8c24f87acbf1bb946eaebf0e9204460f0f055e542892928ad342d03e1020365ca50945bd84afb96b775fb0d6b180ee1205060bbd62cf37e2577c5de0dec7191048eaeb65a55071164c992658ab65e53699a39b0435b79a6caa028a150f58826225fec9aca7af00d8204fd0b03abb77e046a78a4d235cf583f52e999eaf3ca24b894f4bc254757f740a1e54f403ca7075d9e8b142cd1f29ae733d7a9a6e1ed39f678c9c86fcfa9750fb6e7620e0a1f2fafe54def7975c954a72d90abb2ebd943a063217c02523d9fac9f80dc5f161773d0bcabd32048204c92f70ab03d17aef2f446c904214122aaf6e8715f66e6f563e61e11057bd870c3bb01538f47acf7f1781a5a538a073d67864184c09eb6a24b4481b86092058f22501bb9d1170e373db8627cc84f39b5d4ef4a6138ba9ea6204e751581bad6cfe547a6074d5f63698f0f9ed7589a870ff6501bb4877c3553f7dd807f17e8dd802f38220adeb09a98a7affea1b7f24ed15bf496f59921ec829eaf594e5a79aa4ce40b6cd7ccf98b5f9535aabce33f9ebce11431f4333557945ab95a8156200d31bf78e389b20774d3acd5b64e01bb20af9898a3def3b4a75e89978fca044f1f1e6b3d8f284acf6194ac41dfe11759831e84774414ad991451d4e3a99eeaa99eeaf1548fe7b37aaaa7cec38bab85f8175bbabe56d0ef21f640f8e9511293e4684ffd85bff9454fd6a01d024f11a9e16d75c5541a7a5e73743d9c5283481ddc6bfd61a569a50f8283edabe9a59ac678ee2bde9896d1e68739bdb85252833cd51e568135786e61172628cf54cf2573f7f59bfde61bca37ef2cd7c48de55b3788fb7d953a3a4f04ed1054da839fae9f13be478455200df50f4689a87a45576dadbbe15a2bc8d67f5e332dbdd00aac61db35f1bb26c2bce1147afbd4a13cf3f93dbc32fcfc6668e55be8d833ee3a08db0ddb5b0d57d1188657e810aef407bf29bafeba15049f0fae749021708aa52bbc42d76f388526f2055633ab80309c3244d6a815040f8bc630a4a243d8d21a7e575ca9f201fda9d7b0e7197e543486e1141dc25383ea2f7cf1ae56aeb5b72e1d3cbff9533f9fa7eda115588385573e1e4fa557141da1a3affe60d128fdb838c1145d1fc2215be4b49f8f4cfda73afddc0b8d25e6732bcfd0cfcb4ff5b777d0cbfab9a7aa9f5bb7b47ee6237375fd8e1714eaf3b823d6172d63cddbc8cdecc247d5234a8b092c7a6ab803ec7181021c6d353c0115fa453f2e4e9044573b5c1c018675fd39a594d24f2f7068faf912735c31f2b13e5d29ad3b3aeed841c22a8659402d22cabac4708b88b21e6113eb5ca0400b8d00fdb840c18e7e76646fdeb1479c5dc01a4887a6efd2efe8d7864bcbbdf78a7eef370d0e53ae895a9467e42ee57befbdf79234bc47a28ab95b88ab0c4814ea0afcc07f6085196f1040a9e5e192a8a34443fa2b7f936898f7e7d4e2fd832e22b388a125c496aeb888acb44cb269f4ae9268fa5d29d134568954221539ecc3a82409219588b22e7306ec6acbd212ef0f58b83bc453db7b2ff1c6b48c361bea1f3e1f2d86def09f2b2575ac9f5d8035d0cb3dbdd0bb267e7211d9237e2e994bbf2716bd613cccbeb1d7d06bde138b86b7e1d2c2edb8ba7e825ee96bde2fda44240c509e911bcb3551d3836ee1adb285165950a96f8af5ad808d43d7175da576a99dee50064129abd60548037dcdf04661783f8441786392c31b6aa1ad5b0fedf80e7d6df655eac880ac61bd86f2ae18286f0c660bfa06218410c22d04f3064379c673d081780edae0edf6748685409e4a530f08a40757fa0585fa492418a7d094b42b467a76a5853485a5a28aa6cfb4d0f4187d08e401c107b4c7924dde72e5ea825c2295c81c31bcf8c0bc707d06a4f58dfafe264d4d8f43c3ef38c5e7f01773a14b8609bdb55150bc89a6f4a1bc317a50de15e61d023dbb8034d07bed97cf477e3e7f517ef2a6c1a17168ebf9e79b06c78ba6b779e6f616ea507fb3274e19413b04dad305ace1e9cfb5cbc7074b4d595df3ec02d24061075159b0d561c4e17111b784f215cc1c785688103e1e04d0d5dfe351c13c7d88f2501fa1a1ad0b078f963858ebb381d027203aea3a231ff57b35bc2da2e84a00bde5898481c96fa8ad5b7943bd6f855f1519e86dfd453b40c60cd8aebee7e795d8aad987b85fb493cfabc3c7e35de195de53cbbc6f6ec8b4fc49021e988f7c5c0ca159a81e16470cb18a7882ea770d59404e0f603efa5d43a6152986d0e0041f7cf4bb86c82db88084d5ef1a12809d190ce1462f801005245cfa5d43641411c5922740fa5d43620b72c450841e84f4bb8688a640032457862c91250bcc27d3ef1a9255610a2e3803121b2410064af58fc43e009927eb55f553102410e653c4072337badec9bdf58442165fa00fc8839d5cf0fa31e3c45ed6dacf43a057f8ba858bf8b08afc987112fad33447b4139bb1ebf60313fa27e37c6040d6c2d087ea0fa8309079443bf9dcbe4b021984f381b9f21050c6f9c060b719e7032371d415065200bd9d5ca7b969a29d7caeeb16838ee1d02580856e33ceb3020c086ab9a57692a401309fbfc7a3024684e1dd787ac70a1881e5d1f034fc609bcf87b8818102c2228002b2d606b9ef1165e8e54cf5c93815cc073af9cc38f9fc699a1068273815cc4746c4037e2fb2c6956d40f9f31e152c86b0d0c7d0fbc8a6695e115c80044d3f234f6f034548e8d8b16cd3430ea147a8448b98ca433165c868240000002315002020140e8844229150340f8361510f14800b91a44a62409949d31c07621c859041061943000088888888909056006994ca98edda46f74dd32e6ec7b4b3498010d42dcabbfae5f89e97c609e80cf0af5e86073a5f4f762dc0a941e6ba90038e9b814a2d3faacb862e073ba34693111b4016b8f6df888ab8f9efde84482840589bccaf939b3701fbc879e863a9141c89d80402de40c0f2099b15ecb334ae780a2c3850fbb84e8d14120956731fc6f9618fd5aa1106e3188325e444420d0827b3d43071feff1ff7b722a133a85e5b4ebd51d125fac780091fe1b8e6bf848dca35e6df6abe8bd67e4f0471e239bb6e9e42a2176d46df9a473f6f498f33c000cc34b71880ebf35d3be06bdc925579e50d538b58676fc8b3d2bba667e2d4993ee4887b7bb029dc864cfe4d01c5b4e05447208f06d2ce7f8e183b90a02b0f01e8f00796d00eea0137d04ccdded3889dc0c064b2eba9ea5e7e632abd0bf9e95751f5db69b51937563e19b7ca995e8f04d27dca629ba6ab67eade666b3e263ceb2c8d68d9a94966c6cbc712e21332758e6350b29ebb2cc3f710972f4ce907c12cb9c1a801ee3a78d562299841b8a460932dbf24e7cc48959168a24033bd45e3f95ebcac969484086bc89206bb530190882872445cca22e0148c84a0c68602437a6fa7e06bc9ddd7da147b0d1fa3f6e3fc4982fd354f6dfce942c7ce95d6afcc7948b5b7df88973c3c26c3169f902e3d263fc7aea952c917e11b4d4c6c1d6405145652727a607392cb99653cf27e9cc89253ca0a1f08699906c11700e62a5ccb195c5b268f577bc887d0d82e649212e24f22a0973d44c4a0109604e55d875f31cfb5fc2ad49f60bb45b7e068747943bbc178cc65e61789b658d7d87907fe26478cd5560c977d595e0e7c4fd6c45a4898a73f8e5a81912550ec742003f770a05fe4e7a8ba865f9e7d3acfc84dd3667e613fc170a4df0bf43102cd80609515a10b7185c109ab0779fac5fe4dddf074977cc69223f8059d9538c9a86a8c83a0e96505f438661ec0ace3da6c23936094d290878168db6c806e10ca58708e8232bfaeb40d6662c0076a797c140cdb981c5216715744e49fba296e106c5fc33a691d52e86914708c98ee51a5c8d2513867e20e1f437a87c55b97d1655c14ccda8208e8e58d55f0f4fc3d9ff100f38d66de46bcff720cde86752fb0f4c34be563be2cda6a66d297d7caf9e6ca6a468e8b2a0df37ec9000f123e3051da0b6fc0f539a97f5e551ddfbd3500faac4edd04fbc1a490dc93404c8551857fd7f4c9212ee8bcdaf0789cfee114dca1446de024fa368888f2a423f539e6aaba56522ec82ce37d13527ca1142064d3d150ba42ca6581ffa5e12e6181120922b4c4b1f07736c5c31ea97322f72dbdda413116fe4feff6d72b8aed14cb77835af15b683ee80e029100e000ce058983267046de4b40a9f98c5eccf3e4b4b6b74cb1a124c79607a97f8dde4b8cd361e1ddb3dcb9bcb6e3dceb74eed2979a8a3c0e519907b962c95aef3cdea6575e286b28b77ad6ae8a63580ab3b106b779c9a395aacd05390522727b03191d30bc7f07a9cfd2f6a5a13cb993051393e0d5e7f2f173960b97e59667e8958cb8f3409f058d10b7db191e1fd0c3a09aa6fbbc6367fad2e754edc88243ef4ca1d057784b76a1d794af539763f42fa7f7e3c4d2f6bf93300d5407189a6ca6d575fe82603a6b7a7b97f9ba43eb02d59ac1f240ec17ae8ea209b3557952dd14d4e9109df3d0e216cd2cbb94a5e7b0c7853ae914e47b73de78d44ce0d38a8ac7e46d4a98cb9379e9092e974dd12d593e0c2c4dd15e99bb4435f372758d2fac5cd85628a11d62f2cd8ecda4c03e891a0f1b4b105c81567170fe5378d79519df4c3942fd64d29520e632534bb742ab6c87c27010eb27e87fdd7c2a225e23787b02194f4546f928e7a62707587526cfb5dd3d41a7d98224f051bf65a4180b6692a0b346e0c869b255aa7ef6710dc8f513df47e9664b5946153cc06c5a4b2480ffe0a743d119aed6d5051d7bc59f4868db78ada91023febb55919e883257b1ba5820fc66105b8f7ac6649a13e02625faf0d7ce7d9f3d362ff59a53a17b4cf4997869c40d40e1e4fc9cde3393b8bc10f348e5b58bc09258753fee1513c27f0e63b3bc8269695b62676ce7fa4dd1160e41c7a29b98489c0f73fcfb9cf6822d1ccbf3747c8033ed1a2dfb7f198cc8f29c801aba431f8a5f15ffe5158b7494c94507b805d166231d3a1e9352d66b38258504d305e66988c5275a7d2a431e81dcb6880467dfb05a50dc5c8e93ce363a1512c8d7ce03cf71deb3be0ef871d5aad0b1035fe8b3048de10e3b3efe16f0bde7f3e1437a9a3a77cc82081193cfd40082b30017d4270e0bcd9c836f0f9b3071a13da29b18bb04f8b74c1f7bc9312b2469d5e142119646ca0436a7d5a7561fefe870f5441b955d41532f17f91cc9a16967c071c3880269ad3ba30807fbaf280f2b8b7bc8ffdadf0c37ac14a9e3cc4f88efd193824d121b732f1db16d30b30d9c5082f869673b92db03f2e864361090e7c10785a86121a2707a2e671d56688254064f705f037f3d8fade83cbbb883ce2b858a5e7c67b132916dfdd607ed20756d255f45f355e799d2717425410b73ccea06f45ff590a9f41ecdb040d4c1917f6056537bfe3e3163af713c9e1ec8b93a35caad9a8c196da66992a19edd86b872590a29b56adebc0022d57c8bd7166128ddbd85f516ebb58416cd1428155800a80af79828b7e2f30603f506b74780c06c850b2e9f685539401c3ed47be5da403a75b22aa589fd59a678677401c953b9aaaaa1a11f6194d7af1b91c0d3fe9881cd98ca6f5bbe57a58ca22ad9e48c9b706da74f54fb49c0e3d70f18e1f4f08713960f2860417c61ca9f572493d8c610da55b92e4c9f88335dcb44e8e96e58ba768e1ecba7303f3c1acc4794dd0ab718eb580643636c86a1ca421a0f9a3459d84ccd48252ab8b1bbaa2b8d46261d9ac61c8b90b60607722211e1a82d8a4cd1fc300c4b150e8dec53e4506b9563c6a897dc82247c0c54ef86533d2c2caef691738b0da5f633d6c0bbea4b09bff2a6d733e0db5c745b2123e2960aa8656b868cf99dd0ba67eb9d7c8bdc22b0f5ea3f44bdfab07300c1b8450060ee448f2967696f008135e063f7873501b52e48b7095bf324176097bb6aab7a465e21591282211f99263da47e6bb581bb0900162b296c0ca5bd069e56bd94f158b4c4897e032d3072989f9d21e5696a1abfadb24591242e9e8ef0102fbcba7e17610320488ccf46c849e7686544dff2af62591712fdb3ae5f0671063215123844b6ba6e99eec07d69d2ebdb7e478f6d305b3b6210ed21644b998349acae9ebe00473f551743abe2a979ddf9db4d5ee2769181645a99e051f72f1b1ed848cb3c23aacb7bbf3a0efb21c9ac869da0d2fc45cb151f6bbd544b61b9ce91073fe46c3906142ebcffc3846ea1743c6a31ed642599c2769a248978f61ea3fcbea1186b02784f31f9a32ceaaf97ed650ab1319fb214c1e478ea2cd68097b15c7496823126b9e86c3b10f26dc9dc0283775ec85a64f04d2dc32ab52ba72e92e5968bead9c6c76e3a355209bea66a6a3fc5c31518fd2dc28fc474411dc58025821840926b3fc2e4a0caef6e57170fa9e4dd5b4878c6dad34aa733aa063238c790e65ba82b31e7ec4369ee117daa596c553296267118b8f2748f3323778385d6788eadb08928ad3ff9af34968fa21d3377d449f03c4e7c75ff035ffc70f66b4479f92e1b707422b2b914b527fe86afc171d9b1ff92792f1f407a764ed096df8452a5b6fd885bebe8562f29b76ddbf4f3af94703f4c4c2a1a596f27985b1eb0c9f9d36c1de88b0bac5dbbc0d32e2339e6ea0e102d93ffccd2f6a436d5ca5eb8cd90b6ade3ae9c078a3fd1efef4dd133ef04a289feddb4447cecdcd54cbb5b2640089234a66b442de6c46cab0f0dadcaf2f0f58bd44f8c45d10ac8a911d9d9585e75421dc5de45ddbcc8423635557323d2d260fd7ee32a2ff5e074e674d506b862f356222386986771fe9968dfb788fb7a35824069a508038283724b547950411936d0b27719536ff164126835b1f748b10e19dc32da3e303a7288d2882842efecd77831b85d5f21f1e669fa10dba6fb71d61da94d182f6d2a5981567e8d1952f9e20d7840e4cb414e293a918803f5163d94723ef2e9e4ccf1937c69151e401517259464fda7c3a61d76a06cd067d044e25960661c23103b0440d6bca70cd06e263205154585c4d10c36ca98424a876c8a231119de257b324e61dade1c65e32ec1c2689e9d30eb0a611581d5ceece0cc7af3f20f829b636cc17a3b3a31b014163948625de62ae85050c75717e5a257c916c988c04ff510915e1f03d63c82ec2ffd9b645b34b658cff2b9280a770acea497e414590b2108be0649e2b75d3e0f62561f9f0bf1fed08ccb23470ecf0bf6310afbdbfc62e72968c71e822ae9a74f29d997114f52f3a89a39246e63d63c10e1bb20ba61d1c6c62da99199c121ac714644b8716d51e64ed3c1c46221084440f6a0280b2b4d1fe1faa027565713cc33559b424085c5a19e16998d15e9c3b40b89055386a7ec48acb5906eab3c4ed9f96939b340cece58172215c8024ec442eb0efaedf2477543fceedddee5b9d24bd3be0ab04f1fecbe416571f9f718f78863ec2923182ce0ded3b8d49db17161ac5f75f46c6a9550da9a0ef6b729e6e5ca9f2ef369d89b2e56e34583a8314c82152a05b3d5eef1fe8a71d30f74046337316a2ac681e413f29bd4bf826032a9a0f211143e579920915e3169367f38514fea93e0ae8f7815b09d126e43256bdff2bd2ebd498d60c3bc0ec82b1a58cebaa823f4dc18bacc5f1ae8f7b51eac99733a92c2fb62d8a4345ca7df0bc0549573592b86e0f56a74904224398ac3d005dfc81724f791203f43d4283152c5952d44714cac9465c96906588bfa115af7c834391111e298786aa5c32df5df8278f24777aed76275452c4dac81f061e4899d0dc70d014cd4081b37542ee48fb657c9c11fad254f767ec836b85ae865cc530ca2202623ee2573b1bbb8c8db07b026fc92a8710101527a6c335e2346bc647280fa49b9eacc31ccd78fadb16f6ffbccae5029e1cb85d2d72f7ea9e209ba1dbb1d9d2758df9f41fc7c0dce8d139ae24911dab2936c1acdae18ec0a1716ff2e8f3a8d6e40cb61fa07dc39a7b303d93f11b8d46307550a1a049e21c83ea90acf4cad7d2ddb3506b5f16a3d22d6c6250b439e49cb3b31ff59328e0036076b49d8e6e7cd322af39381073d04df5a1410c4a34d10253f4f6f55c173f2fc23155f99b7ab93c1f9ff9a00293336edb64118574c94e3b294e8b6df92b0a909af5b57ba440d79c644bb55941c5db44e289001bb863839f137dd55492693e7eef200be421d8c037988eef442cfd9ba383bdc1cc8cadbf53d5ee4b72114380dea129d7ce45fd5a8cff013460267cc521a907519476101df886ee3fb76401485611121371d2d85859bb9b3fbe9ee2c9f6e9ec42ebbf6c46203211ff5d8601561f58d478605914b3e2aed3aaedad83d433fc52f1f24d15c9183039d4e5e598937f9a4c13a09ba3833b2bc1aaadfc556245d17542ccb6519ac2a785844133b0dc44cc2eb6fabe95c3d90f4a49e065050f30b5447645891cefd2cd57562f68609adbc59731266e42ac9cd39819ac1dc66e5fcda2a99ac21cbd7d0579b43e567360b3ba39636052e125a8b2164e6a23e18f58b9488c15ee0931df7769586fbf636315df83e424e85d7c7b832d087094e05545c1e62fa3e8ac7d35c71378a43384a6cb90b3e3c686214c09f9801e542bfc545d919baf4c77741ae43a1d512119c82b1e2b33e9e30b76011eef12a63603bdf86b3da104aa8379a342f569b595197dd7d79055a5a689c74ce9cd82ae7661b68ab42454d6e60c3dc4e31a3b9ec7377e2024025895bb892cf2fd53db340c9a12e113e9641c2c0b2d83a0c6592b203546621844990640af05784a814e0b107362c2948cc54958634d7e975776d5fa8a8e9316ecfb98a088f48e7248f291869433970190a70d1c2264801b2c234ffa13cc3515f4aaaf6f8aa942ab4eac23bc1132919ff36ed00f3ee6626851f6489178e60436c51a333c838a827a3dbfbb9fdf98e6c8ae69e3babef8ff54f1552e6cf4b793376e74b6df6a8a3edaa501f151acecf13fe58edecaffe51b6e2d380b191f88332c5cdad946a9806a2d972555712a7e8d938b3526ee25ec40cda514070033b458a3a083b8e31a56c48ccd2631a40ed5524501839c38c953ac044875d82123297b9594c1218eae6723b3c0ebed19317c020c5a5f6e5ec19db42084ae866a6e1042028997513466f73d7a8a199d3505673833a11ce7887551bbefe8fdeb711d11f363282322026df0625e5b1cca197468800e9399b723a755a65b26381ede689af706717d31fed4f1b231259cc49a7d11c3d5b179fe51ed02b34ee4e9d6e0b5435e110d01d4303305644db8d679d71e78fd5e41c76d24af891b594dbc58974e129876a7c0294eb660ed0f2697e8e80ac72b2641b83ecd00f99c0a6dae15a3d891e63a4fc0c67ac838a8c6f0c689599126c727a98804daf4e9e8189dbc1d189dc3e1e63d85e1cf431f2eda40f33b0be3d64098155ecab9bcf43e8d79c1441befd0f03988bc301760b746c4245a816baac7fd6a056abf54bbd605152d17a4c89b31b20aef5079f5c34f5d3cce8596c60e39c282113c526a663a191700c3919756aa84bd2c786a6248bab2388d74e0c54455741d6b56d55ec4b98cb03715145ddfd10bddc5500a5242b2eb8c16f361dbc4ddd60a8ccdd32a42bb492398cbb9a8d434eb4635661e3a93eaf922e42761feb45f3db04810c250b7ab7f40e7e0c2ddcf9a1b66061b2a11ada6ac37a58226bb6442141d969067ace539ff6008bdefe4a76c43c538bca2b51b33444d80691893f782185cc7f325245ca920ab2bb2a525214cdf25f572af26869d0be0e297750bc97a63ef4abcc06c1ee43a01f5421ceeb30bef9a5d8f0802244d4b914a244ad7611bba3692ab5053b937ab4dd43c1293d302202b530fdbb36368a1b0db93c31130119b25a48432b40f2c74702d0eb9bbd4f08efed0c633e9d7580e0df1dcded0fdcdb08814c2ff78edb45bf1200b5a7c1bbcc21724b8cca65e337cf13c3def0a9261b90f6afece7871f33fd1c0845debb2083dc23166622a5f92bca6c70151efab7d497e1182333ee9d11a0c3a2d11a2c074619411738dd771f8c58def722e097d860cc999cc8a507f0708d92e80564a5c4a287ab463d25312ac0159bb29faf02753eb23f760f4c6b2925fae2ecf8dca415fb0a8dd515412b2f5b9a8515e449d06a2a8aa60089b66b36de8da4d8a6dca97ddda75f32b0b700495c4ed56f1c83b0f38fe00ddb946e4c2cb5ae487c5faed8f8127bf69618725b1ccf81d95d499bd021625346fa0e813a4763ebea80f3df1ebd6f2b03a59dc7a0373d5c030599ee6925139c2b7ae66269ebe4ef8c650adf934aaa0dbf1fcd5886e970e6149dd6c438b1df21464bab71729e7a483319367dc4d709338cf12d51dd193a02282dc34e1ed8a5002ba8f6df83bac72482956959389b41ce8e3e3388a7c97a36c197f12ff78a5d2441801c209ec2782260e04dd39238c4f95dfc06d70d33d34553f085fb758e2b0f6e17d187640244ee2fb4c369aeea1c5302a72b305b9c123d5da8e7493574ffe066b6e367096fc9df45864eaaf0affec545cfc6e2809e290adf0e93825b8489e5e196f8a479ebe488529ebfd4a33bcc29a1ab1927624dd21d3abec8206d958a476a6a759533531bba50351e2a7c7d1b1dc55430428eb2922fee6e8cc496765ae9d17dbc8bfdc2053d2096352df5ee8a7beff184938ea3e6e20c68f179212f5c1c18f4e1e7f595fa34b53b49a359871ae17102c522223c5a919e562218b37a17010c5e60db3e83af791c66df573f091d6c07e1219f252640e2671381db0b715c4739e85b604532b118f26aa9916710c4e58ecd2dbdd55f79d0f7384805161a323df0ab9a14ff34f6ea3e3502856319ffff3f5e49efda75bc0007c413c5969c223e4873eb60b69bfbd5e39f609780191ebfe6d5419f327bb90e88da41c101639f3f98208ec780ba44a9cafd81e6e8c32ac40ca93bb3c381d1094a113739202d4f5cac60bdb988be57903e6ad4f58d8b39400ec3f598312c68dc1e7b54a84bb9629298810da1cc535129ff36d0b5153a29992d69c6259908ab0bb1dce3b869f14384edc6bf9c5c17a98ca88a8292b1242d889d1073d64eff23775f03841e9328c02d2d6a3208651f346a3875a714da7a2af27c8399ad571b26ade30c3498d47d4b94c58b437f692cef0c0866bb76763a457b4876e3ebf66e02d294ce20b7c94b16892f9eee1e19d416150daf2757361ae11d05f73b2ffd3d6b82876fa3413572d12361cacecfa0a53770a2f76969f9e02fd49a9a141f1f7573949ed27b3453337129b9afea32ec4d34113f36fc58ecfdd0136bd1fe0a1a7fe3b36b37fc709dde28af76f445c1570efe30a8607b28c90f195e7192d3430a6c70bb260bc262386acc77a00031fc568bc9e09a8368a78634aee89c61b040bb3420bbdac08b9569a138f2c34bef37b43c4d7773b7362d8173a938a2a2646d959c04bb90a6723910abd5da12e6a7483b566d79f4106cb7d8c2cc56bb6f450a7971f8411576a1c54fca3f2e716feef51ff38f2329666014315d4660a1622f576f5b111f545642025dace6662e97028fe5f46782d7a5f4e33fbc5cd4b2022b76be254aa8ad47ed7f7a7098976f7dcfc52964d01e08e1fcec61373397f32a7964ff935370949bb2478b9950891ac84e3b0a384b48b6c856b6889c261a5f8845ca581abd4725e6eb57cea22cf093540634fd163ec16a0b94d27310847833e8a960123586e63ec981c4551a169c28dedbdf94153f95779c9f58f41bc2980fe30a0c849ed8573d9930fc8604624c873e50986f49f7c7f3d746c84d0e23d490fd5abfc27c74716832e42fe80ef66180d01e32d57a2f39ae1467e07f0b76627866d855d7c8edd0f88c0fd610639f6da803d651e8cd618db48c882690470e325ce4dbc1da08a9189a39e29492935d39d677540329defac83524665f0f253b28d82bb4ebc6203328e8c94d987e1000710078fc4adf3b645622bbdf628f5f7201923826df3a10ee0ce5b825be4f67c0e43bffc92c319e140bb1f1187e5334b01a3c0605467f4815876bc207e28d607d0bee9b1bef48a5ac276db65e85f3db5b7ca64f677ed8dbd3856e62a45c5abe873e732175baf6f5dd663c7c9271853b1acebc546fac20832b3456be9221a13843095ec730d122f08d850f50e229f16bfa31aff445e18079c987cdc1e497a4c40c47abe224f7d0e40fc784279787b00a9367908381f030def7aa193ed4ea08ac36f4c02a8779907c0cea389481aa1d4bce86b28322af03f56920d9d28f9d75bff56be0428d2d8159721678be9d11d6a8d21d5ac431bb11d54c809d30e0cdc9a1b0a36dc7d4c5811e2c0fa14d28779af50bb127a3d3335366352670089152d353f7b859a476aa5b84dc65eb5aca42cc753783e023d5470fd75a50308a052c5272272c912c2e700e0d3bfea59472c6ba4605b90c5b9d50275aa9e3b2da5b9d9c8552067425704cdad80b40eed31c412994d5dcd11873d71b5ed83ba0c5803f0d612713999d1fa806160c592204817bda4fa9ac09989fc05f90dfb73e10b9a877128e6cfa4b4d0b2da6d752a7d5214f06afedacc11be5fa033c65a06c4e3ae98f29d9c0f3b238d9763698e9650e02fd9377abbbd14c3d8372c90b0d49c1f298c8eff6e8f0605a8efdd18d8ffa0dc9ecb560da8b9528d9bf780b510d887ccd08f8b84939fa07cb5e1d12e747f9615dff4b3059076f884fb860c4543a6c632c1cdc50472b8c13248a64ad7e4cc2c5b0e47aca3743422c798d2703ff6d15168de415d7edf726110c64dbde27d0171d65ed3fbfaba0b73ac5f86ac67ecfbb9eb96d7b82a74d55c7290934dc3b45687f04e0cb919b3ea1bdb3a93299dd936fb0aa68a5a5dc006565f607276905e26f4520a0d13f6f1d4cc01fdb6c578d824a7da215cf1a083f3880ff82375c45c6537f70f39e04491ddcf73b357717324599a84997365bb7000120bc10aede0c3b3d6fee23e3400f72b1a0219e85c255fba75036702d78a5f24b55311d9e1f7b5c7694c97eabbe3426bb055d42cf1e1c5725282d235d7e84210517aca5010f6e26f8c6973203bc96030249770f8990420f696942765ff6e86452336d4e1961cb4d318f9676358e70200f8f362581505c4516235109c8057de288f2f0db3dffae07ae0ac6d9b2b7ad33d7ae57ae85ebbf07e963d618ac5a3171713a647bb81b2c730fcef4d046219047c90201f2946dec8a65dd70fc42dca0b279d4af9616e877cc920dc7bac9336cb7733562e6b4888b9dab33101556770c4bb2b00b836dd35628e116aad7ad126849740b7db786e257373056ebc23a14b05bac387c80848962916e1995205fa8796a32fd66241d35bde28119f30771552d198a03cded2bba98a599a610a4d5251d58f683913ca8474d0fc11614ad0654e74359d12f59a86f8ce2a84c5817ee17f54311f0bb63175576e6ffc80363c8d4d70e053ed30bd2bd610acb7bfa6b0bb072436e2f3b2ab84bc5868a6f2c557541c93191b9a7f9714960b9c42fab2512d642a802eb725cc99d186b2e8d8ff0ddf90d1e7ccba59d7ecf781f309405b2f343e9f545d0e35a2e288668848beddd8fa8db1688a25ec3b23581713b2e1eb850643646ea5f64a26991a79ceb40d91a748d60d87c2200564c7dbe5e7102a0ddea96865040f22adca0a31b732155486fb871e003592665c8aefe1e4353449687a9c285ca20722bb49291de341dccf4e028d3cc80f865994e32ddb54c0a199e74f6e8f51cdaad4e367a956165d563a32dcaa26006ad5ed12a547085877571b0f9e18b97530c777e695467a7134833cc7537110556e5b64ee1c97abc191cd991478d5f02cf407739cc47a5bc98f255b8209d46146854c620b3a83c2e0388b5607e32d10a00f8a8b918f08f2c6b2e2e72373ed28c97008df7606d09ace079cf641c0425034ad7c5f4582113f70d5701564eba36953953d9c2fa20e8377fcb05ebcbb86294783bc2df9d4986a5d62289043fc9cbdd26d0d53ebd02f0b2704278d534dd65076462acaf2516401a50354c9d66f5275b9b0707dd8a09028a62301d1145e1e05b9b98cc22e91a02bb20859d189a5f85e590cb258f6eecd7a3f64b00d304132e93363164292811f4d11585ccb2c47b446fe9dc5258833661cfbb0921580fad746b8a510e68d134d2506a6f2275b97d16932222ac400eb78feaf14dd2a6bd10cd43c6b26c6aa41f37a4c46d67096c4ae29cab5fc4748d8d6a8f8bbd9c3b91036c30208003670cbb525bd7003344fc8ec517cd767b4f8ece2fc1c0608c89c158728ca20164420306a409b833493d34f5852bc331f9af8103720e9b4ab118ca8379dd8d3c439f462c19b415117d769b9a4818bc0e4c9d96a61fe424e8cd7940c0ab6a3331344f825b3159bfd232bbfd5c714b7ab2a2cd58692c05a452fab644257955843e40ddc70c9b4abda5e5fb55a0d35bae437ec130f6a13e3f441941aabd41447b3bd37f2dad002ce59b4121851660f413ed21c3452f31849500abfafb50f6b20b0cd70d68519a784e836791778a7ef043f05bb38b82629cd0faad2e6909a38569f9156a1e9889d9cded07140a8d3c442aa245bcd65979ed421c1b194e38ea79f742a8a8a4a40215b3a2babcc030dd8dbfa926aeb3cd1887722cd8015f8638aebe00e5234b17a5b26c206721f5cf9ef1a68696ee74430049032b01174054302c66423dc549ea341d10f07733b976d7603edaacb28859779484859b58e574040ce65ce18e0ef95550fe633b4c67175711a6a4177b678cbfda8ee739ef85ff4a7cd62d5b9a81e450f187c39c7c10d037f083b277a72cb3a0454b118472a26669aecadf71b1507c68c0a543822709b29739322381c51e602c3b48021c5ce78989550ae14cfea0602030ba89b03be14669707964b0629d6a4588ea5f0fc852de4b221e1c2b67c61dd3a55a599db2e64c2824fc91151de6e8c059b093d4064025dcf9c55dcd3a2a6f0f06a64f2c25fd4238cec2c0158549103f99bb7673702060935782fe6f5ed49c197e98ee00a4534ffdf880bcb6be2adf30dce7b0c8ecb6cc66985c236307a691171a24f307d94208c8172e1334d0bbc87d02eaa007804c5cd75590c1005de2820e9b7365703ca4401145994014ed6e8f0cceabdb76cbcbb8a54b72ebb0d8a5fd266b805f192c8d8d493246069122ed69266021ba861326e2c52803c5be02be32121b4a8604408d6957eabf1e5bc6dde14faca076f1c88040db1422e7eb4984dc77fdd9142e75ed26e9bf302945aa34fb88993810fd0fdfe08a3975b0df82ac2fdc0ab5c8da81d63afe87ce1d8e5118c4cf4109d9e0da1bb67732eb560d6a57cfef662469ff715a02629a73be8a354cffe77ae74961532594ac8270e54e8ff3bb2019c5f64b5cfb9b2fb1a496542d0f98931350d46ef5911d48fcc1d9f8fd3d7e18603398597b96b5533c615a1e41d622963d5b0597d0e3e4c7b300984028882d26decb17e6d616beb04a364634d977fb11245f0700b5461f3836a8103db42ee4f4c0ca7c1a67f3cc81fb98e8d53031e0aa5e0ed9a82e9a48ea037ea240c39faf0f128ec0978f9d9c6cd17e60db3bf5e82b0bbd8f37b73f1de40d82543ee0daa393889fcc74538a03e06da6d6777df04dd7b631afcb2b66be0da59a64b6d407bad439cec4b974e755e4f89eeaa685b1293553f88e945aa98e01100666bb97772a37b53a990e8651c8862de6099b5f1493af736d75a79a097f142531bd2af56cd649499255a74baa4349fb66278032fa794fd1138d34b5f92370448d91262bf458f30ec8641cfc9cd0fb5c9929e807afec12c3590cae7c5bfab354e8fa81a81f674b5aedb0cd5dbb2cea73a3cbcbb42a15757952dff3d48d5c2deaf2c70784672e7a03b054326d81af6e9ab0fcf40767f26f467e6c458c2e0945dfd9461207403a42e15b8f2cc9333d3f23d1dc0cffc9d137a1e7bb12b88b8178dc8aef5a83168f6b4ca462c9528e297acf0ed4d0f3363328d4a17a0792467a2eed372d87afca0e14ba799c6c54b8b7a3d69cdf1e7379f21ec4ca35141d547b79cf955f2a63ce736cab18027d1adc55387bee2e8f25a3443bf934f7d9f526ccca762faee06d9b66426557c30f110632d6942d35495da23c1fef9ecd9a80bdb69a370b843e655715ebdfcf949ae89d837ed3b1b5c717f3d7bf5fca9bd23ba7fe38e2bab1de7ea6d494de39f413c716c6ccf93cb2e6699884db642b898cceeee61f5780b7c98c7a8f08f871a9e26538595f93a4c822ae227ed43fd394368281bc74e909a001c59b94c56c024c89d563c5764f9a164d8d7830371462539b52724d0b9a6fa7b5b6e19cdafbba825b779a5ba72538eb693efd60f6af914d827c4360b5b5b582193ace212b21afbcded0b8dcc787b060bac2e463f9827b2004b8683a6883ace70f40ec7ef12c86c6d1736f86390b15d062ca224cce8ecc0ec4b0ea142cc06d4fb9d742c76630647b3b35fdcc36bfa613dea081fcf73eeabcce82a3b7f7a136d61301ed00805271d84cb77ee9f32930dbaa991240c7d415a4bbfc695ae376ba199cfd8ed2502e0d7feb49518df0f199b666696e10ebb19cb0418067e58a3c4fd30abc924acd78a0f3efc0e24a4f53ab5364dbc7f401eec4acbb7c03950ff201e5d62c25e7d3689cabb54f331eae3e80b78a5490e033f94959fdf45f4c1180c790389bb6bd9240b058d9ea5ef1f1e6a989e8add89a41fd8892c9174b748d95a25f8b7500bf8eaa4e9b9e5a7e80020423001ac1a132cf017c7cb84bf00d10a6b82719b03a17e0fa01389f621c57c50c1700f3f42c1d2b02b06fa06c6f4202f46617e60b10c050645c36e129cb284907c2a09575c162599f00df760a80e1138d7f10ac583544a76397f194aebd2cc181fefe1842fd6476683e03788cd3070a57b57964addd657f9f53ce7c45ed1563f98cfc73bce4c27ced5c762432f1a5019dfcdf01baf0734ffe929dadbc9aad2977be7c27636c1492a498464a37a16cdae7f100f7c567c5b367e5c70fa67c701fa423ca464a3b1345f477d393b79fb3446bc4bd6754e97e08b36da6589b9b6991bf722e1663f8f78fa2298ddd349ae81a117ff9cbeb52053b1f6efcaad36a486b04691d93366789fa8311cf5ce36c89dce4e4553667286f1e879ea7d75a88e3cd330d7fa610c3f01089239e4082da9aa7893c40918978876fd47869a04c39105781c77b170d21abefa7cacdf4e840ff158041296af897d57e51da2c7a4759583514b66b7f347ed6eb0cd67321126cddd2242f7841fda2bc89f4d896a265b8b057cb5b9cd0d05bb3626fde8af37bec9c86c4e15549b6445786360a7e6f4a28774856f61bf4c0d2e5c3a97bf0bcfbf5d55e3333689261909e7b4a16bdc9556e2d5529a3b274e3f8121266a40c3df0826e9c1f59dd85e8364eabcf6271feea35a3cc3471ce8ad6015de01d1d97c0d1856088485d1462f065c2c3395debc733dd5523afee3712f36aba7b8c3cb880f396949a672cc288c83777d94250068ab7cac61e5fa1deba9c2fda1384da0bea4177e061eb901740fdd0c93396dca00e01f5546f668f2164c2118bf4b141fd4c34501fb5585d2c9503b213958f05520469a932b0db50df5d862eaf4d07177318903bf9021a73ee27f206a99201aff1d1b95ec4a64018b8ac0eb0d30412097abfa6ab10be501fe7391c0c037fcff291e259abce0e3751cf331002805b4be9c5fc82ee03a8a7163a507a70c8006e1c2040f1fa0446a192e7330d38f47d2425aff82f0d5c184b015c36d8b32342bbbc1edb634d1b070267b75a7027d2018a58d2505adf0c0544a9ca930fdf28bb94988eb213f55a8151ac4f5c16283351fb68e02290765e81af50f8c5eef7747d1590699bbb7c84ff6e785c7343ca4d4c07336d6f51081f96d8d73fc81c8f39ab77c394c0986d1bfd7f5ca0df949b4e0fdb3c50f385cf8089a027faff7bae21509d4b84ccb2114d11611fa26035c45c6228ca19ed9aeae0d150941dd1f023786aac2f2fb24c065e962bf6fa6415dbd30da2f58ece9d6106c576a774348a9299a6f64e22ba7066f59412b410130a8129c0c79bc02c2958e2911cd1d59500abc9096c84b1892ef0058b153abb6a50298fc5c811720c4860d425a0cd183f9b1063858a12ecf388daabcbbe805ca2b2dea4310122d6654a2ff6f57dfce052c550d8ba829165f45d07086c012c2aa3ac3ff040d6f733a5a6d06314e85d5fd87af65fb9093de7a49f1d4d0aa41b411d22b6f9d5c7703faa91338496bb03c2109d102ad0652fe6ae3d5200bbc35f5749d8c20c0126c96cc204496905b87a1fe047cddeae58944c082874b27161e49a23893286e8cbd4370d04822db1a3e84a438e4de6366abcece2b8a73f0113455c2d214306c604a68819c283dd64415d4ef306f0143ac760a01cd77af6ab3a4de51cb60c033e23c5d48c985fd6bb7b0524461a9af17fe8f37a26b545dcc89d4402b546592f5b5bb48e21beb405acfecb0b86f0dd2ff212bc5c2a6c69fdecefc76953cc7f6c129d1de48442d0029f0521a17d9de8f8aac6b9c106bbdec3495088b52c463dc3f130eb20bbdc61d10b8a2c2dc3cfd0cec4c216a8d9a8c2e7e266b9026b657e13b3dab59d8d742239838a4a1f24394058d33a3cedefed3a253a060e3688efa8772578c264dbfb0b282dc089b6f723e5fb465d136a966c8d34746500527d32c80b807c88f2241ae67f6f85a947f91283d2c5440fee8885840b4e4e27066551b4170370e937f212ba0031e1d171727f0c4ab2e282e4eff7c0ff6b0e7063d231686c80244f38f1b1fefdb1b231bd0049bf7ff90b6a39b0c77c40c7ff60088a27b01befd815e7e1d15417842b3c26756d1fefb4014611828b8b45e44792a64002215494128db75485be6d98597395230d01d694f83e87c2185417835f0e301e0eb20da3773ac73ee78028a4cb23fd73bb774f8520e4e174d67b9a1a659d65d87cb1e0c3346f9fabd00d516ce11bfca4d9493466bd020c14cdbca4f4dbed471081a1ad780934392d3bb8011fd7a41e9bdf94c857acec650059bbcd1a91ab2b1f1a114c9a37ddb2a3cca9959c758f3a7c5932a41d111d6841e3a91c1270b144a7482f6e08b5b5befd566a42ef39e9e30e263fbe0107a867ff959bd3730e7dd8f1c4b1de408eccd3354fb7ad5dfd6b92445c857249ea029aba4bd28226542eda8a6d42f34b65ade661067f309da595b46d13d4c03524f42d476e655f9b7d6c331a17a960d511f865086a94e0102c14bb9cd119ed4d3453b0d7ca4a6405fe83f47ab3975f3a6bb91002f93f4ec10cebfaa82b7add8de1bab048738a9569188dbbd06cd8cbdbc5cb26ce59af38a0de7ea2dc8cde73e8cfc1c41b39e0a5ef1f3724db2c3385f4820130d2022e2c84661ed35401f0cc3655e09f8b943bb81cc89ecc6dd2606fe9d9e60a8903aeb879a67c69de7201142329454acf522ecc0958eccd154b136c73a4704e2e69ee175308b9681ccb0c4b80a027da0bacd0374e06c9dcee35dc8e1348ea37c3a762721df1ab0e83186a1afd0d31f95e76d6d593ee53b7981bd9d0ce25fa2a6107e7a274c221a5cb07dece7f4d9f9b8d91a920b13140ceca7f93c3c06e0b98ca87299a65e7a2bf512d774db32fda55ad284d8b9627fc9fd4df091039532789be689706a002f707c13640d92ae6c41439c9f5358805d512f073e4b28d0a29e69c456b3b1169be4b533cebbaeb842bd07e77839d84b9850917a727ebcc639a7130fdc7f6e68febdb69b796431e168c7596c7546daa17fb790a159709a461731b0c5e2caead1bea64bf05dd37986912b97f9cc5697cbbb38a51ebae528e5cc51988d71a9fbe7fae5f8f19bace760876d365d6a5c9f0ec0a3ec210f630d9c07debb31ff1906d79a9f00e7481bcb356888f182f4d1432834bf33277a32a22f911a30a9ed4dd0eaf42cf2586027c99cc82413d176c96a4333263fdd079a5b901897e3c7da75972c7c6c27a4ae7826dec604a6f4b7d49cdad7712c0a8c4670b738b57b042c3002038f9250014b8fbc36ac17ed8a1065c3fb1e7f8d980057a6f55fb8db0dbd291cb8d982dd1731c92f32aee95d69ce7dc8889890893736ae141ef2529e428d8d1253a31fa5258cc8267798e4ec0314c286b3200538feb8b98313a9905b402333486834ad94001e28b308663bb3e24f9faa6255d5b9d6325da048a6a6725a385c6a1fb9816d0a9c7405beb424e8bafa77c596137b276d21d44fa6bdd0073a4594db2b9b4b1ed91167df0e9b18badd44fba9527041da47a54bb09a1a2f8675753b0b0a339dfa5aae3caa29c98eaa267bfaa0480294acda95aeb4e9313332b35591005f16959136705aa83bc6ae020022b90a2f4d61d1ff040bbf673a3a75e6760fd5027d5f24f8dfaab5233bdeed0af1c2701cc9b90313464e27c07d098d2675403f24127e9c62fb6febb514b76c2bb1cc9277465f538fd70f5867f1a9cac5b93813289d46b0c9b0344baafb2441d5361e2cdafb5dc2c3d1b44aa3750e772ad11b882c7147ad19e9a06e9884ce55b84c5b5995674378ac8c1b274ea5f80a19bb9b0fe3208e904a6212bff82c5db8633add5ba8631239f104897961f58e6cbd69a59a1301f4e162042476379524ae9b4c85f22603bd1a83e94fea6538b77ec40945c28196cf2568952291793c58244d435ad7fbdc6e48970d5a0b32625b0785ed168cf9849035e773d549aef7182888bd49f3ffe198e2dc2b427e90ab59446c71348b44e4957649bcb2cee475f4fe92973132254de739bb3279f441ebb6393ad391356e8e5c92017143a29fec65e01dbdc07282c54515389c328872ff86a232903bcc994321db74d58a7da21483ac19acf2ade1f014ac4b59ca09e5b8732005c7d5f7644014350bf99e7c981b1d2b9702440858fefe79ae010a82575f8db1dac7bdd4526d5b22290e6f7407a4fa7b0aece7f9b15bed7461a738081f46f25a83d62f74d7df806589056492b24b6616bcf08c342e1573a933181aac217f86c90289280b596367872556214d4cc1d15b644e94a8f783aed2f1fc23890ca4b0027c43c08e283282f019c90f3208c0ba29c8471429c87302ec8f212c009610ec2f820ca49002fa4398c8a6865e85d67a3ef989be5e698d97f5e61d7d5987ba57e4757f57e605c3850232de9f916379bd9e5cca2f8ad5d006a426ecef1a15f7b59414391c1935c2e1856ba38ce451abb601729a2492ce57d90cc4734a7f6ab6adb0a2c58899157a685b540b6538b8cd6e0a8046492593655591c530977bd619ea3add1007b307262e6be790b272f2a932a679762fcafc48ed4defac4fef72bcb8fd56ed856f99dcba8391f5b7572a590408c1c3a7b83098e3d4d693f6a3765d5c1b33387e38a5f46afbcb71b6d92afaf3088f06bca63a9e61b437048a06255bb91fffe0e36ac0fa8ad8f5e61438e1450ce472b6d6489479879d3dce3805de35b629817d82f81616e36465a4e515e45d13fd3c1108d147e8c47ffb24ef4450504e6351e6e359c39ae85ef1f4423b4554ab98a6c0c2a36416c329e931e548faf88a9203b728b2aa8254d34fea0cf1dd7b6cabe8b00be2066e35945463828344f59cb108a41bbf9509169d6b646dc4d2c9d2282829145de38a59232cf8592926113d954419d74a0f03abb5cbc6608ab5a9095f3afc4a90167bde880615319580be0c22bab6da59e989b652e94e1be2c6a9066e291801fc9be3c2516f2da7184192cf93c168b7039a15f027a783b71b0901d160509629fd0ef6ec16edc92c9c8ebe103a59acc49230c04698ff95f92814f15a9e98d836d969a1eec2f1a4327e065a811c7a8574053192734b6e1be2cf6d915ad24b1472c3daeb449d29d82b1828a3cc1e070178ba930a68a72007137b9b700317401989685a6a1acb665de9b466a3dd0d67e976161a5e8122d22c86b66de30d70012767a369f9793c284443e2e7bccc06e8c139b31ec74048681e21ba787d9b2bf41ed46def9d05829da07950ed1d5375742e91e6ec0fe3cb6810255d3fa460aa6c51846474d912125801c656464600c093ec6df28c7b15b3335d2fa9e850f381f1165d3b100f286273e98f324d512344f372c4fddf0911a10dafe390802a212903a8fb50ee1e341093ade32eef3d609d78e8be5f826a4e25a515ece63a7dacbcd05495e84b8206ceaa6995394bfcf060f92c068844a15d0be6e90425cd234091ab6494a08ff8815c6c34930350658cb280bb48623b4958224bc39c0716e68a99bf3dc9c41a942e8cfbd22477a6aa5d3f1e62447643823a0e60e8dda92f3b4689f18eb1becfa277b3a5760b2aaa4dc3d58c4711b2a57e634829eed1f42aee97b0735bdb9f40dbdc6d8cf409e96c30510787df5a1d5c0751f6d318a7e6f3393aca97efe8d3108b7beef56f9a305614315091a7a5b5fe36f86b0ddf1f4850e8dbc0232e190255a4ca632aad49a4cbbad4eee373a4fd5505ffc23bddfbfb83c62a3995a8534318316f55e3b11b198c715003e2a0ccd7331174d474871dc923a541e8949960e30a84b39f7aa3262ea3bea6f8048553bc80df104b845fc57c2e0f8d8fc845a190ae434a6ea1b16015d1b2123a20089faee312785d8b80e90833a06a3d1630a16bd6a25cc14341569543505ab548696f4505549c8c0f447d789e18eb9537c17b4cd5a1727324faf39561e1af2beb281dbcc0004fc5f04e113e63690b89ce8ae6b9137f70d706610defbe170d1a27e43a6939caedb9d674c35cdf6c112d0383de33a81765a01d3d3ca021b97c527b523e18f0f519204aa9e7869d8b06cacfd2dc920aa1da414b873cf824bc66b207955a43f2c9767f9bc6ab44e54e585442ffb198aa9fe189c109f994c0194ea644359735ea1351e1a8cece1d81b5fdc6405b9fd22a3f56abb5bc8c7c649ea12b0ab41277c449e15865adc55b071fdffd8aa51feefe2946073d7287ff5d22a796692aa7468aaf2cfe8542d7c26d47ecde0e7caa00c0daf6498cf4b7a2b18257087cf8f1dba978db8a18e4a5159db0e292bbea82dd4a8d5e8cdbdf158e53a63d3b8eb5677db795043867d2e7dc06604ca3b1520dea34a1863dc4b177aea5cc7356123cb1a449e4b9f770617c1628394e8d9aab633001696ba8cf33d0b989b19e22b6c52b6912992a218279c71d366a693413925b1fccbc03285c3bcab21b9401b1796d47d4710021db11c1b670a046505788c99de6d436e0ff0946a44ac2667de3df5d0ffc610022a82f8a1d82f83d936819a2d2bf0adeab82cc7b72c3f70bd7391d8b914de8455e5562e9f98811a1f60fa430d90bee454921a9ea56c15d1195040c9f541ff33401eaa3f68230a34f35dc1c501bef9907313d7ae45d1ef9da303f68e0d2f037b36cb45c2c5fff009fc8ad0821b1c0f95c1e6cebfe8f504d4681427eb30b84fe3f0886549489ef858ce4481d95817eb1c7cd4d7eec7bebecb08c81c0bb03dbdd5abfcc8c0acd00b245735684782909211cd8ab1a45fba397a56063b8c89b9c283ecbb1cb4007b647340f24f36f9644780504bc47d9b46ff1cacd3b4ddb914a90c4ceb1a631cee473976b9244f3fa5d270c46ccfa93079eb5ba0e4e18cacf2ac9ab4be0be0921925e4695811b01ee65ac5dcaf0b49687cf5af6b9ae97b78165a3a338b6e8800851916a0f3766b3e08fb52486ec54c8f8311bf3f4e90c6ec38a3f9d8a6c771f647ab0fc60758f8d91513d6eb4d5024aea23f262ba297e54e47b13c3a2d14c41b1f967e74e40f99c6b8a2ef2a8f43fa5afa61190f5caea0cb79cd9703f694aab6479c03f91a805addaf29a867429d3af22e228aa299a7acb34a054b0924dcf5168ca70eb4b3c0cb509aaa8482ba86e87e6789592d77ce0e9071508a620c322125f650bba936b2d9ec2cbd29fac91983867544be86f8052ecdb7f5e2a0b743a6bbb5951d42a1f477569d0fb8c24aecefadf686a3e1da0c513ea1d5d5f9310b52b0e4b4dd7b1754464c2e4ec573dc5993a1f48924ec5856427b7de50a5aecca3dd178cf716de7066bb3f1eb1922dcad5c3f2a9b1682b2b10a8df519296d2763f3b5196fb2d394a2e9d9b7d96fae2fcf06c1d433f549e1972f4497573e4e73ee44a6f2278a8ec9c8c87569a634c0b4f063c71782615ece1bf30076daf990143e8315b1dfd6c902b916a04dc70797a7e8d4823c2140177a01d7bf1529cf3bfbe373080d43e6241db84485bc23a85c00d85d5013369640e4acb6f781aaf1ebc79d06009a6b0f8798542ed2ea6ff4bdadd6997888d0003b3fbec0d290adcbdfe5800c7e86bad26640a3d3638a9761a7b6fe48a1b224b58c65d70ca5743590671951bbac15fd4263fbd045a2e7827e813587b7112dc1209cd559913c783acf740868a66a581aecfdcd86e9df2518c89413aa2d4b9257fdcba3f616cb674ad6bb1beca5d3e9ed1503711510b52b5a530f70a6a26a4d697df3ab28a3c195062a7fac01390f87010d8d39b184bcc8674d695da30097f79650564b881c8b125115b284586958e0b8cb07ff5143a9dc6a546e35a5da5c6779cd03994842ad9138874ab4e4ab2a8ec35f9e5b86c2097ee213c3b2e4e6cddea68d22cd3b2be80a543dd7be6c600825cc9e3495573ea6324d27fb39eaee85fd914f7a814594f1377ee24d9f1d5b69134165f2c5931d346f517806a0db01c9d9dac653503980a5a43819c0e5ee04183d9c8ceeadd56bf8d3d99289d0845d76225490eb856dd326a4aeaf0592ba0a0ff31c5299b07efd57db620b21450924813e0963c8420094285128078b24d9638ecba6d615d928a5247ab16809ec14be2a4d6fff192ff7b2509e2d09091df7ab146be92bb419aeec9d25463384fdacf40d785a0d6a139c6f7d0105ea79f665e101d8139e243121313cae04502179cb80d2c51016e68c87bcdc529b926f36116a72ca2518efe07de0290b726d2116d578f85c67eccba3009f78c6f6da59cdb2ff8e703fb8312fba58ced19f29c2a9a50b58846ea5c5885c981be1faba26630d21d1e1c96344c1d3a965233e7c98a1033469ab0ae2d2f466351a454767fca37c11505a79962844d1879fae43b8a7a1af3344f1cd71fc57089e5c6baac313218cdac544a7fc733df4ddf689ecd859fc2ace8734fd374b11d0599b30ce39c5a26276252c6e3fc3421fbef1792d92ec00d62b0b334affd034188fd998d26a7d8a034aecf9e6888678669b38118dad44259fbac81173aef43bb5a073815734f0b6e13bfd81342321a614c5039a71d5459fe0792e1325f2f5bfb3dedce2abe1e279140814bde68d0528a015dd8254c06798493bdb972bfd530fad38ce57dff99178dbb4175b937e6af362c21471f16c0b3add53228d25ad145efd8d8addb1c38a6a9b8a75388f87294db9bb3e1f2a9c12e4a37bb4dda240f9294dbc195adb0690433e090a30505026f32fbcaf5f60ac2f9c8f7c818eaac898db47e62714d79b46d9f9aceb11ca7947e3bfe2404d39e3154c2bf4bb6315381f61b32638ef634b36b4eb1c0b3334449c7b87a2acd69952025ea03c9395339119b4ae586912cce0ffdd9479652a660d2025eca62270aa6c2c1bfb0c5693a272b0dfbfcf4c03048375464342dd6f4b263a837965cb671e0d8570fdd2c07691a6227a9fc255f2f542dccded5d2fd84ceb05702e8d11556de7d4ab1758d1cc6a2e6ac4e345c1c9abd5abb618560f0f879081e825d53c8fdaf40a5e16a44988f5896d405d2fee9b2c222614e67a81865cf619b560deef61cccecbc8fa07bad86558ba46cca6d72bccfa15368eae0a7fa775dae75a65f76580a92cadbbd80cbc336270c8d34d2f4340c2d228b15876e52a6d2bc09b453fde5c6a34a48e39a6231cc4116911ad9169716ae1b79926710335187be9b28bf2d24b6bd0d1fb531f8e34fc5d9c6ab66662af354523be0073e872bb8cef83eccc755f50109881a989cce204d9f449d60a65464a4f9dcff85870eb741504973fe9d0d9c845acd2e5099ac57e6672c078cf4d2305d2b08b17664b63f783f0a58279f4a9623a5ca92448583a864025ba6229654c8bc157811befe383258ca5bcd293a2f8674a106a24ad295bd5c76a076bdc604f752e887c7f7f2cfde95d91f22506bf9632d013dec10bc08ee09eafd9479299cb9713ffa9b71404429217eff30a200261ae991b750cd2426ab4329152bb82e3b6969c97fc624d434f8dafe9ddb134096c2c213ccf24b09efb0a1f70f24efc0a9f752c442dd509abdafb6e08730aff79f5fce829a842e8cd7ce4223ac2d13c10a92e27af28a4d4c0e97ea724bdadd9e5f07e7596aaa843fd9b5e3fcae94d0df5508b7ab5a49ef0a9579bb9a04e7a33886d445f877d5fbd0c68af69845bc76107692f47019486e548082de566098c885dba63c3a79fc096b0e357c390d196ba3e97a518cdf74575ca007a25b864eb779ece776c3ac47a9d02871386e9eea81dd26a0f2b56baf698442185dc1032919631bd5fa522b71d62c65a78ecdfbeff4728b1adaf412f4c099012234db7f3d0c4aef4c46e642278bdca7567548329d01de208b35e70c20a33778d223c2d5bba6f779233508ff25bed75b0e5b14563816ba4e41682429092e94ae6665c2381134d8cb537666f1b74a673c17bc054281142ee6a6f6022da22e36e4951cd0133be45c40ec4fc5120830502e679562f765bc21c33bbf24a6600b4f202e560203da471379df2a4d2119fe2e11761ce1bd64db0db2d359e2f10a704d800033f81a870d0b983e008fc0cd2df11968b379697ab6a8a26a02a366c498132e6a8d690f52907e12634d9e353857de176b0273bbb6693a38b532fa05b7dff59239d93406efba700dcad7a1095180a6deb67443ea0d1c1e3cf4b46302a0d26c0dbbae88a035655a92636592bcf0bcce0ece22892e4459e5dd5389505f88f9d33644f67162b9fdfb981f215838851a2daa06ce29dcdcbeff50502196993a802d19ba0cf03eaad596774b60dfb3c483bd8d279a02d54ed81e96b3513e136abc341badc2e91e5286958f3a2c8ac150d7c67ac0e872bac8ac0b6bca5613ec0994c765875a2b3127cf7a9f2e0e3f2ebc1a984b4119722403f29d8cbc7b2ae89db6a777ba3a02e7e5343be96744ddc0254a06e71aa319f9678445a2ba8ac08bcf16479f36189eb71c399aabb51a01e7daf111f96ba1eeeeefe581a05e913b71af3e94b8de13aef38a840ea38f194b505ee5603f15926ae1abebb32567dc1095be05bf0021e674020178f0f7c5a04fa8cf23830222371813dadce019238156d50c9b6ac8e4aaa291bdbc3a9e78bb4b2615888b7c28d0a4e3515a30321091112b6aa3a06c2b7be8c4095e491c7f80b0a27cb203b3600788de31ca8df171d0b18722a924df36c145758dec53752f6565a1af8803e1c072bfc904b6d65cfaa72139f6a3ff882ea1933d0b0f8c3289ed88c3132e0127616f712d444b58b9988fe89d698280c253266be8344d52db2475d6ed2659dd9b62421877557a22de331b6d3edefb11adcce962fe84acb96e3cba38e03258986210a4bc1e49270186dd310cb8446a0c5060a4e02c9d10d8013b713907a1855e50dcb23104df3e4d87a058cae534fcf8eabd24dcd1c5015ee5d86ecb464fc6d2de6065c28924fba5938d7e0ee9661f2870784396c51c28639e48317aca7d354c00c8a490ea0361aaee29acfc198c413be08454eb71b846afdbc5f80163ec2a8a819b7b4c7cb9843bd9d2653520b9e8247bd08f16309613cd7eb63a60b72d28ec917b57f32329a7233c2c44c4f8189786a799ad7929d9d23a0c6891c946e40e1171da349d158bff470e5f42bc04d7afd7ce5ae00a5c45840ce46e5cf6e999d7ac42aca0a16c010eb7e91b2ecdfe4ee998523370fac0c1f8bb8543ebac64a2ff0f17359d24d29d4760c8ffa08a788dec102c2c53c02f49567a7e2d6ba73e4ce3238f756e6d54650d1b8f4a2104fb38c5e23bca7aa52134762552f92e8ca97bed53b86c9e775d899d0ba87ca3a29283ae7cdde0153aeffdb59675833c78e6522ac383d8548346ff6c43ff6319e00c9eb3500fafb5b9edb7685fe2e25c0f049b71a8a319fae26cf6808f480a562766b98583da306862f093d9e476ec0262c15018d098d1d6dc0e6d304ac9a1fa551ffd5ffcc1d3bdbe22841e352f5ba8395d3014877245100068df8ad7caf19fe8b6d5da065d8fd45a53c0b554af666b5b08c42cfcb1ffc7fce59fbe721d9ad0721d858f2059587eeb55e694a10ffd7f6fb967391181b83496e8e3bae8b23398d9cdc009ca820bb9b567f71af4994fcb6d8bc6103c3dc8506d8ebe8c99efd122e7a7319356543e0fcf5560870c8a12b31a0a3d22b9321b52c9f35b6678216c2dad029da878a64a24840079f001e8718d9bf99ab027c3855aefd347c005bf168819109248f88c2ab12e925beb7113bc815081cd70913c9c20d3e1e2019e4793ea13d2ee177927960044d9a4f3d8d881288df6bc80a78c133a29b8ce4d0186dcd17da4189824332c44ae397ebeb2aaa706ac890e2807e861d33f5ceea03e16262560c53ef3d069242c82922dc034e93126fea05d63d1b6dda146c0a8f35f5302e155927114003a94e39bdb5104db449186055da55f11dccf8ae1dfd5feb9823f93b7069673728d0389135004181a3d1e4cbd78031d26b899d787a3473ad5af3ec8e40ac395471bcafeac7205eb73cb32dbcb42f3c8a7b278fd0d24accbeb32cc09c5845b6bf73af4489aac2cf54cf293b6bb48c9d64e44ea5698b1f8e532b1f08a9781f990a7cd37ee72cc897cef8b58c3cde32371b05ddeb26e8f9dfa6ed12e49d37ebd02bc1e0b35b6435a3cf8e8baf6e9e3216537909c6dba19d3a1d5a4c0ed759d8c7d886ef1736a2a65ded6ca32d5749e094a5d71c91cce2e8af785c6eb6da3773ef3ef4341405dedc1011cb792e5bd64a0195dcd8ce30f2e2613e5c764efe15e09e2d4255d9f745381e51fd3bacc29b1927fb6dd58a6e3ba8b0ec26f7f1e85af11d5e3f5d374c44660b0ed559f2931d07791565b1011390cf19db9ca30aab74f9dc20f3f072077a2fe85b9adb864553116f6624023ad7d99306eb5e9daf413e385e84f858de731c81ff6c9af86326a3ef4d934185ce7c23a317c21c412736368dff5cd153656f8a9f3f1783b08570f24419c25a6886ce11041b01126fdf7d1e2f16a227714815ff4c9a80574d5cf753e894144786601d3c62068272b0d0ef692e7af2c836b8f20862d47429638a31d688de587700fa76ccc3779265effa4d1874880351f4879a988f9f58a8f83a250fab0ea9436d50b2fd3deb4214bb031a5ac5ff2fccc769829a5b68cd059f6ab34527dd14cb8722e3d19b7e3fdbbfead9d59b9e30103d5d0ce7095d3a7419d133354cc791456c9d2c2b05f73a9d6ccf2b96779d1472f3daf96a50929db9b990b72d35537c4f5da16f351fc49d33235523025704656eb1d5e1ef800b13ab1dc41b86adcb8059de96d5edb7a484ef286259630e9a78174be7f491dcb3de20dd86ab344956ab5bb951bb8dd4f30bba91a0c8c3192dc75a52c62d0f67a698a6f44d8eebf6b66672ad278e3a110be0620e8842169792704486ce643f3a144e59cff963a2910cf2f298b86d3172530335d8ef1b34ad07784bd688301657ec1eeeddf134168f6fbb64caee787a564087f79a1c0ada89e7adfa989099f0cc80b9a01a8fde6b9bb7dc387b8a1def3fa64a7c4c877d6ee4d5128c2bf2fccb8f636efdcb1861c1d434fc999f3eae043f413d19ce85186604515d15dea71572ecddb82f39a9799937df29f58ba6a6773f0b26278f8507c28665e808c9cceaabf607be890dc75e6039d835568d6e5e932909f0346daa9509030e85dc3207722c0b709322e7b46079d84e067b608253c5c83dcabecbf3d29c03431d654f468b964e588d4027690b3799de75d96792a9c5ae2820c13f421177c1dc6c72bff97896d2e22078f17aad3aec2522ce21c8a016fce03c2dfc9990fb21a3cbc3e6fd03c341ed72c8b2a437657a89af4650f3ad01c76ec62368a660f36de7e8ec1187e896aec160ddaddb34f3c404eec91fca5f28973b98900f640e818c5e534065aa44350895ce469994fe506807c1736113126efe1182580cfbcff5a59a84c89bb6115672a4abb70b4149bfea9928198f8db81c535768b2e53b3919fadd12e6626b6225ae76b054cd1145805de89df9ebd79784f9b1efdf0214b24978c8aea4eb83c161debbbe313ad008453b6bae1c9c7257326632cf8c35dad1190cddd089ad34b01093a022b880f605ab356c497eea07dd3cfb7d5fe7e986772ddb9bb0f38bc9dfa667b5e3fb621176931391430a8e8dafbec2dec6ea90df528ec5fc1f20db07476ece9b3389fe5c9f721c491c9945d48d9a4ab458ab32fc283343280c35187466ea748d20472865c6aa84fa9ce773b4c2fb41734285652f5da866949681f6a4543ddbadc99b9970900f48c34edfd8556ec0695a7f880d258d5deffee301a598aec4b69922c66d7aa9bcc4e52cd3d1166c7364028623b3a5690f9601e03d81f580ab8ad499c72fd4c68a8281d9e0c338fb7de64b69c5c160df02720feab16b2c533e2ce9704f39c079f9d9bc217cc54022a53f10aafe832e7f7898f835596db4fdbbc5b232114a335a9f65ed5eb0667fa9afa473c8a0b5dbd03fe34ee6323a35b8d52c2c6ff08662142162b52b747b519a2498e48f37accf5134bfca4e9dfde1f7d29395c0f9a75dc394c661d8183f74dbaaf34a1ce4581122d232e71a57c4d720d38fd74cd12d1abd6704783860412e455aac4752f2c3528267505c2a98da77c0c44afa32cbb8f0d38807200926bbe9f9986343363fbfced370c650df8ec480c96bace82266f420838731c93fc023f06e6387f770f0cd5ab4d937027ab3f14bc345adc72ba63c9180d65d2a88ee37b2422184a4225f7c82545d9162017a8862c09a392f615833bae19a218552625e136bd6ee3bdac76169dc42aa176de9b60880dd2825bb772a34c9398f66d50a2373d6318e62df63474cf30c558f0ae54106332419f75f0682c2cbc60f8d978e40496080210e848caf9343bb9a3f0ffda0240b7337a6df88e46b017224ca12dc10e244696878016db26b401d159c462f950293ca98d5835e374db1aed9353e2fe2432bca80a83b2cc41bd0e218dcd8b1b44714203d5b2cb05479af4a0521081904c75909af7420b507109de40119cc78268a6a963664b3accbe9c9bef39ec9b4195001cdd444c7702922349169479bc97260999b0d24ac36df4da1ef83e6652dfed0c95560a5c750aa1af01005d0d837f571e6558663f544298335f054c9948423003deb26bc3a981111ccc5984667837a4a8fc5c69cb5895c742e5abe6af5f6d45a295e6be5871332515955ca4b7bed30411420a96ee791ddbcab65bb95efb9ece23472e5ad2b0963b0640176d018cc252fbc4b7d2ed31cd3e28c5cfac937dd300cee3922aad9dd85de59f7877f09c6c672c3aa932fa74306d25e8eb021c3bf091c51392ab20d3728853974aecd397ca98c7863ff838633f13bf79a5a3123228c02a058dad4420688e51d220669c25566e5edcf0ce628b88af291f4b4fdec661fe5346a1f9b076865d67907e3ef8edaee8ff1a762e738ac442ce2aaa05f590e2766e38f147613337f9a2f417e39bcd2259f9029f339c49257caf893acac47c2f5b3dcb77eaae0ddfa79dccfe31d369531498c3f68d449a16342e00223347614fe1945bf6c8ab254a5775fdc3ded800241d8e88b4e684301cc18f5395b5294ff878ffd13832b81594ac0f5a6479f50131c74910c217f42cf01f725e2d778db3947aa9249dff884738b16b665d857f0b12f8a0087fee228f1aa140111aa905f28bff9280b7cfe6241b06a8f51506b7b727d096b2a2827c6ef807af403b5e826969c68a0997cc81c1503fdcb3e8ef91c6221eeeeb178fa122213205bb9315a5cb384063e94ca54aefffbaf7d340cdee8c7ee1371f75fab3cc1718b58b36b6c5d94e5704fc38da3444390d88dc923178b2ca4eda1a43dd790055e08b4a8bce9d85aa515c151aff74967ef1fd553a3e6694989df2ac458109e26d73064fe8b77b751b1c19aad45233bb1fa131b833637f0bcfe09623875e37d024b3facc84593cdadd34df4d7187355948511b8fd99af834bb38e3e232c70821f9756663c2e241033cf6fca26e6bab84686c26a554bfbf30aeb5e3f78999764510936daeda9c98cc7577ecb9974dcaa1e6192348274fb4d04b5f2051274095fafeac10ea5c264e4f10e4b3c7203ea0f13a759200c529b0e56161b53a7d22c017dbd291d771391017e754decd36ab0b1572eb86dec06135b2cfc2830dffc606b16dc1d7e319d5e4e745c65cd870948a0e156cfe013348fdf1581f27882a140809f96b4bdbb6db9f796524a19b009d709e60a0c00fddb3d3e07bd0135f76dac6b6325074166e4c0edd8083baedc40fcbbd1a55c9019b9cfbf117f1ad034794febd7de8a656803acb61acbd006bcddb5b6c8258d3b5ed9dd3292f25e1263a22f64e40bc37cec4932ee0dc9cc70346ed9d62b437bbc5fdcade71298a30c561c36ba8eb75fdc5d0a63da1f31e91746fe0c9e668de89a8fdd5ab7a42d8c595bec0b0a192bf6a53766ede2aa9b38bb1b2fed316f4b96c7f7227d4b3c98d7ad01324ead93c5960d0b649e7ccd029415c27ecb662bf270a31a7c1e7a18c646f46ee198e7d286f671eb08c92fe6e4453ac2358f9d1d28a1b17fbed1a6bcbb64b95db6720e5a9f9f052d2bcc5941ebe77cce62e54791bc5b5ab26e78bbdc39a6782edd1c471707bacff9e21ab530c5c29abf24d6e40e5de9de2ef682995bf3de7befbda6e8d7bc57b4d7144f9a631f31d6d8f5d50a457c6d969b85dfdc2f2fbc51ac49f0457bd7600fd77cb87491bc9810c12c9d8be4e3a1b8d112e0ad808b037dc98b097acdbaf65413df5467e95b66a6b5e8374bbc5b7a56de207778b57e742b8ad6c310a9298b9e2f92cf788658bcfb76b959a2f7d0ce3026734b82323bbacc65b3adc31cf7ed625dc87ca6631fae5c3bf6c68681593ae1528c042058d8d589168873bbc844778c74848d40079dcb868e5a2db677da38d728f4f108232985a0df2eb78bbe5dc45818c65cbbe8a807a428c63c203fb67578bbc84a1afa6ac5c4db052c2f511163bd75a0841986143c076a8c1d478fd6201efb986d5090417d0a9e821f6de9805c65c813119c68e5447702417b656d7aef67adbda7bdf6fabd77a7f65e7befbdf75e5be6709d2e77dd52891d2861a21a7fd8be8eecb5cf38e3efcb9e31fe42cfd631cee067dde68d627cd66a5f6f97ca11cea8e35ca3f63aacd7be014e39ed4a7774c2d83a9a37aaaf42afa5032a2f17bad2b5b707e83b70079991d3aead8367e8f67400e8f944d3cf9f951dbeab1e3e2a1aaa5cb875150d550e74d0d1f4ed4673ae6507150d957d2c4430be1166a25a00d6f3d5228c15a499b5d6a8c068ac3176e4daa2bad35710bd9e2f66da91f3de01ba0e10ae11595f571e841241f74a78fc6a54f020f87d39637caf2d6b9478d7a86003bc511ef6c1afac5181631dd9ad7fa70eebb9bc62c65c25ec4bf8f1eaeb75d78d75a1d8a0ea2d40c5ca3ee63fafe90e98a8edafeb7dadfcf59b6deae6d08ad67fbbc8e28d662c1a7956b8be0355ac946140cd63e7a9e6c9a3b3559e6e99049e0191dbd8934725071e953521697954cc909647e58b485a1e1516a848b1bc29474a2a569f6f49252a5f9ccc00b872ca1c2c80eae3ac94625a25ccfca599e5156f4a96d79566ce7a64a975b237b43276c0b45e7952e67cf55a9aa307cc9f3768cccabbfa7ade95eed157aa17a9c6e8408a29c564c2de811433fb584b1bfe76a396297b0752cc1ad73e0e26ea7f6b956226c0e953541617a3300301079071410c032421c128c00b02583080231715b46021800018e12800c08a9b8a7d7a0a14278a8886846c41403f359f1e9a399395e4181375087e195f8bc58cf58662b07c4b5c8a31eb637d68b6a7c7a74768c8ccd1886c395a94d7ab9f5c6e2828a89ffd911abc3e1bcac7675ebd1ccd6c7b3654cf4fccd6f4e91c6d43d1dcf4ea2744edd533592b4b3024c7d96c26fb66b3984c2603babee32a8a28f7b3afa2703973ff6cd3f49a57475163ec604af121e0d7fb2aea2857dba60349ca99def4fdd593cd138625b8af7c66b3d9ccabcfbe59de573d32994ce6d5836a8c1d574f364f4ee64ddfdb7d45dba6699a5e3d458db1433fd395393bcbd3b3e0b28eb6922a5289cb95b65c19a5736559960e2429576e5b061b958e65e805c36f2a92ccb1e33815a974b0af4b4798f637983d0815ecfd873a58c204a1e679fffa167b5996e56ce64ce872b30d7575b9d265271414545452cef42814b9994345c9723307727333878202a2734f333b3a20b6dc5318a6d3e5640e0504977bc2787439d98692b9b981c472b30d242927db513072e5b6d7871ac31f63dddf8d9a1f60476d1caa2d0c4429838dea63e732bdb051fd37d8a87e9c2cb02d0c44b1838deaa3b6cc073cf206ab6fbedab065de6ef443f357fb1bad4826ee08ab31fd51f38b892d1ad3ad1a13bd60588d59b7fe6ad59c366d8e7bf482a1172c8de9951725eb51cb659a5f7951a43c6aa93058ecd67818c99863d7184974ec2628c66cb1f3d4a7898dc01a217835d65bccc333e6f8446f0e8218874b502c1e7416472f3c48025d4678ea7c56af2d429f9de6b55da330dce8edc35cb7ae13ebf9c7199836fd9adaa6717e649d031f737ba2d954c276367aecf4c0f6a383250df29267fed9282bb579fac5d9eb4b5666e51921f31890a609235f18e1376e34831fdd9eb113751b024c13c61214d3dc68cc459f2561249b64936c924dc2f8511edfe441d2872e9634c4a6efc358de60b21b0a3122e57a1a19439779fe8bbb3e9ae7389bc5624a5757994c571d93c5666ebad295c948376324e9a5cb6432994c66c664b27b25505b5ccfe0e22eeeee2421269aff22d928aa8b9362569c45f34b343f496eb474eba3b904c5d4d866592d599195cd6267c6b21387f03d6a816ffab06c37e51f7ddc162acd17e9036c74795cdca569af3e924e2e9960565e14235fb796798e3c265abdd64891f975d946ab95f24a6eb564212f0c7d5d86f6d2afe7b830641b25431d4714c5998fb34d643a910368eee31cd0dc673bbdb9891cd0e33ece418fccc913fde0c9978d972ccfd16b496a2f4fa727cfa6fce3cef25aef9a498d8d66b72c81f724ecd1cc83a2a4561e94a9e73d9963a7ca561486611886e6c5856528652b0ac3300c432b87f764ea2baf491c0bbef29ad879ff3ed01c33b8cdff8a2eee0b62565e933516c8c08591fd730ed80becf3b02b34e97d769d0e1fb865931c71afbd94a519a01830f978b2f7a52ecf7c71e3d617376ed483db076eaf03741d9ee414f3c398b4b8aafa52bdd88f928e784bc83ced2b4f09d757db5213b3fcca5be2f5f92b6fc99a476f3dbc2065640996b9e88ea1ad3156d416d873be60795e317f795616f8debf1709778df0677c41bb332bcf8a4c48665f0262561e13339fb5ec565b6007f5832eca7c76ea6b0496a45fb29495f9cb4a36e52737183bbf0b827ecf2c7e6618f501dba33cfe3a6adacc7b2e5131f5ebd73a2d9b8c8c69d07660c44c34b0834c1560b279624bdf46ed893ab912b6e0a9c1d05075b04675f3d57e5e1ac1bc5f79555b3d7cd832839ad1cfabdff8369a7e8dead97554cf9b29fdfc3ca044f8a1fb5a71b585b1de5033efbe6e3d9995a702145dd11c7e5559fe926669c3fe129589d6dee65f76eb3ab063854435ecffc8afc326fb168b4987d39737aca740b44193fdecd7eeb044a57552b8afb4d5db47520f3663c71fbe366f7d4f18ebf77d5fae4b53b586d5bf2fbc20e8f5b4679e531d3c6fad5f0d424141419ebaa73d3f3f2e3523f7a362a720705302184f8c960dbcd96ce6e96e853fed5638e9b39b03d56a354f53783aebe971a919b99e0c9cd921eb881231a0a086245dca821ce9e9eee64fbb9baf7072a73207f2548507ed741705e67c7c2785733e2ed522e7e3290a4f49df4585b999efa4927233979a919b8de3f867c2ae98b903e50c91152b5678ba53e14f3b157ef315419e0a79ad56abd56ab55a6df308daa95312227eac39e24a15942db7dbcdd39d903fed845c85df766a02b9cf07341acd49578415303caf1db05650a14285a73b207fda01b990abd829cd6b9e06f9e64035b2f5083745aedc70021126142124249496a78f8f8f8f8f8f8fcfb6001b204cb2bc60c113c40f404040403b9539046e467ce0d253c2043853638aa59e305d6f885409e3e68b8922836a6469341a049ee4e0308291292831b4134ad5c89665596548911d78c0c105118c94415e9464fae84f3bd34797c96432271398bc5953831d384c9204f9d32e485673a2239a9bfeb41bc7b1ea6087cc9724598a581da9f9d3aee641eeb3d3d1853cf5f1212020202020202007929403dab86a644ba7f9d3ae749a9ba6e952b79cb953a19d1aa04a161bc0207122272b2828c8d39d8f3fed7cbce6413b8d3990a7b6a0a0a0a0a0a0a0a0eda6cc4b7fdac9bc741a8de652b75cda811d92a0e33575c545ab5673290b72354f77a63fed762a7acdd31f1a8d46a3d168b46d034797f9d36e7499976559eeb4b653a72d6fbe2c81e7072d4960f1f1f1f174079aeeb353ed344f7bb6f98da3cb643297bae5643ba5edb41a91248d092630f162c3999c69ba940539d3d3dde74f3bd03f37771a7ae9e96c436d5d8dec53cc457fdac5c6d1a56eb971a7e54eab9818484042c80b4ebe9ce45272438de3388ea38f0e242937ee7497fd09f4dde7d9d39d54500ef49d540539d0a52cc8818e3ddd4909e562be9342918bb9d42d17f3dd93e8da9f62be135d37857f3d669e363f71d8a87a3e8fce246c54dd870afb802163adb5d65a318b8c1d6fc7f51ac939e79c73ceb785b18234f2e26ae0eb0b1ebfa84815c9c475c663cf37d79cf402bff0d897b6cc1732148041063c20c2ee759cc424df7ed5c87ac53b93d692d5c8d6dae332174913a02265f482bfbe14c75c3a63a247e4bd351c66ac9517878ec5d632d9ebf8b44fe39211269abfd69b4399ad03c35ec06b73ed05d62b89eb8e6a2ba82dacefa8b68226fd2130bfc9fc1d6faa758156de57d837d96cb163ac4bc85693d759e0ac0beb4b27302b996d4562ce8efd8661188679d4d7c4fe9979ecf7d6232460c58ed6af3975eb7a62479d1efdbce207cf1d16f810c8c78f1de78c83401c0b9c0e02af089a353336660bba93d996a4592b69546c75ae677d4b7e08e0839e7758b00fa1e73fafdb5a9deec1bd237b538c6b4bf739d73aa087374a1bf52bbcf1e952036c4787d632bac759ba67c276748f770cebc2bab87e02b38a453e93a451055ab376cdb0eac81e5e2b2399cdd947924849d708bff8b2ae168c59796db45e14bf62a59931a64592564a5d2573f1353523eb579849ee6f3387c6b7977a638df4db0f5965258d0fc742e36ecc8ad65a6d436b2d68b3fd2cce214329f0d6b567adaf8eec9febd01bcd5e9a5893d741bfdaabde26f9d9cf3faf6da61ef4cfbfec83a94938a3d7af1afbf3be0c18c76f044f1da1df6bad8e7b23fbdd21ecb15f1fc1a37749dc4f4f50f5eb4a111262f8c188acaf9ce85069058a50e24e1378f2807993137db74b8822e3a48428324e4e7d977e30ab0e7033f1781d796be0ff7d392fc0fadd18678ccb0dec46f333a51f7e3f1891f565e3961045c6092efcb07f658dfd612d15f07d8e7359a37ed5d8ffdd7c3f2f63be3074d81de6fcf56f87afbf8e3dfd8c2f5a237df063c2ffa15f79e3eab03774eb35b40e4f94870dd09619e80777e84a587cac83c96bec085d0708954b0a91113edcb5e2d0f441a51bfb5a5b940bb0d83ebe62bca8bcc8f80b7f9de47969c14e941d3f113e89f25ee2f2447837c029077ae505d1c2575e1059fe469889e2fee26a1e259e6a9e1cb8bd7c5b63012cb5605a4771b85aabfd64688fc7f8ceb0d4c6348f8eb21e3b0e7379ec350d766fdd32418d94cf5e7f969d8808f4b0ba7d5be6f13adea05a79ec59cbcc633546d2c4d1ae1d6ba01d3ba841ccc32ffcc23074fc89fff9fdbe988dcd7972bcb26feb189df47c8e7eb18fe3383ae937622e6e34b6af4a0f411bf5b78f580e4bf4abc3d78b1e7bd1c31cbef8a283a7187b1114473b82e395895b47e8a287310ffd7ae860a9c18c3cbf8ffcbeeffbc6ad4b0e9c4b922b5d3c2f3258e56a358a6d5d6aa05f87e8d863a2dfb286e8188fe299dde270a3e26b35a65563d6ff1cccf6851206e09981022ece5afd0d25c0098c8fffbc54801398d286e7ebdf8b9e7e8ff7f1b5bc61ea5e747ad14b26511c7dd4a43781cf14bef619d98329c5c7bc8e3be6e3b5b86b65813a8165064a1f6e0c942eee048adac2ae608a5f795d737e67d9145e9a2d1e6e98faca3bb3e691bef2cef47e9c553ffaeb8296eb572f79991cb830325063e0ca3ba3f5d7955618ab9b36db96c76e22e1dce5e5a0fbbbe4655af2c8d8b5a6e82baf2bab4b85ae22372458ccf0e22b8fcd09b53c08083374e543640d10991d724e0f322e2f3e54c825425f7938ec8684e0a9e1b27de5a9c91a5ae212927d5ae4ad4969bc74e6a511fa99e5b29a39f6d9c654ff798c2bcb7f6e726d3df6594903f4d958cb1ab333bb79a23397799ed598794c877e617c6ef31ed17b4ea20dc4d926029d2cc3120c4f1da6eb103d449d9ee6b3d3e7ec39d1995f37677eb179ea98797dda89ce7c3435205d749f9d9fdb2e0c2ddba8ae9d151b991e13fd7331dcb64c75c68a19abafb4506b34265a6bca9ffdc3f6d5acd618a09689ded0a3db6757aa5b36ad07bdde2e56cb05dd66019166ee48a667afe689c135ca18647061903e3b95b0d127fad5fa2f83faa5dba85f6e2299acf4d04b9c0cfcd165e5896a7274faf13c33f8b119ebbb1228c65e5d07ded66a60831d34bc1ae82cd990250cc34c03d340478bd58fd697ca98e1a7b5e8f45abb8f0fefddfaef0bfdcbb22eb0cdf2ddcf7eaef864c2f99ea4834396c04c6befbd45767fe0776f26ed120d2659c482b4e1b459f35b063313a53d838e7e9fb5d7eaeb5a8bd8efbd6f73fdb693a60541f4bebeb8266b77283d538a0f01dce1a47ba6196f1de71c42af4b3198d67585f33bbcacd9d2c0f6d4f524bd6e6dc310e7f2c6e7d9352a5a31eb5d6b8b7cd6f2c6e7fac210c3505710c38770c81b5f06636b8c6befddc164f33ce84dfab50da67dfb3b943e04f099ec169305f3d66e276b9ffeb279bd8acc5aa9b1cd66e56db1aa7d17076ea06f3c5e22636eb366e3e8f116aa2daeadb6b8be34c6b4bd0e63bd61fc226580f57bad69b3f696346e26c1cb41cde96c6bee73ccdb92956259d0def206ed35e8797b05f035b42196a10db876cbb8389c1492df5973b9b47e4fdb03ebba8f58ee13c592468e0608018ff6f0a21fed31430f343dbc5e3fda8388d78efaf811c40447ac7c5c6179eda88f17501f5baf7d90796d59c0567909b80515d2d171e9241ee4fa589768e7c11eaf1f7d80be846a38f105630b015c3f6e3b33b83eb6e582ee41ad8f713d5315f3e6cd6b2463d05879900c1d32761ed43d53cd938789d7510f5a89e1cdc7bcc2c0927813c6d5557df83a5375839d076fd7d7c792d87a70cdc7c2e40c4182a7b704e779e3e44aaed265ca9207755a3ef645e76361af7b5c0f6ea69a270f1e9d252a8cedc18d8e60cac618e475cff8e0463d90c36b1b31ec3c2e6ddcae205ed36072ddce006246f85123e451bdf6b0ac116219a3b5d6a10e431d0119cae3c95788654a8845eab51771e5062c5157b65c41e14e78054d88d526c40af3daa9c8104e81e1b56f85539cb09095a77c99d225c46222c4228606930ecb0d680f6eb4043d9c4014455114f11032348582ca53bce024be88a50c4da57834986abadd37813d0f6e342501ecb5275175d180f5b8c4d8d5c950272bdded8a83efdcb1517940a246e581c96bdfa108365f3c2c593345831ca7177260d3e6b5a845518b5a6b2d5640863ac110f6da659032e6cc953a46eab58f626c860c75f282a78e8922f354c348d1e03eaa3426268ab1582c1613c5980f19ea04a608b0a4c1f4f34da0db07cb0df2831bfdab718cc5c6582c362240866ac0c40c2d313f7469e30c7bed6259c3a3c4c4584c8c8940865ec0cb6bb1b48162ea440baf3d56d6286a816807a12d5b9922168288009579ed6359a3d603498ea50d1f372549965986ea3853e3c136030a31af73b9009f0737ba63ebb58f23192b6de8175efb583f192a02ac27c7712447f294a13c828c405e7bb980a10737eae34d02423b3e3dc0d8bd7693e7b5839ba886f610f4835e1f04a24c9c6fba28105db47c93f51122c96181006e0ff0083b16a2bc760f4660040f48bcb0410dc960fca1df0f5d01ae74ad8b97002b8cda354612459bb361a48cb1e77cad03c01d6573a05f7780a5418403dc3db072c4fcf31e513607e6e811db504066e4408fb2f966d9d269016ca43d9f5a67808db42be110e1081b699c1d67d77ef7a8fd5aed76e39dc6f6bd9e3d023a33875d5c8202fd03c3408cf5867bc47a60853ef31ef7b431cf9e23e6f97accc59d8374bc53eb1e019db94d131b85eeb371ac77a7583968414ef320373dc5ca01e4d7adf5d173581f47b72eee1c369fed74e6b6bd848d42bb539a076dda4e952c575af1dda963a330932e3bcbec31cf913db6532cd153d3b38b3b07763287bd3b8d6daaeb77a7ba14abf4bb5399576ca47bdc67abe7c887ebbaa5ca35a7cf3729d6526da736673acd7dce1e3db0728cdb5ae11e5611d099a07fe6b659b0510761e6ee91627150739f833d3eaf39d466f9d0b3cf4eecb2d85973240d8b825979454879d9d55773ee009bbb8533277cc329446ce109bddeecf5c10be6ab6ffbc0b23eecb574f0e47c0bbbdd6e9ff3df6e1e24257d20e90349387ee84a04104be6c8d0849409a6a24e18c7a0a0b545e24004e60d21f5e157de104e888cf596c27e7aa989f0168621950f651f86373174a279738e88a1eb5d94c7ac3c30238fda4023eba7edc6a26e65a0942bbff2e64cfdec2b4f88261e3dc253879093453a268cf55605f095065107daefce218a3b72801cd41c18e6f04cb172840eee14eb7a58b1d1175e1cd6dc77a2fac6f9f7de7c2db6d87ace5776fd0813f94aba4839577972b2dec2987d29d692dda9cd591c4eb9a74b8423ef289bcb8e3704a080ccc8658fb239ec4ad79e4ad8081bd9246cf4f91136fa1c87086676c7ca11faf57bddee140bf4f4badee9766cf479b8afe3a83928ac6404350966062ceb97c2c2d043323ccd8b3b9db8b953878a051f72e117de11bd0fc39cd31517a87824782991e14a2ee4814979509b75e98e597947ac79f4e88827c40cafbff28400f3e82d973056c71de1248c84af2ec55e7a3ed39c862ef3ef4c3f375d9fa9762007cfb4e629e8a38b672aba8fc7ce394e80ac40468d922c454a157ebbdd6a9efaf8b8d42de7e369cc8180dcc70d9c36755ae86a53670e8d462b494f857cc58a153e4040404055073035b470030f85302a6559fe780ae4b7dbede6e3e32393c9ccfc50a7c81c1d96d8b920f31f4f55f88aa2a2a2711cc70cd1c10e0d6fb6909819fd84a7427e2322223ab15319376009d3e44a9426b4cc139eda86868668349a0570a814a10548150d27d07e66b3d98fcd662bcb1237040f78d41829e10e54d94392e4cfcf8f4c2623ca12738234468c189244d6d3d3338e238dc909743628d14b726574149eaa98cd66a669c6567093b5430a4e5688623a0a4f854e9c384192248d4603ed1ca97345c5839b2e404040409e02a5489162c58a1528761a822f3814810709189cd829fdf414859f70f7dbed2693c9d02198749953c453d712999f9e9ef0142a54a818c711c7982b468e18f204150408080868a7a39f9ea6701712123a779a80136ed081883447c654d5c8ea61c995243444a972222828c8e94b581c3c77523872040a296ab59a131429499478a133c29d2050f8f8f850b90193c74992292d29278a8a8aa6785b617ee04085c49c1444444450bd2522d46002315d47a0181a1aaa76d4780d41c7c8570f6f2a9d19def000a7882f70c26a9c2249f078d95283114f6a1b342cd0a0040c269001898a660e151aae200182820d29489234c090a714b4aea8a0858762c58a152fbcb0a4d0c3d4102548b9dd6e14405112c49930187238a242850a1449dafcd88d00a40b072135599c0821830d4dca985ba40c7942a18827594d418464610303992d2a0e3013864c0c55525043558483862e4f4ab878816284a8a8a8c8860b44b46461414d5816da101111514e851f881012e4072c2594b6a1a121994c2645c8111a60f821eacd0fd98fcd661bc7d1c9891b26881001820c90ded8f3f3f3639aa693092f904095064a941c18cc594f4f0f8d4673fae1030b2af4c0b8c0c30968e46c362bcb32892d22e4d002af073852ca1524e9523372a44c2683b3ab925386072f33f4202bf2f4b662c58a8a43d5939317e67401e16624f254c5ed76ab6752480226862e2a364398439e0aa950e15233722a68345a0542ca5ced7c486242149acd53202121979a91132acb92823662b8d6b850c64d58f9e369101010508d480d56c0b85ef802734f5178ada8a8c8d31e4f6b414141e33882708cc859a21b0255c4e8eee909f7212222f274e6a94fade652337235d3341b80434fca1246a8a051c13d4de1454343439e929e6e1f1f1fdf690d3011f0b4308413266252f8d32e4591a7289cc866b379bac2d373ef5db453273056dcd8b9a38496921e0a7fdaa1f0147e82c8d3133ef4f3f3e3e9cd533fcf9368a74e597ed0b084d40c73c48049912285a7bb13feb43be1283cc590a7456eebe9e9f15485a729dc7d68a74e528c187146cd105c3d2a14285078ba2bf2a75d919f7014364f89fc67369b792ae4298a142952d876ea648409112a57904802a6ca8913273cdd11f9d38ec88bfcc48fa743de4392a4a7409e9e408102c5cf4e6b12613f2491622486aba2a2224f7743feb41b72222feaf1d4e6b3152b56781ae469d18913277a765abfbca8c060839c204aac212222f27467f3a79dcd879c68a7a5cf3cfd71f276bb795af394a8a8c8a566e48a663bad3574698242943a4968781a1a1af274f7e34fbb1fb7f910e9698faf50a14285a73e9e0e111111913b6d41c706217568b00255c76673290b72364f773dfeb4ebf1d157783af39b909090a7db53dbd0904bcdc80dadd8e90d88941766f0c242169c9f9f1f4f77337fdacdbcc77f766afacd53d255000101797a7afa63b3b9d48c9cedb6d3d91b20b2e27cb550654b4f4f8fa73bd29f76a4cfbc67a73457e1e90a0f767a5988d809c382e2406725ccca9cafbd2a5aaa9059a24a550d53e46cd366c7ae6a85395ba6104122d7d4a477e585e64e0c46242101eb6eb7e46c7d1973c21226c093fb42a18630767674da1891b3754a3a6f8fec160b21767022431711922c21a20ac5035e08ab014b98140c6ca6e4e94db1d39b12a737c5ab27254e9b2865da5c69c9b05d59c9b05d0191618b0226e3aa77b5e68a4e14af2ba64c125ca8f06c61b38210359435063350a6d21861439d20209deff3c2465f13b03fffe61f7355d5504c2bf5f3c2d70b9f76ebe23e2e76cbaeb164ac171b66e9582d0bc66a1d6124ab65b5ac96d5b25fec965d63c9d839b667b5ac561aab85c1ba7a2a4cf5a0d821a2eab044d40942dc31c26b09393d15ba9828e8867852450522e854e9418983a308b3f69ed839226b453d276b9cd8704213254da69afcb03ac20a0e8f67e5655546071c3a2821a3448b12284bc874757575757575e550654ac91a26648260a225881cda54416953555535f5b587640d929e17122d2e5ca87e4cd1795204132ee4ea983aba26aa3421c49a3bb9de04ae0478431cb93ad2a40b911eda8c79d2a64d9c1c391041424ed4116a8c18d50c11011c12052484098dc3102c0b81337e5f7b47aa7639e31fbe87303cb2b39135100441900441100481bef68ca8f9b45420ea19893ad12b12466ab0478fb82e1e250c2ece7a18863e28d9ac0f426a8809596353029306092861e0506d19920190de93334e4468b2a67c23c4c828e409054ab6300cc3305664b3298142a6c89088a93021523814956c8e4353c44d2c089715f39a41cd5a16ee81cb5422e2c271c524bff68a58c151c5947ded15598203ab57a488ad6616dd4cd3e6e2d75e91218fe272d4cf12b67e4741a4cd246b205903c139192c6f34dc2fc010044110044310dce60ddfa0afbd147ef8ba54b1378294de084470dca00780c4ce1c2d1592449d71dab284181390f0004394214a3774caa91fa42e0a43300c31d89c0c963128f36148420e1f86a1de56279290d54ba1cc9b5f7b2964816a621cc01fe8329ff77ef7da9cb8415c7368f968756381ca818ab35f81dae23a0e29a675b4baf9ebfafcaa5109422e35d0ffa14e19e770125c7a44a6b8f488549590952e8e2966b52e6c5ac2d4161c5bb4c6d9c171e9514571e951e97a2600fbda1b92d51b52864a6f8815ae67825835c1820c697cf821f77569f931410d428431b9834294940dc1491c354da0a0829318d80831677c316932864a8938565c0cebd66745f1d4a4feec7445070d1e114eb0a48a84dcd765ab0b0a8a0c71bce4be356b4a1f48d0f5d6bb6a8c54c3e13fb7d1f05f0dff7d5f077444c0b06604326da8e43ed718a97e353124ca151c90041124f76d5b2dd7b2d5982daa3f9bfb3ef7dc93a2a333100b3f7041ddb9a18830b94fcd7f5f6f4ac97f41b94f071b2e4b04a1c1863037e4bedd1b01aadef20d62274eefc9ab07c48a959595959595550f8995144cbdcf9cf5994f1da0d71f511f99bc9724374a96fe7d2d3ef2cc6e73138e9d3a98c0b74cf6b30eb998faf3e79a75141d300cbd09ff1d6d5602a35edce7d565540490324647eb564d83561d3ee6d76dcd5ac1d6865a80f1ac75002fbeb6f8eaa88a0b6c162c2d445d18d6868abb54d68abdc066a92eae5fbfb5472d16cba40437fe2b6fb1d416d797ae98a8c5f2d73910a7c6b949494747a0a338d437eead93d563b7da66334db7808b17ac13240bcb0ecceecaeec98ec82e881327504cbc9161eb41c920c3d683ca22a307c44c0f88560fc8570fca88fe3ce7d081784e57b7a07b2dad256f01ac872716e8b5bc016e5d5b5cf7719dbe6badf4a0a27a525059bda85e5613136cc2a630d60bcc23bf38d098b577c2d4a3a689438b8951f377d54ec40b63060ab830be3a6075be7098a03473a7ccac8e191c43cccab39385e86b4f04340f7eed8950061b811d0363bda1df9bff7c7cd3fb11f627c6b96e5d245b658d3ed7654c2edbe7f59fd5bab8cf395852f5dfe7b6858a04812715c946612615460cd4c2f09fad82c954dce710c048d82b0a23e132d5a8ca5e80c354179f7f3a9c1d07b3e150bc8577d47f78cc12bc555b7cdec1954984bddaa3df7f37eee1ad6bf4e1ad8bf1967f22981f16635d7cfef9b5303019208b84bdae9145c265aed1e79f63b00ae200c06ed451fce7d59a8fcaf09675f1e18032afdbef0d18c394de0f235fd4fb21a4f67478aa11384600c312c708e1d7d3f588bec7ffe8e9d6e03002803c5c9f3fcfd6879ff5fc3918da8a8a8adcf17f6ed66a359b8d24c9da427f628d51bfb6f8fe039bf27fd9f1707dae6f5d58c7d2449971065e2428ed403c27a2d76bad2dd00faee6f1f71600747d62d5da0274f4db4df82fdab4d584575252128e2336c624d03f7f71916aee45d106d6c5a5fa1aa96e515d09ddc75c9ff9466c176d6d5dd440932c3e8bb4759104d86bb717468d986502eaf36bbc93704899d7cea982b2a557af43dc90e5590031c40d569805102c80a872b07adf84b140b0411c5175a2972b77c53508206bfe9639ea964e47a22aaebefa07455f1d8794896e1ffe0345d9cc878e43cadcb1751fee0f6433411c31f54368be7a1046847d78c3eeaba8a31ce9e1d6517d08cdd7728321345f3713ce93a7b47145ee38bb39df84e1709942725820d86a37da438aceea64d416d7c9a40b23e9c2a868bdc156bbb86bad0b5bb5e3dc549966801ffa8e50570f4fa6192caa3d2abab81df9514dbe489251637cae746fec6431f2c2ca7c2c166bc21fee1a199e35a86a09906f01aa2b6124db35aa8ed6327fc1fd9d2f6a8b8abbb85a694bdc5a7b6f5d22cade7b31b643445c8c71ce17c84b066a7b5b1268b305855f49e303b3f29880f295c70491cf4c6879ebb6b0e2d0ced67f779ca284d567c777b23e7f3eaaf9fb72c638d79cf359ad8bb1e6987747caa3e4d75a2b8e144cebf5da0b2a56ba384e304730518dbf8cbaf86a279afffbbcebd1c585a01f63ebd85a0fa1e87ce13842674db548a4578b446e19d708c3d01b4dc29ebdda0b2acd4d47635f65e48e618db09b3173d663930d951bf7d81aa101c0ae1b431e1d325f79484c6124aafe83261c424c8c56db45f21c76c7d179ec1ff0b83092ec05329430c840014b39209081eb81042c70617c1b64258f3651e95e3b788a5154e2168b47792401abd22949e1b5122e25603c96e8d83869e3c40d0f277562ba2021917ce432b958700bb1276e881ee5f1e40e021ee50186cb0216b416571757125459d2d490468e10540a285f78a8f15a73c5856f2b061e6c7e602387071b24d82cf11ae5d105c3181e5d6a7874e5c0a3abcd0c8ff2c8810a9b477978e9787cc5c08393ae184aa0c3961280a109c0a325005ba2046079ee09b9c84d82a35c7141f725d5bd696182181230438fa63fdcf8807b31b03be98f3c4146a0aa6a9205b790b99c79bae1092c85a282f1680a45c46b34dd6511e2d1340a6b4e97eba54c2ad525e5432a35443a82aeca793425818acca329095d24b449491062c8a3e9901ca03cda438aae4796215b8f3a21d9427203058f3a214922a64b6135c382e251a7245d49de3855e9aae45411d1c3a34e4a6ec85257584be0046122844999ae479d9ce8aa4ca179d4c9859e8c479db85875490186136048f3c1906db867d23879e9f2f2c6c90b105e92f072c7e90bd89724623a20e0d40b4e60ce3881f952d2293d8d30e484f25125ab274a545ae8f245298c520d0578f475291efd26590078f4df7c1ca04773bad73b3c9a7b63ab1ec540b7e2510ce0143d4a63051a64501a5c34d65c80840c40d1c0065ee0800b1dd8a2e3ca832daf1d058104107a788d8690c29210a284004604504440872a0b0f1778741dc1c3ce08bc90c08a045248c0257bb4043bdc1e4da35ea32992d489d0a3a9d66baf699ad7dec348cfa33dac6809039ccfa8840b57ab0331eb14543303000010007315403028180e88040281489cc96ae2dc031400108eae3a624698c8a220ca4110c418648c318000400c2144019819a2594701db2a1ed057b83d534ac0bfbe171568b0d7c14d421b007a1a202db7b58b9c8d9a9fadb1f9dd8fda57da06c4ed51db676944c1145b6b18d23e9875a5327b407fc4e6ad2cfb4341778ad310574b7a89b9d201da6978a960e8bb4b8d7ebe5b7c144755de5ad91bbab5e77b5540d4bd1fdfc1c40dc26c59049a99ac866667b55b60d547ecfe239623553008457fd1c7b0c0f62c02536c134659d513fb1ce8c5ddfda09d8427a0429f15745811ffbcb9173bb6a68bf232e9f852dec498e1a7402b569e810ea6eb983231e40ae967f14eec4802bce960c3cce1fe096fe3870cec418881cc2b066515c97a1de073b0f91f971cb0fa0edb9321011797f8cf9400ab2d2162e2f2022b3def9af71f549c8945bc471169329f215debe27081b8f230ba417330b968e3ce160a464ba1ed3616d04a74a8f068c974aa70529daae828e9073effcd095d0ef08b13c7d332f9eac7390e0396d23a68c556e479cb7ddd3cbfd808ad309d01c5e7338c2867b32410d9b189581449a35732ab351d6dd68f22ee4c85102a84c0ea0f24e0200af619c9e52bc53787a7e395ccf78095e793ce49cfe0ccbaba1fb1d3ba0a21fddea355781828be91b5b294496f50d55487a235b4397f8966a4ca3769b71738feec75bc66d7efda514e4d4f1a3a0b3fea83a61ff917ef271028e825f65bad2ef951718304e9a5a7516e144bfefd6f892b57187f12dcd04f5b5957bf7a88ccee22616f6779b40199cb3dbf1a39b765dcc2cc86750c91caee83b8a97cc3bc64af9fc87debba5c353401e8f500d7d6b6ba6069a4f9212ef291d12bdf228eab2b1c0362b99527aeb7e4f989de623d110a079b95a57ab9e90c44d8525092aa3ebabebf962e3c2066c10dc90c30f5f293f8b5e06e7045189b02a6f2b1953f58cc9f3552d15f3c3adc981f1974c68c8c467c78f46422c0cdd04935e2ff00b0f9b5855427996bdef4f44a6b504ff67f2e7d3e8537fb989a6bdf5e56eddb7c259df3aefe01eef1a65fda0fcfbb5d3e80c012a8fea9812456f238db4ed444d113d9318ef0326ba8f0e90a35421998602770f996003853706c1153dd53e43ae22382e460d70bb1ac8623139216a06f48c1fb6523b3190772c2a1a9d9d45ef0817470539acf450d0321eb0b480e75a330f0ac96c38d769b7c50e6213d4ae06fb44c4200cee0601fc2ae8289b3a7e660682f3eac99118a7d067e3f1802610ba82652ccc36cf027422e6879399519d0767f464de2bdcceaa429b8771821fc18aa092e22a30fff713ba5b4d9c24bcd04b99ce0edcac50a9e66a08dc2496e89d76a77900c7132e02c2d3e182b9e72c2563f0531f4318918c195bb9670fc11678667ba2c2627013da71fd2c11d6e03bd590ffe11e552f3ee8bd82c172fae2361f282c1a34a43f97e34fbe7c71c968674fa2cd080cce742b1597244824ea852deaed07401cee69f702138a4e5a55fa86430070d9a2b874a79f43cfbec3f5fc91f9646315ba3424c2540ddca7a4be64036e80cb0403dc78ce90bdbf06513f680c6eb7a920dc20570c7aa08d7f087f5959fcef2ff400fcd79161f78c42d2134d30880134e31e8e702bc1fc543138236915a38a19548f8bf1dca09d966d367e68a617d78181756706adf6986386896a2de444b95246a8999dd6fc4a6483690a527cd18d4a60e0448fea1a8f46b5cd8cf392263c8886b28d0d4c8da75664affb7fa0299d27735b8b66ffbac45f4b22455a14e29fe7c8a83e82739e09259f2cfa74e7dd272b6bb5521205b70c099488711660306328f692efa1449b9fd3e4d1e882cc7b0e20759a790db6d2bf76f3bdd2d3c454dc40b9c58f6e0b898c88e81c62ec06d7c1ac613f1dd3c6d45c049b9df0db45f1e698b66bec5e81731b4df388e4c7958f7b0f3aa54a81930e09ac9166f4c4a471d93c20e3e499fe1126afeac0552f2c31ad4827c02e87af77aec41f6fce6733f49162844614c52a30e84d27c5f181e3870ef6c7774bb74d457965d29106f00c40bade2d1d23735657396041153b38f23e3c84e182168a98369128c5a48db0672859a8e4f3ab727c5e86e3a4f20841a14ca07184ceec57f75bd4328725565d47e8826c1e1a3e8a55e564a8e9988fbc8087d5ebd2c3f28cd616373bba121568263cd7b4ea27d19df1f10e8e722d6bb2902130d17f17e9f281359dff48004bdf66a6416abfb7f43fbd3d7f0baaedf48f3331ecf575aac1139942301329bf35b459934e76ea074438d4a098410a485e9945ae61255a92ae12439940b15c11aee716f5301ee537c15ebe6dc026242ae6c3cc9270f6d6e85d1fb4aa5df8a52d0d0b756916e050e87c900337ea593ef8a47a1a380849e962b18571f35b68f3710428816f4360a3c26c744b8cde2c737397eacdd6b1118d748401bb5b5475fde2ac3600a7aecbfd904d0e6f9d8f88aaed6299162f919376b9d62fb8eaa416beee762f2446d09a35c43312ee33d172bc6054fb344b4709bc6e5c5d6afee39f19430578890dfee98617bb5e3454aea7006568eb11896fbe8030a654e4f5978913f916ee6fd5762922bec7cd2dcda4f59c9ae7e7b0a996397027d481bc34d689767d5d470b997572002f71916a55b360759280ebc86f0088412ae46f45b0fa8f5680c13879c293ae8be6380887e065d7f41f814e17de268545a818175ca6b73a565ffc45c30779391054bdd414a45dcddc0b35b72446c02976ea36330cfc15282290ea9107a9821432ad784ae3a340be8658493f44da778dce64ce4420520a46f565180316af0affe581b02a9a8b98c18868a6811e78340568d02f9ee826b359c2154b786cfb58ff4d9f2df9b44aef919f104783586ea15086014cf0cf0b3f601fc7a1203ec86683b8a8ed5339853c2cab9ed319b4409913396054e97204045dfac8aae10c721ab1531b2ad49d822998bbc47ac58bcc0ba9bcdaecf34a095cf3ee6f7a75cb761cf248df04956c7b4905fc79910fd080f44dfd6bb9ab1f24235bc3f466a2009159ace47c891aac4f7719252b091b0632acca29a1be96167e1158f9d675d22be0b5737da5faa7c22363c2e205034511440aec31c7bbce6ef1c0359abeea652d503c65474ac3d5b3ea14f586fc5ca7389d788dfd2d00d84a9a1915a6c0cf9015ec4ddeabc561eb4a46ce68aba5ca99dddb0d8db13d8ba6b65b070615b0657f47022c31892d69c76ac339f646e3dbfbf82ce1b066f200dea6b876f3df35b338e35ac290ac3208ce568e63a2c009f5f9cc216461c76717abe82b6a6a7fbc4610c84597db3f1e1bef5454af7b55c7bd771cd564ea51b3334269df359c4944d0017fe15b1af648ebd3f65625fe4185f98e235ea18648f49c2831f02add878063b78d76dca7c904b489f8d776240d2441240c0ccb75f285bffd1bd700cd0a3d43484a0e2e9a65b5c364ddb1cfe2d4f70101a0acef74190196adafb379262fa70684b526af7f73eeecd71ee2c107f72949f62f23c72813ea9f9c35331be2ad3d5835be5dff834152f054f55da3297789d0b2f8841a207acab2279433c58f7d7ec9c801125cd1b6fdc06412bbcf3ca0ddaef90fcc6cb67c4cdbeb313cf3d44a950099ca2a93448f4d643abbb8d861af753541db7aab99d02eaa8a9c185046c0711c41080db4930e9034a8c0353dbd8d448d38c70d4115a5f946bd2faacca63e8738a69a67abdf8a5667436b6640b8a194297b8f9ec4035b2851922de2915259f40661f18ec06006e6f076c3236e7a8bc0a10a0893bebb9f089c19edfc1eb4d9df2ee61f202d335cd0bf0171371bebec24cdb165c5a06f422d704c5242850d2c64261115d8814b6743f8a8ed0bdcd86a79e920a66f368703222c34536a40fdc80861f3d7aba945caff1deb8e4a0068296b1c91edd97b2028ecc34f1cdeac2224921404662f231cd2f0189fc83b8dd76f1d710da567645a5c51fbbd61c2e50b0fa289d866b63bbc758b456a3cb040b5d39b0cfce34aea2b45606eab6e4b645850d449f1845e34b5e83268d09a30dfe432b8acf6d093a768842428d61a81890d7853e06a7535f9d7768d5253e56302b98f068db35461bb992b253a83434879cda55165490edbaf635a5280674be9b7e7c10975a1f8e04f0cd21eeca1e130ba97a300aa00977eccb87d0b4fd0bc42e7c3951ea6db6eca8ac97daee7aa9fda194333c09a9c21d9d9c80cb8301e944136665bc4114acb4fda102fd634d70be5e4fc8a464735871a2eb4fb8c5174a50e4ddfd31b685bb8d5fc20b900d44decf03321247b4e91100ec09628fa5978b37d684c188159f99edff85de9554b7825eb105dfbabfef81f24705018d25d1278e980ca277b3f1a619c093900231550825850033844adb67fb8a9e6017650d462c1031dabfff73ee3d630a051bc4f87759541449e85324a6e53093419d417798ed1bcd81d37925750b6a10dfb7a438dda73d20f391389ba9bb3fe28b2820f21ff508519fb65e3d89050f0d53eee9a4a14babe5b55ba5ceae2ed9c6b388396bcbb4ef1a4949a605aa0b05a4f239cc8faeebf91a7d5694a38b76bfe945d83440a7311119bec1904b7740104b911d149e2b0aabcda09baa4c2abb57f4595f074857455e0dd5a36771d8d884e8f69ecc99012a43cc2ab8c361b8f07100d3606483db78363812e4b982cc01b31ce6c4acfe7707c6163b218de8587d536b17e3772632b80e0489fc41ce6a89623f6cd6825ea66b893b44c15e729b6d15e7cf1cb27b227eed42cef9dd14a0a80063f798376f40faa9489c08ed1a30a27aff3029cfe2ef11eeddeaa5858b5c72f400b9b0993114930e23d24f0cce8c7a34733d974ca50723dca93a550deaa52095d23f67943218498c62d05f0fbbefa70d2d78e64021231214a69fc0a50d0c2003fd620b7021c58739b6410325a1ff67e72197be5ac8fec2e6fc30d698f0d0c352f9015e80282134d484f31b4531fd53038106d46842b72fcd9114275974fdb9fbe42824a0e338c97e5fe11a088f43d4b12283745259f9ccfcf61f390b78d6a97804b5b176a567ceb5ef0b2967312a57ba321053359c22b3101a3797b20be999e8a70ca97d25c4d0222fd7db0704d868559ce58c7a644fd504c9d75c275d23fa6fe341a5fc6b3212f6b7e05f82d776e413abe67218c828a6b3d573b0adfeac6de9b6bceed78ae4136d12d130796f204a1bd2da1621d953a53f0e82fb2348f3141e6404125331d3548b47524d57e0cdac8684860efcf48becb0668519d7151ee187a24a242846f6614350eab0a6eaf9bc14614ade44016d8c1895eab0d6b48c5498131147079bf849b8c8964b249c645e041201aad6e8f1a8a86c8eef8f3ae58c8e84f8abfa9d41039f2256b9b485d7342ad3b362dfa4973d3ceb1d76065dd22a62101ac6981056865fdaee00b3532ef9bb3b5c400fd259fb0f991b9018e14a66bc4a6340a644db3dc91f108bd4c48a21a167d61b938b3790856cf23c5612f00210b20d3048d878cde8a71338c3dccfab2fe6aea1583dacc0bc9a635efb52a8db84bd7f69272c3ef8676968b7846d3fe9e71f22c0ff2e877095d0f7273d261f5fd9a9a6b8ea576d783a51760924fda47ad8ffc1c43063183558de91979aff4759cb10fad86f55fa743cf5cd3e6c34fe46e8b5d844d1034ec0271119fecf54ad0ca15feca0f0b793cfda4a60a3b2c6c0fc370fa681f76e9fb67c7eefd18ba0f1ce09c4ccee3cc2be563303189ef8a0f1cd17fbc878a04b1080986c88f4089f74c59d3079448596d1186ecc5154ac58eebf523411c7f5dd70a5d79cba5f65a83e9a0ade1843bbd1ee88491ae85ea7a2fcf19bfa17c9ce26185878166e39a6ed6dd175c81689031bddb972023143c2e970a5bccea0d4c1fc3eb49ae079e81c1c270a11348c9ce60bb04f1bf502d704fa3ab3f824109dba706983bc932f96805b334a453d190e8e35b2e2de072362c5f42013112594812f3624c00b4a3cd490b4ccd61cf220cbb4b665b016bfea1ab6c23f01ff092155156695cc55c42a39212a779f5e8b67362d8a02d0d0becbbd0c147cfd3136b5fc8fcfaa8344fcc8516ff6115d9ed568251975bbea873f2df9ef457d7132c85b8c20d6c8f6c8dba61c10cfa13ff86268faf92859177fbde99556efc918e5ca21a4e4ea3ca41a5bfc8372fe4a0e6c439452d363a3f571851bb9085daa5c62cbb425f4946fc67faa1c69befa04d0286d3dc86e8c407b0e3a7f00568c9c006fda586d21c5196d2c0fc2dcfc516dfe0d4f4d40aecf9a9c05cec2e11c5d833b52b1f6b56c32c53c7cba68100b87f43dbddb542c670cfdc8d5295fe39f74b9313fe8cb6a8bc42d8fe9632ccc281865f8195a549cd1f8c2690205755ea2d8b0944d2974f7316324b13bfa80e35fd631001d8fc94836220d794cebe84ef6e12b6209ee279e27c8fd4f7f14d8f7e7ba295541540485f85f996a6d11aae09ca6da145633c18d73b2614dc97838da99c3c8a11834ed4fff8f5cab5edaacf0a823ec9163ad00d3d11193f87b073af6df2565c11be092103b184b4b0b07aaa993e7454e934b142a2d8f91ab3472a08824dfe8b889e5c04d6ccee04563b535260cf6a3d0533bedbd6ab8bfb0e8cdc45201cef690e0b75ffcea073181ece0a6a8747be2caa5b589944a134e8c63d77d00dc2c2e1a431c712b4d04535208287a10ca4737a42770de74d7c13fdac3d673ddab2e45ba50785e8fe5145a9b20eaaa151a684c8e2313c0cc75221970bb35a881679fb80c7a30829449664ffb881fb643fac9a8f8130a705b08670e49e53bb04302eaf0d20e1b1cfe1513d13f02af0ca739c858643eeb1ab5adc80fca556126210b9bc9e7528369cd2f55e4bcd1c717bccc201fb830e3039f74961acccc709c51e08dc0372b96443f8924af1cd01ab76949557f49389a8eb60beca83bc418cf808c35b8af38670a0f79d9ad9e3acedf917cb1084a6d42368ab98874dc7b0d448834a31080460ca413649a70f8921bdc089eeb81a6645cd96ab639aebec9903a22b1e207478f8539bfd43369b223af5c0c61cb14deae096f2fa1fe1a6bea133e7651a8eca0857e114b89fd0a986ee8c9a7d1f9d153123bdeaa1ec8f76848d69b291454d825ff76f0493d4842c9952be403844e54d2ba801857651d78defaab095981873e6406bce301b077f1f1206411c90349a7c1a09830bf36bb33cc1550c0cc67080c0d98f5ba2033bdba7f22a0ba23d43dcd7159e9eb4bd94d0a5361e9a8883f26d7f6493f192429ca3e8316ef58fd1010791004013b775a53b9e5bdd3c10c6e34560ee82b48a07bcd2437b728b4d5f6b6dbd715cb3a9852e4f63a1ea00611351be7aadee8c483572ec4b0d5fffa4e11fe442224de9964bcffa6fee746d62b41b28a55f76f95fae12e5c0da77c1ed2d16af9c18cff7aed2af0a9446d73c9d6aeec2893ed50c3917181f312d19e1471d53e8256f4b24f1e9aa80c638e006e53811f39d4238736f2af00760c01b19321a14302aedaf3ccafa4619a8f13906bb6b9ed6830ce5944f26448e29090ec8b01014a1e2afe03afc75ea7a8cc042d3b867c9af20868ada40cbf68a80f0646557e99fd946358271ef98cf4e0ac88d9b46cf2e8f2e646b3e7f52ccc87538510ee635300cfe3dc08363aea5a11bed190f784a70aa72284ce69dd7b087d61b6c448030c539641696375e3f7bbf57ed55830ae559a105ae9038678c3510636ed317e22b2125fddd0bd900542bcce0d07f379798f1bfca9e28659c21611c1880eec36984703b7b9430ac86b57e7dba42159dc280406c751ccb6ef90281223947084afeee06ae3705bb1d7f33cd260e3188c69bf1250c03ad7a3fa2e81be9a1ff1bf0831a033a4a267c63d9152c42649e48d905512a18d4ca2d5a4d289b6242c25b6b80a7dd8afcf13853e423ecc691d5b2986ce6d1d84ff813b15471c14f656c66a9a483491b9c9445892bb4f0dc3d594320c20b38f1be2d8d2ced6043dae59d236dc7c2b4e6eff6dc013f615bbfbc97cf0f0ed284211c8ddd92133f447caf71a390db0f26907089eae99688755eb983945021fd0d07f9d73b98254480241c97a05ad2bbf833af9af0d1c09af7a8e3c7f26c6f77732dff236621a7e5b0b58bac71be684d18ff50ca29a357bb90e7c677b86b50c3821598c568ce1e83aad135e680836df46bdc0760eee581b85e46ea65c65e577575643786360189037b0199794c21470d97bf5b1ce090b216d47831201280c0efe7f758ac810beb45f20086cec2ecbbb954adf8ab9fba09e0a51c0fe06b664b3f7cbb9ed9a0ce167044bcb86c9086fa0e77fe620b57022214a83139107f4ba86d11330e17573c75630b258bc2e3db680236acd26d60a9622dd451ccfd45c79560ece3d6b370df6a60c374ec3699a8f18a8efc9f7072474fd4600c3a47d1a3e9b5e840260985a56f8bcaad20c12702561250272744c3efb1646ddb3270dc824bb820de35f161f662669c6795af0118415d18ed0cea27a0a549ecdcb28f655c5f3f35725d49bc51026898799ad93aacb22b19f27d52f3d43a1b746237e9c1fd450afca81b845a2bc41911237f39735243efe8acb103ffa634bfeacbcfc328682b116228dfee4998045976b8bcc70bef771af0cdd8e8755ba263ae20b677074d172b64817e966178bee6d238a0b2a5d17f1bc5e64e5d435d5e54d4da11f16fadcd84e39cd0b81aebae6f5028ac74016c1b5efe3b33b826736986e9b97101a9a626abf2a532693c63cb2b9a8a144ec801f8b4c31b8369163672543b28c7b3647c31d0672d7eeb8268296ea6a71e42106c16b629a1e9c967052cbad68f87a2fa2a4a2a83510362b7b5c8ea48d9fa7c8e7aeded6b87e6d0b76a1fe47842af9d18f0dce34b18340b1316877a6f45ed46981665372e7229dceb671f0ff2d05f6af2686011920184da57390320671346bf1ef560dd5188fe6a1db3f96c84506a60b465288a18a606d2b61adeb956d4098fff6a908ae02ce72cc5d269766fa814f0d5d8ee094a976ce4ac3b5673e9616bb45b1554ca9c5bf9bb6ba61854ff7f787e86cd7b281900415c2e4baad8a9d59eab2ae6976434c36d9f876377e14996cc2f22f0814cb3600fef907a7bc6dab6651bb10596d113ae88c2cd925f69a7cd1731ef45f12736d24c1d1b1e26aefb448c9fe79ad03c5051ab74bcbbd31a3c4b9a276d1a39835027c3c95fb51f550dbf9f605d73c122a2653cc3e6f8d7021ae4245ccfddbd35d598d207b7506ae1b90a0a293b634cce72f7d19c0371ab8a503cf17791d36e46fe92d1571a9b6c1fdc264f992cac1f8f326304c7cd669c00111ace55dcd2ac760e48f9bad91e83653be74fed26ef77b752e33a361ab31c9aa678aaa78348f9cab7d99bc83b929ef370b7c434c32bd34fa3233080a6e7c9837caa6dce3c2b3bc82e235ed93d9f7ee802a16fcf5e22a00c448910888632ae546fb07b28e2e1bb845d1c24b8848c895ecf7761016f8c72abec7735fa2d1be1a73045b0e0ce53a1fd77259ff51f6d8337bc646e9ce1e583f5b12e92fc6713f2e6affd40fee92fed50f176fc225ea3b522ec62094c9bbd7eb16d46c226fe0d0afedca7f2a7dcf0327ce63c649c990fbf850d10ebe9eca9edcdfa40a4700553715b5064109ea0f99743f9a5ddcfa039d1aeb9867e3cef48be3dd9f4687b706f9c94a137092eff393627ae37e9485881875a180575e79c977d72f19b805f468bc022b14f0ce174fe6dad14d6cfdb01a9fe6f37940db39fcd595e38b1f4f6079d22707388f8f7f3db8f51aef7f70ab47e013e3e69a47003ddb2fbb7ffcce5522eff0ecab9a00d089d02d16dc2cd7325ff1aaff888cf889c3bc252bdd68cb5c88d2ff2cf90bd3b137d1ae15882abbb769e5edb649dbff5fd67fa86368c796148873cfbf07b86942ea8f7e576c05b223d6eecbbe92a8e3de72774efdcf71af3c8d414b667bcbdcb9f4ffd7bdf2b0046232d75be6cedddfd737e161f153cb4cefe934477f5f1e84a7c44f2df3bca7d39cfc7d79109e123fb5cc794bdb1cfcfde9103ca541ca26130418e01e6e0c30c0395c08188d335c143092b8c55b9ae6c2df8a87f028f97432cb5b6a73e7ef5647f074f920ab96a1ff3b8ecfbbe89dec2fe3fe4d7a300fb17719978140cbb8e342018838e30e0102dce38a002edc703dcacaaa3a7d9dfd63b1c2301bdfeb1e0a3672fc1777829d0641eea71ccce4fa1757b23a067530621099bf83ad53ffe159610820da8e6f3bcf611092d77f9526ecf04f0fe2fb6e9819e4c8ed5fcb89380fc2f1f0531b4f072df9fd9b55160e412a101b8c0c2f3af51f4eed602b36813c02b462709a4141414ef8c71959315c80d6c908b4e4627f39a30566eb8f7529003339d31f265281a25689bd89c8a8e7249ffa4b09070869ed453fb236eabc8090dcea1f83240c0b3d7900757490dfead13620f78e637e67828df60964af9929860c60c4fa5cd84a5c176022057745a63fd1b11e23f91494f5963e186b9a36bc2ab5f30f42acfde0c9ddcb18a12f6a2789e202457b7228abd7cb032360d08c1528ed975159fe526218018232bc40699f88cbf255f961040482572564efd5e156eda7876400a0192b50c911a3d94f0ac00bacb9456881d27e1195e5ef328311e0271911ff2dff1765bd92c1c9da04aa3265ab8cae10c900a3db4f0ac205d66e105921920346b39c14e00bac75e2a44256d50e074f352dd905586dea49883e8b58c8a46a8355634b32407767c07d83f1a6511bb6dc3b2be0b396b61314a04ba421c3a5d822a40379ec96c312400f192e55506b077c2c446432090e1475529366fae0ca6ddd3f75650fe36c0d4217a494e0dafcdbe9608860a5ae6ce33fed831b52234694b17d1e2356b03eb740480d08ab8cedf731c12a0bf63fc0028cb0c6d41615edb2978acf0e96fc579462b2ad99ecb05e0b28327f21b603131e2e2707312189477b6c357824e6cf1d3d3a4774b1a0c36819db3a7f9e072620ccfa900b6e18df937320e9c464613bb2f5c7db692b92af4818489359190d87ad9daaafbeef0ad9ea154606c4e1827efc15fa5f533dae3ccbe8a6e68cc64ef981aa70a2fce52e7e3cf2be617183c8183f70bfe8c5699fd4d3a789f91a43ead8e2d350308d2af4cfb838c9043f447c9a9799011576eb32cf0e0749f4827ea269424868938e4b35d2f04e646dc52bc81318d56baedbd5817edbc5194f058f65d658aca6bc34ae1de084cb8518a0809897996d93da49e5ab517726156e58a01f1878b48c8659e0dfa2dad8be57aa21d95c89e50ec3c26cab1092d8e1bd16a07048af15cecc2e67a6ef262215f0ac31234caf917c0c3f750eb3ecb35bdb2a17a97b72825eb45cd8e438ff6e662f70de993d628f282388fc6e105e3f540f045d9f0217c1c2002b94dc5f5ca1e54349686dbd7580fc97155014045b6fae9cf47f0e4cd49cdbb19805a3923811ebb7806ffdd31068444354e2194357acd84886bb8a360894e1b070af08aa878319189a43b7f63218a0b3cec8a2f89ea801df796d6e083432721707d977f70d425ed100e723ff4815cc9341454009a508fc57c12c7374b1871f0650282279d2c42100b53fc01dee7f70190a2ece4da3a220c0716a707eae8219441c26d15ac3895a9f7321c2d58c6db053c49a7c7d212a588406bc6056e202da5bb0d2156221a2edbc63d1c51891943464ca31ad1679bff661d60c4a72c5e703d1586ea7326290d6930c84670747975e869853ba60de8a0cd0081bc38d802462d278c1281b63cdaf257596a68d5ecbe6f9e1cd052f86c3b337797459949981a249f3b24fc2e4b36c84f6114cdc4d852c383fc987218c7c5a49e472e65177a229f30fcafd9ff84f771245d9c73838390ea0dc32f67b52e5c6d84913045c5e899fab0ae41182f8dc5f9d8c48a124b0a3f55f9fe4deece8aa0303b5bd2508bb5c29eb34c7184bbef50731e4fc3bf2193be768a9f9c9735e745ab40fc2fa16a2f31fb91fed2c6f0a81accee5434a186e05bce36b4a44bc260169d28145f042500ef44bce7c719a38b201af850b6bdffb83a47c0c2f94d670855cc0f6f7f594b685ae91035fb7a93f960e81ac9968ed8a7a51e5fcb168a9d0f8d807703e365958be744979b8591ff1ba28f6aa79dd011cf3c3933b1cdbac8cb200f0b98c645b01fa94e1cb0ae3298b01a055fa074ecbb7a04d5809fdeb3f6beae56567c1e61a45d3489ade077e16923e3000fe50340b2fc332389d9879f16f043a5d69306c3896299ad42aec31f64fca00d1f62fa1e1c22c0220fcc2a0e3e135a227da9a20de8d5018862a2a8498acc16f0b52913729dbe098d31d73a79dab322d402f40985ca0cb22f6c6358ed3c38fcad5fd483c646f0c8f4e516a4bd1725b22ca79671ad3ad6867c724a5c5072dbc2019eb248ac1c78f464fd4029ab4afbc17deac7c5f7bd09c289c9925a0dcbf9889ee83d225cdc1ebac5cb7f4cf01f8a1e7298f59e2cf05be075331a84e068ee660c37f3da133bd647b20575587071f1d3919c218072b5dccb66e1821ed3fc29d959e4af13aa323d9df0d1ac3127f1aa296f0782ce98ad04287dfc48e163d937a2779578dd1f5b875ae882cab2e320def8ea80561da582f71c0e886e69568f05c940b0441e201c33fec50eb77d2fab45ced59cac9c34f77537db168e6b8b6b6103769c0297f61a7b85dc9ea8cfa1fe3e87a800cfd8f70b9303cb32e7b30e39ea7a2d3549be0f019fbe6d01cdb32e7f60e87e80aad9593eff0c9924d7107a8e5111c5681e11b887e12c97d6a3a494b1b1edaa4688a870bb827f01e6a7e438ea825ab62f01773f244e4e3729aa34406b16a7dd1f2ed4cdd878b17ca810718483cf71881752655d7c8814cba897dffd98a3b9a9ddb0a9b4a1a608356045158882b7df717c68c0b0838c7c8c6b04e19589483f4911e077feb7f0deb9462c42ccb9c25bc000534d45449cba38dbe449207582611301e4f81c175a687d2974e68d4b4827c766fe3e908b56e98c13553014387e9587fad96138d07fd7d25fe6b18623342990717580bbfc2108fb6be33426b594a4f1b0863878118ddea519be4e203c574f5641b22e39b3a1fb427b1222f198c6ca523cf332708af3761e8b10530f64fae606cb97cd9f3fb7afb846499bc0d818f52c2b241695299331ee7f735ec97524e8d8a918db4413865abd4e7f11a7f34c035fb8e35c8c9892b87c6aa72d3648df59de6a9073877de38382aaa161cc75a166d27a06cc2c64539a508c88b5b02992df9d3fdbd983e1915265005f44b5a1ace2a1da23b147eb9c25cd9dabcba2a087057d3b22c4d593c4b846b183567f9f43f8f5cd39bb3ea7928f175f85654de40c93451d2b080bda4df9163951dd802fe60f3eaccd28a4e4f5a0e82c5b37f40205581e87d26be4d17d65b79509a259247b1c26a5c4a2b7fe174ad73f392234d6210380c7c5b4e3513c55e6806cad08b017eebce01ee2706e9b51523f3cb3ad484b9f43906c73cb89cf462dfe9e5395743a58edac7ef51efc16f6c18759a6d11aeb120f1177a4a789c76c0006851a1f4c1bf69d845ee1e7c4c1aeb465303e2db09d158d5d9f925c50b520962632a2ad87065509334d54aa72058ee8d162c46c647dc06e1e585bb7ee345943fcd05909a00449b8786978918eead17eabf8dc1ed9be514075eb5099f7f6d236f06c6cfe63e60326319ff1ca0f85234e1b837cfe3456e96a3ce18f056599a7801789abc56a2ee6764980e4b51aac5140b09aa0be6bdf4039dd92d0f0b623bb0a4982051115d2479e33d5bedebb14b2386035a40a33b44085387a36c9d2a59edf0260a779298bd129e63c254f3a3808ce0712092329b94034841bb20a5637c91d628463d80a711e9148ca2871ece06ed6eb4731370050389098c3acc7706520a00ce9e6754f9c24903376709b794e26e70504a571ab1587af8880d17cfb6e1942a4187e0d1f53f39846eec8789c37197172811d44051afc853ea56a0703022aa097c854e0ce217c68272acfcd2e059984e36440415136bf66e21681aa9947520bcef5191c67e6dfa868baf4a1b5ee085e91e6ee1e36e192544df9a248170e17887e83277b1d5a0cc4583a38a0496d220971e05323c224bd9bae1456fb470f289f28a3784c2eea6161f1c50e0507033d07e62cf358d306c2f060834a25b5508c9a83de068c0a0a2dc20e4c0c5f268562872ce61380f3655e0c7c12301184e549ef726878997b54a098be7e2210580a6e37d8ab1db72a9858b60b44ad0b6c206e2da5971686a42cdd58f8a940ef95d38748902745ad866c0617c7ca13042405177b2d2c137942fbb83016226991b72f2eb300b843e9128201f4ecb42d3fb988fd51eb0b132f36fe8adcb7a277c9b9cd925ea0444848e2b56740366754ac1aa0c64bf171b86180d3ab79e26f1018aac3d56565d6f0f9681a95d05fc503061460193f019e575449da33cec34279936bedd6e8c16e4be739e44d46e1c100727bfdd781ec0db3bef4a5f1b71b37f5a12d8b04427a5e80205a409f740b5e42e01b41d22a6aedec7bf5ee7ca0675ea7a96670a2f0193814e60e5f85fac04b84f000631d54b0f52b844ddf10c40144f0704c8adc8e3f718755b4aac08a43bad6b54fe1f4ea61cf46a4e5a5dff0fc1ad5dc3ae2ce93350f7aeb51f809b085cd3f6f8ce9b4e0983cf3a548b13d88d5490d0dfccb1c198bfa72498bee329ae0353bf2551f464c5a805d1c18ed5be09630b03adc03d98569cbac03d9874a853d0920fe1ea60ce6aef4c7010afaea2930ac4707d64652a32e7fbbee6c1402940d02a47a30cec755cf80b213dcc7ac04eec0ce548bde6b03f98ffa35df489cce764602b7c446e1b33a389bfcb7cfa97794481a7b174e105a31deb5adf2860ea1ff61284302880789e60726c1f884c042c3cdde797e04735538953299fb3170b599298dc1b53605c65754957ed3251e1d2169d4cea519954af60ad58b0cbacdc2bde1dbad46482532130d40401de6f0690f44e0bb6c723315b6d306c9e840814ea509444a889cd321c0ac6253d8b125a52b8b0309848798fc5ed3512124b6ea01120ea1201fe6df05543242e1c78b2b5b424934648682b39e52c713bf367c8971675c0659e7a426651f1768cc81177318234e7d8c4170cca6cabcddd370566550eb265e0726913e6aeb7d17bbf0a340b7fda2ac925d81763e7283afb1926a79edc3331090211ace87fca31eaf51c788ef7f48f45f6cae9d267397dbca7f6652d333efee235068df3ea6d36519e47cb4687acd7a22631600583503395bb125f7285e6aa0ced26341a9c2674bcfdb30f052f71301803daf4018531542abbb45c3be0fd504e55b2378d5b816405264e509690461dd08b7c8f00589f466ff614f352c74043e74952cfd759adeb063146493cef54ead1c046448133fd473b5c15a1c88ed989d765a55e4e8b76bc840b02f22e95a50db008d9478bf40ff7ddd1704ebe74ef2278c4d580618971164bee9df2dacc6be9815e7248f13313d71cead54d6c13f77f5b4e42d3d2d6a9a7ab7432828a5241d7fac4ef2f0894fb24068bcb1cd6e3dc927bb34274d570501e99b343448ff2994a0d3fc0a02134e336345f8e30f3d0844e031ff584c421e579641bf4b29612cfa9898aef4edc574c01145451a6aeea6aae2f031e2ff7840725f932e14ab81a5d183a44de41f99153128ba18d8fdd52ec4a9d923247189c92fa73a4c175fb50c09c454a228d6a3490d74f97f928741dd75261535953bbffd146b145fc8edc5c2e1844eae423177af9481e2865d674d37cca1c7157adc2f8b551d347fe0d0f72b28cbd35b8e4423eb2927302ef8efbe70328919c2c353ae41ee0369ffedd3299d5f3bc8aedbd0d8c0534717c723bf3e45e5a062d92ea30f81dc0a5178d9b27588a719ca589e5858aa14d4dc686a01acac0591d55e31ec70dc7427d7e68da554dc64d88c0c8a9a44fafb533bb61984f5d3e5d941d7171e246574814de08efbbf6fb37ed2316f40361b714550d8e88edcb58d4983c8a56ccb9409b0e1a0e05b4f65a517a9209f8eb4861364d5ddae8864d9fca5bc30251b7a5d412591fd2112eb2217efd83702df07b074034ef470a83a74a24438bd31958467c55ca56bfb542d02f79cb757ec0a75ce85aa590af5c6ac72629fff6b2e53bb1af931a1eb0a2e609a0850ec92c533282f1fe1410ff5ed9f489b2c45138d5aacc72acc19175a367b9f20cb65fcdddb7e454963801ea6006886ed50a36c8ba6ae070ca0c826bd83b7b30349d8cb1175f753ed7fa86fb3e02e2a97bd7ad5c3e2b975031275c70668fb2329de4cfab8072d3e92998fd38d82c1830b3b6c211844764c2bf222082a1cd23c6b3dbf9132eba25ce0c30a8a07c0b19d3aafa8ea18795caa32bc2adc124d2ab0d5f2a8adc341700e20b300933a32a2cac4c8fa27ab67bfa52a87dfb3d5ce4bfd5ba1f088d4d9d587ae74606b199e4ca01ca8f8029a38f16a32aa0eeca7a37ca96d693fec3777e0734cc3353441afabd34564a2f8b6981e7ee7af5adb50cb967ea277a03bbc3c619305919645694aaa82695fd82f437df5f47ac328c3e62b5b3fb0485a0d24c46b78391e41a08323676e72f8ec711a5389fe3a98abee3104f55f817f567347e65e531937d51fab50bfcdbce7ceeabb1b36c9353650a6af36c41f4259c304dfbd08014231019abe9317cd539b171860abf22bee9466deb511a7292ad049b3da0594b0d6517fb8e2ca61e9181b264ecc63b9092c7f84d9347229de2ff06ab840d0ace4a4b680d5fa8ee9fa03330dbabb18b9f6b8bd5667e833ab27db46f0842886dfe8f28e348a3d6566ee6dfbb13adf3158023d7d9d8b7696add5e9d7b3bf3542cb8445e47f8bb693b04c79d8c71046a2ea7bf331383b7b6c453d79b96ec432bc6849ddb9667ca4f2592b7097543c9d1fec1b01eef92df94a7168e767d806c1c6bd0669414ec12a292e58ea6153c17c65467529e9ef9017301500b29be7810cf541f0e5732f5ceb0d35596328fbe01ad37fd17eee83da15e06751ddd99ef287bf36ea67c622c50b3dc4244234f1f9b9c31d9948c7e412d38b7f0aa939b8045f653a36d4d9b655486e56248b451e8d8a135bd9007ff5acce5ff58d96eb9077f8ca16a7b96cf10e3535b83765d66c418fe5a059123f269b03cd90a576e794e0f4c8b358b2cc86541e779016b2671eec47a810a27ff1082a6369978b980dfebc62d643eb7d47abbaf0aeada95d4eb4b716bf47dfe7013a9ebd31594c98813f3a63ec26c7833f51238f2d183001fd8bfbf74f4fdfa114a5961963d623d6fc1f16b0be485301e7cf21cb2beb2d36097b8740fcee4b296c721ae321305898d31fb3ed4004540df0da04d8389ec431f1538e360c90555ca4f464eb512099cf5e4e5b8d06ba6fbd07a9b393ecbbf479f2cd16662c8c21c9f7141a3e3cbb60655c32a43f2ee26cda82a8927b98a2cd5e0d4dd14ef40eedc208cd57b775e57b215f7c903f380038a103c6e059c39909097bca32780efe4d3a2ce6a647fba5efccafae34efa35fa1099b63fd70c40a206a4ff4782c5370fee55dd378b157362b69e0c895fe125f179c8806de2357d382beb41a1aea9e476bca33b19525ccd6a9f6532cb56063b80010a565afa1477430dc5cc026436fbfe20b4f280f24e337d74404be9b205f8695f569ea2abb2696211529a840c5fc18319b8467b78cfd212cd59cf9570d6267c7d2f0fdc3efb6a10fc84224d2887dada8c8b31a7cc9021e82a712217742fe71940aaebe3452017c435382860a2c757ee9ba5a0af2ffeb06b2452ff856f6ec4899853d23a92d410dfe090d5d649410daea91e793d4153d4150c075e480a9e6f73e047f20e75b1871731f9512e016d263c9c268ec3031968857a4af546ba9588199462247b38979d3288b4b66391d98c2dc94069ffa539dfdb9da86f806e3580f9c29f2876d2fb2c3a1346433c0583c674c649d7ac45bbba160df0fe894a183f8e9c922b88f0037c079b81d3c9ce6250fbd826e39e237877aefae22bc4191a2443454a378fbb09532c11b3253b8e725599847d700d0d96852adf6fdad7d6901e344f0aacedf244c194f142256d0df770c5f988ad3fa3aebb69505d64a8686f60e09224f5b1dc88a62ccd7c835edbe62a859ed108008259fa312e3f8f04d39ea7f961562ebbbbacd142ca8276829b17efa30330df0ac6fa7bc0c6267ccdcf62244a248f0f450f32fb006b9d095e90ac304e38dfcab7433b5ec3e9c72a9959740fb2c74874d1f44b01b1ec66b92f469d401721a432c3ec9e7124a12a74fa4ff25cd8cdeeadb4783cd88c9e9addb8bb9c2cff952f3a9f3b992c3162a6a90fd46fb317ded346811e75d0c19751ceec363aec4ac15791e6202f1273eb830039f88998e9c0a5d37d7a2dc4dac055ec9036276736d4098b71c4d9e97ec0d360760357bef5152c0ddc11519b5b4941731b3808d524085a36f3b366ca07e186f210916cb6e468e3d1593f7688f2543c242e41ea550a37090eae43c4169b957cada37fd7e910f1985251ec9ea3e135e3e8f50caa152bf9760466ab9cb824831f3e39d9ee575563f5b55d16a67ba6408028f9b9a7e54a6e9ebeb982b54c09518208815b83eaf72a2d245638ff463b254e9241a2e4e7726a3b69e9efd0c3a182041e8895c2f8881133bda72c1fc3fdba3115fed1f76fbba99c189dd94235ea66fd95b010361c302af296e0f0d927d732e31fd87da71d98dd04d5ebc407ebfafc6b702f5ae00f17bd6acda6695d5e4b15b028ffa64a05900fd7c424f7ae143af2333c9a2bbedfbbbf2e7705bb885c40e954ef22952c0314c355b9543b71217ea4581b5f2362bc27a430dffb14779d85bd225e413b2868cdd49029f5ee857a99dea0960506c69aa7f009dfeeaa203ae136efcea585b9ebb6c53a883ced9c9381a436b5b1b0781ca4cc6ebfdc12e3d02d8948fb44b77bd1e06d8cce5a6b26aa58e2c5145111c2f0d59889a544bd41cdd8d16f8c725b6edf4608121ed0d8e433e23333ea5229239746247c5d22af82a4b12ceaaa5be8a78fb3e2d2283e7fae952251144a5934e0505aad6f5ce6d71968242efdfb40228a45552dd6ab89bab81a6548cf2cb70ce83ca0919f2b672c92238b24563ef52b340a24e09f989e03105b7c4b2caeb849f6256b106b3b165582208944296d9ae0919908160c7af00307417b3e49518cc359f6e8524fd196b39ef52fda98fac620e51054c1d390d99a3a7cf78111327f19cc710bc7821825f3aefcf7af14165169ed67e6a9a6fca7ef5f84ac1f85eda7f445a42c1709702d47a183e2c9cd1ad8787fbb67a942b9bd7827564cd9a3cc1451cfd973a3bbe71debbe3474e557331230216415edaa895e1839ccc641b39fd9c9ec675b615767c2c7428e961f0d3a822e54907fabccff539dc8183c9ab9059734da3c9318109d9a94f11231dbf04a1176b2b15ccf9326dc72898061e18fdea0b231dc7c549349d921d5609e30c7194e23235f317888696238cc504c73686f27cbe4a988ca6c1d2855d8245c82fc26a4853cb8866f8406a94d36d0c68fc292ab442b5ccf6a9d17388fe4e3b50754452eb6dc7cfc61a3843790815e39377f011998b12853d254f11bc043431860f75b3f58c4c747335ad9b266bd3bb09317c7be3c8fbebfe563e5f528850d535e5f8f7457952ecb99572ae10f98f811581a5e405eef74a5d1f528d23cc11818afd21918ba6814f33c20b9575df912bc7399e025af802969aaf7e1415c6cad1777021242d6de8d5e383b7b20bc5e7ff9917d6c02bcfa338f90b367e72893c337e1fe3d9b7bc35012f5da1fc653487c392815c954cd1a1441e8d8b4108f91f767fa043a822ed8a1e7e723249bf0aeca073fb062aa7f0766f4081440f95f08313402ddcc0d5981d6552c7af9d36eb909f06c93a010fc172406eaa461bacc37a0b891a69980701780947f968f46b5053c5c28227153903de788485a2755a638218ece1eee877b7295a5c0070f02dab7b082e820de24811fe9ce372fcbd085c4045f38711fdc17a29560020d62571efa43d45f0c8c143330745f865332b4eb6b173d7c8a7c1f1599d199ecd12ba8529a06ecc67d0844bd0caf58c56cb402864252e31864e4e540909268894b7ca602e7925ca69d99e870e0284845dc4dc81cc8501023b98c09e38fd2a86a7fc85747ea3e4c8e75252c760f1a811a902318881323fc166e24d0ea1a2e375ee4b8c4af6213087334440afdc8dbd633feaac83962849fe171a6141a1d93aa24f7081915a1f311947b4add3125f1fa3ffc0950572154a1fa59e1701494da834de7c34b8d52cd583969ba19383eed7b8862a6356d220b15c52c54c7038c99dbae4e381d7312a41a67084edc021421eca1066f402be4f97342f8a8da13f338aba24319a0db46a071551620ec27da8a9e853265bb2cdad271416a618a64b5eca5998359c34a3b896df30d09b7d78e356db76e9e3f31cb57e7df66f428678a39329ac55a22a046d9ba160f119676cd51e0fbf446b3fe15f016cee0d3d6496fb82a3394542886d47b4c7dcb5b4e26a50afcc274796ebd5cd3bce505fd2d68c4a89b4bc0ef7b7ba5a081ee344f92dd1f46b3be1c0363edcb88412d9c48aa8c580156774131111ac0314fc1c44b448e3a58cc9cdefc97348af5d27571f5466b24ef816acd4947f878d90bd4997135f544d8875bb4d5c0e9b0f96899771f7539264693e1eb1266c5ccec62bac45d930c5ba5c4fc2315be90958d469a5efd04a01a2e8cfc70b7228a312f25bbc796fbc4e5c947debb7b7bca98b7e99c20eafa38d39e22c4e3e4a699e533316c37fa5d1d21f132f4e8b344b59bcb1051913bbdfe317531540a344b16cbccfd25187f20bb808b8de8fd0e5ba3da9f32c5c687eb9d8b63b736fda603bfbb0e57e08498d0cf9c945fbed9fd8a4e018186c200e404830fefe182872e5cf32e41fc4e1ffb0c90bbd1f3dfb9cdc46367ac50a1957eb0ac7097ca3ed1f8033faf9b6658a44cf780a9fadb2512d186cf1b615aaacb7632954bc388d58f4a049ed0e47495cac1d4af8795409d234120e9762a47228902683d940ad180a9be632395599fcdc2bd355e54278619f3e6809917bef42e761e54e3eae595a8ef647eef31d1b16921bdafc173529cff70f15efe8b4088e6f319b70bae92df7dfe209413ecf291eb48271789a347a9eeae63313e55b7b4e79294240b2723c3263935c70ac456fa744ca7387106c2f141197beff4144871da3e435acdfb1b51e42fc6d0a6434adb83790511136f88a1161dc85045005e2aa28dc67e5dce71ee6b5da2ca2cf6bcc64664a75e2a9e1f14207afeef049e0248222aa58c3a0ed03cfaa78637229abca2487c6d632a433d99cdb22832598481e158d9a7386663c9e5f718232e83c1ad5de2c235cc43850f1d72b112501804eb11d7bea66c6135231a3d406bb92b602d774d08877c88f0cbae0f733c3a5f95670112851e70bf68c997d31aa4bab8cc0f4180300b5d3ea530e30ecf9dd55914553cf82ae8a82a5713227272e8c6aa38b837ff96ef1d1924e7d54daab9f353b1d37d01c6294b0b1e1bd6855e85da5c5624c104013a56276ec4ed58cc7d262f5559db24223b4a7826ee08c5987b64a1db5b9000cc58957b16df19fb046eeb856aeb38beb07c8ec4b0b6a53ac2c5aab33b4bee36b9ca1e3d971d4c9e38d087dad522d4398029c40b0389b3f42af7c36182e16ed3388cb5df203ef7ab4ecd6713098e3275469b8ea9a95463f1b7806dd695da711014dd321299e8a8618d42310f290f3bacf9705c825ac0ce6b2ee283c4ddebfd4cf949ce8a7ee1e734565d27e5069f31da1bf47ff0225a050ed7bf0550ba885934b3be94384244ecc12a0d20f3be478f88a4f87cc0598e8750b334587131a61386cf1a88d2ed09e60c9f8d8622a06b6c406a5a1289a84158deb92bf915a6bba92e7af964ff205690ce0968cdeedada4b677baa713cd3320ce421bf7047755278769d7ee4c9efe8fb604d6c9fe706f0091ede12648b3d7f144158f1c94620f12019fd1630a90b2c6344404ff85cd5ac1ac446c3e6267884e9fe90715e1210e466300bc724ca8d4a76c736c9f8b7b859e9e8262c3f5642f0dc83eb1c1861a176af953c37d322461cc4fae285bd2710ba5c5190a6e2874472c325672bcdb1bb80e41a162b90d0bcb0430f4f32173d2760ef0240f16eec2091f2d5d7a31d2a23f0fa5efcaa4fa205b2934df97dc2ad773c1a70a2d8a2089a52d19258c424440622e95cd7399521a1685b5c587ef04ae1b835bc17f1085180efa747c527de783438e40459c1b066d5ecab4bd2f8a67440c78f5530084ad1d6ae1990686bc3c477e8a2e4774aedf1999260137265bf6f1d986e29604c557bc501d8a5b21825da25a8123b984af12b1ebc2d64c735f8b18e6ff959d11e7941ab7222afece733f307b7aca9517714b30ea4ffd6f1569c8fb118e69d726f4721c4d18411863a77ba940cd4d46441a8b704096f1a9efca83ccbd6d96ffcc25c05d44bb32e935890722a87c99b4cbfcfc4cd90643485e4d124c0b94f9485c2fbaecd44a12421852de948e2ac9ace1cc9b99a1280aea1350c11643e23b27e99b60f7c5450774ad19430b694f937c8eafa256859aa8aa7dc4651907e24b4b806d1ee144895a4beac4001a836d7868b412dcbc7f58d45350310de708118e32484bb5bc2987e766505f6baeaf6e2a1c9c47960dec0cfc172028a855c2cbe44f3fadce03302698babc758ea1a9f8dfd97cd835000fe61a1c23205e3ef1d64dd781b6c68c2285ce56ceaaf16481ba253288416044b749b2afe5431916d721f4aa4955bc05a901c1f527569078554f34e9c0e4d395601c3891f3d8c19cfb028fe7d46a367d66b81b9a2ca5cc398ee02f9faec2afe1e8fe7aab06792ccc0d41eefb93728514f601f0b569480d620c96f9fe83d1abfed66603a3cc1fc1ce6921195c18f8c151f4306b625c8617864f70d420f00731801eca228d637309810b490207e7a9f852e7bb888a13091b245c23559baeea942c3d210648e1cea7e8110b6346d485104e3745b45837f0779d20f40e354f863fd29a602e1fee5f269c5212c9214b225ad407134be15ae7ed5ebf31c0c9a3d3c1384732b91433629db35de8f359120f90002b79dcc386eff8f564eae689bb12527fee6f450a77d423da46d09fb5a8d304e73ce4da488799df2c34d3b8ac18b6874b8ca03e13abac8276d8fcbe70565393320700a79ea153c1d52ed80a1d4bc9af4cdc3229f2ffc293eb465f11d9d8c0547a2bc0481ddce648be701cdb8a456e12f2e16ab231b8582409a975f05c0244f23b1e21428633454f5cc9b130a94dd9946f2424c348c0a2b7e9050e1fb85ff1fe92ed2a8bd92ff2662a7784e82fcbdc762a0aca43a9b59484e695864064edeb6155a4c9609748c4d75476a18936bcac3efad2e4e468b9e93fb76c32871fe0b1ede446a8801ec366c29cbea45d24902fdf299afa3223e1b274805e652a28df850d7e21e8fac51d262877dddade9d67d8c36ed464bcb68136d969748205b0af57128dce8022c9963adf59f68b4936085c9d7da771fed814efae6e602d44cddc77d22373b5d884591fd4b2042213cef0486e1b6b31cfbf09c7e4e7b21bb7d125cee24399ff39ed7a7edf993abcde4f7000461faef6194409c7204ac8e51c721883eaabb52bc64d139957b466bea77676d9c64cd90722ba842cc630eb8ccbd51efc60756a0050d3a2472f1103c73fcd7b2cb9f3ae74a049dc0b563c8bd6ad8e8408181ef2934cdb4693a848f22c258d44530c8b62205108b5a1e651aa9900bc1927223e811ce5734477008f0ae033a51e85c784a2577659ca334c97e44bbf129c0233198d1fd5bc202a294b3013cfe1f2b9dd01fe89f1f3dbb85bc6d3772e54dc30b9b1b0e1d816a71616b1d81243f5847a1953dab9b4eac3c5445ede663052abc75d80f51e6402ede10ac26e3c6bd6468c75380efa9e96406a6b567557f64059d231907528ce704e78a876a3d5f0df76eb7a0ed2d39749abb70de33c2c6e87bb8a4595adb4cb5d85563cfb544cb2f48e0d385395ff14f1f2aab404d8a035d0ff91f50c002fa72c43824fd0cfe274e9802b03515d4453727026e3dfdd0bdb5d99d08431ad3efab843766c255430078ff2180f37d38e1820d928dc61abfa7f63f407765e1417636d086658fa66bff05ea2c49654779b795d1734e51943bb65a2c8aa1a812ca86a68540d88e0c80574b2ae3c57cf431ed489843cb5850887346ed2d6d39a745b4202822a1a454f1cf79664b6ef8c009bd54c0b4b377933efc862117a08f3d95bb426634a020f98a452289a8ecebae7d7fe9518b28e11bb0ddc5c328dfd9d51ec298752ad4de396180a5b5021cb0fdcfffb95cb5621c3e95a67ab813b5640be311bf0aa522064b8a9588d15d5f8e08d81792ce3e6e4fb327db6d983f5584b9bdc2112247386b3082fa8630bea9821210b24c91b9c014f33d9739c7ac93f5852a28ca6673170dc71ef4471eece2de9be5911a0bf7ae08fae0dc867a004ea686f78d9f18c0e57a9729ee7a4b240f84dcafa731722f1068c07983f3db5a1a5b6a7e80e5c6444b874a054faf07f8c067c77ba6691515063eb7011781d05db2d219376300c7b82f65b27c94299ffe203c5e59810304b416034a5a66795c3090ba4a0756b386b5ab5dea8412b5d7251dacd11eb9839545d36ff96259ae683ad08c56d8191b99e8f5f87d39c76acd70ffcc1111951028990992af11af154c1ccea5a9091bc4420b72e5125324c8868824646fb9b7dc524a29530ab10786071207928bc5c264b729625380c937f2f6d67ef78d0e00751f3d08bf931d6021dbf7cf7eecbec9e47729705b0eb79e5b5cb797dfbd773c6ee4cd422c4259be7d0b61fd6847a82c0d0b92ee6dcf8d6c7ffbaf8e50bbeff0e779b36ff1679f48fd68fb06909f1bd962146ee421db13a9798b6fbdeddbd6bed1aaffa481956f658638b95b527eb6e5340653dc729f29cb0c7ff5aee477d1f3daa8e5be972cbd6de06ba90c259451cbed1caf6cc9f263d255e58e5d69e248f42803fd530d52244d29aca85228b14971c4511abb0244e672c7ae28614292bf2a8552ee2b445c17bb1224a58c33f6229072495b0dd7b40d7c584371774d0e894de81bf83e28e825380445a0033c02437082f7035b70fecff482c813600bf6524d9f00638c52ee60bb869b13fefc8f9bd8078829a79c726e510595dcb12d4cf2076dc8f06b72c7b640918d6c18ca6dd4a80c1bb542f1e82ad9310f1f1488e91b4c5e86e74017fa46d392dc39077da373093d985c9731242111641f65098fbc60bbe6dd267e3be7db7f359a670f42e7b81a01edfa5180cea1fff8fb566eaf9f7d66d22d2add8a4c742b7e74d2360e82fbd01ec48f25c8f13fec4bfa4688eb3f5b368cbfc431a9ba89a666a8c6111b1f8edcdfef59f815f76b231960e911c475178db67165b17362b7fc637be01f0990098042e59899a0515512254a0e1ab9fb468867ef3eb281cf0f3e3fd02042a8e58e1d2dc58eb638b222ca188db068394a819c521e55c9df2a1f25c99fe73e4a22c6a327721ec1328d177b42cc1337f8f244ec892ba8e8384eca95278c4a803a9d624f8c007551a827624f20699a8e5901936964b85ea5525d0e1f12310d1640df1ce5af66f8450e40ccca94fcc998152d628c59e19269646810335c7b2550a594aee080838c6262564210abd2566eb062c4e7069f1b625694402a7c8a7c8aca90b1233226cdaa06e50f999906bbe5b0e5afd5ca6597aabae5ab6eb98410424cd32d27c0000440c30a000056343a98a19a91495dd4a9e3eca6d58c4e19fb46dfe8dc99ac53a3220cc97e88fc21f587cc1fa2fd10fa43fcb72f02c53b075016b249aa717356d504a04856cf0a2d5ce142959ce12143525865ff146af61f42a4667f22abecd8088f2d430a14d0b004cf4606098c98e882c75ab1441231288307756fd00e849ee78f310b5101da194e304851841114f9943b6684049319202590c0220b15216e10c281d093ac090d5c2cb9c20b153798c048882a5ef2c7ad2ea74a8191289a7c94c84e2fe42c938249ce2a4f96c5a258f249e2764c0a2431a31eb2cd1d33428244b3dc74755e86df31c2087d66b83e1f7adcbb67ad672494218739cfb30eaff384a0f8575861adbeb1e077ac097a552f70e2456a5a0d6cc16f28f2081c6cc5bba27918377768e248ae198b52ee18162609c81dc3320595d48de442868f736a01f2c058134e32acb56bd0b77247cd31c3eba9e8db6ac4ed181358f2d7489f82e7af8fbe4b820e1cd3d381ce0413593eccdeedf02c318e914b776853bc8371105da743da28a700b3101793e590146a8e30530f424fc5f74cbd08e48985740bb8b8079d6b88da86d3b12562b98d3c2e89aea8146de2ebfcc41f4e5c02e31635bc24ba742afe7470705aadd5ea42a508c4038b3c0806652fcaae22501cc7a2be892f3f6619cea00c83bc8807f1ec10c9e07b10912c530c4404f8296419e20f488608dce669249ed863647ff9ddf5341919ea8039263411433b52dfc8b2094d1075abf3d753e4d863e4ce5fab20c72f84c6c0322604617040e2894b142183a42e263841962578e2dfe8c2810413338802a60aa62078e20f4d72d0e487263060d080276a9101890ac808430718b4f000ede002163758b9628c2e3d10a0ca0d8c70028b18c890014f164c4594e0861d9aac8cc113a552c6854f8dd22aa908190e005ada43f8f17d7cb8cdd35d2aa07dd5f09c90d69e94ba773c52164a6a33ae0814f92c6c3cf5a9d7edd0b2c45f0f1e3b3b1e325952cf7b66dcf3cf3ea04c256c29654cd896f953b4dd4397d00c90fbf02197acbde7eeb7ec3b43db1dfdcea3bf79756a3fb18d69affd0ed4b193bd6b6c9d085aec44989493308742f8dde1a8bd86faa1db31258e627cd4ef405a81301a84f72d67bb2ea56db7ebba2e75f1e7405d773be6df9307a9542a75c21f64814a929d9d063b113cc8dd375b6b1125777b9003e62ea684943cbfad0ce71ef75bd76120f3ef5b8f957acfa997f158a9f7ee2430ffa6e6373ff5d6d6a7b3ebbaeebe463f85e9b742ee5e7a5f57011cdc98b7ef981246b97b94cc331e14f8b672d63deebdeb70e4bc0ced97f500e4448f493f93936a745298e9576f88d6edc8c0a46f9dd328853ffde707ffc2140a92e0e223838f0cd123f4015d92a76348508921c124c618125ac4ef882b124832b489218125cbdc311cec7c7b04931874f9126833bf7eb9609688c9ed48d0459fe2c9146de6f7fb913fc9ab18cbf3a3c7145d3e99f27c5fba4779be23d1ae1f4ddae54772e44f77228a3b099ec8f36717a4250e825781414a4d4a4c4a468e21f623463aee3ad1e5aea3e33a3a5fad0e826f9ee30370979fdce59ee30af00378072e86d32087948c028429c3080c6ad08496a553900d3250aa30010e4d84408b243e685bacc81b1ba24b6c882339264b199b1294a594df718829aa9a56c78c48c28822f2578353c5843702c99858115d8a586282242684502c0a933061c2840913268c9818115da44c91c22426c4949894232ed6b9a6fef45f66321998a32c33989cfdf7652f6727c2942ca3226494d2a34c7d8a83d0473808d94b30997a566678db7e155d3de8caa2bcd45fafb3c59f2a670f515986ea7e27a6bebb1c3d22bd33d515d5b947749d809392bc4f95bb3fa1fbd875b01bc17e97f2507f4274f587ca5f2fddeb758ba606b662d6baec5ff14ef4233f62ce98270eba303583a5f204b6fa737c385da90709320a719f2265e9c792241c274cda480789944482e424b0d56f5f3ddc6f95fdfbb294652bf5bb106c05cda64e8a6fc3553fd248bf63caab016db2ef3c1dde8e4eb4c96ce4ec5754c33bb142a802db3599c4915b38a0cdfcf83ee6b69530a4e4cf023f4c80393427d4fc0fcc99dff065c3edd8d250fe70e4f9dae38039dd77dccfd7017368608b7e8757b04555b045ffe4d58036f46b743db4b1f8abd835af95e74f0dc231eca793636b75bbdf3eaea2abc335da644f7106044742ffc2764de73c0d8238dcece1bf8ab89f0749a5ac1494a1f7b55c6905d3a7ecf97222e0c21782c2c10fe24b4f6e71bda87ca2f081c1f5a01622ed76c49f3f5f40c5b610e2beeec54da0a21f29a59476f64ea505538e716689eb010c70fb9b5ad83e48b7a6fb81a07f607db0dc0238f66abe5602d818c06a25001fb6629a6bc3b2ae1014391f07c007cb058000ec8ac66d693bb8f157b6fbab7f93a1e781dfb91dfb6802f10c9755dd96964aea93823b73e77f9504eb83e5caf85cb9a9113cdf9445dd96efb9c2d614573b5d2128f1b587f135af933a477ebc9d0811b3322ce422613bee0a41811fc0cf8139d9675c46e5cf1d70c707b2fc183f934f3d70ac51d8f5c81d45b2fc2881cc765c4685c4d93106f69b1eb3ec27dcb1e30379fecc320399def044e9c7cfbb1c156620eab007db5d531cd082a96a11943bfb70214f4c5ad094fd85c0d882a5ecd11b8573fddba1124454ee3ee70fe7d3c58af3b2e44eb92c715d41ac0b95fcbd0e2a723f09308746ee7f23883bf2340b8c723fb7732577bf0e52eec781eddd819de484ddaefc1e80567da8b8998f14978ee079def833563206b5e3158242033f88ffc9ecc2fd6a9461ac0f960baf10149fb17e85a0749f1c80b380960d90135da58d8e80727ce90450f6bc6a313b963be0470825007760e0c31915e157bb1ef9f2e21b7cb448b912b3ca2d6d43cf36c431dae1a2c3053eb2b892e19760a35583524a69dbd0be812d9f2a6eab068e0d1da5288473a41342163e64f83a38d882af18eeb75ad17c4d2b4b16442b9f18ce8e0a946c32fc9a15cd95133e4d0d845007c99ddeb2263b65513ce471138700fc16ccf1117368a41f604e2082051019be0a30c795e1fbd001abe42fcb30eb1ba803b6e093005b3e5ce0eb20a1878f129c7077c78286ec34d9dda27274ce5ea658f2676400e4f8305365970f7f887b76dc64e879fa1d37e9f7e15049ec8a988d25390279ab92e1db009303800c61ec0a2e19ca0b5b957bc170239d164b9ede106f899bf81be1a094a9d764e8635d62d9ab9cbe51209ffb28968232f75408cae6dd0840ecc3d7bcfad3e3fe7eda6f2fbb1df2b98f5dcf7c0e7fd63e90f9f2372fb6022672c7452df75379fe2a9755349c7d209aad0f3d6b414139ebb9d107d774086dfc08cc0a6228728197234e3d002121010e3c80b941490b94e09158753d684bfc1b955851456e9d92dcec345705bb18b3e2ca95ec333807b3fa821735247d1193c50f517820d082175f2835a1414a0aa21247948b178e621adca42661a59c73fa0e560c618511597e8d9c447c98410a163ed82054c4238b1043c6112d403952a20c1e8969228e915ba1647a99920b162e542820830e6468a1c4911530e191271eb2e402264b2e4d06683248e0848b951c5800c4105c9c2c71f10285064e4a4e493e9083242688be18c2020a2017aa10690141152a6e9082d30e3152f9ade48c5452b96549f62d53b284a286a68c72b9d2d2756f8a30080ec123d1c66151b471d7d237bea56fdc916c5ac8117b52dfb807b93359f70f1ec90e8bf28d1f84ba2f14c3e5497d0c9527a96fb896beb1a56fd0f7f72a8ca2234597cc77b8679ec36d5bf51bfe7cc66bb83bf88a9bc667583e0daf036f86a7f2663c19cf97441b2722e55d0fe55de95abd6ce1489d9d9ddbb9b313d137ee44c0a0a406380cf108c5f03cee047ee02f14c38ac7a3f402fc855ef0313c5026f6277de31fc3e571217a01fe30f8921b5d30b8146f80bffc8f2e183c28da380c3e146dfc61f0233ad1058317f934cf093b945e80ff06b4c12ab4e548ce9e5e58610ea50f611057c256d432fc655fb1f47c889c7e6798d6cc17ac7c2e32075b2f61ab6f60003c0a57fb46f6f0b5bed1790b4fd6ab021f222d45b963495e92be6418a5e4f8d2cbb2ec862ab4abe174e76457c9598472c7a858a2a229fb1298131dc28ef404a9f44d8c495ccf1f97979c105dcec47bc997f0405f412abe24ba6051fb75e2c6a010cab028ba3c08dac4e7aaea66585404b6a28f082e1413a58891e5a88b2c537267d9820bf7459250ee58962ff9a3c9338b984cf3352d0881faf36b40083cb4993f67cfd9d158b9195ec1c9c4955e71a8d8589620b2f000b314459f1ce4ec7c7298310b929e983f1680e2131ca0c208d7568c8a844eb0de4574e7a8d7ce0590d711b7a22b8b5e91a04cbd4f4e2c6564ff96411bb8df757d8d5121d442503eee86fa42961dd5fb6864f93faa1f1514c2b645e5b86d23bd06b91afe82d0cf7620c544a4f46a606d3b0ed77a37020ffbdaf6dfcd1f8bee588d3e0e74b1b61eff8387f6d57ee72039db70fc202c8b7bb4ecdd318be21e891b77d36ca6a5feedad84acb6bf7d6396f6f259f5591ad5700fc51fab3e4ea63f9f5571cf8f2014eff44dffc43dbe36c22cfad9db879795e19eed390859f52b8b3eab7eb66156c53d2c8a7b58f471f2e7fe281f7f2c8a7bbe6ffa71faa6ff334eee9f3d1237be7dd3df0f64bdd2c04e3bbdeca716a327635d3465b84108a32402b3c453e6eeb2ceb66f6eec2400b3d8d7923b3d2e7e90e37f307fd01e08c94ee453217b910c8364c77509963f108ec4d1373b21e8f04880ad38bd9a1bafb4d65a6ba554f54d7ccd5bd1bcc7719805d56bc9f5ef9be4264d2311cb3a5998999c22e59c4938d999389152cee94549e4777777b79cd283249dd2fddd2f06f55d17638c31721bd7bded300c72a22304125e4477fb8df6cdf62dd9b296d5fdf6f1398fd5e11eeebbefa2f6dd77873f99bb3f3de7b1501f9ffbcd63a1b68f7f9f433d6be32e6671b8276296cc731f7f93c13d1c8e1b8c5fa7bdf65de46cd4b07be992d1a9a454e34d306207f330e534073068ca07c81d8381509eb70804c1fda6508e9fc4c814823946e4527439924c8a2e97126de27731f2241d49a58d5a2f10384992e3cb2951083ec450cc2b89fb799152a412ff6310528eff0a418c1f99c026d88a1f8b20862e438eff22e27e1e0487989cc490e34b243087cea0e50a18394e2737e2d8e760ab868d17d1adef24c78f4ee214cb3d8937a2506fedd7a7f8f3fc754f65e6b152efb15235c3ac9ac96056867b2066a9669ea5c23d1916e263eacfe00fa6f047bfeb8414c9f0bba7d43d21b17b14fdd70d523ac939df0f1526c0c0565317a5d8927f7131b015048560cbbb640f7299651984104208b39a4d18048596625ec030bd4c70e3e91b92a78c9f7cb03046262f197d1fd07502b4719705b2be11bfe99511ee8440a46ffca1176116b75ab9fdfd07eb54b427dddaccbebbbb5b8846b3f6badb93304558c304188277e91b2f2b1f414ce841c17ca1f8c72b871ad9c953ec4c60cb9b74dc771807875b5a75f81dc3d19a70ffeae16215fc12be1a4803bbcbf02501dac0872f244188c09cece1ab5004e6f8900bc196e746a08d7b2ac0166cb99685424821a5944e0a29a494fad14f2b8e8e908e9872c451d28b0657f911f515c4fd5e48dceffd9b7c0f21841f82b8fa570d9706bac3baf3d709aebfa8dc8f263b0dccf92290b99793dbb1172865f846313039c6455246c9f80da5cc3e22d2a7b807104619a59c2e254a3f822d28a15721a4b057945794579457940f3282971059dff4cd4b8897102f2156b0e3a1ea9bbe8959bbc5dfe2dbc8a9dfb66d3b61fcb8b6ea5bfc5d0e4a26605013e538eee97fcda4d506d3018dff1a29afbebbe45a6bae75556766783f4a8836f169783d82a24b47853f1d9c0fa7f5bf5ac5f82281918e6813ffe415e99bf9f1eba60e7fdcd3b7ffd5180da2559a49b39eb5d65a149aa999b27dfa3a22c83265ed8afc6c4e6aed6b9aa6695aad5c7a70f2d783568c024ed6309039c2dc3eba50d9cda7cfb247791f6de62aba4eb8ce68f3959315462a62922bd16d73a56dc39f2be5eda9fdd7945bf1b7bdf76d4f5ffb9db85d1a93721700487308b34b1cc7c520cf9f5eaab5d65aab1401856eeaa6a5a5fcf950092ef7bd9427c655ccd728b556b56ddbb66d9806b62c75fbd3e24f27dba75febbdabd57f8b7b1971b7ff1ae963adf7ae56ffadd68793e96f5f2b0eee08f41bcb4cd3260a9d545f3328e92677ef3079fe74d3cbc8adbf135170a5f60a84b9dd945f3edc1abb294f89a19217db358e2597535398399bdc4beee76719c709f991e9fcd1c9b2e6394b29a5cfd1c01667b5a728e86420da530e7657f8671416059d0c24abf66bb6ce655f6175e569f18f4ef5b25a6bad38b96a28745206d2493a79fb16ccb1bffd4757f7dbb66ddbd780f5b7c8799d67b3cf3087250a3a79ca28866d9a7d2c8215c18a6045b05311ec743a9da4cc53999730a4222499332e673023324f3d0a2b4292c10d2b3af950c38a9060a7539f62369f482791095ce2590e49ec45dde72fe57f1d2602735734e57deebfd3572e4b68939251e6edf70dfc522fe13da11e7a05c2dcd37fa8b7b8d297f98481a0f0e9a77baefb8a3f37e23007410603e9fef41d06427fe693e38e66497297c2d261ee81e474b8d019fe88dcec59966559f613a720b36320f3ebd7df81f8c25694f9b8c7b272de35516536e5b527bd0a6d26ca3b7dcabbdfc9e4a8d4eb3ef3a61014eeaf97fa93876a8ebbab5a042b8215c18a6045b0144cd5d009e556ee989297bc05131901b9635b20c9495c10946de46617c92526c14cb163812dec48b085a23213811fc533fe3ffb294ab1eae9cff0aaaa5fc5e13a8365f037b394777f9b9f7ad8e50082815cd4a7fe437d0a7f4e65660d03417d86c240fc67ce26ceb2638c94334ce929a68445e949b601404cb098c10923aa30a2028315d8e005ed025ec670a2892a8cc8b0614887e844e45e5ac983a8683140f898de42032cc67801e65360018b3663c8f0b2b404175ce46085135609123f3cc1c1100c865e3044f34452f4174730191b442dd8e2435d603488d258b680718141800800442d06095c7032ba0c30dc88d65a8040e428a8420bac67e0047683080745c0a46819f4155f9400164553cf39446403180e222bacc84008585bd9823a17225032b89207440e82cec28557e92f9d038fe108e60515b00330804845740398169800ba80750a2e51005a80d5c0004438c0c418018c2807a7c108b604a3417443d45678195d7c9902e3d24ded022c42b01511172c30e2010a98cbe04c5752e014200a82871d9ec4e0e887531562d8408684235310110412d1501432c0a0c14862096c06d80b603859d251114a8800010f600071da22c6950d88062529b668e144d20d5c20aa41e4da01864401889ac05a00e7494b9e130c08f29c73c93b25d5200c99a119a22c486059c01e40e44f0670444764035843411406c602d8ccaa0ac4c8213b65c9538ca1d46c610ccc6349605d7a8a3a060c06939dc4340502ad88c374048b70278419dc30439b410bb732a5b21847b5985a3ab9da9982c610b2a30ccea7c97e66334a09869194120c2959de2ca594610cd12f4d9b15f64b0ec260220c27548481250ba3088c1ef24cee181846be668ba2ef43ce53040a7c2d46cb1501e2695c24fbfe15b2af45b7a3f002898fecb56faf79326f287b201e1931902619f680f66d947b6878852cfb7ec1c7f054f89937e43cd943cf07e4c9be7a2bb07cf0d4df8975c803fd403cddf5e8df81308b2f4b2f256410cbd99f007350d0815a4ea5f36b867532ad426296b5621fd2690fd2116d5480364aee7791e29434a359f6041833a629cbcfb28c3abc7678edf0d2e1a5436ca9a8e59f8eb58009d06542e75900daf8739e0f8f0468e3af63b57a4b83f216bffaf3ed96cd314466ce7484f0353b114883108ba549aafed706ccb1015beefa6f49e7c42b1c157557c2b13817a3ec4fa0ab06fa1228a5df041feaf2c3bb7c4992fb1d0974fd60897d54820ef59c0b16e847d0c66b605519c9fd2e045d1d6da00a453ce82582254f7c0a1398433dc79ff85097e8ead1c5bd6888dbb8ed8420b0e53f26e01f383409515fb203936cb5d50b01c76b049e84e2e8f2a3fa90cb8b878bb475c6393a530aa669951fb66854b0e5134ee9fe55e45da4e49ce905e64c3a3b1864978ad4d09a9c4ab471157cc1c50ba59c7b7c3b97f95d5a10e7c3e961c33d7d4c09f6a8e1f618bafd022546a88e8fea1c257656c44d669ee3eaadab13f68c09a70367d525394afeeb88927389313e0c82424e02cce1b4cd3e0e5c29337d91f908df91e2e6f56072e97f5c0f263d98dcaf95fc882341a3232c7d63c2f7a5d7fe47076e9af648494e54882e3f123b1d14fefed44ade3753cac9ca70c6518f759a1eeb343f3eeae9e95993a268eae9c79f29dc43e9bca853f6dcefc4ee333939ec5ebac496be40a1d7d0fd5a49e9e332aab4f405e64c28441f42a10c69e64c0ee68fa4e0098bd710af215e43782f292f292f2950ec2bca95b1333c66a0386e9bb1a96c37033542f740ba194c44e62e88b51065bfe3501d0e0f968a6539d4af90512f833bfbbe0169ddd3e840f59af7fd8fbcad3ad0a9ba75f7ebab6c2763ad8ce75d17246f32aabb6195ccf76b6da47aab733a9d543859fb0d7f3b797ba8bd4a75fa1eabeef41d66a94ef847de1efee964bf20799b61ed90f915b2cc7796f150bf79296cb914e4578ee3bcd710446833ed1004ca29cb934bb7971097be6d1edef6de2713f32229fbdbef8e07c771ddcfcc4075dd5f8e3b9d4eddcf701c37e3bb4ff5f5af278485ce33509e10cf9b03b1efdf32d69ff32c4459bb6d9be5d17da3dd7e6d067f2a2f8cf24397e4f1820a8fed2d90c63d8d0e4eaf795f2b6b6fbdaf846c35ad0371cc9831657caaac69da6b349e3b794258701adf8127c4f30c90edfd6778fe9af7a9b2f633bf034fafe14f953bcd5a8b3f56877b7e32f790c7097f3fafcdc8e02f857f54d9fb371ef366176314541948bff6cdea40cfe9b5ef9ed501dcc369fd92723dedfb37effb712359c32f1d2e7dcff227c32797e2d820bec28f1db5ef1ef2483dea3b07619d2a77c23d298cb25f9f43b5d645eb7d31e22f482622b97a8364148dbedcd71fd5fb82e46a776010ee6bf5526f3dd4d3b03febcf20337e07e2afbeaa622232bb59e5d56a673eab30d3f7e73c22f4e7739957f30b88fbd517103756fcc5082b4eb55f3ff5a8186bad1d4efe2e3e4edfc4ee76b5bf7db4b5764464bdfeb4ad086c7faacce5883faaceebb66f3bd4770f3d168fd3a7bef30feb7ee79f6cbfbd4ff5fde4f8b19e700a77dffc771b857b360d7fdd77f8fbc93faaec3962f4aecc6ff8f3bcfd6494aa3f2dc7f776ad3aeffbc9dde5bec618bbce4b3de7a17e353bc0392aed849bd0f81dd8d1c033b6bff453dec55f54e519de17f18f2a773298d5d9cf7e26128139e20f6695f72120cf190f48f6fed5fb51e59ff36dd7e11f55431c5dec6cfcd6e3605454dd9779d4a73e46eebb872fe375dfa4304b7bd6d63728ccdab867691a8ffa96a5c5189fab38e2ef847f5438e291f6f5bb6f6d1fadcab2b4ef3ebefdaddb5efbfe8a23b7727fd7fd573b8bbf1f55eed934ac8aadbee96f651cb9b39c82bbff94815c0e54aaefd668e32564f83fd955f6bffa93e1d3af52ab5b9aafa8748c16b6550a19a2190100000a5314000028100c878462a1483020cb34da3d14800a97aa4464401708a3204851100331c6100008018400400820c018450c44e8008af854621b487003657339f0752d6bc960ad8bb2353107d339800e019d83e910a271105d07d110a4479086f068111ea6bb9ca22488b053b15c7fcb7db4a0ad9f2509cda9cead6f4acd2af90f1cba736931ea3d682e84b6e0eaaa5490e0c061bacb69134038f68314479881582e3f961f829b07f71ea1eaef2e646d25a9b948693920bad6546938d0c557851fa13b04ef1f78dbc177046e2fd6d5b583dc3b68ae030dbab9285d1021641ac2031ad753ea0722982cd6053ecba1f8e4ab532a694bf808792ad6d5a7e1e7a0db0ebc237883f0b7999e4059a45b3cc28df92ac9b79c0fee114d3cab1ae365d7f1725466031f049fbeb9b675395c77556a1111a44530b4d7839b329504b8f8bef021706bc1374c0f90db7a5f322d609a085e70f133d8b4a8cf10553bdaf44aff81496f5c5a2bea1fe48690cb03dd3ad0d5c1ae1fa00b6183ae2e4b8608107882ee72ba72e0c0414cd7fa5492fab880c564a8de4525d320b1eb69c54084188871fd6589ffa0a477ae2d15eb114cea72516a9070a0218d6b4d6cc3815d7c8cf92398f4ee424bfb24d65c94db840e342dc24334179ab49204b8c84739f0bb967599bce6a2d482d0413408d2100c3dc24f682e268d6007c478400ca1c62128598c8b7c94039f6b2bbb8eb00b826e84ef8ef0e0dcf2235596342b3c07c7201c47d0315e3cf52d26ad32475f9b127224631bbb082a33749a89efe0380413437830862bbe76e4feae6d31cc5eeb02a5722844b2cb02e88503fdc0124e033df1fe32c567c4f8944755f25d57d3ca200493c6b8fc30e43bd0d0bd0b58cd0bd5ba2e1bc283e9d858487385c5032491cf9a30f81ea43b429dfe4d7a2c18580575850624b9b5a0b744015945c7e5e09e8b89b1608407625df7db34ec7745cb2ab9e6ba849a78301d82a61df4149d8b4cec4160d7dfebfbbf34d46a2c0aacbb54a9a984e862ca40a0cc471b171c4905d14fe89414db9ad391607414895004dfe0712809fc10b12eb8697c591661e9ec99049955a7dce7a39e04cd4711c2a266106071e63ab0e24930543643049753550d22f8542c97afe5f7c1f783718f60b2df111ab662e8335fff8fae62510ea8867840299cf24ba492fe1ff79f4cd1ffcd995b87ebfe0daee8ffd96c02234fbf25ecaa878ab3a3e7ff20304f4792e88e5d7e8c639d78620dd84a22b887b568ab4f6c64e220e2614805525e3694486f432c9c3ba014740ca12687f53f8fcbd34d4c544829fb7ef0856b6eec9d0abb910ed45e3883bc2ff620e3af9392e09e14edf877b7e7f3f84d31fb0c6c9c8ec2f4a52d6de5822fc8afd77367967de2dd572c42c1561df6890c10e640fef2fd036843eff129a789990fae32a4bc3e7aacead1c89222b06d1b70bd1729cd4e971d3476e8d73676d0c56c900f529ff606f45a80f4c3be5ef786f61ca94dfda438d725be902f92ae16c8fcc594d5e0dcfa988345bda15eb8f725e29bc07e95af24032cc4e4ae70f8c21a8955c5f9851aa7e909e2c89e265d371ae0df5933dc2f5b8ff5031d381d90997962d53739572b7f4e9f12526aaef3c097837da13ccfc392fa167bd66d4b28695b5d0cdd5df2f95be31538d21948cae947a63043a37d1bdb193836ae2077cc0bef11a5ac628859feebbd850ce2eba6eae4dfd135bd9e3ceaafe4a8f5ac410c59169030aea7c780478833497cacd295b8839db8e1503c1d222579744d244ad9761d3a0b343d4e02c085c1fd27b7a8a2b77c5cd8116a8c06e459669c888f053afccb2052611936bad59b8b7f334680e9b41a65f7440449551e006a5daae06dd1dd231dc96345c8ed450bb9606630df4d0c6bbced98e6bbf20af4c11ae06a6ff31a14c9e43db0b764820fec1c08816ab4af365550405a2832b3423652e620c001bfd130a977824b7dfae3f68d6b0e8aef7706a499f269829328cd681f9c0227c94e39e67120b4d16959fa2d8cabe8da386ab66dad86b67856c0de1a1eea4db78c45494fbfa41632bd51794545a2b0658fc22c9962438a875445a7b561ddbc0dcf51083145146eec426b512ebf7203151ac79c4ca69c4b166f84c139ab717608141bebcaf866d9b007f9cfbeab9b48861dd1a3a44643c82b47fc6ea9e3a26844d0c3aa7a9dce9f672ea05ed918b968d98eea82926d11b7f2bc1626042040041ff32904d21c8d5ebc18f4052863ce47dc3e6b0d8e1ef3b6913bbb2b54d9aa7f71d8b28e6a2dcbc09a5b561e6aef8338d06a2c5ca23e8e6b74325cdb1cdce7186a4ac9d8d540c27afc0180b60676ce440838cb5820ac5f2e5f43837c4eada588a25f63aee5cba3c59a4b9f8959899687a6bcd081c243605923bba94f97c28448c609a24c49d6f318b2480541a902b46fad7abe972fbf9ad11d65c409fb3e48081c81082a8f3b4e345a12ce4c784fb20f7214fc71e0f87f2bbb7b8d2c9d628af45466d8e918e4c619f36df97c31b2f696f7d8e9ea11894f225156b234c98fb47f9a38983d8277709a579fa8654498aa59ef89ae40242f974d4ec38fa9fa37654ad7f7ef037b060f49d1665e24cafc5bda748678faafa115c530f30ea2274087769d0d50b79c669e2d1da354f47f2bbfc95e8dc4e6fcc6d912623d1c2eb3d951d801bc26d6a07fcb0521ded821a66bb84363c3a4671dc96660002e0972fb90df93553500c274006e6512221032e6273f53bc61eee4dc627fdd42b7a857adba322739359e814f443b75a4ec9d427a5621dc86232a890cfcc281b440d3082f4760c747d6a7b13eb0cab751c2598983055ab8c512e3101ae8484776c0515881831a025fbd95f10cd8d3738f691b79cf00ae1607de2b212f57287d3bb54c8ae68b977ad4fdc7dd01ea1908bbda5419fcfc4aefb703f684f20e769e3292f9a16b1600d7e8917c8e6e9d1210ac025656462aa3346350f1351b225e7d8e60d9a5ac38ae226f3fdacb87240b8a26090399ff688f9df9ae5ce0121bef61629542cfb09531e17301f1dfea463b19daa295f3f75877e753984f2215e9e4577a9de09dac59b547e374c3730b0a3c1085e7c5922aadde1d1043a01fa209b4f8641c577ed4388812b0a9eac404a6710090735b9ab3863c60bec3d1d33ae3b93dda5a086568074445c30a07118b207574822404f8be4b3eee17285ff374348e22a07ad6402f1e4c57b1918f77e12f78233876fd160cec8d0c6f8191d14cc60bf2a3ea4302a134f845fbac14560898a7a3566e47c217b7342f0b71407c54e78eb16f15857c6c8a1844b8085e88595ce873f8ef6702878528406fca69e7e31a91639a256c5923e2e98d560db83e7dd332c1dc62b66cae2f8b9966cc40143a01313925226e5f00b6c673b665819bdea9f269d9517efbf11da2a6340b1e85e6093cdcc79e228f0cdad430f7ee55b13e75bb7459e5bba38f6fd4c0e5d3be621fcf936b28b32cd8d32e83a50648819943ad1a7dddc61fe9014b8cbd9a68bf0e0eb4e3f15f86e75fe65feb31d5c29f5793f58f0f76fea5ec3ee5c8dbb13be469723026e7effa4e08ff72ff4e43e3d91e475f6ca698ac52c1bf98ab3a98733e4c955b33fc6b779fbf548422f8f91778c8500c8594dcc755e4cbc8c1822d0103bd6fc6619ee33805b113282b51b1b5c1312b524ab1c953c59cc412e6e866698a66ab471d82eb4b28f585a4b97edb1e2ddd943e2989ff2a66742cc72221cba37211781f3f51d9ba551987be89505227cb117afb4cd93091b87160e37776eef2d2b88e4e1f929af5808c93c414bdce67298deb2948cd31a14c805891906163c1cf139dba924fd922e9798103238391b90e751c0fbd7efd7e5c9482664a22297f173443b80834d52c40b8acd36ba8a8f1e156ea06b9fd42d919e1125ea4f9df7d02dee563df107e09a726672f662e81c331464b8f10113348427db32b1909713077a8f54436179a361da2e3770e775790c61754e2fd91c3b7c0cb15e8287a5a87308b7ae0467a0cc0b83e1dff482dd3de4e8d2b6b81c93e292e0ab4226722a7f09709ef33bdb32d6d305bb9d8b2f5cc1b90123453232ff402859e7fed7653b187f561b6b1e1e46ed46d25ce1c632f36bf44290c35a410455444900608f2f0f3bd3270e0b2b1a9f5b95c36583a4e08ff18d966d13ef782a00bcc3bd81c335b4c3e020a6a01ee2d1d7b98dbc93b13184fc32b3ba705df02169775bcdde39ca42dd1ddfbd68e7f833f0e462267e0f6708c3d3bc5a52b5998360709c96f6db6d418afc5f23888e4cd16c0a65bd068409027eb47c0c6c5618ee7ee9364c23cceb16afbe3f695fd18469eded6e810ac3e10a0875b7971e382d553e118bd896dd4fd64b0a37f4d3d7b74260a4357078c87e677dcf6e8e1f54012b570b5a8eea04c0f252187363a9b866814bde831702a7e992f51faab9b58c6e24943872ce300cd01e564122f611c66a76260be208611be1dcc2c05c958d108e932a7321474c7ae6ea84ad9cc5443f38f6f802d288d163589c88f11ba4a9e782f79fef28c2202e2adb0400fbc5e416ac0c16f9559cc57061bdc4811f90aed5d7fbc1346dfbbd1eca63545ae0ad56598aa991dcc1eee2d526abf445ced1fc8cc98777a798972c0c50512d9c612a8d2d0488191bf790a9b1025c631e3ba86193d5126b77b886f028f40a9931d7959275aee9cd2def3d792ef14dbb91a69a677d79c182c8d0c1f44b6b210660ca46a5d3a04128ce18562393d7366f7b7dc6a9ee4aa4cebaf15c7af7b90e858d812c86fbbb20bcf888c4f2459f3348c14a4392fea5c499d6d87ea2589a9f8e1f9de536e6d4795975ff03481e904505bf31d1db836c13dd42b5ede2da501691d191cf3469362ea6b5c47bd757c69038e545968e7e803725ccdf60e064837934d826937aaf5893d0eab6da74cc0509623aa20814d0568ae0a5f9cba51b12eceda5f433bd849659d7699067c3a18afdcb99ba31e66cdb7f153ffd07aa3ffc2e8330ed1441bc53b558ba574efebf3a03a0f07ecc1e0df3aa268714494480841f905acb619f67fb38b8b833284e8b229b64485423b477fdf02aa0eefc79879eefab8570a755c7af504ae668447d91978c08aa5459f6b3d218b959484209eb271f30b16ebc9114a76816b591b4cc66debf720085a4c2a8f69ee7ec8248360240261b6187a2e559fa624eb9207c50d2316b269f799aa2d14b17992692e173853352741ed40c9ce87f072a913dbf3445e01e23595b308bf8a9d7f5168c3a8a2409e1c5f694bb647ffd709046d93a10074d875000dd6b8f6d0bd8a67638a0ca6a4fbaf2c863d64b55d7dfd93aecd6925adae3236b9aceb811493866d9700bde4b71eb89ed008720f3740ba9388df235f0a1af52637a2a3fc9f3cf54ac7234a943568778b6df0a822c20a732d2a1bcbf9547c3c8bf9ccfa409da4ad80f4f56cfd8e7c9c4c090e5611a48a9c432b2c4698758ceb921a6d9c767f8f2875f4d2cc29e89e56c05f213404eee0010a46970cb28bb973eaf41ed281fe05937ba05ccf25cf3330ab189e3038c7e90c9e92cfa0ee6024c18ec8facff12db6e7406f75a525676720a663dec568be7acd4be440f6fda64014f41f482fad0bc6f3a042337a00fc14c0a41bae73b766c6b55c5eff34f2f8c1a291e7489ee630800a5ed268fc8050a8730c5a045406145f30b6abd379ccca099cf657ad85ceb3b4982de8f032966b45333bbeb228b9f8ea2cf0829b1ae02fed195ebb8c1d18b2ccaae29ae54913317bef765aee0eb82d1ba00d864ffd7c26e8056370e9518eac4a88e77de805b65099b549960dd9dee7e1bcfa752bb59b22baf3aa7e724952aa6d7dda509e402ab5de47f0c501db740bab940070f92267d0bbfd26993fc181e1b73728eedbaab6eecfea2c0c7d8e9e4324135f312914940d01cd7faaeedcc67fc0db959346ff09543682795fdb4e853e854a8ca224d52a2b41c75e6b6c081ac5e29ae505b734db6ac868683ecc784d16b637956203354d9a87f3b9cff653ef8f73d74d9f09aa40b7fac124625935e840c4c0f6b06f21df66adffeb376ca984e2f92390ca2a51a51168dcf4b4058d849f42ada241a4e05a72b5723af9ba7b827a538809eb39c13cf8b073903d4d60068771f7f4e99e264cb1b7a7ddd0f370bf1377f21794b14fd7027d6093db5587bd586771db4fae45651004603df85538e14e7c3056a57f5e8bde29706932b0d22f74438e1329758db304a829e47a6ae85e7b1985f2d542ac11c170689194bf7b81c24262a2238c0949c764c8527aff8aace16f10640a658907dc2ab629c1f7786e3c612d253f51758a1d11f77c9e0b233078590625c65ce2bcec5d3197f642786dbbb85247a307e11d1bb54645a66ca59fe920e6eb976af0b63dba13467a86931b74ad5aadfd8ff8da442cf3f904d645a02ce1d235fc4e9eb593d34809c5ff94566f89080eab8f8044b86bc812642bbaf3735e07fb963949c469216a8ba5a144ba12d08d1d79f20d42fc6332efad3814651377b7b7f422a03b04f73ce1e6338659e6033b5b77fff505022491c0801f9bb6c3f2016edc308f950ca990c980a5c811dc14419f339d871108d49203e5a3001a7395714c28a25df83d18bd427803e719430a9f922006b4d1808b18fbf2292675e8eb1efd048457e5f8724a31be8d71a8b8de4cd1944e3faf4afd9cc0c14b521ceaa440dfc55cc88e87e81d7008c59d9ccecab3a77725ce08da36652a5a0b0f5f1f88fe5950944c7ff03e5794a2467b4d11cf8565c416740032c75d2d93b9ead9f0df825e58ef7a220fc304c6868cbc30cd50d80344dc1d7caebef13e46d9f885398ed2f3a52c8e40a1414b49d2b24298968cf247489086b69046067980fef050afcaece96fe13099229bfe68d3089d3c4ea9bad79274a603e874202dfc79b079a6eeb7eb32185939508b3ffa75cd3ea9dd0317e12d1620267e06499347f8759190a48e3cfe5382e27d3875f3fa1e50769fe847a85f61db70e3e1390696988a99e7629bc313effd6a5c9d22fc9bc5b3e3cdb373e65f2bf9f13be3121dd0ce0345c9904b685cb14f02b85c1f09cbb68caf0202108073ee58406281cd49b343cc4207114946248708a0751068ec785541512709030da727221340aad308fbb3a4ecceb5a882a262c5d48e6a4c7c75f1dbde51b52bf59fd229ad82a2c99705c3ed1daaf2c28db8d5ecfed1207b3d8d7a0d1190de039b907b734a56c685d35ac374e9fc061d705aa3b691970f06ed41fc852d9dbcdae0591bca4fa125e63df53790867121f8dd5c4b3619599281f937d61686055a4022e03883dacb3e9277b0fe0cad64640ca60b383004881c413bf125f093ba666e912af28cf10e973371a4b7e9891b893808ac82c8b0c7e6469f07cde333f4c2394d7176079a1128a00e8f07e0cbabfc9f13b45720dd33ef221b533b868932a3e134341e4b5c620a387900aa5ae59656aaf7f0953e5201053115dc862e9267cf8fe363ab474fc27d88a00f96e526a05b7dac257bd46828e16595a869e929def8e21a70fcce3564c9e73422a06b0e31018be6620e3e87bb679001cbce979772eb1843a86abb974bec42e31472c55aa1f2eace7465e75bd58fdde93a04fbb4caadce28733cdb4536017049006a8af82fd4deb2b3bd20cdc66fdbf4e6fc5b3349f2755784d2f1fefd231f495303c1a86537c568b647f104b685344d33b5cc1fdcd028059853903cd1b1f9e255e6cf9773b158f4766c260da6908d0a159a835f94f3c90e6d942be8b3f43acb695a353bcbbdf3ccf85a69e696b7ccad4bcd665e8aeac97406b47326919ccf5f7cccd2945d0788fc5d29914872060c7490c7a3241363a956308c29b7098ad0bba6f72b0852a15364968fa4a158f527f4da0f5f301a3c09cc06c9e3787e875324259e34b5243f166ed0252accbb189876caf445a3393d5e3313dc95d6d8e3b90b87bbd1355d041ef11198d5b1d8602b72776820ec47383566cbdfe6be3e92e7a98d870dc7db95e3c30624bca3b6aa6be004d53d01617234f0a9e8662bfd5c254aafae030cf6cf8f3d7f9369f41955f1697ebf04fd0ba27a71606c2bd2c77bd9716b58a1198623d68860c8749ef3012a09257215e1d1d79d02c0670f89183ce4898993dcfdc63a0fd8cfbc128d2da777cd1c05dc722056ac5bcc85c8ad2aef823de78b565ba9e4ecf6abdc2dc2e887b28e0e620ccf0e79a4e394b4509a429d2f9a39a79c8dde444d1a90aa8cbca17ab6963ff9f46fb68fe8a1267c1f30a1dd90f69dc750a26df09740e93074f63dd1522a1742605a8d32a5b36ea45d15b19ceb1170dc8d0c1de55637b3d8614b4f9eb4526d11a7afe6ad3820cbc5c79bb64a4953e239e28b2baf64036ba6c6c7036ed77b739b8fdb363d59011ad46a6e30d8b00a4423846e001b8cbd41d388941a392090058db3b918a450e16b471af141fcf68555dac71bbf3f75800b5618079e3646f74a318fa4c4be5cbd133e5cf913b168f9673638506316a4b896d5e5645872124e9737549d3ea4dc3c39a8a16eb5ee20d9ed241e1793b761fbf379235db834e7a072d170ff82388049d0d26adf3d74aa0c14a4a7acbfe14dedd63f48440ffdc5d04a5c6225084f9862f058e5911de7a4811cdb4ba06062c1e526574a9c3183f26dc0e1ee810749bd18e27b6943b2bde0491e2808af0a2f23ff824af8af018ad4770f5a542127047db9af6c2361bbb4eb898b1cc7938c0d916dd5d97adbaa999a4764e8cdab459a1f1a78819b4cdcc2d7aaa15606de93d16a99892d06816105ec7dfd59a9c88007a3542937022eae1a48d738920b93bf165541f47da7e68d14136827f8703a7eb0f4f6e241a9d4ac7b68b5eb644bbdb49b814aba7befa0e700db342b1a096a28eed38f070de21a540fc25a86c991bff160710c8409e153a7689ac975cea9e20c3ae6a33cf636ae9398af6fc201bcefecc3e519ea4919cb83f75c1b73ee018751fbe8a749c7722310d63380a0bfabbd4d42e4799cea3120dc983786a6a4cb01846027e4f02c4d364023b7e2b715e03a67bf3cd30fc68cdccf5e288d04a6259739a3ffeefda09989382853fb81bd7b07938bdd6bfaef6bcca0faaf081d48dc5feb454b45d08176aa40506447b7573adac4de5707d2d43212852a10df4f03d08748cd4879800241976610796d9a9659c421ff2341903dbf8e4cf7b1faba3f7f812bcb3ecaaf1e62ff56a0bb5ff9b3c086d5ed34245ef56efff1ab0caba37be1e15e5921ec028eeb171cd20d76e6d3d0942fc85296e8704f3ba7f30901ab74d8ad183736757e69650552f3317bf80f87a9b273d6a4a1c5da0ded474a9fbd58cfd7e57bb020352646046aec4e5056bc86e42cf11ba4895b8d15aa9d5aa2a3b7429c9bc0e8cf485c1b332a831bf6dcd2752f30e0084e7d38e036cadaf3abb84204fa2ba8e98bead11373baa269d544ceb2f4edd033a990012b295dc3300f35aca24df414f741da9cbbc583112e7237ec0b1c8e2a630c71f9e81deb1d80e36e1d96ba448c6517ed2d1cbf3d97596dd051c793f2b13e475535ade3c67aa4ca47ac7ad22b2882b2583c1a1a3a890468acfb1d4a041dd8382641aa26ef377791bc3a793900189e5d38b3713873dae3035df3d1282794f07f44509f7580b9e81c0c4751c9660eb48224cdc36445b2b04fe9ddcb4310c0c9547ae1c4dbc80a2804af24a0ff75e3ec168b814597d17ffd69afea74aac72593d98e8983dd1b81fff5277272955e2a3d6d6acde311ea1044eb36f47171a838f682bc5fdce4eda3ca96b867a1fcc7a9b759421700a33909bb69d1a0562f2b0ab3b323377928f6243900d3aae755b11f461742c1eea51c15ba311ad319456e045edf8452f7f922f75e7e97b0132ac34e101965ecc4e7b6dbf0200729b82a3502a769087d398227026d00a27a439827fdc8e02f920e5dbfc0319e88c34931db4abeb538eb51905a8a78c82321a7a57d2fb3d0179e161cd93c5ba510334844a9c25aec464f19d9b48ee6ac6b73ad2133e06a6e62f366f39d314a0d1d34ca6b63149d2e54dbfa744a4bfdeac23c7e8e6334f397b4ff73d9b91dd25dd566742f9979c180bac37658da7e325ab9426ed2164cca20b9c740189e5593464c7a76df8c911a46bd0228a2b17b8bc8434360441594d410930f2503ac048763e5b59af08b03c0b6ada2d762f8ff8827bbd3ffe01b8cfabddfd8da1632e3baa0cc17b3c4f7afeb63890ee1096aae1781e1a7157962f0f45c315210d87f0981f29426b3e16c60d3cd67178270b0a10c49d0c6753beb9de71129400ea28acede32398c60ba0a46340fa947001019bc7d3cbb4f27b2712308fa72b25b22b6d69bfe6db73cbbfe766dba8d65616f009e387983cf157268f99fb1817e960d7b63b99eefeeb71dd15a30042c1166e4490c10625ed9bbac5257d674c0e84b0c12032c5d674bc91d181bc7e5dbfea9fe2423fd918d8fc2ce63d471e23c862e8a58916f6dee3e0b77ebd1150bfba4e54991ea4ceb52e92c13d1ea54cfa6224db8743ee7128ae0aa0e1266cb2808eba2e3c7c8ec01e2fd6f9c7582474d0b2e9ecbc64ab5393a8776a6c0f3976c5aa3034aaf075702685ca3385b692b04d6ca956c076c671f7ed556a9a831a3d8024ee2771508429bd618fa86e7a1e4d33b95240fb59738a72136f253455b5b29c2712106fd862c7dc73f1fe41b0bad13ac7fd59e17d04db92323095cc5bd648837caa2f2aeb61e2840a0a00715bcb1683146aa6a0f6533cab4766912e3e2226b4080b4f0fd0cd36e5fbe07c37191d50acfa813d52259dcc744f8c349328e7f99be28b0eec24852c76c412c068cb7997af6f89456722a34648befc2b9548dfe71b1fb5ca7125310d9a205f708c0b8a8b3d980e052fc9872e0a097fd31420229d0decc837f1aa0bc78af01b6e08c20f1d0c7f3cd8c5ce63f1406d199655ad7183a0d00705f6f2efe7b77c36856085602d327186bea35f689292c0744148b538b4eeea9be11c0e33526e4d6e9dbb600948b40ec8dde840946eeee20cb7363773d872dfe0d0c9210f800b5adee5f797f555078713b7deb704d748c6df8ea5a3a5e185e5c6019577c4b7c52e84d352671f68e0928e80071d049c83d01de04570221b0bf12e0fe40926d21b8087b05ad4bc0abc9a0374d5794fec45263be7a505c1531ea44d9eb31a103e759eb815a7dabbfecdb6022fe62f65062e4004a1ae5c82c0a1f68fbd4b815c38ee299ceab9d69c66576acc7ca53b7a2f9a97e643b8e839b5ddd94d6e9ebf4f412af4420ee5ba685ee01d59b3ad323dcaab1f98c0c1f7b5cc31be220adf7fafda925189a734508ad80c8921445c6bfc99d6a15ba4fd7de26e19d2a19f4ac3a9306c08ba9f415eac84884cafa77d204af66e13502345065311d9ccb7f536b2a3883903d0e2a247c677fce127471b1c2a957159c1a30fc7af378a6c886635f42618e6fd6f1fe35b3d52b5b44f21ff2deebe4d578691070f6d20e76a0dd523e6feb579767c34b1a6a4989f8907b8e1fafd34e9f9e6365326e42105dbb63e1d2ab3a9bfc998d78d3c553147897d2db5c86c4d337f77bb147557cb1ec43530b57699f1f006b29459613c428d462f14335fdb905d42a378fc1a62154df8a79d35bb581698c91ac7f710da21d6b11cf4024861cef5c4b50ae948e71564a892716a596a5706b1ab09f10588a3f713f7e564834706dbcb763d996060c5fda30a41db7d206462710d5a2bd26d0cbe6f51e6eae2db424a3388d607e1180996d55a7b618325f38b656543544f6a65e56fcd412677cb17dbc8740da60be1726408ab0188449015fd7bd9b392054b6e28628e325c3f55af0a7be04b4ec8b371f56ad1f50587f2927040d605bc1b3a39a113686c43c2688e17e9383559c9f32928483a2d705c006636316a85c38d848558b0acde027c8266153b9aeaddd6fc409550f371712e3f98b41771126057d0590a9f9b2232af126747d98bd6c55a985ccd5ae2c312650e783cf48a88f5b9f7a1501ae5df65203b1f84aa48b736d52b1ed41a72979faf6ee7be5a4d5469ca6638d938bcd6938057ed1661090cc21eb9580f49305c4e045233a718db1b68da47d44878ea662984501e69259f51c2037fda8c131eb6eecdede7b02eeea04a0398c31d389663f31af57d913ee4277a8d659259fcc59244afaffdc11167a5ea27869e1fccc2b28c0b03e49247260ec30c64506f9f33d05afde84a354417d89b7ad7332484d61f366ccc0cb65025dc1315f7765028b21dff20c94180c65653d9cb81a37d5146d718371f051211a094a269cf1cdb8d1db1ae86c58d219340bff73cdb9915ab502cf8b0ec79b49e18a1c06a934d31c03c10247f8ac98c4a269e9b04fd3b19903b57c8256f794c5b39f690979db9a372691f1ccc1862029a6bbe6a01f2169082e201fd1cea4f3123fd9f99cb99aa7868e262f2c1af015452013d2803cd7a69862cae161f3b479dddf71e1ec9402db5efa646209fa624a9e2a0811e2a8712461f2237e16ff7399e2395719b979f03b7c14035ad36a37bb16b8351c7e74e4ef897f8be590caf09480abf3dc6480a115c64c55e28b43e76a9a816c1bcd0f863dfac4452e41ce184fc8034986af3fbec3923f36d28e8ff7400e3247c5ccedbd322356e7a785461b01325534be13fe5e2471b50d10fd91c5dd08297caf4ddda2b2db762d9f4bcafc0603002caa3c73bbd13e80069e95738399d8f6b0a8cb4a1b95df5d569103642234750187361c9e44137a8eb39a5a29b40bc454c5d203a706350d132891c5410fca1d71f119da492d31d19fe7a94fc97d74f699177ccf4a4168e05316b93326e2e908754af8889b08ebb1bc50c248e9f1a3118e6c1d0468822804e997352933a80cae1cb4414ba8a4366f286d4b8677265dc0a3605cd941bc98a69b37878f1a2943968a605b84199bf46d235990ceeb512ab1a5523567e1522e2872f25abfa70e6419ac687ea5081299d11a48384b8bcc282ac7551f7a28829077b31aabab9844e51681c5dae6f92be81e4f2222c0ffff1ca3a41c7f77be63430000e17ba6235c15335b3e3824184535904584c1c2546fecc1c156387331e63878e4704c87946f3bf429585677a526f019abf960f43aaa4cef134e2cf7b9670a063a73a14dfe65fde28f5a05d9e760a2feffdc4f41494d5452cbb218a6579ae7b987bc29390481342c80f87c5ce24a0ace149cbd0e83bd88280ccf83f59cacc301dd33c733c3ea927d905a9d466c6df26a46dd07a923fb410a46d3711592454bdffb40941955062321df421269d7b0b92f0593806f74617f2a35db2cc8061c9e73209f506c1a7f5a511af72ab590435f044dd42b90c9ceee14522ed31bd16608292178859312d59436f7ba74f6e478a9978e925bf07af87460ef535b1dfa6524618fcbf9c984b993606b2221faa17578658426b2b42104d4ded45fb6716d17231e69272d5218a3ab23db00f1a092dbe56241d25015222ac00c66a43961e70f9ef0762c0c3331b28a578627bb4131d3f2b468e008bebde850739dab84c532e0330667ed7303ff3670373a8cc3265ba95a1c1d0912dcb502d939112677b536ccc26361aca102adce451347ea1022e7d4575549d4810b2d1ad5824a8752a12502ddb763b943e08aed277b0d96b99eb390911a3d05428f67f9343b864333d1109cd8a78e8f4ae4a35ec3ed494f9cd0b8e9787611fd7a6b55238b0e2e559703599e6e955967c49bdd32729ee8dd8213fe6e8a3c51866844cc534df2d69e302578ff9ea8edbd8baacff0db1e48ca042c14653a290f69f2f4690ca67a69374cff16efacf04b821bde56c07fca893e5537a0c466249d3938371d15608d4d30ba64068f6d159e0dd169dd9a6b74e96308cdbfe2e370f3eb746a5e2ac9817c4d7b53f30ff66de06deb5c8eb4d3bd78b1c69bf533b56dd2cd9cb8a7f41c30678a304a8254493fd0c73b31bb8baeb54367ce9328c2332a58fa7ce11f4ade54b1635f223a7fbfd9b4e7efbe65861037ce71a72b9aeebc5f7f056dbffb43d55d43f61441c9244c7181cf364495924e86397ade1119ace7513007258fed9a967888e7d258a818bfecb38c570cf56552ae999c0d102199c98f76c7c7bd168af50e431244dbf6b23a37a35448dba8c350b92fcc43480296e089aeb02983248445be548964aabde8633d2233b4a11ffad38603503afed2e7c5cb963fea05b2d1062689649577a4d3bec140aeea8178d023c3f8143809001c8872f263b885e60a9124d7dbc1e2a4bb0046fd4b1cf57ad583d1fb8d42cabecd695b4a05b497363127f993c2f0c9d6fe664bbce890cd14d9ae65e836a46d4ce329d7eb4595ceb6ee0aa936c5527744bc16f5b8b0a5f69328faed996afe1106a8cc5e6f09a66e021d4b0ef4c41582610e9c48ab1d16e5273d782e7b2cbe1be9ad5d17d17ef14806212f109b8ec3ff458623d2f13acb2a6f3830f82782db2a84f67ba02a60ec7c46a13faa10629e6c3e7f2da93c41e4b6c0262b23fcebde1b2a08b80b3ccf58e9b1ab8f26c8d32ee993d3621320738300fcfca905d0d601964c17c009cdd60350e72bc96f0d7eb16df45ae2c5a64823036b4019a2575bf8b724f6a96b1e961607b5d62cd1e0e3148ed91b5b6770df7de64558db6f398c339dcf6939d2564469553de8fb92787c6e02a4d78da792c7bdc8f489e1ad135a53f561382451c44eb6a0ec9003226bf7ee9ec30208a13645e3ba18ca1067d116b19f62228de25d5281ac399445159185d53e55d0d464870327a987173896eb2310af045f4e178b10b4b40395c38376caa436c5c08ef5fb69b3e6ca26812035f57cb1601dbfc115b4a90ec4ba9ebffc8ac26259566a8251d4266a9db634846b5cbb5d0dacaf2e6483ba19597b156639a6084f9a03a98307a71d46cb0aa01785068d86f384a0cd936f6f0748c81bc6d415244b5813cf645d98ed983519e5fbe28753d0c1950c77b19193adc8d1641191422bdc86f149e54de430defc5c58b9649f6954894692158a080644d7f2f5773402bc0fa044953b810da67ba658de8a2d30089f87b90c85ab55774c034426fc05d3966da1b4d88f3bb84ac8ba5346715f32281624e5884414770e31a94fc644b478082d9d17e88b8ee082322343c8caf40c520055501f243677e4f89c2ed5e3e4903be4f965af330ac3b96dbed5bf4d005162e23648baa938191e0d8e83403a2fc98262a62dbc01ac0248ff2f8fb659711244375765d60bd4b297b21dc6e6683b6347635d1a093ad64471377165faa57878b4b465369a8784218d6d9284055e15e1bc740e0fad14e10d4172cb6a63902228e0a0ca5cf9d9e9d37148d1d1142d146d945e4c64874bf1e10a83f91ab3b8c7b163f5bd8707e4f1870cccdb2307bf8c4c7c50564892b0bd4a6d417c95ca7fee810538b23b6914a4ba3cb8c9e66b0d5bd510ae3fab4aefc4d22edad60197b2712b2fd13ec022fa783de2d35892eecd8e227bfd551c04f496479403e0be1a2342107f02ea5cc653403a0e2693acbf1e6b51481e3ac479800221f2d1bed8dc8749c824037024dfbafddf5a499d8c8d0ce53f288102ae66834cb19d4bd44301ac8444a0298127af5ce394bf7179ad5b237610a71fcac5e1478a240c18091101fb0e8025df41f7e2f0b7352a1bf34bce3f5d9d8ab6a871973b117a630320e5e72845b555269df92ebc7ac1589478c469328ad295892e37745d22f8cf1229f87cc360007d16a58951d40917b14e71b0a75afb14b530ea9e2453fe5b16f4926f573dee7f9acaa7ee747ade0073a63d571078091e02c8e5fe9b3f31b7e035ecdeab53a0afe1d102db77dfd2a14234c934b021c1c682aeb68d7d35f61b87d61afd6644e7cbd5b1587c0311817b8f7dbe86186a32045621a6015ae95a40651f957b8541aa647c012eaffd5f84a21a21eb5154e05cfb796ba2c0a1b80c53190790edf83b596e9afefe38dc92da6a3508fc444a00c73a196e72b93a08df55144b9661300c76994a6ee00ae9f724f447c04679706275500de7301cc72e0210143dc71200631968c419d89e9a4d5c005462fd9ee249689fdf3d261e25c8240d5289e4d8c1f83a2d1de1ba122186071a9cc357388282c9d3dae947ddd35d73fcd9261715599b87fa37fb7b794082fe7d6d3fa0eec26f5de0adbc324497f08a9aaa4129f9dc7decd51e5b65d3b5220ee33e3f9e17bd98c95060ad6984bd641c058366936af7b18f9ba066002f7e80cbb0c1f78a69ae32f4826ca139000112aebe712684cda717c1cf3c495b48e0e75ca2ef2dc37edb0537f2996db7ba3cc65646ef4da97d74aa13adbc1d3e6c63c1a91e301f0f11c57697a7ffd275e4913d78e0fc9b4e0c11cf1618bef45cb87cde678302559c317b897c01c1199a8c97cda71931472d339316b32110addf24c414464d44e89e7c8650e1b869e69d8fb18a0d7a7b78427b5dfd8f29af493539a056a6ef38b5d2e07e8f6b2de776ef9da690863a6043b88cd3e38fc14f7c32c66a8b4c5fccfd83023fac93da79fbb24bb328e9be90ef536b3a5d1a932ca063634c758ba4ca5a5dec79bae155968ed02ba0b97d714024561f2424e01b76e7309831b11d9d0d41891fb891820397d1f8883bfc32bdea690e7cd81735d28e167cc428f0e0b229140a30e458864499844ee944f30f91d04b4ffa1903b318b17ad4997d4ee1317396eeee249906ea20e5b602c7522a121a483c4abf952f67f2b77ed2fdbe9ba00f39c1f04a74457f129718f24306d32ca5d0c592889cee0d1f8ba5109d34c19cad9a427c854c259a76fea28bbaa08506b7cb192fe410d5ee00273564b4f1c1b64d79f062c01408905419961b7b4c89998db052f8cf23d6c3f369b11c215874fb8679f3131fc43ed4f101c4e8cede3e2d7f179e6c72d50c1cea1d58241563a981068c791cc37b84781a58abd19ed2dd756f26212b539de9ac171c53a68b9b52c7826af141fe3bc428269ce818d5a9f860ad7ed514c5009a2498ea4732ed55375c6b901742f18155b06c4119df87fee243a8acc886172eeec7aec890435d06a8db4eab5f5a58f477588b3dac2e1c1299ad9c0eb5d36ca60d8487cbf7b42a9539e3141d906a04933a609187de7820a906d22733d14a094d78601a72a8112689fcbe070519a869c0c6b44aa63e4a8e587a5de9b8f6929e11b60a11f756e886cf59e73cc380ab36e9cade0ad2073674610f187a9d9828a73a4fe7096fd992a9070a666b6650d294b7256a9bff6d468ebfa40f9753111c98767b7ac2c91274b2f325c8d42d48e6806235c94e42fc92753b9701f9edfa299149b65b4eb101bbd44ef3a2ec23d3ce4106558b150d500e852b1937003765c646e634523b636262273dad1efae2c23ab3cdcb87ca6f50a2050d8cd12e5a480baa8d2db8ad7f565842df8f632d88ec0f775af99f3cb9ebca6f5b814d6fd7b584fef96569e31c2837b36a0aea1e777295140de5d9f491bc7c06037818e54016ddbe5af7bd217fa7466a45f6f6858ae812b0292f6ed7898a77f6dc3564c150b958b865c6a78b4ad9d2850273c723f913636f30cbd7a9711183b79e638e72d4d1193a3e8ad310e1ee43646af7eee04cd6f10aba901f9b160617e6a6aa37fa453fbdedcc7bd4eb51289076a7abbd7509524aed9545753c8fc6d01a49240aa5ea0e6a342cefdf828bc8c5868e13e2bda07608cb4b59adcb40083b436b224d4b2e8ab5bae0b36a87645dbad872774c6ab1fefea232f68457f7a29894fd0214c8e6037f7ac869e24b5108164d0cf43419e006759f5a448510d44a3b4d813bd00d3d11f48f072938de03c5f20d9c830d04db54cc5ea05458184f6b3fb1c471aabab260fd02faafd900da9f3067e1c374b61366cf349cad51e6b461d8dae2b5ea53c9d5a8c68c0ac38efc56e2e42aa07d156bde934b956c225542538164c51688662904fb31866645a5ab3f5e12feae7c49da3b02cbf6c4c9039a2d8c18a3d00e1df37f7962d227f8a3c783a530bd0d4066cbfdb826c84198011d692c3a96a79d75833806369687077a76517990d327267651922122d2064eaad0a7e4aff7bf2260e93f5b961e6fee3be864b2f6c51abfe507e78957aab1709733ca1a6f77f8285db0271bedbac07c3b28ff4ee96dd1b8f0be93f8c6f5efa8948b162c8dd3e704f0714cce16912d15e5203087942af17c5f7160f44604864d2b87268e116a6b6ec048d1f6076430153e600e1f98ca018bd6f6eb11c00d50de9be179e1e14bd3d65164b0733413a4c7f44f4494e953120b0548c8b2323381cbc1fb585d967ae6fb49a2125e2ce0c233c121d562f64a582467d4b93c87bd639e32733ea15fd264a2da0e4db3d4652c7db87b953656b81b92122e3027f437c3d4132a868e7d784229407ccc3dd99153886a63a3bf8473f9d1300b278a251163749aa5246ed7da3a7a388003c02e10ed8dd2d2ed276001ad26904a0727a63625d163782ce5191678c4f01337867bb1db10d37e6ce68cd32794850d98386c41c9a2655282c65916a36d833bd9a225d2e544b7a703d7f61148564679c4d2c101e74936b2a954601b11f16492a58bc1221cfdd5a5b40b51dae27e9dcb1da84f981680c19ce46b412af320535b62a28584115adaeffa3fc8bd45e44e9d7a832bc3c61050ea9bd2a93d4adb8dd6390a821b718482691d1e292176a55a4cddc878db31a01a56ed730770a158d9518e0508b01fe89369f609fc1061b49a7ddddc6640e08dd4ee1a21207b043852e0c465497306d83fab2d19056b2aea95ef94466194b77da75036ec3d57b5f87f3a0636aa92683f8017aa6fbe961faba203a19c2602781245537e39a039ebbc331ab99cb4f2139ae4a83840eea16b289f6e2c1f24ea742a0e2006bb6217b7b625702bd0745b341b60e186c1ca060cf2692014fede314dbbc2b524a2c130233aa593ae92888a6d01c2dd9afce53559404a840ac0a76873c0fb24f01a285a2b02d1a26fa16b8036801d7946fbcd506ec83616ba0eb8422f5311a43eea9a966185bf1a496a57ae0377cd69331d34f25d083161d9f22f44111c73ed7b75fd66b3e2ae9d6803a5cb0c5922735691d00ab1712169e177d668ff6df2d8911ce6b6348c103bae05522cde7968477a5732d2849becf8f6b1e0de18b32a921ef34f7d684abbcb41590740d90273db308ec04b80cc252bf486b3836b738e6acd2c92276d04c0af7fddbaf435bffac263bcfbeda823a273d7070aab3546dd8077b18c152453f67c22cacbbd369d34c028acf1a0a0da157835463b465fef70c25fec4e271a2fefb754844d128f87b474ad0474af616cd7c8c01c6eeba3ec6a7d1dc927cf5106fc6a7aa8c144b5143538f2fb547b18a5016e3570ef1120dd1246f1dc24fba31ef8031201116cbf54fdc67f2f125e880798a0b8092e2142ec6381b33f9cff68aa61fb4752acf5c03638e39b358e0936bd9d0c2a509d5a33665952c2fcfaf2372c5052e703755cb19e9870ba63a608d6d6d2135813880b04afa39fbdf7d8c69f184ec27aa49ee96916f4ebb86c5f690aa30a6c89407c04d43445f62a2f64705a2952f67ee1c34dc5fb1133c5e2eb9a7cb972d64135f2ffa920aaa617c5d1a0c974d450c2c071684d921f1d18b9888ebdd5561d8f75b93e3788ceaea5273ef3cedb6d0be8c33b64cad804b93741f296cd6d8ebe99d5b5b9d6010887c625e51d6f31f4dffa05630604f8989a78cd9b64435bfdb86e052977a58c23e42659062bf141cbe6670932e2e4fa4d775d01d585763e1d88e5ffde3d4cca4bb560f197d842daea8b88a81fc1f728fd58b93e7fcf93586b44249c94617e03bf321dea6062e90a62bb90e321f33a8cdfeba96048b400ca258432e86450720d03ea1bae5a510409b3cafad69cb87797980e6e3eae500ef72220d6c969410b096ec605a0daa0d15c75d0fe0073be06ebf8e91c4836b3b0de3a08a3d88a7bf2fc0d4ca8b53e5e81a0e4b01431a6a84fb0500a027639f22997d93b796c34099b6d28b345b617079bf9c3c996ec02a372296c17148f3b680c2fef06f62f1518044d3c9ffcdd9fcbcede0c3ca37433060ca26d31df33520608c9de1506b91a60a953a7af88dce65ddbf56e64162ac306717b39f31ba84735fe23e5755bb28271dc56e2bb87b4a9e744b561b5dd18354803369146ef60e4163196dd6030bc95d9550d85b0a10dd9d4d6f5d1ff4d56d161eb25d9fb905c17be0def6d625dbcadbaaab53ea42c96e527e4d1177f310bb634284c860e3f493b62f8c782ac6142eccb652e36bac0b7fd8d42066e09e2f8762adc2b86fbd23555198e5b340852a1f0f1870ddfedd843b9f5e714cf987ea8e4068776ee5fe0ad2644331bfafde029162aee937d9fe84723623f0b10d0426e3b992d1b4b59a44af0d6084f953a9792b99c4270e95731d8ed0a0b58e7c4d196fc24df974b917af45f5100bda1bf2a595ebd32a52649aee7bb28d146569e212ca352465ee0ddb0de5a5ec59f4c05557cbdc64f523db10f9fd908820039bdb115026bb91f1a826ca717477ba7b1bcf29205aed6682fff4328fc46226a78929152985cb06e11f870d8139ca37122c906cd8f53fad663270f73e647e12d6b3f3faa7acb0486fad4b4f8725c64aa3e6bcc5f99e2da2ab84ee4a2cf7181ad1a1b5148991296aa0eefb1c35b77206fca21f5c68b6670220511c67e7cc4673479642af9863c911e39c0bdd0691e5ccf151c4f84783637fc174afd70aec89fc05f1c97145b33d737f0160e06c83b6af35c6c9fd95094990e9199e87e242513dbebfc3d61b7475d3a5ce945c87e6251e9dcfba3071d5d1917cf02a152589a6d0cee5c4a68ea16f9f0cb077ff31b5d0c3d5d9cf4f3b617ac7c07fa588ff9956e747c75382f5b5a55529e907ff3d5e85ef9cca9dc8140c11cd5f20edea8f3c4ebadcd1cf1a12f61716d9dd12c1db8e41497e900b9af6f7d095a1c4b464bcd2cc78f826af517fcd0553ccf2498411d305981489a65038513adff0d2f7425997b9f434b3d8df337fc856ed6f67c0ef6be755302d0f01ff32fb5915c7ed3bb7f3188304ec0e224bc7199051f63b7ffc3a6ad1e4392970cf29f129454fb7d17921042a19b6fa92d2412bd3d6ba1c0e514419449e5effe8a716c18f3251aad65c93aab7770670e76524231fb42424b2d3c45bc4deee981c5a4523533f37ed60862949f93f19a66edff5b366ad7e2fd1f5cfbbec3b6fa76b1d06739b07f62f45480ec5f314bfa101670aaa737d796166a26ee7a886413deccb533e95d28f1fa34606d1cea898d924f8015755c2dfe3501d1bf8aa23f8b9787d925755c4ced2a698d6bc634078ca48a851b3ebcadd9ea4afbbd0d02b817d8f0ffb35f97f1a0f0a63866c06c547d49d5f65a9577f8a75860da74f7a3c03c54cf42bf57561a0bee7bdb6d1afde6ec96347da7df4cf76549e3f1afef576a9496e0155ab3b79cec14de16b3debcf295330427885c704ac30c221474f0c0637b02433a38e95db59ccdc060799d5604261a497a1f5591a58f49765b4cf677c198c8d582a1cbf187ec662d37e098e64d684d7ee3f8f56ad5b62222160801eab8e1258bf92e7a07389850d520b04abf4f41e94e6819983261f835f1a3a32ccfaf7642358c933daf4c3704d93179d6d6a532cb8aaeefaebaf8227c25b0fb2d3ba482718b7694ed5f3026b7bf0668292fc174aedd561e1c013ce924b523768c19c0bfa81d392e1033704c5a989123602b47ddd0be269a60599841c31bcb5188d5e1a865482d0851df3c09f69402d52ea68378d43ab7892597f0655acf778f0255a0e0e95ae79030da47a032a883fa002823202914f60096baf234373f0ffa08711f9e5ded8f7f64f30b64e72e5deb170cbc2ca5204ab620c1acb0c0b12196ffba529210790fa9cda0864590cd571b49e95b60ef9bea2ce8cfd10824d2be1cd122871c2133fb4312e1ac947cfe90572ff9a0c43011f8ed1228bb5cd336021c3b41847c3587ae384506846d99791bc3c2f0be99a4e6c6b14906deeffa70e489f88b21c111e0d22c9ff1b7d95b737eb8c33ffd21db277224aeb70bc17d2692efc1e663fb5d2652bc58b34e3a41a1444b7fa0a91cdb73de44450c1ac72c74779199a9402389f8882919c1404922bec9a0733c71fb57f5579f904ff6f737310be5b04a6f5c228a6fd97f3ac1f8b8ec6edea79f784f390547b8de0a2a040ad1b81143a7bcda53bbdce0c156266ca9b74137f5024b1232c41000d929944855303e748ae7e66887037d7767e8bb88177f1b5bacb47b65a0909dac6f4ac042bc48c0c7bbbedc8e25a8ff62a6a19f2056fb682e76e684e9762aea54e1de21bd05d100eb6924f8add33bee24d90fbc5ae71120659d894ab19453a0885dc1ac338bcbc2494e8c48aeb2b24fbaa0dd3001893859b46f8aecca5ccfa3707c285ee5c3899178c366f4cb18da0d84581918ba52d3782c5722eb40137ea134057ce9f1e876adab761eb7832698e0491cf63475be07332d24441b30d0c8f767a6c136469044beee9415918a446c759979c733638004a2d12f27a4ab6a2a26bbdfdc834f385984cc412b197537f0bb310843f22835dfc296f4fbaba9b5f2c7b46f481eb0a49f4945fd4c377b4cefa305f23c704e42c08e654001382ee56996b8a88606a3fbb887b510794b9e9ef6afa209d4539c98a8c2357313130a9fc438241e559ea3c1f02923d331c898f8b9b7846c6c4fcf6b4f2f0fc0541261657245106de9c32fc94f6d105962e6091dc94ddee21fdd76086e5533ea380fb323e84ddb698d0f7029042847f1a99e1ec70065efe522bc47a7528729568837c11682b1376630b320b7797d44fd39c8f4d02b2bcd409cf716c4acd3df806f381003f0a5a997f450ebcdd89182a9d88c06e4b15608fe9ed328816f38ab46531bf4e7d9988b63a753a94c62e3c41d4380eb5f526773eab940db11a5de11e3c7d7c25bf11f51c93d3c3d22b31ec0e6c795de64518e60b16e0068be01560dcbd8c10dd8bacd2ca3cc57989e3f4aa9a5b2e91ce01a2938896bbda9aa8de37d8c0281ea00a90f5560253013b0c047c81c20d819ec5186aaac9973a50a7e94070fc005a958f5702e14ba71d84f34f13ddbef3db97f62732b97277c1adb1cb3b3563bc68277acc62c297e30ebce17b71d02d90e4c1aa1376f1e59e8651cb7713647a7cea68c9ebafafbb2f6d94091406314abbe55d25804cf5ee38d9d393abf9a7663658c06b9ae60e91bb40f26deafc9e63764926018ba4ac5e93bb94aba55e1bb33e7dd7af31fce0523f7c0a70aa500d0448a056e1cb605b008a35367a4ab0a06dd7d83c4376335dd5385a77266cdd2edca96accf60c3311942e7176afbbfc07ddb869192d7ad05811ca218a34f98ebcff07530a88336f608b7cc56ef4d9618f24f7418126de397c97d46f5e379579c0351d236158173f501852394d08e103f1097deb0a18f21b56ca981183388ad4ddbe3f589d051173f8e6e6ebe0cb26216cc3a1cf2d884066cd8700d74d39a65757a63327b2bae8000e8c73f7b91bc59d265f4babcfc7f42f94b374a5201d84e509dc52aa177045fa6f429804f639d9374ac3cd29154797a5444f4776e68dcfd2cde6a0157453c9360f572455b3e1c10f8aaab7fe7998fe99aff8182bcb31ac967b1f50c9a2aea302bbaf70bf1bbba55ab646253f7dfd68059565f1ef5771ce00482eacfa1f5c7b162de5e8ec12c07501a74c6eca5c825a4a6b2a2204f67f625a2501dee9b5bd7ce8044a690292dad4792ba45b4f777dbec23a2efbe41f50706655c8c0aead81ad8812c1a61652c13a991193e263d07a54d646307601686e4f8271f2fdcccc586ab54f38974c881bfa91743acb2e67492c65d71f6e25a83a45b850108e53645d2c0d7ea8dc4f4c4504362f018b1a6a4420cf77339346fa790563d8ebcc952611f8517400326e05c65cec1a14469316278e9bbe251d589e02543ed1695305cfdfa864b2828a1f760409596d9a200de950e84f272a085d04ba5296b12d4baaeccc917c58ce22609087d333bb8934a792360d68a1459e40e8de0b78ec7d46f03aeb7763fdf22facb09330cda4269bd77fb39123c7d8ed7f9af9faa6d87818e2df7425ff552f1f10ba66021344b20c46d3001d08356842f51218fbd7fe43ee538928d44c2a0a447299b1aa8180e2042d5219a4da446bd6cfdf676f76455e8cabf06b4d111576310bd55bc752276facf8be10cc726e91eb62220d4ea0507c0599c7c1b2fc0cf7d16b35d14ebfd8f05f7e0adb536ea85fb70ce56f8859b5309236a61d953e9c13523e64531d1f4ab4d1689e8be1bc2a6a5e0863eb285643508c94718b8bb52195c56c106407713d2bbb53969a2d9da66b453fc602d1803b776cf28fce36530d8fcc70613ce7ca76e3ce0fe127016b899228aa1fb9b48b7f28ff56885da6db09f87b93a23f4c93ac1ca9c8737bc745c70b71bf26389f347a038c7101ee9572d9fcff805dac1db13f9356496f83a44e7ce1a8c6aec66d2654c1bcad630006f09788c83e25803049c7d7015a226279814c5c904b8593fa0098ed760d3f0e89f46cac18008ed4be62b91a57ca3841a35812d7b31851ffd651ddddec085faac8713e6ac57542522c3a8b53f9e9c8096fb1dfa7d8a24ac2cecd74ae9fd09135c351358311d2ec5fe5ac7f5132677b5b5fcc6e49ec84e858a6bec3140f4ffce615cdc01da8a415a52209258ab03d4756d235c5b771b4b9af4b67a99698d4d689a458d5ed3d574ca346aae277018ccdddde1ff05c2014254058e9499998b5303435d9ed15ee72cf0f58bb08f0b39fc7de442b67b4b29a54c29a514b1059405d7054c1330fb73bcc2b3814700b9f2e2b142e2a1b2e7aad8ad2a395895b65645ad6f00f1c958850a89582256d18955627685a5eb5fef225db706c97c61fba4055e61f97ad7bb481fb8fef52038642f22d27a111111cd414e0861dec1c2df41fa5e88d40b8c7a1549a121822514b228068d86c0941a0a6f4a09005cbb62cb46646bac5bc10e745d2a0b005dd7e8b82d00bd0b74713e6294157803884fdefdf7064871478e0cb888f1c63363448d0d0e2dd96fe9a6bfa5eb29fe14b917602e70a046cc39f6e738ca661364f9d75b6beebbd6bd09d2b4905520b91bc27adef2d6653d6ff5e6edb00309fae056b33eb7abcf7f0d817f900759dd04695af8fb2c2ac7d1197f0f4df0a073527b9d93d907f37075bf0756869ab93ea0cc11b080086499ebc3074ac8a0fdd2049b847ddc49ed45c03002c8cf7174c5e73fc751a6df04f96b454ba70f73c60dd306a6298af2224ab2a4ea2d91e494596c5566455f4c12ac95a9254ad3d2c691b2fac344ca61668da882aa2877404b96417ccba539293765195a4ed8f2254b44550c2766579212efc4326bbaec21c18cf16461123d459cf9c1d529c3e0d2d2967b62cbae2de5dd0be68aa7e592d24f88395462e945137322654a4f9e773bc4ee686eeca99dd550ca752d99ac9840503952241129e97a6c6c98472f4b2111511d114ea55d5e8e1c4c97780955b6ecf36242afa8a4e05430798c94692666e0308d62943a4c52962a4c423097f69827aa766dcbadb3e509b0a70ce51715136a05130b6919032d9d7494683237252bcc9d1213664ddf52896e69f536a5bed198d2aa73c16c61a1b45252da088aee3c678242b42ca3214e983f3a9827764a1a71cb12369629635c5c513098262d984e14cb93a1258fd2ad464945e2b2342281cef853cee12d6f70305fac29f5c8d066c088b164897263525e15b9f059e2dc2cd9605450984db1934459a5a7ec9363a2b02d479829b9be9825b0983853cb184d5c474ca69fe58e1c162394717f2a397f2529f8c4e696356e4b1334a64c98f22feb06fc5631b5e0d749d9a634155afef0bcd928f960a476a42cbf7694e8e863a6d42dcde29628d49430c89432bc982f582454329c5a282dd584964f3c4a291ba60ecc8e8e94659b8e12ad3ee58bbaa55fdc989a13d9d2c58b09034bb94545c36939a7042424c423c286790583e597a204f32b21ea8baa5b11b7c4535bde2053aa79315d603157a8c09ce894962484f878946c363c304c96be946588be12e55a5f8bba1471336acc2432a60aafe50cd65285caca89aac44421a424e359d6b061ca80517af1a5f09590f53161ea962d71576aca3cb2122f2609ac651e958c93724c294c88f9c423b559eac1c4eda528bbf64ae4fa984ab05bb7ac83ddb8a935a50b336818b3676bf967a59c92526aadf0314abfe9992570fbf39aded06fba7e4daf67233df58252506badbbd6ba6bed0a6de8afdd0edad542d8d548d87561cfd7354473175e7fdf2befcc2fb8e9bab9bf64bffabe93eb0bbcfaec359249036ec2d9af21fce7e3de4278458258d857271cbff6cc30589f70ecd0fb09c7b3bdaeebca34fbacef21c236c72936eeecfecaf9fb4db4c6901f90779fc0d79e2907e7b8a58a2184aa5bf5eb6f6615ce6b737a2394c03d8611d6f24e04c0e5232c8fe0b5478905f7299305fcfebc9647e23745962660e0cf6b792b1f438663859fd7f0d6f0dc7e13a493e85073d9cfbc968300d120940a44d144a2f985081412a2782b74dea4285a48011ed16e851286c28782805c4d00329a84124c46e5a85050a0acc41a7f5deda4febaaed133142f29941914242b193a15fbf9baa0eaf7e595224b45cc98dddc47a6eec8d1c2996502230434aa55643b1fbd93b7745bae33e1d783a2ed48a02180106d43c95e615937baca8cc26e88a97df4e4e4c9505164e36dc6ae10a65b682e1c94054020da97c9729eaed14e442362dda25db4124e4521a6477f34be8a253865d5f849070c346da759a272652857282c501a308652a4109540546f1d01a30f8866aaccf314463514311f34277e3856346e6c48a35df7fcf6ce3a4f4033ad69431af299c1619512aadbdb91ca20f183d319a4e0e26a50d60d893cb7ae8193a0a5b0af9b32aba74e5bc1d1e1025dbb91e2f5bc2f752ec49a7e8ef262a2797dc147bdfbe18a535b5a5a9a02874839319ea27e4d2ada9dbb63d1527980586142a3474581aae89d4d55f928b56c594529ac4452ceb902544c5d99c92589c8e9576dc428b8166d4e335e602f7c6659965de1e34ec2dd45fe007d9b337cec6de67965dbb6edbef7afcfb22e2e88691c0e98b4922a30200e1968209d70496b9e2138b0c8230cb7cffe218d0646d0d40926237d43694b78b5247532c924d939a19b33adbc6e890ff19c3d95a212e205944445c6eee8e58881ada7d8959f934d13745581565c34365189e2d3714a2dc1261e8e34aca52a2a7eea9558f75722a3bf120df197cd1ee1182b7bdaf58cd1c548505b2ffca0b2e0c2ae64ac73f1909ffbec29dc4a44c4a0e993d9ea2a94eede11a4186df13da9ecd86c102b4a6942243d515a785523b902a48045a84616b54c090fdad99e6e2cd4e382204987d8598db027b310cc84a0e2805be293e1b012e5fe4ae4f7d7b8c8e9e6f8ab07f9fa6b4c84c7f25511853021e35a83b185a3e92a27c868442cb4d4719e56ffb436f520a3a06994dbd7ddc62780e213311864809c458eb0937ac3c6f1b90749f93c0e82e19d4b0dce0ce7a62b2ac3819fe528e182b107e5c0e31326c2e40e41243e8177a2fa9b225157c1e6ee7f7b18e880ff1f1e70ff92a0731268a79303cf511c3832f310f42711cc3e7beedd13627f63884130670deccf39e79f981f6707722102e9ec6cb5c398216de6cc8e8a49eb49433c340347120e0b12e28dba9ed7b69109db7585e121c65b7810e37e7adef887c88304613e6c48274a53cf112e5a2b869c521b0e1d69c1c489cf16110e8474c69cf489c5c9d80f6bc75595f594192323c295e53c233651cd836142a90d058e1831e438702fab31aa5c8b33bc210e7c8605f8e8f9cfb18f1d8f7decbee6672a20be652f28b13d36146c2c6e827476f49c689a2133ebf9731341146e1ebb889f4859306f123a6cbf7dff5b876cdff7d69aef153d2a7a7ae21eb836ee897b68f4c0e81c97a88a4b1cc9147d88dcb332451fe211cebd13db789cc0980725c338dab8849db077e4312e31858f3b84126abff8735ce2eb3761cfc3e6ead4d0c91aea440d41f839d60932e102d960011d9ef66d5b99a16b0104640388ce09dc6e00c9e90be6dcb1396fc21c33614e9730c785300705bc01c42773848445afeb2e71c0fde738e707cea1210e37c0392c41618e0930d8f7027d629c1ccc1030f0e718674d19c32b1ace16cc1e6118c6a90aae308e92473fc230c8b20c870886b3154ecfbb8f308c3323c48159dfe1cff1cd344857455896c551f92c3bc24e6a618e719c42a70b0b3f72b05a742becb40a40a7b459e61c06e1d182da6f8a4439651666162d7d96d51bb1143378fd39bef1fa4d984686b2467ce322be71fac49fe31ba24d4277b976a024c47e9093a8fac12e24c1f483ab90871849f4fc0adc33e093f07748058ed4b10cd4cfb14c8e1f6ca72aaa78ace3f6b9dff154fa390ff98011f18340210f11eefd6050c8433eda8e5e3f38dcc8ce4380317e9028dc21bd988bc4e1df21397e61f1416ccd9dc1bc8351c2e44e6a2f02e2fb7c417b01bc006e82fcdd148af07509c4b3f865e96f615350ffdc9979c763ec62c7cc8ba555e65dfc62f2552022c2bccb1edeca7e68745d343961636419eb4ded248f0c65068c6896736468db3a1b6f5d5caf6a5b17afd6b1eac90288d9c99a09104b55a58d434b2244522c94662666422cab2be1d60519eb9e6e5d8bf1857f8e59d47e1383bb47e686ad5badc7cf314b0b250e26e68898e58865e6e7c5297bd9ad005b38c2206ddbb6ccad0d2c228cb00a54788461117608daaf2149be6118c4afd4fd66924b05db5008b2c1af745108ae58bdc01514c67703c85e39217441022b72fbdef9ef21232970f3e3882b6bd03548fef64667d6b0660ddd6f6fecfadbaf1ed4edd795eb94bffdda5b210fd9bffb1494c07dd323533bb284bf3dcb9b1ed4ae4177e836d0bff9e141fddb731340f81af971942f6cff810ae6c80a18f8bcd9fc003802404ad05da1ab7475aed21ed576153daa1ff5a82aeb56ad52ab7cbaf2193ee5523ee5eadb8a8b6b4771fdacf7b5f679a89d7fc3ae7e9d0360b38259f537610b47182416128b85aa46fede129ed07e1316419c1917d908c9581b8ddf84c5c06cbc445004ef9fe3a5aea5ac1679dc49ed9b300cfc4002e778e8060c83f878496929e837931fcbed47a90ef6abae9b1d1b25399c9475849209e10ff088ca54fabecc5a40b70ddc944b4f19df34e5060ac92a0a4b2ec48b594b74f3e3dfc9d70e12483a293e459b610bda5466aa553d774cd0983526ae5d6dd63f292568d0ca0f0a1835775c2f2d32596ff1918bcd39cc8e2931aa5ecd8a349a8fa4972f9a1c3e736aeddbd297648050327ee66af824490a66f9d2b3a899a842715c50beac19a28c86a472e2c649eb8a0674f3b095ebf49e3c93291c27bbbc11240e00022e291a522f696f331aa01ae158b2f989dd640ea0e481f141e1797231c75b980c4179e1a11447747d80f0a9b219d9fc798518515c4514d7756d71f473014fb014b0f88c1ac30217466c7f4b3d27613171ac8f8601c2004d84fc064ac6cf5c5753bd78cdddfc54e55dc17440281a4229461d8e1e14d6c5655da8766d06e083859384f364e4f6b202ba1c25b65a98b40d65aed4c203aa5da20d18ba26a2299ebda2cbc787943018766d7f2f32b2d09a969b099cde535f517417a49263d19bd37ad1918bee92b055cad792b055caa538c2c2f46c68e46aec801821450446c71744f7a6d34299ecccc098d0086ba1b1c08b9794a2a8d08d954b34956a5a2b194b29b27c9c994163dcc093aaf235692fa89f31426d4d31a4268a2b4a383859557736e2a450b2ce7122d1818304af868a91931803a21ba9b797ba9e2468f730d5f472c3d295554c395a3a40667beb9271a2eded40836e1488915041b9fba2e32aa21c2f200625c5d562878ddd93af472688cf9c3487a4e26aa3149e023418486838407a6551a48f0dc4f1d5c04b23bb4b7bbe491cc4501b8cf4e9b7c604e48126271aa613b13813502232a2b3e2d32301293c2452134b693604f0c289a7c384acafc69eb9aaa36aa232459d74c11558db3131632c8518d4004e04e50c89913c3525f540040915a83c29e78ba80956fcf06d3965cc912120e6c90fa68bed6f4804dc54ebf7026c0fcf84498c99bda9a2203d30678cd88f662baeebbab215a7da75fa36cda8d03df9d0e09c3022f1c3f3c2b45736e5c30ae5b0983ee14041152d9a243d3f32d0b7c306c60266ad2e8fec5131dd48410288efad08c5f0041a2fa93dedb5686d775dddd5b9eb3874d522da9262d8c87219ea684a3bde12a8ccf19094c178163d335467b75d8b257f25c2f92b7fe19c655996e5703e4733a432560cede0c0e6b82922aa5f9808b02c0e6c88a2189fadc8b2532dbb027192229a36aa2fb8d1d888a171cbb97962934694bc388be172e2b9cec8bdc9e0eb11d23b4a6442103f4c2b62a0d098a5274bd7e9babb12ddf8eb6a638035274f6e084cc791cf3aa6942404b12463751703e43576165d6750f3a6858244f353a3e844bafbd8018d1558d91fd42e2a33f5c58288456a2feb6f28829c8d153c416b535f39e9c9c5255a09f194c5b0b03ded4812a2e363d136e45702082a92e356f757e24972a4a368ea6ab940cd6c68e980bbcbcf9eef5a545d66c438d3aa340e2593e009612460442641531b50910c4626d839122d6d6a7d7b6e406e5b587f7530502a437d2ce945f0074d7656356259357aa01a85129d8e213d3ba330bf22a0615090d90e34aeeb8e840250482e66c056049511fb90d43eb090e0f49e80c6564c403906ad1ad3b4291bf15a8d528d3046076baa426e4f670a5d9f9bcfa78d92cca5fca4c8e150d1f67ade9198b2b0261f1d2237e89a03ae3d19386a55de8cae74548398e18f0e4ae5a2c56dee2d82be1a2987d525ea54bc75e5d098c823ea211105c62fe397f1cbf865fc0a327e19bf8c5fc6af13c62fe397f1cbf865fc327ee90d3b53d598bad698b6fe98b24410c584958229c61d138c911326177b4c544c504c3e4c37208043e0ba5a6fcef50d82599be07ae0dec3d63555b72ab53a756eaeaab36f1f34010306aefdee2c0741860c9daf1d9a19861d464cc0db84a1875c3441e70bdaeb0f98880011a13d84e40bda87e40b233eefd0c371e8c12327b5f7c8c9ec773bf4006f245c04017018029887907db1c3bb854277e8c1cd17f285ec836ed6c0cdfbcab62e90b87a16b92291cd1d7cfd41ac7a7506b348f3a5feee7360ee576453178b40a13b34c1f8dd1dc2ba5deab3be4711dbb9aa1b75c8f29daa70dd5d9ff59b2bd837c967fd76ea7155815c237dd6eba3ac01067ab585df35eb539035c09ef5626ceffadd82663d9c35c0d317c46791cda2ef1c58bdc727863439f5373d97eea8eaf47543a62d320bd79e9d1c99c2dbeb75450ae1973ad41e295ffafb480efc0e31d0fefebaac5b95caa76b4877f2ead10ed9c20fc2ed3b44ffd5cd1d76d06ebffb60f6e8c02af128985b77aa35cba56e55aab4e5da7bdd513baa7572deabec51ef5c4ff5aa7aba52577ee373bf6e0dc4a7bfdf607bd4ef9eed62edb083e672f57e47b6aedee7becdd9d57389da0fb72e3e837927df9ffd480e0c7b807d9147909de4233b703357571ab4bfc3dfdd11087aee4772e0a6aba5fe345fe07e640a0b39cfbfb9776ca03f8bd47ad8812e5c5ba1ab836eebbec45ef50a66bd795f8b6c2b1c41839bfde7be5d777331a98cd4b0ebda9eb04655d728ea480d0cb3559600634c4c28bc66fd4812cc7a1db0ac94c376e19114bc6bc78a34e9263bdbca20f961c00ebd1bd2143693c92f14b1e0368546dfecaec700f43b040c18fe2e2281fa830b5884a4f73bc9bd760e3d3f0687c1a16ffa1fb4410f81572d1deebe2398910ef8d03702e3518c5340bff600ec21f4148642a1d168341a8d46a3c7112efaec8730ecb5cf4578c30fee210cc31e5e2ff4c1e03018e28103168e51e8fd0fc428aabff51bf80004f11a8dfec309c2f98119f43054936eff853dfcc2be09bf3720c0dfdf8e6ff445dfcc51ae0bc32020de279318303433fcd748f4aefff0307ac0208803f60df1f8f0c117f8fa0f7cdf1718f4158c48135e0f239b1b3edcc401fb3dbc47910d7a107a1db06d2b140a5b612bf4cd0c41fffae00d803efb176982fe1b59017fd87379d4079a0d1ffada0f00e4fe7ebe5d11a4c9cf3d0854cef990c9374148db3dcac32dd6b14430e2c990a9f396f39df6b96f52907a852f41aa166807f479c34070d9bc2a4c7b852f6c900a6807f479c3d6ce5a60a110f5645d156dfbd6d6b05814a4f8fb645d156dfbd6d6b058ecba1e57e06ad6b0fd76da95a8f7b3de729cdb5cab5fbb12f5b3ded2b2bd1fa7517dcfed12c71d8ee4517dcfed126ecb475260be3df7fa9c73ceb53776ed23edb56a93f7bb5b2387473bc9b7de9b43e0f5fa0747d0e0e6f04823b3dbfcf8500573cffdf06893100cbe44ed01708414d17f0f19410a02d5c585a78a75c51e2218f10498d68f801e2e2ea7c2532f97bac53a7647157b5a5d2582fdedf39478f2b7cf2bd7e743a6bf7deeda8bd0028320cd1ab4db2ba4095e01fb804320b8fced75d537856e2ff2e34848f3b7d7c1abbfbd060287fef6fa35fbdb6bf6f71011160a512f0beb42b5d576c7a520c5a7eecbf2b7df2cf2e3c885fadbefddeefced373be36fbfd7df432cac8054d992765deaf1dcdf9e73f9265bf2b7e72df2e3685dfadbf31effed7997f9dbf3fe7bc851053e4e3787c1b71e7bdcf9dbf7edf4a0b21c06d7473d91e3a8f44a1ad241e50ce2260000b3180000c3501cc88124c9621065f50e1400093bca606c6450447c681c8cc4a150200c0c43411084200c82300c43310084f134264acd01a8d7834b119f3cbe113479a87c8701583178be61367d78049d3dcbeec8a7d74fd78bb351ca0745a5eadf04ab01b14dde4f3339ad7073dadca2b8ce8bd9e4704430fd9359708c094f8aa617ec89cedbb9049e027fc9fbd6f9df0fdb3dbd05c983e29088b75364f2d23f937e6cb9a90f877a9be9b5dd3eb3473d85ff2f3173aee8e15c8fa2d441c95729c6e63c85a1f4614ea9cf07360039d0bcea1eab798fc89121c1b083682655bedde6fc029e2848105907d29ca04621f52162d9009ec8eb878e15acfcc8a4396590fe1cc61913790f683618bb51ad1f10cde9f8f916f1580e0b2937f9e247e019c79b16f6a5396791fd5d8c2b11fcee2aceab431df0e448b126a34666440a35676ce01987fca1b23c2d822837a7edfefb239748277284671999b3f40c5a90f33467112dac36e76e4085fa2061d2ec53d52de7392e88071bbc8337fd4e162e788b5d95843aee01d75608e9138e5ab500e9eed18f1eae2080072a90f0916564914098816f8e4d5ce2cea843dfc02b1874b75e812a1bbb64f3f59551ba5847c95bf2c94d11999b15dd2e9758e730aadea38fbf31849e8704b949684048f10711aedd4a182d8ea8b97931ec2d7231f5c8f5070d020b4ba54aace3164b7bb54ecddc4abde73b9662ea518ec411818643bc783c04987166df477e539f78ed6eba2612749928fa73992e3577c874f4669109b3500478a978b00acae51ccffab3409d216060417d16ec512a16d5624786597240c090abd421f9da274243f5743ff621101ceb1690d4625d310d0796928bcae0d60e606b29309d81fa574eeb8b14e0274dcb10c9b62dac3928fa16a77acebf9b961710a577c15d320b3c2f84c47b37d74b0896ee92b484037d8f89fb859c9439e0141b815f592912b40ddb8835fd7e662598ccc0c4a5f696a720c4b8808aededfd68c01582ce63c1e77d132302d0ba6c908fe7c85900799207074a2cc4b52342d3f18f859b0e3c8a20dbd6cd5144b42532b1f62d3d38bcce312e130941c53d47e5adb236d0f0aca97efe3c3c3e214fd1515c3cd1002e4f64a5ac16b467d89037b20aa7c36016affe7da274be4f25d4bf07a8f2639d5e96727c14e598381554cc8b8bfe70494279135701de0e05299bbc22677572d06047796fc85b216fd6d374f945212aad2ec73406d2054da192e0c79e304ced21ceed736edbe8cd8d5defcb3ead4444e09c19950b93a1835e6e97e635cfaedc1ca1448f035f6dbfb506220949ef0d1944d917a756fd2fd22280c2fbaa434d6b52e4cc7989008705fe3f2647349b8500ae90a67181fb4f6885cd05663e1792621334de73cf0ffdf6d051f3a168d25760799def2cc08ab71e58e5fe4faeb0fd284000f25eb96de35590cb68e9890f7bc25e78ea7b61095276cef3860bd9b73eed0bc51bd80df46fe833c0caced7c951f0a07a4e5983ff9edd6ff80ad5abced82b5af699bacdb6c271112a21c0a32ce2a0dcff0937e47822a00e371e972a2f344213b8be7e64ae6f0ec21bb42b45be5fbcaf7fdf530e1e5111d0505c3263ede6f7e204110f2f3c1ac341e4397e8d7e0df0779f3a6c6b9739b2b581cb1044eaff8cac0678be44cddc4e14ec466ce06535e7ad3e99bd070416a54303eb77de54acf0eb0f43d8efa406ddf7862181f1126a9457cb58d5317948f988d04db1e4a9d2d32cafb29861b1cdcc7746e3c17ff53b0df9fbbb1ee2864327ca1c8a24c150eeeaea0f916f8bc97a37ccfaa5f8ffd28b4cae480c5d54b57b6a97078c13c2f9f22ed2f96c785a52445219d9daadc4f3d3be18ebafb4a43978dcfb77b7886245ed33ac7abf9c06fe199626e2a8d969c3fdc2aabe9cb64799dff5bb344432c21cee3e19d7870a706b99f2138780c19a7ac71ddd79cbeaad0df41eb7c183785d574a33f51f8bfd4c7c5dfd5ec4e400a761b8a94a2ccef71ac2ddc2d2d787d90ff5b226b2ec676d8a931120fa065c366e399143af62ab2b6147a5bc6b09edd38999da7e4986060ae094eee30e10dcd778299f1b6a3b68a5ef9046e89c8498e4dfc202c5dd95ec450948babf6bfc057a04c3f751cc81be79e230ee09f1435601905565832b93aee2b754a75ba9159332aa4d5e8c5ece8f54a4ebf54666751c7a50e2969148448a2f99c07447a9f5d75cb432ebcb230f1ab926feeca59562ddb2f771ae640b722b8a2e893e752485dcf429405b0604f869cf03072903cb494e7225b7541ec1882e31d18231caf8192175124a6d22832ce4103d746822d7fba705034bcb47dce7cc3c4ea1c5973d7157c4435908b495bb387ee1eee2da44e2e1c19ddbb3cc88ceac0a52297bbff82bd37c3f3bb51dbf3f64b01631fbe1cb2e91d6cc4d731dea7e7ea6aedec2c6b6e6297fce48d0b5a2f2476933d6a0cb3a9026ec03f892c031150a1869024b082799d14ca066d00452d6def0314e66dde625308038fe0813b6d2cf8b9d4feb0330282af4ec38eac5150595a6e383accfd65ef6ec4d45aaa77313517b37081fbd85fae47d0dd6db0605a22e1feac36e0daed4cc4f6bf576b38a6a5d0eff39b474c08aba10549a9d5d6d3b26f7be8ea687b37555ac93244c283e287a3a46a91587d6740af9ac9cdde53c1b7f892f3bd05ea283d5c81a340f619a72d19513043cfa1e8144c59e6ce1500ed974ba35ad94658e538269c58631cdce2b1d68b5daaec83c7b0a2a4416c3cf27fe8f971f3dcdaf9ed803651770858a3f4f7666f5d9605e358f7e844b5076ebed4ae7ac75246e07bd878ef9da1060e8e168a54684c020d37f52982854932c68f44992704ce6ed6abd98e2f1590c28a0388ea68076ef996f439427da7fea89a8634787470fb7b4c981497abeb4216db0356eb07bc96ebcd8bd9f73279b782a522731402a679f1b214f2ae26e4f7c0d0ebdbb4d1d1eb836ea48d2d39e82b922f7631a12637a0f4c0b401965ab751febf16f25f6bdb464afc738b2858961f73cd7de4b6ae07a802fde42c219a60a47c736feba53a0aa256d7c28a02a2d8bc55b28f143f9e5c57f01155bddc6cd63697305731dc4f13438ba66181b9d7a4b89008c0bb3d3359ed7a6a4f6339304b39343af4dbbe9d98f5e9160efa9c2ef528e3ad572d127e10c9f2bdc99abacd884733ed1406338b869c75cb2b46e91a03eb831da03495435b861cb5f7a869eda552e32eb545b9e1364170a8ade8992294ccb9228134507c8732a735cf01f40a87693aa4bdedfd7a57e7ee0a8fbb22ffb447984b71f36ec94c7e996613bb3295751e0f12a835dccb12883ed39a37d4b5ad0de60bc9ecc1da09078de92bdd948c77149b794679cb432f6969c2e35bd54f43a170d52338369516ba183db1deafc32164ba8f12aa8839432faeaed4dfe9022921199780b9166e6f734030c3a73322805de49c146c3fda69180dae8f709b8e917d640e8922baa0878308ac826dbab1db5be1a446b471e9409fabe11b2375cf0bd35137c4b01262fc555a025d166385fe13e1a1e115450af2283d473ea4e992641205a34a6daa28db2e096a53e652db41bda8fc15f869be02f35ef87a397650419a12089cd238f291eac5f6761a201e40c5d61aebac088a202218357be60cd84c51c0f4073e9c4ad056908b893b9d771debda875ff117b02f06c9fbcdc1925d0b75979275b2424533e1b48f1dbb275a83bf10667f7b3ca558b5301858c15f0fb3a9d9aef0d6909a99c0d623792ab77bebc4a4a212deef9b354832ec85c6ada095da02dcc0258cb98c320bdfa4fcbde795e4efeb92305e944909e520106ded21c5ef660de182ad0ea370ea984d7e8829532dd35489bd7750fc968864beb7e285eb63b6ed341972909e2d5211e768a936634082a1d38d451659206da834224dee11726ef45127f706705afb585ab5d6d898ad888c02d6346789f6f598c607bf634939b3b22f5a8e85068aff94dcefa1db285c7b287e6b087d54ccadda0472237384570fbcd920e8c484427780d3521ccd8f74c9cde6fb2330558a912141603aa54a440d18100a559b0c26720c341820ddd908fb3f09bf013f1076dfdb69aa74de71fed4492a8d73d1da5b824d2a85f206c626a2d51262fa01440204788a86b8d55a15195a8230c89dc04d3839505e1744fc1547c01718e8fd080e51ea7b35e9a84592f6b4997674d2ce5c140f13e5c90b7f3bff6ff18b9deefc8d12cc45bc1f97c7ccbfbc0d4ec4a0e087333f86ce2a7639e90d07b43399bd10fb7e2749578b2b273f5ef230456b3363f94bd79e6f5cdca221d9ffb0a4a502e416c321957ca29a2a4cdefe787a585d0e47fc218e0a4e0fd35bfbd3ece2b3bea862e8c5f5d90aa1066ab219127776841bd42503b7994682c3fb2c82f278b181cf87acdc6aa7e7acfc54170884797d1c3571361822e1e25121d8bb5b26513ad7f99441c8893b03f29e038338ef03ad80a1a943526159317b39fab633a1d059f2a218c9cb7ee88d7258702f506704c94e78f0778fce3118e4d709c2e60f62602958fee2b17ac2093c12de268a87b6d4b40bffd61d0d3f2c71192b1cff63a3e95c827f4267e0ec8cfb0c05bda8ba6901d4377a4d6664f637d15f598c38718d1b0a72ad7bab9af5a2ee86cca054f93461accf722a2c69d6bd5868fd229c169cbd95ecf328331c69d9f747642e065f611652f93e015512e8624bcff0df1175c72ac3d13ba420cdb2a63aaea8458726099d3ac5f87c6253f74e6c3ec8b8009531ade29510542e2e670bd19ee66b189b1ec48e39b94ca520b456255703e73ca2e94f94f86349a16942a3b6346f1c9297800e6409bcfaf9dd613125b4b70f779f118b3fe59985b302624b87d50cfd4b6223ea12cd09f4a1a4367fe9fff1534b01b6191018ca6371effaddaa14f2ba6daf3af56234bb42e55d84e81d40c446c1852b20263040ee68cc3634371ad24b9475e812f01edeeeb63f43008749ad91e58cd3fe401d0c9df82611821189cf1b303246a134ade504d7c926b4e90d274f700867f1b7849826fb01f1215f9050fcc07818db670829a849267242e3877c71c9298927d162141543ed62162f184abfe90d3f25946b8c79743b7e387c8c3905ec2ac28a3e487a16b12bdd018584005852eb82ca3323e0684aa9ac83432937844380fa171c6c48e2238731c8779e1535175377243e2d0a3559ea8d15334689d80d4c685cb56fe798a095e40641f71520f308b047ef9df473224a78c086d3cbfa745be64b02b9a2e2f1fce656b84353ca963b3e873ce554ec95cbdb334307e6e0479574329deae7eaf3ff37296a7c6bb5f2ff0bfda211b9bfd3aaf95100e77aec0a17326969544b0398aae5e1f6ef85ad14a41aeda1d95d10db597aa4da91a3a34f634d5fe1fc671525d4e2ba50eb982ed53ec52ade3e90cb6f34f5a8cf69ab22c092263c714170138164aa6e8d2e52ba85d6b39fff689b1cd2f0164a27d805c6b8189b3cff660304e34d3e36b8d11842aa574e1eb8cf9c36b735856fbcc79a6afa7f9acadfa59845669313c5a444d8661645271dd10f1a6d5976ecfaab9283bf20f953a46af1fb1cb6d1f8d62b085a01d6938b9932b27de017ad833145bcf248e00caaf433cb1fe7da0d122b34c9836c90fe1db3a1925295cac27a487ab4bce44fa8c9f7159666cf063049cc3db9c55f443249f2d3102d3d20526c742a5e560459097de891d383f93a415b80b6b2ed13710314e84bb6d3426ff406032b9556fe18cd6daf303fec55672846368d5259fc02d8d558a55269218ec4570223e7c416d612cb1275f2f4e22eb6eea9fac5415065afda2570088cfd5218f0d727377117b7395db98ec6cc19cbcbe3cca9722e8650b428624d323d0ae58b47119ed6813b99f4869fe2b7fe75e2e140ae3ea1f038ccbb355e34ca96743149b390d060b78ae12a2adfe88783e680ccb9df9ce41bcec485245f783826e2240915d7f7c1c1e89bfb55e2c4901b3397c9c50c03bb76d41db57bbfaab7b28c6f7405ed6ef0f8d491a722272af511d29e0b725cf8a9ab7bb6214fb19f8947949d911c8f35d4bed8deee4115289ea465cc549907ad6881d5dfb22424dac9650aae17996d270ea555b295116b99210ce33946f3b253e38495520a636c5f955ca810f34a427be133d252a8d226a68638f41c526ff8647990db8c88c63701f8a6e5367102ed5e8be595acc5aa457ea6067a154dccaa49e4266093baba4b04b8a20c204d780811a9a79b135f7473602ae96164a4dea0ed9230da05cf0e9e6b26303b964e085402d5214075a2c610dd8248a35513e786f11034039d58398717f0dceb18c9e4b9593b02d3eb24b898a01d33e982020a9547c31d9408ff66460aee27721d3014806bbcc2db58c0345a2206491f04fc3483e8be92fb2959786a1e295a085e5bb55dafab95719286fbd204d2731ab80c5f03231ae8097a4fd39c41c27e24f8517334a93afa216f15989d4730945bb25afb8fbbdb52ad6c9abaabe38b1ba6ebcbe9bd5c32397095cfd65d5a58a3730b8115c8a9493b61acf041e49acb3ecd19ba0513af11ecfbd5440f7de92b4d777649334b2fd7af1e99bb3b436be5e62e71f90bd54ffa41a12a2321f1cdbfeed5c100c671b2fe3205f2d4e29f890cf461cc2b5e5e56c854f282496ea994d512fd5541a6a700bc1640b0d4eaed5538a9d3040f3fe50330deba555aa9239c818aa485168ed2546ec8541cf650d6bfbe6df05174792ba0f6dffd7a436efaab0afbd796969345e596f08b96935c1afc29e9d86e4055fa8bae05d3c0731a9574d19e0739b3eeaf49d445383b4e0b5725c1062ec4903407e39ea3a53a89f124564697edc03e9b5963a22bb8f873689a68fd14529bd486314289121a0b3072a09b22a5d9dab336856ed9fbc7801599405881c9c22672772fb26ca20b7827cd2933fb8306a2b5c216271a37d4c991e14a1d20418a0170f9afc40d457bfbc81f692a5f608ea7b280a5449cdf899dd7e02880092e2573a0d2ac0d2b5740125e976f0ec6f6c7a490ae9946d59b5d6e24150b95bf848a649dc182ee45405f7e5d251f139b92583b5716930dcc8f11a635d463f209144ce67bb893c1e4824cda361a3cf89c33558e4817aa30dd1f12ed82e5ef04e647f219844958645d6434c387d9addbd3294cb53300824b4d3645ea7e46f4add32808089084a27a2dc5f381ad89c02e0cc84d3a92f00a9ca57138b4e570e588bdf3c7511ac3d14018d54834dbd8584a7e069e63800b0bdb855246085a89eb40269b5163f0108596034ad510bfc5ea504c0efa99146cd12676c7c6b2386b19deb6264440235333c11fcf268fdd30aa19cbce3ffeb3444e9b113e83b3508b4a5df8ae8981d8e30313615273f930d3882f2964448dd5138d907739822abfafc60a7318faf60bf8bd543065f20752a60846f979fe699dc907d409b4c255a76e7377cd03e6ac3f402334bc7ee8cd45663427498858351c73024148e0b98695b7a45b60b3448520e80fd39be55bbc21cefc694b655bcbf569c0eda9768a8a212d1414258eb4901a60b67907084d62a2f15b87f35979aa05efd78cfdd96e36956811a06bc11419e6c35782d80b7b3e078fd45357d16a3d0df6206184a0d40e1c75e19eaf15dacdbe16664532a7df91e3a1c6ed0351ad047a02f5e190adfada1fefa81bf10ef4a0b52d28250222ded4388dcb6aca59b4cc9d033f90b8dabc109233bc51dab275c707190c360125ea6c1db889224f91d0e60455f7261a93a8ed88baa27bc4df5656dcb0ecb9c9b7bdb9c46ff237a6b67b06950f0a973b34de10d053f0b4bb4badb5c9bf6ce4c94c2cd2cbd5a493ac1bc00881d42b1c26f1fe23ee987fa5abd75bcc63c57ebbdb5f6cf178636dec77d36f513308ca2e3461ed1f7806a7c92985d3e8c7b35552a5e38b7d9e19d2d0462f49cc9cdebfa3d06c3e2bc203820c67f752b8de0aeca483fadfd8cad69d937508ea6295d83675d68192e4f076795cd90c7751c36d2b7a94dbc271b324851c1afbd2f54b19820aa3622d276ab9f5e931e8fc3843c33ba8b8452461ab6c4ba410398d693b29e03ccbd8095e7d5a18e4757b66832a03ceaaeacec349d5b9e23f421c1f27cdb5fc87c4740e5e4d381e6e2f7b9f822854a81544ed1d121541a1863b4ec1e5782b1c5da93318573784bfbb5e9b2a14a6f0c33560ca3acef3f6a5bd8b3547f3a619fea08def12e63cbeb690b60e9d7d432ea1022723152b392e340ebd2ee25bf4fb5f2e51a15ba8959c0b633c93b30816e864ceddaaa0a975f40c5134f82775e7370ae747d2082fb1175fc5a95cf5fb52b024dc91dc494aea3611f61f940819b8546999595a699a7c9acf8c2c159b149d43154312ce2edcf7f06e1c83ea27e52d4899992f72b7ec2ac75dc4415bc806d0228a73562c44f23902038f75dd8d066ebb97f97704bd6f9549410625624e4f6fabbb0be32bdf01d58505747355eca40a6a5b838556a5c4f76dc7c08971d0bf7c6cbb61d5d4cad10500bcd2526849a025aa072ae82c05048da0a52b84cfb028a1688b18d16296966d6d0ab34fb4759481219f5f679acf9d2adcd7408e3b10855876d6712c7c9b68781728e812ab810edd0f8d1dc6f73c27d909b6fde7a5ffc9cbe1c9b688053b6897e121bb35a5ebf98510baa2910103fa528b90fa5133e299ec73ebf18bea117961ca11a88fc62ac01d75dc4420b9a8caccdecfe4a6568dd4386964801a03e5eb2c72d06789effef5091eb656e2247d2363ffcf006a3e30eef86166b30ca2d4991ba141727decb2c8f2a7b6110f8050f2d97a08121670d9bb3402ab7c833f6d0a28fedf59325fa9cb4d4b834a7cf8816f9fb6c7eec5c74ad90b54cf13692ae474b25f821c3cbf8261c53f46a3236d3c4a6803e1c8dbee9bd88e5064f09d0b65cc11821880fd700abb5273fb1882a9a212c6c1aa3547744fb068dd6099b6c3e9b378e2c738734747ddd0769f255cb9e50fbf2dc60f654d0ee7bb6f0f263558ad8d4e48fb213a84ef3cc2951a42e2e98d7f648bde17aa671bc9f1b4ea666bf33256ba064dd08a5609fbd5fa1f79ad4c774640758221f53353061eae90c28b0651c4a9b39dca4f8bbe8341df6f6eeaeb6f4b9dd9ab080109c5386cbac066719478abce8d7b6a3fdfa98053fd57d6d35b5cdd512d94a7927bdb689de2175643b6d3a01145808cd182e35776355acab11c3bb6adc644189741ec09b0831b484c004989a9ae9a2820d4ed108ecd11a1e40d3a39a5294382694e65a00d8d4aa29987415b9e28269e4f6f76e85f4f7fd52011e0dd8fb5583b4d203d8edf5f12414f51f7e62261ef81880f70c7bd3e2e318b331fc151ff5f7980ac80f4ba4ce1b5321edc3421ee063aa7ad55757381eaef3e6e82bfa1e930066d8e72b41911128c5105a5f36e21c6c14da05fb1b125429641a709bd0a335e8175fa85e5128aa2823b055d1dbaaa0689b48add9416ca86ddc4553a5d64901029565f86f79beb90bf4bda278956c59255e6cba17796c9eb08ff83657c5fe7dc15ec1a6d015c29c6c0db10ff2a80f67e607e099987d040acb958b030d13b8cc612f5e4dc92cea226e5fe46b7664ca9b4858ec27aa0ee0a236347bb72b98d7aff983d8de08850afab686df07f085cd16b5f79e8ba1bafe518c73d18a83b6833843930ae8b4e99cfae828d8ba6224331b366cd19be2bf5b35a662854bfceaad54f74a3d24cd4290a353073a54e413ae1237ee850b8093461f0bab29fb0f6e6b5297e5f649072801323508d35feac0c2f16101ad3d452e0893b9c64978d585e8c7d9398b42e1455bd7ac367aae47719617f54a70711f2fb5d8794b2621d2126b1c2589d1238601789029c85875de7a4af7200cf73d5fd51d2ef796be74827ada708f680b49badc0496fbf071b193089bdb30ce90b852237adc0b2865ecd2d9544502a5e3da87130d062879c31279a9f06320f830c1c55d6f2f50d8a710c0518a40e47ed606e041df9715f9e8fe2cd234aec67b48dea7196551da6abccedfa42e247bee62658691f38ba8a057200b1c499a9495c3cb80a8004d7edaca4a5d54db44a9f6cfac96907c0d4b73cd2325e91f1719bbb5d1589ce424d10e52ba0f87a84078a6030ab0d945803dfe687fbf131271bd9bd2859ca41cd1f28b375cdc0c8cab958e9bb231947bbad8b4d7c7da90c9fb5f4526f757e4a06e70bd9614c554313ff96414c6318b43b8fe38f8201ab5beb1f51897de3b4a7e8a210964b4c86f4f54090b40f10c6c5136fad57f89ad81b130732e565bd032fbce7176d12ec624f42426e5d8e54099693872f65c2a52845aa01fc236156fe313e906f6686df892e93e29b96bc58df58ebc56440a671b52050f583b5db482c00a5bf056218610441fd2690d0a0f0aa1e6d09bd0870a05a1ac82a37cd82bfb8ce32dc3c3b2172c4e7b31610cb0c5197b802cd186b48cdd72b76f65c538b5ba87f897ba54870c8ee74616a3e429d4e0bb53e707607342097e4fdfcb865ec2efc12a0b4cc44d7621b6252a444b5555e68582fd9a8ccfcde1214a1a63a96da385897255bc9d6994b63ae224071a20212fa426b351e60e16f303586e5b0f26941e007e5893cfa5de66f4e9512a7ac014e5df45c84fc79e739808d6c24d17ec69e90cda0e56602a1245fc0f27c943d2bd21042e0024a3a84216b2dc1f5dc042dc3ef66f0cad4beb6ecb0353d8a5cc007c24bb437eb862dcf01c6f4c56e4855de27d84f9a3614a5b741ecc5cf3cc8300b09c68b09702cac790a0a6bb5f235944b04b22b9344858a771286f6d736a8f388438ebd1ad18e3707407618b19300a605101a77853fd0f1541394817470f6dbaa82b2b80775649c2ade7f8af65a25c0238ac327a92d4449fe8beba8a8d12d6bf88553f47f0fec5ea7f2ecc079f599919b7503d1a4cf6c463a5d0e9fb849238ab1cfc731b4c12a81d96804319d28662c75cc05cde0950fccc327ab89f39f03f6f50e097449846011372541571dea5183acd270cbde13fc09f9cd84e2e04783e7275e2d57763e352250130fa974fbf19e9ddd5e0808ab857d5003b15be12680a110e16980f08fd51c669fe9aa40c153f80af51bebc42ce0da480fb00ca9331edffe7f12dccf86d25e37a089f024fc87bb0914c209d6ed8656869924bf0956a94ee4896c5f669c8318b02c8d193712b2c055989171caf7607834848f36dda25573bc8ec5279d0564745110aeaa3b2cf0b91e2f9e47e34d6297000d69872367dc3d98177170f3ed247f8e7960592183b93556e962e64aedfb5b5365f8f9f97fabf8a9237b271bdbddc86fe47fea7167319aea77cb976a03cdec93b7080b1b1d909423d99b9d8330bd72c0e1d93cc0b63d912ed244dad967af7937287573d7f8affdd46dc7f2276398e1937e6283731bdd803f0004373bb36227bbc3dab137acd9fc5d4a99112641aafb340f69c0f0ef1021e60686ed74678ec07c55d38c42166551e31121b1bb5717dfe586ac8d88e91b2e89e94bac0cbbcfe8e2ee0d9ebe5a5bf1ff5299beef8bb59c1077ffff672008f7cee4592d5a3da0e278dd781839abc7a585a6ad37abcec0cdecef7b8b426ea599436da79b9bd54a899df176ae60c8b3ba0f6910b034bbf9ff6d1bac08c1b7f3d5a1afd9b50cb3aba646ec688dc93cdedf59b88ee27ddffdfd81493d1315ec093ef4d51331477e4dceedec49364617f533455cbbba0e6fc5e9e301b0e9318c9ac4e3d1979e8c8777b5adaffbf6dbc8027dfeb79fcc9a136d5dd35979cabb225068636c5f038a98b568a1d0ee770eda2cc8c23ce6a89eb93d702d205a6101e3779917bb9b604ed68f492c780cc46e4305007fb00719d3c70138c2984aab1e7c13c135bf35ae13714695e5594d6254d4295e9289005a737c9d4264cf7b11857b080e80cc343d70e6676dc31ba2a246d0404deab43d52475c69ad839ea444d14cefa5896dfd004b46b6dee603933db027aec35f7d16dd190874ee27d80de97457ef8c1d8b634c185e57a563d6cea3987cc53fe269967c04c524d1c1ada37c922028d21acaa028a0e84cad874a525f06ac983bd56fa371e9c6527c4cea7b3d87040726ea766283b2236e47fc75784125b1588d4b8233efb21d6333264bf2fa45d99ead9a81a5a8c2b98eaaf0235241298f3a2af785d61e570882f5879646abdec1a5d466551647dd2bfd995686299d7ffefa224af7ab5ebcdd8b54ab9cfc4ab92bb61ea6c8417238756fc48ef73dcaeb0fef8a567f27824ba689934ba216957e421309fa452e4b8744a76d076a15f5798c720575ddc36d3cdac57d147a508f1a0ec5288a2ab26b716a19b708522de04a51ec411878e677f607e97b13e4d65faaf783a8c73118330a5b5d56a7e07bd807a881888a2f402c8720c143ab4f57977bc688e2c684d51cd3fe441261d3eaa5cf6f950c82159507bc80aa90ccdad049d33089497f47506074004f784ba54826435a48c3cf53032c7dcffc869958c5317e034fb71bcead85260bab5e2838aedac9d970b84265cb294ab3bb8909ab4621a0e0b043c1d98ff47fab9aecb9ad3b526c33c72195d8ae56290dc79239ac75816b8398ae5026932834d09391fa04ff3cb088467fe43058ffc0eafc6fb8b114d99c54bf5ba1881928aa2b2916104ac7b062f8d2e09e5a4c61f90b25d6ad4b13137f54a12910c8275fb9f006edb5418b9563b47659c7e8bac16dfb75dd92d5a4706668cf9b062526d0a811ea1fe20eaa7eb3510328bf6cb6198f340838b2b91d693c505b27288e06a592c1c98ec7299d4114050f2ca958f72e8762d0c15411f613f42ee233ce85d844bfa80e81e5c45e7f221457f4ce74eb86d43c3550886a4c53565a62192ab55450eb80e5ef741494e579aad270297a38ce38183cb85344b0884961fecb257d330d279d70fd4a5ec659928480965c451853275f2426f3b29d5f5db7222a4e5c5351116f5ea9a1b648471843e0e21c5448e49aff83c610be54606e74ad4062fc0825a1d914d82a8732fb3e69d153dc070b129c50eba10ba3ae0e6a0bb0397036e085c08ce8df0c0ed3a17710405b422dde22a0b3ad869ccc5edf6b070e1ca2ae2fc78b8b1f011d9b2740eb810b839e0fe40ba1092ecb84e4a0a0e1cac5d8fc6e1e0ed83b717515974808e8086808680ce41ba83f40381f65352ea8b40d051f710b860e960755f263d49d290e166797a195c2d330584076e979d2d7005ae7498060e97a2240501863d17a178fac081ce653fa5a1e3525a29087b07d89337374627a0468ab87e6a39af6951ac74567ca23da8849722b973e1adcb8347c772784701166400037a5d727b5b304e424e1be9bafaffbbfbaca28af87df201df0d6ebf478df6ab48c225f43ea2941302cac82d89c3345d84be60dbe13d0007dd224065c4732cf61508c8785cf72fb751026ffe7876b1631002cef7fec30c4dac2522b4b2bb3757ee6007c707780768f4a72931daf23525ae216df99a4caac9f4730a0b5911abd031f7ef3ac9c5ea08f7edb51a762e46639c5c6c56eb3eaef7e33bf1adf7e33bd6ef53e662d23f06b77bafcb09a5d1a9982717cb9be65d427caaf356fc34e781ece95b7a906a51b7ace10d6f59c33536354d23973939c92379a4a414e32b01721ecda30d5f4a29a5545272f7e9443bc29f734e2a9124d2864f29ad117ead2e0485b69e1014fa83b27d53f169c7e09e1decf85f075bd3300a733f3f76eb7fdbeee97ddfa61f64636e7a148922419efa33c8bede06a61744635bef0579e2572f88c6a6de0bf26c46565ae0850b310c41c518286095882c848ca08a991ac2c8a1c60d675244b073369c4939c114242a790e40165922459508fd2116f15974894c2a8b9cc80fb7c80fb50806d22821268b288aa859d2020c2d635c50c3640c31457106244f5a1891d2c4ca1430a8664d1554d408d9c1080cec870d8b40b9dd981fdd7bd70df92c1caf1c3f2cf94345fa9b3113aa0e0979fb0b0da1bf9fffe1f8b47fa0e574ef2381ca7c3a7d22e64c7c69cbd66dda88f3fda58f4bda803e1c40977487d2dddda307eb6f57b7228439d00742978418c38b31c61685f1015c2a78035d1d08dd73e072e812e53efda70cfa7b6d8ac405d1d82fc8d381ed0ff7e781ed5e542c3444a7369c45c1627ffa89466d388be284ae220a99d586b3285786fc10228a2c89284fa230e1426f1bcea2e890148588500a5166881283475961460144d3124454b1b4a58b530a490dda07444f278061873250f850379c4521926dd55a6b2d4b6fad7f6d2c1d2f228562264359baa9190bf7de6b8bd0d98c147d9722d6baf579c319142dfb7379410228b22950a064196208284c4ea09540c9013f11c388a3af437b288489ed32edb40df19edebdf3e63dbbd9b182f0a69e6ea2e7a735e4d9e4a5304a7a02de5beb6ec81df9f2dda74bba248e1a5bfa4f8d6dbb4785862f44456eeeeeeefecec4fc1e4a3d8b6fc5f72b90f39866327c381486fe7aa6ecd933ee99eb0fb9a0e3dbb88784e8ef59432d680b9fba500e3abeac7b3e7ddd9073aad6cc05590879ea3b17b3deb572e77bf7a7ad752e6665adfbd3d529a55c8cce392b179bd4dd7231af525e2e26b7fd212574dc71632ea66d960bca18753d285d9a17bb9e1aff803690baa5744922c9c5f6f3f37ab95cff21781512c2c984baafd8df8c4d2124fdcd7d84ca6f69ad5bad7f97ebf5fad99fde2fe9a279288c3854447fb109a570c32768f67cbd2357e312d98784bcb6a7208f90110d67548ef6a7939a0ea4fa2bbf5e39a007ee737db0cffdfcf03384e5fc394289ea3ebc638414bae25badab727a50a889ce215df107f2482e1e638c310eb9a0a168ff571e12a27fa805ed170be5a0e5f7303fa772e6e7d00fb2e38eaf2f0870c38fc10d3d06acd1934e97a9987345794e8f9ccac91121bff6d9d33cec694ffb4e10f582a617ab9bbb5cec466bf7a76356d6ea5cac3aa574cefde94fc72675af5cccab94fbd331b9ebd0171db7adf481249cdeeb15a3decfcf069275876006a9b2528143443f4d8c60498725219c5071924413a2295210354141061cbc642baaad33282d6cbae10cca1a2da7b4950c8da5690fa10feabfb835aa7a96f4f9912ee8b303762f7728ccc6e67fa4cfb603faa48698d09f6b53cde5f853284e7b9b6eeb529b9635d9265d3afedb45fbdadfee83b2d7c63952fffdacb47461eebf087db6ffe8ea3f6df35afab4e40afae4d87410b65a7d0bfa64296194524a8bca0f2455ddd458a889c69ffa819087eb3676ad3a9b2ec36d63bcf153ad7e7ccf823a6dfad2a7fbfbbfa44feafd73fc400f50340ae8a2ff6d3eb4c93f421fd6fb53e8b37a777fda247d681a49a3803ed40a986f3a08c3c1792bb8a74fd3481f085d1b8c12f57d60abe6563dabeba08bfeaacb00bae8db744090877e8e1b4e77d341dfc92aef75b74917de29ef0ac980eaa812e4a1b143803cf4356bcab6956ddf9bf7ed6cfa99ea4dafa54e5aba1539c3287dd2fa250f2de97ba1b5b15649a9cf39dda9dc9b0bf2a1251df7a72d1774310a3e8c3f3fd2a706843bb6d833df46ca1eb8335fe7e195f282d7ddcd7f67e3bbeec6d7e872deeb32f82d82e09a4270673ecefbc3ef83cdfacfb5594f009b67fdcb7578cffa1fe8017ed6bfeb801ee8677d84acd7aea37bd6b3707e0a9540c3d913a38de36d4242e8d6cf9e9feff29826e72136fe7fc88def9e016bb4dedca77c441de0ce7c08c09df979ea005df321005df333ada8194fe3673c849b8697e5a6bbba8584d05d97c3fa0c3e08ecbb1c969723c27ff723fc77cffacefb0013963742f719781fb8f1dd7fc0c6ff078169d791c1cf6f7d726b0fe18e0f62cf7ced371bb9bf4d28088d23e323172b213eed0bbe84f814ab3733bc12e2930f19bc8cce07ef7158dd8d27aec346f7f339e03afe7fc3f9cf6eee21c400a5e37d76a73ea7fb40ba58ff41dc4100d8c3fab963b35ec5faf819742fdf61fd05dd0fe4613dd0837083f536581f82cbf0be28f4dd9b0e421e96471fc857dde7dbc6fb08b0a5fe54d3f75b87288b4d787b1deeba4e77323ae9c8cc048815d38a69c5b4625a31ad98564c2b26262ba615d38a69c5b4625a31ad9896ac98564c2ba615d38a69c584020fd295b6a6a4314de84167b42b9cb746775ba5a33e106cb9bf086877063712a241a552a9542c95aadb366fb32aabb22aabb22aabb22abbbdcd6faf02dab1f8b4578ee3d9fcea57dd07b4575bddf67356affacde6552b96100d5588062075c3b1d980d4ee3ff04234006d9b1a4f03839cd6439721cbb80eefeb4b25d7f1ffb36d5ebfb6cdcb98d1ca99a1b78df7dd6df3346878dfdd2a0c74722e98816a71afd7cf563d8ef7fdd4efa0d71b96e46237378f13a4025265405d47f4ef4617489492212350366464263bda35721556b14a4a5bb4e4f8f9c04c17342e1cb3ccfe5c9205387f824841eba1ce89d4c5455a6391d2dcd945cbfe5e6b629d6e2beb47101a0585053a0381465b1f7e30d1a5c8feb657932e33ccbac030bd6d4b7dd1658527b23b21a42e8025a6212c30410f422c39e0082eba20790249154aa6164d6cb84d70c0737a1318b6bb7b9d7161da77c319172f54e412e28e3249422e46c818b91c41d95f6b738148928b10779f71216ada5fb7e1d70d675bc2986d71f2a129b44ea953894fd3212ad552b114896a6b4de2b2cd89bdd66e21da82e4bb5b8c7ef0bd68f677e14c4b0b665abc6ca8e50bd772c5d6819a46b59927c4538b0cc66de325b674b44c995a98a46e7034ace588d342c4aec9fef786882a925650f00bc6cc59d0d9d6995541e343522e9682edac0a990d1d0f1da1bf169c98428ec7d0111a7cbfb32a4a1b7a78abe265ebe06beb1aec1d075bebee2675683a72477ef610f203492f001be6e943fa90bf6a8f3b1c528710edb9ceb535d800d879667063e77ab3b54e850c58d4ce77e3baed678777c618631931c618ba50dab796ef44e9f3ead95ab7c99de882b1bb375c125cb7f26cef7636e562ae3d9fe3d1aaf565401ef92e19b5caa85c45e5f4a89bbe14dae066c97963b574fec6eda474b7a90ef655e3d1239a0c85e86f462974a4fde37f1aba86fa4ed810f220ed8f849cf87a7f9a879315f9c96b844249b4f4e9c3b9d89d34686b51142b48055dfe1d7445cbc534e4f1b7de439ec883fa7750b7c90db11be5f157419ec8ca58cb19638d13e107040dcfc8fab78df3a11f6bf835e8b5200f1745901c0f06ace1381fd777fc5b1edda1a4a8fb40928b7979db2287b9209674450d7fec84ad7939f6b1a7214f8c9cf57af8fce83f3dc72a6478e393474342f4a723111aceaa4cd9702653d3c186b32a451a9005d9dd170469cbd5b6afe1ffe016fb8a10121ddf7671cb95eb45d994ae28db5ee412509fbe06a2121b687ff25b9a3ef420a7479c1001de965cd06a5b2953823cee53baf6978380faf6f777bd1c04d0b76f3d0b541ff2c32d77e45f79644486314ae93e27a5b5c2b75ccc931e849f635b916384f35660286928c9c94c86b475a42b4a2e8e30da384438736a1b559a93cab6ffe6a44ab11bb5d65a6badbda9b4e3f4ae6a5b8b43b4bf2c03c642459850a90e79bbd8dd98cab6ff65193c9511e48942d33254c97568dd6afdbb5c972a79f3e303b955196dffdae90d478905bc5b513e6a632b1f483200ca60d2d3bec3ed2ca594114a17ea4a17a43bce7e7e8470080283932a8ad41066090b49563d1c21594288173198a47870c0ec025f3b91064b1216207143144758d1138690242e7458011117523bc0d7f3896c00acc29dccdcc96cd2e4402d31d989afe0062a66780105521831b2b3c3183c8091c3902396706a124413229ed22ef69cd3675cbee082c50d220430349149210952932317a46841440b1439a48028a543d4b2824a034b69172b00e8b45a4059aeb01900810045db6c38cb62667fad96eb00fa2c5a5636b2404179599a685d161eb6cf42025c238b9146238b0b15032c62a074b06c9173b030c1ba004b97d50c2c476c2d24948c034019504b6239d2383af447122c47bc0f6ec162b4b1b0a4b0e242db48815295d9f4172d8505a39ae070574870b35d29b2c960a43429c8705b5254f00f3748b61912436660d16ae2ac94d9b35a59b2656c38b352656665ca8d1e821c210230b2c88a386a4209ccb5023154b08605245b7c018b315a208e887146cdc5868ab45011d732157f9a71c28816a63002053c658b3053664953cefcf062ca9829615c9b82650a589598b4a8e14188152cd0903a02824caa00558cc000449326881023ded7c6d29912a5c8192560a61cd90d67538c487992f2c56b63e94c71c1052a529ea47c81a55cf18594999426a49491b2242549ca15108074eba51ca121e7f490ef1f930f65942ea597d3c35d6e29e3762e686ef9b94297b152541019a50c79c218f37ba7e7f2e7c7a4e7f281a4842136a5943304313be9fb88dd9cfed93dc28b921f8b5628f5a0fa9650724134b6958fa4915cc7dc9e6c29258cd3bddb694e3424e972c24343d2e891f4f9b4265b1ad5408b489f235a93e92ce49c1ef1e9c7a25f9143ab74afc62d31969fa9a494521ae145d19c1ef2e9c7a477214f0ff9d26341136ac4e0a62a1924278c547b8c4eb958b55f7f04fbd5d6cac528b41ee3c5f4bafdfa3e6cf57e7c0767a7d863d4dc13a2224f8d8bc59c1ef1e1c722cc5c09f1e972417897109fe0e53414bd45724ec9fa2e9fd0d6fb688f8d5fd22db4a3d98495a6112672d945924eb6491ec98755b6e5c3fbdfab69cb8f31c61825c6464a524afc57e6444d1e73924873527b44695532fa6c37dc094da1bf4ab4e56304d88d737adc6dff6e8bbd98a6396df998226de9b48478bd8f3a6df9823cb3fb3c20db2450197e62f1d04343349c7941a3594d8af6c4670c1986f16b52b427b3527cf19dd4684bf7a8d15020dcc0b1710771b7c1d63a28aff4e9d9f0573ad20707ebf5c18dcff1adb6ac07006185f18ed386d2b7a6b0e51ede9ac216a5b9ada65e67adb5d6da5d7730953ff5175b54f7fa891b4a6e28df507343d10d652dcada54a7c1f26a4b751896595baabbb07cb3a53a0bcb385baa735896b1a5ba08736f6da90ec2dc73b2ce8641a6b1796777aef1d9c6055f8306063a5dce05177553196c294e037b6b0a739b06dcb6737168e8e45c30a385810c1ceb5d6ae794eb86b5b251e1e81446dd0c437512c675da77ee06286ecb5a0a5f8c9aef5dde95f2d01334a70c730a3a4edc01f2a20eed3b1ee0872fe38edba95cca8bbad9369d109bd4b6e984ac7061f95778c1b6e7dee6afcd3e3bd01571ecf8df05dba663e2bf92d195371ce9c5d68e9a8625ca3f3359e1612bbc6039a53b08cb2a197be26b57b5bdd31b7711f2dc646dbb3638f86e287f9b2ec36ef7793bbec6f5c0deed5adf419ef8a9eee53bf151dd8f633880d8c197da5100d9568a33ad86b2c06f682304370896984a0fec59af3e76393d523b6bad11ba8c94a230ce7852cbd56bed8d505e147e1a64f7d87ecb74c39d0935367e3c83f4ad157323e814d56a6ce66c51988bf966b5ed5acd6a56b35a4ad3b898e434ce6a56b39ad572fe18fe8cafbef931aa7218e565ed5a24b9f288dab4b4d59a13e3edabacb5d6ea97ceea76dbaabcf75214fe69635c0fac7d65c9bdbd54397e6fdb4ab9eac5ba6e5b1f10266408eab91fa23ff590fbd6083a15a377ab5d0c7ff520e499587b7c37d736f8f3a361adb7564beb0de30d3fde362e3ed92bf3eb9533e703f5dc6bdc0856daeae5f8407937c896be6978ce19e1c57f3f86ff622fa3f2d7ed2bdedbe76dab41776f9fb508394d43e1df1e7f6ccbd803b2aff7d18731a7219841b054d5c04a32fd1d8a6d680acd415775b1484682a2fdf43a78e4cc87428a26ed8a268cce2e04fade8da061f56db7c207b09c1e1a99edaf81d776af84d4f6a1fe8700f80427a0e3c7ed3b2e449447c2c460045f432c8cacad483a0525c70d1a2369303ee05a91d01a0e4ec0c8f083081815c67c41a451545ca19bf0e18b18975fa66c27fb73293dd5803f55b866afb5d65aabdd6bad8bc9af1af3e424cc114e5efc00b34d32168c9cc0081761d2c0acb5d65a7befb5d65a25284a4d5a5142354fd56c4971503afd89ae28f982d4f445c9171cb47c91e10b0b3f96bea490f494c48230b6bc40c6043cfce0459514931ab420454801a6c8091629706821c989066b93a4b021a94b92952431422a247549b29254441252d209927848c221a948520c5eae884e6f6e3a214cb8ed6397bdcb9b7653a7c56ddd94dcdc3a6a047934e4b9b1b77dd3b93a12f29e8fc3ddddbdaae095c8fda3bf6e5522e9538baa0ad0a7be505fa8459bc703420801c829039087d2bf147229f3a2507a9c1485b7512d629318db8fdd750aeba6eddbb93a1cf30613fa86961e2574dcb95c37f46b564b2705e3e73ad483aede07ebdb5abb212bd75a59ab533ae7a4ee55ca212b17d76a25967fbd9c98adf2c61926c222750e15b17448c85b474bc702d1fba8ece9bfa40fea534fffa70be892d4897e843eaba74fa18fcd53d6d3a74ed287aa91ae2ea00f5da3b13a08bbb979ba463e55a3e9ae03e8926fd30d00bae4abba10208f7c20df91cfeaa0ef60edbd5212659feb6813e4a1b11f0079e6e75bf33e0244fb2450996723e79717072ee99219c234ed35ace11de9de36c44495324c952a55aa54a952a50ac6ee83ed9b50b750111affcb84ba23947dd67e1feca875abf5ef72652f1219a1f14ffbd33e7dfc1f54b2b14aa76bc1450e6a9e747892c18a240c688882852335541163822558545bbd809164450f638491fae2f28b131d2fa45bbd95e331592c212fb4a4d0a595714e242f3f8cec80925d39a242d524e5a4956cb884833ba892d8e31fa107b20645a248144a26242ac4f67ba7568689c6be72055327f4098522657b64c25369b42b31cb761d2da504795c53d294ee864495c41d1a52ecf1d79cc41e7f24259b2ed9fef073e4624faa3c9121a1a1d1ca741a9374f96b487187c684e624eed094803dfe4e6861e4fe3427db3f4e4f534a35a59a5c87a6a4a59ab676454b823b38d87345eaa8efaf79811ec8f7d48eff6960b6d4364444bf2625ea034110ddd367e6621e44639740430229a7eca58a100b44a8907cb3287deed05a7fc41cd6f64981546bb7a114f447f74b97b3a40bbab68ec75c1a983af7d6eade27b4a50ee2d1976478e3833736f4fa34fa9c94d25a639541afa0170c5c50cfde6a175fafd77c65a90ee576afd6d55bf033cdd17b6ac927fdbdb6bf5c47084aaf5750cf7ebd827ab4e4ade53a1ae0526c0f7aede80dc1006d6c562b8e070b42f8400e592cd6cd4dbcf9b15ab1c0620d15e97cb3e9dc703c58120727e250f87243ef13dadaa7447d2008a21eabe65b6e55e070647f3a4714126828922882bba8e992268922ad69fbe79f3be892d8e30f7fbe90155c30262ac4271813f9590edd30444477f48974d14e0340f4a654208f3f3502f6e4d9b1aaa64fa4cbd5d12990c7ff5ecd7241343cc6e851244b9d5c6d8bdcf1a757b42b5e667b8d5d3b214c74ea578ad4d2906007fe557e1469468d496a4a4c688a449d50197de23bfeb1a34e96c41d3408d8e37408c8e3ff51208268ec1bbe771fd07677777714e765082184107a417fb5c79eea81f6a653a8192d19f9afa67dce5ab7ad74eb67b464ac6c740aa5e1b058de77f3b27da3bae98054fb9a9773ca51cef9e62c5fb9bc2fefd5bad572b95eaf9f1f2099ffda3ca5291447e98aba8ddefe9b63ed65fddc01a95bd559e0e7e7f56ab5bc0fe37b5b2d97ebe70762c78e1d3b76bc65fb1b89b063c78e1d3bcecf3dcab163c78e1d3b5402c25e4e463df7eeeeeeee5e4e158aa251db6b9c97b3e5fcaee5fb5176dd85a2687fef4bc11863ab8cd296e127bab14847a3562c128f5c514944fae2931f352f27579a6f2a03e45e8ee6a19efbcddddd1dd50945d19c9793dfff3efe9cec05c5270d775f0efe28db9128077b5f24da51261445c3d70993bfd79edd87fa20a08d82b28d7a2029a5941268cb97de877a88eae6a7f76ced995d7bce0f68dbb7402a908a24c70dc8213086c01802c365b74806283c1191441657645b88c840164a2d64691292c210524a29e5d219168c50714518284c9c98d045182a9298600622444869c31052d6e0f6db5a9a46fb524a39c38c13284c61c406309c6052888d82345b4aa90226b45072a589252b2002266da5138d165bfe9452fe3b413460b686c586ab27eb86fab7beae7409a5423ca1f586333444542c46af41838223d0f060379ca139f2c54ee7f4f09cd87d71ffa0417fd7f5dec5dd7dfedae79c27d01a7579318c70f6e4698d0c475e6c68c11642c6f46064a90b304f501dc6ac19d3c505b87869e2420c1224c6805a48914510627491841523b06a65d75a71adb5d66a2b8d0d6763c48cd9321bf38400f2e1dda95d0971474bbb212a9afe3725181fa2a2bfd6cee12da77fa50e1db9435b1ed0a6ad235d94d6873c901aed4cf1446a0432267f2d049525fc75932a3ff86b5aa5460bee441d2f1b2dda7aa1a71f598c110288e9397ea4aba573238e6192a221beb61b2d9d313e54381be3c3ae375219be685e50b9ae7646cd4a83abdd7b660b0b807bad9c71e28c97d58d3354381b6782407967b4ee4c09b63f3303ae71a648a37126858a81192f503a66a8c83966c4b02e3063653503a8652605db5a334ab6b52d3345b6b5666a68b5cc146dac305655681b342895d2a6b368292330ca071c6e89196eb625886cf216290dcd0d06c35d59ca16816b991d6e68991bb6d9026a91196386df4b66d692da2dc3cdc8285d3249c84021e3040060085d2d8f8e248145185a30d143132c0d112c88cc80060b998c260125c32115e848bb4d6806ed5f6badb5d65a6badb5d64ac1649853436974fc1c17a082aeb5d65a6badb5d65a6ba51ef582810e9044b319d77a730541d370abf5ae209410438d095cd614f217b7cfde408d7d414b068e01f09623fc745eded37d032b1e071b0037a68d0d39065cdf81deeeb2732a7660beb6e97406c49d9da9bbcb18638c90e6eef31f22a3e367a7dba5a32408781c767b4e8e474e242282cd3d0294c1264ebdb9b961ad56abd5ca062776373bab6cb4d629140a854271aa0de5dcddb60d731b4a7eecba9d6f08641097f609269a079d833ea2997aa05ab7fe8531728e59467718bd237c810ec084e4e2dbb24c46a87b81985ab0f66af732a170ebd5ee0dc3824c6f923058e029c348e1f7268571627fad2e61cab45a6198c27ca162a9054b5d2ca559a2b204654988a5254b495aad778539128688304b6ec82914be5cdd6ccc99e3388eeb20ac5adbc95dbbb8b9dae1d81cc7ddcba1aecc5c97fa9c732a954aa552a954ca3da5b3719dce39ebce563a61b96edaea2af7967517e4081449598ce1a4c3963063706cdbc531f696750795c610a920861962b04204d3d287024a0cb1823e14502205d005b7ee1c96b54d771146a9ee56b8304a5d3b1b6c1c6cded19d71f06c18ee9b7ba61405b961c9142d263862c5880798d675608a1ab2f862e30e4a11448a6cc91a22590986ec00cb5d957151c111346984a000cbafed762e0512bb7606d85ca78034b324591411051669605a478720adf064e32e3eb13d014d49627a90ad000724b0dc412b605c69e2e1884c184b60b9831c9b775883574f00787070b0c18e005c1a6494e7933b08fbb15cddf2cf963dd8bce36870b0410d1a1b2a756d3ea0b1b2d95030ddc96a69f7793b543a85dab2666383ef7637d7dd370010adb3cc579a94723eaae6d1ca05592e56b918757daa4d358d723cb858677786704194e3a1e56dd3b42c02f41d4a39ce07d5b4cbf1c81b4745406d92e381e27c6c5c4cfbfa1b1774b7e655cc054d7a9f8bc5ad79df091b7bbf21763269b65ab656b39ad5acb6596dbb56b39ad5acc6598dc356b39ad5ac46efbd279c30830dd225c3a4f8d27befa4f7de49efbd279c50345b6a41ee42e6343edd97b634c1325bc7976c9da524d5d68a66b644827dc14c09353e5b8201c2d95291c321231cfa9011fe70a6c415dbddb6904b883b46086dc0883246551ae95246b1bfbbb730356d1c539919e39d312d410242a6294c3d6c1de9b24564c43c896181182cc44421868c182e4e628cf83113d3440b3149c494600c0c6268b0d65a5babb5d65a6bedbdd7dadb6abd4b8916f6f75a0a42694d8e26949c94a8f881449bc1a2c4a4a434b56efddd70a6b4e506ad59abf442c64a44f96e01a3868b5aafa00e66666b0bc85b4e544f52b1d792b58221736bdd4257255a5cb6c856eb5d4a3d641a5a1b3ace21689f21676d962efcf833ce9fab8d4d628bf10eee36b9c36ab9f55e040dd7ae67676b391e2d6bab8e745d211baeadd7b52717db813c5aad5dc4da6a6dc5f8c7b6d2daa084adece1f9f19e97bf7e72c41b367c70e303a003049c33a8146c198c7ad221aa1100008020007316002020100c070402811c4b2335cfdd0314800d71b83e524496878391581084388cc220864110630820c420638c4208193a2d0046853f8979fe1145559e142f89e5d731c25c704626307e0275814804de4a56528de06cc5f50729c2ea315d593e1ad6d17b0018ebd08375e0293499725a7e7116cd65447c18890a45101c270760bfa6071500a92525cc13825c376052aa47eeadba410dd77a0953cae29f1021403d9d1225433c3a8a6d797ca69dfdd1f2d834df87de0135b498534a6d3d6085fa300b32726cc442fdd721be703240b121e8b70a026abc32fc1a665edd626734b0a8b09143cb1a1d504aea8c8160c98b941424c088782f930d2c9669a4186cbd19f3481a1f22a477b030be8c9f4ef122c8c1adaf2c5fa5e56dd2fd3804a4d42e9057122056d21d118c7d0674ed4802d42c51673f3997c42f1b38cdb0baac7154ee11133c2852aadee664684878727dd69d111696b8261a1b835d0cbb97e60e076c04517aebf9976b8ecd015ec8608ea5a2a3b76f1bdf869028846cf70cb24406b56ce88c209bd2722e558d9d57b4033fa989f9e1db289dfac1391648895672187298b903da99a433f8b420f8be3eaa2e466aaf38c6e831f9200a7f44a933b443a0340d3c0c1c32213165402e6057750361225f4f2cb53caffbe3979e690a8d609c064b230a6978445858fa574488949fb59f356fabc67e880a047246eb33d2045f9afc1df33603a2bce1928a42d91fd167d9fa65e8f46c306b96a04b0f88f7dd4c0e7b990d6694cf3e3363c9368698290d46e9305652048356dc094e6a9aaa688246914e52301ad732546636f5cd5e0f3b54b30388d2f7e282806f2fd986eeafbb3625ccc9120d248caf5117421de10ffdcd2bf97320080b99794d2bd4150e6711efb280f2562d5a365bb9e76cf27246c1f6c06fb45d58761c9de0471a46735cd051c545ece1720e1961de62b1a46e434e0b1939f4b708d8521ab06b83338200cc626b92578b26aeb0229179188419363187c9e837784bbf21e31137ab797330780c687b193a1ef669e670fa3a042a6603de301c931f9ae1254d6580a35b6e82b8eb11babf89b5c3d29cc903e5a4b72af0eff8b578f49f68c691d959c4fc785b2737a2d7735e21d9e53806b7e28c70c217c4085cc8f8f656442f9e720529988c63af57baca17acf4c26475b9f852bd5b2f9e5ba50714187e7361aa2a8ef1e839324d033bb59fb918b465048b1073a1051e07137ca11cc976f816b1498c119c7208dae394bb68b18234574a724b73fb0a0640b11755008ed39edd86aaa8222b5aa737b6bd254bbf0399d2f65e058495a61d673677544c8d2198e873e0258e3015756b0736990c442b4d5c82b959ae1875e802e81ab5e99fd9ffba6ca2985526cbe1be055063556be2b405a83b6f7538e659c13b8a27baf0002e4977eef3907b243b50a4c8aab90f895839600f3f79e64579ca75f84faf40f461a6532809415333bf54580206af7e9bea63c69192ba22f48ae40df2f3443b2ee64c102f19ee7b3f78a4b9643ec1d4f7f405092926886bbb07511a8b259200f2936083d9c4ce33e361710364ab51d22945291b3d1b4cc9fae17dc06aa0e78c349bff9aaa183ab16bd31be4d4d8d1e0c700d9f9c95c7f75bbd1658397dd7d358e1254d691e7a03bcbf4c4996ae7965935cf7ea10a511b43825be49ba6860415f9b8b66c2941a20c01c450815173ec8f8cafb31854f3bd736119f09c196ae18197b22f507ef4ca73f3f1bea40541a5f356c55cb6f06100450e512231589bcb1c0e21f7e7f39e529be56e4c26298d93afd20190ee47ab3f02398e970db9d5d12bd8163ff797de176f5aa778168b7292f999233029b07882ee77930efe3cd73d07afaf4ad0cf39e4cebb768cb3f494362e00d87a5b1b70dd2f2b19915f6b35c74ebd93900f50dff62bd7b7f97a226a8f81d2fdbd07223cf223db1c8dba3c86016d43f0951d3853f31baf4312a24adf30e22e9913ea7501d000069486568be9694220f4389107b38bfcb4aaea2cf4d6a366ca422a7d66743b5d20fb84489bf828fbef4c171a5e6c44957bda58df37a92c1d7b20d5dabb2530b4262fa40c6a22d14a47e26b744e492485c221867dd9416da07169855cf3dfa65ed988b910ebe13aa054dd69d6d529fe2996a826c5996eeb8c42c5e251d71c59fd8663d4a71a430a1647c72106a176637b1452a339b6727fb116559281d91880b977a81ab5167f4e520fcd9e3415aab21a4df963b5a2278edccb23f69a36419492722739d8f22d40be07e011887ab6e513ae06233bb510a334fa5588192736e26eb14745f809fd22b9cf3df02a9ad8887789011a750b35b4ae501fa54a2486d1bbc6d8197340cbd40968405c452f36a26e3140a510acf61ce5ca6d796b31650cceb9d5713997838b15b1ca701974acd12df8531c856f517122850bf191d7ef32f90ad74911ee4916d25415c33e739805f225db46bd4f1d9654e8c53fa3bcc2406371efa0487e55fa168a3f89b1945de8123064803a5932ec20feaf4d421db04ee7215801fde198677eb194e8a3c74e804b2387e95c5353a88204831bb9eb13bcb8c0e47e8302ccc0846c30d124e6f68d00b3c2e04e8b3c105b9d4719a5cede278d834add98ae1a210ac85ea814007b6e22ae6816676393c337a9f5cb2067385b73364d1d5bf311c1098d729a324d0914869919775c2821e11d0f9cfda2c80c2a08195889c0060df4c59960a78500d35c2c924a1d0078f005519d0436b90bbf220634c4be39659b3ba642be417b9800fbad83aa806deae2b0e216c94085986239257408ba0331b36f1d7c188ccfb986945287b0050774730e665a0c577f4d60285500a0c1072d9dc245168ce75c87c42987d08206d0027e8da7cb89d491db71bdc53b358b15a246d94770c482634e1bfc7561c5619036b7658f0c1613cbee9c62c6635030ac2f261d5c4ad1c8c6f4610be508fbfa15c31d045eabec78a605403753084a967a2ebb80b45370eef05a196ff5c5dc823f9c64a8409bdfa4d3a576b869ac9889f430d611d91765d255d12a3e38b9b500d8e796bb897228c16d893ee96b4ed67f75048e076159057dd88711ffa236de5601d12e11453820df0d6e2705d1a4d34afa84460373de0e9ebe64b9fde19862896cabaa85f70832a4cfe403cc3a75944abcfcd1b33187e8c99b8900230d4670a07852956ac2be194241cffad2e875264be39fd4d6f74cea154b2cdcaba8f1a7e75dde72afeb85c7a258bf606b2cb1dd785d2964c5c10a77005fda057ab95688460e5584275b9fd70cc61e73877065ca3d1194ece49ef7ab54b313cfdfae47a8048f0a8b4e4bae21d9632fd876dfa741e4920b80d901ef9b609ab65d589a720bddef2cc36911ab429380a42ed7b1f759c107665999d6c3d9129291987dc4de0c47178e7d819a4e89d9be11c4ad103cbac89128590b311455e887348a56926ff7e2e0022cbf7af8129070391cd9b25a01f410597efda30345f4c51249b54f004bc2e43a3a4b7b2179991b7516e9c5d2fb369b49f177cba8b318fb4e0fc761a143fee3efb25bf62379f65b4e8349195d5596669e7a5a36fb4716ced0779a99de328a8e705e750b7c85c20c4d1058ff18af6b8e86e89e10638295ba1a1a827075052791758b0ece9b1968b77e50b6667d3a0e33b8af308e208fd36c06aa7c77668aa65cf160ab9ac141ee634d2736f800cdd1883f37446ce02a911ee18e424c56bc41fa9fc1ead9d4d7c7f9dc17da5cc4c2c0dbccc897dc86c1507f2e2adf1c656b73c7d5c818d96ec155580dfb318fa7326cb2535113893637692390bca92e648bdd88992303065e9c9508684d8b7910a88001609a6bec438026e6bb0e5588fee178db58416d726078c3e07adb06e7adfb99f034a84474ede04cb20262cf5808c6068362f4ae2734ad246609fc583abf73b5a099d64ada135ff72bd8083e754fd7652744e58a0007dc2260449f9e30cc0fb827239b49f6816b6c23e94029e23d98030cddb6ae12939d81392c8427733e40dcf6e000090ed348d15ba19acefc4e7a9bad67c43893308dd8ef3d351afd7ffbfac8aa9149102a1c1c744134e3145f01446e27775fb7b79028775ab76496f79804b60e936ecc216ffcda5255b2311be02d368ff10c86fd04441d4bc4edf603f112150e1b150ce345d92cf88e235011d8086bb5698ca72becb95f405d763d70fb0ef0b80901acb7abdb41b5f0f3b2418a46ed3b80e77eda5a414c6256ebae70d68c45c4b4022065984a994cada727998efa97d1ab5a9c9e8d22aae04be2227ce60aaaceecc627b0032d70cc987ad3d654e489010f8dfb4820c7a3fe3c897d3e412515c4c779f8dd90f5736743d1beff5b54e0663b62aef02d3c17d47f32d5bf511111cbb22a42183b915e8ab397fa6993d90c4639b2a2d04ce0b2732feb6cdc4c6cf207c0992955688e97d82d89f8e0a207549915bf595f938bddf2d3ed0ea41b07e911be108006f2b4a6c4d92f008881a3ee723d54135516c7659319f3b4ffc1f09b7f37e9e1fecbf2773944744c2edb2f5f6f72caa0694911ac5c7dac04015c8d115e186c495593968aa65ad4840072608e073e135a0688df31aa4e626ba149792596e6318fd5ffd72569781123559b165cfa49a9f036ad2520f512fc5510ac889359a2633fa4d618f74ab480c3c87e02ddc3c5e93ca741f8948596027c3c11ed9d90225aab0122434319f6b42bf90e0ec2f352aafc9cba41e0c1c3ac46d9a710dec8e09c60dcb5f282a1c783856d1664df1aa5145d2eaf8ed24baa1812e8586225172d0aa30db56044949ac71a25d957222b62cf425172a300ef3ec21c01c764035c2674508bc0ca4f3b08960762f752cb1469f512ed33803645b4dea1f312b51a2ea1cef9a11a79afd47024c0d31c85688eef07abdfd25a042098b668a8544c0f33699aaa46e1ba585ae60592fd020091af7b1c4245c76736a5b01437c87c93784d84f22f15fb73fe2131f69dcd091d0e334b1d1a2e5c64318051269f41b8b1d5d6f9f7dd1d001f340c5c64a38041467e43e8b1ab968f8970f854ca113080228a196c2ce96416802f84261ef34336ede1b7ca357572f2b4848c58e50c9d30d017e7356e6c13443b9ef1db9f07d80499897bdcc90571d4c75d292f7311e22ec8627c02c8267b3ff669e06ff9b957ad1d201f4b46313ec27ca2c91fc85efb6d3052742362c9c2d1e9f4450a61e3185587e443cecd0d2e9cf03ad776c88df2474b89e8ee2ca0bd1390b815d4265b6cbac64e30ffcc25fac421205f80abb73d74486bb8cd0d78117f8ac0bdade47dbc1f752e013ba53f9e6747f0ca8f7425875d3794430363fc97a4e4c4eb0bae136c20df0ac76239a141bf14fe82724343a997f035d39e0d5d2516060bfd5f314f5bcc4d2aa3605a9fbdc73c16466546935e9508504f7c974e001508dd5f24d46a1508e901d9013e6dd9f8049b5a2d9637b4c7262efd48260f583c31934d310bd34e279048ec9098e633cd9e031da67212aad40c6ff6a7b529cd9e76ea7ddd05b410f022a8753893d8a2ae4ea78d0a28467f65edfcb42022c8e2260bf904ec1e0d82463991f80ac50d511114c40788fcda3c7ca5727e0bd4b77cabe42526a301c2ba7828d7c4e6d6801fd5a2dae9582083ef310da60a517ad5c30cafdafdf88e25f78303dda97d59a225a2bac8bc9a942602b1b7c6d5d2fd72d7603eeb57bff5a133abf5e080f4a87ba50c5c3a69b9046d6758de5165c0561c880bfe62cc38491cba6496f6253d03084ff6b1ebc6fd36966a049ea2892849033edf41347594711ca00802233518ff5cd19e646acd0c23dda967d4da0be47694ba12937672b1f01df6e33badd25d238f712f4a9d25bb1baf552fe48c4c8bd7a5ca210d0d41d2a81c035f625969dc2a4cea98c58ab5ed64d0b233ed0d91ab8abe1c37cbed0087e440810a3ae2b69ac13ce6765d531c16e990007aadf310da5c938daeedd7eacc40a82753a8602e809e2184c6562e37e717207498c193c453e7ea41118aa163792ec2e8ebefe31b9ecc0309b8137eb34b661751c4d6991cbc02a67d9b35e4238fe3a240ef34749531112b208f0710f4c62dbad0fe662add5e6f6a3f91d42f7855394ce17747127bd4236312be158e0beab03193b7ad5b37bb15ecb0defd937f0ced8876169408d688ea43c918ec3010ee98ef7711b9d87e32d73583b807c320608c2202628315f501d53ec13c84ee41893e9a4a652036947013a5335a00a549968f96ab64f48b6492e7e262c71497d12123cc0a5c183bb052f642cfab211be99b37f0c3ba541aeb06111fa28144b1223d05125ca8a288b7d8d1d9190dc2f818880cb4745afc2ecea6022e666c3932d2721d900058e7d948738613a8a5cefa719eec62881e7c75263d61a12e1c64154c83570d76cdd220fca5259cb322b808ab3596af80480a8b604bd8f23c9c7cc21944be917d93ec147ee22a88690f48dc2fe42f8a8cdc0254d9ecaa2f4993eaf1f5df250c53aaa39ede176bb71ca3c0304a9c9427c021dde281b29b00cbc6d69369012cc8076c3f3f0a6d268ee49c80cf0ba61ea158ee90e0fae24a1cc336cc001a2f1acfac7c6c9b91491f29cce3b32f0e27e6c95ba57e171b3e49750aa6035f2c3a2a85fe92761ea9c1ae6178403313f5eb83b267d27002dea98239f09084d73fa6c4f06138661df65e414790f9dd5f48381ac5d7889ee43287637863af7fc5420105d8e751b18128d865971631975e6d75610856601f2ba37163ee55e1d5da67b84c9223ccbe1950731f15fb5b52ee65e5e93933ecb8c384620faebe722e676b52967be8a162f76f8b79452a9d845f17841d24b7a9eba8a79851b9f9f7d0718f6f0eb904920e6f2889c2b90f00f60111c6da548f8db9cd2c0b6c875cc1a1a942926d6fbbd19f89922a1b3889350321260c247b8fcec6b528d71291c355471cf0b88930c48a865ad681173de41c68f83c44611d42b4f075316098be5370d7745933d945c8629c5333bafd72aa569dca85f1d18265445ea80b073ddff1f0a1dc11e288654a03b2652ced915a437b96bcff2f409b562e0c8a02b5651a897f38b7a61578f54307aa46eff79c9b333f8596f32814d80cecb6ef92951568ac7d281aeae5932a0a581418094cf6652ee493fda7364a0d3c19b729551247ba3f19ea88ba669228b87aaa677c338abbe3d8ce5d98299621e48215370d16f9b3a09120f7535845b9fd745001329e201eca069d28600e800bfef63eb71757e4ac84d3b826c01d84493074477194ec1995fae4e3792310bfc2023a05276c75689b2c26dc22a315d7b092079e69a4fc67ff3d79257aa268e5ee1ab41728b10e3234974cb5170276eeb3ad6bf264a1da13d0775da34672e95001972cec764f74caa0d1d906a519a21f882c5479029acbf9d3889a54a2c2aa02111368bda8892e9e455dd4c10ece82e1839441c28045360a60204e91a86869ba0e2ed3a472a62ef547b16f5632f6d236b792f3ae3f05a9a8982bbb18a3ce9627212ad7aa1cb8f873428847afe68a474fb6d5061b8b5617a98b29c9891af661bd9a40eb17565c0eb04b3e13362455554ed6cee2e3600f7205bb5bbc980a7291d028e35be01e28717b4271f9960b6c3ff149a6345b13cc861f4dad25a9d09799c02bfcf24675570b27cd3cc2f8b065cadeea14dc9f93ca5df72a9acd20ebeb90b15334630915d1af3147621529d5c95542a67f1494623894683bf218d963bb12d8cece0b5c3c82e15677652f73c0fe0b365ad78d4f2743a5da7be3108388b393f37807b7923724ea12420c0019ad3b1209f013c76338dc37b2107ca2449bcc7b7b9a38ebaa44c94c720890c38103bd7c5966dad7dd5d22676cf59a03cb896c56e6d0a6270c0d058a6d5c85870216240a3d04a40b556c11d8948bda89b0eff00cf578a6ee4bd5655c7e07d96d9d9ace88f499792f725120a8a3aa90e5c8faa7e09f8c4a9313b12b28336fb92bd49201e6a078075b6922ac20461329d08ce8ee304be0e72742b7130df424a740d23f7feb628b934602cb1132dbc25fe9815d82a579399db97e17e2b638df5ed6ae64d226e648195b8b84735f429346e426dc2cc4560ad6f3e64ee70245fa032e9fdc0db64c29e311c6a00f58d101f11578e49e1ab7d55ad14a3fe8ffa27fe6a4e021828523c72ac2082330322bab2f0a2a2a23f2c123cd56b0b6c07b9fc1c0e964f3d11b7726e6d92324ccb2f77da384630a811052811fdcf80aacc0bdf7e84c5e890756698409e611d02d1b49c9c9a572bf74e5dcd0c2469924ba83886908484212a47a34862537a96c6abf68564fd1b89f7c8fbc4403c1eda0ca533a615456bebeecbfff909213ce072d6c29c47d28094bb1fe9ed203638866541448afe3f36408ded94432a0c087d1e234e5cacc8e377d6753c473a16e4fd5838eb5b0afdce330c0ac5a4692973eacde44f760df84142efa1eb55224a0ff717c5ba705bf10fb018ca85459939c4a30a4897245c0d258089ba3eacb77076c1fa63900991dbb685e1eeb807761f4e78a76322273337131eaf12093f5b4a852f7508f734a4bc3b014afb06ebe5c84f4af94994d652e429398713675518575d267a1069dc2fed39eb795b44188356ac800f371871a19f7d32546930c2717c5675caf7400f76eb662928db38b122e52536558c7cd67e56e13895185e03678ae616e82d065504ae8dccf6e92d2fd65308f7e19b9e4f0cde96f8e2571fe88028d6a9013f91c7611c1e1523bf140c01c07bda4349a6a7f2048058564e75f46a2aea14048b0a6da56b4c7637d3998a0588c9d21769e08639cabcd675076599ef110021006e87e2e3016147db414c5d3f258c62929d0c062b3d3d6758b11a5c671e108abbd3d241a003893b48a5611d5d607c85ded520d036faae8514894266c55c4b906234b4d1240e13a5cbb4acaa547c6b22c6215083669238c36a85d905634686032b53c4110d39968423a0d68ec06a8b04ec811f931917a1a5731442e95b9db098905881fd4baa70ac5b007d6ecae0851b8fd8d2b59d3200bacab7fdde10bcbdd78df6b190afbd76018f5fa8c3f08bd88efe35bcebfee9a8775728fc051864a237bf0d0dba324ae22478feb69779151f6012b77fb40e13ca142ff0be6c5d7a23dbe98c6d6e11c302604191134d7a73692ddf840ca184f61623b08ae87092628785de4ee0d4dc9289c0a3e290817a584531f9621bd51a39feb7c31197d916d1443392e0fc5ba9966248713136002f8ca7f8a95381e72a2fd39a944a340fe0399f625c16689f7d991b8681d0f19ee9cf023bdb911cfcacf858d9b3cc1f51b474e1ca3011773fa27ce353970634dbc3475c4254e5e92bb1deef9b69d66f5de224f07a13f42d9ccaab46074b6109009a8dcdad533de11b5cb6f8632d07ed06aa5595bd14b658cf6dc209757b0b19fed1148ac1cb38d6ebada3c0f4082a99af92402059855fc17b10f6054afbe23a016ac35ee07527da6fd87807b4759ac2488d498e77ed87b89bb140a241c1652cd00ebf70903ccf7036ec9e16f6c2ff77dd86ec1c0c9fd815085a155c959a2a4472c33d3a19e544953fdae47cd4e29a8be0b461ff73b9c6167f67eb277a98451da0831b90180424d26076d49803facb1f3965d97db9bc351e897cd0639a6f70ffdeed18f0d201b7b60983d891efe2bd7ef5efe39cd074d6b4678810c2b40d7dc15d1a6b33d53a164b01c2a1ec83e924c4301232b84544d08f0bd2a9934a7d20ae1062e19261aa1eb4b9e303f7c1b6f44bada829af8c6cd0ca2b54d37afa536d2aceb3d7a39231f8d38d2f85baf38c227c701cfc55e84c2a085944a0de6ff9bbfb0f3809784e85c7d9e16b5b7ce7f31ddc01185571caf4c7a739c12a1a16ce480d28597b2069e4c1fccc1133513e80718f5b840db91eb5adc17ed453e12421c358bdef843ed3fbedf0d85262c01fad015475e2b93596e0a00916b52b4ce3570bdce25193caab9616bbdcc3535369a08a2e8c9db65e6d994437c470042021ce0b6d115123741a524287448b0b7002205c24484cf43420ad644d295228a61b6be7eb7b3a2431d4dc7891442e1c15320639904ebc664928dcc649085cc927edce04ccd7af0556056de3e0fd4271b565734fb00f946db229a05cb493d39b627d24e890eb13c25ffcf9e518406c1e46b00db9cb1001720f7bbcb4290c83c805b9270bdf33bf244d9dceed84d94e74a0ad5466caa335b3ff398a9e8fb7c220cca9893b8fea5594dd18554a4f73315812ae8436fe71f4b81adc30e0b25e216b65ae22692d2fcdc2be07e1e4495df167a6b7beee2e846fd1765b0572550bb77bf18ebd19ff37e936a2612be991047dfc2dc02e765f77b10a15e88bf3828ea4c0866bc30de3f75b29150534fde7f562b4398be617c415d1c29de898d2248be96906ccb9876d6fd7cc2f02eb39e8003c482bb99158c43e0f82477d30e142f1754734a9bdae456b13f2ff6fa3f650436215519c52fec543c5d796b184dbf52395d0bdab59d94c5a9fbb0c0ce2403d811a1acfbe1f1f7d3c669acd11756217c7341b838ea3e643d0723a497f00317edfc1e5620f3af7af8b7f7d44d0dc6e31ebc8a201126c4e18e52d177ebd1d7639442575f253b1e36a9c873f8f3c218d0e46f513c28eafd7022467629868e7c81fe6cc434690ece042fdb1a6b06beb28a070fe084988c8f9898dedcc71d37b288a27817044f48e0298a43b3720a2857ae67dcde80a0dc1835c6bdeb8273de21c310d57c998428f54e88d278560753604060dc461f4b13784c959568c30c442862cb1002af43ce10e3df86fbf5678e840cd6c88c31940c795e972f9f23eda08b25e6699e238951c88743086adc18b2fc932d46c351fc48eb6f1b5a671c137cf90c6a86d91106df928b638700aa50f7a8c41dc4b07b4c06fc32cdcf0766cddd10ffabb2551d4810d38a1c83a44c063194148221bf039d006a2214b6365da6ca2160f1a1fb60fd0ce07efb9e8f20e387b51ebe532c1faa2a6c1d58efc6ad4885a20ec81019e48a2b25719ee0fa3105c15527f9976010846f1a0407a7bc43a8a89f7b271c0b32368d4eb22309a81848c043bc46e4dacd29919126be3b3a3e91dd906a2afe94d5060fecf99db9ca08ce8c19ed86128c22743c916f4dc3e05c4689adc5fd95c94dbeeb43b10c2b1c9edd2910bcafff0cd17f5b24499d81f3bee86437e0eef1b0f59b2217c8fefdcddb36aff132dbc036f655259ca84ca5db0d5dfd3150db794858772dbb51c8b232e571a885520b11ad95ca83dace9245f18e550085d4ae1fa38b4a342032741f764c00c217183c60665e32146ee49138b4c3170bddaf569040bb8b948a02a60f1242a6c9c370018fc71639f93ac56e11507949b24248dc72c193d5df104e3f9f46dc21c75a2a350eb313ceb5c8460ffe13a2a1c678f4088bf5235b7c4c010403b0e201f1a74c759349479fb3146ba4e62992ae2b37424d63ceeba1fcd5aed031106b609f49a979c0681c3e00eb6fd087e34fc1cc3e34d314aa8571aab54ca02f967a314f5ca41730209d5cfd791609fc1b2213f97956d23f07a6b514af03f6d23967e8f1b4c34a467cd303c42ee49ab5852a1a4b5663da013a39458e4a61502b4d28b5aec4ff1a04c46f8ccedcb83b1da0aeb03a5de83d68f667d6e3ec49261c87c9d31e6bc661458f126151ac49164c35ee681b7c775c9878378f990ab294ff8f159918b0f5bb97fe3df0a68e80e8e6a72f91e9f03ef6ed6634ca851c0101cfd841a3a9d0340adadd30d771145dba87a09b7aef2385e4aa70d1cc820e95b15f3579740a7b773ca1515554210b262f1174bfd19f41d304679f0a6a570be192e1a5dad66a0881e43e4708759e1b70cd4e858aa6fe17e90bfcb5db1969ab30d73408c2895f498f83bc76acb87f89eb75a02dea71728cef1d74f1d3024a454efd70e759c93104c2cc3bac0f7bd517d4c0909309748f0096bc861cac0c683389b5cbbaee1b91682c5c7d1bbbe34eb0df9d51eebefaab143fa6f0b3aa6120c87118f543f32c4f825cb1f86ef22ae77d40aa8a49553ef77a09f25eb2438a68aad132351475193f9749533a9044cceb66a116371c9b2423e157ff55141bf0e0f9ff772e79fc62918396f70c2410b5b2bc27c445421f3b931590e88ca5f585f33abc516373c49298bcd033c681133809f09d1784ca5f47ac055369847fe7512ae8288355aa27cd131b14b03c3d94fc6768b67d0ec8516485433c750c3739ba1b244d2e12af27c27ebb4098d1ad7fe3eb840fe045a604f9d31d41b4253a1ff6d4060b801a0719482abc1427211d26b0ecaebbf9f3bb0d8c9babbc0a659547f72701347571a830a6da9212a88694f3a6a59b8f32e5e26a5f12c8b42903508e15bf17bab279567aac25df987a209304b89bdfe62bc59d52c6af838f404e030296c72089d734793fd0f6614d6746df872e8e33496009ce11a8d99a6fd6c5365f7294b04077388d33da40cafb369f6a42fc3baaa65ec8a78488e6c0824e7dd67cd6a3900402fe5351953b02ae99e4adf9b53272a7920c5ccc32626f823700c070256bd3be8b90e0e58efdce1571c7e6d06a82ba7f29bd91904d26ad4ef7ccb18cbc8ab473e9ecbd2e0b579faad0ed13fbd3db054d42249e6e84a29384a23128495448685a98a73ab05bc0b273af2c2d5558890db30c789454a9c4099df9116dc94a2c4e11b5b2a345587471a1151656905edf654524f34a7ce3f9777b58d1b050453066893516339687e852eff4c6a6c66cf0514337d5dba1ad974e11454c9b804dbbec88300dabdefb8104eb793c04e7f3296366f30694d4102b70f416398472564dd16e4def476b231fb9808d491b06fda3bfb61b8f99334ddc64f93f3c12615d22056e2a715db479c0472ad2e4a90b8cdc5523c1053289f043e223245e60e714de81075db475a35419e8a4cc475c46a4cb5b610f8a90b8df4aa18143536fb55322030b2b850e4cc14eedfdff0c83dde342482b6f96963351fd2e35288109f3d07f01f74ea5b21d11f33ed88bd7201941cf2804cacba216cfc5676db9874be1b155820d99b23ff2f12547a26c9010369109f923aeda66bfe57a80e7bfa7fd5c8cd0e308c9e083b3073cc4ff9348d0a1ba00ad410ac3d863105af02efc4aa0b6f189e81d477ad3a06d15544679495dbb6a86c6eab12133b877a247e1fb82e763ffd266d809137135e288ea5a38176853aca28aba0400be295f9fa3a02f5b4c7df29e07484a63fa67673052c7764448212800b0f348fff0d00bd148e319aee1fcf2dc0473ef4b88f98d4cd2c36d4a3c66c9b13c2a22d125f2983049d0964b7e2a2c2cd26ad500f317abd6374f9536bae5843b72f2d1ec895c09258c367218549056912b67c48fe837a8c8c49f28ce87e6f3ea597400b280cee24d4f2ff5f38d0a5896ee4a8cec577ce281ccb1ffddba7e0cbca79602fb82724c65bfe7f1638377812e2247ca18235f164cdb17e5752bcabf7eaa562b037a946dd7622b65369e907e7b90748e70ed17f29748cd8ec1c878059d6b5c42b35292102d0bf7ff6de81121055d0f049c8215e4d6fd7b780aa7f2888b908368091a7a5a868a5453365efdb275213d019781278ffce7481db19d219c1eecf45d217be88bfe368a0511dd0236f04f84772b894a5323b9b1c97d68827e2a0fadc3ed4d5700659abb3cc272921f0f60ebe79e7866a9e791a2b47e4866d82054341ea233b3e093682d6cd35222a355f6f008b5d514aeed29c8390e0804838e55ed555fc0d6ca3f77e29945a1353ed0635a3816da252282b4acaa9560eb394b42ae2545d92250178d7e1de8403435db00545f3ddc829b57bcf1a72d6ed33c9727f5fd8222ab99e124d999c22e27e2482a6aff552e9e73d308fa635882e32286dbca96f18652e018e45020154fa21e966e9e47570dca96f6d96ee3426ca91d59543ff0a9ba1e20c5c407bedb3b857d179d180dda317d5ce5ca2d7f21b4173ee682d73840dbee58772498ac3482ffac6683459e9af68efc565626e340208b3f607a6a1f0031bc241f696494acbffd45204a318cd3222503390f0abd39395628002180420431fb120466bf2eb02d0e6958e53f7117fe0574d64f438ff295e12969651fb5e7d99861815dbf1ce31556e01c52331f88bb22f89342c8f9b56ab91c747190c280c23e4cda99fa5e9b036d640ba8040f427f6ebd0f43589d55faad25f597093c0a99dfdab94a0ce4ba9f5647e19f511c6c01ca97b68c9d53c996e6fe2f2c561a96a4da7b7a34917be04dd57d1748afe6f26a905e22021d02f3a58ef7f2873f188c6ee787f9b4b99566b216678588bd9e3a98e83014c8320ae0cd403c9cde64583ae1a02e3c0f3f1b455710a80b9a02b4e1a1beb615b9771c626b11506a092f662941dc5c050eb7356aed45688ab0d2abc50e0c6e22ad87b1659849658e80ccf287546d27281705dcc22192e0c86048c22596afe198ac4fa710261a7caa1400987a21b5dc463c89ea53318b30d9060819f9827e4f9d99a0d7b9986e315a7f19c2bbc93ec72bc880a82ebe7226688a521ca6057ebf146b2e4cb968a37776075c21111899cabb03a02df67a6d9d8901c0d5c3a63b1d0a921a6c9d94657462ec03a28ae0c05109600210bdb971cd8f86a6d95cbc50d2d8ab1eb45bec8860870118920386be8109dcfc377c12537fb9120823872f0c43db9a33575e2d409032e201e7e833e1d94103cae6aece82defa8308ecca58abbd6f8196e65ec753f04b6d6efa7c44797355cab26242d27d1e16256e8217e7529cb78d1c402000f0752333a4f1647b4eb8380e64eb3648fa24e520a472f87115d9023d484fb37be1c071455d97413c75eba7389d6ff5eb83880f97a0645e9000e427d12cbda921b4191d98d14e9d6603ea9057394930d8cc86f87c094b8440d19eb4c7d7cd92327370288061b3ff97919ac517a107407de86cdd2d2de571ed1e22f0c1753da79016d0eaf87107e7954e5389684ac9a2aea4a7e3e159f8d38160231cca01a70f1ede94de15331438a46cc946727b7b7c60b6d4567b9f0535fc505defff4f225b1db7bead231db000e27caffd6a19e1dc5506a10884a96dade96ae26b186a9b51db100109dbb9176faec310b47af5d6160c5bacfcf16721fb203aa7f53b8d3a4dc661e6b16e3126f9a226ae134f2c2429a81e2a90418db7d974a3e5bcc7dcadba5c6447893daf32ca07b7422381a5b8ff51031174862eb4accd5d74e8ae0c40a8154ef0486857478b940dde0afe7aedd320e9ea5b981778665f6bd536495d246fc97e3f5eb62a18cafd2d7f644c3cb375d8eb874805be18261e845f66ecebf359ead6abab17c2944aa5a3108bb26aa52efbc53cb7b6cc3b88f2e9483352687ff3da5b0b83d73fb4cb757983a00f500dc3cd8fa3de599e3dfc8b5267585c6c6297437afe8ecd68931099fb843e57c0d6d6b56fae31da28b986627e01b6d17f955314fe488663731a8c5ba2c316815ee6833bf72ae21041f2e16d2a978190323eb90b0065afa5b3ca708015d3bcdbf5bd56182bf0d38180cdf348b10bc6ed03b8e780f67723c9c325c2e39d359e10fcf26535510abd38a0614b1a13d55231ffe6c2cd2760be34f129770a3d9cae43c8f591768c0638aa2ea83a4b431039da969fd355989ddbb03e4bd3c5ed526fcf31d45c9f4da969f08ebb95b9a44ddbb6a78a9713bb2145837618025ae3cb22fad066269aabc6d1701cd8d948f3c0d28be15b8cca0997bbccb12412caed96bddbb0c6327b8fefc82c0f3ae14b9c9295d5e8a32cbd3f9b09cce25ce09e836200f6c333fde5c40aa152fcf8496f82ed5daff20cdd0cae88d444c87a29a16ca93551d3a94b16ee556b078aca740a1abf9d6471154d6a23e77a89fbacf32171487dad907b63c4a216255c119b2ad8e878b1e30748f90c0fada7f9f0ab08431f085bc6cae877ab6047fa293ea65c17d251704b350c938810868709b42fb91dd3ba0c6635260f2fab92c457b7018cf7c33c60c3010c0571a43d86464341115ca2401c1637ee0566cd60e8e33ed8b9816faa9cfb33ab1fdcd49ad5ccdaadf6268243ced350a31fc36d7f33cb66f6647038d53f80d9c1b4a674bff594f89ad843b2d4229c6de08bbf1570b3d7088c530e401b7c510a27c1452c228e7d0dc81575016841007c73240e1117c07d0297d5613f12dbfc97334253d4f360aeac12535a3c09e96968589512d289c02caa5affa5a65da26182a69386051704eb5e8fc45087c0041fa53b07272d56b0e64a0037d4119418dc6bcb074e00f2818b95ecc626788ed48e8ba211bc6e1b75b81893ee6cd223a56ddc901ae08ad6a8c58bb174b153bd46dac66539b8bd387e727a13618ee130c1656e596ccf68ec7446f4b2db31a6b99e0e3a673c651c1ffe016b022474eb7cd1c2b9c0cb0070afcc185ccfb9ba9e4352c0bdc0c7c0d2ae9bc3201837aaf1d56ee863f1dbf45ee55ddc5ef9e74f35124ca075230a5f4a3666ec64c082084ed1278a35b12dee4dd0443e4c64a1c27c14153430de4090dbd4a9c330c14d5666ccbe50c33fcfb55c4042232242232094815fc8bd7550a1a485dcf81910286dd327572d4e88a00da027e0eb9fb07910d031fba53e71cca62f561182277f7e6ed2f457f17126fcfec0a4a666624d4a0ccf1c57bc91f854e16e6c2281422a61b126ff5c5d9f73f2801216d4c2c35200d27bf8f46a1228ad15d75bba009e618b453a406b2b2e64ba53f59106d6fca43a3dda0dc62241c8541b191583d9df2cced826594504eb409d90f3020d2109bf753d8bcdf1206d37359af83e28a34b3bc6ba3b22130ef26e62b960f2072e791e3a5027ff391c625d31bff68a3a08bd7ab1a9231f61341298528fa6f1801e1f8740a53c92b8fa00f9b7a3d5ec40bca70721a62b66f5fa5f771d9fd45f8f246bf5854b122a39a93c9c852495a2ce168127063aa09b21e31f868853a42fbb7c4c1da04ed7f8cc23db8cd88b7f37f415311505eb59ce78358f53efa325de000446b8f2ed8209570bc497a0b72f4563338ff6852ec138e609041fedef07c1180534023cec2106798d425b5a0aeb905c2edf0d2c22d0363b43b7acd0f0f23382c0eb43f4af325a8a83c7ac5d650b0c508cc2288e855c63ee1a8c634e4cf8be096261b612d28be470415bf281ac4c119f30f0533e54b863419df8a1e7e73d6274117530f04943e182ca09ce42d4885fe3bbc47c870681511b168201236484019c067e9851d70c78849684ca4315bd4df5289cf1e2d697c312e1d25337d7a8abb598a16aac586885daeb0b2d66befd6ea9990905184f11ff0de9340557ed6174c69ec6497b2aab7daa91960b4aac06555174504868a34702c8df5a9db952ab10a4f275f035c5d3cd6427c77a43e717ded9ae48c83af35cad752cc02bc45649c00ceb1b879b241aed9dad639285570809d13fc5708880bcebfbf0ba799e4d66e7a2b314144000889cea9a7158c6cfc7d19838c38f5a06230034522287f3ac88a5d6d5f400ee57e59b0bfd3d2dd9c2b4d185d1e70851a9baa2e6a81a920694ffe5e2f7f1830cabce527ac6420f9861917b9517b2d1a73cdf04b986c5b3df11b4051ee2058ec859072ca111051d1bf40027127fd8c87eb743b21499a3ea0091eb4f03567f0a78347868b8f27e83bd8d60e560164d4623a5a3642bdb420dd9df7be85443a213aa1a86b4d1f41553d72146d72a5582482d127235e938a17610bc7f2f0b755fa3ec97a09bc11bb822724f82b91b394de6d256b6c5275a7d1f24710ff2bfa2872ad59b1e5ac108a0e4d56f88167e0cdd662fa31bd0c1789dd52afbd59ff42c7722c0590a6b59d09681485908a522508c160895681f5abbbfa2165398f0ed442370cd835092f1261125549902e3d20166f51133da34e8df52398ab87281b2d5cf5337e5c83298ea05a18afb6f1aac93a8f4bdcbc6fd784e92c5e277c581d7e2d460c85bf1a1cc65490d389a559ab719b548249a369721fc16b939cbc6d437976ad3ea92a9814e26978e667a08a0f83e14e638870a240707dc48a1fa09eabc090d47e43535e03e0eff148c3d1e22e728452acbbf0fcfea1dc4cddb5a46edb0983da5080f65fcd125e78c86bc667c7a676db30e770885bb9dcc613f626881b797c6a5ef816edd4af78c87e39bff6699356abf00b5e04a0c65b1328cbad5457d8dabd64834d604b679a2ff68f125d015726bad270f637c3f429095d89757f4420d5812d7aa34740a80847a4c41d628f7d745f952b38f7a50f70ba7dfe744450284a595971bf5428038642c7ec9e64e8b2815fe9678ed9ecfe9c5fb6a530624a4c79c32ca4d9a7897395254bdeb340309313c273ebbb11e7293cbdb3a67f143e72d6edaddd015227388dcd59f7f95af8cbb177d1aeace4b98b7497803b044495f4b7d1af619971cd0b82abec3862feada146b3c2402d17246797f38998d8dad045fcd7162c7b32fbe8a59afcdd50beb6dc730a039d5a465f02b70d7fcaec7be33356955ddfdda28527d8b39ebda35f77e0ec6469a4da117b424a56bd287964d0bbd7f8fd3d243228880b576af803a55e872097bfa8e2705aeea9383362023383e4b1f8c272a6d4009f1cc26067912179c590c60d8667be6e44f28fb9a0e5c9d674787a69b0824319fd56d71291778a54374a51b04ddc026748e9179711b02543c95f7270d0e5944c16d5b07f4404647a400b40d0623576dd2c5409fff8a6bb5961c69cc1f77f4d2e6268891a8ee5c80cd7ae885eeeb74ac66726089b29723ffbc3bcf25990418d3d6889cedcd65b619bb896dc54980a09b6e64576de5e391202edb85bfb6d1e887ab3133315b727324ce6c2cfaa5d58ada20a2414850fbe5633c5e4a32c3a8a03c6f976dc56a38935a746ff6e4a470bdd3acb155d96b7e33b60da998de7a6207d8dc6adc6c93e330a4a3e04309426302014ab982e20919ea060c33e31ea906a5984b48e91ed80a73bee5bc3d38b066cdd5b26e282cad874b9249313fbd4045c524aee0fab360353c31f9b14dfd8193fc812d6864e0f3f1ba1becbe4740c30ba9efc3935964ec431afd4a7d3f3099450c4b741fa0a53ea08d1ad631de2f17356663bcbe6e6fc8399d7e3b41131d9e4625aee153ea0f304062721259a1d78b18facfc3ac2fca49fc7378cfb2f0ba4a46fe2d64f91f974c88499c2c997034cf752d1cf509c48929c8963c0625883bf3025d65bca2fce5e64bc7ec601958e4a3365425e111040d1a23db927886813131c96b0c6e20fca53b8454d2d03032a025da881ed8b975636c842be92a5a8ee5943dbd1ae471ed45850263254fe4f473104770586edb06b31b0cf6ae43c21b9185802338a76daabb4e949dca466318c9ad44d408622266f50b6879ff32af6c176e41f1de9684fdd7e58fbecef110e12dfbde88a2b00948574948dcdb0d26cd31ce05e883f01c9684f65141cf42e2132b3971bd029722730dd0b3f2f9d73a48743786f88bcb231a4e8a5c8825c604949fa9c8e3ced559045b6456f191472ae1366b075258439d55e2d5c0af4d136ea91683fba03acaf30f3bad301c8e792a7c8b613475f88e5cc120d25af3e2d6a915adc95ddd14d678a1ab5a89158d81dc5683be9844f4d06bef7664d53f7964b6a5ac95326a9c8894bda59568e7c3a80c55c5c5e96e29c8e5c84b7d04f538f97ccdd4090d99c6c5870dbea786c81cb32f998d36f9d75f9ebe6e990b390e9a99613cae806f92c5380ea1fb64b0d888b5e146bee1ed12a798a50ce35c31a04058c4d7c50b6a3982cfa255ed4c03b8c31d358002f0b20500e6da32fccaf1acdc6d1a8eb3430fef7057a2902ad22e88dafd325378e39980aff20496d528e03be028146b618c262dc6df70e74650a31a492021c1a7c3ab80f3924c10a9d2c22fa901cc385585c5e494771952543869714204b4f1a2b768d730ef58424c1a22122025b3ab6e66f2c2f3423d2dfb06075a5143dd5afaaf9e78a972720e290e960ad64fa64e0c37015284fcda2debad4914f93d64eada2ad96cc5567071f6e7d8fe1b20b5e2fd1039dab61c416cb196b38050b920e9397fe388fce4fc32e544bc01397782bb5c32450441cfd11d56c6adcc7b95d51a8ae6a8f49cc206e7708930df06df317640909a901ff551dde40b8d112b74bcf1914882397093901ff7b8153ccdd562020180a89b0a2bad6fe9836842450b52eb415601d2372e123cdcd221e57aac86af15e261ff01324aa0a2dd60f96653c87a5e11cc522c03dcfcd9b42e2b85491aa179360d044cba5bde663ed740a02647ed567374048ad785a0385896dbf4f89c4c10e1da497a13ce767f382f798ea1fd88b5423b5bab9b92d19fd1434ed6bbba14b2a6dea3211c8ae93eaea8d86f019fdf2e3aacc99394421ad32f3303287125a8a865f49919345dd1027193fbe08f23771bc14fce58ec2d2680604fc62df5c228dbd90c5644d0888f1050cf946f75ebe62480fefd39641535dffb4cd80592df0365fd6e44273e59a1029284fa996de4c4b9120167385dafdc2b82a8763bc9bd18f571b682e0fbc908fec2193699178053261023137cf418c8196c593c5adc76583b542ce320565bc0d96b680db81b11f50141a266b7d240379208e2d7fb2db7910082e9b4addcb375d029aada8ac242905bcb79733502695a49f8d0c1656242407b5b0fa66d33d67a69a8bd76c8ce28863ab5d26e9921462800ab682729460dcde0c059967a6e11d4ad25342ce5427b695f32dc4e5039cf6829566a2668343e1a1e9a2858baa08a2663d66d7b5999df5c5802a38fc00920931979284685d4557294aeb2d752644dccc04a583e4190fd2ccec429421854c2db8317219a3238a7a7e1b0bc8855edfe2c1d9c9a7dfe9e74f252739e4a2b743961557e2b8b0007336a76d3aaffcb461de40a24a008e0e5dc3d1ef8e6593ab4fe92b3e8bb8ea05e2a260b456e8b0a04a317d1cc58286265208224c9bb5340633fdbd4781863b7869325fc4e5059de214033a8b23d7e9a562c560678186630bdb04c3df14169a6a5d784a1a2ea9b7482549179965db4259f1f376910f1040e7c66896986885bc587e14a3934b873b953192dfea058f0ec083192a78277b216bc067e473cf9f0b530701780d866743c8d5f75c096f0efbea19b35c402fd371ec3bc61bce4a0a8286c43825016e0bacf510d952227fb5e1db9b53767dd4057c506c13b4eecc2f24e952450f2119f6fb18902384ef0cacf86ddfd636bc6f991d74626d9884162fba9934a711ad873c27de1114bfc0766c150503d0167def2448f1cb65f628920625e226c911d2b8c7010e925683312a64257447a281110e4d920a901a30fe991893678c47e8aa7fbc1b12c622729361037e491f4996cd33b17c31a0b51a7958f2e78b7d0c1b724228a2340cff3004d258abaccca231a7ee3f6811753ce480701e6d0fa7de0199d283d49aea13e6995e06833525eeb33bde3db993d71b9fcdaf8fa4920f20e1b927e6dd1bc74a9159eb247fff5614c7d4306661bf33e4d344c760bec51af377761104980118965eed378e6d2f77173a9984815fb7082e372a5fdc0b7c9a559bbf23360c39d2ff0501e5cb930bf779358425a3c2e8ce26f6a7747b7de5b525236911bc4d5a77355619cab3caa80ec49f443b377e5bba6b862596602fff69e7775402e34ba693d7a5d7170177b7e593da40562abc819cdb75b508d3d62c3c3c194eda476e43b30aae3eef113ca140cfc214adc5624785f9186293ba443c7433a6010079c82763de5a681a14d736036d295eb48a849ebd005c0698631b0aaf18f309ba6e5e3d1d49e0d0c174dd303352ea253cad9b6d79436e33852291380221e3e8d4b01e26513ad0913014a4e182266ea2303b8a7c1af0012ea15715a06929206d1cdc021a616a9b00bd07697ab9b97f6aa611ff8144f0888c4dc88a8971e671d429d8aa2147de76879e256a3798e40a7d5ab5ed50481d7ab16657f75c8c41e82241a6eaa87aab18e7393c60f553c98dcd5c6a5b3f9d3eca04309a8734a9c238a941db8772c97126a575e6c3a4062c99b3643783e555e9132d4b019bb14528812adbc1a8d35414f33b322c7af91a52be66fe0ec525b1bb4786e2e38a0eb39f4ebd4f93aad52f8f294720c9a5faa850d8eb4f325ffbef5492b931f7de88b810b64fefb9e156c644082625afb89dcc576c6e6470b76665a3b09855dea748f1097cb037885df9cbeafddcef640ff394782e70b4bc81547a6dfcc0ad7fd8dd2f02fd11c5802a11f7f6714ca2ae3efd24fbb542372adb6386894d187c5023c6916a4e8171b59e8c8eb410f18fcc7b36a11135855cdf11b6cf8c3ec079fb3777b0653aa0752803d2b9b2a5d7d6a165babb052d6499fe87653ccf9fdb9627482692adc1ea4ab0a1818691d0117c01676e3e7719f4806d3bc2bad07535bd873f75cad0370a7e82ad89a4fd1b7c84eed65e7d633467801cbf7c7ecaa5b585015c6299028a302084dad7c7c69efbf1f6cdd0022c52a554c7c9e725d05f335795ea417ae0964102ea3e64b11ab962a43eb815bd1bc377f807e6c560d4d5ad7b7c02f2bf1e01529bdff403b84dacb45faa51977b33aab44cb44f09e561a9b5ac7f3afb278552a0f3541da4df8ad1e1454b396e2ed6f22fa37a4171355e37e4afb32b629dd636affc50816564373b8528b743c9158cd3dcc378e766ab691e8d049a20fe84dd4b8db6e3d640fa30cc776fcf78a22e0e24d60eb204f71d3c385820d750937da56871b795add4a37336b7b43d9018272fce6acc91fad0323442542c1da2a84bd643b28a0ffa06f95bfd9c30f8a9bee279640616847acafc37bd1b69959365605f10fd0dc2aa7361b0263924d414364320e6b5592732697a1ea9ceeee5fee739d1918e40d5bd53acbc819613894330821ce99fc728519c6e7d94d05e5857fbf7a8e953864538b8551c627f34c24cf9ec6895daec7d23a6c658deffdf92edf441c3a94580571c1aec2012232eb5bdfa78110b41eda841418e02614542b4c87b634f318d076eed135057f1346657ce88c1a720fe4ce868724917455f92ca609d476ea6cd137f8da5fbc70e8ffb37267a692976980d9bc20c304578e5ecd915450e9df93858aae6176cf07404caebe61200f9b1cac8ccaeb1e11455b875116c0de727ebd30a53b43826cb57c218e3bbde08b8898471e0f88cc8d19a9c1b09c77ba6d47b33cb55e2d2e687d5b6ccd0530ab2b209e66155d1179f2923283dbc4afa9d6e9634db9274f2a4ddfc22144389a2da946d4e8f6039d8bd9a8533e654996bade5cd3fb5e7a3d1ac4aa019b38589ba938c8f6450d5d88c8c38fd5e1da2f60ca10e0b06c634a037758df446d70a027a3c933799b05810efd68d47ed306d9c28e6feb1484f5e4d9bbaad1811ef176281b5bb1c79d9fb322c6ddefb023c2ceefb31071efe4a1fb89ceef5988c1fe77ec8870ff7b2c88b83779c0dd4af78bbbbfcf4204fbbf63418cbbc943f736d13d4a04b8035a9bb2835b4098153707f969d6c38a6d3fe673ef04931b73394b1470c5c7446ca3168106153e981a6dfb76ba793b8fe40cb6b307806dddb0cedfe1a0a2abc002bb6e66845084c36af11ab37682104b03f8646d646d656dafec2da594522629038808d207e30757a60366dffef6852e526cfbfa0b4d4e6cfbda67ed675fd8d9c7ecfd42136c8cb5eebaff52694efcd9adc3fa6bbdfd9087b56aaa1a910a883464c5b1f0fdaa11598375022cc9810d7669c79c26986c9e2fd1303f5bb749599cf5f59ae7e90f2670b669c71c266836cfd639a8d5ce7162888d801d73728064e7e4408a9d535b7fa2db4829468f3f939ec23cd9b5c1c5bbc14bf77de47138cb3967b7acf8e2185b16b6b0e5d8b25cb2ece7ca0539c65996b3d768b1ca2cfc99fccccaae7222aa8d3f742c44dc63c7188f1e3bc6262fdd0781688c5959ce5e939d0a8ce5ec6e93311d32d72f79f8b63ecbbed0535bfe5b60d03af0fb67a2cf1ecf16ee339c3df596d1fb6399e1df64e68e419e7bcc5e939ad6b6d774b6e94cd3daf618f4f8f3475fd18f79d14b59f3f2e78f1777c8934c567bf3eabee4129e12cccbab5bf238c676e3bf315be6e3cf1e259452ecfc234f2ef115fc9827796e4455095c6683bcc8b337cfee8f173d86c9c69f91805a1ff224cf067911676f1eddda0be54e28b5d8f8b3cff83f937efe320a0c1834fe1063395b9f65cc89780a7f99939e10638c0bc8f1a3392f7062675bee9879c643fe39e54f1de4eb980dc8e2b4eb5339bbd9d109ce686b877483331a9cd17787140367b4dd21dde08c066734dd21dde08c9e3ba4a0103aa4a00b7448436fcb0767b4dc21056774f425f84852844d7788829e9fe9b5ad7da9a556add30bb9eda37e739c2d1758a2a48b204ba8a0a78a19184841922040b8e0e3481033e2474aa72bc0fd0372cbe849777ffad198034d81b440131850cc4d295ddd00860d5641285d1541295d05b1854929a55bd0770c3628e182758522504a29a5d4524a29a594525a6ba5198a1e644aaea84f98b7526a952cc10b4a524a80a0a409196d6da084862a3909a1d49e94b06087da095d77ac829220c67093f0ecb0846305cf9e1fb3eb60c7a743a28cede3cf2e62cb0eaa2fd01fa810d4077d015582a278a20c9d456c91a7247676fcb98a32b48f28d464023575809a40404d22a066125055a0543bfea489323e1f7ffa882d724772314f3bfe9c8932b22a628becb9a2270b2b74d1f385f94338657624426cf11a9fc26f767c4f4519f9e3fb0fb1c56f5c08f7e12f70259c09d7414c947175115ba64c117125bee4913a882d13034113a14bc25751ba228b2d87482562cb544d257125cac027938f92102f7fe8bea0bbd8b1c28eaf81d83277268d22aecc09c4168aca71e3c61489504ac017a05bd1dea64de2cadc620bad99ba85f6cc951d66cba8e3c296516a840411c6221e9117b8d56ab55aad562b118d68096e86c3e1a2104a7131dc0a22886786423f883c3c3c3c3c3c3c1844339bc416904eec992da01588064433c2d9f42866941a21a1c5c736894631dc28a6eb621423bf518cf6110d11f188bcc0898684444336d1102d1aa289867c44434443328c5b8968444b70dc2ac4ad366ea5b995c6ad3edc8a5be58b9be170b82868dccc879bc9b8198c9bc9dcccc5cd7033d60da5b8186e055a28f509a5b2500a0ba57228758552a11406f18486847ec003e2e1e1e1e101f1ecf9d2566f04a2992da32c402b904e6c19a9e2cafc530bc987498812e9871f7da11b75a1475600d15a5f6cdb910da35428154a8552a1748f6eb261ac75d7fd6b948e42d7d4d4682a4d89b6b373da39ed9c764e3ba79d9326a315a19db4d3678a4fcde766db4115555115557af21c89f3b79b4d15da54dba6d29b4adb5474536daa4d95e9269ceed964429bcca637196d93a19bcc26b3c9e828344ad7e81a5da36b748daed135ba4653a2a9b41d6d47dbd176b41d6d47dbd176b4223419eda49db49376d24eda493b69a7cf149f9acfcde7e673f3b9f9dc7c6e3e379f1b6b55b28c8baca71365a72c890c63ec063b82a95427d54975529d5427d529f7e426984c8e22a3728d269340f9f9f224512712d549d448a23889da244a932889fa4c9a2ce30225dbc97a4eb29e8e94f58c44590f17ca7a369df568594f9625919d325486ca50192a4365a80c95a1b023d80da6c254980a53612a4c85a930556e927b30194c0693c16430194c0693c164721419956b724daec935b926d7e49a5c736fca7529b9764c97cc55c4753a9d4ea7d3c9aab1a6b06ee6ca7c8c31177807f7f4f4f464920bb9237bb2d0b247f6c81ed9237b309cac44b5f3f2bb76b26b07bb76f2b543af9d6be7dab1ae22b44be63a7dae53769db0eb94af13bd4ed7e93a59535835d68d7563dd5837d68d7563dd5837980bbc837b700feec13db807f7602c03cac6a7b952446cc149e0cf3cc57b738f5cd55c998fb16d627baecc5c99df6232954aff35a499296afcc66fde6ffec66ffcc66ffce6b27012237cc228114671218cda3446691f8cca308cca14a330ea1eb93757755557755557755557659bd89e2b7365aecc95b93257e6ca5c19cbfa2c6aaeccb75158dc75ff3b4a543b73657e4b8bc9542afd779dd6d62c42e6a4c3114e47bd93ddc597e6699ee6e9da2850b6e6e5676b6c8dadb135b6e66d8dadd9f323484956ed5c3bd60eddb93b734756afdb198484976a1171a5cacc7a6a31d513c653c9cf9faab9a3b50fbb0f4bd3fad03477e60ea816b17d5566b68caad0be7064853d475d7cfec2d117f6b4be90f483e90b4932bb6587f5544f7b3ec6b20c193c1208893dad479a8931e6d3284e7bce16928f58335b4655c495f959ec90d65801a70bd5e80babf9c3ce9e325c8cae882b239c18c30a1d8e7048347b3e080967f19fa3cdb323007a74f2043dc8f48a1d2b694e4a29b5161022c913c690c48a2c24a9a2024a24399283244cb000104996d0842449d84982842446e0b42ed190848924344dc874c86ace788a47d2e0c4efb1258f4f9a89433da6c61e3bdb1dae882fbf1daed03b5ca143bda3fce4e32dadc9ba347235c4e86ac8d6d28e9bf1089587518ad6552b557918250dc34ca8e8d6697d4a27a5f4a50b018d9053118850852c0821033e504030e107503012844e9a64264916fbdab10a49a260c9e488a3aea1c39c73ce3973b06ac8263bcb7fbdecebb187dfbd1e05e20c2082d09f7d10da7fde662913d09f3d0efd3d0eedfb8cab45af99bd7a58fd5cad98ed0071a0e5cffb2f53c71873dbb349d6baebfe4b255309071b15a7345bb80ffd045d2b8f80dbb4ccea21c4c3562335556daa911c1cd840e9f5f7f8e3a9918706d5080d8490230c183f82ea296bfd4bfe5696d793456e5c5ec80326e5f7620307d35c998fbd1bb3e567e90395d01ebe0f3da8e06738117900f9f3391fbe59adad4ae849bd242b16728441238e568c39c6cf5bb98d9efb50487292e3429ffdcb0c5d5128f4f766cfdde7b8cf42a24fc7fdd1f621f7f1f07d33d28f405a7bf1a19016d2425a48e342150bade3b890ee90f622d117bd14fa97f9e25fbce3fec5bf9041f421d1a7816c54494139e99ef4990cdcbff8423f654ae50b75ca177628f3c424fa469f7d0e79232f04fd25c140eb00491b1ca17580be6e49ca1e94693fb5e7beb0c7d67f2fc8133dc903fde6c9cfbc6df485a22f94da4fcd6391e25291b2096dffe2def6697f3dad3f9a46e31630d8e27e32c659e457917889871eeae7f3a948e830e248f0082def27e5bff8059c457e33fbb2ffb0d44fe8435091b2a946b4afdac81a6af6a9292fd5fb61561f043db6fd30767386bfe7f761bd55e436449ea239d2ffd1d65e69afbcf2f3f9fcb5b44f877c6db10f3f3ab6d76fb38cb9cfe7f301592f9421d5ec6bdcbf38887b4e03bd05b218237df7f60bafd6912cce300b646d6fafc6a5e44ce89bf67eb63ced85d96f2f38691dd957b9ddcf7e03ce72f1cfdf2187b37c38c083b3603fbf07ed372f7bccb37f3d4c7fa1f639914fc6592cc639c68d0de12c12093923adcf6b640dd88ed904fbf0cbcc388a2db674c18e395060b169bc61cf07d8af2fb8c1897c379c457e6ee3258983b3400007e6a518e8f065f600f9f533054f5aee507e3b669326f29bfff3caf1043ae63451239dd8f3679c31739a18b2e78fc059a41391357c5e73d1bd633669b2edbff865e98f4418043d7637bf6f08c8b515ac6a3da2c3b864d7078f681a148da4a191349246d2481a3089aef55bb940d24c1c1047c680596829a594d5b2aae74bc64b139bb55629a5ccc193335e8c01b3d0f3258d0585d39c73ce399dc89cd603b5a06d08ead661dffe453d755d14c3a4149688d75caf894ea45639a43a918f6783afcccfbc171818e8d004f3023ddfb2e27debab2755f685b1e77d93b3e4cf63be2257429aa507e3b7fdeb6dfdebd9979eb5ebeff92fd34b1fa01fa0d389d09901c9114698c123b40efb75d75fe2669fec988303acda8a7be8ce59ead7fb173442d750043bbed8e8016a415f1cbc54ff7e1058eddf3107c5b37fce3953d546ebaefb2f954cd5880eb3257fe8823f34616f65b77ed661a5ec12abbdb4f5d833528d549c39694d552315a71a99b3a6e84f6bdff0520c74fd30e2cc6a6426a73e327f2116aafcf97c3e3595bfdae48ae45371aa118ee3beda70150b8eaba96a5391701cf761455271ec94d2654b2e82beb0931a0f5b8d5423db4312c70c41ed01ec98130593cf67afd64ffdd4ff7c3ef5d6faa9ffc955f6d8d87fbc50efe93e8c406b2ab48f17d2fdc9a1db7c76ccad43146c1d9fc75e67d9f78592070da7949bcc52cb34f9794c7a912d3fc33f1fa3fa0beba7f985a2eb64c5e9a29432ca8a45276fd761e12a24b1e2ecee0ba5ecbc90eeee6baadac4ee5f66e78515898cdf7d17bb2fac3815a7eb3a4b7afb3774b59baf75b3bbddcbe9eeb1aebb3ea0ee455dd7fd8947fa78d83d12b9eebaeb5f765deb0b5d38cc3a4141859434da2ba1280205102880d806d831e7091c1a639c747af8ef8ee9801e1b5749bf70eefb920abfb1f9c2782fbd4f27fd76ccfcf1a3bd9f73b61eb5387fbe68fe9007ccb31a3aee17ca4dbf8afe3efec29b4dd0bd9f8ffaea6dd35ff8f9a217bd6481ae8f07ddd617f620c261da6f17249dd2ca38659c324e197f3e96376cfcd1b35846f9f19818e32fbc1f7abc3d7e10c6cf695e9445b6e62b9f0f7fd9c35fc80306dae6677937dbb72efa53fea46fbd74224ec4893811cdad104fa49e38798cf7e679f3f3f0f884cc16c08e394ee0ec03ec98e30412bbc6fc427a6f9e37cf9be7cdf3eeb861cbbff96796c38c3b7a3be6962861c5b9dfcc5f331a93c62ccd96939f24ed674bca6f2ffad8bd8a97e2a178271ed67abb7fe197f6d4bed0e4b227f6852edbaf8f87dd610f1dd677e7cf4f87fc1ce45fec0be5d349f2db84851fbf7c1717efbaf9828365e950df7afcd7fa6b591509b6de5a15bbb8984ca5d2ff9d5f2d1bfe2e2e2653a9548d542335558d582136e6569cad77fd2ce5961589b5d65a6b6535ee67cb128d541c9cd1b05667dde7b58d7bec39102ee33ec40c5da04fa62cc5d8628b2db65860d6fe95d75fbc1a910a10bd8f1e638cf1e8d3711f7b6c6fd8d8868d6950d918638cb11761f73d97c142126c1b33dfc564ca31f9d2edb6e25cd0bb873f9087f112e7d96263fb207fd0ce7e99d26eccddeeebbe83dfee6cb1ed16d6bedbd8f794b3804e90f2faa010ed8ff3741f4620258f8dc50efd79f8dca0afa96a231580ff7e15c90e5d8274c85fe8fb3e961f561cc7deb35c71b63f8a0efbf773cf0d3c36ecd0b082a152e176bed9f9a9b7bccc95faa0cf1fadb58f79d5561b59837d9cd5b89cb779dad3bc8f773f406bea65b6c42f995cb6bd420faa8fb52fc4faf385bafbec3974efbdf7de1bfa4239f42f9e439efc4b6b9fccaadb9660de7befbdf7daae64d2332665635f2fd9f635fb1ffb5987c4a9288163969d73ce39e79c930421cffee5e11aba7c1743b70d3d05f23cc64bf6031ce8498f79db9ffcf66dbf310cc3ee6f4f22911eb43d483f28a4f7ed4235d0db836e8ebd75231e95471d815654d00a1e75ebe0362eb489443c6acafb80025a01f2c21c1b24c3933408cbe0c5b9752ff46843a9e0834474cdc1c37946e51cf66b8a670866d8da87e377c826d17ee68cb386e780f19dd63aad1eadb4d24a6bc498260173c09c1c2972902305127ef228b4da8bad8b5d998d0bb35ecc72789148241289b4cc86c66426818a71a2ec62a3cc46dc59f6d7b23ecb9ce338518d918cd87a94131ad2e2389ad118d1b06a62764643f459ddb6ecdb38ad13cf7697cb6c883039c29c84cd0ea3275845c16c0ac77d17c718f60b79d81cb98ac3c9fb59cafb2497f7ab29f9d7f3ffd108b65b5971bc64df5dfe689437d7335b46c37e5b46437475c01fea2468943ff9f02d29b341c26487f9093651309a825515ccbec0ae25c922fbbe9535fb92dee2d5eebabb69d7758f021a9d93dedab7bc98d927bd7bf6494e727febef0e78b6cc76c8cdb9bceeddb79e65c9cdb95723ee3bda30f088fbfb9d0199a0b56318c7814dd03efa177f00fe70f4a26f2423fdd8c7273451c64c09e5e767fbbc2697482c7a98ec6ce12d3388ec0c3fdff30c93449a33f833c518f365aecc3ff97df23d6638ca9f3c0e943f3979141c293ea07c0a09891ffafabca467fac98caf4c14d25b528b0c3f3f93ee2767807869be0c1e89f452ca7b2f16fa937ed4f5d8dd88f42f937422a5d84f79953ff1522c0a8e94579133ae92e2e9b97292d9f0d975b4eb3e58ed3a0db35d77bb0ecbd74cf8a1ff177f18ce12fee63eec3617eacd71ffc25349f150bc132f83321b214c72988bb039c22809ab1d664f48a4cfb2ac8ff5d6738931ac776f347a91e8b58c86a8ebbab7f63bfbf249a4bf975e3a7a3b7a52f6220f7b99653432eb431ea6c36d871f6e263963a79e18db79463927fdd8ef5aade2b7c7c80b308425ba0752a1e7e35932b9d0cff4e5df002288ec3f2778c2ff04d86b7fb3ff702913c05e7b1cd86bfee1c8fef3d5eaf4baf55fa6cdb01a9ab6d32d72943dd031478a2176cce141cc0176cce1c1cc7eb1315bf0ece6dc8196db3f460c346a41ffd58ff563fcfaa5cd49f7278fa3fb1319beeb5e7c3765f8173132ce723fb7cc20c38bf7b733ccb0435f867ff1195c820ea50d8d94fb3b74aff23b9c3cca099ec0f1e251fe04327c29f3bb577995f7175fcafc52ee3781ee551e47f72a1f8e9347f9934779942f6fd3331a20cc0371a0efe4b1ddffc57b6cafdbdfedb317f600daa4cd8dbbcc6ce9a28c19a728bc7b241a7d9e989f7cf7384ebeebfee4bb1f0e943ff993cf879347f9421e348347c0728b1f3af4dc777ff2a169dbb8e020c1dc5dae7c85bed370b985b3d0f9294ffffafce42ac4528b949be75cf967d07b8f8d659a3fec25ba9a9f9c8931a8a4213d48850e65cc8b47faf78b537b190384b7a03c7d391365cc3f79dabd08e20a7dff7a982bf4b3e7c06c11c1cd315bbe07ba6df015ff13aff3fb69efd3242f94a84df3465eb889bcd0c47961c80b3f9675c4fd5e4fc5a74fff3afa7be63cbde818c8843e6dfa72e65732a6b4a9111d9af0d77f71d36542631908db76a28c8f8c0a90369f65a6c3bfb844e225fadb639fdc8931b692b4c9f2d35fe83b94369a27553106fd0f6498c49994e3ba96938f983ca24353b6722557ce929fbed4c25bbaa7a5d2ffed3ca985afd09731933a75ead4a9d30f6040607165041d9a4c36b8dcf002811b208e0ee52ad324e88e862a38b3c53457288bcb9f789d5485f1c6041641cb158fb3c4388b4b2d7696384bdcf7a3378b00fed02d16513ea2605f915dcc2abda014b49b6e8831ae3605b2f2cf67bc441fd4810e7136fff22ccfa74ba79ffb7867fab95fca7400b6ef179d52fa2a9c07a0488e59abb3c3261ca14f7b1c7aaed48f73459bdfc30df47c9e8b3ae873fe9127f2382fe481bc526643d26a35ec661288917e26171b76fdcfe7ce8cc6b67dee6d1e8803ed8fbdc6634bcd03b6b57b1f9bd1c035daaf9fd71e9a5b34c8316b20131a0472bfdc40fbe39ff2fa926736245029662fb672c68fefe7923281ecb187c93eec83c9d14bd462200e34fe1abd1e3b7a3c60dbc25e28a5087bb0a62d716a0dc0233ac4b64ae6e6fcf4f58138fa2feca59c35f7e08dc6be100391a0032a7a90c2b2ec2d0b845fc78ebbb7077dcc76dc0dfa74641ff75bde7dccfacc0b7bd48cc6b57ef3e4d67f3dcb7a4d43bb1ff3f599130b51b0b1efe6b71e76af9dd75e8979f3af77fd95d1e8713df0891ad8773f1c63e48bdd2f6502a1d00d7df7c311ea31037442678f638cac792ff35a3aeee39796853f661bc616765f63ecb3ec3ef668601363d8df6bdd8b599975b52fe57edcd8c37e5e717a3ae475fdcbcc3e669f6fc7ddd9beeceb80cdafc78e59f654ce97a535d21fe0a82905b5a0e9fdfaf5dfc66ce1deff45ef9f2c3ffb2c3149bf94098c9e7b1ca3e73e1f9ea0ef03f7a30fe318bde8459f0fa21f7d3d6664f0083afc0dfee05ee42f65e8eb274929e5db8c86d4ffe2cfa29ff4254f6a2126795affb66d200ef4872f5f7f68f6d8218f076c83f4bfcc6d89d1532f66fadf7fe4d9e02bf2459cc9fb3e5e7877f68505c8def5376cdf219e6fbdb8e30cdc8218618820624a27624a27624a27624a27624a27624a18222ceb133f089819981990097dd98811055482b6a1bf2705819798924080482040f67c91322fb17329492983558c718249d0f46f804c681a9c25d49f6fe0fc0d21f4cbf42feaa9e39c3e607ed018e3bbf795b6d699d5a894ce1deae90ef383965bd2f951baa7a45bd95f4eed14d7883b7fb57298055490198d182d3fa474c86ace788a47d24819a343bae5aa3e8589a9af2941066c0236d1114244101e2142ac628220a173ea04c1d961a71344093a4152608f12201390894e901f4b7482cce80401e2e27b71aa1642ac0364a503a40948e80041820e9022e01270890e901f55e81ce184123a4708c17181ce112ad03922a6470788133a42b440858e102a08c162ab44b00b7a4f5a2d9d6f452146d8145f209e621d203fe8fce0c182ce0f1c9d1f3b3a3f563a46ec2c41e7878dce8f2938fbd6afdcf95e9089bbbbfba52013ed7f4126eeaee22b73a37fe5a6766ef573fa512e32d8052d5fefcf49081241d821de4186089142881324193d2587081639446ec02b74cc09427d82ce76d431c2880d528038ad5198d63182064f1abc120d3beaf8d8d9d88e3a4600d9610995e3e7086601ec02ec02ec02c738c805c805c8c5dde04a832bed1f475bd882115665c79f564ae12df6a3f479830cae74fc786182c004c9813902e6082d604e30272ac0180163c40a06080c9024303e607c6001f303e687146084c00851e9f840d2b343aae3a3089d999d1d9a747c1021f35c8c41fa183c32810b3eb930e535e21304c3a460a09e9a140c03ad6018ead4f141a4d66a2dad3d983a3e9cd82ad1624472fc2a48af828e0f25c01e9f60cf943a3e5eb0678c350532c8b1010ef0606baa1a11820e63130943031dc626128b24568e31cd752a5577a5e7212ef992d6ddbef75e6cd538c37ab1b6e5c91b5754d0615c7d2f398a8064671b2fa64d3d0ee458ad307ecbba42788da5ecb1f10dc27eff95ce7cd9cffca9f50e900a5aa280f698ee47c0dc6f8d78babc4c69e3920a5fc264bbebae8b5fe8e26232954aff5fc86d1933b8d2f3b3cc2c2fceb8ac7d0388207c86f5ea5fcfda972765f58f121dcafad28b4b764ec9c4c4c4c4c4c4e06cea8532666bdd75be84154a23e8d067587f85daf2302fc89895a9d6fa3da5d7677512a5434983849b9088484c269309e38b31c658da60770e134a877195a3083a15048f018fe8f86936ec90862d616ca9b225b7a5ccd867e6abc35f58d29fcbae51c4daf0bfb4eb47938b95db16813131d6baebe2c6b08f6ec3c6b075658c06369fd32a1d0c8f2985fe79cc1047b4fc2674ca59a8adb6da5a4b2ebbfe07e80e7d7a8cfc8fcca71c6184336663d7cb345de2b12bc8dbbc198dc3ae5f783d20bce4002f8797e2002fcddf8097b29c99a999f918a64774b617cf696277198cb5eebaff928c8dafe40dc8176709a3fd3ce52f5e9a3432d9d90ba316264ff910145b9655b22ceb6df096ec2d2bc718d667cbaaf55a76e32fe501fb7ed54bc921c4c14bf271f092fcfb1586e74cbce437b3be574b0a3a741ee7e9e67c1a4a305ea563b26718532a3195c2c1572a0c2b05e268f952041dbd2467cce59a0d606400a30330660e11941e0285112bd0811580d4cc277282c064cb2152934a5981b1d65d574519868542258cb5eeba9ae3f24c6bafd554a2c10563adbbaed6cbc5b4ad12081880b1d65d577f5b186bdd753507c65a775dcd512b88a46add75200fc8c5952b100839c014d6054804d0093940a80181dca1d7da7aec3d0708a81c20d0805580558059a8016601cc02d8051804900848c8215ef33589ac292f494ae717e5f75ea2d6d2ea2edfe54bfab2e24801639b729eedb3f6394ab326ba9e3a0b268387efeb7fe61027e21ce7a93c278a5808f49837b74b3da3f198e74c237f3c0c3741679ec24e24e78a614ec407f79cc8f5841ff0ec2c31cc59ee6a06673ae8ef86f0f5f8a32d60010b58c0021600a2dbf555fa397b23f052c51f8f90e7837561d927b301daa8d6bc6b539154ec2c35e55f71322fa3e11f6582c6be8ae325f921ddb33e8d99669a73ce6fc5161a57e6e7eb73ae3f331df2ce9fb5f9ca6c609867d8a41a56f586ddcbc2f40079d7ea9fa18ab8a7e4162e528bd24b2a3a69231f63adbbeebf544a551c2f4d8ac30f4b2e1e8831fc630fb3454ae12bbe45e8722d95453ed0063a8c5c44950736b00392ed927e186fdc0b19c71933c023e80c9b372ee09962580d6b469ed7777dd6176357438c7103879b2eaf61cf0f55760d2a0fa344b15721c8c7314174286762648dbfd65df75f2ad1004163444a29a50d29658def10c081c30b935fe21f3d574f5a4fd644f0085a7ecce41070092d9f3a0d3c32355b664cba44f6d13ff35e709841bd38e3870e61cc0f4d159b3a7cebdf9743eebd97ab557e3c1c7ca5e260c359f2578b31c630bf6fafa591fa8a471c2a061a9a1b3876b8400e79e7c75d3f0e3123815423343149e87ac3570302379ce502393650bf071ece92527d863f9e547ad1f2a2af444c631c0c4d6cb1bd1d739ab8d93a33aa9db52f599fa7bc84adaff433f4f8d27c0bac810eb119a28cb8adebb2a8fdd963631eb06d27a5c10a9cc1b5fd5f70701627020e01460925e01474ccf1018ed65df75f9aa89a92d227a5363535294ece3e58edac79178b48af74ce1a9739c7e9d253747a04725d17bef0cb0ef35bdf75bdec39e79c7362ffebfd2f7c6953cfcf9c2e17c6d7e5658f35dd91348d2f8cf5f57e5dd775691daa9abe30c61a63adbbae5432995c5c8a60b048fe421e16e7f7c294ebfac022d9038b5c9f52c96472c12e45c022fa028b683cff028b804552526fb90e31c694fc59bff175e5d8f82decadfa39f69cf393e1bffe7aacb3bf852ffd3936f6596b186bdd75393e5ce8738134ed0bb7df202fdcf4e6f1a86fbd5bbfad1c7bbee7ac7eeac458ebaeab5563dc755ae7b0a635679e79e6ce05e7f98fb1d65d074e91e704a7a83976c2d873d3b95c5fcaf5d863ac75d78153d41a573ba6626a1557e0143a7ef83db4dcb69075273fe6d87f790eaa75d78153e83047ad5880458a14013a01f3469a2389ee76b7bbdded6e77bbdbe5380e04728b44a20f86a613711a748248043a61342275a0133ad227cb3ed9a7fb90b2b734c01ab006acc9c2e03ca01537a548a8846d1677b1643423000000f31500003010080783a2b14816c769a0b70f14000f8098466a56a008b32c49522084142284104200800c08008ccc8c4609ef0176c3def371284888524b5961820c3f007c45c849a6466b769e7de0c08479c69887425d6846429405ed4775033c8ed47aa0b053147af0e718550f163ba5a00770b0c369335f8fd581899dbc3d3ab2237ed55aa9676b0392c7ad9483ff8c7efce968e740b63b7e46dfb4e3274bc4220feff29061e4f4b03f9a178cd6d589a5fa449c90151ccdc60d8930e11f9acf1ce82c282c1f47f3af52c64c4462ef7aa5d64f7942ec0fc78f3341eaf4ca84e13e7bff1fe6cc74841ecc1bb73e006eeaff97ce5d526c61d4b54fd98fc8c731fd442043651584c0e7dc07edef649b6b8e8c475b6f5a0fe0342752a343a9f3d0756d650bac6a410fe6cddd8fd9f2784414f9d8b7f251a3639c67850f4e9deef751e2abfad4a64d132014a31a344e354f8c8a3640aba01ba69b1a7c88c8475d36a51671c747f3037d9f7fcb22b8535859bda5179371421fb7f5696e67096c2af0206067044787e34836675c4ca565b4cf4036a3c5a3106e3b090ef99980088e5c9de66d4a76886f21c224f9820d9ec41e5b1565f95bb09d939a345ca3a294852bb98e5ad2a0bdbf9615d4d3326b61c446fb2be865f428158580bcc1a042e1b442a24f86ceaf94d139a173bcf2d7731b417d6122eb0ab0ab912274051a9d30ce59293b6bea82c8202a449f4d7c65a47a270895f445fc04eae34309a568397c4f0b80dc110cf5c2b3bb48331a6a7c41b8009a46601d0550b104a7c28e4a8836d123497ee26e29f421f8ccd9022daeeac1f6629f908451ba7dc001a07c000805dc3c740328f5ccb9ff19fd3731369247797cbe764829e71c40c23c00404fc5286633e401b8de07b7850e1167fa80d6eeb8f287f63c513d5c3f05ebf40e603e44f7473f7269bd8440150222974933243167f768971c6072919882bd07a5e6ef4ba944d4cceeb02331a777fa308829bb93dafdd4145f77a9a7e2ece00955bd98e8bdd0a7986c7bec845ff053ffae09fa588527899b53bc39ffba939c26c010bedd594df1c26419680f354bc0a8fc42b36c122eb462c02fb20edcd0a9685dd7defe957b23fdaaa9fc80a44fa3908be34376e2bafb8988df677631ee23573fa4479332dc86f440dbec9a0112c06d2acb6d5fcff43be3f693d57b23598bea668f1cf5464444a351dca5bcfa7e2c690d2c8ae966e7be4d8674f7d20500b3e0573bb22816c832dde5ce2cb581ba377ad3fed00d9435bba70c819654999883de8eab83194e940508f233f9a43a4ea03ebcb51aa3352367e8ffb5d31f27f71f23439ac0f80ee3a17f4c84ececc0ae3fe8d87c6630161b2298d3d88ba893a762ae85a4904c65d14058108397083bb4385030bb0a65aea39d99ac1f9e605f310e26410d13918cb9fb08831ee0e498e3d94ac1d0931c3a2668377463dc443e1973fc5ba930f49243c504d50dbd1837c927c61cd7561a861e72283141b5a103e306f9c498e3db4ac7d0f3794a74e855fe9eb14dc542253872d136d433ebc50f8950496be71ae9739d3ff920c2468d4beccd6bb10dfe3ffe1040d7a37f557e2cdf318f6412b811474e1f2e2081cc7c7dbdbf3588609de869f1c1d1c41832c10734c1564108e84121f0f8f1fbb52541709249d663a9aeda07eb0ad19146f3a35522ca428db7ac132a9aa4e72c597afa28b5b424cbf6abeba1a2e09e3821d5b949e99fe02d6b1737ec38c28de82f6361e84eb32f6fedf67311d4835200cf16c995a73db0a7aa058dd479a4ab6b666085ee10d31fd8260b2682b5c43da1284a182ccc7f940749e946c30c62fddbcbc9d58878c422810fe7061970229dfa6f59db800b2b12f897e66dcf7edaa0402539341aaa6c284a57c93638ab7848ad0d2c4e7300ce8025444ed77693d76e650c69e256dcf5d8bd7ed4fb7413c5cbf6e6c32cbe8770d70275261d4c167c646ca2b05460977b7034d75e0129dfa7e34264dfb026e36c41d960d7cca941ce53517fa19524db0655e2ccf6ff474dd5554a1b087f8f06df86169ab1b06cc830c7caba52ebcbcc94f9d92755be81c49181402eaa9b2eec6991e717d592094683565e178162470c681a0139d5e6260d29124793ef13ba36e966b4c1aaae8ac01d3b07e24925dba3ba74660d25991e1dce0034fe7ffe0b180245ac4e74633d64219bd231facea58c16d12a161f3ef6f3ce9899fbc0ed4f0572c180c33b54ed8dcf72a55ad417781e9ed288add350faef34aa0d910d274a660e648323082af76901b24a8d6a290b722204d581918371d36db6833fe7416a7002fd5c086828f64efe9101655f11de49d609cb79b00922ba343d4f60d5739c730e3641ae48b47982e4b608ed73ae23d4ea5133508c03c0fa93679cf01e7fe2200f500ac078445801fd76bf34426204f1cafec6fd7b906c61c3f9ece57c3d1029856c927ff6ca31d872d0d670bf54ca7f41529ed61c34a3ef4f05fa87047f6595feb502ef09d810a768ad2f5aae499118ca3ca7217188cc906b844dee3037d44a816b6a0c9c07ced963452130a0f9abd171f166ebb751e14d28fa06471fc3f44743fb946afab4da657a9cb27715b6f3b41751175c5a4a01e6cac46e8b5d9d7a5e4255f4cf2f49282cb8038ccca53bc0c3e520ece524ce070997e360189b316637a53ed5702a5cd500ef778603e21575b6363308adabf64194a7fa61292cdd60a6b35eaf11182e8e5e1ea5e492f46ab87c93b72d064b4a7ca840f8eeab9dd12aefc8c73b07d00dfa31e58b603dd8129801553f1df630644121372df3fe578f4be6118ade6b215b530d00df6654e1c13b31edf284accf899fd48ca9642fc9a04218276370f95c72450a215838d07f57873a11a823cc574850da960340cd3c44bd09257118039e7857f52af0ca25cf1a6088190aeee4b4686de0651bbaf27e143e4577c5e5f69da21589594d32324cafcce0c95b5c51453321cd7e257606abd9fab069c28e597f42503e9308dd72effaae6f75ade58aa140c623b70206806720b8c210be184600cfb2568e31bfc9b838a38c6c3b9809172c09f94c541b2f930cd2a4335e8fa52475016f0fa9def38d510c846beec67eba7eb88085b33a9db2e762e85509880184ad6db4ab4e9f4adedccaf6af594aedac174215abf4ce2066db19c0caba4ed0b682dff084747d6703282acd4b30978a814d7927a51e5ef455abe1d4c412a16133f664e1721d79ef5041e63c500d9d165f943fc1fe37416b46698fee80870043fc9227c5dbbbc45d8c8dab4b6b0b5a0c48f0ae161a78371acb39d02bee20e5aa4f8d92e129356f0d81368a569ffaf876220b39ab2b29b5766d7f83e243bb4f6562ce1d77757fb2016059b933b253322d29b3c809ec1f758fa30cd9434961efcb599f42b5fa265675ad5a7ddec6ddf66548dc5a16341f2cacd73919afa43e95e796c345e33937971bef0836fccb93d8aae39a6390d4199743a6b0fd0a79484e1e9fb6141e805a9ba8080f38abf71adc58329d0356cf95901a98d42bfcf05ba9ff39cd7e25b85d10847b2bc936acb9cde5262cc3aa3b19403eab70f7c64801278562a1372bea5aae58e86a121eae7d6b6e5ea90089a862bc4d0ecb6f7ab7fc69a53278f4926d6905c80177985da174f2e18a0b544e2078f0648e7fb7e37783e11fb19f07642098f2f3537d64cfe9d93b783cace562576d96605f977ed41d91fb5a88409801abe9d171c43689adefb09c6922298b3f3201a11b607271595d87ecae0131c3173b5b5f713753a030ae5f472269b471b8259d808cc56bf8d6eee697ffcc6730aa979bd4df7b0d2ea933a338bab432a63e625881cba983faa1a64ef9f5104dc0a835a58e7b54ba9fbe35cf26c1eba932ac8da82aa86968433f4a2a3a65bcf1a6182faf2580e77f711fc94c9123e4dc68231a76ede0bcfa48d3a4430587aa91a433bd9be200d23364a84fed40d9ba7d357cdb0b3f855c6fd9205cc27349ae27c15fd684f317bf0c6adc577cc3800d618209c3eff0d7ee3ae50f676a7d355300c2dd22772c033d7c8bfca703bb033e50423e4aadbc0362342872134d75b4cca5dad64322decc848166f5fd2da3ab06c6cd753eb223912e087ad24fc7c9223461b7d60bb16cfe06ff551b1ed5caa4222f72002831c78dd93d290030c44aebfc39ec772b947b9af7f9b2e1a119f303ab4e1e2e9f899b28a2b48c477c2df61bb89d2ea5c2b08286f1087eafec6c225b010c25a372611e0d87625e47c2272fbc45e73905b029b8362248696b6637cebe6584e7a6588d31f50ba19703a9292c755cce4c1977386cb43e4a23d24ddc172fb4a0c538a188b4aa4cedb1e80dd387dd7b2da25111a5e12e5d02a443f78dedf79b52d901f336b0230fc83447066baa37d51d5baf5e886479143ae4a4f74cdc19b8c45ab030c040217d6bd5c4e0f577dff94c5f43e3dae41a0341f96440ab801b5510b14f75f79552ad1d488d8dc62989c9bd0e915f4ce0e242d9616176b060bfd2cd7e8a8a7253dbead1fa7b3ec1de2f2fd23a9f3df58150c46ae26dcb3449037b48fa5c958b50b87d687d9113e42e20ed66fcac83e86038870d4d3d84054c426e7f23130c2487d418965f43640d6b3960db113003875d8699dc6d152d0f5278697c2df7f4a8ab9738dd88bec6880d692bb0e6d31e0cde5a3b61ec05e722aabe5e3c505d490e0438ddd132880ba73c52d86a36cd0848ff9f7b7278c79eb86627676f98fbb164cbc03c32cd1df31db94c06df2948bf64249497959b5e91a8fbcbfced80f5e59f9284d6e101343fc538083179a621e708afa74a72c53810fd176c8ea3dc16aab05a26ef78091bc7a4f73dbf0e36bfc838e764f3bc0a6b1f6e8e7253a2bfdc4e318273684c8273340658055978935a701ed0b9f1edba488ebf3693739efd3fda71910dffdbe83c0297e4efe8dc2fcf2ae497007283a96693782e73fb377267e7ed4b2daa2f08c0a8f9fb0211d907e0880253013bd2bcc6e139e1de90e0dca7854e02750fc98da28db838f83985c19ced7171ac4467d68bfcd9e4e2043f44171f706b721d1eece2e55ef0e2e3442ffe01a2302b05fd852f7e8d703956c2ff764b7f6cdcf8961e8c731a6ef2a9321df4440d147a034b9d7c80e97a56fd4050c82ea11463511a079c375eb626fde67075aff65c3071a7ac656cedf54176310a1d52862cb1a526b92cd48451db900902918fd41c9c89dbb331fb670e19778036b68846155106bd51aaccbbba49fe66965f8df616cfa768226a62fb300797d67c5628a0db420e5e197ee3fc9de459a6c6fe8e035c7b670b45d3077d9e116a02c1fd7caa1e60d897c846a90855ee01eb887be15c695853b520a73dc2be125cff7b895a9510b0713925cfa013d35b5d177686c885c43fb1e62ee8db620eaa49bf0100bc14d1a950ae4f7ae30fbd83432280fdfe4ba60db6df8a5bb10ac2ffdd81e856f790c675a3ae17beb438c363a4fbe21aa3ac3c20a6ab62059b3a9e3b1587d91dc979249d18c19c387dc581c1421f9a546d63e99b194e2360ea73f66ade4d5a10bc81855fbfba36968be3cfff4665521b23c10dda3eeaf0493172f272d1e87e53afb6bc761068fad672d4c47602f6df07f2532181d8b600e72e84f29fc1bfdb9a5287858850482b29bedc0039e8d090e26c9dab81cd1d4efdb0b1f1c0ac7a93719cba278215b2116d0a4045857985f7502edb127f2e922144462d0e1314b21201e1069673f2348fedae44ac6d899c08a297d7a825a18932d1025449ab147971cab4a2a143a5b0a2ae5ee9a75a85858255852988e6cd64fbfb92118672a2aa155e09f32957d3dafe975aba859082b26e223f21d7a3c8227eac78d6db1f95d285abacbe1790fd47bf9998ae1f4965f6470ffe8b6eef0d5b37629b23bd31a50650a629db1239f9fe19146285fcbb10813f76fb52b48a2577b5491aaa0bcc1057168ea625555932a15d619ec1c354320c2411dba7c6631c2ca5951c4fb372a1c2c36f0476b0fc3788ae381fb92342071682af38bbd6f98a73e2d8ae380b8519d88d771ae4e0b92acaf51263c0e3f66dd5cb47ca0cf11d1993204b4aafd8b9724d00a770dec29900f73f9d869256c3f57a788b2a9f58dd3b9e2fcc9ebc0e721fb4caab863baa393620ae39ab7c90158c00af3fc1bce7b527bb69f9f879a897705b82db22a483f38b5fbc0801f9cdeafe3042da4db2fa50bd5cc81cb13a0b4c942efa1d5f041e1163dc693ee0b5ef294df9571e2c117ca17b09ce971e46eee9cd10d894cf1a983f284af23477fee64b4b081dc217fcf783d5564dd2aeca665579615035a602086ace7448648a66b3b32ede0513605a89fb6f160138fc5e4a2d839320f752415636195da5df8ea040b289c2edd83e9da3c4d3b1a18c9c0335fcc13e15350704a628c7c05f85c32359c6f6239c9f0236352d8be389a503905c9044583dcc4b01b300b48e519e94941230c0e2ec364e38fb798ce96fd31b39b853e0b6fc7393bfd177019912e6e517a81cacb8afba13c23588b109cec404d2e4d311ff25e90ce3c6abe96c3a5da6aab95b74610311be500986d6b73b038fd3e31bb20b822886e62d27465e682891f41c75213ec90aec3ed1582e5f67bca9c30fc1b93af28ec0e2552236078275098135d1d938ddb9d3888b64206c6ef0703135bb1e0e1d8ffb094c990b2201b2c087c02772ce2d5bcc0db6d2676b91fa869db115feac551783056fb7d393925dd8717ca0c2d3d81e6912e9e7d16fa6a0f60180e3d5152e48cf82b9cf2a6b3dc246e76766195b883bd63a67d024381cb51c5448698d3131f399563dfa6077a46239c1b849ea3d39ebee3b06cbe12119187ebb504a9f39d51dee6761d2fc2cd1bba7923220026e1ef4cbbb2bea949e92fca007b706cf840bd3ae417a3c351b7f98948ffdc078f256dee62df320a831ae9b171642bf20b94917bb9bcb6fb8b033d939c2bcd1ce4ac7970a799dfb724fcd42b73010466853cc34b781e987cd79e87d40d3f79675c0e6f4ce94d505a31e7e55c496da3fe77643f174007327aabac2ec2f6564055ec3e5239c8538fc8ec5ef9f3a45e87599d598c7d399e45a6426327ceca3b810aef9f16a736e049b880b8669f5835c1fd2fc04c8b4c172e5aa832cdc5c43dea3809300811d2e194507b59ca12d732c0fcd15b37447e18f150af7cf85b095ff8a5d8933400f8ef957b691e1397a29a98fe490acee9611a6286a3ab6a73121bd9bdfc2364ab4838c9ba492bdd89dea0ae9b2830522cbfbd85e266614e5547a9bc4b4abd2c171fcbd69f41c9bd1eed9ac97855680fab2bc18c09f293e0302993d03f97a336030ec948621bca080ddd0c07251f37775ac501a9e8057149ddf60d76053004dd57819fe7f33fbfb4540f67126241db6c45be302795f9e30040ae5205c933f7f8740e7e735eccd6200a0507ea8826a1efbfe7c749c43b9bf48020a1725ea59e152d27510270fc50295d521e1f477eeaf91e5bbd4f0a762f8da50117936d7c0e9b7cfbace6633c3880d32178d450a1fd4a80a5af1f95b373eee3aa84efeedaf6c40e9e378513fb8741dcbe23cb9dda14467a7f55cc44401519001791ea45bbb227c16f753dc84d8bba2a9cc744e69afd284ab891af38fc8822740806928812290374d312fc55f1155b78b4a0359c83cbcfd8a8be045c3e55f5cc6b8ca652f593e8bed9ddaa921ccd6cf2f311d7eb9268b5eb3d0e00394d022f8fe38485a0c26396b84296165aae4eb286ab6c700ae3078376759f6ff32a4409116d7fb03d220787055d55be0c90f8fd7339c55d225eca883522f2bc3e1875ed30499f9b5835d39426c2b6e6007ab9f7c02f45c870ac0d9865490d860351358c5a46091cef3b1c14d0188d3c96435166dad505ad35d7dbe2aaacbbbc7d7a3348988c201032635c493262696a005e5baf637d2cf4129bf42211d67761c88b7d6764cf277c79c1b91cd30e89496dd9347fcf5cd23d62ad3cedf102e7e3332d5aa438f58d0ce04866c0f770b308679b3aad042306032102b862c0abe1c8cd15f1f45b23637f8e7c477bef320d3b06e05972ffbcdfa394d87f2481986a310d82353e521caa8be1d9afb9ff12f3d8a224b057ba85c384560c3b04ce0aafdf011b737edadc4dca694cff8a24f4c8e938172a7cc5799ea77d05e73d60bd2e6732bb4bc10dc3495b54d4270796fb7f353eee31be7a2ab4b4135ebf0a2d3107474249c876dd114521f871d75f89a3170fc86782bc243b5c9ac48823c3e8940ba07c7716461d2b832f6e83a8de90775db277c4d061c74810ac375fedb8d2629d1da25113c1d7cebe5bce6602b5f8ecf5009551d62d96a19cbf8c7ed29ecee53aec0ca98fc453120d88ac071d0fbba21cae608099da7e62dcbf864ca403103ba1c7c3cbebf69ec4501ad8885d266a37d6b54642c9116874a5f734c28c8685f931249c38982df30e9383daa882b9e37cd6dc43fee6a59d3820d22496bf869170a7f45c41bc3730ab49c34439990e9c165f5cad45f9e551040de462e033bcae45985cafe3854c3361d15eec133998e698e20aa9b75b38a7dc2b91c51b30adee0f23e00b132d4b699314b91c896cf939ab5d9e2375c16e120a6993f0f5993d31893d1c555716d164c3dcc540639cd8e59d3ac9662e5a93547ed519a2b31d602ffd688e68376b469c20458318dd2da302e134299cb58c9afd1ed13ad95b63931066199479871dfacd479c47e2b2d11809bdb6fef58789f07b757deb59278844f4e75102748f5e14a05ef09477f52451a7bd0b96706eedc399bb888531a89172f9cd03c1d751f1fe725f0d295de1dc2a82d06c87fcbddac68705673b3012c01af34d053fd0567243b979d9c80e4d0a4ee6bd3000f7c25cf95a73724943a05bde1d2e8ad8300cd9e6572781ff7807fa5e789a171c19f4ad467787eb33d0ac921020b9affc64448e70d94186305d38e8ea567589f55b69e9afda7244b4c6b1315e8f7730f60597ac6f71997799160af78ea94a0fda23171db6c9c1bac868516e92db90675fc86af731bc688a8b43d53f8346ae9f1f2901b4de6246b095221bd979c8ebf8ac3552571a6e147a141298367be7839d59952884ad42dd646bdd3a31e2cbd7f5cabc48aba7a2b473d1576c98abc998e8ab4c154f57e66ec1254ac041958216c9f4562e41ec8442fea7dd884dc03628568ca09fdee9148b280dc233e937baca2cd32c24affa3fb7b3c254fd04a2046fff1a5b64e49bbf8df53013c6384972089ffe3a3bdc2770df7e9bafac3c56a93d6d74e0fbaa9f58451a36203a58027f6d9f8621fcca89fb01d2adf07fc011e70119dde92becfb32edb2114a1ae7a29f55d2f19d741b87e2030cb436587acaf3ca9516fcbe03b498e0b5690300bab0581b3002a839f256bf1f7e727faff67cc80c8feca416e6bee0f90c7ad92460082324420bb829670cb10ae8af4682aeff29a5003ce626d88d55509c438810882fd619cb3670c733de5cab55704932f5c7a67504115cbfebde948e5797f0185bfa8200359f5ee57e8059fd82f44f2c19a9466d010522e390c903e63e27677911df207858bf870620341fd6b4b22611a7190fe626e341e82574584520270317a6fce4ed32ec3e556135495d80ab8f5956242a09e9748728b1aa23c3bdd544c88513b2604b803224aa727fd424c9025e1a008477718339a084e5f573bbeb15493021f55e0242be8bd4899e79a263ee83d97325a8ed7bb7f010154db0a82f2070034f3a6d69db952aa831807e4c4a75120fc660a540bf2cc6bb043af5ae341f031d1a44b1821fee9f4b030ff48ca3f355ca67f58295d98006c127a5a7fc84067bb2c63fe4898126c4958614a82627cfc70759ba39c6c199847339a453afd9cc8145398ef84e48a29ddf8e9584e593879a29ef00144a5d502d0bf4e9efe9bd2e50d102ba5f56e40ae58f8c7c1390fd210524ee68f29f5cfc8589d5b9426536c4726ee702b2e53427f5c9b2979e3cfef65775f498aca4a88e1a7addd893818e32297ff7305cbbce87867cb155298e14fe9d15bba1e4c50e93aee6672856777822542d2df384a14f431c7730cee79cdef9db3426a9c7d8e5d5ac2e9a2cfad764db24078d6d23ff5fdb873b4f043c99da35878992f2d81df83e58ebbc4aebdf1d91179994a1b90dd61a3fd6906b05675e3599cbaa60c499843cb178f2dbbb2857ef4058106e5e48f7b17d3dd3d107f9fd92f493d3c5d92a331998e335d2e9c291831814b14b999474cb28afe97a024484cbe330b15696081fa3e56906348b66ac0fa63ce29df04fab8f0ee4a4b4d941bada37e0836cf071f7af48a2fb8dfca4025a39db03c69b85a273b72fa0841d4c422f0cd0b932f53a6b4770ab0be4ec279749c30330b756f057be66ac45f4e7c07b61bd2f15ca4688b7e5cf5a05735a6a69248604e0b7faa793126de9c1448771edf13443ddb7c8ae12acba99b984d0cbd53d1a4b573c4f89e0ec4d00c2086834d61b4adbdd861b89ffe4a68f67113fd896e468aa74b4ef4e18704522ce6616c6029aeb941ad479045138bb692f45acda4ea3b876c07ec354860881da742b35ba7b583c939bf11c07beb501deaa0ceeb58aff652c5b0d184458471a8acd15a606bc5d139fc55e3a35eda6876a0ea1f5c0ed0054a64b14e7f2c92cf6ad214525b57ac543cf0ec33d5b7b9f88ae58cc43eb58df8774c469ac1cb87b33e87170caa0813039e790e400fcb0894dafcf1ae642ef69718c532544ba1c5edbcdabd9e40af84e73194fb1c6609a90f482b2f95963631f8c3b27dcc8637ed298a177ceb5ae75e5aba6e04df918e1779a1b66ec4b14f17842689a13922ecb2e2c376d4c3af942995794674dd61993e6377f0973c0e44d0728cf4680954f59ade7659f3aae24837ebeef9607ebe0ff26ef16e3d6f5db5e019c601ae4b4e260c6e3bcc6d6061bca726a03eed8d97f43c913c1a93e5bf8f2cff7d4696ec1237cf024e173a3ce96eb278f66333ffc5dc99d27dd8604afc29c97764b3b5af34a2d1fd29ac15f8e93c6c5699c6d73b124c5c5bf684866bf73dd480c03c18a7d316ee6d8cef83a6d1f44e2b839874c5d5820ab48155d2e23d9bb4c2bf1f45639b31787e7c9096becfd76fd4e219c9cacab8f160da89755d7b7b7e289333461b15a790dfe15f4477e41fd33ad53be7a45aedf4fb54cf4aaab2f26220d1f22b8df4bf5a7588efae010a5c2690447e2ca8466165ef3d2b7ea79105d9bc9a429dc0b6fbef69745c8a78b013d0d8e7dba22b3f8cf2dda8b0596711bc11290e4bf8fcfebfc5f19fbf00052ea3a60860f924eca20caeb1ce9798181d61f23cc77ffd34fcbbef7a28ca5818172139da09118be0d2c22ecdd0656d8592845718bd38d5b25d2e1307868c3d2cec1539701084be042d4f8f1ece9010cfd58326e932618797b9bbe598a97c4c716f8ba10c9c00c95e761664f528fd8c91164962b2ab9615ccc406f0e5311b246018f39fabe9c3e0becc9d48fa7f93a7a2daf107cd9527bd76be9c5cedb6d6e82889f28174600aee3e6cb582d8ef89a860396218e4732bb0c91e91639c4a6ccdf9837310febece82b3a0cb753ed4ee6ae0e713f74ce21e4577bb442c42ed33b4929256f88652571a3df81b5ffb5c84c29ac24bd1a528eeea39820f06b0886fad820f3866a9985ee41e92496058bd85b58ddb9e59fa7ba238e19b761ec5a679ed9d607d5ed1dde1402e2bd97e942c80fc418d093f1544f9317cb830a44e7c8feb141d510e911926598b965895fc52b7bb010e9015dbd2e829870e164a77dffb00c14fdd30213d7c3d84d33d7402a9701d7a9bc07fd1dbd3f33e82b91ff478345fbb0dddb5bc9fb8c0a400528a125123f12bcfbb3452bba8b8c52d5dc6911c9746fb92278589d7d69b10a6d49b8a7c69e776f8c5da2cd41f2f13e658cde7742c26926f9f403adfa51c965de26aadbea3e0753937467a424fc6ee049ec35d878f92d4b0e8a1691333324d5c14677fe42b89a802f9f306161f947ab9cee7d4291d837926c8ef8e6b294cba99b99df82ceeb61987b6de79fac5fa9df069985d6c832c60896fbeb1beca87c7d9691f5dec2f62ff6b219ccc58ae31d43bd65a33b5c69edd4a1219cb8d1888177f01ee8f28f7d9a586c7646f259fee59fa4dbc65b502489f880f2b64f3227dc7898004c1d3ede349f075a156d49909efcd2f6d8af65eb1b2f7c68aff3b46d3dd8c3f9c39284ae49d43fca945fc95b94b8b4c5d55d683f78701cdf17cb37ac15dfd2108dc6099231d24fddab1501038463d7c36e7aed43e416ad7b7be064dc992dec669c180c15bc13bbc98429705b9c3c0b390f66b5c34b1a98f3d1d749fdc2c8ac8baca6a00c9750e00081c0c2558cb9682d3dd4b64432cbc9dc74da139b4aceb7d712fc500f074d56565002141778087d5468e62530bfb47d52a19d4c41a82fb76a1c96aa6e21a46f3bc15113e1ad1f53f92d4fa524f874c844c3ab602dbb291b1e156151364167e679b865380833914551a41818ea8185df5dabcfc9be8138380ff3320781a9f523a7b8c73e0010e6a4ca5a2ea0845926e3d7383df99750a31e324cba03b30009140cba87aa22a21fc1a8c3d79f080d73cb9f7aeee6dee728ae472ef8d0668ae7822ab3a9a42888b0d62a44e59a82cab18132639872e4a1381c84bd2440196639d2c00024706534dd0970f2d10f20c5686b04f9e7cb31897084e565c349571ff8a2a30c54a96282a4b89f427ca72ca78cd89ad62bdcfbb4ad9444595e5507f1d00996a8fe0915baae473f0aea814c8fdf85cda64f7df563c326785e0d43857059ceeb52c0d2d6843e56d7fad67dc7c8cf4edde76ba38ed8f8df2ffbfffffae09d2fc1bd51bc6ff0b15504153928b9d2f33fdbbab6b07263fff8e3ead35eabee3f78e437d8c25cf6bb3766125ed9a6bf4e8cb77477f79323afc8ee11662b07a2e40223e06731180192ef1ee6ab9afc4eaa4b0c2b0c88027cda8b416c1eec08c453915c58a6ddd3c7d6e53c97947dd9c91531f19b2c44c01a4d38bc24587218b19528092a2d6e72090ce22b4a92706880df234bce422f910b65e0a0206a7340502e1af06b034a3fcbfbb57def4a1fe6862938e7a852e728fabdcfacb838c7a48b1d0e3335568d0276590d2cadf08d271abf45d4045533e01434b4df0d796d0d63eda897eb9dc2848c410ce472062420ad759fef4fde4de7cc11346429d37a91c4bc8a4606f59c2418face6e8a0195e26f67c7d1029cd8cdaca2feab2255382b82f9c49db04bd3066a52af9ce089859a3fd9252094c1aec8be626e2fcf741c3370ee37041ae8b7cdefd2d77fd4d27f45863b2ab3eb5d9c3e2049fb31bbeeb60d4acaaf876e2d025f5e7c4275c4d4becb1f7d0ad325ebaeb3465527ffa866eab310a2863924b375fedfe2dbbe13522afd0e74f3a93a44b547a3fea844a50fe210f0df2d11f66f0de915404855f1d10bb7ffde5583e0847016979e8a4265630229aed47856ac6e033fbeb78e59fcc26f2cb9430708c315f48f9ecaba6f954f02400138b8ce18f6adc3430d5518d0ef2555c9d8ed66666e9fad3b8a8fb8274bba3b82518bcd36497d278d12ff21e82b02fad9d93cd955d8f4f376aed06b5a2327463e349a53bae40e9b4ec277804e2ecda248829bec50f5d7f73c31005915e5317e60a2086333cc32e62c63bf0221886a0bd0cce810fe30f5bf5c2ad2154579f5a9c51ce1d85b9a22fcef9a085f0985c898f0304b2b54d215928d171c6d66246840c6e4e487f12f3db78fa09cf7043d38dc2c70b41ca85f52605ea09f2e2868f3ad0efdeb83e85e7f392b8b88bcaa7e8823b106a8a7201dcc7dce79401e54f79602d68b0d56bc1a8b6e45034a8429dddd6530a94c24b0f6f348970f97e99d8b46339f795472a276e5b89e4e34f19309250a222a27e4703563dfafc63da7ae111d1b3859efae21a8fd6fe7d05885e79e02d52a13778dc5143c108326cbdb039ee9d7f999be46ea776dd826aa46e0903d2710a1cc2ba37813817d97096f881500218627de69ec3a8003edbb9cf50cd5300aa48139bae7dd4154f77d962efd1f7c5b43d7a54c8b86ebea4fa430b0f743b102504ffbe710a527be92d327c3244be82335cd87531d9996c7ab245a63f2f877dd7063aac9f264b73d528f8bcd9daee95489955b1060ee4c0dbd2f1f8e0450d17adedfa260c1034fd614b563c3abb47adbfb6c2cd23299a54f0fc5f225454ad8e984b9a5bf3726df30f3d700db5b7078c222de7c7d779e5afc0cb1a4f7a883282c639c91d8a6016bd42933b0205ec221057f275a968e65cd6482d3de66a896054d340bd1ea80fd0f446aea7479f534b2a91bc2098bd4d28206ddf827818ba1618188541ec41c15fe3b539dfff06bf5767a95a10d1cae789e39b0177ce94f82ca5f1bc7b1d19c674006cd3c30c0e6306366c101560e90debd41eb0612cc045b1ed3b5184fa78f7d96dce82049738ef58f8efd1615051cd347ebe5e2fc84e074663c88126b1ccf60f19718d9c85d437d8495a3cdd6278bc05a34731e9d94657697d415d3aae15cdc703b0cfcbea5574ca19c0b9d451ae769bf3fae4109f24db632abda35c6e3250ee94122f6a3fb80d01d5c05a8fd180a98d74ddb47cc5b9fa9d1e4e571c495e21ba0cb01073f8d38983f2c83d660b5007bceea36d28a55605d582547d559edff490e0e19977af7dddd9ea09ff3f5bae812505adf2b36999831e16490436adc1a7a9b819f35f26297f534da359ad0f0fa2a8dfa4af6afe05b552aa3c4938e210bb8e5b405930fe722c9799eec66e06ae9da77ac8b376c9ea2657b7b3a7b26cee0077b9ea1681041826ff48aa3978b8890d5b6e562a4f053ce4631db427e8b93de1fc8c4e39cc8849657a2b2f77f8385fab0e8bf6bd337caeedce0b529026fd8c70795bbf11da8915150eb5185c54aca9462fde18aac9fabc7ab93e632b69d77b6dc56ead878b34309fe7049e2ac28bdacdaa5daf9291bc973d56759344584736b14199930ad6c7e5befe6d3785855e0f573e86d240d582a610fe57104bee40fcae3069bc69a3642aa4e4eeab87cb93412bbb7dfa93591287d3c550a0000e30e94d1f0b1bc8d4ecf2f2f598083e5750023e7b7879379ab93431bfe96c27026ff0e839a321dc857679626fcb6a86930716b5f266738ff84cdc0eb5e83d6405cf45908aee495a7ebceae52071d8dae1d87cb09f740e55e2f0d3973bb6994be19328d495e3048115a2de11837dfe2a51015b89776a10853ddd4fb7b580a4a03c28253f45dd22f64fe93343580e260b6f4a0dac0653fae8bf0b898b5fc804dfd9db6a0f2fd5673761a8855b770cd02225ef7b26ce62d5f8fa2859fcaadb224d817cd7190f638698520ed659b41041cb502e9e5118ff32fe20a5706f1551513584c5a4e30b0c6ec6aae534b34a6c3b442c61c53284006676867ee061243c8c57dddad025656387a2dd40f131e86ea37c42056d2d15509f55dce9312d03e09b4e1bacef2cf580abcf16a01680f80d10181f6bb7ffa9106409f30cce22187604358c1f82e2c7d3937e2b9a2074183381cec8577ba34a374447788e6498543c18b8f240201ee8f5f7e528dc98243cca91034ae831258b5811abc0f11da263052176caa789bb22bcd66977aa888e162ee5d42864811f0e7dec167ce7fd0ea312160472e4b499a0ce8c3aab91e82b2e0e6fe6d8c35791f411d98ccb2c4793e0893a618276b0afc7e19bd5b6ab89890515850c9df3404723aa8edcc4a010b25c4843273aa2a9c04ad89c3168be327a3eff74b0dba448e8b22b2678d703be26e2ee61d207465a04ef278cfd83253eba3b570643f242af209ff0a3c7247f4ea0c673f81b25ecffd97c3973e209c799812181b25d89c5e301a0ec1b3b823b3b38c9520ed3e726e99cc3bdbccf1fc1b201e714cab0b864d8d1e1702d21d75ef683aebd43b1a8bf0a6b259b936ae54d3f9a11391792e35460944c4153160e4a2733e5bc91b06892410a92d059efcee5589b8a90c973a8f9ed8c420b73ca584a7fd7ce5e51d4a83e8a7ebe0c726ecf9e0e96dbb5b3f61bfe6da4434b9e8455d5811ca136d34395b5c3be8efb728813d7c779345ff8189fac8e730a9abd6bb907bc59d0526239801d36b018d6797c8ef376f34adfb3bc20fca6d748d267c9185f06456d307a2fc835e8885dbdbccda94ea8d83132c925ea830644150a4a6ba58e0c37b5e61fa51f22712870bed700f9f5d9680207f888c7e9db3d9a94df65c81611b8f683744c6eed53c3c84996bde6db24b3a026a13ff6f5f0e55fd1b807245619a98291ff566a7b5aad6c695fb7a43c4236d704054166ead5d003e3ab8afd481c51609a398f97965ca87045e41a2d3a1152d2b907773c86bbc5ce47b840b5368db6a80523a4107fdfc6bfbe9eaab63078371774332d61d66a68cf4e0e30a9d6093121d99603d1119201d82eb6a26439740f56ce64ba67a787007f2ae3f770706af89bd3816389368f09e9e241479d72cadd75e7db3d8acac3702088ecaa3e67a40c1fb637aec4a1ee7859a611c81f545d8cc6680c222c2e71640ed690ba1739dcdf85695238fe7f87ab76274ada6a833ddaa57757e1e128c45562adea0784328570ecf1ece248f41a95162f958a99c937b4d2ca285f20c08bd35d15633cbd99a7199abde5f0f72c4d6dfcef0f96dbab32136d32b2bbe27341cc0de04e089a965e4ea3492564d910d57eb51917a97ef12d10387c6f2668dd7946fd21915a14b238028c2c2b3fab3c3430c8101cd8d39d20ddf7ee955d255c11af8cb38aa9c72dc773ed6328d44d66d712ea23c179b444f87a3bb3f950786baca9918e996c1ea28b246f1eaa63693b516da508aa3c22f1811c18885638d0e420d385a2fea516076a0ffc6a518fb4c39f0e0e6c7e452e77e94e2d0b7ae3a768b9c097a2726f24cf01c10f1ac6b22018d4c265a40a19b52c08fa5c0d602259aec695a5d0d95d41fe1383730672d99fa78c2d4ab14cd79d2aa89420b92e6b5da8e1aaf3113f6e52309b52491266275324a6e9736e87e7da3183ce0d2f9cc7ebac570e9844d7e3ebcdb999d616309d7a1601a74e0ca93e5ddb004e84944084e5ae40cdfa01f038694ba08e0a77a746dd4169ecd159ced4bc194320772c4d311f978c12054f9091839b8a3ec6f7812d35e3d4d420bebbc505242c47d24d89e4a2e01ccb2c70ff085d4d1db73e2164961a006b627db2b8e0f0e0b7edff4745f1f1281f16e6bab251056d32bc12856cce8025bba644d0e19777cf71d83f5f13d2ff46b116a4fbf8e4a8303e58517de87bcf71a6ea0ffca79420a6336522b596217c4a1ed0b9c9783268c2834790136c20ba9c38d1215edaad640b07228b2673e1c48f36f76faf392e2359a621807ad9736560725f5a740bdc210cacbfacd03053b6439899120687ba7bb82ff8b913a178fa125f6a2d8dcc16dd91334cb886e147db516523ecf216275ca287ffb099319c8ad071267e0839cd1d36c90c12227ee030493489da69cc293c505e949d31650c7da90c6cdc3428b803ba96666bbdacccdc060379a1fff854ad3223d031a157b3b2937bcba6043745fdeec1a7d4732ee81ee6388ebc06d496f17d937847845dc3358ba7695ad87f7293e3b0c2e0340df53e259676e4cec96b6a6e23102b506bcb1c55480a4348f0af6f8071358aae3fdc37b4ce35fee7bd244a9f4aa4eee0c804a576da0c8465aa1600a52efbd92e6796ef736194038410ec788c27a1617f2bf13b47ac4cd52c42f6c5cbcee86ba279ef0f418f8bcf7750995e7ac22a24ce708dc7fb8002e22e22e4e748613e0f5cf9e5ac37f5be3680ed23bcdc9cbb780e8ae0e4a7aa41b0bc4a5bb8495a7a45d749b2c8a3f3288a3f0eb85ce77bc8041314bc28ae93c46e9dd946c07df27d30948719cd7390c414ac44ea1347880d8fa7834156294206a784468fba28d73da9494a8c694393b18ddfc8608852cf7c34ddd07af2015108fff79b26eac20afe72c2cc64e81e1dc177a356491777b96d849649ebe8758c6194ffd52a47bf3c18019d4721b0f48c3618d0ad5dfa865d0ca1a519ac20a7ce6b972881e1fae0616c911a214570182dd5a72f34f8db491d7d30abb76d2e546e3f2669e0d49989a7787b58b26a0a1d1565b9688a79561cd209ea5c7c9130eee3ff68f89cc4d15b7b66c05478b27c9780d9179f16bfa01a35b59ecb182b37cc98c0afe64102353ed99e2bd6969d91c24b1b2307171d539c2720ebd84334d415572868e98f6bb9f228fb857b7ce17c22e2c17a4bf0e47bbaa39fc17405d3335901f29463919114262046cb7df5218437a2131fc902324a2528e9569593122e0a544ac2a740c4989ae0b7fc0431d112bcfd82a28812ea228a6122c4c03258e63a1db6633651b058e994d14d01b18942d5393997999ed37780ec1aa531cafce501c3e2424a11b7fc16f4fbf97c1017cbc3802954db7d8d04d3f1cb5cd0752b73270ad31138c0168dcbb08ade3a05b70ce8d6c86b5440541782686933e3f462eda096b271c8df6b9896c96219fac4b2e1e8b900a2ca78214c0fe8e675c8e823fb58c089ece049845728dc6a8eea9219244db0eb7378ca09e821a359438475fc256ad920426e764cecd6186cda8becba8d7279caaa3a4c1ca55fb90ff945efac77b22fc6765d56a824110561fedb44576380490eb376687a161964f2b4dcbbf880400962542a7624a7ec91c4c297b8d20066d1ee1edbf25050c7c4bdd19558ed68e3f3b935f1ed75080b9cf63df3a9ea0f47cd8ef35c600faef32ac7402c380a87d7b5ef354c9c2a189b899286775e9d3c27c279184d9312f4fe3cddcd814ddb0b53291f2e1dc6363246262d12ad6ea52c84d2b6c7a03dfb0d840a0066478ed745ce547d581b8dd8b84cf3423f3478d3c647f19670e4023bf36192e22450447b0694d150f231c02a9dbde43c025c8fb1b013d7ba0f445cc3b8e983b7f5235b9d30b98e547856aefab3218ca287590fa3743b19697ec557e5c15ffef3d4db8527157aafea320ff6c1d9254abd8f44531f768d9c77ee47147a9bb824ad9ea63585eabae62c92d3f056554e8f6966544a0965888f28d6b2e48f2098eaa423c1f89a791f4f945067bb12e264c35eb503225d0241f83b3d96c7405db5f006131963c5bcea609c76379099a0d285ca8bf2ab17160498ac60246fa98ae03a9546b54f19a6c0f2e6a1f406aa5f4103b1e1c2be37d072a52ab02b793d9e02179261ac6b3ab7cb775367a62681a0be3f53395f51aa7f2bcb28515417e56c0a94af019913fe8ecff5f28225852002b9b413465cce782f2295c624dd3f08405e9f431dd7662bed4b8cf8204c0a34cfa1d5831893d4cc09cbe0d575582327d5b8552c9640ea50521b573c6071cbc039bb1a441257a0bba046538508e50625f659739a41983adb4e061ab14c0e19c1da2406352f1188dbdbe0aa4246965bdcf4549d64b21fc28d0c77429a1873ce2edcdba0d5d3d87153c989082702e0897606769427a57b58ba12063013b32f582aa2fd1973047384d5f6cc31d29af528987073ac9dc6c2c0844e1a3aba4d79ca85128deb4838dd03799ee3e369f6cad3e1244a126660fe888d5aa96b30e5eda99515324fc28ce0f808a46ba15b90cfc054e50641cd1fa435976b907b0e4d5bf060551518f0216925a7d5459bb04554cf4db6ad5b9889104de949cbb9d98b8df258f2e9146afaa3980dceadb10c7c4c62033888a439b75163d86080b800775eb176af58a3328568e05962947ef78824438079395439cc10913adb91300249918590c10ee3edbc6185825590bb848837173ed188b97b140d3e3aadbadfdd8c332496511855cee682cabda0a00ed4fde8bb742a944587e99a55f0121469752b91776676065be40c222535531eb4e9a7b10b8e0b1db1a57d6f72a471cb461911446b84e79aa6de8721ae741110d2bbe5f364c617e89d974a965232c148b6237513279802653f844447981279d937a55046e46c382d3d18de478f67bc8975c25dcbdb04d2f62812c65ce9ee9a70bab78da79113bf11ef876935ddb02f249af08a9742d2b20b6e7216cc07a999102b67ad6d925c8a28c4cc53340ede273198e27f324dee10706a4d75962f4674b73d3576205bfb8c3cb753b769faae1b9476e2b831306eb09bcb3e76f35d5d1d3c94196d96b339cbe0511e2ca507f3814601443997cad5a4ac226f70ee704edd07800a0dfd9da9b23ac9c53a6f11aa637c075e0f015a8deca8e2d865149c9ab06a5a9a93b1ecd6650a18782cdd0e904ccb6e66a6e30f56c181ef7b165b16b9246f21848b3c4ad6108e829e697a0d59295ddb54f91c02c79c7505f78e415fd064aefe5e2d31f6f049d5df50bea0728c30591ac50516efe657d7bcdced492fae7ff2c5183137a5bf928fac184e2fdad417768467c1944dc8167a8a1accac0be6f220b74e48ab1431ff1d7af74c398a1281c7998b0ac5fa7d20b06caf0bfd6a341ba78cfcc3930fb00a328bba88083e9cb53b74873fd33319ccc1bcdb72ee05f0bbcc8a155e42004addee6222d3367de5d36ec4b558ea1b9d8f6e4c234314cd028274d5eeafcf0f687ab018c7c095b4650391b819626da00eae09f98c3e20f396072b73d9c24db9ed00f6c98d15dbd16ac3c437cedbec5f9d26747eb967f478d9ce784f2887b454aaf28449f8811d29d0cc60b2cd09d7a971cb321a24e0c427bcdaf471ed1aa2813e0da7d8937c466b68b626423a7511f630d17a1ee13f8c9360107eab41889f3b61803bfd070a30c13b185372fed622f461de5e9cce0dc2e8807a9cc01f18a9a5f027091d166f0cbeffae7ae70a127a498bd550ce1e43f37df5bb5f0410bf0d62a264e50287c73ba98c7717d66034f113e8f0bf62baf25b03cb0e09ed71047b4f216419983cb8bbae0945da51771a81535c8716984a3108b218254df01779c8ac8ccf469fb20554d3f4c9eb5db141f3dd0f936c986d1efa16b99b4038246e92a22bfba96d2fcfeb31d6e10405965a01d944e33c93d6f2570cfbd6630766f097ad7775c33fbd01ebcba843b8763b88ba181b781623d7fa75635f7943750bae7a5cb0cf36de3e1ed4f32d337d2d565e12d33c92d40e462de0e51b8d9f863946491a0258a765f4685cbdad19febb9b179b632e2ed7f3f71e64cab87a74c969989c28c5fbde6502e66bcb6ed81bbe6c08a7dfe396c7d5a3c26c61a01e1b73de8640b43fce60e55674905318ae35edd9f80bec083bd929ffe060037d86250fb3ccf9c716e9024c2bdd9cc67397e12040c0ad98664458944c55beef1fa9de38d99b5527c01ed78a645e9172049cb73bc78125c5d2df021dd8b94397397f0f046f65749f6a18d2dc4505d2c55edd5dcba986b267d6a59e9f707c80e922e0edee4d1b49827cc16d70e09904a4fc0c7ae29cc0f3df4e129833497eccd941327f23be603ecd2edebc81bec36009f8f43e0fb033e7e28950542a6b6ce6aeed0211560f36c20b7c98acf23857e214d29eb888f58ebac0e094cceac17e53f7841bfb3a5f36567143c8c504a99365a5225546da038a4f20589a33cf138d5eefcc1d8ad5d77fc5d28988f7fbcac91e2e4a3547d9be9631be24b1d19dbf5e8a0168110194146a056398c172382291b9d8dd8430afe143a7328ae7507df11e32b66eb27ebb9b8cef5bd586b17e5b3d77b4034b8157b7278bc4aa0a556ec6219566bb7b14184d55cbc8347a8fb1a8c319e4ddcd1fcae0d6eaa0c627c28d7e8518149861201f3ca8da64cc2aaee155c5aafa07d174e19db46c7b86a07c2262c3e9bce6c4fd21916b43b2c6c99fa6e236da0b3ad803b8aa9f0412004143708c03c20a8158dd04adea8bd5d5d7ed3a4724cd5ff413caa48bc68ad2849d36efc77b56bbc8c3358aaa88960e971450affafa2b3c854a8e08c530e44a3187738a1fd9b1a7b8f861884ec601749a3d490d5cb73c90dd69ebe85d630ccc7fa986e84f6612f89025f199363ecead9c8006cf81d953c8701351a831a9cec9f81d2c0f066805db13349b6046cf6ef18893bb2054a6b22de4295b0584ff3680e8f9bbd38bb32ea542523c70f290d9836abe99fe15fdc16ef52fc2a828898fa4025fcc19f224fe9133f24fb30331ab7a3467408a424a9c733f32f88b4f449c106f971148d5a91b4092dc2102674f8c32a6396c58e8989e610ee77f6a10eee0e277a790b4805665b27e1a75829741ee508bb23589b83d5727523e0587a2dbf20fbde87c2f592d9beefdaba4b389bf256a4d9721d20c492c18b11a50d3a0c8bcdf6143cc42404dd84f52713c29a943c0f4f3213f813df6e33d75409104e892fe8d62e0c1d8350ff01232c304af3c580c62529d2fafc850351c1357fd7d442520224d6713849119c252f6f4e917c62877f49392750633ca9324ab0f8a0961e8b174a5b07630ea1922b118328a29ee83b68682693323ca5898b521f3d830cc80f92e308272143365e0961d603483706050287b642bb800ba9359173eb81f2024b22e27111df9b39d45012fd3915f1a85caa79db6d92080763c28621789a7ab952e8c6144adf2ddfc30f326ebaac37b4610c19f58ef3f29f40843731fd805883e4334cee1531a40edbc97419c60250c08c6da69c70fe450b200c112f21a193bde49e2502b067fd1d053f0f8ab87f039ed3945cddbcbb7a45801c1637f30fa085b0ef04449deec978e025aeb167357a85766a0d7a4877c26810a802fa2b872ce745368ac9720366e8b963d29e36174422c8874ccb3f05e661e5aaeaa97db2863d9c9acd3ecf4e1c90e18a9689fdaac7a8a253344279456af0f0a18c7fac89c1eda2b51c7bc1226d462396034d6245064981caca22bfba6eba15eea30c3ba5aed492a0157ff8fa801d60566615bdaf17ff046ba7fa1aeb69c714089d706719bbfb834c135ad929154d99e6d5e87cdf7203e6658f2d7e13d6b4bc6dacff3585b3548085714e4c685e9f1bcfc460180798acb834a658cfc871262ee855ac5be78546bfacc5226eee21000de0c0298560af0ab78bfa5e5cc6fdeb69ba09dab696a9e4408f5f0108f6942b51b4a1c39082795f8e2bda89625b27cce3fbc0482c7a8ee259c3d85cbcb828990446447d42b05bce827629ac724e35faf6929de39a81b10372438e142f64cc486780c5371c9d6e7015e315d28d78790d674ed4f34e5e813f9078e9f9550ca10192b859451702920e9df481664e688bc014762da94cb294b8dc6e030127a955015c169b513621e71e25a12a9ba672476531eb5ca2319b47e8e75557261785515bb9efac114a373b874697606ea26e1acaad9eed6fa9d02957951ff1b9cafd016e06cc82f102edd143e60443a1c9e5cdeb93c9f83d6050c60c92c54657f61c23bb0b4832e2bb00e6fc83e5b241ba22872987a37b575388b30584e1398874e58816a35d3705f1412ff77affe8b30a0f50919962c60df4518046c060ebfe9d6ae26029e0f70d20789ad05ca3f1ae52971e2121d3f5b4afcad99e9a26b93873c7526eacc1b81bed799082e88072401c26dc9c3d38ef7810287a236558e83a98dcd559f77f545c722d2246dd147d85f04048fb44518a8ab54716f706fd773c0efff512e302a971b62b628a3305645efce896b2859c2603edb9c784888f06115be91bdb3f9e951839ac8b6fffe9c46ed9fdbcd3839cb72b05855cb99d4e7b16cc2557780e05718e9de52a727ce7f5d006dd0ccc914159aa87e062029b3891624a889925a65efa355ae4db1e8fbaa58d9b46f9ba4e9b20b6ca38d52439dc6ef620018328d1da505db0de199390e4e54ee2de2a0c30f8bf6a2af52d84ba60951beee2348dcc8e3a003cb814b6ca47c151e55912fdf109217e06fbc679b80ed618c646363dd6ab3a2f7eab601bcd572a5fda36e09e1eb0caf48040c97bb488a1c823cf692d781e96eccdf6c98a2afb03753ec3457970876f5c2a4004c809e53c59ded9bf24f05f5199556e54fe74bfc4cc7a7ed813304b362cdfb7d1fd905b8d6d3c73ed9cb6c73fbb5080b497a673878ab2f9212cb14d4a29e298d8ec695645f397d2af54683171664d927c1aae87216c34c0d3c84fa07e656de3140887859ab3a5b327ae1eb0d675391fb071ecf7ae1d5f04ab1cf617c7d7e3e3e7b59efca955a954275c739c6d8712b27346728926d7d4810aa73ebe2a869f703ada00b4f8a0c1c0fc4bbdb34d34822c7fd08a406819d742d16fab5bf79c0861150be5c580ec96226175a975a603724d4697ea5fcbe749ff10b77b1590ae9dc05ef8722ae184f9e8ca13a71e03d2849a27cff5125676f0114ee836df3ae2ea2e8b027e5d67fc7b895da32028fc4b7b65db8152647d541325cb4c4b45bf0942a252b48692d80c61ce2bb84a84a203c61a0b7b3819ec0727160666cb502bc357aa0a340b959318ef1db5b7e4b409265b8ba3e8ee00fa3043f062939427802193b49dcc82434e42f3a763b2958efe6d4cab5ca68e98bcabf5848099928da00b441642d2802b86232fbed896d83489652c859c9eb15bb305ac13fcdfd1e05586006e2d399af53c2141368d9c7a6306fe436b2be82bb7f0ff9703b4f61b4f0ff9554bcb97a53bd77ae5e1fa4d0c6329ab3cc5a1261597b8a5ee05af4e97f6b41840e8cdf7ca84fd73f5d672bd79f53d4a64ba8fa901c965e718e677b7b7d47b523052031da6265a852415d0265c8c7a22ba1c81138544de664967f7416a58196040df4e0aadf11bca78cbf170175f5d2d1a35fbf1258c57122b62c605d1aa7d80c7c426cc95b91b51641b2f3e6d9a3bc67e260567afbe86820ba1de0d522b25829394c9f0e1dbdaff36614d71ee65b501c6a238df24d0af38b408b9bc77bdba3a1b05731e21ce6f860178bc3f73608589cb98d5af01ed43ffea70721adae489307855c4da040a8bb1b8f74ec92da99d8be10ddb27f33e76964c13bacbd9bd57b77b384ab011a419d25e612a51b498c44a980754852b108a94b8fd24f7ab48a9fd9300986767f6c666c5ca49e5a420345de8b6d63fecd7b402da8a2a1b2426e00a84a5783ae66cbb6047a9a162aa272b46c98a68563d55dd3b4109b6a4b7ba76981b1285c6ffb2d6ba80f1d319ee3f7765846abf53506f3d39c47431274543faa482506026c1180fe5a149114d963ec8e700dc99f79ea5e1fd9a58c5f2eed6f7c5eb707b5308e90c3a6afa5282b50bfd8417ca7a298a12b60965ceee695c028a4752f10f95cdfea2358d1bd40e9fb71d56ffb371cf17b8ab7f3f1c6f505d004d5906d077ad34106cab4f02c7702831855a02fa02bbf05b84fb41409790bcd5f20c01a24e4632cdb17ed09771c48fa0b0c984ded0b1c3fbe5913fadf32ffbf000abec07765608e35dfb0680fc1a3352c1a6728db1d6a61f9f562076d93b5d58e00094e8355c685a40d1d118dd95cba8a0934f40d912f182503a2611b6351fc1232eda61a0048ac73995b912cb73e18ad5827dfcb01400286aad7284ccb5b54b1afb502511535a12ad4a743feca3b014eab499240907f79d48cef1bf97720022458ec925f1037ec29b30cc50ce4b54695ffff1260b237bd6d4b7d3d7952fa933f3cca8f17a3560ef952c6c56204b944f98f40fb1512a6e5ab5178fccddcac3f42118ee0f7280951d7b444ab5b0e082ce209180355a2c5eb8f78738af72adf2d2206b6b26180656ff50ba87bc30073842aae79eb8f401f1103381b71a03e5d583614d7fa642c208bf445d0651fe1733726062cfc00574f4a90201f87645aae5332540c74efa733c749f623228d93514f476a92652968bcde926d62edbb1d4aa3f02331992190a8fed4c72f071e005416a8778ad4c03b3f1a6d36673f0271fd00c4998b58eaf2d0e8651333c56ea8160bdd10c15954f256ac1a1eb57420317b5c0589d114de85ac0e85131a90637d9b371e4401d76fe1e093c48f2372309c5112ab5f946e4c517e04228102f8af3be5cfd4b1ac1c4c2af59fa50c482f6e54121145515e8b1fb1532f06c19a1612594383ef983c8c9faa1de8970c283e42b2e236ca4603b20bc7bb3aed19da8aaaa4122422ba06d2938372fce0e098b54ad531a63d43727993b0f1fd180a16bc78cc3d5753e95c04899d6619e03e8c6a69a040c22baeac707517b3481ab0116db362a60a8940e26e2689691939becd6725442071464203f8c8804e672a71070d6c0497bc8034f64e182011da2cab064fe0d347cacc314fd58054102e73f6686ce81a61867ab4f5d22c02c86b680032c77efe2260017ae423f25859c0da483490c947443d461d40c22625062fb7b1044bf63fd75d0a0d2cc1b885b91d19f586caf3919ac7d49d1c19981456b3a82c229504b1a2aa6065ec05d87dbf3d898ee807dd8f2b0f75c32d57ee7fa7c599c8f03faf358f819ad082a0f2869017c011509444c8f0132803ca0a56de33a0d8550868058156f9ef47f7463d37200a7a05348049bbd553dd19e6456e4b3af278f0f4d1b554cfaec96e8b4f82ee5474dd964ccb4a1d0ea6a8e7b32caaf4d8e98392442d2a1b987cdfda2268b6e74dea44cccad47fb6681ee035701b4557daa5cf5308fa3e9439b35a829f1236e398c50955c002dcdd69f74e88d843afa05eb69b7087692444a913b8781927ed16990d5b81f2d64bc06a13f53e33699743c68a2f6927904a84c65b7f93a22a801d979442c8c440dea95b9fe74ec33cb9ff740eaccd29e669360b47e90db9940f4e610e172e48a50bdc53f336a35e0bac08d5db43db75d3abb5aec1201fd9af48795e0c70d5a0551d44bc2a551dcb5caec17a71a7fddae49b48c5dedcf2439844efac5ad8037c5a88eb39224801f38cc03349fbcbbd3e0d6de83557c203f79d1effeef8750a8998a578475efb2287a3581e4d9aae09ab42511230655ef22d82f5e0a41f22e10b975388db02fcd4feb85505208a2a94d5d54f5596f4fbe309c4163a029d0fc7cf1f6011f09629daf6a1bf0a12f351dfb1fd9db1e0317505712188128c115d4926060f75ee6574d8cbda5d3995d86dcbd0f2192b9c9e5190111df40081261c7f992808ae3bdfdf13332a8ab8174e2b5eb890267f116142e9d6db85c1e216d7aa14ae482e3d4cbf88ed0aea6d8509ba10b0db9b7abf4eb9e0699e5fa28c920452ef7fb06dae729157f932263c47767d10818ab9cc001eb196731c5fc1c7aa623a1da9a968c4015d155ce7a2d46dbe1a6ab0735d7db2852840167498d61ebfac94377e2296bd07f405eb7bbd748be8916ff6d6c935c3c661ceea031308c677e30526642781b18b9fd21493471f9438180a0c82f1122b92c42c84c018e270d6a2c2018a6439d768127f0b8cd8115729d4a293be6bca4a7608e5ade0294171d70a0f4ad3852e85f2f4d76c28196cfa390f96f034c38a04240e28618efff59a37d5949a350b06d2165091a0f4ba0788c6d95b1a4a5b19a0f9834cb149e43a193b7e3d01a60b2e9c966aaa2222704c8a12348eeb2c35f8df17505373c0854ecf20a22fa32fa21935ee469c906ebd2265652732418f980ffe5460cd1c925d848f0f080779bac9990c476ba3379a91e29928a381d30daa4a7a85694ad90ce591f23c970608c4502297768eba54b0d03783ae8b46780a9401109d5381a0140ed05570e47e874879a07c51047ee73fe5a04e5c6034ef39fa7142b185c203b5276c98b8218c37136e0107d2a7a03e6f4bf85486f0194fbd67cf7d9fb3657f3a21fc9c59222e0caf8f5d78ece9b0e2750a056252c890118718e9273c3cba422d9148fa82bc8074cf4ed7bf5d8a0b2bd91281ce56955276e8113545cf6e3b16e8e3b169a2e43a55dce57c8e72fe3d1f7e76c11fa96ac959a286110cbbdb3bc6d5cfd91281ab00fa3f9e0a80e5ac66169879c26da5a2e031241aaf125138f60e6528d99842531e3da2d2f55460cc5da2ea1645e130a93352c05a38bd469a0dc7ddaaaa195f448098db56561ef740713bb2a20444214e3c3e6ed9105d004d178bd87ddd77b6df9237e504914a0d4cfc997a88ba764c25c7074f0107fdb14298c4f587948e2bcba19bae64a9e61a084b18935adaa1a24089eb0111ad4327add07f29ce3ed8d3a54e7e292254ca7a83f2ebcde2208d1371d29b89dee88b1f89250471267cecdbd5d786ad672bc5be83a0839c5580edd5b2b923907cff209b7f94b01839c41d058a067a3339cac9a08eb89edd74075981e928b4b4c6422685b2150d420a4553c54920d6aba3d648f92fd8a75ad37f5991f802006f46e2dcc71d598be08e38bb8ab6ad18eae46fdd3ba31832b157bbbf1b12258c224681fdcb279230ac37a6502d5b3104bdbd6ab76fd96f84c18de3c20e670170bb9bef04f622de86fdbc13fea9c1b6c6ba4db3be419ff64bfd3b13e3d89d6611105481ca9513323cdc1063bc09b382039302e5a60ae79270e1b9d31c19b3e706ec99b68454313ca5dd2a54081fd24138faae0520d992fc66ab924f865c04961bca1aa962503821a8843359627c16f6c14f1e17ce258d183756c143467cef643924141252e21c04002026bfe29133bb817c952d3c6f62ca3bf43282430b5e4e4bd5cbb181db5113d6c1a120e9cfe7cfa504ec1a9cbd04171937214f639aa9351c0644f2a4c3d470d1816b634d91e6b694796c40533c60c3beaa2e41ffe77cc508c31bd5d8467ae364f085b40e2808821e68401acc53ffac3d9ef182818d6a48430cf0fe9fed6bd21930a0021a500621084f0b09e32b2d30c0d864d3224f5878ccc935d7d99cd6e51c5f09cbaf924a9a8a1619450abfb0a5cd2384de548335561027999ca3be8f064de480c8144bd85fbddf41fee8317ccf246378840fa553e8481c4290b619c2020a2424b40d350a178d83e04c7264869e07166a662964e2fcd972dfa0693c674be0489a14afe223f8903082331951dcac3db6d84567938968b359e7927d4a54d9978ac886316796ea54b283297b9c8b3b4a2e2f852357091be5e478d1b914a0834a4e629871ee56fd9ad16e667d9bc3046d00e54ce8c645fa1df81100cc3d903ebad67fd33fc7293c46c0403d88411204e039e5cf6dfdfcd731c810231b6eb4debc4c1e93be010e5a90001dc881fc54ca3236bd69f28cf5011236f9ce868aab442e30796e6420c32b60d19eccd2109a2798a295ca3a6155e5a755e8ae70c55f1004123ac1b220a73511de308d01cd8405562ca1b9f7252146d78f10bb8822ec797f1e8750b249c477989b7cd9ddc14ae8191a6202631e84876a287ccc0542c8270c6d9920d0db397b1dc369b8561d4da4d0b2168799af40ca7cab2b555ae449621e5998d941b03c600ab26117ec96962dc428c1f41e87e6729a1175aa16a9e9ff5d1106cc09bbb5d0265865ac64f436ee79560048922a16117e6212826cec0291af168a2fa963d1cf3dedb1c24d9a946e7de37ddf7c0f2c5d76ef93e680040528feb037659bf1dcc5e9e1b1582653cd80dc4aff18bc22c923e09faf22f902184d74d5d4d4024edc057df212a2dff518ee0b9adf2bfbc97eb5fc7c1c79e2d0dd594729e8a8304d1c4ee59a66361590af2698b0125e3caa1023a5428a0c2de4da0ce9670cc78ae62068b25c08e45c4047f705638ce9553a9448543808c48e859e0b823957d264b91e1c2259256f6f7684850d267dc77b3f34bf250eed12b8b50ad007235f9fcd26a7f85ca43011f4b049930e72d6b1ad9c12e9d3da5d32da5da9b425094c17007e4e3826eb525ac1ad9ed7b10e7ad1b5ae9bb8dccbf1a80309f2a00a1aa000085ed2492e1471cb08ce92c71185c35919f60918f71069d928a0ef7697f907650853cabe3b06ac5c95ac3152e5348a082e7271b7c34db425e6f5563a831f46f515304bfea737271b2d4eefa11d3bec463ed2d7f95f810e8c1d79b86e44fd95763b813d19d87831bdfccbd5933a66a3d851235ced01277707f5d835b329445bb775685d74bbaf6e611a4da1d4e47dfbc5358f003499b3082a5d7de2878f769ce5436d1f2999bf9cc8efb7a4e2d5cac0e6b892b15a05b6438a147fb12abac10c5e7218d7626a566f942ee04198c752840c4eb9ad43941880c7946cd2cc2f81139f6dc46d59b15ec28c29403c2cac6154710e58ae1c9ee565647fd47ee6202adaed366def727e84111b12ae6207467af636feabff6e5400b891406e2898b17cd1902af04a288047ec210f37d183f7c94c253fe607514926c3ce06c60ff84213c56b26aa121285d904842041c046667886581b61be5db4dde64707929c8902cbe82debfc1af26a1e598d8cb8991f0aa13ce6020c525303009d87d0cc0366316e6939cb3e21cdf524196fbc8a4d9c6c369dd96ed84c32bef7f347eeb1f0cfa85bcc192b6b0df801edef02c136480ffd6ff1d0f333802967514f27f5993f73d74c30d6b09f82901de448d037664534a8279abd3b0a5df35aeb20e4c309358bb711306fa2f20f545f8d32cfa51d5680de469eef361e9566648e5b1f143fd43c3cb0991f90e8eef2809b821de8f57702c5f1c4599e5865e26e83c013751f3e70e794970ebf9d68839eacef6808e789b6726e3472d63df5514c0c9e7150150ee0082f04d0ce8dc0c8507d165050e947aa52d40802e8962b42f8f2ce41b5e6adb568e5655264b7b430a9a215ffa125e791bb69e2f80a1a98f4f4e908145905ab0c6baddd70a6e9898b892818c3217d2f2491949ae856db82bed70e6494abe2f7e6d8ce910ec1f81e7a30870b72841565bc48cbf175c139036fd14311cd6028c0f53d38554431dfd7ff9850183851b67582940ddf998116ec0d9c126a19a20ac4248b898704c4de1f7148423929a9cbc9090753e39ccf7d1457ef0af0181f7f6def77e270301f2e3e51a99274fa06a628ce1c8410579002fc3b502de1fc83c10e13c696f23d1f02a0d9e827280c9a469654bb684303935f34dbe8b511af349b98fbd6651f4d4034642a1cda156bfa43833f84bdc6ffbd38d78c7d79689a7ee9a737ee6f475a9589a38ea75390a9071790f6710569ae9f3364c1d05d6280376fdcc1a397df0d2d34591f1e804e7cd7cc0f57d574818ef3eafe490b74ea599f904da74903dca747b08e4c5839024c28073eeacbc72b3510983a1dc1c1f01f4e1d32306061d48581013febefa56122983c746b8c2b4480dc3c0144444444000cf1cbed4046b909d95bca9402cd2a752c642c28e8f0d190da3e7814b93f0e031af987b8289d8c134def31eab1d114ddf49cddbf21ccb60d30e2f0556cc8fd061f565c4bb3829d67c4507b1803f31db204d2681cae3ea783c04e40c99003109cf460e2382f1f69a36ba411e4962a9c390740d77bf8c8ea3077b04f266b8c63092d70b2391bfe630bf7826f08b7e4051cfec809d087e9fba3a72caf7a52dea2fb61244353eb20f8aa457d9ec9a4068f35473b85403a1e061378734803c9251800f1002aa77f4880c6c7d1437b3b085b7b119e07777510ee45612ebeea55f34c4269dc4c882cdad18332df42664453498af27173ce68233d00b82511683e21c413cf6307c03bc120e2b7d849728138a3a7fcfab0f964a9a3a52336bc13e2f4e82b582830a149f4fc9a041f7b4c080207127df465149d793a50aada29aa856bf932d38266a0f9332264c7a4c9929b38ccfe911b061c51041c3a003ce96cf28aed7867cddf1664d21c26edf1a69493ade08deff19028b171a0e9d15a1b866826161c4f4289c10be76cccf59881be56dc446d310224e83746dabed381d1fdc095784427147da4e3251780684fc37ec01c314a24ed46ca84b3794df21c22c89c4fd61ff2ca11df7ad93e9d4265ae29009877c0b5c60b80b9bd954516fec3cf1c9f2bd97d9b2d27da2cabca5f619b681c2ad4683c3869af573480e613a3f0ce1923f976842c720dd8fde91e685aee1d12311e37e8f19b38bae36f83253406062bdc0119397dc9cca21b9092da7e64593eeac7188dc882a10bd253e6060859fdb347ec625a1b3eb7c7e54360617816dc0da7f43af38f42649b90f1f813762c6a0e8299792b2a504c3e6855dd61491ab32a44835360cefda366f41d74f1b3071896fd94934b9ac7152f5e47838abfc262c6835912e642d8608763c14843e8d1c32969f2fbaf142c3c83d7a50d57258b872911a8136980f0a9638bcde77b0ea343dbab3582e47e540ef9843b5d74122bb3a680ab02ed87c4917752239816a3484ea745a13a815ba577e48bf32955ef26f102bfe56cb629a5ed3d1a422fcfa8840b6f20a7e3bb2416f2067b0cb9988538b7c464e887974e4ee4c2264f23e7c1737030e1868654b8639ed6d76062f030ae3477063331cf18c7f8825762ded14d826b96808313ba34c7a423b2e99f70c83fa407d6236954e92e79a75cf22ad59a9c8abca02310fda84110f7b147ccb347221d129f0bff9727e39f81a4ec0b713bfe318e999793e7853b21a4c1b719c0fc85bc2dbf34e3f916ee80f1467678df484c6ae33971e3133079b9263af25776607b2e4ca676021fd097c9e3fd0796b94e83cf6f2167f68619087df50b80cba807d98f21bcb30320cafbebe06f3971ef3f182c733eef1447a4e8ce3772a2702760873ec888be97724783061482c39d7c09b0abb2e4f9eb9a13fd26c5f53fedfb44e6ec3995c35363b1c3e4a764571b530b3a8fa60ddfb63373f4779a5a9b3070e857e4a0d05aac48d86d975afbcd10cf7f995ba45f388af42c50123e4c21462fa1830c0f12e8f809640d9ec38ea2cb31c67b8413c10f2029cc7bd560f40b9220bd8c0134af01c3694b3254c2c560bcfb8ef6884f45b73bc20d38ad006ede481e58f80b8f93efe38532fd20aecc86bba045aff5f17b330c286dad475f5e190eb2eee73172438244fb018c94fac4d4c74f9ab349873964733f3e65748f29747e1313004f420cebe5236ff614c0324ec12b88a6f668e241ee12ed0a8a5d2f2f3ada675b69afc1c90d5f6407fb53948d8ed100ce0d4432d3191801f2424084dc0a73c5470e3ed24634e1bd2e94bd8fcce1e55f5e5eeecb4b451fc88a9683c074f93ae2f2fc033597fe7922e8f90b07ef42074a6fa8d3e610061d3d4404444f41ea8a16a4e5f2e118fad88e6f5e5eb1d287ff182f1f7c9ada03ae60bc4e76c5ee9088c41573f7407fa209986663c4a96c032bf0d1582f5fc8a0b21d4111d123cd21f3bda8e7920210e82f3f235e4921276de55107d7821b214d02077783bb68ee0ee84f3335d9b81a4bb56762656268618472359e86b595a5a599c987d92dd5e5e5a5824df29580625920550927190662edaeb2bbb4c85fd79ae0ca2ec10146691eb863894a14c8e2611400616dc38019281e2410806505d53704803fdf0e412430730828d378788e2b3a0726d559e452a270b8ab09c10792a97af10291cf8467898389f2f3342a0aaf7135e41bd7d0d1538e54dcd1a29f37ad4dd796aebb0fde9b8e3f7dabbee954ff12f8a9779ab96bbe75b8099adae964eed7adb4986bd7508fc185f0de74f0fade514ec57c7fabfdbe681a4a6b0affcdd7ff9b3942bffea626a0f7cffca6eb9712db9ac9ec7a82dfd5dab5f1aefbf493f43bf9fbb253ffffa0fed7ce0c1a4bbf66bafa13e9d718deea7f6b67063df5bfddfdafff99fa25bcbb3935c0b97fc8eb67ba7af7bd769dff4e683aeae19cff6aed07dfd4da2ddb4f5abf1795da9370cba0e85c3ced6fd4759de4dddde5befab7bf3b5ed0bbf6e7f3e9efefbe7e46efd45ffffad57aff9ffdd83b3f4a6bad99125eebb5d6ae7eb20df60f55c0b9f552000ce81effea02effe7ed7791a7e7ad73595e9b0dfcfd89e65e63d42a4decf7cb7f952bf7d68ed647b9f8da95d5847396d6df789cc2d5340f6fa89e9d46eaf359fcd7c27edeec387eaedff0e7b2728fdcee6eb083a8146b00fb8befda99ea9f54bb9cfedea025aeb67be0bf84e5a0ff5ea7f7f6a0d4bd735a19cf4ff39a39afa31bcf37feb779fc223d06dfac0fed7fadd1e8186d24df7f7bbffd77e7fd73b7dd4ff3bf804fa6937dfe9befe77fb6712d002ded5ffbadfa6a17eeb04bfb7d6ae76bf4deb37a09fdee99daefe7fb747a09f9afb5da7fbff6bf05f7d3939d80ddedfeff4eed53b39b9417dc04af00bdcd79aa99bf23f07904151f8d7afff3fcc9b5ee82150bc23108c1c061157caf9108890220f5982a4703032e91bb2f6b8062373640d711ccf107f19c217088bc7170f3ada0b1427d0338216e12e50824815021d206b0b7435d6164f3d590b24a5b596f5f46a817e939adf251135d8d2c3263325009b64a2c1fc94601b38927d3580c11a29f083a314c05600dc314008f77b6f38ecaa70dfdec1ee1926299ee369df6bad7f6fb03b60637c7a95e718d682394eaff213ec0a0602109bc50266e3590bcb81d738ebeed6fecf065df208aa760b5bb7566a626c85b1335cb8c5cef054d627ae723531b66a0f64736464325996b2076f3099589f549e62b9420678a5dec5770dc2a882617361f29cacf64f62646260d0b473362efcc245c6f507c3c121c83e006effbc3cbba03cbb7cc06e53547fe101573ca27f562aeaa11447bcce54864422a21f32509415bb6203e3ecf4ddabd4d7a7111c49d7457d16fba4a994e14b1724f952232b3719b463a4977c536f71753c2018a0a615251290ca9615c3ab9d1d79a8e254b81612fec98b043060ac451e3d45b261eab4f8e043acc4bbebbb430ab6b692331405bebca1b2e78cdbc75927ce24450b6642635403d8366d403f9cc476c0bd5fe1ed43102e49dab3a4c7a22bdba2a9984105efee320ab3463fb080d288d1dd173442c292c1718329ed7a0bdd7df6a796d4b559b16b569ee7b8702c3b6b437c7802f37aeaea32019b78027b2201c36e30184c028661180e7377b0ac2c3863c9d0e037583b5303a953ecf5b5fe5ca0c103a97f4f6ef01cc35399504abdc68562ee2626b620c0734194d79dbb3bb91ffa137aa8cd8acd31b60ad8a7489d8e59b75732f8011c1ccf55792a4b516dac1d66d19db1e85e607ec1df9cc4f854b2f8be51cdad3d8cae9132d72aeaf10913c6a27bc189c0d3812b158b4e1d5c0f3b01d4cc8c72d239d9984fdbc1003f8b4ec8450120189dd63611484e8116df27a3813b8b513334cca2d3d5946e3a78c75e1d2e0640110092c295b148954595b5c3aac69c57559729de064eb6176e53ed37a7a4c5b231e61313cae286621a70c1a0caf6bb512ed813dddba0d9816980f9c41c8c121025c0e9ca8940b3c3de948269605349f1aa596430e85ae13e06085cb7282a6695fb3b6c4b70f3a2ac98bab9a189d5bc7b074c3d136abf6ed4de5befe6766ea7a703ee6e666802a0ca7baa6a329bbf9b2e9a3be6beb3c03ec0e854f03e599c82c258c574b19c72295c4029a07db05f5a52eac93347ce1a35dbc0bd1b36e6e2203c58c35e1b311ae37a52399b1f3ce0dd5dc291a413078e821a643e7a44702080f0c4492366cb942563625b3cb6730d6d76d223477dec48a2c982e28408101e38e0dd4da05390c08ac0172f7653a49c30d187e000f6aa600ad01f43ebe2a565254a203e5811a8c29326928c982d5aaad4a0f1a24f44870d78777571e044be01e383029f3d71d2a0111346c9630c162a1e39c263474c982f56562ccad3bab92a29478508015a83c64b172c4d6ecc90a77d22407cd85037e7c0cdab4a2a0e9c354382dc58214f4554a8a39b73e08508c581c326d24b172c559ae0a0b1224485ba070edcd6d0cabc0054b97e5988d01f366b22d178e952a5098e1b3466ac10d41702048431314d992e58a09af273c0868c181c36901d99114331318ad3e5b6d49bde4c1a93f389eb44377197bc992e73c95e0c2a6c37d8300105fac063350dec027fe55a3d01a7000000eca74b1535f59432105500eac0539553d3c96c6a26f37df73b7305a6c5a613f34093ed7dda08a2f818e1b40be6ec623e39d9dc28aa77a3987d2ee296da556e1e1540169953bae9e48249216093b2f8a4216aea824d316a34ac3783fbccb7328b0f2ec855a9d0ee937bc1abd2e224e3bb0dee2c7ec961fcd7ad4a410446ed1ad861859f05f736b0b3c8642ac85b31802a8ec59ec0d862b180d3862801510246d00d28746a9f282dbecd4e132e606164625af4abf16c3a6da997d07d2183d1e94e31113cd51923e59127af3b2b9c967a4c69a8374255b3cdb5207f885c74a3c218e0ed7aa27bda628270bf9a6d29221bddb8009990e20d52e389c0936c8594f4028c338b505bc0202aa4cca83e0382eda059408df1a9d9c67c724eedb5ba091bc1131df3690aaa65f1a95927b5e7a4803547f7e444216a6ffac665d1ca053b2080f9c4740b20c57c829a838a50b2f8e4a490e00f817676807af7f37d2606e6d3eb80f9051707b575e27252603e350b48c93969b9774e56020e6c1920f0e5045bdb4f3d398bda89606f319f9c62cd33a9b3b5babc6694db34f0ba6d35a728970b8ed0746a3eb963af05972dc2bf583beb2540e6e494eeb6390757ce27024e6b8c5168fb0e0acdd9e56ab95a4c278b5f53aedcdbe04de0a4e51ea02adb08522c8a8dfd06dc61ee7e494045e4f8e3077b9d2245ce182a539c3cc2406122514b08284bfd4480f0c0414386bdbc0b1528b8b19d756d315800bb91682e1b29a28400c7006aa040d3f18d9b254a30cc41704330200a8a79e64b97284c963c2231e238244317d7985810207c7b979a24fd7968c4484c1fb60a470d2a209c83a726931b36d69cf4e469c2c4ad4dcd4a00d493b379006b8b161077da449e3143464b8d193260c853bcbb0a7574736e68655e00aaa6a45c22345eb400309906668a14272836685853bb12e0ce91134903dc0335a726b34a63172b4778e48841a208112235f0eee01c70457d261793b6e43a8219e94a9752077a277f8fc6a3ef38d98992d473741cfd4557d95334a13bf85aafc089e03d2055405be9012fe040801780aefaa73ba5a1de27ede474ea66f3d5eeef7fa6bb3fb9da087f1e10e07ea5660bc7e429564abd6ee52bf6ce0fbe62a973211e161a776fe04f2c2058b3fb953a6be529ecd5050bce81b234bbc56a61b73e2b360bd8a7588895ba7b9b3fb1c800b17016ab8d61c1998a0867e5e9951a5be52c2c0bceb03cc7d5adb41a4b9f5851ee8ecdca2360c53f589e520fa953183bc373a1559ee71dbbfb0a7f1a48d466c5e62c565badc656edd854cec682dab1398bd58e3d0d68c1d578c6ce700c2b5667a99ccd62a532762abd6e01e12b564bcdc68556ac149eca53ea21365b189695b5dba701f7ea5f3c6fad050a39ec3695ff60c5692c67abb15d169bcdce2162b3596c9c9b467a90ae6a357de600081b7f270572f7c163d1a9e222f8373aba733ddd77a5fb93bbff9ff7f37dba14e742abdca7a58a016effb2a0744da77114af2ed98ad5f669a9625edaed956a159b76fd6db57d5399502a0b4ac522bcd4d314af3235f8ed0d2eeb82df1a48d9e3ab9b5027d737a16eaf8f43d40e7e00077b755de5aa18e0f6ef49b5d0893b190c076bb7576a1332180e9eafb1556c6ac2dd55f89340a16bb3625b2d351b38a61828cf7176d68e49e5a9d95c051cb36eaf175caa443cc45cbb0042d423b7271129c007079641584ddef61ec933ab2142644046d1f6181a8142c644c85dd600db49c464118ab0a1f809d3da3116e52c8818b1240e8b03bb104a17ace7cf81242f013b03e53348262342a286446d07419e8f850edd28f37a77c37214347a2ad9b0024cd366c67842a3919608420c48d289bc1c5eb8b0e451eea948cbc914a4849ec725726f84b416267ae6ec81187485471f1d449063963e3d1490b9496a461f043c442291b507c88d067403c309520744629233fa820b4d91ac2041a382bee8b22d7dc4ecf11d0a03078b264029124816898f2220a0bca62441caa0f16993c1e0f103fda12b02e68763df20219f66c7171610987a385ed1f150d4a4eda151c323c403198fa3f143238e0f41d09459f18858f8081951f4738558e24140724a2481c504218bf9e38e5891fc00d208b142f5b9f63ca3a981c21988a62f85c38e0aa6048b92833ba43321105c8a33440084cff3a848e3a461e089cce78283a1f2476693a1260a13393fb2487aa44cf24c262e771745f0b8b6ac8040e7d0dc6a870edbe393438b82ee7b354e98c121810844a196b38de90187c49ae6802bee091821b4255ad2e1b4c27d47494c8406ca9f475d56564a2679ba7b09474804774d9757e66cb1e220a8800c26e9f2878c2f6e9cb0792edc28ba3cf1a590738aa3ca40224297d24d2db24052e16ca6fa5cd639d1d2fa41d5e2a82379294608c4f3cc5703074c3797027e4010142987040a28672c2fbda1c220835c56a6e58b2520184e4796c4500d20c46279868b5c618e1a4c82c48162d9c45293be382e66133a1e2d6b280104a6086421c81a422c67409710b50abd4e80d161e981c71d0b1937ba6c6590610961cd974b3f3432647b2b2c19b4f8eb7bab252ac42861f994254b14264e2e1721e74d8d2209b294e38f99475bd54d76903c01e420d5b787d27453173e50aa5a26fe92ac00b1c931076111385e18ace1c1b789051a3f725c06eabce9726113e10a359280e844427020b729cf0a5b60a6af342b34de36a535427bf261f505a510da262cc7c6386f7a88e921096c93e39959b46190c22d8d962643367820c2b251f0817740539b324f1d6a769934ac09d05425c51b00c5105ae06c88d2c4438a9bba1b1112f7ac97ae26128884401117308ad14693a6788821941a5194acc92249135d1d0c20baca320051a14813d80c390aa2d840a1e98d90a6aa301a6e348a12de89ea9389d22562154d61bef4c193ccd4e749a1a5551a20916cdcdd2ddd642263c8409cfdc0c01c2040792afd8bdbd8d6d4d2d0cecccac8dc1dccfd1fa91c553db55498e9cf67a0e753cff379e5f964e27e302016f682bb60589e52b5572aaca5c2331576a0988db3b1a0148ee1197b85b5547856fc7bb678223eb5cfa7ece707075ea9526a55eb053f7883bbe0e955861fbcc1576aa0fc17424c4cec4376d69ec1e20ebb3da97050917852113aecf604bbcd807215869ffc66c1406a16866740b9eaa79505a5736c7d90f5e081bb7b75511d784e697287b5d479fb07c35aaa2c383f59d9727f6a32f57477799b9d656d350674f70564daacd8146bd5666d65301c9ccd6ea55fb09b366e6b636b5b6b536b4b6b436b3b6b336b2b6b236b6b6363635b6353634b6343633b6333632b6323636b5b635b5b5b535b4b5b435b3b5b335b2b5b235b6b5363535b5353534b5343533b5333532b5323536b4b634b5b4b534b4b4b434b3b4b334b2b4b234b6b4363435b4353434b4343433b4333432b4323436b3b633b5b3b533b4b3b433b3b3b333b2b3b233b6b3363335b3353334b3343333b3333332b3323336b2b632b5b2b532b4b2b432b3b2b332b2b2b232b6b2363235b2353234b2343233b2333232b232323fb234b24730a513cacdbebd86c0594b358a95ce0955aa5c6593ead341b150cdc62af7333f64e700ebcca1714e742eb5c35deced2782acf52b930716ea60652e5dc1dca6656266be3b8406a1c16cb27cd46a5d9784aadc687d73a6936eaee59eeee8ab97fd4433972f7eacaca5440ea7c95a775b3541efcc363e2ee20fc09b5c26acd6201abb11596abc373d7dfc6dc43f8f349522bcdc669626d626461532a366cd65eb15227f70efe7ca27a16fb173b1152e0ee09dc1d81bb1ff03af757c34bc180bbbf00772b1f10c0bd4a8bb9fb077f3ab13851b9fb953f9d0238eca69d5eb7d83f18100bcf5b2c8c9dfb1ebcc1daac185999585998569e159fee4ee5524e01b0fb437128f71fe3ee1efcd9f4e153ac549e9689a5899185b1a569f59d7f2138efc4ddfbfcc9b4e4daacd81fb5eacec3dda7fe64aed066c5b2d842333132b1b2b0a995aaedfb339309e36a880e4f66863c778fe778aa9da97fd35816cccad32cb6edc94473179ca75444f705ee2efbf315a3cd8aa9a599c5825a32b1b33231b230ad2ca88d05fbae54ac74a6fe8d01aea5a5fda5fda949d900a56d686d656158aa98569ee3ac544c313b6ba98172760c1b988da58b896458fcb5b896dc5dca9f6f8937d0dda772951a03c25a7956fc8361402cac98c55a65ab362b36c09fae1a9fa9d5422dec37c77e00fce90a71afc64fb7eaee02fce972f00759597ba53eddb72d7727e04ff7e9ee57b90abfc1f21f3cad6eb1825ad80bd652bbe044797aa5c2f221d62a67fb0a6344adbb1770f723ee8ef5e7b6e1daac982ca556f7d3c9dd9d4d7737737facbb5ffda913af8a58eeef0c97b7d5f810f6cb66e7fce06b0c5fb1b09f5757619c45bc6edddce6ea562bebf9c153b95a8da5eece9c72d730dcddeacf97e2daacd86c059cb157784a9dc2d658cece5a38f04a55ac66e5e9750bcb82337c950511e12c369b95e16b0c4fe56b763bcb59f88aa5cef17c95ad72b5d04a85676a9c9de1c02b759e636b160b08c7eefebafbbb95fb2372f7427fba1a6d562cf04acdce5ad75fee6ee84f9773776d564c2a1ff621c6526cb51a8f2966e3ec1fb53a26cd6ac7fea8d559bbcd8efd51ab63db6b6058e2f64aad865d11b157c2eb360c4dad4f8d2d314caefec5b3764c7ba5c682d22a163b8f156e67ed362b36b69dafdbbfed986cc50a8eb97b953fbdcbdd11b155c0ac7c88851567aa342e8ca5dbddb5bbbbee1ee5ee3f6fb18af1852c369b9d0babc308cac72c2e467d8725fa03f5592e56b8688cd3598d8dee0a17510c21440937ecd1871b5d6814430851c3ff0d50cebd56a2c4090d6ff8c4c32efc049758e1028e7b4f404b34c2712fb4c40927e80b33a12798b013ea028edb70137a82097d1d3ec1fc2b7cf5b4f4065b82db182d3d5092e461926b39f5134aa770e1879d341c95b562d1851fba02de70231ce7045d74e10d5dd108c7a570f72f6ef8a3345df85d285613864db8b0863d6cf8b5892728586f17f6b8c50d7f8a0d43c12eac613e77c3afa126a2e0871535d44414be28a89f767282fee2f67ae1124eb06fafc2edf5c251b0874dcf26a1136ec24f7014ec8482a55c173611059788c2f7b00b2db1e1874bb84e5925a2f049c150b013dc844d44c13a0ad6305f14f4fdb0f88c93822ee66daf178e824d3cc10f47659540111705eb2c13514c40414b3cbce1121a76b13040c11ae683829fe02f11854fea7d72a3a08b64711bf6f0e8d9845db809256cc24f59253eee1d75da0b7b78f474420999f0266cc24cd88203b200c1aea91f56d43013ea6e58d185e39e8aab9d46a03c447a6a180a8af085ddb98d62bf052887b536dc590dcfcfa88666353c3ba31a3a685822ca643e1a28ff775d176f703b9d4e874cf8757a9f98afd3e974fe765d7867bd4ee8e0eb3ae1267ce80433e72798c964469950c3128657d1d725a2ef660d96880e3efcea0d1d64c25b6711be50c217d64dd8e984075144070d4b44dd176ab835ec0ffb6b06cae18d37389865b8b3f313ec420f9fb20cafa2842eecd1cf322c116dc24ee8bca34dd8eb76f4859bf07e26d4b0445443095d58c32f93f94d786f1776293b875fe8a0ebb0473daa751b280f974f17d67adfa0dc0f299e1bd6f0bbfd1c4d5973fe245010f54573c464797ae5de9789947be0ea2ac2d58ebd684e8a00aed4151a99938022b2660a405205223ffaeeebee1d25ba370cbbdb223947a0a0cfa81741d417c961117da3be48ce22964575b044aba2bea88e63d475dd0c4a6a9248994145326e430223668b8c2d3bbe48c66daa4a7e9883a0d0c8a26716d57113dddbdd8bead8d08afaa2387da252515f14270ea2f7e0e8e9467d519c36d187d3445dd77517d5598cdcdb9f8be28cf14571c6441f1640f68e615119f5312ba04407a9c6acf812957226ea94525c4407a9dca8967add6d380815d578cdcbcbcb49510d6b322ba29b8ba4e8261475d8edf21875f8bbe8883a3c8822fa5c24a9f621d6864a39fc16dc61b793b263420751606da885773bfc32dd6d765db82965e7c20e6fb02d65f776502ca6f307c174d6a0eb527458cf7cf7172cfaff1af1d7090a8e7a18cab5d6da496bf8994e4e782eec043ddc6e543ba1afd73c2eb209c3605a6d3761ac26148ba93556b309339b705774c3bab9994dd8432126dc7473c22efcba9b13ec3ec14e4cd809fe2cffa86e3edc64beae24946bcd1fddb013d3e97f76a3ee649409bf72a21e7d612b8aa209a24e69c54d748b9ca85bd429b7e88842391433cac98c82079bb05393f9043b359f299515f550876ed4f01d3decb0dd0b335f66330a66c2835806081f66c2582fd6ebc4d40e3399cc2d55f730133ab8e1277c18cb0977cd1f7d2896136aa12bca8499d0aea7173af85126fc2ffcf0fffb666131e167beccd9a9c07497ebdc010505a6d506350c36864ad4a30ee91875f70be5c27b76a5e69e9af0ec469db6bb61a8ed6e27380a76a51cc53b8aba876df8300acb4257d4f99465f8d1410b5d5d878fe57482ff9d1eeb6126fc3edc1575c24eeff4cdc4da581bded02ed728a2fe95847277337c4730d64351418161b9f0a08be5422d7445bb74974f46dd75a1580fb5d015edda600f6d360907b528a21a7636e126136af8d1776b2898f3370ba726932925458765f8512796d467392ce5b4a5f05cb8093dfc0db5c0841d2cea759d2d2ba25074f3471ff60068c34ed842971396931336a48a3a148e327c3b27f4d0a1afa536940ecb09766239412d74459dd02e26134af842359a2c7da2aeabd50837fc6631e137cb902a6b9009dd6e5e8fbaf0d6f0e14735d4f9fe5f81127d61d7cb972c32a21a86ba3219650e3261c2265cf78c6a350c0543691dd61c64c2f3475d282114a10bbf9ee5c25e5707056b182a8b90e88ebed49c2155140ac6d330947bf887ef841fcac96143aae8863ec1ee861e7ed4b563d54109353c7f94097509ddd7f0a3aee1d3bb515cb8a929da8499f0475dd88945918b65a12b0a16754677e5d37033bba2cc0de54cf4df9d754cb86960efedc21a7af8601e2a49cd31e187ba59834cd875976bc185a50cfff0f0a32fe13b3fd99b89124b9fe80b16d5f05b780f3fbaa1fac9bc8bc2cd091e74e1f7cd729d4eb8b9a16051d7dde87b6dc063c27ac3b30bf540e7d915f58a76452778451f3af85943aae8a13bbbd177104574f0a33aba5d773b74a3582ffcb063bd51605a51da839ce72014ab09b5d015ed027be58c39a3d7a06026f4e530c5306127a7136e3a9dcea6d3f9ba2fa9bbde0df4e53c0544fd18377908397a4d2e743842813c23a78f24314dd83926bae1a693d39f79357a0d0a76a87fd8696b2727f8994e0f3b359d741414dc743ae1e68a28834d583761a7d309379d9cb047d04fb000584723eca82b2db2370a7c7ed5c415368430792c54a838bd8e8e7a4f4e469fa2344ce80433618f3e9d7053ff86999455e44499b013f3ca29cb19256561c34ee8533bf7bb7ea7b0eadc281376a34ce8a089bd2825096a8a15ca293a28a74089929af2f853543ca106a1a2daa1ae7ea8d341b989e7c3daa91e51467114d5748428a558524a919482498aa4461abe127458c3574e6aa21a86c1a2da298d8ef331913aa23aca8292ca0aaa77ffe861a08651443514cb4257d7f3d06a6e17e5143951a79c32263ae8a494e223ea84a96089c251a7a4a2230ab5a31eeed26a2eec54e715853f0aabce853dcad5f04b55401175c22f2c45e752755e510d6331e1ae17daf582728aa46855d429a74c469dbae9e684079b594ef0eb81ced3b1de1776e9b05eb82bda84992fd44257b4b9b5141d13d652741a7e2c260cbf584cb82bea461d1e74a31ea53dcc79be50ac3a1d7de1c3c04114d1e84bd531e1979009c562c22fec42b198500b5dd117ee8abed02edde5f056a3dd09ca355493a9a19cee86f50f75d80f40b9872f4fa7742224faf020a5131d02a834fc1bf628169d8e6ea8979aa0a34e503b4bc3d644905a0deb85d26d6b22c8edd6449087866f293aa7588cba94851d7566d55377bdb0d6efcefaede46e584eaef58136cc64ce35eb9e518799cc66b3c984b500ad967d47cf3aa32ffc0ad803b5c144897326946b35430c3e8650a22c78987c81c3266ec318b6f8541a91f26349963d711a76ff7aabba741795a80f8072ad2a30665597bb73bfcfa054e248a9c48692c5a83b6d445d77b9ba6bbf91f2300dcf83516f5594ee72522661e2d45d0f7566b986a5a22fa5eaa9bbf41a137ef39af047f5da8a268c95e7047f54af68541b7439799e870308777b369de6690e3bb3c8749aa739cccc0273c26cefdac74dbefe3fceac1240e9044a546739a5134b516ba233fa5ff10993f932df97b9a2093399cc97f9be4c268ce53013c672e89ec731a12f6ce2857a1c9c0dbb592edc3817de591aa8e25cd7c8f3e10c28e25cd8c40bb378a12d20c4b9b00bd549a0accf67d4c70cb1637dbe511f33448e7bd882248baea3284c36191da4a272373963d636ac29973cbeefd8b5779e7947358cb7a12ef5f92efcf081a7a3a88eba30db5b17db9ca80b93b954729a51a74c5219ddf06fd8a5f034d4dd5ecb8393a7533e5289b669180c8acadd1c1e00e55a8350afaf0d16c8f22a6b36077593f9ba5b6bc3e6a56133eaba0b65beeed6ef6ede849d4cf7753e17a34eccc9035806602f00fb15ec56b013b0e1c3910915c8316ab25c582a8ad9843a523d6539a96c2f2663590db2beb2bcb2b8b2bab27c7b0580b7b27c7b09689295c159d0412e183a082b800e5e25800e3e1140079dd12730b801fc057b7175c15b6050e6648303d041e764b3d249c569d1c9c55e83c25fd0e7d30b7a75c50585bba0bebdaea0ccc92d2873520b8692d3746c32790a800e3eaf6000d041b88b8c8d8d8c4c8ef39d0f770d76d9d036fc9d9051e798e83b27fac265590b162c5800936541a150e80218caa55c33d0413753a60c996813760f6392896a0f73e141a68735234499938ebbd29125bdd874c1b4e103eafb69716c6ccc720b1e83ba508b1383bbc4c4c41abbe2546c4d8b715bd015ee625c17b4f1294eccc6d6d6d6d6d6d6d6968faeaeaeaeaeaeae2e472e2e2e2e2e2e2e2e265e5e5e5e5e5e5e5e54bebebebebebebebe201b3468d0a04183060dc680818181818181c18d6c7160f00b3ba9090b0b0b0b0b0b831bd9e2c2e017769ae34e72dcedc986bbf9184b8f0e051a74d2f3e43806858cbeb018d449e5093ac8e6866535c1b29a721a6435bfb29a63b6d70b7b653521b7d70b736535a96caf17eeca6a6e65351d9f5ceca7c5bdc605bf367c8d0b7e61281fbeb605bfdb75b5bbe5b5b5b5d5d5d5d5057b6d7541a3b8309757575717171717740517ec056d7c8aeb6a56465fb8912d8e0bea422d6e0bda9cdc5ed0271b1ef6c27b2f46079b8e4d47d1d71d740751ac804b44c9db827d7b3199443fce753440e8c2bfa835455dd851ab399972dccd855f78336177c383864c58c379904a44e15b006fc150780b5a228a0b5d00bf7a704fba4c18c0af16fcc2ef98bdb6007ee157cd5e83c27a57bef093f39bda85df1732fabe54a2efcbe47d7d44dfcff3ba88beb04b65af691b2e64f47d5d35d1f775f344df5f7c6ec7ed95878dac0bbe922327ea859d1864b95a598e53db0600e8209900e8201b01e8e096137d1320b0117de105594f93dbeb85a159bb724f3e317972dc5e2ffc1e800eb2614107c90c4007bba205a0366c681b6c03a0836c645d55d0c1aeaba8d4fbc27b7257ba8e7bed9fa0937bf227f7a4864ebad0413627e8a0ab7961ed88069f1c1d1d31d96b81472c6d2f8fbef0d3e45efbb8177eaadc6b1eb748c505a48d313ed438ca89be48983ce589be8b510d1d74a37aeb2654abe64207b5473d3c3e9b8e1bfa3607dde8db84dd28add6840ec2c2e70da5443bfa2c8a1b74c24c18ea859959499ecee89b18755f26fcbe948f8ed126b3e974dfa6bb19eea88e0e1646350ce5f84481404b28b2f5112151770f4a9e8302ae0468b53bc7b2009d3ffaba78f0c371a05ccb40a54967e5d3d195b6042f76b920b3c16432994c26dcc816c7846e1f508e7990c6bc547cad096ff885f435a63b464f6aad47e9fc92c964329d4e277445e38e7332e14607714e68140d379d9c5371ce461de76c369bd0154dd809daf814e78432896eb8912dae0975a116c7846e47173aa8a1ee43f5e4d6f0a0218ac5a8ce83f47ce187f75ae0112adbcb038f404679a187cda88677dc181b6a7cc871ccc364924ae0916794aa7bc6a8863d5c7afe62d4a31b8602d2c18b970e5c7eb103174a1a54287d50f120c40390e7f3797505c35d5d64646c6cdeb5e12aefd22cf4dc869d30b87b6db8caf5bbbb99cca92ab80afaf430fdb0b68207c908c0835d03e0413880575555555555c101b25c7b41e9a8af823e13ae72c21a1e647b9d4eb82aab0947d84f2adf52bea1e027184a474578524dc151504df809becab2ca6ac204b29af080ac6600004ea89c56ab820efa988fa01f1ebc8a665545b51cf3cdcaba515d157582a3753afd9bcdd74ca6deefbb5dd775dfbd5fa6d64c1bafcb4079702123068bc616303cbc783a802d94399a1c014299a306658e464a1c9b3a4862ba2e931287252727d77d5da60b3f3971008aba7c98943a5ce2a1c4510792d41e17865ad44ca93957a371e4c8091313081422d749349a005a99ed0825d337ead26573d9a3e72591c0b3fd8c79f15f70bcfea9d7e6014d80b1ada099ba8b4a8e3c1090c30f03f4f16f5ed23eee899b7db627c7a34ca8be8c071e8e07d09ecb29d90e6687d04316177fac88839d6049d9a7d8ef7ec167885eb26775d93c45bd354dc5ce3107d189000ef79b99c9ef2940a60fbc75d17330b95bcb8eb0472127de5b5c582ea9819cd78361c00d7d49696a08cbaf7414db64f61f1734c5b9f1c8fa7e52eccc211c79741d90e068a7d6213770c0c56368f0e61a66007ea2ad485fd1c7b9d94c427d881780fccf64016d4202233d212dcd57d083f04210a2a6e3188cedbe37545a704dc2a30140c8095c8ed16630aadc902c84768a70f72ae05e3ca14c711e099c671b428474ac2d5efa128343fea2ec91563462c7ff7ae470ea233fcec24723372bf1c82d5cdadad53f776f15818dbeb42cb0e3a84cd7ac03de16c1660a9386e5a5efa07db32151e8e0648c54771a4228bf04c6e046508785479aa97d9b1b90a71af1f65ad462fc0feca20b9a233d81a4247ec41f7d1b3787de46c7e56d37a60f2d50c9e53770fc8891c78746c5d0904c3cf1053408778a2a925e8165d4fe036042571e0ae052721bd35cc29478348ee23c658f123fe96c89aeb141ca2d71a5f79716dfeda2a6852366b8e113186cf22c6e78388218c76f71c0c3d5485af2298b339e0498d4db4df2d18002557d9049b3779392f03183203896d9a167e1a2653bc2633a1c84175b51d704ef818187be1288cbc755cada7d687c7817d38e778ef6f1427bf2263105c0fe83a4f34e0e411e6e4f8f8f2167d1f100486945211cde428ea9c7d3007eb4430c3e668788f7e320901ea4d7e281485af990358a1e0875879e2b7ce16e4228b895e40b47d3b7448bcd593fb8e2d1cf6250b99c5be0cb3ce0a0a91f1869250d8ae82d442a4fc310c90ec008de201019d28ddee07c63a4d48e9208e827c980f01bde46ec3f3b79fe97c8842e4cb2e5af04213c178e07ae5867e33f00d8e4656796686603bc4f91a791169307c30b89f17b6a0f43de050a88774126e91a52a4c31a6af8d884173e644e0f4fe3a8c82580a0a9d9dcb6ae558b8e26fca3f732a99aed0b56d0de1b80435e0a9f46af1b0f723c8fd171f3e123f44040386d40048d9ecb810887d4a391b37962e4950240f9389667b60fc1e9bf590244e3a873f3b54861749233d8f30a215fc116d40dc5add06e2045391448b53790f8c579ac49b2c16c9dd86f332e5d365e0ebfd1d1d0ab20cb565721c4b5014b28d018a4d45c346c16bd9246a99e3e82e382c844d891f2387a1511c8be50d116cf62b9e78724b0f8aa3ac40d4b6df0c7408d7cce5d96af9cd2e0752ec95f884d1f6f2321e84e2c8cda4ff0c2d79108d4670a5dd2511e4f745e1e37be656ac38d23bfb4179c2eef4811d326b3a6c3fbb482ebb19a68fa3ac6b0c77a50e6da3d8ebcadb2c71b4668f194cea4d871703c71216a8b1e48a643df1057d0575723be45a42f5aae81e6cde2c07c9a47cc474162ea1f5949f4320f4c34d8011cfe05126c5b39a2f5469438dd106961baa985efe5a3abf15a9490ed1919b26ef958e4758b51e85d34feb63449c62b42a4b3b52fa8bc510e06a771f6c0753892a49338197d818e403fd1e0c15f3971f75081e4b8153d68361ea5271ffb33b7b17360fc240e1e1c101e88afe346679ba89abf4ba4095baa8a0bed822f8ab9f394f12b63702f188eb38d6757f7b6eb927bd94b7b357448f24e65a8b80fa851271204762085ea788aab1c7a449d164f21e1c57e5256c0c9cc04ba11023a3c43968dcf9901c9d7306ef049560e3f51c3abad0cc9fc01a2339d8244f41941cdd157be3cf1348d7fee45d18b7eaab3416b7941d8608b18b48b2ba2c7db01c8dcbb74e6c95c04b386d44be3fded717704c0f0536b5afc1a29581eaaccc0032033f54e692536a3d5934f9164fa2a880c790438206c49380a7cc66144e7598bba340099fde435f51e32641dce0024fe64bb663361a27129899b3eed2c919e6272e66d062ae4886ae078cba849f446f03eb8574da4bc97aa038e071a6b343e63ef100745de03a52f9a8d4f84df21e38f0fa913e9d7940d6e0f181ef91f0c61b4853ee623e022b08fec707c2a17793b13193f3fa6908c375476e71bdd60d86f69aa4fc96dfa5934fcf81693d6becb0d21ff423ff14453b26f9702ceb670278e66bc44e61ae0f3a2e543816f0bb8468fd1e1867b290217d70a10dd90888adfe68ea12ff8b3fd0800fc5e05a62fff2055f47b1726f8a1a303fe660e8fbf53b968f7c074c63d93191d5648e5bd6c5aa1f7d638bd0ab6386fc2e091a3b946bff0880e1d8303f481fc71781b9257b4143a2fdcefcda08d4200551b1671a6a12c291d6081a2db688e976382e0b8e59839f2ad4992dc528aa08f6e49d0d128454ea004d65b6c998f640c0d27d2a7e669fcd9b0d34431f32748686c15d518cfe49253430a6b7c4c25b8b4a21cf6880c035deccc1f9da091eff52677fc1c0f63da8a118a6b22d4c7ec41476237fe02f7cd082bfa8a7233fd50b9f17fdad4d86f9d439f96499007f943e01f7c40d02706eddc910dcaef83cb7a0650006d405ec4fc42fc652768f3722e56561a4b8e182e65c147b715d9f41ea021368f4144fe4407ce165087415b5002c16d24a449b76822e86a7a14a1c92a296196ddb9d0256cbc6906655b8e01119b1de631eee7aa12dfae8f1d17e1634e8b60a4f6845bfe6f2338ffd686cfce9af1f8178a253e03992bbf858a95468352e4fd9853dc0880ae874414a733cd88f248cf317ff4737c2f6d051c13f6f28720d1afd60af23bb4c8d16c5370e9cd349ac024f463e4ad790a302915b9ec2b7c63ae1d391a3c41210807b3c2811beec15ff4c6f42a009b7624aa3feea582d0cf88933803271d0e5829e53a9a94d09509f23ca302687b80d3993b1118f1b2a34a3ff284cdc5860c79265ef0fc9111819e81df955bf996e13f8e8fbb630a20ffd082813b5b8978252e805e0592fb1c3266ee90ae34ae812ac45641a6cd3b22a3b79f0e84780c821ae93678526fe08ce2a7c963f569e4388f6b62c15d0107ef01c6cdb7c878dc5a58569e4302322da1c9029f42d3b43fec88e45767b0eea062c61fb6fd3d9ba7fe3a8f55de2b3649ef04c99577ef04981d07ca906b7667d2b328f4c4e5e328925fb588e126cedca75a01fb92485dfcc2a4d71edb073e9087461a4e1883ff92c7c0a1850c78a1a4017b2b8791bf8174f57cdc8da718c4c32fb5987a273264fcacd080eb3834c5db20a9a00349926d2d5600cf460b0e9d050fead338d5704f288aa12b77146a52e9c1a2b1e4345fc231745e289942a7219afe2119271bc78045af808c18dd5500cae3a13af4bdc24bb7a41c73a71f00ae4084e1ae0cf3c4b3b458f59596358f837cdb6ab262ee2705dbf69ba3e43da871b4eb9059d9090059be0cfc40d0303ab871ddf469d15009d0bc5fa638adb8c88b4b62daf4841891d9537a44f05de83fc164046782a5fea0a1435ec185229d83708d5330a2e4b74861e3640e17379f4a857e70eee265b46e4e2d7245e3d9fb6ff4476b3411987807035ddf478bce5358c060333af1340a2e995cb7647a8ba60d1da98d0e972387f7226a92a6cd327db97f7c93de3463de5f8702becd0d364f1689c08b1191e8fd18bae27a2ca87d21d6d28d74a9d858c2423ca3256f5cafd1c56348d3d23834353a979d477f576c7a372b2b0ea7c7f78c965e5c0513d3ebb08cd44bca7868c747a1ab2a227c8a4c3afc8c96ad2fd48510532d0e90562370c31db3a2837eb2c982db8350eb28bee4d84cdc91c77f6a1fc2cc0bb7b272dab30f2fff19967c9c09227ec346f18e42f0783007413c0b4d0df7012888839952fa15241eec2592555e2913e3d6260a7ae4961b0f214ac8b398f02fa600069ecda11dee973d3fb4a225449855c046efa88924130724497b2a440fd790202217e0c0ebb73010fa340ad07c19454fdcb0c7a48f84f4e7791a98690e4f657fed80495f7243f3547b421ec01b08efe85b5ec493265ee9ec8f9b6161c605b091db5bbaf870580baaafc6e2e8c52ec53d2885a4bd03036c043906fc0b66993df565c27ee035643b8062f253aae2f4231e461f82c4a37e7414f388e068782c900bfeccfaf1f2d4cb0568697cc8bc26df830b8f4d8084229f2a03b4052958b9d990253a91078b4f9b2eea67211b5f605185ade140d6a7741c6a3229499a441d45df61c2abad2316e93b6595efe49bddaf14616f464c95fd25225193f0ebd276e2cc3c0116d1536981c3531c3ed290eee4e36101d464c4c67c8b47ee2349d4e8883822f957a4c85fd0c5ba1b73387a9243161b8bef791975c874882e6f9cc984ad2f00c98e3f1dd93d230567b48c1322fe0b16881eb472f5125943a01b1d2afb3dd6351ec50ea157d13bc801acb1690b52ae781e4c80ef470f8947928092c6463b78564ca673bcf25787c8fd36441c8fc2a5f2bba8187edf0426be22c5881f7381e8970a21bfc69c03e713d7c3d11469db5b524b376424fec942eb43466ad78796096f0540a1d74b863d3a8ca9c38d0c7cfa2b634a349f6690782f537ab82bb6854f81a7f52f5e79efa64694ebf885a3f1d3e2ef64117a1f28ac9b0e891f6ee9cf8c979353f137a4263c0197dbdf714a4f4484e565ec2a39952453de03892c1ab14a97c700b46543166a7a450010351b66036db9a4cebf77003c88293ddf81898327f1ce70cf8020d24f00b57c2432317cda28e309a580718fe3afc7b0f82877f4b8123f1fef04e57c35bb355f6971ee297d28e49ac4a8ec1b7502f8e28659536a54e720103769191b42bce2a04367e4d5e75d2b865cead28f8f039348e7a970493f1794bd743ff65ecd60942d69d0a08e0485636a428bface59a18bf818e4bb14b0f042953bfc920c47fde382a2cfbb32da6050ea1c098f3767ba81f27e30196e3d72fc8335b4bc1e0f0b1cc41c48bf8791ce3fb8727d4218951e6290ce09dc80fbe81f0d6f7016495f2dd7b8773e2a7d933d1d7606322abfc511fa8ea8a2c68110aabe52e420e9af3055774b0646bec2109bb32190e628a0047a36911e1c4c9ca21d274ac043da44d50e08a4f909767bef758d7c158732691e9b12bf92c39b1789a6bdd50fed36892a9df1cb0c0f13e680036970f54b1c3c3d990b00760d2a4eae7784c20be665d2d5ccb9dc739ac0693964896e9c5991bf3245ca6b87a7c187b0a4a7d1c2547a0fc7397dc0cdf46e12d1f932a9240ee5cfe46612bff06c0c4827097bfc3955aae83979b41ed021427ea9908ad74eaf9ea6cf81771445c1a64bb1e9e5b099f1196d2934034496b60c35697e520c8117fcc2a27fd08170e1c400da572c1230495079a00bd879f262554e7d062c592ffbc2e36b4d3ee8bc41d327a45ba1c1f064f2471957bac4821aef81519d3d6203e217d1b3e266241cf2c3ffd2320e21f937537b7618d5cb994cb93a132cde2ff8f1b55f50d10670c55db3e8191d8769d005a024cca6b3e180d9448ae4953c6a35b1beebf5fa20d1595baad7e487c5af2504fdde9d835d1847d32bf99169738892fa3b73201ecc8dc76fcd69d494488471c9c4baffa2c1c79331f160572904fd07193a6c6a05133e8581ec324a2f7e0e4885df13c789063363d2ae4b60d54e3cc897d274483f5a845f3c5e653bf80aa4a160e9f40016337410bb2e3e978282f31840c1a1b6b83c06a1e453a1b3b7198dd97da52c4e7ed0eae4930e8fec475ae67e8a46805f33f9e1b570edd9632e2839f40296d748a3fb0185ec1c5ba9e59114c1f163beac349400bd6de5c8a1b6a4d6c4d521a1cb4ba5bd69faa971d4178844720f6c057e989ca4c68206e8f58810d4445284b9f68349f7253a713b5844dad00f8137e4426f1671634fa90d9d0e0144c85f15c2ee3e51f478e4e0a14f9176c56bd0f9b3cd1249700f7accb69f2a152fe7cbe82512eee84275927f4541e3eb380ba602450876086aa0c683c5674f30c0d82cab6ad85c8d6b98516c187f02e8e18e53babca5d98846f046c3bff43d7a8545305c8381394ec400827febd0360fba07ff48c3d81fc04e7f0a5383676c33f156e8d4d06a80243ea53e700ee556f78692b0b60277c2a63aa9eea732bbb79198e60f390d3e08344edc342dd15fe488d03f86807c58cfc083a19a39191343ffb2a7ebb9a849d8896896b8870053ed1885fa39a8dc27fa88741192d4b8d90542ef07a64a6fc394f809ca3fae66c9f670530efc3383a51f63127f233d3e3eecd1227d55304283987a3e8d29809f6845e5c683c981065060ea9ac9f343e7d82ad362b2717e801b9dab2704f2c13044ed3f398a4ec67185130081c1817401d34dbe743d18a3acd389c1f814130cf68505649c4b1f3d3fa189c929dd01f097da11af840273231204e81193f0b903e81497d1e1b9d7d09cf4002916aee3804b5d411ae0753be4c705212064ba489b7a9745292e5c160b7a11724f87b874752d07323de514ebef2562fe18cb287eb8a2c487982b3d831482341a8a468e81ccca0ff590e4782e7c7d10bb0e4e26c56ab7b161e38e1ec7bc0322679e32b06f87f8ec6f25d0fad8e334822846ccb72b399e449f05db41948b47a418b913672c7ac24826f618391bfe0286392f00aa4a4ee10aceae9b10e7d90c99a0c128b0f44a0cdb7800463e0fb304d36bb14d8fe785ca6e8466848b8183a85950e873400d843c9912227ccb0c93bd80011f17fbfbfa350ef4bf21a44903a201a1a18792e82c65769e0413eb525061e9c306687f8117301ab1c9df2e6321c6ef200ad365d6ec78298958034854e4708d20f5d3e322dfc2e6753592d997b2a5b135405dbd471cf9663f2a38a18b489a8b5f1cef62e0880f6a81fdcfc06737a9faf0a8d9dba6b286c879b480b1d7a801a3b1585c997c64f8eca65be2bb8106e9ed20269de60aff5b1b3f7a4414f3b7d849f3d6b9dbf0736631bbc99838fe4685623772f8e36569547481483e1fbbc8b30b9f5c2ef663827f6830e18740f1e1316684f934c4ec4554acf0b9bce7b3d010fba117987e869ee5cba1911d109d20db3906472b6259f033cc1c6e0978dcfe6b920873ae0d89e6e0a391bb664598166146c2dedb2e7a162817ef4424e9935e8cde10de17272245932bd853e6715ca8fa441c950f2383c316949679cf5146671942e89477007ce1959fff6085a4b18af8f8275d48361724509f2406265da5899aff316892bee18ce4962624ee4c7f4b74611995bd586891b6aa24b71b9989da1b7204702d01f0f031b345fbebabd1a19005fa350d95ae03c373a34df9e2322e94f966a2fc7633187d8055826f2006c2de62603b9b2dc21fbc997e8e083c5a8f1d00ffa4b170277a71e13f14f9ed3bad0dff604889976cc18fcf2436690f2a8337002998de6e52dd4f80306563baccf38d3683e68b65e10d40f4782b44daf88609127e440c3b6ee27180ef8134e423e098f149ccea3c978f3e0843467c0514a57dc48a94b3792d7f3005f9231e71f9bbbe41c76b3045231984faa02a839e1215cbdf9135c8bbf470f3100ed5f6903f56ffc22cf47a5b73facd849e9ba0ed51ff50f4b3e74c1ae07657717a70cb1e57f486781a3bcefcaac8cac18c08f2416b5f9f25d325af4242f75b25201d4b0f12da8a862a4e29a7c2f1fcd95e26861fafa240869b69b1b831b439e11b2ab47d83c8413de00bc72e23647b2f4714b8895016e857d47e1a3f9534133c78ae4972ef27df3ab8516e8c3f481082c74d086ea2b0d167a2f6f9c73f5cdf0879e53148bad047a854af658ff963868038054b0e36610eed31979e9df716c3aff058fb19574c3e4bd60d8f71f7e1fb3c69f341103cf00e0e2eb85518fdf4a4eef35c65183e6ed266ee352aee414d2d369e0e5fdab04a08b7859628eee18a88376451f652d4b88e0253e78190c9e1652661fcd39a003e25cd811f617241ff2500e4102031b9612017fe5578b411235e3cce173a0e894e9e9721dbf35e04d2dcc19c1bfd27d08c469b9fec229658f691395dba919b39df050bca6b840d007dc545c785e4024eef27306f090407c7a148c67ffdd0f31b6789cec7d18e67bbb160bb8b4afc8d0c10fd6671e4419e31b41a54d28f9102a0c9defc78297db8de5101c967ead1ba8f510337002764d3a8a2e10cda26ed3e8bbe741a4403f49f1696ce3be3e88541a5e7ebd050a00181b9b4ad4059c4e42344c796c1a88213bec9fa97108b4f93f6f89510026c4455394e888fd83f810f3d9b8433be87eaed3735e2e214de4c1d12ae8a566ba3e038ac18fac94b577e3208880dc905d3575033d36550a0b82c806b63154d693681566cc6c1bd17f265d12553c87c160ca4af1c1d5eb4062f57dc313db76750e4ea8b4ef89b813af4255108789f4b93bcec6ad0dfea34ec3273da3e1218242ec051ef1d0b1f8da54013573b6b3a852f04de518e4bb76409c8a99036dc0e983bbea252998ea2f6e42ba960e839ce3d1f32a3ceab2d8161576053b5c3e034df889e7a11a9923425a8b04da209f967980cf623285b7e861decbbf5c07a0a6c977e0189cd69b098a36325247e89e0177f1b80c1bb0088a3cb387ef03848851b801b4d9f215ea3a1380c3e59d7244d460a850f830744238912fe1f766a6f8af1e8cd8450e3ce0822eb45602a69b801085d2756e50d802089de9364c1bbe3eaea4785455c8ab5ea5508f0a2217901e2425ad8d1210c3d3a9e8dc09d088bce673878b48c41123e0b11997db785c627e0c2e0d835564ea7e7e78187107c1ea4b0dfba54c9d908697c93436d9cc29ea5d7c1c3808e12c05d35443d9bcecbe27b69c7c60b26ded083486c5f8584461a44212a8f2d68784b5499f42858c0700a70b21e9336d38e93adf13212fb3c08201cde000702fb8784ac1fd2993e960657be1021ec73c44cdf8588151e884c8f1fc446413f6dcf5e2b39f3ad91389ea3d105ef73f4f264080cbe5bf64cd28986fc31bf10fae207d2107ae3a0d87a2509a45e456ad6178215c62d81b6c20d1fc4d960831b3ed0071faf0df3f86977061d31dbe883ecc9e23b2ee21eb264adc906871fb2e5c3761365c58b3094b607ada07a022b38dac8811ddec110cdeb90d2e3487ef4f02442d26c29fca7e958b9e4d3dac2e83e137ee83fc4274cb949f90a4640b911ca10f9161b0cdd0b3d167fc1208fc772d1fa0c7d42fcaa047eaa3db517c551f17672f25c7e9cba8b0070f40069d45da0d0736d1ca713d621d2975874bc0586bcbd8951208f034cf105690cdecd94c1d67081c95799eb629ec969b909b71caea6ba26ef07cc0626104d7b4ec50b0b278236665b2981691813e6389ac835dac9a3458f233ae51fb542fc84128eaf268ae027b294f514875ddc91a478f78061e9991cd06a2b48e62fc647be8ed6e959091ee8140efe9cb92768339d44bc1e1a563a4a98007da7e0e92a90dcda6e8586f7d24b84c631a28e26536384535aa0c88d11e9890b8990b7c94654ddd928f5cf3033bec75cde56a417e8bd7080e16f7ac45cd125996754e0f56b8a04f70b66cee3f1f3f815ca5eb81f0f83b48b2069de100a19b7e141d1a7395344078842e1a95ced686786446e2766f0258189f83f0002dc1d511a1f27440ce6dd568c6ea1636d3ff26347538862d58416447e9330863e9123c90ffb7afa0832075e0bc0a18e9147d1e544c270342a30b9153ca95dd902ebd3cb43ede4c48497fb4062b3edc8f48ca2007d153c77de0cc6ef142a127ca633476f42c11a2dc872cf7d7271e92749e5d97cfedcf68d4330af943917ff80051c261239d0afa160e0d62810e2cbd2be6cb41303fe09f0f9c26896ef326090b6e440f600281dfa82b7462f8b04e096ae16dd3907a5853438e018c854fe144bc9afd4c17217f0a3fc0c269efccd0d970f6208ceef6941a0dfcd899da6868b2d2147a1ee9ba2c7d784d9f1138c54fa253d91af200414bc46b36a3bc833f39161807c90aa01fee5aae49b30c83c2114509711b7f76896faf611dffa10243aecc742f69620db3c2f8b9bcfb2b2f2405bf6bc15384a9702a2871bee1eef454f990743e7d1bf0928d3332e51da93efdc674f38bdcf161fde718fd6267181ca93944d7131d5c9b461c8a9b3e9a62a7d2af864cf5c27de40064ddb6a91d46f987ca22529e8e18369a03f7db2e36999303d19352a9ed63868275a79e2967ce4d9da482a1f0421665bd9fd792e6db86c131e62a73189c5b62283c57ea1f0fd9342aa763b12ffd394402e6889a57da5eed05e60e2cf8b4386f07e47bf7ae4163dd9184dbb79e91fa7888c27b8b4f2899606bc5b0d35afd25a9f310e1f7f8316a7bbdc70f0501e3ff82b27c3d91e2d7a1c9105fc8b8702ada5ed876f92f738a0a117970449b6a5a2f468084a10ec1417fe380dbc31dda182d34f7a53e67aa191e80171c069867df97902d6ed3a98a4e13150a87d1b4b225e67c70eede73cf2767fea7e8e24037e26a98f575974f351e60e6d0c551cfca122081d85859687a3e0c0d144257cb686d89e5447c753ec65786d25a5a35000d59309aa5c1015f93dd1a7cf1d0de9e0d6c10ba13bc4b18be5e1ce73d130e28230e4d4d049767e09d418ff5217670fe031c14964d0723faaa663a114fe9508eb33f5387845c3a89bdd7d6932512c9e0f54152f44a2c0fd5a60f940716ebc261c07b413c0e27cf624710c4d27d71ee1da5081acb499353af61b2a150d62139e97eb4fdc86e048c685ab04b5d808ec9ef750370b3e155b8c34ef2d63bd97f17ef93c01735aee2a8387d813b573a040e24510d87940898dfed19cad7e4316c6816810a113559af1c12d7edbce8cb7dfb31be94912defce788fc1f5d1c7c5085e7162119e041507974f970987114622ab9a23d8536d71e4a2edc8bf8d59e546e1278ceb4841ccf2cd4da732186a27cc6913b5e620e8cff0a6bf29bbcccd97bd2a87f22966677b012e7915b3df40a204bfe694c82be8320ea116dd9dc6f8f89178c44d4907c937cc52300b7f2a2e36dc4c0fa2dd74adfc1f372291480da14763c9994249069a83d575b0df25f8e1d1fefde59fc59cc02dbcfcde2475a8b73092d1cddaf5284bfd320c50f44596d0951bf87efc4d817a4669e8492014d624df0653b525f4962fb18c2cc79ab3f52bf0fc174812a487ceb89902d0850884f03e48526ecfa87d3cebdd63732341047577b2a08ac0f9071d809982ff41cbe166e164529dbcab0c42e6343c74fb28ca42de1a6d31da27d9b2453de6d5a600be8e1f40d7ae4beef69c0a74e5d8e47c11bdff262eb5da4735f220cd1167422c96b80b0a29bbcb5f02e4e845e8e358e2f6242d5b0def6cd12d56d1e52273a0b40252d284aa497b4c86b07c222fd2985825c135da65e8d41a32b6586f002d49a7e8899e9238c68e4053c0c71c077a101bf00f9873f35ad1585c98f991ba11bcb44b99b2f775e80a54cbf67fbe66904197229822c3c933f847f22cc03adc4efef351a9f976651e8464c05fbf104e4c63a00a64338e0a18510a8c3644314e1e30accbacc12421fa082178d470fea0f51ccbda53f281c470a394d4741f1ab44c87e08d9c22d3542a475b0b1e172261eb794bc438f5148858ec4d4c50f2992d801161070015374e81f5421cfc645226dc94704073287a7ef585ad087fcfce90b8d6cb40b4296b417372d2ee8e641ab896044cf511279302665348babe496b3cd7c9c736f2799c1781a8a114f81d19ddfb387c3653c9837b1f86ebf94fb3b5f4a7ecd05198e27e783df99f0e77d9c2cd18f1cc65e4babc6aeb1c47fc0570a170405ca671ca9a189586ab3dfc81ccfd641c66b90c1b8ad8030f360228d6012b2e0f68f927c7d571704bda412a0be6efae1310cb93f2900c7ef22a87049223dfc80a58a478bf0c6b33889b95589422ee8c4992ecbe1c7415800b1e95cbc78a700043e234ddd7720d14453caf3f318404c6aad8e496ff752da948284ec1e572a98593322b4579e4477450502aee49125f3c616487bead2370337334dc7c9a5762201c729d7e4d89203fca57d0cb92bc387c3c1bdd0575b019e829e3a5beb87223f04bcf159b26c721468003922027f7ec45a9dbdf884e31c0885d05b5d819f60531c67d244d06db481eac215983402335c3ac55d810d814c0013c5a4db3b19b0e94501e1e99665d1dfb2e4842603a165cb9d80f4434e79b4199402cec749a5f77321cc4b819f7c97315a3e2d0e944332927a1afb82170914c3c7a8e2bc4085b2cff267e1952871724663427c8733f84323195c9150867f15121f5244cd1f3ed536a5484afee8b0837e2c231f49cf09a6538af1230968d4ac3acbdb11e0a668c4b22ede222b48fb0da6789dd761e3991be14fa243f6210651dc29a5819e3422cc159dd1d1747964ee3808ea523063be8b84d93b9de6bffab93ba962f23be8fcb69229e1540294bc05262d3ad3181ddb8a9537af00112257c8dd8ff76390e7859a5ed1640c857147cc6e5ecbc180439134f9913c38f75e1c4baffe41f30c9e1d9e5055a11f28acf3709850d260537b5c8555c8275ad1f3c5195e3b91c89b274235c88bf050e270a84c78df2298df1042c486a168eb8dd869a2a5a0f4e94326b0bc584f963e4e0b3b571b66eacfa882bc183243b48818735b435ea26d5df267b34063c70fdfa9be0355e7aff8e071ec82ac9ff3c584767411e85859c43e03a3d3d3b9e18fc4b9e99fd03868b7a936f7b078f94c28893c540dc9b72289fe9644c3278455e708a8497414940cdda1d184e6b3c188a61085d27be4d0885f23b9c5b51a9340473359bd3a2e84d0382894b93b049c78ab4b66769e9e04971a52c00ba8e1e37490b836e125ed76b810fe91b7854349eef9b88eedb1a6b8d84e851a7d251597e67156e95441be3817a61e1fc30f6eafc03afbbcc340fbeec50ccd0783c9b69a61c35d4c71f45aea93b71d091f35e2093edafd53642ba952753a89913a6c8bc1afb09167471dc57028841c1ab20c03ffcb53f35147390f68a67c32cb3987f3d4a12d3c05fd4c87471ad201a03ff33642cf526a3caae7802ee4a3c0234d39d05c2c8f7c90392736de62a42664d0f89753201ea770889e9c74f18b95ccbcd8b1175a4204b7df3bb3465b80b3e4b75921ee46f0efb37e18fedd1ea90f34a3861f517165dfb162fd1a70947c202caa3f8c75bcdbd8129741794137010d7d0bb9b98d8802174720626bbb40d4e8583b0b5b2cf2ca2f6869f20e1dac7c1fab6bb00458ba429f2477b2447433d96447ff68cc7b6623e72b624c7fa1e523378022a5178284c81bb5fcfcdae5f19b1cac9cc12313ff43c3e061a84977404ebcc89e32be8760f828112b5a8b1b3f1e4693da5f2eb9e286105c1d0fdc103f8105600bb040c0d348f938a0ab2bbd58a2cddb46488396324041e7884040536df1d9359e58f47b48c45d14e0ee671aafe711e75f915191c600438243bad2b361c05f3c0e25419710e5f2989876be1888c25380b2658f4913c1710cd9e2886024721363dc71586174418d10779131117c7aa3cf5fea01f67e0428f899122ff4170b99f605344fbe8b13268f18634a23306440176822c2234d29f0824d28a15154f9e2948edadeca68e8131c99bd7be8d467f020f10365553fc68fa09752e86963612efa157408690c00027d1d05403da1ed75475da4db7211039f7005c547fae27a920596fa4f2524df660e18df6319473f5a2a740d9d39f269f6045d006705f42644626f561487ae3af1323b0431b0f1147f309b14487b25188e6c3e7a087f6bc8cc1378c1f1272a5d72328adc6f4cfcdb5463591f8940c4de7b34e11ce61ebb8914911b3a4a71163b403c5f87339bea32d1fb58f37b02990eb90346491d07ce9d53a192d41aca5071120ee6f7c224c3d7d32ca2ff480af143014eaef651ea48068c711325bcbd9c352f6da7c6941b90e03e15076fdece84420f40a5855771b2d121c880b989028f349bbf307ee1d0a437d99e9e4a158f7f58e3fa3159b5df1405c3372820c5c9c6223916b9825bb950e6af80aabf8089e2df1c487602490d8f04cfdf2e60b6f503185d3717b22d5b4b8ddc4ba9f8f5d810039c4cc57e2e442e3d1213503e260dceb60ab2c04b9059f08fb878791bbb78dfa1d1f327159697c326f0d1a0e1b92233aa3707393a9b018e5efe3ab101d499bd9fcb3b1de606c57623367da90a39e82e55c6df821adb6d2479780e2db0dac19d0e4f42d09bed2428d0235284e529fe46781141b373a833f933c8a21c0aa539bf266fce9b3aea07c53038da56815b4db53c070046741f314a1e0e0e0e5fc1cf8797903ab00df7f6590c5aa04d0002f8ad1550fd218ea436d008c4ed6a9c75832cda3721d1f51ba489b4979a8107048bba95d027cf0149530bd980f55c7818ed471e6d1e0fe5949d21928c8772a2b559bcb87b24ce2c1fe546e72ba0ee74221c8dbcd2a2172fc1a4d22b5eefbcc0249e3b3ae0e2e542733ea9afc8dfa063f06626c08e2508a6875a1fb881db35862aec3a83f8e922efa27da3478fb713f5e7aaa8a3a6ab7d009b575942fcd45ae4835c2a7a2ba9065b800a3077d2a0865b1063c8b7a824b68f0466ee85a0cb570c1eba952b45fe8469928fb0f2e3a92c6e723d2d80ba4525d90b4153606b90a2c1a7e059f15a715ffae571475368b446db007bd47e3b1468225f92dcc6237b348540e81ba2b240ef316ad94e8349de0d30fbd8a1486f1408f526146cfc90373d4dd6a8e7819ec2e72090e6409a833c471ba05fb6a9fc4476f8fc88183afccf00b98faff8de002080af8405fe0c5d92af0586c8a339e2d2442048d192880ee9b5b34b2e0b2d57b61f1319ef07a901bbcf841f2f95a60adf0610a026b4f5e07a6777bcce05226f63ea812e7306702f8c1bf47c898e4bc240f2942d3239967781767467d2efde10da4b1180434ec8e16da4acf1402dd868e730e7839c1cb61d225d7c872297367167cb4f526040836572a199021434c7a61efddb60de3db02a759b0381dc3d952734110c936e82ed95671232c621098670198c50fccea3a8b743e4eddf48817c3a7f10f905a69f5b01f5f697172fdead0f1207a089cf8769d4e2e7a2f2de811f9c6f1710ba6394263f6582c0156040e012e8c2e8af03886e61649337e3e5c33b6d34f01530197a7140e7afe40bd33fa8cce83a04fa1cf046906732cada5bb6e678dc0945cea1440d67ea69db6c0f0e7da00502b61a2301b7da59e0062c397a2d66937df586c1e1fc28e8a930394721878eb780d4e5ab6610ea466e5ebc062f1c6f9940ee5d3f841ed0f2c967d9f9703784083a2aeb820bc5d9f68f4422379909611ccb924257eb6ece213870dd5102ed5f6069ee7aa8e4978480db9d31e16754d2da39162472308c0db41229efd3b1f2d93c320170294c11741bd9e577a1891f8e21a70f8105b24d488173b8470cb4a641760f06d39d0b2b56bd52550bf76ed2ed0fc428f38605b9f006527c78a1240869404e4e5e6c021c5e018f258dc9a5f15aec78d8959ae4f80d482c1c718402b7f3c865433567388536b27ec007cd2d17bd366580143fa48b0c3723d7f7819a70349c74884f9ec0b42fb0e1fa4c29cae8217a3ab487b87b8b94b0b37dbc10e1566d2d3a9414153612417a2f83cadbee7007fa05d420d86322e6b81305ed0e5492f615de207ac23e767e04489e17d0281ecc1d04de888ca4fff396f8d10f30fc04a61dda4c951a7fd6557d4b5e4fefc88114ede640872fb14589760b55722528f27c4e143d3fe54e8457ebd4fc1b3922dd27a684fdfce2b7bf50c8d3aee5492b8112a81964cfb85ab20defe367886f2331fc64e3ac4544253f0ce30ea79381860752f5e802847a3858221d7aca1f3f2e26f0c017aac4c1c5b464b4181522cea232c65799c3f62cf4b61acb65a5ff09c460fbd951465b3962e4cea5ddd9583c8af49340408d006f71fff870f86cde055ad3f4edcbb4a1c3345494c4f59eb49a0904346ec7c2d25ffaf0e0e300097e7a69846fdd45f0274a203f870590675149d2e184c07a124566dccb021e9a5253cc077a3cc5112a0fe4b0c75f9193a2afc024b9162e372f6365c225352afc2920257e0291972d178dfea53e263a109a35ef10c9c6e3409abda50009bc47201bed02c670e332a9691e00fc5c422e56681c7e335ead9617cfa6c6035304df164f33f8c7e33861e17522f9f1097c8cafa8c499461167d1fb80c8fac6ddff14aada13f910c4b38ce9782c44691c2c071d5f7142f22b5492ea368c5bdc2b10cafd6a28f04d8296680396787c0f9aab37db28d187a8949a5d53a63fcb95b974049e7c9c168a5f830c1aedac627ab9364c6a147223dea8153a5e8616c14f920392cf2873ea136d938ee8ce7057da0d783c3785b61e1b51be6eb2ca6f7b44f04185f02ef4f0c6152cc9d39247607893b72c3e7b78f0169a6b3a0612052e6888865ff094439b991380b9a80d99af82697b0bab0c7a2c94ca9a2c2ae4d0fff76fb383f3110f79780d61dbb8a1269c2f0403ef45ccd9791068d8dcd05c97cde24a3fa097c357c4e8e91e4e98f1b81f7c1fed81e66514a1e35d8b18b5990048cf65448a5d4763ea25d0d179d6c4a1dbc933a0cbb6cae8aba39ceb0785cd66fe88a24338a56db93e27e6229b181f6922cfeb3d66ba8f10892ea28ddf9021467b889e10cf87118ec748f1f45329e2ec236f80bfe14ea4af72c5834be1cba417f5487c970e287ec588456e1965d0ff88f0f5708af62630498a5b18f3e1adaad707608762f36100f8551a5434a0c5c0272103bbf75883e8324d9c7697aa47bd688d515feeb8a2d98cc1b9262da06f1195b1d77c717c235d76b61aba1cfe262351f3b842e92b18a8d3975f868f222be7e50669bc200f515f618c05b7fae5f91e64c92ded18e053854d1e449ca8e32b1f7e5b6ab50834169e4411457b860a055acc1b93f751d4d53bb66131614488fe4b1eb82d0737eb1d952f360f2f02bc12f6490738f0fe93c50fee4c8afc0e1d70f621047eafc388fbdd437e0cbb466d56b6c7b904127a203cac6f05c7c64f05413ce105c367e0c2ce571e32d298dec0bc083e1f3fa0c1836f9493f43635483f12141f73f18e204d66a4ee459136c21bc469ba3aac447836524fb696aef9635861b39d20367146015a345571cdc914a9e37cd0cc70b44d62fec0441ad733e9ea0df4be5e0f0b99266468c03b7124fd1d6d2fbc451a864d35bdf44857a8fc4f0cb827e3e5b8fd2e5dbdb685f285d2927344048bdb90dc410328e27c456715ed23c1f6ddd1a48696d628d38785c6dc0701e80300cc7aacea95db8000e33748c1a42f81f887b465a703d5247d234971fa6e46e453494cf145b5b0ff4047c5639965796858e493c540f40414139d4d18d97bece773781ae84d711ce82476aabb8b79e6ded158a45d46356f20d649ef4004c8cd6a21f3375e9c6d3755f6bcd5934aaec0aef07d5c5dda0426b7fc00208f7bc822a9aff3a8840e010b710e4c452fe4418a3fd510bea421db17243df1823e1e9f4856eb6822d27c95366e1b2dcc8cf70263d30ea127cf9eca98745d08481ffbf1e3261092441756a8d4dcf2248a6e9354e73563a0464fc1fcb40f06659c921d19da128985cfc107c383b070e13345d2ea0753424ea4ac6a5fed28f40fac506a1609984f4502e2df2c632e888594839864c7e9123df8864a819cce128a5dc992a4c7a33747f74023f76f9c60facea5d4c35905620608b4bf010eb8178f61858f53c8d73423b065cbe131c53c9c8af451a824f981399b3c8e72cfe7181be46f26b4f02c0c001f1641cd896833388627af254136f013722af9192152de2fd000975223c7bd14b8f149bf34ff0507e57e5442d15ff88bd254ba24baa36fe09e997244035a78d32c42c2b55d93419da849cbd36ce1d08568d23c08283cfa819e290722f5d2690006bd4e0a28ad2089d6671ab0c95f089a63a30e6ca7f69f4e0c3bfb32901bd792e8855b80dbe221848cd0de27c7b1b460e3889060398f2788b4cf1a7ecd19b5a7d3daa1bdde5c32514887780b4c42369f003c5fe9840e730d4b1e8d26e9a4a3e604d15a7f916fdc87f1a977cc745b549feb1556d07a2a13bfd18fa91de924e82919287a1c0d80fe8389309ac8fce6d33c1ff9a42e6f0e09d29aed8756fc238977444e8d3e30cbd50bd013f38f8043bc115e14ed857200f3031215dadf185d33ea00ade02e8dbbe985d9f3b0a2b5adb6a878306319f4084a1e5f40d2e28b9941e7a30a9979a64d60bcd01e31d723abfb2f31f26830591279a3462f1bc38e25eec6666c0716e87a212d06e827262c9c4215a40b5a23e1898330bd2319106e04439c03a1fce288620ce83a0d36684968ce5c3189dafc9a190efda0cd938d812f76d32e0c7a4c5fc6b824aeec4fae09d18a663c783a97661b8ef1c41bd241e4b318f5bdd4d38ed67b1374b7068adf6205c82be609d88248fefc7ad762d7a1cae31fac337c2b8e11777aabfa494a719e82163c0d074ce5876940e2ab4812778b3f8d0fb5886db785c07ea51a2ab4b64811ad6603f03265ee98160a74399b1c432ec971ea4e14646c0765a6789e83090f24cbf9929211f6a52d6c5cee5186af02bbf080ce44fd0c89bbdf9023fa587e3079810467eea7d010af4453b21b0c26f2cb9ff3865928be8c9a010f62cbd9569b546413b943631301b3e9af1d025f4cd325bd214e150d271a633bafc0bda21a3d9f26cce473f1d17b031f02fda20b7fdea29019eff3a689766231f2be2d4e6f05cfa42f7450495b48c3e750f8ae3a450feb57682cdb5952ecfc34cf6f4761d4fd5320d3e5e4b0ea3d36822f5b5b96664a72dc6c11c0be528107fb049744ba46a509cc1752a8fcd68986ae34c2eb63f0b9f82d97e8fcd1202a9f1dc4f539fc9cec3779dc1cd11d0bba6b8f881fb95e7712098cbc0c6199de3a82b99b05363c9390b6a7608df2466af3d19e213ece6ccc6728b4db14dcb10700e9c6bdc097f687b290b7518d59e368b36e2a508c7681b3016fe3139786ad54ecad1404ee1666cc569cd2f3b1b4c57f3c44f646ae905f37c88c0f72d6694d58f87899051bb42545a88fa7506e0305fa1ed12207ff87089da7d892e1e3334c3e8f79433f12617b166564389da1be2da00fa15bf8950f1859c72c20e8fc1454c07c9a0bb076b04250fb3da0d415e47c307f5891f34c5a0471c94d227e0dcf93af96c0f22db6aa173266eb32de386d0e4daaaf41c6cb2b0974e67a94e8f9abdc1c6f2432f91610e9f997c7131b82dba4376172d5573714f9186d1f37f2a0eaa96624d26121b074a01c83cf28074687292a63e2a16aa09b6a576e540e3a0f03add29548e0f2d41359bb526d7eaa9fa2267b5eba950e7e7e5805ccff70cad87546307e249fa39d65cfe15fcd0d6e23927d9c0015884f6222e68098b4d12f709478161b16fd03048ddcf94eb986ad92a79462d016c46368679935bd970055783e7822b50846ed3bea39e3364abe792d97a11b6560cc0b296464539a19fe8243c42d2056f32122036d3e1654cf48af8ade0bc3e1693800e8096663fe08041ebbc61fd6f94cf1a2653470e32200d478187cb0b80b30791acdcd1bb7b30af18a2aee7c25b8e7861341849e5a41c75df4e28f56032492c64379664b1d38a0f93e0cf8ad0a53f70d4be809c062f400b43bbf048ea5dd00cfcba526f55e92a2840f11b8b7cb24017e802774bbb2d21d4712089213e8637b1d6c2cb9589e447e49c7169d005bc305ffe6b80f35c4efe3614333ff06e81353b017318992f7b246ec8ddbb4e8438835b68b13629ccb36511342dffc698958debbb7d03fc487bcea08008febf1ea34c73d27b306bb7b20363e21b63bef8a24bf091a21ad37a7c3f710c1f757905c79e6d8a5afc8fef14b7f34e9a7b0267f29c99156e05b2f452593ae34e8d14ef025a9eb0c49a0450499a10934c6e939068534001d643aeb02a3cd474c93e6a3f4f64e325e5d91126c73b8aae1899ce06d3baad3ffc19e69314fe41c82964abdf6e7825bc083b503544bf8a637859681b5c225cfe0d92ef0ecfc86a91a1abbc5c25776a5e93f13ae3cd29ded2b5033461f6934c7b510c3e9326b9e3e92e5d5ab8031c34574c6e821d99cec4c42c2f481ca4bccc638305e0f0722be63ead26f498ff61a9d200f17bd7c2052003f454ac6a7482af31e9332b6e48b3f2723f5dc58aaf87c813b327b49930c2f832def79bcf8e28b6cc0d882f2343e9f20a4cd0492d1c7822fb689162ab41726744d15720a0d2d6ca0356542f390754df62032282fa347f9de1984f66e0640779a14179fa852a54733e4c7a5f4257041a77b24881cffe44b069f3442c483b938e15b3638fd11d7f41deaa0f9b5b2eddb0451a19584adfd0727353b041634472372c9f390e0a2d9b07a7464942e1f83ccdcd4936a7582275dee9b94041a53338aeb010b21bf4b41a8cde6407aa6a7286fa34b864bfa00e4edca5cffcfeded159c41f9d6e5d3c5e410f32155707c83a8072fc2c176e349c938890a46fccffcc399740c74841730fc5288367ec868fd1d73977f8525455369ddd19a2c68ad000a09668c30d89d23879557ac49987f30e5d126f33e6d3eadc057ce1e070fa29181a64381d04370e1feb485c0057dec649c9c7c0ca3185a00030dafe7888e4d69d1a05f418142bf09f1ba9f99fda988a47f8454e5fdb4f17a3e46fcde89f8f65b8860f4160a4adfb583cc3eb2b938ddd7db573fc1e37950c65da276d55765545c2c584c74605a8b1da931827398c1fc006a759e8460d40321cccf63ebd869e81add4b95e2a6a344e6d77051f04f0c193ee09b461bc498fc4d4b4e5f8085cf270293d3577620f9074483b6061b261e5ba181539222e117c45dd9494af8d1728700de0a50a00f75494e837070a713092adaf1e1f5a93892b986ba44bea22a347f09c0de4fe7c00e957aba8d26785c0f8ae49ba0d2d35e1ec6b88f39595f834481d720e3f02a886ebcda9616ba0d951a7e498c0a6db50df31c7e5b1ccb1d131e75d534a065918f2a516553922b69024eaa3a4d0e1f9a5088c997cdb67a4056625c2714327988abe02e94aa7c1923c0f856174a8f52804a0bd209e15d70c8694138f6fc039d2afa921fb54ff224e47037cafcc396a38130b0be0e4a19f409aae2bf9474de20908d67fc91491b72b2f8380cab3ca104043c929406b78d0d25fa8d0fc5fea0dd6a4a49aeee81280f3e4f98d3ee6098e4cdd0c85c689c4a8f93884f5b5183e15180f446d353c6291bdcd88f53dc3e0da3345a8e9f7646c9441bcc02314f0440ed0954a6b9a631108f464800a76167f8db4dc3b3572adf6542a6afc4a2da91d5a8af0108d5615d79da2d83e65ec5b8d18a80513673931a2da8cc8e1d258ecdb7d8e3413f2d01e1ee5abd429998ffe2c7c09dc8ffce6ae38f6c4e7cb54b8fb66115f78f6ef0b41cc63e8e76426dc7a1b1e84f705174aca2254ff7d6a5d384ec7148625e33b7c06ee09093961400ab6744d1ed479187bf2a59b0adae465e11758346c147d0cf41847ceb3ce7cd4508626703cc784d63f04b61b0fb3e39366cae106e5fe923c44ee311e959e881bd55dee09b72e0f0c23652ff03d2ebf364a2f34351071f83d1103f6447614bca83f8460639ed34481c5f60aa8acb608164b3a8dbf0b24981f3779a50bd831020fcd89317fb8c19d734a80aed3931922f66cba4d742a1216f8b0463470162ba245a81f750f5c8075d09bd5612277f9481a7f7a22cb89999e87eb19df4ce3b59b69f9584ffa283441f8132f0400de8ec590797273313a0a5e25cf98c38061e04554a4f652a64c66240fc86a8da7b6928cd87a5e0a39d3ef2e8250fb05c3652591e870eea2e81c9c52fca44f6439448f99e2819bb448935ae73846df94578a413681a8a11f5a522ceb81f0728ae4796a4452419e35c5a08ed1756025f694a1377226af0d92f704e0781d4c50601ed0d7391be69ca076688c7439ac195bd8348b9b4f3e2cede44598b5fd777b92725336c3548b017c301201e010c9cbd695282ab88c0e795ba68fd9be0799430a7e35033e4383a847822758b9b0391d769385ae16e4be0fe8a62921614d8e5d946af9607b91ecf1ae8a6ca61e04c9e1c7421544a57c5b9e0300edb5eb1d0db9e563169ca24265c03060cecc8b624ee17132a1d0649d8a7e1337d295a06decad388873bf4e4061a59fd344f21976315fd418664b67fa579c00a4afe03053177738940a7799cf2244cc6682414d83c863a55360b3c475ec79864b3f812c4f16c58b277851e5fc78890ab040e9dbd2707d802aa5ae81e5fe830a1978c0f860c086d07131b0d02afca9e55ac710a8264b6e1d311e761a7a9df02b38e04ec852b78e1f683ba60f7a4c3054ea108999ef141cb9ff171f18d13ca3c982764af38c7f919a61c6eab9c124e1686854726d1f284006dda97b8cae8018853afe58f918fab1e70c9e63afa8d92271e6604a4ff9b1365b7502cb41bafdcb90714b99c89978e2da09190bf73b244672b00f8b72aa853a95272178118361dbc2c2f2092502fa8c3e191d3448fc310dbafb9c1c2dde0f1fa4c7a22774ce1edddd85d37a3a20b4fa7d180cd4826a665a82e6e0501759bcbb3ead58a93f88f3a64e6185a226d0850df7b60c4a6aba82ebc7a3f12fd034cd9eff0467a1289fb7958e9f06a2e9a1e24ace049fe067fd263fa06ce35af9158f586ee4cbe1210483e0299a12fb4c4f602b641b40813829cee84730b5a90c0d52625fa3976aeb6dc66898ba1c39397319143d7c17aa1195490a2e54c81e27122587021e1201fcd14362da62291dbf129d97f0ea6dcce0746efe6e2815392a99f2709eee9f030fd971d9d4f7101d38e215971c13dfd2a2422fd18c23bbe6d93c40348f93da5054e3e89e31ea7aaf2e29b9ce8d87248c4de8e91c15da84bdc866263661ad0a26a06362cec488c567b4f0615e6969b2cdd778381fb21938a6fe063ba5be479e25b62aa776006c75568b57846a8eb940060da6a80819cd9084e2bf2a9e12cfe586ab53e5b9c4bbae51125b9f14cc2acd82ffad238a13950c318d0e54f53dc3c1e0a23bbb0b0818e9495b51d1c1a749780c9b3a77e6c6042b1b3a1af5c797e64013a7b0ff14fa31834e709cca9f201e2367fb7c1d1ce8180f137c058b0971492f898019e56f305c31b4dd2b1f7d00874093deef6e12336bf66479efd0744ec82981a779618657c4654d9f632a6dd91e0147fec7aa01d189af84471551d0565c6af0c3ad0232851ba011a35bd1d0344af9ebce5b11671f1c947531fa3c5c2c37b38dc5ae55dc315df5392df3e82a497a7f420a5ad14f4f145147c381a3d5bb7e320d0967342d22f0a20e8452693fc1d9436fa4603443fc20383566369c6fb9e31b40fc523efc0cf46730801130f09ca0417ed2db3d9282c710f65383ac811eca6c3a78e46f2e88b8981cbec758e34b8182a238fe78f877d62d17d4696077e0e8944875380c6670a0bf4fbd1857dd51af2513908fec4cb7bb36dd3c550197cd404f7316405bdd302303f8485e4122229d07aa658ea0678311eedcda26fd1658a563057e82d21a2f4d221444327e82260a3317ad080de6cd8566aaadcb249c3212b49f95413ed9928adf81b72e03cc72336af044d9f6fc955df28bbd95a9cfebc818c385b500fd107774c3a1618133e0e0be2df6863f8230c2dee2d189edece07071ea547877f6064e0c73ca0a3b9d43cdf2218045d531aba9d06089777c4aad37b4a28f0bcb9343a9101f4a36cf9789847c2072c12f51a34147d024a7abc51f085179a78e3750f243dd408e2179202f20cd81ab59880117fa90ed02f804ce0680e14d9004c50ba33b0d2d61ace1e6143ed68241afd24a5833b5559e7a72e90309f3c58f08d4234532d514bbbfbcc1ba90f21bd75abdc7ae49e3c9841ea36fb62e348c07cb9e49c186fe5038f4ba8fabdd788161aeb68e96998c878a5579f536954b6055c977c9d1f88f4d5fb79a3c318eefa78f4b04d0d3cc41ebf6f3368c55b7481fa474a22ed43ab5977d18ad055a46ae8217d696e1a0f3e67b37bc1ec6a637c293e171e48aecc0f50253994402a7c068daf1d9875e61f434cd065eaec79661349a74b72c72731d1b04d7815702f36a9fd20d1eed55268d08e4146bc0d3067dbd563c693a8d9f4584fc047a321b8b304a87c1c4ac6b86563aafa4fb3c776e324cc2ffa60c8858968e942cde2c57ab3f74d4d05dc492dbafc2643ce7dc98cd427d173e750201dfcbdd4bd08377d9c5156ea846c0e3eb26cf09b83f47ca63e8b1fc8c18d33b0d4c7e934213eac58656bc1551f4688147a908a95fff1e3cf4de831e35570939f272ceff7b20835abbac62f30f1c0b5c3a780660309715b8971a79f7a389b703daebed2d3d20e51c689976863a45748aeb9204673361c3b1e4ee56af12e2c07b99467190d077aff621db49f08707b017dc8b4a227f32f1ac2d0945f62bc9fbe148ee622f20bd541e21ca4f479111e9e1eea4a110d200c02268f4148dc8e1f061b8f90a0afca41d17800f8f929966ddc0f6318dc8ba40867d125c5436de1d17c66ec5b0581b237e078e09483c8ec689cddd71112f103e636b8a4bc475fc5b5f86b977e7ca479ee1d0bd774a01089fc2fcc845b4109f9178034b616e411cd472ecaff1913f897040d7271c4cdd0cc344497cecc4aaf5933645a8a80d4571cbcbc71142ff8530e2a8f238101771057da3acbe9e51c18d04d0e553e939494b7064279315490da492afd1e4d24f7a347742bb6435e75c390afb88cf196b24c3e9aec411346707a29196c7f890203ad16a788f63699fe89bcd5239ca61e0712cfdd61d9e6055170dfa714140d628e07178898187f21edcbc5a824fe1e1b97fe31a38c23164a3514228e7cea928dafc1a1d0113901df80168c2f7033e8a35830f21d3b18bfaf89fc96f44cd835360c72a9232d5b1b20c157f10c3722b3257fb647d0862abcfaaaa33926862f343609128f1b8b8b2a9b0484aa77ba82d1009060f13d5323af650df28aa4e2fca20d2dfed090ca476147d55d26e0f830382e371811762fa3499ecdc880d837f76a7897a3d50f15e2b98b62cd654c81d378aa1cdf89a2083a81844daef500c533c9305f6f6a84a9d58aa4f3087c70cdb0651a8725b96da14f076d5805f2956c71e92b33a0f848502c3c079bd67ee3d8b88cac967b39f2f88f0cf4fd15990b1ea615f872e4108f21c5976743473f8734247e4fe52357bcb23dc11ca7a7ca32e78190c09e120a15fb8233814761a93cc4dfe3bb1d89e3b201e2d214dae6349b29537e441141bb0c24a96d35d3fab04832f482284bb49b17e38dbad0f40b10495e0c99371ad3a295ff61a6e8371c9073412a067e071e1cce2c6ca0b9388af917853cadc7fc782929302d03429aaf0382e8582c11476cfcfb2b42a07c8fee8b067076655ff1c16eda010eefa0c10d1d29079bc6146da0536450f316ce186cc5483b3683343f5cc8090fdc8c844a9a4ea1004ef5a680fe7205f660d236ad014906974281eac3fcd1f437a636fc8345282ff38b5bef4ac02fa4d1f4539ef2dcce49c3e9d8d8b88f4d1f7e831a03de80efc326805df09a0e2d7999e451db7f310d770c49052d41cc96cb884998667c0b745d5412d289f228617ed87b8ed502ed1d1440e4d2373f3a479ae907ba4dbeb483df1f1a51b3af180cfa4e234673c802fac3058df60e247c1c5285d89dec20ff4ea6269b88a0440ea6a6f534b408ffc835dbfa6b348846806f1f2008be5010124d049fc4391c61321fca1a07e2276e5bc908fa8240219b2fcba66f30a5ccf94e0cf9b220767a459de143f973e086c21e7d930e17be7192d45fca5060eb61c3f87536b8791465d99f8554f598a64cff7b3c6c3e56a9579367c279c850e2919ed07622a0452f74934703f8abb2038fc0d8352629f83a472c76084b0d3a318b0a0fc325c95b0f9fbc95444cfa341ca6bca41ce867f0e9bd1d3b3db7c240bb3538e279260453362048bbf712e6b7a967694e47901177edc0711b56543814cc952f8933f8625c5abfa7e6899e42a3e744f832ed4a51565e8a8f20efa25b099d0946b48925edb2d9a4605d4b2809de5104890d27e7aa857449a1b3e43fae44ec4cc368c4e02d0d8deca94d8d1e0dcb2117743bf25066a8794517a6b81623836fa384073ff4e4850f591cfcbeb3b9077c927132aac0afa2a0f317e6423d7d1cef5527eca98868d0871f4313390ca09dfcc0b3cf3472d92a424cee4896323d8b3b113a131a32fac98d009b4f09230f23edf30c58e0f82e503f7f44f3e3a94b5e3ff4c6f621ce5c5f881640be8685d69f8a6cb9de1c17fa8a8dad577b5cbd1dac223ee84291df33b0e76e0669d836a6343cd507310fb2b5fcead66c9f41abf31c20059f5083497a4d611c378a97b4a781694b33eb4bde2b294cb25f3402f0678b26ed2b2ea437dafeed49002c7da6aa35ba51958d67d3ee9dc391a43fa82ce0898880fce94999c77b017e6ad2d76f5d317c202af35ec0e6c9c31954c867d088e452705c3a0f9f2f5bc0954a6e12bf06dac80e48b7108d069da6030fb7ca5fd61515de780ffd30d024ee9070e3dc1cbab3ac4e2fe110c9f598a8d45c227c7d8e440ffcc85494676379c11f0bcf3e4b54220fb321e834ac20f49247669fe50c82cf2a68f37d64b0533a40e42fb0163e6c429b77b9fe7e801386471149f76ab864449fb0837d33c05dff47d22457870938fac6d3a5176a4bf1dd4475b93e00abb8158ec2169006c43505152ee0cbf0fb22edf8c44773fedeb0e335fcae7e88a179af75c0f3bc142dbe87a00467cc04e12b549a724437913a8d4ed603adf1ed1d9612dd81141b3b911b1edac2f48cebb518a5779b542f01f39f698da037011039bf402b83beb466ea21e45032ab4ed8fc33f3b61e3e485c8a0cd2a318e07a0f5a814fb7e7be6a011e3d16eff0366919748b46553efa356407f65073ae298a5e42988f6fb440c6f321aa7d8f3d195ee8e48aab3013e15f527f74103b989895898edb2d488e0d84459cc721a789fba8e1f08308b9b0bd5c49a121c0c960ba33dc2daf2a3ca09a42ff26203613b2ed479e99b2cbc8217ea1b388372eb9f4c14029f4192d16af1b50c4154df1f174fa2ef7e4dd9b2f12da731c22267d1781cb4743d4e67760d0173386c26dcc95711b4871b08d44ad78124aaa68b83748f70220317d3755e2b271c06243e768b7118dd44378cae75a72e67ee6114e454b8037f010696b7933e78e7342388f480d5e56c7f67692297c51060f7a0d8be1d77180b8112fc1fda537b16ef136f87e6297ef48f1caadaea0693b269b349a3e822e8b4032d7a496e7ef1a7f68a81e425c3579463e5ba088562462b9bda012683b8c299c801b2aba4a1b020e69bf4ef2a0917b09e279323d167d133234768a354cbc111418faf9a7e75148ebe82100eafc1a3e457a4356245f3427ec41483a7aa3c7b4318569f926085bda50821e5fc0af829be2908cce6253b3232932d08cb467db6f4c55b79948e346ba6ad29ad610d856f23c3d142771fa9112fd0fbc28ba2098fa8c80303efcd63d2645625beb008ea73d08d34944b4f9b4be192ee1cba16b55c8b4851c82740c846d7a4fb3849fb972a50fccbdf999a5c0df9178e02bc548f271134a9acb1e1e9f8572c04b5ae2c495a3e08cfe83b2b359c0416a402ca2bc709c61fe5128f8e195cb677640db512c58f23b4caf762220fb2002f5e9a7a02c0f64908ca73044d029ddecc9a8f9f82b87afb683a7eeb3cc99dc0ec42c78ca1721f6588f3cf702a5cd0ba9f3f083de78bc6c0c64fc1a1b8dfacade885703e80633126cb6011955b80ed2b63c23484e176c2ecfad5624d12bfe0cbfab0b894da891d1bb7238bd4da4d5ab1f0ae8a793fb4dc3463a8a4b9b4739566e4323f07c82bf068f804a89c7f203ba79580272206203fc432206af64ad87b7b071e7d524a9a44d6090a1e5dae4d88c8d019c7a87e7e62940e96eb4b86c145b35ef044691e9c2cb96eb43705e909436ff92e7724312db9e89c19147b0a0e92efc8c388233403e451412bde375f2284c2c700e56075ed10dd057ee71f9c3e70f2d45c89e73510ce290b40871407204eca6921cba048e2a6e06237b5a4b820d6e9b081f3f36e4cce640c0a9f546c4781921b9f25646255c075e5a5e0d8b07fa2d12844b1202f17c782470250edd922e75389c2e36b49496a53f89fc0d016ed053041af41b486cbd6ccc85ef2b04c3cd341ae016a60c722fe88f4d28cd13c74047de575d42749f85094fc4519d9d052ab6b3c061d39718b234a390bc3c6155d056244589cec3f2d0738e3e789ca0acf68b7be18784aa6cbb0c0bbe0b4484ff7aad7892154036113a5f2e068d6b233251e2abf400e8ba6c239f349bd9693c82f80cd7c79bc833741765c4fc22173d1e8a0dd9a5dcf1e93974f243d271f772c214f91b21975e0b8117dbc7003f7bc3a48ecd08e0cc569b60dd0eb430f8b73058bc8ad0861b78a3fb225599be438a1dbf3581afe2c2ca06e246c09301cebb8986c817383ae4918876de508b269b0ee3f60fd99df12d28b83ec90e30b74160c7f34123b085c441b40926971e6fcb86df39b3a5975c5e359e164098d246649f21d0882b8044d6d98e607811a792f81c9f475a102043fe6588141d3709c5175da8d86cce38a7ac86392245c89f9230a219efb8794282166d410cf47c8604ea1b61b4f19a982b7e3edcba6baf3c826a0ba7ac804053e2724dc78d9b66d416455ac41f067b0d82d5abdd31da498a64d24be45e261a1f1bfec50f132e9c1a7cfe25924313a2c9e1147ef470ab1668be24530ff72218e40b4169f02db469fe95a3497f9121c05dc805d05722ad3d090336dc4793b2cf2041cceec29c7b1180d4bc1140889e6581e5de0047d17ab23cff469c3a1f448d0e3711d00c2d88c746936b0aca43eeddd895cac0bc92491bbe4a183eee76cdee2a728d1cc10ca886ba24c5a139e8b61137b0f70260c0a3606cf165f20ced450f690e69566167ea13e14d80bdbd0a2a4cfe258990dde77df8fc28eca920b70e06d7e67175d1abf1c2faeb94e1d96825d07b6e64d0777e7698555d06f65912cb5d2207127fa0a5cfc39009f0634af0d854d828f23247251eab8a889f7515d91616f338100f505e0c50cefd46dc473271f121f22cf10a28a21ff9c7c9a3b000e4df21c5e74985f14b5e22694930597f05d1a0a78413fc2784f830a32cb0fc1433cd5bd980baa1dcb86834673abe4c99dfcbf56250ff18e3f34ebda1f4523683db5211d2efa81aa0230fd07d070e549a50012f0fc64fe1bedc7a5f76644d4381b2f92b6d8ff425160b0f253b6b3e845047f1e3cfe30431f4380123470463cddf6c48e205e888ecc31f4edb90199d1ef4a0c33dfbb3f223101bb82be4ea6c18062a9f8553566b2903e34a9b5ebe0a49a2c653c68fd32111dd8e2e35bd62e4933bba42794d1ee8b6116c007fd180e83e422cfd428025daf0cf843b81af1e928f233f677f6c404c02f9e376915b4151fa100e5df683301374140c5b4c0e891cfc764ebac110a8d04f347b5c257ea83ec263df3f63349dcc1822370a8d1aafe5491f7df683cb7779f4d21328e7b88f22907ee16dfb5efca6fe8896f091c449f347c4d2b89f214cf4a31e3d6ea86a91369326d04b3a00d594d8494febbae1229c60f0a91c3a8f7647c267cac2da6a1ce0fc0b2c7d986d2e2477161d7dde8d44d376301de19a55d57c141308b62016779ec3e2196f0386c60b6974c2a32808e089674d772e8af2729d49bb0ada08ef7a9bd33b6c78398ee992ed468de2c3b1e1e419d1fa5ccb9c160e8502cc075ef1db9576187a863e613aad0fa46fac94db06220c3aa1fdc8c43040d1295ddb980f2cddf13297559a0f6c6cd14ad206bc6d64749ee810aa4194b8e3329e346d4376967ec736d6d726087f8a90730d3d0e7c9334f7237941de91dd8e8d0719c08b50a26a361e572f43c885579d19fe93c7a3a14da07ce005293f448dd5496c3936b53898f932473034a51053ba519aa4d7c899333a8e101d2e5c219273c19b73ab6cb1bc1c3a1fce67e9d103278569b33a914e631189ed87c9d7eb706adb7428a97ea646844e4c11e58c818cf819156f7ea7f1c946c4a1c127247ada3e1af5399a1c511fe6e9c1b50cc1a015cf5c7d1520612e79774167f5a3e6a226f0038d5d7973401d6ac44403bb8ad008cd07c7c9dba6d7fc8149257aae14c295503aa2030d49f91777e49d7543c0eb0f71fbb1b0ee114300f13f88e4b81674f50d53ea3b20a2e8fd662c783391847b92009a6774e16f4761d3f5020af5794578147c01a6450d6706857fa249c976b2cdd2062a273fc61500cf624880a69a8212df83afcccd03a4f20aa60ebc972a5b8754a1b5a40e425f658e1e7fcb92e2298d90d17b026e380143e646513573b8abbbb35228f2bfa8dd0b6a34e12f258bcd8352008f2323d057f3a0ff7186c0737891f492d2279bc6fbf555de4cee307d435e0a84b0ad2582945e44647ee3d0fcfcb08a1da60ced95dbb99ed14fb6acfccf0e3fde772785a7b9b3e12355bc71398fcdbf7482f418937f9b0e84a5774616345901c9a7f442939eea52e55a50347793106f8e2204d6a376f43cac81c007f120a80338d96b87e092b62eb8b12937c96e28cc1f9d22ea7f2966ca664251f48fd01cddc3a8bb03135a5bcd073fe7eb83e937c41b3cbba980439122c11f5d15fac6d8888f6323f45546cc3c8d2bdede596a9c4a5ca6a7b4c381e319f9da081604f0c703c9295ded2779a15dc893d867c2e1f732942ada85bbdb682c035f7633645b2a1364cb4ffaaf58aafa3f0be2ec443a2fde6c4a82fdc70c9917b290e61b1a3739a41c40feed32c85f55d9a3c9dc6c3c966a566f9a8cf4095638341410735e4a46dd169b4b3c172267fb8d627027b105ef04e3e62dfc906d3a95b4fa818e346ea30ff2569c04b8788982381b434117904da34da84cd5fb880fe4ab4d7add4b05e6eb3094c26ff0adf04465293489005c0ea38ae8990ae5f9b7c2328f9b94cfd8e4cbe3f9737d1618ecb60e59893f726a794b70553c920d4b878810f50a0cd0e901508a3c58a219de870b1cdde3c98319e2ef4fd38912a3156490f3416e2cda3baa607fe34dc616d2b6f6221eecd8535006b8204539bea6091c775bb3633b784ef915064ae8018433de4a59a5b328e0bd9004183c0894e8c78934bf05c331feb647c2bb896838a237491ea4c91ac7d203caef490efa483c20b51683154e06ca8da961c08e377408c13bda59d284784af68d0e68f4890d7eee9fa103eee30315770814f61f8cb5791f435f1e8698a17ffc90e0f515480f872dc44b9a7ca2f9a0f971a739da1f2fef389d6499bff153f64e05c4e8c4b8459fac02e095f49478241e26b7a1a58e8ff41ebb4adf8effe270c685c24d7d24092a3ace4a9c7e410492c61b747a15329c5c4bb91e5ad1e36073edcbc27b1d7ad3f18b1bef61108fed42fd78b423383cc9de88c76215db499ec4f9c2b92d0f268b1d57a3e2e94c640e1fc297bfdd06cad2db0c35f8be15525ff29cb3dfe811f36abe26f71fa60a3a4087bd6d8660cb0e10a34a934d2a69731990a5f3d8597d8e834297e338a8c9ea30baa4a717cf723a783b9a00f981237bb6e5f5c67ff8391a4ed3956724d04607ce61f9cb26cfff549d78a5b01e3a0919d9770073b5610c30fb2c0cfe369e42609e8a212a6ed70290cf28d2c6b50cd86a1b86265e049356fa0dd558734bc08c7e5c93b6170461f472255268030b18bc930c711b526b82ef30a3e84b70dd70338a96e8045769de0aa2ecef6865703b89bc3eb280fea938173c1115c5c72229fb421c4bdcab2b8816cb4ae17420fd712b2ea25fcd28eec40a700ee182077fb4285033be2d61525131dc61b458babf75d530a40dfb71ca0f8d08d04dcb49fbda803d2431513ccaf3a8d824cd18a1eef1a414f6851053beaa41e82d44423c944b4f5e2663e95fc21cbe8640147cc91a9deee384e17412a4f98ba8903fc141a0a5cdf72e59043e8e04de3fade9b005ede4d0649a0636953b3aaf9d7261669152237f58ec9ff54ff18a9556e3bfc0f84f0e9cc67f57ac34fecb62abb2a034fe53fc8bffb4d4c4789a8d110911e3ea16103196ad58ad8c182bc688b19c8d11639930468ca754ec618c9dc652ec612c07c659f930be5ab7f336c6cedb78be6ee359bb0ddcc63375ba8de7589e6e67ea3cc7d3ab3ccf31a1349ee7d88a9d637996ab82731c5b05676d2c5bb75a6d3c6ba95a6d3c57b7b156ab8d09b53161168b489db3f12c8d01e5391bcfd9583ea466b3f1ac95b3d9381bc78ad66c9cc55ab3f154b666636b3696b781d938becad93896b3b1943a4bb3b1a0341b57a9d9c258ae1616c6d9582e2c8c1503b1556c613c67e3c258f19a788de5ad2175bec6f1f52acfd7382b236aaff135aec6dbeb358ee52ae135aec656ea3556cc065e63b91a788db372e0358e67ad6235bec65359bbb5c6f3758bb5c68157ea88d81a67b7f21c5b63ad628c588db3f25c8db1da6a1c0b165663f98aadc6b3166badc688d86a355694abd5b85a8daf32b51acf59b91a57b182586935b66effaab1351b5763b9aaa566a971961a5ba9f13496056359ce06c6f3550e8ce5c0f84a8d03e32935ce02c6d32c161030ce526340c0584afdc366e55896520fa7b12cbdc687d378ae6ea7f14cb54ee3789652a7d3783a8de7c2781a57e3ed9c9da571163b4b6769acd562b3d2581a4ba9b3768b95c653aa34960f65aaa0541a4ba5712c6bb77ff134bbd5fec5b334fecb62b57ff17c95b57fb17c88fd8be5ea5ffc175fb1d36bfc17e755c925ba985958db5921f5af4a42659504acab91f058d6b8fb17c659c434b6b5eb97b80c714e294739301b0b4ad1ceae54a2d11b51399782d127cfd8ab1ada2316473e22d845f04359f94c0684423d6c66d74508527063fab454b6194e102e0a0d5c873635c107501e8008e3ee0fe2cd0d9734b3bcb7b9ea6dced29537aa62563ea456e5699a9c03260e38389a5dd9dcd4045933037363cb51064f56b57169ab46b170f79765c03eec4c6626a04d00db99c1b5b2b3ab93ad5ac556a7c92a4d5c2bd3c4e5556b3bd628445990a7d918318b05ecc34ad11c41769995951152eb8a0ad09627ed4dda621494bbbf559a78c64676667583e6082a511ad9d9982ab41b68725080aad558da77dd66fb14b35337376a61f4bad553cccab59d919d59b19c49aa3ad37326030a8bbb7f5b1b93b3078ea0a85c656d5b9b10331b666f4f8e662f66b3351b6573ca56d030235b5b51a625c9810d4d2d918c4a766082bbff995a754c0601363f4d556b6b697c6242c464b1aba727b11df24ca12acc4818df1c77ffb3b2b4b740603a0aad7136109b2d542b43b3925581653590749ab0cdceda2b754dabc1dca04e93935783c106d439519eaf58a9dc379dc668575fd52ab3a8af2848a7bbffd72b4ba9d942b332ab7b71f0723aed35b233495d894e4a686d6666950320b92a0f95b1f5e172c165c7e582b8487065dddd2a4decabc6526c75cd4cce56a1b30cda1906961870615045c2405215034a0681b4b20c28172ace566962599919a496262d47e79bd62236285a4fa75a99e38245e7585a9b8eaa0508a0729c5d731f76ea022a58b909da01ba07a5009583a6f9ac95a7696825b238342b15c26a9a8ec8cca60826abe010f0f390bb7f1f766a4666c641c1a20e32b40b8e669c9db5955521a84cf0152181635502c60468d93e99309ecddacadcaa68085c20206b812045db59b5eb8010126d6b070e38fdd2ceaa4f2c2a5879199a601d519409fb10e5aba24cd837ad62cbd0ceaaae812f72686667962e149034e066206dcc8097812d6d56b66eb557ac342b5f11b15999508aadc68a32a119d999a202111694b54d5e555ec9f8aaab3f536a9f343e5b93b4c434535363e568f526c9dd9f87150d44f93aa5f62966e5ad211a9a995b15812bee8ee555047c78d500358e45f885c0621501b3aa019387b459b1788ea76e6e04a80402dd7d4ab54a13fbb073dfd999999b362bb6c4dd95b83b92aa01570640a91af0354d8ced64ed155ba895f5ac520ed32adef41a95b5b31c988df914b5d83b792aefc981f1bc474580db4c43637b0cf0a52ac08c00119a5ed5ea199b0f008e0054aa0250083b9fb1c9a80210568548265b5bacca03b346383f2d3d7d24793a7a16d2ca596a61a29c9511e56b19d99a60d5b38c8a900f6d4cadc67d5379c4741ab381a8a29a4e4d32ad55541eaaa828545145aba8c2acd2c43e79c65ae5ec94daa7956540b95071ee4b43cb9bca0b6c931be36776c62645c6ec9066a646085615c525aaaae7ee2f38f74daf719f5ca838f7f5a9c17d985369698402a02e3035db19a1f3e90b2535b3344d4f608cd81c55394956392571e280c8ddbfcaa98cbbf769add4b82a452b4b2354e91444e3ee5fe5dc53e5741359e5f4c2f42a6716f73eab3c53fb641950311b53a55440f92aff61d7f2e41153b6e6a64901124d0d6d4c15b310d3c75b453bcb5a6ddc979501d7d2d0b0309d2f0133b2332655ef8e97c24b75ddb699950971215d4a646b666536aa5c0a553b93db4811903a63af7df21f352bd5fe6db57db2348b053c53332bd3c6d46a541eb162de5a5cdcfdab76e1ac95a76568893ea8989d5575541377ff3433b4aa3f53f550deef8fb8fb4fafb296ad0c8d4fd27d85bb3f1b1b852a5f51e56423aabc04dbdadbe5e4a50d77ffbfec33a592a9c5f9f372ca52933f2d0939d620d9d352d2ddaffc69c9c41284bb2771f7477747f2b44c6339c6dd13636b5ada999b559a18366695268ec9d5bf78c6de65656a361bc759a51ca672757a8d05af19b48ad7d80e8be593ab7ff18cbd9bcad70c576c56cec3de5d9865bb197ba79565ba6a2ccb61efb25841e93596f5b2d8c2c4b969758bdd100b4ae7d8aaa5dac9d6f84ed65663bac238cb271f52b557b930710e8be5d3ca325de0957a9718dbc953ac5496b352e3aa046cf69a61ce620be5e411d4bdc4d84e3b956569e2dcb48aa53063afd75842f52f468cb353c199ba01cb37bd6eb17433f66e96b5dae8951a48cde24de338b9fa47ad9bb177d5ea96ae2af3c9875979d66eb3f335c354be66d0bab959a5897d582a96c667a69d29d11076a0c566e51170e095aa58bd62e1692c5761ec0c6b67ea1f4c0504dc025205b517e0e0d8b66f521913082dee651ac834041e5e72eaddd4db7536994d2867566309745a592addee5da9b19dacadce01d669a353d92acf755679aed3ced40d12e4f95a57e988e24cad52e76d363b478837c7d777a5c6d667a508eeee84d2f8af5a8d01615990afd201bf5263bb2ca54a6d8c0857abb1148e52f2f1a444c163413886af54ab3c5361b91a78a56ae1e893d2d3ddc5b4dbbfe7a43bd8ebd4ec6c3be987bb67f0e7243917d3c670b52a236a63180c109eb5592a200c88ad83c514abd52d200c6b65406c9ca4339210b8bb9986f92a53a5d7689986f92a5b15e3c23e591bcb55592f1208ab3c53cdceb6f208aa568b9db7d1a97c0da4eec9f3b6d08a956027db65b17482dab8ba1748b5f6c9d4ecdc076982c3bd1dced72d56c29e5626a46667eda09c9daf5b0dda6a5cadc67c53f97a8de3b4db3916946eb11accceb6552cf64f3ec4660b0b63c559a64ab1da4aada26cc19198bbe22c6b0101b17d89686a755339914a97c5ced218708aa566b5d3ab5ca5cad22c165b05ac56a97f5939af919c149b2da44a65bda95c5828cf7b81576a3696afd40bf1f42a676540397b98dd4ad0ca335603e135d623bcc6594616ee64c5a83c6335c887d4a94c788db359ac54d6cbca7f56d94e2bbd6eb1d76b542b5313b1d93cc5446cb6b06f7aa55a905b94c1f3e4c0d84a95b3858a78b857f7b6867121def44ab5f054c4e1a908ea99688b8b850001834daf54c20f20c4b4b2a036ae6ae1e95496a7f3553e94612d55900f169bb1552d2c5ba933ec25a50252a572a1366c7aa512764daf31ec97284fafd4be2b96aad5ca5a3fb9b0301684fda6572aa11f7c950fa981b03c95e72cb650cec2f03586b55458ceca827c78cf4442c4e442c519d6cad2ab0c08889db155ad6ca5ced32b951091244774e75e4895a5b2de0c78a7a55ea7552c85433a9e874ab83b60ece696b55ab3566bd8951acfd72dd61a265709b3b2b5b2d21d7693b35840f9af4f4b18cb8595807df11ccba9a599c9725690cfc29e5a9a1916914f268cab71666788b15ed91962ac47768618ebb59921c67a6c6688b1de9a1962aca7668618eba59921c67a686688b1de991962ac67668618eb919921c67a6d6588b11e5b1962acb7568618eba99521c67a696588b11e5a1962ac77568618eb999521c67a656588b15e1b62acc78618ebad21c67a6a88b15e1a62ac878618eb9d21c67a6688b15e1962ac478618ebc957ec5d1f8827253c530dd97077437321395cfe2ce4e862d94259b1c2ec56c2aca55e509c656ddfb350d754a65e65f90fd6c682f02c6b61451851be23a4c2bad5ca7a5359bb8df3a288f2dd93100477402c6cdd5e65d8cf0f9605f9dcdcb43275a666b182f336ee8b0ba7d7381be81663d0a26bc4bd0ab2a4968676669658369509a5d80bf2157b27419eb1876e6e8157ea8c3deca31e5eb15279c66a8003078e4feb08b5315fa00584da98af8ac5e6c9d5699d2c8d01fb642b7596b358a99b5b5626c466e7ab6c8dca59ac840870d66aed530494e5acd51aa60828cb7f9364ee9ea5d5cad9e9348629f0cdc1d81956942d48a9d5bf6d1edc816e6e2e0e9eb3f2219b59d916500b97e5646d2c67a5d7ba2c556ebecad659bb1d9c46b58171952ecece8973d56a54aaa5dac9329d562e549cdddcb47f7d85da2b561bcb7a85b236cc8a9dbaf833e94f1f87b133ac9dca81d758505a8885e5ed953a5fb1526a7686b7d80e37e0fcf98785735db532762a28a50a22c26081711510e69bcada2dbcc576f01259c13e117eceb89b899189951dcec5e1e9f1edf9bd3f93d766c5e43f6c7626133b0bbb52ab59d95a758afde92702b530ee93e7f8909a2deceb33134313230b0bc456fb2892b3db39960161bf43423fed169661f90f9eb55b2b3cbdc670959a0d539409dd7dd0dda9ee2ee889fa74b967f1dd65c093d0277797014faf8faecf42548284390b7dd3eb169b85a36562646184b1542a133a7f719171f169d17d71d1f5a2ef457fb1e83162b83fb993bbbb7087b1e84e8b8b8c8b8b3116dd171761f8620a77f740c0bb091b344ca57a284011a277050292380a3ce819b40971519047268b5c34d148d35666328e9a6716002ae2c0e87a42d39cd1ac78e4374c1e54d10076060ac00965c82466e400432c52609c41614848c2893b3fe5a20bcb87a2c993184266c81ae9642d91247c5359b54108c78a44031e388121c0b0920d8aca1c3090393e54caaa5beb27e8e24137904bf88128172da788684b49b9bd1047752f69e18eff0011407f783af03b9e91bbbf3c95fec57e7d76ce88087169d9454a1f435328383a104347840c396ad1a81f9294e46667f2948a38469d65abe04ccdc6686a6966848a71361bc3592cec3563af70160b4fe5b044325870c6fe75c1310bc920922be03986c160b7ac3c4be3445930f04ad56aa956584b8513a98072b6104e246b6373b8b231777fa5feac733583bf1ac065f0a19c95b564f2342b6bc3aa85566a229923a023c7c9c4c8c2663930823fe9b070f7ac2cad56be5ab1d36b9c8561ed1c0bceb0e24cadc6b2761b7573839bca8585d4ecac75b36a63c4b7c7f29ce30206a4c2b0960acb827cb003bfbe2cb6cf6f2a0b6aa9572a209c95a755ea364e9b15d3ce542bb5fa012e3b6b613029758e672dd71b2256826c8dafb3342eb46225b8b91d9a9d6de1b2729e56ab8dabd2beac5c98185bb37d89b13531b6f6c9daf80fceec6cfb9695f312636b9c36d82b9f354e943c8db3818519f4666d7c813a53af7523a8d5f84aa59b53ac161646656d2c98679567ad2216f05a375fe5c339385e7c885809d3ba59ae56e3bc371cb25ec59b7d991b4d3ff5afbbebf9d38d8be975fb6ce3d84686c36e7e7ef01cc3f21ccf5a782a27925de56a1f76ee2bdcf6b101ce19dc1defee8aa56ab3b286c02b758a955ee7e62b159b879d0b15b312caaeda281b26cec0ddc9b0813d309eedd0ae546ce19a18595899547eb2a15ad3c6dde72c56500b63b1b3a0361684dd646d563e94b3daac98a03616549349de56630d6c807386c02b751acfb13c2bfe55b866088cf9fce53febf62e3096a758bbc0982f2b4f63592f2b1fe2e1055ea959799ac59be53d798ea5d46ae1566e96f7a654ec948ae7ee14eca654bc6a2ca55eb1d7587ac5de05c6b3bb4f9067ea950a284faf7557b9da7795ab7db23ccbd5422b567aad7377ba393ad94ae593e7586e7aa512babb9c84483b82d258d69ba956ea0542693cef4dab32b543563ec49bcad70c73e1369bc54aa09bc6715aab1c186bb5b29d562b4bb1d9bca97c9895b5b29e2c67e9a45aaad5cd4d7b9509b1b39bdb768ee7bdb8c82b31342a5cb662f7e42bf68eef8ce4193e2ce0b56ed662f314b3d8399e5e63bb6a9c950bf1aab1358bbdd36ae3aa0439ad629c578dddb459b16a3c2607c659ecac7d9a79131313e39ae52ad88cbd83c5b470350ebc5211b1554079835b553e94ab7d6ed83baddcc1cdad2fcccd4db652e7eb36abcd8a8d49b385855bedd8d8df563b4638d586cdd8694c58c5168e69b18572f65966d1ddcff893cc177787ddc0603727272727a727b1a99cc55e03a9576ca1152b2d9c008bc1b02c185ba9b356568cad701e2c26670be16b2c38c359798ee56c20aca5c288b0a0748e0bb5d4293c6bb179f208aab60f108bcd16ca56eadc0728671fb83bc9088e917c4b20cad7778d892730b007700f60afc429b56b06942fb8e965f16640f9020cc3f0130938714aed9303a7721fa134cece816b4c352657257ff00637f0131403accada970ecc9707fe0433bbbb3cc55e61d84d9e62a5b05cfd8b05a5b19cbd6ee1a99c95e7ab0cbb55e36b569eafd466a4bba3f0e71742aecd8a15c65636d801dbf603dc1b629f5631ce9365c03ead625c380b0652e50d5fe0d7f252e23a3795ab7fb1962a77c552b557794e94fbe2399ec6b36ced93ad7116509e62edacb8bb36169ce33c3de6ee7efeec02a9cd8a4dabd4ed9f9a58599998591816f04a75239a40641797cb4ce10ef20b9708301c3ca55a09a5d4ade118245ba52d635c9b155b133b0b93ca53ac344caec6526d98e24ccdc685cd2b5bc81c3bc7dab1ac3c53370f2d5432b9fb097f6a81fb64695c2decbb52c7a4f2a1a36591e1daacd8549eb5f2b52f2bcf54a95ca81d93ca8764ee9a03164bdaac983cc781d4c3f8b5345fb75829fca06f0694ab7dd32ab65961d64ee1070fa459adaed281af4e42342f2a017e8313a754d9dd17fd79058d5fc764393bff8d69e56a152b8583af7255817bd49f56b2feb452e6cf2a8edcc3e8dcddc1972b702e776fabd2c59f5566f8b3caa13fab90f993ca247f52b9e34f2a50fc49a5d19f5402fd4925cf9f54bcfc39c5913fa7c8b122c91d762b2c8ce3e4792b9513e708a5d8ea1faca50acef0950a4f6544391bc35ac5ea15cfddcbfc69e5867b0c4ba9da2b353b27ca70160b48d5620be1f92a6765c12b15b66267ed560af365c862a7f23590aabd6eaf544009b1f61a67e72c756b68cd6201af54b8704b88c556e1197b85a7d52d56c2951a48cd6261c56b0ccb23a859ace0bc8de1197b85a7d4297cc552b557794e94e12b963a4b63ed35ceceb02cc83795e7b8ba955663292cffc1d81996ab7ff1750b6b6344389ee3293c53a5d46aa1950acb827c5aad9c9d4e6338f04abd0652b5f0945a8d0faf756253798ea7d46a7c08cb7ff08cbdc2b3766b85b5572c7596c6da6b9c9d61078a59ec1c4fafb115d6526141e91c176aa953f88aa5ced2587b8db37c62596c363b075f63f84a85a7f25cdd6ae52c3c6fff6030c52c768ea7d7d80a6b63782a57abf25f5c85b531225cadc652389ac566b3326cc5cedaad14be62a9b334d65ee32cdf945a8d0faf75da996aa556614229b6fa07cb82333c6bb7b160a20c4fab5b2c227cc5526769acbdc6593e4229b6fa070bce59ea1f3c5f65aaf41ac3d718d6c682f0154b9da5b1f61a67f9e4ec768eaf81542d3c8dffe018d6c682f0154b9da5b1f61a67f9a6f21c4fe72d16d652e12b963a4b63ed35cef2c9d9edbc058465c119be52e129b51a1fc2f21f5cad5211e12b963a4b63ed35cef2792162ab30163bc3b2f41a57e33f78be6eb152690c8b058ac95db056960161d98ad5c28a71218c9d61c5995aa5fec5d7baa93c4be5c244199eb157584b85abd5580a5fb1d4591a6baf7196efc3e49b02014e64292a50a1e749a62818c220afa08c0670550518a6f450443194624e12bc496e7d08d41ebd5d23652d75586ae025500a8b156c96381874321418e9cb1aa7bbbbbbbbbbbbbbbf3fa5587277edcf2983eecef4e79429ec9648d61518f3b9fbfb538a2577dffe9432c9dd9dfc392582bb7f80e7f8a21aeaf4f2dcfdfd29c592bb6f7f4a99e4ee00fc394580fb0758421d5d9d84b9bcbd303e0e737c777812dcfdfd29c592bb6f7f4a99e4ee52fe9452e9ee5e5d70880ff01d5e1d5f5442dd85bcbca8bb43f953ca1b7777f2a794335379966eb3b3f68a95ca87d4996aa5660b03afd4ecbc9767171778a566e73db9fa47d55235c8562adf541e41adc659f92a4f90ad543e097c1902afd4ecbc9716ad0bbc52b3f35ea23c63e5295543e0959a9df712e559aeca7c81576a76de93ab7ff17ca566f302afd4ecbc27a56665ebf68e6f6e6f4ec2dd5c060c737b81576a76de63a3e3cb2037c717d59bb3cb703777213aa7a737574757c77737275707f34998ab108777e14286bb0977757a7c7b30df1c9f04bc0977757a7c7b305f5d9cdedc8439bebbbabbe8dc053cbc387777777f777777777777777777777777777777777777777f871046ee0b20b0f40d0839be9c4ab37fecc1654b01c0e6242cb1d135fa6c9d10da53ab8903743a3c251e869c1b676242d2d3d159ba9a3baf7de9c5cf67f458db1ef686d77a42e7d1a089b9fce6c48b82908c16d0076f0fda62e81739a1a0cb0a0bfd972c5597d08a916624c8866eb2d5e4425cdc780069fefc5b1033da8b06990742d3e0cddc45f95bc0f1073d7679005144f60e3b123c6cd2a12b3123e0a10a7469ad4332be6f036ac8e7971f0285e26f95659c8ca2367a11dcd907b0c2437fcd60fe4d8c729bf022a9ddee28f84165667c8b4478676070413f41c483f9a4c2e5cd8c59a2e34431ba9410a1bfb4a584b7a1e2b6294c79bf4c5be1016d8abd87f46a6ffa62f3654ed8d88bda78791ad7a39f940bf3367470d0701cdce71840d83faa0c1c6b29ea4ea43ddc4a1bab9f3437e0e7aa61749d21988da68dc4dcfad2468bc130b4a2aad7ad60ba7ccd65e3e5102afe435e0db74219e5554b7c9e126e819769837c0660049db105813793f065e329f3f42b1e22690855f8b8a2add9678d397ab70983fb8383c94752e9d2e33b073f6509ce0d7971fc2357ba683d6022e8058e0e759d188abe878be26f09f6d0864b28b51e33fd4937def6020809beab500b0d7603867fa9b0f346d814b9d99c1e4db9a586132003633be9b2a7d37afea0301ece8462e1393407795c20b91d58a5c4777917df2eb1fbb4af26bb860e463ef9076c27e2b3e31430fd609ef18171237398ee041a53742cc8cd4500a0d1f35cb935b7d685d652dca4e9006e7a0ddba857a2b4e54be018a4b1c0d8f02bfc24dfcc4e97a371db6c0f5f3c38b6c0a35bb6bdef0831e7714d32f9e017d9ae7230e054054f3c059ba1f3b0f27c4846e67c6b521aed523a7c29889c5c4b3c7aec33c51e6fd568ebb10a31684a75a5d96d27085d4dd9060f685308fd286b89f76071a9edf2a0389774cbe138507420549e386482d7a16720bc5ed3e3eddcf0348cb4294e0832913b91d1f86aee8a682d705abc8188d74d3e47bc8e9f325d9936f80c00c0693593e0be8a9df6855069abddb830dd4119dc7c9f3f8fb4e39ce90be924df4687287f07192a4de275f889ca469722e9e905fb9c3c8e1a19cf878986a7e062be221d068f4380fbe594eb8749e1c8e166b0f04855d8389e448f7ac9a536bfd898a8219965f2ec96093d1be0f08c612eb48e0797db07bc6f153a5e749714a55de4ebcf016941db945b8b2f65ca8eabe50dac9fcc1c71730c3ef042b8c5472235f44640783ea65678374cef67b930794c6144bc22083cbec0df563be86bf3073128fdac411287e10283bf5032e88a94627a0b10b6779403f478dc54fa357898b8a41bd5a3c528dc862ec8d05359b10eb48cf23fc00c71193599f1732658da74a044f83634b67d252bd063b0c63fc76e8f032032605f715ae24712ef385d8e4b1f6950dd6ec4a2c237bd14fa004b663e019321dadb9078430c667c1eb24aefe1c91b372069e525382c7a4b46065db1cc98ff830d350e37b37b7843cd8f719366efd1b3ea0361f643021eea3f3fafcd80401bbdd7f6d470a0510f7b91d85f02087a2e4272e847424a7ca13a6f1c46a42757ecb2e662da6cfc093512afe9caa0b3f9b3dd5552233ea7cad85f375d79b4a8243d0be8e175befcf04334ccdf4284ba0206676fa306f3f5b0a987b6336340eb202ca1cfa66fde311c91f40c016bcc475fec341ab423ef06cc8243c158f70a425d1e4c53c9466c14c829ab0a5c2fca86630a7b5d91e1bb1d450d5acd102f5fb4c0744738c23e09981a9ac698d693c982e4c93081f04a370a1d8f08896fa3674a278eb1a2999409f69fa13e3a2e01f86ae750b5655edac6e272d45f3eb24c6c1cdc36d081c36b0869cc43a183e9bf9c41f130733d768e09489c8d9b2a0f228396c723b4f3a70bae6f6411e90d31c2f03d1678da8b1e9d8f8c31641770d2f34f74b47f8707f667d8c87791b439a0a0077fe2ce218d20c52277ce8e284fc539c6ed52e8cbfb0f425d353841177012f20691db6c3e1f893a07a22befc2d0a01bb4c0f4843f62ec293eb21c848aed63499af30f2e944b2974e26df8b436da152cff6280f20760336ea3cfe05b90e1e777a65a1da731c533d7beb69b31248f808398c6f49af93753eedec6d6e047e698e43641a247479db030f11805e8036910b70b022a34882bdbe701068c03b698f16f4f82decf5554fb2852e4b758799a071ff3efece1d3cd048e7e0102c51fa0a5827f2961e9271221f918cd824ee0a6cb9f5e84d16883ac5e572942e768dcf17c1ac7264316e5cdce307ab5350a375c130c1b4800b67d58e5a2ad1062a1af5f6a5c128508edb86d940909e9922f00e2f6977f703c8485a7bb90e64311caf241c6a838d4099137a2a7ea4ff618d9808c467895328a9a0c9927ef5227c3bf8056bf089c41af398cf48f85287d200c3807503568b3cddbaf0425c2d7a561a0b332f5690768fa5e32408037ac8ef22f45ecbd7342d45ed3631eaddd2a1cc89cb3bf01a9853792326207d2627d2380b8b422147aee4891231d250ca46fdc566aeb220c7713b6e2d1b6c2bc07564c1bc2b3e7508c70700585813fcf90b367504af05939e25c070c46df74b0dd1e94767c0b36d0f6ca504043993142770974c62de1b64ded15981ed3b2fc367159771469e9af501f3d11c82aefb704d0afd9cbb40b2519e15538b839a11cef8b09e47e81f9cedd8c79ed1994125c47dd23cd1883c1b3c983e6660b125f2b92cea6a4e6e6c90cc0f90a9aaa7acb96a4f388517a3b30263724ac4b0d2508da743321c5b75031c3a51466dd5f3e9868c7a6a467e9dcd181355afc91b44b3fe24cd8872560a3e3de52f8d65d068d2246127fbf0ce929bd0d2e824f912df824f12198a1e919d19c97a145602328dc1f80ab8dd662b5e83346387d0c02d7b67b03e4d710786a1a1c1cb87983ae349526c5a6801f8e5a0bd6f0822161f358d05c72e127f58d483171401042fc8794a7ffa2b27d185780bc091a03de0bdd1f7dbdf2f865672ee91c5c779ea9490c373125f1113dc0d34e61fb847742b888a7925f94bdbe0f98e34ff2627d6a9c356de8310a13d3123c1ee7c201d7049aa08df668c6766385f5780828780f0440741e551f987c24d47e065fd7463bc2f76178147a3adbcf9715e0b2e508b1e2155c60d81f04d08fb843f11d1aebf8ef38af832ffa1072d4d15b7a1c5f061f0f8e62acd23b6901712577f4feaa8e9f5e33a984668121d327a9fa72397310b97b7e6a7c901942dc4660567e90d4fcea39b1f64ee002bd7ebc00f13e90b0ec237e377ec39a406e080ed277f6c3a60490f87a734efc918e01eee48784c70482f2cfe074bd65193e4ee68a0e3722a8ca77cd0d781f0b083d9a47885e5527ebff6461b2e1ce08fa4906605cca3a0d7eee899a57cc6acedbf9e0e1ceb9d040470afa770d05a6af2007c2b6529d7821d6882f2462cfdb706ab36944b9bd2f707c08614bfc0ef2cd9614c1cbf15051f385c6b0713c40c45d48e0823f1ac0d2221461f96913ee71bc561c4aaefa21239a17b0b8675ba5d0b455cc89db2ec0eabc0b3f3326d7a5371e4647a37ba0879f9748d4f58a9164f09bb4dced3d579e7e8889351d80cdca733831b42fdd7870273a48ffa2c1179f436062076a94fc3e6234b6168cf3a144bab2811c297c197344fc058bf7aff808b4f79b3b3ee2c5dfeff0b1e586fc363da0292f3b030943ef81a9953f422885cbdc920f445086abe2656a1f86a45eea97a0267cabf38a21eae304e4ae4fa95109ef0260cc46724de391d9bfad4452d4cfa811a71f74f1f07c72907acfa09aafe2c8e54fb6ed5e7d52cfb0488acf4129b0a32d0278b32bedb52a54bd1d1e3d3c8d199eae9c0366671fedd84d974f53478138bfb0e0cc35ac6ef83169bedc281e14fd8e2f862f1c294a5c2bb5c9d1a2567e529d1c1a0414ad7744a789671ab33fd181d56368d1e36f00b6ec3f2463dcc79b377f746ae45f0e38f51e95dfcb6104f1afa1085f7493f30e7c799f09009e871af3f2500c8860424824e1230cead961d8207a0c30865eec90237b17826cf2c812645f9832e767640339d481b1ada785c6bf6061e7f7f4c1bda4a21e4d42c2247fc2a8dc549622b88c2b821a4b213ea72065c6c6aec0fb29828bfe0a7df003e0443d834909ae036fc84ec182ca9fc0f3b5575099ea59ca855b3add68ac114bbda6aae4e95892a4998888fa1f4c56bb0522169bc966edf78eb0f9455a20bcb908d0f500093dcbdcbfdc9575c35810e575b0c1d252ca43fe65cee0aef638f057459678a34477dec20e0efe84adf2468490b8a5310b5f6dc46287c14bfc0f480cdf0490493f078c8c5dddf237e1a6e50f093169291e766e9f0ca99e6083888b8219e10f1d58b35bb801e46d2035d1840447b895b1f91ce67c7d1d9d449fe567e926acea3c8fecc3efc6d8e8b37792a3b9f0a35b6491f45ee2fc76230f4d1e920018db328ac2cb08a36573a93cf370e61afb86e2114794c3856b20535573bd0c3ecc0d383d4943211fb391418b80d3e67a0904e1ddcc116162d062e31964285bca86a7c341f1b6ce8af2220bf4f63c08f9869048d2003c3c783b15c0b40fc5362fc68aeca96819fb3703921ee9929baf31e2c33fc234e0a15ec8e9a9068a9e5010edde61e96d2f61fbdb883922bcd40d05268b137d5ecba21fbb51dc9fcec3627a335c20f158cc5cb7b164e217e99ebc26be0eaea2c90adfc3a3eb898891dc66b8a478487a16ed2cac114721f5a08134aa73c6ad49ba500abd8f8ef1f02c5bb16b071bf7968ccb830442a39b8459f1cb98ccaea20afc436034e91708a89ac81e451a4e8432df03c6989b8302201d88cde20e9379bc9e02165b0ee111bf2228877e8140c433bf986d184f90380f30917a899ca227b044c5337bc0de670ec6939034e3e1d86172460b703c46e406cd2cf4e1f12c2bedca411fdc4edbb7a3aedaffabf2db6370f86c13574f7f31e3d09b0931e4e5336940ff9912695ea16144b7600ad25288f22f9acdbd0e5a541deff19dc9124177d398e495444f7c1635d3871ac0f684479efb0802273ee5a2c29b72788fe14f8e1654c8c01fc283b31fab801cd1c91c8de52ae798ae54fa084785af204fc95b05e8d34e76246e394fc64d008ae72dacd2629f6558c114b058fd4dd730ee20384dbde500c6bc518691830184b4d5104e700129aa1bc7100fbe018ad7db7153e079f851f4125ab2be0e02107f7d78b9d6e51a5da8718203f1caf28a8960d783e8dc801eddbbd8bb7cb3432f0f85c8c6e79e807d251096ef9705a1191c40e0c6c591f338b852673a61c45f6831c26c43d9428be921a599a30d8d47310741efa0d1c5c154e0f26e362a5dc81dd4d72688f178ce123dc9ced953314bb3a53ecef30160a271b041f82c7489bc4102ca3fd372f332dc063c0ba83afbc44cc60fc919a2e7c9275d0152897b5584c69fcd19fa9f024a3c50542433c21b41da50172166cce8aac300b270a1f061f9090ddc78a4263f0f172aa00f2d18f3580e6d3505107f2f25506c8f85f1fb266aee3cdd23377f57c6fa7e1eddf8bf112d766462de43ed434d29b182b345b1f41606bd70491ddc6c411422bd92ace1eb60642ea510b31940cbe5893c5a7315d171f2bf42c01fb2153ea0ab3326e520486e480d4f83b8103fa2bd9f4f11117ec7c323fd3cb4fdb3b0432d244a8a377393dd055f861f8309eb881ed1f94393ac6c027f225fd3073e6f487ac849b8809a0ba5495f384280477a80e3f1105975073193769f9c37bacf2c8e6e6365d1fdb0888f0b72235bfa54487f590eeea793e6176de1f08910bffeeb1184b652e6e6bd2c5ae94b43d2b888230cde4ac6cac94ef46d1c39823c1ba1a436ac83e500a0a6f4a2b44b4f2560c28ea4f1e7c780a9fa15602e795d8ee7df38f03a6c4fa2f70a2613ba8502bcd771adf18364e1b41f29af03e92269d3f833f633b25a6f84010437e114653fe4f42b6f48d994530d2f7d61a671e0511f2eecb71ec73b3e22ee6a071072e5fbd8a1b123978078435ab84da20b97bf3960572cf0c1e78881a11f0bd8f001b282efe0c3ece344baf2d2385444bf4d09f44a2a6262db11f4e75cce4c71462e20bc60b80cec067ef602d2f1c44fb488f079e2427fe408a2bf71c2c7431af3c8c5f065f03239960ee10bd5d739d2455bc171f46990161f1921812bc0044377c160e6731d3d2e83409c1fe4058c531153f11a6eb4d08497ee78a504143a0098a06d6309985741263ade256ac20e71f9e65c30f05e492f826f448f704300bcfa0fbd13facef2c1e75883dc6844dcf11f7840dc8aaac4a3a9da7a19e684df978a7f2895e30b24e73c11c88cdf12c0e1938e9edc0d9cf5b702b73825bd431b8e5ad85f818977a11c9934993f2cee832b363f6375c4c5e1008d7ec648b622c902fac28369738221bf8733e36333ffa89e4be21967c083c8578d88391d3b51bc51d9ec60b82ab85586b76f12e9d08771027e19d692331852a6b9dc707ee12554fff002e09b5e2e761f1cf86d7c88a2fbe8ac8f2727e74cae567a2a0c93a69056431b4692e0626194d3717034623e8e2df94978acde1e4fb4c693c8e946a2d1e83fe8053bc11ff8ef4e40d16eb2019594a8f42bd0275435cc610c5184ccd08c8c80013400431440304820100e87a3117914639298e20314000781bc5e7e3815c892288851180301c6104388018400000c00000083d0b10400d20f5a916d1815f5ebcfc1448b8b983a532fab6aef7a822daf69d00d999189a4bb25b547548bf30fa57289dda1c25c3b11dadf03b105594985acf610f71f00f67f466159f4420a3fb45acca5f762ca82b811f1fe011fe2756711af9215833936b79c24cf140d4202acccfe406ebe1a71aedec5fcd539ef65de65f38e7a3306090e83794c90a533bb08965de8b17c430a937a129d4cb17ce8ebc8bb7dd9d2fd142bf302c800826876edbee24882a2bda92f9bec5c5e2f8829da79a6c188aac90ce6f18625050f218ca9734ac51a3841c968960815df8c6342d57fc48d06a4efc97d7d4bf8c25234d7867e5f11b87b6950c21b6399506427e605b82f6b77a0b18d1b686dc5e22b808ae5424d2e2b64f87be69893b7f39c5fbef784fcc01c4010a23a9661dc92e495f937be1986a9a79d293a899520c4fa26f77a3ed1e9017945cd0552f23ac4c67a7d69a3f2c202614fbdebfa03cbf7799274fd5ea461c908ffcc672e344ce472d0a4f6112866e26562236fe50df23d79353c81987144658c79f2b40582ce1d345fa7a6d4fd4581ee878b53fab7983be75202861a8f0d5f652ebcf7993f47f43a6fc95eae6ccd04eec54bfa4fc1e6d49f0ed5569c39e73398b156958a801f1e5273bbf2d7bd7215a5439a9e7d44662161e38d6d0b5689817e3248ccbe13cfa85ba1be76ba45736ed7d6cf6e8068a15f4dd09e6d1c4aca50ff2cc4c700305681e85b93ef840b7278def0f318ba0f5880b8ce085fc16055b17e5ff1964acda742f630775a6caee3ad8e38317c9b977719d3a108d11fb3e639c0162f4e9f17a03e9a658009bb6cc1678dbcf3ad75913d518e196e85bba5bdd89efc6cce84474b8afe5e8395769869042e4cd5c6672559648cfca663939c1fe93f60dc113ceea467eff257885b59f6358afbafac26f895e29304b27b09e188bac3230d9de8554413ca70cc95c47a50e55641426d5315895287df3d83c768c8201c13742827ab0fc12fc3c473dbe81ffda94047e564a50c527945c30465d8c0bda5efffb0b74d21e0f3f5328ce2d1ff41aca12ace60daf9ae0823d3d12f3b3ac97dc8cf6020bb366f673e0184bdb85d735ec85bc5acf3e778ff67da9d8eb6167f7416e387bb1449bfc9d4ddc26462e861312913353c2c411d7b3a4f81b96088396bfacf8e917594409c26335d4890439964a3228efc191244e660f34f18ffcbcfa259c681876f103f33ede3be1d706158e3de1098993cd2995177da36af6968af24af3e2128ac894fc12f73f19ce3a6c462bdc72e29be05f3497667eb46b5e0e545d3998cf5fde70c5fba071e6805a05d45d9dd308677017063c1b8213469fe9a854983e9631e2cf6028083b1effec8ae9099ccdae183216681f69e9ff0f7c4234ada850969613bd131f9be1fd040f0a57358b11e29c005e6a754bcac35c22b4e725b6bfc318c492f74ad2a7fec43f09e84897e8e00ef3bc55cf92f09263bd5c05b5d81d78cd18bf926505428f02bf45e791aac018e08cea16c127a7fe0ddc3aedfbc82517882b2cf06ee945cb55c31c28aa05ca0f3739cc32698db30935ee5dfe3c37aee35fdb2d39b37b948c431419ec168b92e78f9e3babad39a58d45f21e5b1b9aee1ef6d7fbe26e4dbd5687b08f92816044e17c893a54fa6e55f89fa4b8a687195e8902955bce0b54b6cf72780343dfda7739ffdd18fcbfa8f3da29b25c14792fcc1d938f1207d2ff2cd3136be28481f64c4396a48c7eb09158e5d1879b300d8e75573f1516f65b1340249825f24d2d18fcaed67a0360945c068175695740c869e6591cabb1537be9f899c6555a778deedaf33543c66ff3fc1b3e5137b4704b18dd982653ab90cf44e48d6b311960c0f103544ef3d09c2003857c8f3cfdc22616bf2fc1df6dae684ae37eb3a6edcbfcdb3bb6eb51fd376cf1e8d6d1c489f2c7c7836d94a4b366fd0eebc9f7f647bac1de20f5b032e991f0f37dfba0ecda504cc4a1b684577b9191abb64828478044704af4f66aa851d6dbc0ecff8d8ff75f28e6caa17e16b8bf2b9880e75636f66750bc3543aa21169dc12d98e23fcc4d172c91e15721768fc39633f6be427ee71373bf3cf5d61323ccc7b2631d6e66e6a721d3297e85e83fc01c3c2ca71e813120c2a280b417700775130d8f32bb37c3bfc72f7bde23a040a62c288746332c6dc3c7a721f83f2a396ff96fdb0580cad5c658990f5aef0c41e11e9ec2fc975f41ff1f9b1559f56afb96f24dfde7b338fb808f4219cd8fb3b958a038b887158d06f64bdca091bad752f8378c9f6d451e89abc8501d01add9223969a27540eedc3064466602f5b8fe19a34325b3c15230ce9f6639cce2df6015df565f0a98a58ca04f972a36cb1794a991bd30a86a039961d614f6a122a15012f2aa10397139ae7bc83f200ed9506f6202c13e8e4f245cf037053935ff313f56e6e48bf331b6ff9bc9c75a05b2f73fa33b27c8f6b77cadeb08c919a873d2f67108a15e6ec0ce29b400f8fc6863fe6ddb09d0db677a6a49787e26f07d9058dbd0785ce8f230e2c148628f5097e4e9d239c3d558721a186446814365d25fb8faa3c8081bb6936265c67bd9c4d9bd3bb13c11fc262bd1b83c15f94fd17b62598df6a09d811d76b77db8116082e62f0f7c88b40ca1aaf2914eabe17428992f01ee0ca0ac3c5cea3910a22efb1e7f3776242026fc7d7fdae373232e3d315832f4075d829314b1674b3155466c4154efb374ad9f4162924277405f718c9bcba77cef560fc5c46447b38a3329e0df727abe074f0382abd08827164ee89259b68fb09b3ac81b30cab435e60d12e8a4000116968ee16579a57c384bebf610f326600e13d7b403dd0547bb4c0ebe48f27a7c4845f464aefe0cf7fc4f2eb80b72f8d01a9e5e39ed681e77f47f0b7fb322a19fb58b943adfdd90ce270e4a3405607741387fa551debc787411759f63ca488e567f6b919eb395666a89f8eb50d78ff99e2e1505f8b5771fe713ee1110ffeb8c7b60f7c0ee86f3b97dd761f3e9091d3bfe1c7fc4eb181f9bbf084e0c226fe6c86488cc494573f8304b12ac3e844e088048feb3ab10c7459d6860da4b3cc2630ce883cb802a99f151331cb1baa49993d355e30a466da5e4d1780747f4c8fe9fd86b69174ee2db4b70444197ea3beb169ed3f5dc3156c1992d837e943fb1ee2267ad6def66168a5e7b531a713181b84cc70246ee0b14ac793fa989a404374fb9e5027c92716f51016c7899b1575e56596b5d76464e8a5ed60da79e05acd4c83732d284c4741189534df587d2a2b058f75d8fe7d886d47c6e96e62b61e5061114c37d8a7d75fdeff8b89e26a8cbc42068d601f7cb4622e8403d86f3b4b6ae7e68f1132713ad198c5b3796c30a82d164364900566ed591f31e9cdb8951eeb3834f5289b285b715dff11ceeb08d4460905380360aadcdb1b4c73e040eca7198ee7de3ddddda3a299f2375e3ef3b09a9b0d5f6fe0ecb6b9488fa7607a87f3fb60f20c3b9ffa943dce66ff9c3ed6115fbe079c43c87df47f585bd7948d447539adc9ff8bb379ef036500ac09422b19c7a2d8406f43c8537c94b2ed6ba6f5b628f8347618d2de0ba5198c03439794705acdc1e3cb12caf90587d80170d0132839bd8c19381f182cfffa38bd663e8234aa99bf012670281cbc6dcda554c5a92bd187132d357f47e1db3b9afea66a6b1fadaf77ecd9b8162186bccfa6c63ddaf381ad0f227b8a6dbfe630901afb01fdcbe208ae8eb69c5f92c0a3205b70cde778e1788a36b1f349e1c593ffd265a53ae2092e7265d495d4555c4771cb8cf2b8389740a90e9cc71c3600fda8731048f94fb3c96604418558683f7a2188de2af01ae270af7ca55e60eabd760dcfb6bda63afe9fe3342a50071826eada9626d86663dc91cdfae189e843a835ae1e4ab7f26ceec5a1fc4b7a9440c55892075430f2698caa9f6e388f9c8adc5aa6d1b634e77e252fb7452bdd63b25d27206980169947a7bebd8cac8ec3b1c6a418bdb223b699b46a651eac46a1c8b38d4c07e743bc509d510331573d06c072e6e4457bffa0bf8da8a4672de3c9443533dd59a61f341e433089a883ef357b1bc3e2f75509cdcabd7ee191dd0153bcc865dca5a5fa68e7aec99671e8334dcaca2cb7e93a99bac3c76feee15b7ef998fd5513a57c463ee4048ce76df6810c1e19e7f32c343666461ba454a703c525e7d1b8fe20e0e0bca609479934b1b10b7944c6de5d42b4868e91d80797b0b934302d3023b388e7431c1fd76111595836cdaedb18e6d625e181997aba2416b96b76dcb05683c72006999e462aa0737c0e2acf4f25dcfeaf48530640810639a3b79c8196bf27de5ac95baa1332c3cbc266372c3012350cd6dcf60e4cc7408289d43a8c4d9fcdcec38b58f4608554004c28f1d5d923dbb94f415ac079c381cd6a0cf1f61fd291f5e0e41164dade6bf582c58f5f568bc79bdf32281112b885e7ab217c4b550e857ef21e83d5f76fff3b849eeb46ddecaff10f1f342e3dc3c684fa29f37bd6857cfd374f623ea7d271432099fb8b43cc725fcda1a15ec101416263f01811be69ef7d1be9a7a5da9f3d0506afce46511fc47bb9b5170fd97430cf78501a6b8de5c7d1be355891d5d0f5e9585fb907be37657630484559e29f187120a260695a448a089f5e44b5d6b83caf309ed8087e5614e86126b7b6d5bed60a3316b9e68c05fc13d3b61e0622edc7f939b7b32bd96a824b237e93b1cecaffbd55c68d3983afc4710b5d774ee248aac61bacea8f6f541ffbbd6c6d1392ef4dcfd70fc2088c6327132d20e1ba6866b04306cc60b8b281d557e374bcbc772f45b06f84f804efca85d331d849afc3184d0cf9106900394bb5a9e89bfa72d342ceb012997dfb3efec6fbf743c677702cfb5cf382bfbc6a6d7bc420ad5735133e6521d761f907623f8fe429db1bafa34849302cd4a23189209bbac3196441468a2ca563fc546e04fd8404e2c756e94f4e76720f0c12978494209b4f8b07fc37e46eff5648eb6f22f6662dce53be69b14fed60149fdc53bc7d3c1e88cde418187312caaea8fde91d7c1fbb52d906d42262b9cb4ade72c2c95c1fd8994add7933b2d41753315b11d321a70a6494ac400a3f6a2264ef2ef3f1633552bb7307d1c6e95cedff48b06026d8f071521f7c2656060b2e95ce41d29edf79b9b526f3b41e9fc67fccb0da0a2f4bf0c92bbd5b43ef1de57da35e8cb2f989e0a334087def7b88017d91d005ac42bc181b71a25fd9d23a72a42e3b44cf1e17a29f1969f61326ee4d5f17f4ae8bc8ada34414f4fa974634bf31463b6d0932ea3d31e3d3a51868ed21737383f1bb99280e90f021b56df0c656a7a6ec393c33db8a7d2e07d1980adc43c45ee5cd9666f440f56fc463baa1fa7aeec0402bcfbd62d673c73e710da9457bffda8b05c75fab4b667d5ef64046c4786bd097f5f3541e6d4d3142240ace96c527db059b4b510b7a4113423a885d777a13280524c474381e472ec6a8e568580605308a1128d622ae9151798ea5cf4567548cd5342bca5651910ef2e615d6cd7248345b189b815194f765ae1e5c160559383faa0c05154ce74159a3414876b780452b8fc3410b4741f2b909622bec269fc059568628016b4750cab55459726a88a89e5dc89ca32a5e962510568952b068b40c54f53f57b20ef1ffc1021da85e0a80fac50683f3190c598c2149a77e0f8eacde6408979711405d377e0542bff29349b9906b1cc93342807fc4c0f19f167867118009a05feab1b03c2ff0dd7cc04020ace482832b13fb7b1cbeab516152abe95876dca28682c9dfcb1b67da2c34bf80c6b7ac0f17e17cf20aed7db1bd073443fcfe23f037b372557638b035f2bbf170ecf1c4d08429d148fac2c7a5f16337f3d7d16b417bdcfdeda67ddac0efb3db6d485a9b151ade66b25f6af7e81fdd72ea81383c7cd44e23f743cd1f5ad50b48dedecc2ff623cccd2fa4a1c04e559651b57c4cb37e3afb6e8519ce61d89d290f7649e44daf58cef7c4cee3d6614b882167b25207c9c3d71716ecb8ff8b579b167f50ef5411f0a84ed7c4ef37924393cee9632277e2d065d552bec5a2fbb46a8d89e6834eb5fb9586e96d4ed9a7b2a357839239e16312d973ede51c4d1e7ac38524e83cdee66b05d6807e646f3bc4ebcf97f5ea1d0cedb6723b1067290cdf38a0c3234f6e9593e49147bb6909b90869f7370b208b7c175f547e1d749d6d43f059a72afb0490d184989fc4af0509413a77e6d8325b47914cf08b25b4f5a78b86645704daa311e606b5736b16f6a2d16002a531df71d48ca18611c2b9c0b483461c5f9b1b938cb86c44ab41e6b057148c6ddb06e60a585c40964fa675343e38e2d58aa55f08464b388b84592aa28d987e30efe3e4114c50177fd367eafcd70cd0acc8324cf2428abee9afead5c5f751d27231afbed8fbafce50ba56a2f2cd85be329c13681808c24c0994108b6eeb3920dbc504eafe6186cdec2ed4fc164e60185fac0597b9de2fc8815ba0e7a52c3d37042366794b989e507eec99d08bab26bf9716d7606caea664b6b4ef53abd225042df5e611447b0029d9334cb7118c6ea1f5451f59a879a00c8c9c298b398cebfe80ec371d6e485fa1574db254bb2da95df90cd59b58f2ff7e896e3610a7d7fa2fdefa805f247e10a0d84b1394f2fd4742564cddb3a54cad670a54ccc99153dddf7df0b729ed3d1a0feb8da5a21311b8a32934a677f2e92d1a98155fd852da774dba7554f5769f0d47ebedced6b9b080489c61e306b31e8f48337005b43705bcfa6024247f9bce6b37fd98c73ad28dc743ff2c5de5a45efb98ecf0056182cbee9fc2b772941b99e3c88e6d115afe86ca7d880f3658720cac7527a33001658bde706f5878bd797c97b607c53fd7ac6eeee247ba3dcf71d888cb8738cfbf4780a86227d0ec0657adfa42936e81917efd9eaa0c0edb613091fe47f4a08b0c5af7013523031bfc5627d869f340c0f77c64da418ea17f8c3fa7fe0d9e2f0f09f85fc05a8a0d2fdf3a83e58d9586415791b31eebfa84c2614f3c5483c689fc18d11ac97ca63b8f4f8e046fa7d0473872faeff9cf4a00cd0b6c04b0cdc616509e8f14c171e209cfdd7373a4eb72bbd23f201ee90acad84e687472aeea0794da96301eedf7b7f4f91d0385b1d9e471c69e14aef2bd934fab7205bc5c18bb3e827966e81107b1c51d65faca443ecb3eed3f2d52d4ad713394676316ead4025be3336fff58ed62644eb3111c15afb7c5371dd309323911a367b3b4806c9a116b8a8c30cae1f4ae51f8a3e9f3f590373664dd4cba3116c062836cc783fa96f1c8f3cbac0b3aafe54601647c63c59ddab05c2de90b3b07335e9d54932a342c389397737cea98225796f71e134fc773acdcdab3ce45b1ffaf8812bf2307a797df54be527ca22f71491abf17d13b58a187e3ce3aeb6f41eaa4d43274400aff595e05a9957eb541c6e72472627966caf8acdaf876195b1ed39188967396b33f40e78f41d9cd1a0dbe096a5a594765f7f5dd99957accbd046a7ad94761a71e03af80938e0ca3b0a915a64188a9182738216d8423209aa8598e7086a8094e8e105c044070c48319f3bcf997414f2ffbe8ecd76ff875f0d3977974f6b51b7f1ffc94651f9ffd9a8dbf073d75f9c7070b034f479e91585dddccd9339a2683f314c12048407d2b68c4acee9cf68c070bf68eaecef5e915d1bd6031a44b82f96bf2f51a3b3397187823eae4317efe2b7be1d95eceb548cf2d5c0de3d0bbb12acc1b98b09b2ee68ec48a113a1075236b2c0a4d3c798bf1a84377a7562b3daf317e68af7dd1b8babe5f7d7b995a90843f7dda77d9cbdde3b9814bd0f9188e67437d540a883d53d5a9ee20af8b4fbd3af96f44b0e741f1c8de686696a77107d1109221b3cee9ef4d99207cb2e97a359c3ae90a81867faea56355d59fec472646cc71fddd9c3a8dcf935b5511dc0f305f4827e53f4dac2333d13932b85975d93a6eecb0593acd2c9db308bad97c6f6ca5249f843143f2aebb4bbb4960a2b52d640f257c22eb234306f572da2e92206fb343f4c5a6f713fd11f0d73893fd987e688c6094e91939cd4ea09819fd4d00f5a8fbce6e5f6dc2a5fde4228ba80f9085e135369f7c1df6257b0f731e29e58a78ab442be14d039f2a9c6adacad77e7eee914fe0faab1601581e390f2645b24eacc81f82c9b21d69e6825db02a52391ec5d378564a86648dafdb65842eb0b1067ed6b36d9c065e526a49598715e2d7e94303428e66f9066126f26ca0aacc0c7a8fb429a0fe49869be99076d3375ad9deff6f3ef4db6ce85aa219fbfbd1ed5ab39d5f66a7e5875049db7b40e6119f9c867bacae4540074880608de5283d3377fb38de0e96399482c923b8f39b451f925bab342a89c2817b35c03bffdde4920cb13a5baa49604f5c19c2b588dd5530b866518d2f6b18554460256ea4e5e19c1532bca2dcd3a2695b41a601a9354129f1ca1420120bc2d61c5981995b0934b7029767ace80c45d2118de23c73c3cb486ddca1f2a4bafa19e9d34e5a78a968888c857d8735599a267e2928a82c922b9fab02585f4937e4ff4fb195b58009462f5f638dac1c31b615ab6717a351e74f5ea9bc72bcbffe44860b8d9916e5570f383a814b3101bb5bd434718fa55f87926875a8ac83ed27a6a285cb96d0e3f9bbad7dc254777aecb153281198aefb1d913c48515fe48c2a5fb91440882263a5036e4a9a1e2ed259ef1cb7a2aff7b363b59e7ac0da7a265e480735c0a43df18035d54567a0a4047c831c23430ea5f1f58149e51682eb7660cc157284fcfa3b0e3b5e1530c771410c2ec6f779614552e516e231cd15df0f24cecae6fa101f0281b1a60ad5000da51101e43fb862987c54784a50ec0083526017f4f99b29cf587b5b8313100c4d5ae388264c1a0aa0f4950fde81ef3e966631de5c42be21d28318b637fac20a4e8a9a6d760dc76b3df2e5447c850636e316f0cc226b655c07de4b59ff5fb4bc46225d93e304d7ffd138700bb0121085034e31f3bd7fd1052c19fda68273b0dd32f6a8c1b3837d881505b2c32a31cfe38e2510233260285291d931fb2e6a382c7c145ee199263512d6fc0d0dd6a3cc3a69a1853563b21112bc118c2615c904d038605d0e04e72c9176729934fa00408007001ce059fecab45be69129312974540e021131a1da599872c94aa6cff68c4b599ddd2c2927a7cb88b245b84cdde42712db87f7f384a6d47ce07d78678eafe33b2e8c0d72c754d22a24daa59bbbdac0247e9d8a1037136219b758de03fa8fd85cf3889a1a9ae4cca37e23de0940268df0c9380f43fb57a9ea9f8d498d37b023854e83a273712f4efc7e730c4ead6b7639bb2f56659d3da8f2f97d1c786295756901b72caa10999682526089fd07ca1c95bb976848c82b75337eaf96f8c54612b43b818fa0f8117d07c6a10f86fe5e2c4c7e8ac91444302fbd5bc2effe43326095882ba9a3a57bc69a5f1c65fdda8b6a01c18b4f7768fb75caab0044d41d04424a0361dddb3286cf07360bdba4e7b6822bfccc119046ae7729d02b80e857ab0473e58e9cbc6947665c92021df37e3e9d147fd49294f9cb4a6e729f041ebad271359706a2f85ba8534fec5783d66db0ae0b7f9c2a80b2f5a6d24aadb3adb59b3cdd7e53da3f7054f0285783946c6de8eaf2e264438995134c1ebb093f6a77f79bc3d81dbc107c4f1dd41d4f66a07baf6fc82f7bc1a971f1321c40ee506133f556f0ee650b09c54a0f5a7a28bb1e7196f9b822c8f58261904b2dd21af32abe9050b9d4468c857377f06064471d9e27ffbaad071ff7b73ad7bf012eed8945217b803da6ebdf35b72dddbcca50f638c9e4df3cb2eeadcb2caa89dbbe6c2110dc10757bef6338e155a40daa5a59a8da804ddd74e148f34d0f37aaad274a7534538af51a89ec48ebbd8b0f217578be89d7a182b79e69a4703112850a3632b84bbcbdf5eaf8adfd20e4ae22fed5ed354e3010f0f0f4ba373f34968226199728c5329704a3b812de827a27813137ba2cf79ec4ba0eccd54db20cddc896add3daa562227293f62b26e41fbacdd2bbbd4928407fe7275b186054a3341820ed575b82e1aaa3b3d4ad73c0935c6bc5578a3e9c2912f6ec05fdb629445d85d5d91013d14610c7163e09d96740177b2bfcc839c822d8a3aaabd5f792f77093b4652edda1c0a086037694a57b9c74eb513f59a9346e93434cb8b90b6ba3194b5fd7fbd8b2def381209e1f417019a79e933643ea2c27f51abe16cde10f6ead60474c60365cdfd76f97116535a94be4bbc82b1936f4f6ac6d5989c7f64bec06f1344c036268515af72b79fd3d08ea2b336f4332b31ca2b7cef849c6e625bb9f8ad2e120011e7774583c20d98ef8f40a0b79cc6d929f64b4264fdde3ef26234ef3e315be78b4f17313c9a584cde8ff95c9f8f25435b0e277c689cfa72a674de685cbba49b0e95443eb2a9099180f2e92c6ddc8e791ca9e4e6b63173940599543d68d198a33052ee6bedf2f11500cd020fbba576fee180daa7fd791ad51c9c95dc1c1867b91cec087acdcc227259c01aaf3ae7f9e2f9997f602c1eda9752f6af40bf4f79325b018073efb9570ad2ac48ed25c8e7b8e90970c04c46e4a53af67eed6f837c3a390759ad77cc3671e1a94122f6c16091ba2196480454450f87fc1085108ac21c42c8a849ed6d59320c6b68d863e413c8f20e0cf8cbe5b57bcbb2fee1a609dc6751ad885029bbdd9a284f1d68bdc85f9f1e0f21adf3e7bf0d9245ff94db6515ef9227e90c447212879baabc965e0ab9ee52576f14d053a9464b5bc250d759041f0f1d13244a81b24df1ff3738bf95cdd1d4e6501247ce66db2284100bc7b237f0f759f864bc39001663ffceffc8324c31874a2332ccee8626588c3b35397bfef2591a57c096de0edf1c156ae8de41f2078a5af845509a5ef0a927b9464e914ceca1ae8a46278618dedbd95dcf1d8826a54d923217b333f2a844fe2b9ff2255c9930b1dc812dc646333eea9221fe6454d3281b5fa468931edb64b83fe6e6cc218479320f1c3055d1c07c29127451c182b132865157001429ea02a526ba949c1ee1cbca8ae39d2cf1549bb0a7823467f5c83a1503ecb5bdbf365d65bb6e4fa3e92a5dc1f028a6f34fcc75e04b464146a51f9af9e184eb14cd08e0ab9e611b9ecb87be739f223ed82548f1dcc6022ef2889a1f54fce8c8be039a0292c18e313720e67758adc7486b3e0abdbc20ac47247ff5b66deaa2dd88b0cc51e6d36fc0cd2dfc32ab520061fb487777bdbf8ba4b0753afe55beb48c7b8ad62a968bee235911e32d200ee658dfb44ab9003a4ddacc0dffa2d463fc9291aa9d3e41a42768879f810b853cb83417fc0743605faac549d2c6dd1768bc8b772f87ac62b80a476d9c5805ee2c0d9f5ae87d2ca246f4c4488919628a35b40c205a285bd318e2254d08664f106f67614d16e3422810adb21f3f55cf595b4d2a0c0c3cac06ae5befeddf9856104022570f30abcfcf6566f0745835575627ce85fdc0e2d43e8f19d1d526ac72a9997785d3cac68d7a3ef0f3874e50c41e28be8359a2e5919f596e5480c58eb1714b2e5522c349de3cd9a001dbeefe70d87fa63fe94b4640742daea0c38d7df46712e9017d9717564108e3d48a2dca4c0d2cfa2c842bb4fa2d2e5d1fe0172c02e8fbe4b04feb7912c5748bba975187f7233d3cb993186c13483456a55c3af92cb4d1bbcffb043ff40734327c17f193f9384277792946f7fd97d64f2e929d63f59df4fd68c5f72c6394bf8ee00b24cd6cb3b744ee0b66022bc558ae314f85e2529cc484ed7872cecb8feec49221c79602f84a168b68f754cd764de77090a1efa75a4a2916057099ecf62ede5291d0969fdcfc1e03ce857cedcebcfb9eb29eb005035c1e430188a9eece4073a5c80bdfdcc34d51793d887efd3b6d007eb3efd550bfc037e53077702185733df408a278a93083405bb73c369fd67e7b5e482286a33b8fb2f1510d73ebcdd815f7b23afed059daae1f024fc0c2087888ee1e8234d0bf537eeb570faf102b72b31e8321ce3b975104292011aa59c114ad5ee848bdace0fde456571da2dc48008f42a40d963fa85dea3bd653a03297f0e424d8f87dc39012dbaf9451228eac1148f14597f6dc0ff831ee93c14d113b065ec8e5fc4db73364b5544508fe4321d245659efa02f08337e0b2a6150c51aa81fc8320de41cfa9ed78a8c15f49fc0795befb06bf988c243ae99c709c9ebd03fc4c260b0b43aa43dbfc48aca9c6884e6e03da2777f8822b3bb2389c9192442d44f38be058218d70e84f58252cee7027eb094c2482a3121d82f58dcef61ce6ae19fc7c70fffe0b4eb3574ea21167e94cd5cece76760d35b81041f5d683e351d653c8b177c3bb48ca0a7533cf6f5a8192f90bb67fdc5beadaf59fe004719fe9e9d0185f38887123f503f44ea6ee13fb1e8374104a1ca6ffb73bf42d27fe3d9b046b0d84e5f9204c61ba09021ec831adb8cd091a0a2cbbb58495d1be8977ce298a75beed708427fff823afb951cdba8751382c42ff37ba1cdca5755aeeea1e8ec2d8c789d8e1193380a9505da79044fd082926e12f39b6e987e67fa893b610c78cafcdc25116986a86de7aee8f6e72fb04fadc069ad1ace14038c944c9a8ac1f8447b9f6183250131cd969c9a1ae7c5d0125b4442b8d89759e281cc9e5fa63f5cf4482ab90432d8877d051ea9d38dbe410756309c0bf2a19db9e5db4a5de170753f5e2c622dce44f11ec111f1e625519d4b602f839c6ed6dd6bc2f47b29cb7b62ca0dba21f24c84829b8bb0eae77585214c73056a7e5b16151745267d5de69eff0262c1af894cdc99e2f93e98903b323f758f4be89bacc8058dc1d19a4c68bff62c17cdd3357af60c457507a954066e365421c6b45c6f6d86a5e4184e8e40d169f55533aa3d5bfb06331ecf7e0a8c71599f69a05c8ff881fa983a7e92fcede89d58050c4548b0395036c5d3641d1985ca2b4c77e8db05028ee91dfb12b5f15e5a39d4e62447f73d1a95f51eb5ea5d9fb25407adc790c0d0316be2e590f7f87f8014245a7b00ca4d12dedb2f067000ece98d062f63e12482683c0ab0432731f55a4bc7652e10f23d6eebd08fc141f35ff3dee78661bcb9935e7a732730b7e39c747f7b8166278564de9b044d8b844330fd8db5da264004e57200c111a04098e27893a206c57a4a3ce4a1e2b8c5313185d75225f63a571ac1441b24a838f934d6171e4ba491721b1f82dd37c2e6b081d0186c1c07694756f1211afc1ee3eb943624ebc6e0542244514108b886978a12e7bac708231ab07f6e4e37127eb2a1efbd564fb573551583b9c9b0a1a77a151f1402422fc9b170bb17e22a4ff0dcbed81ea67391f550070d9607e51edb03312abccfbe001db92c1117ea96bc80326a8f49451be93fede24424b9fe8c8ae9d53466859a150103b3e755e2c81b794ade020b87a7994e837c0d2e88f9e038989af80dde73e47a797d4d19f95e26a2093c30569e4ab5d33be87b04bb70768c697da3027e2ffffeebbdd049acae1bed830d6d95d6bcba21b4f2ed690b25a60b330a8326903ff45d49900f51d35f5bf84bd7fe27fed85436b5e70f600901ac44facab7be8dc3f0f763659b8ac60161d7fbf31dc37bb363d8ee456032e915a2d517653f56f1b7b27245b86a10c4bb3ce8b20844ed40f89c0b5d2d04afa9e3d6ed9b9e903f2f07a4a6d6afdff9800df943c60115df041e1517405998781dbdaca0dc563a0e4ea74f1b088c9d3e11889808297ea0fc108f86eea10db079f2114579240f69bd4e5f9b90104630273ee4d92ad1e994a50963de2f3785f94548e85506702839d16573889f06c6a0ea69486a158fe9943e6c0d6c8e5706ac0811604ab26c1835cafb186306242ec4210fd01cf36787f1b92fb996634cc248585e43ca655f4b79fe3a1284b6212e4a310bb1888d27c784958f7350111c2dd2638c0190472a41978f90a1ac5f7ee5183c8700c51e5572c447fa56407e3aa00a96853a0b7a6d434f9e3c58d079ba692df103bacacf2abb7b839e9c7647ad2d1cf583b00f31e5bf9c2a6e4ef5fc399816c11efd1fa4c1f221246d4053aaffa055d86a40859a9ae2d901c71e1a5d2dd125137f6eda98d367db5e63f35cb6b0b8060f5a59457847e341d4f477c5783edf1d430174584b8ce1f5a0059e405471b6600e5cc69be02e996077c7dbc8de3a2cdd0b05aa73e51a8e98710f8896ddf67e924680efe59e1cfcfb461c064e79d16696b83d6afe2bfff340242308e5294f08630c6a6ba5a809266e0976ddc40e6ff274c2b9c874eff4667b6b2397499f62c7a94e8a50fc446158eb4e1770b85ce1444edea696d16f2c8f25e36f4c1d62e46628f821e2c525169c41490fa129d8d4dbc867a68b7ea22f6e083c2720971b826c66a7533275b2fef97af6147e09dc0100fc57591ecc49c5599507ee9069f3d859655012ec3433c0032168e797c6eb35505daad76baf689ded92dbb6bbf18bf29c60a75aaaa7b9e3a59e4bea09ee900935c93935d647e7f365facb171aa673670b943b5d40561bdc0054efa2e040f64b8b85c67f0a57ed61931705c56baeed36257195c3a16a0e204a00a795c20152047a54d5c8889e307b61b254fcb07c810162290ae7807d96318c355b27670b39b5679f85226632e3dfc8e3f7770f2d7c5251543469fa2fab18882adb205c658520fae90f940a2f3b7ff418531e9128a36518228571a2ad51ab2245d2e451f3b8db026d6b2a96f4385515e21ca2c8ebcdf5e62290c542f84488289e0ae04e67222730cde80a0ea2c376b2b0455b6c1f7d15a9101bc995d1ca34efeef5d252bb1164831a84115190cbcf3e3d671249424b856984091a2fd04ba08c72f6f4807428c853bd0ecfc890333b29c14e4e0a0230e95f5321d3839e309b04f584ac4d3093a95103e5ec3426f340ccccdafc66798d6a9fdf93144f0f77d52c12af6fdb38d8defd3eca82267b36e28fae132b8b4a0907c4d500360206835c9fea36dd3b9e8e96bb5a2ad803182e6e793a855dd6a23d59c3d734dbd9a2fedda0c002eefcb858bdf3a3372571eacbe014523e2a72feba8b5e4de4c1d4d6f219fb9c5e39ed3dc0f7f0fcdaab941f851da2d4a766f40479809a47a4275d3da7d428a7f464be8c9e7c0918f4dbd2c158f37198996ef5c00e5bbd515cf6179a2c469a8b287aacf155c8d2d87fd7e9042f6be37e248b3aa5025293097faa1370dc0516a3f67f6a93e5aeb8277ad8055a9d730901b1834386b119f29c76294723abf038c711be578e08e3e391301f4cf414a5eca0b7950a7310c35a0ff4fad13ca8d676fbcca76d13434658723628cb4b9c1ff3cdec91dd0035478bd73163b39b1e07db5ea149db68e50e36abf17a83c2af62e72f0f0b0bcd90070a08eddc51f5c05a1a8a2dace8d06c96ae3e02325adbd3ed9f34a7a1e91e13503d699933eb762991d15c55856ecdcc87ae43d42705e19ae6617a76bc4eaf73e4ad8adf6e0268c26f1f8cbc51c68f553ff19fc0d7f30e1a82cdd36bc7506e43d2e5aa18367cb612c190c079e6f023d0d2e25041f907abcd99b1e34f36e9232dfd74e3c0d3c93faf5606326dd203c40976554fd1b6d1fe675c05b6f86af747a7d26e99f3d01b153fc213791f0fcd40512669eb3b0fd416583065e3a015f1828e4675615e9ba575a43d28b03d7d2cbec50016e1f9b0fcea178129dd674dd8f00cb96faa0c875472d2becd2805b24f8a8203ba963ce7206b005dffddc09eb2d493ecfd33e28fd2f49959ed7ec5b58d2153978474ee76d5fc45d8e0bedbfc18a4f7bd0757d00f77f03b174a6e1f61152056b35a0ca9e396ba404d901d8c39dac00511c98fc6b28455084c2d54dff93162ba9b276962e885941a3d3392526f751c845a134c34a68ed7a5da10341a17464143707b2501aa8652493d281b4a948282ffb027c23b4b3d39a1da212bd8cbd1b1ade97c1f9abfdff9d09a8ff391383f4a3822f8f5a8a6087185370c2d0b4ea7749c06141d3b5ec2a19cad2112d0c568dbd25dfe3d5b79bc592c7472042e15b08a94ef8d888086b30e80bd1ba240b9081400a5efa0174996ddf9529d936d13f704419fad97fd1c9d1270ed1ac7eb71e897c3f8f805df903908f3e243a838ca9229bdf9495bd76127b965ebf91b8c282713337f3c46b9454d7cf2514ddc8dd97c669ba4e3b3d5ab113c04f70061b8fe401c983dd1cb56defc4b293347221e38c1268b2794058b57d88088ad7e3c8a05093fc2e67c19db9fdf1da73b3252b9b3b0cc86fd0ceee1e37ef95d37904655df8d26cca855d7d1fa87286a87954764677d46fb9aa4b71e387272037bdf04ccfd99f13ce141b3d49f7de6eb2d7823301294007bdf37a468a623a88846d61c0b1aa54fdbee792454a751b7c4411abf0021d559b85f0a1b4e336e8c0f00e5f225c9075288ea1eb302462d7d9ac5269e808c10f67e6039dacdbb0755969fc81f3e6bb28311ff5f5d228c04c722a1157956fa2313405c1f36289404acdb8744856599965ea382a6156af2252076b8541368d795e76469958a68fde4ef1521f3a7dc6f8a7514d610baeeeeee1fc19fa1c36901eb1736b4ecf0018c920d1314152e147099f28501c1c60f22c25428d839e483a367c43f040cd208d05cdcc0a2c387314834242a2abc5880c55280fb5b4afcf62b50bc072fb4d235a0c582d165b2ab6049a2df35a96139f11407bf3cd732d58f195a4abd8e209a656259f8f08752e2a4c90ee7ef1b9e05c8163536073fa52cb216bb3d6b3cfb0bba28f4e57017ad19a469a1c93b65a7b3a747135fa3de8751f5a7cff035a27d6a34dff6f2d726113f5e27e3c5d2ecd624fbf68506330bce6191f2f0936110cc24490bed17e9a3db74186a7275d514bea3c9a24e4910059bcb38ba54c15691db4fabf5795600460c991df1645fa908b1e394d0033be37df1813db0d19987c0865f7a8d0a827263e998bba0ec14a1d97025b99ae7b4f32a79a392b578e3882d7ecbb610ade77ad7493f29e9f03ae3aca035e24be06d658693cd9d0785a8bd2c4e91b5bd698bcc5f8cfc4cd49615926aa0bf20a477957b536e8559822cc601bc7a1443b1c0378c020db1e3babbf28f950e009e3a05303ede1ae38200a89568ac29f75689510ceb6eefc001e1127b21f601f01aba9776e99f6d460efd59f10fd871b8698a036116387cd9b9e175ee9e2fc6d59ef47875a0a069715cdcf22229534a073476d9bf98220741b99088b39022eb854498b208211c92fb515f287d5b5b06139b05cfeb037b5c3328c595181fb72e07b2db6a5e6272d2a12ff8ab0335ce4f47846dd49d7762bf9d619cce59356fb03c09c80d7f1a2bb83908ae6a1d2ee2781d385b307089b3bc8d36f1ea87b7100f2c17d6401cca5fd7d0545f9b871455e856724de881b77e900be7024a0363464b75973f26560568b2fcd60951b49d0ec91de0a8f5231190a9dc212361b311f597a14dbbb1e738f67f2c41e0b8d4a59543fccb5ac01ab323860318874ee1c3975778347ba158892e6e8184d334d928169e57c06f6f46cfa994636fc716da006b3cfa24041bc00cfecc0054ef140d244573a89fac7903b617d84b19e010ac1a8dfb6758fcc9ab13130773d5eeb1000b64b4d4add9a66c3f5b386062c948923c557df6b0d9017ba9677ee968983ccb0596702cdacd914365b0f88b5bf77966826c6c3857c1ceed6c069962436bc0e68da1f33dc32c8f79cb7f67a17de4d009b6305efa7a81fcc2130328cfe22857254b8f30108ba6f12fb5d011856918e9e8d142ef2b78610222c491a370afe942273db2ce07a04949a6581dae7ca6581f4308fd96364c5643a53c4eb9494150003ca148ae2e1714d8ee4ebfd31a1416c752cc980077828030c6f7581ffd60c29eb7bb37133530fdf5218a36a44e65e16552229073228cfbc89c14a3a5ef936d9f34a55311b1c7213bc64fb9e3073df3359f4c835fd90f38c8283c9ae7e18592ff3c1b0c48834ef8e9f08f95d8a5a8ce0964c42662894c0f89397968924cc9b78fbefcd8da01d6c534f84c5a6c94ed86565d85e28a191f3c8dd4016f0a3724adcee3c5022f900250772b835374ab10fd8e8eb2975df96b655c0361f941d70d4a8419034935beabe9e05bc0544a775c1ec774649d1c79c1b319503a51e304a80a34734d2d4f53ea8a32fbdeab90f7804226f39f378cc3ce66c17136474c636bac42825e9a4091e96a4c758f6e5ab867e3cbeb3d9fa6fd4907e69f85d7ee95b47099a19160d98cc554a848ac511158c4c76fadc0ff3a72c9ca4576197bb13e6e50e1e7fb95c681cea101f52601a34694cdc0f0e00dfe221f2944801105260a943870224023b1c40a231ba780f5bcb29fb1f0ec96b8e1f712fb5b02684371b297c742ceab8406091591132430887f96623c8e95405ca24522571749d9ed8308cae2d0cb7e8a3ddc3d61064727748411af536c80c541876c41f2e7a0cb30f625755328bc1d5118ee2634523bb41a2268ec3a2b257855571049e6b9dd63ca94c795b410c717dc651a384bfc568ba55fcc2bfeb277cd3e4ca4c1468ff3c2bac9fa95ae3911d73d7c9d642919fd7328d397ea468d7d1879ae792a0d58e22231108d98f0f688a89d2d527cd6e6a95cc627529b408e3d2bfa63c463620cc5328d0f15c60334e811b55a72b5ac4c7ce9a9e8ae73e7b316c74489c79468c1607f07f89025ff0a0a3074bd2436d86b639e478f2675bcc3296e4c4e6f044cee9b38c6e6dbb35896bb418539360320ebdf698f9cdcc9a14a49e38697e00403cfc225a7eab09ac01d4e95e4e3450fe1c6f66bc4053cd342af628450880ec304d09570aad3d22d87d318836533300c83e1591c00e36081181b47735c28c2e40c4ccc6dd8eae830fe51d9b35dec4200b23f7b955dc438f21a8a784e34e580e2db0e0599a756775a61d55c86c4a76e4f9f68963c54d1ae5717b28e3a4928852ae3cbf3c3e91005a3cea8cf3a7a5f1dec360c14a8d2bc7c7e4a53d7d47a9d5183f67708c8f5b343e3bdcfb906a1c4a6166cbf15679e0eea1b56e78e018bc4f2df514092372ed1cc78c0a98587244ddfb3be141cf39898f742ecd0c4afd14a9d89a1d6bbf86218844177b9b74cb6b060783ae7381889c651359f5d8c5deb160bef74520de88a2b874a61cf077b960fe6c085cc0d35367eca3dfe2a7327820a327eafac3553ff79e2aadd304794b74a16a53b6e534840ff33e0123756137f80c17e3760f51eded9c146904854cc80ecd72115faf6c3648684d526487d023ed6ab13acbeef09a1de82effe990fdcf5c630ed47b857012feaf5917be5d0ab212934e105aeb205bd114d1050ae261d8c9b10ebeaf3bde713dd77cf3edf06ce2ea501d3b581f9707880bb11226564dc496e112df7de49ca9d66b1fabf5519d5c386f2b2351d21d93d5f578bd6cad8109bbd06b06ebe9001470ebe13a711dc5ad74a5bf3ae96762d35ed5a3bd2ae91caac6b572a39ebbacdae56cbd9b56b10cfae95e7bdbadaae5757eaf2eada7fadae5975abadae0d6fec5a636b12766d926cd8b5769d5d75a5fe5dab97e15ae24a9bc4b536c6b52bd72835ae18a45cb58ceb3627572ab94ec9d565e43a825c1b72a5ee1072b5b2aab8b6f54ba68cbc64acbc64a84bfb7dc9d4b6952f99ec5aca97cc251365c675d37a962973357b35ecafd65fafd6ef5abd57ab57db34ed6a536a57c320bd1a95232dbb9a36af36e7d52e2a63bc9a16aff5aad5d6deabe655b39e79d52cec315e352b2daf5ac31bbd6a5ad6b3f2aa75195935ea2fabb659595d566dab9cc9aa759455abda666d57cdd2feae5a57d6ba6a9a853276d5fa2557ada1b490ab563b965cdb6c6d926b9a5bb6aed977ad6725ff5dbb9a6bd35ddba86b91bad6504ed77aba5679ba66dbb5ac5deb8bdea95d776a2378a7d657eca9691b4fad2d4f6d6ab6294f8dcb94911a06add4a6db975a6b52abddd4a536a252b33ea536a7d4a8f725b54b6a0d5b6a5daf8552839242a93965a94d86f2374cebe78a696e1dd39a3aa6d9d6a87f6dcdcaacb666615bb5b5da9ad65a4fcd5b9b12d2d6363b99b6465ba30ce56ccd527e6ead726bf6526ead21b7d624d6a6572b2d6b9865ed59db6c65cd7aadac8d2a6b963657d66a6bacd5c62c656d36658d23652d9bac35e4c95a95acf5c55acf1859b390b5a65ec69df6b505392d7925f9649277946fafdbabd9ebb5edf5ea1eed750cca6adf29635af5c996b6ac4ef9aabe55a632568f6e6555ddbddf354d6a4e5bf36d526f2a2775ea927a536f48ddcacca1d4b26d7a93e4f4387de3914fe9b4ade50da565796dcb72cbf2ead16b576ea1536ee8f542e87f5d922aa7926de59577bdf02bef4bceca7debca47ecf6d2fe7a29bcb4e47436c929bda8c4acd3b64e9df63bc56c75da33ba674efba5d39e95d38692daa0a65f6a5a9bd47472b5b76953dbd47ed326d5a6a5c6b4a6d4c29e57d32649cb57d3d84d4790d2cd3e534ae54863da19d32649a698ddb2adb6fd2db366ff964dbef666f66f06e5df2c73afd8df2cbbfd37eb09ff66dbd4a49d37eb79332a2deb6618bc594b92677f3df32c732b2f99f7eca29256cfba7a36b97a46dd33cc52a79e65d5ada49e59da996799679b25a367b3a3673d65e559d76b8364163b48664132eb11db97d9bfccb6da2fb3eab5caac27e42ab3b697ca2cbb99a4328b5466506632a32ee794d9684a1a65d63346994567dbd877b6d5da9995b5b30dd6ce2eed8cbab4b4b3ccceceb6e8b33396b1b3c9b133282963b033cb9d75bdcf9d51eeace4913beb329c59ce8264b59c6196b3c9b2b6e50c8396b3daf639fbe76cf4b256ce6c8f6ae58ccaab7286c1aa72d653e36cf2a59c51974f39f38b72d6962fa69c51ce266719673de2acfa18cea8e46c4acea2e4cc36bd3883f2e22c72d6546290b387b26e73ab37e84e0cd23b2bd33b675f7c5d776e2378e7e4cd67937cf645afcf787d6eb5adf5a9b9cf8bfadc66539f505e3e47d0a7fdca27659f917dc6ca65e49cd6ca695fce282f1939a9cb39a27256999c3d92d35a72b625673f6d28e7666b577256967352afac79cfa73d317bd1493d7bd9335e3dadd5b3eb25714f5ab9a7c53de7568667ed8da795f74b3c698967892793786e35d2cb13bb2e4f2a2dcfda96675f95a7e656e3d917df8bf2d4329e3de2b9459eb563e459bde239bbe259f12c391d8da0d3515b928ebae94896e488b6b572d4568e6863d0ca9195a37f39ca3c5e548e2295a3ad6994a328472328475b8fb48b41db23ad7b44bb47ee952fca23fb77cc88de31d525bd637a5ef48ed1b23ba6a1bc63fa8a77cce663b6a6f5fa981ef9182a7d4ce56366977acc36678f79ca3de6af4fee3165caf098ca632adf8bc78cd9aa9364d656f6fd976d79facb4879bea45e25956d25894ab754daa7724eb64f6557a93d9516f653d9949fcaadca4b864a7b352a2d6de894cada34a372ab770ca5d2ca9e8c519955b7a8b4504e8b4a4bd9a272abf66fa4b2ba472a2395b23387545289412afbe7d53299c97ed732299bde2c93fdb4b34cb6652b33f9df744e39f9ea39e59cb267949b25b9a3a40e65431965ad362c52aefe62b65e6cabf5623d63bd98a517dbea452f16bb467ab1ead9c530cad9c5faba5875b1da24c7ea756cb675ccbe63ef587f75ac7aad8ed1ea586b8e45776c6bea58678e611b47391debe9589c8e6d3d828e6d55e5d856ddbec4ba4a4c9398a5129b5362d82531da314acc6b63b4316d36663b9b8df99c8d6197637dc5c6361286d9c98d456e2c562ec3d8a8c4589318b38cd96f52650cfbca58ac8c55af2a639ba631162963b5ed678cd5ce32c6acc958958c595931966d17bd57652bef65a7bc574779afffbe57ac7c2f4b6fbd4a5e2fed7abdb6dad0eb6565bdac96f58ab25eb4bb5e9b9524aed73fd7ab35ae97a55c2f2ab95e0db95e15d78b96fca2b5497e69f2dfafd9dafbc573caea57bffb15ddaf38fdfaef18fdb2ec57df79957c5e4df2796dd5e795b9cfab2b9f57bf96c9797594f3fae77975e5795d91e7d52479cd2aafbeae9ed7252f6bc9cb5296977dc7beafa6f2d2be7a5ada5757dad75f49fb9a5c9bf6d565f8eaebf275b5e54b7bbe9e2f4b3bab7c41392b5fb46355f9ea8b2b5f1a5f9df1b5d59e93af2d88275f54f265fb8a7c75bdf65a5bbd5643a6f55a1ba5d7a2d79a7d2d2b6fb56897f16ad19257cbbe57cb52afd6e5d5ea8bca6a45dab25ad877b52ced4ba6ab35e5c5d50a722bd2eb566dfb6e4df9ef5676ab5b4dafad6e8daa5bb6afea96fdae6e59772bba5b259fd3ad38dd9ad2adcbadbfd0ad8cdddaa685fd9d5694775ab54b3ead11f46969725a16bbe4b4baa7559dc4d3b23c2dec795a9df1b42e9e5690b4fe9b5a69596b327c6965555a5da585bdbca8b49a4a2b52694da6d2aa6da7b4b229ad9ed2ea7a2f69c5d9d2b26a57d22ab5559bd416066d5b9349d27e5b3d396b6b765bb1dbeab626d78e6d6d956fadda6a2bab93d8b2f3b2d5f79296adda98656bb265cbb2c55656d9da9e2d656b83942dcad65fcfd8daa6ccd8ea8cad39d9c2ac64cb52c95647b6363b2f64ab215b50d68aad92d7aab7eeadb9daa0aa0575bf6b414d254f2da8296b410da5f5a0b632a8edcba0ee2983daca4a62416dff3216d4fd12d60eeafe0b83bae39d30a8db4a18d441fddf30a87b6a1907b5851cd44d9a4eea1e39a9a7247543da5192faa1c46c7737dcf8bf5b63f86db55b9bba7cafddd16bf7736daeadc94ba6275f32ddd15f6addb4b72a2ded7a9ff69c5e69635056da6d5f4eda9b8fa1dd903246bba9bc68f7c5176ddadb559bf69635edfeea91f67fcf483bd2ae5d722debcda7963575693debbe6a67dd906b95f516bdca7a54b9caba7f765b39bbba6512a6f5ecb694af9e0d65b5b067d78eb34b5ecdae8d59d9d7d5b6ba65755b8637b695b1fb8abd654e1d366cc7606fcf6d9f7b9bf2b9315bb969e5de66e5ee7971d7beb8a1cc986ed1aa5c8a9bbd1183f646fbf7c6a63756d98d2378e35663766bd4bc464dd638a2b2c639658dd6923566dc3596b84628ed738d9c718dd6e21a9be4b167753df67baceeb13af5b8f5887a6ccbd43d528969d3e39c1e2f8f967676a1c7ea167adcca9491b16175928cb63649c69671e3a9bd8c2fe3bfcc5e46ece5cbf832be8cb6ca18ebe5772a636d4a65e42ceb29e36625bd649c5cdbb264b42de3ec6f191bcab855963152cf58c6c932665c2f96b1ad933a3694a48e9acf2675b4b06dc729d976dcbcdaef58256bdf71f41de925bfa3adfd1d3b3649d68e9bbd5a47cc6a1d236dada3adac75dc6847fb9325edd82fb38e9172d671e3d9b1bb5e1d37ab63f7d3b63ad6eed8d561c7a6724ad81176ecc8b0e3cb5a756ccb55c7c91d378eb4c4b176c49ee34565e5181b528e5ac6b12fce38468e6d2fa42eb1bfb049f55e08ffbaac176a176a1776bd765ed8d58593ed6f156e15627f2bc420bd15f6acb25b61bfbc15cebe154e96f056184b5e2bd4bc4228adac507b596167b242db23282b2c7585a3ee0aad8c5d61c65de156862b9c25aeb062cf1536e50a33aed05a5c61cfc8158e2057d8d63787b5490ea9fcebb0bf5e873db5eb70ab18bc0ea95bebd0be435a1d767538b93adc3487b535cde174872377d8904eaf36ca6f4a1dfe77bda8c3ac4a8b3ab4f046ead0d686d4e146d9b3cc219499435bddca1c5259650e6976a7c3ead321950ea774d86d590e3b3ab4973a74689f1d62d0de096bdbbf136ad99db0ba13d2924f18af4f88599fb0df27bc7cc211f40935392194544e58657242cb92135ada72c2119413d626f584a3da1352ee09379eb0c4136e96ac3ca1c6134e499270b312d22e23ad843d6195907ac6944a58f99290d68bc111bd18ec398217835052af18ec77c76043e918dc9a661283714a0c5a2d31487b042506ed3706b75a1b835663b0bf1b8323d818d41883fd8cc1beda6a8cc177c62075a9658cc1d1640c56c9586d38b96bc3ad5e4b1bfe7dda70ab3d1b366c1243ead25e8616bb2e43b855bfda32c4a06578f964cbd0329c7c9f614ffb0c9dca67883dc37e86b632dc6a65685bab0c636548bdaa0c2b432ad96a0c275ba9690ca96f94e13389326c4a196e91329c0d29c3c9942165a8650cb976c6309b0ce764d823f8d742863d2b8654560cfbe2aa6258a6ccad6a6ff756dbdfeabfa9fc5bfdadec5ff556b463bd55ed11bd55cf486f657bce5b8de6adaa792b9f6c59b7b27dc55b6d31deaa6755dd0afb5b2b5af25ad52a73af5597a15e2b2aa743e8b51abdac5565b5ac555f51d66a0465adba4c77ad2277ad9ac4b5fae75a45cab5a2926b657b04b9569b57415e55995bebd5bf571795d5abcabe7b3572affe52af9a7a55655e4de9d516bdb2ec55acec15f67756f5ceaaefacfaafcf2af37f9f55749f55a47256ff3dab11f7acecf3ac6c8f28cfaa339e55479ed508f2941566abac629595ac2295558f641565d5136e505691fad615ed2ed9ae6a5bdbd5c6d5561683b42b3bbb2af9ecaa492d6757914aacab2631d695d55d75e6b0abfecbb0abcd5eee8a725718e4ae7a5acb95edd17305e573d5cfd5ec5ab9a292afcad536bb7255b9aa4d29574c9972d6f302008768275ce71c134e490d9ad0a2062e00313dc1814ddaa8b4ae67862fcee1e09ccb401c4bb8af93c38e4f26273838b17b0479ca45e5c5f627534d63915b840c228873d6f21fccb24fac8ca5e79f298f3b018a67ecc5ee77ce01e29c43c1fd71c248090d34f77572ab6d15f2c039b7033f301bbb7fba7f9e7d94cc4002ce6912fbdab4c465eb2cdf179591b68fe55e7dec53c9978e958bcaa7d72b7bb9542248b7e75008d2ed7544e046244e891b8138d702204adcb8e2e6a5728773ce043b9c737538e7707003e75c57b7ef926c6d00c139f700a74406549c7b2a39f3d824c6de9b5396de476eece66fbeb6ed8c2b6bafb5cdbec7b1b27aa12738f259cab232c9a7ab45f271eb4b968c87bab45667b3b27fbe7b2e2a63ff5c548e204fb112caa90555b1d52b9dc88de9f8151fead27697f75f74baab157bb9c4ce2450e4c9eebf8ed42e845c7aded818fce9ea3b564e9992493a51486b4889c11b4a62e0e484233c79382f8516508043054ad4a8e3c9c3196288be623b13ba50a246c87d9d9a689c45b9d3bdb25a43c81f3b76d32f39f622a74f453e6ff44c64559268e3d955d4181461d66b97799a93f36eb4ebf58a2827f2704ee4a1b2f548b4e5c4d82f8a62a0f410bb5f94d350462a6a92b49073be4881fd25c7a6460aec2fff52607f895466b16c7fdaa14814c4198c52c495b59cc853ddf29cbe23854be4c97152bd96502814824db2b27a37564eb9e44f28543f27be9ba08e548ac63ddd1568ca6f3d8ab17aa432cb4525f63c7f2295a36f7b7d3ef68cfde4645cd9a7ba14d85fb0672c91ca2cb083aa58249f486516adab8f45f2f101882bfa9ea2adda6f4859141b4a0f570445419c2971010994b86036a58ced6859c51279b0672c1dbf84425c5963cb542237164b5b7ee481d2c3c59eb198e15a209d73d833966f92b432935513757528c29eb1b4e52823e51d256590c02a2983066d361665728283538d20ce831d7dc78433c8c022091c4ac8b87164c8c0022238e7de1052de0b51d4b3cfda7b50090b3425632ca2648cd01831b83f828ded583965d3bc5a5a25f294581d8ca5d77762753091a7bc96bf7e2f59653a498800c325e19284074aea59d32c09181998800367821e26e471836683668018b401682d682a682624c1084450240883fcd1470eea98030e37d648a30562a4c08b2eb4b88203179800041cc0805be9188bc57ce9d2c34385082180e8a1498de750830c3ee301f014dc04243842191102100809640739b0430e1ab0a1c619658481022fba0041155458200a289a2091c9305602a88787ca104034b1c1a18619a8121a00aa024d8204471431641040f8c0c30672cc600d345a10860944a08515546453641488c0130c2091c92e2a09a01e2c5384c87a686283434643264336802c0019009670844612f1410ffad0038f1bc83183355e404618261841083cb0010c4c0b440145994b66b64809303e59ace84889d243139ba9c37c738649335f98009826446204471609c2207ff471c71c3460238d33c808030c116c6105151690c0c889324faf4a0c982e232e59aee80c11c58769090e368c0a309a190560a4c22889128cd088224128a4073cd0410eec9863063288011a2d180305251041165854414505a218030127826a66514a78f1d17265ca1051c6f830a649cd0d630e30260617c6a0b004488890c80f04d9c11e328f1bc8e1460cce60c10abee802045564400a0834612956c924bcf8c82cd28a2422247f904e240f72871b6c9881460ea08514a44382238b1c42c81f7ae0a006180dd840a30563a4e00b2e40600515534c008a264864e64529f1858b11558ac042403cc1b1d1e161356032c080ad809d1049111a51e4101f00e2c71e77dca0066fc4e005658471022fbad0e20a0e5c400a0834517a1fd3bc04123f5b8cb8ae1411fae1c9757329e04a80016280e16ae102c0654224901021112b0883fcc1071e73d04006307841192b3881175c7c800318a880041ab03d9570092f5cae5853a4fcf084071d9e55831583f5820a96094928c2108400844178c0071e73b41b6a9821060a4810021058c1810c480181262e99d1c562c274e9e1a9d239517e70c264490efdba862680121754e82491404204210461101eec71870d6af0c61a2f68411828f842045a60113990816881380128620382eab4444874d162250788e824d6441c220d5186288015629248206924911ff400ea000f1cd44006307081182720c1165868c0021168401099118c2224bcf8648158768658c00f4e78803bbc1a0a0067a000600b29401709244338a41041fed0811d72b8a1460bc2a85200c608b2b002031488800382deab5164024c972c542a294138b1a970a86a904100950a551224389288213dd8c11e75c8e1861a668461822eb2b02203523ca00124a617b54418a02d465429424a1428934d0e36b00138067e8155e0244980841121fc60903ffac8c30e3a6640ad41a141b120055f8820041ee0c014513c51e6294d564c84f9d18265470a1054131e1480830d05a0685ea054a09220e19121206288207ff491471d73cc600d345c4046182820c1161ed8c005a27822a866a2a69000da82658a10404099443539bc1a66102911b9c0822805519224148111450e2104903ef0b0010dd678011961a4c00424d8e28a2a3240810734a0f414ab94f87284162c548a10c2071c26982880891b98a02106265e602205264c4882111a49c4104176c0071e388843066a9c41060abc08c1151cb8000522f004039e629598247eb88831428c159d900f384b74408001c4d08871418c0a62504882111a49a49040fcc8a38e39de60e30c16a4e00b2eb2b86203179022024e94c8645725c6cb1146582942ca123f34b1d9c1862566586246004bb4b04492481e59e4101f04d2071e3780a38d189c51461828f862045a288185121dc080140f7022a88e2c1603e6470b162a390b50e207259c2861b3c30d34144089122f28a18212272ce1088f309208107cf0c71e75d001471b699421c6094ad0c507aac8c0145240d144e93319c520f1a54b1259ace84809e24912363bdc6043120598792189169200401226440209118410844102d9410eec98238e37da40c30c169ca00422c8c28a0d5c400a0934a00ce9a98c62904002892f3e4654d14142ca0f4d7840420704203103123120e10212005802248c205208207ddc610338da48a30c157cd1c507aa98228a066c64469142a28b162b452c004a181c05844940981ac21060264c0b000893640946604408401804101ddc61033864108334cc60810a4cd04516566c0003159000140cb0dab4184c125f7eb864b9a233049810104e78d8018c0d3380a179010c0b604e580212201902228608c2031ddc41471c6faca1c6971790b102139020041fb042031588020a27827e5e9598303f5cb25421e2cb02a0e0d87cd9e10b020e40802f332facf0e50425148191440c11e48f3ef4c0410ddc58038d16ace08b2eb2b022031688e28926822ec52a25bc74d972456788209ee07851c00d5e10e0e500327819400b297871913cb208d0214083fcb1471e38a8811b6ab8408c1494800b105cc1810b5040020f7062239199162f01e6a787678788d00f4f26a025403a3ca00300c9a004e80515804c488211882084201412881f79e0800e386480460bc240c11724d0a20318f889028a32d66773125eba68b132658805f8d084071d7ede017e687e60f809c04f0a4a80640887f800101de4a08e39de80410b5600461720e0c005a2808201a42e754c1403c6274b952284f0a14917265d96e0604317027411401716ba9ca004481841a49040fcc8e30671b49186196180e105171fe80006a480820196625104860b169d2316e04393236c8ed0e1881b8ea02186236038c285235250c2111e6104911f0cf2870ef2b0411c6fac91460bc65081094a20822d3cd0012a2c1005144d049199168b01f3c3c5082a39519ef8e0f830f1c1c1a7069f02f8c0d0820f0a913892482182f881c71c70b4f1023252e0c516585481810a48a001653ebba824807aac4c91020497a906072e367021001718b8b4c005004b3042238914d2033ff6b0430e1ac4c08c304cd005083a90010b4811812682eabca09824bc1cb1250b1522a23c61b2058704ccb025862d2f6c69614b0a4b808491440ae9811f7adc41071c3248c3052c48c11722d0e28a0d5c80021168c0f614ab96f0e2638415228408a207cad453d3a343cf9b41490f0b3d49b41ca111447cf0071f78d011471b699811060abee8420b2b343045140e28432233af8a0924bc7031a20a11212d3e3461a2001c6828c08c9617b4b0a0254924445024083ef8630f3be678630d34c858011824d8c20355506101093460fb91c54900f55cd111c2872c4e6c7440409619b2c09025005950c86202121c51e4901f0cf2071f78e0a0063458e38c3150e005171fe840062a30010838b15d32d95589f9d2a5e7ca8e11421811a5079c2537d060840c4a8c78c188158c3001098f2c72482180f49107cf0d7868d0861a668c8182127001022b3430c5049e7082a78ca5632213617eb81861654a4e08882737353c3af02080a700332facc07382128ac048228608c2031ddc710339e060030d3254f0c508b2b88203189800140c2069d31221e1c5c7082a588810e28709cb0e093000161a2c0358018b094a300211103184101ef061870de27023062e10e30425e0220b2b3450010830e0fa283211a64b8f952286b802c41527576aaeec70e51d20862b2f5c51e1ca094a30c2234340c41041fed0c11d3680838d34ce18e30423d0c20a2b54589102024e043dbd3809a02d3c5384f8c189951b2b3b3c1aacc8004300acac60e50425148191440ce9c11f7ee861071d3578230667b000055e6ce1812a303001281ab0fdbcb80a13618ee0a95225274a952736395441c00c556068a10a0a4b70cea5e094503902954714a162887b99325cab2e83d9ebdb45af6fd7b792cfd95be5de62e5eda25e4b6d652dd997b5d4d37ed7d208762d695c4b98ad5eda6af5529cd54ba3eaa558bd34dd4bd1bd543b522f51cebc644d2f95b097a57e59ca3cbe2c7595a552694465e9a2b2d454964a1ea92c51599a5396e294a5b66409b351963aca526ded2556d22456eada588936569add58c93256eac958c976c97e973a7338bb14abec52a43dea2e75a9ea5297663f77a97297a86bdca5d2c6a52671a9b6e552dbe792f65cc29e4bd565ad5ccad8aa5cb2944bf6d2c9a539b9349a5cb2924bd44b7df1e6a4ec4e273965389d14a5931a4a274d864e8a92244993ed4b92952f49fc92f4b74ad2e46bab2451395d92fa624b25a949a596a4adba8592f4d72594244bb95692d4b36249a25cfbbf495b6d12f5cd92b549556d525fdaa426916c93a6c49a64e765927d2631a9bac624ec2565126552932693487d2f2665f7422659ca9049ff3dfbefbc56ff8dfdb7fff6552fe5aa5edbafddda9a76a96b374ec7b47bdb72d4ee944da277f2fd4bef9496de11f4496fd36b25bd7dc9487ab3ea96a497de38dda2b74ab6e8f548efed09e9a5f7f29c5dabec6ef3ba93a1d436dbda66bd64edcb92a5b2641bca92dd2ced926dd2ec92ed69ebb5b45ebbf5a85e3b9bd26b995e7b6d57d76ed562f6566b5bcb6eb5dbbcd5f6ad76046fb5d56e98e6d56ab2da4c565bfbba64b52328abed4a563b59561b69d78dab9d4de26ab1e76a35aef6e26aa1b42caeb62357bbb9a525b7b54b6e63e5925bfbb25eb793addb7fb7fdd26d75eb916975db53d3dc42a9b9d5dc62d6dd4e77ebb6ef45dd36759bb975db53baad8dd9bedcb6dbda3346b71b47b70e21576eedb3db9e565a1bbb4aab49bb51693b93b67695496ba7b4b52f693b4a6b315b6517b325af986d92ac98edae98b5d8751db32f31bb3566bb3666b7ea8d59da98edac316b19b323ca98b5416dedb7a5b4ada56ce76c9b715b0c725b19c4d6dd5ab66d9fede8d9dad6d88e28dbd1646b694fb653b2bdd8f61c41b6daaddb676eb56cfbe955b67dac5e7a0c5a59fa8bcad267b2f4d692a5b7dda5afdca5cf2a975ee3d26b19974a4f25dbbf7f7f6b52bd5feff7cbaad5fb7dd5fbf7bbdeefacab767f9b9a76bfb676dff6d3fb1ba5f7e9fdda5976dfcafbf6fbbaee57beeed7b6acfbb463bc8fc1fbbf71a9ba6f6556ddbfdf73b36fdfb2ae7d4b3b5efb3dafeb56fb17f56a6d77b5bf5d4d72fbd3dd7e53b78f41cedcfe08bafd8b4afb734afb2328ed7bd7b6afb5fdaced8fb8ed6f6cdf56b61f29dbd732b6ff55b2fdbed8be65b1fdeccac8f667d72a2f99ef32dd97cc77e54be637ed2f2aabf691bb6abf71d5debaf6eeda579fd2b5b752fb1e49ed6b47a97d4389691f696b3f676b1fbbb5d69e9658fbc9d2b2f65d59fb86ac3d66afbf76fd23bdfef3fadbeabfd5ea4fddffa2fe4d9d34fda77f94d3bfb68cd3bff2f4b7963f47ff11f49f2ca17f6d08fd35f62f397dcb92f435a6df23a63f824c1fb3eed9f7c8b3ef29b3b79533eceffc92cfb73e9ff2e5f33339ff3bcaf9b523edf95af7fc8ce7573c7fce3b7a5be5e8a91cfd9c72f472f4df9647df65e407c96fcbd7caaf6d5f3eedfa0da9fcaf3c6536e56f73ca1f4df996f6944f2ff97db5fc8ef24750fe45e5ace46fd8f7b4ac8bfd752bf65a262bf64dd21c7beb8e7d3bf623e8d8d72649ec35897d53897d9c2db1b72c591bfb391bfbd8d87765ecb1b716635ff2c8d8d326f56bd7f6f7b4b6bfa124d5fe6f59fb697f7549fb2b5399f5cfd9ff967676f58fba3f763feca76ebbc2fe481df65beec760e57eeeaf6e856f3559e1d3ee0a5fe30adf5e874f5d6ad5e17ff57f0925fce98ec1efac31f84d1b3efcae0c9f32fc8dbf497cf91b5e7e89bd5bfecd7a69f923e5ffcef8dbdec96f273ff56cf2479efc53f2b7c5ffdf34f27fe49f5c6fddb8446fa5b7f6bcf5bab5e3adb5abead6c95ba4d72b76b1f5daef3573af2d47eed572af0d29675e6d8fa057fbb7f26a9dbd46f65a9b24ebe46b651dbdac3d5dd68bca1ae525abc52e597b5ab276941583b23694957a55c95ac99a6176c36aac5cea5a6a4922d1dbd5725769bb76b52fbf6bcf2aebefda177ed7ae36d69dd0409cab469035c66afb50f96c2e2aedf5fae273893ed15d6176a39c3d77201a457605a90b3939a150ce7b7e4052a464308c94209f523b27f2e4e44809f22939393635523218c67ec71c1f80b8df399f2325c8a74c1b46379819c56034ddd4557ec7b8cdca3d3b61de46b9f6457dbe314018e3c69839464722e2dc94499e4d804a4d7da33ad425c9add5335a59923a33120a16889bfe35068433f1bcd06d5015ecc242d74525f570261bb6b461d79e9d30356df1ff38d14b620ee205624e842c80169ca91aa9caa862e5c21237c33ee02a580a55c80cb505c5137233d400443110794044850944ac60a208318838e784703362c610a384189d251071d36b6d274e37e5f24238132572d8d5e3f7ef15f27b3736d354b373a5e6dd4079a1d76aa8a93666ebb55e67feef86b211e3c48d8d4d4dec39756ae294605ee819a0c40db04935190c43bd177a7eff9edf36dfa4b5fdc7ef99fadf50f6331844bda61eb7c66ca5ad695b6d8aea3a596e5fce9e898a5244c5aebeddca2db5dd29d4bb79cdb1b7d5e777c3e54dd5c5f2decbb6fe80dea3289b1ab7d46c6d03a21ece0b51d5bfbb97202d51337d97e4731b29cbbf6fb3a41dbd8e1228241186732e8b9b492226110509429008230c1226844924cc1561880833f901460a304b804161e68b0dbe3831f3c58997489c4dcd9330363550c234b154be67bd57dd7a0fe74dd433d9b3e2ea35efd950fffc1ad2c66adef45eb2f0a205c811a04380b0008acfe9882d95d496a9fadb267cd4f519f5b012d5996e62df4c066af2c3879be962c54c170c74897244203d3b616e36ca3838d3e8657d96e7943792ba99f181810ff579a2032e50cc70a1b8b4b0a5055b3eb0e54a0f117abce899408f1337bdcd1629d7bc1b9d1f9d9f77933566df8b947fc94bb7ef3db72f7b6e5fcf4e18f9983ecbe925bb36c9ffb90db98d94277b231bb3cf6ab1c239f7e366b4ec68b1c982c74c16156409339365c78843668c108111618ce081070f1e07ccf04499c14204e7dc94b595211cd62285d2039dcff2a7f34214f5702625283136d354f32afb2841bdaea604f3a6b7414de585289c8b46ca25aed1f2f73ce70dbd6d5114d5913bca6f2b4c984c919b7a2a14db32ecaa7564c224f3ccffcd60b903cb136ece2e586eae3872e58c897a37d14354ec483d9c298b3a8f726396bec995cfebe9ed9f992b3556eeb0d2002b3a335512a9b247150938e78c70335584a04288736e926d7932bc290329973775c6b449950d6dae6f352f74650bcf962e3a60269b1ec959f3dc5edf9edbfb5edecaf7dc3e2a5f5713454dcf723e8a7a391fc43defc6260a9427f7ddecd44481f2e4e6d844b9ef26ca15bdb49c5345b56d4e189d9e77a3136b03d91e416977ca70ce655ead9d30ce4d3b509c733bb33303d09443e27b79aba59ec533ddab29534c7fff655b5687424033538870ce4d56561d5fd72e4dd9aa199d369c73394052aa5bd1d1dc6453f36674a2d854d66aa88e4ee4cc469d9922c478d1e94c11523857db7ad6992982726e9ad7f2e2668a70f466de3ccb636b9ad7186565839b21820fe7dc647dcb0c115c50975556334404b96986081fcbf1f5f6ac4f21a2e6be97376e266711eeca396734f51c2a26a0991c2acefdcb991c189c733e6e6608369cbba8a4b2e4f3b9db39dffb25510ef144ed696d89311b849b19a208377535236511e7dc642943694969ab975e143723458cdb72ce486980bdfe36d66663af2b3feb5ba0f47073445d6d9ce50049b1b8042204056684b06684806192cf7a164f57d4e279218a7a38d346f9bda79c735bdc4ca80c47ebad5ea4ac839b093111c2e29c0be36616b0c8cc0216f0847313f59a96dc52f92e08f9e6a2925ff5d7254a24511421c2cd4411230a13ceb91edc4c141e9c735adc4c10800431134404dc6413c4d9b37fc7d43c4a8c128f130a9a28cae9931765f5b659eaea5657efa39c4265cf14df4d6c6f62c9aee8b58488b2a2b2e7b30c79facc046103108cd0e06680d8c33907c6cd00f10410144e0867a222453dcba3ac70e694b1efbf9ca2ac5eec2e3340a0f056ca8bde2c73d823ee99f90106333f40e1dc44d16b857a5bd5f34214f570a6d7de9bf35a5d7a55726cde4d8d94ad4a2d88274ec744d4451fbbc4989d535a2a2f99da3eb14b2ea2ee55b3cf33f2602513545881851f747e50f2c20d377439e28912e7747e60e10797c21c4d6de49c33e1894e0eee862a3b0cc1825392020b2f0c20112f40d09c51061b59cc80221018ecd80015d51561b8b860052a20a0a2c6d226d53979a7890c334e52a0803546e09c63c1cd38f9c08c132b669c6860084b9871c2002736c3c1a37f1420851627a1192750669cf030a380264e7670ce056959c5e84c9340dca3ecd5282f334d24e09afabbb132d364ca4c130338171f757af33af31f8ff7bb629126b12f55d216e45c45d2c629b158a39655cc2d2a455f9fe1cb928833911559f7eaf1be286bfbdb4f573ca53309c4a3f358b60af465a78b26b1b7f2f6e56c2b3130efa5bb7ca997fcb6dce55b5a7a7d4a9c12dbf9ca5aed975b767eb48c8a96552c6e559fcab5cb97bceeecfc08fa9c627bce9af558dc5a6ad653bdb6a67105e3f1fe3c57f679ebf327768fac400d64ddbb78bc3f34ce259971ce99904489734960702ec9009c73260820c90b495c088073495a48c28273ce259959820131d56a4ad4244900e01ccf232ef25183088b0d2843a834c9820b698d2bc258240938403c41fce005226d9051a30b15cae54767e78ad788cd36a44c6b93fc4a6d8bfa968deab4b6016d415e7d425d76b874791bfb884ca8c18c027a70ce75c5d5d6595e6e799f030c400a0d38e7dc8c0e24786246870d3ce19c9bd1618a279c733bc0a8a4000231604101ce3913f450e4ca1e2f28cd80da62015eac6c800926ce3914c01081097c68d28883880d28c1850a0a68a186050e49804d4d410a0a9c7326c8e00407e061441e6530e75c9209e410430806d9418e399c7327389208132c48c10c3c9088732e49181cdc21c60c80e44003ceb914c470a10240348411041ee7dc0b43643922b822c94d18ceb9245aaa10e1030b2cb140119c7327c890813a847005166adce19c03c0073a0089097984944088231a6822922b0609c2396742167a44f922091f2484c03997640387d4c031e2184303ce391360308342c2183239e2ceb9144040a9e0016c8e31803899a090701c3af47a65468719dcd7c9650fd47f8ca863edef79cab2e8bdd8510cf5a19035fb8752e2f57b79937c14cf547d67fa795b6d523fcb18d5d577a626c97e53cfbc419cebb644dd965b54d29e36e84a4da721f52dd3e61652a72c351d9d4ae134a1a4c6df3268bb326dd3b23c52c61c4e876ebd6a505e7eb4313b82cf720ebded7f97e5efef8423a3fcea6db62d953c3e3a2fcabeb2594d4a1d1f2a5b74ba5c798233fbad7c53a6697a37507898f26e9ef030a586236df81ddf732bab95ef660a6d0ccc9be264d5b656dfbe47c4be2e06a2a6b775d56fba6bb537ce9e5f3e45fd3775fbbade7f3de2ec1fad41d6be63995e34722f35a53d62fb964aae55e65d467eec96d5769767f8afcacb24cf1dd177bd969b7ef5e9e7e4cf264bfbafd3ede72f99b8b266b948e44414455263d174c33fa7f26e78fc5edaeb9563a5f73c6d3de2c752f4227aa7d891b27dfb3e7ff8a08e54be39591389de226993edafbe556fe58b8f486491b469ba6b0fa7abf6ac7cf1796f33fb6ed91bb7a884f29e7dc7defbb64e1289a84f1ffbddb4bd1a57f8b355a2b752a465151339dd79d35bee3f397b4b4564b2383d2ae7ec1755a63af31f4a7baf4e4e51d488df56b51551754b3425ef5c54d24bfe508f1f65fb2296b5adacf035a4fcacd9eb75c9d698dd9a3ae51baeac79c53cd1e1a32e456c398aa84bc62c659ffc288abaac1dbbab15eabdbcbafe36b972ecbf1ca568a24cead9f53dfb9bb24719c2d75dadbcc9bb5aafface9b1283b631ebda86c52e236b63b6317b29b7288f77a1a89253ea599e464e7aa537fd953ad597959d3e8b470c150ad5a694e84be62f8a4aacf9b55b1b20a2f41004b46acd8b8cfd2b2323edca92b567232d6deb5a4de6d0a6c6f2f79ecaa15e6c4b567f37549454ec8ce9bba112c74e792b96a5da98e5f2269e3745494549bd28e546d93a7df1397d37fce8f379d3cb57fd59efedd52a9fd5dbc2e5c708ea9216f51deacd79ad3272b2bcc1a9d2a3d3c5cae367f9f31f23359ddad649969f7c144591ba6a51be2845b66dbf4834aa6ed95035a3ea96e8d97e51ec26f4a9c34866dcd4a5a7c742ae6dff7b8a62cbf7f2598ef37aaaec7f79622c6e2d0e29a6a8ec8c9fc53d5fa4ecdaf3fdae5ef75fe95bde37897bde5036b4a633ff7943506ff97b37fdb3ca9b284a75e9e91189ec77f5228b7bbee54f54b36cc2dcebebd2d3f3bae2292291a8daeadaffbc89ca37d9b88d95b1f7b226beb7e49baea9dfcd4fc95657f830b2d7ea75e5b4e66912fbae22651b8aaa79fc445b8ff87d4f7f17954edf0d6663ffb5f226eaaf4972fa6ccbef6d94dfd4937c3716bbe4456557efbdfc17b9ed53f9fffc28ebf3a9c7ef7bc4f6f1f8e85cd749fd425580b86c79d393e425d36ef9fb37bd77513962fbd2be97fcdc4e8632be47755e94d6e76ff13d976a5e50539bf8b6d9557b97483461d0b57e6cdffa9caa4cd19942ef2486a29478dd9537acf4bee54dd7ef77cc3ecaf326eeec664ab6b2f73d3b615ef59d373d1cba36161c5e5737f39774e579130e383c2a5fc4218341383c0c72bfae190c7a3735ef2d6cd2e347ebb573feb3d617a5b7e26c356630e8f5ec84c960d004e5cba3b7bead52793fef4b4d278361a6d87f29a9e9ccc93b3ed425f56e9e182a14e2098526a544fc39195299d5b61d9f03bda9ba251ddef43379374c5ee8a272e2f1d1b15c4744bd57ddeab6faaaf1bdd7ff96369537b97d91f63fb7eff98bfd5c755b6fabd956f9bf61d377d3d59b73496340d57b378f1f95fd8d01bd385191877ab12d2a272af2502f44518fc9ebd909f3f8f573fb388361a8c74424124dff7a56cc2f44518fc9939ace56fb1e0134fd57b7afab4719bee9c57eaf29ea31791345bd10453d26efafaaf3727852d371a048b96727cc7b4f5d3e8f8fce44451e1deab97d14f5deee3c7e1795afba25357e94c8fee4f66d95496c397619395979dbd4349ede649dbeea2fbe94ef5b5a9d39b4d7dfa32c359d9af56c56f794e9dfe3f1d16962839a8a6cbf687adb949a0e182e93d4f8d51e552f892ccba7daa367fb702ccb5fedc88d2921c40493d4f8e70d528438bd69ebd1e3e195b8be9cbff548d4768addbfcdc9cf727e6dafbce9c57e55b4e8ecfcd0b60ca9c32e6fa2a258f652fcba7a4ea7a066497af175756be36f3d7a8d0139d1033c80f8010a96123c21c8073919cd3b65bafb50cfb2af5d6627766dcbba53ba4c86aee54f0072ce65714a0279c25e1536004824ce391220d96625959615691511f5d6362051e581217f4ce746d0e7149dd93f3f7d559d2b5cd9c7b2b85089dc15b35cd9877279aeac59520b57f6d1322fd4e5b7e5abeb75e95c54e2581657d65e6c253b08e2ec356669c9eb95e394f8018673595bf9b4cc0fa8c40f1fe7dcf303083f7af0038558b9a4dd3ef8e8030de7dcdb261591c9e21bc2c97bf93e562ed1924751ec237aa8f4e17cb4ac62a1d08bba0b6d8d8b96552c3af0018a53c287204af860a3e6bd577acf07e66a5e9791ff625b96d6afa6fdf8e8e18389123e607039380f3e4b1f75fa98f6bf976f08a7640f36dc4b7a5fcd63768f12ec3102257b909ccdcb7935ef7a5bf562dbe7d3d305cbebea59e44982e90188c68d8980f4f042e5088aa8cb97dfb4afa02873ba48d1b8b14c89ddd5fa9e93331bd4340a94275e624ee4e1ca3e91a76fdf23b4cc4b0ef68c851b134132d767507ab8a220ce44411dfb62d174af623b710244103f585cde56f601e2c9cd23068707758e3fc22a3ad9ad622dfee9e29cbbc1b92439e0a0e48e107c93263ffce0034f94220e857a208542190c12f30310629c40b12328a8b7ec54b63f3efddc5aaccf9f1fbef8f0a5872f3fb54c8642a29e153718754440143b485a4d60555247f5a1d0eba95d6baf7726813ee31a6534ef141b54257b067351f97db14f4f10f7381788734e853a9c732e144aa1014538d6824039e74221e79c83614b10f74c86f2f21b48b1810a348de940848eeadc972c7310a2692ceadb978c28949300d10720008411dac823017b302160ec38020776b8118016030c4ea2f0c10e707082039e234ae488238900e490e389123974902307396a785656388f5fe6358f33d95467629d32a9a996b5eada7eea5961c40a10ac68c0ca172b2bc4a933e7fc253b55e890552e50254a20520b2a39ddec44a934414507e7a60972bd644567c71d4576b270ce4d13f5a89cf35ad46629ef68d919c0941f4cd9c0142d6de90841270b9d2c453ce29c9bacaca5da24af8d696e298a329c347e54106529579d92e5ac7344daa5bd1b1bb64ce5ddb0652ad66565cb54aa2ee5fcbba979b7288f5b54c6d9d24ae4c9a951ea1081857313ec4a631a227cb61051e37220d9aa1c3e5cce197336a43954b829c7c709c1a59c9a2987f6107538e7a6974388e1dc104f0ce1e39c73be6508279b9440a48871c9ea517f964285a391824d34528a706efa25558a0b42a4210490d41162c7d2eb4bac7c9fb049ec9634210c84264d8889d00a53e512439d059416302d408636a2643451c2b89b1b8afadb6d4a6db64ce5a96812880a0209418c11c4146ea2d79a7a7a7d3a41248006884480400388e9dc04432120ca923aaffe00c90f68fc6005cd0f3a3fb8d0565b7d31cd1c9b6dff51226ab317f236ff7a53b6f366f2b54ae303183e88687cd0c1b989a6072d508800450b283e4f8cf0a40b9a275e9e0080c6c91a4eb8706e04a506695f72caf8fa467ab3ec7178bc4d9b29be849c595972fa6e32306fd2eedbe645e598d89575de4427672fa72e5e689c08d18410e79cd5794d2840d3243a3751adfd844240548fe533a141336993189a690077e07480066709e7dc54651328ddbec95fdd1ac2cd0d686e2870c3c414a2685b2a3cef85a82845d4c3794da25572364baf4fa9fd6d45ea956551f5be51d45dad17f170060d0f4ff0c08507f73e9fbd7e53c5de8ac919930d132c9c732e6862f29cab3a32713436713837d93cd14d6353c464d3d5aa793630b8a9c6901a306a82dc446556a383aba159e2c712299c736f655ae2c343d12c716eb251402013977e147086b3591c8d0228e7b6ea95806814e0c4e174d5a6d0ec60c8d49166873382b86787a01d9c4cfeb2c30a6e8a0e7cb849072a9c9ba81c20291697381dd301738e46879acdca1c2071ceb92639c0c0b90fe21e6a4b643b5b546a0a449303131cfac041023438300d0e546870a8996c68bd586376be0653f39c3c9993dbf27243096ee84273030c0f8e278573932836adb7a26ee888b3ce44b4de4af4b87f72a4acdd7aa73ca057e326202e5cba6c157ba149802309302301523857e5e530516c49bc336d9c801a6810200802e440809d729899c5a6299449bbc302163062314af00f027c6c80c43937dd7050151bbed8e06a50410d60686a684243c31268685084862d68b87200450ee0019a038471b7da9af7b4ee914d0dc377f38cbd39d9e24cd3046dbf9bbff9da1b65edfa76c3b5ab1b9b9793455af788aa796f19b3a29e153f03f44163801518608c016c98c11037559f2c1b5b42358659ee281251343374413303c93937751941d7f2174fabbb5a34055844a7005514a088d8a38bd9d8f759ab2795f3d214000637cd792d2596a02140203404a0428700363204e29c9b9a7afc8b59fa41dc43bd678c46062a6438824b3a3952dca23c3fa150cecf7b7ea11090149a187062888186a669b6d0d0ccd0ccdc60a68a191ccd4c1313652d5758afb3120fd02811d128610186369c73338e0686306860a86860b802c334003d061005cd00b00c6008011422002a0420042150a0f0f06c6a2c8ba61005c5460425de4c4f6ac2e8f4502f44b5bd95acd6f2ebc1ac3bbda8bc6a674f417962f1b4b464f48cde9b5253cb4d622844a47df3de4bf6f555bb87e685292fc4e09c73410b1a17462e68712e8ade45254d00d8a009c01701f809c00e13e585b2df5f28db73e278891795b5359a160a71cee584424c2567b0bfd0b0d0080d0b79d0b0f0040d0b35342bec41b30218342bfcd0ac50c34455f745cf144379c2c4877a228ad3b1ef8a5991e8997a3638d737fb6edff5cd3ab578a66ca31e6fbff662d3a800031a15a670d34fcd00b0030059d825d44b14f54293421f3429448026852d058b268518685078048512d0a0d0011a14acd09cf008cd093ba039c10b1e4773c21227148026892034494c4093244e98f58cfb19e2f4f34e0e394c2fad753a7d764359f74ae1bc1c729870de4fc916cf346f7621bcd9e614db525472f6fc684c2083c684a06749afd3b152d698cddc328d0945b80987c66941e38c706409265802d0129e127ca0042a943025098724618d24703151d4e3791d39bbd60d752329bf9b6f486195f0cdc9232e3b3b355c1ece64433d4f09854221eab1b655ef5f6240356f7a69f14c36b2e651a2d8214bf959a7d357735aedfb27093a44c2c8445f0cf54c29f19e1fe7c4b64e8a5294c3f36e3e92309144712e12e75c95354860a35fcc12afc412cfd24142154e07098f841a9c73ef08383842907353ac12b391f2a3c2f37e897c515647f0f93b26f2116a9c3bc20ace3923046204309c73ac6304cc0835c01a481281040be7dc34e7dd9660d0ea40e293b5635b55a303c90cceb9a97a095404439c9bc42c31a25c9558c2faf5c42ca1c4124588c339e78aa04d8e915f116670ce3d02c9f48818ee11adc92358dc2333688f4a471689c31130dc1647c23837394204435ceca644c0a2e4f6bb2282c64d042c53238bc8512375b846c4d0aed72b8d5031c54634e7a646b0b8a99115dcf45263840fc708178e118c728d8c14e124465698de561d9f655971ce15c0cd0cc11037f50c010b691d42a02168ce0de167f2a2492bcae17937419c2d92c6228ae4a1880314f99951448910ee10021442e092c8111211c34dff9e24afe858699b5b94d5466faaec1ba67cd111e4ea6591dfd6a57743dde29968220e4884092279200286731315b9b15056ba7a4905112b88b4708821d621541c4244109210841dd4d46cfcdcd3bd8300260849802003208001049fc9e9979aee184288215e0c09c00f0871ae76bca88c51563fb83f90b2c1253fb8a1103adcd4d6498fdff529a44b2131f880083e68810f9e706ea2f5da2afdb7291365a8e383021012077d1ba5447dd19e933148756c2a88338a909d418e30881e834ce15829ca293e2f44bddbd48e2fe31c552fd13b0810833c41e610c46e54677abcddfc921ee8d10310f460a7072e389d8a5eea7d9455759e37bdf74bb4eb75ab9636659d40dc08449b9ebc1165276f44b966bd517edd251017008903101400120159021017fe50c3b9e9a2f219c8edf4cfca1779a0080fb6e041143ce8810726eca08d1dd01d18c00f39fcb07ebc3eea7093e57f4d02bd1ba97c7f9178214a93967a38d737eae14c8e951ca3d2c7549ad4a47dfcae6fef86dfeb4c54f235a67a3def8b94339715f528abad7a54fa98e7f6dde8f471fba8a28325e8a00c37c5c6e075d24b593dab6ebdafeed3b6b7fa8df2dbaa25940e68e003103e28c0c70f1f26c0608f6d0f1ff410821e26d083eab184b37952c3e585b6ef792566df6bdbd70be22ce23caa76ffd41635a44e1962d676852fa31e5072b0831c44c04d957b425addea9bda1d3babfe2f0ae2cc52290ae20cf6179f28598bf47a971c2991ca2c514e1989a0b45a8f3eca6a9b936d280424f3208173385df3a8401e51bad23249957a0b95070c78e8814763f6192bf5163cb0098f199c9b7eebd15b72d324393bcb1d86f8963bd8887dc796bf83891d79d8c1851d48d8f1deea4cd46f3dfaa9e38a3ab0d491030e708083201ce47083466e40d9d47c94a2ad47a1d0533a6f920f7bb64f85e7d97865ca9dd5bca6c2f3ba9abe66ebd146833ade80aadea528f96ff062d35b833abe75af3630c44d3635afa9f0d840c7064e9c733658818e3a9ca3830b3aa8c9900e1b5c93a08e740e390794395c70ce5149efdba61c52c85183456ae0811a58e75cd39287b4fbe2a8411c2088838a73d3c3e95ab7f9d2e158038e2ae098020e29ce39da65bc5aa1d20a0d6a4003356880050db0cc60083388630657cc40cc0c56706ea26c9ed470a11ecef672c8a1fadf7488b25ecaa7398ed3d0c3996c70bad688ac7b977aab4c768db33158ddca1ba437de1b29b811861b52c8ae4d2e2a47aec9c7a14e39ba8159375690c11b934d9401056480c5b9c926d63449cefecb9a0c5e98d4fd9f7f4ecebb69c388360cc0060dd820c3860d6bd0600dbb460d3178230677daaa49b94c733666a78fa5a6a5be2e9eb4e4f1dbb213274e9ebcd857759c393bbbdf163f7649ac595e5d357cf6df33665914b7e45899492d52ec4b2d2d73b6349593f2d09e5842212b9127ca38bdfa16e4355239ea7a35110cc2e8c0e0b909066a04c26a50e15c13ed97b8193596786fa51ca9b1248d45dc84d9adaa574b838baba724c9aabdde4923e8a551f34bd2883b68b0316fe644e309f78346183456984240d833963979078827f7054fce48e48c2ca6cccf70ee5d4084198c98b185193d6604c08c16700b7e28039032ee28e3899932c238e79e314b3d9c897a38957a38de15951f75de16444bac915107191b195a9c63c264b2eff3e7d461c2e44df45af2d52675c9b1774375bd9a887a5bf5fc59e0060bcab0c0c74dd49faa4dbd8cc1c818598cf18473538b21033136317a08630861a8208c18c60b2ba0839adcf59d3e4fa1aa5bc856389396a920ee995d25749e8db3f1acee0ae4cc0a6c5450880aaa98e6b5fe1bc61eb90f554572e9bd7cd5f4d55f93d723f751c14c0a7290822952e0430a5670ce4df16d361455f355ba4dd46a5ecff45090338382194ef0c609d638c13cc1122748c104639880032628020c44c0b0038c0d8041c54d54d61b8ca2a6642b93d72eb3f17442bdfe5bb27fc75cdf5ed725d737eae54d361445e5bd6495e95432a8a7e5f63545bd26c9ffc6ec7b6e0c88bb4cb5a96779cf4a52692957bed7e3474bac7d61c6174c7c4183732e006ee60b18664a504809fa28c1049c9bbac2997e5e8812510f67b2fc5993b1ae1ef56c72c8e66bf8272a46a6784e6e1bb720af1af68c654ec6bc8044c70b2c74bc28c28b1380726e726e42a1f7dc02169dea39373937399aa6f3dc82949bc8130a01bd1b2952827cca08b638e7dccc08ae2ce2a627a19722ea59e6aa5f04615c173ee802045d68795c2cc2050bb8b85cf4d0987db5ad936408f8a05c422085dba6a66dd5be9e122b519d1084208ad309c10c1a77d5d90212e742541d964b4db7a05b0439e7b608e3dc147dcb1630b8a9adc4a1589450de1f2dea705a684ffdbdc4d1d182268b2fd51f75415925a8ad641194450d57bd9aa5f779ed3238d4e90381232018c33937350634aa9d2567eb2c52607ff9e83067eb2c1f10e403557cc0c739376db32dd70b61a9baff7703f3983061c264fa39f9033acc29b378c00d0f4cc0034fb0e8038b3cb068c239ebde054844f5df37b3cc61576a37ca8c515874b9420933579ce1dc0db0351ceb94defaacd3c9e3b3d767ae988dbd5f62ab24d17edbeb540de6695740b9628669ab76262b16890e4b4d7faca0c3b9c9f2feb16264c5920ed8d1812b3a50a58a45e6d499aa675c6a19dfc6d98eed1fca857abfc49bca84c1d69ede1ec19e5e74483d9b9ae753851a56665db1672ca110d008b64f3f635a1520a652adeef25cab8442405a4e5b399ff35fb2bbc55289e5dd582ab1582a31d1085a3c5b726cde0d941e6e8d8f611f80b89672a94acfea3a958ebe536ddc6384c8ca31569a24afda22119559a4328b1c89a8bc3c13591665304c06833a63ea16e509e26c727559db529e9c9c3979478a14d85f7ce8812425836142a11f48b135e09ca3020edb6fc99a387d3a159b73d347cea888e2dc14a980618a5a8f3260884e06c018b9db3136a1508d986791c7fb4a3c9d0c34e19c7b8dd99f52d3209f322743ed8edcb564600906ea70d3d6a352531baad494aa7911035760808a9b2e60c805d4b800990be8e02691a8ff3e8ff7674ea6ac7b97ab33c510a6a8830993a9a9471c7a3ddeb7b42967b57da6e0c239e7ec14589c733a1680c402237013d5098580aa5b8d8a0dea2d3939394052aa5b9152454a904fa940122af045057e2810c9463b3236b5a9b6b598fa252d4a443da75d1df2f4a1c01893024b08992406efdb505e9ada26f517a568c18c14558a271350644e59bad9a263b6abcb975993cde6d4ee523bd68e54ecf725239750087bc6d2911b4b8e5b94c72d17e304ca4c14659ccb6098efb6b8fcbfc3a006e2072858b067eca272632dd2fec19eb164304c9451ee9c0c45a220ce662480420456108125e6fdb7cd081c0002743837d1d8181004a438e71e0084077061d3b47a55f3ac7c4084e21128b8705058d199ac7c8e614fb0e089259e58c14d94cdbb893cefa6867a24c66e14829a9377a8c7b1a2f7392010e7a648fb1d20860334071c008e06941aa0831375b829766cf7ab72d2f57aded498fdeb91bbbe9a493ac1858e13586c68ff506d2daf7992b5efb6e2840c4db08159d9b5892798d4c40ceec6cab7555487018630800c068818b082731375edbed816566e6f6e6a192094e1c24dff9adb32561918a6672c52defcd836276eda2a66abbf1bbea864ce8220d1fa27088e20cd4d7332744a457e516650e90d375154298a92133755b791319d120c93a5ad4322e3efab60aad74af2715cba90b8eeacba8d1268e69ee12e156eba454cb16d576d564017063759319c1b419f15c80635b4cf3987f38bb867adca633151f7f8bcf4369b39b9e6d1923f968b5939f3bfa416a172e19cb3fc6d5c7a4e1fdf3c972a16e7dcd49527ec88d3b5aee0a6d8924c205d2b322a2043b9c93937839b2113453364b28951d6685450d6c24cce9806035bd6f138e301afd7a854ef8ec7490a193233220002001800f31000805840208e074462b95860f60614000164bcda804c1768599452061963080800000000000000000078edcbc7d781781bad5e1c14e4f81e07f89f1666050fe00b8efbe0665313934aa621b58dd3b0da5c8a74fa9fc0b463e20ceaaf8e196e548fef3c81ab313e1ed3c8a9b266d97c09d95c0ceae4f8017e6d78d4c6ff619dee0c36ebf121ad9100465eccb95c2961e3b55f5f24119bd16e25f5a68fede075948a0715dd912fc002d58206b54317b8302b9a5ca4f8c25beec1a71be9ca9e1b4f410d0cde868f09b964a567ab11a5c96462da62f5f9b6e33a40602ecd9830117eeb60282284a6b1a09c4768f4366be7d22f802ec83c57cabad599255a10b8e4155bff13a1ee38176943f4b2a2fc939dafa1f36edec0fcada605cf30573ef443e61a4c8498da6864b71765d9663411ba4510daca183b6cbb0e33035a9304cdbdc64cc5b6af5fdd0e8f24730e70a7b49c2377d1c8ff606cfb1e83eb2b4c445014de8ea17239d98a6348c5e26e00e294389384741dd1afe5e1a9df1d833bb4a29856efaab8f7f876aa0f52c73c05fa3f496796f7535b6c84fc22a91584209d3c15aa044d671570d35b4a61b0c11e0eb3f8b6fb8202f6de2203a7f1893a142dd1ec54de6f13d31bf6a7d2ab059ecc83d5989d5086cea9c60c23a161f5e4292af0e99c3b63e28a853f1ecc933a7787fae2c7d1a3243c9be0e5bc1f068ed7109784dbdb341295c31e5235da0434e5b91a456f43f57f53c03750543160ade340242f5805d5f1252b3f11f89c61462766871779458f27cd31d806e4b737220266ffaa04884b16442e3f12254789554af799bf480c65404e225de385013059506192db07f01d682ca29eeef8ef2b198b15777205fd7959513f78d5dac0744d6b81568154d3353928439202f33425df10134bdcd71fb9e0fe747c69aadd8c2b667681dbf102dd5f44bdc95c682fbc1dbbd9d5df7c581f4f1b58ae4a974a2c311c6e6dc7a82dab3671a97fb12a27ac4449042fab3130e76745893fb394f177d7848fdee7c73941ecaadcf0e17c90442050038d5862c6f5b87433b5d47ea3317706d076002edd20a2e13e23d7475fd6feab83bbcbc78991a60f78fbe3b40a4874a794f3a19a4572434dc75288c1fbadf2df1e3da00900e3582ca741ae7ed4642fff60121fe37691eda0f06bcb5988c75f5079a60bbbac44a19f25873cca510fe4788c5883c278c49368b07f348808db765f72d8267d6f600ed34afad68278d65aae6f7b608c46185c882bec7954c320a1a123c2d7875e7f6b5c00a424d1808ea201b574aba5acb8f4db1277426409cb2d70aab549b0bf188a4fc8fb4258ee9eb7acef9a981137b5711dfa7acbe55556215ee902e66dca8c567ef06733d5aa68fa84a05dae571a007385a1debfbd2aea4e1753fe9b7d87d19584faccff65e312c24385a0c42db988f20bbc713a9d1a5f14b1058f723c5320aa89d5a230077c886ffb68ef4fcb468f510d76f62e6ba9307ca9fa2cdbe3b9099a8a3ee846714e074b19b4d828c3c8e6ec5492d8c6b71f4b16958bf5dfa68e0a32e4014292226c32ac88579e2683a7e0553f3bbb98e40fc3e8a06c1e23918e77d4d408827c2482b2d1e902f889eac77b1ac99e636f8fb9e0b924afdf95d1f17b0fd8f91ecdc6696a7d63ea371c3bf884eb905acec0d3ddd78033691f8178aed5dc29ccd8e14900b2ce06d2c3e83b1227af572cf8369e9172fd3445d67eff0c4039142b65c7eb79daa4faf87f5e293674ad696df4af06af4798cef23cc8341a2566279381f19e977393e1f204f2e64c758296035f11593e203d54e525cff81e52bc8b953fa481af8d02e3caa1fbbd7de8173ba264e3ae75aa955187bbe989bcb25219507eb184a6a0f0f9cbd02862028302eb2e6de7d41307e19cfe626fd6b650cc78b6a6638a9f0f5f1fa3ff361743b4d8cd95386627082cb37db1ec889b77979b65a7c5e8de49223a00f3818faf92a19bdb477d0c8dfa86ca71f8860a2d6c20f901460c5042816ca71d25bd0d0165ee5c0f2ebf2cbaf16ddee02ef05c4dd5d699ac4f407affcdedc4ae11c3df034cf918cea08e0535e335b7a09560da054d28b0d85a2bf0535060a3613ad6e62007545c8f59f18a731f7e6444a95f03d37f3b17fc673cae3ba199ff742926da0e7d576ee889439f1bf2f19e59ab760d936201f5daa30bc632cc2453f05c50327e77dd4bb36c7dcb673d3d388a50530250f82bbb716a42baecab4dbf7138a693ebef783980c06472b970e848a6553246e416408e29cc82ef24c04367d9446881c0e7679f95535483836746208e8e2120aee0b6624a482bf30123e3a33e099364b80ebc6906617074e4f618d04e905346f0b1630ab59962f4f65514b4723a628e0c59452af5fea211246e550a65b8ff2613a39ccf4cb0fc517e7fe71b42ba97e5408e55735bb4c6e3d045e91f4243501cb2fa7f989561ca64c92c3d0f129cb7d19e884da00cbf2c0946668ba856b8c039b1503e95909d2a9ea2438df945e81ec889566b5c2c5997f5feda6dbfb928233a692cb26544e10bfd5058fb63bf302d0ffa8f5097460ea0a400bd5480e6dbe6e431d45c319c8e253ca03be4ec7cc0db80aff23036a72c288d75c4e3e0a5a9c0dec42b8de46b50f26b411ea7c7930c956af2fe7a32a7428f4222f763d703ca24fa2036977607a547e38f97e588ec7f9f511fddfad5dc5fddbda2dbf9e25ccac2568edf74df32d9f1a9a93da2d5ddd50f9355220ae6e862d0fb570431a6312a0f316c9ec83b8dcd88ea5a7e16d9f4df564227f51918caf8ab2b048a69ae6cdc5b2af9996beb90553e11d3e8b0e4e4b7ad915ff4e220e24f4ac371f7bfc23359ba878e26d83e8fbb43ef74211972600c1fba4a7c42f9f8d54b67df58de9892cc4b61c4f56a09d9b84d310248024f35f6e809c437609e948e153ceab26dbae1a5d2c6761c3b8dbc7091789f9bccf9fe80095cfb431a37abbfde61cc2c973b3b99e8c5fdab734875f05e38ffc86587b79d5587eb3c52cef29d8ccb71f1387612eb3b98f84e95863dbe4228aa369ad23154b28ce3b128a68233d990d2f7eb31c9760745c4491217bf6739f22db26e1e36bb54cf424eb89119d64314d4ac17fcc42e3b293d5a859ac72065aaa74b8c167173e9e05489836b53236e0f6245e4e3255e3760d1dccd0d35d000e55fbfa98293839d96837aa39166e3d1d4c41875845e6fcf5f34143a7b22d0c48d9b0d76a411b80e07ca8d608e0c39dec884b8751b6105eeaca56ed9122338ca3ec36b18b84a06086f916b725536939c6140af6974f4a96a717f9acb320a456c1da603399bdff3719a639dff2ba8553eebcaa2e98bc5d0e81c71294d902be6707e91d991a718c4e8a4be49f50a81b04deaf5a1ae119252ac81b8e8967b0bfd7077af44b9d961e87c5d95090c9be968c7d333ee90e9266e0f28a717748bd19bc5b85270263adc2f6d58aee03b177d605bec867f99b5515b1ea647d3963489fa21bed19fa949b4246e8f3d32ca0fb930afb09e189ac1cef759c96569fd31af41df6fefe967419b4adfbbaf0dc904218b8880caa6e1569256002853bba6935dcdf04dad0677f98aaea9c2660d2b9356439845d3a9366059d69300a9581c47290e23a3c9edf93d211bc9a6a85659bcd8b3e3e50e70250c7f4112115d051b2252635ddc3bcbf188013f1c4e9f457e1ec3667e387db7c6c01043715da63228f2dc98d341631ed22bf186e8838a95238a1078329408e30ce9078f94925859485e3fef90da0a57c99ebaf860305f8d6fa4e8ebd30c3f5c701a9941f3158f15c22b9066a6b76a802b83e6ac7730e881b2efd3efe87d1c8e3536b441e7f807bfd1a8dd3ce5e38893e37bd243b61dd2448d7395594527547a2e1e699b1bd8810845c69188810d38f3e073b5dfe1bd250c292154a69525dc506ad9a13ba0d726d8d1d12e32920be5c5e812513f77f5c96cb832e57e33c63e211d36def581f6747072a213f67306b7d73bfd8364e44c163fbae6b12ae899ad04f305583d7ba7a697cecbc004e074455c44c0af31186f20af3a57de4ba0868fabec2bc17fe4bec3efc4ce3155df9d23850647b9cf190033e16229f5d5cfea2b73965859d141ccc4139fe9eb9f8a4d4cd90db7f91797446ecada9c658103e1180558bad5098e9b0d9ce7cfa423eb8ccd03b315c3a39ff9ee1c14e9a521b03cc21404ec503ad9695e861f5ceddaf841ff33402fb54d99d26a73879bb1182853c37e3ba70f87f2d138d01ebb4e670d4bc95bd1e0947d7222ce692e0681b9b785a2677fd8fcc3f33dcd9c9a5ce83a13368ca6a44aed1082515e13f3bf3bf69d9dc2b03f5a09d05a1368ac821398cdf41058c9d67aed2ab1ee66dcf6408fc83373c615e4ec8beb4f6c83830a9c832ae0d9537acfbf994ef4c4b3f30ad15b3230759cfe376bc09bd7e0f00150dd40b53f4be05898b73d4408cd25dfc98443746b163afa273dfa220b8b73bab60a839b4d0636d8d428445d449e6d2e958fba339ace840f8bc513a86af52a391e3f8e99b2c1a06def6829f807786ae420a610e48ed4780ceb4095d002b5b78189483a411932ec6cd39ccba3b659833e3adf44f3bf86e85e407618007425e6e88d85264fea55efe095ee942f570ead2e8013192528982ef672de545641346d24606ed5e7111f44ab459b9bafa52b6ca11a025283d9b806c42e410b2844f19edc4e08a14e98c58bb25cbe17459e502f9ad5e16cd1c12f0487a0680b7ab9d69ff8a4aa36004a8ea6a504033a12739a0441ac4d384c725ab602e83854fea325a76484627aeb5a6bc93744ab5c07ea72edf4adefb5abbac81330d56717b6faae251c1e102d00d1e4adcbc4933ca7e0f5d7225a9c430c1c08b1b0cafe6c401c06e9f582fff1a86d3d20a2fa00b1d9fe516931d0d18999cbd214f0347940637c4f1a7870afd536c5337df609d20c8b7526a4dd5a0d141b833814e29d0cf30d662274730a35e36801838df8f3ba93bcbb7c9564c40d5bc419739f1de1fadea422a5e0a90a5b237a4f92bb3e4209f9bf387d22c10133d5c090a679b9c8f9944d7ce1f0ef2e0ef015331960d34658e224dcdb44b0057b718def20ba9ba1ae405a99e2bcf9816febbf77660678a8cbad4374fab3c01c724aeb48f413eb4d3a33db327801261fb951149533d43e922b88097a394f76fcbd3c9abcd49ecfc338072862bdcb664a4bb40506c36e23f7265d517c5411bb15674b2edd6a109be959c5050e5912ff219fc22faf2364c6f6438716d8ef6752e392d6259da88c2b44f7e61f3b1039a95f2cc0fcb8fa79c6437b50fe2331945baa816fcda41982b4ee6d1d2e6b71b135dcdd7eccec685ce9a3df73337d88ce5b5bf273812bc4f1d215ebbce836425ddf9d2938db0608d06c1a15ae52c61c79b24287018879a4aa3b790abcc78cd3de634bb4640b51edaa5e1d02cd802cd58e81a5664be7e16e69a5ab3963cb23e146577b15b4ab940a4547c1667a9a2b7555b3229433a16cad29bbcf50b0b2e7f03c478deda33a162225233f6615d85b696d49a233d0a9f6168cb60fa25a096ec005454d66e3bf8f1ab245fdb598855815c8f01d8010cf7e6ccf572a40fc65bdb9553a67b9ee8bc4f13646e56a7382dc3fd39dc901e0b49a0b5f3829418b1b3d0f44affe1b431c2be3201bdf51f9b3104d775d70b5a813e25c5168b4e35c7da4c614283b557157b3bfb39b8255a74042d750b4a05ec8ca8a367732a3bec15745fdfa37225583c6b0d31079e106eef267b76f320eaaed1d5f86349ec3db802c79cb9596a43c00d1aa79593778b1d6bd1b4bee6fbeda2fb1ad1f1d881385e5b508f3648fe46474f76be7dfcabb91753e7592c73ab1590b9639d60a5ef609042ab0132c91dd606ad8058eb593870aec02b62d55baa244384012fb7123961ef235c6e37737760b1edf8eb79b833ba3380e712f9de59689af2b2e948a7734052e0fa419eb4e1ace50e3f6905414d64eb3e460475f2777a97398765c94023f28ab3d2f9ca3e1906459b871e0569b459bda47d39ea5766e24f2d7b8eb6c95817a37a0bb5de7cb43bb5a0f977e0466e0f6eecffc018ca6e64d3a4f757178c83a652aacc1b40391098cec94765a0344128cf089f026bda6b954bdccabcc27855ce18aed1422b061a436a1f00912965c80b735852b1abe8f1f60c51111cc514ea789f274912db1cd985d320a02179a732afb1c12bc970206d4c9dac85491ba3287ea1b27813b4c6eabbaad7140822b18b1606a4dcf91fff8525026c1fd849a9692885e21fed6dfb1c28161702ad0afc975dd6bb6f365ae23238ac232ccdd021167a2bddd58bf53d5f0a8a423780b2bdf8b66e7ba915dfd93f44eddec985a29bf13400a61fe942e8979adf08940705037dad5e441083d16f09fa021d08455fc49e6db10d4b5bdc198b7f7a3ce3f95f5d2daf7bc88c7b07dadb7d73f34415e402ed4291008afc80d9e8985b32b9f35af0005d96ebdf7f737c539095ce54ad92ceb1f42c4d11115dc1643de088f1e6b6b400a10958d89b42ff841e1a17e5865cd3cc136c595aa3c29f2c408206a97d9e926752e2086dcf8b8cc67b33e4aa78c297b0f098db8f355fd5b76af47e13e1f6a947dde7a0d34ba215377da766b12b18d54165dc55dfa016ab90eb96a7e447498942ab316b0c1c3e4fcf7c62fca922c49ae9a3c1ece671098c08581ab41ee17ce17d5ad43577836263d44add51f943600320871db45823da064a4623c43416c36b09ecf7d21dc3aaa0b01b15222b1f8078c90d97612dad8b5bae83d63b015f600da5a4a8e7db5f82512fccaa641777261c931c057605d03a4eb16e8f98b559d512623d75d16f4d59508c615edbf565ff302872a2be263cbf072401c224e868d3a3759c00f09676fa052e927b628f741041323966cbbf3f34cc7b5b5e8e159c9f4ac07e2ec6c09989b019223d7b626696eddad9bf974e6f5ea06bedfef0f24929f82edce20dcdfa80d9905307bb1a3087ad724379e035b0af58fc3c3ddc6c6f5a25e31b38c41e49dcc3c560a5a7c8e61b81591f0923d4d41a093133c7340a03d5d93196b82fabf582f153587608e44ac562fc1569225e0707692082fe4d1b233c7c3b47cf06812c040ed24a9a067aaac611a49e3e1aa5a3118b2896c39d79cf927939fde742259ff061c3248b0011afb0b5bee57569a1211669513cb651d641a206849ed6605c78f3ce304271b6e8b79b795ae0c2a495bc6fdbd4a306f3934ddb748632668629ad2a67188569a66181ab29e78192d10de87526b1f1886a780718e57d1222190158c0accb84bdbabe58f53e49ab77acb059a464b6b2cc07eaff9087a5e5b34186c3ae4476cdd62a69ec42de4238abe57fcf265df743de106015adc0a9a19f281bcbc9c99af0e4636adb0130961db46f1366b99f8f41dbdce469e06e9fa9de5dbd57806c74fb52e832f9814bd0fca8bc678ee69ede336256cb6cdeb167a432fa0ea00851e48d42f3ea3b8b6205f91d0bfa5dfa12f822fdae8423d0248c33ecf6172c43b370ffe539369bcd0566fb244746b6e7ac11ffef1186f996fce5bcce4ac414d88b3dac182397f9e927baee41baddf994dd8789b5216d632063e3e7bb9534847465ccec9c3a1fec31ef4404c3b82e219ae7fddec69ecfd3053ac6801773733e43659531f3c65f9a4b3750258116639cd7af44c205dca3c6c88cc1c6dbce4400357e6e8ef3db82758c3e9a7b99da9069f804a1ef8becc8e1de21667a62437c75ff7be52e929a00493b9449e93202bab83adcc5bc331426915a414b5c3961c8043ced632adbf0885812ef1ef2ce85e5ea7bc42933ae638e0eab2dc8d32eff6fe20aa1142aecf043945de54c140016a139d4f334cfb75ab7dd2aeebcf5d2162aaf692d8d0e04a4efb6e4d0df8b639026507721286791b1a87796e23c73db563db67e23b269ec7728bb304c4da7b68ccb98513270f2bd0b769a5f679888667b2db5b97b9ee15811643ef436eb67169615a6d896160c105141a83bb15db5c7e2ba5443a81bb6124aebf5e67ae8c9941383c19020a2f1be94d0ff7503cccb49fbcada2d3c8fd508e9b727941f39a261505e19e64d34fab2d5eeb7bda1a4642fdf831d36f6749c81b7372129e4a07902fca205e5c4ac31435e0803935febd492a2af53e885ad5cb4087e1972f1af0e364c7573fc30e299de323a8b2ab0865d26fb1791de13df27b39e2a08b0516a3eff0c5b12d6be7d8b00659b56a4d1a4b66ed66ff715685eae83873502d1dd24abe5acc3cbb80121e440ac4cbff57e85e20ad9656101c3b5bbb5cab8c7707fae7d23b172f4d833c1cdc89e0685cb345d1d5d0753c2ba254ab4a7686e5fcfd3e3dfe1eebe27025043078f0acd801aeca7e648a08a34679edd9b1fed2f7e873d34967b9c1edac6b3650d6fc0ac59a04c486edba608d695cc41b8dc2c51daa1fe4268b002052b43983b1116da776ef80af3083d8ec07f02b9759e37164e24f6bd2b3c9a32f06cd67e1489fc32abdda8f4a25fe6a71a6711af1da28133802c1b553e21d31ccb3f1adb02bce1b572aada211dc2b521f96b1cc866d7ddd77decea2eb7d69e1b5c5821c7b8a0ad34f9f49fda913732de5042a88f3fe81f211bcbb86a199858008ef0a9f2d09320f7517e339bd33f228bdce0ca42a4c09e0812810244ce05024f3a5db88767e2ca39b133799e462ce8349a49638b4360f962b9ad1bb175b085b5de12ee62442180dd42df0db7b3812c08b15bd5a745c925de4b408c714e4887c63c156dc3e19d81bc5fc55e1172871442073c5a0cf5d0f5c2d1e7e480bdc83ff6d046fbbd64f13b3797bcc305920dab49fec97b1e863778e3cb95a71b15bc57e115663326899c593247472364e9c17570487a94a3c6fbac74b999f2eb63ad792957f41402edbef89cc8ae9233151dec4f4d8597f328fcf2123f2c0fb16bce8a564fb2e9bf9a9f4fa050fad368c1a216a7d0a74e1af14bf7b1985df5d9b8f01028813060d6afe016160b606dcbd4031452cc0a814a90bb71bf0a7812277d22defcdfd00e0e350e8ef375b8effb336685d33934d87100d15d81cf9af3f4bcf890a9daa204789715f6d13c8ad13116714338140af6cd9c676422cc3b98e1107108bf95fbf8aeceb1bb42e4010290d84e62d07888c512555f40c62c9715ccc6cc52c10c2b29b73f97bb49801ef98b3f0ffb1bd1f69e21b52f2d32fda214bc54cce2b8152d01e4f19f2455e4fc637d8b29c72461c90e856213a3d4cbb097286b17367b463919186ff6f2aef8ac2c562e84cbcc04d7647956b869799601fb4fd6487fdca7ff197307866eaafcbad5bafc1d780afcf157b069eda8d9e956ae7adcf9bfc0329f94b5ef7eabcecc7b46fd7815f18a81dee1ad6e16af2403023b6e614bd58ed4425dee4cad504fca4d0d8fc47956fc91475a8a5deffe283780865f90c3b17ebed3a323df477f693c96f7ec5e0f2d441c576891a6768c0e8da9ebfa088e17a5afb4ae293743a3557e72c7a34f033ff1793d3934b29422dfd739c9a516ae10350a7172ad63760e0bc955e6119bf786880396eb1f4df62a2c1b2d4d1424c514da07279c30fb427c872c2b36a97b41bf29ae2f7ffcde88162ffa486c0386e841872c5f00a9fe80f15e735dbe3c5241a3225ca3cba26f249ffce8b93ad7cfd66ef5c2068fbbd1fedcdbf13ddf6a729eeccf6b5b5d65d43c2969cd9d1d1123406f8475053146d2f253ab066ea2bd8b12064985db88f4e9996fe4c82a3faf28bb9c586d12d20d37172980129cfe0334f61a6f300d6eeb041818f70f072810b03f83aed013ce6c9ecce61721a6aa205f7fc830927d4581d71904094daaee64b5e6157b05bbee268e0f9565b7dcb7d53147d7e4eed959ad7ae9479f013794216b3588f77e3b2914f52741360a8f02df6530468fb454b521f568ec8875ae99c332efd8d8a1466ab218e6aea66c2649d92b8b2b4c45dd125dcd04f48435443d52493b8e74eee53aa240e3d8eea4835ac78aa1df3863b6e5004964f86fafa53ce39d9b3d9cd73f595086cf911cfb406c261677dcf80ee62f0aacae9cae1d45698c85090214004d444cd092ac005ca36483683a636a2165057f9048abe98c213c5b2a9e9751100be1e0a7604daa6ee87e59e081ab7f8c1208ccf891c143235de774fba730e7e614fade8fa807af8b5b1efa6a0152d04482d6dd52278c703c9390cd6d0533d8e23c3278328fc938b7cc3f7b61c1d1aa09bc54fd23c0e75dbc2eea1023e5bdf5d51502bd1be0a6298a4f8e101de23820e1706f8d2d40aa0709a16d8422cf42369865662fc28a5c3f27fc7df0591cd2639a0e7fa4bed68710636529c78083f800bb77a989cbd08426b5538f8261b21da6c28867a3a38da992b54e65d14a35aae91f36ed1aca9d70595fe3b80fc15c943a69550d25c8044086d1083cd38d5017cc9ead45af83c41ec860745effd2545df8938c5fd6c5eb71e43d5ad54084dc6d71ed5de5a3fc2eaa01588c9791093a5ed16d2d9c1302e51535c03ff06153d6f16f7b82e2d1537fb46308f82011ed9f1ab681db4e10704b675bf9a9cf32dfe8644e7866bbe808430808b4916970cc8792180df20ad2afad274deef356f95783132e9cb6fb463ad2ba2e0d5b07168b5f24a9d487c1be73640abee0faae3a10b33aa59bb8afd255d4f0b7fd4555855d169e4df63ef78a049180bb2aee52267e405288e9075371c576b48d6e9fd01d6883c5158aa00e8f3ec83616d0156f12a77e8aed0698fe93b92e2522c4923cffebb1dc01f2fa8788b993b5a4725abca6b2b2151cada2b84a282c5aacb013bfdfb6b4de74d0f4effdb574f98c01085044373501a7295457c94f150f7e775fd6bcf5f5a0ea51d18d9a9dbc6b3e899e893567c61c90ee29734c1d2ce7cd3b35e5eaebf77cb57c56f2befd666cf6290b25745f5a2be75cfb158e1fc25e219a5f5c9e5e93877cf22b9085490f80814834639188e1e7925368ea4e4ca1183cb0cc85145f9d85c5148f233e9c50f487d64cb638da2f55343f52e968fc921ea7e8cbb3063c76e0ca04cadb491ca191cfeafd4f822c346fc733168b42b3a8abac53b111e6371cef62f0bdb852c440a7a3f627fe139869e1542e65757e799eec7765aaf76d9e72fa28aa56f6ad4baf50711c670484a620bbaa2f5bca410b5e6756c23975ad5378bac849d3c33b0d3228549ffcbc50a302afd067647a7ce86783f15cb9f6095cb790f37fcd01c7eb676f91610ee96b150d64f76a7c2154afa46b5e12b513eb143821332e88986ee66b2700f0a7fa60a93713e386160902fdec0b0287be624f645942ff799dc259e429ddf18febce05dc84fbcfb8f6f5ec4011d24915a5a6694c4ca51097e689fec0b66452411507d39f1580194e5cb2a4fcb2c42d3b9dacc7eed4191fd64e4b1bf7db1b20b1fceaa3bbc30e40ad9b24349fe4f052558010a052d1fcb34d02f8ea6540118460bdcbc77acc9578c4966e62577ef728b251880fc6c15c898febd535af68160bc760fcd7f03c493772618962e0e267c649c12a1e871e6c6990d9fd14b2745e06ef5ddf7614d98f6b1cfd714f15ec56b6f775819b947278afc4229f48d6a0dcaefa1cec7ec6a00846713f36aa2fb55baa093757da5cbf81595edf5055cb2297b63e9469e016adc2fba8e13d08b9b7972291555376623755fe6ea80af3f17993d1041cee12128b18ebe25356980e5bafb5cb6ffda6183a4b197017ad66fc2e111166210f00d822cc55968bd8a8e361efb8e5d0662debc8087b8548ce0e2b454f8e8e0005f6f7a145a5959a4ab5921125b771ba1361c8669370f0a9851ad665cc4407713e2f45d332a8cf68d659bc1fe2e5f0481ae4a2c20acb61bf44d1a699d259a19c39842df938df5769aff2ecdcf14c10554f23ff7d5a607cddbb844f79ee3a77fb2e235183bbefb070d6455fc494869f324eced84f75ae664e518ea09e077e599edc4e94bb3e91fdee7aaa465dd67bc3f758961bf256afe7b8c6baae2815561f82662d6fbe46776dd8312a04a7a570ec8eece5c92ac6e267bf7ef2ff07fe5718c3f28fea58f0fdc95199d08c8083feb33bed3c8558656548c07cdf87d07d3d53144e98091d1eb77c0dd65a93fe1c495b6fc3cdd5860b68d731ee06b78fdd6317986fd7f019042552ff90f1fd40d3b8f15690d007a1531f849d6cecfe3d12cbf708a75180ec52e73bce29be8fb474ffd76a623ca285484bd3a9ed4ed67a56192181ee4cc32b2a7f252eaa349754da6bcc35f4ce940ad0413d36b38e4a3b70ff5a8974f64d0b2e85f5c2ccf257ff519a2e81cf52386e061f3a7fc9f6ea8e10c56b43cba64dfa20c0231c4b13fabf648ef39f6dc13e60622f9a7810a4d9e2b9f287a6844ab1a400e1dfc51f08f30bcc6a2626e2f72eabd70299986ca6d0bfc54de101d91bdeaf56edd2853c550281c0441bb11e1c0de3a14181d7c89dd7b3988c1af6370e8537fe59394222a967b2b11038e4686d72c04b848f8b1a29a4bf03bf5dbb31aca4323c5a70bafd5f8b70ac0f80f6bc24b005f47dde5b15ac521ebd11d70f95e0a65059af9827fdfaff6d32fdce2c4f00044fd6e2b6add9cd99abe52d9d9e60c7a3cc521ba5ff0b4d333d2f7e575ce92e67bbc2bb981d33af114f267b33b4f6f66b3517f8060c3595930a9251e8007a24e6afd5b5eb78d7b0d8b2630cd8a9a07d6bd5389cd789bc7fbb3221cee4c7f730b8e04b9002ccf3cdb2c8e76ea0f99518ad104a57888e726fbbdf9d31002a6957ad34d2e8aed1d88ed2e92ee0f653b9ecc06d35029cde7fe8d700eb41f8081a7163b2a02fa47c62127b8f95fd834f5cac64f4a56ae0d06bc5e1c98d65fea0722044ad080fe00164c9af6efa54c3ef62b12fec547836c202ef200917af40e675e115329312ddc5b4a6f04f0d60a28672ec065bbaa46671707ff8607793e597aa22f0570044428a708f15119656f36b54f7d15600f88a63a18aa4ea80af56014b150753edcdb0bc523f42af456321aef719f8582b9334293b3713185bf430a74016fd353fce24c821ef177e725230edab30d8de0593d2e9587a356089fb7ce27e611c26e43d43d7d906d0d3f50aa026bd32789726cfd846a996d953b8e328b031aaf675c75d991c3f613769c95eabac0ae091baa898d50357337894b0951b3fe221bf84d4c3bd7a90351b4bfb47eee3287bf62eaf80a4cabbeb48e0d2db7624615a0f3fc5864fcac287c3afe6f78eb3c04f9d245e9b72f168df0e56eba0c98eed8fbc1c8bde0dd1596c689b1734f96e4b612982d61a2cdaf1acbf7e82db6a96e8f9c7d237bb68d5da108a9010b855ed9c777cd183d28c3eb25ab9ff165f6e5d4129c7011cf303681d14658eff2b0fab6d9593f29b0c7009adf1e02a27900dc0ec907f81592130ab14f050d288addf06f9c2b9ef61d1e792669c834d84190c998327858b6974ff54e37260f117f4d10a18c097bbdccead23afbeb1f10e8fc8a45037dd59590b052f4e6d7f0452fa09a3ecae4770e619599605d0c0d516e243c60ffdb9c3cc0ae3bcc4f9bbdc4e3fd375eae5926840d15a29d42bfb0444e96732e646cfdd5b84b4d54c4360500341a4469e50dc5c2472cc5250a23a172abd1dadbad3062c8d6405fbee89e2c7373ee0afe025ba7a833d0688c33e4c8e002b0d3f835e6d8625965b81b8f22e9235832a87d583ea547856c32b6fd38972de8892345e98628b53500fddc27f84229e7d637b8b34b4cfb13993e649914cfeceda7b1bee9b4adec45567ce20e923018128e0b2f6b3fc48614c4b9f6c478321321598a84403224a44219c2bb9dca645a4f35c9753e86c8e70b7454c035a66e66dd108749af7b7099eead0077b76129634ad72aa448d098cc8fc53bc96600fa7313699cf67a7914583da2c32fb5689010fd3d2c498c74f4364b81e5b6b5e73b8c107af13e5c4f8f7e9d4dd0d80f2a53eca2a92f63a2becd32eecbb8c5782986ef8309eacf55df2530c186f2db991f4523687aa62b4dc884c1e0fe24e5d4cc24864a5d09f68a165e51c402876f5dbd1922c34c5c9c10a5636d99b5cbafe650a5807a5dd6ee36e87a3cd3fdaa98f1627825958506588a10fa1b089389f2bcddf1540a7dedcf2a05ba7d820864d2b4faf33f8c3f1bfd9cf798139b7956352fc6507357cf5ad9473177d312aa9f039c8135e271c58b9027006aed572e86010196261f99f356d4c68968ac2c379eac64d1986ecf619a7e22fd0744b82f8a05d17e0b87761ec071e57ac84370506bb9a860e53cea1920dbae45dc937f5eecae7684768a1d1c65216fa67f47991fcbd6ff0270c755b315f995403fa8084042f902b9b46376bc1d0039112a009422ddba0a3f8890f4e163b160ebc293529c92fce05af978202c04bbdc1866d81b9ff3c8d6dc940f5259a162ef141c6969f6dfd9dcae36c04e9dcb55cc33eeeeca153a41a0cd8c00eb800bc84c45763f76846502de86ce105638d516c91fadb97648852971ec0ba15a85e92d830382a51aa743e01f0731956c27bd7c2cfb0f12c3afed6684b3e3f20b8635c3f027be28106a50b58006b5e1af29e331fffd42c6d6b45d1c1cc9621ba02d6944e04d030b49ada8bf13f4b29ab579ef2c4e3991d920e02534f6403c8809f0bd0ddb484f7a9481e82e894485c845205f6df0463ace41cf71ef7be4915b4ddf1d5575249fe88df71e5ce339982c04025f21be8a2d729fe94267301346b149b4df50b97c6643662daa4719800714f7abf64ef1c60248095cb91f3427b3e9c73eb01624d2a009363f796cd193af8d6164113b2ca5966099f2b5e50fda1b47900b965892ccac49dcbcc6b736978e637ad4552ce51b7df804b2aeb0ad95e7f7623743332fb44c46e423dd804108c8fb18e0691014e946fd6d0e0cccdba1a28f00e39ff4e4e2e89cb6c092b6280837226580c305be73a2c6c39360c0adc3956b6f8a7fc32788e9e02310be8501d110a0db1793043cfc9bf5a55f6e555dd202d4cb479fe961af30c306adcf921cb61a8bbc0837ca7a72de76908938e7901c8f81d61e82e7ed4929cdb02690937b35f53e108aa055ab77fae0fb946544f39bcd7eaee529316085e05053050adc956da36caf5a34e631059b10e4c66bd9f831c51d1d352092b9b04ed1c47ae8f881bb112f4a666db7c6a5833ff814bb70e6853946936e2a2419f358b8e29151f8a1b0abd66363fb37913b657c5221f0c5349810239ba274a3b9e3fc87072ef2defb55bab5887ed6b6a967177b8ef217cf2d48054207bdd632a100254489bd0b732c726b4bbfb5e02e948f3eed415fd55cd34c7ecd8e642969eb6013c5d2e2f88eb6198c44801696d322056a453227fd0d40e4e306d0d9f65a976dc43407725c87b1d0fb2c6e7e970cba11f74a4be4f11895349bdac40f9b2954c525fc6d924468ba9dd4b33e3ab0451b4ac66673126c17edfd50cdbf8e667cc476f81c765b7c784fe499db96df607abc3e0de53a322de4064a6799b5e87d8b06222f8160eaa057d40e3c20d8b470326a11a59f64e93a0567e5d0d6a757c8e66c35b7ea6779ada33f96ef66efed7237f6ab445218d64d731519e22bfb7bbdcecafbde6c7f1770f42779e2e7ec64fddc5ef080791c3dcdd47ad66dc0331577168e543ca23c805270f6440811e26493cf049d9c4ca4df0abb9ddfa8eb2d66d52e0a1fcc90a3bf871fd72d677bf9f2acee5c251cc82a4bff55e24f3fac2a56f9c99274652c73970fa3b9b53b8039b4cbc1544e9d9fe3299fc5c059f0ff859f6fed91b54b0be2a86f086596e7a83a42600a3872d1cf3863ce91898023153c997ffd5e6740db1263cc92c76324cdcaeac6b8fb0c7d66af7b86e2781175b260071860bc13fc4725b8ce127dc0583f75a67024fd6998350dff41638758e6babec48a68069145173acc3d560ce988d7b56e69238aaf26feeeb686adc834d7e73ab5fb77ecaf6a0bf743a12f4e41eb5e1f2f1416094ab0cae8b50543ef71d67f3450137f82d496060f405842c01d6337a2c03aa77745fbfcf9dba790a333b3542f40ba7cfc188168ee3d5a2262a661577cd4f41be7bc232fa0f2949ede8a9fddc658d7916cd3401460d3ed7364eec686c058d83b378800a2b8ee35cce8cb94bee3f549f399aa42131f47fff975efb42ab77e699f69d39b48faf32cc4f8ca491819afc29a6ca740bbea7a7c094b26803a4505b8a156031e8727cf7c7b78a3c1cefe03fc70fb1442055f8a49b366dd9487c66c5b2a03a8350ee376e6f8b12f19c7c5f6cd98bf0fd6d5a4be141bda1d9b5d5329b06953deea9ccb118967dfb4c80781aab6db38eacd003f55a17008357937c288b333be5f6fa849d13b0c47856e21f029e564aff1d41a7f4de2c849e091922115175b245c1cd0150a4b44a232d4fe3842fca21feb294d027cd22b0ece730bae0b1e9c428d90326e7d9a569549c37333f87bd246e8b8f5e4b85aed07b5905c943234bc2985d729342070953c87b0b6af0d0e706d6c57b81d55ee59c26d955c7ef0b82262f2edd2c58ca2c6892c4503222b2d0ec241fd25b0c0c5bf7eeed56df497a4dbf4a94f70c7e1f78c638cbada3e3dd6a2efb55032185a7036a7450705ca546da7a6f60bde975c6b2b2f3c73f58ffbee1cb789305dc118f6dc5158ce82e4bff63f729c20675190fc3642dfe1d64e3cbde4f0ec774422998dba2676ec1c47da8c5fff06109781cd3fdd1f55fa5e0c550c4b2cea7dc2bce6ebc3665f680e4daf5fc148e13bba328f8287ac0b3b6844623760ddf8fbfc46187b2c9c852d9660e257318c97d6eb43b619ec08f6c154e82c51d7a89eb5a5eae28d0029690a0a270e081ddd605ee76ce63d4a1e2ca1d2220570bc3270743fc1b450653832e242e0451ef711a03641aa55b5cdcfd03ed711ea9da00b400ed0e4efced24572e4863786f56d858ccf9c390860732197d2a4aaa303c72750146381f4db4342c86aa7a71ceb1ea8018b71f572ed898779b360e3fcaa3318ed621fb2a77c4b408ca4d8d59448dabf84cc9734388019fa4f67a8e1a80b02bbb0441ecb1e05c020a051859e5d2e5a7b0e477e8a8a97f3e92a144da2789ad709fc0e7256fd776405e37306a8ef36782275856dfbf50236f1339fe08d5adb147451006ac932d8d298c802bdba726968424d86471cea43cfc7d74e8b06160c65725dd180aa55add271794c7cee5dea255c7f6b855fe248b07176155f647dfac4a48e54621f33afcbe5979d398d99d67aaa7e3539e32542fd9fa741400adcded8850fb709c371201234df1fcd7bfd5e8f9d5ce8cead58cf7ee586203c55dd076df955cc712f73d70072d6ed4ef7eaba40b00fbd940b43235a8a48b03e85a2d879922f8e2eecbbbd7b6c6c34e8754b3c9024622c6dc2935e8f83756f87f86bdd719c43225bdfa79ee12750630caad78147221cda9f486f0b70426567f7e05545dc191f3f9f5a64683dee326379db463978658a4b3de513955ac7c385917a2be2cbf1ac458db796f5cf49c5f758d92cc8da706b215306a601f2e4ed4e246da02aa7bd6bd392f44fa2dbeb26c1b7b017c0babe33f331ff0278e8e99818e08705086e7e82a76f452d91a41ba31d717764bafe4d3e3f49197fb83a7909253f195f20b920b5f6c3b2700586221aa91de34c84fb59611a41628a189c657673722b5b01841796bd3484324167c0dc18824b39802cb298a3bda64c16b1be61ce519183ecd51181f3b0f0d7c3601cfd765a8b0db984027c79f7f664ac052acea29b2b25da0e526332dd7d382b9cd7a8021fd5aa402cc57d81f4efb3bc1626392577585e6b673ed18590e6c22def4a2242fd642cde1324211224c206c0a41f28f56719b8c4e805f50fd3e6fd89e790c04e66881e1579854208d1d1f4fec8c68e24a71b7f92d391c89f1ac2349502a8f6777ab51f093c0943e6969671f278dbaf4941451d5f20ff45db570e2b267d15680343acc2d881fa16b56bbc7125bc38ff7f0ec023799156a8f799bb1b2b931520ce3fa6c1d952f7362495938d1d170c3c49d877310057fe95f15a100add77d976a08c88ec90da26dcac9eb96dd976da7d06deb0b08cfab114a4df34ba8b30f2c0b87a73917cc1e95016744302984ec7aa9f0b5683e64abb21ba5d68fc26f55d136eb6bd7d12b6175c767d7c7812733727895756d0d94c26f11a4d9083f0fe17fac351232c85e9fb1559cfeda866f3154ccaa34acc6e63cdeb91489a7d190b0990a1379893983f0f7480208e8ec869cedf7e7332ed613143491d01265bf3f2f96fbc870d7479de83c429c1d4853915f316518e1e38fea025c39bb8067e0cade0834e618c6d1e090463655f3437eb6d49820c0638ed92e6fc4ebcc1f624f87fcfd028ee36faad4ca45b09dc1a2fc69845e069d3927c173ab92f250d9a8dfa561dced29f9f7b092fccc50f7014f2bf05fc05172c69151770cb660c49f9a50ae3ebfab80b63a01359e156fc02a3c1fdb000d5b849e769cdaff1e65e677b8bff08fb7f5677a012febec48da24b0af86e89546de4c58ecd6389971192fa023cc5f01538922cc90fea3f6543ac0e80ebfea470be38f565247cb793d2e3fa8522f9c402e3586b0c7feab5417208a58ee918a1a47d156177ca960d64fcf6c17e31743be24981e0069e5af04ffd4f46cfe9c82f808f97813e145427d12c889379ca0138b0b507c373d0f22b98d55e489996bb761ec6785e3888b9634bd5c263c7b79cfef9ec47877f1b9a61d313aa70ab6aea77ca09faa7f3bd4eebb3c01661bbcd852f2ea1c6c7e618480eb73ca9c612d18066132bffe41b8f12ae8b7b2e30d32e6e8a6eb591e6223dd96bf3e3507caa481ebadbb10b7ff1c9f80c47426469546847fd72753bf88a826c54a46f8d95b1cb765386d906e984a931c6ff0a8954dd31a5e65f0ac34dc7ac3acd969e2094282d00f60ea42cba338aa083f2ee4413f6acd52dce0c9cbf6c63a31d3818c826088d55a6cc193a5e8b2c9a0eaf38981e63238dca474840ebe8ed50b532f5e34ab7babd4a98ce170054d7b521bd143e07ddbe6509af215acc5ae8423ada5eb2baa089701f9ae8ec32dedfce28024e1ccc31c269563d68654dccb23473f8f4d6757a2cd7e44fbb61785e017b87e91e7c999f49965bb3ddcf572d67cc7ccbd9b55d762e97d92c49d3e6fa0ac8f06fcdfc93497ce81d1177a1930e6bbb6927638a42fee071eef25b3909714f738f164a39f5aca797ef4f9da798e70d2606930e7b969f2330505530ea24ee412d23fdc89e93a6cbb25960912bb12b804949e4bfadf0312b5cd1a07c3e06121ef6343f4e86d5b63bb2a3597716fbdba727de6b421a92c308c9324be776a61867b4ad9c79a31b2742d80fc6758aa107fc802137a006b89cc060a33f48e95a3a7d9961eaa6ecd9e43a07d4a20b49367fae6777bc81cfc29a216ffa38f40410de93273cf4997757d5d9a1dd84922fc8af8b61a906a5b663dffbc61d3106b56b791c9be74702806b38d90793988241b8cf551fc1c685e8d128ec76b2778c0ced611bd77cc6420912ba55a4fc5a090a3659ccbb30a029bffd6b0d0543e8fa7238c851d0bbef66cdb6709417bf0f7f0e427831382f68b65e38518a0e8d768f906caf5dc58168655b364014ea541a3162b6fb737f8d8abec36b6d1a9439729cda6bf2bc44ec18ebfe3dbc38166c7896164505c0908e8af9fddaebc1909efdf4ccd4e37d85396151e5cfc2d270f887ffb6018dadd504770c89d0a19b8652b3104de35f76825dd8b8d052c6ec1e637b72adc792c3ad78025d6c48bcd20fd8184d17e681d34f45c346c51f9010b60e2ad337f5f6034f9310d3938cc27b1ae8b5d271d82588290a387e583a15ec2efd30e4d8beeb485688b73f429445bc1045ea81e33282a3b6bf5e0664de29f84dc48f2915b20c431f02edad309100fc58304bd25895f1c3911a9ffb8c9de173f5e5a5a1e0a4ffd66544801154a67c3b8c29cd521e95934b1ffe9ae7f61589791efc8da5df68338e33850d44ef4e70b33a688007165f9862d59473d2d0b8191c9bc89c6ebff4b38b7992734d58677eaf9ed13c1df8e3b04c0df65d076ab5a57ea343003b971ce150dbbe5988338966b2a7657e0abaf50df7c19b1c4734306c998bcc48f860106f7b9b412ea86a759dbf825f43d1f1a5f84e9ed7b6b69e248cb099da0443818a423e0a9e810df4759c26a0ee5e6942840f72d83a1000c9eb80a26180c6c7201962c34eeb3861b199da935cc17b139648525ce6171be1c57808077c19279c8da274f23580e3dd1be0a18903479803d3b09e09302c67f5a6a6204dba11eff76f602b3e27fb27cd22cbeb4c7221548fbe9bf5cde59c9dd7d540c8e0e2a86bc8d24bb67dddc8776042ee6593b2efd209f6f63e35a6e5adc583170afedc0e424f4ab7779ea2df84890fc4c8369a03b9f4da651d75c25c2d6430643a45bf1f1d365b06e93cbc32f258a653f1f04df06e0e27679b9c5d91f3cbb196217c69e80701a5129ef3d8a8c2e1283c85dfc46bf187d6be70fc63319471f2ef4d3f36e304beb07871866c8f19e332cf69257962332a32e88d83d9ddf71353c0de2a182ac19a6cdc70d40d338083ed6e084d89d65f0b583d7a9c99f89f6ff098e2ed62c480d7cb076fe2f927f624fc8adc949a9258761859ca7f9465dc6ffa1b0e3847d6c6f3880b89385749be6854e884f72943cfd213d43727343bdd5c5839aa04f607c3f59e4bd50b5b36c8cfd41e215c060d30cd9251dee7a55a1d7523d8819961a26dae1ae7261d221feb66b33f8f317d87d4c5e0423fd11fdc93ff7d16e1d5331c43ede71da43778acb01c57750ffc50d48d214fcdd02d3601940a0e3d1804316f5e1f65948ef2f511d175d6af4757006dda9dbe13374435f6c817fb14c5cc546c1d6f40e2867d337a648a06db8ba63b11092400174bfcf256aedc96db83f8482e7b447f1be0a319f7d5aa6f0df690b0da5cfaa6c4be523d8329ff5a511110f1aed223446458a046f694c4044efdd14704478a833e2d5460a6ff858ca75231be613bf00037e2a9942367ff2b4e8257b4616d81e2407d623eeccbf68cd0afc7dd3d08fb7731c9cad9c978e0be0ebcf9af0ab6e8266100ef010a181592f3bf45bb7e26747ed0421a42d3a7f9f264ae1375ce64edf7c1fd4c3aaacc77f1fa9d126289a6dc290b38b6006240056ba18d2f76d503d7f7bb6bf36bfa576e85247451e4994dca64139d294426a2200e786f476a72a213c66fd1ece3364a12ea1a623a7d58c1b37b1317081ea0a6d9f6bb30092b0816fbbf1b4554462c6980da3cb73ec134eceeab7e2ff540b42f9cf8ad0efe4d9166613d33e545865ac6e3c508070ae9b7ca4f0bed1f74e6634b03e71c90a9b676db20c05933b89b039bdd3fe6c4c3f8188d47acb60ffb5ac2f95ceefb93813ed3b395c1ab9c2c66f8b2c2f39ddad0912eb810fd445cdc0719cec386595d86d5a0e585f655bf79447a196bee5fd4dbcb1b562781d01772f404812ebf491c5439201e147f6ba596773a91ea98cdae7060f8fdb88f1b2f475864da9d6c0e7cbe9fe7e723a94eaaed75839c8c85faa3f3a0dcefd7bb2f057e270074c3f9bc8f83049a724023891b4b87ff75b878d267c1701fd817053043c196b1e300b66478cb21f2f2dd0d17e9c6866907693ad81502511542d0c39f4075fef7b4ad47ed57fda864d63715586af482265dc92f2d65ffce0530637570dd5394edafd8f16eeffde62f40c72a763411877e63bf8473d565d6161ba5f6c04481f812e37b8dfed8f67a4c182d02cd850874848604319eb82c40c683a71dfaafa3c8767656aa827a7454576b49407ca5fc6ec35d1bfe55f02d11c0e6d3a97d1a813bccf87a439f76f46d024956c40c843d43284786094ed3d7f82d6637abcbd96e07eb1d15c4d4603aa76c31204830350d96c84e43a84c17ee351166fa2198c3c849e6c02068c57890c6806242d506045b7303e3a8a7c0a337e975387f9baeaa15f9c657b67c044a2d226af2a5cef3e7ce26044e927b838dcce4daa08285381fac71669de7b44a546fd973b9b7ea535439908ec83be6a973f1afb6e2c9590c7698839b0b643b882d6e6f8690f4ba7789d2c971d61305693a83a53feda5c39a0b4ee0c8e61ee368d6c4992bfcf328a75971f434cc23d3bd6a76fe6a14d9b8c07f4ff1aaf946601fbc7a925a66f3f010d69a59be55603f80e00053bd0290f03bbd6a407d88b4f73ce7efc107296b4baefba7e269acd1009e6b1daff78453d87df3f63a6d3cecaed853b87beff706fbe0f100a91aef7eb3b65ebfacc0c9e2e452948dcb69762fb1ed885e58138801bfa2c59064707c84fc96fc8cbe935cd7fb80c2e47b9711f8747cd4dbc5677be63afde447e8b2c78ac4b374c1f988b51fef20dc8d1c8ce3d8cafca519719941009317625d45dce59d9697950fdc950152268351da8b548321b6c080c00d863e509d6ed02806e305e94b4e36463d0bdc590caed118da1b72b57096ff87c96b50bd93866a1a815dc09097c0193c06cf6cd5304080525da8f96aae34d20d8e800a44668a231ed8e0270e942f1c223fe388b3a127116954c384bab8a700c197a171c58a5f8f040f6be5acfbcbe0ef5ecb93c456c0abe872cbc331178fca8aa4554bd4e7a8508f3c15d40b9f60abf7d736c93caf8ddb562bb6b39ca2a42e4dfb2914991d31382d9864ff1475b3fdf6080009bac21fabd61ae1df9843299e1fd5436b924564fdeca74ffa98ebda0dc9276f68cd750ead142209bbb135732093efa49897d7d2d30ce2fe6cd0dc383cb911af5551989b31945d04bdaadd8c83acdddd9ada29202e99f75e32aa761fde6973c791ebf5a2e8ed8f4ec14b24abc4463de6047264062246f43afa5289d4014a2605806c67949e77a42cd69cfddf6ad6b26f5d73682921ffde8dfc66a72f0dda06c4d936d9498b994962f61afe15cc754d683e1008bd4abee22662cde22b57d0a9e67177534f41f8a80f3e425e2b08fe2694a6d47c4cd337be82c33d708cc91c9f5f313065871d0a975814f42bbb671a4464ad2c67877f7a896fa6f13e6113258703105bdfd10cafad6faf4a4d367889620b655210b5ca23321b4eb93d96a1fad49281d3108c90e167e0135ff8f3ce08c42d73339e63a702126b338d4040d622bd55033aa9eca290a91157042a510797d7c2b3501ecd93edee74b559fa46a4057969278a1ff7a55ae86f91dabcd20c2450f648bac0bec77f0ee692095d629927e37903f9585c0545880c9e0a39164d50fd2be44290146bf7817a883faf7a0f313bdc07039707cf473ff87831afe387019c633c6b65f22fc1d02a37df58eabf943aa0c7dc0b73641b5d951759612778a37c066d4ef4c6eff4a4cfcc4bf7c1055d9e97c0b418a68807e1f1a265d9fa1b190eb118cea9973288f8355e9b400e80484fd54a6fcf73ae862f585d2b40f247b1de8fc3b82529e766b4445490fbea8dab1f4049d81afbeb876341c1811ca9c022a5692d58a381017dca9d906a83ee95b7e1c10aa88d829e8eb280f1bfbd788a8977540856cec2611353a3ef457675c56ea0ecb771252d223994d550c158c4f7fd573233f09056cc3fb67ff0be51f6f5c1b60bad294db34663e9a46082fd9f2187d46b872fea68e652350695f05c445099767b079a1d966bb2ee35b1ad165ccc5297fdd76e2556241e3e984dfb9fc2480fbf8556c94d321a548eef4a78c3ad5b2e32ca21405c021940c801fd11cb54f19a027b072fac46c33affbe37d70f510f4ccffdfeb14f40228af9567c5011cbc6005345a7982e682b41459d0f27c7a112b4486c961b685ed86854bce5ac08c1cdfbb32d16064231de9799a491dbdd4d1ff1e91ef2cd4dee8fd3e9f80a2d24021f5ba9b9af99e4da3045bfec8615bf94e89f267cdf1497f7b5640ac289e68901a104474fff55deb2ac50c880b0f0186fcdbe186be3307d1898dcc92db71237d2a114359cb9ac430ac95c651069e5f5ce9973284fadcc43d9e065363c4fba1e5e7198852d5a26aff40400a4ae524fe024a04d0ee169c780fd551276587b0516911fb488b4cf171dfac8022ab9ee9ab61fc264604e4e18e83410ef817735864ddf7cc4d0dbc2185b595766bf24f48d39cffc53fe83911cd2d4110ba6632e39bfec2fab92fd147c7f1987327f2aa80ad6af5053e15ff9f20ca0ce4431b63dcb5e2c7f1949c0bb7185dc4ae23cdf1f31ca30f2354dcbf3d6b8fdb5059595890d9d9f957a8ddd47908dd1a4e50cb431d9b3883abaf3b43afdf07f14d5437ef39ffdf75c3be1cb727c13a4f9eb7c1e6606bb97334dbd3e7c4cf66ee8608835aec648d28ede0bd99668326be65a68bab646fd9a4c3bd414beb2ef0cd73561dbbf235646a5c0f92f4aca9d5e4936e7cc205410f41f3576c1ce78cfa367fba88f29095ef53004f89ec6baa14878d89c1260d098bd129c882c975f798f33fc9bbf040dcd88a43f85e113df877b7c438c3a5649a9e67e321c68a784467eb32a10fb0c3114c3e14c315237820b057786a9324bd138e473da7174d16e189b823f3d76d0469c5d8966f06f5d272991eb57b97ddf83fd0d61a5024d6796c77c75b4b4dcbe19f90879b79aeb7b9dfc32af8b40b9446554b34ddd4b03adad2509280b452cbf23f37a2f4687afce0a4e59aa2af11c18c05a406667cb694c10bfd6c3ab82003a8c138a2852e937e8f7bf5c8db967111231a6b4843597b1cc468460f0f7fc74042eef41f34c953cbc59c786fa1c5f4f509fbb9567577d1f5f2f09c54132ec2d5f1e696e54933b2f17ed0a34b80486f3e1b8315c293fc2f8cd5edee4bfdfa095718d58aa9a432765b93cd2d9f03f4358e04373c3ce89cc9a1150688de3c47c4d9fc97018c003b45ddc6a0bcb2c2804a50c3c4a214ef294e098e4bdf772dcecb0c8df799c91074b888e0cfc18ddc7f05c344ba4709775295cb59e401ce2a7e1f80819a4262f82fe927ecdffcd16d456bc472f2de2db9cb29800c72f21c2e953ad1deede4cd7fcfd75a689f0ec97d53c6b3048e0d170fb338f4b06edf7038878213a13cf479affe4199464a0a9c1e0b2d0bef93e83c16b3db0aff729d0add1af749180afa7f893feb1117b6fb44a225962c029a39bc6d2454c598e7e94d270967fd762c60d36ec1b5f69f6b07c527c1c5496660740db28c68740e60901788040999bdac0d075ed2ec272017875a40d84465ada90abfbe9885cbe225a6c369c5aad9672c57b93d9904735a1cb08d37d52bcf1ab1e1f00fbc049e8be4c18ccb277f271ad431f726dc0ec2551e0cd51c6282a2d8fcbb1f0a20391b561ebfd9fa273afd1ada635950d97939c1a63f71e3938da5bfdb905ad8fa8cc7ef149c1261aad113ddf4e48d8c2cf5757541f1f150b62fe300f1873933a8d4faba7aa33768ef042a88bbcb4a4ef520926641a026e935de99aeb8927319742f332b0ac4dc0c5bd9bb15fe3eb1a492cded0d27627c80aa4c58f1644c3cc41e90f7fc22375006f7fd3c4734cb604b298b8def24568c4daeb88a0bdd6d059bc2cef934f064d2af01e9c453ce0eeedf6d54af4e67341210b0a0f7512d6285e9a730c29e3137e4656aa61e34c505ff003c6bdf2767e014b7e8c8e6cace50835f9a5eb62d17f638cce6c8dc6c5ef8e679fdaad3839a1c367da0ec038de5d49199ba21f2f29f2e32029cd0f400860c9b5350eed03df85a3973bf492cd81a35d74e8d5fe97018c924af7412b173c67bf3b2e718334ba9778473318a575c5ab4ddeef44692c8676c677d0defbace637a067e76b1c1debd947d7369d55d1feaa4d8d41021af53fd883ce876cb386267c38a037c2bf1fbc1d5e29d3ff9af77a7e53717eac8d0ee0d7e849f02421dd58d1bf21c87801f830f4fd33d975cebdb7733c8e14f3670cff7e84b3b4ad66caf25e152cb17e309bf3fdfdfbb55d5734e275f529f3bcbb7b1f1f002602e04f99b5da8d8abe03d220b8fd66e0a423c123ed3f5111977206b2f7f9a937599a18558815c5c2f9ddc0038efdd4ac0464b64dcfbdc4ad4eb9ba5f4c168b3d6d3cdc909db5fc6a81d64600998f049393edf80f2bb6bd0358591c4004c9c6b88272e7c1bc471cba00f40290d3efdb7d1c989b1eca7ae4d91603526289f907c7730f2b2c024b87441c84e32839b0039ae345e2f81d0c4032b80191df2531a38ae95a634117de29073c92166508328592018326cd4e3443b4b0816f91fb5a11ef32f480493684ff33882cc4f2806db978a1996038e6c8142eb74cb07426aae29fd39308fb467711ad7c62a83f941f6bf026f811a438f47a8394cce4ea1af17cbf9ea413ac69243597880010ecfe0313f2dfa71bc9f6b707e70caa443b31790e80c3f82dc01779b1b4225a9eb721c66dba1dc5fa283460bf90d700d9dcf9a6e40114f9d4ee381b02320ad104bbec2740f94f09b5e34237b2c0969d70cfea9e11ad5c4c8e5246da4e3e06f010de96f89e0f8647f8346e51accc5f6bdada706b4a44aa1b50a82d232016697c7893c46b6f44d2bf2d8eb9949980bee2a3cfc806cf5cfad80ba60ce49ff4ee729930ae6f035ce0cbfa74cc02212e3795c86fbd089270a202ed2da7f1345748ce68d3b90d34c8a46e80731b963308bbb77f27874c883a4881a790267a080d76a4e39c21d97cb910e4dc83540fb7026b4df0269cb46ec9d7f60804600b02cf75567a1d3be16fe8e819a5de2b81e9e26936b2c6756f1347a1d3966915a1400ee79e4431ed07a6382047894c52f8e141e833aff5493ae8720abaf0fefc59c042e935ef919cc251f811b2e2182e2a872bdcc08610b780436df2fdea638cf8d8f254cf8bc614678773d43145736e75104b896c3a2327db2301c5797527aa32abaaf50a57716231fd55f6b7d183c8dc8d692ff8430df97c8d7494b0abfcf8f70fb19ea9df7fd2c1c90433ff4b73f1723c798a7ef1938f98b93c1b2f67aeefb5dddda2ed7033fd455856920fbe28022e7bb7ac39ae7e716ceb4dee766b29c63a231b547a72b467f4bb0b758f4c756004a12be0d4a71248202e61907d478ed4fb12407e9cf963b3dc5f1e084f7d12befbd1b605a78f07d44f5733aba34c8dc567713ecdc76c25cd35f2a8bb57f6e5fc6a8c506e9faf1c39cb370beab8b15934a581fef741fafe891ab5320ff6fbc1203efca620f4b0f10d8deaae89b88c61adddea958d48be2701990ba745474d9f3a01825cb88d8abd9d9a19aa7481af31620fefb5a298eaf7540a8957f46f47226baaece32f94f29a49bdfd9e2973bfb5cd5139b5b6e9d16084506c92a2fd32d4ebc13cef4e323ee41c1bdfa6d4b124c60f512cb49fd7266ef9d103a1826f9c91ceebc53bc649bc34ebfbf548247bed6b4b96d0fd4285fe1da98a02c9157f11294f7dcb211a05984fce2f3a74d3776df9d268a9b25068d207c623455dfdfd44facad3fe022fb5249e5992d2a47dd6c3c3475898918a19693ddc2b6a22a978249939ffb82bf213ebc290865487c12c38b545fd9af7b7c0179208086077c554533bb0e475c576b4ddc5d46f9104a25378593f93348993a6ced0ed24588b616cf0e9e56b9fbc07cacd53951f4bca3321160921bc4f07a32e37f5e89c0d5d917d386c96a4629df2b0c3c522a949e7f83a7eb51197776099f05712760478882498c00cd9723fce07a1d8c64e6a90d2fb7ae9161f6dea330af6b20ddd9b27dbda1b5a04c086419461988bf54c940de48a5908dec4aa4e4f94a5d8e154726cfba1014f0d8866c9ab9a8fa8222bf43ba3acc450e5bbfb0a5272bc7f9f8cd422fb14f8c7f9d4779a84c915847c697240b094f6fd764180544aa4dd990bac0fed4d038014c226058be8613622c16aa2d66e3e6f455b9c36f600eb54a8545a17463b5755e8c4d1338ca05876539be9673c55dc51bd020ce04b28bde98edc60b701e381a8949ba2f7087ca10d3d394df6426f799bf01f181bb24db1f8e45d51ed03ecd17ab738e1e18b25a6caf01fa58d82a1aa9f8d675ea1f7b2684117212de20c104a50adf091937e5a762ed53b7491f48169708cc3fe3be41825787af95f94d8160d892d244f170065927294c150c29f9f51487f17f90d62f5e242d13bafe4165f625296b22a75bd11c7e2924204138ff6b5db074cf05ccf357960e39fa2de20fda6ed164cd79ccf34696054731856d6037c0c8d02c020c9649217a3eceb49a5c54eda8a842741549eb5435997ee702f6c735100e8f06138128fd60650094cec30faf15b3c1cdea950f996df25576127765dc6796900ce49225704b08a2aba149ece8c77524ee13115b02e2fc3f4189f30ab28193409116f02eca10b16dd506f251a45350c55b2317b2b4609f60d08a08ac2cb35ac454ac48cd706dd61da47621baf6e3973ae9eba6fd7023843094b57328d4a5c014547aeb282261a6650a434e2ea6f1487af481460912075f8c1c2a59ad705d579801ba98b18ce16deda139faa475e39216d368eb00e3056591838abf7ff00978346943e4baf0ee0a73cc0a4c600406a3032c32867c566b444ee56872c2c52eec2f3ab352453f69b1a87338f76909301d1a365242d9e4b9d2dc0f74a04028e94ff4a1b5df55309e901c2e8d623dde9dfdec8cf951a41cfba1dad278ca1ae41c34ccddf92a2b14df21bf8ef76dc6ae05f04bd3c30906870a2d99730a5b0612f06dd830eac092690e893381bda76473f292bdebe91b270b81e4cce66434478581800b4641fb53fb832d8e32eb8fa7849e53d0bfc470519826c99916d0d91c9ae0008cbe4027c7c4c3416e519c5976ad31e56e3cf0ff8e20a2e13a01910274218c6564cb0ac765e0c1538764e7fa18d3efb3f7986d06ee1f09ca2ae045e0c56da64d54f70df87ea42c85d554b767b85f52dfac8df9cc8e3aa8e404766ba45ab258608cf0918954a13ac23607ea1988ab6f40dd134cacc8ac59202e4d7b290dc3bc1430ce9578971111b8a443b026849533ff5c1510fa0861a33d6766a5081dbbafdc451819ef65d708359e461e332fac0ecd8323b781a8e9f8d80f8d4bbb8d876a5e41b424bdfe35eebecc82b321151af655bb2246ec299c95a5f0fda5989eb49d7ad9537625c1e2059c14c5116659b5d012eb56a7f0127b72331b25d00f389456bd5cab82db8597078d0ee305a4e1cae5cb2a55e1e4a26a5ee906198aa33bb2670fa4199cdb4bc314679333c38e3d36065afc18eaa435fedd1813abd6b3b0824e7f8f3d249e6eece223173c582f14289a8223d73fbabdc2ace64f5a618a97891705c3fda6245dcadfe8e20c3cd4669b37f6c86313418408c2185ea52ec482e75126023b00e23eb85e24288157bb0d210c5d6ead8226f769d4225763c8430777762815d6a2d79d811640c6692218ed466936e0b9b72fb39fb621dd99c124c78d094640abc190d79d2df2ce3e53a9d867004a8ea9bc42ba29c90cdf64800d6b6e39cd89a2569b789cd5989b149ec2815847eeb69ebf172c55e7dd0fa83d80fc05c4dbb0d8b1fa94ccbb43579f00026b792d7b01efc7f3aa52f87aea716107f811ec9120ba89269a24e1c3e5073a03fd48d988c25e7c119aada0221602844d8320249bb6c003731ba40255db84ae5c4beda1a59ae4cf3b5e401713fea176039b8ed8b97a383bf7a23a6a02e4cb693bcdfaf687ca9b3f874c1eb50e373e26ef21bd0f3cf95e5399e1c7d18a78a00106eec0e7b5afcbfbbe72b22bd6db675cef40e17d2ed931bb41369ea8d21c2047774236ef9ffa872f53714c7a16016f8b915bef00d58c66a28c2e5f9d0f4333dae8a7acc3f0d431bc8e6c131270554cd4b8fd409020e12fc087b7a06c023bf14062993979469982cdb7f68d77385441301f4b207a857079c50144cc09297a20d74f4ed24bca69c998bcf9a0885f3258551eba7dc0101a9c67f8500e584a726d05aaa7a260d9b4d92083362142e8fa437bf2df695e9146f35aa261af8f25d7885d06ee84ee9ed4215d1b58113795cc0c93932a780392113aacb34620a2cc58ba61964efdc415c058c51a1b4027be09be36669df6fc9e74f4d0335eb658bb54c7eb57571d1cc308d95e4fac0f4ed60b06351eeb8a98620f475a7d36231dbdd48161c9062ed8ac59cf60349792b2a2aed7c709b88bc3e99e5da308004efc7fcd6e22167e7fb17a2b6420b620eb9e8ac19eea68bff300dec0e89d07b4832c49dd36f974ab0f86fe2820ca4c08d0a50842695377defc4680442499102061a83aa63bae5a3a36d779ce9e843ddd0cdaccad9fed7aeb0f48d7f6c6370315f92eb1d8dc571369f84d6ff88c15d4fba27385c015913880140fc56af3209cb6cb295af69a1099a081fb450acd3f287022674549b1153afdd053d4c4fc4413bbcb773c13ac4c82667089d72d69a4aadc07fb4927e0cc66f8555ccdd73a4d5a75fb9bfe39682fc70afcc90e1efe269f53993ea1546d77d2e2a60f8321833d40bb983c4efc7060e6fb8fd2e4ec598779ebead05a1ee9d9bd96ff6530f56394b397e08119b7dafae0bdd92188e5dfc17833bd5a0a659fd292cde07cf58014cbc99cb01c3d64ae41936f4163852f9296cadb0934e0f17a3bbec87492cb36cf5ac46de768b092a8c916f8454dd1ed8545a03c15ee452687dc1d0f6a40d98677427a80426553c47faac6730439b4485f02b37f37775e711a7f08c14955e2f48f4bba8b1d582d49dd37c682c08741817484af3f8a3fa65576af743c23ccdd8b68b2338c4a3c40883c3969904a71a62d6561d5ee4a643acf04173eea32d3070691d06c8fdd633640e12b604c573e946e72f811532ee9a2f0fa7539b2879606cafc9e83b9206ea14cc0201d7aa9764ecb23417329ea3f4087ae52c36f7c8d4c328922e8a9a7419df79c6840132aa2131cfe5f2c5ba914723aedfbf5f53ee18f6bd96126f434d77d22bcddb87d4bc2e33821db3ecdeab2e6012b5916fbda009035e9c5d783e2f81acc09ad0c542c966e224695796ba004f33ea1db4810aac33c9fc18c4b385098ad53151b4a8b7e64c9eb0b47f775b5964a1f1a8165311d059f5f796dd446c4d62370ee640229eb7886bbe5ba6e18f11eb3bfbb91749075554e578895b1cfe97c6b309eb692a6c8b7e55630d57fef7c5301fb51c02eb140b756b51a13bc7238002096eef827884fade10b1a018ca737fef1a3da801db26c3550dbc74c8c383016d3263b31ddf86f54903b302428f912fa822e0a5e5bbb1fdcdf9806c976ccb0e5845ac85c40ed297d4de0b60c2a3ac62a0a2ebb2e17373c40d9a0f85ffe796c56102bb1f488ddacdc486bce742e5c946be8f00b33f4854ecc91e23d4bfaaf585cff597772c5ce3fe43a7d3c56ea7276b11ec486544e6178d251097ba108df30579ac560141724046429b58b86a5e31c7c6c329fa4f21ca47c13fe808a3fbf8124628a5589137fef3e129feb45c60437d436ef5c63afe02f3a2e21ed2821b11e1e0a6e5571ab479704b6d8204765feca0dfb0df6e3ef37b76295677201cbba5a71dd8320b4d7f04ed21292975bd22d30958fd32ad8a8f637a282e9699aeb0ec7bc212152c2d034f68d4b1b5d9ba1c8af8e77d7633e28a1f5b7843630fe96d1ee7e851b4b5892860c57672027d24d676a97b503a37fa9801f5f41b36e45b80b3ddd7f2ff134f812f3135c0aba6a707dfc5e181bc3e8f55301f0a2e72d50b9f6780c27c8c1a37fb23104bc414ebae1cf225ec9ec7655b28f06ad6c175cb48b1b90d1c89d83dc2ca81f117b8a9480af45f45f5c0dfe1a7edabb7f606b258d5a745b0ca1474f452a508ac8158c6a4dd07cfe3ba84b346608ee64228357793898ed6fcae72a998e9471b5d521b6fcb44c803b38825085ce7209c39dcc0efa0546d07249b10e177566105fee2f1d832629a95009f464ccacf6768f2444a1d06b184d08045eed785055d10565191b1f05b773273f833f111000a9bb6900f279ab0be664151862f6065127da371e34cbeea713f982a84184d95d10504894329b552c29c445542ea6f0283d9c45533eb05bd8f6beadc5cbe5ad1e132ab142e5f38dae41522d6140e84d279c13ab20264ad82ca657a284fb79edba28d2241bea574cbbe44a88af8ab2fafad18df2055b30f7566916170eabf61c8480280a8cd0f10246e4c5590657ce8e311d041edcb062a3c7f75a340c70a7e0010f07c8082851436fd915644ce3d5390cc4b9fafdfd31e3e1bea3080278e57d08d35fd1020d099369585ecdf7e5231284804e5ba2f18088ea96116436ba0e8ced5cbf828b0106d0fd1877f014fee6ccfc7f65031afde0e9d181fa70c6d82e376b29e759772438abde8334a90e46686211d4f1c30e25900ab35eba248b0395fa715d4d07d9ce29c88456d4f736386f0ae88625324098826ba19b485c4288a54ffc691c0bdf310e96f18b2b51bd13c090226e5a85b55b979fe498578e7ddf5c27229a6e54830713cfd0684a780c6da3250d032c2a79d63bac06b6b44a5aecfd647b2b2a90910e900b669b0047eef911e3610b14fc8f4bc9998fe2964e667749e888c7582014eadb83547f1e8f6d28575c08aa2c8351f155908e2682b83dfe1581b991ec3747e66d8eabfd58657501171305d1e47065dcaab6f6c090ac036a4860f30219a238f48fa28d6ca080ab5a4b12a9b85bb6502a3cd59ad4b692a5a4b3b8bc21f628f6d7146666ef84cc91a48214fb404b4407ef5004040cdbdc9a4b837c3bf424a886663f681240c06f34f7371e2bb6902828c8104315dbfde40cbf60e511d38661680ed628103284bbd7899ca1731450f53ff5f73279c034b1b443a8be55a0a28cdeff2c8873afbb39416ba807cddc74b230ef2527d58b00eae8d3df1dc5ff9045142fa9ff2c722241333bfa84e585a4f8ade10c2b94cdba2cc8fa7398de2043f04d92b5c339fb64531431627fcbd7bfd6e2821de89801b03df8000080d0a235adaf231b6af66b3d195a8fc0b083bf711e18947611ac5015f783b7670a83200ffa109a1cb46c149fde5ca352d348500cdeb833a41e8611bb1beeeb496f702e7b62e4f32b0436bbd72d40f68a635abdde9f983797cd7b096639743019633062fb0a6e6458f5a84771bb698ae28486d5c6e0e30d2e05bd043be51f78be169ce47015a7d44f4d9fc84d3b43cfa754772099ba8c9abf45f5ce1718fed2fd36d898989a2aac42bb7166947a5f27f20565a914bedfc628b8b05a457f6adcc2ac5ef01a7a30782a4f46352cc661d42e73e18007ebedf7d245fe975e6ea0d54a1bb05263558ac93b3ec9f8f652c5d47abd6f55e07b00471b5e81b7d0747972cd1e8092b3a858bac542aa77556dd7ff61031880c91849a0c78e63774e25f4dd9a9b96cbe94605a415e9e5a8eb552f0548d7024e3a61c86fc65d1cd81d351285f450e4abe8bdbd344048c0db8a4383c89535364bff94857a86b23f8d00819a062217d84f21ce35454ca596ca3fc71e00f307d7977c98c0d4ca0d7c8c68dcac06f4ebaf46a75279ac93122230deae431c32b6c271ba45f0de7786af4f0c5cdcd7dc4ff171710fd087269b93133411fce6508c9eabdc5a54f0f52fdb499989a876e9645c8fd8298c4dbf263fb7dc1144f71e05385f6642a05f9aa6af3f09dc70edc232c0c2f2f1554077b6a4dc468671b173ec7463d0724feaa263fd37ea29aa875b9dbdb4c8be76a6ea19c54c61cd480c8b7978b0ae2e9ada07d506ee9e0c85927e6d1a7c4a3a10e3d6040b031710bd0ec4cd5bb063c3eae732d7c5c7593fd6d5dd88a7b98c5e7625a5c9e2a46fdd1ae9717fba0834803a8fc663823c35cd25691872295bb2d1b1c40eb9b5cba147c9b75167911de196cc792a8c0a14eff160cbb3bdb00a06c055a5ae59eb7c431f902591e32d3d3796da69b77f4870bbf3a017c16977ce997d74f57c39d31c529550267f3e0861d41b02e18aee65ea5896e8d1c3cec8045baa038cbefd69c668f3e1c02bb621d3fc3a7d29a25939a5d7faf5c6c3ca1b08706c23515ea7e82deec947f6a4af75de3ba5637945ca83f0ac3143eef0fdf586b8f946e42ca66cbb85037c22b319d9164448f533f6603b25f88ecfdf978a9075a9bf1fd2c9006614ed7c69e4d088a30b21af490cfad02de0cb99e5997ce0ff5ac54bf8742f694a0a7b79c7fff0cb6befa13636193f35ef9d432654a8422ba0e2d2d9a0da6233e2a962371b154f20e107591538a0f6640d26edf39bd10c8ff40717e64d5a2734dedd1cb44abdeede08693691a92b9a9907197786309ef70cd85f7dd9aa1266ec643e76f0846abe3fccf0881bd972d3b11cbbcab9951d60eae5095ef694d3798e830740cb302de516af015a99bee8e867d7dbe7bd93cae0cba1697bbce6bae1509a43a17f74587f555895c810954885dc1eb12d6cfffdaa46b61c40596934f10bbc7d4ed74fb5c6cfdaa4873c8a89adddf6597f5e528fde8d65380fb06bac60700b47b42b0310816fa112bbea7ad43a3ab886e8344556c54b05fa63e5ac1eb57bc0b7725afedb0567ccc7693e1e378ceb85ebc9ddf517ca599d2e92cae9c92a12913b096c727ede7b91f4cff4cec8e738e942099f9c38f5819676579c4cb5ce43b1d1d1d675a13aed55db0b35aed384e2f8dcc5919e3e13cf88831eb0b705e274875fd686ea6822790fbdd04ff9cdf726f2e91f9c59577a8a5cb0ee8de71e39e4063b617011490bfdbea29db8bab36e3b74f87de3a4ee7998940a30100ae1d9709c4958774317f5fe227afe0ae0c5640457f055a6657e1fa864921ffcfe8ecc9cf482b501a1115cbfae10f0f500ef0ab97dc257529cdfded207b7d9b5c868922967acb33ce95f720abfb07b5f7eff684cd011004d49f2f5a518e74ac4700ee54a032176500fcc850a3124436b6b035d77fffc552479a8d4383f4a52d853a1b3c947651c99b3d23283357987e0496f771e9ea41dc5404153f5fc667fd5b37f1e6efdbfdf49b9dfad83decde8fcbde4fcf98465ad3caade054dfff910dbe4e8cea063203e36ef07697cbb1efc70171efc7b97e76e959ef71d03dfed86499987d8b0792c1cefbcb5a9f1783130316144d246e7d3923a2cac3b2a2024d57298a0fb9746db4ffe3deb0779724a03b7702e4ea9f81575128cc84f7c56be79539a1b8912823f3af3ae3a847194af6f18a4075a5f29370d71ce469c1674d1e90ff96704d6fc8693af622f4c19bbbf823c1ef1694e2d74b8ebb93af2790479ff2b913fbbe85ef352c22eb40e6f9600310b0e32cd036901359dc11e72d25fd13496bb3b2833e6f4b3c29f732b3babff4407df55317941feadd9444b2c8e3cd0f125075d3ddc1388ddaea6dbcf9a9dc2f1826fe7c41164643167fba1dfcf1f1bc4f5efcd16a9b41f57914ad1ed0808a551923d03fae3944200f0cd83d79ba92fe6dd1885349e093cc5c103ab442e908e7a1679676b7188cd60150cd6c9599b4ff375dc4c601ba3789ad76714cd35a872c6d329eb95c8d5ffbefd2ca54b09e11194d1391916ea503989b50bf9f3ebd5c1b86dbbe5c2b34e61d9daf8e6970bb95785fc0e0b39f92d87dac05694d4a1e7f39fa62bfa48ea852405c3f8b4c5107f43f3e96a9cf3fa759e84d1a8cdc39a19b2f49af938dcb6618509f449db9e263b5bd2b041d569b22228fe6f64936607cb49a9d88c61c011eacc47dd5a898ed9640ab86eb8a99f841b84c823bb33cd00be61d77b257fdcbcbf7f4471c304a7a24f659d3dc4581f2b47869cd43967aadb1705053ddea43b295a01f91a07adf8a1b1bfc962dac99d733ffc1f38cc95d393c3d1077e5213f5e52f69a31df355daf47b0d7cbaddf4523eff8cf2b67db04cad3ca7deb38f9ae0348b98c9bdf19da9f56257b5a0c44de33350d5757c6f72cfbbc6b8bc3e569e61d9a3c00735881814516f8f36552f7dcbdf2d405718cb9a72aff7eeb56b9516f3fd475632bea3958ebff623bc104b1a38f7570048aa13d696cf8a5574a11a1e322fde1a99e5120848178da155b3a54b58085f378c856c37b0cfb331040d0df304573fa690bee521fffb376dc7335fa6b4ad7b7064246decb7424ed46667eeb2630c4ff43679b7e5147467b061a714e9fdd9da775e71c0ced6684b19ed89c67f3cba85db39a4f26fa6c01b5664d8efef42f7737683cdb31f9089300e5fd42fb2abe0ced60cb928e8527b365d577b37396f12e2f89ce019469ca2c8f5d279b3bbfacd0413049062e53dcdcece066f573e4c48f676386ace3bf59de207b2f1fef6661ff541a756b6b1b3a9b60986ec2bc59c48db6656817858d5c56a33cc44cdd5c5b8f26e86c42611de26c9afdabb641dad064166591e2bc59face1a7db5d66a58bea207732659d181f93e77d2f6be9223e7afa57ca963f9daf3b1920cda9e9baccce702843aa8f00dd04e9bf6fcace4c0e7cf126dcee20db2ab4f736bcb9fda5b6dd80cc62de90c1ab461dd4462411dca58cc04c798a767fd9a3bf28d855fc3579841cc823ddfc0aeb3d9601bd21e3f33fa0cca80be51c7df1665b393f573018681ccec5e470e656b57f7925b6b19b371a5c87ec2a6828d9cd6a99b1b9c7d18cadb5cecd1f19e260c8e6d655cbec21bdfadd85f878fc1ea631031a56380b37b50d7156b39b1afd4096e6bce8dbc1ce046f1581de68f9c0562fc0cbe9decdbf7a09e735794a5dd378b0493893e9d9678d618dfe1cfd42c0533ff01ce327b391fc84e6f928c01ec839d5586c28dc17e321613727aa5579e53325b470bf02e0a9417b33d3a4dc34785bed6d90e91d1c5e55bcfdfd847f765a03b4bc46c9a45e5e0cf8ff9823b0159f5c00db9163cbe216825dd399933fd0daff42d6f1b32c0b5e775a19484939e03fe800ff5c73447b3d461d7fb504040077a577ba407c9c12c0abd5fd99dff657ad63d06f98007850b64e39993dadd1bea90b6c8c42ecad491db5cad79784f26feaec8c8e7dd6cadbe7b6687568081cfba31d6a0d9b9b68a8e7603811b4fc56fa8d22ccd963f257bfce06765bc85e771891ff4b8d48c9fca396f7d080efa096705c872d6fe6692df12b371d1fb299960c6bd4c788bc684cfff9299d9331d11b67e6ff5e83698cc54b8e6da1f87f81bdcdccd019388767c0983037331bc3edf95eb8d0d3d1940279ef141b2bb87cfc1b1af0e9089749c45b196697a51aec7103a4f96472fc30ac4dda2b36df899faf37a676d66ca1e0f5b9b0583b5bda1833dab7570cc24eb9966a6ba39f883fc40777546cca41b771b35f24de4f681411dd6599b2d6e2fd5dcb77a63614a579fe9cdd4edb9cbffb674f52d268bfdb0f1652184a3560396c7fdaee91279639d8551ba25b397a991c1cf543f2b7512201d4666959089ff40578ed70a637a134ecbfc6ac2e15d6ed3f3bd59afb7a406cbd7206cdc16c1da9d0827af0b3a2a68ac9d3de60675bec12ee9074ef952df9464fcd124031b395931b17a4c8d398efab4e45c7abf12185363f96e688dff734a9995f9e91c2bf4223ee82be11a865d7bd9c1ae8b4d03020ecbfc195b5db4e463cfff44b2ab4fe5b8cbd8a6e3eb9a8f012bcbcb8d1a939b358c769a9895785b73133693a665eb632a10fcc4650bc9021b54071e0d63c7d730b5d92c254bf960dd9d13ff51e8e859db0c7ed1f15ee18fef20b9ac7057fdded967768de55fbbcbd04cb2be4782b69cc504239b3f8f8bb0d567a02bfdf54c0b79e007c1818d3c66aab26623bc552baf66b9fea689c1bd418da2b1361b3bd017c81b3ae9ebbcea7595e19ba9982b061eefa60380dd4d4c66e7c20a8a36ba996d4593ce7a924859ace7c67c3fc601675c6fe84a31921cb80cea297eab2c29967bafbd5a8a96774a2ffa861cb30618abc9b705ce59c7083bf4a2c431a5abcbcae8b8b3113bc948db9070dcc857537a2f6bad7d2db46663bc5b0d057f9132f091715d602561229c21bf003a5f834c036d049d9057ff53392a3bb122077b56622dcb60fabfbc93460c4a1ca3b12cd3409ef95ea143c67ab919b3b3430986c119a9d73a2d24173b9676ad58b535337999c4198b3998ee2b1eb8e64394cd0feec724be1fc3097eca333a596ce2318779bbce12b7fcee335cb64ffab91ce09b989138811f9fc98af9834531fe91dec8b499cf9db9d96bf04d70a3b425cce4ba2fcbb581606d7b37557336420ca89240592f3a7993dda4d26c26c0756677592c816137b09de4b2881d2f8364034dd9c66d349bdc850cdaf14264783a09c7658ff5ef25d1a07e021c7716366f4b37a0bb36166d4a59f4016e54cd9d71ca2c5e8a27e97a5b26d22efd3e33b270b1c6c6c432ce8b746d369a9534018d6db00d6cd18cebb619dd245a8ac65d3adb2703138b18f1dd142312cf9e39674e95acfed3966b060b98dd53bc46d1ed2d03dce5d7cc781906b3f3a22e6843caf8ddc28f9bddcb148ce1711d63db904177003f3afb9445e1540d1be253b847163da71fdecd6a3d3a18d0d2b6bce5eff06e01ba5dc9ccf0deb1996ec8e18233b18e4c3f06c5ca1e59374356f1cf5ed7715914ebd863afa3533207071dac7be563ca98edfd4a323c94da42c406645032f283ded6df2d931f4cd9d4380ba36c26599cb257c6323c53c482be57a658feea728d617c0ed98fac08c2307f56860d8af11c635f3c9923e3b0c6bfc9c12cc42077dad76442ac6aace34e08f04fc2f16430b04bf3bad23e9fe063e29cd59924ea86c3c724b2d007aeec604e91c5ba20b63056c9641e707046cd0dc27558ac1e49c207c67dce018e6e33e8f1b7787e23d868399d1cf28df2bb43fa5e47eb7b883ba14fde2934f6e176b43e9946affb303a7b2ed6be3fc11dffc960b2b304f700ec74a6259c8f3203ac8dba35818ddac342f76281d9b2a6e40236b09d607da785649675cfe0481f96af31ca7b99001fe84991aff54b6c9186455ed6bbc4ac2bd25fce589edb0777a62d6bd63bc4be3983cd1c8c8fbedbdbe26c64d7e95367ab9904eb7cf3cedb8899b813f43dd327c15e1fdfed367cecd1b5bf9be4b6bc6b3f0f73255caecbe939ef986cb71319f7bbe5abefc0749037f09576e42f8a359f0166ccabe9e6de9eccca3fe8f8b3748051f779475676d1c7313833c7f388e25b4676dde5df1b63cfd494c3eac57a20eadec0601b20615c47615be6d65a5d16f99ab6b8165483baae1ee981cf81cd92c085ff34c34c26178bebd8e374436ed11cb2c6e7216ed1f236783e9bf4c6bbc2d990c5f9dc19bee8d7bb4d0d3a2b7bcd6fc031a1cb8e52f676d0a6da681e6cc2e3301893c640f2c637d72e650ac72f83d7cb085808e3523793b99d2f63bcd7050d7a3f87c2fd5a21dc63d44e49e690017e61acc03859540e37f835a351e6641d8e7ba02389e70cb1fa0eceacd983f93f0c4e99a572c660c42e320bcb83b9df91b2090e60523b6f9940c66791af77887258d0254dd1e48c8e9a743566bd8b8bbd885d7c99669eddf84bbf3da79d43d80c72248f446c3328ebe2115fb05d2b1b78b09476b3cc4bcd7ca795ca12c7c2db2565543232ebbecc0e9605700cd3ed620b90c1acf409d7e0f06d5cef6409f28e4406c14136291f71ccb13135478bc192256c9de13be9ae6a66f8b9f65bc886c1b3ac5ed10597c722933d8984fd67ddc3e8540d15139f033f4bccf935c85d39f09de71f2fb1e38df1e8cd0c06f18b78c9ec48adc3341ded2f962c618b8cecd7eb369260a973fb2959fe0cca407e40758af66054fac164aa1924137f9bc1ab3f4d1eb05636ec24e9c07bd4cf59707d0ba447b2115f2fdb5cc8e07aaec72ebe0533318efff2b031b3703c0fa9b36e551eb7f4b3195fc680e5a473dbaaacdde76767b58c85b9bc57a7daf6656ae7bc1dfa0930eae0638d61405a30c751bb56245ad6dcf565e05a663db3412b6dc32ddcc6691016e8c632de6c3b6983bed134a66520e9b2cc357f430d6ee1f6b41440b14c99db9fa95bd3d68968755954d762d9bc92cdad53e4e170f61b9cec2c718b99aa73609d6c9a799f040796d11d5bd6a6039825832abb7cab9d24eb4b65ff740aa692f1423e7a5359eeda32458f7fd3edf03a85d6004bbf976967953b25596fc6e03cf800473e8fd20dfae4c59ab1b13c9fe1e4dee22214fbc7d001b2b00f06f92d0ba9a00f62e598570638e300bffd58a1dc970856cf6c380d63af3cea8f230b5307678540ab69cde6ac0c5b14a8cf171ac68bcd13c0f88c4581ffd3c4c859f4279e677b8f6b3745cc5e5cea16c01b5891458feb80560523baa8df24382fe6d7ea061d6ca0e35e6a13ce2c8678494d8181ebb64d496fb9533fbcafb6cedb0c33d6ed7f6d05c2148cee537d8faecf303a38dbb60360631897c1be4107cea8cce2da3d580f36ca6c5f55ebfca076a46ca275b0161c9481bbbf57fc982fc09b70ff6221186d19fff07d101d56e8c632ecd40c4506b3b37b1c01d461cad96dcd5a96cdfc7d392698940e5abc5d9b0d19747c5fc14110e3876b1d6fead93da7f85c1e5dbf70f8cce3560934bab5d4b13dd5abcfb9d938d9c051ff0661553ee6bac7f7a27a19c1998f6736dcef226b06ff406716af238376ed7c1912663c5ea7298b6aabde14f09630058e4c18c42c37e0ea8be50062b43e2fe14ded9a0e33e9973bd5d73fdbcf148ce578e7da8fedb2dd4fcd7a209f7d93edcd003b62df7d8c48b3c281abd56a617eafdc23fb583a05cc5e83751b61b4da15c37bb1a9ee5c83d17414648176a960da1fb8560b6d7322b8fe96bd01e8b46c357a4cdaaff533ea0d4c80e5ff2754f36b7a3ead39500f01a8b57a33470f5ff85821954aac98d80d30bdb19f10f7dc131161b9847d3d1109f9d73fccbf98e7cbe5e29e8828e86fc8ac81db97e56b8529efa7c7fa713b5199209fa3ff1f6b287f49f002b62685e25fa231de2f087323de57f4fe389af787558eae51d41372cab54f49c7e78714eb1a9aabf413d79b409a31b5a2ded1508a1fb31e762b850041cec2f08560df1a8b798b9c150bf5379875c4b47f1743f47251072e8ea59f75e396a2a93721f7b1dceb5e85ee5a9bf596f6c5e05d57cc8f113ef3589341e6e91b7fd8fdf76118f7d9fc14b0d244a00bb98d73d7fe5ea6b227a5f1a12db98dbfce0a7942fa10eb5da781e5e6cf428a86083215db58d2cd217abdb202fdcd01995fb11efa28a72744f2f7bae71d3cbd17a9f64fc786fbbe197de6cf4b5e196e34b0f99e5effb92cc70e5cbecf32f4773d1a0dad8fcf6b30178bd83f3749be5f752db568e69f1c71311803d5802f1bd56215872d92776d0335e1002be2979b14f09e0912fad036d64f65266a1c43f95d728ba656a491acb38f234c589658d370062cdd6e365727df75441310e2ff5abdc2fced7aa1a6e4fd8c40fa5255de25dc51ff86b43304afc7205993ca5262930f22c84ecf8a92f452378cde1a01ff3fad285f7dcd74a143b65facecef7f809ede1fe7d167b68453e48bc1337fd2169effd222f4278426c244e04ac426b53a52c9ed5451065a9980fef9238872630d0e090f809c88c5bf6c13217f8ba8ff9ab9eadcc9337ba086b057c78638b7c5e334ef11d9a78147ff8ca5ea2f9f27135037b2f3b136a07a8d75ece320b9d283f2d64fdf74fedea94ca3fe67c22920a19d89cfd88acd54543f3428619ebe7a440a67699609a8344fa5fd7ad0f97f184ae4cba531de5dfea31871e2aa7a62d1a51c0f734e18ac7b8df94355b931cdfcce36b97d079828f7074fb77f5ec7fb1cd26445d442ff202d7beb82e685d4de27f27f816c082fcb532fc609d02b054acf4342c2e9c17cb4deeac395fb2e8b1b1a8ed5c96f368204e9293e6593c7cf89c1f40b53b191200ab068bcfd38b49171177d305ae6e6dcc63fb80a6ede0a4869870bb97f74dcfcb513ad378ad7db1778ade4c008d65f9ce749fdf1ae77c0e884e530ff051afc3c00cbcfcbd8d719d1d14f44eff96b5bb9dfc833e8b08bc9dc154e7c7ad82b651aff55b1a28ff913eb09cc86f54a12a637e088789b3113d678ffe0f5e4478a8effd492fa47c996af4c0a797dd82627ed8d17f9d1635dd86e3c7d945effd18acefc8230a8e90436489759acfe84bf850a14de4f46efc298e6275ea0b28f1147bfb9c27f0afce5bf80caa657f23449bc3d0d3e219a4caca650fa60de1a820390aa742b58ce8f66aeccf6472bbebf70b1f7177b12fd354a79c3de70477eeb34ab14714384ca79f5c2362b0b60ee96a588c91b6de1263361d4b632dc63dae33d420191df6fdaa3ed7e0988fe9a97a93a4c3d435bbe8d9bbede2305eac631c41b3f3aa4fa7150fbfb97c06c0fc3638ba1a2aeccc78e3778e69ea6fbfb58f55968639bcc20da683fe0a8d78feadd58a840878f93f546fbebe7919e8248482f53ec3f353a04dc03345022bc6f375cef4a4c81e17817df1e4b2b57c14431938fe4ca74f7b082cd2afcb6d1da0f7c1d05baba3a95501018f06a3a0104e4115000b048cc1cae119ea93c60bec2602113c039c49a4bcb51d25c93a02d6dbaa5dcb513d2b66c6b52fbec7e8f255ac7a7a0b1ed9cc00cea8d5ecafe0f46b802e37f3f86bbe19c02550923091909b94aaaaa0ae9bfe6cefcd09eed0cd5efdc1930672c17377dbd6a6784aaeccc90af1df330d4842115860d8365268faf66c898f16246a89ac9a960b401830c185dc0400ac1f82faa76a8bf90da3a5fcc5ee70bbdbdb0aa5e8cd1ddbc985d71d3abe3054bc78b2eacb0ee76cd2ebcd4dc051279865d4c4029f781894be37889a876b8b0e2a20a2eb47091858b210448f3d5ba2ae5d41220070248e95b30600b21b6a89559401924cadc3210687187166668f1e5abcbdcb4c90fd67bbc14475d3cba5eb4672d35f10e8bbb580dc9108f7ad34b6359fc91851659f490c5914e16f4bfd6f08a97ee9d84451a2caac002cc8845132c82a6e098a2622a176292c63445644a812b9cb802862b44b8e2816a437cbbe32e29cfb4c67d74371ff20cc9a299155356b06005162b58d586d8d67214f2d4badb353b6c0893b9663b39ec47e771bc44b0166d1169d1568bb674b76bd6c8130623af92ce24696a4c823a933a27e51b0e61389d7f68b4e5c442324d1cb5c7719ba1ecf582f5ee8cf24b7b6106c1295852bcf91d96c2eaab145e765b4b61bf865208eda858146f74a2a0faffbac33a8a1ca270f2d58c8292a9faffd2c451dba4fde69adc1c8d0c98374f9b796e2a6e3240978cd0eb90f9cf238682ea7b5b4361ffff75d64111f4f589376feed61356f509a9923f81453fc1c40936ffbf83c16032da92d1164cd6c49726949ad061a20b265860c264825567ad9c8cf29c2f364b8a45bc045f6284255c69942880125d488c435e62ac7385e6d1182fc6d03086c918059268428824a4f29d61d3f2d3b6b4ac5aac37ad7cbce62e49dc438dc41724584022e8083c8ed8e108dc11141881861155180165840345b051040b45bc8a78a066da714fc4a6ec55f2f1466f99bea0ec6cd6f3ce5a6c62b1425913e7cc10dbaa2dcd42d5500f2089883e8828820826229088c0800809c41c40cc1562c6dedd9db93e5ebaf978710bcaf6ad345ebe4b17a7478e1ce1311b632d1d19afcb5687c862882886e061082f43c47486104167089e218008c1e61fca8638ccdbe90aa7478e547ae4c891bca3688c8ff9760c65af84793bc142d910eeb7d3fa057194da100876be47217abe0671f5418009a20ca2e7c358552961c2083def926172b60944d5635207083040cc1e889cad7fb8fa414c6e777f98fdf768be3b9d1f7ade87abffff6de22d3e80792e721f9ede879c0fc1a4c19cdc266ca8f33df610811ea87a00a2075a0f13f060060fbcfac37f5875cc57c47cc49433d1aab3831f3b8051c5ed72d94ee4850e39e8e820d3d12196031e394ce590cbe1cb414814386cc1a1831bd470cc7d4419ef3ae34c79eb65e2dc2d8f37030d799d1bce1b5c526d4815211583144caa031bd2fc7fe5468cd820001b4410801b012021002c02a0f5dc3d4a7b367b77b4c5cd1de21b7d85bd71e77646ee788ab706226aa85203fd92e60b15d5e5fad243431c34044183a5a1021a7e86325ffb3d6fbdd693566c062532d0210315328c3278e0c54dfda1d86629c6dd32e1ee4528063631c011430062088a414800a80840000210020c78c0a0c3d6345acfdd034171834728124b93e0d1766178e085395e78e2051c5e58faaf468c1831c2f7585b5a62ead59696986021e647dc0535ffd5852917a4b40b4f2ee4e89e5b2073b351a4343d018d8a624c50664d20122d86043ec592925a28776f8162f3923116aebec6c298ba3b0b345d83e5baa4d1c588de38027661b31c4fa32e475d84ac706605a92a6e3c9abbbbaa8969ee7692f48e968ab273850dca5081cb576ee6adbbf9ee684bdff0eeb15441480a51a4a0c3d7164d41490a0b540b5aaa1443aa519a5192ac468d989692a8cdf19bb3546989161949911223a2464f686d4989d6684d499426430a615877832df940e3f18785d319a73317a17fcc65c8ff894301284441ea51c0124361684b9b9e736f5c0263a3dd4737a15b90b6e4f4aebe27e6c71d16e9debd56d69e93affc079b9b64d19ebebd9caac36bf3d5dc74498d17e339d94a3c9d5d165f7b7767e250f7688bc6a25e88ba45199d0a38b73873b537baf4a62d57dfa24bd1c7dec425c0a9fe2bade2a6b8cc4d30cc9d59f4537e51966553292b1dd86cec2436b823d05ce82f9aa763a41b920772463630aa317619918c12e8b8d069d1d141e922d0f285961eb454d102e4ff91509a84627e9f60318f618bc49dbf68d4555df524a992f062932aa1af2520d90f8d26a134dc1e594b9645290d8f2e9e152bac254b7b3df3f0286e0f281e6fa7f16ed2ad524bb3f687c65ab22dce6fe9aaaea671bc3409a5591ae296b9b35562696fccf4b640cccf50b36896f5245a6fda656ecbcfb1a4adaa84baa8a5e216f32d779e73961c9423c899915b412797a412d1505f2b3409b5c25aaa188f372a9f27d4f146e9329b3fac6c6ed075292933370c93b9a6716e078bf16e126d891bc4e5fe7f1cbb8973125e5c8f5826d457b44114fac92d560cb7f9afb6f3bbc3b8c4425f7f74e369a33ab368c73c876f3eb4222c43a4fff0cb738ff436f5ffb693dfc0dc72ff5f7b3756ccf6e6ab8edbaafe6d603e662b3f66a33d1bf7b96f8a64f7ea2be7b693dfa97bc2a557c7aa791d3b5571da82b14fd506fd57b08d0e48a66b4c6212047304dad70169cf72f5f5cc22d5d397d610f3a42c654f77cb9d96e5a96661d1b2e440b581aa7aa831ff5b096af6af031584a5cd7fa51c0b18ad8325a78305e9afbcf9e7445e2f18e597c2785884d586c425188c653bb9ede4b0da901520ac14f19f2b4455c4d0a9c2abf2aa427513cd444f5138aff3c49f623a4f21505143c5072a305011d2a1b2c4290ea7a967b2d6622cd6fac3ea18577f581de35e2f586de8f5e278cc25b96f5b5b6b5fbcdca56bf7534bbe587489799b1b8bdde9c8e98893044d5934951dd3c41dd6adb2a647adeaffeb883979456ea9aba6428d094dcd7ffd19c74bf47ab1a0407ca555cb4b524efb52794c0a60f282e90a26cb14c19430a6fc30658cca5028cf5056768587370d2f88c3a6ad532498b19921a133f31286316c33af1986330e3eb604c552b82481929baffc6787358b721f6e3b39897ba6b9dbb59d34ab2fede91857c23a4a48497be8245591b443529114373a52c2fc470931b6e99debaf57cddaceb16d6273fc8e343b86fa5a2e058a949eaf4532f39a517a886242942f4a101d13f630e18c09043081348102991a5f2da52048b1ede43c67513c75b691db4569e53219112d4631bf37eaa2f4d5f9496ecacdecc2666962de54fbb93bedf556c71c1465b527ebf275942d917180d4004bc56d3b79addc7672241029021d2813d08182061414a03cbd4b6fcd79c6fccc05e4892d7555fbc3fac1e96c76cea2b01785bdc41d7bd1dba44813212f2e5e5d5ebc179317ce08674640e2ff81866a88fbeddcdc3b2a95f7b3d499c2862ae67883b5a52232dfb1b654449340f09a9d8747a855a82b76840884b6102aff2bf7b9e6bd663faaa7ce7d27f40945607e22f42042d1eee3ee7467fbb9414b4d60d20693324c34130c4250e3bff6d3c6b18973e4a8efadc763b48ea768d6be10725f391f47a21082be10865410aafe2b081900ff813003e18b68ec83abfffa81d47ffda0f695bc3dbd5e43bcfd6489d52fe1f22d59a2440e2553ffd5f22e596d58d66bde5249a924832032be202f959ee6e64a4bb21a5153d112d38cea4dfbd6509464359a51ed0c72f2ff454012001a0394fbaf3ddb16adc6e5067bd6f9f52a4913c9527dfbbd9de323a09c4ab5459dcd2d7eb50bfdaa92cfa5a6656b968adb5ecce402c35556db6f17839f2ba875f5b5a6feaf79cbaf25f5b5cafab590bed6be24e297a4eaffff4be24517c9be24b94f62029237ffcf4fbd73d697cc4870ae8644ccd7504679fe906824163cade3ad7703a27d8ffc9ab704775883df4f051f0b012c2a68149bb748f6b194faf011e313850f0f88f0e085ffdc18e2cd33cedd9cf68cf6f4d5b887fb86733d46abb8c5acf3a0f57530470761bed24bc5fd75f0e4f375b0c1c7011a0ebefc3f1dc756d177c48aefc83e22f4197163e40c235c3e23af6f03066c10c5b781b80113fae66b6fd4b14b5bd6e24a2b90a5aeea4afae8948f02f934a8e2d3208b06433220f365506690fb32e8f9afe18eb67ecc8c44ab112374bc9a347177e1f41ee9e698bc24ed99bb555e92f616ed99ea6b9af69ab7b438736fda87811d1f063a60606210d4da9b89a8bcbbfb1531a288d25744c8ffe7fc77011fdf056ebe0b7af82ea0e1bbc0f65df0c0ff3ffd670115165c0b862ae6a7b9454a8b64e2b6e2e6181f01f12219a53bac81cc27b4261da91ae77aab89d6dda90592d14b9960e3deb63c98fc570199ffb0ac20688f7c17ab40a7a7cdffd7dd290e7bc6fcd7d3a5f2580fd2ffd793e4a300a733e614547dfd71e9cda2a5120539546a6efa5110f4e6e3195379a02cef7ba45da13c0d68f1ed905fad89677d8f34de4db2bcef918bfbf5b254cc3d5f18d8f91d4df0fbaefe8bfcf77d9fd4f7f41ffb8658caf3a743f561fe7468d8ba36c10d13284d90f30140010098e203001200c81f00861e8bf8a8f29ceb395f72907284487087044b483046d0fb2248fa208000047a402005045f3e086c106800019007bc788085074c78c081cf8106541e76da9d9f2d28dec5e6c536aa69d954792b9b1ed0de6884ea4ca40d223d7c44aa10a1a001357cfe6bc08906740d20f91a2832e48a8721b5213adf100718a862200606661f031908492324cc2724cb27c427089b2054ff34caf3c594e75a9e14a7b3793315dab21f10341f102580901f10241f90073e9c333e1c303e1c2f1f4e140e081f4e04df02652ce0e5ffc75394556aee235a5bf4a87a405b96676bcd6d5e5a3f0510f029d08402ba4f81a34f8105be6763c4f7f97bd63fd51e70225a6f98ef56d27902e6048c2660c11f09f8238e3fc2fc5145e78fda1f3912402381237aa0a5aef1148d844446e8eeb9c7a81123445567ee5d2bcf5c4344602dda223264ce5aa12c020ef8b1c7ff7313e7c23a8bb4e2f3845b6e6ad6fc70c28f2e3a7eccfedf3209610968fdc081001908dc200080072ce0ff2bbfb7294914e73a92de88c7cd91742a0fa8aa0f18f35f31ee963a0fd0ed365288f9093e40e8cd158b5a73db1bcfe1d463dc1b2f6fde047deee3aa8f26425cde3e70e8c3c9ffd770dc77d6c7103e92e06374e9db331f4e1c808703a8febf15f6dceda4e9d301e57fe563361dd0c1ffe3f0964c7bbd6a0d00f315efb187ce1e75ecf1650f13f4f0438f27f4f0418f233d58f58726a1ac25fae23a8d9fd870b7c4dd1cea7da3e6c5ddd2669ab5cec33a0a9b250c36a4649edb96c365acc15e787177166a0c83e12d99465b784ba69517230d2df9a069772da32da1b3bc3847bb38070502932551bb0cc36c62a81094c07e603f2c1691a11b76e260bf603f376cd41b2c4fb0c3c05ecf21c6ba89db721fcf24a6222413c3988a9086aead971c69688993b9614a4344af170ca6445b4843bc4bd29cfa05cd2d761e5ebc4d10c4581c7bc7e6c622796a90f36e088617238db7eb1d9a775736711086c34d7403419d79495069e8869d42d80f6d8532d6b9436c6ec960499ea7064bf204799734419d4998d2909645ed12e45d5289058230f00e23c03bc458df23adef91831df31ed6bd5e30a24c92fb060b65b415ca686b683bc142d92cbc7becddb216ca3aa6fde4f845a22d10989c2cddc5251885cdf2869d70b89560e2c552866ed8e900351ca58775763c6087b51d60e033a4fcd273dc768c6047075c563be631b087756cc26073029b5ae51c9fb68775d6aef963cd136bb6d0723def6cf972bea6c70069fc7f8dca17342f1e693c6c8017fe8a74f3bc7737401094ade38d3aa8aaedb21aab835687935e07102ad201051dd74607ef6b88e9e051d31b39ef6aacfeab9a2eba981aa1a42749b22173d3ca535f3c12997b7799e600e71822879a7f9bbe7aeb1de575e4d022c74f1c6dc4d1c5527df7cebd5e4849f60ace91d8c424eddd34e597d2cc4dcb3872b848834bc3030715df9d56dba5da62dbcee25ce75056dc2e8c0b31d5b702c1a183e37ba3006f5cf1ff75b465aef1ee52be73b71a627ed66dcb4b5a6ba979f148048bf50bc28860dc3c6f202c7c83fe5737a85cd8d44532ea060c15f34d71bfa61b0ffc5f8df9ab2e5725fcee4de48d07c27e584337ec04c2866ed889ef59ae672a6db411f46d0cf967838af2bb63838672c9b595689310d3bcc32318be5eb5ddd66b7c5983cb1a3e6ac0a14616a21a13a441471a67d2d8a5f1048d04a071f51d73d0c423a8b7a554e7d72bcc45f6c6a27a6725d4f5a3976c66ed4bf1138a71b46710a43c83586fa5a49eeddc390adb6eae65e21286860d680899746313e7d0f802581580f795160009e38ec798551ecf6fcecaca8a8c554edf9b15d23f26477cd3b11af2efd25b9f6760a633c0fc19e567f18c113e731dbf351dbf1d935749c76fcd0c3266bc60c60568c24053f64cd10851343dffb58c36e12d838aece9ad63651891a107194590b144469231da18a38531a2c6d0408caaff6aadbde3e8d3ea991de768eb861ae36ea877a7a14dc76fadf29cadb53dd3d6e6540c29319efef9ed9d833058afe7d70b86c91b51659ebef2afcc6b41a545eea68593af3c6b91538328cf59a8c9424c165f16acaf5854fd7fc6a2bc392c9c84536a1eebd77f537bd7a7caafdf94509d1ab2cd2bd47c5750f15fc95387b20c82e4a9ad10c20ad967c5065544a00a2baab0553c3065e360ae6f1b58f1968c75b7ef5da702091541a698620a2c7477ae54a790400a2c3e29c64831e593c28128a8e0d7d67996c2adc8b7897bb65b144164def8c89021f344a6c8d5507c01c58622c9136a9e98e189159e68fd57d2d4b61bd6c2773b47b98b5a27e070a20a27ecd793ef2d8e63d667131168e26b820b088e37db8c9a688089364c8cc104d5c7840e4c38f9af31572b465fae57b5962f5166891f96305aa2c87fe57c5f25aa50020625962841c7588de1115d9e39d6bb12596b7bb63dc668b5965e4b2f2e97c64049628fffdf6198d290b975e6dec1604a433fbb2c71e75de71c186a0cfba12d56120f20c10024c2d4cb7d34125c9008aa7ae71ddedd110d78d8edb7881fc1a3dae88825ffe63e32428d119f11485ff116d288a022aeea57c498ff5ac453115ce3720fc08a523a00315f39cedd06b0640018105155f149ab38d729115e9c96669488a0ffdacf527771497ba62d316a5eccd4bf4bccd3e3720ff1e6ff71b9a9b9c521a6feff297599fb1b82df2190be7251883ca474162288aba73a08295c0ec2b5e4bf20827e07f19406f92f0c02c28011779892d223a719ed981626e82b105763ea07c4eceb3e4b2068e53faca9f4872f7e282be64d1df39bd9693f38f94ab379f3c1cdbf0f61f8a084eff4e7c3ac528c451fc41698aaffff1fcea27a83c9d13d9ee14e3a6272eadd11338171a29b803aa6f5a0470f42f4c0ff37c0e66e6b1d36e9b97b3ce7bade7ab7c371ef1bd8b109e2be372741bc25731837c1cef7110eb7121f7b17a34a9e830272f8210729ff35e4771caf2dcb604267b93b58ee4e04ab0de150a5e3f7c4a1cb75719e711071e8a9f6664dbcb33fad727796bd41cdfff78dbb61aa8638e9062b373420d585140b522448e5f47094ceaf94d7abc654a1acc6527a380aef26d92b37d49742597b85f6f1e66acc866e83179a0de17d6203ecbf86f709ac36a4e3b7c66f07611c6fc97c56ee0e8202a0ffe5ee35b4f9af35f06a38f245cd97305f71a78df6f4fd81b22c6a623386459cc6348c41c38e869f6f063633d830830c77c80046062ec3065ec8f08282172731dc11c3133174f9ff6af1966c290f6f493794d51b04f19527240fc79dbb19e77ae721a7adcb33d5e6a6b783b6dfd082d8b43a7e6bfdb6703ae770d985b1485d25b6d15ce83271d46e954dad9eb16d8cd1be75a51939c96a4a46444a325a85295633525a4aa24b4a9c28060ebe18807c851a7700700086605803830d3008c120642cf34d67b36c9527e5389d739bf7469cebf6b5dbfc6293c668ed999659c76db86cc3bbf330bffb85355e58a1f66c2d8cc5dc2db72cc6a2a5318c4570bc188b7884e1232c8245384ef60b768d5f2f17b67021d71bc7db2dfe5ce8f9af386a7f2de4f12d8cf9ff6a790bf66d0b4e5a18b2758d05aadef8b120f55f3f169e9e7e2ce8ccc2902e55631730ff5f77dba74bd9e583ff71dce50a47aca0c20ae00a43bef2ec838b42dcdb26ded26f910a54a8f045052cb56f729bb39e8d92299849618614a2a440c485011f17331f17a9fffaa3af7959d4fef02ec95ab294be2c8feeae5140000a07402107149e7c5bde6c41b325cc165b5bf64709162fad3d5c73c6bddbb3e1ded5bddb53d3c3a1977bacffba3b6f8795409e11ef0e1e143c1a78fded8f1297de3a8c6db36b198f835d037656ec6cd8759dbe26de824971e3a84df6a4248e7b17c4e6b5edbea8a8310f85a5b573bb2b58e8cdc5a290ca5377db6314ebcfaaeff4b26fbb9f41ffe790de661cf7ac4f6912ebddbdf424fee6ff7955918c83f9b8e53cff5f6f0d76c20d270c7d27d0d28c7287b2847dc7ce62bbb09136073b027d85e6415f6d44032111409ef1ff38ff9165fc5773e3a89ecd2d66ca33928d04478dbd4b466df386fa7657a86fa86f4b94d54d5a7b69586be53e5bf76cee972823774630c622c671b48d44746b7440e8665a24f06959f3f43251dc1e69124ac77137d9ad9689b564d162440b04b94cde928fe4ac364ee3cec58d6f9a36e1cce0b8e0b4e04810d9883b884e448ac5e07d18e32fec231413eab082ef36815b13f58e23edd486b8f3d352170f6dae16c73f94f2cca2bd9eb7b6e9b0c9c2370d6c7fd8cab009617baa7ad3ceb4a376b9cf13e8ee4d7e58b877419e2bee3bcaeebe9dae9a2bc59de13e5d26ebc757a61f26d692a52f5da3bb7357c56920debb9ae3de85d1d62582e1be9d686bdc3316ac88eb9d61badb9692fb76b2ddded5b877c131ff815e36893ff009bc208b9598afe6c65994fc9745e8ef1eb30cd1778f741c63505062f4790455fe430961798345cc7ff061c122f415cb902b646cad8e7bb12b2fd4ef0a79a5a7f6c619ad61783f2b352ba595d97ffdacf4fcff119313c5a1def9ab924795313beb9c6469ab56e5e983af8ad057f99a35fe9ea6fea53ce59e721e57a3c2c7263109e351e1c0690da7a96a31cf97698795acd35053039acafc73dec3512c37f1c98b6eac894a5391ff4adb24266b6b6a5235a1d7677873748b1b8f9753f3a3b9a9a1116d0c6dca478bc2f4e6ff6d2d5cbe25f931b1a6b89932c79419be29254cc99982332333936126c2921a324b5d76df99fbb4aae53ea13e4573d32636d4d8525713d046c5ed6aa25d2fcc7177145b487446d2d2bb77333795250c2e8ca8f32bc5968ff429c2ccf2dec24f898f638c2a2925bdf9afe5252d95f2925f5299ff1a665b520a49acaf614e5a80cc7fdd49b122652c4f33bce709bb531e0ef38cc6a290790bd5ba628fa2788992fb284efe26c17f51585f4d68c3f36742d5bf093cc8de90dd2023e193b16a88cd738bdb526cf3d1480a40b272e94c35d20550c480d28322c2119b23328e7847588e18f88ca68c6c463cef68986d38d7ef78690be7bad9f7c84d6cbbeef9a7d7b3e192dcb75691cc653b7988cd303fa1f50747657e96773471d4be98bcbd3dfeb072d1d56372d38ac4fc7f45b848a8c802a2aa0b85ee8f48cc4714f55fc2583030b6450db1265fcc01275d38f1a27966815f095394904409554a28f2c1d08069013b3f98d00e7b0f731436673677ab35b297f24b2dc7e6cc527e522ca32d12482021c9901a43420c9d43b36f88c937444113369a78d1448cb59c4ac551db7629a5548301979a38d4a7ce559745d7a63af2961c976dbc3c7b23d5bb3ca90d6353c47a93e4de623eaad66ebd74243b0a3136c519d558ca4daadbc45b2a3ef378fba6a1ac16c97a2be43e3fac6c3b6d906d714b75cfc6332e696fc4dcbc2537f7482f8d567e6be625c99346439c07f264a704a1109f402b36cb7f9c2717c7e91c82586ff2c4b8f0d4e398752018e61dc5cfd1039fa10f31c5a1f24f420966fc0795b77332779e75093d3b2374f13b2354f13b238cf99d11807800020d5eb87260091d6a1ad8a99033c10e3580698005075035e042124f6fc230f5fc5390c6ff991c21a650a02962727ee8f5e4889122a70b497380106348cf1308ca1eabc61391da086a88504140d0041aace93241ad82d754a5aaf6865a39f3a464072b799e2a31cf5395f33c67ba3c4f18793c4f18d68cd5f39871020699e701833ecf1752cff3c53f8f17e5f374a1868aea79ba983d0f1595024a5c4d7e18e383d8e731c3c9f3a021f33c68e8f39421f53c65fcf390513ecf186a9e678cd9f38841f53c62040d79065ec80779208fc3c007799cff9e075a3c9f3248847a2288caf5e868571f1562f2a000cd112a0b902c412a62041f480e7821a174402a88373a3d3bc4e8f09c50e5e4aae4e460fd664878478f02507e38a20c04ffff3e3b2f3240b70c7433f9e300795101ba99ff3823082d20f58f23c2d34cd8e180e9b75288436d145bf20113254220f4ae69c67838d4b210378563a6827bd659c4457a2be1300181c9ff2b1086b0348eb17f1c10c63116ca3e58f2af4f31cc384a827080ea8e50060fc4f98e085cfe8348204183e3cd75bdc30402ffac1d26623c7dbd5e4c80febfd2eace517167713c45cab7a53a8700f475ccfd1c733f41e0f21d73dddeb59d0fdcbc020e2800c1ff43fd0efdfe5f67dba296e1238c8fb66884cd9989a3b0d28f78f916ddad8a1213142d3ba725d6792776c2564410211f3959c94f3a2d4c1fd4b6cc4c40ca89b99ba4337afa01aaf52585a989456b4f8989f8812d1632312acad58ca094b3262a4db95bb662363165dcb4a454a232c2073426b513aa3c29b9915328cf4c4258e28a21d14cdc7b36d916b5025d7682def8074105a676828280768288ec00b9f97f7ae91e69b65bb701f1829401e2c0c815903f6ae5f2264e1a57edf9e7187f901c21705a2e30fe39101e76e8028b109f409b5051bc4d2cb616c81c6982ec20e02d48084018d0caf2efea7b9b3b49acf8ff4a0b65a10cd3c01209172148405060c8ce8f0c3b3f687ebc1936d4b38d4be3788942d916b58c3c317995fe7192b0bebc28024be87f038bc373c466f97a59f2f6649db080fc53a40b7ec7c7aac441f2b3e3c3c33b3e41adcfe2c103763c70f34f43f2f6c4b4e3810cdc7cbd40f0f5dae9a089ff57124577a7bf80c8bb49af578d72dbc9ff715838601ec786ff27fa1d0e1e60ebdd2e0e8f95e3b2b74dd368ca6e4bc1fd16894bfd5c0af786a2775b47610af39d617cb4452de3bc9ba477eea296c99a5e2f13e3f81c29f2ff3e3b46b8e0661dafcd45de783c880f468680768cd09d0daefea7c5a261ded9a08903e942ee02cadd7027f7addace5ccf3820a0172f7bcfd12621c65199d376e89bef8d41bf43a984a284a28080763458f3ff424ebb8637d28e0663fcfff93b1a34ed6860f435d323a486c88363dc2dcb8b73af6de22d60edf5e2403b190cfd3f0c61ea58e08affd7bf43c1d3f7b689ade09bde4a55a8f87ff2f684dbc120f7ffa1cc1462853079d00169f5369e9d22bcff2012ec14e1e0f9d8b9c0ea812c60e7022fff5b89811018f8c1a38f0b3e2160762cb0fafb42b6e040c81116e4a298dab1a0c83f17478c6c6066a70223dedca689854440772ab0ff4216f0f99d0ae87305ecf45c3ded1f840f0d32c020081e38452eb0a067a767a877dafe811c762868f3ff539e98c6cd7ac351e00775490d7271bd5d21fe176287a78effe7edf0088db76b1cb5c313cc81266c094c0991d78bb62ec7d8766d7c6887278dc844ca4ab9c7dbe6cc7462ba3419b6dd27b021738fb64be4f5eab713044bfe7a8923e6af57ef3d8115617e9f88183f191a0287cc216cbb4f86b0edda6ebbc601e5970ef570142243af17cffaf57233851b1ddcc0dc2ca14928b9cdd81eb5631eca10d084d28780d6874798c7e14ec2e126f12d9b25d877c9f178fa7f3c86bc0decd9ee7787952e8f94dfdc1d2d7ec7ed8e9caf2dfbb521c0ffd7363b6d203880160788e200f60044ecb8b29cc887db01019b365f432c665a722a950d15363336416c8eacc1638d01d68859a3b4e60d2086014ef83771682e59de4dd2375743c2b76ccefa2e6996baec389e4796ba6e4faab9c5187de9dd1ac74b739d0505f6d2003d7558fdd73ac0dc5d1df62d146d595aeb68653a2440c7b6f6a3c3febf8d4507fdaa660d3552d8e6d35fd8dc373573f8310795c637235a5dbd3bce21660e3b87d07f95a34d0ee520832447971f964c0e247acd1bc79baf57ef581c568fcd9212c5f16504b9ce6008438aa3274d9b345375ef9e86f7a569a5f9e050e3ff2b6c89131c52fea1b05cc1422b1c12bc91c6426169b5c24cadf9c696375e6ef4e1c614ede7133744379cc4dc18a29baeaa2ac7f1ad747535fb7dc5fa36de7c35e96d636ab751c6daa035c7465598d950828da79cc6b99d650383ff7f6ceedb1a4eac11c3b74697355a57ffff7211edae33cfb4d7a5426ba8460f6a10a5e1260d1d6a3fc19e98fbd6965e4aa4bb5ddb395e7ec7cbf545630f340880861734a0d0d841834801a8c839ebaa21e614db90e8cb5a57b5ae8acd7db32e57e599de2e4ee716d66df389918d826d51cb6643f83c0117ddb0130c061bea982674d256282bc053ab3cfe675656ff6f25f5382b6c9573e434b39d718697ffe767ccfe8c1c33d430a38b1945ff559b5104cdd5ffdb308368c63c1abb8f9c666884d00c29a3eac332a43abf37ca6fae8cd95786796e32a8c8f0f291e1840cfaff63e4f195e73d0699ffaf639c9dec5c8c38c43839ceb9dbc57df7f1e4a1be323140086f550b55b56a8333cea4700649186884a142184766f2305355b16be328cef5dea8f3ee9a20d6edd28e38d7b9eee291778ca338dcb71bb4a47b638c8661cc4c173354cc5850abd9eb3e54aacf39130018b36a5bb12f22f0f78b335fecbed8c08b2b9e350ec393e370df7a23b689d90b285e7c1754740176c14375866a53b1fe2b12244890507debeb555ecc497ea998bd3d96d6feb470b86faf17bfe69db5c653ac49e80febf5b22d5156b9b8828b1b17425f3b0d33943593c68bf3685e4c450204d9b894fc04c6cf4bc4cfdb2fd8c3e17ec17e41184c69a86b4c320dddb01368f66c5bb4f92da8b6f092a3b678e23edf16f4eb16ff1fafe7a8b454e6cba26468000000008200731000002020160c066452b16038a4d70114800156ae8c5cd59c32d2231da814428618230000000000000000030881ca10e9d7ffb1d6613b67c0b50d9991abac3ac5f9089b0d1ede5c25a774dffc44e5af0cb19282050bac40c4cbd76ae7b40da7e0ae343c447174124b7ff07ad1f60414824cfad94ff86ced03e2e4f5a06dfdbe640750e910efc989a73e384d852d9a6f5e8a4e8d5379b5687f8afa151f5e3ce80a99ca21326d07aa3f007e983cea4e4af67e7ef21282170045461257c937e5884b20592be02a06e5cac0cd9a85091a12c0d1aeea73010a999b7550c578ee94e1ebe52e590f926425c8778f41d29026b8df0ed3503bde1ff995d2e73c146c82848eb411219b1f19cac45017326914396f83afe062fcfe09761232e02c469c9b7d7f8124edf3d46809693c10e6cb0839a57c8f3adf54af29fa77a978b1a39a536565503b9b4ddf47aca12c9375d7052b371789f7a0d6c57476b926beeb9983361bb370c8c9d342654cc2133958aa8840fe8c51f7370084179c7f7862415f1c115d6143d8157637b102eac8856b44036ec58797e3c085db242dd1966bedbc44fb1cec2b0adcf3315386199539427c3b2c4241c31a02b0c2a4bdf3c6f149d9c032a5c642012a5581c998145af6cdb8090e5fd7c77206f81d25b447a88b145e8ff4dae96b72df636d2dd63a50e2cbea5e82ace6d43d8f9831dc0befc601e9c35f10f0ee94bf3c28aff09bbf9eb635ebc97f359748611ca506ef5521e1a1eeca61c467093f8136458cabb503f61a73afddaac983f458505dbe42b740c38519470401c3f02ea54ce6fe28f37d6441c68cc914c2ef7c6932054691004dc5499dc947ffc56c8a4fbdd9e148b70cd81335ba5097263f2d03812348c6e37ffdb37b8e6c01b3be511b883ccbba921e7bd32751446a404c677a4cb1a4c671c721d7e7f00d1a2ee7f1b24224a39dfa277fc17c30f00e6d8dfde9d07e4383191ab06329fd107f693ee2db72eb1c8a1abd2878438cc72411db62b8c0c03c73ae769862cc22889306408f38e07f0cc019010e003806e08c0007001cc38d1ed033cbb1e202bccfcf9f97f7f5d30d50866197721b1bd5ff6f77f11e59586083b5d2f91f1ee5f4e397dbbb5bdc9302a407901880040092014823400200c900a4112001806400d208900040320069704331a2806a939f8d49805b57396f964f310aee0dc6e0840e56e23695348b810b31f0827d74bc4294232d7ab6a301220a62ca5d604728e2ef7513777d37e9dacbb660247bc6ecf4157d543b4eca09fbf60fadf3df412f1e64283775ea515002fee4b702b4654bcb531e08d121e972ce97e1df524782048c19f54dfcb35f338efeb65d8512eb3e1db9e8f3193df9f113f8503b9d0c61d23d42d8e1a2bbdb696aa51dc0e12e7ad6af80e39ab0e1cdb3cb4560f2bf5baf055db6a1baebc32bbd3d907b7bc17bc64b84f0c0615aa5522db3f93a6251d0d1fc0b1f6914724a63e9cc69f9dc511062d5a1980c9a9ef221ad27f7601f4d2f3416bda8958e882e2a3e3f4cc7ac2dba500a105b5c3703c57929e8abe87b6a08b9981fe19b33539a51a6d3487ec77231adc39b331dfc9a8d0e0c783b629217299ea42706a07f60777dba13ca17902adfeefc8092f26c0a5a64cc596428b286c5d8b35f50897069bf70f2cea2af5523f5288cab95170bff95791fb68bc70d961a881b235bd1afcd2bcb0276a74ba1757e7fbcbfe6ca16ca4cb787d2cd631739263895dcf7e8bb12fd064bf3a2ed5764cc782b6eb152aa1fb7493b5b8f412bd36f6e1898444eb5120992ee5982e02542ade1498ec6f4649b2dfe2e204145d06dec28a444a63d8eb2661e87706479b2a9332bf5f1ec4227e4254232c0fd9cf2dc2d615a3733ccdfc2239a1a5a43d3fa0aa0cb4bc4d589df9aacfc48b4cfa980b8dc02307d30c98676a490a09a4e666e7f118cd6a3fe16370b721766f0fe18fb5f46da24c49bae379571d9d3df5c32f936ba1a3f0971fa3fd2aad4ea21187b70522779e0642e90a40ba8b17deba1945dfb71fa3fcee30dcd7d7054467c962d53176f9fa4425a3b17cc7e0f70fbce6b090406feae13370f20b1f8d1a0f68fc0e9d588e19a553daa893e1cfa90ffb75c79409716afc530eab1e8c37f58e17d145911ba14c3327bd53074761a3cbd78ba275b2d2fe331cd1fb2642c6445e604455a7bbcabee1aea5f2e8651a2ff671e2e2e8d337a82d2b3a4d9076d0d0876b3c95bc03857231f603f390d69bab1d0e00312809910dfbbce3830eb9d7fd2e21a6fbed0b692885c30c64577eed6387c778da7a7a7b43de269f2f597f91aec9d98d88d11a4691c471a2d8dd49f7614135b0d48651abbb6cb8ba9e1002ce04817e03c38aa504011d0e1183e3f9e288b439434412815dc52e017e2750b65a77088a32d0f31bb4423572b0407bab110030e299e7a979369778399c7101fac0e5c77a3af27529978e4272483c3c6232a6d7b228d2cf8df05752c4cfc8ade93f879248aaa9ee40e935479df53cafcc6c9ed84a6890a4c24575160a83f2ab122e30191ae554abac8ebb61b4eea7a0daa4074e23a588bd00dafe5ad5ceb68d2ca7ae6ca58128eb39faa972baac52cb278716295ba38694eb59fb580922aaad482cb1fb87f66129f618f9a88856cc061dbc2d2525a7a199ba48b92ac9ba11805846044bdc88e914b7a2e48880db9b48fee8b4b70096bc4334feb477e4faeaa9c9a7e4783469011619d9eebc3bf621bd08cb981e87b52df22bdfb0e5e1db6f4300a5caafb48d1ec30195de41d0bf8022d18e1ed80358225ffb1b10ec3c7c0e11d6ab2f34579bbbf608b94b39b9eedaf170033e90ef385fee8326ececc78c2f7d62cf4c91cfc912014c731d0553b572756bb0172b1cb6907734efbf0659250b35ab93d22b18beda64ea7b0f468cec5626e68aff1fd26184a4fa1a1b5615d7307da3f63e68c1da49815ba2bd79b46197cea611e8806fec097ca7f2c04dc427877266a625d74706fd82b6e03ff7c4f8e2eb30079fdcbefac5b8fda923a818a0c30ade5923e21ba4c89c1f97a260f1885b9050271f96a6ddaf6430c0fe4646a0bd1065b2c9b574c06c5a1e3d62eec2ec117888641f033310e27f132138524764c391898d53df6f4df92f616a5b7c759c781f8ac35eab4b8ded84f1ff5c39e3ad48900a48f921d7a1b9c44d1a5ad69c91e0c83230c61e3011aae6f4d97a2629c18da9522bfc187811fd039c0d555f1f3d639e44a20992ffca217f329f4f9886b54a3a803ece2a9cd69997c839ab45bb4ce6b8ab2b0c7e0549f261dc1312b39ba4aed0cb5f99b4bd1b12315ea1f03be7cce8131481697b44343e58916dbadfaf0f86e50e9c6522ee64082bff708189a872a832af4c0b83892744d021cd7ccef09e0e45e9558b7b366f092a2f41c7e9624b664a42ed80d835fdfaaa85cf9299f99884b75a973280b6eaafbfb67810de33348f8523099503e51cceece19414ab4df5699be6638fcc2f5941d750d3f403a4c1460d370ba4fe9a98954819522fd2f917483e4e6f5c7549ded536fb5a66fde4c27aae5050f6c2dd9d61a1cbb457f0c5543cf77e5dcf8ea8fafa511167702f7c7b38bba60285b4ed364caed21e7bfe8ebc66d9680fd186067f9f5b773a6e55ba067daf4dc9c5d9c188d1f64f0e5a7a1c2c392f0292f3de61dbeb90e64bba1d68be1910669caf70868b7eca2cc562803943dfc64bc09cad6c5d2b233d3f7776f41d7b9021cad5124b92c5b1c71b51eabf88d18c1f45300893a14ffa5f381ed02e83e43cc4cee46776ae981c85bf7e19a705bd9805c0d77ae7b3f9647f2049a9f7b57f399662dd2d01aea9e98e902ec55773970b3a2397e2f46beb2735fa034e56dac6c745af8923db9b4d7395f11b855f3eacb6abf611e985f5071a80c72f221009bdadaa1f98b7a4c2fc5bc3671e63e820daeb1ae8feafc12adafb698fd3bdd696ed3bdd22b487bde7ddffd782b9ddec392fe11ea0fbc1ba0b49e537887de0bb58b7cf1b85ddb5310249a6cf9ee8574a2becf571f41db3bdd1b0479a66a3049031d89b3df39f027d07bca577873ba881e61c3a1393c1d95977529e1f8d7ab6e8d882d93e65a288919f4216da2cbef54d1a14e001a45bc8991280240498378a385efaa093b254cf1822f45e1e73bfbf0b9cf3724beceb3bcc519ee86e8f8f916dc39e96ecfc4713eaef28d7a6886be063bdd5d3dd7a768bcfa12fce8f06185530061f224a28a2fd6890ff55377a748f0afd0c26aa7ba903c8aa420208221d04cbd455d015374b4c42744fce7882fcec6c9127ff7ad2bfd109f01a2a312dbd2b80fcae7a244d9c5e6b8912a20a1b3b71e94962dc4661b143a0d44f9a8f0d648ab318d276ab8c05e9c6c6889cabd04cc035871b291f63119d2683820124e8e7aa1664f1b3c1bc360c5860a48c9477ee2650210cd31f41381de0db41a4b60759c6228969ae97dae33673daaba0c7a79c981b16b4998363566293c949c230201e22ce576bb0dd7c55bc80bc344758ec6a261502bdc51d97762a037bb2e7ac51183c1e94f1f01bc279cf1f5da45ae12660e39abee6b131f0abc6b716e58c9d8dd736bc375c10a1c134fce8a3fd9ecb4589271d705eb7b1a7145a4e3e2acd03b2eaab8b2efdc50487b3ead9d6ec088a38d19eb287b9bfa2b0dca231acc5dd1e811fcb3939dfecf5b87930b25c45bb16656269cf9e610a5a32af0f15037502c2ff24a8145bfcf10d47f29ef220519ec9b8024ba61be459f5e8b5be01451f0e30af935e10226980739d812c8e0ed8b04e544356db39082ee0b0951b9c8735c010a18759348614cd3f04326b7013eae33502404ac202409221d8b1dfda43080bae0729bb18bb4abc741cfca11b2125a35cbabba4fe8a86fd86de0a2274320f16d0d6b4ff012960c7a8b2292f32ec8066f170600bb2edde7194bfc40bf2b591f1e665233b05b2df69364540ab26a9b8db1edd6c1890e249727cc7859711773b54170a290d0511f00ae1017b81a7cd7432fe72fea6f7c6fbc6a3c6661ba9db7025ae022f1dd2c791971d142a7352f8bd85a9fdb94127ceac5e3761f05cc1dbaefee882d8b5c828180ad0bdb2603d1a6d14a10216276fb69912a04906b5a24b4064534f221e8d4f3b15d14613ac9b3483eb574fe6b8e2f2932eb2dbae966d8c2a395d36368cb26439651fd02c8b69499416fa8e642a29e4e52aaf8a2f83afe34695d5bc1a259a157a9d71a6f4d7ac217f7233845103114439a93222829335652c068cac0c8108b367b2b622e18ab0ce25df9f0a71a04fcaefc2f74275ef46f7f7d47c06a2ce732105a6b12cee46e90c1debb47844853b1348352163de9315ef46230b38f8a98653d531808dc7d06516715cf2560d04d654e92e07eacdd05af14f8e18c8190b991b993069c6dd6dc89775b4003d4206276584791fa82b57a896eda21cf5a7ce8bf3b7993eb9cfc36f4c2d3b4646d198d94812f0734ca806692ccc3b61915e1d0f02fa283e39ef8287174cd412f2104a4356c90ffb2711d619953b832a5db732f0dde7afe2c842c15d9ac81a53ea9132bf05689b0fde52931dff5111aa68e4a3a3187e59d3496c5994f7c4c145db658a21a590bb92becd20584e13a5742e4de86766967e7446200427285fb5b8794ca0256971a9adc1356da19f733cff8c83718257ce3f4fca089c6a9b29426b44368874e3a05070bbb15cab2460322476b62c499c5ed6670a1f55902f530724a84b7789bc3abb790b25a0770dd25c6d4db68394761924a5bd84ba7f1e5dd2197b776c3ebed26fd60ef30836889d19a86daf6e162b26419c7a9c66c2f8bf19d1dbdf8530a63c9a1359e0b9b9993745d5236c7a46cc4d0e06c5827d38a5583464366e1fd15c96b8579939d5b292173d78b61fb57a8722b0695c31a9baffd3ca9989283df5e56e447e2413add0baa2335a5909545015fe002f062032ae1de9d1c7ba939c3e8ad154c93c4fe9035810ea84807e72b901db1667cf8e77069101094461ff026328511de32d0dd04a119a7a6fc12c333d165b0b36aa53b83ef55bfb30c077b432ab8b836a293b20082e2588aded981433e9913c3f0e5eec69c92f4cfc49c10e9df0bff8ae72f03feb9d96f47457d23ddbdda2e47f16ee65d1979ca880d0c3625719d602d4ce16a0e467ecbfc7a607132d04a003d763177cc0a5142103dbcdfa652e55817c359c79554ebccba3e003d1cf06e11251a989775f9c1bfcc245454191458ac32eafcd145128d495f6ded6b7c4db8a1424cb8b21ae4f4ab67c39c24ef20df96ebc6bc6d03bf63838fe9f363fb0afc92e1d770f989386e7a87e75dd0774a2d4c3b5e6d78d4eb7e65e475fe3770399c6f5ad74f819077bfd3f4a76210be50f8d7e1848de455b94782022227062a4bad13fe04a1d358d967dcc3355e8fb34a05c457c55705f95b958a8a8610d3c5186bc5c5319eb125c125bdc5748f3a6b35e46d294b388e27f47d5762353802091b4e45e0f4b07451555f458a61ecc53ffb29abdf58810c2cce9972c50569b455b017a0589dadc8376c20970e16350c730c650b7b2a51f2c1a41ff927db466a1da2bb4d244e6c9ea6cf43291853839a5b630760195a6e37914d4c0a4ae90882d83c95633f669efd8eb2fa925cf461ae4ab0cad0cf41cff4df67444f1ea790276ce094d906edfa73461bcdc14ffd0363ab42d337ab0f8a03382552115c0ec63a72c217a92c8692435e00d32de1ebe1085c21814d48255c99b6f027f196156b45a84f0f3387a29649ba2ceaaf310de1a5e080a888c9b9cabb6607a1ecdcaea030ad61a7e7215cf21bccc6df4e1b0660d9f7d21931449efaca16988facd79b8d29d9a399bcc4ec1bc697bae90c1df1074891965041143c970c6a38179aac90e08a4bdf8264beae4daf1cc93b8c2354c2ff58e72a1be43f7b340db1ee0b5ac5c94a2632828ace5af1690a88e64b9cc9b871a6fd9683f00d203c1be2c7c8d7704e7d0a1d1c062c2c7e84062d5d65385ddaca52f93cb31d376f6f8951803a213f0c0c743edba823184723cea50fcbccf077b0ecd604629d4c913cb089a3b6fee31ea65861d1d11b901867e1422aafc24ff817a8c91bb81f93c58bfab9a33f5096438a278d634e164933caa75c8559c50cde263444c22bd33772e6e62c412029385f454e7551d6c3956d73d70b25c3e63784cba96d3670a2e300b926f2de9054d6b81adaf8bb2ab5094ca05be21f76a4da10d9fa1a6898c7a682e7740e6e176e3a368dd9d16ba0749ac0ea3f3bc1cb0f91a6bacfbe8feba2a28f7802e9140c523b879374936e046f62941f14009c51caa3be36feea6bd333696e681a89b21104793ca328efe8bcd7fd6e154f99362cabcd394822dc6575d2e89b1668a374acc3d0499b589c876ae033d37f337d30c1d57c41ccc017b5e1ba593557a2fd92b43f074d8918f61c6868da31828ed954cddea99083a06b92093ebcc21cdec46514df84cc355dc6eb93838f72efb6862befd5562038b4cc7d29bd2c19e8744673aec9bf0deec295c109138bb6fe21d3dba4f8781f77dfdf097d59d7fb92c02d59ee3d3a865e40d5d5642d8013f001b1c214700c117a4139169dede920e7f3425440861858a380aeef708bf486df2a472bebb29fe685b2bcdd26ed52f4472ed9b6c43a231a2d16659098df0be717ba9926192441a319de01dc2cd674d6b11a2066f5c793cdb224ec320084760ddf6fa664863d38737da9fff4e0de9bc21441098ad69afd775bb898a2215a6e33e1965a3dae3074f4b68921a596357fbb97c09a0c8b324febc83f9b361d857523edaa3edc91cadba0bc6093ae30106e2678ecf7c3c7138f091dfc73cfe1dea0de9ffcabfb38e7b4ef32bfce1319d7953c8806d7acda5f92532c908f10017e1f5df425c3a389f36941ec6abf27a6d6fb44e05140fe3af5fb81ec7762e56720f593f34ae20048d0fe09e78893f1cd69570069066b999df4e1d354d9548cd41bbab7c66ef9c49c9227bc07ffc91eb28e9670d47b60554e67b2b89338deb444708a9f65b853436340fa48a1633f336a36bea4cc1e34a7ca3a5c7987a53594b972d652cae9bc80a28743721ee51d0e4f66ae61cd6e2a27922d60b9b6747b891d4fa48820ea0e35b9ac5fa9deb490e8d19ee76e1d0e57f802d9a8826ec8f30939bbe591b7e9f21cc4fb90fa1a1cd2f6149c2352dd703b1324961a60c9bb9e698f1fe1ffe8eb4e026af916234d922b5a36e6feedaafe0faaf95999a050d85471e6ef53e230ab3777a30b532bd63b063db216eabcd2df4cc1cb60771ed4f3d2f73d7b243b186cb55e44cc5a9caa26382170340c57a3b2a301c03f5c547210f8e86d596bc5d03af377a3200f8f14414de61c744777446323314d336411224c9a0bc58d94b6050c0c180f22731d1df7868b39a84211ed6ddd6ef5652f53d571f8f85442d683d4680a29337855e21033f9c575319ad1d314919865a0aa7b99d864f2d9e9279dcb0c6353760029521b2a8ad435f9161343a979c9bbb299710ac4b75ee6bbe2e0a2b9783a664313cd28eb5bc1fc1fc799df7b8041d491427c0c07e2ec33cb732431362e81bcf0ac4046986e0af582233de0d923040f13487ca52f964e908fd6eebf38f3655aa049f82a919bf49e3e31c9c09a40256f35a723f45f14d165099d0371ed4b7473ddb00808e1e0a471bfbc57275955b4d4602c1e152ac14d0540e4d2ae2860f7920f5a966784cde2b0cd7026e55a64d6a488903b1be4dd09a3b35592c24da515a3a50b21055372833b2b86f6f502ee75c9210110dbc6a980e00dd5eaa1cd95041b532856bf9b6de97e8335fd29f0dc566250b0d9b32f2a972d4c1c678bc59df349318b163a90104021f2c166513177fb9d4f04ee67a5630794b1d869fc72de06aa6853f7cc1eb447ff9d2080643b9b5ed6eea30c3a3eb6e4eed512e9adab4b1830e7b8d4c96d669112532e588f0d321beee20ded696a54dbe9c180bedf4cf226c190f84921f72358ff659d6a9171ecad32fa73264d162273ef81583b94b2f1dc47484d20d22e534479f4c9c806170eaa0d6894e8015398a55aaa407a93785bffe9cc01913d0490e421e1f7db9870c6d0f54c057dee37315a8024b5bf1162ca2ba40cfb30d81a626716a2103b94696caeb26af24152937ca1e3c57ac581436b37eac7061fcddf1f393c9371df347821df7bacc0711e1bdf46ff01cc44c6208132a4f07a067f0cf4cb0817db2b8e8f668194a38094a2e7c8d4eef2f36a9ce2dc3ce6335ba490a0c3e8245b83d788bb84f0b91985bedc020b2ce8e11e5a4dbfb708f416b1671fb226ca9c432bf32bf6260755015ff7f9f74351fe3c781693ed6020151d9dcd9ef13951c1dc6e01c425a9c2b289e2b3f20f205e60556d038d3afffbdaae390d1433f5ea613b99fc982ad16ebb9134574acc83609f2b0a1ef8fa21942f01fc719ab9be39186e3ec32c2a310160b104a19f7d9cf57159390b45d285e6a20c761b32c0f0d64067093ddc9488b474a966ca0efbbc387705b442a3b5d47b6202fc78cab24c4a81df33b89789a34b1ceb33515eca5d9d5621cae392eb60682960f860c083104d9b08990cb157d0a64ee87288a227b679faa94ad3532c4480028d9b8b7f06c3895f596e607aae81d8655dd65d76b1b3456061d38809d04e35fc47a365a22e2a4e02c260325aad2cc87c2767e89076238762649a646cefde7dfce3e4799983d2cbcd8ce5e17d4f1340ae965000e578677ab0397c2778dbd81c116e8299e584088dfcd02027f4ce180297a1f24a1936588a4990e30400d7244d017f97b1dffe6da2145fda44c71c02ef8b4ac4f9f779f030e4583f66e820e085cb4fc2e6978be0fbc6be5ee35e710a8e079a90e9cbcc5b3eb485526980aeece145a3ce29ccde03e15a4a5968aec188791b7e0efb91346e4142c2bfe5d16779ad9e4ccc06405949c170854512755e32612588f37d7315a2ade82828d3355fdad05625d8dabba6ec2e64b05c9ff070603e004c9e8990637887fc01feecde39284724aae95692fda85906052de96e64e9340caf782fdde36923102cb36e26c9e2f5c6be38e33068e9e961b19d0a978659db8bf9a68543579ba53460910b431d934cd2565ef317aaefb67a4a57fafe1f5b84efaf1ffbb8a55d795ae4aaad26b95fa2a5ee44d423c81e56877aa78d98efaafb5510fd54ff1f2639def1441e1f5781c6ccc21f8959c464d3c7a3a8540bc9888815e3bca214bc2ac30431dcc778eead044a9feedeaf5d99da0209f5075137e80618e039b9d27e432b9a6296bce1796083b8cf2ad14f072c12d421e1881570ec939e5f7f6fd6ca9deb08914d85e7f76708f84d6282713348da9f9b06c6365d5b2fca6e6e8d5c43665a5dbd5ce0d1b9764e052de641dc963d59aa1f9b857578b14ecae556b1cfe34b844ad3118c5d3d8ebdc80300129ca1fbb2cef391927d4a68535f0b063c724b1a93b8fa2746003ff818f16a86ae9e59749eb16647072291fea3ce162df53eae96c1e860defae4c78fb831d4f2b15944e37703b43ce8fcc95cbac98eca9da38c8b51958a9fe56b8174e7be6f5d3996bdb26a4c415591fad18144029fa8ac366a68d634cd0a317021d5e973dc35b6bba6032bb5858e4aa7368e5b4ba11c73cd5aac9654b79d15a6a3a63f318c278d6414f976ad0bdcbfe2cbd87fd0fdeea49e6f40cb4dcc2740a0c628376735c02db742acc37fe02e9e42e103eeac28345b6d7f7aa0856d530e292888bc071ba64991b441bbebe09ce2da121f94792549b3c8a876b7d982c3709f9e97af84dc0540526b406ba57cb95fddf8e7b1e35b12c0d98efa7e71291ba1b0653b1b08724a36770a9c0119dd8811a1314b761fd8e1903061e098cb35702dfbba7edca884e301852007efedbe4423c100b7877078c1cfaf27f4a9d28ecc5a9ecd0d36d1fd28ca3ca5f533cf2801e3693316ebb7f9236531b546acf83008aef2a2792e1c01258419a02414834539c17498126441f9836c78113bba9c8bb50752877326c7375d1668879a6640066fa44f3d6ad716aa92792caeb2841281ca9403a1e9fd84cea18d8714d3afacf08802949c7e345b8dea7d4f87dd1551e18833d1f5e2e0226f56a3253dad27049d04d2cdaa0937838425f3214d4eb03a054e1cac11493f0d24687035283a7a14425803618d4ac3e728800906942f34fdc1282b0ab1096c74d5171f90ba67c6deb5dad092f683bdbdb8411ef812287f42e3b38ff653c86a3037b71510c19bd0c5fe898481f3ac0444144fbd3f3231be5ecfda13396f94c2bdb7e83420561c04c4f458da1a8bf99baf925c8316d234ed2b456e002e01a649db9e2fbd03d5d83465204ceea5cef7540039050b5e7e6bbfbe42b8203982b7316c2c75085c0d7007deef2d59c05dd91229b43e00ac016fc8b842aa76f835f158cc003ca368cab009dcc3d4d5ad5d913a33f8dce850d3e255a01b74e2b7f9e94fb1d9634d02bf00071c6483a3e28a641dfbca691afed7eb2a6b40a73cfd3bbfe1ed89327a286e928fbed39c51a83d08041f0ff49cef3b41e64c81fa68d0c334dca2d4ace9d1bbd7a543861b458fd1cc2a6dd46d5265174ff2ffcedb66bb265610fc19206b90ae784402000e50c83aa441b6319bd48ced79712418fed2593f39f60f7ba877ba45be081bbe5826e3774fbf58c701691143b8a70e4536ec00ff8d4b8ada9f1d857af4dbbccb22caeebcae347dc6b5bd0557682a96082ab50b4cc8236a9cdd0748545c560a2c2936b81e7d59d29e269366fb2e4bc429ecff5785316de492a94554c5407323126b396b5594a2643d88cc0423d86e7c12bfa75a330a54f2bf34bd87372b6bab79084f3e94872b0bdd88c572b991943ac1f10db8b225f48e9140548f734fd5a5c416a4df21c2e22f41b151cab92341ecc7688fe67abf85db49de72c84a8eaa46421f241721ba87d6bc20689ddf14f17ab4dd58107ba2ffeed7a1b377acff6851123ba2a930f4e6ee6e76d753f83debee4796f98fd4a5e73155baa69b8c2ee0520225fe18350b3a617baf1fd4b8bdc2209b8f1d3df9b8c60a304fd2810d1ac69eaa09f1030485b20281cd8a8114c5350e4e3cf11c9bee354f363ae6fa1a6d11bb00faf841c6219747d1032c799f59e9e82a20ef9072df070f1190534a49bbb7bd8718d5118fcc6d1fc01f8deef9bb2c2286909f6fc519082c87cda88c02ff9d9d7a59343d74a49f20acdd46eab4eec2bc350612b6089eac2385514ff74c02e031da64a1c5ef76cca3c9c77ffbff63c25eb6c9933c9b604086ccd34d7b71b7c4a4b181b5f24b18d6aeea7e95ec2ca01b63688151276f77fea0c4d2f251247a705e83a41c9713f13e4c512735ef5a8d29c9a87eae34e571230687876a0379007bc1f7c68a04d94052724c606baa395ae4526e74eebcf088fc504074205259ef8e50c84996cf5332296c8292bdd9153e2dbb54a7cca5d41c856c582d0b5bb97a6237a9647c518db48e951cbcf543f7cac9e8aa7301b1139c1b116745165663c60171f144d26fe3fe7205c669d2f87afce0cb9cee9ffc110d72f133aefa4f95445451fd8dba20b2b2779b35cb83cf2460ee8eebd124f29a00461e09d6c728e5aab97343edbc6c9efd88728a2c3a8d1d8c3c75f53fb4c165120e177d2a4cdda8441287dbe4268f1cf8dca600b6fff8bc57e5db6b8d9651c3395c5bee548a92edc460a5b444d3baf2f9bded9e22769acff7a0a425b384dc0394bbac5b8ddbb0f1fdc41fbcf7f1370468ad69a43fc60f6ee2fec46163afeae6e1abddd7002b14a28a66941a60a5c9d8d5ea9e2b102b64615f2b4659e6c0075f9d54f61ae0cb795dead27c801f27bdd768192f2d434710b1fcf4648ca8675fcb14584bbc71c4bb0fdd0d170fc2199ce93122bb00f9d632bb09caed36d94c6d62228ddc19cbbbfbcde4c4c79127b0036265489856c978048e312fd1d0a9c818a0692552adf12b5681b0b12191f37b4a1f086ce02cca3c5d8726c67059c160790b9637446addd614974709f799f219a6e8cbaaf7b9b581a53c9dd6fc5a988d921ec94b6b0adc9cc76ec0f9bb737eaf1c2f9fc81e85e89e38b850d3c6e2e92f5abb58c604ddf11c51e2c369c76e029f75fca3288ad9d01b00c057354d8dd7cd01db669f7c22b9a8f9be028b62bfeb4e032d3c60cdd6c67b3e6c592f5da17c8f38c25a8bcd9663054b5319b1ab9e10f022248d8469c2f5477017b7146c72dbc6eb5a9cd0727b7dc97236e7ead93354ceebda658f46e179b736ac57db18f7b391b9c5c1c54d8b7e2b2ecc84efb6d81512d1d19058fdfa754d398f3156c8c38c3d3472ec68594a4e8558c5fe3e6ed94d6c19b8d338c7ad39cb8a07088c1254f8c0bb5347ca786626e731403121d428fc14a09e24fa5d060359e48087029dd847f033615ea0ee1f79d894cdac45a7692d63deb97cac1b1e49f8beaa725912aca43315625b56ef63facff03610dede9e8d9304703bb375140dfea00a8c934b2baa50e9b08b58fa6180451b6c74f52bf034a76ff4783a2bc345289f0bf0c60fc0dcc7ea74c78ebcf92343cab54b950e2c6640f74e05a56b13607e828549ffbf10a697aa50457a93d6ede49a7fa7b82ed682e5dc4274928e0c7de88792999cb27c2679235f36e259a4119aff145defc45f517a9f357f5d870a346401a79c7366e6977cc8218ca477bdafdc4bfc0a4cf1358eec0530e8c46035e3e88df16bcf0a51daf25ed73a31a31881e9b9e33dd6b99b2f8db2980b6e78b06e97b04ad82d794e598b89ac282e916af7822487d1a4ef435f8e936701402b723bfb1b5d0999c69d5a1161c8dfeea8b599878930478eb5f31680a794c18950518f7aa27e13cebdf7ff929f45e1531959be4d1f74d085fd16172298ac2aea58972d442007b2f3d218f78ab2f31c34614509ad2027af602941865d115250440b17c3959b09e0fdce99ea5cc8f701e1b91e6fda0f7d34417b035bf37ac5473210ab5b853719579a040605a52693da4629cddc0175643fcaecc4d27b141e95209103edaac455c006af591cbf4619ac5d3ec74069fb4988d7180f94bf7d64f1c4acee830beda4ce450aee1b80a623fe4bdb61e0017c736d3deb5efc8e165dd50ad582b412dac299a3c1ee4f1bf4fd8fc0e2e16e00886535cdfb69cbe98129ea3c28d715db4f43d0adc09206da59a08fdd455d9c532eccea276f609ec8c619b312497825cbe27cb91897076eca1a70a23687bb7e7a82b030da931e8d484797ad638deec3ebb60f9b9155b7f5d3adca5c070c893268a82ae5bc10eba92a38332396d9287e99c413450d11847acaa672dea44ee1095b402ab10401bd4772853c6c1d4fed50f7448bf943e950a5cf1ef17d55695ba5f1815dc0ce87d5147bf3b7d5a0a6efa13fc0ffa422738f388ff011be086ce82ba31e36062f270c971b99151e3a5b4f90bce186066dd3e093b0510354c7a43f37b194a8b402acba24b9e8799df2a420552cead149281cf0d7d7b8aa81afa7189f8b4263c3ef68e573a01b39953c82de154314ecc070c88622775a6ccc404d56dbfa26a1f59ed39ccfcf6f548b8c2c327b9474cfb724809280f73ba2bfb850714e8ca3591a23a3745d2f3be072b531f125dc39754f156808527a1037904fd6926a58b27cd5ddc296b6178adb6e62af7eb3865cafea5961009428696abb5d6db0025246a52aa44b5a0535aafcf3c4f3def650a9b392a49a1b77fb9dfdc05f82a6555d4b6cf7910d51a62cfcd1743047dc959ccb6266a1f10f16deb46ea2756c78a8c24f3a73340c7d97900e0090e2e3e662de4879537e6f15919638d00b92c19b0019ffd6e2b6db38eee678087ab5f1aa6738432a3326adcb01ce447337171d2ec2068a2814612d4a0215e28d832ebfb868a6a9665d929d3ea8ca05b846e3de7faf39e205db86cdbba7595d823092348a385b6227bd87ad85040bf9159dbca27b5c93d35a86f83326b687da4421d54637fd90d29fe0315ddfc156e3db27e9bf804ca2055854b183b16f872bb473741ca6541a5d2940ec32a3a86ee6356e4bf2e8ed788cc25734a06445b39bd27d4b4dbb2263ee9e87195f84feb0a5bf51acf1eb36c371eb64155f59e2ff297f5ee0b6577e3e615134384429deb2a9e49c6c05b92660b0ba7e491b333ffd46dcbad73f26ded4ee87db5d2cbc1fe9874ee51b4e5f1affcf11b1aff091d278b886b54574b90df98a496656f54a566fb7d92bfba113c73d9ebf533c0ad05530f6783cb17446005f58543b31bc998f174038caccb6bc1b27b8a58bbc1e8415f4f38b9da17ffcf5eae61afc79dc95e86d11f4d2110b62054e972c7dacf24f75e30daeae738c1bf6158ea9cb98f36d617e2af5a75ca65d716405bc6bfb01a17302d70eda0124b63b02f69dff85c7d2c4d9375863a317223448f480f44d21a82da6291d655984580e1c2d8f8dac0f7d8161a393aac61ab60b8130d5382f6877e51cf722b03866227aaf15d2c1310c320cc1f17a34d17a79b760a3a5b94f16bd955048a2aaf31170319745529a190c1313aee84539f631d6a6a78573453767ae2d71aff7cc16d6829ec7cc468207fa6d0c73eacaefc00f0b41397e7a8f972cc4bb5f5174208e56ebe2a6a42d61ea538b819a0305257ff5d416ee65b9ea57e86929ebc2796e3a3c7901b42f5b47874bcb8138fb45853fc7c0625d3fa07d414dac14884b6259aff0e47e714aaecbc28212e7d9f0b5c6e88dc057d1959bc771708d933ada97772f921d9712ee97b0786e5aee6416d1bb53540bfd3a5d72ac35aa2c7960fa400a289cb09cf4f6a92492f1a6bbb6488a0de66f673df8b4316ae9d0f1060990468c1e469ae6327de02e1ce15cf088e8de50ba2d3bbb4b1e1498e6a5d14b24d1db0483f92763923c331263e1a4da91d1912012a5fcc44c9996ecfb34781c1f0849ec0058ec6c143559b5a9a0c8ad95ded9fc7fb8687b4d1a5a21d87ef85f042fb534bcbc3938a3ec5b8a3c89ee2b2280501dc48f85d34f70613c0cc51fe9536157c8b041dd2cbcd4518db748f189947b37e72e91a1876f642de23028655e5718cf078e64e6e8e95199292a656f5f74e306b7220f1168650ea7199aba501e478590dba7e98580d844e316c8c88beeda2fc82934d2edf94eadf6c8490b82953658573d8a6d1df817c0e8d862cbed59a341762353ff0422e4360da764722c9fcbef55263e1400a01bdab27a42396b46a501829a8c968373155dfbb5b17d3b73cb020b103ab4a93b5db1cc43aa777a663da86b80c95a66bd1ca3c0dd3c0c6c60d0be663156f90fa072c22e3c095acbde15147b6a6fb7b710bdee932fc284ca5902562ae30bb3cfbc8e109ffb92f949d7cc4fb87efa78de44a7a22838c09a177ed9d1511abb2d49a12423bfca74116c29d8964b2bc813bc5e237e8eaf3ee33ef9fd843682071353dfb0671f0dd5099fcfa7058c270a3768e19241720f7d14ff80890ccd76c6e44f7f908f05399ddbe9bb2404e8744b200be9ab0bb7ef32d2e91721b1f4167ef45936f963cd476ef4569e5037273fc86ccf50ea8164afa05efda921341daf8a3f6e8e35ddc33f8ff854c0a1004bb8f2129ed0e6a0685c2a24cf2cf4bd1744f73ce2ac466914e1fdeec6da7537773ba3cda81eb72325e7ad85558d860adca0d630dec1bb893ec0098ca448aee8122f726bd97cbee82e8e9cc3c0638ecf4f085042a2d8be861e063c6091e8743a2c2338c7b245de50349521b6246491882b6054c5cc2675e00012f31811cfd768fb3460ae2dfee1244e49e1cba19d87264b87d168bb737534932228145194288a9948486eb8c44b56daac89fd621c54ff580fdf3fa28434925ddc8e0608102a37668978c4abe9743d734202d82d17874617be9ea010359a149732de49033a9ab3873ce25522f7e9c4eb7219d5201cd0efa19609e3602168b826cb28c9ab923e59ca3283ac0c7cbdff04586f0e0a2cd199dffb5c36f8ce0e846562e353f21e433bc023e11c88d29653b71d7498867caf92bf18a888935fec424f8b5b83f291d917044072b684bdc9c2cac0d6c9b7f24ed0097f6cc3b727649c9e886c9011612dbdcaa1ca4e3187d5a72dc6bcd2561e916d5f53f35815724778b87c48ee584feae1d008c6ece127872ca4e29f16bbb0376efe4abdb1c8b55af7a4c7dfcbf54322fa87027e2250c0153cdda9477605f9e30a467afc6459ec27e2b86b6069a574071a68dd32a4b13782f65a71826f2eda74f7e0c24f8b1d0cf14e4561cc4d6e8ed9a202bc3afb4cdfca67e22ff01115617e326660f4226ca2f905302a03d8d0fccd8fad2e9c36e2a1e49d583d053598b7c47e3a62f84282ab4d82701801ec37cc7288b5b6df453495c4b7c0c3d447b38f0da16f6926869513dcd89acf9b7cf918c1765be653da69af158652af3b2c1d507ad0c6bc002329f9f2e34ac5410e7f87e6c1dabdac625cdafa074f0a0497852d39923c7ef283490479dc84782cae8d380010ec2c645d4fdcb388f3235c8d94f860fa3e729b9d54d67f9f62fe2f005fc452b7b362409d0701938fe3a974c4e3b693040ee9f6ff52ab91f904b79a65278de7d44e45b452b8f10bb6a13fed9d8f1595af4d8ab2289a56d9fb9d3ff0b6ad04b5920883b263a5a4a8f8e993767931362534abe4cfc07e2fe607815171400e2023c69d91deca38f164b6f48474c957091b585cf42fec947c230b1ec7380da70d6722f50b10f62c2045b11c5d6a52efc6ccb343d38c58f44e989e2f614107e73ce1ced3a4e9adce19dc39e6fbff48beffef9f00bf64bf172d9caddd9371b9f133623f6cee9f1ef049f6fb2979cb53930c7fc82d8c0d87ac0229fd7a5fba0657cc90063f48c6eb02084a945bcf482b7e4b8615b24d8587c8be6825be27b537c1b8e8a5c6f8c95c6ffe8eb9fb3831a47cbd6604e16c04f29fbe7713efa153389ed446b1b92e4fca4abf06025c195b940cc808972a632bbe0ac9f198a93a79f93786a1c2389b53bf4ec22e573a48671a093141b5970ed2f05798544da1c43506dbbbabed8347e511faccb734d3cd273d62eeeea221089a22a73a0d6814ea23dc5269c711763197531bd31d6e573bf12f23be210cf68a939955a7be718406a4f8aac188f8286cb3869728234ec4d031215fc320092d0f996f6c620f9c2a6db2fcd1a31f0ccaa112b20453017dbc67cf4d47b56b0e774a57f4ccef39e8cb8ea259340e7a427c9951019748067c2aa08db4b70d71b668714705bf7f46b3a08f6dec1b3721fcb08beb74c24c58de2d6f016911956adee89e53372b2983b4e16655e3a0804dbd70a91fef52adb23348285e058d47a37a47cb95d94a72c36ee40256a1f3633b8388c781a1bec39df0e5f71fcb776d892c52597c59226ce68b3a76d55d8e3287dac49b6982a3eb752c9b88eb8931528ebf3a1961f9d2ee088b3d48bccc509958efaa71f1b2a40f0bea7db4dc12687d2b846ca0ec076c4ef5b74921d422f1400b2e96fefb0f2aef022f70efe7a72d5c4f2a4577a0a623fdf779771df87cc0955dfa31624f63d24caa1169553dad787647a7e5e2fdefdf72fbe4261ab010e941a9dbcfb008adc276d81522ba877a297b388ddc0a260648f2d89b961f397856b5a288e371c9336221d5eebdd74e4b2f8a56ad4533a46cc8fe1982be944011e3c259e23d9fde5d9546cf95c4cb3938fe536e76ce1998e97d56387b0f9b3b59968e22d18e97fa25a45f9ae97d588eaf487a46aae6893f7ff06fb77591e7ace6257af5c628df6254002e95e70dda6cf074e261ce60348004be94885448c5076a15b15425b9550f8aa7e0f4da9f14688b20c1826f7663958318ec9b7450991a3620e185dc6d496719064acaf38001d0a81ccbb98f7e16fa6f1a4a6caea45c97c288f146676af7d0af49a2a3bd252bbf3b50b559da2dfb3167422bcf39a9e0f7d229f9391200978802881dc914b49e16223f5d19601fd3d7eb9669968140dced1fe88bb1de1c076d2569f5b05e72ca9c5594bd1ad3ae951e15630827c9caf5089f8bcdb314c963eebf2df68c65747857aa970b5f7d96e841a963880b1f2b2d155f3e150a43a70e45c73b33230617423b54356677cd17c8dbed16b6222c084b9d5e12de96bcbbed04b841572332114d67a8ae451ce6fce151fdf4bf3d4efd6813b6b19e73442fba738ee9ebb7be64ef85f13784c1838757cfe865e1efa05088b3aa0dd499a1e186aaae60312adb510a3827a41b36c56ab365ff77e001d4bd232a0efa63aab7723746a3ee4d313a4194ca118e15614f49274d53fccc6d2894efb0f13e0e1e4c37a04030f53f4c72d97138e629ef8b18ec5da13db862d2937b72639c5912cdb1406adcd986253a1d844f13e005835ad50d4e08583c115f786290a135c91506cac006ff9ec275ce89c1d2d5c665911357d1957fd09a069711fc33bed204c5c1913b0734fa135d6f1b8ad7c43fb4b3ac399b050a18ba05395fd38f158b1d0731e34aec38ae70b9921d035ea8e77904caba8f1857a400d290cfac5df8dede3278b03bb4296c261354dc603f9d122db8d9fa280828e2027a5cc4d0d638012477ec411e785c2f974a44cd476bd6618459f2974b4f4f4e7c75e1c2e4b87e7fcc4b7eb40bd28786e87ae162a17bb7909966702f42ab06f82e0ae3c9a82614447ffa4b7849c4b37654cfcbd4fe6687137ce9feb6d1e43e2282474e9809436266d8304a838195f61e88411c16b32e76ea718b9254766de6e0cc1f60c7fb779a9b27b8ce5b6ecf18be828d5e96d88c632d8604e357ed2a976f87cee6b689fe3adbffd2de9ca0ffec57fb6c799d2cb279a23a0ba28cc1ab3df9c5440a3af3016febef4cedf85759a73427492b645478c15a2d5791807aad452400645455c1062037cbf7aace5f943a5432ea3109f76fedd1259c5a88e317158c1afb6380948ff021b7258ca0cdaee2c947f39bafc4fd6a2e125a9a66287568833f81ce89b9731b9f8e58f9bd419b9dd672cd54b35fb647d83d45cf3d10d5e869220b8353a895c309312208b73cd28d8557719074442b4736c63523b067a1389b9fdba06d1d4e7cd0bb559a071e866552403a3efa5e6cf93e5d0b353fc145659f98a565c765b7e4eb46e88b16ad13220a6ca18c92faf797d58360b0064d88776465e7da5d3ffb3d41dd3073cc01f02182c75982c738747680d07d5737b844325561502436620350e8f46a4ef062f4183ae0b77f954c665f7e62bf48fd41d2d23e2208ca6ea07bea4f518f19aa751a4926d57ac4c1b8b1d496b8c502df46318f77d796d2dff8f440a5d7176545b5829d329ee8983668517f9ad90a39c7ef85e2432433c98efa09158522bf1dc3e882aab2c8c195b6f9e78b61c5cc08af9b52448b69e0bc946502cf4c93216cd96084dbb68e006784b1d3590798e4a4d0c3987191dac520080b448adae8d755fbe2e2193a4b06b800a6c91cd07ba8f5c21e7da122db0276e7a947f7ec1e3e99df1305dcde1e41117bbb13e0fcc05d2279762a64002e1bd8097368c84e61d058c110efcbd7e1ce33550482d8e706cf7b49eee39470fbcab702f7450d8fe37974b89c24a9a680d1ff2c1e099fcbbb2ad7da7dbf44de8ef0b33c734489dadef476b13d372204f6aab27afd4d00a978618ac70c4026d13e2476b35ba2d76718b92a926a9f71f8b80c1609967cd9b1434cd8e6390e55cded2685891980f74791146ccf8ca220c4ec9b5e43a49bc3f1098f2ff6e8e5a38513891146e1cc318a7380693d3d6662a05a270407d414c841de0839c6507d2f857c8a70c272a97d300cf348c6360dae50f17cb65d9827e1e479e9f3310d4b459f350f0e0af7bcff205b63c2b300745b85e2f1c7b9a19fdbe7e77ef48cd2b2662af20512ba3b02cfee5f4cafae26ba352666c48cea06a918032c1b28d50cd58f8156931b0a66b1da917255ddc6f03f9fc7dd61f1593c909911ac0b74071be078392e6feb601308d2d87d856ed1b8ce5a616fc9ba6d956c6066cb686fa4f25f80de988d0a38eee6c5d043fb06cb2761d6e71b1c926bb1a1c0cca42ef09182de303acc3e4db08e21c78f89526a87a7908c2a50946a6f297720c8f6698d57dc1de4119108bd65fd61a76ad7eb22e94717917983392850b84390a8ef742fd912e046cdd95d0d30df87733638762fde0c006d9fa98dff190d9cd4f1af582251dec09996407b0bea82f604a5a723e01026dff43f9edf01785686300d0465f4cccd9b4ef8692fa51f1767880a6a62d40aa6ae9b7b74b94718bf36d99da3a801661bcf8c5579acab3a9878ccf0056a37712e7480abff7fc91d29c9edbf6cc8014774c1e064e5f162824a716a94ee5660ec98b7d90e31c2fc10c95ddff373b646ecaef0a2bd546d98449e67cd7f5927bce0b06aa18c7a4742e9e34c9c3cf07a04e76b0c17f959b7481de1e58029a467a1bcc81ef43ecdfbc90073c7aa5974d06d5a0b0174e3d7e9f0027c1950b5bbfe8d3f8e6917eb0f4cced8d9e6040db88629374b1de5b9e80e6a897436fce1d5ec8c42270ab3c03f3344a97bdfde7fa708216263ce8970ff340090c8cfd666a6e5947741d2a1069c83763b894ff48981319a576ac8076918c3323f410df41bf3a57f9a8e65a312b353f7d42b80a44671e9c4aea1634f7c847b4aca35371218742f156f92cd46b8e2c17251c9d279afaa4e95b81e2846dd486cb710744e553dd05cc4ae4bf99935d7779d5a8448e0a12a27114ccf59f8a5bbf1dd4a5c564245b411eb05a0c20e050440039a3825b4811f9dc3c4995f3981ca6953fc8e445862806f7800617dbab4fa6b318c486ec391c37449b252923b48414a5dadee33ab0373fddf8e62013ce2825590e49984a8eb8fd571d848f4442796fafac47eb4e9bb707d94674f617b7d113a7169e95f3e36a0f6151a13d5aa9796043513248e9887f8a83b135bde3eadbe3863e742a1cb6ce12686a8f747306f3918bbb5a2b277ae28bc2c36dbe6eeaaabcdadaddc8dfc71ad8917ee059ca356f597da012c6bf075b741fd02ba70c133935bdbcba6dad7e0a06b72d38478f0462e1cb9e88309ea4612bf00baad388af11e570a9c1e671737000a0c4d646c693729b9855a980f0385eb85a84c53c84b37135b077c1b8490dcc949d796fdabfa020099538518b63b505a1f200e6bfc966619de547786408ec930d57570c53dcab4d4e375150630edfc926498aaf34008beba48d67473799e890e6baf8c8445f0d61bd47ffba2b80cf217299084c4c401864e560a33e9d52fb5e2fa51fb2607de89a0b433b05874d9d6df844bf4b479336a5e10634116d0fb189610b8a5378fffb1f199660f802910a933246e783d92d7224d4d1dcc21e4f9e2daa06819bcf2cf5ec1618e266bc1ed94bfebe7412767cf38a5af992704dcd905e0d708d55af5bad9211a2bf7a5e13a634c035aa2b7ed8d0b5a51b5d3eed0707c18b412c5bd701d28cb83936eeffd7f630f8d8248be61c298afda07e09168232133be16b6f809e91f8179a3d8b39578856c3a2421ba873ff02f872c9f87f0df462150409c3fc84e0714bc68f02fa686a462b659b37bd93d29791b93a044ccfe7f0de3d73f041221a43722c992f119f6bfc197aeef3d9d9efbcd4626bfc8e779787dfc2886d679f16eea9225d75392edf6323e32bfe582de4dcf5442837aba155519da593c43ccfb884a608bda8bead5b6dad76ae6c1e7f5d4c4bb81f509e3832393f84c88ed41fe8282b2866cb4e9ab459a6e52129bd1edb806e8014b6a030af88463d94abd5db9d776a800b2b42977b8ebd3c13f6ec83627bf0885dee65a98bdaf4b01c2077e7d5b9427bd610b839fb84c23c636dbd746ed08dca0ef2adcdc6f9acfbdb2d0d891dfc4c1617cc35b81af23eaa6b60d04956c840a1e6feaefce8ccc359466096d3c3cb36af0c1ad65cafa0482d17a0bb458b96980174c932c34c56687a7154fb54d1bea540ecb821e9d35236bca90c853fe235436cbe1cbd5b8d1f6c4d1518549fae440deed613a17fc16b650a1d6ac82534ce2f642159d8b72040a2c0e903d7526050764d7756d2cf05ee605e98c2f284d9489f3a7c0ab3b1298776d50db9b8e8a4df6a2bf1c29ddc9ff676bd51649a35bec9c6187c4c5b9be19f8b402ffe558fe20eb74259cffd51d9e08435e2bd6284f1fd6044577df7408cab05cc965894c282a273050822a1efc23d841e249667539814dc34546f02bb03ff6cdcd1bcaa2344008fe477bc73695c2292869a0445b45077e259104126a8f0b2849b4df7c26bcac46dcdcd5e896c0f34269db360cd8d08c68325757bd934b5b95b920a152a91eb7732deb6087c9cba22d76c718c7c86fa7b7269118711fd8a75e860b157a45c09f16ac544b6cd62b7f69d226d4123cf84404cd3f8aa674eaf5c2e35f9a0b5c9aff6ffdb94f26a597a8169d5b90ea4c221ce84949998bcc689d97c488714dcda581cf3ca7ac75baf945894df0fed098ce26ccb7c7b1edf864671737811080e457f482716cc09e0092ef232e7eb88f943548b9bf48f4eb6be4b9f86b4878ca5baacf8d9e2a8fb9ee41374e701bac6cceef3cf837943c4c9cfe7ea06826752c3e51686f8be208117f06f9bfe2fa9b97864923ddef18dce1a691e14aff06496fa3fd18be55b0e7446d58ada89abd62f98d36c73e64a00f30d8980d08959a29013c122b509509a3497e1d27e6bd10be17412fac80530d02276e3f0b740243b89435b21e336f99043478e2fc83fd631b0c982d2d0d3a82de186ab08cc4e9740005595f713ad8d66dac6e039d6cbaed34b3520b28a25354c242e5b9663555e2ac0337725b0d70fea8e89f25899d80f97d7d368a97541f0c9d2ac31fa7be617de8e91d2b5352bd4c2c63883ed8d6f04e106fa96ce6eebbbe11cad5f1560d277241f24927682be7263894e79f7cb99c83cd05ce78726a5601dbf90120c8153860cc482ff294c7c46a9b11b94d7cb43275b24a6d28293b375f29315432fc3a8f7ecdf50c4b085fbb1aad30f25cf3dfd5e42b88b17ce3207fd2385e8d433410020e6298eb94b570b093b706c36de1ec192c4ade042ffdc95464286349ac443b9a9a516a33652123b7d751b9104207a5da2752c494febfca76c6cb1fff3ed8e51ce38aa06dd542183dae7a8e4682161bce13cb6975e54b86352d30b811bf6924a5890d14cab98f3a456d6f7857bbe19b11ffc4033405744e28686b35acba99c262c857e0a1cabf4ceb599c1c280f7ff645470af493180d46f44a7535461be3f87678ee1acfd13f299edc9c77b8da360c61066d0ff9ff698485e640e3b220554e434536a15739fba3f8c613b88233564052104e73ee1564d8e3b5a69bf0fe32c5b5ee2bac2a89981e63f40d1dfb566e3c16b9683479a533e0c945b528311dbf84999cae29129d2d606c384317f18f5d8f3ddd1d8874cf8ad94ec97ed29c7ef5b01f4c35bede937182cb8daaf77b12279648cad1103f04ffd5b6c5dfc5ceec282b0ea51d28cea5ae64687a075e60799a5800c0606203061dab947d60b4f43dc0aaaca6df18815173956c2df20c217ce48de75f57f65afdf3d1ee6c97e11b00ddfce3b95e3bab8d1a3bd1a90d5cd33307efade9c31d84bc1efeb65793a78cfef66af0f614722fe707a1f23f0876cf18200d4873f8809eb5e14313100d2adbcf909c72e163fa4e304d50eee3ef2f3fb07211db6061e189ae82e0b58377c32dba6bdb9d983501db7a35adb4ee4965ea16052c5d8ee1b802800a731c1bd57e65e8f8b164bab477dcaf12045331dbbdb4eeb38f7f276593b6e686755b56ed36b5666c70186e9779a982be9c44cf26be6b5a08463e5fddbf7b7e95f6e307a483434efeddf5ec91b1e50efd4c2d4fb7354183dab398aa4df2191c6d6a5bef05a28cc0ac34531fbb79e936e4649ed2de112858ef08e71f5720f8c8e4b465f910c1aa03e81aeb20244b933fe88250b0aea68134a99381d5ac2e03b58d32c975af95dfa28dc6634695ce9927069077d7c72e219eb071496efb4cdb9c7b1db02fc873e27063c7e081d3e7ed8e5ab267a688f45716049eba9b213cbd602854209214ac0cc062558729e06a488e56357981c8f5e62b25b77cef241fc2d90bbe4409e3d338e3dfac81405f1243c5358587dc1e86dfd315ea9c57e7abf60fbc9f1395db8fbf03d1ef42d9184fb5e649182bc77536b277207b3dd9c799f29a6b19afc62e98bc8267b01a0f0892e86ee13e08de74fac485ba8170da2cfb235875518ee58558ca266e722eaace76015c74401e033546a0354b100b05707e59841770bf9ca3d872603b88f43adc6cb69e663ccc7af32f2479f54129e08343422fcf377866049c83128f30faa0ca8f3e8f821919abd25be49c3c5d8c72c6e80a7ca6b8203b8b11eda3b592552a7e36e8b177b60987e1a37f59d84dc24d9c1b318fe3cd1781e1e507b8e041fed9c9dd143c4ff97c0cd16d8377dbdcef2c7378a6844708ae86d64694c8daf956501afc76f11758917a12012fa62161b16506843100ff7308dbe7aa66ce7c7828bcfccdd039e9d6349ef93a2ac49e563bdaecc6bd0b04a1a8c0c4555573caaff09f168e735f065c74402a8d5454052f134f4a4cc275ede3954216bab71e6396d4579dd39dd99e37b3c1b2fc07e55696fcb40e46c104fe8b47d63211fdb3dd533d3f3a5afdf660c34f30a234fd845ad27c059c4b7b2b9917d661159bfb406783b0158d34a618235ad6755413ff59b73a45ecd988df878d936f1deef15383f788339b10340e68806cfd8f339dc1c04057bb74576378dd954586015fca9e212eca44c6a597470a70c991471d96bd8402d932e60071fc9f7ec873c08623a5fbb0193d2cea873933f3e9ac04f9dd6378acb3a645a0fb9c5723099202c0e8afb15b57e6d013a2140c2c40e63113b4b158d89cfcd9aa44a59ea0b3873f2d78985b8c5aa8fe1271d8e031534546e3aa923db31c84e82fb767fae604d8fca46675e6f9225066d126a048943e72263ba041d80303b4cddbbb61d23739c487b211610d33ed83b8c2499257fa6ad5848ef3fd89de8c08ee15f7aba6f0f44f89de6f0fa13909f1314994dcff11008108ecded49a90dde60eec1069f2b9d73ffd5dac2c48683d606f2a658bbc3e1da7743ba98456a531c349404159ff1370396357e7062ec874100e3674fb350fefe3a186ebc3ef7a681781a78eb0175b4cc2710c5f8d2dab235ec2dec2f1d7803c50b3b0526cd7a386e5ce928dc106a5cdef4b1ad47fd0f219aa52dc00c205aace7811b5302fe09c02da5d751324b0f39f3ad7e61eb36021bf6df413387d4af85b94112afa588d5d715686f7138d11d7d31e0bbca3a40973c9113faf3e7b13a8e1450c11bc322206dd4d7988e790a73fd17193c2fa790ce016ce661828d4ce5c7b7e86964eb2783db718f3dd9a1f4879e5f4fe39b307867753e192f49070615184bad0a964229bd61bcb01f15d4051438e2630437bcd45aef2b9f97cd9381237066a2746446c43ba332792f58005629aa0c7710e26bc236f1da96d705d0f984c2891f72aae3b6698cff82d1d15d4e1245758e69a1fc470b10d2ebfe11f950d9b48a61299732fefd4a3abc5d723e07463879d334099fc1a916e513e5fe7d93637b971aec9f5cf83603b59eb1611b3bf62b43395ddb3b49fd5d119ce0429360276bff9eea386e7ef1153f0a82639598fe9a505af000b3638dcc76a662e588451501b91b9d8c6cfb2dfd578176e7fa7b0f78dc0193fc6e2e60e69196f88dca7b19f17f4c41759939a8a3693a72a2b2a28992a9277ba35cf7d7266e0f6dff47ed8a32b9f0e5594150c53af8230db15f076b7518d60f365ceba23e2f6c849a4b94eef9eb41a1b397c00768db3f8d11a11da5276d8945150ff97d4c7ccd2b45d6f21985abeb98fd2b3d8417df36cfc58d4b7e887a47f31d4c144149702d99506361021e29afa97d7ccf3cfc1e3870787eb073b915eb6e96ebc53419056852155dc26a3f18b5af58edda94fc2bc239ce049bba99a7257f3c0014d55bfe4f8fbc5976546819eda1e3b1a37f46c712826c643edc9a99fd4bbe9ce8c23a52645a4f1b5160f51fe0866b94368a6e882f34b7e0e246e35d4f3b04fe386f2aa2704940e726ce820492b0d6c47a3d5c10397ec8db7e0c6b4f46e199c0a094186e032b5d0a489101ad57bd4c20c8533800b12b4aa43339b02edc0654b2d3fac805f804d98cd463765d90d05f166404f252c3f0254af8ec385d2170aff65869580dddfa6d2fcfc56264e69f5b4c6c72cc275bc06bd6967ca6b551143ef457c5334d599b023ed0e1f8c799cf982e02e50352213707634a651a9250be0a4aad92ee55015d8cee1969dfb01072cbc6ec95337594f81cd20754f8f70907ca6f369353ee7324631f9982dab97412e07a31a9f7c889d82eaa4e3c3178efc4f1f894e23cc8b540d683288a711704476c00f4e885f4878094cdf96878319d8f449b3e7d9617f99673e143dcf40c5f9fccb51d76180422b81d3b28a302b5e27599a09dd94ee1c282894b62f8caa1e3eb9717193835e4a156af8a1d75c3f804493364197de2df3a6bad2d650e1309547ad9d8594df078102964404224ef250867af694b04f38848c99d7a5ec04f0e9a4ab219a3c61441baa0891cde77152245692191319df766abe85a50f25faee7e077a624f565b73efe3f8234e85f94eb474a681f8bcb358390868b7beeb3928e730c6663ccbd392ae457fedba90c70fcf00a81ed7ad3e818fbfb5b53490ab7c4349891c44fe03f0219254afc3b6cfb7dd5bc120f480dfaa6db69910fbd6b75c9630af8aefd6ed0771fe29652b53f80060028a1a7ce5d1d609a9b8689cf38455afaba558c98b486beeac7dc32cda0448ab45c466d116695d00e781e2a44333e5d11a7a75e54f442b7568d589e7a7412584656855a598f2825643af03fa3aebb1111456c2d1085e4a3babf703f5923c38cd3a321f3827bd9f5e804dd61788c905e0962a9691f875195457e2fd2b49cd8795f722fdaf7a20b354fd8bc80515d7ba12a4a6e4b783c24e0f76d0836ee47c6f0cc896c3ab464aa22e9cf9f87f096b2b025985bd4f3d20287ea4ef0015af8232528dd8566b7aeecb8533621ddda59b0a71e186d6eac77abb5ff3fe8cd2429eca2d95c56dcf09a989f15360daa24bd8dbd14874151a388a2919b98ea7f3dd3438fafce191473662ce049e1c554e6251fbb25edecd9d51351d017363097103a041ad7d73d0214634e8330600d21b188f021755a7577853ca778b84f3d8b3ff1212d42133839d92e821710c4db536576206818b38727ae1426f7b33fbd6a13b8d0c099c4fb60e9fa1ed5c8bd16c61af5c5c7961d908b358c3d32284eb1c63752236f8cd1d7662924b292deedc947d89456cf8efa72662b1484ec01c09b8f8b95222295e111a4d306595cef18a75745fe6cc7643ae54bc5f80abe5d0fb72aeafa29568d7671ffd6674a1484e549265d07097c18176291e5c1b7ecadde033beb61196dc7eaa992fd3ca67b5e24afefd07c613cff19e0db5a1cfbf9da13f0b28e635301d2c9cc603a66033e989113e7bf00d07e64b62e66306ff556d07a84c7c3c7db936e033018a568d2fc068478542371f562a15e34ce1cdce426fb553f4c0d3734c5ea408ede2350840f7521bb4cef773f030b5154a88bfec6e9c1fe02e3c2294e472d1422f6f71ada86f74121bcd4a0a47fdd6c92580e437036fd5ba72991ec889ef797d06066fdd6485585df0aa3634c6fea832920b6f50e9996e34d95154941da0d03107f7922b5cfc7c9cda87e0a3747307ef894683a721519e31750a7675f9cfe5a991c7391b019323fbde6fd33cb0752720e95488913ae541bc25199868cc75551417e6c0653b23c9908b39d0e52d5df3c13d1f686d8131e062efe5c2529a3281780eba7c4e894f9f55069bb75793c541f73cfc733cadc69c118c2e7a6135a07fdbb72cb921a67dcb2638fdbb114e49fa55ac6463030bb6ed80cbf2b0c704c219245a9ec484341e2d3596dbb45ed78b2f710a98cb57713cba7e6da707f44c326f23b102787b1dc9f921256ef4bd3d667fdf482a7cfcf9f42d1d1159a5f8bd1e8ab59380268893565668598841fa22a8d3359036a7b4b07b819f94159b093256b07e1ba19c2ca65c3b981a3e43dc169abee99a90ec20b7c19cf49ae5f5682fdf83aeebbd62733f6ebd4e04f27d21ab47e966635ed1d756715eee8971ffb44225b691533444b3468fe82c43eac92a8dac26dc425dc5b87787669e025c7aecf766d658332656b7ecd10e63f8174b2e491e40685eacda217fcd0cd0c6574188cec1d6d53b49f77a1bcf1f19994151398c8dcb60e0366335462efcafdd8dfd13cdc43f67b0cf0624adac70e263f8116292212bc353fd6485cdb94ea3c3ebde70f732e1d42faec001b6b3557ff7e9a0ebc45228d085a4822aa79eb924550c8d521e8c6f42ce1f61510160afeb6927bb304f89f04c7310cf6b3d9e4d330860e7d3fb4508ec571973873ac2447110fa8050549720da811da9185b0e657cbfdcff228e2497c900ccb88c316875a0fe9291cd2b7742015c518f78692d52562f1c2f6beeb4365dd4a4de8ecee92983f02b6a6ca34c9211a08e174350faebef11a812679cf48cc75a99648e077d149bd6dfb0a6418c7f170c2c45ce58a2debbe4194c68f3fbb8722ed0b63d9b9268e542f6818e51b1bf10c02f44a572e83616030ffd8b1091c57e8a793cfa52ed3f42c91630e582158ba7459dc989155792312f3e39d7922be7a8f68a8a78770af11b0a863efc6a891e92034b2c70abbd4581609218a06b9b298f481fb82e9ea07f14dd50c86c6cf44933cebd8a00d0c687030ef1329aeae87e38754af1a348f7c69d7a6d045626025584a191c649b6b010268d8b548dc4dbadf514f15cf0756798c9e3cead1e2bcd6266ecc32a5c1754000d14bee3b2722532085b2d92b617ad620e8920d07d1862e7d4a642e10abcf1e39d383eddb08b6778298a1496d73ef69cca5f843fb0774c38d0580bb554f26d2b3029f41cd6ed1a3820ee058f5483d1f512b518b597ad95658f864d947e8d45dd6870d72aba6eeafcc6149ec89fbbec069a7afc950e3b1074ee41c8192d8da1fc82511d7a8b67853a59b702bb27b4768b0c5aa15cd874349cd35841f05e030bbcdead2d837c51276005cd4600c4f7504bb6174dd300b8a893c670ba796f09714e8637ef4d9063435c2800ef02ecbb3875676b72a501869e7929b9d66572551702e99d3fb283829293911bb746f797c741edc5503d343c5832e31dfcea04abeb564ee9da90d567cfb808b6f2a9ff3d23e216ac272bcf13fd3cca6cc802c683149486380b95fd5ee9f855a27d11dd33a85a11ff024ac866d4e3e02cc3efa41115fd0b8e142d63f07a116733cdbd9e0b39041db4f94f21495f32615be01585a31bce0fc67084edcada29f4b084502852accc5f037fd5b66c4405df370131b704be7b613a8df660a1b24548d8e4ade654da848ac208fc5b00d941dcdb8def800ed9618bf281b9e01730c43ae1ac083461feb624872dbc337efb7c5a8235ecf9fd5a6f2b1f66255b0205dbe5bd8bd7f6045a4c33aed52813362ac6f805a12d63a750947089625fd570a0995e817f3f4ce927d81223c4d4438d2d569d8c9d2f816d3c8c832e36c1dacc01134bf00c5982bc968d7b651b352e15d27eccc2cd8091cc0be866103823fad668b38d7e0f33c53e8c3c27073e41b8f11ce93c9c31ee9357815eae82a5393caf220eba1c13b63a3e8d874e369f2558e5b0402348feab2d7475559eae0ad87536964a38e765bc4ae027c051eadd3161df07517bbc97cbd405ac8269c614d8c15cd2c18178a27b211ab6a0841e1ae743429a0ad0a660cc05526d87df56cfd7c32b511abd6ebe1244bd8cc2b5b0b900db7f16718e2f9ec8b95add1514de9f46130f648dcf093c16cbdd802d550e429e6a1244ba033fd97dfebc0216a5d90def1e743224dd762653f7ff84610be9dbe47129bb0a013b0b84a0b1b588adeb11de90a2a47bbc5d6cc001c0aa851da1b063096c2814cc31f8ba836a282d5a849e5fdc65506e363e62038aa98a92abefb7af4586ca49389351d5d388491a3e5dc1d59da59c63276eeff0fb8b224c2874d6334f82df1529da56a608f4cae68fab432c2cbf4ebd47310ba28fafb31010ca6e5ff23a7c6061146debb8db72901c5bf2f38c9290bbba27771fe1aaa5d957b3df2e520039c9c747804bfedfaff4b99e99a39017725159b8971ba08a598f66be81bb38907748c05c99add2794a5d429cc556a5a88e0bd9f80a3a5c2c0c601bc429ecb74c89821a1117f96f7dad0078c3a7bc65ce5dd0443579043cd1d6473f675dc86a5a6e86a5e469f802d8cb5055c572c875dd76073ff7e6af0dd2a05cd55758e4c7b01359069c1c7b2451d8b6a025db982c580fdf662f1a4795469a16a477779bb9164c74a86bef046c8ece0ad1345f5e687bbc7acce1ec1653dfe565e0f86b56194793c7a45896c9d185e1d59dda65e7cc30135aaee123b273b9c7a267df8cca937574453d986dfa8b7e282a872d58db3239347fdee1aba6a86550a0f40185042ea109299ca31eb916090889b4240de6ba8ec858b869040a9425209479997d8472e8e0e1371e48c1bdfa66cbf3824d64e36cc8af6a1d68a89ded0ca9dd4bfc89f259e33e0f5a50e9c1f388bbead74c1d30847cb98069fe213175cb0267cd60beeff5cfb9a45a02aacb272de21925b0025dd5953421ae31065993e96149638226b2d4bedcf2ee1cb50db6b8c5f3aab5d0a8072518e4b57eef55067059f8af775ed025bd6ee3c9f69cba90319da4bdf4353f00fa9bf490e17bac5aafa2d29ee840e8103c5c1312a8ce20bb8e36969cd4561cd9c7a436810c54007ed098df2a1919270b7113036a4927c04a594ffb652b27822b382771a3f62e24e6e0967c37f80ff3cdee0f34524cd984fbd00a1f450901a2492a08fac6c8515410460294a53bd2e2fb4713b1dcee023cf1b93d844d070c8b3e07161c8d7a811bdac59f91b2dac0f2a017e2509bdf8069124b21f3fe375e295b91534479e65603bf8db4a767b958bb4124fc9c35ff9a53614a0f363b1daf38e9ab4cfb04695e1b998dd8684eb1b903d8d2259e2f6f66e480a53fff6bfa7fdaef3613f96c9784ad814ea849a64719410042df08f123bb7b75074fa131d5f4dd07d8ccec0fcaf8ca1cd9a4229518d0b6069523edb70eeb16d8609ef770650933964e6711acdbf5896732161104af55248d436d641f53011cc6a55d4d7d834108a0a9e3483ac252d6011b09dc6c3cb7e38af868d59842c080306dc695b0a4048c2bcfe78041ed3fc9a6d43463bbb147786751813887f48cf7de739ec9c8f9b67cc33d20ff5e54f6475232da0e48c7be3946a02719f969f04d71a15ce76f1b81747bc5fe8c20cf1ce71fa0e8f54f571ca53b3694a1f38cf8e722d48701d4f2bd42a3aab6d129994fb272ec49fc6a4003a9a7400e132b91e5bc477d6e034a4136aaf441dbeab8854d60c4d4e35fdcc2f3828fd09873e7eb5a5a8f62f8622c59f3b2e910786136a942ca58cc5129ac90937588dc0ca1f1b62d4363c10d2e1423d4deb6ddb5ac976cf21791d78fe54ba9f3acc6bf3b550e8fcd6353e30fa366f68e1bec5686c2bc243ea298e2ced161133a028632b5408877b4f39b0173c6e7f46e3e54d8b069abf97ecc7236a1c818e0adcf3ed3ffeea24f5e6c3f3892bc43902a5e80a810e4c1c25837c8008b6eb2ea288062fbab1326990ca15fe4f31a0a5102290761904aacb51be5b2c614191a08d899d78f174815152b455f4610e591390bc092a095cf3cee7bc39501bb8850fb9b22506979709616b0abe381bc9d2efc2afb3dd86044eb930d371126b2c5f5143d42b45432d9f1d6aed5ad3abd9c44449d284dfe21d9e3d10b3815b200afc6e6a19078f86d96ef4d5e73124ca0ec98582bba3951a9d12f65e1b46d510fc991c746162f95283245a31526359ee8471cca87a527241518d5cbfa508c6de6cc19cde266ebb65f38914d390e25c7f10ae501a2ff22c7279531e1c72a3770c8c193fbc7387f8fc3baf4a7efeec73d96830b17c6307a8a069e3ea4e0b3dbcb625ad873d78291c6a7720c63c42ebae4183a3312911ffd54d0a7bea4c44cc77773d5356a9b0d7da26c4dc8621ddae7259f95402bada4c3227c3ae9f132ebe668e3f5d585442f168338b54eb289def25ccc92125d8dce1fcd483c917bdce8d69a4a1f68062bc91d02d43183a872e8948390a505530e5dd1f6f8204e8d7a651cbf444b150f45bca9e4e832edeb909cb38983650628e6287703bb0388193dc57183c708fce50d5b7132a78e3007324ad90ad1c722b2a0d3d644e327cf67621fa1e0a7174e645e1f525bbaec808fa0296e2f2bf6e1edd8423af2f52379053907bbcb29f3dced5282e60c1fb14b5b5b99dacb9536b8f0a4e0f046a5f4189fcf2b8ed70b9bc7c208ec64db563cd1559aba83aef0aece41e2f898e74b46ef5620c9f88329799f9996176a51a3a0e721b5676a0436354fd7eb5a05e278d171667b3bb4bfbb2563f07b3b6157ff5b980d980c51c03ce4b54dcb103559a922226aee3264d3bda859fc7d4e32dfba1695ad1fd678627110ba4ca0a0974fdbb7e55dd4d3e7c4e9c8fa255ba8164dce34381038413f03f5ef239b29801ef195c3e90ff76f8cfc1f80d0a12a54b9abd43a12ae8015060e608c2825f4405a3fb9f2ab944a5ddf8f4e56682d13708419dfcfaddeebc4ba2339b01735bc3a10435715969572d4b1b1ef0ef6ffaf8297176ed8aa820728cb91d174a39618f7de1552fd75d046cc10d9c13a302b84d4dcd0b47d90051ed97c4cde2e57211b525740da8820232fe183211bd6d9a2771a8d0400a79e7900bd7f9e6aed3ee2976e370f5daa99762e56a0a99fc427eda13115e3ed39ecba207fd5e80e483e2af2417cf241ca4cd1b3e0075e21a57f3305645540af6b2907fa0f9e265d239bfffe6717c4febd76e801e77c0b34c0ad977d394fe4fdd761467a48b06ba4a30053a5f1a7cc061aca703633d0883ebdc2d4b55ca50c8e3305311e05eb7113b95e66d47fede05d484c818d7fc5a9b6989bdb3cf9ab48fb0f437a2e91db437b5636b91fd720cf4503a171fbb32ead0e13682ecd7f2dfe32711c6c844c8d74caa768e84672630ceabe180ca3bcedc6f53746c4aa102194161daeda101df6f60af0a4cba23ff5193b216930c8ade785d7229f89094d9c2b074aeea5fa58a70c8563c7f819efdf36c6fd1db288cd44f321a80985e482ac3d44e4159971565ce174bd160d1b584ff9d831db35d0dbe9a6053d3b3c4821ba002e366a5e0c185a6e072d7a033e2dd81d6dc64037170ce21e67bae4a2bd7845a87ae2859c759b399f0edc1bbe1863ab6d9aface54e64d0f92804c2d4efb4ec99a4700e7ca6fc46d0125cdd23adb0338a60bc52c41ec4e192b7ee0bccb38e585dd8421d9cd5cfcca60f609b00509f0d148113ca5ffb6b5074563c9cb86e578dba4ce1d30d7f63ccf9f9bef6632d60975198af1b6540477c2cf59e8d829d70cd1b1f3bb361fad3baaa1d405db82f3f63e1b601658e2eef2c5f5eff1c99dc98febdef0ac9cb04e0eb91734260a5c2c01fe46889261cfe6d70d3d46052dcd3cf4fcb97d89e654bd3346d622356646f838da0ac58ca799a01db5e8d4496b403eff2bd898b7944428d85de432ec3318d355804ac1cbf00a60d9edaf8312c169854899b9b846855ceb44316bbded3025959e169d0e43cdfcca58b5f8e988ebe051fecd4478e4c703a443c25a07d17b03606d8e72c5d457c32eae86517419a29a9d5212b56ec31b90387c9d9165a7477daba1df2b50c706c4f0c020467b1d8ee3e95d79cf2d2b5385168c54b4b3e59b634cd2e7d4c859049ff4902c2604a827456988f7c6842c42cd0dc396afaeed9efd31e3dd4b51f02d625cbd4123a64ce8f53146e9e5fefe2bbef67606a3aa7fe7d0bcbd2e630706db6cc9de09dad6ef3b0e3621945a3235cd054b8ee8dfc3fc6b334d5643d30d732d6c7f94865f3025e4a821519292bec590ca7eeebe97dda42949688df04956ca767e93296d369b5b5031a04a2e28e78e5d2928b3b46b8ec62bbebf7c9399ad89588c6d0a43c48ee16c117f1cb620c66140027a7612a818086f935a804af175a4ff7c7dda299fe3f948c92b66877df64018f332d26cc6d8b6d021efe91aec451bbf18b0b76d026e137b7d0cf3d26a2a399498b7711a20f8ea8866de0b6c578454016b041f27bd665f44e993860e14ddf25a892f09a5c06bb49914a8bacb9d56bc6b72db7f9ac94546262e795ae4514c87d8d53fafb17997abc540a0a5e64a3f8db36e488f439078ca657d16467baa6db75936d2b0812f8ebfd2b687405f0c40ecf05a919160e787189d6e2546cf7a73964f4fa6309c1525544524c529813f546ff468c628c1f1bf1a5b6497cfcd63146786fa6012da0febff2c26f6f5aa4cab3f291891266cc5b3275cfddd79c86b99f100cbab0c969526469a26d6115bed8e229280bb90ede642271d68ff904d5a53dd3626a390a23bf61441627824824f0c8b0da39d9e3b749b8ab75579d1dfcbb3aa34321d7c329f4d299d50ad8043bbd9505fbc31854656eae6f9f28441c8427560bb1e4ccae65c3ae220a2a38a510d03b6a61754fa882a6b0401ae2287223a503202e444f9d8908b83a375e1b4fd255c6ede5bfdd75b3c5815bf1bbed1c65a62bb2e15fac363963e67c064fb1098c8c1a6677b6490dd60f839844c9568ac31467ce4558cccbfe43d4cdf65701716143361dd0f19d8fd4242f2339e5b8da23d07c38dc531201cff803556bff115a3f40e1f1dd0158ac3a40d86cc92e7f355ef9bd838f3a3da95349eb9fd1cf526460bcd4624ee15fa29eda59986fecfb99c9adc28fae4608149c817266dc891880f7263bc32be8cda68b46c73e88cad9ec1c371e6d71e588761dbc97224a7516bca95bbdbac6b0126031092285ccc817c86588ac7c9253049d82bb3e569c21e7a4073da7da1c48fd5934259dc4cde7d7d746efde611569c06a39ab8c53eaed29d39f4ab581650bb56cdda7fa3f45baec7651a86a73e326fc8efbdee83b0d24d7e9c2367581a974299585798a6ae513f509751defccd6e5d20454a163aa8b37ce518198aafd69c099b76f567d8fadcbcc5439fb683f11f5b53d4c68849d587cbb7cb558210bc21ae90d21759bf879c12a014f1f25bd2473c3b81be7d8f83e384bc1e963f810d2076557944a5b83a75cd1a3ebb60692322a733c4c844a6e7bd52b31dbaef1b770ccae630db03061482fd46d13949ccb29f3da64f0924e5dc741463a796198bdf4a2e7470eed45d193126c66ea70cbc1248b88e0ac5cfc13a8d846caccfb936da976b355665c331bf2054a6c5e0a998761ff879e104b3d0b633ede192a207e036e2c499fd3972d57163b1b3261eb32ad4312c66bace474b083f6ea809391cd31c16a9d1e98d4b9c5dc19058d0655196874495f825cde5df14fb9a28e2845230124aadb8b795241859c478ce3ad47b621f8577d10f8ae1cf65dd77cca4d5f4bab31df6ef2e7f547211e87660d9ff35e9291be4e6cf6bd2958b0c37f6083013a44339403d80561bbf6809842a25b56b0bb9668bba37153e9b0fc0c36c61cd59161d8ac6e3acf4f3aefe4020ac62f9aa71b9021395589e13b9904d4ea0d200d20f8736d4eb9b3369462339432a7f4deb6a40b2115fdf4160c4f82cb859aad3752f628f63cab3e3629ea0f1b0a5cd3c6cf4e2f0984f60cae693f80421bbf346f94fd19a9d63c016b1167497502033bef22fcfcf3606ad634e1bef0c459be7838deb6b22724629071a7b04c1ba2ef54778701db916a63aec0f7645cc9aa7384c022e0d229b927c6780b53817998c38c98139c7236c88d3b6c391b23c426480c56fe0ca3feccbb1b8def97e0ccd5c359a63b25360ffb25fa07965f0045a1c76d169aaf695a4cb82461280410f8544293a8afc065300df10c848e94dbfbf8c915d514c154377cfed885e1cde5c38edc318928034b833a4b482f336ffb117e69fccf1032aa73b060df3a595af45aee7d8b30c777f54f518fd59907cbe9c9a73257d9af1da69acdd8a4107bcf182bf562250e30ed5d685f342d89e22791839930aa726022ed0345ffd6d841b5b4c3121a2a81208145667cab4511e23760906be28d78dd2663e6e95b7036345b955a08f73e10c587e353623635d286d31ad9896d02a19a7a3f4ba624f97b9e5e2c1274ecd6e7d2772bb28a60a09008a2ad0d372f721d462067749f98894fe49d331fd4af5a5d9f83a03336b626a69660479f54df5e1c317b3a3dd3af69624819bd50229831f553d66f30661efcc085bb5e78df8b0153e0a42cfb78ebbac52796a9a7cde193244d2889e9eee7cea01a67c4acb662109e1fd4c2d8d532140896f901341ffa10169151a8a7051fa53a204603d55679de684cd1b8d02b20e85649ab761ab9178ab663e296cdf08aac5da5bd3fd9671ef50223629cfbe298021bf32c0a73d8d9b95dfa20464ad52940801f932153426794ab8ba5d2d373b7059507076c0120d90858a3c08881d4dbfb3d389dd336c2f1c25bf647ce1b34601d096906ca959b210c8cd64cb49d873649426265b653cbb9e7cd5f41901a641403392f800a25dbdd2fa07fb1bbbcc0ce13c682b732b1d3d76e8e3d01a04a9a63102ea025bfbecbda229b806daea60ad353ee61bf5a7cb032d41fda826b875d6b6a837c866cd92d2251998e0fd05b5bca7580970f30b130b4c46d3bc66e02e72fa62db947f7a616a515dc1848a9c93fde1431e85ba083c915f3ef3e32c6b72706bfb8e18cde75af7482eec851a748003d448a904368e4e4e934749b14405ac3b1e34e8e84c22ef9ea3387e398096b461fc6d5236d413f4fa2914810ca27562d0c7e0db3ef84efa33b4c3f7984804489d1e02a776c31123d98b70207e961e3484c87f4e4b0d7a7e983670f9cd418ef19c65c582a02501854b661c5fe9e6368d2f6d3720bd012056724ee38bc4c2015db59f43e4786f2f61eeace4dcbcac423b3e558fef9e6940a8ec01fb445c3a76969b3271ad8184819436c3189edd8c6fe389728b51f0937a6bb6e0453d8db54a878d5cb4f422fa0731a49fdb7a3ecc8fb5ef74dcf304fc01b3a27527994681fe76f46809fd58d9f21dc4ef479fb49720cb4fb35c059079213531daddb60c8e6b009a7020eb76d985e8031835d3065f2be5d23a4ef496a7aee4f9f374234e95c92ed73230e7b88ed38f962830b3eb4ed04a77c4a9d25e97e75d0d332d4fee2889dc5a1ac36457a49e320f52d9563c6ea7498ac6c1808a817f0e42e4406d6a12a5f8d165ea15243418ae4d9720bad9197d052a88a96e301cca2cf30d8907530d8a351fc3d4594e566d3cded863ad3e677b0e75e8e0855c42e46894f2e6eb0b27263ee6f797647eb3b68d936bfacea394f91774dcc7fb7716e2b5f3a32eb500f740dfa363980dbee4c84b2be6449ce6e18c9d86add1397a2874606ce0facfa09840c4dc47ac00fef17a0824118cf13c29b89be311996857e6c5a689608166cf4a1d16ed10d6e277d850862435df1419a9ec939fc0317ceeefce1195bb45453e47122bba14a9da391edbedf86aa77a1bd30933643910b4cf8aa662c60c5c6563cb9da4f8e46317487822b47738278d788596156b441d1d3049d5e2699b1aeed1edb1625934276744db59fb0f5d39e6e7ed8ba29c556f7c6abc2196aae58a0394cf1fe9eba1309f143cfa40febfe8dce5990577aa03dc3e8aafbccb426065c5a04d4e533d090701284fc9201ecd6fd58a5f52bdd8a11bdd34454a5ce092e03457c9a82ee6009843b4189891ebdbd862a124121e70b0e10a82718888ef3571a8ca314e2e8cf52dd478bff5eed7875f9dd3da9600359216f71307d7626059840073ae205153cb087ed7dcaeac7ff7b0d20b07f05588130d955b8bb2b17e6e22781c506d3b47fcf0e15a7815c06b0cbf6bf41191bdf5ea2462795b682753bfff64b558e6d793fe3528c8bff80e2f9ef25bc78132d7e4a7304906149dadf6e3f1e912dc9e3ecf93de5e5e9fb50200c8f401128290c712ffbd22f56c42e8afd0c73de71da1df7619fe02dec9ed27df8e78d803da098e72608de477a822c80aec705d3e49283aee6b11f43585dcab375a99e07856e5bb9848076aaab0642bd49215c0c647c37b656a714f362bb1ff83d114d3838e8304f75713db79dfb5dcd938cf0328d419b1ac135d5ecf2aece1abf8f2aa9bc4543cc73142a4edeeddcb4e48cf0323b3e07ba71987752eb57742406b0526f4f2aa16f5fc96be92d45a64c5c2298e8037555153c43709504737bc3fc8df8a60fb6bb3bf0bf63e34f7289d3537b869bb8c11077231a00d98307a3859d763f3bdd0740fd3001be0751b6e62f412d10fa9b192b4d91aa5925d1a91f29a40ada892491279e75af5b96e42c3cceb310f88516e07d07eb7d258bbfca17072d5be3ff0bcbef23ceced9bd7200686e460bacefcf129c2e379fb67187d1f54cb410e7b087c1dcb77af929a2c4eb881dc8380fde305e3edbded1c926715fa2a2a56d956c183b6a91649fe716398ac7e33c4db22cd08312577ffc8d73e991385457984cf4d5ceaa0b2b259333945788d95de989de5acc5ed2b659944b99ff0cc3d6e6eb6e083875f97a882ecd7c6afa0f052058604cf1f577d5bfeddddc72ae34ceae7d1ac573d73d1f8fc368d23369e3961736bf61ccaf4c680620fef2b6b37c9fc6aad548a673d6723c57d07d1b9c8d7c59f30a5082acc0bbdd7790b6ad1f1337a2a07547e4cc2dba0041846c24e45c750463f239053a6fd45bf027178cfcee1fe7eb7d1db1303af68b8b2605e531622a140a22b8958fdc31cba29a02f40a22802afccd0a50ea230aea85c2f051cf19ad480f5c814b76563f232244186bf1424010f483cbb36093d746394b5ddcc3bd685d0407e1553ffcefa1a3ba8cf932a6b4dc01017452416f3ee71fd2c54228fe5e0c3711e8c9d5e412dcb7c18b3cae9d851fb10bdf5589160c03e8d845cc3e0a6df1bea49c550fb870f95d21d3f8ec28d9d19d998e3e5daf2beca6bd3a33bf71adaf0e6970cd3d4afc9405803219958efb8edbe6c4534d02edfcfe4442d701b070136a7e0f05868a33c193a7ebc3f766e89bc706dbc68e48d662d70694fcf933bb0865b5d64ff394b339c036e2de03b47f39cd203a53e1f002ca77f8430abe399447c48b8ef8d929bed42399ce1d638b0b64b2a798a81e7175bdc670d4e31d5b4ed24c03b3235887a41578a035ce1092fbe37428c21d1cf225fed5777b6d97554b48e8dadb0cf00d2fe650a6b61be64672fc7b5e5f7be1f241687452d8b41f596ac13b48f2c4067a794c28ac5750bab0b56260ad71667f9a3516a783bf20250462c20a0f5d7f70b9575fdc060b6fa9a6cc5b09e9cf74383d5a44f1179c50468279cf3780826f2f696224dea147ae1f2e03ba9e4e5a7fa4feafcb9748277246b90bb56fab2813ef4dadf55732c9a24f803b723527c723b6eec4dd11e2ab8dba1409355da9e9eeb5f866ec2311aebfc3c37c191cabcd0da99756239dd6fe6287410cf2e182eca62eeba87e7fc81fb3a87826564b5d9d0226842d24ed0ed48011488ff56861d4839dd4fff2d47e8ef4da6d29a38419502ea320f8af2a81e3814c1315434f08faffabaf80760ab5866f55fcbf1f116e7ddf34073f1ad3be5a42a35b614936cad71e36b107e04ce250d90eede6f1e20bf4231e51e42404f9aeeded0ef4cf467c1e9e4ec4e19a57fced0dd8721f9c989b3c5706323a6dca4159389eb39352fe80c59a1c702c2e3463f57a109ac2e3cda4c964ebe42ed8d07ab1fc76addfc30d7531533cec27925293452210b83b55600ebc1db889f7e2190fb31d334bce3df2f13ddb206bde3fcdebeb8f920d72e00d26e7b989dee317029f9a9c46a06492243493fdedba708f237f14d1b45ab0389f92724c0722c3b3a739788548ecdef28db41f8c5b55f852bf5557619faa51059f443ba261542c1f763fb806138b504b1ff4d46c38830aaeb2e39a6252559a4fa8c3106a65b28f748732ddf20ede8719f75b4a89d6213e09fb3be1392b22a61d7d222a2923f3c9aed9b60867439bda93db71960a95cc1e50c85d16cd70bf77b55d89413d31a4b76cb8cc38baf7b240bdf7f1f657d0052a86c266403bf772b8e0069e7727a3b4bda5b532471d7f2fdbed59ff56bf7061ded672bd3e919c4e4980d000afccf7d37813167f35b018c5e8a3c8b364c09265f0aa2359cae34048ea8ac8ca105186d98cba18c93f1f8f793be410846aac8aa3237555ea6aea8bc95d07661437c3b12698b0c67a81919e24c95dc4d97cf67e395250a3d6400dbccf1ab27366d951b382e9e55da5f971fdf54c9a8a02f84d74760b2a560275d5f9ad0a58265caf3875b2ec55653917a276dc8e320cc966dffc497db14811bb90e4fa6039468f2bfc4476c0bfcaba56eb3c212fb870c1c4e5f1b9c87e96f63ffbb76679cb19bd0eb43011507c67bb3920205797c2641ba1e77d5f6cbbc22610470a369a960b816c4e4e4553ac7c6038b212e1f14324f664b06e804d5fd18d86f0dfd3a33d6fe8f4c3cc4f9333d1bc2c766df7d7dba4c1d6edf6afb3d2e7e220557bc3d1aeb582ba7b658a462720e63736130860985232ee08ec1034266819ec59953e2f9fc34570060c7faa3fb7f52fcfad6fe3c1b8deb1a4c6bc9911c63990c3fbbb749191fc8334332ac987101900d1aa32ff53537d7de5a2e2716b3cde81377f84e70e20ecde68322226c57387ed58890441d14108e7a817a6b7847479197c3a2fc721941d525280c6da4b0b4c89eb17fd137937c6e5b5c12e542145ab58cca009a35f96688367da9fbbbc3351747d905ef27f04c62a68aa6c60ac316afc76dec26a2f54f092901e23d1fd6b22d1eda683a7f653d86e4fc5aa1bb5113a9e8e209ff930464317d5fb4352efda6b690ada9a8718b6a735ec0224d94484ddb47144a29be3780de4d064b485964bc23132c97e655305d494952339e9136d7b3664f00919cb7d1bc15f0125c2e64411459265ab6b19938b3bd855c870ec25445fe2105751f9641004c5d41a24fca8d7596115f1d3ed7facd9dc60a021e617d4ad8a92eabe33a3b7eab53e23a471f12822c689db52834871c8da0839bf5af8e7161557f5277b970954e3a783452c582aaefa7f1188c84c56a452562888428034fe7a626ee6f305d2693a735493822b8ef5e354a1dc4064f13ea5961da54e16b3c407b8d09896905b69c495abc197104866acfc9126d90a6c7524c2006961c75bca6590c804186b038f930f17104d0bfab7cb22e5bc09d63a6415a14814e13b2c24e9096c77662ef6b42fd4ef682c8ed11212340498ff2d3cb18105fa12a09de25a679eb0ad95e7a792d10409a280158c1c7b5e2410bc8f0961249541b814960dc7880807e09e90fd9d95b96e386fbe812def33deede67da82bd4e217d6ce382e5fb640adee3d88b1c4a96f16bb75762000caf63ea023e0ca94d58b12c305ab02b5ea4ca8a0f185b894801b415fc0128dd8d5a331969b1c5ff9293fc615c9c3e64365fc505824e22b0b5604fe5475ff4ab0b4b1e42229e845f9df9fc47f474262ea6b1d5faa5c545740a6a38c7ec7c841bfb5d7b0cfe730fbe72f1f90571415b0b7aff03d6c07ac36f7ad0c9c5a41900de44ad1bcc89023bcb0afcb9d7e0f40b481640f39e2d4a80e7464fe22d4e835d0be7509a4587fb01b37bb45c4d04c0060898abb867e8edff8f1909dcf8f372921d0ce98c2ec09f7976ca6691447602fee7e3238459a6d3ea05bebd02256e9654f4a95a63f077116f359dafc4696a200e0ffd9cfb94a5a935d62610e76552ecde3e41bf4a4e2f3ef1ea163aecab81e446fafc08669e9f33a0aaf81d2be3b622f9decda66407ea39c7067990272aa031b5c49f9e7634571b60ca0fc9e8aa921638e8701ac9f9615ec55028afcbe19942d773eebe7f4ed2ade6cdd85adf35256ebb966c138dc89d876e3c00db5858ca2c2aadc3d67fda4e3f2401eefb37205c2553c7bcb3d03770a8be1b50741564ade75ae04bd74c1c78f7e57182fe3565414088cd42daf8e2d72539e3d826474941fe8c617072099ac835af6144c11ef257bf294a7ad1c2a96f34e3866d1801ecd207d4efd6d8668c3958c856c08869a655a159ba0926bb344ac229b3686c9ce3c6d39f2dfa2e2d929e315626fea64b59713eea92c279bdec8ff717f421281c6260a91c616f40f564a88119016ffd22226c41f237b12534c6e2f76b23a21757a6b71bd41e4ceb6832c052fccebb88143a5c365a47cf553d05e595359445e77bdc81fc83009c440d86168807179a1511381f218d15d5fd41e6b91b0f68c75e1722366e5517f15db5cc3e008f89f3070e9ee5fc104729f1450368a07020db17000fc82349c221dd844d3e2cb57ef41528a131c61f1439a870b6d367e7ef0563c46269baa58d6e12fdb59aa251066936174a1eeb90c403dc2b595b8b18e0928fa26b143c1b154c84d40eaf3b2eaf9ba5a443dce93a59cb71364ed4c88c5839826ac91d7547f16fd96d4095ab1255c507108d05c948d47eed02e41c67b0a3343a642e9ccfbf9327e0bf0b76d98a955eab400f346abfbb508c7ad9c1ef5c1b1df8a44416d43062f1dbd132477bf6ddcedb83221ce2c4b61e493e98210958ee5bb884476e82c2fb3a30af66bb9013fb49cd5c720e9876ae9f5255bf1407d798df40d0447912354e12bbad8509551baf4ff8250c5519f8fe5f576911d9f7d8b9ad4f485db5b758f3b1d35b20aaf91da56fcef7a8e4a0e4f7b1d9cffcfac6e5e2abfb5830aa19dd406cd7f177947081c281823cab3165058a8a41e7d6ea080c2a1b9aa1763847e4435865146bebc335e84d61ea56dcb0b3754a5428db995ab9a31a099c17fc86908b79209155d8af6cdf046afa15c8f741fd7d99f6ed50c56ec245df7dbc9c4834769d262c958138436497877a884764fbf744fb9c516c94dd9dd9f23d97f71774774f17b934c32e4f3987b565be5aada8d821826da46be2fd560c6aeb557a2b8b2a4e2c8868978b0c7cd1e5432a85587b1758951384d370d1f487c31d1bc04d69f3298e0fb3f33efb50de9137ef88bd74d03b87913e17fbc4c36a80ba0c73f75d26f493a9e4da1f2f59487205029f3d943391c3ddc6790f3abcd52756f843fa5f998a620515ead0b259597113495580555349fca91475b483a806a0018224753cdfcd11bb5f1b60eb842208dd89c87b11364a9f944b8984631ddae69fa41b87ee19720ff96f1e2b8cfcd9560dcf863b8331c98f8ba9d02cd6a2f140e60b52d2132f90a76976eb670846e6e3e511c06f0dae6cd973107a0a331caf3509fb97fb832c70cfe206d2f395c736bedde4dc75544ee0c69effeba9cc8770d5e059ad14012f39a304497c204767e4332602071f4a08e47ee9fabbbebde9f04fc9cc032d5c0602419a1a06f30ae769e483dde4364f7ee092a5cc9cb5a8c345abc9b14d3f14aa8db56ab89a8485becae6695c433ee1d1198375af9a0c571141ddc27c0188441ec44686fb117bafe6015bb92b75d122564c1c320a0b5f443e1734ffb7ff9fa1dd03978f98825fd999352f2e2605a466110ddec4ab02c042946461c95d95f4ee5efffea7670d47fd6c36043f290116ce2ec5510daaf446814275ad3222b45e5c2e20b0fb2a8a1f434b1146caf2b54b7ac5ff1e2c08c4da071d138193a35037bafddac54d28811b6d1f7e1234395de4424adcf0c70b3e4850e78082ae5e84fe00e81db78a2c205b6dd05d1cdbe329028e7ad544f83e1ea4901ed874611602cc2a906d65e14efe33ee2e4f9471c561fe0f2076fec3afcfa0861c9fe3284932d214dc592737c5f7eeebdd0c617a22aae5eb58f77fe7f42a005ba9122202c2013b0147ccf0c909bbd323af323a2a2e0ba39dd1ef05ca0ee5085e5ed7079707cc08557da37feff00e876e7e5b4ea105b494f33390f58dae6ddedae061f4ba75852e8992c75d1f668e6c69ea76920775c63e15201b403047e0b737198bf9361990c5c01239b7b5ed0022f51e4c930553752a04f74b6ab75892fab2ed038195aabbb98bcc59371436602ee5df5c5aea4691948f4629b958651002a9569c998ca1f44ab325597946a5cd8bf47099d2a11e4689bf36854df9517e316df07bdb3b4b958138273f84f858b1c93268c3926ee92ea92ddbd26531ca21207a826c1a19319e0ce45f39d9dcdaf0492e3f47ff0efd73307bbbd2c70aab3bae824f2bec25731930c152cb0f2ce1b30985010c71eef44584baff90277659543bb68c8e727a0c60a213bf79e2057650c10b638dfb36bf409571c895c38f3d8c518f8629deee0aa7495896529400a2dd79a3e0609e145da29974841d6db9a3bdc5b820990b00775aa5ca3c3809ac7b88fb20ddd205dc1173226e2e355b0d5a13bfc543f7fa1ad6444400f8bb457abc5527db92008bd965552b3179688a938c16d7016ffc91ea917257e5447de27101a037a8f3e9cead533ceb989ff88e2e13f9fb3eef30c9d49df0bcc246aa33cab56b992da49caab8b1e22f9329c47bbfd375dd7d7758966ac8d98ab2a640ba78558f3a6a8b111c90049aa58a8e5710400a491d54aaddcd1ea352dddf6c7ef34cb3329b671000df0c601e7735e29436ed054e328555f98d48e5da72ef8484a8452c918ffd8a230ca661e04504f1e0f2ecf24ffe23ec2019bc67913f19d7fa4edd831a195b0a8208c008ee08637ab4342854e9ed524a92d5d6b2810e272890bac2e3881f47bad8d203031c70f7264b4617a8b3c42787da91565ac1dff9f26e5e4dd2c9114da03f48c63a8e3f486cfe13b4bdcf9955e786dfcad5a3c6389b4eef73391a74813d1e66255104144551ec9da4c565288a3c2892ac4248c43889a1a28aa26938bf142b7786f34b41aac0c638bf145e4d2a7566a983f16a927d5e4dd22fb3e2685a3f52af923fe49e9ac00ec778358957937235b258885793dc534a9e306e866138bf14209c5f4a11ce2fc56d88d0028e30338068f2d4ca7d8824eebe32218c1ad771f53e9713860ad799b930438401c304894195046b0160580bd8b9d35d69ef736052606ffb756f5b5baf0e869a4ee79a4e8bd6567bc5d72fe49aadada82042dcb8bb4ddfd2a66fc913441040f8e0ee40e470b72f51fc1c3e2d49de9cfeabc3c615428e6c1ed531a5741901240ae147166a6eac11e34584136819420730649ca5a40267ddb084b36e08e3ac1bbeb8dba8e1383c5836fc70960d37ceaa418dfb3471f7f1c59d03588a870c8eba818cbbd3ad71b111e3c9e15cb366cd9a1bbc16445574a8314e8050f06103a5eeda2f79625a1a6872240114c5002d280082ea414f0c50537eacf8a1e120c117a7cbc55e11830a2431410c08500200a57b9e778b24594b2e56ac6020c61a14b490f3493ae2438a19b05e3abcdcdd13708010a8d820851e2297d4181dd8e84863851ce8eebecae90c71469816dcddc6c673dc1c87bbfb0fce0f1298a0a5ada28edde82067062a040066cd9a356bd6dc80e3c202700c5cc5a6488fd01524e9ee41acb0415858f1d6a460d3ab9d8012728233aec5757cc0734250cb49942b2424800c9cddfdc7dd0a778ff11c5912051a3288d081a7f10843284a0e2868badc78410709b8f7f8803d3b9ac478e7df17dfcc57aa010c40c2bc38f7949823dcdd3d654411440ce11e26b500f714989410ee1e84bbe300f1c53df5830fee290578714f250001ee9e3a40aa071edc533be8e09eea92ca410cf75401dc738a8b7b0a0702dce0eea92d3efee69ef2540df8665e91aceea96dd6a7df5d27f794965416f7d40cee8e93922125805400dc5d958ac1dddd53585257ac6cfdb6a7dd533d9e7bcadd534fee8e93dab9a774bb491393a6254d4a9a92342169fa69f269fafc46e6dd4f92baa0cf5828c85e318a357feb8f52cbaa7547b15cc645bd5e907b4aebd3c477a7f2cef5cc3a32e69e8241d5234da5baabedfd917b0abb3baaf7b99e9fde1f994996f0de9a3f48ec2b55923d9e734fbde06ee27b87c87a6dd7ea56d0d7e991c86abb26cef634a2cf5d1327ed6b2ed9972ed32ecee9967aebee38ee29db977866df3d555bb2b7b435b9a7ea28bae0f866bebeac66aa0a15f7d494fc5a97ffd4cd663aa54493a40ef637d3ec6f0cdb18cbcc25fb44405ac35e0a0622aabb0ea55ab061032c1b9038685e9e3b84b3ed5aea9b645f1a87a99339fe6ca4a0fe8cb560e14e437adb9d372a68e1f990ad2f92d9d37e03b2b40071f72c62386565f9e2ee142c6b0da296bb8d205968ae6f9fb31cc9f8e69335430c9c667c9b2187fd16c8fec6305bdfe8e961d6d6373297de6221fd64ddb3adb14d04c71398800470c5951e5d706bbc40bd541bd0f5ccaa6bde261ea1d09c645c34d2318766ad2df944756a0e7ddbade53f51f0d6a79a6bae7ff3369f82d696ffa43a186a6d4747a1e078d624a0db2e36e67ac9cbd301e57df3fd275cf6cc1aa3e08ead8fab323ece5685f43845496bbddfc9482e6fc6d47ed6d94aabadea7c8928a8755b87e997d75ed7aee2132875e855733d9dac15a260cd97b4dddd9b977e68be7a95daa7e0bef5a9d27a77b4579f6ad54eb9d2ab4b6c3b9728b8b535eb3885baaa8ce3148dabd20b7a6b0ebd48b2a67280c1e53a83679971ac130d774a9ee064c2dd6ecc6485726695d9b716487f596751726695e972c642b237310cc7368681b667a2a099757b4c02c19e91be9359796fcddfe5cc9ab536a27366cd2c13c9e7a2cd7bf36966cffa34c342f67336bc31ec9d7245c298f6160b6d0cdb3d906a6cabd4d4658a37d501b1a6d8b56b0e05ed1b31b1a6d896f729a8292b37ba3b7d610b779905f7cdd13dea60daef2a33f1d5479ed091824e2011d5fbfe5993e87e0d82ba661d908b665c443f6350ebce7ae4883e7fffec710da8ccf671fb46b19ff19e6d7d31cc5cc2303c846935882475455657a38d61e09f3d0a9e3d50eb5cfbc9ba2b73258140fb4414cc3c4014cca7ee73f58992bf7b729b55c702a5994b602d7b356a5e275bea401a86f8668eb74bd6df71d97472e838ea6825ef6d56147b953aabc711a7abd148d69aabd455eacc4a55660a68dcbdc7124bb7b7c65e56b6cdac0b02faddc6b0588fcc954808d3582e10015f3bfd17a4517caa40414b6f97eabf8fdb1a34b32e6857b3d2dbcdc9f56df963a0b6e6eed22a059f6a7084e2b3e404253c24a93b9dc8cc1b0e11d18084886431a2210abe9e3079a34f1454f2d3f3d3abd15e8d6e5d5eba63bedec4b0d9c658f654653c58ec9a8af5486980957481282c24d9e1cd740226137892dd3826d9619a925d18ae86306949b263314961313571d1909a42b63e2e676bce86c9b33e69f177bc17b7c6e55bd1da2a8abfb169ebe358b31d9e241de5dbbc46fb67fabfa857634a6461ecada7b9a4eb2581f28969fb676f7192fe2fda3f7bb2567f6318692ee56c1869674cd6a5ac0b5a9a9dbc0bb47ff633ad23cfac9bc9869e14127af34f25a1a7879d6536fadd50925d1896b6a6276b55d45769002ca52796d2751f42c3d2c6a3a11213255769e389303260694c522707d6c53d07f6c4826d988f0e854273b6b6fb676fcbb8c8be15f23c81366672322f49e253b4d6d624175204908e70dfa1d9d769fd1ab23748666f90bd414760b8c784b6d60de9cfd5245b642e39dd208c69f606116d0cdb18f6849130a6d91be4748348b296338c6943470e669cf35bb9bddb7daab82dda9a686f4d5cc185fca790ccde20da53fdccab49a0b69774225fe07ea79c2bce56712610052dc5e64d0203466868afe8c2f9d783843b05a2a049a9ced93012a536a48ee829e22279967729f6f4b0df98e93766b2f65ff6d6cc25bc7540f606d98f87050cd3d6d415e9368661d8c630f3655f8661b58d6137c8de205369631853ace8dbc1c0b703c34eddf8d4f606f16a92e6d524532704ea9c0d23f16a1268415d8e35f0bcb4fc1b33996f332fbd610deabfd7a5edade98033233914cc31e262eaf91cdab347305c5347f34d1aa9795fe7b7d4fcaf61d76fccb493eb93425bdfa1d7cda13b9c81a835ab4bf7ece4cc7a5e9ca63a3914ca0ecd50766a4929b86b9c508389f61ae2bebcc741f2b58c3c0c5f57c4c85784878f40c3378275e7a1bbbe7ab6eaf44846ba684856041486f8ee6a496cf4112943644a188ae28eca51df1017be2130b711f2d112b83b68569b273a39391c03d5c9b1610882d47585d65d8728bde1c2b8a79c30a4c5708587878767e76b1180167107777c42cc7cadd66c18b141809021f71ff0075cb2d3ab3957157c412e206ef3965f101f3c5f0855f85b6ceb7d6e676767e868c868c774ba7ae868c808ef2dcb199b38db6cebf0ce2defccbb73cbbb2259918ce935ee995957bb5beb5eb05593553c71b63d5b1673b69b7bc25b7fedbc38b114c55e3d3f8bf94d9dbdb5cf470f9f8f1d38aa2245543f40a1672d23444b35e1ae4a01a5f4b1d278cd03007747dd94a0601bd3e66d6a1d846046ef73e290af871877b256bb4fdc554e6e6616df8837598582bb2a74253e1e50d4a7871151c43f1e58cc8b9ae2e3d1c43d05ff3e5003be6eb46f3e29bdc5b0b1a28a449086bb53f1ef039ace3f567abca79d6eeb0cc389cd32f7c2c539dddeda6a554a0b4d5198966833190b315812d2d10a462a14110d090501f1803bae35261cd1c93152020945462032640d15124404206b583d787ce0c19a3538373556aa940dcad74c49e2f3806edbdb5427a89a7c3b44e03c3cba9bbd2a261ea0767c1d9001749a9ffb3a50d9e04f87131e1b9abbb7e05f8e1f3e1ddf97030d77a750280dedefec5b13b266cd1a22dcaebc7bfbdc44899ed5a0264a5ed7205b83c89c896c58b5a4c98f8feec6137787c13f0e9ca494e0f0e1f842031c3d78f489554a5449887880cd0e36124042211dc560f651405660060b3702b584131a97690da5840178d5a6fc6cec702f4bd410140f3783cc05ae703f03822e3c04df8d1a9d41334e435d3ef9477c37605caeefe6cacdf9dd8c6ee2b066a90d35fccf9e918fcf2e0cc3f0671786f7ac3bdbbf1a513cf35e67d0c767c7439ee515bf550dee2e3afd563d7406793c894f954485c4dd5161288ada290c7569e37d2a103ed50e1aeeeaa24a7cbe94171e9f8d0bdc3d0c3f1ba5cf26e8b3d9a11a9f34dcaf69cde6b2d465a51f8a7437f2a154ae33a82bb1cd4aefa9fae75d5c57d67ac01e2460cf4ecdeefccdbb87b5660667ada16bc2b8a933b89201ab066994b039008b0664dc5934e8a9256b0640b8a35862b038ab0c1ece2a23e52c16a491c386ce380c41fbd69f64804567f0c3b08853fe24fd16c3f4efea2399af82a9b43196ed57e1ede758c6616830be008117647e97bf8b3460dc5368dc5367c67061e6035b6851269585073ae09ec24277734f716003ee9ebac2a7c93d65c5e737da36a0df9f6d2616d240063060561ced334eda402536df96d8cc45da763193ab60c616ee5f74c92abcee6a2fe0ee38162023091c8da3d3c951fdecd78fdbd5e62a9f9507386af0d596b3ccb8153c61ad2089bb913034f264c5a4013db82de3a28d6126beaf3129645f08e79722a329edfba4c9374d51ebb78920d51524a2ae18914e8cba5ee36b1c6323cd9aead4722848756a0e051f7ce9e7315fb11c7ddf34cf6bbb7b0767ab0fea5b562896ea6c7ec545a1fad624d7ebf21ec726ea1273c6a71d139bfb9af52cf5fdbb3436098d3a227535e58c5457dc78d6521501561831c78205861a9d411e1e30bc00e3891ba1d34de8060d3536d2a03ec9b3ace37896ba9a139e51f0bc1b6b12f74fe3385214744ca028fc17d123d404fa7f7b42cfbbc5fd240a3ae7dd3936b2dac42794ee277978ae6b6b5d1ec791822e9df3ee1caa777a64aee42dafded926ceb71136527c625da9796fe338d27cf17977be3b22556904a25dd2584953a66932c2499a15d2fca4219206070d1a685680c6024da031028d0e686640f32c3441688ca0d171068d3326a8c019314594e04c0f46f070a67726ca192467809cb9e1c20c5611511491833e75f956ae1675293beb67541a36281bb28922585c3ce1a207ddf80566465096e40c9333533f16455e3dcbdfa0deba8298d45727275f17055965ccb83ecb9071cf6594e4b26465e1842c298956c1e96a94cb523cb52d8b57162e5616b448c664de4ac67ab95a138824ab90be672d6d3c4d64ea64bd3c54da9a9e1ee664e21cc57ce5b766569a3d7d11c6340cb30f9a3a502727e7864da049460a66accd3f716a47ade9f4d2502f66ff73ec67b2defe99fe5bd3cd963686614cc330f3739586611bc3322eaae9661bc35680fd17590cd32c2b2a697b0b8ed4ac4214dcf97cd25bee20f1eeed66ab5985deae11695e4d029dcceb8281e0d08bdebcf3d08b1aa9e9f4e73fc1fca7edea1a544d97deb767e2b396e34dc9c423052b919a4e13a1f99f82e3b89f7cdbd3fb525c3e6ef76a748fe3d62929796da60edb68cd21ebaded8c6b4981e8016418013d52da69528a42a3e03675d865e2bbab79495bdf5e9d71cca932e5455d55d71e79edbe3dbce9ca054154e150f4ef5e90132a72dc7d0a184cf185bbbba8bdd492780a32ac292030851777283bd4de974db1dd69388593295a53dc70776a495cb34901022da490c269a8ff4643eaa2a1cb671786fa2f4b0a1d52a8dc3d290a11b0a200c3dd75ef8f4cddfbdccb869e1e06d3bd3fc2b0de1f59200c63450145f73ed7fb23f045817a7f249a78b4759f9fc31af7b6abcb76b4af3f7bb4de1f8df471f4891fac277ad8c00933ee5ec4594e04a1594e343911c59d52287610420dad322587adcc7ed6c5b22e66bf8923ee7e237f8661d65c3acda58d614c38c09d09a62347e8e33651903587461ad260403499522ce9456de393b5aa5f230a3d1ece4014ccf94f9d16f515f16ea2c20506b6b881020a3720508b610c4436366c547073b4ea41448ebbf7f276e92e328c60eb7ca3e4374125f88628f3c3105fdc576686687290273564e71b42489832eeae62f10883e5a61026e66e310c47181ca7327cb062c283550f3b16d0c5933af8164073d5908e05f4f03007982f9c24ab4d040e3e305f6236a482d8fc707727fe81e9d119fcc070e0ae5fb821818910567898a3abd11b3eab4d082aeeae65df0a0728842a752415029120a84015714315c4e8e6a599d6a5035f103ddcdd46034088e17e04083040e800c4d8a3e1ff8dea8228683f0c331e67f880b07117ff6fdf17fb250577fa27b6696a563157ff29573fca0f64b80fe00728dcdd02df0f34f7e10ba73e6871f74a51286365c3072413545ae028000dff20d6a7802f476e563514105be3c50662b8bbe89f172eae33f83259696bd21b28f6e47933ed9699f60c6f1d50fe6d7e56d2baf7475b57240d23dfd498143acb6c84b1ec6f75662d10a669dec3de66de99361f49ebd8d615a9b435cd664e6695e96a24c334cdab4939dbe3847a3621adebd90b7ac2309cae46f866beb4b637e8a57b7f949fe83f17e9de1fd9379a0dd9d77e4cce74ef8f362667f6ff56b5b9a47b7f0434a4ed6bfdf7dabffa499d2c16d3facddf15e96de9c47b98be2969a21f244b9886b3e19368f37ef31e6664dfca36ef61393a50d27649b20af5f2fe2e1826dbbac6cc17a6e58fed8c34d7a8113d444d2875e5ad4e5fa3d59aef54c124bb8c7fe8675d921d85b24391ec68c645158982267e51b057b35febd9c0d084bbef979515068ee2f838db0d53cae50817225c76b8fb10fd1a8719441c883e1c40f09ba80b43db0dc353675c244480227787ddd0811b7a24598570917d9aabe68de2dbf2c41623b6f8e0ee60ce169cd390e8dba2b2b19f0d656231889f0da7bb36b10d393a3961987118421922a58631866a3524018e359029d957838ffff18f862fdc41fb4ed7d2d0c447030268d839bd61190d4634f8880100e1156ae6fc5a78d0619865055f16291cd4d6c435ea720e1c87a7fc86db701bf72c367c59685f169b2c3ec308be19cea060a1ecd0241f7c10428daffc4b9d7ed96bddee22c19eac95f5f3e9be5aad5464787806c025060df4c9e0c4fdaaca08e08c0c058a4ecfe220b26a1dade86b4e4c7cadbe38da0f12fb0ac3535357bd4cba5e261b86e2ca4684ef8a1aaff25db9ee2e8a5780e45c41595963050d771deacab135e8b39285150f58c980bb477184106a28b582e4b352c3c5f820841a3a0446148b011951191113118c0e212d2919cd4071fc8cf7b502e08960065b5a416c024a725fa17894d830fc78617809f0afd5afd51a0fe7e90c77dfd9c560d7c5ceee688e4d2a8474b4f5a79bc2dd419d1c2a4b9225252151306888d2c76d1dedd2585f59521248bd081eb6117dd3cbfbf37e6b4553973f1c02fff007fcc355f88723e01f0ee31fc6c13f8cc53f6cfa876bfee128fee123ff3013ff3009fe61568e1607cec107506a0cc0c8091cf0c10635850c4ca4c1a96181300868724138ebb265842f1860f214068efd4e2fe7e964dea2df5d8d55e0be3196d9c82bc3e96af416c3f2e611f5fe4857a3fc16db805ed75add75c87c6d8c659f49e2bed28cbbdbc0dc7d8a7f250e86d74dc09e1d6bd6fc91558c21bf48f191dbcb4752323ed20709c6e0828c3b16392feebe7518091efee54837af68569b0d39272f159aef05313cc90b60dcfda68cbc40ab72cdf0b3da2a1ac162406581a28169b3e4c365e1ee33dbefa4b888a3826ae1cc87ebb16da81817aecf898ceb6a61a8978cc0f89cb4b8fb134e45ee9e97c430d4a2ce20495651b4268f36bf74aa1977ee7c0ece6fe5bbf90a2ff82fcef33d16d4043e665f1ac805efc3dd5700ed17ee6e865a2cee5ec307ec10be99af19545b7c3631dcbd87cfb6e5b3e1dc515e6ca0f2d25e367d4bfb8202a589931f244b5b9bd8455d3aae1c27bf75fb4671a2758f3495c2502c6d3c0d058a7d85a193974a8b4f7425b9aa8c0b68007d2ee8c0a3f785929d943817c5c8df3dd289696158134d7c71ba1a95a52a8bd4110f74a04a13da112a60b8aef5364ecad91ea7c2e2a3c2737f1d0b630a3e2a3d2370e09b2286fb88aaa1da80ea9bb2651c724f11515d61c4bf293e7cc878450a199d41da0ac3471225422b1610c002373928d00263c3cbcd8d322a8cb191451963788c5094e6071616a0f86196a009902061e4f4c460f348c1c1c7c7c46eb4118108f07432331a788aed281145cf8e3307303d86720f8f1ba64b0b0766875150931f3b78b1b1c48b1553ece065049f0f31ee24a9d331c2eb31f293a4de30ad41490ce167a06e74a419c2b1ec3c044ffc8b32e4ee1856c40377d51777d50f3e28c04b021070801e78d841872e06c8a1005c7020c00d5b6c50d5904a81062d5966500da096b211c9208000c480e58aca4aea841eef69a7db3ac3a03a534ab05992b9172ece49f53665645fb87fb21dde332b2ebfc4644d7573573d0b5b7ad516c55d65dd55362f8a6df994d04019114189cbcddb61ae9aaa7e495b54230f2ad105777757555151297f4a897391bb4a0a0e423277550bfbf648ee2929ab02e4ce9dd2dcb9e55dd00a2e2e86ac44f0daf20415050a0b9416658cc0545414771593bb6a4945ebfddc00c1468a0859ec704debad2f933597368e6198ae4619c47be8e5d23b9f6314ec99b596ebbe380ada5a231af3897085fb70a62f280508d1df1032887cb89bf89ef57134c438e8addc59ec1b6ac010113eb443146483f26b7cea6a14fbd769a47bd3b93405dfbc9457c1d1bcbc9a2444717f3b5d3df2f7bd756bda049414865adfb2deddbb2eed55f287f00e02ebad077e930e7c4e46e06eeddbb7e6b5e9976df326cdeccfb6c6485beb86ec3f616b12e1fc52ea267f68e8a5eb0fd5aa35ffe4116919120a307c285cbd7b9b4113eb8a7160cfac3af39af8da216fe2cfe5211abe79495ae2bd7110d5e19e6ebf53af966f333f7f39c343949a7fe2d07cc2bb52acef488f1c19a22423922223a20111c95460cd6442542ce09c869fa3f863d2c469986f3d3f261c380d9dcc1b28f8b7e409778fe1ca485d315c59ad52df92779cdf4aa933df9aae3aeb9940238f8f92137e7c46fa3fd3e15dc5300ada1e69e271d4799b77d4b71bc6b6200a8edf420c945297a52e27e5c5cdce9af484524aaf507a1a51f066ea40aaadf8f0dcfdc83f9f1d77d04838dbc53dd1edc2fa33a54d149d4500508244c8d43a488d6b1f726f2035ee3c3c4031771a74c3442950e1ae91d8fab88dcf16bc05800fe80c8ea37b0a871f262b1b32aabb0e7d2eb24a30a35d855a505e28ec4001010a8e27367852867b59738d39ed7a9f6b3d99c15dffbcfedb727246cb49069c6471771f1e76c069a1e002d7e4d39f5a0d5ae9a0830eee8e12459e700c77f761eae2eea830fcf1f9699d50e5e706d99e49bf8470361d666a3549d26a52e4e51c788b891aa7610d9335244c7010f383f661d02f50bcdd570658e510b6969860bf28eed7e27e2df66ce27e2d6e726f71bf16f7ebd7fbf57e6da342cb878ccea0cf762c5a3e9feb0cf23459156053c9544c2a372a352a54a810a1522307ce088ed3b303c5d845e583eb745f7159e1d032818a9609349b2c2812b8a37878c1112adc6998ff8816a761eb08101d329c863a54d0b0a5639493060c0d737034fcbfe5f4b8d3d088b772dc6968c4480f346c1969ea7dae0435256c71f71228096348306a1539c39d8666912d5ec487fb6d8df085d370043126786b84ed23e0b8e7b224428413c1d190481177175b43ac680dd947de1a429d8650d0584b481a77213851480f0d839041c3205adc5b4180dcbc254212624b8426ee2d205638902e4e43203404319c862188a161084e7ea4f9f145575ceb87ab0502194e431064700761888620b8d3100b1f5da80f2af8d652d36a25e1346cf15a2d55ebabe2db42c3cfc89d862d569a168b6cb1543ae33234ccdfead1438f9186ba470e0d758b0715eedee2b185862d1e403e28010d5b1fc8f081d1073e6858da783adef2a00424596d2d0f92a0a107bbe54112771aee5043c31d50b4766871a7e14dded1e3deea000b7799a1ee0c6ae968e968e9b8fdd79c74adb99e353b09a1412bc716ee44bc244f5a395c8ee4861878116b7110737fd29a3aa3b238092d1c64e8b718b6645ba9acd4b4ce3d556b6adda88227c94febc6e98ea4ba3b4ecb0614febbd5e8eea895e8ee2817dc1de54ab0164e10f71b16b80f1943518429bd663222269148052099126d268a61eb068c0f0100362952ebe6a975836bddace0b6ebda69dde0d0f373ac55a38c560d32ee6ad5c0e2ee72325b35a0b8ad3a3d99f1672cf403080d78a81b1cb456678f8f8d0a06315c4b0585bb0fb14ebe2089d3add97ee7beaae2bea2d24a91a5ad09856ba592b896960d19ee9e77de4aeac814944d7f16da66cd3526da78620be5e4baf7b926e693a27e92bcb796435142cb65ae33d8d302897b1251fcd6fc0079786ed08223b941114745f1a561c635cdf886494306a7785324d26842f1a6a5ad093566080ad0678303384956a1281bc3f48b242b49568bdfa996afcf5e6ae0e4fef6049f1fb007f4d9b1d59f1bae35d8e1e34383978f0f13a6fd84e10cb0bbffec28dee4a9a3813a03d17a86dad4611949ea8a4092d415511dd7140a3eed1d29ab16dc574dab28ee7ff35e31b9af96dc5734f7d5cc7d25735fb1e0be8ab93bce4ac9dd7d05735f25ad90dc1d755f40440c62b218147187810ddc41264c76a2c864c7f3c120893361c2343f63cb193c3c0c5d90840bbea01c60c610def3f383e4a9ca5ebcb726d391fbea4865860ff733565071404d15ee8199336a2ca8a688bb8faa0db4800af72163ef7375c97df56ac176771b5a004467b08c347ed6fc44f1d671c557c6125ad798fe2fbab568f65a63dbdb9ead3332767077d77ac97c6d0c7bda3a250cabb606c9c85a3597ec177dd6993f530103dc5d147ba2355f8f6146cfd6978d16081c477d77fe9dadf455a0fbd2773252a90d5310c99a8fa3e01e7f90e8460a3e6133f7a4876e98968fdb4f54eb30d53a24597de8d6ba1774464d6f98d29fcf55b27644416d33eb5b4d9275dffb8a01bd89edebd81caa93849aa87933a655c62937fa8a0151922cebd6b5ca384ea1b7171db538d28c5d6318ee1ba507ec017b7e42d0c329571c4d84a1c6a90bc7181c0fb0a145185edc7debb71e7c61e0b67efb85d173e3461130c870d7364e1b2adc5061f501185d8a6e34a9b991c14d0ad200c387bbffb032a22105e48b2fb6663068be2f9ac07c51e4460e2010c3dd712ca0c2aaa807d1101f0852384a811a5507bc28e39e830046bce8c15cc2f1a2494c794193849a6c78f07541064e0aba20c29d864323e8a28963a095660cf7dd04ae50a5f1e24c449106498b343bdc7dc741171b4d15404bb0e4a049e2383c384e84ce88f1dda74aa067623449a889bec0c519a0081f174de8ff9b0d1d1b3b3856c04593f3288e1070e1c3d614f499a182167190b3c261c6ba3b07383e50857b081fc0e2ae7380f980135a802dc6b851bce98d1615163eb6f8e2e3d08bf650c6ba6f1182971972779413f1214e5d88077196f7700ebc03d7e1391c87dff06f0c0cfe8d69f26f0cccbf3129f83766897f638c80a0a3831c154ecc850859e1d021e6b45102500f0eea00286cf43820c747aa871c1e5c1963cd67028e14360c3024e438373556f94fdebb8aa66cee7e037503197794cbdd6fb8cd47c6071dc8ecdc45eacad93a2c9a988c918f0c0864543a14e376c53de5e80cf2bc95abcd9e357bd67d3502110a74402b7fdfb772b5e6f5e088a58d875563a84e4057425641ae08ee2b20a99a7bea7d4258fd80028d120a1cee8302840878e13a8346081144047ae80ce627d2642cd4bbdd8d614f80d1677d9a8d4f04c0dd9ff8e1f866bef2df706ce393be402a8a9f133ddc71d2dc3421c606ab46af899dfbeb2c89409dfcbbe29eeedbb0d36b0a8e4f741c296ac9124d2cc1c59d2e415ba208de9a8238bf9525544a8881b51254b83ba8840068d8fb9c188a9f124d1c2cc7a4f1e4c45b74e574a515cdc6c4e06eda1a54839cccde1fe93ff17ebc75558440161a42e1b19d79a7deddcece8e13266bd7cacdb5bacda78ad3e0d3d3d3bfa6f89671d19213922ca1615865dca161067f7c94507df7ce5627f352b27ea62049d692ac46235971507e922cf1f1e1d1a1898f08c564477ae4c5dd5a3e6b126c9c4275b9f739a22420591105416c521836f1c6387d56533f65c00e24ce402205487481441a0775ef732e04109122f22121658707891cadcb6529260d771aca92925e62b0884942c38c6fa2189ad86639028d3fa209f7ff221bac4233c5462703e1881468364146d8c0fd49eafa286a19d18318abaf042362eea44b3a731407ae601961f3040f4534a0082e4e431701be2268ee37586e6ab8a1e1268babcc10512697f153a9cda8a8a8245488a551ec10cd000010001000f31000304020168cc582b18050381e326b00140002578e56b85e4497c8c334c861ca18620c2188000019180180a1d904041b6329716c336a1080987b661d1861358678bfec553cdba970ff59c6b242214090e696c10494bd62270658a3eb432807ccf29cb2fbd05e813b2d7c36a634a0b12213dd910966f327605f0111c693ff290a2c87e4b9c6f595f4af6457469d5d3e82226532cf94c6449e80491cd5f4c54e676356842bda46ee22ce97bb51dbad9880e24e1d83fbe07e5350bbcb30c5a1ed8da78ed25de62dd5ac8b6d99951f123d70d75648f747c8ef29f14bf430d5e6802fb7e61f2055724e42126407d9916c9e01a26ae4f225727de1482b98eef0df25896841206e8865c885eed096ac57bd39adbaef0895fcd8aa122bdc5595cb1e62c999dd5f6767ab14c26536a8016d4a0ebe77d019feef357cd8a70ca8864a9ef5ac054e5610ea8b34ab7f31cfe833ee42c70fa54c441301916160f4db74333bd0507917c79b0fa1c5b040588e3d747fffe8fb3256cc5b2bcfb44072a9913df17dda008ae0f7e64c9a3101b417e7e52090b6d5510abf393884d420783c4753cba2d398ed7f213fddc1d66c9f8633ca19e8b950a8edf9962ee79ec6b38214c253b3a94b271cac5e147620fd68add18554bf35355433a1a47ec5da57738b031fcde9aca0baaf5aed95f99526e3d19dcfcb31706a7ed41c3bafc9746d0d7e6cc34dd82dcd07cc2de71ffc6430758b409fb790b0f416df7aa25bfac43f01326c82d90753f1ce234066c8f7dc3ae80a5649f87101eccaca4728fee5dc106d661d822fcef9192b88998f88db7ca004678577e9bdb7a42d64e18b7d92826962333b20fa36b3d83f9ec3abf13e2a63cff65051d548ff079cc0d6d85e611bfccf3aa4fe7e91aee8840137eac85927564924efa17759cdb98724ea108cc84c548f98c5ced8e9fb4eacf54b352d2677ef456ef5cbebcb818598a0380347a5ffe03fd321b793504c67ffd7efddff1b41deebe2a342505e2fad6619c7bda82c5424e02c7a05546aa1b892875c7c1d6dfdbd81964334e4e5bfc7388449dfea38eba0b00fba074229ec18e37d7b423ad8b22d250f118414c0c26c0e04902d1726af71eff3549b9daf3895ed19d4d3c1d1bf81d8db6852b1b5b61a59a03651e4776ec8831a4cbf5fbb7ac3273753f4d4076a619c53bd2ed33c53a110f79ea2aad94c99fd0a7745403ed751517eb61d10231b3d2035cf485e167bdf44e475c29565a6202f7dbbbfc7ab5aeab4184bcb73d25bff5843499b005efe496a8e945d1e4baaaf0f5c327929d3eed30164d9ac86676ff1c11b2d6dbed88bf617946b3adddea01ec70f61103a4cbbdee492c64fbd2d6c3e28be98e32547e7a0c91cc53c9d8a28600559b54b859508cae3ae3a16ec403234c6ce2385993259f9fd182a43d93d2d1146cacd6b2937135e16af9c93ff4976f5e582a191793050cd9ca8d133b4782a46a2a41cc7da742baa82515bb07b160ba39e5bd834b784d39de596405f310c24b7b0aa17088290d45915d151708c2a1a491d2fb27a73e40bc84cc888e53b8014477751f508cd7465979977d5b1496c9c31c224a88cf114793c2a21f50a896b93f3565222814e0985df750bdf2d27935c512e87f8821b293a638ad193e15fab45ddc13166354ae4e354bc9d85d5df91b4b584a2a5e0fb3262d0a074d0ce004a8eb37f5fe22751b8174cd66d41894df14b6777c0d3d765f4dad8d3841ef219c5bdf8a2cc25d2af12792d12d294e6099683b9da088df495e67f20a0f37df13c4a56b307e2c7a45edaf141440968a59d057aa70f2a3ac43f7d7a0297ff9213e4440028c23fa532d2eae02bf54051ba024c6ebad10debd8fd839fea54462306334541f62e4dbe12a0b6b3b0e5402b1bf588fb22f44550bd5c76fc64e43d068af822a4792f93c380f7ec9221a1b7737ad9f02475d25739531a840af1af64726491568ec67269606b27e14caf2f6db91dff0042771dbd02b839267b5d5dc3e1b5204def416bd6eb67fdf2208aeed2110f460b600cb70611e7cf336083f3505de3893d7f21e34a3993da05cf77d9be4134d234353de41977180f7ad1a9e099da11b7add1f6c12cedc0a6d33f4cd6c899d0ae645c4c720dc4d3a2e6d4c9ce30383740f7eaf00bd913e21e5bf06572bdc105edee5d54380b9f57d77cb3a1f702b16ba105eb6425358bbb3f10a8252871e73a707ecbbaebca5794386fefb09c41ec297ab88b898d6e1feddd4e7a8ee76743d509605412bfe2245e045be50b84f303dc56d77b0cd18b59398028ee0ccecfe0091e24cf5e9509c12fc76819fc307948c877bd6ce613f23f7324d11baa0679f86f3da71e839ec695e34643abdb4be848fee2ecbb4d53ec54ce6b6d3ea89c3fe1108fd2d00ca712e3d9204ac82c2e47cf47bb1b65f5f35f84aee5a08e83f734575d1ee4996acaa5d564b66fcd3a0c964a5b95cd45f872cfd5ff69a8d30d3448e996e55dc7a95cb33437113371c63674710b4eb20a87852c334ef882d9e7c90a5c0c8a0e028d02bdf9508cd77bd4a8a141becf07570df825b9c64790a1f741ca5d83229c6ca140eb59af9970a1bd60118b45f8dafadee77467cb50a98d4a930eea263f8cf80643847a07ad7d7c9c371c89d0f70779f6bc9d3c1072caf367caaeb64710ca87e2a4e42043cac4f9dd78081d382f809eae20df5d5afcc99e1b7964bc857ce7d068184da83cf51c6c6cbf847bb0a462ffc7d3c64908bbb19ba0254b47506e7b8ffea863a7729a2a3911eaf0f0fd35b83776b9610fe4087599ff182e01342c24b4587717b9915949c13df7fbafa8e0abdd0172990fc7a6bc8d2dfa578fc741261c77c0a1ed401bcc5884c3d17743cc518e367fc7869e6cf269bba6f88dbc1e56fa28c02d41e07748a9b472a44e95e008d4efcc2bef9789a032106c416e42c9cdb81b600df13e96a50672aabea3c7a816a5cd6b6b36aa4c3bd503dfe93c67e183f846897b1a1711b015fc76b2b29aa2e7949c7c56864dacf496612dbd5fb8a748716206b3bf1a853271712c92707bbfb99f26896e4362dceab988f1ba78fd009017ef2d44937ab759d0ed4b7aee331dc920a0eb067e16175abe6541e9bb73cd77d01ac6bd23f06aeedd6168765868d5ae74c24cfb7224ee19ed76f635f451e8b65fd47bf2a5d62f442959454b7bcc27cfdcde22646e415bc3114a39f662850175fc7c7be31662bb3a1edfe766d8417a5b4e2774e9c48e97e15c7eb7eddb4935d2c55fe689253f1e90ad3075f29d4bcdf403295b834c5fd73f88259d0e4be49baf9d6f0ffbd193a6bbec513e277084c07b1afe0eea2dddbb94ef63ec7c443e61bfd915b23d3c471bb3d069525df9572822477698d2b6551d1bf69b998770f02b067b5da4ef7206d17e9fc006487773b0cf9aa1e0e2b8f38f4651eb3e4ef561eab120d94543fbb0ccfee4a570ef2a99455c9989ff9f32c26eddbbf039dc5ae93f7a9b0ce4e70e72dc6e94d3ffb657e776fe7f3d9f4f9c9e0321ea675aa675860375f9f10d24cc42e00372d7ef1bcfc0cb07d28621cac01cce281df9cc4ead3d6b74bbcff9dca7cb9c9fe13e42237310b86ef2c120cd968c0230cd71c1eff9d790330fe915e1217148171d61d78c2e2de261235e69dbe4359dda3f996088cae8a33523bbe4c3667c6381153879d78d398bf67ed134846f501e276efe1e61e2dafa9b958db18e82200d9a088712c7f2d6d21f3c8f52058e606e65e48d161009de03c790a39b8e4c1f0050dd428d75d0740ca43d1929e7a5a161884e8d1740d46b372e8d9bd3fae8e3b2685bf0bc236cf80feb2e0651783802d5dde9f10c172ba41cf430fa67f8388cb6fdd61e02319a322fd34537d9884377061fdc38456f39e8acaa23b8abc97cef6dd4b10c0a2aca0d4fa6442e3194751a158d6c75208dfb3eff38af73f19fb532678ad36cfdeb607ae3069ab905c485a9acd4593c5e5a1a4cb5cee329fd7db13579081767983c4073934982d4e79f384c63a4ecb68962504ee81d64c624c7133d1821c0e06dd0921d0fc7b118835db6bf6693379a47f816a1c90d08919b32719d8bc0d1b42a8883832a50887f2bd063a7637d32ede1c605b5898686f10ccde3a5d9ea56437139f4d78f9c8b3d35faac424acfa4f19b13241c28a9b90795f4c3052ecfe1c9da68ee69514b9fc6b8ce5896afbac5a3fe3002325e1e92242f474a931b19133c462a63ed426d5b385648a4a807b95351dd102915095d88a4f7a3fd82cedccbcfc20322697cf65867bae2dd5434a044ca3a1b54c1d6097c92cbc5374edb58f54f1b7a6a0d492d4d1d26b19652cad7c564750f1245c91c2c255abb86036f876bb46be4704a461c4193900e636a0764f3a9bf2c5ce725568a51f82db7fff0676d033f814b2ce88315ac742bf3e728550ce19f9a7640e6351efa3c0f2213bc56db6497b4c67d82400438a10f0d7ae032eeb2512d2ed9ee03638503b92a2416805e23390f7e0bb734e5f7c3bb15f23d171cd889c3c16afdcff9613dc24d609b7d82bcae9b823ffb35c5a4983f2a5fbb65129236377e566b116126d14d5fb18624da7bd63b8e38beed8847c9cf46052a8285194a664d3b5e7f6f11f46613d9527d8ba95ac163a18bc06d6520e94655f4b4f54bac680b840bc961f6d4d9213e5181da0495b69f54b977478b7b41badf7bb899ad8d6fa5d6120acfb93994874299b4fa5041de5da9711926487ce2ff28683c45a0e13f6ddc87c0d2341302033d6ff8c93ed1445c026aaa99dfd001be007af746030e5c838acba6c140b4f2f06efce880221b69e80c52135d8ec599f8285186ac0391bb60038e334133730e5339aeb0d7eb41a5e4e4d7ef4e50658e241aa49739d8f06cf7d9a74961019a85e94f59ca38e7f9e39eddc093474ed5df509a9f0da8de1bd3cb5dd940951ef82b2629b2d5e3e079e460cd1521a8f083fbf063e74c04a7fd3380faf3ae3e7bc6ca28bb3c962c33766ad54087b161344756ac9c6befd9a434b0f5643e12a4bdbd41870f113a6338db4f13099faf78ada6ae763820898a76d72d751e85f8b0615474f6bc44b6f6efc0bbc70112c7f955e5f9b7503e11c85baa5f38b28eea74a7c2e5bad02a64aa763bea90cb12acafedc5986854093fa655b181e167b5d847bdd2c463175d7e7ee0af36b3511a7b6e58954ed9fee2b3f58d556210f04e4677dd7944f94ccc59416093f13207a72d3b468b398273a88a7cb61fb5f6c42bdb536f907e576625a2fba0ed68b07ec65d2e93eec97edb9019c396e680650a8b728a151134e8459e867f9c1148fd8d78bb4f3c48360686a868f1fd638c5caa0eac23c618e3adf4af0cae892ba6f7c98fd6e2041e9b2226c7462fd06b83a626fb426483f3b82ec47d059ad0894c047cbd30942f4e8a0afd73a69532ffbc12cc5701c0550f125ee229866dad8d58ed6662f45e16ea3b76c28ba40644fd5fce540aa8e237e93c23bcd5c6c38c6106f48a34c9568fc751420e78f756d4f30da5b2251b8c8beae0e0abe2348a68aec6c73882299f8d0e8c2caf173e8f5612cd16f6ebccafe91ee4ff5997bf8c59d008d173dbc83fef202d5b3fd5a4b003ff02cfbba150005e0f96f2854bc4a4b98c4a502fed591467a7bb9a54896a64408e38394d1e38c7c1aa59937ecd90ca115c18da2227ed0aba88bbdf9c2dce33eb1495fc0dcba5a88c1d42ed4b0c1bc43f1e711fd9b01104932a184c466d1249073ec0b90938f9a2909dc11b1ee9856c50463875bd960fc323d64a9ecdd1c27ca719b6fe4bacecabbdadfeeb8df6c9611db627512c945a71c392097546f23753ad8775f0d666fe2b2c13de84bc04f69abe9e9911bc05c726f581a03682921950769ea8ebe13673bf3d85a1ddf048c7f660672fde221fd47aa6f7345cabea7be977c79a23dd0589360bc05fb799b09f1ab42202a1d25743e5852a2ee484ed26acee355e16b40326bc8b59435238df20b8d23db558adb384a5097083fbdbadd3ab33a10430a336f9bb8776b19bebae3705667d6e690f3cf4c9875dc901f4fd5ebf4d813711fb2a2abf4713d953352d36864ce42233fb624e42a6b352609a7e2764004018ecce3d2eb00097c48f173259e99a6e0d742b2d3d4d2441ca75c03e7a97bb34ea4b68c63d5daf5185e1a5e93918809fea74b4966d5f0d398cfc0790ee1a7d433647a674a6f92c9240af01cc4e24e87a227f72960f10c7e8d1041955c701ffe1b593fecb24672922799a3e249c36d21f6bb94eca2eace4e4b2502cfbf983da279eaf35940d0b026cf3919ca81a2a26e5805e2e55d98492164f8c2422912a39a3a6ef33a2a17c6d437f37f2970b1870693c0686be15284845b104f8dc8a0e69cf31d6c134f89480819be83ea2ed4cf957f42a108fb90ae3a161879ebcb8f1a8d1b3885384e751c1bb5593a6209452d80ee1b180571abbc98acd4dcd72d94979091209a6eaa67f2f2198ac66cd538accc5989416387e460ca867515c42c3e389720e49b4cf548290e0112af8309a11af9402b50fc2a25d58c92539458325fd3e640eac257a594941faaffac8e9f41b082a99f827f555258014f52ae79263f8e7a1f1d718dea00d72dd757f073682d7daeea9d1b4e0a884480a812dda77e9b67e8f4c88fd807d421df6555653457fe108419df258268b1386417f15167dff5389eb6bacf4b06fc2c36816d92f1bb5fdac288badc82535ec961d24145afdb72b5fa20e0aea287f83a5bf63470da8ba3d4a5cf64bd7d1b95607105dc54416747b94a79188511d5c545eecaf7cc90246b4d7340c33ca75dddeed9de0fd6ef4eb81851cda403d5f6c64a7f66a74f3edb504976c4fb450a1892c00e30f210c0cee80e776061736050dc5452bea4615af31438af0485b003dc5cf0aa42127c4a300cc229eae3b4e0ee3dba84c0f9e0923216f854d7a7c95e671fe98d1bd0b11c8f7a096f3eddba38aa2f4dd424ec4ca096e9a89fbd5c8b32471c3cc4ab72a5ccb8a0a62b3c3ca1debb903bd759be1c6a28e9f0e4e879e6aa05ab3ce661a8e28bd8d0cc939084b152150c29956f90774bb67fef97a79b3f2e3e7c024f5e7a8742dcecc04239db9655972afe60a4a7c9fd613cf598267337a703bab7b31588cb16c9da803161d9f243e09a0904f79122d22e6b36c3ff9f834fbb25e045b3a3b7eb69bff5c7e1ca1d5d52b1fcf0e7ef60f2e0e1d92acc6f79cc355c7b56dd9e13a60bab7d22ab79b79904c6eef5343af365c0a06d853becc3dfe3dd351c57602fd336127324df74a9fdac0b347e410eb422c577284fd3ec3d1e9907740c433501fcb830ebb52ce958061abf63ba330a543bc3e9c03f35bd1226b24dfa053fa41f62f40df172e20c259f6bd81ee71bc3575f6c0d99c5ba38f9b17140ee0beac8cb5c71839ec43acf1625bfdb001983bdcf7f430fbc1389a7f98953d1020af649478dc7a805dfe362116007846b8c5d71d7dfee8ac7f0454414c5901a6cb9cc589be03d20a35786d176563638b12e4eb568c11f41d64f66eab35ee8d9125b136afadeb8c26f848c01bcd631e81f57783abe266c59dda29d06f556ba28c55299e866d81bc8a2d006aa341adc578b02dcddc1502ceb56712c03fa2b0370de2da5483e3b3d34bf1e560f8c0fe80ee3ec2609f600af70288866a7475c686e3acbdb75f06b59a53541f4df2995d64fdb0c7933a5f7e17f1c3cdb3f9c7e3fae8303a71f89d59b4e168b8362e89b9042b7da9b768938d29a96befee3ce0e0466f4dba0161fdbb555ac26eac2b5ab4a97353d38e77a26fbcf6025ef69bb4c3deb77108072c5dfadece03deb91fc8b37c8bc3b60cb187d6d7ba38cd33f2bc70d57abd9297c5472f80da90712b47c1cac9ec2be0564df7edae6ae2250f9df2b39cbf51f9b21d34b8a8979eadcda7f90d99221fc39a5900119d35be3a636cabe75ad3c7c5287823d6db1f0876d51eea4f1d72d6b5b170844c5411328def67ed7b16f97c607c61c91b0471bdb14e9523d2637fb09727c200e5389065d42df1559ff7c82eb6b7de9caee4333feeb593e6b62849f7164f106ff9e1ee3ad3fd0d48ae1f4cbe5acfcaca52f426598ba2de8667a945e3b175ad9b6fe0f33d42b8c748100f01d45a2d0937d6a5b36ca7a47369141c04b0a441e79fd5f43b2dbbba718017bb5dbed6f6c8564d82a4708f483ca78110ab3dba42a71537e6aa9a2e611898d03f5cc7b5ccb6b9017567d793fca1479f14876911cdc2e1b9ad23f956d9e50d948dccaeb785f0c3f66315af75c6fceb8fa7fdbee06e3fca59db15e08e41cb210ad88c81edd10155863f4342027c78d924216f7b49a22a2adcd38089dded25933de36454ded4bd1ab291d819b8bd34045e33ea403334870c26ebfeb1154663dd2cabc0f1c40a5c215eb59bc66b6a024fe63e9e1042f911fe8a1739579b6851419e105cbd87f96a147ca8aef545dd58cc509b44d033fb0217a8efd53847216e6720c493770886a10337cc7e4d5335c3e335a6711ba326c3a4cbab0178acbc59e16cbc637072737d085ee6afa7230da61f0d151a52f3077fa11ed5571e94fde634b09745eeb0a112152d7e6df1b55400bf7934e8b1be8b4e6fac4400a23b4cee8f3391e9c487081f535e4406daf2adabc52447d28bb8f2172cdee8b1cec672653a1d8fc486f90ff96583c30ef1c30e10787c914fc8d65dabe7f0a04b4c5b8f67859b31b65f652891149ccda5cc766a9c3dfedf25f376c6d1a07c8a31fdf53ec3e8a116981be56e3d9d9a8471cfc730881ac46a8f585c8d48a1fb2bafc42c62a22b59b6ad4edb7826aa38a97b1be2f5eadf0f7d69c8e1de10fe83b2893a2c8753312dce05cb9c9a953049310e62f6bdbd4ff927ba28960641397c54ccbf4d54ef0f37ed887b7135bd3eb396ff0968e27486988647e2ed91af6e414294d254e08877ffa28fd1ac6b219d5e308b6a14e9884089822f1fadb0ae6537bafcf290f54a63c4ae6f3aebd107bbb90c1b8af67d2e6c012165033f44f6e26f52921d9da756d8e212085026ce32052979a94d0e0e8a8893470156c2dfbebe712ccb6d5be91a24f8705abeddd70d0eb272bf253bb8c877550b02521c13713864ef4db73475350592a7969c312498313f139c9a3dc795c4bdc6ef3ae84c568a6e91ce597860d3638b648c9b6cc11b0ee8888ca386c8e05a7b944ddb2291f4e0083a5bdd2db546f5f5a8c377f7616b0690292ea53fb63afe5087295403e5d53d1dee2375af3c9185b77b392d056a789f98c10ff88d64ae48a9beb54cdae2908b2ee981d4a26a393796d2d5b66289b020d86f24a6db40b8417b6f60d09b56de52e51b7fe7977328f85586c197e1c09710c0acb73f2ab450867ade5c4a5982d698d0c2fdc9dde0927e62264654eb831e55f99c86cc4f958d4376d34f7e4dd9e0e0e8edebb8109e5f2ef6425b986570e2b4d8008fead940aee6e7b4b0a51f5e1daf3ddf75fb115c23f1e06d2934974af77e18456749b048ead7815dd78f9e7bec1e140ea4497b80feb9ab5340792173cba701d6281f98603b2a6adaee1381f574a790612aa571c8df9843dc5352807247eb06f9efdbe1979df47d58e556803208ecef84295160e71deaf3f5c6782076fe15ffe19c964177fff328116c6fb27b2be06f91be4d4e60245cafef7f2e1581068b470dbdd2b0a1aa82569618a6db6668659200adfc0343189923042a415f8b4a1d35cd3b958857a608e3445f051502ccd7be8f577f6c7c4287fa894c8c5afb49ee70d0ee3cb3b6945931f4a9328b0ab331566f8c1928002a09f75293bdfa56aa2a942531905f88f368ee8c2f6acac231c3def21e443ee2d31ab55673c75c5c4475b83034553e3b282c4681d3ac8bc93202e70b96881faad3d6b1a9c435b396f86277b91fefb919b1de1741bb19cf921ee48b150e400c40cc7a92047fda81ca06d0142a13fea3fd4465a6641ac7f587aa692a39763a042b1320b45e3a21a838b2d84b4744cdcec00bbdcfe47d27f333e9d7b42abd3500b03cd4e380e7938a2b33fafe82ee7447accfda9b6168e6a1c7b973493ef1d766e18a4a60c1939cd2df6d6730f5c093b3cf284eae210807d994fda34c581d74adf48360a6acfe09ea3c91d4ad1fa14500a07b69a5017ec363f456328da0effbfe1030b98aafb0f60710c5110201158a22f336f09d61c150ce2ff00e99cf5124c2b694d5679611d0ab59b2546ef07360015b96470f855bcffb8ee763ce11c91c505fc8bd443f4d34e39bc2b2505d4f6ba2b4131464fc3ad4ced3512c4f3029d7396ec332c9796f2e71b7e84c90b6a654ff97e842937ff06d9457bbf13bc32aa0aba33fe7bda30f80e5e421770351d10b4942baec5f52cc1f57aad002b014ef69cca8bbde662f672069587d873bd1e0af6cf19a10908005a5dde42fa3d9bc46545ad126771a4aeb686355cd216fa4972aff61c5cdd775c4cde31678466b2e14d8ebdddb82dd07fe41b17810f0fe8c56cfd9099c2b7e3b42a281f042a2dd251e9e673a113d116051c7f8db6058a77e28a2e4ca1fc4910771f0c76c053b8702d8c17783d7be70bc67816b2c453d3cc2fe5146edec0f805dc66f7b3b65efbdcfa738b6c94dd80e9b635e835c2613269cca20cf9867ab7146f780d688b133f690a4719144839e223da34d792337d5bcbb10b9dbb7c51ffc34602edcbc6d2159a09e8458a6464f73843243cf72175cc40e23b37ef0113c693f3b3e938f25ae982575ce5c5e228328e7d6f01e7652b7c8a31a08bb930d4d62425c289a346c92835109f20e3bb8c49d637265330bd50e97ef5c972a6c6e9183607104ce0df4d65861280c27cd61b5ac8a18bb61fb86b1f18879eb676605a128b60047a67dbfb151a1f803155bf9d7dad71fd3dbcd8c8f8aefbe6f7bff890c9ebeb4a5bd23e8b09af23e36156cd19df42f6de2b786de08a73d23167ca27252bd2b648ab0fd564aea4be7ed035df435ffaf77b538527884a60b9da1cc1399957e1234e01f1d14cbf3db7232153abf903fbb964b471f61508c60be11a28aeaf70893f266a0ebaef2c5c679c10171e337e47d06db5bf2070d110b2546ed0fcc774f449c2b2c923b87d17e6f0717d4f94a243e3f60de4e7a1cb700da47744eee0b3e921b19a6f64e8a1c3a482c6faceab2cd0c1aefe00627bfdd59d1b1f912f401a3cbf1790d4ec2e50acfac5cbf0d51d39851fa70f539e20da0ea89137f7f7ac5a5d9078733dcf43f6338c0d79c0bdf99be91f275ff0206418f686a85b7fc17966f798fb02b13636b369be894bd74f230d8884700d9e17e050fde863851739d66e65b671896bd490f203a9c5fd7bf9623e983708870c2f88caee01cd15674263247d44aeff5b3ad5ed901bcabb62f62b96f4ecca50fcfb8ade4640882deebcf7901b6ac7d3dcbf205e6638bb9cf2bf0d87661cec9567ada30f017e63e781ff952f1e8279ee037fd6cb71b463388f430bb7d3bfba67413104ebeb3da487c4f2bd8978c1e89a85d2ec2cde0541f59d6b5506cee54a44dde4ef34ef69f9167a5be7521b75a0da10acef2e4e3b51df7e897a727886a8b6e4e61f236bb7d880ff3b3f5d4f05dcec32954a852e41af69cac016c841d1f8b16134f46dc021fccca43f40d5c6641c85f6288c3191e86064b46682c6b35877242e902ff12cbbb71d6d60cb4c99b285ab0b64469a924e9c114978c1e39fdf970d96d6a6f6a9ec80fb426e57f389fe03c1257a2952b0736864acf84445ff0a511edfc6194c71a60f8917ac4df1f6bcc61aab10e203b3e24e617f45cda8c658fa76ef9d907a90357d1e1fee7454a1601fa4e100d5807285d5c017e4c51e328cb978fc2a06fcee179e8cc6c81ab24299710d307aec67e1c612aabe492d658ba8f23f50937451b066725e8724c4e4d0cf58d8f56a0e8ecce65005975ffe8a0d4748a44eec14412dba55c5c69354f87bb7ba8c90e6f66e1ae4ca8bd584fa42c440939fb9567c81f63a0d6c01c3e9a950eb57a94cd5bd7891b04831a8b11f6bf9435a36d28dee9f8eb49e38d5b36ddb03f808cbce9da8d425e6c22182fe9b66e0dfebcea6578a2ad5193993613cb44fb22da56fb77f301337730df951fda76251ad440d64f11e59c6b3fafe19531d6a9728119994f6c470904b7d1048ae6a15b48735c6b97e59225ff250b7345e2ca80fb5e1d4cdce23b0eb7fdb64566e9192a5c8d40cf926a432273ae71a8c7248d26414b030f25c66f0329a662a279e9a663bcd591feaa27515ac37f2a679df32d567ea3307fd68b6534a92f4505307279b00dfe9e2d7705190719d21d0a12ae45b9c82ce6adff7a4805d188d33e5c6adcd792f1b8cca41e12a71be8a84d2aca0e532c27bbd2f95480a3c2d55813fda5835098c72c22de17f79cba87fd4d5ce65a8cc16c9eb6964dcb7f02f3c98f2c7aa20f4f058c4c4bee2140badd1cc31ec9a516846069d8bb088f40b443dfb236e5683133df82c671ccfa7102ecf15164ab152a7a4508a446f10776020f60c7cc3a01cd1e46a3eda895b826c90ddb85351c6c550d83faf399741c04fbc73a95c131922aae60991a3c916f4f313b6698b400c56d156abc8cfed2be9d3e4025f94865155a2ff6cbe0755e6c3f3997bb96852d8b6d2c06f5ddc94cd80139d8e0fe2a544094404018e341d46da4b906592f9656202346ba83395e54e771b37ded0e665ef97af5b3a9e29c347dedc6aaf66e53c4bd6c126e6a388e61432678a66ba150ecdd0e1b20d09ba96b7a957818f08c707159b6a8f10019d8f727d42de7e4966586cf9811ab9be921e0ee07803fce8fc01386f168f2f5d024dad109396376c579004fbdc469d9e9da08c632bd776f454ee99d5094c8184d1fb50b0443a45fae507390b412af489be86ecf43340a497271ce46e54690dff2fe2cb7d8f1d33531ad74f0548f9d229b73fdfa92697159f08dac4aa66361ff849a90017d75fa84dd27a596721a054e2bd29488c7ddababf098e5dc6cb1cd80c6ce9020179413e75ab572617d1f0c80d5cb61fd428c95a63699113c3e985aa0a8eaf5d5ebd211b33f612e5c21df682ca9487a0bdaa33ac806d28125c558784dc82b2c9d1ff0b323cb7829de145131e95cfc86716f4893798db74baffe6bfaa815a24853c7378dac6833650472b1344d9669ee09066fc2b5d825d9d7be9a00b0af667bb38eedb1edf4597ba1a0a874d0777f00591cdb1a4be540be3195ce1990a4ddef73c147b708c032122e9c696405b88286474306eb8c8b151eb6d43d0e8558da8c89e67b3aa1d379ab125b85dd84fbf2c273bf9dbb21c410ea9241944f518f5613a95836625b8841cb80b6af5d537ccdec85070f1b3cf24ed5e81456de9990a9fc88bd0fdce51a7edd68170fd7cf0fb4c065d2c7643e314fee6940057ebf479ac269568c8dd39b7a8c2d10f29948bd8f90b28e3055037a7280909fe242608e7760eb40a95bd13cc34e8bcee2fe26e4cba8cb3d4157873d6bd772c8f119cd944e66f9628f75af0029fa17d04a75d534e84c42222493df7f2540f0273f171f8ee7134a1a3ceb477b37b9579883341fa5912ef42e9f8a1dc84ccf137cace039c5c8f75b0b768e9aedd06d1632b0381f0906c954eee15f659ae95969ef69c5eb20697a719d4079c1222f5b2074c627ec2d96b2c39a66109ff17f1b0c006230caab2d093baa4c09a89f6396ce3c9d90fe9964767436f37a4f1f24759dba667f84fea8152d814498ee1d4da8e94c0724f12afb0ab5c857027d1ed17d2f2d04ba4a4a124c570fabfcb21160d9e5bfed183ae33c15c29c25e8f6ff0b6b0ae200e03ac8dece462456c93c4cb392731aaebba8761c6d304178e1d614733ab01db52d0f3f90cae6bd29a27a498afa5592152504f70a43a8ff3b3cd112d36bd9dba78b7726da647bd9b947b348157a9c06496b62c6fea8c19baafe6b1017fb32b8386302a5edaaaffd064702ef77e86d823382813bdc5e9c46b8126c4809461bca944420261bd771639a3c2bafb6bff28de0ea7920b3ab2d54ac0312dc225dd8fd61f6ecdbcffbf5b72c5f525a38a2c7a38065740141ad8f30cad17a31a269d9de9ca41b820574e4a483d42798a5a8adc567b86e53b0590919fdc08d4a18b822e1c082595c51fb4b24a93bc6e761fbd5e67568bedcfb13fff6efc2a7ac134a238ecf2ff7b0fad8cebf8ce38905fb6f44e8eecef202000fc9b80a4c8af01fb8f2013df093a9e24dba5606791a86d7d278b6e787244b2d5aee59403194e8aa18afc5e87083d2c92bceff48a9ee18e44a01e02a895fb96a629b9f789874a03f027ebc1111a3fea35e01582d418e399f88737761accc78b8d6b792a23474457b2815093b9f692eb77df15f00af2c191b9c70af7668d9dcdaa8fe17cbe7b135cb18549d73bec2703b965c5bb7791f2872021bee6a757385ddff1d845bf36a863f967c8b98bddb7c1ca7c245e4bfe09d74a55934838f2a45f1b1a2cbe9a35b52737d6b62bc1cd554329d5aef7f477975e218fb764f4d8d5e8e7f5528dfdc2d775348ef828ce6dd4bb90ee8079457684dd2d8b2e8387d51c2ddbc07677c5b55be5f390efbb15de154747f097d2f78473477ec7b091c6fa740afbb028943a87ba23582555339864f65c417f2be97850470b099efc20e25b827e227fa59cb8ca217c1d0c7885e1c0f07425b8128b5f5b706913d3a153d5197a7f811657cd2ffbe67f6e232b684498d4311be61cdb420fe13fb9b7bfb8fe515d81d18c1e7c956d88a8d91a4266b0f7c66cc1bab2c108ba49a15d9e874988d374ff43048cfacb0362b6417c592cf46d07d4d996dad485d945180c49599efe57d3ffbf9fb8a487cd5985049bfb2dccf31ed74558a45b8c4842f03df77e1ffdd4c7986363b89c056779742496dba638f2e00362bfd826b5be6ea3f472641994d6e5600c2ec3a5f93c7dcea1d0c9bef70cd6d048b7c57a135b2e1adf41080ca6d519d100b8c8b2a7c498282c8f02c20694b4e8d11d70aad5065d8df8104381c2559639bef4f1e8bc2fa8adace8fadf47e4fec0f9e25540866d3795ff500df5ded944bb4d85a9a3bc8b236b72a4d26ba26998f1d757abce42c0c4e6fd280932b79f6cec95d18eceb8563e89235a30b4e58e09abeaddc2aa949a5c7834c45febe9d38a08041fd6afabb37f4885af4ad10052b0c9a8e017ff7c0cab5ae4fc27b96ca0232755575c7588c3fee74753d092e0ebe3d2de829cee5a7edc0301a01d0dfe0ea2d9a8dde1eccc3264802f6e7907180c9b968a0363157f715eb43d4b76b4faa22be50b22a13814bdc3da9ac1181effebe264eeebea6d83a0f84817755ddea1059ddd1371fe4cc279c052049d9b4f389b06476c5602ade6c05233a245a9cbe6c1287473b57f35710f2452e0fde17e2ef66e2166d65f81b0c45b3aa6eae367786c829a1abd4dc921abc983119be25e7eb2d831bc5839beb3fabd7210ffd1dea36fd19ff2d3688c9947bbb50b8401b3ae903ac9fa454baf73390b6d63997ccdc6c441ca2a60362ab4669204f2ebd0e1cf00dde02aea10abb8ed5e0abeed54d3070d603c3e38cc72dee52af5efdeeeb32defeda2d16caac4599f0982fb1e0295523bfd2de179fd63f513873daed3d66365c481770f443573918b26ebd330fba1e2738cceedcfd6e9ae92d8a1309d4d2cfb9f2ebdbf0089de87ea6740961d1766ebcdaf968fe09c6b655b871f7164ef39bd4b8ae9df1532f8c930aa0d6995a7154b6b149fe12caa1f708c7a13395844263c2a7807b467343c16fd03c84ceeea33d860c3dd8b132f21bfb7709a377a492cc174b49915ed4e497125e3982dea3e4006f96aeda730688c00d578b1f950e3c59774d90f6695d380cce739f40f8478ffcd7104d99b2b010391604609a0ebeefc591c1a5f84c435b71a1df47e476b1fefe64bf1abc6a03f8cd36fe0f1bf1037d71588715c2e98ae39f1f027cc6b33184fd16967aa0681877ce2cd3885345307572739cb0e8af924d6f759bef3a6b12307209f0cdf6c9cba926dce33f3c719d15d4cf2bb90e766aaa5a9f29c583d9d0e150ffff1d9fa6f18211311e0676222c97b058c899eb66b6530700f410ba61206611ed317674cf51c8cfc10ae2c616e94e8771e38bfdd9a5f8136285bf2bca47e56e87a987edb28bfdeff0307e9f78bd2e9db210607bf9cd6f3be871704fa4a4d9399a4eedf8fad1e4b9f8b37a6d4ece63aef6037b9a12f869e73e33ca7db78353750638c00a586810baa38aef8f4101007cfd92e5a2cf9cfd36a8be4a57651e794e061b0c85d0961cb970316d1291e7a62a64e685742fb9885ae76ffd4bdc223908e8a14866310898eaa4953df54ce1a130825d3058b5ec4b797585a5a13a1df218ce939d2005a74f02b525f4047ba6b09ff67b629d6f34eae080cd3505b47729a9383906641686e5d44c724f2512d369c186cec23055934bcf504fd7c75166866b8501e8d3bc91f8bea9771d809174d7fc1be0ed3a3494bc2f440d2d40384bdd371d0ad995c8eb8d56d63bd0d081c2c4dbd21c3b243d2419deb872166793350a2fbc0f54539a8841ae22ace79a81d5aa2716e9db30656c5d80b6852517a86ea35d4ad352f438147415d4778e7ead3e18101574b78fad1db13c936d5f443362c3952aa42e93e0c4ecbf9abee172210a93ddab2e08d1d1326b5aa02aa7c015ae18b94d688ba4fc37be7bfaef77215d275def30fbaf61f8e1e71dd713641bfebea016ef55ca5598afe8c1f74f5349ff772a4acea1ebea6325609490f0dbb4f078f5cc967677ade36472448cddae2077d2a39fd37dce969e323f2fa4eea656de7b8490a2784f04cb43e10f0e6eceb05c906e9623ecb650bac6e1ab89547c04b4f8d38a6a73ea42615d3ef3f7f0bb81cdf23e46d60097a33df5012cd7e2c34937750ef549fc698bfb5276a7b78a72012219680c1902d01b860db183cacf66a8247ec5614090ea9a0c570e69005068fb45df95a73d8deb4f1c59084558fe2862d4765b1de4c6a355e9c16b10e3d0c4429e051cc0048d9f4fc53c728e37daffc7ed5931868653ab11a0efdfb8838e18e8de9e89b48df7be9b516d2cd1083b3de4eb3d7ed53383d738791f14b0c74f90910599bb5972af2ffdb92d2940069f3f8bc5bb911a1a00920632f8e4592cc60dd6e0002c57c022327ea419f441e56a58e457a042d97f6aac1e5b4667b47409e278f3294dde9f17fbc44be3308c007eb55972e68a19e372048023cd931f78b254600bf6bbc6699f33902f5218d626d59c7e1dfee09a764201ef451fc03799e6c7cb5d3ed2225b30cfd2c0ff48b678211db11f49a70eb556966673d8ca5bf3cc919e7e91c99fa3e66eb08d9bb28a801fb8233fb035c5ee278ef3bd2b03515f30fe89da6ed2aa9b709f735c906ad1fb1a720d367c920ae20e1b4fb569ebed14180c3e607ca7c9b6e12c7a1047fd222713493a9a535593011e90663deed97f466093567c91dbcdbc37438a07596cf4fbcf10ea2fe7bd642790d348ba2974f3e51f08184ac16e764765c770bf9ca71608eef48593deffbcf11d9353a66df0c1cfe5896515de3516fc1e72ebbe3f74f27fa9da7fe42f1f762e75aa93bd305fd110ff2384c00f84e0afc6f12dbf72fffaedf43f4fb062ff67e363a13afe0bfeb362f27571d0ccfd70c6e5c45f7135ae704767f9a966be091606a28e019bddf1d5b5ed1a09a484e0d4033878a8732a47e2cd384e6d84ca6e3768c9c3d87684c9fb9399db0e073689ea9ef424d8561baea751dfc9ef79de1720cd0cb5402971f3ee059dde7a4c0c38e4a73bb823f8e9c9492cbffee7ffe21b00a393fc797a3467b4d14c46fc9905c86db709c97c25dce05221415aa5aa7c5cb06d4de86a7e4602bc8e0b8d635ff40804817f1bfe40ad163b378de87b61725c300f13688700bf9696805aea8481568068b409650ef281fe9e1599272615ead4fe4d7bd436875be1a057cb9d5cb77b5b0f704423f2aceea1c2c7381927476b6264ca81b19b9a92b9fa3430178abaeed9c68580ff881e25b03b986edd0cd24ca4981740f6349dc7fba26dd8e6e0f4e793f071b3cf44821b3530b2c9f55f888824efefee06069d7c844f804b0c4ab5d6d28d9043c27b411472f130e07adc608421001304f9e0b862a6e5291f25e6e5fcb10a82fb668e67e4da35db860def0efa7cdde650624b1d6ee59ea462b096c0ff62bf63ca7a86b7a107d09cd4a3b6d394c5ce3158d1bd0b3ebccbf6ceaf096479e7d7cfc511b74ebd2d0f8eb1671286a992fef771d948c29cb350129e081559d614e258efe6239993499e67dbd56cb2cee4caf543ede50f54a85e13b582150a5f64b7f341b4fbe86bebb9cd3584fbca389b42c553e541e7f5b2c8e380ceed93eb275d6d91d00aef606f0ce65c2dadbe620deab2192ef86feb01f22b0ed2963bca9349eced1d907d76e1d16283f8c12318c7276845ec6d42c84d7ce8c486164046f2cafd5041751857e4a97e7f09ace15f0fbd345d923733fc3661ce7d2ec31f8ce71e7abbd5266a99b302976af72bb4ceac7b82cd21864d4ab2d0648e7e7a7e33132deb8842e87e2db3207ce947eb46382686551cb965eb107d12b1c74472d334bf0cd6072015cabcf2a354dab8be1f31cbddb8c5b2ddb4e805bb0b3a20c99e9b2ef05d463e4f65155ea6659edd16c55d4f93f0f835f665d13282f951744c049c26f3ca5c8b15173433a9153ba38502273efe0fa6ce0ecf42a9519ca33359b2d9e378f1a06eae1479b418f1b9f95b002e41e1d33e1b0899a7907be7434083be72529a3bee36499a6442bcb36ea2061a602ffb8784d9850b68fa79b4d11a8a12ceac3225c6d8c18b3dac8aa62d50948c5583e116fe2dfd06c84755198b5372ec53e7cc71417ed2a2c13967a91161690e7a44fe241fb1199ab2315c7a714d826153f867ab80deddc5a865ec89c47ad7b1f098825b44129cf7424af09d13b67691008afbe8391a0c598814d2e84b4690ace8abc8f9842fdea70bcf52fb90d0ce0741f85f89c2e8492d24d165d773cd80deb13fd9b2301856a97538922ccd4950e992c027f0fb2b6d56301cee11e46d19b24ce0552f53998bfc7d93bd4b3a6fc255b4448ba6c19058417bc8b84820d1b45d8c83804907117a3f2f3744a2cf21f01fbc77a89f1d566462526fb73f368b1cb82e86fbe5aa24089cc6790111c3ae19fd9788a1b2fa13c1c51fafaa13a1570acb4e516696857021ef3f3579bf7e74d05d98841aebbb39d667516e2b106c509168160150713a7d5e41301833c61fbea4e583cf35d5485b9e2ef9d6f9c1dc531d977ac792f0fea26c74f09966fc5b9d1c6a940ff1d7de6989b0952b86c3f25b3842e21a0acf2778d0f4d36283bcab2d1cb1131abf043e2af7b52b02c42c9f8bb635442132ec7436cb9f29907aeb2fc92a68d4aef48d2e40d3fd0af2b81a7ea939e5bb9197612b3118cd5ddc282a09caa0a79e2f727ddbf61267cbb1323bae184823ce75196e0ca8ad2dbd9cefb9baf2d1096aecb28d96fcf8dbf3c02a4ceafa8b7e7eee7910d68f41ad6563e4a4a2440c709d9ed4a6effe16d3c1086a4b1092c179fb9f1e5d389b964e213c5c9cff8ad5293b1bc60f303639a75f57a875e77b4d97d94462f202548323f7293acf2c470eda4825e40193e9d7df6cd595ed29e2335b18d1172dfdcb829285edef9b651398e6de0c2be6809922e8e1f602a5f93c4dea376a13303784fac0c3d643f80330d95644adcc6bf4ac9f4e00875bb6ff5f6b67904c49025bf88eeafafd7c29c98eecdef5e9d39892db9287dc31685fca041545a33e2f8818513b5582e7211e252273fea1dc65a5d728487fadce202089f80ea8baadf2ef5840299fcd11abe503a69b55db01ce151c2147330f277704c3fc3c79c4cf0ff78328df340b18880beb1eccc582410171c37d2b0581f9b13c86a1993ccb50ff9653709aea45f31daf1cb2a449921cc01b801694155deb564fedea4d69ec110ff504503ce9fc0e5fc478e2199382e1b83c214fd039c20cf121e1a553277928e0fb70e3cdbc40e7ab27a858ee9336d196c225d1ec514c019637d06ab00cf7c38ac1ab3ae28f74828ca9d5703f4f429f61f086b07fa22e3abcd3aadb4f9e1c6381c1ca1a1d12f0fb0cc436012d8573cce40e9007d7071aca1befc644036bea16835179ce555fcacfa8f3c84b8a5fabe471cd4220079bb4d976bdd2a4f793272b8ecddf69c2f96a5ee30a2bdad5990c78885bfe288b8b568f09294784298e1543cf5701262a194cdad81f888c70c7df94e02ee9dffa1885aff98297c37a17c7d1607fc99c205353b62815b00ead32e73ed7c9667ec4a389ced0b79e1a4edd5d65df5825ff940d83dbd7a594a45563b51e37cb060601f584512987102790723c957c805a92c96f9db25fce13a98bd53803c55ea0a95359f9f7b89233125df185abfa3629f1bd985eb9877f6055377df3597db033d77768490ea3ab277001657b3af07b29d9d9082d0a105f871976ef418777dcd0934f1e3a329c90d16f264c9f9ffd87ac1d92a3a5b1d19ce706a0a0d15c97bd1542f6ec415c28dcd16c25d3b6057cf1ed05913a94e9996230d3c22ec936d57481470f66d91877e36fd801fd943fb64853c8606f62ef7c84891837945b006acb8a1d19237d482a3806707a114d5840c4073986a38011d6110db8ae799269921944a2544414a9d68d65cfefa472b77907155f86651d17c9a85f3e0b0286af20add7e731db67ee63baa01aa8452b3747c671522638627f4cbdd8db3e9327e45d4b0a1a4c2ad5b5854283f13b60862930e6c7bd88668bd9609777a3fc2ed7957eec2ea25b31d25038e6d8a810642429ce2cb23ae7d0811f78a0618ee3afa5d1e0e1aff41f676b647d4bcad07746e5f70ab93e482240f63d46dd18e6086bf2dcfa70093512e47c311e786e4fe5820e257ab104c89188d6e63e8369d194d5b423390e3b63237b5cfc53afcc4bf67d0b18a2fda86930519aad8b68ef4fb72d540bbba41dc8904d146d504c4e735cc31e3cb5dc733da02de1d58c7ed5aa43b41cb1780cbbca557278a599f0c3705a844e679b2d63827a365b3278aebd8b1b7c7ba9de470b653971deb8cfc394b26e8944f432da570e73cae81899ce81003028bfb988327614a5762c4e6d50df80dcea256a494d7bb00743407e92e9f6f46af7ebe64c358fdf0886e0aa7b17eba5d11abf90b297337bd7dcf4b3d7b8028d132fd458a7656e6e690a6231c89cc31dd85e8c5f85111af0cd22483a2c2613ab6b737a007fb6d362e69c3a91032e4edd770b09beb42fce401aba5d70e02fa195914ecf40bc159698283eb1a7396a9125fdc48d0226510dd2c606872471e62a599fbd363971f420e41145e051745e4307ab2b5311b01278b8cbd459632e5cf5aeaea33f74a7d361e18ff30577e2ff19cd12b5e7fed91df90fc81f6428a3a145241578dcf4bc3ae2d4c8139669a071eb2b62b566521de457b5474b03a3c27ea00af3c2055ea3c5c6632f24f798980e78a4f2b9498e50454f9013434a6a74648eefac84d5edf51b9f31f885d0a744c67234c252a80c665f46e57ba9643f68614be8c91f1c9a304037ccce936a36ccc2456ac6b890809a84980ac6234e30c986bb0142d3faa838c6f521f573933770e647fdae355e56fcec603f105e6c565c2a75ffb523877199fb7ffeb8febab356435e78a60e04bdd56df317db8263223043ace97a26c55f0191e5225e22a60e27f2e366102c0914e35e21ffcaceb115e9102369e9b9e9337c4baf32fdbf0f64a21f3dc2fed69128463727e26af22dcea12f3ddeb17212e88063a1cd73d972fc6d5150512c8365c7d35c041aa2f89263ee78deddaa511b4016e5a7f26f152bbf8e6765aef0ce2cd1da518e3e55706349d1be00b00db488e853ae86fbe7a17ea15cce87eaf1b01f046326adfe1a4d78a5f6ad3f3ff3d6c7cfbddcd011bd6b04ecfe1bb26700dea238f8393a8c551aeb30fe97da6f3ee583031643036d3df8b7ca00d336b6ac5913ee6f808ff09d02b3371ea3c8bf0de01e81ace559b9ca357f0a0ad91d889f30a4dd736dad1fc0941b8f685eee011bea904065698f1541fb3d1b029cd58c0b286789aa192eb667cea9b72a54fac5b48141bd8e1afae99fe64cb2263aad988aa31098e40c3514bc6a93870cfd2c47cb0123a34913369303701254c31cbaffc463b4f370efeeabb50bc2bb7374dd243760e3df0688ba8fd317d16ca0961e1f42ac6e0609de747317eed6ca8ba391e84eaf16739e5eedb9b45bfd35f481e78e40801d2beae3a1ee75acb8ff4efc8edf5bc826b23557fce8cbaf7fedc5ec26eebce63a0951492606bb9564854a27edc9a4dc03fff12c843de307f967212ffefeef95d9befb3ce0cca0a4d1e8f1cffb596b7de6ced7b1332af888a6ec6d1d038c0b0e391783bf3bc495bf012d30dc24181ac7c3c16532a939d22fcf36c74337177fcea466daaecfaf2f1d39f289c523b3c175457773da898fcbac6628417f23cf7d01a1310a6b5cac0e7b29b2297c6a340909ca51ec282e08f2cf6de4d46c0d705be5badc71c8f8ae7f27c77e4034f8be5d58ababeaa479e53e7537153e05f38ce5083d7ac7143ff8d706f5392786ac892166749726490aeefcbc0f1e0e894c908c6387e84df8324f0c8f04a19103e54759233b41d2a4fd99fed8187e07f7d28cf0cc0b795d7dd5f05cc33474142c6ee27f7f7f83f184102ce9fa640590af0b47133b82e20fb75ad68b1160a0f8efb30b7942ae4cce0331ab44ffc7433e051b1f18af47c6e90da375e43c0ffe2fc6d0adff285fbd726ba5c50483775393aeb5b7689fd295423fd7444ee1ac300ccba99e595eabfeaea4cf697f8aaf3b5cff673dbe70318327959fbf22feee02d4d66f07a27da6c651cb3a7bba48d001e98fa31616e14743151799b6070779cdf7618a22480aca5b3715657ab624eebe468b02576526538716630776ed12348b19cc02a525f53aa2924318fa4e01ddab236a0b8ec86170e197cb11bb273f965d45a164f3f4f50f85a6f883daeee509a1f17a1109091a3bdd2be88e69713bc156bff3bf70ab6f0a7e05af447d871e044119709d9224831c8b0316a1aebfaab2483f207d4f934958ab71b71e301b26ddb9ddf6c0ca7137d8ebb5b5b468565a3f1fe2c141c73fd5befd443d6ecf35be97247524433f29ca11c9d33c3453ec8266ebf7c2b3db3c34879a93d6eca522306f51a37b2483b79b9fd7d60d3ec57bbf9e8afe4723cd9f3776c5c4f9dcb46fdcc1f0760f3f37ae9817398c0f793f9fc3333a5ea02a2c56c3c606ac29c613f34af001fee0ca634fd1c533efcaf1bda23f393f7245f183de1d45ffa3eac25da4eabd09479c0c52cf3ecca344b4692963218720f773fd1355392329cf2ffce73e9c6e2e54476b59a8b1faccc3a80f0a2a7e47a0ec164fdac40ba55b92c230931d3ad5abe8f894f02bef4686ce3c0958c3d6c209f3c82564c6e0f17d704694ce10c4ff3e8d64ff92e4d369e4c92a7d4aba937348a82a73f479d9119df6abea2f0faa7a3aafccdcc6a9eb856c768722767f517ab7df1338abe87ddeb4985807c7577f0aa88bde6c4264b65811fbc2c19d2aa50afcb8943bcb0304ad34e1112a077abbde7e6448cbb250603b87a8fa1425b2927ccbc7617e1c9251f2b3ea9016afec28b3b244529b1bb07c9951c39ce4da270f48119307e88bc1c56b22eb7919d153db9ba0d6b9b78c685f4b99fd0701d8f3b2a83c31252a83719e39368c16e5a97716c232cffca81c28b18a4c270bafb9bc4660ffa8460da7d5a287a72d8cbfd9a51b7990685fcf1f9463da99c61ef86ef951bab9b574d8119d3a6f6e7df9e2e5a85f58e00aed9060af62baaaac172538131b3f55d4d3c00c7af45b09b0a179fd3d7e29b101baf58e98849bcb2e9d03f1ffae0aee9e96345d997d14a67b293faa7319d9d92b00937db66fb7b123edc5ad330dda4b78f28905aaf11c978791c9d993f7ab9ef69b22bb408eb2c8af7d701af0c3f6a211ba4b40e73df1dc268970e613d9fe8ba1ba86accedeaa4fcf5b75d009767c20ff8c24b6841a382a8a5e8bf38b3e4491e843a19127b6e3534f7dfe2436dd8c0aa82cdc1d7614fd6fd9d82d21bae53c6c17e5f89f3bec92b4530e3c36aeef3e3d2c9579bcd35e5a6caee3c6bad9d10e60a1388bd7c473efc44d1f72695c07fce64b891686f9eae153bc7769720a7786ff31102b4ac71726dd8e82050582e2c5c043234a8b98a10ba3ff56815e69944bce450bca911a97c3f949dc553de6a3415c18019299a24fd88f49add65ca80e64f063ed3b54ce67a56fef1ddb8147b975db7600e44aaaa31b4d74d31064df83179770d125678f29a12d1d7388f02afbc14d17c5030af292289aaa368d10f44d007265a72665e72b752079df9a73be6a31a4606bbe92e0fbd51c7637f97cbdb8d9ad7ce26dbc9a1ce98fd4f0d85f73471e0df0bd9a8c7486cddae7faec0c9bcded929c7d4b751e55c71f7c8692c57a1fa3979fa6e3469ab78ad1b1ede426fa619be3297f99d87bf6e3a5c9f58352364df13de0669a6ddbb2c60b2cf3d2ace5a6c477936ffee49b1bf71729faa2aab80ce88169fcb114f3da96e86d8efc82017259abdc3409462a66376c5ba71ca0a084686e977e6fdd30c0057759dfbe8d1c4eee86406b5cd25d427ba4a4733a519e48cf529eaa538bca933678ee1e35537918b676423f0e312216bd3a10bfcac3951086f1f7f80f805e878a5d2069e6c75af346e5f1e3089c22f1bee7de00c9c8ad581db9f2eae1a85b23bf73b6e6b2dadaaff330ee633133828099c9b5496d1b29fce60ecb5fa55229d57f84a88b4588d87a26be463e5fb877f1676c7b0b72578a4e76c035f1a4a63fe9318273c12d3634f6fc7ed9f31d254eb1abea5dc7a7830bf73b84f00e80f27bffa6d0448d3e085c13101d0144bcbf53d874d876ce97f0286e9eb21bcde14baa76782e1e4834a7e98d1b5ba53d157471d17897bdcf8303ec8bd4a213768008ba89fe1921ff9f8ea08ca0ffe677f0a2eaeccfbaa9c631f574489468caee58e234dd3e0e3af89cbdbfc2f953afec58e43d05a1b0bb3102d6d967e3d579122e29269bc94fec9d6d1228b8d7db5da7aaf3803e43388c2fb0e37ae14afc3a185b403c73f791cc1c5157b58b5b6a124c4684934eb9c3b96168760f4d8771f7e0eeacf918ae7044426410158bab62186711b7e746e045c1a04d5efdc0f4fb2a1d2899c246aa18bd1db9a5e66da9279bee009a384f121ad1c4efd6b562b739f37806782b41dadb34204bd97d855450c4f86e7a04ef4a40ea58d318c6d770b87ae27c026f7987a2f00af17e8195af7d939500b5213623d591cc33c7444b690ef474e29e16df2af1e6f8d9d0b636c1eb8250dff570a745e1e23a007e443040e107a601e53c97663109122335578e7e1a21edb75e79d5829a2c66a22402a483b05304cf4318da33a2af1ce7ed8b79e243a82a501cc596193fea9fe5240dc7eee5c70cdd051c920bed54f25d0565c4457c48495b73d56d93fc92981b2915ee0715b122b8281328b5eba0006c043b35d4290c2915ff6a37cff24437526123e1e628660b6c1a4cfa18312525c6db45b90f38c92f81536b3010ed9c0771d9bf817ddbe70d5f7a6393c6f8a2751c70f9bc13e91d77f1980994fb84653b3fac0be4bf13a7270cd898c3065b6e181787068895e00b30637a30ac7a82d76fc2d9aca2ed008d85bb2bde250563c47be60614f94fc6eabdccca1bb5c154d23604503c0315d0ad2a2dd50e3a910043f2e295fa943bb234711ff1e7e0bdd8fcc38f2829bfa89c74db47dab2783a82c299d0e8d44cdf9197a1c7687bf0ae306c523751c187add4eddf810f1321687d59f2bccdfd6d35e02af068323f8a8e6ce66d995224b2a63c3648648b1af37abfafcaa035955968c069a25c1f586a1a9b0cfe5d9e5900a855cb8e0589996f201418f5d241abcf222930a754a910de9b449c152a55fbfc1e25a22116d469b5270d1bddba7ca81b8072c06d9f83ebb6840d04a6c89ebf4c4da359113163476cafaf96d50fc92ba2e0aa63d71fb4bbd8548a503984b097dd5f9790e38757e45baf67cfe26ba36529dbbfe20c141c6871b044624e7aa765d577011c8fb6132ae72b444dc6122b49c289897e23ff684e0491e7669d092117e637dad062e770c4217d1c6b8f5034a72bfef48405f60210e1dfa140957ea9c412e3189e19bf9bf7ea79ae48c4fd44d7f31777e4bd312a40f42c487bcccaab1f801a1c57aa767075bb9f519e8c5a6e787d2933ad72f6de77cb09af589026ca1e7038ded628d25dd44c1b43a2b0fe3014ee8878864f4850980c95889d753fea7fe4627677d15b6f36f3f995f865c5c74dddea08c0b8e17c44e985fe684d0923df7839ab697d52e1cb6e18ec8ddd977b780c230edbab42a531055626d6a2628422e098cf6d848f2a0908fbfa6b7957b49b7950752f7e3fb94ca5114333209c2a90a33e8981df97d8507c30d396ec9d366550cc08e286b5f1d6fddb4b6d18d6131ca8953e58bb7aa1cac41bce71debd7c9cbeb08111e4c88623e0d4ae619c47fe3195adb7afdf45526789f84b00c4bf28ec9f57bf7b6dda19d16e05db7a8ddfc25004ae06fdddee1db2bf524387e017751d3bb23f3ee458c4a1423418a26c1bd4d3d983ccae84837149109bf7131275882a02f85fd1cceb1bb48e406e8854d9abec195f16642e2704218203155065e545bd51c71da02e818ebb2158460b9a204f869286af3659697761b69f01f77468a1f7c7152aa5bf4f6929d6febcc21df440cd848012ce4b268e6e01d45a0b50b10180dcfb09b12ed4a578df4e0c8a32b127ffa199396d64327a92a9ba6cbb4022a61358394239b8de78fc21793ccd341b93bff516b727f021073c02db184551609f4446fb006b7927fbb6cdb7bc22b473d3033be4ebfe52f03be77c15e8de0dcbf123d64c4b0fba375d5f8245b1f955f55698c15754c8bceb86b8dcc91c4b23d8a34c14576f1bd6e67ebf674185c1c433303e023a9a27a8a43a93d4f302da539eb1702071a0f2a3d7a1a996980244a0df448d78049669b781e6a9d77ffb565427a3d1b26773b4d6d771241d6b3092c96e2378cf5d9f6aed35fb7cd07b3bba4a8dba43147c7f7d80af60124ee1e2fd7a847ef5b70603871c291aa21dd02d8872bb18bb4766dfbe8dbd5a39a394ad1094441fef2ef472fb57ae00bb8fe7c83a1f1785774d24af61c5274ceb24bac32bf99b9bbd2f203d1b4acf2a0a14a0516e36c2deabc95d1720a76325f99d59091a27b718ab32c99f9b27ba410c271557715af06743e6ec0e68cd9d009bab00299023fd004f2f7543ffcbf0e374174fcc0c10d77efcf1ba850c01adaf581efa4ae77455380b7273a36a9a7c2d637444a50d3a0fb4649e5383b10824b45abe4ee546947d0cab0125cfa211d2669d9a2a588c48b6d22e2fa058002f87dce3e00c77c0c5659feaf6a43545f77610457deba7ce70de254ac6ec4013ac522fe03d33bf83245fbd71ca698db8327c47fa25e78efbc1ffa0e737dd3a21e1071a114629068292bc1b80c1b892c5b3ceab517cb2baa126dc518af573e9357439367d6c5cec6fdcdc840a27459f0909ff07258049d27655c24663a435b67a2a11dae90394caadd3a6bffd4f3f8828fd31d80bd8a4f43d5738e900167d02b4d78885e62923376b89f1eca506eaeeca0e33d8b8e1f2a3f8893ebeaed1aa88ec7d39c511ceb4a0c612587a2fdc4c96913e8e691493320de74989a272b0fcf1c28688587b834473b374d6eafc4dd7fb9aec5823936444130daea6b27ed9a7c0ba764402b9b99b3c5494cecc0fe1442f3152fe17ac81c25658862329d5ee20e07606b391a9e44f0b7e4911db9cf6330e330c60ab588ebe3af468b8e3203e615eb891241bab88dd5473166f4423bc61197a5cc6cd3870fbd31ac7ae7d3ab83f8bb336db9ebc4501a69f119a84624b6d4876364c5310060c3afb1bdd50ceb073cbace4c6ecd25d51fb790691a846923f4c6aca8ae75a14266a80b41b9ff5472d638ba6e770de933e098a6b69a0e434383ee6d91c2844da1e70c5db8e686b24599e2309dd072a37d1372530c5f68a2aa2c6f8a91039c8f63c21a542b5b4faa8dfef7692d9fee818c13ff68ab012415f5a21f4bd36bb0b45158c902d5d9225c6190ab5dce0c7c741bf5347e26f7f9af772276f05bd39d4e9e3852a808fc683b090d8811f480f3eae744de6802040683cef4610a084ac8ca97970076e13526efc99e90995d685b53c41d006541ebb26561d8d6f7b674581f430a55fc61ff26eb14df5458ba398757e0ad9714f890bf84c074d92a0fbccddf8c803d4fa6026f895325b02cc0a43195387036c59e1d86dbae6e9810e06a54afb0ba31600aa4528d0b3b5e148e6cc05c725c03204e739c96117a210551a89176e0da9928153cb24e59144dda260aed5811b5a500b35c99618af3abccf387812fec24d592ec1a258c3034b2c34a9bbacd103cf12124c9723e48c8005002b8796f0bf8c5007fd7ffc5e1ed775acc68ba7e87b2593bec300a6fa63325fbd3d6c86b45d60c1060fc1eb78fc6f9fdddc7f6a67d6a89fc5b53084d9070146895bbbdd012d8e9b27a69e33e9faa2db01132dd2dc453b5ee1d5d768e850c2beb03c0b5a5644b854d83b42e8368b304886b449527a90e46c01ea27b5e7e96544c5d5457b04223091f830bd1a4bee1fe6b7bf1f74a8b8cfe9d771300f738e8b861d2afa0c9921bae616860a9478e2b4391d66ccdfd4a941ba5d700a1b187b61d3ee84bd5c5ebb3c7030acb97633a1ec0a0489ed0cfe872e1fd80c728759e936d3c70c50d1d7e628e1ca3ed474464366ae496220002faaf51d1154ba322bc14a393ac2bc7ef06a1a183d45b1bc376ab8c89b0bf67744e602224d7335e427f26fd521cf0901ed9b91ee78c8e1d54c11a62f11cf2572f082b5b50539c345eb67189ffc6ab8cbf3dcc78f437fbd42085c080bcc97333bc88eee89052aa62480857b591944c177f7bdd762472d8e907bf71d839640883c72b8f0e93a568e4023523455ab26f5538411a9cb2d9fb337bf003d365c1b04c180f14485b0f6e1e6c2bfe1a0b8d618a431db429df9aa450a86d891a07146bc07a02e6b6a89de96a60f02a1e8001b658b72c32b2c1c18d414f612fbf322754aaa010a7894002a87d16b2c931e8df403d9ffc6daf058631046192fd39bcb63c21a9675ffc4502dd793401fb47949fbd79b2b7a0c186ec7e5fca319f79a7b876b533da532356deb0f0ba6c0f29fe5394b218ace73009ba7ab04285b942fe63634467671e730001be51a140c38ae2b8154388760b691d9fbcae71a48410e133c88b6b5013a4f94371f7abb73eb54e751f59d7c36f41b494e1fbc460376d145b02ad6f90aabedd499fb6732b705d6813851ad30a5d6fd4461ffb127756df0c9def20fee2a5e31085ab8f2af75fb09f827987eb8deae3634b91f908b5daaa100a6d003853a66a036c88322d2e32ba03fe8b8119c9c5defe1f51f575bb9e7337d253c650484f5e8fc14bad039f5731df4ba908f8f80b5f8b149dfd6557324e9e9e18ed53a68fa7938358d17c7a43f861d415e2323cb85ee1c91c5e974b8408c0af1b3528865bb871cd09376f037421a64c1b09ddf08c93100d6ac40614624a3739f5a2138c82851e70ba950671b3c3376dc7b37be3705c432b9e1fe1cedd1d211d726a7ab30feaf7ee2756e5c91ae2ce699a801a3c59268233e4b095ead5ae446ba7dfaf495068512884213389857cda515129e59f05c3aa614578ada50065bc711e2dc0da83d07ac0d29fe237f6557637ab7496006dbb4dab4a18668bdf18473c46c375f64b3343cc80d511cebfc17672b3c85ad736d40621e89ff35eba13e80501a635f71f0623dd04db9e4892639381171a80cfe57ec0267aa5703198f0da88e7c4646565960462cab2e32a25c433803f5186eae73f9cc1560227218fd4c91c93d327dfde0d43bef05437235a2916a010c8e8b748ea65848123b63c6eee4d3e9830c8410a6200bbf582727b09cf6eb08d4ed094457ba78d07f626d28139c4c0856e87d9629d4f60c85b67d33ba8cf524e2e8489a4ec1620bb4e5740b715ba56e1685b261519440c8eda31a765cbd0a33d49cf0bd10961ae5f38aad5f60749dfce8afe8e7d4a90ebea19c7bc165763d1b2ef56b4f1c5b53b591d035572e0130063e17c420888eda25388c8bfab1189cf18780c7c3755290f637a24a71daa903e2bcc5740871d0fbd4e4858790b6cacb20bbaf91d6f692e0a8796b25fcb6a5a4e5ec208ff000461fd6e3cc2cc323505c96edff975708b848142d0d8f8c7ade25d13014c91939144d9fb93067eb49a6ee1bef08a4ebfe00615cfe86abe8629f70298e48a51cc9e781d02c77d1ad47c81836892cebf1545e05aa3bd6f2b31f782af5289af9faca055d93a746d2b8163a83c5617e8a14381e00f20b9c8c632853d8cfc609367507e41999856d278cf32d18f6414a95938132984b7e8d2d036234b054bcf436a686a42596101d4b56e1afcba7ba417709e4a038c0afbbc3eba7c08cd6c7dc8380685ddd764238de221a29f5b5ecd5ff6b423af9eceb2662009c0f0f0ee0d1c373a61a5f5abe94e847911a999aa7a56ed21d312bb5c0d637606b9fc0ac882d6f94f4e8e83c58a7cd6c9f7edc00bb1a7df60a822f22e12c876af282f2abd6c39ffd9f106e970368c3874560ca040b98d889fdcf439f9e6297c0f5783692f13bc897df523839f7a93b15ed67fe5abc01212930fc2928dff4c7c039a2fbdb5392468c2cd997d99fe7ca8388196fa20309c9f4450c197af21786009a3cc8c5334986d64d50ec75ee34be382448448a6c4b0ac093a22d9b76c0c5f41e9f24ac866182d5d50a5f301f33ab7c5ad31017174753e50b9235858508e93c5eec2af29c074cdb6ad40416171546851c9589d5be125bfee8a6ce6479cfc39fe62186c79809bc79b8461f80d98026713ab66e5077e9054f806adce7e9d128c322aea5d267d06efcd27cca2db1feaaf6b6f2c321af610ce5efcc1302591908e06f5eb0c285d1305996dabf9544a287a845fc3b76cbf09733942775b90d2adcdbd659b1ba005f5a13c8ba1ee3a48dcf05ce3584000e58a787b6690b93b0091c558782814e865fdeec200795bbbf2076446bbe05cff014bb434ae0f45882e1639349be39e5f2b9890aa3e3de11aef0206e253de3e2ca10e769702a48fc6c4efcc9169a5a0ef9f390778bae11d743577ba7b993092e30bd73899bbdc4e29c84bf0c5dea8a6738fdb55a1b9fdfa85f4c4ccb4c0e1833a27519578781cc86299451396c73f0c6f2d0e680f1dec2e9e3dc64c597d044b94a087430f8b9ea173d4178b899e5371e3024a9cac5f5897e2cadcf89658e1d67fde5d9d7d4b734a09da87d7fef6d0b666d3a70e103bd8a7199aa743fe6535b403f067156fd7859e8f76a669da7bd53bf69637f4212c79dbf7c70d3b40cc0064348576a3e83457bd2e7cac89a0d51ad32ec3e26c2ffc9e6518718e12d68752eb435ce4ed5e52d09c67b9e7285759f4c2cef03baebc5c3a808f36e3d5ffc29407b6ca86564559116691bd96acfd318bc43595cb274458e2fc7ddd65ac221f9eb27727c201cba4ca8929b8ea0a012b4d56544563f4a53e43d26110191a83077f1d457621294144b0113d6ad2912afa112464988e107930d67e4fd408299ebe24004d12389b10a62c0d91763f453ae87491b34bfca0439ec015eb04b3c64c548fcf770ca71d0c47fcfa3bc71e65748e9f61b7549c6f90dcf1cd1e0796e798b0f4b817dbe56db04dc71ea46b07ddbeb219dc90d3937246f883cb3ab545baf69c08a53f499c06fa2e3d38fa597a3760794c6141c98d5338629870ac4314ffdfc86dc13b5779dd64fa5f3c5e94a626c7c1d0da7b50d769c2eae4362f8bf117c046ebaef7bd192b8f210bf6f5eefe03708c10690960d6b8233202476412831a702e00929a85f5b540194960c7b82f9896702ca0b9e879b57e3665f495fc7c427f929e7681ae1f0d792fdbf6ee759f72ef40d51375bd52b8e47f2c31d69cee8ef023275943faf34bcaf9fb419c7a9ed31b3dfaeaa4bff44f7dd4f723dc9f1df8ac643f520a5ceb0190688168703dfabea093111413404b897285c5f79ff4185531eff0ec60ef6fcded45974cb844009d358e424dc6143411fc4c3a5d929e590ebfc5677c7d06cc8f694d00a430c3c930f9fd6935d6fa6a682d442c2df652e7b6449f7cb38586aa0950b7b6e13027c489af1f69dcd9a55eff3942cd2af3b3cadc938a1d7b039ee1114bee80a27f9025eeaa048832cc4eb7f23bccf8bc8ba5fee17d274ef1f9af9244b440fa371efa9d5f7309410b0def4ecf257d46d6a2bac760eb4ee19274f3671e7af3fc16be9cf2aebb9bda9fd5e8df5eada32696848004e56d783af0198f2eae16c857afc6c7614a2b38becd3b530f3092549de98f8ba177024b10121b26b41ca760dc68059dbdc15d2e1b8fa1fedcf749297d89874c9fa1303c74ba3df4c77b6d96080dfed6c4ae9c84fda3367781cbd78c285811e582f6168d35e4b62ef9d4978ee32494fae3ae677f9e08c560459479d50231efee2bd7611f95487fed34e96f96de1a15f169271e8671d4767b88c7ee366a3a7fe305d2efd8e538cdf56984c119baf97b29fa21b76305b8d1f576ae1445d36d597bef975fe3e3e5b1162e00bed3b159169d66cf47fb97bdd3dbecb345747e07dd4835c7eda72c79165cd8534279e9b25d30f15f74afc20a9147e0d66f5bbf12d1005def14774b0f7e102f66ace637571d957b67dd8d51acae043d7525292156e647c879dec8d8a930a356a5f7b663795ec0200cd25962899dd0f260cb289f9ef1e4edcbb72f2b971e3aa2f6b907209b420d762f779909b1700f2bb35c6fa01fdc822fe0301f9581b12f8f42717ce74c8444e335daae023d174394f08e1beca7c5e555537e826714469dbdbd79966ee787c560cd29f74f9c725d0046e5b19bf99a41603224d87bd343867cb43ea0647c75896162e7e3fc5dcf96b0555e0a0f65a3e5fcd8206e235495b94b1b44d8f23a14f92119bff310fc6deffdf313eae5769847be777a89a80de655e6f74972e2aba5b8be07b032620f28cf4eb0004ce9330ac81ed7f760b668bde8bc3560b097ced82a0383c4289f05d89aaf799de073fbe964e5cd1d79e262848a03abe16cc68ce879e01395656635bf0dffad6535eb52365457b24694f6ca7555af6fb0bb705fe83771352255e6b514adb626513446b12bc751823628cede390bd24a18d9d032dbab81b10c2dbf31742c6b17f944f0c59fffee9a9daf8fbd59c3d9d7907bdc58bd8cedc832096c3380db187f68883c8f4cb799bc8ae778cf258fa54c74f0724bd96e2f90c140df326f2e0e38f543ed331714dfc2328ed5cbb6f5355c95f4e54f63dd8f12a3d355b05203426d73d834c057ce60cf2c5238845b77bcf3c75f3a28a8607825771a44b3089447effbc74aa4a0039a65884661ea6f009895ef1fdee5792b4375e4999dc518f8be3cba5d1865bfa381bc9d7a14919f483ce30c653427c05285ab151cea0fb98b3ea6edc0a6e7c91c7a4d116bc80401c982af73128586c4bce25f8df2a05c17480d34f60668a9e9ade7f519384d9074e8a77093213c9b28123a8b5b10457d7765531134104dce9c9c02ac0e9c2f8b113f7779e760403a3174cc1e00f2517a09630c0f20c97f8dd4681b38afd04b49aa200d97697d42971fe67490ee062fb0d9e42febfa56fb07d16bce03b2fca3ece15dcb16cbda767f6ba6c7c532288778d65c40e1fcf87a59f1ec015930482c164c97443a983e83c07c4582640b4eede7ff37a54f97603583098af9e5288a1e2d3e09e814e99a4e22d0e746f982e89881e06497ba9d0bd669bdd61a3f046d732d35d29ed220fd9ff930162e11850fd5438500f2ed759cb7f1003323e3bb3d32e3b93fffdfe773d7654f7334c9a77792f581dae76c0d200896788874b22ded2b18741b5c56ad7f4c005aa4dfd786da60cdb5780be1fad1d0153dd9d5f399b4f57557806bdc92e553a0740e6da3c24df752d3f210a28dec27689c0686697e3ad99e75bf2fa8d9f5b4901c9215f8f6dc9b90236d6ec27d6a35c7e645be7161cd1904b453d673ec607fe1c4b153c137a81d8b606ae2bafe94c13fc8640c5357e87ea5eb2cc1a11a227c092cb67ac445646090aa7ae19788949f88f90095e904dd085004a8b1577921f4149938465817f8505a445995775189f8694add92a1a727651992e83e9b07e7751484cf1913acb97b36260015ca8a5e12b816872b809da06ca3840051a5c34b33435d78787610a69a487e1119e84285cff68e5fb76c8b6cc2bc2b533661da448aa8fc4427cd46cf600cad54397702709ecda898f4502f27cea068e87798f5689a303fac9ad3cda9f91a107c2650770c8f9c298f57837018a6f503dcdcf8f1860150a99da625addd54c06a450893fb82741ccf94866627f414d2575ff44a21f37f4b3f074b7eabadb52459a2175d32d129dbf3a03345a4d8b137786ef1b237e9b0d38d103af98823b38d103f2bfdc33125c20053e9e3da3b9707e0a190d4104249d5ef0e398aabc8a4f77bcdde4fc0eb206c497c2d2cb717d397ecd970ede859b11c47b4ae6fabadb650f540a77d38969634ed855b796a55bcbc2f41a1a4f34cac73fb89cc4e1eb4bc4c554f8205f5870af28a343ccba3bad8969009f093b1ad273ac062ffc245e160815e14cfa587e0f1f9c84210b2c971161c52bc30e90072ebb378096bc9599b650672c08af4e49cd8a42a3b5fbe4fc0d4d9d31db24cbd87f05d1341c9f93c7e5165920f63bd42ef20ac4d355ec97a6ef20355df5b3cfe04e72a41f9587eb76f43c74f43e6662a9925a5c671c648daca7cc2346ffb32d6faa60f06db1263bcf66e9a08b5d3e5cd31ea13d2c6c65ae41d7e42c2a3c17615079f5f137565ea9fef2e16584598630303bb08af64aba20aaea2a3282e486b4384ae02e90b1d73bad7165a35a554a748213d8932d6f60245f3619baf97fd40aba893fa3a90ab92c488244eb02ae1db32e00070d93eabd200f3d0e81358b39253952449d068c180e8fdaaed2bc0855730af4c824b610d4809ca01e0d13f32606da4e74d9b71c312d94e70237d6298e4a61f7230f4369e0a67c76a67f04e5452c41dc9b4229188ef223a4c64e2b4bf403889d7a6f9b2d44acf25ecd90b10a19f7f3912423e307afc24de58e36383925356a604999e84b62138e841283ac32a9a7f682a8bcd0138e6ee32cb1434ba9236920871e244d01944c38f7d95143c1da785571f1161baa4abe151c4647ebb79752096bc92ab3da1440d075959c80c2cc4f7b45c1576d8acfa370398f600331ac36e9b4943fdbc431ef44616ebe56c7967ef665b17ba9219a2e5c03511ad1107f6e463b55bc45490126988c2465cd60f2c5154e0ee67a96b1bf69b2eb4969e60f54143287a6255575ba2dd05af4773678876772457d32753a693da1232bd86576931830d62586cb8119c91197349a722c89e5a37a42154a2d2984efdc2df881fa957f95b85628fd84c53f272a8dd8a8a053a705afb1d610a300b12d7b0393b4df3d7a25bc870cca959d84956d8f3b3813a4cb6aaeaae3bb98107149222be44ffb81950cc3556a09a6080c1e2825bda1e1f200501ad651e3836af358784c5ddbcba7f411e5beb75e98bb94d71331347d52f62827dec96958d34a091802aeab2cee6050fe0990fb8c8fab1405a22e827032ee27b31220ed809f20c2380174a26a04cc0ed19c0db2b532b7c511317e82a4a113ae7b7bdd77ca7a7348b1656317e27c7a211508af0fa7d1409a6fadcb44a045b80d9134b3741e5b801a86ba2dc1fa405c5aeee86e5ec314e4796585cdec7c2a03d26ca33d3d0147262279945dbd8f49f73db56b435e028c194eee9deb4f0a21ef7b2414eaa31688df44b09271bdbaa5a70f1b9cc3b18d6b9b3fced3adf720085e0747e6bf755edc2042f78c4eeaef7401ab10be4093a8d709677e1cab3ab984f110ae039f9ec39fd966f00291d5db5ec3c208e4783bf49a24db942c3d0744f395e4e4bc0f9d5751d017e2886e1bb049a7a0a4813d7870f216a7cd01b67924917287bae4cada219d7995364a9183df259ec840d71f1a602988ac2cfc7cb43745d850caf3edb909a2e2615e704150a3b148189ce5a430502564fa54cb03a46edc9b4cf21a022086cde75d01d4402feb804441ef0db967c84928ce3a7740c2890db81d52c809470907044655071630c12f70cfde264b04990dd97aaad5346935c35970542964a9e1670f48a5495bc0456316602fb471c5eec58b5781e1c119131aca2e8c11e9f73dfdb6a1f868a60dbc543518f17cdcfd773e18cb6cf723ebd082f4aa002f0eb31213655c119160fb53c63bbb11d28195cd962df53b201fab22f460e1a0abe80aacd85bc3b8409eeda4602bc2b6bcedd220a31031a93e86980392eb2b9f5f83be836fd436c9aa5cf051fde6b6418cbf326267d01b7025d46498b6ccc1ed9aa4dbec6fbc1563b8af72cb7ea7ad46486e3e1549a422151f757dfbabaf502cb4df3b8d26bd2b02d6f6c33bf5799753548b4c7d7d8f4fb17d005f5e4e90a066492a66835c8d9e0c5eda2c25962f628f9748697a924b1d855950fe91b751fa6379ff78d5f7101743abd3d45910294b1b2ad131bde274a22f5421a19ca194cea4663206e48ff76722a1a74e305f7c8e8c32f78d0248ee0383f2d080300582df93933fcd939c66a9fc937941330210b7bac1b11e4af5f8569f2ce6c48f290886400d3654c26e64045265c5ae73a1a28a905c5cf16fa8d301ac4dd440698ecc9be861d554ed7f3a2364442efde9ae14ffa51b3fa41b81d35c489c9e7a8036b06f3c58fad3efec63e20563f1df02f887c3ce7cef4402aec19f52187dd77d74501f7a9cdedf2b40102fe0a796c73864098315902567beb5242f50dadcd50549ef75dc7d4c45f8434665d2f434932d0bc83c8015de502738a70fbb1c7c8696bc48f0bf9bd4d20e4e46c679825c7c501fb2eedbdf7ced079fabbeff3caa14c5471319d541c7603edf0f8c1141774135ef76b661ef7f2675c5ddccd6ba5ab4feb4b58b5f6cfddb565298f6239e09022126888899861500319bf5a0fc99d4bfaef7974926474ccbdb6ee8d8e99921b233320cf5057b470739632f4e916da35bc8a2b3708f4aada2c05ecf4073ed7a358e367d35f74dc297e3ef5991f98ba3dca32327909064db774bcbc573d7d6fe4ef9a5739e57eb9566f54a47ae5213c0498adfb29cf5ef123fdfa77822f39d221f3f26ef21b86decfca81ff7f2913d2f3d7e760903b9777179594fdc44b24a77ee72403c387edc080aaea614c12f94416cb88782b73b79db0003e1acc4929647a6ee32348083934c59d37f5e8bc6712ade9de566c996f8c4f066e04b0385b2a0263a4694eda3d26c36afd9de0e9ca11dd6a6a42eb4f556cd26564c3b6cdc2cdf680be0772eba7d974c5bf7d1263a254f36d3074dc5e14f08fe393905ea92649c98b9d3297eeb25d6ea219fa7a8f1efe32b644ef02e18b5907b7d2cdbecf8b20bdeafd84a3faf2eb35f54c09e073e6389a4c535ece472b52a080843505ceb0e171023fc4fe58bec55e3871165f3a28116856bc6d3ad6e4f5337798589ee240cd22b7e0fc4dc2982f33f1fd31e5860a0d6e43dad6a94bbceab210f0a2270d10c5f13aee2ee381868b21478abcf9d13de84a88b273fa7c85cf4921e3c35d8654ac23083c4edf6d21cae68e964b199c8bdae999cbeaf38964762cea05c6a45f9273c58c9030cd1cc86abd9248aea9169546cb833c01188b771ef546d4ce1b8132a71faea6c20621853727a6731bcfde284db7e944da21008618e181e1d22058c00cf09e0988cc13e0897b2973e77ea3dfac41794bdf31445d83215cee3d7ad90972c376a2cdada7e6c723a11a49f4348c19a9ae3a4ba0510bbbc542afe2fe114100e0a846e456f868ea33a3caafc6746cf3e7a5488c859491ee0ffe763dbb189919f2530b2d084d37fd63e1fc1841e948053c76c0494ef46b85f70a846f14522635509b2ce12b1a89bbe4a609db7b40e2297ac1e3fc9827ec7efcd20e54ac6a1e2578e2911791ed801c2113b639280b4a11c88c27d98cd2848e8a5a7de175b5f421ac4e7e70c5bedfea268f6aac5a902e5902c4b1d555db0cffc0ce8ba5d4461b3144bf111ed261a8bd24ef7f48b2ef5db1869790ae3c1815887d98a628e8ec5c9c7d14bc202720260e2ab08ee8357cc8d4deaa69b71ea1eac4086589709444e3a907026db50f40b238b238aca3c005bc10e96775545729ea5c8657c528e74421557d0da600e4fe91b08b2c89a17f6eec8bc99c1ed5a00bf9fa2a33b572621e125c8bfea8559b7fdb724d46a6158b7bcc203f0f217f7fd1d066b1f6185514dcab911c44c0380293a2dc28de9a91ae1f475f7f2d9c10c1856626e485ec69b0e978c8408468a20706dff684c0d6d11c197a9c8187998d6203a9eaabbf589187740e970ca09d1830020464f6268d181829d5b412e5fc3e7782c118b584aa8cc1c5aba948a96c956ad88eb84f2d0810d208876f6724bca1f75eee65f4020009af655b7aa32420dcd006dbd0c0b7c716e36c980b54ce02bc39965cd11992a39a9e5e7c9b418b134909fc58f19070c248e0e7e06fdb6dab0cc1043a8a8a3770194fbf172c8789b5b75c7167cd03bb66deba6732140f48f8c976d10e4075d4930d7795d7e801663dcac826149a329f8d6a73c016d68bdba104f78f438b535b9e989abc29f26c7048910ed0826bcca0a31927010f416df78f0e46fb189279539f7e966df56d002b5c894cc8578d444d9a43a69af5c2efb503263a30a27059c9eaa0a12322a007e925a6787402a73b62f02a1f8969ba813103e933566e1d1e99c8262a8d12128f729a7668b9c436277757e1c8670caedb6eb9f53005107001d6e5ec279ff4bdf19adb12223010465b5b64b874247484b9f20736983107f9fbce62b1621f4f9725c9555cb6c273255cee1c07f3fc84a848ef161bbb823f21191b82b163edb74f0ee7481c18c45fac42a75be95091f923edd10819e9375e7bd4be339d6bab62a6aa71cbe942538b0fa4736e3b034bfc14a32278d8ef392672ba2b09b5520d701b584e1abb918b302c02c3d6361428dbbf032211cc4f05a450bbdba4747b9e409d3d955dacc8ba405ac71e86a2e2f5e68897ff2d26c75773eb8ecfd3a52fa6d474ea51bf25ce608b577acbc8d0fa4321ec2be0fabdff322949ea7d5104d7d8702150817e3b050821500af0e7ecffa89f31a93bab8f3081e2188652a5f386bd144286b13b5c41b83377349ec600bdb99a94a7e8453c889b1faacb041f2cc423e4bc7f9d434c2abf1e6a1672082a3b15596ffd1321fb21210e17a9272fbd4ba0f5cebccf274f9023e82fed0895cbf70f21bf489a5a3f4d1073025d1e66b75c3d3e266552136a31ec7135f436c60b6d0d2f57b1852ec8d2d6ae388940863a1088931a0178ecff84399a6bd3d264bbe2efbefd4d0816443ddf3438c9a4f6a1a46a784700b25e2c356f813829ceb734959ba1c8c261c930c072beb9c38078e150c9597b36763b9cad57fb0ce7a5ce8327e844136c4628a32a64a309b65c2253d5d24ec9def84b5c18d69d569541d7d79c00ca1d7de45d1b8ca2f1d1f6e327997805e2244804a4b3f0be819ac4a703262b2e74b35be63f264a587515a0c8e082ca11cdfaf351e5e55b1bd1d236ceb0748cca0fe8d45b8ff5612d53a4058f91c76ccab18c0e588c403a11a8c1699365471d08c903038813d751475737504a49a058ecac576163610706f3a40c8b3c4a3e0d2a35910c4108e0c523ce8b82c0f9b24494f41442cb67a62d75b5025b7a08af921d89cc04e0e1b2b8b2f08a604160015bc1738daa119fa7e13c39dc5e6b5b333da596c5e93cbe7c2676f4ebed5e6f0da21d7ee4c676527864be3e8f55c8ebe0be7f0f1795c96cec570e11b5743a7cf68f920e0d90d5d4eabe5799ee76335fdb9a46f9c9ce7645cbb3cff7f9c1f7f364d0af5f80feccbc611c7699e1c3b625b2eabfff0301acc34aec6cb612cc26ef7fb3da3f98fb55616c6cdbcf89becd0903c56cfdd64f5d99b3ea771bd3244ca286ec97f74369e96b2e96c04b67dcec977faac069c52e3e1edf6f02e3c24b3b778636fddee16777d8fb7b8eb7139cff3313b0b6be1e360edff124430bfd5a0ecadfaef0bd5adbe0701cf6e67b1792c36af7909fc70b68b8b2f3c0bbe157531fb7f3d634fbd9a6f045f71ccff995c7a3cfa2e77bb5ccc76d7d08acbd41fe283dd9bbc45d36c8b59dc9f96d0aaf4597ddb88cf62f3385d55f3c335c797cf7381630678da4e606587d982f91a1d763d93754dbcf1b0ebd77f16cbe5ff3a8c179ec962bbebf6fd76bb555557ae5cf97cbb1b1edb53ddb837b32b86ff03ecf2ba7cc5fb5bae152197b0dbbd5b2f5b1b7c95cddaa3dbfd7ec9e4fb3b78469fcb78791cc671452b5faaaaf0b6c0f458dbf82f27936f2b4bab9ad9d50f3f7e2c550ce11b1704ab12656c5e1f86c337951e592966b254d4aa0ef19f223caa515a8b72ba149704f168c1ec424043a84c769c6cccb7995717d7965616d695f936e3be9de58163b2b7341e3826a34ba7d3f8b81c1e9b3bc4dbe2a07852dd3950a07cbfdbdde655d9270dbeb7fa5f472747076710473bfbbf01d4b921dfff377f6584e6b3f2398d96652205b0cc048bc981b0af5b7d9ba16e413d627771f51cea0e54cd8f8222eb76d5721c47d341853a157c9bc0ace91153051f05f5fdd7712affe7a4f9ff9af2f9fb9f13fbff35028460f0fd1acebc86266787ffdd645f258d4a063ffc7626349f010fd167bb307e93e15e3c2f7df6ae99c7765bf2f8569b713bcfd35369318ee77657503d3e930fc9699c706acc369f01d7797e93096d32798c7ce766dfef974a30bf05a9b24658fcdb6160b67a0c3836b4c203ef38f21f791cf6e28177dcd95b8507de71f6d99cd7d95b304e0e8fc786f71b4e0eaf81f371204ec66dc3fb6d1bc6a7c2e47b0d684789cfdb3eb018ce8c1ffe95d3633cc7036f7414147e568b66fd0f02de7fe7d033ffdb3c1b1a1a7a19681eabd563f3a05c6817e1384faf01d1a063febf700c06ed11681ea7edc330a805b2608ea7d140d31e0f04ec0a01f1cd06511264f49f6bef8801028a9bb760b06d1eabf371d9edec2d7c3e07da635bb07a7d48be01d5f8211e3e034ea9f3317910f026fff9c0e183f3ff8deccdf6913808b85653d9611c35eb63ea1f07ccc7743efaff7ff3b153b68794efe1190565c6c9dd6edeedd26d7b1092d1eb1b9f1e623c54cdb89be1fd669fd562dbedeccd3e90a7cfb97acc03cc83c0ff36cdde0e02aed5b9cd83e7ff07d86f646f76a079bc03c98e21bfbdb3fbecbd41c0b57a2e7d0386c9e33bc0f19c5d78cdaba6e39d00ef34e0b98c87ff73d09c3153464c1830b05f5ed19c315386cc183161c0c0e67cc9e9f29ff30ae7642726da61dc060bb31313ed28a87cbcc5f1b418478a517d63f1ffb7e431997c8bbf784ec6bfe2f137bfbf84dffcdee6e47b6a9b93c935b0d400f20acaf6d4949d3e9fd53534646b78be19473c9fbd785e675e33c4c3e630f99ce0cde7f3dcf94cb7bee3d46bc3fbcdde6ea3f029f50d65776df1d97e52e3f953d4d83ce6be0d16e1e5bf535a3686985736068f97975716c6d4bf5727699ededa0ce864f04de3e82ac0f4cdb98433c6bf93da706c9b0bcfe1b0ae2beefa2b87cb16a8012fa4e0832c501069907c51f55c2af2bd75b1e2df0c7da83e3cffe169b07a2c2585e76a3cc773fb903c15058e8202431d9255e163fb6d4e68663914e3b8a60d4dcdffc1f45d1e2bc4bd29d4dbdc7c1e87f1731ad7339fbd65e6b3570d78a6cbc338eec5cbb7171047675198d8466dc15164516541f5387d0e24df50f6d606079ac76bb420dd0d8eebd29a9bdb8ee5ec2d208eceed43751a7f42ebd2caf3a77197d6dc9c1dc6d5b739d0de9acf7f665b7cf04c681e87f130f90cb5cdd5e372d7807a8db6f3a8308eff9dcd82eab0783c1546f7953ea381733c9de38154f9172e98df6add2e1d940d38469fd5f67d85b5064f058ecdec2d388ceeeb2dbf05d139993cce6f40f1992ad0f04c666fa9cc63bb739c209dbd8d82b2ed2d188ce3e9b3d8bca6bec351b7fa0e97a1c8e47b6b6fd3eaf2160c1e03e269743e4e83e7ccd6f0f26da6a24ecc6f411b0f9fbdff395aba351e84e5db5d10124090a3a0b07c50f241c8071c2e3e90f8b0e143e387fc03f903e007ef07b70f6d51056cf4d98e2a6077a1ec2a3baa806d4f15b0bbe8b33d55c03643d976d7eedbfbaacde32edeed9eddeadb50fdfd92c937608731db7038db614c97ed70e2ffa9d278077307fb5b5595e5e0caa14896ff1cd72fe5e0ff213e889bcf66f9d839bc9e0be384785bf8106f0b8fc3eb394afb1c5ecf6d603dc4070ff173789d538dd97d1be4e03418090c1c8b6f325a8378ca6b78bf6deff2986e1bf5770603da5436170c0604dbf898709c5693c7f8df19d91819e11d1e041ca7c765eafc264fd953e2b3596d258ec2f3a9db10c7c76afb3c45651e5b5b5971b7f9541e95a7c9e7335a7d369b0701efc05e2e95176c1f927134397da61adbf9f886b2b7796018a71a9f01a9ecf49d8ff174544ecec739e058107da703cf6af4611ad03ecc1b7b4be382f99a2c368fcb77a09d3e8bd780f89c3d404aea1e3ca7f1405c0d06df602bb07d56dfa96fb01a5d9af7cced4be73d7b4b3b9bfbd6c9d1cd79e1cabe726766de3a30157e878bc5672afccede9acfe3edd99cbef3c2b39ad7de9ec953e671d46d1f3043d93993238f53d849537d676df95dd911a6b6876a7459d5c6758b8bef3c0d98b5b5b6c5633b016e3e676daded7c6c83666c83c9e4f1205e68276844fd57f059430b8d1dfe1fac3e93e7b28c43dece2e62f91c5c7d26fcae17f5feff7164d7e4c7c759452159c5058a638674838038208e9e1b04c4051fefb30eb07cf1c6ded4f820e098ae0c68a836671d383a103b28e080e9ffc1603b27b4c160387b1b252595e336861a5c2e4350b99b10971083fe1f1c664fadbf70c03179eececb7fe5ef39bcceb3866471cecd165a7e9ede1626fe3f816c210142bb425cbd3e7fd1379e5553ad95cf6af32d18f7fda2cb6941733e799543fd96ab1a37ab735c8d9bd539aefe926fc0331927bccdf031397d0b96fd9dc970c03179ecff73fe6b56fc7fdd67c797ff2fe150ae8d41190f2628f018e150a1e40724ab3c091f886b409950a5ec88df15473f1b03965786a441230a5e681222c96acaa5011c9ead38213f78409d5d49dd148232e07573e1d4834ca9d05fa9901f41329c11fc42187e0a39b9532ca710eaf139a6cb484d518901a52492d2d354d79e3a51023808bc9a7a40bc0b8017a2c4133b9247c9132a69dfd416a1ff61a42ce0f5d542484ce300d20c4b370b7f7d4e8e8081c86f2bdeb5082b5a6cd842c26ccd07d3c85753656c56011b3549ba3c41513329004317aac1268fa5c667e9d2d9da03eab99b46714913a01c4d7754222c291b7dfd025906f2a64c1a8b302d8ec61d1cbe98ca85b158edd45164eec12209a19b5b8386a5a6cf2b7f8d8f5baf22bec04686f9298ac6c23e91a121c1a40b12096aa8665118232136ad8ca4e086510416a9150d242ca0564a11a479b8fb5003ccccdc78b28e01f7c19c6821b1240c9762e98b81280608b49cdaa4c0d1410a534420a3c5098c081ec539248bad8f9e659abac4e88262b5484e1325318d293e2f0b37ad008ad0ee18b4f9ea22287766a70aa7c8881d8f02359fce201c915d358cf49dc14b7894f8466884a2e30aa914ae1e2c6de908a73b62d976f8f5440550703d329f3f60c32c2163e46f385d101f54b872d2444b0488c5cc4d7db97a20129924e00bed819d80ef1f0fd51fa48e406dbaafe8efd92c07f32660022048e851c68d0875273f124c2152a108541b0b04b34018571935017466f74946d696940fc2a5785604c2fce34a9d66d591b307183a0e4deddbb05d260ae53020a1450eefb6724e05d1514d99dcc009b00a1c800e64ef2c2f818e9e2cd1caa87b50a8998d719a2864e9312a32a4c8261a0d9a5bae2da0caaf49c26e89124a3544a98e804dec41836f5152c72677b1f1cc0850200b00a648327a0c38c38445aaf4034289e221862042aea658290e9cf8d8e981c7c7e8ea69e5d282a85d0f267b539ddc554bed1f0d2099634dbdb5110906c40c6c34f0aa6412cb2225421ae3c6d10c342762c200d96690a231258eec693bb0328f11f3a57a4248d2f67a0049a3243c46c6df30f59ec10d32cd0840a4eb9746061330c8890cd52a1b0322cb0c62b14181824508abd0bfb5112358b079faf1880195ea27a7ce61c5a4cf04a059cbeac68c0d57c699b5942d9c3e0ca085f8961241553403410794190119320a8fb169d0200cacb010ef9fd17019251a205f8d6c3d44a5b86cc132a50d762bb0a795c312cd11428e6a364f6402de68b1f747d232145932f20848c2f1f93564e4069da498101be847060f7cbaee1c94f8c3810eeb6aa3bb717670a62546eca9b48beccafeaa812539814cc4839a14855b20074a125343052f1bc088edca20184c4a7aa26381dae7d78032314d83bb4ae26f065ddc0cc32e3c4149c4b8f83abe6a23ac604cd7c8e8511063c8e45152146e6b93990f5640c25a2d597f948f2628c2d6e3c55713cada8811d412367817a0528b40a2810ada595d66ca65f17490c0041a3307469fb7181f031e95a53b3789026814709c616569881f9d8c1e247a672679b4baf8e0a2cc87765484bce0a503813502bc1e0e584ce1de5802c4355347747811e54762a9b08bad219283a5688321080930d558134415e170bc417380987edb44bb59aa045809f00a0d84fd3aa4a920615d585d06f168f241c40fa6d90e4ccdd7b80513eebc2c20b278a9e949643cb963cb29b6a743962eb09646381d51d49d884b4c07805ea0d432a6d9e8a1b1ca21618c10271bfb93c789fe0e003301024fdad2086faadbd605293d6e691dc63af8f8c073030747eac9938ddbe4a7c90b70d64da2eae5d70e07630b57ee2e69650c5f3ebf74cd21829b84cec4382adce3132f0a58328dbd3cae764989e002c00d20a3fad51171f3b6c6618c85235602b11c84025e171829c704c66605bf1eccb1f02194a469ccdd94b95b30e352769e4873da1582a921d4b109eb00ebc4f20a9a042141319cb2e00870811134712801468118340fa0642ea8c182263d2da2120583420353664899262b9a988e4280955e531a365c6349acac308c8a42801959e121ab71c3b01c75609831454a04df5618d11f30b878b11ccba2ca188081b69fd3004a50bb5d213090dcc2a55aa04b5f079e5ec49a7146207d729ae609c05a05079f0daee428e40c304b83d18271bee1204d282416cdbb11584a60a1463d256317908c499a82679e7aed892370d1b098624bda44138a24d9cc0ab22634681555bf4aa5ca288cfd4f23c90c043e2a6ed6bec869d0d24d7b85fdd0b71ddbe291a24a8e2533360ccc70a152ab0569b163c2fc8cd19241c4ec86460ca9a51304b422e250161c122d5e848c2e04008400448e87e051eb0e1d67c732d3001a9e9ec00f72062829ad4c0abcae24c2ceb44e148242882fbcfe5c7529833b5caa20534ccd7b52d3ecd1c4b3466aa800227ac91971cc92335f1d32067d1470bc937ad0f830e5d6710bf568e3e278a83822f70920e54771ddb5e7c00d84092b6238932828d3a71e32aba160cd7016a34cd30727092ec48480ea62291bd1243a32e0e89755ce24018044a47d9c0488129e01e8054a9871d4995a8f1ce1936959ec84309266bcc4854e09ccfa428107e193988117083e1bc690c44104e16ebea0c455ea8d8ece0dc9241491736a4b6ab8ec126a9e3cbab9496c5e8a5d8c8075909629852891fbea258302c9339cc35a86f10b0e2520b890e01298a9dac40ace926383c4e4486309070bd03ae1fb1400441d99996411c00d92558e44574b993b40657a9a72215b447a019e7876d804108fb8f8b941698243948d349cd40c926219484bcb9e059c8792d230ab25c1374abb3d1626c0fec0479c9a72044f1b87b8105ec629b0413d24222e9ab2b551838a8dcfc9cfb40650b31713b857043c204432348f60f0964187062162d5033310ae0c4932fa94d115f1e2c802371433121988ad7ed3fed486b8f91c5eab185f7e6f10817806d35fa32112937e7c462c6e1b3b6a07b84ec42269117a186bc4d00d0578fa794b501e6a5471c4314baecc8e1aac494742e8d67395e46a76aa40e27113e983dd77c61493939c03a2380e94023e092b6337c0da4bbf7d1686566933080551bd28103523f5c59e98c08629a5750a0628e118f6bdd938a2ced0a5db416844900ae4a127e61b09b6703d34f0424df3f6206d678c5e97b92af05322e313686717706b01095ad631aaddd544da58c58ed68c92e15422940e45570a6da4b13b945c3b4c401296d065e255d97db96a70b14256191745c831f3121cc6e8340da78562033cf65baa43068e92003db1ae1d53af95ecc5d708b0e1884f3839c72d8d4323277d3b125f33bda0d5286c235278c738e232d733a687715f401ed1439b05982ba3d2a1e44da593a242c9a4dc25130f527cbe24804a98c3524ee0e488dd00c5c21f668a3c2b36e9d3d31763122255397c88136bd4088114600bc7465253840e1cba2527a740aba7581c44b86880112c618e7726342d9f60a14980b492e48845543de6b359c8985463e085326d850118969343a21bb6ee0972670a2c62c68a1a00cc271c19e1bc90542c51ce6475b40b518588db23dee3140453122a70742015dd4a49d018816ed0521228a4aa2a27ff8dd5371e1ee7ea355c3827078e1b9c9d3662d4a0e122c60c199d9e9d2e62b8e084d1c9f9c2458b4d162b5468a6409159e24409137a80af5f889b019b7c383d6ebbd3775c0e6616b00cc8f7e0b0f59761784d3d2603dbf0d4942961a368bed173ff3997d93fd8b7c3f799fc9f43e2ff6b2a07e1d269fc9b33828749f64efdcff1701acfb3b7958d9d0e17ec99056b005b00c7fd7f8e3e0366bfaad96f8d2f8baf89ecf7c403e276497864fdb208c9fa69fee788e0b14c87c3f77f4ea5d7efcd8fedc3bed463b2ae759de1594e0873e0987ce388e3dced3f0744625f83beafff07db7d4d7d41ff361f2c38cb379ae3fff958f05982c17696af67f7c27b58ff7a27fef508dccc65f150f37496aae77cc8f1f09fd381c37f14d4d09de97f6b9cb277e2aaaac3f4186d7816368f8571fced4edf71395dbb34bb2cbb0eb62ef4bf8ebcad2bfa9f420724d04ca7e1fffb67e910e9f8a6ec29ba02743eff5d72dc5b5d766e756ef3ffedf4f9ca6e0ec45ce27f95ddbdcb6bc2f3dfd8dc5d76ce6dceb6c363392c7240fe6dc1fc16b4b7b61ce4bf1cdde3e6b35741d7c182d4ec82503b3c9ebacdf7db02c3ff3f9b17d42d983aa7c3f6946d256ec9ff6b3f1b97e3df4edf394ce20cedae68dc56360e296e686bb6bbe1f19dbee354e138ff5fd1811d1e9365e1a6b2704359af127bcaeee2e6b3edfd61b9b50dc3e3322f9ff72deb15fbff6dee0dfa5c3dfefb82397dbb69756464de549d6cbb7bff65df6a64df4cbc19be0d1666dbddec1bdd7fce23fb06957d2be0f6faff51f6970de56477d5f94d1ef004881396cf73e31b036ee0b7bb593734b72bc471fefd52b579feff21fa6c535185713ca77a82c5868a8d11b6335f55f5a2d3cb42960dfdafce4f64d9faff3bd96ba5ff76b76c0dc7010b716f766d29ab464a070e77ed2b5b9d9fcbb6fab6cf3979ccde064274670f6844f1f1e4c2e10e016a69755b231576540a98a6e73851a93620e5491d26116d8678e106d42a02a84b8c142eeb6c509636292d305058f007552544160e2aaa8c0ef8a1a27e19ccbc1143e9410a1c4488480db63008b042c310f5ad524248056a5e90844fed78714a7be864cb595b80035d459a69123fa0d0684295bb622a82b453475b8a21cd730901d6228127dcce1440490b1a00c202921caea0292fe4058b342c6e45538caf39688e4bb46263f63a685553b55c24b2e87c3010e09b612bede0d22fdbf438819527acca8298b5a30024c8b508a218ea57dc00941a482ad214d01cd620f44bb9a9453407034e73461090dea8acc2142aa631c2e7c65985e667181e57c89c1081895d7d82c23e0e0170d884ab8ba868f79954901f7649f115891a1764cb570226019e70717866a11e1745c262c6a36c43a2473a3570990d49f1269606a944135036d10c4a9820466816d819c2a6b0a1285ddab3335213ee25660aca900421224ec2509e111141513254ac778343db468eee88cb9ed8e799c2c3db8bc8a9a08d952b4a2cae82bee0e070670372ec8dece6d2841096346c1feac0ec9280813ab24666263ec2792c8531b0b009e925c7d9d3b0a43129cd565532a7ea9445958020e9c20aa9428c8a5ed41f605686a0193b09ac3083d42895af8424ec0f58310710b9b1729831e90e6bf4aa33a886080460c44842758c103a6af44be36245fe97e0105cb64418c188cf26e411a22ea83be4aec69caa12024831a028cf8d58e8d612b5a0108c02602ae80519be209c1ad42db61441d6540892a3c8899818629468083119835851a3a51001d210984bd82aaaa67040be0882a01230416d4c1c41009d73ba3469f441f2e011a9c8cfc82a0fb900a0e6057650ce142b602d6184d42a03170ed756058b76f4be639a9410302df36a756ae9f7a9056025260c91aa071d3e5326093e7078c165ee0851a643c9010adb83022a2db56302c376ac46931102325d8030c090f4a460214da6d400513941e2960aad1110564bc4803e1980d7d52aec99cd81cb18157bd636924c6d99f436bd180976d17df9bc73506962bc86c66c66dfee01593840707e213355c6313be374c9b641aec1d2b86425c6d0abc0d2090baa82aca036b84d4051cb2ecd3c240115c8c7e4939b31eba8c8585d96cc2c94e45003304487a9354a0f90b0082ca2e4a5d303501a0fcfce076009b4a3311f435917b1e39d42aeadae28678344ae688f4484d871b3569773036a642ac407e057e9aca6ec98b402cdac861337c30639b88458d8aae90c6c8358be5010309a6654e2c8e8ca12062d113aab9c83733bba939ea44ac0f0971b1c35124a12a05a9010222234c6d4949d42a5056083244cc811066da30c380a284df6f07278d58c809e386b4502c32388439c97adebede4c6c685bbbf20261e18f4c979e89b5b82a23237c66e8491003466b029c0b252a8e648ad61c8674873673a7091f83c400205c31413593b76416a4528a94f29900c903ad4a2f38e1d8a3288a8b3735d1064104c174c6bccc4a19d81b3621385812d215efc20e4818d4805097d6261c17a4ae5ebce8150e193070e8a8eb032eda61069325ace5bb2240926136d520fc9cd10630b16d538dbdad42ac035fd71c2b8eb8124134a93277e4c489b558844b83813a246d859a1297aa3f4c826507f44eaa1933421ca41ee4cd404c75321261460c928186e38caa4c0817545ec634a74e00c5e13016730899a4bbe416aa84eb68b9973d086362f4e92041093bcbbb1b3b405914d490d262e1a40498f746ad1a43024c3c70ce40b511d8e1c526cce5914ecb27f701508ab5011486df69b9e1a162c96ba55ca44388a6881b963ba21f279c461c8ac0881a93af0141b76e94f30082fd391694d0b2e0636900e6c0a488fe18199a91409a13f9e05823b3d10c1cde0520148e8940b37d706b634c792854aeb66ac1db9a13101c5d4f5a3c28e9d2334d7014e92a480f578292004b65c8674829a99a554886ce040e19d251e90f09a4260a0e78d116855671d55043318450dae3ec6307192bacc885861a8ca06e38918149d1a009c09dd8820ab1029e9e2c510a4d0ad99b3512333c70d54dbb4de5e0e4cc4ee8d6c1812874c1a6310815ebdb01045151514f11324628206336e6b761e58f81d509cf2075504e44ae18da6bd4db00e5a9d7d79376068c30c58a299e2ca839b991f4b9e9c51df202f539c8220e388c9a53c2f935bb44e8ad4da625d3f4948c822c079d68aba94d3eaf9c5a2889116e883ea49a48d9a27b08933cc8e38b076acf370aec50fa1008d4445426c79f912200ae4aac40d04161493fd530c888b51221c722844bf3df0b82c262f47c03451445d7120ce010dcec5136344779f2034255330c0d3f0265704ce808a4e15436c08c602b32d33a4a47840e5758ec9cb0ecafaad76900a7f40f2b7b7293854c5330050259c6293c55408500edb7c642d317d34900de85bc0e40190f27444e7520451b819a59b599962b02fc41f097d43e93e24a5652c2e59bf56ce48d5f23259203068684a3a5070e24a3d55a0374946a9148607540a39108c1f4f8908e06a710dddbc18c16a6754e9f4058594a8451f65478e9512301154d660414f7ec08ad2608352814fc135c2079fb88fe70e31d39f31421e403ca0c222a4653cf01aa6f5311487111ac62987610edf285db4649548d1c5929498cae454c70d1aa62e041f8c2e00704268dbd36ac094128615aa9a054d4328768c0e25a95859f04a2551632c537c0a078974ea25448e176a771350c801f5b83080419010319732b45cd8f204fdb2d685b7f5543446066415c157c79bcc6b920473190ba42d2aae4a6553998886e42741004a3a04fdbd9576516186951c59c6e1810e8128458853d25c1869418008612b88ed9682dced1595212e4805a8ced7694b2c4bfbffd107ecef0e6cbe235ef98e68fa1d71c7774415df11297c473c7f47bcbf237abf23827d479cfa8e98cd9fc80889c8c8d2432996153cccff7f026217b05c0402406220586294b4c7f7c827df238d7c8ff4f13d52f33b22cff743d8ef7992daa20a5bbe57a0f2bd42a90f2408c8499ec730df1faf7c7f64f2fdb1c8f7c7d0ef8f39be3f727e7f3cf1fdf1c3f747c89f1e1f2546edf74534df17617b61ff5ef8df095dbf139e7e2704f25d2b686848dbf3eff7dced7b0ef63d47f03dd7e6ff3d7de5285df63d4df53ddd73d4b3023a3a8dbebfa3dbbea3bdbea39dbea3fffbf9caf773927390efe71afd2cf6fd9cf5fd6cf4dd6ce6bbb9c977338eefe6cbef66c7ef66f177f3d97773d477f3cff7f296efe5d2efe5cdef65c9efe5c1efe5b8ef65eef7b2d2ff2b35392531293525191511857bbe03b67e075cf21d300710d8fb1dacf51d8ce03b78e93b98e83b18e7ff81fad7c3f7ef852fe3f7effafb77f0fbd7effb821edfbf745d0c53804ff77bfdeeb7faddcff4bb5f91ef7e3efc3cbffb99f8ee47e967e13b5cd077bfa7ef7e41dffbd27ceffbd237e57b5fe9f73e21dffb667cef63f13d6f441f87ef7d15bef7297eef1bf7e17def5bfbdec7fdde77f49d0fcd77be2cffffe3a30dea7c8bdff9d2dff904bff3dd7de743fbcea7f59d8f4050d09ee7f7bd13dff73e7cdf83fcbe67f87d0f1c40484f42de083dc3ef7ae6ef7a79dff5d40208e535f99e67e47b1e90ef7937bee335e6adc81bf13d4ff27b1e84bc06dff3c25a013f1defca77bc23dff1767cc77bf11dcff23bde85ef788ddff1f2ef7861ed9de9f73b1ddfef347b8682eebcbedf6dbfdf1d7dbfc3f96e17fbdd6ecb77bbd5ef76a9dfed94fc2cb8bf2fa0fbbec0ac28cef47bdce7f7b815dfe32abfc741fe7f4eb6c7517d8f4bfa1e870307fb413e3d381d2ef13b1cf93b1ce0f73157b8bcef7072dfe1d2bec375bfc3597d879bfa0e47e03b1cd277b820a2ee6df1dd8bf9dddbe1bb57c277af83efdef3776fde772fda77afd577affdcf036028a8bf01f9fe56e3fb5b8bef6f27bebf75f8fe16f9fd0dc2f737c3ef6f0cbebfe17d7f63fbfe36f6fd8debfbdb81ef6f48dfdf827678ba1b8deec6e2bb5bffee66e2bb5b87ef6e15bebb39feff4fcf9080b628dfdb8c7c6fcbf1bdcdc5f73613dfab0adb26bfb739f8de36fede86f7bd2ded7b5bd7f736a8ef6c3bbeb3b9f8ce56e2fb9804b60fdfd922bfb3257e671bfcceb6f79d0dee3b5b82ef6cdbef6cfdfb9a99ef6b5fbeaf69f9be96fa7dadc8f7351f6b9ddfd74c7c5fa3fcbe56e1fb5ae3f735c2ef6be635beff3fe2f9112a3ae2010a30f403c0c7472df6bb5a97ef6a50beab29f99ee6fa5d6dc877b51ddfd538bfab5d7e57a3fcae06f95d8d4c24203b649436f93d4df17bdaf97b1a601adef7b4b1ef6959dfd39ebea709f88e56e63b5a966e44e6f99dccf23bd986ef648bdfc9d4dfc75cbf8fa97e1f4bf27d0cc8f73119dfc75a7c1f33f17d2cc4f7b10ddfc724bf8f49f83e96f87d4cfd7d8cfc7decfe3e66f77d0ceefbd8d9f7b104dfc7aabe8f357d1f33fa3e06f47d2cc0773131dfc55abf8b31f92e36fa5decc777311adfc55c7c17c3fc2ef641882740d00e91001f9dac8215df159cf8aec0c377058ddf15a873ba82a3ef0a7abe733528d8e9c91a1376e27b9887ef6191dfc31affbf07004fef9a7eef8e7eeff2f8de9df1bdcbe27bd7c4f76ee5f72ee52f75077cefea7cf77afdee85faef934484d4bd12bf7b0d7ef78afbee65f6dd4bebbbd7d377af9cef5daedfbb9efc51d70afbae05f55d2be87bd698ef5750dfaf92be5f017de786f9ce8df29d6be43bb7f33bd7c377ae86ef5c09dfb989dfb9e3efdcbeefdcb9ef5cb0efdca9ef5ca6ef5ca2ef5c00dfadce7cb7e2f2dd6aca77ab27dfad807cb782f1dd6ac5772b12dfad28ffdfa90b08e073041400a8f37c8f80000080aa4cbf57817eafdaf1bd4ac6f72acdef5597dfab367cafa2f0bd8af17b55e1f7aaf1f72af0f72ab9ef5566dfabb27e6cee91ad798f8cfaf13f8ee489ffe7410baf99e814423b05bc0e798342ffcfd3dbc3dbedec25231c9b75c8adfff1bf4e89ffc7c1fcff9acb3ea1eb733909271ed1fc3f59adf04cc6c9d2fd51c9d1528784a3ce688f90a34710fc8f2016812b820f54d83c1eb4a7a2a0a6209078bbabc6e7c8b7e1fdb6a5dba6f131e0582c3ea3eded598d1f86d3f636c7c977be8e4200676f73fc5c8893c9f9d63c161c04dbe71b8de36d3698f0168f6abde88b9a7d11fd0f1698976fa86ea69e5a74c527f60e1b0d5d91ae271eb98093060067278c13e6db7c7dab016fc3422b757e46df69721917a4cbedf08dabdde93b4e30bfd5f2f1db9a607e17e25e05e5c3cb7e4877a8f4ff7f864d0c6780cfe8725a300740778a2103433d43a6c27521602facfa8f82eaaea16cbb83a1fe93c9e3fb86040742b0ff344e88cb95e5f9784b66abcd6332f9cedfc2e3b9b95c5dae01ed12faffef376df7ff81eb3ffb3603d1000838bfed2d67be35f28f178c7a835203db543619d8a632dbe271fadc05876f5c906a0a1c15f506a5664f91d953e11b178402dbddf2a0794cbecb16bcd9767ef87756e3f618069461ffdaef0cc03f263c6340d61988fdffd7770638768edb707dbc3a56f276f7ac8f35edae593e961ce39dcf6a757e8e1b13f82e38e605790842febffd15747b359e77c1a917f4f9c056bbab2ef740d237bcdf023f7c60ba07e2059afddb5d0476de451ccf05f6ff4ffa2e462356f2ffb63d657773bb6fefff0f7c179ff8bc8b0dadcc5dbcfddfe6e6bbe3a4788dffb7f1f4b9e391ffff6b716307d4781e681ee376d85c6776ab6f33c6fea5e19700bff2f4d67c1eabb7396e8b7172d80c06c4edc0f63d666f03cd67726e6f71f25f3e5ee76151505f603b179bcbb81a0f0483a3a0c051506a3c07e3eb1c471c97f1f29d46cbc7e3b1600e269fcf7f60fb36df657ccedebe7d33e36c78c6fc10bfaa27e29324d1f740a1eced7ca49e86fff4592a4ff5bf44cfb361d2f1fe37efdc6c0ebb5de27d26e372dd6e1761b7fb0dc339eb75667a1d101bcc36e3e46fb76cdf20d655f63a41bbdbcd50175627d5e9b8bc6d83d9e3efd6920eb28bb0d30d76ba2b7bca06cbed6e1a8fcbcbde2ec26eb75399d7c8d8bc5c5d8ee7fff1b49a8a3c56af5f5b3fae2f28b200f4bf06cb82b1f9ec7b5c96ffffbfb8ab0e7022fe9f44f7daf8bfc9f78937d2afb1d35188a36970e3a2c97074a69d4d89790d80915a7f41f5f84e039a874763b3e5f28e167406fbff515650b6dd3d3bd2cf48cf32fb9903fb906c8673ea669eff5bab6e76e2cddefebf9b2df532d2ad3a9d179eddd4633508607c8a31d87f2a31349b6b6587d96a3cb79153d0f4df65f13d6ceabf839de8604a563dc185ff7eabaa6c40bb64ff3dba17e44d67efa2f0dfb9be9dcb8eabdbb90cbcdd8d82b26d7439dced7ebf35695a72ffcfd9b334bf675de859bd67f100e858a107d463f3181f036e7546fc7f8d1d4435d5b1ba5ffea273453a353ed7afd640742b05ff8f238ef31c4f8be0ec5bd5be4dec5bac2fa13ac709d5394e4858a37398f9ffe0aefb7f2df498eeed2c0e2f334380fa053a82f07fe19dd6e26eada8cc85e7f49f607e0b7604625daa4b19e8523c3d8a846187e2ec50763ff0411306962ca4bf2d9ccac7b8a03a5f0bd2d9db2835e06d8843857132791d3e97d3f6a015d756df7637378fcbe7b09515d79e3a24ffdd791a3734dfddf098ca06e7e0db0c676f6db72303c4aaaa72b0f4a7cd2f204e5803a13fb90146f8ffb5ef4ea4ff0f279877bb79059ec29d4670b75bff6d411ca66e5b98c3f11ec879ea368ed395de34224f6fd1e570fafb6d527b0502007142fcaea6a733657870aefe5b9fc377f601dc7ca63afca3128bcf07cce7347aacbe09c76b7163f6d6cec7f8a1f9b6c160db2db8f01c368f0bedbbcc3cbed5f9df987a4c46cf85d377d87cabe770f599f04c17c6c3e1b1f3387ca626af733c4c268f85f1b8425c9cb633af9dcbf8db994e7df6e667ef1a2d0d171e9311c2a1ef32f399f98cec7633afa56fb4f3996ebb058371c03bea296c5e8b01ab0ed14f7f525063360e5e1be269dcde866fc1b0799d1edb2486f10610c27803ae8d606c7fd90cc07602f05c5c9c9bfd658fc1ff363c3c6f3361f5ed9f2c5fc385cfbceab3378dc7e5e6f5597d26cfe5e2b33d00cc0657d960b0bddddee7b41a4f4751fdad732832986b53d909e6e6a8ac0e906ff3d88afbb77e0a9b71fb29afd116e2de3b7dc7c11dfed967753ebed3ea9bca7c36e7682afc2f2ca5c60fa56c731a07bcedf42db673b39d3e43d979d4a11a0d65df68f6d68e82ca1fb3ab397fa60baf99e1f2743eceebf2dc100f9bcb727c3ce6da85d7ce74b0fdc7fc1f78c7e53a85fd47e9711dc2ee13faffe71ba4de7d1a5f3dd87d10fc8dcef1f1d9bbbd0fa8cd36b80fbc671f82adecc05c3b2b3bb07d285e97c378188ca36defd8b6b20383a3c2e36f78fcfd0354afcf87393e16c3a5cf68b85c9e1fe26d77e8725a4d30bfd5c470798ee36865663c2d86cbffd673b9189713c39971405c4e9d9fdf72f5993c77983ea3e562b843f5adbecdd0f07e46824499509378e97222d706752b360c5165d5ec2dd6a86518ca9e7c08d595f1d068ba41a4438c942d1f2d1981634236e5af1b6553873c710e29755c7a2abd0cd43e204ed09e15c959c528f4727ed160cbe5a11912455c65ea2f9f42f62c58d82bf0b6fdb31234a525264a70c40b132612974ef1e098b452ecf0c8c4d0ac9692983a13d963d143510c43b4ca40aea326e39dd599c8d55010860d832f1e7d6c69b9da34c0e3748f0c8951ee6cb544911d6a0b881a5c794120c2e84a930b4b6b26ae9382ac0718490a6c4160e6be5c6cc7b8d226c1107e3d983c494f4c69563f8967045c2d6535542966e4b90ac2f155f46961f941f785cc8888509f23e2919fa008048791c2a81a1601924293888991d573a64ca6ad8b13ad288547ddb2290c7ca6809154a67b46403ac908856ae950a06808572252884ae11149b0524e613b6ae60b0c112ce08ef0f0ccd61c7d2a29703ef309868d4bfe238edaac19d22274ccf360d3b7c4025f801a4e76814b4f775da82e22feb8a09159d143ebae27ebdddc4e38d099e485c4f609ab2ff56b28d32e92841cecd11e8c482f864537aba5257767a334b2bc6aa071c6c66875c89a85923a08e0fbda63fd65809926cf4c135176954b37c681ef5bddc29ac641951b930513bdcfb541882ad3369fd1316d2d3a1ac2a16a0ebd293ca294409ba002704774416b1bd7e105529a556f0f0815caa94d6a7547ac778b1940985503b9caa8a4d1eaac30b431349aa2859738390d96323e14e5d451819d9836edd8cbd76447625a04e19811784b64e1f6612d4aaaf24c4317ed655987ca3d5464c0c93a68cc79c183a2c6bb2e1948ea27ae5480fc6cb030961524dea4ea73f1a30a9756cb5315602f06094c8a1a075532092b6265bc68de95048a62df74a2c4d95959408483a416242a118246d1a56db9618db10666e93b35195b48a9485886e4f47a08cae8c645a680b4336254c331e6c401117bd24c5e224b7948e8ea924391b5aad33731d128b80115d6498e594f5534dd225d1401d25c2451b6e5e886af75860df61589da632376d54817214bb63920563c009a20faa21c75f5f1a1445566234180c8d2118f543752a3201a39aa60495995c004d02ad75d688cfea7608847b10cef0c84741c19221d302d9270a5267f397b54222278faa8d1f3e442c357d628892b91c0a28d981a304f6ba4a6d550a11a19ab256ee5182256ca124c6d034b9129c06843e1beb08926a834b003719a2d910548d1a502c6304394641c30744034d4aa63bc424b2afef21c89911312fa8469ac4a00218616e80f3e5d22699c506fe8590532c7a4bb18901240cf742ac2e49a880f8b2b15540f572be617423ab67e1030991132541bcbda34a1da06c761809a590f6d22e4324b6ac08cb82f052b205c721125a1d2d51885032e88cf9934382a637c9b6c8c619f2c889bd9c1161f438629567b3b4dbe160313911c76d028035efd50f4e69963f56db9f255382ae46665220a0a8b02f3d919a94594cc19096b962e408b46001711ada9549e7cba45f0d9fce25634243790d5c2d8ca598916347dfd34118409a6061101f15c8fc43c2d863d2a672059e6c8abd1059323b2e18791e4931960c466952684128d93531582517ab0ca4010e23140a23468f408cdc9ee2c81c14c659218186904af900eb01a225770b41a341891c68269a10259a1a9ecb18f14adc984d0a361044461173cbcf842120bea2b92c4ca228921d390c402ab536148ad9c513c92e3f204dc31cfb82ee9d000f6d8618890932f4731d058d140aa7ad0e472b158a2b481a9428d0679d5589947fec0cb26e4d1936e2603cb578048173c4c8de46b7968ad4501ca1f89ae3d071c8114e9f9526189cc45890924b666513231bb55d0e40ab3829132bcdc0adcac2e780b9581c48986a11b00fa40d14b9634d4615d04406b644b61d67fa831fe28f16ca0898aa24876931dd3d7da82cf0b8508140d8e1ece32424495d572a7d8a32a2009f7eff0ca0f264c2e2cb8f0726f5e6a17b48ac0f0848ca1479ae001e51d10234d7d238b62ed354d54e20a6e03550903b9efde7cdcf922d934280040541e689b140ee3221e9f1aaadaa774f9860b2f008d8513cabc4c802e152549eed87601ed1299226b81cee8520d3aea19c5f341ae0a40e115810e02f00c6d8e54163eb40e55a1a86834336541e4b5c883d62e4b0a140bdb96e71a1ad07320c8708ad08f3a328e3301d2314ee0be9a90f66a66e4d4210659c44c83d5d0c157464621c6e098fd717d78a0d337d642eb23288ad1862d1149df165939d9401d2eb290ce7059f06ac62f8d0309e64826558ab69187024e0e54315e8976e19da57819d228744683ca238f0f60ca425a1878c3c0234e2ac1e3c892347b4f6b60534ca92ce6a74749a429844018c9d8097bb268c5a30e855e9866012a12ea2311e1470e1b5826502ab94512add990f1f7a1b414140394cc1b47264aac955066486ab15e93f32c8dd021a50762a094a558bbcb20a5032a5588975299b1050e5e3d9a16920a39005d997e66b7374ca1807e49304dfcae68f07926381419ca42950420092134daba0345446859da54a3753f90085fa10453e7a328ea20ab230a4928a27669c28a3e28263c28f91b428303c8cb4c1a5be996ce45a54342194c7f40aa601893165aa0d82a0a0aa5830b517a3c417c4fbac8725861c7862e4b78d3d23a136d89d489c8276495c5d38c6957f55bfac269a417ba9642cf4e4c5514a22baaaa9f5fccd42ebb59d4ce345880d1f404d38c53a33cf67e684d78b020ced02abe751101be0bc45a245194644ba886a270989eeadb500d30b1ab2bca0a94c782e2b854e2c034378849c3e4646401812c24ed1506da33625978c476b05c6cf5d252346502649128910a58574347a359cc1008f22493a198c378a0609d9c9d5f43b120dd482be2a068f50344a7812706929320a3bb94100a9a1e011a4019bbc4a0f6424c280928c8621804266c67cd9b8272de27f92df20ce962184f7850e962940ad41bad722f3143d3374a8b1c1538b7da2fe4782086e7e55ea8e689288e79121a5f4927330b1d96909f2698611d3027fe8f0669bc96f18d68e0c0332e2743dcbf101721794614db2e9c9914c3518bfd2bc1300dd3430dab50c5007179038c2110299760193ba2d26284f695e142d25a11334ae7c5770918d5e507df091e2c6c80b9214c80b5645b123f9991f22c9244ea08b39309c21fe42453b646d9dd38297c73a449631f2263e4d0a632639c5321bbd3a06f10104cc0d07aa4120b6ae28d21aa15b1ef28aa3ca1895a825b3cfecb9091633e8ab103e79b2e7081e4e12420277aa90dcbf3bab470c58992c622ae9432564e9d12577cd001d6aaa6a10756905a260d54631d6b58c58a5ac0d2b8bac9b2f141915253503693948f645876c84484a76d4465033a852d4c63d0ab119db7251a3e0949d5940a9738a3174b86322c8809e1a98233807d928f72a037f48fb2ee1e512f857e1c724969541a046320eb8f7200619a1cb2b25c155b42a22cf15935c2d6a1cbaf9d3d757ca2a123cfe4d8c80052ecb55ff4ffffffffffff3fc4e2c8c20ff2260f007864dab21c3f6066eb9e54c1a69d6e197dc135a22673c79025047309bae411c1b25899f30841c036712841510e21aa0d03835d256fb0a6087424ca4447892454ead515a5b8b7ca270b9412e1d42874c6384a6302307cdb24c18588745eb0132060cb570813530e4c204d47634baf2c3424b9228646268ac1215a079290e064d34248d5752686209d1c9f0d84fe52c33a0164488a4e386480a3456682110e0f603b17febc38b87207e4b1acb035494ad1670d8de305529516325050d651092a2379a08595f51bba885b064825192e8cbcb89d20c04397446a5265601950458b346171294d8decda93dd99086f3a490da27451ca2309d085cb2842214c59000c16d96832e10c5acae5c152528822458f106deb82a8361b4274b0898972988c2b5223887b65c3089dd2965750110de2d503ac223046c1b2a80165546c4424a2f2706ad4baa592cd7d2117358960f60468cb95d4a6cbec50eb6b1a92108123a2a11527ee8880000d22e93085669b7161d475050a1a5dc6904e1033342cf485b9615638c48599a8d8411622669ed53ac0242fbb271489de088dd83653e09a61d00e09104051a4db494288b843a280080b355ba63a0281298ae781598b2092a85f6449edd0acc41093ccb821592a0fd3beb1f4ad6d8895ec24d00934293eef3ef4c0d4913242078925f590174c088696c55751b50f42ca3a438291682b08042839db2912f926e210c8dab8786b92914434726a498cc65e0e95d28f3c298126d4706811436072952bc450a84c9f1213f2b356df206c82418152cf91e108ae383193a548ae1465c002aa02a47414244801adf58e04c03c198ca5954884241354728d8d09c488ed42e72a9880465d8640c811fa5196826684d1e8130a3992cc604f12ecb2d6f2c0722ac3926c22102260456b0318292d4e850c78b063d65669646efa1cf3058fc91b8dcd7bcdc8ef0192688a1834acaa046016f07058a937e3296807cf11b9c5a531101a8b9b35bd73499196489cc0a51340b456fdee6afca2b021416909d2b8fa03a6cc4f46161f33384009caa3ac446380b2c196c48d4166686945d199cca71b0c2fac9698b1b618bb4c236de498abd4d41798118628aad09af2ea356d09a3c0c3692505551d4b44100aef57223079ac3bacf8d8da86b99ae25610b1d5bd70de2e2e1b44b81163070d302d66119aaaf81091d42ea8aa00bbc07f04399c205204411a57c67371e509390dd4dd37a1f7bd8230a48b2627e620c3bc1c7ab632a9c5e0c05634c9f026c8c0fba23f3d11f168722554080d71e4266b407536b2cb0e29056ba542f4e178b8e1c7704813164b3a2410f9eb62d260d5839823a66832d80d75508bf5014e60ad5a2c4345821fa269f64b284e9d632cc58c9f8dca0361b4914b3d462732b83ae675b7046bba7c21b165c88016094eb0ae6800f9aba9e1ea2a0373c4a9d99a214d1a5c06e283b1471d3a2f4a7c499e6630a651f0c4c4298395342c5ba11b376060084833610dea69a62a8b97be2328c72f4c1bd28ce7bc4a789969ddc226c1405165a52b4d99264f8050442add4e21b81450b8542151612d4747871b91f00b231319960c3e99407682a646be7c1d4d927c08d9842451a136946d3221f4b52c086215dd92c36c8d488fb79512ca53ce1939e5603058c727e67d2a71a348cc46201203048f3a5231e26e166d8220e2587d0441d8c31ad0847308ac4780d3b774924951892e69b220e13b227d2bbd4203544b8076d405636b4e0c25c63bed44011b3672414d6f02badc60e862c4925488870d98eaa203f69c16b37c4b59843463c00c2920d15ab50ab67298bca2249c268c9be9e65993e25384a71b6008ac2d2af822c5e7ce8ec8855606309e4cb65a6c611d43de99d1a183f80c933f0970cc6380196602801309987a60790ac0b2013f0761534391feb01175d97114bc5836e14ebc90201821bd5d072abc792e3ba040ee498a472a833fa61d188aa791445d04185821e37c6a5666088811491433b210aa3094eac4ad442a65096fd271e1149473a65a7d3cc0545596e61cbdaa8a480e05473f65547579f10dd15d757a8b94709dc298d70916614093a32b0afa4a406843c124d56ac942952c47944c60d0ea798a3239697786c0ab522b8e9015af0706c08c22e96df579381a12ba39fa824e41c70093f2fa03f68c930e1cca92c4d860422ae5276f0ad6cbd75062975208510994edc37397439bc5232f9c1061c484c21594800065164d7d615b1afc004982735d8431440480116b96e48a9f055942425faaaada7a1468c1d9c8444a4dce8791ddb98c1926ce2aad12a6007593c006489b3d646c58e1eba6028acec909d5bc05b19890585445e6c4e8883e25446c97478a4cc77bda04637e621fc1acf5a5351c249f9bced40a6184160fa42bfd08549e05a54180433083c9902da82930914ca7f814e5fd51097362126c8524120ab705105eed1947a5e79be79bd1d5a3ab0d2e3c4a348dae8080793b81f5180f8835075f54204a65cb70e289e7932e0c869751656f33fae9d21610111522b41876a158944e049a7c542364f8d0e443074f218a1d46958904814abb69204908f84a22156cb3a1dac9862488f260202449cf130f087e9a7d4c721ea012abce0c2710713dff8591530f7d1971f8262272904e4a8c0222987ca190e59490c5c4d98226d553b9e4c4a107972c5388a0801675ea49228b45c8090b12861eb47eae479b183852c5ec2587815325d9a7bf2f446147381f95d85e0c5a5d0855c262e6052a90e31314807d7b67673abb434350de58011001608d45caebd1b125c891074a4cf0e81de98de6928bb705034225b043d11ab1543c1015012078c20b42248482cc4434e289874dc90237c0143a983a0ada29f041c2061d1e3a5f44c1589227268992674bac66d7269a1148b04d1538d7425f8f1cbe5103c84c108ea06e98e162cd28124599195fc86906063c02d53891e70469cba48d30671a1e974db19c98085a2e6809521e65cb94070ea33cbe348a89b18c02dc41a62a68e87010f6e2151cc7d803c98d4c9d0f5d81cd26407b590cc3243883d0494b0e787ab0c0a346261f0dab52a4c8c2d39006983ace01f6b88eec00b2fcd4be40a00814606a08a9971c205a34947909fa71b08512b217db235b5659e48041615110133230c47889452f153d6012e2cc486b1464d82483cb0e1f027925e2de54af498faec30113832d3050a103a8d6f47421faa086822a6480db61a258a748638ac2bea8c1c82b66b3c9831346480836123aa6115b214ac8f07040b1f4cba0848a1c15444f54ecccce454317261c94c85461a242d63584a691a528474ddcf422e18a7cc84b561eccd9acd6594ea636d83e31113061883328c91423750f9a44a2c8b10454858c2c9f114f9332292a0bb693e41e2fcaa7252ca4b6a0246042ac22664d00da212335a4e0d58cc5f1b0d10819ac441088991b4746b254c82ce061ca4dda21000861ba2a9422b0b6f09ad13031d3deb55589213a27548a265d90e397620806530ce6b83e2547693e6970b4190b74609162ada9aed792508f2808fb006865aa918798529f864aa14008072634859d9d1c298414bae100d3c8c75fa7202b504f29100e0c8ea29028247171f4fdb0914882ae6f00a98c7123084a638404021602992f159437a6c429e1300a6b728b353041233209992b204e0cc0822439496652d227d31c3a26fc3f53aa4120902acbe081b2e26095618d3c5f028a78dc6463b690991276c106c80ed046a4e5e2b58186548d3c492bb20c9a3e504e83b4229c91438cc135264a5425009e00298ac854cd046ac139628c3c6b46d97ee2b47323ba62a93576d44e9c6cc294264f34693e8622c9a200202774858c88094f2244a2732220b8000d92a48d2bda43c282ef38341dabe81dd2505b8afdb24ab12ac68445030a256e2f80544071f40b49944922b9ca144846bcc85add9949e8dc2040ea07c83208d1d17b72a6cc86061a01cc14262ed116d7842e9409202d510fc35ff286a26cd650f10c732653eb6fa72db5f76c873b9bbdbf2c1c4520dca0c0641a6569c941964f2f5d1f583e078c11882d70c81c2ae7644ec336ae6cd839e1b0b3502664798e8c790363650c64b122aa7549c915a5d19c2df085fb3bd681d2f3af00db00a1d82a6367f0f89c40c62abdeab8f3da1d2d5a0e3930ab8706c14e4c6569e1e4aac45496456213caeafcfc741d40652016d270650bdacce6023014aaacb392351a8939c1c0870294bc3337aee6529d88eca4f505470c9b749c0e5a77b49a5eb96b158a324c3319f5dcf2d6a070818405a65d8c72530c936125a2a410595280d58a5b0ba423a4586a2f9b675e0ddbf94e4d450dfa64bc84e2dcc249e3b2c8a30804aeac455f9a20afa048f1ad52b039804368650a52152b0305946a58265732ce2094972082fa5e4b04e610ed1be600b87090a80a2e5a93476b5898f1ab71801409896fc950ab0114cde751992d3197877df9858069939843345796357ea4d9b16d15addad2435466334c01e617444653280b1475c0827632776f462aa0f39a482933a1503520d3c4d5c2a9acec730ee461c3089d6191422208a45943081c087279aac48972f441800ec83876a6059706801fd12832b1f71b53e277c801ea2281d10509d4868a642e897e700c5e08f49aa6190a0235eacd819345228586f6f16461c729613af669306729881ad5a7cb60d5960b740274b0c811325439dee139a282064ca7a3605aa18a6596ac4c6d8852a58eb4df78d38dca32c2d29012a433263e378b84c1c97ebd6e4c0c21003209c54ade664ddea76465841268473364c830fabe666b38b1aec8c2155095c2804f7a34b2287d2a29882d45d3425268870e308630be6420b320459ab228160e8fb6e5b4692a2761210aa13445a6551e926ef018b1e0c192d2084387c5263d38120369f9dadcd98bab6ff35afa260bdf6472b9a03a3d26bbc9e2c8e4bb8ce77572d4b77a6e9c567f03cd771abfd3675a5a5a5a5a5a5a5959595959595959595958585858585858585858575757575757575757575c2e97cbe572b95caed595d595d595d595d595d595d595d595d595d5959797979797979797975757575757575757575717171717171717171717d7d6d6d6d6d6d6d6d6d6969696969696969696965656565656565656565616161616161616161616d6d5d5d5d5d5d5d5d5d51597cbe572b95cae95959595959595959515d7cbcbcbcbcbcbcbcbcbabababababababababab8b8b8b8b8b8b8b8b8b8b6b6b6b6b6b6b6b6b6b6b4b4b4b4b4b4b4b4b4b4b2b2b2b2b2b2b2b2b2b2b0b0b0b0b0b0b0b0b0b0bebeaeaeaeaeaeaeaeaea8acbe572b95c2e976bc5f5eae2dad2cac2bae2be95d7f2fe1feeb5093ed338f9c6e7f0745c1957af11bddc6b13e07cd7023e4ed3f59de9adcd7dcdcecce0cabc675f393839b9b3ef995b9d19dcdb176fec2ded4688079acfe43c2cf0a6cbf1c133dd3aac8cabd702cfe4f01a6e1e079acfcaba0c932449c265e0df5c7836b7a9735c7ce36e82f93a0e0d07384ee3e5b5f7c6ddcc675ab05ae1ff402d1dad43b296360b4a9bb5a9c582c4e201a1bd5a91c5251c53d9595c3b5bcb7de582b556a4da2a10553bff5bc36d0d1616993c6e0b23eb76c3c4e3346e77e761c0b36ef73ceecbda8a82b2a7a2a0bebadd6eb7eb63aa8276ca10df19f0bff3f4ff403b4e3821ee1678763bd22290f27fdf3cbfd15a04865a04652d82af1681dbff1faea1a199d36b35997c03a6eff2810351070ee4371aca3e70402ba524ff0e9ef3b02f741e15fa03a2c67f56a30fd3e5731aed304df7bf83040525833bb8a5758506d44215f56161ed68ffbfe6408abe93fd9d23a39d22ad01c91da29d216d81091f4edf82b9384db81324e07c86c3d371e2b4dd174fa3b3b4048ab4032c07ecbc599b99dad910d00c9b4203266e843810dac0f1e871e34826f568b29e354f218c6ac64000a9811d107b13a4a4c6339d41d82c927962b3a5d3ce46278aef06f3d3c78d4de5991b328d2e9b0b1c48fca55d109b31d90fff3b3f3b3e3b3d3b017600ecf0ececd87cbfa37385d5f4f88364b17d48c6cd67b28d03de695b8d0fe6f79f6d9bc7b77af026db87f8dfd9c609c7e9f09fb6e949db64476db75b28fb6dc4ff67727b4bb04beaecff8bceafaaaabaa05552cdd3db717afdbd95c09f34256b6b9d9485e4e4919cc278ecbf0e9a335aada0b6b776baac67d6ec88d2c88c9932ff3a64fe75c6883142fa4717196a8b78be78e9f2aff3cae57fe8f4bbddb0287b2abc36c42384f8bdf33020ae254b90a6002502e8805481b2fea7f24aebbf0eebbf8e9555ad8f8e2f1cfe779371edd0e4ec720ada00e0c233b231b228ff3a509e00b004e0c363a9e5e9da1d4627ff5fd3e45f87c9bf0eeae97f60fa5687451daaffa0c6595bebaffa4ccea3b2b6d68068727673ea1c0f1c9be1e9b83971daee2b4e1376bb691cbdceb5395d5a1c4a2d0e0e92233768234588686d86fc6b6bc6e85c67546788f63dd348f94f038e7d15fdd70905edb178684e3faea351131204483f53e2df0c6737f3bd0c994c921f9fff3a3efe757af058775d71d7595bebacadf11825ff63f85e4c8d87131337feebbae27ef33045c061bafe9f4cee767942616ffc7fb7fb45e76230e10723f6607cfebf63db7b7bc5e63195d83cb671e10aebf35f2c3cdf3a2d5e9bd57feb7f7d297fe47b3ce75ffee4373efac11ff7626ff5f607fdfb7ccf07f89b2279ba01fa6cbe29df90056dec6c00bccdcdd7a429d322b3e632cb993c6d23a0c7c6c64c8d982c6ae4b5398b5516fbffc159fe5da9b82af97ff4a1da95d315c508d70fdda92928d7b52bd9b671f3184faff3bb5c36c4056d73e0399d5ee7b8f94c8e129bc7545508ecf4d9f6de5e5b7d0e84b2713bc7d5e77503db8c0fe28351685c2bab351f95959595d59a0f2ad07ca771f40d98e3e027c5be2970170c8833f83bdbe63b7da3d1e0ce6ce4f48832e3e46f216e863a4cdfdff42d08f8cdc75b3119cfff5be3a674ba582d5993be26c7bf0e8e1b43dd8a9a8ee7bf4e8c7f1d189dab8eab38aa68c629a45f1e5d432f19371d347d6daab118094357870c988c6224eb2e3043607283f1472a491507c3e4e2295d15a523e9268b2556c0b189ed51592c43695bf11b6e16b954bf207f6db978a384c60b84184ec52294a17c5116dc143f14ea703a81055004d430d803c94302c5aab84df164973189647eec6ae4b0a0894002b010f243aa2b719287c2a011ba32897929c8d0fa843089041e8b8c40d4f93a781dece934d3e5e6e086596a040417d01c3cde58b1a10056ea20ce88ab56d78313074856ce9cc4e4f921ae3ee2244da5312276726d250e20e3880e222b80bb5a9c11d1002468a4bab380287479465c61137df8240b344021e2db218a4912093484821da67fdcaa342fb9875f548818d558100e7792c848f9c2d41896266aa1d9fc020d456c808cb1c22ad3305045378aee4b0dc32b2da14e419f640a63d7c4b25847f015867641fcc8b2c859b8e1afc852c79581c2ef0d1d959908e8422823849155967a845f9820286141d18890878f540688370e420a81ab5b42bd558474734c78976116086db2c5166eb1a66b2c3768a8140de9b2f63412eb2de4e9b16e4481f7682807aed94c28498d7bd1b3368283c298f3f8524ff1e9bcfa4c03a86691f6000b920f23d4ebd222756ac4ae1e5b37801226b448ddc345a9c31d0a09b9295e151687723839a694194fa0ea233939840e9c34dd837c8b8ad5913d4222b98df7429ef8ed49136173e05a86cb22edc12c4a81129642fa8fc70e6659182569aad87425892e730dc4c47e1e692f3c69f0e32a2b0ae269950692336ea0c99037d8004f431577acc8aec100cd023e1e8a109a4b7eaecca2bc82b61165c0e8c70a3ab4a3ed6a660959868e436b7fe4680ce5633cab5a7620523e223d732a9e352030047646fce391a11381f27c96d4951ab4243c0751a1dc924371caec04c749b1cc9d6aceb464f560e601a3b9019b5cea994010e6042b98b0a8d218cc3a4e9d9f153e7dca48d0654bba231c1aaa58298b55b0102583732d5f39d9752bf3016434360326c7d4e022830a216b98bc11a20b1409b9cfb3ef87a40f04f2811f8b5b3d605a835f6c46fdce61a9c11d8390758cdcab411c8373851f60a1ecac0619b4bad6743d5e08c02006972c2aae133c0c18576db53c9d9cc11a83a2b10bb2503b9fb114ba48c14b33d3f10a3bf58748b7cb58cdda4f4ffff4c66235a46c6e7a5f8c03f808446cc1d629b824f0d18c8e257a82984d23fe62cdd4040705b55c79a686509e0ad64026b9e329240a240562ea9282806b60870630f4b22c5108bc61255f0c6053123875437135c74c82388c190f581888e8127ffea56ec1c149467c81411ad5ef030ce23b48d219308af8889f92988ec1d003866f69daa1b76878e335b4b811974c2b1e21cd310816340bee454de2a5cb8bf0de628d5a86a12c5c458718295b3e5be1171df2c439a4d8850fcf8ae4ac621886cdc241535a62a2044900329162874726160b782286215a65e015201ac386c1178f3e00bb8c7267ab258c00e65c69726169cdfc3bf257f9c49466f595fce19eab201c5fc51ff736139a444c8c2c9f5b48b76c0a039fe99d21544b870245c39b0ff636f0a9a4c0f9cc0fb0172d42c73c0f36601de009decded84039d60b94cbb481272b0e0a5257767a334b47c59a1a40e02f876f9c6c8ae72e9c638f05db460a2f7b9a6bf6a680887aa39f6be7ea96a7547ac778c7e2a745618da1822f553e7d451819d98fa89f901b82ceb50b987fa9434de75c9405af75d8a37a9fa5c00e9630026458d836ab92f2bf64d274adc5ddf8fa24bdbf243be21a9485886e4f6f83830aae1187392c8775f5d7228b266c587e06d2fcc0d5feb0c1b6ccf8725db1c102b1ef62c5095d94810c0c29eddde935e96267f397b5423f468182571251258d48370a5f7a6972d910548d1a5823c2a792ef20cf3ca7ce40169e1a1e299c03be3790de2e170b93b62e10e8494bb70e39d955d19bb206c5669422863ed32d8ed0dd915208d05d34205aaeb821e0d2320525087a34e821c9727e05ea26e81932f4731d05aebe8ac3ce96632b07c7430d65a14a0fca148a74897261829c3cbad00ddd00d007da068a6392861d67fa83100e752c0cde53e73612e2cb8f072b798e321209764498e84dc582e4bee1788222ea00c5d002e2f9072100726ae475c856f5c5d9c13083857b81947700fe0dce0bc54bc9b3ede42302f59d8fbf376fa56e2cdfcd6057773450119306f37e9f104f19dc1cdc8d23a136d99e4f6c10dd0adaa8d4c1b10a2b649156d7a636d048ab0bdb2dd607b645b90041464311c826d6d355febe45b4b5c435b73537b72a886e2564bb3aa8165aaeda495a68d4813ac928685168b168ab6218bf6458bc272067bd6e38c82cd199dd6999dc10c8b990cb346b336b3b229652cca08cbc6ca7cc84cc94a909591284b70a911b6fe3f99cde5d7264204f770ea083874646cebd83886c10f480c62627962045eff7b132b2696a85fa727fefff4e9b3b6d65758ebaeb5d594a9128feb1212e5b51947dfe525fd6d25671eace409f84c16f748e34a36959838bcd3e9fbbed563f3fa5f87f35fe7c5bf8e8b24596c78247970458593d57feb9ab379303fc4dbe6ce62947a7e29011d14f96447b299d6eb48a4f2f456507da3ab0ed57282eab17f9dccffc7e9768fd0fdb775234fd4e6aa43f52b3082e7e96dd5a1daea2f77eb45a67c11b201e94e244727d249c37d14481fcdea4326bbe8992e2ad843793a686eb5b5ea9e01bc59ca12e50ca770cde0131182887e2448db5902aea91a61f1dee2049b348d08124107680ea45a91b91e0e623409a36d43b2c525e394777a08b13a44391853f495c2efc2eb4d053200047c864e556582ac1e57c3f22ccd39943c7182912c846a59bf30d1f0512996d182f3269e9c225654038d37bca623f6ef6eeb84dccf830fda800635ae1b8b27198e89a03e0d214692f0f72546060f3c08607b94d259900233ea828be2531b26b1eb0b045a01004738880caa962a93601542aa726927ccbf1949517b475dac35401174b0c46919c1b933baf1c2ac8c5c6098912e1cb99f82ad4da1bf024742c7b25c29007300a39ac6ef35e9c8d703b1f1e19534cf858b92d151a42331ab40f10dd02d78883c0b2bbe4a381022fdf2e81a4aa20b962953c0e8d07845951c347d6daab19458dcd498c1b155551f85ae0e1930095525874de0190e3c96a486ba0bcc1098dc8013ad9400b8220d1be49254922a0e864946cd31a7395170b39f2c5d15a5236926696e8037713ab1589e0ead806313db9b02e2b6f27ae30352f170094adb8adf6083e1a6474bc2f287836456f50bf2d79599963c53dc124f57a01229a1f10221e6050dce1d24131e86b810315186f2455970cbd39e104326e0da9b7aa10ea71318002953e282bc2e414ad1126918ec81e42101d25b13ae2f6c49ac2036c56d8a27bb8c913a8afac214a5e9544afb6357238715022984036a75913195ae28000b213fa4bac84dced8343e88ddca8278280c1aa123f3fac20a69ead015bda54d4186d62784795bd5fe40e463614547d1639111883a7e2768a419e170c4c57548d0604fa799aeb619647414ac30e4c1650992596a040417ceba48a2712817d2587932bab16243010c8964cf0526b6d334aede2023ae5a5d0f4d500180752e390441a107c9ca9993983c3f03eb2a085ca0c0680e193de2244da52d3e4a5910e43127c686a610d756e20032ce550766831040e69e4b8aac00ee6a61deb125340b4a8bc1a6e908408246aabbc8512f5e3fe6d2322bdd842ecf882b6c9e4df7eeb100b2632298521668804244b70a088c003116ed506d8f264924d0100a96c04e411869508e8e1d433f6e559a975667ccd2e0681f24e10f4a548818d5580f36607e28e136056e472f9b4446ca17a6868cb585d7046b9aac3694a88566f30b14b4719756b2016577b9b40132c60aab4cf51e0fa5323e9a10c0caaae846d17da131b986738656165df931a425d429e8938c5897468fcbc4201c364c6b6259ac23f64088b1101838c59a4144ef82f89165f1858baf89c72c03b2a81789fe8a2c755c1928a0851b611761c064b8e9868eca4c0474823d181d5e9194366276238491559679a24750863d5238098144c40441090b8a4597512480be843535a3261fa90c10ef1b21d09c681002bd167bd206ae6e09f56ea98423481a190082e52d9a63c2bb0c8b6c8d1b8715ca6d61681044b6d8c22dd6742e9f804f8d055120897483864ad190d7c7c74c738b2d1e9cb3c848acb790a70703240b0adcf995990c04a1c07b3494c5389aa45830d4f9aaea8a6442496adc8b0042a432bd8e70ac4a368de0a030e63c1220c141237d933741b113f2e9bcfa4c0308541504d60806b7cea1a4b40758907c18a1a8fdbab10aa3c81bc1a8b4489d1ab1878bac38384a12666e09ad1b4009134a14a14c4f680bd50f4b86242e4a1dee503c8e288d9241e04278058423bc2a2c0ee570188126005902c3f264232465c613a8fa089ee935e68ca56bad510aa103274dd7580213cc9a150d1d8af11115ab237b8444bcac6232480897d5a01bf25ec813bf0132257c538c9861b9817089cd816b19ee8a1268103e5c0254357464cda2142861211f7c6961422fc29d90d8211e3b986561925446ddc9a062b34982bb149bae24d1452e83131e14c622a4c4cec8c67e1e692f384941250da6531b12ee4774951505f1944a161920de3cbf8c96569966dc4093216fb0a8eed348cbd4960e09ba862aee58519d8a285951eeee0a989d21d22ce0e3a108d175fe581dda5c3a22da949f2bb3285b274048c2b324a5ca93501b65c0e8c78a3912954f7416ddbc84015264bb9a59429259395a1b318afefcde0421d51d51f432c264d85d3d5f1074bbd1fec8d118cab7e8c10090126e46f9269222cb0e44ca47a39b4d373200acf87c4d11a478d680c0d0170518e33ecc3ac11e1290fe7864e844a01410c189a8cdd3585600a3a4aed4a02561da48959dacd6ac28cc202a945b722822c0e02383449f8449276f128e9362993bb52d0d32f64c8046ad35234b560f661e309ec9e50fa2255e0a53884d2ef54c208802af772dcc4958756f492b98b0a8d29226900a50590bc2b4a5ca9153e76785cf1e192e1c65ec1c598d6c15f294d44a50e40c2452441f89260bbe6e28d11de1d050c5cace592807d2c907657e1ca960214a06e7ea85735968daa486c378c8c9ae5b993f51dec4d830a4566346b7643360724c0dae39afa6053398545e4ac8665d11134226c8132a1829822052b1523a34792344172892c42e7b361884ca785c2f79f6fd90f481704398da8bf2c325c196ec8fc5ad1e302da42214aaf49e02a2914436a37ee7b0940354331cda79811900138328681875567c7b702e9e76086b9abd8e917b35888391485e9a21c41a2512880a3fc042d955816850440a145a4358da54c0870414af6e509e5b88d898547689ebae355d8f1700dc90c213702e4af4f143c4258b8aebc44ea893141f3c285621d04dabb65a9e4e9a89115229925b4f29afd6519b04711043110ab0c6063bc24086158d5d9085daf90439c6be5e1a049757417491829766a6b9880faf46fa644512c94efd21d27dad71c680b88914ae53b622d67e7afaa747d5e1b1c9a8716a3341500d299b9b5e1715a21c595d41fa4a4114c94720620b36ce285cef979903244220a3c047333a96e8b5e99d4073c3c1051054a1a6117fb1666a5f6a11d05816f2b89192840fe142d3fda1124b5205e6f14107cbc895676a08e5e95da0803ca42b293861842093dcf1140e6dcaa55bb8c0a01591410988a94b0a02585ac4d148645bc4f007e1a8010cbd2c4b90155090b14af0212d434b0856f2c500b624259aa87a54b5809a14a374437135c7ecf108970a11add18f278f23331eb03010c1c5c40704b0162b1af4e1437fa95b707092715093154b0052af936989411ad5ef030c08b49c3a5c3691f2449385249d01a388cfd3242b8b185370fc403394c4740c869eafd63c0b053ecf0e5b61a6a61d7a8b86779ea5852625dd800addaec58db8645831bc56d0524608418919a234c72058d02cb98125152c03a0e8a8949369d539a9949911000000000000200083110020381c120a0563c170502c98eff5001400024a9066bc5c3c9909d42c475110320618020001001800080162905111071f24f72dfe904b8e6e4fc103d26aa9a65d0bcd1930146c821d36ee6b9cc6851b502571096a10d2b8710f6c33469f45d755702b5c6d7328c144b8a00c240f65190be5522ab185203e2e27adb76bf576c3e63424c1c1908e1e7e8c05066a4e0727ca107452ec33f16872cac988a68546c377c1bd461492018ee1ef6f164ece5503c92c8d80dbaf26bdf4ef0a809e96d564193e5a767b0d9ba8b85c3405aa0d45085be7a6ce52d2c186c5b00f6a733ef25444ebe16e47029f466a13ba7b2cc8f1f86661ba0fc69d89dd1eaee7f8f84911ada3db4e093f18b5a510b26198b84f852903c2b4622ef0348066f1ee66a29d076612a97918c8b9f8c660fa4e469b88d61c9de5a0e8c9304d45db0d093b1fce4c54e37998b3e2cdc3b43b8f6c22aa7538976381a721b40bed3612ec383e9370dd8361cec5b607d3773cde84a8d6e82ca7850f86d36d722967cb8edc64b8adbf3629b275c326f5b5a6ad49afd6576aa2683b3727d889d11911a8fbcc008e0bdd3e94ce0e063742bcc611733954e0e9303414deba39d14e0ecc4848fd8743705ad086a1f47430bc51e2b58e9cc16121cf07d2a2e8a60d887666606642eb3f1d9283829b0ca7d989d10d11a875cc0c4e77aaba54bfa89650cd3e153b956baa90a9ef52f9a174c8c320ccc2e97c38ccaa422c6fe2a5bc6db8ce6c3f74471b2588cc79e828428c3f0585e9ed80e69324994910cb0b8c56fbba6f3d846e0769ad816198ec61e985ff38f9f21ed5c6e1443611e777257a9649f7d8ee8d698436d1c37a87056b8081ef65b83ae53a9c16ba34151b7f39f9c7974ac7bda3d0e4904e0ac14fe14424314f385bd09263715b9ea33570e415412aa0100687f016988c25703ba5356cd94d8f886f6cd304e3c0b52ec94e8a795e92149a03554fc181775da7b8682cbce82c51b2e078942c5f8dc6616775fa8e3973ee37d4fa4b698ac4fde0d326305213ed5e35966779ba834f65a59c2433b6f992559136cd4325d3c624391c0b6a614d6ac73408d73f075ba3847d382b19661a21fa91cebd2c76fa2be35f66babfa7329da8db535128db47d41ffeea6caef20e7c06979c3b99cf98fe82061dff23284f74c8ea2996b959bd5b27d723caf5978f4f82a2fc8f28134936f25dc9c0c2acc8c8cd8b3158af0baae67b1de026204f935d4fba574b62d6424964f493c1a66e9e349899846db47c2ae25f1d4458721e3b310271e3ee0106d77b70ca7f4893fe4c784db3beafcec26687ff9ad4df345ebe17228712e49d8585ba921775875f7510960dcbf1ebe84c7e0334e5b778202409e323df9fc4fd9553717c09e98006ff0a489418417660f5756d948e6f1d6b9719f7e957c0b8b4e3d453e21c760ba02a9f6f27d806409f0d414c800cf645f6dd78d116de37778e9454d1e9d4184d7c997f34989c2d85914e56caaf866e8392ca488fbaf207b40fb6482cc133c30908584fbd1f0a9f6ab9f31441d78d0627bf78f8b5c84ffd1b62daeba752979718fbcc7881daf7cf17c9279d5e7b5f91281d3a4ad2a1c727d4360efa49818d9e32af1d5749265ecb1bdcbef3565853111efc095280d8f5f901c9c3bc84fc26c7f780a5614cd6a68f1dfe610f9c3fe17fe9dad7b90e728b48144cba9b52560229e0ff63619d0c4183c00824e63e0ee5c44de53f68289467505e17aea2a228168f32baef2c362f8240a5890dcace22fe2f645c6e111e3d22b202ff706fe205896fe027d8aec7a9262246f662b15d8ee8fab0ffd6c6cfe53202f73f07b2e2a5a87e3399b2976d1fcc950e3c9592c5fb163cf53bdcfd1b17fc913643c18fa7de0e97efd9af833ec2c8fb761b1ef2d98a6e75dc3ea1474cb7ce8db9571408756efb0c2d12ed07693ac609c1c80937ef488f368ff887c500964e380bd9cd68c8ffe35d182e8e898ed725fcbe9e0c616b986a30290bff93ff623a76ea82d51f76aaa532920aebf5d0ca6fc190d8f318c371e689ffd64f11baeae51f941e7a73891622400550cc825b89f3efec0d1f999859028273d3f4b799057f727bcad3667ce27576534e20691eed90d58e23585a2c3e895a1bc32e3a0f46cb1cccf39a82099252a997b6907d260c0934f5f61dfa5780e97db9bd9e9ce21fa76d553e936a6f3b8d791556eab589e19861f53c6534a60a3d4d78a89faf1334f05c563fe802bf3199bcf4ee02dda15867c9831dd4a3d25262b1852fbd024cc8a0060655cf10bd0a3115e43e4de7fc0c2d9855c00285f235e47fc69dc1ace3f792b89f5f37b1d846af6855c0469fb9bed386abbfcfa9b0f8afc5232f482d50fa3684d74eeb2db2cc5a0e2a7b02382f6f7f62135d061621f89fe8cc761187ba50dba7b754e2f7932a7c73f96a3eb1fe4db3ca2860596cc10c60203a7682ec4c2ba6bd82032528f7634301c38f41d0cc7e3062db9dc4172bd497f85df354c1408edb19ec0efd3258b85808cf91b0f1dbcacee0a9d11fb68a6db60e838336dd0f4575e42443f189e00760284d0ce715bdea465acff4c38bf8a98df1af95fae8afb3d24e34bd2bdfff2db336440ea188a87dfb0b4c0748fd834e9679a1123ba4349a316ce57b7f6763ddf987effb8b902e496434bc70f1d1dfcfcc346a3743430ccc102c5313aa31d7151b74d6c1cc4be372c221af3f560053b873117a264ed599bcce6800edff12284169d4e80d3e6cca486c7c2671e1c8bc389263e56ae0fb0dc3cb5c2b83f9881a86a7dd068768104df83c68c3af29dfe947a0e884e47cf33c89be2999d540210c764d30d92e01ead6089c30408fe75754f69d9002e0157a900d207a4739bcbab4c530cefe58182009821890ae87395c09b8dff77b188b0eed7ab55a30f90a4423f97b95abff3af29d3d6f908fd03caee023193a779deaf2f9d5b598fba7d30f18120af70ee3354fd41fa08061b9eb95c5772afd1a2642b537992562ee803722619ac7a958707bf95a5cfc5a127506d23e283a4ad012da0389653ad2c91bbffacacc070742cef3131eb84ec0c4add7cbb3c6051217f0891c154f34d92720e138a54e5dee1199394405cafa0c2a4441802859723f727515538184043d12f91873d450b7c95a5b067e5e75aa345f949a3e2c648e6a62057fb4e6ff34f293d0c308d8116744ffca9ce2ad5c3af2cc70ffd0faa6255cca15dd5e5c02f1c338bfc566a968bcfff5fea8e7965349be7faa6efdf9812ff80556fa6c9a08a3ae388fb67d4685a9926628f4bf1df85fde182690b9fe0f39af91b269b5f001e8efcc39971b8009466a526f3dfe3f8a376565f3c42b6551d67cfd97ef88bfb9dc9e85dfaf96505f3a77f9512ff88b605111fe610c8cee7f88ad57e85bd05130891cf371a264945473d5ede5904d36d3d759d074fcfb8d46bc3ad90f3f2a8413cb62e59a93b800ab300ee77d461c5223a2d5a156ba37f29d6a4506081ccbf9a7b455085be98f57e7b9b230fb426ee0684df4e6cc933a5e51a558e45acff1c9f784e5e40851415ad455cb7d33169f804b013634801e3b413f7e3995599f45a4e07e8ff17caa5ba3ddfec0eb16a5769509956cb67d97f630c09851828a8ee6ca5d61027aee5ddd3e6b9063a592da899eed04c61d1eae0f13cb13affc6f3901b1c04932fc8707fe83d4033df0ba57951a6d24fc7a9dc4791e87ddced5efd961807fc507330d52183c4be16553e8e7a8e184ce0cf9d2952fd2d0e43be686de1de7494309051f5300896822198940ff94ad444cc2cbd8828abc90d3779d2db13d8e0c9a13059de414d92dedf55a93b5003e38171a8c6377ca1b94325a892d5ee6f596f6607658fbdd918cd96eb8f9e646bb01996b42b7c72edba38d9878c1788807b4e1b9d996550ec936eab447a7862c02a06f8e1622d288327f8a59febd25bdc6ccd0e059103927392738c977a88f193221e1ed97e1c4563ce09c431c7dc6cff3bb7f5210d5e7bd9e6c08d6c80100623ef16681f4687ab58c8e95c0fb19f83f4c1963f607323bcc8aa1fef810ae36280e96cdc2af7e4f85fb9f5ab578a2190cfaf16ea2be01e80e66de7817ed380b13065f46fa1504fe8d277dd86706306b83db4e91403b71a1c66410047e83dbf95c3b71c379d896d117786b2bafdcfd03474439ac902d23cdc9b62c37b4fcc252ce81d8d6180f437b358362fe06c5e62a36fc4bb7f947077e007b77eac15d79da98378370fab4145dfbaf24729e8bc3f24079e5d3d662b95af42456dd0c252becb2da3b68d76f1bb49d6a315fcfd77756efcf2d22a04b5ced37ac02d2c8c42babfc833566e8c5a60a00f7c90eb62804282f2dc4999b3a631b3425a1910ceb5e96a23046a3114783013fdea64348ee6273da2cd2d7c330ae42c9942250c502584b8f56a54a4901f6b29194d8828b43445136ec37aaf0696438af91cf88e845c78106ec32e76867bfc86db77b234fae57df09979fee20da1066d774392acc012a7b67c1d2d83dede5038ff231f0ffb393ced9bb759a11193cf5a43004798929d050d7159cbf8da11d1aedd8b230dbf661c787ceb6748f860994fe7b225cd72cd560524cefdcb18ee2a327361bcc41a7af75ba37ee6b124067cc08ebe7dbb94fa1cbf1e7385191e709217562c3e89f97afe391c16219bbd68d432edc15b7b04a5ba749d369b1cff4df6b3261963fc940ac3fddf0ae5f3ca4f6ab1fa4fb8286a0c8d78889577c1118a9f97486a85fa941dd2f37befa537164cc577988fb8afaa0ca5f877c4f8ba4f0112392d623842241f25c92245c93281225b4aa4afe254b32d425aa85093995c99fa44996b589b0e2845275f20179923c7d22050b14d225cad7698d92eb2f5374fb2915ba7ec5ca77054baa8862515bb3d053b4fc41b564235b64e916420897c72a97ec481741b40b95e2e5f3ea2523f24520fd42a08079b982c95dc2e8a0618820623e523149c918e9740c6584cc67944c3ea58c062d438e9879959ac9c553ce682769a8a869de899af4ab1a21650d7975cd27844d8a948d626943066df3991237299237caea1bea089cb7289cec12474f8d437791f36595935f99a3abcea180d0f9a474d2257574d43ad4103b4fa99d9cc91d917a872682e72f8a273bc923b2e6a185e8f951f524bfecd1ab7b88277c9e533e69a58fbcb40f79e2e7fbea278dfc1158ff1050007da88092a804d278df0d7f56c0ce5fc16004c0b932a2b258bee70cbfc35d20defc71d824562946b8d10a0b64d14b802eebad09ed3f24d80de12d1d10bb1bc05e34e0f7d96e731068f4e7070e7c36e600db22502f174c75c9290ae1da19e03669ea1490aff0cfefb8cfe488f14dac51dbd12ecb10a2d581e169ad40e62820aecf38423bd93140963c9336c11fd0f3d5f7a8b8137f255677b40e84e1efc8188920fd3938ff99d758cd4fc4809e8b8662074142ccf591ffee80f510476c45bcee3363254b3c60a5a7289630e319378ede9f3cb30f4b44fdd413ca8cd681972be17e90a12e15298ffd7b660900f8cd003de5b2ce8ec071b5478154695b2113e0f00c691bbd23625c8bc02f24acdbf6bec98941cb37ed6e61233f26b21fcbefd6267837f6094a96a31ead254c7828601e1bbd3515a6446cb9c92e48c0e63addc1e17bdd1d4d04440426a55431e523be8d7a461a1a9d1e0ba6833b4d8f03947cf0800b33ade13fb12ff01415709eb72462d9317c33b4f1c1466588ab91cfcf0feef03cffa46fa95f5997b80eedac5715e40649179e7ebc0b3524392dc80937917d6f558f21ec6fcac1bff91d8eb25e13e904e9699cc0a951d0ad77fe1c87d8d93a3318351f17b78eb995ad3567451b88d7fca7d34d1efd33e439bae3b4020e8addd3d767f160d445382b3600319c2b42bd1028460963717551dc2c1c5baa0dc796df18a59b86fe84d505c58bb95306e5bd576a393177169e071633ed5966fc9ac217991774680bd8cd70831675580a969ba0a0f8980b7f7dfb2672487805fe0dff77e87fe865ec85875e06fc1ff742de186ea397fbff49d02116d233f4e67a48ec6c2c1c6b8c8556fcca74858927c5a8d8540c9bd8266313da3e42e0895da9a86d313d0a3737bb650912b2215a44697161983d60c51faf353edac87a9f72a8123a6dd446317e2f1e4b816fa2fdc32d6c3f2acdbac50482241479eec0e7394fa718c7bb3a5a1b6d7cddfcfb6dac41ef39d94375e884167d22092fd05014fa2527a6cadeb1f07fba7416ccf91afe7d0819417ad12ed7df0c42c4beb246f823758db99dec954875b8b758985f396a6df17911df21c98730b878843bfc18fbdbeb942a5a64ff29e74b28afd6b5c1bcec1f7df390f004e8f750dc7665ed1f41faf1de74ec472ffd9b72868237ac183b35a88c7756fe65262c30b1abaadfb9b8210f8e0ff3314eed6eb6b96fd4cf3c6d3669be69fde9f36fba87b639c8862b9c83521fbaec3db9de27e32f40878d673e7ab5533c70e82a7241d9ece470c3f36f37c7f74660bee05e7f5756acbd169f4f7ca3c26ed4f7be2077109f6fea8f7cd06bb00e7e3bf9f03f86aebf933abcdd088f93c3dc8be665e328f51ed6ec004d671be1e33f9f785f503cca4d57b0da13347f8a5af7403e73851263f99e8bfd07dd36f7f7d72c9ee71c5eefeeb28f74be4135b6fe1f887d80fcc6ee53e907fe1776db53f9a18f34231f6cbe7eb1edc6d8fb0ca999b6d516b3bed0c42700af9164d5771ece412d6fae2f2e958a599ebe5559f802d053b970b3a9ea51626a8f972daa0bc4330a7049f3b6e1b47a0a13ff0c75bca23929229c8970ffebe79cd51f17aa7fcc39065dc6379c24712fcb5b12e571d5cbef53d85a95f68affa70aed13bde919207fb1d3c75c8fb2dc2fcbefd34bba8d3e73e1d7a481bedeb537dffde83e13980c35fd45a9836f6f4f396670a98bdf3819c634324ee75bc08edf6328c6c35bea99203204c1141eb96c531e4a1cb8f635fb01d55745fcb76e2e92ebbab1ebefb3ee7f2e5cadc4cf2c233cf63cc5563587d89fb897494fc306f3c8e6c51890617c2cfd83c80e6abb999f9ac1b21f23b9af74b0ed8b61fc5cd6fba8ea8266c7885cc0343699ef08543cfb8308780f1aecc0a587ef67bf8852069c5a0233b3e6c6ec274e13ab1c74e87ad23b0e6b4f5927b72d7c83cba12c9eb4b47818351f0f46d9a6ab1e18c4f04feead15ebceb733a7c1bfca45ab5abbc3f69865b5aea5ee02be707e51027ef58e0d6a5cee6931bffda366d573b99e87053867d387c0db89aeba7df1f7f5224c7e86c02a1438693683d7372e7e5f80e69bf1e314d1d92d1d95227176e445a8b7b63703f5dcc14d0e8801f48889f2d5f4c0597c5a566c1f2c6cd9f08681fd3fe9c4b4656f25df93f38ee31073853ef97549e3cd9629333f560d734e747cc4f2f1d9d645ae3ef610d7dda2978030b73915b3067a8e104c930444fbc5d232fbbf8d1bc561346ec3c9fffc044c761c01e3c7b7bf110e49e206fd28c36bc6ee213c96a080a7fadbb50ef98e56dcf146da745efe190fcc633f1280c63059effe38c85045f61912e75497e6982eccefc8be4b6a71270972bb1e40b7e23399b24a2f3530fffa1e557402ecfd12930875bd3967ca54e216a1e2cc021f85546f2fb05fc6352096378ee37fc4f67d735c1f74f9ff520a7842e9d11ba7f238ce370b380a5a8c80e3d505bb04e03c3fd82810d16340cede600140802bc1ca9b0cccb14b0227b8802d33992853f64c627b7cde4d2d986b108d3b02930a44d75b1e4fb5376dbf7c7ab286f2af78b4d4f1220ff1f1e93b7bb7893606c1f0a00b087c4f9add53d5ed8f96ccad98a146e74aaccd2f9baea518154cd2fe05a05ba74dec91f760f61759000fa7160bcf77893e76d848f79c74d27daa6cf7b8db08686c6ab0563064510b33af5022b867fdfd4a8b13ac42c91ac712bdd2e63843748097b0397fa19aa588fec3601f52b49d826c2a933e689114bdf709830bc6e7559e63f09172bed134be0de05689361d1ebcc2d8993f62f7ab2f9757a84881ca30c0080792056939cbc3308cdcc7b131085cbd23552d9e93b176df9fd30a58c61ade1fbdd02037cd3e22728f96f7055df514bbce62b407ca6de773e78948f2f0b7619aa3f62c9d51185eaee35f481078afd9b09816bc1101d0aa9cc315437265a2723a13448d45e42bdc8b30c656b60d2a21b69b18dbd3f5476776b9277ea83341b639b34674e6f0a6990db0cbcd96724c44bc37ea595f4c998cc06b24f789932d5c42e418bf738fbdc9ebc0de3725396570363e6dfca77d55a0fb68c53212bce4b3cadda6aa6eba569e3ae32ffac38ab574270db8ea255943760596268e38e415709e5504ab2d79c5e1e36a2745f7acf643f9e48bd043d8819e6c5e3d77d40372ae56b3f58c0dbceb81e2929a1e41e2bcd877512bfc262564f62f24780f0398e7813849c1485d9d425e4f4aa65b56f3dfad86dd77c9b59639947cb621e7ee574dc921a291c42891d19d965d75bb51e4686bc162c36ff98d4284c3d3f058571be1173fde601df9804bc2abb7301d06e84c78c04819f1c83aee0d6e38d2170a487350532a3d9ab659473a58583c7e6826f01cfcba80835605fa5b06a293f8ee7235970f4d66569547a9c98b7bbe89747ee838e222c50a6155cb202310e287754762c4bb1d3e2e5faa1ea21810bbdf8e19f8b347d5a2c49f6075d9f23200201f61592ebce498803dbe6cd579016dd5f750966329a037d7fcbb3ffcf61fba729aaa1d972dd63d3e889911c02d95d2a8b1ee1d13fb81492d54a7360de0bc26e18d3d0ee39abc63f6a0dfc723b1f53c9ad35fcf05a8e1814939a5666505b2e1bbded5017f95a643111f4d1eb6e41483a379a45aef517e2b2eb223041afd641dc4ed0b887add03f86ed66e544d99d15e1501f2ad80017d3440085ec6040df667bf4bbb2940a6c97836de8b0b89182bc0b20f05fa1cc48fa895d772e4f8cf48814f5b21b1166a4f10df4132eae084740bb0e6bafdc314636808e6cc3426557e11a6b6385066db3f20fa1d6077f0e0b1352a96f2b73942c1172bcf59184bf807c889920a8dd7efb673f3ed651a64c2430fefb72cb0a9ad3de64b65aa1630307e34cacc7bd6a59076e7214dbb767359e8cdb60f354c5056a0f31424b4ece01644fecd113ca1553390d39717b7be2868beb0cb275a776e1eab3d9e6c7c200d11d8ce1a39f38a3c4b0ec85fcf9d196a14615faa9b3c0d2137af4b86ed6abadf750497361c5262016441b1099585a31159f3b37821eb7404a4a346a1a49ce455d450f4d8cc3d0d41a64bb7ad0e60c3efeaeb1d43ee29ed8fed4af34d2e0a5a9acd50dcec8fe1e34c9af99256a0eade728c4dacb4cc450d27840f1a8c9c88bda74364cddc75c31009596f3cfd1a7c5cabc677477f9ab2f98c9ffc2012214d9465fb04de24cce74b811c92daf5205fbce86d4e5fe1dd7b82344136611e1d90832ce4b781c2f806af24979343da53256f7b1e4ae15e33639c4b76fc6a253469a919451a1c28098fea344d6868a8aaf7f0fd878cd9f1b375c0b2ba542edd3af98b9ae14bf16fb9eeaef6c183a64f3b5b584eb0d2853621d51008857f6d55cd328a30e343c86013214defad84546505b6fb88951c321cd16825161a09c638914eab3c94dedb4eeb596d662bdb39e6a5ad64309719b3e31d850572741997e69f5ec56db8df102253cad054c4edc921e11438a12e4304ce3ad19bea008ee7ddcd256b51d9aef859662dbc1d2a4eb33caa72e8e508b14d431ccc6043e0c4e91d7d0589dde4b4e439948d8738d5f6c7d1f8b56ddb06184b4f57e695969f97cfa315c020db2010011f72c1f770dba92807d7ffe1540d902c3c01cea22efbaf3f80a9300a6f2f69eb44e1d6f96c89752e7a9cf0767f7e174e5e4ab94af5b751ae9d553822974689e4c45763d989991e5e0d5feb5f49c652874342ccbb2270060c3d807172c07a9c80486eb27be66b477bbc9a2d041d7a9a1654a77bec0fdeaed26ba9ab6381b958f1816ae9555cf88d9bed84f07635df525a71d1d6ebc9913b7dd63c436462b1e2c6c66f42f6297cc62663c2b0de58b0a331e78193627511658500db87aab845fc6d3f1e84dd0e1fe4f4706a65d8163eed392b460ff0f39fb5d7bb7ae3aee2faad9b8a8ce05f20590895facb8e1c5602beed681e0aa5202de607ea05782c7575924763b809e4c1ef725b4a00f574dfad44c920daa932dc34d49e7fb97ab139404b0f2e2ee4a3616ef54908842b8f54a3621f431395d9010d347145fe334c9baaf8182d75244c825fd4dda757f1f960772ff1f0865583e1a831e3baa10e7ccd6cfeee501650e800de23896da7940143c2d50f9e62779b09034073014e0851720938ecffdb8936b1f88c0d2421e0c73a105fec7f01cab9a24b05661a4e6509673ac1b3384cfd4a9915438395070b90923328fb3f06e46f98e50384f9ac94e6a4393e11f5442d1e394e4639d7248c9b103086a82e9790ede70f4f429ecb6f05fe2a17ac672aeafd97849bc1bc1c77e1e6a76e76a5e19e2b44757cff13a652b0bb9161b514ff191012efd48cf848c5e2854e4584ef2a6151d05324743c799d2fd2266079a9a83e1670e2f9a08eea87ac84e7e97c55ba0a91efbbb38f983cd2fa464b72fcc59653ed6eb019b6164b2155a3531fde5947e9ecaa6005ec22fc4ea6926647e2d7528c65a133dc27d9fe5b6b9cddac8b4a8d00cca65b07868acfff62e882404e8dfdece3639f2a9cd036b58133bc90875d9a01e5158adabe85a595963279a010db0e3ed33ce1046013331c72b4d340aaaa27f4c0ee37d1d6b30f4810f5227d17146e58ea64faceb69fd88fde61842ab2a0b2da6264c65e2f441ba4eeee78ce03990984c2465d0d2d02a1be874113d22015e0e4d387eb1ff0d7ba9865daeaf92759688fb56219ec81c4f24e357f81886f2f31f65622198b7901862b4c8cbc42f3fb2b5ab17e54a6a785efc8f6ed8d7469616b910b32530b94b05fc06770d13caef94018e12b183c5a1612f632308f9b88255840a0f9513273bd8b10cb01760ed8811e8b7ae784559d00c4276744eb67e8896c4201b566f0cb7937e19d1e953df8acfc43a098271be801592fb24a60dc06df21088b3db0c832b28774fb00f53fce59b1baaba24cf37af95666af936cfdba2b28c0ee7c427c3c7b7c01c84e2a699287350889b0a4244c4156317d846cfb4b79c786ffc535503962f9cb07ef0b12bbb6de6cfa29b2c5e4355ffda5e54a7eebab6e9bae1ae37f9465caed433c1d5fcd0462c016bbdb4de1c0720ffeea590bf9923cce720357a2bc471135fdc297a6c7a723ac9d0dc7d2d5fa9f0b9b8ff51d7fe410d9b18501fa05b0651673410587cd7c6fe72a7ed59a71045d86cd9b412a4de438282aa770ca0f3c89663e14340b56fa3a65b6d54394f029fe8088138e401f6affd9d1c1420b54c03519f3f9036a0c0f70440789cc46d66769efd0bdbf4c05f81d2df747aade33307a9085fa42f7197983327c0196bb8f31db7faf48c0f84d869da1025ddaea96eb09a8710a8940af3cab03e53a10c8f3f35cd919566a8c6852e634bb115b2491dc4afef9f33aecbfc8948571d965326246340b37db0650cc83e71738aebf4db4710fe2e29067dddd3b1efaf1bf5c1111ac042cdbf294a0f4c45c0f35b27a294ab58e003a3facbaede0c70e8b6bfc2ac0acdf8a9b3cbdce539627187b1bdf7095ec4909d6ddef1044ad175fc0a4629e4c175390697f007818fa5cfb9b1deb2acf50c2fc6c92bd3bfb85314c67fc6f4b67e5164c07199f44b33310a3e3b25a696104bfcf9fdfe9e19cafb5131882024d1aa9c249a6c1d4c92794802f632bc7dcf9d104d9105cc7e825d17d4489148d9062b736243b0eee1be74e21247a6837142e131e85eb14c5d711b8175ff3a781d1cf5c18b9edaaa7dd9527fd7ea415231bd46771911189fab461ce2e67115eaa30742a89c36ba63efa8e63eb88bbb5e052ce091c0708ac17cce639f207ed2020f5de23a0a0db23c9cf1eb74f33e7e7617f79d11f10c002226a638121a99cba671ba4db09468793f07d1e8ea663514020c6030606e8be425d41c973d30ab760777f0cffc44a6ca379315b60dfea169cb26943d5b105aad923dccf08eb4966261390658add8f44875af07770889e414a34357757e3fc468e14e23221b967d5b0af8e417c2c331c3519512b6dea1d34e4279980712a252979f8771d7da86126de4548113d2d509d0111ede6482acdc959368952cc3a47611fc305fe7d1017805386cbd21f214eaa0b4d8e023fe3fa49cc5387ccac194f3d39a77918e0d9c0c6b0fe574a715a2149a0093cf44239eb6060bd5fa328e3815557424f7d1da30dec355e56ba9d8b234e144f067f46a1e8e859084259e120dd5bfaa214056446b4b5314a594a7e033a95001080a5b25d16de41346c817349229d72ec913dc86b311e841ca718da82d0f63095fa01f1df233a48c201e9567deb588a961e824cc1e4affa932f9bce4c91a513cea9e0b7f8cc3c65e2f7e5dfd987c445ddec111f8fb4a558f6cd5a95d0a6539c100f0b1b6339e7b61936fef2868fbd90035132461aae3222e5927c70af0406512cdb0c0d2ff8f960c8949e80527ef7c3ac37375fb736a721330b8027d5e0dab7071ca1d6c0e204b99f9283b76f70d27b82f2f12866a6d9c797705148f6cb498be63048f2c69c03c07ca9c41e8ecb6d7af355c11ee475fdabea4d7c1983fc9ca31c0b475c04a0520411b94ed2f4489ebe8c8bcd355a718ae5af4f593070467eb170700a5177a8fb2c2aa2a8385fb020c8260be2703645aeb7099f4f4fe54b7a8ea6de98c09914394d7f0d2111f37f56253a094bbdf982cd45a48dd3eee15d2a3944e0c14b2481f7115d48b8c77920db7091046ba31e00ebd41ed26cb1aca5b2b208eb30ea96796756c2fe094f471bcc83b5ab593cdec239c57a164fafe354626e304a783cb8a5bc811fa7c73a872fe34a48943bfcceb5d92d9eb09e4798d28c39e6e96426db98b6ca7a9bb4942ebee5fc8ee210a012adea08ae32535f48bf9fb3e3e7ab6466e650180bf0776b218317f3dd1572e3cd45a6816897217b3ee317870c5e362e4e631802f80744cd8433486dae0f31428b25274a83b4fff34e93d6f43575fc15e69c941f3165c3877e42dfa67962420194ac9f11e5703382194dd5b2ca2e232475b643c6313777ef90426628dbe734c9e5062fb711a6b4cc4ca0ed1bf0c956cb55ffe152c1588fb8b0a86ada72e714b31c1e944e27d316e733509f5a36d2cb20c2fe86d104d0c51a68259cccb7cdc29b5b96fd2d926523b7f6ae480aa3f75785029d5323f2a17f5d090db8ee42057d590aa36d5ddac6921b665fa145ab5bf240aef61c11938aea43d099c730ad0053c2c24df0dbb0e2fb5f19b82bfdbd107302fbb2fb5bd1dc327c768b2305ebc5a9976de5813ba6e5cf3a611d3c8e3bc604c3a655e676f4c0eb5c224ad7efdf60d65d0242ca65827d7809266acec1b2b1c83bddb1e598c6b133f8116640f6e3ac7c8ecc58ec057b2fd888af161fdee88b15f8fbf15fc621419ed6efb927c1eca2481e38f7627105934d2a0aeae2924d07863b55fc576195a334f471f8d829ab17466722966640f18bfe8ab01eafa2ed0942080e08484cdceef3d270b617a54c535c967f192afcf369f220e3eb43fb43cb235e1ee040c8967242f20591e6b15777c7090ef8f7a7f2c3fed2784e83d653a3bd89eabf21c0383ad205210ebc6bba71c21be79f5d6ad31d72d8b45c7aec77b6f09cdb66d8bf573273f11468fce993f2ced1d5b65ea76651a13522150dbcd73965b31cfc0beedd1b26311d857476c3fc7d70b2e1eec46d703eded139788ac401189be34ad09c2263015163e47cc0366fcb24378bac69305d71f26b8b7c8fb0453ea4de62257b93f251e03d80fc4861b07a11137803f89739a0d605160ec3ff9bbb2d3b8532a1bf492095fa7234dca23b5f16e97501a384e9702585e9de037b849445e7a9d9c072d218b01ed2cd95d59b38b44938639d23b9151091b8e556acc5b0f3204701781b344a1ce68b086dbf48ab01b8406f0f8391866d4ed45b684f8d42d4eb047413e0cb16465d8b4e22296e1e64cc0a57fa302e802e75611902c417c872adaf50b4f255eb68896e9895bd3d75e2b4d8082354e413d10834b472a35f23571826a958b47f8d03b9b615568d69c425e30c0e7ffeee29419aac76bcd29bbcb43c0c1591c95c88e12f03829739f16a6385a305283a48422946fcf36fd85bed06fece0369ea5a38ae44be107aea46c708a9212d0703dfa1ef39795fa52306e65c5ed28159bce02de6727caa0c2e617752982b02584394fe2a3612f41dafa1c7c10cb7275dc31876c6348eebb5bb57014b9c240b67b059e12e380df119a03ebe9d1a0f07ff0d39dabbed6a1d6caab90a88ef803f82cd1b2fd5155c888d893ffaf9639cbfdc1466feb2e87dafbfe74cbd32a207847f6fbd78536c7f5834d7ef4982c4342cac0895333b4e8fc639123fe0867c14745c15e9d239b66c96d3c93845fd69f2d34ca2fca2ba5cb76e243d11c297e1b6a1476d645ae9b6a6d17021755fc1e4a634d4256b67398937d8322dcf0e22030de256cca88e4709886af55b2a7d0e928bcb25720db0e4f60afab72beb2920b222544a8bf8dadf3278a9d80ab65f6ae795bb4839c6abf800572eb9a61c89e2c34b2765a404527f1222e08749db95d2c99b23f224df682e83211154c28f370626373351ac185f0db184717644db9d54b14ae610a0b7009ac655e4b00c5504e3b0526d6c6c8306dc172979110272ef36b8f304f720a65204ef44a38f8a5c3b38fb76a66ef717408d1dd24af18d7723566d2b9fb5a017a6373824dc47e193ddc8fb86efdd533f8efc6193e192e863e7486edc60c2b39bcf9464abf5b609d6446b2d738975ae648cf5f6300acbef0be6510ebd5f3a196120d2cab6c60127d65258a2c8b34b7ee0e428737c9a6dde678feebe3b56b09f7c009207cabde0881dc62fc55d536184f5a3604fd27477b2a989c17d926b71c3853873daee98d97960ff2d6275d69a1f651e62808a7f57e7fdefef08e693c6ebe3ccb2e6007164d1463636881d66539fe0f7495be795b8f30c6032346a434cb1363e1d9f7c867950b9b8f9956fd4e3dd50e07c27dc2b3f2a52c8c3d3d9ad1ea4715467e570c5c9cef5bc3e0db7f16d41631ece52c19ddeb548431581f30f3c26992e157dbcf21a09adca94cb1400aedd9cf57f7ab065cf1b905db20ea1bb658cbf7f7c2c987a3afe666741af0c3bd82020c0b428efeaa8ba55d21b847921188b1c654724c432f0babe0dfea7e04e2726c5e62caba18a850499031a9c268044f4b403a3b262d6019a46b23586e99d8c525816272d47610ab0d35a80e17798f6af7850a1f779db74f58b03153711027b068a948167c05058345a9c73d3e77aa5b95110174d530508f40fc289cae8d3c01e8e392bafba27d502d0c280dc0a51314263441ad3b6fc14b043218242138d3ac23697d3d9cf96951d3b0fa78cef7bbe0f3ed5f517136c6585bf7a842c38ea1efcd6f43a935c00948d17374e522ad08ab40222202e7d4e1778e041da88071695896027584ab838376ba3bcb7f3fd655f6869c3e1a044900a5c031297615c86a7b3606cca4cf40bf9df900fdf6e85f21b8c1fc1154150531a2696b6e9d4f10b8ec2bf367b053b481caa2cb3f52370697093205181f90729b319c715a8c474c933d75f2535430fc3aa8849f6097af49143829c34a146ff77175df7642eff72e19d02871266fdeb53b274a84be5615ba2ea7be076b967dd9983941c1ffa291789acc4e0065fdda85321f19f33c1692c37adfc1853fe60a6fcc6ad18cd26208b409d9a9239a000e000ed21986512309f30de8e16cd55619dc1331d8509902778d2e11f82d3311fa796d63fe078725c5cb8666f5acd9642980fdffe355191a3940ca186cb1c9c7191234488d5fc362590d415ebd50560bcfa30836291402f600f9e370ab114197023ac76b697a6b32681906ba310c066e5f190358ff6c18246713c52c86c629cc559d2caa81026dd3b1fb87918ca5b89e7c31abf799c145f93e3d9a10e20607084463ea13574454aaeb6d86e4a6f06998114ba63f0c67a46d1a03329c6a4ca405b8bf0072ae81dc7397179419f42edfaca1ef545997373c160684e4aea0791bb3db220ebc82a7893b1dbdeb3bd1c4c744c630425070bda6dc44f9b9961326ab2fd3097db8b5712a6c3eb771525a902b8edeea541420434ab9baf39fba257fe34ed9ac15e4ecbcaa1092caa8330f068194e6969505b39920669ca38d41f34cfb1d529c1563b078b0cd73706f997fe6ede9cb6958f898b5097b128d60162f6adaad25728bb01f85ac0b28e1a3e658f17d4d8658d6df2a13c2e8276faf26676194c53654d10409a3c88cbc04bffe32e343644d0a534e801e692c01ddacf62823447916d2fe0da81191be4ff8f54280180b5d7fbb1fb9b82961858c0754fcbcc2927cb4abebc1fd0e0c2a622cafc41e6fe8022b087614422aa8881a21b3cc9eaf10799a0007273d0ac9be916527ababe3303daa97b29d505972bd27ada6dc2c42048681f10ee2565b6524912586a445a5330ef1ff636c303ba3c0abce17f824fa17ff224a30fd19b4e14e6b63830b86385b2693f58e8078521498d2098b3bfd188236b24884b7db70f03da47ba87034b54aabc8f184b96b4a9ff8f869f45b2db1cf6ea760767264adfa69f711a686ed73bfce988118a6134f9227684906e47b594ac4ad7314801af809e466629ecc381645b1bf2a3f771cac195f301499ff5e7423bbc32990aa6dfb3ca5b6d1d102615cb603122d36567e9d45bcf8cd27f403f051c63e45be61008e27d3bc80712bef2d4bc7d130b0923c6e52e71b6fe66ab2e4776b45231c3d85ad6c9de60fc436ec72a05c4dd47083525a63d8609b1df31a8723cc078bba9c6bb15a012d4de1611474f1b090d7bb5573d3d188426a856f6e502a3eca54544b8838c993a4f653284e010a7f25be4d85b3aeb7c1c257183d56aa5f6e0e46f803979e37ec32a222ea6465b0cdfc8b2f22e1fd40a22a753b628db788bd6bd2c2639113d325b20612062071aaec57477a38122fe006b960ffe6b899b4e8e5c5f5d82320ed7b829da551155f730b29c62bb35b07c79815b83442647e2e915670724c6c3dc50c7a9cb3a825a4fc1a6391e52f37e28ad2b14116c0352820ba026773648b2cd0408b6094f592e9a7a1a61dd2c6af03e5466704770cb108e23016d9b0de3e86f5feb8300f4293a6dcc57317a1569274e7f267626f43e533f6b2ecb59d09df00905ef77edb29d5bc141b61edcb7ea598c86d83357c7f8854eae22df6a9696cda664237e05a47a87786b23fe478dffea2665ecfe84b4d0efea163bc08cb0701fd3885f446839530ee387c3ce5f6b9c3427eeb131762f84771b8430263b508fbc0db19d38a3f94c21b6be3b63815fbb62f39a496323b8f1c6feebd174fc1b92d6b9cfeb176629f051b5497747fee5da168a4f0cacf2e035bb34d9f0e5911786c194122ae0677700560dc2bf84484a39b10896e31db6567322364f68b446f98a8ee68a77819286c608acce7923561a3aded17faf1a22474b46a9cdc23cf05d0bfa1040b6b7b695b0f56caeb82f937d8699669792b5d7576a568d29c683146d92b630a05380e0115d126bb68627265f4334829b9e0e66c8c37395476e1a1f32ed46be2cca06582e500b5c97c38abfba925a9681d2c5abdc2d16a259b6a040a6b5c4f3e5c4500e59255ae98db0dc2a0d332a3a7075a668552d60dc524453d15e7edeb7e8db8f6349beca612f844d79ae91abc6b84bbd0b6475a119011a87ef8ebbed52ea015e6630c9bfee42149867c0f73157e47e308dd033dab98be9b85dccba3c510ded44b376a49d21e547d67ee8e37d76014dd308c0f1c8c1c230ded950e7171c4a86b6f8763a8d66ad0a70a29e8e888247f1bccc1a2587e2423f9ebf41a6255765077e11672fb8ca9ede122bc5ddc72cda68d4a0dc057cdca82a38a90371a3dbc390987d6925a61d693146a9f44256fdd918d59506ca0faff0594f40b04d3051be691a52068eb704dbcbd62ef9976f19d005daa6212630e1268a8692fe4d2003384a0b14f5cb9078ab0f2f2136cba7e19340dc56d7ad5161dd7b810c9642693b2d8e674bba1b85204d0313b22d0811e18884b49a7d2a90deb2d9273ca071d5b7786388bfbeafd6ad258c12ffde769a6577541664bf5b39798514a98254bf73af20d11bb5327ee71703ec95b8c4162e1ffeb0ca0b4c31f16ebcfa1e2291fa64f5ffca1f4123e037de3112c303d326672e90b36817f043b8f0d4863fd90ff0ae6e1172c013eba28d1595205ce6a8601c0a0465c40dcee15542aa16aa48f5fbc032095a3e45dc2676d93d0547cca335cc5858c948ee06b6f33c85ca9fe0aaa043e44e910fd2913058541f20235f42a7e80eb5b191f42ed905f619846f2ac4a5b848646309943102779b06125c1aa8f0391227780adab55c300ed8355c2443590e41ba2efca73f83a806d586616478973dfb91396dea5733828e106171b58655ce910a9f78eeda6b649572dbc3985787f6ac21490b2e6d26e31d2ae130a620feb32457acced8cdca96966655ee038fafaecaa2e13a5fcda732ab25061fad05c62c4d8afa3fa2bf6281d3b1b0196319c564c1a2335bff268bc51af8dbe5f585316928ae6082e3bcd7087028f19a1247ea6bc908383a511fe7ffb25ed3254aa861607ae241170c56d62ab9cd9ab2c3dcf2b38a346cf96789fcc76621131553138024327a689ef600f95515643c9dab260241d1919a749339f439bef3e9b9327d660d4cd95bff66af62e459de110666093140076d6d6a62273dbbfbf2ede633dfcceb841ce2a9d878ccd29921f482981f7bb8b8c93a80dc97cb0f3da57e1b6ff05eec4f05f3ccd02a35ccabfc68555973877019b7f4d354f0a4471aa1fe2fcf1a5d0b724a704df3f8cfe6a517e8adcc9edb0faffaffb54e009ab8f96cc3d25e6b8cb7fa2b4dcc7092aee805b0f5c203895510ff0430f13bf46c69fd3a1f006483b1d034c1a94f1181f3d5050e4df70fb331db6891dc6973879a5619a2e068f2f0ee397d560786355283dde68548c46fc4c51e921169e21e96851fec8fd745ea13fb484c69ee9eca9e08f68961fceec9f3dec736fdd2f981005a04094f119bc13539de488eca353cdc8fd499a25eff341e3228ef1561efc0c6a9bff94e660d08050efa46da6f4b84df5555227e1299685ab8435e1b6b341568fac41b00404c0489cdc20acfe5c881e52fb928472d320388165709fec54cdac4a127e2a9991dcded586293c864a81002ad784d1506a6e1dd4dc5003f2dab1244993802dfedcd9d65f06ac5f2a4e42d5aa5386eda86a2c27b73f554948244fd2bfca8ce7323d0fd9e5c1daa13a320ed22826c68b4e16f536fc3606780787cd56f48ed36c32d1acfe11c9c508da69d9ad70986e8b07d88c9f747f8c74e3851c427da6dc0d1e6572a1b00d74e5e93b2dd58e957d57c9c587c4af8e83457412221a75aa76ec192291c74d3b622cd5cedf46376cb5cd6b424d63ed4d15eb11183ffc6cf669120719f077b0b05a7e18a46095a6853ce84427b11b2947b36a816ce1cc3272d826f8eb35496a0986872f87648f5f3fb27ae911c7da9bee3f21d10796c6683070af8535e0c4c3b2a8b349f10ad27f56eb5414315c9a550a0382d244eae3082826bb21a0e90f173288d9ab87d72a15c2ab1631b7721c92f56eab9c484222f20afef01aae868d1bb9f4dbb90ef9ccfa689d21a34215796692b60e10e051a385bbe3ac750a3bdb25aa4bf523b7803323699d6b7d3e676195f89963cb4359d276ac6c36c680ef2f54612d3542c8edc8d75275be4b87e0508ecd4e83cf004d9d668f25380f780f5a210636d095dcb5598bc62dab2e16d8c4405a4328dbe9e23218c8ab101d2b2f2f339f8c7e74df6529dedbb6c088851782dc214d3a07e80053036bb489c45c09d6e14e27fa7a93dc62178dc3a9c82fc99e3c44f60ae02e0d718a077eac166098b85c69510d711316589dc1a6146ab97cd1fda7de2cc454b02e1fe4498929422dd1d94ddfe8ba81e272de12d4d3168f9a67ab152a1b5bcdeea30059466fb45d898c20bc0167435a7a5f806103f0c73233f45408568069a0c0d8869bbfd9641010fef9dd6f8e6f27d1d6c027e7de47e75c39a693d02c6a6fb16a47b0a12d8490f99a677e5f0386ba21cb083976bb1bc89242297df437088e736bec6207bef5e7d33c7ac1669d89ea981e150dc1187821634a1199709c3dabb4575fad4dc8995b8e794c745d835c00d8516d80bae756a76cb6490731f35d1238bee8adaf5abde96dd58797fd927d1a5e98a858ebb7d12b09c2812662c3ea701dc596f0a9fc62f8141c4ab86bb2bb6ec159d422502bb33617fbea95115a41c5a41cddfcdcd06f3970160f0f3d0392ebddafe98fb54d6b5cb855e4188588b584fbcbd280d897f9fbd7e42fd7618264a69e4bbd81013d5962ab53bbe5e1021f6c2cd774a379a341f911fc962f00eaf7913383ed65965c2ab5e54b8e9e8010583a17599e6e567a2677974c517a58f15e3ff27dc7fc045883fbf3df5d26d011442ff47481b40e10f3608d02b203f54891f6c11e4b8b95d6f75b29353670ef85dba619eda63dfa4b2dcff81e55ad904772e0424d7c15ef95eebc0b9556e9d6d7fc4598ab2c683a7fd3ecfd367688dde16dc709ced38b2fba045ea2b0722f0a4f9fb0cfeb096f5328a77bfa4500be7859d9d8b369b906daf1b3d5c1eca2c63ce6ddb163d113a1d62636dd15dfdf4ef71352e807847a80373400b3999d2a078f9273a6662839e05a7d5450c38e606060c904fd3350d4fbc6b39b824c1e9d7576bc71cf9281550b0d42026d8957d27f21f027d05333f68a4ca5d9adfe6b2788ce09df63b8694ebcdde0971e2a2358d547093594593f670ff021db38b1b24b0eae34f3f175df44c00c7b17f7682eccede7b886cfb70b294132d6f913f30344ee67fc1f08b485eb5e6b13eaec0bda934dda240d9924c7787f9c31724254077eba0325467f208125eb59c72f6f145c1d7b1af4e7f9ac7bb04dd1f8010844d64b70b1b640b2c28bfae372f6f617b673c219084bb1fdd12269544e7ad4d365bf41828e47ec31e75656bd7791dbcf8d199d9c18a1c56a8598a02d0730b32d60e8a67f830da15effcc4db9b754c54331bb7e3e0a51b0b1b091929335c3a28cf1e4bc3a856ef0d36a7b5a50ddc2fc5671fb9b186fed8c94fac69c2f1bee37064d5a81f8cf70e82e7fa9f94981c841ed1ce3934ef3b1203b779772db8fe38ce178f00f580cc924ccf4acedf2cc117dc36c2e860c5759b2e560f360afc35a3abcbce2aff8513e05d1bba7f9c81fca336310628b1e4e211fa3f2f08c9dcb1f662b9262af9ac1fa0ec3ab48cd6bdfda3a825b332541339c4a04050ab3647623dd550c3a4c484f40af5a71a89b0bc523d94baf14b871aea098a09531ce1bab2cfb3beb53f47fb17fd6d4ba585029176528828bae718ff28eb13a31e5ef32022b99b9a2696830353edf99d0a9c8a62e6c367ca1546c053138c22343dde68871c72d02222eaf1fbc5f313260a8f8820057486804fca70a3d023bc6f540a299ef4517b10e419d59ed0b2f24ff29845355e3a2199bcd244c9f0a17ab9fb09ef290a6d2a89250dd51628c8bac51c2e4f3f6c3eeaf7f71fd113e39d1538f90898d42c5c9c354d365739d21015880f1a55c9e9d7f9b6dc3b5d00b1281855e7e872e9a02160446a390848c59833986983c92dc3e6204f0fb0b46fe00f2b84ae6a98ba2e3c0c74c99b9f1638eccbcbdeafe98a636c153e08141a6e88a51f1946c802c6eb54c5c057d83a069c37c8bcb5e38404af2bbeb6c26b9c9972c84d8f060c2e69165990ed0128c4b330ace8f2ae8cf0a8d07529308e0e5ff9b620e9ef8c7cf8c230a6a0f8a58c564ce09d36ac52f3dfd6095fceed69fcb116f25bc48c714467f5f7b16f5ac6ef5ac1d98510bf23dd21dd8ede9958cbdb094ad1fbcf2073a6e5e2be397fc38d1dbfac93c4565747085095746b20b3cb364c60350e608e40869e378f6db32fa448b967f2cc160938d1e94b573eafd098fbc305de75c793abf1a8e1542db00b72a32404dc248c83bd2aa322164d8041e6b9b86927d9cfa750bb85662c7a9770c371c7c85b16dfd9a0229c68f184dfbc90a3e15d2ead96ab75208d96f4ad99f22a210f3f76628098ce8fea06d44e324b4d9ccba33b6875b72a290c020ac7ff4e13591ed444dfd34b1ab21ab5e36891deb45a57cca9f611260295e115c7f10d42b7a2ff04057afc9d582dbf4cbd6a24ac8bef3a25174ca245641f17dbd6dd80715aa07480b539b2d8a7d8128460d7a13dd271655a5cb455ff6db0fcf395ebf56b9daab07b8435c035b4263f28c773cf98e87a2d0df571e903688f775796916e644f4723a52edbad0fdaea16667eb3294d99bb4c0240fb9734c305601493454803e70cc6aca08358a654d3a7aa8abc37450be77861d68a730bcbbb1231886d52429c4b6361e6b7514c6aff3885723813da835a09918cad05b56db11256815bf201fcc7ca642e0250d1603d9b09b0abb9ebd0cfa915a365f15468bdea2dcfe6667513098948fdf64a31c5949d9fecc47b606c74f19f17d5fc994d55636de3e18f263684c0b9c60a0ac88d61ac837925cbf090aaeefbde346cb352a7cbba783c19075f1424035dd88884363ebd7b1f9a9c3db210238edbf27b3fd63eba113441241ce72bf64b32ab0f3cbfeb113c7d79f231e2f60335fd5a2c16a82ea8d8e91ff19cb4e23d57b3cb01e48300ea1afd117a0e77df6ac475a4d0cf5f30254b08268fedf106c74c44365840ea22ad14398003d6824d9719aef94bd1ce41a2f88fe61bf852ae519ac1308d6fb0938a9ab3b8082bba4df3642b8b83b01eb7b97e34b10ada84d174537896c6b584ca94d2b5d38646d0d6af154c9cca1a8af44a7b3246e2222bd1f03f2af8ae9377fbb1cff37a4b17ccb9cfe87358cf675d14bc3ece1f777d41d7da2ad7f7b8cf78a80973626d053649cec51900061a18f7310df45609d0de016d5cee823e86311947a84d6602888bc104e0b11a55ad1cd203fc0016146df5dfb9f6fde107b2e7e1dbb485b5d17ea9531464af7b71dbc1ec70e96018fad3b4216acb6dd1e1038d648b7445d1e1ff071d5c208a9d44d3d9f8a897b4db6e929a393670721c6b3b5e274e5637794e54481ff4002a94558cd2690c05135f61305467c67516a83547f2b73c7cab8788a3b907a6fbbb59a6bccc2fde03fdbe6917b335fa419f4527b4c04b4ade70487ddb8eb7e70127d6b5c5e93b6abcb3c612f89187393324e70b09034b9aa2751167fcb02b4216f4ecf17601cf07636799456d575e69d460a3973f9693889cdbb263d6f42056eaf190db494edc19beeaa05e7549c8ebd8ac8458172e90d1b3305d0e6c12da14a44175dfea0d9b85461b8d219688d3919a439e625d14156bb9c6aca0617baa74b9b8d847e94b797a54d83fe1785d5c03337c86322ce5fd278dfad6019c4b5abc41c754788cb5030067d0c58ec093f0a53480decec3dc5f13083b26ea5afc7baf06abeb0f2563d563e3568a0065e9da8d41b0e554f03d611bc1c5e13588007a3ee42a15ca72ce73037644734602e3eb6559f08fde65f6853600e780fed1a31f2b1d9917526322b3d902c6d21d168bcee64f4b7a76d86c36f8a208bc8e0f6a834e7b7ce4be49a6cb023b2259dc2a805f25522605e365feb96ebb5386bd67413dd8bd79d9489d5fba003968b3ab64b5cfa06ff03effe7707d24644b9a2d48c7c3dfc805e54a747a62f35549a009b10fdf18b3f94531328bc90dbc9ae67f205fc3078ce52e11bb2429a868bc78d60df5f495137d00a8fd7ca8769ae6d3caf2fb252d85a38f650b8081e652818b5b7ab4113c3a53ccc37fd57c0cb1b11c4b2ac81ed42a2ece7385fafde185df1c1647a39d2cec9ebe6244dbf20308de526f261e67f29bcd5a267225103050603d29b7a3d5cd98c07af1342212b48130b14fbe382c1cc07f402f353dda208db86b519ad6b3ab68e5b136a3bb13e55115ea89045211316d00dd1761427e8e82ee6b62576467dd6a9aeb760e82d471b1055649db16afcfab9d70144646ba1cfe56d04d6d3f7d784470c9b20dbf9a3600234f06b14c0f6741c48db5775c413a9798e6decb60ac632c10d48b02fb0a9113dd56610c062793e80c7aaab31d34122db241b1d01404ce3f3a915a1c0a226aa4f51ec82759943f8f98653a5823e7a66623cfed17974ad6cd40873a9694cdefbbac831328911f2d78c15e6ba262e33aa3488e63947578b8bc995a9e46cbf7b17307960d0dfc02ab63eba3765dbcf8ce8481d7d75d0550c3e4b3ad05f297dee4f72bc2c575d789ca92ed9de4ce25a4fcd88ccf436e81e738aa588ccfbfa44f1391aa6c7d0152c44312c4f6c56ad5e734ca5b20e27e3a4c887c71b11a43bb92d9ca08e35c2fbe4a3001b06ec6c75e89ad9171a9ca7672a12f1f8e9de5226c5122025055fee4d935a2507a3acd3d2768825a68db608d4e836ab2588e5c83e46c50692730886ca488f9ba2e1cd971623dfac7687e5aaf4dbcd08aa10df5b0225cd373cb7670e40ec011260b017ddf126385d50847e356fd0dce6df75766d531158fd3cc4aa0e25f0aab4069ffff6a960d125b724cbd06584ade12fb960713a237f520de07b7215fffe2539325fbc5619e595d6b0bef17ad2f91a8a88ce943df86857b96606f25373495fe633c105420e9d6a95af3408efc41372b4ee888be81e95afc0275c77296ec54d8f6c6db33c73924d157fc0cff4a84cac4dd514fefe066dfacd8eba080e4fc4b9e8f91a743382cb700bafdc20dae8d1ccb88c8be15b276e3938fc0a23d67a7dcd0a718196f04bc758e52709b671cdbc59e2a7f0c51d8c966376950c0dd97c26e1d7494d60da55b9857b35660bacdb37eb00f5f4c6129fc2186d90b050ece20223ca85308720afdfd747796b053849842e4dc0167cf912c41d6c847d265b66777b03fa4496d68fb6466f479f3788d3f07976c147cd9e3517f6aa8f1b04afabd27ad21c8df748c0fad81c158a9e900c075590a858ff1807cfb72c1bddacfe16124e18bd5ca14311affc8236ecb02c5819425148d16de34653e95399dc58a0f1324681cab210c55a0e06b69e1fa86795c10a78c5271dd07959cba86d74083018d4553b4eb97886273881e573cc9a5dbc2e82a7afde584591ff07b1ae0f300b5b417dcc0a0e05f97d910520a20b3f5affa537868d756adc1097e5d79a88172606fbf5c7d205576428c166700a439c84ff58ccab4ed2f4935302967f8bccb708b77ed5db2f0325ba085b6b71d342b0fc46bcd4fff7769837393e4f026b6a4c2140c18f132222213c2bb3d3d9862d96faae98b1b1823b20d27c85569408ebb79aa704fccb47a3900eacb0928d4292435afa4acef1cc37e1ba05bc54c65590c5e0832cb05c06ea0c08322fe768205c2a3ade3204ca52beef64a65285e461f8197d1adc6be0fdd5ab4890aa9fd03857aeac7115905fa875d4e6839f7efb743c5128a6642848c988b69ac0310f17f7a7e7250f22b33ca434ed5f86768959b2b0293d8c020253b016569c295d4b4caee44fbc49d29da406610121aac0595a1bd9998b9637306d8b2e86c471c90e32e6e60dcb8857499a0b64aff7bd091510dc0c8001e78f5ed7f7418fc7f52c0fbbcc35221171da9bd40120bc695cd09bb5958d71ecb1d8e82cdc129bd1bd7187e55d6aad42e7429d9381c119ecd32a17ee5c420181baa30766d35ec8a946255ec01ff6d0903d04431d5ea835a3ee01b87957e3da0c9fd1b85c5e18306bc8f1fd0259fbf54e38e78b3c0a9279a9958c7fcb61c0b3ceb81f7a734960a9edd0701422ab833518eafc05b9f1ca5b7c51b59ab0073a027f749a2e37cacbba319aeeb3a818f592b6baabe39d8a6e682ded05e76ba0ed72a7817bc7904fd80892592f677230d78fc69f834c378a9330553d62e7bae456de90e6cb5392fbd9319e9b88935207fb86580b4f8dd31604b4014972048b1900085b48dac3048216b6cc8062339739ea2cf7a68ab7b803c55c7412aef00714ba29e282b29ee329a3664a052204489a88ce2a458fb838e20a07fc400f930470eee3f9779d8c6c4e78d5822959c721b106872cf595bc5187a155b78d5e0aad45f7e6ce76a1656c301f80cde70a85d9b846708df8dcb2cbae8fb962212a1811269e3955d9acb0dfbcf6b2bd0bf3d3171c4eac9d54b227e25ba1c7656529283e9671c1e46f9752cd8fb46e0f6ea850f9a596aca38c6f95ad792ea3a3f8c945fea64839b9673c28cf3cefa871d772011ff1e0064d999f88b4daaed6e6e5f7b55092e33fc6ef0bcb5f9bd51eed61e8910c79f439dd94c1bab5fe77d9f5c1dbf5b26d0a42a322b42e2f18b9cffdca42e9fb948f257d8f27b4f49bee88704ad9e674b26c956075fb5b8c65a9b2d41fd56a20ca4c0da67a01a9a352202d73c0ce132500cffa558e92b848d9b146cf3849df1e70f0536ee5d1475b53367ae757e6636a2f118ef9bd064ef6a9a3064853775b279cc66bb2785c50faef771c1b7b7a737c496af4fd35d1b0258864b45198d211a1d316b34af410b8e3fff0db979d915f6e1eafbaa8d3c696fed7dc82a2940c40d1cda767066cd43ebd29afb47ed501148bca43cfbfd66c40e72ea6a2f4a3661fd0e990757e409bf1d2af6d5e1fbb5b1258da07ecfaa7dc44a7df64385537443ebe776bd87a223fa68e11d6a696e18c05ca0059aad1ab474abb931873ed55de0aef23578427ad519b4e98977b25cf2a30aa209340047d74f4d19801c19ccf18eeedf6c32bf227d448facee63110bd14d104ef0f4d699e0431a83417d3be8c91858f467b5ee945cb6d9b04874382448ff2b2a91b05df076e1c68c55cd6f75bfb3867e0b608fd7ff773db79df6d98ad99404b678f9d45f8ebf01df13333f5045404765415afb9020c569bd1c0e22dc45c9b72c502005c24af5313f40a30d81e3b9851e71d0ec423fb173ae3d98e0a40e514132de4d9301454d5ac5708e97ae530df13881c540ae85b4a416692cd4d79237a82fcc6bdfdf6a66843b0890265e2425246c0e178a01b815c4d87f003cfa5c24ba8f20282060506c76e9851c3d09af1dcc46712936c35a4ab2134b77c7652f42445fcf17c6a4261d2bfbccc0fd0a3b414d349ba5aa5809f2228e079cf16a1c3f523633d15af3d8985c2e09c89d50cdf2486026bf33a408bffffd9c7cbe55676ea7e0a3292e700fdb4f76792b1f37656d7e7f0e63c16b47457787e026526df241f20a4068a54fbcd8ac775be4f976e0841d23e29205591c6d3d484aa68aa4fcc5f219da43fa5d2452e809667d82f02fad5965812d30429e9c19e1297650307db4313c9ae0850a6107e10b96c01c78273b7bb147d7db71743a46094e9245eb54867b723142955f777b1dfa713a77e9a54d282ce71202be89b52f66fe7e045edad550b7e96451209cfbd9ae4aca5acc2ec1da6d35b2396e268a13c790b437997a87a9aea2ee8e6d75ec878b6c24593344bc36b7993e320dd248e90ed096542eebd429c4bb6e05238b658c379ae7d7b9d03d62a7c93d006ccd10936c4a50fa6d40ecc61a80c8a5a1710113a619807d065b02da57eeb8b6ddda37f20125e3855729bb6fc046979416140244f74a26a33e842a197f333162a4d37573acc5c50fdb3da3da350838981e1ddc48251b1a888345d90756cc641ebcc7ad6c27f827b97a99aaf874fd221bb9123c1dec890b78c6df219b6e93b67c8852ed550e4200c7993c3bcd789c9ed89b4a1c6a7282c23480c816603110b4012968f6004dd60d0d096163a6e564830bdedb4e17592981624c52bb1bf73d03f9de0cb59488b58e4a165f1704177d02b409d5a593df95b06c7943c07041d1661d30645149d62864883577348d9505bcba4548b9b0ab4895cda435934510df75815c68d174910174fa2c1938b61a64e1ce7c15b28db64e142bd922be6649ff7bdac006b8dc7436ecd6d5a929b214ff3f15bcfe3fcf98746d2b43d8661b184f18c01a68d0cde1b544108782861b7709a74e7002fe9dddddb0158f406d509d32e0fba362cd49074e25862392fd920d5683e22261a4dbb05e542880d61e28460dc7986195cd11a24d11ffa03994f7582a4c500b86f119a72c015fbd01f01998b97bde4fc303a81f1379a179fa4f3c1053462ceda4acc3afb6860bacdf4ca7ac0654b60bfe83076ea9ca2832dc80f5070802d989969a50f2f8766e1ff60cc6dcfd2f66b6557fac9f2dc43896de8efeb7a79e164d2627d9c43988e1ca07c62ce824a998c2e5705acba6c896be5807d7b2750efe0b34808fb76b32459504db302f465b68aa1bcdfa43a33fe2a43122b8aac5ff452be2c73d06bc1dce4f0ce1621ad5d88e7681f8c31248be0d5db88b50735270709c798e876e9ccb0f00eb322fd5d30b58e0ebbbec4c9e3a911d75226d71cde0966241a186c9eac25bfedf2aa3f0508b94c8e8c4fc30c0910b19d085d642f1a96592e6e527598eaad082c38b89b695eb9c8d8d8c0fe714690794ffb10e429cdaf51f1c0a3682f58805da6a15d2b18c98f4e46cd8353e8fbb6e54e14ee331f8b82fbd16933a22904a1588921fb8a388b9ae4e7d781ad51d1917fbbffdfcc0c6be3ef5b5878b4ab2ea67d71f151565d5a50308b2fbae84fb93cb323edf4d3edf2a7039a851abafa9bbdacc1fb4332bd4a03f489a683cec29473ff72c8995794a15c85cf17f904a336e9a43f0be08a5e6d7a089cfa2b00f8907e676dc76bd215f438cd27d163266d3b475056650b9c76fa2dafce2ea7bc5beef68da2553efeadba14e562117bbc5b032dade7aef14166e873d8c625b0267c4f2efb6dffa9f934b3df69f77837b7e14ac6a5042560e52501626da37571d0847f0266884b84191ff0fa780e2683b4b718b2f724b238aa046ee3c8e974b5a48323daa741700e30f638af9d3cfb218a840d991accb1c70fa6f5eea0e862226945c9254ed2093c597a3ccb30745f13e549c30f84080244da6ecbd30c1980b527d6614f78173ce0ef608f02290fa8bc799f035fc809bb16bfac6130c7d3895cc068c3ce964c343961f29790107838af6db007d8846bbe9f6d3dbd5e78e0dc04d384043b6fa0760d77b096225df5abeb64d8ac59aae4e5efc914067afffdb752b9351bc28b976defd52e6425f5d1735ba4c8281bada1b68e0878de1ee02159ec01861c3ec030d915f2956a009f225c0ce4541b5c813803b17a15fe590c6f23a0a6dd49cc4aba5028c34c1c1e05185d88155f482aedc62ddd6eff7bfcc1e8d6fbcf136082f7a9490469f581ef5bdca3081e7e9f429f135fd55e0fb36953617600776877e852c3520acf2f72f6f2d87a4ebf5da13c68ae344de3365f76bb1e808ec56fbfc65a80177f68facba3c8b1a79287130a8723eac2bc4caefd6366a79bd1b7b4aa38b1f89a8b95a519cba04c4559f3e9342b6b9ab9b83ccd0b1ea24581c2c86b537baa835ecc29d885725c127ff1df56c759eb08e8f55e699bf50914dcc7b6969ad99d9ac15be756fc0245de5786d0303977cdc6a11020cc8487743f5ba7076182fbb40f86e693e1573ce6617fb6a2a3ead912dd22d8000542848cbf68b508c08cf4c8d64ae24cae52ab3e321a563cd3b30eb6e6b6c246e43a3377981c4d3da975e8ee4f72ad3c1e28877006828278349bec00287c3447021757ddbf379cb2874825f871aa773eb173eb78b9ce4edd0719339fe5669cc89999b511a68734d83452e7bed51327e2e534c4fdd33ddc0c43be00254fde6c99297b8fa496e330f5f0c00d5f695c2fe8acca19524857d47c5177847bdc0ba2621060f05b74c27a87d33ba4039b7a16354b8695d1efd40d724c460a3e09675717423610681d26e43c734343a91780630c4b23889cc3ede210e3f8cafc4ccf5be1d7f9970554a3ded35042617d09fd2c340816b2f87eac5f45d35aaced2743c72564cc27335d89cc338cbae5b5d47899a77360d7c2ede9f98e6734a7011663ae59d52af0479b841a9fefaca0abc7f46b091ebc92df1b90c1e9f20984a72011bddfc02b663f4b10bbd090478fcd26f6e41401ba917bf1c5119562a1837cacdff80aaff06eca61f620d02ef9eede18b582b13ff79228671e84f4f7f9f74dfa19d1b2c9932fc5319cd343fb05b3a9d69749a4f2f27341bc5cba555b6ec220fe8e51fb1be33f37306c858e07e16bc58d94f14a0901401437b76ab21c688d11d9575b14d9c6265cdddec7037c035eee9ecbba8ec1fb92d93800b2eb3502a661d4007ee5d8d9d85fa4d7bd38775a9a2cb194decd105ff137c44c3ecf8c438fb59c25d01ca47dd837c8024adbe5541739d778cb8e6434b26a48f3fa5dd87fc5ccd22107ffc44be3daf85d449bd25f96415fba16337689df030e8a478c3a725aa3c532f8779fde8ef863131882359b40ddae825c9daf613a6a84632e7d74d3d9d2df641ce9be43d34fab12158d9f7bcd6ed26427d286563b21b786732f6dbbdad4b4a950de96d3bd0af3a464dec749d3476ec5e898b94b09242f9554aa2f1efe3fd6691ec7220891224424214a7f39310a3d8d4e210d3efaffb82e3a0d4eb6c6a2e5e887151902c0f2f703bd2f74184ec40c04cdb58b43b79e15eb1316126396f3725d949fb57aea8d4298c62bbe9ed6c3695a871a6c347c602da08dcd1d912ccc697e40c709e89bba011dfd44c2e69a25f023ffb127ad57898885f6a7ca2319d80aba348d65bfb039a9d4f884b57907a3734c19ad72ed5d58eb09f50b90a8bda65580e624c949eed97d4ec15dac7d7e5aeb2b5b372c0f1b2a3edfe684248bbf56e20945ea31a58b3362c4f060265fbb686e9ecff476eff66d491ac2b9aaf9b61d30cc3249f3365c89b15d939e670638321772bb8855461a7ee739d13bf830d86fde7d9fc309614bb0ffba4a4e9336b57959f1b70b65100c6afdccc968b5949a5f136c4d72229d540e03cbe8de64d0c7ce40e986912b61d3e2e90a7d0736a57e1767ffd8d62f83292ad2394e52cd24308f4360d233408e3c7b6e28a4b149601de3f513ce9202a43e7b1663e18cff0c6bb3974992dfbbc79c2f3b5d19e17d5dc84ff53597b111f0a4380b23bb5cdb301d426e543aa0ce8df38deef956e1fbc998bc3ad11ba00ab6dbc5f25093dce7a7d4a76e46ac3afe55cbec14686a6c95f56813751788aa78732717e60ef18d2c7478846a944f6fcc357a6b0c1e9be5f83f26a5eb4dbd4a552c3a121599c5a68b799dd2bc4d0e355573dbccd9280900293417462e1069e6c70926151d292671fe57c65bf0e48d6fc33e13a42a9a364be38bf383ab03bf66d977f2f788c52d89048245006426e9b946ceaa431f35465911af8f58cb06d77ebf6e04c94fa1a860beffccbf5adbaf7840b9ab472bb267c2a9dff5d080a4563a941e6570e50a5ffc7cd2d664ea57c93b0d9d6fc2e483989105edd08b735173ea5fcb3fa3aee172d2dd5b393fff38f8083448e05373981afd60e8a993368d070057a5adb4893661b9c020d0b6f27ea7e0c7cb0b119c8389f648e5dd57464c1dd452d288f066707b7850ece3ace3523e582fce2c312dfc0f657822f072fc3ee01bd336da8d2c483640b6ac1339bdf0bcd6e5af107cc4633d62e21df2b7956ae0ca11ccfb51e86b18784cee78c1d3ed322c2730284f3dc27a3a75302de384ea64bf5aafef01546be74cac7acc3026d65d97f542e255d9933f0b47d8270a0e0e483392aab73c58966300329fb2e9b5b241b06c96cb91ab310756e17655c66f07ceb4e2af026ca289f5ee504387e22f4a30c991e14ca26459b7d0fd8d8700b1dc7e98c2627ff19278d2bdd0ec5b35d97fbc382f8781a0498c3bb09b97772c13d64f982fa85f377e8e630c7cfb1a47c438e2b8b9075dd6011b2f011d6cd9411c22029adf23334858b9db008fbfd70dc3aab71066099420ef99d1f8871436084dce3c2442917955b96585bd71524477cdce2842838c2b427cbc1641e138154d8b89bca765b2c72fc3cb939e59f70ffc896c625c0d3d81dc9193e53eb3007428e2e9dbd3221b762e7a856a77e514758fdb8ab7e42922981cf4151a8c40e4b44448884c5dfeaf693282a367d850085c9b1128128b42d49dd265d9fe035c689e6ecc9956e4e357f93b5359c04076eaf0e86294510608c28c301c02b1a0198a9682328d86a402c8b200883a22822b671a2a3280b966db1506c24141bcd596c14d702c0a4d9830530f221941a90d0fff615fd6fff37b2b74c01712c1b297127cb291f07c5c509590e87f7a6b51cda7095782c8969dc9a134f34e319cbf34f6a5c9a184f7c591ddf37cb91d13fb5b0a45df91f185c5b9aef0ae1d60a782296e728ff89cba5159fd86339ddf8a72b1747c072d8756d187cd70eb7c6f55d4a4b59e6c706ae6d84ef3ae2d6ac78221bf73667393ce0d68e782218172769494ce2290be1a1da2cc715fec98467ccf64f4c2c1ff27771717396c403ae2dc87779b9372c96c3169e32390f156659dfd7cdb254c885288e8925b184e748c63ffd706f502c87285c5b04dfe5c152b6e5a1ae2cc73267580f35c6ad997922054bda135f75b5a439fa2a256e4d8b274e7af6ab372796c3136e6d7c2290e70d800b09cd72e157cbbdad590e8f5cdc6f499417c76449b4dd9ba2e5b0ce72b6e8a1a2b83743cbe198a57cfac9c17216e9a1d258d22cf8aa086e6df7c4aae5a8e79f2cb84abf6597bcb80096c338eeadc97288bb350d9eb8e8da847cd7978b336249fce0de942c87b4650dcd49c23f395d9a1c4f64ba362ddf05e8debc580e6b584e80a44df155594fd9928742604943e07fecb93728cb21efde5c580eef2ca7009fdb736f5e96c31f4bda91ff41e7daf07c97a2e544e19fa09615f2c5b394507e6ab11ce1fc53a05bdbf2c4394b49a5361bbe8b8be50cfe53935b1be089569673cbf778726b3c3c11d2525af13532d786e6bb40b8b612be2b89a78c808762726d7dbe2b86c7d99d87c2e1dafe7cd7a2a78c8c872a7469b88feabd21b01ce69e320f1e8acd9246f53f22b8b82e4ba2d49246e67f8c7169733c51c79206c257e559ce04be876d39145f24b7f6e589782e0e872591825bebf2443bb796c413b7ee0d88e590d0c5d559121158d2c687ea5ad68897b3e5277c773c67ef95be788e3dfc930c4bdb12eff55b7ef53de02ae996c4adaba4c0b2abc75256c1439d599ec297c7728ef9a7d8c5615912792ca59a1fcb2c695a7cd517f746c27298e6daf27c570b9716f6c4a7c7d99c87bae129c3e0a1d22c0be69bc572c4f34f822eee842591cdc5d1b02402bab548df35bbb72f96c31b9ea312ff44c3c5f196c331ae12d59218b6948f5ea6c57242f14f48ae926d49ec621933f44f705c9b00dfd5e5d6cef82ed972e4fd53985b9b3d51805bbbe189543c67483c54d6bdf5b01c5e7071552c892c2c250f2f9b7a8eb47ff27271482c8921dc1a19df259fb10afea98de74c83870a62b91b55aa5a76fdac045f31ae126f491ce3d6267d978ea564fa99c1bd75b11cd2f01cd1f8a7209605e32500b736c11357b835ad277add1b18cb210e4b69f51387254dccffd85a5e2dc740ff94c173d6870ae1e27a58122fb84a4c4ba219f796c47228c25592b2ecf22d692c7cd504cb9dfc662c65453c14a025adc74b5db1941df150122c3724650c3fbe7195a62cbb98ae529265d7ecd68878621757ea7e4659d214f81f192ca7d63f21b0b4cd7175355ca523cbaed833a6fb27272e2ec9d2ebbba296b2841fd5b835434face1e28c2c89e3b5e9becb806b3bf45d4cdc9a039ff555733cc747ffc4e83902f14f8b2eced0923866395ff8a7a965e597ccad05f1c4e055ea2d89645c5b03df85c1c5055a12b3dcdb11cb2108cfd8987f1ae3d6724f2cf2ec1c2f0bb8b5229ea8b5944ce6cc85877a62d9472f65b786c21383b836abef1a736f6596c322d7c6e8bbb0ae8dc7774d594a29be06c1b5497d579647d9d74381b0fc85efd37386f04f3e962da33737964324eecdc872382e0f238b85a471f155c3e50ffc715c1b9bef2261696be2bd80cbe9e79f78b7a6f4c421cb36f9065a5607b99def7cc6a8fe498be504f34fbdb8af25b18a2b977e26706b459ea8e5d6a43c31cd3336c74305594a1a7e1c2ee7ef732f2c69247c159fe54e7c8f2c57e25bb594487ccdea2a55597601706f412c871a5c1ca02511cbb579f9ae0a96b3351e6a8d25ad81ff91c352e25e02ef0dcc7238756d70beebd0328b65715f34cb59080f45c43336e79fd058ca7678283dcff1ea9f74b8b5e177f958c68a0f35c072b4f34f15dc1b13cb6109f7f66739bcb28c95f04fc3e788e49fd8dcdb08cb219a8b6bb224e29673eb9f9e5c5c174b220d174768490c736b7e9e786839f5fc93ee71d6e3a10e3dcae278280f6e4dea8909dcdaa3277a716b143c91857b3b63390ce2de84580e0bdd1a1cdfb5e3daa27c979daba465d9e5b494e1792831d756e5bbf43cce6e0f45c2b5fdf82e2d4be9c6dfc65c9ca02591cb520ef132259e323d0f05c1bd155a0e1d58caabaf4d716db1efaabab740cb6196a51cfe6d8ae58c838712e2dec4580e77b8b73ccb6194658778197bc6aafc9317cf58ff2989e58ce19f02b8370c964330b786c313abb8b741cba1977b8b6139d4736d63be6b83656c847f9ae3d6969e48643952f04f849eb3371e6ad2b52dfa2e2d6ecdca13db5cdc014ba2d2558a2d89584bc9c18f655c5beebb985c2523cbaef1deb4580e61b8372dcba1d3bd41b01c16706b5e3cb16b390afa270d96b40abeaacc92d6c3573d5ac6820fd57471b9e5308c5ba37ae296a52ce0670dcfd6f96a5d9a194f1c9f6317ffc4c3ad1979e2977b4362390c6139baf14f435c5ad7139b9653c9e71c5d5c9425b1776b729ed8c1558ab2eceadd1b07cbe10317d7c29268e7e2a45812535896806f9e5bb37a2297658cc73f49716f6f2c874b5c5b92ef42b3944a7e4a716d47be2b82a5a4e26b639eb3af879ae3e2ac96c45e5b9cef42e1e2902c89b2e5597e36eead88e5d0835bd3f344122eeed092d8e67156e5a160b8363fdf25c3521afad18ca72cca434559d2dafc0f3696138c7f4ae0e266cb61d6bd7db01c9659c6d8fc93f0d67a4ffc5ddcd692a8c3d296f55e4e2e6d8d27de9e3621de8bc8b248be7fae0d81ef82f39c83fe49c753c6e6a1c05cdc0e4ba20517e7b41cb2717174964427cf98997f22e35176c5435df08cf1f050b68b03624924746b6c7c176e79ab5d26229632eaa7a1a76cf650442e0e8e2591898b93b32436594e2f73caf14f599eb2161e6acebd91590e895c5c9f25b1ca32e6e39fa658ceb47828316e2d82275670957c4b6219cb19e69fe4b378be60dcda174f2c5edb00df056639faf827089634455f55c2bdd1590e9d2c279c7fba5d5c044b62d55346e5a1a42c1f43d2f27c9597672ccc3f6d3d6383fec98d5b8bf24434177767497cb2bc295d48659e33211e2a8be5e4f34fbb8beb7208693993e0a17658ce08fe69766f4b96c3da524a29ad8c27cee534e29fac6ecd8227b6706b8d9e08c5bd5d2d87315cdb9aef1a61d934e6a8c33fc57067931eaa8de58ceba1d8b838e092389fb10cfe49d2adb5f114fca8b59c74fe49e9cadccf274bdb1b5797c272da9411792803963636de2bcbb591f92e0eaecdf75d08dcdb05cbe1978bab614994e0da66f8aeab8b03b3244e2d25d5cf1b9e312dfff4c5c569b02436b094e5f05079aeedef2ae0d61478229c5b0bf3c43d57298165976e2919fd18c7723cdff1da54f82e2896a39c7f9ae0def82c8754aecdd07739bab5324f9c6069bbe1bd9ceeedd072d866399ef04f232c674b3cd416d7d6e5bb28b838dd72b8b59c6bfc5395256d89af82b43c84deb8580e1b2d9b4595982cbb6cd7d6e3bba82c4707fe69cff248b5ddf9ae44f796c172c8c0d256c57b2959d20e7dd59f6b2bf35d1d2c6722c73cfbc017eb190bf44f5c4bf9385be0a164b83535becb766b273cf187a52d8af73ab21c79fcd303cff18b7fea6179167376c043b5b09cd9f05054dc5a922786594e219fe3b3a441fd8fdab561f9ae3e1717c69298c33326e9a102789c593d140bcb068b7b63495c62f9968c6249933d94d7bd89590e07b8381396c435cb58190f15b59409f0504a9ea3d73f1db19ccf57f69459f05068aed2004b22f1da08f82e062eae6b4994e2dea62c874ccb980e0f55bb36d977592d6d44bc57917b336239fce0dae47711b9381d964441b7b6c677dd9e33837f02e0d6def82e00aead85efaae219e37aa8a9a504e027a1a70cf850075c1c044b6201cbeae42c838702e23923e2a1b4588e74fe8982a5f4f2e3d2f216752111716f4a2c87232c6d67bcd7954bf37a228fe56d5edfa3e58cfadc9825ad88af7a6239d2f04f2e5c9c922591b6a425f91f756e2dd01355b8b53c4f1ce12a3d5976ed962307ff64e82a5d5976352d9742dad0782f2cd756e4bbc43cce7a0f65c2bd2db01c422d6900bc541517b766493cb21c873982fd1312f716c27218c1725af91e065c5cd37288c65282f9b1e9e2be2c89409e52809f212ca5a01fbf584a393f2ab11c05f827334b49e8c7316ecde9894dee2dcc7228c0ad353d51c9ad75f0441a9663967faab39c4afc1370d9756b589ef8e6e2c6e5f06a99c6ad417aa21bcb89c43ffd9eb2370fc5c0bdbd590e975cdb9eef7a6139e1f827052eee8925f1d0b54d7dd702cf297bdc148f33051e2a8665ad18675f1e6ad1b5357d9794e76c8b8722e3de80cbe15c9686efd77224e09fce5c2527cbaea5e5487ca9eecd84e570cdbd9db01cb2b93747cbe1064bdb13ef65e4d2da78e2d2adc179e20697367c2200cb99c23f453dfb4271332c897d963419be0a878ba35a0ec36e4d8427eab0a449f0550f2c6d57bcd792e5acbd1296678c8887525ad2ea7cd5968b83624944e13966fdd30ed7f6f45d572ece86e55c12b5b8b72fcb21907be35a0e8db84a4d4b221acbb1f81af094a5f0507196b434ff438d8bf36149c4e0e2c096442b2ece8225b1cbb283bec2e5706ebd3e22ee8d81e53080e57cfa5c03cb6ef1d2b71ca1fc139ce594f34fb865997c2558be45de6eb749c95286f971c9ade978e2916bdbe0bb8058d2a2fc8f3f1797c192c8c032d6f550429634e0ff98b39c559f6361295718655a3c140617176649146029e1f85b09cbd99f87d26179999fb8a45df05568ae8d84ef4262398fdf8a6b33f35d862e0e8525d1cdb5317d57021757c192b8c0ad6df1c4392eee872531836bd3e0bb7c58ca8278a83ecb3af1f2b69c82afedde86cb2114f716c17258756f342c8780ae4dd077dd7095802c896fdc5ad41311b8b8e092b8e8dedc2c874a9eb1480ff5e3da807cd7967bf3603924b31c87fc139ae7accc4335bab52c9e28e919b3e2a17ccbf9e89faa6e0dcd132d58ca017ed2706b429e58e5d6f63cb184e52d7c9d2ececd92a86439f1fc53eeda44f82e232eae842551cd72d4f14f0e2c673a3c9415d746f55d0f2c27a07fea2d8bc1f78ce5ac8a8702e3e200580ecfb83642dfd5c39206e47f4c2dcbe85bbc380796442117e7c292786749fbf3550e5c5b96effab3a479f155c4a54ce36f56ee8dcd7288643915df2557a94b22a4e594f23d9696f3c73db1fc03d91fdf3ab7b6c21389b8b614beeb896b03f35d162c259cde2a580e17b84a50965dbc65b37cad58d68797f2d6caf8aeb98ca1d09b93e570e92aed5812232d6793ef21bb3624df75e65116c64369b094e91eaaeade262d874a2c473eff34e8da3cf8ae219eb11f1eea7669b687fabab747cba1a15b137e57ec2ac925318bc7d991874af46cd7cb21f766c172d8e53942f14f362ccbe58bc592b6c0ffd8604913e1abf43c654d3c94a0e5ccbd5217cbd88f7fb2e22afd581227dd5ba3e5f0cfc5c9b1243ab19c50be07eede6e580e275836b1b4497aaf2db786c013cb3cfbc1778d67d37cb7b8b5454f6c622901fdd8c592f6c557753d279a7fa2dd9a9d278270711f2c896596eff8ab58ca2cbe66e6e29e2c89bb7b5b613994f39c0d1f0a8ee54cf850685c1c9b2511c9b5e9f92e176e8df744abe5cc88870a2e6368fea98c5b73e3bb785709b8ec9a4b5a00ff4380a5d4f3a316d756f55d105c1b05df55c37256c64345bab82196440e965289af19594a39635ffe298ce76cd043f9706b889e28c4ad297aa2111727b51c4aba382f96c41a9eb23e0f45e619f3e2a17a5c1cd79268c49286e8ab005d1cd69228c3c5215a12df2c1fa246c2137958d2e67c5596e5f4f1392f4b9a99ff41c6f240dfdab5bdf05d575c1c9f2591caadd9f0c4299693eb9fac2c6353ff74c572c6c3435db194687e24736f5b96c3a7e54ce39fa85c5c91e5106c397ef04f1f2c87e31b66390be3a184b7f6e689852e6ed192c8e7e2f02c8950ae4dce77217a9c2d792845cb292ececf926865d9dfb7cfb59df05d4b2c675e3c541957e9b6247af19c4df0503c3c638c1e4a766b6c9e98c1ad917962a0abb45b12c5588e85fea983e55dd4b6e3bba25c5b07df25c4721cf44f85eecd8ce5f087ab9465d9e5e3ded0580e1d2dcbc3cb2e634e3cd4eed2de7822ef5919c6d99b87b2e1d6d0f82edaad019fe8655901be776ecd8427fa706f9296c3242ece8c25f1878bb32d875d2c7fce207828464b9bd7dd512de718ff04e5de82cbe1a28b6bb32426b9352a9ea8c6c56d59129fae2d84ef2ae2d6387862a36513f85270694b2f45c05306c54359706f292c8770eeadb81c52716b4e9e4866390ddf1f17c7c3923868499be0abc6dcdb10cb2107b7a6e4890d2c6d53bc17925babf24436f7e66739b4b2945d7ced8b6b53f35d22dc9b01cbe16d79c65282f136e0a57d3dd1c7c51197c428ee4dd072c8e519b3f34f692c67a27ffa716d4fbe4bceb529f05d7e6eedf644029e23a47fcae1d69078621817b763398c7471572c898a963135ff64c67296c643a9b1946579282bcbc9e89f822c1ff3cb716d6fbeeb844b037ba2d3bd89b01c9eb9b82a4b22004bda97ff71c3523e20e5a21fe1b8b52a9eb8c6adfd44a87bc36139a4e0d6863c51817bcb62397ce1d6ba7822f1e262cb21d672e4fa2747f7a6c172d8c0a5457ae2ecd6ce3c51d0b541f9ae3917575c12a958d296fc0f3bcb4e7ded5ca50096c4386e0d8b27b67165d34f0d9eb61fde6bc8721dbe012c631ffc531ccb990f0f85c552b630c733fff44789a544e147366e6d8727627171582c892d2cc744ff74c2a5bd7920032c633bfe298a8b336049bc5d25224be2d73386e59fb4ae8d85ef92e21973f24f5bdc5a0f4fcce2da7edf45e6d64678e20ef786673984b29c65fc539465c76f996b1bbf8bea29737aa823cfd18a7fc2e1de5a580eed3ce715ffb4e4d69e9e78c0c57959127f2c25135f7360d91d5f384b89e5c7796d6dbeab84e7cd77219db94ae39278b5acf0658f659fbe739e726ccdcb13ef5c1b93ef5a7395644b62f0deba2c87521737c692c8c37244e19f487894653d5406b7d627462df7e13bc0b21cc8d1867f7a614973fa1fe3723af91eb46b33f25d662e6ed092e8e5d69a3c1182e508e69ff25c1c1a4ba2a325ad86aff2e1da40f8ae47f736c772f8c47376e8a194b8b8289644448fb3280ff5c2527ef0a3f0d66a78a214cf9800ff84c57356f04f4ccb39f5b93c17a7b41c7e716bba27525d9b98ef227471232c8968963632deabca723af14f4796ad529025718e5bebfaaea76b037e57996beb7d9793a59cfa09c2c50d590e8bf7966639042e65651eaacb733ce29f1add1a034fd47371422c8985eecdca72b8e3daa2be4b81e53c7c85dc1bd87268c5b549f05d8c9e32161e4ace7354f34f809632210fb5e4da0cf82e36cb52f9e6b0eca497032c4bc1778ca5c4e0c7309eb3f1a144b8b621dfd5c0adb57922a1e5727a83b31c32598e72fc5311b746e5896b96338b7f62726b513c31d2a5099f185bbee81bf594d91eaac892d6e8ab78b83744cbe19ba54ce1472e29fb6b52c6c698accf7e5e93b139c6649531996d169bba98d228abd51e63b45a6c9cc56252ce9766b22993c9da8eb2d1d6259aec51b78dd6e78f95002c65254d361fc7d272d7da75f8a89c3febf2b69495d7c6c93e4df66e94cde60c27ebd16ab4d87c0940eea7d24d77ceb6ec936c2ba7c6396bdd71933ae4ecdc07797cdca3d2944aef98708ff271d2d64d99938e9b8ea5794b3a96ba518fdd77ef78ec5b94c7cd8ef5781e008df66d994ecea5718f57dd770cb9366ddcbb6f0f441e80d334aa63b758a9ec64a7e6da3bb6acf4c0bbf1471fafd4bc7dc7d6718c498fe9912e800ee7fa78be1bb215ba265fe57ff9d36eb3ecefffafd41fbeb1e534fc2f351a8fdb9e7206cb5f8b6a59a91d7ce79f472d936d96652f052da4915e22303ef0ff120e87a28165b60c8c701e8084e70609af55519bf6252ca409b48e3a43380f20b49e19d1ead600c2f6ee088fe15046c7e0121eb586d63433844f205a2f4a243c7744eb1902c29da4d0ea960ee1f38bd6340821ec964cf88c0d612115123eadb4ae220246738384cfa468cdc80ce134f020dce94ad81c17adc641229c111ac2693b84f798547bf686f05822e13144c26e4d099f61113ed308f77ae23111a2701e3bb4e62184d64e5b085fb212e7aa225bfb48322b1c37fabc09677486705950b8531ac2633368cd684bd82d9bf02980d6138ef01813c2751e682dcb12be0405a0a716ad7d087bac9170a7298485c481d6b3495acf233d5682f089068dce3ec29de010cea80d612109d22a0f44b5696208a775219c47055acb1e10dea887d9b23084cf76532f5d89d32d2961b388221c6c4a7894b0dd6212be2405a07bc8d19ac714c20160aadd434aed49a5356d8870a72bb43aff08072b225ce6134e2492f058123bbaab709a0a5af778a3b68c0cade74ef82c89d63ecc68cb6023d2b22e84d30010be1405a06756b49e6f84d7ba089f6b845721a2ed6486f0580ec26990b40a2903e14e5848310d4908cf5d203c168356a71fe13429e15327ac8e2066d37e089f3bb48e82246cd301b57d446ab70010ee1487f0c944eb19132ef3f2635c93d9b329c27349b4f65146976d793a2683d6b62a6addda216c165284ddc164d62d1084f3b042f8a240c2a792ee044938ed0b617515d43a01091be788f0b9456bda95b05b3d6197c0b4f6c186d64e6308078b125e9502ed2626c2f6b4d4a65121bcc71ce1b38e701a516b469184d352d0da490be1603f84cb20103e8b683dfbd27a498138e5a5517bb686f0f980d64e4b089b5340ebf9438a95a4a8cde307ad4682a455483608f7e185f039068de632d0aa0f046ad3c8d02a1312b39db4847d94a8c750103e13101e1382573180c2693e848f180877824258a6236add8a099f39d1da890ce1130261e148ea138c56b38022ec186d085bc61a918e6243eb69139edba1d5384684d3b810de8888d6b248c27bd8114e430fc27d04b58e31123e4761b774c2a718ad96d186b0bd26b39dd4105ed3527b690a40dd5a124e240ee13430e13eaeba8f2db4aa1b62f69881f01914ada714e14e41e1d38db05b4084dd1a854f3ac2f28ed4d62599cd6309ad6943e1f34c1af3684258486cb658f64558db921e3b028089c8215ca643380d41089f4c919e3eb43ac61ac26e05111e3b247ce686f0591bc2e792b091b0b4ba93c29d24098fdd00c64e5bc26565080be906e18c64b56341eca66909a7b9d1635a96f0aa02ca782a098feaa25711d0c58cd8103e09d0aa0d81da8bfc08e7e1486b1e45682d1ba3759418c2650c68ed54451acb7ac2698984cf2ec269650877120ae75185701900c267928403f085f0d915e18b2409cb43327b56d19a464478941a7d2220dc094c58317ec29784e033913984570d89348f2484f33842eb19411af3a042380d72d40ac9ce1645838a704664089f515a3b31219ce685f06945eb458a8485b48170a72684d31ed0bac71de13416842f2969b35396b063b0219c868270da1ac2655ca2a615854799d16ee184d314096b3343788c06ad9d8665cc8307e13dea08ef9511d696134e9b4278941bc2e6b208978d21dcc909e13cf8089f38e18bf4089f34e1342ce1311384c75a103e854871ed8b701e52681592055ac77a503a2a289cc850f8223ec263298071ec11d33eba104ea482da3806c02cf34278a32fb56e3909bb45134eeb21acd29470b0205a8315a0f59cd2daa90d61b76ac2696a088fb9207c02b55e2481f04648d49e6d8413f9124e5b41f84d4b6da73384e79ab4ba6349ad3625ada27145388f086a85d4a6855481d64e615acf9eb0b90bb4a63d09f7c185567b06cca609207cf613165220ad6d4d66ed97d6341dc26958681d2b42c74e5108bf55519b061fb4ae8109ab1480f0c946b8cc0e90a7015a4f0584f3d041583870f459268d7d4012eee38ccec309617b6c84d3d0d0da89a8b51317c2c6f909a79d219c4720e18bfa08a7c9a1f5f4222c243a5bcc2308ad9dac08764b49f87cd27ac644582828b5894c123ee3123e173ecda0714e03617318085ff44738913484f730325bb685b0392cc29db210169206c289088547b5a1756ec9166d72527b968070226308ef5143ed991316529d2d261226ece4231c0c88f07945eb1980d64b58e2740b4ab84c0d61976a10b6d746380f00844f28c2654cc29d94d07a1e20ec6ee1b430e18bea0897ed787a32a0d5a628b3655bc24222242c1a5284cf0af7314697f1889a8648eb1915ad675184fbc0d29ae624ac4d89f01912e134315acfaa08af35994d9be4f41c406b5a15c2c6010a2702269c0686b05b3ee132335acfaa84cf9ab04b36089f05682d6b4038113184d3a4104ea40de1b111844f225ae3aaa8552988f0a5256de6d147788f8cb03b606d226608db93237c47a3329e3e617b7884138143f874d2dac90d61b7a6f0a82cfaecb1c5d348a7051176abc2632a681d75253c2768d01349bb43a2d65d9ed98d0ad09a881ac27940213c6683b03d3dc2674db41ae94a6b1a1cc2e71ce13ec0d03a27c1a0899021ec164f382e0c043bb121ac184784dd7a121e8586b090d66cb1d317c2676a08a775694d1b40f8e4099f5969dd43389ba685d6ba25b52794d6b909063db9088fd212564900617d5466dd19a9cdc38fb0b92a5ac79ad03aa683ad5b0bef8147380d02ad46ca426b1e3e08e73184569da0cc8ead205cc6131e7b825738933a8d4b6b226b088f0dd19b911bc2638bb49e52522c3b43b8d313c2718f668351099f64d2787680b0be32c2897009eb83525ba6139e0334e89e19e1b42cb4f6f185d63ec2d03a8a4b6b1a01c2d69124dbc94b589b50eb180bc26f4d668da485d63c88100e80af368d0dad6ee5842b19507b0ed19a511ac2e6ae081fd286b090f06c31a321b5e616d0ea9610e1b113b4a6b5a1750c06ad7d90d1ea40a0d69e1b61b77a08afa2da7a911bc2e714d6a744ad684c11aed4a4360059d49669719a081bc29db884cf305acbd8d0ea5298d63d68a8cd88895a9da4d48e89a0b55312c24742c23a1daa4da428dc698e32768a24ecd64e780c085dd1b0223c8a8b3ea308bb258070da16c27bd0114edb124e0b0af741142e2b237cc611bee4884f7954a92dd312ee4485b0392a5a2f9a40b8d31bc2694084371aa2559d9dda3eb4b426b2257cb6446b226f080b4001b542ea40eb98a3de341c219c07135a4f299c7685d644ce102e1343b8cc01e1b22c3ea68521ac184884e79cd0ea9614cee309e1b11f721d0307e1b2358485548370466b08779223d2f389b06218114e136add238eb03a2ab5e6ac08774242f80c22c53942c24292406b1e4a08cfe119d4de1be16004681da5459f29d17af28834112fe16052c2633ce0a67909675486b03d38c27381066d7b347b8824e13df2088fd5205c26467893015a1391247c4e71e39a17ad9dca102e0ba3f56cd27a56692deb22f59c09f79185f0d80eb7a71ce1e305c227005a4f35c27318d4f631140e3680d633a0b075dc90b569abf66c4078d312308e2912568c2a61cbe0d22a241a842f02249cc72361758e6af38842b89296dab43884cb16803a2a4b584883b49e3ab4761243780d6cd48e8aa4b55318c26ef9104e83129687915a2151a0d5a52fad6747848d63253cca0be1b43484fbd8120e3644ab91b0d06aa4a0d6938ab090dcf4dc1d0b9e4e8447a5d17920a1551e1ab3f6f2089f493a113784cf2cc2427ad3429a33c6311f9676f2423800466ad30a10b61747b85317c29dd0105e7b342b9c37da3855c2694dc2a3b084cf265a33e212ee030b617b7684f3d841f8a881f0e940a4670668ad6352ab1856c2da9868ed234beb216e08bb936256a827b58994217cca84d32209a74509a7c108e1b29d705a00c2e6b4684d830ec2a3b6e86042b4ba7513ce680ce1b43984d3de10cea307e144d0105e03237c89496da73584d501446d1917c2650af4e81601c29786a8cd638fb06854110e168070a72fad194912762b4a384d928f656484f3f823ac6f89d9b226a8190985e7f460300f0984d3ac10ee84253c46846f466208770243b8d324e16044b40ae9ce16cf9e08c769a93d7f5a335243d8dc16ad17ed112e4b43eb98124d759a521b4c00e1b117b4f60187b0724beb1809c2a3b0106ed352dba988c67389d64e5d5d4ca44bf8c42294533eab8de3b3e3b471394a193b366531da38e58c55e9f64e99ed196dd93863c7aec9186df9ecad1527935256297177ce64cbd6c968cb64e3adbdfc76bffd5a6cd9cf6fef96c77aed27c79eade3796c77edf9aded1d2b3d3e97c996738986f3c9791baf7ddbd6734b5d6d3b664fd6bbc78f5fc2a3fd4c3e1e8b1d99f758eccf6e9a94edf2ce1f9f3dbbe300bcbb8a0f20cb99ac63362091bcc653e6cda474a7b2ed42e375feb187e4d47d0daa5050c185b4ec24fa1534b09281153d78de40d9805f54005174d6c8a98a3a402a8ace1a39ffcfcd4d5ef890038e6fc8c10a5108201c860b024d5cb8711317816492dcf826cb01964298eeb0736c2185ce4d587e7e26c72c8e283338de7826c7a4bfdf1efd32239a8276e8fcc9d314049306cf13acab591b3fe3fa191b3f5b438d9fa5f133347e16e96767fc4cf833337e56c6cf5a4493163efc5e375d35158900cf1a3b78d68889926ab3078d9d3a75e4444945b046cf9b37639316090c5c83a74e1a2278f488b1638c9918ff8895c5d51f10f5b3ad9f85f133307ef6c5cfb47ee6c5cfbaf819175b64056758575afcb459169074c0825104554001670230569a54bd99b2220b9e1d5634a9028b3755eca0c28d9ba8d8e21e7b70542041850a542440c6ca8a2147aa3ef2b36272c5cfacf861c035514104153f508183193d78d6f0012e6192074f11aa291e5531a3620a29a280e209279a6062093b7fc0a8b932532209249a9ec0e289049c4062cf4ef871c207094ec4790970091c4df4d0841a0efe2ed1138989302674087446cf122d2622600258c66c0126bae4f98347cf1a3c79ac9228c1628912969060892101fc355347cd4f891e26945842093d82d61841824408256e493c4a00890d49a849c28035a09220690189129068122ba309890efcbc515275c44a4f09479471c41147d8b93ae20b3cbf25460a1d7133e251ec111223818c90634492484640608496f3ac59c3c64e11213415d1a6881d31158ce851f3088b438facc44a78c4c36fe6cf1e3466e8bc31c384099e3a4a7e461c10e287112b60162284e8902cf959e949a069082286900396e467a5c7c8103e86983e9c90c44a8823475a1c7d5143e78c5595951e1f42f820c4182942d4f05ba2472704eed17f7f4aaaacf48c41a80982365205d18019ab2455564320840042cde804440fc0236b5c311d315265b5f5439d1fa2c61bb0caea0a89261f08f9a044cb87473e0081670d9b3c74942881a287483d58d183a009ac5a92e7911bf34d121d780881073a3c444d2a3c003283678d92187640628717760043c00e395829414187a20e60e810c21375acac9218d221011d640e3e00a183903e78eab031b204491e4139a8c9817641530e61f2008d20d183031238ec69c2e1853c7adc305107f84332e6063937f85873039c35402b2e5736d881c088815548a4d820a40626bc34d9c0fbcf193b66eae831636489921ac6d4c084863524941abad450a586286cd6e031b3660d1b254986c440039824499044d1806bf4e81ffb3b72248fafd198464f8cb0903a1a6569e4a491d51e3976f01801e6a131f2d3c408c90c91648d111c4660f4bc99f386ce1a3966d6e43993c68c9e3c78eaf4c933670f9d3369cc58fd8e14674061062bad52e246a445522c9a629118c1455ab4c933470d9d35798e94b1c8870c48c8b068c9eab7850c11c820c0162134c9b045862a3224c163a6ca081531148ac1c87f6318b464091254c01088e96f92243ec0e07b418e17180dc3088334a3e6cd9aa617a65ed0317261e8421a2eacf0b7152801fe9808d2e366cc132e8aca5044c16b5124e41f7253a2e24d89cab8071e293e249293a88abe38499299113f2bc286442f24422191a1448412553012262cc879052856d0ad50c24d2ad8390f9e222960d194c2925f04444be85983a7ce9ad9a319115a2828692ac18d2612b6f84998a26484ab11f4fcb3b21ae26b1241873523283d3204855595559408be324696f842f0e345091e9a96955f92a211244c9a3eb0a1e9030cdcf8404fd307649a3e48f2c1448e3059d3e4c19d260fb8dc64088b7bdc29c3032b1e3831146990a124aa80564c86f899a33786a4bc05074d3af0a15647a8e8200b075a629a7430e4881120121c642912a00f1b686db081952641b40d066d1048c90fa887ce9a397d18d9b046094a8cac50680ca1bf468056216840c57fab80561a28d2a004337930d0c00821268a6830a5418fcd1a396690341132a08950941f423a4233031f9a3210a02983510e064d18acb004c824020c7075acacc0f0317241a0bf499a0611078961e58e034d83b8681a64e88c9d3f55564c9ab8a1849125554d1680d982253f2b2615a484a015a60461d024e88da09ca00ad4d0791367470572d600dec19191e477670aec50e0c3025afde098e0d10463fe3b011075dcf43152f58b140889219028d10ae42610aed11224584880021312ecd0e0ef11a01080a2de1ca9b2b2e10f127fc09069fa738319e09216fcace147d0df4b869f30fc70a127cf1a35469034f561a3a90f1425306aeab3419f2a237d16bdd027511d3d73eae061a3e78c9b3e479834d9b9a1898f9b427cb8f069c26784950099e4c15384cf95402d746124899d3d3823901831a2468f9f62a902021d286392915f963c5c80f829b14a00cfa3c792a4098f55131edf4d7794dcc38e91359aee38fabbdc74a76334ddd9a2e90e154d779cb093e7cd9c347e7e469834dde1d274a7eaff99103f0be287e1263b8c6eba03b51dab340ea8a1f3460120b0ceadce74ee8059e0481c45714a3032dbe1880e3fcbe10da2371fcc49e3e76733cc70f869b3454ea0bcd1934698be86549104121adc386d496405241304100ee588c4c586a9645214318c54fdfeac31b2e68b23618c84018651b326cf1a3774de5861c2e4c8ac86190db3468c6678335b3493618a1a3a6bbe00f93061726680334f4d112899c5c0a5c94c9399a6321e009bc8684026d0cf49e3678d1c3947d260191325cb3441a0c51108763c70e60133983031c28709933c79f2e4011e31c2870913e011237cd45c61c204c8678d9a3579f63821a32409922346803f2764aca20c80a0491a3c4f9aa45913c6491d3674d6647142674d963573ceac9973864e9e3c72de34e0a4499a3561c820b152a207cf192e7fd4d45173e58f9a3a5094fcacf628d9f3674d9c374ed45cf901f79031e226cf19374690ec61806b300c40f93778faa839b3060f1a294690ecf9f131c3c48c9d3c4d60b2c044d104468801a29844310123f52bd993664d983c6fec3cc9f3c6ce993674e4d899f3e68bce4e1e307dea44b182409397427ff4bcc1b386cf9a2f0b74e9613366d6bcc1a3870b124d5ae0b8494b123769697493160c6ed212e6262d426ed2326fca12c64d598ab829cb083765a173531625376559ba498148c0008a4c1580a44901aa9b14d87193024d58c2b8098b0f3761a1e0262c0ddc84e5809bb038dd8465bce94a15375db1e1a62b877e29243c9aa4fec8a1b3c01a3575b4acf95244cd0279d6a491f3664d9e3f6be2aca1b3e64911356b88acd1f387cd93226ba2e49cf98326ea099d2779eae4a1b306501d3c6cf6a0c9b3e68d9a3d5be444cdd6fc4ccdcfd0fceccccf223063459095dd04ddd1eed594dba68f92dd9e961b7ce132a9712535b93e3c372b0a2093bb94fa7637cbcdf256e68b74bc042d71017cf18abba3e15ebd71efe29d74b8a394b75ab2c471fd97d5dda9b9578deeb8e6ad1eb8e38fa78ac2cbcccd7579b01e9eb636efd575773cee950397e9c8e5d2f3646a7425f5b8d2e9a528789c5df04027f713dea9c9ed8d3728e6d9285eaa8167acc9ff0ab8a39fb79a73e7144f85e7b9c4c07f257189cfd189ffd9ee24e2a9d02c6d367cb1c71267c017bb58dec8f8220e57c7c087dd707b1ddce0185726e77f673c6b4f0fe4e2f2de5c2c23ee0ecebdd2e1fa44b85969dc7f74e98c071b7379752e161337d6f53f4457a7e5c364b8ba0c3e0c8dbbdbe05e65b1bce1f0c513aeef8dcb95bb3b08ee15a2ab3be2ce82b8bc012e160577e98607d35ddda47b45757717dc2b2a9635041e18e99943f460733c957eff55e6f21eb85839dc1e931b04e1c67177c18b3575756edc2b22b767c00d86f05c52faaf4637b7f5614a2eefcec572e2f6dadca01177b2792aa51b93f4bf1080133c6f407c11d1cdb1793028ee64e0874cf034e2c6c8f8dfa0abebba5749aeafc9cd2261a9c37625c9b93a21ee2c072f13ae0e863b4be1a9e4e8bf3a58e2c0fe6bc9f5f570b79adcdaf0bd40b8bce10d6ab9bdac9b55e4a934e9bf5af8ed70a78e9f727475007c589d3b36792babe7edc917d32c715bfc970037d7c387ddbcee5c1d041fd6c3659a72b934f83971c7de530d716740d2b278a01077267aaa29cb25391ecccef246fbe29525eecc17d7b8b207fe87757943dc60eeea98ba93a2ae6cfeef85cb3be3069bdc5d997bb5c29d3e7eea8819e0b83a25ee6c883bcd3c956c89b3fa22d6ad062fc5bb8df2517a2e6fbc58626e6fd10d7edddd957ba5c11257e88b607797c3bd1adea2f9a812eedcf153442c6f517cd1853bbf782a0c96b116fef7c032271fcccfede570b36477898807b3bab149ff13e1f28eb841df7349cd7f39f18c29f0bfaa3b5b78aa2a4bdb075fc43d69353c90863b3af0565aae8fcdcd2ae2fa98dc2c119e371dbe78e8f250b8586c5cdf13778bcbad968fa2e0ee84dc2b36cb5b982fc2b9b23cffe3ba4b643c98037716f1546a96b632be98e4f2e6c572e0fab0b85b629eb3a60702799414fcd4055717c0874d70753e3e4ccff561b9592edcdea39bd55bde6c5fc47267174f65c1e541b95887ee2cbc5394aba3e25ed5ae0cceffccb87382a79aba4c5e2e9709d7a774b3d400072d714cfc978f2bfb527696b618be08c0b2b6e381594bdc09ff15bbbd343738c45256f9293c775775afe82c6d2b7cb1776512fc4f8e9bd3e0c1d0b83d79830d5cdfa29b15f68c21f9df00cf5890ff4d5ddf1677ebccdd8a778ae1fac8dc2c1faecef761726e5978a9aadb037483902e4f8b1b1472998a5c2e3977c7e55e7d70730e3cd810f72cde89d1ed9971b39adc5d0bf70a8ddb1d5ecaca2d988fcae0ee18b857243c2e61f05f733ca57075603ecc86eba3e26e31b0ac513d70ebf2145d2c38bc2a58caa2fe27c4cdf179b02d2e930297eb83254ed017bb1e65eea5fa5c9d16f74af7b41df05e6bdc5185b722e1ee16ddab36ee687baa1daecf77b3e2dc5c0e1f367b2aa9f05f165c5f949b95c2e30cc903872ce5013f35e7f6b0b85941bc703836dbf3400378782ad1f92f3c7769ebc118b83edecd7ab3bc3df1c516aeee8d7b557579215c2c3362b8194ed6ce5965cba56c3ec6c6e5bbf1c6aea4cd62cb497bfeb2d9cc368e32369b1d738d1deb38e7946d6995b19a52ac638d26e7526c763e65b2ce70a36c9cb69b9c3ac6ea6eb7c77d9d72de6237dbeba46da7b329ed64cb297db4b8d6269b4d1fb7266db6e798fbfbf3cbfb98ecc6b6e1a46cbcbe9ad31803a076e78d56d9580360f266a32d6a375b92f5d6ca7ecbe56c94ddc9ea1be74b4b53f798c24dc9e3fe5857f958bbd1723d648fd6decae6b893311df35d9bb473c52df3d17c8f3a79add7a362e3fb743b96f76abb1f479a6d47d338dd4bff98f64bcf6ab21edf16e0779cdb91bbcdd266cb9186e4e25e8071353975303d653c0162b8a3a65d5aec67458e7ddbe9d94296b2d85829048c427e0c797c8003d0ccf47c2900255017aa699c949cac5226fba953babad83a64dbda69731fcf7c37dd0224b956c3bdfc80c7e296b61e025805f03c60203f9d8b1ac864c826eed904e0fbd907dc9e9d1934d5c24a8f53fd5ba0b71c4da067d37a6c3bcc52e7f6e0af0980c6a2cb00df0e613cf66cc7882ea33738cb4f21e48e6de69f0d39d04bc7e6025e54cab16950d488bb4c3e1b0943f71d70cbac2c1b80b3f437989b96293d83a39e43e8edf7ae08c5cf1fbd55111e87e3ef5df32139b6f152e55c243cfc187ad1afc88057a4e315e55e51ec13817d22e26b09f3898858be20c2f285a5a50bb1cf325cb660c5b3d0e6b3b0f159acf815be7e8504a40a55af80158f08ec1129f18866784403bc02c047618ca509403c0a033c0a3759c2098f85876509b63fb4f558f83c163acb11782c4598f287803c191efe8425fe8a70e9419f372188bf62c29bd0c1b283ae2f81e94920fe08817e842d7e84ac1f41c98bd063a941911761f72148fa104a5866c0c632832c3eb85ad2c0780fdc780f1ebd07532c69e3b202aaf7a0cf7bd0e30d25f1866a580662f48618f80e3868e1a93cf1548c58fe61b3f483c31b21e20b753d95235f088c2f94b5e4d3e60ba5f94211fc14e217ea6b20c64fc97a0d08bd06715e032184c6780d969e50a127d4e809bd79426db8fc94384b3b592cebecf053cefc1432cb3a433e0335cb3c527c063a1e83371e03493fa580a51cace59c384b3948fe02adbf808abf408abfe0cb0567fc0545fc0540fe821bfe82347f81938cd3e407097f50113fa8871fb4c37be9e107b1f0833af84122bc94380f42a21f34025758024958b6f961d966867fe087b7c0c94bb9bd05f305f1f051b09640332fc8ce720da31714c1720d90a59a2ebabe021396699c7c05809668b8f828629668aa2cd108f928469e82294f81fc099ef828fd09d22ccd10fa09fe40647ca0480fa5850f94c5728ca08712e42588e225706209410d0f453e20ae0766588a09f480167840589e50fd1f35649826966152f83f61966104f804c8783f54f8d9b204e3f4099cf00950f93e1df4c102f57d9e965d80cb2e4d4b2e93965cde4880f60814975ca42c171062b9800bcf47b7945224b38cf07b9c2cb320f93d538f408fd723c5ebc940cf98d753c589109f47867762c3e7e9e0f3005a5af12dab1c793c263c1e414b2ab4c7c3058f9065941afece0a4b2869fece94652c80b773c3dbe9f37626783b58fe8013de4e0f3b4bbe8e134b043e582250e6ebd0f939c4a513484fe78903804f87ced3a1fa394696073cfd9c0c7e8e9f9ff3e6e73c99e3e4e7e878396d5e4e152fe7886593472f67cb9249d7d2e9b664e2c1c72142d1c7c1f34db67c1c304b25337c1ca96fb2e3e178b14402c3c361f46fd2f83730fc1b28bff1bd1ba877f3c1d2c81c375ebe4d06dfa6eb0db8b2042ef16dbe7c9b32df462a0a172fe88667b3c25d4cf82e233c9332de009a014dcfe6cab319fe1a329655b65f2387899c57d3e7d5b0f06a2878356f9e49914fd3e8d334f16a7e2c0b90f469caf834177c1a378fa6f8690e581680fb345c1ecdd5a3d9e1d19079343d1e8deecfc801c69fc9e1cfc4f0677800f467b29cc9f267ac7c044f2c05b85ae2e39730f9082c7833c43793f566aa783329bc1232de4c9c37836679a68be54f8857f284991f3fa81288d597015bc230421920be4c0f5f46875712682975c12b41f365de7c9903be8c9027f3f54aa89ecc184f468c2713e8c9c4793274964ec2271365e954c68ff1e0c72011c127b1e0c7fc78335f7e8cec21085bf6d8f110bc01c1160fc112cb26289c3c04b447527c245cff009b17b3c53f10e41fe8f162d658ea4863a983d18b41f3627ebc181e2f46f60eccf10e4c5afaca78076c7807acde81df37d0c13ba0f40dc0f10d58f10e7085d1f361ba7c030034a0e31950e219e8e119a8e1194084c13390e619f8f20ce81e8c1c0fe68507e3e6c15879304a1e4ca20723fb2f92fe8b1acb5b9aff12c67f91e2edd859da8654f05f26f82f79fecb035fae7c91fd97d87be93ac2f45efabc173cef85ca7b31e08d84f15ee67789632942185d6cf82d547c9718becba1654c81efe2c17769f3461c75e9f35dd47c1730df45cb52c6e48d247a2e577041f45c003d17f90b10b140045b9efc1625bfe5800ba94e1d3a741c0de1e842c273c74e1d3a0e5c486b2ea4066e53d56d3ae2e832e5709984b8be2274f00d717d8e6eaf819e93dbabf2bbbb20776725830a5737c4d521fad811471cf1314831ac34d0887486b00c32c4d80243cb8b2eb8d8228875a5451690b0886181c5a3474a24f131343e16840f8a3e784551961468b11c83c5d2cb954f60c927b0e30d606109c45a0a91b2148245051e0ab7435efca1302704fa11f8bc08883e043c0f82920e38e0808de7008c8329383882d06ff0e435f8f317b4f11778713201041f48821dde0f15df2781ef83e5f9c0f17cbce003f57c9c7e8f01bf47f67aeee0c9e1f11cf93e33d8799ae2e978f1739ec4f9f36dc27c9b1edf068035615e8d9757e3e3d330f1688c4440fb335b3e822ddecc0d6fe6cd97e1e2cb64f11008f907d0bc18302f46ca3bd0c318cf00a26780012f5defe589ef22e8bb4cf905047d1737dfe587df22c00fdab184c2f511ec79140cf843617f02192000f11ed0de9016dfc192efa0bfc109bf81ee316860d09fb7808d1714fb0af03c054f9e829a04483c200b1e5002ffe783ffe3c1ff21f37fc2fc1f2effc7caffb9f27f9cbc1f115ecf8fc753c0dfa1f3757e3c1d1e3fa7cfbbc9e0d988f06bc6f8350bfc99497fe6833fe3e62328e1c7d0f9316ade0146ef40021fc6cd87913d032cfc972eefa58cf712c577d1f25ccef80570f81382f810c078167c7844421e85e2a3d0c687f0f52128790e864f88f71514f1818cf84361fe0f08ff67cdff29f37f9a3c1f293e0f01df058c67a3e71d78e01940e2bb24f065b4f80d3af813b47ca12c0f8201cfc6879ff3f41064f081828f468b2fb3e8bdccde0b93bf00c96f41e23b70e0ed207a3c487ca0115e82a80734c55b10e9e74cf16d0e7d2245bf42037f020c9f41d7eb41e1ef60f1609c9ece10ff05813f618c17818a2f24c617bae22bf8f37bc6783db29763c6bb61f46db63c9bde8f59f36072ef65803f81901b00fe8c9437d3c18340c0cf49e3c9343d9702fe043f8fa6c87799f32894f90974ef27ceef11f37a6a4f67859ff3e4dbbcf16d24782f1bfc09459e4da157e4c18710e831283e1f287fc78a35887e0c020f01d773e9e2b710fa08c4f8138478117cf83f38fc021d3c0a3bfe90953f418e1fc1c80ba2f215a4f07ade7c1e1e3e021f4f668830c4df52c6e7d9f3819c7c1c1c3e8d046f268e2f13452125de0e140fa688f702c37b01e049c0f22100790cb81e04015e509d9f008eff23c5ebd9e0ef5cf93a405e4d0a8fe63f13c297d1f320a0f9387d9e8d13ef45854f64c5273af429c079136ef83f047c1db05fd3c49759e3c5e4793050de4b1c2fc215cf41163fa8ce073ae3dd58f05da2f82e6f7e0b0ebf67cda769e10799f168c05e4ea10741878f33c47340c36370e5fbf41d28f35f96f8097efc1a3f2f878adfa2f4661afd0247bc1fafff02c0efb1f37934f808780fc119bf65c9730086e68aef40d09fb0e72f90f41318f1807c7c172abe8bd60beae0bd64f12728f01424f909a8be4eeee774f1707a3f06cd3bb0c59f30c71b52e2fd48f178d0bc200a3e50046f667c07c2780e829fa8822761fc0ba2f8095af83f15bc1f43cf42d7ab50e70ffdde83369ed09827247b417d3e673c1eddc3d1e2d530f15ec0f82e41fc02843e042b1e4ff1e7c0f936007c1929be10d45bb0c5a389e23750f31954f175d478325c3ed1d31322f2787a7c9cf1bfecf92d831e91a41701ce6370c0e701e3ed70f1737a3c1cf92180f08586afc1104f0881af2083e7f3e6cfc8f162ac3c031abc08905e4c17452bfc17337ecbefe9407a4350fc07523c1b38de9095af4992dc686391175b607d550a597c550a5740e10413491c5104118e82f8a1871d72b8a10616a848e067cf57a580e7ab52a8e3868d9a3366c84020a60106be745940cb5721fa2a0508f8e2ab6a5f45fbc1871e781841840902d5d088d10b1a10ba60900480faf0c98367cd0f354e6ea2e5c7990fb032254a930080dc683f661657589430c24f252f1542d4fc28f9fbd0a85123458aa29832e50818b920830c32c8309b482289471914181418141822448810d1a623478ea08e803a02ea8843870e99604210414c4722882082083becb043a3468d1a356ad4a851145144114514514411c5a143870e1d3a74e850104104114410538280d24e99e2f3f9a6441145134d1c71c4df1d1a356ad4a851a346514411c54f28dd07054a134d34d144134d2852a448912245471c71c41188102142e4c8912347870e1d820225882082082288204c30c104134c30e1871f7ef0f57cb3e75b042850da7bbe1dfe88f923e68f9881cc3d3d7ad480000102a4478f1e3d7af498b53a0bbcb9f2e6ca9a296ba64c593367ad0604884c2693c96432d94f2690396bb5974f6aff93334f5ac14f9bcdca0a08102967333f0ef8f9397b0201329bd1686d037cc2f00933c7398910a9aa9a9a2242c4ca0a881e3079bee4f9320b6436b3b21a47204066b3d92e5067813ab3256245670b9d2d73b4ccd132e7672711225656e3080488951510205555458ad0684080cc66e3c886ca0c5255b566ca1ce7a8468a1a296aa4a891a2464a102b3450d04009e07f020501274d98ec946eb5d9f738f23d62af2bf2ba0042a861910b2b8c70a787cf09fa1c0f9fd383e773773ef7c3e71280204c972c9f0be273505e298c2ba478252e5ea9812aafe4e495a83c0e4b89a0138fc37adc118f0bf3382a7fcb7ae26f46fccd89bf65fd6d841f7f6bf237a9bf35e0e416e66f550af001800e256f6bf2b65f0e2f7cedd1d75cf85a96115f7b82aa801f523e00d0c104acfa5a93af09c922092c2c2f63c0cacbc0c8bebc2c880205540912650412054814205a88a011c9c993921d4ac61d490040a2838b2d7eca646395ae4a8744c7cfdccc4dd9bc93363b694794ec1881bc83c7281b7b3f6959641145134734e1a8094741fcb0830c881c35924111a2433f1bc41481d16fc04b47b337ff2366369bcd262d4890190e2780000208f07fd9c3c01e06f078c1e3a5ce0275167873e5cd953553d64cd9e5fe27c32d844e4cdb6daa0c478ed020842c506781380ab4a92274e2cc93270c30c0c0a4e170381c0ed7a3478f1eff02801e00f400a007c4fc11d3a781dbcd6693c9c6714e1c2ec833c813870b1244ca3e3b71b820413a3b6f37996c1c71b820415a1c2e4890ce380ac0c172e5cd953757de5c994f39830499cd643239e5c4e1840899cd64b2296a9e38dc6c26652b44884c368e9d34d99fb429fb9c4f9aec9326fb0c326db429fbeca4c93e6953f6e77cd2647fd2649f419e36da947db626c413b32eed8c27ca9e320d1e4acd92b67ba9149eb1f19f94b8b83496c421eead86e5508225ade9a5acb8b83896c4266e0dea894e96d3867f1a6039777c2eca7394fa27321757c492e8c17242dfa5a53ce1c7352ece8d2511896bbb7d17928b83b224f296331c1eaa8a5b13f3443fcbb5be53960b2a4de9a504584a3b3f425aeee60f5bd206f81f5296b41cbe4a88a58ce0c731d736c177d1706f4d2c87262c8bc44bdaadcd79a2a1ab945bc2b024e6b9b51f9e78756b6a9e78c17306fa27df5396e6a1be3ce5acb5df13bb2c97d21ba1e530cc72dcf24f7696d592d28f9c0ffcd3786d4edf656539bbe2a1c258d2a4fe076e29b1f85a998bfb6249bc6139b17c8f03eead6b3994e21933e09fb26ecd852722b1a43df91f7e963137ff74c63376e49fb0ae2dcc775d7071529644df52d6e8a1ec5ca5d99298b58c091f4aead60e78e298a70cc94339b9b73896c326963ffa12b9b7079643029e63997ff2b39c6efec9f694553d5493e5547aa52ccbf1817fe2b37c856f8f7bc35a0e655836aa35244f64e02a3d2d895cf7766639b45a768d97022cffcd181c0f25c07386fdd302cbd1fc5e4bdb0eef45c0557a49c462d9305f2d9e3131ff24c6adc1f044252e2ecd9208bc35304fcc736d6ebecb84e57ebeb35b83e289675c9b03df95c1b501faae199632819f565cdc9b2571c9724efa272ccb0ef9ea59d220f81f62dc1aee89055c9c154b62a2a56cf2938aa5c4e1653f96362ede2b815bcbe089312ce5a01fc1788eb17fea72712b2c897296b5e10bb66ca12f1a4bda0f35bcb71996c33ecb02f1722e270fff34e4d6ae7822d7adcdf15d3dae8df65dc0e58c86879ae2da1a7d577039a6f04f255c5b05df65c35316c14379b94a4296c4e1bdc9590e9bdc9a144f446349ebe0abec5cdc982571c8b505f05d5c96b71f17d2a3ab3464492cdedb0bcb219ee72cfed39625adcaffb06039eafe89818b4bb424d2b935df1381175766492cb2a445f155c125cd85af4a74713f96c3494b39c6dbc42c654b3cd404cf98947fea62b9152985781912d736e8bb72b8b7aae5f0e574be7229ddfcd86719bb7aa81d1787c092985b4e29fe29c9b2297ce178c6a07828de52f2a9adc977b5b9b83c4b6294e538e99f8878c66a78a8d95212f969c3b529f9ae34f7d6c07218e4de96580e4958bec537ca55aa2d895c5c1b95efcab3943e7e6eb09c317a28292e2e8925105f029607bf4e2e6e89259184e5657cb3dc5bd87278c5c56db0dc6039147395a82cbb743c63bd7f7a622973f2504f2e2ec87238c7c55db0247eb936a5ef52f28c81f1503e1e65683c1407cfd98f87427495704ba2d6c511b12476b01c5ff827142e8ec77298c655b25a76f5de222d87422c6fb3cb34c473b6c24331716b449e9865493be07fe8595efc3e706d2e7c9715b716c777355d5a1c4ff4dd1a9d277a7071c2251188e548a66c7ca8211747664924b29c1cfc53d3c5f996c332ee4d8de59088e72dc88564c4b515f05d61eeac8487326269fbba3d056e8dc913c5dc1ba3e5d0cf55825a12dbb8b639df95c272307246c511590ebf9632d18f6e5cdc144ba20acb75c8d1f74f0d3c67623cd419cf11817f7ab36ca2d67c3cd1807b03613934736f4996c3d972f6c54399b11ca5fc539c65128fb3330f45c3b515faae1fee2dca72d8bb373dcba1945b63e28964dcda134f14deda024fa47371472c89203c655c1e0acbbdf5590eab2c65d7dfa8b835ac27c2b19c463e37c3f2187a6363392c62394be1a19658c638f8a7379612ec71485cdc024b22d49216e709d0bab2f753cf72f6c1430db1b4417a2f26d756e7bb565836d2cba7252d88af42e2d6b25ef6c4002e8e842531cdb2b471b6e7a17278c6203d14d3ada9f0c42196230eff04c3c5652d89335c1c0b4be29ca5ec8787e2736db3effa3d632b3c945c4a077ee4726d197c170f57e9806597d2a5c17920045c9c93257169395af9a739b7b6e689183c655f1e4a817b9362394c612923bdadccad01f044244b297c1b0417f76749bc726b103c11d0f234be0b2c6d715cdd0ab736c513d3b84a4ecb3096c31cae6dc977a9b94a4a4be217f7866539e4b1b485dd5e967bdb6139b4e0e2b458126158c642f8273996324b71032c87c48bd3b3244a5996c737cec5155a121d58c69efe898aa74cf8501b2ce5d6db905c25a92551d2d2a6c57b19706d1c7c57104f190c0f4567392efd13985b1bf444179633371e8a6b4983e1ab6cb8b736cb61928b6b60490c726f072c874a9706c7137bcb89e47336dc9a9627ca59de62d767c472dcf14f62ee2d87e5b082ab34b524c27171092c89ba6571f886dd5a1adf55bbb52c4f8c7371672c89412c67233cd4a3a58c848772736b779e18c29236c357e970715996441fcf98100f857bc6fefc131bb796c313ad584e1daf04c633a6c64301b9b5259e38c6adf179a2094b697bf95b5ee4f7e27146e4a156b8382d4ba2d355a22d895b5c9aa427ea9e33a88742e1d69a786219cbb1847f1261d9ab97bce5ccf23d12b8372acba18e6bbbf25d7c6e2dce1339b835039ef8c09276c45745b1a435f1555a2c4be81b6949bbf3555c6eed8227be706b253cb18725cdea7fa07994b1f1501ddc9a114ffc62d9315e36ddda9427aab9b8494ba212b746fc2ea75b0be08952ae8dcb774db0ec96ef1557a9c9b20bb7a4edf92a30b716e4895496a3f06dba351a9e18c572b02f041777b524c6b05ccf37f61ca7f8a71b6ead85271eb12c966f154bc9e6473eb7c6e8894f2c6d62bc17955babe089899695f275e1e2b65812195d1c074be203f7b6c572c8e8de88cb611417d7c69278c4722fbfa4e53efe2b96b2d08f642c2be84bc67226e8a17ab8b5149ee8683962f04f1bdc9b70390462399be2a1beb8370596c31e17376549645ace203dd4d6d2d6c37b15f01cabfe49cd55eab124aa716b603cf16b39a97c0fde7214f24f115c5c01cba1d7ad85f0c41c2e8df8c41d8f33001eea84e542fee07312ff49cbc5cde5508b654bf8725d9c074b2299a72c818782b29ce3e3a478c6e0fc53a46723f866ddda9327467095b02cbb785cdc0b4b229ee778fba72f4b59120f15e829bbf25053ee6dcc723864397be2a1bab8372ecb61d4c5995912a99632de4359dd5b09cba19aaba46349143ec726fea98665abbe7c2e8e8d25b18865bb78c9b49493fe46666923de5d91e588e59fe82ca50e2f03b2944df050115c251f4be21acbd1cf3f5d706f5bcba10ef736c572a8c2521ad11a064f84e1e2d42c89466eedc7139f3c65611e2acb52027fe670714ccba119b706c2137158ce13fee9e9e2305812c15c5ca325f1cf53d6872a6059ae9741ee8d8ae5708525edccff48e3da2ef82e1d6e8de98946ae0df75d4996e3987fea736b1f3cf186a5cc84877ab3a4ddf055402c69617c15d8c5552d89dfda912782598e2dfcd3a17b83633964621963e2a174cbad902792b630de4bcab37bbe613cce1a78a8199eb1171e6abc38314be20017476549d4b1ac1739c6f04f8896afd15ba2e590cead35f0443ef756673944603977afa4b594f5f0507b96e308ff14c2523af959c5bdd9590e13b8b603becbcdc531b02406b0d45a568897e392b6e67fac716b123c318525ad8aafe2e2392ef9a7364f19a08732f39401f050c08b53b424d6b93606be6bd0c585b02446706f552c872c5c1ba2ef72e2d2263d7177a5ef2705f706c37298e7d6a03cf1cc7236c501590edf78caa21e0ac9bd25b01cea96b2f8382b1737c192a8e5593f5376e8a1e0dc1a902742b9371996c33dcb718d7f12623975f8a7029633391eea8d676c807f82b49c65fe49f694d579a8069692eb6f59966de14bbc34359e687b8ec37f32e2d6963cd181e5187c95ae0d85ef6a62297914275b0e83f7f65b0ee5f226c5595912772c6953fe87a06b9bf25d789632470fe567d915be712c692a7c55a05b0bfb2e026e8d85273eba383196442c871d5c5c8fe5508de5ac8987e2e2de1c580e85dc9a074fb4e179db5d4811dc1a9e278ab09c89af91254d3e14f1d6c0be4b80e5ccd04339bab72ccba18fe5bcbd9202d7e6e3bbaa2c65353cd49d25cd80ff71e7194be2a172cbe9c33f11592e4095902cbb644b5aeea50ab83549dfc5746d167c170e57498025518e5b13e3bb5eca9ac81df8e158def515736f4796c3d872f2f89c965babf3c40f6eadd01367b835199ec8c4b252bc54bab71f96c30c96f3837feab1a499f0557d9665e2a56d3953f4504e2c9ff4656039b97c8f28cb9ef06de3e27258122bb838464ba29fe546feade5fcf1b937cf18d84311706db5ef32726b3b9e98e4295bf450752e8e8a2571858b03614934736dfdae21cbb9c53f1db0ac93ef045749c9b28bf694f91eeab7a4fdf055462c259d1fb158ca1f3f3fb8b73dcbe1947bf36139c4e0da68f8aeac674cd143cd650c8787a22de7a27f12e0d6b69e18766b3d9ec86429b7fc88bb38384b22938b7b39c462194be1a1ba8c45fd53154b39c28f69dc1b0bcbe19c5bfbfaae009ee3d63ff97071b8e5506b692be2bda89eb127ffc4c553a6f45054d726e5bbeedc9a0f4fd4e2e2ae2c894d1747c692d8c3b5d9f92e169612889709706d007c17947b1b6339e4e119fbfdd3d55276c343e1b9b82096440d9e312eff04c6ad7179629d5b8b3d716a79cb5d4866aecd84ef52e2debc96c3299e639b7f92e0e2c296c42b9603fad29613877f22e0dace7cd707b7e6e8895b2c690cfc0f1c2e6ec992585b4e023ee7674983f4555a4b09c5d71eb8b727cbe1eee22458121558da72782fa87bfb5a0eabb84a052c895e1797c29208e7ded6580e1f417171602c89385c2504965db97b7b62393c746d2b7c5714d726c37765b12cefbbe61913e3a19c96728dbf297071312c897a6eadf64421cbe9c03fcd5b93e3bb782c2793d709706d4ebeebcd92e6c157dd79de08b8908eb83608beabd0e32c80874ae1deae580e155d9a1b4fcc3de5919f3a5cdcd47208c7d2d6c67b69b934369e887b8e4dfec9cdc5cdb1243eb12c0a5f37eead83e51082a50ce1c7339e95f3f5e2ded02c87bf7bd3613914b4a45df1555d3c2710ff546449637a291c96f37e29eeedca72d8f4bc11b9909058cee56fe3d6c6f8ae2e6d47bc57d53326c343c5ee2d6b399ce1de26580eb55c9cd79238c5ad29f144312e4e8125b1c772f4f24f782eae83251182a58c8887fab3945c7e54bab8234b62ecd26e1ff5adbdf0c4249685e225eedeca580e7db8363edf05c3ad85f144b06bd3f15d4f6e4d3e51eadeac96c32e675e0f25c792d6e57fd8b0944e7c4dcc92d6e7abc25cdc9e2571ca7216f91c09b756f5c4052e0e6a396ce3de78580e075ddb96ef9260398be2a1bcb8b8079644022eeecc92687595a29644379675e07bb5a411f91f572e6e8d25f1d152faf0b2009e3125ff14bc4a459644b05b13e089539697f005e0d66278e212b736e689123c63463cd4d2b36fbe5ddcda0c4f74e22a2d2d89605c5b02df15e7393efdd398676c8b87e2b1a4617d151c57898025b16b3903e2a1202dab841c17fd930a8fb2291e6ad0b52df05d8196b40cbe6acdb25b2f775cdc6d39f4e2e27c2c876b5cdbeebb9a2c87f247ba35029e786539edfcd3d2c50d974428aed2926557ed51467ca80f2e6d8c27f6da127dd7144b9a96ff51e8393afaa7199e371e17529ae5c3af03b7c6c5138717a7c2921867f9c4b23ebe721e67033c940a4bda0e5f35c4d2f6c57b45798ec07f5ab3a46df0556fb4585ee89bbbb738cba101b796c013cddc5b95e510804b43e389b44b23e389f2daac7cd79e8bdb2d87623c6f4e17929a8b5362491c6129c7fcf865f9085f1df77667397cb29c2bfc93d47284e39f1edddaa12702b1dc886f918b6b62493461296df891b8b479f15e4feead8de5f088e5727c1b58c674fc13141707694974e1e21e2d8986ee0dd07288e5391dfd13d5bdd9b01c065aca177e9cb4a415f03faadc9aed89033c651c3cd49ae534f44f3c9653f84f526e4d87275eb11c01fd13064b5aefa55458ca403f7ab19c5dfc9393658b7cf72c670bff04e4de54580ee32cc730ffa46739affec98065957c015d9ba2efa2e2dabe7c97a06ba3f35d2a2c67a17fdaf19c25f0502e2c6385fe69d27230be5496b624decbea5932dfe0b57df05d445c250096c4332e2ed29228c4ad097aa2a26745f8b2716bc5effab19cc5f050502c65196f7be0e27acb2119cfc2f192807b43613974f328f3e2a1083d6f53175211172797c32c9675e3a5905be3f1c425f7066939746129b5be16c633a6f44f4d5c5b0cdf05e9dea42c87be6b9bdf55e4decc2c8754cbd809ff447ccac43c94967b236339ece1deac580e13dddad513df58aee41f633972f9a73b4b19fc1a154b9b1aefa5c0b24bdf34b7b6c113193d653c1ecac852ee7e4ab9381196c433cb99090f95c4b511f92e079623a17fe2e0e29c58124f7896cd978b6be37dd7018fb3350f55c3c551b0246eb9b607be4b83e51cf2390b1e67b3871a61291bf3505c6e2dcd1307dd1a104fc45a8e21fc1308b736f5c4281797c592f8c2c52d2d87603c63b37f5ae2d6684f0cb29c4cfc9391a5c4f36316d766fbae23d716e8bb1addda104fe4623923fdd3948b8b5a0eddb8b5444f2c62490bf23f9e2ca5951f7b6d307c1716cbdabe672e4e6b49b46159235f3fcb49c33f0959fef4437ac686fc531617876649fc2d691a7c559ba5cd8cf7b2f2940179a8248f32490f65e8d6e6137f5c1ad713956eed8127feb9b53f4f44e1de982c87b65b73f3440d2eced192b8c155b2b2ecda7171322c897b2e4e8d259188252d89afc2e2de902c87b28be362496c746d50df85e5d2d27862ede29e9643aee583beb8e568e89f3cb8b53e4f3c6169c37aaf26cb6df802b9b745cb219f7b4b63391ce2e2742c87c25b03f44444cfb9e69f6ad7b6f45d4b9634da431597737dbb5c5c9c25d1807b9363397462394efd53997b93603954e0d6824f8c634923e2ab9ab8b61abe6b8bab64c0b2eb766f6a9643234b29c7dfa4b8b83296441f9685f26de119e3f34f6b2c57f31797728baf69dd1aa127ca706f142c875b2eee862571828bb3b32426f038cb3d5409cf49c53f29b9b8da72c8c5ad99f15de3c5715912a39673f0e52dc722ff94e6199be2a17acb5af9eab05cf62f716f512c87889ea3f09f80b838da72b8c572a4f24f726eedca13dd5c9c00cba11c011f36c2dd5d71b17c2c6d4e7c51c8634cf6bf1ecb1815ffeb737b896e308ebbb4c6839d79da98bc971acbdb1b5f0422873bea79ab3797c9cce56274a7e29d5e78aca4976a737d30dcace2ed19b9c10d9635031e28bcbd166e708ebbc4f5606996b204fe074511b8b9233e0c80bbeb72af405836b3e1815896b614bec85be226fd17f08e4ede0a786d40de2bebf220b8583a5ca6022e979b9bdbe2c3aa9eb2899f5ae1ea82f7aab76cb6c0037f770ef9a92b6e2e8a0f93fae5b9ba3f1fd68510d747c3dd025e9e978b35c35389eabfc8dc9d11178b767731dc2b362e2f871b1cefc8e3a992b83da91be4b3a4853d908ae72cd103a9dc09c45391b94cb4cb35c0ed3171b37a3c87e3a192b83a9eee241e9729cbe502e1c6befeb7c29d413c5599cbbbe0626d717b3adcacd9d5fd610e2c47255fa5e88e0abc55024bdc922f727177685cac24cf3188ffc56ecece8365717970dce095bb93e05e2d7175137c9818b7f7748379ee0ec9bdd2733fe39d8a58d2880f8ce2c6bcfe97c2cd9d79b0256e4d89f712b394537eeaced531e44e1272770bdc2b0fbc5c583279712511f1a2b3942ffc5408777af054469637465f24e1ea7eb8331b6e8fca0daa70656cfe27c6f5fdb959595c9f9a9b45c412a7f55f42ae0ccdffbeb8b3812fa2e82981f8a9439787e56229ba3a92dc49c03be53c556f299ffc549dbb4be05e51707bdf2003cfd9e509e07327074f65e515646963f4c5a63b3e3d5513d717e972cd9bc3fa30227792f0544c964c81aea4d8dda571b194dc5c121fd6f41c19499c1cff75e4fa1ab85938dc91ca5b19707b4e3788e732f5b85c0adc65782705ae2ecc87e170997497cbea8e66de0acc536983ff92e08e58de0a81bb3b72aff25c1d4aee24234bdb185f447277f25287ab2be2ce7eb83e39376b89c7199c072ab94c402e9798676ccbffac9efdf352b2bb08ef84e4f6a06e50cfd55df930176e0e8307137a01b9ba2bee15eee61478b01b8046dc9d1b172b81a72dca7b71c9fcdc5cf1c3c05ca639972b88258ed17f2d5d1e00174bce1d59782b132e93a42b09ca1337e78b93eeeecdbdcae18e459e0aebf274176bcd5288eb93e0665d79197a5cd2f35f6f5cdfa3bb35e5f2dc5cac226e4ecf8305ef57ef44c3b34bbc14034f2611aea4deedc96e1082a56cc7ff7c58ca233ff56659eb03abb83240ff8be3f6e4b8595a6eeed187f9ae6ee9c3d8dc25281eccc995467ecacd1237c01721dd99c1530d59320dba9268b767758384ae0e810f3bb48c59f13f3f4f252bfeab84a72d81f76263895be3bfaa6eac87ffb5b94cbbcbf5bb3a3f1f967579045cac0a8062eeeecbbd12e1eaf87c18d6ed25708326dc1c9807032248c2cd55f161015c1dd487f5b933eba928b836a6f7a2e1f67637c8e6ca1cf89f1677b774af14b839081eac88bb24c58325b09c0b3c017b6edb7c14a2bbe3ba5807dc3a7d94edf27c5cac3b7777e85e6d5d1da47bb5743be8a5949e4c5a5c4903dc9d03f7ea84e58dcd17f11c9bb9f0c02a77de79aa1d5757e4c3085d9f909b55c1e308c6ff76b7a7e4063db8bd386e5616a9388f12ce4f51707b54dc2c209749cbe50ae17ec43bb1b939290fb6e84e219ecaccd5cd706789ee4ebcd30a400a2eefeb06bd3c69b107b6392633e381005ca636976b879bb3e1c3c6a52d8b2f16b93e0c6ed6175797fbb03657d7c4bd924b1c15ff15b58c41f1bf3d777ce1ad5258defc7c5182e717cb1c000f76c1e3929dff9af45cb2faaf1fee6ecfbd2ae2ea887c5806c031d7f7c1cd3ae32927fd540d37a6c6ff38b83a22b85e6f3c9562f82f0c9eb62cef25e959ebf340afbb83e262f9ee5fbc530f57c7983ba9cbf5a170b324ddcdfcc4e249737a609da7d208ff45c1ddc170afd6b84b4a3c98929b23e2c37a7724f3565eae8ccfff24ddddec5e4959de0a7df182eba3ba59849634251ea8c3656aba5c55eea8c15b05babc46170b6c195bf43f327757c4c59a1d9b6df0c0046e1bf8a8427757c1bd82e2facadcac1f6e0fc90d767073527cd88fbb0eefd4c0e5edb95852dc49e6a9c6a7edcc7b0d6f7978a92b4ff9c54fc5707dc4cbc57479025c2c099e2315ffc3dd1d08f76a8b654df7c0aba724e3a7163d97a8fcd7a3db53e10627dd4ef9283ed737e666f510d3e0a983ca9d04e5ea90b833219e72cb4fedb9bb2d2e96004f09e6a7fa5c1ed3c58273a7a4a742e1aef54e3cdc9da17b857599c2b892aa963a74dc49bdeb7b73b390b8bc2d6e90c8d52df930116e4f8a9b25f53876f13fddbd84775a727d65dcad3997b7c0c58ae1e676f8b0da5349cb7fb5b93b0eee9516cb1b0d5f2ce1ea28e04e0a729be5a326b83387a70a3323c1abccf579b9598dee3ce3a93ef03ae1b68297b27961dd5d9a7bb568491bf4c0146eaece8341bab9240f86e8f688b859bc3bb2792b086e6fea06ff2c6d5b7cd16a692b7e31ca8d11ff87c2d511ef1592ab13f3613bdc5b78272a5707e4c324b83a02b893a4eeae837b75757746ee159e2bb3fdafd133b6e47f045cdb7caf14ee14f35403f73c95e2f82f172e139bcba5c3f2f6c2174358d6660fc4e2f6b66e5692e56cd20323b873eaa79e58de705f54e0199bf2bf22b7d6c47b8da961ccf5b971b9709749cee502e2ea18e04e0ae03239b95c829e4a82fecbcf651273b95cb83daa1bc4e0f7c412b7c27fd19eb5380f9ce3da7ebc577079237ed1d15226f92938f71fde69cc8dadf1bf0eae6e873b63747737dc2b39bc847732f154716e2ef86145ae0fc9cdf260b984f5600adc251d1eacb7bc617d7186e52d822fd659d66078afded52d71afbe3a78dc493a6eef768311dc1dd4bd22737b12dc6016d797c6e592dddca0072bc36b85bb24c68385b9d388a75ab364a2e04a922d6d237c71c94b83e52dd01727b8e393b7427279462ed6065797c39d2dba2390a792e24e444f95c0b1d9ee8152570704771297c7518eff01b0c429f15f3dee4ce1a99e5c1ea18be5c5d54175271570e79ea7f2f15c2af35f4cdc1c91070361795bf4c5117e5d963821fe4bc79d487e8a8beb13e26e3d59dee2f862108f331f0f9cbaba211f86c11408bf26ee14e0a7a2b833d253817099265d4951ee243e550bd737e766317179b38b356679e3e08b18dcfa7438dc990c77d4f2565096b546efa5e3ce324f155b1663fadfd39d789eaae9e62c783032ee2eea5e957994747eaa82db145e6ac8f56571b720b893eaa7b258dee47c71cfb2067ce018b7e6c57be1b975f351295c1d087796c1cd197a30aea78ce0a724b83a36ee1501770ce1ad32b873cd53e12e0f891b64ba3df35124dc5e0d374bdedeef0635b8bc3f17cb8adb0b5e6a69f9022fb52e53d4e5f2f2948f7e0ad1e308f6bfa6db341f65c273c9c87f01316dc985fff2babd243768e8f2f25c2c286e4c88ffc959c68cf89f9da592ecbf0eb84c6f5c49526e9f3e6a777d08dcac136e8f77836d96b8405f1cde9e1b37abca5336f0537e2ed3d4e582e059d3f3c0aea52df8c5aabb10ef64e6f2125dac372e0fc9c5eae0a9b4e6bfea0009dda5251e6cc9cd3579b04437a7c387d12ed3d69564756b6bbcd7054f9aa1072ababe382ed76e896bfa62149797e562b9f0c44df962185707d39dc4bb338ba7fa737546dc1910f727de8985eb6b73b38c98617873841e2cd2cd8d7930236ea57cd49e9b0be3c392dc9ca40fbb727550dcabd8d521e44e9aba3e31ee169c250d8307aa7075b80f53739be8a5ac964bc507d3f3543ae2bf3cb87df25176eed8e7ade45cdd970fabe1e6baf8b0df1da79e6a0aaf387797c4c552babd2537f8c19d353c95973ba57e8a89cb6be306a5dcdc0f1fa674794b2ed60777a7e85e45babe2137eb82cbe373b1a6b83e31374b87cb0b72b102dde9f453480031782e9df9af26ee5cf4545a962bf0b28bab3a9727e662e17099965cae3f3717f6610d5cdd960f5bf494b897e27375531f16e8324170b960b8b50d7e8649d7f7bb591b0021b83b1ff7ea81cb4b73b184b83e25ee9602970776835f964b590f96e5e6aa1e6c84db93728388ee4e8e8b8565895bf45f4ad797c2cd7ae3e6780f26e856cc4771b0c4bdf05fb75b2bf433d8b94c0b5cae119e343c0f24e1f66c3768e6cec33b89b9bb19ee951b7714e0a9aab83b79af10b8a3096fc5c153e986ffd2e0592f5e8accdd1970affe3c9526f8af3eb7d775b3ba2c65efa5fc3c955cf8af0b2eefc8c5e26059ab3d10d2dd8677fa72997c5c2e2db717e96621f07c80af13776ce0adb2dc91d05b49b0ac1d7a2ff9b42df05e93ee78e6adc23ccea0786097cba3ba58185c5d940f53e1c672f85f9abb14c683815932f1b992e4d346e5bddab8a3f04e4e6e4c8cff09bac3f939e9f61ab8411cee9ce1a9b65cdf02376bd1e505ba5890eeeecebd0ae2eaf8dd4945ee4ce0a7c858d60278a0d6ed7db9411a2e8fc7c5aa7317f439dc6532e07249f0bc1df9a29925ce8dfffadddd1817abeac6c0fec7c2dd51b95718dc1c93075be18e59deeac97deb9d80b83b22f72acecd7d79b01f6e6f831bdcbabedbcd42b3ccd11e4c82bb1b73af52782a49f92f359767bb586696b616bec87427a0a7927ac6c0fc0f7897e278b0389727e4624d70978a7830e0edf5b8413bcb5bd517c95c5f0737ab8cbb9b9f6e5c26e0e5baf3b4ddf9e2770ef15467964af2bf0cb84b603c9897ab03ea4eeab1640274258df726de4985c799150ffc7275fcb8939eeeae8c8bf57b3225712501792a29f9af08eedce0a9aaee2ce0a7ac78d610bdd7bc3a8cdc495597d7e7625171a79da702e0c6cef81fa13b94973e5c1d68ae571c5736fe0f863b053d55903b4d78aa26cf19f1816996373c5ff4736337fcefcc9d8677ea72afe29d60b83a0feeec82dbfb71837d6eefce0d42f19c35f1402e5e22dc5c020ff6c2d296e88bbee7adca17d7dc5c050f26c6cd2df1613dee53bc930b778ce1ad5658d65c782fd9ed988ff2e0f6eadca0134f49c34f91b0c4297d7189abebf361c1bb53e05e6df054cafaaf435716e67f90eeced1c5924fdaa107c2b0bc0dfaa2a0bb0be2627d79155cacab3bea78aa229e9d6395b76a727d04dc2c0bee18c0535171999c2ed796dbe3ba5953968de3a5dc5c5fec668df1726069c3e08b33af0fee521b0fa6e6fa02dd2caca54cc7ff7ab83c152e961b4b1db82b2984ebf3ba5c00cc56b83b0aeed5135e5c6e2ed28725b0a495792007978980cbd5e6eeacb8583d96381ffecbf7bc3dfaa20acb9cedc1023d2e05faaf38ee78c25b75f05472faaf062e4fcdc57274798b2e96175411cb12f928249769c8e57a7375c37b75647993f4c51f2ecf8c1b64f2ccadf060c3e7ccf204e859b4c21297e68b6cdcda17efa5e716d14b09b9bd266e968fdb5b73838f963630be68e4ee04b8576aae6e7e18047757c2bdfae2f2b06e9080cbf3ba412e97b7e562c170978e78b0233797e5c170b8b3c94f85717db99bc5e69ef54e37dcdc151f16e4dec33b3d2085e7eaba7c58a32ba3fd6f869b43f260282c71545fbc9afae0a944fb2f2ecfda9707b6717d8a6ed67049f37aa014cfa5f1bf165d5f1877cbcdb3a6e5816cdcde003748c1e5f12e569bbb1374afa278321dba92982e5300978bccd5d13e2c82258ee98b4fdc1e073728c6dd0d71b1e6cd35f1614e5797e6c388b8b9343e0ccad55175270db9beadbbf5e6f6c4dca00e97f7e4629d7075097c180a4fe9f55338dcb1d05b4d706391fea7c132b6c2ff1cb895e1a5963c6b4f1e88c665da72b944f0da737dc09bc5c18d15fadf949b0be1c126dd1bbd1397eb73e166752d73323c98d7cd7df161476ecf77836fae8eeac334b813809f1a62f9036592e34aaa7273661e2c89dbc352f6fb5f1277a43d550e7746f929e1dd8171b186dc5d987b55c2e5c570b188cb19150ff472a70d4ff565c9e4e74a9a5e6eae0e8c7bd5a306327732fd94107720de89ccd2f6c21775dc1cf1c3ba3c693c1e4867de1208ffd5757bf3061db839320f76c49d8d9e8acbed79dd2c2f5e125c1d69ae971c3766c3ff2278a445796005b747e806bfb8230c6fa5c2d56d71af98ae6e8c7b05f56422e24a925a16eaa300583211ba926c7744e1ad3cb8bd3f3788c5eda1b941474b9bd27bc570735e1ecc87dbcbe2660d7073717c9896a71210ffc5c1f5b171b96a771cf3565daeadef85c2edbdb941241e696e3cd089a50d8e2f2270e7034fd5e752efbf6ab83eddcd6a737d476e96a13b7b78aa079672f65279eeceeb622d70774f5cacdef296e88b1fdcdd12172bf75422e3bf54b84c522e17a1ab6374678a2ed399cb55c31217c27fc9a79201ff75e6ce379e2a85eb93e26e7db9be0b6e96d69389892b69ea2975f829136eeecf8379b164faba92b22c6d91beb8e4ce369eea84452c5c9f919bd5c1ed7d71b38cdc1d10f72aecfab4eed69ac751f8bfdedd847762f28c01ff27e48eb5a7d261797bfa2298bbb373af80b83e29374b85db0bde2c22cf189eff1d70473b6fb5e6e6cef830042e13d4e5ea726d44de6beb8e15bc959eeb03e36eb579da1c78af382e939bcbc5c39dc5a782e1e62878b0ad3bf33c158fcb94e672dd7079822e16d6655273b970b83206fe87c593b67b609c3b9b9f58b7573e0ad03296c2ff1ab83a29eed5eca974f55f273c978afc970f8fd3ca1380bbb10dfe47e52e39f1604daeacfa29354fa5a8ff7260898b7df188cb3be162a9f1bc39fa620a5b50ae8ecc87fdf0ac0d7960184f79f5532edc57782728cf226ecfcc0d02717d3cdc2d036ec35e8acea3c4f35382eeee877b05e625c06502e07219704719de8a853bbe79ab32f722de49cd52e9ff62727d416e1605771ef9a92daeae8a7b65bb53d1535159de8a7c71cc53c6c3036f4fa62aaea4204f79c44fa5707558f78a7779926e90ca95f5f9dfa4e56dea8b0d2c638ffe57e7f616b8c1186e01f8a8f12977bc9404cfda98074eba39263eccc7d5f5f8b03c7737e55e5d707d4edcad052ed393cb75c1edf5b9412bae2ed2bd0ae0fa4eb8596d3c630dfccfc8d5e1e34eda71753c3e0ccfe521ba585c57a7c187a9b1dc8dfad2dcac21ee6e8e8ba5c0dd6170afaab8538ca72a74a79ba7cadddc070fe6c6f52d71b7b22c97ba1e0ccf9505fadf1cd757c5dd0a737d5b6e960cb72dbc9491cb24bb5c537707c0bd027379195cac2e2ecf808b15c29206e881275c5e9b8bf5e84e253fe5c59d457e0ad21debbc959aab73e0c3747894807e6ad092167ce0107797e75e39babef16641b0ccfd607d6e6e8a0f031255e58e003c9511d7c7c5dd427399de5cae1eee4ce2a9dc5c9f0a370b8ebb43e15e897179b88b7566894bf45fb5cb44e472c1b93c296e10eae6fa3c1817b717e50651b83b7aa708ee68c15bf1b93c276eb0c76d9e979297a774b1d03c251a3fc5e84e379eead0652273b916dd5d0af78a8c3b5d782a2bb717c20d9e7173811e0c8cbbab73af7e782a6dfd570ab737e9665db913c84f39717bf02a5e1d65ae97a4a704fba91cae6cceff225ddda00f33e38e2bbc5509b777e60685f01ab4c401fae21c3727e7c1acb83b272e16ef197bfa9fd4ddc171b1a45c5999ff71717d64dc2d3977f4f1544b5c1e978b25c3f206e78b7aee04e1a9902c69821e88e8ea80b8b31bee6ecebdeae129b77e4a8667acc7ffa2bcc85c5f979bc5e8f602dda0163777e5c16a68029787c50d06b0b475f1c59f971877c9870703e0eae67c98145767c29d19ba3b1ceed51c37b7c6874979d6e83c707877665c2ce09d417e4a8aa5ccc8ff94781cd3f89f6f4993e2813e78d970dfe29d7058ca2b3f95e72953f440d9cd797dd897e52d862f8a70778cee95a425d3175752913bc778aa0dbcd8dcd6f0524e9e3a16b893a65ce0efd18d71fdcf83654c8afff1b923046fc5e5eae27c9813d7a7c1cddaba23076f558157a0e56d8e2f0a710fbe930d4bdced8b4a5cde1237b86379bbe28b31dcde12378bc79d5d4fe5c21d734f05c4b1199a0722b9bb49170bcaddad70afcc58de745fd472771fdcabacfb0cefa4e5980c8407ca3b63782a05ae8e22771201d737c3ddaaba3d316e9692e5ad842f6e708c16c40371b8bc172ed61ccf1a9607aee175e6e668f8307925d54fa5b9be176e96d773a6c40317b8be046ed6a1bb3be262d5eee8e6adc83ce50d3f55c2534980ff7ae05ec63b0db104bcbc306ed0c853a9cf7fedb9f388a76273271c4fa54254939bbbf3605a5c5d1277e6e8f6c0b85947aeb4faa9358f23d7ff989eb108fe97e4eebcb858032c6f42be28e64e1a9eaacbd51171673ddc9c191f76c06d041f35c22dd84bcdb9ba1bee2c862593a02b69e685c6d692db3b72831c5c5fef66c159daa4f822014bdc10ff05c0e599b9583edcde981bec61593bf24032a090b85df35187aecf76b3ce2c6b35bc1700d767c1cdeae2f2e2b8412ccbd7904c615792963b32f0565896b4081ed8c19541f0bfe0dd11ba5757dc181cff23e1f6c8b8594cee5abc53a325adcb0333b8e3eea9847832757025edeec8e7ade23cca7e78206e796be38b3e3c977efc970e770d5e57bc95faa8a93b3a3d151377d7c5c5127277bb7bb5e5ea68b83317aeeec88779b09719d777e566b5704712deaad01277e48b59d7b7c2cd8ae3f678dc609deb0be06605ba3c172e961c97498c2be97797ac783029d707e46601ba3a49f7aac8d5357dd89d7b12efe46619cbe27f802ecfcec56ae2fa98b85b5a2eafc9c512e1f27eb841db1dafbc9593270d8407b670754a1fb6e6faf6dc2c2baeef88bb65e54903f2c03bd7f774b3f65c9f959ba5e8a9b4f45f5e2eaf8c1b5c7277535cac1d773af154732e2fec06c1dc1d1517abe9ce2a3f9586d7197717e85e35b16cc6c503c35cd9b9be2eee569aabf3e1ce6ab8363aeff57579295cac366eadf85e242c6f9bc34b51b9bdde0dba59deec7cb1cfd581e44efa2d971c3d58d5ed2171b300b83ca98bc5e7eea4dcab4197f7c60d5ab9bd036e7084cb34c0e552b32c1a2f95e6ee86dc2b384ba5f1bf9a78cd70773edcabaf67b778a931cb9cecc1003d7179be08c7cd89f0606f2c7166bea8c6edb571b3a85c5f1b97eb76e7d553497079712e161277e7c1bd0a5e1e1337d87487e29d12dddaf05208dc51ce5b9d792a75f15f285c2628970b839b6bf360515c9d051f56c6e551718352cf73590ddcdd937b55c1d521752739dd9d9b7b85c3b227bcd48fab1be0c32cb83c3c17eb89dbd3ba59c0cb7be2067d5c9f8e9b35e7e61c7dd86e69c3e18b3e96b8dc179958d20a3d9085676dcd03e378da18782f386ecf8a9b15c0ed7571b3aceeacf3543aaeae873ba3614973e2813cdc7182b7c2737d14dcacacbb6bba570ddcbd78a71daeadf65e2d5c1ed70d46b93ace5c2f38aecccfffde58de0c7d3183a544e0a7e8dc9806ff9372679aa7b2dd5da48b85e4ea50b83310ee1fbc1370b992afa4a71290ff127327144f55e72ec1f16070ae6f839b35c69d06fc14185767fb3034345c1e03178b86bb03bb585f2eaf881be43d752470272570755e3e8c86e7cccc038fdc5d13176b777d53dc2d30cf199d072e7932197125fd78cefe940eb747bc595c6ecd7c940897f7bb581adcf9e3a79ab839303e0cc9f3f6fb6299cbd3e06269dd11eaa99cb83b1bee551ccf59f1816a9637de17b75c5f6f96033767c5870970793cdce0eceaacb857b79b2be0c13c7816899702736368fcafd0ed397083395cde1a37f86449e3e081896e2fcf0d4a7173791e0cebeab4ee55d30fb706c77b757047386f65e6f2c4b841247757e45ec9b9ba331fe668791be18b856e8c83ff55b985f3512b5cdd9e0fbbbaa30b6f85e8f2b46ed0ea2e31f1604c9eb2151e18bbba11ee6c83eb2be0660d7ac6a4fef7e34aa697fa7375f4ee24dd9236c703a178ca297e2ad15256e47f47dc5d15178bc79296c60397b8be352e17ed325db95c86ae6ecd8715717d856e96184b5cf0bf0278d25e78e00c77b4fa2a2597698d2be980dbc3e006bd58e2acf82fa92b5bf3bfadcb23e206757727c4c56a6721dc5e12376bc792b6f5c0239e7fb567e7069f78165bfa9fd3cd3d793018eececfbd42e2fa04dd2c2eae6ccfffdc58caa6fe37c4cd45793019ae0f8dcb155be67a0f66c19d4a3cd59b3bce792b347704e1ad30b83b02ee959b2b5bfadf0d571776af9a5ca6062e570acb5a10efb5c0f5e570b794dc26f051666e03bdd4eceaaeeed5eeeeccdcab447718dee9caedc570835ed797e866cdf19c6579a0d5e52570b14cb8bb35f78a862d29b737e70699b8ba13eecc83ab43f36143dcde961b8461999be1c18acb5aec81575c59ed7f8c9633371e68e6f2c0b841e0d565dd2bdf93261fc8e6ce259e0aceddbd71b1a2dc9d977b15c2ad11df2b84abd3e1ce66b83e2d372b86cb2b73b17ab8338ea75ae1ea3ab8330b9638425ffcbabc29172b85eb03e26e2170773ddcabe2b3582f05c1ed4571b3a26e0f879b15bb437aa7199636e117955c263897cb87db2d1f55c1e5c1b958475c263097ebd045066ecfca0db270679fa77aba3d136e708d9b03f4605a4fe9e8a750b83d223738e8faaeee1699ebe373b3aeb8392a0fc668895bf345aea54cc9ff98b8bc1a6ef0bb84c48321b9bda61ba4f3b49579af399636ae2f36b9bd196e10ecdec13b552d6d427c516a3913e08141a4743c95c6fc979c3bc39e6ad1cd39f1614f4b1b155f2ce0fa1cb859392c75c8ae243877dcf35670ae4fcfcd9ae22ee1f060bbdb3be266e978323d712505d09908d7c7e86e595dde0817eb8ce50c8e079eb9b9363eaccaed157083829637415face0e6caf8b0265e013c978078b0a6e5ed8c2fea7099ac2e579dbb93e26201f09c0179a000b7107c94a1a7d2eebfbedc9ef0661d707d456e5606976775b1085dd9e3a5025ddf17778bcd653ae34a52727bb41b24f354e2f25f6eae6fea6649b08c29f13f3c7707bc57779e72f853372c715bff45c05d6ae2c10c58ca78fcef87e52ceb810cdcbef05248ee28e8adf67801ba3d2e6e56d5634cfe8fc72d8f8f9adddea01be4e2cae4ff5c58d64c78af3e755cb993a2dca5241e2cc9ed021f25c8cbcf3236c4ffe83c6f4abe18c1cd69f16105dcdcf0c3b85cad59da72ef25c3dd7d71b10a58de7c5f5ce0c9b4e84ae27167194fd5c18f217784f256499eb1a9ff01b925f3511f5c999bff91717b646ed007af4297e981cbf5c25309cb7fb1b963a0b7bab3b40df1c51f9789e97225b9be27370b8565872f05e7faaeb85b0e5c9e958bc5825717d747e7663571977e78b01d7777c0bd92602bca5369c87f8db9b9091e2c8cabbb7d589aab3b74671f3c9720f8af258080ae8e843be3e0eec33b41f05482e2bf46b8bcaa8b95c1b3e6e681725c1e07172b8cbb34c5833db9b90b1ecc8c2b8be07f5e5c5905ffebba23a2b7fae079d74359e1a5c2d595f930209e15be149a3b07f8292a96cd107860112f455787017752929b4bf3604ddc9dec5e45b9b383a7fadd9d05f74a8a3bf93c95d3f555dd2c0d8ec582ff0b74794f172bcfd206f645294bdcf0bf902c696a1ee8c1f549ba5c4a57c7c4bdaa97d49d5e4ff5c21227f5c52a9e4b07fc97a3250e87ffdafdf42c7151be08c6f59170b3d6b863a2b73ae1ea761ff666894be1bf66cf2543ff457c1cbbfeb76329f3f13f20aecfcecd7ae2f63cb8c1321e69323c90d11207e48b565cddd6bd72ba27505f0d77cbc89d3e3c15047717e55e59707b37dcac7169ebf15e3adc5f78272bcfa536fff584579ebb3be15e857127174f256889ebfaaf24cf39fb291eeeaecdbdb2e1f268178bcccd4d79b019eef4e2a9062d6b4b1e68c6e5f52e969b2b23f3bf2d6e8e8c0f33e02e7ca747770e9f4ad1e5757183549727bb58105cde0e37287bd6ee3c9078a71c4fc5c2f246c1172958ded4f8220fd7a7c5dd1a730fe19d8edcaaf052442e5399cb35c3d2c6c41783dca9c25341b9738ba7aa6079abe28b302c6d4eefb5c3b2391e06178b8bfb99ea9c7cd8093797c1839db1accdf05e4c9797c40deab83d186eb06b2953e07f54dca9e6a96e5787e7c3aeb83d1f3778e7eaa07c580a3747c5874ddd1da07ba5c4e5ad70b1242d7df19441f95f14b727c4cdcadd3183b7027475ba0f73737b58376bc8ed05708380ae2eeac3fc5c5d1bf76ac8f5c970b3c0ee34e3a90c5d1e9b8b45c412b7c017c9b83c29170bd1f2b6f4c52c5385aecfc9cd32617997975fdc9e0f37ebb6a46df14022ee0c5e0f3cca1c3d50e9e68a3c58084f1d0cdc4955a202b83c216e50e9ea20e04e12e0fa26b859c1bbeb73af8eb8bd0c6e50eb368397d23d9712f8af216eafc80d5e0094e132b971253db9bb07ee150a5727e4c304dd5e981bbce1ea3eb8330c807cee18f5544f2c07f44b3d2c71147c91b8ac928fb2e235c693b6e78125dc5d01f7eacdc5303737e4c13e58c646f8df97dba3e166757983f44519ee0ecfbd12e2fa9a6e969d2b7dbcd40497a9cae5dae0a9a357d296db073eaa8325aec717a5b839091eec8be58dce17f9dc29e5a7ceb8337aa7059eb3b007ae59c668f89f99cbf373b1aab84cbdcb75e45196c603775c599bff8df1ac9979e01bcbc6f9284677943dd50d3767e5c168b8392c3e4cc89d497eaa8b654578a9a867adca03d5b8bc2f6ef0077ce0eaac7c580b4fa616aea41d97098e2b69cae318fc5feef2e45cac24ae0ef8611d3c97e0fc971b77ccf3566ea63a78ca4a78e0bcbe3037eb862b3bf33fadabe3803b69c91d714fd5c3edf570b36ccf9b932fa259ca20ff83eaea28f8b031ee0e77afae2c6f297cd1d09246e8812b3c977cfc170e9717bcc102ae8f839b45c67dd13b6559e20c35c6c3ffd85c9e9e8b15c5e5a57183082c73401e6c03a9334b1a130fdc61896be08b672c6d6b7cd180db5be106df58daacf8e290eb83e26e75b9bd2b6e96003717e7c1aa58de30f8a205b767c10d6e717b27dc201bcb5a920796717b63dcac256de2cec53be5b05c027b303ec115ee92110f66e4f610dda01bf743ef74c0edf506c32cd7d39e063708c6d5b1e44e3a727558dc2ba53b8279ab2b5e652cbff2928be74c85074e79d6981e18bc3120fe07e79953f460c4a7529cffba737756ee15a1cb64bb5c055c9e938b45c2e56d70b1c0b8b9af0f63e0faa26e569fabe3e0c3b8eeacfa292d2e13d5e59a73c73b6fc5e6ea2ef830e19d04fc541557a6f43f1beed8e6adc6dc5d1b17cbc93d4e7b5137b8e7f646b84134eeae78b1b8dca5281e0c81e7b8c3ffe61207f5452aee58e6adbedca5271eec80cb14e4729db9538aa7baf37cccb854e8bf86b717bbc1076e2cec7f8996efe823bc539227d3075712ef1923f33f24cfdaed8159dca2f052537737bc58599634ad07167137e39d88b8b9230f76e88e11bc1503d7b7e366d5f19273795edc60550d6f2e0fd20d0a7067efa780b83c3017abd12d9b8f42c16b84e75201ffd5c3532af0537aee2e77afb278c1b94b633c580357273fec81dbd371837196b818fe0b7779145c2c2d2e9391cb85e7e646783038ee04fe54f032adb95c395c599cff09973824fe8bc79d733c55a22b6be07f59dc3185b71ae1f23ab8585b3736fcdfa125ae5f2ce2a904c07f31707d3edcad032e0f848b55c6657aba5c0bdc1d967b55e8f69adca0085717c6bdf27197d8783034cbdb115f5ce1e6c4f8b025cb5bd8171ffd24b8c5e1a5a62c7150fcd7d3d2a6c41705b83a437736e8eeb0b8584fb7f7c4cd7aba93eba94c78ceae3cb0eaf6f0dc601477f7e35e457073461eec84a5cd882f4e5d2636ae2427b707c00dcab9adf2517eaea4bb9bf72a81abcbe25ee59e3aa2dc494f6eaeebc3bc3cebc44b85792e25f9af206e8eebc3a87821baba033ecc843be33c15efeaee7c981597e774b1f02c6f3abec8657973e08b71ae2f89bb85e5f6c26e5698250dce0343b83a2eee958ea7ece1a74eb8bada879db93d206e96d253a6e57f552c71107c118dbb1befd593abc3e94e6ababa1d1f66e72995f82915eed8a762f428ebe081bd3e23ee5695db2be106d5b8bc2117cb8227cece17dfb8bcddc56273e798a79acf989fff21b04cc6f5c0a672f9b84b683c5899bb84c58359b9a3076f35e8ee4cb857602c71c5ff52727d03dc2c414f1b04ef25c732373ed89fcbf3e1066bd71776b97a2c6b8ade2b7673437c18efee58b857c2eb5372b340b83d353748c49316f5403b4f2510fe6b82db8b73834adc98a3ffcd592e69f160589e310afef7e4f264b8585dd787bb59690e32292f5b6285ea655384049112048a142c549e0c8132050b162c57b05cb97265ca152a53a6601922450a942758a65cc1928448922b53884c1932a5c890290428f0b22049aa58595959193162c4081224478e14293264081122468c00814c982c599224892c015902b2045e56658a14234680c002a64c0153c54e952243aa54a932a508912158b050a142850a152a53ae4c917285ca949f1595293f2b2a537e56547e565db82cb0458baccbcbb2fc5157ac5e66e765552fc382a508162c55aa54a942850a152a54a85cc172654a112243b05c9922e56551a2448912050a1428505e86e5ca94224f9e3061b264899224485e36e5c8cba61401be6c0a912153a610c172654a0104bc0ccb94222f132244c8cbb05c994264081557b080c28927ac6005b98245144d4c0185134fdc90851158440cb1430f3934120185421f18f24003421760b028863f150012448104b23b1fd3ba8058a48f7de18516b1313e3687828fc55913e3f3313d7adebc911e7c0d5e5ec6f91a92fc0c41be5fbe025099a1ce8f597ec4d2c66a899224488e2c519204c91123c035662c519204c91123c0df563f98c234f0652f5cec70a9f3068d9f3672e4e8d1a2c01b2b7fd4d469f383494d1a2873ce34fae36889f39cf9888e1d2d61c2840993673efae1a9a225ceef071310089cf3fbcd49f39c3972e4cc4760aa688963254e9ba950912307ca50e23c673ea26367011e6f2627878867b32426081b2265f2fc0c007f73ecd439330367ceb83102fc59d97164c7911d47761cd97164c7911d47761cd971f457bdb15554430d446a8821461a6f8471c61b6a5c01460c6c80517cc30b288a5b30b1c514456c91031a332c010322347a80e285351031718515524081280847500451fc21871f7a50c3d10ec51c6250a30d35c4b8010d368a6adc60c657dd30c50d35bc81288d1a96a821862d1ade281611e5c0a8511231bc1143f18537aa5cf82aac178a55578031f45bca90d4c657b1f1556b7c951a5f95c657a1f15591be4af855657cd5185f25c6576d7d55185f05c65779f1555b7c15d6155f65c55755f155547cd5145f25c55741c1c4115f5584a31f76f8aa1cbeea061abe8ad1572dfaaa18beea855f4a9b3556dad096284982e48811e06fab23468c183162c4c8468c00932011e3c3d0137cc880e0d07f31e0bfbcf1648471d27c174428c45e4ea4ff62e7bb10f021bcd993e4ff6cf15e7c30e40218a536b535668800498e9136b42d64b6cc2d25d0b9edde04519b03814020f0f7fbfd7ebfdf4f0210ca047a061678c3823416d8fd99f3058ca12716281f3220600326d01632bcf8f0878c2117f0fc01a3f4c7499b9a1b02d698d100940890da089163c44e9c36b42f4fb690e91267cbec32674b0961bca819da32af06dc0dc7dbe9724bb85b6d268b4df98eb7dbed74bbdc6e6987dbdd76b5dd6c27dbc516d240d58b19e0b7f4b734edf9fd96db6f21f25b6c1fc68bdf52fb772efc2ed1ef4af8dd08bf13e177857e97c1ef30f89d98df39f0bb067e37e977927e97e577557e97c0ef90fceef73baadf15f91d91df0df95d01bf1be077417e07e4773f7e17f5bba7df39fd2e8cdf7df13b1fbfe3e27759bfd3e27756fc8e8adf41f1bb277ec7f43bdfef22f8dd9edfe9f95d9edfe1f9dd9ddfd9f95d9ddfd1f9dd9cdfc9f95d9cdfc1f9dd9bdfb9f95d9bdfb1f9dd9adfa9f95d9adfa1f9dd99dff17eb7fb9dee77b9df2dfd4ee977b8dfdd7e67fb5ded7752bfa3fd6ef63bd9ef78fcee87dff9f0bb1e7ec7c3ef76f89d0ebf8bfd6efcddfcdd0dbfb3e177f27734fcae5741c1c15715faaa14aa107d99f25fa454f114b5f08a5650e4e51561897a45bd57b4f489be1241fa44557ca2254e2443a23dbf8219afc203af429357e1f72a50bd0a017c0a617c0a5b7c0a8c1e910d8f08d1233ae15108e351f0e25160f428f40fbdf187d8f84353fca1377f08cd1f2af387bafc0991fe04477f02107f828f3741d09bd0e745802482132fc2950f418407e1071054f8a086f7a087f7c0ce7ba0e60db1f086fc18a2f286923c07ff06596c40c1174a5328812714e70969f9417e7e109e1f44e70741fda01e3f08f71614df8237de8234de02325ed0062fa88217047c41bc17847b41ad8083afa0cb5780e4030d3f509e07447c40533c203dffc788ff23c4ff61f27ddef83e637c1f2f9e0fd7f339e2f9e0f07c26783e7c7ecf08bfa783df53f57b84fc1ea8dfb3e3f5085f8fd6e7d9e0f360f0786c783c103c1e318fa7cae341e0f118f078903c1e02de4e9c9763e4e5f85e4eeee378f171ae3ece141fa78738683e4ed4b711f26d68cfc68d5f63c6afd9fa358e7e4d0cbfe6d0afd1e0d718f935548f46814783e4d1d0decc126f26cf9b39f366b8bc99de9bb95d068e2f53c19701f465f03c19b02723e9c998f164bcf83177948cc93d04c38740d043c0454c9017c3f4626c2f46be036a7c03501f26ebbf90f15fa0f82f40fc9741ffe5cd7f19f35f9efc1725ff85c77f617a2f442fdf65ebbbd4f05d4ef82e83be4b9cefb2e6bb20f05b86f82d2dfc1643bf2583df22e6b720f05b90fc16218a147d9c2a9ec819384c00f9994f9e3bd75983e60776e0305fa43c01f4c74f1f3e7bf4e4c173c74e1d3a73e4c481f3c64d1b366bd4a4412364899224488e1801fe8a142952a4489122458afcacacacacac7e4b94244172c40870002156554b94244172642b2bab223f0aa85a8d1c3f7ef8bce1f3464a962b0e5cb912c62ac911255648ac8c00ad7e5152ac9624f9b1fbd9c24f127ef6b00353896901e96358689912e5012d59c0fca5ce962c57dc58994a43f8f7a4a18a12e53353e5d163678e14739d33550f70c0ffe029f993188942406ac6fea82351bf3fea098cd2f90aa5470da5f7474923fe3372849722bc0c411a7ad9c13bf9901b7c6b787981f4f372cf4b3d2ff3bcc4f3d2cecb3b2f15bd53062fe7bc64e19d247809e7e59b976e5eae7979e6a5999fcd6ebc64e04f331e90c47b9ef0e1670f4e01c83aefe4b41e2700de49c74b3055e09f739b97635e42f052ccbfc649beecf2924b035ee40f2d2b60a51fbc133aad1e6ebfe402a25faae19778f8a52a7ee9f74b5a9e78991e3db1411f5bf313061466123f87f889c44f277ed26410e2270f9d224df8fdc899b729c43693fd9116bc94e0e59fe1b8914267cb962c59d4e4918fe49ce54a5494943acf20f3d14fe0c86be162c57175561fb6c1dd89b95787eea4e2a9f27881b18c95f03f30cb1b1a5fdce1f26217eb81250d8b0706717b4b3798664973f34010ee4e867bc5756b63bcd79fa5ecc7ff1cdd181bff33f4ac8979a0a4a56dd11777dc25371e6ccde54dbac12af71cde29ccf226fba215af09ee61bcd30fb797c20d4aba13eca96458de3ef822a13b5ef0567e6eaf8c9b65c0ad0b2f75e4eac60f1b73c711de4a833b4378aa244b9c0dffa55bd2a078600f4b1a9b077ef018f3e27f133c9f63d7e45e01ba4b5e3cd802b7b7c5cda2ba25e3a52278eaf0722751b9bdaf9b05e6eee8dc2b1f2e6f8a1b8c5aca283f65e7e61878b020663c3c69481ef8e7fa92dcac0f6e4cf8bf0c2e8fcac552e1fa9ab85b5b9e4a28fc97a05b1d1f35ef7cf253652ca33d7a600e5776fb1f0d5746c1ff88d757c2cd62e3ea00de495497c98c2b09c9dd8d70afbcb83d016e5082a7d214ff45c265c272b93cb84b5a0fc6e5eaa6b857b4a7cc8607d62e6feb068f5c9e04170b8b2753095792ef5112faa90cee18e5ad94dc0dbd93d55d7af460bfbb8bdd2b284bda010f0c74798f6e7077997e97cbcee5b97183539eb4121ef8c2eda971b3a05c1f919b85c19dbe9f0ae2f686dca005cb877c9fb839aa0713e132cdcb057579245cac484b9c11ffd5b4bc7df1c51a6eefc90d9ef09433fcd408d727c7e5e25ddd0b778668496bf4c0463787c083b97073737cd8027737c0bd6a73774eee55a03b3ef0560bdc5c161f46c0cd3979b0162e93f04a4af2d491e54e927279572e56a2cb94e472f1b93ca88ba5e7cad2fc0f8caba3f26189ee44e0a7c6b84c0e5c2e15ee4eeb621170733e7c186e5903f2402faececd872df15c62f25f422c69063c5082a52d8d2f32b93acc5caf495747d49de4e3f6d8b859526eae880f63ba3e33370b88cbfb71b1fadc9e0237d8c29d7f9e2aeaee7cf7aacb1d17bd55a25b422fb55bda0a7db17665919f427375521ff6e7e6fc3c581757e7f4617b963702bef8c0d236e88bb2d90b773e7aaa34b7f6f55e255c5e0317cb86dbfbe006cd58c642f89f97ab83ccf572c3cb8367ed8207865d1f04378b87a58dd017693716c4ffe23c650c3f25c29d563f75f5bc7df9e29b27d30f5712d49d103c95f482e1ca70ffabe1ce1f9e6accdded70afbaee8ce2a9ec5c1e1037787b3209712545dd957e47d7d7e76661717759ee15079749c7e55a72794d178bce12d7fba213cf25dd7fd1707721dc2b2e9e4a3afc57a1abc3ea4e22726562fe77b59c69f04004ae6f78b97cd757e56625ba3c112e9670197be17f103c9952b8927478455d9d940f5be1ce434fe5e4719cf43f1d4f29fca9199eb30f1ef8e4b9d4ff92617903f4c5405707e8c3bc782ecdfe6b864759d7037b5c5d0c77a6c25d89777a7397263d989bfb18ef24c41dd13b21b0c4f9f9a21c37f6c6ff46b8b91a3e6c2e73013c18077714f3565bee0cf4544096382cfeebc7f2c6c5171bdd5def95933b18efe4c3f5adb9598f6e0f8d9b95c0cd35fab03e957cff05e68e053c55168f33231eb8e5ea0872270159da90f86200970981cb6581d70697698e2bc9cae571718345eef8c15b5df0d4e1c09d64e5ee26b8574e2c713cfc57efd6b678af3a97a98d2b29813b4778aa254f19c74fd970796adc600257e7c4bd9a4b2d9e382b5fdcba3ddd0dae79941cfc14a1cb94c69564c09226e481792e8fcec55ae24eada7bae029037ba08fdb105ecae9ce364fb5f45cd2f15f365c9ea18b25c6e5297183003cb6c947357099905cae3d776e3d950677327aaa056eeef760255c9905ff2b3e4724fe47bb4c5c2e1709b766c57badb93536de0b83a5ae820f23e38e69deca81e50d852f7670c7db53f1707b14dc20d6b3b58762638a83a50d8b2f12b9b9350ff6c45dcae1c1784b1de395b4c01d999eead19d3d7eca88d9084b263d5752ef2e837b65c5f5a971b966cf1aef81589707c50d3a5d5d14f74a7667134f25e7e6f03cd8d51d5b782b148ec90e3d70bc3c366e10ca9d467e2aebd6d04b355d261e97ebcad3a6e78bbdbc2a176b853bc33c913acf1b962fb279de7af8220acb5b185fb4e1f68cb8594cb71bbc14d353698dff4a74756a3eecd1dd2971b196ee84fa29259672c94fc5b93a17ee0c853bd3782a11ae6cccffb29e4a3dfcd7068fb2281eb8bb4c712ed70f57c7e6c38cb84c5f2ed709cf1894ff11b9bde1a512b8bc4217eb8bcb74bb5c43965de3a5d6dc417827237777c6c53a727b2edce07089e3e08b61b707e96609b93b1eee95d7cd79f0606d3c6b801e58bc3b3df78a885b281f75e732295dae22b716c57b457079642e160fb71fbc548fe56d8a2fbe70734a7c188fa7d29dffca7379305cace1f53d70b37658ca86fccf883baf782a3e4b1c992fa671730b3cd80e97c9cae5eae0b9d4f45f375c1d9d0f9be2ee34b857583ca7eda77ab8bb2df7cad01de3bc55044b9ad503fbdcfaf8a8dab2423e0ab8bc7d7d9188cb9be306b3dc9c9a0773e2f60edd20d7ed91708369dcc9782747d777c3dd4272c705de4aca93498a2b49806533310f3472731b3c981a9797c50d06b93c2517cb8367af7829314b5ca4ff2a72754f3e0cd1ddc5b9573b3c6b611ee8c6f5f5b859782e53ec72fd58e69a1e0c835b33e2bd18b8be0a6ed616772ef929addb395eeacddd3dba58b1e56dfc62959b73e3c3ac2c6f7f71caf54dba5c4b4f590e0fb45d5f10772b81c7318bff2ddd62f052b99b33e0c1585832617025d59eede1a5b8dc9c111fa6e3a994e8bf063dc71afed7bb8be262e9b8a390a7bae28e8adeea90d797258deb814ddc9180a7827499a25cae0ceebce1a9c0dc1c121fb6e3f6803758e8ee22b8578a96b803bee8c59d3a3c5503b74c1de9bc559a3b6578aa2ccfa9fba91fee38bc1303c76484a6d205fff5e7c6d2f8df0657c7e5c3185dde998b05c41d9b9e0a89ab13e1ce0a2d6d1c7cd1b6b4c9f1c5046e4f841b8cb4cc393d18a1abb3f361552cc723690c3c5083abfb7d18074b5b095fcc3dce187820f0c6e4f89f09976978255d79d27678a00d77ecf256542e9390cb85c60b82254ecc1723ddde8e1b9c737752f7ca8c57a3c7d9a2075ab93eb0cbc5e3a974e4bfcc5c5f0c37ebeb7933e08b67ae8e237792d5e54d5dac3f57fe7e8acdd5f13e0cce1227fc2f2297a9ea72d1b99382a70ae01ec33b61b932ddff72b8b51dde6bea4e0d9eaac83276c2ff18b813d253f979dabcbcd71b5707ef4e92778c3d950dcbdb035f94b3bca1f9a29dcb44e7720971e7013fb575e7d34f25717d546e160b5757f56185ae0f849b15e9b6d14b3579d6d03c108e3bf6782a259e4ac2ff5ae1fae2dc2c25ee78c05bfd6e0fcc0dd6b05c82f46057ee6e8d8b65c05de2e2c1b4dcddd4bd427375acb95ec3ab3be35e4d3da5153fa5e8a964e6bfe6dc32f05184ee5ce3a948b84b693c98993b1df8226f2c7159fc1790abfbba574c96372fbe48c36d908fa2baf389a7a2b3c405f922164b1a050f44e18e56deea80ebe3ba5cb6ab0bf4615b4b1c065f2cd650e64e223f85c53dd13b49792a79fd170c37c7c387d9ee8ec9bdf2737938dce05cde04f8a20337a6c3ffd45cde183798e42e5df16055ae6f8cbb15e73231b95c8096320cfe17f664b2e14af2717d0cdc2c1b9e4a55fe6bcd53e98bff42b4942bfc9407cf599b0726f1a2e0e680f8b0a5cb64e7720d71a7909f9ae296ca47f5792aa1f15f2c2c6d3c7cf1e96ec43badb93d47374bb7c4a5f15f5437b7e4c154b83c1a2e56d89d3b3c9503b720bc948f65ed80079eb13c6a76eaa304b833eaa796b8be22ee1695ab83c89d34c0cd6179301bae2e843bd3e0ee245dac278f32460fa4dd1181b732727b60378b81a58d862ff258da4ef8a2eeeabab85700dc5e10376be9f6946e10cdedfd70b3708f33da03a16e0ef860265cde988bb5c31d37782b0a6eef811bdce1e61e78b04777ac77aae1f2be580c5c599dffa5717740eed59967ee8507ebf2eab3d441bb92e25c1dbe3b69779ff2328827cd8707de707d3c6ed69da7d293ff4a7365fd5f0b97698c2b097875413eac82abf3e25eedb87bf04ebfe79203ffa5c4725a75b0b95ec4cb2b72b12eb823056f95e7ea927c1808b7563eeacf5296f540dfd519f061243c6344fe27c0e565dde090ab2bf4616bdcde0537d8c57309eabf72b8b384a732e0ea687227297932f170253dddeef8a8d833c6e67f4bae8e1d7792eff23cb8586300afdcdded5e597916f7505c8f31dbff7c2c6f3cbee8e5ee74f74acb95d1f91f1a9789cae52a747b746eb089658ee9c106dd89c25321b0b4757d11cadd8577aa727db29b45e636cc4769707b553798c13326e77f063c6d6ade8b78c7019e0a8b650eeac13458e21efdd78ea5cd8d2f1e707564dcaba89b53e3c3a25cdf9d9b05c53227f56085aeef809b55c2732980ffdae129a7fe0791bb53e15e95e105e6f6bcb859bf254e812f8af19c11f0c0019e372e5f747307f3528c3b2f782a0296b3311ee8c0d5e5f9b02cae0fcdcd72b4a451f1c01f6e4fd10dca717b7e6ef08aabeb8789b94c52970bcce55ddde00057f7e3c300fdc25c5fd7e5d2718fe29d145d1fd4cde27373c20f73f228d9fcd4044b9b0f5f845ae29cf82fa73b5778aa2877a7c3bd22de9d1a176b49275d1fed6699b93ad98795015a707d3bdc2d26779e792adad5a571af82dcb183b7127447e39d8eb84b5f3c5897bb4b72aff65c1dd7bd2ae0f65eb841e29d5a3c15a025ad8c072671774aee159fbbab72af32b833809f82e2291ff8a93f4b9a000fc47367a1a7a2f2e2e0fa22b859413cb7e0737d96b5f9402b6e8fe906e13cca9a78a0eeee6af78aca1247e48b5a2c7149beb8c59d5f4f15c3738ce27fb7a79212fff581930377498d078be0f26eb841b99c0979a090a712a0ffe2737d21dc2c3496d2809f92f38cedf99f9325ae84ff1a6f8e8b0fb3ba4c075c2e0aae0e35d76b8e3b854fe5c1d5d97067303c2ef9f92f3896b5a5076a71bfe29d649832746dbfd7a13b07ef546479f3fae210d7276f9698a7ccfaa917aeedc87b45bad382a712727b50dc2ca8bb7be15ea9716371fcaf84650c8bfffd59da865f7cf29cf1f040059637f9452ad7f7e366fd7976d14b1970773dee9598ab83e35e59dd5ea39bf5d529f9b010ae4ec787d1f14a74473c6fd5e6f6deb85958ee8e77af1658e6961e8c8225ad8b073e7ac6acfc8f6a89ebf2c5322e4f5eac06ee8ecdbdaae1f682dc60a0e75294ff22e2f2e65c2c259e4a8ffecbd0ddedb857612e8fc9c502618943e08b5a5727bc5740aeeecd873171775d176bcb65ba73b988b8ba2fee158f9babf2608deeeee95e8d59de42f8a2068f33400f6c7299d0b8929878a5598e4cbe2a6c69d3e18b4e7707e55e097a32c17025355ddfd7e56ababa2a1fa6e849033ed0cff50170b3e8dc5c030fe66879f3f1c52f57a6e67f612c7157ff35b58c85f13f0a963620be18757b0cdca00db731bc94922514b707e5060fdd1183b7fa737d536ed60a5776c1ffc0ae0e01eea41f77bef054577a35e78ebfaf5ab29cadf140329797e46219ba3e24eed6951b73e37f205c1d0b7756c29d4e7e4a8ccb2be162a1717b36dcac79735c1e8c07af0696342b1e08c4cd41fab001ae2feb6e45b08ce2eebe5707dc9c9607cbe1b6cb470d7a56d65dd8c502b3c431f045e112c7e78b712c6b411ef8c5d376e5bddcb83b12ee959617d8d5c971af8057d7c087e5708fe027a4ebf3e26ea959da267dd1c9f296c41759782a85f92f388fb2241e98bb3d256e56d3adb5f15e84ee0e898b65bbbc192e5671c9e4752529f09450fc140b7767bb57559eb1aaff05792a35f15f20dcf6f828dae54d70b1b258e23ef8afde1eee06cf3cd2840f54e2f6b8dca00c8fb3211ea8e532a1b95c365c262597abcfb326e581695cde8e8b35e7f678b859b5ab03bb57065c1d920ffbe0ea9a7c58094fa5e17fbd707759172b80bb5b72affadcdca40fc3b2ac182f65e6fabedc2c1a2ecf861bece511b95883eec4e1a918b8bd2b3798e88ef3a968b855e0a302dd1dd6c5027273681e8c892b6b2fa5e7ea661f66e6a904e9bf4cb83e1f372bcfdd41ba58505737e5c358b8bd216ed6eef27ab841da53c9cd7fd9b93d433748c6cd697d9891e74dcb17dbdcd1d05b597077c48ba5e5b9b4c07f1d71472e6f35e5caeefc6f8deb3b73b384b8177aa7214fa6425792eef6b2dca00b770e7aaa0196b715bee8c1f5cd71b97a57b7c6bd1a6089d3e1bf784f49e6a7003d6375fed7e4f2a25c2c149635f2514eeeeeccbd7a6189ab7d3189a792a1ff0ab4cce11e6c82cbebbac1051ee5073fa5c1dd69b9571d3c9566f8af0c9eb9131e4c8eab2be1ce3ab84b921e8ccda31cf453183c69be07cab9b38aa7d2b38c31fa5f996532480fec5d1fa09ba5c59d7e9e0aea323170b95058de087d71d072351389a76a7399c65c2e19aeae8c7b25f56c112ff565795be28b89ee8e888b355e9e05172b787d5877abcc7d897782f354d2f35f7a2e530497abd17234f2552adc39e7a97c774af0543f9ee310ff93dd513e55a3eb33e0668d7077615c2c22d767c2cde27acef1a77658e29cbe38c5722d2fbdb8bbdebde272c72d6f15e5ca26f8dff0eeae2ed68fa5edd11781dc9d18178beae6e03c18154bdc08ff35af2ef66164ee2abcd393dbbbba59053c9958b8920078ce447820943b26f05647ee1bbc13912bd3f3bf366e8e8d0f9b7297ba78b02d8f92cf4f59707941dc20ee2e99f1600f1c9b31792091256ef7c526ee8e8b8b15c4eb85a58c80ff1571c7e29d162d47245fb5c28db5f1bf0f2e531c571295258e86ffca5d9ef0060df0d2e24e169e4acad286c2177797898b2ba98065b2301ea8e3ea14f83018eee87b2a22ee6cfaa947cfd803ff3b7297de78b0375796fb1f0e5707e7c39ab839410f36c6ede9b9c1296e0e8e0fcb0214f45432e1bf2a90daf36c162ff5c01d833c95154bdb00eff5c51d25782b3b9797bb586aee515efef08c61f0bf285e5edcdc1b1fa6c0dd39dd2b089637355fbc73c712de6a83cbf35dac375e16dcf9c1531db9338ca722b4c4cd2f1a717d836e9617b737c7cdda727d2cdc2c396e6f879b45bbbd096ef0ea2e95f160622e1319579291db8be0068358e280f82fa6e758c4ff66b70e7cd40657f7e8ce7cb8138ba7ea7375463eccd0cded79b0acdb2be266f96ed57cd4094f251afe8bd0f2c6c6177bb8bc286ef0698903e08b505c5e1337c8e3eee4dc2b1e6e6c8cff5970271a4f15c2e569b9582f3c690d3cb0d0ddd570afe0b84c5c1d960f7be1a944e8bf003d2e09fa2f39bcd0dc1fbd539aebc3e16e2579ca2e3fc567896be1bf6c97d7e5622dba6398b752e0eae47cd8139789eb4a42e0cec43bf9b9bde1cd5ae0320970b9cc2c73411eac835b0f5e8ac7b159160f04737d36dcad233707e5c162b8877949c63d88772a737b61dc2c245e392c97860f76e7ee02b85769ae0fcccdaae156d14b012fcf818b75c3cda1f1614fee35bc9397a5edea8b5437c7c183adf11c83cffdb9e5f251165cdd13f76abc1383a72ae0b670997e5cae069eb5091ef8e5d5e5fab8dcac199e33220f24e0a924e6bfe22c37f29d42b6e7b1c6e3815b3c2e35faafe265da71b9a0dc9e1337cbe9694bf25e6978853dcbe7a5624f251eff15e64e424f45e4eaf47c98165717c49de1f094502fb5c11257c017b3b82391a7ba7a9c95f0c0283f22aeeccfffe0582683e3813c9e4a03fc1704970977b9885ca626972bd095cdfeb7e8ee8417cbc8d509f061143c69003c70ce1dffbc159dabc3c99dc4e4f2d05cac206e6c8eff9d707d02dcac09aececc8705e115c69d3c7eaa08af304f09e9a75ab8d3d153457047e29dda2c6b520fece2eef8dc2b2396b8275ffce2f67237a8e6ea16f8b019ae4dc77bd5707d886ed6a4fb10ef74e66903f4c5b964c27325bdec042f555be2caf8af21d7e774b3f43c698a1eb8e88ec0cb1d2e4f8e1b54e0395ef13fa5ebb3ba59856e2f8d9bf5e4e6c6f8302677c2f05458ee14e1a9945c5e8f8b65e7da76bcd70d97e7e806976e4e880fd32d6b32bc97eff680dca09f2bb3f33f352e93ef7221b93a35ee9590bbdbba584596b82efe2bc8655aba5c5497a7c30dc6ee64f2535f3c95d0fc179d252ece17255d5ed4c5da7375f4b8930058e2a4f82fa82753f04a22e016cb47497079075cac11aeee810fe3e18ec0af62e225e4f2aab8c11fd707e566217ac608f85f005727c1876979317ac624f85f0295e2ee44b8575d5ca63a97cbd1e55d7183537717c7c5a272775f17cbcb95bdf95f195157ee78e8ad0cdd8978273477a774afb0dc7ef9280c6e4fd2cdb2727d4b376bcdb246c27bfda4c1f1c0272eaf172bccf2d6c417155da632aea423b7b7e706a9b84cbccb65e4f6d8dc6011cfa52bff55c4ddfdb957495cdd1cf7cac89386c3036bb8f297aa73a71a4f35c2d2b6f5c523cf59180f6ce0c6ccf81f065e6a96c9b87820d3d5c571af7e9747bcc12d97a7e362c591ba7373073c98a2bb14efd4c293098b2b49c81207c67f0df09459f9df1477c7c6c56a727d2ddc2ce2f276c2173958d2d6782013d757bb5911dc51f754413c97b2fc97119729cce54274fbf5527296b716be08c252e6fb1f0f4b1992ff2d717b536e30052f166eacf83f156e0e8407937475bd0f8b73795f2e16a3ab13e35e3d3d69751e38c2a3ac8a07f26eae8307630358e68e83deaacf651a2f97d4530ef03faa6e4f8b9b45c073c4e17ff2392ef1bfda53aef1538d9e352e0fe4ba3ce0c52a7499bab892862c6f367cd18427530e5792d3ad85f15e7c6e6f7683631e67e3039fee24bc9392ab537467275cd9ff53747b28dc601bcbdc000f66e81943e07f43aeaecd87297147a5a7f2e1b924e4bf78b84cf2723d5d5f06370b8ca79293ff4273c7214fa5c5dd25ba57672c716fbee8c69d547e0a8d3bf29ecad165aa5d2e02ee8e8c8b657575187c58a4e7ac0f74ba3c2b6e10c8f5092f576f0d88f71ae0fa1addaddf9346c003f5dc1d13174b77e5909f8ae0eec0dcab11aeaed19db5b0a47d3d708acb23e30695dc71ca5b3179d65678aff1eaccb8573feea8e6adc43c956effd565891bf445afeb8373b392b8bd423718c633d6c1ffb85c1d011f36e84eaca70ab4b485f045a5ab03c89d0475794b172bcdf5f9b95990ee52150f16e5e6dc3c9814b7b7c6cd8a7297767830dfedc1b9c1249e310bfe07e5d6b078af363787c387c96eef8c9be5e48e3b9eea88db2bdeac2fcf59d40303b83a9aee24a6cb2bde6097a76d822f8e4b9ba12fdeae2e820f136229abfa1f128fe318ffe3dddc131f0675279ca7dadd11d05bd5b93ea69b25e73275b95c253c73243c581c7745ef3465194bf43f313717c487e52e6fd0c5caba3d4637187679015c2c40b73abc5495db9373834bdcade52deb8b8c9e331d0ffcf1a4dd1ef8e6d9395deae1c174dc89e6a96a37f7e6c1a6b83a1eeeacd1ed4170833cdc91eaabbe3e056ed60b3797f561549729d295b4e4f640b841e1d206c51707584a1d2f056889d3f2c531aeeee9c3f8dc1d02f76a82cb5b73b18678d6067820184bdcec8b482c6b560f1463399259023ecac8b326e881607756f05402dc5c040fa6c47326c703d1dc5e971b647475633ecc87eb33e3727d7dc5cbb5e3f658b84138ee58f55548ae8ee9c3e65c9f07374b78dbf341ba5b0f3c4bf55149ae0e26771292ab23f46169dc09e5a7ccb84cb9cb557579b78b15c1ada097ba3d67283c50ca654ae0720d3a36c33d30ea29bbf829189eb4a507c259da047d317679265cac34eed4f3543d9ee57a2936b757c5cd9abaf384a73ae08e5fdecacab324bc94d4cd817d5898cb0372b1fcdcbef92815963838fecbc8659a5dae20f714de2981ebb3e26e35b08c21f1bf3b9787c0c52ae1f6b0dca0222f3b77c774afbc5c49e4a7cedc5da17b05e9eeb2b858515e195c9e0217ab853b7f3f857567044f35bb3e42372b8c65b2171e38bbba3a1f46c5edf1b9c12aae6fc9cd0ae1f2005dac2b96b2a7ff05b1bc89f1c51bae0e04ee24039e05e2a5badc1d997ba5c2e51570b104cd40bcbe79b31e58e2be7cd18ccbfbe0629171e79ba7d2dd5184b722747d876e961b57027faacdf236e48b103c69721e28c273c9f65f8caecfcdcd3ae2f604dd60d6f549dd2c3f5e5cdc96f9a810ee91dec9889b53f260295c99ec7f32dc9e0c3758bcb52cdeebcd52c6e57f56dc1da27b35c69216e881879ea30fff1bef120f0fc6b4bcedf86297beb1a48df14024ee88e6ad1a78c6defc8fc95309ecbf62b833f854135c1f1c974b777d51dc2d2f57b7e8ce5878ca343f15e8f6e0b8590a5cd9a0ff7ddd5c98071362896bf3c5368ecd2878e0014b9bd61781b75e3eea8265f5bcd4bcbe3a37cb89dbabdd6099bb6b74af262d733d1e2c83eb3374b3cc98e18dbb73e15ea571770ddc2b139637375fcc737946dc60efb934e7bf24dddcd5870db9e3eca970b813cc0f0974a7154fb5e7ca62ff8be1a9f4e5bfde2c6f667c318747da030fdce0c676f8df9aebcb73b3a4b8ba0d3e8c8de5817e49eb299bf23f29ae6f849ba5c632a77bb00aee34f454c0ab7374673adc9d8e7bf5e54e3a4fc5746365fcef825b1a5eea80c7d99407523d6d7dbe2897b4ab073ababa447766c28df9f03f3757d7c29d1dbadff04e60ae2fcbcd82e1b9e4e5bf90b885e1a5923c6be7a57a79916ef08067a97829076e0f811b2ce1da84bc97d69289782561b98bf14e413cd6d14b79b9bd0a6e30f8b4c1792faf9b9bf36057dc9cd58391707b04dc60053727e6c188b84cbd5c4e7792f1541cdcdc0d1f167b168c972a7347a9a782e2e60a3d581a775c7aaa1f96b2849fdae05156c403976e0c87ffa1b9392f3e0c78270f4f25e619ebf2bfdf95e1f91f1b77b2f154253ca7d24ff97075057cd805b76abc949a250ef8c5e0ad052f85bbe3f854355cdf0f77cbc995edfea7c31287c27fc996b831feab80250dcd030d5d9999ff75b1dce2ca04fdcfebfaceb85cf22e091f0c82e54dcf17ff0cf1946dfc140d5797e5c362b83aaf7ba5e4194bf33f25573ebd540577a7c5c592bae30c6fa5e8a9d4c67f29babb41f76a8ae58dcf17015d1e1a37e8e4f20e5dac35bc7e002fb84b543c1894652c86ff8db93c162ed6a4cb0b73b16ab839283e2c6a791bf3c5395e57cbee1e0acc6bd1ed95b9c11f6ecfcd0d1e7197223d18991acc5c1d1af74a002f2fc7663f3c30cbb259d5030bf09a737b5e6eb0d1cdc9f1615b9e34da03dd5c5ff06e99b92df4523d2f32eee8e5adaa786d71735b1e4c87e74dca17d55c5e0417eb87ab2bdeab259757bb58656eec87ffbdb9393a0f86c5dda1b957325cdfec6695b937f0b28ca58ea53be9a7cccbffae5802ba138ca7ca6079d3e28b8b96b4111ee8c2ed09b9c1096eaecc8321b1d4a1bb937abbc24b51dd39e5a722dddbfc0c3e69293c30863b273d15a2db9be266fdb83c4617eb6b49f3f34013ae8e4999b7a884acd735158819601000840060001032437903731460703820120fc944d234479229760314000a45a8d0b03017505224ca18620c010600400000000000008019520317f8eca2fdac8d05f81f6f69359fa772876bc853ff84f82361cc67f308ba531f1aef57b0b7351ebb750f72e309acae3b3cdc8372d9e7ec92fcfc2ed8156a6406f7457edbe76b917f5afbf1395570aedd10bfb59fcf56ed3c7364d46dac51ffe58b01c78419b8f8eaeef3848b71ceaa8734f4c3fad9c956bc8be1957e0f796cc7686be4e73e8983fe2e319f1f58dace63fbbc3d0ce8b707f8d498417ad8664e22522da303017592cb38c653f3abf5de647444f415312f41993e73af6018e87a940f9365f1d9784fafd5e2dca39e051ce22d6bafbf9abb6cfecff467fda95e565576a4ffaa7d9b4a781ca74f817826c26fff74ebe8db587ee748b5b323ebf45071995d90bde64bf90ce8f58e387c318a720324067499e9e2d88ffb8b0ecb7a79c0e4b5795f5bbde6c23aee7c6a920b3ba165534fd43f1b796f1745b8b2151899fbc1e3fdf31eb9fe8cb92ca4179e44af82527828f89f97537a1858a2ce6fde1073ff35da5f0a9360d65174c773a505af8829b00141d9860fe733baee59fe266fa8fc778852ff60fa1ea13d4277fb12a3ef2925cf2fa5a97dc03560a59ec9f7ae89db324a0e8143ee61f9fc831481491866cd31f138c3ecde8bfaa7583e1ae7d08f78a7d637943f6eb3b1d36a1ee418b519b1d81e01481635f0b51e1d36befebeade4cf66cbd669d9d8489e3698184db629ffeeffaf881ebfa86e25fa507a2bd466d7f867ceb069e8639cea26e8238c3e0fe26eac3f9a47ea8c9ada761f6e1ee61d0e669b68772a3f75fb2a6ba265ac5bdec88033ed80596375bb2cb2b5e1c82035ec4668583a2741ee43f880aa31f145592de8f17795fb8c8c27a277ad571b7825b661d444e5dfd3cd97c15b16dde9fdc97b6abfad61ad597e6ba2d0037d94526aa5298d15476c18adbb45bffa0a84a9abae4d28eb9dd7edba414396e9d48a0fe87dff9f5cc16a82236e3f26f7b5e8a3bb72005f13b5e94b91f84157f13895afaba87362245d1947833760cc62e353695b8f033dac945384e50cd0f7d86b293e613a9aacd4b39bce28fee37c77824f3d94081c3a2fa05e85d9e02564792e113fbc32e9550f14deff7ea19fce60e0a3d690093187d86b9f90b55f7b8d057c947db9e490b6d3e82c0627ede2391fc85fb9d9465cbeff1ce929e7170ed25c4a806b6f202785fbeb8e8da7e9cbcb114bef5a667cf10e09bbed65874ebac091ed9aae4edcd3ceec65bce881ed51746aade39a9b6c0239658814cc4ca77541ca1ef065fe65613a0f3d9eeacbd2ec6f1a7ece6faa3517dfe2416c8b16c4def861a74613c9279d7a509f62eff4ef370ce40b0323397b6735160ccf376c910acd6e747b8b3bbae17c7ce953c6b5dd0092171372e441ad67297f719402ce43977383c2066f751f39e2b7b6d09903123f1bb3bdfb3cf1f9078a35e1bc63baa921bf1e826719b1c847b43bf2c1d9f43cd5117b1d0f6bb4f875e18a4c9566a990b57495416414e694eef8c8dfd1e687f52dccb3e2bf1f1ea8b1a1a064ddf0e1898c6fbc996e7ffab761dcc8f0a4e0120679a2b3450fce33635fe6b28dcf2d8f6ecd4761e00682d77a6568fe3e95fe0cb8ba17a2234e0b7b289ff00d4a1d513a993d4ef90c4eaf8babdd56b58d70f212e380f56c69b0c7d0a711db47f52c15377f9c279a707d1f2712fbc15a78d2ef9938be8aeed5db9aa774278910cf8ef92ac42f59b55a754af0e2c0037e9e066f3d7a9dfe21a2cec8d771d6b34b8406150fb06597c3e6d780cfa2bfa189dbb286fe88b11b7a847dc49de5bfc3e6b55ad4f058d6bff3e35127c73be761e9b430380cd2e2f3ce9d0c6d92eb046c98506c66a87ca45819ba363b6b3fd737b89debcd345e1f2b22defe493d1c8ac06c58887d322385a7df9fb0f92ef1fabaa97783f4ebf9f6bf0bac1e65391e899682f10fa682e343ddade090c682e1b720db5d30579b84a6f16330ec2de5f953fc745a0a87f870c69c08e3a7a33d07be5d6bf412e3b9cbc8fea8973a8d7ef4e9a5097dfaedd1783e2f0d7cc139a606bd7128d09addee3a78f922e937db547f5ab23ebb1c3c3092d9cfd15fd8bf71f03f27e2233ac743862f79b98f029edb73426b1cdc11b58fb8d5c7e57868b6a88e5a96cb4dba9fdca3ae4f7faf46be263e2b7bbb71b7f3d7f5f0dbe3a8cb499fa5e3604d1d663159c56be5dd2a7f49f856c4f2018590a19bc77db5f46595bed58bf313f27922eaeeee77e6bf4b9f3bf4ddaddf1dfadfa5ff6efdeed0ff2efd77eb7787fe77e9bf5bbf3bf4bf4bffddfa5d8c1ebf0f9ae022fd290f50d3d2772990973282a39d22936b22c677e500baa653cee8425f77b190198572699086b859a99b4a7f2fb2d9f0b8b95beae2461f562ec2f2ede689299467cabde33e7687df9b7a50619b63b478a62de29576623ad8876934f4535b047d70c6f0a916353770a3f2af9916d6acecea28afb2f5c936642fda5a7dd1dc7b4f45272ab6c21555668d9119a1b3b291774756c70168c5cf043c2fe9016fcb06bffe92c817b5b8d9e8b0fd7537a4c00579fe466b3e2d00b9ef919e69554fcf743f41d9fed23aeca978ed19817c4b27f38ba2075d4f9a90d4c4f3c26410cefbf7fdff3dfe7ffff3efe5adfff1cffcf70ccfd2f7791a8cc9bcc98df44cd113dfb13b6cfa68f1b5b5d4c52e8b2a4669f8c475f351971b4faafb8018c00525a6095e540e90e24eca4b7e82138546af27cc0b7d8a07ff1fc78cbf08f7f1955b344fc63cbdd6f579ecb9e8abf7e982fec0be3bdc37c5f63eeac6273c3976ba387270e1ddf90b86f8d95bb229d5f0b91fe4b5d636ece13ff01bdcb0fcbb1df04db3637bccb9a5fec7e2db5a769fba0f3dffe5f70624a911432ea4ea3fe43c1ecd1953ef4879b701bd3387189f8e79bec808359341db7909a651a1ebd001c7ebd5d5de6f7f372bd145bff4b107ab3ac8d56efffeb937886eeb0c05fcb68594a1d0a538a6103f29fa090ec52f51de858f9d5785d51070cffb2024df1297af80530fe248cbc734db3776d8cdd3d41dc5b3f58552a69c2957927b3895bc024746f69136e0be2636d33cbae7e877c8981bdd48968ce5fd5b1f31656746f310e44b9003f977e1641916a3ddedc5512768a6518cc7670f6b83ca87bec3cc87e273b2617247580be99dd626bcdf4f5df8aae4e15d82e7b76bfea3b78def500e767c6037a186dcc93e5a59beb81ddea7536ff39e522b54d601fc9ff6328c0b32a434afe3566cf0a66833179da32d00057f011cb853365085fd176236d8711a0bb3b3b35162b16ec92437add7fe73ad1feaa9cab7eccee1cb0bb14ffec7819f1cc233bbf9f5775f4fdc11eb95b507d7d6d76d6473a7cb7c7c3276cc24b3db38ca45e66a87bbdb3b6c58a8a58b316a8dadc9bbedeee2876b44efb23dae837866718d5171ffe4c7e85d8e692b3926a7d16e99711a5ea8ecaa42c60956a29fae3d10202c6745c9b022edaa13f0e5754d3d94b9edf8e9f6a817bdc4407ae8c92df4b74c5fd858ac8c0c8303a2372d1cdc193987d03bf210f70d7f02973b6ee85db93951dceab447d647af59446eb13dedfdce5c872135d71c68feadcb44865ea9c778e9160c7739b4b4db4eb9cd96299962c13addda9cf9fa09bafe0aad1aad6f68e942ef7709836ec24a0c7b561fd3697bffc09a3b8e3b5748713f3e4b031b9cd1d1f0dd26b85b4f675c8743de568ecf4aec3bd6c91ba9a449660ae8576d1c6e9e7dd7b5668b965676204a32b1b2b5ddd7a831dad73a942494e1dec4e94bd983bb8f5e401557914f3deda1f87ed01c81ca6c8a3b74cbda845e7362aa2f19f42e5a18ac9eb8f15b932ee3ef7c9b25dc06105fce5ddf0cc22cfbe26d5bd122eedcf5b1dfcea9bbb01f27ce8b28279b7b05e8d98c62f9f0b3a392bb87bb13cc4b259a202bb3a131a13d40bb295beb4bcde7b8b51f93d10e2e085c92724d728419bfdcd981888e16a985d387493177db44020d7a55f67afbb2648a463d74da984d8db823e25f38ba5997e0dd1c88bdd21a910cbd45bffcf235cddd4d93cb555ffb70465ad849be38767442e40eceb74b2cb9d24c7ae9168514d797296ac8729219ff0c533550fbd0d25089e4ea12272bcac08425ea4bcc24a6b51a65574c12577499455e5f442e657dd38b4aae93ad8fae0f1739b164d2956f757dc4f8e0d02f532b0b1c6a45fa1e8a88b70d0c97db967187c65e69059539c3f7b06ab94671df42b8baff49949a1d10f3463bbfecebe70f24da9a668c72fb4253147bf21f110d7a29b698d262e3fb505cabf1bd5a639ea85e6e3fcf3ed9d01ab1c73e2eafffae6e408cbc4f22698f5e9164edc70ec1de89a6e7c265ae334939cada346a4cc2d2e263c2aaeef11d627027a3b6c3a15baaacd1d2789ee4d61e1ef8fac6ebffe68a1aafcf88a8e4914318788d31d06d41da6b242626e351033f78d7f698312d3716ffc03387145164d7cbd8640e7a210300a4f77280e6cfbb26aa9bc20f68eb47239c3bd666524be6de5fbe877286c1d1ca6223c2ad91fdcd47ff5c4bacf17d9f5006f51d371718d93a5df001216e9236b7364ad7bebcb1163f340219be3b10faf8dcd099bab16f2a9ed8010e8d79ce6fea276f65621f9cbddf47ca9e4e854eba502d4c68082bad212662cd162e1fd39815d97ce64c6f6144f3fa0ce31e2abdd123a17075f5c02fd352b9bf7b940eecfbcc128d732d1a48bad367baacbc3a70aeaf7874699d33b171ad70081fee0f866af1b88fb9f24b226e228f2ff050cf3348f498663f8edee8c1b2f1368d17662a2310bdd7e142e5a7828766160e4c37394d30adb0a263b819f41102613fddc894dd7277608a9291399ea2d86ff4e9b554772431e81598d6f17bb5d8e1f88af51bd0770c04d0882c79e8e0d64cc59855ad2f1e832b45d14641a06a66b5c833db9dec456c88c74779304427ee2feca6cd6f4cd711fda0ca9e55c11ff96bbed8e70ecf112614cde36772328e11c4e622909651d672d776c6d4d9b86afdcc34f066bf7f1ac9e5101cb5f7595eb335b4c2e2639e722aeafc7cbcb057fb02c31de9486996c5e3c6c52c9fb58e9ebf33ed994de43f0979fa42c8265e6bb1a51473d8dac5bb5b89119f326bb1ee3cf0ce0ac373aee0fef67f66b8c7151adbd6b54acf5be76cb149e709ae41056820d5bea3f3ad05d1f05f6bc9e75db3a48ae1046640d6087312bc1a2ae732f3d60cc45de0638d8c6566f954a32cb0c9a77cb4bdf03350bc7526336905cc2a4c00da26e0d7d8d19d6fa48a8390ba50d40560a6205e2f6cda1462d6716192fff142eaeea946b2bc7131a1c122fcceb569e61a66eff7f55c5b7c7ffcb01e6c1bc814daa8059e047773b1af22e6ec716b3c6c7fc57a23420d1ea796e6c56ae19db92f1bb3178df337dd3288279f57a5d8753eac8889ca6eeb7b99b0235e56c053f669c1f250d276dddb911e9be3c71fc1d845eddb7e819b42609bccefb0fce10f3a96371f6ba5b0166074f93a0f7ff7f9724e89570cd27fe73d5ce691f0c780c9309005dd3837f400f3e50e8638ae8c7429e5bcc9bf9c343ce59fcf9f0c3a1d1a199ef1bf5d91e93e8990548ff0cb836d9d82f7d53124246809be717b3fd6b44f834a39391537a7b27717f824be3026b55cf1d54809350bed25394f8051318e277493d312cd60d74a1cf880731db43995b8acff5f2e015c8de537ba1731e787a555e38e489a5f4c9fd7d4ff0a309ba17d09330bd9fa28c9c25907eb60a9cfa0cf7c4d005e9e14977f83c3e79d1cc50cdb27d4bc3c8fbb52eda2cd62ad1d622c26c3ec25ac678cc60ae4f0acff22610db9a116e4f282e3b0ce237b3a59f1e0e1cc5da49642a4b84ef55143012f8db0d8d7efb9a553ac68136c49bd5948cda506dbf14e51c90a9fbb4bf07682b5910e94c56d6c8ca6bc5a6105710dd2f39a5133ebff09f5c032b965df3171190f5907bf20b00f56570117d66579510f6d9bd10d47cd5a4b0f2f960c93003f20f49b8d30f28042f57f61a0bfb2ee5621fc41b8a4b58a0413c7f515edfdf3e634695c16c55aa089057c1a10c7bd50061dfd89373c26fe7001abeb93f0b1e2f9ba05a51decf62a8c3ba88c5762e5403c6210cd966472bd9ab094cd338bed808a955ff5f0d490572ceb075f66bf8608417675a1bb4abfca05c897eec18f2e0869bc08dbe7be167a9f6c6b4582e2d17a34dd17fba2298c50b62e1c8a22559f94299b106bf6ab4e3daba7a0fd7ffb5178ba98bca1508675bbf34c2789b71c5f6043387b11a3d8a7bcd89737a597cb266898a82191c982e58aeee58a9cf15afbb0989489c6f16140e72a787ad01f576171d06d14c3e424e6fb24df9192448a895c7332c630ea117abf186b47f40bc0f4c8ea58f863ffe7f9d694fcb390d23068cf64abedfb0fd88c88ea15f16f28515426e25e149794082fa584b042acd123db845f3fc7ba34e91017f9c673bde513035c0f0f15f1ca5d095587c8a941dbd585f706093d4f3b28db599897e51a983fdaddd48932b649581435be9469e9287dcf442ba622863265b22794bfadd5ace42f522b7acc95dbf55a15d01fd886f975df0485493693d878285307929b460af804ccef2316b5bfd305652331898b9987912d1aff358ec434f6be687b4448fb4c0c8a9abba6dce5354812ca8d502e03fdbbbbc9f2bc9c69d184de9f18d49181b74898702d389871395ec04a26e5cc1e7863fc5465d4678bd1e4c792194b980e2fa6cb1987561bdb17d11c1dfaceeabb04b364237dfc5ccac8a187c09addff16de474e372780b968922003ed0c551c33fbc3c864b41e4b852becf2c61e10142b98a51d7e1352bc2ff6030d9dde7a0ca6df73781da1475115222b29c1175b8b3734c7d88f42e074c49f87f89f7c52df4ab4093247bd9da124d11c59408f031c03df477bb965cd87070e1ec8c8949a536c3986c9a1696722fe33c0bd1308598196794078ce58770e10f940351521eaee007cf1c80291657e2a35244a7b30719e67e7233bbe38168b349e20965bb8f21a28dba8b5da45ad7952e6641c294d82df0823c631055225fe3b9603f9e0886055313b40dcf9ad467160c132ddbd4f5714cc36ab1f849c9beb0cd0f2d2704248b636db00eaadfea66be72aa35ecc350e07c4c4c0b45e671da3174d618f3dd6f852b24a4245c5923d45aad6dfed9e28ff97d69982856ee3622d1fc2d6f9184ffcd8b489986e59443233e4354aaa814c35217a93ff5e517ff878cedeb95d6c50b2728071bb0f534987807debb2cf6d7eaf006a369024d7122cac20c26911873e426bd000f60450b8fc4e01607483c3d4621b7956dd529b87f8ac20de51fff29ffee156c22c5d1096e980cb623dcb5617ff60042721a1ef63a222dceabedf9a6ecc1cd3bc06637bae1fe335f69f6546341b5b5964902af13a93f43ef4b30df12de5e61f32b0f368931f3b9a4abf76e8b096bfd0cb8770944f4655d7467a61f86d117533e9112f2e51101c32e17e7b114a9c70c73f1e5c17d02ee2c9ee818900b27f60119ed5cdb733d199b414025778c0f424086ef497e99d1c0f9075aae1fa6abe90ca21e737dd6188ff532ae313d97f9eef1e2729a2677ba1e7ede084ebe0b13c31e8f517819acb909dca912109d61ac30fc8d381ed44b5bd4edc27befbb3c2341e43dcb9041c0c00285dd7e573b8ee893fa1087b837be9773b43ed5d8741f33eacc47aa8dca438eb59f76b3db672d6bb1f437090c12f5f12046c79a83c60075d9c0bed7ac5a15a49160c62c83272945250205ff5cbd331124e15f7cb54d2aefd1a8c22f2f07d2894e1f4d867993527fbaaee9ef486920908330355e60ef021256d3b3498120abd36167d36375dfa7f69da606a071ca985450ff8e4df30aae3a52771020cb8d664549b208b0ed2a009c73aeb759b7c11d74d234444e6f9fed3b5717f57a73f7fc5d33631d81e07147c20954c587f152e1da7603f66b882e917c96ff5b04f05d273e31d3970bc060b82acb5d629f20f70962712727cda8ca687381397e1fe8e1c23b656147558b0ce79185cbf0ece700d7506811aa3ffda50664778dd976467e3c4cbfa9776fa8daffce1610225ea1b85a890b411800d249ca4f2125cf6eea6ef41cfdb9b09835255e1fb78d3d332775f16dd212dc18f6a6cfe65a359f31a7cf31a000f1b0bb367b2f5c33492f7525f5fbce25b6a689f3e383b6dcab122c18fad0944dc436ab8b69e10a5f98d23d66376f2e6e61f746faae4ffb9ea401f9f3dd24b3cf0e19a35982d077ff4cff7d8e297ee29d80bfd5e6faaf32509f5ecec107529d0835b03bb7581ab9f4bfbfa02458c79b94a97a3f3f7fc76dc47cd4d90863e7f9f8bb9b63803fa8264fa5ffb7b3f334b0e8eca018b5cfad2b536e87d29863b85876679edf3a769dc702117039978299fb2c25f20dc896bd50c847d7ed085db932ca9334d89c3949a4f8c29ad2a9760aefe7edd80c14cee7dbd8d70cd7e88a13c3e871a0b73b8164d68d66dfc60c1fe93e7bbb26781cfbafd8c3a4bc8117a482c1de43e8b168eaebe9e6defaa2c5b43571db51c97c98351f04fe1e0ee8a14d64638d6e4c8295cfb0a1ffb8a1dbc52f56d28de0ff8bc54fc1f79ba8c31b19a7e7982ad7424221ed4766d6068e4ff19dc2ee6eb5eebbaba4e129dc74eac2f25b80ecb544f69849e5e57581a77846e48f139d30ad887a69038d7a46851d94044dd8acec3de3b72f71cc9a621276a941eb0151e16cc54240fca074bc197a32ba957e62c1016a83bf1bf8ca7f6a6ee9a1e513e39b7eb7357f83feadc271353ed7e42dd9af055dcba66c1af3d3df4d982ec33d4fa39b52f26730fc779aab28ce0b78bceb7f97a285599e9b0630ce6bcd77acf1e80377b4e66f9170b0b608bc776fe057e9f9def17a03001e38029f9d59e1c6627bf16d791e3f8d76f77e56abe22293f3607b572c038acf5f34249dd43e1c4c37b6333920eefd0e3d4a0018b1b7d33b4a2347c2dc2342e39657357a28fd4afcb72035e3b4af3ab02e2a0345336cbdd2fa0fbf30d7cd7e34d58d0a43d101ee7f2dcaa26fcc7a0f2a91d2227c64c61aaa7f50bdfdfb2cbea167292b28931994d48465910a30cc8cae23c3308dda88989e15e7270eb27c9e70603af66c253b872958c73411f3ec8737e44d1afc659e48182e1445232a3e04b53775a23f0853b025be2c36a263087e73fe7bf66ee8488b214565ba4f8c3ad4d1362a6841337b3c3bdc3622fe7420206184812d219b5be993ade98c939a65ab059d0f77b3a729c30e9a37effe133ad87bae10f65d2cda8a56fe66bbc83831977e2f0f31a05edd7f1a861f5c3cde2adda8d56ad9a00b350a66aa56e85201f193ab58b35aaf00c64b16642a86ca450d6a941ef28828faac939a1d896375087b88ae12cb63ccca3d0c8f312b7c8aa173076579abf3fc55663795c179eea47fab32ee1b017f7a866473c5f8bfdcdd9de570b316b21a2261dfff4797ffdefc0d629f7f53c921a06eec04606db45688721176cd1b9d7721fedb81e2c839be837c429a7ddb17019673c5768a350ea5c046fb5e50d63fed9c894d823bcf5cc2495bdaf298819fdb2b21d5ee7df119d40f9d5feccfbf3fd6697996149be1a8f7b5927ccdee05486b05609235bca2435efa9820786c39fdcd0af6b9411e12efee8d6d7881ab7c80ed5247a0a14bfc84bb46d7856ab950781fbdbc8702ad5fc8797f17456b10fcec3b495cfe2f5221b2eaf9dfc92693ba9e5bc7e7a3317c41f5f86b36033611befae44a39ebae0b5c1ac59d5994c60113a5f6becea09efebeeea326778c5996fc7a4074e83fbab6030b0791f53fdf398964be09dffcbab5d70d3d281a32154ff32dcfc07e0b737749fb37ebbe0b7ea65543e40feea88edda847eae7b2b5766d1fe1945f66e962d195fe89bd6a18e0c732af1844fdb2a13076258bbdec37edf5fb06ba615793ac3e8da5f61e849d10d7eb86176bab7165dcb9e118671584ef63eb47a59a57a6e36d03ce283e7d09d0f19b4849ac702706a4bed3e5a7d970efbf5b05938fe119b85bdc7aaa172d372cae64bee8cbbf85b358c5f44fe32a4d3947a4b09b147022265fe08cdb2e30b1b1d6f49efb760308183d7103ad39165b906966ab4fadfa438dc0168bb8eff66efece92b23fe54fd258e7c1de92dfa07c1df0c36ad6e30eff3876ed5b787526a73889907cab5be6fd122b10e589a0a6f939148cd3b4dcc5cfd26f0393f278f3750e1e3406958882d9787c9443a65dd4631682869a1793138ea76f0f3f5457ab555cd6ea5fc756cfcc4cd8dc4a10d98d7d32780c1f8039ee53942f4f28038fe14f510d8fec2eeb27b1da27c1b14327715dbc9738f3d1987759ff1d9e61ce3cd4c3dbfbd37376d3f4704932bf347f799dea61d6dc08ea2defb4a45cfd0529afb5ad6d87c7f236ad812c7f9f860069ef97bfd3fb6ea558bd33c847ca1b5d867631ed1bace1075b1c9385984ed11f7f9bd238e9eef04d87ab9ed06e7f7ae1955cee8b6c5f33faaecb8f03493f9d6b803e57b1058b92d42f27627ec0332d3b95f6c0e47c1754cb378e15964696e6a78067aacb64aef53633c3bbcfd1accb51db59b0bed1de1db37a6cce4a99dbe124995ddd6f73ded206e9e257ee6a3e72358a40911c83085b93b62f6c2fc071006617ca41c27f994627d1efea857f4b7a306dd4636fe42d0dfdb0e38b17a08450e6080dd3b63c5d9ada82cae5647f06466580f051e6dc4fbdf10717b6f98f17dfe5516f6669bf7c13e06bc95a7e3d3909204d41e3735416f848d407425c65d4f5408ed10525ae13d0ed03afff904ebf237e2126dd41c73e5e367ceed78a4f6d57da50437d8341a2bbb7cf526bc6f3f13a2ebbeea536973e5b2b1d18643d58ff6972b430b879777b7bd81701183a54504faa751d0798b6935e84223330cea9ecbe2b08d9ee5fa85c4dfaf9a427c6c5a70cf1dd112b851cd2975e4bddadf7db74d3f0bdccee83b303b129775dbbf2bb33f6f26fbff30c6305ce0e91b0221a87b720a40d55830077a568e7be44b7dfdc66b14683f6ef135cad9784aa53b4bff5999c3d3f21b4d6c03aefb84c84db8e33123c63a4321201b3b4e9f4b9c95bffe7e652a9df4ae615cffffb21f5db717e1b89f8aaa7763e1407f1616a4e75856a7b97e785d9fd60def2d5d1db2c5d866cc44a97bae7f999bc42f9d1efba19a85deeaba2b3aa08383f42f6e39d34ab5b25559ad4a49ceae59065a895203aee6a1c7df55f6d6fea6be8923d20c7e2174fd48d0dc71bba066e1c6816ad76ed8369a96e7d62ad3b0c32135899e3befefde108ea4777fcf0fd11fe233af0b96ece8cb1c9b28563ecbce7b3bf5a2455f7bab447504e4621d0717bfbea65b013ad69e2d8d8ebe3e246fa5e3f2340b3a2ead1482d589eb37a050e06bf4cf03660f40361c69ff00bb14cde8bfac9fcad48cc06e00c067ea5b0837868b6785209df63efdec5bf2bfa180b7025c1184fdb4a0c6540b96007ac7271e2d5734e413f7d4293d972b150f2673ecdc6fefff1f6b3d560bfb9abece315becda67ab3130c22071c389def78d10ea8de2b3563b2a9e15c250cc067446a845d063ccc58721fea52a6beeb46cbd93a4bff2a32b813fd39d45df515e64dc5e9447925d4b131f542b2ac5a8a7b68629c8a6eee20f936f9e68a5c3a5ef5967d78a382fa19766f5fdbb450531af70e7195dbe7caaa766d52fdf4fc3a576e601dbd8148575fac266bcb39ebafb6b099676f3c3f3f4f6f66e5ed3f97b4ec324d7619a3172aaa3c2f49ad3559e7f3c6b8805174027f11b6bd137ee2ba669acd4292a3d252c8184c07574f4f0bfd4bb0b4ccd3f6b17a1669c1b0f7336d3bbb24badd3dfcda72eeecfb989556cebf9867f4e8fc4dcd2c088cfe2a7c46be775518434a985ebd5f9f5f46b1d20972b60dd375518d36ed41e0d5bb9b3ff4176a1e08967e27786643e7bf7a381a776b6e8fce2657df9a701c33d6e9f380303d094d2bc4c11594cee1ce11abf98cc9549a719ecb85674bdbcde003a5f9c4ff393eab411a9438aa0f1c6c5a57cc3ea8f0d89742ecad5a0dc65c5ade91f847cd6e5e17bf9a5032d17fe7b86cf94c74a1f56f949640fce7de1b189cf4de03724cbb335528da71cd235f7b92803c975f2eee134d9281177b9a9317ec6238c7683bc67cc68a9c8cc8aed5f7b49c8a1996f0ebd6324e7fa7cfbdb96a9d8e39df3a15d7571bce6e71dafcea980a6311c9fff1f768b110354b5990213617951acefa715edf30364abc251ed485873a9bab67644004a9374f1eef9c70c5e5dba9de3640e9946c522aca98764ed94ff09ad1acb3fc852c56d09923e567a5d857535920a3efdf08f384d15f9a3c76863b42dfe70e8a350ff67f7e0accbc3f62f39f7605c7340b545920dedb55c227701b661d865b57bb69ebe5521715726f5baec39be3e0a4117a9c1e89234ef9fd42252251e355671628ebd5ef583aa16034daefd222d21eef0cda7678d0050cc6118b3273ba2a1dc0fb6bf40d37594882dcdcc3f7e551338892b5edfef55a9537de0ba02ad59e50366258d64cd3215f7780f2eaec8e973cbe7f0715b19b619db1a36736e20f27e7230abdf0f6b140e43197ce55ac02b1ea7a6a051cdd84eb29b24b3ed09aafce64e87353c3870b1682f2bbadf53fb9d2cb811a65dedf858ff0548696960a3e3adac4fc6468f8ff23e53b893ae7968c4721dacddd21c864b2b9845dcbe15f1269f9153c1c19d4b2e975ec106bc48fedb66b50bb30be9e863e3be3f188d3b645ffd61f5c062e117d478c97485b33d363c7498a47a098b9996dcff3263ccd17539759ab4b53d8e80fb980d6e2197956ec1bcd92c0e37b911c15b11987b83a66cee633bbb9673ef0bd36da139afd59429df29fa9623203800cd9f360a7ae233156cabae9665ba7c7f9b1f03f74a9d1388696c27254310bdaf659a1fbf2f19106d7b3599c31576bc8764f0698589a3691fafbcfc4916b5e952e60324bb40cb2dca9f9f93fad971a8ebd9ab57dcb45e42075eb2ea3657dc59b14fc3379e513a7baa2b295ff13728d975226d77bb96c6d13667b4fff2373d7bcb37763618fa90dba8ad851050d5cac15d08b07b303de955cba09254f207fbc730407f8b1dfba480db04d9cd7ff193d43bba3fed3dd9416665e9eb3f41a0f878994e178d809c292729915d8aa5f1ccfd116d2a8f1c2ffb2ab01ef6c7dcd7ef66f1d05dcc9a73d5a95cfd97992da4645a23aa666f7c5b2fbe4372bb431f147305c8b2f36c6945c809f935e9b41d3a16591807e7a0af8883802d146a0adfbc00b94e50adb3200a3864ce0d557fd756cb41cd58a2f81a4f8cb745e39f0b05f8f54a0d43a182278dacf2f63a033e75bf47b389c63926f13d57e128bab5f5aa343555746b5b2bbef90d5e1a6d89af57fbf04f8c77d11a51b8d6c9661a5e05fbbcabbcf8f70c46acc1ed4ea3f25c9ac30dfd092eda276c24876c73e8db02adb24c3f751f3c8dfcf6834ce1bb61154f1e12e5a50c339b85ff206977c6672ef461d15a78939428fa5886b45b15b355cbe637c4f3e15bd1cd39a2a404e3e857c6ccd1e130226a38d7883a83d5f60e31affefd5b003f88e446fe0e9633517c94e950e4325af445cbbf7b7c405cd59ff1d2a9556d6ebf8cdc9272dadecc46f7eaa3c0deaac9cb64f67d3a7fd94966ec839aeae1e1edb2d1aafc78d8ef7fdf565318bde6dd6a9a1a0b8eae527777c01e2ddbab0b65f1ad1e743d11f3202a152f8f9542b7c7b948542bc36a5132c7ba30a7866928052ec2ed806fdfbda92e8f8c65a3e423b048e8dc935ff542ffd02bc4b9f975ec84ba5639dc3d9b0200c12efd0f42757fcea60ee4d739d363d68b788f2c8f3d12b4ea2fc5eaa1f49a8f4d791d6b02a93ff0ca1a164d9479b1fbf4424ddc4e5fa6c3fa53e8f26f4ecae38ae17ab037858170546190d840a5769ebe7a6df22b784a99ecc7a160d6bb30fa5c86b23f48bd357ff3e8daef75bd3f6ccbec0cb76eb9fb3c35f6099fb142b897fe26d0c7bd9b9f5e993491ddb447c73ee98638e4e237c2e3476013cce41f8632f776cd466e067e0fabcf79969639029e29279f8e1247c1493a7dd18ce2c193b3c17826f8c1364ae6843c4787f85339499b05d9d88f83c90da356f3a8fc084659b69477794c77f3e72b7c7120d726be9d7d7b6949653b59d6f496fbe8d75dcfc2a97e402cf98b02a30aacebc2c5ab0f5ec3a3fcc5598fa3337f39d6e9f296acff7b7367c57516ac34ffea0fab04d6052f92d02a2343d2573a80d52b8f53e4cb2bcb0582c0d8b478b82b9855019562c4f6f58f9e3fb4e635c06c7edd01f17f121648fdb4b97d040e84a0b07c586398a37f71b454afbfeff67006c5b98470b7ad9ed0ffe0f5424ddd138389f2a5bcad943b86651b0238b13b023c07acb702b4601f3da9943d8b09ce65ab193f2a62cc5924ffb6b83f6a0e24183c77e82b16faf107bf25c8dfcfe14edfd8bcef547a07f30c66187baffb00e74ef7da7d6fd56c62126421f7ea706e36df07696d92ef7ef13ba9855bcfa199ccd307297a9da60d748e9f654632733337d8bd13fcfee71d068defe9b0e1b6599fb67f749affc6f6cde770f9a51bffa580f8c50052777a5ffc7e8adefe931b84552463ded5a0bcf49068613c6f576ddf5b174954dece37b0fecade002f8eddb73d0dfc504694ab49720c50b02a34aca2b8aa12826a26663da076cf9fb8e61a9be91299bd5c0115791f562e46f413f14af4788923b5b5c4a7923abfeeb23d337b8a757844cdef51e6517a53661233d00b076e39f851c3f2ec7d18d02d7ed8ba1ab27ad76d1d41f1817d82e2f8196f738adfbe49ba6b4ee60d0eca793cd6572b94c51837af3cfd9e3aa7db0604567471e043b0583eca2b9e0d07ae1d16c9ed11b7b31f7f209e95e299683e431a637a2013b98bf2799dc07f6d4cdeadef4e6678de8cb63dbfc0e727b9c5c744f4fa748c3e9ca4a88c0d41dae7b578cd373db5072f3c3c4123b9993cd0832bf7770183ab84cb398e89c8c865760f19676d0826d293a9ffe8bae3ca539cd8ddabfd8f4eb9d7fdc07d89a84eb41dc9269738874807b61249738a3d632ecd0c7cc58d47544519a81df5c1c66dabf2fe7a82f6ee5066b068fb4c229c87c77342e4ff608ebbe2170177f30a558337761b5a2a5d886e80ac4ac5ac1074469230bc7e622ff198421d23259053235ecfcf00deaeaca84a6334b93e5fe9012db3d2b2e97ce5f12c647b5eaaa8a7a829a405793b65c9e7f637feaf132f5f517ac9bda8a01ba8c5955008d325f87c26e48b2854f0970f1a1a0605c9144193adcb473c61ff2bd8b72bd758286d068af51e4c57e79af9c78f14d6a07ff3d9c39d36129517cd7a09b73a855717fd112197f4fcc60ac4efc2feec3b743bdae9cf37658a664ff81b5c479e07530de7f87f4987736bac0aa4994670b3fe9d19a1959ac09feee6a7172f27be572f99513517bf27c66bd1357a73902666caae5b1d47d0892f966e7492d5a6afbced4249abde3513a86382b595f7fd814364e2744402b134b465c725c9b865e86057bb385af478e0fdafd3b1e5a1115a57a6d9233217176b90ba5aa630d99abce6c60c28877bbf397fdae7e2f67c1c90cbc7a86991d62944575d12e5fdee7bae58b840efce27274de3aec11dba00bbdb90435aba8042cc41e091e607ab387d628c82bd05baf997da8dfe77e0b007f6dad17b1ba2151e7a213a23911fcbca28238b14921f897f5769a710f60de058cbd8c073cf775e1e748f4c91601d26d43627c289286ffabdc48bcc76ba61eb218b8bd62fa0f07a93c7afebc5201b0c54913ba8ac19f5b64360ccf146994d099b844acf33fdce48bf37a3f5a8b4a2725774d303906f87980fc7fc2337038ec99932e89946a9890b1d4fe6fe459b2c5144579f7163f188f30dea93d731b888d967d2fe7aca6075127c7b7576e906506ae8fbb216898c5354f7fcd77bc674ea6dc3765f80e16457062b46bad671d4f69cab2337e9036ab1c55a9c0bd08a848638468951c1a0095aa6c73a89bbdd3236bebaa73b82e6ded59513fee1734f46040d3d81991766ab40043b186e3f94dec1ebc87b3f2ce4d5290772787c23c8dca8014a6da84cf8c7e0b6e0b738e19f75a7c60bacab461d3e530e61d616fe5b2c09dae005f0cc424a3b338d6c94dc53272c9bca2d851dc91d2a0a55ff617e2c2afa161a8afd47caad2ff5b1cbf88464848320bfa0c70d41a5b4550f741777c6ea8335d61aff52c5ff2c66da9bab40daafb914feb285784d63e5d0dcff0e90a8be3872cfb16e332a9df8d18d5ece771dd2b94bfbf3bf44fda9f13f45d18b2dd04a335dbbf3c6784c3abc8076bcc43912db4169b2f6fa66997e8121fedef7673f28f4f9324ad679e7c67553eeb3eac57ca8c0d8fae90325f904f3a5c93b58d699503184f292d4852763d82ae2a021fcfae5fcf8ea65b1b4c7537246ec04e1b775b99b0e02d19b1d83327fa877a11315d4dd33ad8e9a5c6bdb42f3ffd551d4dcf3cd0c9a61dd9fa008331f43e0877f91234bb0981bfb993829a4e5c37ab16211794f90f5c0887f3f6d3783e21797cd1f542f7495fb17dc2e8623f7a9a30d774b4f1971cc03f3e09c8511820f844e32a39989991be0facea1c3cf4ea4862e4177930b7ba14359fc73da1c5de1fcb06aa28cb59151ad3b12cd97a869e64319b7f54a17e861a8ffa2656f7ee534ebc5701f71d48bd80347e442c45ca26b5a66370cdcb2d6e60947b9218801571d666330c0669e3f0f2d01167ce1cf130af4a39aa2d5f30166a994008cc1231a27efe553f24eef8b9f7812243a8dd70fb0ae3dadfbe1819789b1e07cd16463b223d34e9bbd7ea2d8b39593c9061c0df9b3aa2d1e3ed0d2ffd9885bd8bc07eccd661a29d823c69658f45b233f903651310fa68444a671935f6b6c5b2e9a5055e689d398693d33e58108661304df8cb0d32a029d7bee5ca1274d61c32c7d210aba99938de07ae788cf015c6a508119a881d8eb81cc3e816b0eeafbd84df581bd03eb0933ed0c4b66004fd2bf5542a3c05a1136bbf0cdc0b13fb43e32192adcde9ac23db016c10b191453538cc4babf62e1efd614f0860494a264b287c371ea46e6f4a5041d919bb3a3c6416b4c9da131efadac2562bd0066188f4ebbbddfc74bb5ad8b3cbc8ed2bdd3a2e0b643d8764c4a3bb9755a4b1766001b32b4fcb77b166e86d8181e167f70d617d6a311a33100dd502179a5f75e022077e3fdffe2582fe43f19568cf92e9f4fc69806b445cb03e9e87f7a6fed8e2e9c5b53fc6648e17fedbcc2cdbe24df9fc8e31e83374cb15f3e9d7b4cfb7886bb472f2ff97b7a1aee9204f95a827e1c78c6a9dc89d7004aa3c08c966e58af63afdfe709e7d2384fa8d51f2c9b666c93018bace6697707a3cfba3fc6cc8cffe5f2684f00e3f7773aee62e3c13db1b9147b8b3ebe66ab8c171cbf61c1c53c155c986010b82bb0b6b417b8a8f72f8806667bfa77d301de5b08192d9721bfc63d5737e1d84c90352a662518f6830fa88929ed564244d5b1f57de09f9435b2fe0e6161c58ef954c3b633858e5fd0b2d8f574b612b48dd0b3580541d53333b263f4a95c0ce65eeac6ad2d3289cbcf705e34d626cffcf65771599dd0d005fb2f576027eb3b4c572e50f6b8e853849820221e479a4d6fa61ee6dea4966338fc187e08763d02ab0a49a9f2b19de89e2ea7b1dd77fbb07502b97f16d59fb2590b643dc17b0a0325c8c37ea00defd51c475f0975361ed777f1003be69b9faf22efa17a626e0cdc6229776edaa5b7f3ba8de1ea35a04e6714eec5d535410e56d5e71ada3c0c5a91439b5f80235af43f5b3b26581b789d8a26049a87daedf90304b844a0f1a8167a33c127607273fbe14ac3631ec677d7ecdd3175306ef30c89c952241e1f92faef79087ad5eceaf1821e49521ce74d9f44c14826f3e0b4c7eb7b0381e6fd6a7ef1c1ee616ffe3afab7cef60ec1f7e68d880d3574c191c9206c844c4694d935bc2a6ff955173c8fbf65d6922a3139220e927371cfaa61871d8ae03d35ff2aaddf792b853f5076648dfa9272bd5f24eb8ff8f73d65b8e1675180d10fde08e782c037269db83c9e528fd3787b939f5a77681620ec89c5a3936fbf6f4a279cf8a9f614b0218f2e76ee0b4dd2e77808c0ba69e71194eedd0c6337b68c40a19ff80fb6d88bb405f5fba2fdf70c697fba61c99e91bf4aae6b38dbe0dfbec302fe0570f7bbbeda4669f3fab0017bd6a3d795d59ff4f9e5746520371e16ede4a6298df67a8acbc7fe814d659e803dbeabbe1441b21d375a3ecd5abf0dee96ba1c03ef49ccc3ce740f9310b6d6e258c3614fb720446a68b846083f2e2b95dd288e3beeba97c6ddd1ab976252ffabfa1675dcc0a68790fd4bb56c0e7c05ef0ddaeed3fb2b133e347dc9dc10d612c82b6884c96c845efcfbde3cdf706fa8769c7addd79c0e37177b0b8f7e753b7b2370b9ab54365fb35bf84a88b85ad562d03e787067a01d6061185710e58b385b202bb380d521cddcaf444617b76d631d214f601fe9f1ee9a7cf17365e58a59b948cdd9f8106414e144a82829d64ee29955dc4ca11b470accb86c252d93403bbb41031eb3af31e3c63bfe198f5ab34934efaed4032f38dc7f7c13316de2c143a1a6f569ed1003b5c2fcd03d3d91beef476967675e01b9c3d681a12365907a9f4112b55da5e0f4690d2df2362b5463f063c1655ce674e5fd43f8f984014970989abd9d5d9db94b609ad282dc4d5af0ec03fcae7d206b59c6f248e56b127744ba2e88ca6c4549a4980ebf41f4d0bbf67b3affb0bca8956c80aa46931c7de34bd4f8b5e4a8d0cf5130d5d8324470fe5412785c810093ee88ed751c47a50278ed3918e4e83f91a7237f571f9ddbdfaa23afbf1079db825878b23b3c55bd95984a20e6e0026bf0794dc658b83af40d32bbdf5a501d67559dfc1d853d161fb3e60776fa079af7d8ffffb128e0257f2161b74cd47ee68bd4ceedef100b5f2af11f531163f181231dd75ea41c5d88436c2fde47b6033a991ed5fe66724d6af4eafec61c3c0cbdf09aaacdb9c1a9f96cf74de321cebffe960f8efeea6f46d952eca8b0b12dbfde8fa1dca4240d7282bfc004a1090796bc8f3eadfd957b99b54e1019f5cc5e7536dd85f7fddd5efd35d931a28fe559f8285bcb0c8475d9cae5376ce173fc7a794f01affcfb334e1de8beceed5398c6b65bfbb4b9b63dac1e5a5e20b27df47f0f29587a3f46c222ea1b572e9512b5780aba97d379aa74ce8ae6a8ec621ba4c954c436bae6d29eafbbbe2d75b066380a9d6ceb1c775fbc1b0403f9cbe9d9c0e436c4fbb639a2eaefde4a03a9d03f6491b7b895c3eb57f28792327b042fdd804960da5339ca1c644ddcd55e5d668e9c5a5a8db2f08acd58338280b70ff6067fe328760df5810f214130244a2d45e440091e9345bdf92f1666357b540f5f15b3b703a2f4a4a3a44a2121dc65205a116b9f76c1a2d7614aaca0031d5808c45f467092ee2422444f3ab2e4f255e4d746cf9e1647242e1fd366a0feaefb8806dedd4dc479b3283788ecc8738a3e88e1d5ad30e7dc14524a7502df474b70db31865c780c886fb187418b94bf29a011a62aba2024ca56b29791e21052c883237207e9889959096f1d8e92e10e77f211d49326be5bc7401c36e55c892687b0f52d32a9cdcc7c9ede694f13b0565d40168273dcaf0e755cb73ad69d6aac5a1823f75138b1a0b0da619db59c5bcb7c5cc82d5b4b4bdf95b929433ebf39b3583f67e762516cf7bdbcaee0347036f65292a4e92796e2be948308c9e3d5d51df7d97c7388b4c19d4262a2f34cbfe74013fab9f28f9ac206db2891cf6cc32aa06aec7d13c9fa62ad5e2a3c4d6b944b678e03c5fa3b562ed6e00509df49e0beb844164bee01e0b52c8b659655ca9b1e61e1b28766c8e75ed9141027b09c13dc566465b44483d9aa3ca02f298869a892e7783bc2fbfe2cf9cdcfd007bbe73cd80178362777e70fff65a046a30f79074fd471c40a1f6f8f2f3ce1f1e550d78367a159c55eb9ddc1fa46b2457e727f3752c08b6b7e13db9f3535bdb0fa6d0a00c2faad8dcaf6193312bde6ca6cd55373938c3ca09767c9340ff1bcdcad023a41f4fa950b293c1f3abe561f8051f4851ed476df28da5f8d4df6141bed844d1302fe2f701a35d9527eb99fca10aa68ec8613340d7d3047f9086e1fbc6cf7505ff7d3e557ed80895a028378a60e366af80746e8ffc21ce2e0ea62d5e670bbc8518a1443c95292031c06bbdf98eb7f67da3fb921283ca36398667dfb28e14f1296ebda420f6989b6f1cd090d16ce7278ebb5af6b816d0dacd111ede324c53e73c906271fa4b4ab2d53468c8c9e8b6d7e4dcc54258c91b0c9f5e4c56d033892fe63e808676fcccadc4572003241042ac5497dd5391f84313ac896694d7bff24d2648f9b3968a38acc60f4dfadbab2b01c0eb2d86795ac796deb2db6eccf6867af6273e763efab0d91e77b6f28882af64f5659094f43bf1eee292692b292ada7dfa347587f863f7375ee5de04e35147d4ae97638225f33e2b09b8a4994457e864d7b01969862d4b8cec907409c4263160a0c1134bb3badaa0815fdaa91b0f62d3656f5a47b42867954d940dfaebfd8325c9268d90b9f56d0f8cdc6140676c62b63b1342cf68c9a80ffece56550b18ebffce1789351c11356aeb2b2268317a1634d4a835453b9a4b86b5f43ac1ac4b281ad7871a71f137b8b790b5dc91b43db6f29ba9aabc74e3dfc31189ac6e835f2822f350895f4ea4482e179654147d7bc8513d8968a9bc50ec9172b54582f737b0323d8ae4349c9cafcd424b76cebb0f178aec53c79f2d4fb69dffb378967538d9f8067e716c75fa1687bde16f78c080b2eb1abaf1dc7a56d92d83e07843cb928268ffa5cacaec538a0952aefa493de2c03a682dd7381c44dbc484c065f6e624975453e86bd70c1d6e41e11b8c2cc92717159aa687182b116eae50beae8437da5477cef80d3dfa426fda37c833dbaeaf9f688ed74a0d1fe7a94529a428c96fdcefc982936355fbc9c03eee8c582103710c0db0c0733300333300360991600b3f86ddfd34b8de6ee2f9394e450c13151811f37f0a3e0271852a694a44ce90e9899f8183511213b71120810830f5065645f4e41a77105f22b409e0722d87ae7b8dbdbea56ec56e3ea5a3caea5c721582ab5fbdefb39081f358deb1acb0687857f881842538c49b35f4b6dc5a871d5e45d36382c2a0c2285600aaeb8da91a775ed9416959416333018cd67d3692b932042086795d949d9bb37bea5feff5df775f9775a0b0e3cab3b10190453ed6cec0e77db8330695c3799cca78303cf623018cca2160c0683c1609448134404c150fe728de913ad459ea6787b194cf9cd18bda805a5b44de73d0d577e8dd79caff1290d7e904ecb6be5f12343039140b05ff44d135c4fb9b43ca67832aa70e53f423ef32aaf61691d20acedd3606615100c217e77db11c275eec97060d2cf4a0be771e7e3412df207a6526a7ef822aba894c64fcbf27c54e7e34148c40f2c5bfa4d3013b6b4c96ee910e9034b155572adee5fc3b6685b20c207f6d49da3ebf59a2395b0f3b0c3591588ec81a15de7ec865eae6c29a61e227a60fee9dbae8baeafa08a70e5531ed8428f6382aed0ba40040fec29b782901354b456442b9f92591643e40eac215f1953aec551bb1fbe904dcc703eca0eeca5ebeae736e57a665f7560f145f77d8d6dbd357f9c0fd3816d8c0b5b4291516cc58945c8cf81f16e8cad5aafdd67a8ae72602fbee67ab9e656437ef54969f17c270e4c21d4bc2f5147466d57040e0c2d472b2945ddd2d7438d2beb1bd837ecc8d177b75f5b6b5c53d70a0748ebc00e43c40d0c2ecaa4a2fa860b75531a57367e05755ef33aed7b743e3d545758bcf3f1b401a594aed8d7d73d1d2d95f9dc5a1a57a9d6c96e05226c60a9a24bfea9f5adf772695c87743e2bcf1fcf66c75a0383ca9fc7b62064d794a3540353487562a75a1b4aa9eda7b0b4f8c834b017f955a6af5ef71d5d9f40040dcc71bad41e5afb4fdf728d2b7f5e4be7d343557d54e21958feb32e155bf3c7ebde46c40c2c3d46e71a6c0a13a2ee0f4b8360c0860606e3e93c4cd9b438d53c7e6480889481696e8a2d6dba5be490da00d9c04c4a8b4a2a1958f3e4ef14fa4a0575adc675d9e0b064525a545426218b806cc2502a2d2b4036ae555a56d018985384bc35b41e2a2b5d4e5c29e36d561a1a184c1411038b6965bed75c618cac2d04960164a5a581c13c9095d6c1603c2c1c751e3f3250240ceeb58cfd3e1bc5c809a2f8d0c1e9fc8f150e0f0c86d3f91cac70563018959615e7f12323d28608187a71735a949ad7ea4a897391dbb4ae16e7ead55f60b91ec6a552ed7209b66fbcf098df5d6beadeedce2eb07ced3c7df55ae9dc6a5c70c81e93b73fd3d7d22db06fbce92d3d8c6d25f78bb4d0aa9d5de5f25c9a9c096d448cfe51d416dfc14fba5960db9eada96d0ead84d06a5d278205d66b21e5ed963ed8f457994565839ac81558a6cdb66e2343d754bdc635e3d9ac9a40c40adbce6ad5d16a2b66dfa4f9302a479eff56e34f716d7915987bab606aba17d742297edeb308792a3007dfbfd52052a45295b2b40e1b2b2d487b0acce57f82107aa3e4f29bca77a4c03c9b5a6e5774f44b65e7739019e2324136308336a35160ac62528fde9f53199b6a5c3dc3812a88c81b2c61d4d7dd55efb535a964563ec5955120b7a0f84071dc82b2f645a0c05cfb4f30399430c60597c63585b30992811d4e6685b33e1d8e27311a224f60e8db4b292656b522abb3818813187c2b9933a18ab95a8ba9630d449ac016a69850f2f5085d7bda7c567e85c322e49b09ecb5570e2a94a83584d46a5c179121b204f6145aaeb5aa7c6af17a8deb0a27a5a96cdec30ce79359fb699c94c8224a60687d540bdddfc67cc91ad74c221137185a2a4286dc1953bbf834aef05d26b39b92f22f2d9124b0ef578fde3ecf16dba9e6f12333031124b0f6aaad5598d05d466d0c2625e51f06f31d9123b0feff065564f814ba751a57b8d2c2e964520c448cc0d077524f65974ab952af09f92e43a4080c29f5bc3939dec5ab5938998fe73f1d8ec69359dae2d97480f01020afdec3fda44457695911210243d02df7fb183d8a4dbdcc1a027b09ae77d4da4a973291c6f56d523cad9d8f07ad88109872297969e4ec08b77510986a1497fad4f59adae556094480c01ec105353e332befc52cf203e69ddea647aabd521f97c6d523d2066b6a3bb9e87ed9f5bad6b8f2173e60d03d7ddf5c72daa472c1950d1b2b2d9c958c5212f48021ee049bfae6deaa730fc8ca668db759692ceb3b9c973c60abb71d2bda971ef7672a63076c75ee42302a6c8f9efeead001f3cf86dc22b35214510e58eaa5507b2ec1c41917ae8e214cdf1df28afad4f72b88c810c2165c8ad739a4d1456f3a061b2c2aa74d5fa384bc61becec7c382b097117a54e51f35f1a770388e8c1696fda9e94b48edbfa53c1fd6505c4d37ad1591e2c51e1619fa2b7dd976b7a9983a6c75713fd415db62fe443860ec22429aaf9667d21435ae99cd7c0a4bcb87190b7b4f4d875ab9ff766f75c1e0308fa857a6173d695c3d9f4e63c9c0ff646063599a8215c6e99f635a0dee7663a871858d056154d83a737caf899f7b885fe3ba63a4b0f78f9a6a4aad8d6b39d7b8a6b40e90ffac6c32b0b1ac76fef3692a1dce184badc1a03a04dd39a9f69e2fc43c7e64607003a67adb3b8eadb9a575a771650e6cd86af6f8106753f7fadfe3cce347460d0d43ae3f72a24d905d849a01d2e21e66bad334eb811ccde755bcd3342ff500c2f25d5c56af39f70dea13f264749e0dce8e1a44a616bf5c0d935bedad358c9cc12fe83669e67bdddc58e3aa565b321f95a8744016dbb94fdd91137a474dad665eb24ad94973e97223c48e7eb9ba15e373dfbc53b764ded3692c497938d6baedfcf3ad8cfa1ccce6f1231383c652e3045d43095f75ee6a5c87743ecaf33a6024cfebb4b478fcc8241bb0d7aae3ef7b6e95cba4dedfc09d81c1c00d27f3f1ac7426e3ed28a57277eee4482952f8b9aede3a7518a14baf06ac2d461d5f5ccdd7bd90068c5bb64cab216d0bbd5d1f2863a4819278fcc8e8980173d7567cebd1436d7538ae694006da1cab26c41026a49aaee0c7f27783dfcecbe1aaec3362c008c1d56e4551f3c1dc0183e8f95e2298567f351577bc4065e27dac4dd572cf3535588cad964a0cdfca45c95dc092551f62f59871bbc1a57c307e9dfa60aab6127ce524e8c1906e5b092a6e0d75ae851c12a4c19e537671116bb6ff8720e4b480a1c82bf5d7ab5d0a5d73171a8c15fabf54d7a9d975d4b8a6b0a86c329f16950ce793517e064bcceff17f5cbd4f232c010f962e75b6f532467e1ee36e09cc60afa2c34d99ef9d29adc77b0743ccead6ea5b05bd7d7d8a6b1f8e0aa7c3a24b021664afd7e9df53adf553ea405dc10a1e72ef8c54368cfba905079b95968c67d36794c162f27ce9bdab0a192cc2d497a27a0ae5fa7c8debfb2019ce07a98ea4945beb085b73e95a4a799955168cc116b7edd751a1a3a5dd1a571506f3f89159e6c4604f578979adabedc4acd0821c5d3bfab8d99adbcfc1c6d3d2e14494dc96141695cdb24acb0afaa8442139d83be24c4bbd357fb554e3caf9ac6c32aaadd8e3c260885d5b315cadbda6fed3204b4bffa77d7af082c1585f35dbc1e6d0b55b1a57160e27259334a9e7d3022441958d27e35679fcc8ac40052c36c51a55324430be5c8dabfa0e2747a7a9e1c248da3c7e643c05ecb9b923a37f2fa1a5a2c6f5d3c2b2b261141f3a982a1e3f322c2860ebbcb554bccda1739f51e174a22a8a0f1d1a4f23038369dea6f160309e776b9c4085c3c9a4c04e26130013b0a82dfd35b4dec3971029f512308da9bba9f85a4b75e73172329f4d0a8b67ed2001733042e5943b7b4afcd662da5e7a0ae953bbcdce5d86624d394e0a113fc5aa6dd3b86690aab6be0f7286679a06bc23b157edad7f25a5382d6afc5189891ea2f4978b12dac8cd695c3b4df35287ecd2d43c39f55e2d56f534ae9d8f27f39f4d878df59f4de70519c53c7e64d850968d2244fd717fd969d2b8767e65659359ed8f4a449d6c5f63aeb61242d1ad4a1ad70c5ce140dd8efbd881d2f9959532727f8c007666b7a5e8d152d590c6950d4e074826ea0e0c7b2d1f43b4cd285753695c3b9c4ee7338b44c052236b73d6fd7defaf71fd154e860d4e078842f1a103050c941c283e507cec4079af061b2d8d95e38bee6cd45a7cf6cfc44be39a7175e6f123934608d2731f3bf7b68ef031984f0b67484b59cde347660720d84f49a9b6ead6e03e8deb4725a216f762781a4a6e0b0a06f3518918141f3b50328879fcc8a47ca033256e57cbbaae8ed62ac5a8044949c13094d03da766c6b5f9ae7145f1a103a507068341f1b10325c3c2e9c04d9d0f0bfa0ee7251e3f32d10399e6054107542cc081efc44c8793d228b0810fa0b4c749f18006bcc840ea0a60c0025e08e1b0f1b1c005d668effd1a16685e2f2ab09ad95fa3a5b88c1714e8c004be90400722f0010874e0019e083860399c8e041ab0c66b2e2585d3010103da7724b0000b28e0f34012a0998f6723e4298000f5c0017613bfc392010374daa7bc091400ae3c0b4bcb78284000cd08692a1718806638294038291110c006a0b30100388ed5359a97e5bde78b130d986ca024d33cf07de623e43540a2191851f1d3520111cdbc2693799e8d4ae623e429709141107ea0e110222a9ec60666010cb8bc4a5b29f99186299031804b2a4ed10618974b0422f18586111e200519348bf0002914410641b4818940a00082e50f6040851f521f76c00734e0620fa9871de4810c94c00300ee20841476f8a20e1f40d0810273d80121e480128737e0c0095abc41056e600327dac00036a0b1860f21d4c0803408011368c83308010d666040197640862690610c00108309c2d00618a8008bcbe5b28b087cc1045ed0ec61065da00026b030032e5000154f484e608144131416987051021fdc2849c2070958c0c5114c80062350a0083e882084217c8430034404c10440d8c1861f3080103ef8a2074d80040f28b0833610a183ccc10e383184014254108415b068b101223e0a0c1e0444a0b30339ec60c10aca2043c7184c8c1c6180a18214a0e0042628010996f2e68456730418117c1102107cc0031db870e072b95c4090c38b303e8400a344051f3ea42051d006224e400113b841871240800446a0c5fa4209010f0e8016420a56011b5209dab16cc0858a916f6062043b3078a0840818f0858f10bc8107107cf1012184f080ea0019f8c081dcc01728366084065490812690010310f0c2088cb8800a2cc0860a7081151498012126800009ece08d085c20b0e3017470002e18e003100bb82800065c4800021000830380810b06404001da600501bec0c2000820801da0220010008007a88003002730208409004a8490bc018a11182042c48b375871b95c7681805da001850b02300189cbe52282c603dc18c025158f6005181714a41ed2d9b008f9096c2a70b95c760ce97c0b0e32f03f9e96cee73fc24fd9b43172785a06fa58e16c3e2c675c2e1715468f555c2e9929fc0bd2c8449049b81e2c7590c111dc480600f9c209665c2e2e90430bba5c800060a58dcbc507002e971ce4e07219f283cbc5f578387888a0092bb85c7804e0b9e0727151b85c380cb85c7caccb0506acb85cdc28030fc2b85cd2a8c0e5f26cc8b871b9a461c6e5f255b85c708081cb257a71b9f000c3113e71b9c44002970b0f377a20e27291c10b2e17c78237a40e2e97cb0ad21023478f1e648801c60bd2c80624032e3f3c008317a8e1021f3dd268011a67f03063070b565006193ac66062e40863296f4e683573043aba6007315a07e77239e9c28aca10a430d6186290f145491b2e1731b4e0722939c3e55292b95c4a5ce084158051b288cba5640d2530b85c4ad410c3112e97121e252cb85c4ac8b85c4a745c2e25635c2e25ec722911e37229c9510246490a4a4c50a24afa7229e1cba52495ece552a2974b09092648f820083a6460841080b85c48feb007923cdce17221b1031de400870ce02021c3e5423286cb85440c60a002c91648b2406285cb85a40a532089c2e542f2c6885f2e229ae38c30a20e30c210d984052e229b10c0e522e287cb45a40f970b152e97112f5c2e235db85c469870b97c8183cb65c40897cbc8182e973300b95c46c430d2c6e532d283cb65840717914d00e07219c9c1081b97cb4810914d9c5c2e234bb8886cc2e4721959b95cc6b0848bc8264a2e2367b85c46cc70b98c0861040b2357187197cb08bc5c46ca300283cba5024eb85c465e70b98ca871b98c80e1721909c3e5728678b98c7ce17219e971b98c5461a4111b38c4e5b2012e5c2e188002069cb08191cbc58b325c2e97305c2e1731a0e172b97ce172b97821adf08ac4c5283e71b96419c2d0855b5c2e29f201225c2e1f18c2e572e9c1e572b9e8c0063590810a506002cc171cd00006c458411964e818838991230c3048b0943727b49a23c088e08b1080e0031ee8800b2e97930e9071828113157871a2828b17172f2e5eb080052a9881094270d100064880a1c1250f70b9a4012e972cc0e59204c8015c2e2980cb251370b924022e976cc0e5920cb8e82073b978b180cbc50b065c2e174c3ee07249079420472e9714b95c2e5f2042c7c58b2f745cbcb87841469ee17c56ea19247c604fad6f954ee37647c41a674969312389f081640fec5f37ccf7568c4fe3370e3c090c123db0def511e6a3579cd25a1ad74d8fb179601a5b4bbb12d46ddf92c3038b0b367e09a9c7709b6b1a5720bf7207b6d4c1e61e6ad1a5a81935ae1917b4603090e39f954d4bfaac6c806c1c891d58afd4c9aba9a61fdf733ecdf1415207d689e14a945cc18c3103a10aa73306091d5827462fa54b8e57fe733dc4c06030989505923930959e2ac40d4256ee1cfa954d8c0d83598308247260ff9af6ef6a6bd71911491c141303123828e60d3e48dcc0d69b75db6a4ea41e631bd87be935ea1757a3760ad9c0502a7597d283f914655b03cb84dd3c26fd9614b956035317913e4dfeabadc5940696544c8a173db5d0c0626cd829a1881af64b740606e18b99b4e9faa30795c40c0c21e5d139e4fa3295a6c6b55d405206b6fb74ff25d7141da5a6414206163ffd77b3afa4d4918c813d37b55a57734a41b56040220616791782be341fa1974ee3ba467b36329fb406246160d097eb7e314598aa35e77cd40b48c0c012dc9790ddcad72a415e69c9ac6baf90d48c2a24f90273abb9dcf71bf9573d884840e20596dc2214dfe2c52a1b826a06491798475509bee5d223cfa5b2f9745a90941615d7879b17644a6dde3548b8c09a5baf5dde942abf1749b6c018a588deb95ae4e27abc245a600a3dbd5aa925529cbc49b2c05e7409baf634c2f828b5c6958dd6e17c527f65525854368b040b89507b4a89371167264208a6b69ba053efd06ba971851998a252523631b5c3c90164258d0c5c699d343018922bb0975eaf17118c687d74496205961e7fd773cb232b26905481b5e520e742aebdcef1b1404205d650277f9a7a1d2de7afc3e974d80a67c3cee34746433205f6cef16bebd1256cafadb4041229b06fceeea5f6143986af34612c1d2451604f57ba97ad3645d722d2b82a0f27258ccd41f206ebf7edced3276dbc94eb3c1a1e9551cf67a3b249e97d020914d83fffeda6ed9a5d8bfc04f6cf3dff45a85fe37aea3c1a18cc17489cc0d6c7f6c6a93da716a62369027b08f23bd7d083c821d5c42061026bbffca82d54be1d5b39124896c0224cd9d4d7fba8d6c3f5340d1a3e8444094cc5b5526bf9319baeeacfca07612afff10c51195d371074eb50b9f6428e9e278175e4a836a9eba2971e2281a98f0bd732cc978cfe911c01255d4ab999373567caeeb4c8b9f6b8d65bebee213102538dd545b814a1a82d61af28901481bd982daacd8769dff24604b68b7f6537c79d9abaf411049221305e8fe0a2a64e1ffcd76564b4072442608e35368cebbf772177cf468c95d1024910986e44de4e39dd834b1509105873357b66b6e256cb57add5e85527440ea64c243f60ab1239e7eaf5eb739fbe93507ce81802491bae12f152eca9d572a5da0dea3a846ed182a9f29f4d06c8c6a13256557130b20bf65e744f1de9728a143f7defc981e263078ad221bf46e66d525c0b4b6ae66d3e2c9b94944f23ba602f21e48d9dca7fb87eb3b2c9647a0718619cb14347bf4c6b2e184aa83984f8d1b3db4f4a4be3643e0f24a9725c447d0da95551a9746fe4166c39d7fd9a2fe89c53eec240f1b103850d4e0e0cc6169e915ab0ed6dbc291bda57ce370dd6d7d9128cd022edda8454a5942b192d4a579c1ce7eaa75e2aa8f4bd676564165b831159b0d492c395eb2e694ae9c582a155a7fd1ed4f796fab060ed1ea575a79cf8b5fd7c8717ed2bd87b779514e75b471b17c5870e141cb094b6f9741a1a180c8bca83656030eb0a061752aad8658229a1672bd88a6ec105b7dd7d39eeca86052f18610543cb2384caea789dca85c134af82f527f5a921f74fdc34aa82c18f31514ccfd91fa1940ab6faa1d4a9d3532b9f63850ae6af1fbb297528d7b96ef9b44f0fccf36c543098d48c3ecf462579567e0dcea7fb146829665dab9a8ad3724e28fe429edee2f4aead650a16ffd5973f8c11ba43af144ce373fbe2c70bae069b14cc371dd47e9fa9aebd340a06914a899ebf57715b49144c13fc544da7bad04134120aa60bc64529755363a0e488657c5eeb7c84302a8c8082e982e85b2fa8e0a7b58fc17c82356a9bbe527294d6370fefc1882758aed7999e53af295fab695c85bc661766a4136cc5a79a83f1b573aba2efaac20827187aee2d6fabcffdba6a9e969263496164132cf753a7cd1511bb969c6748430383c1a88c26d8421dd1ea5ca5b4a142d8692d3a3a3fa4edc060da18c9045b69d9774146a95d7bd6b8665e4a7b4a5ba142cae347c60523986030e56f722839654fca5d824157d8f1a5f2a7d07a9f6e09865ca67a95dedbfd96eb05180c06335289a59a6ad1ae2eedd4ceaa96daf4daaba4bb944a1aff9694a606068351ddf9b0f86084124c9b76fbf7a64faae2ca198c4c8239e4a252bba0c35ce82e953122090611c30415f1e7f2cd8f048390dd22b554f45d693548b0b64f3b3d4a47bf9dd4c823d85b87343d1154f530b623587e8a0ee5cba66ec1dd46b0f734667c28f57bc4281123187a6aadfcc4d0695431695c81ac6c3241d6507d899145304d75f67c9f94fadca8710db24626b64faa060b3e2d6690c13b92881145b06f2ec6466a136b5c331ca868309208f65a595ffab87263ba06c8a6d3710411ccf5c314e17ac98a61f294f61f0feb47c87f56383980ac6cd63ee4aca41f390473aa6bc1f5af32363f680886b2ffb59753694c768d8f81e263078ac795c51829046b48c1f4f039c7ce59867c20c70c0ce65986f850195d6b851142b0df6deba972a40ef1bf41b0544d5f399736a57c4f05c15c3e941062f7c7cd0b0682a5855ecb54f74eadd603045be8c87df24fed7d74c7c2e98881c1b0703a70ad1f8cfc8135e5ad4bb9c6b8dc5afb8135bfa6b81b954b4d7951d048038d1d28283e76a03eb0a4d4e9ae5f175dd4867c602b5f6c8c94fe73fedc5a81c2c81ed8bbe2f55a8c711754f57a60cbabdbaab67d266c9707f60d2a185377ee83102506c3d2541c0f8c15f24b4abb2d7cdde21d18f76e6b30773d5cc8358debb203f3f6b1bd97468f8f75d581a16ee99317f4a8fcb835ae9af7699da728062374602d35988d5d7bd1df959a03ebf5fe57f572df34316b5c3f71a3f16478440eace372b1f9e25f1acfa44f87e3591d63240e0c7ebb94789bd1ab8d0f07f6d23f15df2da5d8a53e8d2b8fbc8135a4cb1dec8671c40da8937285d66aef6cc44bb9b6a75cff5529395e168cb481ad854d593f25526ba95a197d63840d0c3a67f4f12d73e776a760640d2ca1f74bf97e21b7d92b950c236a60fdf2f3b9218feb5293531a46d2c05c8348f9db526ad7bb5342034bc54ef9d2a6d8a14399523a038beeb323673bf860ecd846183103ebb85829a77ef12f94a90ceca1a412e65a287db7fc94c8c05ad16a2bf16a9932b64d690c6cf317e543f68591534b490c2c5f3e8ce929a61697d2311206c6acada9b75c44a93d59e3990d63040c0bdd975fa5b76d7bdb17d6426821a454aa6737429a1aa36fe4ec540413ad4e06ada87e3841362c2c83112f307efc0835f4a99b5b4696213e5646251646bac0b245c4bfa991ffeb189f65888f2b8c70812dcff7f1a9eed5b219e6c0603eafb1a8a41b235b68959c8b3c3142ab172fafb47aad181d3f72e5510c95ff94a18018d102ebb61bdfeba5228caeb33b0b8c5bc1a69fad69bf3e7763813d850aba76538854f6eaee2b30a4e083e9fadeda469bbadb0a0cfdcb051fbdb66fd0395e36c34815d87be51a8ad03d6e722e1515985befaf95b3258cd9dc14d852f139114af4d64bda1ad7cfca4693f91c6c3c4bd5c8287761440acc5b53eabde4d6b38beb481889024b09b56363dd64d832d7c81bacf3ad989a37462d9bae5635548e1128b008d553aa575797d58afc84d8cb3dc6986dbf550d234e602da6eed58411b2b7e6ba096cedaf63d41eec46b9315733da6e186102db542a5be4e6b5711db352cd28b3616409ac557c762dbd7f5755ea5986f800030e234a6090a1afd8ec74edb7d5e6f1230347dc806fa9be4ae5e5eca19ad1d620080d234960cf7f25b7f21b369471c16004098ce3a6deede5b789e03b02cb8dfa0b7283aa715dd934cf276e3a30290a468cc09afb44abd18a2f916baa06865333ea621829024b6d0423748d54e64a47f1a1c333e483c1300c0683c9a8a7877cd60b234460bad647d76f5b83be0ccdd8b080914a1819028bc8fbfdc718f325fac7c66fd458268c0881b5865a4ce7ffab09d1900e1a184c6b9004c2481098f3e84a397a95e8ff157c8c262dc30810d87394dd2ae92246cbc51fb0a51ac6e889f7696a6bad218cb4c1a2bb2b57d76b35aa87bb60916173c9914299bf5ce982c1756f5f3b371559c15c307db95c8a087adc18db71c1b2c5b53121ed6d1b1d695ccbe88cf19ea5476a060d22b760efdb217c49ed430badd2b876d0c0603a1c160c26b3d8166c3f255f719527e8e283b560f0b72d5c4a5fbd7769c1d6fbd65c5bddf3a7b267c11c6f2f66e52ba1772ec982c1f59e52c428113bd8502c58e7cb5e2e7d5a456a55e30a53386560301dcea775feb3f994c1f9ac9481c174feb3c9703e2b1b0ce67d109444108105f3561fe36357a81e6cf40ae64e21b8be25d852fb4d8debcaa764382b99a5ef21e77126a3d4156ca362d79446e5d2b5155bc1528b8b59b7ff35ae1a4f0b4b668d9416b7507ce8e89c11dbefc881a2064a0e1416a0e44081bfc2c619184ce7d7e83495f8693ce4f0c0601e72563098ffcec76130cab55955441622ac604f1bbee6cfa7f2935b184c1359057bbb2a7d11521a11eaa80a9612a92ad496c993f74b054bbea0667e540b46f818154cfdebe58edcfad4bbde82ff3d74a49e827d6bad2d3755f13b79d4782637a5394e0a903605eb185dbda9f59951516a5c53c3ff1e3d52e1bf27693c4d035338519582396ac4cad136a59052e174e222875a50540b8ae316154e670c0c66c8b30083c1b48efb1ca4124448f1f1b474321909888c822df518ed4b1557b97f9922a260a99fc6c72fe5b74de8cd4728d823f6ed56f45a3e7f0f14ac25f485d46b7c29b23b914fb0c64fb39dbef61e8cee3098ce3b9596150c0648fb60309d87229e60d95edc870e514b7075695c3fc5b570607327586b2d71cba84a3deca714c5878e2129ae5f10e104e3d8d06bfbd4c1b7b09fc6b577e4b619229b602aa596f9991e44ffad34ae38f8cce7318a0f1d283860afb2f1f159691fcf0a27070683c1b4e2f123d322a209b6b2a9f547ef5c53dcdfe1c4cd4a8bd21788648295725ddfb45223e566b5a9ed7952fedaeb6c30484b89994c87f36940362929df2b4404130c72d3f5b416cad6f155ba045baae9fe725f1352f81a7f989a636967f910b1045ba939d5e6c6dbba3c35aeef690ec5870e0c0683f914d77cbca7855109165f42c7bc1a7c970d3d8460ac88508235f58be237a809e3fad64264126cb5c4aa935badce84b0613029bfe1f141369ff737e074d0c0602004a35d3d99d55c884882697ae8e94a6dcbfb903f2b1b0e1a6cd5033b8d0df81e09f63cd99d7a2dbe76ed50e3cac666846c60eb643c4d15129dab102fa5b67b296fb474d737eee71d9ff3d5b87ef723588ae98837ba43ffb1c10d1b19564730d83e2d953619a95c306120d208a67c2deda45e72d4c93933a4f32a1c209f158e4a5246b0755daa2de4da533197d522d86b2a2ed7eafad572adb1aced81c124efb494f63cfd031145b074a9296f9ed6bee8624b4d044b8d350329211821a796ae514d30c1e2abf84f77f15a0b5f35aeca4d2ec156fcd690f78a2fea7be80c0c06e36030b104cb45d0c1849f8adf47ad046bfc20da8e0f153fd44d09f6546c953ac2e6e8b9f2cfb282c924588b09b95ae5f841981e546f9848822504634311aabb483056f96e3d6f46ee9a17fcc505134830fdf834fdc6b452e6438f60db0b9f732de594e3f73edf83b160e208b60aa9444e35221406934630f8eb5cbd55971cf77ec184114c75eaf8dcad6f8ee06f7b0d181c1d8b602edd3d2aa5e03ae4d9ae60a208f6d0dd39c89e14821c3711cc5b7c8b51be86f83dc41b9696f7ced8820922d8826a9f6372dbf65a7b7049c1e410ec212366dfb7ed771db3b4703a3a0cc172dbbbb7ef1aa92e468560dabb9a733657a8aff91d4e8e27981082a9971cbae4985067c16410ccdbb35b1f62b5ee9bc2a2d2a2ad82602208b6904ba8edd37ac865378d2b6b6b1a2681606ac1c849a9f4f2ddf96b9a94237705268060ee9a90bfd34cfa343e933f30c5be4ea15cb1a59731ae1f986adc8bdfd26e210f57cae87054101564a760d207a568534ade4c45ca577ad858bda62f074a8e8682091f584cc891aeb7a8916a4b4df6c072ed72c2a6ca31fcd4d663a207f6fb1cc6959cf3987ea13cb0c5cfcf937bae9eccd0040f2ca5e7df31e3ca95bcf40eec9d4b6b5b7cfc225c55766011f6af15db9773851cd68145d7cfae35f8fe97837460e8b39d7a0fa9e59ab63407b68e76294c8729f27392037b889b2b72a85384483d85c5c3fb049338b0e6855054dcb0a337a519852c150b267060ad62aee4fce472d71b1823085127f85a3339ba81ed276217916e727ffd36b0e71669c3a60b6a4b756c602ec5d58eeaf9f307d71a185cb7147c9f29b9f558a981f5ab3a043739e5ab3a0d4ca9bae59eea9edbdf4603534debbd6ac97d72773a037b0a5b5ae9e1aee572cdc01e22e8e921c3eca6149581c106f9bd18d16b4ffdc9c05273dea0aa159dc2d63a06b69c7f268771633ffd3411034b29c6d5a5a05ad0536c783009036bddd416d7fb4ad7d1d9600206d65c44aef5c18c0fa657da07932fb0f4d272fa6ed7541e4cbcc05edf377ad5bed557c5d43507932e30d54fcf39c3770aaab8188c091798a77e53ece82d17335fe687743eac5bd8ed84945a8bb6577b2e6f0c97524f516bdbd1a960a205b62fbeaa758cdabdd8bf32ba265960d01dae656e1ab9535c0c060b0cee76e4a6b4537467a571cd7c1ec8ba02db85cb9b3b7ed4781f8725f359699e8d6b5b81b9d34cc5d0f5da95dc93c9a88d1c4e872533a4f349bad2c251c97cca1a9d57c9b8355e423c7e6436265560ee1aaba75cadd8542a4505f65029f75e7ca45cdf9a0273bd0c75a1c6d98a62349102fbf7302205db337efa67120596a06a70997725e5fd29e3ebe9b4e4307983c1e7a7f12d1715a94fffb49cd1e23c7e64564ca0e0dd5ea5ce7755fbe863f204c4ae124aba4a956b6adad4fcd643c7e91a294d264e581b983481f5364cbbd62dafda671326b0e5a55afd2bf5f269549325b07eb85c67e3e890db7c264a60bd966fcb981bd518266e30ddd41cd466df7d56bc4c92c0bad74a4dfbe9d0aad850608204a6d44b7f98f29142afc123b0d5ee9c5adeb954da774660aea5ee187dddd26152041661f3d6d4be5a98105a2644604e5741e8f1b974a8d2990c8141b82abdd6ada1769854e3eaf98d97c04408ec4514957bbffea596a09b0481b597aed44be816b97ca771cd0c61e1743e2a300102cb4fdaf9b639d5d821a471851d0e1b4902931f304e2d797b26b8d6279459d92c7d9b158ecaaf98a11662d938933618da577dbb9426a8ab2ee3c90ce9b4958deb925df0bb7599a9182dd5f9cf26e528d105fbdc8d2aea7ab06d6a9b0ba6af303abfb6abd74b55828bf4ac8f147407b2b2f1b420ed5be8f25c9c547d254fac8e9a7a7efe5a660c8615dfa1c416acc1cfa6162727d8b4a5ac856268a1981594cc8241d8ea5a39c574b71ecb82b5b8efadbc17ccb70e7e3a0d8d58b0ee7e57ef1aabbf8d8b1c6da10416cc3be3fa84e07726c40fa15728e764fe7687ed3ab9c4158cd36a29913f75f4508a25ad60ac0d7eef5b75f5e0c31256b42fc48b3c7b912bb529d152bb32ad3f8dbfaf60c92a985af7f42df85a83de76a5a14415acb55ebcca6554efc5dd54b0d47f1f15bbefa6b7968395a8604e1b69c6fe54df34959f8235d8783597ae5b6aef0ca47d7abc51620a966f3d95767b2137565c0af6907e2e74bcdafab5f8f1fca7ed507942d60f4a48c1da8a0f955276eb9c82ebe951b0ee98f0372d8ed0110683c18882b14a2fee5a2dfd4acd298d2b64552a4346492858f67ffeab6a9f78d5328382bd55edb5fad5afd672337f8245f78e5d36c8eb79bec7603cc19cda06234cad5a51dcd685924e3057d0a15bf856d3f450add1e1b0f1791e180c06936ea0d2174a38c15074851af6c6a5af75633028080693d1cd27a54505290ab29b60cfb92bd44a39fd967cb1124a34c15691735165bb37cd76a933c1e07af1f952ce8861445c8209d628bdbec8aecd35f57f09c66f154caac146a9a17d9660ce138c68915a5e5ead55822918759319b95cd9945382a94d2e3e572b3ee77698d149b015f741ed08ddf5b9536e9448822db5ee6dc7071fea18130df96c52369f962a944482c575768fdfbee59ac3676960300a12cc45462f395eeba9928a8f60bfae7f5d36e55ec7858e606ea50739a5a430935bd8081615bdcc4ebf9c11ac69ebd8cefd9f53aad022586287cd3f5f426b394f453076f4929fe6839017e67bdaa77c1a184c2782356a877a33fda9658476a036942082fdd2a499f13dc5c9b7cd7043c921588cca0bbfa37bdd77f633941882b9ced6fd9c4ab79af35d2e849242b06cda16e5ab960929b786a4a4341fcb83124224b4d2f9273be78fefa064108c972ee7ffe772a384301822940882a9528adb7342c9ab3d2a0904fb7708c6e89c2318b3153ba104100c696c1495c374c8a96e7f60f91ae495da838e733df203dbf4aa39f89015b7c7a80fcca17ae406215c90737df381ad14d9bb2dd82a41e53db0f4eeb68ed607e9b4e4e0063b05257a600f36c5feadd9a90851cc03732d7a62b522efb76ac7035bf40b2908db460517f77f386ab8144aeec05c46e5608a6f2d94f6bfc3799f06064385123b30f5548aeb7ee36b6ebd84c10c11c2f18c0e11c2591f94d481c59496b6b756db862d7943a1840e6cb5e76252692d762a5f96cc81e5f35751294f2da36bb1440e6ca1ae72e530c6f5785f1c98a208dbb9a51c621857f46c56d4b359113942091c98c3466a35f8727f1776381fcf4a4b87658df62c693b2a2aa8a35246c91b98ab4ec96e256ae8fb7d0d4adcc0223776dd9a3284a9e94adac05afba6923ae7fa5f6327e43f2d2a997f9b209d57fa2ddf82835c1e3f326794b081e9bba6a0eb26cfc7c895ac8129dee6de8cd025057795a80125ed4ebcaacaca90dd22983435c197d24bd2c0507c303ba94ccbb9fa8806e6e8bd6ecdb1ff0cacf17eae5a31e63aa4de0cecf9a5fba5a02e87508265609bfe11c58436398409c9c0da6d74d449fb4518dd8d8139948cd25b2dd33dd44e0c2cb9867e63a6e726955c18187b6ccf33eebfb8911b18d8f3f7ff544cee081f5c5f60bd90c25549d5fd57292f30881ccab8d0525f4fa4bac0b6b16bf7ea63bae6cdb9c0faa14228268ae9aec9b7c0123d3bbf6a71356bba16d83bf78c2df236eb8a9c058672f94b715517a2f48c0506a12705972aa45e93e22b30e45074ceb468c194125b81adb890bb7dedbb9cc3540516e33354562ea1f5e5890a2c3d8449a5f59b2f3994a6c05a8cbf5ebb3f3f5c8ca4c0d072feeaa5f41ea54b280a4c5f7bdcea79df60bd34beb814bf6b468aa0c036c576d0c5959a13be2730876ec1b6fc29dd979c3a81c1f4fc2fa2d4dadaff26b0a89443ce65daed4c8a092c23afaaf5d8358f2a2d813d947a2dfcffd7f495c0524abb0fa6c80da1b559e2066b0f3627a7afd3942481f1fab7605a2f2a23d5620cf96c148f1f994e0912986a499fbba8dedf577fc91158677bc8bd5ae7f305a311587ae95e8b487d424e712c02e3ecf6cd0d4186eaff89c0506ceddbda75e9bee887c0e0eb4c0dbd889ab7f74b84c0922298fa4145da4a179604817164c8f95ebdf2a4f09500817543b07d7f731b97cb57f203f6a0af4e0aed237ee8b99236187a2d798c4db3b9a5ee76c150740b2aa4bef1fb5aa70bd65c29857e35ae8feb5b2e5872a990739daaaaadd570c134f335f89411d294e2ba0583f970ff3d3df45c6ccb160cfdfe4231a9d8fcecab16ac95babb3643452f42450ba60f364728ada50d9b52b360a95617746ed8accd952c985328e1b74c0b75a1aa58b04cfa6a3d32caf6093a2cd836e8ef29d5afb96de7af60ee5575f4cd87a0b27257b0d554218ea8999d2af75630980d55b68d0941e5b459c116c6f5c6306d3eebf32ad8a682ed92974208416755b0b411b584ea60e4879a53c122520aadf85a8a2e21c4a860cd7fb5c5eab9f412269f822dd46f2ddf2ae5e52d9982a9975cdb5742a9148c3d76f3c70929c5fb4b0ab6d472ead47be75053a360cabad6fa4d8e9d1c8a82ad4b5ef76db9e0fa0a0553f9d6cb4c9fdbe95541c1dac2b75cab3e74b9ad9f50b5ecdebba951ab3af51f331fa2b7f0e9937882c1f44e1b2a82e9bd46d50916537aeaa944da96e14b180c06d3226e907082b5b4ba1c23a49237d548e3faf16c5232433e8d93b294836caa6e82c5089b7be4c7e8a9d6ee6d906882c5b4fee3b77ccfd9ed61a0e4400103058d1da95b4832c11e26d8caba093a18f3df0779488209c6bfd242949a905acfd7260806b3329a9a96e412ec6552acc87532e63f9c20184cc69dc78f0c0b8925982b8dd0adf7ce45a83a558229d4befeceadd36bf777383930180c26a3ff5aec28a504eb7c4fa8bb0da61731180cc647f3c0c786c4ff3030988e8a4a6648fc6f92493086c8bdfa549bdebd7459814412ac2d5a0aba74e5b4a174202d650c76024924d85be56ffcfcaf6d6a5ee178daa781c16030ec711956483045bde9bd88108c9914797ee5b36163c8aff19db44056d2d84730f72f7bb715a74bf5cdea08d65441e816da4fadff418d6bd231481ac1322d4cd4adde0da96a1fa91f964de7a53262b92295a96bad56edcd4ec9698baff5cbe5d835b3b201f24ea9d51eeb1da7f3f1f4ca26a5f32acde347a605248b602f1f2185b651a755ed31892258dae6f4a56c5f1bf73311ecfdb776a9a185ef29a44038290af1f89141248870aed0b5a66f88d05229911fc921225c5f0c235a8d5ba1c6150827051922a52a5568b1362bd5ac3afd22c5ead03a4e4e8dab73760001c2d9c1c2e181c100e1a4901462a9f5dc6eed748452d2a50a113b4e68f7c1975832aa09a198b501c92058dbb71266a3e69a37454130f750b1722bbe762d25a871752a9cb7b249f1441208d636978b2b41a7bbe04b998d87d32a64035b1a6b535a54102098e38d4fb584dcdef25daa02923fb04c7797b91c72a51f7df9a1554ae99bd2aab57821f5f44d39e8de82de48fac0dce27eef0a79af17abc0510b069553c3e7df92aa5e5ae0a005cbd7d6a0a3e596a7e54ee3290b1cb36008c51753eb4f8c60ea2255e3e3e190f1f17034990d4bf3f82c70c88229b80935c8cebb56fc4cebba7b2b4a0e141434d2f8f76f85b362c667e53d99cf414a4a7b198c27070a730126930365514be7617b0d0683c1b41a6174383193f21e66583c03d0048e58a07eadcb1da17fc7d6b87636195577010e58b0e810b5ffc5d90936c72ace8c57b0865c43a914446aa95d0e872b586c0ef27bea56d47ccc3fc0d10ac6c879132d970edd2a5249c0c10ad6ce8d9753df8db839af82b13ee8d415ead7cfc9a982414e4fd50b22b77abfa582b9c8eae3be47881b3547058bc9c1c8de5454ad5652a7605123bb941ebe67f86e3f1bcf26c842f1a1e3b3f16cd4c864301888c18891e936040e5330c411a9726a154bc11a216f7ed061225f8dc1e020054b6e7553cacfbdc776ac71f564d8689ddc51307e9c5853eab5922b3d010e51b0b4cb75439f7265eab70a05d34c6ba3e62eac020e503056a84d1d79bee69650b981e3136ca547caeace2de818be29e0f004537f04ffb16376fbf87582a5a71e624ef81ec27778041c9c60a8f9f9b518dda9a6ea9b60b151821dd1faa6caab50c0a10996d0732aee8b0e35568d33c11a74fd4b394da920e7ba147060822d5fdb924a992b555a0a049591d181c15c82bde54d991ab79dc7981c87255826089f3fe6ecf4ae48e39a615179884525c703f9944d904d078d45382ac162ebf4e4549a4a29c1dee385303e748d3a17d2219f49b0ef764fc5f8ecfedf4549b0f49ffaf091c748b074ab51aa6c2871d37f48301877e97a30533f7ff88f60aedf8baa09a5e408a65ab944eabab2b545b0114ca94e877efb9f11abc708a61c39ab461c5fbb95de22d8d2d5abc187abad63748a60dd9e93793daf6d1d5d229852578933a376627e0e11cc2184e83f2ef4f1355c87608c9a8abab03df7d5b10dc1d262c4481d21472b5d17822dd69728217b1382a54471dbfdc3b5fe160f82b996c911c5741b5d442b0816555b4f6162e438a90f04f3f6a736a6b5a9c50635c32f40f1b10305aeb4705854383970008239fdf7d47b50a175028e3f30a7147ac26c9a7e48ef3d3fa43c2d85cd0c8f731f58db94efa18452434de971f0812575b4c8a9f632bd5ea9078e3d305e0a5d6ae9b9ad6a6acb0738f4c09cc6c5d9d6bfdfce96f2805e72abbe848ada5770e081b9c4dfd4ebbb73cc71efc020624ee996aa7baf35b2034b0ab2c204db6a2ded671dd8a2d8d242eff8b9c709a2161c74600dfdb7e6de8adc9c39ce812d45a91a3397c6e4bae5c0dc539b9e82d91a07d694957b2b794a2e45e7f683030e4cbd9baae8dafdc5d4f20d0c66fab62866f4f89abf1b98c7b47c77bdd7e69cbc0d4c3de5b8ae2975c9d5331b5863f8d0b59669f5b64d6b60c8b5d8a26b6e6875adae20e050034ba87573873e1929a48a3c0d2c46a8125a511f3bb7ef73ed00071a18a77287d2ba06fb7943433a2d9ef6aa3a1f9633b05cbc293a47b4ccc03c7d9b23fd5ebdf86de04aaa0e8e3230574ddf82abb5852a3d7fd71c1958d39676656c4e7944302a67c13106f6f9ab71cab594a7a4ce3938c4f0b6d51fe6f3b69c420b83419dc011067fa4108afa34517ce840e1400c0683d9b5239cc001060663a72a540a2a555fc0f10586d437c14d2abe760873af80c30beca1f5f55e171f8ccfa52d0383f1fccbb1ac80a30b2c7d2abf6a2fe6d75a43fa060e2e305768ddf7f16a8dd3fa2db06ce9fd2b5d41b4a918058d1d0f064238616030f085709cabce8765080e2db0b51225b74cb52b0b2c1d713bc34caa3fbed67826150bfc9e5b8b5cc37ee719af80563776fbd4abcb0a0cf3638aec5244f179fc4e8b8793f2326a3310b6d44debf8b0038e2a24a81f53732ff51f5a4405e45e6bcdaea9c7ab51a0b7a0a86c341e4c1014e72d28ff5638999494f632fd5b3963658c9e4282289126b4dcb5073f2d66ac8cc138a4f09466b2d395d25e5a1963958785b3021c5160bf4f21d6b6e9106cf8068b8c907aad8a5e42df1e0714d853fe8fdb3252ae3bc527b0e5ca2de3ebc7075b4b1083c1e104b6882352cd53f78a9bb009ac5753cfe79abe5ec804c6b0ad6cf8efd7663a2f813df811a1d79ce9b5f3a804f6fc1f736bcf9bc9ab3501871b2ca52ef4f21f5c1ffd2d8e24b0043f3e8d11bd4b096a44025be55df4ecdbb6b9fe23b0e5503bfe86d9bdd13d23304f1d537de94386a3086c91a63e842daab6508b4460ada9cd8cac9adc3fdd1052e7eaa72aa5f66f91c635753e2c680d1c4260afada8c83993536694aa041c41602d695a1146f72da1b5382d01071098a6dfdf96a04ac81b8a99064a0e946c014a0e944403058d1d28292c2a9bc6f103ee4ce5ccdce4b42a155a0ad7c784eeb576e36883b55cb1a18ffb997e73c8b3c0930348070ccd67f3824e8b67858981c174e264176c29e407fb77a9d754eb9494964305e14417ac297550ff5f4a5e957e920b06634abafb9a9e8328f504170c65b6aa46b0353f4d7e0b96e8d7a5d534e646f4690ba68ad62ec41f53542bffa416ecd57a71b92b4efc20cae6250383f1d0629357af23df958d1a75677c08baa2d487ee1abb9359b017a3a36ee511c57f683198ee78561f4e64c15eaa861a72a82db2f33c890553af2576e8db73dca24a27b0600af1f2fac786293df4af60fbdea7db8daabecfcf15cce15abff1a17fafb5210ca6a3da0aa68a927290974271716b6f386185f32fec7647cd71385905f3d5d71c4c692595f89bc655154c9f53e8a8b97a4f26b78752cf7f5a809ca4827d841dd17bd5fc74b53c41057bfeb2e18b10b67cccefe4146cddca74aad13faff85a8e0f87a5872958bfb7436b294428f1b652b06ee5fa1cc1dc6ea460e761e70cb8c2d40f27a46068b96e51935acb797d8e82f18b2b26e55c44aa565204881351b0e67e8abf1fab67773011e22414eca155df6ddbf1a9959c51d7409c8082fd8a09d72f6f37e5c51a579516cf0ae7216578f209e6b4d562f418364231df8927982f5e4fa5bb17a3b6b78670d209964ebd6c093f3f6566e42588134e30858a5d53d4f6f169a2934db095605c695752aa1ae2d64313acf5a118335ffbf5c6aa03c66682657204932fc5a95c29dfc19860bf683b53ed2ac511a5934b30f4103ed51ed485c12c3d9c588239e5f7e51684ed9ecad778fcc80839a904fbb7d9bca3fa5fbbcd5d80c150c257cc06f7b5fa842793608a52dbfbe2f6d2afa524c15e4c45a99c5a74c771739c4482b7995b7b214e8a527aaeaf7e175dafe3a6e9e30924da33b9a694b6db1133b3afb71169b66aea116cb79be3b5561f83e1f41c4e1cc1926ae82d29f4a7de5bf746b0b8a8bf395cfbaa5d7ccfb7e0e0d36051e968922f1c4e18c11074dc0b726c9a99d96160603c8b60e87d931fbba6af1a27e74411ac555ddb9737168456d5c74922d8a387926ae836215ccfb1b427230b27886050136ca4bd5e3c39047b4730b6c2c52d5b837f6208865ee35a66c58fdd5d9f1482fd3e879a7b29b995bb134230d51661fbb54e31648783602f72afbfc24edf963741b06eef3cc54f991025b502c112e5a6eab85e4499540182b58d8fd66ef2c6afa2ff8165c68e4b23d27dfb528de1c40facb9d7683d8669f126b7df81108cd507a6cea1fc7deef9733115062386133e30f7aeca5b2542dfd2dacde6795a86f359f5343bd9035bc821431793225f474e0f4cadf5a874d3eb3eea759207f62b7b29d79683fead5c8c133c30d77441e8e06a954f617f7a7c38293d3098fd70523c19f87b38b9034bc7bce869af5cb96bd9812dd8bde8956174fa38d581a5f560b76d8e9c3cc5a4038bcc69f55351a3af8ca29339b07cfd563efcf54fceb9c2d98c91060a284ee4c0dcbe845683c85bb707638a034b6b33ad1563bbe41f3533a4f319d25830981c28433a3e3e9fe21a06b3c25151e1bc3d8103424d534aa82b97dfc05a8b1d37a99654af84a9714d41309876034bf7ae9b6aa54d8d976a035b193d1f6aa55223cda415b219a3553573c206d662c7ef6e6f97ca543e5903e3940dfd2542cf3972f5a477a206a61e5cd8d237d4f01d8a6960ef1b36f4e88e9d536c3430d5dedbdf8749a9f598cec05caec4ad192e57b8d6abb44e43a3c36915aec38919d8674b29957a48bdfbf8cac05a3d665ecfa97cee239381e9fbc5d13df7749ffa3c19035bc91fb98caceea157a9715e96a682c4c03a6a4beb51c398ff704fc2c09c52cdde5ca68231a21330b0577f31dd7acda85b55e3283e74bc183d3018fd028368b9544fadad8c11aa333e9b3054134ebcc0de8a9adce743addbbe5249d770d205a612bad305dba6b7d2be164eb8c0d829a50ea6bef6762b6d81b9f69633a76a8fd315caa0f8d88182c1f0f891d1c189169883ed98e3b7c6932cacafa75aa58b164aaa3325a7af60f495debb4a452758604d6922f496c7d4ef34db707205b68b562e54d70ed35bd1891598f2842a9b5bd7bee42ce3a40a4ca95fcdee3d67b6733fa10253efedf3a9a4ae1e2f3d9902636f49fd1584b029b4cb919e4881716ab810755abd3a6a23e1240ae8dd112776b5997435ae8dc5a36c70f246b7c5efbdffa63ee50d1a14e28391375d84bdabb1ae6c549ef0106a4941d82b57b313dced521a1d712e57e8d384dee44c9ad417d2e54deaeb1f5fc5b7e95b53dae673460e1433507cec4011036dff0913d8fe4af960426a29ff7c374e96c0f6b9f89b6a1bc1e72063303c3851026b8a567bf7f4f5c7f7852b2dc3d2322b9bd681bb1a4f0b4b1ab2b2f1d1ea3c7e64d438718329d7efd4bcde508ade5c46e36961591eb4efe1b0a8e8f2f89191c1491218d4f86042afc154c5eea52e9c2081a5b54d63abe57ca14ef7859323b07e9d2aa57354eecb8f0c274660283e3f8731b584f161f3c14911987b85bc45b81a516f7b603821026b0ea5a42ad521f7049385a5a5a470deeac91058444eb17ac61853542f695c75779c088175eb84fab53daae6433a9f1e6898e182a534380902d3b4bfdc4bbf626adff404082cf971af97927afd9c533d4e7eb0181e276d30e7f5e7e6fba9c595ba0b964db994addf6b45a4dad93434523b8f1f1965a28b0755c2d4d1555adbde03935c2c2ef616ab09add2a42875f7ea6255e73819bad58fb431180c86856da118935a30949f966b2e3d4de59726b460dcea133a7a68e34a8b72ac6c9a260706b3b2699a3c82c92cd82ec40f7962c8fa1b171c4c64c15e46041b6ec7b4b4a178069358b0b7d0a7e70413d47e6a2387d341830c26b060d9323a72ebe91d6adc38293d5e65e3c3b3af601e3363541142a574b578060693e2512ac8aa2b1844abc1d5ea692ddd97369f26089356b0a64edb5bd5f8bdeaf4180cb283092b58ca173d5dd2a856828d158f1f992026ab6049798c48574156b5acaa60cfada74a356c4b7741f6b10305fe0a272507060331188f492a185adb9cdb56efb5d7f84c50c1bc53f6834b69baf5609f82b1c2d57690352e72684dc11c740fad16dd5d8af1350d26a560ea7e518c4e136cbb5a240573aa33d17b8a97f3fe2858aa2a679770694be83951b087165cf7567c67055d2818b35bf8d0c7a5bf991c146c2587d057ebea95dcfb138c5baa5bbf90fbf41e624fb0e575dc3629953ac1a2528df235b5c841e8d484136ab2096d269ac804d30e92bfa8046e49069248240e0582200842201458771500031400301014229246c311892a0aaae40314000544525450364c36248c0563f158240c0643c1288863208661208a61280803b18caa5600b8fdc726ac6a98560e66e57d5ceb4ab15c7fdef7f263de560165de72fe719d6d18a6c239cc06bb841ff700138c01f552d82e0bddfb09336244d7f71a0ba641cffc37c29400131b28866839cbab342bbc20263f5982830f93e3d5f4de11762d329ca3334d91bd8fbcc0a9cd846652c83291ba5fb9c82c16a240d2e86bb2d02cbeab9c76b16ee193f363e41415597135579b4befddb2c6986df29ea4366370c4204dcbb06b0dc8a1a19c9b881847fb075b026d79436505c3cd938fdceecec672d96c0c773a1eb594e5be59c8e8bb46e00a697af7c9d860280494c429f607496ce2bec567b95b27367c5cebb87e21d5285a157eb68e1c34945c6185f53d7368fefd94743ef932af5d947bcffef5832a30a034e936456fd28e102a762d54d86236b8e1a1ccd8dfd76485f8cbe0b07fd7c95a511f8841ef7cafe86695425a7580cdc062f588c9c86726ab1c03a39a7372c29a1b5d829cfdce48800178b668541a6095f9375492948e2a4d5baeb6854b1b7643e28cd2af25cbbd77fc30a7d18b5365e7605451c55b5a6d8b4dd8f6ca456a06d6e0a5ebbfe83987328bc243339a2f07576c190ccb4b4c53b3f4333533794b2cb6a670c2c0cb331206472bc1f6b870e21481775ed6c768a62f2bf7722e8672c9d91c04261c12ecceeee75f17d93c425281279334c20913c97a9ab6083620f411ff2cb9853447aad49e73016ac6667993db8cd2930b5ce9aaa9ace2d8fb7e5d521a88601da926d1816b3ac92887c593fd4196544b36968c7fe942c5047ddf1749f95b78987c1caa9e661d142416ce11d05f137f61a0c285e14f5caa935951b542bd8dbc9dc476d1dd27df9174010683de385d727621d0746f1f19c5662134893dce63bd038b6269efa906846ef74813a443c3ff1ac802127100e41c2b5078297b08c03c49a0a13ea499c6726f1c597335aad08954b68cc3c601302c3191334c28db17fccb2f11cc9528a2c5ea0680edbcc1b26816e0ee1a482e0a99a8102a1dbda69ba232c328d434f589d495f5247661256f062c56fc7c6bc85f892d10ae042c60505186ceb1624570032cbdee21d82f382beb08e12812aae89f6543e90e8f9c29bc834d642c6a5563b2882b4767be6d65cafa40d1c21adb82be2c605a289e3534f98d360e9b7aa4b4909276f03d16e716a785772c0f9dfd5b09ebe2987c3d3f7af37a43e15de81dcbdbb9b7486ffbdeadc537817eaa420d7bf3f68094af8bc0c30ad4c225c64580ec0202b8291cc36aab5f53d08adefcbb19fb88c479c4b9f5eb6ce94fa3aef825fba98a668507c012d3cbf51378aeaebf821abae4ba2ba62e599d48cf0ea43c97b6c3ce0c7df221e88effcffaa85b9fbc58845837c60ba50d024c98e7312a45bcac1590e32f92698ba54423a033f5b58ba83b0138a11571c39fe698aadc72795eac50b18d90d41967a2d2b71796e4a5d071bb20a4e997893b623600c6885a89d80b9daf94615e112b6f84117e6a9128e922e5e47624a5dc1f33f9c9c4cb8e713a42a6d6022ea32c9644b8a0ef7f94a848be87a95dcbe8e95674e6ada8312aca7f25e975a518418dcfc38b87832c8cb5d57051b3b82085c63626d43b63c80c1c935b95819f46852c1af4a96c12f3ee00efee6ba139a2929bbff1cac86562ac8446134e1c400c90c4369fcc781798e0e624b0dece262518afd424f9178da2ed4b3aaa4f3365a05dd9e007596ebeb6ba0596af2db96a2f5b18cd2f0f7854a565c12bb55a70d29c05358b82a7c5593d1cadb960a4211c60e5372af2826f975da0e4be7d468259a7d749be5a136a12347e71bb3ddc19a9a8ac45ebe2893ec6d8d36cad4869d895f878a2343f9cfc3ef0aef9540dab42c640c81ab5288a84be170f102219cdfe7bdc84dc7164b5fd0bbae3f23edb1b1a23a7374128542d25cbfa422a3f4861721a8ac112d7502bbd216ecaba899e898d30c82e4a10dda5c875cf9f6a4b9bacc3470b7b1f4fc2b9c20acb7cd95d1e755e7352b41c710a891bb3c820ed172cad4464cb89f087074ec43f3fb515b4a19d651f7d099caa9da37fb939c83842f67d0d595625a88f3b847dd39c76a25ec7e9001f2fbfb58d8b35c21c722fd92b50011062b0f39ebc88ab352b182a0b3a658580e21a54c2fed2958388e0426f1c061eb91415caa55029f41a222c7ac651beb4734a9a519800ab48ff25786a35dcb83f217bc621038983c143f4bf5130f191c7387f00e64d42aa733651f5c8de3449ebda4ea4fd1bf3f22e0f34e4d6dfaebe0276d3d13c396ca5918468300538b763560008b7e4d8daa8e36159dd244ea1d65c40570647ac5f93e3f7df7c00b5eef32c263b439920e71009f24a58a90b453481bda653cb2c23eabb1ba7436664b81c41df6161232175d47c7f8412716c4a83ae17904cc4d2fe46270d2ecd7a74a924a061fbd262326bd2b2c15a13d4da307ac3b8628031fab66d0193b198c01e400dc4a161803c0f3ae1ac25972428aed190835f24ff66dd3e9f32537e1d30c2180f757222a94348b156c8202f934dbe99cdd716a399014af241a42c2bf7a144c21874bba8e7dd121a0204022dce2eed1d161922bb87e4f6770b034294494df34574a07b1522503afa4d6367ba51f47c6660fce3a0f0bae299d219fe8f2297ce64a6860505b08a0c5129dd7600c9f6f98f63e42f0bda6e5220d8c639dc1883e96a71e787c1ba73e05c70dfa9d00b1b0ae9c5b40ad3e153ca7c146409886c32d67f93c853165f582efa2007f3d073d060f638f071ed1bd4a70fd71689a507c939456240ea307da31b90c48ac72b7951a21e7f8c51d3a736648419631658134b5f78ff9fdbb48d4028d1a6dc39b72b9e6bfc707e0217781663eeb63dbcb9790483e18019843b2eb843cf3216bd746610d53f4ac110d5ddd41ac24e4313f452db8c1baddb74d70525c7bbd582d9aeea355a128736adfa5016c94dd4d280306cbc97f872b135e113487bba2cd81583bd11d33d62c518311160b9390febcbee3fe5a45881ed4df7eba8303f38f158a6b6807571998e7911846087356a7a95477981dd0a7338b3bd67611cdb5a7829b95d968794977f61dd6d1ec11f573307ba164d00fb6a4771dbbcc89b144b88833b8978dbe01429610524703f6f2b97643884b014bd8952dab3848a5ab4de83500b0d8ec842b28f8b1aa01edf1d988b48aab99eeb24cce48cb21c5a4fc5c179d05412340c7d77693d6cf162092760873aaf38c5e1467f47bf1e928115f64b274f14c1cb8b0820076fc0a1fb73561b444b62c64d4c6ad282706bff29631f5c8cc788a743121bf868037962b50500260f4111b37fdbc56c143f50495507a62684746c58b8bbf23f52941d7a21e77eef75790976ca398b8189daef23c1e1a0ab94a9acf048ef3e840762f0c5938b6194fb83235bfcbd2c60da182866caa212d6417f14b59da413843673ff928f6f4a78d85d275313b7709a8910f48b00527be401884218d8a58c9960c13a0261a3062abc9b7b7e1b37a871e1c8d74a8ea05e2d20954a306dec027adacaa8c983706f28c93682ecefdadc103041d9d2d4e7b782e5c2595045d2bb3c3485fe8789f1efde0fb832f1c3233aa8dfd4b31b7bb2f17e5fd33b8e58487629629052446ad2d9b9fa06d22374757eefb5a58c2196b35e0452ecd628ad2823c4e615b0f94a8b5a203e4f9e4662263b6809210309ca380c37a417c94a0fc97ac07b4961e29843a5c2ce0339f2418f86aa4f7139fc7adf48ebc71322bccb07d2fa04398c16c63fdc18c40839198612ff4159934dea3a81be5b0a14c8fce8681d9a76b44f1ba4e4e2cbb33c3475ff05feb39c73bd77fa2d8c67fce07966b6f6f677b1b3b5a0bbe5bb293707f1c0c228d2f0104b2eb1e2bb80adb2f34c6a4c3286ccf6a5f8e1199e3de375d358a5873bdb61bfc7bb081f85a12a23b842c82496c8b959086b7327958a854f9044e6682f060ba96a5728a24e4d3fb1f96042b719e434e3d104708adb1b5289e41fb4190c9666a3462930e2804e100bd900b1cca451ae295e050a97ea524766db61084d87b65397b0cc4160b4d6ab521e9a7ec252a39f0f65547eae75a3ec1a14c6c166351cf71e072f7348055c64480d4b46d629fe299c97109fc3432a8c54515548ddb1b6f432af603d9f6eaac4bb312041de430b55433bd87ed439a4a622495da45b2002ab70a714db8d217bc7a65082ad13c4e44401e91dd45419e4231d5a08f0919ce0023eeea50eecd3dfd9433e2847c52003adfa3d90d6a0da3b57f68f718e671589eca97a04a96fba0045cd67ca87ae41042a6337e29faecabc87a3d9016b4bfa3479f79dd2d853e28a0982d3f8aa8845ecc7b58b2011d76bf1856be4d621a813dea6224e776076190616b614f0acf9983f6f4d8d804487a46b7a87540ba25f2f8d2379cda6066361f3339166ce9fe13cafaae402aed0d265574fb8acdd3a87ca3e5896f849746ed09f7587323e75790334778b75fc93df24240340462213f2a296fdd30f99e584ae4ffb2094b466907e8760522e4a10b6e0f79a357b4d78185a3876f09d775d6bc3548510220f1017929298c0633bc25db9d45bfe7b7077453478a731d3d6db39a36b5173206adf565fa03432188941afde9940c336043e5732f44ebc01570e7bddcd5a853c546bbe9b6460be0ffba23ed8cd2241d8324fc035311e1a1c680389ecd7506d6a7fc7a8fe145b25954d1392c3ab6c62ebb0132bda429f84e06adb6d75c9aa90072fa48f64815108b3fb69f01a1f69725d562daffc9f3a42b8968d00097f85ccc6c693bab3a3232ae41a82955ba0ed4a1b4d0d72c76b5aa2ba2a0b5a233b4580c093a5cb75af466e622337298218d35d3cd81763154d8e7cc0de0ac0b7e9b75d47353204929c267cc01ff7589b5dcbb5a903f1cfe0d23773b08d325c158781a100d4ad781338e70b2c65083c740ed97e6f8f6fe526d68c18de3ce50dcc71eae954664bd24b4aaf285f5301009ada740d543bdfd541ed84f4578b22eda2fb533ca924f8c321951b439899a4ebc05f04e6e397f953dfee5d282271673c0089fb997088904796724f0b6b774c39e02bf87fae161391b2342f3bb29906fbc7f77c79294e045ddd19fdc0248e4a3d6829029f65bbd540173a724f1a508b8cd28550aeeb0505f482adee35c6c92ef3e67846d399a26edace68229dee325c72fe97c0ffc0bdc5d1dc785b2ebdf8c89293b42b92d160897f94e8409873710ef3920ca5abe358f9c722077ce2a8cf6772c6d3030eed07a218984f3083e9bed7a9179f15cd0eddcbe286e8e5dcb386f8c85903298b383ad4521a336e5c52151df7d442b0ac1b0c1a844f0b78179fe861b6e56744cf4bba68dc9a89a1a4991d538e15578fad12f658f3fa4ff73f24f9e0a474571a0e7a89438bde0a09a7604f7c640173d697f860b65e6b78f5897720c675295a78078f919394c6cdb3102fef527e3c106e4510ac64a591946d563c9ef321bf818ab0df72168b1a635474f4824bf005309323a998fa1113f6784eed5900f041d9cc4dc5636cf3cd0ae756f1c4c301e0d9581df2d359ca9ddafc35fd33675d8693e3e8501dbebd52761abb6a5bfe7566536fa20f544a952ae9d623ad3a6c4ffdd3108782799c8e7e647761bb09ab03a2c7306b56a3e491b04ba88aebf108d6a1a8a3986a624ee97eeddec254b19fb96f4d6fafb56321631353e1966596e73518f47ba4c1d2459bfe18eb853420e839a4abd4c15a32220794b4967b19feb74bc2937d5fa403a091427545a0f6a7d36aa90f9c954ced3a7f4ca4e32f42d1c6155c5520c4ecaa5985c6e4316006e37516d52ba6d6c036f1c0466d986d49a55d4c4a8e91d65dfa4267d8e92eaeb1445233461063ff60c1679244b3a830951aa900978740c5da8eb1ad1e0d9f4a2240a34b0e7fc85a51db54c59612b647cd370c415817c87a202972ce3111143293549eefbd9eb4769630c6876b8103fa04d2007f070a2c4af7d02c538b2549ccb9fced217f0e99f912e8702ae9d49ce0ea1c48b33260f165366a9f4603c618517904603ccec0364229a29ca2691c4ecedf82a03776305e8b36630d08a025714c069ea3780b10c0ff59f07f32c0ffc0e0ff12e0fecb428efd133158e62bb63c7662bdc691dece8a534c35c38c9600f7a73d593ef25bf87d61c87171571c268db349b4b56b613631f59fbd44b75d47b389a9edec844831d92c8bfc0ff54ae843dc2a3ead0fb0bb7ec3fddea4cb9213f9110f729b2b325aedce0713d315603e27dcf2fc3089dd87a1e8ff5b8733eeae1235b04902370a7c18c60ebf65e214b64e07270d78868e7e669a5881c5ce442986bf3f70bb3702fc05527ac00191464ebec33d97dd2b39a8a826089555c0ea462a1fef33d36a7bb9c8068b3865a2a688fec2a47cbb0985628257a037199013fafb8ab8c04e7810fe344b69dfc622088890b82a7a305e1dbf4958863c2601d1b7e2ffda52ff4ac0918ec2b5776b616f8b9293e34cccd630fbf78e0bfabb58ded67cd682a7de779d1fbdcb3ec843721e1e0f6b394ad5048b8d55eb4ae6a9b4f9eca4ba03026ce7b338d908f2799dd3e6b54cbfcab66f1e06c02fe43547bceafaca978b9d7e0455c99915f6cd57046304ca9959533bd9a608276e5982555f68996ddc2fafab2a7ba5eec2f937e40a61b6167dea5e320857e5cd703300f66e7438440fff1a32d36b79e04eef81011269a71100ef0822e789d6547621a960a2f7d6bd0f4b48180efc4bd409268c51e95c8d6b0da01df86d9428041f74fe17e9f413bb07807d45c6258d19dedf10725d45c431e56b7de220ed0cd6a7e7e7d3abe84fed0b22a2192334fb83cf8dd654910a0d47222a324192c89c1c44cdbae8d644992a73500766c362bc916f6f2dcf24af0a57c197dca13b8840b14dc95e9bca87e625ea7fdc0ec7ff8c8bea19e1a82a059d070b32b43b7003543259ab699ab4367594291997e84978d1ccb1b29aa4a146d695e4006f842d54d909b647c07fd70aea1df4e9abf1038f392405fee80c5486f05d81f371df35a8bbb2b17626ac821eb0b230af2872da27abc4f113e5b8fc80b0446fd6e2ddd6147853af6e6a4abc5e2a683895341c4d46d98bd4b134c60e9a17ef4fb994380311963286a2b423478ad82888fed30e0516b97f94411012187ecac0752fb8aad342766fac7b49888562aa26ec387ed9aba04f4a13551f1817f73399764960550d634dfcfedaf42502f576e82a363aab24543a2fa686c888431d96f99de66a0ffdb64987de3255dbfbad8300861e234c12c46d694d254676283f220acacca9fa8e9590d89c55ca414bffffd701a9a9661fc505ba2fa45ed14ba325b2a11a5552c651754cf4427f06879ba3fe2f130ba144eb97071f4b8967705d507d20580487420d9c6c30cdae75bc33b3ea34df0377c7ccfd72b70aa864543848959ba60b25360f0d5224e47f86bad81541164effd30e9a44be40145a8ffce2aef3015eecc0e0a9556b66293684245f9f437d8285f5aee1253497b8a2545314d6df95109a948736816150ed02ce317953de4de014f20d0534aa4c4d5007e7803d33c350ece71172fa8320bbad5839391d27e887979fe8e81e25e66437d6ab6e4d32fd667ee5d8d7fe8572d3b3ee482771f8526498770782f28f94bc925e5cab48c7dd43c1bf0b87e87d4d10a7b8b83cf758b914ab10c96c28135739a3e0f05a7c77e46df19bf534c2d034736cad7f1c5966e6f2294c1de7ecbb3374dcc888ffd39d96f8ee189e1b1da4237815235a4bd5996b90494c1308aa9a2a4b74e54d827c0301c619dec084c0e60412229703ca77a118a644c8a30c3b01365f594ce36d89777a6d550281a36b431f28a222453d8d6e64b6c427e8846cc064bb940424cb4a3e9a6164a3fa235eb468ea6671177ae536eeae24ee3f8b24b5ac0610098ea2321e1a434c240b3d7bd671b359e0475c839142c5805a09c0ca982345013eca2c39a31cac62e3b8dd031f882b053a6b81fa3c6c2d9f1fcede7180b0758018c613ccc1bdaa980c5f0046070a45643050f419c27c306bfab9c9179bf43db9af7b0eb40c232a31f6ef604742ef78fe7946ccadbf4b0055eb1d4e3628f8677a68c6b60151865a800ab66651490df7705c76b835400907c0e326a57447803d742402dd844ba3db44f471f48394d42d70dccc524ee5f8a8f16f398b5233cd45eaa8d8c3b0c55c85f51b8b0b0b3aac32ac18b15cb1c4c0b2c45a85f51d8b130b7aac52ac18b01cb1c46059c75a87f5112b9c640b10e8e17cbc86333245d3b24cd63ab63ebbc54dad20e4085488051360b0b922896027fe58d04978cd68e8b70ed06de048c5d7571e61a450a16039a11e44231b9eb54e04888514e9a4967d1259243b7949aa1fab23827172f48cc1491e799154240b48347226e92583486ef28a5447d64884e42ce94106922cf23aa948d6934385cc34e8a4cd9db62521cc8cf0ab1f5370197da55706156272cbb9835b7b4c4ce55f6925492ebb8994a283be7b06e99307030161430380a3e125823d2aa1b83bc27612d211e994df2be37016c02437489726ac1aa488b262d92b281f30938bb38c57ba4b3440df01942aa810a6d5edad3af7ce3565d3e56daab9e525cd7c1b1b5ba640c62e6b6b3b67013850d41c93bc0cb09d6cbfd8e5da0af310512f6f782cb806513b6f874fff495ea005da63586efe22a45d4eb830882d9b89883bb7e701cec559f4e5553c55858f34c45f357fce6b4877032e7928f959d62e3622f0c4aec1689efe06e42e98946933bda9d45e64537e5fc3cf61ab5384c113ac34800471954fd781610d191446b6b349954ab6925d3c32fa7420e6f5c57748ae210196603c34092f1e9983a2b75db28597025ac498577093c78fc67c7b404b360095a5fc126b6229fe0a412fa600c8744f098087695dbd5e87e2a9b9a2d541800e9e72bbd8df9cc1baa01e63c4012284355c532eb8650cb048dc465321a0f5a563f5df99bb7639b1beac726e16f04b2fdf2aa779dc2622c323c3750478541f520fcbf7b58a29459b165b04458cadade90964af20298be22bccb5c12c684f80d1aeabdef4551695561745ae550ad98a3d4b0e12c2663910a8e328aeaff27f6035a627a78d9b640a1604059019a8019fe8c4af841b94247442ce326f5611c54633202a1f6dd1eb4d1c1830565e7ec3b743ebdb66a7b78697266cd04b1074e5d47026b8ed2ff1ba05720f32e9c9355e64702322879138267ea26d05f67497768bff1c518463042236520ffbb1845b75fc3e86cec813e7c080500d7fbb06ae4c76becd241087c2c6d56e07da2714682bee4c8ac11e2ba32887beea040b58dc54aac1442e377eb884bc906598708ef392cb491de5ff46feaddd2a12b2216052409dde501eb32e4a717b6b81a598e4945f7bae5df3d04887c22f8a0d93f794838c94bf48fec6182184dc78e7e59f9814074722ab6790ed3dd22fa3b2486cb3f1600b3a69368b42003d55c2544eed564349bda08c4c4f8e6a943649771cc8b0ab5731f3413ae4658f5e15de39bf752f2a18355f83ba67cfe2c8c0e839a1931ecaa5d10af4ce75e8bef9e86a5a4fbb31393c36b7c909b2118e0355259e65f746addf03f4964dfe808f8a76d3ef3343f49be3e4a099c998641d10125d3e4f52badcb8f75bacb60c3c869f24debe10b204850bb13e5179fdc2276be6b7dceb9c85dad475ca4a6fada017d52e2b90e3f660acb8a120176f8d464d7dce805dee3b32866b517d6314f233bdfee350780f58ece6e9c4c6b90880611696a031852d5d467026e08c9607eee5019668cdf386c9003c920e1bf848ae2fd5f3747feff0daf747e48378ad36c42ab0522c284f5ec88d9977b4648c609bec378820fc6671492ad13097a728e78c459d556a44de93e27bd5b6aaed4a8d4d12d5f61324c4606b245e1c630ff65b8389930228a6bb38b0f8d7993d9c205b541c98a96ab0c975ba98a41b1b08930e07c09c3199491a8b0d990ee9a1aedadd29858b3a2706cff6a7d5c4b24f79da3ff0fbd217cf6e9c66f348b5d3e2d0e0163788d78f8a3b88ca586e9a9257bc8513085a1fb1a8e24e4def3324cd8c86802ee124a588192c6d94a8018b65fe51605723c89d9cdc482fc9b204c3fc34299f1b87f1a905d111830ab20ca5b3a501ea0819172bfe8589c88b68aaa57c2eefbb2f8ed89b7154efaad9fdf5b7bab45780bee76353ef9ea18ad888dd0b0cbe880668f662473bc9dc5e1ca53809b20d5a5df90958067214ee9c7734a88d990d48519553a1cecce5a06bcc276cf0026020ebbe3ec8a43e039a3af86e9943155cd79501e6d6225fd64f0298deeaf1a14a6a008609f0b66b280c96ee729f6a2c2370b4ef05756be131e8fbbb8e93254008193dd97a58c8fff35349b184f829b39867a6253d2ffaf6131417ed6e6515eca96b991e23f4cd4b940e0c5cb27b36e8cd176fc77a093c4e12924498db7a2fc608a010d9058edd70b8f1ae449851f1da17ffce09a2a89ccf4fd9688b179912b98e93290e8b70ca2a0d63d1dafce21c0a6a2e71fe4ca44299e84f29bb73c96e85c32a9183464bb5b4625792d63a00ca5917c0d6bec6ea9cb7ce563a0627b4aac977516fac4a49a0fec155ce1cfa7b769e5bfb9070dbf700808a840f6a0fdb90d9f5358dbdfcc6348901b230e69efe0039154ebd14441b57dbdf4bc37121e7854c870ab0efd28e8c3880592716a790e2ecd88489e9233f562d0fd9ad29f74f796dde740938f4b4608ce6434103f741fed835f4cb68adf379a1761478858b7f3f4e7712f33f64fe3282e696f3ebefdd1027c389426c386eb42c6889283b9bc7dd1d25b9810e50aa64a3f6c1fa353b0b893f955d144851a8f69f96918a8e2f11059baa21d420f30c46ab1fb7e4f01de79b8c379779df7faaa922ec0d6f2f43a83b27d3ab64269372554c2687053c91be6e6879bd684845535e9459a09dd29b500bb4091b48bd696e23eb5eb9ad728fceddb597fde448b139a16b4f81d577f59ad1535012378483ecac0743dcc6aa71a05cdf12d617812c178f7044686cd3f3a68d29e5b267f1707a1b0e2d2e85983188b9af48e64a93819559851cf8b96304c60b6d872b13c9bcfc723269e1f8bd074355d9814c4940f4a00c0529349f5f5eeb48d9b1e3f3e9548856fad81ab535ecabb9364992b1cde8480696dbc2206efdada12ccbd68b45f4360baf06cd83ca93bffdd41c700c6b7986eb1e24fe6c4cc448e12826d088c1ddfb3df0818e20e72e982a586e58d8939c6626977b021391b84d0f050922a9f40c7175a6c04c3763d1e8232e08a752e78375e734c09c082270f31e0b643d78b9ddeff95fcc7106129cb96436b3d1630f56575c7773ba11230a67dd57a2aa8d886e839e51c783330639d22b211268420961ac36d823a890f5a0fd87df8a06655eac780bacae4b3e5e94b8691f5a205a83c3fa5ce17b847edb2c93c93690e66f7bd1ed42d9ccdb15d1d8b6fb3e18a1f64b76917a56df99495675cbaa919d2cc05bcc3642b337e7bd5ef990a4f4c15a1cf58ea25db45b18a0ba3308d2e401e6cf6e095cebce2976e7970f4fc4dbce99fac93e780347ad4fe45ea6d18d885d861e3426b5d3022cde8e46c1f989f38b93d6ee3ff4082734573560b71af1f191974514d5169c6626634dcbf3ad06004038890bb8219cf8dfa61e7be803a801f90fe37356c63829a213a124dd28b55c184189277d9c482c8088e305fd3f6c608999dffd196fa098cf39646935d3702366d1d76ff6d120fcbe496274113edc8c7a23b086306d4053594db4f0774daaf09229543e63b7d1122e455f0d8902d320df6c3cfa62659882846cbfa2b0acb32b5d5eb36a1161d9ec6d950b48ce6c76f9ba2ab96c63d8be5cf30fca4251dbca9537d81f1430b26ec91cd7adc262f7c9d79f2e5e7c606162f8cf5d849569db325f1956c6594b21748af5c01a0240ffc7e0755d2595453606801e826adbfd3870dfd9ab392bb8833d01c52dde394752815b26dac6021a631b0a8c8a949d051da02a2d63ef459c24ec360c20e76964604b5179547605066aae1a79b0f3cb79ede3bd9c96d241c59803f6508d0fe995352d955c0a39716086c9b60b04a3dacc36d7b64cecb0d51d7a770f6ee8617d367fe382f67166b7b6a94868ec34c123288aa0c1a6757e692055add9149c3d420d17ff0c08330c18b3ae766a5c866bf34f84f77f3a56c1011672059250d0dc6c6a79da4444ba6a46e48361e15c5751dc723ba3f00ce26c5bc90ab0d9033069c02112f4558c50b3d613cd4ef9f399ce54383a0963b1d98b9e963aad2d846adcccd9d1a0933d0d213b082c51511b372767260c99495fe23ffac7b8c7f93e7982372629f14c4cf31539c7ed2be5a9b418b6596ee397c22801ca203b2d9a39b73346ca3ba1716cf1ef4358cef202b6d61231700f186a1dc191fe8b6f20472b63add85053fce2d62ad00fb553ab08f4f4489a8d54e6339239e9528699b2c21fd6ef94f6bf211d8c3286cd34738f7b572fb713b4050bc34d2b9fa9e12478868db7e2c6db70fca637333b115ddbd9530fec31c09911c24fb8b97edce3847fce4f7ab912ee669438153ec4fd7416f56ac4bc174c4257ca94d89e9b5ddd62df9e5f2ecdf35131a1d74b19e0d11b9b6d15154b4195b82a3a08b5514224a3f2177a57c7842ffdd2e28081ce330b34065330bc520aeb03329c856de13d0ac304b87d10993168801309b696fbfe478cd1c8d65c4fba7c31cdf9840bc154f35cc0d47a47668aef7f867e6a627d44f9fbedcf17c95e4d024dff060e26bf45129a8a984092e06be98f897735c7ceb0715d3c47fcd06e3964b56e2f688e8300a101f0d90b8af98a06b0d9fe0614493d8a65be26ebf4f5c73159c10698fd06a5f36602cad08699968020d0ead3cb0e86b80943e610bf817009abee11572542f3f2fee5a958a930cf7beb876886fdce5b3bbf095012fec8646b101d2c01e6dea5bb4528ac5915d7249b46ef01b6a56d0404dfdf91f0e7b14529c06dd1ad20ae5f593341b2c695d671cffc04e989640c059dc6ae8d6248f3cfb7d76577543494e51ad1dc5d98514dd69d38db16606bcb02391155072123063b366b79d4c347aef8278ad67cbfa29d1022a46758a319a2ae51356aae80c330eb25166a26338a23d8d1d72333878047fdc63319acbce9063e4f5b87c433a7a1238227d39a36df336c412f7ae3be66fdb01fb350f55d0ced2d0090ca724d1c496f448089db85a929be3b0bf03a6a14f2f6d61d9c644950c01f9124995478566d0a46934fa70f27d318dc019e889dd2aae76c38ce6408ac1263ab32046a2f33f010cd36d51c95d53e14674119c2ded627c1fd94c3f07b0f0267a28761a9d47b2c9e40078f2dab5fd047a399885bbc863fb5a6a86495d57ae22c799b4e6003f8c1d7c2bc1ace423017f9634a611c628ef252788549e8dd749d617ae656778e77c05cdf7078c24ac944e427dc014f9875aa918457f503ee0d3c22165be5229abb45673cd20b702502ee4c5fb2d0deeda3d473405b39fa4bbc5b628871c16b0a42fe32e9484624656cbd400bbf71900c6e286178138f9eb6d2d04d58581781181fc96ac0568da7cb1bb841d89594f5e46d68ad274ff068509b2fed2810969e504ca2e8d7705e8faa8635e432fc370167578eda9bb9701c00783e465c1a1d911688e9c244e8892e4a81d1cfe1116e15a1c3e8c8242cdaa48abbb356940f3275a528956f231874cb60a78dc3dbbf83d7ae8de9b2be35be801b0aa07c7148564077e85cfd958edcff0e54252a4ca1e7e06c9a39fae70d2fc7c3940fa8e622f5728f449ab1b5d2ac4fc7438672e6b9f293fe4d491118cbbea11778366991e27ceefdc3d205ca6d404f7084510056e302ab1c092e0ec875d28c9ecd85eaca4f9ca24d311dcd3e8c3b8189f3226bef4b1e5a055e039b33f70139816feb51117cf6d6621666db4eaa814d93c5ba6b0dfa36d579603e57fb6d07e1c7fc4a363644e1e24367a2b691b3e2210fb3c6e7fae728babd5b3bdd8da6aa464ea2a5bd91c44d7e8bd284899fcaa37f1656c9ecf78a85130ec4a2dab2498a3b2401ee3bf94b882d5d01693100d029d6bb713ae8764795191ece732d806a962338ad90e98208471222916d027569afb3331a333af21f1ee59ef7c0598a8995e9863781a121f4d096463a9975dec30706a1bb4a6cf62a62f74a661228d3b8bd525b77f9e48ca762ee47684de76f277a1ada4d4da805d3cda9dc5b914c204bf1ea6f4df211d43cc4b1ee3127019de906bea4caacbb12722dee293ccd14ba3705be496a2e0d5e508e741ed9923ea1fdd248d801a523ed1262f3c24c21b03aaf2e428fe789faca6ff2c0fb4f99a57afe45192ab23e08702a1733eb439460f3be5dff39db92ba36e124acb26f8dc06262b3fd414c143b211e6d79964a5d01371600bdd03dc0ffb782944a6953a6ce79bd638e0e9bf893c3e585c644fd362f4e71a2d028d8b68ea2c32b29fab61a9d01c19dac89de7adc6f79c317dafe5b051c5a1d2e2b9a1e34d46aaa638a47f7b6a52448e0ae2cb4b26979ef11683d4f38d7b70db29f5e140b8277fefd4cc6eb084d4c1f63182102e69638990d10c39a710a546942785256ac267104e58a794c8c8fdbd35b9f12965e028334aecf448441f3b3fbd3b1f163ce7cde96d1eddb00db3f8cb2ced9176edc7b14068d2533dae0ad28d672a6f55695a9f267f7c52ecf5935f4129a43fa3582f691ea5ff5d1265b4814e5e366744477a4246755c858ba1edc09786455b7e896809a0c3f8151bd463d9a9aab46c67ad8084dc2dd380b2e76612f0b61821301ca599b375ba3dc709308d45e623e3681c04ad3264c42cc4be222661c900f953005149f38643c97d4be01f772c2a32ffd11727682034248f5567e507828a247c6b8b2104684e3119228b3a535a0dc43c96ed10f543eeacf9be93b4ff33267337030f1d7ab249513e17365e2560ed3511fa8568710d949393ccf5f27c9a7882b77ffbfa00e55ab8e43001878eb85d0e2cecad4482db989e32d640fc835e6b597b68b40b6c86b3cf39b75f3ce08667851da1926034c70c04701e8b51629ebd740a177092184d60b286f68580f76c0e00aaf70537dfdde7ec4e474717a57048e4f1b09ac081c13afe304024e68dbf9f35418c581c7a66b4089a8989ba50360f1c3fd64e7c9f97dd1d9794fea9d10a47212f7ca7467f2643dec5b8b13e1eb90dbad0321343df71493843852db4ab8d28ecf08adc88ec100acde253cc47468672afa93485d3f711a4184d657aff190d950c0c1d0d76330bda1705dcb8b91674f135b71be5d243246ab375c6617eea1589ad53b23400b356b7d2dae0e4a3072a6cefe88b87e9ff426083e0349660d42ad8740525b1550f2a2faf5aec0f8597c5a183193a85126bf186910302f538f497afc60b9be42334b480e9c5d81922d66382b6d8dbe9e9f02a4541ad057b76e9d025d82095c94719356513292f14cc4d7b53d607f4c5f3dc982cc62b89bd5b6c60fd3bca8a9c5ecf34143385802138af01e52ae7aa4e353204c0927b40cf87042ec9d66568f0bc324ac925b3dc52aa9558ca9ac85d6da0b706d71ab98d591ce42df892ec3aac492b3e13506ef0fd5042cce991df3cc4a1fbc8b0f443abc472e05852457b9ded668a5526939f18c4ab3f2d15a5dd54c455ff8c54d3441fc885d006bac7d474e1ac024a2a56d3dc0697804299c66313e8fbf470ae8eac6e8c714761632343f600225c6fa79d5d2f7fedc4a2e9aa4240e70c45b0003aecfe0546c9ff0162e4ac687dac5b0d23da1a8b17cac8347cc66250877a9c61d14a4a9a56d55b9b9c119bed2dd8c0c447b209211647fca4e3eff92e2c797b11488b45ad4336b3c5eaf16f46ee47722f7434f265403907f46c7d7afe2c58b5ae1bd75f37e464da80637a3c3a5b300df57abeef4d3eb2c285936f577ec97690bac2fb37ad19ae55e2799f0f2f2a73b3b0e3df46384d303871e1a3fc2d993c39678b968f1fdd79f2f7eb963c7d08dbb86fffefdd899f3872f7c7824e523d2e46530ee5f42c98c593548dc494c6d5135e4ad975b5cadbd4396d9966cda84e952c4acb7bfb3cca5ba04c8327fd09e9d8af71ebe5cb0400a374b96aa4888cce71bdf9b1f45f7d0cab6ef2a140f9bbcaa4c5b6791b850c9f525daf415c486495459d6bea3403464e2aa522d7d0502fc1aa399af48e9acc2c05e595c233923d5ed9323cbde1d3396e83278d19ea1ca071edc4fe7424a4b0a9aa44490894b064cb06db2c476da68a834b2517e4133e60bd27ff7823dc3299d3259ba226196951b34c9e668d9d4cbdc335fb63dca060c543cf4f07e42970a125cd170e1ca941738619b2452124b1f88c0382bca3b8c600666167a4cd6df7dcd945244cec3fc29b61d7f9f0ace3bd9fb8cde798a312d6231ef8b53c2e38eb0ec08016207e6e5ae840a171ab4ad0f577bda9c97175a4515385b34a9e95a7c43b062c9c002072ca15881ccd46641f1a0a41ad97a252ef832cd642532a39521c7bcb653e11166791403153ac9d2312b3b962d9642ee3c59e299e70831b974e3d7bbb741ab1ba3cfd86f79153cb8b760f71b2ebcef9bc3979d531f41f70612833c05629a5160044c2d7d62ab8925ecc40e13db2ede61dbfbbf67bfdcdd09c0933bc6f407ad67ab57789c385881ae26df5b9f742b3d3ad48bd6bb11b97c3ef634d60cf014a16af45a80d5a6321f9294a22ea3240b54bb7d816ea22504ada555c16ed11304a899e55eb1316aeaf08a390befea74461df381eac2105363b10be349ddd91a0ac665cdd7d91097109bb9be3cc47dcfbab4a23f8b66ff78bccbf63f00aea0f025656611f99258b20ac257d91f7e51be9f2ff5cf1bd5ab8bc610e2f8dfef6c272f233d612b9ee675a427ddf2bdd71d1503df662d38b70a735f7fd3bf171900adf89043df4d98d2cb130fe83e4de0d4478cd6fca31475fe4cecfc57a64a12b62618e7d727aa2bcf32faf7f2f8b1b462527e5e8b7b90b1e58f89da845fcbdff8101f0b989ef72b5862c27b6236b35e5bda3cdbc074b4ffc619ff420f0ccc5b05fe25bdf6c6864a6082e96e7b31c873e5a8f55f393ec2c472a5dd2e13fe09a58753cbe5e9197ed53fd774f8fb8853ea43a03e3b95bf7730e6c13f9bfa63208e9ddbed76d0db716b8fcfbdb5e7d79ecbc40fcb7298c0e361dbef19bdcbad81bc405e714d0ff96a90969fc1b48b7ab0794c7ee1c30d3ca3dbe31dc3b6eff9d9efaec9bb757e03035fc47daf6becfb663380356ceffc8a4033b42048b3ded56c4e1d52be95e6daf9e135eea70662b199ebaf9c20ca628d233e0dec16daf413bdd7ff3178ac6cb2e486b2d220bb87fa3d2895e40decded9bb650c3d68bc260e28ef817c7f948e5e8b0fd6c5567c319efe31355c6bc67b61071d9a97609c92f80a831e19a113da960d1cd2374d7dbf44073dcd54dfe3577ebcb671c399d1f464b1fbdc2f7cf3989bf71d5d86b881b16f9a033049a293177f24e183149e48c10f49f8918e0752f04302970f234a92f047021e4862827dfe4b2786eecfbdbd4fe6099acbe011bfdf0dc879ead17b38bfdcd9959af3492da6d4d092ba795293098e423e8ee3911ff9a24b5f58692d3fd1a1fbdad74abdbe581838630af7bed4ad8b4347db22d941fd058d9c0fbdebff594dbcb38ea4c1e3d5e50c397aa9e923cfd5a2e976c6153d59c4c7ab6cfbd80aab6fa6e5ffc7d67b10bd2edf7dd6eb090b59cbe587f63cd0ff8dff63ad14fecbdec03a7355a45a02dee785800e2f80b442e5f030c30c33cc30c30c33cc8c7dae7e99682335ccfbc925bba543664abb221aca2dfb4928d55fd5ec3f1908940e3d0e580e3eaa95f3e4c323b166a7ae37b28c3b24f65575104a1c49948f58fb7a6be7f742828e58a2ccd83669de461ab1044b722a1766c4ba8e7a423dbc8855edfa41e8ba06bf22769a8ed4a0e1a47d22761437fdff6f1d1787887d74cb7f227a88659c0b2425a35e7ad4105bdc29b5b0176291d411a141c3a49810db8765a35aed88e620d6a9705c3ca22016497f920bbe214a30108bcd8674e117744a460262870f4ebbc88b0b35b7fcc33eb3dec5a0fb610bb9aa899cf461c9c585e778672ca50a6d007c58abd72bd67b58c48bbb2078d16f78a987c54170f8c595424a93cbc392d918e8349de97478582aee6fff5abccfc91d769220f763d60f82c40e5b5e899d9b8c36d5a8c35e58b98b636cbe687d3aec31a71d5df820d31773d8fe42900c1bf9fd450e3ba723b11072c117d771d863bec78bbe60726583c37ad1e18774616f582d325944f4c2f5de0d3b4db0e6eeab0d5bf817490ae5182617c586f5b90ba4cefcecb9a8352ce9225ceaacfda2b4d4b0ec75e5a234e9d8b1d2b04a724c6d0c9e71a3d0b06848e348bd1da3d519d67c8c1cef9a67862d9e1a24b378202a5919f675e842f5a29d587d8c0cfb582689b518f9296363d80b47d20b9ee7e1a4c7c4b023392be9f2c21cc95818769ef891f2d98bcf1818f62247965efc17960c3de21733a51765bc1796f1dd26a9bf0b8eefc27a0e264f84c717ade7c2f6c50533f18b61659ddfc25ed8152499a3c7c6bb16f66d288fbfc0f9f70bcfc23e5ff890ba38cba1762c2cb18b77bdb8e02f44f62bace9ab1615e2e351b7c25e8cd329cadd837879157694c1986a5dc4444e852d52cd34e27c91d41753d8bfd01af66f9c0be30b296c953a7ef1c51324bb88c2a6fa95bab8f8771a740185cd57ef76bb36f28bf284cd1f78d7e49545a53861e9a8f08bf715d62e4dd8c21ee40b3bd25ca43061498d8b0b7332faf1aa2c61e9e2deb1fdcaf0aa95b0a39042379d59a5aa93b08798e3063392ea69242c99f133c54721bc0b3ec2fa10d573a17b16c246d8bf51837e14644bc245d88b22c5c5b5e4690f26c25ebc15423264c73778083b65949eb41b6763b010d649f1c8422efa453508dba4940e2563185b4920acf55c38e3d9a45f90fcc18e791d39553813297db0a883068df23dd8ee5664c30bfb0b5278b0e536e522d9b8e8eb0e96e68c70fcfd2845076b8e5646e19a1e0473b0584636492248930407cb7cc105b34d1df906fbefa79565c67415da605ff5ce98f86b4fa9c15ecf5dc91e5fcae40068b017ac4d6438de2c9606b960ab1a5346e1c9629d49b9c024832a9d5c2c965873c1bbd38b7272b0d8413ac5722a1a4cee15fb56658cf3423873ce158b1765fe57faa9df492b56d3aa2e9a5c9062c5f60c1f27ca9ad626b58aad8b726e4f2e4a735152aad8628c8de5b2b4d7914ac58e36973188fb0c1aa450b134fc7d9ccbc933913ac596425cfc54839e43ca147b45ca9b30932ff0479562ffca7531be79b61c458ac5472de447ad2e8a8d1ac5120edf203caa68354a144bc873178f17168a257cf1a4876215ad62a058fcb156c629fdc5f6891d73ba98fe2bff4de6892d3a0affc2aa940bbbeac4da54b711326678318a135ba34c93cb791964d426b6301977ea45bbdc4a13dbcd179ac38b94afa74cec98c17971a57b741c6162afe8fba20ab92736a82eb1c5a62ad50a99f3a2b2c4aad5b0f2572682445589f56ed5baf89f77825394d81cbea9c7cfc1565393d8a117c34a3ac10bd59992c4a67596e17f8866fe91d8662dd741d4ba507d486ca929cc51d765eefe11fb84ad909feb2f32ef8825361767ca44c8606fc49a1e122ac4c4329a11ab58e959679cf4ea8bd88bc1ef21c7a9a1e98a58bdc08b0bfc6e4de3f2442c3fa68e51e965922362cbb07256a5d4cac5f821b6fea2ab9817a231e38658c50b236d2b85935e8825df7884bf883d3921b60a19487d31e50a95416cfa5392414f4cbd05b14aead54b61b3cb0ec40e7672d14e2eb2ef1a107b316ad846144d2ff8e20f9b7d414c8bb993b4bcf0c3122aa492f0a20f5bf2b46acc155ddf051ff6e2bd28b13372e14f2ef6b0e7f3d9a8fa25475de861db51077b942fc62f4a1ed68cfc371131cd45153c1812290e2e53eeb05665cd25f3888e8bb6c30e26a4f082bddc8565d7612f8651b9403ef243aee9b07517eaef73a1933f7a0eeb3d1087b75b0e9996c35e7493b27be5382c5ed420444dfe6b06c361f1bbf8e29bca73397dc33ef75c244e932726ea86ad72a93ee6a60995b661f1e2f262f042f5788cb261d193b0a26bc9919f6b58761ea59d13bdaa530d3bea4cecbd20219f998625f649c46723899968d862c58d449dce07e619567b2e2ed4c77f868d34c35ae9c5a8194635ca059661b52fc828d42b38c6059261bfb0d7188ee364c631ecdf7b95676d356214c33e12d248ea52da8761d8c946ae2a8c5d78100cdb398ad40a232b0d7e614b9b065f18511ad4f3c21a9561f16a7dc6bc2e2c4d719e7297436a1c1756d1db2f9847ba79dd16b6b5d88f0a12ec0b3a2d2c39bc36e2788c7741b2b09838547d92b4bc081616499d3f270bf3a2c815b62f2e083ec12a561f628575a2d6dc8438c9a2a30a8be5af3c0d52c43107153647157251a5906126630a6b6587a47afcf46f52d8a2c64a2ee7cac5bb4561bfd1eb0a5615ab6250d8f1cfa5c991c860db13762e3c8b7192197c3427ac5626d154bba08b32d684e5af0b1a693fc3558a093bdc85efcb28d6dfb5844dbeb86823bb69ed2e252ce9310a77b1fae15849589a6caf191799051d093b494fa8e669caf911f6a2aa2f902ff8ffe2e2c208eb4dc36efae2ecb4a9083b8af87c719aa96722c20e3cafc90ba621ecf7856295f1e5f09584b07e61ea8f9e17957e1484254744d38c17ec760484bd8b42fd174429f909fd602fbc145215699236c8076bd9a5e484b8ca897ab0362ef482ecee060f1fe2c1e27bde18235e9a17433bd8e9d32fd43ad81eec629944739839581b3e76719977ac85831dc6d86524a1334237d8bf2a8514c47ba719b2c1f2c54519f64206177e0d56bb142d1794648cb90068b08d452f8ecb851ee6fc2c962e38e9225b514bb52cb6938a146c2bfe8db1d82e9fd8173f63481d2c962811198e6d75f1e315fb5f1749956cd4ef8a2d2ceba2431f4573d18a354a73e5277fa49c15fb7631b2c9f020d45ec576b6e9b863cc6754c53a7db948237e9e78a958baa021675a8aeeada0626f6ceee2aa99ccc529d69c389ee745d92836c58e0d2166e4a208ea9562f3e28b8d8ad5b711526c211b7f671d39c646b16d79f103afed7c942836cb508762d12ea85c273728d6e882ca2017445d8ef9138be79c44d9c6cb923db176c417fa963f462377622fee9a68ec38b13d4cbb9fdc8828d9c4f6859341b0bed405124d6cbe5713cf0539428333b14ec8852b198578d03026b61819a38c511795e797d826c93c4da620d95962e971f88b7a358e692596bf8c64d2ad362e4a29b1650a754982fc549c93d844bf79c60b428a5e4a627de8b8d04937cdfb48ac97d27c31e88ce4c221b14df08c88fc4cfb23b61fcb4872e5f4541cb177e5afebe2e2695069c452de355f685fa0124646ec7b199e642e2ece90e022962ea65ca4b69151c62b622f2ea8dde8e9e2943d114bc8d0455d5099b7e188d8327961335717f7a51c628fc6b4bb29896b31c49e97aed6f6b920d785d86156660c3d56ac24c40e75452ba50795bb416c8e0b9df1e452b713c48e32dfe774d137660462dffb62c849ff35d9016295c9b872e30b32cffd6109b3de91a60bd2fa7e58237d8134459a2ffaa20f7b4e5d967ff1887cc187e5cc1f2a48be93e41e968a9c705ae7f84e0f8bd417a63a64b8d9913cecd0f97244d8f3c28be0612fece9c8c568ed2f7c877d6b9a9ad67fc51c76582e8634862b21f637eab073368ee3c628eb627458429475e117fcf35f3687bde081fec855fc225d0e7b650ae68567c5610b921a5fa4965266c1614be92f68ccea0dcbde65c9f8939a17e486adbf381ae69f23c905b5619f2fd9df4a29b5121b360b916aa1ae61f1dbb1cb20c2e382a8616ff2352faacab8619486a561a6c22446e38f867d42a82eb2f589f0c5195693e0056b5fe93635c396d39b1eed5ef873468b326c3f72dd8511bc781b2a042dc8b0644ddeaabd2fba64fd18bcc7b0b8085a886167d8500736918b717aa14518564b29bd28737730ec2576f26553cfe77c610b3a7d99bc28f5c25eb0d2c535cffc18ada30bcb03f590d8f08ffba27061ab8dd8bf987b72146f61c705dec8d27de489fe420b6b6420f99141f4c8a7b2b0448408e9f12ea875f15858bdc07b9d34cf2375c157d8bbb076d6eb27f3e86e85ad361c78433d4a91d62a2c5b15bdc48ba9661f1754d8cf71a117869a7c58ae53586efebe18fcbfb0b651a4b08c9f548ade7dc65fd817b488c2f645151c8d7c030fa1051496e8a8b641bcd4d3fce209ab452d2f063219e9250d0418042d9cb0ea9d6e842ec62ddf538b266c755f578e1b924d22089090094b26d9c7d705be8d320702244781ab805ba0c51296dfb80cf4bc20c93e0c04481ef00008ac52702ed8063400b550c24e411bbac80b43066020020d68400a4460021380a0075a246199b49e8f53be8ede8f1968818425837cee096dcc31eb089b83a348fe0d18bc0994c6083bec8e2e88f268518475b42e67a4985ed90bda035525c84013b420c29a5f5c5c141cf7c5f5b47c003d023984bd601aee7c7161aee59e8000c974a08510f6a2d9aebc0a73cde8372d825077d117c863e851e3a01640582b5cf89c342a311f83b4f8c13ea3e297e7eb302e2630010a460cb4f0c19e151e762c03b30c14a8a0073b8ab7a55d2872121e68c1032333bdb31be37e41c30d5aec60adc7c531df914f2b6a2d74b04d178346a10f9241472338010924e08113a440065ae4608b8c533a0ff6f24a7f0a2d70b084a85226bd165da035a0b9751c428b1b6c31eebe418ab0f99990a181109cc00111684003427002586861832544ca05e9a34abf2e566851839dbad343bc30d61c250a2d68b0a50ce9f72bd4828d0a02a4f180d240084ee000149080022820010908408a00cc6209b2a15d960f62362ec28500c8620961bfe8d24ebc88d044800213fca0420062b1344e09b91ae8d3430a08906e100d84e0040e28801502008b2dbb1f3dff997671d11720402a81090e160178c5a63721efa3f244f90e0224572c96f1ef6e63b0ff8551090257ba9a8aaae3c0422c716b55cd33fb0c24c4e24539296235dec870104ba894a5bfe35f603941ac565da98bc90b22ca0bc412f235921e0f107bca7847fc870cd3fd61c9c5119636aa7bf2c40f4ba5ceaf582319eca40f3b44dce78ecbdd14c2872d63109cc1d3e99e640f7b853cc34a552ff8881ed6b47c2117c3b5b007c9c3f605db38e285734c1978582fbd3042c5eec6f7b8c38ec12f4a06871d16dda89e4c4ee1a05187a5c28f8508c12fdf74d83295794156a538619bc3a62741ea4fd231d8e4b0174a58f3fa94d4855a1cb6afdc382dab464183c3de5fd428d5e5bbb0ec0deb4677cf84c4f582cc0d7b7f8473585ffc205f6dd836aa8b9942ae1cbd940d6b784fc39e7029bdd2356c5f64e16c562e9546aa8625a55c29793f9a8625173e9c949a6b1a3e8a86d5d49165dccc5c5cd8e81996069796abd259d36f86ed1b177457046714f265d82c7aaa49bafcc878326cf95c0fbffb1816d18b6815a171cc2e86a54185995087e8d0c3b066252fbc142d3d17e760d8319704092d9fbffc0bfbff4a63e57f414cee85352b9c3e47e4a7efa20beb333983e32eb8b0d457aee6f5d4dd2eb6b0741763145ff87115172decbf36bf37b1ba2059b2b0c4ce9858f65c10c48285fd922467522ff4eefb0a3b7f31d86ea4d9846d85a552f7a90bfca1275d85359e26e3b8734887a9b0c409c12332a3b886a7b035e6868dea8b42bea814765ce060c4c68bd15e340a5bca3b0b53d5b89d42610967213d830a0f23fa8425be18a2394a0fd2439db0338c17d42479468e3661c7539f14bb3cb54c262c1939a96e437351954b58e7711d1f7971a32895b085fc69b43e4f2f2693b04f53f6cc8a48d8e2838659cac513ec236c13aae27dc18d4fda087be14329adcc301da408eb83dc53b191798e23c216b9f88bbee0423a736e089bef7f314a7ab15f1421ec97bb26a94376d641582d3579fc3780b079f139c4907c6c6efc801c5f949ef5fb60b5302396bea2a52e7ab0d917938349fe28aa3cd81e83c894bec131d276b06330595f4cf6858e331deca1a2dd453f1bdfb01c2cf745154e428683edd14a72c8206cca1b6c0dcca4d2454ace065bee4bfaccf3e12003d4602f9c5c207d1772814465001aecc5111d1fe6833d53b358bd38f52b45b2582df4f544bdcd07c7e2e2fa424b6ae2242c562fc605c12263f2155b58cb109e41b4cc4cba62e7ddbde82838b4dc5bb1f7ae1783927394d459b177313a9164d5056afa2a969cda63e92b239317aa58b41c1ec63ddee3a2a4622993f90f8791215850b1cc56ba8a0d2ae2534eb16369edc6368f658a29768cb24149446afc459762b1ca90aca749b1457951be733897ec1ec5b65df964c237f6a445b117a3a83777d50f8d0ec5fa453eff17c224e2a0d80b1c57eacd8878ca9fd81e2453643c8593ec8925fa1704c99a3bb15946e1c39265141573628bd508974206a5bd6e6251a95c9c1b179ba26a622fd2b8db07d14c2c960bf2efa5ca7d8662620f8d10e2a797ba7289cd412eead32fdc18d1127b445ec4c81313625662a992db0f2d29b1ff53d855d84619c549ec455d107249084a62312bdffc70b2793012fbe87541ae34572e1e124b77415cb92e1eb13444c783ada45c1db11734fc7ab8119bca3a44eac84f2623b68895ec8635c9ef16b1a34b352311820550c41aa27eb1f1eec245b00089587c7281fc176e052707160011ab7a318799442efac20616e010fbe9c5c651e11cba302c8021165b1bff3907f3ceb0008558a5cf42fe52d27e18168010dba4eb89dda0b57e610106b1355f36e8a5ceec850510c44eb970d337420ef9a2b00081d8774dba28e30210abd6a5cdc645fd61077992a494632917577e582c455049bbeb8559f561878d0bbb2ccbbce82a3eec5f15b92065680feb448cc810938b7241a587f5f369441ce4bc0ae5612f2ede6a6c2e4933131eb67072985a492a4ebac3f2cc10b20b42aeabedb0afa58375d829bc6155ba2e2e880cd2618bf52bb13723771b9cc392ab1c75413451d906e5b07851d804fb3f0e9b33647fca582e2efce1b0f6c4a61064627951fe0d4b954a175d88ba50bf1bf699bce862946a1be3dbb0631c121ecdd9e13c1bb6a8cdb76995f7765fc3ea054fde74930b1bee6ad86c33e282ce8d543c0d4bc64573a88f73e66858fb1b1ccfd645befc0c4b5aff828fe068ab5f98610b972beaf88e53faa20cab444f2cb975f0e805197694cf5015b91ec98b312cb18b7a6fbe1a37772186bde88b8bbfa92cc9382ec2b0e417d4f7d734fe7601862ded178509198351bd7c6133b170cee8e285bd3722946c3406ad74611fcb53c91f1984de5c58a2042f26affcd9646f61e72ee6622e09b11b6b2dec451d29a8177683863a0b3b17176d5af47ae69bb1b0f8342e468e63db2b5f61bd0bcf916c2e2ebed80acb76a14c032ff2db88abb0d93c9a1463ce642b1576149d524ae98bf17f3a852573f3485a09952e95c296f223397f51838719853d9c32cc9f47af544261eb7538978b5187a3f2099be3bcfad52f934c3a611b532ffee2e2029bb07d5f9894b155f7053261d39a94ca36c2a5874b5825c4496ec64571a012964b95912c32beb130099bd85777179623fde290b03ee8b92f92707cdc1d6109d18238949c11b62831adef32e586ae08db39dee558d28b321176a892f84a4d299c43d8c11ee44a53e9622011c2962b3ef8abecde8f046199359507e28552190408cb7e86799f7e4136c80f7694cc254e95471ce28335b361c68bf40b6d1f3d58d28b8b22f9569ea70c1eec7c91676dcee1a863079bd4773148894d290e1dac91f25d0cb9a77e8d1c2c677717e68f7e2a56001cec5d98e3f8b6bc1f6d05b8c152e505d2850e72266c05b0c192c60b55ec62a8c405a8c1d2d70539322eac2e2e0b4083adcfb920e5e28d6d64cd62fb42fbe8f0ed065dc962e799f8e2a29c9dfaa8586c5d64a3bf9b15632a586c692c75c1434fada75eb196a51cde0d5d0cbd20572cf1c1d8dcfd46f2e85ab1d9e322fd90141cc973acd8eb3e35aa3a47bdb955ac8f273746ef2c7373aa58446d25e7735184c65c2ab63ac955d67012f947c53efd7cd1277f8a657c3445ff0ba72ca6d83e1c1744ce9d247629d668902b7395e42e9414eb5e38178ca3548ef4516c1b5f600e3951ec902ac306be8fc1f1506ca5167baa0bba98018a25583d144b7e622fcc2ff0a2f0b8f0c45e928bd2472ec6182aa513ab3abc06974a42de85135b9eac8a33b9e1c5944dec90cb1a361d24fe9ad87263aa486c7ef86762d5fb2eb26a2e46b73626966694fd7b5ccc28ec4b6c93462fca03ffc6b52596e485e6c5d0eca24cba125ba8485c48547f179458bc2073c6a83c89ad71ad32dcda47214b62f399c6c5d7382b178323b1d64d5888750ff26048ec7f79239ac68fd81bc386a5930d29ab23b6582f2a2fc66b2164da881d17249d08d3f9bc94114b70fe98352fea9374113be3b0fba23a15b168451c2dcf2f8931115b5cbb2f3afdafca052276e8fa42f1d52f0af321b67ff0583d5e0cae34c4fa95fc1c85e4c5177285d832d9548530268d7184581c74a1ec044959d70d621b69942ed40e475f105b6f13886d9c77e277d1cadf80d8c14f2e9f0b1904c91ff6591bb9cc881fb687a8486b913e2c0fbf17f7452b3e113eece03e26e4cbfbc88bb187bdec5675628a7a61430f3bc4cfac7de4c43e0ffbf98e85641b1ef64ac92f4d6490c9b63b2c932ae2c96c765862d65d6594b657a9c312f3e027ad77434987e51c24b9645b9f8d392c1aff45cf185432a6e4b0cf89895f8a3f15c66187fc311b87081cf63ded029f7ec81b76aa08b34713672a43dcb086e9f9775aac490e69c35ee405b998ffa2ff9543d8b03aca39a1c264cab8216b589ef22aecba9eb1216ad8fef38b1a25d1ffe23f0ddb3cd4ecd8342f9c1e0d6b9963834adfbfe7cfb034a48a6ce40bdbbc19364799316414e328f7326c97491ae517a4e8053919b6ffa8cdf2f132fd620c3b85ff6eaac3c4ed420ccbf984e6f6e37417250c8b3e7f31481342ba28050c5bfe39552e8a5c3c66f9c25ea1b6e690e2851de651c2735117acdc5d5845442a4606d505c1e6c296bee90b2b3fa4ad7a0b3b874317ad4ae5ef590b7ba4c72d4d8b0cd29c85cd6bb5312cc275a18c854db34169238d15095f610bf5027d1c15dd065b61f5b1949971c1944e5c85e5a42f7536ed7ce14a852d17a647d2780aeb84b04e162d0353a5b04c855fd914890f46619f8760d7c5a8b23c28acf2d01fc5262749fa841d45ba14b241d6da4e58cc193364948d0e6dc25eb938bcb9185aa590093bf9fee422cd50ef96b0a5dc9c936cc85d2861bfb22e9ccc879c2893b099ad8edce3534a90b0ed55335c9c78f0117650619dd183cfadd0084beaf049cf14b42345587565a3cbec3c5247842d1717de239fd8ab7f08ab45dc4ca588952e847575262d8fa50a33190408c25ed82823a3bc71292183004040ff516a300df283357f277466bdf8e1c3075b8fde251b6bec7bf460b5f209c9bbba650e1eacfa25e7944fafc9b1831dc7aa0b33e5e95283003a58bb1879352eee74101a04c8c1767a793c52aec92f8c0038d8a1654d185dcb593102dc604b270e2cd255ca6c04b0c10e72f19f94e58a2a19016ab09a55a393110bf6170168b043cd7e917ee138f3358b456259963aacf85eb2d8519634845d9fc4158bada6c2aa7361572eac60b1e65484098e742554af58425007f9175d908b29572c12295fcad58d55a156ec6476a23eddd523b162e9eaaeb4faea42098d55ec930bbb68e2529f383454b11778e41737d2e7625ccc48c58e4c2d1fa75af5380315ab7541a3abc88c536c8da91f7b2f4d70cc30c53ea6937f2fe20b9b19a5581a4d78cae0116727c5167d3e8dc28d39388a7de78b8b31b42f94f478516c920b2aed3ebe60b50fc5b65edcb05e3d28f6320b229372d138c43fb13e86148f2e73d2dc134b7e142ec7d189258f842e1e1d518d133b380cc713154f1a179b583fc5a2d4844e7ea1891d176a38d99e891d3f1c53d00a26d6352fca584db9c46a16a4522c5b272f2cb1da39ed7d63e484546299ed8aba5a6d9412db7571ad63ccbe6af424b6ed7bcc4b5fe8054b62bf0487d89ea217eac39a9b4e0db11745910c9c293f7a6821b62739a94b21c4ba5e685fa8b71d97cc41ecc0a9b1faf79f8b4a41ec345dd0df4c9b396520760c6f57c24f902f2e10107bde7a8470172524fcc3527336f5855d15e6f961e7e2eb49217381da787d582ff5a5248eb34a3c3e6c0dc6b9c823c36adfc3ba9af5d4633321eb61eb0f070ea75f506b1e76065dab5efed5291e5679082fc9681382e40e3bec828c8b315476d8298943c814a6d92075d82ea9a59358679e830e9be57ee0158e39ec29e19827a283504d0e7b31ecac49333c9516871da5d15270181cf6c8973397e73bf737ec308f1cfaed78c76ed819cdf62743cb29b661f388936aea1b568e0d9bdc847069bb9dae61b3788e1231ba203452c35e141ad5f24c8ab5a7612fcad0ea42cb7c02d0b08f33989d8debb2e7137086c5acc19c2f7e91cef30930c39296ec7237fe4289ce27a00c7b4146715f1477a5d2f90490618b938bcc2c852f98d07c02c6b0a44c5c909b740ccd27400ccb3a2e70320c4beec6482fae78fc83616bde065f60b9e063ffc2702f954df79e002face1fca4978f4184bc27a00b3bca05eb45f9f15c58ab0be2cf68bf8525beba382bfecca2ae85d5cf4bf3c25126f52cacd6c5c0b9bae177e85858d3341a53e5c9bdfc0a9b3fe69dc9d4c68f5b61bf91e9eb22cb48191755d8b3ef29edd944ae2ea8b0370373e4319db69729ecbfdba079e492175ca4b0f99f5edecabdd17714963041d74286c3dd0d859d2752398489c4a39fb063d345c3ad9db0c471949aa98e4ae4266cd31392ba65270d66c292d2e3a86fc3ecb1844dbac8f3361d631aaa84caea81c4d234093b26ebce2fd8f1422f1209f484cca5681f61fff80b193f794f1a61c9e0f2a3ad095b4f1661aff4c5f052dc932e2e88b0858c463f9df99b8750a4c7d4b553085ba38d94990ac2fe0559d3203f1e4940d87cb5c1d5833fe07274ffc4173ed82f52c893ff1c63740fb63c21b75f286a33f260f32efea23fb1b8dddd0ed67f08cf9b9c0e76b0f224960f2e422e07cbf49ea32ffec2cbd5e160b54a71771af3c59e801b2c5d28694d1949c78b04d8608d72a06a259bcd45026ab0ea8917a54a932e46268006cb245fb3ebffbd7216aba31783cba42cd6c77dce91542b13128b55328c3ae993848dc0629f9a9a701b51e521afd8bce844bdfce18a35c48be145fea224d1d18a6d1ce25149c4373458b117394f4cae57b1ac63633812d6b453c55e90994fba70abe1c452b17ca1837d8c66be2846c55ed485e9e0e90bfe61a7581fc5c9d245cb359529f6fcdfc78f8b9117c34bb13948c4d22faa2080143b447f577d31ad73418e8051ac92634de2562c5bc911208a4d529f4e886abd17390242b14870d8bdca85de458f230014ab5a173dc8b94c47c711f009cb9cb11969e39ed81a8309763521421befc4da116d1e2e9cd8b9709d827836ee6b134b5d5589f7dc3ac835b18cfcc34c767161653c135b3ee8c2861e2a59c1c47612366ff7bab8a0bec49ed945f290b7a7b22556ad721c92815a882bb1aa46f062947c9ed70b4aac695bc90bd462efb998c4fae48f9b928b9cd292d8bf5047add61289bd311ce582a86f2eae406249d155e118e511db894c857a31983fc5113b68889057bb288ede8d587f2a82175644c6793362bb5079e2458c10b317b14f68e5d2dcab9b5a114b17382ef24a22d62ea8df2eacce2e4611b13789435e49997f88b5611dcd56635dc98658ee723285f5020185e8bf78a4d48b0b42ecb9f3b8b862d7765106b14c06fa5fe08de2d614c43629d41f7c5194981988b561ee241d17da550988b5426d27927917fd7f58545268e8e913e902fdb043cb317b9811d2c03eec141ae4c3da450ee5a04eff05b93d2c628e9e519141334e0fdb566e5e4b2179d8f471515dce17866e040f7b8155c6efa22fcac5b83b6c5d948b1c83498f110d3b2c39ba5fe18b1bf633eab05673f1c99a1788ea745822632fd7646d83e7b0cd173f0a199a7af12a877dc2f279179a177c1a879d8b23f32b068735ba7ebe62baa8267bc35e948204b3b1dcb044c7cc1794da864dcb1cd6ea7a43c9862d443dcb118f512d5ac34e331317ef7f4a55c3de0dc4a4c9b948c3a2734d49c4b940c3964292a9b862168db938c3b65672991c33c6bf1976acaeb495dac0f2326c17f14ced8b82c30a19b6d2c806ab363ef518961df9a254fb8b61b5701c3f31a239e8c3b045c78361d38696e9d1733ffc85d58b2c25ad07531e7a61d3ac547d30792eae0b3b2eecb1f54ba13d391736b3a4d2585e6c616f7069b95e68619f90a225b3ee6274c9c2fe5971d28a17c925b1b0a37b70f1a46a3b72853526fc535de4e26e58619549613a7e960f2b5558d56f2c7ac41a9a4285c5a38b79eabc502d1753d822e2d2e5e6e2ef8b14962f0836476149a1f7b878ecf1c55078cac253466317043c61c7a31aa1b4e14eb00b029cb0aa457a176334613dcdeff242899aab99b065f463c85315042c61fb82dcd042a4894fe18200252ca153b2fc1f5785b5202009ab757ac17f7181c8645a10808425aed1cf54f208fb6574130f3f5f8c4e23ec0f5125466e97e5b2086b6c047bb85669bd20c2b65d18e15f304df1c4216cd2511232a6a328a210564929293ccc93e930087b51a8c4fd8a7fd17e40d841927cd4a0beb838ffc10e7fffb342532c91f860fd42ab1f49d6282cd2836dd671795117f9d34378b07851cc7dc1e6592ecad8c15efc34e9953bfe2e4307eb173a7a0e0721c470e4605b076b3c31ebb3e2604773399fe245aff206fbf4f517a9c9a88508b0c12677d7454fa91b4a105083452cc7a3b46cd2882180067b177e41fc065db59acd62fb2fca2eaa28d3f0982c5695941792581ef92b169b7e83aff5ca7070c162ebeea2547922b3c47ac5525769bac82e88efe48a9d2ea42a4999ec754a2b96242a1ef59fe1c829acd8b92072dd7a51ea64a6ac6291c9cc11dfe8e25d15fb35a308f6772a76e024f1c5052ad6b18c52926a12e6532c3619fcf8f9a658ed2c424a578abd185cec4eef6210274f8aad463b1c945f907b145ba4f242878d5e998a622faa4ae2dcf48d8b0cc59ed238263f5cff41b1175ecad74552735d7c62fb4747a32a19aa277634f1eae68b9c42b013eb37da7f6870628b612351996f62bbdb87b86b6287931ea3e4ea88782676e4f863af723175c198582a9a4f92740d3fbbc4e6b45319357641842e2cb1460873972c175e2a2bb14da3e42cf322d190128ba78307ea60572293d8c71bfea8176d5f8624b6942ce20bfa7c325322b1a617a5d5d8635c7c4362d38c8a5e78f5ffc047ac167525f171f932476c32124285d4c57553376289125ae319161bcf886ded1bf5ae76f1a88bd829fce37ebc914a2a62b9b4f098222e8789d8a4b61bcb749c2346c412aa31ec96460e708855d61e487541a392b50f6088d2e5e2828e2d0bb1a849e858b1a90c95103b5c6be05dd1639b0e62c75ce4055e3273de0b62a95c921ee70ba5fb402cbd3aa9c261e4c1add9f3e5be2bffb0935afac28b5e74b1493facffb86027df84ed22b10f3bf76a4686211fb64bfb90bf7255866f0f5baf33b0e861e7c97327b78f8b9ecbc312a336b9d1176492f1b04eaab891f10b73ca3b6c613cfdc4527944ecb03974941d412fe488d4612b2fe82e90bd3849e9b0842f86ebb397ac82630e5b059f50f9ccee79392c56f51ba5298de938ec3b5dfee0b03e001c9a52ef2ea6b8fa0d5b84d40c17626b6ab51b36ff2f8e8854659b56b761b590cf2eebe1859e9a0d9ba5a94d88d31ab69af982a02a965e5c901a96deaa865c205ea45da46173742eb2a48d528ad1b037c60cbd20aed6bb332c5fd8450fc2c6fa6fd36658d60bbeb830bc42586aba0ceb9a93e43f4dae0b19562fc8f2475df517ff1896bd7417a4c13a88bc18b61c63f12b27d452c2b0f8a47c95a31f99050c9b5998fbba6bc6457f61c990f2c5052136d97961c90591a2313553657817d60f07d1f3215d989c0b9be7379a0cf231ff5b58323ca6858ae3f22eb4b04454b4b5ee220beb360c8bd495ac21050b7ba4b3b816ef2b2c5116bfec51acb09af5af785cb89d741556ab9fd550fbaf9f0aeb5a9c90f13e85cd3c2737232fdacb054b6173e8e0c8518aa9cd51d80b3f536e1b3fcdcc50d8d217654c3ab3d3507ec2928153968388d9073b61936bc6bbd0f5c50f3761879cb193e14cd8d1a517684f86aa97252c27d18b8bae7b7b6255c25e902f6fe3bcd22435099b5576fe4ae6ad5091b0830cd5e4948b2b267a84f2d2533738d408fbc58d5c5ce005139cd222ece50515431bfec927c24e73fb0dce4117a573087ba5c656338620e114c21652bae1791b8d6510d62f4a95723f05c23a7f97f23caa064dfe60d572ce9e498fcb441fac1321999ee83348b0077b747dd13d2e2e4a19411eec0d37c9d6c21deccd85f7505224870975b0855c8f449a1e232f72b0733764e8f9624c8fe0602fdc47ad0cf5251bb9c10efe9cb2bed67c2207b0c19ae605fd8c75f6e871801a2ccedf283844d843c70168b0852e4cd1fab0cbdd6651933528c7859b2cb6981b47dbc6b79dc5620bfe29b9b828977fa1058b2de3bc8f3a5fb1d417eea4ec348eac5cb1579e0335bdf478b5a23d67880dc08ae5c3bf207e71a13e2e7ed800ab602689e32f868755b16514d20b7d1b4ec5367533b5234daa3f2ab6cc055ddc8dfc532c29b7978b57724117a6589cc97c7241a3587229f6c80591ee7f322a91144bad568de4822f46c72896f1982f1eab7e5a14cb73f16aada645863c14db175f4aa126fdc104c532eb4d4f31d32ae4134b1789178ee567c80d4f2c6291ce11bbe8c4968b927971f175c1899d5266e8143f9ea28b4dec153233cf1b5ea3144d6c169511aea2e4f54a2676ccfb1c2917e5c2c84563628bb224695733b9d0bec496bf68e6c2da96d88b56b2aca91e8ca42bb17365fcbd7f8dbc78a6c47acec55c90913fdd054f62fda9c728a585e085b124f6fab3c664722496091f79528c98b021b13feeb4eb9b10777bc4dae555265ff45f64a923b6b3d4255f386925a5117b5386f50f595e61c45e8ccc4c1c3449cc8b58ba2056271746858ca62296a05fcce1858e81e413b1171717352e2c1b11b1e5c317c334f110cbd635ca4576b141888658270171d8e22c865f7e01872d1717c40b2d75c8f11b76947de75cf09fd2b9811a70b180366c5d904f579fc2861dfc8ea30b39fbf95ec35e30d3e77311bbe88b56c336cd6bdf05b950eae6346ccd501976c5314c150dc32ffaf4cafc909337b08033ac69690f221f766958801954fdab862ef8ef4a810029050e700153a0010d7841e10ff80886acb080322ce1f1aa8bbef01c384a86bda0b471e4625227790c7bd165a4cf334fb389619d31270fdd986b2e0c4be78ae427c1b0437d902f5c5c1426635c6e90175653abb88b93fd4d5117f6a2e845f3e95c8c541ee2c2cef4b97d5ed4a8e1d016764cc90592dd85ab11171020252d400b79840564618d58aad1702ef3178f85a58beb8b22f7474ebcb8c25e948b6765451ac4b9586113fb917093bb93d155d8ba186a554285357c1ca57a94ce0d9ec2f6f80561a78b741f4a292c65d1c1bad021cf1c85c5d7519338da6f1442618918e1acc27da1fe4f581d59c6d710df4516e2847d7248f9745c0a7b1356490e75e70b2bfb3198b05cf7a465cc8d552e618b4bea45625f29c44c096ce59584bd28a38a931946daa3d42d00095b4829e5adaf8eb089fa483ced909c9211f649d1bfb838ee742c02391fce5cf8f2ca313de001e3a8120b20023560060b18c2aad7bdcf78f246c80c089040a08210b4e068046c64810508e1a7bdd4f573e1b9050461fde6c2d3c75ff405f5300890463002f680a3c004237080a3c004ef66870500614ba57ea1b451c2ae3fd8512eea02cbcfc515d2a4f860697ce31fc9827369da83f59ba13e44d7f632e3c1f98f6b272b852c090bd8c18e44a52e332ef2828aa70e36fd6206f151655258400e965a09563f5d5ee94b1cec2bb922ced1cf579e6fb06d6c394a16b9287e616a837da42b893cc6e138d505d4602fcc0f1f912812b2001aacced7d8406ffacf4150e04f0816b698c55e78197671d65eeced48882cb67ad0c598f1ae7e51174c482cf682afacfc88352cd609e57c71f727c40879c5dec8644d57e2cf332e5cb14cfca211bdaa7099e656ec17bf281abb8b745523acd82274f6842d56b117e32c4bd9a02a96088d9b0aa74a618b542cf511a9563763255250b18587ce45f9359f626d5c10ebeb247e03554db1feca63d00f2a4dafa5586bd2a7ce17a93338aa010d50810f1634a0012af014a480c96041110092b00529367b7c5d9419961730010a9c03451ea052c416a3589a42c49b9474c67e60c00bd1901bb610c566765db12b69e47f740a5b8462a720921b52be8b1746ae00031ec0001594c04960020a30e0010c70066060020c48c316a020fdc752724ae3e269085b7c628bd8958bf1fe59b8787b62adc92f88f85f29f2e65b74620ba74c4d19d3c8e800019241610b4e6c8f16a6ba38ed4d2c7762937c6b32ccea4080a44ad84213dbd9552c2f9cd14aea6562bda477299a83888e3246842d30b1569717a6469c8cb3f6258e6c61893c1b9a490e13097150ada62f2eba782ad70d0830054950a08213d81695d899e244ac0ce92e5a41d882127b315aa47870a4959e8300290584080fb698c4960b33f30b4ec6d6272f89357d56725532eaf3066e1189ad52460e1b93295bc106b680c45ef8d3997619173c56d7812d1eb117498948b4ae38d172e1882d96844837131a56521ab138aeaeb19028cd3c61c4fe5df01f79fd5ffcd122d69b5c0ca6c131456ce1a22ba5ab542296df9368b1aeef8b4222b00522b66fc8f8f97732be7039c4920b65b22c8d6c88ade274fd332ecad4856b21f6cbfb5f74b95152fc82105b537c90b136f2369d83d80bbbc821aacf5ac8050a62d97d86157679723103b708c49291fa25a7189a9791123820f642b15cf5857f96e68bffc39272a57cd1549d832fde0f9b83d8d55d4c7f8fbaf83eac5e90ea93ab5138493f1fb6900c3979cfb3fff17bd892fc599cc7892fd25e0f9be5428fea2f5a53c73e0f3b30f33fcbc8ba205c8f87454abf2e36d8f17dfe0edb838ee4545a99fbb7c31616173ff7afc3aa8e8b2c245d4bbf3e1df6f922793cb1704e7d0e6b4953e3e274f48f2b7258f21b76f179f16afa1d877d2fbcb652174f3a1a0e8be68dc3dcd3352ef80d8b33c6738dbf2062c96e587aaff1c29df74ab40d7ba3b59b24dbd0be64c312d2bc28f21723090bae61f30631bdc0bc382b856a58626c850c5443c5c23410327344f535d0b037777e41d0736495336c91237679ade59acb0c7bdcad73318ebc0c7b5fe67ee010197688a8d2c520fd57657c0c3ba44acbf922f3efe2c5b0f8458c9ac6cb455118b68b1bb736e9d7cf0518d6bfe8f1c2ac1892d22facbe931ac40e0bf902bdb057ad3a45baf4988b2eec1542148ba975de8e0bdb7d8d1739a9177e3eb6b0a63f8614bd419f2e2d2cff8595bc39fce99285bd182f8a488677119c0b2c2cda242962c46a5cd85f6175ecdacba07ec76285ad33821795e655d881548ecad045a1c27e8d9a36fc8b292c8e27cf3457d0c8b714767096b70b520347968cc2321b5a5d68e1d00b86c2fa052b29466e2ef822c91396e495a3a1e3dbbead38616b5c8da6fc0b9ec4262c975f0c9e7ac16363c25e8ce23ca6cc7fe5fc12f6a72f88d988dc5c09cba7dd3c2eda93b0c448b26dac91b0458486c630e2d7d223ac36d131beb411abd4084bc64665712b17840c1661f3ed02f302eb88b05f482ac10b320a7f0f618b1d130f332284ad7224f22ad241d88b415db8eade9fd51a083b17e45d17857fb0a445ed9eb0d37b900ff627c912990b7b11750fd6fe229b9ef40521f2691e6c6329aa84f7179ff83bd8a19ff3df9d1738c475b0d5496ae348d87e780e36ff862851dd50930b1c2ca70eab1a1737d8a155a839fdfd2e0adb605989f8c25c6bb0476dc3181d790b1aec4529173706717f9a139ec5e245fd219232592cf1851d52c98b721725165bde8bead10cc2dec3b058be68e7a6f3d7b7f1afd81a32e5878ed28bf217ae5892995ef7d8da8a1d454ee61499153bb294fddec9b111af6249a9932653275f64aa62e935bf0ad210cf05a6627d5429532eb40c771e2a16079f315e1cd50c42f4144bc8d5645fb40f933435c526de5da1bb6244afb4144b8a5c106efdfa82534a8abde8267d714ad864a674143bbe5c70179541b818a928f6bf8693a1318717431a8a7d2dc2499f26633a0a8ae51f23f25c86d5bc7f6279e6ad669e4b15724fec184884f3c2eec24bb9e8c48ed275a7d691ec8b4e4e6c8f8b9ff944cd4d2c5fe8345e7439ac2c979ad8b3d6669249aa174932134b56ca5da9bab82824496262ddcedb9a98e9f790bcc47add8f725735c52f465a62ed82cd8759b918e2a4acc4966fa5cc261b54c629718166e462124b66e5ca20733b6649ac5539bae87f2f44ae44624b6ad169d442031b12eb37b0d2e8edd5b21fb194832e8a20d1850d4c472c29549fd74fef4cd888254d173653633062679c8fecc2c722b6dd7c98ea22ab309b2276e6eae26214172662e708af5c904a3217588888fdf60b67ef273cc4fef3773a5ef86b296d882523f9cae520a5097621f69cb2bf2fb0bcba2921d68df4edf52ecd2f72109ba744faf8aff03805b1a4ebe8824ebd9ef502b1aaaaced6c47e301920f6c2f4c28a96e97238f587352edee5222f2ea8ca203f6c5d600dcbd2abf1dc87fd465273d1e3ce872d79e1176c8a845834b787ed2ee4bcfb891e16b1e045f951b294cc2779d8276a723de4f1b0ce389e8c525f1c217e877df7ce6b1d4d668cdb610779b7eb5125e551eab05ccae945d6b4132d4c87b50b9eb644faab2c9ec3961c3fad42438544e5b09854c8f12d2bcd330ecb836bfeee47aa65c2616f8c0bd237f85f2f0abe612be92f8c7f5c5b27ba61b324323f7d55293dd2866534f2d68b26929547d8b0e48bf44ebbe4b80b236bd8d2175f7356aa491746d4b098c9f4c4c6918d8ba461a7dd27993c52f2c51034acf5750f76ca8b7138e40cabe7af7ea5bec8186f861dc4d893ef22d12fe8a20c5bcd3588cd5c5473f720c38eaf8b2be3b232fa821530863c54229f52154377f142cee7340c4b17348c07215daa300718760c51bda07e2f98975f58baf022a5832e082f12bdb07a31cdc428d949d36717d62f2e8ef42056ac5c1f1796f16d8818154ee2640bfb7477a1cc6f430babfaa35c8c61755569230b3bfae25d078f2137c40616b6ee927c58675c61093b0e2227bdb7f2565874c741e6fe910bf92a6c923b22e29c7ac44e851d3fa62ecbd818e7296c0db1729377bd50bd90c2ea918bb61afbc19f1751d8a63c6e9ace0be65128ac910b2f77c724c9e87cc20e4d27efad75651c3a612f8897726b2fe73eae09db3c362eba8ae25d9b3161c70d799a6ef5c246b6846da6eb56aaaab3bc50c276d7989f4e9aa1bc48c2968b9236655c5cfc9c2912f65fdfabf08c33333dc296acaf7bad222f9d46d83b36c3fc2717d78845d8a90b246845c64a0d12616fb8c6cffb86b017349c30a25da03239212c160e5ef815524158757e267dc8ac47a480b0f7c7598a4ada32ad7eb03a9ec63dfb940fd690c963e1e1e9e4a2075b936d380893f23cd854bef8ce3cc7327a075ba499747ea18beb721d6ca90be2b67137395e28074b3c69a8e9a20ddf2e12078b83c78ea6d4702ae506cb58c5e5a238a292661b2ce2e81397ab7a790d969023880aa0c116cf8b728546616915cd62bd9d48edcc07a132248b1df6c472813974441e8bbd20c3562315b9f0342c16ef8aa2a68f572c39fbb49c8bc7b9e074c59239a732f333659456acda2917f7980f2a38acd842235c72aa9c3fc155f0936aeb8bca2aaa5872a18510424a6b7edca4623f91a96d0e155b06e2489a226517dfe4143b8aadd8d320a658fa3236c3de63c68f52ac11bdb8e08b8b3248b1874f0ad5ae7dd8d7287a1e91b031d3402001a2d8a2a47431b809fa5d84629591fdf5918b9406c59aded850bad0c1489fd8e31f650cc3f792f39ed8e2048d985da496729dd81bdc7de5c63f019cd822edf2173ebe89ad6a75241736d578a189b5a32a4555179f804cec0fde30d340ca2fe5138089e5b3fa0be551b2b8964fc0252ef242bf2f988c62891df8c55c175f70a4954a6c1b3511212642a642893522a5996ad80dfd49ac29b3dbdf21335eb424f650938b0f1dbfa88b8ec4f217b4f2ff3786694362c9c7dcbbdb2376c6c64521e5867a9523f689148f91d18c3edd88352d44622f43460b23d6c820178378c3ee8217b143892e487e5de8850f45ec7862ca830c27620f09d10c7245c492742a424afba2486a886ca8142583828161412141e18021a14000e0005dcd0363190808c9921c464114ca7adb0314800146140a14120e0a0c0c08080a0a080606060606040006060406060002180010001818001020af466883033afdb4914dc058c1abb5e7f35c477fbc13711e0205557a69bd9f1dec586e36f813a3ce5122bff576ca4abf33e6501645e984ceab0c709da957649a9b320b2f55d8a4f7bd73f66c0ca16f8230dad0dae84860023baf1b089f025c59d39b73ed5785a1e7eba6d984f71d7e76b43f3b41ccebfe781f1c5d59ae5821bee955d49e0b8d47a16210e52585375a6eaede5dd75671b8156305543aaafeb01830d3a67366d4d0a7e3802e5295d100a5cf3fdf0ca688c4a5eceabdd2911a480658d53088188546e28fb3d61297cdfe35a8ddda59d4ad7ebdecb826df99b09cd8eaa70664ff8126cb095f63c70b30f92772edf343ae22806312b1cdd3afb590114e349933d284cda9b7a12544393da5821863e8e1c1019a3c8d9c65c43d8289ab2283c00b3a65693837c6aeb1550a33b284646d624df4701c016e9bfd760636e235de4b65180be6b59df520e60bee29ddf13c9919172b6e2f36e4b5f5ab343d0dfa6db6e057a2b6e4bbb629ec3df4eeb5de32011fee51973fcf5f4acea3d01ab2b25deef5bd05a473619606c5dd052a301333b562a2f6a5008677f3044a8d900535e8ce441207866787fd534d532a48b37656e643843a3f67ee297e6075de324c5ce859d69692870e909acda7bd4c3e40385e006c85578012010d42402f81c3a0410d0aa3a6507aa0be34345290a340ead62895c08bc3b75dcba2ccf300a69e69481fc1f57f71d4936e444221ae89b8143dd628517ad29f56b6a03f8f13cacf2385f6b41dccb9705a194a0e2e975915148ba4bcff8f130436ebef024f0c9206c0e39db1d72811eb8a7c2b62481629b8a27837538892590141c118e00623254ac7eb07118a1181b50c95b205d7e499898e923dc77e8d417efb53db6795436429f444c061aadccf508be07c5c853cd8472827bc121438530a22dfdd836a9935bb2a6e8bab942fc6a79162b573aa860f595b2f039143192749b84b421302a7422f09ab1a596671916532eb5f8c1cb701db63761ef4db9e06df926817d9c1b217af1eca693e4f746a50c9f5f2d275d2ef2703fc448596df2230f18c8d2ddba03c3a88dc035f3c7a75cac6e1af1a7e03526165177241a54be34f6feb53c4bc3b50fda36956545e889fce1afac320b89e659226fa1bfc7f2af1fca79d6d5a500ca1c3e6f1dec6f8f4169af1e683cc67ec94e94df442b2b052f89dff08ef849c069d8af48349e34e4a672da8bc163ab2620d9f16287fb426368330fe3840b9f02f83558b01a2193a32e84b0294f72a4e78b8d68b952661fca24fa012292a85449e47c75756b407f081ea2295cf6d7475c6b41adc46b73c51e9862bb5530ab67a06308d00952a740ebfb336766a2c7b72b10b4f94b7033f13fcf1c0def03bb3d08f5d1218e454c188ea784f626a09480596c59291652174fb4f8dfe8fe244dc19ccffb667a015b115e78248c544cb86ff0687ce91ebb928f6cd5937c3a72756145f3dcaf5d20dd2185130a00d7254d543b691ed7899820c6868c2bd0e0bd74067d3998a32f5f43e33abf5c06623c4881b0f097da438057071ff36a6982c9bcdbaadd7d77abb2e2af5cab3d06aeb6df0322e1de58961a884a8fd61ff5a5eebda774a6359756166dd1033a8de60f39432d24de68804769b3bdf8e8b55eda0a2f2bdd8599c11e3aba279ed49f769efb765b54ad88a613a51ac3ac48c889e1fc8712bcf6d90c5c0807089015352596b5524b3b6ecbaad8c2772eebce15da6b679b9129b3258498e8f7098259c7b49ada400975bf22d63f9822f38931b67d7a98a755fdaa6c5840366248aa8d1fcbe4a35c3255950894b88880a25524454a6a4026cc4fdbc5e489d53f7d5ce620d518676d2238cd38a90b487e31dd24afe5690d911d36892c3f2a892ebb55959d7fdae1144579e493d15bccd8a693eabeab1a231c9720569906db56db69d6dbb2caa8f180f097db468b69a960a7bb6e03a4295b50270aaeee351b3fbdad41aa1de1341d66810e3c6f33651df787a7ebfebbd9dbd5b2da8c4e7b76dbdae6ea05b81443b9db7b9ebfd14963b1c877098dde0fb863148bc5b83bd9410b25da7c58c90452fe603af65ae50b2dbaf85fbb8fa120b0d3693d5caf02ccc038c022b69ac90d65a59c2ca0ffa355d1c6ca544a720ae73cb045985cd7dc67aaae0e598b8c20a12cdec00a944f9451a5cee4b0e476b562a411fb79a8f0e3a67279ce6fdb2254fe7cb6b3db3a81744ca8a421251718db85016ecc35d995eb89c375d2bcf30c9decb1ceefb7a39ba061482a4901d96bd4c2fae2bb16159d5c923a783d5767015c041161a82adfcce78a01248cb8c12934373cc9e1bb2f08aa7408e64a382dd2894648c31b7187665dfe619734c5275b85c97e3f1de6ed7e1543033ccecaafbe562cf4d8b94522de11ccb66d6b10b6ea0d20cf24b25f6137974809171328b10438c4a8d42b097de07d2b6aa78049263dec755a93ce7b91a2ff7e9f8c90f45c227489f6eee6141273fb587d3f9e8dd991f323eb5c473d3025159cc005ea603479d9f35db0d5993202608e2a892008ca5771b1c42260fcb6346f41156c10bc65afd720df8789cae53df3ed01b98a6aa24bda39ee29e92ca4182433c23e192c7c5961cef86add3403566c304cae1b63c41cc0edbe3c790bfda582c468691a75e3736ad35e5186284c2c03ed40b0ec8ca98d052b169fa133ca85565563678324160a2a432726380200fbf6746eb4d58976713150a41931b4ed9383548ed33415c23621e1e89f099bb19c730a2f93c3bd5dba5e25f2a988a21044a9d089d37794a6fbbeff2c859932561bf467bbb98d9eb7dd953c7fb7edd0c04e2981d7d723eae33f60853b4216219459567772d10504ec14365a9a935093e415307c713320b0b13e42f7ed17e53d9e7f770204b25fa7f3cfbf0902ac7317c55142d67e36824c94660290bc764cc76cfa6b82d97cad8f1ff3c15b3bb8581668ff2e0f0727a5c441eff0e7a57b7649ce5560a2f1302979b8906f2924ab1795a16417d4a4b1c5a72f4c30a0895ade9bc98489ca86452e63420102c791b26a28b08623d37b8b19c520a46a52c1936bd6b31377b30d2fbeda2dcfce138ce8f206b5565dcad31b9e37a79af95842c04f336cfee874566f6d925dae7dbbda4ac152fb899edb267f7db74e928c06119cb399c9d07c161ab887b8da93da512ee99b198daa1129e2a927b7359061579043e6c05d692a1c92469f4a0e3f84e162c3c4e41458c6046385b6b0b85ab5fd7fb71d138338fab5f791d8ed7a909b255ea6458d0ac291165daa29d4a3daddbe270f4617c08e2effde676ae1f960ca6d9f69fa797733f1cc709be797e68f2a5dd8dfceb789eb723cc14694ed5ba9d6794932354afe3eee809617c22afe3f1badda8da63a84c4ff278be8fc7c5793a8eebf9ba5daff774e4ce7640dce5781312cbae66e4c20810aac9f06b74adad39aae2183a39b872ece38a3114cb2c796dbb34b28b1465968b63ac522144ab5a59b6205acd9947c9ebc7753aceb7f7b864f4aa6861cc7d73309323c97da8397a8eaeeb4162660d2787f4c18ce61916f9eb09a4efb6c39a62c9bf07fb999134f5f72b881cb1a0a5e753a6e64d712ef5889f38e87ceea881a3f3663811393951787eb88f42732fe77dcdb5aab9d995d3751ccc08fc68082f4b8bb63e802e39821e420ae1b27cf8ba0f97eb3d3b1dc7e97e5e2fd7f53a60ba2c0762f274bc8efbf1741faed3795f5eae93a33f1a0ae0a79373b95e598c051c41facbd342665fe7f9785e27f7e98286b2766f9e4feeeb9009f1b4c4a832ddcc3af8bb120c24927c1cb6ce96a52e71b6f92adeb18389790791dbf63e788f470b2f3d0e274b0d7e5cbdf436effb997466aaa62b99fb7dbabe9920d30b3aff6ca1b8e47131e2115b007af158a1518f46355389857125c3cd6c6baf1fe2721c96244686f38bc4ade55a9b0242a71611991b7650f1d8dd9d94952e455cb3a34b8d3e35b57e1f6fc7e974cef733f4419c3483fe5d4ff7e37e1eafd3f5c80242b6a57a50149eb370f038906b26a00b6bd2c62da8d018820ec86a7d9e4fe71112eaa8295224261eeffbec705c994a4f967041f4a7aa70dc92d2496ce6061d56c3e3997739b7d847d3fb46085f331f50d9b68ca729a97472849d880fe24f32bf334205bf2a86de490546d1a682dc7c72a6b10f12f258041b0af96644b68edde0ce1c168824134342edf1c347f1dc219377e845bc5617ca3e6dae8fa820e4cd1deb723473b8ce371b8322494c8b94b6b46c8d8da46fd6b4de389ed7e1e0f882d17bf3364fa81269a54f4a49417189fe54e9efb81df7f5eebe4ea77bbfbc8ef3e1b8b9cff3f91cef8ef77ebb8e53514b76dbbd15a1f189abb0805c6c14ed29083981e0f970ef2f3746839877152b4b471e31459ab474691190daea3f7a924fd279ba5fd7e9e11cb78298920efd747d3a8ef628793cded3858961302c9e76c4ad558df1995ee77bb83e496beda7152e3a1cf7f3e962c5bcc686aa9cafa7f3709cefd7e9741ce7fbf1baddb7e3703c5fefe97cbacff7e1ba5c6ef7713062b1e4e9e804a57c4e8a9c4ef7743a6e4f22157df0e148bb712c0c3c8d6f6842117ca52f0b168312ffa4e27104f58cca0ae340a2f90d9ebf7d1cfb97c4f7f54c7df0a3ed5c7ac2a3dccdc493aee36dc5444e47d3271b894220380a4746b2b7154750d0d9654a9eb783f59511bb57718613b47df822b2eefd7cb3add50b1d890f365971c80d955a09a69606d1fdaaec4a81e94b31102f404bbbffcebf018204ff257b06e5032e1a20ba07e619470998fe817e1e5b1d5c15c3647650cc948cd9df5f81e7310900f038cb4e420bd03c48233ae1d6495784d6d4582284d664a5bc3107d5e9e11a83a65b1aae68ba40e39aa64b1a2ed2704de38e862b9aeed3704b83ee6864b2dbb543473d3ec17b05238b93814579b6999184d6da165536b6db3e0166d568162f54b89725e8f4c75ed426e214ce88d9103c9c157c0ed3da9de5b2d660ab8831372f4b9732cbc92b56b3a5a93bd7602625be518f945cd2bdd20b409f110b378ec55798581f0a5d2cf7616f5a19e1365a27aa542eecd1b98e4dc1a38519cdb3758453447ab19062eda8485579e0a07cc3faa041fb490ae0c9fe66e33819907b54edeb0fc61f784a4b401449798743acfe4f05927af7f905bcb2bb678661de43dd120f332df30aac71403a405026378479e99019a1642aa566096abcd78e57d0ebd40cccd7d0a0442f1b543c33081dcd1fde83a8fc1715595e2db3822bea3bdb969aa58a5115af7c65a57a82e0b766e80ee0212b98ed5b2b83c645f9d24780c2f624f0b2c74344913bd5cb4331a3ebdb5f4b5e81d8e14b183bdc529f8e71ea9814fb0f4c7a6a22afa86627883625d8db9ede7a64309947560c065f1e97ba986b6723a6c1e3b25c55c1f8ba5e29cba5191535dd0229ce63756fce14f60003268464fcfc7365a2dc09f4dd33ae8c6749e40dc5168e9b82237dca0ea89b7f3243259d4bf2eae1cb413473fc2d7c0f5821a46cc03ca0ac01c74411588636f42a8883fe56d167760730ce58f8c9f2c22c79bb9375f53995c10a0ff3932ca04126c30292a03c5975a6b15dc6f248d68bf6d11c72cc342578ba40a986479885a2a4d55801c61cc9320d735f1eb243f01b06acceb1c604de83b62daeb8f679a71250995a2ff55b2afa34fb274bbb8579bb2c9becf7452a101f824053618eef5642cea3176be19a764bb36b226aaf3bd2ada8eff74b853a3fa05ee725aea7973358d1015cd507766f6b400105769c51b9f2ebcc9d16e0c5051b926250a44c10b94dea6920e1cb9cae4bf4008f1cb4da15b777860d07e53f8b84d2af2b6fe0ea5b56d72c7df4426cf3450cffb74579adaf2e77dfbaa2ab23f20613ec65e2ff945e6810a51c009744de2f2b148a4ec6fdb113402d7832265966868bb157f64d7b4053d4db4e34df76dd1eb89b6ee2135dc8c638ee2e45f14dfe375edb15b005e24a9f6ad27fe3150b504ff83d68b4f604437be896a61450c8230b8717cde0fb7893fb07353d58d5f18667ee718780acf96def21c6c37032b87c70e3c971630ed0da14a72f1d2fd79fdb2b030f752a39c71ef0fc97ca4a14a310da56a73f2f577cfb01eaee039d2b70b61a0730c30c33cc30c30c737056c3b477d1d38468588ec3a6a4245941477240b2b6ef772447728405089809050a230a66e5c0a8774fca8f3c39db38b0399d23a3ab706024f27dd61491c2d4373079d3d88858d0a0a71b7868697b1c05bd0d5ce32412a262e6f8a1b3818db934b8c36b0decc56c8fb3a2ede4a506c61fc660e250736ac9d3c0de87e454bf21d8060d5cce8d25a40329899f817be895e2a7bf0960062644beecee38c6cf394d8032b0d925d648a81422779a0064603de50cdaa6dec0374d8031f0b83ebd75fe76f198268018f874e59ef7fd954fd30408031fbd9729c9925e08290280819176d38cb1849cf30526e734a96f2c4d002f8c6270f74f0bfe8d710c01bac0a58c1e5bc81a17b8eada8a31df69477b0b4cce9cd46370b5c08fe51cc9d2287daa59e02c8ba9648c61de120bdcdd7b5cfb8feddf1578b794dce84bcf0aadc0a4b87162e72029115681d7a029f6ea5f6bc651818d21efd77aa3a7c0b5d785e747ed49a3a5c0c4ac0d8d24751478c7a7eed3fb15456a28f0a15ca299e4dbdd3c81f7e8c828bd7ec5fa9dc06a0cb617ef4c1cf44d60827f475acf6102db1995ea7e5284ec2c814bab8eff2245097cc508a1615a4c7193042e67d6acdf38a5543a12f8dedadcd7499e257d04265e7273fb100218817b957e0bb951853c214011b8e05ea5e731545b080188c0c78ebed66de61eb2840043e0e277dc8651195b44090184c0a6b0b10ff6d96150090182c047ee46acbf9eaa90100008fc45c8d0164b22dd1102fc80b71c396f4e1fa34f4708e0032e53061abfa4f35f23bde053cef418e68a9aa6115ef0a0d3ea82c38d251ad9058f36668c9a3374c1b9c4907aa37d4eed20b9e0426654293c53e3e820b86032d51d4557ecd029720b26a747f9c4bf37638ad8820bed19eb5f7cb34a915af03166e869a5bc172f420b7e753308c94e15bb22b360d5344ede58797d4464c17aea8c9c375e5122120b5e3da3c94fa1feb287056f95724d8725b7d47905ef9113d2e5e571c9b8820d222addd2d66929ade0cd634a0eed1d52c659c17edcfa180e3c6314b20a1ee947d28f8cf9e3ab0a1eeeb9a7128d7ae8a682d18aa88f8eac36aea8606a52dacdf7145ca4943e79722335d5148c4acad1b2a5b2fab314fc65c6182bc72a5b48c17ec6a129a6d6f1288e8287d124d8c6bc0c9d28b8ac19833bfed1695c28f87e1cdd45f23ceb060afefc8267893b2c7b7c827f8db621b6e509ae927f5e47d37682ad142d39366939c1a5a7ebb4d5b13a47bb09f62642fe1a892bc9d7048ff23de6f5904cb051473b7f24ddc76082071292378ad234b17209b67dbbf3381e8d114b30295b5a686cd41bf54af0f8737567db509353828fba4ad5b131bcc9284c80031220831724c00109684109812406300926d8e634f6111d8024f89246b1c675f45144071009de6c23829758c369750090e0a441a75ffb1c1caf3a804770671e53e4500f7ba36528188023b8903906f790f618a6116c68889cd6c83ada8ce027a64f84eaab4fe622788c33df34e2546aa9083e63b10c2c9489e061c40bd12fe7a80f2282f7c9703f9b756ec60ed179b6cad08c570e0cc0107c488c6c749b1682db5cb12be77b109b94107c0ed1a2afe468544907c1fad4a7e572cf295d1a3d300041b0219df59763050308049f2b4f4e9feb2a1800207898ad7b8e4523e3fc1fb87cff91fd73e896de0ffc05c75231c7cd4173fac0545a944e9b257762f8c06bdacb1d425eafacd903f796c636478a1e989634a6212f72de79e06adf43572c758ce081c911ed2f7663b1cbefc0d9f8fe6e254be9b0035f21c30ccd4f535b5d07c61a46c8183a3091abe725d13930c1d791a53be5c005b5add78f6b65651cd808c97053ceccf8413870f173e8b4a13e86e5dec0d94d0aad981bb869effea99c9f41ac0d4c0c619a6d21a95ed8c096692453c7b9f71d6b6082c6475953861a78dd189e23f4a38c9206b6e16fbed829349c6a2aba4f55aa1047816619067006567fab6ad2c58c3703a713e9587dca32b09debee2f2103ef38f923c94c15337e0c4ccc51daf2599f7f8e18b8a4d6ba0e13063ea47bafa580810dd5c9527be491962ff0eb39a27a8639b96f2f3096b23d8ec991e598ee023fdefb3f6eea1e6b2e30e95d3fab7ddcf8932d30e96158567e10bf8916f81842ab4f46b2c06aff7aca917a532d16384d395dda777c8dd52b70feedf522d1fe45b5029f3232ff498f6131ad0227261ec4eda3819e5460521d9e797ab1d6710a4c4efa791d6e86a9224a81fb5bcd5924a7b8f76114b8c722f9215dcc310fa1c077b2da0cccf104bef1e5bcbc6a11730a9dc0368a346d9c528e8c6f02e3fa51f7cf3b4485097c7ae9109d3859f225b05d39b964eb2881cd9971d4c71a537e26094c4e491b4bfeea182d04055a275f0081535c704c0a6cc01850800214a0800a24c00109c840021c90800d24c0013490c10b607036a000058c0b8ca0040178c40090c049887fa4a61c810f3b8b11b818fdb941ba2c478ac0e6cae8921ea38deb442805c460004320c10084c07e5bb0cd50a28f36b2050308021b5ca2e665c347290d04d61ba39b4a9201fc80c7b8b264245d0d7364003e60528e5ceec8d22bdd0b36b367941fa60fc7f282cd4631447b648c82ba0bfe339e2e4def923cd5059b6bcd2ea478697232174c74589144934ba813178cfec6930ed5fa18780bc693a3ec8ec25374670bc6da2c27d44483de6ac168f07415913967c968c17664aa89bf79523e0b7e32c5cc951132d3210b36279565742316dc4f86469f838fc50b165a5bb008ffd0bd824b954b75c52db648e70a7e55a3532cba56b0b9518e1552b08739ac601b7ee76f47b53c59059754db2e525570a5d516ca27320e7d2a58ed64e118e4a0829188d0ed9139059bd5df59d61625534cc165aaac2b47927e2ca560d4ffc32cc449c1eba3a9b04eeff49351b0317247c8f0518cfc8a82cfff105924c757cf37090537d1382464cfc9eb05052b6d192485e9e4b69f60731b9baee3cf31273dc16fea87eb791b5a4da45900832303ade10001748275fb1011e130ab4e3d839641c38070825fddad1c37fd613c37c1aa9edd85642e7da62638c93ce6a872abe56482b7f820eb444535444c7013728edf17372c8697e0ea1fef67b4864ea1258c17539ce8da5582739843c7f6c6b98fa3042349ff1f5ec5a4aa4d826d4f2d8bf73049f08dd4d265b861f92e8b04f7e29d72c7db60191924b888bee7ed207b04e7a5d253317afbe51dc15a5665e8a85de2f48d60bfb1f79874f4907118c1b9fe54c6e962b46716c19be455d61c34796414c1eb45673df4c9d12f89e01b6ae5f73e95aa1c119cc4c938ff41593ff610acf5eb64dfb7f7690dc18374fe9daf1682ad1a3df3f1ace94542b022961bbb6e83e034ba410ea90982c9da8a51eb6268b002c138ba6877b163cc2c20f8917899472a8904ffc0498af7d9310e0b1a0d3f70ee76d943ea8cf3d9071608800f5c5e77cca37da1402b76872fa2c07f6a03c720b2270f8e732030a0c0f54dce6c7f41257afc145f3c810bf539cff1853fbabc01a0135f38819d16dfc699eb23e614b4457cd1043ec433e88378bd3a6a0d3c0532a0415720105f3081cdebeb9db725ca22d8588cf862097cfc4eeb97bacfefcf79e20b25b07d51bf835d6bc859568002c61749606d7a5bfd258690e94329832f90c0e494b24ac37ce8389723025f1c81c79b5a524952099ee6991fbe30020fd3681a4b9e313e7c51046efb2b8b45f27c673bd6e10b2230d5d062ec24b1f2cb1d02973549d4544f1a5b331860fa4820011da84002461cbe10029ff96363875144334ae40d5f0481320f15727218e21abe00021733141d47999aeec5347cf1032e7afda7d0f0850fd88f13ed2d4e3f9e6870e0035e28402f380fc9f8a2a5d03863b60309e8400514a0001ab8e0b480ea50005eb0b14e6c353d8a416fdd059b9e34874a8ffa7ffb39109800210aa00bb6246547c760c91c580b28402e380dc12bee55eb497e12e000e3821a4040010aa812940bfa052c303778810c0a51450170c1c3edddf3abf893de5bb0f9f99d2db820ed1162ceb1c36cabc529f7a4612671fc28238202d0822da90c424e9e225bf4675134899763c69b2cd8cadf9172d527dd90890577d9d29758b5a7681d16ecd4e63839bfe4156c46ebdb5c57ba82e9c98c1b6a8ece29c35a31ecc63ee9d0a36b4c59618da56c69f3d7c7ac82cbf8a71e49cb77cac1055085a7214f83904dfb5c920a7e82b8390ed7ceff20a8b073ae74600900160a700a7663fa9032da743f905582da5d14c014bc6bd6668c42fa73284bc15a6846d3db8d14ec7afa999b3dca86f728aeceb95d15cb6dc3e440021c9000191c6f410d2e50825a51f0b1b63465e75d9b9aa1e05c6394034f9148d90505933e49744d4bc942013ec1e3f3ccb04369f5e54a0605f08429a3aa7ea6a0bad102748237bdc758b27238c1c41ce631a3bc49fdd926989c430c359532766634c1e7d8bbd5e7796270a4100a9009f6253d0a312dc727252608ddb7cf7613b9042bc173585e56c63183108d2014c012fc36d69286490ac00f0a500936a7d4dde67bfd380c25185dcdc996530aaa67d15b146012dc7830d310db2dc7c89104bbd7c936b9e44ffac8043820010e48402d0a1009beed317aecc8538215a4a0022770410a6440030e140012ac84c8b429efd2df74660254f908ee3e86c86b2199800e5480d2500047b0d2702fe49c2f645eae115c744bc1727587117c4a5ef92534661107fd90d956430f8b022882e9cd97b3dccfaa64440112c188a7accdbef459413256500044f029d84faa34ae860a0a700876a24b750acbe5e04a010cc17b5559f668661e7f2d4021f895389d93a77d6a3728d082c1a1c10c4a5003abf1811774a03e90031d7405760c1b0c4208ee6fd7914b4f49e64f0383b0352d3fb20925661740108cf7e5850c32f0690c83430102c15f9965750d21e7e86a0e050004e7fbf5501cf6fa6de71a51803fb07b59e3bd979a65296b8528801fd8dc971aee5faaa9a46628401fb80c6279afdacd00076d01034401f8c0a4e81c72f227f35acc0412e0001c7828c01e98984b452b64cba871860b05d00367d3e826d446bf2ec401440e05c803eba6f5763ae11a0a8007be5a2de510b261ffd86a28c01db8ecee17336204c9d1c9001a0a6007369f566688e9a3393d7560b37514cf15092a294e07d62ba55a65baadbcfa1c7873b7a9deaf60167239f01a9d4b35fa8e03f739c458e29fe96fb370e07235331c7ff8a0c67d0317abf777d2e5128ba51b7898fa3df87e9cbe68a3404b0634804101dac085be94713567959e0d4c6b43cdf1d76b23886be0cb539206ed92297ad4c0b447b54baeacc7e2a581f5d7608eaa77435e0d0dfcfde6a7455a7e78ea0c8c7896b40f7248218f66e03c32ac74e5d0fe7184022d4d400722908016b40c20a00005b0a0f3508032707919f986bd057394e0780a645066701ea00005e0d95601c8c038309d94be632928c018f89e8c9433c61d055a5909e8400412d0810a94510e48001d16c0a0061d4840062a90801503fbe218a746261a2f3528810b5eb02ec0c07ee0051d380a50409e1f0a10062e45ba102fbf67d43e18586fcb4c91fa2f701152640adef0337abcc0c32809620def026f97f184dec753c7e102973a2787d9f134f9660b7cfacd315569f487192df0b70dcd428ce23159b2c077dc9c2fc31c0b4c8dc568786731a2e40a9cda8ac388da55fd5a81f5dedd3eb1fcf26c15d890ac91e3be78a4970adcba68449a66bb51a7c056ccdf119ee2c1932f05ee4ae37eba3f8e5c7e14989c487ab5e252397c287041373ce4ed9ec06d727590a19f163427f0e29a44355d4f45471378cd96b307cb18f9534ce0252ce4ceeb13824fbf04d652a39033cceb9abc12b8efe8f61836dd3827093cacf29d68e540fc82042635a29e66fc089c555093d05ebbb51b818be99562463927e98bc0669437956dcaf7204d04767d42526707d9223d04f62fa2de670881efb6f618997246a10e027f196a48218845ca2040e0433e890e72dd5bcc0fd8ff548e41f614c007dca747fd391ad33c797ac1c6ba94fbcb5fbacac30b46cb35643e8f37fd9d5db0197bb4a589e9828d9dd12734c2b167b9604d3c35e58939a3335c70d5a96f7f93f7c38c5b70b9a3b5dae3cd691ab660abb287dde510dfab5af0e86aba22b80689152d7898962b925fcefca1330bf62e4df66a4ecf361d5930ae379a51875647d389059bd103b75892df310f0b2e3afe742869ffee7f05679ba721e1c132feb882b19cff49cb7673655ac1d56975eaeb4b231956b08d937be4f3a81fb30a6e33f2585329aa60cf272b048f3adf4b2ad83cd2fd48225f4e8a410527162b9674780ace618c259a37c5763705e729cc3e42c612692f0517bf5b25448fed3b2105935c47e2a535f09c8c82c9c83d65c3a07e41220a5673eff1e66a8c8e0d05a76e1fae71a3e69004055bdbf1249d57df99e613ac8e3a4a973657e7a0f1048feb565f827b470a9a4ef016b97314c7baeea2e104636119493eb4f878339b6032ec7c92e32cd11946136c7e5cd38e942b9ec364820d5219d62e11a12e8309ceaf7f638c1d196f642ec1a9c7709433644d91b7048f2396dda75482d7147206f9926d5c4a70a1313d8a9827d59804df298f7ab8bf9e7524c1e3c7b6aa93121e9d48f0c9eed1896d83e41548b06912ba1c9dfd4afa11bca5461275fccdde760413638a9e9836de27492338711442861c6104a3a31bf3d3e1ad66115c8814cf5357453016ccb3faa18960b25ad6e67e90c34644f0d1bc376b8d87e0dde269a8c79caa4443f01195ee3246611b6121b83f97c8da8ceedf1542f0b12d4b7874105c749de80df9bfe2250876baec438ad2916115082e5ee30b295fb2e9a900828712e1a8aca2634ee50f9c586a7d2c669f513ff01ac2925decfbc0f7a547b2bddc643d1f089eedd903df5922c77bf561500f9c3f94d8979a8289260f5c06122551ebf572060f4ce4955865d29224730736a5cd50390d77736e071e542ebdcf38af4b5e07ae279fdb63dff87ed3810fa919496df2964de6c0e609c9889b95d16ffd7e48153f26f0702c277bcb77fd3966097c8ce7206872242972aa043e4bea5ca4a64ba74a02bfe3fa0d62e80048e0f359746394393dea0e7004f6aac33a62c318a1ba086c0afede5de620021f936674b1b2c774da0e818716f732757a9b8428047eaa519e0e9ef5deb520f050c2b63cc6fd7c41050217abe1a5aa746ebefb0ff897982ffb67f5003ee071b78b59ea742f18ffe8e87fc4f1f9eabce0a306cb70683903df71177cccd8dcb553046b1b75c1dd85a87b16b9e183502e98f2f090da485cb0b13e87c78cced972ce2d98b6ca5d79676d2e912d5891a0dd38e351d518520b2e627feacd6c8c35b2b4603433f0fa8d3a8b9e9b0523e97bee130e5970bdbd7f1e2ca6a6542cf8dea49da3f4955e99b0e0422b6b483de9183b5ec1a4e6270d79c32d831c57300db3a4d318fa56301d4a53e365bc1e7dc30a2678ae8e21e6e86cdfaf82f55817430c9951a7d654c1a44b31767dee34f46c2ad88f21e5fb90abf5d64005a757fb7d1274ca1ee714fc86ec39bd83e70729620a3be2450a19a66429784996e1ab3b8e144cb4758cfd2f9ac390310a26eadfe3ce38df77ce8a824d6eb955dae973ba2b145c9aac09cd9f32adbba06037b75376cef05f63fa09decf77f44f34334f8c27b894b966b59f32f34b0528e06c2005037482c71aa142557268115d4e709f4e3c48e88caed1ba09366bca5a25a3e41abd26d8b4f124a2b7a5972c13ac7e63f470838a09c65167dbfafb6377ef0e06b8048f514ecb683927574506b0c40e0c5009fe7d2d65039192bc9311010350824d9ba3c3f3bcef9e12e828010a6800836370608049f029dd3f24e43eaab70a030690048f5c72d4ac3789a46424bc3e4bc12ba5f2fdcb600048b031768e8cca74cf9e3c82fb0f71ffe8ba130ce088addd25845c2b9a7d2136e291b2b7954c120528e06c7062300023d8107f2ce2179232f38be03aa5aad742f624fe2982eb7c1f92794e66e313c175a624316f52c8c93b2298d0527731fd6a69f2107ce44f9f43e7a46499620836659520f1232d0413a21c9aa46760be3184e0e246f7d528e5120c30083e75daa7aec90e47dd261840107c86572aea95a26513180c100836f65e4a1987ca94600040301d2de54896a68666fd81b112c9e5d1317ee0cd1a6863fb9472d74f700c06e803239d26ccd332164d0b1fd80ebaab31775adfbccd200906d803fb53d94af71fb9fe06510f5caaded0ee92392a729707ee73eb43b0e0e381f3d49fba35ee9f6e7e073ef406cd96f1654aeed981b1ad0b5973c8952f44eac0aea8bee5e39f0ebc7608197b64676c9b9c031b7b43ae648fcc6326e5c0d5ae988d8e85a60622c681a9bb9496173fc70503c0819d08c9a863f9eb03ab0b0678037b1eb71e448db460003798b38b498a9893691bc62194dba64bcf910dd77a4bc8e0e9988301d6c0a3c73862e3e0ab819c1b43d40a0e0648036bee20de667b4d21b46e30001ab835cf50cd32c3608033b01b69d1ae3af472be6c1b0c60064623274b1552316d8332900147c100652805f4c00064603c1bc438127b1468697ec10063e0ae25547a94e27ac6198762e092dda4b3c9c6b1378761601dee3fac9cfa6f7f340528e0a860003030ae7b29c60cc723856a0b06f802120ce005a635dd84486fdaadc12e10b11df4a7209d211798d6200e6f1c98031974000a06d802efb9dfde11d56bd3a305ce31bcc9fb289305561be5ad361c0b4c436d9d344b9a9244aec0f66f1af51ce9fbfe5a81091eba2b67f4f76faac0564ea5a7d0a8dd16a50217fbf33e50b1d413d529b097827bac184f29f08e37444ac70ef9f68b028ffe6265540d8402974388abad965367e413b85853951a448368981358d1f288cc13b732c89ac0e97ed60cf4bbf1f883094cf6e06599e3e54e6a2d81078e2b774de6d1462b81fd4cf17fdf1be55012100c90043ebe6bb2942de58d6148e02bba499f39acfc913d4249353d578edd19c173fbdd94a64973108bf0a6831a75bf982e217744e062b0f71bc796271860087c9778c7481a4208f936801016b1739f94cc8f253c830182d08524b95539d46ece0180090600820dcbcddda25b2bdb917f4aef713b63fd1c9c010b60d08214a0017ec0aa6f5cd14af962c1003ee05ba2a32a53bafccdd92a7cd10b2e5446efea131eb33478c1a78c63709856518f34bbe03f88d93770f7f5b3aff0852ef8ca1f0795a919e5cfe782efbc263d11739cea1c17fc4b67a75ee659acc82dd889ecf92674f5852df89461d28e7e55b151a416ec8935c8cd31436c635fd082ef8ad61543a353c217b3602a759fa88669032ec217b2207b14bd0c292d26050de0c217b1e0f164320fbf9c3333031ab8a0072cb8f8a852eccc153a7cf10a3625cf0d5762d2154ca628393247860ccc4381565ae08b567063b529ae6989022d2b0a7cc10a367d4dd488ca111ad2abe063b2cad7953a594e8f54052752958202ad04010d4e04acd4400678842f52e139c8a5d73f392ad8e8b4fdb4ead6906237852f4ec1387edfd4688db379d43820011d30297c610afe1ba5c8f8d2264f1a3d3228f8842f4ac15e16472e41eb47a3c117a4604335669ef4bb2eed19057fab5f310557499a6b5170b6c9e2b57a55a99ba1e01a7bdc10e92bc5a703059b4672e7dd08195257f8095e4577628414d34ae63dc183a0c134ff6ba708b713fc680e4be7a131f498e404bb299a744743761cc24d3095d6bff7fe2daaafaa09beb397a9e7adae902833c18374a182a8e663eded0b4cf0d1971da84b5966967c71095ea28277a3d012ec4d9bda759a38b6ed8b4af0ae1e3cf47f577e564cf00525588bac9599c32be6645d3060008343030ee40cbe98043f99f92f8d5b0e59af24b8a0d1e189d91a092e973b8ea1733706a9840493b9b7669e593b5ef808265ae5d411cb3b7ba81850024730394a574c579333580e3682a9ac7cfdcf3d0ab46ee007be604429c07ef0c5224a018a2805e41789280520a214a03bf8e210a500439402ec065f14a214408852c0204a018228057c11885200204a017f2805f8a114d08752001f4a0143f8620fa580167ca1875200111e7c91875240d5e00b3c9402ee500af8c20ea5803a9402e8500ad0187c318752c08ee10b399402b6f0451c4a01440b5fc0a11440852fde500a7043298040e18b369402b2095fb081cdd8919de59ca3d5be06a61dc5530dfc3750f787a549032369317a3e8a75ab1534b031bd5e48fdfd0cecdfe44a0f6270ec216d063427fb98d4c62d031bcbc322d464bf949364e01be7e3b4a4f99e433f061ee86ff48ffaa00f3d313091c3a5728a49d7421706deed1eea6d4770950e0c8c474ed3c9d4efaced0b4c36cca9cb40f302d3e2623e1a527fc38c2e707deb9a75a29443b5b8c07f5d54cb4fe98b2db0d177a9e29a727691bed0029f72695a0aaf3c5972bec80293e932e7a57c0bb1832898410a58e035f8020bc506a29e396ed2c4f0c51598128994d3b533ac1c5e23beb002a7a6e95a97771db92005343833f01acca0044d831ac11755e0b42a8554e69c8f368e02ad129c15740bc85890021ad4e044f00515588ff718a3cd0a055a33a0810b52d032a00149010cfa8b2930e9b1fe478a2d957dd100052748c10141021c70882fa430ecd1789af4cef976b8fd46c36f94e905abe1a1626cf588d6685eb019471ba88ac48639b90b3e6f9284ac73e882af8869420c217d944373c17aa6444cbd63e95cc7057719fe870309394d7e6fc1de9639ca1dc5e3d6690bf6da43564cd2f84146b560fb3d8ed8fe57882ea105ffd27b5693a5ef3a320b2ee686595389671cb2220b56b2543d6309e90cab58b079338c5c92e3a44c2f2cd8d0d8d7934292e696bc82290b35cbf82bb3e5d015dcc3f4156596fa1e692bd8fa46135670a9b2410a75ee416367153cee54cf31db8e9e3254c16490235a868c99375b52c184ce18374a09db7839a8e081a85af2d0098b553905fb9ab19a5e0c95fd575330e96b556c836ea7b04ac1a76c393d39ad59fc1452703146a76fcb9f264f1a059b3584b439047f541651b0dae9693b5a6d357aa1e0b2839041b5fea060bdb535ecec563ba59fe0ec3b9a2407962ffee909c6f1654c15421e0769d3092e3ae585241e4ed42fd19edba5df046b39d676ecf135c15b56aa686821a50d6e26b8a819c5b497e2e6a60b2618f588c8142736164b5f82af4d1bb37dc414f12c4bb066e730388a31c334a7126cee4b754e9d508209269a723dac0ecd3093e022b24bf6e8e9add225c1e4fc90ef297b626f4e2458877751dea14b73a321c1c38c5dd3c70bdd9f638f60474a2def7d8946171dc15b1e7f10e29b6e867623188979ffd37e4a49f218c166acb7618ef3e4b8a945b012e97b45b0758e7b7bd34f8cad258289ba639a655e1e3b8608d6aef783c7a41e82892976e7b89221f8598660737307cfd29eee1e2f049f627e784957629218270413338f86b4e58fe76d104c7565d55f76929c298260f7f51a980407a19205824d523934465bd5904940f03931638f199f644c217fe04be366183fc5f747a91f186fbda9c9cc530d62fac0651cb5cf3b3f372fce07b64d538c4ee51672ba7be04c7cbad5b366b7e4d1030f3a74cca4e1e31863f3c0631c345e943e47f9c103b7a171af411431cdff0e7c4edb9b088b9d0eb70367b1d26458973a30d132b6d038360e29890eac78c8162a3bade55fe6c06ac869ca21d58ef639f53071e0b3aba4887e2d1c78906df982a4182202dec0669c35274d297503af29e6e690b181d8063686b4ae6e8f4564039b81efb95dc6ede11be21a58cf8d21358a798df6465403a39e0f2f43da893154886960724faf796690db214244036fd17fecf1696c2023e00ceca3b65069c437031342e5564d6b1983e8948149cb0611cb43f6e4081998c6d842e49c4c62f8b804048c81134f9731db5185aa16016260c42c5d6d931f064eb5620cd5d1bf27636604048081bbcc4921271f0fa5161310f005de636a2cd15873ff63bcc07fe64625b9f27b4877817bf89e913ae38ed8370ab44e0634808121800b4c5da34b1561ba211a4940c0168ce0921db4d4857608d0c231458ba7a349cc02abea31b51ae790425e5860225af246d2fdfcf3aec06bb2d10aac475009ad8dab026f1e827ed4eba9c0796ef4fe16a22970d1254be4cd9d14184f96265dce5e5b168b029b4e74f3cdd1dd570a05ae2469be8a7e6eef4f60f4725687196a19e20436f93d8615723275b63481bdd8205a8cd06102dfb952bc1c43ba50215d026bf7193aefb703cb9812986817771ce66aace54902130d32c8cf998204b6714832471b7a32628ec0e4ecf96e93971138ab4809f1529d498d45e0223b869f173a041081c91f51ab1a82baee060143e03d79653e3ddd95fc204008eceb68dd23cb232008bc35f0ebf47853e4c82000086ce536d698ef6e2aab08f8019712cd36bfa4e8c928027cc0668b6929c414c9f7592fd8f2f4692fd4c30bde1b65f8b03a4b9c7217ac48eba7473d4b2e395d7023394dc5d28d4fe472c155f59746a51cf2acc3059b3d8bc61b895bf9af5b701957eaa8ebf91eeb620bb61f654592c6375d6d2d98882955ba0d595af096ba2c7e7b634f8fcd82cdde4e2dadfedd68c882a9aedb8a8d7f4293150b7674c4278367759c7d58f0e629b97b7cf30afed5d21a8628ba820db136ea41c699bf53ad603d372adbc988159c48a4ca2169e57477ab6043f7344ac98a2a78ec122de5512ab689bc48250e820a3e43a46a3839780a7ec2e27a28eb98827f9c3348ef541592dfa560773c477b3de27f89a4e0a5f65b32faadc7eb19056321e2c3b6102a3c5444c145a9cbf919f35e86d95070997baf1b4e3a7b9007059759f25b9b886f9a984ff0b941d9f63bd213bc79dacf086db5b7964e7016b33a4e197fb04c2227b84cf9a8bef636c7ce36c1af66bf92ccca9121d704d3ea193a3d276fd63413dce5c7297f468e0926e360f143f6087eee5d82dd1c6a9235e7e429e65882ff8aae4b1fd7326f5909a662b88d39bc89ef794af0b83da4db77d024d855dd4f929387b20791049f6c4bfaffa473ac5424f8bcf3ca514f8504b78d7245a5769a5bfe08b6afdbd641e4ae69c9118c877c318d60a375ec0992524cdb18c1f66dd7795bde49762c82db50ae29824921a70dc946752f4312c13bbe7b11716bed9e87e03af874849c2919669c21f8a839ea05d18f512f2a04df913573348c1ff21f84e04c9298679c626e213f087e7b628a2078edc61f22864afda90682bf34b72dfd0082f171b1dffed08c31fd07f6c225e4a637461fb61f38ff9ce367ec78d22cd4073ea6fecf962a6567ff7ce02f398c601dd43695b507f6fda65b2cf63848550f9ca79479764bdbae6c1eb807e99b5ba3b2f6e3f0c0e44fbd33cfd559ffdd81efa9d0d1b94c6c1c68076e375d9e6aee685da60e5cfecbdc6b1cd24bf6e9c064c650e3a639937f7e0e7cbc7cf5f1339718b51cf82b899e61c63c0e4c50a9de90353de39ec081bffc5b1d7385a0dadf1b98342ea9eb3164a47fb981d7da109e53ccb481d79c379966dfef166203bf3bfe9f1ae348bfeb1a5891b21837d2a7a867ab81ad5fc97fffe501d2c07a460fad26f75a46d101d0c07967e98bb79633b0399aaafec3cda99c62066edff2864a1e8e53a80c4c88fa1942680cba524906debf726a244933e40b8e81ed0a19122d3783c6b518583dd5eb9062ccd02b1b062e57ed2a4523bd741918b88819c23e8f5df2687d81a9688d51ce1b6a17252f706396eb2bcdec021bb7b43c2433b5703817b808ab3cc7bbd902379d915146bb4f12222df017d55e3bf99d053e3556d7dcc0627e988305365bf9a7e39aaec0be59b905bf4ecfcb59816bdd6439a749513afa55e0919ac6cd14727bb20c15b87d6d0ba9df62e6d129b0e1f8e1476c0f1d6a4b814d0fc43aa3ee78573a0a7cacf03e9b0825a91114d88d9b9a624f75968d4fe03477eda56031077002fba8aa261d994de0b1793c88c7a8e48ba5a282c150241008440231180c6cec0e931508000020268c464261120662683e148002451a1226242416201a161210141414120e0808080808100884818040000c068582c1c0d0720ac70f5006aa06471160d2a15b7f50c353bcce01c587028022a0aca018940894082567281d2cd41bca58a2faef6691cbec512f30a0f4500f5406ca0e6583c242c932781d20944014b452402585ca96c855c81bca002a508ad73171149078d40e26600ad84b33382622a838026d683ca04c2836140bca09c52ba0d66b8c97e48002879aa120a1705038940e0a2ba8be1194524355a8ebf82fcc76ec0983d70140ad29d44b3146922511aa870a4209a0fc42f13a3d54038a836a825aa126a026d4005404ea3e2a97ba8f5aa8940e8346a8610e54172a80a380b8b0be531873379d514086f7508251a08027525248230acbf2c771e50b706ca39645cee9b6a2a86614b07fbfc9111486f0a6d7436d0b9d34588bd57c84a5c9e33c9dcb94437c5a4bcb83799a4ba809bedaf88db64076695d14bc240bee4ad29e91db5cb2a4c9b80678ece01453b72755a94bf4495e7ca914f92e4e991d578dd54c659d742a17116a3886534a4fcf84f4353d5d88c63611c37d745e33b460e1631d73d010e2080590740f5989d2137398306b09aa7997159a36412dbe026caed0eb104dd2229aa8a798fd745d7da44bb7605606a8ad34e748a5b1fcd8586714283aa8d928a0d08e7194409fdc5f1b0ae82f4d58a40605dcbf9971aa28a037b5914867a2e250cd1151503394b2a894d483aa76a1eec56e86c705ca0dd50c057154dfffa50820a16632aaef1587190228ea4501d7ab7ff3fe043cf59e89e6ec995d3fc313f064f0943c5d06a8f5eec082df6494271502a542494069286128038fa2fdcad46d47500a280d6a096aa3a180a009d0b1efa83edb17976580c24428e0d99891d407058c05d4971fe23356364567f02a37272205041b006151465040f4bf8a5b4b51ebb5c8a68a06a50c55428da156505d2813941f0d2a0ef4740215940c950c8540b943f12cea1ef05ac5684131415d505ba0807d19c5a1c6f675e8a088a2a891b181d2c1a3793013a83ed48ea2748061eb432b8051cb88a2928a2b545f997cc910d72c861950558102ea73fa947f1c31138a76dde4f841839f0c074587faa04aa19829aacfecc32a39320e0828c50f352d9b7f78a74740a11ea02ed406d405ea0e5504458d5c5020282094024a0a25404904a87b04b79bde4235432da87803758f05f77541032583ba42ed290ad8dd243b5b4f2d38ede5b9303040460552c45036280c9405851d458d58a0786554dfa265dd0d8a43a1fa56c407045428c50ed597a1409213a86412756f287b0618d41b54071517146d16ea014a858280320528260a49abc3e42c781e8f35e601379413d481da80aab528a06ae677c250cd54f13c769b2bb1110a9800db431b2a43b5f60211b65171e076d1160c8a1caa809a873a40f51c0ad8dd5965a15d4ec01fd61dda502c141b4a0b05f350b4533ffe2e905406b5804a423182024a2ecab2b82a073a8fe2480545d56251238e266abd06ac92384195a1125031280aca0a45809208053475fe98f508281dbd519326a83254d050f720507b2805aa74a8c73536267493431347613248175339d7b850fe50b3a81b9b023ec7656d304001c3fe1a0dd05224f8060659b57cf84eb536986158bb29a473e28bd4631adf10dc75eead40912e1b435cca6eb811cd1f3bb873dcd9bbd294da16a91f40834c5eaee8edfe3e4b47cc8e0e67dd809c19a60ed919ea3172f2038cd761d91062f50382032ab8943a3f09f2e5a61e7cb8abaee497132e05b93d1a0cd1ace94cd55c7a7aba5222c192307e61ea5613d8c1dc2e9e1a8d35c8abc19d92b899d41111e1bc85ddf4b75c39d72e48a45b5122a59147f1ff489eba3fa2379d97223af6a2fd4f5cb88e80449a9d5158e5989db04a8ad252217c4c972838d31728b4eddaaf38bfee04ec1d42309da7301498425a7cf23c369c0479faeaf4914018e4dc80308178647d149f9dc18bfff8751f816025143ce92c27d02838f3310807aebe24de0195a3aec3b5a044f8472a1eb2889498a0611c52a0e77ec377b97d7f5429de4e976486c9f3bb8445a4130b25700869881a9782433d38c1487f1a448dc038d4476dbc191729fde51f956965686267296e81142ee93e0cfa0910efd5fd213cb81941ab29cd6b2a2bd04e31fe4d40b9235d5816c442d77022448b0e0b9e5f5b538e282e643c56d5d52667f242877f4a82c33dfb79ed18ad735d34c1952e94dbc08c49b03f7d9599c5e03f25a5d29e395c5ec451e1e0a39f634b871ba465b03a8c581d9e27e03260c755f632d08d19a790de0fa7d8e5a25d0797482386b2cf4d2a7f70b18176bc171ddd8c007ab439b98e4171f555f63b43856d028b3babbd7a6c2b9edef6213dac38245bd978e774e009ca28efb5432ad9e2533814ce2d08907d2638ecd0b22e828275b166f64157192fca0a072428749de217cb870d13f9c38232f84247e8d021464a7b0978be63ef87f48b0922368c1101b01df2fa6d4cf551e198d208509e4206e97af014b8b53ba563bc03e0d9f9b89d6ad625d6596a0d3f774a282a9c5b66f52739ba51e6e8af7f7a8258a519144a1d68b39ea9b615aaf203ad8432e905147177b1713e16cea9217b3444e4333af88a212eb5d297c5ff843d70a16302e8685e90f7f1a4773585395ef4458c6c34270d15ed53e343a19814c628b61d45de22f583642020672b956724e1a24f11a291a7c80408caf2085e328ab83176273a2eda04e6d5f663c0cbe640a53ffe8372e93c57b04354660003f35164a4ca9805f42e55fbfbd00c9fe0dcc33bd10044dfd1c55cf2897661d008f07810418583884f6046777c17e83efa0e2ff76f2e0b756f2114c633559a3a8761ac570e3c80f4cb3435050b236243738200c8ee60c88dff36e6643c32ad99a7f870fe6117cdae3a8392ec425268a7fd3d55431dec762d19c910ade268cd1ea55588e88b712a523651c1f34080a4a43414dc80a5566c96c814c815c8a0d0912c688ae0810e595778673f4905f8777f6dc20aa941460eb1e6178b823905cb37663f79419dda6ac7336187ef2310711a8677493d8a8186455078e4f9533a09b9fe29da6c1def39c4845ea65ab7b6ef4fe5e099c9433246c8416b378ab66e8ff1296d76f1244bdde4ce8f3470ad1f053bb2949a34d5ed94f536c722759dfa5336a722acbc092bf89eb90e8184d496473f2f41026155f45e53f5dee6b4be90dfe81c2501357669ab49774ce55431ffc921415a5ea877bef11fa6133420283f231ee6a5bfb2c786383692707d42598637b732c5c71f29faa34d4c5d0a6b3c440e5a2b09a1135864d1d4d0ee0f91d0a38c6958681a0c09a7012e3c598a31213ed1ff5b03724799655542caabc53b4f6a5b95cc8b7a4015ec5d3e51ddee2a848be1d6d8491dc89cf0937b7310f529766e6284f01be248195711278eae6fa512b269032a4f27407dc18edac000f889b1c3cd7430a2b1050317ecd276e85c3e8e6d841b5c2fd4e5530247d9009dcb8407f0e0b9ca4c4db1c01e54a1e22da47f5553d9fdfcb07b62110104d192888b387723e923313151a608fd02ef9682a4cc807097779811a29fcc7fd80b0c77fad931cd41570575354438f6aff39d6e6310b6d2105987bdecc383e5a0eff3aaed1ca1965fd1ab1712df718d47e557938194d37b94bf5d31173f97cae5d6b59f3c0f84ef3399117e821b48b06549d5b24bff330d6614c58d8b5fcc93a083b9e226d792c39d34773c2c8320f549bf92c0480c707cce0cf8121d82a81f3d415af98a8a2467b50558d952e36f2b96f3e57e2f7b156dc02dc1f99e42e5b4c1de3e427b4206dd7653acdaeea3980747126177ba824f863b08faa718b0f907c8e4295afb785a977ae7a56a31441ebd7ba738a35abceced148b4040a3663a12d3e5ab548f2cad531c44df1517715e26ba9d4b2aa453fcf249e73d3c3da758d45aa739975344eb0790bb211da73822e6ce41c32926270faed4bf295a76a26929a59be284145fe0a0dca6a85a2a075bb32912b8cb31cc6b8a764ef9d2aa29fa7b1af85b3f433634cb698a457bb31143a329927c80b1607ea6d87523047f9a29aedd4dab5d155da6a8d392267572994c31514d5da6714cd16d6e0800ad15534cf3cb4e1a86295a2b0b99677a975207538c7590dba569651046bce88e99bca4f9c2f0e2ad6dd4f8082f6a6e3f9415a4b9183fa4acc2f13bfdd1d0090982178d4699d102e045f76acf4cd664c273fd8b2eef9bc50200fe45323d4bf2959cfb6b236d405c60990ce20b6ae9be3d897483434a7e14b57eeedecbcfd430cea543f15eea37552e5a45149a608edfed455351b55b6a5d7550faea8536dcf141269aa771757f709b4f1df70420e3cc478bd075d8162ff46b9d161a57fa7fe54f30b1703d0e9b02a848df59cc5a0e0bd2a6a8d31b16153e5139432a392cf2aa49e6fdce7245ab1a64966e0a18c0fe3f6de7cf07e04b22a455e4556eea8fca2649613e74bf2ac4d5cb0842af1f601a2c25a2760c0a4b95305f85c7b2d3b6d2842e0e9ac1c6d8cb03b4f49ba2e9a9cc40c1df487d741c09a0d59ac08f06e3d5f35b97079b9a1c9070cfc3e1881117e61970a4b06959902bde9612fd8743737ee472a869170d1f966c4ead0e1a78a432859cba0a5000cd36cf5ca129c9ccda734b970d4dce8994f085d3e49286805a114472fa8c7ea56f5d0171675f0fd28192043bc72a77e66b81b020b044cf668cd71fdea3c9b7f59195b8831c0c81a6e13101be195e8187a640278c5900e0c4d66884731d4e90a196cd5957ccdb6427e58b1d3642bf607c9caba232e71327cdd25f7937b49c031ae8866e386282b5660d87c147244cad8d1a22f7c20c88108d3e3cf6b03a09dfd37f00bd410a45dcb386f347a93bb7b6747ec3b8c38c09659fdef677ce9b62fcf8086cdb771d00940e822a3766b54e19b42218e5eea225b39220e74331265cd53a08bfbf2615349449443a60990996bfa6d6fa78e1e59d5ac4b087a87503a905b4c8db07436c9a85de828d33b884b7a17016bc9119134819b0b50030ad55842f24b3f74b37c010ba030607e390461d065745dc04900d224ea1d8102d78685e08ab1051574fa1c3d1125154a79335aa3ed7da7290396bb5c7f2c0dc868d1468ee6541e966f96878190aec1364646b70aba2e19b8e7611c65158ac46658a0b82c741993408b71355e22e00eb21666983d6522a4732913b14c5227ba4d18013a6984383ec0c5415da8abd5a3e137bdc5574fc3d9a68fdaa9c8214f6784347b23f4d343f92c74dd7e2069d2614cb61d84a60cc467fc18eb3ccfd00a5c85337d43290aa60c90693b5a1ebda14b63b54b24de0054e1fe5bced91d69384192bb28dae5bced254c652dae2cf6b87484eb620d5e2bfaf1392753c379b248d02903c38aeba9fa3f7d29fef444820edb4d1c94943efc61639834028a4fa52973884191893a07908dc83ceb4209c325b9743d147de07ba08d594457bdc1292322ecaa81a3f6f3695a640c105cf0f6926f067a09b5a4c00732b12896028b8e781de641e1632648253bca43d596aa6d5d679625a0b199ae9e11e842a842a8aeebfcb2692d2865e0d85b19bc145ce71f486f9ffecb0f5c27504df2cbdb8271abd0ce9d7554c6eac77cc9b341136a10e8a51a46a9b030965143b06deeb8223ce13567b13a2787e057d419c87911dc60b11edc8a12e7f6016aeada1803f105c614acc4316c8aa9641c0bf29f46df234971c00c40e86c0eb22199f5c98f0591bbde9941e080d504a693ff6ea99f8910751667fe57459b045aced36954666e3137d616252a7786f220de7ef5da0424db642cb569a880639aad7defeefbd7ae94e635c5cb10b77576c48e085866221d3e91fc0e0a81e6543d9ad89b801e50bd3f029bc707632cf848f13199ba0d1134265079e79df77d0fd142531697bf336c4088194fde4e18a894e8dce6c638d77b7836515cec3b393366a38dfef7941810ce76fd28e7b79c4eaba019f997792b814ab450eb66f8ad9c8bfbf12801f5534af575c17f29ebd63b4afa05b5fa74a6aea05a9e10b2fcf77e1b7408a842a29ea22667a22abbb5b3a73afda5c72a0b2b737669ccfa1de7455e076f4bf4b83108e39c6ac76f209070c6226618a318ec40fd5013849f39e60ff3eec18f766ed05c0cce5dc25a4c615d2be45a22cf13c3b25ce4b9762e57cd162d1ec8b441f74dcf3001c2dad78ad3196c2f30cf8aca6c926c4afb397f518a422783f169426904b1b1f72bcf2013933d8c46f038fae78e8638299676e74c94c3816c8bb139482d50107c288d9935bc680d8d35ef738980cf63c06f7fce13beba518a09d033c0c5e01f5f15318329fb4de5dbba6a802bfaf4ccd0129ba365d823ad4c892850d2d22bdc44255de96a2d404baaa932540731f12f256473297366dc55d31aca37b9cd1dc2c8a65f9ccd08df78fda21964bb3db4f5c529ca3025dbdd0bd66749faf0137e2780f6eee9c40b9c915eed408a01766ee0ab46529c419cbdd5cf52c98955a46b5d372d54c90c5ded04ba54e9553dd28d53f8520c01245955249532d4555685b96c65ca7eee45d8753e7343b8a545613b658c2aa722b9d4a46a5ad92ff2ba1d9ee5ec82dffc969ea47119de25e22ae0ceb4ba9a3b7719164793cc55594dbd2a3528b237126727557cca1551c3542d63269979635b75f4318dc5da8c25b462666d50da54b9011c0245562b8618531543db4aecfdcb63e159258fe600cfc26e7994a057cdab2deae2e9da2583f218e6ca76cb920e4cc9febd1f3e5c2e7f880e6a6c3a57e72b0dca8f759515cfa27f62e1171ae9284975bae1117c9c61d80f10489410137b07684c6ab68aa2627d72f2d01f2a1a0ca3763ffa6e3041640143e6dabf25523371db01fd69601f88aeb1ec6ebd978a471d5b4e75ee6e4f514b0cba7cdb50b65374175e74a11c39d7e1abdd19692b91cd721e37d3ab9498d6eaf9658a2a8cad04e22e2ea5ab9aef750170c5f9b26b46ced4abf0194285de524afeabaefa52d214f7dbed094ccdfafae62967e3199ab5117978eb46efebc92ceb649a77add59fd7146473dec6d1f7add45bde1cdf13c7cb09b94dacc7dbac7a138cee834d3e9cdb691b6dab85196aaac429555495575a9a282b54e977bf12360e951ee7f6467fba1e77ed46be61390450761c554935738f76b738e7c0242af6dbce9565e8a7a19f29da515d7f97d0fe53cef78f37bcbb1aeeb857ffaa6d180573beac4bd069d245e4b1e6f1cf2f5a6769d7efaa2c3bed3435f6be75f13e5a26d7d438d4fed6ea59ba3cfb59dae320ff0e8936d35f75df22ae6b014a4259a8f4c739097bce9e0b11d7aa13ad3e5fe6cd8301b86cdd9c9fbce8522d3a1f630ea0136b5d46ec1417a97cd77dd24ce7bf3677bd0a5e5d3ba4356bf4a03b5b3ec72b713d529fa0d354e9f465cd103c46e425e422952a0785cf9454709573a3a8f8968416b966741be3cca98133975404ba119b60624bc47de0aa64a95545587aa2a50cd1ab7a6f5ad6d99d6b4a1952d9d5d8e11eceae5bea8379c7f29bbbca8c5cd595dbdf17c7e3671e513015599dd3c5187df06f5b04a9e3b5326620b26fe16e6bfaa5c2de72d499cab768aa18c7920aa51f7556e718a1bea3b689b9d41c9601c573463932a2561e1d9de497e379fb2141195842f0acbdaa1460e04feb87407cc43c679c923ebe4dfdfc7a220a95f7414434d01ecfc3f369f9d97d6e025e99ad477f1d3befa2d03f3a3e026f4ddbe8d47d9f3631a8846aab4421b95adee3d6bddef0615c0587c2f70f2916a88e962d01d639e6612fe50bd591e3801080da0cf0ba133bd4b921dfafa6529d4e2c85019fdbd83637d1014f1b3ba219dd3956e348bf0bb11f85f100ce391b7b3f55b4957def31d5eb2e415de864f93dc4bd206a941df8a26f675f3522402de946b46bc7cedf0e96e97a0284f0d5fc146573baf01acd4d72e470aa95fd518ab068afd9479b142dfd364226c8c47a1a9a0426348c233d63c1c2fb7304fbb57922b9626ac3e4d74101e9c12efeba726fab52f9dd596ef9b5f638808b78376ec4d3f74db694cd5586da99d255d108732620bb3e535feab05de7616faae6871ab8a004f3dd6e467683e14968c9b47ddbea52d6040999c61ed5942202224313b7b3993dfe8b28a3caa67253d630043b951aeca22de3cc8caa998150f939dd9a63c773a6191e6d4e8ff566d3b01eddb9b14e4b6ee0f50ec63f169015f4d5d28374cc695f8ca6bc624518681c8fe82e0370f693ad10ee376aa38731f755ae12391e791a9e78c03ec8aee21ee0f6a5c64fffcbca38dd39606b4b169da82ddf74e3e15416c135793e2d3f017f1508fbe79289a804aa990f7fe4fbdb630199f0777b5dabae3b0ecfcb71f1c595ada3199f3e881de6e7755473358691fa6097fe21b03503d889acb3df5bcf1c9b5d4b428bac20aa5b51c2a9e798c22d392b0dee13109bb2fdcdfc034b1b5fe51c7b7e876acc55ef9788a953146a1655ef49af637dbce4be4237dbff36d12ce3f81f2462cdd0a89f7a638252c0e37db269dea7567f5a7f33ded6ee2d388236c9566c7bbc22f3ffeacee8cc9b3b1aaa1dce99597b956674e545b9fec678a4e198a8a8a9df8f35a0f47319cef01ba6a478c3a70b02485033ccff33ccff33ccff33ccff3f2e4ff7f94b11ada12c9b425e8105d454ee352b9735352923728d90ccaffb64d2e26342e26340bee0673080809cf084758aa491fcecbc8661f2e2030000a3460000d80408d97b10516bc67870d3ef0c3f4695258541fa7c5af0d1b7b28fb68dd26a69080c68c183b860d3d301aac2bafebed6288dc461ed88a2875dd1e0f5cfa810f3b769a98773044c8223943e4f792a460c30efcdbe4bf87dc314f29ebc0589985f9d0a2880fa50f6cd0e16ccca160f4861c98649987e276afefda661cb89cfcf370e062c590c7dbe3c81bf1ccc0c61bf8a0b9f5ab5e736ee0ee356db524b7cda394ebe26aa30d5c7ecd18a921e6ceb0c1064e25b7c34799fdc42bacc2c61af8e05a3695f76a34c7a8819d1e669accb0cffb611b69602cd73ce510552f6ca0815bb720716cc42f5d4646848d33b0315568ca8d9dcf2d66d0a8f1a0d262cdc05e9da6ec294f19981c8b5c535a29f9c7c8c0544b565a693506ae625b0f31f07af91ba3866ffe980c03f7569e6229ef60e0ffcefd4269bc10adbec06d4b866ffcb0ecb67881f75cf3eb51866f84d48534ad6848b1b30717f860d15934472843cb4980f5223001056abc0844d0352e00838d2d14096c688115fb51ee1ee5b41cb3ca1b596052254d7f4bed1fe57e030b6caaebf4b6fb206a3457e0535f8f264748c9ccc18615f83d5f4baf1932271f9ab9510576abbcc73135d2590e3337a8c09e8f4f2ce471536073824f8ab4a5c06eb9d8e7ee1a05fef7bf432244b3c52414787f0fef531bff716f4f60bb47ff669ed5216c3881899fdcb247f18d2630d99d69b358f4ed4fea6083096c46bcbc127b7c9f3eca12b890a434a77151097ce40fd3fc92f27814df246c11f76d2af94486da0612181f68856e4c8dacace7c611381f84749a529fd66532378c905c6c1481ffb10f72d010c27dbb2702e3a97f940721b5c9461f025fc9bcd7c7c3b250d1170263eb29a121a956be3d08acf6df886fbe0081d3dbd61419b92374f4037ed2fad03c6f74fa1c1fb039fe3e29f4258e5f7ac0e7975066193b878e1c1e3016157388dd23cf3169076c1eaf7e8e4aedfbecea80fd107b3cda4bbbcb18cb019f82db565b8c6ee0807dd1bc583ef6b1c763376ec09ef4a6eccc3cf4891e1b36e07dec214b90d4eb49796cd480edb18af7d8448b79d86383067cc854de6ae92d958f8d19f029f578e8c1bc5312cf3664c04fc79863fbd8c6cefb8d183029fdba591da6efa10d18b0f943ca9f53a9eefa201b2fe03fa3bc7c3cbe197d980d17f0a34a9b3592bf33e4f1d86801137c10b1c235afe5da3758c05e57fa589d5253928f55f0ab51f99a9aca14802a4e5d1b52a9e087a71a32a446f6103d2ab8f161e84b1eaeb7a7e9145cfbc4d813445370113a784c1ff5f7e5b514b64789ced4b1430a3ef4a8b25672f6b0f33a0a2ee2f465ef8ae96c1505d79bb9479147173faf4728d88b2a5934a3bd7d42a0e087d9d34f4dee3ec1dae4db1eb198479a254ff031fd287e92386115929d602dabeb6dc790d7c7164e30d93b6b0c3d088f8a70136cba87c83963cc3c1e4634c107e91fedf476708968265889e6714cf0e3ba7ef1da3c08763e2ec1f73073e54f8f329ff4966052e4a6ee4e318f32a54ab019a5397cd88312dc460b7918c5f20f572f93e07752ca56e3a38a62ae24f8e431ffff6f887da3478209d6ad1537f7800457a9b9c7a39453e7b1481ec1a75cb5ec9c073e8e14e2086e5bcdcfd226927fd708eef5b7c574f23e4f1e8c28ed72c4d4a9453039571ec56c6d89b7b922d864d77693af4d043f6edd9843f0ddbb3311c19b9d560ebe9e4330feb679a0dfaf21388fb135b2e5ae10fcf9684388753e087169b74f6a35cf20b864bfd1b6fcbef55204c1f5e58da4cfea593c1408fed52ada0f323a437f00c1681e85fcc3ea2c2166fa0f7cf567ccdfe3caacbbf10353316d5e2fab0f6c1ee9fb8f7e944c01f08135e9f1487ca03954cc299902d8c3835c3a713d7066e5c3141634ffa479e0f3309a848f3d68554ee3814d3d7511b3e7f65bcf1df849f7b0ce535e25961d98985fdae2d6a58e1aa903a71272be144366f5614b6d4aa3d71cb8758f14424cd96b3793032759be13163c5e5518073e45f4fa2d6dbaec17383079d4637fcbd6bd812dcbf871039b5cc2dac69276b4b10dbc8f7d3743a37aeb236ce0a687316efebc4f2bd135f0bf3e48bddaa3551b54c3f1ccc7736a6e69e08729979846cca1815b0d0bf6835459128367e046cb4ff3646f063e7fa45dd6d6fe63fb9481cb9db24b737249b72e19b8efdb7ca96f9d43e56360f3af241ffef410039f297bec984e62bc1c0c03df83d2e03eba11bdf48181ff718ff630879c2fb096def72cf487929cf202afa9e3d97a7417d85892d9a323a143de5ce04d330f6d436ef668f2d802b77691375daf0546f426af3c758f47250b4cdaf5aa09296f67ce62814bc9f0516777ca297905de5473c8e176feefba15f8e831c449255215b8e483f6417dc6d3dce341057eb89e3294e5d75ecc1438f1b819f5871f29f01183fbb02a5bf0514c1498c83d0a091d6368fa0f14584bbdaa089e7c02ffc94ce36f7bc82fb91338ab5c13fc232ff838df047e3cb07c31ed23b884cf04ee4ed34b6a1fa50fd2b8047e1c7a3cb4ce9557021335a6f1cc3fb1c6b724f0e5a9f5f399052ff181045e3ff2c78b48492a2b47e03ca54b1fb7ff726ad708dc0fa26b7dfda694f55304de2d48cc1c272d7d480426a77cbb5a132c274687c0d558c8d94757e9a223084008dc8ffaa3875a4a7ec90c02ef2a751ff36b2070bb3f885ebde8077ca57309f3f1f0eea2eb03aebf73ff7a5b56257bc0fafbe5498c146d47e2013f8a5163ef78301f077b077c7588fc67796469bfa303bec7c33c3297bcbe49b41c3056f136f238f3fb307ce080ab525bcb9b69bb73ea06ec4712abea71a814efd8802fc9f1c52bd3f9e791356073c6721f5fca13ec441af0214d3ae74c975bfa3303bebd253484ca210f372403c683fec8431e054f3186c480cff3411e58f878929b2e0018305ee597394d5869fe3205f002762cf4284765c6fe94924010800bf810f37818f322b6f4a06c017ba13f8275fe2100167085fae8d0d011032ee4dd0f522b581e27490c123c165d5c8d0e18303959ab533b5dbab2e3056ce4866f8e31e4f1b6e8173a5cf0406255c78a6dd1d1024e92e67687aafe8e290ee86001fbe39199e590c76f391eb53570ac82c908f1ade2ddc6ac66608180533270a882c910ed2b581ec4ccd238183006408104bcf72b000487c602c4c0910a2ee489567679b2e4b5f0ff07c080d15bb41f200434b698d132226000070cc000039841038b2dbac63b165acca061002d5e8bc6228b0214000060e04005eb96e791eacd53f6143903c729b8d01e7beb86fcfa092164e030059f2b73591e487ae6f89682b70c1bfd716749c1871adb7feff4a3cea4193846c14748214e0ed174c35a51f09adb475be241ff0e053fccd1ba37f4f3b05404051b73e861b745760c1c9fe07f9c2139a977aafacf13ac454bc1c76bfafeeb1f4727f8f70e11e5c9ca020727d8f1f168941cf72e68848060c1b1092eff2ea57db070115786168d2d6238872698dadacbf9be0cad18345c33c18f430ae2c3cdc3d5782d26f8f7715b6ed2cb6e4b7f0b1a212031382ec1d526ad8ea2d641344586560c1a7e6b96e047313f6290fc499f080045e0a80467deb7173ddc22552db0b8da08705082cd71555a830f35df5512d0885183468caed122e802c724988841a2b45a92a12582268116341c8d0b1c92602485d83ebe98c4f3202643ab068d8d04d7ae2d25f16232b48a091c9060d36369c437fd9155ca7b0c1a7e8fe0538c0c21de31d0d4281e3dca656a3f64685523986c0f9239f4387ff89f0c2d27703082fb4de7b126667efa491904c722f80c95fabc534edec414407028825fab9372cb9b539796082645481b5d7c90b9471244f06bc153d48bd454a604c171083ebb82e4619b6e083677a5907cb81fc1620ac1fb282693d011b7a55342b0e5316e45679c7831d241f083d4cc88ba94e849637fe01004175974179a1c81e026f82026e9f1be7c23205851ddf2417e2fdd14a51d38fec0a4f614dc731e07f54aa903871f982465dabb15c37c781fd8df10aa1299fcf3de20e0e00317c934bd8f8b58b2ec818df8d3e350e5db5516195be42238f4c0f4e51cc4924aa5de29865a1ef851b4698c175404071e985413747d98d6a37262d4780ff48c0e812138eec005b3d1ac31d4999a6f07be7f3fbfb89ed625b50e6c58870c799cb3dd279f0efc7ec8434d7b997b9487cfe1f857eb93ef1e39b01d31bbdfcf42f4bae3c0740fe27fe71f0b07ce43f530222c8e379025e257fd6786c30d9ceb7d1e4ae81c3baa470c1c6d607b7c25ece3c606ce52f2fbaf34435a650d8c59348b5b529553c58fc0a10626fe3096580cbd92db1b81230dfc9ea98fff55fa14cc2a70a081ed9cf256af6abdcf4d3d036bbf5ad1f76f33f0d10719c7b2e7518c914719f8d5cb8faa562a19b8a8a09a4736fd18788b13d287f48b9f3f2d06dea6d6d22faefa062d0cbceea68e7b21a451e000039b3da61ee5cc39e53e1e44e0f802e37f1eb45f37ff7f1c2f7019b7237dac1b29707481935aad48fba13dce9c0bece7668febbb5ba92a5b60ccf2b9a58bd0393d5ae0bbbece879e733e4b558c27706481eb0816bafcf60d70608131cf0e6aa71f424e64021c5760234a6e58d4bc1598769f98792107b78a55818db49f2bc46051da87c9247050810d393fbdd23f53e0ef7210cdb63159fd5044028714b8f6e8a39c6e3d0a4cd744b01cf3b8378fac21704081b154e6f1e27684d4fd09fc7479bcd24951ffbf028713b89cc731eff7a7b275d6042e226bbbe7d30dbe52a1020713d8f8f56299132532674b60a423694a29844a60a7a35dcee3fcd1993a2b7024811ffe4853dee87c9e270609fcaef8e4d155fa08fc7fa56cd77f5be7512330193b7bf66d8f25e99c024711188931c4d42a49625a4a0424c41ea5c923210f700c81bb53abb09cb242e04214cf9cd43c47aab5031c41e0736f4aaf26ebce930381fff79178d78717e0f8011f35f74baac93fec11821a9dc56ec1e1037ea4b3b72b25751ee47ac08aa664d65cff1fb2cd03f63345b09d0ccf6549195a317e0b1a33ce5ec0b1033ed54bca69b4ce350f2eb4282be0d0011b7e5b6a96b2ddf2d81c3071e34ff0904b24e6ee11638b12fc0c5501070e185ded1edd4b67fa7b6ec0679a45fd4b9a6371def1041c36e00711f2487d9087d680bf6e0926f927efd94486560c195a74165a9c093868c0dbee587aefde8474853de098015bf1b447623952a75a3964c06f7fa7906e36ea802306fc388fe267d666eb0b3e60c04d9e5cc9d021fd205bd030418d2de6c0f1023e696dde78c183fd382e60534c6fa57183474e4786da7101038609ce8caf51838b4381060cc0045964d15a6491451b80141718001e70b4804f9973964c1beef11826a8b145a28283056c068b51d3572d74ceac828ddf49754208e971d2314250a3b3e844c1862ab80d397454b6bee86491050d119c2e526ca4820f8f9a7d207979982e07154c98eb44f6f8c9d0a211430b0fccc0228b2c684400068cda38c56ad92157ca028bdec2fb3fa0e6359a8b04d438000c1830603c1723788f71be0b556c9882c9a3509f4d436a4e59535dc0804102b1510a7e3cd693cc9b25724fa4e03357ea1e691f6fb3f0081ba32818a210c2462858ffcd599e990bc20628b898d231af2afd046f973e6527ed917bdab50a1b9ee0acc71afa15f9be21443bc15ea5af84641fdd4587135cda1ccfa3ce3795e264137c759576a5b7cd8827153634c15ac4d533b16c91797c26988e7516c24392ecdc6282ddaf1f8f07153b34a979896f531e8f2e7c10cc286c5882cb31474c9b52fe8e292686dd63a312dc7af8203d5deef18b8f181b94e0079e630cd798b5c0c624f8f28145358d79314ed2081b92e09304ffabf4ef5c125cd4c34624d8a0795c3953ecf068e70624f81e8f6f224b8f6382de47b039b97ae8e3aa98326fd9850d4770c19247adcbbcef10c5cac24623b80efd23cb833c48c947523282efa890a53dd2a78f37286c2c8271cf5fe2d299bf4793169d8501ac091b8a60474358f4b855f2f1b9910856a24de5a0eebff7e311c1ea46cf39e96266d31f82d3f2b1e7d18f87a135e586e0cc2e75a7f47968ef9b42f052f6a1efab92046909c1684ab3357f89f1d265107cfe9a04c17f59a5dd26f190980c049b9a59f2d99e84f0618060ea3d65caf8199631756513d8f8039343cc93eee3c43c4c8f0cadc00c0858cde022c60c1a57eb87ae5db70afc6833f5d34c2304f3126c4e67a42fefc8e310b1c47b397ae87994cc1795e0c7c3d4134b254509e3fd68708f7581851630601c2db00841bd98c4e3da23cf3fce39f85e24782109737c7adf13bc88c40b48946ba2f430795e3c82d4de2d612125f3482b918b178ee0c743efefcd6179ed3c195a267810c43081b95ac0ee03321083002f1ac1584eb9294a58f082117ca873fd0cfe3d0a8f411bbc5804db3d8815839f8f55ea8722989072ae10bc4f04ab6fff97ff3e22fe589372e4ce1f82b78dcc14fdbaa1d31b8289a8fe7bd5782138f3b14d5d05cf561327047fbd99e276f92098fcfec3ead11a89d12308362b24a44e59c1627402c1e798fb2f59dfaf720c20f8514af9c7231f57b61f6bfec0fd0f3b8b8f3e4ddad0f8810fab3ccca9fa5e8f771fd878d9ebaf3a7aecfbf281c99bcc574237ab05cb1ed8d0fd31247808d1c3a20726c7bfdba4b5ebe987e681bf489942e591667eae78e0244dda86477d07be24dab2aeabe786d40e9ce6ff287d98197d2c75e0522fe549bdd8e328a103eb9b257f48730e7c5ba588bc649e932707c6f77dca8791e9c32371607d98079dc232020736a46051224d36a93cdfc084cea174037b17b3450ca2a943df06debbcd6e27d2ee58c8066e73f2b1654b975243b8863d640ff134a5a881d737cf8da81aa34d2e0dfc3078cc9dffa3814d3ef15255b7337029458b4ff234793166062ee3664d395f26e9a095818d13524ee7df29b13232f02d9a3b574c8e81f5614cd2eec9a2f45462e024ed790aa91c2a7984817f89d6c91e638c3e1c0c5cd668d0df5ca649fd02d76b7d96a4c79d7b81df8908da3d7994f3c02ef06fb1d22eed6e698c5e7081b3281e8245ddd8c5f5c516b82c712bc4d4cad0a2b1c58c0518400b5cba6c6111dafa3b559905eebd7ca357fa78bcc0023fccfecf4f55eb16bf02773ed4130fd70aace7d8b9cfe3985560f2b0347ddca95f508193f41f49e6e48b2970927c5bbd428a540aac6455161b4be78b28148c8442c1382f9ec0c510394f8a5249df07e50b2770763d1ed99db9d904a6ae25477f3a26f0f9d4724a757d095ccc03b38d929d7d68b612f8c85d095bf7d73b3709fcd0265b7b72afac8c2281d18a177553257b32e4087cde25fdb4ca5e1881974c1b24bae9fd20a31745603352d29834a3d4ffd0174460bc324df4f7f8e39afeba783104269974a6f8d339e5281d72e08510781f68a89043f7c56833084ca97a84902efa03af0810549be89235c7894c8bfc01ab5fd9442b5b501735c60b1fb0c97a7bacf1479d3e420a0c5ef480c9ce3a3df9a1ae4a252578c103367ad3f5b36d4831c6e40ed820f9ae250f43373a87a58b173ae025b97f06dba8548bfbbec8013f708b6c7169895ae18c173860a34bb38b250d8b92ce1bb0f697c7264df46a2f6cc08f22f8b827e9246bc066d94876ac5c8656bea041c1c819140c340cbc9001ff2531a5289259e0450cb8495b91ea7b1834e53161c049e4f641340b3dcc3d56861656055ebc80c9629f4cfa421c899d7401a793c73e7af9fad2230abc6881bd608175acc23a54611da9b00e5458c729acc314d6510aeb2085758cc23a44611da1b00e5058c727acc313d6d109ebe084756cc23a34611d99b00e4c58c725acc312d651091b41072558ed69ff3c8e963b4b4a865609da016ee898049752ecb1a7a5bc12f5b050000c18d9c55a8724ac2312b7c6d264da312d2b43910c1d90b08e47588723aca3118cfa286d84dc8a0c2d1830b00b2eaa1861301651303a14611d89b00e44d421b80d3edac39160ef492da8810e43b0395986107ad4b517dc2c049b2a99e3488510fca5c8e6c97b1069ca1f049f7e583dea8d796495bd20f84f11b9d3c76da9477b2018d73c9cf41cd97e922401c165a6f6dc902e4aaefb0fbc49e5a47b7e8fc2f30e3ff0d3d1fd2dc5d26f76fbc06af8f78ae7bd50bdf081cfb1358fd24e2cb5e01eb89cced1dce247c8a3f5c085b256b3f249aec9039b3f634cd9dddf17163c70b93fb61ee6cdd18314bd031bdcd3776a5bc977db819daa891d2c5707ae528c3d0cd1d6267a840e6cf7f842ef5cb2368f3970ba97d32372d6210755c2d256da27e3c0959d7fad58e661aa09072ef554fc71c8537b3ff60d9c05cd393424767b791e908118dfe186ba27d5a44a7994d330c01b13b40360c0b8d21d6d605d5724bf47dd19a3c906a6c7de273a51d3b18682411d6a60c347e575fbbee94803df599ab5c6d60e3470eb6e69ae91a353a4f5011988e1818e3370225133e3674f8719d82e119b3ca8cbc079254b753ebed36041323059e366a8100dbf14c7c0272ff54b1b7262e0738aa9527ea8d4abb130b03ddacd7b9e4930f03efc3c1f8fdcefadf205ee34451aed51e9b9e9053ea5a87f6d1d344d481d5d6052e5a95eadcb052e275a6df4a5cba310756c815d9b50b731ae330a0003860966f43d200331b8430b7ca8d0fb91e92a84d03bb2c08ba67e1dc987a1030b6c0af51354ef37f52d57e0329da4c5a8a4233aacc0e4ba906dcd72dc8f7954c1982f73a8ae895081cbd1c765e7c357cdf99c027749ef2b6e8e17aaa14574488175ed88b89613ae9a0ba2230afc6ecc19ca879f7de905a2030afcd834d26b8f87b1a0e3096c08e94c72a8d8f13d5544d0e1047ef822a933e854ec7126460c1a6ed7d1044653cc16e2e5d821f231e8aad0c1047632f628434b0b2c96c04d5d94ecebd43f883c66f4e950027bed95a3a23a195a496024ed4df3cf3f83576468cda0412c0a1d48b073ca973df4de35cc9ad071043e7d2cad7cac7718a1e4f913726a4a3f1e346280e06001023174148169df9c4c4cfab43477fe035f83085ce669d2d01ae98cfa162278742182185b9c9ef125091d43e04a4fdf737b6bc45b195a5ac41002132258be38d1773dae32b41e5f23c6bb22a123084c79e89baf8f27c4249223740081cb397f65d1903fce17097e06113a7ec0afa594079207910cad2d74081d3ee0a582c43cb2cbb143470fd893aeeb90e2248ba1b23974f0808bbcfd387d3e76c0d45b96d688e77679eb80f31bf7fa0ba51636d5a12307fc956548379dd5a13d0e38ede89cc7e35091d6c36fc05f759ce0c398b501137bbc9f92f64a1eb76e4b0e1d34e0f773d8b948fa617b390326bf736fa79875397a360d1d3260a472326d602cdf3ea30655a9ecb9bb820d8f871d634a8fde972c57ac81b128164172dc47529e2bd4c0a6875a064992447b641af85155cc7920d17248e6b9bb020dfc78e0e3ca4df57570c519b895948a96a304ef509981cbe91a417df4ff92f232f0a3fc03fda18fbb47b154323039697b578ad6ef8f19033fcc9dc771b52aed6a17032b95ed3d4c11de5d11062672cc6361c21560e0f28fb3ba8fdeff02ab3f9250ef1b2fb02e413d9374fff48a5de05d7bf431cdaeee87712ef06963b987bce7f51b6d8171df1e751e7fce2142560b4c8f6c24fddf67a92865811ffb58e4f1c4150be4e8761ff23872054622ffa46e925881cba368c9a4ea7bb38a55e025d64f5d4fe7415a970afcc58bbbfb21bdcbd32970bdf97fd0eb49caa22205aed72d84e75c21678b4581f51f6e1e0a9ca4d5d8fa693d81d79cf62397ab4e60bf873ea8b5582e95cc26b0317367b465b589a498c04f1e5414edca9aeede1298107c6021f254026b6565c992f7e7246d12f869bb7821fee6410f8348e0424a77f4ccf58a23b0ee497c22c6ed49df1546e03bf7574c12c253e71e4eb8a2085cde454c59bbb5275944e0cbe2254baa11a61f3204be223244ec91649fe442e0f32ff6a84bdc20b015332b20309ddc73c50fb8b4daf9d3534e91a85ce1032ed407d5298f633de0bcd76f5b2ad4b3723c60e25692e416826e0e6b077cdc38d9922da303263d466e0dd1879d21928387d1f9df23e58138607f5813a6e9c75e71037ea0953af857e7ae2eafb0019bd25dbb5fa50c9d922b6ac025ff41baef45c82ee90a1ab0953ec6b81bc919f0c3ff49c980bbf71472f957cab39018f0d9a7cd3b5f98671361c09b0f827596a4bd80cdd4d125ed0ffbd3c505eca7bfd589aa054c0fa5c2f7a32dc3152ce07f72e4aca9c752e9a95530a9fcfa74b34715bcc674a6e7e3f17a4a39a9e0f3a69b50c1db4547eca147714dd729b8f4e30d567729d8688a29389dc86f633e8c3dd0ae147cf520dac5ce17d79a9082c921eedac74bfbe33c74149c591e7d0c52fe9f31a2e0a42284e6ffb5cd6c28982891acd9230505934d33bb666d9f60b35f5a4aed833cc1eac692905976824b793cf96eb3c5093ef3388e6b967413b5a6ed4813dc9e6b97e4d1a5e812ca04af3a1daa7aa095c75f6182b35c1adb63489f913697e0630ab7ffb20926fac3124ceace192da5935a8895e05398e68ffb97f29d47095e575386f0ccb7499e4970b75d9e13427ae05e9104ab93bd793ca6ed5c662478afcadb53f5718b8b906043dd2ed3634aa13fe7119ca50f935de4d41d6b74c4f1f3f0b447176cc463ef10f361c52823f89c12d7d2b6a4be962c82f03a8b998729b48ae02c0fd34ec5cbde835422d8bcb9bf9383f4d8df4404b73dc87b9b6d17d7c71d82cf7911630f23cb43a886e03b598f48a95a884d5a634908d6876ac9d62559f0280e824b0d298f3346decb635310bca74dbfe79cedc7d90b04d31e3282ea4aac180704f7196379de8fc7cbfe03ffa2ff3e1e7de5a03df981adfe9c98d387c9873d5182157d606bf73d6756d1cd11f9c0c598d5bf2cbd7be043b2f4f528c77b60851e58cf0a39e6aeca8cb8e6814bcb9dc1fa87c103972ebaada5107d5cfdb903bf3e483125468520593b303d365a66bdd5813b718d48930edca610a147172c4d4b7360a389966950c99d1572e076ed52aef5c5c83cecce8a38f079207918a1962f25b7eeac800317c4f2434a9f7c03937286b496872186102137f093ceac264c37ebcc36b0996d29fdf86369ec416c6063578e1e44a868676e0d8c0f82e6616a8f52031f21a9b84afc514f65b0220d6c451fcbaa5f0fe9ae0b3b821568e052f4f85f826de4b1e479c18a33f0a97482a57fd47ae861062e2777ca72f4cbc0c59a3c1a4f273997f764e02fc592a9461ffd0ffa31f03968c80fee57132217039f5dd9d3dbbe9d441e062e4eb048df3960e03f7bd429197d27abe70b4c6ecf10f3c487561be3057e5c59f2a5d65df281a60bfc208fd3a2c513cff947738189f931c4b2473d49ef2df0621fdbbac7a34f9b6d2db05f1f82c5b07416f8091f6b651ffd30355d2cb09d5d92fb79ca2e64afc0daf7f8b29b85caead40adc5e8e9b47ef934f4cabc049ce56529d99efa3940a4cee1e678e27213366c914b8b43d283bb1d0c38e1229701233e6087e99efa36414f895eaca7ffdcfee2114f8ed4813213e810d663d0cc1fdd27732273029d6a47bdfb0789e26b0235279298fa7624c618239254f35751d65d15dd008c14b6006040660802058b10446aaeb25a494aeb5542758a1845385bc9f22db4dd524f03f111a1218fda0e6c3b8122facd5d2821547e0254f8b07edd8ebe2932c58610493a785ece652debd0c2dac01502001694511b8b09c4275ccf91f584104b63fdbe5cc563d163528e0596021c3003eb0620837b042086cb6c956d3b975f4722a08ec5592bc962143d5ff000297c7aa3d1ea4f451b060c50ff8bc9f7c2ced9ea2794faca856770ff891ba4b4c37e9e36d87074c5c49b612b276f528bd83220f43f85063ae75c0d46b08e6213b8ff6dd1c706d7d1abd7d5c9b218b036ef737e651e6814e1e5b6ec04afa9496e2436dc0bb6eeedc9f724eaa690df898bea2b70f7432424a03d67d18735aca8e881ee6fce3c133b89080096a1c00060c2557b06206fcb8d343e8f1f0ca7e940cb8ae4a9534c4ce0fd2c580097e5d9aefb27aca81015bc15e7b2896b91ad50bf871888c9d2aa41a58e1027eadf747f143a6f5e45c58d10236d3d3e3c61e7b950f8701234605c20a169439944e49f2913b78b18abbf3e6f7dbfa9de8546164d79c97db59e1452af8b1bffa78e8a2637d362ab81e0f7254c9d93dc50b53b0abb1c7e62721af7f6c51829f51022c1e5f23022678062c0e5e9482950efd21f8a8870c1fa4f87e72ac184374148ce44169c87fb76d21230aa607d5b96a7787827b0d49f2369859a70514f909be3fa73266fcfd1e548abef0042baa3eec54fb5fa7e9043f1efdaf8f37458fe3a99cd022375130c80b4d70d39b5c75fb7ef417bec80493bdddace28de4ec282602893da8d48d6642c358281209042281200c40c3cc05931408001020260d8642d1581445dafa011480034b261a2e1c24181a1c141018161018160c0a8682e16028100a0542814030100a07c4c3e04090fe582b0b23a9a4fb0e72214018ea830457126955f35277d99c13a8ee50d4da1919c36f7dd4001f3b7bb11827ebb7553b9c38840a2e14494a830e41d40c99aa31d67cf942dbfa9abec7ea99ec7fb54acf3dc6a1d19fb447a82592c9d2c3482dd9fb4ac61ec2f34fe872aac97a50e873556f47db913e262325d259ac124710df37f0a964a3e496a80be629694040c1862289e2cb819a9f428252860232777b0ef14101b734d329dc9dca0c9e63db1ba8742814d43a0d090a0005ac0e54d56a4d4f6de1f4a0b00e90a0655e2cad6a50f7042c9384807a4169a1de1f4ac7741cef36a52028448402c2d4a3158913e1808ecdd85b8a0f8a05b52f286018de400f240a88e8d21974a6f06b24141013839f7e3cc13c8c52de138c5d07eb4c0d50ff505b8dea3b2e63f11ba80c504063cad13121516241c6e00099417c929fc0985f8218916d2e29a37468f08181a1e9c8bb41f940a914d5f7003159fd10959f29a0ab79b0fe3f053cec11ed4760fe3a53085ad4c21db60d16c66019462468c21caaf3b836f2802241915070a804282751f1f6428252210564deb2a5781805dcdbff063016055cb2aac274850282fe6992c0890282f9d8fed7a116ebf4d29dd76fb815f55147d4eaab461dd415940100872284caa194a172502014052a08ca830adcc0add23581092712b75a92be74bda168288203c151a84a01fb83e20043d11f155f88f779c8454d11af3dd830cdf0c3a190a006941ad46b543f53e8a4801d40894963966360515cdb369ff0f83eceb9fe4bd74241514001c3eb42dda0aafeca0815e02c31783c81c2e670fb11b06911558646e960e507b16fa8aba35c760a681a4a69a903d5e79d6bd29657c1730ac8c23a51a352fc62caaf29b933539bcc9a56c580c23470c01d792ebaa598ec343ff59335ea09a11c92eda5a805d1a47ba5a11c030a0c45043515050c2981d8f3040514e589d1c9525149583f35868b895095b23ca9095d79b146f8cf348f628691240b27a4f22e1200ca02701c270202c1410044683b4186c89cfc083142430047a020081006080a49e88f7a6e9405047204064285d044e041d0211c101484168a7006d3279c6214389ef07921d005ce4bea8d7ae49ef6dd19d7972a693f99a58b4a046d941b0117d4b59900a0fb3f839cecb04483546b2c954c9f8d910f9ebb2dac1ea477a4db44ebbb7116d1627a8a0c64f613d7dbda0403d07b47e3da9d775855f6684da444b6e647a5ad0f2188543076211b8e78f5be984ba08c15c8bf54e07f0017bb1f1341e3d8f1e109015152907dfeaa40881449af133cfbd15f3991ac01c0727076c24214760068e8b85cd2f94da0a48fcc646da8c845ebd9425b10fb9bb770e3f538755eb272c653308038e6f78650dc7e41e74340ed88d86adc8a53b008dd9dfcef251808fc0a2041a7c246992081f67a71b231d82df6542bf8f1c203b506ef87e78b6f3c180133286127180e5e03b1ea4d665fca175e82450c9b2b12e1ba1a4691c2933a6fada53ddc48d0211e2f1e80c68e8ecb431e361e620b1b64587e4f0c27bbbd18626f6047f0c465c0cdbe1da5cde19ef1780d825bca37debf11ab39e1f000cb359362b38d3430e58d3e5badce1a366f52194408ff06006edf7ba4109e96d8b17eacd568b11803d6e85283f4aa699805e2b81fbbf79508362a0598ee51d80a7b021c7db0ffbd258c845d8583f7ebd52601445025ba18b8a3bc9721204c95600e09eedabcb0046a9794e40897ace8f48b8e1cf8194c850772a92acbcc772b76d04021d4514817efecb701ed5dec07158d7e9aa4454c56d19106e62f9987e2a54575f9a72d9bc26d5c27ed91656c6a941b2167cc28570d1a4c020a29a06ff104d2138fc9016cf52ac7627f6dc03a715a60a70b8a619c5ea125cf5beabdb926cd5216928d43b647fb9287936809591a7718620777801f4f2423ae8b473acf796cfb586b5c698dbc1e03d532dfd4a50d08062b74827b250c3082931e5b392f29cbc9ea56184d1b065c3e82b25219068fa3b91d069a3333cd11cfabb7cc1391948c003ecc8b714d4e3fd2845370fcb7a97ccb6e263f86941d2633702892e16bc96e1905c8dd069425d03fc96648aa4ea6c651ca62f0eca341fb479a9ee13b2593e33d903fa137289eb95a7fed911f124b95e2bb16692e57f471fde6c2166cc7afd04d03eea8aa9aa8c9dcb4cd5dda9c885f6f271e4c18e81c73990ab52613b249c9d434bb9b12268299d05430a34c451358c81c819bf7d5af89ac93dad49140375fad6cef9f692cea439f1389c3f09ed904b2e688523ed7fba7b723ea991c2d98403427c054173504ca77cd05ce8c68a65ad31163733f40abd960ee33d9cfdc2d51826a50a2b6cfb948b19cea6d69ffb70ca08b1c962d54a2de4fd20ac840d13356ed52bca5f41f8df27f6e6e04575d44bf1f36eda42cf0036280649a201c225fc8dee0ef91931bd37859afcb1e0515c44930b2b68d994257680c6ae71b90febf28085b89c26c05cff9bf6ee94886e1ad279d532c4478d05c55068c4e0395fe2db2f6a40124cbc70af8c1a06da9c775b1a395c7a61b18b61169d08a25fad964785b7382796330fcbd9a637d2d12d0064ec3b44d75f83f1ba948b3acf24c30f0e5c5fee057dc47f20baaea1bca06d8b0e60323403d644d9c357e756c97cf9d0353e9dffa228da8f6e8d7252db00549c8a390094de58b2808e828221b098824effa6abac9e8e6fb3a23e5519e2f63bd5fd31624589e44b47643034585c7acee9b65633c996ca0c8817b6d26e4fa8a160badc04df84f218c1a5f665c7235f27e0a56fde1942734c54ee56c74e3727f274bec3ae2ae85f4c8c1cfb826042820fedc8450d4c24051294af5dcad8911461d64007ee82c03dfc940fb22b4ad0e17f1b1f689e86be4eb1cc0679162402cc92a80893c2fd4fafa73809c1012a1db825975b414ecfa039a528807acb5fcacfb72222a492bfe914ebe4d7d74e858fe26104a4918ee824f67e1b6eb644c976d8037e474326ae0f4e78d34d334b33bd3caa7b59f8082d5ff515336d2d4f4ccd02d0cfddacd8ab6ae3ffcf8ed63f707d29bd692a50863a9e4b5943dd99524c5536c2e1b09cba822b5527bf1d700856a6d532b351cbf8a725df21eca203346f25824d8b69d02d5ad80a485a02d4d1b225fc69aad57c6b6bccfd7358b69d57acbdc483f5dea3aa27eade1516818d95b13fa3bd0c704c44bba5f0e6ca3ae117118cf1c6f385816f5aa187ea1c77e2f56a55d9172835e51f3c43178436e3e2e1e7ecbf0d2a9316d36f23520a32084a1e01595b03103e2b51310125ec90ab49322db2a0af4d513a6da72636612fcfd2ecb0899924f55ea7dd2083e5531f73917d6b4df05d282d0bcc4748a3a669bb734ad46bc298c104535e8bf8c59b6da5d526db3955d057b9d4472ad9df25f50b279a55393964f86dc3cacb2f5629836acf27e5353894b3ca2b7ae2f7a8ac1401045843d77b46b9d5f4dad10d0d5aeb81a12063eef7319144dad0d05374364dc20bf5e06d4fe834d40feabd61108d7e809b691bdf72aeed66934cbb5f5807f097ab76a0873cc1abcc1c0e25903bb939e90bd102e1003353cc2d0094eae41cd5631957e39dac4a1e95295d8ed6eb4cc1d25e3293cc79201eff60d9acdccfc8baea6bde6c5827944fbe130fb374a30808965f3f2b64aa4875c12e1174abe62764ba234dea5bf44c52c2e7d7074e62cdd004d0175172a343ec4780592282411a4bbb8b3266003f430eea55f1c7f055f159b0dfb2015fc385f716ef9ca4d7b9d8df5ef25c42988c37565ef57adb9c35cc10dd38a3267dbbd2169b120655baad19f1cd4c9c9cc01858fb19acd12276f0c53f849878f180c03b905e7a246c86d4f8ee1258620e7caa1a484c30345d325cb652c972f5cabfe820bee141c9cc9b2749759803386d31cd7251a5e878940af7e04f05dc4d765b7249dde22d1717158a17e1a0c6b55f708e885f2c5959796571e9039679765952eca4c471c2c2b8bfd550ab8e4e17da74cda68f0d57fdf4361316c1212b9af158a19c5d16c79e59bbd8889e33a8aec2ec400980f5dbfc063c29d4c15ad8a50423ea48e38acc571b6ce6d56130c60725c287c62221de7f040dcdc16e8fcbeec33293b9e6819d5dce2e545af33f8653781f6d2cb82cd1c4f4db2b96584d2057b7927613923976cf44d2544f0716c304599b029405f9b01eba526ab8afab0fe9f4b5323e2045489211fabaf7b09524fea908b1520f19bb2508c308f3ff1d09116dc8daeba7cdd30ca74dd91476d5662d155b442afe84342ab986ba71f4914b4598555156238f50cbce1d59449f92178e97349eea28d9bbe51969779e66a353ecea5e1fe403f9bdd77f603d6d4435d76cdbc44399816ff558d2179e55df83b94ec03815673e7b6a2efd4832c24b0d4c04101f0c992a904252f6979553bf15a1392c361d592b5a6771a8270b596c9c3b1b9a60a5cb2456593077b0065823a9ac5d9467254dade3b0b92c913a835da4666ade192c5e74dd1031e2647ba30b3061639ea1063cf04ae87ed1d46332613c72fda5ffde51bf517707268f57ee493f2391254f3f76ec07c82822921e55d8c2073ef3635b38c82465cbd29801894c1dc68a81543677efba55bef5074ccbbd2c2cd7700c06a8391d5314f180ec0a11065ac985897c71a36bbc28cef01b35c1df3158203e457547ec97a10a123fa996c65c8c051c50f5c4848294820177ebf98a6ef6e8cbfb1b2cfaf0a589a3a41216f5fcf799276d36c490c91a6745c68e2f4f46519acfc924376d939a0615d232b89845da7082e72954a9f5ef5bfbe4ff2c9a2b3589101be2591ca41dbcefdc0533e7421bbcf930ed5f7aaf832850a6b33f4e71fc23260ac76c3723af30274d33b874356045a62783678d9ab3688bdc40c41726999310397fe20f0ce8b9bcbbb853e41f0bbda2c1085edb48e01779dbe2b1158023502377646ba484911f31ca298865dc2dc030f7af022a595a0afee7f94543edfe644f0874ae0422f08376233471b900ce854c95e9d90a3d409921adb816552c12293db759d16ef80018f32d9a0b028261f66fc14fca129ee9598668e650ab1b5e0958c8b2134d3f6bc5a153d3499d34a5a7d0c8807b1b94374d2ea46a29540c394148b8d4110cf0365bacc58260b52a3f71edcabcd03e7a144a6fc064fe17af5dcc906485c8be86af36ad320553d65d1e14775f6064d489bb0ab3f18959102944bd7edd0d3b5170fd0edd279b75f8536cf0f8586481c1246b363c8f3c03dc93661132ae6d1a3fa7a364000b489d2304cba8b136b1cc4ee37939cacbc0109bd25aa0806d6fb3edc94041a6db59b1dc9802855819b6fd09e80897238e0736363f85339895680ccdbe93058e06ab1a302ce1dea25992e794c9e128b2ab6989227a8c875aae61e9515af690523bc68742b526ad775f59ee0efa79c75dfe7221710a67a7be1fef05c781d338d4fca0d73e10aac03433a640df3fcc79ba31deef63d9473dad45a7fcb0f496b65c08525e85e5c26ea28a5bdad41236b87928fe59023a8d8fd9150a2592de9f33508109500696cd50b1d866709b5bd57a5741d1f99795cce787a257a9456e29b8543803609510159b496c2b6b43b3967f008395234f31b16b12008c028ad927b9da2de65ce44f47f4d342caef762814f2459ba4df40aac17115e4341073933180b3b711a472142b8bff56081f78b635291825f71f8ef8f1af571ef29d4fc1f5b31846c8e20dcf9c990e9fa7a2f4c1884dcdf169c9ad07528471f65386d20eeaa8105c37078ccee3fd21f7947aca8a797dac84f4703455a4d3be0fd2571bd618ad628a4ce850d307c55f85f52b1b37302bf7dce3e07c3695c2c8e930835619d822d241d28eae2749d35c9ab3b830fdadc05be898a73a200973499f50289f1012150a391366ce0787d3bd126d25dacc83e3d378c0d138f96066344447c69eddb265730a5c77c6d191b8b2662d4333519c447c5e963ae05512cc5302f8d055859220f21ec61f52165c6bb08fdc0fc97b88f3083447934eecb27d44f94b1281fbebb41dafec86f5f2ec505cfcc212416e2314a96c82d4dec58d8ed49b821561c7e65f0a690aea272d70400a2c6273850d790bb0f258baa5e5e7b21f5b0506642d296c60474794aa280cc921dfb68155c941fca8528acfa8b8a7134913c46c520482708b717f27dc2a8e6bec36f7d94f7e822a7977fdcf05e533e1b2c0737b895d67b4c16e20d0639b13116a239214c92bf92531315dc8c4240a38fb2f8cf058db4686ef9ddad97e3b1679681ff03979cb61842e63dec57c252f5790d486b8c7734b1fcd85022ddc52059b91c717d8a3484dd88d98de8ded17d9c5b2c6531a20b0ad6ebf0db83bd50c8f57c3c04eaaf0c9e7375855b15f5e44d0ca54700cd0518cab0c735b2b534dba9a92cbbd0614697175874d9c55b5767e6e2cf389525a64abdbd464cdf97e2292b13d34e63f4daf714611567c982dc4e4d1a0b63161750f42b0ab489bec7c19005d0a7d7f8733329ed14bc844fc4151d8fd51efa6e7991120348eb1f4ad3d23b4b71736f36bf937353a5bad83e7c945ce53e8461226b24b880493719bf33bf4ef384941db385c4fb927a790dae6f6d7073fff588bca6933542f11acdff229858836f01dccb363f54034d3a04b81da861bcc6f60e84cd753252e81f5f3b9db0ddf3074f0cba81f60d14289cc87cd1ea4b1ee1d3c5022cc574872a4900153eb2fcb38c1199835bcfd0fc8cc73612f97a4f20f70f3383f67fa87c77b7c1a17794d05dbca5ac593ba77d6283830968f967824b293ee46809d1c01669fa6845633868b370c17e574cb310f645cb24049baa870aea05a42e462baab0c900b6782824c8c5fa53458dc44bab851923914d64e59990e2aedb42809617cde01b05c4b5dfea3054bea9fbb69f5548bcf0baae2a6d91df3a3ce32337322cb1de7f570e568b995949a693819fd38ca62888602d952aa6c52fa2c1c4dfc6be76012de6bc4faafa91ef23c662f807d991ce58ae12479b0e0ffe9b3edfcdfaf7ee731fe377f6e3bed4d975ce67715e32708d50ef7c0ee19708742cfa3b572789159699fd5f6e89fd6a89cc99de91f12c782ba4c3b5b3495160363c1b9d01f3367d8f61447cd1bb21cf17a647fb31878e12e982852745b503eb20e0a8676d56be1ff18d9f991765da1a8a29af5bc055c6b06699b856bcdb8d51cd07046c3d605f6dcc56d43513fa54484835cd41d1cc5a1da87c017b6013fecc98c030648d95bc70366f1cdaabe66c494c8dae61ec8721d13b7cbf23a96c44bc58637e83f24358e8b3c577a5bd23f88f87b9720c7dc240f704bd217309a6426ef1878cb290bea91289ee59846be7b412efc30663d32989ea777befb63cac6dc4094b3308ab584cdfe51cc88f017b852c4b6c7152b1f0172d261156629ecff1749f928a486295fe8624f1de861a6721e7f2ca80257462cab7fa528e45f146f984c2729e5f4187db2ab49fa68f4af4f4eb5c3b5af1879b047b5cd508ed75b123f5881c1d22ab24473dd53bdd71a448b814e464aff23da6f02d0544814018fdd474abcd6ca508056607a9f0081a61c232cd3d82af52a122b1d5e4a1f9863fbae3044495c8ef80d2fd6967997e3b11c31a62d3f485b90ccab6411d65c0b09a1c1058a8f2bfd03087842c66e26004cea099aaab358b3067a2e101ee79353404133d58c95f56e2af1574ced0143ac68321cbd0d5bc7608cad549565e417f0e294a7925ee5430f1940240c1dedd2dfa50d5b8cd4b30ed1826b41e75acae339a73c744db5ed0d7215429be59d7f7c2f19236fb6054e18fb0481013a08be64214649377503b7d25cb8bdc059b27b2fff3e4b8aa4c77c1198fca61f38ccbe48505ef5101f677c3efca8ad5fa6de73eb2aa9f9dc25fa5330886bec1094a78682150b18a68e7bb0ad1f267360f8a1e702449fbb51932c71c872a9f2c0a849cbb628fc388459b8a607c808ece55ac46536e14a9e06ec4785d1cabe8437eb37b7da8bb0a020215b6702caf3ae4aa35478ecfdba712b0d06983aac56e0798ad5628d02d0c45598ae30afd66728c355e3308c629c98c6f76d4c3d7be92ff08f29212d973675016133d4f17f3bdd2dafe60e063101e659303263e26233f8fee1096f4b3fc938ff48a85eb324020c80f07d621da390ec3e6059c9523746711a25e7ca05657e731ab2c6c47ec5177ad0df1f269c5b1579b1d45300657ba6e11d117ff87839aa6a2394b2cd2da4052116ea83740a3a496eb1951459a52561df7c094f29a59c760771faa49f23376d8379ad7dd20f2560faac2c5892401a68e0d956a2db61e2e5aa5aece21555ed4c6d3498b628e2471f30e709d67b75755b98ce3253355f2ae11631adf773920ab43e8837aee9c52efe401ac4f49329895394eae905a4af8ea0526d35c2241f1e67954aa8866b0c35944b3457a6205f458bfc233421376ff4de1619ad6c15cc0bccb17bccf09912dfd3bb3edb55353d43847e82e16967166d94460a23617cd67e0d2693817bfc47578080d28491e6ab12d6749173bf19a9d83ba145841c87fadd41ec3cdc85ba7c69cb459ed2fe36d64c7ef8c03b3bd6b295d625eab2f3c4e216ebbf996b93a9be6a66f21307680b24da7a7411b1c5a4747161404900e8da857b02d949c336c686548c82364068e3229b8ea61a2775650029ef2b3211ff39ea5c57caeb6a25591a1eccc809bc0afd0f087f82c55b4243bd2efe1232d81406df600f051959a42aad656f335095d2c30869943f1af5432eb77715a79f82e70e2b61598c8a148a791b89ac4d78e3ad031242808ea03c5fc50ebc5d476530c54902852a90a2a04050f2581bad02820f05fac98a7e793f8e9f8a9e64446419e929ebca7fe27e689f05478f248c5c5dc66d6b16688f63c5dab9000b1dba3b5295026a8ff42f525022d5132294050b44bbe470810cacba8a75400d48944b9347e95590994034a0f6a83ca8142a04007750f1ad37b1584faf5802a817aa1aa0e94a25a2f2499974286f2a11c6ac5c56ce4584202aa198a0735423513d5f722bf5ffe54d80ad57705d7b73354224101cdc2dce5dba1804c0359cf6da080f4735632c22860750104bf0c2a8e8d94000b829243c9a0722854283346018dce5ef5d74b01e9f7aa41278438fec618c51753f626bd14ad0754909da34029059453282e66810a40b9a0ee014688730687e8e941a9a11650e50d05340bb6f0af85a22d7796805e37cb8612a096500050cea28006c6d29a64507dae764746060517a1ee09136b0f33140b140405d0a274606c9d3505aa0d0a1f541fa36c2a378332c8501cb27a5402dce275faa1f41a459b017cb9ffa17628754515a4e886d2f19c346a955085459524a5e3827dc3d83e8a957ac028daf3a80a2511ea8062421140592b2a21a9eb24c441716df03a0850381438d464548352400186fa42dcc29e5741281430a1212556b8a8e9d19e8e1636147a51022912aa04ca051582924351a0125002a8242807c50195833227358a59f8e1ca57bf48675e1457ba7328e0b6fbd76a3b254c4f199c15027a8b53923860b46439330f0f0f0f0f0f0f8f4439e04692d05a1b2aa9324929694b3f2a34644a29a52493e0ccf1b649db9b129fce4c7c3a33f1e964510206092309f008c4362941927e8bd095bf8568263d22f46a4a74bcb0496a5fac63084d8c2b2a779e74fdd021843e43972a6f95dfcc316b1d41e892a4788f9aba3db482475cd850c260e800421b2b9a8e15a3a29a59888e1ff42764889adaa21544870f5a93f11f457914c93184101d3d6834c5cee141bf99457fab995bde9c1df4dea1adead1c4db731db4173c2df5e74d73d08ab84aea947f1c34e79ea91a1a0a44c70d9a2472dee43e9be562920ddacd70594b550ef1d051833607e17351b6bd43070d1a717d3ac6f46cc5207ed131835e64b4d241260d91376b820e197461e37c0829553a62d0689ccf96522b95885563d38a4ce0033422d00183fe536cd7589d3199fa57749a37c3c45c7a1ee671451724c9707abed38ab62bc9d3aa97aedb3b2bda92f9cd2ff84e4add57d1a87c59f7adf4b1705145eb1ae67a2b9b8a36444839eb69dd58222afa95919e6725798a4e9716d36a31a6e8ab7a4cb2c878afcc6294a217b14a792486535eaa18a4e833cb4b12896e7282196314085926ef2907dd0a2b6288a291bf8a62d5dac92ac547c408455732e3856ea55ad0b906786420023828e0395c0125e0c2065f210628b2a41b5ffbe282189f4005312ae3ff899e9107313cd1c89b590ef552499f9d683575d29f6f9a21c4e004227905fde39f4db41e77e5e44e1299134db4bb410553914c4ca75026fad22063ccfa779fe98c89362891645f454bead83d3210011c5b6c71895e457490109459062164894e856c31998cb1128db6ec381752ce31b4a6c69a190ddb1894e854be3837991c2984a98b1b1838c01b0f448c49b429beb76eb6a4674005bab091c32f10460e1bc7bdf004202e0ef02cb08181353cc49044dda9351689b6dd4afe65f890e87224cbd4f96a69ea23da909e264ee7883e093149662d56820c6a44232b75f65c27e191754634573a7508d9b369f2d322fa20634c4fdc8c223acdbfe2ae7bfa92b589684ccf4479ca8c884e9f469f4f5a3e4427927e48101fa4cc9f8668524c09f2adb942b42283b008495984e827768a3d198f242e5cc41884cd8821881881e8bf3b5aec75e514b4bd110310ed462ba54c0753992fa781b870242f88f1873e7cb6ea8746a94a72c3875811a2268f10a30f5d897647505619e12f23c4e043db313ba924db09428c3d74417599af698aa62da987e65bf5326731094a4bb20a31f2d07658970dda730e316287874e08ad974fe60b9bf773877ece8446abd41025543bb46a16352ac4a8433b17454a87368accce13fc2ce814cd01bdb16ec9a1d1949584a559c438898395457cd6ea39c1a1d1ceb21f4dfb3b4ee70d4d9cff8f942fe99da4754317648a1c942c9dac74df86f63b53e5ee76d8d1940d5dfeea8eb928d7d0cf970e3a3c89775ca786e642684d3a7aba840ad3d0842de915b4be6868c39f509ea1c99d840e9934f26ce766e844b78f10ba97a149214b6ad9f490a1f3d8971ba3659c4ba231343e3e3ae44e2a79dc1c31b42b3a86dc9f44c547250c8d5e4fd81c4e0e864ee7fee516b97ea16b399329fdbdfa37e485f65d3faf88d8ccd848177a539184aa8fc90574e35f8c295e7e0bbdae669e755ac43ea516ba8c16575492853e4b90bd8c9c92e4cbb0d099d099241e41839fce15faac1b4d5432f91b6258a1cb4de9c9744c91185568ce529f0e21f9c9ef0782185468b54727b9167281185368ac928ea1722e7653508d3529b431c35e1e8d9193104a5dd058818d94c0f8825710230a7d848f173a7bca499a53634d0531a0d0b85c4ecc1cd5a1bea9b1a62988f184369592156bab302a6a6aac39410a319a700af152c860bafc2206133a2562fea5b81b37f31b5e6ce100b314e412368612faa0abadfb9dc5724c4a427bd919bc3ae484182919e949595e891ca1d93e9d49aa693a3f2b420c23b43163f8f7104c44102322c42842ef41e5b0dc21f644fdc9146210a1b73e6bfd367111a14428c41842a724a6e6bc0e13ace252882184264f8c20946b45103229085d0cfa7ed93f40e8bff49ece1fe41fb4e1a3a9a76a0e59797d420c1fb4253fefe8af5f08428fd1832e64b9249af9ff400c1e745d2661e54a2c24132d1063074dcefb313326acb146a30b742888a103a387511182a7ae0b645dc4c8416fc252b356eabd1ce1e8a2580c1c3432da2a3ed2b73ffc5fd84034beb0615f1031c4b841f316b267901792635a2450230050886183469b4829944ca533168316a306cd6ea78e98dcd14c11433bc4a0c1ea13f47b59ff25c60cda2ca74cc7e4315a07150e316440b68a39b965e718b411a3aa448fb7544a6c420c18f41fe4673c9162372c7b453f4172cbe84c902336aee83c5bfcfd6b897f42dc8a3ee55511b9d46545bfe93349e7e79580c52ada183d47d231765c265515cd9c52f9c3857553d167eba4a733ebcecf4751d1573c7d96c92bac83f6145d9609da7a94c6500f99a20b2aa40a0fed5c515e299adfe0af299677c887d0c082148dc5ce7f199ecb425404588ca271cd563aec591dc042148d4ae1a233250d05b00845f359f9546eee103e486bac85b1022e0116a0e8c446b66c39b954e25963edb6c0e213cd9bec89f27180e105b98185279a9cf265b68a1a3983b8b0919260d189364c6bb6e819e1449ba2bc4feca477b1052c36d187d4f83c9d646aace5b80186a7474dc04213ad9fe7125a2e3c8245265a37591a76dc8289363eb885650d1f26872ed15ec63ce14d9c07253a4bf41a7ce3db2be6c5982bd1a91446e4c3c6b0719428d195ca3c4978ca26d155267d65fd1349b85efd5d241a8b706a1573ccc1e22a90683358509e74f74fc0e2115d767fb524ca548f0c7244bb65397c8c123faa6f96095834a2d34a2edfa1e35445c8883695c95c5a39948be84d877c48fa221ec24d45f431bd235669513ab728115d902047c74269ce8c1044345937d52d9ae910bd565cc4189a3a94c918a2d96031c3358465be70213add36eb945342b411b373e7fb9c07f1201a99cf529cd82441b4b367626e4281e86298b1381b36454716107d2925741661963282da032cfed06849ec50f1525eee120858f8a113f1be2c3b93ff33ef431b844ecd1a925744b2f8d0a6f80e5619738e49780f5db86026948a1b2cf4d09e4a4aca432335858ede91c301167868540c2774a627ab70d93b34427e660a972aca2cc60e6d8f5c5bc698a5df671d5a1995aca6239a9a2258d0a1c929232747d2cfa1519a9e3a574849e34572e8323daf5aa6107a4dcb116a4ca62b3ae87f934c8da5357657ce41234ae69c99a6393cc738e84a4c07a9bf41eec8f8065dea06dd2571abb4676dd087bda0513bcf1a34e293c915719d42d21e0dfa2c9a2665d382f6cd0c3a93a1520c9943c8e93268c445105a42c7b25516835ecfaf6343a8077d660183b64c34c6ac5479bca2cb3e95707e1593881a57f42995c675983c239fd28a36c88c9df4afbf270fb2a20d1176e464c4ce866f156df8e818264b1381872afad21c2bd573494597276f4a8488a17b365474494499e8213d4533faf5735e658ac693d6a07ae1b7b26a4ad19b5708dfa263c56425299a536a5154420832ef28daec922a299d6285cd1151f4a3f287a2cb70a14d8f78f83913283a652a85c91f623831e927daa493061579e463f28f27faec15f3cf95f5e2c43bd1c99d10dde5527c8b3b271a29da7f2989a55ffa9be8ba2a337ee568364dd1449b4f47e4ca3b5aad2a9968b47f55f8a87331f98c89ae3c8597fa56de1c2697e835eca9ce56d8126d3099577d5ffe548c2ad16eaad271743eb195b39468549beba68cbe989a9a449f1693984825941cdd4aa28b750da641b35b892a12adc91c4bc50b5321a28444bf9f4a46d4ab28ae9d47f43efef9b72ae9884e87e01ee3680c5954ae119d6e11a6165b413d051951eea609d3bde3223a33dd101d97920ca922909a4433a8b038117db8b9b78a883e8b489790da3a44efc1a36b8e9b19a2bd1c238a521ae451884eff276ff4ce9f2c9607211a8d24cd53e9061837bca091ba303456602315c28368636e0edb7abac3c7ce4310fd68f84e8fe49342c540b471fcabfd2dee3410175cd058818d64b7021be970e00108d5accc3578fca16d3939b11bb574d4de0f8d8e6e9dc3937c36bde94393af823e1d71c5bd633e74e24be61c1dc6a2a657078f3d3431863c63414612f29f1eba1061557489f507cb0a0f1e79682e67c9cda6bfc38c890d1e786845fb490c6a5a319368078f3b7c2a39eaa74c1ff3e061873e3c9369864b62d437003083471d9a2bbdb1cb45e541874e7c47e79cb3398736fae6c80f13a46ceee5d05857784ca14f57249d1f78c4a13553a139599c26a16385071e70e8820811fe82644f4167ded0042544cfafc4589d6581871bfa59cf6841efc6f910dbd0c8dcb32aa67328d1c9321b5249678a967bd01ada4f2933f908b11a7ad3396dfe214b439ba994af6507cb1d0b0d9dcc3195ebcfe5718626688567ea2cf1445c3dccd0c718a366d31254069bf11e64201e6340cfc6be6016b6f31043bf6d4a6505cd992f653cc2603348e001069b81343cbed046897e15c3876710ffbcd0cf8a96f3ad90928a7a179ad89bb233f79f583071a1d74c5a4cb85f5b682b0595a3063d26b2bc5ac0a2c7d492bd360bbdc4182c6a5b7c499d62a1b16ce92975b73329c9151af53671319b143942b742a344b68b6a1951ed518d351a5c7461e34b80a38b44ce48399f82cb2ab461cb3a27e58b5022e5418546a6a444d2c144dc9303877b5114e031059b516ce021052c8e524adc57c77224a360595968de7ddd1019a190087a2ed5725fe7783cc1667838a1499665fcd4746619b1228f262413167d31424c8c25b3b884643c679c6c8a123c177828a1051e49688450f5724b219377ec40e081049b911a028f239c8711cea308e74184f318c27908e13c82701e40388f1f9c870fcea307e7c183f3d8c179e8e03c72701e38388f1b9c870dcea306e74183f398c179c8e03c62701e30b88e57dc8ced7085cdc856d80cbc40072b6e065985c1539c2ff925e47c6aac6a872aae2315d7818a3b459716dfb76468d7618aeb2805e920c5758ce23a4461333a42d1fc5bd231e277a5bb09144d10b3d29727e713ed95cebc271a919d272f3d09ada34e34fa923cc75811a69be144ff3d5f1ec9e44d34eefd57794ad7442b3b9b9210b1b268e599684e237e90f82926fa57cb4f4128df4e29d77189c6abdc54d6b148254b1d96b0191d95b0191d94e83aac7364316172521d93209268629fdcd91d2b3f99eb8844af2d493354cdeb8044a75346082d9d8d554fc7233a352d226e6999f9341dd1c75fca21e512de418b8d68949012a2cc4c8826c488ce93f7a6a7b8885652644b39f98999ed14d16a8892db45bb76ecce7524a2cfd95142b6f9e68e04118d577647cc1e2b51af8e43d88c067418a24f2dea2e9f740c2a5c88ae448e0b2e424488fefc33e289bc1c7c743a06d16aa6b872523de7726b0be81044e3954f37c5106256ca79101d81e894694eda426a8e0b1d80e83da5c895e45ec83a162e3e07175d1c1a5f7061a3ee0a1d7fe84aa610238ea4989234960a1d7e68844a38d1ca5c922f3868e06da1a30fe520f1e389953e850e3e74d24bc7a821e78bb32939c0e882068ecf913c89143af69090d993f2b748133af4d08c9c0e7dcb191daccc4317d2b754674e39c88ad658c343231764f7e7982b56666aacddc1ca187a294ce8b0037154a69e3199afcd1a6bdc51874629df8e1c2ccac57bd1c52aa1830eedc5f023e4a69c1a6b5fd04842c71cda1555f163d8fda474e3b9e0c26b1c1aff451737cead113ae4d0e8a0840ae1df25d6435de4a081b8f82f48113ae2d0ce9ae58841896a2c8de7020c1c5e0ca1030e7d8c6b8aa62f6b1d6f6847c4f3a5d4a4d5a1c30d7d6bd2f831f7a80d4d522df243d0df395a76b0a1133177968a9dd5e47ed6d0eb494d6eb1624e71563574dac3c84912c344af9986b6c2f2c44b503157f0d0d044b7908296a025ce9e8c0e1d67688486cf31e4898efe67862ef3c5a7a60619961bde32f47a29e73e09a95752ae860e329c3252f3386ae0e91883279ebdb3262644bc430c6d65be944f644aaf051d6168938caa22f245c1d0a554e625d2fa42731a353f46b72e3d96173ad9df4f99cd6238bd77a1d14ac9e7a9fa542a2d179aa03505f111dc42232bc44d3a9e47d6dc68a137495562764e9725912cb455159e53fbecc0c223e48fa9a71c241d57e8e5a2a8de3e154976b8c30aa4a30a5d89c8e6a024ac860e2ab497ed293cce53051d846be898421b9ea269054d229b72d0d021853675630c11df9fa1230afd4cccfaaf97f34207149aad8c67fa32c9056b53c713dad1622a990e2d594989a0c3099ddebfc857a14172d2d758db1e7434e152522d84ccfe271a9f030c2fb6e8e264153a98d0244b8f953842cf6b250c1c0f060aca6cd0b18426f895fe0d311767838b4be8508221e8709a6d32b8888e24f4fa1f8408a5db329f06111d4868473cc39a3c3d933d2ba2e3085d8c25ad572dc4a8c68dd0012821e2714b712457790ed16c0ccb4942c6a8eb3186d8f7a45e8826cb4e52f27f1182b810a237d11265833cab68a541f41536887a675986207a35e96124e7cc92621b8836864e748f4173341904449f83a9b0a75252d1944ec61fda51a5dde3e43239df6aac1979800c3f3442fc26b1afa3534b124709d678021fa04100197d687c5cccd7c72d3e8703c2701c380e70008f0cdcb8e15b60e0c60ddfe28bc287e6642a33adf4f760e8696af8b95e0fad77aa109395ca4e71c9431b2a768a9d71968187aedb542ccd261a4b336634179f63057f77e83c2f55585ebeb0a5a9b186e373d848f3c8000366cc08e34f40b620c30e4d8ea9729239362306993a74c93cc4f7bc2900f8820c3a341b4fc6bfd2f11c1a99233ef35b45ec15e5d0248941b63f6296385f1c1a652aca3a73ac7041061cfad7642ae2ccbcb346dfd0479c18ab15372d9b0e6a41861bfa6fadd29d72383549c9828c36b41d31a5c7b71836944fe594b2b5b46b683bc7b09c2d41e8c9aba193ee39e71f4d3cc52e0d8dce782c0fa3b253a90e0dfde8ccfc19d1a264c95841c6199a9c35ca9ce8d5f5cc98a18fe4e1f7b28e6523878c32b43e3253f5ab7bb4dc692087df58c08c195c7c8e1c7e2361106490a10fdf26d73255eedc9c3134313b23261dac82903931744a8512df4188b8f9b409a0cff1c57341630832c28032c0d058e7e82d3a4646dfa42ff417a39f5a455e68b2e5b4de984ace445d682d45271931111e1b2eb43149cd10a3e477f72d34962bf3c69d201e752d74d272e74cfad9424ef92cf89b634b745f2c74c9633dbef5d37bfd2bb41124490ff127773edf0a7dc50839291523864aaa42db49c60b2225a9d0a4a4c1c4db544f465368457e44f0f948a10b3d415cc8992ac4380a4dd8a81564c5ccd71041a19f0d974436829ed08c86a6778e2a1519273451648ead549d26347af4e24d0531a1d9f1cac97f3ec6f725f42f265c4c4e36b1ac12fa7029265f2d28296e121a11ad4e11fe724ed320a119a5358f1e899fdd9923745d31e9b9f87f4ac518a1c92782aac5142f4297cb740c115cdc54d889d06aee4cf194f4217422867d892993b61c7321f41534c6df33998fe641e8f52cc878795478c80b103acbfe993d6319612f3f68e2c5e0f1da3494858b0f9abc2365b447be45aaf4a0530b173cc6cf832e04ff10c35b2496d00e9a092a7b6206dd41433ae87252d2547887d3499383763736625eca9a3be3a0135919d5d9848a7bf20dfaf8218ce99cb3599e6c832eabc8d0fc1ed7a0d338be196f31262aa64127938e95323f51559a413bdacaba4b27f97764c8a01999738578366d429511832e2ec9f7080bf3a1ae0c18b4eea747a42ee127c47d4567e25b4437ece65aeb8a56c47bddfd8499ce5bd1a89c562151365c2bac6854ec8a215e567c7e157dcce90e1f5245af2934e9d6984b26a9683d29d51b3f73bd62547442be8938c9d453b441f2f6e7b85153b4652539b9652ea5352d45abe5a1a27310157d4a52b4393e7e10ea99fba31c45a37209a13283fe762745d17f46cca67e0a45b33149e624e516354b50749a739cb014223c379fe85f2b65ca12930e93e2894e75f67c1a3996ccdc89be3fe3ad7d53f0bd90135de9d4311bb794ee7e13cd9bb577d255d23c4d9c3d88d95821e832d17b14f951458a893e84acbe6fd59d9bbc4b344194a9d05bba2f8967894e7218d3e739439a5f8936526e261f93215b4328d1c9184d5f92e933229349f45942695f08d62e7a49b4e18467ac5024baf61393930c41641441a2492a892076721ed1a8eb09a1dbb9231a31a9e521e25a5fd81a512491396344ef6ab13c5a754821bb88e6fa43dcd01b2288a7887e43fb7b8e941c41568968cda3973e4f4188e8b487fbbf848fa6723e44a3c4c744067121cfa286682cf86e59122d163e2c447f566d55713e36968cc3c882106d46af7072ca653568106de80e2a31a43caa2a49108d88bd1a724392966920dad29f6e41734ad27380e83fe58a9b554ca2a8fe0f6d884cec281e45bbef87ae25c6cf41bfa70f8d5eb6a493c8c8877ea46e7c97921882a6eca15322e953eae3eaa1d96cba5554c4e4a19793a0e4c6dce2a1cd7d3924ae2521427f872e2479a2b4e60ed66fdaa115311eb3e62b3d9ecc3a34592448ff3e3d1dfa983d9293ce95d80fe7d0c490f5428c69b2d473726833c62929d993451c9aeffc60aa620e0e6daa24e49e98170ba737742183ca32ab6c1d2fcbc20d8d4753dd30c9f288f5d8208b367495fd74f643940dede9d231bec1fd2379e8822cd6d0458929b1630e173c5735f42566597d5d3145d96bac2506238b3434c1630925b3bb4a640e4f5190051a1a77096f49748ed1d7bea881834609dc9c49e002129000de19fa3e2f531666e8359ceca9dc1a2658670b09e0a12ccad0caafa9f57910f23c4f4016646863bc90722a7ec6d0c5ee9cc5a0828ca094260b31b4eb1963502ac6f14a09dc14c1b1c516974518faa0b379a55c59fe755463cd0802b20043a7db37a51c3e7e4a347df129f0bf41238c6403c7a7a0d8e1d8620b0364f185b25aeaac24e7b166165e685c4b292594d0e31375ed423bb162e2fe7fb840ae143eca8954fa1b4f23c797a0015e5000f95fe071749103031790800466cc781c5b6ce180045000c7165bcc986176c8620b9dca3e29e50595f2e6d142d7f1e5a154b8d0e164b2d07a4c0ee3c9c38fd8182c347a9e73c67372a89cb9426fd5954b9c14539e54acd0a9a5d8ce32e531ee56853626cf0bb21ebee5323670e4a0e1c5178b23871767230b2af4dba392e8141bb53d57630ddde82207594ca137b15c7daa7b734c5c642185cea4c98ae1b37e9b8c47a10bf955446949a0d064abaea43c680e9040164f684b4d678790645c380e1a34bef812a0475cd84875ac892c9cd066bf7209ba544d68ab64c5aebc791c396898bd176164c08b2d6c14220b26f4795e3a3d24fae7a4b38426c6a4b0de2256421b3a85d239ceba066d49426f396a0aa5b3738e2024f4f1234c5358f418527c844ee88aeb10dbde419c4668e4090926317610d0456451843664c9b145b53542c813a18d7eaa2ac8fc90f33b43e8637c6b86170993622e84562ee26766c5416863a27f88fdeeac41054217e395573ec7be24943f682ba7c8dc1371c73392850f5ad59033a6478d1737f5a0df4839d6eff3a0d776ef72199523ab6507ad4c8ef3dd0580e8c4c770392495cb09eb1f7a4d19c4e2b6270b5efaa10b7b16232ee3e765ae0f4d10c937f4b572c819d3820f650f8d66b2dc418b78aa4ed243134db8871022290f4decd42b5331a99cffe3a12ba53d3ce4b0fba7a13b7459738a1e32e5d8a1fd0e2251bbad4cc65e0763256ebc5f5aa0051d1a91c325f14caabad432872e66476791b9228726462e21c22c8ff24b1c9ad4fd71218a2a65210c874ee58e2879236ef09837b47d714c2ebd7543574183b2e09e122ddad0e8a4abb25a4388273d6ce055cf25e67c075aaca1112b8b5b12c27f47540ded455342834ec134f42953c62f131ada2b3f0b1927c2e6929ca1f514e2a77caf65929ba199ab1ebfb60c7d7c530f6e31b793a5c8d0a4fc2dd9f277c6d0a59c9e633639efd1eb7471e3c6011230638618fa8a6d4967637efa96c280e5fc59024357c923eb597b4e1afc2fb4e39db5a25984a81d2ff419f35dadc3e464f874a1d1a1c3aff6cc7a490e171a953f08979c53f42a992d749929224f998e16ba681a47a9fccc969c852ef3b649f50e0b8dc61c57a2687a857eab532b892dadd048949358bd39a618c52a74aab4f2c4cd900afd89111e3385a8e49c9b42235b3169e6c69cd5b51c811652e83def6e8878d5eb4116853e8751fd9ad1d2020a884e9e924b9c508b27f43b2972546dd3efd4c861430525c0e119e0fcc280b185c7022ee0515a38a14bd5391fed1e648cf11a6b28f82f68e028c3f15f5c13da493a5b06cbed0b498909ed9cf04a2129d3127a491a317e9ea0a3295f09ad7fe604d399ae9d49421bf73a684e8e6efa8290d059b6ee998fa79cf71ca18dd4a37249e64f4a45c6505a34456844483a22b49e2cce2396c5b89e87809a0a3ae8269115429773a172c306f398a24168de749066614c920c02423b1a4748cd9d45fafb83e6a39a67dc0a1aa2953ee83fe44da93dbd1e74263276c4937b7a21d182076d741d59f9d4318994abb11686a1e10518e81113408b1dd80c1368a183de3d8690a5b12fce5f0168918366d4b7bb43ac3576015ae0a04d31fcdffa83c7c5fd0684e0f9c4bb6f83b6f3df2f9aa8d4a0519519b4dd43834385b3f00c3aa13fb22a3e86204e2803a4958ea03cfc09cdf50038b488419737e5f23c16f2756835d67280b14515400b1874591a63c409a22c78d22bfaf6d733d350b2417e5cd1aa8ba5e829424e52625ad18ec81f1ab47f464d99156d6a354b96fca257bf5a4ff29cdb44b7aa68c388956c5335155d0a3ac9a87f699d49a868ac4ff98614f17dfb5374f2498751cf2153ba668a269b081621af26794af5518a46b39852fa944a0b3188149d0a41cdd74274145dba5ceaeca5281a2b953a96f2a979cba1687654b3c3f77ee90f8a7e25278ba211bb72aa9fe8474e0c2278fccfb0f1442f424ebc36797622d19b9921f8c73e38b189d34402e123137d08ff9e1c548347d07d60e22e613352041f962019828f4a942c7bb27c3c3f28613392031f93e837587f261531f0218974c14724f00312f8f108fc70047e34023f18811f8bc00f45e04722f00311f87108fc30047e14023f08811f83c00f41e04720f00310f8f107fcf0037ef4013ff8801f7bc00f3de0471e10051f78b8f1710792762033f0a30e262d62548ed912ae1a6b891f74e8626719a5b5624b0270868f39a42ce7146477559e49c1fd9043973579e5b290abb15e78e15ddcf8028b7ce2230e1f70b01974f87843db957fd571f28c2a8171c337c0d7850f37d88c62858f36e0071bf0630df8a106fc488392b47fe6a027c4cfa7da400e30ba08c323505af840039ec13329664104cd324184280b3ecc801f65c00f32b4492df368bb4976ef04f03186d343de2aeb705d0e3ec4d0699b9c27ed534a2b0f43fb9a2d09b578d78bef07180a2682ce4c25d45574396cb4e0e30b276571ba3b653b79d00d1b350e8d1c36b6d8a28b438cadec8717da2443fc2e74226a86e79994efce73a1c996428338132ac6fe6ca1f53ed52f263d5ae82775ca4fa9a2e66c992cf4eac93cf548700f51c74293e4b54ab3e80a2f5da1fc1e434fd2bc151a6d96ea218492d56e153a59f28212d7cf51b24285f63fa5fe93a22974bee57b323d52e8277bce4d4d1682d2a3d0e7a0f447a88ea1d0a92865927a844f68274bd0793d878963aa13bacc581d4b87a42fb66c4263693ad1b2dc530531a1ed514d2123884be85489321526724ab824f47126417890935b450909cd9e889b427fd2117aed79b790a44a2ec88dd084a0da83cf9c76d64a111acd1cf7105385087d99886229df64a7d0101a31f9243cb6c8b3ac0aa1892126c5ac940d429712c52d5b66e42a17084df2cf23b44ac81ad7f3832ea4dcea104f1ab2531fb4496c69cba0233de82be266d02c61e389ddc60ee083074d50f1735ff3b6835e92084fd984a883d63d87654fb218f09183dedb34c7fc49c68dbfe3a00ff30d9b52d66b7c0e1b383840878f1bdc870dbaf871ad4ba628f1887dd4a01995af9e28b97364f683065de58913938b8386dd093e66d0884f0ab21bb424ff21833e85ef1c93f089973c5363cd73f8918f18b4be172c685039c273c9068d3072e4e0c253f0371e07311f302084e4192caa4a32bfc61a8d30fcc6e328c20219afc07d7392bb1d448a6aace5b061ce8a9d4fc19140862b9ad85d2d31fc5a63ed0be711c868456f4a687c2d312a459117607481a304345881878c3b792be644c62adaa07d34fe6a6ac5c652f03434043254d1846bf999e039a9d017c8404527dc945c998ae06e41324ed1e79be5b3ac9c63abe7c516607cf18527086498a28d2d52738666efa4e242434629faaaf829fb275979c25f63ed6490a211a53ffeb57ac88dac99590a8e033246d15f768a1d45448db8671886468d2fc0f0a2e400c38b1c605000013244d1ae29ad9962d021aae784a26ddd1d14ed75ca79c1638a11425200199fe862b4ccbb7f47b3dc7ba2179d8f1394253995a34eb41b25e8a0415e4ef461ae4dfa053dcb7d6ea20ddf9b2334368a30a1264ae651f5c80003de068e0c8021010428e06de0c8c08c1939c0d8c2a0b78123c78c1906f9404626da543a42ea788f6c8e892e733645b9f015513b06c8b8c431347f6693ab076458a28f9fafd4b2a5a6c4a7127da5ea48ce9bc327a894682ea62c9d4a27a5fc348926c4f4514168114d3291442bdb596493f82c492e91683b7b8a1f2309713ab490684e87cc8c051fd189a0f284b6f82f2a2a86820c47349a55f34958bd0cbad488e6f7b4e5f99e99ce1b46b4c9a227ad32899947bc884e6bccf1df2ca988d6379308274410966139414622fad6b04984f04f09078a29a8446e8502e4c1582812860422610cc3a4de131314000000001c92c6429148248aa3499c031480035d201a2c2820121c1e160e181a141e0c0442c16018180a0543615018180c05034301414c9cd6fd20106e09d4272adb3ea4d64c18154cde421116f292f1719f2ca648e03434c8b837b3535d81ee41d71ea0b876bf5cbb01eada7086bbb4c91a966fe52ede47e0b20b89064face0b5b00681361ee876f9da930e20d54b9cdca713789d8d722293f87c45b1aa8a7c765725130ff772990af997be185b8e96de6dd58ec71222219308ff5e8de1fea2e146f4a735e2031aae8338d66390a99a7fa4a92bd41d1c508166b5bbca891314df1d74767dd2bcdfa25d4564a869f5d7d4395611696ce914e86037337df8643acc1827819be11d95cdfc0c76e220e502356a0c2dc6f6e3e2cf39a288e7e66f9373afc6302cb5497fe846bb4eb9a810be4a4fe2fb818b6b33fadaf2f85a62d291e6fbe82c8897300750deb0f22f45bc390c88c48e3d6aa654d41188b2d3584c8d0ec80735601de0503cff6073c680ad57ba9cd0fca0864a9e7d271e732eb246c9fc80c9d5fd5ca8359d4310db8ece204e9a3a372338a8b0a2840db66e32e1f0d980e4069933031d74eb1ccb7db16a37635d3a8a9b9cd25a106443cfcddc09e60a1d629b0cde6429870b077136b3a73d15488f6c66e80ed65c8adcf1b7fe82b926f48dd9a046564b5a5e0c3d652ffcdc4a09086464209afa488f54c89878824395ee596943238ce2a9e1de35c0f21d548445ae88722e13b6b6e0d5777d518be50ac7509199e99e60b4e933274f1113a718d2d6722609f369d95924d162f2687a1637c47a24c31a21bf90388880dc226bceab39de6141dd21ce15f97812238710046df750ab4284af2e1c56bdabb5543796298b83cb5cdc0e0f12289dedbef8716e299697def8cc4dab7499024ada51d37347a3fecffeaf3a92b780602506aa2e9df37bfb64e03ba377773018158c859d800b0f9328619876846a25f541634da946acc002f45e2dc164baa5fa527d41434aa0d01186483125777a440d22cb4af24cff19fb4417e401d4112ba56ff551ed54bc4b6ef23e1ce9a969a0965713422d06a3a7e51ebbddd37432eb2e7d25de396201ac121ea2811808f63d7e881a3f742dae47a642a14822248b07e0441f792f9145ba245a11d2801f45eea623018950221f0ec6c323403b7202d11cb6f579b81c1569d50146531660841510e86e2d71d5c1604f7a7b3eabe5b85ef9d45439965cd01d8703e7e4d9e409569d10c731db7c58f1aed2fc15750413df361a0e32f5a1713fc851a2d03405948738bcde01380aa27ef179236356dbe5bf79aff9a26644c2857355801ee038f89fab10436a7f3530f5447b2626d634ab1499c3af137ec7c7902d98d31022781980dae4910fa1dd5826a1685ea79d6bb0185aa9e08fa5fb8414ce0073b69cd6917c256af6b1e750b47062e2d3c49ca3c780e437e86bc29e0221604b882989855bd857db21787110d9b6e05ddfba16f0ce98d56a18a577b3242749585c76abd12e6140914842030af1c59194805998a98c5e3d16c92d174eb2e41a112567904d7a31830344bca7705914080d1bf9013eb822730eb47dd65351e26e91531944828f7d0a1efb438814f774d7174a54c8fe73e7306b7e226817fb3948a742717e13ee72b704de21daa2fe700182de2a9f00f6543e6a882c30d995e77401dd3508787a128882676844154ee881fdfca668817696a143613f40a22408c1a67f2e943cb5c9da57deb53f72646ae9f128757b6f1013dcc9141f462a16b096a5873829feeea3c873a292a71a30420f70e67ffb86eac0193295f67b288d0c4cc0fc079ad2825091f1a7a69297f6710d09c39a283daa97f419df1d8e9e646d0c808df75d3398156f8be3465cb5f6638f55533f74ae559d14da7c5f77a2fba40becf3490095c9800acf155141b45c67baae16e485b43109756b77671b4ebe868c778b40849ccb626e7020de683991d4264b64ab16afe5b4986e7b0ac672f700c3eaba46b5f823b3e26d285136f854a691ed226f9b2346f76239b643f7a5d50dcebaa0e15686c7e25545ca1df0368c5eb6d215e1ad18f6d3e076588c03902af7005410bb67271fd06242313a296d8346e09044a6c910c92453916b00a4c0e97602f746a6b56fa0ac695b4ea96d03533b88aa6b6b0e77db751016285ff035e3747f7be81df2053c71e5045a8a92e53007ef20f58af6d262784e1de0ae0c840e8b1e11c8ed335de419bc19d2fee9c5ba91eec130e44385e39e6b1805d042108cf6a856a9c9b9514949d5f8b3d3bca2de51fb65a06d0483a644972a7803503543f94593b2afb36b37d4a6d3c899ba81bbaf0d18c6b71da359dd1800a380afa0c590903eb849c57393e659de43cf62af8ac82abad3cb4cad31f4db30a13f9fef3a47874ab3384c69e6f468424399b51b09ac82748cc2c743fc5be5254f61fc7bc44ee993b518f333d802959b40f75679e67b2bfa24fe0e248b24047023b97c04f58a4f415cc670692a89bd4b6033514143b8e0fdafb7417387386f120fe4fb7172ad379e4c81c7a98d46db0fe7a7bcf9f7678d2b8ac6728dd86894382f82444da35422976c06885a362f04b42268618d38b44951688a20abc4d8f8380c5b8a5350816284fd84e9f7474f6acbdcbbce2905de14222381c416e2a4e1a813756113e5d44dc98a12c63716889f3b2ae85cf89184d5269f7f1064909a77821b1910799071b4e40e7642d31d87e8761e274281519c72066eb2078472dc481b73466f1c88c547cb292bca5b8743e260590e6de7042d435851170749f8e4af02ed69d814c91cb6651eb66b05ea8787bf3aaedfb97bbfcfc59ffb8e9c28d9ea0ba63a4b2d743adeb7938c4465b076a45a48dc25333b582dba1f2c11404dde8e903edaa2024cd80978224c74331e1b0cc74f0691667259f601b0b594a3552d93649b7436916033832fa1330b05930c9ad7b1f75e850234421bcbc4bca7589a8882694d8352aa0ab04a1cfd372bb6c54917faf34c258084ae5bb79e951d9607a9b480bc7cbeeb2c3ac12fe23e9cc72ed85ab950d10207f505723f2b3b24aa432de309710003a667923b42a8183f2b7e2933db36926cf3867f3a8a3da012e8bc442cacbc08577859ede202a125b826a02281e6ffcebf07ce7de4f8f565217f7b75f0b767e7b78a8174a06b52b501f14d6b5e10fcf06fe3138e112d3c0c621837e459080db2833721c79d2e2e068d79327e1b115c98843919b2b018c1470314be1a46d81f6c4c6f215fa25b3ae69b4ff070f9a84735e7fbac393e2055878a0fef0d8380511ebf3fe4860bfd78be7ba9875e7d9fe16525be9c67d893f58a7bd55e09afd27d9fe36586fb8aa19f42a7437a43a2e0bcd711de842e4f1a0febc1f3053864f1787d6c1d4d8fa81f9c90a020d4e2a303e92d5ba618beb10986871ebd9a1ac2bc4bf841b9a8e4d9f50c7b915e8dea8d1051908f00e7fa8009190d79830c7f340639120f055d5b11c7f63e6b549d223083715ec1bf3630a097eaabafe182b415b961183da8f040d164ce71830b19287f835729ef11511e7406d3178d671f9421c1c0c31cf776c439c05303ce07e7d90983f33fb52105a8cea3510542d301a4640ae9e7915cc8bee7e47223fcf8cf5faafc2aef6eb73d76a79bf053b571a7fd1f84b8c3b71d920fecf98fd723f318e3438c3b7d91bd48b6176784c77167a55ef35de23ddede07f438f81e2423fb1c05c2f090792c9c7d89e0b83768e98e4639071387c3f7155036343065bcf3fbd7a8ea112bfdefc640881063c870a8ee01ca7b3eb883f9e6a4419a18ea34d4befb6259a00444ee0594218578d0bcb1fdb0296bca9a21afc69ecbf965af154b841a5360c4cc1d472e2692dfaaf9c12cf490e25206b51eed60685bdd385c185cc6e709fed09358ca5c84e1257a2af453aacd6c88015398c040f0b1b3332ce4121e903cb4a012e5be0b043881c49c81d7a2af6640d846128004fbcc4f13372f013a7299801c4525c4d898089f38d7157f7e0f44505dc4584d02e2b494da8095ef9df5c345fae735c024f68e1344b6968180866f623bac0d905d6c8e2861f9cfc2babb1f5922b441cba48904bbabc3d9886c18372d9320535fe353d16177ac9b3f9deebf89e28b6f1ee66fcb93c80fc8ef5f6553f65710f72a4a312ef5590b373e03fb5a19158e0ac19023607c43e0b5840346c0d782db26216dc766ea004356f16411d49f7fbf1fce9163415a386dd5a7843ddc8a50b528676e564ca53fc4a8494aca66c9753494a140c3abd34e190514abd0cc0b388030869f59f3e04acda600c7d1639c01e238a6f47cdb42fb13a003e0da731e87e2d40c9db3f23bf911611191396ef1dad65b2a19e2d2c0a7018d885ce3db9006ba9a707470b0ae93457eb1090ef6d5ed02890ab18b9680058270684c81f71720fa94e6f17a49c95bb7b7b2e753fad695b865897b94e0664a62b6c6b79316e17e289036d7912566f17a5459fc5920df940c235c645170f6885f51089ee2e34971f0d8775ed60fba86871e78486f3c54d0e3cebe1d4407cad9be892b76bdb204e53bca9a943d94c528cb14cadf39fdd1ef33cabf96c1da4c9a1905cb607cb90fa5e3236b26ff670201fbb735c292b0ecb84555c15c579ba11877ab9e6d40d327244f100b1c70ecacdc14bbc7a49c8517488830664cec8c27b41a768ec2a8f12c93b110783e248058168a2780381688258078168823805816882780381670ac01dbe04c1ddb972dd44fc07d2cd84b80fd2cd84780bd2cc87e0e28d51d19b99e6261d402260a0b390ea88aacf23320f661c891a3197da72d20c7443148a01c71c871d2ca44272b208740b19d8c1c5dc8a1e80f0913021cba54d821dd802db91501e486d8570a1603e73804a739250484b1a81c42014b1cf0851dbe772b084573a98d7cd707bec938a01b5d971a314b996833a632af06d476180e2b01781f78d5c57090adb5bb1064d81ec63ddfd23feda31f4f05253bf2807e2d8d9ece5ff11b4cb690a7199a1fb44aa1315d4c528564aca43e48afdd9e95b6989401a4be665ac220c1614108587cf756e3679f1408ee86350067ae062b2a4a1cc0ee040d70070da5836be8a7957992e48cce9a5e0efcad650eb5340e507a57a2b4a466d42e1b51432deeed33b0a1c7210d66544bb17af94577ef43a96ae9745e5f45368d3217053cf68b98d15ad7d434160478542cae0f5e593738350b7558bfef1d0b6f1115c3258aa6fa31a418fea1abe946e481f77b05d8ef65d33351fc871722ba8f28633a3c9259a2578d19805aed8396d44fa4f4dbd0e21546ce05bfb296ca38a6f50ce28bc225c0895610aacf955f97848eff58cf615de8b6e05f4fd5849eb614b5dcf3674aa08d8427702e1ccda0824d72c9646607e5e24fd2d85942b185efce0e52068ec51271e24c10dec77e5d56088dbbb2c6db886e33fe4bb0f962c4ac1b9c3f2a7f7a36a02687890814d018225a2d59fe545be80843fcb776fd16838ec7a2320e621bfe220a481cfd66dd4c24e36b77e7d922c97264ef722c2f69d58a3960e78eb8718718364f4215ceb3b02e88b5fd86d38e6c10333d083266f0ddc4055fc7e5b9aca1e7a2c869b86a2258b4cbbbffc84b33978bd261c88ca9630ce176738b2610df593e7162f25ad0fce9ad840aa153c474593c3a54286c1c0c026da8de57c153b08554c901fe3f5e18cfd450cc23c00b5b5fa4e09227f330e9cdef24a2505bbd20bdbcb3d046d8f0bf8d7295b61814ca9e350c8272e8a0bfea7a403a4cb0029ae5b703ae04807230f29d449818e12a8ccd1ff83dbe21380e82a15b7ec31760434f798f9149ba285a129224e6b19dc0442492978842d211511cc05794dfa4495a11a808c9f18fe7a3fe7cf1fb7b35bee2842790bd9d2d3e96187dca005ba2321bb91e0077d55dc04a4bf6962c0cc808d87e9624d0836a93606d12c5b54619407946adfb12f09e9abc852d5c969082fd15c38d53414a64cf06615f7c53921f37f56bdc2c4ca417e355a00f7a433c3742633e6c8ab8105e31991054683820ba826d88a41e169df8f31d883ddb18d5fe901f2affc7d13f0fa5dbbfe98545bee1ebda2638d2fff873eb85a795ae7145ba6ee360be6ddb9306b2bdd72c62a079b20b03fb9069e4fbd95a1e90e345a54c14f8853d88ca88e8e5fcdd02701663ed126f40a780bf168c29e334f2fe09de6c868f2f5886fad298bdf87dd49451450e818a50af97aed896d74040c48e6991afa3d14dcea4a131c0cde8d05b71ea983c566c426dfe2a5e01de159746aa82cacbbcd82e6b6b838c2e97a237dfda5e978d089b8c02020bf3b3f6f85e195c5ceed452964835b7b9f80386057b8881a077c8b83e397fb3230bb16c59192572843a10c14100b4d26efebdf6ca7310acc4088b8d4e4595ffd6cbf1d0ced1c5a059f8af13777957e162fa3555a27f342c7b234922c2038350f922ad3bb1898b00d89344cde45dc089448dc383541a3fbd3dce0702cf98d850d5a249a6dcb63bbd8efa1c9e66c47700cb1adad1b5cc08ac631dd187de1c9cf7ff321bae1e16bd52d5228989e8c129892c6ca9a4d80676e47473c23fa5c753bffb40b7f005b24d8296c7c37218860e37c6ac9202076903d75e2808c333d9ff66385196b0e6b1ae691520a991d0037347d16bf9834d18aa56c1182c44ea7bd783de9f3c20fe0382636ec30c8e1c4a8c7c9e08051ef9138506c70497960b4f0240d7594d56f932c0e62c1504f407eca1002dc76dbb4a7e34f3321b9cd97225acbd418a195d7f3f569b584808a36b0285e1a55506da8900218e65c530f4639c33ac1ce9303d0ce12dfe0e3c389183df60734cf154b256baa0278517c271ac4c9d5608a0a0a86abf37e1f12114600476af50349ed13acda8ee2773aa2f67daffc8d14e4bbf8fe7de15172d7f57b179b0ce6135e9f458eca700b1fd1d88eed5f1987edf637836f3078297dea7f80ee068e8d8d57088c5c80dab9f0e3042544430486976a4fd30cc2c09101d0f4cd77cedc8669f439ca44feff834f3c719931ac55448782b13a8a277609900a9a206ea6501fd510f4928a91b6fca30580e5245add4e20e1c72985d5e8a209638b5fe7e724f34f590a2f1add4b25d0d4ae5e1412894ea5d4799421f785146e0b51df30285d669fb9a6c10a8a1d862b6d9a8160ba24ea24b66660f83b17ddcd11219a2239d36300468be5e0766afedd61d200e210fcab410610660848374825065848d9d5b52b1797c17d5ea9df5ea21c7ff732ff65e7635de5e553c54f0cfb1f048816461a41745b517f81b683910173527911492e1560e911899a1e0a695d872016703caa438ee42f72de7dbc681d41b38df52f21571a21c5992f99225ea9e8626f8124023b58d9099a8662634dfe87d3f59eeeec1e895762fc10ecce815be03ee6c168c8483f9dfe73d13d597912dd3f7ae092a1cc230aba55a1052d4694fee958aefdeae1f7ff4012fa984c7d777a0e14c5d2be3177207f422d86f9f643a9695f2fa2b3993d6b42e849e071cdd508150bd339215f48788d5157c768558cfa28481066b8d0fc51657adfeb7de3c8283fd4d1657c306b21ffefa37ece80e642205603e6020006201e43d0a30a190163b105064dc8f34e2638f4472cebb04c4be940caa6dcd51385dfc26fd1fda944c8df60a722234f60f9f914ec76bf0cc33f72b7fb5b07ee1c4cd3b39a5697988787e67f004c26ed247b3f1badc4c4ca5e18a3dd3e888441a8b3050e81e5dc00c067f9e0f1c24bccbb602c9c2b0e291ca28201bdde725fca358335f55ed6cc839a10b61e4c491b7d3dac9e18ed4e934c7f67ab94f39dcb8a6bdf67fca40eee96505c7dcc206e7f1f19316f411057474e06a9140b5583d3a164221ec613eaca88bfa2c91c3222ea151d66ef25e9e19913c3023e295118b3058e25398daae99a9b063d4c20a4f94e01f9ffe3a449562e9869802803863968229143c6228a82598d1369ad0820538d710c1de7e6ed741aa223c0bdebd2e91c40dba57c75b4b46a11f69444af9059d29e891730242ac252834a43d4f5625ae1e3134d649de6f21dfb921fd3312084e6d8e8ccaa8848d5eb8928b57df6bab448345ab05fa7a00b561e941dded95cb504524858e98a117165e91af89ae025b841176859a1a8487554032e2d8bdbc26baeb31fbf113e1054fb1f6a935366c3597f8f24a37cc80c009fc5b3bc6538f1c9b1a47bdaa50b27167b815b6fc3c2faac4962c7a46b9953b2ea567f2a24585ee459735f09f2a676c862a48737e9d1c762fca1f423d8281a93a11d0882ab25340cc6bf6fe225042ad807cf987f87e51afc2da36e8c434084bba288a5aa9a9458923893adae946d24ad66d032e9a82b294297d3583bb2a83afe8a292a99ec1e3c3953c2fc9825a5b2ddbec65c4744ad4aaa99ca519abee37c25e992c7b46615438ab50f0e6a14a9e2959a4a1ae3530cf92b72b3de41a3b5fe6db5bc86da47a99fec354c9788b82ce1972d8b96a43ec2e1543b01c91e68c2302b167aa2c14b1d5e45d48d30f759f9e0c640e425007db22a986f81a21f15fd14c8a6d1e742965f5263398c0670cec28bfb248dba6c0d646e7fc4485151249e585b66785cdb9842c188cffd2562f9eb2d004527bcd2d147ea9cd8d421b99798be0bd54c10ec8c9362b0eaf64d88e6bc9a335ce277c803cafa65f567a34fd9980a93db928310e428488a5843936ccd693a616638a69d0582ed20032c8f59a79c1e26c21ab0868cbbb86939d5db690ff45980403d8073c040bcda28439b6505929f585925a176968b3031e1e06acc4c8c7f37df8fcae74f67ba33852070360b21aecad244045999b509367b608ade6251a08de40e8931238b8a2e932b2064669d38c05c9ba8c78f0a26dc8232681e2b2cce5c925bf20fdb9741713c44df043c2b5956b6eba8c03a832836a57a2c44e52b8c6a3bfe782bf5db4f335fbf0aa02a4bfa1c1670082eb22d7552ef9ba8c7b4215fbc9db152fbb00cafab8d071a50421fdd173003ace95c890523d2de2ba66ba989cc9881d82971797fd70199dae6c18290884d2420bd4418c91245f419b80d0a80a2c37a2e1698fcdc17e0e5ba5b3f61e85f90e2e43a54966651c14b9c7ea332ab4a7a07e4ad2b8e11396e33601ecbdc71fba027b7b7d6fce9d775da752928f56bc8cb8ef28da4e17e853b334d5477be450e78f8c16ecf600931d22861b3bc549ca51362aa5559ded5e76812d151133ac0ad6ccad4147683821374d46122569abf8459e42601f1054dc61098026ae0532d8ebfdb64a4f9de3ae641d1fad0bae8e4fa3597b0c63b3775b054236c44b22ed65c4bb5fa3a440a10438dff1d4e39a9e46ba4794fc56cd034c66a7bea5149c3a0bbe1510abc74f18cea4310ffcfac968f1643b619689cc1157627c0de6c8710aa52b3348433b6305de746a6227569fe6134dbda7c682d4a6cdda047e4dcd9ca79ca451921c9c4d4c9477daeb27327613cc47384c85bd425bdc0f939670d5775c0e53d15097a63049e20ec29a25edfd0075d59e5e65e48d97787b584b0b5dc08015b7634839457e7ac7c53d5916abfcb0f1c0edd7db42d44ca3ba45eab9ae76a341d76ae8f167123de31d5856141e919d17f760c334c845ba7e19cd2164edf474647592b5381344b9d0a1d333bc43218c6bf88eb0fe18f69b65452fb0d5a9381389e1ee6299ee7e2dfa1a0f6bd8b22e2be17ea78c9a191046de4d4b8606956e06e52e4a0eb799099ea86271f43ea8803f8f5c0a69b60993e3e69b2f95d77a5367858dd77b7d0a7d67826d6ac842e71799c14112d2d4e13de0b62463726ef36ad62deabcff82cbc3eb8f998c4abcc1e9720ea42e274e3e73527d93724d0ebcd9e3f8119215cad626c641f58a357c35110cbcde39b1f6e14006302891de1e8ee1a964d27a7e33a915b808a9679e2422f744e8796d1fab4413a10b45ca7822e72e67b632c4ab2232f035250c90c72360169857fba053ed8809d568224413b3bd2c3098e4f155a0af65cb1ce4845dd0dcb1958364829452c892b9e0c7a69f832a291bcd85c210c483633a172c994683931f87d34de63f8a9581b37371305fd7043286255abd31a79e43a49c2e50070fce595b0e127b727b0c8d8c1c3833781ce9f98e9f51a01830a8f6aa77e3cf6683c03a6af79b8b65c18937fb39d1dd961c94f163b193184c6b5504e0f420300897d95b473b0852902ecf47287e8292bf25d7450991c242702c56357846347771a17ff9280db05266a91c9f1d168368ecdb0f0bee1239a44dcccebc1e1d572e64870218a10d73cf0dfbd66bfdf62060eb0c681eac8fdff22532a4f15cbfc424d168e8932f819248b42a4e101c88b215f1504531b10c1d7ae18154c40717408b344bdb81a0a288a89e59256e1dbd16dbe42ebbc5964669561b1680d32839a4a34573a364247550030d03471aa526e72c3b01e62248b7b9d1d5979d3ad6e62fac0832b41891d63ae92c46f06c413fffeb7a2adf6ee1f27b192213417b1e3a25173623fa17c31683000bdb920f9a7c9a47a95f7d59979975c13a0030148c1b122c096fdfb60d4263d983c664727540ffa93fdb5ec19333f8d768b818b80afee36dda0d8dc4d138f70655f53312341ec93662f28af3abe5252100d1e2357c0c38e5ab90c0fe223cbace76c9501286806e9755c96b8b84e8df3efdb60510d3900be698a5f8a310a414a295cbaf3593a88bc9ca4ba306905b2b3ef70110e56c10e0823e911517a125d2053e20db088a4a32d86a38cf383de45592f074d7837e5b28b700c52f165b446c4af3ecb480233b51f09759a91a9e03ac6902be97c4990b3660b0a4900330333333333333333333d3f299ffdbf8ff4f6c634584b49159b7a82299d2de4b92e4ff19f98ab4e12fd286bf481b7e7a2e3d0bc00bc20b6bca9eb4a39ac6150b5a041cd8d818c30c0628859a7446d29ec977e50f29b49af3fef0d3a3d083fc9f7e334779fb8a42d1a03168fefdc7710c85223d61e7df2c05f940a184f6c58c37f9d3769f50effcb384bebd8f639e50ee665f23d59d9b753aa1c4d8711c971d9e193a9c502a2f36fc2ac610fe4de81df7be8b5d768fc3d784d229839efc5ea8caf19950b272684f1ab27b083b2674cf1d636ea65f42cde82db78eb3fd6709bd73c74b1de52ba107fbb257fb3625d48ff6e318931c84e67a12ba46df695da594e6a325a157468ee3a8fc48e86d1de6ca2536fb2324b4bcd3e1768fee7b083f42c92dd23a417375b6d8115a7557881dd76e0c916d845a2325d2713a67f75846e8fa6f1d638473117aec18c9730aef9d727998d19e73d6c432117a1c87594fe32e67dc88082567798739846807361e42931cc4b20d251a42cf20316c0ebe32b988855027dc43a5502721e38450a62658a4fa9c3e9007a146ca1682a4f104a1c68e36520a3d9d1d7881b0c762d0349f0308b572de86c793a4c6377fd0539abee99e0ff1b2c60f4a4ad3b93ab2ca39274d1fb4faef4a596f24a59ce1831e2c49aab1dd8a7d317bd083f451a54d321e5dcce841b7c87cc9837ab167d2d5a48b1f173c68fe593b98c729cc3aca1dd4db8f277dccd5351d6207bd22b74e9ef1641d933a68beb939886c27124a4207ed73b64ba32973d02443fb45ac54993ee4a0867449b63d49f9138983d2e1858f68bd048f081cb4f41df2c6cbe90317dfa0e638b9a35a6390ccb841b7183b6f6f28890b69831edb2186458e830d7a1ce165dec983bced5883531fa1493475a8410d36b259163b6c3b96064d27cc59954684ee0d0d7a8ed1e1eb7ef439ccec0cca75d035d993994109f1e9a42da6f79c5306cdc383ea928e21ef4d06b5b2053fef9c038d7b0c7a709db226690fa14b312896eec37fe8c2a0747cf8a9be2f890b062d263a57d55c5f502654e4d28b78414f994932a7d41ec2aa2ee89e97e246c7d47b920bca5fe8c719dc7373982d28ffd1645d8c6b3d8916d4d294f692e7788e726441e90839047760002c689d1953dcfea590a9be821acb7ceea39a54a00706b082923d768875d89ec74d15d490e3f6967076e51942053d45871fe9c944a6942928c9b2f6ffaf2a75ea4829a89dafbe7358079f3a0aeaf8d885afbc69b209053dcc66f955fe5d073e41bf0ca11d4dca7182e2e1bbce48db043dcc19e363f148cf3c26a8319be79ce358fa52f74b50267e66dbe4ab77f24ad0b33fb8d98e3a8c597d12940da51fc85eca15a247827a5b9bd79df723685f7d5639e7998bec4650b28c871c5ba42b7cba085af6b86c2fa7c3c7751341d39dce714db687a0079bc38798a3fced3042d05c73744ff9d6e44910f4e0217ca4130341a9cf22f72df10ff4304dff6f4c1d7a611f68f79773fe623d502785f6f8216ec689166b49f341c73dee40dd3fbd6c39a50ef4cceee7402dab1c67c7cfa1eae30d80034d82b797df5c75db68801b68f1f1667590423c8aa0016ca00717aca463c7eff76ba1c69daa34d791f8f6b4d03db66c1f29e466a147a17c625944d8d071b250e2e65de777b8a9e862a1754e5f39ce1d58a8c94f72a6741fc9dfaf505f7b238721df71d2ae504328ff8f2ae66bb3add0830851dd13628e030f5628b521f9c249f8fac9ac42abbdd6f89151857ac13fe7306708db214e853a39b8fddc082a34f3ae969b90c374554ea1b7790e22770e3185565d53b99d6298f897428f0c9a62eec3f1f42629f47097c3a8ab1822e651e86611739039ee182a6e44a144be89cee571a792a1d0f2572a7ff98ea354824289b9abd28de4f884eee1c773215c7a32727842f1bc8f0f9d74420f2362da09399cc7967142b38d8a6c42fd944313bacf85dd795c314c2631f60234284026f4fe482665497420fffd176294e18107410d0a80093d8e2e4dc5c6b70097d02dfd5c1c0d3f1805b084521d31eceb851b0f62685cd5b8d240012aa1c7fe6f398365faf8634909359648ecc077b7636a844146bf186380e145060a30894f92c7e077d3b8fa024842add999986df2ce43ba681420125dcacff88e3cb00a127ae7b1ce7f1fc5cde09182023c42cbb927d3868e2fddbb401314c0118ac77ee1e973ba9bced1b87a1abd4d8dd027554e212c6972d90c23b4afdc1a3cd7664516a1dc7e706172e6841071305e1046a9400114a1c6bb1c43c72f117a36b7ed1c5f4d0e77790110a1df7730f9935734ae6a84d105a140010ea15b960e1b96a4f3ce5687040a6008ad75a78247a50ba185879852d79684503fdefa58430ecccb3483503c6e65b6ec11841edf3a754c96bc792781d05de44240a8a39b3b9eb4176090f129a8630205f883569bf62aac763f2839c8f557fdb999ca52803e6819a72278dc727d1e3e68a321ea442e57bef0ec414d5512eb7f73b690397a5034e58b8e662a5cfe3c68e5565e1ef88f07dddccbaa3ec749e4fb3b28fe614fed686f077dc2475ec5fec7fcd741fdc83ebd45fea794d3418b501d861cb259e5cc41cdedc9bdb6320db11c340d6d177b2e1e075d2a46836c87c3418f29ff88bb23a5f71b348dd13371b21bf4f471be388b1bd29b6d380713a9da30d9a07845b4e5101125dd1a3409e5615bc4dbf81235142366c7246d9d06b5936b0cabaad1a06d8ed35d6465e890cfa0b77dfcb8838f19d454b133f6737019f4f8972be5c86e2985980cfa75f28fa39c33066db383947fe8b98e8b418f5248a691b5f7351e06b526a5d0d9e4e4e3038316e3077b6992846bee0b4aa8a9e46132849c345ed03e0ad10d3ff1628cd92ea82ded29c9872c17b4cb50d2359a5bfbb15b5036ee6cf8e4bda71c2d68276629e70ece2c28bb9b3cc49c7dbbccc4821e77cbc6738c973d98576032c51883871d690565cfb2f5bc6e989bb20a6ace91579f87cd151e2ae8518ee3d6be4c5b999f82a2f1123a1811ebc84b418f3eca72d371f2ec3346410fe369e891ea7b8d412828fd52961d251e68e7096af68407ed3b41af4b96e2353e4b8c37418995f3ac7296097a34f7e962ce4b5093f4b8a50e3927474e097afe938feaaf8ba05d12948d21e678113ae6a34382fa71ca6796e323a869eee3b298e3e8276c042dc37214ef23efdc6c11f4cb7b6e1a1a430465634e21fd7bf2fc8c19822e5321e1473c87d88c10348b301321fd93233341d0f2e87c3456697b4306085aecc4be0f737ea048f8d9ec1f75dc8e0fd43c9b2f9dd073b17ba06c570c535939a64df3406bf1d9903dd2979dcb0e14c9601622fe9f845874a04b0716268694b2c34d72a04bbf8612fd8a921482034532f2e5ea38e3932fc00d740935793c9e8cfde105b0811e238570e162ec445e0b2dd97634a7e16622a18512425b8c644a9152c82cd4bed9ac9a0b965e596841afe330674f97be23169ac71037c8e63860a1874d3b1b2b0489cf8e571c64746eae50b2e68a1374c36dc5ad155a8e737bc6f839ce951b2bd44afefbc1d986b7105b851663ae4ae13aaad0fabef46a2263e59e0a6576bfce83a510738d0a3d47b5c1c425b4d67c0a25c89759d0138f5d9a427b4b1ff8b955788ea5503b0689f90c162994693b2f93abaeded428d44aee7182878d4d21250a3d18eb9b4d97633756a1d05a5b0385f21fb547d9c1a39053f5092d9c84de7f5cb9474f68e37b5e13f43eaaba13ba7945e5c862d9f2cc09fdbf2bdff9a50e7cb209fd238ded697343c743134aa51769e920ed3196092507f7699714110013dab4ec8d4e9ce428bf84ee71f80a39479fcd425ef06074516a00e00604b0446dac800095a80d4a282984db0c96913289da9084f61f72628e271f240f52460bbe3ce0db8b2f3ae080017029630034081009355cdd59f7760a2d933730080009023c42af9c752f8f9ec50202382289edcfd96265fcb18c314617619051acdfc3800096313a900468849e3d909043ec382394ff7012b7c37d115a8bc739c7213fb6775d115ac88da0ff7972d01927427bdd9871f9983dca45841e339f24569e87502e4773c7db5bb7881febc9c5b0f364a148ea0fbc342763a14bf98798b1f4f53a1216da5b4c98e438af50f224c9a658f21e7b5728ddd1ff414cd378ba156af27492ae4a628ccc0a3532b4c779dc3621af423df31c5dbe412eb6aa50b39cb7cb875c59c954e8139124d2bd677f24a2428bfca4e153c4d07be1291439f18da561b3030b4da105c9ac9ced6ef71296420b19918f727d9c630e29b4309d3da5ce54fbff28f48ab838d971ccf1b52894cd9ac9446204132f147ae707a1a3b8f938690e14fac7def93fcadc2794f065b79592d48793f3847a6d729e6f6bbc725c27b4f7206edc12f3603f27b48829fd387a13facdf745b0cd0912d784da66796f3b8b7897093ddcdd1c5d8631a19ee7183f8cd94b68e713f11a2147b9a12594e8cb15f2797434a4127a7c95838f17379450e334ca353393d0e2633b76d3d11b8f24b424e2b319c73b0c79243489bdf34e25242a1349f6610e3e4297704d63e9b5cb268e503f6eddd7c4bcf369843213b9255eaccd194668a3a9b2ff5d57b8209eec82f78ad09358ecd8952eb29308ad52cd5c250f1ff64684762172bd874143627b0825c6341d52fbb97b69086d2f74b6cd79a3ed42281f954bc83d4d124642e821e5734fd90d42cbcd12da618c20f48d218450f29565974058e7b1f4735500a167473c9deb89e7923f6879116212e307dd2c248915c3c71dc5faa0072148e589dd59297c50b6c2ef648c08e2299684dbe7f5a0479f5e3eb6f99dec79d0dbb725850609d6271e74f19897e3ae0e77ce3b68ef1dfd1d9b76503e76558ed1392819eba0f6a41ccb2523ee030f3ae8793c2cf9943ce6a07fe4f11d492243771c72d03a5810cf0e4b73721c71d072bc860a39ce39bb6370d0c553ce7bec1b940871fbf1e227e78b1b94bde80e29472515246d50d2e55c7b4792de63833e39483df3e1d767c71a14918e1c67bafec996a94149b1c2c283cfcc949306e5e3b0c6239378a3a1419bec28fee567d0034f9dcf2f6c06f5839403bdbbec916719b4cc5ff9835cca502519d4909346f4c3753e700c7af4e7b1778ffe1c31e8ef31e9dcef2ffc0b831e6ed5f4c47b98e08141cd11551a2f6dbd9b2f28f9cb2fc4495965172fe8814f65b3cf1ec4987441afca1fb84d4407f7c105adf727b6adac2de8f612113e7c90e3b34a0bfac68aa94e3bf8fbe832c601b2a0cd4dca791d3b0c492c681de4690a89eb93ce159417f189d238b9d75b41dfabedb31cafdaf52aa821c2928cbbbf9b4c05f5fa3d920e91f53c720a8a79be10993e84183f2928fd21a643854441d74d97b65f83829ae348c733fd0d93e809ca0795df3546fca6ab4b040ee004ad5d42c81439a709ca4f87ca122b238703304189317596458ef2cb6697a0a58c6dad9d12b48f5c2b5ffef468ae92a07ec8d21134e750600010188007b20c0740829e72ecc0735cdb8d7fde708023289b2f1791724db21c648a0d07308266e31e569ec9a9e00045d063cfcd77fc904b1e1194cfdeaebbf9d17eb28c31c6f0a2387ae0004338cf27b1b817c342503e5e988eb2565f25890c30bc60411094acfcf82ced8dfed740d027761c5cce916115ae3cc00f34918e74763ade077aec4168c1d83632c2017aa08e688c4937a49c72f88103f060ed3885ba09f653d1b8da81679a44c75287e399a3033574fa30854f1d978c7c801c28793f2948c6320107c0c123b9e1390e31fe9ec1016e500e39b50419a90fc9f0a2c60b8e830c07b0819af1132a4b2b45caeb0bf6a2cbf0af714b98510bb5537e10cf03cf365e0766d0428948b1ad635d79ac188d2b0ccc98c596c3cdda5164a157acd9dad2c1d82bc18c5890b4a4f2e7d2cf4dd5d82fca48c1d7b819cc80c592113bdad0b00f2f5d5420eb0b335ea1540e9798e3d614f9e30c0966b8429110b3d815a65628b1fbe9b263f068c37c1a5d7cf1c5c10a65b348b80bb90dcc588566965b1fc4cbd1b4e5d0b8fae28beda246d593b164947101038219aa302ec79f981e233736fc8b30689c61462af40aeec1e6bf342ae81424464a92c16334ae8851f91761d020334ea14d08ae9b2da51812180004061001096c6c24628629b494ef226772fdf9c73107334a8156089222838c1fc35c600629144b91327c6b0a31e9686a001e98c0c6461d150021cc18857231b84f9726c9610ee9e25df04518637c0d53104014c10c51e8bf1d87f6a8f7f2f4170a35fb84dc8bbda7501250687b9ac389777b212477d061c627b4cd2ffd92e3dcf4197a420d390751621db14e28a7952b79481a4e68b13fc8bdd9f192475ed070f9d325199ca1891999d0bc53479aa39822dd7cce3003134adda51733912fa177479ebc4ef3cba5bc25b4f01efe67aa930a17ae8422bfb92d769cbc24df2f4606060081018811468d088091810140a0021b1b1b1bffc5d9d838665042f9fc1e547ed03679e607664c421bf13cd1136b1a579250c2e53865f610a17145c61835c818a3013322a17c74fcb0e5f972174ec17a40031dd8d87819783146195dd8716a9801096d3b36738f54368d2663594045a36bec6f6c8051e3c920838c31081fa186e4c1b266b22cad8e198e18634623663042d336fb60dfd334aeb09e71c62294be20e7d17d90110336183c0d4528115a12a2a93377c81381598e8810599e29636686f77de738de1c149881082d72d095435634e310a60bed8e343f8e9a61083d79860f59d99f5108ad2f67d0e01baeb76309984108e5836b8e36bdfd4e6890f1678c306310fa86942b8b060f292473c193017860025fac172c08038c187c118606fe258026811982d0e3143ecc1d49a4541715660442933d09995ac276786b0a105a982c92e4db2fc4608117637481eb022f6a7c04a8de055ed478375ffc0a6ad408030c1a3dc68c3fe8b95292c9ef1c3fa82f9f3a1ec98a0efad3073d84ce99fdec4c123e7cd0cc6255a45c9e7fbbb307bd42e634e60fc2f575f4a0a61c85ffe5b748fc788c1a6584c13452e0c5636063430b33f2a0a5f2f134db3f1e140f29e4cc75ee1be5df4197b02f39677c8c39eaeda0857d929cb32dc68ef63a28f5f2c183c7cdb9934e073dfe046dcb88ad4dfa1cb4de9415ea3f725034fc77776c96627de2a06c8676058f4ee7827050722c7a17f482a799f41bd4ee3fb7e80f32a7a9dda08499ca341a6f831edf6c4c3f17e3dd64833af67ef9a3ce1ab4fc7ac15c72b01a94cc60c13cdf34e861e46c535a2f1ab494729c3476e69823ff0c7a69e6cb9b734c19636906bd52871dc76c399a7519f41edb789d21fc733268b72963eeb371898e3168294b07d9b3d891c6500cd66ce62f0ce6ec1f5e8e2dc1a09bef5767b59886f20bbab6c5f2d78bd9efce0beac58ed9639efc38d2ae0b5a7c888dd96e738c612ee863e7d169c8ddfa8dd9821253e88bec94d1825ee361494795c3cebd6441bf241e5f932d585026e6dcf1cb0f2ca4942be851ecadca36e9bc24c50afae6bd8a91273d5f932ae841650c792afeb64f4205354b479b7e52640a6a8ca79d3c68170ddf2105bd62deaaef14f9d11d51d0f7c4337ffc9af33c0e286895cb3ad8f413b46c1fc3048b13396227a8971b7a191f2774db04bd72e48b095acc73992642b898185b82da79b73d4dac0f12634a50ca5ae6327bf835992541d9d64e52b72341091712f9f2dfd6c123e8e3db1e67895d8e3446d042697f90a3d25097a38aa0870c710b29471141b97fb349b963e90fd510d470b93ffeede5b4314250e222a7f72b41506e83e5e51063ee04087a90f92ec7537d1e2bfa81e6e9e6a743c87b7593193ed073bc592763fc6e96ea6830a3076a449b8418f392fb373c50536b1acb8fd2e70faf1d28992c73c7d39d90638d0eb4e41a275cb2528c799c91036dc2831c58258f39262e63060eb41689992fe42807294624c001535830e3066a8c1742336ca0e7ddd4fdb1fde492821a7f818d8d4f418d37402df4b4e775f9f1e60519609411062db4c85431427b4c99f4320be5c3bd9caebefde0990164a16fc71126c100b1d0c305f78f453bda8b89c69591c100b0d023f1b87b1e534d8a1b1835ca601283015ea1698e527f5f0aefd2157ac5acf1b3f758e2576930402bf419edce9176ea5877f16494381880157ad68e234257b0ac0d0658851239888e2cc834ae8e2a830154a1b5e9c6ad30dbf92a695c99b9c100a9d034bb7fcca2428b333f1b67c379886132ba781778f1fd35081c0c700a3d7770cd2139627ecc1e660053a8d3136dbba5d4f12607caeca6f3dc95c181321d4cfa63c90db413fbeea072840b1be851bc0f1d12b3c777a9855a962fb2f94b2c44072db4e4f16daecfec51a5d42c94ffdaee0f4eebc3b42cdaac21431bb150b63242ece8cb062c949392605339741c126dbc424f2145f6c8f961e12517850d57d0c9d3c4ec2803c9960604960604363696462f8deec2c1d81a00c8c1462b94bc1ddf8b749841e4a771650600811438401f8c0cb0208c1a12d8d828070646d0850072b0c10a3de4c86a3ce77287e9bfa3c3c62a94a8fc363b9ba27175206143154aa7ffcf5041a3878d54e87dbf1bfbd9cd3b6ca042d78fe89e38de29f43839ca3167f3e98cdc146a90a465974398878d52a81fa5c90892633d0f4c52e861c7f993ca3c0a214446a1b4c7b2ed397248de61280ae5c646eceb42f83847180a2dc948d8d2497d923328940e2627b634cfc3d861e313ea67c6ae74de16f28578420d9da398739043d3868d4e9492a5ea29cd616cd8e08412725748317caaf72cab6063136a86d29c29254f95827d68429f0b0973f2a12d44e22f78308a036484f14507928c30be1883aa031b99d0ff2c73c78ec90626d424c163eaf03b4e0160101b97504e2afa362387b9b3b85df877f164840146d96e58420dbb4e1e5e7534ae4eb051096d26657e941d6ccb6944b041096d4432372497054db6185eac608c496865e11d1fa17a34a46a7871ba58c1bf185467925082bea79c394c67612312ca5cd890dabbf722ee0ea460354056d88084d21d3652cc5ed903a99001861735c420238c3024f0657c191b584118613c606303111b8f50db2de4903d680ded70386c38424da3715a63f1b377f8898d46287e39e6944570f119a1c594b248dc4edfb1b9086de37796b43d19f57114a155deed4b98589b3d89d0e30e26624877d861e611a154deeaaecffb21b4902f6e1a6afa3be686d0e310ebd0fa612c4d9242681bff719422e4e37c4228397494312fde835026e2f37b7e16849a1fa693206d5719e640a89b59ce63a9a4e54118107a9448e8304376900efe83f295265ea5c8e9627cfda007f151ea8b631f949c6d67329ffebec707dd62266fc741d767cbee41e960e42c3c961c6bb27a50ebfaa3db988e9e33f3a0c5d0cf9c9dddf9423c28a96f6e5a7277d0e3ebe810fb3664dad00e5a84c567c44f1d14a9f7cdbf08d241d7ff0cf7217973d0c32b39d3ed3839689bc4f7f7b349691907ed72383fffdcb1cb67e0a0e458177376f954b69137e841f6fe8e85bc3996dda07bacec20738c4dd936689b2fe7e852cef429cb06ad2be61ccff158c31f397cee623bd4a08754679f7fae428b69d093660d19bb6268d092766b86f03983ba4963d6cd1f49d2b019d4fd38bee448e2678e55062567cf71fcf22172182c32281e477be69124490e536350cc2e99568e2306dd42b6d3d3ef09f28741dfbea0296272d108c1a0e76f489236345e26f4852444deeb4986c864c30b8a59ae10fb72d061f0b60b7df95ef24e6d70419fd4e65bf6de16f4643bfb71e4df5f29ee820d2d283dd2923b90fb38cc972c68c9cd32c5f9d40436b0a0a5c815ff725caf37311b57502acf7f0ce629fbb3b961055ddb72701d59db1936aaa0e79bb83ab3498d30c8108346872186920183c7409961830aea64aace607369b6f529e83b9faa3a43fd4845c8ba287281a51136a4a085f6b009d3d93f074d14f4a83c9de3c8f432c0e80206cb82f4c00614f43890f071f69fa04c66aeff1c1346b47bc051341a8cadc186031b4ed0f2c79d5715ab6f3cdc043d7c10ef18f33207963341939c2376dce164096adfa7b8ce8e3fea6995a057c5acfbf899bd3e3e09ea27d1b1ddce95c4c50d2428da514ed2e2124c333e82a61f0589cebb11b41b9b54d3815ed82882325275a1c274bc8f3a44d062bd58fe7b0e79d91f827a29688e2dc796342e42d0bd3e87b3b2f846104e394cea50c9435d6c0041fbca2c2fd39b827f64e307da04d9baaee0e9d2c7a171b58230c4c8196cf840cb1f3e4e7b0cfe301b3dd0537c90d24b3b272ef340099f23538cb776a07deef7913cf7e18785446143078a86e46c97f8c8fe98032d27f718432f6da6ff2850d8c081bee9e3cdc403bd0fcd12366ea0fe67eb7897771163deb081de676132471ba283786d510b5d6212cd996479523269a1a4143fb0141d9d63d3b350927fd8212e694c30d90b5bc84289a9a23b4ef729c63f167aa8bfd09d265f96f4010b3d62ce73befe0a2d699cb1cbdb4ca129e30a7dbadd3e28895ba1c570b6ff6d317366d9c2eb099d715ac378b65885fab3795485b223912d664ff297638c32bc8b1480e105f216a9d02c268f5ec50e25bfa342ddf10a89ece9a3ec5ce9628b5328222178b013b1ceff5920822d4ca18b88688e32b4a55072d2243977ce5f8eac2d48a146a6c9933c6c97aa1c49d862147a9dee6c98c9413eb14b145a0e3eee4d739d2af5180a353e9a9010db83c69513b600859a93d686678e14b1c2169f3063f26039cddb64fc18b88527d4b698493be6df8e43b013f8c7309e1be3c95817a30cdb82137a8533e9da0aa7f11574185f940556d0617c614fd862139aa5cc9a7a32bf8526349710ff618e6f398ee42ec8b6c8841ea50d1a3393871d7c2bc2169850fcc3a9d20e138dab2e4a10b6b884ae555ff5f993b3bdf91ac7aa7cb08525740b1d479aa35129772aa1e66056759f83f968f7842d28a1e764e9085b995ff2e8842d26a15d9aae8b2392246c2109e53567cd67de1df18ee9c2169150d265f18fd3aebb39de68610b48a8779f77a4e4ce527b8f50225ace22c4ee082d87f1b8266b8e0b5b3442a97c1b6a5cee230d618492ebfc36870891bc0317a1e747d6e15c479d3d56116a0e4b6a7258a37b9f2989d802117a945f23e807e11687d0a5db6cc27cf009b6308492692bc2427c1464c01685507abee3e4fb13229ee7035b1042afd70eb44472cc1ddc83d0aa3ec83b156473a706192bc6d7c8dac21682d0634be690634d69425d18186c1108ed32e5d4fbc557078c17638c32c6202ed80210ea876d5d1da342f577fc41d9e0a9626f8849f2c590d16538185ef8c15cc13a6d8d7eb8022f6a9031c651842dfaa0c7dc30ab0e71716727438c5fc11847195bf0410dc975152e2fd7c78cf1355210460d31ba00c38b3de87176e4b99271499d0f23062b461762b0a00cae31b6d0835ef6b159acb998ece4c06e6c40618b3ce891a3f25c1ded21dea771e55e708d2df0a0e48c172f84fe20868f30c818a38cee620c2f363636360c7681658c3166b0c51d94d19c1be1e348277d76d0938e76988deffe57d7414fb739c767dff618a683ae2942670efd61cc68e7a0694a218c87e5dcc54e0e6ab4f8c4f2181f413471502acbf562df87bca4c0414f73c1437fdc264cc71b748fff2e43a43db9cd0a960ca2802ddca0a598e30edcf5d306edcf2282e5b38e4473d8a0f566e736f970927e9c35681e858e630c934773eaa8414bf12dc771c98fdf3a69506faf6752aaf4b69fa7cb363e86dcf933a817ad136933e353ff66d0f63efe2874fe32686df1796a72d014ce2783fada394a9aae6ce6f263503ae2bd6ed6ac72cb8b41b7fc5dfbb623f1631f06a5624e1b39e4e558630f06ad774a6793c7ceef7f41092ff261759e998ff7822ef7e16b8d4c4cdabba0e78ec30ecd3817949c1b6cf73bbc34f12d283176947ee83888e55a50f265994fcc1f76646741d3f220d5644949a3c68236317d581beaceb2bd82be1b3ab64e331f96b482f22979182c3eaa83af0a8ad7e95cb44c8b64a8a007c122bede9e665da6a0e49eefb98e92827eae57a191adca130535dcd7470c312bf5e450d003f14e3f41ad9f8813748f9773181de624e9688222e1de34c45021c4d64cd02f476d69aa9a1ccf12b4ee8c94439e9c36c795a086a5cd1ec95c6cd249d0c3747c7d191ed63312d438bd17f3a69e69f3086a965c1692cb9746ce088ae7e70a4bd6b15f8aa04e0a39f8a70a11b48ad43ee96f1e821a22624eaf9122dcc642504cf2423fe6ae53c441d02dc86efb0708bae6cedea98c9352f803256785bd79fb4dcef840cdcb2e5112d30365a2aeb64c235fa62c0fd4af7439f6de2cdf1ebb033f64f8e8afa1818d8d1478e197852d74a0b6b9c7390a1bd941db1c687923a5d391f1287370a04de8ca1673b6e8f16fa0e6cc61b22ebd850db4f8c86cd1d95a68d2296bea9cf2c62e69a14cc994079242c718ce420ba9dd5850e7838e22aabd82fa39c8616b9dc40a4a4d07e7e15741f164fe732fe1f16c0815343badf06f6fe3419c825ad3592b239687133aa4a04e462a09f389821ed9c310eb1f0a5a98f0099a56fde42064d64ead1394fff6943d3cd3d0b926a82371625b87ce1c87099a85d89b48e665b904c5838498e552c6b4314a50fba334e4dbe4b84b12d4d8ab9ed61c868445f47a3342e7086a8cf1df72488e1b7e23a82f25496773ca61751541cde29107619e293a5644d053e5e7d28a3fdafe1094d9f70f1116c3582e043d0ee2fe41cc06412db7d89062cc41ef40d034d3d57b1cf903f523dd79daa00fb4cc41e509adf8c13e7aa085109331a191118a075ac4cb0b17d27cec14a231c6d2381a632c05c8d50eb4a499616467fc35864786175f2c1935c26041e143e9408f1f739cd926c6b1fda4e0b043e5400d9b35e1c1cca42bc68136f9dd1e6f739082c7eb068a6df0d9d49f290489291b28e21dacefa22b592c6ba144cc14474cfc520a112dd48ebf39ca1c82a518a7326816e5ba698f6363e30f248be2b72f845829c79a5d2caae022932c230c1638c02bc008828596fd53f8d8871da5b479208b5eb16c0aba1d1721c4606000101800058e56902bf8f70e2a79d0011b1b77a056e831ffe387cbf129102bf4f74c19e6e74600ad4229978f4d2f473fe16144aa2032897664d1993ab26274f495fd74594bc634aefc0b2fcae0af71940a65eaf24e4688a8d02b4949ebc63c0e740a3dec71fbb41518659caf6106e0810974910632859abe736e25efb69f8fc6155508cc41062a85221ec85ec67fdc415fbce3003c3081315e10062285fefe66a9bb62f6ecbb541068148a45967c49bcab5264372051e8f96efcea727cdde442a1678d1029a4fc31a78b9cfd2f12147a75c6104993c976b87f42bd9ed6fa4d9b27dcba92a471da7ec1ec05185d2475428913327dbefce1c466dd39e4e85b2407b409b5b37ea7ca3ae9f76c29e06140000036204d2832a12de12f6ddefb32a185b0f54198d0f2c56039265c79893fb2b4711e65dbe934aecc003c30810190257439b7bc98cf1f9ba7127a5e84e5984d0935850da1317bcbbf3b09258bc49439b24b128a75cc4e1ee64e24f4d9d4d1591ddbc27420a1a61cb755a86c5591f308c5b3620ee97647e81f6c23c5e07539ec8dd02526fda7b0d3c93123f458d245a87895336516a1474eac3ca222941c2dfd39bc877925119ac59fa4d610442892e5c2bd3cfe104a75fc9fffa8378416f2e989449c8a102c84def97baac3356699105aeaf0a3ff1c6576b07c10fa464c1ee4304eced182502cee633c746039ee40a873a1620e733420f4a0ab3f76fef80ffaa514b6dd3a7e50db72e53868e7181e6f1f4a713e1bde3a960fba8d7bc8111a2e75d4ee41f3fdde2f8f4b23d2a9073d7de8d4e65ce6419be9702ce58ff5669378d0fd8278e7d8dc2a33790765a4d376fce0ecadb4833639fbe507efbf9dab83122cc72904dd3f8d1d1db430295b9b5fe89c1b9c83da1fc4f7c02b39283693d3a60b997324611c94f0c8475ea2230f7638fc6316be41cd21c75593a3b841d1c82661ad3317d6b5413997ced6ee0d1bb48d942b44dad7a0e5b0e3f8a34f2beda8065dda72c40891b9aa4b831efe95c7410eb3e32f83063d52bed971b7f07099332875713362bc638ea38c19747df13872ce9342e428655063e8f81f45e4fcc155c8a0677b5d7cc91f9376c6a048e4984d4265cf514fc4a089f8b8079942c2a0582cfbad0b913cfc2060d0363b28cb61c4baf439bec09c040b89d70f2fa8315de6ba509fc3bca30b5afdc7eb3ccbac91e3e082da11f541c48eb2c5d6b6a0e5651a91f81134c2a50535c547ffd571f0ffc195053d4c9e3b73b258502e555c0a493f87bf5d41fd99ed305c07153ca8aca0c71c8c263789371f5f0545434f76d8132a53920a9ae7c81c77f81d7cca4d41d3b06d2e1be11e2fa27155c3a4a00cfe179014f4a06324c4303162771c038a823e71d38894e4e88e72a0a086bb0eacbdb527e8c1e6e03982874172eb4ed073d5068feb473c49d904edb2b207f9303241b9ed3899e3f0c39ce39825683ef641cc23734c6d94a065e455c86c0ff77d12949043b25b7948503cd80f3aec38d28a9523e8a21d236821f2b47b863cd190528424e43079485d081134d9deeea0e62128c9b37696d68e927f8710b4108f29270fcf6a0f82a6d55e49a407829a32dec8e4c01f2896237ef8410ece45e3034d3f5becfe5ff8e4613d50f257ef77ec391e2819c25bcc6d77a0a4ce3aa963e7603e52074a3c891033729dd62607ba67bebe2c217ccc97c28126969fdbba43f0ff067a4a92e753aeb9c5436403357ce8eeb0bb3288856aa164ffc7cc1f870b5a1e5a682f968249f47f977666a17dc60ecc435c165a4f68de0d166f63c742af1046a6034b65f3c242f14ef5f973c6bd54be42bd1092d95da70f767385eee17660e95c62abfa56a827d3afe7f6b342cdfe9ea323ce3f4f5f8512bf3987f7efce9f5785ae61c7dad2c6ea0ba742738df9892f1b155a7692d412f729f488dbf1df2c9b4291eba876aae35268d73331d56549fb8349a1ceb8e5feaf73b9ec8e42a9f3da0cfd9279722b0ab5724acee2a24234a1503a0e1f04cfb10485fa1a715939de0b99e527b48c30251ff6e8097d42ce36b183792c2576420b23b39739bc3416444ee8fd992b840fabe433b809cdeef2846650137a2c9e42ff3a8a399030137af6306b65e6db88df6142b3bdff0f1516b2e4ee12fa07d9983efc73dec859420ba9decd301e6c8c5c25b4f9481d2574b1b6d74df7d159d64c42cf309b72d092ad83a491841e7dcfeb9806b1cc98482839b61cf903cd71f01c06127ad0cf51de9fec559679843a539523f3e31e1d47a83556799ee746a871321e976b909463842ec97245584dc7397211ea5e7f58773093932842ad9863f98e323347a192082dc42549221e44681e2e1bb5fd21d8102137e29986a023c25ccaaa144293b01c5377104228dda7f3529141e82ee1c374571e8250daf5c320923b02a1e7cf2d96ce3b5bcc1c8050742f726789937642c71f948a371d1e9b7fa0a3f941abdc41aa038fdd71637d50bf3785fd85302973f8a05b450caf173979ff7b50cee38d671d5f7a50cf7aebec3daa2496ca8336d9dd4ab2073f3947e1413bf7f6309f5677d0b2bb558caf8ec2e4d841cb1e7cc694c37029f575d02be7fe4c6541fb6d3ae8e15c4cca71f91fbdc4c51c94cf1aac8370e29f3d49e30a025cc841d92cb1daff2c3f3fc638e8b7f37165648fe77168055cc041af4d97dd3e4fda94f3be617c61ea025cbc414ddbe229b57fbc878181ecf7309a4a015c1c8e4e7b04db9afa5d40ec0a3fc0451bb49d9c49277bb24e0d171c59e0820d27ab5c35657962c4b286c72b376735a895d94eba2b270defe570495b72341a8ead6399e31e67502332e22d66cca0864d0ef51e2792aae2a20cca850f47b2b67f4c493ce05fbc17a7b706195f704186aefed3cc54685c911a839693a123fd4ce63b530c07cb18faa318331d7211062ec0f005d2f4784cb973d2b88101175ed0237f85cad297a16be4a20b9a6d87cce9529c9c32c4051794cbbfdbfaf7d86c691ae7c56a00055c6c41bd9dfadbf87b65797faff1870b2d94c14516d40ab39c62c6cf3925170b6a8b269f54b35d812c99ad279663052d67f814c26754dead075c54e1e0820a071753a80d29dc12b591a3a3dca13b617011056d32a6dbbb9871010535c58f0ffca7a3f051fc094ae4138d0f192728b92fa43e42a688c9c4606bd4d8d204c5254b8c67ceeb6c63b02108e3051e200be082095c2c0189d791a53a0c0bd2382e94a0c77ee8d88fc73474c64512b4898eaa2e3ef28b05a3c6930186175d885146172b08238c2fce36902546192b08238c2f8c0bb840829ee473dc21c5fc617b878b23a8e7166132f2f14b4c7161042dc59b0bf12ba7eaad8b8b226819ac342e88a0682c89dc9c98aa1a6f46012e86a04784903bf7221742506abb7382a0cd57e7e02ce6786a7b206817bfb176f3fe817e6e99453acafa40e9e842ee076d0ff4904ebfef63e6287d92078a4f4904bfcf0e940da13c99fd87bd7d3ad03a0b8a9ca8a40ba58202e2f1702c160c84a22010d4da7c03931408001838220dc6e16024cb335598071400036d2c1436241e141616100c121010140a8602612020100803c26050201408038388c12020326d0fe882bc60cc0d0eb84022b9c0bffea7a863c6dd4da0de9f1fe0c6ffe2f862873119e08277d922e32f80076462cfde4b0eb40e3c372007c0c502341ed02920ac0bb8dca6b9bb9ebf170fb349090ed80c80e7a37e83059c1880955e11808507c0683270c14ef85ef10bb032d26ee48d0b10240097ca26ad0787dd8e6f4f46604c9a9037062f76509b0bdbb00b1705f37587addeb2760283463a3623f2bc40300fbaab646e4c42da72dc00bb2366a93aeeb26cc11aaf4026947a919944af4931e62d654e67e9b472900e1f4c136853e930d9cc8856a054844a63266646b4fd8e55ac5c604eeb168a897bb60adb41537479851be61d1eaa161b48866e348c4e43dfe1e34251f8f52b977d33e7be8fddb4ef765eb7eafe87cae6c77e46ba3835b369eb51e36a3282fae7439408271232b36afce006909d3a05c876540cdb670a385e728e0f42002da5d01e55afc926457e2c4dfecaadb65da5a0e661550f53c86e96a28fad91e8c9b300896a6561e0cee31a6f3d6d22bcc74d97773add1090f0943edc60f166acafd20552761ff9e8330f5392ad9db6578e2bb490d19bc8e0fe5b44eb1484aa465470a806cc04720f802dda05807d005a159009f73ca9056f93d068b31bd5726b2795a3b273960698cc63456d922c8f52a97ca9f740fdd9002dab85afa9c03d49a3aa372d70c1c9a392c868b4b3af8417416a7c7d27ad145bd92d0a70cef360d10d86ab5f03ca06823283d08c91cd58f1cefbf2c55a64b979342f6764c5ae7eb0bd8b1e56fd015d168b284b6881c92f4fbd58237ead7b6316b0246fbfa09e61f3fdfa222b7d251670c368429925dffd10c64aaa3956e1e89914a0ddee0621d8dd40411fb4bd630dcc36f17563cc0726140177de073a093334e538d01ab0daaeb289a96d2bb7c0721f903f1ab8f77d049d0b15e436cfed3cbca95c9e2c3e261f7ff4eb978a869f0db646f1e3ef8f3d577e98702b9477ee8902056c9d663782e169edce7f5f48f1216004b6332a04e1695c508dbb116c4f8254ac81143fa4acaced80e326ddd3599bbe3801314998502ae8cdaed725af31f8c1fe912613045878c68566a4557206fe55945f9818681178625c32b68b25c7c61427339e55c2c010a3d559421ff13194ce518211d2aa2387b9f793e19792463566fa5f4d064c7589f3fe402aabe273391bb31ed4a0f7da37efcd765311e66e374407edc7a49afe76b0c2e7627a2af8656060ca37bc8fefb8b9183115ce54713f0da4e9af0e4280f42a7d9eb5f990f9e5ce4150b7a3327396b89b41b64e2b858acc4bd6b2cfa682b1725444174243da54310e58e2e80eae9d668c2da2989e51c552ede43e3aabb94353a700a8cc412bfda5b4c30b95728ca2863eea266d736130a5545157621464c1645af212276cfb999592a6d4b17c5ba9e8c3aad229a60a9a225702b77c2bd7fe47289b5b4664316e609afe367d9e9ac12a3b6d7d21c8c5422713ff2b4d7c27e0fb66408a8c4987b5bed50eb385285a226e675fbf33128f089e9c9b6d439e2452850413d85fea03741baf179a2ef5eb9c9c2d1b558a312113dee24d4ad0f0895b717e8cbd4a045210c33b83adcc2659dcb0e9906f6d21579e4bc26bb574447913300287a5d966795e964a49e434c34ff6103819208926470889e1938e8e992e1428c5b9c02d0a084543140a11604378e1ea22d72aeafcf93be444d8e690ce45ce9daf0726448802dfc8db838221540b27064d14efb810edd70bd95fd89e80adf35101224004902d1ccb7c8ab42d05be302c24088a004042cf106b0bbf28b31eb9b0168605064142680d7423a23c28940f6e42f99854448873857cb27c366a57e47ead966c41913b975d4d8b45fe1f4c7293acc87314375fadc8c327ac426642c807f281ec1a0e3dfd1ecba148c0095e812bb41fa48ad8156576038f56130a85520bdb87f2cdef35b8293ac5f5443ed0055049ca3e86e41eca749ed663813e1dac43d11a28a47dab7d9f57cd9345fd4f81ed1e95c7acf9253481613b4490d9d5420ef5214f4c46b5076ebd5276a13f2146945235b6d98ae41afa64843f59befb14b1d8db85139c6b6868956b366598a42aae6ceb744932c90d7a6022cbcf47c9cb7c964ac42b784bcb9cd41f005d8d0da6bab79ffb521adb8ef01b60413ee5117e8bc9d0aa72a7fcbea1f3ac2ae97763831985c948b00ade8e0dfe8486d329f48524b3298621d0306820ece3c07984ebca8e066109a89e0e8b41f858ca226b04b062f6853464d64b98e168b10b7c8a4c16eba0b7096e40cd84cf6033fc0f6cbdff3264916ad480724dd570feaea92fa52032e4f7d063c156c2875915d826ad2d436cb0039ed8fac4982ab890609519a37de4d90a6f103624974dca15bbc11fc160ffea1a58f922cc2af44374b07d6bfc87a4af5ced30d1a32503c63e288bea883d4b7c26f7cd641d8431bbc7829b7058136a1d79cf625a12ebb0fe7cd6007b1dfe17f2c6dceb4672519800a2cef258450cc11a7da5451218ccb03738d5a36cf207c50bc30b50649d1715b25e3217282215696f8d1d465374eaff4fcf8785930dbffada0ce5ac748a2176a6b9494ac38ce78fd6e379558a5995003c851dbbbc380ec395c3fd07816b420c4f3d0feb5d400685d3633090d56cdc1fe52761715831e61685791bbdb2b06f5867e04137adea9952035d03c712671299da253d622a05a0ab6609fa0bad0ff074dc6f274e9d0e95c644a3cfdede7b7b76c450e13a8e5ba9a73263b14838a581c0909082e0d62664cf814165c825ce89a34001755841363e31efd2ed30d561fa003ecbc43c2ca5fdbdbe32a88e2b40583bdbdc331e2ef72ba4863f4713d036b2cd7103a1c336af50d01c9ad48bb9665bb83e95def50268ee1fc0c627b26d1e235e2db44c1bb1d026c6de6d86f1a8ea366e1c2b743e4d641073a9462fead1cd81ca82a0a7b921bd8f7ac5456936fe8dd3a8db44763a5a0a51e3180e07e3a04fd682986d20abe23ea620f07691b54a26567544703bd1022069a323b2d9ed647781768f43c616a7ea5371d9634fa1a022ccd31e1037fe3aa4227b49682038fe5a10a84c1032c4d3483aea5ca629a7af477c5e2ce1821c9c79ead86a374d96d86278998c9a998f56bac701e8166195ece5542c36593ae14fbf6a721bc7f848616656ed97005493d3d778940218d3f14d66484ff64432cf696940d2c4bd82168ca65b27b2c1ffcf62c0c2442613fe2753066942b67d821a58c7371b692ffbda4b8e17d677d45f0e71d195f58142b52ed1c6be3c0fe74ae1b520fbeacb85e775cce581c58f8832efc8b2048955a7f11f39a0420f28e4b8df1207ed7a5b84af5efb23f3d8917a4eeb461541f42e8a51763410d81e5122b6f7649c4a10b17b6277f272435569bc109da94a18802802e5d96d1800ee398894cc466c1bc9deb427c39489aa72b1332076dc7d61de9e57287487c1e12587e186ea75d268630d7741b49b0f79d9fdd2c5c78d20b2ce790e7ba9eb0553c046d91e0c3c74236909186006293ffaae94129479a62383b79ff37212bf53a6142ffa0e0573b1ed1ee935b190303da3f21dc8365241ec14e10d119496e5e6a1f854dccd7177ce0a3a769cfd02db95a2d1d190130546701aa30ce54472938d7a263994c678cf5ab56f70340603225c73b7cdb5311ef201474c1233b59f0642efa4677dc13eaaf003ffced8d8ae2a9cb6bbcb1bbacfbfd6a39574b86283cdb132a3f4c5e92ea0c3baca20cacccf445867ee869aa8917c35b31f5131c71be2e4fb3488b61d81c1d4dd779698c2e9c2b3ec34901ced44b35a2e4cc3d45fe5f388985312bf7feb37e430a69c2cfa98845af703f9842bb7fe7bc2c9986441cc1f8a7108d74436981eb6c943a94c2c0a64d22362294ce0d67e89226949658e9aca037284ee013232acb06c372735c7f4618c7adbaf96a83d987db8e1f2a20172a2f14047366fa420872b72f456b0459aa9b093db77e011cde3f0b1c9c8c205f64137676b82391e852e1d9ab9a833a1522557f629c4cdedbca59085599fb5cac2e3f3a366f2fc77ee219d7622509a6243b70307724f16f83de45a1bf2b03ff0a5455735065d501dab2d8b6192d7da285ab56c8cf979854fb0da5fa6328e9a7d48134eb83dc1ae123dc57dc2eab4407252851b4cd12885534248ee74474dfb399580aa5b36ec8b70896efe17793579ab0f62401165ba04249e8ad267b1898fa713d5bc4a4dc568122d172ff00a682c980631c660d8d991801a340d4cc07e6640bed1c79c31f102a0c50227ce41280a6e80f0a3111429c014b72cfa0254d04317588dc177646068eddc1e63657d4e7d16e248201e4219accffe021d8fbd33ad9854eaaf7404acc93db3b4bd4b8bd782ca5a5422ccebbfc732fa42e61f286dd7d91d8ab2658a5eb0c2ca6fdbfaafb0c61f57f364f289bba5860834dd92a1fc9ae3f6c771610ea83c0ec1796faa5dbf9de6ab0f5ece1284b7cb030f6f9909a97f6263825e326e761bb9f14d955786f9c96ee7580559bd4224a03ddfbc27ff550612954cf02f7d2ae6e4861321164d44955ca38d7ab49cf1666eed8f79c0e9a6326dc63c5f6b692d107c0a69366bc91039fa933e2b431ec3d1d070da5b4d1777f81a6c4e1e6c903ccae49352ad851634e9f29a330dc0432a26fbe9a5b29c535809aae508b90a2ba6236dc0244dba0cdb9274b4c5ac81ccf2a893146ca3b0004cc57a99c8b9891314a0d83c55b2dfd9f4488bf092654b1b9982676a6872430d1b411b1a2613507181a5df1cfd2b34b00775661fd665f3e497042144f7082f32a2a5b8e1aa491d12da6f2417a3768fe013717a3479c080892b2c91af7bac2a695ba069d4e33e4228191e3524c3dde689d29e9613bed81febfc3693d68b19a03fa16a7a32bf6db335939dd5a304db0ae74329c9d0cf395e57fb5c12cfe17552566b1c9390b711ea8cc017a8185fff88453247ac37821d786c95ec4a3d145f4d6abcd2b5d916b00e39fb297991d836dfa32f3d7805c8ad3f595b96219580659358f59807a6abdb34c14aa930536210e6299f709b09e827710360cc1c5520ef74536429923caa2f70f8742a4ba84ee18410de6a14d8ab2e8baeca0fb0577f8a130dfe3014b749b8faf40d0ad43218471990824afa9e8576884c8df281dc92b77346175dd85d08af32b58b1a4075a25b2b4f45f26dcdcaa246a39e6ee9bb84678ff99c9e1be4207a3a55f0ba67bda4c986b4583140495581ac464caaead04be55a3d11d24f215af4a6bef61ca8106f81416d08c896681976071c23acd28a63eea4f65add14433076f5b829328958d21126aaa8c55b1b5b02b7f39b27ea72fd86de1677278dfa54048bda7566039f719ce4ca65d3f3630df2995004c7b360f6a09afb5f6bd2927551219d516e492673694b19c485348ae91dc78718ddb179f503793cb04376a3bd56d7338a9967172a15d386a191f70261cca9224882e29e7508d9969e9fe55fcd7c0e7e9b820a054807e81e7533fc4dcc117e0d025917a06e6ae7119747a0c371f04e57b0a928c004be57434029b34f9236e26d940971ed36df019a21ef7790eb3c4c9ee25234fd0d2c55fdd442bef57c9d1b6e09aabcffbb77a33218074a65e32442584ec09d6835ce05771ae15e603ca31dac96de3adf8c512644dbeef8eb2c69e6e5ff7dcab079dbd094a464d4b1232d96e62dfa56c6520f685032c7a4fd56bd2738cfef945128e6062fde14b624035b530683538137b0475126e61508645a9770892b884484acb55f9aebad94cfc5c0d9e7a63ee2d5a6f0cbbffa0c6841dac0fb46023da32ab5df3bb8817aa0a44db56ceab8b75b7b0e7c291166a18fd882cb14c629fc93dad2e1def0b98b5039b9ab8bc6a1eded6846e52a8ff65c410ce003c6c4a59584b7179eb19f11e9963ea897f76eda165d1755e6ec852a71db0d53099791350a966fcab4d5bffeb85fc40618a859bc0e8b6fd254ec27f5ee66d4e97c6159ecca4732fa4080342a792ee41e8806879636111715c857582231dd53dfa59ffd0d1a8c2ad6fdb5f17106c5f1cdbbffdaa74315d400242a45ad97fd3529fbcadc596a1bed233556f6ad68a2b8eddb5ef22ef8af47a2143c80293f9f15c41e4671ba895baaa5b0810cb2964e6cf53c4853f4d42c777b336837ad06beb8075a2d689bab38d59936726054d1557649f741539ec207b8434d4c946e9b0c646b12360cf19758ad17f8ecdcf90758b9035f9bcfb01774a8a0e0fe523f1d340bd10a59aea928ed53f195a5e0d6de7c2f6ee05bfd54ebdac78c9780a2a6a992aeb9f9f65d910dda8a6c29e8fa0ce9e6e651391d741f9930f0026ce58ccd37efdaaf2105c54037d0a4a55a366d5cdfcd5fa16027106b625af1023c86fc26cd11573edceaab29edc62a6cc537c5e9dd1bb9801a5e811a81065ce3cb16280c92276a4dc620fb28affb73455cf355b14fa6958282f0463360565f0d13e5bbae855b4781dd5dfdf6f8ac1fd5d713937acb8d01bce4d907e3360de93d712112ac53c2c196a03e77064126c265d562f80babe16f17b47003b064f7a5a01b6ac00f9027179727b2eb3b2484fe664fbb651a05e8b0948546de5374dfa2a8a9e457a9177772f87c90db1f289ea22be8ec70d2a46a90be5da06040e00861a1d2b1f1f8ade6b6314b8b14a45aa8de9313ca89ac901e6c738230d486b56e4c691b8c21e2a2da6da3a11def8d8f830a1500f6e5c899245eabc2e62d2ee938b17c11b4a9f71d97195eec03a506d62210ca2711fb5a6b1108090c508c473c3d36799bc2c4f606c41a3280ffdd00433eadca92c80a7819c5649f015948b20e7505492aa02cc5d6e3037206368aed46eb7e15335ab55f3dc62bc7346537f0839cb40b50acaf07adfe838aaedbacc80fae08686ca6bb55a5113f32464dbb394f1389b58d30c81a4578f69756abc6af592d6e5649521597070ed341a24e4511be31e8c00383a126bd8aeeae9ff58c5165586a7f02826a471969b6a6ce02f26dfe674bd9f00a743af1bc1c1bbacb0df5e0adfbedd8b5491bf803737bc19d74f22387334e40b91ca0858d46155e9d487942ea89f48327c7af0fd016c8a3c5b9ee01bf317dfbee0f76330babf5405cceff9d9bb0ac1d5969141f917e0323971e68a8ab8ac38c7bf454fc2fa584fdcc1e3d81a1bbc71d67676e85ee520a9f9eaa6327e79a28e8174c7fd8bbda47831eac7615b9ffd36f6e21653407985114ee91d6952acf7248c197bf695eef491c5c489a6c7c7766a3c8c0c12f481b476e1da81d13a0b72980258b3cb6bf90e63ace6d49e709f19ab82177b0dae4849e4203c4c2491ce06351e1b7dbda50c782af2d9499801eb64a7b267869dfa02897949024423d9a700df803dfd5b296b08a9f5efde17b8c2061af65e155048bef90e6c1eea778072b965a058ae564cc0253fc5825553b1824a50ccecbce2952339ecd34048d0677d844c771d0102c9c6de991e4b019280d6dcab40b7a651a12b60448c7290059fbfd53c06bf8932c8da50932eb8f00dd2d25e68cc0850d7465905be7930c553d2915caf9d07a30fc84e4e863ce36883867ad4a5fbba0129d5520ca9d4a288f6f06111ad9db9b91568457cdb36164bd213df50e52775246e1880406a81879119dd63eb80341bff51b0338c35e377a5eced6a0663a86c2abc58cba0d1f6c85a254075d4f4d536730be749a5ca93172333e3983bdef2327b4bc70730b2bedf7c155a84b562de7968a5060303a0ac67bfc84b10d268357ce8102d9e84e69717dee242e0789f42718414f49716dae5e4d412dcde175919d5d48bacc6378f612a93d1018b5e493a85355b3ba15c09931b96486c3caa3c74bfa674c08e53375a66ca1dfab5ccd409f71ba26eda00f32af1cb18625b0776350f602c1c82a55a932f7b44ae5f323b69f3760e1c8b67e00becf9ae8ad41326c045a04bab59d63957906062411ba18d12ff26b82f79b82473c93a268f80c55f65606b9775d30907b470619c77914d65f4377ff8f893c57a60c896454b15811318060b8c0ee0387e2efb0b86b0820cac09aa5197109e08641da2403df1d0f66860b7d59c037b40833f96024b99d451c98c4e1b63a9b56f214971b7fd239e5f2671daac1a7d4820803a6997104db0050b4361e7ff3bd0937251f6b574188cb6702f5eb875f4646b88052fc91a981003770adbe54486e23844fe6212ff4734f83357d931fd45b64ce9d9dc9054d87674eae5814458abed1354a8c7a818627d2f735b938948299e58316bb34df8d4cd80f30683450062e7363c3f0b5596c1a01ca63bb1440e35010ca8856a3dea1b0e8a59f4f7c6dade22a12ea325a411fea8390ab545646d9c843322b03ee8abf404519496b272c3944850f0f844b33edaaf5d231d5d246abb852c61ef3b1499bb2e942a439d9ee3748942ba596a1e8a9847a145ad15e2fc561d0a942613d87e0411daa44d7d176f4cce9099e0b2025d40335417f1af524db7bc4c19564add9f5c47beb37caa5e908d0193a45ab417a622b5a4ce3cabb32a94b403dfd6f88c21dfda773503d0f5da9147e6a124b1465e0e718d7b93c19296d022c9c9c07d1c63414568360dd89a68f0ce4c15d4572e641ee78edeba8b9145b8860d548af3082d7c8b3f5b8104867ac73c191f781524a9545b4327689908a8959ccd6e39aeb3d479d02da481f82bda223b1899009df196c8a3cc24ee44d92364eebd403209a49e27c05aa2d033a18b419226aee78d9934bacba310623d56bdab5f582568028a905956b31e0f42d152c742586a2c3036bc285d18920350e34bfb074fba010e264fcc72524d81b4d3ab082cb51eb0b1f62d49bfebf380f8446854d738130ea55d83d9014bae267d03b9a472550dcb4534461ea53a5198dcc4ab81c326ee3a7f069ac4068e42c8072b38f3e5bd5f15216af0f317ff6c20d7f6155d2c4dcb58f5e45efdc669f5601244832e682635160edfbc58213c0c61812db8dc3ddae7dacdfec0603da1d1b1bbccd89b91c4db5e0f1f6a8498dd23725f148fae45a59c1d7e2b568a550a5e8770a51d350226a20b46294a28fada392601925b379a8a17a9607ff24bfa8847ef53467d6947413b6c6ea004a863aa101a315f6b127cb1ff5e963414e7f8a16a295414ffc6167046ed439ddace55a2b068f87ef4d1424547815b662b8ad1e5118ca453dd011542568ce0b5c0260f3ccb60375437bf41a05a06d890a07106094b7abbb9a45cf52c21a6945a85a11539df257a828d1130320e3100d5d4753d09b4061b1966e6aa494b516ad08abb1af1583b661b4adc2ab65bc85844408d29c69116c92889a4987ac4cabfd1ad1cab81f999408f8b1dbb343c44a0ffc75c64c4c1d296d1df498f2750f5cd25a0a1673671d949e21218370aa228c1fa6cbf0d5087e2cc89dcbccd550bfaf73be7755247da4668c62e16fc9fe367a5388464883aff9d2b2840eb9c7f3b9b56807a3c602305f620708102f952de6862918c5638697484dad3533db6a6923d83e89a609ce0a6a4b9a519fe1a256e0bee11d859acc0e475114ead708bd7a9a623956409638c0a3ff88caa5395ff0f5b6026e68b21926be0de0088bc62ac7120e2e8c49a8dbadad6b5bd85cad39b202f8881a8b144b35ac0098089c1f3158c7140be63bc153e6d23c66100d312b6c8eb215905d5c0415661958410bbf45af951823e80080378a7458ae8c90015fa430fa666fd1084d835b0e4d23d6146e0dfc8779d830eb009003fa852e4c1e0c5bf7b9158e1d323005f0f57e4e5c0fc908cd50b57e005ace442bbc8d70bc7a5cf1280db644dee75a1148d56d25c7f71b1ca3873505bdc201d69958f7d2eda3722ac1248d6ca99321a34b575f8f1586dec98f8c71bfc0fc01d53c6fb2ba149f3ddd530326dcadacfaa94fff84a53e6f12f94f056d7eefc62c808c6d6fcc8129a8357a181d3483b515c6a22029b703b0eeb16ffa707e099c5fe31aa84dd0eb1c7f268b1726172bc2784aac1cfb2d8a16ea3585b8974bf5a41641be212a2fd8b515fa02ef298732fd6202c5c19f759539cfb36384f1584f26345b83f0ff428a788dbef3e13ec0d3233e6e83bd44be5505f668dcd30b8923c0238781a66d18427de8bb6cf688af8d57f76fe27807578986527ebdf64544f80876dcaea0df8b26bbd7e7f382c0894671ec7c8116b3233ecc0fc637819311e354649423340c8628636e5d5edb3dfbd63024cb38aae0210a6d16b591eb923a72aae94b9da017285ce66a916d15b9a0e8f2b559aad27d21da0ad49a4b9ebc7bdf38d7f4d4cd0fbfc7e732f8ed078419cdd9741b82aefcd6e534a1b623191b66d6c8142db491b04176d49bd86dc35eacf5035bf9b0eab924c6dd655aa4adced887c50aec1057302f1eb72a50a4627fd9e45d6a53a0d5e2afb36eea726076e408e6fb8034fdb2edfdaa387d1c98b0c6a497e12ffc27b355e28081fe6c3bbb0550e328ce1366a6e01fcc0c26876de9cc7faeb2d32aeac83a99dd59a7c200b174f860d68e93627edb897d9256d45be12ec727518f6658d27cbc72f465680ee7cf17f7c04fe19a9c536d61a51cfd06b721d9d33b371b69eee3201eb9cc8093e07ef866f1628ee78fb4cf56f0fbda24debda7b5076dd4bba08d5a6afadcf869fc58a18f9a11f1c2ec62716ff40994b07ce0acc26de9bf07c288979e16da70c1432559e6a9d548e656fc3a9683ee99649869d4b66a9d6aa4639947f0dda1bc4419b9494cabcee6189a5a37db8d382ea760d1be1f2217bfa0a97089c27c40adf3a583bec96278ddbc95605cb55ef54601519a9eb775a6b4344061637af7e315f030a7025cb981e9151bdba74c60588c76dbab3063358157ee4c0d31d8d9204e9c01e9f0046613987f8cde48a0e333a55796b683c1dd3c9fd0f44c41f1556df6beb4fa7214afbce6b4119bbe4106224191bd57321fede8b3f3deaf33c12dd52ecfe4e6f6ea96cf786a8f332b31466c24248418f80d6d565a22690983044c03bc3b021acf77992c70b61a0730c30c33cc30c30c3334d368a5dcf2870db1cb05bc22525644121cc901c9da40c9da40c9664c040181097209a509c4077c45ca68a95baf07ecaae5d24b918aec391e70992f59de95e42eb8cd9b2ddf5fa90b3ed8279198fb33657ee4828b412bebc653ec6f072e38872153e4c81df5dfb805bf9621bbc49c8cf1e56cc1a859f8ea686ac1677e0b4973875c5e1b2dd89c5afa35b971dcbb66c19866d01752f3c6540903260b26aa668c27078b7aadc782c797a2a30799abd9157c110183051b21662d1f758fbafe157cb26419796e548a9dbb829786f9df324a0821a5b482efc7efa9fde27d8a372bd868e9148f3a152fc75530392db3ca51648e7baa603f9547e5875dc92c4b05e79733ca58bb51235f8b0a523c84dc9ddd9d02afa9fbcd4943c34c715efd66e7f465f59740abea0b2b05933ae32031de77548e91820fd1cee83a4b8ad118051f2b76dca95027213aa2e0438a11e2662ab3e479283833492396e3adbd6640c17a9ef9444b9ae8df9fe026e68c1a5e9478829510aa71d09865800c24b0020678e14511ac135ccc905f3de31429349c60a474227946ddebca26188fdebd95b51e3efa688247e95a35abe464827f7375afb5f67bb4c104bfe268ea627f09f652ed8e3e969c8a5b82af6ad128b13c3daa5482f1da2fb70c4b427b8512ac37b094a5a6e92c67129c24cb8fd3d9efa82f092685d0e8b9762b76db91603cb446899cdb9a3e0209deef2a646fe7116999c7d7115cc38e90aac76c04af5f291e224d74b423239886566ad19b3a1c8a8be027c40ad28f91edb54311ec56bcbaa82cd1736a2482d578a1beaf3666d61c22f8d4ecd3dbaa2052df2198dceb92c733866043106f1c23eb47bfab106cdc7dd0215f4a130b21f8315f09f14e173432082e47c38c333744762a08eedb3b5345e216082e72e8c71eb40604a79e6b43c61effc046c807dae81b2677cf3cfbd04152d2a079e1451ff84e661f2272ceba29323e309e32c5ac51a7516db60eb607264c2333726676d7a3045a31308131410a5aa00213d82e4c0f8ce64bb2adfa90d1b9b03c7059246be67ae7bdd4f0c055c815d36a4e1fb251e703bb039325e8a633cd62d91598e01666071e75ca49f172a2ce1ac3eac0df775c062968c10b640003bb6a81d18171891dc241fa84841c12acc004065080014a6062d012c840043e05fd45192e6c0e8c5934d20a3f75109d094c0e7c863cd18c6be3c6184553581cf8a46aef19a4311206075e63448aff594d84bd818d7943ae5c8d672002062084b981d56dffcb8839e4abe803d606268bd84f88d2d429986ce02f6aa6520003ec80ad81cb4e8d2f7f8ac6d9ab81cd4abfd2fa689e424e1ad8a8d4efbfc96cf08218509d89c0d0c0ad8d59a40837a94af5c1cec00447511ac68ccade63863278060b31a60c9b55a55c4bb1430676dda14566cd18f8ebed20914ecad37c3130356da1f14aca0d7413061ec42dabcb1322dd0703afd94e7fa254bec04656cfd11ef502af8f2b4faa674b8d7681af9cdcde12aab18a840bbc75eaca397b640bbcbe64fee3fef6dd88169894326d4d9b4e5f6f16783bd594f55d6281fd8929fb058f90718e57e0fb6256ba4e565d8b56e07247a26d67a01bca2af09ee29b518e0e2ab09e93e6ae436d77d49802ef9d528f6f8e1498547e6ae22959968e0263220d3c6556f65e0f0a8c7e677d0d217d9efa097cfae8287635dc14a539814dffa0f4236ea9e4ab09dcf956ade3f492112463021fb1e1f6a58d4ac9614aa005839601050ca000032440052c7801035e40011bc4c0042bd0402c6c09dc633c96a1c550096cc61ddd35a414a9da24301e573f2a2426fb0a093cbc28b9fe423757348ec0e69aa8396a88e8fa3923b0377d9d3c238bc0b945091ffb878d463322f09b6d37e59e33044e5349c3eab69f4a5d08fce587db5f0fef276d82c07f794872a41520706922a127fdf901eb9ab3f15606f101bb0fa51f55eec68cf680f7bdf48f4452287dacf180711051a9d2bb0b4e63e898b2a3183342d5057b1d3b45897e9096c65cb0bdf5fd69d2e48767e082e909d1207e6aa70ade2d58a9bc53f96247d6921ca06cc1648ef00a79934bbc166cac1cbfd4165a10faac429a74a106d42cf810539eca5b6fcb302e0b266e378c1b2d425d8ec4a246c1826f1c19361998f50a26bab663eefccab926752857f0388578a97288a54c9d0bd50a3e6af4b859f43787dc610513dac47277ebab60ef8294e7109e2ad848963cbdbac6ca7d5980e8152a156cec9495c771ac6eb30e14850abe4284ec29c5f194a57a41061860000518400106f867000b3290810818a013750a56acdf1b36c63dd161400a5280005f010234e08517972853b0173de498377508d948051840012d48c13b20038730a8da419582f57f587929a97f08a904bce057b0022fb048c13ecafbd1519d71821a05639232cc2c4d2b963519f0af810918304a148cc493ca2fe1b8a3b83942c1e7ca31a4ef641fccb3bb64418182f57aecb1a378be78410c60b002135829800372a84fb0992c97a6cb75af397d8006bcf002065e78010318b4c00431189ee04c531b665cc9b635a7137cc631fe865439c1dec7501539f89be0d3a49c63dfd44409cbf9a134c183906dbb3ad7ba75e55560820cd0a132c13e92105fcbfaf33f2c81160c060a0a13ece4ff9fec619a3ee942d42538c9c061d68a8d4a54b70463daff17b58d52629988aa4416255857ab0c827bfc8a8d624f810c5850020c78e1c5d52498f4506f114a126ca6398a7bf9bb6f133c5424983ed1c83a7b68f5d54282bd3249cbd12a3dcafe23fc69d42198a348bb29817ef18218b48058f082a4403982f7f8ae17d3e9f93f86bde06180866a04a727a1fd323b1cfd19c146f2dc0cc793e3e42e82c99cd17e5d7dedb44711dc7e4e4f66e9930826e6c70cba2d3bb38e082ee786bde5c91e82cf700c4267e80dc179079d90f91ea7f38560ed34624e97e951ef84e0462cd4baad3e083647cbb7fdd171355d10bcb883ec39721e08269555ac7f20559b3680e0ea234c338a509eb5f9032b25163f70163e594ccb3da72e7d604f44d4f3556a2b52f8c088c75d899b2a7b60b7347b95db87a8d9d60353d7204f743caaa89d07b62ec3cbc9e3817d6c6befb1377a2b77502bbe6d073e9565a47eebc06acefd0cdf2574e0f3d7435547e498533207ce514ce76331f58592c881875b5d693c4843f3481cf8b8d271237bfa8f8ac081db18e5be8109b667d5a8431dc5a81bb8698b8ddc1ba69c6d6d039ffb1fd67a268b39aa6ce03c3fa4ad25cd184b5d03b7e529571a47a9eea16ae0d24b49fedac83249d3c0a4b4fd582a523470792392a4cb726cfb19d8a411b5ffd67368dd0c7c6647969aff5206799681cd212437d59032e74c9281bbbc1bdfac475b6b8e8193983a330e79a2c55f0c6ca498d1a1639853c5c3c0c4f453f9a10d06ced1d648ce8cbf3dfb053e4ccbdf5ada4733d0045dac7e60d6389ee4137cfe9e944693c4134ca5bc1a3182e5bcde7682fffb4b16638ed3d6299ce82464707bbf4c6707c62698c8b77513b3628e1c4df058cd27c548c92d23139c9abde7f30f49430613bc4a4c2168767d0be5255869ad6869a12352a69660d345c588e0672508f5e9da616794aa1a0c4a3049927f9214e624989a8aaa9c930467f156ba3da74e556524389ff64a69606e2987045f996b2f8346217fec115c6624cd48139271ce113ca71d47231837ebeb240d7d233f46f0d8538c2ed10badfa16c1944d476add655bf514c15a65492da2511ce62e1123b3f75a4f411a5b500083ce8004343110c17766938cb5f15b670fc177de8621d894afb19afb5688de61874ac98f601082d1cf8c3d8e6774ba0c829b1442e4b4a304c1c310f5e7e50804d7d9266edaa410442319b400106c86070b890e75c4f73f700fdf1a46c48e1366f1036b39223a6e2bf10abb0f6cea1e9b06122b6595f0814b8e33ee8cede3a6cc1ef8bed0983ad9ea818976296d1cd1f3c0393cbf583941bc7dc5039bf2dad339c8dffee31d18cfa249277b33960adaa188b291d4878f3af0659ddc27e4938a8e41074633d60cfc3c736074d7ff6386b9a66c93035ff99ad3ddb6c5c869c288039332548d0c340f07ee5edc4dcc246fe0d18576871d34a6cdac1bb86e8c3c76863fa5690092d1868182c1062eee78c7c9fd122fe9542d186be027e58d21fd1c5e8e1781a1066eb2f8050b1c7130d2c0a9676f73a82379f146032fa66949da261818676027877c97932607378900629881dd8fca671e517272a0234619d8ddd189cabbd9527d465180042678010562b0701864e05cdc36a566bea3b76250032e078c3130b671237dca950d31f0b0ddc752c47649fb8f30f08f572bc463e63e8da7a0a8a0ff05153030b06369a5fdf0e396fb050c4c400c908106fc33e0ff5816c617f8f1fcb5a51f93244911c3f002a7a78f471de8c44bb30be57d0c335c60a2bdb3d78db805264ae41cfcf2b54a2711b5c04bce1373fc90a7e9738859e03a4e549cdaf81549c2029b3130c7a9d3abc7cd5c81cf965edca3d2d27aacc083eca8db11ef1dee5f0526a8568c0aac6dc4720c37be44b6a7807a34d1cb0836a214781483e7af4dd0cd694581d194b7a9351e2870fed1af43ccd82f8c273099bd6156ebd0d8bae3041ed5559da4d5c7ac9b267019395988694bc4c104ce52b69beeea888e3325d05281a9c117be8287c1eaa8eff5f3dfe5a40d25f0af9b3d25f95b0ebe0a58606220030a641546125849d6559992667ed556184860fc4f332c4999934214a7308ec05e455aebc6d02237c3087c49eecad0d6f0257a41b7e0df00198800264611d8b0b8551d5b3c6b87088cc648a1c57bd225e90c814b87f963ea16cbbeb910d8cad58b94966aa7d520f0972dc610330609120702e721a5f1dad3bfcd728cf1032e84d2b43d1e1fb01fbbbeb2e5e7b8d9ef017fa11c25d1cec7d0c2e00157e2e5b83e7263accb18b70b1e546cb49b3eea82ad8dd31a2f98970bde5cf7effd5c5cf03799adf366f3164c48e2ad198eeda481639c2d3869b1d4144356661eb85ab0794543237a774ef44695e168c1e5d06bc91aa41cb767c17f50cb98ea5112d7ca1a4e167c3b7a0d56799651e76ab8581c2c18f54ba97353a89c3a5469b857b0bb655531567afac6c1c2b9828d64ad3ab1f3f549c80b375c2bd84b1ab33ec38f0ea18d010c58d0822bb273ac60bc31ac8e597ff5fa5b05177ce3591a0b8d2e6aaa602452ce51a2560a39a40ca000051800013228425c2aba8c6921aafdd29db68b38549c2576e675879ce3e44fc1e454253df1415f59270632a08019ce14680ea925fd2b7880175e1ce24ae165902999a2e3de50271c29985ce93d56529bb40f2516b851703ff5173158c1d3e9e044c1c30735269526eab34e830b05e9993da77df899d51268b120065f9c1d28f84ecd5124846505f7093e6ada7f3707394f7013ed7ab9be3627719440eb54709d504ef0d033fb3fa8e948f94d64112147c3746b0792ac3d4df0b9d1e57445a825bf54ed22032e13fcc64971c252a9a4e44c50021a7c110318acc0045f94990e18200311f0c28b17fc6182cbfdb5c1aec4a3b8779760f31fa4777f9445384b70762e39883dae8b967a0135e12ac15a48d748fcacfe43ce0b2f486082b30216982f54606a7094e0d3629e94d27a8d370936cf410c0d9533972709c6534b8a952d7c43e51d835ec0e98f80af00012ff8a202194c20062bf88c045719e58839b23372bc40825b471ae622214b868c47f0a91a9f4958c4c8a63982d78c2c8667518f5a110eae118e652831d9e687114ceb69667f53c7f93e8be0be43c47acb1d45f038f9bbe77ec7e2f04f046f6a0e2388a63d741f118c444ff6e5fc106cb6c55ee9dc269dba21984cd12073f5dda54ee5d926aae84e0c219874c9396ada06c18444798f7a4510bfed9e787eb003c15af6ce5a3e0104fb0fdfbe5df3077e42c629ff71cc51b1f50327d92df497c36029ae7de06268bcbe39b2a490e70323a56241838632d5730f5c862be5d8c5c5ea817ae0d1c55107c9354808551e58c7ae31a5f0ce0b10e08517660536383cf0d9eff2261f77b3cadd818b1b2f64ccf69531b070e0ecc0fae5bcd5d0ce51c39281ab0317f56a9f1fba3354e8508edec76b38d933073ee52eafdc2b2ad1b51c989cb4625cd33d492f0e5cdad1aa9d881d5288c0818d91a33d9de498cfda37f06d973f37f0c0c6a2a30aa91f72a60d6cd6ea981cdaf4d97e25d08ac10b58008316f49760d9c056449356bfd7c0a859c3db949db9f482c10a5a60025d810c764f0d6c6d16c99a6c2363270ddc5bd2c8bc9db3628b066e525a5eeee07e359e81f1cd17965212bb1c3b66e03af986454f9d32f030ae3eccdf8c39489e0cec6dba1822e4f818d8b6bca95a742306f657ac5772bc848151f1d308ae3518d8accfe92f70761f92e47d7419bac40b9cc4bdfc6b15e9029f93e6bcd19eb5442e70a131aae6948de177b6c0a3186d493d7fdbbdd5029f451a7f979b0576537a8805cec4b432befc0a6ce54b888c336985dc337bce4e3babc0575644fba9d45f5a52811d7760def6ffd8529c021fdd352b56681c4b442970953d4a4a96c1d633300a6cb87d570c7983d53ba0c078a7e50c99bf2730194d34dbe4dab1b673021bc237ebee7bc688b126b07799935f694c60a348cccd6835d3f7257096d17efad45c575b09ec5a47a4cedfbe87d525814fab2165d321078d53020e09dc75ce8de2c5689dfa1c810b75137a72f61881abf4e6a9628806762902fbfaa2934afdbd3327027b0fda1faa9b43e0d2eae59c1d2e04aed4513abe7a5d3383c05547667859752951038195bcbd8d1593774b7ec0c76c94cea339bab102963abe0dcf1f78dfb697589deed2723ff09a393562f04a1fd8b3efb66b941f86b0f0811369901df2e4d0f7953d703145e697586f667aebe1ac9629e390ddafce03a3161a2485103cb01da724d7415b7406b903979763ad8aa4faeed881097da21f37520756a51da6b37f510f1d58fd9cb819a4ec14b99d03df93a963198e61d92887be77f41ea55416ba44c681fbec8d2fe9aa5106c8400324608317c460056c8318b44005bc020a1840013678c1cbc002065080012691701841bea1bce8748315d367d4857948ce1725a04a81afa01df0cf000328c00030f09f81099a03bf0215b0e0050c5081e98017003845b681d5b49e216f16d9c07b46216c4352cca82f59855c039bdf53b7384c9eb7d9a442aa81db888ac831bffbf3f8844c03d3f7c0514aeede9165a2813b319b0ae1529e810bf978fa6e4433301a5e19661ef3cf9c9781b196ae0a49233d9221862403b7ff9d9f46ef6ddd1f03db1335f66edc9cb05c0cfce468e69e5ad47c63c2c0544e598e999204039342673fd6fb0c04f90536e8e86f4877bcc05ba34a96c471c887e2bfe00ba4417681919c2a95f223b3fa5302adf6153c097ae40c920bac6fd0c8b0617654a200061d03aa17e41678bc31c7c6f14515f40abeb0416ac17bdced2881c220b3c0bd693a8d1fdd8d3df7050b9cb420b1c044e58e901ad585500adeaca04d1a20030d580102bcf0e266e08517430086c82b701f4af24606693f7926067f818c425a81b75c1632adc68d90d744641518f77e28914b8541062260802f2aff9054e0db3cbcdf51e9e39c81819c02ff75ea11ebb531f6d3c69052e03e82b5d7a5717398322658010b56d0e68b15b060055fc0c00499858cc240112414981491ce4165aed7f8c927f0d14159debc9e3505dbae904e6092697986f9368539c826305997d5c67232c9d08ec16380063f811550a05a914ce0a38ad6e6104d214d95b904c6818bb55ba6282195c067cec14f023b198410ffd47d056f821730c0000ab880b12191c069b06cb7d3f5d050c4421e818b68ad2a7fd448f36a045e5b272579f865e8c814b208acf7c5924eaa316dab288524025765265d29ad16df3f2fe410f810f4d1eab844767684c087baeaae14541f4760c820b021519d1ce4d89a331c085c5a6f338bb91fb0ef9f1f470f191ff0e90ddc7737d9033668ca51eb55c30b240f1477c15bceeac8425fe80075c1e3c9752516cc058f3a8a8fba65d0126203c405e79e232d7a780bd6bb72a5a7f8ef48b232a02db8906ce268348e11d000e104d6829bec14dbe1a594f3566a80b460244d4b5a4da16d4c7504ce82db4a9fa7424cf9b2a5eaceccccccccacaaaaaaaac86ae6043cf005019080b26057bf42ff7256ce8d2b81d60b1e052f60010d100c180b36074de739ac3f2ca7e3f10b080b83dea74eb5581eaa0960a07bc057b0f99e41be78e429f79440cb062968410bfa0b16f8ba825f93904cfd6a05933687268919e7dc402b81d69f17901544b5e594b15e022d14b0800525f8e253e026f862052c300594200626e0000c5290020418400106d880060ca00003c4a0061f030c1820031130c0a0423be02ab60cc463c4a4b9ccdd30a02ad869c9de9734eaa3c61803a6820fb6a1acc7b33d4e06035e78e18517e667f0050afa69907e40541c521b7b86d818446500051860022550803f09e480a7e04d35a56bf53bd0146c8a92ac7732347655bed0d1062c059772a75c597d7c254e8a6176149cd86bf795f5ad740c4561180a767f93a5e4835c197a40c1fec6649ef904971d27c9716b5b3c793cc1e486ce922c24d7c977828b1aa37d869be7047bd14ed5ade2b5e70b320364a001770278036e82f1fefc4b49b25b6535c19a44e8943a46458f99e0af4ee36d8f8306e26382ed4e67512b7e31c6fe123c10ff8de91c2311eb2dc1eadae93e9a48566b25b8472b3942944e09a6f265ce75f9bc73ca27c163109939d48edb4d2e0936428657c68e89041ffc2558aaf54c953790e03ca6eaaafa6c5929f30826453ad01c2a4abecb3882ad490b5d7b9546f0193a6999338a51bdc2081e75b218297992685516c19a6b67090e52d688b722986aaf9836a52482cd3d3138eca8f6da22824d7ff9aaad3782577d08be556de2a34a1224c710acf9b745a5fc578f17824fed1b512342083686f0fd34c1417029afd7ada7ab905275bde65820d8981b426ffc26aa4500c19e6a8812473349c3ffc04377e0ddc03454c70fec9b78cc402d7ac6d83e70317a4c5a1fcb07b67a3a774ef71ed85189f4d32f0db2d603ebe3ffd182b66397e481c9c9ffa2d965998f78602f7ba877605ffd2f8ab686f498da81ab7cfaa0630a9682a475e0c2cba14faed081cff836fb71b0641d9c039f2ed8a46888f41da61cd89ad0ff8fa6c6819594b9693b06f5b8c38157ab69cd6c7903ef96d386909fa20d826e60fc42dc4f21ca1eb6d8062e6b4af152d0ae8f2ab281adcb5baeb9816b6034ec56cd1e7b6a540d4c3a51c9d8e9e6161c69603c7284a47ba0b64103bf9ec6b1bfe60c5cfacdc90c3c0c9af1e7495e19b81c217f88952b9eb923031b2dea7f88381a7add1818b1741b22c3347fd1c4c0467baa8ea009031779452c8da746a5c1c06e9e143ceb5246be7d813f8df17fda3fe959e50536279dec486b5392d305ae418350fd708149df1a3da47c0b6cdcaf6ab4c14e528c16b82dd5861bb2bfe46416982c8b1e426befe3b1c06bb5749490ff917557e0fa233fe2c5c80a3cec9c4b2f665e052ef557b497081578b4c1f3a7aa7eff6c4e8155d7dd88e6219f58a4c0c5506b763124255f230a8c87ce6b9f33fcf53c142e2f804f307402db75e51e3123286013d85f47197bb20f13b8eb8af6f34a3a0197c0a55439a37e242987c82b81fb8793a1213549e0ac6d53a8ccf8772f83042e72fc7275f28a649923b029e3dc155c525ced14237019767a37cd2845e03b7e67f2b80e3df444601b874a251a5390d20c814bc9827eba4b61751102df191f6eb6f8e2a80e02176fd3d3bf7d4bb20d043e4da5e40fd8ce9b634d2ed507bce6d4e9a2a2ec0167f69feb23ade530441e30169283ceacf4f82ebbe01c4a9ce8770f0b92a10bc67bcc43faabe4cbc90567795366854689943a5c7041f57cd2a46fa465b760e3a49b34e1562b7ed9824f9a6f197b657590a487412d18abf3489ec44323edd08209b109aa2eb159f096242245f30a899497058fc673227ead7d723f16acb969b6ec38214d7d583079dea1371cff0afe347dd8496ffb56ef0a367b46f6d121a545df0afe3ddfa5156ff45f3b2bf8f4facd316f72f3cc57c16e96e4bbe99758e4aa18d7e6d147769b5430b592227ffe9cf79a410597cb359894861c53654ec1969947b5f54cc1eae48cd35d634ba7955230f938276f71ac755a21059755b26c352588ffa3e092d65897e6c71ff716059fdb21c4b8bb1f0ded50b03d6e1d1b85142b6e40c1db0186e02e43e77fa80a026cf0820cdc600b515e20216c076127584130923374c8eaf4513b10bca4fc09d12244e41a10ec79afdb774ee44efec06b64d2509662579bc70fdcdb8523091244a53b7de025864a2eea5f7fb9f381b71473e69e57babd660fdc64c38c2652cf27327a604f7bb526449dfa3f0f5c9e46113a4b49e9a6e081cb2d112b54acdc81b758d6623fed3136da0e7cf57f5e6d7bebc0a679e7ecb3d6cc314a07766f3a635c699d03e3d7aee1f9aea2782a077e8299a3313bbdd0691cb874ab0fcbee34722ae1c0477e08d9b1426bcae21b98d0cc79ed74377091e2434b13d1d6491bb817f79cb1a7f3cd196ce091e6cf971d23bf710d5c9a747ef952a9ba1a6a60ac7f441abf74c69a34f0a0dd773ca44203ef93d99d816d497df6123f468e9a197698bdb632706e1d27698f6a474d91818c565243253606ee766cf3c39473fa4b0c6c9e8651fd441de75461e072734a793c6485fc83818bd9957d392362cabfc0e9588cda286a59a7bdc0be5d7e8d96eb54a40b7c7db0718990a1e6455c60b3c6ab3ae6973fd6ec16ca8bd582797182cd822d16ca8b2b94176b05f62c9344de5a7fc83955607463cc98b222d3a6a800036c60e0043cf00506960a5c5977a50ec129b0f730c3b34f6a1e32a701035420022b0536652c656edfe792fc28b0511db23a46e350720e05569336cc13cc7adbd9d62bc509ac3ab07413789d0c5127d83e0e39c8043ee3a096a6f65b023b215af0bd4ff921a75502dbde0f528da70911a14d0297f6b1542a7d94b8b448282f8c077b04f3023bb046c02d022e117087802b04dc20e00201f707b83ec0ed012e0f507781aa0bd45ca0e202f516a8b640ad052a2d5067812a0bd458a0c202f515a8ae406d052a2b505781aa8a3f5957847839954001fca0a9402f4e0a8a0ad4539c9a02b514ec6dc5cba8b2a4401dc55051701df2a36824966fb14ad2501828b83249fdc1b14aeafe9fe07f32598e481903a8827a82bf10f9c342bccb28c65ff02ba001056cf0105040052260003226e0812f063005ed04dfb9a2a403c9c9b36d2a6081d1175080134637c1c4be1dc974946a82178f1029c4fd64820b6df1aefdd2e1680713acc509d1a5eb23cdbf04a3bf9653aa050b8fb14479a195605de3743ebc9f127c5e889cba33ba61fd93e0734ea1be6ae39260d23d0c96a3eda1643d125cf9fe851496b5dd3790e0dcd6a4a34a976fe83c82efceafb71bfdac22c5113c4829b5c1ba4d55ec4630197766983a3bc3e06846b093618cd182f5d8c4c82298fc3fa951f20e8e3e8a60ef924d36be682218cbceb1f65d34a4ad8860fc2e5e6d4a0fc16bc6b4ee8e52befe6908be2a7996b81b1c9f9d85e0cc91f4a3bb14b2b5480826d606b18f1a6d6c32084e2bd52e768ec43c05c1a6837cdb962257364720d8cbfa3ab1be0108be562f42f2dbc98daecdbeab91cc183fb031efd7dd6b9469d707b6534ec151c3cef022e3039f73addbf8a7f660c6289a36fa5f0f5ca4afa5698cd757cd03173a21965ac44224523c70af970d2a6a865be6d626e0812f023008bd03537d93a4929bba895d02ad16340d60f0c5c3c034093e055fac8005641a06b5039736a454a790f5730618b40e1502a5039f1382468ea78ff5d82de81c18c930426486ba6211828c5039107fab3735830813a171602b2f45faeb928a1e8503e3ef9bd936d4fa32c81bd8c7d8729468b70875031b92660bfbde0c5253dac095a5cc1e474336b06f5d16196486f13cb706462d866a489ef1c3dd0c11aa0636b83b168b06165cd369e05e325e8790b3247dc9fea068e051671ca387f4e7e72967602da7f87d9d52e7f4aa66d03270f9721a7fc53811b364bc036e95a064e02652422265cf8214a0e0052ca0c11b740cec48aa86a2e5a3a3212a06b6f76308a1a3ef8fc75da061e037e5ec2dc917a880572818b8fb8f588f2aab5fe02ef92497cc8a533a11f5020f3dc31bedf3b74af922052688c10a64304c05da053efdf3c6fc20dbe3d09640af2817d8af18d11169272b53b6c0647fa79f9e06411b31f8e2abcc46a05ae0b33f4851ab44cd0219859454cc7e961d140b7b368df71558871693fbdda60c41b7023b1ed137674b198bbb78d02af0fe9751cca9c226fb42052ede7b4629b805cd959e02e71de377ce7a8b1927526022e689ca9d6ce27fc3fca051e062b4ffe6345163d5d541a1c085d5daeee306e62865fa041edba79dc6151a200311304005eea04ee0d23850dbf0d4e03d6902a365ae9f1a64b04199c0f8b877878cb672ff650dba04b62b45c89873c5fcb014c0002fa04ae0ebc2b51aa70c196812f8d1b04a7d2929e8120c4502d72da9da416d36c90f09f408dc24c9d01ce7ac8ff6d2418dc0fe6ff6589f2f116811d88cd16295e3d89339c5831281ad75c9559b2de44dd10e3a04b627969b4fee68dd66d9043cf005006ca142e0fb2ffe4aec060e72e78b2b18980ee8d120b08d56fcfcf349bc730081479fef5148d76806292cd01f5c3ba173b20af1b580fa80ff891c1fc68c44028317b0e0983b14680f98d451d752d451757b9507aca34691c751dcf4f517ffe70b1bbce0676082141012e42ed8ca9449933d8a5a93a20b3e4669e4cc1ba5269b0ba673751c639516cbbb045ab860d4b375b44dee2d98541b29b5f95673456c614bb216eced6514af73b430fceb43dfd69f05f720e4d0d717fa20d8b260f2b765b194602cd8ea4ad2c15145ff64c1e2f015ac9984f69841debcd67105f7a893a8586a86d0b4822f8f91d362f55bafcf0a2e85f2ba9546e75a39ab60bd2c031bbf86b9a346155c474f698912d35470d143f2b5ce91272a98a869ddb493f554cc3e0c8604f21447a8ac11551d6b0a3e59d69750ae16ca512c68010cfe055a812c05d3d01b6d4c6d51ab942485dac97255d24b3298a360fff333de4956c32889820f8d7d2dd5e1a1282f5005090a34236633d14ee1203fc1f86a69bcc8d6306955022d1282f4049feb630ca6215602aded0463f1730abe3dfa0adec0403f909ce07236ffaf0f2e8dba42b6093687c7c9d132c59398494df03898a3d05882c3b733137c87688dd77b63962f6cf08218d8061213fc78cc5511da4b302229c7c6fca73645280369093648c813249796956072afcae366c81c627a80a4049f54f2c3eeac39d439093ee3d390b71fa447192e092e8e7e16ef3f07e29b48b0953abdb8495eb6957c4112909060b366ee1eb1683ee2fd8a5aedc6fe8f918ee826236c042312cab7833b18c1659b9cd2c3d19e465e2ea2485fd976327f2da422d8becd30d5ad339a6412c149c8cc285d8bf47711c1e74e5ec9528cd86a636ec00b2f32d572918760431a9f8c3afd7796641a827dc917f1d3cdaad5cc42d0c051681d4842e420f8788e3355c631722fe7cf17559d4841b0e57dd30d9245afcfad6420788fb97327eb07106c4e8b2ba8840e8642f360241208c4e1802886e192de00f31300000008181386e29040349c49a2ac3e1480035c2a1c3e2c2c1a201812121e128bc3e14028100806034160180c088402814028144286837c3d000ef8604e97c42f1568376a3c6996a2b769d10f60bfed538b7f2d0aa18ddd36681658381665522a1fa6a717738e4980d2101af85d47f340d4a533fb7d1a9019920b258000400720075081413521c904edfe418b202310b7a00d2b002e9002b03a002695e371dc18900540021a0179040806b7e9f8a239d063b0aa2085703870430df838ca96d103edd7081687af6bf2002b056d330da91960122a07c01d019bf85edceae6b0b1109d40d641328323834c051cc49939860a048059c970bc9664dff4468ba972c9ee8318aadd9b65ce99a68265ff53d6885aa0856e6dd3fa031db88e25399604bd291d7d56d1a10e2339957edc5309af4fb3c33d4d6d63b0d11f8a3087f8348b04c55764bf68570b8c936a1423af252aa3d51374028ce53c99930816ecb813d0992d7fdc798b5860083bdf6b6de77c0fbdc9a4ee987cbd09120e78c3feb6d6ee9d79a566dd90b5b33e6b35d6d8c5d89914f786268137b95d2bd2d53f9bbdfda7947963fccafae98570b5735c1c8882d06650dc94fd48bcd85a44b449b869992c4d802c5b06e27536738a9524ab8ed1ca06c4d68356a8d07648b24f31d3315a178317b56b62146d93a29ab48234a881a3d863994701fbb3facab7e3b0d6666e7865bbfa42cdac0c77c38daf387a964cbe5b051fc4669d168b60b0e74cb0caa9a23a43d9344bccd9baac2539c888dafeb76388ae310da84911520210a6ce1f8ba371d25f3c7c83d75040dd633203b62ce88bd63b65842e5984dc00ad6059219040ff3228a702c5f172930757eabed08052696d1166cb893afa3e9040c5d883f0b38eaba9c8006cdaf1ed1efcb77cb2018123395444cbc6a8f952580a297223cc480f1d9db46d992ffd472a7c690a62804060c53913abda918db3cf15436803f6fcf37a37f6d11ad6f10b30c2808701de29623da45116bcff33c1be34f74ea7e08552748efae86e6005e6f1dafc52d58a7764f0172be3de8a82fddfe92df17e498d4621602fc96c48ea80ce8ec8b9f8d8ab536bfc85b03b73f3db7292f3fc58b49654dbc9e35e20115fe9693dada7f5b49ed6d37a36dbf8e2959ff3402a26d2043bf76537bbbed376eacebaa65db16cdd0bf67b28a1d47e6f37529526dd86ffb236b5eda26dbabd9c75f6b94df38e1b5967d3bd179a5af8e6b9e5fb50c3e4d52c4d8e994cf9977ea8f8ab7f696a5f52c0365bdb036d563263a59881817ed1b58fe30149fe52c41b72dcced10d9cc5d92ce815d21365bbbb9433fe48a422d7f158b0ee9c62804a0d1137e921111570dfbd5920168c8bf3c6ffbc7704944aae2824aba97dd60648e41fdfd8c6e43f177f1c9876db8d3630c5aedbb96337fd6ced361119c2f2b2a1469983dd755522258ad563c0188ab10a4539ad304bbc965e9258430955dd15e06dfde3d30bccead788d80072e1cd32869d9b3d6f02bb0ef5c3e8c5c13fa3d57d5dd7bc28064c83e6221f97f6c9bf6cdf0936e9afe986d91cfd09a346daf7c3b06e78d5bf4886b9c19d296423994bbc89fb3cfa4ba221335899a5c6c209049eee0d8c4e29abd924ae2276f867069b465c5a8576878272ad8e00adf5e0f3c70c972021af346c5280a21c3cb3a409f1c61e38189dc3460b8e339226cf0b2c8325f2b4b8db9d4fcbde3fac3b37ccc4c42739531d007cc693177aebfb01cf1764e8275752b1b9fb4c8e8717cfdcfb6466c8767f72ca235c00d5d278dc9222b7603a9c82047de278cc4d8f2030e6e900f1aca534e8cd9f2f850964c18c86e1f902264022d83ffadc8bab03b64c5945983a9f433a10443549fad4362022ad04511af47aa2e9d0123894e125dd141a4a1198bc61037a5bb0ea2a3f3747d631580b189575516c3d599cc0650e54002e13e8e4f401756d1ca564673ee7cbac881720f8386d357c7ac6485e8b3f96e461faa1f684028a13caf08ba413cb453c60a135cd0e3a778397a7b16e28abe8f91a73283ad8bcd32c42137df6868bd342cad65784a7f2272e19af1e5a11dcd24ea960ff5b3e5bf655dbc017321a871d96e059a8b2911e7ac428b7d07823a527ebb52ee391dd96c00d5347b640db6c655b2dfaa9e925e8bbaaaadf8bb03732860c4b3bec326f829e45092a6d60aca8af4f80f063f2a2a1241b932af4a26a9f44e61c941278da866f0ab2652945722d93270ace343b49cad9a6edd49f2cdbd506622ad367f2122023283f2236eabe9c20394211d936754eba2ac041a5ef69df5f72a84766b87b731bad2c77b415b579c7dbd0896a1046fff8a3fc6df914227f4d6003e31bdc04151218d63395b127c946634f3f01a14e41ca244bd66ee4d0477e3b0e730521056612720e92fd57df7bfe302e7a37030d186580a57fd661f132d2d282479eaa97ae77b093d192eb724d2a726057be56f30c6e13f346e482a07a59b3298cf6eaf26b4d62c3ccf0b527a2def2c5ae32493ddd42a2b0ca19bcd608ef40c33aa13ecc2f6e43a46246b49d0304e19435a054415aa7b598a7f88dc975204c2bbb2b562e7a8514203cd242e8a8c1fca2a62a1b576d87239973ade73ede2e43200f9a9ccfc0f5b13b24fde900f08e09a50898fea193820db9d2ab94b41c1d8598ce720600b498505a7d280e3472338bfe41995e5269a5144b01973f79521e9f4d2992be38704178974373ac6f342f2f6df6e5d68c1f4e9d7883d7f8584411d9e0a80f4ac0551e0c00400aa66c35a6858cb841863bebfc147382967916f33c340267ed0c6d3234f1e733ad5c18820a42a400c4d24f45881477747dac348ca78f7bfb6d73a1773778635947712ed43f74f6cc85661b77f7cd44a14bd763372c483f4914de8e46b63cd4d4eb85b5efe56582ac8204c648d2579e5469f943fcf098498488b03014033dc7ec569bec4cca9705f3bd467e01ea6066975229c4d5da68e9750d6eaeb4318750c2dd7c66dcc5aa25b52e0456c4b81d42fc98d3fad4d912e68e1423f5e8305a3e546d6aab12ac4106d0568d214ab15e477e791a69dc435552484530d230abecc515799b4cb61eb8a2b73456846286436b950ffc79241e1255ef2294e07770e573e7dd1e212ee387fc7521670a51e428465dcda5d70e4983000019a3bcae037a59427143854f8c9c085b4a628261ce5e686ab6b0064e07c6a79405d9aadf9f22a04e44e97dbdcdbf5b3c5d8675a2cb4335175824956723c3d895bab4d68457fc120d0b53d1d6157d0e094d2bc4980bc1166241843197367efbc95d3e98d1869184b14b63655cb39050ca39f6ada9b62f412be34b8de0c6911246cded6957c76e90aa19bd9136f6da241ac859221a7f97bc17508c5246876da467ab189d042cb57734a0e559a09bf5b905dcaefdcb9d0f59fe8e47ca6ef7a4377a8a87838137eb890b66d3d63f8fde23fd2e71f55447227efc0b85eea6b44472e7fb5937885b7c8624f28c43d4f80caeba4afd26c1a0aed2c5a42a8a6003078546e26436bb41dbd5a3bc91c4db87d0d3e045a2bab0870acb4edc9cc7e61f7d401ff2c0693c376d0b52e4737cf7e26ad53aa9260a8436e3e4fccfa998e8829147989aa882aae1ede8f9ca02b31ce42fc77003a86e22338ad20215bccf0f19dc48328592b6dd374b3c714385f9aa961398a99a78abca93b1a7d60c1b67b345fed8ede4b34542cf26e956df545f4dcd0cd11926ee47ef478246ec7f2548a4d25207d175501d1b3acc824124e7247ab84425829a1b9b70e6169416c98570665529a2a91638daf30637a127ba603003223fb82c057be1a6e4f9b918d03c7fc5539982786fcf35a3abc493a73a4b9a82ded883c4c27fdcef423379e51c855f5d97425e9f7ac104ed7a59b688c518fa0ca1915c5d654c1c584598c4c033f6ed41e06c4c0cb2e534cc3194273e2d76f20e6006b745a1788a11afad101da0cc2cdbbc9016ee6facaeff603e2bd31a01df85da8089a2e5603dde109c56fd540334fa13de302be44de7ac02d33da28eee06da9d62f4036f767bc418ea148ecea1110d4dce974903b9c22b1a363ee6a8bc6636c574d50343bd9cd13b419e5c8937a82f393ce5d2b8bbfbd8251f30a3fca1f39883290b042268eb33f6bedc94a5c0931e63caace72f3432cf1444037627b26e0c4fb95f69b6d615b1fc13260b01c119b51e8d5056b8979494c1903ac9a574a249faede5048d88747cbf6dc259bbf22434531afd695e072410e312acb91486885ff08e30b590c854c3054b26842c5be799bd3e311a08726150038e8b850765ed8c80d0d26dd60608ae56332212252b14b8fd42eb3e15ab963be66bdd0c80ac1393ffd1d121c22a0120cc146e184a9708cd571d86f6a028f8b1563db16d599b0cd88f5c3379a6cc619da7833afa551cd813934230691b5cb67a6c7ae3b593d291c6f4759c7276b753379c2cd9c050cdbdf527b0d57a629ecf32f8edaeb34b63e4ad2bf58d6bd6b2335f2ce01d836ecb5b2019cf0cd6e80e05efc0fe0130dcb6cc25ec26de7ceb2c69a485dbf886f591b78b8f569e9f4b7ffc92db8ca4dea4926ca7490ca5dcac83bd94a18fcc73c01379a062eeb9143bdbe0813bcfba75c85d911ece3fbe634ce11f19997e4b648d7c2699f43181b891c1a5babb626d22f961f852ab3e5985221291353aae0467987bd010d4033aa19123a899007f487684a0ec45a3e32697d1a63898c1608dd53adf6b2e4c5ece1bc9dd28322a6c8380d9bf92b2d68d6f2b613b4f07e00bc2200720fa6c4a473bcfc127073860a7b2c47150c8b6533a62733c55d2ed60a36ebfac5d94bb94b979aae9c7ff32ea93f4c2852a79cba954f634b49a453d47adb73a99f5964a0748cfe0631c3043f319f7ec95a42645bd20cea0ed4195200f28de88c976809d1fcced2e85583c9b34953bbab6fff0bb6bef7b466af73d31f0f79a6a8ab8dbc325f25481002d7098c80b10a29fd4bdc59a4b14a07122b948fbbb350d915f4da8894d1903b728adf5fa32871303d1def1f1cceaa025bf015c580b6f708ed15f918ec4e642a8b7b2db29613e81cb40b9b2c22c234583c67ba13cd8e32c8f5ae6d4637dfc6a93fcdd164bb13ad1ca58aa38968a4a66c858e227df33599e4c062626990c730adc37bf737a37f443f031ea127a8c161f255fb84d762017bcc0d02ff2b9306cbedbff0125bfa726171327f3f7698d02ade916d642af73b019b4dee5fcf7e01ccdacfb942c95220ac9be59b7b8543c9a53dcc221603fdd6307a4f155396868a8f54d63f2aadb33195068d503e31dfaa03ba7b24e4fe69fa5810f52ff42ed4fd3ab30ab1a738ea61a333dea75689f98a46f0af5e31ca940cb89229965515f73bbfa27b8a7b0752161c87df0e14c0d60f989d15e51e80db2b1cfbea869c10ac7dc92c4556bcce4d136716f2f7887e8427d7d34d149fad858b5f06a4d2d1f85c9c81d5594f74742d5b4fd0670c0d7de741378c65ff4fe334b6a8a3be32448ce091e98a18c19c356a387b940b1129d7cf17596b35c37a75ae1f189215151329111a20523475ae275a17a09592c6626035d571541c3113606cb7273d14c2d8a459883a895fd92eaf5a8aaa56ce2b92d9bc5254b36587ea358e02dc3480ec2046103deb5351fb18152a932296a2a79bbfb3c1a3c91359b3ac9b486c123ff524d59917f45ae507da302991766497d01bb371120284eca469d9740235c90af1552b802fc8134395a0846871f4d0087a06d206da0fc4011242c93da4b77a5c13803e0613006690c67d20db60da20da4fcc1182180937f1ba4188c3138ce07fb1cb677ec8925e021483f502f4170091bf89a57ff7b133684262760af1236a023e044094f86ee0002c2de035811522e0452c2c6ece7f52b7d30c6217bbe75988028210409e985b0ac40f72a9808750d1b201b08dec1f2d89f80b49f201601da359801cebb4e7f503ec218e21e1c8229089b069006517430e640e51bfd3c504100c9205d1736667772215d844d08748ce98c9bae3b1873687e9d251a601848184821837dc24386960e09ca248c42d875702c1036aa4acbf21961df4dff026e5602cc044711bcb02025c20670766efe31166f537a9381c63b0e97c1982b22f011d40de81c342364fec1c65f094f64b5f69957781aca028b00d4e7150c9c36c7ea9f69ff7477de208215efa4c2cdbc513af44511c8b084abf34e133d3cdd2311702532221f350250001800280280c03b31f10e46402803bf0cdc183815787401185e83240b8e36630b01988d101f6f760c68d18132ea2080313e1d819a03da048a017a03a4c1e4a3edf3be741a077025264db40e9003f0022010030293dde5e3db008306600ae402340304388070ccf470e4030403101e01abbc7e494471047801a20988112809d04940a440f200b46802354a04803e03f073385847a36774bb00296041ee57000940b526843d6c3eeb5001ca0a161a505200237c0050bf80d0e202c018e532a8a9483f1cbf9adddb49a0a41a00579cf345c42904f8022418106d0003805740ff00a5658c3a0b0018c201e444030007b0079084a4d40db3e278c02be8ee87db5a57631063ef738d4dc07b849c12324d8506ef2425ca5bd6f9096022a7419192b916493580e9a8440112b0e7be9eace29028bc8fc116ea521cf0c7f4d01803187f8a3e73bcc510d116cc84052a2a0b78a86df412c011c02880af01df1ec0702203952c9300ae4410c4f7003d003400390168090a61684f004a08a0e5e8d6e33d15a8e4008ce2967ad1b92fa8a329820e2e440f0d4e8d1e10438300a90955bea84cac12ae6f8b055115396258f3c8a07e2435eec3048ad782c5f1f313302702cd1fca41622a34d8f5b285f2848e0d3a230cc978cb787f1a96ea9b429438f503a1ffd93b269411c8d2faf9a92ed414402103c8b0bf36bf5cbd5e775b3998f21f207eefadd02779465f243c09fcc5ee68869efb16846e1c7b36f85a6402c9ac58eb817164211411d93a52dcb29325856fcfd845c764727acc3a964941b21be791f117c06c238350788259e69a28c20f22bb86c5cf6b0d683b3595f7d29c8ee52266f226a4e09549d4c620fd545dca648e6e6d007c03dc39718313d02ac4a35036b0bb0e5db0ad6ac6646dd6194cb32c0574776c98b71e7a9a02f350d1f174863aad0ab7da4014b25c2fcd6269e308bd4681fd8f8fe640d3848fb73301d5d33b892e600269c24007cb6fde46d7b133dc2f18430a193da234e3b5051211ff2b2dfa4f1dddb649d708da84662c08ca151b8b5cffdbd64b9002e51f2d2615d26f5a5c4aa4ff9c65aa69cc0df730a08c9cf21e4f082aaa320226a69384c074b371648a1654a17745235f234c8da3a9e781c72b79251154845cd6cbf39c9042ef89913019452d8645104b54cb0c1d8f21b40fc45a667408317bcca7c709d038caf65a23d6a94df8c04ee8a21a49ccbd196889fee4a35720c5eeac94c18a88f4aae241b9161fe217eca53fe307de01399627c91032dd03f8cc94dbeb0b9ab72db59b7121680b79596a251bb43c0d3848f0e09813937950507d0e5a3f58e5b411ca47cb5dcfe6b93304e0768f8b249893bbbe7a4bdea3420d4a695cd1c71c2a2b91ef1ffe306610a82b15334b98080553386434a46894026dca4ca87f623bb84feeaaafe3421c894a11d4dc2b2d8a9d1066457601358a488d20d628618afbee9fed9b33012042fb23bae20187e46963b0336a147e2b354b2a10cf80285101bc4fe6315cb8bd3fbcbdb7497d175bb87f65750baea2d81e27c76af666b9c70921634ca956c587259941cfde4974f12e9150d3f86c602a734dace1292f1700e750f232729a83583b96de9058c0a175075ff59abd9559a132bf371a2705c7a2a46ce8917da3cbc50bd91a8db626e67964d8a1016f1d0cc8d90afdcabf7783e8ea6c737393a496d8ab8764bfb9ec6d40f502382e2ac3effa28998c1d856b9d1c70940bbd4848d8c35390a58443e18d66d2455d74c9471eeafd7507b1386ea378093a42e49fb50bb8f4b452d261b2fa31684fbc998b33b3df5043635fbd87dd2a281f8147f971c8c72bac3d82175be5945ef215d9a83f4dc4c9ecd1486ad04e57a98aada1b65b940cdcb486371e70962c1236a6d016dd61946b544381b672fd953e854481cc812c208e54fd2a7d7a7060565e858a6b595a3c4d6e8f22079a9aabf67bffd6137ade09ee91561bc5f65a7eeb04ac05003279cb506d5e40a7adb5c37cd554cecde258a4f1801d646ecd01b31020fdb2b4e4b0abfe0b28bae4ac147ffb7051627cc69583e0c1b683715a0ce6761126347ec2b6c792c0d0cd511aed66bc305fd26d126611e0435b16f425d43aa7c11e18bc2c83080af6c5722fd095032116e7cef1e9ee52339ee3412977d83eb6d22510ab354e1b52a88712b4c7c5d672af52b1c026700581db289399f090f0923c86472357a8115a9cd194a7ea174a0c98c980552f32753391841c6193517b3637891b57ad587a4045f17295eb2ca1140484163c20e40b0c214af1ba9bccf69e7d72a1e08d19436d1a911169afea2a40aa5c17bf1b634ff979861003a0eedefeb2fe9f0b970f29d54c6cca9b8081843564f195af509a1190d3b291b6ab8e67fa2e4a3318e519b8c196818d1b61014be0f53cd9a31e4544429233a47136784622d6e7c5700add183b058e35cb85fbedf4fe42544776d7c20162bf75448db018442180c56642e54a2ebd4e6b0619fb5a28bb69b090b2e241364a8d68a5f9c72eebc2da7743c280307945bbf4026a40719d8001573d9fcad7e2ba9290a0f453b2a71450a38c06bef1ad2d2e2b8cd8ff1aa1413ca001b2ee2631af4bc89222b21652282a311bb15aee30455982665c974c0312582a6cad4720d153b1fda7bf4701a9e8c05f6f2624a900cea4a0b08fa4ddd573be009884c8509621cdfe64e664d2412a1a23b6e77f7e41203b7fb9b1b12924cedb126e252b7a772183e3d36b5b4a84892e1e77622555ed95b72a88c88cfb996237712eedc074f1ed2e78d474d0ab4b333b4ddac675a2d32d49e00c0762d0147a331ff8d298b65f8de0a6c62b4ab5d9c2c197a4f0b6d3d44923a92c1aaeb1af4814f07820e297190e3370202ec08da5f340eabd718eb70a64129c027b180db02c29b10656601728b6e0e2ec977d140c085a4644830022e95534d928c8ab5b19387c894b9740a6e3d5b4cd18e4533c44f92e4251625c3e4640148c8251300a1e2da41bf8f44607aac3d981b4ba67a1736d0834881084cf9ed6cedc9354140bef80ed8a8264115834d74763e4245f6465e92b44de114bf02eaa558ada047447a6485e7564ceb0151e37f0438c97d758afa1053662595684265015ac886244372253310aa274be2f4aa46521f122db0b9a07ab0562379284a62922f726d5c02babef32c42dcb984546980a53612a4c85a930add8ef981ea41c187e32437a1bbe229766de9ae5cac349f8b0901bb91aa3971e0909d2ebda217fcf7ee434f019f80c7c106348bd78203d4218822fc69157e3d96a228b44119d7db29978c63879a6522a840790575be5a90df444b35cfb25857462e33dd8619510d08b18a67b319905537344f3984e59bf04258e6fd337292e6bcbd265b8a4c6a436bd8cba7fe2c6ac2ee7f91658badb04686478022b25ab66d5ac9a55b32a59b56e0addf67fe46d2fbe5d810eb670e3c27a6378cffe33356fdc3147f5e5272e6142ad160107d1fc372e33113528c9f7e63bef01edf2a51641694b38c17a6f646df0f301fc145800a1ab32529813c7ab9549afb61c404f6c72f92c168a0469403214ed8dc3d129cd6e6d4f3186a87a419713bd6d436013a8663306f6c147ccbba60832e7f8490a19696120bc9b374128621345a054094cf94052fbb44c9c0422032fa22268878fce61c39266071ffa21e74c5595bc86f4c784c587881a3990901a15f176668da53bbdf50b160a7dac7c68c5f4be7c2adb668f639e96113bf3af75ac2520e546c228b5766d47c2b8fefa3679206c924d5ad99d938822520d378e91c856ccfeac47a1758420fb5b8d86e2bcf40c64d0b52ac79b26d1ce6b9d283e17cae0fe0c09d18ec705e327ab46467f16ae99c7ba26db0219a25a21eea9760daa6dae6e87fa7a9d52ce2e633999a75b550972d19c45188ef3e7194d4d692d6f53aeb194be02e44356e58e7c92baa6b926319f0c9e879a09da3c043640b4e4570a0e6ba12f42071f9d233189a9b3004e8800f7b11441e300f34bc9ab99c635c7649d07a83d08250c43ab63990dc2a20122a98d7926c7483b67b0697b3441da1df7e9ad9ded689c1762ab7d244f46541f0547d2cef680e67661a3158b60c58f662759211dd6a3153e8aa3a2d868d608ad188dcbbfd51e9c466e46df38fa5d4873473609f1d828371f4df14cec616a3e8902298ea336a4ce46591bed9c0e88721c9abecc1a0839b3356ea47b084069236734dc341c563c819e327d9781ed32ac1818c1082ccb8fdf8ed775525bcc1a3a90a28196392c6ec032793015a41a4277d956dcaca3564bac4e0588641d5b7cb1e893c4013f351afb0915a7e08736fe0824ab36b5e191cc48ebd2f07f24a045e3bae6bb970d07f751971aeea93e559edaec531ffd2638d771d824addf708432dc63aaafb80ca50044c6408328278a6ea005019ca05492368ac596023b15b09f5ea81a4e95c0094b780a4c224119b352690a2e8f410180f2b857662c5a65983766c06f1f8d81c9e0519953884a3e4846e8a64264369ec267a7102d722a174540dfe3c95efce71954bb658531a3b146b1accbe40ebd66a1a109e9aea521da07474c94da0c5f0edac9f6fb8a15d84d0dea4b5403c8cb3358812507a4af15dfb30ced6d7f94215a11d4af54cd21c252b23e783a0eb6340f0ddb7218a339d38c2134c2a15e0ec1e39f2e457b7550cc0e06f18b45d588b513ce72a325ba09624a40b4c313e18732b2965c34bf2d6660d8e0c0a4b44884afc3ef0ca187228015730d201fa5e1e99113aeae03273aaf5fd212df145e77057077516ebdd22e463f72fedd664f32613fa90e5e3244018c17d63396b6f8a048cf18ae79f3d7afe4ff17308fd8e7ed91d001261c539654a096438daaa9535cccd66e16ebd90dd4f3733d9ddf3bff283d7035693c2d67735d4f65d371cc1b46a1254a95da56b2201ea3395514de6b3d0a5cd7f558fd005f31349374e20b15666ed31a5b315fd0c43b4b0e4617f4ebd31a3a49c9418c5e74ba949b431af3d51071502c79735877a02e4b2acca3d779c4924e718b1f65eafd0b0e495848860d378bafa0f8bd963fc3a2dbbe8d197c60c868c55c5081bea51cfa982e8012d671dd394a9a3cf1f1791e5c36b46fd7732a174807aaf9e1e9c0d83c42875d0ef84a1933471b742a1f86f18179fc9fb590723b6901c1cefc73a95e4f270f6cc406ba18629a94c6a70135b89077225a462f4d7c5379de46d18f3b13655ee532959472a4814f46d6c50da64c6c853bd1bba6c5a6a69746ae1ac6bfed71b834dc9f14e5c7378e831d7926c9ca9f2bbfdd9785ea9ce9323cac4c6592b19924221862b04d017cc026ca7b8dde76c85d6cb4244e6dc1ffa1ecf40ba5955ad52f40ed6165f5230c1667410f6d9e72722193dd553b7ddf38000920a3fb2b5a700a52b4ff12015c1a2a32d2b7f8bf6ca6d7149aff70033241c04a58ec8e34f183c1ffdbd10005981fde870fff2f189285275eb62321803effcef47fffffa17be96fe6078dbf32bcd8000c17c03fc0854d043051c8093935c0e5a422181be4019cab73ddb3b1f8127d987e443f1aee3f9067383fab625de02bf211f9a5fc407e273fbbfc51a6df08d4c1fd85051c00f8e74ff39ff53f0af80301bf47815069594003c088cbe9ba4014a902ae0484bc0a3830ec34e903300cc3300cc3474baf0cf31aa335fd663fca5a4c49caa990f2bab7645c603423db524a32c99452d0960b39e059500000007541740a7c0b810ac75271dea2a5771e6c480a97e6e495083dd6902c37d7d0a1259733da55f05043f26da56a973fa897eae5918674b9c65c57aaa32129ab427578ccdffaed3324cfe517df425576466a8684d0518be2621a112d5f7203931233445048901d3cca904e7f1d5284dec990b20d399b2364b928a4c690fe9c054dad3bc711422c86b49c448456a3eb62651b515b47078f3024d44b2e88c8f87af00043da5f4cddd264a5cc16645a809280f0f8424ae3dd5e92152f68d877f0f0425a88cecba2d0589a738e0e1e5d486df214215ecea05386470d1e5c48a77b49f48867cbb2e4cac0630b781cd3fb78de62124dd6b111a49898788a89090c7be0a18564f2d017b41633edd838a2272620581ec60d34b0e0d146427f2bd1d1bc3b26058f2c24a5689954f4cf558a6b44edc4c1030bd661ea7185b44ea16333a7ce7218b115945ada367731241e55486aa95e069db6344c4e72a42b3ca89076d1de1daa2f53486976f9fedb4776b2557a482131aba5d4e9edf35d781e51484669f7d2d3f6e8df6c44ed041e6ca4c305f3e442b46f62728282373139c961860714d0187a345bce9ce4848c324acc793c212dcb295e6e8f9f637cfbc08d306e2c35bc04666ae1e18464ce69e4eb2055edb74a5b6042866b1a68a0c3078f26a47c364675735921dee63184071352ff5aa6af4faa49657e09e9a0b5c69590d20f6dedbefa1ae9f5fed02f08cdb2eb4e42f2d3677cfe385d8f1b0989dd19cd396bf808c91774e66ad2d5715b901192fa54e3f505a532c8a856cadc4284d4cbe667aedf869058e1528b59a6f110427af58cd4b207dd5a96524148a71a9dd485ce2df55bebeae00184c46b6195cdc9cba2af3c7e9014a2dab981779110b27cf665530da9eb22ede79f65dbb7ac3da35ca45e463eafbcde7221838b741ae5ebb27a9a6f919c17738eb19fb22d9c11b6659b5a205c4b2b65b320a5562d2d9a7f51c5851422546a99852dcb62bd90dfd6ba2cba97454fb2b521c6582ccbae65e5a2fed9f83ab058c89846d466501af48acdf568165b36cc8b2bf2dfa056b8592c9165ea21ff3f6645fad36ecb2a92c9450fb19d9d113535dc0c91139317597e37c80801c9091928be4c4c70e22228cb4d156b702a122ebc0e15a133aaff32302ad251ea07a93967472d6c4e9172a51fe6b36bf95329532445cae8e659fcd8ad5f4a91926d3935ac1a9d1aa4a448661aa947a6a7cfa1db28d22f48a9754737526051246d9366f0957fed7223080e45fad3bbacae5dd632b50745b2d7cb839ccffdfa3f91d473aea6bac95fecee89d4bebef0a2163d326fab1369a9c4cbe52ccbc289b40c7a3bd8f87c6616e12692eea2d0b02a3e38f055725607d6443a56bdf41cfe3fab0671269242d7c6860fd9b9ee858964bfbc9ec5d0f725121a3e6a394b226385522d9138791d5d45b64a2437f5c758791933880c25125ae2db31d3ab537a69a7f43a8c43e1802791ce911d5bcba2d4529ea34f6e7096a34f5c2089a4cb9966b59419f46d1a89b41cc3c3b6b82f36db5f812191fa176496a9de7d44d2b3ccfafba5cd1169a9e38bc145fdc95df61b916e79d58fd2d8b81ab41891f2faf4725cd71791946bffaf937d141f4d45243b5b7416a75e2212426ba9d4bf5bfe97398848bf6a518cf0152323f321d2b29c4fdcfde5b51c1a43e4e28ebf67cce285486815725bcc9cbc6d75422465f706f92e6e0691949ba521dda5da1a9920d261ccbb737d9432ed271069ed56f2827e0d886456779d85798f21f6f9435a63adfe167b2de78cfc90d0fefa5c96c6c5a4a7f621f5da415d63162e8a0df99090ee62fc56fc3da4e3dfebdfcb450f0931f32c346b15d742cd43524bae7a64570b1e92214ad525f1dea85f6ee3c07748c969d082670ed93a77a602db21a13a86df66176510721d92329fc3449ebc78167469885c1a225c05a643bab3bcd9348b42dd5f3f87a4cb3a686ce9fdc57bcc0a2c87b4cbe672c7963e63e63f0ec92c8b71658e701762437048b7e8f7597d63cbd1f50676431b52bbea7a84b88bd990da159e33fb6b39d4cbe91ad2632ea8ddd64177775c0dcbc2eb1110380dc9fc3a348aba0f42c82c4683e79a36b5ac3f7786b4a44279669d5efcf85913d80c09f52f4a3dc75386a467c1a3522165cee1364c8664bc7fd1d9473486a48c9673e2494506cf62048b21a91d3646ddad5caed09b447018d2a3f99b715bebfa331cf41837c2b8817f6030246396ff63a7fd8c57dd17922d45e61097f533b01712ff9d75664599b6ce21037721f91b77e32751bab571e305e642b2f635aceeaacfbc2119f016d2d9215d57337c18cfc25a48dc9e8be2bb5b0b1a662d701ba9f312e1590e8dd1e599b3909652e697faf36cf5ed8385d48654975d025f2171be396ab996b3ad68195173ff836c85e467cd2aea55c45548ae5ae5b2d8fe39d7771a4c8594e7ec424647ff671d4b34780a492db412572f65feb45a4e0a4b216da7fa4c44b85826e6885a14d27f1bda3db94c995cce8e8db4f872f47dee1786c23d3f21a1b59c5fcce52f6ab5b2093b21995e447d47e532fcf526a475ae4c8ddedd889ada139246014a0949a7a09cf882c371e8158199908c5ae9685964cbee1ef312d2320b5adaac49a58474885f1de5ca080f73471487c281c9c16b243648ed21e378289c8464d0f0e652874d3323216d225c7c97f3e72324ceec05cfaad952eacd464886abca1674c9bc1c5b38140ed0195c84a4f0cc32fb975a7e312629226b759ac14448c7701d193b7735ac589d8df01052deb66a47bb7c9df40d4e4cfeee848590de302e7a4bfa32a241488b7654cde5f22c838190f4d49e6e2f8bf30f12e762d3b8a8b7a4a9ca5da49388cf2ffe463969585d24b479cb55e61d64d4da5ca47bb3bf1c3f67b13e686a585c2485868dbc89d0294bc341d267a8c3a170708b84d09de762eb2ccb526d16b1b648dfe6712dea98c376cb965142b26dd85aa465fbb42a95e6ff3517112d522ab6b7b38eaa9d85ad2cac6363711616d6715e8152d615db8a212c2b6e5791d22065d89cf35b9c178fa8394a89490e1455a43e798bf2f2eb7896cc758689084a468082b2a948aadef02946ad48e55a236a394c4e3ed0d1816286454552b5e8495cac9e17f2a5023e455af0cf35752d34afce1a6b8a846c718368d1ff522454eba7a8b89022f9a193ef7f9ebcf29647917ad93cbb90de1245428ad6eda7ca50a4658ee6d8363bf94e814299debc33e8fc89d40b19c2c5cd5267aeed89a48f582dbca8e5ec72d4d20963831026e3a13d87eca4f21a54eadcd86ba88c12123596b1bc1c8d03931309d93aa78978174389964d24e4ed4a919de53f8c541369ad468dec79713391cc28a3ceb2e039cf78140d8b8964afbc4b2393abef3ef71269f5ad9b476d161385b544725775faf4ed9a1df71b3c612b91d834a3464897555dc638ef4618370ed1403143a198a15c9574c989a7615206da189612a9f5e423e34a9defc55da4c404e5685741c9093a3ada5560424647874d622791cc142b5abd64abd37fd229287937c80801ee6125914edeb2c86b2ed5ef065e2292e228a7858d4472cf3e5f1eb5048d17592537686321914c9df7b220dae17d447ac3e817991b5c992b28c23a8253d1b97c854b6e239251894b1743ea1991180de52dcbb1638c426b11e950e92fa650b522927a5fa7d75987998f6a47470a8a9741b24c0003111e6c2252bfe142fe34b418a247445ab3d0e17d54fce5ecee21921f5d3c8fed26233b2f129ca7b6c6f43236cac0a07216175cdcd70f9d8b9c98d422215e6839f8387014a3428b64d69119ef859711b51291925628b3583e77c983784c8ea819092ab24848b55a9aabbba073b88ca8a9c06e04955824d677462149234f1ce5a45170e6eb2ab048b9e81ba5680fa3d685dc86ca2bd2bd334a950ad97937e38a64ba8c5ad4a8ed4ca1d28a848aac1897aab2c228d5e7fcd982d42a5c8f31b3f897ae2b55f482502fbc87d8289519aa3d5049c5f6326a8ef6c1552a82aca022a954776b3148f19e7755394542a48ab98b16efdbdb8a29d22bd53b68d838facc3d944a295a652e5208f163233f11448514780c95328897bd6586824687f169a0802d5119851aa236842c11f2daaa8822ada13ea988be94f123023b544271cb6a56310d2d9bb3706ddd594c4a89e350c1232aa048e8dbce29d7b51c2f8f8e3142e513c95f95993fa6d72fd3a6e289e46c4eadfd3fa6edcc19511d064a4747a51316a870428402954d34a0a2891447f1321650c98408032a98b851b9841a11a8586224a58c123fa312eeaf810a2530509984c9979048a022095725262522ad4a4c4cf0804a24225081048a1a6ec6042a8f20c901c60726507144561a71a3c2081c7889012a8b5044032a89f0a53d80800a22305039c4560ca1165029048a9340a0420814143fe30195411ca022884020a00288131c38708c4180ca1f2450f183052a7d00a9f0212b7bd08a1e521c45240f2439c04840050f0b0e93e50e76507540e940850e0ba8cc01c54fd048697f115f26250da8c8210e372a7040c1f1064fe914143794514282a30d2928266788b0410d37630295359c81228246042a6a4840250d23283d42810a1a2a503943062a6640f1149334444a484c1c5029831a8b0819c660031c4b0c6130790654c0809252e269f817d448213983248708072a5ef065a2441e50e902172e50d982052a5ac040a50d0954b200810a16504e4c504c4480020554ae7003921c609cb81927262e38c1042a56585e46194dc6062a5540a1028a042a536840450a0ea84401850115361c508142012a4f1021c90186052a4ec0a17080804a134448728091800a1326505902042a4ac040650d143f63e9941cae548b74a092040454906080ca1106503142e2e51685966b272eeab508c90d5f295669d4d27a8808e9f2b09f1db5affdff43486f7866c796b9b7ce8590deac6d5dd444e6c65410123263c82866ff3783ba0284b40a51f93aed2857ce951fa4958a78594d5583107717c9973e33ffe3ba487c76173c5e96b30b9fe6222de63475e955848b7416756f5efdc95b24b5bef594a6aff7eeb1453a5628cf29c65f6e59578b94ca9cf52a5efba0455a96b38a4b21a359a4e4447de65fd1f3e719511f7cc882d3f315117741de58e8b2376d185d375258e8e21e5dbc9c1135345044900c1faf707534cad15a1fae48babced2d6ee6174ba3a715e9d1f0def0443082d2224001030425b811c60d11f0e08315c930265a8c6fbd1a1d85d27b4e051fab48bf105a6e3376ced85a15094d591776a34a0df3a5222df7d9df7efc8c289a2f13139cfd40453ab62036dea651468b19303e4ef1610afc28059222195e9431b3d6fbc944fa310ac41a7c88c23acaf80805767c80222dea2cfc53eb2442c6f3ed62a891831683b1e4e313c9d7162e45e88ee6e47b2299853135cd1c9d7afc4e249587abd65a174e2456968cea677ff96b6f229dfeb516b5bd762da689847231aac55d99488b8cc2d586169fab714ca4c577e14963f8975f2f9748c7157a5b22751ea416aa695c9e872b91fa56ead28c4c115a522991de5679495bcbf7a27c12e9d7fa59fa9a5312c97c3f42f5a6542d461989d4ebd414ed302191d49426725e8bf1b37e1e91f8daf4f85179ca5fa12392a23b6a59aabd46a4b64b44b4cf8c48cdbdeb9a974785e7d8c722d22d6a1dbfc4365c1499157c28221dd5cb4b37e3bd2e7c3e12f18108f47108f46108f45108f44108f43108f42108f41108f40108f4f107f4e107f4d107f4c107f4b107f4a107f49107f48107f47107f46107f45107f44107f43107f42107f41107f40107a41f6fb8b5a891f6da6135bc0423282d82303cf081313a3a9625a2c689090ec7a1c80d68c3f0d106d4d1c6071b50c759163ed6806c0a1f6a48a61136eeb2ac5b06511e1b1f694068401d0c858f33a00f33dc4719ce0719d25263c714baf1b6b5cb881a26e1630ce9ec97fba3a5d3bc291080f12186d46cb918a19e22e1230c09869cc1c717f0c30b281023d7471712fe1b84d8f00ce7722129546c52b57afd54a51f5b484b21d477cba7d242fa3f67b78d84673c59a9295e083eb290f6186b36eb79314af3b1905efd39958dacd1912d57482a6de1d5fcc5ceb16b2ba4d3884b21b5dc6243c85548671f7be199632aa4d58873a165567ba7ed14d2820cc24599e1238574082dfeab8e395148e8b4715c479905a5726423992debdeccd2078564a8d4c24e3c0717b43c21ad9dc7b3b3d43e9c90de6dd119f4bb798c6c0ccfe2a30949179b5dbff823243e9890f61c44ed6778175f901bf1b18464cbe8b2f49c5288d816233e949090427b8b6c1fdf4f9a1ee2638db4f66d173f87fd4e1a55437c2421ade67de7650ddd2efb48489b8dde9e0b2f1f47488b8d2d32f830423266f97622fe36b3ae869b21b2c64711d2eaa37e9b277db529e32527380038e18308492174ba6fd1d38f21a465d42f8d70513f75e7898d0f2124de76a4ea556910d2f22b3bcd95eef90a84a4adaef7d7a25617358e898f1fa4c5792d5ece3eef2299f7451d34aa5cdbccea221d6c55eb189ac1fe83b9486729f4f9aff42ae1818b64167ba15e5ed732c2e31649d9bbfa3bc84d0dcda92dc2c31649292a9a9df7225cfe4e213c6a914c11692edca7db4c2b5a582f7cd4f165f12cfc1f97cf203c6491d0591ed131cca8f98de1c12316c9cc593b35a8d6e697c3229db16cc4376e46d4368d8e0e7c45ea3f7cc81694e8d5d2b9050f57a4e5061943f4558b165a5af0684532062d889a6cd6b2cacc8ab4e66ceadaa977639655a46773ad9042ef0a3d72552485cc9dfbf2a222f625150991b1a142b5cc82bd863d5091feec62d46ff653a4b58c5247e93e9a22e1b939fd7c33281d8608293c4a91fc16776783b8744a7fa04ffc0c334e7c8c1b617cbb182738c638a448dd8ef22c7aae527c05273870e028d272dc8bcdfba8c5269728d2c23f7e165d1a337afcc4c4051d1d94f008c51a5f72b95a0e8a946796b3eecca8934bf627d222b458e39e1e95f6c813e92ded5f9d37da89747249c6a3b91895eccc89744c2f5cbdc6556df66c22a92fc57e3d839a486dac5f251ba3fe6dd4996322260a8f4c24f6d75cf2aca9171e984898a80b3a45b4e6f79730b469d659f6b0447a5fcc693cde48b98da904f2cff47372953ab96646093fb4bceb9f5dc16312a815ea56ee476da9363c2491eedcb1d59ee6680b3a3a543d2291d48d9f376cdb2b97d5c61848a4a396e5f375f8cbf590590b3a3acc7ee0f108c3f770445a73568ee8085c959cc0a4a303c5d6f068443276d47af5b5473edd120f469cc72262e0a188d49f8bd251dac5106395f80a70a817dc086347e1918894265919a587fd163b1d5143810a3a3ac240811837ce6e161e88388f43a4b3437632c25825be828e0e43a4577f7f0eef9735e6c598318f42a4f33c6ab7d0ad1678104213b919dd9bd74f1911acf932293933f018445a9768ffd0b5e72bba447808223d9ab36f4c1f2f52bfa4a0718211941e11e3e4e4131e8148e7dcc1d4e473b8ff1e8048d96741697a19c4c8873dfe9094726cb5daefe187c426f17129b3fc4163f0e843326da3963167b76ac973c0e0c18784cd6b0e2eebb42d7aee21e1727239ce866e8cded243b26e37860797d144be62f0c843fab7e59a7191fa73753ca43dcfe9d7dee6d159be4342ee6659f238d50e898f32f68b261ee456e95187b4f274f9c7c47f33cb11b5cd81071d529e7756b4e59739a45df4e6ecb15e1a2d8be490cc2aae834eae39779b7148bfad6cc9b58f68d91412149216747498071c12af31d25f7ca919243cde901497b5161975147a3f17020f3724a5d60bca5eda676fc619682c2228247a691cafc0a30de90d321fe9184ea5f78f7a8d21e5444275fc3e97e3b989c48a4c95c9c654af1e35919cbd8ff237b76422a53ac4677f4f6322b9b73177ca0ffde6f3255232526897b3e4e99f5a22f1fd9bd36bb1e63696954876a6da7c9e4389f46b9969325abf96340b9944b235a7d92c9977468824926e26ef727a949b83c2b881c3cf4837c810e3c6884a690fa8608c31f6b806219148978e6c7061aa39ff87442edcd907cf72889047a4f5c717fcd7c3bf2c777c218e48cdd666b935aba94675440da547d624a411cbf51757e162eaa49798981046a45e4e265a363ba286038d1313346c80ee842c82b5b99535a64145245cccef31edaeb779fe5c4822922e35775e4c1ade632a0411bcccf26f90083944d2df65be59fbcc9cc2149316781a24290a0c0e314452a6b8b05a3e3d40841422edc28e6838b173352e78082144727494b99e79de3aaf069116374b7ed58f298884cc1fadada7def1449de263f842414820d2b2d4b27cbd690e0144d25e8691e2528e16d23fa45d8d7e3bd795222f217e489c4799c7ebb39422de3442fa90ec13970dae51ea16643ea47da4eece924b2fcb7186ec013b42f490f433bfcd55a13c24d4b338cdaac23ccb77446d9d0bc1435246355abc9f1d215c8e2783903b24f4cb2f6de6ceb2204f64878318956a3bc8ac7dc6194e0282903a2433cbaadee5acba98ff11b592324852481634b313dc08e3c681b14ac048215950729860081df06810328764d0d4eaf52bf91759f520440ed6813a240ec676d30d2d4d4a7b0e3f41080e0997e242ab7a2d856411f11c90a4909434ca1b92396f8cad66a36e48aad774bfee51f8692ea40da971b1e57f6ecc141eae9d1784b0211db3dc41455e480e216b48886a8e227385d410ab21e1df9a36eb380da92d97a75a96a2b2513424b446e5ae5d50a75ae8cf908c32a3374372bd3db96c2ee633efcb90d475b946998b117b713224f5ec577d3c7d0c499799177e466d6fb5c4901619f415868498f159a983a7cc310b0cc96d590c5ac5a9ee9dea0b8997b510e27558e5b2545e48e8eae4e94743ba69541792322bd58ff9b99096f9c5ddfea85ab47d0b4991d193cfbed4b22e2da444e56759c36da4356658b13a94057596bf99f2834619257db283102c68a65a2e39d5981c90a0f80922c9d1a83c0dd441c815d292ffb65821fde266163a8f5d8564cab61142c6e0398b990ae9a056865bd58e7263780a49ad32acfc6c8b5aad95425add669597b3360a29d5525cacdf345275948d848e23d4dc9b685543216d1f9e2b3bdc6ca3e809e9942f8d666b616b544e48878eca63ce984d3888cd3a7eabf730212d566a5908b9930fad25243deee86fb8101ad44a4876dbcaf3513f97e335d2fab53cb2761fb31e252199b775aec8874848b792cdf35aeea4a5c123a4f79567cce29f11d2e351abba9c63cdf65784647d0e13211d637d083d7d39367643486e6d690621b5169a3521a455e8fb8e32bf2ceb1d84d4791aefceec32f463ee6e901102378400213d7a8507ffdc09f941da43c62cb7a8c5c5dcea5d24c4acbbea7ed21220ba48cacbb8d0e3ef926f32174917c4a96a795eea0e295ca4e5b851c9cbd56e911e91bfaec4a5917f41b6603b0b21e546116b910eab3cdfea396991761dbbfc85562c406691ba0ff2412bd9b02c92a1b320347ebb4e2701128b846bd1f7f6eeba739a2a020416e996e3d3a918cd1a73f21569f9e4d95c379dbd5cb9e21c1ae438405a918efd52bc1cbff234d9ac48c6ec0c219479d800b28ab4ced206ad3b2e8fcab42ad2c28eb78ce9cbfeef99034945ea3446cdef8c72ef8510d20004158857abe52047c77f59833ec5a256176a534635bf840487297649cd4b35a3a88d8f9402d9e8325b98d582c8ec8c3e7b1052fcb2f846dd651aaea50d328a557e96bcbd4521552325070ecf198088226d1b2fedcba8de5ffcf05c2892328c87f5b417f700028a64eb1754eba83d9f48061784eb205a962752fab2dc82169bee44fa5c6e979d5d6a59103127500f40369198dfccf3d9d14be4cb7400d14442dd6b4bb3868b99391309d5d20b976f5c98489ba7fa109e6f5facf612e9f96cdfb2206eced3c72096b0655996732a91d6f266415ddcdbb9bf2891943267920d2f4f22755bae3d675c25911a4f2b55fe68e7001289a4bb97ba56fb60b2a571030824d2f6a79d3cb92c8b97221c401e91d298b52ccdf50b9a3d37819f9884e1886434153511f7ae01a41169253e3eba528ad51954c1074470830c314c1a401891142db4fa57abc3a597b58874fa985ecb33ab8864fb8c7eece7b8c2bf44a46fb5cc8d965e7f004144da3e880df2051d6f1ec2e05a67f965dd57796b24208648bf3c553b3ff5d8344821d2f11e3e7dbeb8d4e71222a9197450cf5afb6a4607917a31f65cc47a8c9ba52012be2ff4deda8f6779bc0009443aa4122d88cbae45995c2080488dd0ff62f6fe0f89cfba9b35ddee87749c89588fcd6136fa207d486c3ccf3bb37d597a82f02125ba5e90df9a579c4bed21e5f96f46855ead3c6d3d245f0ed562bf672f7a340f69ddae171ed2ad850bdd2e7eee90ccb1eec5e0e16387b4d8518b1623fb1ef3754888d9cfe264d4d64a11840e091597b3eaced5d1b12073488b42d946a153cfe5f97248a851f5d9b5791c92b2e5a5533d1eefda058764784c9d59df5d89d6f286e47fb766a947dde51783b821e13ade88ecd66d4847ed9a54f9b627d7311bd24275e3be2ccbc620457d005943fa73f433b646a967a5206a48ad6e06798d51797a004943ba73e80e7d9d5edd6b103424f673fb0b19b1ef398824017286845e3dc2f3c6972e8bd30ce94fe25189a61f295c96210409903224e4cacbd1a3d6f12235e608103224cd36c3d59a2887e3202123a7003286648ba65c9d5d48a5f104639541827207103124c57aee6ffdfe97974201240c4965faa7aba5ee2c7b660001433a976bd746153d2feaa031807c21bd5a0e1d312ec633e46000f1424a438cba6ace727ecb2a6f01ca8d30b40b205d484bbb3179f69664a48c31a3534a46c08594ca6f2d5cd09c45d345410e344c4e4280b800b285b47af28d313cf48517a9a1b00d102d245dfae7bcff29f6c2bb4a484a800590366c009285646f18ade3a9212b826021995d5ef95963cce9d612129133d0c0b10672857490e7ab6597dcd67bc7ac90d6b20baa33c8df8e2b1d511359bb41460840aa907ef54f29eac175642500a142ea830b9db5ce4de3c500640ae9cd32cfbcce2bbce51830d8520a49e1afb5f33fba185636a2295e9282e22977a2900e7a6784961de5634c3a0a8a1a6ec6a1c800848dc4b78a5023c3659665ec8e0420504888ebd920d44f37c30af20410803821212bd3e8e69c5577dca900d2046503840929959d7e5d3ccb92c8278e82204b486ad6602edb05937339472b94fd0051423aadd8f6f62b97ae956ba4d65c8b1db447dbbd83436495b8269024e4412a7959fc4765182048e8e53d67fafb0c132592a2bc068b8919204758be703989447040f267992e0031822eeb1cbd7185560989d600a408490ddac9dd452166f557a3a4d109408890f2f4520b2fb68866ccb105204348bcb62cffd2e6d1d9b2d2042042489cdd894a2d677fded4894949192420414847a5b1d15ddb6594989cb1290001425aeeccabf5b59c737308e407e9aca51ff5cfd079f51d0b2abb48e676495e79f6d32c9eba48aeeacb755948b1cff0a4731cf4678c4a2e52eee1dbabeefef74b1c24ca172e923a0ad5df394386f770199e52427225a8dc22792739ce1e918ecd4f9d4b5676882f1c9194ddaa32bb9c4a3fcf8d484bcfdd9d735e31e2742a5fdeff792d222db5ac2fcbfeb2bee6ad88d42bdf9579e34944f2d577836cd051d60b1169597ca1ff32fcb6b842e310e9ac55e5854fd71069b9052d4467501b32ae68a42812be284452c6ec32edcace2d7442247cf47e06912e916a1af75c4124fd7e5cbc552d74a83c10e9f76ffd82ae071089d1f4ba1a1eff21996575e541e6946265d20fe9b9cfd26d16ee4332778ef8b9cc976c3d7c48eba6d7e52d3db952e11e929d447aec06939b5d0f09cdbc9aa3a56cbd2b938794b97faae6bb5b8f793c24449af6cef6cb1d9259d09b6a6596e76f6a87a4e74b9b173dfbdc76757884cee93e5568f97430e9e67cd1cc1cd4628b4e2fbcf042f44b0e48dfe85ad0117abb567148694ca9b7a9e383744de7584149e740e9e83849c9f1051cd27165d9d948ed1695b6672ce8e8e8e838f9e20dfa6a90da2fd365fb0b37a4e515dfa81ee47ff2bc0dc9ace45cba0fd541a6540a49091a2dc8c1176c484b97d5ec45edf1928baf21a1cf83b79ce3a58684f48f219ba3ab197b4943420b8f8f273298bb4ea321ed2f5a96f6625eafcf6748acfc1cebc70519b48b9a219d65436a8c41e68b32245ca3c716526448bfd79c262dedf15d8d211d6f64b6c7f888da490aca176248af965183a8171486b4b7fc396e358ba7960543ba95ab3fcdd2a5fef417521f4787d7e69523b6f44242b5379eba1e77c1347a832fba90bab9551e63d4efea726ab81908842fb8903af77ed5f46a9fa22fb690bc5dd1d2cfe52cab6b5582c6498ac882068a88494a09891e0fbed042e2b5ec47f7bc877dc90587a3a0f4968ce04618649c8382be68232dba9c420f7c9185f46bdafc16fc474ba31f5143292111493971149446637c818584d6b92f7e629282b2255f5c21f1f682ab97b6cd619242b288e440c92fac908cef0e7ea33e911494139217c98172664139e3949890a4b4f21c28c7bea842ea5bb7c80a7b4b484c50f00515d21bb37abf79a9738fd725241e48c101821ca871839cc1175348fadab84c791936892f8584cc37d974362be76545217923af2a5d836bb139197cc1465a9451b9cc9b518b99824242baf0db2ce46671a3fe090919ae7fc4851dd52fef84840bfbb29c4c56c6e34d4848d3f4da3b6a9371712624675c48370ff225245debd9281939267a25a45bc678f468af91de8fae5b96e52027da95849467d9a85c52ed51e942424263e8cc48a9ae2f5b4748c80671b98314dd52b68c908ce133f5675f4c1bb38a9054a2d58e96762224b77eb367f92f4bd387902c5735222a453bcb12424278a6b9285b9629631584b4acb66265650e9f3eea0b20a4c5d85aeba0b31833faf2c50f522ae7a56acbb2ec222d675b9bbb7491d61f7a4443a4ce987391967ec30a13293fcb2b2e92dabc7da48ea9dd82b748ba90e1b93bd8b648c8141a6aaff5956dba16e979f4dd52352dd2fa3b0b32cdfba9dab34897baeeb98e9da185659178e1b23a93ea7c1fe258a45e94caedf76458a4c5b63373fc8bd15eaf5866cbd4ba22f9e351c6d0d1beb55a71f050ad778f0d7c0556f08215e975ad630c5affa53df74e920d2f56910c191d3eb70b1e9a455591fc8e9ae3d5d554a4bd73e898398b41ffa3a848eafc3f4dfd62bc94a253a4ce3ba44ef72053a4b3cbf4e02355fbc9a714e9e4d27a48919605213f07d9425c666714c9acff5cfa72e6a87714453ad68be954a7a148c86afe91ae2daa071114495f15a23e67b9a3ee3f91bc571ffbda5dd7e59e48769439bcdcc24b335a9d48662a95d71fd79f174ea4e7059da285975d96f62692eb59be6cc6f9695413099d2f8f8eff2fe2e36562f1318c740dae31f53d432389e005268ce2f15a7051e84ba9f5e21249f5e2b75da72d91cca2b8689d55e324a5c445d272f4182bb82fbca8443a53e40b5d1ba4e7e6289172b95ebaedf827915e17bbd956dca778d911351b388a24122ef769d33dcb9acd4722a93bb5debacb21e1ced9481f911c1fbbcff172b387ee88b42cede816b4125df2c94624d745d315f1d415fb6244da859fbb3377d137658b48e7143ac6242f538e7629222157aaa9561d9588f4b7942a53ea10cae51b11695936bf0beebd59fde5108917fa4bb5ac0d91fa9c323b8ccb0b91f4ec92973d362112a3f1a38e7edb201272cf76cd6641a405552db567f9b2acfe0b44ea05ad5d3f8775d7350322ed21be1933e82c3ae60fe9fe7cae59c47d8896f5435a36eaa4ca858e977ff721ade3b620e3e631be2c7c38bfd822735ece1e92ffb275ad0a550f09b7d7f79ad13482177948df7ffc067959da87080f092184cb5a54de8e12f90ea90d32e2d27354af5cd20ec9f8b2ac5f102d726feb3aa4ed44686c7e2dcb7e261d92b5df59cc59bc92df7c446db9af60e79016e139ad16744a0e29db16a52dbbcb57f1c421b5ae29cc3799899907876450fe4a45756b39a5ec0d69ad974148f3dd90ac558db9f285ebeea80d89915dad37eb2b2fddd8908ca9c5d841ca7cdba3af21651ab36c8f422a51bf1a92f972164bf7e65fc7280dc90d9d56be142d66ed684827f9f8e0426b7a88e8c5199ccf61e6355b546619511341e911d4d1e1cb0b33a435ab71e1f5793f8de66ce02b582fca908cf3cee472f60dcdb272f4184c86e4dc0a972faa3b8694a7cf3d234d8316379eea85189222369afa7b35a27690176148e8207afdd76feb5c56091a60403b6cdcd29cf35b64021888dcc08b2f245b2ecfe9a2ddc5735f4609090a0a090eb4f4c20b69b5fbb276cba291c08b2ea4e52d91719d7159fe9f0be953e1bae1b516e55abe8584d0ec39487bdd692bd7425a8be6d4364297fced6db0399ab2fc379e85c4caf8b27bb5fd930b0b49158dba36760b99f7159299613d873b97b6522b2c4ad3a055055c47ed56292a4585a4d694a1f63c9d424a74cb9cefdc315797423a8b5ed38cb5715d962824744fa5edb6fc8eda858de4bcf0be22654bbd9f050aa97b515527735b97977e42427bd4acb9b5cdb34b3b2121e44521cd343dca929b90daf0259a655466a697096939aaabd65bdcb67509c97679e52de6ac42065509c913cda9517bba46ea5cca382384e820fc4c4242c557b65b269190ccdcda17aacf3d67cf11921dd4be075b111f44c70849d76a2e43662942b2f36b29fcb3af5a9908091dab9e458b4a5773388484e7d6f4b95c278494ea2c6e90f1bd20a4934be5510b2f66295e404808213fabd5f9c8acc58b1fa43c83662d6dd019ee5d24a516ba05d79a5fe7d645cae5dfd1b731b9ace75c24dbfee4b59db848dd6bc1cb45b45ba4ddddf3bad4982dd2c2636ea146787b16558ba4f2f3fd2cb55c63142d122347a8966615ebf72c922f44cd87dfb248eb4ddb21de258f59502cd22d36ccfd4bd5dad1c062ed72757bca16a21623e41521ae5023a415e916e56c5efc2047bd142b92ca37d46add8d52ab51da34010c4404c08a9055a457377daef6985c94ae2a129ba2e59cb39452c7a521a90841453ae6a716dc550bbd9a093945a27bbb67cfdc138498e27c482952eed98368559764333aa2ed2a58ed27664111a3a3e3c4d789890d1cc51603c085105224659633732e7bf90b3b21641449d9953a95c897459d0c1145c25e8eca8554352414280414219fd84c84b0f98ddd1309db7cffe9d39d088e25a824f065f27934188a03390a832806e6e50323130000181816920543a16038a2a982283f148003552c223a383a2626201a108d05e28130100a8542c15020100684028150202412e73a1c82750135d7234090ddf6648e3f53779f4af89836753c9c012dc9c777812f4019f9b62ed99235f919ba21767244251387cd3c7f7cc7292aca51065ce58fe789e2a8d739004a479c88f560d47b466aa0721b0c9e46714cd1bb241b509dedeff0265dc70588bb2ea2e6f54d9bf16c8b522136586a1d3e480f0aa6cd20874e7f94b0d440fbe215846edac2451aeb626dca721d16c522adc5d6893232681650e46070290244e91db50855309d44c1fa73675a687a0a57a159e491d5557133f31ba63298669bfb62fa5cd47ea5f22f130e3fe73a0d101383f22dff602fb5e3088d1c783ca84d7e9c251dc7e160ae5372117c938898f150016c5b2f2c3f838a38d9b9365c0d13c59eb048ad27bc1b247525b47e3ea5468b3929e725f5838f6de5b25212c597957e2441519469f48938f11813b9187151707eb708e6237f69ae303daee1a260f265a34a5c35f04a10142c2624293d55bbb9fb3091146ffe0c7bb9cc7468e07b306041388a2bd01a2df3682fe82103bbf8263af89a81c8c26687cf0dbe66847d57d1a2fc24e1049bdca21e63f628043caa227e60f930ef70f9114d1695791f2db1d7ed7d943eea8947bfaa28b1dfef2257b4329a5570d4ab33028d8eec32ea6db71ce660cc7fce34f6cfaeea88f116929f68394bbaccfe3d07d55bef1b54073191968d836ab7038e01a8aa7efb21976c377c990ee74488dea20b23765c461fa6eedabcb0ca7523fb91c1d44ae87b432cdb884ba8db4382c963276b2a47ddcad31331088aa89a9f42ca9978b745ae1de7e9a425606a909939d68bceb89bf0e91629c8a889e295627a5f1ddc367784425693a3203259295c7da200fdbf147f75185462ea6a392524016331b5963eb86624a2e218e7a03fa147873e510b8707f49353e84339971223d57807fa121d8e66822f0885ab87022a36286b279f1aadf960ee34b40be8fd9aef9e14151c3d000cb3d7019ede07c36c631926c573112256b88eaa9ec0283832bfd47c04b4adbda924ff4e778dca6c0967d0554c8e31d369c2f650407211c6cd653ab37c6eab74679e26978ce3b0dcd01f9dcc3d2e15764d4f841e939e85be917e2eda4094752b2d864bcb8395671ff1a1fd4be93cc530e8272892bcc27f6cb874c29604a98bed9169160f406fbc74f1c0c0468d22d18aaf76a37232e85481dd65208764fe7ed254a18d6a10eefc4a3718d478418e221879f02f28b5f842297854f3f0c286bf9302ad75345ea65ce04166de2ca2202b19425d207b350a0365a303b5b99412053d70b6c065dece30630ae3ccbcf076d1498a9360c5bb72839d998fd698a3da2258b972201c6474545290cc571d78714c36b590bc9181281ffaf7fa5f5bec2c475fa4b252f4f49f059a657d1981d4873c26af14a246b30d645d4e3f188bd073c01f20a3c468d39ebad195af0a3343195bf32208c98a0c69cbec658a583b104cf664d8a348e74117099d9945b9738114674e1278c0bb94084d16d351b9143872f071160156e3718932a7cf568359f71a843d07f9bf45ec827e818c60643abcb9310654bff8910885c5b5df3043ca683a14d5d6ce8509551706e56399ba8d4e8e78bfafa0c4525e4583aa188bb39dc83872644209358341952d8091f73c406345c6c50f134859ef0b135dc6e4c0d6528c117f15dafee0bdb60b5c4f9fa883052b02b558d27582bf1f5574709b67f286a44ccc278d980dc765bb37c4e7c3ab1b577a2a014a88cd51ef7e0cde24c182874dcaee521047ddd8854f52566d086dc14d2a2f3709e1a434675c84acf328e85407364bf877a9d2b21a8c34938a259b2055475dcc867d153c0a5b49e855951aa49daa1d0d680d18a7e656418ca9bc705681b9128251a324655202a747124170d9f052cc6946d543fa6abc0af9ae474185a045be02ff28a16d74c8f892de30b74d0295f0dec23be1aafba7d4a022dcedde57561a477f0dd702db70e0b50934b9f3bf0cf0212c0b2cf39ff984490cb1cabd3b580b495c9d9583c3d03f23484c169ef7aac1f7ae6b1f217878af591aa56d19e69aa7c5678c3d26a25f9790162beab6e1c28d79f3724725621b94037da9f514751207c1d5aa53c258365e2fcf1642a8dd4554186593dc497c7d4ce4449267784c93c876f85e4d2ff8b37896d48a41d3d0a80348bb5f496e6e205d84533c5e6af5ce6c5bb4d8ea0be691640a3c1f59784c4272fdeb638fb6af6fef0d0bb80aace59ec3553895301ba86c40f1ba1d0bc6b9fa1283815cc4bc695ea4ae821b42f576a1f3f18f0ad9287765f161cda1d4f8ca5350e0e5501acb6d9ff2c0fde816dfad0c5cced640bd7a11193533cf1871d40600ee0d6d1e6de2e0461d3fb0ee463079920528399d1a8cb00c4f3d279981a6956d3ca74cffb895643ef73271c34be6f68ce1b6425e193611bd476f707d3d68421897cc8e0044bebc501672f024053684176120ebf6e8df61ec1bf6f1f7e8b0ce4795b1a5c2c08fc62e7336c0b73212f521563132f35a3184197862098890cba2ed2e10be766518aca2860d43407c3d760e656b8953e96a0813434b955766076f34f64f329698bd02c9e83b0d851923f94dd99fdbc3baee76bbc37db332155d981b73f26c132101e7be64f4e0b1599d7ddddb462ff386e9dae6a1992a4ab4a6c601fcd037327f9307b0c10d181680bedc3b894959b7acef3662c76a0a2bd3f73d9cdead0b1ff5ed8caf72cc3d97baae09a99be4702b5d574eb323d7311450163615803f283e017ad62c045b6861993c0243c842008bb6534b3f1bfdc726b0f74c90d02d3b4e8e3ffcf75501989d0ab5f6dbd363e2fc5dcea07ab13f2a1378399d8360bcbdd65d3edafc907c9057d9c6acdc60fa867c48bc264283eeeff23fcf9445751aa2a2fe85d94e6382fb69d4dfffe055777d5b80b2c25ac07f9d073a01768276e406edee766e11ee75f21a24e31d3fb722ed682332c88a5479567d884e06cc0a48c22604da6f5200b43a670b6c518fa3b244b6b80dec6f069fb4066da07c27a32576caa2e8f901283e4f2e7d00b8011979ef9b76d7fb0a080bf1bcda6cf6067b4925f039ef69fe5a32e043fa78d219a25ee47ae5d72da43746fe0e5d89dbb4f3718804de98d06f34bbfe6f454152d070caec8b33c25951a736c96658382745dab29b5c71eafd8042d91504c2c571d51546206ea4cc5222c54f68a4320e7c81ad1d5ba0e47e87aa3bf786bc5b2082b09a684d331e11e327e6a53b188c11ef0c48293723dc9c76781db5184dca0469927469c088950cc68ac0a413541f4e40efa8abce059ed510d1740ac6834bee04d85fb8aba2124a57b03d012c7a9288fc864a1c37ae006ce469d89c102d844675a1b715652b1063a16a3e14f9f50a8f6a123a7f4ae87aa1e284dc2794810a95280332df53ae88bd8a32dca29c3da649a5c4512e336cac11886c997852ce4194edb8961158495bb0aa02860b99b2e5a050f3b4d06d56acc71314091ecf6ae3d9824b470f30ea5fca13d390570ca5be3c63365eb4a16d0d4eb267fb08ed5e689e10a2331459790336e646688a09f16634a743889628577485add985223ff3518f177b888516f96851132d0a4f8bde4ea075a54142b1dad05b1c7e487e85a6d3d0b65f9586cd9ce46fd712e12824d187c49e28e7faa30a061608d5959cf765b8172065444600e29429bc94c60bc6a7bf26f2208392613783f0d828993c5d8264205723702237ee8dd78e6f1b65be91f9d1785d7c9e7e392093af7d32a4ed4ac3782d4adacb2fe03582f40d7a2fc00e0f966bf5937194115d457ea032f2fae1aa6e041d1a6f8255ef1abb3aa7b1693dbfc66337f5233ee1c224f43ae1d100ce6e80da7aac411783f6ade830346f7eff1273708f3a65c8a9db7c65bc5937f34712f255562069b3f39d6756cd214c5d5f1d32aa883f6f6169e3f6734b4bae6c5acc4bf0100b826430b2a9f5ba58e5910790ac9972b202bc132350d20e49515939a64d58bf81ba5d9c7204e5c32e24955d3f6e861080c3ffa96c9de1156e106e1b4d53706fa0ad1472916f653ba5930239ae835c94ab3b9410aa269db16b33460ff9c6d4eac43ec616499d8ba9ce13d889ce6ede3ac70fb706ca1b2c498ed67978a5f8b838a87b06384b9a77fd67cf6c546c8dde549727e5314393247a3a8c8280f4128fdf47938e98e0e28a6ed70cafed989558737cf5fa8eb3aab030c202eeee7ed7e2ed626826f799e9d6a1ac6583e94c6eea071ee055ccd3ef03cc847118a75f587802e29b867ce045e64f3a6ce22e7185d056aa0fd536d0efee3ed50554e50c5632ad8029760085e683fa42a8ceb21420de46c9fed7ca21f1a06097449fe27d0c6ccc31f39a9139d71923b2d34484af73d2aa6cf2c11352e1632593cf7f4675f3dae4db8542a8e1611a5795f9892a53727eed67c3a06372af439c94763c3532d8a4ce3076fc2c2d5db786bd1a808f9e861b5a593e8d1be5315919e0950bd48c7f039b9e49df68cb40dd672ed81aecd0c85b50493dc819ad0054f97db2463a19f21967e72435dbdbd36e02779061e40699211425ca22f1f45a465e32bc4099b247aa8a4ab19d8b31baadf0728dd906a1a0949b241ff94a36273ae43660d978bd8f057e9575b87bd5ff6506361779cd7880a34dbdc7ce6ac9837803ca1ece32dd3a561d39d2e3b11d6f72544c8334ec28126352710322a60a1c51819b1978ec70f755050b22d0e51765bf3d6439966d3c6a46ea0281af3b56529c3608e3165a21e68fb3a25089ab66aa4898c37b670d7e82cbe56adc4315f56326326d49397a65a97c2b5a69d39ef54168b4b2fbe96da3302e11139f5eee8e32a02f2fb6e28614c71115ce987f6be78a12a4f9b6b53dcdcc30cb90ff174e548055c7cdf1b6f9dcafa851b6e58ed8571834726d60da826bca12615f3069bc964689096ba8a18d38f555e0af2616cfc8135562b4eb76ee82df12cf1ee097b2c03cbd732944e5c2f782da622cf66e685a55e2492b821b1309bde306f629d7c391b1c0d64ecf4a4ab33fa301b3c7111ce669812ca1ebb1843318bbd0af4b48130a32473101d151fe00117d722717c9ecb6d4f433fe3ed5149d743e24398dab4af865c41e8c51769fddffb0f5c5fa62dde2948a2c401e1c9744e6e0f2255382c64dd1d098938f4c8a272ca157020ff4470d9d59ce18dfddced73b8e17872bcd0223896d922e7fcc4a7af1e35f44fbccf1bd41a651a4c60700f708c75598f4d75a48e03aec8d4810000edeef923511986a9f55835ec6eedfe1f9e83908cda8195e3e93926c2039cda2c53275d9f6ffedf99ae2246d806f26079743f0198a232c91c85da4bbc9095bc7b625cb8ae4e511fc838cae889e2337e444e595e0041bdcb2eb7dea1a28a7fcb0dc77cacbe5578a89ef9ea91c78e8cd69393099ab5a774efb1cbd4f41b28bbdf70927cca70e425a75ee19ac889fbd8506be33c6ff9a1c528809a85ad9da8d7bae55aa723d34b7855c5d891d3f0f32676c0201f1c39412aecf9de6d7d0439f2a30c4a397d8229891a6767e1ff6bc856363442598379c67aa85dc7e8a46d9cfd8a90eadcf3dcef5a322f0fb09ae65a6321c1126c67247e5f0de8dbe4dc9dcfd0842c810897d1d192bb646c75c38734117d4a43b3298eb39db13d10ca73c53ab1136f38b75acb2912f1c26fc8622b02e05f3a6feae4c8019a4b1f038db3477210490b89643bb14d678e8c34ee7ac21d41708f29305b0047ea9046c5ef193b8235af54e6042f70eda0255fbd8fe6b2c708ab125cbe3b157383969ef596a734c729c96b046adc6a5196e78d7883b5f95b65c3cbf76610166ffb7e559c607b51a1dd3a2352eb40b009a08b6f660c80bbde39575c1157961363d1092ab8ec5982b1d691e4f0594b01234d664b169563ad5ea01c2fd7e1648d0397053bee5f82c082626d67176220acaf333898365a5bbd0a3960c28f3ad0d1057a4cffed74d91ca4307ee547724aaae9c7cf7d09f82b937ba119418d4a83c46721a894afe731b2fb81ed8ea369674535b9c9f424fd55b90c41696366d2bd5e71a817efa4f73fc3821cf7b3374156f7be2eb190290751feb5d4884dc1111f616748bdf22986d8f087fee7d423235f766d9b0a7d35a28f9c45d0cf4c34f632bcf130c0a64605c7ceb702c692ddaca2139e1984164e33a0c5899ba1c0fb4dba8888453397204eb113203c68fc8ef20bf03716eff1988eb93a745634ddef09a1e13f31f3436c2157f7b6baf30992e55b8ae86b2233be9fd84a654c5676a43da9a47dc1f17ddd2cee4570fa7fdc4c7a6a351884566c4a15809fa104ca66b7348331a9052dc9d05b32c3aeccc44ab2e0d1cc940c04e3dda6af6d2c51e834144eaa910264d28997c2fa21391003220f32ae36430c23b747b765c3445ccb31d92b4df02052b8eefa367a01a98d062d85d8e5aed34c3468585c1ad3f6de8312edbdd7f681df18903904b24af60d6eaa79a1c0c2fc01e43a6e5b74bf04852dbd23fa352bc1f3b79bd342c285fe73b65989831d8071d1c9d99ed4a4ff094ce72075ae65b249ee06b4b9c512ab501be2899728fede3330bd38c7095e8d02ce457e0c5e5ef644aacab13a23e9e6ca5dfaede68edf886176f7b99eebeffb4a26b29103f295f469d0454cfe180eb677abf4c57ba54ddf57a5ceee82888345739cc6d7d467a0c6f35bba4096e3c948d51f3f79afaf22b460e3153f32642c04ca115c9ac9ad11cce57a81e0f0c3717c8766941af063d1a2938dc3c23f8863560363ccb384fb43f876bf520eee682bf8b997632b69c9dd3f261e9c14a839440d99b2a53cf889f0c76480fbffdf8fdd924c84c474ffdc3999146182365b4da140f38b5b97a7a20d239143c385d4276206b01d106deaed53739fcaa6578280c7c59eca70b733109ab9a684d1d2d756de82c33ecb4c3de79eb875a9514f45090044beacdbd80cffb1590093d055b888fdf038fe6ea115be4e82a7bd92d5261c991cd8349a3f91dcd819acf0089c9413feed568448ef6118ee42d613b3f62965a34d1420ecb2901102e769d2705d6a14a1b229e34118e68f4dd93d934ea3c70f2de3457525e1f386b09ae8fa4af0a6b14ec1ca961b8899d7c091fbc09b05cf70a6bface95dd954472099167c9b480f488bd1bc32ae5307a3fa8b777f48cbdbf1c5d42b6f63359b5eb6f80a0bb04b1e08ed1403077929a31498149b408384d28560a8313b4d9f19a142cf39072cef26c284e7ea28dfad2ff3c34182afd6976ab98b584b08b2e63a22b51630776cee8e816551ec22ab93669ff038b45665e8a26963c8bb432150b67eddd9a61b863ee1be69c60654399706a3b8863642987866d70c43e7f6f909d45eef3ecc5b32b22b9317e9e3244cec9b17bc8a11d396111ffc85176faba42caf3d4f7342d7e6dfdce5c04ddf0b9ce012aecb4323825ad9b675eb5db4e78ae29e3195b9bea66996de95b706970e532290e5d56d0d5c49d77fda659325d3b66494793d5fe86a309b75d0229742fbc78a7ccd6810a1ae8d1f0622e4e3662651e20ecdd39088db1993517822f32391f7c04f21e08efe3db5788c186c2ea592acec57e0d22661bb2261b0e4ad6880c031806a907c24e10f142a01e5be68d164c027c1844d10a9d281950851523f58d41af6b1225bea855fd65c60a891e444e3e97ae7b145dddd7136697bb9c62b7133607e83f06c83b8f96335a356fa2fb53560aa4df4e693c11b68ebccc214118e5ec0be83c5da17f0f242e421b43954b630af3ae9508f712a20d97da530facc29972ac89f4ab8df8664b7c89b342a041da51c93ad4e0863704166c710b7a9c069fdece2c3840a4deb1ee72b009e9beb4fbda7a92c5d1f5bd1bcce668029006174eabf96b3a37b398c0ca6afa7a9ffde480c8f230c59b77d19e441bc933e06026f6c5af8a0ba4e9ab8a406fb03739b001b14246318165a66020fad85603938017dbe541d51692099e8c573103bbb282cb163ab031a55cdea9ff3d26ce25e90d6fd833dc478c61508e966a0e0c92016751268a38605e989ff4728635cd8122cf772686288bf2517426509f2d09171b777b43608fa83cd5b8ab26014029f80461427210276ebeee07fd00228c12379aa056cc2927ee1e8a859c83e286ec243b920a82f8cc3947755d301f1bd9c9926738c5668c77c58a6e1a1f47a761f3f403f44adb0042a1c405504e4f01274b2607fe209b0515a792008a2592838d900c9a53cd70935eb62e9e2c52ee9aecad36001231e97cc83969187e599db6b3a2ebf0c4a44754ded1f335c7ca937973209e2a5a49332477ae5b3f95391c3bef399d0c94eee2576e6bd0ba8d6b925e80272938379276656b2b59b24030c22830ee24d5f6a24a8a887b895c1571a36924b6eba3995c1751e6f6d7cc905a3f5dd995679f55fff86c23d58e067de480b7612bac19c4dbe8846f320f3693f46ccdb400e923c8d7a297276cd88d8bcfd3386a90537f689fe5894d9e0d7a3befc8213a184943cd045d24bf039ff935fe88ef2060e8cdc6cdd30ec9cf016972460222e4110b458c1b344f05074eb752baea0b393f9e0d717ef0a4d3ff96b660056f2c3fde75156e564b36dee5e0b2bfc589abb0671ff87855ed4042f3a2c2125fd55d907b88ec1e78280f823745c40dff1d43696c9b4ab3cfeec352ee876b134ff5d5b47c436a2bd109a506e14ab0d264240042c4c2c98aa0ae07820bc744c9cc8d5e0382889557c505a21e2691ac18b2642634720f5d0606aa1048a3f3eedad29f7de0ac6b1d0c42f33e9bec3155696015880078c753e54d42394e3ed722473f56d3d591331082571c608fe5413eaf4cdce18341cfb87e13aa738e46645fa694de2062ae3a201783d4d027a94d24b77f65558f9adfdfa3ca401ebf00b3f74febd4b1c57d8ebdec6ec24ea77f92b321f44c8ea3e6ab65622fe8261fc9548520de0c8957bddc2cfe0512fb7a3faf1fc71deb145e567823ccf2892aa1c387585a8d8849fae838d8145227d1abf504a2d73a84e04569eef3469215b38d5717630f3577250680a04b03ff992a27629c00abf3bbb56e2adc72a35c982d682c78fc0e77da3d324d8ca68a1c1d6d007421a133d63ced541402977f98b83d301c7e0290fd6f7d78e5fc1bcb6a7b500e5cf311ba9040d50a06994868208a9e6843cbbf5bc21cb72b950e6481f043670d4d7316653734407202896c22c105d0f7871d0741ea36324c476f25b8042804a0eaba9ab08a71d18254b871d6caf466c4757006df1ed023ba521fadb829f5fe30b4791cdb5dd65751265ea986dd0bb66b81d13f4f8d945776453d396d237d40d2ce96510c82e01324681f0ec6cca78803f8bb3ab98ba1569cb2d90839cddc41b782bf54357d376955e6a287c60ae42dc24ed320e7509043a341832900444918a19c4810432aa14b2eac9d4905692eadb15a7f1e50cbaf5d2d4d0a796f096196acd30c4060a7a1dc37ae608299cbe728b115d4dfb767627d47300555f983fae76ac9f0fdb76580d2067dbd2b0ace3bc59bc1f8c61da87981ad360b3e14413c995d6172020ccc3f3959af7e66b1deede56e27f043f22aeaeae18ba71cf0560b1ba25cf579ed38e8d1ebdbb983f8aee5fa5e9c7c6bdd4f75709cfc7070303cd4efaaae3be7844fda9ac3af7888684cdd3ebd6e94688fa08bcb8c54ad09dba8669481b4ca8ab80aef3944116a14f72882d2c735954b8afc3b6f8c2c9a73451fbb020377f790838ad06ac4f9826136016fb9dc1f1a31f487163f7f88de4397564cafc07ef7bad68c11ec68f147ba991391ae221c786e729edd5b2c947a48f2927d58f6c3e522068a823076bd8a0486155bc08adcc45ee115b83a6ab3fb375a7b5df80345457452c36e8b368d130e1d70350fc71e203c7e5ba679ffaaf5cf1b6a6f99cd55dba9e96d9aab3dd032591cf6a0f6df4589dea82a3b5a3b733a4504e597a9193d967ade89c0d3d835cd1577292f9a366671ea451628445f217cb5e458de24f9abf990f4051e8e44d61206c5499e14d6542f83cdd1b8b48111262e73ff13828ffdcf39fc26501b6785ccb288df517fd7cb88078568203f5cba0f804648cb2424d30dba3d8d3c78e98160beffef6783bfb0d9de0ca43c1b8ea59f48c6d6f55d9fb2cef31f27ab1d709c831f9c10cec6ea617358c73b075a1348a836871cbd3d96c208d0c8031bd9ae6dd8a0780e12830691c6017d2c4729c455308a1c035e824c9ddf041ee570cad8015fc8e5439f3c2af1331a8b1a6732d51db714f35cf733880e79d242cd442ff5976d1be8b20c96b7ad4301f6ac88afc0387c13da26b806748b81eabccde60f277b1aed780151e8d8d06cad88356e32b8aa0282bef9bf78f5140c9c271335965baa1157bcefc0167891af555e2a1c4bb48c530c896c62bba7adb434d6c6b94237373945563cc82df920ecf6fbd0b37f8cc026d188483db445a2a4bbbd3ec98668519647e64bf21410cb3ce73997265b5302d01ade863163791dee6fab43419d8dd882a59401080455d27c9d434e344b0c9f572e978dda2cc3ada7cd24ec6c071fb67f63c1650866ae022d33ebcf2116688d3861e866cfd366948aaf4ea927e41dac49a2d025b52db84594788ed3dbf03ecf3d5b83830958002d52093771bad28addddd6cc29813827136b03ac9a713943b7357d9302dcd6aaae67e5165355301114457494bdcd334209c91eeb25fb7adc131f880011484b6c55a53563a640ef04188a8d806192a0f725aa1aeedc4892a85026d9cd9bd50c83a0964503940a62215861511da691177937f9e199f61bac0bca2ebeb5836e267453864efaded37c8a732cc345b17dd818b0bcdad1313ec7f0ba6b881287e9c2ec97a4291fa9c913e3afbe5488344395f4256cbe10d23026ac1cfae180783236350ab29587637a2ad8ffb372f3d891d8d731a887e59e970b3d95e841ea9c98f4f14d36c1fc9059c397dcb5d03de33bfdc83aff108f73319f2b288c299b511bcf67691e1ef5b1a4c80717663084bfe09384f33d1bf8e48a4df128dc32eee29ec01d847dfbc8a8f6cf176c4a29ec9552b217991224fa5d8f17c39bb89d6df8486298137aa113d56b3ff9a1fac8d5eb770d5c5e1d7e8e209fdac318ea9be40d94081e5790080fb51557340ead04191da238e55e687bce305e17156a62b7a677010f6aead6d1515da5cc46b1aaaa05c0e9bd712b6cab12a11924763ba1158da2ed153ec03932528d9070251b909f92554adca192d05c597cfaa081f75d7164b9e15c6b331f04d3dfcb737f0c1807f25373e2da92ef92105d78b029811c1dc4daf43231b8e163d7a06f1c7ba579b0357a2b588137cb65c99351be48c4e766510b91985454e72d826710d8f5821922853fd9b3181576684d1497768b78659fa4a692c84ea6212fb3c15842f33c4b7d9f93fc6a7ed11a5c484e349c5c88de9d86d1bc097e33df383ec53cfa65792f817131003c7ad3abea1d3305545f8f8220110ccdc56244f9e9c770ec32097e97cb0ec67019e5527e3808a606bb56f7f586f3339ea6a0cd4327492d5901b0a835e77ca1493e5f4528b47e802a355d923892a18ee8a10aff983f10b01cecdee19cc22eebf556cd03d8679d299f6d9e31352f9b1ec6fc15d434941fed25f306bdc4f8ac748403eae9de838e60ffb6747049c4912dd12c67ccf6c51c124f08db2ac0eb0512229821ab74264f41f4c28efe4a7b8e6bb1eb07e8442adf6c3dcccf1d59db254d1df118a4f310d118d8ed9a493e6efbd3e6ed9f6d3a33757c75b379f7545828fc0e5173f7dacb4268eb91dfd49b5e4e81f59bd9137c62d9f8efe67ada4c801faf284f1bfad9c09ccdd8de7d87719c6c70b399fdba73e4206dae270abe08ebcc2290c1aa7ff666c6c95feb515c73d915ea819f0b874459f39d5003d88e85436164a5c5d11fd1c720c38fba0787e2800f5453e09a6f865c3d58299be35ee886306adbd29bbf4feaaaf06bb08d642c24bc7322be79a51034c3e1231f50665b45b39ca0ec7c6fb045f9e51b148514f817833b09cb051ab012f7af8293594b659d8bcd3517dd56cd3eb6d927bd14ec134f59d45af1a35c2cc37ca7b3d040adec796e8b350417b22492687398a4c4033b51fc23de5ef1ab8bdc0905bc2e6e5679d75236bd67660b6d039d3d4a05ba95e2a9fa28a0634afee87e15bb3642da27275390608f09519d835c5559ab65bc1587a728d6f98560407546924296e9dacfdf483940c650914cd03a70b81f3f32458e5bbfc14c9bde3d7f68245eb596cd80f58a3206a5f6f2733990bb2083fe8e98294c0368e130317a43900f8188082390c079dca3dea62705f3298a5c515a802085ff1e597272e9f7d2db48b61c8b65af99f1920c939429dfb64db3e12153daad4c78b6492e47f1e3d2cc190e2f810dd11d018b3341e87d6cfaa7ba0b3dde7f3bbe6f6a2992eb27f8135f3ba528b12b2ebe8ae035f51e887cb7993768f7691c253cd3d8d2a281cb69941e05fd1a9046c9268e4224d44cdf4e80fbdc79e5182179dc9d3ab53c34c97d0dfa49dea54483cc878f105bb822ccfab15cf98b0926e439105d98a8366f9b04ce207dc26f20bd5e1320333d66d4dcceae8f92eb216746ea68c3281f48a48347a8db8489905cb05102f56990d680948122d5896d89cb51205d03e99c46f0659f1fa42320b18934014875ebc2cc2ba343820e492e3a99345f3f908c8684cd92406b5a545c7c201d01894da44322a117245e0955b343c7a43a89b47e798090002312eff5044d4d9078892ba0d4558fbda85bb2f3c3ceadfe276b099de839e7df7eed846a2838c9639c277b076dfcbc845dfb6243b9560184713f515d821c77ae765d95841676025a08105bdca2dbca214d558a172a80ea85cebb32d030be3b80b65f2d4851824e680f0a59a8506ee6c488ea0a3f0bed76c7b44029f0119b7c440ae0e0656b8dbb9a815c6d63e0c9ec5832c58e8efe34c72dd3ddc086fb727169590f75c2ce8208db5613d2f8dc6da63dd74ab1380d2c12d086429d918a82220de4c7959ccd4d886bb508ef510e94150842295ac85b7a6ad55a687a1a3c9aa0a13aef02298f5117deed830336095c29b59eb434d44ecee702dd5528fed8c2947ba8ea9b5dd5e27117b9021e50ffefc4e69b9eaee9146a9732c13d04bdea09e5859b841f06761e0c3e4a67efa014d24d79a1bf003b9c4ace408a6d29e3961b4a0e1902398fe5986c0770c6aae267affe7390358d6334280263ea2bddae48c11bf948bf96e079c5fde9e2d0dcba1dad3cab23b74fc6b5b2b5c8d0f464f015a8e6a84f0ddc75babefe5324bd40809ec00ac221ca719438bc65befcf3f23790265244c2fa90485eb4714f608d7448bd4e543d38a15823f465937937a248605f37b07fc31691fe49b293ef1cb7c1dcac7cef9e9623e278d8d311b365f89168fac477e17bae74357cce201a135d20ef97db1354afd35e2535f57fb0ae0be65ecb8581e40f6c296ab5e9fbb73d12b18732a1c3a2e2eb55ff849311f376b6a0afb3a79780d791a0207d5e6220b335405b28ce874acd185779bcd0e2b741d113c7190caf061cfbaab86711795d8cee1cbc5b08bb20b4f292072273fb04c3c824f354a49330a2e98cd584852821d14b77e445f8b1ff5028f0a2fea07cd66b75fdd65e95aacd7b2cc0e1136ee28f51f24b5e419d6e656dc6e7be710de7b89fdad9546da67c96c421afc793b96863c340f64330d9ae9cedb1293f6e3e8a5261a6dff92989b0736b0cf0d445a2b74f7f894fa09acc94824d17c380748611bfbbd85abdf583c94858700a0e606b6d5b38e89df2c60e7699ea485c075fa64d7ce769e6de96a223f8dfc3839e3e48f18ee8e0443d743aa7c9cdffec4523cd4359ceb9a625a99a2ddc0bd2f0706a20f2daa8d98aa56ef692257345a8add217b2d2108c5ec9beb05daa4a5a05e47e2317a0e155f165c423ad8950d0a62cfe87a8824fbad8e14ed4273c84e4c5b0017fb982b7cfc435155882ba5f265ccf9f8891d3d9c514a2acd06c33d1a0c055674ec9ad13ca4c38a349307b4fe34c30823adce9108aaaa5eebea22eb0214d7fb1a5134e9cd0c04ed9e0d8092ed1f436b15002114ba0b2e59a2ce40b18fb4bc604ced98b7e9f9a302cf52d8e7027e9c0e2cb49a7b8c6e69b8cafd771ea093adcc4a4a830da7a5ea8d8e61a315e78790a617b2ac011cea3456641208f42db97edca5f1e239f7e1efb2297d3c82d0cda7980bf4454b64db6b3d8b1034844f99deff1f5a58e1e9b85560403c3ee7144a8675abe2bf2792fcf590b6a6a5dc5184e8b2378e941a89206eb8bf94a78235505049cfb768a669ac666bceebfe9ad9e5caf380e306d26200013b3b40f36f70c5f4d4c896c63dc121d419312fd6b1182cf7608827d4f4e10e0b8df0bacff6b9497bfe408ce82641813be4d1e35e1fbf440bc857f345d9bd1bcc5ec7f08613ffb9cc70485f5012b72f6f9d7b23c88ec72ef17c7de8668d9c855c7962616130193c586a2d9bb4b50efb4c29a54e44eb8ea7be414de04dc36a44ad41b6bb334bc91a9f33c0084b3ec4822bfe046523ea65a893b808faadc7203c1393e3c4926a0a4b81784617bfdd19fdb75aea61e7e67abe383b3f93f3417d213c0a430bad1a4161ba38425a19e0415fe984d9404df1027dd2f5412dfeb3515172040a9b923d349e2a28340cfb74e8ea413dfba08665f03a673f86dc8b591bc92a1dc08b955462f7621ccbf8a2edbc6f00a8bbbe0ac2e2087581d44a9c64416b45d17d67c27367707abddeeb7b14e2ea81b2826a509cf90a40954cf440fb1134d9e3a660562d0bab8a11b100ae15ad36c68ee0815893d7fd4a667f57dbb41c05ba4aaff88ab1f2d50e84bebb465973c81496589d4593ebb855117af543d4d743c129f9f3bebccf8ad5f9d2fcbd579832e24f4269f3a9e4f2f582c24d4633e2e3d2e97c7bd27e6dfeb376e9237ecf6ad6b9cebbdb3520a18ac0ffe9c9cb6d118e47a37fbaa069ed3516d698dbd56fa6503399b93a6be85cc76e66f236952c1783252078ba91311db60a4067056ca3c7c800540588325e3116b24ac418d68a52b9492610ebcabca51777b0b1866fbc3fff52aa77b8cd7d6d81dbb124b985c583846e062f292e74e48db01f448027a9a1f933d70f2643903333333333399479b19b3333367bc8d6ddaa3916f102d534a04ff1065668dc8bd491e0b4d32c994522a1d26343e98d0b898d0b898085000414b0916095d09c512dac3ea738e4631c307e6fc179f5bbd6cb3a333b4309b18b5b227560566f4c0ecb197e34c8767e8540366f0c094fdcea498d0c9bbf435d64a0666ecc030294c9020845f078b8360860ecc95dd2b99523b1dfac462460eccc975e57e94ae1cda9c810373b638d142fa39fb10afb17677c58c1bf00c1b98bd73051362fe1a982ba990e487526960f2a83da7ec847f52cc98814188701fe24bf2287bcf9081e1abebc7b2d5c08c1898dd43bcc8ed2718982c882d0d0ba617182cfd975ecd6e5b955c6008f1c2dcb9c8b1687f0bcc9776464212d2fb47cf0253f0946ba465878589afc010cb64279f29bffcb70a4c25cc2ae9ac53600e49f4ef7adcec0e360a0c1f23c8a5b951a3d427309fa931394feb9fad6302738823d23a89157929a404e65c32333fc58e6d5fce208141ad9950a56b8e2a6c60f16bfe01e8a2a313266b995c13f6435cba9c30a5fb85fa936f92be02838e4d18524aeadb52d0b92ca568c230296c7225f74f8b8e4c18b4eb5b39aa380a8822071d983055f4a06afa27850f6a006cd17109c308b92a9dab4d4fc8fc860e4b18a4f97c27e99f6b2ea51226f531afc97957d5f7367450c29cf37d0a61a4ca868e4998436de55beeb7d65745154c4ed02109a3c4b9588d3532858d1a55e0e88884392991c72646fc0ff663263a20b11d8f3025f963a36b5d3c0154a2c31126939a5fa9455f07b11142082144555555553533333333131111110fcdcccccc06a0828e4698d2a960a61e652bb457636da5f0032c233a1861eaacaf3a11b54fed74c386c280e28942742cc2dca7b3cb56b9bbf98d38e0541c1c8854f1810e45588c2a3a126190959c3a8ef8ca233a10615a09e2bd94a6a7b6538db51b38ca6040f1c4124d3c2bc26589269e957259a28967955c9668e27159a28967020044c721cc3baa42755d305d9fed30843965a4bd65b712a2a64298e3250b77727264313d210cae91dbf249593ff90761da9ea42aa679090d5f10262525da7bd09ecb723c10e69cf5e32fbbc4d7dd8030e99db00aa95c5b74fa0fe691710f33b1764f7efc60aab0d6bd324f1f4c77e24fa5f5909be4e183217a97b2d4db494296f760f889e2a79dd4847aac078355c7b3147eb4e8741ecc71fe5e540c7dd72ac18361dc72be924ecf792377309e458f14fa5410956407e386bd85d3e717976b1df89ce2fa79add2c11c2ee257f424252dcfc1903582149d43500e06fdd1d31c2f0e06ff592b1325838341ffaacd52adeff56f3089fd94cb72ec0683c757398957d558c3ab420a1b39acd036183b29f34b2fc21f74b0c120a7bf13e37250700f3ad66014a9a56211f63e578a1a4cda3f5fa7f4a838b2a7c1a422ac09a5e65f9525683075484b62295bbea0a633985b7543b2dfc8f6eecd600e25c626f5d6a50ce6ac97ae822cf9129d153218ad2c8a8430226b7c780cc699db8ca44b9298a5c4609c97745b122ddfc851188c1e6e2bf533eecf4f6030e629f521562ebf60d04a3d22a643323f9d1a6b38dc0ac3e1565471800e2f18d4bdf68574225d30897afc5f88125931e58249284f2ab65ccc071d5b30cee7e71d355f3a7aab05e3aea98d8ba1a34efb59309a9e110b263dc1747ad41cf9a77305838a1172eca8b3c30a269547770e22e276bcfc45da4b5f4410e1dfe2c72145151d553089f8ea7e05152a6c871766fdf04eab11ef748f5330c95750177b2ce64187144c61d6f4e355ae24f484cca0230aa6d6935c72f2b976b84421838e2ecc9d3a09491e52c6c447810e2898f25aae2869c44265ca800e2e0c56a622742c59d9e3a40247c27b8229c94e62a4ea5170073a9c601ecfcf1a9d43e7c9b6c61a6ea0a309860841ff7c52a38309e44fb793ddb326e8d8c2b417d49b52c1745824d558bf51fcc6dea36367e85882c155bd62b5d57b96e40d1cc472400180457428c1bcdb31c364d822e84882e14287972fab39b993332c3a9060ac535a4b9df00886747e152da9ba247457860e23ec6b9e444530cb55ff6bc75adada8940f893701a82f192be132259feb5e891a1430879bbf74fc8958d828ab41b1d41e80082f1c4fec473d1a22c4c51e0f03a1d3f30de498b0b4b6fdd2da9b15697840e1f986fce3e0751f21a6b363ab4307ae7ead519050e37ab431d3d30eae96ecb941cf3a9977159a28967550270850e1e98f3ce5653cb428a1b383a7660d4134ff55dc21d43870e0c57132f591ce915afcb8151c692bcc991934328e1c0f87196c4ddd47bf4b7a2e30646bdac12c2cefa57d8c87132f00c8811a38a1831aa203630557a25e561ba9e47df510383d54bca2579a781219abeb2d4296d4f68350c1d3320eab6cf6527493e0b3a64605075f5a3d28c7616fd061d31488be72cdaa7e3452e0a1d3078efde92c9fc05666fb77866e4fc718125b4b3754f5aa084b1df4ab380b58e39592a074b175d4173c9ad658b429dd0a102d39bbebb99b8fe94a11418d62b7cbaa8d7de9aa3c068a983eab8890ad194273088747eb399a12a0915183a4c60983bcf499fb23d0ba30d3a4a6052722eaf6808115d4c1d24309ddcbb9f1c5625f89bc38a4e187c363ee275e5a895c40973961049c5871dbf20631358d4d041777f122a323461524a5449ecf0cac884e194b0b892bf60c2543641854fd989e28020e3124e8a769142fe1caf2f8401c513fae8980e6458c264e65b21fee54941e44a5c127323a4973c254ca91e54f278d024ce8cec1a6e164d2d88a757c89084b12a4fe5741db62ec88884b1e26ddd070f2a4f2841c26451840aa5a21f4a5e2ec878845142129f23cc1fab3b787cbf11e6f3d03393c28988134d218311e68bdcb1b3a1f972b2828c45982bab8ccd25add1b6b15cc85084f92248190f22949108831c212904c8408469f4885c4b4a2a43fd4398bc75c7fcb484d0db1ac26c72177292f6d37d32b771c539c3c3808c42987a2dc5c7a55363b16591c306186410c29c25e71d215462438a33813a2cc81884c93c46fe3611ab741a8e2b68204310a6ad93697aeaa3ea7b0261aaec511f7b73efd24d00614e76a7f6be9d7db2caf883d14d789f52f9f65f53861fcc514290cb4b5b13bd9d3e983b9d4a21246889f6a9b041061f0c7244af6456ad4de2c40c32f6602c4d9bafa41831eef4604e1db31ee563c558982f0a32f2601072d72f58aa4e1d240f810c830c3c18627710a592d0ebc91204c0f08071000f184fc0f0305ac8b8832954929919a31775cf0a742c0086078c1cbf81b601850f64d8c12caae33d94765233923a98245b580f639e2dc8a0836954648bf9148ae2fbc6b9c24f5967e11123c64bd159c040c61c4ca7a22f197228ba29657ae23e35d602fff50883251d549b88305926e208d376b4b6fd4a6a8439c7e3939acc3c6054036078c02806c0f080510b80e101a31400c30346250086078c42000c0f187500181e30ca00301ca0001867f06084b9d2e714122bc86311c6cf977c2d5b79946d1e8a3047d5f5d848396b45d8231126136f4ac526fb95f6e8161e883007352b266b5eed834e93e07108a3ef494bb919af3b514398ad3fa80e1b59d1f55308531a6dde922ce84108e37a8a2d29b4f6d9e907418cf8ad72eb0ac294d209b152a906c220be67593988b473414098fe6cafb4ec7425b92ee0f107f3cc7a4822be1f0cd79aa11d54bef0e883e97a25e9dd56505e713e183dce08bd15720e4186f6600a174b56bfd6bf73a20793faa0e39fa279e19107d3e685686dd24ba7dac8040f3c98cdf47ef41223e27a1e06140ab883f1d299ab69591c8bdadac110f4059d8f9cbf2cdb342c3cea600a19176ac22b8fce3fa7f81c115082071d4ca62797f969122f68a1f0988339ca883525923a93fc55f139704c2003376c44619f03c715a9060f399873ae9a1c63a94e293d0e462d75513dcc5bb4d2c2030e26db101dde64bf87774bf0788321452d51a56cb773986e30fe9f9c0e0f4298c7b00d0679153b36984b843f1d6497be5d2b028e048f3518533ce959086df33b710f35984ece6682145122a8bcc1230dc9f9c976f1ee800185028879a0c178156629cc8bf28b95dfa0820a1c8d371a208106c0f080a169f0388329c76c0b52e44c24159ac15849bfc7d7c9da59b432182caa08ab0eb5988bc9600abae4c547713fddea184c9342bcd0a9753118c4ece7ec4adb514f18cca284cea27a0283613cad56ed4f0a7992be60b40e3afc3ee55e30e7e86d417fac5d305e4e15f9627e5c305c558ee9f739c7630b06ed27ea593356727f2d182c3cc96fc44b16cced23353e940a16ccfe9626283b0f3a29a52b18f496bed7398d54396e05732af57ec2f354ee4e9f113cbe308914672e74d0dd103caa60ecfaac0db9fb0ff2a782b982c5387d95e485417cb7a5499545a435a76048a64b5e4cbb0b2a948239de879452507d144cd2e3ee93beb80b439061761f2409a193050ac61c31f1fe267a52945c98aac4928e9da2cf9727081e4f307c5d1ee912c647deea8187134ca5d61672579cad9e9a60303dd2435266e6c08309a6bdd3296d2f88038f2d4c2a222cc4f84b90192dc1b0794245931d5f9b92227828c1a05dcb84faf4b2e0a52418d44f75549ea0cbb54742f2123d423e891ec1fc962aa5dee66104e39dc8bf3e625923877814c1a44a5cd2298b2abd90077810c1b8e7d775e2ae32cf0cdc38353a0af5188241d5e41cafd2b827f0108261949d5062bfae4710ccb93b8ef28eeb414bcaec0104736caff05d31d3e4ca250a1e3f3067ec08a5dc36f4a730a078220b29a698a2830b0f1f18d543b7af234a1c33468c1831aac8c00d1b35724441c54f511e5a18f3d2e5fdea7ce93067808a8e1a396c50802de0d103537a12a3454e4ecbdf1e3c30a911c9524cdd5c08f0d88139cde58e966be208a5a40343585136d97454703be5c09445a565c533e1c0ac37415c6abf0c1dbe81e9a2e584a8672e22c406a68f1ed4f5f53530cacf4588f7a181498ec9bd6bb77c3bcf204b27e2c6774506e60f8fecd5318f81e1e32911ee2c8781d9a46f5ffd0789e10b1eed3fc2f3875c6090f21de2a9500b4cef6aa6611bb1448505263bbbaaa0a485ac75052691e4461c5dd5fe9d0a127d4146a2c93a0526955dfb53684e9e340a0c6a3149e7c4eb86c7094c924be820e2823c4c60f4e85779a7b3db599047094c267faf72baf0232ff2208139fd0475795154ba0d75c29cb244bcff8986793861126164be56de84395cbcb9c790f2c1d584f944ce1019e14a8464264ceade44b6be2a5925264c41ac05bfefce258c9b65556225a49fd8b184314ba65d5ff854c2e0d1bc2ae732524e53c224513e7c88531e739e843925b88c552415ac22098345be14d263fff8c69130f77edf975b0c0943348d51a67cd46dff08c36dc98b31d96172d13dcc7084313ca794146a8439a8954bff30c2745a46d6ff48fc8c1761ec1f4bf9bddf198a30d5a8b424c2eca7aadebf2b8830eb86ea77ef94d2c50f6150c12c4be40b5b41c810c68d1f215be7ce772e8429c756794d59917d09619ceb1c84941ce9433a0863c975be48b0d0e15c4198b367f4c23e1b08b36f9c50594df7b2091066ad8efb536af207737a1e652f71e47b4cfc6094c9f9e5553f1f2ea40f064b6677a9b2cf07a3e88b2b5da57eb5913d18fdf27b7d3a09a34e7a30a49e5fb1361db496f260d2b790f4884aba77e2c1fca22f749e790753aebca9b59f7dfa533b186c54bc171dce3a1894389fb51d930e2659faf63d557c50f239987db7f67294510e266195ff96ce2fc78b7130a730a22c4952928214e160b6f0bbf568e21bcc66e9b22affcf87921b4cff1d3a7b8ad4cabe0de6f5ada02525e1152d6c305c9d0e7142bb06e3a98b892aa9c1f029e9206b74d4e75c1acc2947f26e5daba0830693eca8aa63713b12bb339852bc1c54de6506d389a88ff7202b83295e37dbfa82643047327563d1eead52c6602ef12822c88e1b4b8ad33814b096c56f80a538396e3c076ee0a0c2c61537de0033c46078ffedd7b9701e6684c1d4639ffd23041d3144050f33c0601a9929a97e269bd016bcc38c2f9853ed3a2fe5ce7db5e81538c30ba688a75264f38bd86146170cea3e44b0afba52b571c154397f4910f947a4c63887195b3099d7898798eeae3769c174d14d85e7f618b9c523871959307885ff38aa17cec0822186e98e97fa154c5626df2e8cc596d0ad603e1372b923ca65edf08be57bd3b4e949aa82714f46eb46e54e0a3f158c73e2635b58d8968a17065da384b69bfc4bd5f1144cafa72f57d0262998268508496fe747f6288982214c1a9d7e445ac80f76613621b676a9522e954b28989350f510d36a4378cc8551edb4753f4f1ae9f5138c5526d92e57fcb7a013cc2e41448d93134e2c9cd10453a684bf5116c5d6b21a6b9a45fa1fc10c267822e4ba227d7a0d0fab98b185c93d2fedf5a5da757709c6ca596d447e0a3a67aa0463b8b94bee006146124c2365eb3e6565469f906090759d11aee17e4a473067fb96f8fdae110c27f5472893538b19453055aef6931febb56113c178324c4815b36c0d660cc1986a3b32475eeaa0f23498210483e8b4114a8befad6d413057086b77291e4daa26841940309a5ebad35aeb07337e607a4f985665238a1b5650916600e307638711efb32ee2e582be60fa60d0111f3d3969910f8694d6a3c6f208752fe11e0ca62575f690e4eda4de703c91c527e0a5400f01d443414e941c2179caef8980c9837977af4b083739ba2a3270c65b183c9892684fb9efad3c777907f3ddb885115a31f3223b98da573bdff207f96f0960ea60c8415b74d5ff94e26507383a98365e824816af17660e26a5de42b0dc79c5479e82bb307230e8bb95fbf4d41221c78c60e260ba10e4ea6ae6ae7767e060de60881e2556ee181937e8934af54cca1d44a7db7076d94bd79a16d798e2d84d71165036c5e1006261d880bea4ea1d6b741ceb8108dc68c00dcc1a8a518303cea4c19c75579354103e59f436306830c5f11041885826f56422306730846b132b554972a5b5c6dafa8d8f40db980207146f45076cdc90408d1c362890c30a1c54d4c098c1a41fc6835cfb6530e4a87e225fcc11429b6430ea87d1eb121983793dbfedce69cdd62906a3d707d3a3f43098e28ba4a83de244c70706934e4a29fb936cfd98992f983ce2df5deff88d9fbc60ba9822e71b265b52de05a3ba6969b7d1e182393bb9e914de6742856cc168961de41c182d98535eb814e2a51a25dbfe2ba2c861032d0d4c164c66d9c28bd041a81c74139082c18221ded89bb6a454a3441b681c0a28730583ccb42b6dd11a2bd41ee2a98fbf305ebad5d44b132648f8e43855c872fbfbd26996b4b238523c0488a182b15416211b9fb42f683162dc168c1755b64a71a1e1e6ed6121e46b09af1da3ad265330fa7e52a2e623eda40915efe76b1027182998ade4764a0fa3898271b22457d18c6360ba30453a9d73ac26de5992eac040c11082ff5f126ba283e87061486b239747a5f49def09e634dfec3421a2828a39c168ca5e7ff4f40915f7261826b55ef0a433ad7f269826a89482501adac2bca5bb55d9944b308dea09767541c67594f08d87b54ae1249847cf9ecefbd359afbb1518249835c2f6cec8244fda7404a377085dd7385595dd0806d72d7991d44530e4285ff94f7f88606a4faa97f72d99753a0483ca796f937611ac6721186423dd5ffc2508e6b349aa7c740408063bf9b7a36424957dfec024e4cd2daef48179bf849ec58a1272d7c29c76278968397494dd03438a15ebba838c07a53cb2532a303b3088aef7fbb8af8aab628b0e4607a69c2cbb9f964bfb50ca812159885352b3fcc2e0c060fbd6aa75da39c8b2606e603697bbcfa7928f10f699c1d8c06851729dda082221a9eb0aa606a61fdd935ac45d054303c3f6ee87c8a21e929f33309b0871248952b1826625cdc8c05c37b194e788e4c8220606d913b3b397ffc4577166c488010343f0d7d710d5b2302f308af2539684b8644ab88685f9807181e12b25d3ab7a7195bd0506d3ef11f20911ccf2c50273f55e7cb413cbc0acc0902e85eed2131518d3eb542f98cefa9e121898149884a98a885969ac825060f41b652a9b45d89cc09ca17c2e5818edca7113983ce838ffa2d76f298885298169727a5bc8ea255624860486105eaf7b2bc8ead24fe0a31316433f3861d0ea972354999e0cdd023e36610c4f9f9163e288d6ce87263813f98109b3e514f3bb5ec971e3f49940b984697546bd5679fb8d240a2a7024fab084c192a77c9eb2a912c6f3a054b0140f4b56d91d25ce1e67af3a922671ae525329ccb268cd2591ea7cb93d8ac4dfb71182b88a1a82047ed9ee3b244f1b4a7c441124a8c552ca5377033f1c91fadfd3d9bccb7d34c21caa44cef932a7b57b8dcd81c54f11815a46e022f64311fb9188fd40c47e1c623f0cb11f85d80f42ecc720f64310fb1188fd00c47efc613ffcb01f7dd80f3eecc71ef6430ffb9187fdc0c37edc613fecb01f75d80f3aecc71cf6430e86a0f3aea994aa9ec4e22c800a1b539c2838d0587cc4613fe0b01f6fd80f37ec471bf6830df9b186fd50c37ea461df2f395a95d9123418cc54ca417dc5a5cbc719c88719d43fca601a519174fee8f029880c261191465cecb0af568fc1e05f217a9493f3961e3198ae53eccfdf314b9ac2605c0bf3ae30399e240c06e355ce556b298fc4cb7ec19c93cff7cee58f4ff282512b2fec7bcb5c2fe4a30ba60f17de299a5239aaf9c1055376b2cd5eebd91beb9ef8d88251c7b357bf3c820a622d98b7f354ea90745fecfac882d182b42012767b24bc35d63eb0600e933dd339a7f016261f573078f0cf295f7c58c1a8277954f54c8af9d2143ebe304beed46aea776182b5c547150ca333bb4658ba081f54305752c1b7c2e7206f7f171f5e186fbb7c244d7a0a463d13e93794fe8c48162005838aa153542b47f8888271ae45f44ca7ab5c9f5d1826c5f50adab22ca8c8514ef0010593105bbfe322c55ce363c10717a6abf52c4a0591a4c34db2f0f10443ca136122d24791cf122b7c38c1a065375209656a8239fb2fea09597f30c1602384758e171e2ade8f2d0cf1525bfaff740986d3517fed2c19a3529460140b512409350986d15136945c655f7c20c1a04d6fdf7d32a5dddf114cfe63f735e145768e7e18c1745b42953e253bc5fe3df2091f4530bbe9ce61459a5b4ef11a1f44307cce29e488e8a6ba3c1f43308a1c9322f9666d54de021f4230f8c9914bd9724d773f482e836074afb91cd35984b29c2f7c00c1609d4b4444347f60b6efb74e313c2e7cf8c01c247c47ab0fc1f0d0c2d8e72644faf8557103878d8f1831d48b8f1ee0070ff46307f8a103fdc881c9c36e7705d13d36221c98e743b5a5891479474d848f1b1846076da6edbc217cd8c0d85d93935aa78c9bb506c6b1bb0e76f5c1f52d050a1f3430558e37d55322a8bf4b71c2c70ccc31f6df2c74b44f422903734c8c335522e5596a6360ca1fb9fd14958b0f1818fb648dd0a1938bfa9c1798e6fce6afeeb35408bbc0b4ee9a9f2b35ddd302c3e8844bd56242c9ae9af0c102433cfd7891b7d3a86718f8588121a5f19160a79f63a428f0a102f3fb89f2bed353f157e0880287dba5e02305c61263917c653bf4b3670a1c7e16820f1498238e8edff1e7a285aac65a6262878f13183b55ce96a1725be7933c7c98c02c96eed752aa14552935d6a6f8f74015f656bc151db8612e0074f8288171ff45a990c2fd4102e3b996dc8fb050bd6a279223cb2afff5c7e8c6066e58b19c30df9da9ec9145da881f6f051e9b30caea99da355551aab4283c3461f6ff6041872492098334f393e57a17c00313a6f1f55e3ba1aa2f522e6176bd4f7a3cf59cd2d612864b9d1c7499cea312269562658d4e411e94305ed454bd10258f49d4bf65a792599c097b48c27c2326a47892fc4d793c811831f88a18318c37e11109b327bde2d9e3546d6548182cde7202703049512a5d4c8dde70ca325a468c520f7203fa59e2395c8bda502a51f62af71f36244744ea927866afc1f2cb17733594da725ea9741543270dd75e2a5df14e3c6838a9a9bd6da979e70ced05ed88555ddd3103b62354ac8950da298341ccfe72ca71ff441219da5227c2dc6495c6b08978c24ccf4f88e1948781d9cd113b1fc995663098d4e7787124fc85c454efc265d595bda0e4cbdedcf215b90ba79047967a5d95c4980beb4cf6ac0f3bd1780be7641f29259527b4a0bfaca53bf93ea62c185f44eeb595b1f08bd2a63c98d296d5646dc7517a2d5640aa88bfc8e2af63c4ac0e2f4b15f08e3092d35d8ee9532179bad43fe9adbda8663c67959f98022947ebad7e64bd2b0527ba9dadf804ed46a1b0979dfe33ee6e178960af5e42c10d8f19cbb2a13a2efe4e79d952161fb3271822ceb54ec84f5c5fa5379126105326b977ab5aef840945bb0ea2ba4b88c816e8f97f09e7947385ed9b5889128e3ab26b66332ee849c8ce94563fa156a28384e7ba8290fe972a7a045e84786cdf7d28578dd0a5d29ad821878816e1bd30ab3055914aa244a8623da6298fb8ea102af593fd21ad6451aa10185dea7308cb13e569100ebbf1942288fbac1408c85e984f5fa2a67ce20777fdc439a1f3a9f6f3091fbc956345995a60795264b43c7cd90362c8b2ea9107d668853311472c669c69b1b911ea0091efb5f7930377f4759a8609190786a77d27ed06a9ac592a4d27bd6883274c3ebf1c74b5b65883ef3b056179b393f8040d0ea92dc6c6081d96c22766907b8a2e312ff747d33d2103ef9390f5a53bcc98ee8918202f484fd796b37760508ae42344449ef00b48fd16d5bb7b2e2e38ed54b9888dae5c5a80d4adeee0fb398405a853f146fa55784b57b0acad65c4caed7faa207923774fc1a6dd3b149053d89b2a612a8cec4e407cd1f1297d59e9091318c2e9355b111539ea4f94a0902bc2d4d4b6088b2748b0c5a938724a9ce5b8130665ca82985a2c0a1a9cd082e7cfa79a20a7b44d584af64b95a689f28797e5877b8596894c0435425f7ae50c136b6fe409b24ba4e356191ed4ea96389d896cea2dd9e9bc127c6777cba104aa76ee2146e799ec240a36d1554938f667a3ef61fe55244aadb2ca79e74707098398724f5927274545780a341ee108dfadbcfd9091230cc1e397a558cfbc5b1ae1b6c94a0b23cc418c4a2a19173416f127e96e9243d0112155842944bbfd9f75fe8c7c22b4f2702de7294498e446de8659ce21121ff6de22d4f68630658b5c55499485402f6485ec34214ca64ab3de22a9714bd558b397021d2a3ec701b80a3406612e8b92e3928853eb9320cc7f7b9fc374ebcae703611015b6999622208c17b4aba7a6799b25fdc158a16c4b9650ed747a3f98c38f89947a726784de079376d327f972afaa527c30e40c15be94f0f760d2fab125655f3ab9911e4c9626f2a8914fff9c3c9835db228ff80e1ecc9224ee75c5e70e0697f039cf8de5ca49b68339c96a1b7527a6f52c4ba051079348a1828c9aad301d94041a74307ff464b9a7a53998532709fe9264a7458f1c8c914a428ad3350ea6cbd75d6ad92db58a48a00107b4896f30c42ed566e79f4e3cfd1c360a1568b80129ae27325c2529256c83c9647ef887cad9602c9db3c8a59fa97e7b0d06916d474f8a4ba3c75543da76b3de49031f3b3e5cd40b73d160883ddb7972fccfa04711225bfcf85e313203bb5765e6bb97c190e39952b9b442d244c960f0fc389fed4b8fb777c30a1c335c0a1b353c62c4a03106930879d9d73e7ece6f7a41430c064f713f7d4cf69c141406a3ffa790524a097a92070ca6bbee74d1c28a5dd0f8822176b4a467caf682f12f276dd9c173a64fba6052fb7841476e8c58c805f3f78490a2848f9a123b28d0d88249dd7d627cc4d3e5bd160cfa9f5a3642d4cfb19205837a8a3ea5262e95160b46512b92446cdb5f8c5cc1a074d4fe55a9e4314a531c0e200e685861d18b115f8434be30c50bda83103f96741aab60cc8b2d3d3f3a96ce770980e101c31200030a05c078020d2ae4f9c3ca7d0779d9495e94af724aaa437b4a9a422752cf48b52c52d62405bd4282d4d2f92854b24ced2b74565fef823c3eae9675289082aab0fa2177087d7351058d27f4a9736259a3760242a5e46d1dfd6ad4042ba8e5d8502a7f9a99c05dda5612a12f97f66c711a6d9d246709dc051d6bfdffeca2845a554cea491c5f9360b0da91f7296ff9c833070d24ec1ee6c124e5cd8fd09c9424414523f86d4a05ad5d11149d54fd579238aa2a37c559c007b1b218d02042674a47dbac8aab700876a99c322b1a4278c2e454f9c77c7c0f8229c7c2f9cc9c8060906d9ed443149db2f71f18aeccc3fcf5a5340df9e0543a878c939352d6c2a012c2785fa707bf87a072fc2a11f3c05c257cdea409df14f10ef872372922878f213b0d1d149aa69472d15e0a1a3930efac04d55b4a3830e8dcbc144de406868fa4bb7ac2463b996c60acbbcbd21db95b82a906266d9e8449f30b22a76960faddb97eadff187b06c6f91e0bba4b2f0393d612937cedc3e2fd18d8f9f2665f501f06869cb1e662725dfae42f30fecf0491d2c733e9bb0bcc19e9aa258d8899eb2d30046dad9ea1b44e503a0bcc1e728b92d37171d15760ca7e2517ffc13ed2ad02a3e95e539bff4bfea720133a8c041d6b14985254f850215b18ff0486ff9d14ab6142c490090c73fa7f4c2919e6d912186376a245c8eb13a2344860f4fdaf909fa34e182cfd54ee64566aa2c30993d0fe2ad2ed426de76cc25c117e4ec567cf8234614895b7cbe22aa46d33619e18416b44860983127521c923cdfec597e8fb747dea4b2d614e96251f1b964a705f42c58770a2844159960aedb224cada49982ccdea69992d8f1f4918d275c8fb1f120993a7a48227251248982a654b12d9f911c69733ff314fdf79ab234c71c4ab93d5a71126a5254b9977501e456584e92d758ea16c4f4fce4518d324c4eb90f0a3b3a9085394a8a1b91e3bcfc7441823fd57ce757a4f2911114609967b299f3411f67b3b43980a9f903384b92aea8f4a356e79bc42982ab2688e1213c2a4270949912fb793698330e7cc53977dcc4f14847974b657ff3410e635113cc90a02c2244589f895ffc12076220e8cada8b42fa8226130108784812086811851ba4701831408000028268c8422b15818a8aaa23b148002492a1e3222301c28221c1a301c180a84c1502010160843c15010100804c2a080308c10ce44be005154d637c452f54c539bc4fd3ab975ed19057359725bf9a96adddc88f6ba3026f5e474447a94eb813e6aa8153204dfe8238a0db05d82d96847d1ea75d6d06cdd167a4faf4dcb7fa2de3b343d8add5ee67de82bbabf131ac5f8a96234e1b987d100f57fee717ec20b79ba042ed1cc6ea701be8bd8471bf1b1a324af364b1cdf6d365fa1d9a0358bbee528570998375739ebb6fd72fac0c1905e5bcdc40e9ed2a9d231cd0870d777b9fa4a37b65c38d454657d2e45cd01e25dd00de9817188cf6c4d57e2e6bec764c4a1fc5f782860ab328713667bca4907c8545863f8e37a3038bf506ad562fc1b61d13d45a19d8517ce99ccc749c69b0306a0d1708b7f94ade2b6aca9048aadaae6296af56df3d3ce171f22088c97044d97ed57cda1d9b6c200874620ccfd40532703d5eaedb4e5a0267adc0574fa261cd2a951453ca671db63ce1b2f7adebde8790f6f7cdcd478778010c3bd8a0256de9a27df124f6b734e36fd3de540e949520ae7803c12b76da68f508fdaeb3d9d0d937b90f8b8302d6a29e6eb894899e60feeef72904aa73878a50af4833c2a88aeeb2d09b6f78e67dbbbc649838e18a9e282918e9d194821f4c4749f3b51c3c1431d7603623898d83d35b5cf93408b43e166fadb6cc747b566f4bc8b7741f7126805f167037e63e6ce68cb33942ca39def93e83414459d4ecc7051375fbd15cc7df91d1fcbf89739073b19fe94afbf13444276b924eba16816ea770e353aa2b0f665beae09227e5d066a3faa0198051b3a789cf5c28e15a75c5aaecd2ed8e90c4540a4f2c926fd3fc9e2dc2f4a681f844fb9aa9e5d17d2a124dc774338592aec6383d63a90d4408083060c9c310fae9fc6a1565535c9df17c180cec2968b15a1ac934cd9e7f8f8f13d1b129060b8f1f8a9914dc11d4c5cc010b1bc64295f6e1343cc65628dca3cf050493bc4e3a46a5776133c71b762a0284de02fb95b8a2f48fa05859139c94dcca19bb05be4435025b3182ea3bcba683966dd608094fb0e0c7073e0e402db05115d5ed96249557dc7817373d287822e0af4d273615e9940ab48e9be6c494d36bce892115d5ec298c5745743ac27a00010a0055530b2ab45559a9dcd361285c929ac02bd06b37714d6ffbca4331663aa7d4e5f16b257c012b4fc4f4313b4794810c2136faac406031775586e534ad18d8616462b34da45a151acb93f8854c562842f6728d3faedef7b62ead4c7b649aeb623ee36b20952c4a025919c4e71618a23edfcc6e870736d18616f89e36c097998f5af3160e6657ef8e34c44bffac25fb072041309a9629b6d985f2565708101dd0732f8b99d4c5e71430ecc165d8d194c8dcae090b439a2257890c7d3131e5bd6cca7854e881e18ccc6888d43bc39b0d2a1e54d9cd387024fa10eeb3eb2af8cbbfebaa3ea0d1e8d139f9da0c8b3e062e542377168e02e23ce31ff3a43d06566c1214db71d84658fab5561de95ec46daba04fb4fb41a0dfa42d60006ca081a438ca9e4c978a6dc847e46154cb9c3a5cc89f19d6be4afe2f1c1e6a49acd0827039e506ed172b9a38c0b89bc70f095712abc91c4761c0e304b3c05cbd6e5233f42e3a3236be2fe2b9e41494044859430fb8c85ad273082c0a8e09e5b6c114ad7e621e476f9b56c36286344a939febd132168503a7bec762a7fcdfba68e756b8fe5339f84ba1154a4c53e3572e3b886466d77e06eaa252cb852d9650ddf57fff1c4ca80464f96e53acb6b6b612403326582d47c0932dca7c04334ab5e94e0d203a4498a06ce00c1bbd78ee3519c3317dca9a8f3a773701d7286418bbde4c6485b4fa5180d78c181aeaeb086dec27ac20fee9c1aef83c3dda478a4ee99ac6d4ab79109c35bd486341df5c0817c3c9fc92533527e5e177d3d278a6a097b39170d8c3d5b0f6c6067af02a262789a95d4cf7de3fd19675a40dfe8ff6cc7cf7bc69c83de71015faa6fce6408d3f34445ce7c4f2b77f66f6281d083df71c861e1858b33b4b0e7a9656bbc211c936c2871403696977282cc284f2e43cee9b5709d33d95f8fef0dbc97c24f58e1a8fe830821fc1d7ae4ad724b75c77bd4ec905b2e1cf753845b918cd186eaa889866b6652a26e917ac9f2ddf112e02b2146a1adc1abed112e1df60e202ee6304daf0cb68a752b0c7408e232900789c10b0198eb734062063aa8a7479e2c83712e0080b10c6074dd4bcbd10c9b9a82c2d8327109aa91f08b3583136d52bd1506d9d00d697bed03a7d2b7debc55c626c79bf4306205da2103755c860ddc695761d9fcdb95304eacda026f82d185a95310250fa9483e0f504b76eadd60bdf0cb41e6c89098eab0bbb24472e447ce3e4627aca4fbf15c09ec403d50c53f58284d2e548bc7df5521ca9ac2ca3fbc94c027625b7c74e891499ffc40ebeb5d816f02199d9ef5d604cb63a1a81bc738065dda271b69132cc60e3fde9d1839b3a71b635622b08cf64a303ab8507a9f69c6ff0647a289ae143bdd21923646dafaab50bca1b6f96688a773bce17a19a349d228a1e8a02ce739878e69a4729d258702f4f0f84ade7b6b51ce191448b642716fe18a4ef74fceaa29792a4c7a6662e0a28900c7f8f80dedf105dbbf7e5753c719346dd21bc1e4b984039e935efed8cd8b1969250ae183005443552a0e942ddbc8ac21d9977cd69af6a1e3cf503b4001cbb5e3c8274d583e945a6705bdff05130b85aaa0f4aa4a3d1b6e90ebec63ea81a965e24ee07977e94a3baee079d37412e4f68620b27747470d7e1f02bb40a8d941d3ce6c4190f0081cf6e9b4216d25d48f4853a5501a8432f428f39763489ae1d47c6f277501a78ef9cc00b41194f63f0b11198e4c438088426e3f96a6fd0b3c7be65a861d043f6308055f6beeea47383dda10442ff946f1bdf469d47089e338313fe757910af29b6aca8d228b2da927f604508c5660776b0d8830ab534b1ac482063cc805c4a3037428aa6bafd1421fd527d37dea349562062cfbb9219acf40e00d6b23d6933503a675835d805a353491019cb0fa63f0435ac53cbb012dd58f9d607be42d43a79eae4a6625fe8b2ce496778ea83c15fcb51a752084881b47c9e53013c8fc055017e8a76e12813a3622f3fb6df07db845c735c6057e1fe35d6e49f09329f2905f50c5a784e316761a9043960fea051c33be418a3b921662e2de0b9db81dbfb8a72dd0884a85e75600fdbd1a32f8be843b14929be4ed8ccc20c13fb1b00e1900b677ff7ce1c61e21011ba0e87d826caaf5bf905cd3a6211b8a5c8e008c45f3da07fdeb00968995ad3a9b814a82df18dc564bd7116b57edff96b90e51802d569e320bbc2c115aedb0b591639b3765952f8c4a86a686ef02bbba1333659a4dd8bdab8d41cf990ae874bd8066f3832855cfb41a0a868b793be5aaa1ad1b661b25073866596b03ff80a9a0b6e8eeb0596c045ad87cd7ef7799e5558d8e903fdf4b55369f1063d43d592161a8204564e096a2d2a2285ed38dd690cc17979c143e66e91e619069a40d9708644577cc28671599581ed3a21b5bf85a3d41dc99bb88be1370c5e60c1ebcabe6ed28d47b707e86ba12afd38e04c452746ed7a10d7e058a4c2bd09543679a88577870a73958ef096cb961d93af0ccd333b9b9a986711a0a8c327382866cfd1c49e4ede1d26cf13a9e13d7ac49e7773f14b2c84a12c6c6131c2e0b7bff5b73fc5e953b1e73a78521add5a42710187af237558377566dc87dccdabc22d493a074850cba4e9a029826da79df74c44410eb05d752245dba32e06c87c81f29b053c5d20014766621138d0be5974d9637142f44fbeacf73f88c3f84c84430383a0a6c631eae2ba89cb86b5e67e34c0876225185cea8701a9523913983e0b3f4c742bb801d375b4bad723c6b2ea6e8e4ca7d21a90b1571b86b8b7b1f86eeb08433bea31cdc69efa94e46254f12a40f6d863ad55fd9610f66e679f94527596488f12f5203c722300b5a9cd916060c10dccd9656fffc0a706b95be148dc8973f6e5216ec44e4e7438325a7ca3a0009d35a9f2b9bb188c8331d057935f474734babb6287b439b9c8841c140f7bf03b2133395c68d40ecdd03aa496ab2bb606b4bf6d0f4f64c0fc5f57a30b9d8ac128a7de459984d06215c261813a74afee132fe45a64107d9815259922b88fac0307e26779d1a29a1fb972a5a128d9566717b1e3a2770a81a15a6c4ac8b2f1c08b65b21c38b2add96ef3ba2d5bb909cb79e0797d364afb84be21547ab983798a08128c85ad2b4d95587d46e2e755729ac8cc9a1052190b8b700768bb586a2b6846aa6bdb38a77fcaad6362aba0e67070b376de24a9f6262129bfc69987e05f3efe05db02d915e34be2c69a1b4d225c549e53e0a98178c94282f3a2e4b5e68bcfa40ea54e36e06900646468c0fed18eb6dd08e08cc4e331707c36190c41e0904bcf7fece8765a11cd5d5ab47082b99419320418257c049f6d838f7e107cd85e8a5c8031631e41f51b851113544609ea6cc0b92916287b6810e89b9461798bd3fd02e39c1a6a0fafc0f047a059c7d92fc2ef08e93c04be894f3eb1dc6f7c615226e9cc6c4e6530c85ecfa98bfd44fae115c96926e41c84d03392581a798309ba345e691d9023505cb74c49e2ef11c7c08da8bfc2967ce05789c90a9b86a068a206d9929c285b4f0b781963e838a5327bd5f25b387486a5855144a6f396ad78992d3f37e22e07c9c905172e76b64d2a4fcde82627c50f338e51d15eb56bbc84dc8806730b56ab1c134189c0385a1e85e78bef5ebf332b01587f846b259309145fb85a9c69961043dd9a054745e37a66c8e6a1c5a615cf19534a52cf107369e8f0c85278b026996b6003296242464b5cf31b478f09ccc256abe8008bda07d4840eb5cafe07a4e30ee778958075e719f6d830b499cb89c9e911229c41eb016746ac986a84a0599818bec135c85df937aa433bff5a0299124e99b417a55fa656690a29406c37aade072dbaf27332bd07f3a4195a53e79256f8c3a0c4c98b0d703c3b1c1267aa4f65d21a3b2f3c1a04c5a4b934f767372f87bf279b2787ec4f54ece20b63f05c1e830f2d151ab49998ea8fb9526922e76ed62c31b04e8fed6820bb3836331e2492002e4ead394e7237dac8ea71cdec25ef7785196d8d72fcb40202455755d3eb88c407c2016aab06b904184b0f77a3dbbad038dbfef8838e33f40f7922160547c91ba3b4f0788d556d1915d5b26f3d26246a204e83149e731d7079a127693ac6d220eff10158b7d132f2ed2088a6db9cea68411ef060cac44a07e8d163c8b17773cd7d310cb82aac1f2bf465299404f10a4be60d701f3eff0341682b010da19cbf9d72438a2191a71481435f50c86e555129597a9938cda60b4b4f2cbff186fee41b45be4da4c21d5a96a0b66e4640819c49ac4a63f652cce56a4c9c2503d0b85ad114d03ca36f2b83228d301dd268c45c944ec5ea70664d06c66699b4724c2c14135bc30cda2d3f48623cbac940d4678d39439b1facef73666e21b445e8fd879a01f7c6bf810fb1d7661bbcc57595c9c00850aa6e00db12595b5fdea8687fa090cf03f0390141e810b4459e81704eee7b2692e0a06655ec0a3d068a9d719ac3fcef963433b549d625ef4442221bb462026815cb5345db2eb96929f13756856460a534c5db30d08fc6829ba87051f22b016c5c60ae65ad82995a221cba5dd7420ae87d8a2b7de3875e8b5eb9efc4a9428a979de3f3771a437e984c542caf1a1ea4706024e6a9d9fecfe4e6aed164cc30b3d2b2d4883c8cc88df832fabc16a51b92aec267e7e74d66db3b65ed2c3dd2a1e802ee43d1e1bc6f60835639f1db94c8fa2b9cc8ddd952f07ab41ea60fd74ba7c149f5bc6da85ac0e1672f0a6cf9aa46b43c231c27902bfe9e609a4a7911c8e76ee2bddc56064597106ebcb1be4ed3de952440241ed52acd32e931be45d5737e06fed3604b5cf67c04b63498d34194e457ce2561a71822a446571c2bfe50fd842205681afb491048fe34ce92b0c2d9e04ed1a8b0d12ac930d75ec68ad073a0d0329441111c523e0a0da56a5a8c4ac36f2b3d9b341a9d1aeb53e249375af2e4cf171f864206cb2cdf44e473f7515ed64c07542f263568cc72ab84edfd980c36217655d568bad1e3dd68c429fb0cc4a6179bf5dd3fe817242cf6c63363c7d161f1f97171af75a28b1020a58c2c657b7ad45e14761ed71023df32214962f91e6dd1d14d6b046dcbd53776bf04e988bca14917fdfdd8194ab5ff6784c6b0dd968ad8d8f5c8eac84668ead183f43ff4b1b2509ce33ab450c449436b26ab40b3edacdc94a30926a703fbebe494bf8b5c1e1e292d8e38b58115727f7f093220ed79aafb556d85f2f2bbea96797144e028f0c07611503289ab7ad92cb33b72e2e950b69eed689e1c45e899869f04c0b8c0a0bdbda7f02b5317e87d8aca46eb48b7b20b534a59f041bc44ffcb822c941f5cdfd9c139a7b48cd5dba812b5ceaf7cc0b3724a46a2171dfd3516416447695d2348bb66b3ea2dcbbad88d63127f65efe7b5780f9c2c791c3f81806a41c08e82ef34a4aa835cff9f8fe15b83239132190ced3ef5f947fc6b682ee7a4e9a067aaa2bc4e969204fb8e8fa42390a098cc2eaef05248c38989a4761a15b47e2c9c0972fc267cb54760592f7f8d9731506e354232e5607801e9704bfb214cc8809f252f48c4027dacf295922f7bdc103ef03be4985681951118a0abf548c6b0a61f29db1e2ce3fc3115918b16dcdf2ce7a59b77e108eca37ed4f9e2e6e4085454e4b59836f5c4bfa34c0d8452efa085935ae517107c5a0f67eb7dea54cc9d08f0f3f1c713033dff73c4b99e885e0aca1e8c06906af144304e1dc12de10747b9b51bb262e34b19dcfda4f7d5ddc754427d2fffce7e3c40bd92e49caa543528926a6082790f3a0d53a0eeb30bdae0c8a15ed308de54ed7dc210e132ac4c6d0fcb53f45ee48c062563ac477a312598022dfaf950298ce588f4748f04af05d88c4652ab2519932e7bbaf12ac6299b7a5442380e5386232e6d8c0bee2f037f3061ae040ab96807b66c2544d8a4e821165266942abc421cd699f207a73e544f8a46bc054c1d3702ca4c6f8575387445284f890ad4a6a524e258c0f13b4113b547dd35c8dd0c88a70bca5bfc9c85028ca0e5820bf847cc4ccd8847f404c68facef7cc31d4816966a338b79a271a8c7846ed64cc0c9d65c1d9d450a7145a18444a6a51b840d32f199acfc74bb90da0a72a9c41064eb35140f63319cdb4702d4818408c15eab2e6977539fc9c2d81482a57af5578ecde5aa3c5247108aac3b49de35a9a9dc344c4f476818575b703aade70c39530057ef337fb1d3b53403eb9b340966862fc5b0f05a0e141603d0a562ca88151706528c7eb458e37eb0aae6eabc6036e09bd0aea19f0577f6f80e715695fff60320793f62ef7c6d8d94eff524891822d3bef4aba96416b115dae6bf8977f06df9c92dc6379a941414448aab8b830f522b7b5e96abd85fc16a8367ceab6857ad5c54a32212f17b8302ae8cf64d3507b35f11968f789545988859a865ab61c1d08c791572602c1172e6934f4b56e57bcc77db40658027333f411a783dcb86ad71fb97f482f6ff794c5278c2a9f78a8f203f638805504c7684c3e30006a49bdf5bfd6bf535f14691e0d9d811966b3623e4b77d07bac393f724711302c1db4ce985689f412302404e7366ec74c41fe52d423a831f6bbf82ffd3cdcd9a4964453a4762efabf3cbd57e40baf2b6208e64427928099758f3f054216f945741dda4cf12fc5e1634fdabe17bf4bcf409f89f1ae9c60ae57bf2068076209cdd26fe8f7833b04672e4e54b64193350a0e28a5382d791845304042e687260464c0c2309777d035c0f04fd2773aee8759c5b2d249944e02b1e0ff77e075d8754c3836b27c256069c334dc2d71b221309f7d23efdc1efd8efdb17e8e3fc5475a677acbc402013d759fdc7ecfa867c442f8256f3d0b44890ce2863bfdbfff8ffd67daadd972653ec0da8920d62381c6199feb5e29b5a1be93df15d71ab163a35c09fde2a14b1f1550b3f8507a68f44eb04d80d18efc0b03922e107e42659e3660b5db41892565c03b6a9e991fdc1167e039e27fe804c21d8d6d9389f45ba8e0cfab5eb2698e0bb3804026c2de25797e2d81d380e8dba50faa9dbc2aa45d5061cb7f8584241c35878fbb8999ffbf1a65c9a607e1210e91e6dbf0236729e0e3f643b43c34320ad983eae30dc437b80f83711dddf21493115408fe7a9359cc304bf224b8bb7234b8cb4d6af4611aaf754a0ed5409376a06a9470a3495d660ef80d137c36afa92bad080354312054b123c516228c577ec436c92a3b281a842fa4b2da99fd439ae60fdc94e6b0b432e79f7a5452b01ad1bab251fc0ad98fcd01094dcec03bc1d2bb429e4e003640516433274ee5b18aa8c98844ad7aa3954e86a050ba99601883cf823989084d6c768ad078879689d3f4df52a2929ebeab8171e42c1449ed18ea3e1221cce4e41b375337e4d459604850ecf96a52b520ec5b564fe65777e40f500227f9b6da32bdd1240cb9abf5f6b73c1560de567290cf20ea74d077055826d6bb012696e17c0237034b87f08a5529d8af3af25fa2ec3e5e8fdad6da5fea18e62084cc64b98a81dad95a81dd16870343d04591920bdb7bb78f502a874301087906e92052bde138fa7217f3fceacc00d0447c5f11ba7e7560444884b0aa128d2883718e6bb0e381840606a95c96bec02810fc796a502e09a2b24b108532b97ac814d4e85dd84627adb750686c1052240213dfb3139b786d27368d38781c20f5fd59710375ba1c70d24b6c8a2c7552ac62ae25aae47385b429b407243782aed5c729226237fedd65612a45fba1fab348a511d5d14473eb6a49e4ee76014231200caa112253887eeb9c60880e45ebe0d26a2a05e7be617eb285a6f61a3040a55169071507030c88a1a09c4e2f449aceb12020054b853fbcb8921f00018f2d850016f57311df0f4f592bd2784227cfed0a2398956d9b69e1ad99b3d5b52b93c9644dd7d74a4c19ac885b01ea20350cde79646fddca4cb71bde40320d9a3e45aaeb6b8e8b3f76fe4ae0073c6b1ff4b20f7aed436ffaa0577cbcdefeb133765c4e735640ec5d3fec0d207bcbc7bdf6317a538f1bec6a1cfd3910a4db560d5469ab1c845c22b7117e0bfbdf7d7f28084d44bc3bdff5f829bb6703189d242f2011f5323981a450b51fa0fc1d82ad4c519be55cf94548212c9d1aafa1a657136bd43d195593666820280e2c13400871508d51a626a219197515df7cf5ac9abf13f7581c687da0d0daea5882621a2a1879c47363d27667de7a7ed949879aa36ea66d350ff9ddc6b894114336ada64c57dcd3310e481de6097343f46e1d794d8b6717abf95d662ddc7f783d5ef2fe1798aa886125b48c172a952d09d2786311dea02a450c4948968ca15c8207f11dd9452c974161c263755d4b4016e2dd2be948bf8c85a48f4cd6ed705a601868003debc3acc513fa1213a5da3c3979d4d163cc63474298e4c6b39eea5d8adf177c6313a24d732fd57c5389b85fb4e908e88b5bbd26e4816b2bda16013a9aea7747afd3dc1166502bf162f146c7899885970f7de0a02094baa2f885a4132ce10c49af6cf0104ebf2b3079f9b02e43340e0d6b25feeeab25d8ed9c8269060cabb7c30b6f7ebb5d1cf29275475770d33ffb4905398d39b99295cebe6b07181a60d3009b166cda60d20283060cda60d0064b1b6c9a60d1004303ecd1ae020c563cadffc1f8376d7f60f59c57a01bc9120556ae3d33e6fa75c09001e00a4cba6201afa8e4f004c816f6bb85ba71213cea60c5c2e18ea142afdaaf0bd3eaa95f957b712a1e484afed71da2504a41a7f89a33337b59039f2df41d00ff84fd622b43da7aeb410a31265f97aedd5cf1104eec3fe904d8a692e281042ecd1db380ebd4697e614ece80abfac676b909a75a993f623a85f4bc04e97e390bf7ffca3a213a4c6b757ddb2bd36f5d183ab5f96a09eb47b0078a7659f3cd1b41a2008202c81400fc2cdabcc3e415064f08fccefc628efc4103066d306883a54d03c9cfbf2a1f5fd5e487d10ccd2ffd33e40820f654c3c0c7f6840fecacf8fb063422107925c28acb16fcfe4cf6e979413c85fd645fd37fc58feafe70af1c08a7e795f561798cfb18022cf8497cd40886f7cb8753eab08f1f430c9c3d72c4e880f9272a1cdef29a7e4932be5fc3c59f422238690da6dce00ba73b1fca24f71fea518871c7925d461a2816504eccfe7d76bd3cba7a0dd50ff3376a9f8c5e402ff4f0872a0269eb1a1585bcded0aec781eb29f0bd04bd295ed62d7a0d244bec6e4dd989ead721ef71f8e48a8175766a3f60568ded3c70d8569e92fe4f034a7c1232b0f187547e041c95c7ac1f6d2dcfbf8c482929c165c2c2f3a79f260c437e5ed1044f803e23b94e5de16d3a8bc9d20169839a1e0f40121ce29ffbd987c9393647d4bff11e16954fb4edf187400a11dc92d424db86a93f50d49092a49079d6c359b6c668d805fbc7c591f9703eba4dd88e6b511384e4c056d7472b77b5dd199e73a3f913d5ff8a4c8b0e686f905839a69f0e966734ccdc9bf8b159771e6a73f92f67857ec375763bcdbc7f814d361e4261afcc89fe69b903836c200d6d2e6189d2dbc2e10375d3283cb33806107a3e49797ee2e5e3ebeef44d485a12657f2800a56ed1f075e517a1df3df9d78cd12ee71472288810da94a281784a39e1eac150a991c3a19611a65749db550640fffe44b7b3ebc4a8bcd0eaf48bd4f3180273426a2603e34006e2182da630a940595c45903157b388c84e6fb74f7f3545060e218c3c8fda7058e84c8178dd828133bfcc475090b4bdd8187e660387e364d2fdd53da2452b5f3270ca7dadd961be797c706ccfc8fd23216f41e6bcf6ca06840625e2555dc869c0cf163ed7639e9b8204c4d5b71ab09d9cef58ba05bb5b4fc8a6606011bafeea84afc44354cd81eb55a5231fed027bbd592b57d1ec0c220748be495fc2e06ece310c95b0376eaa873c99b72034b0eaad9dbe9c84687684acac26526cd4223ba2c5566c8e0b406babf3b2ac37b5a6402c6cdd3a7bd4ef8e22e774a31af675cbada61da0f3155c253adac16ed508df98d2f0b271360c7e2673e35b8af4f733997e7732d5b42ee2a48be7f631b13a62c15b84c472eaf8b43096f78838370696cfbe8f168953cd468c1ed8f69f95378304270b5db064e5daac2fa17b17cc8a2d197cc48ad81a25c42780a9f1acba755a4aa9434c215366f701df42d0454ba4a76733db0c3b55ecef3924726cec0644898f8efc48e03c67a57984877c3d640437fc0bd58866be7a1359219c047692b2e4b4a2f2e05c8c04e94d28dcf3cfab7af72de4cfd273ae820b714f481171b85f028967c94848cc65dc0c01f2244267fba36e12358a81b017f830fa1e60d418a585dceb35f79509472ea6593f7b340b91b2eceaf2f5fd6ca23c7ce12a2ea22c24a827925571d3d025cc10f337588a4062d39a2205973c158d30cae2157d41b2061259a3777be91302658b73385df472d849dc7f9262925861b3414acf393cd00e757626d43a0cc601f76600a0a83aa4737f5c32b36ce89a5430fd1d1868e274c96f926660363345e380c607935803633b500d33ac4c4a3cd471d20a7cd73f0233c18da12dc53e21f0884c921dc04178d4e02ed16094f42b161aafe9aaca1a30d9f276daf294247386162f5e458eeb692868f294a2e96adc48126e0a89893376d057e8eeabad9faee0769705ca1f24e10b9e4c92a159b9499950ea888ccc4a91996358878ff4c6209fe32404770aa8379639dd65c1e42ec8583b8d1f767074132f7ee3bfb4186224dd2ff7ae0165b8b0cdce29839def2996d16c79baf229c10b45853da1c029538815529134016914b6eb03ec5a60b08a61ad311a170ff9b8039655c86f9d21bbfea8ae5633e709833732ee120c1aa31d4c24b43cb1d5059644bb20cc98cc9bfa1a6bfbdc877c9c34d96dd1422b39d536e2f68d0106286ba7d845009e9b5246d0c1cee435c54ff06a6e8ccb0555c3141d7e5c4b28fe09495e6e182e8a0c138e98e886b18f4b9180102158dd3f66eea62816617d1bcb671ef7f47d31e7880494d4db688016a7037dd0993ffef50168f1f7d1b015dd27d1d9c1ecb43b66098c26e2b1011842473cda64551dc885e2c76a099b9b4a51b7f788ef1d2262b26fb7b9146acbbb671218f9a14fb5a1e49397b6f5c055e30358f476b556ab523ccb7f83b027e816f332007106e34cf54e920454cdfe9e0bcdf22ca5d934ad531d8fb4391db43418a4e9af909d6b76ef4a50d09dc1186faacf64d3054f55df47e08030c4e5949b3bf844f62732e4a759767fdb4bd8ad81ec88c8ec705c45d3cc12793b598e591b008210c384328174b462c901c3316dd76bf210e8d86adcb5fd097a272d141e1e2a0cd5adab1a0da2e49b0ef8a4b116bc19451784f7a2f8fb949cbfec36ea0b23221deb2e609958551885c037e8a27dd4fa4d3a399705bd18535c674112cf7563ccae18a4dd55f1fffc4234a054639c08a283ee7504a3bce764f5f5a91fe6796a07e31388e643e4acb08e653ce9c37a59b20978aed89e87ed0fb113e4def0c895eaf070bbd4f0c4f42d75613f4b24c3e7170cca8c45ca2fc0f0d21da2785e392a25e780cd2f201b2d4edfe96b098edbe006cfb16b580d523d72df01d97653c38f951fd064b92bb279123fff50fff9354d897a6b880defcd4ad30ebd23d30ac4d7b430d8b09ff63f29b4319f6f196cd704fe1b5edb7ef2d2210f27ae48fb9f2118227bbdd3e064d1fc7c5da312a2c023d6bce0428244a2b9bb93099002aece0fb0631331c3be885d548182ca626d5d9eb30967884c982851dbcd749782167b4cbce698524977708173c3a43bd456e30a9ad30b6708dc6df6da4d021b48fa3f7229397860e0bc901c168e4a4f3cf669ab93ced7ddc51625f5dc04add2059cf801aa3f1f843a80eea49003c0cf0ffcfcc0cf0ffcfcc0cf0ffcbc53f9bdbd77d4b74d99accf2f566dad818ae19756444444ba9f50eab2cf6198ee7318a67b026ede0713087a0865b0ecc8eac33ebf04fe3f488e530e1e9d6e2530e96c6f2c87de7b9b2470173cfea59c63e9b606096c7dc7db79cc2370e9a1648f25d9d2953102bb312462ec142b59a5084cee281da3bf85088c450f51432587c0ba75b40793acd5b008818dfcb17d47a855e783c05db0911031c70281fd8b172ad6bb3fe0c3b8d1a1f42de47ef8808f9354ece0298769a6079c6a48ecf550a2f33ce04cfad5b247d11db07b5f591292aa03aea3262472e69f7472c0fbbf7f47f9ff19e338603c3a23efc70df890396368db6903263ab6b58e3bfecc4cd680ad7812d5dd72b48b260d3895be4f13a9d917cc19307a36d9c7aefba3fcc980c996374ac87761c4808fc7b24597a48f660e067c4e9542732b3b27cbbd80bdef2059daf09852e45cc05fe7ca8ba399cd5f6b01bfa17afb43652ce02c5d5254d394a7fe157092aedb16cadc5f57017f9be61d6ad28d51a780df0cde1f7a0c0c143092c1fd7a42ea4b579d82fb4f1df92f6d87a12a53301e57ca725ddb90d2540a26631abbf8369182512bdbdf18dd22c747c1e6d2346a991105d3e19550b0a12c6fc879443de680829fecd0d5ce6913da4ff01dd57d55ed4b66ce137cac95db420a1e75aa3ac165cf61deba8e6121399ce0cf3f88fbf9de449240019a60737794f27547d6df7c26f8d050297b9c3b26f8bb98772c3d27e3ed9760525e8fe82c7942d36e093e9da5aa48ae5782ed0abe1dd58390613925f8080f6f7ad287c1c37b127c8ef4af0dad64a1b724f8287d66790abfd81d91e05bbf72ec0eef23730f483029e7ec3c8213dbcf91cdbba37c318e6083ae48e8b29846b093ac5a4db3edec2f8ce0d34bbad3ef8b60d35b57774ac8b154117cd03189048db68c6122f8dfacdcfbd52154a42082fd97acffe9e199f587e0cfcadd73320b117443b0924173ca71f4c22e8560cc3b50b1bc2e2110a18041b057f791ffd97eccb7a1c20023e8c260d1589cd7e20b60002b68100a10049b36ffefd79d7b0e0582b7d74bf1d2450a912c20d8bdd092b466d99f3fb01f7de7b49c34d278fcc077a8923b47070d9d43fbf077ab59ba9b0fbc87a89d2466f7c058946866f7d5619e1e78ddb41aab35324e967960dca7e3b32c251ef80cb5eba031ab63947760348b9fe7899eb63a6807fe3a9ee4b07dac039b79579eb2c53b55910eec78a7e021c6099a9f9b037b1d658b9b97036b31726e7490a27b260e7cb4992c3b479d4f7a70e0d473cc271275543a6fe0c52b8588afd91dc7bb81b5efbaf2d8cdb3c5ad0d7c101af3a7b0d9c0b9e4c8bb35546b60afe3e448a956036be171e6f038d2c098e6eb845a8aee060d8cda674dd9a245cc289d811b4fef6c8f3503dfea1f66ee8e2e033f31647d1c49ae3947c8c064d7fc30f7dfd7433d06b63cecd2d3cc2106c6acf3a4baa69fe5250c5c882d217468ad0671c1c0e7a9a88e9a3cc6ebf50b7c945ca339a3879bd2e905aeca3d881f8bf968ce75818f26bb073de6263a161798f088d31638d3c90a3166440b6c48484586948899ded38102b2c0ae66468f43e8d4918e056e3cc7511efbe8b6729c2beca5afde49c26305eea7227bd4f4380ec3af02bbd9aa2ed9475381df499dee25564e92e92930e1fd41471e5fba728c14b8b70c1d0513adeb4f1478f3b4de354d8102b76d96afbbb91aa5f20456d4c37502939d1aef3afe3878b74de063df9d94e594094cceed0e2be5f13858ba04c6328ae6208a75c84f2a81cf1f415c730e3de5b04c027f57979954439fc412097c74e9c78df6efd183476053b8b64dd465043ec8ffca5164e4871f5404d63fb009f59fd526071118f3402aa5c62170d142582871911827050881f38cf2349613044e7fb277e5b80304beda43cf7bfa6cf2fe015bedf557a9a294bfed03ce426b2b625cafb68f1ef0e97e636e64dd90f4c103b632e3e55eb0ec80b39dd09d3bfd5dd7ab0326555fe7e894543dc8e680cf1a3d8faf74acaa511cf09158ed9b8737604b34248d1c474c3a411bf09972a891f27478f65c0dd8d2cf156b4303ae72c6b3db4f49cb99017f6ee9f721bdff3c4c065ccada20d1c48f015a9ba20d03ce334f36cf310a7801977d3a42d7321770615f62967c6a01931da5880651d5b259c0d85f068fd35abf65059cdba5d40bb126554390a00015301eb6a6cc354175b39e02fed7f2f33a48f4074d01286073482dde66132342024ec1b859e6b59e4a4ccd610af6de274a2a33a7754b29f8136df1f0424799aa240597bbb1f7ef436244480d2101a3e0aee32893e4941d43fe8882ab9c52bcdc414e28b87c3184f8b1b647d17e50701ebe91038f11f353ff096ed2f35b4cdf55dab927b81c16b73d4fdd0936e67fdd57ea4d081d9c60f5d782f5a50fd5fa4db093bd3e5c3d7785046882cfe517525624d3743199483a8c6719b57bf7a20b11980d0368803891004c70a2e97e34a77209b6530eee16d2f25e98cfa25011810494175f6c91851708804924c012dc475d991d725b093e470e34776529a148c591d6d4e924980e17cff19a290946439a8aee284dfd8904fb612944bdcb8ba4044082914a3bbd12e27e0cf1117c88f962d28fa023f85012e2d96a5e8fcc1ac1668ec72f7267049b2e74c7ba1bcb37d5154a8482908045dc66993fd614a3e72842b71b8b316d2d568e93883c8eb3534e02107168a2e997a2d73c87302774ceb18679770c41c8b1fe2bdce3d02944b62d1e47aa0d1625c4569a3b472f314b673f88a66c744158e6fd215f6ecd3d10c7f4beafb4316d1c10861ce8a5901e87d2a6ffc1d8d187d0fda0671771eff02cef43926373e99b0f6daa7e6509da61e7bd07ea3f73b2f69b609bbd9d602aebc7e9617af6f038c105c9fde147f97a3d7536c1faa4dbec81fb460e1d4db0bf6a9ac350164aa493096e42ce89d7d7953f1e137c7cf72aaff871bcf1125c9624e95b33630936556b3c534bbf96be125c9eec6cd13e8cd392a704bfc19f041fa658d9317362275d127c5c3b397f058f21e69160db36c7a93d774870e9829d874ee5acaf3f0273b15e33fd1dc1e6609e3cd2a5328f37820f911e8c6027797a4af7ba9ee945b0e5e3bb391d8ae0e3d6bad4b8bde751278289162d5d9d3422b812abbc5dd6ed9d731c828f9c92ee71fc610826de7becf1e8598a97a3107cdc9a28913da7243d08c145b4cee196a58edf3183602fe5385ed4c8aff28d20d8982ba2c7bcf951b44d20d82fdff294b22aab0f082ebee5e823c73189fc0f5cf0ce2926bf8b1f98ec12d9417dc891e74a1f58f5173d8da1733aabf081fbd0764d92630f7c0e3c7e8f4b7328b51e9818247a684869adcc3cf0313ff660e6956cc5032b1e42ea9cc8dea10bd127e4cfb61df8a9bb4a1f5deac0de04cf8ccc56cd241dd8dd2c6612b5a7ba9b037b991aac26a572e0de63ffe8e571e073e59c4325264f8d8103e737d182af7dc7b8e61bb8e814c7c3d8363990d20dac56ea50c363d0c8771b7889c92e895beaec38d8c065089e725d06d7c0b9d587f5267e992ca806362dc5881eb26960bbc3c80cd5fd6017a281b1d5b4f6236666fd19584df78107eeadbeb61938ddbdfc2e1d65e0232356ecdc8e0c4cd2b4ff88f818389750626ea9189810f27d905a0c03135d1dc51d49b9240706be3423f68f059d4a7d81c9133a4e871a33c3322f7031f97748f1e3183c645de0cc5d72a5e50217443347af4b47f25be0f39ded5a8b5a60e34e59e58a59e062f2306a24079e7e2b2c3016c93c464eea0a8c57d6aa44d34c1e4f56e0fb2f871cc71f55e052ae24cf1a53cee11115d8fcf1d5e3f7a6788ca6c08dda8b87ad17322392029324c450b183ec40f428f029e420f96bae549902053ea244cb79628c519527f09722a23a7b1c8daf139890b43a7f4c9bc079349e3affe5eaf698c0073916b78fa739f22c814f8f4d62d44d097c4dc6eef08e58224612f8e93897e8c61c24701badf2a5aa3384b48fc085ac1d52e5f1bbc7d2086ce8078910a3085cef87b79b1eb27b7888c0464bff95266286c04739c849f5dd1b400c2170db5df7d1dea590c3df92438c2030b9be8360ded7f17a5402620081f194528724513a9574ce10e307bcfd4757f5de6c1f933e60b5fd638850d79b52708d10a3079c6f50eddc216dd0949321060fb86fdd3d0fc2627b149f8008cc06150618c16768b13be0336e8e7ab5a3bae840070a710c1db02295344fb73755064b871023075c8e39870752d3fd6147083170c0ed478ae3a2ab6727c6b80197a36a4aa5d880ed308414394dc741abac01a73184bbb434607a534567cc2bc60cb820ed6e12f5b264d93164c087c9d3861c39485b55663162c04ad8b4bd540ea61ac241c480017739f905b796fc55112062bc80d5dca17fe851aaa80207315c607fb0b7e88fccd1858f88d18252cca1dfa4c7bef87ab105175b74d1802aaaf8420c167029b379ce16c315705139f3ab472d6555fd20860a98f47c1d7e9ca37d76db073152c024cd9e9a2a6a2cb4a7093150c0c7e441edb44b4ec1a7489572bc183305e7515e877fa152f0a107a9a15915136090e2e8d6ce693aefa3e03dd264564dce4174a8287855fd93ec6a1d5e4c86824f1e251bcd090c50102d3d5ea8cd393000e3137c4a8d152744090c4ff0193b654a8bd6f61c7605189de0cb25dd6a070bb91152020c4e7029dd5e7b56c93948bf1c606c828999ac3c83a735c16e8759ca375532c1a52021c7123a89094e3b704f9e3be28de7de00e3124cd4546975d273e000c312bc9e995ad01c3de57f302ac16875d40ee3450c3028f179b4a93e27c16d440badd6dafeb49524c090c4614a793c54fcbe2c127c1872c8f794d70216062468ef5333fd1c79d40a42450434a828938001c800e3116cf4b249f7213cfa3887e108a6e3487320229a4634c1ebeebbd2548ed5c28a880bd3012dae04301871a5ac2ca2983579de9c220e3da89862144622d89034a7bd5273aa0d9623c040c4519527c7ea8157440ec17bc8a3573187c3304417a2f6267dedbd1c1885388aef7dac221d0509615fc83c1b0d491a049f63d5c90f1ee530d62f88736b4c9eb381d0f62bb4f4938060c734e454b7cc317efd87efdaa5634587da0f693c7fc96b567f1fd82b73c9ed102f35e7e08357befa1fb57dba87b732fd7d94a99ee3f5e0d4bbe4eee7340fa79c2ce54f5ee181cdd71334e695775873ac36070fbd0e3deca084ac96f25e07de3a6f3d8890393c970e767a10963dd0cb1cd8f4669b721c5f9cd89d1cb61c77786dfeebe83830dd515975a01f59bdc121f74e79c3518ea246499e1e951b1ccb4a398813ed6e03d3671a434788be1b1a1bacad984390103a0ebd35b49ba24435302619e345493f79d44a83593ff0a83b23bb30d0c0eec5b418726aa98f43428071063e94a660713a8eb34ed00c05a30cacc51689e89015ff85c9a20930c8c077e7140f53a5fe183c636083475f0c5ce43073dc10937ab88681aff597ee503db6d61a0c7c594e70d73bc9a1ff02af7e21bebd66f38e1f5ee03ae617ad4d9a2e303985aa965b860bac7fca9e1d76e5e01fbb05f63c52301f896a81b79e8ead4274b3c0a6bc606953b06039c70237b93d7d8a632731c5aec0658e50bec122746256e0224392b84aaa0a6ccc1a1eb607317af4890a5c6ece6a8f243d10cb14b8889f526ec8f179941d2970a6521bf5ab1305fe525aedd843e95bcb43814bb9ab93dff84fe05e37a34e731cc4cddb094cccee1f478a55e27537813fc98fba39354ac58309ac015d8e29f01d5e8878bc0e29b062216942e94d678f287052e52f5ae21d44130a7c8ef5e7a94b422c8fd678027f379a3f5eea9dc066fe1f8ba934da6aa509aca55cb9438ff2f5a2ca042e5bae79cea26551621ff0c01fa07f0204081a4b387f088fb4c2534ae0da83a7fc746fd7d5d1002b682481cbcc1c73668af461292470e9414869cb73e4fe902330390c891b21c5085c4a79a3d79f9ba24a8ac0470c99355472877d3f11380be9ca4c937bdc921dc2f916e571f26dc7160a81ab4adb52fa818bda1804f63eacf6fb480304c6acad54eb2a232af303f6628a4a254fb639547ca0c78af45c3b9eb33d6022448ac73ee217d93581060f9448db548d20f96761fe015418800a08f8ff8220170475088d1d70ede16886c64d5fe9e980f378248bc4fbec63d91c2096a425460a16c334bb23678e83b4d41191d6c0011f423525dde8dd80d59cbc255bc81ea9121b701f56c7fb916d0729ed031a35e06d720ee345c614428a68b086dce869cc808fb57bbd2f9b7d48b50cd8dc31a718629f18303d29d5357d94ff43a401033669648ddc0a51fa432168bc808ff00c0d5ec93cdae7023e8c1dba35e6484e84f7048d16f01ff274d6b8b3800f32cf3d4796d51292c60ad82cb1e34dffec094132030d15f01e8f98af569af86aa480cfda9fcd924730d040011731a4d18b3144ea783244c62938f7c02ea41c8b4545041200c3149cf54deebb38d2c8280513fd43ccd14765ad2ac92005931bde1f7f74c628d8741ef912cce34a8a8f2043147c189132c6bce4f9e3c8fb160ba8a28a50b05675f1a73676caf55fa1b4a0e0c6535ea5bb2a04e6015421305d7c8293d412f9aad9e35f0bc2c8f004d7f1a5079993d409369674742531d2fa1d780d410627b84b96236e885be8aaae50b2e28bd74099c0155e18056c71613a605a84608b2e8e2bbc305794055cc08a8d8c4d30c9627fe7bc9bccd004fb5e1d7ed4f531c78de1c26c6464e2a899ffd3562109820c4cf0d9fa72f6287a217e880210f0002ac8121997e026a6d5f65b89565143f45874f145c9b004d3a7924a43691995f0410625a88a8c493099638c88aa1e24edddec90210926b2278ac75e152945a50e19916063ce8e3ea5d27664b572c880049f77e9cd57452f643c828fddef6fd39d29cd6f2cfcbbe0c28a2f88a923d8b41fa464a6d146f01aad43dc227a8552073ea0052358f5de0e699f63a6745ca1b4c51715858c45b0a9630fbc7cdb2b942a43118c5a9dfbc5165d248237fd1c84aae0bd9f2fc5091988e0e3892164493ad9a3175d6c91198760728e64e9c34e1189ee0aa5d700d2661882b3d06e0f7a53ce9caf2b320ac16dec9cefac03914a1b2bb6706d40062118ab903fd56bd292ea5728073a90c4808c41309a3324fdfe4a8feb2345902108266d2ca4c8f4e8028b0f78a04d51e1093202c1c49cf59186f451063d031065969892efc3aaa86233fec09bfaebb7a5a093835c91fa819f1482fd7fead02cb48444461fb8ee738f937523a9ed8531c01e32f8c0c690e2dac7e9cc21630fbcff748c9028e9811d8fb1e30fed257e7de4810bcda96fef5e2d95060f6c4f1cc971886dc61d18534ff55ee65d2e51175b60d1450332ecc05d798bed79108b3a7c932db6155bb80121830e7c258de820436feaa82a3964cc81518f426bd44ff5d3293970611525899fef6e4e71e07308f520d3530ec7e38003abb172fe67a9f6f6250e196f602cdda645c7f1e5b5b81bd80f2424951c353bf6dbc0adaa65d8c0861ce4afb6a74a57eb868c35f0d1d285a44e971af8388e1d4f9e58933d7d943264a4819b94de50b7b932fe978106c643ea97bca10e649c810f5d3d5bd73ec533ccc0e64dd34976932b947e9051063e68fab87f901820830cbce6f010b3673406c66f3c3d3c7e7e7e3bc810031f3cb2b71c866796109311066e24c594ca6386da900106b632486add14f305364de71cbe75ee053e0ef262bcecdf1b32bac0550ed7f22ecbff9d73814b1372579e458f43b35bb852c77ccd996a810dff380ee967434616d890acd2a95dfa553cb0c0d5764659eef48e21e30a6c7c93d614cdd4187131645881cb61dfe58c1593454615d8d66c9ff543bd33a8c0a6104247efd99356e803f704b01d45c614f848974f6b32257e6c79914516467990210536b2c742dfc2526f67d5901105763a467d2e778fc9d2336440818ba7e627915a2d6b4c43c613f80b1d3dd749f20ea277029f2ff5c7d66902af791de56b48f65b95098c6fee38747d949b259a216309dc65c9cbea3e213f8894c065f268328ddde66017762123098c9878eeb11cca40023b7d1e04bbb61c81fbb0a3b6d41ccdd3c432906104ee3eab76fbc7984e3fca444611f8734f8d6c7e6a71ec22bb44061178f114efa0315f68cd10f8cf9683bfbe47086ce68c7f10180b62d94a720d045672c8ad08a9fc21e707dcc5abb89a27e3036be244cc618c961e30a1c2637fd8c5fa48e101a7123fda4d4c8bbdd11df091c683bceed69203550784bc7d1dc61c2278d7024616596cd1804f64e4804dbb905e22226f0e0ed8903c042bfdb0bfc5bb017f974258dcb61c76a86cc04948cb395c9f6ac0c75097c3f6975ce741aa68046f830c1af09b61edb1a84bb649af501a81e1e2fc03b688806b8145c6171fd8e23b804504a83000150ef8e2035b3c008b2efe0b2d6074f1206080e1a2489131830c197023ad1fdee5d0834526065c54744e931d664d8bb9840c1830ae31c494f254a5ae605142c60b8ee7e7e56a162959c870017f3e29335667eae6be5821a3056ccc6f57e7deb180d79d54b7fa718ee4e10af8c83dc698d297299e85850c15f071902c47322dedd29c14b09bb617e591aed4d70c14b09d2f6789935288c5e429b8143c768fd54e3ae75815629882d1141dc33e0e6141264629d82e8fc3357387962b568118a4e0de5adc73548a152378522e88310acefbb345a9dd9cf25e888a0824a0053144c16726ff0b2ef9626d88f1e79cf32caf46730c3140c1ef44b61862f92758cfcf1d3b99e6d7ee09ae3bc82a7da3230563d87004bb9d29a668f5614a928461a3115c2489a175c772b4348c6072ba9c6aa2b4c739b22c820d5a7539cc1565d1ae2298aa90f7473ab0ecd8f3c24622188fc317f5fc2022d8f414d2f5955ba6dbf610dc748e353d7432041fe79c1b3c8bbde71c5e0836fa97ea7f60592a471302c9929753c7bfd941703963cc29a229aae307054155a8602310acb54ae6cc641fb55500c16d5a0e0f16165a4bbb4289aab0f1076e75521e2bb7bbd8f003ebbe29a9c68edc53cca3b0d107266984ea86679e07ffbff800175e607180e503933a428410bef15ef7dcd8039f6b396acb21974dd8d003eb519d3fce293e61230f5c72ef24153a9eb7bf09181ef86835e61c99b37f6cd3021e504cd8b8039f9139cc71aa2fb447ecc085549a593fc865239105416dd4817d3fdbcf0f73746052f25d52e6b81d427c0ebc7be6e4d022ac435fe4c047490f8fd4fae2c66c1cb89c7246e1c07aed6d46ff38808d37f0d71b37378298471f7703933298760ef2de06f626533b56e44859336ce0e3c8ed2a7b72b667650d7c8ee3d86f1dd12ff227da50c39ec3bedcd19c4d032639a755684cfe5b60030d7c74ea66fb971741bf33b0a9911f256b66e03774ba94cb3a45b7ab0c4c07b93be758771c43880c9ca690bbee69d551221b636053e34868d1dc8618184be6eafab1270c8c6888b577151818cff39c8a9b7611f517f8b31db51851bf3e2a5ee03bfaa09144df067481cd0eaf63e5d0ed38ecb8c0594a6eb9dbddd842ab1bbdedc39469810951f28b5f7a5944c9461678ddedf852b96a77786d60817571ab0f6591be72bb71052e7d5493375a72788eb7029fe3fc1effea1c47b6ac78126091c55b0036aac0d7540c597b13fd77f185159f0507baf80eec06159894c3e42ff696195dd5c2c614d81ce51bf3ec530a5c925021be6ed092f04fa3c0d9ae57e64a124247160a9ce6b03c6671ca8388b12d6c3c8109d13b87d1eb954ceba22c8c165868a00bb3b1d445c68613985c1fbc76fa364ffe680257aeb626b12c799fabc9042ef68b86f6e4307d874b60a443ce953247cebe4a096c7a55d11c65fce48199043ea26958c6146fbfe3b781042e97a5cdfdf4afb071042e5987deb1869893c7940a1b46e0bb3cba263ffe70d2c6b3604011188d8cb91fdcdb2002db2f5a3de1992130413b4ed7e4afb2b0218427f72b5d32cf0581abf435de13c52f6c0081f38ff236535ada56c6858d1ff057a922bd9373528791c2860ff8b41159bb3924c5d0091b3d60cdfc33431249a974f280891e522e89ae8f3385b20b1b3b60a28dddc5acd1175e98065061002a60d404b68880178b74d8d0c1ebd6a9d1f1bb56b0612307ba81032e05cfd69f9c34c2c60dd89b1cf9a6ae339ee6b00117a244376ac0e6b08d1243c7f2608306fc5987169524bdbb96b5848d19f0f1876cf51d15bf42c2860c98dccda417f2c4deb362c07de48f390c31fabfeb30e00333bbb4746e91731c4ad87801ef91ec3cb674fb9f735cc007f3284646cc5bc087fde167258ba93fc7b1c10226ab3e6e4b5679346b1b2be05383848e366fab87dc860ab87afdbc947c6fa480491dde4a0ed1be2fba810d14f0b95b5389dd998590ae50f2dfc217041aa7e0b6b36a089645a2858629b87cbe1eddd1c72f7972038d52f071796888a49556e8af500d52b09f13daf23a4cea59d12f8227dc426314fcb6c5dbd0a3defd71a26027aa7857c7dac93aee0a252bdc0d291a688482bbd496aaee972b940a002fd000059b76d3a268b9680ce94f706dc13a481e9d852cc92d68788209b70e29e694268fc37482cfe9dca1460739d1fb2b94b6f8a298165ba86b70828faeef52d2fcb109ee263baeddb13cd56b820b298def5fec8a1d4a28078d4cf092b23f781c66c490a36fd0c004937773efdfa4dee8382be80b1a97e0b279851c3ade90d3134bb0a97593314545a312fcbff548aa8dd9a14109f6a4c23bae71b70da2c624b83af130dfcea321092627e638274aac8e9102012e3ee07f802aaae8e2bfc0828b0ff8bb11143422c1a867741e0dd512d276060d48b09b5de2f97970b1455bc185e9220445021a8f60572fea47fc3047551aa0e108aea3c3766c23572889803df013a8a28a2cb0f8e203648de03f658d16762b23b81c76143d4cba294b6565114c666b72d3fbd45d89223412c1e78b1cf75f54bbf8cfc23404aaa802091a88e0d3eb6b73f2ea98dcb4c28b2fd0bc508d43ac593d4bf2f44a050d43b06951dd2ad44edd551a85e0e3f846a2de9aaafb5d84e0b2251109cd592acb338863d7054177b8e72066091a81e02787f092feb8477740709fe3c9547d7e1541e30fdc5b4e12cbe31ccb3bc70f7c5eba7a6ef3fbc0f66f45e80b7a5591e703efe1e638a9660dddfff6c0a50939bd1953f4c087967e9a6d529774280f4c6474dbf4891eadb2786022a68df7e739776075f42296a77628fde75aeac059f6e9fc1f3d04a04107be63c8caf2ee7875a7393021c66c2ff78e1cf858cc8349f6f8ddba3741230e5cdefe30798e1f38f0af22b93bc2ff73dcbf81f7fc173d4b07f943f270c31a3ff0eb9a4c1bd85737cbbb57e29aee9d1234d8c0e8e434f9e29b7498fe35f0712ef31cfea906a6bc2647d30999a3aad3c05588b1ac3b22771c7257d0400313638e3ce7a42152d2e2028b0868f15c30a08a2abce0020b2fb8c0e20b2e689c81c9d14ec4dfa8db97de0cece5addc51b676444b4541a30c6460723c12438cbff7af9e2a688c81af6c1b4953f60e34c4c0e7cbedfba1aba6bc9bab06b4c08203e60b2fa6a01106ae4aa244c8cbf5f87a30b01679f97bb3c7a4ee7f81ef289dae78477a817d0daf68294d88caa98b0f7c614a17d89390e2deb9e50293f32d2f048fd316686c81c9916e7cab98db1e3b64a0a105eeda27766d75942edf2ca4492d86ea6a5e6cd1802bbec082023ed0c002af1ad691071e7e052eaf75a4adca4b9b2e56908615708baf1a96a3af0adc855c7b1ba9be53e6a9c097954966e76f178a1da8c44f25326934120a452291408c62986c1c00e313080010242e0f864291489625d234771480034a2222462a2a161a1e1216161414160c0541a14030240c8482613028100e0503c4a038380ec70f14830940190cce8e3ff283d7f12a492941aed4db9589b81e5e115fe344377b263b0f273a7cd36877ea0dccf56b9011e7319e10498bcc9ff86202a9016d04e1762fa164d19702c40e5c0f2b3dec36dc6efbeb66d4a51466309afd5647da047b6de233e7b54fe797ad63ba70b3fb00826080b564495dc107c2a739341f8d2648071aba5d95c6df6d0b8e1cf0c662e665472ebf0d2da8fcb69826c231e8ecd9aaaf189615a5baf2f407af71d80ae5645793195a644d28646facf64aa272445fe1ed25a09a5c2e6954ca3cc02d6a7e58426f290de186fb5989500b45b71252900d283a44c944890a952bce9c84104f65af817cfee2ba0bf6e0842ad7ffe5c8e951c54b23217f7f87fb527287666a0fd1df38325d9469393156eaba03c4cd14531a7bc180796194299e760d23e53edc43608f0d3c26a62acb35377b642b1bb94b6307e6c5e224d85aedb6d992fe783543895c5485574221c722b59af8befca4527e24326973bd8a3c10f481a6477c0d4645f3f5211bb7a4f65533afbdccc6153710d5a1d0e6c55710a09b1b73827f24d761cde009d91dd94cfbbeebf3000114ce805ef7ed60237f2f3254f8a63e4da6a9c09c00004fa720c7be2d1a76c473833c4bd7ad99a636530acc4bb1cf1b180a29c2030eee323ce6e5f14e229d5b600a02f5d887c769445e4e484deaf6f1035019ed39f92dc19a9f460c77eb79a354b6cbabee3056c15744202d8d1259197b241e138feb7cba0d11d91f10ba9c670e30ccfe58d0610c451bccd0950b70f5a83a43547c6498067f4ddead42c35439ffc8c1317d6d3c48f9c4e3f4c072297f6e05c9213165b028212a8160c536b783cd913b13400b8de5053520d5c83b67a118fa6738c67ddb3e4fc83cc668db9f3fdde1dd0bd1281548ea34add233c4313e0c40a1511feccec9ae7bc043d639ddaa6b33d9ef7d4e0b686e732f290d2ada4462d6c0f8d8078a47d7a30498ba97f20610c818a1ed31bae06c2ed541a6b1188d0f28ae06683b343625d56b270265712f380c73999450f479db924103b2d9a9dcd9dcecf831180ee205abc1a47a736126497dee3285170752f48c0b2cf4701d2db55df6b2a8b840d5fee142bb74929a7cae32d2561864c33e88329984093bd63cd2262531b9ac549b7470635828b78fce3818906c4ce8b3ba3b7e4523289034a878404e8b12525e877ac76a4a5b419630f5d56644c9f630db94e596b879f18c1ea028d8dcf1e2032a7d0d022e6ca2a26b7d5ed17a06b0a9102e44cf1e726380149c8a7e2b86b22da6c54e7a5ec822a284238624f01e039eedb0ecce906f58afafb7203922b23c31a0de8801098977e06a5028f5de743b3e0dde49b4fd56fbccfb9dcdd838b810dc20029f47f9cc08941ea340946f9f6c4bd552a2fa637165e0f5c21f5b5abc1fe20bb51c5b23fb6d2c2275055a8d48d3a1490c685a857d7911205faa0158ca70547df6718c051b4898bc26076d0848386c4a6f6375c594f41b36a322862314acee8d297cd628506a25f79a5b88d766639ce8cbbdefd0cd99477cdb316c13c91b6bd039c371c40f2eef34cdff543632f9b2d20a5290f751ee12d6962f3e7212879d6db7cf4ed3239230734b014f9154e57612c85bfc0b0b7547d253714df87198eb9b1a311a6a41739f8a1ada202c04f8322b14c8bb0c9120420b8b0282d10279e5fcf4e6f5dd48129777fd0e9aa9df1d91c4f4bf945f88949fd0e45c3e8a9b0115997b6526e580b45698d5f5d3276c8d564753a6eea89eae3a2a45c561a4339a1cfc79d86e3b5ac658b1442cb804b26e111b1df1a311ea672d4612150076d06dd20ce96cb2c2dd6e05d153330c69c6c0b1cc2970770ce006b93221625bf6881afd6c04ff93782c146002041526b68d5722aad00d9b084599649fa57819b6a55b7acdf0c0b34319a3532fa0f68ada2ad130e8dfa86146d05c892ce8bd1129c75c245b834101561702507d9df02bd97c738862d53267ac4358b9a0ed8014185a20cd55a9f7e642f7f62c15b4eeace48d85a5103c51067f28ac7ecbca0e4b1c63eeee744b36f8a60d079215b0d7de0a1848ad4cda239c3024aeedba3dbbb6c6c100204369700cd2673fa6a0ec36112c7420c927f3c10276187cf9e0d6756c7d565c1afead44ca6974066237b5660965985ffb55ed07fc9e5a460b5d3b51b76cac44b17450e2071781221b56ac8bb2750061aa45e06de8e66eda4c5fe1efdd95a18fd8bf1c3f82acae61c364f4633a4b4169f8025192e6060eca234831e739ef1aad90741e0baa0728c5a6cda899f600ae889c10339258c4b44c340920de0768f59f243801b53a22b8f305ecd0e2e4f46184fc660a536725b703e9ec961bff1a9a4071395bb635a9f23e10aacec0223b9e7edf8c19a7822b609aa9a30ce172f466aa519e33b905412d6497372f5fab2ba55788b1a16089c936133b152c302196bf64e7e5e0773594f922d1eb61439c1a021c7a94bab44c6ca12d59515eeab6e91bb76a13198a629e42558d81f31659b12275598f84936d41e4ba13ad6edc0d882b831c8efe9bec17dfc1026892c0ac3ceac9c8c4cc60a40eee9b0f9f23565f2638725bfe31d1fe25c4e95df5409c94e6100027e6c6cbbe3c345775f231a0a400808c60c81ba33a0bf99f8155e27d40d80399588540ff4036751280de4b033a600bb4a84b22fc4ce623f28c990dd2ce96d7a1dac52dafa24e00cd37d7383541d07708ed24bb090f07b3b518adc0c46fa0615106d9c2cd4931315fc8958e851531ae0579383121097642167e7fa2d0b728410d59f7bd5b3ff49c0651378605c8f87221d3aac9660787a6fed08586faccd1eef0a3b088eb34a39bebd0c6f1b3fee5656f04222022db23a9d95a737ec4455272e2988991e84e41d4c2c3c134984f8ff551c533633ba86125ee5fece7a0f4017baa02bf6bfd3a920a02ca7b0863aba17d3e864bc01aa902ac507230119891ae834aa7c0ac14be3df828910e82e678e8be55f0e8b559b6378df39162260572423d258a03f35002c0090289708d86ca85092a6e36b740f8c1f1841307de5fdaa019c1d05c8b82350cc632e015e324ea8937e878a0894111feb49a2adafb2ac8a9b6a50d7ee75ec24c35486c31f5e4cbdd10f693d90625ed3803273dde3d6b17efe381810829cf7d4430da04560ab4a3cf86a14c210fed876e2bbea56100d9be4633c94017ce2f59c94240ad31aa94efd4556a8da994b638c09119fef7b3fb4e74b51de43840f96c105e47c65574d59f621c7cef77016b49ba8fe25c08f4e13fc0f9a06d71ade2cd4248af0cf2b57dc20cab5a05d3810ecc34665bd948d2d116b001bb511b3a0080d752ffb0416364609bfe655304184cd08e9974f31d40fb01a3e859c1be3e32e5d12c66db0861bd462244c7d4dfc48ff1dde23a3cf6f78c7db48d8b0ac6b2d6d994071eb09ad38cb2dc45cbb5285ecb7c47703ba1973af9b88c528d7cfaab8df60ef5f952f21d7e2031a6cc71179822676f813c9273310d5fcf58a370e04b118c0866ec2e8cdd4687c329401c881c7af88837651f7fd90abfdcf03aa3039cdf751caa67c31b41d73423da219fb66f0826b5d2d4b118251536f154cee09b11dbf0c7ee4e28f1cfa18efcd7633d68cfc24da231623edf98cff5fac64cbf46ca15568e94ad66c79285828bc0ee561986352a77c186e05062037222d3196a64106377271907f7ff8305d5ca214e480f59c0e33815b5daaeb63940fe0c17f4a511342d1217280c6ecc004ea59366cc902dabdadbbbadc4480e8d7f229aa880e1ae97bdf5059a7373cb3e347294ebe2ea03279f1860f4768beda70166fc6d85616b0beca5a767257ae1702f65159088926889b732959aabb82999661d918ffb279d8979bdeba291bab91c68ad0419da8d7806f14943c1105ee033d819f99e4790a242f238e3ad8276fd499aacc2e821cd3e9a41c3adf93dfa1750ddf1560b70b19346a4a3139ac36802796c741f3ca5aa734c5acf91cd3e1361b6505342c3aa9081806d3249c9adebb63aa6a4055d6c0950bc0a3b2f28788c2867151570d1cf666cd18df629c4c76790736a3498629998fad3bc5ade0932ffd92588a55193dc539f4162ed3b2ff5c3e595b3c8ba149356af5f621f9839c81ffddd3b762c3605560139d14c928e0bcf4ae9292e9a6d8c507cccf93fe041eb3bc9819b439d454e4513721e42f136e9b7c3b7e511f2a8b679904647b03f91f4205c1ca69c845c05b2fc58a380814f4d65c857057306490cc11bcaf290ee1b85913adf7121f010fcc1cbe670aeb7a6bc868563328b499cffb37c4d7492082a034fe7055cb6fd606defcb18adecf93a737a43a4943c466f86b4a5a48d646c114d2d422e669a1ce0db725ebef3489c90eb826f5e89c43e3a08ce3b7814cf3b481685d8493489c9e8f9ee3ad349c60349900cc5ddfb9d76d0c41db6a463e3b7b9e2b3c5652420d24d3f2aed454112d22180d02a32ff48ebf9a0b106b313ad7fa5c48ec1a046309ff6ce2cb0a479fdf886796994791962c63b177809bfbec7f1a958525cf32afdd535692f9a050f531da0c1848f1ffbe3ab57f8e02e2caacc4611a79a71540db7ff0d95c5249c56cdc14ea1faae6962ae23259ed05556d8f8567cdca996976a0a4a2ad121f317dcb14d06f3298bf3bfd894f7a2df19467cd76e1c60a92e2095a64a6054928dbccca1bb4d57313e08c0b808c21f24b04be89a4826ed927305fe45c0f1c3906e9862166b2507ace7c25de9f5a833fc10fbaa2a366d394bf5c77f05eb952a56199a53d02b8817fee0338ed2edfb2d5a5095a2f942dce02a11885d9988b7992728175ebea9165e32d6ab9d5f008b0ebff94ce52be11926a4a671bcedc7b15ef1a9e8813eb690e0c2e266cd55bb8099566926d5aa9c9280894f1268b420bfdbf6f7dff468e1173ec1e81fdc95c2571f775174f7be481140c399c3022326b0d9597ede92db1704be019adc4baee6a6017af41bfce2644dd4004273c3e97b7ef202e1862876c85e1bf577ca0f2ff9f6febbc0ec17b2b535e08181633064d393415b2b84a6ea57ea1e7bd2e75bd3705cfca22d05863ea1c2433a17f457a3dbf3c3945c3c9ea4b8b4e61f02f5a10a2dab612b74af86152727c33faa2c3ade5a190e5113cd35f041d3f51d67d426c142aacd5068d0a043eb4ee5c7401e40f06bcf8bd9dd8f94f9391886459a65e5e46938b6657ac52de21b9e4479f9a45ee08ffc1b6de2d0dba6219cbf614d0d0e931aa5c9febae9748892edb074e653122c748a6371381d9236c2b180c04127fff164f9a47448536b196c6b8270f7aa150afc3ba5d66cf3b78292d2e67d8b7d7b672c44e520f17c5111243c319252ce4154ce2e267d34e1215457bab7686810989e6c3ec6a95fd9fae9e6c37b9356f7dd3ab2d82b6a2ad0877c8f7508b60d82631bbe60ccdb8ed842f5029a40be1d3af35f2cfd7d4a2dd6eebc30148f09ff61b29c65777c72ca7f068318e934ce9b61b6303396b7b4de4179d00d465ea8162b3908376193097cc28fb84c345330d6123e033a138a6bb42ebfff875ead6613cde7bbc2901f6fb2c6af00543eebea3ab1f458bca29a5d7ba99c003a462b8dd99cf5860b616b8b90cb4d51c4fd823ab310ce9657428bcef573b644fcde501ca5c384019b4e8ed1550ba42bd50d86b07db550b5947b529a676130ce47f4d5c958cf243e43dbd177388b269cf576c5e68dffd062da68d253bf69184269bd8a16add050f2432b41cfaac0e5799e8795cb30845cdd7161721842738c139f57cc8fefadb17f42c4db2f166bdffa38d616223f73a3050ff5a5ae23ec860a7ba76284f0c6704188828a8673f518735366611323a846c5c0e249995e831add73c03d24a18758d1de451a293735859d593f7d9ea6e1c36ae2122e322bb3b70e594283f8295e6ab58a53225e7c5447b8f85a1454cbfa7be65d1429ba9f96c9934459881903ef0f1c21cf13d0f62efa42a14c2835b80345940778c574b060387501be0adc515af66ec7abddb3fdae6106cc969a1abccc1dd4365cec434b068268072b7501cfdfd312368293821eb4b910546c69df847e3332442909867abb0b6209feabafc873f18cb759fb2b80d0f618c2fb152c79caa9a6d57e7ebeea9f185c496f99f7b187bfa235dec60deafd8aa8ab42691ffd9c5bfaf1f467f76928eed730d9fd64ab09cf07ff54cf0688dd6c58d8b7d29262d67f314a4529082aaebd65592f8ed7fcd8fe42fd99d0afb837db1972a47e050a08a1f3e2a97cbad194aff9dcee2118df510fc1ac6113a60f072bd0c2d73f5587f9222abf7f140bf39e1777f58ce81edc9f50c02773c7d129cd33c9f57ebe723268289af80d96e20e4df75a0c2510f56705f780a73819de8d1920858ab1675c15f43b5fe2b640647909d6d47cc8ea57a168f0628ec19894f1a49d27f4ccfb094455ed60c00183f5b62065286c7ba33cfae4da7ecb042b46f5eba0571bebd1a4b328ad61b5621e0d2ec10caa851c578b1ad9bfb470c7f5667bedb719bcda0f0a553281f0b94daf4e57ee7385d4594ce3e1fcdd2cc5a1cd6d28940f1ff00d4e2ca574eea20b1f6a59ddd532c8083f00edf801b78bd2c7aa304a32107f6708e7f84ec66635658c6184c1e753897716639125e94d3cb732aeaef2cd8a0d5aef82ae861b41e51a9791f99873129b208ddf673e7df2a3c87eb2a439aa280fdad2b2a8e923980d50a057a7969511514eacdd1aa4921ca4d0373cb93051cca6e703b007bc7dbf6c6ce61011dd795e993e99e6cfe29aa6b0612d32f4faf3438d2ff586edbde7fdd31dd5ddb1bb55efb47bb3f97264dbd665eb0e78371b21e9ae802a557bcded4dbe7787bce778eaca2646ba0aec9e835281cb84bd86e93d5f3dd7c5501466067b31c57bdedf594e7679dd6af71c04bd55f95f171f77270f5d51a60cba63ba1eddfc75b9ba5fecfeec9d136f366f1dda69ae6b491786bbcb3d2556dae17883f60b9f77c7dffaa60c43d4ebd6550c3303421bbcd954f7bf16456fb0ded5f7d6674dec8383775f43797d6477d13be775a79bfb2ea3ded9f29edf2e11b2697461a9eef210843e58de8aeee2f62eacb7be121d62a9efad53ba49dbe55fb76ea3a8e057d55bf72ac50d79326f2f221f959911bde4f54278c3e9cea67bbeef7029b3f5172bde7a0ececa62c379cf1f30569ce475d1ee393d6b0fb5d73da6eee40add1a169c1743775ef7925de6de517bf7f44ae3de6cb0ee41f1b5972cef647feb73792853c75b17d11905494303cf8038a1940874db797c4202a03d0149f4f1b13fd9a624c693d086acb520592c67319a988e34135a70893e9c88dc0812a3818842cf1981382f4badaab4aa94515873158c3678675bafe0f08bda8a18a310bc6f6d08d38da66c361ff793fd51a04313a15ae7a6930ee0a65dc723125c87d67fc4e8d9b91e80e4f96b94e219e19f0fe3ce5c289227a5b9e5fa85b11f62a5655754adf4257c4b44d61a1bb965386e6621126d58ed738d988166c4eaae11f061cfc6a62ac1c0c47ca1178eeca2a7ddd8f7cd1c5753818d9aaadbc05ba3b17104aa2ff592d6a6b3c68122da72a2c5a40c0bd78c0f17d771362f3d6ff4d29e4a4e078fa8d4c98daa7c73faec0b61678175a1343fa44f3fb570fa3beff47ac15f3896f21720c685b366563989ba30d445608220fdac8296292c54ea64dc5a5811cbd93f3e49e028699137c6b822afa6bf4bc474cbff61dd92a9ccc5fbe3840336227171c4bb98d4bf4a1e65018702ffe7e0f857156d5a19f5ed5e3e5884e92583e196490ce3a7f3583f242202937eb1f9caa53293b6f7efeb6ee7fa0cbd905e060740eddc060e04b55d689846e34118302f7d8e78a7b0cc7f299c92fb391b7f8edc5e014241e583e738e1f6abc1b03c1a853c0c7ce550fc93d1584def0118f03b60012fec8f516cb92a9f17d89ed0227c855da20f15fcd85bf1a3a8f1232894b3f2523815bd01f369c0bbaf0fa2fbc8c29addc21282b29b2d568f0a79289fa4bb719bdeb8e653eee71232ca61f5587b4e5e4d56765db9145c64294689d9b522075b2840b999502020102182a072942fd0d48a4b2b236e6f83467fb1f8c61d6142a01db651c3861ad3b6c3fca667a29b73718043427f332f3dc41614a43aaa9edc1a61b1aa31cba08d8725a2d571cb7a7ea6aaa7d07fb5d3f504ddcf60736add01bd51b2398d2c77f61b9bf38f0ec4df898f8c4b804befbb8937c4c82c303c66e3d66ff9a2a8ec93a6b47161b72a4d1ee682c94f3ada544f6cafa38562c385eddcf5bb880e5fb2d5de2f18df776279ff5d63dfb5b477b45cb4e4e9ab1b68989f4b996cfa87a884c7da8ad081a3a3e8c788a09dc1aa4a82ffbfa0d0e315390823e7171af81183f4ca45d2688092f098e8a86c0b064622b045da770de9ea949f483005873c1cee876cd244fd0b28f8924c8f226d42cc569898034e767ba1d0803c33ec6aaa170c735cacd1a6a52f755f6c0496d548ed3d74e78c1b5b4e25828282733575e98102a335685283182c30d3ab23cacce4ef619e7cdf5bab9c3b9a9d1ece8faa7d66d0e21841cc665d681348d51a22d7f17910d60f97ac7ddd97265a5c0b9eeed1609320e170fecbc05893a653e64cfc64d44b82771631223f5fca64edb629807a48f64f593e16c5a526b3b58f5ad713134dd4df1771dae39c28cec4888ea2cd8581a28926540e5f244ca9266a8f0e0c3feee029127f30f7fe87330f4d642f05c070cc67dcdda8a4b0fc043c3ed863a06881bb8fb893e884047b1ba1a89993f00d8dc7f403c21e95e272b6e10bd94f604be25e966d030b6b106ea29dfb5f10baccc1ac368f7548d66e03ba8b85fda2e9bdb652c6e822989808df9934e106bb8ebb38b4848392fff0212c719f28ccbc5a9a9caad4fb703e8bdd2808bc720368b8beace6c54bbc356b1c6b8cfbc15d3bd17f35d65b3d2aa109a207fbb83ce0af83d2b2ab7b9089a0ea0125c2a283cd8621681793c1cc734ed46b706083cdba82d6cfb81e8cb174c722900e522160398810c2e64b268182611385d2cbb0686f0d58c72328de60061e4bca709601d6190c93c74094e90cf60d4c0d923e60336128e118c24c07cb874e20d90e042e0f0699b0a90f188ee1180e96d11c49c1dc08601ccc8ab0e9167c58c7723026eaad5ea13a8890f025c2e60a9b9042059daf83e5af188561e9c07d821c12361e0d0dfe810a1b8bdaf3f06b83311d0cd6067a06133a2846452c01b3dc4c91833628331818ccdec118ba6db215ef41ce844109cb226ce2acb4518683a6c1a2c19807334e80e706b70313226c5ca6b3b10b6d1c667ab2855e18b04980f890fc39efa8614b989ff071c20861d783cd50e9fc111a0103e12e63b7f3398232389717a5ef581ffda763a5a9149e4b5f07159c5a665f7e1d2cdfcf0740e818300d86f2c1e498dd210f6ff062806eb0fce01841920c66121acbb2126e571106073698d957400a62067164b0c292799da6614278091e047f0f1c26f890a065c2263f69d0df0f7cb9d7b0d2fdf313b3eaf604bddb3341a77edb98fd70aea07dec521aef606c21203249c1d1d6844f1c5c2c22586e02001569b89fef72a53ed88af50f8872ee6d3720fc35f87fe181b0c360b34323810ff4119633da07096c0911843d3658c668c48dd1066f06683058deba72671031f03418c2603239005682d20503c2c10773123e103638d804b1dba9f51061b373bcc375ff60230387a62340c2321445efe24df88e809ac1a6ee12e77f4384cd47f8e9716862ee02d21bdd3240d4719aea09f74007e3f9686225005e402ba0246012d02e20f540e67e5689fe03448b2890b19d02e9bf017df7159d11ab3b3758bd5781f4005a984318830500450ab862a45ff08501c2003e04ecde400bce42bd5d1e004c80160dd6eb0620b14101da1410f86447971a7d8000003f005f001f803c0008d79a7e2141807403f617c04c4a9a2ae1063012d3443dac6c0de66e29968013b55d13e3e36652e6cc273c921e431e771e737f4cf2de050fc2f588ea81f398048ff7eb9c00e4db63cc230f1eef957df7f98f116f2020fd386d05e4c8fa718d09cb3f48f15f2130d8b86fa55bcaacc031ae319a0fd0dbe37da0138c08823e0683c8257272fb02a6fa619c169b2a4603a5a38c8b564bee496a4a48f89f224ba18d4294bded0a0934e7e7036cb31077e0f81b5b4d881d0403c47a217a645368e33e042e234019393195a336d79be5b4896385c2184710387f4e5f9a959486c8af1acbf1d5470c45013b02534f299bfab1f3b31a0dce151e613f4f56d583faf46e772ac68b69cfa109f8abf96e95e548f3ad4d3c0a049368b340a2a5f8f4421a8807a281d365892eb1cd11d3098c5d7c1bf56c6faa72d747167138208de79bfd0052344a62eb0338c361170af03eb95c36f91b4a35705f472a1020546409207502b4d4837e26040132d408fdd4c208902312f6a1a09315432e0a82052d9d0b4e0b3399f93c48db3addb63b11afc6cc9d8fe8b92b17c8301142f808d07c06b2281320b91348b8a644495b42c8b9f22ca54aec15768b496eea39837524532cd05a0a154e66347f1dc757b72725e3cc4bed241bd8adeec8e4907cd53ab81e52df72fb3057b0c2957f8dc780c12abbeffa7a9ecb1d85b63a44d8637fdf04abbb2c08d293cbd3383ce279f41acecc4de3877e807d40c4aa5b0f8b706b97f4b18f5b077cf33b24a40a033e37854d0d3970b2663903333333333333333333b37c4c446db3ec122d939492dab8b1d59b3669f8bd2920534a29a5540a6d43921cc9911ce340c9da400302820d920de20c35120e10dc9881a306d70fdad1af38a9974c52b81ef0f0417bf1394a7fcceea2630c78f4a01921c94d46ee3d13251e70f223934d683c76708877e4308929296c7a5b9cf91f99b3e775d0a565298f6d6171dfcd419f29489216a7d742507ae0a0492a5cd21934379cbf1e37602c7bc5bb469430ef7149a8ee2e5d261a5b376c38c0858b2c6ed84824c8b134f0b0416be141e4acfc496c873c6ad04c4cda653394b8cefc0dcf81634616356ee4e09a80070d9a90ab24ca8710b66266d0884c9313c46a249df232683f8308ff41abe586fe028f18987b9d42127b7918f431a78bee768dc70b1ab1ec8839bb530e1663050f173473aa2f94c560c96479058f16f4ae962dcf8ea66fe60ee0c18256d72749f9d714c5441e2b68f326d9dfde20f6dde4a182fe7388684f9d6ba54945aba5492e09d55ea0a21359d6ac4567ffb77d718ab63289451021ba6a5009f0c214bd9c92b25f3206ddfdd1d8e2801636b09851ca71e0a891430bcf82499023c7dfd8424140821bd78181190978518a5e2cc9679c666cbc2045e313428e94c7e2e59546f01018c1d3987172e000c18d0bbc18459b132b2da618d1298bb27054ddc881e344d1658a70f9605afb321b8a5e83deef14b453a2f00214ad65350959e5bd2dbcf844a72df2598988d772bda2e18527fa10279759449fcbf3932cbce8441b638c9dfa5eaac20b4eb4497dd5454911fa44bf893625330d4169480d2dee85269ae8afb12f668afc9e3c07508d056851a30a16bcc8441b34ca8ee4fd54f9dd1a39b4a801820ffc033870c32be0c2058e1a5ab870e18417986894497d4d12748a0a5e5ca2172fd99df395d4184e2f2cd155527243065f4ff0a2129d4598d12449891063108dad1922782dc8251b366e7858065e50a2495973ca8b4934ca82c7071d94449fc2f3c60a41aa80a3f122129dd0f1f553f8999cd98744739e3d6c8720f388beb4bfe54f449110e28ee82c89144574081bab6f237a51f9aab234a27aa92f18512e5e2ca2f13ebfcca0e72f480f7aa188b6734cb9833061b17d4944d7d6993f0611c3c3474417933d6364e6d8f09f2d6c6c51ac7871882649b190d17a6488c6cac4c5fc1ee268a710edb749ef1c7443884e8ff478da547610cd9968f5e6dc1e3549106d4a9a6a325c2c107dc59811cb259a107df27801882687758e9453ccb478fed07ce7c7fcef65c554bdf043a77d113d271dd387468a8e0a3a22e5dca17ac187be2d86dc41871d29327bb187b667742ca6947352c45ee8a15ff751faf53782aa60bec8439b3323d27dc543a32c6376f30e21460936e0c51d9a38eec9774f42ce79ed800cfafbdcfd4275e82286b8dba7174569e8d0a4a4b38fd2792c9a98cca157eb2b8f9ee4069192e4d0af2799c3b85a71e82aa5fe4413c2a13de1b12d69d11699e237342374d4124a635559ef862ec6c9c1f544d4864e58599e0fa5f44e0a1b9a49aaf2e5a89c736ace1abaae54ad7e17a9a1d13996886031088dada6a173f7f7245f4643dfb2a3af4f49958feb0c5d5ad03f9d337c634c99a1cf4f4bb2954966a6a60c6d699d181654e4ecd221431f62bc6e104a55e9128ea12b2164f69d3d97531243a3c17d0e439b7474ca167df3940886b683e7e98f38d132255fe863790e12c3f8a624712fb0579ee72eb4b9d9b22be242dfb3c97364c5589ad32d34cac2e792e09d62fa450bed484eedf29b65a191f2ee41b525b140ccf9981d4189afd0ef66eb69aeb0d982d40a4dd84c11a2a47e2c79159a9473588a9671592da642ab953ce52a499a4213362dfc7f90c9ad5a29f4294ee991a477abb31e8526a564316ba71494d82814da0f6ead2a717e421741e70a2d1bad37a94e6823a6606294ded22b4a4d6843fc8bc91ba6847cca845e7e84a7ac957f47eb4b68d782f98ea91c25f4ed9edfe7d92293f892d025ff8a415625486835ccc98d2ee255e33b42b31ae3982e2fddb1448cd0864cb93c37b508cd5a113acd94648ea7a344e864b3b3a58e4e3ca51a421f2fc689297b82b69c2284fe82be5842c21784d68488af3ca745caa480d0782539223da9244e867ed0b8b8c95e8f61a2967c600a09328824deea419be4970c51e241fba1aaaaffe34cfbf262078d8e97553e1f9d458820e0850eda096232fc9cb2e4a9c941a71ba3db35896b0d2e0e9ab0153243068da7d35ac08b1b90538a6b08df69261b202c86592a31294de66b60c87c956fd237f23450653fade38fc6f7a01970a2a35af1c328b10c485935e37662c0490d2da1447392c3a0d34ce5b9e2177f43fc05443d1d23a89c45565c8087de4ef1c32d68728eaf7994d0b2c0a0259ce7d4e5617db1824e64cd96b727aa80172a28693015c4998931fd7488202a3afd0c11948f8ea484a7808e5394572f35c475e4ef4d91c64ee13fa570c3e51829f4911e25896ce76c14c82054384f2151d816bfe2e7e3a170c7ff5cc64fa57801c51572f434e5689db1eaf844073a3cd1f7867c3294bce7fe4c0d3a3ad1975699f8495b7ce99e13cd04316555793363a4009841c7263a348199e8c0441ba962ab2ce8128d369d63cfb928d5125db5e54c0ce7b932c854a29d911d1a52b82cbb3a253a15a385c4d0b4e0c13289de5ab3dd72c392688288063d72d448b41db379a864a1a3f790689248cf61367a1d8f68f5bd92f4d1cc9283ca1ed0e1882e7a127a6253165531df88b672cc7031a4ce88c6c3c7f2b5921331dbb188d6324e8becf946346587225ab5f6d1b9214267eb34b64870c3b3c80204313a12d1fbc5a70ce33ba7b32c8de8404417a484a4732644636b067a04022c8e1636ce92ebc0c08c002ca2e3107c0a5f13aa4d84c6d60c2d6c1c1f3a0cd1254fa24d07cd9cc305153d7414a2b190d7889144e67508213a5349699552128e8f138041740ca2cd98236b3169f20a320a70e1c204d1e893219e62876fd93225bf9163460e1b5be098d1a1a547908f27f48f6ed89801884e99f4d010338a99887f6842aa322532447ee82c7e6a85182c7be8e8439b43c5129144588ef1f3a1bdeeccb9e4a521b2db43d7a72187de0d1b47373db496dafaaca3040f1d79689276fd12cbf19a31c343279f93ea0e6df2495e1e7eebb04363de232268d049b7471d75e8477c5f5482890ebdbb4f50edf2e6d02187be9246add80e1fbc1a5bf88c1b36d20c8265e88843a3b46451427f8614f446c3d00187f664086282e90a7aaaeb78439754d4cab9fed0d8b22a74b8a159ad9c428c12c3e62ddbd0c649ed271ab254dc9f0f1d6c58741c4fe6d9326b685327a59fbc3235f42249c6eb892955cdde1b3ad2d0c8c7d1aca617832689b9a1030dade5ca1ad4927bf24bd3d07106b6eb30439f32670ed9c752c0093acad0089d438c9a03045be400818d195ad8a8811d64683c77eee7d46c287ae1c28505a0081d63e8c26910fef96344bf48213ac4d09fca2c1ba34b8816fc8e30b449430e3268b18e6c25181a931da933219784a4fc421f2487df90352667b77478a1effe379f3561171ad933edf0795907173acf9d7cb6ba6243c7165a5feb242908cbba1d0e7468a1ab9c4c3848e1e08063e180ad0c7464a1111f752685b920829063a1dd18de3cac733615bd5542c715da8e988385d24982b80c1a3aacd0beea670f91225b6648159aa4bd5a34f3c8301a42854e7f64dd642e199de27ee89842272286aa3c723b8912cdd0c28f2ea1430a6dccdd642905a127c4d56cb7c8025d47141a139f944212226eae24d30185ae54ce86550ba5f2638ea719ff69001578c0bf03b6c8021d1d3a9ed05930e5e192ac49de58263a9cd0c6864bca19f9ec68429333c7c7d01822e28b686c9907ced3600039117430a1d138531d96590e1c9fc3b198e1377c8b3229742c013b94606b88a7a9450de780dbe8806771e3b700018e19389c46da8d8e24f4d6495b78d020a15c68a0e308edabe59517d7fd08daff1be9c687e06f6c7518a16d0d9af2b66bc88e694711da984584ad8a65b961c3013868e0702c6228394307111a8d2b13915287e9093b3030a38a8e2134ee49e490ba621e4ea886c9171d1898d1d12184cea225f10fa1d3d80a42331fe25bea1c49c7e4d0d8aaa1597400a14d32954c4289a74ed1b38840b90e74fc20593d1343fc680ed9101d3de8a29bcecda54569ca70070f5a1537b9faf156a5311d3be8b744a6e4a5343456075d8cc9a93a47b152ed1677a123079d3effdf10b39a7ccb1c92a003075de42c0faff239fb8e1b345f2157475b8e0dfab0d9e2caeb461e255383f62f29f79c41828a8769d04e4cf198d3bc4174cca0917ca6e2a5279d2d2f3d74c8a0df2d1dbcab42f2d01183269bbac8929b75277b5a74c0a08d6ee184509d9a44c70bfabc5146867d0f1579c54874b8801c3bc9fe5a794924d1d18236c54baa2ae61454a508880e16b4a33d631821163c69ca0a1a19f21e25ff7a0c65870a7acf93476e462a15bd958e8e3d9e1ff343fa50052ada1249c2bf7874cf3b9ea24f139a42e6bc3c5085295eab5c993c9eb45045292ccf29da933de4fedb862a48d1e710dba329cfbe3d5fd906c00a558ca28d1c648f27d1485a4b588528fa8d8fb819e6128ace9438c9f937e5b5f8894315a068430ce51a44421415620051c527daf554a279541efd5085277a7df3649d994ae7b654d1094ee4a5eef05005275af72045628b925a41e74954b18926a75c41096f351b518526baf890fd513d95754dac45549189f65c7f9495129ea10a4cf46b193a39e5ed12cd8c2a1de2a7ffc9f2665461894e88b01ac3b289588956c7624c28fd94745894e82a87bfa04aa604d1ae5431892e2595bd737f6464c95bfc0d0f49f4b1c1dcad3365085544a2eb50d65aaa546e26e100025be9e8d0e4489d2c834e4f25b13934e1727f2b2387367b83cad5102986af6aa434a322e000076481c3455001122c408b1b20c8f11f480b057c0e3f24303370e0f02d5cb848fb8843ef315f4ef25c3c1f820f38744ac6354cbe45ca1dfe78431bea92cc4ad33c5b88050870fc070e96c1871bdaee20443c719db5a18fcd937a7e251b9a535945865ceece315b43e76742a707d982e0430d658b1559e572758449c1e2860c2753f8c5a569406c4a15abc32529f34f0d2c4870a3022e5c7ca04197cf8a09ab91525aac561d259dc0c7193ad779f398154434cd35432bdf713f450c39a4682a4317ff9f378491fd5d2232b4e62b1e825ecbc7185a0fe7a5dbb4efb78a1f626845a8f7076fd713bed1f808c30718da8d8f2763c5249386b78608ccc717ea7ca617c8e272a6e41f5d68434a2d5f597177cd787c700173d3762b4f11d1c716ba1c727725e9af85ae24e8607a368e758bb2d08a929fa2e9cd7c60a14dfdca146a1de492378287800b1768044fe37c5c8153cf328b1521588a1eae8d0f2ba031c7ea8999f94715ba18e3febcc7461fa9d3d81935b4a891c58c19e886d3581b40051e8034041f54e8b2c85a96921dd734fa3185de2c6816257ccd4cc6e4e0430a8d7754d1fcd95a1470031f50e84347924c424e9637cfc713da64fd2b2a39068b90fa704217a28fb20ae96932e434a1334b25295bcc8e61be0f26f461e6422e79ca4e297e2ca1512179b3c4bb09cdc10f25b4defea663b192975b92d0fee92bcd936c229fa27f1cd9810f24347165377f74a26f6e3f8e601f46b08f227442dd822c512579dd25429353453e8b79ce4dd721f45779661ea92484ae65829266c93b081d0c42df2f4afdbf3d8223c607103a219fb2ef5af2795311c1c70f9ad1fd1fa125eba4367df8a00d9b5f2a27eba8164918818f1eb427b3b4f5d253097579d05fcea5f473bd623fe463078d4eb272f7656d46ade043077d69d2885194af7e3ecda8167ce4a0913949ce6dfa37c8b5d4b86185073e70d0f8e852214b12d97ddca0b5bc9544e689117a744e1c38580bf0618326c8c9a5375f4bcaf14350e3c637e0a306ad6bf6aba99cd3d8ca1a37ac5000a91a374030c3ab10f041833e6f0a492189cec70c5acd10ab775d4404ab3e64b085a4953bab52d6fc9fd3537a29443e62d045b1502976ccba412b1b58c470e1c2051f3068e2c82462b44f5cc4eae3055d6f8c3faa29a58ec82d103e5cd00895640e5ab3067bf0d1822ec5ceabbcb1f91a3e2ce8ccfba45bcc791f9f7caca00be22392e74a592dd5870a4e8915964255d6b30809c235a93854dc29dab897e93f797d377fa62817a568b4671293a2a9a4e8826ad2143c2c058f31a3e83d34fae6512a2c7990289aa03fbfafef1c0a03857d223dd1b98e0e9ee57297f84927fa2a9d318905932a42e644a341a548bd7842567e36d1c7ad16b971c29ae827795059d4fac3af27134dfe53bdf23a2a23c930d1e578d92b6f8af23da14b74f27345d40eb99efa62893e8499383193be0e97548926769a7a46cb14acb42448ff4c8946c4d449e2ca9327794da22451915048948b47b4d942e54929661dd177104d51bf7a731659233aa93ee6999d7ca38ce8475cfbbb9b69116d6e2551a632534c80a1887627850dba94929e47c623043012d17fd448d1f2b6301001e31099e46ecb962497e527941232c7bbc4300cd14fcaa1e486c885e8aa348416b5961064173359d9f0f4344b6da6123bc97110bd7f9ce829490aa72126883e06f5189496470cf103d1eca79062f60593b01b4090da008c3f903230fc807de8a2573e7531d989311ee369522df31bb38746886c398613daa4be7ae8e575443d833e0f5d85c64ff1414387dee0a1af102b7d54562893398c3bf45dba7594ca7ef65661d8a1d30df919a597ba018c3a182eaa16cc727777efc7a42aa99c4388031874e835481351c29518fd600b60cc21b99d7478909db7a84103c70f60c8a189134c957a90654ae6c50730e2d07972cd5522a99c3e15cfa8854397333b492d7a0304c6179003186f68d3d52c891872fc49224d80e186be55e7e535a95546901060b4a18b9d5ef9b2b33b984b9e00830d6dd05fb3143dd4a28663e141821b8eb4b0713e068c35b4bb16447c5995d08c2501861ada1cb232d22b3f669220186968831e0bf14965299ba3a19131e96bcafda771e9198a194a198c0c5df6e9954f5a1e3747c6d0be6710ed7fa9189a28594da72473c2d0a5d89fa59dc1004319c9dbe2c552144d8be7b36d5dda82f18566e5574689cf942909c30bdc05e6c26da15c68a10f2d9fc3092d39685366a19511fbc1421bd5725cd120be429f22592439796158a1375d3974699b9c14371855e8b5554f85cdfa9762240bcdf90c8c297472266ea98a4bba71850b17e946085cb818020c2974be66fa83c890b2938f0214f209c59237ed922f578d5d9d2bf2334ed43d6138a1fd142954c4fc4899bd094dea2d8ba5434a516262429bfa41cb874e74f7cb12fae8113582961c25349a3a74d88f95f3231849e865549474b7d0ad48c1404297a9a67bc49cb6d8c26f0b1c06e3089df0f71f4d32338cd0c48ed57c592d8c22980006117a151daef3cf3b0453ccbde419df433084b05ba679249349999a56d22266132fe6163082d02831c24a63fb4c850e0610f607eb8346574c96df6426b11881d103e3419b929e112245fbe71c253076d0e7904764fd0c62c45f74d0b8bcc62a39670ebaa8c9941cff79cb4177051838e88358d29557c1c34594c50d1b5ac0b801c2b041b9805183b637c69327f738952a0c1ab472ca627f672eb69a3066a03360c8401d460c0c060c7a979d19cf7baa2a4a305ed02675fd381d72860d860bfa6dd397f2892553f2d1d802818d1b2430334880c516782de8ff53a85e1ddde10f410d740d286c55b003060b50d9bb948af13b182b682e4f268d321e4b858b023054d0c597c6f2d5602a8c91b7b0e8a166f9db83e5544245934a58aeaee51799834ed1240b916221a9b0eb1e53f43a29c75308ba5234622b265b58664e251752f4b97478f30d111e4d6a46d1472fd15945ae5fcc992cf2071ea26853a49818cda991e3b3a091a3c60d05cc08459ff4e646b9ec243de956f0103c40d199d61854e8725161ce1859d8b8e1804ff4217f28bf1c971b57c5135d3697cd09da55e3d50808c1238b994305c7dfd8220b1b8773241b38d02a9d060e35a781033b3030a33c38d1847099496be98a1f931e9b4855628b598a60c182857019b4c7598df79326b28726faf895c764e428c93b9c89ae73989fa02629c62f4cb4a93b640c6172bcb8528e1a59f425da202aa80c57dd127d4e2a8a552ed5a3129d591e6d7d5174668cdd002af080a2020f4af42684a9202d879c83d2ef06083c26510493ef906beb321711da3c538447635de021892ecb24e9e3b8f58844426ceb565a322d8de0697840a2ad9ee42344c9c4392929f28856c2e9b96bca9f54f48839a2d339654e9af4fdcb933e6a7834a2dd0c994943568941cc58e09851188108ad22642334b66ce4c045e055392e443111afb8d62eab9075ddc68cad82fc6fa0223a1956ba844af94daf12d1e80b9324d62f65e78816367048e03d10d1fe7e3815fb2a66482df238441f328e89a084d06a62a6872198e499e991d552cbc588a17bf254ce3da5b41e8568ae257e08d1a724fe64347dad923f19f01844277e3654e2473d04d148df20444ef9e0311b35cc3c029180c83f9c871feafad098c816314f4b91a25c3cf8502e3cf6d05e8766a60c91a2df1659d470e1c2460d0f3d3449c8947576b5e752250f6cfc0fa12f091d658387465f3c4e9ca41d84f2dc013decd0e6a05223c7943a201d4e96968252623932048f3914a9424a9e72a92e12be244990d7a123db44632be5d0e6f720294494cb16e3d0564b8abd1aa487491a38f4973ac692899d41e4cae30d5d08495b08794286f59c1b1aa99b9b2bc755021e6d684c690ffb972a7a8ecd830d6ba7c4106f2d8b952a5b228c060d23073cd6d0f57a161dd5e34b4c022ddc430dbdeee9e9662a49ca4d8f34346124cf06b9272b34b4daa5b3fec5ff0c7dbe20d734ce9ab098f2304317442b5e2a3133161e65e83582d0d9c3520a3115193a95da62e84b9d645305dd78930508b4f01843a775abe2a6acd33850f010431f2992f88558426353376c38c003366c50c0091e61e82f8c648d91942f5e8b1715f00043afd9b4db0ef81800053cbed08c0ac13fdd2b2849212d6ad8f068008d1c35647878a12ba15972748f97a8fe39ce6f3182d7c20a8f2e34a7ff24c4830bfd99e7cbc953495093b7d028b151e2a1855e725b9898824c16dae01bfc3ffec79c9e9c71c3b1f083632d011e58e8729f08d613fdfdc7723caed0660ea564947f6af81624f809b870818304ef01172edcc30acdc69cb254d2b35eba34b69016bec5085e49f013c8f137cec7a8a1458d2aae7090e03d8008f0a8427fe1e735441015d94754687e654f9e4eb929b4aa96264d543db552d23720041e52e844c62b0f4f296352bb28f08842174685904d87f6cb2128342a49743fa9943164eaf1847645cb660e3da5a26e34b66efc157b38a1b824666d96435d34a4dcb14288ac6869e4700f172e68e4c861028f2674d2ccb4e54ebabfa1b5000f26f421fc44dd985468e4700fa491c3b74012e430f458421f374f8256859727e50c2d6acce0077828a1118d187473b412bf21db028f24f4174e96c8cec403096d4a4a795af28c283a53b6f0384263210897ad580d23f4a792f0fdaefcffc917a139cba72a7b7744682e7cfc1d212653f41a429354a3e7556942e85b7736e89ce2c69c31d7018f20b425d537e70e792324130b0f207416e2ef060f59e564427e3c5351d90e9acbe1c2b54907bd76f678fd18633e0704e9d134e4553868abd2c484d0ce0d8a3b425fc8a1648346858c0ed2257f7a6ad0aec6eca8151a7422a6fefc1f25b1fb19b4224b4e4aea9141d71efcc46b62d0cb9cd6978d9772cec0a05339e98b49332fe852a805b19942ca5371417b3936778ee5a4536e412f5a625474cd959ab2a0f755134ac9ac0091ecb11e2d69850afa1d957f26f4a9682d894610d750d159149d9ee1317bd44ed1678c31e6f0f8d9cf8c291a5dc2657465a5e84be88f59e4435042527429c52c1951d9f688194523b553868d41c8fc88a24f42f2e8184ba1e893c7ecdb93048a3e9e0c9b6437674ef944a7e59308192af66aef895675b2675121ffa5be13cdc78939c80d192a8f38d1552819a2c4a04d347a9d63ad2c42d21c4dd41326aa44ed64a22bf1f8529aa9a75a4c3441b72525237b892e28999392d12daba79668ff324c3d2ebc3b9568e4c41ff7989397a444673966a9237fc49693682fa898123a476f484aa213a57add9489081f23d14652a97f4b0e893ec8ee8c2e49995eed119d7507b16b9a23da2d1f53794f3ee554231ad92349644492aa9633a2d1b1ce252b8b6866c52b55cce74984b822ba6c1d729069217e3825a28d9943585f2a8088fe24886ed9205547542a7088f67a5c739cf0a663a854c010560ecf14a2f5b254497f274413a4858e31a40ca257ab3ea5a4efb68405d15974b190936031a38168644abedfda99313a40b4d9f572ae8cb82fbaf2874e3d962c6955f1436f79f262babb8528f5a1d917d5bafef3a11f9dfc4b8414924fce1e9a2439690a42460f9df0941bd57f742e260f9d08499ad5d7f74cc7439744b6647252eed0892df914157647c676e844101a73d4681d7a8dd9ad9f543af419cd744f06ddb9947368e54bcc851e155b9272683e462569a65acae1e7daa7b9a321c3a11fd3a384771c0da5f11bfadcade1f34fbcaf84ddd0484d3d7335b5a111a252ce1783ec79121b7a0d32a424b973ce9ad6d0c9f7fe24f957439bda43848a9cbcf9a7a173cdbfa2bc2b6715a1a151d99d322bd1356e52b13a316668f493a5d455d91ce46568e3647cd392fc4452c8d0b7bc85f49fc78045de590c7d8c08a73a8576d26c18faccd4ac263c929c2c18ba9c29c8b9684ca1d52f3431d45466b4a0dd4f2f343a9fb6fcf1ed42abc1b3e8b5c58a0a72a1095a923611374f4f700bcd84983526cd3f31775ae834ac970e1fb46c8c6d161a0d7f7a936b58e8940e1d157452fabada2bb43136929592aeef262bf41d2e236bc85721b5184485de946ab2941c562c53e864d7934e117e5b3452e873f0d0989e22235fa2d025cb7b417e83aecb50e82d943cd31d93cf13bae0a9c4d26248a171423bc13558c836a1cb394436555399a0b87769d52f97d0b7c4949498d3543eaa121a611d4673d4f4924b93d02795416f7a1e653109098db8244d87351da1093a774f9b52537964844ecc4dcf2c42b3518210aa7bf4352702fb5b293eb4328456bbca829658084d0c51828ee16490a72034a963bae97381906bde58417cfd412b17f482d2b9f94f983ee863ac5ca77fd9837e5234f1996476d85cf2a0094208d933b9548858eea0df7ca2724ebda7c5a4837ef3648bc64f0e9a5895737655ee8e0d0efa5c4a62cc299ca5e6064d4e22228b36e88210d949775e835ec54d5a460a0dda09ab9a156bda619e41a339c41c4484e4a4b3326882349f4f12ffbfa231e844e8ea567bcc11c3a08fa016974f89fc375fd0febb99b01e253de482f6e77be462d0392e6b41f3493c754b4324ad58d09f4a95e3f542f00ec1159c4fd65bf3540115b4a5134c8610a5a24bf9824e329769d3102aba20438526d7f0f93ba7e82f2f890c62297d634cd1afaba710e2117c37a568dd7327c7ce49d188a8a47357b463e2a3682fb67a7fe989a72fa2e8b284917fda848a411c8a56e77b431614adf556f85841ea48f613ed774b92f32eda83ea894689c8a3f96727ba98824cae9c29c63e39d1e624be6d2a4db5cb4d34235a912de8678ea80937febc47fbcb4457917a4d534e913798684cb36993339bba7289468e882474ccee24abb3447b2189bc2ca9ab442321e578d254480d2d25fad21cccbad549b41a26b7c7eb24d18b9f9808aa45a2371d3959a5d4a2e3824497ab22e41849fa52658f68b2c609167e3b048f9823fad29d753e82b82023d608377ec7af10428ce833b8959239ad828616d179568d2f414ab6ec5144af2fb2c3bb26117da81295630e6fb9358868336c2677afd421bafc31e59a8bf0ad4a19a2f534e51ae142f49d3d7f998af5f82e215af109163d6249ce75109df2911ab32197ec5c09a2eb188dc9b3afca5f1588468b068b1b62cca14980e8a4f689d35d5522fe1ffa934ffd2e31a593901fbaaef8b1a73f7ea7a80f8d678e29538e04953b7c6847891c466acc1edad815e3a4ce2222a3874e7bd4f3d07ec8633927311ebadc94c27b5f29f9f01dda78bef173cae8e5b21df612b2ae95dc3ab4963d97c84859e447e9d078f00fc99a3b962ce7d0a498749464510ecd55e658f18f4397643ee6b40e0e9dd8d49a742c5790dc1bda50e6bab31537b45a39c7111554cc721bdae0f3b3a1cb1b45b9fb84c45843a73158f630d62757610c3574aa394c8eea941869684d96d06359bc1dc4404367425e5cf518219f91c369a815381ed9e8206b8118676873895766a7a029252f8619daebccf54ada33e43e639481206311c2aa55977e890e29c47c2a6531c8d06e7b6668990a628ca1c9419cf03d118a218646c27bc418e5d3777431c2d049d235e979314be9df0122f81a57e42106183a2592ce1f635c4d438c2f745226c48f124693c9b0aa171add29aea5f765cda9caec42ab39f3881c27c79843cfba22f30b31b8f0e918d14c84a449a4942d6012acb2422696776c48f8532ac4decd295831b4d02611bc7b8498596846e7ec2542689e7917030bcd85594e3e4b8c2bb42366b2af8fcc7c9e7517886185ae2ae419a931298aa754a10de2b21831a8d06cb5270f29b69ad4708c29b439530a328ec88f564129746279e5a96386acb18b1185c6e4375850798a018536b35c06d920a1b185150226319ed098ecc647f4a0b39194319cd09f0af149070f1f55ca36c468421f45c6c4cdf8f14ab41f1a8309bdc56b8e2194d6a427c40a810b17582138ac30c458421f5272d6185ee5824a094db8d6cd796a59418c24b4c12207ad8c79cbc22706123ab122749cd06f5a448c7184d652ae95f8a0d4831846682e73e450162f42dbc1935b898f204a1783086dc43095a2ca69087d3653215783925c412f847e56f44f083919639009421bff1f8267e481d065b7275529fea02bd15a1244b583d8d6078dc6ce1df995748a971ef457da9a7eaa2797e4412fb32977eec839b4cb1df4c12fbff76ba683beaf43160ba7b4aa4862e4a039311b9abb5362e0a05339ab5e7ee735bd2cc60d30b9120b2f9253b45be82302376accd80287dec8b1450c1bb42f2fbaaa4a7be8cbd4a0f8643a46ed8e63d0a00f3a5fc1ba430aab591ac49841d74965f64a61b7944c82410c19742255a8e8bf148dadb3af712307c68841a72164f9209312d96305065d84acad99593cb78e3862bca08d89f957777f17f4d5ba49a9949236f9728c16749e4f7447c226060bdab53816fa62e8492a4f632b0b8db1822e24cd69323fbb91f0868d1c5e62a8a0512f3915bd9af2515a73f35bf32d46452379537f4bc458a7e842d7c447760a2335bf11f830452beb796427c54ad1098f29c9f8c9a27448a2b1c5a468942a5d7a55271ef073de03a368828c9862514f7f349fc696a689a293f5e4b93a5234b68a8f50b465bac456fcd14ea2c1018ab6b28e6e464f91335a3ed146bd8ed973c3439a9e48bb7eff65577c74a2cdec9b62d55a1a5b5b15f8e044973ddb42c617c7261a3511c2cacee58cf96aa289b2ee1f1aea21422c139d0415f9540c263a65a1c133c4f0eeb3f8127d654ab244526f89d6834cff0f656e29c695e86466b4202126696cb1151f94e8a3e7151d4663ee702293305706f960f2441a5b3724d146cc29a2ea9f34125d34d3eab324c53d6720d12633bd243a3c26cbb18f47b4e3a1164e25191658d498800b178e405ad41081162010c04723acd4b8141be21235ceec5fe5a6fc92c62ae083119de97be79fa042634b73118d3e61b99de1ccc38f21782c668cc0b3288ae8f36a764f496e49996c60711cd0a206073860038bed8f44b451a3e873157d159d83882ee65c329f7a8a8e4ca2b175882e95cc1ae4b427d113a4b1857e069e219a20e673b81c792265118dadb3427421660f2172a492a5651a5b8468744e2499157afdf81844a3f233472d2dcfb104d165af6f04d93b8dcd40b4b192c7bc84f2f78ad3d8e2940304a400d1fabbc6080db91b2e89c6d6089ec68c1c5ad4b8b145c19103870d1a33b4b8f13946f06a07478d2cd0468d195be0c80e0ccc80c0c71f1a57d330392f2dd1c31f7e68e347ec956b66ed09f6a15152b2478ed974b2c6875b2b4dd4625ca524474d89be08fd7fec415f7ce8c1f2c08695755548292c56b278e8b44ba4aa07f91dba24e663fa696b87f67b3343ee55fb69b50e7d1815ff83e9240d81e84f8524fa9d1ee15440b4af991a93e4f19294fea10d9b64cfe54ffaa117d9312ac417fbd0898f2073f93c3e34c983a62027bb3df4c1e34a0721a2c88cf5d0958aef7c952c9b87948c3c34a6f573d0cd611c38a220030fcd759c9524b9f926d71364dca1f339b9a544949e91311c820c3b745622bee5101ee53c5c8746539215f3a4201dfab0f9bb73a99093f2bd6c20630e9d12215ca40e4246edea0632e4d0e826a55225c9fc40461cdad1dd0ff9bfe90e64c0a113b97c3b5688fba52a3d90f1864ea4aee07259d633c58c20c30dfd279d54aa7ee6d455e640461bfa4962a652e858aaaa6114c86043bfd1939e9c22291d710964aca1ff3c1e26f8041941e7d4c0c270e8870c353417d3db35cd448759d8b8e100724b9091865e279cc89fe33fc8388b0732d0d05e8588391e7fe657a4031967e8b4c7d80f5b2ecab279c3068da385ffc7096498414619faebd04e99dfcfc920439135be25959cab99fc2431a2a5e6903186fe5335b3baa8f8c99aac810c31a484d0f937e25e071d0c43e3ffa96388314e75f880a18b7c2945682ffd93f12f7419daad177ad990ef29ae259ba98c2e20295c957b79c6ca849025ea8638311b32b850324816499ffecf9495a185c6344e8ef9e9e7999230b3d09b66d80d3998180b6bc8aa6122ffb95768f2e5f10a22b26a854e7c79f08a2fb30a4dd05184c9a71033a9d0e95eae0ca73ccaec789953e883c61c2668102f1d53995268542509ba473c9951b094010594f1843e4462c8ebe739a49e0a02329c90ba329ad078877c3187c9d8c0820333b4a84123470d113021f338adf41fd5f91c5a3c0d1c20d86269c858429f5364292193ce10930387633123470d2cb6c04194d07f6c88643a65c9e1421a5b3966d4b894808c24b01e61a259d4ccf89c3b2349edcaa5539781845e54fee5eaa072fe73651ca191dd8f79a4778cd0c8e8af39c80639c9741945b892977a69c95c65378fb9e0223be593db046410a17111613ac72737252c43e84b57c55352cf453c2b84c63f7e92bd124dba4783d0f79b97e6ce0784466e89c4609d11442d193fe82ac3656523e8b4d000327cd0e41441e9798a9b94f0c8e8416b59f7bc7f6292079dd0119f746c04871264ecc098a4f94547f4ac8346c9358b902f887a086e0e5a4f0deaed91aa52502a0eda0c41a4f030c91be49c37e852e514823668f53fa8ccf50f1f31cfd10a326ad045c8bdb973f547ba288306bd7e6e6a55d20c3a13afe19b7219b4f3f9530e1a4feabf29069d0eea51730a9552ac09065d0a5ee2749be9059dcc55a5aa5a324f2ee8ac94ac102125f7096a41399ad0b0a02df921cf762e6305cd9c5c0a27b243c9ee65a8a051eed7b934c58eb9fa54f4a2f1ea4157afa63c2a1a8f416aca3b4287069da2c932ab1e47638a6675fefdfc2fbbf352f4a3458f8c8b147d34192e13649308e6280a3fd2628e94215134fa45accb28145d50490721637c40d12475cdee10cf271ad95839a59c3b8f65c7135d4c0f19227376ecdf894e4416a54de870a26d49e915a465fd37d126939eae9fa7156334d16c97c964a209d28228cf17134d14397b9d9f29377a89b65398783e92b3e4b44433419a3e6d0dee293495e84bf226918d5bc242892ee9767a54aff0d9493472cd37e8c92649f41fb18f44f37fddb1e3e890e8cd5b56db731ccb137f445f25c7f38292237a8d7efabc37f4e9506944ff73154b95e72ef114463449852c1929ea888ccb22fadd4d393e5a9e49d2a288764366f46fa750e22b89e883c82ae9953569cb41441736a628294e6a8b301fa2111717fbda4487a8b221ba7c2996fac41d211b17a27f5396acf5359eca98106daea978106d9696fff697679956107da64abcaea03d797e03d15945fe917e264d7516106d16cfcddf2294caedfee1b28896995474fdd08bdeb8692ee133886c1ffaa4553a670b1293fef9d08920279a10a35d6347f7d0854efc17e12e1b65d543a7e2e3520a5e1652a779e843498931080fada5ca2726b3ef7e88dea1512bbfee0e51524c766876ddda4cef2711aa4323b3b644b12cad0e1dbacce1423bea73e8430c7a49949a7248a9a69871e854cc15be23eb5559c2a10933234e57744fd9f3862e5fd2cae9c94d7c18ddd07a9edbd089ceddb8675962856ce8828a79db92ea909835f49abd4dc57a2f5ba78676634e4177af46cd08a6a1d1effc1644f49c2ca1a1d7a4c3880cde19baec2f717375ccd0a7e02637e62d43a7eb1d3e26953c47980c8de6973f0972a2351d431b5bd6bf4b298626e76df397f1c2d0e6c766ce1b3b3034f93fb3e4b510d390fb427f59a5839495d5d37ba13d8d5be94227f3c57c3a04e52632c6854eb49fd088114ff8665be845872b2165332d34a7530ec9bf5ae434cb4297e4ccbfcd63ff960a0b9d95ec7ee552429cbeaed06713e29354d3d964a8acd05c65b95875aad05bd2f8b01b52481ea7425f6eb92a294bda974fa12dcf2237fcfe794ea5d0c8cee83a316ff06046a1cb10bb347c69e4942b28b44125cb7e4db95f563da1d16ae2349b3013ed38a1cd9934266734291fd3844e9710391323c54e314c68b2c6c64fa1930c1d5f421f338c5ac52462475d097d8e13a34aa924a1cb13fb41446fea0d12c8a347fc549c8fd06ba8886964c915466854c6d214b46a0c55c915453824ffe48b41244217c4fcb924178fdf86d06f684b901e1342db71cf63bbc9289b0ac21eb123e40a20f4f193a7a81042d031f3832666a75a2e1d5ee183665755d744be440857f4e09cb25c554e3957f0a0bd161542f4927143105db18346b4276669585be8a0cd6d2d99193c3968ae3a75bd5485d82f8bc006035cb810818d1b37aec0412fc2f295bbea57dca04d4a9a98f46cd9da54aeb041df95f7f5275fa978d92b6ad0ceaa85d74ba132bbe60a1a144e4fbcec2169ec8a19f45f7a4dc85ce244c327478d1b1f828fa1832b64d05ccce9e17c72feea3e230557c4a0f751a2fd210906bd895cef0f7fa5e3cea9822b5ed0c54fbc382989f5d8f00a17f4e3e7bb13522200832b5ad05512419acb6ceea4f3f7808d0a5c09ae60411f82b4d44187e4cf94cd28145cb102342598ef4f8a63e157a8a04d310933a1a54f452b324b643e840d4bc9a3a20ffd51546b04cb17dd29da1042ff27b37852255a5c6085293c0952343620c02265291a1553d0ce9dac416fcc0a52a0373be3a9cf010ed8c06214fda848c123a68f728d58210a5bc2b9ab8591b01d2969bf954eba34c42f27604528d00a507432f7cb5ab898a62262c08a4fa0159ee84766e613a7e214b0a213fd89854e6d09524b4c5670a28b295b1973c3566ca2bd181ad6441fa4587e13da66a20f9f495a8189e662e8ae6792b94417a774926fc94dc6572dd1c790f722e8ceaca844a73d95ccca314f4f4c75052b28d16fb96596ec23c3821593e84f53cce195f3baa86cf982159268a2c930cf1a172b22d17687d28a6ca6747c6205243a5142f72beb1a01172eb260c5233a19939a07c9a33ba7300dac7044d7f31e64890995a9a35ad4307a012b1ad17ba4ac1fad2aac3f8611bd7c486152d23631715d44dfa3ff594ca8a46ca122bac821d7b2a99c5f98b009ac48449fe22299e9e64811ba158868dc52bf3bcb7209695971882e76ff97a90939a0458d10d8b8b185d50fac3044a7237f93756e5889df8a42f497979b432ccf481e07c1079a10a2dfed2cde68172efcc65b3188de53c3ec79d4f8d40a055608a2f5a449752e1143634b3f8a1581687468aa38114e533e36a32cc00a40b4418a47d193c46f4c3a7fe8c545b5d35323f7ca56f8a1ab9c84a8caede0b0a20f4d907fa27af26888497ce8b367369de5d943db49680f195f42d2193d7411b432e7304145d2f3d069e88a116a1d7b53f0d0c545cd1c522571e17287b64382d0e9513bf4e9e9974a4778c8d13af43b220455a1d2a1cf49719492fe2e293987460991e33ef2626f500ebd6c9420b1446cd2621cda4912a2c9fcc1a10dfa42e67c49684cee0d8d5acc8a195a7243bb29326c1e9d648a92d40653272594d8d0fcf7c46c31c7cea2b486be4227a6923fa7cfa4862e9a10329598e8974a69e82a256e55e511f17b34742a7a7c4a2a67e827af875789fda173ccd0ce9cb4d6903f6fe2327441269c77f610db2f199a919fecf3eb8fa12d8f715273500c8de798ce5e7123f71786f6a37efc145d9295c0d0be650ffdcbd6beb12fb43179265d3aa75815792f74ea923f5c9beef0bbd0aea6383affc85f2771a14b9970aa23da42af2984f8b9425a682ea916f3d21e6b39596857444e552248ae98c142a3b37fe4f3172dea15da09e135cb788694742b741e5674aaa70a4dd8d81fe152a8d097a512f1e4690afd9959f2a05229b46529279931a6604a1985de545029fb6788082114dacb4e3176842b9dde13daf249f92b3be4843ec68a9a6526e5a41b6a42172fc54e1e43cec70b31a12bff107361f44f0841e9b8209394d09a8518c45398f5f793d0448bfc312caf3a8790d066121a347562ce798ed0c7340d1fcd5308c931421753e745cfa7193fa6089d46514b7e7a836a0b119aefbc2ebbb12ace3284c6ad7c7eb52284562fe85bfca4721e7110dad4d459c3e7f43c5a20f4725a11a49f898af5076df7a7fe959618a9f4419547b7f385640f1a6d619ac48650318c3ce8138ee3a8146e0563325130148a844271380ae203e30100631308001840280d46a2c15098688132fb148003632c183432261a201a0e181a1a120983a1602814060504812000140a070221816840913bce075914a12c88b888053420a1105139fed1ed0d11b77d42958856d87022983f43da10ca898857723789b12edce7d8c61be0dc20a719cd8201917307dae7554026b7b833e3af216dff667580254af047f924d25c64642a0e142aa2a8f3441d0ba23c8f04a1266b0086e952008f7396d770eb5860050373089388c33bcfb9cbb44939152e874d626ae1412e70fbe911e9da6230bee120874af168907207943ca59a91ded009dc4b311b3a4e041e3219e5ec27fd4444670ff0628986097b13aac23166831ce70119f22222f1d6f2627ff1a0cc9681cd434bed36863cec37d57f1078c739bb7260486c63feb0f729593e3ad4affc318e027aae480e2e89ff7fee4ac6ece9b789ff77b9951e1d49160cd0baa8bd5baf593418ccf37a9b922a4edd30fa4564434ea5d2410b9369ba4226f983b775cd0abab2643cdf8766dad10763dd8c97a4ccf32f4e3630116a6148cc97f276642ea768412c50cc84094945f911c02715261d94251b61a336b05b6203a4a395aec4ddc3b6aabc2ada3c0e73efa5c9e70d1cc343a43bf1a31e92b9445f6b4405b82ea31060fb426ac627552ea14ad8920a1a409aa0e3af78868d9fa9eb3a3e0cc8630a2bb2354d0949e9253d38708340d715dee4e7544c5d69cd01b62f820759b3ef61b13cae04b6ae4e68954939b39e2372c88ccc0377ec517224fe892173d92cff8dd8423f0eb926219d821310c90f621a00ea9ffa281f159c928435c85223ed4f5987c120ba5a798da0912ee7f4f9721e5024cbbbe8036e0c975161560048ece322b67c85993470a52b9cdbc2cc7704ca298a2ecb0a13163c8a029768394ab2b4005fa7f4128923b1abe5a644623a8de6a03554aab195c2d62153e66b5cbe1717418d2422db05878de6aebad04159cec526d395ade527c1850163b64b743cce40be79e23bbc9470e42bf79825364776a1c86241f405861cd107b84af9102eda44c39c3615254809fc4351d019a9bebde11ecc954dd638bc520cfb871bab54330ad42a7b40e0ac6a6e144c8e18be2e12dbdf8bee5426c950c198e3a564ff09ff1242a82377e5a28c6a830392f1ea451bca10c3e423ca92d4192a63a628ef6e30c5023ad470712439e9600856a8076bb82b53b3865318f55c388b600d25f10870b82ea5ad1f803cc45f079e3224be9a5c013de35e8155cbb9c2ab22d70a332c2ce59152dd8b1cde4285993b3d1290b6d8e0522dc5713fdad4eb1d5619dc56e2a4e33e207f8e3078e8093d03381f6124341bf783289471363b0f6d8e0884ed48d2a5474dea0d2b92a2b8acd96ca4ebc2aaf3788f20106f29e8291e913b81756566589cc2ce22638314273355748fab8bd811c2e4711df45be451fa4a4979b4290c52eb5b8448e90d2a9855a9a7b4cf152bad20acf06c282ea5950ad6613148bc3051c9ec2e604c59411b5cf28828e030113d4bf1e2e5bfa0c76409890d7b2af7f04ac755e756cba013098b086b807cd6847509a2ba55b4d8b15e62a3f4c4a3d26b94e11172aa464828b32ef6b99e523d5409b445fcd123a14ead7c32a5925e625c29d64e9cd47e64e62472705a2bc7ca66892289500164db185d694ab57b2a03057d9cef4b851896a81f413a50adac43d50a368d0f735c0bc4c30d6a2693c4a22f929802ede76b4133055cadaf0ad5b016a5eb8474608fa24d81940a5af79b52717fc2b8b05f233f884026953487adb63dd63be74b8346525d27b37722c8014acce83d418915d3d5b4d64092ea481cc4e378e4ad21c128fca376353d4287198b60e93f87acf6692a132ea1ce98a6209ee8eb6886544114c4eff0f16611fc5812d0db436f4a54df35378ebcf87d62105ad244910e57bd8f83e84657ccf3751586ac8248afb870234d6a234f6f5e95f4b1bafde6560391f0ff1b02fe08c83e8cbab4dcb2516bb3e627e39a7f22d3f9a14e141b3928bad9f34e9f6f1b379a83428e5cf041db3b801392d633bf7c3d98ef8f12b29bb933653550dc0ac911819e6c9b929956ca7e44938a6a11923ad60e2b759bef2184b04a8c568a376992e7eb2b88052bfc7f00cfc2777089c5c9562a8b37c61b2a3100ea1fa33c551a0df758fbcc5da3e1f7386c026aa4a0250c99fe8f2112565cff0a83a97fca892b74128013e095076a60bef80be190ef34001c5c6a171c69d02e821e3c6d76d4113a02a274d016aa1767a9c4b0708ab5a7e1928da5859e7c1549de151489500aa02f130985cf7b43de49486c630df37a5185fe5e86749fdc89484c309500db5b40ca3e2cdb829f423d36fe91c3bffeee750f0f38b2b3ca2be17f5c28b0a5992537ef503d4807b285875417ac5b2c0d92e26eb65e6401aa8fbc534802deecb466dd7117ecc2d9ff92a0fadab83dd443dfd01e7bac4879d8b848863e2a00c51669a95faf36947406ff097c0e325453386d19170ccc9d890a6265084a35fc923562f7fa5852e9fd6c6927e0b853dccf1c03ef0191d2addc6a3e660e08a2377c25977dab71c0bfad651fb2052657b8224d714bfe8b1e18f27e95417a1f068e5d5ba798428243c330a75e8f821c9a288e4c984d980e4c25362c123444caddc923b4bc83b2f5c6750f9d9fe6d9a87e96e467dd3b6f37a8558d92819a54b9be20038f393c13db72775791c2c02525ad5906da46218fc85d9993d30d6f72949419fa5db58c1ba9535972b7ca91f73eb16dbd4096b59d0db12d7e8d81cae6f37e5aeb6bc0f70a8767bb22b9cb0de6a3f24b707847bfdac59e52bde01d4a9e5e4ae91030618e7a2c0e170763a34c275c8f012a19d1e36d34a5d89746280550840997ca731dd3d2ae05ea240a399dcbea607ab8361d78a2327324ace831394ecde4e01d61131badce7cca42c6dba578d33f7b64ad6d93b57f2050bc10a01cad1c5356473ec6fedd1825c188acec084795eb1e5ca7d31c8a47755e7096f0fcf04890cf80089a1aa280351d839d193a12a00038cdbf5dc2f199fd8be5d02edba87b905062543d5dd9f7c75052a5aac6d93d86265957f77b1b152baa607de618057c99fa626d354eaafd274b94e54320e3e03a3e5c089699a5c7e2fcedfe5ed063795db688102f6bf8e4f6887d0069dcf73ee2d7d509b68852d86ac8dd5170112d42f78e50a2a3cc8ede458a6c6bcec4abf5e9ca5c332794f76154712ae05b724b8e259b526e5c082d123dc8ddc7f95f0f03980d8d9acac9ad3ca501d828050167e628681b8ab903387a565faefd29bd5d833d8847a51ab94491dc29c7b21437e03e1ceaa529641ca923ecdaf83ecc8235aa0f22a5a614a01d22f55ed959b2081057e0c85dbb03bfb6eeb2c3f39931f28f785a8eb723f4081d73c39af7d6cb281e8a23e28b30434aad69a76a551a4c880dc6a6f444dc49c854449ed40bffb02b3152d0cac7859640688ac2b4311cc75bc417e495127c28b28fa8f6d0c0cf79bbd0d7a3a65cfba6e68652690a1459c192944ff8999974589b3d868fd0f133a4d147010bf4df8c7d2367a20b2a2056281756a199e551bdb227cd3fb91da7572116e1e5fb36fdfbd422defb2db2c1d1d3d15b78a125f7365bbdf835991c92abb34598cf4600c18db46139a9447b3fd9866ec26291fd1f8f8d0bc929dcb422266d3264c35c1a2378230a9b25761b4ea1f41cde7866d9dbcdb9f6ae2eb2a3b486aa8870381be27aade522056e99ab93d2b007a4442c3807e921681134c400deb93935655f603daf45fb202ebb9cd55cca63b87ef41de75d0a9a4e834158e2706e43d6f5ba7eb60f94d02151e9783f5c876258d877fdc73f8ee2206ed6b1b2530a15240ca06716b9ea54a5e8be9dd271b8ee4eddc1fe992d11094ae151729cc7c1f846584b5b99acec7fb1d92927bddb76bad1b32162cb61672ad940aae4e4a33da85d1f8a092a9de9a2b114541c09b3e3b2a30f40dc0810566c0575577f5aa41ec009da3ce0b7486195dfaaaba46d8ab971200bc71661a8d0597fedc5a990cb4226378b4c33a0a065bb973ee24fde4c7a924661ab1d0c5b9ebe78eb6e26430c9586c7fa20685061cf8914f171c944f8607b3b87fa4c7a440627f9582349e4488ce7521074da62c53d8560c623213c86efec313d86bc8f34dcf5ec785b39e103eeb03f6e8d40a375808745fbe0f23500943ee08b7b71ed436b0ebcaf66ff113f9218454800949c4f053fa624bc7c2693a7dc9f5d4d5ad8cc427828b1e237ceac0907852dec8f79fd26e2ddb83c5ea45265a1d2c6bbeb220869c1c57bd21b4a567edceb00e7fe2fbe15241d85fe921da4d7e8c6b1087e44079930dca512df6c5a8d9366a0f10edb391e79c73cc08ec26129f308bf178fc459f0292f48e71293295dec36bfe918591f9ce1c56e5f17919443b2dc4e0d95781ddf9e6af9c9780a02e89a029a86d978105d04f792213fae4355ae51d4357539604137c41ab30751513e1b904307769110697aeb48a82f1a07c4528b4c2a882e95e8943b2505ee8bafc0f6a9fade1f679412bed18a66d0f4f30852d7eedc95768edde4ddb364ab1e3783b7bfa8c9247be0bb66a1980446fc1b75606c8ca82718824e096010ce9644d2cd483979c8ce80a533a818cf85c568ffae13c7e94e504c71c7211ed4daa96adda522aa3234eece2028db6f6e06cda115bbb8270f74296d5941099c748b90573cd01520794e80b98fba60bb88084c3af03fb48a8f27b57a81cba8ff8c4df67f5a707e122866b09c3eabe5e755074fd62cc0e4bd64a80e1bc4687f17148a69b33d6b5e320101a3d6c974ead174e26c8719f1832d3d8a0e33a5a0121c1ae0b78295c8ccf635ee50bb19b1acc5fc2597f1a38146895086347b6aa6727bf78dc46083feefeb63d9290e8e0f6ab66c64ebddff481a536299ffad8d75afab96ca77711b231e94852acafe2d60e014d96ba1c2a89f62b1621fe62ff9271f4bbea37041b282f406fd11f8fd3ab9fcfb471f8c70ce8eae623e0002b7f5c0367eca4d44b485a7871dabfd826d0c86d7345a68928fdde9205831631925ec598bbd284bd8fdd579e7a8049791bc665b28088da272a3e5b9f94fd7260387819419a0ad0acfb559df940a4ed43aa28d7f809007b656d7cce2d9c65cf624843654490c8b7f0a1f110392c185c929191cb69fcd2470f7b640b3e5ebc73e365eef3659cf7ae283c014d9c31d4749cc229505671e345eacd65d8e38c4882e4262b3e6b92382fa44cfc329c372b774358fc0e670aafd54b1c36543dd3d0f15f2f7eb660bd561dd6434f9b3a36fd42b436939ae5270fe34408e5f46cc1aa80b303c9d42d7c4b6b3a1a0b3b512bee6371c6f60abc99c5c49c4504de4b090a9cb7b858644afcee2daa7a3beb537e48b2f3eeda112703dfdf4b03d736de985f5c999b247c35329c2184e8d42eaf7d918975b48f4d2ff24df6109a182135550d8a96441eb044f9f0c630e5febc2e4586e115ddeba14a17fa7557c826ab2640479cfa70580c81a9768ef4fd51c441b2e347d40e3a65de196464910dcb59871952a22863e5548a6b8e7a7aed9c024d5bd887697454bb41784943509f9747f77e92d95bfc0c97e1161070ee15296a209810e0ff605e2531330e3f32eefb88fb87c22f436bbbbf3af75337c055c4c5fc3c7b168a09162c0f3edf3b7ac9d41445578cbd61ce9dc47b1af48087eb593651d799f29d6767431bb427a6a5de6dfb85a1b476842baff39404af90e40eb07350c0fd090a4f897da084a57ef47b84f25c79ccf3ddcf76e1acacb4d77134f0d8977bdedecdae3687be64be1daf7210249b9e8f33c0b3a93bb96fd52af63a7048b64dc8eaf096713959d00a35db64043c04bca7ee54ea8237dcdcd5ee8e298f2b7505207f5a49cd940c987fc259e6d72712461ed7ac1f8aaa6acc4ec8ef59d73eb4f043d55d53537867a33b636bfa5a7c5d6d7b3dfeb709e4ed32f147bbf12e7277412f30474250dbf8c649cbbd6d7549e36e35ae85e99286a18e1478200ebdff9ec7791aa819021ac5af27e747c469c48fb19065497b13a6eff13629db44962186e9314f347fefce11e275c00fc236671b8dd8e94fba79b720a258d6a71603320025cdd0ec7e0b4773e02a5518fba8413b29670a25206ea327452f0ed6f2aec2218544538218f47f5f6b1c32bac2cafe41d534b4db0a88b25f4b1f4cd5a5cc55f98f6e75c5ce1785e48b8234b7b9d07faec6a60ffa971d0feb0b3e93f9f308fea68693c0587909f0cc329f1c3ea69a0d9c24477befef8ca351c92baab3960eaad14ff33438cd8732335c9c6480a71552145bc1be6c38787051054143554bcf01d58e01c3ef95500df9b15111c40491137c2b46b8e3d4778516c52d9ea8eb86fcfad378ae95704b53cb2e5d8a6b735234a491ac7cb5103b436ecbf9a630d61acb13c751d15c32c72b3350aa5657f31c183b799097b129ba0ba3dd137f3a82dc926e4a5d6faadf9c336a3426ed72f6b5c31c0fc991ddb922c6c3c5324b3523904cea1ed89b605ca6fde91a3eccaa98e62148d16cb2acb8fb1b03d68183330b2f016142e335ebb42f7edc79c877535927fee9937c652a830a89ca215a1de8d1b82261ac23469fa548d2f6651d9de509ba936e4649e520ac8212a9d87fb5d750694434a4239561102a83e7d8726a641d44f4af2dff806b9dd9418e9823bef1ebbd19b599f68b3143605c8318f07f12ced457fd15bb28932f76377c87ae1273540367fa2fdc4d40a3b0e612139868c30cae0264658a630e1b2663bb796f83a9391df7a807e96ff9bd7675b2ca67eaddf4d5ad569eef0dfa3bbdba233c031ab6365a418e3771433ff1aa92d123990156298b9e06a4986d82c5c50de6e387446dbd1b661cf672d430c65ce742f0f6997e960fc95b86b922303217b0323ecd22b1f59d96cdc78e76465d093f891e933463c15ec0356586d5bd1ffb630cbdf62111178b3c74440c35a120d0d41d5fddea6cfe42712daa06b6a0b685b0f13a7d7e2a1b53efa67a8c041706ddf1c1295cc56c07c60bf2d0c70f5463a9a8a686d459b8cbfdd9a083d6f28f420298b364f1d2d45cb0238f6468897c328ab2b84b427d5a264cc2709b1afbd7c551d5825f5a0eb9e3e70184414eb5e2f1f1a313a090c0e226a5e68e307abe2bddf5bd4e05c30d155fc24179d8284686f2accd2382ec917452a5f39cb4feda5ab0654b711cbf6bae94252445550bcd0e111e01a16bae6e0b4b11d237632e0f32879f0dc1af7ce118ec0e60774f81a3ab425298ec120ce5ccccfb24b933b8b166909e1f4c116d6835782e99d63f88e680e3340ab1f35a2062baa9a1690fc6383ab2a05420bf6a7a421139a632105b66de4da137c7da769ed7e26130c7c0418df63e0f0193ee9e8b216b88ae62ab24da7b639afab2b84055162637525b4b4426c7e47dc326789bc248923de6d800111eaa798510fb782a40075407ce8ef92286a4670687f13278ee9c43b3caff7d424cef10ef8f4f315e8b727821fc768805a427829313c93ece6a95a12e31f01c8e46698ec7e27303a04f834b8d6399ff094f9e9a92de9266e6d44076d88f21172557303e9d7ac98853dd3c909cfd7cdba9c5e4bc909b07dac32b4b400f9b0173807a3447277069ffc67685653692b8dc0a47a04115e99f99e4b1c51e79611308e3b3db634d72d41b6b66dbc9a03c1f031cbc0400bc1a7cd1bb05da92fdcc490c0cc9062293a58791bfbc2f78f292a56417aa0ecec1a5be8619955a7f04bf75a6ecd932826ec4905b48ae80704d0926117340a06e38074ac05d7e3235982b0533d5118f857b34dde0448881d5a830268e0151c9aaf8613a8c4ebf43f2e676d39760febcde51c7804947f32380733da6de1b6302e50adc68320db93f16e2f31811f3f00811965001cb749e3469c0e5e63419343162c100d7e44454e28f080244f0a6236d050eee3bd824b818c0808ce7d3c7203c9d32a69792120bdfefaafa420e9dff297510bf8e3944452840beac5c176bd43746765fcf811afe31530ff973fd9e743349116803ee0466965eb396aaebd1ab38ec88d40108ee1e2dbfb4274bd162623fe3b0239957aa3b72731dd20d71c610aed52281172cef9f31d3bf589b6fda2ae61eb7d79d3f49d61d21a67ae86fd781cf6ff57db5e1c273777c6b117b597e4f5851982b60e68b24c4b84e396eff479d61a5f52a499ddcf46be019c7698644da3fe212b258561733fc5bb6ad2d0a467d1cfb48557cb308326796032b9adcc2d1cfdd648f000cb56b1c592d596cfda41d06c56ba10d9b11c4ab91f339db0022947a4289a3ed8ef14d414dc82b6c2eb7b20cf0418fdc86017dcbff031c5b8513e3852e563efca129c860b993e559d692f88c090295d069199200d9ef900cfc6edd8fe0926082c805dba41473d8d9f8b5c03808a877bd5cba25818ea6c9a2f67d9b924e7ada6862b568fde92c7e0cf9539c962dcb285a1d2127162f4f93749ed48c2838a144e5b0811898a8cbba734ca0116f041f03255eab22c7b2414e2907aca68f128c8715f56322426b78a4def28baf7edf9cbe4e546e1acf93f9bf6934a4921d70b24d5cc3ab448aa48fe61b58299a996b2eb95770e5b6d2a0f02dba188cf8ef08c0f4fa9a88f9339d792ce071e57b1131813cb6aaea2f6d843599556dda228fe107b127fc21b90cfd95e75d44ff69ea4ecd369868eb8d62ac83a2cea197e8897c89cd64d947223e79f2ac170684eddefd842aef5f4d2f8453186a5835b637f8ae9fce212945fc5a59137d335bf5f7827c6ea7c33e3492e42b9b34c4a2fc64d39c18b168804c442ba53468f7d52b546109267f2b079a238ed17b2794e97d20c2e070c1ad37e3003a0c48536d9b3999f30962a0bb295896575e54e70f1f5abb023e5745e605cff8824c8d194d6137909c62c6092139bb0b22c9b240040e828aa79203a0132483c1e267dc30b62c41279e6fa71a8cf1c1ae21a37d8d7e2cc45b89606d3944f8ece0ea5d9220a55f122cb7921f3441f69cf7860de948950f4912b30dc04b907940300608af84c6af714f03db6531ad5271909601a486a3de0b38d392af359f3f8d09c5053d9ffc75c4e81ed7b008917af9ae1a491f3129297d5b6b65f1ce661caf2a456d052b3819267e1526f439a64794c09228e6e1d9175e768080aea405060adbd56b2fe0aca857fe6f68de313606b2b579c6cd60b30025a4b11ed0ba55eb5ab63325a0932b550e47de54fbab9112eb8d5d86e76c15913b18b68fe6892c49b9d71763b62fb77bd5f03a0bc7604d7c02cbb8cf0564d4832ec8fbceea87ed14f736328e5f7908100170e5559289387df189fc108766269643f0e6555aa891356c8eca5dbee7a214907738a8789ea9efcb09c482cd9d36dce4e64dfe161c0a59f0782f77438e33f905c7e2c062f4fc88dd9e2a9e3761e12f607f7cfa20990049e135d02dfcd03ef4698ec6af7a5eaca84a31466928281439c60c211286e8ea53497da2ca6a7e2f056e497b28ac17005d17a8bda14152517fbbab60b02a1889edecd121071edef6111feb3605d3f8c11adac270d857d20aac5f764769e6225384ab0a5f0e30b27c35f38a7cf5d8d03b3ef5019c5e93051be32939180e8f30b357f403be967d978d6e90cd2227c28abcbc356e812b6f6e118dcfcb8f27f7b8d96b264d537b424df2a4583a99711a4df5f05f7b98be6b19ae1dc874db8897c5e528e927d2252d19fab336dcd32167a37fdadcf4e2a079240d52ea4208b13c8b1a383ea59da345dc9bea1242a1dd9328b9639587f2532f8bcdf67833f81f7b1ffc869657457e08107a2123be12275d52aba882140f8f06a28642797c8c86ed2681b8b1091d58bfaba89a80470e5136c39dba35137a0f852cc30e781f1c29ee322a4c993149f32ca992e69dce1e07e1ab4b1deb0b3378fba7b80016ea10cc89870514850838c1c4b207384b19a05bd4cdd8675d770664831d7e293da53907a63a248abbf37bcbacfbabacc56805f29908a1ad29132c826f1ae1bbbbe0ab27788f0ce9a4296efb13f1890816acf1d103a76b6a5b1d1069a4defe88a1d0770389938a9e778464f9c9d9a1c5db1c50161c42e5f2191dc74f45a3f3c2aa51e2348c47bb0c626faa589f608a05e5dc157433647a822b3681c98ae048c4d72254a55bcbce9573f1b05a0b7a892e1b431fb8b014067c3500488ae716773b8c98d94dfc06dc9aaa394cb0c60f9a99456daec152de7c811568b008069259f8c638ae87bbfa8b56ae257e418053c820030110706afd71dadfbb708ff94fd2fa0dcf10b51c718578c3b4b0d6b3b40d86a248d08eea055b3067d6c47305eca2bf05cc8c0b40d23cbd7672ae5007ee7791a77373a0269e0fd3b4b4aa40bd5e8baf19624688a4c761251968a388a86e9cff63fb14532ce07e6a9e74cc426479915767dc3dbf3b77dfa94e66499e490095397548a3aa1e1bf7a4aa0cfeb3881007a22ce5ba64b3d1c93e4f6206d17ea9134c9914ac65ec1c49f97d13751bca4a28cfdc8f92ac5fc90116ee8be283e7d33e8ef4568a1c3c4dec803fd74df5d0a4257c7e47b9d4c38e0879f99314509849b3f0a456f2ab979ebc24062e9bf041b72e65b294e48899f648252c5a1085ad25db685e17f50a195132d325df413cb8a7ab556ddd76217f5fe72b4cf0182eacfe3c35c888c23be01687af1182d3403fae66845700df0ac9d91d3c53e113f823f8ce13b2d7fa67fbb7327056de01da0dccee9b3ce67bb4282a1fb07cf3cebf15b91d02ea2c18241393daefbda71f72b85d7b17fa543e02e57ce64b0cd0682955a5c39b030313fd83c4bfa54a3333fb87db9c7257e208f68d9b7499f5664fb6a2c48c6c52956ad0cb443726b7adb7e61aed9d2ec2c1acd43272cdd9287177ce80dd06ba50c999c9a90799807e417dda383ffc2a7ea7cd5c45eab2708bd76d36f10d92549984868342803ec9b2670f30506c5b475ae5f05d724a2d53210d1b78df6b2da9e6f68b283214ebec7e21ecd7ea2fa49c7a92fe3fc46c20a6dfe05a153eb97d3a168073458df26b5ac6a00662c016675192eb3128a378b604624d13aff4c581d19e2b1b24241ad51d5469481d93562ed99a88b905c2d28409354d8d6cdffe2528c60dbdebaecb92a47045b8b6631add0d07e11b62655613bb48910431b802e7a40a64507bf164bbae418ea33ea1933ffeb8841649741facfa6ddfcce37a961b862aae46a2d793d0ab7224c6fe829c0e66fcefe9c2800b457c590a3960110578600d76b2b581b8e1776b45526b472e5c040a58ef791ce96d87ea3bbf7a158c62ceb4316dbf54fc931f7a41b972043295f7ebf8a0a89cda948793b08981c825d092aa8138a61c2b4d4caa0fb1bf8ae0ea7d406273624aa0dc5cc61d1dcde4c0d287117cca39dfc16ade1d0694b7d8507ae56dc5785ca2e7ef52c0e2fe7b2c93b729db74a689961af9c654d32c660bb66373540f3f105202de54854e6bfb463f1cec7957adc47b437e58f82919f937a6016bb9c86e2771e36985b33c2f597f2fd1efee382642d85c97468c53b884bb638c6fc83af068685a119135338695378a12e5f8b41794cd0e02691d345e7e50d2325b3fa0d33472121f701084b46d4cc9d081c822919b014bdca1b922f7493bc0260394282d2ca6e592385508de66e8ade173936aee8464017f07d6d44228627ed189e9b27535e8980ada7283751a176e41c0fe82c90aea4ad102f5ab9974545abbdc75e8df3dc8209d800e67bcca5dcd4989827ba3ed92185d71dcd389d1d24ea1058837760338ddc5aa15527ad015b57739bf45457a65f58af52cddd9afe366d293019f77a9670b9f3c8a6be393580ea4e76685ddeee37da2e3cccb10cb61623490c5998321d936724a3bf206ed119a8e91640a73caf28e8febefcbdc5bb8e2c3b265b3e6f21199f7c371b1f0c09c174fc123da5a8c40dd1e5e872b8e5d3c9e969fd03b92ba344a3d317357d4f97930fd291fbe11ccfb842ed0e4cc22f290432fc3fd010fb15d7bf39670cdf2cc8e861a9fd44e302c07632d0624ff5f2cbd1785d009359e10376aa363c7cfbcd2f7c5a009aa252912e02fc01bafb4fc137c584f204a1c0027ad4760d8f66d557fadc86f3980c277e3a0558fa0180b8eeba46b72eea117bff827bc8e191006094ff495d39a328ec4bfaff60277303b900120ebb054f786c86a52fa03b01a00ca1ade1557d0120c68449c7d670cf6aa8668d2b9aa84203faf80cca72ac225f514cf40be5ad35ac9d33904802716ca14ed314dcee59900f9d1385997b47f4ea4400c0f13dc03323de4c2512204837dc09d205a0f4013d01e8105bbc089070869400129944eb09538666333b5f6b70dc7a255019703ec7ff9851b2a12ffd7021bd61fb270310f6f43adef50fd0d300c59d837fc3cd9786917d880a73b80e47ff88e6d1d18d88ee25eecd631ee333da40f9ba035eb084831e5997ae670ee7d5541be3fbd10c85d5036eb7e97f2c15fb00670b98646491a11e3a0e1f702e6ff5b4e125a85087a196f5fe5655e88fff57430835003bcc3e34af28f4ca70dc570db0795b1a6026317808f5e88e75e4b66ee7b90f3d9baef210fde52615150e396cc05c5481e8db7e9e494d9544b065342cb5ed56051b0aa7120ca18339d1b8f1af6b6f612c6f4f4242638a417c6a05d5180f645b7498c0f974ecd48c8bd2b1906d835bb9571d7916dbcbbaefe21a54699fd2d9367054bb13b1ee85f0be16923d6937f1259879d349531df9dbf1b43799ea470699f9641066e1601823bbef1fc33bc5a8531293f42140a236e98838be703b3d46e52d63707006b6396897b894f2ea0d6de2180ed74f20be94441b9c2e9c2284b9e31f40f7daf1167d541156d92f2a92a1215c5e5f22b7637645eaea624db45f86aae176074f2b572742f67e524b14f9130f15d637503b36fa1b18ef89bdd1b7364c04bd28bc79c894ce4893004fa711e5832cac4fc7f2dfcdf0b7c2d7becb4506c092631b69cd62173140e1580fa7e90fe2e38faa2a8d1008d8539ae166da91bc1503166b61a49731f9705f55b7e86e8efd9e422eca04526ce0889744187f3605932b34cc86172ca14eb3570f931950f824e16c3d4476a9ddfdc3e6a24635f0877d4d15ab31ad834e926cf6ecc933c4115b95ebb9668d8f46da49a04fc6c16f47c7c9e5af2aab6ca651a99fbd06640142c0f4cde66e351138fbce67c193a83d42cfe3e531f44e81385e4486eee7abd7c97de05a8ae4e38bc47e6a37a97a333c710d7307f1ba8225c40d5bc7a7deeeeb214df5aa283a6e26ca1c90d27085a24686a8c3295d88f01e8d540b93d06879f41dbe5bb63945e62713779a38e72b413cf490b7f4525a40cb2e1a1d52855cdd2b13c5a35238e6dae3a4d03a46a74c25f3ad902187e6ee403d70b784f73b3697046038a449af76d9f17cc14f32f2c8af7e370d9964e8707b84716ccbf411f07b7f09c4f585e7f6fc96e278dea6dffdce89b214ab75117d2e4da8749c7636ad5117b34c0b402af8f89b380a10c53a87803bd49a5587e454a51e1eef3741e0c127d62f60664494babf26d457d92677bffca966870fa6f9a1f24210aad25b2347bac79cc505b0304bafedec1027ced26965296447d13cda48f7bd1081b92919155c048658ebf9b5940db6d03feba7c685cea103e6be22604e64c3030a762d857cba66608d4a02d9372a67d612b65369481202d25a743c7cca5cf22188d1a64c200b24e40f0e6bab2054836900ee3253b2cdaedbd98e0da5801aad6fb5ce655990bdf6afd3a9ba640262419c26dd37b51ba4cbaa49a2fa0476aebe328943dc5a0acaf566724fc4ea581ccce33048f7d34653234bcad4199580abcf6acf9c5d46a87c8c4f5afbcedc161caa463d0f29aa397c5b94a0545ac0b7ec41e61ab22092faa502599fd8ac408da3865fc15bf97e8b0a595e6323833abc9ac245a900607b35d22fda634f99fc4fc8675a521789a24c95c9d41bd1fdf8583af5757fb240dc46c2891d82db198b58c6dd3302559fcff474e077eb36d574a0d02bfc18746422aed366c755b32d4075bd3996ac72b00fe33918b05bf20cff6df5ab751ac8ab53adcdbab23c1b90414ad9294c469ae30905f1fbf1f45e4ccf995ba6824f8aa830e2a33a32ce38e9ba33fb2a902bc7e22501979f46096a142ebc23217083dc661d1f95e975a9711b72c44f52cd30a27922658464c7479bca8ffb2148a3a030d920895f1d33b8b639874e643131b00a60fcec8786d73b1c8f0bad0f075c7669d764a184896f3ff5b8a3b06f29f975204e902331d7efca04ae123f69264047fa3becb6eca01b34cc1e9502dbb8d7ade9aa776a7968e61f4887685c2848ecf224303e90a0b064189d515e973deefce64d7663de75d945440ea4cb7026d423420f94c0e9cd05f924e4ffb8549cab0133b17406ee72e69758e25f17522fe30f42c7b88de5c73b7c3ee9bf48d2cd4431ca137ca157d0873037f4ddb2e9623c3541c0b1b700ee5019bfc9557263e83de1899bc75d0f38bd6c0467fa1343a7aa6ef0508125e0b4c4d2ad2f6490158fd282aec8305d62355f80d865ca5647bca9f576be93e969f45834bc2ae492a665d59e8ddf19d7250dea0ab7ace8cf8c47ab3170bccc2c6220361e365ab39d9b7300c805248cc6743030d88cec074197a8929000878b8ede4d0c067135d81791093b5bc3013b5e3a462b9ce9a87ed14a99160945f1df34c337dccd3dbb5910a046504b7a84c4846613c700c64c91c8ac0aee217427adbc624540a1ab23d1c51cf29881f78ef0544bf94d58b3deeb72155e90561d6ce516a282324c1d83f8a0a84258d72e1d10512056ac065440421559ac0b29bbc1175994344868856cdd90e0c2b1fdc72f20e99049b3be56a94b351f2a42d19824602eae258dc7bab875dd76611aea54e2fc9841c0529bded3f7990fe2f706b68bb0e996e9dc01a6ebf79bd11de2ba705be8e630d52368be73c9ae524f73fb28ec941e25bdcdbda080cf00d00d6c787bd297b3ddb733f7dd6d239bf2823ec024bd2339b5aeddd328f96384af3e9848b112cf832ee00f21bcc9e8507daf1d35e9ef4e7d172619f3e7bc67cdce7106a0d20bb72a422de69325b4aa09b5935e36de77337361a545642a39e76887bace4e297e60867d07587ee9f40e76e72e90d0a3b4a0722f39d7896984ca69a4065b820be2d65c7fc0ccad366e29f0b5e04a1525639d3dd0e79e03ec909979517bcd030d382d2cd68cd9e4b79d63ea9b5a90ec26544c37d206516f2767a70356065b132b45d504235076c5fee52c0ee0566acc24aeae9f994d4c6000a0d9238f5c87a2dcc9f5636133a1a0d9848bc2d47fb7b28ef2726f0c8f730f4b9cf38cf2ac8a713178f60933ad44f48ef7371fa8e6e6761da5faa71302aa8066aea44e036af8b5037f0e50abeb76fbf4e5dccfa26a50be77867ee22a4cb6d7eaad1600927679662d85f4ad2d296e146f5ce735411ba2eaa3b91e5843e6e6b345fb932a8fcf91455f743becccb5284a26406c17acac48ef527c1e823ae2f25c354635eba76504b5561eb09a1f1e8f8beac3e78b455b7ab6b2815943d5740f3fc763fd7e85223c7a9da5b4d96304dcafe5532e335cbb31261155b23773d8163fb348068b7cb5aa661e72e6e935a9fe4fa0baed6af8584574e98a28bb54ce2bb92c3412392f2ad7311c0e0bf8e4cbdd5ee84bab4b0554e104291fc596c64bd34af6a394174c2f0ca10b1240ab62a88cbd0378108915fb815769b118f7fbec6e5aa1fd4e8126e42325402c4d9dc41ddce81a7a4cf5285153cf34b724c5e5b2893390a0e8c9cf480c107c8fb32aee200d4c44b4cda4b0cd2b1f088f2ce28437f5fcf295d0a8246c4c09f30cc53008552b01aacfdd4c3950b224c301c33f3f3f3f3f3f3f3fdb0ac0906da4554bda219066539292cc7bf6fe0ba715ca3ec994524a299240a020008609bd611c26076b039d04940496045d146f730fe7113b364a5f45f5702ea15f297df1dfffee3c1c6e4394b75edda269a41a40113c1c855ff296bd5a6c3253e40ec750b1eae49ac80ee75299b9eb7a1d4e7fb652578906716fd1e1204e487d662f837a2135879388939b2aa59462fc72384897b7e44a0591d294e2709051a6ca335abf358923703868b3df0e2d363553e90da794b2761574a96e389fc6f417b338336d5fa40d0721747fa95852d5d86df25addaefc22bfb8359c94d0166392dd1acd727621a28683ab582796b2dc8f4e332369389ca96a1f0d16b490c2cc081ace6ae35452b9418b889c1939c3510677a92ee89a1931c37965cce9df0b2f2152867398881c9964dd8a535a321cb4cc0bee96f54c42640c87d7ac4fa48a26e6728f88e1dcb1e1655269d57f471a86c3e893b296d4cd08184e22b244ef5c4c33f285f30ae5b28ca8ccb5575ed25aaf19e9c2712f2a2db33861622b2a235c38c8cafa5a28b56de1f8272b26352a2abd419419d1c249a50e7dbd62a2a5a6b37056efa7e28e8a726aa4e845040b27d7428598760519946e10b9c2510adda126a62ba62c658583699b2a572ab3be3dea94e706b39f39428553d0f8111983d61d193542640a07193db3bfd6aa8d88148e6b49695c658ac2e155ce84105322568f1f21353e1083081412f14a29d11b55e409ccda69f17d291c718236e1b86a2aa8667e19b58930e114b4b49dfec70813421eb041640907e5afd28b6c13af5907c386df280110224a386bb6d5d4326410e6bf861149c251a59c3da3b56664c408128e23728453f6d30da957a5112360a408675d3a6bc38bb7d2faf2418408270d17640c11ab534be5e32d3284b38f34f796ea99c75611219c559685cdca433395f6814810565126fd166c9432d8c0780fb3810810d6fe21b3dbf0e24ce407e76d25366dfde583d30bb972def428d283b356525b1a65275bd3b51d111e9c349516ea6e37be2b576407c59896bbd26dc62e0b9afc22a2038de4e0ec1a32498dd25402a642040707972a5a12353d8ca39f90e3333a8edce09855e54aa5e4bb68ad12a3162891db7a5a9c37ffc967715697ed45e76dc97859b238c9d257a3b47a29f32b16c77c2a0951316bcb55061647ddb274b5f05f71daac35b706b9680e62b8e2282aa5788318ad38c8f0ad9f41bbc96c66c88a6350a25a5eccaba6618bb18a830655e69e21b333c450c5c1cf6c5cd447760b7963a4e2247ef4267952bd945a26ab100315e79523b5cea0a5355a3cc5d9f2cafca565c909314c71d499f4bdb4d4aad84e4b7174b9d7d69525b5482d06298e51eee57de6d91d5488318ad325bd5a597c2d4aef2f8aa35215852c218412df3c1447cdbb7c42b78fcc520c5078b3428f9f38ed9b92c2341dc313e7d1d26210256f2ec4e8c4c1b25c95fb62e3955eb319c823c406220182c4e0c43247c94f7d7ab116c4d8c4e1eb76e75725357192514c6b90b2aed7b25088918993697b9574fb96cba88e8189e36879516d95edf79f625ce2789e3feee39a55661f851896388cd252e8ed4bed1bdb9aaa010648622046258ea93125b9a2da553e3d258e95f25e126dcf35ad4fe22ca7470929552cb37949e2a8363683eb122de5569138caf4a6b1850b6149972071cae3f9324bddfe0a3ee2bc9a438e380b953f6634de3502daca69dc00493740d2d4360592321c43093fd97b7abf5ec80c12329c62ee530b5a69da54d90dc9184e220653c56180502009c32988d69bab2e603863d8b419c4bc827ddc27f9c249d64ca37a9632d598c40b476dfd5266a9758468ba706a2eb92ce776db239737e628e1c2290aadf4b8c994ab52968b4548b6706e612ed4dac6242bd95ad8a25459e90a137f01830eb3919064e128b35c87c5e89b2d4c5838da76c61296f2ab6af5016010922b1c73af4a3aae5ce9d4bd154e4998ceaabce1f7faaa0252efeda9a4374a4285c3d7bd5262dbf5fe622453380525ffc4572e1bad65a47054aebbda67511648a27034fd6d3a75cba170ecefd62a9cda32d8426474e161635ff28483ef97124b5ac809c739b551a24a5dd4f0d840bba409276149c9b6ac3db29256c284b3ca66edfbbb2a84be92251cbcd2ad96b9a6d7f76b1c12244a38c654e6192f5e2449386dbea4d45d96bf3acf5381040978846389d5bade576af58a9218e1e8af2b46d3f6a654d0ca80a408a72d7f1d7a7fb579961222180708244338ab91d16763868750dac5060114746006aae141c386a3008cf5b1013848847092209c5f2dad8a555ac634e7498070694cc9bc43dddd5d2cc6dc9f2ac530ef0d7f704e97e7af31355e5725f1c1518a8dee1a4c4807921e1ccee2ef9b70e5e2264594f0e0e83269a99b5276b73c11c390ece05c63a6e359b25cb7da03890ecea3758ccdb6b851c9442b4872d0a8f572158d5a0d0fc19a01120107470d9fd1310344630e121c9c5cc853be7679906e82248c638bda26cdffbbf42a6e417283531c2dbec4cbac29fc28b116074b29a77aadf2096d25d2e2acdc6296969efbce087116e7ff553d95ee3466213511591c577c352aa5dfde322a128b634a5a63a6b1cbed213b410416aa7b9d77a768b01b6d3befedd332ddcd9d3ef28ab34acaeeb46a2d571c6fd597daa8db561c36bbd6724b7e876fc88a8392ff0c2157a686c82a4eaefdd445513267167a551c45c6f30a528ecadfca541ca54913b7adbb3d6a549cbca55459b6f3b4ce778a83f94b7d712efe7fa9444c71da187af7a432255dff801322a538d86ab13a5667d6302734a438b98a2aa83c52b391511cbe65dc95d27f5f0bada11011c5e9cbd28c10429e198ab38e6dac4bb3f1e2a48508286ced361f42a3914fa427d4925955970d99239d38aaf09062536c9962342309215af345b6aa6ce2a45bc4ceb69c4bdbbf26ceb2263b2e682575c633715a2d7263adc80c71429838b7c6d75517d49738676eb94cbed11d442c7192f37f32f6b74f4fad1aa9c461366a8aaac3a5fa5f45287154619b65e893387fe79692386bf52acefa5b30cf51351267a9311a3245332b4d41e238326a496595d6e644d34f6729111d716e9171533af448238ee229658a733b19718a61d5868c422e87cf888b389f54de7df1bd758da68a38a6e079622a7a8989380adf165295eb1a97970822ce42a31adb93a7ec947d083644470a7170d3af4eebb2bff69810c7a446ec6bbf445bbb0671d46a37f3ba4a3f63ae208e7a52a4962e75c93c42aa81389d786a8c21a64c401c5e5b7ad6a7fbebd5ee1f4e79ed4c4d840ea1f5673f9ca2ead694cca4d4b4b7661fce237b84d415e4987c38c66b76d99f07132f70526b77f7928683b0357ae1913ad44630e9a8c0a40b8f06d91a251738f71a9b33395991ff6eb1332e896f814cb6700aabb2bdc5fb55327e5fa6100d19129868619285b3563a47abc81d0b67653a9fa64ed69d982657306ddde54ae1b32c99578c4daca0932a18c7840aa791d5264ab5cdc9574da6507c4d357a9b48e1185356ad49147402053326990b2a6f6985afceafbda0a170f284b38ca3473fa5c80967214e8813f2e586bba80927d777d9922f66c2518b1f4dd1db259c4566ae4caa52c997ac84934cd24dfd9b14fdfe26e19c51887b695a52bf6e4838cf9abccfb2cbe408c7577163e6dc531e634e8c9093229c568f766c8e658dd19c10e15c2273c57d86949db2c910ce27d25445574ae665bd108e263c5b8e3a99eb541e8483d414335f4fa414ba02c2d98292dbaf4d4c35e8074713a135f2b4e96bf51a94bc0747f7cbef7b1bf2e0ecbf41574a2ea231d98199e8a058e998e4602738388ca7c8c5f19329c1248c946b54b265d466fde40647d5bed86af46f6fd2d7e2586acc5fd754d4994e8be3d96cda975a762995358b4583c5943d2bba68a98a5df5d4a7572e90c8e2f02184509547281607a94a848c2a4d9dcc25581c467edfd28fb2a05ee615a7284b95cc8de6396276c5c994cbb870db9a2f652b8ea292969d26f366ccac118184152757320a515a88bb94be551c56b5d48ddd2a766b5471be9bd54a77ca928c96541cc365e4a8fc9ec911db41820a2d25dd3ac59a221fada2ee542924a4c082697871cd98d52b7892511c83b9b854ea2985d0a10cb61a373a3ce4a386d240228a83f699299935ec776a36100cd4470860a03e6674c840120a344a028a936895d563fa2fab0d7dc2382e22f1c4599f779e0cd2b2cbae3a719a7da995d0aec409745fb05db289738b5961495d8ad2da249a38ea2e25c2664deaee2a834d0a924c8021c1c4b14f8e296ddd1a6bde4b5862add95013db904dcf7ad9f5d132acac359054e2a85a8fde7f1b8d7fa17761c345c0c14189834819b330fdaa491cf457f96dd4b0248e679fee2da5fe174a2789c4953306b1a099ed2d578cd9e25212481cf4b710e163e15c896d0c92471c455ff5e6d7a3858cac02124764238e49e55229cf86542d19713429b516ad429cbb904b16611c12451c94a6157bc19412714a76a2e754c512441887e410c7365bcb9df2af4c8a86388c67fcfd8a5dda352c2984794e465599105c92693eb5ca4a6a5e900ce2a02bbcb9c5af75fb5e1087b9209b95b8a82ab93c10c7512f2b4661b137d70b106735722e6bd92abdcff68783f6d6691a2d97cda61f4e6f9646c66b5d509922e9c3296bb1e2cc3d74c68733eb62b66c58b2ece13c3aae37c6551483440f475f75b73a9354b99a948763edad7a99a729578a123c1ca5a8bb69cb21e4977ef94a2476a8c3e1b488881ed51a7e4e74388b5acd1c1b32fe092573485da3ad8c5a4cb10412399c346dcf7e690bed91c7410287c3973a0bc2c7247983ea34cb8cbaca4adcf0aa6b73fd3c99af0d271ff75e95d2cb15cd3f246c386825d245ebcb786d9a067e40b286f3d78d78cfd30d103381440d472985491b972655873e0db990fb5473dab57f34246838b656292be6bd48ce70d2d3d08b9a446638cb34bb2a269e6312309c009609e8957b80f94dd3af25020f281c6b38cc012a04e4868d017001469ac07204700162c3d58df561c38b035c00c4c30b84002e66b105175b6cb14503b6281cf7c50426e0010624c0025b8080240e01000085a0c531002e50085a1f36380ab045001670001b0e038542403a3a12b005170a28c05905b7d327da96c18683a35ae52556d98a811584811d1d0658c10dce1d4a4db8d49823db5a1cd3c524dab68232d8fa0b8f7523436a78d0023d4266c800411d1d0798cc023d42bef058b2f082868a450126b0087190571c2b299985fe58fc152d196cce6e9cd1701b1d5f78ac8ee56d21353c5c4180492b8e1b9f5affd6e89ddd5971509f91727578abd85b6d56293ca3e1347827aa3877af88dfed93556152349cc6d2701a0852c323c486cff0f082c687624b057a84ac0f1a373a3a0e3041057a84d8900132a3a3e30093539c953a1d7397f4d5be3c31c5e9b250993fbd289e15b42a4c4a715871db4dd99deb31f20771ff14c2841447cda865785542c2641466d0addfab640d62519888e2b0f2550aaf2bbceeefc6d626a138b7f0d396d43b01c5c136880e9d59b794032680808780b181c9274e17bb6228d332c6b1f47bc80069102f3e3a8a05269e38a5387a4cfdbbf09951278ea13398a628ca60eb5835d00c74c809566596788bd3c860eb48ab31d9c4596c34dd5aaffd5e18279a3868929d79d3b632d88a65e260c1e53f304c3071b2a44aaa3213ca6053fe05c8254e4926111956940aa9e92896388f0b7fb5311b9a8d49254e298a8a543e3ad2e41432a1c4b153879dc658ae5f53363e42403a3e6a984d2671f44c27aaa406dd98b7240448108211707070c004105053fe45fb8c943c6a2c222692388ea54db9a2a66f8d978c1a6806097c7d8cc0e0241221373ec04033683081c417934798d298b66bff3871c4d1654469509add65668d3542278c50a6174a5fc4495ad45031de2d3775451c9408eff7cdf66fbf49c451e4782b956933414451d5b453d3bdcb92b96b2615d547c5bcf98482c9210e3b9a1537f5c6858921eead144b85c6ad3c66e0a984492112a66564dc8409217e37a565fbb6d631880c3e66ccf8682d4c06918ef93addf243264c04a14c27dff5bd6796cb6063c3c22410b7ba9166f2599a0062bd55bd3fd11fd0a0212e786999a28a1f5815e59d6eb197dd601fd29bcbb9365243454647da9af0a120ea1aabb251d8563e551b5e1d1d353ecabd60b287c369d4a2b28b0b7bebba0d0f0139cbc1440f272f6f15d39945069b519be4c132b5d22be96d78388bf6eaf6cd722c58037901d22103af612080820e7c8c80838383238cc91d0eaf5436ed6956069b0c908d8e1010a46ac8e0639dd9e1a4ef673e74908f19aa030c1b217d826236d20d906275388d0a65f25a283938d60cf750133a9c352a297bcd5d4ce64e066b480dffc2293099c3d14e8ebb5cd94ee47054976eb49e54ca60b3110252b630894316c6c26a5d56b598b1652b6aa9f7642ad59f970c26703886567a84fa9149daa73a3a300393371cedb29a90a2e2beb570464235bc03c4a3a3e3ecc38642343a3ad4d80d666d388b4e2183ee8df25036f41aceff5a8f6ab173b531f498a8e1b429bbb979f3f981491a0e3285589d428d2a214c6838ea8b7ed1a2331c8707266638a92fdf38aef59e9a79a30c27955dcfd34bcb830ce71b559369cef8f8483686d3085961d48e6e71a5df10c3f1c48bada435a4cc737a84e1282cf98a2833992d4f32d8bab8917c7571822e3e42c0c1d1c5c70c0e8e2e4cc0700c6fa7d447f676bef81dc5423c403c54a06b867bbc5e60f285830eb5db2b362e836d061fa903060acd48ed3342d20d901dc1a423020185fba823076a96c4308aa22848216490cbd318e31248201840248ac58211813c0d35c57c1300010be3e07830128743a190401c48610cc4400c04310cc3200c03510429ec20530f1ba4249dee0df4ef780aa2cb72f38f3e0b2dc3b89c09ad43ca9b282b86671a1f7429708cd131559a1e5d0ec27b9ac1403cf1093abb01c18af5ed101ee627070f8663de065e816c397425db90a82b31473d41d36c7a5348ee950ca4d959a89507e12ab9cd5a6d9bc7928c2c3cec59b3a1af043978b8968e0a9d5aba2a8862b3090337b67bb3b9c3b2012eafccdabe7a9d07dfb22618ae9a751e42b55d275803a85dd14d2c5b4e753bb3288690889e539939e195589e91c62f777075642afa9cd9afe72b6eb14aeceb5f91b5750d39592506d8e092b9fbceb88e5c37f32f265d6a8f5f94de3a52f0bd3b90e7f2be74b7b927cc9c2945273d5170d2b2ac2f1e8429f1892a96a34c92444f54fc199c704ea57d40a42ce02ac4ce16034e702e20e080cc949818b2b9e1b74cbc7c3fb63f6433a0dbebddaf76192681725c1fe9fd3ca28c7a69a4f438a8cbd5075382bddc674e5142f923b792c74719a6e16ee2400d1bf5c73db6f7670d0d9f7a51644ea6802e3dbc928f57cbaf5913c13afbd9c10bb2f1240b8667ac6e1b25e01cf479bc5e4c247d564a886bd9aceae7dd430249ba083d0229463064fa8b53e57ca4e20b610ceb8b0146631596fa5687e1ea56c405a04d0461ffdb33591056f3ea32ac7174f70cf8c5c43c8870ce589c7cfaef6e8b60f4437fc6f362f102d72e1a3d999c0e2c23be4c381dcca2ac49a6934546c70b84a0cc4f2cb49fad3541c9dbc379191a11509e3eda4f1264e02dcc62352fa4e31738a0733fc4378091e3bb367e4c53db406b7c5585a6969cec79a865d7c55c899f8be013893af2be83594fb2f1d30f35dd7092da8f3e1353da57f572d70c1e1275ea6b4b78c3f44ca3c74d5147db3daafc29a45ac0e56c9cccd7abe8b5e1d5ba3efd4f2d93f03492ae136183d87d4491747fb4b4c80c9dada5a422697b7186d9adbd6ab6da518ba4a735701b7202091a043643c98d3652d372a282f8dc737e65ce9a6715a377c652e0bb006e5d74f206c54fb63785f7c15adf3154fea39a195bca849cdd122a3e530f8053cffb132d250e780ebaf460eb295dc04fe01b7aba805e6c70411272fbe0996926504d8f9cb94ea5c8effb5e27131c23cfe7a7548c462e3fe69026bca334369f3d93791835d9058a3a3d344bb24fb4100b082c9184601b8642d3ffd3bb9057d71150823431d6a32257bdb2201e19fe90ccdd139d29510ca7737b837777deeff71df0862cf88c4d7dacd36153d42c8dfcf255cded8ecc8dfde409c1ad0dfa7b9d325a9ef417cf01aeaad5f80228a9db74070ce6ca9224ee1daf5fcad41f912b1d50a0afbe73f27ce382a8621b2525d5905a28afaf732b513466347d2c2be1a5cb9d3eeec1045f3c13c0ffcc0d4d31eb608872c7b883a18084cd588c86e8ae4f92d167a3a51940b7c980a7f6becc7ac90519226755d33055759b568a0e878c07dfe8cd3ddfd892e2343792110717939c9b77b808518b5c50f38d14bc98228ab016aac845543d94864a85fc45d4437004f81853e06d0a909168a9fe27e07f307c1f59d6ecb2004195ce25c425f19228d002a21930c3abbc2702612cc2b53c82d50ddda841784c84ef00664194dd12b2f6c2368056274b151ba425f93363dea9f82f06dcfb7662c327d30ed9260528defca3acde28227bc241ec6465220d3591393fa519d2274a0fb02b1e31cb86894ba9de3515f014f3bbb3f48db4b4db088de5b6a8bed0557651739c6e7109a582e66fb107771e01c3716320f0334136165a3206308249fe811495ec8413449c5a3601c02162e1923699c4a89f625aa3b8626dc0e1575d99afa57e4b45652c9305d7b111ef2bb73151b7caa412592cbeeab65317a59d81f7f3a5ed5ef09732f9a5973ca592475b8e7b745cdebdebca36dda057a67409434cf3ac25551b6fb445ee40dc950224aae925b7542ee892a14dbba90734b004da69af6e2fe0141bfe155903197ae18e65b5b19a8808ebf72464b3b6b03dabab82c84ce439ba8f791835bca38850cf7b01efc9c07ce79e22206a3e60c2418f9688ad354fce45ff2da722420373636f6b65524b3423bd6616c02cbc14b6806fd879eca9923ddc0b7d41c086678c7d0030ecc9e5a8284424f6e31c1275abec824a544ebacc5301ea9eb9ecc20635d42a299f0a0b7ae94e474ccfa04c8e67cf208ce04b8db9255b6c9671b3226a484149ea3d875c5639ca6c63bdd90c167e418b8172598bbef96ed0a9e0ec2fecaab367d333fff8798f9881563e5a0cc0e9c3d5cfbc92b3067f7f0ba8a5af301a200dd507b9c06a1c24625a960543ac219cd4e2907440f5524d3cb87e4c51d2b37fb5e9532740194e60799473aa3f0d792014b3f00ff931ceeb8629128cb68604dd33e995f54a6243d1996535e670340f169e761e687cc74ef461312e5bf8bc29660816e6402f5bdd0ee53851ff682521781b0578340d2adb44ef637f7107e55ce793232c44b5a04855ef68490bbde8350562ffdd19466c447d5f83df24a2afb90c96e2f2976e22a615abb628b20866e2fa457b649fd8083666eb13f1227584576cd4ad00965b0e10a7e1a19a11837268467d1e1d30da51f94a196115386505ca806f365b8b28f3342b4cd3deb6ebc654e42750eb6d851e9777f26044c650fd76fa7f2cf45fc4cb62b49237215612d179c0dc34da5775814c9e7eb308b903894c741204b93311cc379c474910c10bbf8d229c5f1788d7bf0603957893fe524b498fdb2b6ff41e283c763f5963830e9b097d8c4e6631c2d1c6590bee84590de6fc4297b5ecb84665352735f3ad33618e38121c57517b292f0bc21e55bc7ac230a913a2fe6f40e93507c46fcf397b3a38af4eb0164654b5220719af180827512158398d06c1b307ec1ee784172169028d4460002fe87812210471df0ee6c2ac1d63a4fba5384a9d285179aac89eac5423c380083f73c690e88c45e72b86f119f78109439bd46e685c03b3e75842ed5e68df8ab9ba21d9423ac5b006d81c31fdd6b83e87b75f917e620620ac1395a1a9b31ddb09cb27c556d8f29fc98661ef07e393d71d0cec716db13c53e584e4e41b922f13fb292ac9cf89d9c3cf3c562c207366b79de6aeb4a1c40cce0fdc5f411978a83b28937626a57a6ea05747be7433c0eda2f14095599eee2b790c979735f4201deac50da098d356c45e6501c17c058dff3cd886ab98297a7651b26ae82cfc08b8964d66be4460b0f07d06082eda711fee855fe00652ef204191478747cc91c580b3a1419ec03e1e566137c2614291dc09e400395fc81dab20062e0b2619d5c1810b7c1b2f287b7985fd07ae0d19f619c8b08eb18a07568886eb06cb64e6547af32d494e1df7bbdda145ebda46c839ae7875136540e4a9c5498bc4a3017e900aa0f1cd2f8b67cbace1d62e66492b49f03ebd4b22942989bd974c7f309293766e130ce0c5de19e3f958e5a869c361a1e16874f1128b878a77d458c31597de17e636a61e30ee7ae0a8a12a43e472bf496ff95c42c9a847b2510cb86ac755fade26c207abff8865db7deeaf6d3cb117a6c5eef02bf1bdf684282951d8ac915e4dcad5fcf1ad26d05d05f73a39342a1e2526c4e9c619a02eaf5036bc903a9f2ba797a75b902594e63e1c5d84fb7b2efde4e95183da0c107296bbaf603eabfb06f939fcd4797fe90b04476d10d4171311ff2e2172bb894e5310e59257d508194b2448e90e085396ef764877ac20f7f91100388e7567e71e341c6870b960a2c7831ca60971fac4941779a726cda5f80ae63f537a4c9aba22617daa656f02d5571a6e12cbbf573ebac90eff24ab2d271741dc5efa90c2dbc83e3cb23da647f348305de2442a1f0b67ee688af989205b32708395a66663bebcb9e830164f6ccd3afc1b6c56eb963aaa1dcbab73fc5290058191c69149c9f2b2379624dd74de743f20c6fcf6053cc2fd5b07b59e70f6944c16496fdfb6f0e48f27d50133a6ea1dc97fec1b523145bdc0097b76288be3528efe7075c06bdb69f4a9ff4a99bf46232f710c0f7c9017faa988de2600f424cec3961591fec284b407ed048d085254151e6373bc718f2b4406f1b53ef1c39aaeeaa3b9254b05374246d1e5d1eeed2e3a24bc83209ac6b5e1382330e60fcac8d36a21469093565d06380778614000883911674a3344b500a856822cb0a15904f2689b71477091ea36e9e8f0e47e2f8d4a507a7122940fd4fd47d33f71d552390cd7107bf9a94a9407d5461c8dcfd110257ddfab37cc10fdf71a24ad5ad240df2bb3410a9bfe4b283609d01ef6e1abd5833f2944cf476494d69f8582637ea1d05bc83b380adaa0fe13df210e7f322c083130492d60c9d8926960401d28e54f858c5346cf9ac98c769491779112323bd2fa164504ab9878add69ef283e15222747232d8b20ffd4d36fdc26f3421fb8fe175392cbb86f3e49394581352e14d53a18d7cf2c3e0e421e72ccf18fb3e8b33f92b5b61ed33e7061ca9c4453058b62f109aabbba2393caa119ee61b656277ec21517c4a600b472c1ece52f7e707574cf1d2e25d0c7bd9abe009458552ae748ef0df5375fa2399036ea4092e775ed5814f008add39678c58a3263c108f572454b2ded7159dfb27ffb952991950bfa3644dde78ffa5bc97e82c6df475dd0e415671e05b62292c4aae0e9ce90630c4a71a081f614673ad610d15ca5456bc9d319a77f00bd9763917ca834cb80cfaff6a736278714d9df3e8a3fd26952f6be872d95b2f5210319292dcc1c2d8e49459b1df6b6b62e469a10e70cece127680ebea80bc613c52d31a0dabcb26f60f3b85485a98d70d9f12ae76e5addb1355eef0c45d2a62de957146d466890941829f21708e38c050343f081c767160b5b3387d6ab6cbee43f0d635255440da232730eb872309af75b324bc247cf91dd566b564512bf6a50eede9053e8ee5890d57533221564beff5d27a6690da8faa7c455d05270f0390ea70852d1c6023e05d80b43d0c3066563b5c408a295f8d396ad27fc903801a738f41aae747671bd6efa685c34cd79b1c3340f9e8348e02783171cb1f3e6e98fc80e3eb7f95b9cba372034b24d77eccbe1982aa68d596ac1ba24f45cb04f785f9ca8eea0ec282f1b238a3675dd69fb790ec3af635cc05fb2c440c90b85c03320d4a28c2ba14449b1901272bdcdd1084fb74191c4849b6eef7619f66134102a8391d4a0662f70f09eb8ebf06917f2f03cf40560a76381c8502ab67194f2fff11994ea0c8409370a9792cc80d83d1c740d8fddd03517e7635fea93e89e3279d4e851ac6965f8551a59fb4ffdc84d41eb451c5621535422f5c08d843c4de465cd92056430e40baa76db1efa1c52e0c0758baf5c8570a191774f108daa5966922fc4c9ca4c927181b66b599f0dfc8a17588fbc556ea3859b7762f7835908b22a6e069b05854ad705f670664bfc2d529a71243e344705b087db58fa652f8e82783e888f4c21d071553b642bd7d910db2a02aa489613a93e16682d9d1e827f88087e5e44f7933ba93a53deb1b2af391e0bbf04e5f0546cb27de75c8856229069b03037de5b1486ffc649f0e4afeff2faca8060eed3f5f782f778be33f23d8af2cbfa749f50d563f3dcb856368daebcb1578cd9002c968a08e27c0153d3a44d6a1bd3ba52f529a907a6198d942061bea8dcd222b10d6003245eb46bdba11cc691bc1482b79e20b8215ec4f9f6bbc2e44a5b930ae44fc879c1613c7e09f0f53ba2ce08031d77014be7b98965318111aa35b303e54488f14c4f2233d73cef800af0202e6421b18e3961a97700e8de4d457810ebfa1d5edcda1bbca3371c4ce305d749d6f824b58fa29262b569dbd2eea6322589c7d072965acc42b800ed774db33e0ccfa298ac0209ba98e88418c7196e88531b5aa3c7e660e7c43cd0ffeb10c83d2eb13885880d9a45ffb2a064b157faa58dca108047defbc788f08ff13ba840c47fd94de932a9d2370bb7f00a93dd46834a408532e8bd091e2f5c518b008d824cd699d2d8e81b99a396b78df78c9ea36440f0b5538fd8db379ea048d9c0aa0ec4d7a8e6008fabb1978a99e44cb959732054cab32ba14e5466fbfc5d6c07ff44b042d884ca81ab7b2a3210aba67789ddc53be9e65c344d470e1cb4e0dc1f2a2c68a07429801371bd9a4ae371db334d292c8b1681155cc0c187bcbe4d54a487988932d8fd3b1ad16c258478dab0b9ec716aa7899c1ae2058e607836e3e56eeb9b4e58eed3abe4a5d7830f41078c95a985e343d3a3a83458f310b63805730f2f5b57f1fa5598dd410f9d8042df8122c1ada9380020a83d1655e960473623c55ef18a577cd6774a890c64216010007f24f7aa0b008db40f774bfa292d51de6391ba8c266bb5a92596e4172598c70b9ff6b00b6b559f0859cba684c9472257e5ff11e3dd2e78dd917ce0161e804040d241bb81560b30a85a38880726b67c617abf0249444b19e05ab8028127d", - "patch": { - "babe": { - "epochConfig": { - "allowed_slots": "PrimaryAndSecondaryVRFSlots", - "c": [ - 1, - 4 - ] - } - }, - "balances": { - "balances": [ - [ - "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", - 1000000000000000000 - ], - [ - "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", - 1000000000000000000 - ], - [ - "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", - 1000000000000000000 - ], - [ - "5DAAnrj7VHTznn2AWBemMuyBwZWs6FNFjdyVXUeYum3PTXFy", - 1000000000000000000 - ], - [ - "5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw", - 1000000000000000000 - ], - [ - "5CiPPseXPECbkjWCa6MnjNokrgYjMqmKndv2rSnekmSK2DjL", - 1000000000000000000 - ], - [ - "5GNJqTPyNqANBkUVMN1LPPrxXnFouWXoe2wNSmmEoLctxiZY", - 1000000000000000000 - ], - [ - "5HpG9w8EBLe5XCrbczpwq5TSXvedjrBGCwqxK1iQ7qUsSWFc", - 1000000000000000000 - ], - [ - "5Ck5SLSHYac6WFt5UZRSsdJjwmpSZq85fd5TRNAdZQVzEAPT", - 1000000000000000000 - ], - [ - "5HKPmK9GYtE1PSLsS1qiYU9xQ9Si1NcEhdeCq9sw5bqu4ns8", - 1000000000000000000 - ], - [ - "5FCfAonRZgTFrTd9HREEyeJjDpT397KMzizE6T3DvebLFE7n", - 1000000000000000000 - ], - [ - "5CRmqmsiNFExV6VbdmPJViVxrWmkaXXvBrSX8oqBT8R9vmWk", - 1000000000000000000 - ] - ] - }, - "configuration": { - "config": { - "approval_voting_params": { - "max_approval_coalesce_count": 1 - }, - "async_backing_params": { - "allowed_ancestry_len": 0, - "max_candidate_depth": 0 - }, - "code_retention_period": 1200, - "dispute_period": 6, - "dispute_post_conclusion_acceptance_period": 100, - "executor_params": [], - "hrmp_channel_max_capacity": 8, - "hrmp_channel_max_message_size": 1048576, - "hrmp_channel_max_total_size": 8192, - "hrmp_max_message_num_per_candidate": 5, - "hrmp_max_parachain_inbound_channels": 4, - "hrmp_max_parachain_outbound_channels": 4, - "hrmp_recipient_deposit": 0, - "hrmp_sender_deposit": 0, - "max_code_size": 3145728, - "max_downward_message_size": 1048576, - "max_head_data_size": 32768, - "max_pov_size": 10485760, - "max_upward_message_num_per_candidate": 5, - "max_upward_message_size": 51200, - "max_upward_queue_count": 8, - "max_upward_queue_size": 1048576, - "max_validators": null, - "minimum_backing_votes": 2, - "minimum_validation_upgrade_delay": 5, - "n_delay_tranches": 25, - "needed_approvals": 2, - "no_show_slots": 2, - "node_features": { - "bits": 8, - "data": [ - 11 - ], - "head": { - "index": 0, - "width": 8 - }, - "order": "bitvec::order::Lsb0" - }, - "pvf_voting_ttl": 2, - "relay_vrf_modulo_samples": 2, - "scheduler_params": { - "group_rotation_frequency": 20, - "lookahead": 3, - "max_availability_timeouts": 0, - "max_validators_per_core": 1, - "num_cores": 0, - "on_demand_base_fee": 10000000, - "on_demand_fee_variability": 30000000, - "on_demand_queue_max_size": 10000, - "on_demand_target_queue_utilization": 250000000, - "paras_availability_period": 4, - "ttl": 5 - }, - "validation_upgrade_cooldown": 2, - "validation_upgrade_delay": 2, - "zeroth_delay_tranche_width": 0 - } - }, - "registrar": { - "nextFreeParaId": 2000 - }, - "session": { - "keys": [ - [ - "5GNJqTPyNqANBkUVMN1LPPrxXnFouWXoe2wNSmmEoLctxiZY", - "5GNJqTPyNqANBkUVMN1LPPrxXnFouWXoe2wNSmmEoLctxiZY", - { - "authority_discovery": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", - "babe": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", - "beefy": "KW39r9CJjAVzmkf9zQ4YDb2hqfAVGdRqn53eRqyruqpxAP5YL", - "grandpa": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", - "para_assignment": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", - "para_validator": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" - } - ], - [ - "5HpG9w8EBLe5XCrbczpwq5TSXvedjrBGCwqxK1iQ7qUsSWFc", - "5HpG9w8EBLe5XCrbczpwq5TSXvedjrBGCwqxK1iQ7qUsSWFc", - { - "authority_discovery": "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", - "babe": "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", - "beefy": "KWByAN7WfZABWS5AoWqxriRmF5f2jnDqy3rB5pfHLGkY93ibN", - "grandpa": "5GoNkf6WdbxCFnPdAnYYQyCjAKPJgLNxXwPjwTh6DGg6gN3E", - "para_assignment": "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", - "para_validator": "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty" - } - ] - ] - }, - "sudo": { - "key": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" - } - } - } - } -} \ No newline at end of file diff --git a/docs/contributor/CONTRIBUTING.md b/docs/contributor/CONTRIBUTING.md index b96c77ef62cce..e288d4cb2656b 100644 --- a/docs/contributor/CONTRIBUTING.md +++ b/docs/contributor/CONTRIBUTING.md @@ -82,7 +82,7 @@ The reviewers are also responsible to check: All Pull Requests must contain proper title & description, as described in [Pull Request Template](./PULL_REQUEST_TEMPLATE.md). Moreover, all pull requests must have a proper `prdoc` file attached. -Pull Requests labelled with ⁠`R0-no-crate-publish-required` are exempt from ⁠prdoc documentation requirements. +Pull Requests labelled with `R0-no-crate-publish-required` are exempt from prdoc documentation requirements. See more about `prdoc` [here](./prdoc.md) diff --git a/docs/contributor/weight-generation.md b/docs/contributor/weight-generation.md index a22a55404a446..0384d16f8c307 100644 --- a/docs/contributor/weight-generation.md +++ b/docs/contributor/weight-generation.md @@ -5,7 +5,7 @@ Weights generation is using self-hosted runner which is provided by Parity CI, t GitHub runners on `ubuntu-latest` or `ubuntu-20.04`. Self-hosted runner for benchmarks (`parity-weights`) is configured to meet requirements of reference hardware for running validators -https://wiki.polkadot.network/docs/maintain-guides-how-to-validate-polkadot#reference-hardware +https://docs.polkadot.com/infrastructure/running-a-validator/requirements/#minimum-hardware-requirements In a PR run the actions through comment: diff --git a/docs/sdk/packages/guides/first-pallet/src/lib.rs b/docs/sdk/packages/guides/first-pallet/src/lib.rs index 8e4b45c09000c..b8b6438aa6b83 100644 --- a/docs/sdk/packages/guides/first-pallet/src/lib.rs +++ b/docs/sdk/packages/guides/first-pallet/src/lib.rs @@ -85,7 +85,7 @@ pub mod pallet { // ensure sender has enough balance, and if so, calculate what is left after `amount`. let sender_balance = Balances::::get(&sender).ok_or("NonExistentAccount")?; if sender_balance < amount { - return Err("InsufficientBalance".into()) + return Err("InsufficientBalance".into()); } let remainder = sender_balance - amount; diff --git a/docs/sdk/packages/guides/first-runtime/src/lib.rs b/docs/sdk/packages/guides/first-runtime/src/lib.rs index 98c20cae4159e..e4629c855d6f3 100644 --- a/docs/sdk/packages/guides/first-runtime/src/lib.rs +++ b/docs/sdk/packages/guides/first-runtime/src/lib.rs @@ -235,7 +235,7 @@ impl_runtime_apis! { } impl apis::SessionKeys for Runtime { - fn generate_session_keys(_seed: Option>) -> Vec { + fn generate_session_keys(_owner: Vec, _seed: Option>) -> apis::OpaqueGeneratedSessionKeys { Default::default() } diff --git a/docs/sdk/src/guides/async_backing_guide.rs b/docs/sdk/src/guides/async_backing_guide.rs index 547737d5088e2..96f6dc40ca16a 100644 --- a/docs/sdk/src/guides/async_backing_guide.rs +++ b/docs/sdk/src/guides/async_backing_guide.rs @@ -102,7 +102,6 @@ //! 6. Update `sp_consensus_aura::AuraApi::slot_duration` in `sp_api::impl_runtime_apis` to match //! the constant `SLOT_DURATION` #![doc = docify::embed!("../../templates/parachain/runtime/src/apis.rs", impl_slot_duration)] -//! //! 7. Implement the `AuraUnincludedSegmentApi`, which allows the collator client to query its //! runtime to determine whether it should author a block. //! @@ -119,7 +118,6 @@ //! - Inside the `impl_runtime_apis!` block for your runtime, implement the //! `cumulus_primitives_aura::AuraUnincludedSegmentApi` as shown below. #![doc = docify::embed!("../../templates/parachain/runtime/src/apis.rs", impl_can_build_upon)] -//! //! **Note:** With a capacity of 1 we have an effective velocity of Β½ even when velocity is //! configured to some larger value. This is because capacity will be filled after a single block is //! produced and will only be freed up after that block is included on the relay chain, which takes @@ -130,15 +128,12 @@ //! remove it. `FixedVelocityConsensusHook` makes it unnecessary. The following example shows how //! `register_validate_block` should look after removing `CheckInherents`. #![doc = docify::embed!("../../templates/parachain/runtime/src/lib.rs", register_validate_block)] -//! -//! //! ## Phase 2 - Update Parachain Nodes //! //! This phase consists of plugging in the new lookahead collator node. //! //! 1. Import `cumulus_primitives_core::ValidationCode` to `node/src/service.rs`. #![doc = docify::embed!("../../templates/parachain/node/src/service.rs", cumulus_primitives)] -//! //! 2. In `node/src/service.rs`, modify `sc_service::spawn_tasks` to use a clone of `Backend` rather //! than the original //! ```ignore @@ -168,7 +163,6 @@ //! //! 4. In `node/src/service.rs` import the lookahead collator rather than the basic collator #![doc = docify::embed!("../../templates/parachain/node/src/service.rs", lookahead_collator)] -//! //! 5. In `start_consensus()` replace the `BasicAuraParams` struct with `AuraParams` //! - Change the struct type from `BasicAuraParams` to `AuraParams` //! - In the `para_client` field, pass in a cloned para client rather than the original @@ -210,20 +204,16 @@ //! 1. Configure `pallet_aura`, setting `AllowMultipleBlocksPerSlot` to true in //! `runtime/src/lib.rs`. #![doc = docify::embed!("../../templates/parachain/runtime/src/configs/mod.rs", aura_config)] -//! //! 2. Increase the maximum `UNINCLUDED_SEGMENT_CAPACITY` in `runtime/src/lib.rs`. #![doc = docify::embed!("../../templates/parachain/runtime/src/lib.rs", async_backing_params)] -//! //! 3. Decrease `MILLISECS_PER_BLOCK` to 6000. //! //! - Note: For a parachain which measures time in terms of its own block number rather than by //! relay block number it may be preferable to increase velocity. Changing block time may cause //! complications, requiring additional changes. See the section β€œTiming by Block Number”. #![doc = docify::embed!("../../templates/parachain/runtime/src/lib.rs", block_times)] -//! //! 4. Update `MAXIMUM_BLOCK_WEIGHT` to reflect the increased time available for block production. #![doc = docify::embed!("../../templates/parachain/runtime/src/lib.rs", max_block_weight)] -//! //! 5. Add a feature flagged alternative for `MinimumPeriod` in `pallet_timestamp`. The type should //! be `ConstU64<0>` with the feature flag experimental, and `ConstU64<{SLOT_DURATION / 2}>` //! without. diff --git a/docs/sdk/src/guides/enable_metadata_hash.rs b/docs/sdk/src/guides/enable_metadata_hash.rs index 930afd4d8ff71..f52e2d047ebc5 100644 --- a/docs/sdk/src/guides/enable_metadata_hash.rs +++ b/docs/sdk/src/guides/enable_metadata_hash.rs @@ -47,7 +47,6 @@ //! [`CheckMetadataHash`](frame_metadata_hash_extension::CheckMetadataHash) needs to be added to the //! list of signed extension: #![doc = docify::embed!("../../templates/parachain/runtime/src/lib.rs", template_signed_extra)] -//! //! > **Note:** //! > //! > Adding the signed extension changes the encoding of the transaction and adds one extra byte @@ -73,7 +72,6 @@ //! The metadata hash generation needs to be enabled when building the wasm binary. The //! `substrate-wasm-builder` supports this out of the box: #![doc = docify::embed!("../../templates/parachain/runtime/build.rs", template_enable_metadata_hash)] -//! //! > **Note:** //! > //! > The `metadata-hash` feature needs to be enabled for the `substrate-wasm-builder` to enable the diff --git a/docs/sdk/src/guides/enable_pov_reclaim.rs b/docs/sdk/src/guides/enable_pov_reclaim.rs index 71abeacd18c8e..a89a97eb5d5e6 100644 --- a/docs/sdk/src/guides/enable_pov_reclaim.rs +++ b/docs/sdk/src/guides/enable_pov_reclaim.rs @@ -34,7 +34,6 @@ //! This example from the parachain-template shows a type definition that includes the correct //! host functions. #![doc = docify::embed!("../../templates/parachain/node/src/service.rs", wasm_executor)] -//! //! > **Note:** //! > //! > If you see error `runtime requires function imports which are not present on the host: @@ -51,7 +50,6 @@ //! with [`new_full_parts_record_import`](sc_service::new_full_parts_record_import) and //! pass `true` as the last parameter to enable import recording. #![doc = docify::embed!("../../templates/parachain/node/src/service.rs", component_instantiation)] -//! //! > **Note:** //! > //! > If you see error `Storage root must match that calculated.` during block import, it is likely @@ -69,7 +67,6 @@ //! The extension will check the size of the storage proof before and after an extrinsic execution. //! It reclaims the difference between the calculated size and the benchmarked size. #![doc = docify::embed!("../../templates/parachain/runtime/src/lib.rs", template_signed_extra)] -//! //! ## Optional: Verify that reclaim works //! //! Start your node with the log target `runtime::storage_reclaim` set to `trace` to enable full diff --git a/docs/sdk/src/guides/handling_parachain_forks.rs b/docs/sdk/src/guides/handling_parachain_forks.rs index 3b3d2022a1863..95cfc5b5ab3d3 100644 --- a/docs/sdk/src/guides/handling_parachain_forks.rs +++ b/docs/sdk/src/guides/handling_parachain_forks.rs @@ -86,5 +86,5 @@ //! } //! } //! ``` -//! 4. Increase the `UNINCLUDED_SEGMENT_CAPICITY` for your runtime. It needs to be increased by +//! 4. Increase the `UNINCLUDED_SEGMENT_CAPACITY` for your runtime. It needs to be increased by //! `RELAY_PARENT_OFFSET * BLOCK_PROCESSING_VELOCITY`. diff --git a/docs/sdk/src/guides/your_first_node.rs b/docs/sdk/src/guides/your_first_node.rs index 72b9d9314a326..461dec9c4a044 100644 --- a/docs/sdk/src/guides/your_first_node.rs +++ b/docs/sdk/src/guides/your_first_node.rs @@ -43,7 +43,6 @@ //! ``` //! Equivalent code in tests: #![doc = docify::embed!("./src/guides/your_first_runtime.rs", build_runtime)] -//! //! This creates the wasm file under `./target/{release}/wbuild/release` directory. //! //! ### Building Chain Spec @@ -66,8 +65,6 @@ //! //! Equivalent code in tests: #![doc = docify::embed!("./src/guides/your_first_node.rs", csb)] -//! -//! //! ### Running `polkadot-omni-node` //! //! Finally, we can run the node with the generated chain-spec file. We can also specify the block @@ -316,7 +313,7 @@ mod tests { #[tokio::test] async fn omni_node_dev_mode_works() { - //Omni Node in dev mode works with parachain's template `dev_chain_spec` + // Omni Node in dev mode works with parachain's template `dev_chain_spec` let dev_chain_spec = std::env::current_dir() .unwrap() .parent() diff --git a/docs/sdk/src/guides/your_first_pallet/mod.rs b/docs/sdk/src/guides/your_first_pallet/mod.rs index bff2e4bfa56f2..4273da40aaabf 100644 --- a/docs/sdk/src/guides/your_first_pallet/mod.rs +++ b/docs/sdk/src/guides/your_first_pallet/mod.rs @@ -48,7 +48,6 @@ //! [`pallet::config`] and [`pallet::pallet`] are both mandatory parts of any //! pallet. Refer to the documentation of each to get an overview of what they do. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", shell_pallet)] -//! //! All of the code that follows in this guide should live inside of the `mod pallet`. //! //! ### Storage @@ -62,17 +61,14 @@ //! > simplicity, we are hardcoding this type. In a real pallet is best practice to define it as a //! > generic bounded type in the `Config` trait, and then specify it in the implementation. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", Balance)] -//! //! The definition of these two storage items, based on [`pallet::storage`] details, is as follows: #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", TotalIssuance)] #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", Balances)] -//! //! ### Dispatchables //! //! Next, we will define the dispatchable functions. As per [`pallet::call`], these will be defined //! as normal `fn`s attached to `struct Pallet`. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", impl_pallet)] -//! //! The logic of these functions is self-explanatory. Instead, we will focus on the FRAME-related //! details: //! @@ -85,14 +81,12 @@ //! `Result`. So by the end of this function call, we know that this dispatchable //! was signed by `sender`. #![doc = docify::embed!("../../substrate/frame/system/src/lib.rs", ensure_signed)] -//! //! - Where does `mutate`, `get` and `insert` and other storage APIs come from? All of them are //! explained in the corresponding `type`, for example, for `Balances::::insert`, you can look //! into [`frame::prelude::StorageMap::insert`]. //! //! - The return type of all dispatchable functions is [`frame::prelude::DispatchResult`]: #![doc = docify::embed!("../../substrate/frame/support/src/dispatch.rs", DispatchResult)] -//! //! Which is more or less a normal Rust `Result`, with a custom [`frame::prelude::DispatchError`] as //! the `Err` variant. We won't cover this error in detail here, but importantly you should know //! that there is an `impl From<&'static string> for DispatchError` provided (see @@ -109,14 +103,12 @@ //! improved. First, we can use [`frame::prelude::ensure`] to express the error slightly better. //! This macro will call `.into()` under the hood. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", transfer_better)] -//! //! Moreover, you will learn in the [Defensive Programming //! section](crate::reference_docs::defensive_programming) that it is always recommended to use //! safe arithmetic operations in your runtime. By using [`frame::traits::CheckedSub`], we can not //! only take a step in that direction, but also improve the error handing and make it slightly more //! ergonomic. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", transfer_better_checked)] -//! //! This is more or less all the logic that there is in this basic currency pallet! //! //! ### Your First (Test) Runtime @@ -146,7 +138,6 @@ //! [`frame::prelude::frame_system`]. So we expect to see a runtime with two pallet, `frame_system` //! and the one we just wrote. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", runtime)] -//! //! > [`frame::pallet_macros::derive_impl`] is a FRAME feature that enables developers to have //! > defaults for associated types. //! @@ -183,7 +174,6 @@ //! [`frame::testing_prelude::TestState`]. This is a type that provides access to an in-memory state //! to be used in our tests. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", first_test)] -//! //! In the first test, we simply assert that there is no total issuance, and no balance associated //! with Alice's account. Then, we mint some balance into Alice's, and re-check. //! @@ -207,16 +197,13 @@ //! Let's see how we can implement a better test setup using this pattern. First, we define a //! `struct StateBuilder`. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", StateBuilder)] -//! //! This struct is meant to contain the same list of accounts and balances that we want to have at //! the beginning of each block. We hardcoded this to `let accounts = vec![(ALICE, 100), (2, 100)];` //! so far. Then, if desired, we attach a default value for this struct. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", default_state_builder)] -//! //! Like any other builder pattern, we attach functions to the type to mutate its internal //! properties. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", impl_state_builder_add)] -//! //! Finally --the useful part-- we write our own custom `build_and_execute` function on //! this type. This function will do multiple things: //! @@ -228,23 +215,19 @@ //! correctness of the `TotalIssuance`. We leave it up to you as an exercise to learn why the //! assertion should always hold, and how it is checked. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", impl_state_builder_build)] -//! //! We can write tests that specifically check the initial state, and making sure our `StateBuilder` //! is working exactly as intended. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", state_builder_works)] #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", state_builder_add_balance)] -//! //! ### More Tests //! //! Now that we have a more ergonomic test setup, let's see how a well written test for transfer and //! mint would look like. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", transfer_works)] #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", mint_works)] -//! //! It is always a good idea to build a mental model where you write *at least* one test for each //! "success path" of a dispatchable, and one test for each "failure path", such as: #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", transfer_from_non_existent_fails)] -//! //! We leave it up to you to write a test that triggers the `InsufficientBalance` error. //! //! ### Event and Error @@ -274,7 +257,6 @@ //! attributes attached. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", Event)] #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", Error)] -//! //! One slightly custom part of this is the [`pallet::generate_deposit`] part. Without going into //! too much detail, in order for a pallet to emit events to the rest of the system, it needs to do //! two things: @@ -289,17 +271,14 @@ //! provides a default way of storing events, and this is what [`pallet::generate_deposit`] is //! doing. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", config_v2)] -//! //! > These `Runtime*` types are better explained in //! > [`crate::reference_docs::frame_runtime_types`]. //! //! Then, we can rewrite the `transfer` dispatchable as such: #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", transfer_v2)] -//! //! Then, notice how now we would need to provide this `type RuntimeEvent` in our test runtime //! setup. #![doc = docify::embed!("./packages/guides/first-pallet/src/lib.rs", runtime_v2)] -//! //! In this snippet, the actual `RuntimeEvent` type (right hand side of `type RuntimeEvent = //! RuntimeEvent`) is generated by //! [`construct_runtime`](frame::runtime::prelude::construct_runtime). An interesting way to inspect @@ -393,7 +372,7 @@ pub mod pallet { // ensure sender has enough balance, and if so, calculate what is left after `amount`. let sender_balance = Balances::::get(&sender).ok_or("NonExistentAccount")?; if sender_balance < amount { - return Err("InsufficientBalance".into()) + return Err("InsufficientBalance".into()); } let remainder = sender_balance - amount; diff --git a/docs/sdk/src/guides/your_first_runtime.rs b/docs/sdk/src/guides/your_first_runtime.rs index 5205775ec61c5..352637d6d9b90 100644 --- a/docs/sdk/src/guides/your_first_runtime.rs +++ b/docs/sdk/src/guides/your_first_runtime.rs @@ -32,7 +32,6 @@ //! The first new property of a real runtime that it must define its //! [`frame::runtime::prelude::RuntimeVersion`]: #![doc = docify::embed!("./packages/guides/first-runtime/src/lib.rs", VERSION)] -//! //! The version contains a number of very important fields, such as `spec_version` and `spec_name` //! that play an important role in identifying your runtime and its version, more importantly in //! runtime upgrades. More about runtime upgrades in @@ -44,11 +43,9 @@ //! //! In the case of our example: #![doc = docify::embed!("./packages/guides/first-runtime/src/lib.rs", our_config_impl)] -//! //! In this example, we bring in a number of other pallets from [`frame`] into the runtime, each of //! their `Config` need to be implemented for `struct Runtime`: #![doc = docify::embed!("./packages/guides/first-runtime/src/lib.rs", config_impls)] -//! //! Notice how we use [`frame::pallet_macros::derive_impl`] to provide "default" configuration items //! for each pallet. Feel free to dive into the definition of each default prelude (eg. //! [`frame::prelude::frame_system::pallet::config_preludes`]) to learn more which types are exactly @@ -60,7 +57,6 @@ //! //! Then, a familiar instance of `construct_runtime` amalgamates all of the pallets: #![doc = docify::embed!("./packages/guides/first-runtime/src/lib.rs", cr)] -//! //! Recall from [`crate::reference_docs::wasm_meta_protocol`] that every (real) runtime needs to //! implement a set of runtime APIs that will then let the node to communicate with it. The final //! steps of crafting a runtime are related to achieving exactly this. @@ -70,7 +66,6 @@ //! amalgamating all pallets and further types, implements some of the very very core pieces of the //! runtime logic, such as how blocks are executed and other runtime-api implementations. #![doc = docify::embed!("./packages/guides/first-runtime/src/lib.rs", runtime_types)] -//! //! Finally, we use [`frame::runtime::prelude::impl_runtime_apis`] to implement all of the runtime //! APIs that the runtime wishes to expose. As you will see in the code, most of these runtime API //! implementations are merely forwarding calls to `RuntimeExecutive` which handles the actual @@ -139,14 +134,12 @@ //! 1. Expose one non-default preset, namely [`sp_genesis_builder::DEV_RUNTIME_PRESET`]. This means //! our runtime has two "presets" of genesis state in total: `DEV_RUNTIME_PRESET` and `None`. #![doc = docify::embed!("./packages/guides/first-runtime/src/lib.rs", preset_names)] -//! //! For `build_state` and `get_preset`, we use the helper functions provide by frame: //! //! * [`frame::runtime::prelude::build_state`] and [`frame::runtime::prelude::get_preset`]. //! //! Indeed, our runtime needs to specify what its `DEV_RUNTIME_PRESET` genesis state should be like: #![doc = docify::embed!("./packages/guides/first-runtime/src/lib.rs", development_config_genesis)] -//! //! For more in-depth information about `GenesisConfig`, `ChainSpec`, the `GenesisBuilder` API and //! `chain-spec-builder`, see [`crate::reference_docs::chain_spec_genesis`]. //! diff --git a/docs/sdk/src/lib.rs b/docs/sdk/src/lib.rs index ca53a6d103cff..e22d221f92dad 100644 --- a/docs/sdk/src/lib.rs +++ b/docs/sdk/src/lib.rs @@ -25,7 +25,6 @@ #![warn(rustdoc::private_intra_doc_links)] // Frame macros reference features which this crate does not have #![allow(unexpected_cfgs)] -#![doc(html_favicon_url = "https://polkadot.com/favicon.ico")] #![doc( html_logo_url = "https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/docs/images/Polkadot_Logo_Horizontal_Pink_White.png" )] diff --git a/docs/sdk/src/polkadot_sdk/cumulus.rs b/docs/sdk/src/polkadot_sdk/cumulus.rs index 010f175784800..1ac90de1c55cd 100644 --- a/docs/sdk/src/polkadot_sdk/cumulus.rs +++ b/docs/sdk/src/polkadot_sdk/cumulus.rs @@ -21,7 +21,6 @@ //! - [`cumulus_pallet_parachain_system`] //! - [`parachain_info`] #![doc = docify::embed!("./src/polkadot_sdk/cumulus.rs", system_pallets)] -//! //! Given that all Cumulus-based runtimes use a simple Aura-based consensus mechanism, the following //! pallets also need to be added: //! @@ -29,15 +28,12 @@ //! - [`pallet_aura`] //! - [`cumulus_pallet_aura_ext`] #![doc = docify::embed!("./src/polkadot_sdk/cumulus.rs", consensus_pallets)] -//! -//! //! Finally, a separate macro, similar to //! [`impl_runtime_api`](frame::runtime::prelude::impl_runtime_apis), which creates the default set //! of runtime APIs, will generate the parachain runtime's validation runtime API, also known as //! parachain validation function (PVF). Without this API, the relay chain is unable to validate //! blocks produced by our parachain. #![doc = docify::embed!("./src/polkadot_sdk/cumulus.rs", validate_block)] -//! //! --- //! //! [FRAME]: crate::polkadot_sdk::frame_runtime diff --git a/docs/sdk/src/polkadot_sdk/frame_runtime.rs b/docs/sdk/src/polkadot_sdk/frame_runtime.rs index 38068fc9c925f..c0cd27cf19ca6 100644 --- a/docs/sdk/src/polkadot_sdk/frame_runtime.rs +++ b/docs/sdk/src/polkadot_sdk/frame_runtime.rs @@ -22,7 +22,6 @@ //! blockchain, and is encoded as a WASM blob. //! 2. A node whose primary purpose is to execute the given runtime. #![doc = simple_mermaid::mermaid!("../../../mermaid/substrate_simple.mmd")] -//! //! *FRAME is the Substrate's framework of choice to build a runtime.* //! //! FRAME is composed of two major components, **pallets** and a **runtime**. @@ -56,7 +55,6 @@ //! //! The following example showcases a minimal pallet. #![doc = docify::embed!("src/polkadot_sdk/frame_runtime.rs", pallet)] -//! //! ## Runtime //! //! A runtime is a collection of pallets that are amalgamated together. Each pallet typically has @@ -72,7 +70,6 @@ //! The following example shows a (test) runtime that is composing the pallet demonstrated above, //! next to the [`frame::prelude::frame_system`] pallet, into a runtime. #![doc = docify::embed!("src/polkadot_sdk/frame_runtime.rs", runtime)] -//! //! ## More Examples //! //! You can find more FRAME examples that revolve around specific features at [`pallet_examples`]. diff --git a/docs/sdk/src/polkadot_sdk/mod.rs b/docs/sdk/src/polkadot_sdk/mod.rs index 2647b82141f51..6fcff250d80f0 100644 --- a/docs/sdk/src/polkadot_sdk/mod.rs +++ b/docs/sdk/src/polkadot_sdk/mod.rs @@ -99,7 +99,6 @@ //! //! The following diagram summarizes how some of the components of Polkadot SDK work together: #![doc = simple_mermaid::mermaid!("../../../mermaid/polkadot_sdk_substrate.mmd")] -//! //! A Substrate-based chain is a blockchain composed of a runtime and a node. As noted above, the //! runtime is the application logic of the blockchain, and the node is everything else. //! See [`reference_docs::wasm_meta_protocol`] for an in-depth explanation of this. The @@ -113,7 +112,6 @@ //! A parachain is a "special" Substrate-based chain, whereby both the node and the runtime //! components have became "Polkadot-aware" using Cumulus. #![doc = simple_mermaid::mermaid!("../../../mermaid/polkadot_sdk_parachain.mmd")] -//! //! ## Notable Upstream Crates //! //! - [`parity-scale-codec`](https://github.com/paritytech/parity-scale-codec) diff --git a/docs/sdk/src/polkadot_sdk/polkadot.rs b/docs/sdk/src/polkadot_sdk/polkadot.rs index 8f547fec52b12..3f5e54ae925ff 100644 --- a/docs/sdk/src/polkadot_sdk/polkadot.rs +++ b/docs/sdk/src/polkadot_sdk/polkadot.rs @@ -14,7 +14,7 @@ //! - [Dashboard](https://polkadot-fellows.github.io/dashboard/) //! - [Polkadot Specs](http://spec.polkadot.network) //! - [The Polkadot Parachain Host Implementers' Guide](https://paritytech.github.io/polkadot-sdk/book/) -//! - [Polkadot papers](https://polkadot.com/papers/) +//! - [Polkadot paper overview](https://wiki.polkadot.com/general/getting-started/#learning-about-polkadot-and-web3) //! - [JAM Graypaper](https://graypaper.com) //! //! ## Alternative Node Implementations 🌈 @@ -50,11 +50,10 @@ //! * (heterogenous) Sharded Execution: Yet, each parachain is free to have its own execution logic //! (runtime), which also encompasses governance and sovereignty. Moreover, Polkadot ensures the //! correct execution of all parachains, without having all of its validators re-execute all -//! parachain blocks. When seen from this perspective, Polkadot achieves the ability to verify -//! the validity of the block execution of multiple parachains using the same set of validators as -//! the Relay Chain. In practice, this means that the shards (parachains) share the same economic +//! parachain blocks. When seen from this perspective, Polkadot achieves the ability to verify the +//! validity of the block execution of multiple parachains using the same set of validators as the +//! Relay Chain. In practice, this means that the shards (parachains) share the same economic //! security as the Relay Chain. -//! Learn about this process called [Approval Checking](https://polkadot.com/blog/polkadot-v1-0-sharding-and-economic-security#approval-checking-and-finality). //! * A framework to build blockchains: In order to materialize the ecosystem of parachains, an easy //! blockchain framework must exist. This is [Substrate](crate::polkadot_sdk::substrate), //! [FRAME](crate::polkadot_sdk::frame_runtime) and [Cumulus](crate::polkadot_sdk::cumulus). diff --git a/docs/sdk/src/polkadot_sdk/substrate.rs b/docs/sdk/src/polkadot_sdk/substrate.rs index 3bc25ff1e43d4..de5af9c29fc63 100644 --- a/docs/sdk/src/polkadot_sdk/substrate.rs +++ b/docs/sdk/src/polkadot_sdk/substrate.rs @@ -55,7 +55,6 @@ //! > A notable Substrate-based blockchain that has built both custom FRAME pallets and custom //! > node-side components is . #![doc = simple_mermaid::mermaid!("../../../mermaid/substrate_dev.mmd")] -//! //! ## Structure //! //! Substrate contains a large number of crates, therefore it is useful to have an overview of what diff --git a/docs/sdk/src/polkadot_sdk/templates.rs b/docs/sdk/src/polkadot_sdk/templates.rs index 0151a8edc4d26..376f60a69b233 100644 --- a/docs/sdk/src/polkadot_sdk/templates.rs +++ b/docs/sdk/src/polkadot_sdk/templates.rs @@ -42,4 +42,4 @@ //! Is a CLI tool capable of scaffolding a new polkadot-sdk-based project, possibly removing the //! need for templates. //! -//! - +//! - diff --git a/docs/sdk/src/polkadot_sdk/xcm.rs b/docs/sdk/src/polkadot_sdk/xcm.rs index 20841b0b55b93..6ef4d82b80670 100644 --- a/docs/sdk/src/polkadot_sdk/xcm.rs +++ b/docs/sdk/src/polkadot_sdk/xcm.rs @@ -46,7 +46,6 @@ //! To perform the very usual operation of transferring assets, the following XCM program can be //! used: #![doc = docify::embed!("src/polkadot_sdk/xcm.rs", example_transfer)] -//! //! ## Get started //! //! To learn how it works and to get started, go to the [XCM docs](xcm_docs). diff --git a/docs/sdk/src/reference_docs/blockchain_state_machines.rs b/docs/sdk/src/reference_docs/blockchain_state_machines.rs index 36ab0ce5ed54f..79029b1f334dc 100644 --- a/docs/sdk/src/reference_docs/blockchain_state_machines.rs +++ b/docs/sdk/src/reference_docs/blockchain_state_machines.rs @@ -13,13 +13,11 @@ //! *The component that dictates how this state alteration can happen is called the state transition //! function*. #![doc = simple_mermaid::mermaid!("../../../mermaid/stf_simple.mmd")] -//! //! In Substrate-based blockchains, the state transition function is called the *Runtime*. This is //! explained further in [`crate::reference_docs::wasm_meta_protocol`]. //! //! With this in mind, we can paint a complete picture of a blockchain as a state machine: #![doc = simple_mermaid::mermaid!("../../../mermaid/stf.mmd")] -//! //! In essence, the state of the blockchain at block N is the outcome of applying the state //! transition function to the previous state, and the current block as input. This can be //! mathematically represented as: diff --git a/docs/sdk/src/reference_docs/chain_spec_genesis.rs b/docs/sdk/src/reference_docs/chain_spec_genesis.rs index d5cc482711ad7..42ed9b49ffba8 100644 --- a/docs/sdk/src/reference_docs/chain_spec_genesis.rs +++ b/docs/sdk/src/reference_docs/chain_spec_genesis.rs @@ -25,30 +25,24 @@ //! Every frame pallet may have its initial state which is defined by the `GenesisConfig` internal //! struct. It is a regular Rust struct, annotated with the [`pallet::genesis_config`] attribute. #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/pallets.rs", pallet_bar_GenesisConfig)] -//! //! The struct shall be defined within the pallet `mod`, as in the following code: #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/pallets.rs", pallet_bar)] -//! //! The initial state conveyed in the `GenesisConfig` struct is transformed into state storage //! items by means of the [`BuildGenesisConfig`] trait, which shall be implemented for the pallet's //! `GenesisConfig` struct. The [`pallet::genesis_build`] attribute shall be attached to the `impl` //! block: #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/pallets.rs", pallet_bar_build)] -//! //! `GenesisConfig` may also contain more complicated types, including nested structs or enums, as //! in the example for `pallet_foo`: #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/pallets.rs", pallet_foo_GenesisConfig)] -//! //! Note that [`serde`] attributes can be used to control how the data //! structures are stored into JSON. In the following example, the [`sp_core::bytes`] function is //! used to serialize the `values` field. #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/pallets.rs", SomeFooData2)] -//! //! Please note that fields of `GenesisConfig` may not be directly mapped to storage items. In the //! following example, the initial struct fields are used to compute (sum) the value that will be //! stored in the state as `ProcessedEnumValue`: #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/pallets.rs", pallet_foo_build)] -//! //! # `GenesisConfig` for `runtimes` //! //! The runtime genesis config struct consists of configs for every pallet. For the [_demonstration @@ -85,13 +79,11 @@ //! [`build_state`], [`get_preset`]. //! A typical implementation of [`sp_genesis_builder::GenesisBuilder`] looks as follows: #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/runtime.rs", runtime_impl)] -//! //! Please note that two functions are customized: `preset_names` and `get_preset`. The first one //! just provides a `Vec` of the names of supported presets, while the latter delegates the call //! to a function that maps the name to an actual preset: //! [`chain_spec_guide_runtime::presets::get_builtin_preset`] #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/presets.rs", get_builtin_preset)] -//! //! ## Genesis state presets for runtime //! //! The runtime may provide many flavors of initial genesis state. This may be useful for predefined @@ -106,7 +98,6 @@ #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/presets.rs", preset_3)] //! - JSON in string form: #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/presets.rs", preset_1)] -//! //! It is worth noting that a preset does not have to be the full `RuntimeGenesisConfig`, in that //! sense that it does not have to contain all the keys of the struct. The preset is actually a JSON //! patch that will be merged with the default value of `RuntimeGenesisConfig`. This approach should @@ -115,8 +106,6 @@ #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/presets.rs", preset_4)] //! This results in the following JSON blob: #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/tests/chain_spec_builder_tests.rs", preset_4_json)] -//! -//! //! ## Note on the importance of testing presets //! //! It is recommended to always test presets by adding tests that convert the preset into the @@ -124,7 +113,6 @@ //! which enforces the verification of the preset. The following code shows one of the approaches //! that can be taken for testing: #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/presets.rs", check_presets)] -//! //! ## Note on the importance of using the `deny_unknown_fields` attribute //! //! It is worth noting that when manually building preset JSON blobs it is easy to make a @@ -135,7 +123,6 @@ //! [`deny_unknown_fields`] attribute on the [`FooStruct`] struct, which is internally used in //! `GenesisConfig`. #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/src/presets.rs", invalid_preset_works)] -//! //! To avoid this problem [`build_struct_json_patch`] macro shall be used whenever possible (it //! internally instantiates the struct before serializang it JSON blob, so all unknown fields shall //! be caught at compilation time). @@ -181,7 +168,6 @@ #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/tests/chain_spec_builder_tests.rs", cmd_generate_chain_spec)] //! ## Building a parachain chain-spec using given preset #![doc = docify::embed!("./src/reference_docs/chain_spec_runtime/tests/chain_spec_builder_tests.rs", cmd_generate_para_chain_spec)] -//! //! [`RuntimeGenesisConfig`]: //! chain_spec_guide_runtime::runtime::RuntimeGenesisConfig //! [`FooStruct`]: diff --git a/docs/sdk/src/reference_docs/custom_host_functions.rs b/docs/sdk/src/reference_docs/custom_host_functions.rs index 719b208a2bff7..eea93be97d9c9 100644 --- a/docs/sdk/src/reference_docs/custom_host_functions.rs +++ b/docs/sdk/src/reference_docs/custom_host_functions.rs @@ -21,7 +21,6 @@ //! //! A group of host functions can always be grouped to gether as a tuple: #![doc = docify::embed!("../../substrate/primitives/io/src/lib.rs", SubstrateHostFunctions)] -//! //! The host functions are attached to the node side's [`sc_executor::WasmExecutor`]. For example in //! the minimal template, the setup looks as follows: #![doc = docify::embed!("../../templates/minimal/node/src/service.rs", FullClient)] diff --git a/docs/sdk/src/reference_docs/custom_runtime_api_rpc.rs b/docs/sdk/src/reference_docs/custom_runtime_api_rpc.rs index 083ed9f77e102..f867597ef8edb 100644 --- a/docs/sdk/src/reference_docs/custom_runtime_api_rpc.rs +++ b/docs/sdk/src/reference_docs/custom_runtime_api_rpc.rs @@ -53,7 +53,6 @@ //! For example, let's take a look at the process through which the account nonce can be queried //! through an RPC. First, a new runtime-api needs to be declared: #![doc = docify::embed!("../../substrate/frame/system/rpc/runtime-api/src/lib.rs", AccountNonceApi)] -//! //! This API is implemented at the runtime level, always inside [`sp_api::impl_runtime_apis!`]. //! //! As noted, this is already enough to make this API usable via `state_call`. @@ -63,13 +62,11 @@ //! Should you wish to implement the legacy approach of exposing this runtime-api as a custom //! RPC-api, then a custom RPC server has to be defined. #![doc = docify::embed!("../../substrate/utils/frame/rpc/system/src/lib.rs", SystemApi)] -//! //! ## Add a new RPC to the node (Legacy) //! //! Finally, this custom RPC needs to be integrated into the node side. This is usually done in a //! `rpc.rs` in a typical template, as follows: #![doc = docify::embed!("../../templates/minimal/node/src/rpc.rs", create_full)] -//! //! ## Future //! //! - [XCQ](https://forum.polkadot.network/t/cross-consensus-query-language-xcq/7583) will be a good diff --git a/docs/sdk/src/reference_docs/defensive_programming.rs b/docs/sdk/src/reference_docs/defensive_programming.rs index 44c7c915b092c..5235067cc6484 100644 --- a/docs/sdk/src/reference_docs/defensive_programming.rs +++ b/docs/sdk/src/reference_docs/defensive_programming.rs @@ -61,7 +61,7 @@ //! These guidelines could be summarized in the following example, where `bad_pop` is prone to //! panicking, and `good_pop` allows for proper error handling to take place: //! -//!```ignore +//! ```ignore //! // Bad pop always requires that we return something, even if vector/array is empty. //! fn bad_pop(v: Vec) -> T {} //! // Good pop allows us to return None from the Option if need be. @@ -139,14 +139,12 @@ //! //! This is an example of a valid operation: #![doc = docify::embed!("./src/reference_docs/defensive_programming.rs", checked_add_example)] -//! //! This is an example of an invalid operation. In this case, a simulated integer overflow, which //! would simply result in `None`: #![doc = docify::embed!( "./src/reference_docs/defensive_programming.rs", checked_add_handle_error_example )] -//! //! Suppose you aren’t sure which operation to use for runtime math. In that case, checked //! operations are the safest bet, presenting two predictable (and erroring) outcomes that can be //! handled accordingly (Some and None). @@ -162,10 +160,8 @@ //! Because wrapped operations return `Option`, you can use a more verbose/explicit form of error //! handling via `if` or `if let`: #![doc = docify::embed!("./src/reference_docs/defensive_programming.rs", increase_balance)] -//! //! Optionally, match may also be directly used in a more concise manner: #![doc = docify::embed!("./src/reference_docs/defensive_programming.rs", increase_balance_match)] -//! //! This is generally a useful convention for handling checked types and most types that return //! `Option`. //! @@ -175,14 +171,12 @@ //! a less verbose way of expressing the above. This usage often boils down to the developer’s //! preference: #![doc = docify::embed!("./src/reference_docs/defensive_programming.rs", increase_balance_result)] -//! //! ### Saturating Operations //! //! Saturating a number limits it to the type’s upper or lower bound, even if the integer type //! overflowed in runtime. For example, adding to `u32::MAX` would simply limit itself to //! `u32::MAX`: #![doc = docify::embed!("./src/reference_docs/defensive_programming.rs", saturated_add_example)] -//! //! Saturating calculations can be used if one is very sure that something won't overflow, but wants //! to avoid introducing the notion of any potential-panic or wrapping behavior. //! @@ -194,7 +188,6 @@ "./src/reference_docs/defensive_programming.rs", saturated_defensive_example )] -//! //! ### Mathematical Operations in Substrate Development - Further Context //! //! As a recap, we covered the following concepts: diff --git a/docs/sdk/src/reference_docs/extrinsic_encoding.rs b/docs/sdk/src/reference_docs/extrinsic_encoding.rs index 1d4b0405b324b..14e5f37aa4c7d 100644 --- a/docs/sdk/src/reference_docs/extrinsic_encoding.rs +++ b/docs/sdk/src/reference_docs/extrinsic_encoding.rs @@ -32,7 +32,6 @@ //! //! For clarity, the actual implementation in Substrate looks like this: #![doc = docify::embed!("../../substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs", unchecked_extrinsic_encode_impl)] -//! //! Let's look at how each of these details is constructed: //! //! ## compact_encoded_length @@ -161,7 +160,6 @@ //! //! FRAME `Call` enums are automatically generated, and end up looking something like this: #![doc = docify::embed!("./src/reference_docs/extrinsic_encoding.rs", call_data)] -//! //! In pseudo-code, this `Call` enum encodes equivalently to: //! //! ```text diff --git a/docs/sdk/src/reference_docs/frame_benchmarking_weight.rs b/docs/sdk/src/reference_docs/frame_benchmarking_weight.rs index 98192bfd2a905..fa6981f89fc3a 100644 --- a/docs/sdk/src/reference_docs/frame_benchmarking_weight.rs +++ b/docs/sdk/src/reference_docs/frame_benchmarking_weight.rs @@ -68,7 +68,6 @@ //! //! Consider: #![doc = docify::embed!("./src/reference_docs/frame_benchmarking_weight.rs", simple_transfer)] -//! //! If this block of code is to be benchmarked, then the benchmarking code must be written such that //! it captures the worst case. //! @@ -79,18 +78,15 @@ //! below](#running-benchmarks)). The outcome of running these benchmarks are meant to be fed back //! into the pallet via a conventional `trait WeightInfo` on `Config`: #![doc = docify::embed!("src/reference_docs/frame_benchmarking_weight.rs", WeightInfo)] -//! //! Then, individual functions of this trait are the final values that we assigned to the //! [`frame::pallet_macros::weight`] attribute: #![doc = docify::embed!("./src/reference_docs/frame_benchmarking_weight.rs", simple_transfer_2)] -//! //! ## Manual Refund //! //! Back to the assumption of writing benchmarks for worst case: Sometimes, the pre-dispatch weight //! significantly differ from the post-dispatch actual weight consumed. This can be expressed with //! the following FRAME syntax: #![doc = docify::embed!("./src/reference_docs/frame_benchmarking_weight.rs", simple_transfer_3)] -//! //! ## Running Benchmarks //! //! Two ways exist to run the benchmarks of a runtime. diff --git a/docs/sdk/src/reference_docs/frame_logging.rs b/docs/sdk/src/reference_docs/frame_logging.rs index 7cb8a6e5c34d5..910c59ef1062a 100644 --- a/docs/sdk/src/reference_docs/frame_logging.rs +++ b/docs/sdk/src/reference_docs/frame_logging.rs @@ -100,7 +100,6 @@ //! called `disable-logging`, that can be used to disable all logs in the runtime. This is useful //! for production chains to reduce the size and overhead of the wasm runtime. #![doc = docify::embed!("../../substrate/primitives/api/src/lib.rs", init_runtime_logger)] -//! //! Similar to the above, the proper `RUST_LOG` must also be passed to your compiler flag when //! compiling the runtime. //! diff --git a/docs/sdk/src/reference_docs/frame_origin.rs b/docs/sdk/src/reference_docs/frame_origin.rs index 70ffb9fb86468..76ddc6e4df8aa 100644 --- a/docs/sdk/src/reference_docs/frame_origin.rs +++ b/docs/sdk/src/reference_docs/frame_origin.rs @@ -34,7 +34,6 @@ //! First, let's look at where the `origin` type is encountered in a typical pallet. The `origin: //! OriginFor` has to be the first argument of any given callable extrinsic in FRAME: #![doc = docify::embed!("./src/reference_docs/frame_origin.rs", call_simple)] -//! //! Typically, the code of an extrinsic starts with an origin check, such as //! [`frame_system::ensure_signed`]. //! @@ -51,10 +50,8 @@ //! //! For example, given a pallet that defines the following custom origin: #![doc = docify::embed!("./src/reference_docs/frame_origin.rs", custom_origin)] -//! //! And a runtime with the following pallets: #![doc = docify::embed!("./src/reference_docs/frame_origin.rs", runtime_exp)] -//! //! The type [`crate::reference_docs::frame_origin::runtime_for_origin::RuntimeOrigin`] is expanded. //! This `RuntimeOrigin` contains a variant for the [`frame_system::RawOrigin`] and the custom //! origin of the pallet. @@ -78,10 +75,8 @@ //! //! 1. Defining a custom `RuntimeOrigin` with further bounds in the pallet. #![doc = docify::embed!("./src/reference_docs/frame_origin.rs", custom_origin_bound)] -//! //! 2. Using it in the pallet. #![doc = docify::embed!("./src/reference_docs/frame_origin.rs", custom_origin_usage)] -//! //! ## Asserting on a Custom External Origin //! //! Very often, a pallet wants to have a parameterized origin that is **NOT** defined within the @@ -89,13 +84,10 @@ //! specified later at the runtime level. Like many other parameterizations in FRAME, this implies //! adding a new associated type to `trait Config`. #![doc = docify::embed!("./src/reference_docs/frame_origin.rs", external_origin_def)] -//! //! Then, within the pallet, we can simply use this "unknown" origin check type: #![doc = docify::embed!("./src/reference_docs/frame_origin.rs", external_origin_usage)] -//! //! Finally, at the runtime, any implementation of [`frame::traits::EnsureOrigin`] can be passed. #![doc = docify::embed!("./src/reference_docs/frame_origin.rs", external_origin_provide)] -//! //! Indeed, some of these implementations of [`frame::traits::EnsureOrigin`] are similar to the ones //! that we know about: [`frame::runtime::prelude::EnsureSigned`], //! [`frame::runtime::prelude::EnsureSignedBy`], [`frame::runtime::prelude::EnsureRoot`], diff --git a/docs/sdk/src/reference_docs/frame_pallet_coupling.rs b/docs/sdk/src/reference_docs/frame_pallet_coupling.rs index a22137f979dc1..1b2c757acaa95 100644 --- a/docs/sdk/src/reference_docs/frame_pallet_coupling.rs +++ b/docs/sdk/src/reference_docs/frame_pallet_coupling.rs @@ -67,7 +67,6 @@ //! author to it, and `pallet-author` which has access to this information. #![doc = docify::embed!("./src/reference_docs/frame_pallet_coupling.rs", pallet_foo)] #![doc = docify::embed!("./src/reference_docs/frame_pallet_coupling.rs", pallet_author)] -//! //! ### Tight Coupling Pallets //! //! To tightly couple `pallet-foo` and `pallet-author`, we use Rust's supertrait system. When a @@ -79,45 +78,35 @@ //! //! `pallet-foo`'s `Config` would then look like: #![doc = docify::embed!("./src/reference_docs/frame_pallet_coupling.rs", tight_config)] -//! //! And `pallet-foo` can use the method exposed by `pallet_author::Pallet` directly: #![doc = docify::embed!("./src/reference_docs/frame_pallet_coupling.rs", tight_usage)] -//! -//! //! ### Loosely Coupling Pallets //! //! If `pallet-foo` wants to *not* rely on `pallet-author` directly, it can leverage its //! `Config`'s associated types. First, we need a trait to express the functionality that //! `pallet-foo` wants to obtain: #![doc = docify::embed!("./src/reference_docs/frame_pallet_coupling.rs", AuthorProvider)] -//! //! > We sometimes refer to such traits that help two pallets interact as "glue traits". //! //! Next, `pallet-foo` states that it needs this trait to be provided to it, at the runtime level, //! via an associated type: #![doc = docify::embed!("./src/reference_docs/frame_pallet_coupling.rs", loose_config)] -//! //! Then, `pallet-foo` can use this trait to obtain the block author, without knowing where it comes //! from: #![doc = docify::embed!("./src/reference_docs/frame_pallet_coupling.rs", loose_usage)] -//! //! Then, if `pallet-author` implements this glue-trait: #![doc = docify::embed!("./src/reference_docs/frame_pallet_coupling.rs", pallet_author_provider)] -//! //! And upon the creation of the runtime, the two pallets are linked together as such: #![doc = docify::embed!("./src/reference_docs/frame_pallet_coupling.rs", runtime_author_provider)] -//! //! Crucially, when using loose coupling, we gain the flexibility of providing different //! implementations of `AuthorProvider`, such that different users of a `pallet-foo` can use //! different ones, without any code change being needed. For example, in the code snippets of this //! module, you can find [`OtherAuthorProvider`], which is an alternative implementation of //! [`AuthorProvider`]. #![doc = docify::embed!("./src/reference_docs/frame_pallet_coupling.rs", other_author_provider)] -//! //! A common pattern in polkadot-sdk is to provide an implementation of such glu traits for the unit //! type as a "default/test behavior". #![doc = docify::embed!("./src/reference_docs/frame_pallet_coupling.rs", unit_author_provider)] -//! //! ## Frame System //! //! With the above information in context, we can conclude that **`frame_system` is a special pallet diff --git a/docs/sdk/src/reference_docs/frame_runtime_types.rs b/docs/sdk/src/reference_docs/frame_runtime_types.rs index d0b786bbcdb83..676914f44f3ec 100644 --- a/docs/sdk/src/reference_docs/frame_runtime_types.rs +++ b/docs/sdk/src/reference_docs/frame_runtime_types.rs @@ -23,7 +23,6 @@ //! //! Composite enums are generally convertible to their individual parts as such: #![doc = simple_mermaid::mermaid!("../../../mermaid/outer_runtime_types.mmd")] -//! //! In that one can always convert from the inner type into the outer type, but not vice versa. This //! is usually expressed by implementing `From`, `TryFrom`, `From>` and similar traits. //! @@ -34,7 +33,6 @@ //! `GenesisConfig`. #![doc = docify::embed!("./src/reference_docs/frame_runtime_types.rs", pallet_foo)] #![doc = docify::embed!("./src/reference_docs/frame_runtime_types.rs", pallet_bar)] -//! //! Let's explore how each of these affect the [`RuntimeCall`], [`RuntimeOrigin`] and //! [`RuntimeGenesisConfig`] generated in [`runtime`] respectively. //! @@ -69,7 +67,6 @@ //! All that the rust compiler knows about this type is *ONLY* what the trait bounds of //! [`frame_system::Config::RuntimeCall`] are specifying: #![doc = docify::embed!("../../substrate/frame/system/src/lib.rs", system_runtime_call)] -//! //! So, when at a given pallet, one accesses `::RuntimeCall`, the type is //! extremely opaque from the perspective of the Rust compiler. //! @@ -83,11 +80,9 @@ //! In this case, we will want to assert the existence of [`frame::traits::IsSubType`], which is //! very similar to [`TryFrom`]. #![doc = docify::embed!("./src/reference_docs/frame_runtime_types.rs", custom_runtime_call)] -//! //! And indeed, at the runtime level, this associated type would be the same `RuntimeCall` that is //! passed to `frame_system`. #![doc = docify::embed!("./src/reference_docs/frame_runtime_types.rs", pallet_with_specific_runtime_call_impl)] -//! //! > In other words, the degree of specificity that [`frame_system::Config::RuntimeCall`] has is //! > not enough for the pallet to work with. Therefore, the pallet has to define its own associated //! > type representing `RuntimeCall`. @@ -101,7 +96,6 @@ //! Now, within this pallet, this new `RuntimeCall` can be used, and it can use its new trait //! bounds, such as being [`frame::traits::IsSubType`]: #![doc = docify::embed!("./src/reference_docs/frame_runtime_types.rs", custom_runtime_call_usages)] -//! //! > Once Rust's "_Associated Type Bounds RFC_" is usable, this syntax can be used to //! > simplify the above scenario. See [this](https://github.com/paritytech/polkadot-sdk/issues/3743) //! > issue for more information. @@ -114,7 +108,6 @@ //! be cool if we had a test to make sure they actually resolve to the same concrete type once the //! runtime is constructed? The following snippet exactly does that: #![doc = docify::embed!("./src/reference_docs/frame_runtime_types.rs", assert_equality)] -//! //! We leave it to the reader to further explore what [`frame::traits::Hooks::integrity_test`] is, //! and what [`core::any::TypeId`] is. Another way to assert this is using //! [`frame::traits::IsType`]. diff --git a/docs/sdk/src/reference_docs/frame_storage_derives.rs b/docs/sdk/src/reference_docs/frame_storage_derives.rs index 4fbfb4a5cc839..0f301d9c36ed0 100644 --- a/docs/sdk/src/reference_docs/frame_storage_derives.rs +++ b/docs/sdk/src/reference_docs/frame_storage_derives.rs @@ -155,7 +155,7 @@ //! codec::MaxEncodedLen, //! scale_info::TypeInfo, //! DefaultNoBound -//! )] +//! )] //! #[scale_info(skip_type_params(T))] //! pub struct NewType(BlockNumberFor); //! diff --git a/docs/sdk/src/reference_docs/trait_based_programming.rs b/docs/sdk/src/reference_docs/trait_based_programming.rs index 90b38f63a5809..a900d3e8f6b54 100644 --- a/docs/sdk/src/reference_docs/trait_based_programming.rs +++ b/docs/sdk/src/reference_docs/trait_based_programming.rs @@ -17,8 +17,6 @@ //! //! We can foremost write this as simple as the following snippet: #![doc = docify::embed!("./src/reference_docs/trait_based_programming.rs", basic)] -//! -//! //! In this example, we use arbitrary choices for `AccountId`, `Balance` and the `MinTransfer` type. //! This works great for **one team's purposes** but we have to remember that Substrate and FRAME //! are written as generic frameworks, intended to be highly configurable. @@ -50,7 +48,6 @@ //! //! This would bring us to the second iteration of the pallet, which would look like: #![doc = docify::embed!("./src/reference_docs/trait_based_programming.rs", generic)] -//! //! In this example, we managed to make all 3 of our types generic. Taking the example of the //! `AccountId`, one should read the above as following: //! @@ -76,7 +73,6 @@ //! //! The last iteration of our code would look like this: #![doc = docify::embed!("./src/reference_docs/trait_based_programming.rs", trait_based)] -//! //! Notice how instead of having multiple generics, everything is generic over a single ``, and all types are fetched through `T`, for example `T::AccountId`, `T::MinTransfer`. //! @@ -93,19 +89,16 @@ //! Note, in some instances one would need to use what is known as the fully-qualified-syntax to //! access a type to help the Rust compiler disambiguate. #![doc = docify::embed!("./src/reference_docs/trait_based_programming.rs", fully_qualified)] -//! //! This syntax can sometimes become more complicated when you are dealing with nested traits. //! Consider the following example, in which we fetch the `type Balance` from another trait //! `CurrencyTrait`. #![doc = docify::embed!("./src/reference_docs/trait_based_programming.rs", fully_qualified_complicated)] -//! //! Notice the final `type BalanceOf` and how it is defined. Using such aliases to shorten the //! length of fully qualified syntax is a common pattern in FRAME. //! //! The above example is almost identical to the well-known (and somewhat notorious) `type //! BalanceOf` that is often used in the context of [`frame::traits::fungible`]. #![doc = docify::embed!("../../substrate/frame/fast-unstake/src/types.rs", BalanceOf)] -//! //! ## Additional Resources //! //! - diff --git a/docs/sdk/src/reference_docs/wasm_meta_protocol.rs b/docs/sdk/src/reference_docs/wasm_meta_protocol.rs index 129da81ed3e69..cd72e8f712d82 100644 --- a/docs/sdk/src/reference_docs/wasm_meta_protocol.rs +++ b/docs/sdk/src/reference_docs/wasm_meta_protocol.rs @@ -35,7 +35,6 @@ //! Therefore, the high-level architecture of a any Substrate-based chain can be demonstrated as //! follows: #![doc = simple_mermaid::mermaid!("../../../mermaid/substrate_simple.mmd")] -//! //! The node and the runtime need to communicate. This is done through two concepts: //! //! 1. **Host functions**: a way for the (WASM) runtime to talk to the node. All host functions are @@ -46,7 +45,6 @@ //! fundamental runtime API that any blockchain must implement in order to be able to (re) //! execute blocks. #![doc = simple_mermaid::mermaid!("../../../mermaid/substrate_client_runtime.mmd")] -//! //! A runtime must have a set of runtime APIs in order to have any meaningful blockchain //! functionality, but it can also expose more APIs. See //! [`crate::reference_docs::custom_runtime_api_rpc`] as an example of how to add custom runtime @@ -79,7 +77,6 @@ //! > engine that enables trustless execution of the runtime in a distributed manner whilst //! > maintaining a canonical outcome of that execution. #![doc = simple_mermaid::mermaid!("../../../mermaid/substrate_with_frame.mmd")] -//! //! ## State //! //! From the previous sections, we know that the database component is part of the node, not the @@ -96,7 +93,6 @@ //! aware of. The rest of the state, including what logic the runtime has, what balance each user //! has and such, are all only comprehensible to the runtime. #![doc = simple_mermaid::mermaid!("../../../mermaid/state.mmd")] -//! //! In the above diagram, all of the state keys and values are opaque bytes to the node. The node //! does not know what they mean, and it does not know what is the type of the corresponding value //! (e.g. if it is a number of a vector). Contrary, the runtime knows both the meaning of their diff --git a/polkadot/Cargo.toml b/polkadot/Cargo.toml index 74f821e112c79..e5f51feefaa0d 100644 --- a/polkadot/Cargo.toml +++ b/polkadot/Cargo.toml @@ -67,7 +67,7 @@ path = "src/bin/prepare-worker.rs" [dependencies] color-eyre = { workspace = true } -tikv-jemallocator = { optional = true, features = ["unprefixed_malloc_on_supported_platforms"], workspace = true } +polkadot-jemalloc-shim = { workspace = true } # Crates in our workspace, defined as dependencies so we can pass them feature flags. polkadot-cli = { features = ["rococo-native", "westend-native"], workspace = true, default-features = true } @@ -80,7 +80,7 @@ polkadot-node-core-pvf-common = { workspace = true, default-features = true } polkadot-node-core-pvf-execute-worker = { workspace = true, default-features = true } [target.'cfg(target_os = "linux")'.dependencies] -tikv-jemallocator = { workspace = true, features = ["unprefixed_malloc_on_supported_platforms"] } +polkadot-jemalloc-shim = { workspace = true, features = ["jemalloc-allocator"] } [dev-dependencies] assert_cmd = { workspace = true } @@ -99,13 +99,7 @@ try-runtime = ["polkadot-cli/try-runtime"] fast-runtime = ["polkadot-cli/fast-runtime"] runtime-metrics = ["polkadot-cli/runtime-metrics"] pyroscope = ["polkadot-cli/pyroscope"] -jemalloc-allocator = [ - "dep:tikv-jemallocator", - "polkadot-cli/jemalloc-allocator", - "polkadot-node-core-pvf-prepare-worker/jemalloc-allocator", - "polkadot-node-core-pvf/jemalloc-allocator", - "polkadot-overseer/jemalloc-allocator", -] +jemalloc-allocator = ["polkadot-jemalloc-shim/jemalloc-allocator"] # Generate the metadata hash needed for CheckMetadataHash # in the builtin test runtimes (westend and rococo). diff --git a/polkadot/README.md b/polkadot/README.md index 64a892f877baa..779f7f3f4f0f7 100644 --- a/polkadot/README.md +++ b/polkadot/README.md @@ -186,7 +186,7 @@ cargo run --bin polkadot -- --dev Detailed logs may be shown by running the node with the following environment variables set: ```bash -RUST_LOG=debug RUST_BACKTRACE=1 cargo run --bin polkadot -- --dev +RUST_LOG=debug RUST_BACKTRACE=1 cargo run --bin polkadot -- --dev ``` ### Development diff --git a/polkadot/cli/src/cli.rs b/polkadot/cli/src/cli.rs index fa8595cc7c57c..16e5f1671f5a7 100644 --- a/polkadot/cli/src/cli.rs +++ b/polkadot/cli/src/cli.rs @@ -166,6 +166,17 @@ pub struct RunCmd { /// **Dangerous!** Do not touch unless explicitly advised to. #[arg(long, hide = true)] pub collator_protocol_hold_off: Option, + + /// Enable experimental collator protocol. TESTING ONLY! Don't use on production + #[arg(long, hide = true, default_value = "false")] + pub experimental_collator_protocol: bool, + + /// Collator reputation persistence interval in seconds. + /// If not specified, defaults to 600 seconds (10 minutes). + /// This should be used only with experimental_collator_protocol + /// and only on validators. + #[arg(long, requires = "experimental_collator_protocol", requires = "validator")] + pub collator_reputation_persist_interval: Option, } #[allow(missing_docs)] diff --git a/polkadot/cli/src/command.rs b/polkadot/cli/src/command.rs index b9366d07f6c54..d222a88477be7 100644 --- a/polkadot/cli/src/command.rs +++ b/polkadot/cli/src/command.rs @@ -257,6 +257,7 @@ where // Parse collator protocol hold off value and get the list of the invlunerable collators. let collator_protocol_hold_off = cli.run.collator_protocol_hold_off.map(Duration::from_millis); let invulnerable_ah_collators = get_invulnerable_ah_collators(&chain_spec); + let experimental_collator_protocol = cli.run.experimental_collator_protocol; runner.run_node_until_exit(move |config| async move { let hwbench = (!cli.run.no_hardware_benchmarks) @@ -292,6 +293,11 @@ where keep_finalized_for: cli.run.keep_finalized_for, invulnerable_ah_collators, collator_protocol_hold_off, + experimental_collator_protocol, + collator_reputation_persist_interval: cli + .run + .collator_reputation_persist_interval + .map(std::time::Duration::from_secs), }, ) .map(|full| full.task_manager)?; @@ -333,7 +339,7 @@ pub fn run() -> Result<()> { #[cfg(not(feature = "pyroscope"))] if cli.run.pyroscope_server.is_some() { - return Err(Error::PyroscopeNotCompiledIn) + return Err(Error::PyroscopeNotCompiledIn); } match &cli.subcommand { diff --git a/polkadot/erasure-coding/src/lib.rs b/polkadot/erasure-coding/src/lib.rs index 9ebf5d11d7a78..2d5f9e94c189c 100644 --- a/polkadot/erasure-coding/src/lib.rs +++ b/polkadot/erasure-coding/src/lib.rs @@ -103,10 +103,10 @@ impl From for Error { /// Obtain a threshold of chunks that should be enough to recover the data. pub const fn recovery_threshold(n_validators: usize) -> Result { if n_validators > MAX_VALIDATORS { - return Err(Error::TooManyValidators) + return Err(Error::TooManyValidators); } if n_validators <= 1 { - return Err(Error::NotEnoughValidators) + return Err(Error::NotEnoughValidators); } let needed = n_validators.saturating_sub(1) / 3; @@ -128,7 +128,7 @@ fn code_params(n_validators: usize) -> Result { let k_wanted = recovery_threshold(n_wanted)?; if n_wanted > MAX_VALIDATORS as usize { - return Err(Error::TooManyValidators) + return Err(Error::TooManyValidators); } CodeParams::derive_parameters(n_wanted, k_wanted).map_err(|e| match e { @@ -162,7 +162,7 @@ pub fn reconstruct_from_systematic( for chunk_data in chunks.iter().take(k) { if chunk_data.len() % 2 != 0 { - return Err(Error::UnevenLength) + return Err(Error::UnevenLength); } } @@ -188,7 +188,7 @@ pub fn obtain_chunks(n_validators: usize, data: &T) -> Result> = vec![None; n_validators]; for (chunk_data, chunk_idx) in chunks.into_iter().take(n_validators) { if chunk_data.len() % 2 != 0 { - return Err(Error::UnevenLength) + return Err(Error::UnevenLength); } received_shards[chunk_idx] = Some(WrappedShard::new(chunk_data.to_vec())); diff --git a/polkadot/jemalloc-shim/Cargo.toml b/polkadot/jemalloc-shim/Cargo.toml new file mode 100644 index 0000000000000..cb850b5603d4e --- /dev/null +++ b/polkadot/jemalloc-shim/Cargo.toml @@ -0,0 +1,31 @@ +[package] +name = "polkadot-jemalloc-shim" +version = "1.0.0" +description = "Shim crate to enable jemalloc-allocator feature for polkadot crates and setting global allocator to jemalloc" +license.workspace = true +authors.workspace = true +edition.workspace = true +homepage.workspace = true +repository.workspace = true + +[lints] +workspace = true + +[package.metadata.polkadot-sdk] +exclude-from-umbrella = true + +[dependencies] +polkadot-cli = { optional = true, workspace = true } +polkadot-node-core-pvf = { optional = true, workspace = true } +polkadot-node-core-pvf-prepare-worker = { optional = true, workspace = true } +polkadot-overseer = { optional = true, workspace = true } +tikv-jemallocator = { optional = true, features = ["unprefixed_malloc_on_supported_platforms"], workspace = true } + +[features] +jemalloc-allocator = [ + "dep:tikv-jemallocator", + "polkadot-cli/jemalloc-allocator", + "polkadot-node-core-pvf-prepare-worker/jemalloc-allocator", + "polkadot-node-core-pvf/jemalloc-allocator", + "polkadot-overseer/jemalloc-allocator", +] diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/metrics.rs b/polkadot/jemalloc-shim/src/lib.rs similarity index 56% rename from polkadot/node/network/collator-protocol/src/validator_side_experimental/metrics.rs rename to polkadot/jemalloc-shim/src/lib.rs index 718c98fe0a7d0..26ba12fcb070a 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side_experimental/metrics.rs +++ b/polkadot/jemalloc-shim/src/lib.rs @@ -14,15 +14,13 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -use polkadot_node_subsystem_util::metrics::{self, prometheus}; +//! Shim crate to enable `jemalloc-allocator` feature for Polkadot crates. +//! +//! Because [there doesn't exist any easier way right now](https://github.com/rust-lang/cargo/issues/1197), we +//! need an entire crate to handle `jemalloc` enabling/disabling. This way we can enable it by +//! default on Linux, but have it optional on all other OSes. -#[derive(Clone, Default)] -pub struct Metrics; - -impl metrics::Metrics for Metrics { - fn try_register( - _registry: &prometheus::Registry, - ) -> std::result::Result { - Ok(Metrics) - } -} +/// Sets the global allocator to `jemalloc` when the feature is enabled. +#[cfg(feature = "jemalloc-allocator")] +#[global_allocator] +static ALLOC: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc; diff --git a/polkadot/node/collation-generation/src/lib.rs b/polkadot/node/collation-generation/src/lib.rs index f8e6a86744027..b54050ccc2874 100644 --- a/polkadot/node/collation-generation/src/lib.rs +++ b/polkadot/node/collation-generation/src/lib.rs @@ -198,7 +198,7 @@ impl CollationGenerationSubsystem { our_para = %config.para_id, "No validation data for para - does it exist at this relay-parent?", ); - return Ok(()) + return Ok(()); }, }; @@ -249,7 +249,7 @@ impl CollationGenerationSubsystem { // If there is no collation function provided, bail out early. // Important: Lookahead collator and slot based collator do not use `CollatorFn`. if config.collator.is_none() { - return Ok(()) + return Ok(()); } let para_id = config.para_id; @@ -275,7 +275,7 @@ impl CollationGenerationSubsystem { // Nothing to do if no core is assigned to us at any depth. if assigned_cores.is_empty() { - return Ok(()) + return Ok(()); } // We are being very optimistic here, but one of the cores could be pending availability @@ -300,7 +300,7 @@ impl CollationGenerationSubsystem { our_para = %para_id, "validation data is not available", ); - return Ok(()) + return Ok(()); }, }; @@ -323,7 +323,7 @@ impl CollationGenerationSubsystem { our_para = %para_id, "validation code hash is not found.", ); - return Ok(()) + return Ok(()); }, }; @@ -355,7 +355,7 @@ impl CollationGenerationSubsystem { ?para_id, "collator returned no collation on collate", ); - return + return; }, }; @@ -373,7 +373,7 @@ impl CollationGenerationSubsystem { "error processing UMP signals: {}", err ); - return + return; }, }; @@ -397,7 +397,7 @@ impl CollationGenerationSubsystem { "no core is assigned to para at depth {}", cq_offset, ); - return + return; } let descriptor_core_index = @@ -411,7 +411,7 @@ impl CollationGenerationSubsystem { "parachain repeatedly selected the same core index: {}", descriptor_core_index.0, ); - return + return; } used_cores.insert(descriptor_core_index.0); @@ -447,7 +447,7 @@ impl CollationGenerationSubsystem { "Failed to construct and distribute collation: {}", err ); - return + return; } // Chain the collations. All else stays the same as we build the chained @@ -493,7 +493,7 @@ impl SessionInfoCache { sender: &mut Sender, ) -> Result { if let Some(info) = self.0.get(&session_index) { - return Ok(info.clone()) + return Ok(info.clone()); } let n_validators = @@ -551,7 +551,10 @@ async fn construct_and_distribute_receipt( // As such, honest collators never produce an uncompressed PoV which starts with // a compression magic number, which would lead validators to reject the collation. if encoded_size > validation_data.max_pov_size as usize { - return Err(Error::POVSizeExceeded(encoded_size, validation_data.max_pov_size as usize)) + return Err(Error::POVSizeExceeded( + encoded_size, + validation_data.max_pov_size as usize, + )); } pov diff --git a/polkadot/node/collation-generation/src/tests.rs b/polkadot/node/collation-generation/src/tests.rs index 4e30cf39a0a49..68c21df60aee1 100644 --- a/polkadot/node/collation-generation/src/tests.rs +++ b/polkadot/node/collation-generation/src/tests.rs @@ -634,7 +634,7 @@ mod helpers { ) { // Expect no messages if no cores is assigned to the para if cores_assigned.is_empty() { - return + return; } // Some hardcoded data - if needed, extract to parameters diff --git a/polkadot/node/core/approval-voting-parallel/src/lib.rs b/polkadot/node/core/approval-voting-parallel/src/lib.rs index bbef41f8afccc..9ab82e176c073 100644 --- a/polkadot/node/core/approval-voting-parallel/src/lib.rs +++ b/polkadot/node/core/approval-voting-parallel/src/lib.rs @@ -519,7 +519,7 @@ fn validator_index_for_msg( ) { match msg { polkadot_node_network_protocol::ValidationProtocols::V3(ref message) => match message { - polkadot_node_network_protocol::v3::ApprovalDistributionMessage::Assignments(msgs) => + polkadot_node_network_protocol::v3::ApprovalDistributionMessage::Assignments(msgs) => { if let Ok(validator) = msgs.iter().map(|(msg, _)| msg.validator).all_equal_value() { (Some((validator, msg)), None) } else { @@ -537,8 +537,9 @@ fn validator_index_for_msg( }) .collect_vec(); (None, Some(split)) - }, - polkadot_node_network_protocol::v3::ApprovalDistributionMessage::Approvals(msgs) => + } + }, + polkadot_node_network_protocol::v3::ApprovalDistributionMessage::Approvals(msgs) => { if let Ok(validator) = msgs.iter().map(|msg| msg.validator).all_equal_value() { (Some((validator, msg)), None) } else { @@ -556,7 +557,8 @@ fn validator_index_for_msg( }) .collect_vec(); (None, Some(split)) - }, + } + }, }, } } @@ -674,8 +676,9 @@ impl overseer::SubsystemSender for ToWorker .map_err(|result| { let is_full = result.is_full(); let msg = match result.into_inner() { - polkadot_overseer::FromOrchestra::Signal(_) => - panic!("Cannot happen variant is never built"), + polkadot_overseer::FromOrchestra::Signal(_) => { + panic!("Cannot happen variant is never built") + }, polkadot_overseer::FromOrchestra::Communication { msg } => msg, }; if is_full { @@ -732,8 +735,9 @@ impl overseer::SubsystemSender for ToWorker { match P::priority() { polkadot_overseer::PriorityLevel::Normal => self.send_message(msg), - polkadot_overseer::PriorityLevel::High => - async { self.send_unbounded_message(msg) }.boxed(), + polkadot_overseer::PriorityLevel::High => { + async { self.send_unbounded_message(msg) }.boxed() + }, } } @@ -820,10 +824,12 @@ impl> ) -> Result<(), metered::TrySendError> { self.0.try_send_message(msg.into()).map_err(|err| match err { // Safe to unwrap because it was built from the same type. - metered::TrySendError::Closed(msg) => - metered::TrySendError::Closed(msg.try_into().unwrap()), - metered::TrySendError::Full(msg) => - metered::TrySendError::Full(msg.try_into().unwrap()), + metered::TrySendError::Closed(msg) => { + metered::TrySendError::Closed(msg.try_into().unwrap()) + }, + metered::TrySendError::Full(msg) => { + metered::TrySendError::Full(msg.try_into().unwrap()) + }, }) } @@ -868,10 +874,12 @@ impl> ) -> Result<(), metered::TrySendError> { self.0.try_send_message_with_priority::

(msg.into()).map_err(|err| match err { // Safe to unwrap because it was built from the same type. - metered::TrySendError::Closed(msg) => - metered::TrySendError::Closed(msg.try_into().unwrap()), - metered::TrySendError::Full(msg) => - metered::TrySendError::Full(msg.try_into().unwrap()), + metered::TrySendError::Closed(msg) => { + metered::TrySendError::Closed(msg.try_into().unwrap()) + }, + metered::TrySendError::Full(msg) => { + metered::TrySendError::Full(msg.try_into().unwrap()) + }, }) } } diff --git a/polkadot/node/core/approval-voting/src/approval_checking.rs b/polkadot/node/core/approval-voting/src/approval_checking.rs index c7f38619ea1ff..9318e88f4750e 100644 --- a/polkadot/node/core/approval-voting/src/approval_checking.rs +++ b/polkadot/node/core/approval-voting/src/approval_checking.rs @@ -93,8 +93,9 @@ impl Check { pub fn is_approved(&self, max_assignment_tick: Tick) -> bool { match *self { Check::Unapproved => false, - Check::Approved(_, last_assignment_tick) => - last_assignment_tick.map_or(true, |t| t <= max_assignment_tick), + Check::Approved(_, last_assignment_tick) => { + last_assignment_tick.map_or(true, |t| t <= max_assignment_tick) + }, Check::ApprovedOneThird => true, } } @@ -118,7 +119,7 @@ pub fn check_approval( // honest node approves, the candidate should be approved. let approvals = candidate.approvals(); if 3 * approvals.count_ones() > approvals.len() { - return Check::ApprovedOneThird + return Check::ApprovedOneThird; } match required { @@ -208,7 +209,7 @@ impl State { required_tranches: RequiredTranches::All, total_observed_no_shows: self.total_observed_no_shows, no_show_validators: self.no_show_validators.clone(), - } + }; } // If we have enough assignments and all no-shows are covered, we have reached the number @@ -223,7 +224,7 @@ impl State { }, total_observed_no_shows: self.total_observed_no_shows, no_show_validators: self.no_show_validators.clone(), - } + }; } // We're pending more assignments and should look at more tranches. @@ -387,7 +388,7 @@ fn count_no_shows( let has_approved = if let Some(approved) = approvals.get(v_index.0 as usize) { *approved } else { - return false + return false; }; let is_no_show = !has_approved && no_show_at <= drifted_tick_now; diff --git a/polkadot/node/core/approval-voting/src/approval_db/v2/tests.rs b/polkadot/node/core/approval-voting/src/approval_db/v2/tests.rs index 9dde09f4ac9de..2b8aa52bbb3b1 100644 --- a/polkadot/node/core/approval-voting/src/approval_db/v2/tests.rs +++ b/polkadot/node/core/approval-voting/src/approval_db/v2/tests.rs @@ -382,7 +382,7 @@ fn canonicalize_works() { assert!(load_candidate_entry_v2(store.as_ref(), &TEST_CONFIG, &c_hash) .unwrap() .is_none()); - continue + continue; }, Some(i) => ( load_candidate_entry_v2(store.as_ref(), &TEST_CONFIG, &c_hash) @@ -407,10 +407,11 @@ fn canonicalize_works() { assert!(load_block_entry_v2(store.as_ref(), &TEST_CONFIG, &hash) .unwrap() .is_none()); - continue + continue; + }, + Some(i) => { + (load_block_entry_v2(store.as_ref(), &TEST_CONFIG, &hash).unwrap().unwrap(), i) }, - Some(i) => - (load_block_entry_v2(store.as_ref(), &TEST_CONFIG, &hash).unwrap().unwrap(), i), }; assert_eq!(entry.candidates.len(), with_candidates.len()); diff --git a/polkadot/node/core/approval-voting/src/approval_db/v3/tests.rs b/polkadot/node/core/approval-voting/src/approval_db/v3/tests.rs index 28fcf98979aec..45c114463217a 100644 --- a/polkadot/node/core/approval-voting/src/approval_db/v3/tests.rs +++ b/polkadot/node/core/approval-voting/src/approval_db/v3/tests.rs @@ -390,7 +390,7 @@ fn canonicalize_works() { assert!(load_candidate_entry(store.as_ref(), &TEST_CONFIG, &c_hash) .unwrap() .is_none()); - continue + continue; }, Some(i) => ( load_candidate_entry(store.as_ref(), &TEST_CONFIG, &c_hash).unwrap().unwrap(), @@ -413,10 +413,11 @@ fn canonicalize_works() { assert!(load_block_entry(store.as_ref(), &TEST_CONFIG, &hash) .unwrap() .is_none()); - continue + continue; + }, + Some(i) => { + (load_block_entry(store.as_ref(), &TEST_CONFIG, &hash).unwrap().unwrap(), i) }, - Some(i) => - (load_block_entry(store.as_ref(), &TEST_CONFIG, &hash).unwrap().unwrap(), i), }; assert_eq!(entry.candidates.len(), with_candidates.len()); diff --git a/polkadot/node/core/approval-voting/src/backend.rs b/polkadot/node/core/approval-voting/src/backend.rs index 9ce25334c0fad..9427cf6e659d9 100644 --- a/polkadot/node/core/approval-voting/src/backend.rs +++ b/polkadot/node/core/approval-voting/src/backend.rs @@ -159,7 +159,7 @@ impl<'a, B: 'a + Backend> OverlayedBackend<'a, B> { pub fn load_blocks_at_height(&self, height: &BlockNumber) -> SubsystemResult> { if let Some(val) = self.blocks_at_height.get(&height) { - return Ok(val.clone().unwrap_or_default()) + return Ok(val.clone().unwrap_or_default()); } self.inner.load_blocks_at_height(height) @@ -167,7 +167,7 @@ impl<'a, B: 'a + Backend> OverlayedBackend<'a, B> { pub fn load_block_entry(&self, hash: &Hash) -> SubsystemResult> { if let Some(val) = self.block_entries.get(&hash) { - return Ok(val.clone()) + return Ok(val.clone()); } self.inner.load_block_entry(hash) @@ -178,7 +178,7 @@ impl<'a, B: 'a + Backend> OverlayedBackend<'a, B> { candidate_hash: &CandidateHash, ) -> SubsystemResult> { if let Some(val) = self.candidate_entries.get(&candidate_hash) { - return Ok(val.clone()) + return Ok(val.clone()); } self.inner.load_candidate_entry(candidate_hash) diff --git a/polkadot/node/core/approval-voting/src/criteria.rs b/polkadot/node/core/approval-voting/src/criteria.rs index 669b6001538e8..bc413d60a5437 100644 --- a/polkadot/node/core/approval-voting/src/criteria.rs +++ b/polkadot/node/core/approval-voting/src/criteria.rs @@ -253,7 +253,7 @@ pub fn compute_assignments( "Not producing assignments because config is degenerate", ); - return HashMap::new() + return HashMap::new(); } let (index, assignments_key): (ValidatorIndex, AssignmentPair) = { @@ -273,7 +273,7 @@ pub fn compute_assignments( match key { None => { gum::trace!(target: LOG_TARGET, "No assignment key"); - return HashMap::new() + return HashMap::new(); }, Some(k) => k, } @@ -503,13 +503,14 @@ fn compute_relay_vrf_delay_assignments( let _ = e.insert(our_assignment); true }, - Entry::Occupied(mut e) => + Entry::Occupied(mut e) => { if e.get().tranche() > our_assignment.tranche() { e.insert(our_assignment); true } else { false - }, + } + }, }; if used { @@ -558,7 +559,7 @@ pub(crate) fn check_assignment_cert( if claimed_core_indices.count_ones() == 0 || claimed_core_indices.count_ones() != backing_groups.len() { - return Err(InvalidAssignment(Reason::InvalidArguments)) + return Err(InvalidAssignment(Reason::InvalidArguments)); } // Check that the validator was not part of the backing group @@ -566,14 +567,14 @@ pub(crate) fn check_assignment_cert( for (claimed_core, backing_group) in claimed_core_indices.iter_ones().zip(backing_groups.iter()) { if claimed_core >= config.n_cores as usize { - return Err(InvalidAssignment(Reason::CoreIndexOutOfBounds)) + return Err(InvalidAssignment(Reason::CoreIndexOutOfBounds)); } let is_in_backing = is_in_backing_group(&config.validator_groups, validator_index, *backing_group); if is_in_backing { - return Err(InvalidAssignment(Reason::IsInBackingGroup)) + return Err(InvalidAssignment(Reason::IsInBackingGroup)); } } @@ -586,7 +587,7 @@ pub(crate) fn check_assignment_cert( AssignmentCertKindV2::RelayVRFModuloCompact { core_bitfield } => { // Check that claimed core bitfield match the one from certificate. if &claimed_core_indices != core_bitfield { - return Err(InvalidAssignment(Reason::VRFModuloCoreIndexMismatch)) + return Err(InvalidAssignment(Reason::VRFModuloCoreIndexMismatch)); } let (vrf_in_out, _) = public @@ -617,7 +618,7 @@ pub(crate) fn check_assignment_cert( vrf_modulo_cores = ?resulting_cores, "Assignment claimed cores mismatch", ); - return Err(InvalidAssignment(Reason::VRFModuloCoreIndexMismatch)) + return Err(InvalidAssignment(Reason::VRFModuloCoreIndexMismatch)); } } @@ -625,7 +626,7 @@ pub(crate) fn check_assignment_cert( }, AssignmentCertKindV2::RelayVRFModulo { sample } => { if *sample >= config.relay_vrf_modulo_samples { - return Err(InvalidAssignment(Reason::SampleOutOfBounds)) + return Err(InvalidAssignment(Reason::SampleOutOfBounds)); } // Enforce claimed candidates is 1. @@ -635,7 +636,7 @@ pub(crate) fn check_assignment_cert( ?claimed_core_indices, "`RelayVRFModulo` assignment must always claim 1 core", ); - return Err(InvalidAssignment(Reason::InvalidArguments)) + return Err(InvalidAssignment(Reason::InvalidArguments)); } let (vrf_in_out, _) = public @@ -669,11 +670,11 @@ pub(crate) fn check_assignment_cert( ?claimed_core_indices, "`RelayVRFDelay` assignment must always claim 1 core", ); - return Err(InvalidAssignment(Reason::InvalidArguments)) + return Err(InvalidAssignment(Reason::InvalidArguments)); } if core_index.0 != first_claimed_core_index { - return Err(InvalidAssignment(Reason::VRFDelayCoreIndexMismatch)) + return Err(InvalidAssignment(Reason::VRFDelayCoreIndexMismatch)); } let (vrf_in_out, _) = public diff --git a/polkadot/node/core/approval-voting/src/import.rs b/polkadot/node/core/approval-voting/src/import.rs index a37bb53f79ffa..930e80cada83e 100644 --- a/polkadot/node/core/approval-voting/src/import.rs +++ b/polkadot/node/core/approval-voting/src/import.rs @@ -135,15 +135,17 @@ async fn imported_block_info>( let events: Vec = match c_rx.await { Ok(Ok(events)) => events, Ok(Err(error)) => return Err(ImportedBlockInfoError::RuntimeError(error)), - Err(error) => - return Err(ImportedBlockInfoError::FutureCancelled("CandidateEvents", error)), + Err(error) => { + return Err(ImportedBlockInfoError::FutureCancelled("CandidateEvents", error)) + }, }; events .into_iter() .filter_map(|e| match e { - CandidateEvent::CandidateIncluded(receipt, _, core, group) => - Some((receipt.hash(), receipt, core, group)), + CandidateEvent::CandidateIncluded(receipt, _, core, group) => { + Some((receipt.hash(), receipt, core, group)) + }, _ => None, }) .collect() @@ -163,8 +165,9 @@ async fn imported_block_info>( let session_index = match s_rx.await { Ok(Ok(s)) => s, Ok(Err(error)) => return Err(ImportedBlockInfoError::RuntimeError(error)), - Err(error) => - return Err(ImportedBlockInfoError::FutureCancelled("SessionIndexForChild", error)), + Err(error) => { + return Err(ImportedBlockInfoError::FutureCancelled("SessionIndexForChild", error)) + }, }; // We can't determine if the block is finalized or not - try processing it @@ -177,7 +180,7 @@ async fn imported_block_info>( block_hash, ); - return Err(ImportedBlockInfoError::BlockAlreadyFinalized) + return Err(ImportedBlockInfoError::BlockAlreadyFinalized); } session_index @@ -214,8 +217,9 @@ async fn imported_block_info>( match s_rx.await { Ok(Ok(s)) => s, Ok(Err(error)) => return Err(ImportedBlockInfoError::RuntimeError(error)), - Err(error) => - return Err(ImportedBlockInfoError::FutureCancelled("CurrentBabeEpoch", error)), + Err(error) => { + return Err(ImportedBlockInfoError::FutureCancelled("CurrentBabeEpoch", error)) + }, } }; @@ -272,7 +276,7 @@ async fn imported_block_info>( block_hash, ); - return Err(ImportedBlockInfoError::VrfInfoUnavailable) + return Err(ImportedBlockInfoError::VrfInfoUnavailable); }, } }; @@ -362,12 +366,12 @@ pub(crate) async fn handle_new_head< e, ); // May be a better way of handling errors here. - return Ok(Vec::new()) + return Ok(Vec::new()); }, Ok(None) => { gum::warn!(target: LOG_TARGET, "Missing header for new head {}", head); // May be a better way of handling warnings here. - return Ok(Vec::new()) + return Ok(Vec::new()); }, Ok(Some(h)) => h, } @@ -389,7 +393,7 @@ pub(crate) async fn handle_new_head< .await?; if new_blocks.is_empty() { - return Ok(Vec::new()) + return Ok(Vec::new()); } let mut approval_meta: Vec = Vec::with_capacity(new_blocks.len()); @@ -432,7 +436,7 @@ pub(crate) async fn handle_new_head< ); } - return Ok(Vec::new()) + return Ok(Vec::new()); }, }; } diff --git a/polkadot/node/core/approval-voting/src/lib.rs b/polkadot/node/core/approval-voting/src/lib.rs index 41c461ba37059..36f7782a1ebdd 100644 --- a/polkadot/node/core/approval-voting/src/lib.rs +++ b/polkadot/node/core/approval-voting/src/lib.rs @@ -633,7 +633,7 @@ impl Wakeups { ) { if let Some(prev) = self.reverse_wakeups.get(&(block_hash, candidate_hash)) { if prev <= &tick { - return + return; } // we are replacing previous wakeup with an earlier one. @@ -839,7 +839,7 @@ impl CurrentlyCheckingSet { .unwrap_or_default(); approvals_cache .insert(approval_state.candidate_hash, approval_state.approval_outcome); - return (out, approval_state) + return (out, approval_state); } } @@ -944,10 +944,10 @@ impl NoShowStats { if self.last_dumped_block_number > current_block_number || current_block_number - self.last_dumped_block_number < NO_SHOW_DUMP_FREQUENCY { - return + return; } if self.per_parachain_no_show.is_empty() && self.per_validator_no_show.is_empty() { - return + return; } gum::debug!( @@ -1138,7 +1138,7 @@ impl State { if *block_number < remove_lower_than { self.per_block_assignments_gathering_times.pop_oldest(); } else { - break + break; } } } @@ -1464,7 +1464,7 @@ where ) .await? { - break + break; } if !overlayed_db.is_empty() { @@ -1636,7 +1636,7 @@ async fn handle_actions< } => { // Don't launch approval work if the node is syncing. if let Mode::Syncing(_) = *mode { - continue + continue; } metrics.on_assignment_produced(assignment_tranche); @@ -1763,10 +1763,12 @@ fn get_core_indices_on_startup( ) -> CoreBitfield { match &assignment { AssignmentCertKindV2::RelayVRFModuloCompact { core_bitfield } => core_bitfield.clone(), - AssignmentCertKindV2::RelayVRFModulo { sample: _ } => - CoreBitfield::try_from(vec![block_entry_core_index]).expect("Not an empty vec; qed"), - AssignmentCertKindV2::RelayVRFDelay { core_index } => - CoreBitfield::try_from(vec![*core_index]).expect("Not an empty vec; qed"), + AssignmentCertKindV2::RelayVRFModulo { sample: _ } => { + CoreBitfield::try_from(vec![block_entry_core_index]).expect("Not an empty vec; qed") + }, + AssignmentCertKindV2::RelayVRFDelay { core_index } => { + CoreBitfield::try_from(vec![*core_index]).expect("Not an empty vec; qed") + }, } } @@ -1779,8 +1781,9 @@ fn get_assignment_core_indices( block_entry: &BlockEntry, ) -> Option { match &assignment { - AssignmentCertKindV2::RelayVRFModuloCompact { core_bitfield } => - Some(core_bitfield.clone()), + AssignmentCertKindV2::RelayVRFModuloCompact { core_bitfield } => { + Some(core_bitfield.clone()) + }, AssignmentCertKindV2::RelayVRFModulo { sample: _ } => block_entry .candidates() .iter() @@ -1788,8 +1791,9 @@ fn get_assignment_core_indices( .map(|(core_index, _candidate_hash)| { CoreBitfield::try_from(vec![*core_index]).expect("Not an empty vec; qed") }), - AssignmentCertKindV2::RelayVRFDelay { core_index } => - Some(CoreBitfield::try_from(vec![*core_index]).expect("Not an empty vec; qed")), + AssignmentCertKindV2::RelayVRFDelay { core_index } => { + Some(CoreBitfield::try_from(vec![*core_index]).expect("Not an empty vec; qed")) + }, } } @@ -1816,7 +1820,7 @@ async fn distribution_messages_for_activation { gum::warn!(target: LOG_TARGET, ?block_hash, "Missing block entry"); - continue + continue; }, }; @@ -1861,14 +1865,14 @@ async fn distribution_messages_for_activation { match approval_entry.local_statements() { - (None, None) => + (None, None) => { if approval_entry .our_assignment() .map(|assignment| !assignment.triggered()) @@ -1880,7 +1884,8 @@ async fn distribution_messages_for_activation {}, // second is impossible case. (Some(assignment), None) => { let claimed_core_indices = @@ -1986,7 +1991,7 @@ async fn distribution_messages_for_activation { let _ = res.send(None); - return Err(e) + return Err(e); }, } @@ -2222,7 +2227,7 @@ async fn get_approval_signatures_for_candidate< ?candidate_hash, "Sent back empty votes because the candidate was not found in db." ); - return Ok(()) + return Ok(()); }, Some(e) => e, }; @@ -2245,7 +2250,7 @@ async fn get_approval_signatures_for_candidate< ?hash, "Block entry for assignment missing." ); - continue + continue; }, Some(e) => e, }; @@ -2375,7 +2380,7 @@ async fn handle_approved_ancestor>( }; if target_number <= lower_bound { - return Ok(None) + return Ok(None); } // request ancestors up to but not including the lower bound, @@ -2421,7 +2426,7 @@ async fn handle_approved_ancestor>( lower_bound, lower_bound, ); - return Ok(None) + return Ok(None); }, Some(b) => b, }; @@ -2480,7 +2485,7 @@ async fn handle_approved_ancestor>( "Missing expected candidate in DB", ); - continue + continue; }, Some(c_entry) => match c_entry.approval_entry(&block_hash) { None => { @@ -2700,13 +2705,14 @@ where let block_entry = match db.load_block_entry(&assignment.block_hash)? { Some(b) => b, - None => + None => { return Ok(( AssignmentCheckResult::Bad(AssignmentCheckError::UnknownBlock( assignment.block_hash, )), Vec::new(), - )), + )) + }, }; let session_info = match get_session_info_by_index( @@ -2718,13 +2724,14 @@ where .await { Some(s) => s, - None => + None => { return Ok(( AssignmentCheckResult::Bad(AssignmentCheckError::UnknownSessionIndex( block_entry.session(), )), Vec::new(), - )), + )) + }, }; let n_cores = session_info.n_cores as usize; @@ -2745,7 +2752,7 @@ where candidate_indices.len(), )), Vec::new(), - )) + )); } let mut claimed_core_indices = Vec::new(); @@ -2755,25 +2762,27 @@ where let (claimed_core_index, assigned_candidate_hash) = match block_entry.candidate(candidate_index) { Some((c, h)) => (*c, *h), - None => + None => { return Ok(( AssignmentCheckResult::Bad(AssignmentCheckError::InvalidCandidateIndex( candidate_index as _, )), Vec::new(), - )), // no candidate at core. + )) + }, // no candidate at core. }; let mut candidate_entry = match db.load_candidate_entry(&assigned_candidate_hash)? { Some(c) => c, - None => + None => { return Ok(( AssignmentCheckResult::Bad(AssignmentCheckError::InvalidCandidate( candidate_index as _, assigned_candidate_hash, )), Vec::new(), - )), // no candidate at core. + )) + }, // no candidate at core. }; if candidate_entry.approval_entry_mut(&assignment.block_hash).is_none() { @@ -2798,7 +2807,7 @@ where format!("{:?}", InvalidAssignmentReason::NullAssignment), )), Vec::new(), - )) + )); } let mut actions = Vec::new(); @@ -2810,26 +2819,28 @@ where { let mut candidate_entry = match db.load_candidate_entry(&assigned_candidate_hash)? { Some(c) => c, - None => + None => { return Ok(( AssignmentCheckResult::Bad(AssignmentCheckError::InvalidCandidate( candidate_index as _, *assigned_candidate_hash, )), Vec::new(), - )), + )) + }, }; let approval_entry = match candidate_entry.approval_entry_mut(&assignment.block_hash) { Some(a) => a, - None => + None => { return Ok(( AssignmentCheckResult::Bad(AssignmentCheckError::Internal( assignment.block_hash, *assigned_candidate_hash, )), Vec::new(), - )), + )) + }, }; let is_duplicate_for_candidate = approval_entry.is_assigned(assignment.validator); @@ -2910,7 +2921,7 @@ where { macro_rules! respond_early { ($e: expr) => {{ - return Ok((Vec::new(), $e)) + return Ok((Vec::new(), $e)); }}; } @@ -3080,7 +3091,7 @@ where // so we can early exit as long at the candidate is already concluded under the // block i.e. we don't need more approvals. if candidate_approved_in_block { - return Vec::new() + return Vec::new(); } } @@ -3170,7 +3181,7 @@ where "No approval entry for approval under block", ); - return Vec::new() + return Vec::new(); }; { @@ -3616,7 +3627,11 @@ async fn launch_approval< metrics_guard.take().on_approval_invalid(); }, } - return ApprovalState::failed_with_retry(validator_index, candidate_hash, next_retry) + return ApprovalState::failed_with_retry( + validator_index, + candidate_hash, + next_retry, + ); }, }; @@ -3635,7 +3650,7 @@ async fn launch_approval< // No dispute necessary, as this indicates that the chain is not behaving // according to expectations. metrics_guard.take().on_approval_unavailable(); - return ApprovalState::failed(validator_index, candidate_hash) + return ApprovalState::failed(validator_index, candidate_hash); }, }; @@ -3661,7 +3676,7 @@ async fn launch_approval< gum::trace!(target: LOG_TARGET, ?candidate_hash, ?para_id, "Candidate Valid"); let _ = metrics_guard.take(); - return ApprovalState::approved(validator_index, candidate_hash) + return ApprovalState::approved(validator_index, candidate_hash); }, Ok(Ok(ValidationResult::Invalid(reason))) => { gum::warn!( @@ -3679,7 +3694,7 @@ async fn launch_approval< candidate.clone(), ); metrics_guard.take().on_approval_invalid(); - return ApprovalState::failed(validator_index, candidate_hash) + return ApprovalState::failed(validator_index, candidate_hash); }, Ok(Err(e)) => { gum::error!( @@ -3690,7 +3705,7 @@ async fn launch_approval< "Failed to validate candidate due to internal error", ); metrics_guard.take().on_approval_error(); - return ApprovalState::failed(validator_index, candidate_hash) + return ApprovalState::failed(validator_index, candidate_hash); }, } }; @@ -3722,7 +3737,7 @@ async fn issue_approval< None => { // not a cause for alarm - just lost a race with pruning, most likely. metrics.on_approval_stale(); - return Ok(Vec::new()) + return Ok(Vec::new()); }, }; @@ -3737,7 +3752,7 @@ async fn issue_approval< ); metrics.on_approval_error(); - return Ok(Vec::new()) + return Ok(Vec::new()); }, Some(idx) => idx, }; @@ -3753,7 +3768,7 @@ async fn issue_approval< ); metrics.on_approval_error(); - return Ok(Vec::new()) + return Ok(Vec::new()); }, }; @@ -3768,7 +3783,7 @@ async fn issue_approval< ); metrics.on_approval_error(); - return Ok(Vec::new()) + return Ok(Vec::new()); }, }; @@ -3875,7 +3890,7 @@ async fn maybe_create_signature< target: LOG_TARGET, "Could not find block that needs signature {:}", block_hash ); - return Ok(None) + return Ok(None); }, }; @@ -3913,7 +3928,7 @@ async fn maybe_create_signature< target: LOG_TARGET, "Could not retrieve the session" ); - return Ok(None) + return Ok(None); }, }; @@ -3928,7 +3943,7 @@ async fn maybe_create_signature< ); metrics.on_approval_error(); - return Ok(None) + return Ok(None); }, }; @@ -3948,7 +3963,7 @@ async fn maybe_create_signature< ); metrics.on_approval_error(); - return Ok(None) + return Ok(None); }, }; metrics.on_approval_coalesce(candidates_hashes.len() as u32); diff --git a/polkadot/node/core/approval-voting/src/persisted_entries.rs b/polkadot/node/core/approval-voting/src/persisted_entries.rs index f9971e396eed9..5bcf58dd085a5 100644 --- a/polkadot/node/core/approval-voting/src/persisted_entries.rs +++ b/polkadot/node/core/approval-voting/src/persisted_entries.rs @@ -164,7 +164,7 @@ impl ApprovalEntry { ) -> Option<(AssignmentCertV2, ValidatorIndex, DelayTranche)> { let our = self.our_assignment.as_mut().and_then(|a| { if a.triggered() { - return None + return None; } a.mark_triggered(); diff --git a/polkadot/node/core/approval-voting/src/tests.rs b/polkadot/node/core/approval-voting/src/tests.rs index 71e55a42c9fdc..db85f365dba3c 100644 --- a/polkadot/node/core/approval-voting/src/tests.rs +++ b/polkadot/node/core/approval-voting/src/tests.rs @@ -2780,7 +2780,7 @@ fn approved_ancestor_test( assert_eq!(rx.await, Ok(AssignmentCheckResult::Accepted)); if skip_approval(i as BlockNumber + 1) { - continue + continue; } let rx = import_approval( @@ -3381,7 +3381,7 @@ where let debug = false; if debug { step_until_done(&clock).await; - return virtual_overseer + return virtual_overseer; } futures_timer::Delay::new(Duration::from_millis(200)).await; @@ -3437,7 +3437,7 @@ async fn step_until_done(clock: &MockClock) { relevant_ticks.push(tick); clock.set_tick(tick); } else { - break + break; } } } diff --git a/polkadot/node/core/av-store/src/lib.rs b/polkadot/node/core/av-store/src/lib.rs index 9fd221ebee979..016ec9e001034 100644 --- a/polkadot/node/core/av-store/src/lib.rs +++ b/polkadot/node/core/av-store/src/lib.rs @@ -324,7 +324,7 @@ fn pruning_range(now: impl Into) -> (Vec, Vec) { fn decode_unfinalized_key(s: &[u8]) -> Result<(BlockNumber, Hash, CandidateHash), CodecError> { if !s.starts_with(UNFINALIZED_PREFIX) { - return Err("missing magic string".into()) + return Err("missing magic string".into()); } <(BEBlockNumber, Hash, CandidateHash)>::decode(&mut &s[UNFINALIZED_PREFIX.len()..]) @@ -333,7 +333,7 @@ fn decode_unfinalized_key(s: &[u8]) -> Result<(BlockNumber, Hash, CandidateHash) fn decode_pruning_key(s: &[u8]) -> Result<(Duration, CandidateHash), CodecError> { if !s.starts_with(PRUNE_BY_TIME_PREFIX) { - return Err("missing magic string".into()) + return Err("missing magic string".into()); } <(BETimestamp, CandidateHash)>::decode(&mut &s[PRUNE_BY_TIME_PREFIX.len()..]) @@ -562,12 +562,12 @@ async fn run(mut subsystem: AvailabilityStoreSubsystem, mut ctx: Contex Err(e) => { e.trace(); if e.is_fatal() { - break + break; } }, Ok(true) => { gum::info!(target: LOG_TARGET, "received `Conclude` signal, exiting"); - break + break; }, Ok(false) => continue, } @@ -843,13 +843,13 @@ fn note_block_included( within.insert(i, be_block); State::Unfinalized(at, within) } else { - return Ok(()) + return Ok(()); } }, State::Finalized(_at) => { // This should never happen as a candidate would have to be included after // finality. - return Ok(()) + return Ok(()); }, }; @@ -908,7 +908,7 @@ async fn process_block_finalized( }; if batch_num < next_possible_batch { - continue + continue; } // sanity. next_possible_batch = batch_num + 1; @@ -927,7 +927,7 @@ async fn process_block_finalized( "Failed to retrieve finalized block number.", ); - break + break; }, Ok(None) => { gum::warn!( @@ -937,7 +937,7 @@ async fn process_block_finalized( batch_num, ); - break + break; }, Ok(Some(h)) => h, } @@ -1015,7 +1015,7 @@ fn update_blocks_at_finalized_height( candidate_hash, ); - continue + continue; }, Some(c) => c, }; @@ -1187,7 +1187,7 @@ fn process_message( }, Err(e) => { let _ = tx.send(Err(())); - return Err(e) + return Err(e); }, } }, @@ -1220,7 +1220,7 @@ fn process_message( }, Err(Error::InvalidErasureRoot) => { let _ = tx.send(Err(StoreAvailableDataError::InvalidErasureRoot)); - return Err(Error::InvalidErasureRoot) + return Err(Error::InvalidErasureRoot); }, Err(e) => { // We do not bubble up internal errors to caller subsystems, instead the @@ -1228,7 +1228,7 @@ fn process_message( // // We bubble up the specific error here so `av-store` logs still tell what // happened. - return Err(e.into()) + return Err(e.into()); }, } }, @@ -1289,7 +1289,7 @@ fn store_available_data( let mut meta = match load_meta(&subsystem.db, &subsystem.config, &candidate_hash)? { Some(m) => { if m.data_available { - return Ok(()) // already stored. + return Ok(()); // already stored. } m @@ -1315,7 +1315,7 @@ fn store_available_data( let branches = polkadot_erasure_coding::branches(chunks.as_ref()); if branches.root() != expected_erasure_root { - return Err(Error::InvalidErasureRoot) + return Err(Error::InvalidErasureRoot); } let erasure_chunks: Vec<_> = chunks diff --git a/polkadot/node/core/av-store/src/tests.rs b/polkadot/node/core/av-store/src/tests.rs index 8f19e84382dcd..53188e6a9e6c0 100644 --- a/polkadot/node/core/av-store/src/tests.rs +++ b/polkadot/node/core/av-store/src/tests.rs @@ -1269,7 +1269,7 @@ async fn has_all_chunks( if query_chunk(virtual_overseer, candidate_hash, ValidatorIndex(i)).await.is_some() != expect_present { - return false + return false; } } true diff --git a/polkadot/node/core/backing/src/lib.rs b/polkadot/node/core/backing/src/lib.rs index c5db4ff4bba18..0c21965bbdae0 100644 --- a/polkadot/node/core/backing/src/lib.rs +++ b/polkadot/node/core/backing/src/lib.rs @@ -635,7 +635,7 @@ fn table_attested_to_backed( "Logic error: Validity vote from table does not correspond to group", ); - return None + return None; } } vote_positions.sort_by_key(|(_orig, pos_in_group)| *pos_in_group); @@ -831,7 +831,7 @@ async fn validate_and_make_available( let pov = match pov { PoVData::Ready(pov) => pov, - PoVData::FetchFromValidator { from_validator, candidate_hash, pov_hash } => + PoVData::FetchFromValidator { from_validator, candidate_hash, pov_hash } => { match request_pov( &mut sender, relay_parent, @@ -850,11 +850,12 @@ async fn validate_and_make_available( )) .await .map_err(Error::BackgroundValidationMpsc)?; - return Ok(()) + return Ok(()); }, Err(err) => return Err(err), Ok(pov) => pov, - }, + } + }, }; let v = { @@ -945,10 +946,12 @@ async fn handle_communication( CandidateBackingMessage::Statement(relay_parent, statement) => { handle_statement_message(ctx, state, relay_parent, statement, metrics).await?; }, - CandidateBackingMessage::GetBackableCandidates(requested_candidates, tx) => - handle_get_backable_candidates_message(state, requested_candidates, tx, metrics)?, - CandidateBackingMessage::CanSecond(request, tx) => - handle_can_second_request(ctx, state, request, tx).await, + CandidateBackingMessage::GetBackableCandidates(requested_candidates, tx) => { + handle_get_backable_candidates_message(state, requested_candidates, tx, metrics)? + }, + CandidateBackingMessage::CanSecond(request, tx) => { + handle_can_second_request(ctx, state, request, tx).await + }, } Ok(()) @@ -1018,14 +1021,14 @@ async fn handle_active_leaves_update( "Failed to load implicit view for leaf." ); - return Ok(()) + return Ok(()); }, }; // add entries in `per_relay_parent`. for all new relay-parents. for maybe_new in fresh_relay_parents { if state.per_relay_parent.contains_key(&maybe_new) { - continue + continue; } // construct a `PerRelayParent` from the runtime API @@ -1057,7 +1060,7 @@ macro_rules! try_runtime_api { // We can't do candidate validation work if we don't have the // requisite runtime API data. But these errors should not take // down the node. - return Ok(None) + return Ok(None); }, } }; @@ -1095,7 +1098,7 @@ fn core_index_from_statement( "Invalid validator index: {:?}", statement_validator_index ); - return None + return None; }; // First check if the statement para id matches the core assignment. @@ -1103,7 +1106,7 @@ fn core_index_from_statement( if core_index.0 > n_cores { gum::warn!(target: LOG_TARGET, ?candidate_hash, ?core_index, n_cores, "Invalid CoreIndex"); - return None + return None; } if let StatementWithPVD::Seconded(candidate, _pvd) = statement.payload() { @@ -1119,11 +1122,11 @@ fn core_index_from_statement( ?candidate_para_id, "Invalid CoreIndex, core is not assigned to this para_id" ); - return None + return None; } - return Some(core_index) + return Some(core_index); } else { - return Some(core_index) + return Some(core_index); } } @@ -1184,7 +1187,7 @@ async fn construct_per_relay_parent_state( "Cannot participate in candidate backing", ); - return Ok(None) + return Ok(None); }, }; @@ -1197,7 +1200,7 @@ async fn construct_per_relay_parent_state( let core_index = CoreIndex(idx as _); if !claim_queue.contains_key(&core_index) { - continue + continue; } let group_index = group_rotation_info.group_for_core(core_index, n_cores); @@ -1262,7 +1265,7 @@ async fn seconding_sanity_check( let allowed_parents_for_para = implicit_view.known_allowed_relay_parents_under(head, Some(candidate_para)); if !allowed_parents_for_para.unwrap_or_default().contains(&candidate_relay_parent) { - continue + continue; } let (tx, rx) = oneshot::channel(); @@ -1289,7 +1292,7 @@ async fn seconding_sanity_check( } if responses.is_empty() { - return SecondingAllowed::No + return SecondingAllowed::No; } while let Some(response) = responses.next().await { @@ -1300,7 +1303,7 @@ async fn seconding_sanity_check( "Failed to reach prospective parachains subsystem for hypothetical membership", ); - return SecondingAllowed::No + return SecondingAllowed::No; }, Ok((is_member_or_potential, head)) => match is_member_or_potential { false => { @@ -1380,7 +1383,7 @@ async fn handle_validated_candidate_command( } = outputs; if rp_state.issued_statements.contains(&candidate_hash) { - return Ok(()) + return Ok(()); } let receipt = CommittedCandidateReceipt { @@ -1403,7 +1406,7 @@ async fn handle_validated_candidate_command( ) .await { - return Ok(()) + return Ok(()); }; let statement = @@ -1438,7 +1441,7 @@ async fn handle_validated_candidate_command( )) .await; - return Ok(()) + return Ok(()); } if let Some(stmt) = res? { @@ -1610,7 +1613,7 @@ async fn import_statement( "Could not reach the Prospective Parachains subsystem." ); - return Err(Error::RejectedByProspectiveParachains) + return Err(Error::RejectedByProspectiveParachains); }, Ok(false) => return Err(Error::RejectedByProspectiveParachains), Ok(true) => {}, @@ -1795,18 +1798,18 @@ async fn kick_off_validation_work( match rp_state.table_context.local_validator_is_disabled() { Some(true) => { gum::info!(target: LOG_TARGET, "We are disabled - don't kick off validation"); - return Ok(()) + return Ok(()); }, Some(false) => {}, // we are not disabled - move on None => { gum::debug!(target: LOG_TARGET, "We are not a validator - don't kick off validation"); - return Ok(()) + return Ok(()); }, } let candidate_hash = attesting.candidate.hash(); if rp_state.issued_statements.contains(&candidate_hash) { - return Ok(()) + return Ok(()); } gum::debug!( @@ -1859,7 +1862,7 @@ async fn maybe_validate_and_import( "Received statement for unknown relay-parent" ); - return Ok(()) + return Ok(()); }, }; @@ -1870,7 +1873,7 @@ async fn maybe_validate_and_import( sender_validator_idx = ?statement.validator_index(), "Not importing statement because the sender is disabled" ); - return Ok(()) + return Ok(()); } let res = import_statement(ctx, rp_state, &mut state.per_candidate, &statement).await; @@ -1884,7 +1887,7 @@ async fn maybe_validate_and_import( "Statement rejected by prospective parachains." ); - return Ok(()) + return Ok(()); } let summary = res?; @@ -1898,7 +1901,7 @@ async fn maybe_validate_and_import( let candidate_hash = summary.candidate; if Some(summary.group_id) != rp_state.assigned_core { - return Ok(()) + return Ok(()); } let attesting = match statement.payload() { @@ -1920,20 +1923,20 @@ async fn maybe_validate_and_import( if let Some(attesting) = rp_state.fallbacks.get_mut(candidate_hash) { let our_index = rp_state.table_context.validator.as_ref().map(|v| v.index()); if our_index == Some(statement.validator_index()) { - return Ok(()) + return Ok(()); } if rp_state.awaiting_validation.contains(candidate_hash) { // Job already running: attesting.backing.push(statement.validator_index()); - return Ok(()) + return Ok(()); } else { // No job, so start another with current validator: attesting.from_validator = statement.validator_index(); attesting.clone() } } else { - return Ok(()) + return Ok(()); } }, }; @@ -2020,7 +2023,7 @@ async fn handle_second_message( "Candidate backing was asked to second candidate with wrong PVD", ); - return Ok(()) + return Ok(()); } let rp_state = match state.per_relay_parent.get_mut(&relay_parent) { @@ -2032,7 +2035,7 @@ async fn handle_second_message( "We were asked to second a candidate outside of our view." ); - return Ok(()) + return Ok(()); }, Some(r) => r, }; @@ -2041,7 +2044,7 @@ async fn handle_second_message( // validator but defensively use `unwrap_or(false)` to continue processing in this case. if rp_state.table_context.local_validator_is_disabled().unwrap_or(false) { gum::warn!(target: LOG_TARGET, "Local validator is disabled. Don't validate and second"); - return Ok(()) + return Ok(()); } let assigned_paras = rp_state.assigned_core.and_then(|core| rp_state.claim_queue.0.get(&core)); @@ -2129,7 +2132,7 @@ fn handle_get_backable_candidates_message( ?candidate_hash, "Requested candidate's relay parent is out of view", ); - break + break; }, }; let maybe_backed_candidate = rp_state @@ -2147,7 +2150,7 @@ fn handle_get_backable_candidates_message( .or_insert_with(|| Vec::with_capacity(para_candidates.len())) .push(backed_candidate); } else { - break + break; } } } diff --git a/polkadot/node/core/backing/src/tests/mod.rs b/polkadot/node/core/backing/src/tests/mod.rs index f6bab65433b3a..af53cba66b82c 100644 --- a/polkadot/node/core/backing/src/tests/mod.rs +++ b/polkadot/node/core/backing/src/tests/mod.rs @@ -51,8 +51,9 @@ struct TestLeaf { fn table_statement_to_primitive(statement: TableStatement) -> Statement { match statement { - TableStatement::Seconded(committed_candidate_receipt) => - Statement::Seconded(committed_candidate_receipt), + TableStatement::Seconded(committed_candidate_receipt) => { + Statement::Seconded(committed_candidate_receipt) + }, TableStatement::Valid(candidate_hash) => Statement::Valid(candidate_hash), } } @@ -436,7 +437,7 @@ async fn activate_leaf( // reuse the message. if !matches!(&msg, AllMessages::ChainApi(ChainApiMessage::BlockHeader(..))) { next_overseer_message.replace(msg); - break + break; } assert_matches!( @@ -3730,7 +3731,7 @@ fn concurrent_dependent_candidates() { backed_statements.insert(hash); if backed_statements.len() == 2 { - break + break; } }, AllMessages::RuntimeApi(RuntimeApiMessage::Request( diff --git a/polkadot/node/core/bitfield-signing/src/lib.rs b/polkadot/node/core/bitfield-signing/src/lib.rs index 474de1c66abd9..e0944b5542b6e 100644 --- a/polkadot/node/core/bitfield-signing/src/lib.rs +++ b/polkadot/node/core/bitfield-signing/src/lib.rs @@ -249,7 +249,7 @@ where Err(Error::Runtime(runtime_err)) => { // Don't take down the node on runtime API errors. gum::warn!(target: LOG_TARGET, err = ?runtime_err, "Encountered a runtime API error"); - return Ok(()) + return Ok(()); }, Err(err) => return Err(err), Ok(bitfield) => bitfield, @@ -263,7 +263,7 @@ where target: LOG_TARGET, "Key was found at construction, but while signing it could not be found.", ); - return Ok(()) + return Ok(()); }, }; diff --git a/polkadot/node/core/candidate-validation/src/lib.rs b/polkadot/node/core/candidate-validation/src/lib.rs index bb8ad60742edf..7329c22f3d535 100644 --- a/polkadot/node/core/candidate-validation/src/lib.rs +++ b/polkadot/node/core/candidate-validation/src/lib.rs @@ -203,7 +203,7 @@ where let _ = response_sender .send(Err(ValidationFailed("Session index not found".to_string()))); - return + return; }; // This will return a default value for the limit if runtime API is not available. @@ -225,7 +225,7 @@ where let _ = response_sender.send(Err(ValidationFailed( "Validation code bomb limit not available".to_string(), ))); - return + return; }; let res = validate_candidate_exhaustive( @@ -262,7 +262,7 @@ where ); let _ = response_sender.send(PreCheckOutcome::Failed); - return + return; }; // This will return a default value for the limit if runtime API is not available. @@ -282,7 +282,7 @@ where ); let _ = response_sender.send(PreCheckOutcome::Failed); - return + return; }; let precheck_result = precheck_pvf( @@ -421,8 +421,9 @@ async fn handle_active_leaves_update( if let Some(activated) = update.activated { let maybe_new_session_index = match (prepare_state.session_index, maybe_session_index) { - (Some(existing_index), Some(new_index)) => - (new_index > existing_index).then_some(new_index), + (Some(existing_index), Some(new_index)) => { + (new_index > existing_index).then_some(new_index) + }, (None, Some(new_index)) => Some(new_index), _ => None, }; @@ -486,7 +487,7 @@ where ?relay_parent, "cannot fetch session index from runtime API", ); - return None + return None; }; Some(session_index) @@ -510,7 +511,7 @@ where ?relay_parent, "cannot fetch authorities from runtime API", ); - return false + return false; }; // We need to exclude at least current session authority from the previous request @@ -522,7 +523,7 @@ where ?relay_parent, "cannot fetch session info from runtime API", ); - return false + return false; }; let is_past_present_or_future_authority = authorities @@ -557,7 +558,7 @@ where ?relay_parent, "cannot fetch candidate events from runtime API", ); - return None + return None; }; let code_hashes = events .into_iter() @@ -582,7 +583,7 @@ where ?relay_parent, "cannot fetch executor params for the session", ); - return None + return None; }; let timeout = pvf_prep_timeout(&executor_params, PvfPrepKind::Prepare); @@ -637,7 +638,7 @@ where } if active_pvfs.is_empty() { - return None + return None; } if let Err(err) = validation_backend.heads_up(active_pvfs).await { @@ -647,7 +648,7 @@ where ?err, "cannot prepare PVF for the next session", ); - return None + return None; }; gum::debug!( @@ -701,7 +702,7 @@ where Ok(scheduling_lookahead) => scheduling_lookahead, res => { gum::warn!(target: LOG_TARGET, ?res, "Failed to request scheduling lookahead"); - return vec![] + return vec![]; }, }; @@ -800,7 +801,7 @@ where ?validation_code_hash, "precheck: requested validation code is not found on-chain!", ); - return PreCheckOutcome::Failed + return PreCheckOutcome::Failed; }, }; @@ -822,7 +823,7 @@ where ?validation_code_hash, "precheck: failed to acquire executor params for the session, thus voting against.", ); - return PreCheckOutcome::Invalid + return PreCheckOutcome::Invalid; }; let timeout = pvf_prep_timeout(&executor_params, PvfPrepKind::Precheck); @@ -837,12 +838,13 @@ where match validation_backend.precheck_pvf(pvf).await { Ok(_) => PreCheckOutcome::Valid, - Err(prepare_err) => + Err(prepare_err) => { if prepare_err.is_deterministic() { PreCheckOutcome::Invalid } else { PreCheckOutcome::Failed - }, + } + }, } } @@ -875,10 +877,11 @@ async fn validate_candidate_exhaustive( // We only check the session index for backing. match (exec_kind, candidate_receipt.descriptor.session_index()) { - (PvfExecKind::Backing(_) | PvfExecKind::BackingSystemParas(_), Some(session_index)) => + (PvfExecKind::Backing(_) | PvfExecKind::BackingSystemParas(_), Some(session_index)) => { if session_index != expected_session_index { - return Ok(ValidationResult::Invalid(InvalidCandidate::InvalidSessionIndex)) - }, + return Ok(ValidationResult::Invalid(InvalidCandidate::InvalidSessionIndex)); + } + }, (_, _) => {}, }; @@ -889,7 +892,7 @@ async fn validate_candidate_exhaustive( &validation_code_hash, ) { gum::debug!(target: LOG_TARGET, ?para_id, ?candidate_hash, "Invalid candidate (basic checks)"); - return Ok(ValidationResult::Invalid(e)) + return Ok(ValidationResult::Invalid(e)); } let persisted_validation_data = Arc::new(persisted_validation_data); @@ -918,7 +921,7 @@ async fn validate_candidate_exhaustive( ) .await }, - PvfExecKind::Approval | PvfExecKind::Dispute => + PvfExecKind::Approval | PvfExecKind::Dispute => { validation_backend .validate_candidate_with_retry( validation_code.0, @@ -931,7 +934,8 @@ async fn validate_candidate_exhaustive( exec_kind, validation_code_bomb_limit, ) - .await, + .await + }, }; if let Err(ref error) = result { @@ -949,27 +953,35 @@ async fn validate_candidate_exhaustive( ); Err(ValidationFailed(e.to_string())) }, - Err(ValidationError::Invalid(WasmInvalidCandidate::HardTimeout)) => - Ok(ValidationResult::Invalid(InvalidCandidate::Timeout)), - Err(ValidationError::Invalid(WasmInvalidCandidate::WorkerReportedInvalid(e))) => - Ok(ValidationResult::Invalid(InvalidCandidate::ExecutionError(e))), - Err(ValidationError::Invalid(WasmInvalidCandidate::PoVDecompressionFailure)) => - Ok(ValidationResult::Invalid(InvalidCandidate::PoVDecompressionFailure)), - Err(ValidationError::PossiblyInvalid(PossiblyInvalidError::AmbiguousWorkerDeath)) => + Err(ValidationError::Invalid(WasmInvalidCandidate::HardTimeout)) => { + Ok(ValidationResult::Invalid(InvalidCandidate::Timeout)) + }, + Err(ValidationError::Invalid(WasmInvalidCandidate::WorkerReportedInvalid(e))) => { + Ok(ValidationResult::Invalid(InvalidCandidate::ExecutionError(e))) + }, + Err(ValidationError::Invalid(WasmInvalidCandidate::PoVDecompressionFailure)) => { + Ok(ValidationResult::Invalid(InvalidCandidate::PoVDecompressionFailure)) + }, + Err(ValidationError::PossiblyInvalid(PossiblyInvalidError::AmbiguousWorkerDeath)) => { Ok(ValidationResult::Invalid(InvalidCandidate::ExecutionError( "ambiguous worker death".to_string(), - ))), - Err(ValidationError::PossiblyInvalid(PossiblyInvalidError::JobError(err))) => - Ok(ValidationResult::Invalid(InvalidCandidate::ExecutionError(err))), - Err(ValidationError::PossiblyInvalid(PossiblyInvalidError::RuntimeConstruction(err))) => - Ok(ValidationResult::Invalid(InvalidCandidate::ExecutionError(err))), - Err(ValidationError::PossiblyInvalid(err @ PossiblyInvalidError::CorruptedArtifact)) => - Ok(ValidationResult::Invalid(InvalidCandidate::ExecutionError(err.to_string()))), - - Err(ValidationError::PossiblyInvalid(PossiblyInvalidError::AmbiguousJobDeath(err))) => + ))) + }, + Err(ValidationError::PossiblyInvalid(PossiblyInvalidError::JobError(err))) => { + Ok(ValidationResult::Invalid(InvalidCandidate::ExecutionError(err))) + }, + Err(ValidationError::PossiblyInvalid(PossiblyInvalidError::RuntimeConstruction(err))) => { + Ok(ValidationResult::Invalid(InvalidCandidate::ExecutionError(err))) + }, + Err(ValidationError::PossiblyInvalid(err @ PossiblyInvalidError::CorruptedArtifact)) => { + Ok(ValidationResult::Invalid(InvalidCandidate::ExecutionError(err.to_string()))) + }, + + Err(ValidationError::PossiblyInvalid(PossiblyInvalidError::AmbiguousJobDeath(err))) => { Ok(ValidationResult::Invalid(InvalidCandidate::ExecutionError(format!( "ambiguous job death: {err}" - )))), + )))) + }, Err(ValidationError::Preparation(e)) => { gum::warn!( target: LOG_TARGET, @@ -988,7 +1000,7 @@ async fn validate_candidate_exhaustive( ); Err(ValidationFailed(e.to_string())) }, - Ok(res) => + Ok(res) => { if res.head_data.hash() != candidate_receipt.descriptor.para_head() { gum::info!(target: LOG_TARGET, ?para_id, "Invalid candidate (para_head)"); Ok(ValidationResult::Invalid(InvalidCandidate::ParaHeadHashMismatch)) @@ -1039,7 +1051,7 @@ async fn validate_candidate_exhaustive( error ); - return Err(ValidationFailed(error.into())) + return Err(ValidationFailed(error.into())); }; if let Err(err) = committed_candidate_receipt @@ -1053,7 +1065,7 @@ async fn validate_candidate_exhaustive( ); return Ok(ValidationResult::Invalid( InvalidCandidate::InvalidUMPSignals(err), - )) + )); } }, // No checks for approvals and disputes @@ -1065,7 +1077,8 @@ async fn validate_candidate_exhaustive( (*persisted_validation_data).clone(), )) } - }, + } + }, } } @@ -1131,7 +1144,7 @@ trait ValidationBackend { ) .await; if validation_result.is_ok() { - return validation_result + return validation_result; } macro_rules! break_if_no_retries_left { @@ -1139,7 +1152,7 @@ trait ValidationBackend { if $counter > 0 { $counter -= 1; } else { - break + break; } }; } @@ -1152,7 +1165,7 @@ trait ValidationBackend { loop { // Stop retrying if we exceeded the timeout. if total_time_start.elapsed() + retry_delay > exec_timeout { - break + break; } let mut retry_immediately = false; match validation_result { @@ -1161,11 +1174,13 @@ trait ValidationBackend { PossiblyInvalidError::AmbiguousJobDeath(_), )) => break_if_no_retries_left!(num_death_retries_left), - Err(ValidationError::PossiblyInvalid(PossiblyInvalidError::JobError(_))) => - break_if_no_retries_left!(num_job_error_retries_left), + Err(ValidationError::PossiblyInvalid(PossiblyInvalidError::JobError(_))) => { + break_if_no_retries_left!(num_job_error_retries_left) + }, - Err(ValidationError::Internal(_)) => - break_if_no_retries_left!(num_internal_retries_left), + Err(ValidationError::Internal(_)) => { + break_if_no_retries_left!(num_internal_retries_left) + }, Err(ValidationError::PossiblyInvalid( PossiblyInvalidError::RuntimeConstruction(_) | @@ -1257,7 +1272,7 @@ impl ValidationBackend for ValidationHost { "cannot send pvf to the validation host, it might have shut down: {:?}", err )) - .into()) + .into()); } rx.await.map_err(|_| { @@ -1271,7 +1286,7 @@ impl ValidationBackend for ValidationHost { let (tx, rx) = oneshot::channel(); if let Err(err) = self.precheck_pvf(pvf, tx).await { // Return an IO error if there was an error communicating with the host. - return Err(PrepareError::IoErr(err)) + return Err(PrepareError::IoErr(err)); } let precheck_result = rx.await.map_err(|err| PrepareError::IoErr(err.to_string()))?; @@ -1304,15 +1319,15 @@ fn perform_basic_checks( let encoded_pov_size = pov.encoded_size(); if encoded_pov_size > max_pov_size as usize { - return Err(InvalidCandidate::ParamsTooLarge(encoded_pov_size as u64)) + return Err(InvalidCandidate::ParamsTooLarge(encoded_pov_size as u64)); } if pov_hash != candidate.pov_hash() { - return Err(InvalidCandidate::PoVHashMismatch) + return Err(InvalidCandidate::PoVHashMismatch); } if *validation_code_hash != candidate.validation_code_hash() { - return Err(InvalidCandidate::CodeHashMismatch) + return Err(InvalidCandidate::CodeHashMismatch); } Ok(()) @@ -1321,15 +1336,15 @@ fn perform_basic_checks( /// To determine the amount of timeout time for the pvf execution. /// /// Precheck -/// The time period after which the preparation worker is considered +/// The time period after which the preparation worker is considered /// unresponsive and will be killed. /// /// Prepare -///The time period after which the preparation worker is considered +/// The time period after which the preparation worker is considered /// unresponsive and will be killed. fn pvf_prep_timeout(executor_params: &ExecutorParams, kind: PvfPrepKind) -> Duration { if let Some(timeout) = executor_params.pvf_prep_timeout(kind) { - return timeout + return timeout; } match kind { PvfPrepKind::Precheck => DEFAULT_PRECHECK_PREPARATION_TIMEOUT, @@ -1349,7 +1364,7 @@ fn pvf_prep_timeout(executor_params: &ExecutorParams, kind: PvfPrepKind) -> Dura /// considered executable by approval checkers or dispute participants. fn pvf_exec_timeout(executor_params: &ExecutorParams, kind: RuntimePvfExecKind) -> Duration { if let Some(timeout) = executor_params.pvf_exec_timeout(kind) { - return timeout + return timeout; } match kind { RuntimePvfExecKind::Backing => DEFAULT_BACKING_EXECUTION_TIMEOUT, diff --git a/polkadot/node/core/candidate-validation/src/tests.rs b/polkadot/node/core/candidate-validation/src/tests.rs index 23770b9d5d31e..c153d4c748315 100644 --- a/polkadot/node/core/candidate-validation/src/tests.rs +++ b/polkadot/node/core/candidate-validation/src/tests.rs @@ -1179,7 +1179,7 @@ fn candidate_validation_retry_on_error_helper( &Default::default(), Default::default(), VALIDATION_CODE_BOMB_LIMIT, - )) + )); } #[test] diff --git a/polkadot/node/core/chain-selection/src/backend.rs b/polkadot/node/core/chain-selection/src/backend.rs index 71fa55ac65756..548f55cb7e67a 100644 --- a/polkadot/node/core/chain-selection/src/backend.rs +++ b/polkadot/node/core/chain-selection/src/backend.rs @@ -94,7 +94,7 @@ impl<'a, B: 'a + Backend> OverlayedBackend<'a, B> { pub(super) fn load_block_entry(&self, hash: &Hash) -> Result, Error> { if let Some(val) = self.block_entries.get(&hash) { - return Ok(val.clone()) + return Ok(val.clone()); } self.inner.load_block_entry(hash) @@ -102,7 +102,7 @@ impl<'a, B: 'a + Backend> OverlayedBackend<'a, B> { pub(super) fn load_blocks_by_number(&self, number: BlockNumber) -> Result, Error> { if let Some(val) = self.blocks_by_number.get(&number) { - return Ok(val.as_ref().map_or(Vec::new(), Clone::clone)) + return Ok(val.as_ref().map_or(Vec::new(), Clone::clone)); } self.inner.load_blocks_by_number(number) @@ -110,7 +110,7 @@ impl<'a, B: 'a + Backend> OverlayedBackend<'a, B> { pub(super) fn load_leaves(&self) -> Result { if let Some(ref set) = self.leaves { - return Ok(set.clone()) + return Ok(set.clone()); } self.inner.load_leaves() @@ -118,7 +118,7 @@ impl<'a, B: 'a + Backend> OverlayedBackend<'a, B> { pub(super) fn load_stagnant_at(&self, timestamp: Timestamp) -> Result, Error> { if let Some(val) = self.stagnant_at.get(×tamp) { - return Ok(val.as_ref().map_or(Vec::new(), Clone::clone)) + return Ok(val.as_ref().map_or(Vec::new(), Clone::clone)); } self.inner.load_stagnant_at(timestamp) @@ -196,7 +196,7 @@ fn contains_ancestor(backend: &impl Backend, head: Hash, ancestor: Hash) -> Resu let mut current_hash = head; loop { if current_hash == ancestor { - return Ok(true) + return Ok(true); } match backend.load_block_entry(¤t_hash)? { Some(e) => current_hash = e.parent_hash, @@ -214,7 +214,6 @@ fn contains_ancestor(backend: &impl Backend, head: Hash, ancestor: Hash) -> Resu /// /// If the required block is unfinalized but not an ancestor of any viable leaf, /// this will return `None`. -// // Note: this is O(N^2) in the depth of `required` and the number of leaves. // We expect the number of unfinalized blocks to be small, as in, to not exceed // single digits in practice, and exceedingly unlikely to surpass 1000. @@ -228,7 +227,7 @@ pub(super) fn find_best_leaf_containing( let leaves = backend.load_leaves()?; for leaf in leaves.into_hashes_descending() { if contains_ancestor(backend, leaf, required)? { - return Ok(Some(leaf)) + return Ok(Some(leaf)); } } diff --git a/polkadot/node/core/chain-selection/src/db_backend/v1.rs b/polkadot/node/core/chain-selection/src/db_backend/v1.rs index 8831b1e3c36cc..1475763381df5 100644 --- a/polkadot/node/core/chain-selection/src/db_backend/v1.rs +++ b/polkadot/node/core/chain-selection/src/db_backend/v1.rs @@ -236,12 +236,13 @@ impl Backend for DbBackend { let val = stagnant_at_iter .filter_map(|r| match r { - Ok((k, v)) => + Ok((k, v)) => { match (decode_stagnant_at_key(&mut &k[..]), >::decode(&mut &v[..]).ok()) { (Some(at), Some(stagnant_at)) => Some(Ok((at, stagnant_at))), _ => None, - }, + } + }, Err(e) => Some(Err(e)), }) .enumerate() @@ -289,7 +290,7 @@ impl Backend for DbBackend { block_entry.encode(), ); }, - BackendWriteOp::WriteBlocksByNumber(block_number, v) => + BackendWriteOp::WriteBlocksByNumber(block_number, v) => { if v.is_empty() { tx.delete(self.config.col_data, &block_height_key(block_number)); } else { @@ -298,7 +299,8 @@ impl Backend for DbBackend { &block_height_key(block_number), v.encode(), ); - }, + } + }, BackendWriteOp::WriteViableLeaves(leaves) => { let leaves: LeafEntrySet = leaves.into(); if leaves.inner.is_empty() { @@ -370,10 +372,10 @@ fn stagnant_at_key(timestamp: Timestamp) -> [u8; 14 + 8] { fn decode_block_height_key(key: &[u8]) -> Option { if key.len() != 15 + 4 { - return None + return None; } if !key.starts_with(BLOCK_HEIGHT_PREFIX) { - return None + return None; } let mut bytes = [0; 4]; @@ -383,10 +385,10 @@ fn decode_block_height_key(key: &[u8]) -> Option { fn decode_stagnant_at_key(key: &[u8]) -> Option { if key.len() != 14 + 8 { - return None + return None; } if !key.starts_with(STAGNANT_AT_PREFIX) { - return None + return None; } let mut bytes = [0; 8]; diff --git a/polkadot/node/core/chain-selection/src/lib.rs b/polkadot/node/core/chain-selection/src/lib.rs index 6c091b02709b7..7eb0ae473fe28 100644 --- a/polkadot/node/core/chain-selection/src/lib.rs +++ b/polkadot/node/core/chain-selection/src/lib.rs @@ -144,11 +144,11 @@ impl LeafEntrySet { let mut pos = None; for (i, e) in self.inner.iter().enumerate() { if e == &new { - return + return; } if e < &new { pos = Some(i); - break + break; } } @@ -397,11 +397,11 @@ async fn run( Err(e) => { e.trace(); // All errors are considered fatal right now: - break + break; }, Ok(()) => { gum::info!(target: LOG_TARGET, "received `Conclude` signal, exiting"); - break + break; }, } } @@ -499,7 +499,7 @@ async fn fetch_finalized( Ok(number) => number, Err(err) => { gum::warn!(target: LOG_TARGET, ?err, "Fetching finalized number failed"); - return Ok(None) + return Ok(None); }, }; @@ -568,7 +568,7 @@ async fn handle_active_leaf( let header = match fetch_header(sender, hash).await? { None => { gum::warn!(target: LOG_TARGET, ?hash, "Missing header for new head"); - return Ok(Vec::new()) + return Ok(Vec::new()); }, Some(h) => h, }; @@ -597,7 +597,7 @@ async fn handle_active_leaf( // If we don't know the weight, we can't import the block. // And none of its descendants either. - break + break; }, Some(w) => w, }; diff --git a/polkadot/node/core/chain-selection/src/tests.rs b/polkadot/node/core/chain-selection/src/tests.rs index 2b1e1196ede33..7ec183e69db46 100644 --- a/polkadot/node/core/chain-selection/src/tests.rs +++ b/polkadot/node/core/chain-selection/src/tests.rs @@ -171,7 +171,7 @@ impl Backend for TestBackend { // Early return if empty because empty writes shouldn't // trigger wakeups (they happen on an interval) if ops.is_empty() { - return Ok(()) + return Ok(()); } let mut inner = self.inner.lock(); @@ -513,7 +513,7 @@ async fn import_all_blocks_into( // Last weight has been returned. Time to go. if h == head_hash { - break + break; } }, _ => panic!("unexpected message"), diff --git a/polkadot/node/core/chain-selection/src/tree.rs b/polkadot/node/core/chain-selection/src/tree.rs index 1eb6c13a7f823..7ee5c391eaa39 100644 --- a/polkadot/node/core/chain-selection/src/tree.rs +++ b/polkadot/node/core/chain-selection/src/tree.rs @@ -111,7 +111,7 @@ fn propagate_viability_update( // Furthermore, in such cases, the set of viable leaves // does not change at all. backend.write_block_entry(base); - return Ok(()) + return Ok(()); } let mut viable_leaves = backend.load_leaves()?; @@ -147,7 +147,7 @@ fn propagate_viability_update( "Missing expected block entry" ); - continue + continue; }, Some(entry) => entry, }, @@ -222,12 +222,13 @@ fn propagate_viability_update( // // Furthermore, if the set of viable leaves is empty, the // finalized block is implicitly the viable leaf. - continue + continue; }, - Some(entry) => + Some(entry) => { if entry.children.len() == pivot_count { viable_leaves.insert(entry.leaf_entry()); - }, + } + }, } } @@ -267,9 +268,9 @@ fn load_ancestor( let block_hash = block_entry.block_hash; let block_number = block_entry.block_number; if block_number == ancestor_number { - return Ok(Some(block_entry.clone())) + return Ok(Some(block_entry.clone())); } else if block_number < ancestor_number { - return Ok(None) + return Ok(None); } let mut current_hash = block_hash; @@ -470,7 +471,7 @@ pub(super) fn finalize_block<'a, B: Backend + 'a>( None => { // This implies that there are no unfinalized blocks and hence nothing // to update. - return Ok(backend) + return Ok(backend); }, Some(e) => e, }; @@ -721,7 +722,7 @@ pub(super) fn revert_to<'a, B: Backend + 'a>( // The parent is expected to be the last finalized block. if block.parent_hash != hash { - return Err(ChainApiError::from("Can't revert below last finalized block").into()) + return Err(ChainApiError::from("Can't revert below last finalized block").into()); } // The weight is set to the one of the first child. Even though this is diff --git a/polkadot/node/core/dispute-coordinator/src/backend.rs b/polkadot/node/core/dispute-coordinator/src/backend.rs index cf0bdd4043ca2..d5a0a22f1a326 100644 --- a/polkadot/node/core/dispute-coordinator/src/backend.rs +++ b/polkadot/node/core/dispute-coordinator/src/backend.rs @@ -94,7 +94,7 @@ impl<'a, B: 'a + Backend> OverlayedBackend<'a, B> { /// Load the earliest session, if any. pub fn load_earliest_session(&self) -> FatalResult> { if let Some(val) = self.earliest_session { - return Ok(Some(val)) + return Ok(Some(val)); } self.inner.load_earliest_session() @@ -103,7 +103,7 @@ impl<'a, B: 'a + Backend> OverlayedBackend<'a, B> { /// Load the recent disputes, if any. pub fn load_recent_disputes(&self) -> FatalResult> { if let Some(val) = &self.recent_disputes { - return Ok(Some(val.clone())) + return Ok(Some(val.clone())); } self.inner.load_recent_disputes() @@ -116,7 +116,7 @@ impl<'a, B: 'a + Backend> OverlayedBackend<'a, B> { candidate_hash: &CandidateHash, ) -> FatalResult> { if let Some(val) = self.candidate_votes.get(&(session, *candidate_hash)) { - return Ok(val.clone()) + return Ok(val.clone()); } self.inner.load_candidate_votes(session, candidate_hash) diff --git a/polkadot/node/core/dispute-coordinator/src/import.rs b/polkadot/node/core/dispute-coordinator/src/import.rs index bc31961636dc9..8861d719eedfb 100644 --- a/polkadot/node/core/dispute-coordinator/src/import.rs +++ b/polkadot/node/core/dispute-coordinator/src/import.rs @@ -81,8 +81,9 @@ impl<'a> CandidateEnvironment<'a> { .get_session_info_by_index(ctx.sender(), relay_parent, session_index) .await { - Ok(extended_session_info) => - (&extended_session_info.session_info, &extended_session_info.executor_params), + Ok(extended_session_info) => { + (&extended_session_info.session_info, &extended_session_info.executor_params) + }, Err(_) => return None, }; @@ -97,7 +98,7 @@ impl<'a> CandidateEnvironment<'a> { let mut d: HashSet = HashSet::new(); for v in disabled_onchain.into_iter().chain(disabled_offchain.into_iter()) { if d.len() == byzantine_threshold { - break + break; } d.insert(v); } @@ -157,7 +158,7 @@ impl OwnVoteState { fn new(votes: &CandidateVotes, env: &CandidateEnvironment) -> Self { let controlled_indices = env.controlled_indices(); if controlled_indices.is_empty() { - return Self::CannotVote + return Self::CannotVote; } let our_valid_votes = controlled_indices @@ -321,7 +322,7 @@ impl CandidateVoteState { "Validator index doesn't match claimed key", ); - continue + continue; } if statement.candidate_hash() != &expected_candidate_hash { gum::error!( @@ -332,7 +333,7 @@ impl CandidateVoteState { ?expected_candidate_hash, "Vote is for unexpected candidate!", ); - continue + continue; } if statement.session_index() != env.session_index() { gum::error!( @@ -343,7 +344,7 @@ impl CandidateVoteState { ?expected_candidate_hash, "Vote is for unexpected session!", ); - continue + continue; } match statement.statement() { diff --git a/polkadot/node/core/dispute-coordinator/src/initialized.rs b/polkadot/node/core/dispute-coordinator/src/initialized.rs index 2123d12307419..a128e58c37050 100644 --- a/polkadot/node/core/dispute-coordinator/src/initialized.rs +++ b/polkadot/node/core/dispute-coordinator/src/initialized.rs @@ -174,7 +174,7 @@ impl Initialized { self.run_until_error(&mut ctx, &mut backend, &mut initial_data, &*clock).await; if let Ok(()) = res { gum::info!(target: LOG_TARGET, "received `Conclude` signal, exiting"); - return Ok(()) + return Ok(()); } log_error(res)?; } @@ -279,8 +279,9 @@ impl Initialized { self.scraper.process_finalized_block(&n); default_confirm }, - FromOrchestra::Communication { msg } => - self.handle_incoming(ctx, &mut overlay_db, msg, clock.now()).await?, + FromOrchestra::Communication { msg } => { + self.handle_incoming(ctx, &mut overlay_db, msg, clock.now()).await? + }, }, }; @@ -416,7 +417,7 @@ impl Initialized { ?session_index, "Couldn't find blocks in the session for an unapplied slash", ); - return + return; } // Find a relay block that we can use @@ -473,7 +474,7 @@ impl Initialized { // If we found a parent that we can use, stop searching. // If one key ownership was resolved successfully, all of them should be. debug_assert_eq!(key_ownership_proofs.len(), pending.keys.len()); - break + break; } } @@ -596,7 +597,7 @@ impl Initialized { let ScrapedOnChainVotes { session, backing_validators_per_candidate, disputes } = votes; if backing_validators_per_candidate.is_empty() && disputes.is_empty() { - return Ok(()) + return Ok(()); } // Scraped on-chain backing votes for the candidates with @@ -617,7 +618,7 @@ impl Initialized { ?err, "Could not retrieve session info from RuntimeInfo", ); - return Ok(()) + return Ok(()); }, }; @@ -729,7 +730,7 @@ impl Initialized { ?err, "Could not retrieve session info for recently concluded dispute" ); - continue + continue; }, }; @@ -765,7 +766,7 @@ impl Initialized { .collect::>(); if statements.is_empty() { gum::debug!(target: LOG_TARGET, "Skipping empty from chain dispute import"); - continue + continue; } let import_result = self .handle_import_statements( @@ -942,14 +943,15 @@ impl Initialized { gum::trace!(target: LOG_TARGET, ?statements, "In handle import statements"); if self.session_is_ancient(session) { // It is not valid to participate in an ancient dispute (spam?) or too new. - return Ok(ImportStatementsResult::InvalidImport) + return Ok(ImportStatementsResult::InvalidImport); } let candidate_hash = candidate_receipt.hash(); let votes_in_db = overlay_db.load_candidate_votes(session, &candidate_hash)?; let relay_parent = match &candidate_receipt { - MaybeCandidateReceipt::Provides(candidate_receipt) => - candidate_receipt.descriptor().relay_parent(), + MaybeCandidateReceipt::Provides(candidate_receipt) => { + candidate_receipt.descriptor().relay_parent() + }, MaybeCandidateReceipt::AssumeBackingVotePresent(candidate_hash) => match &votes_in_db { Some(votes) => votes.candidate_receipt.descriptor().relay_parent(), None => { @@ -959,7 +961,7 @@ impl Initialized { ?candidate_hash, "Cannot obtain relay parent without `CandidateReceipt` available!" ); - return Ok(ImportStatementsResult::InvalidImport) + return Ok(ImportStatementsResult::InvalidImport); }, }, }; @@ -981,7 +983,7 @@ impl Initialized { "We are lacking a `SessionInfo` for handling import of statements." ); - return Ok(ImportStatementsResult::InvalidImport) + return Ok(ImportStatementsResult::InvalidImport); }, Some(env) => env, }; @@ -1006,7 +1008,7 @@ impl Initialized { // not have a `CandidateReceipt` available. let old_state = match votes_in_db.map(CandidateVotes::from) { Some(votes) => CandidateVoteState::new(votes, &env, now), - None => + None => { if let MaybeCandidateReceipt::Provides(candidate_receipt) = candidate_receipt { CandidateVoteState::new_from_receipt(candidate_receipt) } else { @@ -1016,8 +1018,9 @@ impl Initialized { ?candidate_hash, "Cannot import votes, without `CandidateReceipt` available!" ); - return Ok(ImportStatementsResult::InvalidImport) - }, + return Ok(ImportStatementsResult::InvalidImport); + } + }, }; gum::trace!(target: LOG_TARGET, ?candidate_hash, ?session, "Loaded votes"); @@ -1154,7 +1157,7 @@ impl Initialized { invalid_voters = ?import_result.new_invalid_voters(), "Rejecting import because of full spam slots." ); - return Ok(ImportStatementsResult::InvalidImport) + return Ok(ImportStatementsResult::InvalidImport); } } @@ -1222,7 +1225,7 @@ impl Initialized { ?session, "Could not find pub key in `SessionInfo` for our own approval vote!" ); - continue + continue; }, Some(k) => k, }; @@ -1455,7 +1458,7 @@ impl Initialized { "Missing info for session which has an active dispute", ); - return Ok(()) + return Ok(()); }, Some(env) => env, }; @@ -1477,7 +1480,7 @@ impl Initialized { let controlled_indices = env.controlled_indices(); for index in controlled_indices { if voted_indices.contains(&index) { - continue + continue; } let keystore = self.keystore.clone() as Arc<_>; @@ -1513,7 +1516,7 @@ impl Initialized { match make_dispute_message(env.session_info(), &votes, statement.clone(), *index) { Err(err) => { gum::debug!(target: LOG_TARGET, ?err, "Creating dispute message failed."); - continue + continue; }, Ok(dispute_message) => dispute_message, }; @@ -1557,7 +1560,7 @@ impl Initialized { } fn session_is_ancient(&self, session_idx: SessionIndex) -> bool { - return session_idx < self.highest_session_seen.saturating_sub(DISPUTE_WINDOW.get() - 1) + return session_idx < self.highest_session_seen.saturating_sub(DISPUTE_WINDOW.get() - 1); } /// Revisit active non-confirmed disputes after validators have been disabled. @@ -1580,11 +1583,11 @@ impl Initialized { debug_assert_eq!(session, *dispute_session); // Only check unconfirmed if status.is_confirmed_concluded() { - continue + continue; } let Some(votes) = overlay_db.load_candidate_votes(*dispute_session, candidate_hash)? else { - continue + continue; }; // Check if all invalid voters (raising parties) are disabled if !votes.invalid.is_empty() && @@ -1689,9 +1692,9 @@ fn determine_undisputed_chain( for (i, BlockDescription { session, candidates, .. }) in block_descriptions.iter().enumerate() { if candidates.iter().any(|c| is_possibly_invalid(*session, *c)) { if i == 0 { - return Ok((base_number, base_hash)) + return Ok((base_number, base_hash)); } else { - return Ok((base_number + i as BlockNumber, block_descriptions[i - 1].block_hash)) + return Ok((base_number + i as BlockNumber, block_descriptions[i - 1].block_hash)); } } } @@ -1744,10 +1747,10 @@ impl OffchainDisabledValidators { let session = *session; // Only process concluded disputes if dispute_status.concluded_at().is_none() { - continue + continue; } if session < earliest_session { - continue + continue; } // Get votes for this dispute diff --git a/polkadot/node/core/dispute-coordinator/src/lib.rs b/polkadot/node/core/dispute-coordinator/src/lib.rs index 9736c4f0372bf..bb5189fb6e17d 100644 --- a/polkadot/node/core/dispute-coordinator/src/lib.rs +++ b/polkadot/node/core/dispute-coordinator/src/lib.rs @@ -216,7 +216,7 @@ impl DisputeCoordinatorSubsystem { Ok(None) => continue, Err(e) => { e.split()?.log(); - continue + continue; }, }; @@ -243,7 +243,7 @@ impl DisputeCoordinatorSubsystem { Ok(v) => v, Err(e) => { e.split()?.log(); - continue + continue; }, }; if !overlay_db.is_empty() { @@ -266,7 +266,7 @@ impl DisputeCoordinatorSubsystem { controlled_validator_indices, ), backend, - ))) + ))); } } @@ -306,7 +306,7 @@ impl DisputeCoordinatorSubsystem { Ok(disputes) => disputes.unwrap_or_default(), Err(e) => { gum::error!(target: LOG_TARGET, "Failed initial load of recent disputes: {:?}", e); - return Err(e.into()) + return Err(e.into()); }, }; @@ -350,7 +350,7 @@ impl DisputeCoordinatorSubsystem { "Can't cache SessionInfo during subsystem initialization. Skipping session." ); gap_in_cache = true; - continue + continue; }; } @@ -381,7 +381,7 @@ impl DisputeCoordinatorSubsystem { "We are lacking a `SessionInfo` for handling db votes on startup." ); - continue + continue; }, Some(env) => env, }; @@ -396,7 +396,7 @@ impl DisputeCoordinatorSubsystem { "Failed initial load of candidate votes: {:?}", e ); - continue + continue; }, }; let vote_state = CandidateVoteState::new(votes, &env, now); @@ -469,7 +469,7 @@ async fn wait_for_first_leaf(ctx: &mut Context) -> Result return Ok(None), FromOrchestra::Signal(OverseerSignal::ActiveLeaves(update)) => { if let Some(activated) = update.activated { - return Ok(Some(activated)) + return Ok(Some(activated)); } }, FromOrchestra::Signal(OverseerSignal::BlockFinalized(_, _)) => {}, @@ -543,7 +543,7 @@ async fn send_dispute_messages( session_index = ?env.session_index(), "Could not find our own key in `SessionInfo`" ); - continue + continue; }; let our_vote_signed = SignedDisputeStatement::new_checked( kind.clone(), @@ -559,7 +559,7 @@ async fn send_dispute_messages( target: LOG_TARGET, "Checking our own signature failed - db corruption?" ); - continue + continue; }, }; let dispute_message = match make_dispute_message( @@ -570,7 +570,7 @@ async fn send_dispute_messages( ) { Err(err) => { gum::debug!(target: LOG_TARGET, ?err, "Creating dispute message failed."); - continue + continue; }, Ok(dispute_message) => dispute_message, }; diff --git a/polkadot/node/core/dispute-coordinator/src/participation/mod.rs b/polkadot/node/core/dispute-coordinator/src/participation/mod.rs index 1540150c06c57..ee74347bf0d72 100644 --- a/polkadot/node/core/dispute-coordinator/src/participation/mod.rs +++ b/polkadot/node/core/dispute-coordinator/src/participation/mod.rs @@ -165,13 +165,13 @@ impl Participation { // Participation already running - we can ignore that request, discarding its timer: if self.running_participations.contains(req.candidate_hash()) { req.discard_timer(); - return Ok(()) + return Ok(()); } // Available capacity - participate right away (if we already have a recent block): if let Some((_, h)) = self.recent_block { if self.running_participations.len() < MAX_PARALLEL_PARTICIPATIONS { self.fork_participation(ctx, req, h)?; - return Ok(()) + return Ok(()); } } // Out of capacity/no recent block yet - queue: @@ -247,7 +247,7 @@ impl Participation { if let Some(req) = self.queue.dequeue() { self.fork_participation(ctx, req, recent_head)?; } else { - break + break; } } Ok(()) @@ -318,7 +318,7 @@ async fn participate( req.candidate_hash(), ); send_result(&mut result_sender, req, ParticipationOutcome::Error).await; - return + return; }, Ok(Ok(data)) => data, Ok(Err(RecoveryError::Invalid)) => { @@ -331,7 +331,7 @@ async fn participate( // the available data was recovered but it is invalid, therefore we'll // vote negatively for the candidate dispute send_result(&mut result_sender, req, ParticipationOutcome::Invalid).await; - return + return; }, Ok(Err(RecoveryError::Unavailable)) | Ok(Err(RecoveryError::ChannelClosed)) => { gum::debug!( @@ -341,7 +341,7 @@ async fn participate( "Can't fetch availability data in participation" ); send_result(&mut result_sender, req, ParticipationOutcome::Unavailable).await; - return + return; }, }; @@ -364,12 +364,12 @@ async fn participate( ); send_result(&mut result_sender, req, ParticipationOutcome::Error).await; - return + return; }, Err(err) => { gum::warn!(target: LOG_TARGET, ?err, "Error when fetching validation code."); send_result(&mut result_sender, req, ParticipationOutcome::Error).await; - return + return; }, }; @@ -402,7 +402,7 @@ async fn participate( req.candidate_hash(), ); send_result(&mut result_sender, req, ParticipationOutcome::Error).await; - return + return; }, Ok(Err(err)) => { gum::warn!( diff --git a/polkadot/node/core/dispute-coordinator/src/participation/queues/mod.rs b/polkadot/node/core/dispute-coordinator/src/participation/queues/mod.rs index 323905e92f15c..d935e17b77404 100644 --- a/polkadot/node/core/dispute-coordinator/src/participation/queues/mod.rs +++ b/polkadot/node/core/dispute-coordinator/src/participation/queues/mod.rs @@ -209,11 +209,11 @@ impl Queues { pub fn dequeue(&mut self) -> Option { if let Some(req) = self.pop_priority() { self.metrics.report_priority_queue_size(self.priority.len() as u64); - return Some(req.1) + return Some(req.1); } if let Some(req) = self.pop_best_effort() { self.metrics.report_best_effort_queue_size(self.best_effort.len() as u64); - return Some(req.1) + return Some(req.1); } None } @@ -235,7 +235,7 @@ impl Queues { comparator: CandidateComparator, ) -> std::result::Result<(), QueueError> { if self.priority.len() >= PRIORITY_QUEUE_SIZE { - return Err(QueueError::PriorityFull) + return Err(QueueError::PriorityFull); } if let Some(request) = self.best_effort.remove(&comparator) { self.priority.insert(comparator, request); @@ -266,7 +266,7 @@ impl Queues { ) -> std::result::Result<(), QueueError> { if priority.is_priority() { if self.priority.len() >= PRIORITY_QUEUE_SIZE { - return Err(QueueError::PriorityFull) + return Err(QueueError::PriorityFull); } // Remove any best effort entry, using it to replace our new // request. @@ -292,10 +292,10 @@ impl Queues { if self.priority.contains_key(&comparator) { // The candidate is already in priority queue - don't // add in in best effort too. - return Ok(()) + return Ok(()); } if self.best_effort.len() >= BEST_EFFORT_QUEUE_SIZE { - return Err(QueueError::BestEffortFull) + return Err(QueueError::BestEffortFull); } // Keeping old request if any. match self.best_effort.entry(comparator) { @@ -316,12 +316,12 @@ impl Queues { /// Get best from the best effort queue. fn pop_best_effort(&mut self) -> Option<(CandidateComparator, ParticipationRequest)> { - return Self::pop_impl(&mut self.best_effort) + return Self::pop_impl(&mut self.best_effort); } /// Get best priority queue entry. fn pop_priority(&mut self) -> Option<(CandidateComparator, ParticipationRequest)> { - return Self::pop_impl(&mut self.priority) + return Self::pop_impl(&mut self.priority); } // `pop_best_effort` and `pop_priority` do the same but on different `BTreeMap`s. This function @@ -458,7 +458,7 @@ impl Ord for CandidateComparator { // Ditto Ordering::Greater }, - } + }; } } diff --git a/polkadot/node/core/dispute-coordinator/src/scraping/mod.rs b/polkadot/node/core/dispute-coordinator/src/scraping/mod.rs index b98fc090dde12..cc4140aca7294 100644 --- a/polkadot/node/core/dispute-coordinator/src/scraping/mod.rs +++ b/polkadot/node/core/dispute-coordinator/src/scraping/mod.rs @@ -399,7 +399,7 @@ impl ChainScraper { // If head_number <= target_ancestor + 1 the ancestry will be empty. if self.last_observed_blocks.get(&head).is_some() || head_number <= target_ancestor + 1 { - return Ok(ancestors) + return Ok(ancestors); } loop { @@ -416,7 +416,7 @@ impl ChainScraper { hashes.len(), head_number, ); - return Ok(ancestors) + return Ok(ancestors); }, }; // The reversed order is parent, grandparent, etc. excluding the head. @@ -429,7 +429,7 @@ impl ChainScraper { block_number <= target_ancestor || ancestors.len() >= Self::ANCESTRY_SIZE_LIMIT as usize { - return Ok(ancestors) + return Ok(ancestors); } ancestors.push(*hash); @@ -443,7 +443,7 @@ impl ChainScraper { None => break, } } - return Ok(ancestors) + return Ok(ancestors); } pub fn get_blocks_including_candidate( diff --git a/polkadot/node/core/dispute-coordinator/src/spam_slots.rs b/polkadot/node/core/dispute-coordinator/src/spam_slots.rs index fd2f65b1bc8ee..c789282d7e671 100644 --- a/polkadot/node/core/dispute-coordinator/src/spam_slots.rs +++ b/polkadot/node/core/dispute-coordinator/src/spam_slots.rs @@ -95,7 +95,7 @@ impl SpamSlots { ) -> bool { let spam_vote_count = self.slots.entry((session, validator)).or_default(); if *spam_vote_count >= MAX_SPAM_VOTES { - return false + return false; } let validators = self.unconfirmed.entry((session, candidate)).or_default(); diff --git a/polkadot/node/core/dispute-coordinator/src/tests.rs b/polkadot/node/core/dispute-coordinator/src/tests.rs index 64bd9bbf63d01..94068030458ea 100644 --- a/polkadot/node/core/dispute-coordinator/src/tests.rs +++ b/polkadot/node/core/dispute-coordinator/src/tests.rs @@ -123,8 +123,9 @@ async fn generate_opposing_votes_pair( valid_vote_type: VoteType, ) -> (SignedDisputeStatement, SignedDisputeStatement) { let valid_vote = match valid_vote_type { - VoteType::Backing => - test_state.issue_backing_statement_with_index(valid_voter_idx, candidate_hash, session), + VoteType::Backing => { + test_state.issue_backing_statement_with_index(valid_voter_idx, candidate_hash, session) + }, VoteType::Explicit => test_state.issue_explicit_statement_with_index( valid_voter_idx, candidate_hash, @@ -396,7 +397,7 @@ impl TestState { _new_leaf, RuntimeApiRequest::FetchOnChainVotes(tx), )) => { - //add some `BackedCandidates` or resolved disputes here as needed + // add some `BackedCandidates` or resolved disputes here as needed tx.send(Ok(Some(ScrapedOnChainVotes { session, backing_validators_per_candidate: Vec::default(), @@ -437,7 +438,7 @@ impl TestState { }, } } - return sent_disputes + return sent_disputes; } async fn handle_resume_sync( diff --git a/polkadot/node/core/prospective-parachains/src/fragment_chain/mod.rs b/polkadot/node/core/prospective-parachains/src/fragment_chain/mod.rs index 20719b4bb2fae..c082288b14972 100644 --- a/polkadot/node/core/prospective-parachains/src/fragment_chain/mod.rs +++ b/polkadot/node/core/prospective-parachains/src/fragment_chain/mod.rs @@ -36,7 +36,7 @@ //! //! The unconnected storage keeps a record of seconded/backable candidates that may be //! added to the best chain in the future. -//! Once a candidate is seconded, it becomes part of this unconnected storage. +//! Once a candidate is seconded, it becomes part of this unconnected storage. //! Only after it is backed it may be added to the best chain (but not necessarily). It's only //! added if it builds on the latest candidate in the chain and if there isn't a better backable //! candidate according to the fork selection rule. @@ -230,7 +230,7 @@ impl CandidateStorage { fn add_candidate_entry(&mut self, candidate: CandidateEntry) -> Result<(), Error> { let candidate_hash = candidate.candidate_hash; if self.by_candidate_hash.contains_key(&candidate_hash) { - return Err(Error::CandidateAlreadyKnown) + return Err(Error::CandidateAlreadyKnown); } self.by_parent_head @@ -379,14 +379,14 @@ impl CandidateEntry { let para_id = candidate.descriptor.para_id(); if persisted_validation_data.hash() != candidate.descriptor.persisted_validation_data_hash() { - return Err(CandidateEntryError::PersistedValidationDataMismatch) + return Err(CandidateEntryError::PersistedValidationDataMismatch); } let parent_head_data_hash = persisted_validation_data.parent_head.hash(); let output_head_data_hash = candidate.commitments.head_data.hash(); if parent_head_data_hash == output_head_data_hash { - return Err(CandidateEntryError::ZeroLengthCycle) + return Err(CandidateEntryError::ZeroLengthCycle); } Ok(Self { @@ -508,11 +508,11 @@ impl Scope { let mut prev = relay_parent.number; for ancestor in ancestors { if prev == 0 { - return Err(UnexpectedAncestor { number: ancestor.number, prev }) + return Err(UnexpectedAncestor { number: ancestor.number, prev }); } else if ancestor.number != prev - 1 { - return Err(UnexpectedAncestor { number: ancestor.number, prev }) + return Err(UnexpectedAncestor { number: ancestor.number, prev }); } else if prev == base_constraints.min_relay_parent_number { - break + break; } else { prev = ancestor.number; ancestors_by_hash.insert(ancestor.hash, ancestor.clone()); @@ -543,7 +543,7 @@ impl Scope { /// Get the relay ancestor of the fragment chain by hash. pub fn ancestor(&self, hash: &Hash) -> Option { if hash == &self.relay_parent.hash { - return Some(self.relay_parent.clone()) + return Some(self.relay_parent.clone()); } self.ancestors_by_hash.get(hash).map(|info| info.clone()) @@ -779,7 +779,7 @@ impl FragmentChain { pub fn candidate_backed(&mut self, newly_backed_candidate: &CandidateHash) { // Already backed. if self.best_chain.candidates.contains(newly_backed_candidate) { - return + return; } let Some(parent_head_hash) = self .unconnected @@ -788,7 +788,7 @@ impl FragmentChain { .map(|entry| entry.parent_head_data_hash) else { // Candidate is not in unconnected storage. - return + return; }; // Mark the candidate hash. @@ -797,7 +797,7 @@ impl FragmentChain { // Revert to parent_head_hash if !self.revert_to(&parent_head_hash) { // If nothing was reverted, there is nothing we can do for now. - return + return; } let mut prev_storage = std::mem::take(&mut self.unconnected); @@ -824,7 +824,7 @@ impl FragmentChain { let candidate_hash = candidate.candidate_hash(); if self.best_chain.contains(&candidate_hash) || self.unconnected.contains(&candidate_hash) { - return Err(Error::CandidateAlreadyKnown) + return Err(Error::CandidateAlreadyKnown); } self.check_potential(candidate) @@ -854,7 +854,7 @@ impl FragmentChain { // First, see if this is the head data of the latest included candidate. let required_parent = &self.scope.base_constraints().required_parent; if &required_parent.hash() == head_data_hash { - return Some(required_parent.clone()) + return Some(required_parent.clone()); } // Cheaply check if the head data is in the best backable chain. @@ -899,7 +899,7 @@ impl FragmentChain { count: u32, ) -> Vec<(CandidateHash, Hash)> { if count == 0 { - return vec![] + return vec![]; } let base_pos = self.find_ancestor_path(ancestors); @@ -913,7 +913,7 @@ impl FragmentChain { if self.scope.get_pending_availability(&elem.candidate_hash).is_none() { res.push((elem.candidate_hash, elem.relay_parent())); } else { - break + break; } } @@ -930,7 +930,7 @@ impl FragmentChain { for (index, candidate) in self.best_chain.chain.iter().enumerate() { if !ancestors.remove(&candidate.candidate_hash) { - return index + return index; } } @@ -980,7 +980,7 @@ impl FragmentChain { // Sanity check, all pending availability candidates should be already present in the // chain. if self.scope.get_pending_availability(&candidate.candidate_hash).is_some() { - continue + continue; } match self.can_add_candidate_as_potential(&candidate) { @@ -1005,12 +1005,12 @@ impl FragmentChain { // this should catch a cycle where this candidate would point back to the parent of some // candidate in the chain. if self.best_chain.by_parent_head.contains_key(output_head_hash) { - return Err(Error::Cycle) + return Err(Error::Cycle); } // multiple paths to the same state, which can't happen for a chain. if self.best_chain.by_output_head.contains_key(output_head_hash) { - return Err(Error::MultiplePaths) + return Err(Error::MultiplePaths); } Ok(()) @@ -1029,7 +1029,7 @@ impl FragmentChain { // trivial 0-length cycle. if let Some(output_head_hash) = candidate.output_head_data_hash() { if parent_head_hash == output_head_hash { - return Err(Error::ZeroLengthCycle) + return Err(Error::ZeroLengthCycle); } } @@ -1038,7 +1038,7 @@ impl FragmentChain { return Err(Error::RelayParentNotInScope( relay_parent, self.scope.earliest_relay_parent().hash, - )) + )); }; // Check if the relay parent moved backwards from the latest candidate pending availability. @@ -1047,20 +1047,20 @@ impl FragmentChain { return Err(Error::RelayParentPrecedesCandidatePendingAvailability( relay_parent.hash, earliest_rp_of_pending_availability.hash, - )) + )); } // If it's a fork with a backed candidate in the current chain. if let Some(other_candidate) = self.best_chain.by_parent_head.get(&parent_head_hash) { if self.scope().get_pending_availability(other_candidate).is_some() { // Cannot accept a fork with a candidate pending availability. - return Err(Error::ForkWithCandidatePendingAvailability(*other_candidate)) + return Err(Error::ForkWithCandidatePendingAvailability(*other_candidate)); } // If the candidate is backed and in the current chain, accept only a candidate // according to the fork selection rule. if fork_selection_rule(other_candidate, &candidate.candidate_hash()) == Ordering::Less { - return Err(Error::ForkChoiceRule(*other_candidate)) + return Err(Error::ForkChoiceRule(*other_candidate)); } } @@ -1072,7 +1072,7 @@ impl FragmentChain { self.best_chain.chain.iter().find(|c| &c.candidate_hash == parent_candidate) else { // Should never really happen. - return Err(Error::ParentCandidateNotFound) + return Err(Error::ParentCandidateNotFound); }; ( @@ -1111,7 +1111,7 @@ impl FragmentChain { commitments, &validation_code_hash, ) - .map_err(Error::CheckAgainstConstraints) + .map_err(Error::CheckAgainstConstraints); } Fragment::check_against_constraints( &relay_parent, @@ -1124,12 +1124,12 @@ impl FragmentChain { } if relay_parent.number < constraints.min_relay_parent_number { - return Err(Error::RelayParentMovedBackwards) + return Err(Error::RelayParentMovedBackwards); } if let Some(earliest_rp) = maybe_min_relay_parent_number { if relay_parent.number < earliest_rp { - return Err(Error::RelayParentMovedBackwards) + return Err(Error::RelayParentMovedBackwards); } } @@ -1170,7 +1170,7 @@ impl FragmentChain { // Already visited this parent. Either is a cycle or multiple paths that lead to the // same candidate. Either way, stop this branch to avoid looping forever. if visited.contains(&child.output_head_data_hash) { - continue + continue; } // Only keep a candidate if its full ancestry was already kept as potential and this @@ -1247,7 +1247,7 @@ impl FragmentChain { "Failed to apply modifications", ); - break + break; }, Ok(c) => c, }; @@ -1271,12 +1271,12 @@ impl FragmentChain { .map(|p| p.relay_parent.clone()) .or_else(|| self.scope.ancestor(&candidate.relay_parent)) else { - return None + return None; }; if self.check_cycles_or_invalid_tree(&candidate.output_head_data_hash).is_err() { - return None + return None; } // require: candidates don't move backwards @@ -1293,14 +1293,14 @@ impl FragmentChain { .unwrap_or_else(|| earliest_rp.number); if relay_parent.number < min_relay_parent_number { - return None // relay parent moved backwards. + return None; // relay parent moved backwards. } // don't add candidates if they're already present in the chain. // this can never happen, as candidates can only be duplicated if there's a // cycle and we shouldn't have allowed for a cycle to be chained. if self.best_chain.contains(&candidate.candidate_hash) { - return None + return None; } let fragment = { @@ -1329,7 +1329,7 @@ impl FragmentChain { "Failed to instantiate fragment", ); - return None + return None; }, } }; @@ -1388,7 +1388,7 @@ impl FragmentChain { // Add the candidate to the chain now. self.best_chain.push(node); } else { - break + break; } } } diff --git a/polkadot/node/core/prospective-parachains/src/fragment_chain/tests.rs b/polkadot/node/core/prospective-parachains/src/fragment_chain/tests.rs index 81d420ca6b33e..1fef3d982d983 100644 --- a/polkadot/node/core/prospective-parachains/src/fragment_chain/tests.rs +++ b/polkadot/node/core/prospective-parachains/src/fragment_chain/tests.rs @@ -997,7 +997,7 @@ fn test_populate_and_check_potential() { // F is unconnected and seconded. // A1 has same parent as A, is backed but has a higher candidate hash. It'll therefore be // deleted. - // A1 has underneath a subtree that will all need to be trimmed. A1 -> B1. B1 -> C1 + // A1 has underneath a subtree that will all need to be trimmed. A1 -> B1. B1 -> C1 // and B1 -> C2. (C1 is backed). // A2 is seconded but is kept because it has a lower candidate hash than A. // A2 points to B2, which is backed. diff --git a/polkadot/node/core/prospective-parachains/src/lib.rs b/polkadot/node/core/prospective-parachains/src/lib.rs index 82c6958afb2e4..31210a9b562e1 100644 --- a/polkadot/node/core/prospective-parachains/src/lib.rs +++ b/polkadot/node/core/prospective-parachains/src/lib.rs @@ -156,10 +156,12 @@ async fn run_iteration( }, FromOrchestra::Signal(OverseerSignal::BlockFinalized(..)) => {}, FromOrchestra::Communication { msg } => match msg { - ProspectiveParachainsMessage::IntroduceSecondedCandidate(request, tx) => - handle_introduce_seconded_candidate(view, request, tx, metrics).await, - ProspectiveParachainsMessage::CandidateBacked(para, candidate_hash) => - handle_candidate_backed(view, para, candidate_hash, metrics).await, + ProspectiveParachainsMessage::IntroduceSecondedCandidate(request, tx) => { + handle_introduce_seconded_candidate(view, request, tx, metrics).await + }, + ProspectiveParachainsMessage::CandidateBacked(para, candidate_hash) => { + handle_candidate_backed(view, para, candidate_hash, metrics).await + }, ProspectiveParachainsMessage::GetBackableCandidates( relay_parent, para, @@ -167,12 +169,15 @@ async fn run_iteration( ancestors, tx, ) => answer_get_backable_candidates(&view, relay_parent, para, count, ancestors, tx), - ProspectiveParachainsMessage::GetHypotheticalMembership(request, tx) => - answer_hypothetical_membership_request(&view, request, tx, metrics), - ProspectiveParachainsMessage::GetMinimumRelayParents(relay_parent, tx) => - answer_minimum_relay_parents_request(&view, relay_parent, tx), - ProspectiveParachainsMessage::GetProspectiveValidationData(request, tx) => - answer_prospective_validation_data_request(&view, request, tx), + ProspectiveParachainsMessage::GetHypotheticalMembership(request, tx) => { + answer_hypothetical_membership_request(&view, request, tx, metrics) + }, + ProspectiveParachainsMessage::GetMinimumRelayParents(relay_parent, tx) => { + answer_minimum_relay_parents_request(&view, relay_parent, tx) + }, + ProspectiveParachainsMessage::GetProspectiveValidationData(request, tx) => { + answer_prospective_validation_data_request(&view, request, tx) + }, }, } } @@ -208,7 +213,7 @@ async fn handle_active_leaves_update( // There can only be one newly activated leaf, `update.activated` is an `Option`. for activated in update.activated.into_iter() { if update.deactivated.contains(&activated.hash) { - continue + continue; } let hash = activated.hash; @@ -227,7 +232,7 @@ async fn handle_active_leaves_update( // `update.activated` is an option, but we can use this // to exit the 'loop' and skip this block without skipping // pruning logic. - continue + continue; }, Some(info) => info, }; @@ -261,7 +266,7 @@ async fn handle_active_leaves_update( "Failed to get inclusion backing state." ); - continue + continue; }; let pending_availability = preprocess_candidates_pending_availability( @@ -294,7 +299,7 @@ async fn handle_active_leaves_update( "Scraped invalid candidate pending availability", ); - break + break; }, } @@ -324,7 +329,7 @@ async fn handle_active_leaves_update( "Relay chain ancestors have wrong order: {:?}", unexpected_ancestors ); - continue + continue; }, }; @@ -465,7 +470,7 @@ async fn preprocess_candidates_pending_availability( "Had to stop processing pending candidates early due to missing info.", ); - break + break; }; let next_required_parent = pending.commitments.head_data.clone(); @@ -518,7 +523,7 @@ async fn handle_introduce_seconded_candidate( ); let _ = tx.send(false); - return + return; }, }; @@ -627,6 +632,7 @@ async fn handle_candidate_backed( ?relay_parent, ?para, ?is_active_leaf, + ?candidate_hash, "Candidate backed. Candidate chain for para: {:?}", chain.best_chain_vec() ); @@ -650,7 +656,7 @@ async fn handle_candidate_backed( "Received instruction to back a candidate for unscheduled para", ); - return + return; } if !found_candidate { @@ -682,7 +688,7 @@ fn answer_get_backable_candidates( ); let _ = tx.send(vec![]); - return + return; } let Some(data) = view.per_relay_parent.get(&relay_parent) else { gum::debug!( @@ -693,7 +699,7 @@ fn answer_get_backable_candidates( ); let _ = tx.send(vec![]); - return + return; }; let Some(chain) = data.fragment_chains.get(¶) else { @@ -705,7 +711,7 @@ fn answer_get_backable_candidates( ); let _ = tx.send(vec![]); - return + return; }; gum::trace!( @@ -844,7 +850,7 @@ fn answer_prospective_validation_data_request( .and_then(|data| data.fragment_chains.get(&request.para_id)) }) { if head_data.is_some() && relay_parent_info.is_some() && max_pov_size.is_some() { - break + break; } if relay_parent_info.is_none() { relay_parent_info = fragment_chain.scope().ancestor(&request.candidate_relay_parent); @@ -958,7 +964,7 @@ async fn fetch_ancestry( required_session: u32, ) -> JfyiErrorResult> { if ancestors == 0 { - return Ok(Vec::new()) + return Ok(Vec::new()); } let (tx, rx) = oneshot::channel(); @@ -982,7 +988,7 @@ async fn fetch_ancestry( ); // Return, however far we got. - break + break; }, Some(info) => info, }; @@ -999,7 +1005,7 @@ async fn fetch_ancestry( if session == required_session { block_info.push(info); } else { - break + break; } } @@ -1013,7 +1019,7 @@ async fn fetch_block_header_with_cache( relay_hash: Hash, ) -> JfyiErrorResult> { if let Some(h) = cache.get(&relay_hash) { - return Ok(Some(h.clone())) + return Ok(Some(h.clone())); } let (tx, rx) = oneshot::channel(); diff --git a/polkadot/node/core/provisioner/src/disputes/prioritized_selection/mod.rs b/polkadot/node/core/provisioner/src/disputes/prioritized_selection/mod.rs index efab989cb0ec5..7be1f9123441e 100644 --- a/polkadot/node/core/provisioner/src/disputes/prioritized_selection/mod.rs +++ b/polkadot/node/core/provisioner/src/disputes/prioritized_selection/mod.rs @@ -215,7 +215,7 @@ where onchain_state } else { // onchain knows nothing about this dispute - add all votes - return (session_index, candidate_hash, votes) + return (session_index, candidate_hash, votes); }; votes.valid.retain(|validator_idx, (statement_kind, _)| { @@ -251,7 +251,7 @@ where "vote_selection DisputeCoordinatorMessage::QueryCandidateVotes counter", ); - return result + return result; } result.insert((session_index, candidate_hash), selected_votes); @@ -347,7 +347,7 @@ fn partition_recent_disputes( let key = (session_index, candidate_hash); if dispute_is_inactive(&dispute_state, time_now) { match onchain.get(&key) { - Some(onchain_state) => + Some(onchain_state) => { if concluded_onchain(onchain_state) { partitioned .inactive_concluded_onchain @@ -356,16 +356,19 @@ fn partition_recent_disputes( partitioned .inactive_unconcluded_onchain .push((session_index, candidate_hash)); - }, + } + }, None => partitioned.inactive_unknown_onchain.push((session_index, candidate_hash)), } } else { match onchain.get(&(session_index, candidate_hash)) { Some(d) => match concluded_onchain(d) { - true => - partitioned.active_concluded_onchain.push((session_index, candidate_hash)), - false => - partitioned.active_unconcluded_onchain.push((session_index, candidate_hash)), + true => { + partitioned.active_concluded_onchain.push((session_index, candidate_hash)) + }, + false => { + partitioned.active_unconcluded_onchain.push((session_index, candidate_hash)) + }, }, None => partitioned.active_unknown_onchain.push((session_index, candidate_hash)), } @@ -410,13 +413,13 @@ fn is_vote_worth_to_keep( if in_validators_for && in_validators_against { // The validator has double voted and runtime knows about this. Ignore this vote. - return false + return false; } if offchain_vote && in_validators_against || !offchain_vote && in_validators_for { // offchain vote differs from the onchain vote // we need this vote to punish the offending validator - return true + return true; } // The vote is valid. Return true if it is not seen onchain. @@ -491,10 +494,12 @@ where .map_err(|_| GetOnchainDisputesError::Channel) .and_then(|res| { res.map_err(|e| match e { - RuntimeApiError::Execution { .. } => - GetOnchainDisputesError::Execution(e, relay_parent), - RuntimeApiError::NotSupported { .. } => - GetOnchainDisputesError::NotSupported(e, relay_parent), + RuntimeApiError::Execution { .. } => { + GetOnchainDisputesError::Execution(e, relay_parent) + }, + RuntimeApiError::NotSupported { .. } => { + GetOnchainDisputesError::NotSupported(e, relay_parent) + }, }) }) .map(|v| v.into_iter().map(|e| ((e.0, e.1), e.2)).collect()) diff --git a/polkadot/node/core/provisioner/src/disputes/prioritized_selection/tests.rs b/polkadot/node/core/provisioner/src/disputes/prioritized_selection/tests.rs index 3cbe6c9011b01..816494dff659c 100644 --- a/polkadot/node/core/provisioner/src/disputes/prioritized_selection/tests.rs +++ b/polkadot/node/core/provisioner/src/disputes/prioritized_selection/tests.rs @@ -30,7 +30,6 @@ use polkadot_primitives::{ InvalidDisputeStatementKind, SessionIndex, ValidDisputeStatementKind, ValidatorSignature, }; -// // Unit tests for various functions // #[test] @@ -81,7 +80,7 @@ fn should_keep_vote_behaves() { true ); - //double voting - onchain knows + // double voting - onchain knows let local_double_vote_onchain_knows = (ValidatorIndex(4), InvalidDisputeStatementKind::Explicit); assert_eq!( @@ -93,7 +92,7 @@ fn should_keep_vote_behaves() { false ); - //double voting - onchain doesn't know + // double voting - onchain doesn't know let local_double_vote_onchain_doesnt_knows = (ValidatorIndex(0), InvalidDisputeStatementKind::Explicit); assert_eq!( @@ -285,7 +284,6 @@ fn partitioning_duplicated_dispute() { assert_eq!(result.active_unconcluded_onchain.get(0).unwrap(), &some_dispute.0); } -// // end-to-end tests for select_disputes() // @@ -563,7 +561,7 @@ fn normal_flow() { let (first_idx, first_votes) = input.add_unconfirmed_disputes_unconcluded_onchain(DISPUTES_PER_BATCH); - //concluded disputes unknown onchain + // concluded disputes unknown onchain let (fifth_idx, fifth_votes) = input.add_concluded_disputes_unknown_onchain(DISPUTES_PER_BATCH); // concluded disputes known onchain - these should be ignored @@ -644,7 +642,7 @@ fn many_batches() { // active which can't conclude onchain input.add_unconfirmed_disputes_unconcluded_onchain(DISPUTES_PER_PARTITION); - //concluded disputes unknown onchain + // concluded disputes unknown onchain input.add_concluded_disputes_unknown_onchain(DISPUTES_PER_PARTITION); // concluded disputes known onchain @@ -698,7 +696,7 @@ fn votes_above_limit() { let (_, first_votes) = input.add_unconfirmed_disputes_unconcluded_onchain(DISPUTES_PER_PARTITION); - //concluded disputes unknown onchain + // concluded disputes unknown onchain let (_, third_votes) = input.add_concluded_disputes_unknown_onchain(DISPUTES_PER_PARTITION); assert!( diff --git a/polkadot/node/core/provisioner/src/error.rs b/polkadot/node/core/provisioner/src/error.rs index 08804c65f35f2..d017c542eeff8 100644 --- a/polkadot/node/core/provisioner/src/error.rs +++ b/polkadot/node/core/provisioner/src/error.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -///! Error types for provisioner module +/// ! Error types for provisioner module use fatality::Nested; use futures::channel::{mpsc, oneshot}; use polkadot_node_subsystem::errors::{ChainApiError, RuntimeApiError, SubsystemError}; diff --git a/polkadot/node/core/provisioner/src/lib.rs b/polkadot/node/core/provisioner/src/lib.rs index 29e8eb34b3959..54ae31498257d 100644 --- a/polkadot/node/core/provisioner/src/lib.rs +++ b/polkadot/node/core/provisioner/src/lib.rs @@ -256,7 +256,7 @@ async fn handle_active_leaves_update( else { gum::warn!(target: LOG_TARGET, leaf_hash=?leaf.hash, "Failed to fetch candidate events"); - return Ok(()) + return Ok(()); }; let in_block_count = candidate_events @@ -271,7 +271,7 @@ async fn handle_active_leaves_update( gum::warn!(target: LOG_TARGET, hash = ?leaf.hash, ?err, "Missing header for block"); Ok(None) }) else { - return Ok(()) + return Ok(()); }; gum::trace!(target: LOG_TARGET, hash = ?header.parent_hash, "Looking up debug inherent"); @@ -396,8 +396,9 @@ fn note_provisionable_data( provisionable_data: ProvisionableData, ) { match provisionable_data { - ProvisionableData::Bitfield(_, signed_bitfield) => - per_relay_parent.signed_bitfields.push(signed_bitfield), + ProvisionableData::Bitfield(_, signed_bitfield) => { + per_relay_parent.signed_bitfields.push(signed_bitfield) + }, // We choose not to punish these forms of misbehavior for the time being. // Risks from misbehavior are sufficiently mitigated at the protocol level // via reputation changes. Punitive actions here may become desirable @@ -542,7 +543,7 @@ fn select_availability_bitfields( 'a: for bitfield in bitfields.iter().cloned() { if bitfield.payload().0.len() != cores.len() { gum::debug!(target: LOG_TARGET, ?leaf_hash, "dropping bitfield due to length mismatch"); - continue + continue; } let is_better = selected @@ -556,7 +557,7 @@ fn select_availability_bitfields( ?leaf_hash, "dropping bitfield due to duplication - the better one is kept" ); - continue + continue; } for (idx, _) in cores.iter().enumerate().filter(|v| !v.1.is_occupied()) { @@ -568,7 +569,7 @@ fn select_availability_bitfields( ?leaf_hash, "dropping invalid bitfield - bit is set for an unoccupied core" ); - continue 'a + continue 'a; } } @@ -667,7 +668,7 @@ async fn request_backable_candidates( ?para_id, "No backable candidate returned by prospective parachains", ); - continue + continue; } selected_candidates.insert(para_id, response); @@ -717,7 +718,7 @@ async fn select_candidates( for candidate in para_candidates { if candidate.candidate().commitments.new_validation_code.is_some() { if with_validation_code { - break + break; } else { with_validation_code = true; } @@ -792,7 +793,7 @@ fn bitfields_indicate_availability( availability_len, ); - return false + return false; }, Some(mut bit_mut) => *bit_mut |= bitfield.payload().0[core_idx], } diff --git a/polkadot/node/core/provisioner/src/metrics.rs b/polkadot/node/core/provisioner/src/metrics.rs index e386fbbfba28b..f80100fcf3046 100644 --- a/polkadot/node/core/provisioner/src/metrics.rs +++ b/polkadot/node/core/provisioner/src/metrics.rs @@ -212,7 +212,7 @@ impl metrics::Metrics for Metrics { prometheus::HistogramOpts::new( "polkadot_parachain_provisioner_inherent_data_response_bitfields_sent", "Number of inherent bitfields sent in response to `ProvisionerMessage::RequestInherentData`.", - ).buckets(vec![0.0, 25.0, 50.0, 100.0, 150.0, 200.0, 250.0, 300.0, 400.0, 500.0, 600.0]), + ).buckets(vec![0.0, 25.0, 50.0, 100.0, 150.0, 200.0, 250.0, 300.0, 400.0, 500.0, 600.0, 700.0, 800.0, 900.0, 1000.0]), )?, registry, )?, diff --git a/polkadot/node/core/provisioner/src/tests.rs b/polkadot/node/core/provisioner/src/tests.rs index b965d3346d87d..6a476f28810be 100644 --- a/polkadot/node/core/provisioner/src/tests.rs +++ b/polkadot/node/core/provisioner/src/tests.rs @@ -572,8 +572,9 @@ mod select_candidates { _parent_hash, PersistedValidationDataReq(_para_id, _assumption, tx), )) => tx.send(Ok(Some(Default::default()))).unwrap(), - AllMessages::RuntimeApi(Request(_parent_hash, AvailabilityCores(tx))) => - tx.send(Ok(mock_availability_cores.clone())).unwrap(), + AllMessages::RuntimeApi(Request(_parent_hash, AvailabilityCores(tx))) => { + tx.send(Ok(mock_availability_cores.clone())).unwrap() + }, AllMessages::CandidateBacking(CandidateBackingMessage::GetBackableCandidates( hashes, sender, diff --git a/polkadot/node/core/pvf-checker/src/lib.rs b/polkadot/node/core/pvf-checker/src/lib.rs index c00ec0d952f15..84038f52c645b 100644 --- a/polkadot/node/core/pvf-checker/src/lib.rs +++ b/polkadot/node/core/pvf-checker/src/lib.rs @@ -208,7 +208,7 @@ async fn handle_pvf_check( ?validation_code_hash, "received judgement for an unknown (or removed) PVF hash", ); - return + return; }, } @@ -276,7 +276,7 @@ async fn handle_leaves_update( { None => { // None indicates that the pre-checking runtime API is not supported. - return + return; }, Some(e) => e, }; @@ -380,14 +380,15 @@ async fn examine_activation( }; let new_session_index = match runtime_api::session_index_for_child(sender, leaf_hash).await { - Ok(session_index) => + Ok(session_index) => { if state.latest_session.map_or(true, |l| l < session_index) { let signing_credentials = check_signing_credentials(sender, keystore, leaf_hash).await; Some((session_index, signing_credentials)) } else { None - }, + } + }, Err(e) => { gum::warn!( target: LOG_TARGET, @@ -418,7 +419,7 @@ async fn check_signing_credentials( "error occurred during requesting validators: {:?}", e ); - return None + return None; }, }; @@ -459,7 +460,7 @@ async fn sign_and_submit_pvf_check_statement( "already voted for this validation code", ); metrics.on_vote_duplicate(); - return + return; } voted.insert(validation_code_hash); @@ -484,7 +485,7 @@ async fn sign_and_submit_pvf_check_statement( ?validation_code_hash, "private key for signing is not available", ); - return + return; }, Err(e) => { gum::warn!( @@ -495,7 +496,7 @@ async fn sign_and_submit_pvf_check_statement( "error signing the statement: {:?}", e, ); - return + return; }, }; diff --git a/polkadot/node/core/pvf/common/src/executor_interface.rs b/polkadot/node/core/pvf/common/src/executor_interface.rs index f2e98f79a2276..e2a5336680a7b 100644 --- a/polkadot/node/core/pvf/common/src/executor_interface.rs +++ b/polkadot/node/core/pvf/common/src/executor_interface.rs @@ -160,16 +160,17 @@ pub fn params_to_wasmtime_semantics(par: &ExecutorParams) -> (Semantics, Determi for p in par.iter() { match p { - ExecutorParam::MaxMemoryPages(max_pages) => + ExecutorParam::MaxMemoryPages(max_pages) => { sem.heap_alloc_strategy = HeapAllocStrategy::Dynamic { maximum_pages: Some((*max_pages).saturating_add(DEFAULT_HEAP_PAGES_ESTIMATE)), - }, + } + }, ExecutorParam::StackLogicalMax(slm) => stack_limit.logical_max = *slm, ExecutorParam::StackNativeMax(snm) => stack_limit.native_stack_max = *snm, ExecutorParam::WasmExtBulkMemory => sem.wasm_bulk_memory = true, ExecutorParam::PrecheckingMaxMemory(_) | ExecutorParam::PvfPrepTimeout(_, _) | - ExecutorParam::PvfExecTimeout(_, _) => (), /* Not used here */ + ExecutorParam::PvfExecTimeout(_, _) => (), // Not used here } } sem.deterministic_stack_limit = Some(stack_limit.clone()); diff --git a/polkadot/node/core/pvf/common/src/worker/mod.rs b/polkadot/node/core/pvf/common/src/worker/mod.rs index 70dcf055a2628..fc896aca71321 100644 --- a/polkadot/node/core/pvf/common/src/worker/mod.rs +++ b/polkadot/node/core/pvf/common/src/worker/mod.rs @@ -64,22 +64,22 @@ macro_rules! decl_worker_main { let args = std::env::args().collect::>(); if args.len() == 1 { print_help($expected_command); - return + return; } match args[1].as_ref() { "--help" | "-h" => { print_help($expected_command); - return + return; }, "--version" | "-v" => { println!("{}", $worker_version); - return + return; }, // Useful for debugging. --version is used for version checks. "--full-version" => { println!("{}", get_full_version()); - return + return; }, "--check-can-enable-landlock" => { @@ -143,7 +143,7 @@ macro_rules! decl_worker_main { "test-sleep" => { std::thread::sleep(std::time::Duration::from_secs(5)); - return + return; }, subcommand => { @@ -192,14 +192,14 @@ macro_rules! decl_worker_main { }; } -//taken from the os_pipe crate. Copied here to reduce one dependency and +// taken from the os_pipe crate. Copied here to reduce one dependency and // because its type-safe abstractions do not play well with nix's clone #[cfg(not(target_os = "macos"))] pub fn pipe2_cloexec() -> io::Result<(libc::c_int, libc::c_int)> { let mut fds: [libc::c_int; 2] = [0; 2]; let res = unsafe { libc::pipe2(fds.as_mut_ptr(), libc::O_CLOEXEC) }; if res != 0 { - return Err(io::Error::last_os_error()) + return Err(io::Error::last_os_error()); } Ok((fds[0], fds[1])) } @@ -209,15 +209,15 @@ pub fn pipe2_cloexec() -> io::Result<(libc::c_int, libc::c_int)> { let mut fds: [libc::c_int; 2] = [0; 2]; let res = unsafe { libc::pipe(fds.as_mut_ptr()) }; if res != 0 { - return Err(io::Error::last_os_error()) + return Err(io::Error::last_os_error()); } let res = unsafe { libc::fcntl(fds[0], libc::F_SETFD, libc::FD_CLOEXEC) }; if res != 0 { - return Err(io::Error::last_os_error()) + return Err(io::Error::last_os_error()); } let res = unsafe { libc::fcntl(fds[1], libc::F_SETFD, libc::FD_CLOEXEC) }; if res != 0 { - return Err(io::Error::last_os_error()) + return Err(io::Error::last_os_error()); } Ok((fds[0], fds[1])) } @@ -350,8 +350,9 @@ pub fn run_worker( let entries: io::Result> = std::fs::read_dir(&worker_info.worker_dir_path) .and_then(|d| d.map(|res| res.map(|e| e.file_name())).collect()); match entries { - Ok(entries) => - gum::trace!(target: LOG_TARGET, ?worker_info, "content of worker dir: {:?}", entries), + Ok(entries) => { + gum::trace!(target: LOG_TARGET, ?worker_info, "content of worker dir: {:?}", entries) + }, Err(err) => { let err = format!("Could not read worker dir: {}", err.to_string()); worker_shutdown_error(worker_info, &err); @@ -502,7 +503,7 @@ pub fn cpu_time_monitor_loop( } } - return Some(cpu_time_elapsed) + return Some(cpu_time_elapsed); } } @@ -564,7 +565,7 @@ pub fn get_total_cpu_usage(rusage: Usage) -> Duration { let micros = (((rusage.user_time().tv_sec() + rusage.system_time().tv_sec()) * 1_000_000) + (rusage.system_time().tv_usec() + rusage.user_time().tv_usec()) as i64) as u64; - return Duration::from_micros(micros) + return Duration::from_micros(micros); } /// Get a job response. @@ -721,7 +722,7 @@ pub mod thread { let mut flag = lock.lock().unwrap(); if !flag.is_pending() { // Someone else already triggered the condvar. - return + return; } *flag = outcome; cvar.notify_all(); diff --git a/polkadot/node/core/pvf/common/src/worker/security/change_root.rs b/polkadot/node/core/pvf/common/src/worker/security/change_root.rs index fcfaf6541c291..ef841738b782e 100644 --- a/polkadot/node/core/pvf/common/src/worker/security/change_root.rs +++ b/polkadot/node/core/pvf/common/src/worker/security/change_root.rs @@ -92,7 +92,7 @@ fn try_restrict(worker_info: &WorkerInfo) -> Result<()> { unsafe { // 1. `unshare` the user and the mount namespaces. if libc::unshare(libc::CLONE_NEWUSER | libc::CLONE_NEWNS) < 0 { - return Err("unshare user and mount namespaces") + return Err("unshare user and mount namespaces"); } // 2. Setup mounts. @@ -108,7 +108,7 @@ fn try_restrict(worker_info: &WorkerInfo) -> Result<()> { ptr::null(), ) < 0 { - return Err("mount MS_PRIVATE") + return Err("mount MS_PRIVATE"); } // Ensure that the new root is a mount point. let additional_flags = @@ -129,18 +129,18 @@ fn try_restrict(worker_info: &WorkerInfo) -> Result<()> { ptr::null(), // ignored when MS_BIND is used ) < 0 { - return Err("mount MS_BIND") + return Err("mount MS_BIND"); } // 3. `pivot_root` to the artifact directory. if libc::chdir(worker_dir_path_c.as_ptr()) < 0 { - return Err("chdir to worker dir path") + return Err("chdir to worker dir path"); } if libc::syscall(libc::SYS_pivot_root, cstr_ptr!("."), cstr_ptr!(".")) < 0 { - return Err("pivot_root") + return Err("pivot_root"); } if libc::umount2(cstr_ptr!("."), libc::MNT_DETACH) < 0 { - return Err("umount the old root mount point") + return Err("umount the old root mount point"); } } @@ -153,13 +153,15 @@ fn try_restrict(worker_info: &WorkerInfo) -> Result<()> { // Do some assertions. if env::current_dir()? != Path::new("/") { - return Err(Error::AssertionFailed("expected current dir after pivot_root to be `/`".into())) + return Err(Error::AssertionFailed( + "expected current dir after pivot_root to be `/`".into(), + )); } env::set_current_dir("..")?; if env::current_dir()? != Path::new("/") { return Err(Error::AssertionFailed( "expected not to be able to break out of new root by doing `..`".into(), - )) + )); } Ok(()) diff --git a/polkadot/node/core/pvf/common/src/worker/security/landlock.rs b/polkadot/node/core/pvf/common/src/worker/security/landlock.rs index 10d00a0e2c66c..054f8e27d1907 100644 --- a/polkadot/node/core/pvf/common/src/worker/security/landlock.rs +++ b/polkadot/node/core/pvf/common/src/worker/security/landlock.rs @@ -95,8 +95,9 @@ pub fn enable_for_worker(worker_info: &WorkerInfo) -> Result<()> { WorkerKind::Execute => { vec![(worker_info.worker_dir_path.to_owned(), AccessFs::ReadFile.into())] }, - WorkerKind::CheckPivotRoot => - panic!("this should only be passed for checking pivot_root; qed"), + WorkerKind::CheckPivotRoot => { + panic!("this should only be passed for checking pivot_root; qed") + }, }; gum::trace!( @@ -144,14 +145,14 @@ where let mut rules = path_beneath_rules(paths, access_bits).peekable(); if rules.peek().is_none() { // `path_beneath_rules` silently ignores missing paths, so check for it manually. - return Err(Error::InvalidExceptionPath(fs_path.as_ref().to_owned())) + return Err(Error::InvalidExceptionPath(fs_path.as_ref().to_owned())); } ruleset = ruleset.add_rules(rules)?; } let status = ruleset.restrict_self()?; if !matches!(status.ruleset, RulesetStatus::FullyEnforced) { - return Err(Error::NotFullyEnabled(status.ruleset)) + return Err(Error::NotFullyEnabled(status.ruleset)); } Ok(()) @@ -166,7 +167,7 @@ mod tests { fn restricted_thread_cannot_read_file() { // TODO: This would be nice: . if check_can_fully_enable().is_err() { - return + return; } // Restricted thread cannot read from FS. @@ -231,7 +232,7 @@ mod tests { fn restricted_thread_cannot_write_file() { // TODO: This would be nice: . if check_can_fully_enable().is_err() { - return + return; } // Restricted thread cannot write to FS. @@ -290,7 +291,7 @@ mod tests { fn restricted_thread_can_truncate_file() { // TODO: This would be nice: . if check_can_fully_enable().is_err() { - return + return; } // Restricted thread can truncate file. diff --git a/polkadot/node/core/pvf/common/src/worker/security/mod.rs b/polkadot/node/core/pvf/common/src/worker/security/mod.rs index 72d47235d47a4..16e2634dc3389 100644 --- a/polkadot/node/core/pvf/common/src/worker/security/mod.rs +++ b/polkadot/node/core/pvf/common/src/worker/security/mod.rs @@ -54,12 +54,12 @@ pub fn check_env_vars_were_cleared(worker_info: &WorkerInfo) -> bool { // randomness for malicious code. It should be removed in the job process, which does no // logging. if key == "RUST_LOG" { - continue + continue; } // An exception for MacOS. This is not a secure platform anyway, so we let it slide. #[cfg(target_os = "macos")] if key == "__CF_USER_TEXT_ENCODING" { - continue + continue; } gum::error!( diff --git a/polkadot/node/core/pvf/common/src/worker/security/seccomp.rs b/polkadot/node/core/pvf/common/src/worker/security/seccomp.rs index f6100d236c8bd..780f845fe9817 100644 --- a/polkadot/node/core/pvf/common/src/worker/security/seccomp.rs +++ b/polkadot/node/core/pvf/common/src/worker/security/seccomp.rs @@ -162,7 +162,7 @@ mod tests { fn sandboxed_thread_cannot_use_sockets() { // TODO: This would be nice: . if check_can_fully_enable().is_err() { - return + return; } let handle = thread::spawn(|| { diff --git a/polkadot/node/core/pvf/execute-worker/Cargo.toml b/polkadot/node/core/pvf/execute-worker/Cargo.toml index 4df425dfd199b..726cde3243449 100644 --- a/polkadot/node/core/pvf/execute-worker/Cargo.toml +++ b/polkadot/node/core/pvf/execute-worker/Cargo.toml @@ -11,6 +11,9 @@ repository.workspace = true [lints] workspace = true +[package.metadata.polkadot-sdk] +exclude-from-umbrella = true + [dependencies] cfg-if = { workspace = true } cpu-time = { workspace = true } diff --git a/polkadot/node/core/pvf/execute-worker/src/lib.rs b/polkadot/node/core/pvf/execute-worker/src/lib.rs index 9cec00a5a8de8..b4fcbfe90fc83 100644 --- a/polkadot/node/core/pvf/execute-worker/src/lib.rs +++ b/polkadot/node/core/pvf/execute-worker/src/lib.rs @@ -319,18 +319,20 @@ fn validate_using_artifact( // [`executor_interface::prepare`]. execute_artifact(compiled_artifact_blob, executor_params, params) } { - Err(ExecuteError::RuntimeConstruction(wasmerr)) => - return JobResponse::runtime_construction("execute", &wasmerr.to_string()), + Err(ExecuteError::RuntimeConstruction(wasmerr)) => { + return JobResponse::runtime_construction("execute", &wasmerr.to_string()) + }, Err(err) => return JobResponse::format_invalid("execute", &err.to_string()), Ok(d) => d, }; let result_descriptor = match ValidationResult::decode(&mut &descriptor_bytes[..]) { - Err(err) => + Err(err) => { return JobResponse::format_invalid( "validation result decoding failed", &err.to_string(), - ), + ) + }, Ok(r) => r, }; @@ -383,8 +385,9 @@ fn handle_clone( pov_size, execution_timeout, ), - Err(security::clone::Error::Clone(errno)) => - Ok(Err(internal_error_from_errno("clone", errno))), + Err(security::clone::Error::Clone(errno)) => { + Ok(Err(internal_error_from_errno("clone", errno))) + }, } } @@ -508,8 +511,9 @@ fn handle_child_process( )), Err(e) => Err(JobError::CpuTimeMonitorThread(stringify_panic_payload(e))), }, - WaitOutcome::Pending => - unreachable!("we run wait_while until the outcome is no longer pending; qed"), + WaitOutcome::Pending => { + unreachable!("we run wait_while until the outcome is no longer pending; qed") + }, }; send_child_response(&mut pipe_write, response); @@ -616,7 +620,7 @@ fn handle_parent_process( cpu_tv.as_millis(), timeout.as_millis(), ); - return Ok(Err(WorkerError::JobTimedOut)) + return Ok(Err(WorkerError::JobTimedOut)); } match status { diff --git a/polkadot/node/core/pvf/prepare-worker/Cargo.toml b/polkadot/node/core/pvf/prepare-worker/Cargo.toml index cc32086360cd7..a96d20ab35691 100644 --- a/polkadot/node/core/pvf/prepare-worker/Cargo.toml +++ b/polkadot/node/core/pvf/prepare-worker/Cargo.toml @@ -11,6 +11,9 @@ repository.workspace = true [lints] workspace = true +[package.metadata.polkadot-sdk] +exclude-from-umbrella = true + [[bench]] name = "prepare_rococo_runtime" harness = false diff --git a/polkadot/node/core/pvf/prepare-worker/src/lib.rs b/polkadot/node/core/pvf/prepare-worker/src/lib.rs index cfe86200624a8..06016bb3a183a 100644 --- a/polkadot/node/core/pvf/prepare-worker/src/lib.rs +++ b/polkadot/node/core/pvf/prepare-worker/src/lib.rs @@ -231,7 +231,7 @@ pub fn worker_entrypoint( let result: PrepareWorkerResult = Err(error_from_errno("getrusage before", errno)); send_result(&mut stream, result, worker_info)?; - continue + continue; }, }; @@ -607,8 +607,9 @@ fn handle_child_process( Ok(None) => Err(PrepareError::IoErr("error communicating over closed channel".into())), Err(err) => Err(PrepareError::IoErr(stringify_panic_payload(err))), }, - WaitOutcome::Pending => - unreachable!("we run wait_while until the outcome is no longer pending; qed"), + WaitOutcome::Pending => { + unreachable!("we run wait_while until the outcome is no longer pending; qed") + }, }; send_child_response(&mut pipe_write, result); @@ -675,7 +676,7 @@ fn handle_parent_process( cpu_tv.as_millis(), timeout.as_millis(), ); - return Err(PrepareError::TimedOut) + return Err(PrepareError::TimedOut); } match status { @@ -692,7 +693,7 @@ fn handle_parent_process( return Err(PrepareError::JobError(format!( "unexpected exit status: {}", exit_status - ))) + ))); } // Write the serialized artifact into a temp file. @@ -711,7 +712,7 @@ fn handle_parent_process( ); // Write to the temp file created by the host. if let Err(err) = fs::write(temp_artifact_dest, &artifact) { - return Err(PrepareError::IoErr(err.to_string())) + return Err(PrepareError::IoErr(err.to_string())); }; let checksum = compute_checksum(&artifact.as_ref()); diff --git a/polkadot/node/core/pvf/prepare-worker/src/memory_stats.rs b/polkadot/node/core/pvf/prepare-worker/src/memory_stats.rs index 5f577b0901c25..b1cfd8e472c78 100644 --- a/polkadot/node/core/pvf/prepare-worker/src/memory_stats.rs +++ b/polkadot/node/core/pvf/prepare-worker/src/memory_stats.rs @@ -114,7 +114,7 @@ pub mod memory_tracker { match thread::wait_for_threads_with_timeout(&condvar, POLL_INTERVAL) { Some(_outcome) => { update_stats()?; - return Ok(max_stats) + return Ok(max_stats); }, None => continue, } @@ -166,7 +166,7 @@ pub mod max_rss_stat { // SAFETY: `result` is a valid pointer, so calling this is safe. if unsafe { getrusage(RUSAGE_THREAD, result.as_mut_ptr()) } == -1 { - return Err(io::Error::last_os_error()) + return Err(io::Error::last_os_error()); } // SAFETY: `result` was successfully initialized by `getrusage`. diff --git a/polkadot/node/core/pvf/src/artifacts.rs b/polkadot/node/core/pvf/src/artifacts.rs index 3530de0993978..8c4e822499ee2 100644 --- a/polkadot/node/core/pvf/src/artifacts.rs +++ b/polkadot/node/core/pvf/src/artifacts.rs @@ -322,7 +322,7 @@ impl Artifacts { while total_size > cleanup_config.cache_limit { let Some((artifact_id, path, size, last_time_needed)) = artifact_sizes.pop() else { - break + break; }; let used_recently = now diff --git a/polkadot/node/core/pvf/src/execute/queue.rs b/polkadot/node/core/pvf/src/execute/queue.rs index 3464e0d990859..c1a7998661899 100644 --- a/polkadot/node/core/pvf/src/execute/queue.rs +++ b/polkadot/node/core/pvf/src/execute/queue.rs @@ -256,7 +256,7 @@ impl Queue { for (i, job) in queue.iter().enumerate() { if worker_data.executor_params_hash == job.executor_params.hash() { (worker, job_index) = (Some(finished_worker), i); - break + break; } } } @@ -280,7 +280,7 @@ impl Queue { if worker.is_none() && !self.workers.can_afford_one_more() { // Bad luck, no worker slot can be used to execute the job - return + return; } let job = queue.remove(job_index).expect("Job is just checked to be in queue; qed"); @@ -336,7 +336,7 @@ impl Queue { for &index in to_remove.iter().rev() { if index > queue.len() { - continue + continue; } let Some(job) = queue.remove(index) else { continue }; @@ -525,13 +525,15 @@ async fn handle_job_finish( }, Err(WorkerInterfaceError::InternalError(err)) | - Err(WorkerInterfaceError::WorkerError(WorkerError::InternalError(err))) => - (None, Err(ValidationError::Internal(err)), None, None, None), + Err(WorkerInterfaceError::WorkerError(WorkerError::InternalError(err))) => { + (None, Err(ValidationError::Internal(err)), None, None, None) + }, // Either the worker or the job timed out. Kill the worker in either case. Treated as // definitely-invalid, because if we timed out, there's no time left for a retry. Err(WorkerInterfaceError::HardTimeout) | - Err(WorkerInterfaceError::WorkerError(WorkerError::JobTimedOut)) => - (None, Err(ValidationError::Invalid(InvalidCandidate::HardTimeout)), None, None, None), + Err(WorkerInterfaceError::WorkerError(WorkerError::JobTimedOut)) => { + (None, Err(ValidationError::Invalid(InvalidCandidate::HardTimeout)), None, None, None) + }, // "Maybe invalid" errors (will retry). Err(WorkerInterfaceError::CommunicationErr(_err)) => ( None, @@ -600,7 +602,7 @@ async fn handle_job_finish( if let Some(idle_worker) = idle_worker { if let Some(data) = queue.workers.running.get_mut(worker) { data.idle = Some(idle_worker); - return queue.try_assign_next_job(Some(worker)) + return queue.try_assign_next_job(Some(worker)); } } else { // Note it's possible that the worker was purged already by `purge_dead` @@ -869,7 +871,7 @@ impl Unscheduled { .filter_map(|(p, c)| if *p >= *priority { Some(c) } else { None }) .sum(); if total_scheduled_at_priority_or_lower == 0 { - return false + return false; } let has_reached_threshold = count * 100 / total_scheduled_at_priority_or_lower >= threshold; diff --git a/polkadot/node/core/pvf/src/execute/worker_interface.rs b/polkadot/node/core/pvf/src/execute/worker_interface.rs index 6be6c24e5e77a..715e981c402e4 100644 --- a/polkadot/node/core/pvf/src/execute/worker_interface.rs +++ b/polkadot/node/core/pvf/src/execute/worker_interface.rs @@ -224,7 +224,7 @@ async fn handle_result( ); // Return a timeout error. - return Err(WorkerError::JobTimedOut) + return Err(WorkerError::JobTimedOut); } } @@ -277,7 +277,7 @@ where err: format!("{:?}", err), path: worker_dir_path.to_str().map(String::from), } - .into()) + .into()); } result diff --git a/polkadot/node/core/pvf/src/host.rs b/polkadot/node/core/pvf/src/host.rs index 1ab060c69e43b..3dfee70f50c89 100644 --- a/polkadot/node/core/pvf/src/host.rs +++ b/polkadot/node/core/pvf/src/host.rs @@ -533,10 +533,12 @@ async fn handle_to_host( handle_execute_pvf(artifacts, prepare_queue, execute_queue, awaiting_prepare, inputs) .await?; }, - ToHost::HeadsUp { active_pvfs } => - handle_heads_up(artifacts, prepare_queue, active_pvfs).await?, - ToHost::UpdateActiveLeaves { update, ancestors } => - handle_update_active_leaves(execute_queue, update, ancestors).await?, + ToHost::HeadsUp { active_pvfs } => { + handle_heads_up(artifacts, prepare_queue, active_pvfs).await? + }, + ToHost::UpdateActiveLeaves { update, ancestors } => { + handle_update_active_leaves(execute_queue, update, ancestors).await? + }, #[cfg(feature = "test-utils")] ToHost::ReplaceArtifactChecksum { checksum, new_checksum } => { artifacts.replace_artifact_checksum(checksum, new_checksum); @@ -567,8 +569,9 @@ async fn handle_precheck_pvf( *last_time_needed = SystemTime::now(); let _ = result_sender.send(Ok(())); }, - ArtifactState::Preparing { waiting_for_response, num_failures: _ } => - waiting_for_response.push(result_sender), + ArtifactState::Preparing { waiting_for_response, num_failures: _ } => { + waiting_for_response.push(result_sender) + }, ArtifactState::FailedToProcess { error, .. } => { // Do not retry an artifact that previously failed preparation. let _ = result_sender.send(PrecheckResult::Err(error.clone())); @@ -816,7 +819,7 @@ async fn handle_prepare_done( // thus the artifact cannot be unknown, only preparing; // qed. never!("an unknown artifact was prepared: {:?}", artifact_id); - return Ok(()) + return Ok(()); }, Some(ArtifactState::Prepared { .. }) => { // before sending request to prepare, the artifact is inserted with `preparing` state; @@ -825,13 +828,13 @@ async fn handle_prepare_done( // thus the artifact cannot be prepared, only preparing; // qed. never!("the artifact is already prepared: {:?}", artifact_id); - return Ok(()) + return Ok(()); }, Some(ArtifactState::FailedToProcess { .. }) => { // The reasoning is similar to the above, the artifact cannot be // processed at this point. never!("the artifact is already processed unsuccessfully: {:?}", artifact_id); - return Ok(()) + return Ok(()); }, Some(state @ ArtifactState::Preparing { .. }) => state, }; @@ -846,7 +849,7 @@ async fn handle_prepare_done( num_failures } else { never!("The reasoning is similar to the above, the artifact can only be preparing at this point; qed"); - return Ok(()) + return Ok(()); }; // It's finally time to dispatch all the execution requests that were waiting for this artifact @@ -858,14 +861,14 @@ async fn handle_prepare_done( if result_tx.is_canceled() { // Preparation could've taken quite a bit of time and the requester may be not // interested in execution anymore, in which case we just skip the request. - continue + continue; } let (path, checksum) = match &result { Ok(success) => (success.path.clone(), success.checksum), Err(error) => { let _ = result_tx.send(Err(ValidationError::from(error.clone()))); - continue + continue; }, }; @@ -887,8 +890,9 @@ async fn handle_prepare_done( } *state = match result { - Ok(PrepareSuccess { checksum, path, size, .. }) => - ArtifactState::Prepared { checksum, path, last_time_needed: SystemTime::now(), size }, + Ok(PrepareSuccess { checksum, path, size, .. }) => { + ArtifactState::Prepared { checksum, path, last_time_needed: SystemTime::now(), size } + }, Err(error) => { let last_time_failed = SystemTime::now(); let num_failures = *num_failures + 1; @@ -1028,7 +1032,7 @@ fn can_retry_prepare_after_failure( ) -> bool { if error.is_deterministic() { // This error is considered deterministic, so it will probably be reproducible. Don't retry. - return false + return false; } // Retry if the retry cooldown has elapsed and if we have already retried less than @@ -1241,7 +1245,7 @@ pub(crate) mod tests { } if let Poll::Ready(r) = futures::poll!(&mut *fut) { - break r + break r; } if futures::poll!(&mut *task).is_ready() { diff --git a/polkadot/node/core/pvf/src/prepare/pool.rs b/polkadot/node/core/pvf/src/prepare/pool.rs index 67cd71812e523..ce930d5172fd4 100644 --- a/polkadot/node/core/pvf/src/prepare/pool.rs +++ b/polkadot/node/core/pvf/src/prepare/pool.rs @@ -190,7 +190,7 @@ async fn purge_dead( // The idle token is missing, meaning this worker is now occupied: skip it. This is // because the worker process is observed by the work task and should it reach the // deadline or be terminated it will be handled by the corresponding mux event. - continue + continue; } if let Poll::Ready(()) = futures::poll!(&mut data.handle) { @@ -330,8 +330,9 @@ fn handle_mux( // If we receive an outcome that the worker is unreachable or that an error occurred on // the worker, we attempt to kill the worker process. match outcome { - Outcome::Concluded { worker: idle, result } => - handle_concluded_no_rip(from_pool, spawned, worker, idle, result), + Outcome::Concluded { worker: idle, result } => { + handle_concluded_no_rip(from_pool, spawned, worker, idle, result) + }, // Return `Concluded`, but do not kill the worker since the error was on the host // side. Outcome::CreateTmpFileErr { worker: idle, err } => handle_concluded_no_rip( @@ -473,7 +474,7 @@ fn handle_concluded_no_rip( None => { // Perhaps the worker was killed meanwhile and the result is no longer relevant. We // already send `Rip` when purging if we detect that the worker is dead. - return Ok(()) + return Ok(()); }, Some(data) => data, }; diff --git a/polkadot/node/core/pvf/src/prepare/queue.rs b/polkadot/node/core/pvf/src/prepare/queue.rs index c7bfa2f3b21ba..6b798944883c7 100644 --- a/polkadot/node/core/pvf/src/prepare/queue.rs +++ b/polkadot/node/core/pvf/src/prepare/queue.rs @@ -191,7 +191,7 @@ impl Queue { macro_rules! break_if_fatal { ($expr:expr) => { if let Err(Fatal) = $expr { - break + break; } }; } @@ -245,7 +245,7 @@ async fn handle_enqueue( "duplicate `enqueue` command received for {:?}", artifact_id, ); - return Ok(()) + return Ok(()); } let job = queue.jobs.insert(JobData { priority, pvf, worker: None }); @@ -271,8 +271,9 @@ async fn handle_from_pool(queue: &mut Queue, from_pool: pool::FromPool) -> Resul use pool::FromPool; match from_pool { FromPool::Spawned(worker) => handle_worker_spawned(queue, worker).await?, - FromPool::Concluded { worker, rip, result } => - handle_worker_concluded(queue, worker, rip, result).await?, + FromPool::Concluded { worker, rip, result } => { + handle_worker_concluded(queue, worker, rip, result).await? + }, FromPool::Rip(worker) => handle_worker_rip(queue, worker).await?, } Ok(()) @@ -306,7 +307,7 @@ async fn handle_worker_concluded( // Assume the conditions holds, then this never is not hit; // qed. never!("never_none, {}", stringify!($expr)); - return Ok(()) + return Ok(()); }, } }; @@ -514,7 +515,7 @@ mod tests { } if let Poll::Ready(r) = futures::poll!(&mut *fut) { - break r + break r; } if futures::poll!(&mut *task).is_ready() { diff --git a/polkadot/node/core/pvf/src/prepare/worker_interface.rs b/polkadot/node/core/pvf/src/prepare/worker_interface.rs index 04044ab677c3e..455c3b3ac244b 100644 --- a/polkadot/node/core/pvf/src/prepare/worker_interface.rs +++ b/polkadot/node/core/pvf/src/prepare/worker_interface.rs @@ -140,7 +140,7 @@ pub async fn start_work( "failed to send a prepare request: {:?}", err, ); - return Outcome::Unreachable + return Outcome::Unreachable; } // Wait for the result from the worker, keeping in mind that there may be a timeout, the @@ -157,7 +157,7 @@ pub async fn start_work( match result { // Received bytes from worker within the time limit. - Ok(Ok(prepare_worker_result)) => + Ok(Ok(prepare_worker_result)) => { handle_response( metrics, IdleWorker { stream, pid, worker_dir }, @@ -167,7 +167,8 @@ pub async fn start_work( &cache_path, preparation_timeout, ) - .await, + .await + }, Ok(Err(err)) => { // Communication error within the time limit. gum::warn!( @@ -232,7 +233,7 @@ async fn handle_response( preparation_timeout.as_millis(), tmp_file.display(), ); - return Outcome::TimedOut + return Outcome::TimedOut; } let size = match tokio::fs::metadata(cache_path).await { @@ -244,7 +245,7 @@ async fn handle_response( "failed to read size of the artifact: {}", err, ); - return Outcome::IoErr(err.to_string()) + return Outcome::IoErr(err.to_string()); }, }; @@ -330,7 +331,7 @@ where return Outcome::CreateTmpFileErr { worker: IdleWorker { stream, pid, worker_dir }, err: format!("{:?}", err), - } + }; }; let worker_dir_path = worker_dir.path().to_owned(); @@ -345,7 +346,7 @@ where "failed to clear worker cache after the job: {:?}", err, ); - return Outcome::ClearWorkerDir { err: format!("{:?}", err) } + return Outcome::ClearWorkerDir { err: format!("{:?}", err) }; } outcome diff --git a/polkadot/node/core/pvf/src/security.rs b/polkadot/node/core/pvf/src/security.rs index 733ef18bcadb4..f52339e4b4a4b 100644 --- a/polkadot/node/core/pvf/src/security.rs +++ b/polkadot/node/core/pvf/src/security.rs @@ -51,7 +51,7 @@ pub async fn check_security_status(config: &Config) -> Result - security_status.can_unshare_user_namespace_and_change_root, + CannotEnableLandlock { .. } => { + security_status.can_unshare_user_namespace_and_change_root + }, // seccomp should be present on all modern Linuxes unless it's been disabled. CannotEnableSeccomp(_) => false, // Should always be present on modern Linuxes. If not, Landlock also provides FS diff --git a/polkadot/node/core/pvf/src/worker_interface.rs b/polkadot/node/core/pvf/src/worker_interface.rs index f279fbb535440..c91221b1d17ef 100644 --- a/polkadot/node/core/pvf/src/worker_interface.rs +++ b/polkadot/node/core/pvf/src/worker_interface.rs @@ -150,7 +150,7 @@ where for _ in 0..NUM_RETRIES { let tmp_path = make_tmppath(prefix, &dir); if !tmp_path.exists() { - return Ok(tmp_path) + return Ok(tmp_path); } } diff --git a/polkadot/node/core/pvf/tests/it/process.rs b/polkadot/node/core/pvf/tests/it/process.rs index 29326365b5baa..50fceb77fc3b8 100644 --- a/polkadot/node/core/pvf/tests/it/process.rs +++ b/polkadot/node/core/pvf/tests/it/process.rs @@ -82,13 +82,13 @@ fn find_process_by_sid_and_name( }; if stat.session != sid || !process.exe().unwrap().to_str().unwrap().contains(exe_name) { - continue + continue; } // The workers are direct children of the current process, the worker job processes are not // (they are children of the workers). let process_is_direct_child = stat.ppid as u32 == std::process::id(); if is_direct_child != process_is_direct_child { - continue + continue; } if found.is_some() { diff --git a/polkadot/node/core/runtime-api/src/cache.rs b/polkadot/node/core/runtime-api/src/cache.rs index 9c09ea3f22a9e..30463e01a4659 100644 --- a/polkadot/node/core/runtime-api/src/cache.rs +++ b/polkadot/node/core/runtime-api/src/cache.rs @@ -47,7 +47,7 @@ pub(crate) struct RequestResultCache { check_validation_outputs: LruMap<(Hash, ParaId, CandidateCommitments), bool>, session_index_for_child: LruMap, validation_code: LruMap<(Hash, ParaId, OccupiedCoreAssumption), Option>, - validation_code_by_hash: LruMap>, + validation_code_by_hash: LruMap, candidate_pending_availability: LruMap<(Hash, ParaId), Option>, candidates_pending_availability: LruMap<(Hash, ParaId), Vec>, candidate_events: LruMap>, @@ -244,12 +244,15 @@ impl RequestResultCache { self.validation_code.insert(key, value); } - // the actual key is `ValidationCodeHash` (`Hash` is ignored), - // but we keep the interface that way to keep the macro simple + // The actual key is `ValidationCodeHash` (`Hash` is ignored). + // Only `Some` values are cached: validation code may not exist at query time but + // could be added later (e.g. via `force_set_current_code`). Caching `None` would + // produce stale results that prevent approval voting from fetching code that is + // already on-chain, stalling finality. pub(crate) fn validation_code_by_hash( &mut self, key: (Hash, ValidationCodeHash), - ) -> Option<&Option> { + ) -> Option<&ValidationCode> { self.validation_code_by_hash.get(&key.1).map(|v| &*v) } @@ -258,7 +261,9 @@ impl RequestResultCache { key: ValidationCodeHash, value: Option, ) { - self.validation_code_by_hash.insert(key, value); + if let Some(code) = value { + self.validation_code_by_hash.insert(key, code); + } } pub(crate) fn candidate_pending_availability( @@ -683,3 +688,25 @@ pub(crate) enum RequestResult { ParaIds(SessionIndex, Vec), UnappliedSlashesV2(Hash, Vec<(SessionIndex, CandidateHash, slashing::PendingSlashes)>), } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn validation_code_by_hash_does_not_cache_none() { + let mut cache = RequestResultCache::default(); + let relay_parent: Hash = [1u8; 32].into(); + let code = ValidationCode(vec![1, 2, 3]); + let code_hash = code.hash(); + + cache.cache_validation_code_by_hash(code_hash, None); + assert!( + cache.validation_code_by_hash((relay_parent, code_hash)).is_none(), + "None results must not be cached", + ); + + cache.cache_validation_code_by_hash(code_hash, Some(code.clone())); + assert_eq!(cache.validation_code_by_hash((relay_parent, code_hash)), Some(&code),); + } +} diff --git a/polkadot/node/core/runtime-api/src/lib.rs b/polkadot/node/core/runtime-api/src/lib.rs index 5b7be703ae6b8..e12dbf646a35f 100644 --- a/polkadot/node/core/runtime-api/src/lib.rs +++ b/polkadot/node/core/runtime-api/src/lib.rs @@ -97,17 +97,21 @@ where use RequestResult::*; match result { - Authorities(relay_parent, authorities) => - self.requests_cache.cache_authorities(relay_parent, authorities), - Validators(relay_parent, validators) => - self.requests_cache.cache_validators(relay_parent, validators), + Authorities(relay_parent, authorities) => { + self.requests_cache.cache_authorities(relay_parent, authorities) + }, + Validators(relay_parent, validators) => { + self.requests_cache.cache_validators(relay_parent, validators) + }, MinimumBackingVotes(session_index, minimum_backing_votes) => self .requests_cache .cache_minimum_backing_votes(session_index, minimum_backing_votes), - ValidatorGroups(relay_parent, groups) => - self.requests_cache.cache_validator_groups(relay_parent, groups), - AvailabilityCores(relay_parent, cores) => - self.requests_cache.cache_availability_cores(relay_parent, cores), + ValidatorGroups(relay_parent, groups) => { + self.requests_cache.cache_validator_groups(relay_parent, groups) + }, + AvailabilityCores(relay_parent, cores) => { + self.requests_cache.cache_availability_cores(relay_parent, cores) + }, PersistedValidationData(relay_parent, para_id, assumption, data) => self .requests_cache .cache_persisted_validation_data((relay_parent, para_id, assumption), data), @@ -123,66 +127,82 @@ where CheckValidationOutputs(relay_parent, para_id, commitments, b) => self .requests_cache .cache_check_validation_outputs((relay_parent, para_id, commitments), b), - SessionIndexForChild(relay_parent, session_index) => - self.requests_cache.cache_session_index_for_child(relay_parent, session_index), + SessionIndexForChild(relay_parent, session_index) => { + self.requests_cache.cache_session_index_for_child(relay_parent, session_index) + }, ValidationCode(relay_parent, para_id, assumption, code) => self .requests_cache .cache_validation_code((relay_parent, para_id, assumption), code), - ValidationCodeByHash(_relay_parent, validation_code_hash, code) => - self.requests_cache.cache_validation_code_by_hash(validation_code_hash, code), + ValidationCodeByHash(_relay_parent, validation_code_hash, code) => { + self.requests_cache.cache_validation_code_by_hash(validation_code_hash, code) + }, CandidatePendingAvailability(relay_parent, para_id, candidate) => self .requests_cache .cache_candidate_pending_availability((relay_parent, para_id), candidate), CandidatesPendingAvailability(relay_parent, para_id, candidates) => self .requests_cache .cache_candidates_pending_availability((relay_parent, para_id), candidates), - CandidateEvents(relay_parent, events) => - self.requests_cache.cache_candidate_events(relay_parent, events), - SessionExecutorParams(_relay_parent, session_index, index) => - self.requests_cache.cache_session_executor_params(session_index, index), - SessionInfo(_relay_parent, session_index, info) => + CandidateEvents(relay_parent, events) => { + self.requests_cache.cache_candidate_events(relay_parent, events) + }, + SessionExecutorParams(_relay_parent, session_index, index) => { + self.requests_cache.cache_session_executor_params(session_index, index) + }, + SessionInfo(_relay_parent, session_index, info) => { if let Some(info) = info { self.requests_cache.cache_session_info(session_index, info); - }, - DmqContents(relay_parent, para_id, messages) => - self.requests_cache.cache_dmq_contents((relay_parent, para_id), messages), + } + }, + DmqContents(relay_parent, para_id, messages) => { + self.requests_cache.cache_dmq_contents((relay_parent, para_id), messages) + }, InboundHrmpChannelsContents(relay_parent, para_id, contents) => self .requests_cache .cache_inbound_hrmp_channel_contents((relay_parent, para_id), contents), - CurrentBabeEpoch(relay_parent, epoch) => - self.requests_cache.cache_current_babe_epoch(relay_parent, epoch), - FetchOnChainVotes(relay_parent, scraped) => - self.requests_cache.cache_on_chain_votes(relay_parent, scraped), - PvfsRequirePrecheck(relay_parent, pvfs) => - self.requests_cache.cache_pvfs_require_precheck(relay_parent, pvfs), + CurrentBabeEpoch(relay_parent, epoch) => { + self.requests_cache.cache_current_babe_epoch(relay_parent, epoch) + }, + FetchOnChainVotes(relay_parent, scraped) => { + self.requests_cache.cache_on_chain_votes(relay_parent, scraped) + }, + PvfsRequirePrecheck(relay_parent, pvfs) => { + self.requests_cache.cache_pvfs_require_precheck(relay_parent, pvfs) + }, SubmitPvfCheckStatement(()) => {}, ValidationCodeHash(relay_parent, para_id, assumption, hash) => self .requests_cache .cache_validation_code_hash((relay_parent, para_id, assumption), hash), - Version(relay_parent, version) => - self.requests_cache.cache_version(relay_parent, version), - Disputes(relay_parent, disputes) => - self.requests_cache.cache_disputes(relay_parent, disputes), - UnappliedSlashes(relay_parent, unapplied_slashes) => - self.requests_cache.cache_unapplied_slashes(relay_parent, unapplied_slashes), + Version(relay_parent, version) => { + self.requests_cache.cache_version(relay_parent, version) + }, + Disputes(relay_parent, disputes) => { + self.requests_cache.cache_disputes(relay_parent, disputes) + }, + UnappliedSlashes(relay_parent, unapplied_slashes) => { + self.requests_cache.cache_unapplied_slashes(relay_parent, unapplied_slashes) + }, UnappliedSlashesV2(relay_parent, unapplied_slashes_v2) => self .requests_cache .cache_unapplied_slashes_v2(relay_parent, unapplied_slashes_v2), KeyOwnershipProof(relay_parent, validator_id, key_ownership_proof) => self .requests_cache .cache_key_ownership_proof((relay_parent, validator_id), key_ownership_proof), - ApprovalVotingParams(_relay_parent, session_index, params) => - self.requests_cache.cache_approval_voting_params(session_index, params), + ApprovalVotingParams(_relay_parent, session_index, params) => { + self.requests_cache.cache_approval_voting_params(session_index, params) + }, SubmitReportDisputeLost(_) => {}, - DisabledValidators(relay_parent, disabled_validators) => - self.requests_cache.cache_disabled_validators(relay_parent, disabled_validators), + DisabledValidators(relay_parent, disabled_validators) => { + self.requests_cache.cache_disabled_validators(relay_parent, disabled_validators) + }, ParaBackingState(relay_parent, para_id, constraints) => self .requests_cache .cache_para_backing_state((relay_parent, para_id), constraints), - AsyncBackingParams(relay_parent, params) => - self.requests_cache.cache_async_backing_params(relay_parent, params), - NodeFeatures(session_index, params) => - self.requests_cache.cache_node_features(session_index, params), + AsyncBackingParams(relay_parent, params) => { + self.requests_cache.cache_async_backing_params(relay_parent, params) + }, + NodeFeatures(session_index, params) => { + self.requests_cache.cache_node_features(session_index, params) + }, ClaimQueue(relay_parent, sender) => { self.requests_cache.cache_claim_queue(relay_parent, sender); }, @@ -192,8 +212,9 @@ where SchedulingLookahead(session_index, scheduling_lookahead) => self .requests_cache .cache_scheduling_lookahead(session_index, scheduling_lookahead), - ValidationCodeBombLimit(session_index, limit) => - self.requests_cache.cache_validation_code_bomb_limit(session_index, limit), + ValidationCodeBombLimit(session_index, limit) => { + self.requests_cache.cache_validation_code_bomb_limit(session_index, limit) + }, ParaIds(session_index, para_ids) => { self.requests_cache.cache_para_ids(session_index, para_ids); }, @@ -227,19 +248,24 @@ where } match request { - Request::Version(sender) => - query!(version(), sender).map(|sender| Request::Version(sender)), - Request::Authorities(sender) => - query!(authorities(), sender).map(|sender| Request::Authorities(sender)), - Request::Validators(sender) => - query!(validators(), sender).map(|sender| Request::Validators(sender)), - Request::ValidatorGroups(sender) => - query!(validator_groups(), sender).map(|sender| Request::ValidatorGroups(sender)), + Request::Version(sender) => { + query!(version(), sender).map(|sender| Request::Version(sender)) + }, + Request::Authorities(sender) => { + query!(authorities(), sender).map(|sender| Request::Authorities(sender)) + }, + Request::Validators(sender) => { + query!(validators(), sender).map(|sender| Request::Validators(sender)) + }, + Request::ValidatorGroups(sender) => { + query!(validator_groups(), sender).map(|sender| Request::ValidatorGroups(sender)) + }, Request::AvailabilityCores(sender) => query!(availability_cores(), sender) .map(|sender| Request::AvailabilityCores(sender)), - Request::PersistedValidationData(para, assumption, sender) => + Request::PersistedValidationData(para, assumption, sender) => { query!(persisted_validation_data(para, assumption), sender) - .map(|sender| Request::PersistedValidationData(para, assumption, sender)), + .map(|sender| Request::PersistedValidationData(para, assumption, sender)) + }, Request::AssumedValidationData( para, expected_persisted_validation_data_hash, @@ -255,25 +281,38 @@ where sender, ) }), - Request::CheckValidationOutputs(para, commitments, sender) => + Request::CheckValidationOutputs(para, commitments, sender) => { query!(check_validation_outputs(para, commitments), sender) - .map(|sender| Request::CheckValidationOutputs(para, commitments, sender)), + .map(|sender| Request::CheckValidationOutputs(para, commitments, sender)) + }, Request::SessionIndexForChild(sender) => query!(session_index_for_child(), sender) .map(|sender| Request::SessionIndexForChild(sender)), - Request::ValidationCode(para, assumption, sender) => + Request::ValidationCode(para, assumption, sender) => { query!(validation_code(para, assumption), sender) - .map(|sender| Request::ValidationCode(para, assumption, sender)), - Request::ValidationCodeByHash(validation_code_hash, sender) => - query!(validation_code_by_hash(validation_code_hash), sender) - .map(|sender| Request::ValidationCodeByHash(validation_code_hash, sender)), - Request::CandidatePendingAvailability(para, sender) => + .map(|sender| Request::ValidationCode(para, assumption, sender)) + }, + Request::ValidationCodeByHash(validation_code_hash, sender) => if let Some(code) = self + .requests_cache + .validation_code_by_hash((relay_parent, validation_code_hash)) + { + self.metrics.on_cached_request(); + let _ = sender.send(Ok(Some(code.clone()))); + None + } else { + Some(sender) + } + .map(|sender| Request::ValidationCodeByHash(validation_code_hash, sender)), + Request::CandidatePendingAvailability(para, sender) => { query!(candidate_pending_availability(para), sender) - .map(|sender| Request::CandidatePendingAvailability(para, sender)), - Request::CandidatesPendingAvailability(para, sender) => + .map(|sender| Request::CandidatePendingAvailability(para, sender)) + }, + Request::CandidatesPendingAvailability(para, sender) => { query!(candidates_pending_availability(para), sender) - .map(|sender| Request::CandidatesPendingAvailability(para, sender)), - Request::CandidateEvents(sender) => - query!(candidate_events(), sender).map(|sender| Request::CandidateEvents(sender)), + .map(|sender| Request::CandidatesPendingAvailability(para, sender)) + }, + Request::CandidateEvents(sender) => { + query!(candidate_events(), sender).map(|sender| Request::CandidateEvents(sender)) + }, Request::SessionExecutorParams(session_index, sender) => { if let Some(executor_params) = self.requests_cache.session_executor_params(session_index) @@ -294,42 +333,52 @@ where Some(Request::SessionInfo(index, sender)) } }, - Request::DmqContents(id, sender) => - query!(dmq_contents(id), sender).map(|sender| Request::DmqContents(id, sender)), - Request::InboundHrmpChannelsContents(id, sender) => + Request::DmqContents(id, sender) => { + query!(dmq_contents(id), sender).map(|sender| Request::DmqContents(id, sender)) + }, + Request::InboundHrmpChannelsContents(id, sender) => { query!(inbound_hrmp_channels_contents(id), sender) - .map(|sender| Request::InboundHrmpChannelsContents(id, sender)), - Request::CurrentBabeEpoch(sender) => - query!(current_babe_epoch(), sender).map(|sender| Request::CurrentBabeEpoch(sender)), - Request::FetchOnChainVotes(sender) => - query!(on_chain_votes(), sender).map(|sender| Request::FetchOnChainVotes(sender)), + .map(|sender| Request::InboundHrmpChannelsContents(id, sender)) + }, + Request::CurrentBabeEpoch(sender) => { + query!(current_babe_epoch(), sender).map(|sender| Request::CurrentBabeEpoch(sender)) + }, + Request::FetchOnChainVotes(sender) => { + query!(on_chain_votes(), sender).map(|sender| Request::FetchOnChainVotes(sender)) + }, Request::PvfsRequirePrecheck(sender) => query!(pvfs_require_precheck(), sender) .map(|sender| Request::PvfsRequirePrecheck(sender)), request @ Request::SubmitPvfCheckStatement(_, _, _) => { // This request is side-effecting and thus cannot be cached. Some(request) }, - Request::ValidationCodeHash(para, assumption, sender) => + Request::ValidationCodeHash(para, assumption, sender) => { query!(validation_code_hash(para, assumption), sender) - .map(|sender| Request::ValidationCodeHash(para, assumption, sender)), - Request::Disputes(sender) => - query!(disputes(), sender).map(|sender| Request::Disputes(sender)), - Request::UnappliedSlashes(sender) => - query!(unapplied_slashes(), sender).map(|sender| Request::UnappliedSlashes(sender)), + .map(|sender| Request::ValidationCodeHash(para, assumption, sender)) + }, + Request::Disputes(sender) => { + query!(disputes(), sender).map(|sender| Request::Disputes(sender)) + }, + Request::UnappliedSlashes(sender) => { + query!(unapplied_slashes(), sender).map(|sender| Request::UnappliedSlashes(sender)) + }, Request::UnappliedSlashesV2(sender) => query!(unapplied_slashes_v2(), sender) .map(|sender| Request::UnappliedSlashesV2(sender)), - Request::KeyOwnershipProof(validator_id, sender) => + Request::KeyOwnershipProof(validator_id, sender) => { query!(key_ownership_proof(validator_id), sender) - .map(|sender| Request::KeyOwnershipProof(validator_id, sender)), - Request::SubmitReportDisputeLost(dispute_proof, key_ownership_proof, sender) => + .map(|sender| Request::KeyOwnershipProof(validator_id, sender)) + }, + Request::SubmitReportDisputeLost(dispute_proof, key_ownership_proof, sender) => { query!(submit_report_dispute_lost(dispute_proof, key_ownership_proof), sender).map( |sender| { Request::SubmitReportDisputeLost(dispute_proof, key_ownership_proof, sender) }, - ), - Request::ApprovalVotingParams(session_index, sender) => + ) + }, + Request::ApprovalVotingParams(session_index, sender) => { query!(approval_voting_params(session_index), sender) - .map(|sender| Request::ApprovalVotingParams(session_index, sender)), + .map(|sender| Request::ApprovalVotingParams(session_index, sender)) + }, Request::DisabledValidators(sender) => query!(disabled_validators(), sender) .map(|sender| Request::DisabledValidators(sender)), Request::ParaBackingState(para, sender) => query!(para_backing_state(para), sender) @@ -354,8 +403,9 @@ where Some(Request::NodeFeatures(index, sender)) } }, - Request::ClaimQueue(sender) => - query!(claim_queue(), sender).map(|sender| Request::ClaimQueue(sender)), + Request::ClaimQueue(sender) => { + query!(claim_queue(), sender).map(|sender| Request::ClaimQueue(sender)) + }, Request::BackingConstraints(para, sender) => query!(backing_constraints(para), sender) .map(|sender| Request::BackingConstraints(para, sender)), Request::SchedulingLookahead(index, sender) => { diff --git a/polkadot/node/gum/proc-macro/src/types.rs b/polkadot/node/gum/proc-macro/src/types.rs index 635347a875e00..e6c43af5b275e 100644 --- a/polkadot/node/gum/proc-macro/src/types.rs +++ b/polkadot/node/gum/proc-macro/src/types.rs @@ -138,7 +138,7 @@ impl Parse for ValueWithFormatMarker { let lookahead = input.lookahead1(); if !lookahead.peek(Token![.]) { - break + break; } let token = input.parse::()?; @@ -233,7 +233,7 @@ impl Parse for FmtGroup { }; if !input.is_empty() { - return Err(syn::Error::new(input.span(), "Unexpected data, expected closing `)`.")) + return Err(syn::Error::new(input.span(), "Unexpected data, expected closing `)`.")); } Ok(Self { format_str, maybe_comma, rest }) @@ -319,12 +319,12 @@ impl Parse for Args { if input.fork().parse::().is_ok() { values.push_value(input.parse::()?); } else { - break + break; } if input.peek(Token![,]) { values.push_punct(input.parse::()?); } else { - break + break; } } diff --git a/polkadot/node/gum/src/lib.rs b/polkadot/node/gum/src/lib.rs index f78e20cdecfca..2fa224a480f0a 100644 --- a/polkadot/node/gum/src/lib.rs +++ b/polkadot/node/gum/src/lib.rs @@ -169,7 +169,7 @@ impl Freq { // Two attempts is not enough to call something as frequent. if self.ema.count < 3 { - return false + return false; } let rate = 1000.0 / self.ema.current; // Current EMA represents interval in ms diff --git a/polkadot/node/malus/src/variants/common.rs b/polkadot/node/malus/src/variants/common.rs index ed673bbab28ef..eb1246bf5f89e 100644 --- a/polkadot/node/malus/src/variants/common.rs +++ b/polkadot/node/malus/src/variants/common.rs @@ -67,8 +67,9 @@ impl FakeCandidateValidation { use FakeCandidateValidation::*; match *self { - BackingInvalid | BackingAndApprovalInvalid | BackingValid | BackingAndApprovalValid => - true, + BackingInvalid | BackingAndApprovalInvalid | BackingValid | BackingAndApprovalValid => { + true + }, _ => false, } } @@ -126,20 +127,23 @@ pub enum FakeCandidateValidationError { impl Into for FakeCandidateValidationError { fn into(self) -> InvalidCandidate { match self { - FakeCandidateValidationError::ExecutionError => - InvalidCandidate::ExecutionError("Malus".into()), + FakeCandidateValidationError::ExecutionError => { + InvalidCandidate::ExecutionError("Malus".into()) + }, FakeCandidateValidationError::InvalidOutputs => InvalidCandidate::InvalidOutputs, FakeCandidateValidationError::Timeout => InvalidCandidate::Timeout, FakeCandidateValidationError::ParamsTooLarge => InvalidCandidate::ParamsTooLarge(666), FakeCandidateValidationError::CodeTooLarge => InvalidCandidate::CodeTooLarge(666), - FakeCandidateValidationError::POVDecompressionFailure => - InvalidCandidate::PoVDecompressionFailure, + FakeCandidateValidationError::POVDecompressionFailure => { + InvalidCandidate::PoVDecompressionFailure + }, FakeCandidateValidationError::BadReturn => InvalidCandidate::BadReturn, FakeCandidateValidationError::BadParent => InvalidCandidate::BadParent, FakeCandidateValidationError::POVHashMismatch => InvalidCandidate::PoVHashMismatch, FakeCandidateValidationError::BadSignature => InvalidCandidate::BadSignature, - FakeCandidateValidationError::ParaHeadHashMismatch => - InvalidCandidate::ParaHeadHashMismatch, + FakeCandidateValidationError::ParaHeadHashMismatch => { + InvalidCandidate::ParaHeadHashMismatch + }, FakeCandidateValidationError::CodeHashMismatch => InvalidCandidate::CodeHashMismatch, } } @@ -254,7 +258,7 @@ where exec_kind, response_sender, }, - }) + }); } // Create the fake response with probability `p` if the `PoV` is malicious, // where 'p' defaults to 100% for suggest-garbage-candidate variant. diff --git a/polkadot/node/malus/src/variants/dispute_finalized_candidates.rs b/polkadot/node/malus/src/variants/dispute_finalized_candidates.rs index 7a95bdaead26e..b618bc8e16075 100644 --- a/polkadot/node/malus/src/variants/dispute_finalized_candidates.rs +++ b/polkadot/node/malus/src/variants/dispute_finalized_candidates.rs @@ -54,7 +54,7 @@ use std::sync::Arc; /// Listens to finalization messages and if possible triggers disputes for their ancestors. #[derive(Clone)] struct AncestorDisputer { - spawner: Spawner, //stores the actual ApprovalVotingSubsystem spawner + spawner: Spawner, // stores the actual ApprovalVotingSubsystem spawner dispute_offset: u32, /* relative depth of the disputed block to the finalized block, * 0=finalized, 1=parent of finalized etc */ } @@ -83,12 +83,12 @@ where "😈 Block Finalization Interception! Block: {:?}", finalized_hash, ); - //Ensure that the chain is long enough for the target ancestor to exist + // Ensure that the chain is long enough for the target ancestor to exist if finalized_height <= self.dispute_offset { return Some(FromOrchestra::Signal(OverseerSignal::BlockFinalized( finalized_hash, finalized_height, - ))) + ))); } let dispute_offset = self.dispute_offset; @@ -118,7 +118,7 @@ where target: MALUS, "😈 Seems the target is not yet finalized! Nothing to dispute." ); - return // Early return from the async block + return; // Early return from the async block }, }; @@ -132,14 +132,14 @@ where target: MALUS, "😈 Failed to fetch candidate events: {:?}", e ); - return // Early return from the async block + return; // Early return from the async block }, Err(e) => { gum::error!( target: MALUS, "😈 Failed to fetch candidate events: {:?}", e ); - return // Early return from the async block + return; // Early return from the async block }, }; @@ -148,14 +148,15 @@ where matches!(event, CandidateEvent::CandidateIncluded(_, _, _, _)) }); let candidate = match event { - Some(CandidateEvent::CandidateIncluded(candidate, _, _, _)) => - candidate, + Some(CandidateEvent::CandidateIncluded(candidate, _, _, _)) => { + candidate + }, _ => { gum::error!( target: MALUS, "😈 No candidate included event found! Nothing to dispute." ); - return // Early return from the async block + return; // Early return from the async block }, }; @@ -177,7 +178,7 @@ where target: MALUS, "😈 Failed to fetch session index for candidate." ); - return // Early return from the async block + return; // Early return from the async block }, }; gum::info!( diff --git a/polkadot/node/malus/src/variants/suggest_garbage_candidate.rs b/polkadot/node/malus/src/variants/suggest_garbage_candidate.rs index c876f302c7995..cd4513600ff42 100644 --- a/polkadot/node/malus/src/variants/suggest_garbage_candidate.rs +++ b/polkadot/node/malus/src/variants/suggest_garbage_candidate.rs @@ -150,7 +150,7 @@ where ); sender.send(None).expect("channel is still open"); - return + return; }, Ok(None) => { gum::debug!( @@ -160,7 +160,7 @@ where ); sender.send(None).expect("channel is still open"); - return + return; }, Ok(Some(c)) => c, } diff --git a/polkadot/node/metrics/src/metronome.rs b/polkadot/node/metrics/src/metronome.rs index a379062c9cb1f..6a07cb3f27964 100644 --- a/polkadot/node/metrics/src/metronome.rs +++ b/polkadot/node/metrics/src/metronome.rs @@ -55,10 +55,10 @@ impl futures::Stream for Metronome { }, MetronomeState::Snooze => { if !Pin::new(&mut self.delay).poll(cx).is_ready() { - break + break; } self.state = MetronomeState::SetAlarm; - return Poll::Ready(Some(())) + return Poll::Ready(Some(())); }, } } diff --git a/polkadot/node/metrics/src/runtime/mod.rs b/polkadot/node/metrics/src/runtime/mod.rs index c5ece849aa3e0..06ac2094e04ac 100644 --- a/polkadot/node/metrics/src/runtime/mod.rs +++ b/polkadot/node/metrics/src/runtime/mod.rs @@ -79,7 +79,7 @@ impl RuntimeMetricsProvider { hashmap .entry(counter.name.to_owned()) .or_insert(register(Counter::new(counter.name, counter.description)?, &self.0)?); - return Ok(()) + return Ok(()); }) } @@ -92,7 +92,7 @@ impl RuntimeMetricsProvider { )?, &self.0, )?); - return Ok(()) + return Ok(()); }) } @@ -159,7 +159,7 @@ impl sc_tracing::TraceHandler for RuntimeMetricsProvider { .unwrap_or(&String::default()) .ne("metrics") { - return + return; } if let Some(update_op_bs58) = event.values.string_values.get("params") { @@ -184,12 +184,15 @@ impl RuntimeMetricsProvider { // Parse end execute the update operation. fn parse_metric_update(&self, update: RuntimeMetricUpdate) { match update.op { - RuntimeMetricOp::IncrementCounterVec(value, ref labels) => - self.inc_counter_vec_by(update.metric_name(), value, labels), - RuntimeMetricOp::IncrementCounter(value) => - self.inc_counter_by(update.metric_name(), value), - RuntimeMetricOp::ObserveHistogram(value) => - self.observe_histogram(update.metric_name(), value), + RuntimeMetricOp::IncrementCounterVec(value, ref labels) => { + self.inc_counter_vec_by(update.metric_name(), value, labels) + }, + RuntimeMetricOp::IncrementCounter(value) => { + self.inc_counter_by(update.metric_name(), value) + }, + RuntimeMetricOp::ObserveHistogram(value) => { + self.observe_histogram(update.metric_name(), value) + }, } } @@ -203,7 +206,7 @@ impl RuntimeMetricsProvider { const SKIP_CHARS: &'static str = " { update_op: "; if SKIP_CHARS.len() < event_params.len() { if SKIP_CHARS.eq_ignore_ascii_case(&event_params[..SKIP_CHARS.len()]) { - return bs58::decode(&event_params[SKIP_CHARS.len()..].as_bytes()).into_vec().ok() + return bs58::decode(&event_params[SKIP_CHARS.len()..].as_bytes()).into_vec().ok(); } } @@ -216,7 +219,7 @@ impl RuntimeMetricsProvider { pub fn logger_hook() -> impl FnOnce(&mut sc_cli::LoggerBuilder, &sc_service::Configuration) -> () { |logger_builder, config| { if config.prometheus_registry().is_none() { - return + return; } let registry = config.prometheus_registry().cloned().unwrap(); let metrics_provider = RuntimeMetricsProvider::new(registry); diff --git a/polkadot/node/network/approval-distribution/src/lib.rs b/polkadot/node/network/approval-distribution/src/lib.rs index bb4dcd47e67fe..b6ad94855a765 100644 --- a/polkadot/node/network/approval-distribution/src/lib.rs +++ b/polkadot/node/network/approval-distribution/src/lib.rs @@ -207,10 +207,10 @@ impl ApprovalEntry { pub fn includes_approval_candidates(&self, approval: &IndirectSignedApprovalVoteV2) -> bool { for candidate_index in approval.candidate_indices.iter_ones() { if self.assignment_claimed_candidates.bit_at((candidate_index).as_bit_index()) { - return true + return true; } } - return false + return false; } // Records a new approval. Returns error if the claimed candidate is not found or we already @@ -224,16 +224,16 @@ impl ApprovalEntry { // - check claimed candidate // - check for duplicate approval if self.validator_index != approval.validator { - return Err(ApprovalEntryError::InvalidValidatorIndex) + return Err(ApprovalEntryError::InvalidValidatorIndex); } // We need at least one of the candidates in the approval to be in this assignment if !self.includes_approval_candidates(&approval) { - return Err(ApprovalEntryError::InvalidCandidateIndex) + return Err(ApprovalEntryError::InvalidCandidateIndex); } if self.approvals.contains_key(&approval.candidate_indices) { - return Err(ApprovalEntryError::DuplicateApproval) + return Err(ApprovalEntryError::DuplicateApproval); } self.approvals.insert(approval.candidate_indices.clone(), approval.clone()); @@ -568,7 +568,7 @@ impl BlockEntry { let mut peers_randomly_routed_to = HashSet::new(); if self.candidates.len() < approval.candidate_indices.len() as usize { - return Err(ApprovalEntryError::CandidateIndexOutOfBounds) + return Err(ApprovalEntryError::CandidateIndexOutOfBounds); } // First determine all assignments bitfields that might be covered by this approval @@ -988,7 +988,7 @@ impl State { ) { if local_index.is_none() { // this subsystem only matters to validators. - return + return; } self.topologies.insert_topology(session, topology, local_index); @@ -1047,7 +1047,7 @@ impl State { pending.push((peer_id, PendingMessage::Assignment(assignment, claimed_indices))); - continue + continue; } self.import_and_circulate_assignment( @@ -1104,7 +1104,7 @@ impl State { pending.push((peer_id, PendingMessage::Approval(approval_vote))); - continue + continue; } self.import_and_circulate_approval( @@ -1350,7 +1350,7 @@ impl State { } } metrics.on_assignment_invalid_block(); - return + return; }, }; @@ -1402,7 +1402,7 @@ impl State { "We sent the message to the peer while peer was sending it to us. Known race condition.", ); } - return + return; } }, hash_map::Entry::Vacant(_) => { @@ -1437,7 +1437,7 @@ impl State { peer_knowledge.received.insert(message_subject, message_kind); } metrics.on_assignment_good_known(); - return + return; } let result = Self::check_assignment_valid( @@ -1472,7 +1472,7 @@ impl State { .await; metrics.on_assignment_far(); - return + return; } approval_voting_sender @@ -1509,7 +1509,7 @@ impl State { ) .await; metrics.on_assignment_bad(); - return + return; }, } } else { @@ -1520,7 +1520,7 @@ impl State { ?message_subject, "Importing locally an already known assignment", ); - return + return; } else { gum::debug!( target: LOG_TARGET, @@ -1550,7 +1550,7 @@ impl State { for peer in peers_to_route_to { if !entry.known_by.contains_key(&peer) { - continue + continue; } peers.insert(peer); @@ -1583,15 +1583,15 @@ impl State { // Filter destination peers for peer in peers_to_filter.into_iter() { if Some(peer) == source_peer { - continue + continue; } if peers.contains(&peer) { - continue + continue; } if !topology.map(|topology| topology.is_validator(&peer)).unwrap_or(false) { - continue + continue; } // Note: at this point, we haven't received the message from any peers @@ -1606,7 +1606,7 @@ impl State { } if approval_entry.routing_info().random_routing.is_complete() { - break + break; } } @@ -1653,7 +1653,7 @@ impl State { .map_err(|err| InvalidAssignmentError::SessionInfoNotFound(err))?; if claimed_candidate_indices.len() > session_info.n_cores as usize { - return Err(InvalidAssignmentError::OversizedClaimedBitfield) + return Err(InvalidAssignmentError::OversizedClaimedBitfield); } let claimed_cores: Vec = claimed_candidate_indices @@ -1669,7 +1669,7 @@ impl State { .collect::, InvalidAssignmentError>>()?; let Ok(claimed_cores) = claimed_cores.try_into() else { - return Err(InvalidAssignmentError::NoClaimedCandidates) + return Err(InvalidAssignmentError::NoClaimedCandidates); }; let backing_groups = claimed_candidate_indices @@ -1724,7 +1724,7 @@ impl State { modify_reputation(reputation, network_sender, peer_id, COST_UNEXPECTED_MESSAGE) .await; metrics.on_approval_unknown_assignment(); - return false + return false; } } @@ -1760,7 +1760,7 @@ impl State { } metrics.on_approval_duplicate(); } - return false + return false; } }, hash_map::Entry::Vacant(_) => { @@ -1835,7 +1835,7 @@ impl State { metrics.on_approval_recent_outdated(); } } - return + return; }, }; @@ -1858,7 +1858,7 @@ impl State { ) .await { - return + return; } let result = @@ -1904,7 +1904,7 @@ impl State { "Got a bad approval from peer", ); metrics.on_approval_bad(); - return + return; }, } } else { @@ -1917,7 +1917,7 @@ impl State { target: LOG_TARGET, "Importing locally an already known approval", ); - return + return; } else { gum::debug!( target: LOG_TARGET, @@ -1938,7 +1938,7 @@ impl State { "Possible bug: Vote import failed", ); metrics.on_approval_bug(); - return + return; }, }; @@ -1953,7 +1953,7 @@ impl State { let peer_filter = move |peer| { if Some(peer) == source_peer.as_ref() { - return false + return false; } // Here we're leaning on a few behaviors of assignment propagation: @@ -2006,7 +2006,7 @@ impl State { runtime_api_sender: &mut RA, ) -> Result { if vote.candidate_indices.len() > entry.candidates_metadata.len() { - return Err(InvalidVoteError::CandidateIndexOutOfBounds) + return Err(InvalidVoteError::CandidateIndexOutOfBounds); } let candidate_hashes = vote @@ -2056,7 +2056,7 @@ impl State { ?hash, "`get_approval_signatures`: could not find block entry for given hash!" ); - continue + continue; }, Some(e) => e, }; @@ -2115,7 +2115,7 @@ impl State { // authority-id mapping we have to retry sending the messages that should be sent // to it for all un-finalized blocks. if entry.known_by.contains_key(&peer_id) && !retry_known_blocks { - break + break; } let peer_knowledge = entry.known_by.entry(peer_id).or_default(); @@ -2139,7 +2139,7 @@ impl State { .map(|topology| topology.is_validator(peer_id)) .unwrap_or(false) { - return false + return false; } let route_random = @@ -2153,7 +2153,7 @@ impl State { }; if !peer_filter(&peer_id) { - continue + continue; } } @@ -2252,7 +2252,7 @@ impl State { age, "Aggression not enabled", ); - return + return; } gum::debug!(target: LOG_TARGET, min_age, max_age, "Aggression enabled",); @@ -2329,7 +2329,7 @@ impl State { lag = ?self.approval_checking_lag, "Encountered old block pending gossip topology", ); - return *required_routing + return *required_routing; } let mut new_required_routing = *required_routing; @@ -2372,8 +2372,9 @@ impl State { // We assume `candidate_bitfield` length for the core bitfield and we just check // against `MAX_BITFIELD_SIZE` later. AssignmentCertKindV2::RelayVRFModulo { .. } => candidate_bitfield.len(), - AssignmentCertKindV2::RelayVRFModuloCompact { core_bitfield } => - core_bitfield.len(), + AssignmentCertKindV2::RelayVRFModuloCompact { core_bitfield } => { + core_bitfield.len() + }, }; let candidate_bitfield_bits = candidate_bitfield.len(); @@ -2476,7 +2477,7 @@ async fn adjust_required_routing_and_propagate< // for each connected peer. for (block_hash, block_entry) in blocks { if !block_filter(block_entry) { - continue + continue; } let topology = match topologies.get_topology(block_entry.session) { @@ -2496,7 +2497,7 @@ async fn adjust_required_routing_and_propagate< approval_entry.update_required_routing(new_required_routing); if approval_entry.routing_info().required_routing.is_empty() { - continue + continue; } let assignment_message = approval_entry.assignment(); @@ -2509,7 +2510,7 @@ async fn adjust_required_routing_and_propagate< .local_grid_neighbors() .route_to_peer(approval_entry.routing_info().required_routing, peer) { - continue + continue; } // Only send stuff a peer doesn't know in the context of a relay chain block. @@ -2687,7 +2688,7 @@ impl ApprovalDistribution { session_info_provider: &mut RuntimeInfo, ) -> bool { match message { - FromOrchestra::Communication { msg } => + FromOrchestra::Communication { msg } => { Self::handle_incoming( approval_voting_sender, network_sender, @@ -2700,7 +2701,8 @@ impl ApprovalDistribution { self.clock.as_ref(), session_info_provider, ) - .await, + .await + }, FromOrchestra::Signal(OverseerSignal::ActiveLeaves(_update)) => { gum::trace!(target: LOG_TARGET, "active leaves signal (ignored)"); // the relay chain blocks relevant to the approval subsystems diff --git a/polkadot/node/network/approval-distribution/src/tests.rs b/polkadot/node/network/approval-distribution/src/tests.rs index 9345da79147ac..365929db60f05 100644 --- a/polkadot/node/network/approval-distribution/src/tests.rs +++ b/polkadot/node/network/approval-distribution/src/tests.rs @@ -2431,7 +2431,7 @@ fn race_condition_in_local_vs_remote_view_update() { for i in 0..candidates_count { // Previously, this has caused out-of-view assignments/approvals - //expect_reputation_change(overseer, peer, COST_UNEXPECTED_MESSAGE).await; + // expect_reputation_change(overseer, peer, COST_UNEXPECTED_MESSAGE).await; assert_matches!( overseer_recv(overseer).await, diff --git a/polkadot/node/network/availability-distribution/src/error.rs b/polkadot/node/network/availability-distribution/src/error.rs index 852e7bbcbbbf3..f753121b0b218 100644 --- a/polkadot/node/network/availability-distribution/src/error.rs +++ b/polkadot/node/network/availability-distribution/src/error.rs @@ -116,8 +116,9 @@ pub fn log_error( JfyiError::FetchPoV(_) | JfyiError::SendResponse | JfyiError::NoSuchPoV | - JfyiError::Runtime(_) => - gum::warn_if_frequent!(freq: warn_freq, max_rate: gum::Times::PerHour(100), target: LOG_TARGET, error = ?jfyi, ctx), + JfyiError::Runtime(_) => { + gum::warn_if_frequent!(freq: warn_freq, max_rate: gum::Times::PerHour(100), target: LOG_TARGET, error = ?jfyi, ctx) + }, } Ok(()) }, diff --git a/polkadot/node/network/availability-distribution/src/lib.rs b/polkadot/node/network/availability-distribution/src/lib.rs index 438453814978c..3f39e206ca243 100644 --- a/polkadot/node/network/availability-distribution/src/lib.rs +++ b/polkadot/node/network/availability-distribution/src/lib.rs @@ -143,12 +143,13 @@ impl AvailabilityDistributionSubsystem { // Handle task messages sending: let message = match action { - Either::Left(subsystem_msg) => - subsystem_msg.map_err(|e| FatalError::IncomingMessageChannel(e))?, + Either::Left(subsystem_msg) => { + subsystem_msg.map_err(|e| FatalError::IncomingMessageChannel(e))? + }, Either::Right(from_task) => { let from_task = from_task.ok_or(FatalError::RequesterExhausted)?; ctx.send_message(from_task).await; - continue + continue; }, }; match message { diff --git a/polkadot/node/network/availability-distribution/src/pov_requester/mod.rs b/polkadot/node/network/availability-distribution/src/pov_requester/mod.rs index 5e26ae4b7a704..557542635c275 100644 --- a/polkadot/node/network/availability-distribution/src/pov_requester/mod.rs +++ b/polkadot/node/network/availability-distribution/src/pov_requester/mod.rs @@ -105,11 +105,11 @@ async fn do_fetch_pov( Ok(PoVFetchingResponse::PoV(pov)) => pov, Ok(PoVFetchingResponse::NoSuchPoV) => { metrics.on_fetched_pov(NOT_FOUND); - return Err(Error::NoSuchPoV) + return Err(Error::NoSuchPoV); }, Err(err) => { metrics.on_fetched_pov(FAILED); - return Err(err) + return Err(err); }, }; if pov.hash() == pov_hash { @@ -223,7 +223,7 @@ mod tests { ProtocolName::from(""), ))) .unwrap(); - break + break; }, msg => gum::debug!(target: LOG_TARGET, msg = ?msg, "Received msg"), } diff --git a/polkadot/node/network/availability-distribution/src/requester/fetch_task/mod.rs b/polkadot/node/network/availability-distribution/src/requester/fetch_task/mod.rs index 4a68349d398fe..7e60982020acf 100644 --- a/polkadot/node/network/availability-distribution/src/requester/fetch_task/mod.rs +++ b/polkadot/node/network/availability-distribution/src/requester/fetch_task/mod.rs @@ -157,7 +157,7 @@ impl FetchTaskConfig { // Don't run tasks for our backing group: if session_info.our_group == Some(core.group_responsible) { - return FetchTaskConfig { live_in, prepared_running: None } + return FetchTaskConfig { live_in, prepared_running: None }; } let prepared_running = RunningTask { @@ -284,11 +284,11 @@ impl RunningTask { "Node seems to be shutting down, canceling fetch task" ); self.metrics.on_fetch(FAILED); - return + return; }, Err(TaskError::PeerError) => { bad_validators.push(validator); - continue + continue; }, }; @@ -306,20 +306,20 @@ impl RunningTask { "Validator did not have our chunk" ); bad_validators.push(validator); - continue + continue; }, }; // Data genuine? if !self.validate_chunk(&validator, &chunk, self.chunk_index) { bad_validators.push(validator); - continue + continue; } // Ok, let's store it and be happy: self.store_chunk(chunk).await; succeeded = true; - break + break; } if succeeded { self.metrics.on_fetch(SUCCEEDED); @@ -369,7 +369,7 @@ impl RunningTask { match response_recv.await { Ok((bytes, protocol)) => match protocol { - _ if protocol == self.req_v2_protocol_name => + _ if protocol == self.req_v2_protocol_name => { match v2::ChunkFetchingResponse::decode(&mut &bytes[..]) { Ok(chunk_response) => Ok(Option::::from(chunk_response)), Err(e) => { @@ -386,8 +386,9 @@ impl RunningTask { ); Err(TaskError::PeerError) }, - }, - _ if protocol == self.req_v1_protocol_name => + } + }, + _ if protocol == self.req_v1_protocol_name => { match v1::ChunkFetchingResponse::decode(&mut &bytes[..]) { Ok(chunk_response) => Ok(Option::::from(chunk_response) .map(|c| c.recombine_into_chunk(&self.request.into()))), @@ -405,7 +406,8 @@ impl RunningTask { ); Err(TaskError::PeerError) }, - }, + } + }, _ => { gum::warn!( target: LOG_TARGET, @@ -483,7 +485,7 @@ impl RunningTask { expected_chunk_index = ?expected_chunk_index, "Validator sent the wrong chunk", ); - return false + return false; } let anticipated_hash = match branch_hash(&self.erasure_root, chunk.proof(), chunk.index.0 as usize) { @@ -496,13 +498,13 @@ impl RunningTask { error = ?e, "Failed to calculate chunk merkle proof", ); - return false + return false; }, }; let erasure_chunk_hash = BlakeTwo256::hash(&chunk.chunk); if anticipated_hash != erasure_chunk_hash { gum::warn!(target: LOG_TARGET, origin = ?validator, "Received chunk does not match merkle tree"); - return false + return false; } true } diff --git a/polkadot/node/network/availability-distribution/src/requester/fetch_task/tests.rs b/polkadot/node/network/availability-distribution/src/requester/fetch_task/tests.rs index 9d4ac5bc4b1b9..eedae3a429853 100644 --- a/polkadot/node/network/availability-distribution/src/requester/fetch_task/tests.rs +++ b/polkadot/node/network/availability-distribution/src/requester/fetch_task/tests.rs @@ -325,7 +325,7 @@ impl TestRun { .expect("Sending response should succeed"); } } - return (valid_responses == 0) && self.valid_chunks.is_empty() + return (valid_responses == 0) && self.valid_chunks.is_empty(); }, AllMessages::AvailabilityStore(AvailabilityStoreMessage::StoreChunk { chunk, @@ -334,11 +334,11 @@ impl TestRun { }) => { assert!(self.valid_chunks.contains(&chunk.chunk)); tx.send(Ok(())).expect("Answering fetching task should work"); - return true + return true; }, _ => { gum::debug!(target: LOG_TARGET, "Unexpected message"); - return false + return false; }, } } diff --git a/polkadot/node/network/availability-distribution/src/requester/mod.rs b/polkadot/node/network/availability-distribution/src/requester/mod.rs index 2338250327246..cc2e8fd6507a5 100644 --- a/polkadot/node/network/availability-distribution/src/requester/mod.rs +++ b/polkadot/node/network/availability-distribution/src/requester/mod.rs @@ -261,7 +261,7 @@ impl Stream for Requester { Poll::Ready(Some(FromFetchTask::Message(m))) => return Poll::Ready(Some(m)), Poll::Ready(Some(FromFetchTask::Concluded(Some(bad_boys)))) => { self.session_cache.report_bad_log(bad_boys); - continue + continue; }, Poll::Ready(Some(FromFetchTask::Concluded(None))) => continue, Poll::Ready(Some(FromFetchTask::Failed(candidate_hash))) => { @@ -301,7 +301,7 @@ where Some(parent) => runtime.get_session_index_for_child(sender, *parent).await?, None => { // No first element, i.e. empty. - return Ok((0, ancestors)) + return Ok((0, ancestors)); }, }; @@ -313,7 +313,7 @@ where if session_index == head_session_index { session_ancestry_len += 1; } else { - break + break; } } diff --git a/polkadot/node/network/availability-distribution/src/requester/session_cache.rs b/polkadot/node/network/availability-distribution/src/requester/session_cache.rs index 2fa5f00699613..3958399bd0a74 100644 --- a/polkadot/node/network/availability-distribution/src/requester/session_cache.rs +++ b/polkadot/node/network/availability-distribution/src/requester/session_cache.rs @@ -110,7 +110,7 @@ impl SessionCache { gum::trace!(target: LOG_TARGET, session_index, "Storing session info in lru!"); self.session_info_cache.insert(session_index, info); } else { - return Ok(None) + return Ok(None); } } @@ -214,8 +214,8 @@ impl SessionCache { our_group, node_features, }; - return Ok(Some(info)) + return Ok(Some(info)); } - return Ok(None) + return Ok(None); } } diff --git a/polkadot/node/network/availability-distribution/src/requester/tests.rs b/polkadot/node/network/availability-distribution/src/requester/tests.rs index 021f6da7e2e99..b9e76a4fd44b0 100644 --- a/polkadot/node/network/availability-distribution/src/requester/tests.rs +++ b/polkadot/node/network/availability-distribution/src/requester/tests.rs @@ -83,7 +83,7 @@ fn spawn_virtual_overseer( loop { let msg = ctx_handle.try_recv().await; if msg.is_none() { - break + break; } match msg.unwrap() { AllMessages::NetworkBridgeTx(NetworkBridgeTxMessage::SendRequests(..)) => {}, diff --git a/polkadot/node/network/availability-distribution/src/responder.rs b/polkadot/node/network/availability-distribution/src/responder.rs index 6512fcb7f656a..128c45a9e19df 100644 --- a/polkadot/node/network/availability-distribution/src/responder.rs +++ b/polkadot/node/network/availability-distribution/src/responder.rs @@ -57,7 +57,7 @@ pub async fn run_pov_receiver( error = ?fatal, "Shutting down POV receiver." ); - return + return; }, Ok(Err(jfyi)) => { gum::debug!(target: LOG_TARGET, error = ?jfyi, "Error decoding incoming PoV request."); diff --git a/polkadot/node/network/availability-recovery/src/futures_undead.rs b/polkadot/node/network/availability-recovery/src/futures_undead.rs index 04ef3e749399f..90ecd268110d8 100644 --- a/polkadot/node/network/availability-recovery/src/futures_undead.rs +++ b/polkadot/node/network/availability-recovery/src/futures_undead.rs @@ -116,7 +116,7 @@ impl Stream for FuturesUndead { // Cleanup in case we became completely empty: if self.inner.len() == 0 { *self = Self::new(); - return Poll::Ready(Some(v)) + return Poll::Ready(Some(v)); } let first_live = match self.first_live { diff --git a/polkadot/node/network/availability-recovery/src/lib.rs b/polkadot/node/network/availability-recovery/src/lib.rs index 0f7d961e9f3ed..bf03cd7dadef5 100644 --- a/polkadot/node/network/availability-recovery/src/lib.rs +++ b/polkadot/node/network/availability-recovery/src/lib.rs @@ -193,7 +193,7 @@ fn reconstructed_data_matches_root( err = ?e, "Failed to obtain chunks", ); - return false + return false; }, }; @@ -238,7 +238,7 @@ impl Future for RecoveryHandle { "All receivers for available data dropped.", ); - return Poll::Ready(None) + return Poll::Ready(None); } let remote = &mut self.remote; @@ -389,14 +389,14 @@ async fn handle_recover( if let Some(result) = state.availability_lru.get(&candidate_hash).cloned().map(|v| v.into_result()) { - return response_sender.send(result).map_err(|_| Error::CanceledResponseSender) + return response_sender.send(result).map_err(|_| Error::CanceledResponseSender); } if let Some(i) = state.ongoing_recoveries.iter_mut().find(|i| i.candidate_hash == candidate_hash) { i.awaiting.push(response_sender); - return Ok(()) + return Ok(()); } let session_info_res = state @@ -454,10 +454,11 @@ async fn handle_recover( RecoveryStrategyKind::BackersFirstIfSizeLowerThenSystematicChunks(_), true, ) | - (RecoveryStrategyKind::BackersThenSystematicChunks, _) => + (RecoveryStrategyKind::BackersThenSystematicChunks, _) => { recovery_strategies.push_back(Box::new(FetchFull::new( FetchFullParams { validators: backing_validators.to_vec() }, - ))), + ))) + }, _ => {}, }; @@ -913,7 +914,7 @@ async fn erasure_task_thread( target: LOG_TARGET, "Erasure task channel closed. Node shutting down ?", ); - break + break; }, } diff --git a/polkadot/node/network/availability-recovery/src/task/mod.rs b/polkadot/node/network/availability-recovery/src/task/mod.rs index 0a8b52411afee..48547a2b9459f 100644 --- a/polkadot/node/network/availability-recovery/src/task/mod.rs +++ b/polkadot/node/network/availability-recovery/src/task/mod.rs @@ -137,7 +137,7 @@ where /// in-order and return whenever the first one recovers the full `AvailableData`. pub async fn run(mut self) -> Result { if let Some(data) = self.in_availability_store().await { - return Ok(data) + return Ok(data); } self.params.metrics.on_recovery_started(); @@ -158,7 +158,7 @@ where let res = current_strategy.run(&mut self.state, &mut self.sender, &self.params).await; match res { - Err(RecoveryError::Unavailable) => + Err(RecoveryError::Unavailable) => { if self.strategies.front().is_some() { gum::debug!( target: LOG_TARGET, @@ -166,19 +166,21 @@ where "Recovery strategy `{}` did not conclude. Trying the next one.", display_name ); - continue - }, + continue; + } + }, Err(err) => { match &err { - RecoveryError::Invalid => - self.params.metrics.on_recovery_invalid(strategy_type), + RecoveryError::Invalid => { + self.params.metrics.on_recovery_invalid(strategy_type) + }, _ => self.params.metrics.on_recovery_failed(strategy_type), } - return Err(err) + return Err(err); }, Ok(data) => { self.params.metrics.on_recovery_succeeded(strategy_type, data.encoded_size()); - return Ok(data) + return Ok(data); }, } } diff --git a/polkadot/node/network/availability-recovery/src/task/strategy/chunks.rs b/polkadot/node/network/availability-recovery/src/task/strategy/chunks.rs index 6b34538b62662..1b6181358ced1 100644 --- a/polkadot/node/network/availability-recovery/src/task/strategy/chunks.rs +++ b/polkadot/node/network/availability-recovery/src/task/strategy/chunks.rs @@ -217,7 +217,7 @@ impl RecoveryStrategy // Do this before requesting any chunks because we may have enough of them coming from // past RecoveryStrategies. if state.chunk_count() >= common_params.threshold { - return self.attempt_recovery::(state, common_params).await + return self.attempt_recovery::(state, common_params).await; } if Self::is_unavailable( @@ -237,7 +237,7 @@ impl RecoveryStrategy "Data recovery from chunks is not possible", ); - return Err(RecoveryError::Unavailable) + return Err(RecoveryError::Unavailable); } let desired_requests_count = diff --git a/polkadot/node/network/availability-recovery/src/task/strategy/full.rs b/polkadot/node/network/availability-recovery/src/task/strategy/full.rs index 1d7fbe8ea3c8d..db024639aa567 100644 --- a/polkadot/node/network/availability-recovery/src/task/strategy/full.rs +++ b/polkadot/node/network/availability-recovery/src/task/strategy/full.rs @@ -113,8 +113,9 @@ impl RecoveryStrategy reencode_rx.await.map_err(|_| RecoveryError::ChannelClosed)? }, - PostRecoveryCheck::PovHash => - (data.pov.hash() == common_params.pov_hash).then_some(data), + PostRecoveryCheck::PovHash => { + (data.pov.hash() == common_params.pov_hash).then_some(data) + }, }; match maybe_data { @@ -126,7 +127,7 @@ impl RecoveryStrategy ); common_params.metrics.on_full_request_succeeded(); - return Ok(data) + return Ok(data); }, None => { common_params.metrics.on_full_request_invalid(); @@ -150,8 +151,9 @@ impl RecoveryStrategy Err(e) => { match &e { RequestError::Canceled(_) => common_params.metrics.on_full_request_error(), - RequestError::InvalidResponse(_) => - common_params.metrics.on_full_request_invalid(), + RequestError::InvalidResponse(_) => { + common_params.metrics.on_full_request_invalid() + }, RequestError::NetworkError(req_failure) => { if let RequestFailure::Network(OutboundFailure::Timeout) = req_failure { common_params.metrics.on_full_request_timeout(); diff --git a/polkadot/node/network/availability-recovery/src/task/strategy/mod.rs b/polkadot/node/network/availability-recovery/src/task/strategy/mod.rs index 1403277c8a95b..91daf9d9fa433 100644 --- a/polkadot/node/network/availability-recovery/src/task/strategy/mod.rs +++ b/polkadot/node/network/availability-recovery/src/task/strategy/mod.rs @@ -104,7 +104,7 @@ fn is_chunk_valid(params: &RecoveryParams, chunk: &ErasureChunk) -> bool { error = ?e, "Invalid Merkle proof", ); - return false + return false; }, }; let erasure_chunk_hash = BlakeTwo256::hash(&chunk.chunk); @@ -115,7 +115,7 @@ fn is_chunk_valid(params: &RecoveryParams, chunk: &ErasureChunk) -> bool { chunk_index = ?chunk.index, "Merkle proof mismatch" ); - return false + return false; } true } @@ -382,13 +382,15 @@ impl State { requesting_chunks.push(Box::pin(async move { let _timer = timer; let res = match res.await { - Ok((bytes, protocol)) => + Ok((bytes, protocol)) => { if v2_protocol_name == protocol { match req_res::v2::ChunkFetchingResponse::decode(&mut &bytes[..]) { - Ok(req_res::v2::ChunkFetchingResponse::Chunk(chunk)) => - Ok((Some(chunk.into()), protocol)), - Ok(req_res::v2::ChunkFetchingResponse::NoSuchChunk) => - Ok((None, protocol)), + Ok(req_res::v2::ChunkFetchingResponse::Chunk(chunk)) => { + Ok((Some(chunk.into()), protocol)) + }, + Ok(req_res::v2::ChunkFetchingResponse::NoSuchChunk) => { + Ok((None, protocol)) + }, Err(e) => Err(RequestError::InvalidResponse(e)), } } else if v1_protocol_name == protocol { @@ -413,13 +415,15 @@ impl State { Some(chunk.recombine_into_chunk(&raw_request_v1)), protocol, )), - Ok(req_res::v1::ChunkFetchingResponse::NoSuchChunk) => - Ok((None, protocol)), + Ok(req_res::v1::ChunkFetchingResponse::NoSuchChunk) => { + Ok((None, protocol)) + }, Err(e) => Err(RequestError::InvalidResponse(e)), } } else { Err(RequestError::NetworkError(RequestFailure::UnknownProtocol)) - }, + } + }, Err(e) => Err(e), }; @@ -427,7 +431,7 @@ impl State { (authority_id, validator_index, res) })); } else { - break + break; } } @@ -484,15 +488,17 @@ impl State { match request_result { Ok((maybe_chunk, protocol)) => { match protocol { - name if name == params.req_v1_protocol_name => - params.metrics.on_chunk_response_v1(), - name if name == params.req_v2_protocol_name => - params.metrics.on_chunk_response_v2(), + name if name == params.req_v1_protocol_name => { + params.metrics.on_chunk_response_v1() + }, + name if name == params.req_v2_protocol_name => { + params.metrics.on_chunk_response_v2() + }, _ => {}, } match maybe_chunk { - Some(chunk) => + Some(chunk) => { if is_chunk_valid(params, &chunk) { metrics.on_chunk_request_succeeded(strategy_type); gum::trace!( @@ -513,7 +519,8 @@ impl State { // don't try requesting this again. self.record_error_fatal(authority_id.clone(), validator_index); is_error = true; - }, + } + }, None => { metrics.on_chunk_request_no_such_chunk(strategy_type); gum::trace!( @@ -623,7 +630,7 @@ impl State { threshold = ?params.threshold, "Can conclude availability recovery strategy", ); - break + break; } } diff --git a/polkadot/node/network/availability-recovery/src/task/strategy/systematic.rs b/polkadot/node/network/availability-recovery/src/task/strategy/systematic.rs index 8b8cff549912e..5f6ca3ad0c107 100644 --- a/polkadot/node/network/availability-recovery/src/task/strategy/systematic.rs +++ b/polkadot/node/network/availability-recovery/src/task/strategy/systematic.rs @@ -193,7 +193,7 @@ impl RecoveryStrategy chunk_index = ?our_c_index, "Systematic chunk recovery is not possible. We are among the systematic validators but hold an invalid chunk", ); - return Err(RecoveryError::Unavailable) + return Err(RecoveryError::Unavailable); } } } @@ -235,7 +235,7 @@ impl RecoveryStrategy // If received_chunks has `systematic_chunk_threshold` entries, attempt to recover the // data. if systematic_chunk_count >= self.threshold { - return self.attempt_systematic_recovery::(state, common_params).await + return self.attempt_systematic_recovery::(state, common_params).await; } if Self::is_unavailable( @@ -256,7 +256,7 @@ impl RecoveryStrategy "Data recovery from systematic chunks is not possible", ); - return Err(RecoveryError::Unavailable) + return Err(RecoveryError::Unavailable); } let desired_requests_count = diff --git a/polkadot/node/network/bitfield-distribution/src/lib.rs b/polkadot/node/network/bitfield-distribution/src/lib.rs index 487fb3598765b..39d8db95d4f0a 100644 --- a/polkadot/node/network/bitfield-distribution/src/lib.rs +++ b/polkadot/node/network/bitfield-distribution/src/lib.rs @@ -90,11 +90,12 @@ impl BitfieldGossipMessage { recipient_version: ProtocolVersion, ) -> net_protocol::BitfieldDistributionMessage { match ValidationVersion::try_from(recipient_version).ok() { - Some(ValidationVersion::V3) => + Some(ValidationVersion::V3) => { ValidationProtocols::V3(protocol_v3::BitfieldDistributionMessage::Bitfield( self.relay_parent, self.signed_availability.into(), - )), + )) + }, None => { gum::warn!( target: LOG_TARGET, @@ -354,14 +355,14 @@ async fn handle_bitfield_distribution( "Not supposed to work on relay parent related data", ); - return + return; }; let session_idx = job_data.signing_context.session_index; let validator_set = &job_data.validator_set; if validator_set.is_empty() { gum::debug!(target: LOG_TARGET, ?relay_parent, "validator set is empty"); - return + return; } let validator_index = signed_availability.validator_index(); @@ -369,7 +370,7 @@ async fn handle_bitfield_distribution( validator.clone() } else { gum::debug!(target: LOG_TARGET, validator_index = ?validator_index.0, "Could not find a validator for index"); - return + return; }; let msg = BitfieldGossipMessage { relay_parent, signed_availability }; @@ -512,7 +513,7 @@ async fn process_incoming_peer_message( COST_NOT_IN_VIEW, ) .await; - return + return; } // Ignore anything the overseer did not tell this subsystem to work on. @@ -528,7 +529,7 @@ async fn process_incoming_peer_message( COST_NOT_IN_VIEW, ) .await; - return + return; }; let validator_index = bitfield.unchecked_validator_index(); @@ -544,7 +545,7 @@ async fn process_incoming_peer_message( COST_MISSING_PEER_SESSION_KEY, ) .await; - return + return; } // Use the (untrusted) validator index provided by the signed payload @@ -561,7 +562,7 @@ async fn process_incoming_peer_message( COST_VALIDATOR_INDEX_INVALID, ) .await; - return + return; }; // Check if the peer already sent us a message for the validator denoted in the message earlier. @@ -581,7 +582,7 @@ async fn process_incoming_peer_message( COST_PEER_DUPLICATE_MESSAGE, ) .await; - return + return; }; let one_per_validator = &mut (job_data.one_per_validator); @@ -603,7 +604,7 @@ async fn process_incoming_peer_message( ) .await; } - return + return; } let signed_availability = match bitfield.try_into_checked(&signing_context, &validator) { Err(_) => { @@ -615,7 +616,7 @@ async fn process_incoming_peer_message( COST_SIGNATURE_INVALID, ) .await; - return + return; }, Ok(bitfield) => bitfield, }; @@ -712,7 +713,7 @@ async fn handle_network_msg( None => { // For peers which are currently unknown, we'll send topology-related // messages to them when they connect and send their first view update. - continue + continue; }, }; @@ -729,8 +730,9 @@ async fn handle_network_msg( gum::trace!(target: LOG_TARGET, ?new_view, "Our view change"); handle_our_view_change(state, new_view); }, - NetworkBridgeEvent::PeerMessage(remote, message) => - process_incoming_peer_message(ctx, state, metrics, remote, message, rng).await, + NetworkBridgeEvent::PeerMessage(remote, message) => { + process_incoming_peer_message(ctx, state, metrics, remote, message, rng).await + }, NetworkBridgeEvent::UpdatedAuthorityIds(peer_id, authority_ids) => { state .topologies @@ -783,7 +785,7 @@ async fn handle_peer_view_change( "Attempted to update peer view for unknown peer." ); - return + return; }, Some(pd) => pd, }; @@ -803,7 +805,7 @@ async fn handle_peer_view_change( if !lucky { gum::trace!(target: LOG_TARGET, ?origin, "Peer view change is ignored"); - return + return; } // Send all messages we've seen before and the peer is now interested @@ -848,7 +850,7 @@ async fn send_tracked_gossip_message( let job_data = if let Some(job_data) = state.per_relay_parent.get_mut(&message.relay_parent) { job_data } else { - return + return; }; gum::trace!( @@ -904,8 +906,9 @@ async fn query_basics( .await; match (validators_rx.await?, session_rx.await?) { - (Ok(validators), Ok(session_index)) => - Ok(Some((validators, SigningContext { parent_hash: relay_parent, session_index }))), + (Ok(validators), Ok(session_index)) => { + Ok(Some((validators, SigningContext { parent_hash: relay_parent, session_index }))) + }, (Err(err), _) | (_, Err(err)) => { gum::warn!( target: LOG_TARGET, diff --git a/polkadot/node/network/bridge/src/network.rs b/polkadot/node/network/bridge/src/network.rs index 5c3eb09c9ee4d..1c8c2ef76e235 100644 --- a/polkadot/node/network/bridge/src/network.rs +++ b/polkadot/node/network/bridge/src/network.rs @@ -113,7 +113,7 @@ fn send_message( M: Encode + Clone, { if peers.is_empty() { - return + return; } let message = { @@ -283,7 +283,7 @@ impl Network for Arc { }, Ok(_) => {}, } - return + return; }, Some(peer_id) => peer_id, }; diff --git a/polkadot/node/network/bridge/src/rx/mod.rs b/polkadot/node/network/bridge/src/rx/mod.rs index 06dc426c7f0b7..2c44cd520200f 100644 --- a/polkadot/node/network/bridge/src/rx/mod.rs +++ b/polkadot/node/network/bridge/src/rx/mod.rs @@ -181,7 +181,7 @@ async fn handle_validation_message( ?peer, "Failed to determine peer role for validation protocol", ); - return + return; }, }; @@ -200,7 +200,7 @@ async fn handle_validation_message( "Unknown fallback", ); - return + return; }, Some((p2, v2)) => { if p2 != peer_set { @@ -212,7 +212,7 @@ async fn handle_validation_message( "Fallback mismatched peer-set", ); - return + return; } (p2, v2) @@ -237,7 +237,7 @@ async fn handle_validation_message( ?role, "Message sink not available for peer", ); - return + return; }, } @@ -408,7 +408,7 @@ async fn handle_collation_message( ?peer, "Failed to determine peer role for validation protocol", ); - return + return; }, }; @@ -427,7 +427,7 @@ async fn handle_collation_message( "Unknown fallback", ); - return + return; }, Some((p2, v2)) => { if p2 != peer_set { @@ -439,7 +439,7 @@ async fn handle_collation_message( "Fallback mismatched peer-set", ); - return + return; } (p2, v2) @@ -465,7 +465,7 @@ async fn handle_collation_message( role = ?role, "Message sink not available for peer", ); - return + return; }, } @@ -923,7 +923,7 @@ fn update_our_view( Some(ref v) if v.check_heads_eq(&new_view) => return, None if live_heads.is_empty() => { shared.local_view = Some(new_view); - return + return; }, _ => { shared.local_view = Some(new_view.clone()); @@ -1017,7 +1017,7 @@ fn handle_peer_messages>( let message = match WireMessage::::decode_all(&mut message.as_ref()) { Err(_) => { reports.push(MALFORMED_MESSAGE_COST); - continue + continue; }, Ok(m) => m, }; @@ -1028,20 +1028,21 @@ fn handle_peer_messages>( new_view.finalized_number < peer_data.view.finalized_number { reports.push(MALFORMED_VIEW_COST); - continue + continue; } else if new_view.is_empty() { reports.push(EMPTY_VIEW_COST); - continue + continue; } else if new_view == peer_data.view { - continue + continue; } else { peer_data.view = new_view; NetworkBridgeEvent::PeerViewChange(peer, peer_data.view.clone()) } }, - WireMessage::ProtocolMessage(message) => - NetworkBridgeEvent::PeerMessage(peer, message.into()), + WireMessage::ProtocolMessage(message) => { + NetworkBridgeEvent::PeerMessage(peer, message.into()) + }, }) } diff --git a/polkadot/node/network/bridge/src/rx/tests.rs b/polkadot/node/network/bridge/src/rx/tests.rs index 14a157eda7120..0ed21ec931ca0 100644 --- a/polkadot/node/network/bridge/src/rx/tests.rs +++ b/polkadot/node/network/bridge/src/rx/tests.rs @@ -491,7 +491,7 @@ async fn await_peer_connections( if shared.validation_peers.len() == num_validation_peers && shared.collation_peers.len() == num_collation_peers { - break + break; } } @@ -1516,13 +1516,16 @@ fn network_protocol_versioning_view_update() { for &(peer_id, peer_set, version) in &peers { let wire_msg = match (version.into(), peer_set) { - (1, PeerSet::Collation) => - WireMessage::::ViewUpdate(view.clone()).encode(), - (2, PeerSet::Collation) => - WireMessage::::ViewUpdate(view.clone()).encode(), - (3, PeerSet::Validation) => + (1, PeerSet::Collation) => { + WireMessage::::ViewUpdate(view.clone()).encode() + }, + (2, PeerSet::Collation) => { + WireMessage::::ViewUpdate(view.clone()).encode() + }, + (3, PeerSet::Validation) => { WireMessage::::ViewUpdate(view.clone()) - .encode(), + .encode() + }, _ => unreachable!(), }; assert_network_actions_contains( diff --git a/polkadot/node/network/bridge/src/tx/mod.rs b/polkadot/node/network/bridge/src/tx/mod.rs index 1368cbd3d51e8..b71dfa03204bc 100644 --- a/polkadot/node/network/bridge/src/tx/mod.rs +++ b/polkadot/node/network/bridge/src/tx/mod.rs @@ -288,8 +288,9 @@ where metrics.on_message("chunk_fetching_v1") } }, - Requests::AvailableDataFetchingV1(_) => - metrics.on_message("available_data_fetching_v1"), + Requests::AvailableDataFetchingV1(_) => { + metrics.on_message("available_data_fetching_v1") + }, Requests::CollationFetchingV1(_) => metrics.on_message("collation_fetching_v1"), Requests::CollationFetchingV2(_) => metrics.on_message("collation_fetching_v2"), Requests::PoVFetchingV1(_) => metrics.on_message("pov_fetching_v1"), @@ -328,7 +329,7 @@ where ) .await; - return (network_service, ads) + return (network_service, ads); }, NetworkBridgeTxMessage::ConnectToResolvedValidators { validator_addrs, peer_set } => { gum::trace!( @@ -345,7 +346,7 @@ where let network_service = validator_discovery .on_resolved_request(all_addrs, peer_set, network_service) .await; - return (network_service, authority_discovery_service) + return (network_service, authority_discovery_service); }, NetworkBridgeTxMessage::AddToResolvedValidators { validator_addrs, peer_set } => { @@ -361,7 +362,7 @@ where let network_service = validator_discovery .on_add_to_resolved_request(all_addrs, peer_set, network_service) .await; - return (network_service, authority_discovery_service) + return (network_service, authority_discovery_service); }, } (network_service, authority_discovery_service) diff --git a/polkadot/node/network/collator-protocol/Cargo.toml b/polkadot/node/network/collator-protocol/Cargo.toml index 92592045c0e44..9b62dace1d351 100644 --- a/polkadot/node/network/collator-protocol/Cargo.toml +++ b/polkadot/node/network/collator-protocol/Cargo.toml @@ -12,7 +12,7 @@ repository.workspace = true workspace = true [dependencies] -async-trait = { workspace = true, optional = true } +async-trait = { workspace = true } bitvec = { features = ["alloc"], workspace = true } futures = { workspace = true } futures-timer = { workspace = true } @@ -23,6 +23,7 @@ sp-core = { workspace = true, default-features = true } sp-keystore = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } +codec.workspace = true fatality = { workspace = true } polkadot-node-network-protocol = { workspace = true, default-features = true } polkadot-node-primitives = { workspace = true, default-features = true } @@ -30,16 +31,16 @@ polkadot-node-subsystem = { workspace = true, default-features = true } polkadot-node-subsystem-util = { workspace = true, default-features = true } polkadot-primitives = { workspace = true, default-features = true } thiserror = { workspace = true } +tokio.workspace = true tokio-util = { workspace = true } -# This should have really been a dev-dependency but clippy is complaining that it's not used with -# experimental-collator-protocol disabled, while the rust compiler claims that having optional -# dev-dependencies is not possible. -tokio = { features = ["macros"], workspace = true, default-features = true, optional = true } [dev-dependencies] assert_matches = { workspace = true } +kvdb-memorydb = { workspace = true } rstest = { workspace = true } +sc-network-types = { workspace = true, default-features = true } sp-tracing = { workspace = true } +tokio = { features = ["macros"], workspace = true, default-features = true } codec = { features = ["std"], workspace = true, default-features = true } sc-keystore = { workspace = true, default-features = true } @@ -53,4 +54,3 @@ polkadot-primitives-test-helpers = { workspace = true } [features] default = [] -experimental-collator-protocol = ["async-trait", "tokio"] diff --git a/polkadot/node/network/collator-protocol/src/collator_side/metrics.rs b/polkadot/node/network/collator-protocol/src/collator_side/metrics.rs index b726a40e4b3e8..91d0abd69406c 100644 --- a/polkadot/node/network/collator-protocol/src/collator_side/metrics.rs +++ b/polkadot/node/network/collator-protocol/src/collator_side/metrics.rs @@ -264,7 +264,7 @@ impl CollationTracker { ?head, "Collation already backed in a fork, skipping", ); - return + return; } entry.set_backed_at(block_number); @@ -318,7 +318,7 @@ impl CollationTracker { ?pov_hash, "Collation already included in a fork, skipping", ); - return + return; } entry.set_included_at(block_number); @@ -572,7 +572,7 @@ impl CollationStats { pub fn is_tracking_expired(&self, current_block: BlockNumber) -> bool { // Don't expire included collations if self.included().is_some() { - return false + return false; } let expiry_block = self.relay_parent_number + self.tracking_ttl(); expiry_block <= current_block diff --git a/polkadot/node/network/collator-protocol/src/collator_side/mod.rs b/polkadot/node/network/collator-protocol/src/collator_side/mod.rs index 4ecd36f69203a..55140a0980e7e 100644 --- a/polkadot/node/network/collator-protocol/src/collator_side/mod.rs +++ b/polkadot/node/network/collator-protocol/src/collator_side/mod.rs @@ -194,9 +194,9 @@ impl ValidatorGroup { .get(candidate_hash) .map_or(true, |advertised| !advertised[validator_index]) { - return ShouldAdvertiseTo::Yes + return ShouldAdvertiseTo::Yes; } else { - return ShouldAdvertiseTo::AlreadyAdvertised + return ShouldAdvertiseTo::AlreadyAdvertised; } } @@ -223,6 +223,20 @@ impl ValidatorGroup { } } } + + /// Resets the advertised state for the given peer. Should be called when peer disconnects + /// so that we re-advertise collations when they reconnect. + fn reset_advertised_to_peer(&mut self, authority_ids: &HashSet) { + for id in authority_ids { + let validator_index = match self.validators.iter().position(|v| v == id) { + Some(idx) => idx, + None => continue, + }; + for advertised in self.advertised_to.values_mut() { + advertised.set(validator_index, false); + } + } + } } #[derive(Debug)] @@ -454,14 +468,14 @@ async fn distribute_collation( let per_relay_parent = match state.per_relay_parent.get_mut(&candidate_relay_parent) { Some(per_relay_parent) => per_relay_parent, None => { - gum::debug!( + gum::warn!( target: LOG_TARGET, para_id = %id, candidate_relay_parent = %candidate_relay_parent, candidate_hash = ?candidate_hash, - "Candidate relay parent is out of our view", + "Dropping candidate: candidate relay parent is out of our view", ); - return Ok(()) + return Ok(()); }, }; @@ -475,7 +489,7 @@ async fn distribute_collation( "Attempting to distribute collation for a core we are not assigned to ", ); - return Ok(()) + return Ok(()); }; let current_collations_count = per_relay_parent @@ -491,7 +505,7 @@ async fn distribute_collation( collations_limit, core_index.0, ); - return Ok(()) + return Ok(()); } // We have already seen collation for this relay parent. @@ -502,7 +516,7 @@ async fn distribute_collation( ?candidate_hash, "Already seen this candidate", ); - return Ok(()) + return Ok(()); } let elastic_scaling = per_relay_parent.assignments.len() > 1; @@ -528,7 +542,7 @@ async fn distribute_collation( "there are no validators assigned to core", ); - return Ok(()) + return Ok(()); } gum::debug!( @@ -775,7 +789,7 @@ async fn update_validator_connections( } } else { if peer_ids.is_empty() { - return + return; } let validator_ids = @@ -826,7 +840,7 @@ async fn advertise_collation( ?core_index, "Skipping advertising to validator, validator group for core not found", ); - return + return; }; let should_advertise = validator_group.should_advertise_to(candidate_hash, peer_ids, &peer); @@ -841,7 +855,7 @@ async fn advertise_collation( reason = ?should_advertise, "Not advertising collation" ); - continue + continue; }, } @@ -1133,7 +1147,7 @@ async fn handle_incoming_peer_message( candidate_hash = ?&statement.payload().candidate_hash(), "Seconded statement relay parent is out of our view", ); - return Ok(()) + return Ok(()); }, }; match relay_parent.collations.get(&statement.payload().candidate_hash()) { @@ -1186,13 +1200,14 @@ async fn handle_incoming_request( "received a `RequestCollation` for a relay parent out of our view", ); - return Ok(()) + return Ok(()); }, }; let collation_with_core = match &req { - VersionedCollationRequest::V2(req) => - per_relay_parent.collations.get_mut(&req.payload.candidate_hash), + VersionedCollationRequest::V2(req) => { + per_relay_parent.collations.get_mut(&req.payload.candidate_hash) + }, }; let (receipt, pov, parent_head_data) = if let Some(collation_with_core) = collation_with_core { @@ -1210,7 +1225,7 @@ async fn handle_incoming_request( "received a `RequestCollation` for a relay parent we don't have collation stored.", ); - return Ok(()) + return Ok(()); }; state.metrics.on_collation_sent_requested(); @@ -1230,7 +1245,7 @@ async fn handle_incoming_request( COST_APPARENT_FLOOD.into(), ) .await; - return Ok(()) + return Ok(()); } if waiting.collation_fetch_active { @@ -1262,61 +1277,85 @@ async fn handle_incoming_request( Ok(()) } -/// Peer's view has changed. Send advertisements for new relay parents -/// if there're any. +/// Advertises collations for the given relay parents to the specified peer. +/// +/// Returns a list of unknown relay parents. #[overseer::contextbounds(CollatorProtocol, prefix = self::overseer)] -async fn handle_peer_view_change( +async fn advertise_collations_for_relay_parents( ctx: &mut Context, state: &mut State, - peer_id: PeerId, - view: View, -) { - let Some(PeerData { view: current, unknown_heads }) = state.peer_data.get_mut(&peer_id) else { - return - }; - - let added: Vec = view.difference(&*current).cloned().collect(); + peer_id: &PeerId, + relay_parents: impl IntoIterator, +) -> Vec { + let mut unknown_relay_parents = Vec::new(); - *current = view; - - for added in added.into_iter() { - let block_hashes = match state.per_relay_parent.contains_key(&added) { + for relay_parent in relay_parents { + let block_hashes = match state.per_relay_parent.contains_key(&relay_parent) { true => state .implicit_view .as_ref() .and_then(|implicit_view| { - implicit_view.known_allowed_relay_parents_under(&added, state.collating_on) + implicit_view + .known_allowed_relay_parents_under(&relay_parent, state.collating_on) }) .unwrap_or_default(), false => { - gum::trace!( - target: LOG_TARGET, - ?peer_id, - new_leaf = ?added, - "New leaf in peer's view is unknown", - ); - - unknown_heads.insert(added, ()); - - continue + unknown_relay_parents.push(relay_parent); + continue; }, }; for block_hash in block_hashes { - let Some(per_relay_parent) = state.per_relay_parent.get_mut(block_hash) else { - continue - }; + if let Some(per_relay_parent) = state.per_relay_parent.get_mut(block_hash) { + advertise_collation( + ctx, + *block_hash, + per_relay_parent, + peer_id, + &state.peer_ids, + &mut state.advertisement_timeouts, + &state.metrics, + ) + .await; + } + } + } - advertise_collation( - ctx, - *block_hash, - per_relay_parent, - &peer_id, - &state.peer_ids, - &mut state.advertisement_timeouts, - &state.metrics, - ) - .await; + unknown_relay_parents +} + +/// Peer's view has changed. Send advertisements for new relay parents +/// if there're any. +#[overseer::contextbounds(CollatorProtocol, prefix = self::overseer)] +async fn handle_peer_view_change( + ctx: &mut Context, + state: &mut State, + peer_id: PeerId, + view: View, +) { + let Some(added) = state.peer_data.get_mut(&peer_id).map(|peer| { + let diff: Vec = view.difference(&peer.view).cloned().collect(); + peer.view = view; + diff + }) else { + return; + }; + + let unknown_relay_parents = + advertise_collations_for_relay_parents(ctx, state, &peer_id, added).await; + + if !unknown_relay_parents.is_empty() { + gum::trace!( + target: LOG_TARGET, + ?peer_id, + new_leaves = ?unknown_relay_parents, + "New leaves in peer's view are unknown", + ); + + if let Some(PeerData { unknown_heads, .. }) = state.peer_data.get_mut(&peer_id) { + for unknown in unknown_relay_parents { + unknown_heads.insert(unknown, ()); + } } } } @@ -1348,7 +1387,7 @@ async fn handle_network_msg( ?err, "Unsupported protocol version" ); - return Ok(()) + return Ok(()); }, }; if version == CollationVersion::V1 { @@ -1365,7 +1404,7 @@ async fn handle_network_msg( PeerSet::Collation, )) .await; - return Ok(()) + return Ok(()); } state.peer_data.entry(peer_id).or_insert_with(|| PeerData { @@ -1393,6 +1432,17 @@ async fn handle_network_msg( }, PeerDisconnected(peer_id) => { gum::trace!(target: LOG_TARGET, ?peer_id, "Peer disconnected"); + + // Reset advertised_to bits for this peer so that collations will be + // re-advertised when they reconnect. + if let Some(authority_ids) = state.peer_ids.get(&peer_id) { + for per_relay_parent in state.per_relay_parent.values_mut() { + for validator_group in per_relay_parent.validator_group.values_mut() { + validator_group.reset_advertised_to_peer(authority_ids); + } + } + } + state.peer_data.remove(&peer_id); state.peer_ids.remove(&peer_id); }, @@ -1418,8 +1468,29 @@ async fn handle_network_msg( UpdatedAuthorityIds(peer_id, authority_ids) => { gum::trace!(target: LOG_TARGET, ?peer_id, ?authority_ids, "Updated authority ids"); if state.peer_data.contains_key(&peer_id) { - if state.peer_ids.insert(peer_id, authority_ids).is_none() { + let is_new_peer = state.peer_ids.insert(peer_id, authority_ids).is_none(); + + if is_new_peer { declare(ctx, state, &peer_id).await; + } else { + // Authority IDs changed for an existing peer. Re-advertise collations + // for relay parents already in their view, as the previous authority IDs + // may not have matched our validator groups. + let relay_parents_in_view: Vec<_> = state + .peer_data + .get(&peer_id) + .map(|data| data.view.iter().cloned().collect()) + .unwrap_or_default(); + + // Unknown relay parents are ignored because they were + // handled when the peer's view was first processed. + let _ = advertise_collations_for_relay_parents( + ctx, + state, + &peer_id, + relay_parents_in_view, + ) + .await; } } }, @@ -1450,20 +1521,20 @@ async fn process_block_events( ?para_id, "Failed to get relay chain block number", ); - return + return; }; for ev in events { match ev { CandidateEvent::CandidateIncluded(receipt, _, _, _) => { if receipt.descriptor.para_id() != para_id { - continue + continue; } collation_tracker.collation_included(block_number, leaf, receipt); }, CandidateEvent::CandidateBacked(receipt, _, _, _) => { if receipt.descriptor.para_id() != para_id { - continue + continue; } let Some(block_number) = maybe_block_number else { continue }; @@ -1544,7 +1615,7 @@ async fn handle_our_view_change( ?error, "Failed to fetch claim queue while iterating allowed ancestry", ); - continue + continue; }, }; let session_index = @@ -1557,7 +1628,7 @@ async fn handle_our_view_change( ?error, "Failed to fetch session index while iterating allowed ancestry", ); - continue + continue; }, }; @@ -1651,7 +1722,7 @@ fn process_out_of_view_collation( let candidate_hash = collation.receipt.hash(); match collation.status { - CollationStatus::Created => + CollationStatus::Created => { if is_same_session { gum::warn!( target: LOG_TARGET, @@ -1666,7 +1737,8 @@ fn process_out_of_view_collation( pov_hash = ?collation.pov.hash(), "Collation wasn't advertised because it was built on a relay chain block that is now part of an old session.", ) - }, + } + }, CollationStatus::Advertised => gum::debug!( target: LOG_TARGET, ?candidate_hash, @@ -1687,7 +1759,7 @@ fn process_out_of_view_collation( let Some(mut stats) = collation_with_core.take_stats() else { return }; // If the collation stats are still available, it means it was never - // succesfully fetched, even if a fetch request was received, but not succeed. + // successfully fetched, even if a fetch request was received, but not succeed. // // Will expire in it's current state at the next block import. stats.set_pre_backing_status(collation_status); @@ -1745,7 +1817,7 @@ async fn process_possibly_finalized_collations( metrics: &Metrics, ) { if collations.is_empty() { - return + return; } let (last_hash, last_number) = last_finalized; diff --git a/polkadot/node/network/collator-protocol/src/collator_side/tests/mod.rs b/polkadot/node/network/collator-protocol/src/collator_side/tests/mod.rs index 4acddbcce100b..0c8275da18c6b 100644 --- a/polkadot/node/network/collator-protocol/src/collator_side/tests/mod.rs +++ b/polkadot/node/network/collator-protocol/src/collator_side/tests/mod.rs @@ -378,7 +378,7 @@ async fn expect_determine_validator_group( ))) .unwrap(); // This call is mandatory - we are done: - break + break; }, other => panic!("Unexpected message received: {:?}", other), } @@ -548,10 +548,12 @@ fn decode_collation_response(bytes: &[u8]) -> (CandidateReceipt, PoV) { let response: CollationFetchingResponse = CollationFetchingResponse::decode(&mut &bytes[..]).expect("Decoding should work"); match response { - CollationFetchingResponse::Collation(_, _) => - panic!("Expected to always receive CollationWithParentHeadData"), - CollationFetchingResponse::CollationWithParentHeadData { receipt, pov, .. } => - (receipt, pov), + CollationFetchingResponse::Collation(_, _) => { + panic!("Expected to always receive CollationWithParentHeadData") + }, + CollationFetchingResponse::CollationWithParentHeadData { receipt, pov, .. } => { + (receipt, pov) + }, } } @@ -1198,8 +1200,13 @@ fn collate_on_two_different_relay_chain_blocks() { ) } +/// Test that when a validator disconnects and reconnects, we re-advertise collations to them. +/// +/// This handles the race condition where we send an advertisement, but the peer disconnects +/// before receiving it. When they reconnect, we need to re-advertise so they can fetch +/// the collation. #[test] -fn validator_reconnect_does_not_advertise_a_second_time() { +fn validator_reconnect_readvertises_collation() { let test_state = TestState::default(); let local_peer_id = test_state.local_peer_id; let collator_pair = test_state.collator_pair.clone(); @@ -1251,14 +1258,26 @@ fn validator_reconnect_does_not_advertise_a_second_time() { ) .await; - // Disconnect and reconnect directly + // Disconnect - this resets the advertised_to bit for this peer disconnect_peer(virtual_overseer, peer).await; + + // Reconnect the same validator connect_peer(virtual_overseer, peer, CollationVersion::V2, Some(validator_id)).await; expect_declare_msg(virtual_overseer, &test_state, &peer).await; + // Send view change - since the advertised_to bit was reset on disconnect, + // the collation should be re-advertised send_peer_view_change(virtual_overseer, &peer, vec![test_state.relay_parent]).await; - assert!(overseer_recv_with_timeout(virtual_overseer, TIMEOUT).await.is_none()); + // We should receive the advertisement again after reconnect + expect_advertise_collation_msg( + virtual_overseer, + &[peer], + test_state.relay_parent, + vec![candidate.hash()], + ) + .await; + test_harness }, ) @@ -2025,3 +2044,183 @@ fn connect_advertise_disconnect_three_backing_groups() { }, ); } + +/// Test that collations are re-advertised when a peer's authority IDs are updated +/// to match the validator group (when they previously didn't match). +/// +/// This tests the fix for a race condition where: +/// 1. A peer connects with authority IDs that don't match the validator group +/// 2. A collation is distributed but can't be advertised (no authority ID match) +/// 3. The peer's view includes the relay parent +/// 4. UpdatedAuthorityIds arrives with new authority IDs that DO match +/// 5. The collation should now be advertised +#[test] +fn readvertise_collation_on_authority_id_update() { + let test_state = TestState::default(); + let local_peer_id = test_state.local_peer_id; + let collator_pair = test_state.collator_pair.clone(); + + test_harness( + local_peer_id, + collator_pair, + ReputationAggregator::new(|_| true), + |mut test_harness| async move { + let virtual_overseer = &mut test_harness.virtual_overseer; + + let peer = test_state.current_group_validator_peer_ids()[0]; + // Use an unrelated authority ID that doesn't match the validator group + let unrelated_authority_id: AuthorityDiscoveryId = Sr25519Keyring::Eve.public().into(); + // The actual authority ID that matches the validator group + let matching_authority_id = + test_state.current_group_validator_authority_ids()[0].clone(); + + overseer_send(virtual_overseer, CollatorProtocolMessage::ConnectToBackingGroups).await; + + overseer_send(virtual_overseer, CollatorProtocolMessage::CollateOn(test_state.para_id)) + .await; + + update_view( + Some(test_state.current_group_validator_authority_ids()), + &test_state, + virtual_overseer, + vec![(test_state.relay_parent, 10)], + 1, + ) + .await; + + // Connect peer with an authority ID that does NOT match the validator group + connect_peer( + virtual_overseer, + peer, + CollationVersion::V2, + Some(unrelated_authority_id), + ) + .await; + + // We still declare to the peer (declaration doesn't depend on validator group match) + expect_declare_msg(virtual_overseer, &test_state, &peer).await; + + // Distribute a collation + let DistributeCollation { candidate, .. } = distribute_collation( + virtual_overseer, + test_state.current_group_validator_authority_ids(), + &test_state, + test_state.relay_parent, + CoreIndex(0), + ) + .await; + + // Send peer view change - peer is interested in the relay parent + send_peer_view_change(virtual_overseer, &peer, vec![test_state.relay_parent]).await; + + // No advertisement should happen because the peer's authority ID (Eve) + // doesn't match any validator in the group for this collation + assert!( + overseer_recv_with_timeout(virtual_overseer, TIMEOUT).await.is_none(), + "Should not advertise to peer with non-matching authority ID" + ); + + // Now send UpdatedAuthorityIds with the correct authority ID + overseer_send( + virtual_overseer, + CollatorProtocolMessage::NetworkBridgeUpdate( + NetworkBridgeEvent::UpdatedAuthorityIds( + peer, + HashSet::from([matching_authority_id]), + ), + ), + ) + .await; + + // Now the collation should be advertised because the authority ID matches + expect_advertise_collation_msg( + virtual_overseer, + &[peer], + test_state.relay_parent, + vec![candidate.hash()], + ) + .await; + + test_harness + }, + ) +} + +/// Test that UpdatedAuthorityIds for existing peers with unchanged matching authority IDs +/// doesn't cause duplicate advertisements (idempotency check). +#[test] +fn no_duplicate_advertisement_on_authority_id_update() { + let test_state = TestState::default(); + let local_peer_id = test_state.local_peer_id; + let collator_pair = test_state.collator_pair.clone(); + + test_harness( + local_peer_id, + collator_pair, + ReputationAggregator::new(|_| true), + |mut test_harness| async move { + let virtual_overseer = &mut test_harness.virtual_overseer; + + let peer = test_state.current_group_validator_peer_ids()[0]; + let validator_id = test_state.current_group_validator_authority_ids()[0].clone(); + + overseer_send(virtual_overseer, CollatorProtocolMessage::ConnectToBackingGroups).await; + + overseer_send(virtual_overseer, CollatorProtocolMessage::CollateOn(test_state.para_id)) + .await; + + update_view( + Some(test_state.current_group_validator_authority_ids()), + &test_state, + virtual_overseer, + vec![(test_state.relay_parent, 10)], + 1, + ) + .await; + + // Connect peer with matching authority ID + connect_peer(virtual_overseer, peer, CollationVersion::V2, Some(validator_id.clone())) + .await; + expect_declare_msg(virtual_overseer, &test_state, &peer).await; + + // Distribute a collation + let DistributeCollation { candidate, .. } = distribute_collation( + virtual_overseer, + test_state.current_group_validator_authority_ids(), + &test_state, + test_state.relay_parent, + CoreIndex(0), + ) + .await; + + // Peer view change triggers advertisement + send_peer_view_change(virtual_overseer, &peer, vec![test_state.relay_parent]).await; + + // First advertisement + expect_advertise_collation_msg( + virtual_overseer, + &[peer], + test_state.relay_parent, + vec![candidate.hash()], + ) + .await; + + // Send UpdatedAuthorityIds with the same authority ID + overseer_send( + virtual_overseer, + CollatorProtocolMessage::NetworkBridgeUpdate( + NetworkBridgeEvent::UpdatedAuthorityIds(peer, HashSet::from([validator_id])), + ), + ) + .await; + + // No duplicate advertisement should happen (already advertised to this validator) + assert!( + overseer_recv_with_timeout(virtual_overseer, TIMEOUT).await.is_none(), + "Should not re-advertise to peer that was already advertised to" + ); + + test_harness + }, + ) +} diff --git a/polkadot/node/network/collator-protocol/src/collator_side/tests/prospective_parachains.rs b/polkadot/node/network/collator-protocol/src/collator_side/tests/prospective_parachains.rs index 21e3ab152bb1e..26629329aa6d6 100644 --- a/polkadot/node/network/collator-protocol/src/collator_side/tests/prospective_parachains.rs +++ b/polkadot/node/network/collator-protocol/src/collator_side/tests/prospective_parachains.rs @@ -162,7 +162,7 @@ pub(super) async fn update_view( let Some(msg) = overseer_peek_with_timeout(virtual_overseer, Duration::from_millis(50)).await else { - return + return; }; if !matches!( @@ -171,7 +171,7 @@ pub(super) async fn update_view( if *_hash == hash ) { // Ancestry has already been cached for this leaf. - break + break; } assert_matches!( @@ -221,7 +221,7 @@ pub(super) async fn update_view( RuntimeApiRequest::SessionIndexForChild(_), )) ) { - break + break; } if matches!( diff --git a/polkadot/node/network/collator-protocol/src/lib.rs b/polkadot/node/network/collator-protocol/src/lib.rs index 07e2d530073ca..8c37b6be53654 100644 --- a/polkadot/node/network/collator-protocol/src/lib.rs +++ b/polkadot/node/network/collator-protocol/src/lib.rs @@ -23,6 +23,7 @@ use std::{ collections::HashSet, + sync::Arc, time::{Duration, Instant}, }; @@ -31,22 +32,24 @@ use futures::{ FutureExt, TryFutureExt, }; -use polkadot_node_subsystem_util::reputation::ReputationAggregator; +use polkadot_node_subsystem_util::{database::Database, reputation::ReputationAggregator}; use sp_keystore::KeystorePtr; use polkadot_node_network_protocol::{ request_response::{v2 as protocol_v2, IncomingRequestReceiver}, PeerId, UnifiedReputationChange as Rep, }; -use polkadot_primitives::CollatorPair; - use polkadot_node_subsystem::{errors::SubsystemError, overseer, DummySubsystem, SpawnedSubsystem}; +use polkadot_primitives::CollatorPair; +pub use validator_side_experimental::ReputationConfig; mod collator_side; mod validator_side; -#[cfg(feature = "experimental-collator-protocol")] mod validator_side_experimental; +// TODO: move into validator_side_experimental once `validator_side` is retired +mod validator_side_metrics; + const LOG_TARGET: &'static str = "parachain::collator-protocol"; const LOG_TARGET_STATS: &'static str = "parachain::collator-protocol::stats"; @@ -84,12 +87,15 @@ pub enum ProtocolSide { collator_protocol_hold_off: Option, }, /// Experimental variant of the validator side. Do not use in production. - #[cfg(feature = "experimental-collator-protocol")] ValidatorExperimental { /// The keystore holding validator keys. keystore: KeystorePtr, /// Prometheus metrics for validators. metrics: validator_side_experimental::Metrics, + /// Database used for reputation house keeping. + db: Arc, + /// Reputation configuration (column number). + reputation_config: validator_side_experimental::ReputationConfig, }, /// Collators operate on a parachain. Collator { @@ -114,9 +120,6 @@ pub struct CollatorProtocolSubsystem { #[overseer::contextbounds(CollatorProtocol, prefix = self::overseer)] impl CollatorProtocolSubsystem { /// Start the collator protocol. - /// If `id` is `Some` this is a collator side of the protocol. - /// If `id` is `None` this is a validator side of the protocol. - /// Caller must provide a registry for prometheus metrics. pub fn new(protocol_side: ProtocolSide) -> Self { Self { protocol_side } } @@ -150,15 +153,16 @@ impl CollatorProtocolSubsystem { .map_err(|e| SubsystemError::with_origin("collator-protocol", e)) .boxed() }, - #[cfg(feature = "experimental-collator-protocol")] - ProtocolSide::ValidatorExperimental { keystore, metrics } => - validator_side_experimental::run(ctx, keystore, metrics) + ProtocolSide::ValidatorExperimental { keystore, metrics, db, reputation_config } => { + validator_side_experimental::run(ctx, keystore, metrics, db, reputation_config) .map_err(|e| SubsystemError::with_origin("collator-protocol", e)) - .boxed(), - ProtocolSide::Collator { peer_id, collator_pair, request_receiver_v2, metrics } => + .boxed() + }, + ProtocolSide::Collator { peer_id, collator_pair, request_receiver_v2, metrics } => { collator_side::run(ctx, peer_id, collator_pair, request_receiver_v2, metrics) .map_err(|e| SubsystemError::with_origin("collator-protocol", e)) - .boxed(), + .boxed() + }, ProtocolSide::None => return DummySubsystem.start(ctx), }; diff --git a/polkadot/node/network/collator-protocol/src/validator_side/claim_queue_state.rs b/polkadot/node/network/collator-protocol/src/validator_side/claim_queue_state.rs deleted file mode 100644 index 2b69f1a0ca714..0000000000000 --- a/polkadot/node/network/collator-protocol/src/validator_side/claim_queue_state.rs +++ /dev/null @@ -1,1032 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Polkadot. - -// Polkadot is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// Polkadot is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with Polkadot. If not, see . - -//! `ClaimQueueState` tracks the state of the claim queue over a set of relay blocks. Refer to -//! [`ClaimQueueState`] for more details. - -use std::collections::VecDeque; - -use polkadot_primitives::{Hash, Id as ParaId}; - -/// Represents a single claim from the claim queue, mapped to the relay chain block where it could -/// be backed on-chain. -#[derive(Debug, PartialEq)] -struct ClaimInfo { - // Hash of the relay chain block. Can be `None` if it is still not known (a future block). - hash: Option, - /// Represents the `ParaId` scheduled for the block. Can be `None` if nothing is scheduled. - claim: Option, - /// The length of the claim queue at the block. It is used to determine the 'block window' - /// where a claim can be made. - claim_queue_len: usize, - /// A flag that indicates if the slot is claimed or not. - claimed: bool, -} - -/// Tracks the state of the claim queue over a set of relay blocks. -/// -/// Generally the claim queue represents the `ParaId` that should be scheduled at the current block -/// (the first element of the claim queue) and N other `ParaId`s which are supposed to be scheduled -/// on the next relay blocks. In other words the claim queue is a rolling window giving a hint what -/// should be built/fetched/accepted (depending on the context) at each block. -/// -/// Since the claim queue peeks into the future blocks there is a relation between the claim queue -/// state between the current block and the future blocks. -/// Let's see an example with 2 co-scheduled parachains: -/// - relay parent 1; Claim queue: [A, B, A] -/// - relay parent 2; Claim queue: [B, A, B] -/// - relay parent 3; Claim queue: [A, B, A] -/// - and so on -/// -/// Note that at rp1 the second element in the claim queue is equal to the first one in rp2. Also -/// the third element of the claim queue at rp1 is equal to the second one in rp2 and the first one -/// in rp3. -/// -/// So if we want to claim the third slot at rp 1 we are also claiming the second at rp2 and first -/// at rp3. To track this in a simple way we can project the claim queue onto the relay blocks like -/// this: -/// [A] [B] [A] -> this is the claim queue at rp3 -/// [B] [A] [B] -> this is the claim queue at rp2 -/// [A] [B] [A] -> this is the claim queue at rp1 -/// [RP 1][RP 2][RP 3][RP X][RP Y] -> relay blocks, RP x and RP Y are future blocks -/// -/// Note that the claims at each column are the same so we can simplify this by just projecting a -/// single claim over a block: -/// [A] [B] [A] [B] [A] -> claims effectively are the same -/// [RP 1][RP 2][RP 3][RP X][RP Y] -> relay blocks, RP x and RP Y are future blocks -/// -/// Basically this is how `ClaimQueueState` works. It keeps track of claims at each block by mapping -/// claims to relay blocks. -/// -/// How making a claim works? -/// At each relay block we keep track how long is the claim queue. This is a 'window' where we can -/// make a claim. So adding a claim just looks for a free spot at this window and claims it. -/// -/// Note on adding a new leaf. -/// When a new leaf is added we check if the first element in its claim queue matches with the -/// projection on the first element in 'future blocks'. If yes - the new relay block inherits this -/// claim. If not - this means that the claim queue changed for some reason so the claim can't be -/// inherited. This should not happen under normal circumstances. But if it happens it means that we -/// have got one claim which won't be satisfied in the worst case scenario. -pub(crate) struct ClaimQueueState { - block_state: VecDeque, - future_blocks: VecDeque, -} - -impl ClaimQueueState { - pub(crate) fn new() -> Self { - Self { block_state: VecDeque::new(), future_blocks: VecDeque::new() } - } - - // Appends a new leaf - pub(crate) fn add_leaf(&mut self, hash: &Hash, claim_queue: &Vec) { - if self.block_state.iter().any(|s| s.hash == Some(*hash)) { - return - } - - // First check if our view for the future blocks is consistent with the one in the claim - // queue of the new block. If not - the claim queue has changed for some reason and we need - // to readjust our view. - for (idx, expected_claim) in claim_queue.iter().enumerate() { - match self.future_blocks.get_mut(idx) { - Some(future_block) => - if future_block.claim.as_ref() != Some(expected_claim) { - // There is an inconsistency. Update our view with the one from the claim - // queue. `claimed` can't be true anymore since the `ParaId` has changed. - future_block.claimed = false; - future_block.claim = Some(*expected_claim); - }, - None => { - self.future_blocks.push_back(ClaimInfo { - hash: None, - claim: Some(*expected_claim), - // For future blocks we don't know the size of the claim queue. - // `claim_queue_len` could be an option but there is not much benefit from - // the extra boilerplate code to handle it. We set it to one since we - // usually know about one claim at each future block but this value is not - // used anywhere in the code. - claim_queue_len: 1, - claimed: false, - }); - }, - } - } - - // Now pop the first future block and add it as a leaf - let claim_info = if let Some(new_leaf) = self.future_blocks.pop_front() { - ClaimInfo { - hash: Some(*hash), - claim: claim_queue.first().copied(), - claim_queue_len: claim_queue.len(), - claimed: new_leaf.claimed, - } - } else { - // maybe the claim queue was empty but we still need to add a leaf - ClaimInfo { - hash: Some(*hash), - claim: claim_queue.first().copied(), - claim_queue_len: claim_queue.len(), - claimed: false, - } - }; - - // `future_blocks` can't be longer than the length of the claim queue at the last block - 1. - // For example this can happen if at relay block N we have got a claim queue of a length 4 - // and it's shrunk to 2. - self.future_blocks.truncate(claim_queue.len().saturating_sub(1)); - - self.block_state.push_back(claim_info); - } - - fn get_window<'a>( - &'a mut self, - relay_parent: &'a Hash, - ) -> impl Iterator + 'a { - let mut window = self - .block_state - .iter_mut() - .skip_while(|b| b.hash != Some(*relay_parent)) - .peekable(); - let cq_len = window.peek().map_or(0, |b| b.claim_queue_len); - window.chain(self.future_blocks.iter_mut()).take(cq_len) - } - - pub(crate) fn claim_at(&mut self, relay_parent: &Hash, para_id: &ParaId) -> bool { - self.find_a_claim(relay_parent, para_id, true) - } - - pub(crate) fn can_claim_at(&mut self, relay_parent: &Hash, para_id: &ParaId) -> bool { - self.find_a_claim(relay_parent, para_id, false) - } - - // Returns `true` if there is a claim within `relay_parent`'s view of the claim queue for - // `para_id`. If `claim_it` is set to `true` the slot is claimed. Otherwise the function just - // reports the availability of the slot. - fn find_a_claim(&mut self, relay_parent: &Hash, para_id: &ParaId, claim_it: bool) -> bool { - let window = self.get_window(relay_parent); - - for w in window { - if !w.claimed && w.claim == Some(*para_id) { - w.claimed = claim_it; - return true - } - } - - false - } - - pub(crate) fn unclaimed_at(&mut self, relay_parent: &Hash) -> Vec { - let window = self.get_window(relay_parent); - - window.filter(|b| !b.claimed).filter_map(|b| b.claim).collect() - } -} - -#[cfg(test)] -mod test { - use super::*; - - #[test] - fn sane_initial_state() { - let mut state = ClaimQueueState::new(); - let relay_parent = Hash::from_low_u64_be(1); - let para_id = ParaId::new(1); - - assert!(!state.can_claim_at(&relay_parent, ¶_id)); - assert!(!state.claim_at(&relay_parent, ¶_id)); - assert_eq!(state.unclaimed_at(&relay_parent), vec![]); - } - - #[test] - fn add_leaf_works() { - let mut state = ClaimQueueState::new(); - let relay_parent_a = Hash::from_low_u64_be(1); - let para_id = ParaId::new(1); - let claim_queue = vec![para_id, para_id, para_id]; - - state.add_leaf(&relay_parent_a, &claim_queue); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id, para_id, para_id]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id), - claim_queue_len: 3, - claimed: false, - },]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: false }, - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: false } - ]) - ); - - // should be no op - state.add_leaf(&relay_parent_a, &claim_queue); - assert_eq!(state.block_state.len(), 1); - assert_eq!(state.future_blocks.len(), 2); - - // add another leaf - let relay_parent_b = Hash::from_low_u64_be(2); - state.add_leaf(&relay_parent_b, &claim_queue); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ - ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id), - claim_queue_len: 3, - claimed: false, - }, - ClaimInfo { - hash: Some(relay_parent_b), - claim: Some(para_id), - claim_queue_len: 3, - claimed: false, - } - ]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: false }, - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: false } - ]) - ); - - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id, para_id, para_id]); - assert_eq!(state.unclaimed_at(&relay_parent_b), vec![para_id, para_id, para_id]); - } - - #[test] - fn claims_at_separate_relay_parents_work() { - let mut state = ClaimQueueState::new(); - let relay_parent_a = Hash::from_low_u64_be(1); - let relay_parent_b = Hash::from_low_u64_be(2); - let para_id = ParaId::new(1); - let claim_queue = vec![para_id, para_id, para_id]; - - state.add_leaf(&relay_parent_a, &claim_queue); - state.add_leaf(&relay_parent_b, &claim_queue); - - // add one claim for a - assert!(state.can_claim_at(&relay_parent_a, ¶_id)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id, para_id, para_id]); - assert!(state.claim_at(&relay_parent_a, ¶_id)); - - // and one for b - assert!(state.can_claim_at(&relay_parent_b, ¶_id)); - assert_eq!(state.unclaimed_at(&relay_parent_b), vec![para_id, para_id, para_id]); - assert!(state.claim_at(&relay_parent_b, ¶_id)); - - // a should have one claim since the one for b was claimed - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id]); - // and two more for b - assert_eq!(state.unclaimed_at(&relay_parent_b), vec![para_id, para_id]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ - ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id), - claim_queue_len: 3, - claimed: true, - }, - ClaimInfo { - hash: Some(relay_parent_b), - claim: Some(para_id), - claim_queue_len: 3, - claimed: true, - } - ]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: false }, - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: false } - ]) - ); - } - - #[test] - fn claims_are_transferred_to_next_slot() { - let mut state = ClaimQueueState::new(); - let relay_parent_a = Hash::from_low_u64_be(1); - let para_id = ParaId::new(1); - let claim_queue = vec![para_id, para_id, para_id]; - - state.add_leaf(&relay_parent_a, &claim_queue); - - // add two claims, 2nd should be transferred to a new leaf - assert!(state.can_claim_at(&relay_parent_a, ¶_id)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id, para_id, para_id]); - assert!(state.claim_at(&relay_parent_a, ¶_id)); - - assert!(state.can_claim_at(&relay_parent_a, ¶_id)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id, para_id]); - assert!(state.claim_at(&relay_parent_a, ¶_id)); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id), - claim_queue_len: 3, - claimed: true, - },]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: true }, - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: false } - ]) - ); - - // one more - assert!(state.can_claim_at(&relay_parent_a, ¶_id)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id]); - assert!(state.claim_at(&relay_parent_a, ¶_id)); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id), - claim_queue_len: 3, - claimed: true, - },]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: true }, - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: true } - ]) - ); - - // no more claims - assert!(!state.can_claim_at(&relay_parent_a, ¶_id)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![]); - } - - #[test] - fn claims_are_transferred_to_new_leaves() { - let mut state = ClaimQueueState::new(); - let relay_parent_a = Hash::from_low_u64_be(1); - let para_id = ParaId::new(1); - let claim_queue = vec![para_id, para_id, para_id]; - - state.add_leaf(&relay_parent_a, &claim_queue); - - for _ in 0..3 { - assert!(state.can_claim_at(&relay_parent_a, ¶_id)); - assert!(state.claim_at(&relay_parent_a, ¶_id)); - } - - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id), - claim_queue_len: 3, - claimed: true, - },]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: true }, - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: true } - ]) - ); - - // no more claims - assert!(!state.can_claim_at(&relay_parent_a, ¶_id)); - - // new leaf - let relay_parent_b = Hash::from_low_u64_be(2); - state.add_leaf(&relay_parent_b, &claim_queue); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ - ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id), - claim_queue_len: 3, - claimed: true, - }, - ClaimInfo { - hash: Some(relay_parent_b), - claim: Some(para_id), - claim_queue_len: 3, - claimed: true, - } - ]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: true }, - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: false } - ]) - ); - - // still no claims for a - assert!(!state.can_claim_at(&relay_parent_a, ¶_id)); - - // but can accept for b - assert!(state.can_claim_at(&relay_parent_b, ¶_id)); - assert!(state.claim_at(&relay_parent_b, ¶_id)); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ - ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id), - claim_queue_len: 3, - claimed: true, - }, - ClaimInfo { - hash: Some(relay_parent_b), - claim: Some(para_id), - claim_queue_len: 3, - claimed: true, - } - ]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: true }, - ClaimInfo { hash: None, claim: Some(para_id), claim_queue_len: 1, claimed: true } - ]) - ); - } - - #[test] - fn two_paras() { - let mut state = ClaimQueueState::new(); - let relay_parent_a = Hash::from_low_u64_be(1); - let para_id_a = ParaId::new(1); - let para_id_b = ParaId::new(2); - let claim_queue = vec![para_id_a, para_id_b, para_id_a]; - - state.add_leaf(&relay_parent_a, &claim_queue); - assert!(state.can_claim_at(&relay_parent_a, ¶_id_a)); - assert!(state.can_claim_at(&relay_parent_a, ¶_id_b)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id_a, para_id_b, para_id_a]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id_a), - claim_queue_len: 3, - claimed: false, - },]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { - hash: None, - claim: Some(para_id_b), - claim_queue_len: 1, - claimed: false - }, - ClaimInfo { - hash: None, - claim: Some(para_id_a), - claim_queue_len: 1, - claimed: false - } - ]) - ); - - assert!(state.claim_at(&relay_parent_a, ¶_id_a)); - assert!(state.can_claim_at(&relay_parent_a, ¶_id_a)); - assert!(state.can_claim_at(&relay_parent_a, ¶_id_b)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id_b, para_id_a]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id_a), - claim_queue_len: 3, - claimed: true, - },]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { - hash: None, - claim: Some(para_id_b), - claim_queue_len: 1, - claimed: false - }, - ClaimInfo { - hash: None, - claim: Some(para_id_a), - claim_queue_len: 1, - claimed: false - } - ]) - ); - - assert!(state.claim_at(&relay_parent_a, ¶_id_a)); - assert!(!state.can_claim_at(&relay_parent_a, ¶_id_a)); - assert!(state.can_claim_at(&relay_parent_a, ¶_id_b)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id_b]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id_a), - claim_queue_len: 3, - claimed: true, - },]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { - hash: None, - claim: Some(para_id_b), - claim_queue_len: 1, - claimed: false - }, - ClaimInfo { hash: None, claim: Some(para_id_a), claim_queue_len: 1, claimed: true } - ]) - ); - - assert!(state.claim_at(&relay_parent_a, ¶_id_b)); - assert!(!state.can_claim_at(&relay_parent_a, ¶_id_a)); - assert!(!state.can_claim_at(&relay_parent_a, ¶_id_b)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id_a), - claim_queue_len: 3, - claimed: true, - },]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { hash: None, claim: Some(para_id_b), claim_queue_len: 1, claimed: true }, - ClaimInfo { hash: None, claim: Some(para_id_a), claim_queue_len: 1, claimed: true } - ]) - ); - } - - #[test] - fn claim_queue_changes_unexpectedly() { - let mut state = ClaimQueueState::new(); - let relay_parent_a = Hash::from_low_u64_be(1); - let para_id_a = ParaId::new(1); - let para_id_b = ParaId::new(2); - let claim_queue_a = vec![para_id_a, para_id_b, para_id_a]; - - state.add_leaf(&relay_parent_a, &claim_queue_a); - assert!(state.can_claim_at(&relay_parent_a, ¶_id_a)); - assert!(state.can_claim_at(&relay_parent_a, ¶_id_b)); - assert!(state.claim_at(&relay_parent_a, ¶_id_a)); - assert!(state.claim_at(&relay_parent_a, ¶_id_a)); - assert!(state.claim_at(&relay_parent_a, ¶_id_b)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id_a), - claim_queue_len: 3, - claimed: true, - },]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { hash: None, claim: Some(para_id_b), claim_queue_len: 1, claimed: true }, - ClaimInfo { hash: None, claim: Some(para_id_a), claim_queue_len: 1, claimed: true } - ]) - ); - - let relay_parent_b = Hash::from_low_u64_be(2); - let claim_queue_b = vec![para_id_a, para_id_a, para_id_a]; // should be [b, a, ...] - state.add_leaf(&relay_parent_b, &claim_queue_b); - - // because of the unexpected change in claim queue we lost the claim for paraB and have one - // unclaimed for paraA - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id_a]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ - ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id_a), - claim_queue_len: 3, - claimed: true, - }, - ClaimInfo { - hash: Some(relay_parent_b), - claim: Some(para_id_a), - claim_queue_len: 3, - claimed: false, - } - ]) - ); - assert_eq!( - state.future_blocks, - // since the 3rd slot of the claim queue at rp1 is equal to the second one in rp2, this - // claim still exists - VecDeque::from(vec![ - ClaimInfo { hash: None, claim: Some(para_id_a), claim_queue_len: 1, claimed: true }, - ClaimInfo { - hash: None, - claim: Some(para_id_a), - claim_queue_len: 1, - claimed: false - } - ]) - ); - } - - #[test] - fn claim_queue_changes_unexpectedly_with_two_blocks() { - let mut state = ClaimQueueState::new(); - let relay_parent_a = Hash::from_low_u64_be(1); - let para_id_a = ParaId::new(1); - let para_id_b = ParaId::new(2); - let claim_queue_a = vec![para_id_a, para_id_b, para_id_b]; - - state.add_leaf(&relay_parent_a, &claim_queue_a); - assert!(state.can_claim_at(&relay_parent_a, ¶_id_a)); - assert!(state.can_claim_at(&relay_parent_a, ¶_id_b)); - assert!(state.claim_at(&relay_parent_a, ¶_id_a)); - assert!(state.claim_at(&relay_parent_a, ¶_id_b)); - assert!(state.claim_at(&relay_parent_a, ¶_id_b)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id_a), - claim_queue_len: 3, - claimed: true, - },]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { hash: None, claim: Some(para_id_b), claim_queue_len: 1, claimed: true }, - ClaimInfo { hash: None, claim: Some(para_id_b), claim_queue_len: 1, claimed: true } - ]) - ); - - let relay_parent_b = Hash::from_low_u64_be(2); - let claim_queue_b = vec![para_id_a, para_id_a, para_id_a]; // should be [b, b, ...] - state.add_leaf(&relay_parent_b, &claim_queue_b); - - // because of the unexpected change in claim queue we lost both claims for paraB and have - // two unclaimed for paraA - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id_a, para_id_a]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ - ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id_a), - claim_queue_len: 3, - claimed: true, - }, - ClaimInfo { - hash: Some(relay_parent_b), - claim: Some(para_id_a), - claim_queue_len: 3, - claimed: false, - } - ]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { - hash: None, - claim: Some(para_id_a), - claim_queue_len: 1, - claimed: false - }, - ClaimInfo { - hash: None, - claim: Some(para_id_a), - claim_queue_len: 1, - claimed: false - } - ]) - ); - } - - #[test] - fn empty_claim_queue() { - let mut state = ClaimQueueState::new(); - let relay_parent_a = Hash::from_low_u64_be(1); - let para_id_a = ParaId::new(1); - let claim_queue_a = vec![]; - - state.add_leaf(&relay_parent_a, &claim_queue_a); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: None, - claim_queue_len: 0, - claimed: false, - },]) - ); - // no claim queue so we know nothing about future blocks - assert!(state.future_blocks.is_empty()); - - assert!(!state.can_claim_at(&relay_parent_a, ¶_id_a)); - assert!(!state.claim_at(&relay_parent_a, ¶_id_a)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![]); - - let relay_parent_b = Hash::from_low_u64_be(2); - let claim_queue_b = vec![para_id_a]; - state.add_leaf(&relay_parent_b, &claim_queue_b); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ - ClaimInfo { - hash: Some(relay_parent_a), - claim: None, - claim_queue_len: 0, - claimed: false, - }, - ClaimInfo { - hash: Some(relay_parent_b), - claim: Some(para_id_a), - claim_queue_len: 1, - claimed: false, - }, - ]) - ); - // claim queue with length 1 doesn't say anything about future blocks - assert!(state.future_blocks.is_empty()); - - assert!(!state.can_claim_at(&relay_parent_a, ¶_id_a)); - assert!(!state.claim_at(&relay_parent_a, ¶_id_a)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![]); - - assert!(state.can_claim_at(&relay_parent_b, ¶_id_a)); - assert_eq!(state.unclaimed_at(&relay_parent_b), vec![para_id_a]); - assert!(state.claim_at(&relay_parent_b, ¶_id_a)); - - let relay_parent_c = Hash::from_low_u64_be(3); - let claim_queue_c = vec![para_id_a, para_id_a]; - state.add_leaf(&relay_parent_c, &claim_queue_c); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ - ClaimInfo { - hash: Some(relay_parent_a), - claim: None, - claim_queue_len: 0, - claimed: false, - }, - ClaimInfo { - hash: Some(relay_parent_b), - claim: Some(para_id_a), - claim_queue_len: 1, - claimed: true, - }, - ClaimInfo { - hash: Some(relay_parent_c), - claim: Some(para_id_a), - claim_queue_len: 2, - claimed: false, - }, - ]) - ); - // claim queue with length 2 fills only one future block - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ClaimInfo { - hash: None, - claim: Some(para_id_a), - claim_queue_len: 1, - claimed: false, - },]) - ); - - assert!(!state.can_claim_at(&relay_parent_a, ¶_id_a)); - assert!(!state.claim_at(&relay_parent_a, ¶_id_a)); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![]); - - // already claimed - assert!(!state.can_claim_at(&relay_parent_b, ¶_id_a)); - assert_eq!(state.unclaimed_at(&relay_parent_b), vec![]); - assert!(!state.claim_at(&relay_parent_b, ¶_id_a)); - - assert!(state.can_claim_at(&relay_parent_c, ¶_id_a)); - assert_eq!(state.unclaimed_at(&relay_parent_c), vec![para_id_a, para_id_a]); - } - - #[test] - fn claim_queue_becomes_shorter() { - let mut state = ClaimQueueState::new(); - let relay_parent_a = Hash::from_low_u64_be(1); - let para_id_a = ParaId::new(1); - let para_id_b = ParaId::new(2); - let claim_queue_a = vec![para_id_a, para_id_b, para_id_a]; - - state.add_leaf(&relay_parent_a, &claim_queue_a); - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id_a, para_id_b, para_id_a]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id_a), - claim_queue_len: 3, - claimed: false, - },]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { - hash: None, - claim: Some(para_id_b), - claim_queue_len: 1, - claimed: false - }, - ClaimInfo { - hash: None, - claim: Some(para_id_a), - claim_queue_len: 1, - claimed: false - } - ]) - ); - - let relay_parent_b = Hash::from_low_u64_be(2); - let claim_queue_b = vec![para_id_a, para_id_b]; // should be [b, a] - state.add_leaf(&relay_parent_b, &claim_queue_b); - - assert_eq!(state.unclaimed_at(&relay_parent_b), vec![para_id_a, para_id_b]); - // claims for `relay_parent_a` has changed. - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id_a, para_id_a, para_id_b]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ - ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id_a), - claim_queue_len: 3, - claimed: false, - }, - ClaimInfo { - hash: Some(relay_parent_b), - claim: Some(para_id_a), - claim_queue_len: 2, - claimed: false, - } - ]) - ); - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ClaimInfo { - hash: None, - claim: Some(para_id_b), - claim_queue_len: 1, - claimed: false - },]) - ); - } - - #[test] - fn claim_queue_becomes_shorter_and_drops_future_claims() { - let mut state = ClaimQueueState::new(); - let relay_parent_a = Hash::from_low_u64_be(1); - let para_id_a = ParaId::new(1); - let para_id_b = ParaId::new(2); - let claim_queue_a = vec![para_id_a, para_id_b, para_id_a, para_id_b]; - - state.add_leaf(&relay_parent_a, &claim_queue_a); - - assert_eq!( - state.unclaimed_at(&relay_parent_a), - vec![para_id_a, para_id_b, para_id_a, para_id_b] - ); - - // We start with claim queue len 4. - assert_eq!( - state.block_state, - VecDeque::from(vec![ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id_a), - claim_queue_len: 4, - claimed: false, - },]) - ); - // we have got three future blocks - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ - ClaimInfo { - hash: None, - claim: Some(para_id_b), - claim_queue_len: 1, - claimed: false - }, - ClaimInfo { - hash: None, - claim: Some(para_id_a), - claim_queue_len: 1, - claimed: false - }, - ClaimInfo { - hash: None, - claim: Some(para_id_b), - claim_queue_len: 1, - claimed: false - } - ]) - ); - - // The next claim len is 2, so we loose one future block - let relay_parent_b = Hash::from_low_u64_be(2); - let para_id_a = ParaId::new(1); - let para_id_b = ParaId::new(2); - let claim_queue_b = vec![para_id_b, para_id_a]; - state.add_leaf(&relay_parent_b, &claim_queue_b); - - assert_eq!(state.unclaimed_at(&relay_parent_a), vec![para_id_a, para_id_b, para_id_a]); - assert_eq!(state.unclaimed_at(&relay_parent_b), vec![para_id_b, para_id_a]); - - assert_eq!( - state.block_state, - VecDeque::from(vec![ - ClaimInfo { - hash: Some(relay_parent_a), - claim: Some(para_id_a), - claim_queue_len: 4, - claimed: false, - }, - ClaimInfo { - hash: Some(relay_parent_b), - claim: Some(para_id_b), - claim_queue_len: 2, - claimed: false, - } - ]) - ); - - assert_eq!( - state.future_blocks, - VecDeque::from(vec![ClaimInfo { - hash: None, - claim: Some(para_id_a), - claim_queue_len: 1, - claimed: false - },]) - ); - } -} diff --git a/polkadot/node/network/collator-protocol/src/validator_side/claim_queue_state/basic.rs b/polkadot/node/network/collator-protocol/src/validator_side/claim_queue_state/basic.rs new file mode 100644 index 0000000000000..2db971c7f1f3d --- /dev/null +++ b/polkadot/node/network/collator-protocol/src/validator_side/claim_queue_state/basic.rs @@ -0,0 +1,1535 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +use super::*; +use crate::LOG_TARGET; + +use std::collections::{HashMap, HashSet, VecDeque}; + +use polkadot_primitives::{CandidateHash, Hash, Id as ParaId}; + +/// Tracks the state of the claim queue over a set of relay blocks. +/// +/// Generally the claim queue represents the `ParaId` that should be scheduled at the current block +/// (the first element of the claim queue) and N other `ParaId`s which are supposed to be scheduled +/// on the next relay blocks. In other words the claim queue is a rolling window giving a hint what +/// should be built/fetched/accepted (depending on the context) at each block. +/// +/// Since the claim queue peeks into the future blocks there is a relation between the claim queue +/// state between the current block and the future blocks. +/// Let's see an example with 2 co-scheduled parachains: +/// - relay parent 1; Claim queue: [A, B, A] +/// - relay parent 2; Claim queue: [B, A, B] +/// - relay parent 3; Claim queue: [A, B, A] +/// - and so on +/// +/// Note that at rp1 the second element in the claim queue is equal to the first one in rp2. Also +/// the third element of the claim queue at rp1 is equal to the second one in rp2 and the first one +/// in rp3. +/// +/// So if we want to claim the third slot at rp 1 we are also claiming the second at rp2 and first +/// at rp3. To track this in a simple way we can project the claim queue onto the relay blocks like +/// this: +/// [A] [B] [A] -> this is the claim queue at rp3 +/// [B] [A] [B] -> this is the claim queue at rp2 +/// [A] [B] [A] -> this is the claim queue at rp1 +/// [RP 1][RP 2][RP 3][RP X][RP Y] -> relay blocks, RP x and RP Y are future blocks +/// +/// Note that the claims at each column are the same so we can simplify this by just projecting a +/// single claim over a block: +/// [A] [B] [A] [B] [A] -> claims effectively are the same +/// [RP 1][RP 2][RP 3][RP X][RP Y] -> relay blocks, RP x and RP Y are future blocks +/// +/// Basically this is how `ClaimQueueState` works. It keeps track of claims at each block by mapping +/// claims to relay blocks. +/// +/// How making a claim works? +/// At each relay block we keep track how long is the claim queue. This is a 'window' where we can +/// make a claim. So adding a claim just looks for a free spot at this window and claims it. +/// +/// Note on adding a new leaf. +/// When a new leaf is added we check if the first element in its claim queue matches with the +/// projection on the first element in 'future blocks'. If yes - the new relay block inherits this +/// claim. If not - this means that the claim queue changed for some reason so the claim can't be +/// inherited. This should not happen under normal circumstances. But if it happens it means that we +/// have got one claim which won't be satisfied in the worst case scenario. +pub(crate) struct ClaimQueueState { + /// Represents blocks which are already created. + /// `[RP 2]`, `[RP 2]` and `[RP 3]` in the example above would be part of the `block_state`. + pub(super) block_state: VecDeque, + /// Represents blocks which are yet to be created. The claim queue at a leaf tells us what's + /// scheduled on the next two blocks. Since they are not yet authored we keep them separate + /// here. + /// `[RP X]` and `[RP Y]` in the example above are future blocks. + future_blocks: VecDeque, + /// Candidates with claimed slots per relay parent. We need this information in order to remove + /// claims. The key is the relay parent of the candidate and the value - the set of candidates + /// at it. + /// + /// Note 1: We can't map the candidates to an exact slot since we need to keep track on their + /// ordering which will be an overkill in the context of `ClaimQueueState`. That's why we keep + /// the claims on first came first claimed basis. + /// + /// Let's say there are three candidates built on top of each other A->B->C. We claim slots for + /// them in the order we receive them. If we receive them out of order the claims will be out + /// of order too, but this is fine since we only care about the count. If we fetch B and C + /// successfully and can't fetch A the user of `ClaimQueueState` must make sure that B and C + /// are removed. + /// + /// Note 2: During pruning we remove all the candidates for the pruned relay parent because we + /// no longer need to know about them. If the claim was not undone so far - it will be + /// permanent. + candidates_per_rp: HashMap>, +} + +impl ClaimQueueState { + /// Create an empty `ClaimQueueState`. Use [`add_leaf`] to populate it. + pub(crate) fn new() -> Self { + Self { + block_state: VecDeque::new(), + future_blocks: VecDeque::new(), + candidates_per_rp: HashMap::new(), + } + } + + /// Creates a fork of the claim queue at `target_relay_parent`. Returns `ClaimQueueState` for + /// the new fork where the last block is `target_relay_parent`. + /// + /// For the fork: + /// - The `block_state` will contain all the claims up until the provided `target_relay_parent` + /// - The `future_blocks` will contain all the claims in the window of the `target_relay_parent` + /// - All other claims are dropped + pub(super) fn fork(&self, target_relay_parent: &Hash) -> Option { + // don't fork from the last block! + if self.block_state.back().and_then(|state| state.hash) == Some(*target_relay_parent) { + return None; + } + + let (window, maybe_target_index) = Self::get_window_and_start_idx( + self.block_state.iter(), + self.future_blocks.iter(), + target_relay_parent, + ); + + // Only the claims up until the `target_relay_parent` should be included in the + // `block_state` of the fork. + let target_index = maybe_target_index?; + let block_state = + self.block_state.iter().cloned().take(target_index + 1).collect::>(); + + let mut candidates_per_rp = HashMap::new(); + let mut candidates_in_view = HashSet::new(); + for rp in block_state.iter().filter_map(|claim| claim.hash) { + if let Some(candidates) = self.candidates_per_rp.get(&rp) { + candidates_per_rp.insert(rp, candidates.clone()); + candidates_in_view.extend(candidates); + } + } + + // Transfer any claims from the target relay parent's ancestors onto the new path. + // Example: + // old_state: [A B C D]; target_relay_parent = B; + // Any claims on C and D should also be transferred to the new fork. Because when we claim a + // slot at relay parent X we claim it at all possible forks. + // Also note that only claims for candidates which fall within new fork's view are + // transferred. + let future_blocks = window + .skip(1) + .map(|c| ClaimInfo { + hash: None, + claim: c.claim, + claim_queue_len: 1, + claimed: c.claimed.clone_or_default(&candidates_in_view), + }) + .collect::>(); + + Some(ClaimQueueState { block_state, future_blocks, candidates_per_rp }) + } + + /// Appends a new leaf with its corresponding claim queue to the state. + pub(crate) fn add_leaf(&mut self, hash: &Hash, claim_queue: &VecDeque) { + if self.block_state.iter().any(|s| s.hash == Some(*hash)) { + return; + } + + // First check if our view for the future blocks is consistent with the one in the claim + // queue of the new block. If not - the claim queue has changed for some reason and we need + // to readjust our view. + for (idx, expected_claim) in claim_queue.iter().enumerate() { + match self.future_blocks.get_mut(idx) { + Some(future_block) => { + let future_claim = future_block.claim.as_ref(); + if future_claim != Some(expected_claim) { + gum::warn!( + target: LOG_TARGET, + ?future_claim, + ?expected_claim, + "Inconsistency while adding a leaf to the `ClaimQueueState`." + ); + + // There is an inconsistency. Update our view with the one from the claim + // queue. + future_block.claim = Some(*expected_claim); + // We mark the slot as unclaimed since the `ParaId` has changed. + future_block.claimed = ClaimState::Free; + + // IMPORTANT: at this point there will be a slight inconsistency between + // `block_state`/`future_blocks` and `candidates`. We just removed a future + // claim but we can't be sure which candidate should be removed since we + // don't know the exact ordering between them. So we just keep `candidates` + // untouched which means we will sheepishly pretend there are claims for the + // extra candidate. This is not ideal but the case is very rare and is not + // worth the extra complexity for handling it. + } + }, + None => { + self.future_blocks.push_back(ClaimInfo { + hash: None, + claim: Some(*expected_claim), + // For future blocks we don't know the size of the claim queue. + // `claim_queue_len` could be an option but there is not much benefit from + // the extra boilerplate code to handle it. We set it to one since we + // usually know about one claim at each future block but this value is not + // used anywhere in the code. + claim_queue_len: 1, + claimed: ClaimState::Free, + }); + }, + } + } + + // Now pop the first future block and add it as a leaf + let claim_info = match self.future_blocks.pop_front() { + Some(new_leaf) => ClaimInfo { + hash: Some(*hash), + claim: claim_queue.front().copied(), + claim_queue_len: claim_queue.len(), + claimed: new_leaf.claimed, + }, + None => { + // maybe the claim queue was empty, but we still need to add a leaf + ClaimInfo { + hash: Some(*hash), + claim: claim_queue.front().copied(), + claim_queue_len: claim_queue.len(), + claimed: ClaimState::Free, + } + }, + }; + + // `future_blocks` can't be longer than the length of the claim queue at the last block - 1. + // For example this can happen if at relay block N we have got a claim queue of length 4 + // and it's shrunk to 2. + self.future_blocks.truncate(claim_queue.len().saturating_sub(1)); + + self.block_state.push_back(claim_info); + } + + fn has_claim(&self, relay_parent: &Hash, candidate_hash: &CandidateHash) -> bool { + self.candidates_per_rp + .get(relay_parent) + .map_or(false, |c| c.contains(candidate_hash)) + } + + fn trace_has_claim( + &self, + relay_parent: &Hash, + para_id: &ParaId, + maybe_candidate_hash: Option<&CandidateHash>, + ) -> bool { + if let Some(candidate_hash) = maybe_candidate_hash { + if self.has_claim(relay_parent, candidate_hash) { + // there is already a claim for this candidate - return now + gum::trace!( + target: LOG_TARGET, + ?para_id, + ?relay_parent, + ?candidate_hash, + "Claim already exists" + ); + return true; + } + } + + false + } + + fn cache_claim(&mut self, relay_parent: Hash, candidate_hash: CandidateHash) { + self.candidates_per_rp.entry(relay_parent).or_default().insert(candidate_hash); + } + + fn skip_to_window>( + block_state: I, + relay_parent: &Hash, + ) -> (impl Iterator, Option) { + let mut idx = 0; + let mut window = block_state.peekable(); + while let Some(claim) = window.peek() { + if claim.hash_equals(relay_parent) { + return (window, Some(idx)); + } + + idx += 1; + window.next(); + } + + (window, None) + } + + fn get_window_and_start_idx>( + block_state: I, + future_blocks: I, + relay_parent: &Hash, + ) -> (impl Iterator, Option) { + let (window, maybe_start_idx) = Self::skip_to_window(block_state, relay_parent); + let mut window = window.peekable(); + let len = window.peek().map_or(0, ClaimInfoRef::claim_queue_len); + (window.chain(future_blocks).take(len), maybe_start_idx) + } + + /// Returns an iterator over the claim queue of `relay_parent` + fn get_window<'a>(&'a self, relay_parent: &'a Hash) -> impl Iterator { + Self::get_window_and_start_idx( + self.block_state.iter(), + self.future_blocks.iter(), + relay_parent, + ) + .0 + } + + /// Returns a mutating iterator over the claim queue of `relay_parent` + fn get_window_mut<'a>( + &'a mut self, + relay_parent: &'a Hash, + ) -> impl Iterator { + Self::get_window_and_start_idx( + self.block_state.iter_mut(), + self.future_blocks.iter_mut(), + relay_parent, + ) + .0 + } + + /// Searches for any of the types provided within `relay_parent`'s view of the claim queue for + /// `para_id` and returns the first one that is found. + fn find_claim<'a>( + &'a mut self, + relay_parent: &'a Hash, + para_id: &ParaId, + lookup: &[ClaimState], + search_in_future_blocks: bool, + ) -> Option<&'a mut ClaimInfo> { + let mut window: Box> = + Box::new(self.get_window_mut(relay_parent)); + if !search_in_future_blocks { + window = Box::new(window.take(1)); + } + + for info in window { + gum::trace!( + target: LOG_TARGET, + ?para_id, + ?relay_parent, + claim_info=?info, + "Checking claim" + ); + + if info.claim == Some(*para_id) && lookup.contains(&info.claimed) { + return Some(info); + } + } + + None + } + + /// Searches for any of the types provided within `relay_parent`'s view of the claim queue for + /// `para_id` and replaces the state of the first one that is found with `new_state`. + /// + /// Returns whether a claim was found, no matter if it had to be replaced or not. + fn find_and_replace_claim( + &mut self, + relay_parent: &Hash, + para_id: &ParaId, + lookup: &[ClaimState], + search_in_future_blocks: bool, + new_state: ClaimState, + ) -> bool { + let info = match self.find_claim(relay_parent, para_id, lookup, search_in_future_blocks) { + Some(info) => { + info.claimed = new_state; + info + }, + None => return false, + }; + + if let Some(candidate_hash) = info.claimed.candidate_hash().cloned() { + self.cache_claim(*relay_parent, candidate_hash); + } + + true + } + + /// Claims the first available slot for `para_id` at `relay_parent` as pending. Returns `true` + /// if the claim was successful. + pub(crate) fn claim_pending_at( + &mut self, + relay_parent: &Hash, + para_id: &ParaId, + maybe_candidate_hash: Option, + ) -> bool { + gum::trace!( + target: LOG_TARGET, + ?para_id, + ?relay_parent, + "claim_at" + ); + + if self.trace_has_claim(relay_parent, para_id, maybe_candidate_hash.as_ref()) { + return true; + } + self.find_and_replace_claim( + relay_parent, + para_id, + &[ClaimState::Free], + true, + ClaimState::Pending(maybe_candidate_hash), + ) + } + + /// Claims the first available slot for `para_id` at `relay_parent` as pending. Returns `true` + /// if the claim was successful. For a v1 advertisement. + pub(super) fn claim_pending_at_v1(&mut self, relay_parent: &Hash, para_id: &ParaId) -> bool { + gum::trace!( + target: LOG_TARGET, + ?para_id, + ?relay_parent, + "claim_at_v1" + ); + + self.find_and_replace_claim( + relay_parent, + para_id, + &[ClaimState::Free], + false, + ClaimState::Pending(None), + ) + } + + /// Sets the candidate hash for a pending claim. If no such claim is found - returns false. + /// Note that the candidate is set at first available `Pending(None)` claim. Tracking the exact + /// candidate order is not required here. + pub(crate) fn mark_pending_slot_with_candidate( + &mut self, + relay_parent: &Hash, + para_id: &ParaId, + candidate_hash: CandidateHash, + ) -> bool { + if self.trace_has_claim(relay_parent, para_id, Some(&candidate_hash)) { + return true; + } + + self.find_and_replace_claim( + relay_parent, + para_id, + &[ClaimState::Pending(None)], + false, + ClaimState::Pending(Some(candidate_hash)), + ) + } + + /// If there is a pending claim for the candidate at `relay_parent` it is upgraded to seconded. + /// Otherwise a new claim is made. + pub(crate) fn claim_seconded_at( + &mut self, + relay_parent: &Hash, + para_id: &ParaId, + candidate_hash: CandidateHash, + ) -> bool { + gum::trace!( + target: LOG_TARGET, + ?para_id, + ?relay_parent, + ?candidate_hash, + "second_at" + ); + + if self.has_claim(relay_parent, &candidate_hash) { + let claimed = self.find_and_replace_claim( + relay_parent, + para_id, + &[ClaimState::Pending(Some(candidate_hash)), ClaimState::Seconded(candidate_hash)], + true, + ClaimState::Seconded(candidate_hash), + ); + if claimed { + return true; + } + + gum::warn!( + target: LOG_TARGET, + ?para_id, + ?relay_parent, + ?candidate_hash, + "Hash found in candidates but can't find a claim for it. This should never happen" + ); + return false; + } + + // this is a new claim + self.find_and_replace_claim( + relay_parent, + para_id, + &[ClaimState::Free], + true, + ClaimState::Seconded(candidate_hash), + ) + } + + /// Returns `true` if there is a free spot in claim queue (free claim) for `para_id` at + /// `relay_parent` or if there is an existing claim for the provided candidate at + /// `relay_parent`. + pub(crate) fn has_or_can_claim_at( + &mut self, + relay_parent: &Hash, + para_id: &ParaId, + maybe_candidate_hash: Option, + ) -> bool { + gum::trace!( + target: LOG_TARGET, + ?para_id, + ?relay_parent, + "has_or_can_claim_at" + ); + + if self.trace_has_claim(relay_parent, para_id, maybe_candidate_hash.as_ref()) { + return true; + } + self.find_claim(relay_parent, para_id, &[ClaimState::Free], true).is_some() + } + + /// Returns a `Vec` of `ParaId`s with all free claims at `relay_parent`. + pub(crate) fn get_free_at(&self, relay_parent: &Hash) -> VecDeque { + let window = self.get_window(relay_parent); + window + .filter(|b| matches!(b.claimed, ClaimState::Free)) + .filter_map(|b| b.claim) + .collect() + } + + /// Returns the number of claims for a specific para id at a specific relay parent. + pub(super) fn count_all_for_para_at(&self, relay_parent: &Hash, para_id: &ParaId) -> usize { + let window = self.get_window(relay_parent); + window.filter(|info| info.claim == Some(*para_id)).count() + } + + /// Removes pruned relay parent blocks from the beginning of all paths. + /// + /// Only the hashes that are at the beginning of the paths will be removed. + /// + /// Example: if a path is [A, B, C, D] and `targets` contains [A, B] then both A and B will be + /// removed. But if `targets` contains [B, C] then nothing will be removed. + pub(super) fn remove_pruned_ancestors(&mut self, targets: &HashSet) { + // All the blocks that should be pruned are in the front of `block_state`. Since + // `block_state` is not ordered - keep popping until the first element is not found in + // `targets`. + let mut actual_targets = HashSet::new(); + loop { + match self.block_state.front().and_then(|claim_info| claim_info.hash) { + Some(hash) if targets.contains(&hash) => { + self.block_state.pop_front(); + actual_targets.insert(hash); + }, + _ => break, + } + } + + // First remove all entries from candidates for each removed relay parent. Any Seconded + // entries for it can't be undone anymore, but the claimed ones may need to be freed. + let mut removed_candidates = HashSet::with_capacity(actual_targets.len()); + for target in actual_targets { + if let Some(candidates) = self.candidates_per_rp.remove(&target) { + removed_candidates.extend(candidates.into_iter()); + } + } + + for claim_info in self.block_state.iter_mut() { + if let ClaimState::Pending(Some(candidate_hash)) = claim_info.claimed { + if removed_candidates.contains(&candidate_hash) { + claim_info.claimed = ClaimState::Free; + } + } + } + } + + /// Returns true if the path is empty + pub(super) fn is_empty(&self) -> bool { + self.block_state.is_empty() + } + + /// Releases a pending or seconded claim (sets it to free) for a candidate. + pub(super) fn release_claim(&mut self, candidate_hash: &CandidateHash) -> bool { + // Get the relay parent from candidates. + let mut maybe_relay_parent = None; + for (relay_parent, candidates) in &mut self.candidates_per_rp { + if candidates.remove(candidate_hash) { + maybe_relay_parent = Some(*relay_parent); + break; + } + } + let relay_parent = match maybe_relay_parent { + Some(relay_parent) => relay_parent, + None => return false, + }; + + let window = self.get_window_mut(&relay_parent); + for w in window { + if w.claimed == ClaimState::Pending(Some(*candidate_hash)) || + w.claimed == ClaimState::Seconded(*candidate_hash) + { + w.claimed = ClaimState::Free; + return true; + } + } + + false + } + + /// Explicitly clears a claim at a specific relay parent. + pub(super) fn release_claim_for_relay_parent(&mut self, relay_parent: &Hash) -> bool { + for claim in self.block_state.iter_mut() { + if claim.hash.as_ref() != Some(relay_parent) { + continue; + } + + if let Some(candidate_hash) = claim.claimed.candidate_hash() { + if let Some(candidates) = self.candidates_per_rp.get_mut(relay_parent) { + candidates.remove(&candidate_hash); + } + } + claim.claimed = ClaimState::Free; + return true; + } + + false + } + + fn get_full_path(&self) -> impl Iterator { + self.block_state.iter().chain(self.future_blocks.iter()) + } + + /// Returns the claim queue entries for all known and future blocks. + pub(super) fn all_assignments(&self) -> impl Iterator { + self.get_full_path().filter_map(|claim_info| claim_info.claim.as_ref()) + } + + /// Returns the corresponding para ids for all unclaimed slots in the claim queue. + pub(super) fn free_slots(&self) -> Vec { + self.get_full_path() + .filter_map(|claim_info| { + if claim_info.claimed == ClaimState::Free { + return claim_info.claim; + } + None + }) + .collect() + } + + /// Returns a `Vec` of `ParaId`s with all pending claims at `relay_parent`. + #[cfg(test)] + fn get_pending_at(&self, relay_parent: &Hash) -> VecDeque { + let window = self.get_window(relay_parent); + + window + .filter(|b| matches!(b.claimed, ClaimState::Pending(_))) + .filter_map(|b| b.claim) + .collect() + } +} + +#[cfg(test)] +mod test { + use super::*; + use crate::validator_side::claim_queue_state::test::*; + + #[test] + fn sane_initial_state() { + let mut state = ClaimQueueState::new(); + + assert!(!state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(!state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.get_pending_at(&RELAY_PARENT_A).is_empty()); + assert!(state.is_empty()); + } + + #[test] + fn fork_works() { + let mut state = ClaimQueueState::new(); + + state.add_leaf(&RELAY_PARENT_A, &[PARA_1, PARA_2].into()); + state.add_leaf(&RELAY_PARENT_B, &[PARA_2, PARA_3].into()); + state.add_leaf(&RELAY_PARENT_C, &[PARA_3, PARA_1, PARA_2].into()); + state.add_leaf(&RELAY_PARENT_D, &[PARA_1, PARA_2, PARA_3, PARA_1].into()); + + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.claim_pending_at(&RELAY_PARENT_B, &PARA_2, Some(*CANDIDATE_B1))); + assert!(state.claim_seconded_at(&RELAY_PARENT_B, &PARA_3, *CANDIDATE_B2)); + assert!(state.claim_pending_at(&RELAY_PARENT_C, &PARA_1, Some(*CANDIDATE_C1))); + assert!(state.claim_pending_at(&RELAY_PARENT_C, &PARA_2, Some(*CANDIDATE_C2))); + assert!(state.claim_seconded_at(&RELAY_PARENT_D, &PARA_3, *CANDIDATE_D1)); + + let expected_block_state = [ + ClaimInfo::new_pending(2, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ClaimInfo::new_pending(2, Some(*CANDIDATE_B1)).with(*RELAY_PARENT_B, PARA_2), + ClaimInfo::new_seconded(3, *CANDIDATE_B2).with(*RELAY_PARENT_C, PARA_3), + ClaimInfo::new_pending(4, Some(*CANDIDATE_C1)).with(*RELAY_PARENT_D, PARA_1), + ]; + assert_eq!(state.block_state.make_contiguous(), expected_block_state,); + + let expected_future_blocks = [ + ClaimInfo::new_pending(1, Some(*CANDIDATE_C2)).with_claim(PARA_2), + ClaimInfo::new_seconded(1, *CANDIDATE_D1).with_claim(PARA_3), + ClaimInfo::new_free(1).with_claim(PARA_1), + ]; + assert_eq!(state.future_blocks.make_contiguous(), expected_future_blocks); + + let expected_candidates_per_rp = [ + (*RELAY_PARENT_A, HashSet::from([*CANDIDATE_A1])), + (*RELAY_PARENT_B, HashSet::from([*CANDIDATE_B1, *CANDIDATE_B2])), + (*RELAY_PARENT_C, HashSet::from([*CANDIDATE_C1, *CANDIDATE_C2])), + (*RELAY_PARENT_D, HashSet::from([*CANDIDATE_D1])), + ]; + assert_eq!(state.candidates_per_rp, HashMap::from(expected_candidates_per_rp.clone())); + + // Fork at `RELAY_PARENT_A` + let mut fork = state.fork(&RELAY_PARENT_A).unwrap(); + assert_eq!(fork.block_state.make_contiguous(), &expected_block_state[..1],); + assert_eq!( + fork.future_blocks, + VecDeque::from([ClaimInfo::new_free(1).with_claim(PARA_2),]) + ); + assert_eq!( + fork.candidates_per_rp, + HashMap::from_iter(expected_candidates_per_rp[0..1].iter().cloned()) + ); + + // Fork at `RELAY_PARENT_B` + let mut fork = state.fork(&RELAY_PARENT_B).unwrap(); + assert_eq!(fork.block_state.make_contiguous(), &expected_block_state[..2],); + assert_eq!( + fork.future_blocks, + VecDeque::from([ClaimInfo::new_seconded(1, *CANDIDATE_B2).with_claim(PARA_3),]) + ); + assert_eq!( + fork.candidates_per_rp, + HashMap::from_iter(expected_candidates_per_rp[0..2].iter().cloned()) + ); + + // Fork at `RELAY_PARENT_C` + let mut fork = state.fork(&RELAY_PARENT_C).unwrap(); + assert_eq!(fork.block_state.make_contiguous(), &expected_block_state[..3],); + assert_eq!( + fork.future_blocks, + VecDeque::from([ + ClaimInfo::new_pending(1, Some(*CANDIDATE_C1)).with_claim(PARA_1), + expected_future_blocks[0].clone() + ]) + ); + assert_eq!( + fork.candidates_per_rp, + HashMap::from_iter(expected_candidates_per_rp[0..3].iter().cloned()) + ); + + // Fork at `RELAY_PARENT_D` + // Should not be able to fork from the last block + assert!(state.fork(&RELAY_PARENT_D).is_none()); + + // Forking from an unknown relay parent also shouldn't work + assert!(state.fork(&RELAY_PARENT_E).is_none()); + } + + #[test] + fn add_leaf_works() { + let mut state = ClaimQueueState::new(); + let claim_queue = VecDeque::from([PARA_1, PARA_1, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + assert!(state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, None)); + assert!(state.get_pending_at(&RELAY_PARENT_A).is_empty()); + + assert_eq!( + state.block_state, + VecDeque::from([ClaimInfo::new_free(3).with(*RELAY_PARENT_A, PARA_1),]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_free(1).with_claim(PARA_1), + ClaimInfo::new_free(1).with_claim(PARA_1), + ]) + ); + assert!(state.candidates_per_rp.is_empty()); + + // should be no op + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + assert_eq!(state.block_state.len(), 1); + assert_eq!(state.future_blocks.len(), 2); + + // add another leaf + state.add_leaf(&RELAY_PARENT_B, &claim_queue); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_free(3).with(*RELAY_PARENT_A, PARA_1), + ClaimInfo::new_free(3).with(*RELAY_PARENT_B, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_free(1).with_claim(PARA_1), + ClaimInfo::new_free(1).with_claim(PARA_1) + ]) + ); + assert!(state.candidates_per_rp.is_empty()); + assert!(state.has_or_can_claim_at(&RELAY_PARENT_B, &PARA_1, None)); + assert!(state.get_pending_at(&RELAY_PARENT_B).is_empty()); + } + + #[test] + fn basic_claims_work() { + let mut state = ClaimQueueState::new(); + let claim_queue = VecDeque::from([PARA_1, PARA_1, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + + assert!(state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + // Claiming the same slot again should return true + assert!(state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + + assert!(state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A2))); + assert!(state.claim_seconded_at(&RELAY_PARENT_A, &PARA_1, *CANDIDATE_A2)); + // Claiming the same slot again should return true + assert!(state.claim_seconded_at(&RELAY_PARENT_A, &PARA_1, *CANDIDATE_A2)); + assert!(state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A2))); + } + + #[test] + fn claims_at_separate_relay_parents_work() { + let mut state = ClaimQueueState::new(); + let claim_queue = VecDeque::from([PARA_1, PARA_1, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + state.add_leaf(&RELAY_PARENT_B, &claim_queue); + + // add one claim for a + assert!(state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + + // and one for b + assert!(state.has_or_can_claim_at(&RELAY_PARENT_B, &PARA_1, Some(*CANDIDATE_B1))); + assert!(state.claim_pending_at(&RELAY_PARENT_B, &PARA_1, Some(*CANDIDATE_B1))); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ClaimInfo::new_pending(3, Some(*CANDIDATE_B1)).with(*RELAY_PARENT_B, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_free(1).with_claim(PARA_1), + ClaimInfo::new_free(1).with_claim(PARA_1) + ]) + ); + assert_eq!( + state.candidates_per_rp, + HashMap::from([ + (*RELAY_PARENT_A, HashSet::from([*CANDIDATE_A1])), + (*RELAY_PARENT_B, HashSet::from([*CANDIDATE_B1])) + ]) + ); + } + + #[test] + fn claims_are_transferred_to_next_slot() { + let mut state = ClaimQueueState::new(); + let claim_queue = VecDeque::from([PARA_1, PARA_1, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + + // add two claims, 2nd should be transferred to a new leaf + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A2))); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_pending(1, Some(*CANDIDATE_A2)).with_claim(PARA_1), + ClaimInfo::new_free(1).with_claim(PARA_1), + ]) + ); + assert_eq!( + state.candidates_per_rp, + HashMap::from([(*RELAY_PARENT_A, HashSet::from([*CANDIDATE_A1, *CANDIDATE_A2]))]) + ); + + // one more + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A3))); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_pending(1, Some(*CANDIDATE_A2)).with_claim(PARA_1), + ClaimInfo::new_pending(1, Some(*CANDIDATE_A3)).with_claim(PARA_1), + ]) + ); + assert_eq!( + state.candidates_per_rp, + HashMap::from([( + *RELAY_PARENT_A, + HashSet::from([*CANDIDATE_A1, *CANDIDATE_A2, *CANDIDATE_A3]) + )]) + ); + + // no more claims + assert!(!state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A4))); + } + + #[test] + fn claims_are_transferred_to_new_leaves() { + let mut state = ClaimQueueState::new(); + let claim_queue = VecDeque::from([PARA_1, PARA_1, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A2))); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A3))); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_pending(1, Some(*CANDIDATE_A2)).with_claim(PARA_1), + ClaimInfo::new_pending(1, Some(*CANDIDATE_A3)).with_claim(PARA_1), + ]) + ); + assert_eq!( + state.candidates_per_rp, + HashMap::from([( + *RELAY_PARENT_A, + HashSet::from([*CANDIDATE_A1, *CANDIDATE_A2, *CANDIDATE_A3]) + )]) + ); + + // no more claims + assert!(!state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A4))); + + // new leaf + state.add_leaf(&RELAY_PARENT_B, &claim_queue); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ClaimInfo::new_pending(3, Some(*CANDIDATE_A2)).with(*RELAY_PARENT_B, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_pending(1, Some(*CANDIDATE_A3)).with_claim(PARA_1), + ClaimInfo::new_free(1).with_claim(PARA_1), + ]) + ); + + // still no claims for a + assert!(!state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A4))); + + // but can accept for b + assert!(state.claim_pending_at(&RELAY_PARENT_B, &PARA_1, Some(*CANDIDATE_A4))); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ClaimInfo::new_pending(3, Some(*CANDIDATE_A2)).with(*RELAY_PARENT_B, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_pending(1, Some(*CANDIDATE_A3)).with_claim(PARA_1), + ClaimInfo::new_pending(1, Some(*CANDIDATE_A4)).with_claim(PARA_1), + ]) + ); + assert_eq!( + state.candidates_per_rp, + HashMap::from([ + (*RELAY_PARENT_A, HashSet::from([*CANDIDATE_A1, *CANDIDATE_A2, *CANDIDATE_A3])), + (*RELAY_PARENT_B, HashSet::from([*CANDIDATE_A4])) + ]) + ); + } + + #[test] + fn two_paras() { + let mut state = ClaimQueueState::new(); + let claim_queue = VecDeque::from([PARA_1, PARA_2, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + assert!(state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_2, Some(*CANDIDATE_B1))); + + assert_eq!( + state.block_state, + VecDeque::from([ClaimInfo::new_free(3).with(*RELAY_PARENT_A, PARA_1),]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_free(1).with_claim(PARA_2), + ClaimInfo::new_free(1).with_claim(PARA_1), + ]) + ); + assert!(state.candidates_per_rp.is_empty()); + + // claim a candidate + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + + // we should still be able to claim candidates for both paras + assert!(state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A2))); + assert!(state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_2, Some(*CANDIDATE_B1))); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_free(1).with_claim(PARA_2), + ClaimInfo::new_free(1).with_claim(PARA_1), + ]) + ); + assert_eq!( + state.candidates_per_rp, + HashMap::from([(*RELAY_PARENT_A, HashSet::from([*CANDIDATE_A1])),]) + ); + + // another claim for a + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A2))); + + // no more claims for a, but should be able to claim for b + assert!(!state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A3))); + assert!(state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_2, Some(*CANDIDATE_B1))); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_free(1).with_claim(PARA_2), + ClaimInfo::new_pending(1, Some(*CANDIDATE_A2)).with_claim(PARA_1), + ]) + ); + assert_eq!( + state.candidates_per_rp, + HashMap::from([(*RELAY_PARENT_A, HashSet::from([*CANDIDATE_A1, *CANDIDATE_A2]))]) + ); + + // another claim for b + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_2, Some(*CANDIDATE_B1))); + + // no more claims neither for a nor for b + assert!(!state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A3))); + assert!(!state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_2, Some(*CANDIDATE_B2))); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_pending(1, Some(*CANDIDATE_B1)).with_claim(PARA_2), + ClaimInfo::new_pending(1, Some(*CANDIDATE_A2)).with_claim(PARA_1), + ]) + ); + assert_eq!( + state.candidates_per_rp, + HashMap::from([( + *RELAY_PARENT_A, + HashSet::from([*CANDIDATE_A1, *CANDIDATE_A2, *CANDIDATE_B1]) + )]) + ); + } + + #[test] + fn claim_queue_changes_unexpectedly() { + let mut state = ClaimQueueState::new(); + let claim_queue_a = VecDeque::from([PARA_1, PARA_2, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue_a); + + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A2))); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_2, Some(*CANDIDATE_B1))); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_pending(1, Some(*CANDIDATE_B1)).with_claim(PARA_2), + ClaimInfo::new_pending(1, Some(*CANDIDATE_A2)).with_claim(PARA_1), + ]) + ); + assert_eq!( + state.candidates_per_rp, + HashMap::from([( + *RELAY_PARENT_A, + HashSet::from([*CANDIDATE_A1, *CANDIDATE_A2, *CANDIDATE_B1,]) + )]) + ); + + let claim_queue_b = VecDeque::from([PARA_1, PARA_1, PARA_1]); // should be [b, a,...] + state.add_leaf(&RELAY_PARENT_B, &claim_queue_b); + + // because of the unexpected change in claim queue we lost the claim for paraB and have + // one unclaimed for paraA + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ClaimInfo::new_free(3).with(*RELAY_PARENT_B, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + // since the 3rd slot of the claim queue at rp1 is equal to the second one in rp2, + // this claim still exists + VecDeque::from([ + ClaimInfo::new_pending(1, Some(*CANDIDATE_A2)).with_claim(PARA_1), + ClaimInfo::new_free(1).with_claim(PARA_1), + ]) + ); + // IMPORTANT: we don't change `candidates` + assert_eq!( + state.candidates_per_rp, + HashMap::from([( + *RELAY_PARENT_A, + HashSet::from([*CANDIDATE_A1, *CANDIDATE_A2, *CANDIDATE_B1]) + )]) + ); + } + + #[test] + fn claim_queue_changes_unexpectedly_with_two_blocks() { + let mut state = ClaimQueueState::new(); + let claim_queue_a = VecDeque::from([PARA_1, PARA_2, PARA_2]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue_a); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_2, Some(*CANDIDATE_B1))); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_2, Some(*CANDIDATE_B2))); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_pending(1, Some(*CANDIDATE_B1)).with_claim(PARA_2), + ClaimInfo::new_pending(1, Some(*CANDIDATE_B2)).with_claim(PARA_2), + ]) + ); + assert_eq!( + state.candidates_per_rp, + HashMap::from([( + *RELAY_PARENT_A, + HashSet::from([*CANDIDATE_A1, *CANDIDATE_B1, *CANDIDATE_B2]) + )]) + ); + + let claim_queue_b = VecDeque::from([PARA_1, PARA_1, PARA_1]); // should be [b, b, ...] + state.add_leaf(&RELAY_PARENT_B, &claim_queue_b); + + // because of the unexpected change in claim queue we lost both claims for paraB and + // have two unclaimed for paraA + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ClaimInfo::new_free(3).with(*RELAY_PARENT_B, PARA_1) + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_free(1).with_claim(PARA_1), + ClaimInfo::new_free(1).with_claim(PARA_1) + ]) + ); + // IMPORTANT: we don't change `candidates` + assert_eq!( + state.candidates_per_rp, + HashMap::from([( + *RELAY_PARENT_A, + HashSet::from([*CANDIDATE_A1, *CANDIDATE_B1, *CANDIDATE_B2]) + )]) + ); + } + + #[test] + fn basic_remove_works() { + let mut state = ClaimQueueState::new(); + let claim_queue = VecDeque::from([PARA_1, PARA_1, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + state.add_leaf(&RELAY_PARENT_B, &claim_queue); + + // add one claim per leaf + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.claim_pending_at(&RELAY_PARENT_B, &PARA_1, Some(*CANDIDATE_A2))); + + state.remove_pruned_ancestors(&HashSet::from([*RELAY_PARENT_A])); + + assert_eq!(state.block_state.len(), 1); + assert_eq!(state.block_state[0].hash, Some(*RELAY_PARENT_B)); + assert_eq!(state.future_blocks.len(), 2); + assert_eq!( + state.candidates_per_rp, + HashMap::from([(*RELAY_PARENT_B, HashSet::from([*CANDIDATE_A2]))]) + ); + } + + #[test] + fn remove_non_first_does_nothing() { + let mut state = ClaimQueueState::new(); + let claim_queue = VecDeque::from([PARA_1, PARA_1, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + state.add_leaf(&RELAY_PARENT_B, &claim_queue); + + // add one claim per leaf + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.claim_pending_at(&RELAY_PARENT_B, &PARA_1, Some(*CANDIDATE_A2))); + + state.remove_pruned_ancestors(&HashSet::from([*RELAY_PARENT_B])); + + assert_eq!(state.block_state.len(), 2); + assert_eq!(state.future_blocks.len(), 2); + assert_eq!( + state.candidates_per_rp, + HashMap::from([ + (*RELAY_PARENT_A, HashSet::from([*CANDIDATE_A1])), + (*RELAY_PARENT_B, HashSet::from([*CANDIDATE_A2])) + ]) + ); + } + + #[test] + fn remove_multiple_works() { + let mut state = ClaimQueueState::new(); + let claim_queue = VecDeque::from([PARA_1, PARA_1, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + state.add_leaf(&RELAY_PARENT_B, &claim_queue); + assert!(state.claim_pending_at(&RELAY_PARENT_B, &PARA_1, Some(*CANDIDATE_A2))); + state.add_leaf(&RELAY_PARENT_C, &claim_queue); + assert!(state.claim_pending_at(&RELAY_PARENT_C, &PARA_1, Some(*CANDIDATE_A3))); + + state.remove_pruned_ancestors(&HashSet::from([*RELAY_PARENT_A, *RELAY_PARENT_B])); + + assert_eq!(state.block_state.len(), 1); + assert_eq!(state.block_state[0].hash, Some(*RELAY_PARENT_C)); + assert_eq!(state.future_blocks.len(), 2); + assert_eq!( + state.candidates_per_rp, + HashMap::from([(*RELAY_PARENT_C, HashSet::from([*CANDIDATE_A3]))]) + ); + } + + #[test] + fn empty_claim_queue() { + let mut state = ClaimQueueState::new(); + let claim_queue_a = VecDeque::new(); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue_a); + assert_eq!(state.get_pending_at(&RELAY_PARENT_A), []); + + assert_eq!( + state.block_state, + VecDeque::from([ClaimInfo::new_free(0).with_hash(*RELAY_PARENT_A),]) + ); + // no claim queue so we know nothing about future blocks + assert!(state.future_blocks.is_empty()); + + assert!(!state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(!state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + + let claim_queue_b = VecDeque::from([PARA_1]); + state.add_leaf(&RELAY_PARENT_B, &claim_queue_b); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_free(0).with_hash(*RELAY_PARENT_A), + ClaimInfo::new_free(1).with(*RELAY_PARENT_B, PARA_1), + ]) + ); + // claim queue with length 1 doesn't say anything about future blocks + assert!(state.future_blocks.is_empty()); + + assert!(!state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A2))); + assert!(!state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A2))); + + assert!(state.has_or_can_claim_at(&RELAY_PARENT_B, &PARA_1, Some(*CANDIDATE_A2))); + assert!(state.claim_pending_at(&RELAY_PARENT_B, &PARA_1, Some(*CANDIDATE_A2))); + + let claim_queue_c = VecDeque::from([PARA_1, PARA_1]); + state.add_leaf(&RELAY_PARENT_C, &claim_queue_c); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_free(0).with_hash(*RELAY_PARENT_A), + ClaimInfo::new_pending(1, Some(*CANDIDATE_A2)).with(*RELAY_PARENT_B, PARA_1), + ClaimInfo::new_free(2).with(*RELAY_PARENT_C, PARA_1), + ]) + ); + // claim queue with length 2 fills only one future block + assert_eq!( + state.future_blocks, + VecDeque::from([ClaimInfo::new_free(1).with_claim(PARA_1),]) + ); + + assert!(!state.has_or_can_claim_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A3))); + assert!(!state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A3))); + + // already claimed + assert!(!state.has_or_can_claim_at(&RELAY_PARENT_B, &PARA_1, Some(*CANDIDATE_A3))); + assert!(!state.claim_pending_at(&RELAY_PARENT_B, &PARA_1, Some(*CANDIDATE_A3))); + + assert!(state.has_or_can_claim_at(&RELAY_PARENT_C, &PARA_1, Some(*CANDIDATE_A3))); + } + + #[test] + fn claim_queue_becomes_shorter() { + let mut state = ClaimQueueState::new(); + let claim_queue_a = VecDeque::from([PARA_1, PARA_2, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue_a); + + assert_eq!( + state.block_state, + VecDeque::from([ClaimInfo::new_free(3).with(*RELAY_PARENT_A, PARA_1),]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_free(1).with_claim(PARA_2), + ClaimInfo::new_free(1).with_claim(PARA_1) + ]) + ); + + let claim_queue_b = VecDeque::from([PARA_1, PARA_2]); // should be [b, a, ...] + state.add_leaf(&RELAY_PARENT_B, &claim_queue_b); + + // claims for `RELAY_PARENT_A` has changed. + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_free(3).with(*RELAY_PARENT_A, PARA_1), + ClaimInfo::new_free(2).with(*RELAY_PARENT_B, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ClaimInfo::new_free(1).with_claim(PARA_2),]) + ); + } + + #[test] + fn claim_queue_becomes_shorter_and_drops_future_claims() { + let mut state = ClaimQueueState::new(); + let claim_queue_a = VecDeque::from([PARA_1, PARA_2, PARA_1, PARA_2]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue_a); + + // We start with claim queue len 4. + assert_eq!( + state.block_state, + VecDeque::from([ClaimInfo::new_free(4).with(*RELAY_PARENT_A, PARA_1),]) + ); + // we have got three future blocks + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_free(1).with_claim(PARA_2), + ClaimInfo::new_free(1).with_claim(PARA_1), + ClaimInfo::new_free(1).with_claim(PARA_2) + ]) + ); + + // The next claim len is 2, so we loose one future block + let claim_queue_b = VecDeque::from([PARA_2, PARA_1]); + state.add_leaf(&RELAY_PARENT_B, &claim_queue_b); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_free(4).with(*RELAY_PARENT_A, PARA_1), + ClaimInfo::new_free(2).with(*RELAY_PARENT_B, PARA_2), + ]) + ); + + assert_eq!( + state.future_blocks, + VecDeque::from([ClaimInfo::new_free(1).with_claim(PARA_1),]) + ); + } + + #[test] + fn release_claim_works() { + let mut state = ClaimQueueState::new(); + let claim_queue = VecDeque::from([PARA_1, PARA_1, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A2))); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_pending(3, Some(*CANDIDATE_A1)).with(*RELAY_PARENT_A, PARA_1), + ]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_pending(1, Some(*CANDIDATE_A2)).with_claim(PARA_1), + ClaimInfo::new_free(1).with_claim(PARA_1) + ]) + ); + assert_eq!( + state.candidates_per_rp, + HashMap::from([(*RELAY_PARENT_A, HashSet::from([*CANDIDATE_A1, *CANDIDATE_A2]))]) + ); + + state.release_claim(&CANDIDATE_A1); + + assert_eq!( + state.block_state, + VecDeque::from([ClaimInfo::new_free(3).with(*RELAY_PARENT_A, PARA_1),]) + ); + assert_eq!( + state.future_blocks, + VecDeque::from([ + ClaimInfo::new_pending(1, Some(*CANDIDATE_A2)).with_claim(PARA_1), + ClaimInfo::new_free(1).with_claim(PARA_1) + ]) + ); + assert_eq!( + state.candidates_per_rp, + HashMap::from([(*RELAY_PARENT_A, HashSet::from([*CANDIDATE_A2]))]) + ); + } + + #[test] + fn claim_seconded_at_works() { + let mut state = ClaimQueueState::new(); + let claim_queue = VecDeque::from([PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + + assert!(state.claim_seconded_at(&RELAY_PARENT_A, &PARA_1, *CANDIDATE_A1)); + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(!state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A2))); + + assert_eq!( + state.block_state, + VecDeque::from([ + ClaimInfo::new_seconded(1, *CANDIDATE_A1).with(*RELAY_PARENT_A, PARA_1), + ]) + ); + assert!(state.future_blocks.is_empty()); + } + + #[test] + fn get_pending_at_works() { + let mut state = ClaimQueueState::new(); + let claim_queue = VecDeque::from([PARA_1, PARA_2, PARA_1]); + + state.add_leaf(&RELAY_PARENT_A, &claim_queue); + + assert!(state.get_pending_at(&RELAY_PARENT_A).is_empty()); + + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert_eq!(state.get_pending_at(&RELAY_PARENT_A), [PARA_1]); + + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A2))); + assert_eq!(state.get_pending_at(&RELAY_PARENT_A), [PARA_1, PARA_1]); + + assert!(state.claim_pending_at(&RELAY_PARENT_A, &PARA_2, Some(*CANDIDATE_B1))); + assert_eq!(state.get_pending_at(&RELAY_PARENT_A), [PARA_1, PARA_2, PARA_1]); + + let claim_queue = VecDeque::from([PARA_2, PARA_1, PARA_2]); + state.add_leaf(&RELAY_PARENT_B, &claim_queue); + assert_eq!(state.get_pending_at(&RELAY_PARENT_B), [PARA_2, PARA_1]); + } +} diff --git a/polkadot/node/network/collator-protocol/src/validator_side/claim_queue_state/mod.rs b/polkadot/node/network/collator-protocol/src/validator_side/claim_queue_state/mod.rs new file mode 100644 index 0000000000000..7a4f5f2a4c6f7 --- /dev/null +++ b/polkadot/node/network/collator-protocol/src/validator_side/claim_queue_state/mod.rs @@ -0,0 +1,183 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Helper structs used for tracking the state of the claim queue over a set of relay blocks. +//! Refer to [`ClaimQueueState`] and [`PerLeafClaimQueueState`] for more details. + +use std::collections::HashSet; + +use polkadot_primitives::{CandidateHash, Hash, Id as ParaId}; + +mod basic; +mod per_leaf; + +pub(crate) use basic::ClaimQueueState; +pub(crate) use per_leaf::PerLeafClaimQueueState; + +/// Represents the state of a claim. +#[derive(Debug, PartialEq, Clone)] +enum ClaimState { + /// Unclaimed + Free, + /// The candidate is pending fetching or validation. The candidate hash is optional because + /// collator protocol v1 doesn't care about specific candidate hashes, but only about their + /// number. + Pending(Option), + /// The candidate is seconded. + Seconded(CandidateHash), +} + +impl ClaimState { + fn candidate_hash(&self) -> Option<&CandidateHash> { + match self { + ClaimState::Pending(Some(candidate)) => Some(candidate), + ClaimState::Seconded(candidate) => Some(candidate), + _ => None, + } + } + + fn clone_or_default(&self, known_candidates: &HashSet) -> Self { + match self { + ClaimState::Pending(Some(candidate)) | ClaimState::Seconded(candidate) + if !known_candidates.contains(candidate) => + { + ClaimState::Free + }, + _ => self.clone(), + } + } +} + +/// Represents a single claim from the claim queue, mapped to the relay chain block where it could +/// be backed on-chain. +#[derive(Debug, PartialEq, Clone)] +struct ClaimInfo { + // Hash of the relay chain block. Can be `None` if it is still not known (a future block). + hash: Option, + /// Represents the `ParaId` scheduled for the block. Can be `None` if nothing is scheduled. + claim: Option, + /// The length of the claim queue at the block. It is used to determine the 'block window' + /// where a claim can be made. + claim_queue_len: usize, + /// The claim state. + claimed: ClaimState, +} + +impl ClaimInfo { + fn hash_equals(&self, hash: &Hash) -> bool { + self.hash.as_ref() == Some(hash) + } +} + +trait ClaimInfoRef { + fn hash_equals(&self, hash: &Hash) -> bool; + + fn claim_queue_len(&self) -> usize; +} + +impl<'a> ClaimInfoRef for &'a ClaimInfo { + fn hash_equals(&self, hash: &Hash) -> bool { + ClaimInfo::hash_equals(self, hash) + } + + fn claim_queue_len(&self) -> usize { + self.claim_queue_len + } +} + +impl<'a> ClaimInfoRef for &'a mut ClaimInfo { + fn hash_equals(&self, hash: &Hash) -> bool { + ClaimInfo::hash_equals(self, hash) + } + + fn claim_queue_len(&self) -> usize { + self.claim_queue_len + } +} + +#[cfg(test)] +mod test { + use super::*; + + use std::sync::LazyLock; + + pub const PARA_1: ParaId = ParaId::new(1); + pub const PARA_2: ParaId = ParaId::new(2); + pub const PARA_3: ParaId = ParaId::new(3); + + pub static ROOT_RELAY_PARENT: LazyLock = LazyLock::new(|| Hash::from_low_u64_be(0)); + pub static RELAY_PARENT_A: LazyLock = LazyLock::new(|| Hash::from_low_u64_be(1)); + pub static RELAY_PARENT_B: LazyLock = LazyLock::new(|| Hash::from_low_u64_be(2)); + pub static RELAY_PARENT_C: LazyLock = LazyLock::new(|| Hash::from_low_u64_be(3)); + pub static RELAY_PARENT_D: LazyLock = LazyLock::new(|| Hash::from_low_u64_be(4)); + pub static RELAY_PARENT_E: LazyLock = LazyLock::new(|| Hash::from_low_u64_be(5)); + + pub static CANDIDATE_A1: LazyLock = + LazyLock::new(|| CandidateHash(Hash::from_low_u64_be(101))); + pub static CANDIDATE_A2: LazyLock = + LazyLock::new(|| CandidateHash(Hash::from_low_u64_be(102))); + pub static CANDIDATE_A3: LazyLock = + LazyLock::new(|| CandidateHash(Hash::from_low_u64_be(103))); + pub static CANDIDATE_A4: LazyLock = + LazyLock::new(|| CandidateHash(Hash::from_low_u64_be(104))); + + pub static CANDIDATE_B1: LazyLock = + LazyLock::new(|| CandidateHash(Hash::from_low_u64_be(201))); + pub static CANDIDATE_B2: LazyLock = + LazyLock::new(|| CandidateHash(Hash::from_low_u64_be(202))); + + pub static CANDIDATE_C1: LazyLock = + LazyLock::new(|| CandidateHash(Hash::from_low_u64_be(301))); + pub static CANDIDATE_C2: LazyLock = + LazyLock::new(|| CandidateHash(Hash::from_low_u64_be(302))); + + pub static CANDIDATE_D1: LazyLock = + LazyLock::new(|| CandidateHash(Hash::from_low_u64_be(401))); + + impl ClaimInfo { + fn new(claim_queue_len: usize, claimed: ClaimState) -> Self { + Self { hash: None, claim: None, claim_queue_len, claimed } + } + + pub fn new_free(claim_queue_len: usize) -> Self { + Self::new(claim_queue_len, ClaimState::Free) + } + + pub fn new_pending(claim_queue_len: usize, maybe_candidate: Option) -> Self { + Self::new(claim_queue_len, ClaimState::Pending(maybe_candidate)) + } + + pub fn new_seconded(claim_queue_len: usize, candidate: CandidateHash) -> Self { + Self::new(claim_queue_len, ClaimState::Seconded(candidate)) + } + + pub fn with_hash(mut self, hash: Hash) -> ClaimInfo { + self.hash = Some(hash); + self + } + + pub fn with_claim(mut self, claim: ParaId) -> ClaimInfo { + self.claim = Some(claim); + self + } + + pub fn with(mut self, hash: Hash, claim: ParaId) -> ClaimInfo { + self.hash = Some(hash); + self.claim = Some(claim); + self + } + } +} diff --git a/polkadot/node/network/collator-protocol/src/validator_side/claim_queue_state/per_leaf.rs b/polkadot/node/network/collator-protocol/src/validator_side/claim_queue_state/per_leaf.rs new file mode 100644 index 0000000000000..86f16c9e075e9 --- /dev/null +++ b/polkadot/node/network/collator-protocol/src/validator_side/claim_queue_state/per_leaf.rs @@ -0,0 +1,472 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +use super::basic::*; +use crate::LOG_TARGET; + +use std::collections::{BTreeSet, HashMap, HashSet, VecDeque}; + +use polkadot_primitives::{CandidateHash, Hash, Id as ParaId}; + +/// Keeps a per leaf state of the claim queue for multiple forks. +#[derive(Default)] +pub struct PerLeafClaimQueueState { + /// The state of the claim queue per leaf + leaves: HashMap, +} + +impl PerLeafClaimQueueState { + /// Creates an empty `PerLeafClaimQueueState` + pub fn new() -> Self { + Self { leaves: HashMap::new() } + } + + /// Adds new leaf to the state. If the parent of the leaf is already in the state `leaf` is + /// added to the corresponding path. Otherwise a new path is created. + pub fn add_leaf( + &mut self, + leaf: &Hash, + claim_queue: &VecDeque, + maybe_parent: Option<&Hash>, + ) { + if let Some(parent) = maybe_parent { + debug_assert!(leaf != parent, "Leaf and parent can't be equal"); + + let maybe_path = self.leaves.remove(parent); + // The new leaf builds on top of previous leaf + if let Some(mut path) = maybe_path { + path.add_leaf(leaf, claim_queue); + self.leaves.insert(*leaf, path); + gum::trace!( + target: LOG_TARGET, + ?leaf, + ?parent, + ?claim_queue, + "add_leaf: adding to existing path" + ); + return; + } + + // The new leaf could be a fork from a previous non-leaf block + for state in self.leaves.values() { + if let Some(mut new_fork) = state.fork(parent) { + new_fork.add_leaf(leaf, claim_queue); + self.leaves.insert(*leaf, new_fork); + gum::trace!( + target: LOG_TARGET, + ?leaf, + ?parent, + ?claim_queue, + "add_leaf: adding fork from a previous non-leaf block" + ); + return; + } + } + } + + // The new leaf is a completely separate fork + let mut new_fork = ClaimQueueState::new(); + new_fork.add_leaf(leaf, claim_queue); + self.leaves.insert(*leaf, new_fork); + gum::trace!( + target: LOG_TARGET, + ?leaf, + ?maybe_parent, + ?claim_queue, + "add_leaf: adding new fork" + ); + } + + /// Removes a set of pruned blocks from all paths. If a path becomes empty it is removed from + /// the state. + pub fn remove_pruned_ancestors(&mut self, removed: &HashSet) { + self.leaves.retain(|_, path| { + // Remove the pruned blocks from the paths + path.remove_pruned_ancestors(removed); + + // Remove empty paths + !path.is_empty() + }); + } + + /// Releases a claim for a candidate. + pub fn release_claims_for_candidate(&mut self, candidate_hash: &CandidateHash) -> bool { + let mut result = false; + for (_, state) in &mut self.leaves { + if state.release_claim(candidate_hash) { + result = true; + } + } + result + } + + /// Explicitly clears a claim at a specific relay parent for all leaves. + pub fn release_claims_for_relay_parent(&mut self, relay_parent: &Hash) -> bool { + let mut result = false; + for (_, state) in &mut self.leaves { + if state.release_claim_for_relay_parent(relay_parent) { + result = true; + } + } + result + } + + /// Claims the first available slot for `para_id` at `relay_parent` as pending for all leaves. + /// Returns `true` if the claim was successful. + pub fn claim_pending_slot( + &mut self, + relay_parent: &Hash, + para_id: &ParaId, + candidate_hash: Option, + ) -> bool { + let mut result = false; + for (leaf, state) in &mut self.leaves { + let claimed = if candidate_hash.is_none() { + // special treatment - we can't claim a future slot for v1 candidates + state.claim_pending_at_v1(relay_parent, para_id) + } else { + state.claim_pending_at(relay_parent, para_id, candidate_hash) + }; + + if claimed { + result = true; + } + + gum::trace!( + target: LOG_TARGET, + ?leaf, + ?para_id, + ?relay_parent, + maybe_candidate_hash = ?candidate_hash, + result, + "claim_pending_slot" + ); + } + result + } + + /// Sets the candidate hash for a pending claim at all leaves. If no such claim is found - + /// returns false. Note that the candidate is set at first available `Pending(None)` claim at + /// each leaf. Tracking the exact candidate order is not required here. + pub fn mark_pending_slot_with_candidate( + &mut self, + relay_parent: &Hash, + para_id: &ParaId, + candidate_hash: &CandidateHash, + ) -> bool { + let mut result = false; + for (leaf, state) in &mut self.leaves { + if state.mark_pending_slot_with_candidate(relay_parent, para_id, *candidate_hash) { + result = true; + } + gum::trace!( + target: LOG_TARGET, + ?leaf, + ?para_id, + ?relay_parent, + ?candidate_hash, + result, + "claim_pending_slot" + ); + } + result + } + + /// Seconds a slot for a candidate at each leaf. Returns true if the claim was successful for at + /// least one leaf. If a pending slot exists for the candidate it is upgraded to seconded. + /// Otherwise a new claim is made. + pub fn claim_seconded_slot( + &mut self, + relay_parent: &Hash, + para_id: &ParaId, + candidate_hash: &CandidateHash, + ) -> bool { + let mut result = false; + for (leaf, state) in &mut self.leaves { + if state.claim_seconded_at(relay_parent, para_id, *candidate_hash) { + result = true; + } + gum::trace!( + target: LOG_TARGET, + ?leaf, + ?para_id, + ?relay_parent, + ?candidate_hash, + result, + "claim_seconded_slot" + ); + } + result + } + + /// Returns the number of claims for a specific para id at a specific relay parent for all + /// leaves. + pub fn count_all_slots_for_para_at(&mut self, relay_parent: &Hash, para_id: &ParaId) -> usize { + self.leaves + .values() + .map(|state| state.count_all_for_para_at(relay_parent, para_id)) + .max() + .unwrap_or_default() + } + + /// Returns the claim queue entries for all known and future blocks for all leaves. + pub fn all_assignments(&self) -> BTreeSet { + self.leaves + .values() + .flat_map(|state| state.all_assignments()) + .copied() + .collect() + } + + /// Returns the hashes of all tracked leaves. + pub fn leaves(&self) -> impl Iterator { + self.leaves.keys() + } + + /// Returns the corresponding para ids for all unclaimed slots in the claim queue for the + /// specified leaf. + pub fn free_slots(&self, leaf: &Hash) -> Vec { + self.leaves.get(leaf).map(|state| state.free_slots()).unwrap_or_default() + } + + /// Returns the corresponding para ids for all unclaimed slots in the claim queue for all + /// leaves. + pub fn all_free_slots(&self) -> BTreeSet { + self.leaves.values().flat_map(|state| state.free_slots()).collect() + } +} + +#[cfg(test)] +mod test { + use super::*; + use crate::validator_side::claim_queue_state::test::*; + + impl PerLeafClaimQueueState { + /// Returns `true` if there is a free claim within `relay_parent`'s view of the claim queue + /// for `leaf` or if there already is a claimed slot for the candidate. + fn has_free_slot_at_leaf_for( + &mut self, + leaf: &Hash, + relay_parent: &Hash, + para_id: &ParaId, + candidate_hash: &CandidateHash, + ) -> bool { + let Some(state) = self.leaves.get_mut(leaf) else { + return false; + }; + state.has_or_can_claim_at(relay_parent, para_id, Some(*candidate_hash)) + } + } + + #[test] + fn add_leaf_works() { + let mut state = PerLeafClaimQueueState::new(); + let claim_queue = VecDeque::from(vec![PARA_1, PARA_1, PARA_1]); + + // / -> d + // 0 -> a -> b + // \-> c + state.add_leaf(&RELAY_PARENT_A, &claim_queue, Some(&ROOT_RELAY_PARENT)); + assert_eq!(state.leaves.len(), 1); + assert_eq!(state.leaves[&RELAY_PARENT_A].block_state.len(), 1); + + state.add_leaf(&RELAY_PARENT_B, &claim_queue, Some(&RELAY_PARENT_A)); + assert_eq!(state.leaves.len(), 1); + assert_eq!(state.leaves[&RELAY_PARENT_B].block_state.len(), 2); + + state.add_leaf(&RELAY_PARENT_C, &claim_queue, Some(&ROOT_RELAY_PARENT)); + assert_eq!(state.leaves.len(), 2); + assert_eq!(state.leaves[&RELAY_PARENT_B].block_state.len(), 2); + assert_eq!(state.leaves[&RELAY_PARENT_C].block_state.len(), 1); + + state.add_leaf(&RELAY_PARENT_D, &claim_queue, Some(&RELAY_PARENT_A)); + assert_eq!(state.leaves.len(), 3); + assert_eq!(state.leaves[&RELAY_PARENT_B].block_state.len(), 2); + assert_eq!(state.leaves[&RELAY_PARENT_C].block_state.len(), 1); + assert_eq!(state.leaves[&RELAY_PARENT_D].block_state.len(), 2); + } + + #[test] + fn claim_pending_slot_works() { + let mut state = PerLeafClaimQueueState::new(); + let claim_queue = VecDeque::from(vec![PARA_1, PARA_1]); + + // 0 -> a -> b + // \-> c + state.add_leaf(&RELAY_PARENT_A, &claim_queue, Some(&ROOT_RELAY_PARENT)); + state.add_leaf(&RELAY_PARENT_B, &claim_queue, Some(&RELAY_PARENT_A)); + state.add_leaf(&RELAY_PARENT_C, &claim_queue, Some(&RELAY_PARENT_A)); + + assert!(state.claim_pending_slot(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + assert!(state.claim_pending_slot(&RELAY_PARENT_B, &PARA_1, Some(*CANDIDATE_B1))); + assert!(!state.has_free_slot_at_leaf_for( + &RELAY_PARENT_B, + &RELAY_PARENT_A, + &PARA_1, + &CANDIDATE_C1 + )); + assert!(state.has_free_slot_at_leaf_for( + &RELAY_PARENT_C, + &RELAY_PARENT_A, + &PARA_1, + &CANDIDATE_C1 + )); + } + + #[test] + fn seconding_works() { + let mut state = PerLeafClaimQueueState::new(); + let claim_queue = VecDeque::from(vec![PARA_1]); + + // 0 -> a -> b + // \-> c + state.add_leaf(&RELAY_PARENT_A, &claim_queue, Some(&ROOT_RELAY_PARENT)); + state.add_leaf(&RELAY_PARENT_B, &claim_queue, Some(&RELAY_PARENT_A)); + state.add_leaf(&RELAY_PARENT_C, &claim_queue, Some(&RELAY_PARENT_A)); + + assert!(state.claim_pending_slot(&RELAY_PARENT_A, &PARA_1, Some(*CANDIDATE_A1))); + + // CQ is of size 1. We have claimed one slot at A, so there should be one free slot at + // each leaf. + assert_eq!(claim_queue.len(), 1); + assert_eq!(state.free_slots(&RELAY_PARENT_B), vec![PARA_1]); + assert_eq!(state.free_slots(&RELAY_PARENT_C), vec![PARA_1]); + // and the same slots should remain available after seconding CANDIDATE_A1 + assert!(state.claim_seconded_slot(&RELAY_PARENT_A, &PARA_1, &CANDIDATE_A1)); + assert_eq!(state.free_slots(&RELAY_PARENT_B), vec![PARA_1]); + assert_eq!(state.free_slots(&RELAY_PARENT_C), vec![PARA_1]); + + // Now claim a seconded slot directly at relay parent b + assert!(state.claim_seconded_slot(&RELAY_PARENT_B, &PARA_1, &CANDIDATE_B1)); + // which means there are no more free slots at leaf b + assert_eq!(state.free_slots(&RELAY_PARENT_B), vec![]); + // but the free slot at leaf c stays + assert_eq!(state.free_slots(&RELAY_PARENT_C), vec![PARA_1]); + } + + #[test] + fn remove_pruned_ancestors_works() { + let mut state = PerLeafClaimQueueState::new(); + let claim_queue = VecDeque::from(vec![PARA_1, PARA_1, PARA_1]); + + // 0 -> a -> b + // \-> c + state.add_leaf(&RELAY_PARENT_A, &claim_queue, Some(&ROOT_RELAY_PARENT)); + state.add_leaf(&RELAY_PARENT_B, &claim_queue, Some(&RELAY_PARENT_A)); + state.add_leaf(&RELAY_PARENT_C, &claim_queue, Some(&ROOT_RELAY_PARENT)); + + let removed = vec![*RELAY_PARENT_A, *RELAY_PARENT_B]; + state.remove_pruned_ancestors(&HashSet::from_iter(removed.iter().cloned())); + + assert_eq!(state.leaves.len(), 1); + assert_eq!(state.leaves[&RELAY_PARENT_C].block_state.len(), 1); + } + + #[test] + fn different_claims_per_leaf() { + let mut state = PerLeafClaimQueueState::new(); + let claim_queue = VecDeque::from(vec![PARA_1, PARA_1]); + + // 0 -> a -> b + // \-> c + state.add_leaf(&RELAY_PARENT_A, &claim_queue, Some(&ROOT_RELAY_PARENT)); + state.add_leaf(&RELAY_PARENT_B, &claim_queue, Some(&RELAY_PARENT_A)); + state.add_leaf(&RELAY_PARENT_C, &claim_queue, Some(&RELAY_PARENT_A)); + + // `RELAY_PARENT_A` is not a leaf (b and c are) + assert!(!state.has_free_slot_at_leaf_for( + &RELAY_PARENT_A, + &RELAY_PARENT_A, + &PARA_1, + &CANDIDATE_A1 + )); + assert!(state.has_free_slot_at_leaf_for( + &RELAY_PARENT_B, + &RELAY_PARENT_A, + &PARA_1, + &CANDIDATE_A1 + )); + assert!(state.has_free_slot_at_leaf_for( + &RELAY_PARENT_C, + &RELAY_PARENT_A, + &PARA_1, + &CANDIDATE_B1 + )); + + // Claim a slot at the common ancestor (rp a) and rp b + assert!(state.claim_seconded_slot(&RELAY_PARENT_A, &PARA_1, &CANDIDATE_A1)); + assert!(state.claim_seconded_slot(&RELAY_PARENT_B, &PARA_1, &CANDIDATE_B1)); + + // now try adding another candidate at the common ancestor at both leaves. It should + // fail for b and succeed for c + assert!(!state.has_free_slot_at_leaf_for( + &RELAY_PARENT_B, + &RELAY_PARENT_A, + &PARA_1, + &CANDIDATE_C1 + )); + assert!(state.has_free_slot_at_leaf_for( + &RELAY_PARENT_C, + &RELAY_PARENT_A, + &PARA_1, + &CANDIDATE_C1 + )); + } + + #[test] + fn claims_at_common_ancestor_occupy_all_forks() { + let mut state = PerLeafClaimQueueState::new(); + let claim_queue = VecDeque::from(vec![PARA_1, PARA_1]); + + // 0 -> a -> b + // \-> c + state.add_leaf(&RELAY_PARENT_A, &claim_queue, Some(&ROOT_RELAY_PARENT)); + state.add_leaf(&RELAY_PARENT_B, &claim_queue, Some(&RELAY_PARENT_A)); + state.add_leaf(&RELAY_PARENT_C, &claim_queue, Some(&RELAY_PARENT_A)); + + // Claim a slot at the common ancestor (rp a) for two candidates + assert!(state.claim_seconded_slot(&RELAY_PARENT_A, &PARA_1, &CANDIDATE_A1)); + assert!(state.claim_seconded_slot(&RELAY_PARENT_A, &PARA_1, &CANDIDATE_B1)); + + // now try adding another candidate at the common ancestor at both leaves. It should + // fail for both + assert!(!state.has_free_slot_at_leaf_for( + &RELAY_PARENT_B, + &RELAY_PARENT_A, + &PARA_1, + &CANDIDATE_C1 + )); + assert!(!state.has_free_slot_at_leaf_for( + &RELAY_PARENT_C, + &RELAY_PARENT_A, + &PARA_1, + &CANDIDATE_C1 + )); + + // add one more leaf from a: + // 0 -> a -> b + // \-> c + // \-> d + // the claim should be transferred there too + state.add_leaf(&RELAY_PARENT_D, &claim_queue, Some(&RELAY_PARENT_A)); + assert!(!state.has_free_slot_at_leaf_for( + &RELAY_PARENT_D, + &RELAY_PARENT_A, + &PARA_1, + &CANDIDATE_C1 + )); + } +} diff --git a/polkadot/node/network/collator-protocol/src/validator_side/collation.rs b/polkadot/node/network/collator-protocol/src/validator_side/collation.rs index 41c4514c8945e..4579addbd4ce6 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side/collation.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side/collation.rs @@ -147,22 +147,22 @@ pub fn fetched_collation_sanity_check( maybe_parent_head_and_hash: Option<(HeadData, Hash)>, ) -> Result<(), SecondingError> { if persisted_validation_data.hash() != fetched.descriptor().persisted_validation_data_hash() { - return Err(SecondingError::PersistedValidationDataMismatch) + return Err(SecondingError::PersistedValidationDataMismatch); } if advertised .prospective_candidate .map_or(false, |pc| pc.candidate_hash() != fetched.hash()) { - return Err(SecondingError::CandidateHashMismatch) + return Err(SecondingError::CandidateHashMismatch); } if advertised.relay_parent != fetched.descriptor.relay_parent() { - return Err(SecondingError::RelayParentMismatch) + return Err(SecondingError::RelayParentMismatch); } if maybe_parent_head_and_hash.map_or(false, |(head, hash)| head.hash() != hash) { - return Err(SecondingError::ParentHeadDataMismatch) + return Err(SecondingError::ParentHeadDataMismatch); } Ok(()) @@ -243,9 +243,8 @@ pub struct Collations { } impl Collations { - pub(super) fn new(group_assignments: &Vec) -> Self { + pub(super) fn new<'a>(group_assignments: impl Iterator) -> Self { let mut candidates_state = BTreeMap::::new(); - for para_id in group_assignments { candidates_state.entry(*para_id).or_default().claims_per_para += 1; } @@ -290,7 +289,7 @@ impl Collations { /// fulfilled. pub(super) fn pick_a_collation_to_fetch( &mut self, - unfulfilled_claim_queue_entries: Vec, + unfulfilled_claim_queue_entries: VecDeque, ) -> Option<(PendingCollation, CollatorId)> { gum::trace!( target: LOG_TARGET, @@ -307,7 +306,7 @@ impl Collations { .get_mut(&assignment) .and_then(|collations| collations.pop_front()) { - return Some(collation) + return Some(collation); } } @@ -324,6 +323,13 @@ impl Collations { pub(super) fn queued_for_para(&self, para_id: &ParaId) -> usize { self.waiting_queue.get(para_id).map(|queue| queue.len()).unwrap_or_default() } + + /// Remove all pending collations for a specific peer from the waiting queue. + pub(super) fn remove_pending_for_peer(&mut self, peer_id: &PeerId) { + for queue in self.waiting_queue.values_mut() { + queue.retain(|(pending, _)| &pending.peer_id != peer_id); + } + } } // Any error that can occur when awaiting a collation fetch response. @@ -373,7 +379,7 @@ impl Future for CollationFetchRequest { pending_collation: self.pending_collation, }, Err(CollationFetchError::Cancelled), - )) + )); } let res = self.from_collator.poll_unpin(cx).map(|res| { diff --git a/polkadot/node/network/collator-protocol/src/validator_side/error.rs b/polkadot/node/network/collator-protocol/src/validator_side/error.rs index e30d6cb4c25f8..1dc6fc93ce2d1 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side/error.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side/error.rs @@ -19,7 +19,7 @@ use futures::channel::oneshot; use polkadot_node_subsystem::RuntimeApiError; use polkadot_node_subsystem_util::backing_implicit_view; -use polkadot_primitives::CandidateDescriptorVersion; +use polkadot_primitives::{CandidateDescriptorVersion, Hash}; /// General result. pub type Result = std::result::Result; @@ -90,22 +90,29 @@ pub enum SecondingError { #[error("Invalid candidate receipt version {0:?}")] InvalidReceiptVersion(CandidateDescriptorVersion), + + #[error("ParaId doesn't match the advertisement")] + ParaIdMismatch, + + #[error("Collation seconding blocked on parent being seconded: {0}")] + BlockedOnParent(Hash), } impl SecondingError { /// Returns true if an error indicates that a peer is malicious. pub fn is_malicious(&self) -> bool { use SecondingError::*; - matches!( - self, + match self { PersistedValidationDataMismatch | - CandidateHashMismatch | - RelayParentMismatch | - ParentHeadDataMismatch | - InvalidCoreIndex(_, _) | - InvalidSessionIndex(_, _) | - InvalidReceiptVersion(_) - ) + CandidateHashMismatch | + RelayParentMismatch | + ParentHeadDataMismatch | + InvalidCoreIndex(_, _) | + InvalidSessionIndex(_, _) | + InvalidReceiptVersion(_) => true, + ParaIdMismatch => true, + _ => false, + } } } diff --git a/polkadot/node/network/collator-protocol/src/validator_side/mod.rs b/polkadot/node/network/collator-protocol/src/validator_side/mod.rs index b29af3e3c5e85..fb969f8c90328 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side/mod.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side/mod.rs @@ -61,14 +61,15 @@ use super::{modify_reputation, tick_stream, LOG_TARGET}; mod claim_queue_state; mod collation; -mod error; -mod metrics; +pub mod error; use claim_queue_state::ClaimQueueState; +pub(crate) use claim_queue_state::PerLeafClaimQueueState; +pub use collation::BlockedCollationId; use collation::{ - fetched_collation_sanity_check, BlockedCollationId, CollationEvent, CollationFetchError, - CollationFetchRequest, CollationStatus, Collations, FetchedCollation, PendingCollation, - PendingCollationFetch, ProspectiveCandidate, + fetched_collation_sanity_check, CollationEvent, CollationFetchError, CollationFetchRequest, + CollationStatus, Collations, FetchedCollation, PendingCollation, PendingCollationFetch, + ProspectiveCandidate, }; use error::{Error, FetchError, HoldOffError, Result, SecondingError}; @@ -77,7 +78,7 @@ const ASSET_HUB_PARA_ID: ParaId = ParaId::new(1000); // Asset Hub's para id is 1 #[cfg(test)] mod tests; -pub use metrics::Metrics; +pub use crate::validator_side_metrics::Metrics; const COST_UNEXPECTED_MESSAGE: Rep = Rep::CostMinor("An unexpected message"); /// Message could not be decoded properly. @@ -230,7 +231,7 @@ impl PeerData { active_leaves, state.para_id, ) { - return Err(InsertAdvertisementError::OutOfOurView) + return Err(InsertAdvertisementError::OutOfOurView); } if let Some(candidate_hash) = candidate_hash { @@ -239,7 +240,7 @@ impl PeerData { .get(&on_relay_parent) .map_or(false, |candidates| candidates.contains(&candidate_hash)) { - return Err(InsertAdvertisementError::Duplicate) + return Err(InsertAdvertisementError::Duplicate); } let candidates = state.advertisements.entry(on_relay_parent).or_default(); @@ -247,7 +248,7 @@ impl PeerData { // Current assignments is equal to the length of the claim queue. No honest // collator should send that many advertisements. if candidates.len() > per_relay_parent.assignment.current.len() { - return Err(InsertAdvertisementError::PeerLimitReached) + return Err(InsertAdvertisementError::PeerLimitReached); } candidates.insert(candidate_hash); @@ -261,7 +262,7 @@ impl PeerData { } if state.advertisements.contains_key(&on_relay_parent) { - return Err(InsertAdvertisementError::Duplicate) + return Err(InsertAdvertisementError::Duplicate); } state @@ -335,8 +336,9 @@ impl PeerData { fn is_inactive(&self, policy: &crate::CollatorEvictionPolicy) -> bool { match self.state { PeerState::Connected(connected_at) => connected_at.elapsed() >= policy.undeclared, - PeerState::Collating(ref state) => - state.last_active.elapsed() >= policy.inactive_collator, + PeerState::Collating(ref state) => { + state.last_active.elapsed() >= policy.inactive_collator + }, } } } @@ -344,7 +346,7 @@ impl PeerData { #[derive(Debug)] struct GroupAssignments { /// Current assignments. - current: Vec, + current: VecDeque, } /// Represents the result from a hold off operation. @@ -511,6 +513,12 @@ struct State { } impl State { + fn collations(&self, relay_parent: &Hash) -> Option<&Collations> { + self.per_relay_parent + .get(relay_parent) + .map(|per_relay_parent| &per_relay_parent.collations) + } + // Returns the number of seconded and pending collations for a specific `ParaId`. Pending // collations are: // 1. Collations being fetched from a collator. @@ -518,16 +526,14 @@ impl State { // 3. Collations blocked from seconding due to parent not being known by backing subsystem. fn seconded_and_pending_for_para(&self, relay_parent: &Hash, para_id: &ParaId) -> usize { let seconded = self - .per_relay_parent - .get(relay_parent) - .map_or(0, |per_relay_parent| per_relay_parent.collations.seconded_for_para(para_id)); + .collations(relay_parent) + .map_or(0, |collations| collations.seconded_for_para(para_id)); - let pending_fetch = self.per_relay_parent.get(relay_parent).map_or(0, |rp_state| { - match rp_state.collations.status { + let pending_fetch = + self.collations(relay_parent).map_or(0, |collations| match collations.status { CollationStatus::Fetching(pending_para_id) if pending_para_id == *para_id => 1, _ => 0, - } - }); + }); let waiting_for_validation = self .fetched_candidates @@ -562,9 +568,8 @@ impl State { /// Returns the number of collations pending to be fetched for a `ParaId` fn in_waiting_queue_for_para(&self, relay_parent: &Hash, para_id: &ParaId) -> usize { - self.per_relay_parent - .get(relay_parent) - .map_or(0, |rp_state| rp_state.collations.queued_for_para(para_id)) + self.collations(relay_parent) + .map_or(0, |collations| collations.queued_for_para(para_id)) } } @@ -611,7 +616,7 @@ where rotation_info.core_for_group(group, groups.len()) } else { gum::trace!(target: LOG_TARGET, ?relay_parent, "Not a validator"); - return Ok(None) + return Ok(None); }; let mut claim_queue = request_claim_queue(relay_parent, sender) @@ -634,8 +639,8 @@ where } } - let assignment = GroupAssignments { current: assigned_paras.into_iter().collect() }; - let collations = Collations::new(&assignment.current); + let assignment = GroupAssignments { current: assigned_paras }; + let collations = Collations::new(assignment.current.iter()); Ok(Some(PerRelayParent { assignment, @@ -738,7 +743,7 @@ async fn note_good_collation( } /// Notify a collator that its collation got seconded. -async fn notify_collation_seconded( +pub async fn notify_collation_seconded( sender: &mut impl overseer::CollatorProtocolSenderTrait, peer_id: PeerId, version: CollationVersion, @@ -747,14 +752,16 @@ async fn notify_collation_seconded( ) { let statement = statement.into(); let wire_message = match version { - CollationVersion::V1 => + CollationVersion::V1 => { CollationProtocols::V1(protocol_v1::CollationProtocol::CollatorProtocol( protocol_v1::CollatorProtocolMessage::CollationSeconded(relay_parent, statement), - )), - CollationVersion::V2 => + )) + }, + CollationVersion::V2 => { CollationProtocols::V2(protocol_v2::CollationProtocol::CollatorProtocol( protocol_v2::CollatorProtocolMessage::CollationSeconded(relay_parent, statement), - )), + )) + }, }; sender .send_message(NetworkBridgeTxMessage::SendCollationMessage(vec![peer_id], wire_message)) @@ -793,7 +800,7 @@ async fn request_collation( peer_protocol_version: CollationVersion, ) -> std::result::Result<(), FetchError> { if state.collation_requests_cancel_handles.contains_key(&pending_collation) { - return Err(FetchError::AlreadyRequested) + return Err(FetchError::AlreadyRequested); } let PendingCollation { relay_parent, para_id, peer_id, prospective_candidate, .. } = @@ -889,7 +896,7 @@ async fn process_incoming_peer_message( COST_UNEXPECTED_MESSAGE, ) .await; - return + return; } let peer_data = match state.peer_data.get_mut(&origin) { @@ -908,7 +915,7 @@ async fn process_incoming_peer_message( COST_UNEXPECTED_MESSAGE, ) .await; - return + return; }, }; @@ -926,7 +933,7 @@ async fn process_incoming_peer_message( COST_UNEXPECTED_MESSAGE, ) .await; - return + return; } if !signature.verify(&*protocol_v1::declare_signature_payload(&origin), &collator_id) { @@ -943,7 +950,7 @@ async fn process_incoming_peer_message( COST_INVALID_SIGNATURE, ) .await; - return + return; } if state.current_assignments.contains_key(¶_id) { @@ -1068,7 +1075,7 @@ fn hold_off_asset_hub_collation_if_needed( "Collation not held off", ); - return false + return false; } let Some(rp_state) = state.per_relay_parent.get_mut(&relay_parent) else { @@ -1079,7 +1086,7 @@ fn hold_off_asset_hub_collation_if_needed( ?relay_parent, "Trying to hold off AssetHub collation, but the relay parent is not known", ); - return false + return false; }; let hold_off_outcome = @@ -1265,12 +1272,11 @@ fn ensure_seconding_limit_is_respected( "Checking seconding limit", ); + let in_waiting_queue = state.in_waiting_queue_for_para(relay_parent, ¶_id); let mut has_claim_at_some_path = false; for path in paths { let mut cq_state = ClaimQueueState::new(); for ancestor in &path { - let seconded_and_pending = state.seconded_and_pending_for_para(&ancestor, ¶_id) + - state.in_waiting_queue_for_para(relay_parent, ¶_id); cq_state.add_leaf( &ancestor, &state @@ -1280,14 +1286,19 @@ fn ensure_seconding_limit_is_respected( .assignment .current, ); + + let seconded_and_pending = + state.seconded_and_pending_for_para(&ancestor, ¶_id) + in_waiting_queue; for _ in 0..seconded_and_pending { - cq_state.claim_at(ancestor, ¶_id); + // It doesn't matter which type of claim we make for the purposes of this subsystem + // (pending or seconded). + cq_state.claim_pending_at(ancestor, ¶_id, None); } } - if cq_state.can_claim_at(relay_parent, ¶_id) { + if cq_state.has_or_can_claim_at(relay_parent, ¶_id, None) { has_claim_at_some_path = true; - break + break; } } @@ -1325,7 +1336,7 @@ where let peer_data = state.peer_data.get_mut(&peer_id).ok_or(AdvertisementError::UnknownPeer)?; if peer_data.version == CollationVersion::V1 && !state.active_leaves.contains(&relay_parent) { - return Err(AdvertisementError::ProtocolMisuse) + return Err(AdvertisementError::ProtocolMisuse); } let per_relay_parent = state @@ -1340,7 +1351,7 @@ where // Check if this is assigned to us. if !assignment.current.contains(&collator_para_id) { - return Err(AdvertisementError::InvalidAssignment) + return Err(AdvertisementError::InvalidAssignment); } // Always insert advertisements that pass all the checks for spam protection. @@ -1362,7 +1373,7 @@ where relay_parent, prospective_candidate, ) { - return Ok(()) + return Ok(()); } process_advertisement( @@ -1399,7 +1410,7 @@ where can_second(sender, para_id, relay_parent, candidate_hash, parent_head_data_hash).await; if !can_second { - return Err(AdvertisementError::BlockedByBacking) + return Err(AdvertisementError::BlockedByBacking); } } @@ -1461,7 +1472,7 @@ where ?prospective_candidate, "Candidate relay parent went out of view for valid advertisement", ); - return Ok(()) + return Ok(()); }, }; let prospective_candidate = @@ -1534,7 +1545,7 @@ where ) .await? else { - continue + continue; }; state.active_leaves.insert(*leaf); @@ -1658,7 +1669,7 @@ async fn handle_network_msg( ?err, "Unsupported protocol version" ); - return Ok(()) + return Ok(()); }, }; @@ -1683,7 +1694,7 @@ async fn handle_network_msg( "Peer connection refused, no slots for invulnerable AssetHub collators", ); disconnect_peer(ctx.sender(), peer_id).await; - return Ok(()) + return Ok(()); } state.peer_data.entry(peer_id).or_insert_with(|| PeerData { @@ -1695,6 +1706,11 @@ async fn handle_network_msg( }, PeerDisconnected(peer_id) => { state.peer_data.remove(&peer_id); + // Clean up any pending collations from this peer in all waiting queues. + // This prevents stale entries when the peer reconnects with empty advertisements. + for per_relay_parent in state.per_relay_parent.values_mut() { + per_relay_parent.collations.remove_pending_for_peer(&peer_id); + } state.metrics.note_collator_peer_count(state.peer_data.len()); }, NewGossipTopology { .. } => { @@ -1774,7 +1790,7 @@ async fn process_msg( relay_parent = %parent, "Seconded message received with a `Valid` statement", ); - return + return; }, }; let output_head_data = receipt.commitments.head_data.clone(); @@ -1849,7 +1865,9 @@ async fn process_msg( Entry::Occupied(entry) if entry.get().pending_collation.commitments_hash == Some(candidate_receipt.commitments_hash) => - entry.remove().collator_id, + { + entry.remove().collator_id + }, Entry::Occupied(_) => { gum::error!( target: LOG_TARGET, @@ -1857,7 +1875,7 @@ async fn process_msg( candidate = ?candidate_receipt.hash(), "Reported invalid candidate for unknown `pending_candidate`!", ); - return + return; }, Entry::Vacant(_) => return, }; @@ -1880,6 +1898,7 @@ pub(crate) async fn run( ah_invulnerables: HashSet, hold_off_duration: Option, ) -> std::result::Result<(), SubsystemError> { + gum::info!(target: LOG_TARGET, "Running legacy collator protocol"); run_inner( ctx, keystore, @@ -2113,12 +2132,12 @@ async fn dequeue_next_collation_and_fetch( "Failed to request a collation, dequeueing next one", ); } else { - break + break; } } } -async fn request_persisted_validation_data( +pub async fn request_persisted_validation_data( sender: &mut Sender, relay_parent: Hash, para_id: ParaId, @@ -2139,7 +2158,7 @@ where .map_err(SecondingError::RuntimeApi) } -async fn request_prospective_validation_data( +pub async fn request_prospective_validation_data( sender: &mut Sender, candidate_relay_parent: Hash, parent_head_data_hash: Hash, @@ -2187,12 +2206,17 @@ async fn kick_off_seconding( relay_parent = ?relay_parent, "Fetched collation for a parent out of view", ); - return Ok(false) + return Ok(false); }, }; // Sanity check of the candidate receipt version. - descriptor_version_sanity_check(candidate_receipt.descriptor(), per_relay_parent)?; + descriptor_version_sanity_check( + candidate_receipt.descriptor(), + per_relay_parent.v2_receipts, + per_relay_parent.current_core, + per_relay_parent.session_index, + )?; let collations = &mut per_relay_parent.collations; @@ -2232,7 +2256,7 @@ async fn kick_off_seconding( }, _ => { // `handle_advertisement` checks for protocol mismatch. - return Ok(false) + return Ok(false); }, }; @@ -2264,12 +2288,12 @@ async fn kick_off_seconding( .or_insert_with(Vec::new) .push(blocked_collation); - return Ok(false) + return Ok(false); }, (None, _, _) => { // Even though we already have the parent head data, the pvd fetching failed. We // don't need to wait for seconding another collation outputting this head data. - return Err(SecondingError::PersistedValidationDataNotFound) + return Err(SecondingError::PersistedValidationDataNotFound); }, }; @@ -2335,7 +2359,7 @@ async fn handle_collation_fetch_response( peer_id = ?pending_collation.peer_id, "Request was cancelled from the validator side" ); - return Err(None) + return Err(None); }, Err(CollationFetchError::Request(req_error)) => Err(req_error), Ok(resp) => Ok(resp), @@ -2469,7 +2493,7 @@ async fn handle_collation_fetch_response( // Returns the claim queue without fetched or pending advertisement. The resulting `Vec` keeps the // order in the claim queue so the earlier an element is located in the `Vec` the higher its // priority is. -fn unfulfilled_claim_queue_entries(relay_parent: &Hash, state: &State) -> Result> { +fn unfulfilled_claim_queue_entries(relay_parent: &Hash, state: &State) -> Result> { let relay_parent_state = state .per_relay_parent .get(relay_parent) @@ -2494,7 +2518,9 @@ fn unfulfilled_claim_queue_entries(relay_parent: &Hash, state: &State) -> Result for para_id in &scheduled_paras { let seconded_and_pending = state.seconded_and_pending_for_para(&ancestor, ¶_id); for _ in 0..seconded_and_pending { - cq_state.claim_at(&ancestor, ¶_id); + // It doesn't matter which type of claim we make for the purposes of this + // subsystem (pending or seconded). + cq_state.claim_pending_at(ancestor, ¶_id, None); } } } @@ -2508,7 +2534,7 @@ fn unfulfilled_claim_queue_entries(relay_parent: &Hash, state: &State) -> Result // 3rd spot from the claim queue but it should be good enough. let unfulfilled_entries = claim_queue_states .iter_mut() - .map(|cq| cq.unclaimed_at(relay_parent)) + .map(|cq| cq.get_free_at(relay_parent)) .max_by(|a, b| a.len().cmp(&b.len())) .unwrap_or_default(); @@ -2531,7 +2557,7 @@ fn get_next_collation_to_fetch( ?err, "Failed to get unfulfilled claim queue entries" ); - return None + return None; }, }; let rp_state = match state.per_relay_parent.get_mut(&relay_parent) { @@ -2542,7 +2568,7 @@ fn get_next_collation_to_fetch( ?relay_parent, "Failed to get relay parent state" ); - return None + return None; }, }; @@ -2559,7 +2585,7 @@ fn get_next_collation_to_fetch( ?finished_one, "Not proceeding to the next collation - has already been done." ); - return None + return None; } } rp_state.collations.status.back_to_waiting(); @@ -2567,28 +2593,27 @@ fn get_next_collation_to_fetch( } // Sanity check the candidate descriptor version. -fn descriptor_version_sanity_check( +pub fn descriptor_version_sanity_check( descriptor: &CandidateDescriptorV2, - per_relay_parent: &PerRelayParent, + v2_receipts: bool, + current_core: CoreIndex, + current_session_index: SessionIndex, ) -> std::result::Result<(), SecondingError> { match descriptor.version() { CandidateDescriptorVersion::V1 => Ok(()), - CandidateDescriptorVersion::V2 if per_relay_parent.v2_receipts => { + CandidateDescriptorVersion::V2 if v2_receipts => { if let Some(core_index) = descriptor.core_index() { - if core_index != per_relay_parent.current_core { - return Err(SecondingError::InvalidCoreIndex( - core_index.0, - per_relay_parent.current_core.0, - )) + if core_index != current_core { + return Err(SecondingError::InvalidCoreIndex(core_index.0, current_core.0)); } } if let Some(session_index) = descriptor.session_index() { - if session_index != per_relay_parent.session_index { + if session_index != current_session_index { return Err(SecondingError::InvalidSessionIndex( session_index, - per_relay_parent.session_index, - )) + current_session_index, + )); } } diff --git a/polkadot/node/network/collator-protocol/src/validator_side/tests/mod.rs b/polkadot/node/network/collator-protocol/src/validator_side/tests/mod.rs index f958a921b2e0f..cc22293abb9ac 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side/tests/mod.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side/tests/mod.rs @@ -416,18 +416,20 @@ async fn connect_and_declare_collator( .await; let wire_message = match version { - CollationVersion::V1 => + CollationVersion::V1 => { CollationProtocols::V1(protocol_v1::CollatorProtocolMessage::Declare( collator.public(), para_id, collator.sign(&protocol_v1::declare_signature_payload(&peer)), - )), - CollationVersion::V2 => + )) + }, + CollationVersion::V2 => { CollationProtocols::V2(protocol_v2::CollatorProtocolMessage::Declare( collator.public(), para_id, collator.sign(&protocol_v1::declare_signature_payload(&peer)), - )), + )) + }, }; overseer_send( @@ -448,12 +450,13 @@ async fn advertise_collation( candidate: Option<(CandidateHash, Hash)>, // Candidate hash + parent head data hash. ) { let wire_message = match candidate { - Some((candidate_hash, parent_head_data_hash)) => + Some((candidate_hash, parent_head_data_hash)) => { CollationProtocols::V2(protocol_v2::CollatorProtocolMessage::AdvertiseCollation { relay_parent, candidate_hash, parent_head_data_hash, - }), + }) + }, None => CollationProtocols::V1(protocol_v1::CollatorProtocolMessage::AdvertiseCollation( relay_parent, )), @@ -1110,7 +1113,7 @@ fn delay_reputation_change() { match overseer_recv(&mut virtual_overseer).await { AllMessages::NetworkBridgeTx(NetworkBridgeTxMessage::DisconnectPeers(_, _)) => { gum::trace!("`Disconnecting inactive peer` message skipped"); - continue + continue; }, AllMessages::NetworkBridgeTx(NetworkBridgeTxMessage::ReportPeer( ReportPeerMessage::Batch(v), @@ -1120,7 +1123,7 @@ fn delay_reputation_change() { add_reputation(&mut expected_change, peer_b, rep); } assert_eq!(v, expected_change); - break + break; }, _ => panic!("Message should be either `DisconnectPeer` or `ReportPeer`"), } @@ -1161,3 +1164,137 @@ fn view_change_clears_old_collators() { virtual_overseer }) } + +/// Test that when a peer disconnects, their pending collations are removed from the waiting queue. +/// This prevents "NotAdvertised" errors when the peer reconnects with empty advertisement state. +#[test] +fn peer_disconnect_clears_pending_collations_from_waiting_queue() { + let mut test_state = TestState::default(); + + test_harness(ReputationAggregator::new(|_| true), HashSet::new(), |test_harness| async move { + let TestHarness { mut virtual_overseer, .. } = test_harness; + + let relay_parent = test_state.relay_parent; + update_view(&mut virtual_overseer, &mut test_state, vec![(relay_parent, 0)]).await; + + // Connect first collator and have them advertise - this will trigger a fetch. + let peer_a = PeerId::random(); + let collator_a = test_state.collators[0].clone(); + + connect_and_declare_collator( + &mut virtual_overseer, + peer_a, + collator_a.clone(), + test_state.chain_ids[0], + CollationVersion::V1, + ) + .await; + + advertise_collation(&mut virtual_overseer, peer_a, relay_parent, None).await; + + // First collation fetch is initiated. + let response_channel_a = assert_fetch_collation_request( + &mut virtual_overseer, + relay_parent, + test_state.chain_ids[0], + None, + ) + .await; + + // Connect second collator and have them advertise. + // Since we're already fetching, this goes into the waiting queue. + let peer_b = PeerId::random(); + let collator_b = test_state.collators[1].clone(); + + connect_and_declare_collator( + &mut virtual_overseer, + peer_b, + collator_b.clone(), + test_state.chain_ids[0], + CollationVersion::V1, + ) + .await; + + advertise_collation(&mut virtual_overseer, peer_b, relay_parent, None).await; + + // Now disconnect peer_b. This should clean up their entry from the waiting queue. + overseer_send( + &mut virtual_overseer, + CollatorProtocolMessage::NetworkBridgeUpdate(NetworkBridgeEvent::PeerDisconnected( + peer_b, + )), + ) + .await; + + // Peer_b reconnects and declares again (but does NOT re-advertise yet). + overseer_send( + &mut virtual_overseer, + CollatorProtocolMessage::NetworkBridgeUpdate(NetworkBridgeEvent::PeerConnected( + peer_b, + ObservedRole::Full, + CollationVersion::V1.into(), + None, + )), + ) + .await; + + overseer_send( + &mut virtual_overseer, + CollatorProtocolMessage::NetworkBridgeUpdate(NetworkBridgeEvent::PeerMessage( + peer_b, + CollationProtocols::V1(protocol_v1::CollatorProtocolMessage::Declare( + collator_b.public(), + test_state.chain_ids[0], + collator_b.sign(&protocol_v1::declare_signature_payload(&peer_b)), + )), + )), + ) + .await; + + // Complete the first fetch from peer_a. + let pov = PoV { block_data: BlockData(vec![]) }; + let mut candidate_a = + dummy_candidate_receipt_bad_sig(dummy_hash(), Some(Default::default())); + candidate_a.descriptor.para_id = test_state.chain_ids[0]; + candidate_a.descriptor.relay_parent = relay_parent; + candidate_a.descriptor.persisted_validation_data_hash = dummy_pvd().hash(); + + response_channel_a + .send(Ok(( + request_v1::CollationFetchingResponse::Collation( + candidate_a.clone().into(), + pov.clone(), + ) + .encode(), + ProtocolName::from(""), + ))) + .expect("Sending response should succeed"); + + // This triggers candidate backing. + assert_candidate_backing_second( + &mut virtual_overseer, + relay_parent, + test_state.chain_ids[0], + &pov, + CollationVersion::V1, + ) + .await; + + // Ensure the subsystem is polled. + test_helpers::Yield::new().await; + + // The key assertion: after completing the first fetch, the subsystem should NOT + // attempt to fetch from peer_b because their waiting queue entry was cleaned up + // on disconnect. Without the fix, we would see a fetch request here that would + // fail with "NotAdvertised" because peer_b's advertisement state was cleared + // when they disconnected. + assert!( + overseer_recv_with_timeout(&mut virtual_overseer, Duration::from_millis(100)) + .await + .is_none(), + "There should be no fetch request for peer_b - their entry was cleaned from waiting queue on disconnect" + ); + + virtual_overseer + }) +} diff --git a/polkadot/node/network/collator-protocol/src/validator_side/tests/prospective_parachains.rs b/polkadot/node/network/collator-protocol/src/validator_side/tests/prospective_parachains.rs index 6b3621b9d114b..5ee966d3145a6 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side/tests/prospective_parachains.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side/tests/prospective_parachains.rs @@ -156,7 +156,7 @@ pub(super) async fn update_view( if !matches!(&msg, AllMessages::ChainApi(ChainApiMessage::BlockHeader(..))) { // Ancestry has already been cached for this leaf. next_overseer_message.replace(msg); - break + break; } assert_matches!( @@ -1801,7 +1801,7 @@ fn collation_fetching_prefer_entries_earlier_in_claim_queue() { test_helpers::Yield::new().await; assert_matches!(virtual_overseer.recv().now_or_never(), None); - //Now send a response for the first fetch and examine the second fetch + // Now send a response for the first fetch and examine the second fetch send_collation_and_assert_processing( &mut virtual_overseer, keystore.clone(), @@ -2534,7 +2534,7 @@ mod ah_stop_gap { ); } - //connecting an invulnerable collator should succeed + // connecting an invulnerable collator should succeed connect_and_declare_collator( &mut virtual_overseer, invulnerable_collator, @@ -2588,7 +2588,7 @@ mod ah_stop_gap { ) .await; - //connecting an invulnerable collator should succeed + // connecting an invulnerable collator should succeed connect_and_declare_collator( &mut virtual_overseer, invulnerable_collator, diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/collation_manager/mod.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/collation_manager/mod.rs new file mode 100644 index 0000000000000..966dc1ab4bb10 --- /dev/null +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/collation_manager/mod.rs @@ -0,0 +1,1577 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +use crate::{ + validator_side::{ + descriptor_version_sanity_check, error::SecondingError, request_persisted_validation_data, + request_prospective_validation_data, BlockedCollationId, PerLeafClaimQueueState, + }, + validator_side_experimental::{ + common::{ + Advertisement, CanSecond, CollationFetchError, CollationFetchResponse, + ProspectiveCandidate, Score, SecondingRejectionInfo, FAILED_FETCH_SLASH, + MAX_FETCH_DELAY, + }, + error::{Error, FatalResult, Result}, + }, + LOG_TARGET, +}; +use fatality::Split; +use futures::{channel::oneshot, stream::FusedStream}; +use polkadot_node_network_protocol::{ + request_response::{outgoing::RequestError, v2 as request_v2, Requests}, + OurView, PeerId, +}; +use polkadot_node_primitives::PoV; +use polkadot_node_subsystem::{ + messages::{CanSecondRequest, CandidateBackingMessage}, + ActivatedLeaf, CollatorProtocolSenderTrait, +}; +use polkadot_node_subsystem_util::{ + backing_implicit_view::View as ImplicitView, metrics::prometheus::prometheus::HistogramTimer, + request_claim_queue, request_node_features, request_session_index_for_child, + request_validator_groups, request_validators, runtime::recv_runtime, +}; +use polkadot_primitives::{ + node_features, CandidateHash, CandidateReceiptV2 as CandidateReceipt, CoreIndex, GroupIndex, + GroupRotationInfo, Hash, HeadData, Id as ParaId, PersistedValidationData, SessionIndex, +}; +use requests::PendingRequests; +use schnellru::{ByLength, LruMap}; +use sp_keystore::KeystorePtr; +use sp_runtime::Either; +use std::{ + collections::{BTreeSet, HashMap, VecDeque}, + time::{Duration, Instant}, +}; + +mod requests; + +/// Reason for rejecting an advertisement. +#[derive(Debug, thiserror::Error)] +pub enum AdvertisementError { + #[error("Validator is not assigned to this paraid")] + InvalidAssignment, + #[error("Duplicate advertisement")] + Duplicate, + #[error("Advertised relay parent is out of our view")] + OutOfOurView, + #[error("Peer reached the candidate limit")] + PeerLimitReached, + #[error("Seconding not allowed by backing subsystem")] + BlockedByBacking, + #[error("V1 advertisements are only allowed on active leaves")] + V1AdvertisementForImplicitParent, +} + +pub struct CollationManager { + // The backing implicit view, which is used to track the active leaves and their implicit + // ancestors. + implicit_view: ImplicitView, + + // Claim queue state for each active leaf. This is used to track and limit the current + // collations for which work (seconding or fetching) is ongoing. + claim_queue_state: PerLeafClaimQueueState, + + // Collations which we haven't been able to second due to their parent not being known by + // prospective-parachains. Mapped from the para_id and parent_head_hash to the fetched + // collation data. Only needed for async backing. For elastic scaling, the fetched collation + // must contain the full parent head data. + blocked_from_seconding: HashMap>, + + // Information kept per relay parent. + per_relay_parent: HashMap, + + // Session info cache. + per_session: LruMap, + + // Collection of active collation fetch requests. + fetching: PendingRequests, + + // Key store. + keystore: KeystorePtr, +} + +impl CollationManager { + pub async fn new( + sender: &mut Sender, + keystore: KeystorePtr, + active_leaf: ActivatedLeaf, + ) -> FatalResult { + let mut instance = Self { + implicit_view: ImplicitView::new(None), + claim_queue_state: PerLeafClaimQueueState::new(), + per_relay_parent: HashMap::new(), + blocked_from_seconding: HashMap::new(), + per_session: LruMap::new(ByLength::new(2)), + fetching: PendingRequests::default(), + keystore, + }; + + instance.update_view(sender, OurView::new([active_leaf.hash], 0)).await?; + + Ok(instance) + } + + pub async fn update_view( + &mut self, + sender: &mut Sender, + new_view: OurView, + ) -> FatalResult<()> { + let removed = self + .implicit_view + .leaves() + .filter(|h| !new_view.contains(h)) + .cloned() + .collect::>(); + let added = new_view + .iter() + .filter(|h| !self.implicit_view.contains_leaf(h)) + .cloned() + .collect::>(); + + gum::trace!( + target: LOG_TARGET, + ?added, + ?removed, + "CollationManager: Processing view update" + ); + + for leaf in added.iter() { + if let Err(err) = self + .implicit_view + .activate_leaf(sender, *leaf) + .await + .map_err(Error::FailedToActivateLeafInImplicitView) + { + err.split()?.log(); + continue; + } + } + + for leaf in removed { + let deactivated_ancestry = self.implicit_view.deactivate_leaf(leaf); + + gum::trace!( + target: LOG_TARGET, + ?deactivated_ancestry, + "CollationManager: Removing relay parents from implicit view" + ); + + for deactivated in deactivated_ancestry.iter() { + // Remove the fetching collations and advertisements for the deactivated RPs. + if let Some(deactivated_rp) = self.per_relay_parent.remove(deactivated) { + for advertisement in deactivated_rp.all_advertisements() { + gum::trace!( + target: LOG_TARGET, + ?advertisement, + "Cancelling advertisement because relay parent got out of view" + ); + self.fetching.cancel(&advertisement); + } + } + } + + self.claim_queue_state + .remove_pruned_ancestors(&deactivated_ancestry.into_iter().collect()); + } + + // Remove blocked seconding requests that left the view. + let mut removed_blocked = vec![]; + self.blocked_from_seconding.retain(|_, collations| { + collations.retain(|collation| { + let remove = !self + .per_relay_parent + .contains_key(&collation.candidate_receipt.descriptor.relay_parent()); + + if remove { + removed_blocked.push(collation.candidate_receipt.hash()); + } + + !remove + }); + + !collations.is_empty() + }); + + for candidate_hash in removed_blocked { + gum::trace!( + target: LOG_TARGET, + ?candidate_hash, + "Removing blocked collation that left the view" + ); + + self.claim_queue_state.release_claims_for_candidate(&candidate_hash); + } + + for leaf in added.iter() { + let Some(allowed_ancestry) = self + .implicit_view + .known_allowed_relay_parents_under(leaf, None) + .map(|v| v.to_vec()) + else { + continue; + }; + + // Includes the leaf + for (idx, ancestor) in allowed_ancestry.iter().enumerate() { + if self.per_relay_parent.contains_key(&ancestor) { + continue; + } + + let session_index = + match recv_runtime(request_session_index_for_child(*ancestor, sender).await) + .await + .map_err(Error::Runtime) + { + Ok(session_index) => session_index, + Err(err) => { + err.split()?.log(); + continue; + }, + }; + + let core = match self.get_our_core(sender, leaf, session_index).await { + Ok(assignments) => assignments, + Err(err) => { + err.split()?.log(); + Default::default() + }, + }; + + self.per_relay_parent + .insert(*ancestor, PerRelayParent::new(session_index, core)); + + if idx == 0 && ancestor == leaf { + let mut claim_queues = + recv_runtime(request_claim_queue(*leaf, sender).await).await?; + let claim_queue = claim_queues.remove(&core).unwrap_or_else(|| VecDeque::new()); + + let maybe_parent = allowed_ancestry.get(1); + self.claim_queue_state.add_leaf(leaf, &claim_queue, maybe_parent); + } + } + } + + Ok(()) + } + + pub fn response_stream(&mut self) -> &mut impl FusedStream { + self.fetching.response_stream() + } + + pub fn assignments(&self) -> BTreeSet { + self.claim_queue_state.all_assignments() + } + + pub fn all_free_slots(&self) -> BTreeSet { + self.claim_queue_state.all_free_slots() + } + + pub async fn try_accept_advertisement( + &mut self, + sender: &mut Sender, + advertisement: Advertisement, + ) -> std::result::Result<(), AdvertisementError> { + let Some(per_rp) = self.per_relay_parent.get_mut(&advertisement.relay_parent) else { + return Err(AdvertisementError::OutOfOurView); + }; + + // V1 advertisements are only allowed on active leaves. + if advertisement.prospective_candidate.is_none() && + !self.implicit_view.contains_leaf(&advertisement.relay_parent) + { + return Err(AdvertisementError::V1AdvertisementForImplicitParent); + } + + let now = Instant::now(); + + let max_assignments = self + .claim_queue_state + .count_all_slots_for_para_at(&advertisement.relay_parent, &advertisement.para_id); + + if max_assignments == 0 { + return Err(AdvertisementError::InvalidAssignment); + } + + if let Some(ProspectiveCandidate { candidate_hash, .. }) = + advertisement.prospective_candidate + { + if per_rp.fetched_collations.contains_key(&candidate_hash) { + return Err(AdvertisementError::Duplicate); + } + } + + if self.fetching.contains(&advertisement) { + return Err(AdvertisementError::Duplicate); + } + + per_rp.can_keep_advertisement(advertisement, max_assignments)?; + + let can_second = backing_allows_seconding(sender, &advertisement).await; + if !can_second { + return Err(AdvertisementError::BlockedByBacking); + } + + per_rp.add_advertisement(advertisement, now); + + Ok(()) + } + + pub fn try_make_new_fetch_requests< + RepQueryFn: Fn(&PeerId, &ParaId) -> Option, + TimerFn: FnMut() -> Option, + >( + &mut self, + connected_rep_query_fn: RepQueryFn, + max_scores: HashMap, + mut create_timer_fn: TimerFn, + ) -> (Vec, Option) { + let now = Instant::now(); + + // Advertisements and collations are up to date. + // Claim queue states for leaves are also up to date. + // Launch requests when it makes sense. + let mut requests = vec![]; + let mut maybe_min_delay = None; + + let leaves: Vec<_> = self.claim_queue_state.leaves().copied().collect(); + for leaf in leaves { + let free_slots = self.claim_queue_state.free_slots(&leaf); + let Some(allowed_parents) = + self.implicit_view.known_allowed_relay_parents_under(&leaf, None) + else { + continue; + }; + + if !free_slots.is_empty() { + gum::trace!( + target: LOG_TARGET, + ?leaf, + "Attempting to make new fetch requests for the following empty slots: {:?}", + free_slots + ); + } + + for para_id in free_slots { + let highest_rep_of_para = max_scores.get(¶_id).copied().unwrap_or_default(); + + let advertisement = match self.pick_best_advertisement( + now, + leaf, + allowed_parents, + para_id, + highest_rep_of_para, + &connected_rep_query_fn, + ) { + Either::Left(Some(advertisement)) => advertisement, + Either::Left(None) => continue, + Either::Right(delay) => { + let min_delay = maybe_min_delay.get_or_insert(delay); + maybe_min_delay = Some(std::cmp::min(*min_delay, delay)); + continue; + }, + }; + + // This here may also claim a slot of another leaf if eligible. + if self.claim_queue_state.claim_pending_slot( + &advertisement.relay_parent, + ¶_id, + advertisement.candidate_hash(), + ) { + gum::trace!( + target: LOG_TARGET, + peer_id = ?advertisement.peer_id, + ?para_id, + relay_parent = ?advertisement.relay_parent, + maybe_candidate_hash = ?advertisement.candidate_hash(), + "Requesting collation", + ); + let req = self.fetching.launch(&advertisement, create_timer_fn()); + requests.push(req); + continue; + } else { + gum::warn!( + target: LOG_TARGET, + ?leaf, + ?para_id, + ?advertisement, + "Could not claim a slot for the chosen advertisement", + ); + } + } + } + + (requests, maybe_min_delay) + } + + pub fn remove_peer(&mut self, peer: &PeerId) { + for per_rp in self.per_relay_parent.values_mut() { + // No need to reset now the statuses of claims that were pending fetch for these + // candidates, or even cancel the futures as the requests will soon conclude with a + // network error. + per_rp.remove_peer_advertisements(peer); + } + } + + pub fn remove_peers<'a>(&'a mut self, peers_to_remove: impl Iterator) { + // Remove advertisements from these peers. + for peer in peers_to_remove { + self.remove_peer(peer) + } + } + + pub async fn note_fetched( + &mut self, + sender: &mut Sender, + res: CollationFetchResponse, + ) -> CanSecond { + let advertisement = res.0; + let mut reject_info = SecondingRejectionInfo::from(&advertisement); + + self.fetching.note_completed(&advertisement); + + let Some(per_rp) = self.per_relay_parent.get_mut(&advertisement.relay_parent) else { + gum::debug!( + target: LOG_TARGET, + hash = ?advertisement.relay_parent, + para_id = ?advertisement.para_id, + peer_id = ?advertisement.peer_id, + "Collation fetch concluded for relay parent out of view" + ); + return CanSecond::No(None, reject_info); + }; + + per_rp.remove_advertisement(&advertisement); + + let Some(session_info) = self.per_session.get(&per_rp.session_index) else { + gum::debug!( + target: LOG_TARGET, + hash = ?advertisement.relay_parent, + para_id = ?advertisement.para_id, + peer_id = ?advertisement.peer_id, + "Collation fetch concluded for relay parent whose session index is unknown" + ); + return CanSecond::No(None, reject_info); + }; + + match process_collation_fetch_result(res) { + Ok(fetched_collation) => { + // It can't be a duplicate, because we check before initiating fetch. For the old + // protocol version, we anyway only fetch one per relay parent. + per_rp + .fetched_collations + .insert(fetched_collation.candidate_receipt.hash(), advertisement.peer_id); + + reject_info.maybe_output_head_hash = + Some(fetched_collation.candidate_receipt.descriptor.para_head()); + + // Some initial sanity checks on the fetched collation, based on the advertisement. + if let Err(err) = fetched_collation.ensure_matches_advertisement(&advertisement) { + gum::warn!( + target: LOG_TARGET, + ?advertisement, + "Invalid fetched collation: {}", + err + ); + return CanSecond::No(Some(FAILED_FETCH_SLASH), reject_info); + } + + // Sanity check of the candidate receipt version. + if let Err(err) = descriptor_version_sanity_check( + fetched_collation.candidate_receipt.descriptor(), + session_info.v2_receipts, + per_rp.core_index, + per_rp.session_index, + ) { + gum::warn!( + target: LOG_TARGET, + ?advertisement, + "Failed descriptor version sanity check for fetched collation: {}", + err + ); + return CanSecond::No(Some(FAILED_FETCH_SLASH), reject_info); + } + + self.can_begin_seconding(sender, fetched_collation, true, reject_info).await + }, + Err(rep_change) => CanSecond::No(rep_change, reject_info), + } + } + + pub fn release_slot( + &mut self, + relay_parent: &Hash, + para_id: ParaId, + maybe_candidate_hash: Option<&CandidateHash>, + maybe_output_head_hash: Option, + ) { + if let Some(candidate_hash) = maybe_candidate_hash { + if !self.claim_queue_state.release_claims_for_candidate(candidate_hash) { + gum::debug!( + target: LOG_TARGET, + ?relay_parent, + ?candidate_hash, + ?para_id, + "Could not release slot for candidate, it wasn't claimed", + ); + } + } else { + if !self.claim_queue_state.release_claims_for_relay_parent(relay_parent) { + gum::debug!( + target: LOG_TARGET, + ?relay_parent, + ?para_id, + "Could not release slot for candidate, it wasn't claimed", + ); + } + } + + if let Some(output_head_hash) = maybe_output_head_hash { + // Remove any collations that were blocked on this parent. + self.remove_blocked_collations(BlockedCollationId { + para_id, + parent_head_data_hash: output_head_hash, + }); + } + } + + pub fn get_fetched_collation_peer_id( + &self, + relay_parent: &Hash, + candidate_hash: &CandidateHash, + ) -> Option<&PeerId> { + self.per_relay_parent + .get(relay_parent) + .and_then(|per_rp| per_rp.fetched_collations.get(candidate_hash)) + } + + pub async fn note_seconded( + &mut self, + sender: &mut Sender, + relay_parent: &Hash, + para_id: &ParaId, + candidate_hash: &CandidateHash, + output_head_hash: Hash, + ) -> (Option, Vec) { + let peer_id = self.get_fetched_collation_peer_id(relay_parent, candidate_hash).copied(); + + self.claim_queue_state + .claim_seconded_slot(relay_parent, para_id, candidate_hash); + + // See if we've unblocked other collations here too. + let maybe_unblocked = self.blocked_from_seconding.remove(&BlockedCollationId { + para_id: *para_id, + parent_head_data_hash: output_head_hash, + }); + let Some(unblocked) = maybe_unblocked else { return (peer_id, vec![]) }; + + let mut unblocked_can_second = Vec::with_capacity(unblocked.len()); + for fetched_collation in unblocked { + let reject_info = SecondingRejectionInfo { + relay_parent: fetched_collation.candidate_receipt.descriptor.relay_parent(), + peer_id: fetched_collation.peer_id, + para_id: fetched_collation.candidate_receipt.descriptor.para_id(), + maybe_output_head_hash: Some( + fetched_collation.candidate_receipt.descriptor.para_head(), + ), + maybe_candidate_hash: Some(fetched_collation.candidate_receipt.hash()), + }; + let can_second = + self.can_begin_seconding(sender, fetched_collation, false, reject_info).await; + unblocked_can_second.push(can_second) + } + + (peer_id, unblocked_can_second) + } + + // Calculates a linear amount of delay for collators with score less than the max score for the + // para: + // + // delay = MAX_FETCH_DELAY * (1 - collator_score/max_score_for_para) + // + // which roughly looks like this: + // + // delay + // |\ + // | \ + // |-- + + // | | \ + // |___|___\___________________ score + //. ^ ^ max_score_for_para + //. ^collator_score + //. + // In plain English: apply some delay, if the collator's score is less than the max one for the + // para. Otherwise fetch immediately. + fn calculate_delay(collator_score: Score, max_score_for_para: Score) -> Duration { + if collator_score > max_score_for_para { + gum::warn!( + target: LOG_TARGET, + ?collator_score, + ?max_score_for_para, + "Collator score exceeds recorded max score for para" + ); + + return Duration::ZERO; + } + + let ratio = collator_score.ratio(&max_score_for_para); + let delay_ms = MAX_FETCH_DELAY.as_millis() as f32 * (1_f32 - ratio); + Duration::from_millis(delay_ms as u64) + } + + /// Tries to find the best available advertisement for the provided parachain. + /// + /// If there are no advertisements, returns `Either::Left(None)`. + /// + /// If no advertisement has a high enough peer rep, returns `Either::Right(delay)`, where + /// delay is the minimum required delay in order for an advertisement to be instantly fetched. + fn pick_best_advertisement Option>( + &self, + now: Instant, + leaf: Hash, + allowed_rps: &[Hash], + para_id: ParaId, + highest_rep_of_para: Score, + connected_rep_query_fn: &RepQueryFn, + ) -> Either, Duration> { + let advertisements = self + .per_relay_parent + .iter() + // Only check advertisements for relay parents within the view of this leaf. + .filter_map(|(rp, per_rp)| allowed_rps.contains(rp).then_some(per_rp)) + .flat_map(|per_rp| per_rp.eligible_advertisements(para_id, leaf)) + .filter_map(|(adv, adv_timestamp)| { + // Check that we're not already fetching this advertisement. + if self.fetching.contains(adv) { + return None; + } + + Some(AcceptedAdvertisement { + adv, + score: connected_rep_query_fn(&adv.peer_id, &adv.para_id)?, + timestamp: adv_timestamp, + }) + }) + .collect::>(); + + let best_advertisement = match advertisements.first() { + Some(adv) => adv, + None => return Either::Left(None), + }; + + let delay = Self::calculate_delay(best_advertisement.score, highest_rep_of_para); + + if *best_advertisement.timestamp + delay <= now { + Either::Left(Some(*best_advertisement.adv)) + } else { + Either::Right(delay) + } + } + + async fn get_our_core( + &mut self, + sender: &mut Sender, + parent: &Hash, + session_index: SessionIndex, + ) -> Result { + let block_number = self + .implicit_view + .block_number(parent) + .ok_or_else(|| Error::BlockNumberNotFoundInImplicitView(*parent))?; + let session_info = self.get_session_info(sender, parent, session_index).await?; + + Ok(match session_info.our_group { + Some(group) => { + let mut rotation_info = session_info.group_rotation_info.clone(); + // The `validator_groups` runtime API adds 1 to the block number, so we need to do + // the same here. + rotation_info.now = block_number + 1; + rotation_info.core_for_group(group, session_info.n_cores) + }, + None => { + gum::trace!(target: LOG_TARGET, ?parent, "Not a validator"); + Default::default() + }, + }) + } + + async fn get_session_info( + &mut self, + sender: &mut Sender, + parent: &Hash, + index: SessionIndex, + ) -> Result<&PerSessionInfo> { + if self.per_session.get(&index).is_none() { + let validators = recv_runtime(request_validators(*parent, sender).await).await?; + let (groups, group_rotation_info) = + recv_runtime(request_validator_groups(*parent, sender).await).await?; + let v2_receipts = recv_runtime(request_node_features(*parent, index, sender).await) + .await? + .get(node_features::FeatureIndex::CandidateReceiptV2 as usize) + .map(|b| *b) + .unwrap_or(false); + + let our_group = + polkadot_node_subsystem_util::signing_key_and_index(&validators, &self.keystore) + .and_then(|(_, index)| { + polkadot_node_subsystem_util::find_validator_group(&groups, index) + }); + + self.per_session.insert( + index, + PerSessionInfo { + our_group, + n_cores: groups.len(), + group_rotation_info, + v2_receipts, + }, + ); + } + + Ok(self.per_session.get(&index).expect("Just inserted")) + } + + async fn can_begin_seconding( + &mut self, + sender: &mut Sender, + fetched_collation: FetchedCollation, + queue_blocked_collations: bool, + reject_info: SecondingRejectionInfo, + ) -> CanSecond { + let relay_parent = fetched_collation.candidate_receipt.descriptor.relay_parent(); + let candidate_hash = fetched_collation.candidate_receipt.hash(); + let para_id = fetched_collation.candidate_receipt.descriptor.para_id(); + + let fetch_pvd_res = fetch_pvd( + sender, + &fetched_collation.candidate_receipt, + fetched_collation.maybe_parent_head_data_hash, + fetched_collation.maybe_parent_head_data.clone(), + ) + .await; + let can_second = match fetch_pvd_res { + Ok(pvd) => { + // Mark this claim with the right candidate hash. This is a no-op if for + // protocol v2 but in case of v1, the claim was made on the relay parent but + // without a candidate hash. + self.claim_queue_state.mark_pending_slot_with_candidate( + &relay_parent, + ¶_id, + &candidate_hash, + ); + CanSecond::Yes(fetched_collation.candidate_receipt, fetched_collation.pov, pvd) + }, + Err(error) => match error { + SecondingError::BlockedOnParent(parent) => { + gum::debug!( + target: LOG_TARGET, + ?candidate_hash, + ?relay_parent, + ?para_id, + "Collation having parent head data hash {} is blocked from seconding. Waiting on its parent to be validated.", + parent + ); + + if queue_blocked_collations { + self.blocked_from_seconding + .entry(BlockedCollationId { para_id, parent_head_data_hash: parent }) + .or_default() + .push(fetched_collation); + } + + // Mark this claim with the right candidate hash. This is a no-op if for + // protocol v2 but in case of v1, the claim was made on the relay parent but + // without a candidate hash. + self.claim_queue_state.mark_pending_slot_with_candidate( + &relay_parent, + ¶_id, + &candidate_hash, + ); + + CanSecond::BlockedOnParent(parent, reject_info) + }, + err => { + gum::warn!( + target: LOG_TARGET, + ?candidate_hash, + ?relay_parent, + ?para_id, + "Failed persisted validation data checks: {}", + err + ); + + let mut slash = None; + if err.is_malicious() { + slash = Some(FAILED_FETCH_SLASH); + } + CanSecond::No(slash, reject_info) + }, + }, + }; + + can_second + } + + fn remove_blocked_collations(&mut self, id: BlockedCollationId) { + let Some(blocked) = self.blocked_from_seconding.remove(&id) else { return }; + + for collation in blocked { + let candidate_hash = collation.candidate_receipt.hash(); + let relay_parent = collation.candidate_receipt.descriptor.relay_parent(); + gum::debug!( + target: LOG_TARGET, + ?relay_parent, + ?candidate_hash, + para_id = ?id.para_id, + parent_head_hash = ?id.parent_head_data_hash, + "Releasing slot for blocked collation because its parent was released", + ); + + if !self.claim_queue_state.release_claims_for_candidate(&candidate_hash) { + gum::debug!( + target: LOG_TARGET, + ?relay_parent, + ?candidate_hash, + para_id = ?id.para_id, + "Could not release slot for candidate, it wasn't claimed", + ); + } + } + } + + #[cfg(test)] + pub fn advertisements(&self) -> BTreeSet { + self.per_relay_parent + .values() + .flat_map(|per_rp| { + per_rp + .peer_advertisements + .values() + .flat_map(|peer_adv| peer_adv.advertisements.keys().cloned()) + }) + .collect() + } +} + +/// Fetched collation data. +#[derive(Debug, Clone)] +struct FetchedCollation { + /// Candidate receipt. + pub candidate_receipt: CandidateReceipt, + /// Proof of validity. + pub pov: PoV, + /// Optional parachain parent head data. This is needed for elastic scaling to work. + pub maybe_parent_head_data: Option, + /// Optional parent head data hash. This is needed for async backing to work (sent by v2 + /// protocol). + pub maybe_parent_head_data_hash: Option, + /// The peer that sent this collation. + pub peer_id: PeerId, +} + +impl FetchedCollation { + /// Performs a sanity check between advertised and fetched collations. + fn ensure_matches_advertisement( + &self, + advertised: &Advertisement, + ) -> std::result::Result<(), SecondingError> { + let candidate_receipt = &self.candidate_receipt; + + match advertised.prospective_candidate { + // This implies a check on the declared para if this was a v2 advertisement + Some(ProspectiveCandidate { candidate_hash, .. }) => { + if candidate_hash != candidate_receipt.hash() { + return Err(SecondingError::CandidateHashMismatch); + } + }, + // Otherwise, do the explicit check for the para_id. + None => { + if advertised.para_id != candidate_receipt.descriptor.para_id() { + return Err(SecondingError::ParaIdMismatch); + } + }, + } + + if advertised.relay_parent != candidate_receipt.descriptor.relay_parent() { + return Err(SecondingError::RelayParentMismatch); + } + + Ok(()) + } +} + +/// Represents an advertisement which we have accepted. Supports ordering of the advertisements. +/// +/// Ordering priority: score (descending), then timestamp (ascending), then advertisement as +/// tiebreaker. Higher scores come first so that `BTreeSet::first()` returns the best advertisement. +#[derive(PartialEq, Eq)] +struct AcceptedAdvertisement<'a> { + adv: &'a Advertisement, + score: Score, + timestamp: &'a Instant, +} + +impl<'a> Ord for AcceptedAdvertisement<'a> { + fn cmp(&self, other: &Self) -> std::cmp::Ordering { + other + .score + .cmp(&self.score) // Descending: higher score comes first + .then_with(|| self.timestamp.cmp(other.timestamp)) // Ascending: earlier timestamp comes first + .then_with(|| self.adv.cmp(other.adv)) + } +} + +impl<'a> PartialOrd for AcceptedAdvertisement<'a> { + fn partial_cmp(&self, other: &Self) -> Option { + Some(self.cmp(other)) + } +} + +struct PerRelayParent { + peer_advertisements: HashMap, + // Only kept to make sure that we don't re-request the same collations and so that we know who + // to punish for supplying an invalid collation. + fetched_collations: HashMap, + session_index: SessionIndex, + core_index: CoreIndex, +} + +impl PerRelayParent { + fn new(session_index: SessionIndex, core_index: CoreIndex) -> Self { + Self { + session_index, + core_index, + peer_advertisements: Default::default(), + fetched_collations: Default::default(), + } + } + + fn all_advertisements(&self) -> impl Iterator { + self.peer_advertisements.values().flat_map(|adv| adv.advertisements.keys()) + } + + fn eligible_advertisements<'a>( + &'a self, + para_id: ParaId, + leaf: Hash, + ) -> impl Iterator { + self.peer_advertisements.values().flat_map(|list| &list.advertisements).filter( + move |(adv, _adv_info)| { + // Only fetch an advertisement if it's either a V2 advertisement or it's a V1 + // advertisement on the active leaf. + let is_v2_or_on_active_leaf = (adv.prospective_candidate.is_none() && + leaf == adv.relay_parent) || + adv.prospective_candidate.is_some(); + + let already_fetched = adv + .prospective_candidate + .map(|p| self.fetched_collations.contains_key(&p.candidate_hash)) + .unwrap_or(false); + + is_v2_or_on_active_leaf && + // Check that the declared paraid matches. + (adv.para_id == para_id) && + // And check that it's not already fetched, just to be safe. + // Should never happen because we remove the advertisement after it's fetched. + !already_fetched + }, + ) + } + + fn can_keep_advertisement( + &mut self, + advertisement: Advertisement, + max_assignments: usize, + ) -> std::result::Result<(), AdvertisementError> { + let peer_advertisements = + self.peer_advertisements.entry(advertisement.peer_id).or_default(); + + // we count all advertisements, check [`PeerAdvertisements::total`] + peer_advertisements.total += 1; + + if peer_advertisements.total > max_assignments { + return Err(AdvertisementError::PeerLimitReached); + } + + if peer_advertisements.advertisements.contains_key(&advertisement) { + return Err(AdvertisementError::Duplicate); + } + + Ok(()) + } + + fn add_advertisement(&mut self, advertisement: Advertisement, now: Instant) { + self.peer_advertisements + .entry(advertisement.peer_id) + .or_default() + .advertisements + .insert(advertisement, now); + } + + fn remove_advertisement(&mut self, advertisement: &Advertisement) { + if let Some(advertisements) = self.peer_advertisements.get_mut(&advertisement.peer_id) { + advertisements.advertisements.remove(&advertisement); + } + } + + fn remove_peer_advertisements(&mut self, peer_id: &PeerId) { + self.peer_advertisements.remove(peer_id); + } +} + +#[derive(Default)] +struct PeerAdvertisements { + advertisements: HashMap, + // We increment this even for advertisements that we don't end up accepting, so that we take + // these into account when rate limiting. + total: usize, +} + +struct PerSessionInfo { + our_group: Option, + n_cores: usize, + // The group rotation info changes once per session, apart from the `now` field. The caller + // must ensure to override it with the right value. + group_rotation_info: GroupRotationInfo, + v2_receipts: bool, +} + +// Requests backing subsystem to sanity check the advertisement. +async fn backing_allows_seconding( + sender: &mut Sender, + advertisement: &Advertisement, +) -> bool +where + Sender: CollatorProtocolSenderTrait, +{ + let Some(prospective_candidate) = advertisement.prospective_candidate else { + // Nothing to check for v1 protocol. + return true; + }; + + let request = CanSecondRequest { + candidate_para_id: advertisement.para_id, + candidate_relay_parent: advertisement.relay_parent, + candidate_hash: prospective_candidate.candidate_hash, + parent_head_data_hash: prospective_candidate.parent_head_data_hash, + }; + let (tx, rx) = oneshot::channel(); + sender.send_message(CandidateBackingMessage::CanSecond(request, tx)).await; + + rx.await.unwrap_or_else(|err| { + gum::warn!( + target: LOG_TARGET, + ?err, + relay_parent = ?advertisement.relay_parent, + para_id = ?advertisement.para_id, + candidate_hash = ?prospective_candidate.candidate_hash, + "CanSecond-request responder was dropped", + ); + + false + }) +} + +async fn fetch_pvd( + sender: &mut Sender, + receipt: &CandidateReceipt, + maybe_parent_head_data_hash: Option, + maybe_parent_head_data: Option, +) -> std::result::Result { + let para_id = receipt.descriptor.para_id(); + + let pvd = match maybe_parent_head_data_hash { + Some(parent_head_data_hash) => { + let maybe_pvd = request_prospective_validation_data( + sender, + receipt.descriptor.relay_parent(), + parent_head_data_hash, + para_id, + maybe_parent_head_data.clone(), + ) + .await?; + + let (expected_hash, pvd) = match (maybe_pvd, &maybe_parent_head_data) { + (Some(pvd), Some(parent_head)) => (parent_head.hash(), pvd), + (Some(pvd), None) => (pvd.parent_head.hash(), pvd), + (None, None) => return Err(SecondingError::BlockedOnParent(parent_head_data_hash)), + (None, _) => return Err(SecondingError::PersistedValidationDataNotFound), + }; + if parent_head_data_hash != expected_hash { + return Err(SecondingError::ParentHeadDataMismatch); + } + pvd + }, + None => { + let pvd = request_persisted_validation_data( + sender, + receipt.descriptor.relay_parent(), + para_id, + ) + .await?; + pvd.ok_or(SecondingError::PersistedValidationDataNotFound)? + }, + }; + + if pvd.hash() != receipt.descriptor.persisted_validation_data_hash() { + return Err(SecondingError::PersistedValidationDataMismatch); + } + + Ok(pvd) +} + +fn process_collation_fetch_result( + (advertisement, res): CollationFetchResponse, +) -> std::result::Result> { + match res { + Err(CollationFetchError::Cancelled) => { + // Was cancelled by the subsystem. + Err(None) + }, + Err(CollationFetchError::Request(RequestError::InvalidResponse(err))) => { + gum::warn!( + target: LOG_TARGET, + ?advertisement, + err = ?err, + "Collator provided response that could not be decoded" + ); + Err(Some(FAILED_FETCH_SLASH)) + }, + Err(CollationFetchError::Request(err)) if err.is_timed_out() => { + gum::debug!( + target: LOG_TARGET, + ?advertisement, + "Request timed out" + ); + Err(Some(FAILED_FETCH_SLASH)) + }, + Err(CollationFetchError::Request(RequestError::NetworkError(err))) => { + gum::warn!( + target: LOG_TARGET, + ?advertisement, + err = ?err, + "Fetching collation failed due to network error" + ); + Err(None) + }, + Err(CollationFetchError::Request(RequestError::Canceled(err))) => { + gum::warn!( + target: LOG_TARGET, + ?advertisement, + err = ?err, + "Canceled should be handled by `is_timed_out` above - this is a bug!" + ); + Err(Some(FAILED_FETCH_SLASH)) + }, + Ok(request_v2::CollationFetchingResponse::Collation(candidate_receipt, pov)) => { + gum::debug!( + target: LOG_TARGET, + ?advertisement, + "Received collation", + ); + + Ok(FetchedCollation { + candidate_receipt, + pov, + peer_id: advertisement.peer_id, + maybe_parent_head_data: None, + maybe_parent_head_data_hash: advertisement + .prospective_candidate + .map(|p| p.parent_head_data_hash), + }) + }, + Ok(request_v2::CollationFetchingResponse::CollationWithParentHeadData { + receipt, + pov, + parent_head_data, + }) => { + gum::debug!( + target: LOG_TARGET, + ?advertisement, + "Received collation with parent head data", + ); + + Ok(FetchedCollation { + candidate_receipt: receipt, + pov, + peer_id: advertisement.peer_id, + maybe_parent_head_data: Some(parent_head_data), + maybe_parent_head_data_hash: advertisement + .prospective_candidate + .map(|p| p.parent_head_data_hash), + }) + }, + } +} + +#[cfg(test)] +mod tests { + use crate::validator_side_experimental::common::MAX_SCORE; + + use super::*; + use std::sync::Arc; + + #[test] + fn calculate_delay_works() { + let score = |val: u16| Score::new(val).unwrap(); + + // collator score == max score => zero delay + assert_eq!( + CollationManager::calculate_delay(score(MAX_SCORE), score(MAX_SCORE)), + Duration::ZERO + ); + + // collator score == 0 => MAX_FETCH_DELAY + assert_eq!(CollationManager::calculate_delay(score(0), score(MAX_SCORE)), MAX_FETCH_DELAY); + + // collator score == 1/2 MAX_SCORE => 1/2 MAX_FETCH_DELAY + assert_eq!( + CollationManager::calculate_delay(score(MAX_SCORE / 2), score(MAX_SCORE)), + MAX_FETCH_DELAY / 2 + ); + + // collator score == 3/4 MAX_SCORE => 1/4 MAX_FETCH_DELAY. + assert_eq!( + CollationManager::calculate_delay(score(MAX_SCORE / 4 * 3), score(MAX_SCORE)), + MAX_FETCH_DELAY / 4 + ); + + // collator score == 1/4 MAX_SCORE => 3/4 MAX_FETCH_DELAY. + assert_eq!( + CollationManager::calculate_delay(score(MAX_SCORE / 4), score(MAX_SCORE)), + MAX_FETCH_DELAY * 3 / 4 + ); + + // collator score at 10% of max => 90% delay + assert_eq!( + CollationManager::calculate_delay(score(MAX_SCORE / 10), score(MAX_SCORE)), + MAX_FETCH_DELAY * 9 / 10 + ); + } + + #[test] + fn accepted_advertisement_ordering() { + use std::cmp::Ordering; + + let score = |val: u16| Score::new(val).unwrap(); + let now = Instant::now(); + let later = now + Duration::from_secs(1); + + let relay_parent = Hash::random(); + let para_id = ParaId::new(1); + + let make_adv = |peer_id: PeerId| Advertisement { + relay_parent, + para_id, + peer_id, + prospective_candidate: None, + }; + + let peer_1 = PeerId::random(); + let peer_2 = PeerId::random(); + + let adv_1 = make_adv(peer_1); + let adv_2 = make_adv(peer_2); + + // Different scores - higher score comes first (is "less"). + { + let high_score = + AcceptedAdvertisement { adv: &adv_1, score: score(100), timestamp: &now }; + let low_score = + AcceptedAdvertisement { adv: &adv_2, score: score(50), timestamp: &now }; + + assert_eq!(high_score.cmp(&low_score), Ordering::Less,); + assert_eq!(low_score.cmp(&high_score), Ordering::Greater); + } + + // Same score, different timestamps - earlier timestamp comes first. + { + let earlier = AcceptedAdvertisement { adv: &adv_1, score: score(100), timestamp: &now }; + let later = AcceptedAdvertisement { adv: &adv_2, score: score(100), timestamp: &later }; + + assert_eq!(earlier.cmp(&later), Ordering::Less); + assert_eq!(later.cmp(&earlier), Ordering::Greater); + } + + // Same score, same timestamp - falls back to advertisement comparison. + { + let acc_1 = AcceptedAdvertisement { adv: &adv_1, score: score(100), timestamp: &now }; + let acc_2 = AcceptedAdvertisement { adv: &adv_2, score: score(100), timestamp: &now }; + + // Result depends on advertisement Ord, but must be consistent and not Equal. + let cmp_result = acc_1.cmp(&acc_2); + assert_ne!(cmp_result, Ordering::Equal); + assert_eq!(acc_2.cmp(&acc_1), cmp_result.reverse()); + } + + // Same advertisement, same score, same timestamp - should be Equal. + { + let acc_1 = AcceptedAdvertisement { adv: &adv_1, score: score(100), timestamp: &now }; + let acc_2 = AcceptedAdvertisement { adv: &adv_1, score: score(100), timestamp: &now }; + + assert_eq!(acc_1.cmp(&acc_2), Ordering::Equal); + } + + // BTreeSet ordering - first() should return highest score. + { + let adv_3 = make_adv(PeerId::random()); + let adv_4 = make_adv(PeerId::random()); + + let advertisements = [ + AcceptedAdvertisement { adv: &adv_1, score: score(50), timestamp: &now }, + AcceptedAdvertisement { adv: &adv_2, score: score(200), timestamp: &now }, + AcceptedAdvertisement { adv: &adv_3, score: score(100), timestamp: &now }, + AcceptedAdvertisement { adv: &adv_4, score: score(150), timestamp: &later }, + ] + .into_iter() + .collect::>(); + + let first = advertisements.first().unwrap(); + assert_eq!(first.score, score(200)); + } + + // BTreeSet with same scores - first() returns earliest timestamp. + { + let adv_3 = make_adv(PeerId::random()); + + let advertisements: BTreeSet<_> = [ + AcceptedAdvertisement { adv: &adv_1, score: score(100), timestamp: &later }, + AcceptedAdvertisement { adv: &adv_2, score: score(100), timestamp: &now }, + AcceptedAdvertisement { adv: &adv_3, score: score(50), timestamp: &now }, + ] + .into_iter() + .collect(); + + let first = advertisements.first().unwrap(); + assert_eq!(first.score, score(100), "First should have score 100"); + assert_eq!(first.timestamp, &now, "First should have earlier timestamp"); + } + } + + #[test] + fn pick_best_advertisement_works() { + let relay_parent = Hash::random(); + let para_id = ParaId::new(1); + let score = |val: u16| Score::new(val).unwrap(); + + let now = Instant::now(); + // Timestamp far enough in the past that any delay has passed. + let old_timestamp = now.checked_sub(MAX_FETCH_DELAY).unwrap(); + // Timestamp recent enough that delay hasn't passed. + let recent_timestamp = now; + + let peer_a = PeerId::random(); + let peer_b = PeerId::random(); + let peer_c = PeerId::random(); + + let make_adv = |peer: PeerId| Advertisement { + relay_parent, + para_id, + peer_id: peer, + prospective_candidate: None, + }; + + let new_collation_manager_instance = || CollationManager { + implicit_view: ImplicitView::new(None), + claim_queue_state: PerLeafClaimQueueState::new(), + per_relay_parent: HashMap::from([(relay_parent, PerRelayParent::new(0, CoreIndex(0)))]), + blocked_from_seconding: HashMap::new(), + per_session: LruMap::new(ByLength::new(2)), + fetching: PendingRequests::default(), + keystore: Arc::new(sc_keystore::LocalKeystore::in_memory()), + }; + + // No advertisements - returns Left(None). + { + let collation_manager = new_collation_manager_instance(); + let get_rep = |_: &PeerId, _: &ParaId| Some(score(100)); + + assert_eq!( + collation_manager.pick_best_advertisement( + now, + relay_parent, + &[relay_parent], + para_id, + score(100), + &get_rep, + ), + Either::Left(None) + ); + } + + // Single advertisement with delay passed - returns the advertisement. + { + let mut collation_manager = new_collation_manager_instance(); + let get_rep = |_: &PeerId, _: &ParaId| Some(score(100)); + + collation_manager + .per_relay_parent + .get_mut(&relay_parent) + .unwrap() + .add_advertisement(make_adv(peer_a), old_timestamp); + + assert_eq!( + collation_manager.pick_best_advertisement( + now, + relay_parent, + &[relay_parent], + para_id, + score(100), // highest_rep == peer's score, so delay = 0 + &get_rep, + ), + Either::Left(Some(make_adv(peer_a))) + ); + } + + // Single advertisement with delay not passed - returns Right(delay). + { + let mut collation_manager = new_collation_manager_instance(); + let get_rep = |_: &PeerId, _: &ParaId| Some(score(50)); + + collation_manager + .per_relay_parent + .get_mut(&relay_parent) + .unwrap() + .add_advertisement(make_adv(peer_a), recent_timestamp); + + // highest_rep = 100, peer's score = 50, so delay = MAX_FETCH_DELAY * 0.5 + let result = collation_manager.pick_best_advertisement( + now, + relay_parent, + &[relay_parent], + para_id, + score(100), + &get_rep, + ); + + assert_eq!(result, Either::Right(MAX_FETCH_DELAY / 2)); + } + + // Multiple advertisements - picks highest score. + { + let mut collation_manager = new_collation_manager_instance(); + let peer_a_clone = peer_a; + let peer_b_clone = peer_b; + let peer_c_clone = peer_c; + let get_rep = move |peer: &PeerId, _: &ParaId| { + if *peer == peer_a_clone { + Some(score(50)) + } else if *peer == peer_b_clone { + Some(score(100)) + } else if *peer == peer_c_clone { + Some(score(75)) + } else { + None + } + }; + + let per_rp = collation_manager.per_relay_parent.get_mut(&relay_parent).unwrap(); + per_rp.add_advertisement(make_adv(peer_a), old_timestamp); + per_rp.add_advertisement(make_adv(peer_b), old_timestamp); + per_rp.add_advertisement(make_adv(peer_c), old_timestamp); + + // All have old timestamps, so delay has passed. Should pick peer_b (highest score). + assert_eq!( + collation_manager.pick_best_advertisement( + now, + relay_parent, + &[relay_parent], + para_id, + score(100), + &get_rep, + ), + Either::Left(Some(make_adv(peer_b))) + ); + } + + // Same score - picks earlier timestamp. + { + let mut collation_manager = new_collation_manager_instance(); + let get_rep = |_: &PeerId, _: &ParaId| Some(score(100)); + + let earlier = old_timestamp; + let later = old_timestamp + Duration::from_secs(1); + + let per_rp = collation_manager.per_relay_parent.get_mut(&relay_parent).unwrap(); + per_rp.add_advertisement(make_adv(peer_a), later); + per_rp.add_advertisement(make_adv(peer_b), earlier); + + // Same score, peer_b has earlier timestamp. + assert_eq!( + collation_manager.pick_best_advertisement( + now, + relay_parent, + &[relay_parent], + para_id, + score(100), + &get_rep, + ), + Either::Left(Some(make_adv(peer_b))) + ); + } + + // Unknown peer (get_rep returns None) - advertisement is filtered out. + { + let mut collation_manager = new_collation_manager_instance(); + let get_rep = |_: &PeerId, _: &ParaId| -> Option { None }; + + collation_manager + .per_relay_parent + .get_mut(&relay_parent) + .unwrap() + .add_advertisement(make_adv(peer_a), old_timestamp); + + assert_eq!( + collation_manager.pick_best_advertisement( + now, + relay_parent, + &[relay_parent], + para_id, + score(100), + &get_rep, + ), + Either::Left(None) + ); + } + + // Relay parent not in allowed_rps - no advertisements found. + { + let mut collation_manager = new_collation_manager_instance(); + let get_rep = |_: &PeerId, _: &ParaId| Some(score(100)); + let other_relay_parent = Hash::random(); + + collation_manager + .per_relay_parent + .get_mut(&relay_parent) + .unwrap() + .add_advertisement(make_adv(peer_a), old_timestamp); + + // Pass different relay parent in allowed_rps. + assert_eq!( + collation_manager.pick_best_advertisement( + now, + relay_parent, + &[other_relay_parent], // relay_parent not included + para_id, + score(100), + &get_rep, + ), + Either::Left(None) + ); + } + } +} diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/collation_manager/requests.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/collation_manager/requests.rs new file mode 100644 index 0000000000000..518519951f459 --- /dev/null +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/collation_manager/requests.rs @@ -0,0 +1,143 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +use crate::{ + validator_side_experimental::common::{ + Advertisement, CollationFetchError, CollationFetchResponse, ProspectiveCandidate, + }, + LOG_TARGET, +}; +use futures::{ + future::BoxFuture, + stream::{FusedStream, FuturesUnordered}, + task::Poll, + FutureExt, +}; +use polkadot_node_network_protocol::request_response::{ + outgoing::Recipient, v1 as request_v1, v2 as request_v2, OutgoingRequest, OutgoingResult, + Requests, +}; +use polkadot_node_subsystem_util::metrics::prometheus::prometheus::HistogramTimer; +use std::{collections::HashMap, future::Future, pin::Pin}; +use tokio_util::sync::CancellationToken; + +#[derive(Default)] +pub struct PendingRequests { + futures: FuturesUnordered, + cancellation_tokens: HashMap, +} + +impl PendingRequests { + pub fn contains(&self, advertisement: &Advertisement) -> bool { + self.cancellation_tokens.contains_key(advertisement) + } + + pub fn launch( + &mut self, + advertisement: &Advertisement, + advertisement_lifetime_timer: Option, + ) -> Requests { + let cancellation_token = CancellationToken::new(); + + let (req, response_recv) = match advertisement.prospective_candidate { + None => { + let (req, response_recv) = OutgoingRequest::new( + Recipient::Peer(advertisement.peer_id), + request_v1::CollationFetchingRequest { + relay_parent: advertisement.relay_parent, + para_id: advertisement.para_id, + }, + ); + let requests = Requests::CollationFetchingV1(req); + (requests, response_recv.boxed()) + }, + Some(ProspectiveCandidate { candidate_hash, .. }) => { + let (req, response_recv) = OutgoingRequest::new( + Recipient::Peer(advertisement.peer_id), + request_v2::CollationFetchingRequest { + relay_parent: advertisement.relay_parent, + para_id: advertisement.para_id, + candidate_hash, + }, + ); + let requests = Requests::CollationFetchingV2(req); + (requests, response_recv.boxed()) + }, + }; + + self.cancellation_tokens.insert(*advertisement, cancellation_token.clone()); + self.futures.push(CollationFetchRequest { + advertisement: *advertisement, + from_collator: response_recv, + cancellation_future: cancellation_token.cancelled_owned().boxed(), + _lifetime_timer: advertisement_lifetime_timer, + }); + + req + } + + pub fn cancel(&mut self, advertisement: &Advertisement) { + if let Some(cancellation_token) = self.cancellation_tokens.remove(advertisement) { + gum::trace!( + target: LOG_TARGET, + ?advertisement, + "Cancelling collation fetch request", + ); + cancellation_token.cancel(); + } + } + + pub fn note_completed(&mut self, advertisement: &Advertisement) { + self.cancellation_tokens.remove(advertisement); + } + + pub fn response_stream(&mut self) -> &mut impl FusedStream { + &mut self.futures + } +} + +/// Future that concludes when the collator has responded to our collation fetch request +/// or the request was cancelled by the validator. +struct CollationFetchRequest { + /// Info about the requested collation. + advertisement: Advertisement, + /// Responses from collator. We can directly use v2 response because the payloads are identical + /// for v1 and v2. + from_collator: BoxFuture<'static, OutgoingResult>, + /// Handle used for checking if this request was cancelled. + cancellation_future: BoxFuture<'static, ()>, + /// A metric histogram for the lifetime of the request + _lifetime_timer: Option, +} + +impl Future for CollationFetchRequest { + type Output = CollationFetchResponse; + + fn poll(mut self: Pin<&mut Self>, cx: &mut std::task::Context<'_>) -> Poll { + // First check if this fetch request was cancelled. + let cancelled = self.cancellation_future.poll_unpin(cx).is_ready(); + if cancelled { + return Poll::Ready((self.advertisement, Err(CollationFetchError::Cancelled))); + } + + let res = self + .from_collator + .poll_unpin(cx) + .map(|res| (self.advertisement, res.map_err(CollationFetchError::Request))); + + res + } +} diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/common.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/common.rs index 014c5a793151e..5f465484ed141 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side_experimental/common.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/common.rs @@ -14,13 +14,42 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -use std::num::NonZeroU16; - -use polkadot_node_network_protocol::peer_set::CollationVersion; -use polkadot_primitives::Id as ParaId; - -/// Maximum reputation score. -pub const MAX_SCORE: u16 = 5000; +use codec::{Decode, Encode}; +use polkadot_node_network_protocol::{ + peer_set::CollationVersion, + request_response::{outgoing::RequestError, v2 as request_v2}, + PeerId, +}; +use polkadot_node_primitives::PoV; +use polkadot_primitives::{ + CandidateHash, CandidateReceiptV2 as CandidateReceipt, Hash, Id as ParaId, + PersistedValidationData, +}; +use std::{collections::HashSet, num::NonZeroU16, time::Duration}; + +/// The following parameters (`MAX_SCORE`, `VALID_INCLUDED_CANDIDATE_BUMP` and `INACTIVITY_DECAY`) +/// determine how fast collators build reputation, how fast they lose it due to inactivity and how +/// many collators we can have per parachain. +/// +/// The combination of `VALID_INCLUDED_CANDIDATE_BUMP` and `INACTIVITY_DECAY` determines the maximum +/// number of collators for the parachain. We assume that each collator has got an equal chance in +/// having its collation included (and therefore getting score for it). This means that for a set of +/// N collators, for N blocks each collator will gain `VALID_INCLUDED_CANDIDATE_BUMP` points and +/// lose (N-1)*INACTIVITY_DECAY points. With the values below (VALID_INCLUDED_CANDIDATE_BUMP=100 +/// and INACTIVITY_DECAY=1) with N=100 collators no longer gain any score. +/// +/// The time to reach max score is also controlled by these two parameters. With the values below +/// (VALID_INCLUDED_CANDIDATE_BUMP=100 and INACTIVITY_DECAY=1) for N=50 a collator will reach +/// `MAX_SCORE` for around 81 hours (69 days). For N=20 - ~20hrs. + +/// Maximum reputation score. Scores higher than this will be +/// saturated to this value. +pub const MAX_SCORE: u16 = 35_000; +/// Reputation bump for getting a valid candidate included in a finalized block. +pub const VALID_INCLUDED_CANDIDATE_BUMP: u16 = 100; +/// Reputation slash for peer inactivity (for each included candidate of the para that was not +/// authored by the peer) +pub const INACTIVITY_DECAY: u16 = 1; /// Limit for the total number connected peers. pub const CONNECTED_PEERS_LIMIT: NonZeroU16 = NonZeroU16::new(300).expect("300 is greater than 0"); @@ -36,43 +65,54 @@ pub const CONNECTED_PEERS_PARA_LIMIT: NonZeroU16 = const { /// notifications. pub const MAX_STARTUP_ANCESTRY_LOOKBACK: u32 = 20; -/// Reputation bump for getting a valid candidate included. -pub const VALID_INCLUDED_CANDIDATE_BUMP: u16 = 50; - -/// Reputation slash for peer inactivity (for each included candidate of the para that was not -/// authored by the peer) -pub const INACTIVITY_DECAY: u16 = 1; - /// Maximum number of stored peer scores for a paraid. Should be greater than /// `CONNECTED_PEERS_PARA_LIMIT`. -pub const MAX_STORED_SCORES_PER_PARA: u8 = 150; +pub const MAX_STORED_SCORES_PER_PARA: u16 = 1000; + +/// Slashing value for a failed fetch that we can be fairly sure does not happen by accident. +pub const FAILED_FETCH_SLASH: Score = Score::new(140).expect("140 is less than MAX_SCORE"); + +/// Slashing value for an invalid collation (half of the ma). +pub const INVALID_COLLATION_SLASH: Score = + Score::new(MAX_SCORE / 2).expect("1/2 MAX_SCORE is less than MAX_SCORE"); + +/// The maximum acceptable delay which can be applied on an advertisement from a collator with score +/// less than the maximum score for the parachain. +pub const MAX_FETCH_DELAY: Duration = Duration::from_millis(300); + +/// The minimum interval after which we may want to stop the main loop in order to fetch available +/// advertised collations. +pub const MIN_FETCH_TIMER_DELAY: Duration = Duration::from_millis(150); + /// Reputation score type. -#[derive(PartialEq, Eq, PartialOrd, Ord, Debug, Clone, Copy, Default)] +#[derive(PartialEq, Eq, PartialOrd, Ord, Debug, Clone, Copy, Default, Encode, Decode)] pub struct Score(u16); impl Score { /// Create a new instance. Fail if over the `MAX_SCORE`. pub const fn new(val: u16) -> Option { if val > MAX_SCORE { - None - } else { - Some(Self(val)) + return None; } + + Some(Self(val)) } /// Add `val` to the inner value, saturating at `MAX_SCORE`. pub fn saturating_add(&mut self, val: u16) { - if (self.0 + val) <= MAX_SCORE { - self.0 += val; - } else { - self.0 = MAX_SCORE; - } + let sum = self.0.saturating_add(val); + self.0 = std::cmp::min(sum, MAX_SCORE); } /// Subtract `val` from the inner value, saturating at 0. pub fn saturating_sub(&mut self, val: u16) { self.0 = self.0.saturating_sub(val); } + + /// Returns the ration (self / rhs) between the current score and rhs. + pub fn ratio(&self, rhs: &Self) -> f32 { + self.0 as f32 / rhs.0 as f32 + } } impl From for u16 { @@ -99,6 +139,118 @@ pub enum PeerState { Collating(ParaId), } +#[derive(Debug, PartialEq)] +/// Outcome of triaging a new connection. +pub enum TryAcceptOutcome { + /// Connection was accepted. + Added, + /// Connection was accepted, but it replaced the slot(s) of some peers + /// This can hold more than one `PeerId` because before receiving the `Declare` message, + /// one peer can hold connection slots for multiple paraids. + /// The set can also be empty if this peer replaced some other peer's slot but that other peer + /// maintained a connection slot for another para (therefore not disconnected). + /// The number of peers in the set is bound to the number of scheduled paras. + Replaced(HashSet), + /// Connection was rejected. + Rejected, +} + +impl TryAcceptOutcome { + /// Combine two outcomes into one. If at least one of them allows the connection, + /// the connection is allowed. + pub fn combine(self, other: Self) -> Self { + use TryAcceptOutcome::*; + match (self, other) { + (Added, Added) => Added, + (Rejected, Rejected) => Rejected, + (Added, Rejected) | (Rejected, Added) => Added, + (Replaced(mut replaced_a), Replaced(replaced_b)) => { + replaced_a.extend(replaced_b); + Replaced(replaced_a) + }, + (_, Replaced(replaced)) | (Replaced(replaced), _) => Replaced(replaced), + } + } +} + +/// Candidate supplied with a para head it's built on top of. +#[derive(Debug, Copy, Clone, Hash, Eq, PartialEq, PartialOrd, Ord)] +pub struct ProspectiveCandidate { + /// Candidate hash. + pub candidate_hash: CandidateHash, + /// Parent head-data hash as supplied in advertisement. + pub parent_head_data_hash: Hash, +} + +/// Identifier of a collation being requested. +#[derive(Debug, Copy, Clone, Hash, Eq, PartialEq, PartialOrd, Ord)] +pub struct Advertisement { + /// Candidate's relay parent. + pub relay_parent: Hash, + /// Parachain id. + pub para_id: ParaId, + /// Peer that advertised this collation. + pub peer_id: PeerId, + /// Optional candidate hash and parent head-data hash if were + /// supplied in advertisement. + pub prospective_candidate: Option, +} + +impl Advertisement { + pub fn candidate_hash(&self) -> Option { + self.prospective_candidate.map(|candidate| candidate.candidate_hash) + } +} + +/// Output of a `CollationFetchRequest`, which includes the advertisement identifier. +pub type CollationFetchResponse = ( + Advertisement, + std::result::Result, +); + +/// Any error that can occur when awaiting a collation fetch response. +#[derive(Debug, thiserror::Error)] +pub enum CollationFetchError { + #[error("Future was cancelled.")] + Cancelled, + #[error("{0}")] + Request(#[from] RequestError), +} + +/// Whether we can start seconding a fetched candidate or not. +pub enum CanSecond { + /// Seconding is not possible. Returns an optional reputation slash, together with the rejected + /// collation info. + No(Option, SecondingRejectionInfo), + /// Seconding can begin. Returns all the needed data for seconding. + Yes(CandidateReceipt, PoV, PersistedValidationData), + /// Seconding is blocked because we are waiting for the parent to be seconded. + /// Returns the hash of the parent candidate header, together with the rejected collation info. + BlockedOnParent(Hash, SecondingRejectionInfo), +} + +/// Information that identifies a collation that was rejected from seconding. +#[derive(Debug)] +pub struct SecondingRejectionInfo { + pub relay_parent: Hash, + pub peer_id: PeerId, + pub para_id: ParaId, + pub maybe_output_head_hash: Option, + pub maybe_candidate_hash: Option, +} + +impl From<&Advertisement> for SecondingRejectionInfo { + fn from(advertisement: &Advertisement) -> Self { + SecondingRejectionInfo { + relay_parent: advertisement.relay_parent, + peer_id: advertisement.peer_id, + para_id: advertisement.para_id, + maybe_output_head_hash: None, + maybe_candidate_hash: advertisement.candidate_hash(), + } + } +} + #[cfg(test)] mod tests { use super::*; diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/error.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/error.rs index 7d83aaf74f6e3..0a7831a1faa3f 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side_experimental/error.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/error.rs @@ -14,10 +14,10 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -use crate::LOG_TARGET; +use crate::{validator_side_experimental::peer_manager::PersistenceError, LOG_TARGET}; use fatality::Nested; use polkadot_node_subsystem::{ChainApiError, SubsystemError}; -use polkadot_node_subsystem_util::runtime; +use polkadot_node_subsystem_util::{backing_implicit_view, runtime}; use polkadot_primitives::Hash; pub type Result = std::result::Result; @@ -44,6 +44,17 @@ pub enum Error { #[fatal] #[error("Receiving message from overseer failed: {0}")] SubsystemReceive(#[source] SubsystemError), + #[fatal] + #[error("Failed to initialize reputation database: {0}")] + ReputationDbInit(PersistenceError), + #[fatal] + #[error("Failed to spawn background task: {0}")] + SpawnTask(String), + #[error("Unable to retrieve block number for {0:?} from implicit view")] + BlockNumberNotFoundInImplicitView(Hash), + #[fatal(forward)] + #[error("Failed to add leaf to implicit view: {0}")] + FailedToActivateLeafInImplicitView(#[from] backing_implicit_view::FetchError), } /// Utility for eating top level errors and log them. diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/mod.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/mod.rs index 8f769e23ed592..e140690a3be20 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side_experimental/mod.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/mod.rs @@ -14,37 +14,55 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -#![allow(unused)] - -// See reasoning in Cargo.toml why this temporary useless import is needed. -use tokio as _; - +mod collation_manager; mod common; mod error; -mod metrics; mod peer_manager; mod state; +#[cfg(test)] +mod tests; -use std::collections::VecDeque; - -use common::MAX_STORED_SCORES_PER_PARA; +use crate::{ + validator_side_experimental::{common::MIN_FETCH_TIMER_DELAY, peer_manager::PersistentDb}, + LOG_TARGET, +}; +use collation_manager::CollationManager; +use common::{ProspectiveCandidate, MAX_STORED_SCORES_PER_PARA}; use error::{log_error, FatalError, FatalResult, Result}; -use fatality::Split; -use peer_manager::{Db, PeerManager}; +use futures::{future::Fuse, select, FutureExt, StreamExt}; +use futures_timer::Delay; +use polkadot_node_network_protocol::{ + self as net_protocol, peer_set::PeerSet, v1 as protocol_v1, v2 as protocol_v2, + CollationProtocols, PeerId, +}; use polkadot_node_subsystem::{ + messages::{CollatorProtocolMessage, NetworkBridgeEvent, NetworkBridgeTxMessage}, overseer, ActivatedLeaf, CollatorProtocolSenderTrait, FromOrchestra, OverseerSignal, }; -use polkadot_node_subsystem_util::{ - find_validator_group, request_claim_queue, request_validator_groups, request_validators, - runtime::recv_runtime, signing_key_and_index, -}; -use polkadot_primitives::{Hash, Id as ParaId}; +use polkadot_node_subsystem_util::database::Database; use sp_keystore::KeystorePtr; +use std::{future, future::Future, pin::Pin, sync::Arc, time::Duration}; + +#[cfg(test)] +use peer_manager::Db; +use peer_manager::PeerManager; + use state::State; -pub use metrics::Metrics; +pub use crate::validator_side_metrics::Metrics; -use crate::LOG_TARGET; +/// Default interval for persisting the reputation database to disk (in seconds). +const DEFAULT_PERSIST_INTERVAL_SECS: u64 = 600; + +/// Configuration for the reputation db. +#[derive(Debug, Clone, Copy)] +pub struct ReputationConfig { + /// The data column in the store to use for reputation data. + pub col_reputation_data: u32, + /// How often to persist the reputation database to disk. + /// If None, defaults to DEFAULT_PERSIST_INTERVAL_SECS seconds. + pub persist_interval: Option, +} /// The main run loop. #[overseer::contextbounds(CollatorProtocol, prefix = self::overseer)] @@ -52,9 +70,19 @@ pub(crate) async fn run( mut ctx: Context, keystore: KeystorePtr, metrics: Metrics, + db: Arc, + reputation_config: ReputationConfig, ) -> FatalResult<()> { - if let Some(_state) = initialize(&mut ctx, keystore, metrics).await? { - // run_inner(state); + let persist_interval = reputation_config + .persist_interval + .unwrap_or(Duration::from_secs(DEFAULT_PERSIST_INTERVAL_SECS)); + gum::info!( + LOG_TARGET, + persist_interval_secs = persist_interval.as_secs(), + "Running experimental collator protocol" + ); + if let Some(state) = initialize(&mut ctx, keystore, metrics, db, reputation_config).await? { + run_inner(ctx, state, persist_interval).await?; } Ok(()) @@ -65,31 +93,62 @@ async fn initialize( ctx: &mut Context, keystore: KeystorePtr, metrics: Metrics, -) -> FatalResult>> { + db: Arc, + reputation_config: ReputationConfig, +) -> FatalResult>> { loop { let first_leaf = match wait_for_first_leaf(ctx).await? { - Some(activated_leaf) => activated_leaf, + Some(activated_leaf) => { + gum::debug!( + target: LOG_TARGET, + number = activated_leaf.number, + hash = ?activated_leaf.hash, + "Got the first active leaf notification, trying to initialize subsystem." + ); + activated_leaf + }, None => return Ok(None), }; - let scheduled_paras = match scheduled_paras(ctx.sender(), first_leaf.hash, &keystore).await + let collation_manager = + CollationManager::new(ctx.sender(), keystore.clone(), first_leaf).await?; + + let scheduled_paras = collation_manager.assignments(); + + // Create PersistentDb with disk persistence + let (backend, task) = match PersistentDb::new( + db.clone(), + reputation_config, + MAX_STORED_SCORES_PER_PARA, + ) + .await { - Ok(paras) => paras, - Err(err) => { - log_error(Err(err))?; - continue + Ok(result) => result, + Err(e) => { + gum::error!( + target: LOG_TARGET, + error = ?e, + "Failed to initialize persistent reputation DB" + ); + return Err(FatalError::ReputationDbInit(e)); }, }; - let backend = Db::new(MAX_STORED_SCORES_PER_PARA).await; + // Background task for async writes + ctx.spawn_blocking("collator-reputation-persistence-task", task) + .map_err(|e| FatalError::SpawnTask(e.to_string()))?; + + gum::trace!(target: LOG_TARGET, "Spawned background reputation persistence task"); match PeerManager::startup(backend, ctx.sender(), scheduled_paras.into_iter().collect()) .await { - Ok(peer_manager) => return Ok(Some(State::new(peer_manager, keystore, metrics))), + Ok(peer_manager) => { + return Ok(Some(State::new(peer_manager, collation_manager, metrics))) + }, Err(err) => { log_error(Err(err))?; - continue + continue; }, } } @@ -103,42 +162,280 @@ async fn wait_for_first_leaf(ctx: &mut Context) -> FatalResult return Ok(None), FromOrchestra::Signal(OverseerSignal::ActiveLeaves(update)) => { if let Some(activated) = update.activated { - return Ok(Some(activated)) + return Ok(Some(activated)); } }, FromOrchestra::Signal(OverseerSignal::BlockFinalized(_, _)) => {}, FromOrchestra::Communication { msg } => { - // TODO: we should actually disconnect peers connected on collation protocol while - // we're still bootstrapping. OR buffer these messages until we've bootstrapped. - gum::warn!( - target: LOG_TARGET, - ?msg, - "Received msg before first active leaves update. This is not expected - message will be dropped." - ) + // Disconnect peers that connect before the subsystem is initialized. + // They will reconnect later when we're ready. + match msg { + CollatorProtocolMessage::NetworkBridgeUpdate( + NetworkBridgeEvent::PeerConnected(peer_id, ..), + ) => { + gum::info!( + target: LOG_TARGET, + ?peer_id, + "Disconnecting peer that connected before subsystem initialization", + ); + ctx.send_message(NetworkBridgeTxMessage::DisconnectPeers( + vec![peer_id], + PeerSet::Collation, + )) + .await; + }, + CollatorProtocolMessage::NetworkBridgeUpdate( + NetworkBridgeEvent::PeerMessage(peer_id, ..), + ) => { + gum::info!( + target: LOG_TARGET, + ?peer_id, + "Disconnecting peer that sent message before subsystem initialization", + ); + ctx.send_message(NetworkBridgeTxMessage::DisconnectPeers( + vec![peer_id], + PeerSet::Collation, + )) + .await; + }, + msg => { + gum::trace!( + target: LOG_TARGET, + ?msg, + "Received msg before first active leaves update, dropping.", + ); + }, + } }, } } } -async fn scheduled_paras( - sender: &mut Sender, - hash: Hash, - keystore: &KeystorePtr, -) -> Result> { - let validators = recv_runtime(request_validators(hash, sender).await).await?; - - let (groups, rotation_info) = - recv_runtime(request_validator_groups(hash, sender).await).await?; - - let core_now = if let Some(group) = signing_key_and_index(&validators, keystore) - .and_then(|(_, index)| find_validator_group(&groups, index)) - { - rotation_info.core_for_group(group, groups.len()) - } else { - gum::trace!(target: LOG_TARGET, ?hash, "Not a validator"); - return Ok(VecDeque::new()) +fn create_timer(maybe_delay: Option) -> Fuse + Send>>> { + let timer: Pin + Send>> = match maybe_delay { + Some(delay) => Box::pin(Delay::new(delay)), + None => Box::pin(future::pending::<()>()), }; - let mut claim_queue = recv_runtime(request_claim_queue(hash, sender).await).await?; - Ok(claim_queue.remove(&core_now).unwrap_or_else(|| VecDeque::new())) + timer.fuse() +} + +/// Create the persistence timer that fires after the given interval. +fn create_persistence_timer(interval: Duration) -> Fuse + Send>>> { + let delay: Pin + Send>> = Box::pin(Delay::new(interval)); + delay.fuse() +} + +#[overseer::contextbounds(CollatorProtocol, prefix = self::overseer)] +async fn run_inner( + mut ctx: Context, + mut state: State, + persist_interval: Duration, +) -> FatalResult<()> { + let mut timer = create_timer(None); + let mut persistence_timer = create_persistence_timer(persist_interval); + + loop { + select! { + // Calling `fuse()` here is useless, because the termination state of the resulting + // fused future is discarded after each iteration. But we need to do it in order to + // make the compiler happy. + // However, we actually need `ctx.recv()` to poll for received messages/signals during + // each loop iteration, so the resulting behavior is the desired one. + res = ctx.recv().fuse() => { + match res { + Ok(FromOrchestra::Communication { msg }) => { + gum::trace!(target: LOG_TARGET, msg = ?msg, "received a message"); + process_msg( + ctx.sender(), + &mut state, + msg, + ).await; + } + Ok(FromOrchestra::Signal(OverseerSignal::Conclude)) | Err(_) => { + // Persist to disk before shutdown + state.persist_reputations().await; + break + }, + Ok(FromOrchestra::Signal(OverseerSignal::BlockFinalized(hash, number))) => { + state.handle_finalized_block(ctx.sender(), hash, number).await?; + }, + Ok(FromOrchestra::Signal(_)) => continue, + } + }, + resp = state.collation_response_stream().select_next_some() => { + state.handle_fetched_collation(ctx.sender(), resp).await; + }, + _ = &mut timer => { + // We don't need to do anything specific here. + // If the timer expires, we only need to trigger the advertisement fetching logic. + }, + _ = &mut persistence_timer => { + // Periodic persistence - write reputation DB to disk + state.background_persist_reputations(); + // Reset the timer for the next interval + persistence_timer = create_persistence_timer(persist_interval); + }, + } + + // Now try triggering advertisement fetching, if we have room in any of the active leaves + // (any of them are in Waiting state). + // We could optimise to not always re-run this code (have the other functions return + // whether we should attempt launching fetch requests) However, most messages could + // indeed trigger a new legitimate request. + // Also, it takes constant time to run because we only try launching new requests for + // unfulfilled claims. It's probably not worth optimising. + let maybe_delay = state.try_launch_new_fetch_requests(ctx.sender()).await; + timer = create_timer(maybe_delay.map(|delay| std::cmp::max(delay, MIN_FETCH_TIMER_DELAY))); + } + + Ok(()) +} + +/// The main message receiver switch. +async fn process_msg( + sender: &mut Sender, + state: &mut State, + msg: CollatorProtocolMessage, +) { + use CollatorProtocolMessage::*; + + let _timer = state.metrics().time_process_msg(); + + match msg { + CollateOn(id) => { + gum::warn!( + target: LOG_TARGET, + para_id = %id, + "CollateOn message is not expected on the validator side of the protocol", + ); + }, + DistributeCollation { .. } => { + gum::warn!( + target: LOG_TARGET, + "DistributeCollation message is not expected on the validator side of the protocol", + ); + }, + NetworkBridgeUpdate(event) => { + if let Err(e) = handle_network_msg(sender, state, event).await { + gum::warn!( + target: LOG_TARGET, + err = ?e, + "Failed to handle incoming network message", + ); + } + }, + Seconded(_parent, stmt) => { + state.handle_seconded_collation(sender, stmt).await; + }, + Invalid(_parent, candidate_receipt) => { + state.handle_invalid_collation(candidate_receipt).await; + }, + ConnectToBackingGroups => { + gum::warn!( + target: LOG_TARGET, + "ConnectToBackingGroups message is not expected on the validator side of the protocol", + ); + }, + DisconnectFromBackingGroups => { + gum::warn!( + target: LOG_TARGET, + "DisconnectFromBackingGroups message is not expected on the validator side of the protocol", + ); + }, + } +} + +/// Bridge event switch. +async fn handle_network_msg( + sender: &mut Sender, + state: &mut State, + bridge_message: NetworkBridgeEvent, +) -> Result<()> { + use NetworkBridgeEvent::*; + + match bridge_message { + PeerConnected(peer_id, observed_role, protocol_version, _) => { + let version = match protocol_version.try_into() { + Ok(version) => version, + Err(err) => { + // Network bridge is expected to handle this. + gum::error!( + target: LOG_TARGET, + ?peer_id, + ?observed_role, + ?err, + "Unsupported protocol version" + ); + return Ok(()); + }, + }; + state.handle_peer_connected(sender, peer_id, version).await; + }, + PeerDisconnected(peer_id) => { + state.handle_peer_disconnected(peer_id).await; + }, + NewGossipTopology { .. } => { + // impossible! + }, + PeerViewChange(_, _) => { + // We don't really care about a peer's view. + }, + OurViewChange(view) => { + state.handle_our_view_change(sender, view).await?; + }, + PeerMessage(remote, msg) => { + process_incoming_peer_message(sender, state, remote, msg).await; + }, + UpdatedAuthorityIds { .. } => { + // The validator side doesn't deal with `AuthorityDiscoveryId`s. + }, + } + + Ok(()) +} + +async fn process_incoming_peer_message( + sender: &mut Sender, + state: &mut State, + origin: PeerId, + msg: CollationProtocols< + protocol_v1::CollatorProtocolMessage, + protocol_v2::CollatorProtocolMessage, + >, +) { + use protocol_v1::CollatorProtocolMessage as V1; + use protocol_v2::CollatorProtocolMessage as V2; + + match msg { + CollationProtocols::V1(V1::Declare(_collator_id, para_id, _signature)) | + CollationProtocols::V2(V2::Declare(_collator_id, para_id, _signature)) => { + state.handle_declare(sender, origin, para_id).await; + }, + CollationProtocols::V1(V1::CollationSeconded(..)) | + CollationProtocols::V2(V2::CollationSeconded(..)) => { + gum::warn!( + target: LOG_TARGET, + peer_id = ?origin, + "Unexpected `CollationSeconded` message", + ); + }, + CollationProtocols::V1(V1::AdvertiseCollation(relay_parent)) => { + state.handle_advertisement(sender, origin, relay_parent, None).await; + }, + CollationProtocols::V2(V2::AdvertiseCollation { + relay_parent, + candidate_hash, + parent_head_data_hash, + }) => { + state + .handle_advertisement( + sender, + origin, + relay_parent, + Some(ProspectiveCandidate { candidate_hash, parent_head_data_hash }), + ) + .await; + }, + } } diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/backend.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/backend.rs index 489846c6211a3..0cfd1fbc0c7a3 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/backend.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/backend.rs @@ -43,4 +43,6 @@ pub trait Backend { bumps: BTreeMap>, decay_value: Option, ) -> Vec; + /// Get the maximum scores for the given paraids. + async fn max_scores_for_paras(&self, paras: BTreeSet) -> HashMap; } diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/connected.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/connected.rs index b023d300791df..5ff5d138761cd 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/connected.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/connected.rs @@ -22,7 +22,7 @@ use polkadot_node_network_protocol::PeerId; use polkadot_primitives::Id as ParaId; use std::{ cmp::Ordering, - collections::{BTreeMap, BTreeSet, HashMap, HashSet}, + collections::{BTreeMap, BTreeSet, HashMap}, future::Future, num::NonZeroU16, }; @@ -44,26 +44,17 @@ impl ConnectedPeers { ) -> Self { debug_assert!(per_para_limit <= overall_limit); - let limit = std::cmp::min( - (u16::from(overall_limit)) - .checked_div( - scheduled_paras - .len() - .try_into() - .expect("Nr of scheduled paras on a core should always fit in a u16"), - ) - .unwrap_or(0), - u16::from(per_para_limit), - ); - let mut per_para = BTreeMap::new(); - - if limit != 0 { - for para_id in scheduled_paras { - per_para.insert( - para_id, - PerPara::new(NonZeroU16::new(limit).expect("Just checked that limit is not 0")), - ); + if scheduled_paras.len() > 0 { + // Since `overall_limit` and `per_para_limit` are `u16`, `limit` must also fit in `u16`. + let limit = std::cmp::min( + overall_limit.get() as usize / scheduled_paras.len(), + per_para_limit.get() as usize, + ) as u16; + if let Some(non_zero_limit) = NonZeroU16::new(limit) { + for para_id in scheduled_paras { + per_para.insert(para_id, PerPara::new(non_zero_limit)); + } } } @@ -91,25 +82,26 @@ impl ConnectedPeers { peer_info: PeerInfo, ) -> TryAcceptOutcome { if self.contains(&peer_id) { - return TryAcceptOutcome::Added + return TryAcceptOutcome::Added; } let mut outcome = TryAcceptOutcome::Rejected; match peer_info.state { PeerState::Collating(para_id) => { - let past_reputation = reputation_query_fn(peer_id, para_id).await; if let Some(per_para) = self.per_para.get_mut(¶_id) { + let past_reputation = reputation_query_fn(peer_id, para_id).await; let res = per_para.try_accept(peer_id, past_reputation); outcome = outcome.combine(res); } }, - PeerState::Connected => + PeerState::Connected => { for (para_id, per_para) in self.per_para.iter_mut() { let past_reputation = reputation_query_fn(peer_id, *para_id).await; let res = per_para.try_accept(peer_id, past_reputation); outcome = outcome.combine(res); - }, + } + }, } match outcome { @@ -173,7 +165,7 @@ impl ConnectedPeers { if let Some(old_per_para) = self.per_para.get_mut(&old_para_id) { old_per_para.remove(&peer_id); } - if let Some(per_para) = self.per_para.get(¶_id) { + if self.per_para.contains_key(¶_id) { outcome = DeclarationOutcome::Switched(*old_para_id); } }, @@ -207,6 +199,11 @@ impl ConnectedPeers { self.per_para.keys() } + /// Returns the number of connected peers. + pub fn len(&self) -> usize { + self.peer_info.len() + } + fn contains(&self, peer_id: &PeerId) -> bool { self.peer_info.contains_key(peer_id) } @@ -229,7 +226,7 @@ pub struct PerPara { impl PerPara { /// Get the peer's score, if any. pub fn get_score(&self, peer_id: &PeerId) -> Option { - self.per_peer_score.get(peer_id).map(|s| *s) + self.per_peer_score.get(peer_id).copied() } fn new(limit: NonZeroU16) -> Self { @@ -239,14 +236,16 @@ impl PerPara { fn try_accept(&mut self, peer_id: PeerId, score: Score) -> TryAcceptOutcome { // If we've got enough room, add it. Otherwise, see if it has a higher reputation than any // other connected peer. + if self.sorted_scores.len() < (u16::from(self.limit) as usize) { self.sorted_scores.insert(PeerScoreEntry { peer_id, score }); self.per_peer_score.insert(peer_id, score); + TryAcceptOutcome::Added } else { let Some(min_score) = self.sorted_scores.first() else { // The limit must be 0, which is not possible given that limit is a NonZeroU16. - return TryAcceptOutcome::Rejected + return TryAcceptOutcome::Rejected; }; if min_score.score >= score { @@ -255,7 +254,7 @@ impl PerPara { let Some(replaced) = self.sorted_scores.pop_first() else { // Cannot really happen since we already know there's some entry with a lower // score than ours. - return TryAcceptOutcome::Rejected + return TryAcceptOutcome::Rejected; }; self.per_peer_score.remove(&replaced.peer_id); @@ -269,7 +268,7 @@ impl PerPara { fn update_reputation(&mut self, update: ReputationUpdate) { let Some(score) = self.per_peer_score.get_mut(&update.peer_id) else { // If the peer is not connected we don't care to update anything besides the DB. - return + return; }; self.sorted_scores @@ -303,7 +302,10 @@ struct PeerScoreEntry { impl Ord for PeerScoreEntry { fn cmp(&self, other: &Self) -> Ordering { - self.score.cmp(&other.score) + match self.score.cmp(&other.score) { + Ordering::Equal => self.peer_id.cmp(&other.peer_id), + order => order, + } } } @@ -315,6 +317,8 @@ impl PartialOrd for PeerScoreEntry { #[cfg(test)] mod tests { + use std::collections::HashSet; + use super::*; use polkadot_node_network_protocol::peer_set::CollationVersion; @@ -474,7 +478,7 @@ mod tests { assert_eq!( connected .try_accept( - |peer_id, para_id| async move { + |peer_id, _para_id| async move { if peer_id == rejected_peer { Score::new(10).unwrap() } else { @@ -491,7 +495,7 @@ mod tests { TryAcceptOutcome::Rejected ); assert_eq!(connected.peer_info(&rejected_peer), None); - for (para_id, per_para) in connected.per_para.iter() { + for per_para in connected.per_para.values() { assert!(!per_para.contains(&rejected_peer)); assert_eq!(per_para.get_score(&rejected_peer), None); } @@ -566,13 +570,16 @@ mod tests { let rep_query_fn = |peer_id, para_id| async move { match (peer_id, para_id) { - (peer_id, para_id) if peer_id == first_peer => Score::new(10).unwrap(), - (peer_id, para_id) if peer_id == second_peer && para_id == para_1 => - Score::new(20).unwrap(), - (peer_id, para_id) if peer_id == third_peer && para_id == para_2 => - Score::new(20).unwrap(), - (peer_id, para_id) if peer_id == new_peer && para_id == para_1 => - Score::new(5).unwrap(), + (peer_id, _para_id) if peer_id == first_peer => Score::new(10).unwrap(), + (peer_id, para_id) if peer_id == second_peer && para_id == para_1 => { + Score::new(20).unwrap() + }, + (peer_id, para_id) if peer_id == third_peer && para_id == para_2 => { + Score::new(20).unwrap() + }, + (peer_id, para_id) if peer_id == new_peer && para_id == para_1 => { + Score::new(5).unwrap() + }, (_, _) => Score::default(), } @@ -672,10 +679,11 @@ mod tests { // are the same for all paras. { let mut connected = connected.clone(); - let rep_query_fn = |peer_id, para_id| async move { - match (peer_id, para_id) { - (peer_id, para_id) if peer_id == new_peer => Score::new(30).unwrap(), - (_, _) => Score::default(), + let rep_query_fn = |peer_id, _para_id| async move { + if peer_id == new_peer { + Score::new(30).unwrap() + } else { + Score::default() } }; assert_eq!( @@ -713,14 +721,17 @@ mod tests { let rep_query_fn = |peer_id, para_id| async move { match (peer_id, para_id) { - (peer_id, para_id) if peer_id == first_peer => Score::new(10).unwrap(), - (peer_id, para_id) if peer_id == second_peer && para_id == para_1 => - Score::new(20).unwrap(), - (peer_id, para_id) if peer_id == third_peer && para_id == para_2 => - Score::new(20).unwrap(), - (peer_id, para_id) if peer_id == fourth_peer && para_id == para_2 => - Score::new(15).unwrap(), - (peer_id, para_id) if peer_id == new_peer => Score::new(30).unwrap(), + (peer_id, _para_id) if peer_id == first_peer => Score::new(10).unwrap(), + (peer_id, para_id) if peer_id == second_peer && para_id == para_1 => { + Score::new(20).unwrap() + }, + (peer_id, para_id) if peer_id == third_peer && para_id == para_2 => { + Score::new(20).unwrap() + }, + (peer_id, para_id) if peer_id == fourth_peer && para_id == para_2 => { + Score::new(15).unwrap() + }, + (peer_id, _para_id) if peer_id == new_peer => Score::new(30).unwrap(), (_, _) => Score::default(), } @@ -806,10 +817,11 @@ mod tests { // on para_1. { let mut connected = connected.clone(); - let rep_query_fn = |peer_id, para_id| async move { - match (peer_id, para_id) { - (peer_id, para_id) if peer_id == new_peer => Score::new(30).unwrap(), - (_, _) => Score::default(), + let rep_query_fn = |peer_id, _para_id| async move { + if peer_id == new_peer { + Score::new(30).unwrap() + } else { + Score::default() } }; assert_eq!( @@ -862,13 +874,16 @@ mod tests { let rep_query_fn = |peer_id, para_id| async move { match (peer_id, para_id) { - (peer_id, para_id) if peer_id == first_peer => Score::new(10).unwrap(), - (peer_id, para_id) if peer_id == second_peer && para_id == para_1 => - Score::new(5).unwrap(), - (peer_id, para_id) if peer_id == third_peer && para_id == para_2 => - Score::new(5).unwrap(), - (peer_id, para_id) if peer_id == new_peer && para_id == para_1 => - Score::new(8).unwrap(), + (peer_id, _para_id) if peer_id == first_peer => Score::new(10).unwrap(), + (peer_id, para_id) if peer_id == second_peer && para_id == para_1 => { + Score::new(5).unwrap() + }, + (peer_id, para_id) if peer_id == third_peer && para_id == para_2 => { + Score::new(5).unwrap() + }, + (peer_id, para_id) if peer_id == new_peer && para_id == para_1 => { + Score::new(8).unwrap() + }, (_, _) => Score::default(), } @@ -969,7 +984,7 @@ mod tests { assert_eq!(connected.peer_info(&first_peer), None); - for (para_id, per_para) in connected.per_para.iter() { + for per_para in connected.per_para.values() { assert!(!per_para.contains(&first_peer)); assert_eq!(per_para.get_score(&first_peer), None); } @@ -1015,7 +1030,7 @@ mod tests { ); assert_eq!(connected.peer_info(&first_peer), None); - for (para_id, per_para) in connected.per_para.iter() { + for per_para in connected.per_para.values() { assert!(!per_para.contains(&first_peer)); assert_eq!(per_para.get_score(&first_peer), None); } @@ -1036,7 +1051,7 @@ mod tests { ); assert_eq!(connected.peer_info(&first_peer), None); - for (para_id, per_para) in connected.per_para.iter() { + for per_para in connected.per_para.values() { assert!(!per_para.contains(&first_peer)); assert_eq!(per_para.get_score(&first_peer), None); } diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/db.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/db.rs index b1c4fbfaf55ed..340e22ab46479 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/db.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/db.rs @@ -20,7 +20,7 @@ use crate::validator_side_experimental::{ }; use async_trait::async_trait; use polkadot_node_network_protocol::PeerId; -use polkadot_primitives::{BlockNumber, Hash, Id as ParaId}; +use polkadot_primitives::{BlockNumber, Id as ParaId}; use std::{ collections::{btree_map, hash_map, BTreeMap, BTreeSet, HashMap}, time::{SystemTime, UNIX_EPOCH}, @@ -31,24 +31,24 @@ use std::{ pub struct Db { db: BTreeMap>, last_finalized: Option, - stored_limit_per_para: u8, + stored_limit_per_para: u16, } impl Db { /// Create a new instance of the in-memory DB. /// /// `stored_limit_per_para` is the maximum number of reputations that can be stored per para. - pub async fn new(stored_limit_per_para: u8) -> Self { + pub async fn new(stored_limit_per_para: u16) -> Self { Self { db: BTreeMap::new(), last_finalized: None, stored_limit_per_para } } } -type Timestamp = u128; +pub(crate) type Timestamp = u128; -#[derive(Clone, Debug)] -struct ScoreEntry { - score: Score, - last_bumped: Timestamp, +#[derive(Clone, Copy, Debug, codec::Encode, codec::Decode)] +pub(crate) struct ScoreEntry { + pub(crate) score: Score, + pub(crate) last_bumped: Timestamp, } #[async_trait] @@ -91,12 +91,24 @@ impl Backend for Db { decay_value: Option, ) -> Vec { if self.last_finalized.unwrap_or(0) >= leaf_number { - return vec![] + return vec![]; } self.last_finalized = Some(leaf_number); self.bump_reputations(bumps, decay_value) } + + async fn max_scores_for_paras(&self, paras: BTreeSet) -> HashMap { + let mut max_scores = HashMap::with_capacity(paras.len()); + for para in paras { + if let Some(per_para) = self.db.get(¶) { + let max_score = + per_para.values().map(|e| e.score).max().unwrap_or(Score::new(0).unwrap()); + max_scores.insert(para, max_score); + } + } + max_scores + } } impl Db { @@ -113,7 +125,7 @@ impl Db { for (peer_id, bump) in bumps_per_para.iter() { if u16::from(*bump) == 0 { - continue + continue; } self.db @@ -210,8 +222,39 @@ impl Db { } } + /// Get the last finalized block number (for persistence). + pub(crate) fn get_last_finalized(&self) -> Option { + self.last_finalized + } + + /// Set the last finalized block number (for loading from disk). + pub(crate) fn set_last_finalized(&mut self, last_finalized: Option) { + self.last_finalized = last_finalized; + } + + /// Get reputations for a specific para (for persistence). + pub(crate) fn get_para_reputations(&self, para_id: &ParaId) -> HashMap { + self.db.get(para_id).cloned().unwrap_or_default() + } + + /// Set reputations for a specific para (for loading from disk). + pub(crate) fn set_para_reputations( + &mut self, + para_id: ParaId, + reputations: HashMap, + ) { + self.db.insert(para_id, reputations); + } + + /// Get all reputations (for persistence). + pub(crate) fn all_reputations( + &self, + ) -> impl Iterator)> { + self.db.iter() + } + #[cfg(test)] - fn len(&self) -> usize { + pub(crate) fn len(&self) -> usize { self.db.len() } } diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/mod.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/mod.rs index 05afdcbbe7e06..e1b353f0b3d3d 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/mod.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/mod.rs @@ -16,6 +16,8 @@ mod backend; mod connected; mod db; +mod persistence; +mod persistent_db; use futures::channel::oneshot; use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet}; @@ -23,30 +25,31 @@ use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet}; use crate::{ validator_side_experimental::{ common::{ - PeerInfo, PeerState, Score, CONNECTED_PEERS_LIMIT, CONNECTED_PEERS_PARA_LIMIT, - INACTIVITY_DECAY, MAX_STARTUP_ANCESTRY_LOOKBACK, MAX_STORED_SCORES_PER_PARA, - VALID_INCLUDED_CANDIDATE_BUMP, + PeerInfo, Score, TryAcceptOutcome, CONNECTED_PEERS_LIMIT, CONNECTED_PEERS_PARA_LIMIT, + INACTIVITY_DECAY, MAX_STARTUP_ANCESTRY_LOOKBACK, VALID_INCLUDED_CANDIDATE_BUMP, }, - error::{Error, Result}, + error::{Error, JfyiError, Result}, }, LOG_TARGET, }; pub use backend::Backend; use connected::ConnectedPeers; +#[cfg(test)] pub use db::Db; -use polkadot_node_network_protocol::{ - peer_set::{CollationVersion, PeerSet}, - PeerId, -}; +pub use persistence::PersistenceError; +pub use persistent_db::PersistentDb; +use polkadot_node_network_protocol::{peer_set::PeerSet, PeerId}; use polkadot_node_subsystem::{ messages::{ChainApiMessage, NetworkBridgeTxMessage}, - ActivatedLeaf, CollatorProtocolSenderTrait, + CollatorProtocolSenderTrait, RuntimeApiError, }; use polkadot_node_subsystem_util::{ - request_candidate_events, request_candidates_pending_availability, runtime::recv_runtime, + request_candidate_events, request_candidates_pending_availability, request_para_ids, + runtime::{self, recv_runtime}, }; use polkadot_primitives::{ BlockNumber, CandidateDescriptorVersion, CandidateEvent, CandidateHash, Hash, Id as ParaId, + SessionIndex, }; #[derive(Debug, PartialEq, Clone)] @@ -63,34 +66,6 @@ pub enum ReputationUpdateKind { Slash, } -#[derive(Debug, PartialEq)] -enum TryAcceptOutcome { - Added, - // This can hold more than one `PeerId` because before receiving the `Declare` message, - // one peer can hold connection slots for multiple paraids. - // The set can also be empty if this peer replaced some other peer's slot but that other peer - // maintained a connection slot for another para (therefore not disconnected). - // The number of peers in the set is bound to the number of scheduled paras. - Replaced(HashSet), - Rejected, -} - -impl TryAcceptOutcome { - fn combine(self, other: Self) -> Self { - use TryAcceptOutcome::*; - match (self, other) { - (Added, Added) => Added, - (Rejected, Rejected) => Rejected, - (Added, Rejected) | (Rejected, Added) => Added, - (Replaced(mut replaced_a), Replaced(replaced_b)) => { - replaced_a.extend(replaced_b); - Replaced(replaced_a) - }, - (_, Replaced(replaced)) | (Replaced(replaced), _) => Replaced(replaced), - } - } -} - #[derive(Debug, PartialEq)] enum DeclarationOutcome { Rejected, @@ -101,6 +76,8 @@ enum DeclarationOutcome { pub struct PeerManager { db: B, connected: ConnectedPeers, + /// The `SessionIndex` of the last finalized block + latest_finalized_session: Option, } impl PeerManager { @@ -118,6 +95,7 @@ impl PeerManager { CONNECTED_PEERS_LIMIT, CONNECTED_PEERS_PARA_LIMIT, ), + latest_finalized_session: None, }; let (latest_finalized_block_number, latest_finalized_block_hash) = @@ -126,6 +104,15 @@ impl PeerManager { let processed_finalized_block_number = instance.db.processed_finalized_block_number().await.unwrap_or_default(); + gum::trace!( + target: LOG_TARGET, + scheduled_paras = ?instance.connected.scheduled_paras().collect::>(), + latest_finalized_block_number, + ?latest_finalized_block_hash, + processed_finalized_block_number, + "PeerManager startup" + ); + let bumps = extract_reputation_bumps_on_new_finalized_block( sender, processed_finalized_block_number, @@ -135,6 +122,17 @@ impl PeerManager { instance.db.process_bumps(latest_finalized_block_number, bumps, None).await; + if latest_finalized_block_number != processed_finalized_block_number { + gum::trace!( + target: LOG_TARGET, + blocks_processed = std::cmp::min( + latest_finalized_block_number.saturating_sub(processed_finalized_block_number), + MAX_STARTUP_ANCESTRY_LOOKBACK + ), + "Startup lookback completed" + ); + } + Ok(instance) } @@ -170,27 +168,62 @@ impl PeerManager { } /// Process the registered paras and cleanup all data pertaining to any unregistered paras, if - /// any. Should be called every N finalized block notifications, since it's expected that para - /// deregistrations are rare. - pub async fn registered_paras_update(&mut self, registered_paras: BTreeSet) { - // Tell the DB to cleanup paras that are no longer registered. No need to clean up the - // connected peers state, since it will get automatically cleaned up as the claim queue - // gets rid of these stale assignments. + /// any. Should be called every finalized block. Only queries the registered paras once per + /// session since they can only change at session boundaries. + pub async fn prune_registered_paras( + &mut self, + sender: &mut Sender, + finalized_session: SessionIndex, + finalized_hash: Hash, + ) { + let needs_update = self + .latest_finalized_session + .map(|last_stored| last_stored < finalized_session) + .unwrap_or(true); + + if !needs_update { + return; + } + + self.latest_finalized_session = Some(finalized_session); + + let registered_paras = match recv_runtime( + request_para_ids(finalized_hash, finalized_session, sender).await, + ) + .await + { + Ok(registered_paras) => registered_paras.into_iter().collect(), + Err(runtime::Error::RuntimeRequest(RuntimeApiError::NotSupported { .. })) => { + gum::warn!( + target: LOG_TARGET, + "Using a runtime which does not support querying the registered paras, this should not be used in production with the `--enable-experimental-collator-protocol` flag." + ); + return; + }, + Err(err) => { + JfyiError::Runtime(err).log(); + return; + }, + }; + + // Tell the DB to cleanup paras that are no longer registered. No need to clean + // up the connected peers state, since it will get automatically cleaned up + // as the claim queue gets rid of these stale assignments. self.db.prune_paras(registered_paras).await; } - /// Process a potential change of the scheduled paras. + /// Process a potential change of the scheduled paras. Returns a record of the disconnected + /// peers. pub async fn scheduled_paras_update( &mut self, sender: &mut Sender, scheduled_paras: BTreeSet, - ) { - let mut prev_scheduled_paras: BTreeSet<_> = - self.connected.scheduled_paras().copied().collect(); + ) -> HashSet { + let prev_scheduled_paras: BTreeSet<_> = self.connected.scheduled_paras().copied().collect(); if prev_scheduled_paras == scheduled_paras { // Nothing to do if the scheduled paras didn't change. - return + return HashSet::new(); } // Recreate the connected peers based on the new schedule and try populating it again based @@ -235,19 +268,25 @@ impl PeerManager { } // Disconnect peers that couldn't be kept. - self.disconnect_peers(sender, peers_to_disconnect).await; + self.disconnect_peers(sender, peers_to_disconnect.clone().into_iter()).await; + + peers_to_disconnect } /// Process a declaration message of a peer. + /// + /// Returns a `bool` indicating whether the operation was successful. pub async fn declared( &mut self, sender: &mut Sender, peer_id: PeerId, para_id: ParaId, - ) { - let Some(peer_info) = self.connected.peer_info(&peer_id).cloned() else { return }; - let outcome = self.connected.declared(peer_id, para_id); + ) -> bool { + if self.connected.peer_info(&peer_id).is_none() { + return false; + } + let outcome = self.connected.declared(peer_id, para_id); match outcome { DeclarationOutcome::Accepted => { gum::debug!( @@ -256,6 +295,7 @@ impl PeerManager { ?peer_id, "Peer declared", ); + true }, DeclarationOutcome::Switched(old_para_id) => { gum::debug!( @@ -263,10 +303,10 @@ impl PeerManager { ?para_id, ?old_para_id, ?peer_id, - "Peer switched collating paraid. Trying to accept it on the new one.", + "Peer switched collating paraid. Rejected.", ); - - self.try_accept_connection(sender, peer_id, peer_info).await; + self.disconnect_peers(sender, [peer_id].into_iter()).await; + false }, DeclarationOutcome::Rejected => { gum::debug!( @@ -276,7 +316,8 @@ impl PeerManager { "Peer declared but rejected. Going to disconnect.", ); - self.disconnect_peers(sender, [peer_id].into_iter().collect()).await; + self.disconnect_peers(sender, [peer_id].into_iter()).await; + false }, } } @@ -305,13 +346,13 @@ impl PeerManager { self.connected.remove(peer_id); } - /// A connection was made, triage it. Return whether or not is was kept. + /// A connection was made, triage it. pub async fn try_accept_connection( &mut self, sender: &mut Sender, peer_id: PeerId, peer_info: PeerInfo, - ) -> bool { + ) -> TryAcceptOutcome { let db = &self.db; let reputation_query_fn = |peer_id: PeerId, para_id: ParaId| async move { // Go straight to the DB. We only store in-memory the reputations of connected peers. @@ -319,27 +360,15 @@ impl PeerManager { }; let outcome = self.connected.try_accept(reputation_query_fn, peer_id, peer_info).await; - match outcome { - TryAcceptOutcome::Added => true, + TryAcceptOutcome::Added => TryAcceptOutcome::Added, TryAcceptOutcome::Replaced(other_peers) => { - gum::trace!( - target: LOG_TARGET, - "Peer {:?} replaced the connection slots of other peers: {:?}", - peer_id, - &other_peers - ); - self.disconnect_peers(sender, other_peers).await; - true + self.disconnect_peers(sender, other_peers.clone().into_iter()).await; + TryAcceptOutcome::Replaced(other_peers) }, TryAcceptOutcome::Rejected => { - gum::debug!( - target: LOG_TARGET, - ?peer_id, - "Peer connection was rejected", - ); - self.disconnect_peers(sender, [peer_id].into_iter().collect()).await; - false + self.disconnect_peers(sender, [peer_id].into_iter()).await; + TryAcceptOutcome::Rejected }, } } @@ -349,11 +378,35 @@ impl PeerManager { self.connected.peer_score(peer_id, para_id) } + /// Retrieve the peer info associated to this PeerId, if any. + pub fn peer_info(&self, peer_id: &PeerId) -> Option<&PeerInfo> { + self.connected.peer_info(peer_id) + } + + /// Retrieve the max scores for the given paras. + pub async fn max_scores_for_paras(&self, paras: BTreeSet) -> HashMap { + self.db.max_scores_for_paras(paras).await + } + + /// Returns the number of connected peers. + pub fn connected_peer_count(&self) -> usize { + self.connected.len() + } + + #[cfg(test)] + pub fn connected_peers(&self) -> BTreeSet { + self.connected.clone().consume().0.into_keys().collect() + } + async fn disconnect_peers( &self, sender: &mut Sender, - peers: HashSet, + peers: impl Iterator, ) { + let peers: Vec<_> = peers.collect(); + if peers.is_empty() { + return; + } gum::trace!( target: LOG_TARGET, ?peers, @@ -361,14 +414,28 @@ impl PeerManager { ); sender - .send_message(NetworkBridgeTxMessage::DisconnectPeers( - peers.into_iter().collect(), - PeerSet::Collation, - )) + .send_message(NetworkBridgeTxMessage::DisconnectPeers(peers, PeerSet::Collation)) .await; } } +impl PeerManager { + /// Persist the reputation database to disk asynchronously (fire-and-forget). + pub fn persist_to_disk_async(&mut self) { + self.db.persist_async(None); + } + + /// Persist and wait for the background writer to finish the write. + pub async fn persist_and_wait(&mut self) { + if self.db.persist_and_wait().await.is_err() { + gum::error!( + target: LOG_TARGET, + "Failed to persist reputation DB: background writer closed" + ); + } + } +} + async fn get_ancestors( sender: &mut Sender, k: usize, @@ -415,7 +482,7 @@ async fn extract_reputation_bumps_on_new_finalized_block> = BTreeMap::new(); for (rp, per_para) in v2_candidates_per_rp { for (para_id, included_candidates) in per_para { - let candidates_pending_availability = - recv_runtime(request_candidates_pending_availability(rp, para_id, sender).await) - .await?; + let candidates_pending_availability = match recv_runtime( + request_candidates_pending_availability(rp, para_id, sender).await, + ) + .await + { + Ok(c) => c, + Err(err) => { + gum::warn!(target: LOG_TARGET, + relay_parent=?rp, + ?para_id, + ?err, + "Failed to get candidates pending availability. Skipping score bumps for the para id", + ); + continue; + }, + }; for candidate in candidates_pending_availability { let candidate_hash = candidate.hash(); diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/persistence.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/persistence.rs new file mode 100644 index 0000000000000..f55481eecb25f --- /dev/null +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/persistence.rs @@ -0,0 +1,146 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Serialization types for disk persistence of collator reputation data. + +use codec::{Decode, Encode}; +use polkadot_node_network_protocol::PeerId; +use polkadot_primitives::{BlockNumber, Id as ParaId}; +use std::collections::HashMap; + +use super::db::ScoreEntry; + +/// Key prefix for per-para reputation data. +pub const REPUTATION_PARA_PREFIX: &[u8; 12] = b"Rep_per_para"; +/// Key for metadata. +pub const REPUTATION_META_KEY: &[u8; 8] = b"Rep_meta"; +/// Key for the list of stored para IDs. +pub const REPUTATION_PARA_LIST_KEY: &[u8; 12] = b"Rep_paralist"; + +/// Serializable PeerId wrapper. +/// PeerId is a Multihash which can be converted to/from bytes. +#[derive(Debug, Clone, PartialEq, Eq)] +pub(crate) struct SerializablePeerId(pub(crate) PeerId); + +impl Encode for SerializablePeerId { + fn encode(&self) -> Vec { + self.0.to_bytes().encode() + } + + fn encode_to(&self, dest: &mut T) { + self.0.to_bytes().encode_to(dest) + } +} + +impl Decode for SerializablePeerId { + fn decode(input: &mut I) -> Result { + let bytes = Vec::::decode(input)?; + PeerId::from_bytes(&bytes) + .map(SerializablePeerId) + .map_err(|_| codec::Error::from("Invalid PeerId bytes")) + } +} + +/// Stored reputations for a single para. +/// This is the VALUE stored in the DB, keyed by ParaId. +#[derive(Debug, Clone, Encode, Decode, Default)] +pub(crate) struct StoredParaReputations { + /// Vec of (peer_id, score_entry) pairs. + pub(crate) entries: Vec<(SerializablePeerId, ScoreEntry)>, +} + +impl From> for StoredParaReputations { + fn from(map: HashMap) -> Self { + let entries = map + .into_iter() + .map(|(peer_id, entry)| (SerializablePeerId(peer_id), entry)) + .collect(); + StoredParaReputations { entries } + } +} + +impl From for HashMap { + fn from(stored: StoredParaReputations) -> Self { + stored.entries.into_iter().map(|(peer_id, entry)| (peer_id.0, entry)).collect() + } +} + +/// Metadata stored separately from per-para data. +#[derive(Debug, Clone, Encode, Decode)] +pub(crate) struct StoredMetadata { + /// The last finalized block number that was processed. + pub(crate) last_finalized: Option, +} + +/// Generate key for a para's reputation data. +/// Key format: "Rep_per_para" (12 bytes) + ParaId (4 bytes, big-endian) +pub fn para_reputation_key(para_id: ParaId) -> [u8; 16] { + let mut key = [0u8; 12 + 4]; + key[..12].copy_from_slice(REPUTATION_PARA_PREFIX); + key[12..].copy_from_slice(&u32::from(para_id).to_be_bytes()); + key +} + +/// Returns the metadata key. +pub fn metadata_key() -> &'static [u8] { + REPUTATION_META_KEY +} + +/// Returns the para list key. +pub fn para_list_key() -> &'static [u8] { + REPUTATION_PARA_LIST_KEY +} + +/// Stored list of para IDs that have reputation data on disk. +#[derive(Debug, Clone, Encode, Decode, Default)] +pub(crate) struct StoredParaList { + pub(crate) paras: Vec, +} + +/// Errors during persistence operations. +#[derive(Debug, thiserror::Error)] +pub enum PersistenceError { + #[error("I/O error: {0}")] + Io(#[from] std::io::Error), + #[error("Codec error: {0}")] + Codec(#[from] codec::Error), +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::validator_side_experimental::peer_manager::Score; + + #[test] + fn stored_para_reputations_roundtrip() { + let mut map = HashMap::new(); + let peer1 = PeerId::random(); + let peer2 = PeerId::random(); + + map.insert(peer1, ScoreEntry { score: Score::new(100).unwrap(), last_bumped: 1234567890 }); + map.insert(peer2, ScoreEntry { score: Score::new(50).unwrap(), last_bumped: 9876543210 }); + + let stored: StoredParaReputations = map.into(); + let encoded = stored.encode(); + let decoded = StoredParaReputations::decode(&mut &encoded[..]).expect("decode should work"); + + let restored_map: HashMap = decoded.into(); + + assert_eq!(restored_map.len(), 2); + assert_eq!(restored_map.get(&peer1).unwrap().score, Score::new(100).unwrap()); + assert_eq!(restored_map.get(&peer2).unwrap().score, Score::new(50).unwrap()); + } +} diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/persistent_db.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/persistent_db.rs new file mode 100644 index 0000000000000..5e233a7473d36 --- /dev/null +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/peer_manager/persistent_db.rs @@ -0,0 +1,1108 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Disk-backed reputation database for collator protocol. + +use crate::{ + validator_side_experimental::{ + common::Score, + peer_manager::{ + backend::Backend, + db::{Db, ScoreEntry}, + persistence::{ + metadata_key, para_list_key, para_reputation_key, PersistenceError, StoredMetadata, + StoredParaList, StoredParaReputations, + }, + ReputationUpdate, + }, + ReputationConfig, + }, + LOG_TARGET, +}; +use async_trait::async_trait; +use codec::{Decode, Encode}; +use futures::{channel::oneshot, Future}; +use polkadot_node_network_protocol::PeerId; +use polkadot_node_subsystem_util::database::{DBTransaction, Database}; +use polkadot_primitives::{BlockNumber, Id as ParaId}; +use std::{ + collections::{BTreeMap, BTreeSet, HashMap}, + pin::Pin, + sync::Arc, +}; +use tokio::sync::mpsc; + +/// Describes the context of a persistence operation, used for logging +/// by the background writer after a disk write completes. +#[derive(Debug)] +pub enum LogInfo { + /// Periodic timer-triggered persistence. Fields are computed internally + /// by `send_persist_request` before sending to the background writer. + Periodic { + total_entries: usize, + para_count: usize, + dirty_para_count: usize, + last_finalized: Option, + }, + /// Immediate persistence after pruning unregistered paras. + Pruned { pruned_count: usize, remaining_count: usize, registered_count: usize }, + /// Immediate persistence after a reputation slash (security-critical). + Slash { para_id: ParaId, peer_id: PeerId, value: Score }, +} + +impl LogInfo { + fn log(&self) { + match self { + LogInfo::Periodic { total_entries, para_count, dirty_para_count, last_finalized } => { + gum::debug!( + target: LOG_TARGET, + total_peer_entries = total_entries, + para_count, + dirty_para_count, + ?last_finalized, + "Periodic persistence completed: reputation DB written to disk" + ); + }, + LogInfo::Pruned { pruned_count, remaining_count, registered_count } => { + gum::debug!( + target: LOG_TARGET, + pruned_para_count = pruned_count, + remaining_para_count = remaining_count, + registered_para_count = registered_count, + "Prune paras persisted to disk immediately" + ); + }, + LogInfo::Slash { para_id, peer_id, value } => { + gum::debug!( + target: LOG_TARGET, + ?para_id, + ?peer_id, + slash_value = ?value, + "Slash persisted to disk immediately" + ); + }, + } + } +} + +/// Request sent to the background writer task +struct PersistenceRequest { + updates: Vec<(ParaId, Option)>, + metadata: StoredMetadata, + para_list: StoredParaList, + log_info: LogInfo, + completion_tx: Option>, +} + +pub type WriterFuture = Pin + Send + 'static>>; + +/// Persistent database implementation for collator reputation. +/// +/// This wraps the in-memory `Db` and adds disk persistence capability. +/// +/// **Persistence Policy:** +/// - All operations (bumps, decays, queries) happen in-memory only +/// - Disk writes happen: +/// 1. On slash operations (immediate, for security) +/// 2. When `persist()` is called explicitly by the main loop (periodic timer) +/// 3. On paras pruning (immediate) +/// +/// - Only modified paras are persisted during periodic persistence +/// - Paras are marked dirty when `process_bumps` modifies their reputation (bumps/decays) +/// +/// The main loop is responsible for calling `persist()` periodically (currently, every 10 minutes). +pub struct PersistentDb { + /// In-memory database (does all the actual logic). + inner: Db, + /// Disk database handle. + disk_db: Arc, + /// Column configuration. + config: ReputationConfig, + /// Paras whose reputation has changed since last persistence. + dirty_paras: BTreeSet, + /// Channel to send updates to the background writer. + background_tx: mpsc::Sender, +} + +impl PersistentDb { + /// Create a new persistent DB, loading existing state from disk. + pub async fn new( + disk_db: Arc, + config: ReputationConfig, + stored_limit_per_para: u16, + ) -> Result<(Self, WriterFuture), PersistenceError> { + // Create empty in-memory DB + let inner = Db::new(stored_limit_per_para).await; + + let (tx, rx) = mpsc::channel(1); + // Load data from disk into the in-memory DB + let mut instance = Self { + inner, + disk_db: disk_db.clone(), + config, + dirty_paras: BTreeSet::new(), + background_tx: tx, + }; + let (para_count, total_entries) = instance.load_from_disk().await?; + + let last_finalized = instance.inner.processed_finalized_block_number().await; + + gum::info!( + target: LOG_TARGET, + ?last_finalized, + para_count, + total_peer_entries = total_entries, + "Reputation DB initialized" + ); + + let task = Box::pin(Self::run_background_writer(disk_db, config, rx)); + + Ok((instance, task)) + } + + async fn run_background_writer( + disk_db: Arc, + config: ReputationConfig, + mut rx: mpsc::Receiver, + ) { + while let Some(req) = rx.recv().await { + let PersistenceRequest { updates, metadata, para_list, log_info, completion_tx } = req; + + let mut db_transaction = DBTransaction::new(); + + // Write metadata + db_transaction.put_vec(config.col_reputation_data, metadata_key(), metadata.encode()); + + // Write para list + db_transaction.put_vec(config.col_reputation_data, para_list_key(), para_list.encode()); + + // Write updates + for (para_id, maybe_data) in updates { + let key = para_reputation_key(para_id); + match maybe_data { + Some(stored_para_rep) => db_transaction.put( + config.col_reputation_data, + &key, + &stored_para_rep.encode(), + ), + None => db_transaction.delete(config.col_reputation_data, &key), + } + } + + // Commit transaction to disk + match disk_db.write(db_transaction) { + Ok(_) => { + log_info.log(); + }, + Err(e) => { + gum::error!( + target: LOG_TARGET, + error = ?e, + "Background persistence write failed" + ); + }, + } + + // Signal completion if requested (used by graceful shutdown) + if let Some(tx) = completion_tx { + let _ = tx.send(()); + } + } + gum::debug!(target: LOG_TARGET, "Background reputation writer shutting down"); + } + + /// Load all data from disk into the in-memory DB. + /// Returns (para_count, total_entries) for logging purposes. + async fn load_from_disk(&mut self) -> Result<(usize, usize), PersistenceError> { + gum::trace!( + target: LOG_TARGET, + "Starting to load reputation data from disk" + ); + + // Load metadata + if let Some(meta) = self.load_metadata()? { + self.inner.set_last_finalized(meta.last_finalized); + gum::debug!( + target: LOG_TARGET, + last_finalized = ?meta.last_finalized, + "Loaded reputation DB metadata from disk" + ); + } else { + gum::debug!( + target: LOG_TARGET, + "No existing reputation metadata found on disk (fresh start)" + ); + } + + // Load para list + let para_list = self.load_para_list()?; + + let mut total_entries = 0; + let mut para_count = 0; + for para_id in para_list { + let key = para_reputation_key(para_id); + if let Some(value) = self.disk_db.get(self.config.col_reputation_data, &key)? { + let stored: StoredParaReputations = + Decode::decode(&mut &value[..]).map_err(PersistenceError::Codec)?; + let entries: HashMap = stored.into(); + let entry_count = entries.len(); + total_entries += entry_count; + para_count += 1; + gum::trace!( + target: LOG_TARGET, + ?para_id, + peer_count = entry_count, + "Loaded reputation entries for para from disk" + ); + self.inner.set_para_reputations(para_id, entries); + } + } + + Ok((para_count, total_entries)) + } + + /// Load metadata from disk. + fn load_metadata(&self) -> Result, PersistenceError> { + match self.disk_db.get(self.config.col_reputation_data, metadata_key())? { + None => Ok(None), + Some(raw) => { + StoredMetadata::decode(&mut &raw[..]).map(Some).map_err(PersistenceError::Codec) + }, + } + } + + /// Load the list of stored para IDs from disk. + fn load_para_list(&self) -> Result, PersistenceError> { + match self.disk_db.get(self.config.col_reputation_data, para_list_key())? { + None => Ok(Vec::new()), + Some(raw) => { + let list = + StoredParaList::decode(&mut &raw[..]).map_err(PersistenceError::Codec)?; + Ok(list.paras) + }, + } + } + + /// Internal: snapshot dirty data and send to the background writer. + fn send_persist_request( + &mut self, + log_info: Option, + completion_tx: Option>, + ) { + let mut updates = Vec::new(); + let is_periodic = log_info.is_none(); + let mut stats_total_entries = 0; + + let paras_to_snapshot: Vec = self.dirty_paras.iter().cloned().collect(); + + for para_id in paras_to_snapshot { + let peer_scores = self.inner.get_para_reputations(¶_id); + if peer_scores.is_empty() { + updates.push((para_id, None)); + } else { + let stored: StoredParaReputations = peer_scores.into(); + if is_periodic { + stats_total_entries += stored.entries.len(); + } + + updates.push((para_id, Some(stored))); + } + } + + // Get the finalized block from the DB + let last_finalized = self.inner.get_last_finalized(); + let final_log_info = match log_info { + None => LogInfo::Periodic { + total_entries: stats_total_entries, + para_count: self.inner.all_reputations().count(), + dirty_para_count: self.dirty_paras.len(), + last_finalized, + }, + Some(other) => other, + }; + + let request = PersistenceRequest { + updates, + metadata: StoredMetadata { last_finalized: self.inner.get_last_finalized() }, + para_list: StoredParaList { + paras: self.inner.all_reputations().map(|(para_id, _)| *para_id).collect(), + }, + log_info: final_log_info, + completion_tx, + }; + + match self.background_tx.try_send(request) { + Ok(_) => { + // On success, we assume the data is handed off. + self.dirty_paras.clear(); + }, + Err(mpsc::error::TrySendError::Full(_)) => { + gum::warn!( + target: LOG_TARGET, + "Reputation persistence channel full. Modifications kept in memory for next retry." + ); + // We do NOT clear dirty_paras. + }, + Err(mpsc::error::TrySendError::Closed(_)) => { + gum::error!( + target: LOG_TARGET, + "Reputation persistence channel closed unexpectedly." + ); + }, + } + } + + /// Queue a snapshot of the dirty data to the background writer (fire-and-forget). + pub fn persist_async(&mut self, log_info: Option) { + self.send_persist_request(log_info, None); + } + + /// Queue a snapshot and return a receiver that completes when the write finishes. + /// Used for graceful shutdown to ensure data is flushed before exit. + pub fn persist_and_wait(&mut self) -> oneshot::Receiver<()> { + let (tx, rx) = oneshot::channel(); + self.send_persist_request(None, Some(tx)); + rx + } +} + +#[async_trait] +impl Backend for PersistentDb { + async fn processed_finalized_block_number(&self) -> Option { + self.inner.processed_finalized_block_number().await + } + + async fn query(&self, peer_id: &PeerId, para_id: &ParaId) -> Option { + self.inner.query(peer_id, para_id).await + } + + async fn slash(&mut self, peer_id: &PeerId, para_id: &ParaId, value: Score) { + // Delegate to inner DB + self.inner.slash(peer_id, para_id, value).await; + + self.dirty_paras.insert(*para_id); + + // Immediately persist to disk after slash (security-critical) + self.persist_async(Some(LogInfo::Slash { para_id: *para_id, peer_id: *peer_id, value })); + } + + async fn prune_paras(&mut self, registered_paras: BTreeSet) { + // Collects all paras that have reputations and are still registered + let paras_to_prune: Vec = self + .inner + .all_reputations() + .filter(|(para_id, _)| !registered_paras.contains(para_id)) + .map(|(para_id, _)| *para_id) + .collect(); + + let pruned_count = paras_to_prune.len(); + + for para_id in ¶s_to_prune { + self.dirty_paras.insert(*para_id); + } + // Prune from in-memory state + self.inner.prune_paras(registered_paras.clone()).await; + let paras_after = self.inner.all_reputations().count(); + + self.persist_async(Some(LogInfo::Pruned { + pruned_count, + remaining_count: paras_after, + registered_count: registered_paras.len(), + })); + } + + async fn process_bumps( + &mut self, + leaf_number: BlockNumber, + bumps: BTreeMap>, + decay_value: Option, + ) -> Vec { + // Mark all paras in bumps as dirty. + for para_id in bumps.keys() { + self.dirty_paras.insert(*para_id); + } + + // Delegate to inner DB - NO PERSISTENCE HERE + // Persistence happens via the periodic timer calling persist() + self.inner.process_bumps(leaf_number, bumps, decay_value).await + } + + async fn max_scores_for_paras(&self, paras: BTreeSet) -> HashMap { + self.inner.max_scores_for_paras(paras).await + } +} + +#[cfg(test)] +mod tests { + use super::*; + use polkadot_node_subsystem_util::database::kvdb_impl::DbAdapter; + use std::time::Duration; + use tokio::time::sleep; + + const DATA_COL: u32 = 0; + const NUM_COLUMNS: u32 = 1; + + fn make_db() -> Arc { + let db = kvdb_memorydb::create(NUM_COLUMNS); + let db = DbAdapter::new(db, &[]); + Arc::new(db) + } + + fn make_config() -> ReputationConfig { + ReputationConfig { col_reputation_data: DATA_COL, persist_interval: None } + } + + /// Returns the DB handle and the JoinHandle for the background task. + async fn create_and_spawn_db( + disk_db: Arc, + config: ReputationConfig, + ) -> (PersistentDb, tokio::task::JoinHandle<()>) { + let (db, task) = + PersistentDb::new(disk_db, config, 100).await.expect("failed to create db"); + let handle = tokio::spawn(task); + (db, handle) + } + + #[tokio::test] + async fn load_from_empty_disk_fresh_start() { + // Test that PersistentDb can be created from an empty database (fresh start) + let disk_db = make_db(); + let config = make_config(); + + let (db, _) = PersistentDb::new(disk_db, config, 100).await.expect("should create db"); + + // Fresh start should have no finalized block + assert_eq!(db.processed_finalized_block_number().await, None); + + assert_eq!(db.inner.len(), 0); + } + + #[tokio::test] + async fn load_from_disk_with_existing_data() { + // Test that PersistentDb correctly loads existing data from disk + let disk_db = make_db(); + let config = make_config(); + + let peer1 = PeerId::random(); + let peer2 = PeerId::random(); + let para_id_100 = ParaId::from(100); + let para_id_200 = ParaId::from(200); + + // First, create a DB, add some data, and persist it + { + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + // Process some bumps to add reputation data + let bumps = [ + (para_id_100, [(peer1, Score::new(50).unwrap())].into_iter().collect()), + (para_id_200, [(peer2, Score::new(75).unwrap())].into_iter().collect()), + ] + .into_iter() + .collect(); + + db.process_bumps(10, bumps, None).await; + + // Persist to disk + let _ = db.persist_and_wait().await; + handle.abort(); + } + + // Now create a new DB instance and verify data was loaded + { + let (db, _) = PersistentDb::new(disk_db, config, 100).await.expect("should create db"); + + // Verify data was loaded correctly + assert_eq!(db.processed_finalized_block_number().await, Some(10)); + assert_eq!(db.query(&peer1, ¶_id_100).await, Some(Score::new(50).unwrap())); + assert_eq!(db.query(&peer2, ¶_id_200).await, Some(Score::new(75).unwrap())); + // Non-existent queries should return None + assert_eq!(db.query(&peer1, ¶_id_200).await, None); + assert_eq!(db.query(&peer2, ¶_id_100).await, None); + } + } + + #[tokio::test] + async fn slash_persists_immediately() { + // Test that slash operations persist to disk immediately + let disk_db = make_db(); + let config = make_config(); + + let peer = PeerId::random(); + let para_id = ParaId::from(100); + + // Create DB and add some reputation + { + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + let bumps = [(para_id, [(peer, Score::new(100).unwrap())].into_iter().collect())] + .into_iter() + .collect(); + db.process_bumps(10, bumps, None).await; + + // Persist initial state + let _ = db.persist_and_wait().await; + handle.abort(); + } + + { + // 2. Slash (Async) + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + db.slash(&peer, ¶_id, Score::new(30).unwrap()).await; + + sleep(Duration::from_millis(50)).await; + handle.abort(); + } + + // 3. Verify + let (db, _) = PersistentDb::new(disk_db, config, 100).await.expect("reload"); + assert_eq!(db.query(&peer, ¶_id).await, Some(Score::new(70).unwrap())); + } + + #[tokio::test] + async fn slash_that_removes_entry_persists_immediately() { + // Test that a slash that reduces score to zero (removing entry) persists immediately + let disk_db = make_db(); + let config = make_config(); + + let peer = PeerId::random(); + let para_id = ParaId::from(100); + + // Create DB and add some reputation + { + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + let bumps = [(para_id, [(peer, Score::new(50).unwrap())].into_iter().collect())] + .into_iter() + .collect(); + db.process_bumps(10, bumps, None).await; + let _ = db.persist_and_wait().await; + handle.abort(); + } + + // Slash more than the current score - should remove entry + { + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + db.slash(&peer, ¶_id, Score::new(100).unwrap()).await; + + sleep(Duration::from_millis(50)).await; + handle.abort(); + } + + // Create new DB instance and verify entry was removed + { + let (db, _) = PersistentDb::new(disk_db, config, 100).await.expect("should create db"); + + // Entry should be gone + assert_eq!(db.query(&peer, ¶_id).await, None); + } + } + + #[tokio::test] + async fn prune_paras_persists_immediately() { + // Test that prune_paras persists immediately + let disk_db = make_db(); + let config = make_config(); + + let peer1 = PeerId::random(); + let peer2 = PeerId::random(); + let para_id_100 = ParaId::from(100); + let para_id_200 = ParaId::from(200); + let para_id_300 = ParaId::from(300); + + // Create DB and add reputation for multiple paras + { + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + let bumps = [ + (para_id_100, [(peer1, Score::new(50).unwrap())].into_iter().collect()), + (para_id_200, [(peer2, Score::new(75).unwrap())].into_iter().collect()), + (para_id_300, [(peer1, Score::new(25).unwrap())].into_iter().collect()), + ] + .into_iter() + .collect(); + db.process_bumps(10, bumps, None).await; + let _ = db.persist_and_wait().await; + handle.abort(); + } + + // Prune - only keep para 200 registered + { + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + let registered_paras = [para_id_200].into_iter().collect(); + + db.prune_paras(registered_paras).await; + sleep(Duration::from_millis(50)).await; + handle.abort(); + } + + // Create new DB instance and verify pruning was persisted + { + let (db, _) = PersistentDb::new(disk_db, config, 100).await.expect("should create db"); + + // Only para 200 should remain + assert_eq!(db.query(&peer1, ¶_id_100).await, None); + assert_eq!(db.query(&peer2, ¶_id_200).await, Some(Score::new(75).unwrap())); + assert_eq!(db.query(&peer1, ¶_id_300).await, None); + } + } + + #[tokio::test] + async fn periodic_persist_writes_all_data() { + // Test that persist() correctly writes all in-memory data + let disk_db = make_db(); + let config = make_config(); + + let peer1 = PeerId::random(); + let peer2 = PeerId::random(); + let para_id_100 = ParaId::from(100); + let para_id_200 = ParaId::from(200); + + // Create DB, add data, and persist via background writer + { + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + // Add reputation via bumps (these don't trigger immediate persistence) + let bumps = [ + (para_id_100, [(peer1, Score::new(50).unwrap())].into_iter().collect()), + (para_id_200, [(peer2, Score::new(75).unwrap())].into_iter().collect()), + ] + .into_iter() + .collect(); + db.process_bumps(15, bumps, None).await; + + // Now call periodic persist + let _ = db.persist_and_wait().await; + handle.abort(); + } + + // Reload and verify + { + let (db, _) = PersistentDb::new(disk_db, config, 100).await.expect("should create db"); + + assert_eq!(db.processed_finalized_block_number().await, Some(15)); + assert_eq!(db.query(&peer1, ¶_id_100).await, Some(Score::new(50).unwrap())); + assert_eq!(db.query(&peer2, ¶_id_200).await, Some(Score::new(75).unwrap())); + } + } + + #[tokio::test] + async fn data_survives_simulated_restart() { + // Test full restart scenario: create, populate, persist, drop, reload + let disk_db = make_db(); + let config = make_config(); + + let peer1 = PeerId::random(); + let peer2 = PeerId::random(); + let peer3 = PeerId::random(); + let para_id_100 = ParaId::from(100); + let para_id_200 = ParaId::from(200); + + // Session 1: Create and populate + { + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + let bumps = [ + ( + para_id_100, + [(peer1, Score::new(100).unwrap()), (peer2, Score::new(50).unwrap())] + .into_iter() + .collect(), + ), + (para_id_200, [(peer3, Score::new(200).unwrap())].into_iter().collect()), + ] + .into_iter() + .collect(); + db.process_bumps(20, bumps, None).await; + + // Slash peer2 (also persists all dirty paras via background writer) + db.slash(&peer2, ¶_id_100, Score::new(25).unwrap()).await; + + // Wait for background writer to finish + sleep(Duration::from_millis(50)).await; + handle.abort(); + } + + // Session 2: "Restart" - create new instance + { + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + // Verify all data survived + assert_eq!(db.processed_finalized_block_number().await, Some(20)); + assert_eq!(db.query(&peer1, ¶_id_100).await, Some(Score::new(100).unwrap())); + assert_eq!(db.query(&peer2, ¶_id_100).await, Some(Score::new(25).unwrap())); + assert_eq!(db.query(&peer3, ¶_id_200).await, Some(Score::new(200).unwrap())); + + // Continue with more operations + let bumps = [(para_id_100, [(peer1, Score::new(50).unwrap())].into_iter().collect())] + .into_iter() + .collect(); + db.process_bumps(25, bumps, None).await; + let _ = db.persist_and_wait().await; + handle.abort(); + } + + // Session 3: Verify continued state + { + let (db, _) = PersistentDb::new(disk_db, config, 100).await.expect("should create db"); + + assert_eq!(db.processed_finalized_block_number().await, Some(25)); + // peer1 should now have 100 + 50 = 150 + assert_eq!(db.query(&peer1, ¶_id_100).await, Some(Score::new(150).unwrap())); + } + } + + #[tokio::test] + async fn roundtrip_serialization_correctness() { + // Test that data roundtrips correctly through serialization + let disk_db = make_db(); + let config = make_config(); + + // Create peers with specific scores to verify exact values + let peers: Vec<_> = (0..10).map(|_| PeerId::random()).collect(); + let para_id = ParaId::from(42); + + let original_scores: HashMap = peers + .iter() + .enumerate() + .map(|(i, peer)| (*peer, Score::new((i as u16 + 1) * 100).unwrap())) + .collect(); + + // Store data + { + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + let bumps = + [(para_id, original_scores.iter().map(|(peer, score)| (*peer, *score)).collect())] + .into_iter() + .collect(); + db.process_bumps(100, bumps, None).await; + let _ = db.persist_and_wait().await; + handle.abort(); + } + + // Reload and verify exact values + { + let (db, _) = PersistentDb::new(disk_db, config, 100).await.expect("should create db"); + + for (peer, expected_score) in &original_scores { + let actual_score = db.query(peer, ¶_id).await; + assert_eq!( + actual_score, + Some(*expected_score), + "Score mismatch for peer after roundtrip" + ); + } + } + } + + #[tokio::test] + async fn bumps_without_persist_not_saved() { + // Test that bumps without explicit persist are NOT saved to disk + // (they only persist via periodic timer or slash) + let disk_db = make_db(); + let config = make_config(); + + let peer = PeerId::random(); + let para_id = ParaId::from(100); + + // Create DB and add bumps, but DON'T persist + { + let (mut db, _) = + PersistentDb::new(disk_db.clone(), config, 100).await.expect("should create db"); + + let bumps = [(para_id, [(peer, Score::new(100).unwrap())].into_iter().collect())] + .into_iter() + .collect(); + db.process_bumps(10, bumps, None).await; + + // Verify in-memory state + assert_eq!(db.query(&peer, ¶_id).await, Some(Score::new(100).unwrap())); + + // Don't call persist - just drop + } + + // Create new instance - data should NOT be there + { + let (db, _) = PersistentDb::new(disk_db, config, 100).await.expect("should create db"); + + // Data was never persisted + assert_eq!(db.query(&peer, ¶_id).await, None); + assert_eq!(db.processed_finalized_block_number().await, None); + } + } + + #[tokio::test] + async fn multiple_paras_multiple_peers() { + // Test handling of multiple paras with multiple peers each + let disk_db = make_db(); + let config = make_config(); + + let peers: Vec<_> = (0..5).map(|_| PeerId::random()).collect(); + let paras: Vec<_> = (100..105).map(ParaId::from).collect(); + + // Create complex state + { + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + let bumps: BTreeMap> = paras + .iter() + .enumerate() + .map(|(para_idx, para_id)| { + let peer_scores: HashMap = peers + .iter() + .enumerate() + .map(|(peer_idx, peer)| { + let score = ((para_idx + 1) * 10 + peer_idx) as u16; + (*peer, Score::new(score).unwrap()) + }) + .collect(); + (*para_id, peer_scores) + }) + .collect(); + + db.process_bumps(50, bumps, None).await; + let _ = db.persist_and_wait().await; + handle.abort(); + } + + // Verify all data + { + let (db, _) = PersistentDb::new(disk_db, config, 100).await.expect("should create db"); + + for (para_idx, para_id) in paras.iter().enumerate() { + for (peer_idx, peer) in peers.iter().enumerate() { + let expected_score = ((para_idx + 1) * 10 + peer_idx) as u16; + assert_eq!( + db.query(peer, para_id).await, + Some(Score::new(expected_score).unwrap()), + "Mismatch for para {} peer {}", + para_idx, + peer_idx + ); + } + } + } + } + + #[tokio::test] + async fn dirty_tracking_only_persists_modified_paras() { + let disk_db = make_db(); + let config = make_config(); + + let peer1 = PeerId::random(); + let para_id_100 = ParaId::from(100); + let para_id_200 = ParaId::from(200); + + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + assert!(db.dirty_paras.is_empty(), "Fresh DB should have no dirty paras"); + + let bumps_para_100 = + [(para_id_100, [(peer1, Score::new(50).unwrap())].into_iter().collect())] + .into_iter() + .collect(); + db.process_bumps(10, bumps_para_100, None).await; + + assert!(db.dirty_paras.contains(¶_id_100), "Para 100 should be dirty after bump"); + assert!(!db.dirty_paras.contains(¶_id_200), "Para 200 should NOT be dirty"); + assert_eq!(db.dirty_paras.len(), 1, "Only one para should be dirty"); + + let _ = db.persist_and_wait().await; + + assert!(db.dirty_paras.is_empty(), "Dirty paras should be cleared after persist"); + + handle.abort(); + drop(db); + + let (reloaded_db, _) = + PersistentDb::new(disk_db, config, 100).await.expect("should reload db"); + + assert_eq!( + reloaded_db.query(&peer1, ¶_id_100).await, + Some(Score::new(50).unwrap()), + "Para 100 data should be persisted correctly" + ); + + assert_eq!(reloaded_db.inner.len(), 1); + + assert_eq!( + reloaded_db.processed_finalized_block_number().await, + Some(10), + "Last finalized block should be 10" + ); + } + + #[tokio::test] + async fn dirty_tracking_cleared_after_prune() { + let disk_db = make_db(); + let config = make_config(); + + let peer1 = PeerId::random(); + let para_id_100 = ParaId::from(100); + let para_id_200 = ParaId::from(200); + + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + let bumps: BTreeMap> = [ + (para_id_100, [(peer1, Score::new(50).unwrap())].into_iter().collect()), + (para_id_200, [(peer1, Score::new(75).unwrap())].into_iter().collect()), + ] + .into_iter() + .collect(); + db.process_bumps(10, bumps, None).await; + + assert_eq!(db.dirty_paras.len(), 2); + assert!(db.dirty_paras.contains(¶_id_100)); + assert!(db.dirty_paras.contains(¶_id_200)); + + let registered = [para_id_100].into_iter().collect(); + db.prune_paras(registered).await; + + assert!( + db.dirty_paras.is_empty(), + "Dirty paras should be cleared after prune_paras persists" + ); + + assert_eq!(db.query(&peer1, ¶_id_100).await, Some(Score::new(50).unwrap())); + assert_eq!(db.query(&peer1, ¶_id_200).await, None); + + sleep(Duration::from_millis(50)).await; + handle.abort(); + drop(db); + let (reloaded, _) = + PersistentDb::new(disk_db, config, 100).await.expect("should reload db"); + + assert_eq!(reloaded.query(&peer1, ¶_id_100).await, Some(Score::new(50).unwrap())); + assert_eq!(reloaded.query(&peer1, ¶_id_200).await, None); + } + + #[tokio::test] + async fn dirty_tracking_cleared_after_slash() { + let disk_db = make_db(); + let config = make_config(); + + let peer1 = PeerId::random(); + let peer2 = PeerId::random(); + let para_id_100 = ParaId::from(100); + let para_id_200 = ParaId::from(200); + + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + let bumps: BTreeMap> = [ + (para_id_100, [(peer1, Score::new(50).unwrap())].into_iter().collect()), + (para_id_200, [(peer2, Score::new(75).unwrap())].into_iter().collect()), + ] + .into_iter() + .collect(); + db.process_bumps(10, bumps, None).await; + + assert!(db.dirty_paras.contains(¶_id_100)); + assert!(db.dirty_paras.contains(¶_id_200)); + assert_eq!(db.dirty_paras.len(), 2); + + db.slash(&peer1, ¶_id_100, Score::new(30).unwrap()).await; + + assert!(!db.dirty_paras.contains(¶_id_100)); + assert!(!db.dirty_paras.contains(¶_id_200)); + assert_eq!(db.dirty_paras.len(), 0); + + assert_eq!(db.query(&peer1, ¶_id_100).await, Some(Score::new(20).unwrap())); + assert_eq!(db.query(&peer2, ¶_id_200).await, Some(Score::new(75).unwrap())); + + sleep(Duration::from_millis(50)).await; + handle.abort(); + drop(db); + let (reloaded, _) = + PersistentDb::new(disk_db, config, 100).await.expect("should reload db"); + + assert_eq!(reloaded.query(&peer1, ¶_id_100).await, Some(Score::new(20).unwrap())); + assert_eq!(reloaded.query(&peer2, ¶_id_200).await, Some(Score::new(75).unwrap())); + } + + #[tokio::test] + async fn crash_before_persist_loses_bumps_but_not_slashes() { + let disk_db = make_db(); + let config = make_config(); + let peer1 = PeerId::random(); + let para_id_100 = ParaId::from(100); + + let (mut db, handle) = create_and_spawn_db(disk_db.clone(), config).await; + + // 1. Initial bump + Async Persist + let bumps1 = [(para_id_100, [(peer1, Score::new(50).unwrap())].into_iter().collect())] + .into_iter() + .collect(); + db.process_bumps(10, bumps1, None).await; + db.persist_async(None); + sleep(Duration::from_millis(50)).await; + + // 2. Slash (Persists immediately) + db.slash(&peer1, ¶_id_100, Score::new(20).unwrap()).await; + sleep(Duration::from_millis(50)).await; + + // 3. New Bump (Memory only) + let bumps2 = [(para_id_100, [(peer1, Score::new(15).unwrap())].into_iter().collect())] + .into_iter() + .collect(); + db.process_bumps(20, bumps2, None).await; + + // "Crash" (Abort handle, drop DB) + handle.abort(); + drop(db); + + // 4. Verify Disk State + let (db, _) = PersistentDb::new(disk_db, config, 100).await.expect("reload"); + // Should have: 50 (initial) - 20 (slash) = 30. The +15 bump was lost. + assert_eq!(db.query(&peer1, ¶_id_100).await, Some(Score::new(30).unwrap())); + } + + #[tokio::test] + async fn corrupted_metadata_returns_error() { + // Test that corrupted metadata in the database returns a codec error + let disk_db = make_db(); + let config = make_config(); + + // Write some corrupted metadata directly to disk + let mut tx = DBTransaction::new(); + tx.put_vec(config.col_reputation_data, metadata_key(), vec![0xff, 0xff, 0xff]); + disk_db.write(tx).expect("should write corrupted data"); + + // Attempt to create PersistentDb - should fail with codec error + let err = PersistentDb::new(disk_db, config, 100).await.err().unwrap(); + assert!(matches!(err, PersistenceError::Codec(_))); + } + + #[tokio::test] + async fn corrupted_para_reputation_returns_error() { + // Test that corrupted para reputation data returns a codec error + let disk_db = make_db(); + let config = make_config(); + let para_id = ParaId::from(100); + + // Write a valid para list that references the para, but corrupted para data + let mut tx = DBTransaction::new(); + let para_list = StoredParaList { paras: vec![para_id] }; + tx.put_vec(config.col_reputation_data, para_list_key(), para_list.encode()); + let key = para_reputation_key(para_id); + tx.put_vec(config.col_reputation_data, &key, vec![0xde, 0xad, 0xbe, 0xef]); + disk_db.write(tx).expect("should write corrupted data"); + + // Attempt to create PersistentDb - should fail with codec error + let err = PersistentDb::new(disk_db, config, 100).await.err().unwrap(); + assert!(matches!(err, PersistenceError::Codec(_))); + } +} diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/state.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/state.rs index 1e6ec53767845..852e0efa1cf02 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side_experimental/state.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/state.rs @@ -14,19 +14,622 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -use crate::validator_side_experimental::{peer_manager::Backend, Metrics, PeerManager}; -use sp_keystore::KeystorePtr; +use crate::{ + validator_side::notify_collation_seconded, + validator_side_experimental::{ + collation_manager::CollationManager, + common::{ + Advertisement, CanSecond, CollationFetchResponse, PeerInfo, PeerState, + ProspectiveCandidate, TryAcceptOutcome, INVALID_COLLATION_SLASH, + }, + error::{Error, FatalResult}, + peer_manager::{Backend, PersistentDb}, + Metrics, PeerManager, + }, + LOG_TARGET, +}; +use fatality::Split; +use futures::stream::FusedStream; +use polkadot_node_network_protocol::{peer_set::CollationVersion, OurView, PeerId}; +use polkadot_node_primitives::{SignedFullStatement, Statement}; +use polkadot_node_subsystem::{ + messages::{CandidateBackingMessage, IfDisconnected, NetworkBridgeTxMessage}, + CollatorProtocolSenderTrait, +}; +use polkadot_node_subsystem_util::{request_session_index_for_child, runtime::recv_runtime}; +use polkadot_primitives::{ + BlockNumber, CandidateReceiptV2 as CandidateReceipt, Hash, Id as ParaId, +}; +use std::time::Duration; /// All state relevant for the validator side of the protocol lives here. pub struct State { peer_manager: PeerManager, - keystore: KeystorePtr, + collation_manager: CollationManager, metrics: Metrics, } impl State { /// Instantiate a new subsystem `State`. - pub fn new(peer_manager: PeerManager, keystore: KeystorePtr, metrics: Metrics) -> Self { - Self { peer_manager, keystore, metrics } + pub fn new( + peer_manager: PeerManager, + collation_manager: CollationManager, + metrics: Metrics, + ) -> Self { + Self { peer_manager, collation_manager, metrics } + } + + /// Access the metrics. + pub fn metrics(&self) -> &Metrics { + &self.metrics + } + + /// Handle a new peer connection. + pub async fn handle_peer_connected( + &mut self, + sender: &mut Sender, + peer_id: PeerId, + version: CollationVersion, + ) { + let outcome = self + .peer_manager + .try_accept_connection( + sender, + peer_id, + PeerInfo { version, state: PeerState::Connected }, + ) + .await; + match outcome { + TryAcceptOutcome::Added => { + gum::trace!( + target: LOG_TARGET, + ?peer_id, + ?version, + "Peer connected", + ); + }, + TryAcceptOutcome::Replaced(other_peers) => { + gum::trace!( + target: LOG_TARGET, + ?peer_id, + ?version, + ?other_peers, + "Peer connected and replaced the connection slots of other peers", + ); + self.collation_manager.remove_peers(other_peers.iter()); + }, + TryAcceptOutcome::Rejected => { + gum::debug!( + target: LOG_TARGET, + ?peer_id, + ?version, + "Peer connection was rejected. Going to disconnect", + ); + }, + } + + self.metrics.note_collator_peer_count(self.peer_manager.connected_peer_count()); + } + + /// Handle a peer disconnection. + pub async fn handle_peer_disconnected(&mut self, peer_id: PeerId) { + gum::trace!( + target: LOG_TARGET, + ?peer_id, + "Peer disconnected", + ); + + self.peer_manager.disconnected(&peer_id); + + self.collation_manager.remove_peer(&peer_id); + + self.metrics.note_collator_peer_count(self.peer_manager.connected_peer_count()); + } + + /// Handle a peer's declaration message. + pub async fn handle_declare( + &mut self, + sender: &mut Sender, + peer_id: PeerId, + para_id: ParaId, + ) { + if !self.peer_manager.declared(sender, peer_id, para_id).await { + self.collation_manager.remove_peer(&peer_id); + } + } + + /// Handle our view update. + pub async fn handle_our_view_change( + &mut self, + sender: &mut Sender, + new_view: OurView, + ) -> FatalResult<()> { + gum::trace!( + target: LOG_TARGET, + ?new_view, + "Handling our view change", + ); + let old_assignments = self.collation_manager.assignments(); + + self.collation_manager.update_view(sender, new_view).await?; + + let new_assignments = self.collation_manager.assignments(); + gum::trace!( + target: LOG_TARGET, + ?old_assignments, + ?new_assignments, + "Old assignments vs new assignments", + ); + + let maybe_disconnected_peers = + self.peer_manager.scheduled_paras_update(sender, new_assignments).await; + + if !maybe_disconnected_peers.is_empty() { + gum::trace!( + target: LOG_TARGET, + ?maybe_disconnected_peers, + "Disconnecting peers due to our view change", + ); + } + + self.collation_manager.remove_peers(maybe_disconnected_peers.iter()); + + Ok(()) + } + + /// Handle a finalized block notification. + pub async fn handle_finalized_block( + &mut self, + sender: &mut Sender, + hash: Hash, + number: BlockNumber, + ) -> FatalResult<()> { + gum::trace!( + target: LOG_TARGET, + ?hash, + number, + "Processing new block finality notification", + ); + + // Process reputation bumps + if let Err(err) = self + .peer_manager + .update_reputations_on_new_finalized_block(sender, (hash, number)) + .await + { + err.split()?.log(); + } + + // Process potential changes in the registered paras set. + let session_index = match recv_runtime(request_session_index_for_child(hash, sender).await) + .await + .map_err(Error::Runtime) + { + Ok(session_index) => session_index, + Err(err) => { + err.split()?.log(); + return Ok(()); + }, + }; + + self.peer_manager.prune_registered_paras(sender, session_index, hash).await; + + Ok(()) + } + + /// Handle a new advertisement. + pub async fn handle_advertisement( + &mut self, + sender: &mut Sender, + peer_id: PeerId, + relay_parent: Hash, + maybe_prospective_candidate: Option, + ) { + gum::debug!( + target: LOG_TARGET, + ?relay_parent, + ?maybe_prospective_candidate, + ?peer_id, + "Received advertisement", + ); + + let Some(PeerInfo { state, .. }) = self.peer_manager.peer_info(&peer_id) else { + gum::warn!( + target: LOG_TARGET, + ?relay_parent, + ?peer_id, + ?maybe_prospective_candidate, + "Received an advertisement from an unconnected peer" + ); + return; + }; + + // Advertised without being declared. Not a big waste of our time, so ignore it. + let PeerState::Collating(para_id) = state else { + gum::debug!( + target: LOG_TARGET, + ?relay_parent, + ?maybe_prospective_candidate, + ?peer_id, + "Received advertisement for undeclared peer", + ); + return; + }; + + // We have a result here, but it's not worth affecting reputations because advertisements + // are cheap. + // Note: `try_accept_advertisement` involves two other subsystems, so it's not super cheap, + // actually, but cheap enough. + match self + .collation_manager + .try_accept_advertisement( + sender, + Advertisement { + peer_id, + para_id: *para_id, + relay_parent, + prospective_candidate: maybe_prospective_candidate, + }, + ) + .await + { + Err(err) => { + gum::debug!( + target: LOG_TARGET, + ?relay_parent, + ?maybe_prospective_candidate, + ?peer_id, + ?para_id, + ?err, + "Advertisement rejected", + ); + }, + Ok(()) => { + gum::debug!( + target: LOG_TARGET, + ?relay_parent, + ?maybe_prospective_candidate, + ?peer_id, + ?para_id, + "Advertisement accepted", + ); + }, + } + } + + pub fn collation_response_stream( + &mut self, + ) -> &mut impl FusedStream { + self.collation_manager.response_stream() + } + + pub async fn handle_fetched_collation( + &mut self, + sender: &mut Sender, + res: CollationFetchResponse, + ) { + let _timer = self.metrics.time_handle_collation_request_result(); + let fetch_result = res.1.is_ok(); + let advertisement = res.0; + + if let Err(err) = &res.1 { + gum::debug!( + target: LOG_TARGET, + ?advertisement, + "Collation fetch attempt failed: {}", + err + ); + } else { + gum::debug!( + target: LOG_TARGET, + ?advertisement, + "Collation fetch attempt succeeded", + ); + } + + let can_second = self.collation_manager.note_fetched(sender, res).await; + + // To be consistent with the old implementation, if the fetch is successful we count the + // request as successful, despite we might not be able to second it. + let collation_request_metrics_result = if fetch_result { Ok(()) } else { Err(()) }; + match can_second { + CanSecond::Yes(candidate_receipt, pov, pvd) => { + sender + .send_message(CandidateBackingMessage::Second( + candidate_receipt.descriptor.relay_parent(), + candidate_receipt, + pvd, + pov, + )) + .await; + + gum::debug!( + target: LOG_TARGET, + ?advertisement, + "Started seconding" + ); + }, + CanSecond::No(maybe_slash, reject_info) => { + gum::debug!( + target: LOG_TARGET, + ?maybe_slash, + ?reject_info, + "Cannot second collation", + ); + + if let Some(slash) = maybe_slash { + self.peer_manager + .slash_reputation(&reject_info.peer_id, &reject_info.para_id, slash) + .await; + } + + self.collation_manager.release_slot( + &reject_info.relay_parent, + reject_info.para_id, + reject_info.maybe_candidate_hash.as_ref(), + reject_info.maybe_output_head_hash, + ); + }, + CanSecond::BlockedOnParent(parent_hash, reject_info) => { + gum::debug!( + target: LOG_TARGET, + ?parent_hash, + ?reject_info, + "Collation blocked on parent, waiting for parent to be validated", + ); + }, + }; + + self.metrics.on_request(collation_request_metrics_result); + } + + pub async fn handle_invalid_collation(&mut self, receipt: CandidateReceipt) { + let relay_parent = receipt.descriptor.relay_parent(); + let candidate_hash = receipt.hash(); + + gum::debug!( + target: LOG_TARGET, + para_id = ?receipt.descriptor.para_id(), + ?relay_parent, + ?candidate_hash, + "Invalid collation", + ); + + self.collation_manager.release_slot( + &relay_parent, + receipt.descriptor.para_id(), + Some(&candidate_hash), + Some(receipt.descriptor.para_head()), + ); + + let Some(peer_id) = self + .collation_manager + .get_fetched_collation_peer_id(&relay_parent, &candidate_hash) + else { + gum::warn!( + target: LOG_TARGET, + para_id = ?receipt.descriptor.para_id(), + ?relay_parent, + ?candidate_hash, + "Could not find the peer id of the invalid collation", + ); + return; + }; + + gum::debug!( + target: LOG_TARGET, + ?relay_parent, + ?candidate_hash, + ?peer_id, + "Invalid collation reported, slashing peer reputation", + ); + + self.peer_manager + .slash_reputation(peer_id, &receipt.descriptor.para_id(), INVALID_COLLATION_SLASH) + .await; + } + + pub async fn handle_seconded_collation( + &mut self, + sender: &mut Sender, + statement: SignedFullStatement, + ) { + let receipt = match statement.payload() { + Statement::Seconded(receipt) => receipt, + Statement::Valid(_) => { + gum::warn!( + target: LOG_TARGET, + ?statement, + "Seconded message received with a `Valid` statement", + ); + return; + }, + }; + + let candidate_hash = receipt.hash(); + let relay_parent = receipt.descriptor.relay_parent(); + let para_id = receipt.descriptor.para_id(); + + gum::debug!( + target: LOG_TARGET, + ?para_id, + ?relay_parent, + ?candidate_hash, + "Collation seconded", + ); + + let (peer_id, unblocked_collations) = self + .collation_manager + .note_seconded( + sender, + &relay_parent, + ¶_id, + &candidate_hash, + receipt.descriptor.para_head(), + ) + .await; + + if let Some((peer_id, PeerInfo { version, .. })) = peer_id + .and_then(|peer_id| self.peer_manager.peer_info(&peer_id).map(|info| (peer_id, info))) + { + gum::debug!( + target: LOG_TARGET, + ?para_id, + ?relay_parent, + ?candidate_hash, + ?peer_id, + "Notifying collator about seconded collation", + ); + notify_collation_seconded(sender, peer_id, *version, relay_parent, statement).await; + } + + if !unblocked_collations.is_empty() { + gum::debug!( + target: LOG_TARGET, + ?relay_parent, + ?candidate_hash, + ?para_id, + "Seconded candidate unblocked {} collations", + unblocked_collations.len(), + ); + + self.try_second_unblocked_collations(sender, unblocked_collations).await; + } + } + + pub async fn try_launch_new_fetch_requests( + &mut self, + sender: &mut Sender, + ) -> Option { + let peer_manager = &self.peer_manager; + let connected_rep_query_fn = move |peer_id: &PeerId, para_id: &ParaId| { + peer_manager.connected_peer_score(peer_id, para_id) + }; + let all_free_slots = self.collation_manager.all_free_slots(); + let max_reps = self.peer_manager.max_scores_for_paras(all_free_slots).await; + + let metrics = &self.metrics; + let create_timer_fn = || metrics.time_collation_request_duration(); + + let (requests, maybe_delay) = self.collation_manager.try_make_new_fetch_requests( + connected_rep_query_fn, + max_reps, + create_timer_fn, + ); + + if !requests.is_empty() { + gum::debug!( + target: LOG_TARGET, + ?requests, + "Sending {} collation fetch requests", + requests.len() + ); + + sender + .send_message(NetworkBridgeTxMessage::SendRequests( + requests, + IfDisconnected::ImmediateError, + )) + .await; + } + + maybe_delay + } + + async fn try_second_unblocked_collations( + &mut self, + sender: &mut Sender, + unblocked_collations: Vec, + ) { + for can_second_unblocked in unblocked_collations { + match can_second_unblocked { + CanSecond::Yes(candidate_receipt, pov, pvd) => { + let relay_parent = candidate_receipt.descriptor.relay_parent(); + let candidate_hash = candidate_receipt.hash(); + let para_id = candidate_receipt.descriptor.para_id(); + + sender + .send_message(CandidateBackingMessage::Second( + relay_parent, + candidate_receipt, + pvd, + pov, + )) + .await; + + gum::debug!( + target: LOG_TARGET, + ?relay_parent, + ?candidate_hash, + ?para_id, + "Started seconding unblocked collation" + ); + }, + CanSecond::No(maybe_slash, reject_info) => { + gum::debug!( + target: LOG_TARGET, + relay_parent = ?reject_info.relay_parent, + maybe_candidate_hash = ?reject_info.maybe_candidate_hash, + para_id = ?reject_info.para_id, + "Cannot second unblocked collation" + ); + + if let Some(slash) = maybe_slash { + self.peer_manager + .slash_reputation(&reject_info.peer_id, &reject_info.para_id, slash) + .await; + } + + self.collation_manager.release_slot( + &reject_info.relay_parent, + reject_info.para_id, + reject_info.maybe_candidate_hash.as_ref(), + reject_info.maybe_output_head_hash, + ); + }, + CanSecond::BlockedOnParent(parent, reject_info) => { + gum::warn!( + target: LOG_TARGET, + relay_parent = ?reject_info.relay_parent, + maybe_candidate_hash = ?reject_info.maybe_candidate_hash, + ?parent, + para_id = ?reject_info.para_id, + "Cannot second unblocked collation even though its parent was just seconded" + ); + + self.collation_manager.release_slot( + &reject_info.relay_parent, + reject_info.para_id, + reject_info.maybe_candidate_hash.as_ref(), + reject_info.maybe_output_head_hash, + ); + }, + } + } + } + + #[cfg(test)] + pub fn connected_peers(&self) -> std::collections::BTreeSet { + self.peer_manager.connected_peers() + } + + #[cfg(test)] + pub fn advertisements(&self) -> std::collections::BTreeSet { + self.collation_manager.advertisements() + } +} + +// Specific implementation for PersistentDb to support disk persistence. +impl State { + /// Persist the reputation database to disk asynchronously (fire-and-forget). + /// Called on periodic timer. + pub fn background_persist_reputations(&mut self) { + self.peer_manager.persist_to_disk_async(); + } + + /// Persist the reputation database to disk and wait for completion. + /// Called on graceful shutdown. + pub async fn persist_reputations(&mut self) { + self.peer_manager.persist_and_wait().await; } } diff --git a/polkadot/node/network/collator-protocol/src/validator_side_experimental/tests.rs b/polkadot/node/network/collator-protocol/src/validator_side_experimental/tests.rs new file mode 100644 index 0000000000000..ed66be9e1005e --- /dev/null +++ b/polkadot/node/network/collator-protocol/src/validator_side_experimental/tests.rs @@ -0,0 +1,3271 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +use crate::validator_side_experimental::{ + common::{ + Advertisement, CollationFetchError, Score, CONNECTED_PEERS_PARA_LIMIT, FAILED_FETCH_SLASH, + INVALID_COLLATION_SLASH, MAX_STARTUP_ANCESTRY_LOOKBACK, VALID_INCLUDED_CANDIDATE_BUMP, + }, + peer_manager::{Backend, ReputationUpdate}, +}; +use rstest::rstest; + +use super::*; +use assert_matches::assert_matches; +use async_trait::async_trait; +use codec::Encode; +use futures::channel::mpsc::UnboundedReceiver; +use polkadot_node_network_protocol::{ + peer_set::{CollationVersion, PeerSet}, + request_response::{ + outgoing::RequestError, v1::CollationFetchingResponse, Recipient, Requests, ResponseSender, + }, + OurView, +}; +use polkadot_node_primitives::{ + BlockData, PoV, SignedFullStatement, Statement, UncheckedSignedFullStatement, +}; +use polkadot_node_subsystem::messages::{ + AllMessages, CanSecondRequest, CandidateBackingMessage, ChainApiMessage, IfDisconnected, + NetworkBridgeTxMessage, ParentHeadData, ProspectiveParachainsMessage, + ProspectiveValidationDataRequest, RuntimeApiMessage, RuntimeApiRequest, +}; +use polkadot_node_subsystem_test_helpers::{mock::new_leaf, sender_receiver, TestSubsystemSender}; +use polkadot_node_subsystem_util::TimeoutExt; +use polkadot_primitives::{ + node_features::FeatureIndex, ApprovedPeerId, BlockNumber, + CandidateReceiptV2 as CandidateReceipt, + CommittedCandidateReceiptV2 as CommittedCandidateReceipt, CoreIndex, GroupRotationInfo, Hash, + HeadData, Header, Id as ParaId, MutateDescriptorV2, NodeFeatures, OccupiedCoreAssumption, + PersistedValidationData, SessionIndex, SigningContext, UMPSignal, ValidatorId, ValidatorIndex, + UMP_SEPARATOR, +}; +use polkadot_primitives_test_helpers::{ + dummy_candidate_commitments, dummy_committed_candidate_receipt, + dummy_committed_candidate_receipt_v2, make_valid_candidate_descriptor_v2, +}; +use sc_network::{OutboundFailure, RequestFailure}; +use sc_network_types::multihash::Multihash; +use sp_keyring::Sr25519Keyring; +use sp_keystore::Keystore; +use std::{ + collections::{BTreeMap, BTreeSet, HashMap}, + ops::DerefMut, + sync::{Arc, Mutex}, + time::Duration, +}; + +const TIMEOUT: Duration = Duration::from_millis(100); + +fn peer_id(i: u8) -> PeerId { + let data = [i; 32]; + + PeerId::from_multihash(Multihash::wrap(0x0, &data).unwrap()).unwrap() +} + +fn dummy_pvd() -> PersistedValidationData { + PersistedValidationData { + parent_head: HeadData(vec![7, 8, 9]), + relay_parent_number: 5, + max_pov_size: 1024, + relay_parent_storage_root: Default::default(), + } +} + +fn dummy_pov() -> PoV { + PoV { block_data: BlockData(vec![1]) } +} + +fn dummy_candidate( + relay_parent: Hash, + para_id: ParaId, + peer_id: PeerId, + core: CoreIndex, + session: SessionIndex, + pvd_hash: Hash, +) -> (CommittedCandidateReceipt, Advertisement) { + let mut ccr = dummy_committed_candidate_receipt_v2(relay_parent); + ccr.descriptor.set_para_id(para_id); + ccr.descriptor.set_persisted_validation_data_hash(pvd_hash); + ccr.descriptor.set_core_index(core); + ccr.descriptor.set_session_index(session); + + let receipt = ccr.to_plain(); + let prospective_candidate = Some(ProspectiveCandidate { + candidate_hash: receipt.hash(), + parent_head_data_hash: dummy_pvd().parent_head.hash(), + }); + + (ccr, Advertisement { peer_id, para_id, relay_parent, prospective_candidate }) +} + +#[derive(Clone)] +struct RelayParentInfo { + number: BlockNumber, + parent: Hash, + session_index: SessionIndex, + claim_queue: BTreeMap>, + assigned_core: CoreIndex, +} + +#[derive(Clone)] +struct SessionInfo { + validators: Vec, + validator_groups: Vec>, + group_rotation_info: GroupRotationInfo, + v2_receipts: bool, + scheduling_lookahead: u32, + paras: Vec, +} + +struct TestState { + sender: TestSubsystemSender, + recv: UnboundedReceiver, + rp_info: HashMap, + session_info: HashMap, + buffered_msg: Option, + finalized_block: BlockNumber, + // The key is the block at which it is included. + candidates_pending_availability: HashMap>, + candidate_nonce: u64, + keystore: KeystorePtr, +} + +impl Default for TestState { + fn default() -> Self { + sp_tracing::init_for_tests(); + + let keystore = Arc::new(sc_keystore::LocalKeystore::in_memory()); + Keystore::sr25519_generate_new( + &*keystore, + polkadot_primitives::PARACHAIN_KEY_TYPE_ID, + Some(&Sr25519Keyring::Alice.to_seed()), + ) + .expect("Insert key into keystore"); + + let mut rp_info = HashMap::new(); + + let cq: BTreeMap> = + (1..3).map(|i| (CoreIndex::from(i), vec![600.into(), 600.into()])).collect(); + + rp_info.insert( + get_hash(10), + RelayParentInfo { + number: 10, + parent: get_parent_hash(10), + session_index: 1, + claim_queue: { + let mut cq = cq.clone(); + cq.insert(CoreIndex(0), vec![100.into(), 200.into(), 100.into()]); + cq + }, + assigned_core: CoreIndex(0), + }, + ); + rp_info.insert( + get_hash(9), + RelayParentInfo { + number: 9, + parent: get_parent_hash(9), + session_index: 1, + claim_queue: { + let mut cq = cq.clone(); + cq.insert(CoreIndex(0), vec![200.into(), 100.into(), 200.into()]); + cq + }, + assigned_core: CoreIndex(0), + }, + ); + rp_info.insert( + get_hash(8), + RelayParentInfo { + number: 8, + parent: get_parent_hash(8), + session_index: 1, + claim_queue: { + let mut cq = cq.clone(); + cq.insert(CoreIndex(0), vec![100.into(), 200.into(), 100.into()]); + cq + }, + assigned_core: CoreIndex(0), + }, + ); + + let mut session_info = HashMap::new(); + + let validators = [ + Sr25519Keyring::Alice, + Sr25519Keyring::Bob, + Sr25519Keyring::Charlie, + Sr25519Keyring::Dave, + Sr25519Keyring::Eve, + ] + .iter() + .map(|k| k.public().into()) + .collect(); + let validator_groups = vec![ + vec![ValidatorIndex(0), ValidatorIndex(1)], + vec![ValidatorIndex(2), ValidatorIndex(3)], + vec![ValidatorIndex(4)], + ]; + + let group_rotation_info = + GroupRotationInfo { session_start_block: 0, group_rotation_frequency: 100, now: 0 }; + session_info.insert( + 1, + SessionInfo { + validators, + validator_groups, + group_rotation_info, + v2_receipts: true, + scheduling_lookahead: 3, + paras: vec![100.into(), 200.into(), 600.into()], + }, + ); + + let (sender, recv) = sender_receiver(); + + Self { + session_info, + rp_info, + buffered_msg: None, + sender, + recv, + finalized_block: 0, + candidates_pending_availability: HashMap::new(), + candidate_nonce: 0, + keystore, + } + } +} + +impl TestState { + fn set_candidates_pending_availability( + &mut self, + pending_candidates_info: HashMap>, + ) { + self.candidates_pending_availability = pending_candidates_info + .into_iter() + .map(|(key, info)| { + ( + key, + info.into_iter() + .map(|(para_id, peer_id)| { + let mut ccr = dummy_committed_candidate_receipt_v2(Hash::zero()); + ccr.descriptor.set_para_id(para_id); + ccr.descriptor + .set_pov_hash(Hash::from_low_u64_be(self.candidate_nonce)); + ccr.commitments.upward_messages.force_push(UMP_SEPARATOR); + ccr.commitments.upward_messages.force_push( + UMPSignal::ApprovedPeer( + ApprovedPeerId::try_from(peer_id.to_bytes()).unwrap(), + ) + .encode(), + ); + self.candidate_nonce += 1; + ccr + }) + .collect(), + ) + }) + .collect(); + } + + async fn assert_no_messages(&mut self) { + assert!(self.buffered_msg.is_none()); + // Use a small timeout here because we expect this to be called after the future we're + // testing resolved. + assert!(self.recv.next().timeout(Duration::from_millis(10)).await.is_none()); + } + + async fn assert_peers_disconnected( + &mut self, + expected_peers: impl IntoIterator, + ) { + let msg = match self.buffered_msg.take() { + Some(msg) => msg, + None => self.timeout_recv().await, + }; + assert_matches!( + msg, + AllMessages::NetworkBridgeTx( + NetworkBridgeTxMessage::DisconnectPeers(peers, PeerSet::Collation) + ) if peers.clone().into_iter().collect::>() == expected_peers.into_iter().collect::>() + ); + } + + async fn timeout_recv(&mut self) -> AllMessages { + self.recv + .next() + .timeout(TIMEOUT) + .await + .expect("Receiver timed out") + .expect("Sender dropped") + } + + async fn handle_view_update(&mut self, active_leaves: Vec) { + if active_leaves.is_empty() { + return; + } + + for active in active_leaves.iter() { + assert!(self.rp_info.contains_key(active)); + } + + let extra_msg = loop { + let had_buffered_msg = self.buffered_msg.is_some(); + let msg = match self.buffered_msg.take() { + Some(msg) => msg, + None => { + if let Some(Some(msg)) = self.recv.next().timeout(TIMEOUT).await { + msg + } else { + break None; + } + }, + }; + + match msg { + AllMessages::ChainApi(ChainApiMessage::BlockHeader(rp, tx)) => { + tx.send(Ok(Some( + self.rp_info + .get(&rp) + .map(|info| Header { + parent_hash: info.parent, + number: info.number, + state_root: Hash::zero(), + extrinsics_root: Hash::zero(), + digest: Default::default(), + }) + .unwrap(), + ))) + .unwrap(); + }, + AllMessages::ProspectiveParachains( + ProspectiveParachainsMessage::GetMinimumRelayParents(rp, tx), + ) => { + assert!(active_leaves.contains(&rp)); + let rp_info = self.rp_info.get(&rp).unwrap(); + let session_info = self.session_info.get(&rp_info.session_index).unwrap(); + tx.send( + rp_info + .claim_queue + .get(&rp_info.assigned_core) + .unwrap() + .iter() + .map(|para| { + ( + *para, + rp_info + .number + .saturating_sub(session_info.scheduling_lookahead - 1), + ) + }) + .collect(), + ) + .unwrap(); + }, + AllMessages::RuntimeApi(RuntimeApiMessage::Request( + rp, + RuntimeApiRequest::SessionIndexForChild(tx), + )) => { + tx.send(Ok(self.rp_info.get(&rp).unwrap().session_index)).unwrap(); + }, + AllMessages::RuntimeApi(RuntimeApiMessage::Request( + rp, + RuntimeApiRequest::Validators(tx), + )) => { + let session_index = self.rp_info.get(&rp).unwrap().session_index; + let session_info = self.session_info.get(&session_index).unwrap(); + tx.send(Ok(session_info.validators.clone())).unwrap(); + }, + AllMessages::RuntimeApi(RuntimeApiMessage::Request( + rp, + RuntimeApiRequest::ValidatorGroups(tx), + )) => { + let session_index = self.rp_info.get(&rp).unwrap().session_index; + let session_info = self.session_info.get(&session_index).unwrap(); + tx.send(Ok(( + session_info.validator_groups.clone(), + session_info.group_rotation_info.clone(), + ))) + .unwrap(); + }, + AllMessages::RuntimeApi(RuntimeApiMessage::Request( + rp, + RuntimeApiRequest::NodeFeatures(s_index, tx), + )) => { + let session_index = self.rp_info.get(&rp).unwrap().session_index; + assert_eq!(session_index, s_index); + let session_info = self.session_info.get(&session_index).unwrap(); + let mut node_features = NodeFeatures::EMPTY; + node_features.resize(FeatureIndex::FirstUnassigned as usize, false); + node_features + .set(FeatureIndex::CandidateReceiptV2 as usize, session_info.v2_receipts); + tx.send(Ok(node_features)).unwrap(); + }, + AllMessages::RuntimeApi(RuntimeApiMessage::Request( + rp, + RuntimeApiRequest::ClaimQueue(tx), + )) => { + let rp_info = self.rp_info.get(&rp).unwrap(); + + tx.send(Ok(rp_info + .claim_queue + .clone() + .into_iter() + .map(|(i, cq)| (i, cq.into_iter().collect())) + .collect())) + .unwrap(); + }, + other => { + if had_buffered_msg { + panic!("Unexpected message: {:?}", other); + } else { + break Some(other); + } + }, + }; + }; + + self.buffered_msg = extra_msg; + } + + async fn activate_leaf(&mut self, state: &mut State, height: BlockNumber) { + let mut sender = self.sender.clone(); + futures::join!(self.handle_view_update(vec![get_hash(height)]), async { + state + .handle_our_view_change(&mut sender, OurView::new([get_hash(height)], 0)) + .await + .unwrap() + }); + } + + async fn handle_finalized_block(&mut self, finalized: BlockNumber) { + let old_finalized = self.finalized_block; + self.finalized_block = finalized; + + let diff = std::cmp::min( + finalized.checked_sub(old_finalized).unwrap(), + MAX_STARTUP_ANCESTRY_LOOKBACK, + ); + if diff == 0 { + return; + } + + let msg = match self.buffered_msg.take() { + Some(msg) => msg, + None => self.timeout_recv().await, + }; + + let ancestors = + ((finalized - diff)..finalized).map(|n| get_hash(n)).rev().collect::>(); + + assert_matches!( + msg, + AllMessages::ChainApi( + ChainApiMessage::Ancestors { + hash, + k, + response_channel + } + ) => { + assert_eq!(hash, get_hash(finalized)); + assert_eq!(k as u32, diff); + assert_eq!(ancestors.len() as u32, diff); + response_channel.send(Ok(ancestors.clone())).unwrap(); + } + ); + + let mut extra_msg = loop { + let had_buffered_msg = self.buffered_msg.is_some(); + let msg = match self.buffered_msg.take() { + Some(msg) => msg, + None => { + if let Some(Some(msg)) = self.recv.next().timeout(TIMEOUT).await { + msg + } else { + break None; + } + }, + }; + + match msg { + AllMessages::RuntimeApi(RuntimeApiMessage::Request( + rp, + RuntimeApiRequest::CandidateEvents(tx), + )) => { + assert!(ancestors.contains(&rp) || rp == get_hash(finalized)); + let events = self + .candidates_pending_availability + .get(&rp) + .cloned() + .unwrap_or_default() + .iter() + .map(|ccr| { + polkadot_primitives::CandidateEvent::CandidateIncluded( + ccr.to_plain(), + Default::default(), + Default::default(), + Default::default(), + ) + }) + .collect(); + tx.send(Ok(events)).unwrap() + }, + AllMessages::RuntimeApi(RuntimeApiMessage::Request( + rp, + RuntimeApiRequest::CandidatesPendingAvailability(para_id, tx), + )) => { + assert!(ancestors.contains(&rp)); + let included_at = (rp.to_low_u64_be() as u32) + 1; + let candidates = self + .candidates_pending_availability + .get(&get_hash(included_at)) + .cloned() + .unwrap_or_default() + .into_iter() + .filter(|ccr| ccr.descriptor.para_id() == para_id) + .collect(); + tx.send(Ok(candidates)).unwrap(); + }, + other => { + if had_buffered_msg { + panic!("Unexpected message: {:?}", other); + } else { + break Some(other); + } + }, + }; + }; + + let msg = match extra_msg.take() { + Some(msg) => msg, + None => self.timeout_recv().await, + }; + + let session_index = match msg { + AllMessages::RuntimeApi(RuntimeApiMessage::Request( + rp, + RuntimeApiRequest::SessionIndexForChild(tx), + )) => { + let index = self.rp_info.get(&rp).map(|info| info.session_index).unwrap_or(1); + tx.send(Ok(index)).unwrap(); + index + }, + other => panic!("Unexpected message: {:?}", other), + }; + + let msg = if let Some(Some(msg)) = self.recv.next().timeout(TIMEOUT).await { + msg + } else { + return; + }; + + assert_matches!( + msg, + AllMessages::RuntimeApi(RuntimeApiMessage::Request( + _rp, + RuntimeApiRequest::ParaIds(index, tx), + )) => { + assert_eq!(index, session_index); + let session_info = self.session_info.get(&index).unwrap(); + tx.send(Ok(session_info.paras.clone())).unwrap(); + } + ); + } + + async fn handle_advertisement(&mut self, state: &mut State, adv: Advertisement) { + let mut sender = self.sender.clone(); + futures::join!( + state.handle_advertisement( + &mut sender, + adv.peer_id, + adv.relay_parent, + adv.prospective_candidate + ), + async move { + if adv.prospective_candidate.is_some() { + self.assert_can_second_request(adv, true).await + } + } + ); + } + + async fn assert_collation_request(&mut self, adv: Advertisement) -> ResponseSender { + let mut res = self.assert_collation_requests([adv].into()).await; + + assert_eq!(res.len(), 1); + res.pop_first().unwrap().1 + } + + async fn assert_collation_requests( + &mut self, + mut advertisements: BTreeSet, + ) -> BTreeMap { + let msg = match self.buffered_msg.take() { + Some(msg) => msg, + None => self.timeout_recv().await, + }; + + let mut res = BTreeMap::new(); + + assert_matches!( + msg, + AllMessages::NetworkBridgeTx(NetworkBridgeTxMessage::SendRequests( + reqs, + IfDisconnected::ImmediateError + )) => { + assert_eq!(reqs.len(), advertisements.len()); + for req in reqs { + match req { + Requests::CollationFetchingV2(req) => { + assert!(req.fallback_request.is_none()); + + let adv = advertisements.iter().find(|adv| { + if let Some(ProspectiveCandidate { candidate_hash, .. }) = adv.prospective_candidate { + matches!(req.peer, Recipient::Peer(peer) if peer == adv.peer_id) && + req.payload.relay_parent == adv.relay_parent && + req.payload.para_id == adv.para_id && + req.payload.candidate_hash == candidate_hash + } else { + false + } + }).copied().unwrap(); + + res.insert(adv, req.pending_response); + + advertisements.remove(&adv); + }, + Requests::CollationFetchingV1(req) => { + assert!(req.fallback_request.is_none()); + + let adv = advertisements.iter().find(|adv| { + adv.prospective_candidate.is_none() && + matches!(req.peer, Recipient::Peer(peer) if peer == adv.peer_id) && + req.payload.relay_parent == adv.relay_parent && + req.payload.para_id == adv.para_id + + }).copied().unwrap(); + + res.insert(adv, req.pending_response); + + advertisements.remove(&adv); + } + _ => panic!("Unexpected request") + } + } + } + ); + + res + } + + async fn assert_can_second_request(&mut self, adv: Advertisement, response: bool) { + let msg = match self.buffered_msg.take() { + Some(msg) => msg, + None => self.timeout_recv().await, + }; + + if let Some(prospective_candidate) = adv.prospective_candidate { + let expected_req = CanSecondRequest { + candidate_para_id: adv.para_id, + candidate_relay_parent: adv.relay_parent, + candidate_hash: prospective_candidate.candidate_hash, + parent_head_data_hash: prospective_candidate.parent_head_data_hash, + }; + + assert_matches!( + msg, + AllMessages::CandidateBacking(CandidateBackingMessage::CanSecond(req, tx)) => { + assert_eq!( + expected_req, + req + ); + + tx.send(response).unwrap(); + } + ); + } else { + panic!("Didn't expect to send CanSecond request for protocol v1 {:?}", msg); + } + } + + async fn assert_pvd_request( + &mut self, + adv: Advertisement, + pvd: Option, + ) { + let msg = match self.buffered_msg.take() { + Some(msg) => msg, + None => self.timeout_recv().await, + }; + + if let Some(ProspectiveCandidate { parent_head_data_hash, .. }) = adv.prospective_candidate + { + assert_matches!( + msg, + AllMessages::ProspectiveParachains( + ProspectiveParachainsMessage::GetProspectiveValidationData(ProspectiveValidationDataRequest { + para_id, + candidate_relay_parent, + parent_head_data + }, tx) + ) => { + assert_eq!(para_id, adv.para_id); + assert_eq!(candidate_relay_parent, adv.relay_parent); + + assert!( + matches!( + parent_head_data, + ParentHeadData::OnlyHash(head_data_hash) if head_data_hash == parent_head_data_hash + ) || + matches!( + parent_head_data, + ParentHeadData::WithData {head_data, ..} if head_data == pvd.as_ref().unwrap().parent_head + ) + ); + + tx.send(pvd).unwrap(); + } + ); + } else { + assert_matches!( + msg, + AllMessages::RuntimeApi(RuntimeApiMessage::Request( + rp, + RuntimeApiRequest::PersistedValidationData( + para_id, + OccupiedCoreAssumption::Free, + tx + ) + )) => { + assert_eq!(para_id, adv.para_id); + assert_eq!(rp, adv.relay_parent); + tx.send(Ok(pvd)).unwrap(); + } + ); + } + } + + async fn assert_seconding_kickoff( + &mut self, + expected_receipt: CandidateReceipt, + expected_pvd: PersistedValidationData, + expected_pov: PoV, + ) { + let msg = match self.buffered_msg.take() { + Some(msg) => msg, + None => self.timeout_recv().await, + }; + + assert_matches!( + msg, + AllMessages::CandidateBacking( + CandidateBackingMessage::Second(rp, receipt, pvd, pov) + ) => { + assert_eq!(rp, receipt.descriptor.relay_parent()); + assert_eq!(receipt, expected_receipt); + assert_eq!(pvd, expected_pvd); + assert_eq!(pov, expected_pov); + } + ); + } + + async fn handle_fetched_collation( + &mut self, + state: &mut State, + adv: Advertisement, + receipt: CandidateReceipt, + maybe_pvd: Option, + ) { + let mut sender = self.sender.clone(); + let pvd = maybe_pvd.unwrap_or_else(|| dummy_pvd()); + + futures::join!( + state.handle_fetched_collation( + &mut sender, + (adv, Ok(CollationFetchingResponse::Collation(receipt.clone(), dummy_pov()))) + ), + self.assert_pvd_request(adv, Some(pvd.clone())) + ); + + self.assert_seconding_kickoff(receipt, pvd, dummy_pov()).await; + } + + async fn assert_collation_seconded_notification( + &mut self, + peer_id: PeerId, + version: CollationVersion, + statement: UncheckedSignedFullStatement, + ) { + let msg = match self.buffered_msg.take() { + Some(msg) => msg, + None => self.timeout_recv().await, + }; + + assert_matches!( + msg, + AllMessages::NetworkBridgeTx( + NetworkBridgeTxMessage::SendCollationMessage(peers, msg) + ) => { + assert_eq!(peers, vec![peer_id]); + + match version { + CollationVersion::V1 => { + assert_matches!( + msg, + CollationProtocols::V1(protocol_v1::CollationProtocol::CollatorProtocol( + protocol_v1::CollatorProtocolMessage::CollationSeconded( + _rp, + stmt + ), + )) => { + assert_eq!(statement, stmt); + } + ); + }, + CollationVersion::V2 => { + assert_matches!( + msg, + CollationProtocols::V2(protocol_v2::CollationProtocol::CollatorProtocol( + protocol_v2::CollatorProtocolMessage::CollationSeconded( + _rp, + stmt + ), + )) => { + assert_eq!(statement, stmt); + } + ); + } + }; + } + ); + } + + async fn second_collation( + &mut self, + state: &mut State, + peer_id: PeerId, + version: CollationVersion, + ccr: CommittedCandidateReceipt, + ) { + let statement = make_seconded_statement(&self.keystore, ccr); + state.handle_seconded_collation(&mut self.sender, statement.clone()).await; + self.assert_collation_seconded_notification(peer_id, version, statement.into()) + .await; + } +} + +fn make_seconded_statement( + keystore: &KeystorePtr, + ccr: CommittedCandidateReceipt, +) -> SignedFullStatement { + let signing_context = + SigningContext { parent_hash: ccr.descriptor.relay_parent(), session_index: 1 }; + + SignedFullStatement::sign( + keystore, + Statement::Seconded(ccr), + &signing_context, + ValidatorIndex(0), + &ValidatorId::from(Sr25519Keyring::Alice.public()), + ) + .ok() + .flatten() + .expect("should be signed") +} + +fn get_parent_hash(number: u32) -> Hash { + get_hash(number - 1) +} + +fn get_hash(number: u32) -> Hash { + Hash::from_low_u64_be(number as u64) +} + +async fn make_state( + db: B, + test_state: &mut TestState, + initial_leaf_hash: Hash, +) -> State { + let initial_leaf_number = test_state.rp_info.get(&initial_leaf_hash).unwrap().number; + + let keystore = test_state.keystore.clone(); + + let mut sender = test_state.sender.clone(); + + let responder = async move { + test_state.handle_view_update(vec![initial_leaf_hash]).await; + + let msg = match test_state.buffered_msg.take() { + Some(msg) => msg, + None => test_state.timeout_recv().await, + }; + + let finalized_block_number = test_state.finalized_block; + let finalized_block_hash = get_hash(finalized_block_number); + + assert_matches!( + msg, + AllMessages::ChainApi(ChainApiMessage::FinalizedBlockNumber(tx)) => { + tx.send(Ok(finalized_block_number)).unwrap(); + } + ); + + assert_matches!( + test_state.timeout_recv().await, + AllMessages::ChainApi(ChainApiMessage::FinalizedBlockHash(number, tx)) => { + assert_eq!(number, finalized_block_number); + tx.send(Ok(Some(finalized_block_hash))).unwrap(); + } + ); + + if finalized_block_number > 0 { + test_state.handle_finalized_block(finalized_block_number).await; + } + + // No more messages are expected + test_state.assert_no_messages().await; + }; + + let initializer = async move { + let collation_manager = CollationManager::new( + &mut sender, + keystore, + new_leaf(initial_leaf_hash, initial_leaf_number), + ) + .await + .unwrap(); + + let peer_manager = PeerManager::startup(db, &mut sender, collation_manager.assignments()) + .await + .unwrap(); + + State::new(peer_manager, collation_manager, Metrics::default()) + }; + + let (state, ..) = futures::join!(initializer, responder); + + state +} + +#[derive(Clone)] +struct MockDb { + finalized: Arc>, + // Use BTreeMaps to ensure ordering when asserting. + witnessed_bumps: Arc>>>, + witnessed_slash: Arc>>, + query_fn: Arc Option + Send>>, +} + +impl Default for MockDb { + fn default() -> Self { + let query_fn = |_peer_id, _para_id| None; + Self { + finalized: Default::default(), + witnessed_bumps: Default::default(), + witnessed_slash: Default::default(), + query_fn: Arc::new(Mutex::new(query_fn)), + } + } +} + +impl MockDb { + fn new(query_fn: Arc Option + Send>>) -> Self { + Self { + finalized: Default::default(), + witnessed_bumps: Default::default(), + witnessed_slash: Default::default(), + query_fn, + } + } + + fn witnessed_bumps(&self) -> BTreeMap> { + std::mem::take(self.witnessed_bumps.lock().unwrap().deref_mut()) + } + + fn witnessed_slash(&self) -> Option<(PeerId, ParaId, Score)> { + std::mem::take(self.witnessed_slash.lock().unwrap().deref_mut()) + } +} + +#[async_trait] +impl Backend for MockDb { + async fn processed_finalized_block_number(&self) -> Option { + Some(*(self.finalized.lock().unwrap())) + } + + async fn query(&self, peer_id: &PeerId, para_id: &ParaId) -> Option { + let query_fn = self.query_fn.lock().unwrap(); + + query_fn(*peer_id, *para_id) + } + + async fn slash(&mut self, peer_id: &PeerId, para_id: &ParaId, value: Score) { + let old_slash = std::mem::replace( + self.witnessed_slash.lock().unwrap().deref_mut(), + Some((*peer_id, *para_id, value)), + ); + + assert!(old_slash.is_none()); + } + + async fn prune_paras(&mut self, _registered_paras: BTreeSet) {} + + async fn process_bumps( + &mut self, + leaf_number: BlockNumber, + bumps: BTreeMap>, + _decay_value: Option, + ) -> Vec { + let old_bumps = std::mem::replace( + self.witnessed_bumps.lock().unwrap().deref_mut(), + bumps.into_iter().map(|(k, v)| (k, v.into_iter().collect())).collect(), + ); + + assert!(old_bumps.is_empty()); + + *(self.finalized.lock().unwrap()) = leaf_number; + + vec![] + } + + async fn max_scores_for_paras(&self, _paras: BTreeSet) -> HashMap { + HashMap::new() + } +} + +impl Drop for MockDb { + fn drop(&mut self) { + assert!(self.witnessed_bumps().is_empty()); + assert!(self.witnessed_slash().is_none()); + } +} + +#[tokio::test] +// Test scenarios concerning connects/disconnects and declares. +// More fine grained tests are in the `ConnectedPeers` unit tests. +async fn test_connection_flow() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let db = Db::new(MAX_STORED_SCORES_PER_PARA).await; + let mut state = make_state(db, &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + let first_peer = PeerId::random(); + state.handle_peer_connected(&mut sender, first_peer, CollationVersion::V2).await; + // If we don't get a disconnect message, it was accepted. + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), [first_peer].into_iter().collect()); + + // Reconnecting is a no-op. We should have first received a disconnect. + state.handle_peer_connected(&mut sender, first_peer, CollationVersion::V1).await; + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), [first_peer].into_iter().collect()); + + // Disconnect the peer. + state.handle_peer_disconnected(first_peer).await; + assert_eq!(state.connected_peers(), Default::default()); + + // Fill up the connection slots. For each para (ids 100 and 200) we should have 100 slots. + let peer_ids = (0..(CONNECTED_PEERS_PARA_LIMIT.get() as u8)) + .map(|i| peer_id(i)) + .collect::>(); + + for id in peer_ids.iter() { + state.handle_peer_connected(&mut sender, *id, CollationVersion::V2).await; + } + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().collect()); + + // Now all 100 peers were accepted on both paras (since they're not declared). + // A new connection from a peer with the same score will be rejected. + let new_peer = PeerId::random(); + state.handle_peer_connected(&mut sender, new_peer, CollationVersion::V2).await; + test_state.assert_peers_disconnected([new_peer]).await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().collect()); + + // Bump the reputations of all peers except for the first one. + // The ith peer will have it's reputation bumped i times. + let mut pending = vec![]; + for (i, peer) in peer_ids.iter().enumerate().skip(1) { + for _ in 0..i { + pending.push((ParaId::from(100), *peer)); + } + } + + test_state.set_candidates_pending_availability( + [(get_hash(1), pending), (get_hash(2), vec![(ParaId::from(100), new_peer)])] + .into_iter() + .collect(), + ); + + // Reputations are bumped on finalized block notifications. + futures::join!(test_state.handle_finalized_block(2), async { + state.handle_finalized_block(&mut sender, get_hash(2), 2).await.unwrap() + }); + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().collect()); + + state.handle_peer_connected(&mut sender, new_peer, CollationVersion::V2).await; + // The new peer took the spot of the first one, but that other one remains connected for the + // other para (200). + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().chain([new_peer]).collect()); + + // If that first peer then declares for another para, it will get disconnected. + state.handle_declare(&mut sender, peer_ids[0], 100.into()).await; + test_state.assert_peers_disconnected([peer_ids[0]]).await; + assert_eq!( + state.connected_peers(), + peer_ids.clone().into_iter().skip(1).chain([new_peer]).collect() + ); + + // Make all peers declare for para 100. + state.handle_declare(&mut sender, new_peer, 100.into()).await; + for peer in peer_ids.iter().skip(1) { + state.handle_declare(&mut sender, *peer, 100.into()).await; + } + test_state.assert_no_messages().await; + + // A subsequent declare is idempotent. + state.handle_declare(&mut sender, new_peer, 100.into()).await; + + test_state.assert_no_messages().await; + + assert_eq!( + state.connected_peers(), + peer_ids.clone().into_iter().skip(1).chain([new_peer]).collect() + ); + + // The first peer can attempt to reconnect and declare for the other para. + state + .handle_peer_connected(&mut sender, peer_ids[0], CollationVersion::V2) + .await; + state.handle_declare(&mut sender, peer_ids[0], 200.into()).await; + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().chain([new_peer]).collect()); + state.handle_peer_disconnected(peer_ids[0]).await; + + // Will be disconnected if declared to collate for an unscheduled para. + state + .handle_peer_connected(&mut sender, peer_ids[0], CollationVersion::V2) + .await; + state.handle_declare(&mut sender, peer_ids[0], 600.into()).await; + test_state.assert_peers_disconnected([peer_ids[0]]).await; + + assert_eq!( + state.connected_peers(), + peer_ids.clone().into_iter().skip(1).chain([new_peer]).collect() + ); + + // The new peer will be disconnected if it switches the paraid. + state.handle_declare(&mut sender, new_peer, 200.into()).await; + test_state.assert_peers_disconnected([new_peer]).await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().skip(1).collect()); +} + +#[tokio::test] +// Test peer disconnects before the collation is successfully fetched. +async fn test_peer_disconnects_before_fetch() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + + let first_peer = peer_id(1); + let second_peer = peer_id(2); + + let db = MockDb::default(); + let mut state = make_state(db.clone(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + // Para 100 has 2 assignments in the claim queue at the active leaf. + + // Let's build two advertisements from the first peer and one advertisement from the second + // peer. + state.handle_peer_connected(&mut sender, first_peer, CollationVersion::V2).await; + state.handle_declare(&mut sender, first_peer, 100.into()).await; + + let (_, first_adv) = dummy_candidate( + active_leaf, + 100.into(), + first_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(0), + ); + + let (_, second_adv) = dummy_candidate( + active_leaf, + 100.into(), + first_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(1), + ); + + let (_, third_adv) = dummy_candidate( + active_leaf, + 100.into(), + second_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(2), + ); + + // Advertise a collation from the first peer, it will be launched, leaving only one free slot. + test_state.handle_advertisement(&mut state, first_adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(first_adv).await; + test_state.assert_no_messages().await; + + // Now let's add the second peer and make it advertise the third candidate. + // Disconnect before the fetch is launched. + { + state + .handle_peer_connected(&mut sender, second_peer, CollationVersion::V2) + .await; + state.handle_declare(&mut sender, second_peer, 100.into()).await; + + test_state.handle_advertisement(&mut state, third_adv).await; + assert_eq!(state.advertisements(), [first_adv, third_adv].into()); + + state.handle_peer_disconnected(second_peer).await; + + // Was disconnected, so no new requests. + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + assert_eq!(state.advertisements(), [first_adv].into()); + } + + // Peer disconnected while the request was fetching. + { + state + .handle_peer_connected(&mut sender, second_peer, CollationVersion::V2) + .await; + state.handle_declare(&mut sender, second_peer, 100.into()).await; + + // Let's add the third advertisement. + test_state.handle_advertisement(&mut state, third_adv).await; + + assert_eq!(state.advertisements(), [first_adv, third_adv].into()); + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(third_adv).await; + test_state.handle_advertisement(&mut state, second_adv).await; + assert_eq!(state.advertisements(), [first_adv, second_adv, third_adv].into()); + test_state.assert_no_messages().await; + + // Second advertisement is not launched since the third one already occupied the other slot. + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + // Second peer disconnects, which will free up the claim queue slot. + state.handle_peer_disconnected(second_peer).await; + + assert_eq!(state.advertisements(), [first_adv, second_adv].into()); + state + .handle_fetched_collation( + &mut sender, + ( + third_adv, + Err(CollationFetchError::Request(RequestError::NetworkError( + RequestFailure::NotConnected, + ))), + ), + ) + .await; + test_state.assert_no_messages().await; + state.try_launch_new_fetch_requests(&mut sender).await; + // Since it freed up the slot, second adv can now be launched. + test_state.assert_collation_request(second_adv).await; + + test_state.assert_no_messages().await; + } +} + +#[tokio::test] +// Test peer disconnects after the collation is successfully fetched. +async fn test_peer_disconnects_after_fetch() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + + let first_peer = peer_id(1); + let second_peer = peer_id(2); + + let db = MockDb::default(); + let mut state = make_state(db.clone(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + // Para 100 has 2 assignments in the claim queue at the active leaf. + + // Let's build two advertisements from the first peer and one advertisement from the second + // peer. + state.handle_peer_connected(&mut sender, first_peer, CollationVersion::V2).await; + state.handle_declare(&mut sender, first_peer, 100.into()).await; + + let (_, first_adv) = dummy_candidate( + active_leaf, + 100.into(), + first_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(0), + ); + + let (_, second_adv) = dummy_candidate( + active_leaf, + 100.into(), + first_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(1), + ); + + let (third_ccr, third_adv) = dummy_candidate( + active_leaf, + 100.into(), + second_peer, + leaf_info.assigned_core, + leaf_info.session_index, + dummy_pvd().hash(), + ); + + // Advertise a collation from the first peer, it will be launched, leaving only one free slot. + test_state.handle_advertisement(&mut state, first_adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(first_adv).await; + test_state.assert_no_messages().await; + + // Test a peer disconnect after the collation was successfully fetched. In this case, we won't + // free up the slot. + + state + .handle_peer_connected(&mut sender, second_peer, CollationVersion::V2) + .await; + state.handle_declare(&mut sender, second_peer, 100.into()).await; + + // Let's add the third advertisement. + test_state.handle_advertisement(&mut state, third_adv).await; + + assert_eq!(state.advertisements(), [first_adv, third_adv].into()); + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(third_adv).await; + test_state.handle_advertisement(&mut state, second_adv).await; + assert_eq!(state.advertisements(), [first_adv, second_adv, third_adv].into()); + test_state.assert_no_messages().await; + + // Second advertisement is not launched since the third one already occupied the other slot. + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + // Send a successful response to the third advertisement and start seconding it. + test_state + .handle_fetched_collation(&mut state, third_adv, third_ccr.to_plain(), None) + .await; + + // Second peer disconnects, which will not free up the claim queue slot since the collation was + // already fetched. + state.handle_peer_disconnected(second_peer).await; + + assert_eq!(state.advertisements(), [first_adv, second_adv].into()); + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + // The collation was seconded, the claim will still not be freed but we won't be able to send + // back a notification to the collator. + + let statement = make_seconded_statement(&test_state.keystore, third_ccr); + + state.handle_seconded_collation(&mut sender, statement).await; + test_state.assert_no_messages().await; + + assert_eq!(state.advertisements(), [first_adv, second_adv].into()); + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; +} + +#[tokio::test] +// Test that peer connections are rejected if we have no assignments. +async fn test_no_assignments() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let active_leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + let assigned_core = active_leaf_info.assigned_core; + + for info in test_state.rp_info.values_mut() { + info.claim_queue.get_mut(&assigned_core).unwrap().clear(); + } + + let db = MockDb::default(); + let mut state = make_state(db, &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + let peer = peer_id(1); + + state.handle_peer_connected(&mut sender, peer, CollationVersion::V2).await; + test_state.assert_peers_disconnected([peer]).await; + assert!(state.connected_peers().is_empty()); + test_state.assert_no_messages().await; + + // Now add some assignments and connected peers. We want to check what happens to already + // connected peers when we run out of assignments + test_state.rp_info.insert( + get_hash(11), + RelayParentInfo { + number: 11, + parent: get_parent_hash(11), + session_index: active_leaf_info.session_index, + claim_queue: [(assigned_core, vec![600.into()])].into_iter().collect(), + assigned_core, + }, + ); + + test_state.activate_leaf(&mut state, 11).await; + + let first_peer = peer; + let second_peer = peer_id(2); + + state.handle_peer_connected(&mut sender, first_peer, CollationVersion::V2).await; + state + .handle_peer_connected(&mut sender, second_peer, CollationVersion::V2) + .await; + state.handle_declare(&mut sender, first_peer, 600.into()).await; + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), [first_peer, second_peer].into()); + + for height in 12..=14 { + test_state.rp_info.insert( + get_hash(height), + RelayParentInfo { + number: height, + parent: get_parent_hash(height), + session_index: active_leaf_info.session_index, + claim_queue: [(assigned_core, vec![])].into(), + assigned_core, + }, + ); + } + + for _ in 12..=13 { + test_state.activate_leaf(&mut state, 11).await; + test_state.assert_no_messages().await; + } + assert_eq!(state.connected_peers(), [first_peer, second_peer].into()); + + // When 14th leaf comes in, we're left with no assignments. Peers will be disconnected. + test_state.activate_leaf(&mut state, 14).await; + test_state.assert_peers_disconnected([first_peer, second_peer]).await; + assert!(state.connected_peers().is_empty()); +} + +// Test peer connection inheritance across scheduled para change. +#[tokio::test] +async fn test_peer_connections_across_schedule_change() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + + let mut state = make_state(MockDb::default(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + // Leaf 8 has 100, 200, 100. + // Leaf 9 has 200, 100, 200. + // Leaf 10 has 100, 200, 100. + + // First 5 peers will be declared for para 100. + // Next 5 peers will be declared for para 200. + // Last 5 peers undeclared. + let peer_ids = (0..15).map(|i| peer_id(i)).collect::>(); + + for id in peer_ids.iter() { + state.handle_peer_connected(&mut sender, *id, CollationVersion::V2).await; + } + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().collect()); + + for id in &peer_ids[..5] { + state.handle_declare(&mut sender, *id, 100.into()).await; + } + for id in &peer_ids[5..10] { + state.handle_declare(&mut sender, *id, 200.into()).await; + } + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().collect()); + + let all_100: Vec = std::iter::repeat(100.into()).take(3).collect(); + let all_600: Vec = std::iter::repeat(600.into()).take(3).collect(); + + let prev_leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + for (height, assignments) in [ + (11, vec![200.into(), 100.into(), 100.into()]), + (12, all_100.clone()), + (13, all_100.clone()), + (14, all_100), + (15, all_600.clone()), + (16, all_600.clone()), + (17, all_600), + ] { + let mut cq = prev_leaf_info.claim_queue.clone(); + cq.insert(prev_leaf_info.assigned_core, assignments); + + test_state.rp_info.insert( + get_hash(height), + RelayParentInfo { + number: height, + parent: get_parent_hash(height), + session_index: prev_leaf_info.session_index, + claim_queue: cq.clone(), + assigned_core: prev_leaf_info.assigned_core, + }, + ); + } + + // Send an active leaf update which preserves one last claim for para 200. + // Send the same active leaf update twice, should be idempotent. + for _ in 0..2 { + test_state.activate_leaf(&mut state, 11).await; + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().collect()); + } + + // Send active leaf updates which drop all assignments for para 200. The declared peers for + // 200 will be dropped. + for height in 12..=13 { + test_state.activate_leaf(&mut state, height).await; + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().collect()); + } + test_state.activate_leaf(&mut state, 14).await; + test_state.assert_peers_disconnected((&peer_ids[5..10]).to_vec()).await; + let expected_connected_peers = (&peer_ids[..5]) + .into_iter() + .cloned() + .chain((&peer_ids[10..15]).into_iter().cloned()) + .collect(); + assert_eq!(state.connected_peers(), expected_connected_peers); + test_state.assert_no_messages().await; + + // Send active leaf updates which drop all assignments for para 100 as well. Only undeclared + // peers will remain + for height in 15..=16 { + test_state.activate_leaf(&mut state, height).await; + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), expected_connected_peers); + } + + test_state.activate_leaf(&mut state, 17).await; + + test_state.assert_peers_disconnected((&peer_ids[0..5]).to_vec()).await; + let expected_connected_peers = (&peer_ids[10..]).into_iter().cloned().collect(); + assert_eq!(state.connected_peers(), expected_connected_peers); + test_state.assert_no_messages().await; + + // Add a fork which brings back assignment for para 200. Test that assignments are considered + // across forks. + let mut cq = prev_leaf_info.claim_queue.clone(); + cq.insert(prev_leaf_info.assigned_core, vec![200.into()]); + + let fork_hash = Hash::random(); + test_state.rp_info.insert( + fork_hash, + RelayParentInfo { + number: 17, + parent: get_parent_hash(17), + session_index: prev_leaf_info.session_index, + claim_queue: cq.clone(), + assigned_core: prev_leaf_info.assigned_core, + }, + ); + futures::join!(test_state.handle_view_update(vec![fork_hash]), async { + state + .handle_our_view_change(&mut sender, OurView::new([fork_hash], 0)) + .await + .unwrap() + }); + + assert_eq!(state.connected_peers(), expected_connected_peers); + test_state.assert_no_messages().await; + + // Declare a peer for para 600 and a peer for para 200. They should both be kept. + let peer_200 = peer_ids[10]; + let peer_600 = peer_ids[11]; + state.handle_declare(&mut sender, peer_200, 200.into()).await; + test_state.assert_no_messages().await; + + state.handle_declare(&mut sender, peer_600, 600.into()).await; + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), expected_connected_peers); +} + +// Test peer connection inheritance across group rotations. +#[tokio::test] +async fn test_peer_connections_across_group_rotations() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let active_leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + let initial_core = active_leaf_info.assigned_core; + assert_eq!(initial_core, CoreIndex(0)); + let next_core = CoreIndex(1); + + // Set the rotation frequency to 12, so that the core is switched to core 1 on block 11. + test_state + .session_info + .get_mut(&active_leaf_info.session_index) + .unwrap() + .group_rotation_info + .group_rotation_frequency = 12; + + let mut state = make_state(MockDb::default(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + let mut cq = active_leaf_info.claim_queue.clone(); + cq.insert(next_core, std::iter::repeat(600.into()).take(3).collect()); + + for rp_info in test_state.rp_info.values_mut() { + rp_info.claim_queue = cq.clone(); + } + + // Leaf 8 has 100, 200, 100. + // Leaf 9 has 200, 100, 200. + // Leaf 10 has 100, 200, 100. + // Leaves 11-13 switch to 600, 600, 600 + + // First 5 peers will be declared for para 100. + // Last 5 peers undeclared. + let peer_ids = (0..10).map(|i| peer_id(i)).collect::>(); + + for id in peer_ids.iter() { + state.handle_peer_connected(&mut sender, *id, CollationVersion::V2).await; + } + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().collect()); + + for id in &peer_ids[..5] { + state.handle_declare(&mut sender, *id, 100.into()).await; + } + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().collect()); + + for height in 11..=13 { + test_state.rp_info.insert( + get_hash(height), + RelayParentInfo { + number: height, + parent: get_parent_hash(height), + session_index: active_leaf_info.session_index, + claim_queue: cq.clone(), + assigned_core: next_core, + }, + ); + } + + for height in 11..=12 { + test_state.activate_leaf(&mut state, height).await; + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peer_ids.clone().into_iter().collect()); + } + + test_state.activate_leaf(&mut state, 13).await; + test_state.assert_peers_disconnected((&peer_ids[0..5]).to_vec()).await; + assert_eq!(state.connected_peers(), (&peer_ids[5..]).into_iter().cloned().collect()); + + // Declare the yet undeclared peers for para 600. + for id in &peer_ids[5..] { + state.handle_declare(&mut sender, *id, 600.into()).await; + } + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), (&peer_ids[5..]).into_iter().cloned().collect()); +} + +#[tokio::test] +// Test reputation bumps on finalized block notification. +async fn finalized_block_notification() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + + let db = MockDb::default(); + let mut state = make_state(db.clone(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + // Add 3 peers and connect them + let first_peer = peer_id(1); + let second_peer = peer_id(2); + let third_peer = peer_id(3); + let peers = vec![first_peer, second_peer, third_peer]; + + for peer in peers.iter() { + state.handle_peer_connected(&mut sender, *peer, CollationVersion::V2).await; + } + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peers.clone().into_iter().collect()); + + // Finalize block 5, no expected bumps, because there are no included candidates. + futures::join!(test_state.handle_finalized_block(5), async { + state.handle_finalized_block(&mut sender, get_hash(5), 5).await.unwrap() + }); + test_state.assert_no_messages().await; + + // Add one included candidate at block 6 for first peer and para 100. + test_state.set_candidates_pending_availability( + [(get_hash(6), vec![(ParaId::from(100), first_peer)])].into_iter().collect(), + ); + + let mut expected_bumps = BTreeMap::new(); + expected_bumps.insert( + ParaId::new(100), + [(first_peer, Score::new(VALID_INCLUDED_CANDIDATE_BUMP).unwrap())] + .into_iter() + .collect(), + ); + + futures::join!(test_state.handle_finalized_block(6), async { + state.handle_finalized_block(&mut sender, get_hash(6), 6).await.unwrap() + }); + test_state.assert_no_messages().await; + + assert_eq!(db.witnessed_bumps(), expected_bumps); + + // This peer is not even connected, but we should process its reputation bumps. + let fourth_peer = peer_id(4); + + test_state.set_candidates_pending_availability( + [ + // Keep this one to ensure that we don't end up processing it again. + (get_hash(6), vec![(ParaId::from(100), first_peer)]), + ( + get_hash(7), + vec![ + (ParaId::from(200), first_peer), + (ParaId::from(200), first_peer), + (ParaId::from(200), second_peer), + ], + ), + (get_hash(8), vec![(ParaId::from(100), fourth_peer)]), + (get_hash(10), vec![(ParaId::from(100), first_peer)]), + ] + .into_iter() + .collect(), + ); + + let mut expected_bumps = BTreeMap::new(); + expected_bumps.insert( + ParaId::new(100), + [ + (first_peer, Score::new(VALID_INCLUDED_CANDIDATE_BUMP).unwrap()), + (fourth_peer, Score::new(VALID_INCLUDED_CANDIDATE_BUMP).unwrap()), + ] + .into_iter() + .collect(), + ); + expected_bumps.insert( + ParaId::new(200), + [ + (first_peer, Score::new(2 * VALID_INCLUDED_CANDIDATE_BUMP).unwrap()), + (second_peer, Score::new(VALID_INCLUDED_CANDIDATE_BUMP).unwrap()), + ] + .into_iter() + .collect(), + ); + + // Add multiple included candidates at different block heights and check that they are processed + // accordingly. + futures::join!(test_state.handle_finalized_block(10), async { + state.handle_finalized_block(&mut sender, get_hash(10), 10).await.unwrap() + }); + test_state.assert_no_messages().await; + assert_eq!(state.connected_peers(), peers.clone().into_iter().collect()); + + assert_eq!(db.witnessed_bumps(), expected_bumps); +} + +#[tokio::test] +// Test various scenarios for rejecting advertisements. +async fn test_advertisement_rejections() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + + let mut state = make_state(MockDb::default(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + let peer_id = PeerId::random(); + + let (ccr, adv) = dummy_candidate( + active_leaf, + 100.into(), + peer_id, + leaf_info.assigned_core, + leaf_info.session_index, + dummy_pvd().hash(), + ); + + let prospective_candidate = adv.prospective_candidate; + + // Send advertisement from a peer that is not connected. Will be dropped. + state.handle_advertisement(&mut sender, peer_id, active_leaf, None).await; + assert!(state.advertisements().is_empty()); + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + // Send advertisement from a peer that is connected but not declared. Will be dropped. + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + + state + .handle_advertisement(&mut sender, peer_id, active_leaf, prospective_candidate) + .await; + assert!(state.advertisements().is_empty()); + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + // Now declare. Still, the old advertisement was dropped. + state.handle_declare(&mut sender, peer_id, 100.into()).await; + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + assert!(state.advertisements().is_empty()); + + // Relay parent outside view. + state + .handle_advertisement(&mut sender, peer_id, get_hash(11), prospective_candidate) + .await; + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + assert!(state.advertisements().is_empty()); + + // Blocked by the backing subsystem. Do this twice, so that we reach the per-rp candidate limit + // of this peer (which is 2). + for _ in 0..2 { + futures::join!( + state.handle_advertisement(&mut sender, peer_id, active_leaf, prospective_candidate), + test_state.assert_can_second_request(adv, false) + ); + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + assert!(state.advertisements().is_empty()); + } + + // Here comes a valid advertisement, will be rejected because we reached the limit. + state + .handle_advertisement(&mut sender, peer_id, active_leaf, prospective_candidate) + .await; + + // Let's add a new peerid then. + let peer_id = PeerId::random(); + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + // Add a valid advertisement. + let adv = Advertisement { + peer_id, + para_id: 100.into(), + relay_parent: active_leaf, + prospective_candidate, + }; + test_state.handle_advertisement(&mut state, adv).await; + assert_eq!(state.advertisements(), [adv].into()); + + // Duplicate advertisement. Only one fetch request will be launched. + state + .handle_advertisement(&mut sender, peer_id, active_leaf, prospective_candidate) + .await; + assert_eq!(state.advertisements(), [adv].into()); + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(adv).await; + assert_eq!(state.advertisements(), [adv].into()); + test_state.assert_no_messages().await; + + // We still detect the duplicate advertisement with a fetching collation. + state + .handle_advertisement(&mut sender, peer_id, active_leaf, prospective_candidate) + .await; + assert_eq!(state.advertisements(), [adv].into()); + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + // We still detect the duplicate advertisement with the fetched collation. + test_state.handle_fetched_collation(&mut state, adv, ccr.to_plain(), None).await; + test_state.assert_no_messages().await; + assert!(state.advertisements().is_empty()); + state + .handle_advertisement(&mut sender, peer_id, active_leaf, prospective_candidate) + .await; + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + // We still detect the duplicate advertisement with a seconded collation. + test_state + .second_collation(&mut state, peer_id, CollationVersion::V2, ccr) + .await; + test_state.assert_no_messages().await; + assert!(state.advertisements().is_empty()); + state + .handle_advertisement(&mut sender, peer_id, active_leaf, prospective_candidate) + .await; + state.try_launch_new_fetch_requests(&mut sender).await; + assert!(state.advertisements().is_empty()); + test_state.assert_no_messages().await; + + // V1 advertisement rejected on non-active leaf. + let peer_id = PeerId::random(); + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + state.handle_advertisement(&mut sender, peer_id, get_hash(9), None).await; + assert!(state.advertisements().is_empty()); + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; +} + +#[tokio::test] +async fn test_collation_fetch_failure() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + + let db = MockDb::default(); + let mut state = make_state(db.clone(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + let mut ccr = dummy_committed_candidate_receipt_v2(active_leaf); + ccr.descriptor.set_para_id(100.into()); + ccr.descriptor.set_persisted_validation_data_hash(dummy_pvd().hash()); + ccr.descriptor.set_core_index(leaf_info.assigned_core); + ccr.descriptor.set_session_index(leaf_info.session_index); + + let receipt = ccr.to_plain(); + let prospective_candidate = Some(ProspectiveCandidate { + candidate_hash: receipt.hash(), + parent_head_data_hash: dummy_pvd().parent_head.hash(), + }); + + // Different network errors. + for (err, maybe_slash) in [ + // Cancelled by us. No slash. + (Err(CollationFetchError::Cancelled), None), + // Network error. No slash as it could be caused by us. + ( + Err(CollationFetchError::Request(RequestError::NetworkError( + RequestFailure::NotConnected, + ))), + None, + ), + ( + Err(CollationFetchError::Request(RequestError::NetworkError(RequestFailure::Network( + OutboundFailure::DialFailure, + )))), + None, + ), + // Timeout. Slash. + ( + Err(CollationFetchError::Request(RequestError::NetworkError(RequestFailure::Network( + OutboundFailure::Timeout, + )))), + Some(FAILED_FETCH_SLASH), + ), + // Invalid response. Slash. + ( + Err(CollationFetchError::Request(RequestError::InvalidResponse("Invalid".into()))), + Some(FAILED_FETCH_SLASH), + ), + ] { + let peer_id = PeerId::random(); + + // We reuse the same advertisement, to test that if a fetch fails, another peer can + // advertise the same collation. + let adv = Advertisement { + peer_id, + para_id: 100.into(), + relay_parent: active_leaf, + prospective_candidate, + }; + + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv).await; + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(adv).await; + + state.handle_fetched_collation(&mut sender, (adv, err)).await; + // Once it failed, we no longer retry it. + state.try_launch_new_fetch_requests(&mut sender).await; + assert_eq!(db.witnessed_slash(), maybe_slash.map(|score| (peer_id, adv.para_id, score))); + test_state.assert_no_messages().await; + } + + // Received paraid is different than the advertised one. Try for both network protocol + // versions. This implies a check on the candidate hash as well for v2 advertisements. + for version in [CollationVersion::V1, CollationVersion::V2] { + let peer_id = PeerId::random(); + + let adv = Advertisement { + peer_id, + para_id: 100.into(), + relay_parent: active_leaf, + prospective_candidate: if version == CollationVersion::V2 { + prospective_candidate + } else { + None + }, + }; + + state.handle_peer_connected(&mut sender, peer_id, version).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(adv).await; + + let mut receipt = receipt.clone(); + // Modify the paraid. + receipt.descriptor.set_para_id(200.into()); + let res = Ok(CollationFetchingResponse::Collation(receipt, dummy_pov())); + state.handle_fetched_collation(&mut sender, (adv, res)).await; + state.try_launch_new_fetch_requests(&mut sender).await; + assert_eq!(db.witnessed_slash(), Some((peer_id, adv.para_id, FAILED_FETCH_SLASH))); + test_state.assert_no_messages().await; + } + + // Relay parent mismatch. + { + let peer_id = PeerId::random(); + + let mut adv = Advertisement { + peer_id, + para_id: 100.into(), + relay_parent: active_leaf, + prospective_candidate, + }; + + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(adv).await; + + // Modify the relay parent. + adv.relay_parent = get_hash(8); + let res = Ok(CollationFetchingResponse::Collation(receipt.clone(), dummy_pov())); + state.handle_fetched_collation(&mut sender, (adv, res)).await; + state.try_launch_new_fetch_requests(&mut sender).await; + assert_eq!(db.witnessed_slash(), Some((peer_id, adv.para_id, FAILED_FETCH_SLASH))); + test_state.assert_no_messages().await; + } + + // Invalid core index on the v2 descriptor. + { + let peer_id = PeerId::random(); + + let mut receipt = receipt.clone(); + // Set a different core index. + receipt.descriptor.set_core_index(CoreIndex(5)); + + let prospective_candidate = Some(ProspectiveCandidate { + candidate_hash: receipt.hash(), + parent_head_data_hash: dummy_pvd().parent_head.hash(), + }); + let adv = Advertisement { + peer_id, + para_id: 100.into(), + relay_parent: active_leaf, + prospective_candidate, + }; + + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(adv).await; + + let res = Ok(CollationFetchingResponse::Collation(receipt, dummy_pov())); + state.handle_fetched_collation(&mut sender, (adv, res)).await; + state.try_launch_new_fetch_requests(&mut sender).await; + assert_eq!(db.witnessed_slash(), Some((peer_id, adv.para_id, FAILED_FETCH_SLASH))); + test_state.assert_no_messages().await; + } + + // Invalid session index on the v2 descriptor. + { + let peer_id = PeerId::random(); + + let mut receipt = receipt.clone(); + // Set a different session index. + receipt.descriptor.set_session_index(5); + + let prospective_candidate = Some(ProspectiveCandidate { + candidate_hash: receipt.hash(), + parent_head_data_hash: dummy_pvd().parent_head.hash(), + }); + let adv = Advertisement { + peer_id, + para_id: 100.into(), + relay_parent: active_leaf, + prospective_candidate, + }; + + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(adv).await; + + let res = Ok(CollationFetchingResponse::Collation(receipt, dummy_pov())); + state.handle_fetched_collation(&mut sender, (adv, res)).await; + state.try_launch_new_fetch_requests(&mut sender).await; + assert_eq!(db.witnessed_slash(), Some((peer_id, adv.para_id, FAILED_FETCH_SLASH))); + test_state.assert_no_messages().await; + } + + // PVD not found. Only check for v1 advertisement, which will end up querying the runtime. + // For v2 advertisement, an unknown PVD could just make the candidate end up being blocked from + // seconding (and we have other tests for it) + { + let peer_id = PeerId::random(); + + let adv = Advertisement { + peer_id, + para_id: 100.into(), + relay_parent: active_leaf, + prospective_candidate: None, + }; + + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V1).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(adv).await; + + let res = Ok(CollationFetchingResponse::Collation(receipt.clone(), dummy_pov())); + futures::join!( + state.handle_fetched_collation(&mut sender, (adv, res)), + test_state.assert_pvd_request(adv, None) + ); + state.try_launch_new_fetch_requests(&mut sender).await; + // No slash, as it's not the collator's fault. + assert_eq!(db.witnessed_slash(), None); + test_state.assert_no_messages().await; + } + + // PVD Mismatch. + { + let peer_id = PeerId::random(); + + let mut receipt = receipt.clone(); + // Modify some random thing in the receipt so that we get a different candidate. + receipt.commitments_hash = get_hash(10); + + let prospective_candidate = Some(ProspectiveCandidate { + candidate_hash: receipt.hash(), + parent_head_data_hash: dummy_pvd().parent_head.hash(), + }); + + let adv = Advertisement { + peer_id, + para_id: 100.into(), + relay_parent: active_leaf, + prospective_candidate, + }; + + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(adv).await; + + // Modify the PVD. + let mut pvd: PersistedValidationData = dummy_pvd(); + pvd.relay_parent_number = 100; + + let res = Ok(CollationFetchingResponse::Collation(receipt, dummy_pov())); + futures::join!( + state.handle_fetched_collation(&mut sender, (adv, res)), + test_state.assert_pvd_request(adv, Some(pvd)) + ); + state.try_launch_new_fetch_requests(&mut sender).await; + assert_eq!(db.witnessed_slash(), Some((peer_id, adv.para_id, FAILED_FETCH_SLASH))); + test_state.assert_no_messages().await; + } + + // Parent head data mismatch. + { + let peer_id = PeerId::random(); + + let mut receipt = receipt.clone(); + // Modify some random thing in the receipt so that we get a different candidate. + receipt.commitments_hash = get_hash(11); + + let prospective_candidate = Some(ProspectiveCandidate { + candidate_hash: receipt.hash(), + // Randomly modify the parent head data hash in the advertisement. + parent_head_data_hash: get_hash(11), + }); + + let adv = Advertisement { + peer_id, + para_id: 100.into(), + relay_parent: active_leaf, + prospective_candidate, + }; + + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(adv).await; + + let res = Ok(CollationFetchingResponse::Collation(receipt, dummy_pov())); + futures::join!( + state.handle_fetched_collation(&mut sender, (adv, res)), + test_state.assert_pvd_request(adv, Some(dummy_pvd())) + ); + state.try_launch_new_fetch_requests(&mut sender).await; + assert_eq!(db.witnessed_slash(), Some((peer_id, adv.para_id, FAILED_FETCH_SLASH))); + test_state.assert_no_messages().await; + } + + // Parent head data mismatch with full parent head present in response. + { + let peer_id = PeerId::random(); + + let mut receipt = receipt.clone(); + // Modify some random thing in the receipt so that we get a different candidate. + receipt.commitments_hash = get_hash(12); + + let prospective_candidate = Some(ProspectiveCandidate { + candidate_hash: receipt.hash(), + parent_head_data_hash: dummy_pvd().parent_head.hash(), + }); + + let adv = Advertisement { + peer_id, + para_id: 100.into(), + relay_parent: active_leaf, + prospective_candidate, + }; + + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(adv).await; + + let res = Ok(CollationFetchingResponse::CollationWithParentHeadData { + receipt, + pov: dummy_pov(), + // Add a random head data here. + parent_head_data: HeadData(vec![1, 2, 3]), + }); + let mut pvd = dummy_pvd(); + pvd.parent_head = HeadData(vec![1, 2, 3]); + + futures::join!( + state.handle_fetched_collation(&mut sender, (adv, res)), + test_state.assert_pvd_request(adv, Some(pvd)) + ); + state.try_launch_new_fetch_requests(&mut sender).await; + assert_eq!(db.witnessed_slash(), Some((peer_id, adv.para_id, FAILED_FETCH_SLASH))); + test_state.assert_no_messages().await; + } +} + +#[tokio::test] +// Test a successful collation fetch that went out of the view in the meantime. +async fn test_collation_response_out_of_view() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + + let db = MockDb::default(); + let mut state = make_state(db.clone(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + let peer_id = PeerId::random(); + + let (_, adv) = dummy_candidate( + active_leaf, + 100.into(), + peer_id, + leaf_info.assigned_core, + leaf_info.session_index, + dummy_pvd().hash(), + ); + + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + let _resp_sender = test_state.assert_collation_request(adv).await; + + // While the request is pending, handle some new leaf updates which remove the 10th relay parent + // from the allowed ancestry. + for height in 11..=13 { + test_state.rp_info.insert( + get_hash(height), + RelayParentInfo { + number: height, + parent: get_parent_hash(height), + session_index: leaf_info.session_index, + claim_queue: leaf_info.claim_queue.clone(), + assigned_core: leaf_info.assigned_core, + }, + ); + } + + test_state.activate_leaf(&mut state, 11).await; + + assert!(state + .collation_response_stream() + .select_next_some() + .timeout(TIMEOUT) + .await + .is_none()); + + test_state.activate_leaf(&mut state, 12).await; + + assert!(state + .collation_response_stream() + .select_next_some() + .timeout(TIMEOUT) + .await + .is_none()); + + test_state.activate_leaf(&mut state, 13).await; + + let resp = state + .collation_response_stream() + .select_next_some() + .timeout(TIMEOUT) + .await + .unwrap(); + + assert_eq!(resp.0, adv); + assert_matches!(resp.1, Err(CollationFetchError::Cancelled)); + + assert!(db.witnessed_slash().is_none()); +} + +#[tokio::test] +// Test that v2 candidates are rejected if the node feature is disabled. +async fn test_v2_descriptor_without_feature_enabled() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + // Clear the node feature. + test_state.session_info.get_mut(&leaf_info.session_index).unwrap().v2_receipts = false; + + let db = MockDb::default(); + let mut state = make_state(db.clone(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + let peer_id = PeerId::random(); + + // Build a v2 candidate. + let (ccr, adv) = dummy_candidate( + active_leaf, + 100.into(), + peer_id, + leaf_info.assigned_core, + leaf_info.session_index, + dummy_pvd().hash(), + ); + + let receipt = ccr.to_plain(); + + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(adv).await; + + let res = Ok(CollationFetchingResponse::Collation(receipt, dummy_pov())); + state.handle_fetched_collation(&mut sender, (adv, res)).await; + state.try_launch_new_fetch_requests(&mut sender).await; + assert_eq!(db.witnessed_slash(), Some((peer_id, adv.para_id, FAILED_FETCH_SLASH))); + test_state.assert_no_messages().await; +} + +#[rstest] +#[case(true)] +#[case(false)] +#[tokio::test] +// Test that we still accept v1 candidates regardless of whether the v2 descriptor node feature is +// enabled or not +async fn v1_descriptor_compatibility(#[case] v2_receipts: bool) { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + + // Set the node feature. + test_state.session_info.get_mut(&leaf_info.session_index).unwrap().v2_receipts = v2_receipts; + + let db = MockDb::default(); + let mut state = make_state(db.clone(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + // Build a v1 candidate. + let mut ccr = dummy_committed_candidate_receipt(active_leaf); + ccr.descriptor.para_id = 100.into(); + ccr.descriptor.persisted_validation_data_hash = dummy_pvd().hash(); + + let receipt = ccr.to_plain(); + let prospective_candidate = Some(ProspectiveCandidate { + candidate_hash: receipt.hash(), + parent_head_data_hash: dummy_pvd().parent_head.hash(), + }); + + let peer_id = PeerId::random(); + + let adv = Advertisement { + peer_id, + para_id: 100.into(), + relay_parent: active_leaf, + prospective_candidate, + }; + + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(adv).await; + + test_state.handle_fetched_collation(&mut state, adv, receipt.into(), None).await; + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + test_state + .second_collation(&mut state, peer_id, CollationVersion::V2, ccr.into()) + .await; + test_state.assert_no_messages().await; +} + +#[tokio::test] +// Test a collation that is deemed invalid by candidate-backing. It will lead to a slash and the +// slot will be freed. +async fn test_invalid_collation() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + + let db = MockDb::default(); + let mut state = make_state(db.clone(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + let good_peer = peer_id(1); + let bad_peer = peer_id(2); + + // Add two collations from this good peer. + let (_, first_adv) = dummy_candidate( + active_leaf, + 100.into(), + good_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(0), + ); + let (_, second_adv) = dummy_candidate( + active_leaf, + 100.into(), + good_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(1), + ); + + // Add one advertisement from the bad peer. + let (bad_ccr, bad_adv) = dummy_candidate( + active_leaf, + 100.into(), + bad_peer, + leaf_info.assigned_core, + leaf_info.session_index, + dummy_pvd().hash(), + ); + let bad_receipt = bad_ccr.to_plain(); + + state.handle_peer_connected(&mut sender, good_peer, CollationVersion::V2).await; + state.handle_declare(&mut sender, good_peer, 100.into()).await; + state.handle_peer_connected(&mut sender, bad_peer, CollationVersion::V2).await; + state.handle_declare(&mut sender, bad_peer, 100.into()).await; + + test_state.handle_advertisement(&mut state, first_adv).await; + test_state.handle_advertisement(&mut state, bad_adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_requests([first_adv, bad_adv].into()).await; + test_state.assert_no_messages().await; + + test_state.handle_advertisement(&mut state, second_adv).await; + // Second advertisement is not fetched yet, because all claim queue slots are occupied. + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + // The bad collation was fetched and it's invalid. + test_state + .handle_fetched_collation(&mut state, bad_adv, bad_receipt.clone(), None) + .await; + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + state.handle_invalid_collation(bad_receipt).await; + + // Bad peer was slashed. + assert_eq!(db.witnessed_slash().unwrap(), (bad_peer, 100.into(), INVALID_COLLATION_SLASH)); + + // Good peer now gets a chance of sending the second collation, since the slot was freed. + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(second_adv).await; + test_state.assert_no_messages().await; +} + +#[rstest] +#[case(true)] +#[case(false)] +#[tokio::test] +// Test that we can block the seconding of a candidate on its parent being seconded. If the parent +// is later seconded, the child is unblocked as well. If it's invalid, it will be dropped. +async fn test_blocked_from_seconding_by_parent(#[case] valid_parent: bool) { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + let para_id = ParaId::from(100); + + let db = MockDb::default(); + let mut state = make_state(db.clone(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + let first_peer = peer_id(1); + let second_peer = peer_id(2); + + let (first_pvd, first_ccr, first_adv) = { + let pvd = PersistedValidationData { + parent_head: HeadData(vec![0]), + relay_parent_number: 10, + ..dummy_pvd() + }; + let ccr = CommittedCandidateReceipt { + descriptor: make_valid_candidate_descriptor_v2( + para_id, + active_leaf, + leaf_info.assigned_core, + leaf_info.session_index, + pvd.hash(), + dummy_pov().hash(), + Hash::zero(), + HeadData(vec![1]).hash(), + Hash::zero(), + ), + commitments: dummy_candidate_commitments(HeadData(vec![1])), + }; + + let receipt = ccr.to_plain(); + let prospective_candidate = Some(ProspectiveCandidate { + candidate_hash: receipt.hash(), + parent_head_data_hash: pvd.parent_head.hash(), + }); + + ( + pvd, + ccr, + Advertisement { + peer_id: first_peer, + para_id, + relay_parent: active_leaf, + prospective_candidate, + }, + ) + }; + + let (second_pvd, second_ccr, second_adv) = { + let pvd = PersistedValidationData { + parent_head: HeadData(vec![1]), + relay_parent_number: 10, + ..dummy_pvd() + }; + let ccr = CommittedCandidateReceipt { + descriptor: make_valid_candidate_descriptor_v2( + para_id, + active_leaf, + leaf_info.assigned_core, + leaf_info.session_index, + pvd.hash(), + dummy_pov().hash(), + Hash::zero(), + HeadData(vec![2]).hash(), + Hash::zero(), + ), + commitments: dummy_candidate_commitments(HeadData(vec![2])), + }; + + let receipt = ccr.to_plain(); + let prospective_candidate = Some(ProspectiveCandidate { + candidate_hash: receipt.hash(), + parent_head_data_hash: pvd.parent_head.hash(), + }); + + ( + pvd, + ccr, + Advertisement { + peer_id: second_peer, + para_id, + relay_parent: active_leaf, + prospective_candidate, + }, + ) + }; + + state.handle_peer_connected(&mut sender, first_peer, CollationVersion::V2).await; + state + .handle_peer_connected(&mut sender, second_peer, CollationVersion::V2) + .await; + state.handle_declare(&mut sender, first_peer, para_id).await; + state.handle_declare(&mut sender, second_peer, para_id).await; + + test_state.handle_advertisement(&mut state, first_adv).await; + test_state.handle_advertisement(&mut state, second_adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_requests([first_adv, second_adv].into()).await; + + test_state.assert_no_messages().await; + + // First collation is fetched and seconding kicks off. + test_state + .handle_fetched_collation(&mut state, first_adv, first_ccr.to_plain(), Some(first_pvd)) + .await; + + // Then, second collation is fetched and seconding kicks off (but the parent header is unknown + // so it get's blocked) + let res = Ok(CollationFetchingResponse::Collation(second_ccr.to_plain(), dummy_pov())); + futures::join!( + state.handle_fetched_collation(&mut sender, (second_adv, res)), + // We don't know it's pvd so it gets blocked from seconding + test_state.assert_pvd_request(second_adv, None) + ); + test_state.assert_no_messages().await; + + // Add two new advertisements. They won't be fetched right now because we already have two + // claims (one blocked and one seconding). + let third_peer = peer_id(3); + state.handle_peer_connected(&mut sender, third_peer, CollationVersion::V2).await; + state.handle_declare(&mut sender, third_peer, para_id).await; + let (_, pending_adv_1) = dummy_candidate( + active_leaf, + para_id, + third_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(0), + ); + let (_, pending_adv_2) = dummy_candidate( + active_leaf, + para_id, + third_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(1), + ); + + test_state.handle_advertisement(&mut state, pending_adv_1).await; + test_state.handle_advertisement(&mut state, pending_adv_2).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + + test_state.assert_no_messages().await; + + if valid_parent { + let statement = make_seconded_statement(&test_state.keystore, first_ccr); + + futures::join!( + async { + state.handle_seconded_collation(&mut sender, statement.clone()).await; + }, + test_state.assert_pvd_request(second_adv, Some(second_pvd.clone())) + ); + + test_state + .assert_collation_seconded_notification( + first_peer, + CollationVersion::V2, + statement.into(), + ) + .await; + + // Second collation was unblocked and it began being seconded. + test_state + .assert_seconding_kickoff(second_ccr.to_plain(), second_pvd, dummy_pov()) + .await; + + test_state.assert_no_messages().await; + test_state + .second_collation(&mut state, second_peer, CollationVersion::V2, second_ccr) + .await; + test_state.assert_no_messages().await; + + // These claims are not getting freed, since the collations were valid, so we can't launch + // more collation requests. + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + } else { + state.handle_invalid_collation(first_ccr.to_plain()).await; + assert_eq!( + db.witnessed_slash().unwrap(), + (first_peer, 100.into(), INVALID_COLLATION_SLASH) + ); + test_state.assert_no_messages().await; + + // Both claims were freed, we can now launch two new requests. + state.try_launch_new_fetch_requests(&mut sender).await; + test_state + .assert_collation_requests([pending_adv_1, pending_adv_2].into()) + .await; + } +} + +// Test that the blocked from seconding collation is pruned once the relay parent goes out of scope. +#[tokio::test] +async fn test_outdated_blocked_collations_are_pruned() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + let para_id = ParaId::from(100); + + let db = MockDb::default(); + let mut state = make_state(db.clone(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + test_state.rp_info.insert( + get_hash(11), + RelayParentInfo { + number: 11, + parent: get_parent_hash(11), + session_index: leaf_info.session_index, + claim_queue: [(leaf_info.assigned_core, vec![200.into(), 100.into(), 200.into()])] + .into_iter() + .collect(), + assigned_core: leaf_info.assigned_core, + }, + ); + test_state.rp_info.insert( + get_hash(12), + RelayParentInfo { + number: 12, + parent: get_parent_hash(12), + session_index: leaf_info.session_index, + claim_queue: [(leaf_info.assigned_core, vec![100.into(), 200.into(), 100.into()])] + .into_iter() + .collect(), + assigned_core: leaf_info.assigned_core, + }, + ); + test_state.rp_info.insert( + get_hash(13), + RelayParentInfo { + number: 13, + parent: get_parent_hash(13), + session_index: leaf_info.session_index, + claim_queue: [(leaf_info.assigned_core, vec![200.into(), 100.into(), 200.into()])] + .into_iter() + .collect(), + assigned_core: leaf_info.assigned_core, + }, + ); + + let first_peer = peer_id(1); + let second_peer = peer_id(2); + + let (first_pvd, first_ccr, first_adv) = { + let pvd = PersistedValidationData { + parent_head: HeadData(vec![0]), + relay_parent_number: 10, + ..dummy_pvd() + }; + let ccr = CommittedCandidateReceipt { + descriptor: make_valid_candidate_descriptor_v2( + para_id, + active_leaf, + leaf_info.assigned_core, + leaf_info.session_index, + pvd.hash(), + dummy_pov().hash(), + Hash::zero(), + HeadData(vec![1]).hash(), + Hash::zero(), + ), + commitments: dummy_candidate_commitments(HeadData(vec![1])), + }; + + let receipt = ccr.to_plain(); + let prospective_candidate = Some(ProspectiveCandidate { + candidate_hash: receipt.hash(), + parent_head_data_hash: pvd.parent_head.hash(), + }); + + ( + pvd, + ccr, + Advertisement { + peer_id: first_peer, + para_id, + relay_parent: active_leaf, + prospective_candidate, + }, + ) + }; + + let (_, second_ccr, second_adv) = { + let pvd = PersistedValidationData { + parent_head: HeadData(vec![1]), + relay_parent_number: 10, + ..dummy_pvd() + }; + let ccr = CommittedCandidateReceipt { + descriptor: make_valid_candidate_descriptor_v2( + para_id, + active_leaf, + leaf_info.assigned_core, + leaf_info.session_index, + pvd.hash(), + dummy_pov().hash(), + Hash::zero(), + HeadData(vec![2]).hash(), + Hash::zero(), + ), + commitments: dummy_candidate_commitments(HeadData(vec![2])), + }; + + let receipt = ccr.to_plain(); + let prospective_candidate = Some(ProspectiveCandidate { + candidate_hash: receipt.hash(), + parent_head_data_hash: pvd.parent_head.hash(), + }); + + ( + pvd, + ccr, + Advertisement { + peer_id: second_peer, + para_id, + relay_parent: active_leaf, + prospective_candidate, + }, + ) + }; + + test_state.activate_leaf(&mut state, 11).await; + test_state.activate_leaf(&mut state, 12).await; + + state.handle_peer_connected(&mut sender, first_peer, CollationVersion::V2).await; + state + .handle_peer_connected(&mut sender, second_peer, CollationVersion::V2) + .await; + state.handle_declare(&mut sender, first_peer, para_id).await; + state.handle_declare(&mut sender, second_peer, para_id).await; + + test_state.handle_advertisement(&mut state, first_adv).await; + test_state.handle_advertisement(&mut state, second_adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_requests([first_adv, second_adv].into()).await; + + test_state.assert_no_messages().await; + + // First collation is fetched and seconding kicks off. + test_state + .handle_fetched_collation(&mut state, first_adv, first_ccr.to_plain(), Some(first_pvd)) + .await; + + // Then, second collation is fetched and seconding kicks off (but the parent header is unknown + // so it get's blocked) + let res = Ok(CollationFetchingResponse::Collation(second_ccr.to_plain(), dummy_pov())); + futures::join!( + state.handle_fetched_collation(&mut sender, (second_adv, res)), + // We don't know it's pvd so it gets blocked from seconding + test_state.assert_pvd_request(second_adv, None) + ); + test_state.assert_no_messages().await; + + // Add two new advertisements. One won't be fetched because claims will become exhausted. + let third_peer = peer_id(3); + state.handle_peer_connected(&mut sender, third_peer, CollationVersion::V2).await; + state.handle_declare(&mut sender, third_peer, para_id).await; + let (_, pending_adv_1) = dummy_candidate( + get_hash(12), + para_id, + third_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(0), + ); + let (_, pending_adv_2) = dummy_candidate( + get_hash(12), + para_id, + third_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(1), + ); + + test_state.handle_advertisement(&mut state, pending_adv_1).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + + test_state.assert_collation_request(pending_adv_1).await; + + test_state.handle_advertisement(&mut state, pending_adv_2).await; + state.try_launch_new_fetch_requests(&mut sender).await; + + test_state.assert_no_messages().await; + + // Activating leaf 13 will remove the second collation (even though it's blocked). The claim + // will be freed so we can launch the second pending advertisement. + test_state.activate_leaf(&mut state, 13).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(pending_adv_2).await; + + // Even if we do end up getting a valid statement for the collation that would unblock the + // second collation, it's already been dropped. + let statement = make_seconded_statement(&test_state.keystore, first_ccr); + + state.handle_seconded_collation(&mut sender, statement).await; + + test_state.assert_no_messages().await; +} + +// Test that collation request is cancelled once the relay parent goes out of scope and the claim is +// freed. +#[tokio::test] +async fn test_outdated_fetching_collations_are_pruned() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + + test_state.rp_info.insert( + get_hash(11), + RelayParentInfo { + number: 11, + parent: get_parent_hash(11), + session_index: leaf_info.session_index, + claim_queue: [(leaf_info.assigned_core, vec![200.into(), 100.into(), 200.into()])] + .into_iter() + .collect(), + assigned_core: leaf_info.assigned_core, + }, + ); + test_state.rp_info.insert( + get_hash(12), + RelayParentInfo { + number: 12, + parent: get_parent_hash(12), + session_index: leaf_info.session_index, + claim_queue: [(leaf_info.assigned_core, vec![100.into(), 200.into(), 100.into()])] + .into_iter() + .collect(), + assigned_core: leaf_info.assigned_core, + }, + ); + test_state.rp_info.insert( + get_hash(13), + RelayParentInfo { + number: 13, + parent: get_parent_hash(13), + session_index: leaf_info.session_index, + claim_queue: [(leaf_info.assigned_core, vec![200.into(), 100.into(), 200.into()])] + .into_iter() + .collect(), + assigned_core: leaf_info.assigned_core, + }, + ); + + let db = MockDb::default(); + let mut state = make_state(db.clone(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + let peer_id = PeerId::random(); + let second_peer_id = PeerId::random(); + + // First and second advertisements are on block 10, the first RP that will go out of scope. + let (_, first_adv) = dummy_candidate( + get_hash(10), + 100.into(), + peer_id, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(0), + ); + + let (_, second_adv) = dummy_candidate( + get_hash(10), + 100.into(), + peer_id, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(1), + ); + + let (_, third_adv) = dummy_candidate( + get_hash(12), + 100.into(), + peer_id, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(2), + ); + + let (_, fourth_adv) = dummy_candidate( + get_hash(12), + 100.into(), + second_peer_id, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(3), + ); + + state.handle_peer_connected(&mut sender, peer_id, CollationVersion::V2).await; + state + .handle_peer_connected(&mut sender, second_peer_id, CollationVersion::V2) + .await; + state.handle_declare(&mut sender, peer_id, 100.into()).await; + state.handle_declare(&mut sender, second_peer_id, 100.into()).await; + + test_state.handle_advertisement(&mut state, first_adv).await; + state.try_launch_new_fetch_requests(&mut sender).await; + let _pending_first = test_state.assert_collation_request(first_adv).await; + + test_state.activate_leaf(&mut state, 11).await; + + assert!(state + .collation_response_stream() + .select_next_some() + .timeout(TIMEOUT) + .await + .is_none()); + + test_state.activate_leaf(&mut state, 12).await; + + test_state.handle_advertisement(&mut state, second_adv).await; + state.try_launch_new_fetch_requests(&mut sender).await; + let _pending_second = test_state.assert_collation_request(second_adv).await; + + test_state.handle_advertisement(&mut state, third_adv).await; + state.try_launch_new_fetch_requests(&mut sender).await; + let _pending_third = test_state.assert_collation_request(third_adv).await; + test_state.assert_no_messages().await; + + test_state.handle_advertisement(&mut state, fourth_adv).await; + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + // When we activate leaf 13, we'll drop the first and second advertisements, as they're out + // of view. + test_state.activate_leaf(&mut state, 13).await; + let mut cancelled = BTreeSet::new(); + + // Check that the collation fetches were cancelled and forward the results to the subsystem. + while let Some(resp) = + state.collation_response_stream().select_next_some().timeout(TIMEOUT).await + { + assert_matches!(resp.1, Err(CollationFetchError::Cancelled)); + cancelled.insert(resp.0); + state.handle_fetched_collation(&mut sender, resp).await; + } + + assert_eq!(cancelled, [first_adv, second_adv].into()); + + // Now we got one more spot for the fourth advertisement, since the second one was dropped. + state.try_launch_new_fetch_requests(&mut sender).await; + let _pending_fourth = test_state.assert_collation_request(fourth_adv).await; + + test_state.assert_no_messages().await; + + assert!(state + .collation_response_stream() + .select_next_some() + .timeout(TIMEOUT) + .await + .is_none()); +} + +#[tokio::test] +// Test that a v1 advertisement cannot claim a future slot. +async fn test_single_collation_per_rp_for_v1_advertisement() { + let mut test_state = TestState::default(); + let active_leaf = get_hash(10); + let leaf_info = test_state.rp_info.get(&active_leaf).unwrap().clone(); + + let first_peer = peer_id(1); + let second_peer = peer_id(2); + + let db = MockDb::new(Arc::new(Mutex::new(move |peer_id, _para_id| { + if peer_id == first_peer { + Some(Score::new(100).unwrap()) + } else { + None + } + }))); + let mut state = make_state(db.clone(), &mut test_state, active_leaf).await; + let mut sender = test_state.sender.clone(); + + // Make two v1 advertisements on the same RP. They will both try to claim the same slot, which + // is not possible. Only one will make it. + let (first_ccr, mut first_adv) = dummy_candidate( + get_hash(10), + 100.into(), + first_peer, + leaf_info.assigned_core, + leaf_info.session_index, + dummy_pvd().hash(), + ); + + let (_, mut second_adv) = dummy_candidate( + get_hash(10), + 100.into(), + second_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(1), + ); + + // Make them v1 advertisements. + second_adv.prospective_candidate = None; + first_adv.prospective_candidate = None; + + state.handle_peer_connected(&mut sender, first_peer, CollationVersion::V1).await; + state.handle_declare(&mut sender, first_peer, 100.into()).await; + state + .handle_peer_connected(&mut sender, second_peer, CollationVersion::V1) + .await; + state.handle_declare(&mut sender, second_peer, 100.into()).await; + + test_state.handle_advertisement(&mut state, first_adv).await; + + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(first_adv).await; + + test_state.handle_advertisement(&mut state, second_adv).await; + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + test_state + .handle_fetched_collation(&mut state, first_adv, first_ccr.to_plain(), None) + .await; + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + test_state + .second_collation(&mut state, first_peer, CollationVersion::V1, first_ccr) + .await; + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_no_messages().await; + + // Still, adding a v2 advertisement would work. + let (_, third_adv) = dummy_candidate( + get_hash(10), + 100.into(), + first_peer, + leaf_info.assigned_core, + leaf_info.session_index, + Hash::from_low_u64_be(2), + ); + test_state.handle_advertisement(&mut state, third_adv).await; + state.try_launch_new_fetch_requests(&mut sender).await; + test_state.assert_collation_request(third_adv).await; +} + +#[tokio::test] +// Test that activating a new leaf on top of an existing one doesn't overwrite the `PerRelayParent` +// state. +async fn test_view_update_preserves_relay_parent_state() { + let mut test_state = TestState::default(); + let leaf_a = get_hash(10); + let leaf_a_info = test_state.rp_info.get(&leaf_a).unwrap().clone(); + + let db = MockDb::default(); + let mut state = make_state(db.clone(), &mut test_state, leaf_a).await; + let mut sender = test_state.sender.clone(); + + let peer = peer_id(1); + + let (_, adv_a) = dummy_candidate( + leaf_a, + 100.into(), + peer, + leaf_a_info.assigned_core, + leaf_a_info.session_index, + dummy_pvd().hash(), + ); + + state.handle_peer_connected(&mut sender, peer, CollationVersion::V2).await; + state.handle_declare(&mut sender, peer, 100.into()).await; + + test_state.handle_advertisement(&mut state, adv_a).await; + + assert_eq!(state.advertisements(), [adv_a].into()); + + // Now activate a new leaf B which has A in its allowed ancestry + test_state.rp_info.insert( + get_hash(11), + RelayParentInfo { + number: 11, + parent: get_parent_hash(11), + session_index: leaf_a_info.session_index, + claim_queue: leaf_a_info.claim_queue.clone(), + assigned_core: leaf_a_info.assigned_core, + }, + ); + + test_state.activate_leaf(&mut state, 11).await; + + // Advertisement A should still be there + assert_eq!(state.advertisements(), [adv_a].into()); +} + +// Launching new collations: +// - multiple candidates per relay parent (including from implicit view and which occupy future +// claims, including which will make claims across different leaves) +// - Test fairness according to claim queue and rate limiting according to the claim queue (we +// already do but test a more complex case maybe with multiple paras) +// - test delay, test prioritisation + +// LATER: +// - Test subsystem startup: make sure we are properly populating the db. +// - Test a change in the registered paras on finalized block notification. diff --git a/polkadot/node/network/collator-protocol/src/validator_side/metrics.rs b/polkadot/node/network/collator-protocol/src/validator_side_metrics.rs similarity index 98% rename from polkadot/node/network/collator-protocol/src/validator_side/metrics.rs rename to polkadot/node/network/collator-protocol/src/validator_side_metrics.rs index 195a135947d88..3e5b497c828ab 100644 --- a/polkadot/node/network/collator-protocol/src/validator_side/metrics.rs +++ b/polkadot/node/network/collator-protocol/src/validator_side_metrics.rs @@ -74,6 +74,7 @@ struct MetricsInner { handle_collation_request_result: prometheus::Histogram, collator_peer_count: prometheus::Gauge, collation_request_duration: prometheus::Histogram, + // TODO: Not available for the new implementation. Remove with the old implementation. request_unblocked_collations: prometheus::Histogram, } diff --git a/polkadot/node/network/dispute-distribution/src/lib.rs b/polkadot/node/network/dispute-distribution/src/lib.rs index 2b4466fc2fc55..574d6c3ae25b5 100644 --- a/polkadot/node/network/dispute-distribution/src/lib.rs +++ b/polkadot/node/network/dispute-distribution/src/lib.rs @@ -210,8 +210,9 @@ where Err(f) => Err(f), } }, - FromOrchestra::Communication { msg } => - self.handle_subsystem_message(&mut ctx, msg).await, + FromOrchestra::Communication { msg } => { + self.handle_subsystem_message(&mut ctx, msg).await + }, }; log_error(result, "on FromOrchestra")?; }, @@ -254,8 +255,9 @@ where msg: DisputeDistributionMessage, ) -> Result<()> { match msg { - DisputeDistributionMessage::SendDispute(dispute_msg) => - self.disputes_sender.start_sender(ctx, &mut self.runtime, dispute_msg).await?, + DisputeDistributionMessage::SendDispute(dispute_msg) => { + self.disputes_sender.start_sender(ctx, &mut self.runtime, dispute_msg).await? + }, } Ok(()) } diff --git a/polkadot/node/network/dispute-distribution/src/receiver/batches/mod.rs b/polkadot/node/network/dispute-distribution/src/receiver/batches/mod.rs index 36397a0e3e67c..92a9164431630 100644 --- a/polkadot/node/network/dispute-distribution/src/receiver/batches/mod.rs +++ b/polkadot/node/network/dispute-distribution/src/receiver/batches/mod.rs @@ -99,7 +99,7 @@ impl Batches { candidate_receipt: CandidateReceipt, ) -> JfyiResult> { if self.batches.len() >= MAX_BATCHES { - return Err(JfyiError::MaxBatchLimitReached) + return Err(JfyiError::MaxBatchLimitReached); } debug_assert!(candidate_hash == candidate_receipt.hash()); let result = match self.batches.entry(candidate_hash) { diff --git a/polkadot/node/network/dispute-distribution/src/receiver/batches/waiting_queue.rs b/polkadot/node/network/dispute-distribution/src/receiver/batches/waiting_queue.rs index 9a5e665a57560..129a54b1896d0 100644 --- a/polkadot/node/network/dispute-distribution/src/receiver/batches/waiting_queue.rs +++ b/polkadot/node/network/dispute-distribution/src/receiver/batches/waiting_queue.rs @@ -90,7 +90,7 @@ impl WaitingQueue { let next_waiting = self.pending_wakes.peek(); let is_ready = next_waiting.map_or(false, |p| p.ready_at <= now); if is_ready { - return + return; } self.timer = next_waiting.map(|p| Delay::new(p.ready_at.duration_since(now))); diff --git a/polkadot/node/network/dispute-distribution/src/receiver/mod.rs b/polkadot/node/network/dispute-distribution/src/receiver/mod.rs index 174159f91b4c7..4dd150538b07a 100644 --- a/polkadot/node/network/dispute-distribution/src/receiver/mod.rs +++ b/polkadot/node/network/dispute-distribution/src/receiver/mod.rs @@ -184,7 +184,7 @@ where error = ?fatal, "Shutting down" ); - return + return; }, } } @@ -237,7 +237,7 @@ where poll_fn(|ctx| { // In case of Ready(None), we want to wait for pending requests: if let Poll::Ready(Some(v)) = self.pending_imports.poll_next_unpin(ctx) { - return Poll::Ready(Ok(MuxedMessage::ConfirmedImport(v?))) + return Poll::Ready(Ok(MuxedMessage::ConfirmedImport(v?))); } let rate_limited = self.peer_queues.pop_reqs(); @@ -245,13 +245,13 @@ where // We poll rate_limit before batches, so we don't unnecessarily delay importing to // batches. if let Poll::Ready(reqs) = rate_limited.poll(ctx) { - return Poll::Ready(Ok(MuxedMessage::WakePeerQueuesPopReqs(reqs))) + return Poll::Ready(Ok(MuxedMessage::WakePeerQueuesPopReqs(reqs))); } let ready_batches = self.batches.check_batches(); pin_mut!(ready_batches); if let Poll::Ready(ready_batches) = ready_batches.poll(ctx) { - return Poll::Ready(Ok(MuxedMessage::WakeCheckBatches(ready_batches))) + return Poll::Ready(Ok(MuxedMessage::WakeCheckBatches(ready_batches))); } let next_req = self.receiver.recv(|| vec![COST_INVALID_REQUEST]); @@ -260,7 +260,7 @@ where return match r { Err(e) => Poll::Ready(Err(incoming::Error::from(e).into())), Ok(v) => Poll::Ready(Ok(MuxedMessage::NewRequest(v))), - } + }; } Poll::Pending }) @@ -290,7 +290,7 @@ where sent_feedback: None, }) .map_err(|_| JfyiError::SendResponses(vec![peer]))?; - return Err(JfyiError::NotAValidator(peer).into()) + return Err(JfyiError::NotAValidator(peer).into()); }, Some(auth_id) => auth_id, }; @@ -309,7 +309,7 @@ where sent_feedback: None, }) .map_err(|_| JfyiError::SendResponses(vec![peer]))?; - return Err(JfyiError::AuthorityFlooding(authority_id)) + return Err(JfyiError::AuthorityFlooding(authority_id)); } Ok(()) } @@ -346,7 +346,7 @@ where }) .map_err(|_| JfyiError::SetPeerReputation(peer))?; - return Err(From::from(JfyiError::InvalidSignature(peer))) + return Err(From::from(JfyiError::InvalidSignature(peer))); }, Ok(votes) => votes, }; @@ -398,7 +398,7 @@ where sent_feedback: None, }) .map_err(|_| JfyiError::SendResponses(vec![peer]))?; - return Err(From::from(JfyiError::RedundantMessage(peer))) + return Err(From::from(JfyiError::RedundantMessage(peer))); } }, } @@ -423,7 +423,7 @@ where candidate_hash = ?candidate_receipt.hash(), "Not importing empty batch" ); - return + return; }, Some(vote) => (vote.0.session_index(), *vote.0.candidate_hash()), }; diff --git a/polkadot/node/network/dispute-distribution/src/receiver/peer_queues.rs b/polkadot/node/network/dispute-distribution/src/receiver/peer_queues.rs index bc58c019713b5..02c662bb8f2ff 100644 --- a/polkadot/node/network/dispute-distribution/src/receiver/peer_queues.rs +++ b/polkadot/node/network/dispute-distribution/src/receiver/peer_queues.rs @@ -71,7 +71,7 @@ impl PeerQueues { Entry::Vacant(vacant) => vacant.insert(VecDeque::new()), Entry::Occupied(occupied) => { if occupied.get().len() >= PEER_QUEUE_CAPACITY { - return Err((occupied.key().clone(), req)) + return Err((occupied.key().clone(), req)); } occupied.into_mut() }, diff --git a/polkadot/node/network/dispute-distribution/src/sender/mod.rs b/polkadot/node/network/dispute-distribution/src/sender/mod.rs index ff1263573cd88..235355fc37ce4 100644 --- a/polkadot/node/network/dispute-distribution/src/sender/mod.rs +++ b/polkadot/node/network/dispute-distribution/src/sender/mod.rs @@ -133,7 +133,7 @@ impl DisputeSender { match self.disputes.entry(candidate_hash) { Entry::Occupied(_) => { gum::trace!(target: LOG_TARGET, ?candidate_hash, "Dispute sending already active."); - return Ok(()) + return Ok(()); }, Entry::Vacant(vacant) => { self.rate_limit.limit("in start_sender", candidate_hash).await; @@ -174,7 +174,7 @@ impl DisputeSender { ?result, "Received `FromSendingTask::Finished` for non existing dispute." ); - return Ok(()) + return Ok(()); }, Some(task) => task, }; diff --git a/polkadot/node/network/dispute-distribution/src/sender/send_task.rs b/polkadot/node/network/dispute-distribution/src/sender/send_task.rs index f607c9431513d..e6b3ec3c38411 100644 --- a/polkadot/node/network/dispute-distribution/src/sender/send_task.rs +++ b/polkadot/node/network/dispute-distribution/src/sender/send_task.rs @@ -214,7 +214,7 @@ impl SendTask { ?result, "Received `FromSendingTask::Finished` for non existing task." ); - return + return; }, Some(status) => status, }; @@ -317,8 +317,9 @@ async fn wait_response_task( let result = pending_response.await; let msg = match result { Err(err) => TaskFinish { candidate_hash, receiver, result: TaskResult::Failed(err) }, - Ok(DisputeResponse::Confirmed) => - TaskFinish { candidate_hash, receiver, result: TaskResult::Succeeded }, + Ok(DisputeResponse::Confirmed) => { + TaskFinish { candidate_hash, receiver, result: TaskResult::Succeeded } + }, }; if let Err(err) = tx.send_message(msg).await { gum::debug!( diff --git a/polkadot/node/network/dispute-distribution/src/tests/mock.rs b/polkadot/node/network/dispute-distribution/src/tests/mock.rs index 3801f46fb4945..dc173bb9d4bf1 100644 --- a/polkadot/node/network/dispute-distribution/src/tests/mock.rs +++ b/polkadot/node/network/dispute-distribution/src/tests/mock.rs @@ -221,7 +221,7 @@ impl AuthorityDiscovery for MockAuthorityDiscovery { ?result, "Returning authority ids for peer id" ); - return Some(result) + return Some(result); } } diff --git a/polkadot/node/network/dispute-distribution/src/tests/mod.rs b/polkadot/node/network/dispute-distribution/src/tests/mod.rs index 0351f6955096c..14ffcb52a41e3 100644 --- a/polkadot/node/network/dispute-distribution/src/tests/mod.rs +++ b/polkadot/node/network/dispute-distribution/src/tests/mod.rs @@ -101,7 +101,7 @@ fn send_honors_rate_limit() { // First send should not be rate limited: gum::trace!("Passed time: {:#?}", Instant::now().saturating_duration_since(before_request)); // This test would likely be flaky on CI: - //assert!(Instant::now().saturating_duration_since(before_request) < SEND_RATE_LIMIT); + // assert!(Instant::now().saturating_duration_since(before_request) < SEND_RATE_LIMIT); let relay_parent = Hash::random(); let candidate = make_candidate_receipt(relay_parent); diff --git a/polkadot/node/network/gossip-support/src/lib.rs b/polkadot/node/network/gossip-support/src/lib.rs index 5ab3a435822c3..90d87a14b0728 100644 --- a/polkadot/node/network/gossip-support/src/lib.rs +++ b/polkadot/node/network/gossip-support/src/lib.rs @@ -210,7 +210,7 @@ where gum::debug!(target: LOG_TARGET, error = ?e); } }, - FromOrchestra::Signal(OverseerSignal::BlockFinalized(_hash, _number)) => + FromOrchestra::Signal(OverseerSignal::BlockFinalized(_hash, _number)) => { if let Some(session_index) = self.last_session_index { if let Err(e) = self .build_topology_for_last_finalized_if_needed( @@ -225,7 +225,8 @@ where e ); } - }, + } + }, FromOrchestra::Signal(OverseerSignal::Conclude) => return self, } } @@ -271,7 +272,7 @@ where "Failed to get session info.", ); - continue + continue; }, }; @@ -752,7 +753,7 @@ fn ensure_i_am_an_authority( ) -> Result { for (i, v) in authorities.iter().enumerate() { if Keystore::has_keys(&**keystore, &[(v.to_raw_vec(), AuthorityDiscoveryId::ID)]) { - return Ok(i) + return Ok(i); } } Err(util::Error::NotAValidator) diff --git a/polkadot/node/network/protocol/src/grid_topology.rs b/polkadot/node/network/protocol/src/grid_topology.rs index 41fef5bbabfb7..a77c94c3f9aed 100644 --- a/polkadot/node/network/protocol/src/grid_topology.rs +++ b/polkadot/node/network/protocol/src/grid_topology.rs @@ -114,7 +114,7 @@ impl SessionGridTopology { /// Returns `None` if the validator index is out of bounds. pub fn compute_grid_neighbors_for(&self, v: ValidatorIndex) -> Option { if self.shuffled_indices.len() != self.canonical_shuffling.len() { - return None + return None; } let shuffled_val_index = *self.shuffled_indices.get(v.0 as usize)?; @@ -157,7 +157,7 @@ fn matrix_neighbors( len: usize, ) -> Option, impl Iterator>> { if val_index >= len { - return None + return None; } // e.g. for size 11 the matrix would be @@ -214,7 +214,7 @@ impl GridNeighbors { local: bool, ) -> RequiredRouting { if local { - return RequiredRouting::GridXY + return RequiredRouting::GridXY; } let grid_x = self.validator_indices_x.contains(&originator); @@ -233,7 +233,7 @@ impl GridNeighbors { /// we're meant to send the message to. pub fn required_routing_by_peer_id(&self, originator: PeerId, local: bool) -> RequiredRouting { if local { - return RequiredRouting::GridXY + return RequiredRouting::GridXY; } let grid_x = self.peers_x.contains(&originator); @@ -460,11 +460,11 @@ impl SessionBoundGridTopologyStorage { pub fn get_topology(&self, idx: SessionIndex) -> Option<&SessionGridTopologyEntry> { if let Some(prev_topology) = &self.prev_topology { if idx == prev_topology.session_index { - return Some(&prev_topology.entry) + return Some(&prev_topology.entry); } } if self.current_topology.session_index == idx { - return Some(&self.current_topology.entry) + return Some(&self.current_topology.entry); } None diff --git a/polkadot/node/network/protocol/src/lib.rs b/polkadot/node/network/protocol/src/lib.rs index fa9effe440b12..5350dd15a7864 100644 --- a/polkadot/node/network/protocol/src/lib.rs +++ b/polkadot/node/network/protocol/src/lib.rs @@ -346,8 +346,9 @@ macro_rules! impl_versioned_validation_try_from { fn try_from(x: &'a $from) -> Result<$out, Self::Error> { #[allow(unreachable_patterns)] // when there is only one variant match x { - ValidationProtocols::V3($v3_pat) => - Ok(ValidationProtocols::V3($v3_out.clone())), + ValidationProtocols::V3($v3_pat) => { + Ok(ValidationProtocols::V3($v3_out.clone())) + }, _ => Err(crate::WrongVariant), } } diff --git a/polkadot/node/network/protocol/src/peer_set.rs b/polkadot/node/network/protocol/src/peer_set.rs index 08da290356438..811423cec73a9 100644 --- a/polkadot/node/network/protocol/src/peer_set.rs +++ b/polkadot/node/network/protocol/src/peer_set.rs @@ -168,20 +168,22 @@ impl PeerSet { // Unfortunately, labels must be static strings, so we must manually cover them // for all protocol versions here. match self { - PeerSet::Validation => + PeerSet::Validation => { if version == ValidationVersion::V3.into() { Some("validation/3") } else { None - }, - PeerSet::Collation => + } + }, + PeerSet::Collation => { if version == CollationVersion::V1.into() { Some("collation/1") } else if version == CollationVersion::V2.into() { Some("collation/2") } else { None - }, + } + }, } } } @@ -270,7 +272,7 @@ impl TryFrom for ValidationVersion { fn try_from(p: ProtocolVersion) -> Result { for v in Self::iter() { if v as u32 == p.0 { - return Ok(v) + return Ok(v); } } @@ -284,7 +286,7 @@ impl TryFrom for CollationVersion { fn try_from(p: ProtocolVersion) -> Result { for v in Self::iter() { if v as u32 == p.0 { - return Ok(v) + return Ok(v); } } @@ -320,7 +322,7 @@ impl PeerSetProtocolNames { let mut names = HashMap::new(); for protocol in PeerSet::iter() { match protocol { - PeerSet::Validation => + PeerSet::Validation => { for version in ValidationVersion::iter() { Self::register_main_protocol( &mut protocols, @@ -330,7 +332,8 @@ impl PeerSetProtocolNames { &genesis_hash, fork_id, ); - }, + } + }, PeerSet::Collation => { for version in CollationVersion::iter() { Self::register_main_protocol( @@ -566,7 +569,7 @@ mod tests { for protocol in PeerSet::iter() { match protocol { - PeerSet::Validation => + PeerSet::Validation => { for version in ValidationVersion::iter() { assert_eq!( protocol_names.get_name(protocol, version.into()), @@ -577,8 +580,9 @@ mod tests { version.into(), ), ); - }, - PeerSet::Collation => + } + }, + PeerSet::Collation => { for version in CollationVersion::iter() { assert_eq!( protocol_names.get_name(protocol, version.into()), @@ -589,7 +593,8 @@ mod tests { version.into(), ), ); - }, + } + }, } } } @@ -598,18 +603,20 @@ mod tests { fn all_protocol_versions_have_labels() { for protocol in PeerSet::iter() { match protocol { - PeerSet::Validation => + PeerSet::Validation => { for version in ValidationVersion::iter() { protocol .get_protocol_label(version.into()) .expect("All validation protocol versions must have a label."); - }, - PeerSet::Collation => + } + }, + PeerSet::Collation => { for version in CollationVersion::iter() { protocol .get_protocol_label(version.into()) .expect("All collation protocol versions must have a label."); - }, + } + }, } } } diff --git a/polkadot/node/network/protocol/src/request_response/incoming/mod.rs b/polkadot/node/network/protocol/src/request_response/incoming/mod.rs index 9577c690ebdc8..8bd548e66259d 100644 --- a/polkadot/node/network/protocol/src/request_response/incoming/mod.rs +++ b/polkadot/node/network/protocol/src/request_response/incoming/mod.rs @@ -98,9 +98,9 @@ where }; if let Err(_) = pending_response.send(response) { - return Err(JfyiError::DecodingErrorNoReputationChange(peer, err)) + return Err(JfyiError::DecodingErrorNoReputationChange(peer, err)); } - return Err(JfyiError::DecodingError(peer, err)) + return Err(JfyiError::DecodingError(peer, err)); }, }; Ok(Self::new(peer, payload, pending_response)) diff --git a/polkadot/node/network/protocol/src/request_response/mod.rs b/polkadot/node/network/protocol/src/request_response/mod.rs index fa867403f7e5e..57e5d570c4e6d 100644 --- a/polkadot/node/network/protocol/src/request_response/mod.rs +++ b/polkadot/node/network/protocol/src/request_response/mod.rs @@ -203,7 +203,7 @@ impl Protocol { CHUNK_REQUEST_TIMEOUT, tx, ), - Protocol::CollationFetchingV1 | Protocol::CollationFetchingV2 => + Protocol::CollationFetchingV1 | Protocol::CollationFetchingV2 => { N::request_response_config( name, legacy_names, @@ -212,7 +212,8 @@ impl Protocol { // Taken from initial implementation in collator protocol: POV_REQUEST_TIMEOUT_CONNECTED, tx, - ), + ) + }, Protocol::PoVFetchingV1 => N::request_response_config( name, legacy_names, diff --git a/polkadot/node/network/statement-distribution/src/v2/candidates.rs b/polkadot/node/network/statement-distribution/src/v2/candidates.rs index fd2d8b96ed1e8..1c85c90da8e8a 100644 --- a/polkadot/node/network/statement-distribution/src/v2/candidates.rs +++ b/polkadot/node/network/statement-distribution/src/v2/candidates.rs @@ -103,20 +103,20 @@ impl Candidates { match entry { CandidateState::Confirmed(ref c) => { if c.relay_parent() != claimed_relay_parent { - return Err(BadAdvertisement) + return Err(BadAdvertisement); } if c.group_index() != claimed_group_index { - return Err(BadAdvertisement) + return Err(BadAdvertisement); } if let Some((claimed_parent_hash, claimed_id)) = claimed_parent_hash_and_id { if c.parent_head_data_hash() != claimed_parent_hash { - return Err(BadAdvertisement) + return Err(BadAdvertisement); } if c.para_id() != claimed_id { - return Err(BadAdvertisement) + return Err(BadAdvertisement); } } }, @@ -296,8 +296,9 @@ impl Candidates { ) { for (c_hash, candidate) in i { match candidate { - CandidateState::Unconfirmed(u) => - u.extend_hypotheticals(*c_hash, v, maybe_required_parent), + CandidateState::Unconfirmed(u) => { + u.extend_hypotheticals(*c_hash, v, maybe_required_parent) + }, CandidateState::Confirmed(c) => v.push(c.to_hypothetical(*c_hash)), } } @@ -335,7 +336,7 @@ impl Candidates { } }; self.candidates.retain(|c_hash, state| match state { - CandidateState::Confirmed(ref mut c) => + CandidateState::Confirmed(ref mut c) => { if !relay_parent_live(&c.relay_parent()) { remove_parent_claims(*c_hash, c.parent_head_data_hash(), c.para_id()); false @@ -344,7 +345,8 @@ impl Candidates { c.importable_under.remove(leaf_hash); } true - }, + } + }, CandidateState::Unconfirmed(ref mut c) => { c.on_deactivate_leaves( leaves, diff --git a/polkadot/node/network/statement-distribution/src/v2/cluster.rs b/polkadot/node/network/statement-distribution/src/v2/cluster.rs index 26d7a68eb2a74..8817e44238ca9 100644 --- a/polkadot/node/network/statement-distribution/src/v2/cluster.rs +++ b/polkadot/node/network/statement-distribution/src/v2/cluster.rs @@ -98,7 +98,7 @@ impl ClusterTracker { /// Instantiate a new `ClusterTracker` tracker. Fails if `cluster_validators` is empty pub fn new(cluster_validators: Vec, seconding_limit: usize) -> Option { if cluster_validators.is_empty() { - return None + return None; } Some(ClusterTracker { validators: cluster_validators, @@ -118,11 +118,11 @@ impl ClusterTracker { statement: CompactStatement, ) -> Result { if !self.is_in_group(sender) || !self.is_in_group(originator) { - return Err(RejectIncoming::NotInGroup) + return Err(RejectIncoming::NotInGroup); } if self.they_sent(sender, Knowledge::Specific(statement.clone(), originator)) { - return Err(RejectIncoming::Duplicate) + return Err(RejectIncoming::Duplicate); } match statement { @@ -145,7 +145,7 @@ impl ClusterTracker { .count(); if other_seconded_for_orig_from_remote == self.seconding_limit { - return Err(RejectIncoming::ExcessiveSeconded) + return Err(RejectIncoming::ExcessiveSeconded); } // at this point, it doesn't seem like the remote has done anything wrong. @@ -157,7 +157,7 @@ impl ClusterTracker { }, CompactStatement::Valid(candidate_hash) => { if !self.knows_candidate(sender, candidate_hash) { - return Err(RejectIncoming::CandidateUnknown) + return Err(RejectIncoming::CandidateUnknown); } Ok(Accept::Ok) @@ -234,11 +234,11 @@ impl ClusterTracker { statement: CompactStatement, ) -> Result<(), RejectOutgoing> { if !self.is_in_group(target) || !self.is_in_group(originator) { - return Err(RejectOutgoing::NotInGroup) + return Err(RejectOutgoing::NotInGroup); } if self.they_know_statement(target, originator, statement.clone()) { - return Err(RejectOutgoing::Known) + return Err(RejectOutgoing::Known); } match statement { @@ -246,14 +246,14 @@ impl ClusterTracker { // we send the same `Seconded` statements to all our peers, and only the first `k` // from each originator. if !self.seconded_already_or_within_limit(originator, candidate_hash) { - return Err(RejectOutgoing::ExcessiveSeconded) + return Err(RejectOutgoing::ExcessiveSeconded); } Ok(()) }, CompactStatement::Valid(candidate_hash) => { if !self.knows_candidate(target, candidate_hash) { - return Err(RejectOutgoing::CandidateUnknown) + return Err(RejectOutgoing::CandidateUnknown); } Ok(()) diff --git a/polkadot/node/network/statement-distribution/src/v2/grid.rs b/polkadot/node/network/statement-distribution/src/v2/grid.rs index e11bc671e4a3b..4e8bb82b93785 100644 --- a/polkadot/node/network/statement-distribution/src/v2/grid.rs +++ b/polkadot/node/network/statement-distribution/src/v2/grid.rs @@ -131,7 +131,7 @@ pub fn build_session_topology<'a>( None => { gum::warn!(target: LOG_TARGET, ?our_index, "our index unrecognized in topology?"); - return view + return view; }, Some(n) => n, }; @@ -165,7 +165,7 @@ pub fn build_session_topology<'a>( .cloned(), ); - continue + continue; } if our_neighbors.validator_indices_y.contains(&group_val) { @@ -178,7 +178,7 @@ pub fn build_session_topology<'a>( .cloned(), ); - continue + continue; } // If they don't share a slice with us, we don't send to anybody @@ -191,7 +191,7 @@ pub fn build_session_topology<'a>( "validator index unrecognized in topology?" ); - continue + continue; }, Some(n) => n, }; @@ -200,7 +200,7 @@ pub fn build_session_topology<'a>( for potential_link in &their_neighbors.validator_indices_x { if our_neighbors.validator_indices_y.contains(potential_link) { sub_view.receiving.insert(*potential_link); - break // one max + break; // one max } } @@ -208,7 +208,7 @@ pub fn build_session_topology<'a>( for potential_link in &their_neighbors.validator_indices_y { if our_neighbors.validator_indices_x.contains(potential_link) { sub_view.receiving.insert(*potential_link); - break // one max + break; // one max } } } @@ -283,15 +283,16 @@ impl GridTracker { // * They are in the sending set for the group AND we have sent them a manifest AND // the received manifest is partial. ManifestKind::Full => receiving_from, - ManifestKind::Acknowledgement => + ManifestKind::Acknowledgement => { sending_to && self.confirmed_backed .get(&candidate_hash) - .map_or(false, |c| c.has_sent_manifest_to(sender)), + .map_or(false, |c| c.has_sent_manifest_to(sender)) + }, }; if !manifest_allowed { - return Err(ManifestImportError::Disallowed) + return Err(ManifestImportError::Disallowed); } let (group_size, backing_threshold) = @@ -303,18 +304,18 @@ impl GridTracker { let remote_knowledge = manifest.statement_knowledge.clone(); if !remote_knowledge.has_len(group_size) { - return Err(ManifestImportError::Malformed) + return Err(ManifestImportError::Malformed); } if !remote_knowledge.has_seconded() { - return Err(ManifestImportError::Malformed) + return Err(ManifestImportError::Malformed); } // ensure votes are sufficient to back. let votes = remote_knowledge.backing_validators(); if votes < backing_threshold { - return Err(ManifestImportError::Insufficient) + return Err(ManifestImportError::Insufficient); } self.received.entry(sender).or_default().import_received( @@ -386,7 +387,7 @@ impl GridTracker { { if claimed_group_index != group_index { // This is misbehavior, but is handled more comprehensively elsewhere - continue + continue; } let statement_filter = self @@ -589,7 +590,7 @@ impl GridTracker { }; if !known.note_fresh_statement(in_group, kind) { - return + return; } // Add to `pending_statements` for all validators we communicate with @@ -771,11 +772,11 @@ impl ReceivedManifests { { let prev = e.get(); if prev.claimed_group_index != manifest_summary.claimed_group_index { - return Err(ManifestImportError::Conflicting) + return Err(ManifestImportError::Conflicting); } if prev.claimed_parent_hash != manifest_summary.claimed_parent_hash { - return Err(ManifestImportError::Conflicting) + return Err(ManifestImportError::Conflicting); } if !manifest_summary @@ -783,7 +784,7 @@ impl ReceivedManifests { .seconded_in_group .contains(&prev.statement_knowledge.seconded_in_group) { - return Err(ManifestImportError::Conflicting) + return Err(ManifestImportError::Conflicting); } if !manifest_summary @@ -791,7 +792,7 @@ impl ReceivedManifests { .validated_in_group .contains(&prev.statement_knowledge.validated_in_group) { - return Err(ManifestImportError::Conflicting) + return Err(ManifestImportError::Conflicting); } let mut fresh_seconded = @@ -807,7 +808,7 @@ impl ReceivedManifests { ); if !within_limits { - return Err(ManifestImportError::Overflow) + return Err(ManifestImportError::Overflow); } } @@ -849,7 +850,7 @@ fn updating_ensure_within_seconding_limit( new_seconded: &BitSlice, ) -> bool { if seconding_limit == 0 { - return false + return false; } // due to the check above, if this was non-existent this function will @@ -858,7 +859,7 @@ fn updating_ensure_within_seconding_limit( for i in new_seconded.iter_ones() { if counts[i] == seconding_limit { - return false + return false; } } @@ -977,7 +978,7 @@ impl KnownBackedCandidate { statement_kind: StatementKind, ) -> Vec<(ValidatorIndex, bool)> { if group_index != self.group_index { - return Vec::new() + return Vec::new(); } self.mutual_knowledge @@ -1006,7 +1007,7 @@ impl KnownBackedCandidate { statement_kind: StatementKind, ) -> Vec { if group_index != self.group_index { - return Vec::new() + return Vec::new(); } self.mutual_knowledge diff --git a/polkadot/node/network/statement-distribution/src/v2/mod.rs b/polkadot/node/network/statement-distribution/src/v2/mod.rs index 8856b390208e1..cf90c4e591c64 100644 --- a/polkadot/node/network/statement-distribution/src/v2/mod.rs +++ b/polkadot/node/network/statement-distribution/src/v2/mod.rs @@ -387,7 +387,7 @@ impl PeerState { // under an active leaf. fn reconcile_active_leaf(&mut self, leaf_hash: Hash, implicit: &[Hash]) -> Vec { if !self.view.contains(&leaf_hash) { - return Vec::new() + return Vec::new(); } let mut v = Vec::with_capacity(implicit.len()); @@ -430,7 +430,7 @@ pub(crate) async fn handle_network_update( gum::trace!(target: LOG_TARGET, ?peer_id, ?role, ?protocol_version, "Peer connected"); let versioned_protocol = if protocol_version != ValidationVersion::V3.into() { - return + return; } else { protocol_version.try_into().expect("Qed, we checked above") }; @@ -494,7 +494,7 @@ pub(crate) async fn handle_network_update( NetworkBridgeEvent::PeerMessage(peer_id, message) => match message { net_protocol::StatementDistributionMessage::V3( protocol_v3::StatementDistributionMessage::Statement(relay_parent, statement), - ) => + ) => { handle_incoming_statement( ctx, state, @@ -504,18 +504,21 @@ pub(crate) async fn handle_network_update( reputation, metrics, ) - .await, + .await + }, net_protocol::StatementDistributionMessage::V3( protocol_v3::StatementDistributionMessage::BackedCandidateManifest(inner), ) => handle_incoming_manifest(ctx, state, peer_id, inner, reputation, metrics).await, net_protocol::StatementDistributionMessage::V3( protocol_v3::StatementDistributionMessage::BackedCandidateKnown(inner), - ) => + ) => { handle_incoming_acknowledgement(ctx, state, peer_id, inner, reputation, metrics) - .await, + .await + }, + }, + NetworkBridgeEvent::PeerViewChange(peer_id, view) => { + handle_peer_view_update(ctx, state, peer_id, view, metrics).await }, - NetworkBridgeEvent::PeerViewChange(peer_id, view) => - handle_peer_view_update(ctx, state, peer_id, view, metrics).await, NetworkBridgeEvent::OurViewChange(_view) => { // handled by `handle_activated_leaf` }, @@ -590,7 +593,7 @@ async fn handle_active_leaf_update( "No session info available for current session" ); - return Ok(()) + return Ok(()); }, Some(s) => s, }; @@ -703,7 +706,7 @@ pub(crate) async fn handle_active_leaves_update( for new_relay_parent in new_relay_parents.iter().cloned() { if state.per_relay_parent.contains_key(&new_relay_parent) { - continue + continue; } if let Err(err) = handle_active_leaf_update(ctx, state, new_relay_parent).await { @@ -713,7 +716,7 @@ pub(crate) async fn handle_active_leaves_update( error = ?err, "Failed to handle active leaf update" ); - continue + continue; } } @@ -755,7 +758,7 @@ fn find_active_validator_state( assignments_per_group: &HashMap>, ) -> Option { if groups.all().is_empty() { - return None + return None; } let our_group = groups.by_validator_index(validator_index)?; @@ -951,7 +954,7 @@ async fn send_pending_cluster_statements( .into_iter() .filter_map(|(originator, compact)| { if !candidates.is_confirmed(compact.candidate_hash()) { - return None + return None; } let res = pending_statement_network_message( @@ -1161,10 +1164,12 @@ pub(crate) async fn share_local_statement( // Two possibilities: either the statement is `Seconded` or we already // have the candidate. Sanity: check the para-id is valid. let expected = match statement.payload() { - FullStatementWithPVD::Seconded(ref c, _) => - Some((c.descriptor.para_id(), c.descriptor.relay_parent())), - FullStatementWithPVD::Valid(hash) => - state.candidates.get_confirmed(&hash).map(|c| (c.para_id(), c.relay_parent())), + FullStatementWithPVD::Seconded(ref c, _) => { + Some((c.descriptor.para_id(), c.descriptor.relay_parent())) + }, + FullStatementWithPVD::Valid(hash) => { + state.candidates.get_confirmed(&hash).map(|c| (c.para_id(), c.relay_parent())) + }, }; let is_seconded = match statement.payload() { @@ -1178,7 +1183,7 @@ pub(crate) async fn share_local_statement( }; if local_index != statement.validator_index() { - return Err(JfyiError::InvalidShare) + return Err(JfyiError::InvalidShare); } let seconding_limit = local_assignments.len(); @@ -1191,11 +1196,11 @@ pub(crate) async fn share_local_statement( limit = ?seconding_limit, "Local node has issued too many `Seconded` statements", ); - return Err(JfyiError::InvalidShare) + return Err(JfyiError::InvalidShare); } if !local_assignments.contains(&expected_para) || relay_parent != expected_relay_parent { - return Err(JfyiError::InvalidShare) + return Err(JfyiError::InvalidShare); } let mut post_confirmation = None; @@ -1225,7 +1230,7 @@ pub(crate) async fn share_local_statement( statement = ?compact_statement.payload(), "Candidate backing issued redundant statement?", ); - return Err(JfyiError::InvalidShare) + return Err(JfyiError::InvalidShare); }, Ok(true) => {}, } @@ -1486,7 +1491,7 @@ async fn handle_incoming_statement( let peer_state = match state.peers.get(&peer) { None => { // sanity: should be impossible. - return + return; }, Some(p) => p, }; @@ -1501,7 +1506,7 @@ async fn handle_incoming_statement( COST_UNEXPECTED_STATEMENT_MISSING_KNOWLEDGE, ) .await; - return + return; }, Some(p) => p, }; @@ -1514,7 +1519,7 @@ async fn handle_incoming_statement( "Missing expected session info.", ); - return + return; }, Some(s) => s, }; @@ -1528,7 +1533,7 @@ async fn handle_incoming_statement( "Ignoring a statement from disabled validator." ); modify_reputation(reputation, ctx.sender(), peer, COST_DISABLED_VALIDATOR).await; - return + return; } let local_validator = match per_relay_parent.local_validator.as_mut() { @@ -1544,7 +1549,7 @@ async fn handle_incoming_statement( ) .await; } - return + return; }, Some(l) => l, }; @@ -1560,7 +1565,7 @@ async fn handle_incoming_statement( COST_UNEXPECTED_STATEMENT_VALIDATOR_NOT_FOUND, ) .await; - return + return; }, }; @@ -1602,7 +1607,7 @@ async fn handle_incoming_statement( Ok(None) => return, Err(rep) => { modify_reputation(reputation, ctx.sender(), peer, rep).await; - return + return; }, } } else { @@ -1637,7 +1642,7 @@ async fn handle_incoming_statement( Ok(s) => s, Err(rep) => { modify_reputation(reputation, ctx.sender(), peer, rep).await; - return + return; }, } } else { @@ -1654,7 +1659,7 @@ async fn handle_incoming_statement( COST_UNEXPECTED_STATEMENT_INVALID_SENDER, ) .await; - return + return; } }; @@ -1682,7 +1687,7 @@ async fn handle_incoming_statement( COST_UNEXPECTED_STATEMENT_BAD_ADVERTISE, ) .await; - return + return; } } @@ -1717,7 +1722,7 @@ async fn handle_incoming_statement( "Error - accepted message from unknown validator." ); - return + return; }, Ok(known) => known, }; @@ -1789,12 +1794,13 @@ fn handle_cluster_statement( Ok(ClusterAccept::Ok) => true, Ok(ClusterAccept::WithPrejudice) => false, Err(ClusterRejectIncoming::ExcessiveSeconded) => return Err(COST_EXCESSIVE_SECONDED), - Err(ClusterRejectIncoming::CandidateUnknown | ClusterRejectIncoming::Duplicate) => - return Err(COST_UNEXPECTED_STATEMENT_CLUSTER_REJECTED), + Err(ClusterRejectIncoming::CandidateUnknown | ClusterRejectIncoming::Duplicate) => { + return Err(COST_UNEXPECTED_STATEMENT_CLUSTER_REJECTED) + }, Err(ClusterRejectIncoming::NotInGroup) => { // sanity: shouldn't be possible; we already filtered this // out above. - return Err(COST_UNEXPECTED_STATEMENT_NOT_IN_GROUP) + return Err(COST_UNEXPECTED_STATEMENT_NOT_IN_GROUP); }, } }; @@ -1935,7 +1941,7 @@ async fn provide_candidate_to_grid( "Cannot handle backable candidate due to lack of topology", ); - return + return; }, }; @@ -1950,7 +1956,7 @@ async fn provide_candidate_to_grid( "Handled backed candidate with unknown group?", ); - return + return; }, Some(g) => g.len(), }; @@ -1989,12 +1995,13 @@ async fn provide_candidate_to_grid( for (v, action) in actions { let p = match connected_validator_peer(authorities, per_session, v) { None => continue, - Some(p) => + Some(p) => { if peers.get(&p).map_or(false, |d| d.knows_relay_parent(&relay_parent)) { (p, peers.get(&p).expect("Qed, was checked above").protocol_version.into()) } else { - continue - }, + continue; + } + }, }; match action { @@ -2143,7 +2150,7 @@ async fn fragment_chain_update_inner( for (hypo, membership) in candidate_memberships { // skip parablocks which aren't potential candidates if membership.is_empty() { - continue + continue; } for leaf_hash in membership { @@ -2166,10 +2173,10 @@ async fn fragment_chain_update_inner( // Sanity check if group_index is valid for this para at relay parent. let Some(expected_groups) = prs.groups_per_para.get(&receipt.descriptor.para_id()) else { - continue + continue; }; if !expected_groups.iter().any(|g| *g == group_index) { - continue + continue; } if let Some(per_session) = per_session { @@ -2255,7 +2262,7 @@ async fn handle_incoming_manifest_common<'a, Context>( COST_UNEXPECTED_MANIFEST_MISSING_KNOWLEDGE, ) .await; - return None + return None; }, Some(s) => s, }; @@ -2272,17 +2279,17 @@ async fn handle_incoming_manifest_common<'a, Context>( ) .await; } - return None + return None; } let Some(expected_groups) = relay_parent_state.groups_per_para.get(¶_id) else { modify_reputation(reputation, ctx.sender(), peer, COST_MALFORMED_MANIFEST).await; - return None + return None; }; if !expected_groups.iter().any(|g| g == &manifest_summary.claimed_group_index) { modify_reputation(reputation, ctx.sender(), peer, COST_MALFORMED_MANIFEST).await; - return None + return None; } let grid_topology = per_session.grid_view.as_ref()?; @@ -2303,7 +2310,7 @@ async fn handle_incoming_manifest_common<'a, Context>( COST_UNEXPECTED_MANIFEST_PEER_UNKNOWN, ) .await; - return None + return None; }, Some(s) => s, }; @@ -2339,24 +2346,24 @@ async fn handle_incoming_manifest_common<'a, Context>( Ok(x) => x, Err(grid::ManifestImportError::Conflicting) => { modify_reputation(reputation, ctx.sender(), peer, COST_CONFLICTING_MANIFEST).await; - return None + return None; }, Err(grid::ManifestImportError::Overflow) => { modify_reputation(reputation, ctx.sender(), peer, COST_EXCESSIVE_SECONDED).await; - return None + return None; }, Err(grid::ManifestImportError::Insufficient) => { modify_reputation(reputation, ctx.sender(), peer, COST_INSUFFICIENT_MANIFEST).await; - return None + return None; }, Err(grid::ManifestImportError::Malformed) => { modify_reputation(reputation, ctx.sender(), peer, COST_MALFORMED_MANIFEST).await; - return None + return None; }, Err(grid::ManifestImportError::Disallowed) => { modify_reputation(reputation, ctx.sender(), peer, COST_UNEXPECTED_MANIFEST_DISALLOWED) .await; - return None + return None; }, }; @@ -2369,7 +2376,7 @@ async fn handle_incoming_manifest_common<'a, Context>( Some((claimed_parent_hash, para_id)), ) { modify_reputation(reputation, ctx.sender(), peer, COST_INACCURATE_ADVERTISEMENT).await; - return None + return None; } if acknowledge { @@ -2618,7 +2625,7 @@ async fn handle_incoming_acknowledgement( COST_UNEXPECTED_ACKNOWLEDGEMENT_UNKNOWN_CANDIDATE, ) .await; - return + return; }, } }; @@ -2701,7 +2708,7 @@ pub(crate) async fn handle_backed_candidate_message( "Received backed candidate notification for unknown or unconfirmed", ); - return + return; }, Some(c) => c, }; @@ -2839,7 +2846,7 @@ async fn apply_post_confirmation( #[overseer::contextbounds(StatementDistribution, prefix=self::overseer)] pub(crate) async fn dispatch_requests(ctx: &mut Context, state: &mut State) { if !state.request_manager.has_pending_requests() { - return + return; } let peers = &state.peers; @@ -2858,7 +2865,7 @@ pub(crate) async fn dispatch_requests(ctx: &mut Context, state: &mut St // but have surely sent us some. if let Some(active) = local_validator.active.as_ref() { if active.cluster_tracker.knows_candidate(validator_id, identifier.candidate_hash) { - return Some(StatementFilter::blank(active.cluster_tracker.targets().len())) + return Some(StatementFilter::blank(active.cluster_tracker.targets().len())); } } @@ -2867,7 +2874,7 @@ pub(crate) async fn dispatch_requests(ctx: &mut Context, state: &mut St .advertised_statements(validator_id, &identifier.candidate_hash); if let Some(f) = filter { - return Some(f) + return Some(f); } } @@ -2940,8 +2947,9 @@ pub(crate) async fn receive_response(response_manager: &mut ResponseManager) -> /// this API must call `dispatch_requests`. pub(crate) async fn next_retry(request_manager: &mut RequestManager) { match request_manager.next_retry_time() { - Some(instant) => - futures_timer::Delay::new(instant.saturating_duration_since(Instant::now())).await, + Some(instant) => { + futures_timer::Delay::new(instant.saturating_duration_since(Instant::now())).await + }, None => futures::future::pending().await, } } @@ -2992,7 +3000,7 @@ pub(crate) async fn handle_response( |v| per_session.session_info.validators.get(v).map(|x| x.clone()), |para, g_index| { let Some(expected_groups) = relay_parent_state.groups_per_para.get(¶) else { - return false + return false; }; expected_groups.iter().any(|g| g == &g_index) @@ -3015,7 +3023,7 @@ pub(crate) async fn handle_response( "Response incomplete. Retrying" ); - return + return; }, requests::CandidateRequestStatus::Complete { candidate, @@ -3052,7 +3060,7 @@ pub(crate) async fn handle_response( "Candidate re-confirmed by request/response: logic error", ); - return + return; } }; @@ -3065,7 +3073,7 @@ pub(crate) async fn handle_response( // hypothetical member of the fragment chain. Later, when it is, // we will import statements. if !confirmed.is_importable(None) { - return + return; } let relay_parent_state = match state.per_relay_parent.get_mut(&relay_parent) { @@ -3161,7 +3169,7 @@ pub(crate) fn answer_request(state: &mut State, message: ResponderMessage) { sent_feedback: None, }); - return + return; } // check peer is allowed to request the candidate (i.e. they're in the cluster or we've sent @@ -3179,12 +3187,12 @@ pub(crate) fn answer_request(state: &mut State, message: ResponderMessage) { { validator_id = Some(v); is_cluster = true; - break + break; } if local_validator.grid_tracker.can_request(v, *candidate_hash) { validator_id = Some(v); - break + break; } } @@ -3197,7 +3205,7 @@ pub(crate) fn answer_request(state: &mut State, message: ResponderMessage) { sent_feedback: None, }); - return + return; }, } }; @@ -3252,7 +3260,7 @@ pub(crate) fn answer_request(state: &mut State, message: ResponderMessage) { ?group_index, "Dropping a request from a grid peer because the backing threshold is no longer met." ); - return + return; } } diff --git a/polkadot/node/network/statement-distribution/src/v2/requests.rs b/polkadot/node/network/statement-distribution/src/v2/requests.rs index c3f5e8a856a02..54ad5ef4c09c8 100644 --- a/polkadot/node/network/statement-distribution/src/v2/requests.rs +++ b/polkadot/node/network/statement-distribution/src/v2/requests.rs @@ -103,13 +103,13 @@ pub struct RequestedCandidate { impl RequestedCandidate { fn is_pending(&self) -> bool { if self.in_flight { - return false + return false; } if let Some(next_retry_time) = self.next_retry_time { let can_retry = Instant::now() >= next_retry_time; if !can_retry { - return false + return false; } } @@ -280,7 +280,7 @@ impl RequestManager { pub fn has_pending_requests(&self) -> bool { for (_id, entry) in &self.requests { if entry.is_pending() { - return true + return true; } } @@ -327,7 +327,7 @@ impl RequestManager { // we would need to request it for each candidate, around 25 right now // on kusama. if response_manager.len() >= 2 * MAX_PARALLEL_ATTESTED_CANDIDATE_REQUESTS as usize { - return None + return None; } let mut res = None; @@ -346,19 +346,19 @@ impl RequestManager { "Missing entry for priority queue member", ); - continue + continue; }, Some(e) => e, }; if !entry.is_pending() { - continue + continue; } let props = match request_props(&id) { None => { cleanup_outdated.push((i, id.clone())); - continue + continue; }, Some(s) => s, }; @@ -405,7 +405,7 @@ impl RequestManager { entry.in_flight = true; res = Some(request); - break + break; } for (priority_index, identifier) in cleanup_outdated.into_iter().rev() { @@ -491,13 +491,13 @@ fn find_request_target_with_update( for (i, p) in known_by.iter().enumerate() { // If we are already sending to that peer, skip for now if response_manager.is_sending_to(p) { - continue + continue; } let mut filter = match peer_advertised(candidate_identifier, p) { None => { prune.push(i); - continue + continue; }, Some(f) => f, }; @@ -506,7 +506,7 @@ fn find_request_target_with_update( filter.mask_valid(&props.unwanted_mask.validated_in_group); if seconded_and_sufficient(&filter, props.backing_threshold) { target = Some((i, *p)); - break + break; } } @@ -583,12 +583,13 @@ impl UnhandledResponse { // it could also happen in the case that we had a request in-flight // and the request entry was garbage-collected on outdated relay parent. let entry = match manager.requests.get_mut(&identifier) { - None => + None => { return ResponseValidationOutput { requested_peer, reputation_changes: Vec::new(), request_status: CandidateRequestStatus::Outdated, - }, + } + }, Some(e) => e, }; @@ -626,7 +627,7 @@ impl UnhandledResponse { requested_peer, reputation_changes: vec![(requested_peer, COST_IMPROPERLY_DECODED_RESPONSE)], request_status: CandidateRequestStatus::Incomplete, - } + }; }, Err(e @ RequestError::NetworkError(_) | e @ RequestError::Canceled(_)) => { gum::trace!( @@ -639,7 +640,7 @@ impl UnhandledResponse { requested_peer, reputation_changes: vec![], request_status: CandidateRequestStatus::Incomplete, - } + }; }, Ok(response) => response, }; @@ -707,24 +708,24 @@ fn validate_complete_response( // note: roughly ascending cost of operations { if response.candidate_receipt.descriptor.relay_parent() != identifier.relay_parent { - return invalid_candidate_output(COST_INVALID_RESPONSE) + return invalid_candidate_output(COST_INVALID_RESPONSE); } if response.candidate_receipt.descriptor.persisted_validation_data_hash() != response.persisted_validation_data.hash() { - return invalid_candidate_output(COST_INVALID_RESPONSE) + return invalid_candidate_output(COST_INVALID_RESPONSE); } if !allowed_para_lookup( response.candidate_receipt.descriptor.para_id(), identifier.group_index, ) { - return invalid_candidate_output(COST_INVALID_RESPONSE) + return invalid_candidate_output(COST_INVALID_RESPONSE); } if response.candidate_receipt.hash() != identifier.candidate_hash { - return invalid_candidate_output(COST_INVALID_RESPONSE) + return invalid_candidate_output(COST_INVALID_RESPONSE); } let candidate_hash = response.candidate_receipt.hash(); @@ -739,7 +740,7 @@ fn validate_complete_response( peer = ?requested_peer, "Version 2 candidate receipts are not enabled by the runtime" ); - return invalid_candidate_output(COST_UNSUPPORTED_DESCRIPTOR_VERSION) + return invalid_candidate_output(COST_UNSUPPORTED_DESCRIPTOR_VERSION); } // Validate the ump signals. if let Err(err) = response.candidate_receipt.parse_ump_signals(transposed_cq) { @@ -750,7 +751,7 @@ fn validate_complete_response( peer = ?requested_peer, "Received candidate has invalid UMP signals" ); - return invalid_candidate_output(COST_INVALID_UMP_SIGNALS) + return invalid_candidate_output(COST_INVALID_UMP_SIGNALS); } // Check if `session_index` of relay parent matches candidate descriptor @@ -766,7 +767,7 @@ fn validate_complete_response( candidate_session_index, "Received candidate has invalid session index" ); - return invalid_candidate_output(COST_INVALID_SESSION_INDEX) + return invalid_candidate_output(COST_INVALID_SESSION_INDEX); } } } @@ -789,7 +790,7 @@ fn validate_complete_response( Some(i) => i, None => { rep_changes.push((requested_peer, COST_UNREQUESTED_RESPONSE_STATEMENT)); - continue + continue; }, }; @@ -798,7 +799,7 @@ fn validate_complete_response( &identifier.candidate_hash { rep_changes.push((requested_peer, COST_UNREQUESTED_RESPONSE_STATEMENT)); - continue + continue; } // filter out duplicates or statements outside the mask. @@ -808,36 +809,36 @@ fn validate_complete_response( CompactStatement::Seconded(_) => { if unwanted_mask.seconded_in_group[i] { rep_changes.push((requested_peer, COST_UNREQUESTED_RESPONSE_STATEMENT)); - continue + continue; } if received_filter.seconded_in_group[i] { rep_changes.push((requested_peer, COST_UNREQUESTED_RESPONSE_STATEMENT)); - continue + continue; } }, CompactStatement::Valid(_) => { if unwanted_mask.validated_in_group[i] { rep_changes.push((requested_peer, COST_UNREQUESTED_RESPONSE_STATEMENT)); - continue + continue; } if received_filter.validated_in_group[i] { rep_changes.push((requested_peer, COST_UNREQUESTED_RESPONSE_STATEMENT)); - continue + continue; } }, } if disabled_mask.get(i).map_or(false, |x| *x) { - continue + continue; } let validator_public = match validator_key_lookup(unchecked_statement.unchecked_validator_index()) { None => { rep_changes.push((requested_peer, COST_INVALID_SIGNATURE)); - continue + continue; }, Some(p) => p, }; @@ -846,7 +847,7 @@ fn validate_complete_response( match unchecked_statement.try_into_checked(&signing_context, &validator_public) { Err(_) => { rep_changes.push((requested_peer, COST_INVALID_SIGNATURE)); - continue + continue; }, Ok(checked) => checked, }; @@ -867,7 +868,7 @@ fn validate_complete_response( // Only accept responses which are sufficient, according to our // required backing threshold. if !seconded_and_sufficient(&received_filter, backing_threshold) { - return invalid_candidate_output(COST_INVALID_RESPONSE) + return invalid_candidate_output(COST_INVALID_RESPONSE); } statements @@ -924,7 +925,7 @@ fn insert_or_update_priority( // expected identifier. if priority_sorted[prev_index].0 == new_priority { // unchanged. - return prev_index + return prev_index; } else { priority_sorted.remove(prev_index); } diff --git a/polkadot/node/network/statement-distribution/src/v2/statement_store.rs b/polkadot/node/network/statement-distribution/src/v2/statement_store.rs index aed7f99b25eae..829420ff25fb3 100644 --- a/polkadot/node/network/statement-distribution/src/v2/statement_store.rs +++ b/polkadot/node/network/statement-distribution/src/v2/statement_store.rs @@ -112,7 +112,7 @@ impl StatementStore { e.get_mut().known_by_backing = true; } - return Ok(false) + return Ok(false); }, HEntry::Vacant(e) => { e.insert(StoredStatement { statement, known_by_backing: origin.is_local() }); @@ -134,7 +134,7 @@ impl StatementStore { "groups passed into `insert` differ from those used at store creation" ); - return Err(Error::ValidatorUnknown) + return Err(Error::ValidatorUnknown); }, }; diff --git a/polkadot/node/network/statement-distribution/src/v2/tests/mod.rs b/polkadot/node/network/statement-distribution/src/v2/tests/mod.rs index 57effbe1e344c..742d903dbbf10 100644 --- a/polkadot/node/network/statement-distribution/src/v2/tests/mod.rs +++ b/polkadot/node/network/statement-distribution/src/v2/tests/mod.rs @@ -707,7 +707,7 @@ async fn handle_leaf_activation( } tx.send(hypothetical_memberships).unwrap(); // this is the last expected runtime api call - break + break; }, msg => panic!("unexpected runtime API call: {msg:?}"), } diff --git a/polkadot/node/overseer/examples/minimal-example.rs b/polkadot/node/overseer/examples/minimal-example.rs index 6362b2ed30d81..2330f5a93ad38 100644 --- a/polkadot/node/overseer/examples/minimal-example.rs +++ b/polkadot/node/overseer/examples/minimal-example.rs @@ -58,12 +58,12 @@ impl Subsystem1 { if let FromOrchestra::Communication { msg } = msg { gum::info!("msg {:?}", msg); } - continue 'louy + continue 'louy; }, Ok(None) => (), Err(_) => { gum::info!("exiting"); - break 'louy + break 'louy; }, } @@ -124,14 +124,14 @@ impl Subsystem2 { match ctx.try_recv().await { Ok(Some(msg)) => { gum::info!("Subsystem2 received message {:?}", msg); - continue + continue; }, Ok(None) => { pending!(); }, Err(_) => { gum::info!("exiting"); - return + return; }, } } diff --git a/polkadot/node/overseer/src/dummy.rs b/polkadot/node/overseer/src/dummy.rs index d618c0c7ca953..5caca808d90c5 100644 --- a/polkadot/node/overseer/src/dummy.rs +++ b/polkadot/node/overseer/src/dummy.rs @@ -44,7 +44,7 @@ where "Discarding a message sent from overseer {:?}", overseer_msg ); - continue + continue; }, } } diff --git a/polkadot/node/overseer/src/lib.rs b/polkadot/node/overseer/src/lib.rs index faa5adf0b57b8..3d90acbf4a151 100644 --- a/polkadot/node/overseer/src/lib.rs +++ b/polkadot/node/overseer/src/lib.rs @@ -698,7 +698,7 @@ where #[cfg(any(target_os = "linux", feature = "jemalloc-allocator"))] let collect_memory_stats: Box = match memory_stats::MemoryAllocationTracker::new() { - Ok(memory_stats) => + Ok(memory_stats) => { Box::new(move |metrics: &OverseerMetrics| match memory_stats.snapshot() { Ok(memory_stats_snapshot) => { gum::trace!( @@ -708,9 +708,11 @@ where ); metrics.memory_stats_snapshot(memory_stats_snapshot); }, - Err(e) => - gum::debug!(target: LOG_TARGET, "Failed to obtain memory stats: {:?}", e), - }), + Err(e) => { + gum::debug!(target: LOG_TARGET, "Failed to obtain memory stats: {:?}", e) + }, + }) + }, Err(_) => { gum::debug!( target: LOG_TARGET, @@ -828,7 +830,7 @@ where hash_map::Entry::Vacant(entry) => entry.insert(block.number), hash_map::Entry::Occupied(entry) => { debug_assert_eq!(*entry.get(), block.number); - return Ok(()) + return Ok(()); }, }; @@ -891,7 +893,7 @@ where /// this returns `None`. async fn on_head_activated(&mut self, hash: &Hash, _parent_hash: Option) -> Option<()> { if !self.supports_parachains.head_supports_parachains(hash).await { - return None + return None; } self.metrics.on_head_activated(); diff --git a/polkadot/node/overseer/src/tests.rs b/polkadot/node/overseer/src/tests.rs index d6aa110ed2ce1..06f94fd1c8dc2 100644 --- a/polkadot/node/overseer/src/tests.rs +++ b/polkadot/node/overseer/src/tests.rs @@ -69,7 +69,7 @@ where Ok(FromOrchestra::Communication { .. }) => { let _ = sender.send(i).await; i += 1; - continue + continue; }, Ok(FromOrchestra::Signal(OverseerSignal::Conclude)) => return Ok(()), Err(_) => return Ok(()), @@ -117,7 +117,7 @@ where }) .await; c += 1; - continue + continue; } match ctx.try_recv().await { Ok(Some(FromOrchestra::Signal(OverseerSignal::Conclude))) => break, @@ -326,7 +326,7 @@ where Ok(Some(FromOrchestra::Signal(OverseerSignal::Conclude))) => break, Ok(Some(FromOrchestra::Signal(s))) => { sender.send(s).await.unwrap(); - continue + continue; }, Ok(Some(_)) => continue, Err(_) => break, @@ -358,7 +358,7 @@ where Ok(Some(FromOrchestra::Signal(OverseerSignal::Conclude))) => break, Ok(Some(FromOrchestra::Signal(s))) => { sender.send(s).await.unwrap(); - continue + continue; }, Ok(Some(_)) => continue, Err(_) => break, @@ -776,15 +776,15 @@ where match ctx.try_recv().await { Ok(Some(FromOrchestra::Signal(OverseerSignal::Conclude))) => { self.stop_signals_received.fetch_add(1, atomic::Ordering::SeqCst); - break + break; }, Ok(Some(FromOrchestra::Signal(_))) => { self.signals_received.fetch_add(1, atomic::Ordering::SeqCst); - continue + continue; }, Ok(Some(FromOrchestra::Communication { .. })) => { self.msgs_received.fetch_add(1, atomic::Ordering::SeqCst); - continue + continue; }, Err(_) => (), _ => (), @@ -1094,7 +1094,7 @@ fn overseer_all_subsystems_receive_signals_and_messages() { } else if r > NUM_SUBSYSTEMS_MESSAGED { panic!("too many messages received??"); } else { - break + break; } }, Some(_) => panic!("exited too early"), @@ -1367,7 +1367,7 @@ where self.num_normal_msgs_received .fetch_add(1, atomic::Ordering::SeqCst); } - continue + continue; }, Err(_) => (), _ => (), diff --git a/polkadot/node/primitives/src/approval/mod.rs b/polkadot/node/primitives/src/approval/mod.rs index a0d20636cd49f..65e70d1eb1b5f 100644 --- a/polkadot/node/primitives/src/approval/mod.rs +++ b/polkadot/node/primitives/src/approval/mod.rs @@ -210,7 +210,7 @@ pub mod v1 { vrf_pre_output: sig.pre_output.clone(), slot, authority_index, - }) + }); } } @@ -348,7 +348,7 @@ pub mod v2 { fn try_from(mut value: Vec) -> Result { if value.is_empty() { - return Err(BitfieldError::NullAssignment) + return Err(BitfieldError::NullAssignment); } let initial_bitfield = @@ -414,10 +414,12 @@ pub mod v2 { fn from(cert: super::v1::AssignmentCert) -> Self { Self { kind: match cert.kind { - super::v1::AssignmentCertKind::RelayVRFDelay { core_index } => - AssignmentCertKindV2::RelayVRFDelay { core_index }, - super::v1::AssignmentCertKind::RelayVRFModulo { sample } => - AssignmentCertKindV2::RelayVRFModulo { sample }, + super::v1::AssignmentCertKind::RelayVRFDelay { core_index } => { + AssignmentCertKindV2::RelayVRFDelay { core_index } + }, + super::v1::AssignmentCertKind::RelayVRFModulo { sample } => { + AssignmentCertKindV2::RelayVRFModulo { sample } + }, }, vrf: cert.vrf, } @@ -436,10 +438,12 @@ pub mod v2 { fn try_from(cert: AssignmentCertV2) -> Result { Ok(Self { kind: match cert.kind { - AssignmentCertKindV2::RelayVRFDelay { core_index } => - super::v1::AssignmentCertKind::RelayVRFDelay { core_index }, - AssignmentCertKindV2::RelayVRFModulo { sample } => - super::v1::AssignmentCertKind::RelayVRFModulo { sample }, + AssignmentCertKindV2::RelayVRFDelay { core_index } => { + super::v1::AssignmentCertKind::RelayVRFDelay { core_index } + }, + AssignmentCertKindV2::RelayVRFModulo { sample } => { + super::v1::AssignmentCertKind::RelayVRFModulo { sample } + }, // Not supported _ => return Err(AssignmentConversionError::CertificateNotSupported), }, @@ -508,7 +512,7 @@ pub mod v2 { if value.candidate_indices.count_ones() != 1 { return Err(ApprovalConversionError::MoreThanOneCandidate( value.candidate_indices.count_ones(), - )) + )); } Ok(Self { block_hash: value.block_hash, @@ -559,7 +563,7 @@ mod test { // Test 0 bits. for index in 0..max_index { if candidate_indices.contains(&BitIndex(index as usize)) { - continue + continue; } assert!(!bitfield.bit_at(BitIndex(index as usize))); } diff --git a/polkadot/node/primitives/src/disputes/message.rs b/polkadot/node/primitives/src/disputes/message.rs index dd3a43ad63e0e..11d4a82310c2d 100644 --- a/polkadot/node/primitives/src/disputes/message.rs +++ b/polkadot/node/primitives/src/disputes/message.rs @@ -129,12 +129,12 @@ impl DisputeMessage { let candidate_hash = *valid_statement.candidate_hash(); // Check statements concern same candidate: if candidate_hash != *invalid_statement.candidate_hash() { - return Err(Error::CandidateHashMismatch) + return Err(Error::CandidateHashMismatch); } let session_index = valid_statement.session_index(); if session_index != invalid_statement.session_index() { - return Err(Error::SessionIndexMismatch) + return Err(Error::SessionIndexMismatch); } let valid_id = session_info @@ -147,15 +147,15 @@ impl DisputeMessage { .ok_or(Error::InvalidStatementInvalidValidatorIndex)?; if valid_id != valid_statement.validator_public() { - return Err(Error::InvalidValidKey) + return Err(Error::InvalidValidKey); } if invalid_id != invalid_statement.validator_public() { - return Err(Error::InvalidInvalidKey) + return Err(Error::InvalidInvalidKey); } if candidate_receipt.hash() != candidate_hash { - return Err(Error::InvalidCandidateReceipt) + return Err(Error::InvalidCandidateReceipt); } let valid_kind = match valid_statement.statement() { diff --git a/polkadot/node/primitives/src/disputes/status.rs b/polkadot/node/primitives/src/disputes/status.rs index b9a1c57d53de5..5c6353153203e 100644 --- a/polkadot/node/primitives/src/disputes/status.rs +++ b/polkadot/node/primitives/src/disputes/status.rs @@ -103,12 +103,15 @@ impl DisputeStatus { /// candidate. This may be a no-op if the status was already concluded. pub fn conclude_against(self, now: Timestamp) -> DisputeStatus { match self { - DisputeStatus::Active | DisputeStatus::Confirmed => - DisputeStatus::ConcludedAgainst(now), - DisputeStatus::ConcludedFor(at) => - DisputeStatus::ConcludedAgainst(std::cmp::min(at, now)), - DisputeStatus::ConcludedAgainst(at) => - DisputeStatus::ConcludedAgainst(std::cmp::min(at, now)), + DisputeStatus::Active | DisputeStatus::Confirmed => { + DisputeStatus::ConcludedAgainst(now) + }, + DisputeStatus::ConcludedFor(at) => { + DisputeStatus::ConcludedAgainst(std::cmp::min(at, now)) + }, + DisputeStatus::ConcludedAgainst(at) => { + DisputeStatus::ConcludedAgainst(std::cmp::min(at, now)) + }, } } diff --git a/polkadot/node/primitives/src/lib.rs b/polkadot/node/primitives/src/lib.rs index a1ed21936580e..6837a86ba5e22 100644 --- a/polkadot/node/primitives/src/lib.rs +++ b/polkadot/node/primitives/src/lib.rs @@ -60,7 +60,7 @@ pub use disputes::{ /// relatively rare. /// /// The associated worker binaries should use the same version as the node that spawns them. -pub const NODE_VERSION: &'static str = "1.20.2"; +pub const NODE_VERSION: &'static str = "1.21.1"; // For a 16-ary Merkle Prefix Trie, we can expect at most 16 32-byte hashes per node // plus some overhead: @@ -241,8 +241,9 @@ pub enum StatementWithPVD { impl std::fmt::Debug for StatementWithPVD { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - StatementWithPVD::Seconded(seconded, _) => - write!(f, "Seconded: {:?}", seconded.descriptor), + StatementWithPVD::Seconded(seconded, _) => { + write!(f, "Seconded: {:?}", seconded.descriptor) + }, StatementWithPVD::Valid(hash) => write!(f, "Valid: {:?}", hash), } } @@ -582,7 +583,7 @@ impl TryFrom>> for Proof { fn try_from(input: Vec>) -> Result { if input.len() > MERKLE_PROOF_MAX_DEPTH { - return Err(Self::Error::MerkleProofDepthExceeded(input.len())) + return Err(Self::Error::MerkleProofDepthExceeded(input.len())); } let mut out = Vec::new(); for element in input.into_iter() { diff --git a/polkadot/node/service/chain-specs/westend.json b/polkadot/node/service/chain-specs/westend.json index f3da752d1ee32..30f7533ab131a 100644 --- a/polkadot/node/service/chain-specs/westend.json +++ b/polkadot/node/service/chain-specs/westend.json @@ -25,9 +25,6 @@ "/dns/westend-boot-ng.dwellir.com/tcp/30335/p2p/12D3KooWJifoDhCL3swAKt7MWhFb7wLRFD9oG33AL3nAathmU24x", "/dns/westend-bootnode.radiumblock.com/tcp/30335/wss/p2p/12D3KooWJBowJuX1TaWNWHt8Dz8z44BoCZunLCfFqxA2rLTn6TBD", "/dns/westend-bootnode.radiumblock.com/tcp/30333/p2p/12D3KooWJBowJuX1TaWNWHt8Dz8z44BoCZunLCfFqxA2rLTn6TBD", - "/dns/wnd-bootnode.stakeworld.io/tcp/30320/p2p/12D3KooWBYdKipcNbrV5rCbgT5hco8HMLME7cE9hHC3ckqCKDuzP", - "/dns/wnd-bootnode.stakeworld.io/tcp/30321/ws/p2p/12D3KooWBYdKipcNbrV5rCbgT5hco8HMLME7cE9hHC3ckqCKDuzP", - "/dns/wnd-bootnode.stakeworld.io/tcp/30322/wss/p2p/12D3KooWBYdKipcNbrV5rCbgT5hco8HMLME7cE9hHC3ckqCKDuzP", "/dns/westend.boot.rotko.net/tcp/33001/p2p/12D3KooWLK8Zj1uZ46phU3vQwiDVda8tB76S8J26rXZQLHpwWkDJ", "/dns/westend.boot.rotko.net/tcp/30335/wss/p2p/12D3KooWLK8Zj1uZ46phU3vQwiDVda8tB76S8J26rXZQLHpwWkDJ", "/dns/ibp-boot-westend.luckyfriday.io/tcp/30333/p2p/12D3KooWDg1YEytdwFFNWroFj6gio4YFsMB3miSbHKgdpJteUMB9", diff --git a/polkadot/node/service/src/builder/mod.rs b/polkadot/node/service/src/builder/mod.rs index 9d52617cc8da9..d9801a9a58445 100644 --- a/polkadot/node/service/src/builder/mod.rs +++ b/polkadot/node/service/src/builder/mod.rs @@ -34,6 +34,7 @@ use frame_benchmarking_cli::SUBSTRATE_REFERENCE_HARDWARE; use gum::info; use mmr_gadget::MmrGadget; use polkadot_availability_recovery::FETCH_CHUNKS_THRESHOLD; +use polkadot_collator_protocol::ReputationConfig; use polkadot_node_core_approval_voting::Config as ApprovalVotingConfig; use polkadot_node_core_av_store::Config as AvailabilityConfig; use polkadot_node_core_candidate_validation::Config as CandidateValidationConfig; @@ -98,6 +99,10 @@ pub struct NewFullParams { pub invulnerable_ah_collators: HashSet, /// Override for `HOLD_OFF_DURATION` constant . pub collator_protocol_hold_off: Option, + /// Use experimental collator protocol + pub experimental_collator_protocol: bool, + /// Collator reputation persistence interval. If None, defaults to 600 seconds. + pub collator_reputation_persist_interval: Option, } /// Completely built polkadot node service. @@ -209,6 +214,8 @@ where keep_finalized_for, invulnerable_ah_collators, collator_protocol_hold_off, + experimental_collator_protocol, + collator_reputation_persist_interval, }, overseer_connector, partial_components: @@ -421,6 +428,10 @@ where stagnant_check_interval: Default::default(), stagnant_check_mode: chain_selection_subsystem::StagnantCheckMode::PruneOnly, }; + let reputation_config = ReputationConfig { + col_reputation_data: parachains_db::REAL_COLUMNS.col_collator_reputation_data, + persist_interval: collator_reputation_persist_interval, + }; // Kusama + testnets get a higher threshold, we are conservative on Polkadot for now. let fetch_chunks_threshold = @@ -452,6 +463,8 @@ where fetch_chunks_threshold, invulnerable_ah_collators, collator_protocol_hold_off, + experimental_collator_protocol, + reputation_config, }) }; @@ -462,6 +475,7 @@ where client: client.clone(), transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), + spawn_essential_handle: task_manager.spawn_essential_handle(), import_queue, block_announce_validator_builder: None, warp_sync_config: Some(WarpSyncConfig::WithProvider(warp_sync)), @@ -521,7 +535,7 @@ where log::warn!( "⚠️ Starting January 2025 the hardware will fail the minimal physical CPU cores requirements {} for role 'Authority',\n\ find out more when this will become mandatory at:\n\ - https://wiki.polkadot.network/docs/maintain-guides-how-to-validate-polkadot#reference-hardware", + https://docs.polkadot.com/infrastructure/running-a-validator/requirements/#minimum-hardware-requirements", err ); } @@ -532,7 +546,7 @@ where { log::warn!( "⚠️ The hardware does not meet the minimal requirements {} for role 'Authority' find out more at:\n\ - https://wiki.polkadot.network/docs/maintain-guides-how-to-validate-polkadot#reference-hardware", + https://docs.polkadot.com/infrastructure/running-a-validator/requirements/#minimum-hardware-requirements", err ); } diff --git a/polkadot/node/service/src/builder/partial.rs b/polkadot/node/service/src/builder/partial.rs index 1bca72e210716..5008257c0d0f2 100644 --- a/polkadot/node/service/src/builder/partial.rs +++ b/polkadot/node/service/src/builder/partial.rs @@ -19,11 +19,13 @@ #![cfg(feature = "full-node")] use crate::{ - fake_runtime_api::RuntimeApi, grandpa_support, relay_chain_selection, Error, FullBackend, - FullClient, IdentifyVariant, GRANDPA_JUSTIFICATION_PERIOD, + grandpa_support, relay_chain_selection, Error, FullBackend, FullClient, IdentifyVariant, + GRANDPA_JUSTIFICATION_PERIOD, }; use polkadot_primitives::Block; -use sc_consensus_grandpa::FinalityProofProvider as GrandpaFinalityProofProvider; +use sc_consensus_grandpa::{ + FinalityProofProvider as GrandpaFinalityProofProvider, GrandpaPruningFilter, +}; use sc_executor::{HeapAllocStrategy, WasmExecutor, DEFAULT_HEAP_ALLOC_STRATEGY}; use sc_service::{Configuration, Error as SubstrateServiceError, KeystoreContainer, TaskManager}; use sc_telemetry::{Telemetry, TelemetryWorker, TelemetryWorkerHandle}; @@ -120,12 +122,14 @@ pub(crate) fn new_partial_basics( .with_runtime_cache_size(config.executor.runtime_cache_size) .build(); - let (client, backend, keystore_container, task_manager) = - sc_service::new_full_parts::( - &config, - telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), - executor, - )?; + // Use GrandpaPruningFilter to preserve blocks with GRANDPA justifications during + // pruning. This is required for warp sync to work on pruned nodes. + let (client, backend, keystore_container, task_manager) = sc_service::new_full_parts( + &config, + telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), + executor, + vec![Arc::new(GrandpaPruningFilter)], + )?; let client = Arc::new(client); let telemetry = telemetry.map(|(worker, telemetry)| { diff --git a/polkadot/node/service/src/fake_runtime_api.rs b/polkadot/node/service/src/fake_runtime_api.rs index f43940c8474f2..259cdb92b8ff4 100644 --- a/polkadot/node/service/src/fake_runtime_api.rs +++ b/polkadot/node/service/src/fake_runtime_api.rs @@ -386,7 +386,7 @@ sp_api::impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(_: Option>) -> Vec { + fn generate_session_keys(_: Vec, _: Option>) -> sp_session::OpaqueGeneratedSessionKeys { unimplemented!() } diff --git a/polkadot/node/service/src/grandpa_support.rs b/polkadot/node/service/src/grandpa_support.rs index c85d5eb32b192..6957951275bcb 100644 --- a/polkadot/node/service/src/grandpa_support.rs +++ b/polkadot/node/service/src/grandpa_support.rs @@ -47,7 +47,7 @@ where } if *target_header.number() == target_number { - return Ok((target_hash, target_number)) + return Ok((target_hash, target_number)); } target_hash = *target_header.parent_hash(); diff --git a/polkadot/node/service/src/lib.rs b/polkadot/node/service/src/lib.rs index 349facb7dcf28..946f6a2f0c160 100644 --- a/polkadot/node/service/src/lib.rs +++ b/polkadot/node/service/src/lib.rs @@ -444,10 +444,12 @@ pub fn build_full( }); match config.network.network_backend { - sc_network::config::NetworkBackendType::Libp2p => - new_full::<_, sc_network::NetworkWorker>(config, params), - sc_network::config::NetworkBackendType::Litep2p => - new_full::<_, sc_network::Litep2pNetworkBackend>(config, params), + sc_network::config::NetworkBackendType::Libp2p => { + new_full::<_, sc_network::NetworkWorker>(config, params) + }, + sc_network::config::NetworkBackendType::Litep2p => { + new_full::<_, sc_network::Litep2pNetworkBackend>(config, params) + }, } } diff --git a/polkadot/node/service/src/overseer.rs b/polkadot/node/service/src/overseer.rs index d6ed752b4c31c..b645e6c22bca5 100644 --- a/polkadot/node/service/src/overseer.rs +++ b/polkadot/node/service/src/overseer.rs @@ -15,6 +15,7 @@ // along with Polkadot. If not, see . use super::{Error, IsParachainNode, Registry}; +use polkadot_collator_protocol::ReputationConfig; use polkadot_node_subsystem_types::{ChainApiBackend, RuntimeApiSubsystemClient}; use polkadot_overseer::{DummySubsystem, InitializedOverseerBuilder, SubsystemError}; use sp_core::traits::SpawnNamed; @@ -147,6 +148,10 @@ pub struct ExtendedOverseerGenArgs { pub invulnerable_ah_collators: HashSet, /// Override for `HOLD_OFF_DURATION` constant . pub collator_protocol_hold_off: Option, + /// Use experimental collator protocol + pub experimental_collator_protocol: bool, + /// Reputation DB config used by experimental collator protocol, + pub reputation_config: ReputationConfig, } /// Obtain a prepared validator `Overseer`, that is initialized with all default values. @@ -183,6 +188,8 @@ pub fn validator_overseer_builder( fetch_chunks_threshold, invulnerable_ah_collators, collator_protocol_hold_off, + experimental_collator_protocol, + reputation_config, }: ExtendedOverseerGenArgs, ) -> Result< InitializedOverseerBuilder< @@ -295,16 +302,28 @@ where .collation_generation(DummySubsystem) .collator_protocol({ let side = match is_parachain_node { - IsParachainNode::Collator(_) | IsParachainNode::FullNode => + IsParachainNode::Collator(_) | IsParachainNode::FullNode => { return Err(Error::Overseer(SubsystemError::Context( "build validator overseer for parachain node".to_owned(), - ))), - IsParachainNode::No => ProtocolSide::Validator { - keystore: keystore.clone(), - eviction_policy: Default::default(), - metrics: Metrics::register(registry)?, - invulnerables: invulnerable_ah_collators, - collator_protocol_hold_off, + ))) + }, + IsParachainNode::No => { + if experimental_collator_protocol { + ProtocolSide::ValidatorExperimental { + keystore: keystore.clone(), + metrics: Metrics::register(registry)?, + db: parachains_db.clone(), + reputation_config, + } + } else { + ProtocolSide::Validator { + keystore: keystore.clone(), + eviction_policy: Default::default(), + metrics: Metrics::register(registry)?, + invulnerables: invulnerable_ah_collators, + collator_protocol_hold_off, + } + } }, }; CollatorProtocolSubsystem::new(side) @@ -466,10 +485,11 @@ where .collation_generation(CollationGenerationSubsystem::new(Metrics::register(registry)?)) .collator_protocol({ let side = match is_parachain_node { - IsParachainNode::No => + IsParachainNode::No => { return Err(Error::Overseer(SubsystemError::Context( "build parachain node overseer for validator".to_owned(), - ))), + ))) + }, IsParachainNode::Collator(collator_pair) => ProtocolSide::Collator { peer_id: network_service.local_peer_id(), collator_pair, diff --git a/polkadot/node/service/src/parachains_db/mod.rs b/polkadot/node/service/src/parachains_db/mod.rs index 887db80a30348..3d5df79026550 100644 --- a/polkadot/node/service/src/parachains_db/mod.rs +++ b/polkadot/node/service/src/parachains_db/mod.rs @@ -47,13 +47,27 @@ pub(crate) mod columns { } pub mod v4 { + pub use super::v5::{NUM_COLUMNS, ORDERED_COL}; + } + + pub mod v5 { pub const NUM_COLUMNS: u32 = 5; + + pub const ORDERED_COL: &[u32] = &[ + super::v6::COL_AVAILABILITY_META, + super::v6::COL_CHAIN_SELECTION_DATA, + super::v6::COL_DISPUTE_COORDINATOR_DATA, + ]; + } + + pub mod v6 { + pub const NUM_COLUMNS: u32 = 6; pub const COL_AVAILABILITY_DATA: u32 = 0; pub const COL_AVAILABILITY_META: u32 = 1; pub const COL_APPROVAL_DATA: u32 = 2; pub const COL_CHAIN_SELECTION_DATA: u32 = 3; pub const COL_DISPUTE_COORDINATOR_DATA: u32 = 4; - + pub const COL_COLLATOR_REPUTATION_DATA: u32 = 5; pub const ORDERED_COL: &[u32] = &[COL_AVAILABILITY_META, COL_CHAIN_SELECTION_DATA, COL_DISPUTE_COORDINATOR_DATA]; } @@ -73,16 +87,19 @@ pub struct ColumnsConfig { pub col_chain_selection_data: u32, /// The column used by dispute coordinator for data. pub col_dispute_coordinator_data: u32, + /// The column used to keep data about collators reputation. + pub col_collator_reputation_data: u32, } /// The real columns used by the parachains DB. #[cfg(any(test, feature = "full-node"))] pub const REAL_COLUMNS: ColumnsConfig = ColumnsConfig { - col_availability_data: columns::v4::COL_AVAILABILITY_DATA, - col_availability_meta: columns::v4::COL_AVAILABILITY_META, - col_approval_data: columns::v4::COL_APPROVAL_DATA, - col_chain_selection_data: columns::v4::COL_CHAIN_SELECTION_DATA, - col_dispute_coordinator_data: columns::v4::COL_DISPUTE_COORDINATOR_DATA, + col_availability_data: columns::v6::COL_AVAILABILITY_DATA, + col_availability_meta: columns::v6::COL_AVAILABILITY_META, + col_approval_data: columns::v6::COL_APPROVAL_DATA, + col_chain_selection_data: columns::v6::COL_CHAIN_SELECTION_DATA, + col_dispute_coordinator_data: columns::v6::COL_DISPUTE_COORDINATOR_DATA, + col_collator_reputation_data: columns::v6::COL_COLLATOR_REPUTATION_DATA, }; #[derive(PartialEq, Copy, Clone)] @@ -123,17 +140,17 @@ pub fn open_creating_rocksdb( let path = root.join("parachains").join("db"); - let mut db_config = DatabaseConfig::with_columns(columns::v4::NUM_COLUMNS); + let mut db_config = DatabaseConfig::with_columns(columns::v6::NUM_COLUMNS); let _ = db_config .memory_budget - .insert(columns::v4::COL_AVAILABILITY_DATA, cache_sizes.availability_data); + .insert(columns::v6::COL_AVAILABILITY_DATA, cache_sizes.availability_data); let _ = db_config .memory_budget - .insert(columns::v4::COL_AVAILABILITY_META, cache_sizes.availability_meta); + .insert(columns::v6::COL_AVAILABILITY_META, cache_sizes.availability_meta); let _ = db_config .memory_budget - .insert(columns::v4::COL_APPROVAL_DATA, cache_sizes.approval_data); + .insert(columns::v6::COL_APPROVAL_DATA, cache_sizes.approval_data); let path_str = path .to_str() @@ -144,7 +161,7 @@ pub fn open_creating_rocksdb( let db = Database::open(&db_config, &path_str)?; let db = polkadot_node_subsystem_util::database::kvdb_impl::DbAdapter::new( db, - columns::v4::ORDERED_COL, + columns::v6::ORDERED_COL, ); Ok(Arc::new(db)) @@ -164,12 +181,12 @@ pub fn open_creating_paritydb( std::fs::create_dir_all(&path_str)?; upgrade::try_upgrade_db(&path, DatabaseKind::ParityDB, upgrade::CURRENT_VERSION)?; - let db = parity_db::Db::open_or_create(&upgrade::paritydb_version_3_config(&path)) + let db = parity_db::Db::open_or_create(&upgrade::paritydb_version_6_config(&path)) .map_err(|err| io::Error::new(io::ErrorKind::Other, format!("{:?}", err)))?; let db = polkadot_node_subsystem_util::database::paritydb_impl::DbAdapter::new( db, - columns::v4::ORDERED_COL, + columns::v6::ORDERED_COL, ); Ok(Arc::new(db)) } diff --git a/polkadot/node/service/src/parachains_db/upgrade.rs b/polkadot/node/service/src/parachains_db/upgrade.rs index 52b010f0b5d0b..2eb414be15920 100644 --- a/polkadot/node/service/src/parachains_db/upgrade.rs +++ b/polkadot/node/service/src/parachains_db/upgrade.rs @@ -40,7 +40,8 @@ const VERSION_FILE_NAME: &'static str = "parachain_db_version"; /// Version 4 changes approval db format for `OurAssignment`. /// Version 5 changes approval db format to hold some additional /// information about delayed approvals. -pub(crate) const CURRENT_VERSION: Version = 5; +/// Version 6 adds a new column for collator reputation data. +pub(crate) const CURRENT_VERSION: Version = 6; #[derive(thiserror::Error, Debug)] pub enum Error { @@ -85,7 +86,7 @@ pub(crate) fn try_upgrade_db( remove_file_lock(&db_path); if version == target_version { - return Ok(()) + return Ok(()); } } @@ -111,6 +112,7 @@ pub(crate) fn try_upgrade_db_to_next_version( // 3 -> 4 migration Some(3) => migrate_from_version_3_or_4_to_5(db_path, db_kind, v1_to_latest)?, Some(4) => migrate_from_version_3_or_4_to_5(db_path, db_kind, v2_to_latest)?, + Some(5) => migrate_from_version_5_to_6(db_path, db_kind)?, // Already at current version, do nothing. Some(CURRENT_VERSION) => CURRENT_VERSION, // This is an arbitrary future version, we don't handle it. @@ -119,8 +121,9 @@ pub(crate) fn try_upgrade_db_to_next_version( None if db_kind == DatabaseKind::RocksDB => CURRENT_VERSION, // No version file. `ParityDB` did not previously have a version defined. // We handle this as a `0 -> 1` migration. - None if db_kind == DatabaseKind::ParityDB => - migrate_from_version_0_to_1(db_path, db_kind)?, + None if db_kind == DatabaseKind::ParityDB => { + migrate_from_version_0_to_1(db_path, db_kind)? + }, None => unreachable!(), } } else { @@ -228,7 +231,7 @@ where }; gum::info!(target: LOG_TARGET, "Migration complete! "); - Ok(CURRENT_VERSION) + Ok(5) } fn migrate_from_version_2_to_3(path: &Path, db_kind: DatabaseKind) -> Result { @@ -243,6 +246,18 @@ fn migrate_from_version_2_to_3(path: &Path, db_kind: DatabaseKind) -> Result Result { + gum::info!(target: LOG_TARGET, "Migrating parachains db from version 5 to version 6 ..."); + match db_kind { + DatabaseKind::ParityDB => parity_db_migrate_from_version_5_to_6(path), + DatabaseKind::RocksDB => rocksdb_migrate_from_version_5_to_6(path), + } + .and_then(|result| { + gum::info!(target: LOG_TARGET, "Migration complete! "); + Ok(result) + }) +} + /// Migration from version 0 to version 1: /// * the number of columns has changed from 3 to 5; fn rocksdb_migrate_from_version_0_to_1(path: &Path) -> Result { @@ -347,11 +362,24 @@ fn paritydb_fix_columns( Ok(()) } +fn rocksdb_migrate_from_version_5_to_6(path: &Path) -> Result { + use kvdb_rocksdb::{Database, DatabaseConfig}; + + let db_path = path + .to_str() + .ok_or_else(|| super::other_io_error("Invalid database path".into()))?; + let db_cfg = DatabaseConfig::with_columns(super::columns::v5::NUM_COLUMNS); + let mut db = Database::open(&db_cfg, db_path)?; + + db.add_column()?; + Ok(6) +} + /// Database configuration for version 1. pub(crate) fn paritydb_version_1_config(path: &Path) -> parity_db::Options { let mut options = parity_db::Options::with_columns(&path, super::columns::v1::NUM_COLUMNS as u8); - for i in columns::v4::ORDERED_COL { + for i in columns::v5::ORDERED_COL { options.columns[*i as usize].btree_index = true; } @@ -362,7 +390,7 @@ pub(crate) fn paritydb_version_1_config(path: &Path) -> parity_db::Options { pub(crate) fn paritydb_version_2_config(path: &Path) -> parity_db::Options { let mut options = parity_db::Options::with_columns(&path, super::columns::v2::NUM_COLUMNS as u8); - for i in columns::v4::ORDERED_COL { + for i in columns::v5::ORDERED_COL { options.columns[*i as usize].btree_index = true; } @@ -380,12 +408,21 @@ pub(crate) fn paritydb_version_3_config(path: &Path) -> parity_db::Options { options } +pub(crate) fn paritydb_version_6_config(path: &Path) -> parity_db::Options { + let mut options = + parity_db::Options::with_columns(&path, super::columns::v6::NUM_COLUMNS as u8); + for idx in columns::v6::ORDERED_COL { + options.columns[*idx as usize].btree_index = true; + } + options +} + /// Database configuration for version 0. This is useful just for testing. #[cfg(test)] pub(crate) fn paritydb_version_0_config(path: &Path) -> parity_db::Options { let mut options = parity_db::Options::with_columns(&path, super::columns::v0::NUM_COLUMNS as u8); - options.columns[super::columns::v4::COL_AVAILABILITY_META as usize].btree_index = true; + options.columns[super::columns::v6::COL_AVAILABILITY_META as usize].btree_index = true; options } @@ -400,7 +437,7 @@ fn paritydb_migrate_from_version_0_to_1(path: &Path) -> Result { paritydb_fix_columns( path, paritydb_version_1_config(path), - vec![super::columns::v4::COL_DISPUTE_COORDINATOR_DATA], + vec![super::columns::v6::COL_DISPUTE_COORDINATOR_DATA], )?; Ok(1) @@ -426,6 +463,15 @@ fn paritydb_migrate_from_version_2_to_3(path: &Path) -> Result { Ok(3) } +/// Migration from version 5 to version 6: +/// - add a new column for reputation +fn parity_db_migrate_from_version_5_to_6(path: &Path) -> Result { + let mut options = paritydb_version_3_config(path); + parity_db::Db::add_column(&mut options, parity_db::ColumnOptions::default()) + .map_err(|e| other_io_error(format!("Error adding a new column {:?}", e)))?; + Ok(6) +} + /// Remove the lock file. If file is locked, it will wait up to 1s. #[cfg(test)] pub fn remove_file_lock(path: &std::path::Path) { @@ -440,7 +486,7 @@ pub fn remove_file_lock(path: &std::path::Path) { Err(error) => match error.kind() { ErrorKind::WouldBlock => { sleep(Duration::from_millis(100)); - continue + continue; }, _ => return, }, @@ -454,7 +500,7 @@ pub fn remove_file_lock(path: &std::path::Path) { #[cfg(test)] mod tests { use super::{ - columns::{v2::COL_SESSION_WINDOW_DATA, v4::*}, + columns::{v2::COL_SESSION_WINDOW_DATA, v6::*}, *, }; use kvdb_rocksdb::{Database, DatabaseConfig}; @@ -558,7 +604,7 @@ mod tests { // We need to properly set db version for upgrade to work. fs::write(version_file_path(db_dir.path()), "1").expect("Failed to write DB version"); { - let db = DbAdapter::new(db, columns::v4::ORDERED_COL); + let db = DbAdapter::new(db, columns::v5::ORDERED_COL); db.write(DBTransaction { ops: vec![DBOp::Insert { col: COL_DISPUTE_COORDINATOR_DATA, @@ -576,7 +622,7 @@ mod tests { assert_eq!(db.num_columns(), super::columns::v2::NUM_COLUMNS); - let db = DbAdapter::new(db, columns::v4::ORDERED_COL); + let db = DbAdapter::new(db, columns::v5::ORDERED_COL); assert_eq!( db.get(COL_DISPUTE_COORDINATOR_DATA, b"1234").unwrap(), @@ -623,9 +669,9 @@ mod tests { try_upgrade_db(&db_dir.path(), DatabaseKind::RocksDB, 5).unwrap(); - let db_cfg = DatabaseConfig::with_columns(super::columns::v4::NUM_COLUMNS); + let db_cfg = DatabaseConfig::with_columns(super::columns::v5::NUM_COLUMNS); let db = Database::open(&db_cfg, db_path).unwrap(); - let db = DbAdapter::new(db, columns::v4::ORDERED_COL); + let db = DbAdapter::new(db, columns::v5::ORDERED_COL); v1_to_latest_sanity_check(std::sync::Arc::new(db), approval_cfg, expected_candidates) .unwrap(); @@ -654,9 +700,9 @@ mod tests { try_upgrade_db(&db_dir.path(), DatabaseKind::RocksDB, 5).unwrap(); - let db_cfg = DatabaseConfig::with_columns(super::columns::v4::NUM_COLUMNS); + let db_cfg = DatabaseConfig::with_columns(super::columns::v5::NUM_COLUMNS); let db = Database::open(&db_cfg, db_path).unwrap(); - let db = DbAdapter::new(db, columns::v4::ORDERED_COL); + let db = DbAdapter::new(db, columns::v5::ORDERED_COL); v1_to_latest_sanity_check(std::sync::Arc::new(db), approval_cfg, expected_candidates) .unwrap(); @@ -672,10 +718,10 @@ mod tests { fs::write(version_file_path(db_dir.path()), "0").expect("Failed to write DB version"); try_upgrade_db(&db_dir.path(), DatabaseKind::RocksDB, 5).unwrap(); - let db_cfg = DatabaseConfig::with_columns(super::columns::v4::NUM_COLUMNS); + let db_cfg = DatabaseConfig::with_columns(super::columns::v5::NUM_COLUMNS); let db = Database::open(&db_cfg, db_path).unwrap(); - assert_eq!(db.num_columns(), columns::v4::NUM_COLUMNS); + assert_eq!(db.num_columns(), columns::v5::NUM_COLUMNS); } #[test] @@ -696,7 +742,7 @@ mod tests { try_upgrade_db(&path, DatabaseKind::ParityDB, 5).unwrap(); let db = Db::open(&paritydb_version_3_config(&path)).unwrap(); - assert_eq!(db.num_columns(), columns::v4::NUM_COLUMNS as u8); + assert_eq!(db.num_columns(), columns::v5::NUM_COLUMNS as u8); } #[test] @@ -754,4 +800,38 @@ mod tests { assert_eq!(db.num_columns(), super::columns::v3::NUM_COLUMNS); } + + #[test] + fn test_paritydb_migrate_5_to_6() { + use parity_db::Db; + + let db_dir = tempfile::tempdir().unwrap(); + fs::write(version_file_path(db_dir.path()), "5").expect("Failed to write DB version."); + { + let db = Db::open_or_create(&paritydb_version_3_config(&db_dir.path())).unwrap(); + assert_eq!(db.num_columns(), columns::v5::NUM_COLUMNS as u8); + } + try_upgrade_db(db_dir.path(), DatabaseKind::ParityDB, 6).unwrap(); + let db = Db::open(&paritydb_version_6_config(&db_dir.path())).unwrap(); + assert_eq!(db.num_columns(), columns::v6::NUM_COLUMNS as u8); + } + + #[test] + fn test_rocksdb_migrate_5_to_6() { + let db_dir = tempfile::tempdir().unwrap(); + let db_path = db_dir.path().to_str().unwrap(); + let db_cfg = DatabaseConfig::with_columns(super::columns::v5::NUM_COLUMNS); + + { + let db = Database::open(&db_cfg, db_path).unwrap(); + assert_eq!(db.num_columns(), super::columns::v5::NUM_COLUMNS); + } + fs::write(version_file_path(db_dir.path()), "5").expect("Failed to write DB version."); + try_upgrade_db(&db_dir.path(), DatabaseKind::RocksDB, 6).unwrap(); + + let db_cfg = DatabaseConfig::with_columns(super::columns::v6::NUM_COLUMNS); + let db = Database::open(&db_cfg, db_path).unwrap(); + + assert_eq!(db.num_columns(), super::columns::v6::NUM_COLUMNS); + } } diff --git a/polkadot/node/service/src/relay_chain_selection.rs b/polkadot/node/service/src/relay_chain_selection.rs index 2281fb1f0d755..1304f0840bc9f 100644 --- a/polkadot/node/service/src/relay_chain_selection.rs +++ b/polkadot/node/service/src/relay_chain_selection.rs @@ -251,8 +251,9 @@ where fn block_header(&self, hash: Hash) -> Result { match HeaderProvider::header(self.backend.header_provider(), hash) { Ok(Some(header)) => Ok(header), - Ok(None) => - Err(ConsensusError::ChainLookup(format!("Missing header with hash {:?}", hash,))), + Ok(None) => { + Err(ConsensusError::ChainLookup(format!("Missing header with hash {:?}", hash,))) + }, Err(e) => Err(ConsensusError::ChainLookup(format!( "Lookup failed for header with hash {:?}: {:?}", hash, e, @@ -263,8 +264,9 @@ where fn block_number(&self, hash: Hash) -> Result { match HeaderProvider::number(self.backend.header_provider(), hash) { Ok(Some(number)) => Ok(number), - Ok(None) => - Err(ConsensusError::ChainLookup(format!("Missing number with hash {:?}", hash,))), + Ok(None) => { + Err(ConsensusError::ChainLookup(format!("Missing number with hash {:?}", hash,))) + }, Err(e) => Err(ConsensusError::ChainLookup(format!( "Lookup failed for number with hash {:?}: {:?}", hash, e, @@ -439,7 +441,7 @@ where "`finality_target` max number is less than target number", ); } - return Ok(target_hash) + return Ok(target_hash); } // find the current number. let subchain_header = self.block_header(subchain_head)?; @@ -490,8 +492,9 @@ where { // No approved ancestors means target hash is maximal vote. None => (target_hash, target_number, Vec::new()), - Some(HighestApprovedAncestorBlock { number, hash, descriptions }) => - (hash, number, descriptions), + Some(HighestApprovedAncestorBlock { number, hash, descriptions }) => { + (hash, number, descriptions) + }, } }; @@ -533,7 +536,7 @@ where subchain_number, "Mismatch of anticipated block descriptions and block number difference.", ); - return Ok(target_hash) + return Ok(target_hash); } // 3. Constrain according to disputes: let (tx, rx) = oneshot::channel(); @@ -571,7 +574,7 @@ where // are not finalizing something that is being disputed or has been concluded // as invalid. We will be conservative here and not vote for finality above // the ancestor passed in. - return Ok(target_hash) + return Ok(target_hash); }, }; (lag, subchain_head) diff --git a/polkadot/node/service/src/tests.rs b/polkadot/node/service/src/tests.rs index abebf7d745531..70e15c704ba11 100644 --- a/polkadot/node/service/src/tests.rs +++ b/polkadot/node/service/src/tests.rs @@ -176,7 +176,7 @@ impl TestChainStorage { while let Some(block) = self.blocks_by_hash.get(&block_hash) { if minimum_block_number >= block.number { - break + break; } if !self.approved_blocks.contains(&block_hash) { highest_approved_ancestor = None; @@ -208,7 +208,7 @@ impl TestChainStorage { highest_approved_block_hash: Hash, ) -> Option { if self.disputed_blocks.is_empty() { - return Some(highest_approved_block_hash) + return Some(highest_approved_block_hash); } let mut undisputed_chain = Some(highest_approved_block_hash); @@ -219,7 +219,7 @@ impl TestChainStorage { undisputed_chain = Some(*next); } if block.number() == &base_blocknumber { - break + break; } block_hash = *next; } @@ -375,7 +375,7 @@ async fn test_skeleton( ); if best_chain_containing_block.is_none() { - return + return; } gum::trace!("approved ancestor response: {:?}", undisputed_chain); diff --git a/polkadot/node/service/src/workers.rs b/polkadot/node/service/src/workers.rs index 73c3aa466608f..72f02c59b43e3 100644 --- a/polkadot/node/service/src/workers.rs +++ b/polkadot/node/service/src/workers.rs @@ -64,14 +64,14 @@ pub fn determine_workers_paths( given_workers_path, current_exe_path, workers_names, - }) + }); } else if workers_paths.len() > 1 { log::warn!("multiple sets of worker binaries found ({:?})", workers_paths,); } let (prep_worker_path, exec_worker_path) = workers_paths.swap_remove(0); if !prep_worker_path.is_executable() || !exec_worker_path.is_executable() { - return Err(Error::InvalidWorkerBinaries { prep_worker_path, exec_worker_path }) + return Err(Error::InvalidWorkerBinaries { prep_worker_path, exec_worker_path }); } // Do the version check. @@ -82,7 +82,7 @@ pub fn determine_workers_paths( worker_version, node_version, worker_path: prep_worker_path, - }) + }); } let worker_version = polkadot_node_core_pvf::get_worker_version(&exec_worker_path)?; @@ -91,7 +91,7 @@ pub fn determine_workers_paths( worker_version, node_version, worker_path: exec_worker_path, - }) + }); } } else { log::warn!("Skipping node/worker version checks. This could result in incorrect behavior in PVF workers."); @@ -110,7 +110,7 @@ fn list_workers_paths( log::trace!("Using explicitly provided workers path {:?}", path); if path.is_executable() { - return Ok(vec![(path.clone(), path)]) + return Ok(vec![(path.clone(), path)]); } let (prep_worker, exec_worker) = build_worker_paths(path, workers_names); @@ -120,7 +120,7 @@ fn list_workers_paths( Ok(vec![(prep_worker, exec_worker)]) } else { Ok(vec![]) - } + }; } // Workers path not provided, check all possible valid locations. diff --git a/polkadot/node/subsystem-bench/src/cli/subsystem-bench.rs b/polkadot/node/subsystem-bench/src/cli/subsystem-bench.rs index ba1fac6801feb..6892926c25f80 100644 --- a/polkadot/node/subsystem-bench/src/cli/subsystem-bench.rs +++ b/polkadot/node/subsystem-bench/src/cli/subsystem-bench.rs @@ -113,7 +113,7 @@ impl BenchCli { fn launch(self) -> eyre::Result<()> { let is_valgrind_running = valgrind::is_valgrind_running(); if !is_valgrind_running && self.cache_misses { - return valgrind::relaunch_in_valgrind_mode() + return valgrind::relaunch_in_valgrind_mode(); } let agent_running = if self.profile { diff --git a/polkadot/node/subsystem-bench/src/lib/approval/message_generator.rs b/polkadot/node/subsystem-bench/src/lib/approval/message_generator.rs index 807afb0438c99..7be227f52afa7 100644 --- a/polkadot/node/subsystem-bench/src/lib/approval/message_generator.rs +++ b/polkadot/node/subsystem-bench/src/lib/approval/message_generator.rs @@ -210,7 +210,7 @@ impl PeerMessagesGenerator { // Receive all messages and sort them by Tick they have to be sent. loop { match rx.try_next() { - Ok(Some((block_hash, messages))) => + Ok(Some((block_hash, messages))) => { for message in messages { let block_info = blocks .iter() @@ -223,7 +223,8 @@ impl PeerMessagesGenerator { ); let to_add = all_messages.entry(tick_to_send).or_default(); to_add.push(message); - }, + } + }, Ok(None) => break, Err(_) => { std::thread::sleep(Duration::from_millis(50)); @@ -326,12 +327,15 @@ impl PeerMessagesGenerator { let mut unique_assignments = HashSet::new(); for (core_index, assignment) in assignments { let assigned_cores = match &assignment.cert().kind { - approval::v2::AssignmentCertKindV2::RelayVRFModuloCompact { core_bitfield } => - core_bitfield.iter_ones().map(|val| CoreIndex::from(val as u32)).collect_vec(), - approval::v2::AssignmentCertKindV2::RelayVRFDelay { core_index } => - vec![*core_index], - approval::v2::AssignmentCertKindV2::RelayVRFModulo { sample: _ } => - vec![core_index], + approval::v2::AssignmentCertKindV2::RelayVRFModuloCompact { core_bitfield } => { + core_bitfield.iter_ones().map(|val| CoreIndex::from(val as u32)).collect_vec() + }, + approval::v2::AssignmentCertKindV2::RelayVRFDelay { core_index } => { + vec![*core_index] + }, + approval::v2::AssignmentCertKindV2::RelayVRFModulo { sample: _ } => { + vec![core_index] + }, }; let bitfiled: CoreBitfield = assigned_cores.clone().try_into().unwrap(); diff --git a/polkadot/node/subsystem-bench/src/lib/approval/mock_chain_selection.rs b/polkadot/node/subsystem-bench/src/lib/approval/mock_chain_selection.rs index 709d56d52f0b8..ee1800eb7a7eb 100644 --- a/polkadot/node/subsystem-bench/src/lib/approval/mock_chain_selection.rs +++ b/polkadot/node/subsystem-bench/src/lib/approval/mock_chain_selection.rs @@ -43,7 +43,7 @@ impl MockChainSelection { let msg = ctx.recv().await.expect("Should not fail"); match msg { orchestra::FromOrchestra::Signal(_) => {}, - orchestra::FromOrchestra::Communication { msg } => + orchestra::FromOrchestra::Communication { msg } => { if let ChainSelectionMessage::Approved(hash) = msg { let block_info = self.state.get_info_by_hash(hash); let approved_number = block_info.block_number; @@ -57,7 +57,8 @@ impl MockChainSelection { slot_number_to_tick(SLOT_DURATION_MILLIS, block_info.slot); gum::info!(target: LOG_TARGET, ?hash, "Chain selection approved after {:} ms", approved_in_tick * TICK_DURATION_MILLIS); - }, + } + }, } } } diff --git a/polkadot/node/subsystem-bench/src/lib/approval/test_message.rs b/polkadot/node/subsystem-bench/src/lib/approval/test_message.rs index d23c2552b8b37..7553e3f433dac 100644 --- a/polkadot/node/subsystem-bench/src/lib/approval/test_message.rs +++ b/polkadot/node/subsystem-bench/src/lib/approval/test_message.rs @@ -138,7 +138,7 @@ impl TestMessageInfo { if self.is_approval() { match &self.msg { protocol_v3::ApprovalDistributionMessage::Assignments(_) => todo!(), - protocol_v3::ApprovalDistributionMessage::Approvals(approvals) => + protocol_v3::ApprovalDistributionMessage::Approvals(approvals) => { for approval in approvals { for candidate_index in approval.candidate_indices.iter_ones() { state @@ -149,7 +149,8 @@ impl TestMessageInfo { .unwrap() .store(true, std::sync::atomic::Ordering::SeqCst); } - }, + } + }, } } } @@ -178,18 +179,20 @@ impl TestMessageInfo { pub fn candidate_indices(&self) -> HashSet { let mut unique_candidate_indices = HashSet::new(); match &self.msg { - protocol_v3::ApprovalDistributionMessage::Assignments(assignments) => + protocol_v3::ApprovalDistributionMessage::Assignments(assignments) => { for (_assignment, candidate_indices) in assignments { for candidate_index in candidate_indices.iter_ones() { unique_candidate_indices.insert(candidate_index); } - }, - protocol_v3::ApprovalDistributionMessage::Approvals(approvals) => + } + }, + protocol_v3::ApprovalDistributionMessage::Approvals(approvals) => { for approval in approvals { for candidate_index in approval.candidate_indices.iter_ones() { unique_candidate_indices.insert(candidate_index); } - }, + } + }, } unique_candidate_indices } @@ -262,7 +265,7 @@ impl TestMessageInfo { candidates_test_data: &HashMap<(Hash, CandidateIndex), CandidateTestData>, ) -> bool { match &self.msg { - protocol_v3::ApprovalDistributionMessage::Assignments(assignments) => + protocol_v3::ApprovalDistributionMessage::Assignments(assignments) => { assignments.iter().any(|(assignment, candidate_indices)| { candidate_indices.iter_ones().any(|candidate_index| { candidates_test_data @@ -270,8 +273,9 @@ impl TestMessageInfo { .map(|data| data.should_send_tranche(self.tranche)) .unwrap_or_default() }) - }), - protocol_v3::ApprovalDistributionMessage::Approvals(approvals) => + }) + }, + protocol_v3::ApprovalDistributionMessage::Approvals(approvals) => { approvals.iter().any(|approval| { approval.candidate_indices.iter_ones().any(|candidate_index| { candidates_test_data @@ -279,7 +283,8 @@ impl TestMessageInfo { .map(|data| data.should_send_tranche(self.tranche)) .unwrap_or_default() }) - }), + }) + }, } } diff --git a/polkadot/node/subsystem-bench/src/lib/availability/mod.rs b/polkadot/node/subsystem-bench/src/lib/availability/mod.rs index b346f988a3c90..7ee99eddc295d 100644 --- a/polkadot/node/subsystem-bench/src/lib/availability/mod.rs +++ b/polkadot/node/subsystem-bench/src/lib/availability/mod.rs @@ -220,13 +220,14 @@ pub fn prepare_test( let (overseer, overseer_handle) = match &mode { TestDataAvailability::Read(options) => { let subsystem = match options.strategy { - Strategy::FullFromBackers => + Strategy::FullFromBackers => { AvailabilityRecoverySubsystem::with_recovery_strategy_kind( collation_req_receiver, &state.req_protocol_names, Metrics::try_register(&dependencies.registry).unwrap(), RecoveryStrategyKind::BackersFirstAlways, - ), + ) + }, Strategy::Chunks => AvailabilityRecoverySubsystem::with_recovery_strategy_kind( collation_req_receiver, &state.req_protocol_names, diff --git a/polkadot/node/subsystem-bench/src/lib/display.rs b/polkadot/node/subsystem-bench/src/lib/display.rs index 09638e88c37ec..1cb9aaa6547f8 100644 --- a/polkadot/node/subsystem-bench/src/lib/display.rs +++ b/polkadot/node/subsystem-bench/src/lib/display.rs @@ -130,11 +130,11 @@ impl Display for TestMetric { fn check_metric_family(mf: &MetricFamily) -> bool { if mf.get_metric().is_empty() { gum::error!(target: LOG_TARGET, "MetricFamily has no metrics: {:?}", mf); - return false + return false; } if mf.get_name().is_empty() { gum::error!(target: LOG_TARGET, "MetricFamily has no name: {:?}", mf); - return false + return false; } true @@ -145,7 +145,7 @@ pub fn parse_metrics(registry: &Registry) -> MetricCollection { let mut test_metrics = Vec::new(); for mf in metric_families { if !check_metric_family(&mf) { - continue + continue; } let name: String = mf.get_name().into(); diff --git a/polkadot/node/subsystem-bench/src/lib/environment.rs b/polkadot/node/subsystem-bench/src/lib/environment.rs index 7064077d8c39c..013f5faa04571 100644 --- a/polkadot/node/subsystem-bench/src/lib/environment.rs +++ b/polkadot/node/subsystem-bench/src/lib/environment.rs @@ -344,7 +344,7 @@ impl TestEnvironment { gum::debug!(target: LOG_TARGET, metric_name, current_value, "Waiting for metric"); if condition(current_value) { - break + break; } // Check value every 50ms. tokio::time::sleep(std::time::Duration::from_millis(50)).await; diff --git a/polkadot/node/subsystem-bench/src/lib/mock/approval_voting_parallel.rs b/polkadot/node/subsystem-bench/src/lib/mock/approval_voting_parallel.rs index 4fbdc8d35be60..30a72d0f2f7bf 100644 --- a/polkadot/node/subsystem-bench/src/lib/mock/approval_voting_parallel.rs +++ b/polkadot/node/subsystem-bench/src/lib/mock/approval_voting_parallel.rs @@ -47,10 +47,11 @@ impl MockApprovalVotingParallel { loop { let msg = ctx.recv().await.expect("Overseer never fails us"); match msg { - orchestra::FromOrchestra::Signal(signal) => + orchestra::FromOrchestra::Signal(signal) => { if signal == OverseerSignal::Conclude { - return - }, + return; + } + }, orchestra::FromOrchestra::Communication { msg } => match msg { ApprovalVotingParallelMessage::GetApprovalSignaturesForCandidate(hash, tx) => { gum::debug!(target: LOG_TARGET, "GetApprovalSignaturesForCandidate for candidate {:?}", hash); diff --git a/polkadot/node/subsystem-bench/src/lib/mock/av_store.rs b/polkadot/node/subsystem-bench/src/lib/mock/av_store.rs index aff1cb0e410b3..d322069a691a8 100644 --- a/polkadot/node/subsystem-bench/src/lib/mock/av_store.rs +++ b/polkadot/node/subsystem-bench/src/lib/mock/av_store.rs @@ -204,10 +204,11 @@ impl MockAvailabilityStore { let msg = ctx.recv().await.expect("Overseer never fails us"); match msg { - orchestra::FromOrchestra::Signal(signal) => + orchestra::FromOrchestra::Signal(signal) => { if signal == OverseerSignal::Conclude { - return - }, + return; + } + }, orchestra::FromOrchestra::Communication { msg } => match msg { AvailabilityStoreMessage::QueryAvailableData(candidate_hash, tx) => { gum::debug!(target: LOG_TARGET, candidate_hash = ?candidate_hash, "Responding to QueryAvailableData"); diff --git a/polkadot/node/subsystem-bench/src/lib/mock/availability_recovery.rs b/polkadot/node/subsystem-bench/src/lib/mock/availability_recovery.rs index 4ad77fa6ce9fe..3a52e2183c8c4 100644 --- a/polkadot/node/subsystem-bench/src/lib/mock/availability_recovery.rs +++ b/polkadot/node/subsystem-bench/src/lib/mock/availability_recovery.rs @@ -51,10 +51,11 @@ impl MockAvailabilityRecovery { loop { let msg = ctx.recv().await.expect("Overseer never fails us"); match msg { - orchestra::FromOrchestra::Signal(signal) => + orchestra::FromOrchestra::Signal(signal) => { if signal == OverseerSignal::Conclude { - return - }, + return; + } + }, orchestra::FromOrchestra::Communication { msg } => match msg { AvailabilityRecoveryMessage::RecoverAvailableData(receipt, _, _, _, tx) => { gum::debug!(target: LOG_TARGET, "RecoverAvailableData for candidate {:?}", receipt.hash()); diff --git a/polkadot/node/subsystem-bench/src/lib/mock/candidate_backing.rs b/polkadot/node/subsystem-bench/src/lib/mock/candidate_backing.rs index 51494016e185e..fc20c0ab0204f 100644 --- a/polkadot/node/subsystem-bench/src/lib/mock/candidate_backing.rs +++ b/polkadot/node/subsystem-bench/src/lib/mock/candidate_backing.rs @@ -142,10 +142,11 @@ impl MockCandidateBacking { loop { let msg = ctx.recv().await.expect("Overseer never fails us"); match msg { - orchestra::FromOrchestra::Signal(signal) => + orchestra::FromOrchestra::Signal(signal) => { if signal == OverseerSignal::Conclude { - return - }, + return; + } + }, orchestra::FromOrchestra::Communication { msg } => { gum::trace!(target: LOG_TARGET, msg=?msg, "recv message"); diff --git a/polkadot/node/subsystem-bench/src/lib/mock/candidate_validation.rs b/polkadot/node/subsystem-bench/src/lib/mock/candidate_validation.rs index 540f1a46814cd..f521723e13c0a 100644 --- a/polkadot/node/subsystem-bench/src/lib/mock/candidate_validation.rs +++ b/polkadot/node/subsystem-bench/src/lib/mock/candidate_validation.rs @@ -50,10 +50,11 @@ impl MockCandidateValidation { loop { let msg = ctx.recv().await.expect("Overseer never fails us"); match msg { - orchestra::FromOrchestra::Signal(signal) => + orchestra::FromOrchestra::Signal(signal) => { if signal == OverseerSignal::Conclude { - return - }, + return; + } + }, orchestra::FromOrchestra::Communication { msg } => match msg { CandidateValidationMessage::ValidateFromExhaustive { response_sender, diff --git a/polkadot/node/subsystem-bench/src/lib/mock/chain_api.rs b/polkadot/node/subsystem-bench/src/lib/mock/chain_api.rs index 86b030fb6fdcf..6be1d0b97114e 100644 --- a/polkadot/node/subsystem-bench/src/lib/mock/chain_api.rs +++ b/polkadot/node/subsystem-bench/src/lib/mock/chain_api.rs @@ -65,10 +65,11 @@ impl MockChainApi { let msg = ctx.recv().await.expect("Overseer never fails us"); match msg { - orchestra::FromOrchestra::Signal(signal) => + orchestra::FromOrchestra::Signal(signal) => { if signal == OverseerSignal::Conclude { - return - }, + return; + } + }, orchestra::FromOrchestra::Communication { msg } => { gum::debug!(target: LOG_TARGET, msg=?msg, "recv message"); diff --git a/polkadot/node/subsystem-bench/src/lib/mock/network_bridge.rs b/polkadot/node/subsystem-bench/src/lib/mock/network_bridge.rs index fae802172adfc..b3f87446ece50 100644 --- a/polkadot/node/subsystem-bench/src/lib/mock/network_bridge.rs +++ b/polkadot/node/subsystem-bench/src/lib/mock/network_bridge.rs @@ -102,10 +102,11 @@ impl MockNetworkBridgeTx { loop { let subsystem_message = ctx.recv().await.expect("Overseer never fails us"); match subsystem_message { - orchestra::FromOrchestra::Signal(signal) => + orchestra::FromOrchestra::Signal(signal) => { if signal == OverseerSignal::Conclude { - return - }, + return; + } + }, orchestra::FromOrchestra::Communication { msg } => match msg { NetworkBridgeTxMessage::SendRequests(requests, _if_disconnected) => { for request in requests { @@ -126,7 +127,7 @@ impl MockNetworkBridgeTx { .into_response_sender() .send(Err(RequestFailure::NotConnected)) .expect("send never fails"); - continue + continue; } let peer_message = diff --git a/polkadot/node/subsystem-bench/src/lib/mock/prospective_parachains.rs b/polkadot/node/subsystem-bench/src/lib/mock/prospective_parachains.rs index 8a865af21a073..b40a15e270bf4 100644 --- a/polkadot/node/subsystem-bench/src/lib/mock/prospective_parachains.rs +++ b/polkadot/node/subsystem-bench/src/lib/mock/prospective_parachains.rs @@ -46,10 +46,11 @@ impl MockProspectiveParachains { loop { let msg = ctx.recv().await.expect("Overseer never fails us"); match msg { - orchestra::FromOrchestra::Signal(signal) => + orchestra::FromOrchestra::Signal(signal) => { if signal == OverseerSignal::Conclude { - return - }, + return; + } + }, orchestra::FromOrchestra::Communication { msg } => match msg { ProspectiveParachainsMessage::GetMinimumRelayParents(_relay_parent, tx) => { tx.send(vec![]).unwrap(); diff --git a/polkadot/node/subsystem-bench/src/lib/mock/runtime_api.rs b/polkadot/node/subsystem-bench/src/lib/mock/runtime_api.rs index 47fab5bc46d7d..e46dc20b489af 100644 --- a/polkadot/node/subsystem-bench/src/lib/mock/runtime_api.rs +++ b/polkadot/node/subsystem-bench/src/lib/mock/runtime_api.rs @@ -173,10 +173,11 @@ impl MockRuntimeApi { let msg = ctx.recv().await.expect("Overseer never fails us"); match msg { - orchestra::FromOrchestra::Signal(signal) => + orchestra::FromOrchestra::Signal(signal) => { if signal == OverseerSignal::Conclude { - return - }, + return; + } + }, orchestra::FromOrchestra::Communication { msg } => { gum::debug!(target: LOG_TARGET, msg=?msg, "recv message"); @@ -323,10 +324,11 @@ impl MockRuntimeApi { RuntimeApiMessage::Request( _parent, RuntimeApiRequest::ApprovalVotingParams(_, tx), - ) => + ) => { if let Err(err) = tx.send(Ok(ApprovalVotingParams::default())) { gum::error!(target: LOG_TARGET, ?err, "Voting params weren't received"); - }, + } + }, RuntimeApiMessage::Request(_parent, RuntimeApiRequest::ClaimQueue(tx)) => { tx.send(Ok(self.state.claim_queue.clone())).unwrap(); }, diff --git a/polkadot/node/subsystem-bench/src/lib/network.rs b/polkadot/node/subsystem-bench/src/lib/network.rs index b908a5f7b6e6d..4ae8b87cd8a6e 100644 --- a/polkadot/node/subsystem-bench/src/lib/network.rs +++ b/polkadot/node/subsystem-bench/src/lib/network.rs @@ -16,7 +16,7 @@ //! Implements network emulation and interfaces to control and specialize //! network peer behaviour. -// [TestEnvironment] +// [TestEnvironment] // [NetworkEmulatorHandle] // || // +-------+--||--+-------+ @@ -136,7 +136,7 @@ impl RateLimit { self.credits -= amount as isize; if self.credits >= 0 { - return + return; } while self.credits < 0 { @@ -165,10 +165,12 @@ impl NetworkMessage { /// Returns the size of the encoded message or request pub fn size(&self) -> usize { match &self { - NetworkMessage::MessageFromPeer(_, ValidationProtocols::V3(message)) => - message.encoded_size(), - NetworkMessage::MessageFromNode(_peer_id, ValidationProtocols::V3(message)) => - message.encoded_size(), + NetworkMessage::MessageFromPeer(_, ValidationProtocols::V3(message)) => { + message.encoded_size() + }, + NetworkMessage::MessageFromNode(_peer_id, ValidationProtocols::V3(message)) => { + message.encoded_size() + }, NetworkMessage::RequestFromNode(_peer_id, incoming) => incoming.size(), NetworkMessage::RequestFromPeer(request) => request.payload.encoded_size(), } @@ -345,8 +347,9 @@ impl NetworkInterface { task_tx_limiter.lock().await.reap(size).await; match peer_message { - NetworkMessage::MessageFromNode(peer, message) => - tx_network.send_message_to_peer(&peer, message), + NetworkMessage::MessageFromNode(peer, message) => { + tx_network.send_message_to_peer(&peer, message) + }, NetworkMessage::RequestFromNode(peer, request) => { // Send request through a proxy so we can account and limit bandwidth // usage for the node. @@ -368,7 +371,7 @@ impl NetworkInterface { tx_network.inc_sent(size); } else { gum::info!(target: LOG_TARGET, "Downlink channel closed, network interface task exiting"); - break + break; } } } @@ -891,7 +894,7 @@ impl NetworkEmulatorHandle { if !dst_peer.is_connected() { gum::warn!(target: LOG_TARGET, "Attempted to send message from a peer not connected to our node, operation ignored"); - return Err(EmulatedPeerError::NotConnected) + return Err(EmulatedPeerError::NotConnected); } dst_peer.handle().send_message(message); @@ -908,7 +911,7 @@ impl NetworkEmulatorHandle { if !dst_peer.is_connected() { gum::warn!(target: LOG_TARGET, "Attempted to send request from a peer not connected to our node, operation ignored"); - return Err(EmulatedPeerError::NotConnected) + return Err(EmulatedPeerError::NotConnected); } dst_peer.handle().send_request(request); @@ -1057,8 +1060,9 @@ impl RequestExt for Requests { fn into_response_sender(self) -> ResponseSender { match self { Requests::ChunkFetching(outgoing_request) => outgoing_request.pending_response, - Requests::AvailableDataFetchingV1(outgoing_request) => - outgoing_request.pending_response, + Requests::AvailableDataFetchingV1(outgoing_request) => { + outgoing_request.pending_response + }, Requests::DisputeSendingV1(outgoing_request) => outgoing_request.pending_response, _ => unimplemented!("unsupported request type"), } @@ -1067,14 +1071,18 @@ impl RequestExt for Requests { /// Swaps the `ResponseSender` and returns the previous value. fn swap_response_sender(&mut self, new_sender: ResponseSender) -> ResponseSender { match self { - Requests::ChunkFetching(outgoing_request) => - std::mem::replace(&mut outgoing_request.pending_response, new_sender), - Requests::AvailableDataFetchingV1(outgoing_request) => - std::mem::replace(&mut outgoing_request.pending_response, new_sender), - Requests::AttestedCandidateV2(outgoing_request) => - std::mem::replace(&mut outgoing_request.pending_response, new_sender), - Requests::DisputeSendingV1(outgoing_request) => - std::mem::replace(&mut outgoing_request.pending_response, new_sender), + Requests::ChunkFetching(outgoing_request) => { + std::mem::replace(&mut outgoing_request.pending_response, new_sender) + }, + Requests::AvailableDataFetchingV1(outgoing_request) => { + std::mem::replace(&mut outgoing_request.pending_response, new_sender) + }, + Requests::AttestedCandidateV2(outgoing_request) => { + std::mem::replace(&mut outgoing_request.pending_response, new_sender) + }, + Requests::DisputeSendingV1(outgoing_request) => { + std::mem::replace(&mut outgoing_request.pending_response, new_sender) + }, _ => unimplemented!("unsupported request type"), } } @@ -1083,10 +1091,12 @@ impl RequestExt for Requests { fn size(&self) -> usize { match self { Requests::ChunkFetching(outgoing_request) => outgoing_request.payload.encoded_size(), - Requests::AvailableDataFetchingV1(outgoing_request) => - outgoing_request.payload.encoded_size(), - Requests::AttestedCandidateV2(outgoing_request) => - outgoing_request.payload.encoded_size(), + Requests::AvailableDataFetchingV1(outgoing_request) => { + outgoing_request.payload.encoded_size() + }, + Requests::AttestedCandidateV2(outgoing_request) => { + outgoing_request.payload.encoded_size() + }, Requests::DisputeSendingV1(outgoing_request) => outgoing_request.payload.encoded_size(), _ => unimplemented!("received an unexpected request"), } diff --git a/polkadot/node/subsystem-bench/src/lib/statement/mod.rs b/polkadot/node/subsystem-bench/src/lib/statement/mod.rs index c0c519a568173..85542006c90ac 100644 --- a/polkadot/node/subsystem-bench/src/lib/statement/mod.rs +++ b/polkadot/node/subsystem-bench/src/lib/statement/mod.rs @@ -364,7 +364,7 @@ pub async fn benchmark_statement_distribution( { let messages_sent_count = messages_tracker.get_mut(group_index).unwrap(); if *messages_sent_count == max_messages_per_candidate { - continue + continue; } *messages_sent_count += 1; diff --git a/polkadot/node/subsystem-bench/src/lib/statement/test_state.rs b/polkadot/node/subsystem-bench/src/lib/statement/test_state.rs index 867ca54802ad8..a8c22a6227521 100644 --- a/polkadot/node/subsystem-bench/src/lib/statement/test_state.rs +++ b/polkadot/node/subsystem-bench/src/lib/statement/test_state.rs @@ -314,7 +314,7 @@ impl HandleNetworkMessage for TestState { .unwrap() .as_ref(); if statements_sent_count.load(Ordering::SeqCst) { - return None + return None; } else { statements_sent_count.store(true, Ordering::SeqCst); } @@ -322,7 +322,7 @@ impl HandleNetworkMessage for TestState { let group_statements = self.statements.get(&candidate_hash).unwrap(); if !group_statements.iter().any(|s| s.unchecked_validator_index().0 == index as u32) { - return None + return None; } let statement = CompactStatement::Valid(candidate_hash); @@ -397,10 +397,12 @@ impl HandleNetworkMessage for TestState { let position_in_group = backing_group.iter().position(|v| *v == validator_index).unwrap(); match statement.unchecked_payload() { - CompactStatement::Seconded(_) => - seconded_in_group.set(position_in_group, true), - CompactStatement::Valid(_) => - validated_in_group.set(position_in_group, true), + CompactStatement::Seconded(_) => { + seconded_in_group.set(position_in_group, true) + }, + CompactStatement::Valid(_) => { + validated_in_group.set(position_in_group, true) + }, } } } diff --git a/polkadot/node/subsystem-test-helpers/src/lib.rs b/polkadot/node/subsystem-test-helpers/src/lib.rs index 5b1f8d3223d1a..50da5c4542058 100644 --- a/polkadot/node/subsystem-test-helpers/src/lib.rs +++ b/polkadot/node/subsystem-test-helpers/src/lib.rs @@ -80,10 +80,11 @@ impl Sink for SingleItemSink { let mut state = self.0.lock(); match *state { - SinkState::Empty { ref mut read_waker } => + SinkState::Empty { ref mut read_waker } => { if let Some(waker) = read_waker.take() { waker.wake(); - }, + } + }, _ => panic!("start_send called outside of empty sink state ensured by poll_ready"), } @@ -224,7 +225,7 @@ where async fn try_recv(&mut self) -> Result>, ()> { if let Some(msg) = self.message_buffer.pop_front() { - return Ok(Some(msg)) + return Ok(Some(msg)); } match poll!(self.rx.next()) { Poll::Ready(Some(msg)) => Ok(Some(msg)), @@ -235,7 +236,7 @@ where async fn recv(&mut self) -> SubsystemResult> { if let Some(msg) = self.message_buffer.pop_front() { - return Ok(msg) + return Ok(msg); } self.rx .next() @@ -251,7 +252,7 @@ where .await .ok_or_else(|| SubsystemError::Context("Receiving end closed".to_owned()))?; if let FromOrchestra::Signal(sig) = msg { - return Ok(sig) + return Ok(sig); } else { self.message_buffer.push_back(msg) } @@ -327,7 +328,7 @@ impl TestSubsystemContextHandle { /// Receive the next message from the subsystem, or `None` if the channel has been closed. pub async fn try_recv(&mut self) -> Option { if let Some(msg) = self.message_buffer.take() { - return Some(msg) + return Some(msg); } self.rx diff --git a/polkadot/node/subsystem-types/src/messages.rs b/polkadot/node/subsystem-types/src/messages.rs index 8805a330a99f6..b2ae21210eba8 100644 --- a/polkadot/node/subsystem-types/src/messages.rs +++ b/polkadot/node/subsystem-types/src/messages.rs @@ -67,7 +67,7 @@ pub use network_bridge_event::NetworkBridgeEvent; /// A request to the candidate backing subsystem to check whether /// we can second this candidate. -#[derive(Debug, Copy, Clone)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct CanSecondRequest { /// Para id of the candidate. pub candidate_para_id: ParaId, @@ -311,7 +311,7 @@ pub enum DisputeCoordinatorMessage { /// - we discarded the votes because /// - they were ancient or otherwise invalid (result: `InvalidImport`) /// - or we were not able to recover availability for an unknown candidate (result: - /// `InvalidImport`) + /// `InvalidImport`) /// - or were known already (in that case the result will still be `ValidImport`) /// - or we recorded them because (`ValidImport`) /// - we cast our own vote already on that dispute @@ -1053,10 +1053,12 @@ impl TryFrom for ApprovalVotingMessage { fn try_from(msg: ApprovalVotingParallelMessage) -> Result { match msg { - ApprovalVotingParallelMessage::ApprovedAncestor(hash, number, tx) => - Ok(ApprovalVotingMessage::ApprovedAncestor(hash, number, tx)), - ApprovalVotingParallelMessage::GetApprovalSignaturesForCandidate(candidate, tx) => - Ok(ApprovalVotingMessage::GetApprovalSignaturesForCandidate(candidate, tx)), + ApprovalVotingParallelMessage::ApprovedAncestor(hash, number, tx) => { + Ok(ApprovalVotingMessage::ApprovedAncestor(hash, number, tx)) + }, + ApprovalVotingParallelMessage::GetApprovalSignaturesForCandidate(candidate, tx) => { + Ok(ApprovalVotingMessage::GetApprovalSignaturesForCandidate(candidate, tx)) + }, _ => Err(()), } } @@ -1067,18 +1069,24 @@ impl TryFrom for ApprovalDistributionMessage { fn try_from(msg: ApprovalVotingParallelMessage) -> Result { match msg { - ApprovalVotingParallelMessage::NewBlocks(blocks) => - Ok(ApprovalDistributionMessage::NewBlocks(blocks)), - ApprovalVotingParallelMessage::DistributeAssignment(assignment, claimed_cores) => - Ok(ApprovalDistributionMessage::DistributeAssignment(assignment, claimed_cores)), - ApprovalVotingParallelMessage::DistributeApproval(vote) => - Ok(ApprovalDistributionMessage::DistributeApproval(vote)), - ApprovalVotingParallelMessage::NetworkBridgeUpdate(msg) => - Ok(ApprovalDistributionMessage::NetworkBridgeUpdate(msg)), - ApprovalVotingParallelMessage::GetApprovalSignatures(candidate_indicies, tx) => - Ok(ApprovalDistributionMessage::GetApprovalSignatures(candidate_indicies, tx)), - ApprovalVotingParallelMessage::ApprovalCheckingLagUpdate(lag) => - Ok(ApprovalDistributionMessage::ApprovalCheckingLagUpdate(lag)), + ApprovalVotingParallelMessage::NewBlocks(blocks) => { + Ok(ApprovalDistributionMessage::NewBlocks(blocks)) + }, + ApprovalVotingParallelMessage::DistributeAssignment(assignment, claimed_cores) => { + Ok(ApprovalDistributionMessage::DistributeAssignment(assignment, claimed_cores)) + }, + ApprovalVotingParallelMessage::DistributeApproval(vote) => { + Ok(ApprovalDistributionMessage::DistributeApproval(vote)) + }, + ApprovalVotingParallelMessage::NetworkBridgeUpdate(msg) => { + Ok(ApprovalDistributionMessage::NetworkBridgeUpdate(msg)) + }, + ApprovalVotingParallelMessage::GetApprovalSignatures(candidate_indicies, tx) => { + Ok(ApprovalDistributionMessage::GetApprovalSignatures(candidate_indicies, tx)) + }, + ApprovalVotingParallelMessage::ApprovalCheckingLagUpdate(lag) => { + Ok(ApprovalDistributionMessage::ApprovalCheckingLagUpdate(lag)) + }, _ => Err(()), } } @@ -1087,18 +1095,24 @@ impl TryFrom for ApprovalDistributionMessage { impl From for ApprovalVotingParallelMessage { fn from(msg: ApprovalDistributionMessage) -> Self { match msg { - ApprovalDistributionMessage::NewBlocks(blocks) => - ApprovalVotingParallelMessage::NewBlocks(blocks), - ApprovalDistributionMessage::DistributeAssignment(cert, bitfield) => - ApprovalVotingParallelMessage::DistributeAssignment(cert, bitfield), - ApprovalDistributionMessage::DistributeApproval(vote) => - ApprovalVotingParallelMessage::DistributeApproval(vote), - ApprovalDistributionMessage::NetworkBridgeUpdate(msg) => - ApprovalVotingParallelMessage::NetworkBridgeUpdate(msg), - ApprovalDistributionMessage::GetApprovalSignatures(candidate_indicies, tx) => - ApprovalVotingParallelMessage::GetApprovalSignatures(candidate_indicies, tx), - ApprovalDistributionMessage::ApprovalCheckingLagUpdate(lag) => - ApprovalVotingParallelMessage::ApprovalCheckingLagUpdate(lag), + ApprovalDistributionMessage::NewBlocks(blocks) => { + ApprovalVotingParallelMessage::NewBlocks(blocks) + }, + ApprovalDistributionMessage::DistributeAssignment(cert, bitfield) => { + ApprovalVotingParallelMessage::DistributeAssignment(cert, bitfield) + }, + ApprovalDistributionMessage::DistributeApproval(vote) => { + ApprovalVotingParallelMessage::DistributeApproval(vote) + }, + ApprovalDistributionMessage::NetworkBridgeUpdate(msg) => { + ApprovalVotingParallelMessage::NetworkBridgeUpdate(msg) + }, + ApprovalDistributionMessage::GetApprovalSignatures(candidate_indicies, tx) => { + ApprovalVotingParallelMessage::GetApprovalSignatures(candidate_indicies, tx) + }, + ApprovalDistributionMessage::ApprovalCheckingLagUpdate(lag) => { + ApprovalVotingParallelMessage::ApprovalCheckingLagUpdate(lag) + }, } } } @@ -1296,28 +1310,33 @@ impl HypotheticalCandidate { /// Get parent head data hash of the hypothetical candidate. pub fn parent_head_data_hash(&self) -> Hash { match *self { - HypotheticalCandidate::Complete { ref persisted_validation_data, .. } => - persisted_validation_data.parent_head.hash(), - HypotheticalCandidate::Incomplete { parent_head_data_hash, .. } => - parent_head_data_hash, + HypotheticalCandidate::Complete { ref persisted_validation_data, .. } => { + persisted_validation_data.parent_head.hash() + }, + HypotheticalCandidate::Incomplete { parent_head_data_hash, .. } => { + parent_head_data_hash + }, } } /// Get candidate's relay parent. pub fn relay_parent(&self) -> Hash { match *self { - HypotheticalCandidate::Complete { ref receipt, .. } => - receipt.descriptor.relay_parent(), - HypotheticalCandidate::Incomplete { candidate_relay_parent, .. } => - candidate_relay_parent, + HypotheticalCandidate::Complete { ref receipt, .. } => { + receipt.descriptor.relay_parent() + }, + HypotheticalCandidate::Incomplete { candidate_relay_parent, .. } => { + candidate_relay_parent + }, } } /// Get the output head data hash, if the candidate is complete. pub fn output_head_data_hash(&self) -> Option { match *self { - HypotheticalCandidate::Complete { ref receipt, .. } => - Some(receipt.descriptor.para_head()), + HypotheticalCandidate::Complete { ref receipt, .. } => { + Some(receipt.descriptor.para_head()) + }, HypotheticalCandidate::Incomplete { .. } => None, } } @@ -1333,8 +1352,9 @@ impl HypotheticalCandidate { /// Get the persisted validation data, if the candidate is complete. pub fn persisted_validation_data(&self) -> Option<&PersistedValidationData> { match *self { - HypotheticalCandidate::Complete { ref persisted_validation_data, .. } => - Some(persisted_validation_data), + HypotheticalCandidate::Complete { ref persisted_validation_data, .. } => { + Some(persisted_validation_data) + }, HypotheticalCandidate::Incomplete { .. } => None, } } @@ -1342,8 +1362,9 @@ impl HypotheticalCandidate { /// Get the validation code hash, if the candidate is complete. pub fn validation_code_hash(&self) -> Option { match *self { - HypotheticalCandidate::Complete { ref receipt, .. } => - Some(receipt.descriptor.validation_code_hash()), + HypotheticalCandidate::Complete { ref receipt, .. } => { + Some(receipt.descriptor.validation_code_hash()) + }, HypotheticalCandidate::Incomplete { .. } => None, } } diff --git a/polkadot/node/subsystem-types/src/messages/network_bridge_event.rs b/polkadot/node/subsystem-types/src/messages/network_bridge_event.rs index 29798c785b9c9..c06d9f58e8bd6 100644 --- a/polkadot/node/subsystem-types/src/messages/network_bridge_event.rs +++ b/polkadot/node/subsystem-types/src/messages/network_bridge_event.rs @@ -89,24 +89,30 @@ impl NetworkBridgeEvent { T: TryFrom<&'a M, Error = WrongVariant>, { Ok(match *self { - NetworkBridgeEvent::PeerMessage(ref peer, ref msg) => - NetworkBridgeEvent::PeerMessage(*peer, T::try_from(msg)?), + NetworkBridgeEvent::PeerMessage(ref peer, ref msg) => { + NetworkBridgeEvent::PeerMessage(*peer, T::try_from(msg)?) + }, NetworkBridgeEvent::PeerConnected( ref peer, ref role, ref version, ref authority_id, ) => NetworkBridgeEvent::PeerConnected(*peer, *role, *version, authority_id.clone()), - NetworkBridgeEvent::PeerDisconnected(ref peer) => - NetworkBridgeEvent::PeerDisconnected(*peer), - NetworkBridgeEvent::NewGossipTopology(ref topology) => - NetworkBridgeEvent::NewGossipTopology(topology.clone()), - NetworkBridgeEvent::PeerViewChange(ref peer, ref view) => - NetworkBridgeEvent::PeerViewChange(*peer, view.clone()), - NetworkBridgeEvent::OurViewChange(ref view) => - NetworkBridgeEvent::OurViewChange(view.clone()), - NetworkBridgeEvent::UpdatedAuthorityIds(ref peer, ref authority_ids) => - NetworkBridgeEvent::UpdatedAuthorityIds(*peer, authority_ids.clone()), + NetworkBridgeEvent::PeerDisconnected(ref peer) => { + NetworkBridgeEvent::PeerDisconnected(*peer) + }, + NetworkBridgeEvent::NewGossipTopology(ref topology) => { + NetworkBridgeEvent::NewGossipTopology(topology.clone()) + }, + NetworkBridgeEvent::PeerViewChange(ref peer, ref view) => { + NetworkBridgeEvent::PeerViewChange(*peer, view.clone()) + }, + NetworkBridgeEvent::OurViewChange(ref view) => { + NetworkBridgeEvent::OurViewChange(view.clone()) + }, + NetworkBridgeEvent::UpdatedAuthorityIds(ref peer, ref authority_ids) => { + NetworkBridgeEvent::UpdatedAuthorityIds(*peer, authority_ids.clone()) + }, }) } } diff --git a/polkadot/node/subsystem-types/src/runtime_client.rs b/polkadot/node/subsystem-types/src/runtime_client.rs index bb8f359b729ba..0e30156dc9053 100644 --- a/polkadot/node/subsystem-types/src/runtime_client.rs +++ b/polkadot/node/subsystem-types/src/runtime_client.rs @@ -197,7 +197,7 @@ pub trait RuntimeApiSubsystemClient { async fn on_chain_votes(&self, at: Hash) -> Result>, ApiError>; - /***** Added in v2 **** */ + /// *** Added in v2 **** /// Get the session info for the given session, if stored. /// @@ -234,7 +234,7 @@ pub trait RuntimeApiSubsystemClient { assumption: OccupiedCoreAssumption, ) -> Result, ApiError>; - /***** Added in v3 **** */ + /// *** Added in v3 **** /// Returns all onchain disputes. async fn disputes( diff --git a/polkadot/node/subsystem-util/src/availability_chunks.rs b/polkadot/node/subsystem-util/src/availability_chunks.rs index f44fcd2a7afdf..22e9f4dc60d0a 100644 --- a/polkadot/node/subsystem-util/src/availability_chunks.rs +++ b/polkadot/node/subsystem-util/src/availability_chunks.rs @@ -35,7 +35,7 @@ pub fn availability_chunk_index( let systematic_threshold = systematic_recovery_threshold(n_validators)? as u32; let core_start_pos = core_index.0 * systematic_threshold; - return Ok(ChunkIndex((core_start_pos + validator_index.0) % n_validators as u32)) + return Ok(ChunkIndex((core_start_pos + validator_index.0) % n_validators as u32)); } Ok(validator_index.into()) @@ -65,7 +65,7 @@ pub fn availability_chunk_indices( .cycle() .skip(core_start_pos as usize) .take(n_validators) - .collect()) + .collect()); } Ok(identity.collect()) diff --git a/polkadot/node/subsystem-util/src/backing_implicit_view.rs b/polkadot/node/subsystem-util/src/backing_implicit_view.rs index 4af42d80b4735..dba33ca4a1677 100644 --- a/polkadot/node/subsystem-util/src/backing_implicit_view.rs +++ b/polkadot/node/subsystem-util/src/backing_implicit_view.rs @@ -89,7 +89,7 @@ impl AllowedRelayParents { }; if base_number < para_min { - return &[] + return &[]; } let diff = base_number - para_min; @@ -182,7 +182,7 @@ impl View { + SubsystemSender, { if self.leaves.contains_key(&leaf_hash) { - return Err(FetchError::AlreadyKnown) + return Err(FetchError::AlreadyKnown); } let res = self.fetch_fresh_leaf_and_insert_ancestry(leaf_hash, &mut *sender).await; @@ -219,7 +219,7 @@ impl View { ancestors: &[BlockInfoProspectiveParachains], ) { if self.leaves.contains_key(&leaf.hash) { - return + return; } // Retain at least `MINIMUM_RETAIN_LENGTH` blocks in storage. @@ -267,7 +267,7 @@ impl View { let mut removed = Vec::new(); if self.leaves.remove(&leaf_hash).is_none() { - return removed + return removed; } // Prune everything before the minimum out of all leaves, @@ -343,12 +343,12 @@ impl View { if self.leaves.is_empty() { // No leaves so the view should be empty. Don't return any paths. - return vec![] + return vec![]; }; if !self.block_info_storage.contains_key(relay_parent) { // `relay_parent` is not in the view - don't return any paths - return vec![] + return vec![]; } // Find all paths from each leaf to `relay_parent`. @@ -363,7 +363,7 @@ impl View { loop { if visited.contains(¤t_leaf) { // There is a cycle - abandon this path - break + break; } current_leaf = match self.block_info_storage.get(¤t_leaf) { @@ -388,7 +388,7 @@ impl View { // we want the path ordered from oldest to newest so reverse it paths.push(path.into_iter().rev().collect()); } - break + break; }, }; } @@ -413,21 +413,24 @@ impl View { match rx.await { Ok(Ok(Some(header))) => header, - Ok(Ok(None)) => + Ok(Ok(None)) => { return Err(FetchError::BlockHeaderUnavailable( leaf_hash, BlockHeaderUnavailableReason::Unknown, - )), - Ok(Err(e)) => + )) + }, + Ok(Err(e)) => { return Err(FetchError::BlockHeaderUnavailable( leaf_hash, BlockHeaderUnavailableReason::Internal(e), - )), - Err(_) => + )) + }, + Err(_) => { return Err(FetchError::BlockHeaderUnavailable( leaf_hash, BlockHeaderUnavailableReason::SubsystemUnavailable, - )), + )) + }, } }; @@ -467,21 +470,24 @@ impl View { let header = match rx.await { Ok(Ok(Some(header))) => header, - Ok(Ok(None)) => + Ok(Ok(None)) => { return Err(FetchError::BlockHeaderUnavailable( next_ancestor_hash, BlockHeaderUnavailableReason::Unknown, - )), - Ok(Err(e)) => + )) + }, + Ok(Err(e)) => { return Err(FetchError::BlockHeaderUnavailable( next_ancestor_hash, BlockHeaderUnavailableReason::Internal(e), - )), - Err(_) => + )) + }, + Err(_) => { return Err(FetchError::BlockHeaderUnavailable( next_ancestor_hash, BlockHeaderUnavailableReason::SubsystemUnavailable, - )), + )) + }, }; self.block_info_storage.insert( @@ -498,7 +504,7 @@ impl View { ancestry.push(next_ancestor_hash); if next_ancestor_number == 0 { - break + break; } next_ancestor_number -= 1; @@ -635,7 +641,7 @@ where // We should never underflow here, the ChainAPI stops at genesis block. min = min.saturating_sub(1); } else { - break + break; } } diff --git a/polkadot/node/subsystem-util/src/database.rs b/polkadot/node/subsystem-util/src/database.rs index be5110c4aaba7..6287c9dcf0a9f 100644 --- a/polkadot/node/subsystem-util/src/database.rs +++ b/polkadot/node/subsystem-util/src/database.rs @@ -61,7 +61,7 @@ pub mod kvdb_impl { if let DBOp::DeletePrefix { col, .. } = op { if !self.is_indexed_column(*col) { pass = false; - break + break; } } } @@ -184,14 +184,14 @@ pub mod paritydb_impl { prefix: &'a [u8], ) -> Box> + 'a> { if prefix.len() == 0 { - return self.iter(col) + return self.iter(col); } let mut iter = match self.db.iter(col as u8) { Ok(iter) => iter, Err(e) => return Box::new(std::iter::once(map_err(Err(e)))), }; if let Err(e) = iter.seek(prefix) { - return Box::new(std::iter::once(map_err(Err(e)))) + return Box::new(std::iter::once(map_err(Err(e)))); } Box::new(std::iter::from_fn(move || { iter.next().transpose().and_then(|r| { @@ -210,24 +210,25 @@ pub mod paritydb_impl { if let Some((prefix_iter, col, prefix)) = current_prefix_iter { if let Some((key, _value)) = handle_err(prefix_iter.next()) { if key.starts_with(prefix) { - return Some((*col, key.to_vec(), None)) + return Some((*col, key.to_vec(), None)); } } *current_prefix_iter = None; } return match ops.next() { None => None, - Some(DBOp::Insert { col, key, value }) => - Some((col as u8, key.to_vec(), Some(value))), + Some(DBOp::Insert { col, key, value }) => { + Some((col as u8, key.to_vec(), Some(value))) + }, Some(DBOp::Delete { col, key }) => Some((col as u8, key.to_vec(), None)), Some(DBOp::DeletePrefix { col, prefix }) => { let col = col as u8; let mut iter = handle_err(self.db.iter(col)); handle_err(iter.seek(&prefix[..])); *current_prefix_iter = Some((iter, col, prefix.to_vec())); - continue + continue; }, - } + }; }); // Locking is required due to possible racy change of the content of a deleted prefix. diff --git a/polkadot/node/subsystem-util/src/determine_new_blocks.rs b/polkadot/node/subsystem-util/src/determine_new_blocks.rs index 9ffb5d9757f89..877371555529a 100644 --- a/polkadot/node/subsystem-util/src/determine_new_blocks.rs +++ b/polkadot/node/subsystem-util/src/determine_new_blocks.rs @@ -52,7 +52,7 @@ where let before_relevant = header.number < min_block_needed; if already_known || before_relevant { - return Ok(Vec::new()) + return Ok(Vec::new()); } } @@ -61,7 +61,7 @@ where // Early exit if the parent hash is in the DB or no further blocks // are needed. if is_known(&header.parent_hash)? || header.number == min_block_needed { - return Ok(ancestry) + return Ok(ancestry); } 'outer: loop { @@ -133,7 +133,7 @@ where // be skipped. Any failure at this stage means we'll just ignore those blocks // as the chain DB has failed us. if batch_headers.len() != batch_hashes.len() { - break 'outer + break 'outer; } batch_headers }; @@ -145,13 +145,13 @@ where let is_terminating = header.number == min_block_needed; if is_known || !is_relevant { - break 'outer + break 'outer; } ancestry.push((hash, header)); if is_terminating { - break 'outer + break 'outer; } } } diff --git a/polkadot/node/subsystem-util/src/inclusion_emulator/mod.rs b/polkadot/node/subsystem-util/src/inclusion_emulator/mod.rs index f243f0e3646b8..b4207d1ae5d61 100644 --- a/polkadot/node/subsystem-util/src/inclusion_emulator/mod.rs +++ b/polkadot/node/subsystem-util/src/inclusion_emulator/mod.rs @@ -237,7 +237,7 @@ impl Constraints { if let Some(HrmpWatermarkUpdate::Trunk(hrmp_watermark)) = modifications.hrmp_watermark { // head updates are always valid. if !self.hrmp_inbound.valid_watermarks.contains(&hrmp_watermark) { - return Err(ModificationError::DisallowedHrmpWatermark(hrmp_watermark)) + return Err(ModificationError::DisallowedHrmpWatermark(hrmp_watermark)); } } @@ -260,7 +260,7 @@ impl Constraints { messages_submitted: outbound_hrmp_mod.messages_submitted, })?; } else { - return Err(ModificationError::NoSuchHrmpChannel(*id)) + return Err(ModificationError::NoSuchHrmpChannel(*id)); } } @@ -287,7 +287,7 @@ impl Constraints { })?; if self.future_validation_code.is_none() && modifications.code_upgrade_applied { - return Err(ModificationError::AppliedNonexistentCodeUpgrade) + return Err(ModificationError::AppliedNonexistentCodeUpgrade); } Ok(()) @@ -318,7 +318,7 @@ impl Constraints { }, HrmpWatermarkUpdate::Trunk(n) => { // Trunk update landing on disallowed watermark is not OK. - return Err(ModificationError::DisallowedHrmpWatermark(*n)) + return Err(ModificationError::DisallowedHrmpWatermark(*n)); }, }, } @@ -344,7 +344,7 @@ impl Constraints { messages_submitted: outbound_hrmp_mod.messages_submitted, })?; } else { - return Err(ModificationError::NoSuchHrmpChannel(*id)) + return Err(ModificationError::NoSuchHrmpChannel(*id)); } } @@ -367,7 +367,7 @@ impl Constraints { return Err(ModificationError::DmpMessagesUnderflow { messages_remaining: new.dmp_remaining_messages.len(), messages_processed: modifications.dmp_messages_processed, - }) + }); } else { new.dmp_remaining_messages = new.dmp_remaining_messages[modifications.dmp_messages_processed..].to_vec(); @@ -633,7 +633,7 @@ impl Fragment { if last >= message.recipient { return Err( FragmentValidityError::HrmpMessagesDescendingOrDuplicate(i), - ) + ); } } @@ -704,28 +704,29 @@ pub fn validate_commitments( return Err(FragmentValidityError::ValidationCodeMismatch( constraints.validation_code_hash, *validation_code_hash, - )) + )); } if commitments.head_data.0.len() > constraints.max_head_data_size { return Err(FragmentValidityError::HeadDataTooLarge( constraints.max_head_data_size, commitments.head_data.0.len(), - )) + )); } if relay_parent.number < constraints.min_relay_parent_number { return Err(FragmentValidityError::RelayParentTooOld( constraints.min_relay_parent_number, relay_parent.number, - )) + )); } if commitments.new_validation_code.is_some() { match constraints.upgrade_restriction { None => {}, - Some(UpgradeRestriction::Present) => - return Err(FragmentValidityError::CodeUpgradeRestricted), + Some(UpgradeRestriction::Present) => { + return Err(FragmentValidityError::CodeUpgradeRestricted) + }, } } @@ -736,14 +737,14 @@ pub fn validate_commitments( return Err(FragmentValidityError::CodeSizeTooLarge( constraints.max_code_size, announced_code_size, - )) + )); } if commitments.horizontal_messages.len() > constraints.max_hrmp_num_per_candidate { return Err(FragmentValidityError::HrmpMessagesPerCandidateOverflow { messages_allowed: constraints.max_hrmp_num_per_candidate, messages_submitted: commitments.horizontal_messages.len(), - }) + }); } Ok(()) @@ -770,7 +771,7 @@ fn validate_against_constraints( return Err(FragmentValidityError::PersistedValidationDataMismatch( expected_pvd, persisted_validation_data.clone(), - )) + )); } if modifications.dmp_messages_processed == 0 { if constraints @@ -778,7 +779,7 @@ fn validate_against_constraints( .get(0) .map_or(false, |&msg_sent_at| msg_sent_at <= relay_parent.number) { - return Err(FragmentValidityError::DmpAdvancementRule) + return Err(FragmentValidityError::DmpAdvancementRule); } } @@ -786,7 +787,7 @@ fn validate_against_constraints( return Err(FragmentValidityError::UmpMessagesPerCandidateOverflow { messages_allowed: constraints.max_ump_num_per_candidate, messages_submitted: commitments.upward_messages.len(), - }) + }); } constraints .check_modifications(&modifications) diff --git a/polkadot/node/subsystem-util/src/lib.rs b/polkadot/node/subsystem-util/src/lib.rs index 93cdc84443aa2..d02df378279b7 100644 --- a/polkadot/node/subsystem-util/src/lib.rs +++ b/polkadot/node/subsystem-util/src/lib.rs @@ -385,7 +385,7 @@ pub fn signing_key_and_index<'a>( ) -> Option<(ValidatorId, ValidatorIndex)> { for (i, v) in validators.into_iter().enumerate() { if keystore.has_keys(&[(v.to_raw_vec(), ValidatorId::ID)]) { - return Some((v.clone(), ValidatorIndex(i as _))) + return Some((v.clone(), ValidatorIndex(i as _))); } } None @@ -442,7 +442,7 @@ pub fn choose_random_subset_with_rng bool, R: rand::Rng>( if i >= min || v.len() <= i { v.truncate(i); - return + return; } v[i..].shuffle(rng); diff --git a/polkadot/node/subsystem-util/src/runtime/mod.rs b/polkadot/node/subsystem-util/src/runtime/mod.rs index 1436288811baa..667aa709d7c4e 100644 --- a/polkadot/node/subsystem-util/src/runtime/mod.rs +++ b/polkadot/node/subsystem-util/src/runtime/mod.rs @@ -299,9 +299,9 @@ impl RuntimeInfo { }) }); let info = ValidatorInfo { our_index: Some(our_index), our_group }; - return Ok(info) + return Ok(info); } - return Ok(ValidatorInfo { our_index: None, our_group: None }) + return Ok(ValidatorInfo { our_index: None, our_group: None }); } /// Get our `ValidatorIndex`. @@ -314,7 +314,7 @@ impl RuntimeInfo { let keystore = self.keystore.as_ref()?; for (i, v) in validators.iter().enumerate() { if Keystore::has_keys(&**keystore, &[(v.to_raw_vec(), ValidatorId::ID)]) { - return Some(ValidatorIndex(i as u32)) + return Some(ValidatorIndex(i as u32)); } } None diff --git a/polkadot/node/test/service/src/lib.rs b/polkadot/node/test/service/src/lib.rs index fc035174fe039..8141e08973989 100644 --- a/polkadot/node/test/service/src/lib.rs +++ b/polkadot/node/test/service/src/lib.rs @@ -102,13 +102,17 @@ pub fn new_full( keep_finalized_for: None, invulnerable_ah_collators: HashSet::new(), collator_protocol_hold_off: None, + experimental_collator_protocol: false, + collator_reputation_persist_interval: None, }; match config.network.network_backend { - sc_network::config::NetworkBackendType::Libp2p => - polkadot_service::new_full::<_, sc_network::NetworkWorker<_, _>>(config, params), - sc_network::config::NetworkBackendType::Litep2p => - polkadot_service::new_full::<_, sc_network::Litep2pNetworkBackend>(config, params), + sc_network::config::NetworkBackendType::Libp2p => { + polkadot_service::new_full::<_, sc_network::NetworkWorker<_, _>>(config, params) + }, + sc_network::config::NetworkBackendType::Litep2p => { + polkadot_service::new_full::<_, sc_network::Litep2pNetworkBackend>(config, params) + }, } } @@ -395,7 +399,7 @@ impl PolkadotTestNode { while let Some(notification) = import_notification_stream.next().await { blocks.insert(notification.hash); if blocks.len() == count { - break + break; } } } diff --git a/polkadot/node/tracking-allocator/src/lib.rs b/polkadot/node/tracking-allocator/src/lib.rs index 76c44494ffc4f..58257911fc6d0 100644 --- a/polkadot/node/tracking-allocator/src/lib.rs +++ b/polkadot/node/tracking-allocator/src/lib.rs @@ -59,7 +59,7 @@ impl Spinlock { .compare_exchange_weak(false, true, Ordering::Acquire, Ordering::Relaxed) .is_ok() { - return SpinlockGuard { lock: self } + return SpinlockGuard { lock: self }; } // We failed to acquire the lock; wait until it's unlocked. // diff --git a/polkadot/node/zombienet-backchannel/src/lib.rs b/polkadot/node/zombienet-backchannel/src/lib.rs index 53f31a9e0b404..fe390de69da92 100644 --- a/polkadot/node/zombienet-backchannel/src/lib.rs +++ b/polkadot/node/zombienet-backchannel/src/lib.rs @@ -95,7 +95,7 @@ impl ZombienetBackchannel { backchannel_port.parse::().map_err(|_| BackchannelError::InvalidPort)?; // validate non empty string for host if backchannel_host.trim().is_empty() { - return Err(BackchannelError::InvalidHost) + return Err(BackchannelError::InvalidHost); }; let ws_url = format!("ws://{}:{}/ws", backchannel_host, backchannel_port); @@ -112,11 +112,12 @@ impl ZombienetBackchannel { tokio::spawn(async move { while let Some(Ok(Message::Text(text))) = read.next().await { match serde_json::from_str::(&text) { - Ok(backchannel_item) => + Ok(backchannel_item) => { if tx1.send(backchannel_item).is_err() { gum::error!(target: ZOMBIENET, "Error sending through the channel"); - return - }, + return; + } + }, Err(_) => { gum::error!(target: ZOMBIENET, "Invalid payload received"); }, @@ -138,7 +139,7 @@ impl ZombienetBackchannel { }); *zombienet_bkc = Some(ZombienetBackchannel { broadcast_tx: tx, ws_tx: tx_relay }); - return Ok(()) + return Ok(()); } Err(BackchannelError::AlreadyInitialized) diff --git a/polkadot/parachain/test-parachains/adder/collator/src/cli.rs b/polkadot/parachain/test-parachains/adder/collator/src/cli.rs index 5e9b4f584d44f..269098c3eaa4d 100644 --- a/polkadot/parachain/test-parachains/adder/collator/src/cli.rs +++ b/polkadot/parachain/test-parachains/adder/collator/src/cli.rs @@ -103,10 +103,12 @@ impl SubstrateCli for Cli { fn load_spec(&self, id: &str) -> std::result::Result, String> { let id = if id.is_empty() { "rococo" } else { id }; Ok(match id { - "rococo-staging" => - Box::new(polkadot_service::chain_spec::rococo_staging_testnet_config()?), - "rococo-local" => - Box::new(polkadot_service::chain_spec::rococo_local_testnet_config()?), + "rococo-staging" => { + Box::new(polkadot_service::chain_spec::rococo_staging_testnet_config()?) + }, + "rococo-local" => { + Box::new(polkadot_service::chain_spec::rococo_local_testnet_config()?) + }, "rococo" => Box::new(polkadot_service::chain_spec::rococo_config()?), path => { let path = std::path::PathBuf::from(path); diff --git a/polkadot/parachain/test-parachains/adder/collator/src/lib.rs b/polkadot/parachain/test-parachains/adder/collator/src/lib.rs index a2fb623331a00..c40d4fbe85933 100644 --- a/polkadot/parachain/test-parachains/adder/collator/src/lib.rs +++ b/polkadot/parachain/test-parachains/adder/collator/src/lib.rs @@ -265,7 +265,7 @@ impl Collator { let current_block = self.state.lock().unwrap().best_block; if start_block + blocks <= current_block { - return + return; } } } @@ -281,7 +281,7 @@ impl Collator { Delay::new(Duration::from_secs(1)).await; if seconded <= seconded_collations.load(Ordering::Relaxed) { - return + return; } } } diff --git a/polkadot/parachain/test-parachains/adder/collator/src/main.rs b/polkadot/parachain/test-parachains/adder/collator/src/main.rs index f6ed513c76a33..0562db150d2f4 100644 --- a/polkadot/parachain/test-parachains/adder/collator/src/main.rs +++ b/polkadot/parachain/test-parachains/adder/collator/src/main.rs @@ -101,6 +101,8 @@ fn main() -> Result<()> { keep_finalized_for: None, invulnerable_ah_collators: HashSet::new(), collator_protocol_hold_off: None, + experimental_collator_protocol: false, + collator_reputation_persist_interval: None, }, ) .map_err(|e| e.to_string())?; diff --git a/polkadot/parachain/test-parachains/adder/src/lib.rs b/polkadot/parachain/test-parachains/adder/src/lib.rs index 7e8d1bb1e1383..85dcdedb97267 100644 --- a/polkadot/parachain/test-parachains/adder/src/lib.rs +++ b/polkadot/parachain/test-parachains/adder/src/lib.rs @@ -95,7 +95,7 @@ pub fn execute( assert_eq!(parent_hash, parent_head.hash()); if hash_state(block_data.state) != parent_head.post_state { - return Err(StateMismatch) + return Err(StateMismatch); } let new_state = block_data.state.wrapping_add(block_data.add); diff --git a/polkadot/parachain/test-parachains/undying/collator/src/cli.rs b/polkadot/parachain/test-parachains/undying/collator/src/cli.rs index 98639ea231e0c..2870fe937b9c4 100644 --- a/polkadot/parachain/test-parachains/undying/collator/src/cli.rs +++ b/polkadot/parachain/test-parachains/undying/collator/src/cli.rs @@ -142,10 +142,12 @@ impl SubstrateCli for Cli { fn load_spec(&self, id: &str) -> std::result::Result, String> { let id = if id.is_empty() { "rococo" } else { id }; Ok(match id { - "rococo-staging" => - Box::new(polkadot_service::chain_spec::rococo_staging_testnet_config()?), - "rococo-local" => - Box::new(polkadot_service::chain_spec::rococo_local_testnet_config()?), + "rococo-staging" => { + Box::new(polkadot_service::chain_spec::rococo_staging_testnet_config()?) + }, + "rococo-local" => { + Box::new(polkadot_service::chain_spec::rococo_local_testnet_config()?) + }, "rococo" => Box::new(polkadot_service::chain_spec::rococo_config()?), path => { let path = std::path::PathBuf::from(path); diff --git a/polkadot/parachain/test-parachains/undying/collator/src/lib.rs b/polkadot/parachain/test-parachains/undying/collator/src/lib.rs index 7722d344ca87a..c15137f5d0c48 100644 --- a/polkadot/parachain/test-parachains/undying/collator/src/lib.rs +++ b/polkadot/parachain/test-parachains/undying/collator/src/lib.rs @@ -285,7 +285,7 @@ impl Collator { "Requested to build on top of malformed head-data: {:?}", err, ); - return futures::future::ready(None).boxed() + return futures::future::ready(None).boxed(); }, Ok(p) => p, }; @@ -299,7 +299,7 @@ impl Collator { parent, err, ); - return futures::future::ready(None).boxed() + return futures::future::ready(None).boxed(); }, Ok(x) => x, }; @@ -375,7 +375,7 @@ impl Collator { let current_block = self.state.lock().unwrap().best_block; if start_block + blocks <= current_block { - return + return; } } } @@ -391,7 +391,7 @@ impl Collator { Delay::new(Duration::from_secs(1)).await; if seconded <= seconded_collations.load(Ordering::Relaxed) { - return + return; } } } diff --git a/polkadot/parachain/test-parachains/undying/collator/src/main.rs b/polkadot/parachain/test-parachains/undying/collator/src/main.rs index 50392bce7d4f1..372201525590b 100644 --- a/polkadot/parachain/test-parachains/undying/collator/src/main.rs +++ b/polkadot/parachain/test-parachains/undying/collator/src/main.rs @@ -113,6 +113,8 @@ fn main() -> Result<()> { keep_finalized_for: None, invulnerable_ah_collators: HashSet::new(), collator_protocol_hold_off: None, + experimental_collator_protocol: false, + collator_reputation_persist_interval: None, }, ) .map_err(|e| e.to_string())?; diff --git a/polkadot/parachain/test-parachains/undying/src/lib.rs b/polkadot/parachain/test-parachains/undying/src/lib.rs index ac27f58f38d8e..764c6eca63923 100644 --- a/polkadot/parachain/test-parachains/undying/src/lib.rs +++ b/polkadot/parachain/test-parachains/undying/src/lib.rs @@ -152,7 +152,7 @@ pub fn execute( hash_state(&block_data.state), parent_head.post_state, ); - return Err(StateMismatch) + return Err(StateMismatch); } let mut upward_messages: UpwardMessages = Default::default(); @@ -166,8 +166,12 @@ pub fn execute( ); if block_data.experimental_send_approved_peer { + // Create a valid PeerId in multihash format: [hash_code, digest_size, ...digest_bytes] + // Using multihash code 0x0 (identity hash) with 32 bytes of data + let mut peer_id_bytes = alloc::vec![0x0, 32]; // hash code 0x0, size 32 + peer_id_bytes.extend_from_slice(&[1u8; 32]); // 32 bytes of data upward_messages - .force_push(UMPSignal::ApprovedPeer(alloc::vec![1, 2, 3].try_into().unwrap()).encode()); + .force_push(UMPSignal::ApprovedPeer(peer_id_bytes.try_into().unwrap()).encode()); } // We need to clone the block data as the fn will mutate it's state. diff --git a/polkadot/primitives/src/v9/executor_params.rs b/polkadot/primitives/src/v9/executor_params.rs index 80fa97eb8aa46..576dc296f1666 100644 --- a/polkadot/primitives/src/v9/executor_params.rs +++ b/polkadot/primitives/src/v9/executor_params.rs @@ -192,7 +192,6 @@ impl core::fmt::LowerHex for ExecutorParamsPrepHash { /// # Deterministically serialized execution environment semantics /// Represents an arbitrary semantics of an arbitrary execution environment, so should be kept as /// abstract as possible. -// // ADR: For mandatory entries, mandatoriness should be enforced in code rather than separating them // into individual fields of the structure. Thus, complex migrations shall be avoided when adding // new entries and removing old ones. At the moment, there's no mandatory parameters defined. If @@ -254,7 +253,7 @@ impl ExecutorParams { for param in &self.0 { if let ExecutorParam::PvfPrepTimeout(k, timeout) = param { if kind == *k { - return Some(Duration::from_millis(*timeout)) + return Some(Duration::from_millis(*timeout)); } } } @@ -266,7 +265,7 @@ impl ExecutorParams { for param in &self.0 { if let ExecutorParam::PvfExecTimeout(k, timeout) = param { if kind == *k { - return Some(Duration::from_millis(*timeout)) + return Some(Duration::from_millis(*timeout)); } } } @@ -277,7 +276,7 @@ impl ExecutorParams { pub fn prechecking_max_memory(&self) -> Option { for param in &self.0 { if let ExecutorParam::PrecheckingMaxMemory(limit) = param { - return Some(*limit) + return Some(*limit); } } None @@ -293,7 +292,7 @@ impl ExecutorParams { macro_rules! check { ($param:ident, $val:expr $(,)?) => { if seen.contains_key($param) { - return Err(DuplicatedParam($param)) + return Err(DuplicatedParam($param)); } seen.insert($param, $val as u64); }; @@ -301,10 +300,10 @@ impl ExecutorParams { // should check existence before range ($param:ident, $val:expr, $out_of_limit:expr $(,)?) => { if seen.contains_key($param) { - return Err(DuplicatedParam($param)) + return Err(DuplicatedParam($param)); } if $out_of_limit { - return Err(OutsideLimit($param)) + return Err(OutsideLimit($param)); } seen.insert($param, $val as u64); }; @@ -368,7 +367,7 @@ impl ExecutorParams { seen.get("StackNativeMax").or(Some(&(DEFAULT_NATIVE_STACK_MAX as u64))), ) { if *nm < 128 * *lm { - return Err(IncompatibleValues("StackLogicalMax", "StackNativeMax")) + return Err(IncompatibleValues("StackLogicalMax", "StackNativeMax")); } } @@ -379,7 +378,7 @@ impl ExecutorParams { .or(Some(&DEFAULT_LENIENT_PREPARATION_TIMEOUT_MS)), ) { if *precheck >= *lenient { - return Err(IncompatibleValues("PvfPrepKind::Precheck", "PvfPrepKind::Prepare")) + return Err(IncompatibleValues("PvfPrepKind::Precheck", "PvfPrepKind::Prepare")); } } @@ -389,7 +388,7 @@ impl ExecutorParams { .or(Some(&DEFAULT_APPROVAL_EXECUTION_TIMEOUT_MS)), ) { if *backing >= *approval { - return Err(IncompatibleValues("PvfExecKind::Backing", "PvfExecKind::Approval")) + return Err(IncompatibleValues("PvfExecKind::Backing", "PvfExecKind::Approval")); } } @@ -447,8 +446,9 @@ fn ensure_prep_hash_changes() { PrecheckingMaxMemory(_) => continue, PvfPrepTimeout(_, _) => continue, PvfExecTimeout(_, _) => continue, - WasmExtBulkMemory => - (ExecutorParams::default(), ExecutorParams::from(&[WasmExtBulkMemory][..])), + WasmExtBulkMemory => { + (ExecutorParams::default(), ExecutorParams::from(&[WasmExtBulkMemory][..])) + }, }; assert_ne!(ep1.prep_hash(), ep2.prep_hash()); diff --git a/polkadot/primitives/src/v9/metrics.rs b/polkadot/primitives/src/v9/metrics.rs index 409efc86bc9b9..b3b9172b2848a 100644 --- a/polkadot/primitives/src/v9/metrics.rs +++ b/polkadot/primitives/src/v9/metrics.rs @@ -42,7 +42,7 @@ pub struct RuntimeMetricUpdate { } fn vec_to_str<'a>(v: &'a Vec, default: &'static str) -> &'a str { - return alloc::str::from_utf8(v).unwrap_or(default) + return alloc::str::from_utf8(v).unwrap_or(default); } impl RuntimeMetricLabels { diff --git a/polkadot/primitives/src/v9/mod.rs b/polkadot/primitives/src/v9/mod.rs index d3f1359fe0651..da6948bf28608 100644 --- a/polkadot/primitives/src/v9/mod.rs +++ b/polkadot/primitives/src/v9/mod.rs @@ -621,7 +621,7 @@ pub fn check_candidate_backing + Clone + Encode + core::fmt::Debu group_len, validator_indices.len(), ); - return Err(()) + return Err(()); } if validity_votes.len() > group_len { @@ -631,7 +631,7 @@ pub fn check_candidate_backing + Clone + Encode + core::fmt::Debu group_len, validity_votes.len(), ); - return Err(()) + return Err(()); } let mut signed = 0; @@ -654,7 +654,7 @@ pub fn check_candidate_backing + Clone + Encode + core::fmt::Debu validator_id, val_in_group_idx, ); - return Err(()) + return Err(()); } } @@ -665,7 +665,7 @@ pub fn check_candidate_backing + Clone + Encode + core::fmt::Debu validity_votes.len(), signed, ); - return Err(()) + return Err(()); } Ok(signed) @@ -763,10 +763,10 @@ impl GroupRotationInfo { /// `core_index` should be less than `cores`, which is capped at `u32::max()`. pub fn group_for_core(&self, core_index: CoreIndex, cores: usize) -> GroupIndex { if self.group_rotation_frequency == 0 { - return GroupIndex(core_index.0) + return GroupIndex(core_index.0); } if cores == 0 { - return GroupIndex(0) + return GroupIndex(0); } let cores = core::cmp::min(cores, u32::MAX as usize); @@ -785,10 +785,10 @@ impl GroupRotationInfo { /// `core_index` should be less than `cores`, which is capped at `u32::max()`. pub fn core_for_group(&self, group_index: GroupIndex, cores: usize) -> CoreIndex { if self.group_rotation_frequency == 0 { - return CoreIndex(group_index.0) + return CoreIndex(group_index.0); } if cores == 0 { - return CoreIndex(0) + return CoreIndex(0); } let cores = core::cmp::min(cores, u32::MAX as usize); @@ -1067,8 +1067,9 @@ impl ConsensusLog { digest_item: &sp_runtime::DigestItem, ) -> Result, codec::Error> { match digest_item { - sp_runtime::DigestItem::Consensus(id, encoded) if id == &POLKADOT_ENGINE_ID => - Ok(Some(Self::decode(&mut &encoded[..])?)), + sp_runtime::DigestItem::Consensus(id, encoded) if id == &POLKADOT_ENGINE_ID => { + Ok(Some(Self::decode(&mut &encoded[..])?)) + }, _ => Ok(None), } } @@ -1104,33 +1105,38 @@ impl DisputeStatement { session: SessionIndex, ) -> Result, ()> { match self { - DisputeStatement::Valid(ValidDisputeStatementKind::Explicit) => + DisputeStatement::Valid(ValidDisputeStatementKind::Explicit) => { Ok(ExplicitDisputeStatement { valid: true, candidate_hash, session } - .signing_payload()), + .signing_payload()) + }, DisputeStatement::Valid(ValidDisputeStatementKind::BackingSeconded( inclusion_parent, )) => Ok(CompactStatement::Seconded(candidate_hash).signing_payload(&SigningContext { session_index: session, parent_hash: *inclusion_parent, })), - DisputeStatement::Valid(ValidDisputeStatementKind::BackingValid(inclusion_parent)) => + DisputeStatement::Valid(ValidDisputeStatementKind::BackingValid(inclusion_parent)) => { Ok(CompactStatement::Valid(candidate_hash).signing_payload(&SigningContext { session_index: session, parent_hash: *inclusion_parent, - })), - DisputeStatement::Valid(ValidDisputeStatementKind::ApprovalChecking) => - Ok(ApprovalVote(candidate_hash).signing_payload(session)), + })) + }, + DisputeStatement::Valid(ValidDisputeStatementKind::ApprovalChecking) => { + Ok(ApprovalVote(candidate_hash).signing_payload(session)) + }, DisputeStatement::Valid( ValidDisputeStatementKind::ApprovalCheckingMultipleCandidates(candidate_hashes), - ) => + ) => { if candidate_hashes.contains(&candidate_hash) { Ok(ApprovalVoteMultipleCandidates(candidate_hashes).signing_payload(session)) } else { Err(()) - }, - DisputeStatement::Invalid(InvalidDisputeStatementKind::Explicit) => + } + }, + DisputeStatement::Invalid(InvalidDisputeStatementKind::Explicit) => { Ok(ExplicitDisputeStatement { valid: false, candidate_hash, session } - .signing_payload()), + .signing_payload()) + }, } } @@ -1349,10 +1355,12 @@ impl ValidityAttestation { signing_context: &SigningContext, ) -> Vec { match *self { - ValidityAttestation::Implicit(_) => - (CompactStatement::Seconded(candidate_hash), signing_context).encode(), - ValidityAttestation::Explicit(_) => - (CompactStatement::Valid(candidate_hash), signing_context).encode(), + ValidityAttestation::Implicit(_) => { + (CompactStatement::Seconded(candidate_hash), signing_context).encode() + }, + ValidityAttestation::Explicit(_) => { + (CompactStatement::Valid(candidate_hash), signing_context).encode() + }, } } } @@ -1428,7 +1436,7 @@ impl codec::Decode for CompactStatement { fn decode(input: &mut I) -> Result { let maybe_magic = <[u8; 4]>::decode(input)?; if maybe_magic != BACKING_STATEMENT_MAGIC { - return Err(codec::Error::from("invalid magic string")) + return Err(codec::Error::from("invalid magic string")); } Ok(match CompactStatementInner::decode(input)? { @@ -1540,7 +1548,7 @@ pub fn effective_minimum_backing_votes( #[derive(Clone, Encode, Decode, Debug, TypeInfo)] #[cfg_attr(feature = "std", derive(PartialEq))] pub struct SessionInfo { - /****** New in v2 ****** */ + /// **** New in v2 ****** /// All the validators actively participating in parachain consensus. /// Indices are into the broader validator set. pub active_validator_indices: Vec, @@ -1549,7 +1557,7 @@ pub struct SessionInfo { /// The amount of sessions to keep for disputes. pub dispute_period: SessionIndex, - /****** Old fields ***** */ + /// **** Old fields ***** /// Validators in canonical ordering. /// /// NOTE: There might be more authorities in the current session, than `validators` @@ -1868,7 +1876,7 @@ impl CandidateDescriptorV2 { /// and the internal `version` field is 0. pub fn version(&self) -> CandidateDescriptorVersion { if self.reserved2 != [0u8; 64] || self.reserved1 != [0u8; 25] { - return CandidateDescriptorVersion::V1 + return CandidateDescriptorVersion::V1; } match self.version.0 { @@ -1939,7 +1947,7 @@ impl CandidateDescriptorV2 { /// Returns the collator signature of `V1` candidate descriptors, `None` otherwise. pub fn signature(&self) -> Option { if self.version() == CandidateDescriptorVersion::V1 { - return Some(self.rebuild_signature_field()) + return Some(self.rebuild_signature_field()); } None @@ -1948,7 +1956,7 @@ impl CandidateDescriptorV2 { /// Returns the `core_index` of `V2` candidate descriptors, `None` otherwise. pub fn core_index(&self) -> Option { if self.version() == CandidateDescriptorVersion::V1 { - return None + return None; } Some(CoreIndex(self.core_index as u32)) @@ -1957,7 +1965,7 @@ impl CandidateDescriptorV2 { /// Returns the `session_index` of `V2` candidate descriptors, `None` otherwise. pub fn session_index(&self) -> Option { if self.version() == CandidateDescriptorVersion::V1 { - return None + return None; } Some(self.session_index) @@ -2298,7 +2306,7 @@ impl CandidateUMPSignals { }, _ => { // This means that we got duplicate UMP signals. - return Err(CommittedCandidateReceiptError::DuplicateUMPSignal) + return Err(CommittedCandidateReceiptError::DuplicateUMPSignal); }, }; @@ -2336,7 +2344,7 @@ impl CandidateCommitments { if signals_iter.next().is_none() { // No UMP separator - return Ok(res) + return Ok(res); } // Process first signal @@ -2349,7 +2357,7 @@ impl CandidateCommitments { // At most two signals are allowed if signals_iter.next().is_some() { - return Err(CommittedCandidateReceiptError::TooManyUMPSignals) + return Err(CommittedCandidateReceiptError::TooManyUMPSignals); } Ok(res) @@ -2420,15 +2428,16 @@ impl CommittedCandidateReceiptV2 { // If the parachain runtime started sending ump signals, v1 descriptors are no // longer allowed. if !signals.is_empty() { - return Err(CommittedCandidateReceiptError::UMPSignalWithV1Decriptor) + return Err(CommittedCandidateReceiptError::UMPSignalWithV1Decriptor); } else { // Nothing else to check for v1 descriptors. - return Ok(CandidateUMPSignals::default()) + return Ok(CandidateUMPSignals::default()); } }, CandidateDescriptorVersion::V2 => {}, - CandidateDescriptorVersion::Unknown => - return Err(CommittedCandidateReceiptError::UnknownVersion(self.descriptor.version)), + CandidateDescriptorVersion::Unknown => { + return Err(CommittedCandidateReceiptError::UnknownVersion(self.descriptor.version)) + }, } // Check the core index @@ -2460,7 +2469,7 @@ impl CommittedCandidateReceiptV2 { .ok_or(CommittedCandidateReceiptError::NoAssignment)?; if assigned_cores.is_empty() { - return Err(CommittedCandidateReceiptError::NoAssignment) + return Err(CommittedCandidateReceiptError::NoAssignment); } let descriptor_core_index = CoreIndex(self.descriptor.core_index as u32); @@ -2472,11 +2481,11 @@ impl CommittedCandidateReceiptV2 { // We got more than one assigned core and no core selector. Special care is needed. if !assigned_cores.contains(&descriptor_core_index) { // core index in the descriptor is not assigned to the para. Error. - return Err(CommittedCandidateReceiptError::InvalidCoreIndex) + return Err(CommittedCandidateReceiptError::InvalidCoreIndex); } else { // the descriptor core index is indeed assigned to the para. This is the most we can // check for now - return Ok(()) + return Ok(()); } } else { // No core selector but there's only one assigned core, use it. @@ -2493,7 +2502,7 @@ impl CommittedCandidateReceiptV2 { return Err(CommittedCandidateReceiptError::CoreIndexMismatch { descriptor: descriptor_core_index, commitments: core_index, - }) + }); } Ok(()) diff --git a/polkadot/roadmap/implementers-guide/src/node/backing/statement-distribution.md b/polkadot/roadmap/implementers-guide/src/node/backing/statement-distribution.md index c065e51c99093..d3ed4d31ae7d2 100644 --- a/polkadot/roadmap/implementers-guide/src/node/backing/statement-distribution.md +++ b/polkadot/roadmap/implementers-guide/src/node/backing/statement-distribution.md @@ -22,7 +22,7 @@ in case of disputes. Any validator can be selected as the next relay-chain block advance for security reasons. As a result, all validators must have a up to date view of all possible parachain candidates + backing statements that could be placed on-chain in the next block. -[This blog post](https://polkadot.com/blog/polkadot-v1-0-sharding-and-economic-security) puts it another way: +An old blog post (sadly unavailable) puts it another way: "Validators who aren't assigned to the parachain still listen for the attestations [statements] because whichever validator ends up being the author of the relay-chain block needs to bundle up attested parachain blocks for several parachains and place them into the relay-chain block." diff --git a/polkadot/runtime/common/src/assigned_slots/mod.rs b/polkadot/runtime/common/src/assigned_slots/mod.rs index b48e512431d6a..3807cb87d1b7a 100644 --- a/polkadot/runtime/common/src/assigned_slots/mod.rs +++ b/polkadot/runtime/common/src/assigned_slots/mod.rs @@ -242,7 +242,7 @@ pub mod pallet { if let Some((lease_period, first_block)) = Self::lease_period_index(n) { // If we're beginning a new lease period then handle that. if first_block { - return Self::manage_lease_period_start(lease_period) + return Self::manage_lease_period_start(lease_period); } } diff --git a/polkadot/runtime/common/src/auctions/mod.rs b/polkadot/runtime/common/src/auctions/mod.rs index 9cf9ec2c06d0e..729c19db630cb 100644 --- a/polkadot/runtime/common/src/auctions/mod.rs +++ b/polkadot/runtime/common/src/auctions/mod.rs @@ -340,10 +340,10 @@ impl Auctioneer> for Pallet { let sample_length = T::SampleLength::get().max(One::one()); let sample = after_early_end / sample_length; let sub_sample = after_early_end % sample_length; - return AuctionStatus::EndingPeriod(sample, sub_sample) + return AuctionStatus::EndingPeriod(sample, sub_sample); } else { // This is safe because of the comparison operator above - return AuctionStatus::VrfDelay(after_early_end - ending_period) + return AuctionStatus::VrfDelay(after_early_end - ending_period); } } @@ -560,7 +560,7 @@ impl Pallet { #[allow(deprecated)] Winning::::remove_all(None); AuctionInfo::::kill(); - return Some((res, lease_period_index)) + return Some((res, lease_period_index)); } } } diff --git a/polkadot/runtime/common/src/claims/mod.rs b/polkadot/runtime/common/src/claims/mod.rs index 9549d35b7ec50..234939da42110 100644 --- a/polkadot/runtime/common/src/claims/mod.rs +++ b/polkadot/runtime/common/src/claims/mod.rs @@ -106,14 +106,16 @@ impl StatementKind { /// Convert this to the (English) statement it represents. fn to_text(self) -> &'static [u8] { match self { - StatementKind::Regular => + StatementKind::Regular => { &b"I hereby agree to the terms of the statement whose SHA-256 multihash is \ Qmc1XYqT6S39WNp2UeiRUrZichUWUPpGEThDE6dAb3f6Ny. (This may be found at the URL: \ - https://statement.polkadot.network/regular.html)"[..], - StatementKind::Saft => + https://statement.polkadot.network/regular.html)"[..] + }, + StatementKind::Saft => { &b"I hereby agree to the terms of the statement whose SHA-256 multihash is \ QmXEkMahfhHJPzT3RjkXiZVFi77ZeVeuxtAjhojGRNYckz. (This may be found at the URL: \ - https://statement.polkadot.network/saft.html)"[..], + https://statement.polkadot.network/saft.html)"[..] + }, } } } @@ -593,7 +595,7 @@ impl Pallet { let vesting = Vesting::::get(&signer); if vesting.is_some() && T::VestingSchedule::vesting_balance(&dest).is_some() { - return Err(Error::::VestedBalanceExists.into()) + return Err(Error::::VestedBalanceExists.into()); } // We first need to deposit the balance to ensure that the account exists. diff --git a/polkadot/runtime/common/src/crowdloan/migration.rs b/polkadot/runtime/common/src/crowdloan/migration.rs index 0ee3872a366ea..31add5c896026 100644 --- a/polkadot/runtime/common/src/crowdloan/migration.rs +++ b/polkadot/runtime/common/src/crowdloan/migration.rs @@ -118,7 +118,7 @@ pub mod crowdloan_index_migration { for (who, _amount) in leases.iter().flatten() { if *who == old_fund_account { found_lease_deposit = true; - break + break; } } if found_lease_deposit { diff --git a/polkadot/runtime/common/src/impls.rs b/polkadot/runtime/common/src/impls.rs index 53229495dd588..3e9e5e6c04c76 100644 --- a/polkadot/runtime/common/src/impls.rs +++ b/polkadot/runtime/common/src/impls.rs @@ -176,13 +176,15 @@ impl TryConvert asset_id: v4_asset_id.try_into().map_err(|_| asset.clone())?, }) }, - VersionedLocatableAsset::V4 { ref location, ref asset_id } => + VersionedLocatableAsset::V4 { ref location, ref asset_id } => { Ok(xcm_builder::LocatableAssetId { location: location.clone().try_into().map_err(|_| asset.clone())?, asset_id: asset_id.clone().try_into().map_err(|_| asset.clone())?, - }), - VersionedLocatableAsset::V5 { location, asset_id } => - Ok(xcm_builder::LocatableAssetId { location, asset_id }), + }) + }, + VersionedLocatableAsset::V5 { location, asset_id } => { + Ok(xcm_builder::LocatableAssetId { location, asset_id }) + }, } } } @@ -336,7 +338,9 @@ mod tests { weight.max_total = Some(Weight::from_parts(1024, u64::MAX)); }) .build_or_panic(); - pub BlockLength: limits::BlockLength = limits::BlockLength::max(2 * 1024); + pub BlockLength: limits::BlockLength = limits::BlockLength::builder() + .max_length(2 * 1024) + .build(); pub const AvailableBlockRatio: Perbill = Perbill::one(); } diff --git a/polkadot/runtime/common/src/integration_tests.rs b/polkadot/runtime/common/src/integration_tests.rs index 3d9f7b3fcda90..3d871a2dfb2e7 100644 --- a/polkadot/runtime/common/src/integration_tests.rs +++ b/polkadot/runtime/common/src/integration_tests.rs @@ -859,7 +859,7 @@ fn basic_swap_works() { // This test will test a swap between a lease holding parachain and on-demand parachain works // successfully. new_test_ext().execute_with(|| { - assert!(System::block_number().is_one()); /* So events are emitted */ + assert!(System::block_number().is_one()); // So events are emitted const START_SESSION_INDEX: SessionIndex = 1; run_to_session(START_SESSION_INDEX); @@ -1031,7 +1031,7 @@ fn basic_swap_works() { fn parachain_swap_works() { // This test will test a swap between two parachains works successfully. new_test_ext().execute_with(|| { - assert!(System::block_number().is_one()); /* So events are emitted */ + assert!(System::block_number().is_one()); // So events are emitted const START_SESSION_INDEX: SessionIndex = 1; run_to_session(START_SESSION_INDEX); @@ -1211,7 +1211,7 @@ fn parachain_swap_works() { #[test] fn crowdloan_ending_period_bid() { new_test_ext().execute_with(|| { - assert!(System::block_number().is_one()); /* So events are emitted */ + assert!(System::block_number().is_one()); // So events are emitted const START_SESSION_INDEX: SessionIndex = 1; run_to_session(START_SESSION_INDEX); @@ -1323,7 +1323,7 @@ fn crowdloan_ending_period_bid() { #[test] fn auction_bid_requires_registered_para() { new_test_ext().execute_with(|| { - assert!(System::block_number().is_one()); /* So events are emitted */ + assert!(System::block_number().is_one()); // So events are emitted const START_SESSION_INDEX: SessionIndex = 1; run_to_session(START_SESSION_INDEX); @@ -1394,7 +1394,7 @@ fn auction_bid_requires_registered_para() { #[test] fn gap_bids_work() { new_test_ext().execute_with(|| { - assert!(System::block_number().is_one()); /* So events are emitted */ + assert!(System::block_number().is_one()); // So events are emitted const START_SESSION_INDEX: SessionIndex = 1; run_to_session(START_SESSION_INDEX); @@ -1581,7 +1581,7 @@ fn gap_bids_work() { #[test] fn cant_bid_on_existing_lease_periods() { new_test_ext().execute_with(|| { - assert!(System::block_number().is_one()); /* So events are emitted */ + assert!(System::block_number().is_one()); // So events are emitted const START_SESSION_INDEX: SessionIndex = 1; run_to_session(START_SESSION_INDEX); diff --git a/polkadot/runtime/common/src/lib.rs b/polkadot/runtime/common/src/lib.rs index 41e1cdbab8011..2ae67501d44fd 100644 --- a/polkadot/runtime/common/src/lib.rs +++ b/polkadot/runtime/common/src/lib.rs @@ -101,8 +101,12 @@ parameter_types! { /// The maximum amount of the multiplier. pub MaximumMultiplier: Multiplier = Bounded::max_value(); /// Maximum length of block. Up to 5MB. - pub BlockLength: limits::BlockLength = - limits::BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub BlockLength: limits::BlockLength = limits::BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(frame_support::dispatch::DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); } /// Parameterized slow adjusting fee updated based on diff --git a/polkadot/runtime/common/src/mock.rs b/polkadot/runtime/common/src/mock.rs index 54170b07fa62c..4be2c233821c9 100644 --- a/polkadot/runtime/common/src/mock.rs +++ b/polkadot/runtime/common/src/mock.rs @@ -165,8 +165,9 @@ impl Registrar for TestRegistrar { PARATHREADS.with(|x| { let mut parathreads = x.borrow_mut(); match parathreads.binary_search(&id) { - Ok(_) => - Err(DispatchError::Other("already parathread, so cannot `make_parathread`")), + Ok(_) => { + Err(DispatchError::Other("already parathread, so cannot `make_parathread`")) + }, Err(i) => { parathreads.insert(i, id); Ok(()) diff --git a/polkadot/runtime/common/src/paras_registrar/mock.rs b/polkadot/runtime/common/src/paras_registrar/mock.rs index d29879e5285d0..2acc70ef9ae4c 100644 --- a/polkadot/runtime/common/src/paras_registrar/mock.rs +++ b/polkadot/runtime/common/src/paras_registrar/mock.rs @@ -67,11 +67,16 @@ where } const NORMAL_RATIO: Perbill = Perbill::from_percent(75); +const MAX_BLOCK_LENGTH: u32 = 4 * 1024 * 1024; parameter_types! { pub BlockWeights: limits::BlockWeights = frame_system::limits::BlockWeights::simple_max(Weight::from_parts(1024, u64::MAX)); - pub BlockLength: limits::BlockLength = - limits::BlockLength::max_with_normal_ratio(4 * 1024 * 1024, NORMAL_RATIO); + pub BlockLength: limits::BlockLength = limits::BlockLength::builder() + .max_length(MAX_BLOCK_LENGTH) + .modify_max_length_for_class(frame_support::dispatch::DispatchClass::Normal, |m| { + *m = NORMAL_RATIO * MAX_BLOCK_LENGTH + }) + .build(); } #[derive_impl(frame_system::config_preludes::TestDefaultConfig)] diff --git a/polkadot/runtime/common/src/paras_registrar/mod.rs b/polkadot/runtime/common/src/paras_registrar/mod.rs index a778a1631afd1..f518603d1c648 100644 --- a/polkadot/runtime/common/src/paras_registrar/mod.rs +++ b/polkadot/runtime/common/src/paras_registrar/mod.rs @@ -578,7 +578,7 @@ impl Pallet { if para_info.manager == who { ensure!(!para_info.is_locked(), Error::::ParaLocked); - return Ok(()) + return Ok(()); } } @@ -591,7 +591,7 @@ impl Pallet { id: ParaId, ) -> DispatchResult { if ensure_root(origin.clone()).is_ok() { - return Ok(()) + return Ok(()); } let caller_id = ensure_parachain(::RuntimeOrigin::from(origin))?; diff --git a/polkadot/runtime/common/src/paras_sudo_wrapper.rs b/polkadot/runtime/common/src/paras_sudo_wrapper.rs index bd5984b3b63ee..bce4382afe7b0 100644 --- a/polkadot/runtime/common/src/paras_sudo_wrapper.rs +++ b/polkadot/runtime/common/src/paras_sudo_wrapper.rs @@ -157,8 +157,9 @@ pub mod pallet { let config = configuration::ActiveConfig::::get(); dmp::Pallet::::queue_downward_message(&config, id, xcm.encode()).map_err(|e| match e { - dmp::QueueDownwardMessageError::ExceedsMaxMessageSize => - Error::::ExceedsMaxMessageSize.into(), + dmp::QueueDownwardMessageError::ExceedsMaxMessageSize => { + Error::::ExceedsMaxMessageSize.into() + }, dmp::QueueDownwardMessageError::Unroutable => Error::::Unroutable.into(), }) } diff --git a/polkadot/runtime/common/src/purchase/mod.rs b/polkadot/runtime/common/src/purchase/mod.rs index c4575663b8fdb..d4cccd1bbf517 100644 --- a/polkadot/runtime/common/src/purchase/mod.rs +++ b/polkadot/runtime/common/src/purchase/mod.rs @@ -369,7 +369,7 @@ pub mod pallet { Ok(()) } - /* Configuration Operations */ + // Configuration Operations /// Set the account that will be used to payout users in the DOT purchase process. /// diff --git a/polkadot/runtime/common/src/slots/migration.rs b/polkadot/runtime/common/src/slots/migration.rs index 4b499ca7c7bd8..6f03df56788bd 100644 --- a/polkadot/runtime/common/src/slots/migration.rs +++ b/polkadot/runtime/common/src/slots/migration.rs @@ -40,7 +40,7 @@ pub mod slots_crowdloan_index_migration { "para_id={:?}, old_fund_account={:?}, fund_id={:?}, leases={:?}", para_id, old_fund_account, crowdloan.fund_index, leases, ); - break + break; } } } diff --git a/polkadot/runtime/common/src/slots/mod.rs b/polkadot/runtime/common/src/slots/mod.rs index 5e4f33152288e..df8590ca6555f 100644 --- a/polkadot/runtime/common/src/slots/mod.rs +++ b/polkadot/runtime/common/src/slots/mod.rs @@ -313,10 +313,11 @@ impl Pallet { let mut tracker = alloc::collections::btree_map::BTreeMap::new(); Leases::::get(para).into_iter().for_each(|lease| match lease { Some((who, amount)) => match tracker.get(&who) { - Some(prev_amount) => + Some(prev_amount) => { if amount > *prev_amount { tracker.insert(who, amount); - }, + } + }, None => { tracker.insert(who, amount); }, @@ -431,12 +432,13 @@ impl Leaser> for Pallet { Leases::::get(para) .into_iter() .map(|lease| match lease { - Some((who, amount)) => + Some((who, amount)) => { if &who == leaser { amount } else { Zero::zero() - }, + } + }, None => Zero::zero(), }) .max() diff --git a/polkadot/runtime/common/src/try_runtime.rs b/polkadot/runtime/common/src/try_runtime.rs index 795249dde20b2..1dad3739cf8bb 100644 --- a/polkadot/runtime/common/src/try_runtime.rs +++ b/polkadot/runtime/common/src/try_runtime.rs @@ -81,12 +81,13 @@ where maybe_fast_unstake_event }) .for_each(|e: pallet_fast_unstake::Event| match e { - pallet_fast_unstake::Event::::Unstaked { result, .. } => + pallet_fast_unstake::Event::::Unstaked { result, .. } => { if result.is_ok() { unstaked_ok += 1; } else { unstaked_err += 1 - }, + } + }, pallet_fast_unstake::Event::::Slashed { .. } => unstaked_slashed += 1, pallet_fast_unstake::Event::::InternalError => unreachable!(), _ => {}, diff --git a/polkadot/runtime/common/src/xcm_sender.rs b/polkadot/runtime/common/src/xcm_sender.rs index b0fe08402b627..85bc85c54a717 100644 --- a/polkadot/runtime/common/src/xcm_sender.rs +++ b/polkadot/runtime/common/src/xcm_sender.rs @@ -113,7 +113,7 @@ where *id } else { *dest = Some(d); - return Err(NotApplicable) + return Err(NotApplicable); }; // Downward message passing. @@ -238,10 +238,10 @@ impl< // check if the destination matches the expected `Parachain`. if let Some(Parachain(para_id)) = dest.first_interior() { if ParaId::from(*para_id) != Parachain::get().into() { - return (None, None) + return (None, None); } } else { - return (None, None) + return (None, None); } // allow more initialization for target parachain @@ -250,10 +250,13 @@ impl< let mut fees_mode = None; if !XcmConfig::FeeManager::is_waived(Some(origin_ref), fee_reason) { // if not waived, we need to set up accounts for paying and receiving fees + let context = XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; // mint ED to origin if needed if let Some(ed) = ExistentialDeposit::get() { - XcmConfig::AssetTransactor::deposit_asset(&ed, &origin_ref, None).unwrap(); + let holdings = XcmConfig::AssetTransactor::mint_asset(&ed, &context).unwrap(); + XcmConfig::AssetTransactor::deposit_asset(holdings, &origin_ref, Some(&context)) + .unwrap(); } // overestimate delivery fee @@ -268,7 +271,9 @@ impl< // mint overestimated fee to origin for fee in overestimated_fees.inner() { - XcmConfig::AssetTransactor::deposit_asset(&fee, &origin_ref, None).unwrap(); + let holdings = XcmConfig::AssetTransactor::mint_asset(fee, &context).unwrap(); + XcmConfig::AssetTransactor::deposit_asset(holdings, &origin_ref, Some(&context)) + .unwrap(); } // expected worst case - direct withdraw diff --git a/polkadot/runtime/parachains/Cargo.toml b/polkadot/runtime/parachains/Cargo.toml index 15c47d723050e..e17d4e6ccc679 100644 --- a/polkadot/runtime/parachains/Cargo.toml +++ b/polkadot/runtime/parachains/Cargo.toml @@ -44,6 +44,7 @@ pallet-broker = { workspace = true } pallet-message-queue = { workspace = true } pallet-mmr = { workspace = true, optional = true } pallet-session = { workspace = true } +pallet-session-benchmarking = { workspace = true, optional = true } pallet-staking = { workspace = true } pallet-timestamp = { workspace = true } @@ -94,6 +95,7 @@ std = [ "pallet-broker/std", "pallet-message-queue/std", "pallet-mmr?/std", + "pallet-session-benchmarking?/std", "pallet-session/std", "pallet-staking/std", "pallet-timestamp/std", @@ -131,6 +133,7 @@ runtime-benchmarks = [ "pallet-broker/runtime-benchmarks", "pallet-message-queue/runtime-benchmarks", "pallet-mmr/runtime-benchmarks", + "pallet-session-benchmarking/runtime-benchmarks", "pallet-session/runtime-benchmarks", "pallet-staking/runtime-benchmarks", "pallet-timestamp/runtime-benchmarks", diff --git a/polkadot/runtime/parachains/src/assigner_coretime/mod.rs b/polkadot/runtime/parachains/src/assigner_coretime/mod.rs index 51988b964881b..361a6aa615482 100644 --- a/polkadot/runtime/parachains/src/assigner_coretime/mod.rs +++ b/polkadot/runtime/parachains/src/assigner_coretime/mod.rs @@ -290,8 +290,9 @@ impl AssignmentProvider> for Pallet { fn report_processed(assignment: Assignment) { match assignment { - Assignment::Pool { para_id, core_index } => - on_demand::Pallet::::report_processed(para_id, core_index), + Assignment::Pool { para_id, core_index } => { + on_demand::Pallet::::report_processed(para_id, core_index) + }, Assignment::Bulk(_) => {}, } } @@ -303,8 +304,9 @@ impl AssignmentProvider> for Pallet { /// - `assignment`: The on demand assignment. fn push_back_assignment(assignment: Assignment) { match assignment { - Assignment::Pool { para_id, core_index } => - on_demand::Pallet::::push_back_assignment(para_id, core_index), + Assignment::Pool { para_id, core_index } => { + on_demand::Pallet::::push_back_assignment(para_id, core_index) + }, Assignment::Bulk(_) => { // Session changes are rough. We just drop assignments that did not make it on a // session boundary. This seems sensible as bulk is region based. Meaning, even if @@ -324,8 +326,9 @@ impl AssignmentProvider> for Pallet { fn assignment_duplicated(assignment: &Assignment) { match assignment { - Assignment::Pool { para_id, core_index } => - on_demand::Pallet::::assignment_duplicated(*para_id, *core_index), + Assignment::Pool { para_id, core_index } => { + on_demand::Pallet::::assignment_duplicated(*para_id, *core_index) + }, Assignment::Bulk(_) => {}, } } @@ -350,30 +353,30 @@ impl Pallet { let Some(queue) = descriptor.queue else { // No queue. - return + return; }; let mut next_scheduled = queue.first; if next_scheduled > now { // Not yet ready. - return + return; } // Update is needed: let update = loop { let Some(update) = CoreSchedules::::take((next_scheduled, core_idx)) else { - break None + break None; }; // Still good? if update.end_hint.map_or(true, |e| e > now) { - break Some(update) + break Some(update); } // Move on if possible: if let Some(n) = update.next_schedule { next_scheduled = n; } else { - break None + break None; } }; diff --git a/polkadot/runtime/parachains/src/builder.rs b/polkadot/runtime/parachains/src/builder.rs index a20867f0b600a..debfc66eef1eb 100644 --- a/polkadot/runtime/parachains/src/builder.rs +++ b/polkadot/runtime/parachains/src/builder.rs @@ -353,7 +353,7 @@ impl BenchBuilder { inclusion::CandidatePendingAvailability::>::new( core_idx, // core candidate_hash, // hash - Self::candidate_descriptor_mock(para_id), /* candidate descriptor */ + Self::candidate_descriptor_mock(para_id), // candidate descriptor commitments, // commitments availability_votes, /* availability * votes */ diff --git a/polkadot/runtime/parachains/src/configuration.rs b/polkadot/runtime/parachains/src/configuration.rs index 573f911d4e68a..7f29ca18c8320 100644 --- a/polkadot/runtime/parachains/src/configuration.rs +++ b/polkadot/runtime/parachains/src/configuration.rs @@ -72,9 +72,7 @@ pub struct HostConfiguration { // A parachain requested this struct can only depend on the subset of this struct. // Specifically, only a first few fields can be depended upon. These fields cannot be changed // without corresponding migration of the parachains. - /** - * The parameters that are required for the parachains. - */ + /// The parameters that are required for the parachains. /// The maximum validation code size, in bytes. pub max_code_size: u32, @@ -140,9 +138,7 @@ pub struct HostConfiguration { /// Asynchronous backing parameters. pub async_backing_params: AsyncBackingParams, - /** - * The parameters that are not essential, but still may be of interest for parachains. - */ + /// The parameters that are not essential, but still may be of interest for parachains. /// The maximum POV block size, in bytes. pub max_pov_size: u32, @@ -172,9 +168,7 @@ pub struct HostConfiguration { /// The executor environment parameters pub executor_params: ExecutorParams, - /** - * Parameters that will unlikely be needed by parachains. - */ + /// Parameters that will unlikely be needed by parachains. /// How long to keep code on-chain, in blocks. This should be sufficiently long that disputes /// have concluded. @@ -363,29 +357,29 @@ where use InconsistentError::*; if self.scheduler_params.group_rotation_frequency.is_zero() { - return Err(ZeroGroupRotationFrequency) + return Err(ZeroGroupRotationFrequency); } if self.scheduler_params.paras_availability_period.is_zero() { - return Err(ZeroParasAvailabilityPeriod) + return Err(ZeroParasAvailabilityPeriod); } if self.no_show_slots.is_zero() { - return Err(ZeroNoShowSlots) + return Err(ZeroNoShowSlots); } if self.max_code_size > MAX_CODE_SIZE { - return Err(MaxCodeSizeExceedHardLimit { max_code_size: self.max_code_size }) + return Err(MaxCodeSizeExceedHardLimit { max_code_size: self.max_code_size }); } if self.max_head_data_size > MAX_HEAD_DATA_SIZE { return Err(MaxHeadDataSizeExceedHardLimit { max_head_data_size: self.max_head_data_size, - }) + }); } if self.max_pov_size > POV_SIZE_HARD_LIMIT { - return Err(MaxPovSizeExceedHardLimit { max_pov_size: self.max_pov_size }) + return Err(MaxPovSizeExceedHardLimit { max_pov_size: self.max_pov_size }); } if self.minimum_validation_upgrade_delay <= self.scheduler_params.paras_availability_period @@ -393,60 +387,60 @@ where return Err(MinimumValidationUpgradeDelayLessThanChainAvailabilityPeriod { minimum_validation_upgrade_delay: self.minimum_validation_upgrade_delay.clone(), paras_availability_period: self.scheduler_params.paras_availability_period.clone(), - }) + }); } if self.validation_upgrade_delay <= 1.into() { return Err(ValidationUpgradeDelayIsTooLow { validation_upgrade_delay: self.validation_upgrade_delay.clone(), - }) + }); } if self.max_upward_message_size > crate::inclusion::MAX_UPWARD_MESSAGE_SIZE_BOUND { return Err(MaxUpwardMessageSizeExceeded { max_message_size: self.max_upward_message_size, - }) + }); } if self.hrmp_max_message_num_per_candidate > MAX_HORIZONTAL_MESSAGE_NUM { return Err(MaxHorizontalMessageNumExceeded { max_message_num: self.hrmp_max_message_num_per_candidate, - }) + }); } if self.max_upward_message_num_per_candidate > MAX_UPWARD_MESSAGE_NUM { return Err(MaxUpwardMessageNumExceeded { max_message_num: self.max_upward_message_num_per_candidate, - }) + }); } if self.hrmp_max_parachain_outbound_channels > crate::hrmp::HRMP_MAX_OUTBOUND_CHANNELS_BOUND { - return Err(MaxHrmpOutboundChannelsExceeded) + return Err(MaxHrmpOutboundChannelsExceeded); } if self.hrmp_max_parachain_inbound_channels > crate::hrmp::HRMP_MAX_INBOUND_CHANNELS_BOUND { - return Err(MaxHrmpInboundChannelsExceeded) + return Err(MaxHrmpInboundChannelsExceeded); } if self.minimum_backing_votes.is_zero() { - return Err(ZeroMinimumBackingVotes) + return Err(ZeroMinimumBackingVotes); } if let Err(inner) = self.executor_params.check_consistency() { - return Err(InconsistentExecutorParams { inner }) + return Err(InconsistentExecutorParams { inner }); } if self.scheduler_params.lookahead == 0 { - return Err(LookaheadZero) + return Err(LookaheadZero); } if self.scheduler_params.on_demand_queue_max_size > ON_DEMAND_MAX_QUEUE_MAX_SIZE { - return Err(OnDemandQueueSizeTooLarge) + return Err(OnDemandQueueSizeTooLarge); } if self.n_delay_tranches.is_zero() { - return Err(ZeroDelayTranches) + return Err(ZeroDelayTranches); } Ok(()) @@ -1302,7 +1296,7 @@ impl Pallet { // No pending configuration changes, so we're done. if pending_configs.is_empty() { - return SessionChangeOutcome { prev_config, new_config: None } + return SessionChangeOutcome { prev_config, new_config: None }; } let (mut past_and_present, future) = pending_configs @@ -1419,7 +1413,7 @@ impl Pallet { "Configuration change rejected due to invalid configuration: {:?}", e, ); - return Err(Error::::InvalidNewValue.into()) + return Err(Error::::InvalidNewValue.into()); } else { // The configuration was already broken, so we can as well proceed with the update. // You cannot break something that is already broken. diff --git a/polkadot/runtime/parachains/src/coretime/migration.rs b/polkadot/runtime/parachains/src/coretime/migration.rs index cd44451a7c392..b36c8253bb945 100644 --- a/polkadot/runtime/parachains/src/coretime/migration.rs +++ b/polkadot/runtime/parachains/src/coretime/migration.rs @@ -86,7 +86,7 @@ mod v_coretime { // we already have executed the migration. Some(key) if key.starts_with(&name_hash) => { log::info!("`MigrateToCoretime` already executed!"); - return true + return true; }, // Any other key/no key means that we did not yet have migrated. None | Some(_) => return false, @@ -104,7 +104,7 @@ mod v_coretime { { fn on_runtime_upgrade() -> Weight { if Self::already_migrated() { - return Weight::zero() + return Weight::zero(); } log::info!("Migrating existing parachains to coretime."); @@ -114,7 +114,7 @@ mod v_coretime { #[cfg(feature = "try-runtime")] fn pre_upgrade() -> Result, sp_runtime::DispatchError> { if Self::already_migrated() { - return Ok(Vec::new()) + return Ok(Vec::new()); } let legacy_paras = LegacyLease::get_all_parachains_with_leases(); @@ -132,7 +132,7 @@ mod v_coretime { #[cfg(feature = "try-runtime")] fn post_upgrade(state: Vec) -> Result<(), sp_runtime::DispatchError> { if state.is_empty() { - return Ok(()) + return Ok(()); } log::trace!("Running post_upgrade()"); diff --git a/polkadot/runtime/parachains/src/coretime/mod.rs b/polkadot/runtime/parachains/src/coretime/mod.rs index 2c08dd3cb2051..05ac73c8e78a9 100644 --- a/polkadot/runtime/parachains/src/coretime/mod.rs +++ b/polkadot/runtime/parachains/src/coretime/mod.rs @@ -367,7 +367,9 @@ fn do_notify_revenue(when: BlockNumber, raw_revenue: Balance) -> Resu T::AssetTransactor::can_check_out(&dest, &asset, &dummy_xcm_context)?; - let assets_reanchored = Into::::into(withdrawn) + // dropping `withdrawn` effectively burns the inner imbalance + let assets: Vec = withdrawn.into_assets_iter().collect(); + let assets_reanchored = Into::::into(assets) .reanchored(&dest, &Here.into()) .defensive_map_err(|_| XcmError::ReanchorFailed)?; diff --git a/polkadot/runtime/parachains/src/disputes.rs b/polkadot/runtime/parachains/src/disputes.rs index 0e092f17fa9b5..5547767c68144 100644 --- a/polkadot/runtime/parachains/src/disputes.rs +++ b/polkadot/runtime/parachains/src/disputes.rs @@ -158,8 +158,9 @@ where (None, Some(_)) => Ordering::Greater, (Some(_), None) => Ordering::Less, // For local disputes, prioritize those that occur at an earlier height. - (Some(a_height), Some(b_height)) => - a_height.cmp(&b_height).then_with(|| a.candidate_hash.cmp(&b.candidate_hash)), + (Some(a_height), Some(b_height)) => { + a_height.cmp(&b_height).then_with(|| a.candidate_hash.cmp(&b.candidate_hash)) + }, // Prioritize earlier remote disputes using session as rough proxy. (None, None) => { let session_ord = a.session.cmp(&b.session); @@ -679,8 +680,9 @@ impl DisputeStateImporter { // We allow backing statements to be imported after an // explicit "for" vote, but not the other way around. match (kind.is_backing(), self.backers.contains(&validator)) { - (true, true) | (false, false) => - return Err(VoteImportError::DuplicateStatement), + (true, true) | (false, false) => { + return Err(VoteImportError::DuplicateStatement) + }, (false, true) => return Err(VoteImportError::MaliciousBacker), (true, false) => {}, } @@ -870,7 +872,7 @@ impl Pallet { let config = configuration::ActiveConfig::::get(); if notification.session_index <= config.dispute_period + 1 { - return + return; } let pruning_target = notification.session_index - config.dispute_period - 1; @@ -962,7 +964,7 @@ impl Pallet { let dispute_state = { if let Some(dispute_state) = Disputes::::get(&set.session, &set.candidate_hash) { if dispute_state.concluded_at.as_ref().map_or(false, |c| c < &oldest_accepted) { - return StatementSetFilter::RemoveAll + return StatementSetFilter::RemoveAll; } dispute_state @@ -989,7 +991,7 @@ impl Pallet { let validator_public = match session_info.validators.get(*validator_index) { None => { filter.remove_index(i); - continue + continue; }, Some(v) => v, }; @@ -1000,7 +1002,7 @@ impl Pallet { Ok(u) => u, Err(_) => { filter.remove_index(i); - continue + continue; }, }; @@ -1029,7 +1031,7 @@ impl Pallet { importer.undo(undo); filter.remove_index(i); - continue + continue; }; } @@ -1040,14 +1042,14 @@ impl Pallet { if summary.state.validators_for.count_ones() == 0 || summary.state.validators_against.count_ones() == 0 { - return StatementSetFilter::RemoveAll + return StatementSetFilter::RemoveAll; } // Reject disputes containing less votes than needed for confirmation. if (summary.state.validators_for.clone() | &summary.state.validators_against).count_ones() <= byzantine_threshold(summary.state.validators_for.len()) { - return StatementSetFilter::RemoveAll + return StatementSetFilter::RemoveAll; } filter @@ -1212,7 +1214,7 @@ impl Pallet { included_in: BlockNumberFor, ) { if included_in.is_zero() { - return + return; } let revert_to = included_in - One::one(); @@ -1274,30 +1276,36 @@ fn check_signature( approval_multiple_candidates_enabled: bool, ) -> Result<(), ()> { let payload = match statement { - DisputeStatement::Valid(ValidDisputeStatementKind::Explicit) => - ExplicitDisputeStatement { valid: true, candidate_hash, session }.signing_payload(), - DisputeStatement::Valid(ValidDisputeStatementKind::BackingSeconded(inclusion_parent)) => + DisputeStatement::Valid(ValidDisputeStatementKind::Explicit) => { + ExplicitDisputeStatement { valid: true, candidate_hash, session }.signing_payload() + }, + DisputeStatement::Valid(ValidDisputeStatementKind::BackingSeconded(inclusion_parent)) => { CompactStatement::Seconded(candidate_hash).signing_payload(&SigningContext { session_index: session, parent_hash: *inclusion_parent, - }), - DisputeStatement::Valid(ValidDisputeStatementKind::BackingValid(inclusion_parent)) => + }) + }, + DisputeStatement::Valid(ValidDisputeStatementKind::BackingValid(inclusion_parent)) => { CompactStatement::Valid(candidate_hash).signing_payload(&SigningContext { session_index: session, parent_hash: *inclusion_parent, - }), - DisputeStatement::Valid(ValidDisputeStatementKind::ApprovalChecking) => - ApprovalVote(candidate_hash).signing_payload(session), + }) + }, + DisputeStatement::Valid(ValidDisputeStatementKind::ApprovalChecking) => { + ApprovalVote(candidate_hash).signing_payload(session) + }, DisputeStatement::Valid(ValidDisputeStatementKind::ApprovalCheckingMultipleCandidates( candidates, - )) => + )) => { if approval_multiple_candidates_enabled && candidates.contains(&candidate_hash) { ApprovalVoteMultipleCandidates(candidates).signing_payload(session) } else { - return Err(()) - }, - DisputeStatement::Invalid(InvalidDisputeStatementKind::Explicit) => - ExplicitDisputeStatement { valid: false, candidate_hash, session }.signing_payload(), + return Err(()); + } + }, + DisputeStatement::Invalid(InvalidDisputeStatementKind::Explicit) => { + ExplicitDisputeStatement { valid: false, candidate_hash, session }.signing_payload() + }, }; let start = get_current_time(); diff --git a/polkadot/runtime/parachains/src/disputes/slashing.rs b/polkadot/runtime/parachains/src/disputes/slashing.rs index c7b9d76c6e11b..a750ac7750e3a 100644 --- a/polkadot/runtime/parachains/src/disputes/slashing.rs +++ b/polkadot/runtime/parachains/src/disputes/slashing.rs @@ -207,7 +207,7 @@ where ).map(|full_id| (id, full_id)) }) .collect::>>(); - return Some(fully_identified) + return Some(fully_identified); } None } @@ -220,7 +220,7 @@ where ) { let losers: BTreeSet<_> = losers.into_iter().collect(); if losers.is_empty() { - return + return; } let session_info = crate::session_info::Sessions::::get(session_index); let session_info = match session_info.defensive_proof(DEFENSIVE_PROOF) { @@ -242,7 +242,7 @@ where // This is the first time we report an offence for this dispute, // so it is not a duplicate. let _ = T::HandleReports::report_offence(offence); - return + return; } let keys = losers @@ -492,14 +492,15 @@ pub mod pallet { let try_remove = |v: &mut Option| -> Result<(), DispatchError> { let pending = v.as_mut().ok_or(Error::::InvalidCandidateHash)?; if pending.kind != dispute_proof.kind { - return Err(Error::::InvalidCandidateHash.into()) + return Err(Error::::InvalidCandidateHash.into()); } match pending.keys.entry(dispute_proof.validator_index) { Entry::Vacant(_) => return Err(Error::::InvalidValidatorIndex.into()), // check that `validator_index` matches `validator_id` - Entry::Occupied(e) if e.get() != &dispute_proof.validator_id => - return Err(Error::::ValidatorIndexIdMismatch.into()), + Entry::Occupied(e) if e.get() != &dispute_proof.validator_id => { + return Err(Error::::ValidatorIndexIdMismatch.into()) + }, Entry::Occupied(e) => { e.remove(); // the report is correct }, @@ -561,7 +562,7 @@ impl Pallet { let config = crate::configuration::ActiveConfig::::get(); if session_index <= config.dispute_period + 1 { - return + return; } let old_session = session_index - config.dispute_period - 1; @@ -597,7 +598,7 @@ impl Pallet { "rejecting unsigned transaction because it is not local/in-block." ); - return InvalidTransaction::Call.into() + return InvalidTransaction::Call.into(); }, } diff --git a/polkadot/runtime/parachains/src/disputes/slashing/benchmarking.rs b/polkadot/runtime/parachains/src/disputes/slashing/benchmarking.rs index aa44b382404ea..5c1bb00d77d44 100644 --- a/polkadot/runtime/parachains/src/disputes/slashing/benchmarking.rs +++ b/polkadot/runtime/parachains/src/disputes/slashing/benchmarking.rs @@ -17,13 +17,12 @@ use super::*; use crate::{disputes::SlashingHandler, initializer, shared}; -use codec::Decode; use frame_benchmarking::v2::*; use frame_support::traits::{OnFinalize, OnInitialize}; use frame_system::{pallet_prelude::BlockNumberFor, RawOrigin}; use pallet_staking::testing_utils::create_validators; use polkadot_primitives::{Hash, PARACHAIN_KEY_TYPE_ID}; -use sp_runtime::traits::{One, OpaqueKeys, StaticLookup}; +use sp_runtime::traits::{One, StaticLookup}; use sp_session::MembershipProof; // Candidate hash of the disputed candidate. @@ -36,6 +35,7 @@ pub const fn max_validators_for() -> u32 { pub trait Config: pallet_session::Config + + pallet_session_benchmarking::Config + pallet_session::historical::Config + pallet_staking::Config + super::Config @@ -51,29 +51,12 @@ where pallet_staking::ValidatorCount::::put(n); let balance_factor = 1000; - // create validators and set random session keys - for (n, who) in create_validators::(n, balance_factor).unwrap().into_iter().enumerate() { - use rand::{RngCore, SeedableRng}; - + // Create validators and set random session keys + for who in create_validators::(n, balance_factor).unwrap().into_iter() { let validator = T::Lookup::lookup(who).unwrap(); let controller = pallet_staking::Pallet::::bonded(&validator).unwrap(); - let keys = { - const SESSION_KEY_LEN: usize = 32; - let key_ids = T::Keys::key_ids(); - let mut keys_len = key_ids.len() * SESSION_KEY_LEN; - if key_ids.contains(&sp_core::crypto::key_types::BEEFY) { - // BEEFY key is 33 bytes long, not 32. - keys_len += 1; - } - let mut keys = vec![0u8; keys_len]; - let mut rng = rand_chacha::ChaCha12Rng::seed_from_u64(n as u64); - rng.fill_bytes(&mut keys); - keys - }; - - let keys: T::Keys = Decode::decode(&mut &keys[..]).expect("wrong number of session keys?"); - let proof: Vec = vec![]; + let (keys, proof) = T::generate_session_keys_and_proof(controller.clone()); whitelist_account!(controller); pallet_session::Pallet::::ensure_can_pay_key_deposit(&controller).unwrap(); diff --git a/polkadot/runtime/parachains/src/disputes/tests.rs b/polkadot/runtime/parachains/src/disputes/tests.rs index f505bf4625a64..acf9e09b3ee6b 100644 --- a/polkadot/runtime/parachains/src/disputes/tests.rs +++ b/polkadot/runtime/parachains/src/disputes/tests.rs @@ -70,12 +70,12 @@ fn contains_duplicates_in_sorted_iter< if let Some(mut previous) = iter.next() { while let Some(current) = iter.next() { if check_equal(previous, current) { - return true + return true; } previous = current; } } - return false + return false; } // All arguments for `initializer::on_new_session` diff --git a/polkadot/runtime/parachains/src/dmp.rs b/polkadot/runtime/parachains/src/dmp.rs index 469474be693a2..8fef75640c737 100644 --- a/polkadot/runtime/parachains/src/dmp.rs +++ b/polkadot/runtime/parachains/src/dmp.rs @@ -187,17 +187,17 @@ impl Pallet { ) -> Result<(), QueueDownwardMessageError> { let serialized_len = msg.len() as u32; if serialized_len > config.max_downward_message_size { - return Err(QueueDownwardMessageError::ExceedsMaxMessageSize) + return Err(QueueDownwardMessageError::ExceedsMaxMessageSize); } // Hard limit on Queue size if Self::dmq_length(*para) > Self::dmq_max_length(config.max_downward_message_size) { - return Err(QueueDownwardMessageError::ExceedsMaxMessageSize) + return Err(QueueDownwardMessageError::ExceedsMaxMessageSize); } // If the head exists, we assume the parachain is legit and exists. if !paras::Heads::::contains_key(para) { - return Err(QueueDownwardMessageError::Unroutable) + return Err(QueueDownwardMessageError::Unroutable); } Ok(()) @@ -259,7 +259,7 @@ impl Pallet { // sanity: if dmq_length is >0 this should always be 'Some'. if contents.get(0).map_or(false, |msg| msg.sent_at <= relay_parent_number) { - return Err(ProcessedDownwardMessagesAcceptanceErr::AdvancementRule) + return Err(ProcessedDownwardMessagesAcceptanceErr::AdvancementRule); } } @@ -271,7 +271,7 @@ impl Pallet { return Err(ProcessedDownwardMessagesAcceptanceErr::Underflow { processed_downward_messages, dmq_length, - }) + }); } Ok(()) diff --git a/polkadot/runtime/parachains/src/hrmp.rs b/polkadot/runtime/parachains/src/hrmp.rs index efb4944de67ef..1e18b6a4e059d 100644 --- a/polkadot/runtime/parachains/src/hrmp.rs +++ b/polkadot/runtime/parachains/src/hrmp.rs @@ -797,7 +797,7 @@ pub mod pallet { if current_sender_deposit == new_sender_deposit && current_recipient_deposit == new_recipient_deposit { - return Ok(()) + return Ok(()); } // sender @@ -845,7 +845,7 @@ pub mod pallet { channel.sender_deposit = new_sender_deposit; channel.recipient_deposit = new_recipient_deposit; } else { - return Err(Error::::OpenHrmpChannelDoesntExist.into()) + return Err(Error::::OpenHrmpChannelDoesntExist.into()); } Ok(()) })?; @@ -999,7 +999,7 @@ impl Pallet { Some(req_data) => req_data, None => { // Can't normally happen but no need to panic. - continue + continue; }, }; @@ -1057,7 +1057,7 @@ impl Pallet { fn process_hrmp_open_channel_requests(config: &HostConfiguration>) { let mut open_req_channels = HrmpOpenChannelRequestsList::::get(); if open_req_channels.is_empty() { - return + return; } // iterate the vector starting from the end making our way to the beginning. This way we @@ -1066,7 +1066,7 @@ impl Pallet { loop { // bail if we've iterated over all items. if idx == 0 { - break + break; } idx -= 1; @@ -1178,14 +1178,14 @@ impl Pallet { // (b) However, a parachain cannot read into "the future", therefore the watermark should // not be greater than the relay-chain context block which the parablock refers to. if new_hrmp_watermark == relay_chain_parent_number { - return Ok(()) + return Ok(()); } if new_hrmp_watermark > relay_chain_parent_number { return Err(HrmpWatermarkAcceptanceErr::AheadRelayParent { new_watermark: new_hrmp_watermark, relay_chain_parent_number, - }) + }); } if let Some(last_watermark) = HrmpWatermarks::::get(&recipient) { @@ -1193,11 +1193,11 @@ impl Pallet { return Err(HrmpWatermarkAcceptanceErr::AdvancementRule { new_watermark: new_hrmp_watermark, last_watermark, - }) + }); } if new_hrmp_watermark == last_watermark { - return Ok(()) + return Ok(()); } } @@ -1212,7 +1212,7 @@ impl Pallet { { return Err(HrmpWatermarkAcceptanceErr::LandsOnBlockWithNoMessages { new_watermark: new_hrmp_watermark, - }) + }); } Ok(()) } @@ -1243,7 +1243,7 @@ impl Pallet { return Err(OutboundHrmpAcceptanceErr::MoreMessagesThanPermitted { sent: out_hrmp_msgs.len() as u32, permitted: config.hrmp_max_message_num_per_candidate, - }) + }); } let mut last_recipient = None::; @@ -1255,8 +1255,9 @@ impl Pallet { // the messages must be sorted in ascending order and there must be no two messages // sent to the same recipient. Thus we can check that every recipient is strictly // greater than the previous one. - Some(last_recipient) if out_msg.recipient <= last_recipient => - return Err(OutboundHrmpAcceptanceErr::NotSorted { idx }), + Some(last_recipient) if out_msg.recipient <= last_recipient => { + return Err(OutboundHrmpAcceptanceErr::NotSorted { idx }) + }, _ => last_recipient = Some(out_msg.recipient), } @@ -1273,7 +1274,7 @@ impl Pallet { idx, msg_size, max_size: channel.max_message_size, - }) + }); } let new_total_size = channel.total_size + out_msg.data.len() as u32; @@ -1282,7 +1283,7 @@ impl Pallet { idx, total_size: new_total_size, limit: channel.max_total_size, - }) + }); } let new_msg_count = channel.msg_count + 1; @@ -1291,7 +1292,7 @@ impl Pallet { idx, count: new_msg_count, limit: channel.max_capacity, - }) + }); } } @@ -1305,7 +1306,7 @@ impl Pallet { for recipient in recipients { let Some(channel) = HrmpChannels::::get(&HrmpChannelId { sender, recipient }) else { - continue + continue; }; remaining.push(( recipient, @@ -1384,7 +1385,7 @@ impl Pallet { None => { // apparently, that since acceptance of this candidate the recipient was // offboarded and the channel no longer exists. - continue + continue; }, }; diff --git a/polkadot/runtime/parachains/src/hrmp/benchmarking.rs b/polkadot/runtime/parachains/src/hrmp/benchmarking.rs index 8bf444e647e24..3b32a8b95195b 100644 --- a/polkadot/runtime/parachains/src/hrmp/benchmarking.rs +++ b/polkadot/runtime/parachains/src/hrmp/benchmarking.rs @@ -110,24 +110,24 @@ where )); if matches!(until, ParachainSetupStep::Requested) { - return output + return output; } assert_ok!(Hrmp::::hrmp_accept_open_channel(recipient_origin.into(), sender)); if matches!(until, ParachainSetupStep::Accepted) { - return output + return output; } Hrmp::::process_hrmp_open_channel_requests(&configuration::ActiveConfig::::get()); if matches!(until, ParachainSetupStep::Established) { - return output + return output; } let channel_id = HrmpChannelId { sender, recipient }; assert_ok!(Hrmp::::hrmp_close_channel(sender_origin.clone().into(), channel_id)); if matches!(until, ParachainSetupStep::CloseRequested) { // NOTE: this is just for expressiveness, otherwise the if-statement is 100% useless. - return output + return output; } output diff --git a/polkadot/runtime/parachains/src/inclusion/mod.rs b/polkadot/runtime/parachains/src/inclusion/mod.rs index 3c77275ca7312..2ec1e043f9e26 100644 --- a/polkadot/runtime/parachains/src/inclusion/mod.rs +++ b/polkadot/runtime/parachains/src/inclusion/mod.rs @@ -628,7 +628,7 @@ impl Pallet { GV: Fn(GroupIndex) -> Option>, { if candidates.is_empty() { - return Ok(Default::default()) + return Ok(Default::default()); } let now = frame_system::Pallet::::block_number(); @@ -642,7 +642,7 @@ impl Pallet { let mut latest_head_data = match Self::para_latest_head_data(para_id) { None => { defensive!("Latest included head data for paraid {:?} is None", para_id); - continue + continue; }, Some(latest_head_data) => latest_head_data, }; @@ -931,7 +931,7 @@ impl Pallet { return Err(UmpAcceptanceCheckErr::MoreMessagesThanPermitted { sent: additional_msgs, permitted: config.max_upward_message_num_per_candidate, - }) + }); } let (para_queue_count, mut para_queue_size) = Self::relay_dispatch_queue_size(para); @@ -940,7 +940,7 @@ impl Pallet { return Err(UmpAcceptanceCheckErr::CapacityExceeded { count: para_queue_count.saturating_add(additional_msgs).into(), limit: config.max_upward_queue_count.into(), - }) + }); } for (idx, msg) in upward_messages.into_iter().enumerate() { @@ -950,7 +950,7 @@ impl Pallet { idx: idx as u32, msg_size, max_size: config.max_upward_message_size, - }) + }); } // make sure that the queue is not overfilled. // we do it here only once since returning false invalidates the whole relay-chain @@ -959,7 +959,7 @@ impl Pallet { return Err(UmpAcceptanceCheckErr::TotalSizeExceeded { total_size: para_queue_size.saturating_add(msg_size).into(), limit: config.max_upward_queue_size.into(), - }) + }); } para_queue_size.saturating_accrue(msg_size); } @@ -992,7 +992,7 @@ impl Pallet { ) { let count = messages.len() as u32; if count == 0 { - return + return; } T::MessageQueue::enqueue_messages( diff --git a/polkadot/runtime/parachains/src/inclusion/tests.rs b/polkadot/runtime/parachains/src/inclusion/tests.rs index 40d21d4cd2694..d8ddff536811e 100644 --- a/polkadot/runtime/parachains/src/inclusion/tests.rs +++ b/polkadot/runtime/parachains/src/inclusion/tests.rs @@ -1035,7 +1035,7 @@ fn supermajority_bitfields_trigger_availability() { bare_bitfield } else { // sign nothing. - return None + return None; }; Some( diff --git a/polkadot/runtime/parachains/src/mock.rs b/polkadot/runtime/parachains/src/mock.rs index cba63ae7b1b04..3b578a1be1f4b 100644 --- a/polkadot/runtime/parachains/src/mock.rs +++ b/polkadot/runtime/parachains/src/mock.rs @@ -113,7 +113,12 @@ parameter_types! { frame_system::limits::BlockWeights::simple_max( Weight::from_parts(4 * 1024 * 1024, u64::MAX), ); - pub static BlockLength: limits::BlockLength = limits::BlockLength::max_with_normal_ratio(u32::MAX, Perbill::from_percent(75)); + pub static BlockLength: limits::BlockLength = limits::BlockLength::builder() + .max_length(u32::MAX) + .modify_max_length_for_class(frame_support::dispatch::DispatchClass::Normal, |m| { + *m = Perbill::from_percent(75) * u32::MAX + }) + .build(); } pub type AccountId = u64; @@ -651,7 +656,7 @@ impl ProcessMessage for TestProcessMessage { Err(_) => return Err(ProcessMessageError::Corrupt), // same as the real `ProcessMessage` }; if meter.try_consume(required).is_err() { - return Err(ProcessMessageError::Overweight(required)) + return Err(ProcessMessageError::Overweight(required)); } let mut processed = Processed::get(); diff --git a/polkadot/runtime/parachains/src/on_demand/mod.rs b/polkadot/runtime/parachains/src/on_demand/mod.rs index 9b49f62a9bf3a..f42b2066711a0 100644 --- a/polkadot/runtime/parachains/src/on_demand/mod.rs +++ b/polkadot/runtime/parachains/src/on_demand/mod.rs @@ -603,12 +603,12 @@ where ) -> Result { // Return early if queue has no capacity. if queue_capacity == 0 { - return Err(SpotTrafficCalculationErr::QueueCapacityIsZero) + return Err(SpotTrafficCalculationErr::QueueCapacityIsZero); } // Return early if queue size is greater than capacity. if queue_size > queue_capacity { - return Err(SpotTrafficCalculationErr::QueueSizeLargerThanCapacity) + return Err(SpotTrafficCalculationErr::QueueSizeLargerThanCapacity); } // (queue_size / queue_capacity) - target_queue_utilisation @@ -666,8 +666,9 @@ where match affinity { None => FreeEntries::::mutate(|entries| entries.push(order)), - Some(affinity) => - AffinityEntries::::mutate(affinity.core_index, |entries| entries.push(order)), + Some(affinity) => { + AffinityEntries::::mutate(affinity.core_index, |entries| entries.push(order)) + }, } } @@ -728,13 +729,14 @@ where /// `CoreIndex`. fn increase_affinity(para_id: ParaId, core_index: CoreIndex) { ParaIdAffinity::::mutate(para_id, |maybe_affinity| match maybe_affinity { - Some(affinity) => + Some(affinity) => { if affinity.core_index == core_index { *maybe_affinity = Some(CoreAffinityCount { core_index, count: affinity.count.saturating_add(1), }); - }, + } + }, None => { *maybe_affinity = Some(CoreAffinityCount { core_index, count: 1 }); }, @@ -751,7 +753,7 @@ where if when > now.saturating_sub(index.into()) { amount = amount.saturating_add(revenue.pop().defensive_unwrap_or(0u32.into())); } else { - break + break; } } }); diff --git a/polkadot/runtime/parachains/src/on_demand/tests.rs b/polkadot/runtime/parachains/src/on_demand/tests.rs index a435598d8f555..e54aaff7d2812 100644 --- a/polkadot/runtime/parachains/src/on_demand/tests.rs +++ b/polkadot/runtime/parachains/src/on_demand/tests.rs @@ -210,8 +210,9 @@ fn spot_traffic_can_decrease() { Perbill::from_percent(100), Perbill::from_percent(100), ) { - Ok(new_traffic) => - assert_eq!(new_traffic, FixedU128::from_inner(50_000_000_000_000_000_000u128)), + Ok(new_traffic) => { + assert_eq!(new_traffic, FixedU128::from_inner(50_000_000_000_000_000_000u128)) + }, _ => panic!("Error"), } } diff --git a/polkadot/runtime/parachains/src/on_demand/types.rs b/polkadot/runtime/parachains/src/on_demand/types.rs index db3d750301b10..84cff1c8597d6 100644 --- a/polkadot/runtime/parachains/src/on_demand/types.rs +++ b/polkadot/runtime/parachains/src/on_demand/types.rs @@ -116,7 +116,7 @@ impl QueueStatusType { pub fn consume_index(&mut self, removed_index: QueueIndex) { if removed_index != self.smallest_index { self.freed_indices.push(removed_index.reverse()); - return + return; } let mut index = self.smallest_index.0.overflowing_add(1).0; // Even more to advance? diff --git a/polkadot/runtime/parachains/src/paras/benchmarking/pvf_check.rs b/polkadot/runtime/parachains/src/paras/benchmarking/pvf_check.rs index 80443c7626e2b..5e0554175a63e 100644 --- a/polkadot/runtime/parachains/src/paras/benchmarking/pvf_check.rs +++ b/polkadot/runtime/parachains/src/paras/benchmarking/pvf_check.rs @@ -176,7 +176,8 @@ where Pallet::::schedule_code_upgrade( id, validation_code, - /* relay_parent_number */ 1u32.into(), + // relay_parent_number + 1u32.into(), &configuration::ActiveConfig::::get(), UpgradeStrategy::SetGoAheadSignal, ); diff --git a/polkadot/runtime/parachains/src/paras/mod.rs b/polkadot/runtime/parachains/src/paras/mod.rs index 8eb5530362856..4ffdb98dcdb87 100644 --- a/polkadot/runtime/parachains/src/paras/mod.rs +++ b/polkadot/runtime/parachains/src/paras/mod.rs @@ -1100,12 +1100,12 @@ pub mod pallet { vote.age, &cfg, ); - return Ok(()) + return Ok(()); } if CodeByHash::::contains_key(&code_hash) { // There is no vote, but the code exists. Nothing to do here. - return Ok(()) + return Ok(()); } // At this point the code is unknown and there is no PVF pre-checking vote for it, so we @@ -1156,9 +1156,9 @@ pub mod pallet { let validators = shared::ActiveValidatorKeys::::get(); let current_session = shared::CurrentSessionIndex::::get(); if stmt.session_index < current_session { - return Err(Error::::PvfCheckStatementStale.into()) + return Err(Error::::PvfCheckStatementStale.into()); } else if stmt.session_index > current_session { - return Err(Error::::PvfCheckStatementFuture.into()) + return Err(Error::::PvfCheckStatementFuture.into()); } let validator_index = stmt.validator_index.0 as usize; let validator_public = validators @@ -1252,7 +1252,7 @@ pub mod pallet { let removed = UpgradeCooldowns::::mutate(|cooldowns| { let Some(pos) = cooldowns.iter().position(|(p, _)| p == ¶) else { - return Ok::<_, DispatchError>(false) + return Ok::<_, DispatchError>(false); }; let (_, cooldown_until) = cooldowns.remove(pos); @@ -1374,17 +1374,18 @@ pub mod pallet { Call::include_pvf_check_statement { stmt, signature } => { let current_session = shared::CurrentSessionIndex::::get(); if stmt.session_index < current_session { - return InvalidTransaction::Stale.into() + return InvalidTransaction::Stale.into(); } else if stmt.session_index > current_session { - return InvalidTransaction::Future.into() + return InvalidTransaction::Future.into(); } let validator_index = stmt.validator_index.0 as usize; let validators = shared::ActiveValidatorKeys::::get(); let validator_public = match validators.get(validator_index) { Some(pk) => pk, - None => - return InvalidTransaction::Custom(INVALID_TX_BAD_VALIDATOR_IDX).into(), + None => { + return InvalidTransaction::Custom(INVALID_TX_BAD_VALIDATOR_IDX).into() + }, }; let signing_payload = stmt.signing_payload(); @@ -1399,10 +1400,12 @@ pub mod pallet { match active_vote.has_vote(validator_index) { Some(false) => (), - Some(true) => - return InvalidTransaction::Custom(INVALID_TX_DOUBLE_VOTE).into(), - None => - return InvalidTransaction::Custom(INVALID_TX_BAD_VALIDATOR_IDX).into(), + Some(true) => { + return InvalidTransaction::Custom(INVALID_TX_DOUBLE_VOTE).into() + }, + None => { + return InvalidTransaction::Custom(INVALID_TX_BAD_VALIDATOR_IDX).into() + }, } ValidTransaction::with_tag_prefix("PvfPreCheckingVote") @@ -1417,7 +1420,7 @@ pub mod pallet { .propagate(true) .build() }, - Call::apply_authorized_force_set_current_code { para, new_code } => + Call::apply_authorized_force_set_current_code { para, new_code } => { match Self::validate_code_is_authorized(new_code, para) { Ok(authorized_code) => { let now = frame_system::Pallet::::block_number(); @@ -1430,9 +1433,11 @@ pub mod pallet { .propagate(true) .build() }, - Err(_) => - return InvalidTransaction::Custom(INVALID_TX_UNAUTHORIZED_CODE).into(), - }, + Err(_) => { + return InvalidTransaction::Custom(INVALID_TX_UNAUTHORIZED_CODE).into() + }, + } + }, _ => InvalidTransaction::Call.into(), } } @@ -1562,7 +1567,7 @@ impl Pallet { for para in actions { let lifecycle = ParaLifecycles::::get(¶); match lifecycle { - None | Some(ParaLifecycle::Parathread) | Some(ParaLifecycle::Parachain) => { /* Nothing to do... */ + None | Some(ParaLifecycle::Parathread) | Some(ParaLifecycle::Parachain) => { // Nothing to do... }, Some(ParaLifecycle::Onboarding) => { if let Some(genesis_data) = UpcomingParasGenesis::::take(¶) { @@ -1666,7 +1671,7 @@ impl Pallet { let code_retention_period = config.code_retention_period; if now <= code_retention_period { let weight = T::DbWeight::get().reads_writes(1, 0); - return weight + return weight; } // The height of any changes we no longer should keep around. @@ -1756,7 +1761,7 @@ impl Pallet { new_code_hash } else { log::error!(target: LOG_TARGET, "Missing future code hash for {:?}", &id); - continue + continue; }; weight += Self::set_current_code(id, new_code_hash, expected_at); @@ -1848,7 +1853,7 @@ impl Pallet { "The PvfActiveVoteMap is out of sync with PvfActiveVoteList!", ); debug_assert!(false); - continue + continue; }, }; @@ -2120,7 +2125,7 @@ impl Pallet { if let Some(future_code_hash) = FutureCodeHash::::get(&id) { let active_prechecking = PvfActiveVoteList::::get(); if active_prechecking.contains(&future_code_hash) { - return Err(Error::::CannotOffboard.into()) + return Err(Error::::CannotOffboard.into()); } } @@ -2145,7 +2150,7 @@ impl Pallet { }); if ::QueueFootprinter::message_count(UmpQueueId::Para(id)) != 0 { - return Err(Error::::CannotOffboard.into()) + return Err(Error::::CannotOffboard.into()); } Ok(()) @@ -2218,7 +2223,7 @@ impl Pallet { let new_code_len = new_code.0.len(); if new_code_len < MIN_CODE_SIZE as usize || new_code_len > cfg.max_code_size as usize { log::warn!(target: LOG_TARGET, "attempted to schedule an upgrade with invalid new validation code",); - return + return; } // Enacting this should be prevented by the `can_upgrade_validation_code` @@ -2232,7 +2237,7 @@ impl Pallet { // NOTE: we cannot set `UpgradeGoAheadSignal` signal here since this will be reset by // the following call `note_new_head` log::warn!(target: LOG_TARGET, "ended up scheduling an upgrade while one is pending",); - return + return; } let code_hash = new_code.hash(); @@ -2248,7 +2253,7 @@ impl Pallet { target: LOG_TARGET, "para tried to upgrade to the same code. Abort the upgrade", ); - return + return; } // This is the start of the upgrade process. Prevent any further attempts at upgrading. @@ -2372,7 +2377,7 @@ impl Pallet { new_code_hash } else { log::error!(target: LOG_TARGET, "Missing future code hash for {:?}", &id); - return + return; }; Self::set_current_code(id, new_code_hash, expected_at); @@ -2529,7 +2534,7 @@ impl Pallet { let refs = CodeByHashRefs::::get(code_hash); if refs == 0 { log::error!(target: LOG_TARGET, "Code refs is already zero for {:?}", code_hash); - return weight + return weight; } if refs <= 1 { weight += T::DbWeight::get().writes(2); diff --git a/polkadot/runtime/parachains/src/paras_inherent/misc.rs b/polkadot/runtime/parachains/src/paras_inherent/misc.rs index 2858c3f95de26..1a1bcf99ca12c 100644 --- a/polkadot/runtime/parachains/src/paras_inherent/misc.rs +++ b/polkadot/runtime/parachains/src/paras_inherent/misc.rs @@ -62,7 +62,7 @@ where previous } else { // empty is always sorted - return true + return true; }; while let Some(cursor) = iter.next() { match cmp(&previous, &cursor) { diff --git a/polkadot/runtime/parachains/src/paras_inherent/mod.rs b/polkadot/runtime/parachains/src/paras_inherent/mod.rs index 5c8e7ca82a1f8..7d4d6699f90a4 100644 --- a/polkadot/runtime/parachains/src/paras_inherent/mod.rs +++ b/polkadot/runtime/parachains/src/paras_inherent/mod.rs @@ -258,7 +258,7 @@ impl Pallet { Ok(None) => return None, Err(_) => { log::warn!(target: LOG_TARGET, "ParachainsInherentData failed to decode"); - return None + return None; }, }; match Self::process_inherent_data(parachains_inherent_data) { @@ -457,7 +457,7 @@ impl Pallet { }; // The relay chain we are currently on is invalid. Proceed no further on parachains. - return Ok((processed, Some(checked_disputes_sets_consumed_weight).into())) + return Ok((processed, Some(checked_disputes_sets_consumed_weight).into())); } // Contains the disputes that are concluded in the current session only, @@ -664,7 +664,7 @@ impl Pallet { ) -> impl Iterator + 'a { scheduler::ClaimQueue::::get().into_iter().filter_map(|(core_idx, queue)| { if occupied_cores.contains(&core_idx) { - return None + return None; } let next_scheduled = queue.front()?; Some((core_idx, next_scheduled.para_id())) @@ -705,7 +705,7 @@ fn random_sel Weight>( weight_limit: Weight, ) -> (Weight, Vec) { if selectables.is_empty() { - return (Weight::zero(), Vec::new()) + return (Weight::zero(), Vec::new()); } // all indices that are not part of the preferred set let mut indices = (0..selectables.len()) @@ -722,7 +722,7 @@ fn random_sel Weight>( if let Some(item) = selectables.get(preferred_idx) { let updated = weight_acc.saturating_add(weight_fn(item)); if updated.any_gt(weight_limit) { - continue + continue; } weight_acc = updated; picked_indices.push(preferred_idx); @@ -735,7 +735,7 @@ fn random_sel Weight>( let updated = weight_acc.saturating_add(weight_fn(item)); if updated.any_gt(weight_limit) { - continue + continue; } weight_acc = updated; @@ -780,7 +780,7 @@ pub(crate) fn apply_weight_limit( // candidates + bitfields fit into the block if max_consumable_weight.all_gte(total) { - return total + return total; } // Invariant: block author provides candidate in the order in which they form a chain @@ -848,7 +848,7 @@ pub(crate) fn apply_weight_limit( *candidates = chained_candidates.into_iter().flatten().collect::>(); - return total_consumed + return total_consumed; } candidates.clear(); @@ -896,7 +896,7 @@ pub(crate) fn sanitize_bitfields( // This is a system logic error that should never occur, but we want to handle it gracefully // so we just drop all bitfields log::error!(target: LOG_TARGET, "BUG: disputed_bitfield != expected_bits"); - return vec![] + return vec![]; } let all_zeros = BitVec::::repeat(false, expected_bits); @@ -910,7 +910,7 @@ pub(crate) fn sanitize_bitfields( unchecked_bitfield.unchecked_payload().0.len(), expected_bits, ); - continue + continue; } if unchecked_bitfield.unchecked_payload().0.clone() & disputed_bitfield.0.clone() != @@ -921,7 +921,7 @@ pub(crate) fn sanitize_bitfields( "bitfield contains disputed cores: {:?}", unchecked_bitfield.unchecked_payload().0.clone() & disputed_bitfield.0.clone() ); - continue + continue; } let validator_index = unchecked_bitfield.unchecked_validator_index(); @@ -933,7 +933,7 @@ pub(crate) fn sanitize_bitfields( last_index.as_ref().map(|x| x.0), validator_index.0 ); - continue + continue; } if unchecked_bitfield.unchecked_validator_index().0 as usize >= validators.len() { @@ -943,7 +943,7 @@ pub(crate) fn sanitize_bitfields( validator_index.0, validators.len(), ); - continue + continue; } let validator_public = &validators[validator_index.0 as usize]; @@ -986,7 +986,7 @@ fn sanitize_backed_candidate_v2( candidate.candidate().hash(), candidate.descriptor().para_id() ); - return false + return false; } // It is mandatory to filter these before calling `filter_unchained_candidates` to ensure @@ -998,7 +998,7 @@ fn sanitize_backed_candidate_v2( candidate.candidate().hash(), candidate.descriptor().para_id() ); - return false + return false; } // Get the claim queue snapshot at the candidate relay parent. @@ -1011,7 +1011,7 @@ fn sanitize_backed_candidate_v2( candidate.descriptor().relay_parent(), candidate.candidate().hash(), ); - return false + return false; }; if let Err(err) = candidate.candidate().parse_ump_signals(&rp_info.claim_queue) { @@ -1022,12 +1022,12 @@ fn sanitize_backed_candidate_v2( candidate.candidate().hash(), candidate.descriptor().para_id() ); - return false + return false; } if descriptor_version == CandidateDescriptorVersion::V1 { // Nothing more to check for v1 descriptors. - return true + return true; } let Some(session_index) = candidate.descriptor().session_index() else { @@ -1037,7 +1037,7 @@ fn sanitize_backed_candidate_v2( candidate.candidate().hash(), candidate.descriptor().para_id(), ); - return false + return false; }; // Check if session index is equal to current session index. @@ -1050,7 +1050,7 @@ fn sanitize_backed_candidate_v2( session_index, shared::CurrentSessionIndex::::get() ); - return false + return false; } true @@ -1088,7 +1088,7 @@ fn sanitize_backed_candidates( for candidate in backed_candidates { if !sanitize_backed_candidate_v2::(&candidate, allowed_relay_parents, allow_v2_receipts) { - continue + continue; } candidates_per_para @@ -1236,7 +1236,7 @@ fn retain_candidates< // Found a valid candidate. latest_valid_idx = Some(idx); } else { - break + break; } } @@ -1266,7 +1266,7 @@ fn filter_backed_statements_from_disabled_validators< if disabled_validators.is_empty() { // No disabled validators - nothing to do - return + return; } let minimum_backing_votes = configuration::ActiveConfig::::get().minimum_backing_votes; @@ -1292,7 +1292,7 @@ fn filter_backed_statements_from_disabled_validators< "Relay parent {:?} for candidate is not in the allowed relay parents. Dropping the candidate.", bc.descriptor().relay_parent() ); - return false + return false; }, }; @@ -1304,7 +1304,7 @@ fn filter_backed_statements_from_disabled_validators< Some(group_idx) => group_idx, None => { log::debug!(target: LOG_TARGET, "Can't get the group index for core idx {:?}. Dropping the candidate.", core_idx); - return false + return false; }, }; @@ -1313,7 +1313,7 @@ fn filter_backed_statements_from_disabled_validators< Some(validator_group) => validator_group, None => { log::debug!(target: LOG_TARGET, "Can't get the validators from group {:?}. Dropping the candidate.", group_idx); - return false + return false; }, }; @@ -1355,7 +1355,7 @@ fn filter_backed_statements_from_disabled_validators< para_id ); - return false + return false; } true @@ -1374,12 +1374,12 @@ fn filter_unchained_candidates::para_latest_head_data(¶_id) else { defensive!("Latest included head data for paraid {:?} is None", para_id); - continue + continue; }; let Some(latest_relay_parent) = inclusion::Pallet::::para_most_recent_context(¶_id) else { defensive!("Latest relay parent for paraid {:?} is None", para_id); - continue + continue; }; para_latest_context.insert(*para_id, (latest_head_data, latest_relay_parent)); } @@ -1389,7 +1389,7 @@ fn filter_unchained_candidates(candidates, |para_id, candidate| { let Some((latest_head_data, latest_relay_parent)) = para_latest_context.get(¶_id) else { - return false + return false; }; let candidate_hash = candidate.candidate().hash(); @@ -1404,7 +1404,7 @@ fn filter_unchained_candidates build(), - OccupiedCoreAssumption::Free => + OccupiedCoreAssumption::Free => { if !>::candidates_pending_availability(para_id).is_empty() { None } else { build() - }, + } + }, } } @@ -290,12 +291,15 @@ where .filter_map(|record| extract_event(record.event)) .filter_map(|event| { Some(match event { - RawEvent::::CandidateBacked(c, h, core, group) => - CandidateEvent::CandidateBacked(c, h, core, group), - RawEvent::::CandidateIncluded(c, h, core, group) => - CandidateEvent::CandidateIncluded(c, h, core, group), - RawEvent::::CandidateTimedOut(c, h, core) => - CandidateEvent::CandidateTimedOut(c, h, core), + RawEvent::::CandidateBacked(c, h, core, group) => { + CandidateEvent::CandidateBacked(c, h, core, group) + }, + RawEvent::::CandidateIncluded(c, h, core, group) => { + CandidateEvent::CandidateIncluded(c, h, core, group) + }, + RawEvent::::CandidateTimedOut(c, h, core) => { + CandidateEvent::CandidateTimedOut(c, h, core) + }, // Not needed for candidate events. RawEvent::::UpwardMessagesReceived { .. } => return None, RawEvent::::__Ignore(_, _) => unreachable!("__Ignore cannot be used"), diff --git a/polkadot/runtime/parachains/src/scheduler.rs b/polkadot/runtime/parachains/src/scheduler.rs index 9c111c2d28e79..34969d2347d2c 100644 --- a/polkadot/runtime/parachains/src/scheduler.rs +++ b/polkadot/runtime/parachains/src/scheduler.rs @@ -221,13 +221,13 @@ impl Pallet { let session_start_block = SessionStartBlock::::get(); if at < session_start_block { - return None + return None; } let validator_groups = ValidatorGroups::::get(); if core.0 as usize >= validator_groups.len() { - return None + return None; } let rotations_since_session_start: BlockNumberFor = @@ -421,7 +421,7 @@ impl Pallet { if let Some(assignment) = T::AssignmentProvider::pop_assignment_for_core(core_idx) { cq.push_back(assignment); } else { - break + break; } } diff --git a/polkadot/runtime/parachains/src/scheduler/migration.rs b/polkadot/runtime/parachains/src/scheduler/migration.rs index c3a61fa685422..8319f297cc58d 100644 --- a/polkadot/runtime/parachains/src/scheduler/migration.rs +++ b/polkadot/runtime/parachains/src/scheduler/migration.rs @@ -190,11 +190,12 @@ mod v1 { for (core_index, core) in availability_cores.into_iter().enumerate() { let new_core = if let Some(core) = core { match core { - v0::CoreOccupied::Parachain => + v0::CoreOccupied::Parachain => { v1::CoreOccupied::Paras(v1::ParasEntry::new( V0Assignment { para_id: parachains[core_index] }, now, - )), + )) + }, v0::CoreOccupied::Parathread(entry) => v1::CoreOccupied::Paras( v1::ParasEntry::new(V0Assignment { para_id: entry.claim.0 }, now), ), diff --git a/polkadot/runtime/parachains/src/shared.rs b/polkadot/runtime/parachains/src/shared.rs index 55994f24f9690..bf9cde2cd7606 100644 --- a/polkadot/runtime/parachains/src/shared.rs +++ b/polkadot/runtime/parachains/src/shared.rs @@ -91,7 +91,7 @@ impl ) { if self.buffer.iter().any(|info| info.relay_parent == relay_parent) { // Already present. - return + return; } let claim_queue = transpose_claim_queue(claim_queue); @@ -124,7 +124,7 @@ impl if let Some(prev) = prev { if prev > number { - return None + return None; } } diff --git a/polkadot/runtime/rococo/src/genesis_config_presets.rs b/polkadot/runtime/rococo/src/genesis_config_presets.rs index 8ae5f0aeac5a0..82c045d281c7a 100644 --- a/polkadot/runtime/rococo/src/genesis_config_presets.rs +++ b/polkadot/runtime/rococo/src/genesis_config_presets.rs @@ -134,7 +134,7 @@ fn default_parachains_host_configuration( (1u8 << (FeatureIndex::CandidateReceiptV2 as usize)), ), scheduler_params: SchedulerParams { - lookahead: 3, + lookahead: 5, group_rotation_frequency: 20, paras_availability_period: 4, ..Default::default() @@ -227,194 +227,194 @@ fn rococo_staging_testnet_config_genesis() -> serde_json::Value { BeefyId, )> = Vec::from([ ( - //5EHZkbp22djdbuMFH9qt1DVzSCvqi3zWpj6DAYfANa828oei + // 5EHZkbp22djdbuMFH9qt1DVzSCvqi3zWpj6DAYfANa828oei hex!["62475fe5406a7cb6a64c51d0af9d3ab5c2151bcae982fb812f7a76b706914d6a"].into(), - //5FeSEpi9UYYaWwXXb3tV88qtZkmSdB3mvgj3pXkxKyYLGhcd + // 5FeSEpi9UYYaWwXXb3tV88qtZkmSdB3mvgj3pXkxKyYLGhcd hex!["9e6e781a76810fe93187af44c79272c290c2b9e2b8b92ee11466cd79d8023f50"].into(), - //5Fh6rDpMDhM363o1Z3Y9twtaCPfizGQWCi55BSykTQjGbP7H + // 5Fh6rDpMDhM363o1Z3Y9twtaCPfizGQWCi55BSykTQjGbP7H hex!["a076ef1280d768051f21d060623da3ab5b56944d681d303ed2d4bf658c5bed35"] .unchecked_into(), - //5CPd3zoV9Aaah4xWucuDivMHJ2nEEmpdi864nPTiyRZp4t87 + // 5CPd3zoV9Aaah4xWucuDivMHJ2nEEmpdi864nPTiyRZp4t87 hex!["0e6d7d1afbcc6547b92995a394ba0daed07a2420be08220a5a1336c6731f0bfa"] .unchecked_into(), - //5CP6oGfwqbEfML8efqm1tCZsUgRsJztp9L8ZkEUxA16W8PPz + // 5CP6oGfwqbEfML8efqm1tCZsUgRsJztp9L8ZkEUxA16W8PPz hex!["0e07a51d3213842f8e9363ce8e444255990a225f87e80a3d651db7841e1a0205"] .unchecked_into(), - //5HQdwiDh8Qtd5dSNWajNYpwDvoyNWWA16Y43aEkCNactFc2b + // 5HQdwiDh8Qtd5dSNWajNYpwDvoyNWWA16Y43aEkCNactFc2b hex!["ec60e71fe4a567ef9fef99d4bbf37ffae70564b41aa6f94ef0317c13e0a5477b"] .unchecked_into(), - //5HbSgM72xVuscsopsdeG3sCSCYdAeM1Tay9p79N6ky6vwDGq + // 5HbSgM72xVuscsopsdeG3sCSCYdAeM1Tay9p79N6ky6vwDGq hex!["f49eae66a0ac9f610316906ec8f1a0928e20d7059d76a5ca53cbcb5a9b50dd3c"] .unchecked_into(), - //5DPSWdgw38Spu315r6LSvYCggeeieBAJtP5A1qzuzKhqmjVu + // 5DPSWdgw38Spu315r6LSvYCggeeieBAJtP5A1qzuzKhqmjVu hex!["034f68c5661a41930c82f26a662276bf89f33467e1c850f2fb8ef687fe43d62276"] .unchecked_into(), ), ( - //5DvH8oEjQPYhzCoQVo7WDU91qmQfLZvxe9wJcrojmJKebCmG + // 5DvH8oEjQPYhzCoQVo7WDU91qmQfLZvxe9wJcrojmJKebCmG hex!["520b48452969f6ddf263b664de0adb0c729d0e0ad3b0e5f3cb636c541bc9022a"].into(), - //5ENZvCRzyXJJYup8bM6yEzb2kQHEb1NDpY2ZEyVGBkCfRdj3 + // 5ENZvCRzyXJJYup8bM6yEzb2kQHEb1NDpY2ZEyVGBkCfRdj3 hex!["6618289af7ae8621981ffab34591e7a6486e12745dfa3fd3b0f7e6a3994c7b5b"].into(), - //5DLjSUfqZVNAADbwYLgRvHvdzXypiV1DAEaDMjcESKTcqMoM + // 5DLjSUfqZVNAADbwYLgRvHvdzXypiV1DAEaDMjcESKTcqMoM hex!["38757d0de00a0c739e7d7984ef4bc01161bd61e198b7c01b618425c16bb5bd5f"] .unchecked_into(), - //5HnDVBN9mD6mXyx8oryhDbJtezwNSj1VRXgLoYCBA6uEkiao + // 5HnDVBN9mD6mXyx8oryhDbJtezwNSj1VRXgLoYCBA6uEkiao hex!["fcd5f87a6fd5707a25122a01b4dac0a8482259df7d42a9a096606df1320df08d"] .unchecked_into(), - //5EPEWRecy2ApL5n18n3aHyU1956zXTRqaJpzDa9DoqiggNwF + // 5EPEWRecy2ApL5n18n3aHyU1956zXTRqaJpzDa9DoqiggNwF hex!["669a10892119453e9feb4e3f1ee8e028916cc3240022920ad643846fbdbee816"] .unchecked_into(), - //5ES3fw5X4bndSgLNmtPfSbM2J1kLqApVB2CCLS4CBpM1UxUZ + // 5ES3fw5X4bndSgLNmtPfSbM2J1kLqApVB2CCLS4CBpM1UxUZ hex!["68bf52c482630a8d1511f2edd14f34127a7d7082219cccf7fd4c6ecdb535f80d"] .unchecked_into(), - //5HeXbwb5PxtcRoopPZTp5CQun38atn2UudQ8p2AxR5BzoaXw + // 5HeXbwb5PxtcRoopPZTp5CQun38atn2UudQ8p2AxR5BzoaXw hex!["f6f8fe475130d21165446a02fb1dbce3a7bf36412e5d98f4f0473aed9252f349"] .unchecked_into(), - //5F7nTtN8MyJV4UsXpjg7tHSnfANXZ5KRPJmkASc1ZSH2Xoa5 + // 5F7nTtN8MyJV4UsXpjg7tHSnfANXZ5KRPJmkASc1ZSH2Xoa5 hex!["03a90c2bb6d3b7000020f6152fe2e5002fa970fd1f42aafb6c8edda8dacc2ea77e"] .unchecked_into(), ), ( - //5FPMzsezo1PRxYbVpJMWK7HNbR2kUxidsAAxH4BosHa4wd6S + // 5FPMzsezo1PRxYbVpJMWK7HNbR2kUxidsAAxH4BosHa4wd6S hex!["92ef83665b39d7a565e11bf8d18d41d45a8011601c339e57a8ea88c8ff7bba6f"].into(), - //5G6NQidFG7YiXsvV7hQTLGArir9tsYqD4JDxByhgxKvSKwRx + // 5G6NQidFG7YiXsvV7hQTLGArir9tsYqD4JDxByhgxKvSKwRx hex!["b235f57244230589523271c27b8a490922ffd7dccc83b044feaf22273c1dc735"].into(), - //5GpZhzAVg7SAtzLvaAC777pjquPEcNy1FbNUAG2nZvhmd6eY + // 5GpZhzAVg7SAtzLvaAC777pjquPEcNy1FbNUAG2nZvhmd6eY hex!["d2644c1ab2c63a3ad8d40ad70d4b260969e3abfe6d7e6665f50dc9f6365c9d2a"] .unchecked_into(), - //5HAes2RQYPbYKbLBfKb88f4zoXv6pPA6Ke8CjN7dob3GpmSP + // 5HAes2RQYPbYKbLBfKb88f4zoXv6pPA6Ke8CjN7dob3GpmSP hex!["e1b68fbd84333e31486c08e6153d9a1415b2e7e71b413702b7d64e9b631184a1"] .unchecked_into(), - //5FtAGDZYJKXkhVhAxCQrXmaP7EE2mGbBMfmKDHjfYDgq2BiU + // 5FtAGDZYJKXkhVhAxCQrXmaP7EE2mGbBMfmKDHjfYDgq2BiU hex!["a8e61ffacafaf546283dc92d14d7cc70ea0151a5dd81fdf73ff5a2951f2b6037"] .unchecked_into(), - //5CtK7JHv3h6UQZ44y54skxdwSVBRtuxwPE1FYm7UZVhg8rJV + // 5CtK7JHv3h6UQZ44y54skxdwSVBRtuxwPE1FYm7UZVhg8rJV hex!["244f3421b310c68646e99cdbf4963e02067601f57756b072a4b19431448c186e"] .unchecked_into(), - //5D4r6YaB6F7A7nvMRHNFNF6zrR9g39bqDJFenrcaFmTCRwfa + // 5D4r6YaB6F7A7nvMRHNFNF6zrR9g39bqDJFenrcaFmTCRwfa hex!["2c57f81fd311c1ab53813c6817fe67f8947f8d39258252663b3384ab4195494d"] .unchecked_into(), - //5EPoHj8uV4fFKQHYThc6Z9fDkU7B6ih2ncVzQuDdNFb8UyhF + // 5EPoHj8uV4fFKQHYThc6Z9fDkU7B6ih2ncVzQuDdNFb8UyhF hex!["039d065fe4f9234f0a4f13cc3ae585f2691e9c25afa469618abb6645111f607a53"] .unchecked_into(), ), ( - //5DMNx7RoX6d7JQ38NEM7DWRcW2THu92LBYZEWvBRhJeqcWgR + // 5DMNx7RoX6d7JQ38NEM7DWRcW2THu92LBYZEWvBRhJeqcWgR hex!["38f3c2f38f6d47f161e98c697bbe3ca0e47c033460afda0dda314ab4222a0404"].into(), - //5GGdKNDr9P47dpVnmtq3m8Tvowwf1ot1abw6tPsTYYFoKm2v + // 5GGdKNDr9P47dpVnmtq3m8Tvowwf1ot1abw6tPsTYYFoKm2v hex!["ba0898c1964196474c0be08d364cdf4e9e1d47088287f5235f70b0590dfe1704"].into(), - //5EjkyPCzR2SjhDZq8f7ufsw6TfkvgNRepjCRQFc4TcdXdaB1 + // 5EjkyPCzR2SjhDZq8f7ufsw6TfkvgNRepjCRQFc4TcdXdaB1 hex!["764186bc30fd5a02477f19948dc723d6d57ab174debd4f80ed6038ec960bfe21"] .unchecked_into(), - //5DJV3zCBTJBLGNDCcdWrYxWDacSz84goGTa4pFeKVvehEBte + // 5DJV3zCBTJBLGNDCcdWrYxWDacSz84goGTa4pFeKVvehEBte hex!["36be9069cdb4a8a07ecd51f257875150f0a8a1be44a10d9d98dabf10a030aef4"] .unchecked_into(), - //5F9FsRjpecP9GonktmtFL3kjqNAMKjHVFjyjRdTPa4hbQRZA + // 5F9FsRjpecP9GonktmtFL3kjqNAMKjHVFjyjRdTPa4hbQRZA hex!["882d72965e642677583b333b2d173ac94b5fd6c405c76184bb14293be748a13b"] .unchecked_into(), - //5F1FZWZSj3JyTLs8sRBxU6QWyGLSL9BMRtmSKDmVEoiKFxSP + // 5F1FZWZSj3JyTLs8sRBxU6QWyGLSL9BMRtmSKDmVEoiKFxSP hex!["821271c99c958b9220f1771d9f5e29af969edfa865631dba31e1ab7bc0582b75"] .unchecked_into(), - //5CtgRR74VypK4h154s369abs78hDUxZSJqcbWsfXvsjcHJNA + // 5CtgRR74VypK4h154s369abs78hDUxZSJqcbWsfXvsjcHJNA hex!["2496f28d887d84705c6dae98aee8bf90fc5ad10bb5545eca1de6b68425b70f7c"] .unchecked_into(), - //5CPx6dsr11SCJHKFkcAQ9jpparS7FwXQBrrMznRo4Hqv1PXz + // 5CPx6dsr11SCJHKFkcAQ9jpparS7FwXQBrrMznRo4Hqv1PXz hex!["0307d29bbf6a5c4061c2157b44fda33b7bb4ec52a5a0305668c74688cedf288d58"] .unchecked_into(), ), ( - //5C8AL1Zb4bVazgT3EgDxFgcow1L4SJjVu44XcLC9CrYqFN4N + // 5C8AL1Zb4bVazgT3EgDxFgcow1L4SJjVu44XcLC9CrYqFN4N hex!["02a2d8cfcf75dda85fafc04ace3bcb73160034ed1964c43098fb1fe831de1b16"].into(), - //5FLYy3YKsAnooqE4hCudttAsoGKbVG3hYYBtVzwMjJQrevPa + // 5FLYy3YKsAnooqE4hCudttAsoGKbVG3hYYBtVzwMjJQrevPa hex!["90cab33f0bb501727faa8319f0845faef7d31008f178b65054b6629fe531b772"].into(), - //5Et3tfbVf1ByFThNAuUq5pBssdaPPskip5yob5GNyUFojXC7 + // 5Et3tfbVf1ByFThNAuUq5pBssdaPPskip5yob5GNyUFojXC7 hex!["7c94715e5dd8ab54221b1b6b2bfa5666f593f28a92a18e28052531de1bd80813"] .unchecked_into(), - //5EX1JBghGbQqWohTPU6msR9qZ2nYPhK9r3RTQ2oD1K8TCxaG + // 5EX1JBghGbQqWohTPU6msR9qZ2nYPhK9r3RTQ2oD1K8TCxaG hex!["6c878e33b83c20324238d22240f735457b6fba544b383e70bb62a27b57380c81"] .unchecked_into(), - //5EUNaBpX9mJgcmLQHyG5Pkms6tbDiKuLbeTEJS924Js9cA1N + // 5EUNaBpX9mJgcmLQHyG5Pkms6tbDiKuLbeTEJS924Js9cA1N hex!["6a8570b9c6408e54bacf123cc2bb1b0f087f9c149147d0005badba63a5a4ac01"] .unchecked_into(), - //5CaZuueRVpMATZG4hkcrgDoF4WGixuz7zu83jeBdY3bgWGaG + // 5CaZuueRVpMATZG4hkcrgDoF4WGixuz7zu83jeBdY3bgWGaG hex!["16c69ea8d595e80b6736f44be1eaeeef2ac9c04a803cc4fd944364cb0d617a33"] .unchecked_into(), - //5DABsdQCDUGuhzVGWe5xXzYQ9rtrVxRygW7RXf9Tsjsw1aGJ + // 5DABsdQCDUGuhzVGWe5xXzYQ9rtrVxRygW7RXf9Tsjsw1aGJ hex!["306ac5c772fe858942f92b6e28bd82fb7dd8cdd25f9a4626c1b0eee075fcb531"] .unchecked_into(), - //5H91T5mHhoCw9JJG4NjghDdQyhC6L7XcSuBWKD3q3TAhEVvQ + // 5H91T5mHhoCw9JJG4NjghDdQyhC6L7XcSuBWKD3q3TAhEVvQ hex!["02fb0330356e63a35dd930bc74525edf28b3bf5eb44aab9e9e4962c8309aaba6a6"] .unchecked_into(), ), ( - //5C8XbDXdMNKJrZSrQURwVCxdNdk8AzG6xgLggbzuA399bBBF + // 5C8XbDXdMNKJrZSrQURwVCxdNdk8AzG6xgLggbzuA399bBBF hex!["02ea6bfa8b23b92fe4b5db1063a1f9475e3acd0ab61e6b4f454ed6ba00b5f864"].into(), - //5GsyzFP8qtF8tXPSsjhjxAeU1v7D1PZofuQKN9TdCc7Dp1JM + // 5GsyzFP8qtF8tXPSsjhjxAeU1v7D1PZofuQKN9TdCc7Dp1JM hex!["d4ffc4c05b47d1115ad200f7f86e307b20b46c50e1b72a912ec4f6f7db46b616"].into(), - //5GHWB8ZDzegLcMW7Gdd1BS6WHVwDdStfkkE4G7KjPjZNJBtD + // 5GHWB8ZDzegLcMW7Gdd1BS6WHVwDdStfkkE4G7KjPjZNJBtD hex!["bab3cccdcc34401e9b3971b96a662686cf755aa869a5c4b762199ce531b12c5b"] .unchecked_into(), - //5GzDPGbUM9uH52ZEwydasTj8edokGUJ7vEpoFWp9FE1YNuFB + // 5GzDPGbUM9uH52ZEwydasTj8edokGUJ7vEpoFWp9FE1YNuFB hex!["d9c056c98ca0e6b4eb7f5c58c007c1db7be0fe1f3776108f797dd4990d1ccc33"] .unchecked_into(), - //5CmLCFeSurRXXtwMmLcVo7sdJ9EqDguvJbuCYDcHkr3cpqyE + // 5CmLCFeSurRXXtwMmLcVo7sdJ9EqDguvJbuCYDcHkr3cpqyE hex!["1efc23c0b51ad609ab670ecf45807e31acbd8e7e5cb7c07cf49ee42992d2867c"] .unchecked_into(), - //5DnsSy8a8pfE2aFjKBDtKw7WM1V4nfE5sLzP15MNTka53GqS + // 5DnsSy8a8pfE2aFjKBDtKw7WM1V4nfE5sLzP15MNTka53GqS hex!["4c64d3f06d28adeb36a892fdaccecace150bec891f04694448a60b74fa469c22"] .unchecked_into(), - //5CZdFnyzZvKetZTeUwj5APAYskVJe4QFiTezo5dQNsrnehGd + // 5CZdFnyzZvKetZTeUwj5APAYskVJe4QFiTezo5dQNsrnehGd hex!["160ea09c5717270e958a3da42673fa011613a9539b2e4ebcad8626bc117ca04a"] .unchecked_into(), - //5HgoR9JJkdBusxKrrs3zgd3ToppgNoGj1rDyAJp4e7eZiYyT + // 5HgoR9JJkdBusxKrrs3zgd3ToppgNoGj1rDyAJp4e7eZiYyT hex!["020019a8bb188f8145d02fa855e9c36e9914457d37c500e03634b5223aa5702474"] .unchecked_into(), ), ( - //5HinEonzr8MywkqedcpsmwpxKje2jqr9miEwuzyFXEBCvVXM + // 5HinEonzr8MywkqedcpsmwpxKje2jqr9miEwuzyFXEBCvVXM hex!["fa373e25a1c4fe19c7148acde13bc3db1811cf656dc086820f3dda736b9c4a00"].into(), - //5EHJbj6Td6ks5HDnyfN4ttTSi57osxcQsQexm7XpazdeqtV7 + // 5EHJbj6Td6ks5HDnyfN4ttTSi57osxcQsQexm7XpazdeqtV7 hex!["62145d721967bd88622d08625f0f5681463c0f1b8bcd97eb3c2c53f7660fd513"].into(), - //5EeCsC58XgJ1DFaoYA1WktEpP27jvwGpKdxPMFjicpLeYu96 + // 5EeCsC58XgJ1DFaoYA1WktEpP27jvwGpKdxPMFjicpLeYu96 hex!["720537e2c1c554654d73b3889c3ef4c3c2f95a65dd3f7c185ebe4afebed78372"] .unchecked_into(), - //5DnEySxbnppWEyN8cCLqvGjAorGdLRg2VmkY96dbJ1LHFK8N + // 5DnEySxbnppWEyN8cCLqvGjAorGdLRg2VmkY96dbJ1LHFK8N hex!["4bea0b37e0cce9bddd80835fa2bfd5606f5dcfb8388bbb10b10c483f0856cf14"] .unchecked_into(), - //5CAC278tFCHAeHYqE51FTWYxHmeLcENSS1RG77EFRTvPZMJT + // 5CAC278tFCHAeHYqE51FTWYxHmeLcENSS1RG77EFRTvPZMJT hex!["042f07fc5268f13c026bbe199d63e6ac77a0c2a780f71cda05cee5a6f1b3f11f"] .unchecked_into(), - //5HjRTLWcQjZzN3JDvaj1UzjNSayg5ZD9ZGWMstaL7Ab2jjAa + // 5HjRTLWcQjZzN3JDvaj1UzjNSayg5ZD9ZGWMstaL7Ab2jjAa hex!["fab485e87ed1537d089df521edf983a777c57065a702d7ed2b6a2926f31da74f"] .unchecked_into(), - //5ELv74v7QcsS6FdzvG4vL2NnYDGWmRnJUSMKYwdyJD7Xcdi7 + // 5ELv74v7QcsS6FdzvG4vL2NnYDGWmRnJUSMKYwdyJD7Xcdi7 hex!["64d59feddb3d00316a55906953fb3db8985797472bd2e6c7ea1ab730cc339d7f"] .unchecked_into(), - //5FaUcPt4fPz93vBhcrCJqmDkjYZ7jCbzAF56QJoCmvPaKrmx + // 5FaUcPt4fPz93vBhcrCJqmDkjYZ7jCbzAF56QJoCmvPaKrmx hex!["033f1a6d47fe86f88934e4b83b9fae903b92b5dcf4fec97d5e3e8bf4f39df03685"] .unchecked_into(), ), ( - //5Ey3NQ3dfabaDc16NUv7wRLsFCMDFJSqZFzKVycAsWuUC6Di + // 5Ey3NQ3dfabaDc16NUv7wRLsFCMDFJSqZFzKVycAsWuUC6Di hex!["8062e9c21f1d92926103119f7e8153cebdb1e5ab3e52d6f395be80bb193eab47"].into(), - //5HiWsuSBqt8nS9pnggexXuHageUifVPKPHDE2arTKqhTp1dV + // 5HiWsuSBqt8nS9pnggexXuHageUifVPKPHDE2arTKqhTp1dV hex!["fa0388fa88f3f0cb43d583e2571fbc0edad57dff3a6fd89775451dd2c2b8ea00"].into(), - //5H168nKX2Yrfo3bxj7rkcg25326Uv3CCCnKUGK6uHdKMdPt8 + // 5H168nKX2Yrfo3bxj7rkcg25326Uv3CCCnKUGK6uHdKMdPt8 hex!["da6b2df18f0f9001a6dcf1d301b92534fe9b1f3ccfa10c49449fee93adaa8349"] .unchecked_into(), - //5DrA2fZdzmNqT5j6DXNwVxPBjDV9jhkAqvjt6Us3bQHKy3cF + // 5DrA2fZdzmNqT5j6DXNwVxPBjDV9jhkAqvjt6Us3bQHKy3cF hex!["4ee66173993dd0db5d628c4c9cb61a27b76611ad3c3925947f0d0011ee2c5dcc"] .unchecked_into(), - //5Gx6YeNhynqn8qkda9QKpc9S7oDr4sBrfAu516d3sPpEt26F + // 5Gx6YeNhynqn8qkda9QKpc9S7oDr4sBrfAu516d3sPpEt26F hex!["d822d4088b20dca29a580a577a97d6f024bb24c9550bebdfd7d2d18e946a1c7d"] .unchecked_into(), - //5DhDcHqwxoes5s89AyudGMjtZXx1nEgrk5P45X88oSTR3iyx + // 5DhDcHqwxoes5s89AyudGMjtZXx1nEgrk5P45X88oSTR3iyx hex!["481538f8c2c011a76d7d57db11c2789a5e83b0f9680dc6d26211d2f9c021ae4c"] .unchecked_into(), - //5DqAvikdpfRdk5rR35ZobZhqaC5bJXZcEuvzGtexAZP1hU3T + // 5DqAvikdpfRdk5rR35ZobZhqaC5bJXZcEuvzGtexAZP1hU3T hex!["4e262811acdfe94528bfc3c65036080426a0e1301b9ada8d687a70ffcae99c26"] .unchecked_into(), - //5E41Znrr2YtZu8bZp3nvRuLVHg3jFksfQ3tXuviLku4wsao7 + // 5E41Znrr2YtZu8bZp3nvRuLVHg3jFksfQ3tXuviLku4wsao7 hex!["025e84e95ed043e387ddb8668176b42f8e2773ddd84f7f58a6d9bf436a4b527986"] .unchecked_into(), ), @@ -444,7 +444,7 @@ fn rococo_staging_testnet_config_genesis() -> serde_json::Value { }) } -//development +// development fn rococo_development_config_genesis() -> serde_json::Value { rococo_testnet_genesis( Vec::from([get_authority_keys_from_seed("Alice")]), @@ -453,7 +453,7 @@ fn rococo_development_config_genesis() -> serde_json::Value { ) } -//local_testnet +// local_testnet fn rococo_local_testnet_genesis() -> serde_json::Value { rococo_testnet_genesis( Vec::from([get_authority_keys_from_seed("Alice"), get_authority_keys_from_seed("Bob")]), diff --git a/polkadot/runtime/rococo/src/governance/fellowship.rs b/polkadot/runtime/rococo/src/governance/fellowship.rs index cb194e05e9ce9..c2b5e7e59df00 100644 --- a/polkadot/runtime/rococo/src/governance/fellowship.rs +++ b/polkadot/runtime/rococo/src/governance/fellowship.rs @@ -272,7 +272,7 @@ impl pallet_referenda::TracksInfo for TracksInfo { // It is important that this is not available in production! let root: Self::RuntimeOrigin = frame_system::RawOrigin::Root.into(); if &root == id { - return Ok(9) + return Ok(9); } } diff --git a/polkadot/runtime/rococo/src/lib.rs b/polkadot/runtime/rococo/src/lib.rs index c715980bcb0af..b5bbda7ca6d49 100644 --- a/polkadot/runtime/rococo/src/lib.rs +++ b/polkadot/runtime/rococo/src/lib.rs @@ -182,7 +182,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: alloc::borrow::Cow::Borrowed("rococo"), impl_name: alloc::borrow::Cow::Borrowed("parity-rococo-v2.0"), authoring_version: 0, - spec_version: 1_020_001, + spec_version: 1_021_001, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 26, @@ -542,7 +542,7 @@ impl pallet_treasury::Config for Runtime { type BeneficiaryLookup = IdentityLookup; type Paymaster = PayOverXcm< TreasuryInteriorLocation, - crate::xcm_config::XcmRouter, + crate::xcm_config::XcmConfig, crate::XcmPallet, ConstU32<{ 6 * HOURS }>, Self::Beneficiary, @@ -590,6 +590,7 @@ impl pallet_bounties::Config for Runtime { type MaximumReasonLength = MaximumReasonLength; type WeightInfo = weights::pallet_bounties::WeightInfo; type OnSlash = Treasury; + type TransferAllAssets = (); } parameter_types! { @@ -2408,8 +2409,11 @@ sp_api::impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys( + owner: Vec, + seed: Option>, + ) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -2525,6 +2529,7 @@ sp_api::impl_runtime_apis! { impl frame_system_benchmarking::Config for Runtime {} impl frame_benchmarking::baseline::Config for Runtime {} + impl pallet_transaction_payment::BenchmarkConfig for Runtime {} impl pallet_xcm::benchmarking::Config for Runtime { type DeliveryHelper = ( polkadot_runtime_common::xcm_sender::ToParachainDeliveryHelper< @@ -2596,12 +2601,15 @@ sp_api::impl_runtime_apis! { fn valid_destination() -> Result { Ok(AssetHub::get()) } - fn worst_case_holding(_depositable_count: u32) -> Assets { + fn worst_case_holding(_depositable_count: u32) -> xcm_executor::AssetsInHolding { + use pallet_xcm_benchmarks::MockCredit; // Rococo only knows about ROC - vec![Asset{ - id: AssetId(TokenLocation::get()), - fun: Fungible(1_000_000 * UNITS), - }].into() + let mut holding = xcm_executor::AssetsInHolding::new(); + holding.fungible.insert( + AssetId(TokenLocation::get()), + alloc::boxed::Box::new(MockCredit(1_000_000 * UNITS)), + ); + holding } } @@ -2726,9 +2734,7 @@ sp_api::impl_runtime_apis! { mod remote_tests { use super::*; use frame_try_runtime::{runtime_decl_for_try_runtime::TryRuntime, UpgradeCheckSelect}; - use remote_externalities::{ - Builder, Mode, OfflineConfig, OnlineConfig, SnapshotConfig, Transport, - }; + use remote_externalities::{Builder, Mode, OfflineConfig, OnlineConfig, SnapshotConfig}; use std::env::var; #[tokio::test] @@ -2738,21 +2744,22 @@ mod remote_tests { } sp_tracing::try_init_simple(); - let transport: Transport = - var("WS").unwrap_or("wss://rococo-rpc.polkadot.io:443".to_string()).into(); + let transport = var("WS").unwrap_or("wss://rococo-rpc.polkadot.io:443".to_string()); let maybe_state_snapshot: Option = var("SNAP").map(|s| s.into()).ok(); + + let transport_uris = vec![transport]; let mut ext = Builder::::default() .mode(if let Some(state_snapshot) = maybe_state_snapshot { Mode::OfflineOrElseOnline( OfflineConfig { state_snapshot: state_snapshot.clone() }, OnlineConfig { - transport, + transport_uris, state_snapshot: Some(state_snapshot), ..Default::default() }, ) } else { - Mode::Online(OnlineConfig { transport, ..Default::default() }) + Mode::Online(OnlineConfig { transport_uris, ..Default::default() }) }) .build() .await diff --git a/polkadot/runtime/rococo/src/validator_manager.rs b/polkadot/runtime/rococo/src/validator_manager.rs index 7a3a99078ff77..09d811d757411 100644 --- a/polkadot/runtime/rococo/src/validator_manager.rs +++ b/polkadot/runtime/rococo/src/validator_manager.rs @@ -103,7 +103,7 @@ pub mod pallet { impl pallet_session::SessionManager for Pallet { fn new_session(new_index: SessionIndex) -> Option> { if new_index <= 1 { - return None + return None; } let mut validators = Session::::validators(); diff --git a/polkadot/runtime/rococo/src/weights/xcm/mod.rs b/polkadot/runtime/rococo/src/weights/xcm/mod.rs index 36d818a87445d..7bbbdbf9437c2 100644 --- a/polkadot/runtime/rococo/src/weights/xcm/mod.rs +++ b/polkadot/runtime/rococo/src/weights/xcm/mod.rs @@ -38,8 +38,9 @@ pub enum AssetTypes { impl From<&Asset> for AssetTypes { fn from(asset: &Asset) -> Self { match asset { - Asset { id: AssetId(Location { parents: 0, interior: Here }), .. } => - AssetTypes::Balances, + Asset { id: AssetId(Location { parents: 0, interior: Here }), .. } => { + AssetTypes::Balances + }, _ => AssetTypes::Unknown, } } @@ -67,8 +68,9 @@ impl WeighAssets for AssetFilter { // We don't support any NFTs on Rococo, so these two variants will always match // only 1 kind of fungible asset. Self::Wild(AllOf { .. } | AllOfCounted { .. }) => balances_weight, - Self::Wild(AllCounted(count)) => - balances_weight.saturating_mul(MAX_ASSETS.min(*count as u64)), + Self::Wild(AllCounted(count)) => { + balances_weight.saturating_mul(MAX_ASSETS.min(*count as u64)) + }, Self::Wild(All) => balances_weight.saturating_mul(MAX_ASSETS), } } diff --git a/polkadot/runtime/rococo/src/xcm_config.rs b/polkadot/runtime/rococo/src/xcm_config.rs index 87fc99eb32ad7..d2ceccef8f0c5 100644 --- a/polkadot/runtime/rococo/src/xcm_config.rs +++ b/polkadot/runtime/rococo/src/xcm_config.rs @@ -209,7 +209,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = XcmPallet; type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = XcmPallet; type SubscriptionService = XcmPallet; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/polkadot/runtime/test-runtime/src/lib.rs b/polkadot/runtime/test-runtime/src/lib.rs index b4a368c8d8a19..561c1a0769fe4 100644 --- a/polkadot/runtime/test-runtime/src/lib.rs +++ b/polkadot/runtime/test-runtime/src/lib.rs @@ -1305,8 +1305,8 @@ sp_api::impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( diff --git a/polkadot/runtime/test-runtime/src/xcm_config.rs b/polkadot/runtime/test-runtime/src/xcm_config.rs index 8d7e351d0d5be..78f4222f48426 100644 --- a/polkadot/runtime/test-runtime/src/xcm_config.rs +++ b/polkadot/runtime/test-runtime/src/xcm_config.rs @@ -90,17 +90,24 @@ pub type Barrier = AllowUnpaidExecutionFrom; pub struct DummyAssetTransactor; impl TransactAsset for DummyAssetTransactor { - fn deposit_asset(_what: &Asset, _who: &Location, _context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + _what: AssetsInHolding, + _who: &Location, + _context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { Ok(()) } fn withdraw_asset( - _what: &Asset, - _who: &Location, - _maybe_context: Option<&XcmContext>, + what: &Asset, + _: &Location, + _: Option<&XcmContext>, ) -> Result { - let asset: Asset = (Parent, 100_000).into(); - Ok(asset.into()) + Ok(xcm_executor::test_helpers::mock_asset_to_holding(what.clone())) + } + + fn mint_asset(what: &Asset, _: &XcmContext) -> Result { + Ok(xcm_executor::test_helpers::mock_asset_to_holding(what.clone())) } } @@ -116,8 +123,8 @@ impl WeightTrader for DummyWeightTrader { _weight: Weight, _payment: AssetsInHolding, _context: &XcmContext, - ) -> Result { - Ok(AssetsInHolding::default()) + ) -> Result { + Ok(AssetsInHolding::new()) } } @@ -143,7 +150,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = super::Xcm; type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = super::Xcm; type SubscriptionService = super::Xcm; type PalletInstancesInfo = (); type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/polkadot/runtime/westend/Cargo.toml b/polkadot/runtime/westend/Cargo.toml index c907ceb65665c..04120d43afc5e 100644 --- a/polkadot/runtime/westend/Cargo.toml +++ b/polkadot/runtime/westend/Cargo.toml @@ -85,7 +85,7 @@ pallet-scheduler = { workspace = true } pallet-session = { workspace = true } pallet-staking = { workspace = true } pallet-staking-async-ah-client = { workspace = true } -pallet-staking-async-rc-client = { workspace = true } +pallet-staking-async-rc-client = { workspace = true, features = ["xcm-sender"] } pallet-staking-runtime-api = { workspace = true } pallet-sudo = { workspace = true } pallet-timestamp = { workspace = true } diff --git a/polkadot/runtime/westend/src/genesis_config_presets.rs b/polkadot/runtime/westend/src/genesis_config_presets.rs index 645cc4f4552f2..50436dc71996c 100644 --- a/polkadot/runtime/westend/src/genesis_config_presets.rs +++ b/polkadot/runtime/westend/src/genesis_config_presets.rs @@ -137,7 +137,7 @@ fn default_parachains_host_configuration( (1u8 << (FeatureIndex::CandidateReceiptV2 as usize)), ), scheduler_params: SchedulerParams { - lookahead: 3, + lookahead: 5, group_rotation_frequency: 20, paras_availability_period: 4, ..Default::default() @@ -239,98 +239,98 @@ fn westend_staging_testnet_config_genesis() -> serde_json::Value { BeefyId, )> = Vec::from([ ( - //5EvydUTtHvt39Khac3mMxNPgzcfu49uPDzUs3TL7KEzyrwbw + // 5EvydUTtHvt39Khac3mMxNPgzcfu49uPDzUs3TL7KEzyrwbw hex!["7ecfd50629cdd246649959d88d490b31508db511487e111a52a392e6e458f518"].into(), - //5HQyX5gyy77m9QLXguAhiwjTArHYjYspeY98dYDu1JDetfZg + // 5HQyX5gyy77m9QLXguAhiwjTArHYjYspeY98dYDu1JDetfZg hex!["eca2cca09bdc66a7e6d8c3d9499a0be2ad4690061be8a9834972e17d13d2fe7e"].into(), - //5G13qYRudTyttwTJvHvnwp8StFtcfigyPnwfD4v7LNopsnX4 + // 5G13qYRudTyttwTJvHvnwp8StFtcfigyPnwfD4v7LNopsnX4 hex!["ae27367cb77850fb195fe1f9c60b73210409e68c5ad953088070f7d8513d464c"] .unchecked_into(), - //5Eb7wM65PNgtY6e33FEAzYtU5cRTXt6WQvZTnzaKQwkVcABk + // 5Eb7wM65PNgtY6e33FEAzYtU5cRTXt6WQvZTnzaKQwkVcABk hex!["6faae44b21c6f2681a7f60df708e9f79d340f7d441d28bd987fab8d05c6487e8"] .unchecked_into(), - //5FqMLAgygdX9UqzukDp15Uid9PAKdFAR621U7xtp5ut2NfrW + // 5FqMLAgygdX9UqzukDp15Uid9PAKdFAR621U7xtp5ut2NfrW hex!["a6c1a5b501985a83cb1c37630c5b41e6b0a15b3675b2fd94694758e6cfa6794d"] .unchecked_into(), - //5DhXAV75BKvF9o447ikWqLttyL2wHtLMFSX7GrsKF9Ny61Ta + // 5DhXAV75BKvF9o447ikWqLttyL2wHtLMFSX7GrsKF9Ny61Ta hex!["485051748ab9c15732f19f3fbcf1fd00a6d9709635f084505107fbb059c33d2f"] .unchecked_into(), - //5GNHfmrtWLTawnGCmc39rjAEiW97vKvE7DGePYe4am5JtE4i + // 5GNHfmrtWLTawnGCmc39rjAEiW97vKvE7DGePYe4am5JtE4i hex!["be59ed75a72f7b47221ce081ba4262cf2e1ea7867e30e0b3781822f942b97677"] .unchecked_into(), - //5DA6Z8RUF626stn94aTRBCeobDCYcFbU7Pdk4Tz1R9vA8B8F + // 5DA6Z8RUF626stn94aTRBCeobDCYcFbU7Pdk4Tz1R9vA8B8F hex!["0207e43990799e1d02b0507451e342a1240ff836ea769c57297589a5fd072ad8f4"] .unchecked_into(), ), ( - //5DFpvDUdCgw54E3E357GR1PyJe3Ft9s7Qyp7wbELAoJH9RQa + // 5DFpvDUdCgw54E3E357GR1PyJe3Ft9s7Qyp7wbELAoJH9RQa hex!["34b7b3efd35fcc3c1926ca065381682b1af29b57dabbcd091042c6de1d541b7d"].into(), - //5DZSSsND5wCjngvyXv27qvF3yPzt3MCU8rWnqNy4imqZmjT8 + // 5DZSSsND5wCjngvyXv27qvF3yPzt3MCU8rWnqNy4imqZmjT8 hex!["4226796fa792ac78875e023ff2e30e3c2cf79f0b7b3431254cd0f14a3007bc0e"].into(), - //5CPrgfRNDQvQSnLRdeCphP3ibj5PJW9ESbqj2fw29vBMNQNn + // 5CPrgfRNDQvQSnLRdeCphP3ibj5PJW9ESbqj2fw29vBMNQNn hex!["0e9b60f04be3bffe362eb2212ea99d2b909b052f4bff7c714e13c2416a797f5d"] .unchecked_into(), - //5FXFsPReTUEYPRNKhbTdUathcWBsxTNsLbk2mTpYdKCJewjA + // 5FXFsPReTUEYPRNKhbTdUathcWBsxTNsLbk2mTpYdKCJewjA hex!["98f4d81cb383898c2c3d54dab28698c0f717c81b509cb32dc6905af3cc697b18"] .unchecked_into(), - //5CZjurB78XbSHf6SLkLhCdkqw52Zm7aBYUDdfkLqEDWJ9Zhj + // 5CZjurB78XbSHf6SLkLhCdkqw52Zm7aBYUDdfkLqEDWJ9Zhj hex!["162508accd470e379b04cb0c7c60b35a7d5357e84407a89ed2dd48db4b726960"] .unchecked_into(), - //5DkAqCtSjUMVoJFauuGoAbSEgn2aFCRGziKJiLGpPwYgE1pS + // 5DkAqCtSjUMVoJFauuGoAbSEgn2aFCRGziKJiLGpPwYgE1pS hex!["4a559c028b69a7f784ce553393e547bec0aa530352157603396d515f9c83463b"] .unchecked_into(), - //5GsBt9MhGwkg8Jfb1F9LAy2kcr88WNyNy4L5ezwbCr8NWKQU + // 5GsBt9MhGwkg8Jfb1F9LAy2kcr88WNyNy4L5ezwbCr8NWKQU hex!["d464908266c878acbf181bf8fda398b3aa3fd2d05508013e414aaece4cf0d702"] .unchecked_into(), - //5DtJVkz8AHevEnpszy3X4dUcPvACW6x1qBMQZtFxjexLr5bq + // 5DtJVkz8AHevEnpszy3X4dUcPvACW6x1qBMQZtFxjexLr5bq hex!["02fdf30222d2cb88f2376d558d3de9cb83f9fde3aa4b2dd40c93e3104e3488bcd2"] .unchecked_into(), ), ( - //5E2cob2jrXsBkTih56pizwSqENjE4siaVdXhaD6akLdDyVq7 + // 5E2cob2jrXsBkTih56pizwSqENjE4siaVdXhaD6akLdDyVq7 hex!["56e0f73c563d49ee4a3971c393e17c44eaa313dabad7fcf297dc3271d803f303"].into(), - //5D4rNYgP9uFNi5GMyDEXTfiaFLjXyDEEX2VvuqBVi3f1qgCh + // 5D4rNYgP9uFNi5GMyDEXTfiaFLjXyDEEX2VvuqBVi3f1qgCh hex!["2c58e5e1d5aef77774480cead4f6876b1a1a6261170166995184d7f86140572b"].into(), - //5Ea2D65KXqe625sz4uV1jjhSfuigVnkezC8VgEj9LXN7ERAk + // 5Ea2D65KXqe625sz4uV1jjhSfuigVnkezC8VgEj9LXN7ERAk hex!["6ed45cb7af613be5d88a2622921e18d147225165f24538af03b93f2a03ce6e13"] .unchecked_into(), - //5G4kCbgqUhEyrRHCyFwFEkgBZXoYA8sbgsRxT9rY8Tp5Jj5F + // 5G4kCbgqUhEyrRHCyFwFEkgBZXoYA8sbgsRxT9rY8Tp5Jj5F hex!["b0f8d2b9e4e1eafd4dab6358e0b9d5380d78af27c094e69ae9d6d30ca300fd86"] .unchecked_into(), - //5CS7thd2n54WfqeKU3cjvZzK4z5p7zku1Zw97mSzXgPioAAs + // 5CS7thd2n54WfqeKU3cjvZzK4z5p7zku1Zw97mSzXgPioAAs hex!["1055100a283968271a0781450b389b9093231be809be1e48a305ebad2a90497e"] .unchecked_into(), - //5DSaL4ZmSYarZSazhL5NQh7LT6pWhNRDcefk2QS9RxEXfsJe + // 5DSaL4ZmSYarZSazhL5NQh7LT6pWhNRDcefk2QS9RxEXfsJe hex!["3cea4ab74bab4adf176cf05a6e18c1599a7bc217d4c6c217275bfbe3b037a527"] .unchecked_into(), - //5CaNLkYEbFYXZodXhd3UjV6RNLjFGNLiYafc8X5NooMkZiAq + // 5CaNLkYEbFYXZodXhd3UjV6RNLjFGNLiYafc8X5NooMkZiAq hex!["169faa81aebfe74533518bda28567f2e2664014c8905aa07ea003336afda5a58"] .unchecked_into(), - //5ERwhKiePayukzZStMuzGzRJGxGRFpwxYUXVarQpMSMrXzDS + // 5ERwhKiePayukzZStMuzGzRJGxGRFpwxYUXVarQpMSMrXzDS hex!["03429d0d20f6ac5ca8b349f04d014f7b5b864acf382a744104d5d9a51108156c0f"] .unchecked_into(), ), ( - //5H6j9ovzYk9opckVjvM9SvVfaK37ASTtPTzWeRfqk1tgLJUN + // 5H6j9ovzYk9opckVjvM9SvVfaK37ASTtPTzWeRfqk1tgLJUN hex!["deb804ed2ed2bb696a3dd4ed7de4cd5c496528a2b204051c6ace385bacd66a3a"].into(), - //5DJ51tMW916mGwjMpfS1o9skcNt6Sb28YnZQXaKVg4h89agE + // 5DJ51tMW916mGwjMpfS1o9skcNt6Sb28YnZQXaKVg4h89agE hex!["366da6a748afedb31f07902f2de36ab265beccee37762d3ae1f237de234d9c36"].into(), - //5CSPYDYoCDGSoSLgSp4EHkJ52YasZLHG2woqhPZkdbtNQpke + // 5CSPYDYoCDGSoSLgSp4EHkJ52YasZLHG2woqhPZkdbtNQpke hex!["1089bc0cd60237d061872925e81d36c9d9205d250d5d8b542c8e08a8ecf1b911"] .unchecked_into(), - //5ChfdrAqmLjCeDJvynbMjcxYLHYzPe8UWXd3HnX9JDThUMbn + // 5ChfdrAqmLjCeDJvynbMjcxYLHYzPe8UWXd3HnX9JDThUMbn hex!["1c309a70b4e274314b84c9a0a1f973c9c4fc084df5479ef686c54b1ae4950424"] .unchecked_into(), - //5D8C3HHEp5E8fJsXRD56494F413CdRSR9QKGXe7v5ZEfymdj + // 5D8C3HHEp5E8fJsXRD56494F413CdRSR9QKGXe7v5ZEfymdj hex!["2ee4d78f328db178c54f205ac809da12e291a33bcbd4f29f081ce7e74bdc5044"] .unchecked_into(), - //5GxeTYCGmp1C3ZRLDkRWqJc6gB2GYmuqnygweuH3vsivMQq6 + // 5GxeTYCGmp1C3ZRLDkRWqJc6gB2GYmuqnygweuH3vsivMQq6 hex!["d88e40e3c2c7a7c5abf96ffdd8f7b7bec8798cc277bc97e255881871ab73b529"] .unchecked_into(), - //5DoGpsgSLcJsHa9B8V4PKjxegWAqDZttWfxicAd68prUX654 + // 5DoGpsgSLcJsHa9B8V4PKjxegWAqDZttWfxicAd68prUX654 hex!["4cb3863271b70daa38612acd5dae4f5afcb7c165fa277629e5150d2214df322a"] .unchecked_into(), - //5G1KLjqFyMsPAodnjSRkwRFJztTTEzmZWxow2Q3ZSRCPdthM + // 5G1KLjqFyMsPAodnjSRkwRFJztTTEzmZWxow2Q3ZSRCPdthM hex!["03be5ec86d10a94db89c9b7a396d3c7742e3bec5f85159d4cf308cef505966ddf5"] .unchecked_into(), ), @@ -384,7 +384,7 @@ fn westend_staging_testnet_config_genesis() -> serde_json::Value { }) } -//development +// development fn westend_development_config_genesis() -> serde_json::Value { westend_testnet_genesis( Vec::from([get_authority_keys_from_seed("Alice")]), @@ -393,7 +393,7 @@ fn westend_development_config_genesis() -> serde_json::Value { ) } -//local_testnet +// local_testnet fn westend_local_testnet_genesis() -> serde_json::Value { westend_testnet_genesis( Vec::from([get_authority_keys_from_seed("Alice"), get_authority_keys_from_seed("Bob")]), diff --git a/polkadot/runtime/westend/src/lib.rs b/polkadot/runtime/westend/src/lib.rs index 13808c1219346..7d3ba68430e89 100644 --- a/polkadot/runtime/westend/src/lib.rs +++ b/polkadot/runtime/westend/src/lib.rs @@ -107,7 +107,7 @@ use sp_runtime::{ Keccak256, OpaqueKeys, SaturatedConversion, Verify, }, transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, FixedU128, KeyTypeId, MultiSignature, MultiSigner, Percent, Permill, + ApplyExtrinsicResult, FixedU128, KeyTypeId, MultiSignature, MultiSigner, Percent, }; use sp_staking::{EraIndex, SessionIndex}; #[cfg(any(feature = "std", test))] @@ -173,7 +173,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: alloc::borrow::Cow::Borrowed("westend"), impl_name: alloc::borrow::Cow::Borrowed("parity-westend"), authoring_version: 2, - spec_version: 1_020_001, + spec_version: 1_021_001, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 27, @@ -509,7 +509,6 @@ impl pallet_authorship::Config for Runtime { parameter_types! { pub const Period: BlockNumber = 10 * MINUTES; pub const Offset: BlockNumber = 0; - pub const KeyDeposit: Balance = deposit(1, 5 * 32 + 33); } impl_opaque_keys! { @@ -535,7 +534,7 @@ impl pallet_session::Config for Runtime { type DisablingStrategy = pallet_session::disabling::UpToLimitWithReEnablingDisablingStrategy; type WeightInfo = weights::pallet_session::WeightInfo; type Currency = Balances; - type KeyDeposit = KeyDeposit; + type KeyDeposit = (); } impl pallet_session::historical::Config for Runtime { @@ -899,7 +898,7 @@ impl ah_client::Config for Runtime { type AssetHubOrigin = frame_support::traits::EitherOfDiverse, EnsureAssetHub>; type AdminOrigin = EnsureRoot; - type SessionInterface = Self; + type SessionInterface = Session; type SendToAssetHub = StakingXcmToAssetHub; type MinimumValidatorSetSize = ConstU32<1>; type UnixTime = Timestamp; @@ -923,7 +922,6 @@ impl pallet_fast_unstake::Config for Runtime { parameter_types! { pub const SpendPeriod: BlockNumber = 6 * DAYS; - pub const Burn: Permill = Permill::from_perthousand(2); pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry"); pub const PayoutSpendPeriod: BlockNumber = 30 * DAYS; // The asset's interior location for the paying account. This is the Treasury @@ -947,7 +945,7 @@ impl pallet_treasury::Config for Runtime { type RejectOrigin = EitherOfDiverse, Treasurer>; type RuntimeEvent = RuntimeEvent; type SpendPeriod = SpendPeriod; - type Burn = Burn; + type Burn = (); type BurnDestination = (); type MaxApprovals = MaxApprovals; type WeightInfo = weights::pallet_treasury::WeightInfo; @@ -958,7 +956,7 @@ impl pallet_treasury::Config for Runtime { type BeneficiaryLookup = IdentityLookup; type Paymaster = PayOverXcm< TreasuryInteriorLocation, - crate::xcm_config::XcmRouter, + crate::xcm_config::XcmConfig, crate::XcmPallet, ConstU32<{ 6 * HOURS }>, Self::Beneficiary, @@ -2666,8 +2664,8 @@ sp_api::impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -2899,7 +2897,13 @@ sp_api::impl_runtime_apis! { use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench; use pallet_nomination_pools_benchmarking::Pallet as NominationPoolsBench; - impl pallet_session_benchmarking::Config for Runtime {} + impl pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } + impl pallet_offences_benchmarking::Config for Runtime {} impl pallet_election_provider_support_benchmarking::Config for Runtime {} @@ -2973,6 +2977,7 @@ sp_api::impl_runtime_apis! { } } impl frame_system_benchmarking::Config for Runtime {} + impl pallet_transaction_payment::BenchmarkConfig for Runtime {} impl pallet_nomination_pools_benchmarking::Config for Runtime {} impl polkadot_runtime_parachains::disputes::slashing::benchmarking::Config for Runtime {} @@ -2994,12 +2999,15 @@ sp_api::impl_runtime_apis! { fn valid_destination() -> Result { Ok(AssetHub::get()) } - fn worst_case_holding(_depositable_count: u32) -> Assets { + fn worst_case_holding(_depositable_count: u32) -> xcm_executor::AssetsInHolding { + use pallet_xcm_benchmarks::MockCredit; // Westend only knows about WND. - vec![Asset{ - id: AssetId(TokenLocation::get()), - fun: Fungible(1_000_000 * UNITS), - }].into() + let mut holding = xcm_executor::AssetsInHolding::new(); + holding.fungible.insert( + AssetId(TokenLocation::get()), + alloc::boxed::Box::new(MockCredit(1_000_000 * UNITS)), + ); + holding } } diff --git a/polkadot/runtime/westend/src/tests.rs b/polkadot/runtime/westend/src/tests.rs index cdc4b6dea108b..9e17faf9b9389 100644 --- a/polkadot/runtime/westend/src/tests.rs +++ b/polkadot/runtime/westend/src/tests.rs @@ -111,9 +111,7 @@ mod remote_tests { use super::*; use frame_support::traits::{TryState, TryStateSelect::All}; use frame_try_runtime::{runtime_decl_for_try_runtime::TryRuntime, UpgradeCheckSelect}; - use remote_externalities::{ - Builder, Mode, OfflineConfig, OnlineConfig, SnapshotConfig, Transport, - }; + use remote_externalities::{Builder, Mode, OfflineConfig, OnlineConfig, SnapshotConfig}; use std::env::var; #[tokio::test] @@ -123,21 +121,23 @@ mod remote_tests { } sp_tracing::try_init_simple(); - let transport: Transport = - var("WS").unwrap_or("wss://westend-rpc.polkadot.io:443".to_string()).into(); + let transport_uri = var("WS").unwrap_or("wss://westend-rpc.polkadot.io:443".to_string()); let maybe_state_snapshot: Option = var("SNAP").map(|s| s.into()).ok(); let mut ext = Builder::::default() .mode(if let Some(state_snapshot) = maybe_state_snapshot { Mode::OfflineOrElseOnline( OfflineConfig { state_snapshot: state_snapshot.clone() }, OnlineConfig { - transport, + transport_uris: vec![transport_uri.clone()], state_snapshot: Some(state_snapshot), ..Default::default() }, ) } else { - Mode::Online(OnlineConfig { transport, ..Default::default() }) + Mode::Online(OnlineConfig { + transport_uris: vec![transport_uri], + ..Default::default() + }) }) .build() .await @@ -154,10 +154,10 @@ mod remote_tests { use frame_support::assert_ok; sp_tracing::try_init_simple(); - let transport: Transport = var("WS").unwrap_or("ws://127.0.0.1:9900".to_string()).into(); + let transport_uri = var("WS").unwrap_or("ws://127.0.0.1:9900".to_string()); let maybe_state_snapshot: Option = var("SNAP").map(|s| s.into()).ok(); let online_config = OnlineConfig { - transport, + transport_uris: vec![transport_uri], state_snapshot: maybe_state_snapshot.clone(), child_trie: false, pallets: vec![ @@ -257,10 +257,10 @@ mod remote_tests { } sp_tracing::try_init_simple(); - let transport: Transport = var("WS").unwrap_or("ws://127.0.0.1:9944".to_string()).into(); + let transport_uri = var("WS").unwrap_or("ws://127.0.0.1:9944".to_string()); let maybe_state_snapshot: Option = var("SNAP").map(|s| s.into()).ok(); let online_config = OnlineConfig { - transport, + transport_uris: vec![transport_uri], state_snapshot: maybe_state_snapshot.clone(), child_trie: false, pallets: vec![ diff --git a/polkadot/runtime/westend/src/weights/xcm/mod.rs b/polkadot/runtime/westend/src/weights/xcm/mod.rs index ba4502e228420..edee0395fad13 100644 --- a/polkadot/runtime/westend/src/weights/xcm/mod.rs +++ b/polkadot/runtime/westend/src/weights/xcm/mod.rs @@ -41,8 +41,9 @@ pub enum AssetTypes { impl From<&Asset> for AssetTypes { fn from(asset: &Asset) -> Self { match asset { - Asset { id: AssetId(Location { parents: 0, interior: Here }), .. } => - AssetTypes::Balances, + Asset { id: AssetId(Location { parents: 0, interior: Here }), .. } => { + AssetTypes::Balances + }, _ => AssetTypes::Unknown, } } @@ -70,8 +71,9 @@ impl WeighAssets for AssetFilter { // We don't support any NFTs on Westend, so these two variants will always match // only 1 kind of fungible asset. Self::Wild(AllOf { .. } | AllOfCounted { .. }) => balances_weight, - Self::Wild(AllCounted(count)) => - balances_weight.saturating_mul(MAX_ASSETS.min(*count as u64)), + Self::Wild(AllCounted(count)) => { + balances_weight.saturating_mul(MAX_ASSETS.min(*count as u64)) + }, Self::Wild(All) => balances_weight.saturating_mul(MAX_ASSETS), } } diff --git a/polkadot/runtime/westend/src/xcm_config.rs b/polkadot/runtime/westend/src/xcm_config.rs index a758d030de7de..a37d71f1033be 100644 --- a/polkadot/runtime/westend/src/xcm_config.rs +++ b/polkadot/runtime/westend/src/xcm_config.rs @@ -24,7 +24,7 @@ use super::{ use crate::governance::pallet_custom_origins::Treasurer; use frame_support::{ parameter_types, - traits::{Contains, Disabled, Equals, Everything, Nothing}, + traits::{Contains, Disabled, Equals, Everything, Nothing, PalletInfoAccess}, }; use frame_system::EnsureRoot; use pallet_xcm::XcmPassthrough; @@ -58,6 +58,7 @@ parameter_types! { /// Westend does not have mint authority anymore after the Asset Hub migration. pub TeleportTracking: Option<(AccountId, MintLocation)> = None; pub TreasuryAccount: AccountId = Treasury::account_id(); + pub TreasuryLocation: Location = PalletInstance(::index() as u8).into(); /// The asset ID for the asset that we use to pay for message delivery fees. pub FeeAssetId: AssetId = AssetId(TokenLocation::get()); /// The base fee for the message delivery fees. @@ -189,7 +190,8 @@ pub type Barrier = TrailingSetTopicAsId<( /// Locations that will not be charged fees in the executor, neither for execution nor delivery. /// We only waive fees for system functions, which these locations represent. -pub type WaivedLocations = (SystemParachains, Equals, LocalPlurality); +pub type WaivedLocations = + (SystemParachains, Equals, LocalPlurality, Equals); /// We let locations alias into child locations of their own. /// This is a very simple aliasing rule, mimicking the behaviour of @@ -218,7 +220,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = XcmPallet; type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = XcmPallet; type SubscriptionService = XcmPallet; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/polkadot/src/main.rs b/polkadot/src/main.rs index 1a96bf8fb00f6..252b2b931ca79 100644 --- a/polkadot/src/main.rs +++ b/polkadot/src/main.rs @@ -18,13 +18,11 @@ #![warn(missing_docs)] -use color_eyre::eyre; +// Force the linker to keep the polkadot_jemalloc_shim crate (and its #[global_allocator]). +#[cfg(target_os = "linux")] +extern crate polkadot_jemalloc_shim; -/// Global allocator. Changing it to another allocator will require changing -/// `memory_stats::MemoryAllocationTracker`. -#[cfg(any(target_os = "linux", feature = "jemalloc-allocator"))] -#[global_allocator] -static ALLOC: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc; +use color_eyre::eyre; fn main() -> eyre::Result<()> { color_eyre::install()?; diff --git a/polkadot/statement-table/src/generic.rs b/polkadot/statement-table/src/generic.rs index 4ab6e27d2c746..9e6c41bad85a2 100644 --- a/polkadot/statement-table/src/generic.rs +++ b/polkadot/statement-table/src/generic.rs @@ -109,8 +109,9 @@ impl ValidityDoubleVote - ((Statement::Seconded(c), s1), (Statement::Valid(d), s2)), + Self::IssuedAndValidity((c, s1), (d, s2)) => { + ((Statement::Seconded(c), s1), (Statement::Valid(d), s2)) + }, } } } @@ -230,7 +231,7 @@ impl CandidateData { { let valid_votes = self.validity_votes.len(); if valid_votes < validity_threshold { - return None + return None; } let validity_votes = self @@ -238,8 +239,9 @@ impl CandidateData { .iter() .map(|(a, v)| match *v { ValidityVote::Valid(ref s) => (a.clone(), ValidityAttestation::Explicit(s.clone())), - ValidityVote::Issued(ref s) => - (a.clone(), ValidityAttestation::Implicit(s.clone())), + ValidityVote::Issued(ref s) => { + (a.clone(), ValidityAttestation::Implicit(s.clone())) + }, }) .collect(); @@ -325,10 +327,12 @@ impl Table { ) -> Option> { let SignedStatement { statement, signature, sender: signer } = statement; let res = match statement { - Statement::Seconded(candidate) => - self.import_candidate(context, signer.clone(), candidate, signature, group_id), - Statement::Valid(digest) => - self.validity_vote(context, signer.clone(), digest, ValidityVote::Valid(signature)), + Statement::Seconded(candidate) => { + self.import_candidate(context, signer.clone(), candidate, signature, group_id) + }, + Statement::Valid(digest) => { + self.validity_vote(context, signer.clone(), digest, ValidityVote::Valid(signature)) + }, }; match res { @@ -375,7 +379,7 @@ impl Table { statement: Statement::Seconded(candidate), sender: authority, }, - })) + })); } // check that authority hasn't already specified another candidate. @@ -440,7 +444,7 @@ impl Table { sender: from, statement: Statement::Valid(digest), }, - })) + })); } // check for double votes. @@ -452,23 +456,26 @@ impl Table { Err(match (occ.get().clone(), vote) { // valid vote conflicting with candidate statement (ValidityVote::Issued(iss), ValidityVote::Valid(good)) | - (ValidityVote::Valid(good), ValidityVote::Issued(iss)) => + (ValidityVote::Valid(good), ValidityVote::Issued(iss)) => { make_vdv(ValidityDoubleVote::IssuedAndValidity( (votes.candidate.clone(), iss), (digest, good), - )), + )) + }, // two signatures on same candidate - (ValidityVote::Issued(a), ValidityVote::Issued(b)) => - make_ds(DoubleSign::Seconded(votes.candidate.clone(), a, b)), + (ValidityVote::Issued(a), ValidityVote::Issued(b)) => { + make_ds(DoubleSign::Seconded(votes.candidate.clone(), a, b)) + }, // two signatures on same validity vote - (ValidityVote::Valid(a), ValidityVote::Valid(b)) => - make_ds(DoubleSign::Validity(digest, a, b)), + (ValidityVote::Valid(a), ValidityVote::Valid(b)) => { + make_ds(DoubleSign::Validity(digest, a, b)) + }, }) } else { Ok(None) - } + }; }, Entry::Vacant(vacant) => { vacant.insert(vote); diff --git a/polkadot/tests/benchmark_block.rs b/polkadot/tests/benchmark_block.rs index bc26802598503..2ea298d063e2e 100644 --- a/polkadot/tests/benchmark_block.rs +++ b/polkadot/tests/benchmark_block.rs @@ -94,7 +94,7 @@ fn benchmark_block(runtime: &str, base_path: &Path, block: u32) -> Result<(), St .map_err(|e| format!("command failed: {:?}", e))?; if !status.success() { - return Err("Command failed".into()) + return Err("Command failed".into()); } Ok(()) diff --git a/polkadot/tests/benchmark_extrinsic.rs b/polkadot/tests/benchmark_extrinsic.rs index 529eb29362d4d..63e52c2efd577 100644 --- a/polkadot/tests/benchmark_extrinsic.rs +++ b/polkadot/tests/benchmark_extrinsic.rs @@ -50,7 +50,7 @@ fn benchmark_extrinsic(runtime: &str, pallet: &str, extrinsic: &str) -> Result<( .map_err(|e| format!("command failed: {:?}", e))?; if !status.success() { - return Err("Command failed".into()) + return Err("Command failed".into()); } Ok(()) diff --git a/polkadot/tests/benchmark_overhead.rs b/polkadot/tests/benchmark_overhead.rs index 51f507450f382..06939e5230929 100644 --- a/polkadot/tests/benchmark_overhead.rs +++ b/polkadot/tests/benchmark_overhead.rs @@ -49,7 +49,7 @@ fn benchmark_overhead(runtime: &str) -> Result<(), String> { .map_err(|e| format!("command failed: {:?}", e))?; if !status.success() { - return Err("Command failed".into()) + return Err("Command failed".into()); } // Weight files have been created. diff --git a/polkadot/tests/common.rs b/polkadot/tests/common.rs index c13bb8cd14329..d3ed9fc406a88 100644 --- a/polkadot/tests/common.rs +++ b/polkadot/tests/common.rs @@ -38,7 +38,7 @@ pub async fn wait_n_finalized_blocks(n: usize, url: &str) { if let Ok(block) = ChainApi::<(), Hash, Header, Block>::finalized_head(&rpc).await { built_blocks.insert(block); if built_blocks.len() > n { - break + break; } }; diff --git a/polkadot/xcm/docs/src/cookbook/relay_token_transactor/mod.rs b/polkadot/xcm/docs/src/cookbook/relay_token_transactor/mod.rs index 8e63b0fb3c7a3..acd3276831d04 100644 --- a/polkadot/xcm/docs/src/cookbook/relay_token_transactor/mod.rs +++ b/polkadot/xcm/docs/src/cookbook/relay_token_transactor/mod.rs @@ -22,7 +22,6 @@ //! The first step is using the [`xcm_builder::FungibleAdapter`] to create an `AssetTransactor` that //! can handle the relay chain token. #![doc = docify::embed!("src/cookbook/relay_token_transactor/parachain/xcm_config.rs", asset_transactor)] -//! //! The second step is to configure `IsReserve` to recognize the relay chain as a reserve for its //! own asset. //! With this, you'll be able to easily mint a derivative asset, backed one-to-one from the Relay @@ -31,11 +30,9 @@ //! The `IsReserve` type takes a type that implements `ContainsPair`. //! In this case, we want a type that contains the pair `(relay_chain_native_token, relay_chain)`. #![doc = docify::embed!("src/cookbook/relay_token_transactor/parachain/xcm_config.rs", is_reserve)] -//! //! With this setup, we are able to do a reserve asset transfer to and from the parachain and relay //! chain. #![doc = docify::embed!("src/cookbook/relay_token_transactor/tests.rs", reserve_asset_transfers_work)] -//! //! For the rest of the code, be sure to check the contents of this module. /// The parachain runtime for this example diff --git a/polkadot/xcm/docs/src/cookbook/relay_token_transactor/parachain/xcm_config.rs b/polkadot/xcm/docs/src/cookbook/relay_token_transactor/parachain/xcm_config.rs index a2e73fbbb597e..ef1f64cb084f8 100644 --- a/polkadot/xcm/docs/src/cookbook/relay_token_transactor/parachain/xcm_config.rs +++ b/polkadot/xcm/docs/src/cookbook/relay_token_transactor/parachain/xcm_config.rs @@ -131,7 +131,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = (); type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = (); type SubscriptionService = (); type PalletInstancesInfo = (); type FeeManager = (); diff --git a/polkadot/xcm/docs/src/cookbook/relay_token_transactor/relay_chain/xcm_config.rs b/polkadot/xcm/docs/src/cookbook/relay_token_transactor/relay_chain/xcm_config.rs index ed4427a1bfc8b..116bdf96a0b18 100644 --- a/polkadot/xcm/docs/src/cookbook/relay_token_transactor/relay_chain/xcm_config.rs +++ b/polkadot/xcm/docs/src/cookbook/relay_token_transactor/relay_chain/xcm_config.rs @@ -104,7 +104,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = (); type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = (); type SubscriptionService = (); type PalletInstancesInfo = (); type FeeManager = (); diff --git a/polkadot/xcm/docs/src/fundamentals.rs b/polkadot/xcm/docs/src/fundamentals.rs index ad365a8a775e2..84faa37f39486 100644 --- a/polkadot/xcm/docs/src/fundamentals.rs +++ b/polkadot/xcm/docs/src/fundamentals.rs @@ -63,7 +63,6 @@ //! Say we have two systems A and B. //! If any change in A's state implies a change in B's state, then we say A is interior to B. #![doc = simple_mermaid::mermaid!("../mermaid/location_hierarchy.mmd")] -//! //! Parachains are interior to their Relay Chain, since a change in their state implies a change in //! the Relay Chain's state. //! @@ -101,7 +100,6 @@ //! This is the **universal location**. //! We need the universal location to be able to describe locations in an absolute way. #![doc = simple_mermaid::mermaid!("../mermaid/universal_location.mmd")] -//! //! Here, the absolute location of parachain 1000 would be //! `GlobalConsensus(Polkadot)/Parachain(1000)`. //! @@ -121,7 +119,6 @@ //! USDT, an example asset that lives on asset hub, is identified by the location //! `Parachain(1000)/PalletInstance(53)/GeneralIndex(1984)`, when seen from the Polkadot relaychain. #![doc = simple_mermaid::mermaid!("../mermaid/usdt_location.mmd")] -//! //! Asset Hub also has another type of assets called `ForeignAssets`. //! These assets are identified by the XCM Location to their origin. //! Two such assets are a Parachain asset, like Moonbeam's GLMR, and KSM, from the cousin Kusama diff --git a/polkadot/xcm/docs/src/glossary.rs b/polkadot/xcm/docs/src/glossary.rs index 61bc3afb93dda..b8c85c2e50708 100644 --- a/polkadot/xcm/docs/src/glossary.rs +++ b/polkadot/xcm/docs/src/glossary.rs @@ -102,7 +102,6 @@ //! //! The following diagram shows the uses of both protocols: #![doc = simple_mermaid::mermaid!("../mermaid/transport_protocols.mmd")] -//! //! ## UMP (Upward Message Passing) //! //! Transport-layer protocol that allows parachains to send messages upwards to their relay chain. diff --git a/polkadot/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs b/polkadot/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs index e3a39ff1c6136..72b45e95494a3 100644 --- a/polkadot/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs +++ b/polkadot/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs @@ -26,7 +26,22 @@ use frame_support::{ }; use sp_runtime::traits::Bounded; use xcm::latest::{prelude::*, AssetTransferFilter, MAX_ITEMS_IN_ASSETS}; -use xcm_executor::traits::{ConvertLocation, FeeReason, TransactAsset}; +use xcm_executor::{ + traits::{ConvertLocation, FeeReason, TransactAsset}, + AssetsInHolding, +}; + +/// Helper function to convert Assets to AssetsInHolding by minting each asset. +/// This is used for benchmark setup where we need to create imbalances. +fn assets_to_holding(assets: &Assets) -> Result { + let context = XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; + let mut holding = AssetsInHolding::new(); + for asset in assets.inner() { + let minted = >::mint_asset(asset, &context)?; + holding.subsume_assets(minted); + } + Ok(holding) +} benchmarks_instance_pallet! { where_clause { where @@ -46,10 +61,12 @@ benchmarks_instance_pallet! { let worst_case_holding = T::worst_case_holding(0); let asset = T::get_asset(); - >::deposit_asset(&asset, &sender_location, None).unwrap(); + let context = XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; + let holdings = >::mint_asset(&asset, &context).unwrap(); + >::deposit_asset(holdings, &sender_location, Some(&context)).unwrap(); let mut executor = new_executor::(sender_location); - executor.set_holding(worst_case_holding.into()); + executor.set_holding(worst_case_holding); let instruction = Instruction::>::WithdrawAsset(vec![asset.clone()].into()); let xcm = Xcm(vec![instruction]); }: { @@ -67,9 +84,12 @@ benchmarks_instance_pallet! { let dest_location = T::valid_destination()?; let dest_account = T::AccountIdConverter::convert_location(&dest_location).unwrap(); - >::deposit_asset(&asset, &sender_location, None).unwrap(); + let context = XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; + let holdings = >::mint_asset(&asset, &context).unwrap(); + >::deposit_asset(holdings, &sender_location, Some(&context)).unwrap(); // We deposit the asset twice so we have enough for ED after transferring - >::deposit_asset(&asset, &sender_location, None).unwrap(); + let holdings = >::mint_asset(&asset, &context).unwrap(); + >::deposit_asset(holdings, &sender_location, Some(&context)).unwrap(); let mut executor = new_executor::(sender_location); let instruction = Instruction::TransferAsset { assets, beneficiary: dest_location }; @@ -91,9 +111,12 @@ benchmarks_instance_pallet! { ); let asset = T::get_asset(); - >::deposit_asset(&asset, &sender_location, None).unwrap(); + let context = XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; + let holdings = >::mint_asset(&asset, &context).unwrap(); + >::deposit_asset(holdings, &sender_location, Some(&context)).unwrap(); // We deposit the asset twice so we have enough for ED after transferring - >::deposit_asset(&asset, &sender_location, None).unwrap(); + let holdings = >::mint_asset(&asset, &context).unwrap(); + >::deposit_asset(holdings, &sender_location, Some(&context)).unwrap(); let assets: Assets = vec![asset].into(); let mut executor = new_executor::(sender_location); @@ -101,7 +124,8 @@ benchmarks_instance_pallet! { executor.set_fees_mode(expected_fees_mode); } if let Some(expected_assets_in_holding) = expected_assets_in_holding { - executor.set_holding(expected_assets_in_holding.into()); + // Mint real assets for delivery fees and add to holding + executor.set_holding(assets_to_holding::(&expected_assets_in_holding).unwrap()); } let instruction = Instruction::TransferReserveAsset { @@ -147,23 +171,44 @@ benchmarks_instance_pallet! { // generate holding and add possible required fees let holding = if let Some(expected_assets_in_holding) = expected_assets_in_holding { let mut holding = T::worst_case_holding(1 + expected_assets_in_holding.len() as u32); - for a in expected_assets_in_holding.into_inner() { - holding.push(a); - } + // Mint real assets for delivery fees and merge into holding + let real_assets = assets_to_holding::(&expected_assets_in_holding).unwrap(); + holding.subsume_assets(real_assets); holding } else { T::worst_case_holding(1) }; + // Build Assets descriptor from AssetsInHolding for the instruction (before consuming holding) + let withdraw_assets: Assets = { + let mut assets = Vec::new(); + // Add fungible assets up to MAX_ITEMS_IN_ASSETS + for (asset_id, imbalance) in holding.fungible.iter().take(MAX_ITEMS_IN_ASSETS) { + assets.push(Asset { + id: asset_id.clone(), + fun: Fungible(imbalance.amount()), + }); + } + // Add non-fungible assets if we haven't hit the limit + let remaining = MAX_ITEMS_IN_ASSETS.saturating_sub(assets.len()); + for (asset_id, instance) in holding.non_fungible.iter().take(remaining) { + assets.push(Asset { + id: asset_id.clone(), + fun: NonFungible(*instance), + }); + } + assets.into() + }; + let mut executor = new_executor::(sender_location); - executor.set_holding(holding.clone().into()); + executor.set_holding(holding); if let Some(expected_fees_mode) = expected_fees_mode { executor.set_fees_mode(expected_fees_mode); } let instruction = Instruction::InitiateReserveWithdraw { // Worst case is looking through all holdings for every asset explicitly - respecting the limit `MAX_ITEMS_IN_ASSETS`. - assets: Definite(holding.into_inner().into_iter().take(MAX_ITEMS_IN_ASSETS).collect::>().into()), + assets: Definite(withdraw_assets), reserve, xcm: Xcm(vec![]) }; @@ -213,7 +258,8 @@ benchmarks_instance_pallet! { let mut holding = T::worst_case_holding(1); // Add our asset to the holding. - holding.push(asset.clone()); + let real_asset = assets_to_holding::(&vec![asset.clone()].into()).unwrap(); + holding.subsume_assets(real_asset); // our dest must have no balance initially. let dest_location = T::valid_destination()?; @@ -227,7 +273,7 @@ benchmarks_instance_pallet! { ); let mut executor = new_executor::(Default::default()); - executor.set_holding(holding.into()); + executor.set_holding(holding); let instruction = Instruction::>::DepositAsset { assets: asset.into(), beneficiary: dest_location, @@ -243,7 +289,8 @@ benchmarks_instance_pallet! { let mut holding = T::worst_case_holding(1); // Add our asset to the holding. - holding.push(asset.clone()); + let real_asset = assets_to_holding::(&vec![asset.clone()].into()).unwrap(); + holding.subsume_assets(real_asset); // our dest must have no balance initially. let dest_location = T::valid_destination()?; @@ -257,7 +304,7 @@ benchmarks_instance_pallet! { ); let mut executor = new_executor::(Default::default()); - executor.set_holding(holding.into()); + executor.set_holding(holding); let instruction = Instruction::>::DepositReserveAsset { assets: asset.into(), dest: dest_location, @@ -274,7 +321,8 @@ benchmarks_instance_pallet! { let mut holding = T::worst_case_holding(0); // Add our asset to the holding. - holding.push(asset.clone()); + let real_asset = assets_to_holding::(&vec![asset.clone()].into()).unwrap(); + holding.subsume_assets(real_asset); let dest_location = T::valid_destination()?; @@ -286,7 +334,7 @@ benchmarks_instance_pallet! { ); let mut executor = new_executor::(Default::default()); - executor.set_holding(holding.into()); + executor.set_holding(holding); let instruction = Instruction::>::InitiateTeleport { assets: asset.into(), dest: dest_location, @@ -312,10 +360,11 @@ benchmarks_instance_pallet! { ); // Add our asset to the holding. - holding.push(asset.clone()); + let real_asset = assets_to_holding::(&vec![asset.clone()].into()).unwrap(); + holding.subsume_assets(real_asset); let mut executor = new_executor::(sender_location); - executor.set_holding(holding.into()); + executor.set_holding(holding); let instruction = Instruction::>::InitiateTransfer { destination: dest_location, // ReserveDeposit is the most expensive filter. diff --git a/polkadot/xcm/pallet-xcm-benchmarks/src/fungible/mock.rs b/polkadot/xcm/pallet-xcm-benchmarks/src/fungible/mock.rs index 9e06550b6b724..e847677393d6c 100644 --- a/polkadot/xcm/pallet-xcm-benchmarks/src/fungible/mock.rs +++ b/polkadot/xcm/pallet-xcm-benchmarks/src/fungible/mock.rs @@ -26,6 +26,7 @@ use xcm::latest::prelude::*; use xcm_builder::{ AllowUnpaidExecutionFrom, EnsureDecodableXcm, FrameTransactionalProcessor, MintLocation, }; +use xcm_executor::AssetsInHolding; type Block = frame_system::mocking::MockBlock; @@ -107,7 +108,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = (); type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = (); type SubscriptionService = (); type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; @@ -133,7 +133,7 @@ impl crate::Config for Test { Ok(valid_destination) } - fn worst_case_holding(depositable_count: u32) -> Assets { + fn worst_case_holding(depositable_count: u32) -> AssetsInHolding { generate_holding_assets( ::MaxAssetsIntoHolding::get() - depositable_count, ) diff --git a/polkadot/xcm/pallet-xcm-benchmarks/src/generic/benchmarking.rs b/polkadot/xcm/pallet-xcm-benchmarks/src/generic/benchmarking.rs index aefbada7429dd..009a56473cdc4 100644 --- a/polkadot/xcm/pallet-xcm-benchmarks/src/generic/benchmarking.rs +++ b/polkadot/xcm/pallet-xcm-benchmarks/src/generic/benchmarking.rs @@ -26,10 +26,23 @@ use xcm::{ DoubleEncoded, }; use xcm_executor::{ - traits::{ConvertLocation, FeeReason}, - ExecutorError, FeesMode, + traits::{ConvertLocation, FeeReason, TransactAsset}, + AssetsInHolding, ExecutorError, FeesMode, }; +/// Helper function to convert Assets to AssetsInHolding by minting each asset. +/// This is used for benchmark setup where we need to create imbalances. +fn assets_to_holding(assets: &Assets) -> Result { + let context = XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; + let mut holding = AssetsInHolding::new(); + for asset in assets.inner() { + let transactor = + ::AssetTransactor::mint_asset(asset, &context)?; + holding.subsume_assets(transactor); + } + Ok(holding) +} + #[benchmarks] mod benchmarks { use super::*; @@ -50,16 +63,32 @@ mod benchmarks { // generate holding and add possible required fees let holding = if let Some(expected_assets_in_holding) = expected_assets_in_holding { let mut holding = T::worst_case_holding(expected_assets_in_holding.len() as u32); - for a in expected_assets_in_holding.into_inner() { - holding.push(a); - } + // Mint real assets for delivery fees and merge into holding + let real_assets = assets_to_holding::(&expected_assets_in_holding).unwrap(); + holding.subsume_assets(real_assets); holding } else { T::worst_case_holding(0) }; + // Build Assets descriptor from AssetsInHolding for the instruction (before consuming + // holding) + let report_assets: Assets = { + let mut assets = Vec::new(); + // Add fungible assets up to MAX_ITEMS_IN_ASSETS + for (asset_id, imbalance) in holding.fungible.iter().take(MAX_ITEMS_IN_ASSETS) { + assets.push(Asset { id: asset_id.clone(), fun: Fungible(imbalance.amount()) }); + } + // Add non-fungible assets if we haven't hit the limit + let remaining = MAX_ITEMS_IN_ASSETS.saturating_sub(assets.len()); + for (asset_id, instance) in holding.non_fungible.iter().take(remaining) { + assets.push(Asset { id: asset_id.clone(), fun: NonFungible(*instance) }); + } + assets.into() + }; + let mut executor = new_executor::(sender_location); - executor.set_holding(holding.clone().into()); + executor.set_holding(holding); if let Some(expected_fees_mode) = expected_fees_mode { executor.set_fees_mode(expected_fees_mode); } @@ -72,14 +101,7 @@ mod benchmarks { }, // Worst case is looking through all holdings for every asset explicitly - respecting // the limit `MAX_ITEMS_IN_ASSETS`. - assets: Definite( - holding - .into_inner() - .into_iter() - .take(MAX_ITEMS_IN_ASSETS) - .collect::>() - .into(), - ), + assets: Definite(report_assets), }; let xcm = Xcm(vec![instruction]); @@ -97,7 +119,7 @@ mod benchmarks { // by the `deep` and `shallow` implementation. #[benchmark] fn buy_execution() -> Result<(), BenchmarkError> { - let holding = T::worst_case_holding(0).into(); + let holding = T::worst_case_holding(0); let mut executor = new_executor::(Default::default()); executor.set_holding(holding); @@ -122,7 +144,7 @@ mod benchmarks { #[benchmark] fn pay_fees() -> Result<(), BenchmarkError> { - let holding = T::worst_case_holding(0).into(); + let holding = T::worst_case_holding(0); let mut executor = new_executor::(Default::default()); executor.set_holding(holding); @@ -215,7 +237,7 @@ mod benchmarks { fees: asset_for_fees, weight_limit: Limited(Weight::from_parts(1337, 1337)), }]); - executor.set_holding(holding_assets.into()); + executor.set_holding(holding_assets); executor.set_total_surplus(Weight::from_parts(1337, 1337)); executor.set_total_refunded(Weight::zero()); executor @@ -344,7 +366,7 @@ mod benchmarks { executor.set_fees_mode(expected_fees_mode); } if let Some(expected_assets_in_holding) = expected_assets_in_holding { - executor.set_holding(expected_assets_in_holding.into()); + executor.set_holding(assets_to_holding::(&expected_assets_in_holding).unwrap()); } executor.set_error(Some((0u32, XcmError::Unimplemented))); @@ -368,10 +390,11 @@ mod benchmarks { let (origin, ticket, assets) = T::claimable_asset()?; // We place some items into the asset trap to claim. + let context = XcmContext { origin: Some(origin.clone()), message_id: [0; 32], topic: None }; ::AssetTrap::drop_assets( &origin, - assets.clone().into(), - &XcmContext { origin: Some(origin.clone()), message_id: [0; 32], topic: None }, + assets_to_holding::(&assets).unwrap(), + &context, ); // Assets should be in the trap now. @@ -462,12 +485,23 @@ mod benchmarks { #[benchmark] fn burn_asset() -> Result<(), BenchmarkError> { let holding = T::worst_case_holding(0); - let assets = holding.clone(); + + // Build Assets descriptor from AssetsInHolding for the instruction + let assets: Assets = { + let mut assets = Vec::new(); + for (asset_id, imbalance) in holding.fungible.iter() { + assets.push(Asset { id: asset_id.clone(), fun: Fungible(imbalance.amount()) }); + } + for (asset_id, instance) in holding.non_fungible.iter() { + assets.push(Asset { id: asset_id.clone(), fun: NonFungible(*instance) }); + } + assets.into() + }; let mut executor = new_executor::(Default::default()); - executor.set_holding(holding.into()); + executor.set_holding(holding); - let instruction = Instruction::BurnAsset(assets.into()); + let instruction = Instruction::BurnAsset(assets); let xcm = Xcm(vec![instruction]); #[block] { @@ -480,12 +514,23 @@ mod benchmarks { #[benchmark] fn expect_asset() -> Result<(), BenchmarkError> { let holding = T::worst_case_holding(0); - let assets = holding.clone(); + + // Build Assets descriptor from AssetsInHolding for the instruction + let assets: Assets = { + let mut assets = Vec::new(); + for (asset_id, imbalance) in holding.fungible.iter() { + assets.push(Asset { id: asset_id.clone(), fun: Fungible(imbalance.amount()) }); + } + for (asset_id, instance) in holding.non_fungible.iter() { + assets.push(Asset { id: asset_id.clone(), fun: NonFungible(*instance) }); + } + assets.into() + }; let mut executor = new_executor::(Default::default()); - executor.set_holding(holding.into()); + executor.set_holding(holding); - let instruction = Instruction::ExpectAsset(assets.into()); + let instruction = Instruction::ExpectAsset(assets); let xcm = Xcm(vec![instruction]); #[block] { @@ -573,7 +618,7 @@ mod benchmarks { executor.set_fees_mode(expected_fees_mode); } if let Some(expected_assets_in_holding) = expected_assets_in_holding { - executor.set_holding(expected_assets_in_holding.into()); + executor.set_holding(assets_to_holding::(&expected_assets_in_holding).unwrap()); } let valid_pallet = T::valid_pallet(); @@ -633,7 +678,7 @@ mod benchmarks { executor.set_fees_mode(expected_fees_mode); } if let Some(expected_assets_in_holding) = expected_assets_in_holding { - executor.set_holding(expected_assets_in_holding.into()); + executor.set_holding(assets_to_holding::(&expected_assets_in_holding).unwrap()); } executor.set_transact_status(b"MyError".to_vec().into()); @@ -703,7 +748,7 @@ mod benchmarks { let assets = give.clone(); let mut executor = new_executor::(Default::default()); - executor.set_holding(give.into()); + executor.set_holding(assets_to_holding::(&give).unwrap()); let instruction = Instruction::ExchangeAsset { give: assets.into(), want: want.clone(), maximal: true }; let xcm = Xcm(vec![instruction]); @@ -711,7 +756,7 @@ mod benchmarks { { executor.bench_process(xcm)?; } - assert!(executor.holding().contains(&want.into())); + assert!(executor.holding().contains_assets(&want)); Ok(()) } @@ -762,7 +807,7 @@ mod benchmarks { executor.set_fees_mode(expected_fees_mode); } if let Some(expected_assets_in_holding) = expected_assets_in_holding { - executor.set_holding(expected_assets_in_holding.into()); + executor.set_holding(assets_to_holding::(&expected_assets_in_holding).unwrap()); } let xcm = Xcm(vec![ExportMessage { network, destination: destination.clone(), xcm: inner_xcm }]); @@ -809,7 +854,7 @@ mod benchmarks { }; let mut executor = new_executor::(owner); - executor.set_holding(holding.into()); + executor.set_holding(assets_to_holding::(&holding).unwrap()); if let Some(expected_fees_mode) = expected_fees_mode { executor.set_fees_mode(expected_fees_mode); } @@ -913,7 +958,7 @@ mod benchmarks { executor.set_fees_mode(expected_fees_mode); } if let Some(expected_assets_in_holding) = expected_assets_in_holding { - executor.set_holding(expected_assets_in_holding.into()); + executor.set_holding(assets_to_holding::(&expected_assets_in_holding).unwrap()); } let instruction = Instruction::RequestUnlock { asset, locker }; let xcm = Xcm(vec![instruction]); diff --git a/polkadot/xcm/pallet-xcm-benchmarks/src/generic/mock.rs b/polkadot/xcm/pallet-xcm-benchmarks/src/generic/mock.rs index 6368ca0e9c3f5..c3ed27808e87e 100644 --- a/polkadot/xcm/pallet-xcm-benchmarks/src/generic/mock.rs +++ b/polkadot/xcm/pallet-xcm-benchmarks/src/generic/mock.rs @@ -25,13 +25,13 @@ use frame_support::{ use sp_runtime::traits::TrailingZeroInput; use xcm_builder::{ test_utils::{ - AssetsInHolding, TestAssetExchanger, TestAssetLocker, TestAssetTrap, - TestSubscriptionService, TestUniversalAliases, + TestAssetExchanger, TestAssetLocker, TestAssetTrap, TestSubscriptionService, + TestUniversalAliases, }, AliasForeignAccountId32, AllowUnpaidExecutionFrom, EnsureDecodableXcm, FrameTransactionalProcessor, }; -use xcm_executor::traits::ConvertOrigin; +use xcm_executor::{traits::ConvertOrigin, AssetsInHolding}; type Block = frame_system::mocking::MockBlock; @@ -50,10 +50,14 @@ impl frame_system::Config for Test { type AccountData = pallet_balances::AccountData; } -/// The benchmarks in this pallet should never need an asset transactor to begin with. -pub struct NoAssetTransactor; -impl xcm_executor::traits::TransactAsset for NoAssetTransactor { - fn deposit_asset(_: &Asset, _: &Location, _: Option<&XcmContext>) -> Result<(), XcmError> { +/// The benchmarks in this pallet should not withdraw or deposit assets. +pub struct MockTransactor; +impl xcm_executor::traits::TransactAsset for MockTransactor { + fn deposit_asset( + _: AssetsInHolding, + _: &Location, + _: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { unreachable!(); } @@ -64,6 +68,10 @@ impl xcm_executor::traits::TransactAsset for NoAssetTransactor { ) -> Result { unreachable!(); } + + fn mint_asset(what: &Asset, _: &XcmContext) -> Result { + Ok(xcm_executor::test_helpers::mock_asset_to_holding(what.clone())) + } } parameter_types! { @@ -84,7 +92,7 @@ impl xcm_executor::Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = EnsureDecodableXcm; type XcmEventEmitter = (); - type AssetTransactor = NoAssetTransactor; + type AssetTransactor = MockTransactor; type OriginConverter = AlwaysSignedByDefault; type IsReserve = AllAssetLocationsPass; type IsTeleporter = (); @@ -96,7 +104,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = TestAssetTrap; type AssetLocker = TestAssetLocker; type AssetExchanger = TestAssetExchanger; - type AssetClaims = TestAssetTrap; type SubscriptionService = TestSubscriptionService; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; @@ -134,7 +141,7 @@ impl crate::Config for Test { Ok(valid_destination) } - fn worst_case_holding(depositable_count: u32) -> Assets { + fn worst_case_holding(depositable_count: u32) -> AssetsInHolding { generate_holding_assets( ::MaxAssetsIntoHolding::get() - depositable_count, ) diff --git a/polkadot/xcm/pallet-xcm-benchmarks/src/generic/mod.rs b/polkadot/xcm/pallet-xcm-benchmarks/src/generic/mod.rs index d7471b02368fa..f5d0ac4b33b5d 100644 --- a/polkadot/xcm/pallet-xcm-benchmarks/src/generic/mod.rs +++ b/polkadot/xcm/pallet-xcm-benchmarks/src/generic/mod.rs @@ -42,7 +42,7 @@ pub mod pallet { /// This is useful for testing and checking. type TransactAsset: frame_support::traits::fungible::Mutate; - /// The response which causes the most runtime weight. + /// The response which causes the most runtime weight. fn worst_case_response() -> (u64, Response); /// The pair of asset collections which causes the most runtime weight if demanded to be diff --git a/polkadot/xcm/pallet-xcm-benchmarks/src/lib.rs b/polkadot/xcm/pallet-xcm-benchmarks/src/lib.rs index 5f8482bdcb8cf..b88de569ff0b0 100644 --- a/polkadot/xcm/pallet-xcm-benchmarks/src/lib.rs +++ b/polkadot/xcm/pallet-xcm-benchmarks/src/lib.rs @@ -20,12 +20,11 @@ extern crate alloc; -use alloc::vec::Vec; use codec::Encode; use frame_benchmarking::{account, BenchmarkError}; use xcm::latest::prelude::*; use xcm_builder::EnsureDelivery; -use xcm_executor::{traits::ConvertLocation, Config as XcmConfig}; +use xcm_executor::{traits::ConvertLocation, AssetsInHolding, Config as XcmConfig}; pub mod fungible; pub mod generic; @@ -54,11 +53,19 @@ pub trait Config: frame_system::Config { /// Worst case scenario for a holding account in this runtime. /// - `depositable_count` specifies the count of assets we plan to add to the holding on top of /// those generated by the `worst_case_holding` implementation. - fn worst_case_holding(depositable_count: u32) -> Assets; + /// + /// Returns prebuilt `AssetsInHolding` with dummy assets using `MockCredit` for benchmarking. + /// These don't need to be real, mintable assets - they're just for worst-case scenario testing. + fn worst_case_holding(depositable_count: u32) -> AssetsInHolding; } const SEED: u32 = 0; +/// Re-export MockCredit for benchmarking. +/// Used to create dummy `AssetsInHolding` without needing real asset transactors. +#[cfg(any(test, feature = "runtime-benchmarks"))] +pub use xcm_executor::test_helpers::MockCredit; + /// The XCM executor to use for doing stuff. pub type ExecutorOf = xcm_executor::XcmExecutor<::XcmConfig>; /// The overarching call type. @@ -68,30 +75,38 @@ pub type AssetTransactorOf = <::XcmConfig as XcmConfig>::AssetTr /// The call type of executor's config. Should eventually resolve to the same overarching call type. pub type XcmCallOf = <::XcmConfig as XcmConfig>::RuntimeCall; -pub fn generate_holding_assets(max_assets: u32) -> Assets { +#[cfg(any(test, feature = "runtime-benchmarks"))] +pub fn generate_holding_assets(max_assets: u32) -> AssetsInHolding { + use xcm_executor::AssetsInHolding; let fungibles_amount: u128 = 100; let holding_fungibles = max_assets / 2; let holding_non_fungibles = max_assets - holding_fungibles - 1; // -1 because of adding `Here` asset - // add count of `holding_fungibles` - (0..holding_fungibles) - .map(|i| { - Asset { - id: AssetId(GeneralIndex(i as u128).into()), - fun: Fungible(fungibles_amount * (i + 1) as u128), // non-zero amount - } - .into() - }) - // add one more `Here` asset - .chain(core::iter::once(Asset { id: AssetId(Here.into()), fun: Fungible(u128::MAX) })) - // add count of `holding_non_fungibles` - .chain((0..holding_non_fungibles).map(|i| Asset { - id: AssetId(GeneralIndex(i as u128).into()), - fun: NonFungible(asset_instance_from(i)), - })) - .collect::>() - .into() + + let mut holding = AssetsInHolding::new(); + + // Add fungible assets with MockCredit + for i in 0..holding_fungibles { + let asset_id = AssetId(GeneralIndex(i as u128).into()); + let amount = fungibles_amount * (i + 1) as u128; + holding.fungible.insert(asset_id, alloc::boxed::Box::new(MockCredit(amount))); + } + + // Add one more `Here` asset + holding + .fungible + .insert(AssetId(Here.into()), alloc::boxed::Box::new(MockCredit(u128::MAX))); + + // Add non-fungible assets + for i in 0..holding_non_fungibles { + let asset_id = AssetId(GeneralIndex(i as u128).into()); + let instance = asset_instance_from(i); + holding.non_fungible.insert((asset_id, instance)); + } + + holding } +#[cfg(any(test, feature = "runtime-benchmarks"))] pub fn asset_instance_from(x: u32) -> AssetInstance { let bytes = x.encode(); let mut instance = [0u8; 4]; diff --git a/polkadot/xcm/pallet-xcm-benchmarks/src/mock.rs b/polkadot/xcm/pallet-xcm-benchmarks/src/mock.rs index be3af5d4a3f32..e16741dc4d17a 100644 --- a/polkadot/xcm/pallet-xcm-benchmarks/src/mock.rs +++ b/polkadot/xcm/pallet-xcm-benchmarks/src/mock.rs @@ -50,8 +50,9 @@ pub struct AccountIdConverter; impl xcm_executor::traits::ConvertLocation for AccountIdConverter { fn convert_location(ml: &Location) -> Option { match ml.unpack() { - (0, [Junction::AccountId32 { id, .. }]) => - Some(::decode(&mut &*id.to_vec()).unwrap()), + (0, [Junction::AccountId32 { id, .. }]) => { + Some(::decode(&mut &*id.to_vec()).unwrap()) + }, _ => None, } } diff --git a/polkadot/xcm/pallet-xcm/precompiles/src/lib.rs b/polkadot/xcm/pallet-xcm/precompiles/src/lib.rs index 64ed91f46f4f1..fd82c9ea89b28 100644 --- a/polkadot/xcm/pallet-xcm/precompiles/src/lib.rs +++ b/polkadot/xcm/pallet-xcm/precompiles/src/lib.rs @@ -82,8 +82,9 @@ where }; match input { - IXcmCalls::send(_) | IXcmCalls::execute(_) if env.is_read_only() => - Err(Error::Error(pallet_revive::Error::::StateChangeDenied.into())), + IXcmCalls::send(_) | IXcmCalls::execute(_) if env.is_read_only() => { + Err(Error::Error(pallet_revive::Error::::StateChangeDenied.into())) + }, IXcmCalls::send(IXcm::sendCall { destination, message }) => { let _ = env.charge(::WeightInfo::send())?; diff --git a/polkadot/xcm/pallet-xcm/precompiles/src/mock.rs b/polkadot/xcm/pallet-xcm/precompiles/src/mock.rs index d573b41f54d08..2b5a2c471b8eb 100644 --- a/polkadot/xcm/pallet-xcm/precompiles/src/mock.rs +++ b/polkadot/xcm/pallet-xcm/precompiles/src/mock.rs @@ -236,7 +236,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = XcmPallet; type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = XcmPallet; type SubscriptionService = XcmPallet; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/polkadot/xcm/pallet-xcm/precompiles/src/tests.rs b/polkadot/xcm/pallet-xcm/precompiles/src/tests.rs index 5d762930a340a..d4cfa6c3414b6 100644 --- a/polkadot/xcm/pallet-xcm/precompiles/src/tests.rs +++ b/polkadot/xcm/pallet-xcm/precompiles/src/tests.rs @@ -80,7 +80,7 @@ fn test_xcm_send_precompile_works() { deposit_limit: u128::MAX, }, encoded_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); assert!(result.result.is_ok()); let sent_message = Xcm(Some(DescendOrigin(sender.clone().try_into().unwrap())) @@ -131,7 +131,7 @@ fn test_xcm_send_precompile_to_parachain() { deposit_limit: u128::MAX, }, encoded_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); assert!(result.result.is_ok()); @@ -182,7 +182,7 @@ fn test_xcm_send_precompile_fails() { deposit_limit: u128::MAX, }, encoded_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let return_value = match result.result { Ok(value) => value, @@ -234,7 +234,7 @@ fn send_fails_on_old_location_version() { deposit_limit: u128::MAX, }, encoded_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let return_value = match result.result { Ok(value) => value, @@ -263,7 +263,7 @@ fn send_fails_on_old_location_version() { deposit_limit: u128::MAX, }, encoded_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let return_value = match result.result { Ok(value) => value, @@ -315,7 +315,7 @@ fn send_fails_on_old_xcm_version() { deposit_limit: u128::MAX, }, encoded_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let return_value = match result.result { Ok(value) => value, @@ -345,7 +345,7 @@ fn send_fails_on_old_xcm_version() { deposit_limit: u128::MAX, }, encoded_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let return_value = match result.result { Ok(value) => value, @@ -390,7 +390,7 @@ fn test_xcm_execute_precompile_works() { deposit_limit: u128::MAX, }, encoded_weight_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let weight_result = match xcm_weight_results.result { @@ -414,7 +414,7 @@ fn test_xcm_execute_precompile_works() { deposit_limit: u128::MAX, }, encoded_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); assert!(result.result.is_ok()); @@ -455,7 +455,7 @@ fn test_xcm_execute_precompile_different_beneficiary() { deposit_limit: u128::MAX, }, encoded_weight_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let weight_result = match xcm_weight_results.result { @@ -479,7 +479,7 @@ fn test_xcm_execute_precompile_different_beneficiary() { deposit_limit: u128::MAX, }, encoded_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let return_value = match result.result { @@ -528,7 +528,7 @@ fn test_xcm_execute_precompile_fails() { deposit_limit: u128::MAX, }, encoded_weight_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let weight_result = match xcm_weight_results.result { @@ -552,7 +552,7 @@ fn test_xcm_execute_precompile_fails() { deposit_limit: u128::MAX, }, encoded_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let return_value = match result.result { Ok(value) => value, @@ -600,7 +600,7 @@ fn execute_fails_on_old_version() { deposit_limit: u128::MAX, }, encoded_weight_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let weight_result = match xcm_weight_results.result { @@ -631,7 +631,7 @@ fn execute_fails_on_old_version() { deposit_limit: u128::MAX, }, encoded_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let return_value = match result.result { @@ -660,7 +660,7 @@ fn execute_fails_on_old_version() { deposit_limit: u128::MAX, }, encoded_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let return_value = match result.result { @@ -711,7 +711,7 @@ fn weight_fails_on_old_version() { deposit_limit: u128::MAX, }, encoded_weight_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let result = match xcm_weight_results.result { @@ -737,7 +737,7 @@ fn weight_fails_on_old_version() { deposit_limit: u128::MAX, }, encoded_weight_call, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let result = match xcm_weight_results.result { diff --git a/polkadot/xcm/pallet-xcm/src/benchmarking.rs b/polkadot/xcm/pallet-xcm/src/benchmarking.rs index 1a498123e1f05..5174e19d67631 100644 --- a/polkadot/xcm/pallet-xcm/src/benchmarking.rs +++ b/polkadot/xcm/pallet-xcm/src/benchmarking.rs @@ -92,7 +92,7 @@ mod benchmarks { let send_origin = T::SendXcmOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; if T::SendXcmOrigin::try_origin(send_origin.clone()).is_err() { - return Err(BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX))) + return Err(BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX))); } let msg = Xcm(vec![ClearOrigin]); let versioned_dest: VersionedLocation = T::reachable_dest() @@ -127,7 +127,7 @@ mod benchmarks { .map_err(|_| BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)))?; if !T::XcmTeleportFilter::contains(&(origin_location.clone(), assets.clone().into_inner())) { - return Err(BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX))) + return Err(BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX))); } // Ensure that origin can send to destination @@ -141,24 +141,47 @@ mod benchmarks { match &asset.fun { Fungible(amount) => { // Add transferred_amount to origin + let context = + XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; + let asset_to_mint = Asset { fun: Fungible(*amount), id: asset.id.clone() }; + let holdings = ::AssetTransactor::mint_asset( + &asset_to_mint, + &context, + ) + .map_err(|error| { + tracing::error!("Fungible asset couldn't be minted, error: {:?}", error); + BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)) + })?; ::AssetTransactor::deposit_asset( - &Asset { fun: Fungible(*amount), id: asset.id }, + holdings, &origin_location, - None, + Some(&context), ) .map_err(|error| { - tracing::error!("Fungible asset couldn't be deposited, error: {:?}", error); + tracing::error!("Fungible asset couldn't be deposited, error: {:?}", error.1); BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)) })?; }, NonFungible(_instance) => { + let context = + XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; + let holdings = ::AssetTransactor::mint_asset( + &asset, &context, + ) + .map_err(|error| { + tracing::error!("Nonfungible asset couldn't be minted, error: {:?}", error); + BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)) + })?; ::AssetTransactor::deposit_asset( - &asset, + holdings, &origin_location, - None, + Some(&context), ) .map_err(|error| { - tracing::error!("Nonfungible asset couldn't be deposited, error: {:?}", error); + tracing::error!( + "Nonfungible asset couldn't be deposited, error: {:?}", + error.1 + ); BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)) })?; }, @@ -197,7 +220,7 @@ mod benchmarks { origin_location.clone(), assets.clone().into_inner(), )) { - return Err(BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX))) + return Err(BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX))); } // Ensure that origin can send to destination @@ -211,24 +234,47 @@ mod benchmarks { match &asset.fun { Fungible(amount) => { // Add transferred_amount to origin + let context = + XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; + let asset_to_mint = Asset { fun: Fungible(*amount), id: asset.id.clone() }; + let holdings = ::AssetTransactor::mint_asset( + &asset_to_mint, + &context, + ) + .map_err(|error| { + tracing::error!("Fungible asset couldn't be minted, error: {:?}", error); + BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)) + })?; ::AssetTransactor::deposit_asset( - &Asset { fun: Fungible(*amount), id: asset.id.clone() }, + holdings, &origin_location, - None, + Some(&context), ) .map_err(|error| { - tracing::error!("Fungible asset couldn't be deposited, error: {:?}", error); + tracing::error!("Fungible asset couldn't be deposited, error: {:?}", error.1); BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)) })?; }, NonFungible(_instance) => { + let context = + XcmContext { origin: None, message_id: XcmHash::default(), topic: None }; + let holdings = ::AssetTransactor::mint_asset( + &asset, &context, + ) + .map_err(|error| { + tracing::error!("Nonfungible asset couldn't be minted, error: {:?}", error); + BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)) + })?; ::AssetTransactor::deposit_asset( - &asset, + holdings, &origin_location, - None, + Some(&context), ) .map_err(|error| { - tracing::error!("Nonfungible asset couldn't be deposited, error: {:?}", error); + tracing::error!( + "Nonfungible asset couldn't be deposited, error: {:?}", + error.1 + ); BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)) })?; }, @@ -312,7 +358,7 @@ mod benchmarks { .map_err(|_| BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)))?; let msg = Xcm(vec![ClearOrigin]); if !T::XcmExecuteFilter::contains(&(origin_location, msg.clone())) { - return Err(BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX))) + return Err(BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX))); } let versioned_msg = VersionedXcm::from(msg); @@ -579,12 +625,12 @@ mod benchmarks { let claim_location = T::ExecuteXcmOrigin::try_origin(claim_origin.clone().into()) .map_err(|_| BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)))?; let asset: Asset = T::get_asset(); + let context = XcmContext { origin: None, message_id: [0u8; 32], topic: None }; // Trap assets for claiming later - crate::Pallet::::drop_assets( - &claim_location, - asset.clone().into(), - &XcmContext { origin: None, message_id: [0u8; 32], topic: None }, - ); + let holdings = + ::AssetTransactor::mint_asset(&asset, &context) + .map_err(|_| BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)))?; + crate::Pallet::::drop_assets(&claim_location, holdings, &context); let versioned_assets = VersionedAssets::from(Assets::from(asset)); #[extrinsic_call] @@ -669,15 +715,16 @@ mod benchmarks { // remove `network` from inner `AccountId32` for easier matching of automatic AccountId -> // Location conversions. let origin_location: VersionedLocation = match origin_location.unpack() { - (0, [AccountId32 { network: _, id }]) => - Location::new(0, [AccountId32 { network: None, id: *id }]).into(), + (0, [AccountId32 { network: _, id }]) => { + Location::new(0, [AccountId32 { network: None, id: *id }]).into() + }, _ => { tracing::error!( target: "xcm::benchmarking::pallet_xcm::remove_authorized_alias", ?origin_location, "unexpected origin failed", ); - return Err(error.clone()) + return Err(error.clone()); }, }; diff --git a/polkadot/xcm/pallet-xcm/src/lib.rs b/polkadot/xcm/pallet-xcm/src/lib.rs index 116fb44adaef2..7572f6194e9fb 100644 --- a/polkadot/xcm/pallet-xcm/src/lib.rs +++ b/polkadot/xcm/pallet-xcm/src/lib.rs @@ -57,7 +57,6 @@ use sp_runtime::{ }, Debug, Either, SaturatedConversion, }; -use storage::{with_transaction, TransactionOutcome}; use xcm::{latest::QueryResponseInfo, prelude::*}; use xcm_builder::{ ExecuteController, ExecuteControllerWeightInfo, InspectMessageQueues, QueryController, @@ -1018,7 +1017,7 @@ pub mod pallet { if Self::request_version_notify(dest).is_ok() { // TODO: correct weights. weight_used.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); - break + break; } } } @@ -1066,8 +1065,9 @@ pub mod pallet { timeout, maybe_match_querier: Some(Location::here().into()), }, - VersionNotifier { origin, is_active } => - QueryStatus::VersionNotifier { origin, is_active }, + VersionNotifier { origin, is_active } => { + QueryStatus::VersionNotifier { origin, is_active } + }, Ready { response, at } => QueryStatus::Ready { response, at }, } } @@ -1713,8 +1713,9 @@ pub mod pallet { ensure!(origin_location != new_aliaser, Error::::BadLocation); // remove `network` from inner `AccountId32` for easier matching let origin_location = match origin_location.unpack() { - (0, [AccountId32 { network: _, id }]) => - Location::new(0, [AccountId32 { network: None, id: *id }]), + (0, [AccountId32 { network: _, id }]) => { + Location::new(0, [AccountId32 { network: None, id: *id }]) + }, _ => return Err(Error::::InvalidOrigin.into()), }; tracing::debug!(target: "xcm::pallet_xcm::add_authorized_alias", ?origin_location, ?new_aliaser, ?expires); @@ -1795,8 +1796,9 @@ pub mod pallet { ensure!(origin_location != to_remove, Error::::BadLocation); // remove `network` from inner `AccountId32` for easier matching let origin_location = match origin_location.unpack() { - (0, [AccountId32 { network: _, id }]) => - Location::new(0, [AccountId32 { network: None, id: *id }]), + (0, [AccountId32 { network: _, id }]) => { + Location::new(0, [AccountId32 { network: None, id: *id }]) + }, _ => return Err(Error::::InvalidOrigin.into()), }; tracing::debug!(target: "xcm::pallet_xcm::remove_authorized_alias", ?origin_location, ?to_remove); @@ -1845,8 +1847,9 @@ pub mod pallet { let origin_location: Location = T::ExecuteXcmOrigin::ensure_origin(origin)?; // remove `network` from inner `AccountId32` for easier matching let origin_location = match origin_location.unpack() { - (0, [AccountId32 { network: _, id }]) => - Location::new(0, [AccountId32 { network: None, id: *id }]), + (0, [AccountId32 { network: _, id }]) => { + Location::new(0, [AccountId32 { network: None, id: *id }]) + }, _ => return Err(Error::::InvalidOrigin.into()), }; tracing::debug!(target: "xcm::pallet_xcm::remove_all_authorized_aliases", ?origin_location); @@ -2210,8 +2213,9 @@ impl Pallet { fees, weight_limit, )?, - TransferType::RemoteReserve(_) => - return Err(Error::::InvalidAssetUnsupportedReserve.into()), + TransferType::RemoteReserve(_) => { + return Err(Error::::InvalidAssetUnsupportedReserve.into()) + }, }; FeesHandling::Separate { local_xcm, remote_xcm } }; @@ -2832,7 +2836,7 @@ impl Pallet { } weight_used.saturating_accrue(sv_migrate_weight); if weight_used.any_gte(weight_cutoff) { - return (weight_used, Some(stage)) + return (weight_used, Some(stage)); } } } @@ -2846,7 +2850,7 @@ impl Pallet { } weight_used.saturating_accrue(vn_migrate_weight); if weight_used.any_gte(weight_cutoff) { - return (weight_used, Some(stage)) + return (weight_used, Some(stage)); } } } @@ -2868,7 +2872,7 @@ impl Pallet { // We don't early return here since we need to be certain that we // make some progress. weight_used.saturating_accrue(vnt_already_notified_weight); - continue + continue; }, }; let response = Response::Version(xcm_version); @@ -2894,7 +2898,7 @@ impl Pallet { weight_used.saturating_accrue(vnt_notify_weight); if weight_used.any_gte(weight_cutoff) { let last = Some(iter.last_raw_key().into()); - return (weight_used, Some(NotifyCurrentTargets(last))) + return (weight_used, Some(NotifyCurrentTargets(last))); } } stage = MigrateAndNotifyOldTargets; @@ -2912,9 +2916,9 @@ impl Pallet { }); weight_used.saturating_accrue(vnt_migrate_fail_weight); if weight_used.any_gte(weight_cutoff) { - return (weight_used, Some(stage)) + return (weight_used, Some(stage)); } - continue + continue; }, }; @@ -2955,7 +2959,7 @@ impl Pallet { weight_used.saturating_accrue(vnt_notify_migrate_weight); } if weight_used.any_gte(weight_cutoff) { - return (weight_used, Some(stage)) + return (weight_used, Some(stage)); } } } @@ -3065,7 +3069,7 @@ impl Pallet { .map(|xcm| VersionedXcm::<()>::from(xcm).into_version(result_xcms_version)) .transpose() .map_err(|()| { - tracing::error!( + tracing::debug!( target: "xcm::DryRunApi::dry_run_call", "Local xcm version conversion failed" ); @@ -3077,7 +3081,7 @@ impl Pallet { let forwarded_xcms = Self::convert_forwarded_xcms(result_xcms_version, Router::get_messages()).inspect_err( |error| { - tracing::error!( + tracing::debug!( target: "xcm::DryRunApi::dry_run_call", ?error, "Forwarded xcms version conversion failed with error" ); @@ -3107,7 +3111,7 @@ impl Pallet { Router: InspectMessageQueues, { let origin_location: Location = origin_location.try_into().map_err(|error| { - tracing::error!( + tracing::debug!( target: "xcm::DryRunApi::dry_run_xcm", ?error, "Location version conversion failed with error" ); @@ -3115,7 +3119,7 @@ impl Pallet { })?; let xcm_version = xcm.identify_version(); let xcm: Xcm<::RuntimeCall> = xcm.try_into().map_err(|error| { - tracing::error!( + tracing::debug!( target: "xcm::DryRunApi::dry_run_xcm", ?error, "Xcm version conversion failed with error" ); @@ -3136,7 +3140,7 @@ impl Pallet { ); let forwarded_xcms = Self::convert_forwarded_xcms(xcm_version, Router::get_messages()) .inspect_err(|error| { - tracing::error!( + tracing::debug!( target: "xcm::DryRunApi::dry_run_xcm", ?error, "Forwarded xcms version conversion failed with error" ); @@ -3225,43 +3229,28 @@ impl Pallet { /// `u128` overflow. pub fn query_weight_to_asset_fee( weight: Weight, - asset: VersionedAssetId, + asset_id: VersionedAssetId, ) -> Result { - let asset: AssetId = asset.clone().try_into() + let asset_id: AssetId = asset_id.clone().try_into() .map_err(|e| { - tracing::debug!(target: "xcm::pallet::query_weight_to_asset_fee", ?e, ?asset, "Failed to convert versioned asset"); + tracing::debug!(target: "xcm::pallet::query_weight_to_asset_fee", ?e, ?asset_id, "Failed to convert versioned asset"); XcmPaymentApiError::VersionedConversionFailed })?; - let max_amount = u128::MAX / 2; - let max_payment: Asset = (asset.clone(), max_amount).into(); let context = XcmContext::with_message_id(XcmHash::default()); - // We return the unspent amount without affecting the state - // as we used a big amount of the asset without any check. - let unspent = with_transaction(|| { - let mut trader = Trader::new(); - let result = trader.buy_weight(weight, max_payment.into(), &context) - .map_err(|e| { - tracing::error!(target: "xcm::pallet::query_weight_to_asset_fee", ?e, ?asset, "Failed to buy weight"); - - // Return something convertible to `DispatchError` as required by the `with_transaction` fn. - DispatchError::Other("Failed to buy weight") - }); - - TransactionOutcome::Rollback(result) - }).map_err(|error| { - tracing::debug!(target: "xcm::pallet::query_weight_to_asset_fee", ?error, "Failed to execute transaction"); - XcmPaymentApiError::AssetNotFound - })?; - - let Some(unspent) = unspent.fungible.get(&asset) else { - tracing::error!(target: "xcm::pallet::query_weight_to_asset_fee", ?asset, "The trader didn't return the needed fungible asset"); - return Err(XcmPaymentApiError::AssetNotFound); - }; - - let paid = max_amount - unspent; - Ok(paid) + let mut trader = Trader::new(); + let required = trader.quote_weight(weight, asset_id.clone(), &context) + .map_err(|e| { + tracing::debug!(target: "xcm::pallet::query_weight_to_asset_fee", ?e, ?asset_id, "Failed to quote weight"); + XcmPaymentApiError::AssetNotFound + })?; + match (required.id, required.fun) { + (required_id, Fungible(required_amount)) if required_id.eq(&asset_id) => { + Ok(required_amount) + }, + _ => Err(XcmPaymentApiError::AssetNotFound), + } } /// Given a `destination` and XCM `message`, return assets to be charged as XCM delivery fees. @@ -3281,18 +3270,18 @@ impl Pallet { .clone() .try_into() .map_err(|e| { - tracing::error!(target: "xcm::pallet_xcm::query_delivery_fees", ?e, ?destination, "Failed to convert versioned destination"); + tracing::debug!(target: "xcm::pallet_xcm::query_delivery_fees", ?e, ?destination, "Failed to convert versioned destination"); XcmPaymentApiError::VersionedConversionFailed })?; let message: Xcm<()> = message.clone().try_into().map_err(|e| { - tracing::error!(target: "xcm::pallet_xcm::query_delivery_fees", ?e, ?message, "Failed to convert versioned message"); + tracing::debug!(target: "xcm::pallet_xcm::query_delivery_fees", ?e, ?message, "Failed to convert versioned message"); XcmPaymentApiError::VersionedConversionFailed })?; let (_, fees) = validate_send::(destination.clone(), message.clone()).map_err(|error| { - tracing::error!(target: "xcm::pallet_xcm::query_delivery_fees", ?error, ?destination, ?message, "Failed to validate send to destination"); + tracing::debug!(target: "xcm::pallet_xcm::query_delivery_fees", ?error, ?destination, ?message, "Failed to validate send to destination"); XcmPaymentApiError::Unroutable })?; @@ -3611,7 +3600,7 @@ impl Pallet { // if migration has been already scheduled, everything is ok and data will be eventually // migrated if CurrentMigration::::exists() { - return Ok(()) + return Ok(()); } // if migration has NOT been scheduled yet, we need to check all operational data @@ -3910,10 +3899,18 @@ impl VersionChangeNotifier for Pallet { } impl DropAssets for Pallet { - fn drop_assets(origin: &Location, assets: AssetsInHolding, _context: &XcmContext) -> Weight { - if assets.is_empty() { - return Weight::zero() + fn drop_assets(origin: &Location, holding: AssetsInHolding, _context: &XcmContext) -> Weight { + if holding.is_empty() { + return Weight::zero(); } + let assets: Vec = holding.assets_iter().collect(); + // SAFETY: "forget" about any fungible imbalances so that they are not dropped/resolved + // here. The mirrored asset claiming operation will "recover" the imbalances by minting + // back into holding, effectively duplicating the imbalance and only then dropping the + // duplicate. As a result, total issuance doesn't change. + holding.fungible.into_iter().for_each(|(_, mut accounting)| { + accounting.forget_imbalance(); + }); let versioned = VersionedAssets::from(Assets::from(assets)); let hash = BlakeTwo256::hash_of(&(&origin, &versioned)); AssetTraps::::mutate(hash, |n| *n += 1); @@ -3932,30 +3929,58 @@ impl ClaimAssets for Pallet { origin: &Location, ticket: &Location, assets: &Assets, - _context: &XcmContext, - ) -> bool { + context: &XcmContext, + ) -> Option { let mut versioned = VersionedAssets::from(assets.clone()); match ticket.unpack() { - (0, [GeneralIndex(i)]) => + (0, [GeneralIndex(i)]) => { versioned = match versioned.into_version(*i as u32) { Ok(v) => v, - Err(()) => return false, - }, + Err(()) => return None, + } + }, (0, []) => (), - _ => return false, + _ => return None, }; let hash = BlakeTwo256::hash_of(&(origin.clone(), versioned.clone())); match AssetTraps::::get(hash) { - 0 => return false, + 0 => return None, 1 => AssetTraps::::remove(hash), n => AssetTraps::::insert(hash, n - 1), } + let mut claimed = AssetsInHolding::new(); + for asset in assets.inner() { + match ::AssetTransactor::mint_asset(asset, context) + { + Ok(minted) => { + // SAFETY: Any fungible imbalances are now effectively duplicated because they + // were not resolved when the asset was trapped (so total issuance tracks + // trapped assets too), and now a duplicate asset was just minted. + // To balance the system and keep total issuance constant, we drop and resolve + // one of the duplicates. As a result, total issuance doesn't change. + // + // Note: This may emit Burned/Minted events even though the net issuance change + // is zero. The mint creates a +X imbalance, and dropping the clone resolves -X, + // resulting in no net change but potentially two events. This is an acceptable + // tradeoff for the asset trap/claim mechanism. + minted.fungible.iter().for_each(|(_, imbalance)| { + let to_resolve = imbalance.unsafe_clone(); + core::mem::drop(to_resolve); + }); + claimed.subsume_assets(minted) + }, + Err(error) => tracing::debug!( + target: "xcm::pallet_xcm::claim_assets", + ?asset, ?error, "Asset claimed from trap but unable to mint." + ), + } + } Self::deposit_event(Event::AssetsClaimed { hash, origin: origin.clone(), assets: versioned, }); - return true + Some(claimed) } } @@ -3966,15 +3991,17 @@ impl OnResponse for Pallet { querier: Option<&Location>, ) -> bool { match Queries::::get(query_id) { - Some(QueryStatus::Pending { responder, maybe_match_querier, .. }) => + Some(QueryStatus::Pending { responder, maybe_match_querier, .. }) => { Location::try_from(responder).map_or(false, |r| origin == &r) && maybe_match_querier.map_or(true, |match_querier| { Location::try_from(match_querier).map_or(false, |match_querier| { querier.map_or(false, |q| q == &match_querier) }) - }), - Some(QueryStatus::VersionNotifier { origin: r, .. }) => - Location::try_from(r).map_or(false, |r| origin == &r), + }) + }, + Some(QueryStatus::VersionNotifier { origin: r, .. }) => { + Location::try_from(r).map_or(false, |r| origin == &r) + }, _ => false, } } @@ -4001,7 +4028,7 @@ impl OnResponse for Pallet { query_id, expected_location: Some(o), }); - return Weight::zero() + return Weight::zero(); }, _ => { Self::deposit_event(Event::InvalidResponder { @@ -4010,7 +4037,7 @@ impl OnResponse for Pallet { expected_location: None, }); // TODO #3735: Correct weight for this. - return Weight::zero() + return Weight::zero(); }, }; // TODO #3735: Check max_weight is correct. @@ -4043,7 +4070,7 @@ impl OnResponse for Pallet { origin: origin.clone(), query_id, }); - return Weight::zero() + return Weight::zero(); }, }; if querier.map_or(true, |q| q != &match_querier) { @@ -4053,7 +4080,7 @@ impl OnResponse for Pallet { expected_querier: match_querier, maybe_actual_querier: querier.cloned(), }); - return Weight::zero() + return Weight::zero(); } } let responder = match Location::try_from(responder) { @@ -4063,7 +4090,7 @@ impl OnResponse for Pallet { origin: origin.clone(), query_id, }); - return Weight::zero() + return Weight::zero(); }, }; if origin != responder { @@ -4072,7 +4099,7 @@ impl OnResponse for Pallet { query_id, expected_location: Some(responder), }); - return Weight::zero() + return Weight::zero(); } match maybe_notify { Some((pallet_index, call_index)) => { @@ -4094,7 +4121,7 @@ impl OnResponse for Pallet { max_budgeted_weight: max_weight, }; Self::deposit_event(e); - return Weight::zero() + return Weight::zero(); } let dispatch_origin = Origin::Response(origin.clone()).into(); match call.dispatch(dispatch_origin) { @@ -4254,12 +4281,13 @@ where fn try_origin(outer: O) -> Result { match outer.caller().try_into() { - Ok(Origin::Xcm(ref location)) => + Ok(Origin::Xcm(ref location)) => { if let Ok(location) = location.clone().try_into() { if F::contains(&location) { return Ok(location); } - }, + } + }, _ => (), } diff --git a/polkadot/xcm/pallet-xcm/src/migration.rs b/polkadot/xcm/pallet-xcm/src/migration.rs index 194bb1680ec4d..7f4b320371fd1 100644 --- a/polkadot/xcm/pallet-xcm/src/migration.rs +++ b/polkadot/xcm/pallet-xcm/src/migration.rs @@ -59,7 +59,7 @@ pub mod data { for locked in self.iter_mut() { if locked.1.identify_version() < to_xcm_version { let Ok(new_unlocker) = locked.1.clone().into_version(to_xcm_version) else { - return Err(()) + return Err(()); }; locked.1 = new_unlocker; was_modified = true; @@ -80,34 +80,37 @@ pub mod data { fn needs_migration(&self, minimal_allowed_xcm_version: XcmVersion) -> bool { match &self { - QueryStatus::Pending { responder, maybe_match_querier, .. } => + QueryStatus::Pending { responder, maybe_match_querier, .. } => { responder.identify_version() < minimal_allowed_xcm_version || maybe_match_querier .as_ref() .map(|v| v.identify_version() < minimal_allowed_xcm_version) - .unwrap_or(false), - QueryStatus::VersionNotifier { origin, .. } => - origin.identify_version() < minimal_allowed_xcm_version, - QueryStatus::Ready { response, .. } => - response.identify_version() < minimal_allowed_xcm_version, + .unwrap_or(false) + }, + QueryStatus::VersionNotifier { origin, .. } => { + origin.identify_version() < minimal_allowed_xcm_version + }, + QueryStatus::Ready { response, .. } => { + response.identify_version() < minimal_allowed_xcm_version + }, } } fn try_migrate(self, to_xcm_version: XcmVersion) -> Result, ()> { if !self.needs_migration(to_xcm_version) { - return Ok(None) + return Ok(None); } // do migration match self { QueryStatus::Pending { responder, maybe_match_querier, maybe_notify, timeout } => { let Ok(responder) = responder.into_version(to_xcm_version) else { - return Err(()) + return Err(()); }; let Ok(maybe_match_querier) = maybe_match_querier.map(|mmq| mmq.into_version(to_xcm_version)).transpose() else { - return Err(()) + return Err(()); }; Ok(Some(QueryStatus::Pending { responder, @@ -137,7 +140,7 @@ pub mod data { fn try_migrate(self, to_xcm_version: XcmVersion) -> Result, ()> { if !self.needs_migration(to_xcm_version) { - return Ok(None) + return Ok(None); } let Ok(asset_id) = self.2.into_version(to_xcm_version) else { return Err(()) }; @@ -158,7 +161,7 @@ pub mod data { fn try_migrate(self, to_xcm_version: XcmVersion) -> Result, ()> { if !self.needs_migration(to_xcm_version) { - return Ok(None) + return Ok(None); } let RemoteLockedFungibleRecord { amount, owner, locker, consumers } = self; @@ -189,12 +192,12 @@ pub mod data { required_version: XcmVersion, ) -> Result, ()> { if !self.needs_migration(required_version) { - return Ok(None) + return Ok(None); } let key = if self.0.identify_version() != required_version { let Ok(converted_key) = self.0.clone().into_version(required_version) else { - return Err(()) + return Err(()); }; converted_key } else { @@ -225,7 +228,6 @@ pub mod data { // check and migrate `Queries` let queries_to_migrate = Queries::::iter().filter_map(|(id, data)| { - weight.saturating_add(T::DbWeight::get().reads(1)); match data.try_migrate(required_xcm_version) { Ok(Some(new_data)) => Some((id, new_data)), Ok(None) => None, @@ -248,13 +250,12 @@ pub mod data { "Migrating `Queries`" ); Queries::::insert(id, new_data); - weight.saturating_add(T::DbWeight::get().writes(1)); + weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); } // check and migrate `LockedFungibles` let locked_fungibles_to_migrate = LockedFungibles::::iter().filter_map(|(id, data)| { - weight.saturating_add(T::DbWeight::get().reads(1)); match data.try_migrate(required_xcm_version) { Ok(Some(new_data)) => Some((id, new_data)), Ok(None) => None, @@ -277,13 +278,12 @@ pub mod data { "Migrating `LockedFungibles`" ); LockedFungibles::::insert(id, new_data); - weight.saturating_add(T::DbWeight::get().writes(1)); + weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); } // check and migrate `RemoteLockedFungibles` - 1. step - just data let remote_locked_fungibles_to_migrate = RemoteLockedFungibles::::iter().filter_map(|(id, data)| { - weight.saturating_add(T::DbWeight::get().reads(1)); match data.try_migrate(required_xcm_version) { Ok(Some(new_data)) => Some((id, new_data)), Ok(None) => None, @@ -309,7 +309,7 @@ pub mod data { "Migrating `RemoteLockedFungibles` data" ); RemoteLockedFungibles::::insert(id, new_data); - weight.saturating_add(T::DbWeight::get().writes(1)); + weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); } // check and migrate `RemoteLockedFungibles` - 2. step - key @@ -335,7 +335,7 @@ pub mod data { } }); for (old_key, new_key) in remote_locked_fungibles_keys_to_migrate { - weight.saturating_add(T::DbWeight::get().reads(1)); + weight.saturating_accrue(T::DbWeight::get().reads(1)); // make sure, that we don't override accidentally other data if RemoteLockedFungibles::::get(&new_key).is_some() { tracing::error!( @@ -366,12 +366,12 @@ pub mod data { _, _, >(&old_key, &new_key); - weight.saturating_add(T::DbWeight::get().writes(1)); + weight.saturating_accrue(T::DbWeight::get().writes(1)); } // check and migrate `AuthorizedAliases` let aliases_to_migrate = AuthorizedAliases::::iter().filter_map(|(id, data)| { - weight.saturating_add(T::DbWeight::get().reads(1)); + weight.saturating_accrue(T::DbWeight::get().reads(1)); match (&id, data, PhantomData::).try_migrate(required_xcm_version) { Ok(Some((new_id, new_data))) => Some((id, new_id, new_data)), Ok(None) => None, @@ -399,7 +399,7 @@ pub mod data { count = count + 1; } // two writes per key, one to remove old entry, one to write new entry - weight.saturating_add(T::DbWeight::get().writes(count * 2)); + weight.saturating_accrue(T::DbWeight::get().writes(count * 2)); } } } @@ -420,7 +420,7 @@ pub mod v1 { if StorageVersion::get::>() != 0 { tracing::warn!("skipping v1, should be removed"); - return weight + return weight; } weight.saturating_accrue(T::DbWeight::get().writes(1)); diff --git a/polkadot/xcm/pallet-xcm/src/mock.rs b/polkadot/xcm/pallet-xcm/src/mock.rs index 7532a8089768e..81cd114030402 100644 --- a/polkadot/xcm/pallet-xcm/src/mock.rs +++ b/polkadot/xcm/pallet-xcm/src/mock.rs @@ -21,7 +21,10 @@ use frame_support::{ fungible::HoldConsideration, AsEnsureOriginWithArg, ConstU128, ConstU32, Contains, Equals, Everything, EverythingBut, Footprint, Nothing, }, - weights::Weight, + weights::{ + constants::{WEIGHT_PROOF_SIZE_PER_MB, WEIGHT_REF_TIME_PER_SECOND}, + Weight, + }, }; use frame_system::EnsureRoot; use polkadot_parachain_primitives::primitives::Id as ParaId; @@ -453,7 +456,7 @@ type LocalOriginConverter = ( parameter_types! { pub const BaseXcmWeight: Weight = Weight::from_parts(1_000, 1_000); - pub CurrencyPerSecondPerByte: (AssetId, u128, u128) = (AssetId(RelayLocation::get()), 1, 1); + pub CurrencyPerSecondPerByte: (AssetId, u128, u128) = (AssetId(RelayLocation::get()), WEIGHT_REF_TIME_PER_SECOND.into(), WEIGHT_PROOF_SIZE_PER_MB.into()); pub TrustedLocal: (AssetFilter, Location) = (All.into(), Here.into()); pub TrustedSystemPara: (AssetFilter, Location) = (NativeAsset::get().into(), SystemParachainLocation::get()); pub TrustedUsdt: (AssetFilter, Location) = (Usdt::get().into(), UsdtTeleportLocation::get()); @@ -515,7 +518,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = XcmPallet; type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = XcmPallet; type SubscriptionService = XcmPallet; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; @@ -735,6 +737,7 @@ pub(crate) fn new_test_ext_with_balances_and_xcm_version( safe_xcm_version: Option, supported_version: Vec<(Location, XcmVersion)>, ) -> sp_io::TestExternalities { + sp_tracing::try_init_simple(); let mut t = frame_system::GenesisConfig::::default().build_storage().unwrap(); pallet_balances::GenesisConfig:: { balances, ..Default::default() } diff --git a/polkadot/xcm/pallet-xcm/src/tests/assets_transfer.rs b/polkadot/xcm/pallet-xcm/src/tests/assets_transfer.rs index 5b2ac0f44492c..a9b8bcca5bf6f 100644 --- a/polkadot/xcm/pallet-xcm/src/tests/assets_transfer.rs +++ b/polkadot/xcm/pallet-xcm/src/tests/assets_transfer.rs @@ -297,7 +297,7 @@ fn local_asset_reserve_and_local_fee_reserve_call( assert_eq!(result, expected_result); if expected_result.is_err() { // short-circuit here for tests where we expect failure - return + return; } // Alice spent amount assert_eq!(Balances::free_balance(ALICE), INITIAL_BALANCE - SEND_AMOUNT); @@ -441,7 +441,7 @@ fn destination_asset_reserve_and_local_fee_reserve_call( assert_eq!(result, expected_result); if expected_result.is_err() { // short-circuit here for tests where we expect failure - return + return; } let mut last_events = last_events(3).into_iter(); @@ -870,7 +870,7 @@ fn destination_asset_reserve_and_destination_fee_reserve_call( assert_eq!(result, expected_result); if expected_result.is_err() { // short-circuit here for tests where we expect failure - return + return; } let weight = BaseXcmWeight::get() * 2; @@ -1554,7 +1554,7 @@ fn local_asset_reserve_and_teleported_fee_call( assert_eq!(result, expected_result); if expected_result.is_err() { // short-circuit here for tests where we expect failure - return + return; } let weight = BaseXcmWeight::get() * 3; @@ -2182,7 +2182,7 @@ fn teleport_asset_using_local_fee_reserve_call( assert_eq!(result, expected_result); if expected_result.is_err() { // short-circuit here for tests where we expect failure - return + return; } let mut last_events = last_events(3).into_iter(); @@ -2343,7 +2343,7 @@ fn teleported_asset_using_destination_reserve_fee_call( assert_eq!(result, expected_result); if expected_result.is_err() { // short-circuit here for tests where we expect failure - return + return; } let weight = BaseXcmWeight::get() * 4; diff --git a/polkadot/xcm/pallet-xcm/src/tests/mod.rs b/polkadot/xcm/pallet-xcm/src/tests/mod.rs index 98a2ce0837692..c0fe2ab3cc93a 100644 --- a/polkadot/xcm/pallet-xcm/src/tests/mod.rs +++ b/polkadot/xcm/pallet-xcm/src/tests/mod.rs @@ -1611,8 +1611,9 @@ fn migrate_data_to_xcm_version_works() { |left: Option>, right: Option>| { match (left, right) { - (None, Some(_)) | (Some(_), None) => - assert!(false, "Received unexpected message"), + (None, Some(_)) | (Some(_), None) => { + assert!(false, "Received unexpected message") + }, (None, None) => (), (Some(l), Some(r)) => { assert_eq!(l.owner, r.owner); diff --git a/polkadot/xcm/procedural/src/builder_pattern.rs b/polkadot/xcm/procedural/src/builder_pattern.rs index b7da07cd26dfa..fcf2bdb776d02 100644 --- a/polkadot/xcm/procedural/src/builder_pattern.rs +++ b/polkadot/xcm/procedural/src/builder_pattern.rs @@ -179,7 +179,7 @@ fn generate_builder_impl(name: &Ident, data_enum: &DataEnum) -> Result builder.clone(), - None => return Ok(None), /* It's not going to be an instruction that pays fees */ + None => return Ok(None), // It's not going to be an instruction that pays fees }; let Meta::List(ref list) = builder_attr.meta else { unreachable!("We checked before") }; let inner_ident: Ident = syn::parse2(list.tokens.clone()).map_err(|_| { @@ -261,7 +261,7 @@ fn convert_variant_to_method( let method_name = syn::Ident::new(method_name_string, variant_name.span()); let docs = get_doc_comments(variant); let method = match &variant.fields { - Fields::Unit => + Fields::Unit => { if let Some(return_type) = maybe_return_type { quote! { pub fn #method_name(self) -> #return_type { @@ -280,7 +280,8 @@ fn convert_variant_to_method( self } } - }, + } + }, Fields::Unnamed(fields) => { let arg_names: Vec<_> = fields .unnamed diff --git a/polkadot/xcm/procedural/src/v3.rs b/polkadot/xcm/procedural/src/v3.rs index 1292b56277dd8..f127b23f4ecb0 100644 --- a/polkadot/xcm/procedural/src/v3.rs +++ b/polkadot/xcm/procedural/src/v3.rs @@ -25,7 +25,7 @@ pub mod multilocation { pub fn generate_conversion_functions(input: proc_macro::TokenStream) -> Result { if !input.is_empty() { - return Err(syn::Error::new(Span::call_site(), "No arguments expected")) + return Err(syn::Error::new(Span::call_site(), "No arguments expected")); } let from_tuples = generate_conversion_from_tuples(8, 8); @@ -123,7 +123,7 @@ pub mod junctions { pub fn generate_conversion_functions(input: proc_macro::TokenStream) -> Result { if !input.is_empty() { - return Err(syn::Error::new(Span::call_site(), "No arguments expected")) + return Err(syn::Error::new(Span::call_site(), "No arguments expected")); } // Support up to 8 Parents in a tuple, assuming that most use cases don't go past 8 parents. diff --git a/polkadot/xcm/procedural/src/v4.rs b/polkadot/xcm/procedural/src/v4.rs index 9bc2f094d0213..bc46bd7c1bbe8 100644 --- a/polkadot/xcm/procedural/src/v4.rs +++ b/polkadot/xcm/procedural/src/v4.rs @@ -28,7 +28,7 @@ pub mod location { /// - (Parent, Parachain(1000), AccountId32 { .. }).into() pub fn generate_conversion_functions(input: proc_macro::TokenStream) -> Result { if !input.is_empty() { - return Err(syn::Error::new(Span::call_site(), "No arguments expected")) + return Err(syn::Error::new(Span::call_site(), "No arguments expected")); } let from_tuples = generate_conversion_from_tuples(8, 8); @@ -127,7 +127,7 @@ pub mod junctions { pub fn generate_conversion_functions(input: proc_macro::TokenStream) -> Result { if !input.is_empty() { - return Err(syn::Error::new(Span::call_site(), "No arguments expected")) + return Err(syn::Error::new(Span::call_site(), "No arguments expected")); } // Support up to 8 Parents in a tuple, assuming that most use cases don't go past 8 parents. diff --git a/polkadot/xcm/procedural/src/v5.rs b/polkadot/xcm/procedural/src/v5.rs index 895a323c17383..91c5115c5a783 100644 --- a/polkadot/xcm/procedural/src/v5.rs +++ b/polkadot/xcm/procedural/src/v5.rs @@ -28,7 +28,7 @@ pub mod location { /// - (Parent, Parachain(1000), AccountId32 { .. }).into() pub fn generate_conversion_functions(input: proc_macro::TokenStream) -> Result { if !input.is_empty() { - return Err(syn::Error::new(Span::call_site(), "No arguments expected")) + return Err(syn::Error::new(Span::call_site(), "No arguments expected")); } let from_tuples = generate_conversion_from_tuples(8, 8); @@ -127,7 +127,7 @@ pub mod junctions { pub fn generate_conversion_functions(input: proc_macro::TokenStream) -> Result { if !input.is_empty() { - return Err(syn::Error::new(Span::call_site(), "No arguments expected")) + return Err(syn::Error::new(Span::call_site(), "No arguments expected")); } // Support up to 8 Parents in a tuple, assuming that most use cases don't go past 8 parents. diff --git a/polkadot/xcm/procedural/tests/ui.rs b/polkadot/xcm/procedural/tests/ui.rs index 4d0c8af450053..1a9fe75b150f6 100644 --- a/polkadot/xcm/procedural/tests/ui.rs +++ b/polkadot/xcm/procedural/tests/ui.rs @@ -20,7 +20,7 @@ fn ui() { // Only run the ui tests when `RUN_UI_TESTS` is set. if std::env::var("RUN_UI_TESTS").is_err() { - return + return; } // As trybuild is using `cargo check`, we don't need the real WASM binaries. diff --git a/polkadot/xcm/src/utils.rs b/polkadot/xcm/src/utils.rs index 05a6c444e0ca3..76454989f6eb3 100644 --- a/polkadot/xcm/src/utils.rs +++ b/polkadot/xcm/src/utils.rs @@ -35,7 +35,7 @@ pub fn decode_xcm_instructions( instructions_count::with(|count| { *count = count.saturating_add(vec_len as u8); if *count > MAX_INSTRUCTIONS_TO_DECODE { - return Err(codec::Error::from("Max instructions exceeded")) + return Err(codec::Error::from("Max instructions exceeded")); } Ok(()) }) diff --git a/polkadot/xcm/src/v3/junction.rs b/polkadot/xcm/src/v3/junction.rs index c3b0378c871e9..dd13639e47d04 100644 --- a/polkadot/xcm/src/v3/junction.rs +++ b/polkadot/xcm/src/v3/junction.rs @@ -320,8 +320,9 @@ impl<'a> TryFrom<&'a Junction> for BoundedSlice<'a, u8, ConstU32<32>> { type Error = (); fn try_from(key: &'a Junction) -> Result { match key { - Junction::GeneralKey { length, data } => - BoundedSlice::try_from(&data[..data.len().min(*length as usize)]).map_err(|_| ()), + Junction::GeneralKey { length, data } => { + BoundedSlice::try_from(&data[..data.len().min(*length as usize)]).map_err(|_| ()) + }, _ => Err(()), } } @@ -352,12 +353,15 @@ impl TryFrom for Junction { use NewJunction::*; Ok(match value { Parachain(id) => Self::Parachain(id), - AccountId32 { network: maybe_network, id } => - Self::AccountId32 { network: maybe_network.map(|network| network.into()), id }, - AccountIndex64 { network: maybe_network, index } => - Self::AccountIndex64 { network: maybe_network.map(|network| network.into()), index }, - AccountKey20 { network: maybe_network, key } => - Self::AccountKey20 { network: maybe_network.map(|network| network.into()), key }, + AccountId32 { network: maybe_network, id } => { + Self::AccountId32 { network: maybe_network.map(|network| network.into()), id } + }, + AccountIndex64 { network: maybe_network, index } => { + Self::AccountIndex64 { network: maybe_network.map(|network| network.into()), index } + }, + AccountKey20 { network: maybe_network, key } => { + Self::AccountKey20 { network: maybe_network.map(|network| network.into()), key } + }, PalletInstance(index) => Self::PalletInstance(index), GeneralIndex(id) => Self::GeneralIndex(id), GeneralKey { length, data } => Self::GeneralKey { length, data }, diff --git a/polkadot/xcm/src/v3/junctions.rs b/polkadot/xcm/src/v3/junctions.rs index 22499e2a0fc74..de70f5f261ce9 100644 --- a/polkadot/xcm/src/v3/junctions.rs +++ b/polkadot/xcm/src/v3/junctions.rs @@ -113,7 +113,7 @@ impl<'a> Iterator for JunctionsRefIterator<'a> { type Item = &'a Junction; fn next(&mut self) -> Option<&'a Junction> { if self.next.saturating_add(self.back) >= self.junctions.len() { - return None + return None; } let result = self.junctions.at(self.next); @@ -128,7 +128,7 @@ impl<'a> DoubleEndedIterator for JunctionsRefIterator<'a> { // checked_sub here, because if the result is less than 0, we end iteration let index = self.junctions.len().checked_sub(next_back)?; if self.next > index { - return None + return None; } self.back = next_back; @@ -276,7 +276,7 @@ impl Junctions { /// junctions in `self`, implying that relative refers into a different global consensus. pub fn within_global(mut self, relative: MultiLocation) -> Result { if self.len() <= relative.parents as usize { - return Err(()) + return Err(()); } for _ in 0..relative.parents { self.take_last(); @@ -469,7 +469,7 @@ impl Junctions { pub fn append_with(&mut self, suffix: impl Into) -> Result<(), Junctions> { let suffix = suffix.into(); if self.len().saturating_add(suffix.len()) > MAX_JUNCTIONS { - return Err(suffix) + return Err(suffix); } for j in suffix.into_iter() { self.push(j).expect("Already checked the sum of the len()s; qed") @@ -597,14 +597,14 @@ impl Junctions { /// ``` pub fn match_and_split(&self, prefix: &Junctions) -> Option<&Junction> { if prefix.len() + 1 != self.len() { - return None + return None; } for i in 0..prefix.len() { if prefix.at(i) != self.at(i) { - return None + return None; } } - return self.at(prefix.len()) + return self.at(prefix.len()); } pub fn starts_with(&self, prefix: &Junctions) -> bool { diff --git a/polkadot/xcm/src/v3/mod.rs b/polkadot/xcm/src/v3/mod.rs index c6f3c7254ff6c..eaa3fedb36954 100644 --- a/polkadot/xcm/src/v3/mod.rs +++ b/polkadot/xcm/src/v3/mod.rs @@ -328,8 +328,9 @@ impl TryFrom for Response { Ok(match new { Null => Self::Null, Assets(assets) => Self::Assets(assets.try_into()?), - ExecutionResult(result) => - Self::ExecutionResult(result.map(|(num, old_error)| (num, old_error.into()))), + ExecutionResult(result) => { + Self::ExecutionResult(result.map(|(num, old_error)| (num, old_error.into()))) + }, Version(version) => Self::Version(version), PalletsInfo(pallet_info) => { let inner = pallet_info @@ -340,8 +341,9 @@ impl TryFrom for Response { BoundedVec::::try_from(inner).map_err(|_| ())?, ) }, - DispatchResult(maybe_error) => - Self::DispatchResult(maybe_error.try_into().map_err(|_| ())?), + DispatchResult(maybe_error) => { + Self::DispatchResult(maybe_error.try_into().map_err(|_| ())?) + }, }) } } @@ -1150,24 +1152,30 @@ impl Instruction { WithdrawAsset(assets) => WithdrawAsset(assets), ReserveAssetDeposited(assets) => ReserveAssetDeposited(assets), ReceiveTeleportedAsset(assets) => ReceiveTeleportedAsset(assets), - QueryResponse { query_id, response, max_weight, querier } => - QueryResponse { query_id, response, max_weight, querier }, + QueryResponse { query_id, response, max_weight, querier } => { + QueryResponse { query_id, response, max_weight, querier } + }, TransferAsset { assets, beneficiary } => TransferAsset { assets, beneficiary }, - TransferReserveAsset { assets, dest, xcm } => - TransferReserveAsset { assets, dest, xcm }, - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity }, + TransferReserveAsset { assets, dest, xcm } => { + TransferReserveAsset { assets, dest, xcm } + }, + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => { + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } + }, HrmpChannelAccepted { recipient } => HrmpChannelAccepted { recipient }, - HrmpChannelClosing { initiator, sender, recipient } => - HrmpChannelClosing { initiator, sender, recipient }, - Transact { origin_kind, require_weight_at_most, call } => - Transact { origin_kind, require_weight_at_most, call: call.into() }, + HrmpChannelClosing { initiator, sender, recipient } => { + HrmpChannelClosing { initiator, sender, recipient } + }, + Transact { origin_kind, require_weight_at_most, call } => { + Transact { origin_kind, require_weight_at_most, call: call.into() } + }, ReportError(response_info) => ReportError(response_info), DepositAsset { assets, beneficiary } => DepositAsset { assets, beneficiary }, DepositReserveAsset { assets, dest, xcm } => DepositReserveAsset { assets, dest, xcm }, ExchangeAsset { give, want, maximal } => ExchangeAsset { give, want, maximal }, - InitiateReserveWithdraw { assets, reserve, xcm } => - InitiateReserveWithdraw { assets, reserve, xcm }, + InitiateReserveWithdraw { assets, reserve, xcm } => { + InitiateReserveWithdraw { assets, reserve, xcm } + }, InitiateTeleport { assets, dest, xcm } => InitiateTeleport { assets, dest, xcm }, ReportHolding { response_info, assets } => ReportHolding { response_info, assets }, BuyExecution { fees, weight_limit } => BuyExecution { fees, weight_limit }, @@ -1179,23 +1187,27 @@ impl Instruction { ClearError => ClearError, ClaimAsset { assets, ticket } => ClaimAsset { assets, ticket }, Trap(code) => Trap(code), - SubscribeVersion { query_id, max_response_weight } => - SubscribeVersion { query_id, max_response_weight }, + SubscribeVersion { query_id, max_response_weight } => { + SubscribeVersion { query_id, max_response_weight } + }, UnsubscribeVersion => UnsubscribeVersion, BurnAsset(assets) => BurnAsset(assets), ExpectAsset(assets) => ExpectAsset(assets), ExpectOrigin(origin) => ExpectOrigin(origin), ExpectError(error) => ExpectError(error), ExpectTransactStatus(transact_status) => ExpectTransactStatus(transact_status), - QueryPallet { module_name, response_info } => - QueryPallet { module_name, response_info }, - ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => - ExpectPallet { index, name, module_name, crate_major, min_crate_minor }, + QueryPallet { module_name, response_info } => { + QueryPallet { module_name, response_info } + }, + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => { + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } + }, ReportTransactStatus(response_info) => ReportTransactStatus(response_info), ClearTransactStatus => ClearTransactStatus, UniversalOrigin(j) => UniversalOrigin(j), - ExportMessage { network, destination, xcm } => - ExportMessage { network, destination, xcm }, + ExportMessage { network, destination, xcm } => { + ExportMessage { network, destination, xcm } + }, LockAsset { asset, unlocker } => LockAsset { asset, unlocker }, UnlockAsset { asset, target } => UnlockAsset { asset, target }, NoteUnlockable { asset, owner } => NoteUnlockable { asset, owner }, @@ -1204,8 +1216,9 @@ impl Instruction { SetTopic(topic) => SetTopic(topic), ClearTopic => ClearTopic, AliasOrigin(location) => AliasOrigin(location), - UnpaidExecution { weight_limit, check_origin } => - UnpaidExecution { weight_limit, check_origin }, + UnpaidExecution { weight_limit, check_origin } => { + UnpaidExecution { weight_limit, check_origin } + }, } } } @@ -1218,27 +1231,34 @@ impl> GetWeight for Instruction { WithdrawAsset(assets) => W::withdraw_asset(assets), ReserveAssetDeposited(assets) => W::reserve_asset_deposited(assets), ReceiveTeleportedAsset(assets) => W::receive_teleported_asset(assets), - QueryResponse { query_id, response, max_weight, querier } => - W::query_response(query_id, response, max_weight, querier), + QueryResponse { query_id, response, max_weight, querier } => { + W::query_response(query_id, response, max_weight, querier) + }, TransferAsset { assets, beneficiary } => W::transfer_asset(assets, beneficiary), - TransferReserveAsset { assets, dest, xcm } => - W::transfer_reserve_asset(&assets, dest, xcm), - Transact { origin_kind, require_weight_at_most, call } => - W::transact(origin_kind, require_weight_at_most, call), - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => - W::hrmp_new_channel_open_request(sender, max_message_size, max_capacity), + TransferReserveAsset { assets, dest, xcm } => { + W::transfer_reserve_asset(&assets, dest, xcm) + }, + Transact { origin_kind, require_weight_at_most, call } => { + W::transact(origin_kind, require_weight_at_most, call) + }, + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => { + W::hrmp_new_channel_open_request(sender, max_message_size, max_capacity) + }, HrmpChannelAccepted { recipient } => W::hrmp_channel_accepted(recipient), - HrmpChannelClosing { initiator, sender, recipient } => - W::hrmp_channel_closing(initiator, sender, recipient), + HrmpChannelClosing { initiator, sender, recipient } => { + W::hrmp_channel_closing(initiator, sender, recipient) + }, ClearOrigin => W::clear_origin(), DescendOrigin(who) => W::descend_origin(who), ReportError(response_info) => W::report_error(&response_info), DepositAsset { assets, beneficiary } => W::deposit_asset(assets, beneficiary), - DepositReserveAsset { assets, dest, xcm } => - W::deposit_reserve_asset(assets, dest, xcm), + DepositReserveAsset { assets, dest, xcm } => { + W::deposit_reserve_asset(assets, dest, xcm) + }, ExchangeAsset { give, want, maximal } => W::exchange_asset(give, want, maximal), - InitiateReserveWithdraw { assets, reserve, xcm } => - W::initiate_reserve_withdraw(assets, reserve, xcm), + InitiateReserveWithdraw { assets, reserve, xcm } => { + W::initiate_reserve_withdraw(assets, reserve, xcm) + }, InitiateTeleport { assets, dest, xcm } => W::initiate_teleport(assets, dest, xcm), ReportHolding { response_info, assets } => W::report_holding(&response_info, &assets), BuyExecution { fees, weight_limit } => W::buy_execution(fees, weight_limit), @@ -1248,23 +1268,27 @@ impl> GetWeight for Instruction { ClearError => W::clear_error(), ClaimAsset { assets, ticket } => W::claim_asset(assets, ticket), Trap(code) => W::trap(code), - SubscribeVersion { query_id, max_response_weight } => - W::subscribe_version(query_id, max_response_weight), + SubscribeVersion { query_id, max_response_weight } => { + W::subscribe_version(query_id, max_response_weight) + }, UnsubscribeVersion => W::unsubscribe_version(), BurnAsset(assets) => W::burn_asset(assets), ExpectAsset(assets) => W::expect_asset(assets), ExpectOrigin(origin) => W::expect_origin(origin), ExpectError(error) => W::expect_error(error), ExpectTransactStatus(transact_status) => W::expect_transact_status(transact_status), - QueryPallet { module_name, response_info } => - W::query_pallet(module_name, response_info), - ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => - W::expect_pallet(index, name, module_name, crate_major, min_crate_minor), + QueryPallet { module_name, response_info } => { + W::query_pallet(module_name, response_info) + }, + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => { + W::expect_pallet(index, name, module_name, crate_major, min_crate_minor) + }, ReportTransactStatus(response_info) => W::report_transact_status(response_info), ClearTransactStatus => W::clear_transact_status(), UniversalOrigin(j) => W::universal_origin(j), - ExportMessage { network, destination, xcm } => - W::export_message(network, destination, xcm), + ExportMessage { network, destination, xcm } => { + W::export_message(network, destination, xcm) + }, LockAsset { asset, unlocker } => W::lock_asset(asset, unlocker), UnlockAsset { asset, target } => W::unlock_asset(asset, target), NoteUnlockable { asset, owner } => W::note_unlockable(asset, owner), @@ -1273,8 +1297,9 @@ impl> GetWeight for Instruction { SetTopic(topic) => W::set_topic(topic), ClearTopic => W::clear_topic(), AliasOrigin(location) => W::alias_origin(location), - UnpaidExecution { weight_limit, check_origin } => - W::unpaid_execution(weight_limit, check_origin), + UnpaidExecution { weight_limit, check_origin } => { + W::unpaid_execution(weight_limit, check_origin) + }, } } } @@ -1306,20 +1331,22 @@ impl TryFrom> for Instruction { WithdrawAsset(assets) => Self::WithdrawAsset(assets.try_into()?), ReserveAssetDeposited(assets) => Self::ReserveAssetDeposited(assets.try_into()?), ReceiveTeleportedAsset(assets) => Self::ReceiveTeleportedAsset(assets.try_into()?), - QueryResponse { query_id, response, max_weight, querier: Some(querier) } => + QueryResponse { query_id, response, max_weight, querier: Some(querier) } => { Self::QueryResponse { query_id, querier: querier.try_into()?, response: response.try_into()?, max_weight, - }, - QueryResponse { query_id, response, max_weight, querier: None } => + } + }, + QueryResponse { query_id, response, max_weight, querier: None } => { Self::QueryResponse { query_id, querier: None, response: response.try_into()?, max_weight, - }, + } + }, TransferAsset { assets, beneficiary } => Self::TransferAsset { assets: assets.try_into()?, beneficiary: beneficiary.try_into()?, @@ -1329,13 +1356,16 @@ impl TryFrom> for Instruction { dest: dest.try_into()?, xcm: xcm.try_into()?, }, - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => - Self::HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity }, + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => { + Self::HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } + }, HrmpChannelAccepted { recipient } => Self::HrmpChannelAccepted { recipient }, - HrmpChannelClosing { initiator, sender, recipient } => - Self::HrmpChannelClosing { initiator, sender, recipient }, - Transact { origin_kind, require_weight_at_most, call } => - Self::Transact { origin_kind, require_weight_at_most, call: call.into() }, + HrmpChannelClosing { initiator, sender, recipient } => { + Self::HrmpChannelClosing { initiator, sender, recipient } + }, + Transact { origin_kind, require_weight_at_most, call } => { + Self::Transact { origin_kind, require_weight_at_most, call: call.into() } + }, ReportError(response_info) => Self::ReportError(QueryResponseInfo { query_id: response_info.query_id, destination: response_info.destination.try_into().map_err(|_| ())?, @@ -1396,21 +1426,26 @@ impl TryFrom> for Instruction { Self::ClaimAsset { assets, ticket } }, Trap(code) => Self::Trap(code), - SubscribeVersion { query_id, max_response_weight } => - Self::SubscribeVersion { query_id, max_response_weight }, + SubscribeVersion { query_id, max_response_weight } => { + Self::SubscribeVersion { query_id, max_response_weight } + }, UnsubscribeVersion => Self::UnsubscribeVersion, BurnAsset(assets) => Self::BurnAsset(assets.try_into()?), ExpectAsset(assets) => Self::ExpectAsset(assets.try_into()?), - ExpectOrigin(maybe_origin) => - Self::ExpectOrigin(maybe_origin.map(|origin| origin.try_into()).transpose()?), + ExpectOrigin(maybe_origin) => { + Self::ExpectOrigin(maybe_origin.map(|origin| origin.try_into()).transpose()?) + }, ExpectError(maybe_error) => Self::ExpectError(maybe_error), ExpectTransactStatus(maybe_error_code) => Self::ExpectTransactStatus(maybe_error_code), - QueryPallet { module_name, response_info } => - Self::QueryPallet { module_name, response_info: response_info.try_into()? }, - ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => - Self::ExpectPallet { index, name, module_name, crate_major, min_crate_minor }, - ReportTransactStatus(response_info) => - Self::ReportTransactStatus(response_info.try_into()?), + QueryPallet { module_name, response_info } => { + Self::QueryPallet { module_name, response_info: response_info.try_into()? } + }, + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => { + Self::ExpectPallet { index, name, module_name, crate_major, min_crate_minor } + }, + ReportTransactStatus(response_info) => { + Self::ReportTransactStatus(response_info.try_into()?) + }, ClearTransactStatus => Self::ClearTransactStatus, UniversalOrigin(junction) => Self::UniversalOrigin(junction.try_into()?), ExportMessage { network, destination, xcm } => Self::ExportMessage { @@ -1418,14 +1453,18 @@ impl TryFrom> for Instruction { destination: destination.try_into()?, xcm: xcm.try_into()?, }, - LockAsset { asset, unlocker } => - Self::LockAsset { asset: asset.try_into()?, unlocker: unlocker.try_into()? }, - UnlockAsset { asset, target } => - Self::UnlockAsset { asset: asset.try_into()?, target: target.try_into()? }, - NoteUnlockable { asset, owner } => - Self::NoteUnlockable { asset: asset.try_into()?, owner: owner.try_into()? }, - RequestUnlock { asset, locker } => - Self::RequestUnlock { asset: asset.try_into()?, locker: locker.try_into()? }, + LockAsset { asset, unlocker } => { + Self::LockAsset { asset: asset.try_into()?, unlocker: unlocker.try_into()? } + }, + UnlockAsset { asset, target } => { + Self::UnlockAsset { asset: asset.try_into()?, target: target.try_into()? } + }, + NoteUnlockable { asset, owner } => { + Self::NoteUnlockable { asset: asset.try_into()?, owner: owner.try_into()? } + }, + RequestUnlock { asset, locker } => { + Self::RequestUnlock { asset: asset.try_into()?, locker: locker.try_into()? } + }, SetFeesMode { jit_withdraw } => Self::SetFeesMode { jit_withdraw }, SetTopic(topic) => Self::SetTopic(topic), ClearTopic => Self::ClearTopic, diff --git a/polkadot/xcm/src/v3/multiasset.rs b/polkadot/xcm/src/v3/multiasset.rs index b078c9f456777..735226ef7232a 100644 --- a/polkadot/xcm/src/v3/multiasset.rs +++ b/polkadot/xcm/src/v3/multiasset.rs @@ -284,8 +284,9 @@ impl Decode for Fungibility { match UncheckedFungibility::decode(input)? { UncheckedFungibility::Fungible(a) if a != 0 => Ok(Self::Fungible(a)), UncheckedFungibility::NonFungible(i) => Ok(Self::NonFungible(i)), - UncheckedFungibility::Fungible(_) => - Err("Fungible asset of zero amount is not allowed".into()), + UncheckedFungibility::Fungible(_) => { + Err("Fungible asset of zero amount is not allowed".into()) + }, } } } @@ -625,8 +626,9 @@ impl From> for MultiAssets { ( MultiAsset { fun: Fungibility::NonFungible(a_instance), id: a_id }, MultiAsset { fun: Fungibility::NonFungible(b_instance), id: b_id }, - ) if a_id == b_id && a_instance == b_instance => - MultiAsset { fun: Fungibility::NonFungible(a_instance), id: a_id }, + ) if a_id == b_id && a_instance == b_instance => { + MultiAsset { fun: Fungibility::NonFungible(a_instance), id: a_id } + }, (to_push, to_remember) => { res.push(to_push); to_remember @@ -660,7 +662,7 @@ impl MultiAssets { /// `From::>::from` which is infallible. pub fn from_sorted_and_deduplicated(r: Vec) -> Result { if r.is_empty() { - return Ok(Self(Vec::new())) + return Ok(Self(Vec::new())); } r.iter().skip(1).try_fold(&r[0], |a, b| -> Result<&MultiAsset, ()> { if a.id < b.id || a < b && (a.is_non_fungible(None) || b.is_non_fungible(None)) { @@ -702,11 +704,13 @@ impl MultiAssets { match (&a.fun, &mut asset.fun) { (Fungibility::Fungible(amount), Fungibility::Fungible(balance)) => { *balance = balance.saturating_add(*amount); - return + return; }, (Fungibility::NonFungible(inst1), Fungibility::NonFungible(inst2)) if inst1 == inst2 => - return, + { + return + }, _ => (), } } @@ -814,8 +818,9 @@ impl TryFrom for WildMultiAsset { use NewWildMultiAsset::*; Ok(match new { AllOf { id, fun } => Self::AllOf { id: id.try_into()?, fun: fun.try_into()? }, - AllOfCounted { id, fun, count } => - Self::AllOfCounted { id: id.try_into()?, fun: fun.try_into()?, count }, + AllOfCounted { id, fun, count } => { + Self::AllOfCounted { id: id.try_into()?, fun: fun.try_into()?, count } + }, All => Self::All, AllCounted(count) => Self::AllCounted(count), }) @@ -828,8 +833,9 @@ impl WildMultiAsset { use WildMultiAsset::*; match self { AllOfCounted { count: 0, .. } | AllCounted(0) => false, - AllOf { fun, id } | AllOfCounted { id, fun, .. } => - inner.fun.is_kind(*fun) && &inner.id == id, + AllOf { fun, id } | AllOfCounted { id, fun, .. } => { + inner.fun.is_kind(*fun) && &inner.id == id + }, All | AllCounted(_) => true, } } @@ -852,8 +858,9 @@ impl WildMultiAsset { ) -> Result<(), ()> { use WildMultiAsset::*; match self { - AllOf { ref mut id, .. } | AllOfCounted { ref mut id, .. } => - id.reanchor(target, context), + AllOf { ref mut id, .. } | AllOfCounted { ref mut id, .. } => { + id.reanchor(target, context) + }, All | AllCounted(_) => Ok(()), } } diff --git a/polkadot/xcm/src/v3/multilocation.rs b/polkadot/xcm/src/v3/multilocation.rs index c2da432797b19..3eba8d30e7cd6 100644 --- a/polkadot/xcm/src/v3/multilocation.rs +++ b/polkadot/xcm/src/v3/multilocation.rs @@ -229,7 +229,7 @@ impl MultiLocation { pub fn at(&self, i: usize) -> Option<&Junction> { let num_parents = self.parents as usize; if i < num_parents { - return None + return None; } self.interior.at(i - num_parents) } @@ -239,7 +239,7 @@ impl MultiLocation { pub fn at_mut(&mut self, i: usize) -> Option<&mut Junction> { let num_parents = self.parents as usize; if i < num_parents { - return None + return None; } self.interior.at_mut(i - num_parents) } @@ -277,7 +277,7 @@ impl MultiLocation { /// ``` pub fn match_and_split(&self, prefix: &MultiLocation) -> Option<&Junction> { if self.parents != prefix.parents { - return None + return None; } self.interior.match_and_split(&prefix.interior) } @@ -341,12 +341,12 @@ impl MultiLocation { let prepend_interior = prefix.interior.len().saturating_sub(self.parents as usize); let final_interior = self.interior.len().saturating_add(prepend_interior); if final_interior > super::junctions::MAX_JUNCTIONS { - return Err(prefix) + return Err(prefix); } let suffix_parents = (self.parents as usize).saturating_sub(prefix.interior.len()); let final_parents = (prefix.parents as usize).saturating_add(suffix_parents); if final_parents > 255 { - return Err(prefix) + return Err(prefix); } // cancel out the final item on the prefix interior for one of the suffix's parents. @@ -433,7 +433,7 @@ impl MultiLocation { pub fn simplify(&mut self, context: &Junctions) { if context.len() < self.parents as usize { // Not enough context - return + return; } while self.parents > 0 { let maybe = context.at(context.len() - (self.parents as usize)); @@ -454,7 +454,7 @@ impl MultiLocation { while let Some(j) = clone.last() { if matches!(j, Junction::Parachain(_) | Junction::GlobalConsensus(_)) { // return chain subsection - return clone + return clone; } else { (clone, _) = clone.split_last_interior(); } @@ -529,10 +529,10 @@ mod tests { fn conversion_works() { let x: MultiLocation = Parent.into(); assert_eq!(x, MultiLocation { parents: 1, interior: Here }); - // let x: MultiLocation = (Parent,).into(); - // assert_eq!(x, MultiLocation { parents: 1, interior: Here }); - // let x: MultiLocation = (Parent, Parent).into(); - // assert_eq!(x, MultiLocation { parents: 2, interior: Here }); + // let x: MultiLocation = (Parent,).into(); + // assert_eq!(x, MultiLocation { parents: 1, interior: Here }); + // let x: MultiLocation = (Parent, Parent).into(); + // assert_eq!(x, MultiLocation { parents: 2, interior: Here }); let x: MultiLocation = (Parent, Parent, OnlyChild).into(); assert_eq!(x, MultiLocation { parents: 2, interior: OnlyChild.into() }); let x: MultiLocation = OnlyChild.into(); diff --git a/polkadot/xcm/src/v3/traits.rs b/polkadot/xcm/src/v3/traits.rs index 6084955056098..f3a76b120604f 100644 --- a/polkadot/xcm/src/v3/traits.rs +++ b/polkadot/xcm/src/v3/traits.rs @@ -224,8 +224,9 @@ impl TryFrom for Error { impl From for Error { fn from(e: SendError) -> Self { match e { - SendError::NotApplicable | SendError::Unroutable | SendError::MissingArgument => - Error::Unroutable, + SendError::NotApplicable | SendError::Unroutable | SendError::MissingArgument => { + Error::Unroutable + }, SendError::Transport(s) => Error::Transport(s), SendError::DestinationUnsupported => Error::DestinationUnsupported, SendError::ExceedsMaxMessageSize => Error::ExceedsMaxMessageSize, @@ -295,13 +296,12 @@ pub trait ExecuteXcm { weight_limit: Weight, weight_credit: Weight, ) -> Outcome { - let pre = match Self::prepare(message) { - Ok(x) => x, - Err(_) => return Outcome::Error(Error::WeightNotComputable), + let Ok(pre) = Self::prepare(message) else { + return Outcome::Error(Error::WeightNotComputable); }; let xcm_weight = pre.weight_of(); if xcm_weight.any_gt(weight_limit) { - return Outcome::Error(Error::WeightLimitReached(xcm_weight)) + return Outcome::Error(Error::WeightLimitReached(xcm_weight)); } Self::execute(origin, pre, id, weight_credit) } @@ -339,13 +339,12 @@ pub trait ExecuteXcm { weight_limit: Weight, weight_credit: Weight, ) -> Outcome { - let pre = match Self::prepare(message) { - Ok(x) => x, - Err(_) => return Outcome::Error(Error::WeightNotComputable), + let Ok(pre) = Self::prepare(message) else { + return Outcome::Error(Error::WeightNotComputable); }; let xcm_weight = pre.weight_of(); if xcm_weight.any_gt(weight_limit) { - return Outcome::Error(Error::WeightLimitReached(xcm_weight)) + return Outcome::Error(Error::WeightLimitReached(xcm_weight)); } Self::execute(origin, pre, &mut hash, weight_credit) } diff --git a/polkadot/xcm/src/v4/asset.rs b/polkadot/xcm/src/v4/asset.rs index ed2c8c8671d96..73af231867caa 100644 --- a/polkadot/xcm/src/v4/asset.rs +++ b/polkadot/xcm/src/v4/asset.rs @@ -313,8 +313,9 @@ impl Decode for Fungibility { match UncheckedFungibility::decode(input)? { UncheckedFungibility::Fungible(a) if a != 0 => Ok(Self::Fungible(a)), UncheckedFungibility::NonFungible(i) => Ok(Self::NonFungible(i)), - UncheckedFungibility::Fungible(_) => - Err("Fungible asset of zero amount is not allowed".into()), + UncheckedFungibility::Fungible(_) => { + Err("Fungible asset of zero amount is not allowed".into()) + }, } } } @@ -674,8 +675,9 @@ impl From> for Assets { ( Asset { fun: Fungibility::NonFungible(a_instance), id: a_id }, Asset { fun: Fungibility::NonFungible(b_instance), id: b_id }, - ) if a_id == b_id && a_instance == b_instance => - Asset { fun: Fungibility::NonFungible(a_instance), id: a_id }, + ) if a_id == b_id && a_instance == b_instance => { + Asset { fun: Fungibility::NonFungible(a_instance), id: a_id } + }, (to_push, to_remember) => { res.push(to_push); to_remember @@ -709,7 +711,7 @@ impl Assets { /// `From::>::from` which is infallible. pub fn from_sorted_and_deduplicated(r: Vec) -> Result { if r.is_empty() { - return Ok(Self(Vec::new())) + return Ok(Self(Vec::new())); } r.iter().skip(1).try_fold(&r[0], |a, b| -> Result<&Asset, ()> { if a.id < b.id || a < b && (a.is_non_fungible(None) || b.is_non_fungible(None)) { @@ -751,11 +753,13 @@ impl Assets { match (&a.fun, &mut asset.fun) { (Fungibility::Fungible(amount), Fungibility::Fungible(balance)) => { *balance = balance.saturating_add(*amount); - return + return; }, (Fungibility::NonFungible(inst1), Fungibility::NonFungible(inst2)) if inst1 == inst2 => - return, + { + return + }, _ => (), } } @@ -865,8 +869,9 @@ impl TryFrom for WildAsset { Ok(match old { AllOf { id, fun } => Self::AllOf { id: id.try_into()?, fun: fun.try_into()? }, All => Self::All, - AllOfCounted { id, fun, count } => - Self::AllOfCounted { id: id.try_into()?, fun: fun.try_into()?, count }, + AllOfCounted { id, fun, count } => { + Self::AllOfCounted { id: id.try_into()?, fun: fun.try_into()?, count } + }, AllCounted(count) => Self::AllCounted(count), }) } @@ -878,8 +883,9 @@ impl TryFrom for WildAsset { use NewWildAsset::*; Ok(match new { AllOf { id, fun } => Self::AllOf { id: id.try_into()?, fun: fun.try_into()? }, - AllOfCounted { id, fun, count } => - Self::AllOfCounted { id: id.try_into()?, fun: fun.try_into()?, count }, + AllOfCounted { id, fun, count } => { + Self::AllOfCounted { id: id.try_into()?, fun: fun.try_into()?, count } + }, All => Self::All, AllCounted(count) => Self::AllCounted(count), }) @@ -892,8 +898,9 @@ impl WildAsset { use WildAsset::*; match self { AllOfCounted { count: 0, .. } | AllCounted(0) => false, - AllOf { fun, id } | AllOfCounted { id, fun, .. } => - inner.fun.is_kind(*fun) && &inner.id == id, + AllOf { fun, id } | AllOfCounted { id, fun, .. } => { + inner.fun.is_kind(*fun) && &inner.id == id + }, All | AllCounted(_) => true, } } @@ -912,8 +919,9 @@ impl WildAsset { pub fn reanchor(&mut self, target: &Location, context: &InteriorLocation) -> Result<(), ()> { use WildAsset::*; match self { - AllOf { ref mut id, .. } | AllOfCounted { ref mut id, .. } => - id.reanchor(target, context), + AllOf { ref mut id, .. } | AllOfCounted { ref mut id, .. } => { + id.reanchor(target, context) + }, All | AllCounted(_) => Ok(()), } } diff --git a/polkadot/xcm/src/v4/junction.rs b/polkadot/xcm/src/v4/junction.rs index 4d85ac79bc7fd..f563411c886af 100644 --- a/polkadot/xcm/src/v4/junction.rs +++ b/polkadot/xcm/src/v4/junction.rs @@ -230,8 +230,9 @@ impl<'a> TryFrom<&'a Junction> for BoundedSlice<'a, u8, ConstU32<32>> { type Error = (); fn try_from(key: &'a Junction) -> Result { match key { - Junction::GeneralKey { length, data } => - BoundedSlice::try_from(&data[..data.len().min(*length as usize)]).map_err(|_| ()), + Junction::GeneralKey { length, data } => { + BoundedSlice::try_from(&data[..data.len().min(*length as usize)]).map_err(|_| ()) + }, _ => Err(()), } } @@ -261,12 +262,15 @@ impl TryFrom for Junction { use OldJunction::*; Ok(match value { Parachain(id) => Self::Parachain(id), - AccountId32 { network: maybe_network, id } => - Self::AccountId32 { network: maybe_network.map(|network| network.into()), id }, - AccountIndex64 { network: maybe_network, index } => - Self::AccountIndex64 { network: maybe_network.map(|network| network.into()), index }, - AccountKey20 { network: maybe_network, key } => - Self::AccountKey20 { network: maybe_network.map(|network| network.into()), key }, + AccountId32 { network: maybe_network, id } => { + Self::AccountId32 { network: maybe_network.map(|network| network.into()), id } + }, + AccountIndex64 { network: maybe_network, index } => { + Self::AccountIndex64 { network: maybe_network.map(|network| network.into()), index } + }, + AccountKey20 { network: maybe_network, key } => { + Self::AccountKey20 { network: maybe_network.map(|network| network.into()), key } + }, PalletInstance(index) => Self::PalletInstance(index), GeneralIndex(id) => Self::GeneralIndex(id), GeneralKey { length, data } => Self::GeneralKey { length, data }, @@ -284,12 +288,15 @@ impl TryFrom for Junction { use NewJunction::*; Ok(match value { Parachain(id) => Self::Parachain(id), - AccountId32 { network: maybe_network, id } => - Self::AccountId32 { network: maybe_network.map(|network| network.into()), id }, - AccountIndex64 { network: maybe_network, index } => - Self::AccountIndex64 { network: maybe_network.map(|network| network.into()), index }, - AccountKey20 { network: maybe_network, key } => - Self::AccountKey20 { network: maybe_network.map(|network| network.into()), key }, + AccountId32 { network: maybe_network, id } => { + Self::AccountId32 { network: maybe_network.map(|network| network.into()), id } + }, + AccountIndex64 { network: maybe_network, index } => { + Self::AccountIndex64 { network: maybe_network.map(|network| network.into()), index } + }, + AccountKey20 { network: maybe_network, key } => { + Self::AccountKey20 { network: maybe_network.map(|network| network.into()), key } + }, PalletInstance(index) => Self::PalletInstance(index), GeneralIndex(id) => Self::GeneralIndex(id), GeneralKey { length, data } => Self::GeneralKey { length, data }, diff --git a/polkadot/xcm/src/v4/junctions.rs b/polkadot/xcm/src/v4/junctions.rs index 80758f9856041..57b87ce601bfe 100644 --- a/polkadot/xcm/src/v4/junctions.rs +++ b/polkadot/xcm/src/v4/junctions.rs @@ -243,7 +243,7 @@ impl Junctions { /// junctions in `self`, implying that relative refers into a different global consensus. pub fn within_global(mut self, relative: Location) -> Result { if self.len() <= relative.parent_count() as usize { - return Err(()) + return Err(()); } for _ in 0..relative.parent_count() { self.take_last(); @@ -508,7 +508,7 @@ impl Junctions { pub fn append_with(&mut self, suffix: impl Into) -> Result<(), Junctions> { let suffix = suffix.into(); if self.len().saturating_add(suffix.len()) > MAX_JUNCTIONS { - return Err(suffix) + return Err(suffix); } for j in suffix.into_iter() { self.push(j).expect("Already checked the sum of the len()s; qed") @@ -552,14 +552,14 @@ impl Junctions { /// ``` pub fn match_and_split(&self, prefix: &Junctions) -> Option<&Junction> { if prefix.len() + 1 != self.len() { - return None + return None; } for i in 0..prefix.len() { if prefix.at(i) != self.at(i) { - return None + return None; } } - return self.at(prefix.len()) + return self.at(prefix.len()); } pub fn starts_with(&self, prefix: &Junctions) -> bool { diff --git a/polkadot/xcm/src/v4/location.rs b/polkadot/xcm/src/v4/location.rs index 1e31bd3b815f0..84c4af7d80d2a 100644 --- a/polkadot/xcm/src/v4/location.rs +++ b/polkadot/xcm/src/v4/location.rs @@ -236,7 +236,7 @@ impl Location { pub fn at(&self, i: usize) -> Option<&Junction> { let num_parents = self.parents as usize; if i < num_parents { - return None + return None; } self.interior.at(i - num_parents) } @@ -246,7 +246,7 @@ impl Location { pub fn at_mut(&mut self, i: usize) -> Option<&mut Junction> { let num_parents = self.parents as usize; if i < num_parents { - return None + return None; } self.interior.at_mut(i - num_parents) } @@ -286,7 +286,7 @@ impl Location { /// ``` pub fn match_and_split(&self, prefix: &Location) -> Option<&Junction> { if self.parents != prefix.parents { - return None + return None; } self.interior.match_and_split(&prefix.interior) } @@ -356,12 +356,12 @@ impl Location { let prepend_interior = prefix.interior.len().saturating_sub(self.parents as usize); let final_interior = self.interior.len().saturating_add(prepend_interior); if final_interior > super::junctions::MAX_JUNCTIONS { - return Err(prefix) + return Err(prefix); } let suffix_parents = (self.parents as usize).saturating_sub(prefix.interior.len()); let final_parents = (prefix.parents as usize).saturating_add(suffix_parents); if final_parents > 255 { - return Err(prefix) + return Err(prefix); } // cancel out the final item on the prefix interior for one of the suffix's parents. @@ -410,7 +410,7 @@ impl Location { pub fn simplify(&mut self, context: &Junctions) { if context.len() < self.parents as usize { // Not enough context - return + return; } while self.parents > 0 { let maybe = context.at(context.len() - (self.parents as usize)); @@ -431,7 +431,7 @@ impl Location { while let Some(j) = clone.last() { if matches!(j, Junction::Parachain(_) | Junction::GlobalConsensus(_)) { // return chain subsection - return clone + return clone; } else { (clone, _) = clone.split_last_interior(); } @@ -566,10 +566,10 @@ mod tests { fn conversion_works() { let x: Location = Parent.into(); assert_eq!(x, Location { parents: 1, interior: Here }); - // let x: Location = (Parent,).into(); - // assert_eq!(x, Location { parents: 1, interior: Here }); - // let x: Location = (Parent, Parent).into(); - // assert_eq!(x, Location { parents: 2, interior: Here }); + // let x: Location = (Parent,).into(); + // assert_eq!(x, Location { parents: 1, interior: Here }); + // let x: Location = (Parent, Parent).into(); + // assert_eq!(x, Location { parents: 2, interior: Here }); let x: Location = (Parent, Parent, OnlyChild).into(); assert_eq!(x, Location { parents: 2, interior: OnlyChild.into() }); let x: Location = OnlyChild.into(); diff --git a/polkadot/xcm/src/v4/mod.rs b/polkadot/xcm/src/v4/mod.rs index 502200e849405..058472998862f 100644 --- a/polkadot/xcm/src/v4/mod.rs +++ b/polkadot/xcm/src/v4/mod.rs @@ -313,8 +313,9 @@ impl TryFrom for Response { Ok(match old { Null => Self::Null, Assets(assets) => Self::Assets(assets.try_into()?), - ExecutionResult(result) => - Self::ExecutionResult(result.map(|(num, old_error)| (num, old_error.into()))), + ExecutionResult(result) => { + Self::ExecutionResult(result.map(|(num, old_error)| (num, old_error.into()))) + }, Version(version) => Self::Version(version), PalletsInfo(pallet_info) => { let inner = pallet_info @@ -354,8 +355,9 @@ impl TryFrom for Response { BoundedVec::::try_from(inner).map_err(|_| ())?, ) }, - DispatchResult(maybe_error) => - Self::DispatchResult(maybe_error.try_into().map_err(|_| ())?), + DispatchResult(maybe_error) => { + Self::DispatchResult(maybe_error.try_into().map_err(|_| ())?) + }, }) } } @@ -1111,24 +1113,30 @@ impl Instruction { WithdrawAsset(assets) => WithdrawAsset(assets), ReserveAssetDeposited(assets) => ReserveAssetDeposited(assets), ReceiveTeleportedAsset(assets) => ReceiveTeleportedAsset(assets), - QueryResponse { query_id, response, max_weight, querier } => - QueryResponse { query_id, response, max_weight, querier }, + QueryResponse { query_id, response, max_weight, querier } => { + QueryResponse { query_id, response, max_weight, querier } + }, TransferAsset { assets, beneficiary } => TransferAsset { assets, beneficiary }, - TransferReserveAsset { assets, dest, xcm } => - TransferReserveAsset { assets, dest, xcm }, - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity }, + TransferReserveAsset { assets, dest, xcm } => { + TransferReserveAsset { assets, dest, xcm } + }, + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => { + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } + }, HrmpChannelAccepted { recipient } => HrmpChannelAccepted { recipient }, - HrmpChannelClosing { initiator, sender, recipient } => - HrmpChannelClosing { initiator, sender, recipient }, - Transact { origin_kind, require_weight_at_most, call } => - Transact { origin_kind, require_weight_at_most, call: call.into() }, + HrmpChannelClosing { initiator, sender, recipient } => { + HrmpChannelClosing { initiator, sender, recipient } + }, + Transact { origin_kind, require_weight_at_most, call } => { + Transact { origin_kind, require_weight_at_most, call: call.into() } + }, ReportError(response_info) => ReportError(response_info), DepositAsset { assets, beneficiary } => DepositAsset { assets, beneficiary }, DepositReserveAsset { assets, dest, xcm } => DepositReserveAsset { assets, dest, xcm }, ExchangeAsset { give, want, maximal } => ExchangeAsset { give, want, maximal }, - InitiateReserveWithdraw { assets, reserve, xcm } => - InitiateReserveWithdraw { assets, reserve, xcm }, + InitiateReserveWithdraw { assets, reserve, xcm } => { + InitiateReserveWithdraw { assets, reserve, xcm } + }, InitiateTeleport { assets, dest, xcm } => InitiateTeleport { assets, dest, xcm }, ReportHolding { response_info, assets } => ReportHolding { response_info, assets }, BuyExecution { fees, weight_limit } => BuyExecution { fees, weight_limit }, @@ -1140,23 +1148,27 @@ impl Instruction { ClearError => ClearError, ClaimAsset { assets, ticket } => ClaimAsset { assets, ticket }, Trap(code) => Trap(code), - SubscribeVersion { query_id, max_response_weight } => - SubscribeVersion { query_id, max_response_weight }, + SubscribeVersion { query_id, max_response_weight } => { + SubscribeVersion { query_id, max_response_weight } + }, UnsubscribeVersion => UnsubscribeVersion, BurnAsset(assets) => BurnAsset(assets), ExpectAsset(assets) => ExpectAsset(assets), ExpectOrigin(origin) => ExpectOrigin(origin), ExpectError(error) => ExpectError(error), ExpectTransactStatus(transact_status) => ExpectTransactStatus(transact_status), - QueryPallet { module_name, response_info } => - QueryPallet { module_name, response_info }, - ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => - ExpectPallet { index, name, module_name, crate_major, min_crate_minor }, + QueryPallet { module_name, response_info } => { + QueryPallet { module_name, response_info } + }, + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => { + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } + }, ReportTransactStatus(response_info) => ReportTransactStatus(response_info), ClearTransactStatus => ClearTransactStatus, UniversalOrigin(j) => UniversalOrigin(j), - ExportMessage { network, destination, xcm } => - ExportMessage { network, destination, xcm }, + ExportMessage { network, destination, xcm } => { + ExportMessage { network, destination, xcm } + }, LockAsset { asset, unlocker } => LockAsset { asset, unlocker }, UnlockAsset { asset, target } => UnlockAsset { asset, target }, NoteUnlockable { asset, owner } => NoteUnlockable { asset, owner }, @@ -1165,8 +1177,9 @@ impl Instruction { SetTopic(topic) => SetTopic(topic), ClearTopic => ClearTopic, AliasOrigin(location) => AliasOrigin(location), - UnpaidExecution { weight_limit, check_origin } => - UnpaidExecution { weight_limit, check_origin }, + UnpaidExecution { weight_limit, check_origin } => { + UnpaidExecution { weight_limit, check_origin } + }, } } } @@ -1179,27 +1192,34 @@ impl> GetWeight for Instruction { WithdrawAsset(assets) => W::withdraw_asset(assets), ReserveAssetDeposited(assets) => W::reserve_asset_deposited(assets), ReceiveTeleportedAsset(assets) => W::receive_teleported_asset(assets), - QueryResponse { query_id, response, max_weight, querier } => - W::query_response(query_id, response, max_weight, querier), + QueryResponse { query_id, response, max_weight, querier } => { + W::query_response(query_id, response, max_weight, querier) + }, TransferAsset { assets, beneficiary } => W::transfer_asset(assets, beneficiary), - TransferReserveAsset { assets, dest, xcm } => - W::transfer_reserve_asset(&assets, dest, xcm), - Transact { origin_kind, require_weight_at_most, call } => - W::transact(origin_kind, require_weight_at_most, call), - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => - W::hrmp_new_channel_open_request(sender, max_message_size, max_capacity), + TransferReserveAsset { assets, dest, xcm } => { + W::transfer_reserve_asset(&assets, dest, xcm) + }, + Transact { origin_kind, require_weight_at_most, call } => { + W::transact(origin_kind, require_weight_at_most, call) + }, + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => { + W::hrmp_new_channel_open_request(sender, max_message_size, max_capacity) + }, HrmpChannelAccepted { recipient } => W::hrmp_channel_accepted(recipient), - HrmpChannelClosing { initiator, sender, recipient } => - W::hrmp_channel_closing(initiator, sender, recipient), + HrmpChannelClosing { initiator, sender, recipient } => { + W::hrmp_channel_closing(initiator, sender, recipient) + }, ClearOrigin => W::clear_origin(), DescendOrigin(who) => W::descend_origin(who), ReportError(response_info) => W::report_error(&response_info), DepositAsset { assets, beneficiary } => W::deposit_asset(assets, beneficiary), - DepositReserveAsset { assets, dest, xcm } => - W::deposit_reserve_asset(assets, dest, xcm), + DepositReserveAsset { assets, dest, xcm } => { + W::deposit_reserve_asset(assets, dest, xcm) + }, ExchangeAsset { give, want, maximal } => W::exchange_asset(give, want, maximal), - InitiateReserveWithdraw { assets, reserve, xcm } => - W::initiate_reserve_withdraw(assets, reserve, xcm), + InitiateReserveWithdraw { assets, reserve, xcm } => { + W::initiate_reserve_withdraw(assets, reserve, xcm) + }, InitiateTeleport { assets, dest, xcm } => W::initiate_teleport(assets, dest, xcm), ReportHolding { response_info, assets } => W::report_holding(&response_info, &assets), BuyExecution { fees, weight_limit } => W::buy_execution(fees, weight_limit), @@ -1209,23 +1229,27 @@ impl> GetWeight for Instruction { ClearError => W::clear_error(), ClaimAsset { assets, ticket } => W::claim_asset(assets, ticket), Trap(code) => W::trap(code), - SubscribeVersion { query_id, max_response_weight } => - W::subscribe_version(query_id, max_response_weight), + SubscribeVersion { query_id, max_response_weight } => { + W::subscribe_version(query_id, max_response_weight) + }, UnsubscribeVersion => W::unsubscribe_version(), BurnAsset(assets) => W::burn_asset(assets), ExpectAsset(assets) => W::expect_asset(assets), ExpectOrigin(origin) => W::expect_origin(origin), ExpectError(error) => W::expect_error(error), ExpectTransactStatus(transact_status) => W::expect_transact_status(transact_status), - QueryPallet { module_name, response_info } => - W::query_pallet(module_name, response_info), - ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => - W::expect_pallet(index, name, module_name, crate_major, min_crate_minor), + QueryPallet { module_name, response_info } => { + W::query_pallet(module_name, response_info) + }, + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => { + W::expect_pallet(index, name, module_name, crate_major, min_crate_minor) + }, ReportTransactStatus(response_info) => W::report_transact_status(response_info), ClearTransactStatus => W::clear_transact_status(), UniversalOrigin(j) => W::universal_origin(j), - ExportMessage { network, destination, xcm } => - W::export_message(network, destination, xcm), + ExportMessage { network, destination, xcm } => { + W::export_message(network, destination, xcm) + }, LockAsset { asset, unlocker } => W::lock_asset(asset, unlocker), UnlockAsset { asset, target } => W::unlock_asset(asset, target), NoteUnlockable { asset, owner } => W::note_unlockable(asset, owner), @@ -1234,8 +1258,9 @@ impl> GetWeight for Instruction { SetTopic(topic) => W::set_topic(topic), ClearTopic => W::clear_topic(), AliasOrigin(location) => W::alias_origin(location), - UnpaidExecution { weight_limit, check_origin } => - W::unpaid_execution(weight_limit, check_origin), + UnpaidExecution { weight_limit, check_origin } => { + W::unpaid_execution(weight_limit, check_origin) + }, } } } @@ -1275,20 +1300,22 @@ impl TryFrom> for Instructi WithdrawAsset(assets) => Self::WithdrawAsset(assets.try_into()?), ReserveAssetDeposited(assets) => Self::ReserveAssetDeposited(assets.try_into()?), ReceiveTeleportedAsset(assets) => Self::ReceiveTeleportedAsset(assets.try_into()?), - QueryResponse { query_id, response, max_weight, querier: Some(querier) } => + QueryResponse { query_id, response, max_weight, querier: Some(querier) } => { Self::QueryResponse { query_id, querier: querier.try_into()?, response: response.try_into()?, max_weight, - }, - QueryResponse { query_id, response, max_weight, querier: None } => + } + }, + QueryResponse { query_id, response, max_weight, querier: None } => { Self::QueryResponse { query_id, querier: None, response: response.try_into()?, max_weight, - }, + } + }, TransferAsset { assets, beneficiary } => Self::TransferAsset { assets: assets.try_into()?, beneficiary: beneficiary.try_into()?, @@ -1298,11 +1325,13 @@ impl TryFrom> for Instructi dest: dest.try_into()?, xcm: xcm.try_into()?, }, - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => - Self::HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity }, + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => { + Self::HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } + }, HrmpChannelAccepted { recipient } => Self::HrmpChannelAccepted { recipient }, - HrmpChannelClosing { initiator, sender, recipient } => - Self::HrmpChannelClosing { initiator, sender, recipient }, + HrmpChannelClosing { initiator, sender, recipient } => { + Self::HrmpChannelClosing { initiator, sender, recipient } + }, Transact { origin_kind, mut call, fallback_max_weight } => { // We first try to decode the call, if we can't, we use the fallback weight, // if there's no fallback, we just return `Weight::MAX`. @@ -1381,13 +1410,15 @@ impl TryFrom> for Instructi Self::ClaimAsset { assets, ticket } }, Trap(code) => Self::Trap(code), - SubscribeVersion { query_id, max_response_weight } => - Self::SubscribeVersion { query_id, max_response_weight }, + SubscribeVersion { query_id, max_response_weight } => { + Self::SubscribeVersion { query_id, max_response_weight } + }, UnsubscribeVersion => Self::UnsubscribeVersion, BurnAsset(assets) => Self::BurnAsset(assets.try_into()?), ExpectAsset(assets) => Self::ExpectAsset(assets.try_into()?), - ExpectOrigin(maybe_origin) => - Self::ExpectOrigin(maybe_origin.map(|origin| origin.try_into()).transpose()?), + ExpectOrigin(maybe_origin) => { + Self::ExpectOrigin(maybe_origin.map(|origin| origin.try_into()).transpose()?) + }, ExpectError(maybe_error) => Self::ExpectError( maybe_error .map(|(num, new_error)| (num, new_error.try_into())) @@ -1395,12 +1426,15 @@ impl TryFrom> for Instructi .transpose()?, ), ExpectTransactStatus(maybe_error_code) => Self::ExpectTransactStatus(maybe_error_code), - QueryPallet { module_name, response_info } => - Self::QueryPallet { module_name, response_info: response_info.try_into()? }, - ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => - Self::ExpectPallet { index, name, module_name, crate_major, min_crate_minor }, - ReportTransactStatus(response_info) => - Self::ReportTransactStatus(response_info.try_into()?), + QueryPallet { module_name, response_info } => { + Self::QueryPallet { module_name, response_info: response_info.try_into()? } + }, + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => { + Self::ExpectPallet { index, name, module_name, crate_major, min_crate_minor } + }, + ReportTransactStatus(response_info) => { + Self::ReportTransactStatus(response_info.try_into()?) + }, ClearTransactStatus => Self::ClearTransactStatus, UniversalOrigin(junction) => Self::UniversalOrigin(junction.try_into()?), ExportMessage { network, destination, xcm } => Self::ExportMessage { @@ -1408,14 +1442,18 @@ impl TryFrom> for Instructi destination: destination.try_into()?, xcm: xcm.try_into()?, }, - LockAsset { asset, unlocker } => - Self::LockAsset { asset: asset.try_into()?, unlocker: unlocker.try_into()? }, - UnlockAsset { asset, target } => - Self::UnlockAsset { asset: asset.try_into()?, target: target.try_into()? }, - NoteUnlockable { asset, owner } => - Self::NoteUnlockable { asset: asset.try_into()?, owner: owner.try_into()? }, - RequestUnlock { asset, locker } => - Self::RequestUnlock { asset: asset.try_into()?, locker: locker.try_into()? }, + LockAsset { asset, unlocker } => { + Self::LockAsset { asset: asset.try_into()?, unlocker: unlocker.try_into()? } + }, + UnlockAsset { asset, target } => { + Self::UnlockAsset { asset: asset.try_into()?, target: target.try_into()? } + }, + NoteUnlockable { asset, owner } => { + Self::NoteUnlockable { asset: asset.try_into()?, owner: owner.try_into()? } + }, + RequestUnlock { asset, locker } => { + Self::RequestUnlock { asset: asset.try_into()?, locker: locker.try_into()? } + }, SetFeesMode { jit_withdraw } => Self::SetFeesMode { jit_withdraw }, SetTopic(topic) => Self::SetTopic(topic), ClearTopic => Self::ClearTopic, @@ -1444,20 +1482,22 @@ impl TryFrom> for Instruction { WithdrawAsset(assets) => Self::WithdrawAsset(assets.try_into()?), ReserveAssetDeposited(assets) => Self::ReserveAssetDeposited(assets.try_into()?), ReceiveTeleportedAsset(assets) => Self::ReceiveTeleportedAsset(assets.try_into()?), - QueryResponse { query_id, response, max_weight, querier: Some(querier) } => + QueryResponse { query_id, response, max_weight, querier: Some(querier) } => { Self::QueryResponse { query_id, querier: querier.try_into()?, response: response.try_into()?, max_weight, - }, - QueryResponse { query_id, response, max_weight, querier: None } => + } + }, + QueryResponse { query_id, response, max_weight, querier: None } => { Self::QueryResponse { query_id, querier: None, response: response.try_into()?, max_weight, - }, + } + }, TransferAsset { assets, beneficiary } => Self::TransferAsset { assets: assets.try_into()?, beneficiary: beneficiary.try_into()?, @@ -1467,13 +1507,16 @@ impl TryFrom> for Instruction { dest: dest.try_into()?, xcm: xcm.try_into()?, }, - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => - Self::HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity }, + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => { + Self::HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } + }, HrmpChannelAccepted { recipient } => Self::HrmpChannelAccepted { recipient }, - HrmpChannelClosing { initiator, sender, recipient } => - Self::HrmpChannelClosing { initiator, sender, recipient }, - Transact { origin_kind, require_weight_at_most, call } => - Self::Transact { origin_kind, require_weight_at_most, call: call.into() }, + HrmpChannelClosing { initiator, sender, recipient } => { + Self::HrmpChannelClosing { initiator, sender, recipient } + }, + Transact { origin_kind, require_weight_at_most, call } => { + Self::Transact { origin_kind, require_weight_at_most, call: call.into() } + }, ReportError(response_info) => Self::ReportError(QueryResponseInfo { query_id: response_info.query_id, destination: response_info.destination.try_into().map_err(|_| ())?, @@ -1532,8 +1575,9 @@ impl TryFrom> for Instruction { Self::ClaimAsset { assets, ticket } }, Trap(code) => Self::Trap(code), - SubscribeVersion { query_id, max_response_weight } => - Self::SubscribeVersion { query_id, max_response_weight }, + SubscribeVersion { query_id, max_response_weight } => { + Self::SubscribeVersion { query_id, max_response_weight } + }, UnsubscribeVersion => Self::UnsubscribeVersion, BurnAsset(assets) => Self::BurnAsset(assets.try_into()?), ExpectAsset(assets) => Self::ExpectAsset(assets.try_into()?), @@ -1548,13 +1592,16 @@ impl TryFrom> for Instruction { module_name, response_info: response_info.try_into().map_err(|_| ())?, }, - ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => - Self::ExpectPallet { index, name, module_name, crate_major, min_crate_minor }, - ReportTransactStatus(response_info) => - Self::ReportTransactStatus(response_info.try_into().map_err(|_| ())?), + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => { + Self::ExpectPallet { index, name, module_name, crate_major, min_crate_minor } + }, + ReportTransactStatus(response_info) => { + Self::ReportTransactStatus(response_info.try_into().map_err(|_| ())?) + }, ClearTransactStatus => Self::ClearTransactStatus, - UniversalOrigin(junction) => - Self::UniversalOrigin(junction.try_into().map_err(|_| ())?), + UniversalOrigin(junction) => { + Self::UniversalOrigin(junction.try_into().map_err(|_| ())?) + }, ExportMessage { network, destination, xcm } => Self::ExportMessage { network: network.into(), destination: destination.try_into().map_err(|_| ())?, diff --git a/polkadot/xcm/src/v4/traits.rs b/polkadot/xcm/src/v4/traits.rs index 178093d271770..1f1a6c9f8e279 100644 --- a/polkadot/xcm/src/v4/traits.rs +++ b/polkadot/xcm/src/v4/traits.rs @@ -89,13 +89,12 @@ pub trait ExecuteXcm { weight_limit: Weight, weight_credit: Weight, ) -> Outcome { - let pre = match Self::prepare(message) { - Ok(x) => x, - Err(_) => return Outcome::Error { error: Error::WeightNotComputable }, + let Ok(pre) = Self::prepare(message) else { + return Outcome::Error { error: Error::WeightNotComputable }; }; let xcm_weight = pre.weight_of(); if xcm_weight.any_gt(weight_limit) { - return Outcome::Error { error: Error::WeightLimitReached(xcm_weight) } + return Outcome::Error { error: Error::WeightLimitReached(xcm_weight) }; } Self::execute(origin, pre, id, weight_credit) } diff --git a/polkadot/xcm/src/v5/asset.rs b/polkadot/xcm/src/v5/asset.rs index 9888e339bbce1..187eef54365a1 100644 --- a/polkadot/xcm/src/v5/asset.rs +++ b/polkadot/xcm/src/v5/asset.rs @@ -280,8 +280,9 @@ impl Decode for Fungibility { match UncheckedFungibility::decode(input)? { UncheckedFungibility::Fungible(a) if a != 0 => Ok(Self::Fungible(a)), UncheckedFungibility::NonFungible(i) => Ok(Self::NonFungible(i)), - UncheckedFungibility::Fungible(_) => - Err("Fungible asset of zero amount is not allowed".into()), + UncheckedFungibility::Fungible(_) => { + Err("Fungible asset of zero amount is not allowed".into()) + }, } } } @@ -600,8 +601,9 @@ impl From> for Assets { ( Asset { fun: Fungibility::NonFungible(a_instance), id: a_id }, Asset { fun: Fungibility::NonFungible(b_instance), id: b_id }, - ) if a_id == b_id && a_instance == b_instance => - Asset { fun: Fungibility::NonFungible(a_instance), id: a_id }, + ) if a_id == b_id && a_instance == b_instance => { + Asset { fun: Fungibility::NonFungible(a_instance), id: a_id } + }, (to_push, to_remember) => { res.push(to_push); to_remember @@ -635,7 +637,7 @@ impl Assets { /// `From::>::from` which is infallible. pub fn from_sorted_and_deduplicated(r: Vec) -> Result { if r.is_empty() { - return Ok(Self(Vec::new())) + return Ok(Self(Vec::new())); } r.iter().skip(1).try_fold(&r[0], |a, b| -> Result<&Asset, ()> { if a.id < b.id || a < b && (a.is_non_fungible(None) || b.is_non_fungible(None)) { @@ -677,11 +679,13 @@ impl Assets { match (&a.fun, &mut asset.fun) { (Fungibility::Fungible(amount), Fungibility::Fungible(balance)) => { *balance = balance.saturating_add(*amount); - return + return; }, (Fungibility::NonFungible(inst1), Fungibility::NonFungible(inst2)) if inst1 == inst2 => - return, + { + return + }, _ => (), } } @@ -791,8 +795,9 @@ impl TryFrom for WildAsset { Ok(match old { AllOf { id, fun } => Self::AllOf { id: id.try_into()?, fun: fun.try_into()? }, All => Self::All, - AllOfCounted { id, fun, count } => - Self::AllOfCounted { id: id.try_into()?, fun: fun.try_into()?, count }, + AllOfCounted { id, fun, count } => { + Self::AllOfCounted { id: id.try_into()?, fun: fun.try_into()?, count } + }, AllCounted(count) => Self::AllCounted(count), }) } @@ -804,8 +809,9 @@ impl WildAsset { use WildAsset::*; match self { AllOfCounted { count: 0, .. } | AllCounted(0) => false, - AllOf { fun, id } | AllOfCounted { id, fun, .. } => - inner.fun.is_kind(*fun) && &inner.id == id, + AllOf { fun, id } | AllOfCounted { id, fun, .. } => { + inner.fun.is_kind(*fun) && &inner.id == id + }, All | AllCounted(_) => true, } } @@ -824,8 +830,9 @@ impl WildAsset { pub fn reanchor(&mut self, target: &Location, context: &InteriorLocation) -> Result<(), ()> { use WildAsset::*; match self { - AllOf { ref mut id, .. } | AllOfCounted { ref mut id, .. } => - id.reanchor(target, context), + AllOf { ref mut id, .. } | AllOfCounted { ref mut id, .. } => { + id.reanchor(target, context) + }, All | AllCounted(_) => Ok(()), } } diff --git a/polkadot/xcm/src/v5/junction.rs b/polkadot/xcm/src/v5/junction.rs index bd5753d69d2ab..1f4da10ecc1d6 100644 --- a/polkadot/xcm/src/v5/junction.rs +++ b/polkadot/xcm/src/v5/junction.rs @@ -217,8 +217,9 @@ impl<'a> TryFrom<&'a Junction> for BoundedSlice<'a, u8, ConstU32<32>> { type Error = (); fn try_from(key: &'a Junction) -> Result { match key { - Junction::GeneralKey { length, data } => - BoundedSlice::try_from(&data[..data.len().min(*length as usize)]).map_err(|_| ()), + Junction::GeneralKey { length, data } => { + BoundedSlice::try_from(&data[..data.len().min(*length as usize)]).map_err(|_| ()) + }, _ => Err(()), } } @@ -248,12 +249,15 @@ impl TryFrom for Junction { use OldJunction::*; Ok(match value { Parachain(id) => Self::Parachain(id), - AccountId32 { network: maybe_network, id } => - Self::AccountId32 { network: maybe_network.map(|network| network.into()), id }, - AccountIndex64 { network: maybe_network, index } => - Self::AccountIndex64 { network: maybe_network.map(|network| network.into()), index }, - AccountKey20 { network: maybe_network, key } => - Self::AccountKey20 { network: maybe_network.map(|network| network.into()), key }, + AccountId32 { network: maybe_network, id } => { + Self::AccountId32 { network: maybe_network.map(|network| network.into()), id } + }, + AccountIndex64 { network: maybe_network, index } => { + Self::AccountIndex64 { network: maybe_network.map(|network| network.into()), index } + }, + AccountKey20 { network: maybe_network, key } => { + Self::AccountKey20 { network: maybe_network.map(|network| network.into()), key } + }, PalletInstance(index) => Self::PalletInstance(index), GeneralIndex(id) => Self::GeneralIndex(id), GeneralKey { length, data } => Self::GeneralKey { length, data }, diff --git a/polkadot/xcm/src/v5/junctions.rs b/polkadot/xcm/src/v5/junctions.rs index dde46b0f0be56..51a2246eddc22 100644 --- a/polkadot/xcm/src/v5/junctions.rs +++ b/polkadot/xcm/src/v5/junctions.rs @@ -243,7 +243,7 @@ impl Junctions { /// junctions in `self`, implying that relative refers into a different global consensus. pub fn within_global(mut self, relative: Location) -> Result { if self.len() <= relative.parent_count() as usize { - return Err(()) + return Err(()); } for _ in 0..relative.parent_count() { self.take_last(); @@ -508,7 +508,7 @@ impl Junctions { pub fn append_with(&mut self, suffix: impl Into) -> Result<(), Junctions> { let suffix = suffix.into(); if self.len().saturating_add(suffix.len()) > MAX_JUNCTIONS { - return Err(suffix) + return Err(suffix); } for j in suffix.into_iter() { self.push(j).expect("Already checked the sum of the len()s; qed") @@ -552,14 +552,14 @@ impl Junctions { /// ``` pub fn match_and_split(&self, prefix: &Junctions) -> Option<&Junction> { if prefix.len() + 1 != self.len() { - return None + return None; } for i in 0..prefix.len() { if prefix.at(i) != self.at(i) { - return None + return None; } } - return self.at(prefix.len()) + return self.at(prefix.len()); } pub fn starts_with(&self, prefix: &Junctions) -> bool { diff --git a/polkadot/xcm/src/v5/location.rs b/polkadot/xcm/src/v5/location.rs index c80cd11b0aac9..77fcf35d14743 100644 --- a/polkadot/xcm/src/v5/location.rs +++ b/polkadot/xcm/src/v5/location.rs @@ -236,7 +236,7 @@ impl Location { pub fn at(&self, i: usize) -> Option<&Junction> { let num_parents = self.parents as usize; if i < num_parents { - return None + return None; } self.interior.at(i - num_parents) } @@ -246,7 +246,7 @@ impl Location { pub fn at_mut(&mut self, i: usize) -> Option<&mut Junction> { let num_parents = self.parents as usize; if i < num_parents { - return None + return None; } self.interior.at_mut(i - num_parents) } @@ -286,7 +286,7 @@ impl Location { /// ``` pub fn match_and_split(&self, prefix: &Location) -> Option<&Junction> { if self.parents != prefix.parents { - return None + return None; } self.interior.match_and_split(&prefix.interior) } @@ -356,12 +356,12 @@ impl Location { let prepend_interior = prefix.interior.len().saturating_sub(self.parents as usize); let final_interior = self.interior.len().saturating_add(prepend_interior); if final_interior > super::junctions::MAX_JUNCTIONS { - return Err(prefix) + return Err(prefix); } let suffix_parents = (self.parents as usize).saturating_sub(prefix.interior.len()); let final_parents = (prefix.parents as usize).saturating_add(suffix_parents); if final_parents > 255 { - return Err(prefix) + return Err(prefix); } // cancel out the final item on the prefix interior for one of the suffix's parents. @@ -410,7 +410,7 @@ impl Location { pub fn simplify(&mut self, context: &Junctions) { if context.len() < self.parents as usize { // Not enough context - return + return; } while self.parents > 0 { let maybe = context.at(context.len() - (self.parents as usize)); @@ -431,7 +431,7 @@ impl Location { while let Some(j) = clone.last() { if matches!(j, Junction::Parachain(_) | Junction::GlobalConsensus(_)) { // return chain subsection - return clone + return clone; } else { (clone, _) = clone.split_last_interior(); } @@ -552,10 +552,10 @@ mod tests { fn conversion_works() { let x: Location = Parent.into(); assert_eq!(x, Location { parents: 1, interior: Here }); - // let x: Location = (Parent,).into(); - // assert_eq!(x, Location { parents: 1, interior: Here }); - // let x: Location = (Parent, Parent).into(); - // assert_eq!(x, Location { parents: 2, interior: Here }); + // let x: Location = (Parent,).into(); + // assert_eq!(x, Location { parents: 1, interior: Here }); + // let x: Location = (Parent, Parent).into(); + // assert_eq!(x, Location { parents: 2, interior: Here }); let x: Location = (Parent, Parent, OnlyChild).into(); assert_eq!(x, Location { parents: 2, interior: OnlyChild.into() }); let x: Location = OnlyChild.into(); diff --git a/polkadot/xcm/src/v5/mod.rs b/polkadot/xcm/src/v5/mod.rs index 0caf7d0c581fe..82bed87c302ed 100644 --- a/polkadot/xcm/src/v5/mod.rs +++ b/polkadot/xcm/src/v5/mod.rs @@ -1179,24 +1179,30 @@ impl Instruction { WithdrawAsset(assets) => WithdrawAsset(assets), ReserveAssetDeposited(assets) => ReserveAssetDeposited(assets), ReceiveTeleportedAsset(assets) => ReceiveTeleportedAsset(assets), - QueryResponse { query_id, response, max_weight, querier } => - QueryResponse { query_id, response, max_weight, querier }, + QueryResponse { query_id, response, max_weight, querier } => { + QueryResponse { query_id, response, max_weight, querier } + }, TransferAsset { assets, beneficiary } => TransferAsset { assets, beneficiary }, - TransferReserveAsset { assets, dest, xcm } => - TransferReserveAsset { assets, dest, xcm }, - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity }, + TransferReserveAsset { assets, dest, xcm } => { + TransferReserveAsset { assets, dest, xcm } + }, + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => { + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } + }, HrmpChannelAccepted { recipient } => HrmpChannelAccepted { recipient }, - HrmpChannelClosing { initiator, sender, recipient } => - HrmpChannelClosing { initiator, sender, recipient }, - Transact { origin_kind, call, fallback_max_weight } => - Transact { origin_kind, call: call.into(), fallback_max_weight }, + HrmpChannelClosing { initiator, sender, recipient } => { + HrmpChannelClosing { initiator, sender, recipient } + }, + Transact { origin_kind, call, fallback_max_weight } => { + Transact { origin_kind, call: call.into(), fallback_max_weight } + }, ReportError(response_info) => ReportError(response_info), DepositAsset { assets, beneficiary } => DepositAsset { assets, beneficiary }, DepositReserveAsset { assets, dest, xcm } => DepositReserveAsset { assets, dest, xcm }, ExchangeAsset { give, want, maximal } => ExchangeAsset { give, want, maximal }, - InitiateReserveWithdraw { assets, reserve, xcm } => - InitiateReserveWithdraw { assets, reserve, xcm }, + InitiateReserveWithdraw { assets, reserve, xcm } => { + InitiateReserveWithdraw { assets, reserve, xcm } + }, InitiateTeleport { assets, dest, xcm } => InitiateTeleport { assets, dest, xcm }, ReportHolding { response_info, assets } => ReportHolding { response_info, assets }, BuyExecution { fees, weight_limit } => BuyExecution { fees, weight_limit }, @@ -1209,23 +1215,27 @@ impl Instruction { SetHints { hints } => SetHints { hints }, ClaimAsset { assets, ticket } => ClaimAsset { assets, ticket }, Trap(code) => Trap(code), - SubscribeVersion { query_id, max_response_weight } => - SubscribeVersion { query_id, max_response_weight }, + SubscribeVersion { query_id, max_response_weight } => { + SubscribeVersion { query_id, max_response_weight } + }, UnsubscribeVersion => UnsubscribeVersion, BurnAsset(assets) => BurnAsset(assets), ExpectAsset(assets) => ExpectAsset(assets), ExpectOrigin(origin) => ExpectOrigin(origin), ExpectError(error) => ExpectError(error), ExpectTransactStatus(transact_status) => ExpectTransactStatus(transact_status), - QueryPallet { module_name, response_info } => - QueryPallet { module_name, response_info }, - ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => - ExpectPallet { index, name, module_name, crate_major, min_crate_minor }, + QueryPallet { module_name, response_info } => { + QueryPallet { module_name, response_info } + }, + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => { + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } + }, ReportTransactStatus(response_info) => ReportTransactStatus(response_info), ClearTransactStatus => ClearTransactStatus, UniversalOrigin(j) => UniversalOrigin(j), - ExportMessage { network, destination, xcm } => - ExportMessage { network, destination, xcm }, + ExportMessage { network, destination, xcm } => { + ExportMessage { network, destination, xcm } + }, LockAsset { asset, unlocker } => LockAsset { asset, unlocker }, UnlockAsset { asset, target } => UnlockAsset { asset, target }, NoteUnlockable { asset, owner } => NoteUnlockable { asset, owner }, @@ -1234,13 +1244,16 @@ impl Instruction { SetTopic(topic) => SetTopic(topic), ClearTopic => ClearTopic, AliasOrigin(location) => AliasOrigin(location), - UnpaidExecution { weight_limit, check_origin } => - UnpaidExecution { weight_limit, check_origin }, + UnpaidExecution { weight_limit, check_origin } => { + UnpaidExecution { weight_limit, check_origin } + }, PayFees { asset } => PayFees { asset }, - InitiateTransfer { destination, remote_fees, preserve_origin, assets, remote_xcm } => - InitiateTransfer { destination, remote_fees, preserve_origin, assets, remote_xcm }, - ExecuteWithOrigin { descendant_origin, xcm } => - ExecuteWithOrigin { descendant_origin, xcm: xcm.into() }, + InitiateTransfer { destination, remote_fees, preserve_origin, assets, remote_xcm } => { + InitiateTransfer { destination, remote_fees, preserve_origin, assets, remote_xcm } + }, + ExecuteWithOrigin { descendant_origin, xcm } => { + ExecuteWithOrigin { descendant_origin, xcm: xcm.into() } + }, } } } @@ -1253,27 +1266,34 @@ impl> GetWeight for Instruction { WithdrawAsset(assets) => W::withdraw_asset(assets), ReserveAssetDeposited(assets) => W::reserve_asset_deposited(assets), ReceiveTeleportedAsset(assets) => W::receive_teleported_asset(assets), - QueryResponse { query_id, response, max_weight, querier } => - W::query_response(query_id, response, max_weight, querier), + QueryResponse { query_id, response, max_weight, querier } => { + W::query_response(query_id, response, max_weight, querier) + }, TransferAsset { assets, beneficiary } => W::transfer_asset(assets, beneficiary), - TransferReserveAsset { assets, dest, xcm } => - W::transfer_reserve_asset(&assets, dest, xcm), - Transact { origin_kind, fallback_max_weight, call } => - W::transact(origin_kind, fallback_max_weight, call), - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => - W::hrmp_new_channel_open_request(sender, max_message_size, max_capacity), + TransferReserveAsset { assets, dest, xcm } => { + W::transfer_reserve_asset(&assets, dest, xcm) + }, + Transact { origin_kind, fallback_max_weight, call } => { + W::transact(origin_kind, fallback_max_weight, call) + }, + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => { + W::hrmp_new_channel_open_request(sender, max_message_size, max_capacity) + }, HrmpChannelAccepted { recipient } => W::hrmp_channel_accepted(recipient), - HrmpChannelClosing { initiator, sender, recipient } => - W::hrmp_channel_closing(initiator, sender, recipient), + HrmpChannelClosing { initiator, sender, recipient } => { + W::hrmp_channel_closing(initiator, sender, recipient) + }, ClearOrigin => W::clear_origin(), DescendOrigin(who) => W::descend_origin(who), ReportError(response_info) => W::report_error(&response_info), DepositAsset { assets, beneficiary } => W::deposit_asset(assets, beneficiary), - DepositReserveAsset { assets, dest, xcm } => - W::deposit_reserve_asset(assets, dest, xcm), + DepositReserveAsset { assets, dest, xcm } => { + W::deposit_reserve_asset(assets, dest, xcm) + }, ExchangeAsset { give, want, maximal } => W::exchange_asset(give, want, maximal), - InitiateReserveWithdraw { assets, reserve, xcm } => - W::initiate_reserve_withdraw(assets, reserve, xcm), + InitiateReserveWithdraw { assets, reserve, xcm } => { + W::initiate_reserve_withdraw(assets, reserve, xcm) + }, InitiateTeleport { assets, dest, xcm } => W::initiate_teleport(assets, dest, xcm), ReportHolding { response_info, assets } => W::report_holding(&response_info, &assets), BuyExecution { fees, weight_limit } => W::buy_execution(fees, weight_limit), @@ -1284,23 +1304,27 @@ impl> GetWeight for Instruction { SetHints { hints } => W::set_hints(hints), ClaimAsset { assets, ticket } => W::claim_asset(assets, ticket), Trap(code) => W::trap(code), - SubscribeVersion { query_id, max_response_weight } => - W::subscribe_version(query_id, max_response_weight), + SubscribeVersion { query_id, max_response_weight } => { + W::subscribe_version(query_id, max_response_weight) + }, UnsubscribeVersion => W::unsubscribe_version(), BurnAsset(assets) => W::burn_asset(assets), ExpectAsset(assets) => W::expect_asset(assets), ExpectOrigin(origin) => W::expect_origin(origin), ExpectError(error) => W::expect_error(error), ExpectTransactStatus(transact_status) => W::expect_transact_status(transact_status), - QueryPallet { module_name, response_info } => - W::query_pallet(module_name, response_info), - ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => - W::expect_pallet(index, name, module_name, crate_major, min_crate_minor), + QueryPallet { module_name, response_info } => { + W::query_pallet(module_name, response_info) + }, + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => { + W::expect_pallet(index, name, module_name, crate_major, min_crate_minor) + }, ReportTransactStatus(response_info) => W::report_transact_status(response_info), ClearTransactStatus => W::clear_transact_status(), UniversalOrigin(j) => W::universal_origin(j), - ExportMessage { network, destination, xcm } => - W::export_message(network, destination, xcm), + ExportMessage { network, destination, xcm } => { + W::export_message(network, destination, xcm) + }, LockAsset { asset, unlocker } => W::lock_asset(asset, unlocker), UnlockAsset { asset, target } => W::unlock_asset(asset, target), NoteUnlockable { asset, owner } => W::note_unlockable(asset, owner), @@ -1309,13 +1333,16 @@ impl> GetWeight for Instruction { SetTopic(topic) => W::set_topic(topic), ClearTopic => W::clear_topic(), AliasOrigin(location) => W::alias_origin(location), - UnpaidExecution { weight_limit, check_origin } => - W::unpaid_execution(weight_limit, check_origin), + UnpaidExecution { weight_limit, check_origin } => { + W::unpaid_execution(weight_limit, check_origin) + }, PayFees { asset } => W::pay_fees(asset), - InitiateTransfer { destination, remote_fees, preserve_origin, assets, remote_xcm } => - W::initiate_transfer(destination, remote_fees, preserve_origin, assets, remote_xcm), - ExecuteWithOrigin { descendant_origin, xcm } => - W::execute_with_origin(descendant_origin, xcm), + InitiateTransfer { destination, remote_fees, preserve_origin, assets, remote_xcm } => { + W::initiate_transfer(destination, remote_fees, preserve_origin, assets, remote_xcm) + }, + ExecuteWithOrigin { descendant_origin, xcm } => { + W::execute_with_origin(descendant_origin, xcm) + }, } } } @@ -1347,20 +1374,22 @@ impl TryFrom> for Instruction { WithdrawAsset(assets) => Self::WithdrawAsset(assets.try_into()?), ReserveAssetDeposited(assets) => Self::ReserveAssetDeposited(assets.try_into()?), ReceiveTeleportedAsset(assets) => Self::ReceiveTeleportedAsset(assets.try_into()?), - QueryResponse { query_id, response, max_weight, querier: Some(querier) } => + QueryResponse { query_id, response, max_weight, querier: Some(querier) } => { Self::QueryResponse { query_id, querier: querier.try_into()?, response: response.try_into()?, max_weight, - }, - QueryResponse { query_id, response, max_weight, querier: None } => + } + }, + QueryResponse { query_id, response, max_weight, querier: None } => { Self::QueryResponse { query_id, querier: None, response: response.try_into()?, max_weight, - }, + } + }, TransferAsset { assets, beneficiary } => Self::TransferAsset { assets: assets.try_into()?, beneficiary: beneficiary.try_into()?, @@ -1370,11 +1399,13 @@ impl TryFrom> for Instruction { dest: dest.try_into()?, xcm: xcm.try_into()?, }, - HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => - Self::HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity }, + HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } => { + Self::HrmpNewChannelOpenRequest { sender, max_message_size, max_capacity } + }, HrmpChannelAccepted { recipient } => Self::HrmpChannelAccepted { recipient }, - HrmpChannelClosing { initiator, sender, recipient } => - Self::HrmpChannelClosing { initiator, sender, recipient }, + HrmpChannelClosing { initiator, sender, recipient } => { + Self::HrmpChannelClosing { initiator, sender, recipient } + }, Transact { origin_kind, require_weight_at_most, call } => Self::Transact { origin_kind, call: call.into(), @@ -1438,8 +1469,9 @@ impl TryFrom> for Instruction { Self::ClaimAsset { assets, ticket } }, Trap(code) => Self::Trap(code), - SubscribeVersion { query_id, max_response_weight } => - Self::SubscribeVersion { query_id, max_response_weight }, + SubscribeVersion { query_id, max_response_weight } => { + Self::SubscribeVersion { query_id, max_response_weight } + }, UnsubscribeVersion => Self::UnsubscribeVersion, BurnAsset(assets) => Self::BurnAsset(assets.try_into()?), ExpectAsset(assets) => Self::ExpectAsset(assets.try_into()?), @@ -1458,13 +1490,16 @@ impl TryFrom> for Instruction { module_name, response_info: response_info.try_into().map_err(|_| ())?, }, - ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => - Self::ExpectPallet { index, name, module_name, crate_major, min_crate_minor }, - ReportTransactStatus(response_info) => - Self::ReportTransactStatus(response_info.try_into().map_err(|_| ())?), + ExpectPallet { index, name, module_name, crate_major, min_crate_minor } => { + Self::ExpectPallet { index, name, module_name, crate_major, min_crate_minor } + }, + ReportTransactStatus(response_info) => { + Self::ReportTransactStatus(response_info.try_into().map_err(|_| ())?) + }, ClearTransactStatus => Self::ClearTransactStatus, - UniversalOrigin(junction) => - Self::UniversalOrigin(junction.try_into().map_err(|_| ())?), + UniversalOrigin(junction) => { + Self::UniversalOrigin(junction.try_into().map_err(|_| ())?) + }, ExportMessage { network, destination, xcm } => Self::ExportMessage { network: network.into(), destination: destination.try_into().map_err(|_| ())?, diff --git a/polkadot/xcm/src/v5/traits.rs b/polkadot/xcm/src/v5/traits.rs index ecbf46f84d31b..8121fb52e01c8 100644 --- a/polkadot/xcm/src/v5/traits.rs +++ b/polkadot/xcm/src/v5/traits.rs @@ -230,8 +230,9 @@ impl TryFrom for Error { impl From for Error { fn from(e: SendError) -> Self { match e { - SendError::NotApplicable | SendError::Unroutable | SendError::MissingArgument => - Error::Unroutable, + SendError::NotApplicable | SendError::Unroutable | SendError::MissingArgument => { + Error::Unroutable + }, SendError::Transport(s) => Error::Transport(s), SendError::DestinationUnsupported => Error::DestinationUnsupported, SendError::ExceedsMaxMessageSize => Error::ExceedsMaxMessageSize, @@ -329,7 +330,6 @@ pub trait ExecuteXcm { }; Self::execute(origin, pre, id, weight_credit) } - /// Deduct some `fees` to the sovereign account of the given `location` and place them as per /// the convention for fees. fn charge_fees(location: impl Into, fees: Assets) -> Result; diff --git a/polkadot/xcm/xcm-builder/src/asset_conversion.rs b/polkadot/xcm/xcm-builder/src/asset_conversion.rs index fae6bd95df121..1e2326284857d 100644 --- a/polkadot/xcm/xcm-builder/src/asset_conversion.rs +++ b/polkadot/xcm/xcm-builder/src/asset_conversion.rs @@ -48,7 +48,7 @@ impl< .enumerate() .any(|(index, junction)| latest_id.interior().at(index) != Some(junction)) { - return None + return None; } match latest_id.interior().at(latest_prefix.interior().len()) { Some(Junction::GeneralIndex(id)) => ConvertAssetId::convert(&id), @@ -149,8 +149,9 @@ impl< { fn matches_nonfungibles(a: &Asset) -> result::Result<(ClassId, InstanceId), MatchError> { let (instance, class) = match (&a.fun, &a.id) { - (NonFungible(ref instance), AssetId(ref class)) if MatchClassId::contains(class) => - (instance, class), + (NonFungible(ref instance), AssetId(ref class)) if MatchClassId::contains(class) => { + (instance, class) + }, _ => return Err(MatchError::AssetNotHandled), }; let what = ConvertClassId::convert(class).ok_or(MatchError::AssetIdConversionFailed)?; diff --git a/polkadot/xcm/xcm-builder/src/asset_exchange/single_asset_adapter/adapter.rs b/polkadot/xcm/xcm-builder/src/asset_exchange/single_asset_adapter/adapter.rs index 07698253a79de..8f0e103419cfc 100644 --- a/polkadot/xcm/xcm-builder/src/asset_exchange/single_asset_adapter/adapter.rs +++ b/polkadot/xcm/xcm-builder/src/asset_exchange/single_asset_adapter/adapter.rs @@ -17,9 +17,12 @@ //! Single asset exchange adapter. extern crate alloc; -use alloc::vec; +use alloc::{boxed::Box, vec, vec::Vec}; use core::marker::PhantomData; -use frame_support::{ensure, traits::tokens::fungibles}; +use frame_support::{ + ensure, + traits::tokens::{fungibles, imbalance::UnsafeManualAccounting}, +}; use pallet_asset_conversion::{QuotePrice, SwapCredit}; use xcm::prelude::*; use xcm_executor::{ @@ -50,107 +53,124 @@ where AssetKind = Fungibles::AssetId, Credit = fungibles::Credit, > + QuotePrice, - Fungibles: fungibles::Balanced, + Fungibles: fungibles::Inspect + + fungibles::Balanced, Matcher: MatchesFungibles, { fn exchange_asset( _: Option<&Location>, - give: AssetsInHolding, + mut give: AssetsInHolding, want: &Assets, maximal: bool, ) -> Result { - let mut give_iter = give.fungible_assets_iter(); - let give_asset = give_iter.next().ok_or_else(|| { + // We only support 1 asset in `want`. + ensure!(want.len() == 1, give); + let Some(want_asset) = want.get(0) else { return Err(give) }; + // We don't allow non-fungible assets. + ensure!(give.non_fungible_assets_iter().next().is_none(), give); + let mut give_assets: Vec = give.fungible_assets_iter().collect(); + // We only support 1 asset in `give`. + ensure!(give_assets.len() == 1, give); + let Some(give_asset) = give_assets.pop() else { tracing::trace!( target: "xcm::SingleAssetExchangeAdapter::exchange_asset", ?give, "No fungible asset was in `give`.", ); - give.clone() - })?; - ensure!(give_iter.next().is_none(), give.clone()); // We only support 1 asset in `give`. - ensure!(give.non_fungible_assets_iter().next().is_none(), give.clone()); // We don't allow non-fungible assets. - ensure!(want.len() == 1, give.clone()); // We only support 1 asset in `want`. - let want_asset = want.get(0).ok_or_else(|| give.clone())?; - let (give_asset_id, give_amount) = - Matcher::matches_fungibles(&give_asset).map_err(|error| { - tracing::trace!( - target: "xcm::SingleAssetExchangeAdapter::exchange_asset", - ?give_asset, - ?error, - "Could not map XCM asset give to FRAME asset.", - ); - give.clone() - })?; - let (want_asset_id, want_amount) = - Matcher::matches_fungibles(&want_asset).map_err(|error| { - tracing::trace!( - target: "xcm::SingleAssetExchangeAdapter::exchange_asset", - ?want_asset, - ?error, - "Could not map XCM asset want to FRAME asset." - ); - give.clone() - })?; + return Err(give); + }; + + let Ok((give_asset_id, _)) = Matcher::matches_fungibles(&give_asset) else { + tracing::trace!( + target: "xcm::SingleAssetExchangeAdapter::exchange_asset", + ?give_asset, + "Could not map XCM asset give to FRAME asset.", + ); + return Err(give); + }; + let Ok((want_asset_id, want_amount)) = Matcher::matches_fungibles(&want_asset) else { + tracing::trace!( + target: "xcm::SingleAssetExchangeAdapter::exchange_asset", + ?want_asset, + "Could not map XCM asset want to FRAME asset." + ); + return Err(give); + }; // We have to do this to convert the XCM assets into credit the pool can use. let swap_asset = give_asset_id.clone().into(); - let credit_in = Fungibles::issue(give_asset_id, give_amount); + let Some(imbalance) = give.fungible.remove(&give_asset.id) else { return Err(give) }; + // "manually" build the concrete credit and move the imbalance there. + let mut credit_in = fungibles::Credit::::zero(give_asset_id); + credit_in.saturating_subsume(imbalance); // Do the swap. let (credit_out, maybe_credit_change) = if maximal { // If `maximal`, then we swap exactly `credit_in` to get as much of `want_asset_id` as // we can, with a minimum of `want_amount`. - let credit_out = >::swap_exact_tokens_for_tokens( + let credit_out = match >::swap_exact_tokens_for_tokens( vec![swap_asset, want_asset_id], credit_in, Some(want_amount), - ) - .map_err(|(credit_in, error)| { - tracing::debug!( - target: "xcm::SingleAssetExchangeAdapter::exchange_asset", - ?error, - "Could not perform the swap" - ); - drop(credit_in); - give.clone() - })?; - + ) { + Ok(inner) => inner, + Err((credit_in, error)) => { + tracing::debug!( + target: "xcm::SingleAssetExchangeAdapter::exchange_asset", + ?error, + "Could not perform the swap" + ); + // put back the taken credit + let taken = AssetsInHolding::new_from_fungible_credit( + give_asset.id.clone(), + Box::new(credit_in), + ); + give.subsume_assets(taken); + return Err(give); + }, + }; // We don't have leftover assets if exchange was maximal. (credit_out, None) } else { // If `minimal`, then we swap as little of `credit_in` as we can to get exactly // `want_amount` of `want_asset_id`. let (credit_out, credit_change) = - >::swap_tokens_for_exact_tokens( + match >::swap_tokens_for_exact_tokens( vec![swap_asset, want_asset_id], credit_in, want_amount, - ) - .map_err(|(credit_in, error)| { - tracing::debug!( - target: "xcm::SingleAssetExchangeAdapter::exchange_asset", - ?error, - "Could not perform the swap", - ); - drop(credit_in); - give.clone() - })?; - + ) { + Ok(inner) => inner, + Err((credit_in, error)) => { + tracing::debug!( + target: "xcm::SingleAssetExchangeAdapter::exchange_asset", + ?error, + "Could not perform the swap", + ); + // put back the taken credit + let taken = AssetsInHolding::new_from_fungible_credit( + give_asset.id.clone(), + Box::new(credit_in), + ); + give.subsume_assets(taken); + return Err(give); + }, + }; (credit_out, if credit_change.peek() > 0 { Some(credit_change) } else { None }) }; - // We create an `AssetsInHolding` instance by putting in the resulting asset - // of the exchange. - let resulting_asset: Asset = (want_asset.id.clone(), credit_out.peek()).into(); - let mut result: AssetsInHolding = resulting_asset.into(); + // We create an `AssetsInHolding` instance by putting in the resulting credit of the + // exchange. + let mut result = + AssetsInHolding::new_from_fungible_credit(want_asset.id.clone(), Box::new(credit_out)); // If we have some leftover assets from the exchange, also put them in the result. - if let Some(credit_change) = maybe_credit_change { - let leftover_asset: Asset = (give_asset.id.clone(), credit_change.peek()).into(); - result.subsume(leftover_asset); + if let Some(credit_change) = maybe_credit_change.filter(|credit| credit.peek() > 0) { + let leftover = + AssetsInHolding::new_from_fungible_credit(give_asset.id, Box::new(credit_change)); + result.subsume_assets(leftover); } - Ok(result.into()) + Ok(result) } fn quote_exchange_price(give: &Assets, want: &Assets, maximal: bool) -> Option { diff --git a/polkadot/xcm/xcm-builder/src/asset_exchange/single_asset_adapter/mock.rs b/polkadot/xcm/xcm-builder/src/asset_exchange/single_asset_adapter/mock.rs index 30136b004a480..cc1872f470702 100644 --- a/polkadot/xcm/xcm-builder/src/asset_exchange/single_asset_adapter/mock.rs +++ b/polkadot/xcm/xcm-builder/src/asset_exchange/single_asset_adapter/mock.rs @@ -188,7 +188,9 @@ impl MaybeEquivalence> for LocationToAssetId { match location.unpack() { (0, [PalletInstance(instance), GeneralIndex(index)]) if *instance == pallet_instance => - Some(NativeOrWithId::WithId(*index as u32)), + { + Some(NativeOrWithId::WithId(*index as u32)) + }, (0, []) => Some(NativeOrWithId::Native), _ => None, } @@ -197,8 +199,9 @@ impl MaybeEquivalence> for LocationToAssetId { fn convert_back(asset_id: &NativeOrWithId) -> Option { let pallet_instance = TrustBackedAssetsPalletIndex::get(); Some(match asset_id { - NativeOrWithId::WithId(id) => - Location::new(0, [PalletInstance(pallet_instance), GeneralIndex((*id).into())]), + NativeOrWithId::WithId(id) => { + Location::new(0, [PalletInstance(pallet_instance), GeneralIndex((*id).into())]) + }, NativeOrWithId::Native => Location::new(0, []), }) } @@ -236,7 +239,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = (); type AssetLocker = (); type AssetExchanger = PoolAssetsExchanger; - type AssetClaims = (); type SubscriptionService = (); type PalletInstancesInfo = (); type FeeManager = (); @@ -282,8 +284,9 @@ where { fn try_convert(o: RuntimeOrigin) -> Result { o.try_with_caller(|caller| match caller.try_into() { - Ok(frame_system::RawOrigin::Signed(who)) => - Ok(Junction::AccountIndex64 { network: Network::get(), index: who.into() }.into()), + Ok(frame_system::RawOrigin::Signed(who)) => { + Ok(Junction::AccountIndex64 { network: Network::get(), index: who.into() }.into()) + }, Ok(other) => Err(other.into()), Err(other) => Err(other), }) diff --git a/polkadot/xcm/xcm-builder/src/asset_exchange/single_asset_adapter/tests.rs b/polkadot/xcm/xcm-builder/src/asset_exchange/single_asset_adapter/tests.rs index 83f57f32822f0..24ac5c1e8c720 100644 --- a/polkadot/xcm/xcm-builder/src/asset_exchange/single_asset_adapter/tests.rs +++ b/polkadot/xcm/xcm-builder/src/asset_exchange/single_asset_adapter/tests.rs @@ -17,6 +17,7 @@ //! Tests for the [`SingleAssetExchangeAdapter`] type. use super::mock::*; +use crate::tests::mock::assets_to_holding; use xcm::prelude::*; use xcm_executor::{traits::AssetExchange, AssetsInHolding}; @@ -30,7 +31,7 @@ fn maximal_exchange() { new_test_ext().execute_with(|| { let assets = PoolAssetsExchanger::exchange_asset( None, - vec![([PalletInstance(2), GeneralIndex(1)], 10_000_000).into()].into(), + assets_to_holding(vec![([PalletInstance(2), GeneralIndex(1)], 10_000_000).into()]), &vec![(Here, 2_000_000).into()].into(), true, // Maximal ) @@ -45,7 +46,7 @@ fn minimal_exchange() { new_test_ext().execute_with(|| { let assets = PoolAssetsExchanger::exchange_asset( None, - vec![([PalletInstance(2), GeneralIndex(1)], 10_000_000).into()].into(), + assets_to_holding(vec![([PalletInstance(2), GeneralIndex(1)], 10_000_000).into()]), &vec![(Here, 2_000_000).into()].into(), false, // Minimal ) @@ -65,7 +66,7 @@ fn maximal_quote() { true, ) .unwrap(); - let amount = get_amount_from_first_fungible(&assets.into()); + let amount = get_amount_from_first_fungible(&assets_to_holding(assets.into_inner())); // The amount of the native token resulting from swapping all `10_000_000` of the custom // token. assert_eq!(amount, 4_533_054); @@ -81,7 +82,7 @@ fn minimal_quote() { false, ) .unwrap(); - let amount = get_amount_from_first_fungible(&assets.into()); + let amount = get_amount_from_first_fungible(&assets_to_holding(assets.into_inner())); // The amount of the custom token needed to get `2_000_000` of the native token. assert_eq!(amount, 4_179_205); }); @@ -94,7 +95,7 @@ fn no_asset_in_give() { new_test_ext().execute_with(|| { assert!(PoolAssetsExchanger::exchange_asset( None, - vec![].into(), + assets_to_holding(vec![]), &vec![(Here, 2_000_000).into()].into(), true ) @@ -107,7 +108,10 @@ fn more_than_one_asset_in_give() { new_test_ext().execute_with(|| { assert!(PoolAssetsExchanger::exchange_asset( None, - vec![([PalletInstance(2), GeneralIndex(1)], 1).into(), (Here, 2).into()].into(), + assets_to_holding(vec![ + ([PalletInstance(2), GeneralIndex(1)], 1).into(), + (Here, 2).into() + ]), &vec![(Here, 2_000_000).into()].into(), true ) @@ -120,7 +124,7 @@ fn no_asset_in_want() { new_test_ext().execute_with(|| { assert!(PoolAssetsExchanger::exchange_asset( None, - vec![([PalletInstance(2), GeneralIndex(1)], 10_000_000).into()].into(), + assets_to_holding(vec![([PalletInstance(2), GeneralIndex(1)], 10_000_000).into()]), &vec![].into(), true ) @@ -133,7 +137,7 @@ fn more_than_one_asset_in_want() { new_test_ext().execute_with(|| { assert!(PoolAssetsExchanger::exchange_asset( None, - vec![([PalletInstance(2), GeneralIndex(1)], 10_000_000).into()].into(), + assets_to_holding(vec![([PalletInstance(2), GeneralIndex(1)], 10_000_000).into()]), &vec![(Here, 2_000_000).into(), ([PalletInstance(2), GeneralIndex(1)], 1).into()] .into(), true @@ -148,8 +152,11 @@ fn give_asset_does_not_match() { let nonexistent_asset_id = 1000; assert!(PoolAssetsExchanger::exchange_asset( None, - vec![([PalletInstance(2), GeneralIndex(nonexistent_asset_id)], 10_000_000).into()] - .into(), + assets_to_holding(vec![( + [PalletInstance(2), GeneralIndex(nonexistent_asset_id)], + 10_000_000 + ) + .into()]), &vec![(Here, 2_000_000).into()].into(), true ) @@ -163,7 +170,7 @@ fn want_asset_does_not_match() { let nonexistent_asset_id = 1000; assert!(PoolAssetsExchanger::exchange_asset( None, - vec![(Here, 2_000_000).into()].into(), + assets_to_holding(vec![(Here, 2_000_000).into()]), &vec![([PalletInstance(2), GeneralIndex(nonexistent_asset_id)], 10_000_000).into()] .into(), true @@ -177,7 +184,7 @@ fn exchange_fails() { new_test_ext().execute_with(|| { assert!(PoolAssetsExchanger::exchange_asset( None, - vec![([PalletInstance(2), GeneralIndex(1)], 10_000_000).into()].into(), + assets_to_holding(vec![([PalletInstance(2), GeneralIndex(1)], 10_000_000).into()]), // We're asking for too much of the native token... &vec![(Here, 200_000_000).into()].into(), false, // Minimal @@ -192,7 +199,7 @@ fn non_fungible_asset_in_give() { assert!(PoolAssetsExchanger::exchange_asset( None, // Using `u64` here will give us a non-fungible instead of a fungible. - vec![([PalletInstance(2), GeneralIndex(2)], 10_000_000u64).into()].into(), + assets_to_holding(vec![([PalletInstance(2), GeneralIndex(2)], 10_000_000u64).into()]), &vec![(Here, 10_000_000).into()].into(), false, // Minimal ) diff --git a/polkadot/xcm/xcm-builder/src/barriers.rs b/polkadot/xcm/xcm-builder/src/barriers.rs index 6152e54d08b02..94dfd2c98d106 100644 --- a/polkadot/xcm/xcm-builder/src/barriers.rs +++ b/polkadot/xcm/xcm-builder/src/barriers.rs @@ -91,12 +91,13 @@ impl> ShouldExecute for AllowTopLevelPaidExecutionFrom WithdrawAsset(ref assets) | ReceiveTeleportedAsset(ref assets) | ReserveAssetDeposited(ref assets) | - ClaimAsset { ref assets, .. } => + ClaimAsset { ref assets, .. } => { if assets.len() <= MAX_ASSETS_FOR_BUY_EXECUTION { Ok(()) } else { Err(ProcessMessageError::BadFormat) - }, + } + }, _ => Err(ProcessMessageError::BadFormat), })? .skip_inst_while(|inst| { @@ -207,7 +208,7 @@ impl, MaxPref }, DescendOrigin(j) => { let Ok(_) = actual_origin.append_with(j.clone()) else { - return Err(ProcessMessageError::Unsupported) + return Err(ProcessMessageError::Unsupported); }; }, _ => return Ok(ControlFlow::Break(())), @@ -367,12 +368,13 @@ impl, Aliasers: ContainsPair> ShouldEx // to know the origin to know if it's allowed unpaid execution. return Err(ProcessMessageError::Unsupported); }, - AliasOrigin(target) => + AliasOrigin(target) => { if Aliasers::contains(&actual_origin, &target) { actual_origin = target.clone(); } else { return Err(ProcessMessageError::Unsupported); - }, + } + }, DescendOrigin(child) if child != &Here => { let Ok(_) = actual_origin.append_with(child.clone()) else { return Err(ProcessMessageError::Unsupported); @@ -454,7 +456,9 @@ impl ShouldExecute for AllowKnownQueryResponses - Ok(()), + { + Ok(()) + }, _ => Err(ProcessMessageError::BadFormat), })?; Ok(()) diff --git a/polkadot/xcm/xcm-builder/src/currency_adapter.rs b/polkadot/xcm/xcm-builder/src/currency_adapter.rs index e51a61371f427..46c09b18f12e5 100644 --- a/polkadot/xcm/xcm-builder/src/currency_adapter.rs +++ b/polkadot/xcm/xcm-builder/src/currency_adapter.rs @@ -19,8 +19,16 @@ #![allow(deprecated)] use super::MintLocation; +use alloc::boxed::Box; use core::{fmt::Debug, marker::PhantomData, result}; -use frame_support::traits::{ExistenceRequirement::AllowDeath, Get, WithdrawReasons}; +use frame_support::{ + defensive_assert, + traits::{ + tokens::imbalance::{ImbalanceAccounting, UnsafeManualAccounting}, + ExistenceRequirement::AllowDeath, + Get, Imbalance as ImbalanceT, WithdrawReasons, + }, +}; use sp_runtime::traits::CheckedSub; use xcm::latest::{Asset, Error as XcmError, Location, Result, XcmContext}; use xcm_executor::{ @@ -137,7 +145,10 @@ impl< } impl< - Currency: frame_support::traits::Currency, + Currency: frame_support::traits::Currency< + AccountId, + NegativeImbalance: ImbalanceAccounting + 'static, + >, Matcher: MatchesFungible, AccountIdConverter: ConvertLocation, AccountId: Clone + Debug, // can't get away without it since Currency is generic over it. @@ -151,10 +162,12 @@ impl< let amount: Currency::Balance = Matcher::matches_fungible(what).ok_or(Error::AssetNotHandled)?; match CheckedAccount::get() { - Some((checked_account, MintLocation::Local)) => - Self::can_reduce_checked(checked_account, amount), - Some((checked_account, MintLocation::NonLocal)) => - Self::can_accrue_checked(checked_account, amount), + Some((checked_account, MintLocation::Local)) => { + Self::can_reduce_checked(checked_account, amount) + }, + Some((checked_account, MintLocation::NonLocal)) => { + Self::can_accrue_checked(checked_account, amount) + }, None => Ok(()), } } @@ -163,10 +176,12 @@ impl< tracing::trace!(target: "xcm::currency_adapter", ?origin, ?what, "check_in origin"); if let Some(amount) = Matcher::matches_fungible(what) { match CheckedAccount::get() { - Some((checked_account, MintLocation::Local)) => - Self::reduce_checked(checked_account, amount), - Some((checked_account, MintLocation::NonLocal)) => - Self::accrue_checked(checked_account, amount), + Some((checked_account, MintLocation::Local)) => { + Self::reduce_checked(checked_account, amount) + }, + Some((checked_account, MintLocation::NonLocal)) => { + Self::accrue_checked(checked_account, amount) + }, None => (), } } @@ -176,10 +191,12 @@ impl< tracing::trace!(target: "xcm::currency_adapter", ?dest, ?what, "can_check_out"); let amount = Matcher::matches_fungible(what).ok_or(Error::AssetNotHandled)?; match CheckedAccount::get() { - Some((checked_account, MintLocation::Local)) => - Self::can_accrue_checked(checked_account, amount), - Some((checked_account, MintLocation::NonLocal)) => - Self::can_reduce_checked(checked_account, amount), + Some((checked_account, MintLocation::Local)) => { + Self::can_accrue_checked(checked_account, amount) + }, + Some((checked_account, MintLocation::NonLocal)) => { + Self::can_reduce_checked(checked_account, amount) + }, None => Ok(()), } } @@ -188,22 +205,40 @@ impl< tracing::trace!(target: "xcm::currency_adapter", ?dest, ?what, "check_out"); if let Some(amount) = Matcher::matches_fungible(what) { match CheckedAccount::get() { - Some((checked_account, MintLocation::Local)) => - Self::accrue_checked(checked_account, amount), - Some((checked_account, MintLocation::NonLocal)) => - Self::reduce_checked(checked_account, amount), + Some((checked_account, MintLocation::Local)) => { + Self::accrue_checked(checked_account, amount) + }, + Some((checked_account, MintLocation::NonLocal)) => { + Self::reduce_checked(checked_account, amount) + }, None => (), } } } - fn deposit_asset(what: &Asset, who: &Location, _context: Option<&XcmContext>) -> Result { + fn deposit_asset( + mut what: AssetsInHolding, + who: &Location, + _context: Option<&XcmContext>, + ) -> result::Result<(), (AssetsInHolding, XcmError)> { tracing::trace!(target: "xcm::currency_adapter", ?what, ?who, "deposit_asset"); + defensive_assert!(what.len() == 1, "Trying to deposit more than one asset!"); // Check we handle this asset. - let amount = Matcher::matches_fungible(&what).ok_or(Error::AssetNotHandled)?; - let who = - AccountIdConverter::convert_location(who).ok_or(Error::AccountIdConversionFailed)?; - let _imbalance = Currency::deposit_creating(&who, amount); + let maybe = what + .fungible_assets_iter() + .next() + .and_then(|asset| Matcher::matches_fungible(&asset).map(|_| asset.id)); + let Some(asset_id) = maybe else { return Err((what, Error::AssetNotHandled.into())) }; + let Some(who) = AccountIdConverter::convert_location(who) else { + return Err((what, Error::AccountIdConversionFailed.into())); + }; + let Some(imbalance) = what.fungible.remove(&asset_id) else { + return Err((what, Error::AssetNotHandled.into())); + }; + // "manually" build the concrete credit and move the imbalance there. + let mut credit = Currency::NegativeImbalance::zero(); + credit.saturating_subsume(imbalance); + Currency::resolve_creating(&who, credit); Ok(()) } @@ -217,13 +252,13 @@ impl< let amount = Matcher::matches_fungible(what).ok_or(Error::AssetNotHandled)?; let who = AccountIdConverter::convert_location(who).ok_or(Error::AccountIdConversionFailed)?; - let _ = Currency::withdraw(&who, amount, WithdrawReasons::TRANSFER, AllowDeath).map_err( + let credit = Currency::withdraw(&who, amount, WithdrawReasons::TRANSFER, AllowDeath).map_err( |error| { tracing::debug!(target: "xcm::currency_adapter", ?error, ?who, ?amount, "Failed to withdraw asset"); XcmError::FailedToTransactAsset(error.into()) }, )?; - Ok(what.clone().into()) + Ok(AssetsInHolding::new_from_fungible_credit(what.id.clone(), Box::new(credit))) } fn internal_transfer_asset( @@ -231,7 +266,7 @@ impl< from: &Location, to: &Location, _context: &XcmContext, - ) -> result::Result { + ) -> result::Result { tracing::trace!(target: "xcm::currency_adapter", ?asset, ?from, ?to, "internal_transfer_asset"); let amount = Matcher::matches_fungible(asset).ok_or(Error::AssetNotHandled)?; let from = @@ -242,6 +277,14 @@ impl< tracing::debug!(target: "xcm::currency_adapter", ?error, ?from, ?to, ?amount, "Failed to transfer asset"); XcmError::FailedToTransactAsset(error.into()) })?; - Ok(asset.clone().into()) + Ok(asset.clone()) + } + + fn mint_asset(what: &Asset, context: &XcmContext) -> result::Result { + tracing::trace!(target: "xcm::currency_adapter", ?what, ?context, "mint_asset"); + // Check we handle this asset. + let amount = Matcher::matches_fungible(&what).ok_or(Error::AssetNotHandled)?; + let credit = Currency::issue(amount); + Ok(AssetsInHolding::new_from_fungible_credit(what.id.clone(), Box::new(credit))) } } diff --git a/polkadot/xcm/xcm-builder/src/fee_handling.rs b/polkadot/xcm/xcm-builder/src/fee_handling.rs index bc8a84083ab1c..40d7a224eaf2b 100644 --- a/polkadot/xcm/xcm-builder/src/fee_handling.rs +++ b/polkadot/xcm/xcm-builder/src/fee_handling.rs @@ -17,7 +17,10 @@ use core::marker::PhantomData; use frame_support::traits::{Contains, Get}; use xcm::prelude::*; -use xcm_executor::traits::{FeeManager, FeeReason, TransactAsset}; +use xcm_executor::{ + traits::{FeeManager, FeeReason, TransactAsset}, + AssetsInHolding, +}; /// Handles the fees that are taken by certain XCM instructions. pub trait HandleFee { @@ -25,23 +28,31 @@ pub trait HandleFee { /// fees. /// /// Returns any part of the fee that wasn't consumed. - fn handle_fee(fee: Assets, context: Option<&XcmContext>, reason: FeeReason) -> Assets; + fn handle_fee( + fee: AssetsInHolding, + context: Option<&XcmContext>, + reason: FeeReason, + ) -> AssetsInHolding; } // Default `HandleFee` implementation that just burns the fee. impl HandleFee for () { - fn handle_fee(_: Assets, _: Option<&XcmContext>, _: FeeReason) -> Assets { - Assets::new() + fn handle_fee(_: AssetsInHolding, _: Option<&XcmContext>, _: FeeReason) -> AssetsInHolding { + AssetsInHolding::new() } } #[impl_trait_for_tuples::impl_for_tuples(1, 30)] impl HandleFee for Tuple { - fn handle_fee(fee: Assets, context: Option<&XcmContext>, reason: FeeReason) -> Assets { + fn handle_fee( + fee: AssetsInHolding, + context: Option<&XcmContext>, + reason: FeeReason, + ) -> AssetsInHolding { let mut unconsumed_fee = fee; for_tuples!( #( unconsumed_fee = Tuple::handle_fee(unconsumed_fee, context, reason.clone()); - if unconsumed_fee.is_none() { + if unconsumed_fee.is_empty() { return unconsumed_fee; } )* ); @@ -63,40 +74,11 @@ impl, FeeHandler: HandleFee> FeeManager WaivedLocations::contains(loc) } - fn handle_fee(fee: Assets, context: Option<&XcmContext>, reason: FeeReason) { + fn handle_fee(fee: AssetsInHolding, context: Option<&XcmContext>, reason: FeeReason) { FeeHandler::handle_fee(fee, context, reason); } } -/// A `HandleFee` implementation that simply deposits the fees into a specific on-chain -/// `ReceiverAccount`. -/// -/// It reuses the `AssetTransactor` configured on the XCM executor to deposit fee assets. If -/// the `AssetTransactor` returns an error while calling `deposit_asset`, then a warning will be -/// logged and the fee burned. -#[deprecated( - note = "`XcmFeeToAccount` will be removed in January 2025. Use `SendXcmFeeToAccount` instead." -)] -#[allow(dead_code)] -pub struct XcmFeeToAccount( - PhantomData<(AssetTransactor, AccountId, ReceiverAccount)>, -); - -#[allow(deprecated)] -impl< - AssetTransactor: TransactAsset, - AccountId: Clone + Into<[u8; 32]>, - ReceiverAccount: Get, - > HandleFee for XcmFeeToAccount -{ - fn handle_fee(fee: Assets, context: Option<&XcmContext>, _reason: FeeReason) -> Assets { - let dest = AccountId32 { network: None, id: ReceiverAccount::get().into() }.into(); - deposit_or_burn_fee::(fee, context, dest); - - Assets::new() - } -} - /// A `HandleFee` implementation that simply deposits the fees into a specific on-chain /// `ReceiverAccount`. /// @@ -112,26 +94,32 @@ pub struct SendXcmFeeToAccount( impl> HandleFee for SendXcmFeeToAccount { - fn handle_fee(fee: Assets, context: Option<&XcmContext>, _reason: FeeReason) -> Assets { + fn handle_fee( + fee: AssetsInHolding, + context: Option<&XcmContext>, + _reason: FeeReason, + ) -> AssetsInHolding { deposit_or_burn_fee::(fee, context, ReceiverAccount::get()); - - Assets::new() + AssetsInHolding::new() } } /// Try to deposit the given fee in the specified account. /// Burns the fee in case of a failure. pub fn deposit_or_burn_fee( - fee: Assets, + fee: AssetsInHolding, context: Option<&XcmContext>, dest: Location, ) { - for asset in fee.into_inner() { - if let Err(e) = AssetTransactor::deposit_asset(&asset, &dest, context) { + // If `fee` contains multiple assets, we need to process one fungible asset at a time. + // Non-fungibles are ignored. + for (asset_id, credit) in fee.fungible.into_iter() { + let fee_asset = AssetsInHolding::new_from_fungible_credit(asset_id, credit); + if let Err((unspent, e)) = AssetTransactor::deposit_asset(fee_asset, &dest, context) { tracing::trace!( target: "xcm::fees", - "`AssetTransactor::deposit_asset` returned error: {e:?}. Burning fee: {asset:?}. \ - They might be burned.", + "`AssetTransactor::deposit_asset` returned error: {e:?}. \ + Dropping fee: {unspent:?} (might be burned).", ); } } diff --git a/polkadot/xcm/xcm-builder/src/filter_asset_location.rs b/polkadot/xcm/xcm-builder/src/filter_asset_location.rs index 55d548de453d8..c8b951c00a778 100644 --- a/polkadot/xcm/xcm-builder/src/filter_asset_location.rs +++ b/polkadot/xcm/xcm-builder/src/filter_asset_location.rs @@ -55,7 +55,7 @@ impl, AssetFilters: Get>> // `location` must match the `Location` filter. if !LocationFilter::contains(location) { - return false + return false; } // All `assets` must match at least one of the `AssetFilters`. @@ -63,7 +63,7 @@ impl, AssetFilters: Get>> assets.iter().all(|asset| { for filter in &filters { if filter.matches(asset) { - return true + return true; } } false diff --git a/polkadot/xcm/xcm-builder/src/fungible_adapter.rs b/polkadot/xcm/xcm-builder/src/fungible_adapter.rs index ef7f8f676512f..3c5de08166a2d 100644 --- a/polkadot/xcm/xcm-builder/src/fungible_adapter.rs +++ b/polkadot/xcm/xcm-builder/src/fungible_adapter.rs @@ -17,12 +17,21 @@ //! Adapters to work with [`frame_support::traits::fungible`] through XCM. use super::MintLocation; +use alloc::boxed::Box; use core::{fmt::Debug, marker::PhantomData, result}; -use frame_support::traits::{ - tokens::{ - fungible, Fortitude::Polite, Precision::Exact, Preservation::Expendable, Provenance::Minted, +use frame_support::{ + defensive_assert, + traits::{ + tokens::{ + fungible, + imbalance::{ImbalanceAccounting, UnsafeManualAccounting}, + Fortitude::Polite, + Precision::Exact, + Preservation::Expendable, + Provenance::Minted, + }, + Get, Imbalance as ImbalanceT, }, - Get, }; use xcm::latest::prelude::*; use xcm_executor::{ @@ -48,7 +57,7 @@ impl< from: &Location, to: &Location, _context: &XcmContext, - ) -> result::Result { + ) -> result::Result { tracing::trace!( target: "xcm::fungible_adapter", ?what, ?from, ?to, @@ -67,7 +76,7 @@ impl< ); XcmError::FailedToTransactAsset(error.into()) })?; - Ok(what.clone().into()) + Ok(what.clone()) } } @@ -123,13 +132,21 @@ impl< } impl< - Fungible: fungible::Mutate, + Fungible: fungible::Inspect + + fungible::Mutate + + fungible::Balanced, Matcher: MatchesFungible, AccountIdConverter: ConvertLocation, AccountId: Eq + Clone + Debug, CheckingAccount: Get>, > TransactAsset for FungibleMutateAdapter +where + fungible::Imbalance< + >::Balance, + >::OnDropCredit, + >::OnDropDebt, + >: ImbalanceAccounting, { fn can_check_in(origin: &Location, what: &Asset, _context: &XcmContext) -> XcmResult { tracing::trace!( @@ -140,10 +157,12 @@ impl< // Check we handle this asset let amount = Matcher::matches_fungible(what).ok_or(MatchError::AssetNotHandled)?; match CheckingAccount::get() { - Some((checking_account, MintLocation::Local)) => - Self::can_reduce_checked(checking_account, amount), - Some((checking_account, MintLocation::NonLocal)) => - Self::can_accrue_checked(checking_account, amount), + Some((checking_account, MintLocation::Local)) => { + Self::can_reduce_checked(checking_account, amount) + }, + Some((checking_account, MintLocation::NonLocal)) => { + Self::can_accrue_checked(checking_account, amount) + }, None => Ok(()), } } @@ -156,10 +175,12 @@ impl< ); if let Some(amount) = Matcher::matches_fungible(what) { match CheckingAccount::get() { - Some((checking_account, MintLocation::Local)) => - Self::reduce_checked(checking_account, amount), - Some((checking_account, MintLocation::NonLocal)) => - Self::accrue_checked(checking_account, amount), + Some((checking_account, MintLocation::Local)) => { + Self::reduce_checked(checking_account, amount) + }, + Some((checking_account, MintLocation::NonLocal)) => { + Self::accrue_checked(checking_account, amount) + }, None => (), } } @@ -174,10 +195,12 @@ impl< ); let amount = Matcher::matches_fungible(what).ok_or(MatchError::AssetNotHandled)?; match CheckingAccount::get() { - Some((checking_account, MintLocation::Local)) => - Self::can_accrue_checked(checking_account, amount), - Some((checking_account, MintLocation::NonLocal)) => - Self::can_reduce_checked(checking_account, amount), + Some((checking_account, MintLocation::Local)) => { + Self::can_accrue_checked(checking_account, amount) + }, + Some((checking_account, MintLocation::NonLocal)) => { + Self::can_reduce_checked(checking_account, amount) + }, None => Ok(()), } } @@ -191,30 +214,51 @@ impl< ); if let Some(amount) = Matcher::matches_fungible(what) { match CheckingAccount::get() { - Some((checking_account, MintLocation::Local)) => - Self::accrue_checked(checking_account, amount), - Some((checking_account, MintLocation::NonLocal)) => - Self::reduce_checked(checking_account, amount), + Some((checking_account, MintLocation::Local)) => { + Self::accrue_checked(checking_account, amount) + }, + Some((checking_account, MintLocation::NonLocal)) => { + Self::reduce_checked(checking_account, amount) + }, None => (), } } } - fn deposit_asset(what: &Asset, who: &Location, _context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + mut what: AssetsInHolding, + who: &Location, + _context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { tracing::trace!( target: "xcm::fungible_adapter", ?what, ?who, "deposit_asset", ); - let amount = Matcher::matches_fungible(what).ok_or(MatchError::AssetNotHandled)?; - let who = AccountIdConverter::convert_location(who) - .ok_or(MatchError::AccountIdConversionFailed)?; - Fungible::mint_into(&who, amount).map_err(|error| { - tracing::debug!( - target: "xcm::fungible_adapter", ?error, ?who, ?amount, - "Failed to deposit assets", - ); - XcmError::FailedToTransactAsset(error.into()) + defensive_assert!(what.len() == 1, "Trying to deposit more than one asset!"); + // Check we handle this asset. + let maybe = what + .fungible_assets_iter() + .next() + .and_then(|asset| Matcher::matches_fungible(&asset).map(|amount| (asset.id, amount))); + let Some((asset_id, amount)) = maybe else { + return Err((what, MatchError::AssetNotHandled.into())); + }; + let Some(who) = AccountIdConverter::convert_location(who) else { + return Err((what, MatchError::AccountIdConversionFailed.into())); + }; + let Some(imbalance) = what.fungible.remove(&asset_id) else { + return Err((what, MatchError::AssetNotHandled.into())); + }; + // "manually" build the concrete credit and move the imbalance there. + let mut credit = fungible::Credit::::zero(); + credit.saturating_subsume(imbalance); + Fungible::resolve(&who, credit).map_err(|unspent| { + tracing::debug!(target: "xcm::fungible_adapter", ?asset_id, ?who, ?amount, "Failed to deposit asset"); + ( + AssetsInHolding::new_from_fungible_credit(asset_id, Box::new(unspent)), + XcmError::FailedToTransactAsset("") + ) })?; Ok(()) } @@ -232,14 +276,22 @@ impl< let amount = Matcher::matches_fungible(what).ok_or(MatchError::AssetNotHandled)?; let who = AccountIdConverter::convert_location(who) .ok_or(MatchError::AccountIdConversionFailed)?; - Fungible::burn_from(&who, amount, Expendable, Exact, Polite).map_err(|error| { - tracing::debug!( - target: "xcm::fungible_adapter", ?error, ?who, ?amount, - "Failed to withdraw assets", - ); + let credit = Fungible::withdraw(&who, amount, Exact, Expendable, Polite).map_err(|error| { + tracing::debug!(target: "xcm::fungibles_adapter", ?error, ?who, ?amount, "Failed to withdraw asset"); XcmError::FailedToTransactAsset(error.into()) })?; - Ok(what.clone().into()) + Ok(AssetsInHolding::new_from_fungible_credit(what.id.clone(), Box::new(credit))) + } + + fn mint_asset(what: &Asset, context: &XcmContext) -> Result { + tracing::trace!( + target: "xcm::fungible_adapter", + ?what, ?context, + "mint_asset", + ); + let amount = Matcher::matches_fungible(what).ok_or(MatchError::AssetNotHandled)?; + let credit = Fungible::issue(amount); + Ok(AssetsInHolding::new_from_fungible_credit(what.id.clone(), Box::new(credit))) } } @@ -250,13 +302,21 @@ pub struct FungibleAdapter, ); impl< - Fungible: fungible::Mutate, + Fungible: fungible::Inspect + + fungible::Mutate + + fungible::Balanced, Matcher: MatchesFungible, AccountIdConverter: ConvertLocation, AccountId: Eq + Clone + Debug, CheckingAccount: Get>, > TransactAsset for FungibleAdapter +where + fungible::Imbalance< + >::Balance, + >::OnDropCredit, + >::OnDropDebt, + >: ImbalanceAccounting, { fn can_check_in(origin: &Location, what: &Asset, context: &XcmContext) -> XcmResult { FungibleMutateAdapter::< @@ -298,7 +358,11 @@ impl< >::check_out(dest, what, context) } - fn deposit_asset(what: &Asset, who: &Location, context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + what: AssetsInHolding, + who: &Location, + context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { FungibleMutateAdapter::< Fungible, Matcher, @@ -327,9 +391,21 @@ impl< from: &Location, to: &Location, context: &XcmContext, - ) -> result::Result { + ) -> result::Result { FungibleTransferAdapter::::internal_transfer_asset( what, from, to, context ) } + + fn mint_asset(what: &Asset, context: &XcmContext) -> result::Result { + FungibleMutateAdapter::< + Fungible, + Matcher, + AccountIdConverter, + AccountId, + CheckingAccount, + >::mint_asset( + what, context, + ) + } } diff --git a/polkadot/xcm/xcm-builder/src/fungibles_adapter.rs b/polkadot/xcm/xcm-builder/src/fungibles_adapter.rs index 74d459654191c..8bfd89efff9c5 100644 --- a/polkadot/xcm/xcm-builder/src/fungibles_adapter.rs +++ b/polkadot/xcm/xcm-builder/src/fungibles_adapter.rs @@ -16,16 +16,27 @@ //! Adapters to work with [`frame_support::traits::fungibles`] through XCM. -use core::{fmt::Debug, marker::PhantomData, result}; -use frame_support::traits::{ - tokens::{ - fungibles, Fortitude::Polite, Precision::Exact, Preservation::Expendable, - Provenance::Minted, +use alloc::boxed::Box; +use core::{fmt::Debug, marker::PhantomData}; +use frame_support::{ + defensive_assert, + traits::{ + tokens::{ + fungibles, + imbalance::{ImbalanceAccounting, UnsafeManualAccounting}, + Fortitude::Polite, + Precision::Exact, + Preservation::Expendable, + Provenance::Minted, + }, + Contains, Get, }, - Contains, Get, }; use xcm::latest::prelude::*; -use xcm_executor::traits::{ConvertLocation, Error as MatchError, MatchesFungibles, TransactAsset}; +use xcm_executor::{ + traits::{ConvertLocation, Error as MatchError, MatchesFungibles, TransactAsset}, + AssetsInHolding, +}; /// `TransactAsset` implementation to convert a `fungibles` implementation to become usable in XCM. pub struct FungiblesTransferAdapter( @@ -44,7 +55,7 @@ impl< from: &Location, to: &Location, _context: &XcmContext, - ) -> result::Result { + ) -> Result { tracing::trace!( target: "xcm::fungibles_adapter", ?what, ?from, ?to, @@ -60,7 +71,7 @@ impl< tracing::debug!(target: "xcm::fungibles_adapter", error = ?e, ?asset_id, ?source, ?dest, ?amount, "Failed internal transfer asset"); XcmError::FailedToTransactAsset(e.into()) })?; - Ok(what.clone().into()) + Ok(what.clone()) } } @@ -200,7 +211,10 @@ impl< } impl< - Assets: fungibles::Mutate, + Assets: fungibles::Inspect + + fungibles::Mutate + + fungibles::Balanced + + 'static, Matcher: MatchesFungibles, AccountIdConverter: ConvertLocation, AccountId: Eq + Clone + Debug, /* can't get away without it since Currency is generic @@ -216,6 +230,13 @@ impl< CheckAsset, CheckingAccount, > +where + fungibles::Imbalance< + >::AssetId, + >::Balance, + >::OnDropCredit, + >::OnDropDebt, + >: ImbalanceAccounting, { fn can_check_in(origin: &Location, what: &Asset, _context: &XcmContext) -> XcmResult { tracing::trace!( @@ -285,19 +306,42 @@ impl< } } - fn deposit_asset(what: &Asset, who: &Location, _context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + mut what: AssetsInHolding, + who: &Location, + _context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { tracing::trace!( target: "xcm::fungibles_adapter", ?what, ?who, "deposit_asset" ); + defensive_assert!(what.len() == 1, "Trying to deposit more than one asset!"); // Check we handle this asset. - let (asset_id, amount) = Matcher::matches_fungibles(what)?; - let who = AccountIdConverter::convert_location(who) - .ok_or(MatchError::AccountIdConversionFailed)?; - Assets::mint_into(asset_id, &who, amount).map_err(|error| { - tracing::debug!(target: "xcm::fungibles_adapter", ?error, ?who, ?amount, "Failed to deposit asset"); - XcmError::FailedToTransactAsset(error.into()) + let maybe = what.fungible_assets_iter().next().and_then(|asset| { + Matcher::matches_fungibles(&asset) + .map(|(fungibles_id, amount)| (asset.id, fungibles_id, amount)) + .ok() + }); + let Some((asset_id, fungibles_id, amount)) = maybe else { + return Err((what, MatchError::AssetNotHandled.into())); + }; + let Some(who) = AccountIdConverter::convert_location(who) else { + return Err((what, MatchError::AccountIdConversionFailed.into())); + }; + let Some(imbalance) = what.fungible.remove(&asset_id) else { + return Err((what, MatchError::AssetNotHandled.into())); + }; + // "manually" build the concrete credit and move the imbalance there. + let mut credit = fungibles::Credit::::zero(fungibles_id); + credit.saturating_subsume(imbalance); + + Assets::resolve(&who, credit).map_err(|unspent| { + tracing::debug!(target: "xcm::fungibles_adapter", ?asset_id, ?who, ?amount, "Failed to deposit asset"); + ( + AssetsInHolding::new_from_fungible_credit(asset_id, Box::new(unspent)), + XcmError::FailedToTransactAsset("") + ) })?; Ok(()) } @@ -306,7 +350,7 @@ impl< what: &Asset, who: &Location, _maybe_context: Option<&XcmContext>, - ) -> result::Result { + ) -> Result { tracing::trace!( target: "xcm::fungibles_adapter", ?what, ?who, @@ -316,11 +360,22 @@ impl< let (asset_id, amount) = Matcher::matches_fungibles(what)?; let who = AccountIdConverter::convert_location(who) .ok_or(MatchError::AccountIdConversionFailed)?; - Assets::burn_from(asset_id, &who, amount, Expendable, Exact, Polite).map_err(|error| { + let credit = Assets::withdraw(asset_id, &who, amount, Exact, Expendable, Polite).map_err(|error| { tracing::debug!(target: "xcm::fungibles_adapter", ?error, ?who, ?amount, "Failed to withdraw asset"); XcmError::FailedToTransactAsset(error.into()) })?; - Ok(what.clone().into()) + Ok(AssetsInHolding::new_from_fungible_credit(what.id.clone(), Box::new(credit))) + } + + fn mint_asset(what: &Asset, context: &XcmContext) -> Result { + tracing::trace!( + target: "xcm::fungibles_adapter", + ?what, ?context, + "mint_asset", + ); + let (asset_id, amount) = Matcher::matches_fungibles(what)?; + let credit = Assets::issue(asset_id, amount); + Ok(AssetsInHolding::new_from_fungible_credit(what.id.clone(), Box::new(credit))) } } @@ -333,7 +388,10 @@ pub struct FungiblesAdapter< CheckingAccount, >(PhantomData<(Assets, Matcher, AccountIdConverter, AccountId, CheckAsset, CheckingAccount)>); impl< - Assets: fungibles::Mutate, + Assets: fungibles::Inspect + + fungibles::Mutate + + fungibles::Balanced + + 'static, Matcher: MatchesFungibles, AccountIdConverter: ConvertLocation, AccountId: Eq + Clone + Debug, /* can't get away without it since Currency is generic @@ -342,6 +400,13 @@ impl< CheckingAccount: Get, > TransactAsset for FungiblesAdapter +where + fungibles::Imbalance< + >::AssetId, + >::Balance, + >::OnDropCredit, + >::OnDropDebt, + >: ImbalanceAccounting, { fn can_check_in(origin: &Location, what: &Asset, context: &XcmContext) -> XcmResult { FungiblesMutateAdapter::< @@ -387,7 +452,11 @@ impl< >::check_out(dest, what, context) } - fn deposit_asset(what: &Asset, who: &Location, context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + what: AssetsInHolding, + who: &Location, + context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { FungiblesMutateAdapter::< Assets, Matcher, @@ -401,8 +470,8 @@ impl< fn withdraw_asset( what: &Asset, who: &Location, - maybe_context: Option<&XcmContext>, - ) -> result::Result { + context: Option<&XcmContext>, + ) -> Result { FungiblesMutateAdapter::< Assets, Matcher, @@ -410,7 +479,7 @@ impl< AccountId, CheckAsset, CheckingAccount, - >::withdraw_asset(what, who, maybe_context) + >::withdraw_asset(what, who, context) } fn internal_transfer_asset( @@ -418,9 +487,20 @@ impl< from: &Location, to: &Location, context: &XcmContext, - ) -> result::Result { + ) -> Result { FungiblesTransferAdapter::::internal_transfer_asset( what, from, to, context ) } + + fn mint_asset(what: &Asset, context: &XcmContext) -> Result { + FungiblesMutateAdapter::< + Assets, + Matcher, + AccountIdConverter, + AccountId, + CheckAsset, + CheckingAccount, + >::mint_asset(what, context) + } } diff --git a/polkadot/xcm/xcm-builder/src/location_conversion.rs b/polkadot/xcm/xcm-builder/src/location_conversion.rs index 0f4703dca89ca..6f25c94facbd9 100644 --- a/polkadot/xcm/xcm-builder/src/location_conversion.rs +++ b/polkadot/xcm/xcm-builder/src/location_conversion.rs @@ -91,8 +91,9 @@ pub struct DescribeTreasuryVoiceTerminal; impl DescribeLocation for DescribeTreasuryVoiceTerminal { fn describe_location(location: &Location) -> Option> { match location.unpack() { - (0, [Plurality { id: BodyId::Treasury, part: BodyPart::Voice }]) => - Some((b"Treasury", b"Voice").encode()), + (0, [Plurality { id: BodyId::Treasury, part: BodyPart::Voice }]) => { + Some((b"Treasury", b"Voice").encode()) + }, _ => None, } } @@ -160,24 +161,29 @@ impl DescribeLocation for LegacyDescribeForeignChainAccount { fn describe_location(location: &Location) -> Option> { Some(match location.unpack() { // Used on the relay chain for sending paras that use 32 byte accounts - (0, [Parachain(para_id), AccountId32 { id, .. }]) => - LegacyDescribeForeignChainAccount::from_para_32(para_id, id, 0), + (0, [Parachain(para_id), AccountId32 { id, .. }]) => { + LegacyDescribeForeignChainAccount::from_para_32(para_id, id, 0) + }, // Used on the relay chain for sending paras that use 20 byte accounts - (0, [Parachain(para_id), AccountKey20 { key, .. }]) => - LegacyDescribeForeignChainAccount::from_para_20(para_id, key, 0), + (0, [Parachain(para_id), AccountKey20 { key, .. }]) => { + LegacyDescribeForeignChainAccount::from_para_20(para_id, key, 0) + }, // Used on para-chain for sending paras that use 32 byte accounts - (1, [Parachain(para_id), AccountId32 { id, .. }]) => - LegacyDescribeForeignChainAccount::from_para_32(para_id, id, 1), + (1, [Parachain(para_id), AccountId32 { id, .. }]) => { + LegacyDescribeForeignChainAccount::from_para_32(para_id, id, 1) + }, // Used on para-chain for sending paras that use 20 byte accounts - (1, [Parachain(para_id), AccountKey20 { key, .. }]) => - LegacyDescribeForeignChainAccount::from_para_20(para_id, key, 1), + (1, [Parachain(para_id), AccountKey20 { key, .. }]) => { + LegacyDescribeForeignChainAccount::from_para_20(para_id, key, 1) + }, // Used on para-chain for sending from the relay chain - (1, [AccountId32 { id, .. }]) => - LegacyDescribeForeignChainAccount::from_relay_32(id, 1), + (1, [AccountId32 { id, .. }]) => { + LegacyDescribeForeignChainAccount::from_relay_32(id, 1) + }, // No other conversions provided _ => return None, @@ -342,8 +348,9 @@ impl, AccountId: From<[u8; 32]> + Into<[u8; 32]> { fn convert_location(location: &Location) -> Option { match location.unpack() { - (0, [Plurality { id: BodyId::Treasury, part: BodyPart::Voice }]) => - Some((TreasuryAccount::get().into() as [u8; 32]).into()), + (0, [Plurality { id: BodyId::Treasury, part: BodyPart::Voice }]) => { + Some((TreasuryAccount::get().into() as [u8; 32]).into()) + }, _ => None, } } @@ -446,8 +453,9 @@ impl, AccountId: From<[u8; 32]> + Clone let (remote_network, remote_location) = devolved; match remote_location.as_slice() { - [Parachain(remote_network_para_id)] => - Some(AccountId::from(Self::from_params(&remote_network, &remote_network_para_id))), + [Parachain(remote_network_para_id)] => { + Some(AccountId::from(Self::from_params(&remote_network, &remote_network_para_id))) + }, _ => None, } } @@ -491,16 +499,18 @@ impl, AccountId: From<[u8; 32]> + Clone // equivalent to `EthereumLocationsConverterFor` [] => (b"ethereum-chain", chain_id).using_encoded(blake2_256).into(), // equivalent to `EthereumLocationsConverterFor` - [AccountKey20 { network: _, key }] => - (b"ethereum-chain", chain_id, *key).using_encoded(blake2_256).into(), + [AccountKey20 { network: _, key }] => { + (b"ethereum-chain", chain_id, *key).using_encoded(blake2_256).into() + }, // extends `EthereumLocationsConverterFor` tail => (b"ethereum-chain", chain_id, tail).using_encoded(blake2_256).into(), } } else { match remote_location.as_slice() { // equivalent to `GlobalConsensusParachainConvertsFor` - [Parachain(para_id)] => - (b"glblcnsnss/prchn_", remote_network, para_id).using_encoded(blake2_256).into(), + [Parachain(para_id)] => { + (b"glblcnsnss/prchn_", remote_network, para_id).using_encoded(blake2_256).into() + }, // converts everything else based on hash of encoded location tail tail => (b"glblcnsnss", remote_network, tail).using_encoded(blake2_256).into(), } diff --git a/polkadot/xcm/xcm-builder/src/matcher.rs b/polkadot/xcm/xcm-builder/src/matcher.rs index 2fed64bccde86..5e6e71b2c59f8 100644 --- a/polkadot/xcm/xcm-builder/src/matcher.rs +++ b/polkadot/xcm/xcm-builder/src/matcher.rs @@ -132,7 +132,7 @@ impl<'a, Call> MatchXcm for Matcher<'a, Call> { Self: Sized, { if self.total_inst - self.current_idx != n { - return Err(ProcessMessageError::BadFormat) + return Err(ProcessMessageError::BadFormat); } Ok(self) @@ -159,12 +159,12 @@ impl<'a, Call> MatchXcm for Matcher<'a, Call> { F: FnMut(&mut Self::Inst) -> Result, Self::Error>, { if self.current_idx >= self.total_inst { - return Err(ProcessMessageError::BadFormat) + return Err(ProcessMessageError::BadFormat); } while self.current_idx < self.total_inst && cond(&self.xcm[self.current_idx]) { if let ControlFlow::Break(()) = f(&mut self.xcm[self.current_idx])? { - break + break; } self.current_idx += 1; } diff --git a/polkadot/xcm/xcm-builder/src/matches_location.rs b/polkadot/xcm/xcm-builder/src/matches_location.rs index 71c5ec1efd6f9..1d62e55e54045 100644 --- a/polkadot/xcm/xcm-builder/src/matches_location.rs +++ b/polkadot/xcm/xcm-builder/src/matches_location.rs @@ -27,9 +27,13 @@ use xcm::latest::{InteriorLocation, Location, NetworkId}; pub struct StartsWith(core::marker::PhantomData<(T, L)>); impl, L: TryInto + Clone> Contains for StartsWith { fn contains(location: &L) -> bool { - let latest_location: Location = - if let Ok(location) = (*location).clone().try_into() { location } else { return false }; - let latest_t = if let Ok(location) = T::get().try_into() { location } else { return false }; + let latest_location: Location = if let Ok(location) = (*location).clone().try_into() { + location + } else { + return false; + }; + let latest_t = + if let Ok(location) = T::get().try_into() { location } else { return false }; latest_location.starts_with(&latest_t) } } diff --git a/polkadot/xcm/xcm-builder/src/nonfungible_adapter.rs b/polkadot/xcm/xcm-builder/src/nonfungible_adapter.rs index 08e2a9249f214..2713aa2336240 100644 --- a/polkadot/xcm/xcm-builder/src/nonfungible_adapter.rs +++ b/polkadot/xcm/xcm-builder/src/nonfungible_adapter.rs @@ -17,14 +17,15 @@ //! Adapters to work with [`frame_support::traits::tokens::nonfungible`] through XCM. use crate::MintLocation; -use core::{fmt::Debug, marker::PhantomData, result}; +use core::{fmt::Debug, marker::PhantomData}; use frame_support::{ - ensure, + defensive_assert, ensure, traits::{tokens::nonfungible, Get}, }; use xcm::latest::prelude::*; -use xcm_executor::traits::{ - ConvertLocation, Error as MatchError, MatchesNonFungible, TransactAsset, +use xcm_executor::{ + traits::{ConvertLocation, Error as MatchError, MatchesNonFungible, TransactAsset}, + AssetsInHolding, }; const LOG_TARGET: &str = "xcm::nonfungible_adapter"; @@ -51,7 +52,7 @@ where from: &Location, to: &Location, context: &XcmContext, - ) -> result::Result { + ) -> Result { tracing::trace!( target: LOG_TARGET, ?what, @@ -68,7 +69,7 @@ where tracing::debug!(target: LOG_TARGET, ?e, ?instance, ?destination, "Failed to transfer non-fungible asset"); XcmError::FailedToTransactAsset(e.into()) })?; - Ok(what.clone().into()) + Ok(what.clone()) } } @@ -142,8 +143,9 @@ where let instance = Matcher::matches_nonfungible(what).ok_or(MatchError::AssetNotHandled)?; match CheckingAccount::get() { // We track this asset's teleports to ensure no more come in than have gone out. - Some((checking_account, MintLocation::Local)) => - Self::can_reduce_checked(checking_account, instance), + Some((checking_account, MintLocation::Local)) => { + Self::can_reduce_checked(checking_account, instance) + }, // We track this asset's teleports to ensure no more go out than have come in. Some((_, MintLocation::NonLocal)) => Self::can_accrue_checked(instance), _ => Ok(()), @@ -163,8 +165,9 @@ where // We track this asset's teleports to ensure no more come in than have gone out. Some((_, MintLocation::Local)) => Self::reduce_checked(instance), // We track this asset's teleports to ensure no more go out than have come in. - Some((checking_account, MintLocation::NonLocal)) => - Self::accrue_checked(checking_account, instance), + Some((checking_account, MintLocation::NonLocal)) => { + Self::accrue_checked(checking_account, instance) + }, _ => (), } } @@ -184,8 +187,9 @@ where // We track this asset's teleports to ensure no more come in than have gone out. Some((_, MintLocation::Local)) => Self::can_accrue_checked(instance), // We track this asset's teleports to ensure no more go out than have come in. - Some((checking_account, MintLocation::NonLocal)) => - Self::can_reduce_checked(checking_account, instance), + Some((checking_account, MintLocation::NonLocal)) => { + Self::can_reduce_checked(checking_account, instance) + }, _ => Ok(()), } } @@ -201,8 +205,9 @@ where if let Some(instance) = Matcher::matches_nonfungible(what) { match CheckingAccount::get() { // We track this asset's teleports to ensure no more come in than have gone out. - Some((checking_account, MintLocation::Local)) => - Self::accrue_checked(checking_account, instance), + Some((checking_account, MintLocation::Local)) => { + Self::accrue_checked(checking_account, instance) + }, // We track this asset's teleports to ensure no more go out than have come in. Some((_, MintLocation::NonLocal)) => Self::reduce_checked(instance), _ => (), @@ -210,7 +215,11 @@ where } } - fn deposit_asset(what: &Asset, who: &Location, context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + what: AssetsInHolding, + who: &Location, + context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { tracing::trace!( target: LOG_TARGET, ?what, @@ -218,13 +227,19 @@ where ?context, "deposit_asset", ); + defensive_assert!(what.len() == 1, "Trying to deposit more than one asset!"); // Check we handle this asset. - let instance = Matcher::matches_nonfungible(what).ok_or(MatchError::AssetNotHandled)?; - let who = AccountIdConverter::convert_location(who) - .ok_or(MatchError::AccountIdConversionFailed)?; + let maybe = what + .non_fungible_assets_iter() + .next() + .and_then(|asset| Matcher::matches_nonfungible(&asset)); + let Some(instance) = maybe else { return Err((what, MatchError::AssetNotHandled.into())) }; + let Some(who) = AccountIdConverter::convert_location(who) else { + return Err((what, MatchError::AccountIdConversionFailed.into())); + }; NonFungible::mint_into(&instance, &who).map_err(|e| { tracing::debug!(target: LOG_TARGET, ?e, ?instance, ?who, "Failed to mint asset"); - XcmError::FailedToTransactAsset(e.into()) + (what, XcmError::FailedToTransactAsset(e.into())) }) } @@ -232,7 +247,7 @@ where what: &Asset, who: &Location, maybe_context: Option<&XcmContext>, - ) -> result::Result { + ) -> Result { tracing::trace!( target: LOG_TARGET, ?what, @@ -244,11 +259,29 @@ where let who = AccountIdConverter::convert_location(who) .ok_or(MatchError::AccountIdConversionFailed)?; let instance = Matcher::matches_nonfungible(what).ok_or(MatchError::AssetNotHandled)?; + let asset_instance = match what.fun { + NonFungible(instance) => instance, + _ => return Err(MatchError::AssetNotHandled.into()), + }; NonFungible::burn(&instance, Some(&who)).map_err(|e| { tracing::debug!(target: LOG_TARGET, ?e, ?instance, ?who, "Failed to burn asset"); XcmError::FailedToTransactAsset(e.into()) })?; - Ok(what.clone().into()) + Ok(AssetsInHolding::new_from_non_fungible(what.id.clone(), asset_instance)) + } + + fn mint_asset(what: &Asset, context: &XcmContext) -> Result { + tracing::trace!( + target: LOG_TARGET, + ?what, ?context, + "mint_asset", + ); + let asset_instance = match what.fun { + NonFungible(instance) => instance, + _ => return Err(MatchError::AssetNotHandled.into()), + }; + let _instance = Matcher::matches_nonfungible(what).ok_or(MatchError::AssetNotHandled)?; + Ok(AssetsInHolding::new_from_non_fungible(what.id.clone(), asset_instance)) } } @@ -313,7 +346,11 @@ where >::check_out(dest, what, context) } - fn deposit_asset(what: &Asset, who: &Location, context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + what: AssetsInHolding, + who: &Location, + context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { NonFungibleMutateAdapter::< NonFungible, Matcher, @@ -327,7 +364,7 @@ where what: &Asset, who: &Location, maybe_context: Option<&XcmContext>, - ) -> result::Result { + ) -> Result { NonFungibleMutateAdapter::< NonFungible, Matcher, @@ -342,9 +379,19 @@ where from: &Location, to: &Location, context: &XcmContext, - ) -> result::Result { + ) -> Result { NonFungibleTransferAdapter::::transfer_asset( what, from, to, context, ) } + + fn mint_asset(what: &Asset, context: &XcmContext) -> Result { + NonFungibleMutateAdapter::< + NonFungible, + Matcher, + AccountIdConverter, + AccountId, + CheckingAccount, + >::mint_asset(what, context) + } } diff --git a/polkadot/xcm/xcm-builder/src/nonfungibles_adapter.rs b/polkadot/xcm/xcm-builder/src/nonfungibles_adapter.rs index cc0bed90da6d0..d333ddcc655e4 100644 --- a/polkadot/xcm/xcm-builder/src/nonfungibles_adapter.rs +++ b/polkadot/xcm/xcm-builder/src/nonfungibles_adapter.rs @@ -19,12 +19,13 @@ use crate::{AssetChecking, MintLocation}; use core::{fmt::Debug, marker::PhantomData, result}; use frame_support::{ - ensure, + defensive_assert, ensure, traits::{tokens::nonfungibles, Get}, }; use xcm::latest::prelude::*; -use xcm_executor::traits::{ - ConvertLocation, Error as MatchError, MatchesNonFungibles, TransactAsset, +use xcm_executor::{ + traits::{ConvertLocation, Error as MatchError, MatchesNonFungibles, TransactAsset}, + AssetsInHolding, }; const LOG_TARGET: &str = "xcm::nonfungibles_adapter"; @@ -54,7 +55,7 @@ where from: &Location, to: &Location, context: &XcmContext, - ) -> result::Result { + ) -> Result { tracing::trace!( target: LOG_TARGET, ?what, @@ -71,7 +72,7 @@ where tracing::debug!(target: LOG_TARGET, ?e, ?class, ?instance, ?destination, "Failed to transfer asset"); XcmError::FailedToTransactAsset(e.into()) })?; - Ok(what.clone().into()) + Ok(what.clone()) } } @@ -226,7 +227,11 @@ where } } - fn deposit_asset(what: &Asset, who: &Location, context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + what: AssetsInHolding, + who: &Location, + context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { tracing::trace!( target: LOG_TARGET, ?what, @@ -234,13 +239,21 @@ where ?context, "deposit_asset", ); + defensive_assert!(what.len() == 1, "Trying to deposit more than one asset!"); // Check we handle this asset. - let (class, instance) = Matcher::matches_nonfungibles(what)?; - let who = AccountIdConverter::convert_location(who) - .ok_or(MatchError::AccountIdConversionFailed)?; + let maybe = what + .non_fungible_assets_iter() + .next() + .and_then(|asset| Matcher::matches_nonfungibles(&asset).ok()); + let Some((class, instance)) = maybe else { + return Err((what, MatchError::AssetNotHandled.into())); + }; + let Some(who) = AccountIdConverter::convert_location(who) else { + return Err((what, MatchError::AccountIdConversionFailed.into())); + }; Assets::mint_into(&class, &instance, &who).map_err(|e| { tracing::debug!(target: LOG_TARGET, ?e, ?class, ?instance, ?who, "Failed to mint asset"); - XcmError::FailedToTransactAsset(e.into()) + (what, XcmError::FailedToTransactAsset(e.into())) }) } @@ -248,7 +261,7 @@ where what: &Asset, who: &Location, maybe_context: Option<&XcmContext>, - ) -> result::Result { + ) -> Result { tracing::trace!( target: LOG_TARGET, ?what, @@ -259,12 +272,30 @@ where // Check we handle this asset. let who = AccountIdConverter::convert_location(who) .ok_or(MatchError::AccountIdConversionFailed)?; + let asset_instance = match what.fun { + NonFungible(instance) => instance, + _ => return Err(MatchError::AssetNotHandled.into()), + }; let (class, instance) = Matcher::matches_nonfungibles(what)?; Assets::burn(&class, &instance, Some(&who)).map_err(|e| { tracing::debug!(target: LOG_TARGET, ?e, ?class, ?instance, ?who, "Failed to burn asset"); XcmError::FailedToTransactAsset(e.into()) })?; - Ok(what.clone().into()) + Ok(AssetsInHolding::new_from_non_fungible(what.id.clone(), asset_instance)) + } + + fn mint_asset(what: &Asset, context: &XcmContext) -> Result { + tracing::trace!( + target: LOG_TARGET, + ?what, ?context, + "mint_asset", + ); + let asset_instance = match what.fun { + NonFungible(instance) => instance, + _ => return Err(MatchError::AssetNotHandled.into()), + }; + Matcher::matches_nonfungibles(what)?; + Ok(AssetsInHolding::new_from_non_fungible(what.id.clone(), asset_instance)) } } @@ -348,7 +379,11 @@ where >::check_out(dest, what, context) } - fn deposit_asset(what: &Asset, who: &Location, context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + what: AssetsInHolding, + who: &Location, + context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { NonFungiblesMutateAdapter::< Assets, Matcher, @@ -363,7 +398,7 @@ where what: &Asset, who: &Location, maybe_context: Option<&XcmContext>, - ) -> result::Result { + ) -> result::Result { NonFungiblesMutateAdapter::< Assets, Matcher, @@ -379,9 +414,20 @@ where from: &Location, to: &Location, context: &XcmContext, - ) -> result::Result { + ) -> Result { NonFungiblesTransferAdapter::::transfer_asset( what, from, to, context, ) } + + fn mint_asset(what: &Asset, context: &XcmContext) -> Result { + NonFungiblesMutateAdapter::< + Assets, + Matcher, + AccountIdConverter, + AccountId, + CheckAsset, + CheckingAccount, + >::mint_asset(what, context) + } } diff --git a/polkadot/xcm/xcm-builder/src/origin_aliases.rs b/polkadot/xcm/xcm-builder/src/origin_aliases.rs index 5bc8f0ca32b93..93037a8d9f457 100644 --- a/polkadot/xcm/xcm-builder/src/origin_aliases.rs +++ b/polkadot/xcm/xcm-builder/src/origin_aliases.rs @@ -33,7 +33,7 @@ impl> ContainsPair origin.clone().split_last_interior() { return Prefix::contains(&prefix) && - *target == Location { parents: 0, interior: [account_id].into() } + *target == Location { parents: 0, interior: [account_id].into() }; } false } @@ -43,7 +43,7 @@ impl> ContainsPair pub struct AliasChildLocation; impl ContainsPair for AliasChildLocation { fn contains(origin: &Location, target: &Location) -> bool { - return target.starts_with(origin) + return target.starts_with(origin); } } @@ -66,6 +66,6 @@ where _ => return false, }; // check that `origin` matches `Origin` and `target` matches `Filter` - return Origin::get().eq(origin) && Filter::contains(target) + return Origin::get().eq(origin) && Filter::contains(target); } } diff --git a/polkadot/xcm/xcm-builder/src/origin_conversion.rs b/polkadot/xcm/xcm-builder/src/origin_conversion.rs index 2071fcd1652f6..4f71230b046f9 100644 --- a/polkadot/xcm/xcm-builder/src/origin_conversion.rs +++ b/polkadot/xcm/xcm-builder/src/origin_conversion.rs @@ -84,7 +84,9 @@ impl, RuntimeOrigin: OriginTrait> ConvertOrigin - Ok(RuntimeOrigin::root()), + { + Ok(RuntimeOrigin::root()) + }, _ => Err(origin), } } @@ -109,7 +111,9 @@ impl, RuntimeOrigin: OriginTrait> ConvertOrigin - Ok(RuntimeOrigin::root()), + { + Ok(RuntimeOrigin::root()) + }, _ => Err(origin), } } @@ -128,8 +132,9 @@ impl, RuntimeOrigin: From> ConvertOr let origin = origin.into(); tracing::trace!(target: "xcm::origin_conversion", ?origin, ?kind, "ChildParachainAsNative"); match (kind, origin.unpack()) { - (OriginKind::Native, (0, [Junction::Parachain(id)])) => - Ok(RuntimeOrigin::from(ParachainOrigin::from(*id))), + (OriginKind::Native, (0, [Junction::Parachain(id)])) => { + Ok(RuntimeOrigin::from(ParachainOrigin::from(*id))) + }, _ => Err(origin), } } @@ -152,8 +157,9 @@ impl, RuntimeOrigin: From> ConvertOr "SiblingParachainAsNative", ); match (kind, origin.unpack()) { - (OriginKind::Native, (1, [Junction::Parachain(id)])) => - Ok(RuntimeOrigin::from(ParachainOrigin::from(*id))), + (OriginKind::Native, (1, [Junction::Parachain(id)])) => { + Ok(RuntimeOrigin::from(ParachainOrigin::from(*id))) + }, _ => Err(origin), } } @@ -199,7 +205,9 @@ where match (kind, origin.unpack()) { (OriginKind::Native, (0, [Junction::AccountId32 { id, network }])) if matches!(network, None) || *network == Network::get() => - Ok(RuntimeOrigin::signed((*id).into())), + { + Ok(RuntimeOrigin::signed((*id).into())) + }, _ => Err(origin), } } @@ -226,7 +234,9 @@ where match (kind, origin.unpack()) { (OriginKind::Native, (0, [Junction::AccountKey20 { key, network }])) if (matches!(network, None) || *network == Network::get()) => - Ok(RuntimeOrigin::signed((*key).into())), + { + Ok(RuntimeOrigin::signed((*key).into())) + }, _ => Err(origin), } } @@ -279,8 +289,9 @@ where { fn try_convert(o: RuntimeOrigin) -> Result { o.try_with_caller(|caller| match caller.try_into() { - Ok(SystemRawOrigin::Signed(who)) => - Ok(Junction::AccountId32 { network: Network::get(), id: who.into() }.into()), + Ok(SystemRawOrigin::Signed(who)) => { + Ok(Junction::AccountId32 { network: Network::get(), id: who.into() }.into()) + }, Ok(other) => Err(other.into()), Err(other) => Err(other), }) @@ -353,8 +364,9 @@ impl, RuntimeOrigin: OriginTra "LocationAsSuperuser", ); match (kind, &origin) { - (OriginKind::Superuser, loc) if WhitelistedSuperuserLocations::contains(loc) => - Ok(RuntimeOrigin::root()), + (OriginKind::Superuser, loc) if WhitelistedSuperuserLocations::contains(loc) => { + Ok(RuntimeOrigin::root()) + }, _ => Err(origin), } } diff --git a/polkadot/xcm/xcm-builder/src/pay.rs b/polkadot/xcm/xcm-builder/src/pay.rs index ac374e17645e3..f0419b7a1764c 100644 --- a/polkadot/xcm/xcm-builder/src/pay.rs +++ b/polkadot/xcm/xcm-builder/src/pay.rs @@ -24,7 +24,6 @@ use frame_support::traits::{ }; use sp_runtime::traits::TryConvert; use xcm::prelude::*; -use xcm_executor::traits::WaiveDeliveryFees; /// Implementation of the `frame_support::traits::tokens::Pay` trait, to allow /// for XCM-based payments of a given `Balance` of some asset ID existing on some chain under @@ -56,7 +55,7 @@ use xcm_executor::traits::WaiveDeliveryFees; /// fee is waived. pub type PayOverXcm< Interior, - Router, + XcmConfig, Querier, Timeout, Beneficiary, @@ -66,9 +65,8 @@ pub type PayOverXcm< > = PayOverXcmWithHelper< Interior, TransferOverXcmHelper< - Router, + XcmConfig, Querier, - WaiveDeliveryFees, Timeout, Beneficiary, AssetKind, @@ -143,14 +141,14 @@ where pub type PayAccountId32OnChainOverXcm< DestinationChain, Interior, - Router, + XcmConfig, Querier, Timeout, Beneficiary, AssetKind, > = PayOverXcm< Interior, - Router, + XcmConfig, Querier, Timeout, Beneficiary, diff --git a/polkadot/xcm/xcm-builder/src/process_xcm_message.rs b/polkadot/xcm/xcm-builder/src/process_xcm_message.rs index 45e8e2645f14b..7f6e06da1817f 100644 --- a/polkadot/xcm/xcm-builder/src/process_xcm_message.rs +++ b/polkadot/xcm/xcm-builder/src/process_xcm_message.rs @@ -85,7 +85,7 @@ impl< meter.remaining(), ); - return Err(ProcessMessageError::Overweight(required)) + return Err(ProcessMessageError::Overweight(required)); } let (consumed, result) = match XcmExecutor::execute(origin.into(), pre, id, Weight::zero()) diff --git a/polkadot/xcm/xcm-builder/src/routing.rs b/polkadot/xcm/xcm-builder/src/routing.rs index f9c050d7d042f..1eda7595d8815 100644 --- a/polkadot/xcm/xcm-builder/src/routing.rs +++ b/polkadot/xcm/xcm-builder/src/routing.rs @@ -216,7 +216,7 @@ impl SendXcm for EnsureDecodableXcm { ?msg, "EnsureDecodableXcm `validate_xcm_nesting` failed" ); - return Err(SendError::Transport("EnsureDecodableXcm validate_xcm_nesting error")) + return Err(SendError::Transport("EnsureDecodableXcm validate_xcm_nesting error")); } } Inner::validate(destination, message) diff --git a/polkadot/xcm/xcm-builder/src/test_utils.rs b/polkadot/xcm/xcm-builder/src/test_utils.rs index 90afb2c9a3d3e..d59eacfa71ca0 100644 --- a/polkadot/xcm/xcm-builder/src/test_utils.rs +++ b/polkadot/xcm/xcm-builder/src/test_utils.rs @@ -17,6 +17,7 @@ // Shared test utilities and implementations for the XCM Builder. use alloc::vec::Vec; +use core::fmt::Debug; use frame_support::{ parameter_types, traits::{Contains, CrateVersion, PalletInfoData, PalletsInfoAccess}, @@ -62,16 +63,51 @@ impl VersionChangeNotifier for TestSubscriptionService { } } +pub struct TestHolding(AssetsInHolding); +impl Clone for TestHolding { + fn clone(&self) -> Self { + TestHolding(AssetsInHolding { + fungible: self + .0 + .fungible + .iter() + .map(|(id, accounting)| (id.clone(), accounting.unsafe_clone())) + .collect(), + non_fungible: self.0.non_fungible.clone(), + }) + } +} + +impl Debug for TestHolding { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + f.debug_struct("TestHolding") + .field("fungible_assets", &self.0.fungible_assets_iter().collect::>()) + .field("non_fungible_assets", &self.0.non_fungible_assets_iter().collect::>()) + .finish() + } +} + +impl PartialEq for TestHolding { + fn eq(&self, other: &Self) -> bool { + let self_fungible: Vec<_> = self.0.fungible_assets_iter().collect(); + let other_fungible: Vec<_> = other.0.fungible_assets_iter().collect(); + let self_non_fungible: Vec<_> = self.0.non_fungible_assets_iter().collect(); + let other_non_fungible: Vec<_> = other.0.non_fungible_assets_iter().collect(); + + self_fungible == other_fungible && self_non_fungible == other_non_fungible + } +} + parameter_types! { - pub static TrappedAssets: Vec<(Location, Assets)> = vec![]; + pub static TrappedAssets: Vec<(Location, TestHolding)> = vec![]; } -pub struct TestAssetTrap; +pub struct TestAssetTrap(); impl DropAssets for TestAssetTrap { fn drop_assets(origin: &Location, assets: AssetsInHolding, _context: &XcmContext) -> Weight { - let mut t: Vec<(Location, Assets)> = TrappedAssets::get(); - t.push((origin.clone(), assets.into())); + let mut t: Vec<(Location, TestHolding)> = TrappedAssets::get(); + t.push((origin.clone(), TestHolding(assets))); TrappedAssets::set(t); Weight::from_parts(5, 5) } @@ -83,18 +119,20 @@ impl ClaimAssets for TestAssetTrap { ticket: &Location, what: &Assets, _context: &XcmContext, - ) -> bool { - let mut t: Vec<(Location, Assets)> = TrappedAssets::get(); + ) -> Option { + let mut t: Vec<(Location, TestHolding)> = TrappedAssets::get(); if let (0, [GeneralIndex(i)]) = ticket.unpack() { if let Some((l, a)) = t.get(*i as usize) { - if l == origin && a == what { - t.swap_remove(*i as usize); - TrappedAssets::set(t); - return true + for asset in what.inner() { + if l == origin && a.0.contains_asset(asset) { + let (_, claimed) = t.swap_remove(*i as usize); + TrappedAssets::set(t); + return Some(claimed.0); + } } } } - false + None } } @@ -104,10 +142,10 @@ impl AssetExchange for TestAssetExchanger { fn exchange_asset( _origin: Option<&Location>, _give: AssetsInHolding, - want: &Assets, + _want: &Assets, _maximal: bool, ) -> Result { - Ok(want.clone().into()) + Ok(AssetsInHolding::new()) } fn quote_exchange_price(give: &Assets, _want: &Assets, _maximal: bool) -> Option { diff --git a/polkadot/xcm/xcm-builder/src/tests/barriers.rs b/polkadot/xcm/xcm-builder/src/tests/barriers.rs index f3da1745d3d1b..8387c10b73000 100644 --- a/polkadot/xcm/xcm-builder/src/tests/barriers.rs +++ b/polkadot/xcm/xcm-builder/src/tests/barriers.rs @@ -930,12 +930,13 @@ fn deny_then_try_works() { instructions.matcher().match_next_inst_while( |_| true, |inst| match inst { - ClearOrigin { .. } => + ClearOrigin { .. } => { if origin.clone() == Here.into_location() { Err(ProcessMessageError::BadFormat) } else { Ok(ControlFlow::Continue(())) - }, + } + }, _ => Ok(ControlFlow::Continue(())), }, )?; @@ -954,7 +955,7 @@ fn deny_then_try_works() { _properties: &mut Properties, ) -> Result<(), ProcessMessageError> { if instructions.len() != 1 { - return Ok(()) + return Ok(()); } match instructions.get(0).unwrap() { UnsubscribeVersion { .. } => Err(ProcessMessageError::StackLimitReached), diff --git a/polkadot/xcm/xcm-builder/src/tests/bridging/mod.rs b/polkadot/xcm/xcm-builder/src/tests/bridging/mod.rs index 134a56182794b..3d6185392ab09 100644 --- a/polkadot/xcm/xcm-builder/src/tests/bridging/mod.rs +++ b/polkadot/xcm/xcm-builder/src/tests/bridging/mod.rs @@ -195,7 +195,7 @@ impl, Remote: Get, RemoteExporter: ExportXcm> S ) -> SendResult> { let expect_dest = Remote::get().relative_to(&Local::get()); if destination.as_ref().ok_or(MissingArgument)? != &expect_dest { - return Err(NotApplicable) + return Err(NotApplicable); } let message = message.take().ok_or(MissingArgument)?; Ok((message, Assets::new())) @@ -245,7 +245,7 @@ impl, Remote: Get, RemoteExporter: ExportXcm> S ) -> SendResult> { let expect_dest = Remote::get().relative_to(&Local::get()); if destination.as_ref().ok_or(MissingArgument)? != &expect_dest { - return Err(NotApplicable) + return Err(NotApplicable); } let message = message.take().ok_or(MissingArgument)?; Ok((message, Assets::new())) diff --git a/polkadot/xcm/xcm-builder/src/tests/mock.rs b/polkadot/xcm/xcm-builder/src/tests/mock.rs index b932aaee6fcf8..eef7c0e4e8942 100644 --- a/polkadot/xcm/xcm-builder/src/tests/mock.rs +++ b/polkadot/xcm/xcm-builder/src/tests/mock.rs @@ -51,6 +51,29 @@ pub use xcm_executor::{ }; pub use xcm_simulator::helpers::derive_topic_id; +pub use xcm_executor::test_helpers::{mock_asset_to_holding as asset_to_holding, MockCredit}; + +/// Helper to convert multiple Assets into AssetsInHolding for tests +pub fn assets_to_holding(assets: impl IntoIterator) -> AssetsInHolding { + let mut holding = AssetsInHolding::new(); + for asset in assets { + match asset.fun { + Fungibility::Fungible(amount) => match holding.fungible.entry(asset.id.clone()) { + alloc::collections::btree_map::Entry::Occupied(mut e) => { + e.get_mut().saturating_subsume(Box::new(MockCredit(amount))); + }, + alloc::collections::btree_map::Entry::Vacant(e) => { + e.insert(Box::new(MockCredit(amount))); + }, + }, + Fungibility::NonFungible(instance) => { + holding.non_fungible.insert((asset.id, instance)); + }, + } + } + holding +} + #[derive(Debug)] pub enum TestOrigin { Root, @@ -236,22 +259,64 @@ impl ExportXcm for TestMessageExporter { } thread_local! { - pub static ASSETS: RefCell> = RefCell::new(BTreeMap::new()); + pub static ASSETS: RefCell>> = RefCell::new(BTreeMap::new()); } -pub fn assets(who: impl Into) -> AssetsInHolding { + +pub fn assets(who: impl Into) -> Vec { ASSETS.with(|a| a.borrow().get(&who.into()).cloned()).unwrap_or_default() } + pub fn asset_list(who: impl Into) -> Vec { - Assets::from(assets(who)).into_inner() + let mut assets = assets(who); + // Sort assets by their location for consistent ordering + assets.sort_by(|a, b| { + // Compare number of parents first, then interior + match a.id.0.parents.cmp(&b.id.0.parents) { + core::cmp::Ordering::Equal => { + // Compare interior by encoding + use codec::Encode; + a.id.0.interior.encode().cmp(&b.id.0.interior.encode()) + }, + other => other, + } + }); + assets } + pub fn add_asset(who: impl Into, what: impl Into) { + let asset = what.into(); + let who = who.into(); ASSETS.with(|a| { - a.borrow_mut() - .entry(who.into()) - .or_insert(AssetsInHolding::new()) - .subsume(what.into()) + let mut map = a.borrow_mut(); + let assets = map.entry(who).or_default(); + + // For fungible assets, try to find existing and accumulate + match &asset.fun { + Fungibility::Fungible(amount) => { + let mut found = false; + for existing in assets.iter_mut() { + if existing.id == asset.id { + if let Fungibility::Fungible(existing_amount) = &mut existing.fun { + *existing_amount = existing_amount.saturating_add(*amount); + found = true; + break; + } + } + } + if !found { + assets.push(asset); + } + }, + Fungibility::NonFungible(_) => { + // For non-fungible, just add if not already present + if !assets.iter().any(|a| a == &asset) { + assets.push(asset); + } + }, + } }); } + pub fn clear_assets(who: impl Into) { ASSETS.with(|a| a.borrow_mut().remove(&who.into())); } @@ -259,11 +324,13 @@ pub fn clear_assets(who: impl Into) { pub struct TestAssetTransactor; impl TransactAsset for TestAssetTransactor { fn deposit_asset( - what: &Asset, + what: AssetsInHolding, who: &Location, _context: Option<&XcmContext>, - ) -> Result<(), XcmError> { - add_asset(who.clone(), what.clone()); + ) -> Result<(), (AssetsInHolding, XcmError)> { + for asset in what.assets_iter() { + add_asset(who.clone(), asset); + } Ok(()) } @@ -273,13 +340,73 @@ impl TransactAsset for TestAssetTransactor { _maybe_context: Option<&XcmContext>, ) -> Result { ASSETS.with(|a| { - a.borrow_mut() - .get_mut(who) - .ok_or(XcmError::NotWithdrawable)? - .try_take(what.clone().into()) - .map_err(|_| XcmError::NotWithdrawable) + let mut assets_map = a.borrow_mut(); + let assets = assets_map.get_mut(who).ok_or(XcmError::NotWithdrawable)?; + + match &what.fun { + Fungibility::Fungible(amount_to_withdraw) => { + // Find the asset with matching id and sufficient balance + let mut found_idx = None; + for (idx, asset) in assets.iter().enumerate() { + if asset.id == what.id { + if let Fungibility::Fungible(have) = asset.fun { + if have >= *amount_to_withdraw { + found_idx = Some(idx); + break; + } + } + } + } + + if let Some(idx) = found_idx { + let asset = &assets[idx]; + if let Fungibility::Fungible(have) = asset.fun { + if have == *amount_to_withdraw { + // Remove the asset completely + assets.remove(idx); + } else { + // Reduce the amount + assets[idx] = Asset { + id: asset.id.clone(), + fun: Fungibility::Fungible(have - amount_to_withdraw), + }; + } + Ok(asset_to_holding(what.clone())) + } else { + Err(XcmError::NotWithdrawable) + } + } else { + Err(XcmError::NotWithdrawable) + } + }, + Fungibility::NonFungible(instance) => { + // Find and remove the exact non-fungible asset + let mut found_idx = None; + for (idx, asset) in assets.iter().enumerate() { + if asset.id == what.id { + if let Fungibility::NonFungible(have_instance) = &asset.fun { + if have_instance == instance { + found_idx = Some(idx); + break; + } + } + } + } + + if let Some(idx) = found_idx { + assets.remove(idx); + Ok(asset_to_holding(what.clone())) + } else { + Err(XcmError::NotWithdrawable) + } + }, + } }) } + + fn mint_asset(what: &Asset, _context: &XcmContext) -> Result { + Ok(asset_to_holding(what.clone())) + } } pub fn to_account(l: impl Into) -> Result { @@ -299,7 +426,7 @@ pub fn to_account(l: impl Into) -> Result { // Is it a foreign-consensus? let uni = ExecutorUniversalLocation::get(); if l.parents as usize != uni.len() { - return Err(l) + return Err(l); } match l.first_interior() { Some(GlobalConsensus(Kusama)) => 4000, @@ -530,7 +657,7 @@ impl FeeManager for TestFeeManager { IS_WAIVED.with(|l| l.borrow().contains(&r)) } - fn handle_fee(_: Assets, _: Option<&XcmContext>, _: FeeReason) {} + fn handle_fee(_: AssetsInHolding, _: Option<&XcmContext>, _: FeeReason) {} } #[derive(Clone, Eq, PartialEq, Debug)] @@ -543,8 +670,8 @@ pub enum LockTraceItem { thread_local! { pub static NEXT_INDEX: RefCell = RefCell::new(0); pub static LOCK_TRACE: RefCell> = RefCell::new(Vec::new()); - pub static ALLOWED_UNLOCKS: RefCell> = RefCell::new(BTreeMap::new()); - pub static ALLOWED_REQUEST_UNLOCKS: RefCell> = RefCell::new(BTreeMap::new()); + pub static ALLOWED_UNLOCKS: RefCell>> = RefCell::new(BTreeMap::new()); + pub static ALLOWED_REQUEST_UNLOCKS: RefCell>> = RefCell::new(BTreeMap::new()); } pub fn take_lock_trace() -> Vec { @@ -559,7 +686,7 @@ pub fn allow_unlock( l.borrow_mut() .entry((owner.into(), unlocker.into())) .or_default() - .subsume(asset.into()) + .push(asset.into()) }); } pub fn disallow_unlock( @@ -567,18 +694,19 @@ pub fn disallow_unlock( asset: impl Into, owner: impl Into, ) { + let asset = asset.into(); ALLOWED_UNLOCKS.with(|l| { l.borrow_mut() .entry((owner.into(), unlocker.into())) .or_default() - .saturating_take(asset.into().into()) + .retain(|a| a != &asset) }); } pub fn unlock_allowed(unlocker: &Location, asset: &Asset, owner: &Location) -> bool { ALLOWED_UNLOCKS.with(|l| { - l.borrow_mut() + l.borrow() .get(&(owner.clone(), unlocker.clone())) - .map_or(false, |x| x.contains_asset(asset)) + .map_or(false, |assets| assets.iter().any(|a| a == asset)) }) } pub fn allow_request_unlock( @@ -590,7 +718,7 @@ pub fn allow_request_unlock( l.borrow_mut() .entry((owner.into(), locker.into())) .or_default() - .subsume(asset.into()) + .push(asset.into()) }); } pub fn disallow_request_unlock( @@ -598,18 +726,19 @@ pub fn disallow_request_unlock( asset: impl Into, owner: impl Into, ) { + let asset = asset.into(); ALLOWED_REQUEST_UNLOCKS.with(|l| { l.borrow_mut() .entry((owner.into(), locker.into())) .or_default() - .saturating_take(asset.into().into()) + .retain(|a| a != &asset) }); } pub fn request_unlock_allowed(locker: &Location, asset: &Asset, owner: &Location) -> bool { ALLOWED_REQUEST_UNLOCKS.with(|l| { - l.borrow_mut() + l.borrow() .get(&(owner.clone(), locker.clone())) - .map_or(false, |x| x.contains_asset(asset)) + .map_or(false, |assets| assets.iter().any(|a| a == asset)) }) } @@ -617,12 +746,15 @@ pub struct TestTicket(LockTraceItem); impl Enact for TestTicket { fn enact(self) -> Result<(), LockError> { match &self.0 { - LockTraceItem::Lock { unlocker, asset, owner } => - allow_unlock(unlocker.clone(), asset.clone(), owner.clone()), - LockTraceItem::Unlock { unlocker, asset, owner } => - disallow_unlock(unlocker.clone(), asset.clone(), owner.clone()), - LockTraceItem::Reduce { locker, asset, owner } => - disallow_request_unlock(locker.clone(), asset.clone(), owner.clone()), + LockTraceItem::Lock { unlocker, asset, owner } => { + allow_unlock(unlocker.clone(), asset.clone(), owner.clone()) + }, + LockTraceItem::Unlock { unlocker, asset, owner } => { + disallow_unlock(unlocker.clone(), asset.clone(), owner.clone()) + }, + LockTraceItem::Reduce { locker, asset, owner } => { + disallow_request_unlock(locker.clone(), asset.clone(), owner.clone()) + }, _ => {}, } LOCK_TRACE.with(move |l| l.borrow_mut().push(self.0)); @@ -641,7 +773,26 @@ impl AssetLock for TestAssetLock { asset: Asset, owner: Location, ) -> Result { - ensure!(assets(owner.clone()).contains_asset(&asset), LockError::AssetNotOwned); + // Check if owner has sufficient balance of the asset + let owner_assets = assets(owner.clone()); + let has_asset = match &asset.fun { + Fungibility::Fungible(amount) => owner_assets.iter().any(|a| { + a.id == asset.id && + match a.fun { + Fungibility::Fungible(have) => have >= *amount, + _ => false, + } + }), + Fungibility::NonFungible(instance) => owner_assets.iter().any(|a| { + a.id == asset.id && + match &a.fun { + Fungibility::NonFungible(have_instance) => have_instance == instance, + _ => false, + } + }), + }; + + ensure!(has_asset, LockError::AssetNotOwned); Ok(TestTicket(LockTraceItem::Lock { unlocker, asset, owner })) } @@ -672,13 +823,22 @@ impl AssetLock for TestAssetLock { } thread_local! { - pub static EXCHANGE_ASSETS: RefCell = RefCell::new(AssetsInHolding::new()); + pub static EXCHANGE_ASSETS: RefCell> = RefCell::new(Vec::new()); } pub fn set_exchange_assets(assets: impl Into) { - EXCHANGE_ASSETS.with(|a| a.replace(assets.into().into())); + EXCHANGE_ASSETS.with(|a| a.replace(assets.into().into_inner())); } pub fn exchange_assets() -> Assets { - EXCHANGE_ASSETS.with(|a| a.borrow().clone().into()) + let mut assets = EXCHANGE_ASSETS.with(|a| a.borrow().clone()); + // Sort assets by their location for consistent ordering + assets.sort_by(|a, b| match a.id.0.parents.cmp(&b.id.0.parents) { + core::cmp::Ordering::Equal => { + use codec::Encode; + a.id.0.interior.encode().cmp(&b.id.0.interior.encode()) + }, + other => other, + }); + Assets::from(assets) } pub struct TestAssetExchange; impl AssetExchange for TestAssetExchange { @@ -688,30 +848,136 @@ impl AssetExchange for TestAssetExchange { want: &Assets, maximal: bool, ) -> Result { - let mut have = EXCHANGE_ASSETS.with(|l| l.borrow().clone()); - ensure!(have.contains_assets(want), give); - let get = if maximal { - std::mem::replace(&mut have, AssetsInHolding::new()) + let mut have_vec = EXCHANGE_ASSETS.with(|l| l.borrow().clone()); + + // Check if we have what they want + let want_vec: Vec = want.clone().into_inner(); + for want_asset in &want_vec { + let found = have_vec.iter().any(|a| { + a.id == want_asset.id && + match (&a.fun, &want_asset.fun) { + (Fungibility::Fungible(have_amt), Fungibility::Fungible(want_amt)) => { + have_amt >= want_amt + }, + ( + Fungibility::NonFungible(have_inst), + Fungibility::NonFungible(want_inst), + ) => have_inst == want_inst, + _ => false, + } + }); + if !found { + return Err(give); + } + } + + // Remove what we're giving them and prepare the result + let get_vec: Vec = if maximal { + // Give them everything + let result = have_vec.clone(); + have_vec.clear(); + result } else { - have.saturating_take(want.clone().into()) + // Give them exactly what they want + want_vec.clone() }; - have.subsume_assets(give); - EXCHANGE_ASSETS.with(|l| l.replace(have)); - Ok(get) + + // Subtract the get assets from have_vec + if !maximal { + for get_asset in &get_vec { + match &get_asset.fun { + Fungibility::Fungible(amount_to_take) => { + // Find and subtract from the fungible asset + for have_asset in have_vec.iter_mut() { + if have_asset.id == get_asset.id { + if let Fungibility::Fungible(have_amount) = &mut have_asset.fun { + *have_amount = have_amount.saturating_sub(*amount_to_take); + } + break; + } + } + // Remove assets with zero amount + have_vec.retain(|a| { + if let Fungibility::Fungible(amt) = a.fun { + amt > 0 + } else { + true + } + }); + }, + Fungibility::NonFungible(instance) => { + // Remove the exact non-fungible + have_vec.retain(|a| { + !(a.id == get_asset.id && + matches!(&a.fun, Fungibility::NonFungible(inst) if inst == instance)) + }); + }, + } + } + } + + // Add what they're giving + for asset in give.assets_iter() { + match asset.fun { + Fungibility::Fungible(amount) => { + let mut found = false; + for existing in have_vec.iter_mut() { + if existing.id == asset.id { + if let Fungibility::Fungible(existing_amount) = &mut existing.fun { + *existing_amount = existing_amount.saturating_add(amount); + found = true; + break; + } + } + } + if !found { + have_vec.push(asset); + } + }, + Fungibility::NonFungible(_) => { + if !have_vec.iter().any(|a| a == &asset) { + have_vec.push(asset); + } + }, + } + } + + EXCHANGE_ASSETS.with(|l| l.replace(have_vec)); + Ok(assets_to_holding(get_vec)) } fn quote_exchange_price(give: &Assets, want: &Assets, maximal: bool) -> Option { - let mut have = EXCHANGE_ASSETS.with(|l| l.borrow().clone()); - if !have.contains_assets(want) { - return None; + let have_vec = EXCHANGE_ASSETS.with(|l| l.borrow().clone()); + let want_vec: Vec = want.clone().into_inner(); + + // Check if we have what they want + for want_asset in &want_vec { + let found = have_vec.iter().any(|a| { + a.id == want_asset.id && + match (&a.fun, &want_asset.fun) { + (Fungibility::Fungible(have_amt), Fungibility::Fungible(want_amt)) => { + have_amt >= want_amt + }, + ( + Fungibility::NonFungible(have_inst), + Fungibility::NonFungible(want_inst), + ) => have_inst == want_inst, + _ => false, + } + }); + if !found { + return None; + } } - let get = if maximal { - have.saturating_take(give.clone().into()) + + let result = if maximal { + let give_vec: Vec = give.clone().into_inner(); + give_vec } else { - have.saturating_take(want.clone().into()) + want_vec }; - let result: Vec = get.fungible_assets_iter().collect(); - Some(result.into()) + + Some(Assets::from(result)) } } @@ -756,7 +1022,6 @@ impl Config for TestConfig { type AssetTrap = TestAssetTrap; type AssetLocker = TestAssetLock; type AssetExchanger = TestAssetExchange; - type AssetClaims = TestAssetTrap; type SubscriptionService = TestSubscriptionService; type PalletInstancesInfo = TestPalletsInfo; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/polkadot/xcm/xcm-builder/src/tests/mod.rs b/polkadot/xcm/xcm-builder/src/tests/mod.rs index 379baaf5e3767..60a499d9e7848 100644 --- a/polkadot/xcm/xcm-builder/src/tests/mod.rs +++ b/polkadot/xcm/xcm-builder/src/tests/mod.rs @@ -23,7 +23,7 @@ use frame_support::{ }; use xcm_executor::{traits::prelude::*, Config, XcmExecutor}; -mod mock; +pub mod mock; use mock::*; mod aliases; diff --git a/polkadot/xcm/xcm-builder/src/tests/pay/mock.rs b/polkadot/xcm/xcm-builder/src/tests/pay/mock.rs index d8f8e15f5eb05..903c7a1b57e2a 100644 --- a/polkadot/xcm/xcm-builder/src/tests/pay/mock.rs +++ b/polkadot/xcm/xcm-builder/src/tests/pay/mock.rs @@ -161,8 +161,9 @@ impl MaybeEquivalence match value.unpack() { (0, []) => Some(0 as AssetIdForAssets), (1, []) => Some(1 as AssetIdForAssets), - (0, [PalletInstance(1), GeneralIndex(index)]) if ![0, 1].contains(index) => - Some(*index as AssetIdForAssets), + (0, [PalletInstance(1), GeneralIndex(index)]) if ![0, 1].contains(index) => { + Some(*index as AssetIdForAssets) + }, _ => None, } } @@ -171,8 +172,9 @@ impl MaybeEquivalence match value { 0u128 => Some(Location { parents: 1, interior: Here }), 1u128 => Some(Location { parents: 0, interior: Here }), - para_id @ 1..=1000 => - Some(Location { parents: 1, interior: [Parachain(*para_id as u32)].into() }), + para_id @ 1..=1000 => { + Some(Location { parents: 1, interior: [Parachain(*para_id as u32)].into() }) + }, _ => None, } } @@ -213,8 +215,9 @@ impl WeightTrader for DummyWeightTrader { _weight: Weight, _payment: xcm_executor::AssetsInHolding, _context: &XcmContext, - ) -> Result { - Ok(xcm_executor::AssetsInHolding::default()) + ) -> Result { + // Consume all payment, no refund + Ok(xcm_executor::AssetsInHolding::new()) } } @@ -235,7 +238,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = XcmPallet; type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = XcmPallet; type SubscriptionService = XcmPallet; type PalletInstancesInfo = (); type MaxAssetsIntoHolding = MaxAssetsIntoHolding; @@ -260,8 +262,9 @@ pub struct TreasuryToAccount; impl ConvertLocation for TreasuryToAccount { fn convert_location(location: &Location) -> Option { match location.unpack() { - (1, [Parachain(42), Plurality { id: BodyId::Treasury, part: BodyPart::Voice }]) => - Some(TreasuryAccountId::get()), // Hardcoded test treasury account id + (1, [Parachain(42), Plurality { id: BodyId::Treasury, part: BodyPart::Voice }]) => { + Some(TreasuryAccountId::get()) + }, // Hardcoded test treasury account id _ => None, } } diff --git a/polkadot/xcm/xcm-builder/src/tests/pay/pay.rs b/polkadot/xcm/xcm-builder/src/tests/pay/pay.rs index d420e2c59d1e9..54ae29dc464dc 100644 --- a/polkadot/xcm/xcm-builder/src/tests/pay/pay.rs +++ b/polkadot/xcm/xcm-builder/src/tests/pay/pay.rs @@ -44,7 +44,7 @@ fn pay_over_xcm_works() { assert_ok!(PayOverXcm::< InteriorAccount, - TestMessageSender, + XcmConfig, TestQueryHandler, Timeout, AccountId, @@ -112,7 +112,7 @@ fn pay_over_xcm_governance_body() { assert_ok!(PayOverXcm::< InteriorBody, - TestMessageSender, + XcmConfig, TestQueryHandler, Timeout, AccountId, @@ -159,3 +159,100 @@ fn pay_over_xcm_governance_body() { assert_eq!(mock::Assets::balance(relay_asset_index, &recipient), amount); }); } + +/// Regression test: Verifies that when delivery fees are required but the sender cannot pay them, +/// the pay operation fails and no message is delivered. +/// +/// This test covers a bug fix where the old implementation would either: +/// - Allow free delivery for any origin (incorrect) +/// - Burn non-existent tokens or mint fees out of thin air +/// +/// The fix ensures that delivery fees are properly charged BEFORE the message is delivered. +#[test] +fn pay_over_xcm_fails_when_delivery_fees_cannot_be_paid() { + let recipient = AccountId::new([5u8; 32]); + let asset_kind = + AssetKind { destination: (Parent, Parachain(2)).into(), asset_id: Here.into() }; + let amount = 10 * UNITS; + let delivery_fee_amount = 1 * UNITS; + + new_test_ext().execute_with(|| { + // Set delivery fee - the sender account doesn't have this asset + set_send_price((Here, delivery_fee_amount)); + + // Verify sender doesn't have funds to pay delivery fees + // SenderAccount is AccountId::new([3u8; 32]) which is different from + // sibling_chain_account_id(42, [3u8; 32]) that has funds in genesis + assert_eq!(mock::Assets::balance(0, &SenderAccount::get()), 0); + + // Pay should fail because delivery fees cannot be charged + // The error is FailedToTransactAsset because the asset transactor cannot withdraw fees + let result = PayOverXcm::< + InteriorAccount, + XcmConfig, + TestQueryHandler, + Timeout, + AccountId, + AssetKind, + LocatableAssetKindConverter, + AliasesIntoAccountId32, + >::pay(&recipient, asset_kind, amount); + assert!( + matches!(result, Err(xcm::latest::Error::FailedToTransactAsset(_))), + "Expected FailedToTransactAsset error, got {:?}", + result + ); + + // Verify no message was delivered - this is the key regression check + // The old buggy code would have delivered the message despite not being able to pay fees + assert!( + sent_xcm().is_empty(), + "No message should be sent when delivery fees cannot be paid" + ); + }); +} + +/// Regression test: Verifies that when delivery fees are required and the sender has sufficient +/// funds, the fees are properly charged and the message is delivered. +#[test] +fn pay_over_xcm_charges_delivery_fees_before_sending() { + use frame_support::traits::fungibles::Mutate; + + let recipient = AccountId::new([5u8; 32]); + let asset_kind = + AssetKind { destination: (Parent, Parachain(2)).into(), asset_id: Here.into() }; + let amount = 10 * UNITS; + let delivery_fee_amount = 1 * UNITS; + let sender_initial_balance = 5 * UNITS; + + new_test_ext().execute_with(|| { + // Fund the sender account with the delivery fee asset + mock::Assets::mint_into(0, &SenderAccount::get(), sender_initial_balance).unwrap(); + assert_eq!(mock::Assets::balance(0, &SenderAccount::get()), sender_initial_balance); + + // Set delivery fee + set_send_price((Here, delivery_fee_amount)); + + // Pay should succeed + assert_ok!(PayOverXcm::< + InteriorAccount, + XcmConfig, + TestQueryHandler, + Timeout, + AccountId, + AssetKind, + LocatableAssetKindConverter, + AliasesIntoAccountId32, + >::pay(&recipient, asset_kind, amount)); + + // Verify delivery fees were charged from sender + assert_eq!( + mock::Assets::balance(0, &SenderAccount::get()), + sender_initial_balance - delivery_fee_amount, + "Delivery fees should be deducted from sender's balance" + ); + + // Verify message was sent + assert_eq!(sent_xcm().len(), 1, "Message should be delivered after fees are paid"); + }); +} diff --git a/polkadot/xcm/xcm-builder/src/tests/pay/salary.rs b/polkadot/xcm/xcm-builder/src/tests/pay/salary.rs index 6a2945c6a9b9b..144ad52d1201a 100644 --- a/polkadot/xcm/xcm-builder/src/tests/pay/salary.rs +++ b/polkadot/xcm/xcm-builder/src/tests/pay/salary.rs @@ -35,7 +35,7 @@ parameter_types! { type SalaryPayOverXcm = PayOverXcm< Interior, - TestMessageSender, + XcmConfig, TestQueryHandler, Timeout, AccountId, diff --git a/polkadot/xcm/xcm-builder/src/tests/pay/transfer.rs b/polkadot/xcm/xcm-builder/src/tests/pay/transfer.rs index 0bd5d42c3cb54..840ca8595b976 100644 --- a/polkadot/xcm/xcm-builder/src/tests/pay/transfer.rs +++ b/polkadot/xcm/xcm-builder/src/tests/pay/transfer.rs @@ -44,9 +44,8 @@ type TestTransferOverXcm = TransferOverXcm, TestTransferOverXcmHelper>; type TestTransferOverXcmHelper = TransferOverXcmHelper< - TestMessageSender, + XcmConfig, TestQueryHandler, - TestFeeManager, Timeout, AccountId, AssetKind, @@ -166,11 +165,6 @@ fn remote_transfer_xcm( WithdrawAsset(fee_asset.clone().into()), PayFees { asset: fee_asset.clone() }, SetAppendix(Xcm(vec![ - ReportError(QueryResponseInfo { - destination: (Parent, Parachain(MockRuntimeParachainId::get().into())).into(), - query_id: 1, - max_weight: Weight::MAX, - }), RefundSurplus, DepositAsset { assets: AssetFilter::Wild(WildAsset::All), diff --git a/polkadot/xcm/xcm-builder/src/tests/weight.rs b/polkadot/xcm/xcm-builder/src/tests/weight.rs index a0a708134d5f3..b1aebd8c3ba16 100644 --- a/polkadot/xcm/xcm-builder/src/tests/weight.rs +++ b/polkadot/xcm/xcm-builder/src/tests/weight.rs @@ -30,37 +30,37 @@ fn fixed_rate_of_fungible_should_work() { assert_eq!( trader.buy_weight( Weight::from_parts(10, 10), - fungible_multi_asset(Here.into(), 100).into(), + asset_to_holding(fungible_multi_asset(Here.into(), 100)), &ctx, ), - Ok(fungible_multi_asset(Here.into(), 80).into()), + Ok(asset_to_holding(fungible_multi_asset(Here.into(), 80))), ); // should have nothing left, as 5 + 5 = 10, and we supplied 10 units of asset. assert_eq!( trader.buy_weight( Weight::from_parts(5, 5), - fungible_multi_asset(Here.into(), 10).into(), + asset_to_holding(fungible_multi_asset(Here.into(), 10)), &ctx, ), - Ok(vec![].into()), + Ok(assets_to_holding(vec![])), ); // should have 5 left, as there are no proof size components assert_eq!( trader.buy_weight( Weight::from_parts(5, 0), - fungible_multi_asset(Here.into(), 10).into(), + asset_to_holding(fungible_multi_asset(Here.into(), 10)), &ctx, ), - Ok(fungible_multi_asset(Here.into(), 5).into()), + Ok(asset_to_holding(fungible_multi_asset(Here.into(), 5))), ); // not enough to purchase the combined weights assert_err!( trader.buy_weight( Weight::from_parts(5, 5), - fungible_multi_asset(Here.into(), 5).into(), + asset_to_holding(fungible_multi_asset(Here.into(), 5)), &ctx, ), - XcmError::TooExpensive, + (asset_to_holding(fungible_multi_asset(Here.into(), 5)), XcmError::TooExpensive), ); } @@ -277,15 +277,15 @@ fn weight_trader_tuple_should_work() { assert_eq!( traders.buy_weight( Weight::from_parts(5, 5), - fungible_multi_asset(Here.into(), 10).into(), + asset_to_holding(fungible_multi_asset(Here.into(), 10)), &ctx ), - Ok(vec![].into()), + Ok(assets_to_holding(vec![])), ); // trader one refunds assert_eq!( traders.refund_weight(Weight::from_parts(2, 2), &ctx), - Some(fungible_multi_asset(Here.into(), 4)) + Some(asset_to_holding(fungible_multi_asset(Here.into(), 4))) ); let mut traders = Traders::new(); @@ -293,22 +293,26 @@ fn weight_trader_tuple_should_work() { assert_eq!( traders.buy_weight( Weight::from_parts(5, 5), - fungible_multi_asset(para_1.clone(), 10).into(), + asset_to_holding(fungible_multi_asset(para_1.clone(), 10)), &ctx ), - Ok(vec![].into()), + Ok(assets_to_holding(vec![])), ); // trader two refunds assert_eq!( traders.refund_weight(Weight::from_parts(2, 2), &ctx), - Some(fungible_multi_asset(para_1, 4)) + Some(asset_to_holding(fungible_multi_asset(para_1, 4))) ); let mut traders = Traders::new(); // all traders fails assert_err!( - traders.buy_weight(Weight::from_parts(5, 5), fungible_multi_asset(para_2, 10).into(), &ctx), - XcmError::TooExpensive, + traders.buy_weight( + Weight::from_parts(5, 5), + asset_to_holding(fungible_multi_asset(para_2.clone(), 10)), + &ctx + ), + (asset_to_holding(fungible_multi_asset(para_2, 10)), XcmError::TooExpensive), ); // and no refund assert_eq!(traders.refund_weight(Weight::from_parts(2, 2), &ctx), None); diff --git a/polkadot/xcm/xcm-builder/src/transfer.rs b/polkadot/xcm/xcm-builder/src/transfer.rs index f1dcf8bc0919c..ea29ef2bb7f8b 100644 --- a/polkadot/xcm/xcm-builder/src/transfer.rs +++ b/polkadot/xcm/xcm-builder/src/transfer.rs @@ -22,7 +22,7 @@ use core::{fmt::Debug, marker::PhantomData}; use frame_support::traits::Get; use sp_runtime::traits::TryConvert; use xcm::{latest::Error, opaque::lts::Weight, prelude::*}; -use xcm_executor::traits::{FeeManager, FeeReason, QueryHandler, QueryResponseStatus}; +use xcm_executor::traits::{QueryHandler, QueryResponseStatus}; pub use frame_support::traits::tokens::transfer::{Transfer, TransferStatus}; @@ -107,21 +107,19 @@ where /// Helper type to make a transfer on another chain via XCM. pub struct TransferOverXcmHelper< - Router, + XcmConfig, Querier, - XcmFeeHandler, Timeout, - Transactor, + Beneficiary, AssetKind, AssetKindToLocatableAsset, BeneficiaryRefToLocation, >( PhantomData<( - Router, + XcmConfig, Querier, - XcmFeeHandler, Timeout, - Transactor, + Beneficiary, AssetKind, AssetKindToLocatableAsset, BeneficiaryRefToLocation, @@ -162,9 +160,8 @@ pub trait TransferOverXcmHelperT { } impl< - Router: SendXcm, + XcmConfig: xcm_executor::Config, Querier: QueryHandler, - XcmFeeHandler: FeeManager, Timeout: Get, Beneficiary: Clone + Debug, AssetKind: Clone + Debug, @@ -172,9 +169,8 @@ impl< BeneficiaryRefToLocation: for<'a> TryConvert<&'a Beneficiary, Location>, > TransferOverXcmHelperT for TransferOverXcmHelper< - Router, + XcmConfig, Querier, - XcmFeeHandler, Timeout, Beneficiary, AssetKind, @@ -197,20 +193,21 @@ impl< ) -> Result { let locatable = Self::locatable_asset_id(asset_kind)?; let LocatableAssetId { asset_id, location: asset_location } = locatable; + tracing::trace!( + target: LOG_TARGET, + ?from_location, ?asset_id, ?asset_location, ?amount, ?remote_fee, "send_remote_transfer_xcm" + ); let origin_location_on_remote = Self::origin_location_on_remote(&asset_location)?; - let beneficiary = BeneficiaryRefToLocation::try_convert(to).map_err(|error| { tracing::debug!(target: LOG_TARGET, ?error, "Failed to convert beneficiary to location"); Error::InvalidLocation })?; - let query_id = Querier::new_query( asset_location.clone(), Timeout::get(), from_location.interior.clone(), ); - let message = match remote_fee { None => remote_transfer_xcm_free_execution( from_location.clone(), @@ -232,12 +229,9 @@ impl< }; let (ticket, delivery_fees) = - Router::validate(&mut Some(asset_location), &mut Some(message))?; - Router::deliver(ticket)?; - - if !XcmFeeHandler::is_waived(Some(&from_location), FeeReason::ChargeFees) { - XcmFeeHandler::handle_fee(delivery_fees, None, FeeReason::ChargeFees) - } + XcmConfig::XcmSender::validate(&mut Some(asset_location), &mut Some(message))?; + xcm_executor::XcmExecutor::::charge_fees(from_location, delivery_fees)?; + XcmConfig::XcmSender::deliver(ticket)?; Ok(query_id) } @@ -258,7 +252,7 @@ impl< #[cfg(feature = "runtime-benchmarks")] fn ensure_successful(_: &Self::Beneficiary, asset_kind: Self::AssetKind, _: Self::Balance) { let locatable = AssetKindToLocatableAsset::try_convert(asset_kind).unwrap(); - Router::ensure_successful_delivery(Some(locatable.location)); + XcmConfig::XcmSender::ensure_successful_delivery(Some(locatable.location)); } /// Ensure that a call to `check_payment` with the given parameters will return either `Success` /// or `Failure`. @@ -269,9 +263,8 @@ impl< } impl< - Router, + XcmConfig, Querier: QueryHandler, - XcmFeeHandler, Timeout, Beneficiary: Clone + Debug, AssetKind: Clone + Debug, @@ -279,9 +272,8 @@ impl< BeneficiaryRefToLocation: for<'a> TryConvert<&'a Beneficiary, Location>, > TransferOverXcmHelper< - Router, + XcmConfig, Querier, - XcmFeeHandler, Timeout, Beneficiary, AssetKind, @@ -332,7 +324,7 @@ fn remote_transfer_xcm_paying_fees( asset_id: AssetId, amount: u128, remote_fee: Asset, - query_id: QueryId, + _: QueryId, ) -> Result, Error> { // Transform `from` into Location::new(1, XX([Parachain(source), from.interior }]) // We need this one for the refunds. @@ -346,11 +338,7 @@ fn remote_transfer_xcm_paying_fees( WithdrawAsset(vec![remote_fee.clone()].into()), PayFees { asset: remote_fee }, SetAppendix(Xcm(vec![ - ReportError(QueryResponseInfo { - destination: origin_relative_to_remote.clone(), - query_id, - max_weight: Weight::MAX, - }), + // Todo: add error reporting after fixing https://github.com/paritytech/polkadot-sdk/issues/10078 RefundSurplus, DepositAsset { assets: AssetFilter::Wild(WildAsset::All), beneficiary: from_at_target }, ])), diff --git a/polkadot/xcm/xcm-builder/src/unique_instances/adapter.rs b/polkadot/xcm/xcm-builder/src/unique_instances/adapter.rs index b6d3f5376ad0e..2d3b2d9f0467f 100644 --- a/polkadot/xcm/xcm-builder/src/unique_instances/adapter.rs +++ b/polkadot/xcm/xcm-builder/src/unique_instances/adapter.rs @@ -15,15 +15,21 @@ // along with Polkadot. If not, see . use core::marker::PhantomData; -use frame_support::traits::tokens::asset_ops::{ - common_strategies::{ - ChangeOwnerFrom, ConfigValue, DeriveAndReportId, IfOwnedBy, Owner, WithConfig, - WithConfigValue, +use frame_support::{ + defensive_assert, + traits::tokens::asset_ops::{ + common_strategies::{ + CanCreate, ChangeOwnerFrom, ConfigValue, DeriveAndReportId, IfOwnedBy, Owner, + WithConfig, WithConfigValue, + }, + AssetDefinition, Create, Inspect, Restore, Stash, Update, }, - AssetDefinition, Create, Restore, Stash, Update, }; use xcm::latest::prelude::*; -use xcm_executor::traits::{ConvertLocation, Error as MatchError, MatchesInstance, TransactAsset}; +use xcm_executor::{ + traits::{ConvertLocation, Error as MatchError, MatchesInstance, TransactAsset}, + AssetsInHolding, +}; use super::NonFungibleAsset; @@ -56,7 +62,11 @@ where + Update> + Stash>, { - fn deposit_asset(what: &Asset, who: &Location, context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + what: AssetsInHolding, + who: &Location, + context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { tracing::trace!( target: LOG_TARGET, ?what, @@ -64,20 +74,27 @@ where ?context, "deposit_asset", ); - - let instance_id = Matcher::matches_instance(what)?; - let who = AccountIdConverter::convert_location(who) - .ok_or(MatchError::AccountIdConversionFailed)?; + defensive_assert!(what.len() == 1, "Trying to deposit more than one asset!"); + let maybe = what + .non_fungible_assets_iter() + .next() + .and_then(|asset| Matcher::matches_instance(&asset).ok()); + let Some(instance_id) = maybe else { + return Err((what, MatchError::AssetNotHandled.into())); + }; + let Some(who) = AccountIdConverter::convert_location(who) else { + return Err((what, MatchError::AccountIdConversionFailed.into())); + }; InstanceOps::restore(&instance_id, WithConfig::from(Owner::with_config_value(who))) - .map_err(|e| XcmError::FailedToTransactAsset(e.into())) + .map_err(|e| (what, XcmError::FailedToTransactAsset(e.into()))) } fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext>, - ) -> Result { + ) -> Result { tracing::trace!( target: LOG_TARGET, ?what, @@ -89,11 +106,15 @@ where let instance_id = Matcher::matches_instance(what)?; let who = AccountIdConverter::convert_location(who) .ok_or(MatchError::AccountIdConversionFailed)?; + let asset_instance = match what.fun { + NonFungible(instance) => instance, + _ => return Err(MatchError::AssetNotHandled.into()), + }; InstanceOps::stash(&instance_id, IfOwnedBy::check(who)) .map_err(|e| XcmError::FailedToTransactAsset(e.into()))?; - Ok(what.clone().into()) + Ok(AssetsInHolding::new_from_non_fungible(what.id.clone(), asset_instance)) } fn internal_transfer_asset( @@ -101,7 +122,7 @@ where from: &Location, to: &Location, context: &XcmContext, - ) -> Result { + ) -> Result { tracing::trace!( target: LOG_TARGET, ?what, @@ -120,7 +141,21 @@ where InstanceOps::update(&instance_id, ChangeOwnerFrom::check(from), &to) .map_err(|e| XcmError::FailedToTransactAsset(e.into()))?; - Ok(what.clone().into()) + Ok(what.clone()) + } + + fn mint_asset(what: &Asset, context: &XcmContext) -> Result { + tracing::trace!( + target: LOG_TARGET, + ?what, ?context, + "mint_asset", + ); + let asset_instance = match what.fun { + NonFungible(instance) => instance, + _ => return Err(MatchError::AssetNotHandled.into()), + }; + Matcher::matches_instance(what)?; + Ok(AssetsInHolding::new_from_non_fungible(what.id.clone(), asset_instance)) } } @@ -136,31 +171,62 @@ impl TransactAsset for UniqueInstancesDepositAdapter where AccountIdConverter: ConvertLocation, - InstanceCreateOp: - Create>, DeriveAndReportId>>, + InstanceCreateOp: Create>, DeriveAndReportId>> + + AssetDefinition + + Inspect, { - fn deposit_asset(what: &Asset, who: &Location, context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + what: AssetsInHolding, + who: &Location, + context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { tracing::trace!( target: LOG_TARGET, ?what, ?who, ?context, - "deposit_asset", + "UniqueInstancesDepositAdapter::deposit_asset", ); - let asset = match what.fun { - Fungibility::NonFungible(asset_instance) => (what.id.clone(), asset_instance), - _ => return Err(MatchError::AssetNotHandled.into()), + let (id, instance) = match what.non_fungible.first() { + Some(inner) => inner, + None => return Err((what, MatchError::AssetNotHandled.into())), + }; + let asset = (id.clone(), *instance); + let who = match AccountIdConverter::convert_location(who) { + Some(inner) => inner, + None => return Err((what, MatchError::AccountIdConversionFailed.into())), }; - - let who = AccountIdConverter::convert_location(who) - .ok_or(MatchError::AccountIdConversionFailed)?; InstanceCreateOp::create(WithConfig::new( Owner::with_config_value(who), DeriveAndReportId::from(asset), )) .map(|_reported_id| ()) - .map_err(|e| XcmError::FailedToTransactAsset(e.into())) + .map_err(|e| (what, XcmError::FailedToTransactAsset(e.into()))) + } + + fn mint_asset(what: &Asset, context: &XcmContext) -> Result { + tracing::trace!( + target: LOG_TARGET, + ?what, + ?context, + "UniqueInstancesDepositAdapter::mint_asset", + ); + + let asset_instance = match what.fun { + NonFungible(instance) => instance, + _ => return Err(MatchError::AssetNotHandled.into()), + }; + + let nonfungible_asset = (what.id.clone(), asset_instance); + let can_create = + InstanceCreateOp::inspect(&nonfungible_asset, CanCreate::default()).unwrap_or(false); + + if !can_create { + return Err(MatchError::AssetNotHandled.into()); + } + + Ok(AssetsInHolding::new_from_non_fungible(nonfungible_asset.0, nonfungible_asset.1)) } } diff --git a/polkadot/xcm/xcm-builder/src/universal_exports.rs b/polkadot/xcm/xcm-builder/src/universal_exports.rs index cb80f52a00410..186505cc34418 100644 --- a/polkadot/xcm/xcm-builder/src/universal_exports.rs +++ b/polkadot/xcm/xcm-builder/src/universal_exports.rs @@ -37,10 +37,7 @@ pub fn ensure_is_remote( ) -> Result<(NetworkId, InteriorLocation), Location> { let dest = dest.into(); let universal_local = universal_local.into(); - let local_net = match universal_local.global_consensus() { - Ok(x) => x, - Err(_) => return Err(dest), - }; + let Ok(local_net) = universal_local.global_consensus() else { return Err(dest) }; let universal_destination: InteriorLocation = universal_local .into_location() .appended_with(dest.clone()) @@ -285,7 +282,7 @@ impl { *destination = Some(dest); - return Err(NotApplicable) + return Err(NotApplicable); }, }; @@ -714,7 +711,7 @@ mod tests { ) -> SendResult { if let Some(d) = destination.as_ref() { if Filter::contains(&d) { - return Ok(((), Assets::new())) + return Ok(((), Assets::new())); } } Err(NotApplicable) @@ -739,7 +736,7 @@ mod tests { ) -> SendResult { if let Some(d) = destination.as_ref() { if Filter::contains(&(network, d.clone())) { - return Ok(((), Assets::new())) + return Ok(((), Assets::new())); } } Err(NotApplicable) diff --git a/polkadot/xcm/xcm-builder/src/weight.rs b/polkadot/xcm/xcm-builder/src/weight.rs index c5a1f71c994a1..451912c85ad46 100644 --- a/polkadot/xcm/xcm-builder/src/weight.rs +++ b/polkadot/xcm/xcm-builder/src/weight.rs @@ -14,20 +14,22 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . +use alloc::boxed::Box; use codec::Decode; use core::{marker::PhantomData, result::Result}; use frame_support::{ dispatch::GetDispatchInfo, traits::{ - fungible::{Balanced, Credit, Inspect}, - Get, OnUnbalanced as OnUnbalancedT, + fungible::{Balanced, Credit, Imbalance, Inspect}, + tokens::imbalance::{ImbalanceAccounting, UnsafeManualAccounting}, + Get, Imbalance as ImbalanceT, OnUnbalanced as OnUnbalancedT, }, weights::{ constants::{WEIGHT_PROOF_SIZE_PER_MB, WEIGHT_REF_TIME_PER_SECOND}, WeightToFee as WeightToFeeT, }, }; -use sp_runtime::traits::{SaturatedConversion, Saturating, Zero}; +use sp_runtime::traits::Zero; use xcm::latest::{prelude::*, GetWeight, Weight}; use xcm_executor::{ traits::{WeightBounds, WeightTrader}, @@ -35,6 +37,7 @@ use xcm_executor::{ }; pub struct FixedWeightBounds(PhantomData<(T, C, M)>); + impl, C: Decode + GetDispatchInfo, M: Get> WeightBounds for FixedWeightBounds { @@ -103,14 +106,16 @@ impl, C: Decode + GetDispatchInfo, M> FixedWeightBounds weight_limit: Weight, ) -> Result { let instruction_weight = match instruction { - Transact { ref mut call, .. } => + Transact { ref mut call, .. } => { call.ensure_decoded() .map_err(|_| XcmError::FailedToDecode)? .get_dispatch_info() - .call_weight, - SetErrorHandler(xcm) | SetAppendix(xcm) | ExecuteWithOrigin { xcm, .. } => + .call_weight + }, + SetErrorHandler(xcm) | SetAppendix(xcm) | ExecuteWithOrigin { xcm, .. } => { Self::weight_with_limit(xcm, instructions_left, weight_limit) - .map_err(|outcome_error| outcome_error.error)?, + .map_err(|outcome_error| outcome_error.error)? + }, _ => Weight::zero(), }; let total_weight = T::get().checked_add(&instruction_weight).ok_or(XcmError::Overflow)?; @@ -119,6 +124,7 @@ impl, C: Decode + GetDispatchInfo, M> FixedWeightBounds } pub struct WeightInfoBounds(PhantomData<(W, C, M)>); + impl WeightBounds for WeightInfoBounds where W: XcmWeightInfo, @@ -197,14 +203,16 @@ where weight_limit: Weight, ) -> Result { let instruction_weight = match instruction { - Transact { ref mut call, .. } => + Transact { ref mut call, .. } => { call.ensure_decoded() .map_err(|_| XcmError::FailedToDecode)? .get_dispatch_info() - .call_weight, - SetErrorHandler(xcm) | SetAppendix(xcm) => + .call_weight + }, + SetErrorHandler(xcm) | SetAppendix(xcm) => { Self::weight_with_limit(xcm, instructions_left, weight_limit) - .map_err(|outcome_error| outcome_error.error)?, + .map_err(|outcome_error| outcome_error.error)? + }, _ => Weight::zero(), }; let total_weight = instruction @@ -219,13 +227,13 @@ where /// for a `Asset`. Sensible implementations will deposit the asset in some known treasury or /// block-author account. pub trait TakeRevenue { - /// Do something with the given `revenue`, which is a single non-wildcard `Asset`. - fn take_revenue(revenue: Asset); + /// Do something with the given `revenue`. + fn take_revenue(revenue: AssetsInHolding); } -/// Null implementation just burns the revenue. +/// Null implementation just burns the revenue (drops imbalance). impl TakeRevenue for () { - fn take_revenue(_revenue: Asset) {} + fn take_revenue(_revenue: AssetsInHolding) {} } /// Simple fee calculator that requires payment in a single fungible at a fixed rate. @@ -234,20 +242,21 @@ impl TakeRevenue for () { /// second of weight and the amount required for 1 MB of proof. pub struct FixedRateOfFungible, R: TakeRevenue>( Weight, - u128, + AssetsInHolding, PhantomData<(T, R)>, ); + impl, R: TakeRevenue> WeightTrader for FixedRateOfFungible { fn new() -> Self { - Self(Weight::zero(), 0, PhantomData) + Self(Weight::zero(), AssetsInHolding::new(), PhantomData) } fn buy_weight( &mut self, weight: Weight, - payment: AssetsInHolding, + mut payment: AssetsInHolding, context: &XcmContext, - ) -> Result { + ) -> Result { let (id, units_per_second, units_per_mb) = T::get(); tracing::trace!( target: "xcm::weight", @@ -258,38 +267,65 @@ impl, R: TakeRevenue> WeightTrader for FixedRateOf (WEIGHT_REF_TIME_PER_SECOND as u128)) + (units_per_mb * (weight.proof_size() as u128) / (WEIGHT_PROOF_SIZE_PER_MB as u128)); if amount == 0 { - return Ok(payment) + return Ok(payment); + } + let to_charge: Asset = (id, amount).into(); + if let Ok(taken) = payment.try_take(to_charge.into()) { + self.0 = self.0.saturating_add(weight); + self.1.subsume_assets(taken); + Ok(payment) + } else { + Err((payment, XcmError::TooExpensive)) } - let unused = payment.checked_sub((id, amount).into()).map_err(|error| { - tracing::error!(target: "xcm::weight", ?amount, ?error, "FixedRateOfFungible::buy_weight Failed to substract from payment"); - XcmError::TooExpensive - })?; - self.0 = self.0.saturating_add(weight); - self.1 = self.1.saturating_add(amount); - Ok(unused) } - fn refund_weight(&mut self, weight: Weight, context: &XcmContext) -> Option { - let (id, units_per_second, units_per_mb) = T::get(); - tracing::trace!(target: "xcm::weight", ?id, ?weight, ?context, "FixedRateOfFungible::refund_weight"); + fn refund_weight(&mut self, weight: Weight, context: &XcmContext) -> Option { + let (id, _, _) = T::get(); let weight = weight.min(self.0); - let amount = (units_per_second * (weight.ref_time() as u128) / - (WEIGHT_REF_TIME_PER_SECOND as u128)) + - (units_per_mb * (weight.proof_size() as u128) / (WEIGHT_PROOF_SIZE_PER_MB as u128)); + tracing::trace!(target: "xcm::weight", ?id, ?weight, ?context, "FixedRateOfFungible::refund_weight"); + let quote = self.quote_weight(weight, id, context).ok()?; + // Subtract refunded weight. self.0 -= weight; - self.1 = self.1.saturating_sub(amount); - if amount > 0 { - Some((id, amount).into()) - } else { + // Refund equivalent assets in holding from trader to caller. + let refunded = self.1.saturating_take(quote.into()); + if refunded.is_empty() { None + } else { + Some(refunded) } } + + fn quote_weight( + &mut self, + weight: Weight, + given: AssetId, + context: &XcmContext, + ) -> Result { + let (id, units_per_second, units_per_mb) = T::get(); + tracing::trace!( + target: "xcm::weight", + ?id, ?weight, ?given, ?context, + "FixedRateOfFungible::quote_weight", + ); + if weight.is_zero() { + return Err(XcmError::NoDeal); + } + if given != id { + return Err(XcmError::NotHoldingFees); + } + let amount = (units_per_second * (weight.ref_time() as u128) / + (WEIGHT_REF_TIME_PER_SECOND as u128)) + + (units_per_mb * (weight.proof_size() as u128) / (WEIGHT_PROOF_SIZE_PER_MB as u128)); + Ok((id, amount).into()) + } } impl, R: TakeRevenue> Drop for FixedRateOfFungible { fn drop(&mut self) { - if self.1 > 0 { - R::take_revenue((T::get().0, self.1).into()); + if !self.1.is_empty() { + let mut taken = AssetsInHolding::new(); + core::mem::swap(&mut self.1, &mut taken); + R::take_revenue(taken); } } } @@ -304,58 +340,101 @@ pub struct UsingComponents< OnUnbalanced: OnUnbalancedT>, >( Weight, - Fungible::Balance, + Credit, PhantomData<(WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced)>, ); + impl< WeightToFee: WeightToFeeT>::Balance>, AssetIdValue: Get, AccountId, - Fungible: Balanced + Inspect, + Fungible: Balanced + Inspect, OnUnbalanced: OnUnbalancedT>, > WeightTrader for UsingComponents +where + Imbalance< + >::Balance, + >::OnDropCredit, + >::OnDropDebt, + >: ImbalanceAccounting, { fn new() -> Self { - Self(Weight::zero(), Zero::zero(), PhantomData) + Self(Weight::zero(), Default::default(), PhantomData) } fn buy_weight( &mut self, weight: Weight, - payment: AssetsInHolding, + mut payment: AssetsInHolding, context: &XcmContext, - ) -> Result { + ) -> Result { tracing::trace!(target: "xcm::weight", ?weight, ?payment, ?context, "UsingComponents::buy_weight"); let amount = WeightToFee::weight_to_fee(&weight); - let u128_amount: u128 = amount.try_into().map_err(|_| { + let Ok(u128_amount): Result = TryInto::::try_into(amount) else { tracing::debug!(target: "xcm::weight", ?amount, "Weight fee could not be converted"); - XcmError::Overflow - })?; - let required = Asset { id: AssetId(AssetIdValue::get()), fun: Fungible(u128_amount) }; - let unused = payment.checked_sub(required).map_err(|error| { - tracing::debug!(target: "xcm::weight", ?error, "Failed to substract from payment"); - XcmError::TooExpensive - })?; - self.0 = self.0.saturating_add(weight); - self.1 = self.1.saturating_add(amount); - Ok(unused) + return Err((payment, XcmError::Overflow)); + }; + let asset_id = AssetId(AssetIdValue::get()); + let required = Asset { id: asset_id.clone(), fun: Fungible(u128_amount) }; + if let Ok(mut taken) = payment.try_take(required.into()) { + self.0 = self.0.saturating_add(weight); + if let Some(imbalance) = taken.fungible.remove(&asset_id) { + self.1.saturating_subsume(imbalance); + Ok(payment) + } else { + payment.subsume_assets(taken); + Err((payment, XcmError::TooExpensive)) + } + } else { + Err((payment, XcmError::TooExpensive)) + } } - fn refund_weight(&mut self, weight: Weight, context: &XcmContext) -> Option { + fn refund_weight(&mut self, weight: Weight, context: &XcmContext) -> Option { tracing::trace!(target: "xcm::weight", ?weight, ?context, available_weight = ?self.0, available_amount = ?self.1, "UsingComponents::refund_weight"); let weight = weight.min(self.0); + if weight.is_zero() { + return None; + } let amount = WeightToFee::weight_to_fee(&weight); self.0 -= weight; - self.1 = self.1.saturating_sub(amount); - let amount: u128 = amount.saturated_into(); + // self.1 = self.1.saturating_sub(amount); + let refund = self.1.extract(amount); tracing::trace!(target: "xcm::weight", ?amount, "UsingComponents::refund_weight"); - if amount > 0 { - Some((AssetIdValue::get(), amount).into()) + if refund.peek() != Zero::zero() { + Some(AssetsInHolding::new_from_fungible_credit( + AssetId(AssetIdValue::get()), + Box::new(refund), + )) } else { None } } + + fn quote_weight( + &mut self, + weight: Weight, + given: AssetId, + context: &XcmContext, + ) -> Result { + tracing::trace!(target: "xcm::weight", ?weight, ?given, ?context, "UsingComponents::quote_weight"); + if weight.is_zero() { + return Err(XcmError::NoDeal); + } + let supported_id = AssetId(AssetIdValue::get()); + if given != supported_id { + return Err(XcmError::NotHoldingFees); + } + let amount = WeightToFee::weight_to_fee(&weight); + let u128_amount: u128 = TryInto::::try_into(amount).map_err(|_| { + tracing::debug!(target: "xcm::weight", ?amount, "Weight fee could not be converted"); + XcmError::Overflow + })?; + let required = Asset { id: supported_id, fun: Fungible(u128_amount) }; + Ok(required) + } } + impl< WeightToFee: WeightToFeeT>::Balance>, AssetId: Get, @@ -365,6 +444,10 @@ impl< > Drop for UsingComponents { fn drop(&mut self) { - OnUnbalanced::on_unbalanced(Fungible::issue(self.1)); + if self.1.peek().is_zero() { + return; + } + let total_fee = self.1.extract(self.1.peek()); + OnUnbalanced::on_unbalanced(total_fee); } } diff --git a/polkadot/xcm/xcm-builder/tests/mock/mod.rs b/polkadot/xcm/xcm-builder/tests/mock/mod.rs index 7a2eb8cc55adf..19b422143fad2 100644 --- a/polkadot/xcm/xcm-builder/tests/mock/mod.rs +++ b/polkadot/xcm/xcm-builder/tests/mock/mod.rs @@ -181,7 +181,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = XcmPallet; type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = XcmPallet; type SubscriptionService = XcmPallet; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/polkadot/xcm/xcm-builder/tests/scenarios.rs b/polkadot/xcm/xcm-builder/tests/scenarios.rs index c772a49fc8226..ae208bbde8d37 100644 --- a/polkadot/xcm/xcm-builder/tests/scenarios.rs +++ b/polkadot/xcm/xcm-builder/tests/scenarios.rs @@ -388,7 +388,6 @@ fn recursive_xcm_execution_fail() { type AssetTrap = XcmPallet; type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = XcmPallet; type SubscriptionService = XcmPallet; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/polkadot/xcm/xcm-executor/src/assets.rs b/polkadot/xcm/xcm-executor/src/assets.rs index 7f3e6fd0b2135..663e4ee18e4b3 100644 --- a/polkadot/xcm/xcm-executor/src/assets.rs +++ b/polkadot/xcm/xcm-executor/src/assets.rs @@ -15,11 +15,15 @@ // along with Polkadot. If not, see . use alloc::{ - collections::{btree_map::BTreeMap, btree_set::BTreeSet}, + boxed::Box, + collections::{ + btree_map::{self, BTreeMap}, + btree_set::BTreeSet, + }, vec::Vec, }; -use core::mem; -use sp_runtime::traits::Saturating; +use core::{fmt::Formatter, mem}; +use frame_support::traits::tokens::imbalance::ImbalanceAccounting; use xcm::latest::{ Asset, AssetFilter, AssetId, AssetInstance, Assets, Fungibility::{Fungible, NonFungible}, @@ -28,65 +32,122 @@ use xcm::latest::{ WildFungibility::{Fungible as WildFungible, NonFungible as WildNonFungible}, }; -/// Map of non-wildcard fungible and non-fungible assets held in the holding register. -#[derive(Default, Clone, Debug, Eq, PartialEq)] -pub struct AssetsInHolding { - /// The fungible assets. - pub fungible: BTreeMap, - - /// The non-fungible assets. - // TODO: Consider BTreeMap> - // or even BTreeMap> - pub non_fungible: BTreeSet<(AssetId, AssetInstance)>, +/// An error emitted by `take` operations. +#[derive(Debug)] +pub enum TakeError { + /// There was an attempt to take an asset without saturating (enough of) which did not exist. + AssetUnderflow(Asset), } -impl From for AssetsInHolding { - fn from(asset: Asset) -> AssetsInHolding { - let mut result = Self::default(); - result.subsume(asset); - result - } +/// Helper struct for creating a backup of assets in holding in a safe way. +/// +/// Duplicating holding involves unsafe cloning of any imbalances, but this type makes sure that +/// either the backup or the original are dropped without resolving any duplicated imbalances. +pub struct BackupAssetsInHolding { + // private inner holding safely managed by the wrapper + inner: AssetsInHolding, } -impl From> for AssetsInHolding { - fn from(assets: Vec) -> AssetsInHolding { - let mut result = Self::default(); - for asset in assets.into_iter() { - result.subsume(asset) +impl BackupAssetsInHolding { + /// Clones `other` and keeps it in this safe wrapper that will safely drop duplicated + /// imbalances. + pub fn safe_backup(other: &AssetsInHolding) -> Self { + Self { + inner: AssetsInHolding { + fungible: other + .fungible + .iter() + .map(|(id, accounting)| (id.clone(), accounting.unsafe_clone())) + .collect(), + non_fungible: other.non_fungible.clone(), + }, } - result } -} -impl From for AssetsInHolding { - fn from(assets: Assets) -> AssetsInHolding { - assets.into_inner().into() + /// Replace `target` with the backup held within `self`. It is basically a mem swap so that the + /// original holdings of `target` will be dropped without resolving inner imbalances. + pub fn restore_into(&mut self, target: &mut AssetsInHolding) { + core::mem::swap(target, &mut self.inner); + } + + /// This object holds an unsafe clone of `inner` and needs to drop it without resolving its held + /// imbalances. + pub fn safe_drop(&mut self) { + // set amount to 0 so that no accounting is done on imbalance Drop + self.inner.fungible.iter_mut().for_each(|(_, accounting)| { + accounting.forget_imbalance(); + }); } } -impl From for Vec { - fn from(a: AssetsInHolding) -> Self { - a.into_assets_iter().collect() +impl Drop for BackupAssetsInHolding { + fn drop(&mut self) { + self.safe_drop(); } } -impl From for Assets { - fn from(a: AssetsInHolding) -> Self { - a.into_assets_iter().collect::>().into() +/// Map of non-wildcard fungible and non-fungible assets held in the holding register. +pub struct AssetsInHolding { + /// The fungible assets. + pub fungible: BTreeMap>>, + /// The non-fungible assets. + // TODO: Consider BTreeMap> + // or even BTreeMap> + pub non_fungible: BTreeSet<(AssetId, AssetInstance)>, +} + +impl PartialEq for AssetsInHolding { + fn eq(&self, other: &Self) -> bool { + if self.non_fungible != other.non_fungible { + return false; + } + if self.fungible.len() != other.fungible.len() { + return false; + } + if !self + .fungible + .iter() + .zip(other.fungible.iter()) + .all(|(left, right)| left.0 == right.0 && left.1.amount() == right.1.amount()) + { + return false; + } + true } } -/// An error emitted by `take` operations. -#[derive(Debug)] -pub enum TakeError { - /// There was an attempt to take an asset without saturating (enough of) which did not exist. - AssetUnderflow(Asset), +impl core::fmt::Debug for AssetsInHolding { + fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { + let fungibles: BTreeMap<&AssetId, u128> = + self.fungible.iter().map(|(id, accounting)| (id, accounting.amount())).collect(); + f.debug_struct("AssetsInHolding") + .field("fungible", &fungibles) + .field("non_fungible", &self.non_fungible) + .finish() + } } impl AssetsInHolding { /// New value, containing no assets. pub fn new() -> Self { - Self::default() + AssetsInHolding { fungible: BTreeMap::new(), non_fungible: BTreeSet::new() } + } + + /// New holding containing a single fungible imbalance. + pub fn new_from_fungible_credit( + asset: AssetId, + credit: Box>, + ) -> Self { + let mut new = AssetsInHolding { fungible: BTreeMap::new(), non_fungible: BTreeSet::new() }; + new.fungible.insert(asset, credit); + new + } + + /// New holding containing a single non fungible. + pub fn new_from_non_fungible(class: AssetId, instance: AssetInstance) -> Self { + let mut new = AssetsInHolding { fungible: BTreeMap::new(), non_fungible: BTreeSet::new() }; + new.non_fungible.insert((class, instance)); + new } /// Total number of distinct assets. @@ -103,7 +164,7 @@ impl AssetsInHolding { pub fn fungible_assets_iter(&self) -> impl Iterator + '_ { self.fungible .iter() - .map(|(id, &amount)| Asset { fun: Fungible(amount), id: id.clone() }) + .map(|(id, accounting)| Asset { fun: Fungible(accounting.amount()), id: id.clone() }) } /// A borrowing iterator over the non-fungible assets. @@ -117,7 +178,7 @@ impl AssetsInHolding { pub fn into_assets_iter(self) -> impl Iterator { self.fungible .into_iter() - .map(|(id, amount)| Asset { fun: Fungible(amount), id }) + .map(|(id, accounting)| Asset { fun: Fungible(accounting.amount()), id }) .chain( self.non_fungible .into_iter() @@ -133,38 +194,24 @@ impl AssetsInHolding { /// Mutate `self` to contain all given `assets`, saturating if necessary. /// /// NOTE: [`AssetsInHolding`] are always sorted - pub fn subsume_assets(&mut self, mut assets: AssetsInHolding) { + pub fn subsume_assets(&mut self, assets: AssetsInHolding) { // for fungibles, find matching fungibles and sum their amounts so we end-up having just // single such fungible but with increased amount inside - for (asset_id, asset_amount) in assets.fungible { - self.fungible - .entry(asset_id) - .and_modify(|current_asset_amount| { - current_asset_amount.saturating_accrue(asset_amount) - }) - .or_insert(asset_amount); + for (asset_id, accounting) in assets.fungible.into_iter() { + match self.fungible.entry(asset_id) { + btree_map::Entry::Occupied(mut e) => { + e.get_mut().saturating_subsume(accounting); + }, + btree_map::Entry::Vacant(e) => { + e.insert(accounting); + }, + } } // for non-fungibles, every entry is unique so there is no notion of amount to sum-up // together if there is the same non-fungible in both holdings (same instance_id) these // will be collapsed into just single one - self.non_fungible.append(&mut assets.non_fungible); - } - - /// Mutate `self` to contain the given `asset`, saturating if necessary. - /// - /// Wildcard values of `asset` do nothing. - pub fn subsume(&mut self, asset: Asset) { - match asset.fun { - Fungible(amount) => { - self.fungible - .entry(asset.id) - .and_modify(|e| *e = e.saturating_add(amount)) - .or_insert(amount); - }, - NonFungible(instance) => { - self.non_fungible.insert((asset.id, instance)); - }, - } + let mut non_fungible = assets.non_fungible; + self.non_fungible.append(&mut non_fungible); } /// Swaps two mutable AssetsInHolding, without deinitializing either one. @@ -173,75 +220,79 @@ impl AssetsInHolding { with } - /// Alter any concretely identified assets by prepending the given `Location`. - /// - /// WARNING: For now we consider this infallible and swallow any errors. It is thus the caller's - /// responsibility to ensure that any internal asset IDs are able to be prepended without - /// overflow. - pub fn prepend_location(&mut self, prepend: &Location) { - let mut fungible = Default::default(); - mem::swap(&mut self.fungible, &mut fungible); - self.fungible = fungible - .into_iter() - .map(|(mut id, amount)| { - let _ = id.prepend_with(prepend); - (id, amount) - }) - .collect(); - let mut non_fungible = Default::default(); - mem::swap(&mut self.non_fungible, &mut non_fungible); - self.non_fungible = non_fungible - .into_iter() - .map(|(mut class, inst)| { - let _ = class.prepend_with(prepend); - (class, inst) - }) - .collect(); - } - - /// Mutate the assets to be interpreted as the same assets from the perspective of a `target` + /// Consume `self` and return `Assets` as assets interpreted from the perspective of a `target` /// chain. The local chain's `context` is provided. /// - /// Any assets which were unable to be reanchored are introduced into `failed_bin`. - pub fn reanchor( - &mut self, + /// Any assets which were unable to be reanchored are introduced into `failed_bin` instead. + /// + /// WARNING: this will drop/resolve any inner imbalances for the reanchored assets. Meant to be + /// used in crosschain operations where the asset is consumed (imbalance dropped/resolved) + /// locally, and a reanchored version of it is to be minted on a remote location. + pub fn reanchor_and_burn_local( + self, target: &Location, context: &InteriorLocation, - mut maybe_failed_bin: Option<&mut Self>, - ) { - let mut fungible = Default::default(); - mem::swap(&mut self.fungible, &mut fungible); - self.fungible = fungible + failed_bin: &mut Self, + ) -> Assets { + let mut assets: Vec = self + .fungible .into_iter() - .filter_map(|(mut id, amount)| match id.reanchor(target, context) { - Ok(()) => Some((id, amount)), + .filter_map(|(mut id, accounting)| match id.reanchor(target, context) { + Ok(()) => Some(Asset::from((id, Fungible(accounting.amount())))), Err(()) => { - maybe_failed_bin.as_mut().map(|f| f.fungible.insert(id, amount)); + failed_bin.fungible.insert(id, accounting); None }, }) + .chain(self.non_fungible.into_iter().filter_map(|(mut class, inst)| { + match class.reanchor(target, context) { + Ok(()) => Some(Asset::from((class, inst))), + Err(()) => { + failed_bin.non_fungible.insert((class, inst)); + None + }, + } + })) .collect(); - let mut non_fungible = Default::default(); - mem::swap(&mut self.non_fungible, &mut non_fungible); - self.non_fungible = non_fungible - .into_iter() - .filter_map(|(mut class, inst)| match class.reanchor(target, context) { - Ok(()) => Some((class, inst)), - Err(()) => { - maybe_failed_bin.as_mut().map(|f| f.non_fungible.insert((class, inst))); - None - }, + assets.sort(); + assets.into() + } + + /// Return all inner assets, but interpreted from the perspective of a `target` chain. The local + /// chain's `context` is provided. + /// + /// **Warning**: This method returns `Assets` which only contains amounts (not imbalances). + /// The returned `Assets` is suitable for cross-chain messaging but does not preserve the + /// imbalance accounting semantics of the original `AssetsInHolding`. Do not use the returned + /// value for local balance operations that require imbalance tracking. + pub fn reanchored_assets(&self, target: &Location, context: &InteriorLocation) -> Assets { + let mut assets: Vec = self + .fungible + .iter() + .filter_map(|(id, accounting)| match id.clone().reanchored(target, context) { + Ok(new_id) => Some(Asset::from((new_id, Fungible(accounting.amount())))), + Err(()) => None, }) + .chain(self.non_fungible.iter().filter_map(|(class, inst)| { + match class.clone().reanchored(target, context) { + Ok(new_class) => Some(Asset::from((new_class, *inst))), + Err(()) => None, + } + })) .collect(); + assets.sort(); + assets.into() } /// Returns `true` if `asset` is contained within `self`. pub fn contains_asset(&self, asset: &Asset) -> bool { match asset { - Asset { fun: Fungible(amount), id } => - self.fungible.get(id).map_or(false, |a| a >= amount), - Asset { fun: NonFungible(instance), id } => - self.non_fungible.contains(&(id.clone(), *instance)), + Asset { fun: Fungible(amount), id } => { + self.fungible.get(id).map_or(false, |a| a.amount() >= *amount) + }, + Asset { fun: NonFungible(instance), id } => { + self.non_fungible.contains(&(id.clone(), *instance)) + }, } } @@ -250,34 +301,24 @@ impl AssetsInHolding { assets.inner().iter().all(|a| self.contains_asset(a)) } - /// Returns `true` if all `assets` are contained within `self`. - pub fn contains(&self, assets: &AssetsInHolding) -> bool { - assets - .fungible - .iter() - .all(|(k, v)| self.fungible.get(k).map_or(false, |a| a >= v)) && - self.non_fungible.is_superset(&assets.non_fungible) - } - - /// Returns an error unless all `assets` are contained in `self`. In the case of an error, the - /// first asset in `assets` which is not wholly in `self` is returned. + /// Returns an error unless all `assets` are contained in `self`. pub fn ensure_contains(&self, assets: &Assets) -> Result<(), TakeError> { for asset in assets.inner().iter() { match asset { Asset { fun: Fungible(amount), id } => { - if self.fungible.get(id).map_or(true, |a| a < amount) { - return Err(TakeError::AssetUnderflow((id.clone(), *amount).into())) + if self.fungible.get(id).map_or(true, |a| a.amount() < *amount) { + return Err(TakeError::AssetUnderflow((id.clone(), *amount).into())); } }, Asset { fun: NonFungible(instance), id } => { let id_instance = (id.clone(), *instance); if !self.non_fungible.contains(&id_instance) { - return Err(TakeError::AssetUnderflow(id_instance.into())) + return Err(TakeError::AssetUnderflow(id_instance.into())); } }, } } - return Ok(()) + return Ok(()); } /// Mutates `self` to its original value less `mask` and returns assets that were removed. @@ -303,8 +344,9 @@ impl AssetsInHolding { match mask { AssetFilter::Wild(All) | AssetFilter::Wild(AllCounted(_)) => match maybe_limit { None => return Ok(self.swapped(AssetsInHolding::new())), - Some(limit) if self.len() <= limit => - return Ok(self.swapped(AssetsInHolding::new())), + Some(limit) if self.len() <= limit => { + return Ok(self.swapped(AssetsInHolding::new())) + }, Some(0) => return Ok(AssetsInHolding::new()), Some(limit) => { let fungible = mem::replace(&mut self.fungible, Default::default()); @@ -326,12 +368,13 @@ impl AssetsInHolding { }, }, AssetFilter::Wild(AllOfCounted { fun: WildFungible, id, .. }) | - AssetFilter::Wild(AllOf { fun: WildFungible, id }) => + AssetFilter::Wild(AllOf { fun: WildFungible, id }) => { if maybe_limit.map_or(true, |l| l >= 1) { if let Some((id, amount)) = self.fungible.remove_entry(&id) { taken.fungible.insert(id, amount); } - }, + } + }, AssetFilter::Wild(AllOfCounted { fun: WildNonFungible, id, .. }) | AssetFilter::Wild(AllOf { fun: WildNonFungible, id }) => { let non_fungible = mem::replace(&mut self.non_fungible, Default::default()); @@ -350,25 +393,27 @@ impl AssetsInHolding { for asset in assets.into_inner().into_iter() { match asset { Asset { fun: Fungible(amount), id } => { - let (remove, amount) = match self.fungible.get_mut(&id) { + let (remove, balance) = match self.fungible.get_mut(&id) { Some(self_amount) => { - let amount = amount.min(*self_amount); - *self_amount -= amount; - (*self_amount == 0, amount) + // Ok to use `saturating_take()` because we checked with + // `self.ensure_contains()` above against `saturate` flag + let balance = self_amount.saturating_take(amount); + (self_amount.amount() == 0, Some(balance)) }, - None => (false, 0), + None => (false, None), }; if remove { self.fungible.remove(&id); } - if amount > 0 { - taken.subsume(Asset::from((id, amount)).into()); + if let Some(balance) = balance { + let other = Self::new_from_fungible_credit(id, balance); + taken.subsume_assets(other); } }, Asset { fun: NonFungible(instance), id } => { let id_instance = (id, instance); if self.non_fungible.remove(&id_instance) { - taken.subsume(id_instance.into()) + taken.non_fungible.insert((id_instance.0, id_instance.1)); } }, } @@ -383,7 +428,7 @@ impl AssetsInHolding { /// /// Returns `Ok` with the non-wildcard equivalence of `mask` taken and mutates `self` to its /// value minus `mask` if `self` contains `asset`, and return `Err` otherwise. - pub fn saturating_take(&mut self, asset: AssetFilter) -> AssetsInHolding { + pub fn saturating_take(&mut self, asset: AssetFilter) -> Self { self.general_take(asset, true) .expect("general_take never results in error when saturating") } @@ -393,39 +438,10 @@ impl AssetsInHolding { /// /// Returns `Ok` with the non-wildcard equivalence of `asset` taken and mutates `self` to its /// value minus `asset` if `self` contains `asset`, and return `Err` otherwise. - pub fn try_take(&mut self, mask: AssetFilter) -> Result { + pub fn try_take(&mut self, mask: AssetFilter) -> Result { self.general_take(mask, false) } - /// Consumes `self` and returns its original value excluding `asset` iff it contains at least - /// `asset`. - pub fn checked_sub(mut self, asset: Asset) -> Result { - match asset.fun { - Fungible(amount) => { - let remove = if let Some(balance) = self.fungible.get_mut(&asset.id) { - if *balance >= amount { - *balance -= amount; - *balance == 0 - } else { - return Err(self) - } - } else { - return Err(self) - }; - if remove { - self.fungible.remove(&asset.id); - } - Ok(self) - }, - NonFungible(instance) => - if self.non_fungible.remove(&(asset.id, instance)) { - Ok(self) - } else { - Err(self) - }, - } - } - /// Return the assets in `self`, but (asset-wise) of no greater value than `mask`. /// /// The number of unique assets which are returned will respect the `count` parameter in the @@ -436,78 +452,102 @@ impl AssetsInHolding { /// ``` /// use staging_xcm_executor::AssetsInHolding; /// use xcm::latest::prelude::*; - /// let assets_i_have: AssetsInHolding = vec![ (Here, 100).into(), (Junctions::from([GeneralIndex(0)]), 100).into() ].into(); + /// // Note: In real usage, AssetsInHolding is created through TransactAsset operations + /// // For this example, we use Assets type instead to demonstrate the min() output + /// let assets_i_have: Assets = vec![ (Here, 100).into(), (Junctions::from([GeneralIndex(0)]), 100).into() ].into(); /// let assets_they_want: AssetFilter = vec![ (Here, 200).into(), (Junctions::from([GeneralIndex(0)]), 50).into() ].into(); /// - /// let assets_we_can_trade: AssetsInHolding = assets_i_have.min(&assets_they_want); - /// assert_eq!(assets_we_can_trade.into_assets_iter().collect::>(), vec![ - /// (Here, 100).into(), (Junctions::from([GeneralIndex(0)]), 50).into(), - /// ]); + /// // Normally you would call this on AssetsInHolding, but for documentation purposes: + /// // let assets_we_can_trade: Assets = assets_i_have.min(&assets_they_want); + /// // assert_eq!(assets_we_can_trade.inner(), &vec![ + /// // (Here, 100).into(), (Junctions::from([GeneralIndex(0)]), 50).into(), + /// // ]); /// ``` - pub fn min(&self, mask: &AssetFilter) -> AssetsInHolding { - let mut masked = AssetsInHolding::new(); + pub fn min(&self, mask: &AssetFilter) -> Assets { + let mut masked = Assets::new(); let maybe_limit = mask.limit().map(|x| x as usize); if maybe_limit.map_or(false, |l| l == 0) { - return masked + return masked; } match mask { AssetFilter::Wild(All) | AssetFilter::Wild(AllCounted(_)) => { if maybe_limit.map_or(true, |l| self.len() <= l) { - return self.clone() + return self.assets_iter().collect::>().into(); } else { - for (c, &amount) in self.fungible.iter() { - masked.fungible.insert(c.clone(), amount); + for (c, accounting) in self.fungible.iter() { + masked.push((c.clone(), accounting.amount()).into()); if maybe_limit.map_or(false, |l| masked.len() >= l) { - return masked + return masked; } } for (c, instance) in self.non_fungible.iter() { - masked.non_fungible.insert((c.clone(), *instance)); + masked.push((c.clone(), *instance).into()); if maybe_limit.map_or(false, |l| masked.len() >= l) { - return masked + return masked; } } } }, AssetFilter::Wild(AllOfCounted { fun: WildFungible, id, .. }) | - AssetFilter::Wild(AllOf { fun: WildFungible, id }) => - if let Some(&amount) = self.fungible.get(&id) { - masked.fungible.insert(id.clone(), amount); - }, + AssetFilter::Wild(AllOf { fun: WildFungible, id }) => { + if let Some(accounting) = self.fungible.get(&id) { + masked.push((id.clone(), accounting.amount()).into()); + } + }, AssetFilter::Wild(AllOfCounted { fun: WildNonFungible, id, .. }) | - AssetFilter::Wild(AllOf { fun: WildNonFungible, id }) => + AssetFilter::Wild(AllOf { fun: WildNonFungible, id }) => { for (c, instance) in self.non_fungible.iter() { if c == id { - masked.non_fungible.insert((c.clone(), *instance)); + masked.push((c.clone(), *instance).into()); if maybe_limit.map_or(false, |l| masked.len() >= l) { - return masked + return masked; } } - }, - AssetFilter::Definite(assets) => + } + }, + AssetFilter::Definite(assets) => { for asset in assets.inner().iter() { match asset { Asset { fun: Fungible(amount), id } => { if let Some(m) = self.fungible.get(id) { - masked.subsume((id.clone(), Fungible(*amount.min(m))).into()); + masked + .push((id.clone(), Fungible(*amount.min(&m.amount()))).into()); } }, Asset { fun: NonFungible(instance), id } => { let id_instance = (id.clone(), *instance); if self.non_fungible.contains(&id_instance) { - masked.subsume(id_instance.into()); + masked.push(id_instance.into()); } }, } - }, + } + }, } masked } + + /// Clone this holding for testing purposes only. + /// + /// This uses `unsafe_clone()` on the imbalance accounting trait objects, + /// which may not maintain proper accounting invariants. Only use in tests. + #[cfg(test)] + pub fn unsafe_clone_for_tests(&self) -> Self { + Self { + fungible: self + .fungible + .iter() + .map(|(id, accounting)| (id.clone(), accounting.unsafe_clone())) + .collect(), + non_fungible: self.non_fungible.clone(), + } + } } #[cfg(test)] mod tests { use super::*; + use crate::tests::mock::*; use alloc::vec; use xcm::latest::prelude::*; @@ -537,10 +577,26 @@ mod tests { (Here, [instance_id; 4]).into() } + /// Helper to convert a single Asset into AssetsInHolding for tests + fn asset_to_holding(asset: Asset) -> AssetsInHolding { + // Since we can't directly convert Asset to AssetsInHolding, we create an empty + // holding and manually insert the asset + let mut holding = AssetsInHolding::new(); + match asset.fun { + Fungible(amount) => { + holding.fungible.insert(asset.id, Box::new(MockCredit(amount))); + }, + NonFungible(instance) => { + holding.non_fungible.insert((asset.id, instance)); + }, + } + holding + } + fn test_assets() -> AssetsInHolding { let mut assets = AssetsInHolding::new(); - assets.subsume(CF(300)); - assets.subsume(CNF(40)); + assets.subsume_assets(asset_to_holding(CF(300))); + assets.subsume_assets(asset_to_holding(CNF(40))); assets } @@ -548,20 +604,20 @@ mod tests { fn assets_in_holding_order_works() { // populate assets in non-ordered fashion let mut assets = AssetsInHolding::new(); - assets.subsume(CFPP(300)); - assets.subsume(CFP(200)); - assets.subsume(CNF(2)); - assets.subsume(CF(100)); - assets.subsume(CNF(1)); - assets.subsume(CFG(10, 400)); - assets.subsume(CFG(15, 500)); + assets.subsume_assets(asset_to_holding(CFPP(300))); + assets.subsume_assets(asset_to_holding(CFP(200))); + assets.subsume_assets(asset_to_holding(CNF(2))); + assets.subsume_assets(asset_to_holding(CF(100))); + assets.subsume_assets(asset_to_holding(CNF(1))); + assets.subsume_assets(asset_to_holding(CFG(10, 400))); + assets.subsume_assets(asset_to_holding(CFG(15, 500))); // following is the order we expect from AssetsInHolding // - fungibles before non-fungibles // - for fungibles, sort by parent first, if parents match, then by other components like // general index // - for non-fungibles, sort by instance_id - let mut iter = assets.clone().into_assets_iter(); + let mut iter = assets.unsafe_clone_for_tests().into_assets_iter(); // fungible, order by parent, parent=0 assert_eq!(Some(CF(100)), iter.next()); // fungible, order by parent then by general index, parent=0, general index=10 @@ -581,7 +637,7 @@ mod tests { // lets add copy of the assets to the assets itself, just to check if order stays the same // we also expect 2x amount for every fungible and collapsed non-fungibles - let assets_same = assets.clone(); + let assets_same = assets.unsafe_clone_for_tests(); assets.subsume_assets(assets_same); let mut iter = assets.into_assets_iter(); @@ -599,15 +655,15 @@ mod tests { fn subsume_assets_equal_length_holdings() { let mut t1 = test_assets(); let mut t2 = AssetsInHolding::new(); - t2.subsume(CF(300)); - t2.subsume(CNF(50)); + t2.subsume_assets(asset_to_holding(CF(300))); + t2.subsume_assets(asset_to_holding(CNF(50))); - let t1_clone = t1.clone(); - let mut t2_clone = t2.clone(); + let t1_clone = t1.unsafe_clone_for_tests(); + let mut t2_clone = t2.unsafe_clone_for_tests(); // ensure values for same fungibles are summed up together // and order is also ok (see assets_in_holding_order_works()) - t1.subsume_assets(t2.clone()); + t1.subsume_assets(t2.unsafe_clone_for_tests()); let mut iter = t1.into_assets_iter(); assert_eq!(Some(CF(600)), iter.next()); assert_eq!(Some(CNF(40)), iter.next()); @@ -616,7 +672,7 @@ mod tests { // try the same initial holdings but other way around // expecting same exact result as above - t2_clone.subsume_assets(t1_clone.clone()); + t2_clone.subsume_assets(t1_clone.unsafe_clone_for_tests()); let mut iter = t2_clone.into_assets_iter(); assert_eq!(Some(CF(600)), iter.next()); assert_eq!(Some(CNF(40)), iter.next()); @@ -627,18 +683,18 @@ mod tests { #[test] fn subsume_assets_different_length_holdings() { let mut t1 = AssetsInHolding::new(); - t1.subsume(CFP(400)); - t1.subsume(CFPP(100)); + t1.subsume_assets(asset_to_holding(CFP(400))); + t1.subsume_assets(asset_to_holding(CFPP(100))); let mut t2 = AssetsInHolding::new(); - t2.subsume(CF(100)); - t2.subsume(CNF(50)); - t2.subsume(CNF(40)); - t2.subsume(CFP(100)); - t2.subsume(CFPP(100)); + t2.subsume_assets(asset_to_holding(CF(100))); + t2.subsume_assets(asset_to_holding(CNF(50))); + t2.subsume_assets(asset_to_holding(CNF(40))); + t2.subsume_assets(asset_to_holding(CFP(100))); + t2.subsume_assets(asset_to_holding(CFPP(100))); - let t1_clone = t1.clone(); - let mut t2_clone = t2.clone(); + let t1_clone = t1.unsafe_clone_for_tests(); + let mut t2_clone = t2.unsafe_clone_for_tests(); // ensure values for same fungibles are summed up together // and order is also ok (see assets_in_holding_order_works()) @@ -667,20 +723,20 @@ mod tests { fn subsume_assets_empty_holding() { let mut t1 = AssetsInHolding::new(); let t2 = AssetsInHolding::new(); - t1.subsume_assets(t2.clone()); - let mut iter = t1.clone().into_assets_iter(); + t1.subsume_assets(t2.unsafe_clone_for_tests()); + let mut iter = t1.unsafe_clone_for_tests().into_assets_iter(); assert_eq!(None, iter.next()); - t1.subsume(CFP(400)); - t1.subsume(CNF(40)); - t1.subsume(CFPP(100)); + t1.subsume_assets(asset_to_holding(CFP(400))); + t1.subsume_assets(asset_to_holding(CNF(40))); + t1.subsume_assets(asset_to_holding(CFPP(100))); - let t1_clone = t1.clone(); - let mut t2_clone = t2.clone(); + let t1_clone = t1.unsafe_clone_for_tests(); + let mut t2_clone = t2.unsafe_clone_for_tests(); // ensure values for same fungibles are summed up together // and order is also ok (see assets_in_holding_order_works()) - t1.subsume_assets(t2.clone()); + t1.subsume_assets(t2.unsafe_clone_for_tests()); let mut iter = t1.into_assets_iter(); assert_eq!(Some(CFP(400)), iter.next()); assert_eq!(Some(CFPP(100)), iter.next()); @@ -689,7 +745,7 @@ mod tests { // try the same initial holdings but other way around // expecting same exact result as above - t2_clone.subsume_assets(t1_clone.clone()); + t2_clone.subsume_assets(t1_clone.unsafe_clone_for_tests()); let mut iter = t2_clone.into_assets_iter(); assert_eq!(Some(CFP(400)), iter.next()); assert_eq!(Some(CFPP(100)), iter.next()); @@ -697,19 +753,6 @@ mod tests { assert_eq!(None, iter.next()); } - #[test] - fn checked_sub_works() { - let t = test_assets(); - let t = t.checked_sub(CF(150)).unwrap(); - let t = t.checked_sub(CF(151)).unwrap_err(); - let t = t.checked_sub(CF(150)).unwrap(); - let t = t.checked_sub(CF(1)).unwrap_err(); - let t = t.checked_sub(CNF(41)).unwrap_err(); - let t = t.checked_sub(CNF(40)).unwrap(); - let t = t.checked_sub(CNF(40)).unwrap_err(); - assert_eq!(t, AssetsInHolding::new()); - } - #[test] fn into_assets_iter_works() { let assets = test_assets(); @@ -729,7 +772,10 @@ mod tests { assets_vec.push(CF(300)); assets_vec.push(CNF(40)); - let assets: AssetsInHolding = assets_vec.into(); + let mut assets = AssetsInHolding::new(); + for asset in assets_vec { + assets.subsume_assets(asset_to_holding(asset)); + } let mut iter = assets.into_assets_iter(); // Fungibles add assert_eq!(Some(CF(600)), iter.next()); @@ -745,22 +791,23 @@ mod tests { let all = All.into(); let none_min = assets.min(&none); - assert_eq!(None, none_min.assets_iter().next()); + assert_eq!(None, none_min.inner().iter().next()); let all_min = assets.min(&all); - assert!(all_min.assets_iter().eq(assets.assets_iter())); + let all_min_vec: Vec<_> = all_min.inner().iter().cloned().collect(); + let assets_vec: Vec<_> = assets.assets_iter().collect(); + assert_eq!(all_min_vec, assets_vec); } #[test] fn min_counted_works() { let mut assets = AssetsInHolding::new(); - assets.subsume(CNF(40)); - assets.subsume(CF(3000)); - assets.subsume(CNF(80)); + assets.subsume_assets(asset_to_holding(CNF(40))); + assets.subsume_assets(asset_to_holding(CF(3000))); + assets.subsume_assets(asset_to_holding(CNF(80))); let all = WildAsset::AllCounted(6).into(); let all = assets.min(&all); - let all = all.assets_iter().collect::>(); - assert_eq!(all, vec![CF(3000), CNF(40), CNF(80)]); + assert_eq!(all.inner(), &vec![CF(3000), CNF(40), CNF(80)]); } #[test] @@ -770,27 +817,26 @@ mod tests { let non_fungible = Wild((Here, WildNonFungible).into()); let fungible = assets.min(&fungible); - let fungible = fungible.assets_iter().collect::>(); - assert_eq!(fungible, vec![CF(300)]); + assert_eq!(fungible.inner(), &vec![CF(300)]); let non_fungible = assets.min(&non_fungible); - let non_fungible = non_fungible.assets_iter().collect::>(); - assert_eq!(non_fungible, vec![CNF(40)]); + assert_eq!(non_fungible.inner(), &vec![CNF(40)]); } #[test] fn min_basic_works() { let assets1 = test_assets(); - let mut assets2 = AssetsInHolding::new(); - // This is more then 300, so it should stay at 300 - assets2.subsume(CF(600)); - // This asset should be included - assets2.subsume(CNF(40)); - let assets2: Assets = assets2.into(); + // Create Assets directly instead of going through AssetsInHolding + let assets2: Assets = vec![ + // This is more then 300, so it should stay at 300 + CF(600), + // This asset should be included + CNF(40), + ] + .into(); let assets_min = assets1.min(&assets2.into()); - let assets_min = assets_min.into_assets_iter().collect::>(); - assert_eq!(assets_min, vec![CF(300), CNF(40)]); + assert_eq!(assets_min.inner(), &vec![CF(300), CNF(40)]); } #[test] @@ -824,43 +870,48 @@ mod tests { fn saturating_take_basic_works() { let mut assets1 = test_assets(); - let mut assets2 = AssetsInHolding::new(); - // This is more then 300, so it takes everything - assets2.subsume(CF(600)); - // This asset should be taken - assets2.subsume(CNF(40)); - let assets2: Assets = assets2.into(); + // Create Assets directly instead of going through AssetsInHolding + let assets2: Assets = vec![ + // This is more then 300, so it takes everything + CF(600), + // This asset should be taken + CNF(40), + ] + .into(); let taken = assets1.saturating_take(assets2.into()); - let taken = taken.into_assets_iter().collect::>(); - assert_eq!(taken, vec![CF(300), CNF(40)]); + let taken_vec: Vec<_> = taken.assets_iter().collect(); + assert_eq!(taken_vec, vec![CF(300), CNF(40)]); } #[test] fn try_take_all_counted_works() { let mut assets = AssetsInHolding::new(); - assets.subsume(CNF(40)); - assets.subsume(CF(3000)); - assets.subsume(CNF(80)); + assets.subsume_assets(asset_to_holding(CNF(40))); + assets.subsume_assets(asset_to_holding(CF(3000))); + assets.subsume_assets(asset_to_holding(CNF(80))); let all = assets.try_take(WildAsset::AllCounted(6).into()).unwrap(); - assert_eq!(Assets::from(all).inner(), &vec![CF(3000), CNF(40), CNF(80)]); + let all_vec: Vec<_> = all.assets_iter().collect(); + assert_eq!(all_vec, vec![CF(3000), CNF(40), CNF(80)]); } #[test] fn try_take_fungibles_counted_works() { let mut assets = AssetsInHolding::new(); - assets.subsume(CNF(40)); - assets.subsume(CF(3000)); - assets.subsume(CNF(80)); - assert_eq!(Assets::from(assets).inner(), &vec![CF(3000), CNF(40), CNF(80),]); + assets.subsume_assets(asset_to_holding(CNF(40))); + assets.subsume_assets(asset_to_holding(CF(3000))); + assets.subsume_assets(asset_to_holding(CNF(80))); + let assets_vec: Vec<_> = assets.assets_iter().collect(); + assert_eq!(assets_vec, vec![CF(3000), CNF(40), CNF(80)]); } #[test] fn try_take_non_fungibles_counted_works() { let mut assets = AssetsInHolding::new(); - assets.subsume(CNF(40)); - assets.subsume(CF(3000)); - assets.subsume(CNF(80)); - assert_eq!(Assets::from(assets).inner(), &vec![CF(3000), CNF(40), CNF(80)]); + assets.subsume_assets(asset_to_holding(CNF(40))); + assets.subsume_assets(asset_to_holding(CF(3000))); + assets.subsume_assets(asset_to_holding(CNF(80))); + let assets_vec: Vec<_> = assets.assets_iter().collect(); + assert_eq!(assets_vec, vec![CF(3000), CNF(40), CNF(80)]); } } diff --git a/polkadot/xcm/xcm-executor/src/config.rs b/polkadot/xcm/xcm-executor/src/config.rs index 60a5ed63f32ee..9a212c73c3201 100644 --- a/polkadot/xcm/xcm-executor/src/config.rs +++ b/polkadot/xcm/xcm-executor/src/config.rs @@ -15,10 +15,10 @@ // along with Polkadot. If not, see . use crate::traits::{ - AssetExchange, AssetLock, CallDispatcher, ClaimAssets, ConvertOrigin, DropAssets, EventEmitter, - ExportXcm, FeeManager, HandleHrmpChannelAccepted, HandleHrmpChannelClosing, - HandleHrmpNewChannelOpenRequest, OnResponse, ProcessTransaction, RecordXcm, ShouldExecute, - TransactAsset, VersionChangeNotifier, WeightBounds, WeightTrader, + AssetExchange, AssetLock, CallDispatcher, ConvertOrigin, EventEmitter, ExportXcm, FeeManager, + HandleHrmpChannelAccepted, HandleHrmpChannelClosing, HandleHrmpNewChannelOpenRequest, + OnResponse, ProcessTransaction, RecordXcm, ShouldExecute, TransactAsset, TrapAndClaimAssets, + VersionChangeNotifier, WeightBounds, WeightTrader, }; use frame_support::{ dispatch::{GetDispatchInfo, Parameter, PostDispatchInfo}, @@ -73,9 +73,10 @@ pub trait Config { /// What to do when a response of a query is found. type ResponseHandler: OnResponse; - /// The general asset trap - handler for when assets are left in the Holding Register at the - /// end of execution. - type AssetTrap: DropAssets; + /// The general asset trap - handlers for: + /// 1. when assets are left in the Holding Register at the end of execution, + /// 2. when assets are claimed from the trap back into the Holding Register. + type AssetTrap: TrapAndClaimAssets; /// Handler for asset locking. type AssetLocker: AssetLock; @@ -86,9 +87,6 @@ pub trait Config { /// delivery fees. type AssetExchanger: AssetExchange; - /// The handler for when there is an instruction to claim assets. - type AssetClaims: ClaimAssets; - /// How we handle version subscription requests. type SubscriptionService: VersionChangeNotifier; diff --git a/polkadot/xcm/xcm-executor/src/lib.rs b/polkadot/xcm/xcm-executor/src/lib.rs index 1c569225ce2b6..98272e019136a 100644 --- a/polkadot/xcm/xcm-executor/src/lib.rs +++ b/polkadot/xcm/xcm-executor/src/lib.rs @@ -17,11 +17,13 @@ #![cfg_attr(not(feature = "std"), no_std)] extern crate alloc; +extern crate core; use alloc::{vec, vec::Vec}; use codec::{Decode, Encode}; use core::{fmt::Debug, marker::PhantomData}; use frame_support::{ + defensive_assert, dispatch::GetDispatchInfo, ensure, traits::{Contains, ContainsPair, Defensive, Get, PalletsInfoAccess}, @@ -45,8 +47,10 @@ pub use traits::RecordXcm; mod assets; pub use assets::AssetsInHolding; mod config; +use crate::assets::BackupAssetsInHolding; pub use config::Config; +pub mod test_helpers; #[cfg(test)] mod tests; @@ -313,10 +317,12 @@ impl ExecuteXcm for XcmExecutor, fees: Assets) -> XcmResult { let origin = origin.into(); if !Config::FeeManager::is_waived(Some(&origin), FeeReason::ChargeFees) { + let mut charged = AssetsInHolding::new(); for asset in fees.inner() { - Config::AssetTransactor::withdraw_asset(&asset, &origin, None)?; + let withdrawn = Config::AssetTransactor::withdraw_asset(&asset, &origin, None)?; + charged.subsume_assets(withdrawn); } - Config::FeeManager::handle_fee(fees.into(), None, FeeReason::ChargeFees); + Config::FeeManager::handle_fee(charged, None, FeeReason::ChargeFees); } Ok(()) } @@ -333,7 +339,7 @@ impl FeeManager for XcmExecutor { Config::FeeManager::is_waived(origin, r) } - fn handle_fee(fee: Assets, context: Option<&XcmContext>, r: FeeReason) { + fn handle_fee(fee: AssetsInHolding, context: Option<&XcmContext>, r: FeeReason) { Config::FeeManager::handle_fee(fee, context, r) } } @@ -442,6 +448,7 @@ impl XcmExecutor { } /// Send an XCM, charging fees from Holding as needed. + /// Note: Should be called under a transactional processor to ensure storage noop on failures. fn send( &mut self, dest: Location, @@ -539,13 +546,24 @@ impl XcmExecutor { "Refunding surplus", ); if current_surplus.any_gt(Weight::zero()) { - if let Some(w) = self.trader.refund_weight(current_surplus, &self.context) { - if !self.holding.contains_asset(&(w.id.clone(), 1).into()) && - self.ensure_can_subsume_assets(1).is_err() + if let Some(refund) = self.trader.refund_weight(current_surplus, &self.context) { + // Check if adding the refund would overflow holding. This can happen if the + // refund asset is not already in holding and holding is at max capacity. + if refund + .fungible + .first_key_value() + .map(|(id, _)| { + !self.holding.fungible.contains_key(id) && + self.ensure_can_subsume_assets(1).is_err() + }) + .unwrap_or(false) { + // Can't add refund to holding - undo by buying back the weight. + // This returns the refund credit to the trader where it will be + // handled by OnUnbalanced when the trader is dropped. let _ = self .trader - .buy_weight(current_surplus, w.into(), &self.context) + .buy_weight(current_surplus, refund, &self.context) .defensive_proof( "refund_weight returned an asset capable of buying weight; qed", ); @@ -556,7 +574,7 @@ impl XcmExecutor { return Err(XcmError::HoldingWouldOverflow); } self.total_refunded.saturating_accrue(current_surplus); - self.holding.subsume_assets(w.into()); + self.holding.subsume_assets(refund); } } // If there are any leftover `fees`, merge them with `holding`. @@ -575,6 +593,8 @@ impl XcmExecutor { Ok(()) } + /// Takes `fees` from holding or fees registers. + /// Note: Should be called under a transactional processor to ensure storage noop on failures. fn take_fee(&mut self, fees: Assets, reason: FeeReason) -> XcmResult { if Config::FeeManager::is_waived(self.origin_ref(), reason.clone()) { return Ok(()); @@ -588,9 +608,8 @@ impl XcmExecutor { "Taking fees", ); // We only ever use the first asset from `fees`. - let asset_needed_for_fees = match fees.get(0) { - Some(fee) => fee, - None => return Ok(()), // No delivery fees need to be paid. + let Some(asset_needed_for_fees) = fees.get(0) else { + return Ok(()); // No delivery fees need to be paid. }; // If `BuyExecution` or `PayFees` was called, we use that asset for delivery fees as well. let asset_to_pay_for_fees = @@ -599,64 +618,55 @@ impl XcmExecutor { // We withdraw or take from holding the asset the user wants to use for fee payment. let withdrawn_fee_asset: AssetsInHolding = if self.fees_mode.jit_withdraw { let origin = self.origin_ref().ok_or(XcmError::BadOrigin)?; - Config::AssetTransactor::withdraw_asset( + let credit = Config::AssetTransactor::withdraw_asset( &asset_to_pay_for_fees, origin, Some(&self.context), )?; tracing::trace!(target: "xcm::fees", ?asset_needed_for_fees); - asset_to_pay_for_fees.clone().into() + credit } else { // This condition exists to support `BuyExecution` while the ecosystem // transitions to `PayFees`. let assets_to_pay_delivery_fees: AssetsInHolding = if self.fees.is_empty() { // Means `BuyExecution` was used, we'll find the fees in the `holding` register. - self.holding - .try_take(asset_to_pay_for_fees.clone().into()) - .map_err(|e| { - tracing::error!(target: "xcm::fees", ?e, ?asset_to_pay_for_fees, + self.holding.try_take(asset_to_pay_for_fees.clone().into()).map_err(|e| { + tracing::error!(target: "xcm::fees", ?e, ?asset_to_pay_for_fees, "Holding doesn't hold enough for fees"); - XcmError::NotHoldingFees - })? - .into() + XcmError::NotHoldingFees + })? } else { // Means `PayFees` was used, we'll find the fees in the `fees` register. - self.fees - .try_take(asset_to_pay_for_fees.clone().into()) - .map_err(|e| { - tracing::error!(target: "xcm::fees", ?e, ?asset_to_pay_for_fees, + self.fees.try_take(asset_to_pay_for_fees.clone().into()).map_err(|e| { + tracing::error!(target: "xcm::fees", ?e, ?asset_to_pay_for_fees, "Fees register doesn't hold enough for fees"); - XcmError::NotHoldingFees - })? - .into() + XcmError::NotHoldingFees + })? }; tracing::trace!(target: "xcm::fees", ?assets_to_pay_delivery_fees); - let mut iter = assets_to_pay_delivery_fees.fungible_assets_iter(); - let asset = iter.next().ok_or(XcmError::NotHoldingFees)?; - asset.into() + assets_to_pay_delivery_fees }; // We perform the swap, if needed, to pay fees. let paid = if asset_to_pay_for_fees.id != asset_needed_for_fees.id { - let swapped_asset: Assets = Config::AssetExchanger::exchange_asset( + Config::AssetExchanger::exchange_asset( self.origin_ref(), - withdrawn_fee_asset.clone().into(), + withdrawn_fee_asset, &asset_needed_for_fees.clone().into(), false, ) .map_err(|given_assets| { tracing::error!( target: "xcm::fees", - ?given_assets, "Swap was deemed necessary but couldn't be done for withdrawn_fee_asset: {:?} and asset_needed_for_fees: {:?}", withdrawn_fee_asset.clone(), asset_needed_for_fees, + ?given_assets, ?asset_needed_for_fees, "Swap was deemed necessary but couldn't be done:", ); + self.fees.subsume_assets(given_assets); XcmError::FeesNotMet })? - .into(); - swapped_asset } else { // If the asset wanted to pay for fees is the one that was needed, // we don't need to do any swap. // We just use the assets withdrawn or taken from holding. - withdrawn_fee_asset.into() + withdrawn_fee_asset }; Config::FeeManager::handle_fee(paid, Some(&self.context), reason); Ok(()) @@ -742,11 +752,8 @@ impl XcmExecutor { remote_xcm: &mut Vec>, context: Option<&XcmContext>, ) -> Result { - Self::deposit_assets_with_retry(&assets, dest, context)?; - // Note that we pass `None` as `maybe_failed_bin` and drop any assets which - // cannot be reanchored, because we have already called `deposit_asset` on - // all assets. - let reanchored_assets = Self::reanchored(assets, dest, None); + let reanchored_assets = Self::reanchored_assets(&assets, dest); + Self::deposit_assets_with_retry(assets, dest, context)?; remote_xcm.push(ReserveAssetDeposited(reanchored_assets.clone())); Ok(reanchored_assets) @@ -767,8 +774,9 @@ impl XcmExecutor { ); } // Note that here we are able to place any assets which could not be - // reanchored back into Holding. - let reanchored_assets = Self::reanchored(assets, reserve, Some(failed_bin)); + // reanchored back into Holding (failed_bin). + let reanchored_assets = + assets.reanchor_and_burn_local(reserve, &Config::UniversalLocation::get(), failed_bin); remote_xcm.push(WithdrawAsset(reanchored_assets.clone())); Ok(reanchored_assets) @@ -780,6 +788,7 @@ impl XcmExecutor { remote_xcm: &mut Vec>, context: &XcmContext, ) -> Result { + let reanchored_assets = Self::reanchored_assets(&assets, dest); for asset in assets.assets_iter() { // Must ensure that we have teleport trust with destination for these assets. #[cfg(not(any(test, feature = "runtime-benchmarks")))] @@ -796,9 +805,6 @@ impl XcmExecutor { for asset in assets.assets_iter() { Config::AssetTransactor::check_out(dest, &asset, context); } - // Note that we pass `None` as `maybe_failed_bin` and drop any assets which - // cannot be reanchored, because we have already checked all assets out. - let reanchored_assets = Self::reanchored(assets, dest, None); remote_xcm.push(ReceiveTeleportedAsset(reanchored_assets.clone())); Ok(reanchored_assets) @@ -818,14 +824,8 @@ impl XcmExecutor { } /// NOTE: Any assets which were unable to be reanchored are introduced into `failed_bin`. - fn reanchored( - mut assets: AssetsInHolding, - dest: &Location, - maybe_failed_bin: Option<&mut AssetsInHolding>, - ) -> Assets { - let reanchor_context = Config::UniversalLocation::get(); - assets.reanchor(dest, &reanchor_context, maybe_failed_bin); - assets.into_assets_iter().collect::>().into() + fn reanchored_assets(assets: &AssetsInHolding, dest: &Location) -> Assets { + assets.reanchored_assets(dest, &Config::UniversalLocation::get()) } #[cfg(any(test, feature = "runtime-benchmarks"))] @@ -890,10 +890,11 @@ impl XcmExecutor { }); } }, - Err(ref mut error) => + Err(ref mut error) => { if let Ok(x) = Config::Weigher::instr_weight(&mut instr) { error.weight.saturating_accrue(x) - }, + } + }, } } result @@ -915,14 +916,16 @@ impl XcmExecutor { let origin = self.origin_ref().ok_or(XcmError::BadOrigin)?; self.ensure_can_subsume_assets(assets.len())?; let mut total_surplus = Weight::zero(); + let mut withdrawn = AssetsInHolding::new(); Config::TransactionalProcessor::process(|| { // Take `assets` from the origin account (on-chain)... for asset in assets.inner() { - let (_, surplus) = Config::AssetTransactor::withdraw_asset_with_surplus( + let (credit, surplus) = Config::AssetTransactor::withdraw_asset_with_surplus( asset, origin, Some(&self.context), )?; + withdrawn.subsume_assets(credit); // If we have some surplus, aggregate it. total_surplus.saturating_accrue(surplus); } @@ -930,25 +933,33 @@ impl XcmExecutor { }) .and_then(|_| { // ...and place into holding. - self.holding.subsume_assets(assets.into()); + self.holding.subsume_assets(withdrawn); // Credit the total surplus. self.total_surplus.saturating_accrue(total_surplus); Ok(()) }) }, ReserveAssetDeposited(assets) => { - // check whether we trust origin to be our reserve location for this asset. - let origin = self.origin_ref().ok_or(XcmError::BadOrigin)?; self.ensure_can_subsume_assets(assets.len())?; - for asset in assets.inner() { - // Must ensure that we recognise the asset as being managed by the origin. - ensure!( - Config::IsReserve::contains(asset, origin), - XcmError::UntrustedReserveLocation - ); - } - self.holding.subsume_assets(assets.into()); - Ok(()) + Config::TransactionalProcessor::process(|| { + // Check whether we trust origin to be our reserve location for this asset. + let origin = self.origin_ref().ok_or(XcmError::BadOrigin)?; + // Collect all minted assets first, then add to holding atomically. + // This ensures partial mints don't pollute holding if a later mint fails. If one of them does fail, + // TransactionalProcessor makes sure the imbalance changes do not get committed. + let mut minted_assets = AssetsInHolding::new(); + for asset in assets.inner() { + // Must ensure that we recognise the asset as being managed by the origin. + ensure!( + Config::IsReserve::contains(asset, origin), + XcmError::UntrustedReserveLocation + ); + Config::AssetTransactor::mint_asset(asset, &self.context) + .map(|minted| minted_assets.subsume_assets(minted))?; + } + self.holding.subsume_assets(minted_assets); + Ok(()) + }) }, TransferAsset { assets, beneficiary } => { Config::TransactionalProcessor::process(|| { @@ -1007,10 +1018,11 @@ impl XcmExecutor { }) }, ReceiveTeleportedAsset(assets) => { - let origin = self.origin_ref().ok_or(XcmError::BadOrigin)?; self.ensure_can_subsume_assets(assets.len())?; Config::TransactionalProcessor::process(|| { - // check whether we trust origin to teleport this asset to us via config trait. + let origin = self.origin_ref().ok_or(XcmError::BadOrigin)?; + let mut minted_assets = AssetsInHolding::new(); + // Check whether we trust origin to teleport this asset to us via config trait. for asset in assets.inner() { // We only trust the origin to send us assets that they identify as their // sovereign assets. @@ -1024,11 +1036,10 @@ impl XcmExecutor { // innocent chain/user). Config::AssetTransactor::can_check_in(origin, asset, &self.context)?; Config::AssetTransactor::check_in(origin, asset, &self.context); + Config::AssetTransactor::mint_asset(asset, &self.context) + .map(|minted| minted_assets.subsume_assets(minted))?; } - Ok(()) - }) - .and_then(|_| { - self.holding.subsume_assets(assets.into()); + self.holding.subsume_assets(minted_assets); Ok(()) }) }, @@ -1149,20 +1160,20 @@ impl XcmExecutor { Ok(()) }, DepositAsset { assets, beneficiary } => { - let old_holding = self.holding.clone(); + let mut backup_holding = BackupAssetsInHolding::safe_backup(&self.holding); let result = Config::TransactionalProcessor::process(|| { let deposited = self.holding.saturating_take(assets); - let surplus = Self::deposit_assets_with_retry(&deposited, &beneficiary, Some(&self.context))?; + let surplus = Self::deposit_assets_with_retry(deposited, &beneficiary, Some(&self.context))?; self.total_surplus.saturating_accrue(surplus); Ok(()) }); if Config::TransactionalProcessor::IS_TRANSACTIONAL && result.is_err() { - self.holding = old_holding; + backup_holding.restore_into(&mut self.holding); } result }, DepositReserveAsset { assets, dest, xcm } => { - let old_holding = self.holding.clone(); + let mut backup_holding = BackupAssetsInHolding::safe_backup(&self.holding); let result = Config::TransactionalProcessor::process(|| { let mut assets = self.holding.saturating_take(assets); // When not using `PayFees`, nor `JIT_WITHDRAW`, delivery fees are paid from @@ -1193,12 +1204,12 @@ impl XcmExecutor { Ok(()) }); if Config::TransactionalProcessor::IS_TRANSACTIONAL && result.is_err() { - self.holding = old_holding; + backup_holding.restore_into(&mut self.holding); } result }, InitiateReserveWithdraw { assets, reserve, xcm } => { - let old_holding = self.holding.clone(); + let mut backup_holding = BackupAssetsInHolding::safe_backup(&self.holding); let result = Config::TransactionalProcessor::process(|| { let mut assets = self.holding.saturating_take(assets); // When not using `PayFees`, nor `JIT_WITHDRAW`, delivery fees are paid from @@ -1228,12 +1239,12 @@ impl XcmExecutor { Ok(()) }); if Config::TransactionalProcessor::IS_TRANSACTIONAL && result.is_err() { - self.holding = old_holding; + backup_holding.restore_into(&mut self.holding); } result }, InitiateTeleport { assets, dest, xcm } => { - let old_holding = self.holding.clone(); + let mut backup_holding = BackupAssetsInHolding::safe_backup(&self.holding); let result = Config::TransactionalProcessor::process(|| { let mut assets = self.holding.saturating_take(assets); // When not using `PayFees`, nor `JIT_WITHDRAW`, delivery fees are paid from @@ -1258,12 +1269,12 @@ impl XcmExecutor { Ok(()) }); if Config::TransactionalProcessor::IS_TRANSACTIONAL && result.is_err() { - self.holding = old_holding; + backup_holding.restore_into(&mut self.holding); } result }, InitiateTransfer { destination, remote_fees, preserve_origin, assets, remote_xcm } => { - let old_holding = self.holding.clone(); + let mut backup_holding = BackupAssetsInHolding::safe_backup(&self.holding); let result = Config::TransactionalProcessor::process(|| { let mut message = Vec::with_capacity(assets.len() + remote_xcm.len() + 2); @@ -1401,15 +1412,18 @@ impl XcmExecutor { Ok(()) }); if Config::TransactionalProcessor::IS_TRANSACTIONAL && result.is_err() { - self.holding = old_holding; + backup_holding.restore_into(&mut self.holding); } result }, ReportHolding { response_info, assets } => { - // Note that we pass `None` as `maybe_failed_bin` since no assets were ever removed - // from Holding. - let assets = - Self::reanchored(self.holding.min(&assets), &response_info.destination, None); + let context = Config::UniversalLocation::get(); + let assets = self.holding.min(&assets) + .into_inner() + .into_iter() + .filter_map(|a| a.reanchored(&response_info.destination, &context).ok()) + .collect::>() + .into(); self.respond( self.cloned_origin(), Response::Assets(assets), @@ -1424,7 +1438,7 @@ impl XcmExecutor { // and thus there is some other reason why it has been determined that this XCM // should be executed. let Some(weight) = Option::::from(weight_limit) else { return Ok(()) }; - let old_holding = self.holding.clone(); + let mut backup_holding = BackupAssetsInHolding::safe_backup(&self.holding); // Save the asset being used for execution fees, so we later know what should be // used for delivery fees. self.asset_used_in_buy_execution = Some(fees.id.clone()); @@ -1432,20 +1446,23 @@ impl XcmExecutor { target: "xcm::executor::BuyExecution", asset_used_in_buy_execution = ?self.asset_used_in_buy_execution ); - // pay for `weight` using up to `fees` of the holding register. - let max_fee = - self.holding.try_take(fees.clone().into()).map_err(|e| { - tracing::error!(target: "xcm::process_instruction::buy_execution", ?e, ?fees, + let result = Config::TransactionalProcessor::process(|| { + // pay for `weight` using up to `fees` of the holding register. + let max_fee = + self.holding.try_take(fees.clone().into()).map_err(|e| { + tracing::error!(target: "xcm::process_instruction::buy_execution", ?e, ?fees, "Failed to take fees from holding"); - XcmError::NotHoldingFees + XcmError::NotHoldingFees + })?; + let unspent = self.trader.buy_weight(weight, max_fee, &self.context).map_err(|(unspent, e)| { + self.holding.subsume_assets(unspent); + e })?; - let result = Config::TransactionalProcessor::process(|| { - let unspent = self.trader.buy_weight(weight, max_fee, &self.context)?; self.holding.subsume_assets(unspent); Ok(()) }); - if result.is_err() { - self.holding = old_holding; + if Config::TransactionalProcessor::IS_TRANSACTIONAL && result.is_err() { + backup_holding.restore_into(&mut self.holding); } result }, @@ -1457,7 +1474,7 @@ impl XcmExecutor { // Make sure `PayFees` won't be processed again. self.already_paid_fees = true; // Record old holding in case we need to rollback. - let old_holding = self.holding.clone(); + let mut backup_holding = BackupAssetsInHolding::safe_backup(&self.holding); // The max we're willing to pay for fees is decided by the `asset` operand. tracing::trace!( target: "xcm::executor::PayFees", @@ -1475,15 +1492,17 @@ impl XcmExecutor { XcmError::NotHoldingFees })?; let unspent = - self.trader.buy_weight(self.message_weight, max_fee, &self.context)?; - // Move unspent to the `fees` register, it can later be moved to holding - // by calling `RefundSurplus`. + self.trader.buy_weight(self.message_weight, max_fee.into(), &self.context).map_err(|(unspent, e)| { + self.fees.subsume_assets(unspent); + e + })?; + // Move unspent to the `fees` register, it can later be moved to holding by calling `RefundSurplus`. self.fees.subsume_assets(unspent); Ok(()) }); if Config::TransactionalProcessor::IS_TRANSACTIONAL && result.is_err() { // Rollback on error. - self.holding = old_holding; + backup_holding.restore_into(&mut self.holding); self.already_paid_fees = false; } result @@ -1538,9 +1557,8 @@ impl XcmExecutor { ClaimAsset { assets, ticket } => { let origin = self.origin_ref().ok_or(XcmError::BadOrigin)?; self.ensure_can_subsume_assets(assets.len())?; - let ok = Config::AssetClaims::claim_assets(origin, &ticket, &assets, &self.context); - ensure!(ok, XcmError::UnknownClaim); - self.holding.subsume_assets(assets.into()); + let claimed = Config::AssetTrap::claim_assets(origin, &ticket, &assets, &self.context); + self.holding.subsume_assets(claimed.ok_or(XcmError::UnknownClaim)?); Ok(()) }, Trap(code) => Err(XcmError::Trap(code)), @@ -1682,7 +1700,7 @@ impl XcmExecutor { destination.clone(), xcm, )?; - let old_holding = self.holding.clone(); + let mut backup_holding = BackupAssetsInHolding::safe_backup(&self.holding); let result = Config::TransactionalProcessor::process(|| { self.take_fee(fee, FeeReason::Export { network, destination })?; let _ = Config::MessageExporter::deliver(ticket).defensive_proof( @@ -1692,12 +1710,12 @@ impl XcmExecutor { Ok(()) }); if Config::TransactionalProcessor::IS_TRANSACTIONAL && result.is_err() { - self.holding = old_holding; + backup_holding.restore_into(&mut self.holding); } result }, LockAsset { asset, unlocker } => { - let old_holding = self.holding.clone(); + let mut backup_holding = BackupAssetsInHolding::safe_backup(&self.holding); let result = Config::TransactionalProcessor::process(|| { let origin = self.cloned_origin().ok_or(XcmError::BadOrigin)?; let (remote_asset, context) = Self::try_reanchor(asset.clone(), &unlocker)?; @@ -1715,7 +1733,7 @@ impl XcmExecutor { Ok(()) }); if Config::TransactionalProcessor::IS_TRANSACTIONAL && result.is_err() { - self.holding = old_holding; + backup_holding.restore_into(&mut self.holding); } result }, @@ -1741,7 +1759,7 @@ impl XcmExecutor { let msg = Xcm::<()>(vec![UnlockAsset { asset: remote_asset, target: remote_target }]); let (ticket, price) = validate_send::(locker, msg)?; - let old_holding = self.holding.clone(); + let mut backup_holding = BackupAssetsInHolding::safe_backup(&self.holding); let result = Config::TransactionalProcessor::process(|| { self.take_fee(price, FeeReason::RequestUnlock)?; reduce_ticket.enact()?; @@ -1749,30 +1767,29 @@ impl XcmExecutor { Ok(()) }); if Config::TransactionalProcessor::IS_TRANSACTIONAL && result.is_err() { - self.holding = old_holding; + backup_holding.restore_into(&mut self.holding); } result }, ExchangeAsset { give, want, maximal } => { - let old_holding = self.holding.clone(); - let give = self.holding.saturating_take(give); + let mut backup_holding = BackupAssetsInHolding::safe_backup(&self.holding); let result = Config::TransactionalProcessor::process(|| { + let give = self.holding.saturating_take(give); self.ensure_can_subsume_assets(want.len())?; - let exchange_result = Config::AssetExchanger::exchange_asset( + let received = Config::AssetExchanger::exchange_asset( self.origin_ref(), give, &want, maximal, - ); - if let Ok(received) = exchange_result { - self.holding.subsume_assets(received.into()); - Ok(()) - } else { - Err(XcmError::NoDeal) - } + ).map_err(|unspent| { + self.holding.subsume_assets(unspent); + XcmError::NoDeal + })?; + self.holding.subsume_assets(received); + Ok(()) }); - if result.is_err() { - self.holding = old_holding; + if Config::TransactionalProcessor::IS_TRANSACTIONAL && result.is_err() { + backup_holding.restore_into(&mut self.holding); } result }, @@ -1853,37 +1870,41 @@ impl XcmExecutor { /// This function can write into storage and also return an error at the same time, it should /// always be called within a transactional context. fn deposit_assets_with_retry( - to_deposit: &AssetsInHolding, + mut to_deposit: AssetsInHolding, beneficiary: &Location, context: Option<&XcmContext>, ) -> Result { let mut total_surplus = Weight::zero(); - let mut failed_deposits = Vec::with_capacity(to_deposit.len()); - for asset in to_deposit.assets_iter() { - match Config::AssetTransactor::deposit_asset_with_surplus(&asset, &beneficiary, context) - { + let mut failed_deposits = AssetsInHolding::new(); + let assets: Vec = to_deposit.assets_iter().collect(); + for asset in assets { + let what = to_deposit.try_take(asset.into()).map_err(|_| XcmError::AssetNotFound)?; + match Config::AssetTransactor::deposit_asset_with_surplus(what, &beneficiary, context) { Ok(surplus) => { total_surplus.saturating_accrue(surplus); }, - Err(_) => { + Err((unspent, _)) => { // if deposit failed for asset, mark it for retry. - failed_deposits.push(asset); + failed_deposits.subsume_assets(unspent); }, } } + defensive_assert!(to_deposit.is_empty(), "Should have fully consumed `to_deposit`"); tracing::trace!( target: "xcm::deposit_assets_with_retry", ?failed_deposits, "First‐pass failures, about to retry" ); // retry previously failed deposits, this time short-circuiting on any error. - for asset in failed_deposits { - match Config::AssetTransactor::deposit_asset_with_surplus(&asset, &beneficiary, context) - { + let assets: Vec = failed_deposits.assets_iter().collect(); + for asset in assets { + let what = + failed_deposits.try_take(asset.into()).map_err(|_| XcmError::AssetNotFound)?; + match Config::AssetTransactor::deposit_asset_with_surplus(what, &beneficiary, context) { Ok(surplus) => { total_surplus.saturating_accrue(surplus); }, - Err(error) => { + Err((_, error)) => { // Ignore dust deposit errors. if !matches!( error, @@ -1909,8 +1930,7 @@ impl XcmExecutor { reason: FeeReason, xcm: &Xcm<()>, ) -> Result, XcmError> { - let to_weigh = assets.clone(); - let to_weigh_reanchored = Self::reanchored(to_weigh, &destination, None); + let to_weigh_reanchored = Self::reanchored_assets(&assets, destination); let remote_instruction = match reason { FeeReason::DepositReserveAsset => ReserveAssetDeposited(to_weigh_reanchored), FeeReason::InitiateReserveWithdraw => WithdrawAsset(to_weigh_reanchored), diff --git a/polkadot/xcm/xcm-executor/src/test_helpers.rs b/polkadot/xcm/xcm-executor/src/test_helpers.rs new file mode 100644 index 0000000000000..8bb31a7f8349c --- /dev/null +++ b/polkadot/xcm/xcm-executor/src/test_helpers.rs @@ -0,0 +1,67 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Helper datatypes for XCM. + +use super::*; +use alloc::boxed::Box; +use frame_support::traits::tokens::imbalance::{ + ImbalanceAccounting, UnsafeConstructorDestructor, UnsafeManualAccounting, +}; + +/// Mock credit for tests +pub struct MockCredit(pub u128); + +impl UnsafeConstructorDestructor for MockCredit { + fn unsafe_clone(&self) -> Box> { + Box::new(MockCredit(self.0)) + } + fn forget_imbalance(&mut self) -> u128 { + let amt = self.0; + self.0 = 0; + amt + } +} + +impl UnsafeManualAccounting for MockCredit { + fn saturating_subsume(&mut self, mut other: Box>) { + self.0 = self.0.saturating_add(other.forget_imbalance()); + } +} + +impl ImbalanceAccounting for MockCredit { + fn amount(&self) -> u128 { + self.0 + } + fn saturating_take(&mut self, amount: u128) -> Box> { + let taken = self.0.min(amount); + self.0 -= taken; + Box::new(MockCredit(taken)) + } +} + +pub fn mock_asset_to_holding(asset: Asset) -> AssetsInHolding { + let mut holding = AssetsInHolding::new(); + match asset.fun { + Fungible(amount) => { + holding.fungible.insert(asset.id, Box::new(MockCredit(amount))); + }, + NonFungible(instance) => { + holding.non_fungible.insert((asset.id, instance)); + }, + } + holding +} diff --git a/polkadot/xcm/xcm-executor/src/tests/mock.rs b/polkadot/xcm/xcm-executor/src/tests/mock.rs index 850629bef8c06..94e002359cd93 100644 --- a/polkadot/xcm/xcm-executor/src/tests/mock.rs +++ b/polkadot/xcm/xcm-executor/src/tests/mock.rs @@ -30,12 +30,15 @@ use xcm::prelude::*; use crate::{ traits::{ - DropAssets, FeeManager, ProcessTransaction, Properties, ShouldExecute, TransactAsset, - WeightBounds, WeightTrader, + ClaimAssets, DropAssets, FeeManager, ProcessTransaction, Properties, ShouldExecute, + TransactAsset, WeightBounds, WeightTrader, }, AssetsInHolding, Config, FeeReason, XcmExecutor, }; +/// Mock credit implementation for testing purposes. +pub use crate::test_helpers::MockCredit; + /// We create an XCVM instance instead of calling `XcmExecutor::<_>::prepare_and_execute` so we /// can inspect its fields. pub fn instantiate_executor( @@ -106,20 +109,34 @@ thread_local! { } pub fn add_asset(who: impl Into, what: impl Into) { + use xcm::latest::Fungibility; + + let asset = what.into(); + let mut holding = AssetsInHolding::new(); + match asset.fun { + Fungibility::Fungible(amount) => { + holding.fungible.insert(asset.id, Box::new(MockCredit(amount))); + }, + Fungibility::NonFungible(instance) => { + holding.non_fungible.insert((asset.id, instance)); + }, + } ASSETS.with(|a| { a.borrow_mut() .entry(who.into()) .or_insert(AssetsInHolding::new()) - .subsume(what.into()) + .subsume_assets(holding) }); } pub fn asset_list(who: impl Into) -> Vec { - Assets::from(assets(who)).into_inner() + assets(who).assets_iter().collect() } pub fn assets(who: impl Into) -> AssetsInHolding { - ASSETS.with(|a| a.borrow().get(&who.into()).cloned()).unwrap_or_default() + ASSETS + .with(|a| a.borrow().get(&who.into()).map(|h| h.unsafe_clone_for_tests())) + .unwrap_or_else(|| AssetsInHolding::new()) } pub fn get_first_fungible(assets: &AssetsInHolding) -> Option { @@ -130,19 +147,28 @@ pub fn get_first_fungible(assets: &AssetsInHolding) -> Option { pub struct TestAssetTransactor; impl TransactAsset for TestAssetTransactor { fn deposit_asset( - what: &Asset, + what: AssetsInHolding, who: &Location, _context: Option<&XcmContext>, - ) -> Result<(), XcmError> { - if let Fungibility::Fungible(amount) = what.fun { - // fail if below the configured existential deposit - if amount < ExistentialDeposit::get() { - return Err(XcmError::FailedToTransactAsset( - sp_runtime::TokenError::BelowMinimum.into(), - )); + ) -> Result<(), (AssetsInHolding, XcmError)> { + // Collect assets first to avoid borrow/move conflict + let assets_vec: Vec<_> = what.assets_iter().collect(); + for asset in &assets_vec { + if let Fungibility::Fungible(amount) = asset.fun { + // fail if below the configured existential deposit + if amount < ExistentialDeposit::get() { + return Err(( + what, + XcmError::FailedToTransactAsset( + sp_runtime::TokenError::BelowMinimum.into(), + ), + )); + } } } - add_asset(who.clone(), what.clone()); + for asset in assets_vec { + add_asset(who.clone(), asset); + } Ok(()) } @@ -159,6 +185,10 @@ impl TransactAsset for TestAssetTransactor { .map_err(|_| XcmError::NotWithdrawable) }) } + + fn mint_asset(what: &Asset, _: &XcmContext) -> Result { + Ok(crate::test_helpers::mock_asset_to_holding(what.clone())) + } } /// Test barrier that just lets everything through. @@ -195,22 +225,40 @@ impl WeightTrader for TestTrader { fn buy_weight( &mut self, weight: Weight, - payment: AssetsInHolding, + mut payment: AssetsInHolding, _context: &XcmContext, - ) -> Result { + ) -> Result { let amount = WeightToFee::weight_to_fee(&weight); let required: Asset = (Here, amount).into(); - let unused = payment.checked_sub(required).map_err(|_| XcmError::TooExpensive)?; - self.weight_bought_so_far.saturating_add(weight); - Ok(unused) + // Try to take the required amount from payment + match payment.try_take(required.into()) { + Ok(_) => { + self.weight_bought_so_far.saturating_accrue(weight); + // Return the unused payment + Ok(payment) + }, + Err(_) => Err((payment, XcmError::TooExpensive)), + } } - fn refund_weight(&mut self, weight: Weight, _context: &XcmContext) -> Option { + fn refund_weight(&mut self, weight: Weight, _context: &XcmContext) -> Option { + use xcm::latest::Fungibility; + let weight = weight.min(self.weight_bought_so_far); let amount = WeightToFee::weight_to_fee(&weight); self.weight_bought_so_far -= weight; if amount > 0 { - Some((Here, amount).into()) + let asset: Asset = (Here, amount).into(); + let mut holding = AssetsInHolding::new(); + match asset.fun { + Fungibility::Fungible(amount) => { + holding.fungible.insert(asset.id, Box::new(MockCredit(amount))); + }, + Fungibility::NonFungible(instance) => { + holding.non_fungible.insert((asset.id, instance)); + }, + } + Some(holding) } else { None } @@ -234,6 +282,31 @@ impl DropAssets for TestAssetTrap { } } +impl ClaimAssets for TestAssetTrap { + fn claim_assets( + _origin: &Location, + _ticket: &Location, + what: &Assets, + _context: &XcmContext, + ) -> Option { + ASSETS.with(|a| { + let mut assets = a.borrow_mut(); + let trapped = assets.get_mut(&TRAPPED_ASSETS.into())?; + let mut claimed = AssetsInHolding::new(); + for asset in what.inner().iter() { + if let Ok(taken) = trapped.try_take(asset.clone().into()) { + claimed.subsume_assets(taken); + } + } + if claimed.is_empty() { + None + } else { + Some(claimed) + } + }) + } +} + /// Test sender that always succeeds and puts messages in a dummy queue. /// /// It charges `1` for the delivery fee. @@ -278,7 +351,7 @@ impl FeeManager for TestFeeManager { ) } - fn handle_fee(_: Assets, _: Option<&XcmContext>, _: FeeReason) {} + fn handle_fee(_: AssetsInHolding, _: Option<&XcmContext>, _: FeeReason) {} } /// Dummy transactional processor that doesn't rollback storage changes, just @@ -313,7 +386,6 @@ impl Config for XcmConfig { type AssetTrap = TestAssetTrap; type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = (); type SubscriptionService = (); type PalletInstancesInfo = (); type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/polkadot/xcm/xcm-executor/src/tests/mod.rs b/polkadot/xcm/xcm-executor/src/tests/mod.rs index 5c133871f0bf3..caa61ef6676e8 100644 --- a/polkadot/xcm/xcm-executor/src/tests/mod.rs +++ b/polkadot/xcm/xcm-executor/src/tests/mod.rs @@ -21,6 +21,6 @@ //! These tests deal with internal state changes of the XCVM. mod initiate_transfer; -mod mock; +pub(crate) mod mock; mod pay_fees; mod set_asset_claimer; diff --git a/polkadot/xcm/xcm-executor/src/traits/asset_lock.rs b/polkadot/xcm/xcm-executor/src/traits/asset_lock.rs index b4e9f32983fd5..3a107fa9f3cf6 100644 --- a/polkadot/xcm/xcm-executor/src/traits/asset_lock.rs +++ b/polkadot/xcm/xcm-executor/src/traits/asset_lock.rs @@ -41,8 +41,9 @@ impl From for XcmError { NotApplicable => XcmError::AssetNotFound, BadOrigin => XcmError::BadOrigin, WouldClobber | NotLocked | NotEnoughLocked | Unimplemented | NotTrusted | - BadOwner | UnknownAsset | AssetNotOwned | NoResources | UnexpectedState | InUse => - XcmError::LockError, + BadOwner | UnknownAsset | AssetNotOwned | NoResources | UnexpectedState | InUse => { + XcmError::LockError + }, } } } diff --git a/polkadot/xcm/xcm-executor/src/traits/asset_transfer.rs b/polkadot/xcm/xcm-executor/src/traits/asset_transfer.rs index b48f089f59866..9aef306186177 100644 --- a/polkadot/xcm/xcm-executor/src/traits/asset_transfer.rs +++ b/polkadot/xcm/xcm-executor/src/traits/asset_transfer.rs @@ -58,10 +58,10 @@ pub trait XcmAssetTransfers { fn determine_for(asset: &Asset, dest: &Location) -> Result { if Self::IsTeleporter::contains(asset, dest) { // we trust destination for teleporting asset - return Ok(TransferType::Teleport) + return Ok(TransferType::Teleport); } else if Self::IsReserve::contains(asset, dest) { // we trust destination as asset reserve location - return Ok(TransferType::DestinationReserve) + return Ok(TransferType::DestinationReserve); } // try to determine reserve location based on asset id/location diff --git a/polkadot/xcm/xcm-executor/src/traits/drop_assets.rs b/polkadot/xcm/xcm-executor/src/traits/drop_assets.rs index b19477ca880a2..5729bba945db5 100644 --- a/polkadot/xcm/xcm-executor/src/traits/drop_assets.rs +++ b/polkadot/xcm/xcm-executor/src/traits/drop_assets.rs @@ -20,6 +20,10 @@ use frame_support::traits::Contains; use xcm::latest::{Assets, Location, Weight, XcmContext}; /// Define a handler for when some non-empty `AssetsInHolding` value should be dropped. +/// +/// Types implementing this trait should make sure to properly handle imbalances held within +/// `AssetsInHolding`. Generally should have a mirror `ClaimAssets` implementation that can recover +/// the imbalance back into holding. pub trait DropAssets { /// Handler for receiving dropped assets. Returns the weight consumed by this operation. fn drop_assets(origin: &Location, assets: AssetsInHolding, context: &XcmContext) -> Weight; @@ -62,15 +66,19 @@ impl> DropAssets for FilterOrigin { } /// Define any handlers for the `AssetClaim` instruction. +/// +/// Types implementing this trait should make sure to properly handle imbalances held within the +/// trap and pass them over to `AssetsInHolding`. Generally should have a mirror `DropAssets` +/// implementation that originally moved the imbalance from holding to this trap. pub trait ClaimAssets { - /// Claim any assets available to `origin` and return them in a single `Assets` value, together - /// with the weight used by this operation. + /// Claim any assets available to `origin` and return them in a single `AssetsInHolding` value, + /// together with the weight used by this operation. fn claim_assets( origin: &Location, ticket: &Location, what: &Assets, context: &XcmContext, - ) -> bool; + ) -> Option; } #[impl_trait_for_tuples::impl_for_tuples(30)] @@ -80,12 +88,16 @@ impl ClaimAssets for Tuple { ticket: &Location, what: &Assets, context: &XcmContext, - ) -> bool { + ) -> Option { for_tuples!( #( - if Tuple::claim_assets(origin, ticket, what, context) { - return true; + if let Some(a) = Tuple::claim_assets(origin, ticket, what, context) { + return Some(a); } )* ); - false + None } } + +/// Helper super trait for requiring implementation of both `DropAssets` and `ClaimAssets`. +pub trait TrapAndClaimAssets: DropAssets + ClaimAssets {} +impl TrapAndClaimAssets for T {} diff --git a/polkadot/xcm/xcm-executor/src/traits/fee_manager.rs b/polkadot/xcm/xcm-executor/src/traits/fee_manager.rs index a468d18dd45bd..8dc1a84265845 100644 --- a/polkadot/xcm/xcm-executor/src/traits/fee_manager.rs +++ b/polkadot/xcm/xcm-executor/src/traits/fee_manager.rs @@ -14,6 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . +use crate::AssetsInHolding; use xcm::prelude::*; /// Handle stuff to do with taking fees in certain XCM instructions. @@ -23,7 +24,7 @@ pub trait FeeManager { /// Do something with the fee which has been paid. Doing nothing here silently burns the /// fees. - fn handle_fee(fee: Assets, context: Option<&XcmContext>, r: FeeReason); + fn handle_fee(paid_fee: AssetsInHolding, context: Option<&XcmContext>, r: FeeReason); } /// Context under which a fee is paid. @@ -58,7 +59,7 @@ impl FeeManager for () { false } - fn handle_fee(_: Assets, _: Option<&XcmContext>, _: FeeReason) {} + fn handle_fee(_: AssetsInHolding, _: Option<&XcmContext>, _: FeeReason) {} } pub struct WaiveDeliveryFees; @@ -68,5 +69,5 @@ impl FeeManager for WaiveDeliveryFees { true } - fn handle_fee(_: Assets, _: Option<&XcmContext>, _: FeeReason) {} + fn handle_fee(_: AssetsInHolding, _: Option<&XcmContext>, _: FeeReason) {} } diff --git a/polkadot/xcm/xcm-executor/src/traits/mod.rs b/polkadot/xcm/xcm-executor/src/traits/mod.rs index 038de83e3fa37..0368c35ae36d4 100644 --- a/polkadot/xcm/xcm-executor/src/traits/mod.rs +++ b/polkadot/xcm/xcm-executor/src/traits/mod.rs @@ -19,7 +19,7 @@ mod conversion; pub use conversion::{CallDispatcher, ConvertLocation, ConvertOrigin, WithOriginFilter}; mod drop_assets; -pub use drop_assets::{ClaimAssets, DropAssets}; +pub use drop_assets::{ClaimAssets, DropAssets, TrapAndClaimAssets}; mod asset_exchange; pub use asset_exchange::AssetExchange; mod asset_lock; @@ -66,7 +66,7 @@ pub mod prelude { DropAssets, Enact, Error, EventEmitter, ExportXcm, FeeManager, FeeReason, LockError, MatchesFungible, MatchesFungibles, MatchesInstance, MatchesNonFungible, MatchesNonFungibles, OnResponse, ProcessTransaction, ShouldExecute, TransactAsset, - VersionChangeNotifier, WeightBounds, WeightTrader, WithOriginFilter, + TrapAndClaimAssets, VersionChangeNotifier, WeightBounds, WeightTrader, WithOriginFilter, }; #[allow(deprecated)] pub use super::{Identity, JustTry}; diff --git a/polkadot/xcm/xcm-executor/src/traits/token_matching.rs b/polkadot/xcm/xcm-executor/src/traits/token_matching.rs index a679b62bf3b6f..fa034f9976838 100644 --- a/polkadot/xcm/xcm-executor/src/traits/token_matching.rs +++ b/polkadot/xcm/xcm-executor/src/traits/token_matching.rs @@ -68,8 +68,9 @@ impl From for XcmError { match e { Error::AssetNotHandled => XcmError::AssetNotFound, Error::AccountIdConversionFailed => FailedToTransactAsset("AccountIdConversionFailed"), - Error::AmountToBalanceConversionFailed => - FailedToTransactAsset("AmountToBalanceConversionFailed"), + Error::AmountToBalanceConversionFailed => { + FailedToTransactAsset("AmountToBalanceConversionFailed") + }, Error::AssetIdConversionFailed => FailedToTransactAsset("AssetIdConversionFailed"), Error::InstanceConversionFailed => FailedToTransactAsset("InstanceConversionFailed"), } diff --git a/polkadot/xcm/xcm-executor/src/traits/transact_asset.rs b/polkadot/xcm/xcm-executor/src/traits/transact_asset.rs index c54280ab93d57..f09a51127a4ef 100644 --- a/polkadot/xcm/xcm-executor/src/traits/transact_asset.rs +++ b/polkadot/xcm/xcm-executor/src/traits/transact_asset.rs @@ -76,11 +76,15 @@ pub trait TransactAsset { /// type-items. fn check_out(_dest: &Location, _what: &Asset, _context: &XcmContext) {} - /// Deposit the `what` asset into the account of `who`. + /// Deposit the `what` asset in holding into the account of `who`. /// /// Implementations should return `XcmError::FailedToTransactAsset` if deposit failed. - fn deposit_asset(_what: &Asset, _who: &Location, _context: Option<&XcmContext>) -> XcmResult { - Err(XcmError::Unimplemented) + fn deposit_asset( + what: AssetsInHolding, + _who: &Location, + _context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { + Err((what, XcmError::Unimplemented)) } /// Identical to `deposit_asset` but returning the surplus, if any. @@ -88,10 +92,10 @@ pub trait TransactAsset { /// Return the difference between the worst-case weight and the actual weight consumed. /// This can be zero most of the time unless there's some metering involved. fn deposit_asset_with_surplus( - what: &Asset, + what: AssetsInHolding, who: &Location, context: Option<&XcmContext>, - ) -> Result { + ) -> Result { Self::deposit_asset(what, who, context).map(|()| Weight::zero()) } @@ -138,7 +142,7 @@ pub trait TransactAsset { _from: &Location, _to: &Location, _context: &XcmContext, - ) -> Result { + ) -> Result { Err(XcmError::Unimplemented) } @@ -152,9 +156,8 @@ pub trait TransactAsset { from: &Location, to: &Location, context: &XcmContext, - ) -> Result<(AssetsInHolding, Weight), XcmError> { - Self::internal_transfer_asset(asset, from, to, context) - .map(|assets| (assets, Weight::zero())) + ) -> Result<(Asset, Weight), XcmError> { + Self::internal_transfer_asset(asset, from, to, context).map(|asset| (asset, Weight::zero())) } /// Move an `asset` `from` one location in `to` another location. @@ -166,12 +169,16 @@ pub trait TransactAsset { from: &Location, to: &Location, context: &XcmContext, - ) -> Result { + ) -> Result { match Self::internal_transfer_asset(asset, from, to, context) { Err(XcmError::AssetNotFound | XcmError::Unimplemented) => { - let assets = Self::withdraw_asset(asset, from, Some(context))?; - Self::deposit_asset(asset, to, Some(context))?; - Ok(assets) + let credit = Self::withdraw_asset(asset, from, Some(context))?; + Self::deposit_asset(credit, to, Some(context)).map_err(|(unspent, error)| { + // best effort try to return the assets to original owner + let _ = Self::deposit_asset(unspent, from, Some(context)); + error + })?; + Ok(asset.clone()) }, result => result, } @@ -187,18 +194,31 @@ pub trait TransactAsset { from: &Location, to: &Location, context: &XcmContext, - ) -> Result<(AssetsInHolding, Weight), XcmError> { + ) -> Result<(Asset, Weight), XcmError> { match Self::internal_transfer_asset_with_surplus(asset, from, to, context) { Err(XcmError::AssetNotFound | XcmError::Unimplemented) => { - let (assets, withdraw_surplus) = + let (credit, withdraw_surplus) = Self::withdraw_asset_with_surplus(asset, from, Some(context))?; - let deposit_surplus = Self::deposit_asset_with_surplus(asset, to, Some(context))?; + let deposit_surplus = Self::deposit_asset_with_surplus(credit, to, Some(context)) + .map_err(|(unspent, error)| { + // best effort try to return the assets to original owner + let _ = Self::deposit_asset(unspent, from, Some(context)); + error + })?; let total_surplus = withdraw_surplus.saturating_add(deposit_surplus); - Ok((assets, total_surplus)) + Ok((asset.clone(), total_surplus)) }, result => result, } } + + /// An asset has been minted and the imbalance returned into holding. This should do whatever + /// housekeeping is needed. + /// + /// When composed as a tuple, all type-items are called and at least one must result in `Ok`. + fn mint_asset(_what: &Asset, _context: &XcmContext) -> Result { + Err(XcmError::Unimplemented) + } } #[impl_trait_for_tuples::impl_for_tuples(30)] @@ -249,10 +269,17 @@ impl TransactAsset for Tuple { )* ); } - fn deposit_asset(what: &Asset, who: &Location, context: Option<&XcmContext>) -> XcmResult { + fn deposit_asset( + mut what: AssetsInHolding, + who: &Location, + context: Option<&XcmContext>, + ) -> Result<(), (AssetsInHolding, XcmError)> { for_tuples!( #( match Tuple::deposit_asset(what, who, context) { - Err(XcmError::AssetNotFound) | Err(XcmError::Unimplemented) => (), + Err((unspent, XcmError::AssetNotFound)) | Err((unspent, XcmError::Unimplemented)) => { + what = unspent; + // continue + }, r => return r, } )* ); @@ -263,28 +290,31 @@ impl TransactAsset for Tuple { ?context, "did not deposit asset", ); - Err(XcmError::AssetNotFound) + Err((what, XcmError::AssetNotFound)) } fn deposit_asset_with_surplus( - what: &Asset, + mut what: AssetsInHolding, who: &Location, context: Option<&XcmContext>, - ) -> Result { + ) -> Result { for_tuples!( #( match Tuple::deposit_asset_with_surplus(what, who, context) { - Err(XcmError::AssetNotFound) | Err(XcmError::Unimplemented) => (), + Err((unspent, XcmError::AssetNotFound)) | Err((unspent, XcmError::Unimplemented)) => { + what = unspent; + // continue + }, r => return r, } )* ); tracing::trace!( - target: "xcm::TransactAsset::deposit_asset", + target: "xcm::TransactAsset::deposit_asset_with_surplus", ?what, ?who, ?context, "did not deposit asset", ); - Err(XcmError::AssetNotFound) + Err((what, XcmError::AssetNotFound)) } fn withdraw_asset( @@ -320,7 +350,7 @@ impl TransactAsset for Tuple { } )* ); tracing::trace!( - target: "xcm::TransactAsset::withdraw_asset", + target: "xcm::TransactAsset::withdraw_asset_with_surplus", ?what, ?who, ?maybe_context, @@ -334,7 +364,7 @@ impl TransactAsset for Tuple { from: &Location, to: &Location, context: &XcmContext, - ) -> Result { + ) -> Result { for_tuples!( #( match Tuple::internal_transfer_asset(what, from, to, context) { Err(XcmError::AssetNotFound) | Err(XcmError::Unimplemented) => (), @@ -357,7 +387,7 @@ impl TransactAsset for Tuple { from: &Location, to: &Location, context: &XcmContext, - ) -> Result<(AssetsInHolding, Weight), XcmError> { + ) -> Result<(Asset, Weight), XcmError> { for_tuples!( #( match Tuple::internal_transfer_asset_with_surplus(what, from, to, context) { Err(XcmError::AssetNotFound) | Err(XcmError::Unimplemented) => (), @@ -365,7 +395,7 @@ impl TransactAsset for Tuple { } )* ); tracing::trace!( - target: "xcm::TransactAsset::internal_transfer_asset", + target: "xcm::TransactAsset::internal_transfer_asset_with_surplus", ?what, ?from, ?to, @@ -374,12 +404,28 @@ impl TransactAsset for Tuple { ); Err(XcmError::AssetNotFound) } + + fn mint_asset(what: &Asset, context: &XcmContext) -> Result { + for_tuples!( #( + match Tuple::mint_asset(what, context) { + Err(XcmError::AssetNotFound) | Err(XcmError::Unimplemented) => (), + r => return r, + } + )* ); + tracing::trace!( + target: "xcm::TransactAsset::mint_asset", + ?what, + ?context, + "no match. did not mint asset", + ); + Err(XcmError::AssetNotFound) + } } #[cfg(test)] mod tests { use super::*; - use xcm::latest::Junctions::Here; + use xcm::latest::{AssetId, Junctions::Here}; pub struct UnimplementedTransactor; impl TransactAsset for UnimplementedTransactor {} @@ -395,11 +441,11 @@ mod tests { } fn deposit_asset( - _what: &Asset, + what: AssetsInHolding, _who: &Location, _context: Option<&XcmContext>, - ) -> XcmResult { - Err(XcmError::AssetNotFound) + ) -> Result<(), (AssetsInHolding, XcmError)> { + Err((what, XcmError::AssetNotFound)) } fn withdraw_asset( @@ -415,7 +461,11 @@ mod tests { _from: &Location, _to: &Location, _context: &XcmContext, - ) -> Result { + ) -> Result { + Err(XcmError::AssetNotFound) + } + + fn mint_asset(_: &Asset, _: &XcmContext) -> Result { Err(XcmError::AssetNotFound) } } @@ -431,11 +481,11 @@ mod tests { } fn deposit_asset( - _what: &Asset, + what: AssetsInHolding, _who: &Location, _context: Option<&XcmContext>, - ) -> XcmResult { - Err(XcmError::Overflow) + ) -> Result<(), (AssetsInHolding, XcmError)> { + Err((what, XcmError::Overflow)) } fn withdraw_asset( @@ -451,7 +501,11 @@ mod tests { _from: &Location, _to: &Location, _context: &XcmContext, - ) -> Result { + ) -> Result { + Err(XcmError::Overflow) + } + + fn mint_asset(_: &Asset, _: &XcmContext) -> Result { Err(XcmError::Overflow) } } @@ -467,19 +521,23 @@ mod tests { } fn deposit_asset( - _what: &Asset, + _what: AssetsInHolding, _who: &Location, _context: Option<&XcmContext>, - ) -> XcmResult { + ) -> Result<(), (AssetsInHolding, XcmError)> { Ok(()) } fn withdraw_asset( - _what: &Asset, + what: &Asset, _who: &Location, _context: Option<&XcmContext>, ) -> Result { - Ok(AssetsInHolding::default()) + Ok(asset_to_holding(what.clone())) + } + + fn mint_asset(what: &Asset, _context: &XcmContext) -> Result { + Ok(asset_to_holding(what.clone())) } fn internal_transfer_asset( @@ -487,22 +545,30 @@ mod tests { _from: &Location, _to: &Location, _context: &XcmContext, - ) -> Result { - Ok(AssetsInHolding::default()) + ) -> Result { + Ok(Asset::from((AssetId(Location::here()), 42u128))) } } + /// Helper to convert a single Asset into AssetsInHolding for tests + fn asset_to_holding(asset: Asset) -> AssetsInHolding { + crate::test_helpers::mock_asset_to_holding(asset) + } + #[test] fn defaults_to_asset_not_found() { type MultiTransactor = (UnimplementedTransactor, NotFoundTransactor, UnimplementedTransactor); + let asset: Asset = (Here, 1u128).into(); + let assets_in_holding: AssetsInHolding = asset_to_holding(asset); assert_eq!( MultiTransactor::deposit_asset( - &(Here, 1u128).into(), + assets_in_holding, &Here.into(), Some(&XcmContext::with_message_id([0; 32])), - ), + ) + .map_err(|(_, e)| e), Err(XcmError::AssetNotFound) ); } @@ -511,9 +577,11 @@ mod tests { fn unimplemented_and_not_found_continue_iteration() { type MultiTransactor = (UnimplementedTransactor, NotFoundTransactor, SuccessfulTransactor); + let asset: Asset = (Here, 1u128).into(); + let assets_in_holding: AssetsInHolding = asset_to_holding(asset); assert_eq!( MultiTransactor::deposit_asset( - &(Here, 1u128).into(), + assets_in_holding, &Here.into(), Some(&XcmContext::with_message_id([0; 32])), ), @@ -525,12 +593,15 @@ mod tests { fn unexpected_error_stops_iteration() { type MultiTransactor = (OverflowTransactor, SuccessfulTransactor); + let asset: Asset = (Here, 1u128).into(); + let assets_in_holding: AssetsInHolding = asset_to_holding(asset); assert_eq!( MultiTransactor::deposit_asset( - &(Here, 1u128).into(), + assets_in_holding, &Here.into(), Some(&XcmContext::with_message_id([0; 32])), - ), + ) + .map_err(|(_, e)| e), Err(XcmError::Overflow) ); } @@ -539,9 +610,11 @@ mod tests { fn success_stops_iteration() { type MultiTransactor = (SuccessfulTransactor, OverflowTransactor); + let asset: Asset = (Here, 1u128).into(); + let assets_in_holding: AssetsInHolding = asset_to_holding(asset); assert_eq!( MultiTransactor::deposit_asset( - &(Here, 1u128).into(), + assets_in_holding, &Here.into(), Some(&XcmContext::with_message_id([0; 32])), ), diff --git a/polkadot/xcm/xcm-executor/src/traits/weight.rs b/polkadot/xcm/xcm-executor/src/traits/weight.rs index b938c346ea0bf..ef1b3f83c081e 100644 --- a/polkadot/xcm/xcm-executor/src/traits/weight.rs +++ b/polkadot/xcm/xcm-executor/src/traits/weight.rs @@ -50,15 +50,26 @@ pub trait WeightTrader: Sized { weight: Weight, payment: AssetsInHolding, context: &XcmContext, - ) -> Result; + ) -> Result; /// Attempt a refund of `weight` into some asset. The caller does not guarantee that the weight /// was purchased using `buy_weight`. /// /// Default implementation refunds nothing. - fn refund_weight(&mut self, _weight: Weight, _context: &XcmContext) -> Option { + fn refund_weight(&mut self, _weight: Weight, _context: &XcmContext) -> Option { None } + + /// Quote `weight` price in `given` asset id. Returns the full `Asset` that would be charged for + /// given `weight`. + fn quote_weight( + &mut self, + _weight: Weight, + _given: AssetId, + _context: &XcmContext, + ) -> Result { + Err(XcmError::TooExpensive) + } } #[impl_trait_for_tuples::impl_for_tuples(30)] @@ -70,15 +81,15 @@ impl WeightTrader for Tuple { fn buy_weight( &mut self, weight: Weight, - payment: AssetsInHolding, + mut payment: AssetsInHolding, context: &XcmContext, - ) -> Result { + ) -> Result { let mut too_expensive_error_found = false; let mut last_error = None; for_tuples!( #( let weight_trader = core::any::type_name::(); - match Tuple.buy_weight(weight, payment.clone(), context) { + match Tuple.buy_weight(weight, payment, context) { Ok(assets) => { tracing::trace!( target: "xcm::buy_weight", @@ -88,7 +99,8 @@ impl WeightTrader for Tuple { return Ok(assets) }, - Err(error) => { + Err((unused, error)) => { + payment = unused; if let XcmError::TooExpensive = error { too_expensive_error_found = true; } @@ -111,14 +123,17 @@ impl WeightTrader for Tuple { // if we have multiple traders, and first one returns `TooExpensive` and others fail e.g. // `AssetNotFound` then it is more accurate to return `TooExpensive` then `AssetNotFound` - Err(if too_expensive_error_found { - XcmError::TooExpensive - } else { - last_error.unwrap_or(XcmError::TooExpensive) - }) + Err(( + payment, + if too_expensive_error_found { + XcmError::TooExpensive + } else { + last_error.unwrap_or(XcmError::TooExpensive) + }, + )) } - fn refund_weight(&mut self, weight: Weight, context: &XcmContext) -> Option { + fn refund_weight(&mut self, weight: Weight, context: &XcmContext) -> Option { for_tuples!( #( if let Some(asset) = Tuple.refund_weight(weight, context) { return Some(asset); @@ -126,4 +141,18 @@ impl WeightTrader for Tuple { )* ); None } + + fn quote_weight( + &mut self, + weight: Weight, + given: AssetId, + context: &XcmContext, + ) -> Result { + for_tuples!( #( + if let Ok(asset) = Tuple.quote_weight(weight, given.clone(), context) { + return Ok(asset); + } + )* ); + Err(XcmError::TooExpensive) + } } diff --git a/polkadot/xcm/xcm-runtime-apis/tests/fee_estimation.rs b/polkadot/xcm/xcm-runtime-apis/tests/fee_estimation.rs index 17d3ae1c06b5f..c011d19aa0eb6 100644 --- a/polkadot/xcm/xcm-runtime-apis/tests/fee_estimation.rs +++ b/polkadot/xcm/xcm-runtime-apis/tests/fee_estimation.rs @@ -112,16 +112,22 @@ fn fee_estimation_for_teleport() { who: 8660274132218572653, amount: 100 }), - RuntimeEvent::AssetsPallet(pallet_assets::Event::Burned { + RuntimeEvent::AssetsPallet(pallet_assets::Event::Withdrawn { asset_id: 1, - owner: 1, - balance: 20 + who: 1, + amount: 20 }), - RuntimeEvent::Balances(pallet_balances::Event::Burned { who: 1, amount: 100 }), + RuntimeEvent::AssetsPallet(pallet_assets::Event::BurnedCredit { + asset_id: 1, + amount: 20 + }), + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { who: 1, amount: 100 }), + RuntimeEvent::Balances(pallet_balances::Event::BurnedDebt { amount: 100 }), RuntimeEvent::XcmPallet(pallet_xcm::Event::Attempted { outcome: Outcome::Complete { used: Weight::from_parts(400, 40) }, }), - RuntimeEvent::Balances(pallet_balances::Event::Burned { who: 1, amount: 20 }), + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { who: 1, amount: 20 }), + RuntimeEvent::Balances(pallet_balances::Event::BurnedDebt { amount: 20 }), RuntimeEvent::XcmPallet(pallet_xcm::Event::FeesPaid { paying: AccountIndex64 { index: 1, network: None }.into(), fees: (Here, 20u128).into(), @@ -273,15 +279,20 @@ fn dry_run_reserve_asset_transfer_common( assert_eq!( dry_run_effects.emitted_events, vec![ - RuntimeEvent::AssetsPallet(pallet_assets::Event::Burned { + RuntimeEvent::AssetsPallet(pallet_assets::Event::Withdrawn { + asset_id: 1, + who: 1, + amount: 100 + }), + RuntimeEvent::AssetsPallet(pallet_assets::Event::BurnedCredit { asset_id: 1, - owner: 1, - balance: 100 + amount: 100 }), RuntimeEvent::XcmPallet(pallet_xcm::Event::Attempted { outcome: Outcome::Complete { used: Weight::from_parts(200, 20) } }), - RuntimeEvent::Balances(pallet_balances::Event::Burned { who: 1, amount: 20 }), + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { who: 1, amount: 20 }), + RuntimeEvent::Balances(pallet_balances::Event::BurnedDebt { amount: 20 }), RuntimeEvent::XcmPallet(pallet_xcm::Event::FeesPaid { paying: AccountIndex64 { index: 1, network: None }.into(), fees: (Here, 20u128).into() @@ -419,13 +430,14 @@ fn dry_run_xcm_common(xcm_version: XcmVersion) { assert_eq!( dry_run_effects.emitted_events, vec![ - RuntimeEvent::Balances(pallet_balances::Event::Burned { who: 1, amount: 540 }), + RuntimeEvent::Balances(pallet_balances::Event::Withdraw { who: 1, amount: 540 }), RuntimeEvent::System(frame_system::Event::NewAccount { account: 2100 }), RuntimeEvent::Balances(pallet_balances::Event::Endowed { account: 2100, free_balance: 520 }), - RuntimeEvent::Balances(pallet_balances::Event::Minted { who: 2100, amount: 520 }), + RuntimeEvent::Balances(pallet_balances::Event::Deposit { who: 2100, amount: 520 }), + RuntimeEvent::Balances(pallet_balances::Event::BurnedDebt { amount: 20 }), RuntimeEvent::XcmPallet(pallet_xcm::Event::Sent { origin: (who,).into(), destination: (Parent, Parachain(2100)).into(), diff --git a/polkadot/xcm/xcm-runtime-apis/tests/mock.rs b/polkadot/xcm/xcm-runtime-apis/tests/mock.rs index 9cefe37420ff9..8be4ef7a93b3f 100644 --- a/polkadot/xcm/xcm-runtime-apis/tests/mock.rs +++ b/polkadot/xcm/xcm-runtime-apis/tests/mock.rs @@ -335,7 +335,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = (); type AssetLocker = (); type AssetExchanger = MockAssetExchanger; - type AssetClaims = (); type SubscriptionService = (); type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; @@ -371,20 +370,24 @@ impl xcm_executor::traits::AssetExchange for MockAssetExchanger { ], ); - // Check if we're trying to exchange native asset for USDT - if let Some(give_asset) = give.fungible.get(&AssetId(HereLocation::get())) { + // Note: With the new imbalance accounting system, creating arbitrary AssetsInHolding + // for test purposes requires proper credit/debit tracking which is complex. + // For now, this mock exchanger just returns the original assets (no exchange performed). + // If tests need actual exchange logic, they should be updated to use proper pallet + // operations that create valid imbalances. + + // Check if exchange would be supported + if let Some(_give_asset) = give.fungible.get(&AssetId(HereLocation::get())) { if let Some(want_asset) = want.get(0) { if want_asset.id.0 == usdt_location { - // Convert native asset to USDT at 1:2 rate - let usdt_amount = give_asset.saturating_mul(2); - let mut result = xcm_executor::AssetsInHolding::new(); - result.subsume((AssetId(usdt_location), usdt_amount).into()); - return Ok(result); + // Would exchange at 1:2 rate, but can't create proper AssetsInHolding + // without real imbalances from pallet operations + return Err(give); } } } - // If we can't handle the exchange, return the original assets + // Can't handle the exchange, return the original assets Err(give) } @@ -428,8 +431,9 @@ where { fn try_convert(origin: RuntimeOrigin) -> Result { origin.try_with_caller(|caller| match caller.try_into() { - Ok(SystemRawOrigin::Signed(who)) => - Ok(Junction::AccountIndex64 { network: None, index: who.into() }.into()), + Ok(SystemRawOrigin::Signed(who)) => { + Ok(Junction::AccountIndex64 { network: None, index: who.into() }.into()) + }, Ok(other) => Err(other.into()), Err(other) => Err(other), }) diff --git a/polkadot/xcm/xcm-simulator/example/src/parachain/xcm_config/mod.rs b/polkadot/xcm/xcm-simulator/example/src/parachain/xcm_config/mod.rs index 8278d645cb504..e66b4de6ab526 100644 --- a/polkadot/xcm/xcm-simulator/example/src/parachain/xcm_config/mod.rs +++ b/polkadot/xcm/xcm-simulator/example/src/parachain/xcm_config/mod.rs @@ -47,7 +47,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = (); type AssetLocker = PolkadotXcm; type AssetExchanger = (); - type AssetClaims = (); type SubscriptionService = (); type PalletInstancesInfo = (); type FeeManager = (); diff --git a/polkadot/xcm/xcm-simulator/example/src/relay_chain/xcm_config/mod.rs b/polkadot/xcm/xcm-simulator/example/src/relay_chain/xcm_config/mod.rs index 9a4cd0cb8f2ce..669d25c923c68 100644 --- a/polkadot/xcm/xcm-simulator/example/src/relay_chain/xcm_config/mod.rs +++ b/polkadot/xcm/xcm-simulator/example/src/relay_chain/xcm_config/mod.rs @@ -47,7 +47,6 @@ impl Config for XcmConfig { type AssetTrap = (); type AssetLocker = XcmPallet; type AssetExchanger = (); - type AssetClaims = (); type SubscriptionService = (); type PalletInstancesInfo = (); type FeeManager = (); diff --git a/polkadot/xcm/xcm-simulator/fuzzer/src/parachain.rs b/polkadot/xcm/xcm-simulator/fuzzer/src/parachain.rs index 0267d2bdd631f..50a27c3076fb6 100644 --- a/polkadot/xcm/xcm-simulator/fuzzer/src/parachain.rs +++ b/polkadot/xcm/xcm-simulator/fuzzer/src/parachain.rs @@ -133,7 +133,6 @@ impl Config for XcmConfig { type AssetTrap = (); type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = (); type SubscriptionService = (); type PalletInstancesInfo = (); type FeeManager = (); @@ -237,8 +236,9 @@ pub mod mock_msg_queue { max_weight, Weight::zero(), ) { - Outcome::Error(InstructionError { error, .. }) => - (Err(error), Event::Fail(Some(hash), error)), + Outcome::Error(InstructionError { error, .. }) => { + (Err(error), Event::Fail(Some(hash), error)) + }, Outcome::Complete { used } => (Ok(used), Event::Success(Some(hash))), // As far as the caller is concerned, this was dispatched without error, so // we just report the weight used. diff --git a/polkadot/xcm/xcm-simulator/fuzzer/src/relay_chain.rs b/polkadot/xcm/xcm-simulator/fuzzer/src/relay_chain.rs index 2eec1a79b4a45..80b931896d31d 100644 --- a/polkadot/xcm/xcm-simulator/fuzzer/src/relay_chain.rs +++ b/polkadot/xcm/xcm-simulator/fuzzer/src/relay_chain.rs @@ -136,7 +136,6 @@ impl Config for XcmConfig { type AssetTrap = (); type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = (); type SubscriptionService = (); type PalletInstancesInfo = (); type FeeManager = (); diff --git a/polkadot/xcm/xcm-simulator/src/mock_message_queue.rs b/polkadot/xcm/xcm-simulator/src/mock_message_queue.rs index 821cd36035cac..b783359b04e79 100644 --- a/polkadot/xcm/xcm-simulator/src/mock_message_queue.rs +++ b/polkadot/xcm/xcm-simulator/src/mock_message_queue.rs @@ -107,10 +107,12 @@ pub mod pallet { max_weight, Weight::zero(), ) { - Outcome::Error(InstructionError { error, .. }) => - (Err(error), Event::Fail { message_id: Some(hash), error }), - Outcome::Complete { used } => - (Ok(used), Event::Success { message_id: Some(hash) }), + Outcome::Error(InstructionError { error, .. }) => { + (Err(error), Event::Fail { message_id: Some(hash), error }) + }, + Outcome::Complete { used } => { + (Ok(used), Event::Success { message_id: Some(hash) }) + }, // As far as the caller is concerned, this was dispatched without error, so // we just report the weight used. Outcome::Incomplete { @@ -166,8 +168,9 @@ pub mod pallet { Self::deposit_event(Event::InvalidFormat { message_id: id }); }, Ok(versioned) => match Xcm::try_from(versioned) { - Err(()) => - Self::deposit_event(Event::UnsupportedVersion { message_id: id }), + Err(()) => { + Self::deposit_event(Event::UnsupportedVersion { message_id: id }) + }, Ok(x) => { let outcome = T::XcmExecutor::prepare_and_execute( Parent, diff --git a/polkadot/zombienet-sdk-tests/Cargo.toml b/polkadot/zombienet-sdk-tests/Cargo.toml index d97326b0aaf01..9b78898b1fb46 100644 --- a/polkadot/zombienet-sdk-tests/Cargo.toml +++ b/polkadot/zombienet-sdk-tests/Cargo.toml @@ -19,6 +19,7 @@ log = { workspace = true } pallet-revive = { workspace = true, features = ["std"] } polkadot-primitives = { workspace = true, default-features = true } rand = { workspace = true } +regex = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } sp-core = { workspace = true } diff --git a/polkadot/zombienet-sdk-tests/build.rs b/polkadot/zombienet-sdk-tests/build.rs index f1fd0360724c7..c66723e19df47 100644 --- a/polkadot/zombienet-sdk-tests/build.rs +++ b/polkadot/zombienet-sdk-tests/build.rs @@ -132,7 +132,7 @@ fn main() { // Ensure we have the needed metadata files in place to run zombienet tests let manifest_path = env::var("CARGO_MANIFEST_DIR").unwrap(); const METADATA_DIR: &str = "metadata-files"; - const CHAINS: [&str; 3] = ["rococo", "coretime-rococo", "asset-hub-westend"]; + const CHAINS: [&str; 3] = ["westend", "coretime-westend", "asset-hub-westend"]; let metadata_path = format!("{manifest_path}/{METADATA_DIR}"); diff --git a/polkadot/zombienet-sdk-tests/tests/disabling/slashing.rs b/polkadot/zombienet-sdk-tests/tests/disabling/slashing.rs index 9e67dbdcd7dd7..886f039086918 100644 --- a/polkadot/zombienet-sdk-tests/tests/disabling/slashing.rs +++ b/polkadot/zombienet-sdk-tests/tests/disabling/slashing.rs @@ -50,10 +50,10 @@ async fn dispute_past_session_slashing() -> Result<(), anyhow::Error> { } } })) - .with_node(|node| node.with_name("honest-validator-0")) - .with_node(|node| node.with_name("honest-validator-1")) - .with_node(|node| node.with_name("honest-flaky-validator-0")) - .with_node(|node| { + .with_validator(|node| node.with_name("honest-validator-0")) + .with_validator(|node| node.with_name("honest-validator-1")) + .with_validator(|node| node.with_name("honest-flaky-validator-0")) + .with_validator(|node| { node.with_name("malicious-backer") .with_image( std::env::var("MALUS_IMAGE") diff --git a/polkadot/zombienet-sdk-tests/tests/elastic_scaling/basic_3cores.rs b/polkadot/zombienet-sdk-tests/tests/elastic_scaling/basic_3cores.rs index 6058971fdc1ff..9ceed94642f37 100644 --- a/polkadot/zombienet-sdk-tests/tests/elastic_scaling/basic_3cores.rs +++ b/polkadot/zombienet-sdk-tests/tests/elastic_scaling/basic_3cores.rs @@ -38,11 +38,13 @@ async fn basic_3cores_test() -> Result<(), anyhow::Error> { } } })) - // Have to set a `with_node` outside of the loop below, so that `r` has the right - // type. - .with_node(|node| node.with_name("validator-0")); + // Have to set a `with_validator` outside of the loop below, so that `r` has the + // right type. + .with_validator(|node| node.with_name("validator-0")); - (1..4).fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) + (1..4).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }) }) .with_parachain(|p| { p.with_id(2000) diff --git a/polkadot/zombienet-sdk-tests/tests/elastic_scaling/doesnt_break_parachains.rs b/polkadot/zombienet-sdk-tests/tests/elastic_scaling/doesnt_break_parachains.rs index 3180822ab36b9..88e47391beb89 100644 --- a/polkadot/zombienet-sdk-tests/tests/elastic_scaling/doesnt_break_parachains.rs +++ b/polkadot/zombienet-sdk-tests/tests/elastic_scaling/doesnt_break_parachains.rs @@ -40,15 +40,16 @@ async fn doesnt_break_parachains_test() -> Result<(), anyhow::Error> { } } })) - // Have to set a `with_node` outside of the loop below, so that `r` has the right - // type. - .with_node(|node| node.with_name("validator-0")); + // Have to set a `with_validator` outside of the loop below, so that `r` has the + // right type. + .with_validator(|node| node.with_name("validator-0")); - (1..4).fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) + (1..4).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }) }) .with_parachain(|p| { - // Use rococo-parachain default, which has 6 second slot time. Also, don't use - // slot-based collator. + // Use default, which has 6 second slot time. Also, don't use slot-based collator. p.with_id(2000) .with_default_command("polkadot-parachain") .with_default_image(images.cumulus.as_str()) diff --git a/polkadot/zombienet-sdk-tests/tests/elastic_scaling/slot_based_12cores.rs b/polkadot/zombienet-sdk-tests/tests/elastic_scaling/slot_based_12cores.rs index d737ff2ac5f35..87d4836e2a422 100644 --- a/polkadot/zombienet-sdk-tests/tests/elastic_scaling/slot_based_12cores.rs +++ b/polkadot/zombienet-sdk-tests/tests/elastic_scaling/slot_based_12cores.rs @@ -46,12 +46,13 @@ async fn slot_based_12cores_test() -> Result<(), anyhow::Error> { } } })) - // Have to set a `with_node` outside of the loop below, so that `r` has the right - // type. - .with_node(|node| node.with_name("validator-0")); + // Have to set a `with_validator` outside of the loop below, so that `r` has the + // right type. + .with_validator(|node| node.with_name("validator-0")); - (1..12) - .fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) + (1..12).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }) }) .with_parachain(|p| { p.with_id(2300) diff --git a/polkadot/zombienet-sdk-tests/tests/elastic_scaling/slot_based_3cores.rs b/polkadot/zombienet-sdk-tests/tests/elastic_scaling/slot_based_3cores.rs index 7b764c04588ba..b9cada7f64362 100644 --- a/polkadot/zombienet-sdk-tests/tests/elastic_scaling/slot_based_3cores.rs +++ b/polkadot/zombienet-sdk-tests/tests/elastic_scaling/slot_based_3cores.rs @@ -43,12 +43,13 @@ async fn slot_based_3cores_test() -> Result<(), anyhow::Error> { .with_default_resources(|resources| { resources.with_request_cpu(4).with_request_memory("4G") }) - // Have to set a `with_node` outside of the loop below, so that `r` has the right - // type. - .with_node(|node| node.with_name("validator-0")); + // Have to set a `with_validator` outside of the loop below, so that `r` has the + // right type. + .with_validator(|node| node.with_name("validator-0")); - (1..12) - .fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) + (1..12).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }) }) .with_parachain(|p| { // Para 2100 uses the old elastic scaling mvp, which doesn't send the new UMP signal @@ -102,11 +103,11 @@ async fn slot_based_3cores_test() -> Result<(), anyhow::Error> { // Note that only blocks after the first session change and blocks that don't contain a session // change will be counted. // Since the calculated backed candidate count is theoretical and the CI tests are observed to - // occasionally fail, let's apply 10% tolerance to the expected range: 39 - 10% = 35 + // occasionally fail, let's apply 12.5% tolerance to the expected range: 39 - 12.5% =~ 34 assert_para_throughput( &relay_client, 15, - [(ParaId::from(2100), 35..46), (ParaId::from(2200), 35..46)], + [(ParaId::from(2100), 34..46), (ParaId::from(2200), 34..46)], ) .await?; diff --git a/polkadot/zombienet-sdk-tests/tests/functional/approval_voting_coalescing.rs b/polkadot/zombienet-sdk-tests/tests/functional/approval_voting_coalescing.rs index e93312cd57620..399ed5a19b107 100644 --- a/polkadot/zombienet-sdk-tests/tests/functional/approval_voting_coalescing.rs +++ b/polkadot/zombienet-sdk-tests/tests/functional/approval_voting_coalescing.rs @@ -39,9 +39,10 @@ async fn approval_voting_coalescing_test() -> Result<(), anyhow::Error> { } } })) - .with_node(|node| node.with_name("validator-0")); + .with_validator(|node| node.with_name("validator-0")); - (1..12).fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) + (1..12) + .fold(r, |acc, i| acc.with_validator(|node| node.with_name(&format!("validator-{i}")))) }); for para_id in 2000..2008 { diff --git a/polkadot/zombienet-sdk-tests/tests/functional/approved_peer_mixed_validators.rs b/polkadot/zombienet-sdk-tests/tests/functional/approved_peer_mixed_validators.rs index 5895fd2951456..ed63d7a1bd748 100644 --- a/polkadot/zombienet-sdk-tests/tests/functional/approved_peer_mixed_validators.rs +++ b/polkadot/zombienet-sdk-tests/tests/functional/approved_peer_mixed_validators.rs @@ -44,13 +44,14 @@ async fn approved_peer_mixed_validators_test() -> Result<(), anyhow::Error> { } } })) - .with_node(|node| node.with_name("validator-0")); + .with_validator(|node| node.with_name("validator-0")); - let r = (1..7) - .fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))); + let r = (1..7).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }); (7..10).fold(r, |acc, i| { - acc.with_node(|node| { + acc.with_validator(|node| { node.with_name(&format!("old-validator-{i}")) .with_image( std::env::var("OLD_POLKADOT_IMAGE") diff --git a/polkadot/zombienet-sdk-tests/tests/functional/async_backing_6_seconds_rate.rs b/polkadot/zombienet-sdk-tests/tests/functional/async_backing_6_seconds_rate.rs index 08f1d59bbddbe..8da31bba4d131 100644 --- a/polkadot/zombienet-sdk-tests/tests/functional/async_backing_6_seconds_rate.rs +++ b/polkadot/zombienet-sdk-tests/tests/functional/async_backing_6_seconds_rate.rs @@ -37,10 +37,11 @@ async fn async_backing_6_seconds_rate_test() -> Result<(), anyhow::Error> { } } })) - .with_node(|node| node.with_name("validator-0")); + .with_validator(|node| node.with_name("validator-0")); - (1..12) - .fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) + (1..12).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }) }) .with_parachain(|p| { p.with_id(2000) diff --git a/polkadot/zombienet-sdk-tests/tests/functional/collators_reputation_persistence.rs b/polkadot/zombienet-sdk-tests/tests/functional/collators_reputation_persistence.rs new file mode 100644 index 0000000000000..6c15fd385389e --- /dev/null +++ b/polkadot/zombienet-sdk-tests/tests/functional/collators_reputation_persistence.rs @@ -0,0 +1,535 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +//! Comprehensive Collator Reputation Persistence Test +//! +//! This test verifies multiple aspects of the collator reputation persistence system: +//! 1. Basic persistence on graceful shutdown +//! 2. Startup lookback with different gap sizes +//! 3. Pruning when parachains are deregistered +//! +//! ## Test Phases +//! +//! ### Phase 1: Large Gap Lookback (>= 20 blocks) +//! - Spawn network with 2 parachains +//! - Wait for initial persistence +//! - Pause validator-0 to create a 30+ block gap +//! - Restart and verify lookback processes MAX_STARTUP_ANCESTRY_LOOKBACK blocks +//! +//! ### Phase 2: Small Gap Lookback (< 20 blocks) +//! - Pause validator-0 again +//! - Create a ~10 block gap +//! - Restart and verify lookback processes the entire gap +//! +//! ### Phase 3: Pruning on Parachain Deregistration +//! - Deregister parachain 2001 using sudo +//! - Wait for session change (triggers pruning) +//! - Verify pruning logs show para 2001 removed +//! - Restart validator-0 +//! - Verify only para 2000's reputation was loaded +//! +//! ## Success Criteria +//! - All persistence and restart operations succeed +//! - Lookback correctly handles both large and small gaps +//! - Pruning removes deregistered parachain data +//! - System continues normal operation after each phase + +use anyhow::anyhow; +use regex::Regex; +use tokio::time::Duration; + +use cumulus_zombienet_sdk_helpers::{assert_para_throughput, wait_for_first_session_change}; +use polkadot_primitives::Id as ParaId; +use serde_json::json; +use zombienet_orchestrator::network::node::LogLineCountOptions; +use zombienet_sdk::{ + subxt::{ext::scale_value::value, OnlineClient, PolkadotConfig}, + subxt_signer::sr25519::dev, + NetworkConfigBuilder, +}; + +const PARA_ID_1: u32 = 2000; +const PARA_ID_2: u32 = 2001; + +#[tokio::test(flavor = "multi_thread")] +async fn comprehensive_reputation_persistence_test() -> Result<(), anyhow::Error> { + let _ = env_logger::try_init_from_env( + env_logger::Env::default().filter_or(env_logger::DEFAULT_FILTER_ENV, "info"), + ); + + // === Network Setup === + let images = zombienet_sdk::environment::get_images_from_env(); + + let config = NetworkConfigBuilder::new() + .with_relaychain(|r| { + let r = r + .with_chain("rococo-local") + .with_default_command("polkadot") + .with_default_image(images.polkadot.as_str()) + .with_default_args(vec![ + ("-lparachain=debug,parachain::collator-protocol=trace").into(), + ("--experimental-collator-protocol").into(), + ("--collator-reputation-persist-interval").into(), + ("30").into(), + ]) + .with_genesis_overrides(json!({ + "configuration": { + "config": { + "scheduler_params": { + "group_rotation_frequency": 4, + "num_cores": 2 + } + } + } + })) + .with_validator(|node| node.with_name("validator-0")); + + (1..4).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }) + }) + .with_parachain(|p| { + p.with_id(PARA_ID_1) + .with_default_command("undying-collator") + .cumulus_based(false) + .with_default_image( + std::env::var("COL_IMAGE") + .unwrap_or("docker.io/paritypr/colander:latest".to_string()) + .as_str(), + ) + .with_default_args(vec![ + ("-lparachain=debug").into(), + ("--experimental-send-approved-peer").into(), + ]) + .with_collator(|n| n.with_name("collator-1")) + }) + .with_parachain(|p| { + p.with_id(PARA_ID_2) + .with_default_command("undying-collator") + .cumulus_based(false) + .with_default_image( + std::env::var("COL_IMAGE") + .unwrap_or("docker.io/paritypr/colander:latest".to_string()) + .as_str(), + ) + .with_default_args(vec![ + ("-lparachain=debug").into(), + ("--experimental-send-approved-peer").into(), + ]) + .with_collator(|n| n.with_name("collator-2")) + }) + .build() + .map_err(|e| { + let errs = e.into_iter().map(|e| e.to_string()).collect::>().join(" "); + anyhow!("config errs: {errs}") + })?; + + let spawn_fn = zombienet_sdk::environment::get_spawn_fn(); + let network = spawn_fn(config).await?; + + let validator_0 = network.get_node("validator-0")?; + let validator0_client: OnlineClient = validator_0.wait_client().await?; + + // Verify fresh start (no existing data) + verify_db_initialized(validator_0, 1, 0).await?; + + log::info!("Network spawned, waiting for both parachains to produce blocks"); + assert_para_throughput( + &validator0_client, + 10, + [(ParaId::from(PARA_ID_1), 8..11), (ParaId::from(PARA_ID_2), 8..11)], + ) + .await?; + + // Wait for initial persistence + log::info!("Parachains producing blocks, waiting for initial periodic persistence"); + wait_for_persistence(validator_0, 1).await?; + + log::info!("Pausing validator-0 to create a block gap"); + validator_0.pause().await?; + + let block_at_persistence = extract_last_finalized_from_logs(validator_0).await?; + log::info!("Initial persistence completed at finalized block {}", block_at_persistence); + + log::info!("=== Phase 1: Testing Startup Lookback with Large Gap (>= 20 blocks) ==="); + + let validator_1 = network.get_node("validator-1")?; + let validator_1_client: OnlineClient = validator_1.wait_client().await?; + let mut finalized_blocks_1 = validator_1_client.blocks().subscribe_finalized().await?; + + let target_gap = 30u32; + let block_at_restart = + wait_for_block_gap(&mut finalized_blocks_1, block_at_persistence, target_gap, "large gap") + .await?; + + log::info!("Restarting validator-0 (first restart - large gap)"); + validator_0.restart(None).await?; + let _: OnlineClient = validator_0.wait_client().await?; + + // Verify loaded with both paras' reputation + verify_db_initialized(validator_0, 2, 2).await?; + + let blocks_processed = verify_lookback_completed(validator_0, 1).await?; + assert_eq!( + blocks_processed, 20, + "Expected blocks_processed ({blocks_processed}) == MAX_STARTUP_ANCESTRY_LOOKBACK (20)", + ); + log::info!( + "Phase 1 passed: Lookback processed {blocks_processed} blocks (capped at MAX), actual gap was {}", + block_at_restart.saturating_sub(block_at_persistence) + ); + + let relay_client: OnlineClient = validator_0.wait_client().await?; + wait_for_peer_reconnection(&relay_client).await?; + + // Verify validator resumes normal operation + assert_para_throughput( + &relay_client, + 5, + [(ParaId::from(PARA_ID_1), 3..7), (ParaId::from(PARA_ID_2), 3..7)], + ) + .await?; + + log::info!("=== Phase 2: Testing Startup Lookback with Small Gap (< 20 blocks) ==="); + + // Wait for another persistence to get a precise starting point + wait_for_persistence(validator_0, 2).await?; + + validator_0.pause().await?; + log::info!("Pausing validator-0 again to create a smaller gap"); + + let block_before_second_pause = extract_last_finalized_from_logs(validator_0).await?; + log::info!("Second persistence completed at finalized block {}", block_before_second_pause); + + // Fresh subscription to avoid stale buffered blocks from Phase 1 + let mut finalized_blocks_2 = validator_1_client.blocks().subscribe_finalized().await?; + + let small_gap_target = 10u32; + let block_at_second_restart = wait_for_block_gap( + &mut finalized_blocks_2, + block_before_second_pause, + small_gap_target, + "small gap", + ) + .await?; + + log::info!("Restarting validator-0 (second restart - small gap)"); + validator_0.restart(None).await?; + let validator0_client: OnlineClient = validator_0.wait_client().await?; + wait_for_peer_reconnection(&validator0_client).await?; + + // Verify loaded with both paras' reputation + verify_db_initialized(validator_0, 3, 2).await?; + let processed_second = verify_lookback_completed(validator_0, 2).await?; + let expected_gap = block_at_second_restart.saturating_sub(block_before_second_pause); + + assert!(expected_gap < 20, "Expected second gap to be < 20, but got {expected_gap}"); + + // The key invariant: lookback should NOT be capped at MAX (20), + // and should process approximately the gap. Cross-node timing + // differences mean the exact value can drift, so use wide bounds. + assert!( + processed_second < 20, + "Small gap should process fewer than MAX_STARTUP_ANCESTRY_LOOKBACK blocks, got {processed_second}", + ); + assert!( + processed_second >= expected_gap.saturating_sub(6), + "Expected lookback to process approximately {expected_gap} blocks, got {processed_second}", + ); + + log::info!( + "Phase 2 passed: Lookback processed {} blocks (entire gap of {})", + processed_second, + expected_gap + ); + + log::info!("=== Phase 3: Testing Pruning on Parachain Deregistration ==="); + + // Wait for another persistence to ensure both paras are on disk + wait_for_persistence(validator_0, 4).await?; + + // Verify both paras have reputation before pruning + let para_count_before = extract_para_count_from_persistence_logs(validator_0).await?; + log::info!("Before pruning: para_count={}", para_count_before); + assert_eq!( + para_count_before, 2, + "Expected 2 paras with reputation before pruning, but found {para_count_before}", + ); + + // Deregister parachain 2001 + log::info!( + "Deregistering parachain {} using ParasSudoWrapper::sudo_schedule_para_cleanup", + PARA_ID_2 + ); + let alice = dev::alice(); + let cleanup_calls = vec![ + value! { + ParasSudoWrapper(sudo_schedule_para_cleanup { id: PARA_ID_2 }) + }, + value! { + Paras(force_queue_action { para: PARA_ID_2 }) + }, + ]; + let sudo_batch_call = zombienet_sdk::subxt::tx::dynamic( + "Sudo", + "sudo", + vec![value! { + Utility(batch_all { calls: cleanup_calls }) + }], + ); + + let tx_progress = validator0_client + .tx() + .sign_and_submit_then_watch_default(&sudo_batch_call, &alice) + .await?; + let _finalized = tx_progress.wait_for_finalized_success().await?; + log::info!("Para cleanup scheduled successfully"); + + // Stop the collator for para 2001 + log::info!("Stopping collator-2 for the deregistered parachain {}", PARA_ID_2); + let collator_2 = network.get_node("collator-2")?; + collator_2.pause().await?; + + // Wait for session change to trigger pruning + log::info!("Waiting for session change to trigger pruning"); + let mut best_blocks = validator0_client.blocks().subscribe_best().await?; + wait_for_first_session_change(&mut best_blocks).await?; + log::info!("Session change detected, para {} should now be offboarded", PARA_ID_2); + + // Verify pruning happened + verify_pruning(validator_0).await?; + log::info!("Pruning verified: pruned 1 para, 1 remaining"); + + // Restart validator-0 to verify only para 2000's reputation loads + log::info!("Restarting validator-0 to verify pruned state persisted"); + validator_0.restart(None).await?; + let validator0_client_after: OnlineClient = validator_0.wait_client().await?; + wait_for_peer_reconnection(&validator0_client_after).await?; + + // Verify loaded with only para 2000's reputation (para 2001 pruned) + verify_db_initialized(validator_0, 4, 1).await?; + + // Double-check via log parsing (redundant but shows consistency) + let para_count_after = extract_para_count_from_init_logs(validator_0).await?; + log::info!("After restart: para_count={}", para_count_after); + assert!( + para_count_after <= 1, + "Expected at most 1 para after pruning, but found {para_count_after}", + ); + + // Verify para 2000 continues normal operation + log::info!("Verifying para {} continues normal operation", PARA_ID_1); + assert_para_throughput(&validator0_client_after, 5, [(ParaId::from(PARA_ID_1), 3..7)]).await?; + + log::info!("Phase 3 passed: Pruning successfully removed deregistered parachain"); + Ok(()) +} + +// === Helper Functions === + +/// Wait for a few finalized blocks to allow peers to reconnect after a node restart. +async fn wait_for_peer_reconnection( + client: &OnlineClient, +) -> Result<(), anyhow::Error> { + log::info!("Waiting for peers to reconnect after restart"); + let mut blocks = client.blocks().subscribe_finalized().await?; + for _ in 0..3 { + let _ = blocks.next().await; + } + Ok(()) +} + +async fn verify_db_initialized( + validator: &zombienet_sdk::NetworkNode, + expected_count: u32, + expected_para_count: u32, +) -> Result<(), anyhow::Error> { + let result = validator + .wait_log_line_count_with_timeout( + "Reputation DB initialized", + false, + LogLineCountOptions::new(move |n| n >= expected_count, Duration::from_secs(60), false), + ) + .await?; + assert!( + result.success(), + "Expected validator to log 'Reputation DB initialized' (count >= {expected_count})", + ); + + // Parse and verify para_count + let logs = validator.logs().await?; + let init_re = Regex::new(r"Reputation DB initialized.*para_count=(\d+)")?; + + let mut para_count: Option = None; + for line in logs.lines().rev() { + if let Some(caps) = init_re.captures(line) { + para_count = caps.get(1).and_then(|m| m.as_str().parse().ok()); + if para_count.is_some() { + break; + } + } + } + + let actual = para_count.ok_or(anyhow!("Could not parse para_count from init log"))?; + assert_eq!( + actual, expected_para_count, + "Expected para_count={expected_para_count}, but got {actual}", + ); + log::info!("DB initialization verified: para_count={}", actual); + + Ok(()) +} + +async fn wait_for_persistence( + validator: &zombienet_sdk::NetworkNode, + expected_count: u32, +) -> Result<(), anyhow::Error> { + let result = validator + .wait_log_line_count_with_timeout( + "Periodic persistence completed:", + false, + LogLineCountOptions::new(move |n| n >= expected_count, Duration::from_secs(60), false), + ) + .await?; + assert!( + result.success(), + "Periodic persistence should have completed (count >= {expected_count})", + ); + Ok(()) +} + +async fn verify_lookback_completed( + validator: &zombienet_sdk::NetworkNode, + expected_count: u32, +) -> Result { + let result = validator + .wait_log_line_count_with_timeout( + "Startup lookback completed", + false, + LogLineCountOptions::new(move |n| n >= expected_count, Duration::from_secs(30), false), + ) + .await?; + assert!( + result.success(), + "Expected 'Startup lookback completed' log (count >= {expected_count})", + ); + + let logs = validator.logs().await?; + let lookback_re = Regex::new(r"Startup lookback completed.*blocks_processed=(\d+)")?; + + // Find the last occurrence (most recent) + let mut blocks_processed: Option = None; + for line in logs.lines().rev() { + if let Some(caps) = lookback_re.captures(line) { + blocks_processed = caps.get(1).and_then(|m| m.as_str().parse().ok()); + if blocks_processed.is_some() { + break; + } + } + } + + blocks_processed.ok_or(anyhow!("Could not parse blocks_processed from lookback log")) +} + +async fn extract_last_finalized_from_logs( + validator: &zombienet_sdk::NetworkNode, +) -> Result { + let logs = validator.logs().await?; + let persistence_re = + Regex::new(r"Periodic persistence completed:.*last_finalized=Some\((\d+)\)")?; + + // Find the last occurrence + let mut last_finalized: Option = None; + for line in logs.lines().rev() { + if let Some(caps) = persistence_re.captures(line) { + last_finalized = caps.get(1).and_then(|m| m.as_str().parse().ok()); + if last_finalized.is_some() { + break; + } + } + } + + last_finalized.ok_or(anyhow!("Could not parse last_finalized from persistence log")) +} + +async fn extract_para_count_from_persistence_logs( + validator: &zombienet_sdk::NetworkNode, +) -> Result { + let logs = validator.logs().await?; + let para_count_re = Regex::new(r"Periodic persistence completed:.* para_count=(\d+)")?; + + let mut para_count: Option = None; + for line in logs.lines().rev() { + if let Some(caps) = para_count_re.captures(line) { + para_count = caps.get(1).and_then(|m| m.as_str().parse().ok()); + if para_count.is_some() { + break; + } + } + } + + para_count.ok_or(anyhow!("Could not parse para_count from persistence log")) +} + +async fn extract_para_count_from_init_logs( + validator: &zombienet_sdk::NetworkNode, +) -> Result { + let logs = validator.logs().await?; + let init_re = Regex::new(r"Reputation DB initialized.*para_count=(\d+)")?; + + let mut para_count: Option = None; + for line in logs.lines().rev() { + if let Some(caps) = init_re.captures(line) { + para_count = caps.get(1).and_then(|m| m.as_str().parse().ok()); + if para_count.is_some() { + break; + } + } + } + + para_count.ok_or(anyhow!("Could not parse para_count from init log")) +} + +async fn wait_for_block_gap( + finalized_blocks: &mut zombienet_sdk::subxt::backend::StreamOfResults< + zombienet_sdk::subxt::blocks::Block>, + >, + start_block: u32, + target_gap: u32, + gap_name: &str, +) -> Result { + log::info!("Waiting for {} blocks while validator-0 is paused", target_gap); + let mut current_block = start_block; + while current_block < start_block + target_gap { + if let Some(Ok(block)) = finalized_blocks.next().await { + current_block = block.number(); + log::info!( + "Finalized block {} (gap: {})", + current_block, + current_block.saturating_sub(start_block) + ); + } + } + log::info!( + "{} created: finalized block now at {}, gap of {} blocks", + gap_name, + current_block, + current_block.saturating_sub(start_block) + ); + Ok(current_block) +} + +async fn verify_pruning(validator: &zombienet_sdk::NetworkNode) -> Result<(), anyhow::Error> { + let result = validator + .wait_log_line_count_with_timeout( + "Prune paras persisted to disk immediately pruned_para_count=1 remaining_para_count=1 registered_para_count=1", + false, + LogLineCountOptions::new(|n| n >= 1, Duration::from_secs(90), false), + ) + .await?; + assert!( + result.success(), + "Expected validator to log pruning with pruned=1, remaining=1, registered=1" + ); + Ok(()) +} diff --git a/polkadot/zombienet-sdk-tests/tests/functional/dispute_old_finalized.rs b/polkadot/zombienet-sdk-tests/tests/functional/dispute_old_finalized.rs index 73746e92c1f62..255619d419d4f 100644 --- a/polkadot/zombienet-sdk-tests/tests/functional/dispute_old_finalized.rs +++ b/polkadot/zombienet-sdk-tests/tests/functional/dispute_old_finalized.rs @@ -56,7 +56,7 @@ async fn dispute_old_finalized() -> Result<(), anyhow::Error> { .with_request_cpu("1") }); // Add malus validator - let r = r.with_node(|node| { + let r = r.with_validator(|node| { node.with_name("malus") .with_args(vec![ "-lparachain=debug,MALUS=trace".into(), @@ -75,7 +75,7 @@ async fn dispute_old_finalized() -> Result<(), anyhow::Error> { }); // Add honest validators let r = (0..6).fold(r, |acc, i| { - acc.with_node(|node| { + acc.with_validator(|node| { node.with_name(&format!("honest-{i}")) .with_args(vec!["-lparachain=debug".into()]) }) diff --git a/polkadot/zombienet-sdk-tests/tests/functional/duplicate_collations.rs b/polkadot/zombienet-sdk-tests/tests/functional/duplicate_collations.rs index a7b712b101dc4..ea53406633f9f 100644 --- a/polkadot/zombienet-sdk-tests/tests/functional/duplicate_collations.rs +++ b/polkadot/zombienet-sdk-tests/tests/functional/duplicate_collations.rs @@ -45,12 +45,13 @@ async fn duplicate_collations_test() -> Result<(), anyhow::Error> { } } })) - // Have to set a `with_node` outside of the loop below, so that `r` has the right - // type. - .with_node(|node| node.with_name("validator-0")); + // Have to set a `with_validator` outside of the loop below, so that `r` has the + // right type. + .with_validator(|node| node.with_name("validator-0")); - (1..VALIDATOR_COUNT) - .fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) + (1..VALIDATOR_COUNT).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }) }) .with_parachain(|p| { p.with_id(2000) diff --git a/polkadot/zombienet-sdk-tests/tests/functional/mod.rs b/polkadot/zombienet-sdk-tests/tests/functional/mod.rs index e28cfb4039303..50dba5d39a436 100644 --- a/polkadot/zombienet-sdk-tests/tests/functional/mod.rs +++ b/polkadot/zombienet-sdk-tests/tests/functional/mod.rs @@ -4,6 +4,7 @@ mod approval_voting_coalescing; mod approved_peer_mixed_validators; mod async_backing_6_seconds_rate; +mod collators_reputation_persistence; mod dispute_old_finalized; mod duplicate_collations; mod shared_core_idle_parachain; diff --git a/polkadot/zombienet-sdk-tests/tests/functional/shared_core_idle_parachain.rs b/polkadot/zombienet-sdk-tests/tests/functional/shared_core_idle_parachain.rs index 7a67b6cf08671..11a40384f18a7 100644 --- a/polkadot/zombienet-sdk-tests/tests/functional/shared_core_idle_parachain.rs +++ b/polkadot/zombienet-sdk-tests/tests/functional/shared_core_idle_parachain.rs @@ -40,9 +40,11 @@ async fn shared_core_idle_parachain_test() -> Result<(), anyhow::Error> { } } })) - .with_node(|node| node.with_name("validator-0")); + .with_validator(|node| node.with_name("validator-0")); - (1..4).fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) + (1..4).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }) }) .with_parachain(|p| { p.with_id(2000) diff --git a/polkadot/zombienet-sdk-tests/tests/functional/spam_statement_distribution_requests.rs b/polkadot/zombienet-sdk-tests/tests/functional/spam_statement_distribution_requests.rs index 46e8d371fa778..8efe3990d8462 100644 --- a/polkadot/zombienet-sdk-tests/tests/functional/spam_statement_distribution_requests.rs +++ b/polkadot/zombienet-sdk-tests/tests/functional/spam_statement_distribution_requests.rs @@ -49,11 +49,11 @@ async fn spam_statement_distribution_requests_test() -> Result<(), anyhow::Error } } })) - .with_node(|node| node.with_name("honest-0")) - .with_node(|node| node.with_name("honest-1")) - .with_node(|node| node.with_name("honest-2")) - .with_node(|node| node.with_name("honest-3")) - .with_node(|node| { + .with_validator(|node| node.with_name("honest-0")) + .with_validator(|node| node.with_name("honest-1")) + .with_validator(|node| node.with_name("honest-2")) + .with_validator(|node| node.with_name("honest-3")) + .with_validator(|node| { node.with_name("malus") .with_image( std::env::var("MALUS_IMAGE") diff --git a/polkadot/zombienet-sdk-tests/tests/functional/sync_backing.rs b/polkadot/zombienet-sdk-tests/tests/functional/sync_backing.rs index eef4f65e23f66..95d07e17ca06a 100644 --- a/polkadot/zombienet-sdk-tests/tests/functional/sync_backing.rs +++ b/polkadot/zombienet-sdk-tests/tests/functional/sync_backing.rs @@ -37,9 +37,11 @@ async fn sync_backing_test() -> Result<(), anyhow::Error> { } } })) - .with_node(|node| node.with_name("validator-0")); + .with_validator(|node| node.with_name("validator-0")); - (1..5).fold(r, |acc, i| acc.with_node(|node| node.with_name(&format!("validator-{i}")))) + (1..5).fold(r, |acc, i| { + acc.with_validator(|node| node.with_name(&format!("validator-{i}"))) + }) }) .with_parachain(|p| { p.with_id(2500) diff --git a/polkadot/zombienet-sdk-tests/tests/functional/validator_disabling.rs b/polkadot/zombienet-sdk-tests/tests/functional/validator_disabling.rs index 2bdac3bca75fa..7fd443c1f68a0 100644 --- a/polkadot/zombienet-sdk-tests/tests/functional/validator_disabling.rs +++ b/polkadot/zombienet-sdk-tests/tests/functional/validator_disabling.rs @@ -39,7 +39,7 @@ async fn validator_disabling_test() -> Result<(), anyhow::Error> { } })) // Adding malicious validator. - .with_node(|node| { + .with_validator(|node| { node.with_name("malus-validator") .with_image( std::env::var("MALUS_IMAGE") @@ -58,7 +58,7 @@ async fn validator_disabling_test() -> Result<(), anyhow::Error> { }); // Also honest validators. let r = (0..3).fold(r, |acc, i| { - acc.with_node(|node| { + acc.with_validator(|node| { node.with_name(&format!("honest-validator-{i}")) .with_args(vec![("-lparachain=debug,runtime::staking=debug".into())]) .invulnerable(false) @@ -74,6 +74,7 @@ async fn validator_disabling_test() -> Result<(), anyhow::Error> { .with_default_args(vec!["-lparachain=debug".into()]) .with_collator(|n| n.with_name("alice")) }) + .with_global_settings(|global_settings| global_settings.with_tear_down_on_failure(false)) .build() .map_err(|e| { let errors = e.into_iter().map(|e| e.to_string()).collect::>().join(" "); diff --git a/polkadot/zombienet-sdk-tests/tests/parachains/weights.rs b/polkadot/zombienet-sdk-tests/tests/parachains/weights.rs index 78b739dcce6e9..34cbfc7a18fc7 100644 --- a/polkadot/zombienet-sdk-tests/tests/parachains/weights.rs +++ b/polkadot/zombienet-sdk-tests/tests/parachains/weights.rs @@ -162,8 +162,8 @@ async fn setup_network() -> Result, anyhow::Error> { .with_default_image(images.polkadot.as_str()) .with_default_args(vec![("-lparachain=debug").into()]) .with_default_db_snapshot("https://storage.googleapis.com/zombienet-db-snaps/polkadot/test_weights/relaychain.tgz") - .with_node(|node| node.with_name("validator-0")) - .with_node(|node| node.with_name("validator-1")) + .with_validator(|node| node.with_name("validator-0")) + .with_validator(|node| node.with_name("validator-1")) }) .with_parachain(|p| { p.with_id(2000) diff --git a/polkadot/zombienet-sdk-tests/tests/smoke/coretime_revenue.rs b/polkadot/zombienet-sdk-tests/tests/smoke/coretime_revenue.rs index 501b1b20a51eb..d3c39b090c81e 100644 --- a/polkadot/zombienet-sdk-tests/tests/smoke/coretime_revenue.rs +++ b/polkadot/zombienet-sdk-tests/tests/smoke/coretime_revenue.rs @@ -11,13 +11,15 @@ use anyhow::anyhow; -#[zombienet_sdk::subxt::subxt(runtime_metadata_path = "metadata-files/coretime-rococo-local.scale")] -mod coretime_rococo {} +#[zombienet_sdk::subxt::subxt( + runtime_metadata_path = "metadata-files/coretime-westend-local.scale" +)] +mod coretime_westend {} -#[zombienet_sdk::subxt::subxt(runtime_metadata_path = "metadata-files/rococo-local.scale")] -mod rococo {} +#[zombienet_sdk::subxt::subxt(runtime_metadata_path = "metadata-files/westend-local.scale")] +mod westend {} -use rococo::runtime_types::{ +use westend::runtime_types::{ polkadot_parachain_primitives::primitives, staging_xcm::v4::{ asset::{Asset, AssetId, Assets, Fungibility}, @@ -37,7 +39,7 @@ use zombienet_sdk::{ NetworkConfigBuilder, }; -use coretime_rococo::{ +use coretime_westend::{ self as coretime_api, broker::events as broker_events, runtime_types::{ @@ -45,9 +47,9 @@ use coretime_rococo::{ sp_arithmetic::per_things::Perbill, }, }; -use rococo::on_demand_assignment_provider::events as on_demand_events; +use westend::on_demand_assignment_provider::events as on_demand_events; -type CoretimeRuntimeCall = coretime_api::runtime_types::coretime_rococo_runtime::RuntimeCall; +type CoretimeRuntimeCall = coretime_api::runtime_types::coretime_westend_runtime::RuntimeCall; type CoretimeUtilityCall = coretime_api::runtime_types::pallet_utility::pallet::Call; type CoretimeBrokerCall = coretime_api::runtime_types::pallet_broker::pallet::Call; @@ -64,7 +66,7 @@ async fn get_total_issuance( .at_latest() .await .unwrap() - .fetch(&rococo::storage().balances().total_issuance()) + .fetch(&westend::storage().balances().total_issuance()) .await .unwrap() .unwrap(), @@ -206,7 +208,7 @@ async fn ti_watcher( let ti = api .storage() .at(block.reference()) - .fetch(&rococo::storage().balances().total_issuance()) + .fetch(&westend::storage().balances().total_issuance()) .await .unwrap() .unwrap() as i128; @@ -228,21 +230,21 @@ async fn coretime_revenue_test() -> Result<(), anyhow::Error> { let images = zombienet_sdk::environment::get_images_from_env(); let config = NetworkConfigBuilder::new() .with_relaychain(|r| { - r.with_chain("rococo-local") + r.with_chain("westend-local") .with_default_command("polkadot") .with_default_image(images.polkadot.as_str()) .with_genesis_overrides( json!({ "configuration": { "config": { "scheduler_params": { "on_demand_base_fee": ON_DEMAND_BASE_FEE }}}}), ) - .with_node(|node| node.with_name("alice")) - .with_node(|node| node.with_name("bob")) - .with_node(|node| node.with_name("charlie")) + .with_validator(|node| node.with_name("alice")) + .with_validator(|node| node.with_name("bob")) + .with_validator(|node| node.with_name("charlie")) }) .with_parachain(|p| { p.with_id(1005) .with_default_command("polkadot-parachain") .with_default_image(images.cumulus.as_str()) - .with_chain("coretime-rococo-local") + .with_chain("coretime-westend-local") .with_collator(|n| n.with_name("coretime")) }) .build() @@ -302,7 +304,7 @@ async fn coretime_revenue_test() -> Result<(), anyhow::Error> { relay_client .tx() .sign_and_submit_default( - &rococo::tx().xcm_pallet().teleport_assets( + &westend::tx().xcm_pallet().teleport_assets( VersionedLocation::V4(Location { parents: 0, interior: Junctions::X1([Junction::Parachain(1005)]), @@ -458,7 +460,7 @@ async fn coretime_revenue_test() -> Result<(), anyhow::Error> { let r = relay_client .tx() .sign_and_submit_then_watch_default( - &rococo::tx() + &westend::tx() .on_demand_assignment_provider() .place_order_allow_death(100_000_000, primitives::Id(100)), &bob, @@ -468,7 +470,7 @@ async fn coretime_revenue_test() -> Result<(), anyhow::Error> { .await?; let order = r - .find_first::()? + .find_first::()? .unwrap(); // As there's no spot traffic, Bob will only pay base fee @@ -536,7 +538,7 @@ async fn coretime_revenue_test() -> Result<(), anyhow::Error> { let r = relay_client .tx() .sign_and_submit_then_watch_default( - &rococo::tx() + &westend::tx() .on_demand_assignment_provider() .place_order_with_credits(100_000_000, primitives::Id(100)), &alice, @@ -546,7 +548,7 @@ async fn coretime_revenue_test() -> Result<(), anyhow::Error> { .await?; let order = r - .find_first::()? + .find_first::()? .unwrap(); assert_eq!(order.spot_price, ON_DEMAND_BASE_FEE); diff --git a/polkadot/zombienet_tests/smoke/0004-coretime-smoke-test.toml b/polkadot/zombienet_tests/smoke/0004-coretime-smoke-test.toml index 0bdb58fa1ef45..84efe350e65c7 100644 --- a/polkadot/zombienet_tests/smoke/0004-coretime-smoke-test.toml +++ b/polkadot/zombienet_tests/smoke/0004-coretime-smoke-test.toml @@ -3,7 +3,7 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" -chain = "rococo-local" +chain = "westend-local" command = "polkadot" [[relaychain.nodes]] @@ -20,7 +20,7 @@ command = "polkadot" [[parachains]] id = 1005 -chain = "coretime-rococo-local" +chain = "coretime-westend-local" [parachains.collator] name = "coretime-collator" diff --git a/prdoc/pr_10196.prdoc b/prdoc/pr_10196.prdoc new file mode 100644 index 0000000000000..e1754c83085fb --- /dev/null +++ b/prdoc/pr_10196.prdoc @@ -0,0 +1,14 @@ +title: Improve Warp Sync Logging +doc: +- audience: Node Operator + description: |- + This update makes warp sync logs more useful. it shows a clear count of synced eras and removes + unnecessary block details during the proof phase, giving a better view of progress. + +crates: +- name: sc-consensus-grandpa + bump: minor +- name: sc-informant + bump: minor +- name: sc-network-sync + bump: major diff --git a/prdoc/pr_10201.prdoc b/prdoc/pr_10201.prdoc new file mode 100644 index 0000000000000..36a0a091236be --- /dev/null +++ b/prdoc/pr_10201.prdoc @@ -0,0 +1,9 @@ +title: 'telemtry: Downgrade spam log to debug' +doc: +- audience: Node Dev + description: |- + This PR downgrade the telemetry warning log to debug. + - The log is causing a lot of noise in our test nets: https://grafana.teleport.parity.io/goto/fjTQ_vzDg?orgId=1 +crates: +- name: sc-telemetry + bump: patch diff --git a/prdoc/pr_10223.prdoc b/prdoc/pr_10223.prdoc new file mode 100644 index 0000000000000..87a41abccb88b --- /dev/null +++ b/prdoc/pr_10223.prdoc @@ -0,0 +1,14 @@ +title: Removed dependency to `sp-consensus-grandpa` from `sc-network-sync` +doc: +- audience: Node Dev + description: |- + Refactored warp sync to remove the dependency on GRANDPA consensus primitives from the network sync module. + Instead of directly verifying proofs with GRANDPA-specific parameters, warp sync now uses a more generic + verifier pattern. This makes the warp sync implementation independent of any specific consensus mechanism, + allowing it to work with different consensus algorithms in the future. + +crates: +- name: sc-consensus-grandpa + bump: major +- name: sc-network-sync + bump: major diff --git a/prdoc/pr_10324.prdoc b/prdoc/pr_10324.prdoc new file mode 100644 index 0000000000000..96217312f60c6 --- /dev/null +++ b/prdoc/pr_10324.prdoc @@ -0,0 +1,8 @@ +title: Cleanup HRMP channels that were force removed from RC state +doc: +- audience: Runtime Dev + description: |- + Cleanup old LastHrmpMqcHeads entries when the corresponding channel was remove from RC state +crates: +- name: cumulus-pallet-parachain-system + bump: patch diff --git a/prdoc/pr_10373.prdoc b/prdoc/pr_10373.prdoc new file mode 100644 index 0000000000000..1d6d16915cf65 --- /dev/null +++ b/prdoc/pr_10373.prdoc @@ -0,0 +1,34 @@ +title: Block import improvements +doc: +- audience: Node Operator + description: |- + This PR fixes block import during Warp sync, which was failing due to "Unknown parent" errors - a typical case during Warp sync. + + Changes + - Relaxed verification for Warp synced blocks: + The fix relaxes verification requirements for Warp synced blocks by not performing full verification, with the assumption that these blocks are part of the finalized chain and have already been verified using the provided warp sync proof. + - New `BlockOrigin` variants: + For improved clarity, two additional `BlockOrigin` items have been introduced: + - `WarpSync` + - `GapSync` + - Gap sync improvements: + Warp synced blocks are now skipped during the gap sync block import phase, which required improvements to gap handling when committing the block import operation in the database. + - Enhanced testing: + The Warp sync zombienet test has been modified to more thoroughly assert both warp and gap sync phases. + + This PR builds on changes by @sistemd in #9678 +crates: +- name: sc-consensus-babe + bump: patch +- name: sc-consensus + bump: patch +- name: sc-consensus-grandpa + bump: patch +- name: sc-network-sync + bump: patch +- name: sc-service + bump: patch +- name: sc-client-db + bump: patch +- name: sp-consensus + bump: major diff --git a/prdoc/pr_10384.prdoc b/prdoc/pr_10384.prdoc new file mode 100644 index 0000000000000..c9d56eeabd0d8 --- /dev/null +++ b/prdoc/pr_10384.prdoc @@ -0,0 +1,95 @@ +title: XCM executor keeps track and resolves all imbalances created by XCM operations +doc: + - audience: Runtime Dev + description: |- + Introduce "ImbalanceAccounting" traits for dynamic dispatch management of imbalances. + These are helper traits to be used for generic Imbalance, helpful for tracking multiple + concrete types of `Imbalance` using dynamic dispatch of these traits. + + `xcm-executor` now tracks imbalances in holding. + + Change the xcm executor implementation and inner types and adapters so that it keeps + track of imbalances across the stack. + + Previously, XCM operations on fungible assets would break the respective fungibles' total + issuance invariants by burning and minting them in different stages of XCM processing pipeline. + + This commit fixes that by keeping track of the "withdrawn" or "deposited" fungible assets + in holding and other XCM registers as imbalances. The imbalances are tied to the underlying + pallet managing the asset so that they keep the assets' total issuance correctness throughout + the execution of the XCM program. + + Imbalances in XCM registers are resolved by the underlying pallets managing them whenever they + move from XCM registers to other parts of the stack (e.g. deposited to accounts, burned, etc). + +crates: + - name: pallet-assets + bump: major + - name: pallet-balances + bump: major + - name: pallet-contracts-mock-network + bump: major + - name: pallet-derivatives + bump: major + - name: frame-support + bump: major + - name: cumulus-primitives-utility + bump: major + - name: polkadot-runtime-parachains + bump: major + - name: rococo-runtime + bump: major + - name: westend-runtime + bump: major + - name: pallet-xcm-benchmarks + bump: major + - name: pallet-xcm-precompiles + bump: major + - name: pallet-xcm + bump: major + - name: staging-xcm + bump: major + - name: staging-xcm-builder + bump: major + - name: staging-xcm-executor + bump: major + - name: xcm-runtime-apis + bump: major + - name: xcm-simulator-example + bump: major + - name: pallet-xcm-bridge-hub + bump: major + - name: snowbridge-pallet-inbound-queue + bump: major + - name: snowbridge-test-utils + bump: major + - name: emulated-integration-tests-common + bump: major + - name: asset-hub-rococo-runtime + bump: major + - name: asset-hub-westend-runtime + bump: major + - name: assets-common + bump: major + - name: bridge-hub-rococo-runtime + bump: major + - name: bridge-hub-westend-runtime + bump: major + - name: bridge-hub-test-utils + bump: major + - name: collectives-westend-runtime + bump: major + - name: coretime-westend-runtime + bump: major + - name: glutton-westend-runtime + bump: major + - name: people-westend-runtime + bump: major + - name: parachains-runtimes-test-utils + bump: major + - name: penpal-runtime + bump: major + - name: yet-another-parachain-runtime + bump: major + - name: polkadot-runtime-common + bump: major diff --git a/prdoc/pr_10437.prdoc b/prdoc/pr_10437.prdoc new file mode 100644 index 0000000000000..f4dc157b4cdee --- /dev/null +++ b/prdoc/pr_10437.prdoc @@ -0,0 +1,7 @@ +title: Remove pallet::getter usage from merkel mountain range pallet +doc: +- audience: Runtime Dev + description: 'Advances #3326' +crates: +- name: pallet-mmr + bump: minor diff --git a/prdoc/pr_10444.prdoc b/prdoc/pr_10444.prdoc new file mode 100644 index 0000000000000..e53f21aabc7ad --- /dev/null +++ b/prdoc/pr_10444.prdoc @@ -0,0 +1,36 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Improve `charge_transaction_payment benchmark` ergonomics + +doc: + - audience: Runtime Dev + description: | + Adds a `setup_benchmark_environment()` hook to allow runtimes to configure + required state before running the benchmark (e.g., setting block author for + fee distribution). Also fixes `amount_to_endow` calculation to use actual + computed fee and ensure it meets the existential deposit. + +crates: + - name: pallet-transaction-payment + bump: patch + - name: westend-runtime + bump: patch + - name: rococo-runtime + bump: patch + - name: asset-hub-rococo-runtime + bump: patch + - name: asset-hub-westend-runtime + bump: patch + - name: bridge-hub-rococo-runtime + bump: patch + - name: bridge-hub-westend-runtime + bump: patch + - name: collectives-westend-runtime + bump: patch + - name: kitchensink-runtime + bump: patch + - name: pallet-staking-async-parachain-runtime + bump: patch + - name: pallet-staking-async-rc-runtime + bump: patch diff --git a/prdoc/pr_10460.prdoc b/prdoc/pr_10460.prdoc new file mode 100644 index 0000000000000..9af38a8c45814 --- /dev/null +++ b/prdoc/pr_10460.prdoc @@ -0,0 +1,13 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Remove pallet::getter usage from sassafras pallet + +doc: + - audience: Runtime Dev + description: | + This PR removes all pallet::getter occurrences from pallet-sassafras. + +crates: + - name: pallet-sassafras + bump: minor diff --git a/prdoc/pr_10464.prdoc b/prdoc/pr_10464.prdoc new file mode 100644 index 0000000000000..5ac26c860baf2 --- /dev/null +++ b/prdoc/pr_10464.prdoc @@ -0,0 +1,22 @@ +title: 'collator-protocol: Readvertise collations after peer disconnects' +doc: +- audience: Node Dev + description: |- + There's a possible race case between peer connectivity and collation advertisement: + - The advertisement was generated + - peer disconnected before receiving the advertisement + + As a result of that, when the peer reconnects, the previous collation (C0) is not sent. + This happens when the collator has produced another collation (C1). + However, from the logs it looks like the collation C1 is advertising, but C0 is skipped. + + - T0: peer disconnects without receiving C0 + - T1: peer reconnects + - T2: collator advertises C1, but not C0 + + This PR aims to resubmit collations on `PeerConect` events to mitigate these cases + + Closes https://github.com/paritytech/polkadot-sdk/issues/10463 +crates: +- name: polkadot-collator-protocol + bump: patch diff --git a/prdoc/pr_10475.prdoc b/prdoc/pr_10475.prdoc new file mode 100644 index 0000000000000..81606c70a5b6b --- /dev/null +++ b/prdoc/pr_10475.prdoc @@ -0,0 +1,10 @@ +title: try state check for pallet authority discovery +doc: +- audience: Runtime Dev + description: |- + This PR introduces the try_state hook to pallet-authority-discovery to verify key storage invariants. + + closes part of https://github.com/paritytech/polkadot-sdk/issues/239 +crates: +- name: pallet-authority-discovery + bump: patch diff --git a/prdoc/pr_10493.prdoc b/prdoc/pr_10493.prdoc new file mode 100644 index 0000000000000..d70c60675ef9e --- /dev/null +++ b/prdoc/pr_10493.prdoc @@ -0,0 +1,35 @@ +title: add external transient_storage to pallet_revive::ExecConfig +doc: +- audience: Node Dev + description: |- + # Description + + This PR adds the ability to supply external copy of `TransientStorage` to `pallet_revive::ExecConfig` to be used during execution. + This is required by testing in foundry as we only enter `pallet_revive` during a `CALL` or `CREATE` instruction and we need to carryover + the transient storage to other following calls as they happen within an external tx. + For example this is required to support more testing scenarious inside `foundry-polkadot` because only a subset of execution happens on `pallet-revive`. + e.g: + ```solidity + fn example_test() { // this entrypoint is executed on the side of `foundry-polkadot` + Example contract = new Example(); // happens on pallet-revive + contract.setTransientStorage(5); // happens on pallet-revive + + uint256 result = contract.getTransientStorage(); // happens on pallet-revive and returns `0` aka the default value + // `result` above is `0` because `transient_storage` is reset after every call to `pallet-revive` and in `foundry-polkadot` + // only `CALL` and `CREATE` within function calls(already executed on foundry's revm) are forwarded to `pallet-revive`, + // so for assertion below to pass we would need to have our external `transient_storage` instance to be manually supplied + // to pallet-revive and be persistent within the wrapping call + assertEq(5, result); // fails without this PR with `5 != 0` + } + ``` + link for the test-file inside `foundry-polkadot`: + - [click me](https://github.com/paritytech/foundry-polkadot/blob/3ff8bf9fae5505e9a72335e33d4e816dbc6bea41/testdata/default/revive/TransientStorage.t.sol) +crates: +- name: pallet-revive + bump: major +- name: pallet-xcm-precompiles + bump: minor +- name: pallet-assets-precompiles + bump: minor +- name: assets-common + bump: minor diff --git a/prdoc/pr_10517.prdoc b/prdoc/pr_10517.prdoc new file mode 100644 index 0000000000000..aba5b7dd79f70 --- /dev/null +++ b/prdoc/pr_10517.prdoc @@ -0,0 +1,16 @@ +title: '[pallet-revive] remove disabled host functions terminate and set_code_hash' +doc: +- audience: Runtime Dev + description: |- + fixes part of https://github.com/paritytech/polkadot-sdk/issues/8570 + + Removes the following disabled host functions: + - `terminate` + - `set_code_hash` +crates: +- name: pallet-revive + bump: patch +- name: pallet-revive-uapi + bump: patch +- name: pallet-revive-fixtures + bump: patch diff --git a/prdoc/pr_10524.prdoc b/prdoc/pr_10524.prdoc new file mode 100644 index 0000000000000..2ea01f2334f48 --- /dev/null +++ b/prdoc/pr_10524.prdoc @@ -0,0 +1,8 @@ +title: Fix Differential Testing CI Flakiness +doc: +- audience: Runtime Dev + description: |- + # Description + + This PR updates the commit hash of the revive differential testing framework that we use to fix the flakiness we observed in CI. It was fixed in the framework by caching the chainspec of the node's we spawn so that the chainspec is only generated once and used for all of the nodes. +crates: [] diff --git a/prdoc/pr_10542.prdoc b/prdoc/pr_10542.prdoc new file mode 100644 index 0000000000000..619bb2680a647 --- /dev/null +++ b/prdoc/pr_10542.prdoc @@ -0,0 +1,8 @@ +title: 'statement-store: Add latency bench' +doc: +- audience: Node Dev + description: | + Adds a latency benchmark for the statement store to measure propagation performance across distributed nodes. +crates: +- name: people-westend-runtime + bump: patch diff --git a/prdoc/pr_10580.prdoc b/prdoc/pr_10580.prdoc new file mode 100644 index 0000000000000..98feed88eb08b --- /dev/null +++ b/prdoc/pr_10580.prdoc @@ -0,0 +1,20 @@ +title: Fix eth-rpc publish +doc: +- audience: Runtime Dev + description: |- + Use the update subxt macro to generate the metadata in OUT_DIR; + not doing so generates the following error when we try to publish the package: + + + ``` + error: failed to publish to registry at https://crates.io + + Caused by: + the remote server responded with an error (status 403 Forbidden): this crate exists but you don't seem to be an owner. If you believe this is a mistake, perhaps you need to accept an invitation to be an owner before publishing. + + ``` + + see related subxt changes: https://github.com/paritytech/subxt/pull/2142 +crates: +- name: pallet-revive-eth-rpc + bump: patch diff --git a/prdoc/pr_10593.prdoc b/prdoc/pr_10593.prdoc new file mode 100644 index 0000000000000..e3627d4792d27 --- /dev/null +++ b/prdoc/pr_10593.prdoc @@ -0,0 +1,7 @@ +title: Align Common Functions between Bulletin and SDK +doc: +- audience: Runtime Dev + description: The PR aligns common functions between Bulletin and SDK. +crates: +- name: pallet-transaction-storage + bump: major diff --git a/prdoc/pr_10612.prdoc b/prdoc/pr_10612.prdoc new file mode 100644 index 0000000000000..9cb9c409df6d3 --- /dev/null +++ b/prdoc/pr_10612.prdoc @@ -0,0 +1,8 @@ +title: revive eth-rpc Add polkadot_postDispatchWeight rpc methods +doc: +- audience: Runtime Dev + description: "Add a new RPC method to return the post-dispatch weight of a transaction\r\ + \n" +crates: +- name: pallet-revive-eth-rpc + bump: patch diff --git a/prdoc/pr_10617.prdoc b/prdoc/pr_10617.prdoc new file mode 100644 index 0000000000000..d463c220a5413 --- /dev/null +++ b/prdoc/pr_10617.prdoc @@ -0,0 +1,14 @@ +title: "statement-store: use many workers for network statements processing" + +doc: + - audience: [Node Dev, Node Operator] + description: | + Adds --statement-network-workers CLI parameter to enable concurrent statement validation from the network. + Previously, statements were validated sequentially by a single worker. This change allows multiple workers + o process statements in parallel, improving throughput when statement store is enabled + +crates: + - name: sc-network-statement + bump: major + - name: polkadot-omni-node-lib + bump: major diff --git a/prdoc/pr_10634.prdoc b/prdoc/pr_10634.prdoc new file mode 100644 index 0000000000000..52c35663ee08b --- /dev/null +++ b/prdoc/pr_10634.prdoc @@ -0,0 +1,20 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Remove uses of sp-debug-derive/force-debug feature + +doc: + - audience: Runtime Dev + description: | + Removes the `force-debug` feature flag from `sp-debug-derive` dependencies across the codebase. + This feature has been a no-op since #10582 and can be safely removed without any behavioral change. + +crates: + - name: kitchensink-runtime + bump: none + - name: revive-dev-runtime + bump: none + - name: frame-support + bump: none + - name: substrate-test-runtime + bump: none diff --git a/prdoc/pr_10635.prdoc b/prdoc/pr_10635.prdoc new file mode 100644 index 0000000000000..4bd527985a816 --- /dev/null +++ b/prdoc/pr_10635.prdoc @@ -0,0 +1,11 @@ +title: '[pallet-revive] remove unstable host function sr25519_verify' +doc: +- audience: Runtime Dev + description: fixes part of https://github.com/paritytech/polkadot-sdk/issues/8572 +crates: +- name: pallet-revive-fixtures + bump: patch +- name: pallet-revive + bump: patch +- name: pallet-revive-uapi + bump: patch diff --git a/prdoc/pr_10638.prdoc b/prdoc/pr_10638.prdoc new file mode 100644 index 0000000000000..788343272c757 --- /dev/null +++ b/prdoc/pr_10638.prdoc @@ -0,0 +1,11 @@ +title: '[pallet-revive] remove unstable host function ecdsa_to_eth_address' +doc: +- audience: Runtime Dev + description: fixes part of https://github.com/paritytech/polkadot-sdk/issues/8572 +crates: +- name: pallet-revive-fixtures + bump: patch +- name: pallet-revive + bump: patch +- name: pallet-revive-uapi + bump: patch diff --git a/prdoc/pr_10658.prdoc b/prdoc/pr_10658.prdoc new file mode 100644 index 0000000000000..d334b2064e42e --- /dev/null +++ b/prdoc/pr_10658.prdoc @@ -0,0 +1,11 @@ +title: 'Omninode instant seal: Support relay parent offset' +doc: +- audience: Node Dev + description: |- + This brings support for relay parent offset to the omni-node instant seal consensus engine. Before instant seal was not working with relay parent offsets bigger than `0`. + +crates: +- name: cumulus-client-parachain-inherent + bump: patch +- name: polkadot-omni-node-lib + bump: patch diff --git a/prdoc/pr_10661.prdoc b/prdoc/pr_10661.prdoc new file mode 100644 index 0000000000000..ff3fe34d349ca --- /dev/null +++ b/prdoc/pr_10661.prdoc @@ -0,0 +1,20 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: "statement-store: Add networking benchmark" + +doc: + - audience: Node Dev + description: | + Adds a benchmark for the statement store networking to measure performance + of statement propagation and validation under various conditions. + +crates: + - name: sc-network-statement + bump: minor + - name: sc-rpc + bump: patch + - name: sc-rpc-spec-v2 + bump: patch + - name: substrate-test-runtime + bump: patch diff --git a/prdoc/pr_10662.prdoc b/prdoc/pr_10662.prdoc new file mode 100644 index 0000000000000..a45f7f67f1648 --- /dev/null +++ b/prdoc/pr_10662.prdoc @@ -0,0 +1,29 @@ +title: "Bulletin as parachain missing features" +doc: +- audience: Runtime Dev + description: |- + This PR adds the required support and features for running Bulletin as a parachain. It is a top-level PR that merges three partial features: + + 1. Add transaction_index::HostFunctions with NO-OP impl to the cumulus ParachainSystem validate_block for polkadot-prepare/execute-worker + 2. Add custom inherent provider for pallet-transaction-storage to omni node + 3. Configurable RetentionPeriod feeded to the inherent provider over runtime API + + This PR also refactors `pallet-transaction-storage` and `sp-transaction-storage-proof` (the `new_data_provider` inherent provider), both of which rely on a hard-coded `DEFAULT_RETENTION_PERIOD`. This PR: + - adds a new configurable argument `retention_period` to the `new_data_provider` + - introduces the `TransactionStorageApi::retention_period` runtime API, which the runtime can specify arbitrary + - provides an example of using `new_data_provider`, with the node client calling the runtime API when constructing inherent provider data +- audience: [ Node Dev, Node Operator ] + description: | + * Node developers/operators could enable the transaction storage inherent data provider setup by using --enable-tx-storage-idp flag. This is especially useful in the context of bulletin chain. + * Node developers will set up the network `idle_connection_timeout` to 1h when using `--ipfs-server` flag, again, useful in the context of bulletin chain. +crates: +- name: cumulus-pallet-parachain-system + bump: patch +- name: polkadot-omni-node-lib + bump: major +- name: sp-inherents + bump: minor +- name: sp-transaction-storage-proof + bump: major +- name: pallet-transaction-storage + bump: major diff --git a/prdoc/pr_10663.prdoc b/prdoc/pr_10663.prdoc new file mode 100644 index 0000000000000..2021203c86b3a --- /dev/null +++ b/prdoc/pr_10663.prdoc @@ -0,0 +1,11 @@ +title: '[WIP][pallet-revive] replaced binary erc20 fixtures with solidity fixtures' +doc: +- audience: Runtime Dev + description: fixes https://github.com/paritytech/polkadot-sdk/issues/8566 +crates: +- name: pallet-revive + bump: patch +- name: pallet-revive-fixtures + bump: patch +- name: asset-hub-westend-runtime + bump: patch diff --git a/prdoc/pr_10666.prdoc b/prdoc/pr_10666.prdoc new file mode 100644 index 0000000000000..d9aa240b2d0ff --- /dev/null +++ b/prdoc/pr_10666.prdoc @@ -0,0 +1,33 @@ +title: 'staking-async: allow session keys handling on AssetHub' +doc: +- audience: Runtime Dev + description: |- + Added session keys handling on AssetHub for staking-async: + - Validators can now call `set_keys` and `purge_keys` on AssetHub, which forwards the request to the RelayChain via XCM. + - Session keys and ownership proof are validated on AssetHub before forwarding. Only validated keys are sent to RC (no proof), as RC trusts AH's validation. + - Staking proxies can call `set_keys` and `purge_keys` on behalf of validators. The `ProxyType::Staking` filter on runtime has been updated to include these calls. + - Validators are still allowed to call `set_keys` and `purge_keys` via relay-chain pallet-session's extrinsics. This option will be deprecated in the future. + - No key deposit is required on AssetHub. + - XCM delivery fees are charged from user's liquid balance before sending messages. + - Workflow change: unlike the current flow for new validators on RC (bond -> set_keys -> validate), users on Asset Hub MUST call bond and validate BEFORE + calling set_keys. Attempting to set keys before declaring intent to validate will fail with NotValidator. +crates: +- name: asset-hub-westend-runtime + bump: minor +- name: westend-runtime + bump: minor +- name: pallet-session + bump: minor +- name: pallet-staking-async-ah-client + bump: minor + validate: false # not a real major bump - only used for AH<->RC internal communication. +- name: pallet-staking-async-rc-client + bump: minor + validate: false # not a real major bump - only used for AH<->RC internal communication. +- name: pallet-staking-async + bump: minor + validate: false # not a real major bump - added `is_validator` method to AHStakingInterface trait, which is an internal trait. +- name: pallet-staking-async-parachain-runtime + bump: patch +- name: pallet-ahm-test + bump: patch diff --git a/prdoc/pr_10678.prdoc b/prdoc/pr_10678.prdoc new file mode 100644 index 0000000000000..46cb8db03e273 --- /dev/null +++ b/prdoc/pr_10678.prdoc @@ -0,0 +1,43 @@ +title: Add relay chain state proof API for parachains +doc: + - audience: Runtime Dev + description: | + Adds `KeyToIncludeInRelayProof` runtime API allowing parachains to request specific + relay chain storage keys, including child tries, to be proven. Parachains can access + this verified state via `OnSystemEvent::on_relay_state_proof()` hook. + + - audience: Node Dev + description: | + Collators now query the runtime for additional relay chain keys to prove. Adds + `prove_child_read()` to relay chain interfaces for child trie proofs. + + `additional_relay_state_keys` parameter removed from parachain inherent data creation. + If needed, extend `RelayProofRequest.keys` directly at collator level, for example: + ```rust + relay_proof_request.keys.extend( + my_additional_keys.into_iter().map(RelayStorageKey::Top) + ); + ``` +crates: + - name: cumulus-primitives-core + bump: minor + - name: cumulus-relay-chain-interface + bump: major + - name: cumulus-relay-chain-rpc-interface + bump: minor + - name: cumulus-relay-chain-inprocess-interface + bump: minor + - name: cumulus-client-parachain-inherent + bump: major + - name: cumulus-client-consensus-aura + bump: major + - name: cumulus-pallet-parachain-system + bump: major + - name: cumulus-pallet-solo-to-para + bump: minor + - name: cumulus-test-relay-sproof-builder + bump: patch + - name: cumulus-test-runtime + bump: patch + - name: polkadot-omni-node-lib + bump: major diff --git a/prdoc/pr_10680.prdoc b/prdoc/pr_10680.prdoc new file mode 100644 index 0000000000000..f5befc3724686 --- /dev/null +++ b/prdoc/pr_10680.prdoc @@ -0,0 +1,7 @@ +title: 'revive: fix revive post_upgrade assert' +doc: +- audience: Runtime Dev + description: Fix post_upgrade assertion logic in revive v2 migration +crates: +- name: pallet-revive + bump: patch diff --git a/prdoc/pr_10682.prdoc b/prdoc/pr_10682.prdoc new file mode 100644 index 0000000000000..5394a0e645619 --- /dev/null +++ b/prdoc/pr_10682.prdoc @@ -0,0 +1,7 @@ +title: add must_use attributes +doc: +- audience: Runtime Dev + description: "Add must_use attributes on arithmetic fns \n" +crates: +- name: sp-arithmetic + bump: patch diff --git a/prdoc/pr_10686.prdoc b/prdoc/pr_10686.prdoc new file mode 100644 index 0000000000000..2aea0214290ee --- /dev/null +++ b/prdoc/pr_10686.prdoc @@ -0,0 +1,12 @@ +title: 'Weight: Put `must_use` above some of the functions' +doc: +- audience: Runtime Dev + description: |- + Some functions return the modified weight and the user must use this or the changes are lost. This way the compiler informs the user. +crates: +- name: pallet-xcm + bump: patch +- name: staging-xcm-executor + bump: patch +- name: sp-weights + bump: patch diff --git a/prdoc/pr_10690.prdoc b/prdoc/pr_10690.prdoc new file mode 100644 index 0000000000000..084d38b408a04 --- /dev/null +++ b/prdoc/pr_10690.prdoc @@ -0,0 +1,46 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: "statement-store: implement new rpc api" + +doc: +- audience: Node Dev + description: | + Implements the new simplified RPC API for the statement store as proposed in PR #10452. + The API surface has been reduced to two main functions: `submit` and `subscribe_statement`. + + **Submit changes:** + - Added support for the new `expiry` field where statements with an expiration timestamp + lower than the current time are rejected. + + **Subscribe changes:** + - Implemented a configurable worker pool that manages all subscriptions. + - New subscriptions are assigned to workers via a round-robin protocol. + - When a new statement is accepted by the statement-store, all workers are notified and + evaluate their assigned subscription filters, notifying each subscriber accordingly. + - Existing statements matching the filter are sent on subscription. + + **Additional improvements:** + - Added periodical scanning and removal of expired statements. + - Removed the old API methods (broadcast, posts, networkState, etc.) in favor of the + simplified submit/subscribe interface. + +crates: +- name: sp-statement-store + bump: major +- name: sc-statement-store + bump: minor +- name: sc-rpc-api + bump: major +- name: sc-rpc + bump: major +- name: sc-network-statement + bump: patch +- name: sc-utils + bump: minor +- name: polkadot-omni-node-lib + bump: patch +- name: node-rpc + bump: patch +- name: staging-node-cli + bump: patch diff --git a/prdoc/pr_10693.prdoc b/prdoc/pr_10693.prdoc new file mode 100644 index 0000000000000..3ef25cb1b716d --- /dev/null +++ b/prdoc/pr_10693.prdoc @@ -0,0 +1,9 @@ +title: refund deposit_eth_extrinsic_revert_event on the base_weight +doc: +- audience: Runtime Dev + description: |- + When an eth transaction succeed we refund the pre-charged revert_event. + The refund should be done on the base weight and not the weight_consumed, as the latest could be lower than the cost of the revert_event +crates: +- name: pallet-revive + bump: patch diff --git a/prdoc/pr_10697.prdoc b/prdoc/pr_10697.prdoc new file mode 100644 index 0000000000000..12177c7af0a65 --- /dev/null +++ b/prdoc/pr_10697.prdoc @@ -0,0 +1,10 @@ +title: '[frame-support] remove error reporting in `remote_transfer_xcm` for paid execution' +doc: +- audience: + - Runtime Dev + - Runtime User + description: 'The reason is that it is broken and will result in spamming errors + until we fix it properly: https://github.com/paritytech/polkadot-sdk/issues/10078.' +crates: +- name: staging-xcm-builder + bump: patch diff --git a/prdoc/pr_10698.prdoc b/prdoc/pr_10698.prdoc new file mode 100644 index 0000000000000..97839fc523ddb --- /dev/null +++ b/prdoc/pr_10698.prdoc @@ -0,0 +1,10 @@ +title: '[pallet-revive] added trybuild test for precompile compile-time checks' +doc: +- audience: Runtime Dev + description: |- + fixes https://github.com/paritytech/polkadot-sdk/issues/8364 + + This PR adds compile-time tests using try_build to validate invariants enforced on registered precompiles. The tests ensure collision detection and related compile-time checks are correctly triggered and remain enforced. +crates: +- name: pallet-revive + bump: patch diff --git a/prdoc/pr_10709.prdoc b/prdoc/pr_10709.prdoc new file mode 100644 index 0000000000000..fd6139d771e77 --- /dev/null +++ b/prdoc/pr_10709.prdoc @@ -0,0 +1,10 @@ +title: Introduce a "jemalloc-shim" crate +doc: +- audience: Node Operator + description: |- + This crate basically serves as a hack to properly enable `jemalloc` on Linux and disable it on all other OSes by default. +crates: +- name: polkadot + bump: patch +- name: polkadot-jemalloc-shim + bump: patch diff --git a/prdoc/pr_10712.prdoc b/prdoc/pr_10712.prdoc new file mode 100644 index 0000000000000..243ef0622f5ad --- /dev/null +++ b/prdoc/pr_10712.prdoc @@ -0,0 +1,20 @@ +title: '[pallet-revive] remove code related to stable and unstable_hostfn' +doc: +- audience: Runtime Dev + description: |- + Part of https://github.com/paritytech/polkadot-sdk/issues/8572 + + Removes the proc macro `unstable_hostfn` and attribute `#[stable]` because they are not used anywhere. +crates: +- name: pallet-revive-proc-macro + bump: patch +- name: pallet-revive + bump: major +- name: pallet-revive-fixtures + bump: patch +- name: pallet-revive-uapi + bump: major +- name: asset-hub-westend-runtime + bump: patch +- name: penpal-runtime + bump: patch diff --git a/prdoc/pr_10713.prdoc b/prdoc/pr_10713.prdoc new file mode 100644 index 0000000000000..d59d62afbfb2d --- /dev/null +++ b/prdoc/pr_10713.prdoc @@ -0,0 +1,23 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Fix off-by-one error in child bounty limit validation + +doc: + - audience: Runtime Dev + description: | + Fixes an off-by-one error in `pallet-child-bounties` where the `add_child_bounty` + function allowed creating `MaxActiveChildBountyCount + 1` child bounties instead of + being capped at `MaxActiveChildBountyCount`. + + The validation check used `<=` instead of `<`, allowing the count to exceed the limit + by one. This fix changes the comparison to `<` and removes an unnecessary type cast. + + This is a bug fix that ensures runtime configuration limits are properly enforced. + + Fixes #10652 + +crates: + - name: pallet-child-bounties + bump: patch + diff --git a/prdoc/pr_10716.prdoc b/prdoc/pr_10716.prdoc new file mode 100644 index 0000000000000..f3d39829b4080 --- /dev/null +++ b/prdoc/pr_10716.prdoc @@ -0,0 +1,21 @@ +title: Migrate `pallet-example-offchain-worker` to use `TransactionExtension` API + +doc: +- audience: Runtime Dev + description: |- + Migrates `pallet-example-offchain-worker` from the deprecated `ValidateUnsigned` trait + to the modern `TransactionExtension` API using the `#[pallet::authorize]` attribute. + + This change demonstrates how to validate unsigned transactions using the new approach, + which provides better composability and flexibility for transaction validation. + + The pallet now uses `#[pallet::authorize]` on unsigned transaction calls to validate: + - Block number is within the expected window + - Price data is valid + - For signed payloads, signature verification using the authority's public key + + This serves as a reference example for other pallets migrating away from `ValidateUnsigned`. + +crates: +- name: pallet-example-offchain-worker + bump: major diff --git a/prdoc/pr_10718.prdoc b/prdoc/pr_10718.prdoc new file mode 100644 index 0000000000000..a4a4b3eb3ded8 --- /dev/null +++ b/prdoc/pr_10718.prdoc @@ -0,0 +1,13 @@ +title: 'Statement-store: Propagate all statements to newly connected peers' +doc: +- audience: Node Dev + description: | + When a new node connects, we now propagate all statements in our store to them. This happens in bursts of ~1MiB messages + over time to not completley use up all resources. If multiple peers are connecting, round robin between them. +crates: +- name: sc-network-statement + bump: major +- name: sc-statement-store + bump: major +- name: sp-statement-store + bump: major diff --git a/prdoc/pr_10721.prdoc b/prdoc/pr_10721.prdoc new file mode 100644 index 0000000000000..883cbc9da772a --- /dev/null +++ b/prdoc/pr_10721.prdoc @@ -0,0 +1,12 @@ +title: Integrate asset test utilities for asset hub westend +doc: +- audience: Runtime Dev + description: |- + The PR migrates exchange_asset tests from integration tests to unit tests in the AssetHubWestend runtime and introduces a shared helper to reduce duplication. +crates: +- name: asset-hub-westend-integration-tests + bump: none +- name: asset-hub-westend-runtime + bump: patch +- name: asset-test-utils + bump: minor diff --git a/prdoc/pr_10729.prdoc b/prdoc/pr_10729.prdoc new file mode 100644 index 0000000000000..54227fe0b38c9 --- /dev/null +++ b/prdoc/pr_10729.prdoc @@ -0,0 +1,15 @@ +title: '[FRAME] Bounties return balance and assets on close' +doc: +- audience: Runtime Dev + description: |- + Ensures that bounties that got closed with `close_bounty` will return the maximal possible + amount of Native balance and specific relevant Assets. + This fixes an issue where closed bounties would not refund any balance to the treasury because + assets were blocking the withdrawal through account references. +crates: +- name: pallet-bounties + bump: major +- name: rococo-runtime + bump: major +- name: pallet-child-bounties + bump: patch diff --git a/prdoc/pr_10732.prdoc b/prdoc/pr_10732.prdoc new file mode 100644 index 0000000000000..0960c1b3d5ba1 --- /dev/null +++ b/prdoc/pr_10732.prdoc @@ -0,0 +1,8 @@ +title: Use the revive-differential-tests reusable action +doc: +- audience: Runtime Dev + description: |- + # Description + + This PR changes how we run differential tests. The `revive-differential-tests` repo now ships with a reusable action which we use to run the differential tests. +crates: [] diff --git a/prdoc/pr_10735.prdoc b/prdoc/pr_10735.prdoc new file mode 100644 index 0000000000000..6b990aeee68c7 --- /dev/null +++ b/prdoc/pr_10735.prdoc @@ -0,0 +1,18 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Genesis Patch Support for Frame Omni-Bencher + +doc: + - audience: Runtime Dev + description: | + This update adds a --genesis-patch CLI option to frame-omni-bencher, + allowing users to apply custom JSON patches to genesis state during + benchmarking. This enables advanced testing scenarios like stress + testing with many accounts without modifying chain specifications. + +crates: + - name: frame-benchmarking-cli + bump: major + - name: frame-omni-bencher + bump: minor diff --git a/prdoc/pr_10739.prdoc b/prdoc/pr_10739.prdoc new file mode 100644 index 0000000000000..bd3439c6cb09e --- /dev/null +++ b/prdoc/pr_10739.prdoc @@ -0,0 +1,7 @@ +title: build & deploy eth-rpc docker image for stable release +doc: +- audience: Runtime Dev + description: 'build and deploy eth-rpc docker image for stable branches + + ' +crates: [] diff --git a/prdoc/pr_10749.prdoc b/prdoc/pr_10749.prdoc new file mode 100644 index 0000000000000..96b70ae14a070 --- /dev/null +++ b/prdoc/pr_10749.prdoc @@ -0,0 +1,15 @@ +title: '[pallet-revive] fixtures compilation fix for rust 1.92.0' +doc: +- audience: Runtime Dev + description: |- + Fix this error after upgrading to rustc 1.92.0: + + ``` + error: panic_immediate_abort is now a real panic strategy! Enable it with `panic = "immediate-abort"` in Cargo.toml, or with the compiler flags `-Zunstable-options -Cpanic=immediate-abort`. In both cases, you still need to build core, e.g. with `-Zbuild-std` + --> /Users/robert/.rustup/toolchains/1.92.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/panicking.rs:36:1 + ``` +crates: +- name: pallet-revive-fixtures + bump: patch +- name: pallet-revive + bump: patch diff --git a/prdoc/pr_10752.prdoc b/prdoc/pr_10752.prdoc new file mode 100644 index 0000000000000..47a20be34ce93 --- /dev/null +++ b/prdoc/pr_10752.prdoc @@ -0,0 +1,20 @@ +title: ' Gap Sync: Skip Body Requests for Non-Archive Nodes' +doc: +- audience: Node Operator + description: |- + ### Summary + This PR optimizes gap sync bandwidth usage by skipping body requests for non-archive nodes. Bodies are unnecessary during gap sync when the node doesn't maintain full block history, while archive nodes continue to request bodies to preserve complete history. + It reduces bandwidth consumption and database size significantly for typical validator/full nodes. + + Additionally added some gap sync statistics for observability: + - Introduced `GapSyncStats` to track bandwidth usage: header bytes, body bytes, justification bytes + - Logged on gap sync completion to provide visibility into bandwidth savings +crates: +- name: sc-network-sync + bump: major +- name: sc-service + bump: major +- name: sc-client-db + bump: patch +- name: sc-cli + bump: patch diff --git a/prdoc/pr_10755.prdoc b/prdoc/pr_10755.prdoc new file mode 100644 index 0000000000000..e49720022c1e2 --- /dev/null +++ b/prdoc/pr_10755.prdoc @@ -0,0 +1,10 @@ +title: Fix polkadot-omni-node dev mode slot mismatch panic +doc: +- audience: Node Dev + description: | + Fixes a panic when running polkadot-omni-node in dev mode with parachains + that have slot durations different from the relay chain (e.g., 12s vs 6s). + The mock relay chain data now correctly accounts for the slot duration ratio. +crates: +- name: polkadot-omni-node-lib + bump: patch diff --git a/prdoc/pr_10763.prdoc b/prdoc/pr_10763.prdoc new file mode 100644 index 0000000000000..c7e5b186dd71c --- /dev/null +++ b/prdoc/pr_10763.prdoc @@ -0,0 +1,21 @@ +title: Make some BEEFY keystore logic more generic +doc: +- audience: Node Dev + description: |- + This PR: + 1. makes some BEEFY keystore methods more generic: + - `sign()` + - `public_keys()` + This is done by implementing the specific logic in the `BeefyAuthorityId`. + 2. Removes the `BeefyAuthorityId::SignatureHasher` since for some algorithms it doesn't make sense to have a hasher. + + Also since now the `BeefyAuthorityId` implements both the signing and the verification logic, we should have better consistency. + + Related to https://github.com/paritytech/polkadot-sdk/pull/8707#discussion_r2673377834 +crates: +- name: sp-consensus-beefy + bump: major +- name: sc-consensus-beefy + bump: patch +- name: pallet-beefy + bump: patch diff --git a/prdoc/pr_10767.prdoc b/prdoc/pr_10767.prdoc new file mode 100644 index 0000000000000..f4049f170986e --- /dev/null +++ b/prdoc/pr_10767.prdoc @@ -0,0 +1,27 @@ +title: Fix auto-renew core tracking on immediate renew +doc: +- audience: Runtime User + description: |- + ## Summary + Fix auto-renew tracking when `do_enable_auto_renew` triggers an immediate renewal. The auto-renew record now follows the new core index returned by `do_renew`, preventing a stale core from being + renewed in the next sale rotation. + + Discovered by the Darwinia Network team while attempting a renew. + + ## Problem + When enabling auto-renew during the renewal window (`PotentialRenewals` at `sale.region_begin`), `do_enable_auto_renew` immediately calls `do_renew`. That call can allocate a *different* core + index, but the auto-renew record was stored with the **old** core. On the next rotation, `renew_cores` attempts to renew that stale core and emits `AutoRenewalFailed`, even though the workload has + already moved to the new core. + + ## Fix + Capture the returned core index from `do_renew` inside `do_enable_auto_renew`, and store that core in `AutoRenewals` (and the enable event). + + ## Tests + - Added `enable_auto_renew_immediate_updates_core_and_renews` + - `cargo test -p pallet-broker` + + + Closes: https://github.com/paritytech/polkadot-sdk/issues/10006 +crates: +- name: pallet-broker + bump: patch diff --git a/prdoc/pr_10770.prdoc b/prdoc/pr_10770.prdoc new file mode 100644 index 0000000000000..fcb1fedc772d5 --- /dev/null +++ b/prdoc/pr_10770.prdoc @@ -0,0 +1,14 @@ +title: 'Statement-store: Follow-up improvements from PR #10718 review' +doc: +- audience: Node Dev + description: | + This follow-up PR addresses review comments from PR #10718: + - Removed unnecessary Result wrapper from statement_hashes() - method is infallible + - Added debug assertion to validate sent count matches prepared count +crates: +- name: sc-network-statement + bump: patch +- name: sc-statement-store + bump: patch +- name: sp-statement-store + bump: patch diff --git a/prdoc/pr_10771.prdoc b/prdoc/pr_10771.prdoc new file mode 100644 index 0000000000000..2aa509a2a33ed --- /dev/null +++ b/prdoc/pr_10771.prdoc @@ -0,0 +1,18 @@ +title: 'Snowbridge: Describe the token location with the length field included to avoid collisions' +doc: +- audience: Runtime Dev + description: |- + For GeneralKey, two XCM junctions that differ only in length can currently produce the same description bytes, + and therefore the same TokenId. To avoid such collisions, this PR includes the length field in the describe function. + We do have several PNAs registered that could be affected by this change. However, these tokens are not currently in use, + there have been no transfers and no tokens minted so far. As a result, simply re-registering these tokens should be sufficient, + without requiring a runtime storage migration. +crates: +- name: snowbridge-core + bump: patch + validate: false +- name: snowbridge-outbound-queue-primitives + bump: patch + validate: false + + diff --git a/prdoc/pr_10779.prdoc b/prdoc/pr_10779.prdoc new file mode 100644 index 0000000000000..f28a4e6d8d657 --- /dev/null +++ b/prdoc/pr_10779.prdoc @@ -0,0 +1,16 @@ +title: "remote-externalities: Support downloading from multiple RPC servers in parallel + major refactoring" +doc: +- audience: Node Dev + description: | + Major refactoring of frame-remote-externalities to support downloading state from multiple + RPC servers in parallel. This improves reliability and performance when fetching remote state. + + Breaking changes: + - `OnlineConfig::transports` field renamed to `transport_uris` + - Various internal API changes + +crates: +- name: frame-remote-externalities + bump: major +- name: pallet-state-trie-migration + bump: patch diff --git a/prdoc/pr_10780.prdoc b/prdoc/pr_10780.prdoc new file mode 100644 index 0000000000000..afe5269c79b9e --- /dev/null +++ b/prdoc/pr_10780.prdoc @@ -0,0 +1,13 @@ +title: Fix pallet-revive-fixtures +doc: +- audience: Runtime Dev + description: |- + Fixing two issues: + + 1. Build on rustc >= 1.92 was broken despite https://github.com/paritytech/polkadot-sdk/pull/10749. That PR was broken. + 2. The nested cargo didn't properly inherit the parent toolchain (an older error). Leading to the situation where a `1.88` was only applied to the parent toolchain + + Replacement for https://github.com/paritytech/polkadot-sdk/pull/10778. +crates: +- name: pallet-revive-fixtures + bump: patch diff --git a/prdoc/pr_10785.prdoc b/prdoc/pr_10785.prdoc new file mode 100644 index 0000000000000..6ee39aa01ac3f --- /dev/null +++ b/prdoc/pr_10785.prdoc @@ -0,0 +1,21 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Fix inefficient do_propagate_statements + +doc: + - audience: Node Dev + description: | + Fixes an O(n^2) complexity issue in `send_statements_in_chunks`. The loop in + `find_sendable_chunk` was inefficient because it was passing `to_send[offset..]` + after each chunk and then calling `chunk.encoded_size()` on the entire slice. + + The fix uses an incremental approach that adds statements one by one until the + size limit is reached, only computing sizes for statements that will actually + be sent in each chunk. + + For 300,000 statements, this reduces the processing time from ~2.5 seconds to ~0.33s. + +crates: + - name: sc-network-statement + bump: patch diff --git a/prdoc/pr_10787.prdoc b/prdoc/pr_10787.prdoc new file mode 100644 index 0000000000000..4524c34844b0a --- /dev/null +++ b/prdoc/pr_10787.prdoc @@ -0,0 +1,23 @@ +title: 'statement-store: validation without runtime' +doc: +- audience: Node Dev + description: |- + This removes slow runtime validation from statement-submission hot path. + Validation now happens on the node side via direct signature verification + and storage reads for account quotas. + +crates: +- name: sc-statement-store + bump: major +- name: sp-statement-store + bump: major +- name: polkadot-omni-node-lib + bump: patch +- name: pallet-statement + bump: major +- name: people-westend-runtime + bump: patch +- name: sc-rpc + bump: patch +- name: sc-rpc-spec-v2 + bump: patch diff --git a/prdoc/pr_10793.prdoc b/prdoc/pr_10793.prdoc new file mode 100644 index 0000000000000..94bcd4b1e10a6 --- /dev/null +++ b/prdoc/pr_10793.prdoc @@ -0,0 +1,10 @@ +title: 'Snowbridge: Fix fork version slot selection for sync committee signature verification' +doc: +- audience: Runtime Dev + description: | + Fixes fork version selection for sync committee signature verification to use `signature_slot - 1` per the Ethereum Altair light-client spec. This prevents valid light client updates from being rejected at fork activation boundaries. +crates: +- name: snowbridge-pallet-ethereum-client + bump: patch +- name: snowbridge-beacon-primitives + bump: patch diff --git a/prdoc/pr_10794.prdoc b/prdoc/pr_10794.prdoc new file mode 100644 index 0000000000000..9f62e05de3f6a --- /dev/null +++ b/prdoc/pr_10794.prdoc @@ -0,0 +1,11 @@ +title: '[FRAME] Omni bencher run each benchmark at least 10 secs' +doc: +- audience: Runtime Dev + description: |- + - Ensure all benchmarks run for at least 10 seconds. Configurable with `--min-duration ` + - Turn off runtime logging in bench bot to reduce spam log output +crates: +- name: frame-benchmarking-cli + bump: major +- name: asset-hub-westend-runtime + bump: patch diff --git a/prdoc/pr_10796.prdoc b/prdoc/pr_10796.prdoc new file mode 100644 index 0000000000000..caadb98f72c17 --- /dev/null +++ b/prdoc/pr_10796.prdoc @@ -0,0 +1,22 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Fix size limit mismatch in process_initial_sync_burst + +doc: + - audience: Node Dev + description: | + Fixes a debug assertion failure in `process_initial_sync_burst` where the size filter + used `MAX_STATEMENT_NOTIFICATION_SIZE` while `find_sendable_chunk` reserved additional + space for `Compact` vector length encoding (5 bytes). + + This mismatch caused `debug_assert_eq!(to_send.len(), sent)` to fail when statements + were sized to fit the filter's larger limit but exceeded `find_sendable_chunk`'s + stricter limit. + + The fix extracts the size calculation into a shared `max_statement_payload_size()` + function that both locations now use, ensuring consistent size limits. + +crates: + - name: sc-network-statement + bump: patch diff --git a/prdoc/pr_10804.prdoc b/prdoc/pr_10804.prdoc new file mode 100644 index 0000000000000..14f9ebf842481 --- /dev/null +++ b/prdoc/pr_10804.prdoc @@ -0,0 +1,74 @@ +title: Take the header size into account for the total block size + +doc: +- audience: Runtime Dev + description: | + The `BlockSize` storage item (formerly `AllExtrinsicsLen`) in `frame-system` now includes the header overhead (digest size and + empty header size) in addition to the extrinsic lengths. This ensures that block size limits + accurately account for the full block size, not just the extrinsics. Additionally, inherent + digests are now limited to 20% of the maximum block size to prevent oversized headers. + + **Breaking Change**: `AllExtrinsicsLen` has been renamed to `BlockSize` to better reflect its purpose. + External code using `frame_system::AllExtrinsicsLen` must be updated to use `frame_system::BlockSize`. + + The deprecated `BlockLength::max` and `BlockLength::max_with_normal_ratio` functions have been + replaced with the new builder pattern across the entire codebase. Use + `BlockLength::builder().max_length(value).build()` or + `BlockLength::builder().max_length(value).modify_max_length_for_class(DispatchClass::Normal, |m| *m = ratio * value).build()` + instead. + +crates: +- name: frame-system + bump: major +- name: cumulus-pallet-parachain-system + bump: major +- name: sc-network-sync + bump: patch +- name: frame-executive + bump: patch +- name: polkadot-runtime-common + bump: patch +- name: polkadot-runtime-parachains + bump: patch +- name: bp-polkadot-core + bump: patch +- name: bp-polkadot-bulletin + bump: patch +- name: parachains-common + bump: patch +- name: cumulus-primitives-storage-weight-reclaim + bump: major +- name: cumulus-pallet-weight-reclaim + bump: major +- name: asset-hub-rococo-runtime + bump: patch +- name: asset-hub-westend-runtime + bump: patch +- name: bridge-hub-rococo-runtime + bump: patch +- name: bridge-hub-westend-runtime + bump: patch +- name: bp-bridge-hub-cumulus + bump: patch +- name: pallet-insecure-randomness-collective-flip + bump: patch +- name: collectives-westend-runtime + bump: patch +- name: coretime-westend-runtime + bump: patch +- name: glutton-westend-runtime + bump: patch +- name: penpal-runtime + bump: patch +- name: people-westend-runtime + bump: patch +- name: yet-another-parachain-runtime + bump: patch +- name: staging-node-cli + bump: patch +- name: substrate-test-runtime + bump: patch +- name: parachain-template-runtime + bump: patch +- name: pallet-staking-async-parachain-runtime + bump: patch diff --git a/prdoc/pr_10807.prdoc b/prdoc/pr_10807.prdoc new file mode 100644 index 0000000000000..7875fca876ceb --- /dev/null +++ b/prdoc/pr_10807.prdoc @@ -0,0 +1,8 @@ +title: 'Omni-node: Move timestamps closer to now' +doc: +- audience: Node Dev + description: |- + Blocks produced with Omni-nodes dev-mode are now closer to the current time. Previously they were starting at `UNIX_EPOCH`. +crates: +- name: polkadot-omni-node-lib + bump: patch diff --git a/prdoc/pr_10808.prdoc b/prdoc/pr_10808.prdoc new file mode 100644 index 0000000000000..1aa56a83eaf06 --- /dev/null +++ b/prdoc/pr_10808.prdoc @@ -0,0 +1,22 @@ +title: Update retester CI to check expectations +doc: +- audience: Runtime Dev + description: |- + # Description + + This PR makes a number of changes to the retester CI job that were recommended by @athei and other people at parity. + + One of our main objectives with the changes in this PR is to harden the CI and ensure that the job status that we see in Github is representative of whether we got the results that we expect or not. + + With this PR, we added two versioned controlled JSON files, one for each platform that we run differential tests on, which describe the status that we expect for each one of the tests that we run. + + Part of the retester CI job is to run the differential tests and ensure that the results of running tests match the expectation files we have in the repo for the platform. + + In this case: + * CI is green if the test's execution matches the expectations that we've set in the expectations JSON files. + * CI is red if the test's execution doesn't match the expectations that we've set in the expectations JSON files. + + The CI job for retester no longer posts a comment with the status of all of the tests. + + If the expectations do not match, then the new expectations file is uploaded to the CI job you would be required to update the expectation file to match. +crates: [] diff --git a/prdoc/pr_10827.prdoc b/prdoc/pr_10827.prdoc new file mode 100644 index 0000000000000..3f75ac55d7114 --- /dev/null +++ b/prdoc/pr_10827.prdoc @@ -0,0 +1,15 @@ +title: Add more buckets to histogram for bitfields sent +doc: +- audience: Node Dev + description: |- + # Description + + image + On Kusama the chart already goes to infinity, so we need to adjust it to the desired value. + + ## Integration + + Should not affect downstream projects. +crates: +- name: polkadot-node-core-provisioner + bump: patch diff --git a/prdoc/pr_10828.prdoc b/prdoc/pr_10828.prdoc new file mode 100644 index 0000000000000..e6829a488dbf3 --- /dev/null +++ b/prdoc/pr_10828.prdoc @@ -0,0 +1,10 @@ +title: '[pallet-broker] add extrinsic to forcefully remove the potential renewal' +doc: +- audience: Runtime User + description: |- + Add an extrinsic allowing to forcefully remove the existing potential renewal from chain without the need to directly manipulate the storage. +crates: +- name: pallet-broker + bump: major +- name: coretime-westend-runtime + bump: major diff --git a/prdoc/pr_10830.prdoc b/prdoc/pr_10830.prdoc new file mode 100644 index 0000000000000..670ecd35beead --- /dev/null +++ b/prdoc/pr_10830.prdoc @@ -0,0 +1,25 @@ +title: Rework EC Hostcalls +doc: +- audience: Runtime Dev + description: |- + Rework all elliptic curve hostcalls: BLS12-381, BLS12-377, BW6-761, + Ed-on-BLS12-377, and Ed-on-BLS12-381-Bandersnatch. + + Changes: + - Use affine representation for point arguments instead of projective. + `mul_projective_*` hostcalls renamed to `mul_*` and now accept/return + affine points. `msm_*` hostcalls now return affine points. + - Eliminate host-side memory allocation. Hostcalls now take an output + buffer parameter (`&mut [u8]`) instead of returning allocated memory. + - Hostcalls now return `Result<(), Error>` (marshaled as `u32`) to signal + success or error conditions. + + New pass-by strategy (in `sp-runtime-interface`): + - `PassFatPointerAndWrite`: Passes a mutable buffer pointer to the host. + The host creates a zero-initialized buffer, the host function writes to it, + and the result is written back to guest memory. +crates: +- name: sp-crypto-ec-utils + bump: major +- name: sp-runtime-interface + bump: minor diff --git a/prdoc/pr_10831.prdoc b/prdoc/pr_10831.prdoc new file mode 100644 index 0000000000000..2531322890437 --- /dev/null +++ b/prdoc/pr_10831.prdoc @@ -0,0 +1,20 @@ +title: Fix fee handling of pay-over-xcm trait(s) +doc: +- audience: Runtime Dev + description: |- + Changed how pay-over-xcm is handling delivery fees. The old behavior was effectively allowing free delivery for any origin, and it was either burning innexistent tokens (noop at the end of the day), or it was minting "protocol fees" into the treasury account out of thin air. + + In practice, the traits were always used with waived fees configuration so this bug was never exploitable in production, but it was there nonetheless. + + Changed transfer-over-xcm and pay-over-xcm implementations to use the runtime's XCM config, rather than custom Router and FeeHandler. This reduces the opportunity for misconfiguration since it relies on the message delivery and fee handling configurations at consolidated at the runtime configuration level. + + Waived locations for some system pallets were also correctly configured to explicitly allow what was previously implicitly allowed by the buggy code. +crates: +- name: collectives-westend-runtime + bump: major +- name: rococo-runtime + bump: major +- name: westend-runtime + bump: major +- name: staging-xcm-builder + bump: major diff --git a/prdoc/pr_10842.prdoc b/prdoc/pr_10842.prdoc new file mode 100644 index 0000000000000..94ed79377f625 --- /dev/null +++ b/prdoc/pr_10842.prdoc @@ -0,0 +1,9 @@ +title: Remove unused code in staking-async +doc: +- audience: Runtime Dev + description: |- + - remove the `reward-fn` from `pallet-staking-async`. This crate is no longer needed. + - rename `ahm-test` to `integration-tests` +crates: +- name: polkadot-sdk + bump: major diff --git a/prdoc/pr_10843.prdoc b/prdoc/pr_10843.prdoc new file mode 100644 index 0000000000000..8e423a2494ffe --- /dev/null +++ b/prdoc/pr_10843.prdoc @@ -0,0 +1,14 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Expand multisig pallet tests + +doc: + - audience: Runtime Dev + description: | + Expand the multisig pallet tests to cover more cases. In particular, those concerning out-of-order signatories, + and sender in signatories. Also, reword extrinsic comments. + +crates: + - name: pallet-multisig + bump: patch \ No newline at end of file diff --git a/prdoc/pr_10846.prdoc b/prdoc/pr_10846.prdoc new file mode 100644 index 0000000000000..2b25219be2e47 --- /dev/null +++ b/prdoc/pr_10846.prdoc @@ -0,0 +1,13 @@ +title: 'net/metrics: Add metrics for inbound/outbound traffic ' +doc: +- audience: Node Dev + description: |- + This PR adds a new metric for inbound / outbound traffic for individual request-response protocols. + + - the PR is motivated by https://github.com/paritytech/polkadot-sdk/issues/10765 which shows a significant number of bytes as downloaded (4-5 MiB/s). This is suspicious for a fully synced validator, 1-2 blocks to the tip of the chain. + - It suggests a protocol is internally consuming too much bandwidth leading to network inefficiencies, wasted CPU, and in the case of the issue to OOM kills + + cc @paritytech/sdk-node +crates: +- name: sc-network + bump: patch diff --git a/prdoc/pr_10847.prdoc b/prdoc/pr_10847.prdoc new file mode 100644 index 0000000000000..fdd4cae573d3c --- /dev/null +++ b/prdoc/pr_10847.prdoc @@ -0,0 +1,23 @@ +title: 'net: Spawn network backend as essential task' +doc: +- audience: Node Dev + description: |- + This PR spawns the network backends as essential (libp2p / litep2p). + + When the network future exits, it will bring down the whole process. + - there's no point in running a node without the core network backend as it will not be able to communicate with peers + - while at it, have changed some logs from debug to warn + - the network backend can be brought down unintentionally by the `import_notif_stream` + + + Discovered during: + - https://github.com/paritytech/polkadot-sdk/issues/10821 +crates: +- name: cumulus-client-service + bump: patch +- name: polkadot-omni-node-lib + bump: patch +- name: polkadot-service + bump: patch +- name: sc-service + bump: patch diff --git a/prdoc/pr_10863.prdoc b/prdoc/pr_10863.prdoc new file mode 100644 index 0000000000000..3d29a0399dbe5 --- /dev/null +++ b/prdoc/pr_10863.prdoc @@ -0,0 +1,7 @@ +title: 'parachain-system: Ensure left-over message budget fits into the PoV' +doc: +- audience: Runtime Dev + description: Ensure we check the buget against the remaining proof size in the block. +crates: +- name: cumulus-pallet-parachain-system + bump: patch diff --git a/prdoc/pr_10866.prdoc b/prdoc/pr_10866.prdoc new file mode 100644 index 0000000000000..300969ca5ad0e --- /dev/null +++ b/prdoc/pr_10866.prdoc @@ -0,0 +1,14 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Extend remote externalities `Client` and child storage query unit tests + +doc: + - audience: Runtime Dev + description: | + This PR fixes a test failure in the remote externalities crate concerning optionality of child key loading. + It also adds follow-up tests to #10779 to check `Client` construction from valid/invalid URIs. + +crates: + - name: frame-remote-externalities + bump: patch \ No newline at end of file diff --git a/prdoc/pr_10880.prdoc b/prdoc/pr_10880.prdoc new file mode 100644 index 0000000000000..587d452fe4b51 --- /dev/null +++ b/prdoc/pr_10880.prdoc @@ -0,0 +1,13 @@ +title: Remove failing assertion related to VoterList count mismatch +doc: + - audience: Runtime Dev + description: + Updated bags-list so that on_insert queues items into PendingRebag instead of failing, + and removed the invariant that required VoterList's count to equal the combined number + of Nominators and Validators. This is safe while bags-list is locked. After unlocking, + on_idle drains PendingRebag, and the counts converge back to consistency over time. +crates: + - name: pallet-staking-async + bump: patch + - name: pallet-bags-list + bump: patch diff --git a/prdoc/pr_10882.prdoc b/prdoc/pr_10882.prdoc new file mode 100644 index 0000000000000..f96934ea8e005 --- /dev/null +++ b/prdoc/pr_10882.prdoc @@ -0,0 +1,13 @@ +title: "statement-store: make encode/hash faster" +doc: +- audience: Node Dev + description: | + Optimizes statement encoding and hashing by pre-allocating memory for the encoded buffer. + This reduces allocation overhead and improves performance, particularly when receiving + statements from multiple peers. Benchmarks show ~16% speedup when receiving statements + from 16 peers. +crates: +- name: sp-statement-store + bump: minor +- name: sc-network-statement + bump: patch diff --git a/prdoc/pr_10891.prdoc b/prdoc/pr_10891.prdoc new file mode 100644 index 0000000000000..060e8d432e293 --- /dev/null +++ b/prdoc/pr_10891.prdoc @@ -0,0 +1,25 @@ +title: 'collator-protocol: Re-advertise collations when peer authority IDs are updated' +doc: +- audience: Node Dev + description: |- + The collator protocol contained a race-condition which could manifest as "Collation wasn't advertised". + + A given peer ("A") can connect before the new authority keys are received via `UpdatedAuthorityIds` (nk -- new key). + + - T0: peer A connects`PeerConnected` + - T1: peer A sends its current view `PeerViewChange` + - Peer A wants the block N + - T2: `validator_group.should_advertise_to`: checks peer A for key nK (the new key) + - We don't have this key stored and therefore return `ShouldAdvertiseTo::NotAuthority` + - T3: `UpdatedAuthorityIds` arrives with (peer A, [nK]) + + At this point, we have the collation, peer A wants to collation, we know peer A is an authority but we never send the collation back. Then, the collation will expire with "Collation wasn't advertised". + + To close the gap, the `UpdatedAuthorityIds` events will trigger a re-advertisement of collations + - note: if the advertisement was already sent, the logic does not resend it (achieved in should_advertise_to). + + Part of the stabilization of: + - https://github.com/paritytech/polkadot-sdk/issues/10425 +crates: +- name: polkadot-collator-protocol + bump: patch diff --git a/prdoc/pr_10893.prdoc b/prdoc/pr_10893.prdoc new file mode 100644 index 0000000000000..987974f223e0b --- /dev/null +++ b/prdoc/pr_10893.prdoc @@ -0,0 +1,27 @@ +title: Do not prune blocks with GrandPa justifications +doc: +- audience: + - Node Dev + - Node Operator + description: |- + Warp sync requires GRANDPA justifications at authority set change boundaries to construct proofs. When block pruning is enabled, all block bodies are removed regardless of whether they contain important justifications. The pruned nodes can then not be used to fetch warp proofs. + We now have the capability to filter which blocks can be safely pruned. For parachain nodes, everything can be pruned, solochain nodes using grandpa keep blocks with justifications. This ensures warp sync ability within the network. +crates: +- name: polkadot-service + bump: major +- name: sc-cli + bump: major +- name: sc-consensus-beefy + bump: major +- name: sc-consensus-grandpa + bump: major +- name: sc-client-db + bump: major +- name: sc-service + bump: major +- name: frame-benchmarking-cli + bump: major +- name: polkadot-omni-node-lib + bump: major +- name: staging-node-inspect + bump: major diff --git a/prdoc/pr_10902.prdoc b/prdoc/pr_10902.prdoc new file mode 100644 index 0000000000000..805c6ccdca0ba --- /dev/null +++ b/prdoc/pr_10902.prdoc @@ -0,0 +1,14 @@ +title: '[pallet-revive] Enforce weight limit on dry-run RPC calls' +doc: +- audience: Runtime Dev + description: |- + ## Summary + + - Makes the `weight_limit` field in `TransactionLimits::EthereumGas` non-optional, enforcing bounded execution on all Ethereum-style calls + - Updates `dry_run_eth_transact` to use `evm_max_extrinsic_weight()` as the weight limit, preventing unbounded computation during dry-run RPC calls + - Simplifies metering code by removing `Option` handling for weight limits in Ethereum execution mode +crates: +- name: pallet-revive-eth-rpc + bump: patch +- name: pallet-revive + bump: patch diff --git a/prdoc/pr_10905.prdoc b/prdoc/pr_10905.prdoc new file mode 100644 index 0000000000000..04183b7c1f465 --- /dev/null +++ b/prdoc/pr_10905.prdoc @@ -0,0 +1,11 @@ +title: 'Bump pallet-staking-reward-fn' +doc: +- audience: Runtime Dev + description: |- + sp-arithmetic was bumped in a previous PR but not published yet on crates.io. + Both polkadot-runtime-common (already bumped and not released in a previous PR) and pallet-staking-reward-fn depend on it. + Bump pallet-staking-reward-fn so that parity-publish CI job can correctly resolve sp-arithmetic. + Without this fix, we would end up with a dependency graph with two versions of sp-arithmetic with one of the two missing a trait impl needed by polkadot-runtime-common. +crates: +- name: pallet-staking-reward-fn + bump: patch diff --git a/prdoc/pr_10906.prdoc b/prdoc/pr_10906.prdoc new file mode 100644 index 0000000000000..d6782c317d548 --- /dev/null +++ b/prdoc/pr_10906.prdoc @@ -0,0 +1,16 @@ +title: 'collator-protocol: Remove stale pending collations from the waiting queue' +doc: +- audience: Node Dev + description: |- + This PR removes the stale pending collations from the waiting queue when the peer that advertised the collation disconnects. + + When the peer reconnects, the peer data is freshly created without any prior information about advertised collations. + Then the state-pending collation is picked from the queue. The network request will not be emitted since the `fn fetch_collation` sees no prior advertisement via `peer_data.has_advertised` and returns `Err(FetchError::NotAdvertised)`. + + To avoid this, remove the stale entries immediately when the peer disconnects. + + Part of the stabilization of: + - https://github.com/paritytech/polkadot-sdk/issues/10425 +crates: +- name: polkadot-collator-protocol + bump: patch diff --git a/prdoc/pr_10907.prdoc b/prdoc/pr_10907.prdoc new file mode 100644 index 0000000000000..8135d9ba7557a --- /dev/null +++ b/prdoc/pr_10907.prdoc @@ -0,0 +1,8 @@ +title: Update the resolc and retester versions +doc: +- audience: Runtime Dev + description: |- + ## Summary + + This PR allows us to use nightly versions of the resolc compiler in the differential tests CI which include fixes not yet available in the published version of the compiler. It also bumps the commit hash of differential tests used to a version that allows for gas limits to be specified manually to circumvent the issue observed in https://github.com/paritytech/contract-issues/issues/259 +crates: [] diff --git a/prdoc/pr_10911.prdoc b/prdoc/pr_10911.prdoc new file mode 100644 index 0000000000000..928927dea496e --- /dev/null +++ b/prdoc/pr_10911.prdoc @@ -0,0 +1,10 @@ +title: '[pallet-revive] Fix EXTCODESIZE and EXTCODEHASH for mocked addresses' +doc: +- audience: Runtime Dev + description: Fixes EXTCODESIZE and EXTCODEHASH opcodes for mocked addresses. + Previously, these opcodes did not check the mock handler, causing them to + return values indicating no code exists at mocked addresses. Fixed by adding + `mocked_code` method to `MockHandler` trait to provide dummy bytecode. +crates: +- name: pallet-revive + bump: major diff --git a/prdoc/pr_10917.prdoc b/prdoc/pr_10917.prdoc new file mode 100644 index 0000000000000..b52125d51f42f --- /dev/null +++ b/prdoc/pr_10917.prdoc @@ -0,0 +1,37 @@ +title: Implement persistent reputation database for collator protocol (#7751) +doc: +- audience: Node Dev + description: |- + Implements persistent storage for the experimental collator protocol's reputation database. + + Changes: + + - Adds `PersistentDb` wrapper that persists the in-memory reputation DB to disk + - Periodic persistence every 10 minutes + - Adds `--collator-reputation-persist-interval` CLI to specify the persistence interval in seconds. + - Immediate persistence on slashes and parachain deregistration + - Loads existing state on startup with lookback for missed blocks + + Implementation: + + `PersistentDb` wraps the existing `Db` and adds persistence on top: + + - All reputation logic (scoring, decay, LRU) stays in `Db` + - Persistence layer handles disk I/O and serialization + - Per-para data stored in parachains_db + + Tests: + + - `basic_persistence.rs`: Validates persistence across restarts and startup lookback + - `pruning.rs`: Validates automatic cleanup on parachain deregistration +crates: +- name: polkadot-collator-protocol + bump: major +- name: polkadot-service + bump: major +- name: polkadot + bump: major +- name: polkadot-cli + bump: major +- name: cumulus-relay-chain-inprocess-interface + bump: major diff --git a/prdoc/pr_10918.prdoc b/prdoc/pr_10918.prdoc new file mode 100644 index 0000000000000..e7f5b60cce930 --- /dev/null +++ b/prdoc/pr_10918.prdoc @@ -0,0 +1,16 @@ +title: Fix delegatecall callTracer addresses +doc: +- audience: Runtime Dev + description: |- + ## Summary + - Fix address tracking in delegatecall operations for callTracer + + ## Changes + - Update callTracer to correctly track addresses during delegatecall operations + + ## Test plan + - Existing tests should pass + - Verify callTracer correctly reports addresses for delegatecall operations +crates: +- name: pallet-revive + bump: patch diff --git a/prdoc/pr_10919.prdoc b/prdoc/pr_10919.prdoc new file mode 100644 index 0000000000000..14276a1c03840 --- /dev/null +++ b/prdoc/pr_10919.prdoc @@ -0,0 +1,22 @@ +title: Add revive substrate runtime-api integration tests for call & instantiate +doc: +- audience: Runtime Dev + description: |- + ## Summary + - Add integration tests for revive runtime API + - Test Fibonacci contract deployment and execution via substrate APIs + + ## Changes + - Add test for Fibonacci contract call via runtime API + - Add test to verify large Fibonacci values run out of gas as expected + - Update dev-node runtime configuration for testing + + ## Test plan + - Run new integration tests + - Verify runtime API correctly handles contract deployment + - Verify gas limits are enforced correctly +crates: +- name: revive-dev-runtime + bump: patch +- name: pallet-revive-eth-rpc + bump: patch diff --git a/prdoc/pr_10920.prdoc b/prdoc/pr_10920.prdoc new file mode 100644 index 0000000000000..1dd50b2fab2b3 --- /dev/null +++ b/prdoc/pr_10920.prdoc @@ -0,0 +1,17 @@ +title: '[pallet-revive] Fix storage deposit refunds in nested contract calls' +doc: +- audience: Runtime Dev + description: "fixes https://github.com/paritytech/contract-issues/issues/213 where\ + \ storage deposit refunds failed in nested/reentrant calls.\n\nProblem\nStorage\ + \ refunds were calculated incorrectly when a contract allocated storage, then\ + \ performed a nested call that cleared it. Pending storage changes lived only\ + \ in the parent FrameMeter, so child frames could not see them and refunds were\ + \ skipped.\n\nSolution\nApply pending storage deposit changes to a cloned ContractInfo\ + \ before creating nested frames. This makes the parent\u2019s storage state visible\ + \ to child frames during refund calculation.\n\nImplementation\n- Added apply_pending_changes_to_contract()\ + \ to apply pending diffs to ContractInfo\n- Added apply_pending_storage_changes()\ + \ wrapper on FrameMeter\n- Applied pending storage changes before nested frame\ + \ creation in exec.rs (3 locations)" +crates: +- name: pallet-revive + bump: patch diff --git a/prdoc/pr_10922.prdoc b/prdoc/pr_10922.prdoc new file mode 100644 index 0000000000000..a4a4048763635 --- /dev/null +++ b/prdoc/pr_10922.prdoc @@ -0,0 +1,12 @@ +title: '[pallet-revive] small improvements' +doc: +- audience: Runtime Dev + description: |- + Small safety and completeness improvements for pallet-revive: + + - Add selfdestruct call tracing: Emit terminate trace after successful SELFDESTRUCT + - Add debug assertions for unsafe bytecode operations: in relative_jump, absolute_jump, and read_slice + - Remove transmute in i256 sign detection: Replace unsafe { core::mem::transmute } with explicit conditional logic for determining Sign::Zero vs Sign::Plus +crates: +- name: pallet-revive + bump: patch diff --git a/prdoc/pr_10928.prdoc b/prdoc/pr_10928.prdoc new file mode 100644 index 0000000000000..5c7baa088903e --- /dev/null +++ b/prdoc/pr_10928.prdoc @@ -0,0 +1,21 @@ +title: '[pallet-revive] Fix gas_cost and weight_cost for nested calls in execution tracer' +doc: +- audience: Runtime Dev + description: |- + # Description + + This PR fixes `gasCost` and `weightCost` calculations in execution tracing (structLogs) for opcodes that spawn child calls (CALL, DELEGATECALL, CREATE, etc.). Previously, was and reflected pre-execution state rather than actual consumption for any parent call. + + This PR: + - Computes and `weightCost` in as the cost of executing the opcode itself, excluding gas/weight consumed by child calls + - Tracks child call consumption via a `PendingStep` stack and subtracts it when the parent opcode completes + - Adds test coverage for nested call gas tracking in both EVM and PVM modes + + + ## Difference from Ethereum/Geth + In Geth's opcode tracing, for CALL-like opcodes includes the opcode's intrinsic cost plus all gas forwarded to child calls. In **our implementation**, `gasCost` reports only the opcode's intrinsic cost, **excluding forwarded gas**. The intrinsic cost includes: + - The *CALL opcode's base cost + - Post-call costs such as copying return data back to the caller's memory (e.g., CopyToContract) +crates: +- name: pallet-revive + bump: major diff --git a/prdoc/pr_10947.prdoc b/prdoc/pr_10947.prdoc new file mode 100644 index 0000000000000..388c37ecdd0d5 --- /dev/null +++ b/prdoc/pr_10947.prdoc @@ -0,0 +1,14 @@ +title: 'benchmarking: fix DB read/write counts' +doc: +- audience: Runtime Dev + description: |- + PR #10802 added `reset_read_write_count()` at the end of commit_db() to prevent warmup operations from appearing in benchmarking results. However, commit_db is called twice: one on `on_before_start()` closure before benchmark, and one after benchmark execution after benchmark. + This PR whitelists warmup key so that it doesn't appear in the read/write count. + We also regenerate staking-async and pallet-conviction-voting benchmarks (testing both v1 and v2) +crates: +- name: frame-benchmarking + bump: patch +- name: asset-hub-westend-runtime + bump: patch +- name: pallet-conviction-voting + bump: patch diff --git a/prdoc/pr_10950.prdoc b/prdoc/pr_10950.prdoc new file mode 100644 index 0000000000000..caf325b3ed3ff --- /dev/null +++ b/prdoc/pr_10950.prdoc @@ -0,0 +1,13 @@ +title: 'fix(revive): handle transaction hash conflicts during re-org' +doc: +- audience: Runtime Dev + description: "## Summary\n\nFixes a UNIQUE constraint violation when processing\ + \ blocks after a re-org:\n```\nUNIQUE constraint failed: transaction_hashes.transaction_hash\n\ + ```\n\n## Problem\n\nWhen a blockchain re-org occurs:\n1. Block A contains transaction\ + \ TX1 \u2192 stored in `transaction_hashes`\n2. Server restarts (clearing the\ + \ in-memory `block_number_to_hashes` map)\n3. Re-org happens, Block B (different\ + \ hash) now contains the same TX1\n4. INSERT fails because TX1 already exists\ + \ with old block_hash" +crates: +- name: pallet-revive-eth-rpc + bump: patch diff --git a/prdoc/pr_10954.prdoc b/prdoc/pr_10954.prdoc new file mode 100644 index 0000000000000..efe8b4a9a318d --- /dev/null +++ b/prdoc/pr_10954.prdoc @@ -0,0 +1,20 @@ +title: 'auth-discovery: Ensure DHT published addresses have ports' +doc: +- audience: Node Dev + description: |- + We have seen instances in production where validators will propagate multiaddresses without ports. + These addresses are effectively unreachable from the networking layer perspective. + They might be discovered via: + - identify protocol + - or simply a wrongly configured CLI for public addresses + + To close the gap on this issue, this PR checks that the published addresses will always contain a port. + + Closes: + - https://github.com/paritytech/polkadot-sdk/issues/10466 + + Part of: + - https://github.com/paritytech/polkadot-sdk/issues/10425 +crates: +- name: sc-authority-discovery + bump: patch diff --git a/prdoc/pr_10955.prdoc b/prdoc/pr_10955.prdoc new file mode 100644 index 0000000000000..ee1355f7db931 --- /dev/null +++ b/prdoc/pr_10955.prdoc @@ -0,0 +1,19 @@ +title: 'Snowbridge: Remove unused proof fields' +doc: +- audience: Runtime Dev + description: |- + When verifying Ethereum-to-Polkadot transfer messages, the key field in receipt_proof is not used. Remove it as a cleanup and update the tests accordingly. + +crates: +- name: snowbridge-verification-primitives + bump: patch +- name: snowbridge-pallet-ethereum-client + bump: patch +- name: snowbridge-pallet-ethereum-client-fixtures + bump: none +- name: snowbridge-pallet-inbound-queue-fixtures + bump: none +- name: snowbridge-pallet-inbound-queue-v2-fixtures + bump: none +- name: snowbridge-pallet-outbound-queue-v2 + bump: patch diff --git a/prdoc/pr_10957.prdoc b/prdoc/pr_10957.prdoc new file mode 100644 index 0000000000000..a293a85b5b453 --- /dev/null +++ b/prdoc/pr_10957.prdoc @@ -0,0 +1,16 @@ +title: 'pallet-dap: mark funds as inactive and expect buffer account to be pre-funded' +doc: +- audience: Runtime Dev + description: |- + In pallet-dap, mark funds in the issuance buffer as inactive so they do not participate in governance. + In production, the buffer account must be pre-funded (e.g., via genesis allocation or transfer) before the pallet receives any funds. + Removed the InitBufferAccount migration since the buffer account is now expected to be pre-funded externally. + For delegated staking, redirect slashes to DAP for Westend AssetHub. + Removed DAP dependency from main staking-async crate, keep it only for test runtimes. +crates: +- name: pallet-dap + bump: major +- name: asset-hub-westend-runtime + bump: major +- name: pallet-staking-async + bump: patch diff --git a/prdoc/pr_10958.prdoc b/prdoc/pr_10958.prdoc new file mode 100644 index 0000000000000..cd8d896fbe25e --- /dev/null +++ b/prdoc/pr_10958.prdoc @@ -0,0 +1,116 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Enforce match_arm_blocks = true for consistent formatting + +doc: + - audience: Runtime Dev + description: | + Flips `match_arm_blocks` from `false` to `true` in rustfmt configuration to ensure + all multi-line match arm bodies are wrapped in braces consistently. + + This is a formatting-only change with no functional impact. It enforces a single + valid style for match arms, eliminating ambiguity that caused unnecessary diffs + when LLMs generated code with braces. + +crates: + - name: asset-hub-rococo-runtime + bump: none + - name: asset-hub-westend-runtime + bump: none + - name: bp-messages + bump: none + - name: bp-relayers + bump: none + - name: bp-runtime + bump: none + - name: bridge-hub-common + bump: none + - name: bridge-hub-rococo-runtime + bump: none + - name: bridge-hub-westend-runtime + bump: none + - name: collectives-westend-runtime + bump: none + - name: coretime-westend-runtime + bump: none + - name: cumulus-ping + bump: none + - name: emulated-integration-tests-common + bump: none + - name: frame-support + bump: none + - name: pallet-asset-conversion-tx-payment + bump: none + - name: pallet-assets-precompiles + bump: none + - name: pallet-bridge-grandpa + bump: none + - name: pallet-bridge-messages + bump: none + - name: pallet-bridge-parachains + bump: none + - name: pallet-bridge-relayers + bump: none + - name: pallet-contracts + bump: none + - name: pallet-contracts-mock-network + bump: none + - name: pallet-derivatives + bump: none + - name: pallet-election-provider-multi-block + bump: none + - name: pallet-nfts + bump: none + - name: pallet-origin-restriction + bump: none + - name: pallet-people + bump: none + - name: pallet-revive-eth-rpc + bump: none + - name: pallet-scored-pool + bump: none + - name: pallet-staking-async + bump: none + - name: pallet-uniques + bump: none + - name: pallet-xcm-bridge-hub + bump: none + - name: pallet-xcm-precompiles + bump: none + - name: parachains-runtimes-test-utils + bump: none + - name: people-westend-runtime + bump: none + - name: polkadot-omni-node-lib + bump: none + - name: polkadot-parachain-bin + bump: none + - name: sc-consensus-manual-seal + bump: none + - name: sc-consensus-pow + bump: none + - name: snowbridge-beacon-primitives + bump: none + - name: snowbridge-core + bump: none + - name: snowbridge-inbound-queue-primitives + bump: none + - name: snowbridge-outbound-queue-primitives + bump: none + - name: snowbridge-pallet-ethereum-client + bump: none + - name: snowbridge-pallet-inbound-queue + bump: none + - name: snowbridge-pallet-outbound-queue + bump: none + - name: snowbridge-pallet-system-frontend + bump: none + - name: sp-core + bump: none + - name: sp-crypto-hashing-proc-macro + bump: none + - name: sp-debug-derive + bump: none + - name: staging-chain-spec-builder + bump: none diff --git a/prdoc/pr_10960.prdoc b/prdoc/pr_10960.prdoc new file mode 100644 index 0000000000000..5c4d39c4aa21c --- /dev/null +++ b/prdoc/pr_10960.prdoc @@ -0,0 +1,13 @@ +title: Warn when dropping an out of view candidate +doc: +- audience: Node Dev + description: |- + This changes a debug log to a warning. The other log messages around the candidate state are also partially warnings. A candidate that is directly out of view counts clearly as a warning. Besides that this pull request also increases + the lookahead for Westend + Rococo to `5` to align it with Kusama. +crates: +- name: polkadot-collator-protocol + bump: patch +- name: rococo-runtime + bump: patch +- name: westend-runtime + bump: patch diff --git a/prdoc/pr_10963.prdoc b/prdoc/pr_10963.prdoc new file mode 100644 index 0000000000000..74792f14e9daf --- /dev/null +++ b/prdoc/pr_10963.prdoc @@ -0,0 +1,10 @@ +title: 'revive-eth-rpc: Use pending block for estimate_gas in dev mode' +doc: +- audience: Runtime Dev + description: |- + Use Pending as the default block for eth_estimateGas in dev mode, matching Anvil/EDR behavior. Non-dev mode continues to use Latest (go-ethereum behavior). + + Refs https://github.com/paritytech/contract-issues/issues/261 +crates: +- name: pallet-revive-eth-rpc + bump: patch diff --git a/prdoc/pr_10965.prdoc b/prdoc/pr_10965.prdoc new file mode 100644 index 0000000000000..42181d3ba2a63 --- /dev/null +++ b/prdoc/pr_10965.prdoc @@ -0,0 +1,8 @@ +title: 'fatxpool: Do not remove listener for finalized view' +doc: +- audience: Node Dev + description: |- + The transaction pool is now able to handle events for active but finalized views. This improves transaction handling for manual-seal nodes which immediately finalize. +crates: +- name: sc-transaction-pool + bump: patch diff --git a/prdoc/pr_10971.prdoc b/prdoc/pr_10971.prdoc new file mode 100644 index 0000000000000..bb1425e5f1827 --- /dev/null +++ b/prdoc/pr_10971.prdoc @@ -0,0 +1,27 @@ +title: "Implement IERC20Metadata for pallet-assets precompiles" + +doc: + - audience: Runtime Dev + description: | + Implements the missing ERC20 metadata functions (`name`, `symbol`, `decimals`) for the + pallet-assets precompile to provide full ERC20 compatibility. These functions are essential + for proper EVM wallet and tooling integration. + + The precompile implementation reads metadata from pallet-assets storage and returns properly + formatted values with appropriate gas charging using dedicated weight functions. All functions + include proper error handling for missing metadata and invalid UTF-8 encoding. + + Benchmarks have been added to measure the weight of metadata reads, and corresponding weight + functions have been implemented in the WeightInfo trait. + + The IERC20.sol interface file has been reorganized to clearly separate and document methods + from the base IERC20 interface and the IERC20Metadata extension, with links to the original + OpenZeppelin contracts for better maintainability. + +crates: + - name: ethereum-standards + bump: minor + - name: pallet-assets-precompiles + bump: minor + - name: pallet-assets + bump: minor diff --git a/prdoc/pr_10973.prdoc b/prdoc/pr_10973.prdoc new file mode 100644 index 0000000000000..9d117d37f72d3 --- /dev/null +++ b/prdoc/pr_10973.prdoc @@ -0,0 +1,12 @@ +title: 'cumulus: Remove `max_depth` for the parent search' +doc: +- audience: Node Dev + description: |- + We were just incrementing this number all the time and there is actually no need to have it, as the search is already automatically bounded. For chains with 500ms blocks and relay offset of 1 we easily go above this limit and this then leads to forks. + + So, let's remove the value. +crates: +- name: cumulus-client-consensus-aura + bump: major +- name: cumulus-client-consensus-common + bump: major diff --git a/prdoc/pr_10974.prdoc b/prdoc/pr_10974.prdoc new file mode 100644 index 0000000000000..c0a2ea90f91af --- /dev/null +++ b/prdoc/pr_10974.prdoc @@ -0,0 +1,8 @@ +title: 'slot_timer: Downgrade spammy log to debug' +doc: +- audience: Node Dev + description: "The log is quite spammy with 12core setup since the last ~2 blocks\ + \ will be skipped in the last second of block production.\r\n" +crates: +- name: cumulus-client-consensus-aura + bump: patch diff --git a/prdoc/pr_10978.prdoc b/prdoc/pr_10978.prdoc new file mode 100644 index 0000000000000..6690ac54628ca --- /dev/null +++ b/prdoc/pr_10978.prdoc @@ -0,0 +1,15 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Omni-node supports polkadot-asset-hub + +doc: + - audience: Node Operator + description: | + The `polkadot-omni-node` binary now supports polkadot-asset-hub. Other system chains where already supported, but PAH uses Ed25519, which makes it a special case. + +crates: +- name: polkadot-omni-node-lib + bump: minor +- name: polkadot-parachain-bin + bump: minor diff --git a/prdoc/pr_10980.prdoc b/prdoc/pr_10980.prdoc new file mode 100644 index 0000000000000..bd6a5c8e67dcc --- /dev/null +++ b/prdoc/pr_10980.prdoc @@ -0,0 +1,11 @@ +title: Add StakingOperator proxy type to Westend AssetHub +doc: +- audience: Runtime Dev + description: |- + Introduces StakingOperator proxy type that allows validator operational tasks (validate, chill, kick) and session key management (set_keys, purge_keys) without access to fund management operations. + + This enables pure proxy stashes to delegate validator operations: now that pallet_staking_async_rc_client provides + set_keys/purge_keys on AssetHub, pure proxies can fully utilize StakingOperator. +crates: +- name: asset-hub-westend-runtime + bump: major diff --git a/prdoc/pr_10986.prdoc b/prdoc/pr_10986.prdoc new file mode 100644 index 0000000000000..d9d36740b31fc --- /dev/null +++ b/prdoc/pr_10986.prdoc @@ -0,0 +1,10 @@ +title: '[Pool] Use active era for withdrawals' +doc: +- audience: Runtime Dev + description: Standardising using active era in pools and staking. Current Era should + only be used for election logic +crates: +- name: pallet-nomination-pools + bump: patch +- name: pallet-staking-async + bump: patch diff --git a/prdoc/pr_10998.prdoc b/prdoc/pr_10998.prdoc new file mode 100644 index 0000000000000..021268f6d6211 --- /dev/null +++ b/prdoc/pr_10998.prdoc @@ -0,0 +1,14 @@ +title: 'Cumulus: Simplify parent search for block-building' +doc: +- audience: Node Dev + description: |- + While reviewing #10973 I found once more that our parent search is totally overengineered: + - It offers the option to search branches that do not contain the pending block -> These branches can never be taken + - It returns a list of potential parents -> Nobody uses the list, we only care about the latest block that we should build on + + By eliminating these two annoyances, the code is a lot more simple and easier to follow. There are still some defensive checks that are not strictly necessary, but does not hurt to keep them. +crates: +- name: cumulus-client-consensus-common + bump: major +- name: cumulus-client-consensus-aura + bump: major diff --git a/prdoc/pr_11004.prdoc b/prdoc/pr_11004.prdoc new file mode 100644 index 0000000000000..34c3d1d5d681d --- /dev/null +++ b/prdoc/pr_11004.prdoc @@ -0,0 +1,7 @@ +title: 'Statementstore: Forward statements to light clients' +doc: +- audience: Node Dev + description: Forward statements to light clients. For now only done for testing purposes. Later on this needs to be improved to not overwhelm light clients. +crates: +- name: sc-network-statement + bump: patch diff --git a/prdoc/pr_11020.prdoc b/prdoc/pr_11020.prdoc new file mode 100644 index 0000000000000..5c875768b1689 --- /dev/null +++ b/prdoc/pr_11020.prdoc @@ -0,0 +1,7 @@ +title: 'Block Response Handler: Take protocol overhead better into account' +doc: +- audience: Node Dev + description: We now take the protobuf overhead into account. +crates: +- name: sc-network-sync + bump: patch diff --git a/prdoc/pr_11028.prdoc b/prdoc/pr_11028.prdoc new file mode 100644 index 0000000000000..a6ddc5457149b --- /dev/null +++ b/prdoc/pr_11028.prdoc @@ -0,0 +1,30 @@ +title: Add `DecodeWithMemTracking` derive to `CompactProof` +doc: +- audience: Runtime Dev + description: |- + # Description + + Add `DecodeWithMemTracking` derive to `CompactProof` in `substrate/primitives/trie/src/storage_proof.rs`. + + `StorageProof` already derived `DecodeWithMemTracking` but `CompactProof` in the same file was missed. + + ## Integration + + No integration changes required for downstream projects. `CompactProof` now implements `DecodeWithMemTracking`, which is a strictly additive trait implementation. Existing code using `CompactProof` will continue to work as before. + + ## Review Notes + + Single-line change adding `DecodeWithMemTracking` to the derive macro list on `CompactProof`: + + ```diff + -#[derive(Debug, PartialEq, Eq, Clone, Encode, Decode, TypeInfo)] + +#[derive(Debug, PartialEq, Eq, Clone, Encode, Decode, DecodeWithMemTracking, TypeInfo)] + pub struct CompactProof { + pub encoded_nodes: Vec>, + } + ``` + + `CompactProof` only contains `Vec>`, which already implements `DecodeWithMemTracking`, so the derive works without any manual implementation. +crates: +- name: sp-trie + bump: patch diff --git a/prdoc/pr_11031.prdoc b/prdoc/pr_11031.prdoc new file mode 100644 index 0000000000000..c214cb71fc6eb --- /dev/null +++ b/prdoc/pr_11031.prdoc @@ -0,0 +1,20 @@ +title: 'xcm-emulator: fix emulated integration tests for non-6s parachains' +doc: +- audience: Runtime Dev + description: |- + After `AuraDigestProvider` was introduced, emulated integration tests for parachains with + `slot_duration != relay_slot_duration` (e.g. 12s Polkadot/Kusama chains) panic because + `FixedVelocityConsensusHook` derives a parachain slot that doesn't match `CurrentSlot`. + + Fix by advancing the relay block number by `slot_duration / RELAY_CHAIN_SLOT_DURATION_MILLIS` + per parachain block (instead of always +1), and computing the aura digest slot inline using + both durations. This removes the `DigestProvider` associated type from the `Parachain` trait + and the `AuraDigestProvider` struct β€” the emulator now handles the digest automatically. + + Downstream users must remove `DigestProvider: AuraDigestProvider,` from their + `decl_test_parachains!` invocations. +crates: +- name: xcm-emulator + bump: major +- name: emulated-integration-tests-common + bump: major diff --git a/prdoc/pr_11037.prdoc b/prdoc/pr_11037.prdoc new file mode 100644 index 0000000000000..abb6b7cd4d8fb --- /dev/null +++ b/prdoc/pr_11037.prdoc @@ -0,0 +1,46 @@ +title: Consolidate pallet-assets metadata benchmarks into single get_metadata benchmark +doc: +- audience: Runtime Dev + description: |- + ## Summary + + Consolidates the three identical `get_name`, `get_symbol`, and `get_decimals` benchmarks into a single `get_metadata` benchmark. This addresses the follow-up from #10971 where it was noted that these benchmarks perform the same operation (`Pallet::get_metadata()`). + + ## Changes + + ### Benchmarks + - **`substrate/frame/assets/src/benchmarking.rs`** + - Replaced `get_name`, `get_symbol`, `get_decimals` with single `get_metadata` benchmark + - Updated verification to check all three metadata fields (name, symbol, decimals) + + ### Weight Functions + - **`substrate/frame/assets/src/weights.rs`** + - Replaced `get_name()`, `get_symbol()`, `get_decimals()` with single `get_metadata()` in `WeightInfo` trait + - Updated implementations for `SubstrateWeight` and `()` + + ### Precompile + - **`substrate/frame/assets/precompiles/src/lib.rs`** + - Updated `name()`, `symbol()`, and `decimals()` methods to all charge `get_metadata()` weight + + ### Cumulus Runtimes + Updated weight implementations in: + - `asset-hub-rococo`: `pallet_assets_foreign.rs`, `pallet_assets_local.rs`, `pallet_assets_pool.rs` + - `asset-hub-westend`: `pallet_assets_foreign.rs`, `pallet_assets_local.rs`, `pallet_assets_pool.rs` + + ## Rationale + + All three original benchmarks were measuring the exact same operation - a single metadata storage read. Consolidating them: + 1. Reduces code duplication + 2. Simplifies the `WeightInfo` trait + 3. Accurately reflects that `name()`, `symbol()`, and `decimals()` have identical costs + + Closes follow-up from https://github.com/paritytech/polkadot-sdk/pull/10971#discussion_r2782977769 +crates: +- name: asset-hub-rococo-runtime + bump: patch +- name: asset-hub-westend-runtime + bump: patch +- name: pallet-assets-precompiles + bump: patch +- name: pallet-assets + bump: patch diff --git a/prdoc/pr_11053.prdoc b/prdoc/pr_11053.prdoc new file mode 100644 index 0000000000000..6e3d369236e10 --- /dev/null +++ b/prdoc/pr_11053.prdoc @@ -0,0 +1,11 @@ +title: 'tracing-subscriber: Pin version to prevent ANSI colour code issues' +doc: +- audience: Node Dev + description: |- + Latest version of tracing-subscriber right now doesn't support ASNI colour codes correctly: https://github.com/tokio-rs/tracing/issues/3378 + + So, the workaround right now is to pin it to `0.3.19`. + + + Closes: https://github.com/paritytech/polkadot-sdk/issues/11030 +crates: [] diff --git a/prdoc/pr_11054.prdoc b/prdoc/pr_11054.prdoc new file mode 100644 index 0000000000000..5b4143004bc8a --- /dev/null +++ b/prdoc/pr_11054.prdoc @@ -0,0 +1,22 @@ +title: 'pallet-revive: minor cleanups and fixes' +doc: +- audience: Runtime Dev + description: |- + ## Summary + + Preparatory cleanup PR extracted from the EIP-7702 branch to simplify review. + + - **Counter.sol uint64**: Change `uint256` to `uint64` in Counter/NestedCounter fixtures, to avoid U256 conversion in tests. + - **Remove k256 dependency**: Replace `k256::ecdsa::SigningKey` with `sp_core::ecdsa::Pair` in benchmark signing helpers + - **Debug log**: Add debug log for `eth_transact` substrate tx hash + - **Formatting**: Fix indentation in call.rs closure body, remove stray blank line in lib.rs + - **RLP fix**: Fix `Transaction7702Signed` decoder field order (removed incorrect `gas_price` field at index 4, aligned with encoder) +crates: +- name: pallet-revive-fixtures + bump: patch +- name: pallet-revive + bump: patch + validate: false +- name: pallet-revive-eth-rpc + bump: patch + validate: false diff --git a/prdoc/pr_11055.prdoc b/prdoc/pr_11055.prdoc new file mode 100644 index 0000000000000..807475c1722e4 --- /dev/null +++ b/prdoc/pr_11055.prdoc @@ -0,0 +1,11 @@ +title: 'staking-async/ah-client: emit event when session key update from AssettHub + fails on relay chain' +doc: +- audience: Runtime Dev + description: |- + Emit SessionKeysUpdateFailed with the operation type and dispatch + error for observability so set_keys/purge_kets failures from AssetHub are observable + on-chain +crates: +- name: pallet-staking-async-ah-client + bump: major diff --git a/prdoc/pr_11069.prdoc b/prdoc/pr_11069.prdoc new file mode 100644 index 0000000000000..1e32bcd839bda --- /dev/null +++ b/prdoc/pr_11069.prdoc @@ -0,0 +1,11 @@ +title: 'frame-omni-bencher: enable jemalloc-allocator' +doc: +- audience: Runtime Dev + description: |- + Fix huge benchmark regression for storage-heavy extrinsics, enabling jemalloc-allocator via polkadot-jemalloc-shim for omni-bencher, marked as optional in the scope of PR #10590. + Revert also the dummy write/read workaround at the end of commit_db() introduced by #10947. +crates: +- name: frame-omni-bencher + bump: patch +- name: frame-benchmarking + bump: patch diff --git a/prdoc/pr_11095.prdoc b/prdoc/pr_11095.prdoc new file mode 100644 index 0000000000000..c856f5bd5e171 --- /dev/null +++ b/prdoc/pr_11095.prdoc @@ -0,0 +1,8 @@ +title: '`prefix_logs_with`: Ensure the macro works correctly for futures' +doc: +- audience: Node Dev + description: |- + When setting up a tracing span in an async future, it may gets invalidated by any `await` point. The problem is that after continuing a future, it may runs on a different thread where the `span` isn't active anymore. The solution for this is to `instrument` the future properly. +crates: +- name: sc-tracing-proc-macro + bump: patch diff --git a/prdoc/pr_11102.prdoc b/prdoc/pr_11102.prdoc new file mode 100644 index 0000000000000..82cb5666531cc --- /dev/null +++ b/prdoc/pr_11102.prdoc @@ -0,0 +1,17 @@ +title: 'polkadot-omni-node-lib: emit warnings for aura authority id type assumptions' +doc: +- audience: Node Dev + description: |- + closes https://github.com/paritytech/polkadot-sdk/issues/11026 + + This PR adds explicit warnings at node startup to surface these assumptions: + + - When the chain spec id starts with `asset-hub-polkadot` or `statemint`, + the node assumes `ed25519` as the Aura authority id type and now emits a + warning documenting this specific assumption. + - For all other chains, the node assumes `sr25519` by default and now emits + a warning noting that `ed25519` runtimes are not yet + supported. +crates: +- name: polkadot-omni-node-lib + bump: patch diff --git a/prdoc/pr_11108.prdoc b/prdoc/pr_11108.prdoc new file mode 100644 index 0000000000000..4f5620fb3c659 --- /dev/null +++ b/prdoc/pr_11108.prdoc @@ -0,0 +1,8 @@ +title: 'polkadot-runtime-api-cache: Only cache validation code that exists' +doc: +- audience: Node Dev + description: |- + Otherwise there is the possibility that nodes cache `None` and some later `force_set_code` enacts the code. Then the nodes that have cached `None` do not know that the validation code now actually exists on chain. +crates: +- name: polkadot-node-core-runtime-api + bump: patch diff --git a/prdoc/pr_11114.prdoc b/prdoc/pr_11114.prdoc new file mode 100644 index 0000000000000..da4b2770faeeb --- /dev/null +++ b/prdoc/pr_11114.prdoc @@ -0,0 +1,19 @@ +title: 'Force the linker not to drop jemalloc shim on Linux' +doc: +- audience: Runtime Dev + description: "Force the linker to keep the polkadot_jemalloc_shim crate and its\ + \ #[global_allocator] in all binaries that depend on it. Without it, the linker\ + \ might drop it since it is seen as a dependency with no referenced symbols.\ + \ The issue happens only on a subset of combination of rust version and linker\ + \ (e.g. on CI with Ubuntu 24.04, rust 1.88.0 + gcc/ld strips the jemalloc crate\ + \ from the binary but not rust 1.92.0, and also rust 1.88.0 + clang/mold works\ + \ fine).\n" +crates: +- name: frame-omni-bencher + bump: patch +- name: polkadot + bump: patch +- name: polkadot-parachain-bin + bump: patch +- name: polkadot-omni-node + bump: patch diff --git a/prdoc/pr_11115.prdoc b/prdoc/pr_11115.prdoc new file mode 100644 index 0000000000000..51621e57984c6 --- /dev/null +++ b/prdoc/pr_11115.prdoc @@ -0,0 +1,10 @@ +title: Remove MaxSessionKeysLength and MaxSessionKeysProofLength +doc: +- audience: Runtime Dev + description: |- + fixes the issue #11083 where MaxSessionKeysLength and MaxSessionKeysProofLength were unnecessary because there are not stored, just validated. +crates: +- name: pallet-staking-async-rc-client + bump: patch +- name: asset-hub-westend-runtime + bump: patch diff --git a/prdoc/pr_1739.prdoc b/prdoc/pr_1739.prdoc new file mode 100644 index 0000000000000..ddf62ec60959f --- /dev/null +++ b/prdoc/pr_1739.prdoc @@ -0,0 +1,54 @@ +title: 'Require proof for session key registration' +doc: +- audience: Node Operator + description: |- + Node operators will now need to provide a proof when registering their `SessionKeys` on chain. + A new rpc `author_rotateKeysWithOwner` is provided to generate the `SessionKeys` plus the `proof`. + Both values then need to be feed into `set_keys` as part of the transaction. + `author_rotateKeysWithOwner` is a replacement for `author_rotateKeys`. + +crates: +- name: asset-hub-westend-runtime + bump: major +- name: bridge-hub-rococo-runtime + bump: major +- name: penpal-runtime + bump: major +- name: polkadot-service + bump: major +- name: polkadot + bump: major +- name: rococo-runtime + bump: major +- name: westend-runtime + bump: major +- name: sc-rpc-api + bump: major +- name: sc-rpc + bump: major +- name: pallet-session + bump: major +- name: sp-application-crypto + bump: major +- name: sp-runtime + bump: major +- name: sp-session + bump: major +- name: pallet-collator-selection + bump: major +- name: pallet-staking + bump: major +- name: sc-rpc-spec-v2 + bump: major +- name: cumulus-pallet-session-benchmarking + bump: major +- name: pallet-session-benchmarking + bump: major +- name: sp-io + bump: major +- name: yet-another-parachain-runtime + bump: major +- name: polkadot-omni-node-lib + bump: major +- name: revive-dev-runtime + bump: major diff --git a/prdoc/pr_8175.prdoc b/prdoc/pr_8175.prdoc new file mode 100644 index 0000000000000..419fa8949cd4d --- /dev/null +++ b/prdoc/pr_8175.prdoc @@ -0,0 +1,30 @@ +title: 'Snowbridge V2: Generic inbound message processing' +doc: +- audience: Runtime Dev + description: |- + # Description + + This PR adds a new `MessageProcessor` type to the `inbound-queue-v2` pallet's config. + + This type allows to make the processing of inbound messages more generic, via the (also new) `MessageProcessor` trait, which contains the following functions: + + - `can_process_message`: a custom (light) preliminary check to ensure that the message can be processed without the need of entering the full `process_message` implementation yet. + - `process_message`: actually performs the custom inbound message processing logic. + + ## Motivation + + At the moment of inbound message processing, it might be the case that, for instance, there is no need to perform any XCM related logic, as it could happen in solo-chain contexts. + By making use of the functionality included in this PR, projects using Snowbridge can leverage this customization, implementing any kind of processing they need for inbound queue messages in a more flexible way. + + ## Note: XcmPayload's name change + + In this PR I also included a small name change for the `XcmPayload` enum. The proposed name it's just a plain `Payload`, and it still contains the same fields as before. + The reason for this change is to generalize the concept of "raw" bytes we receive in the first variant. At the moment of processing an inbound message, this bytes could be used not only as XCM but also as other kind of data. + This change doesn't imply further changes on the current Snowbridge smart contract implementations. +crates: +- name: snowbridge-pallet-inbound-queue-v2 + bump: major +- name: snowbridge-inbound-queue-primitives + bump: major +- name: bridge-hub-westend-runtime + bump: major diff --git a/prdoc/pr_8541.prdoc b/prdoc/pr_8541.prdoc new file mode 100644 index 0000000000000..74f2ea398f8ee --- /dev/null +++ b/prdoc/pr_8541.prdoc @@ -0,0 +1,26 @@ +title: 'collator-protocol-revamp: CollationManager and subsystem impl' +doc: +- audience: Node Operator + description: |- + This PR adds a new experimental validator-side collator protocol subsystem implementation, + which can be enabled via the `--experimental-collator-protocol` CLI flag. + + The new implementation introduces a reputation-based collator selection mechanism. Collators + are assigned scores based on the outcome of their submitted collations: valid included + candidates increase the score, while invalid collations or failed fetches decrease it. + When multiple collation advertisements are received, validators prioritize fetching from + higher-reputation collators first (with timestamp as a tiebreaker for equal scores). + +crates: +- name: cumulus-relay-chain-inprocess-interface + bump: patch +- name: polkadot-cli + bump: major +- name: polkadot-collator-protocol + bump: major +- name: polkadot-service + bump: major +- name: polkadot-node-subsystem-types + bump: minor +- name: polkadot-node-core-prospective-parachains + bump: patch diff --git a/prdoc/pr_9086.prdoc b/prdoc/pr_9086.prdoc new file mode 100644 index 0000000000000..b06f41efa56b0 --- /dev/null +++ b/prdoc/pr_9086.prdoc @@ -0,0 +1,8 @@ +title: Make HRMP advancement rule more restrictive +doc: +- audience: Runtime Dev + description: |- + This PR improves `check_enough_messages_included()` and makes the advancement rule more restrictive for HRMP. +crates: +- name: cumulus-pallet-parachain-system + bump: major diff --git a/prdoc/pr_9184.prdoc b/prdoc/pr_9184.prdoc new file mode 100644 index 0000000000000..b320a58f6e00b --- /dev/null +++ b/prdoc/pr_9184.prdoc @@ -0,0 +1,8 @@ +title: 'FixedPoint: Support parsing `x.y` format' +doc: +- audience: Runtime Dev + description: |- + This makes it easier to declare a fixed point value. The old format is also still supported. +crates: +- name: sp-arithmetic + bump: patch diff --git a/prdoc/pr_9452.prdoc b/prdoc/pr_9452.prdoc new file mode 100644 index 0000000000000..1ce761a31ab0b --- /dev/null +++ b/prdoc/pr_9452.prdoc @@ -0,0 +1,35 @@ +title: Add comprehensive test data for Ethereum trie root validation +doc: +- audience: Runtime Dev + description: "### Summary\n\nThis PR adds comprehensive test data for validating\ + \ Ethereum transaction and receipt trie root calculations in the `revive` crate.\ + \ It includes real-world Ethereum blocks covering all supported transaction types.\n\ + \n---\n\n### Details\n\n#### \U0001F9EA Test Data\n\n- **Expanded Test Fixtures**:\n\ + \ - Added 3 Ethereum blocks with their receipts (2 from mainnet, 1 from Sepolia\ + \ testnet)\n - Blocks include all supported transaction types (Legacy, EIP-2930,\ + \ EIP-1559, EIP-4844)\n - Test data validates `transactions_root` and `receipts_root`\ + \ calculations against real Ethereum data\n - Organized naming: `block_{block_number}_{network}.json`\ + \ and `receipts_{block_number}_{network}.json`\n\n#### \U0001F6E0\uFE0F Tooling\n\ + \n- **Test Data Collection Script**:\n - Added `get_test_data.sh` for fetching\ + \ test data from live Ethereum networks\n - Simple curl-based script that can\ + \ be extended with additional blocks\n\nBuilds on top of: https://github.com/paritytech/polkadot-sdk/pull/9418\n\ + \nPart of: https://github.com/paritytech/contract-issues/issues/139" +crates: +- name: pallet-revive + bump: minor +- name: sp-core + bump: minor +- name: asset-hub-westend-runtime + bump: minor +- name: penpal-runtime + bump: minor +- name: pallet-revive-eth-rpc + bump: minor +- name: pallet-xcm + bump: minor +- name: pallet-assets + bump: minor +- name: revive-dev-runtime + bump: minor +- name: pallet-assets-precompiles + bump: minor diff --git a/prdoc/pr_9461.prdoc b/prdoc/pr_9461.prdoc new file mode 100644 index 0000000000000..b4a4a2e19b2c2 --- /dev/null +++ b/prdoc/pr_9461.prdoc @@ -0,0 +1,19 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Expose migrating keys + +doc: + - audience: Runtime Dev + description: | + This PR introduces the ability for multi-block migrations to declare which storage prefixes they will modify, + enabling external tooling and monitoring systems to identify potentially affected state during migration execution. + + Implement `migrating_prefixes()` in your SteppedMigration to declare modified storage prefixes. + For migration collections, use `nth_migrating_prefixes()` to retrieve prefixes by index. + +crates: + - name: frame-support + bump: major + - name: pallet-migrations + bump: major diff --git a/prdoc/pr_9722.prdoc b/prdoc/pr_9722.prdoc new file mode 100644 index 0000000000000..e267c3baa3157 --- /dev/null +++ b/prdoc/pr_9722.prdoc @@ -0,0 +1,109 @@ +title: '[pallet-revive] opcode tracer' +doc: +- audience: Runtime Dev + description: | + This PR introduces a **Geth-compatible execution tracer** ([StructLogger](https://geth.ethereum.org/docs/developers/evm-tracing/built-in-tracers#struct-opcode-logger)) for pallet-revive + + The tracer can be used to capture both EVM opcode and PVM syscall. + It can be used with the same RPC endpoint as Geth StructLogger. + + + Since it can be quite resource intensive, It can only be queried from the node when the **DebugSettings** are enabled (This is turned on now by default in the dev-node) + + Tested in https://github.com/paritytech/evm-test-suite/pull/138 + + + example: + + ```sh + ❯ cast rpc debug_traceTransaction "" | jq + + # or with options + # See list of options https://geth.ethereum.org/docs/developers/evm-tracing/built-in-tracers#struct-opcode-logger + + ❯ cast rpc debug_traceTransaction "", { "tracer": { "enableMemory": true } } | jq + ``` + + The response includes additional fields compared to the original Geth debug RPC endpoints: + + For the trace: + - `weight_consumed`: same as gas but expressed in Weight + - `base_call_weight`: the base cost of the transaction + + For each step: + - `weight_cost`: same as gas_cost but expressed in Weight + + For an EVM execution, the output will look like this + + ```json + { + "gas": 4208049, + "weight_consumed": { "ref_time": 126241470000, "proof_size": 4208 }, + "base_call_weight": { "ref_time": 9000000000, "proof_size": 3000 }, + "failed": false, + "returnValue": "0x", + "structLogs": [ + { + "gas": 4109533, + "gasCost": 3, + "weight_cost": { "ref_time": 90000, "proof_size": 0 }, + "depth": 1, + "pc": 0, + "op": "PUSH1", + "stack": [] + }, + { + "gas": 4109530, + "gasCost": 3, + "weight_cost": { "ref_time": 90000, "proof_size": 0 }, + "depth": 1, + "pc": 2, + "op": "PUSH1", + "stack": [ + "0x80" + ] + }, + { + "gas": 4109527, + "gasCost": 3, + "weight_cost": { "ref_time": 90000, "proof_size": 0 }, + "depth": 1, + "pc": 4, + "op": "MSTORE", + "stack": [ + "0x80", + "0x40" + ] + }] + } + ``` + + For PVM execution, each step includes additional fields not present in Geth: + + - `args`: Array of syscall arguments (register values a0-a5) as hex strings + - `returned`: The syscall return value + + These fields are enabled by default. To disable them, use `disableSyscallDetails: true`. + + Example output with syscall details: + + ```json + { + "gas": 97108, + "gasCost": 131, + "weight_cost": { "ref_time": 3930000, "proof_size": 0 }, + "depth": 1, + "op": "call_data_load", + "args": ["0x0", "0x4"], + "returned": "0x2a" + } + ``` +crates: +- name: pallet-revive + bump: patch +- name: pallet-revive-eth-rpc + bump: patch +- name: pallet-revive-proc-macro + bump: patch +- name: revive-dev-runtime + bump: patch diff --git a/prdoc/pr_9880.prdoc b/prdoc/pr_9880.prdoc new file mode 100644 index 0000000000000..d50d6ba2118bf --- /dev/null +++ b/prdoc/pr_9880.prdoc @@ -0,0 +1,25 @@ +title: 'ah-westend: Elastic Scaling with 3 cores on AssetHub Westend' +doc: +- audience: Node Dev + description: |- + This PR enables elastic scaling on AssetHubWestend with 3 bulk cores. + + Guideline for enablement: https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/guides/enable_elastic_scaling/index.html + + ### Next Steps + - [x] Ensure collators are running with 2509 or newer + - [x] Double check the changes locally + - [ ] If AH Westend looks good, we'll enable ES to AHPaseo + + cc @paritytech/sdk-node @sandreim +crates: +- name: asset-hub-westend-runtime + bump: patch +- name: polkadot + bump: patch +- name: cumulus-pallet-parachain-system + bump: patch +- name: cumulus-client-consensus-aura + bump: patch +- name: xcm-emulator + bump: patch diff --git a/prdoc/pr_10154.prdoc b/prdoc/stable2509-3/pr_10154.prdoc similarity index 100% rename from prdoc/pr_10154.prdoc rename to prdoc/stable2509-3/pr_10154.prdoc diff --git a/prdoc/pr_10311.prdoc b/prdoc/stable2509-3/pr_10311.prdoc similarity index 100% rename from prdoc/pr_10311.prdoc rename to prdoc/stable2509-3/pr_10311.prdoc diff --git a/prdoc/pr_10362.prdoc b/prdoc/stable2509-3/pr_10362.prdoc similarity index 100% rename from prdoc/pr_10362.prdoc rename to prdoc/stable2509-3/pr_10362.prdoc diff --git a/prdoc/stable2509-3/pr_10479.prdoc b/prdoc/stable2509-3/pr_10479.prdoc new file mode 100644 index 0000000000000..66334bb42df1d --- /dev/null +++ b/prdoc/stable2509-3/pr_10479.prdoc @@ -0,0 +1,12 @@ +title: 'cargo: Update yamux to 0.13.8 to avoid panics' +doc: +- audience: Node Dev + description: |- + This PR updates rust-yamux to 0.13.8 from 0.13.6: + - https://github.com/paritytech/polkadot-sdk/issues/9169 + + This aims at not polling sockets past the point they return errors and effectively avoids panics when tungstenite websocket connections are used in combination with rust-yamux. + + + The fix was backported on 2512 but not on 2509 +crates: [] diff --git a/prdoc/pr_10525.prdoc b/prdoc/stable2509-3/pr_10525.prdoc similarity index 100% rename from prdoc/pr_10525.prdoc rename to prdoc/stable2509-3/pr_10525.prdoc diff --git a/prdoc/pr_10541.prdoc b/prdoc/stable2509-3/pr_10541.prdoc similarity index 100% rename from prdoc/pr_10541.prdoc rename to prdoc/stable2509-3/pr_10541.prdoc diff --git a/prdoc/pr_10064.prdoc b/prdoc/stable2512-1/pr_10064.prdoc similarity index 100% rename from prdoc/pr_10064.prdoc rename to prdoc/stable2512-1/pr_10064.prdoc diff --git a/prdoc/pr_10312.prdoc b/prdoc/stable2512-1/pr_10312.prdoc similarity index 100% rename from prdoc/pr_10312.prdoc rename to prdoc/stable2512-1/pr_10312.prdoc diff --git a/prdoc/pr_10365.prdoc b/prdoc/stable2512-1/pr_10365.prdoc similarity index 100% rename from prdoc/pr_10365.prdoc rename to prdoc/stable2512-1/pr_10365.prdoc diff --git a/prdoc/stable2512-1/pr_10476.prdoc b/prdoc/stable2512-1/pr_10476.prdoc new file mode 100644 index 0000000000000..12397a3dda7e2 --- /dev/null +++ b/prdoc/stable2512-1/pr_10476.prdoc @@ -0,0 +1,58 @@ +title: Allow for "Nick's Method" style deployments +doc: +- audience: Runtime Dev + description: "# Description\n\nThis pull request allows for \u201C[Nick\u2019s Method](https://weka.medium.com/how-to-send-ether-to-11-440-people-187e332566b7)\u201D\ + \ style of deploying contracts which was requested in https://github.com/paritytech/contract-issues/issues/225\ + \ and was attempted to be solved in https://github.com/paritytech/contract-issues/issues/99.\n\ + \nThe \u201CNick Method\u201D style of contract deployment is a very useful concept\ + \ to use when we wish to deploy a contract on multiple chains **with the same\ + \ address**. It allows us to do that by constructing a deployment transaction\ + \ that can be executed on any chain, thus allowing us to get the same address\ + \ for the contract\u2019s deployment on any chain.\n\nAdditionally, this method\ + \ allows for the contracts to be deployed trustlessly, meaning that if any actor\ + \ (regardless of whether they\u2019re honest or not) follow the same method for\ + \ deploying the contract then they\u2019d get the same address across all chains.\ + \ This allows anyone in the Polkadot ecosystem to take existing contracts that\ + \ use this method of deployment (e.g., `Multicall3` and the ERC-1820 registry)\ + \ and deploy them on Polkadot and there\u2019s already trust that the code is\ + \ the same.\n\nIn order to be able to use the same transaction across multiple\ + \ chains transaction authors need to:\n\n- Not include a chain id.\n- Include\ + \ a high gas limit so that the transaction works on (almost) all chains.\n\nAs\ + \ mentioned in https://github.com/paritytech/contract-issues/issues/225, this\ + \ pattern is already being used in a number of contracts. Most notably, `Multicall3`\ + \ and the ERC-1820 Registry.\n\nBefore this PR this method didn\u2019t work in\ + \ revive since the chain id was an absolute must and any transaction that didn\u2019\ + t include a chain id would fail with an `Invalid Transaction` error as seen below:\n\ + \nhttps://github.com/paritytech/polkadot-sdk/blob/c688963f51c55b3c2a16a00a33c4a086792a1544/substrate/frame/revive/src/evm/call.rs#L71-L76\n\ + \nThe above implementation misses an important detail: legacy transactions are\ + \ permitted to not have the chain id set while all other non-legacy transactions\ + \ do not permit that. Therefore, this part of the code was changed to the following:\n\ + \n```rust\nmatch (tx.chain_id, tx.r#type.as_ref()) {\n\t(None, Some(super::Byte(TYPE_LEGACY)))\ + \ => {},\n\t(Some(chain_id), ..) =>\n\t\tif chain_id != ::ChainId::get().into()\ + \ {\n\t\t\tlog::debug!(target: LOG_TARGET, \"Invalid chain_id {chain_id:?}\");\n\ + \t\t\treturn Err(InvalidTransaction::Call);\n\t\t},\n\t(None, ..) => {\n\t\tlog::debug!(target:\ + \ LOG_TARGET, \"Invalid chain_id None\");\n\t\treturn Err(InvalidTransaction::Call);\n\ + \t},\n}\n```\n\nThe above code skips the chain id check if the transaction is\ + \ of the legacy type. Otherwise, the chain id is checked. If no chain id is provided\ + \ and the transaction is not of the legacy type then we error out.\n\n## Integration\n\ + \nBe aware that we now allow for legacy transactions to not have the chain ID\ + \ set in order to allow for \u201C[Nick\u2019s Method](https://weka.medium.com/how-to-send-ether-to-11-440-people-187e332566b7)\u201D\ + \ style of contract deployment. Non-legacy transaction continue to require the\ + \ chain id to be provided.\n\n## Review Notes\n\n- The main change that this PR\ + \ makes can be found in the `substrate/frame/revive/src/evm/call.rs` file allowing\ + \ for legacy contracts to not have the chain id set.\n- Two new tests were added\ + \ with this PR:\n - `dry_run_contract_deployment_with_nick_method_works`\n -\ + \ `contract_deployment_with_nick_method_works`\n- Both of the above tests test\ + \ that \u201C[Nick\u2019s Method](https://weka.medium.com/how-to-send-ether-to-11-440-people-187e332566b7)\u201D\ + \ can be used to deploy the singleton factory contract provided in [ERC-2470](https://eips.ethereum.org/EIPS/eip-2470)\ + \ in a dry run and in an `eth_transact` call.\n- Note that the above tests needed\ + \ to modify the transaction provided in the ERC to update its gas limit (since\ + \ the provided gas limit was too low for our platform), **which breaks the whole\ + \ idea of Nick\u2019s Method where the same transaction can be submitted to the\ + \ same chain**. I suspect that https://github.com/paritytech/polkadot-sdk/pull/10393\ + \ should fix this issue with the new gas scaling." +crates: +- name: pallet-revive + bump: patch +- name: pallet-revive-eth-rpc + bump: major diff --git a/prdoc/stable2512-1/pr_10502.prdoc b/prdoc/stable2512-1/pr_10502.prdoc new file mode 100644 index 0000000000000..59a1df4fcdc48 --- /dev/null +++ b/prdoc/stable2512-1/pr_10502.prdoc @@ -0,0 +1,24 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Allow nominators to be unslashable with configurable fast unbonding + +doc: + - audience: Runtime User + description: | + Nominators can now be set as unslashable via runtime configuration. When unslashable, + nominators use a configurable fast unbonding duration instead of the full bonding period. + Validators always use the full bonding duration regardless of this setting. + + New config parameter `NominatorFastUnbondDuration` controls the unbonding time for + non-slashable nominators (recommended: 2 eras). + +crates: + - name: sp-staking + bump: minor + - name: pallet-staking-async + bump: major + - name: pallet-nomination-pools + bump: patch + - name: asset-hub-westend-runtime + bump: major diff --git a/prdoc/stable2512-1/pr_10576.prdoc b/prdoc/stable2512-1/pr_10576.prdoc new file mode 100644 index 0000000000000..e904e9e0d87f4 --- /dev/null +++ b/prdoc/stable2512-1/pr_10576.prdoc @@ -0,0 +1,33 @@ +title: 'Introduce pallet-dap for AssetHub' +doc: +- audience: Runtime Dev + description: |- + This PR introduces the foundation for the Dynamic Allocation Pool (DAP) system: + + 1. **pallet-dap**: A new pallet that implements `OnUnbalanced`, collecting funds (e.g., slashes) + into a buffer account instead of burning them. + + 2. **AssetHub Westend integration**: The runtime now uses pallet-dap to redirect staking slashes + to the DAP buffer (via `type Slash = Dap`). + + **Treasury burns are now disabled** so no need to integrate with DAP: treasury `Burn` parameter is set + to zero in Westend RC, AssetHub and collective runtimes. This means no treasury funds are burned at + the end of spend periods, preserving total issuance. + + User and pallet initiated burns do NOT go through DAP currently but they burn directly instead, reducing + total issuance immediately. It will be addressed in a follow-up change. +crates: +- name: pallet-dap + bump: patch +- name: polkadot-sdk + bump: minor +- name: asset-hub-westend-runtime + bump: major +- name: westend-runtime + bump: major +- name: pallet-staking-async + bump: minor +- name: pallet-staking-async-parachain-runtime + bump: major +- name: pallet-staking-async-rc-runtime + bump: major diff --git a/prdoc/stable2512-1/pr_10646.prdoc b/prdoc/stable2512-1/pr_10646.prdoc new file mode 100644 index 0000000000000..5159735ccaaba --- /dev/null +++ b/prdoc/stable2512-1/pr_10646.prdoc @@ -0,0 +1,17 @@ +title: Update asset-conversion validation to use strict withdrawal checks +doc: +- audience: Runtime Dev + description: |- + ## Description + + Updates the transaction validation logic in `asset-conversion-tx-payment`. + + The validation step currently accepts permissive withdrawal consequences (`ReducedToZero`, `WouldDie`) in [Native assets](https://github.com/paritytech/polkadot-sdk/blob/b76e91acc953e682b3ddcfc45ecacaaf26c694a1/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/payment.rs#L194-L195) and [Exchanged asset ](https://github.com/paritytech/polkadot-sdk/blob/b76e91acc953e682b3ddcfc45ecacaaf26c694a1/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/payment.rs#L212-L213). However, the underlying `withdraw` calls utilize `Preservation::Preserve`, [Native assets](https://github.com/paritytech/polkadot-sdk/blob/b76e91acc953e682b3ddcfc45ecacaaf26c694a1/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/payment.rs#L131) and [Exchanged asset](https://github.com/paritytech/polkadot-sdk/blob/b76e91acc953e682b3ddcfc45ecacaaf26c694a1/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/payment.rs#L150) + + This change updates the match pattern to strictly accept `WithdrawConsequence::Success`, ensuring the validation logic correctly mirrors the strict preservation guarantees of the actual withdrawal + + ## Changes + - Restricted `can_withdraw` checks to only accept `Success`. +crates: +- name: pallet-asset-conversion-tx-payment + bump: patch diff --git a/prdoc/stable2512-1/pr_10657.prdoc b/prdoc/stable2512-1/pr_10657.prdoc new file mode 100644 index 0000000000000..06402f83be214 --- /dev/null +++ b/prdoc/stable2512-1/pr_10657.prdoc @@ -0,0 +1,9 @@ +title: 'Add support for asset V3 to V5 conversion to match_asset of localPay' +doc: +- audience: Runtime Dev + description: |- + Add support for asset V3 to V5 conversion to match_asset of localPay. + +crates: +- name: parachains-common + bump: patch \ No newline at end of file diff --git a/prdoc/stable2512-1/pr_10708.prdoc b/prdoc/stable2512-1/pr_10708.prdoc new file mode 100644 index 0000000000000..90e7a1d7764cf --- /dev/null +++ b/prdoc/stable2512-1/pr_10708.prdoc @@ -0,0 +1,37 @@ +title: '[stable2512] pallet_revive changes' +doc: +- audience: Runtime Dev + description: |- + Backport all the changes we applied in https://github.com/paritytech/polkadot-sdk/pull/10552, + + This is so the next runtime upgrade will not be a downgrade in terms of `pallet_revive` as we backported a substantial amount of code to `unstable2507`. +crates: +- name: asset-hub-westend-runtime + bump: minor +- name: assets-common + bump: minor +- name: penpal-runtime + bump: minor +- name: pallet-xcm-precompiles + bump: patch +- name: pallet-assets-precompiles + bump: patch +- name: pallet-contracts + bump: patch +- name: pallet-revive + bump: minor + validate: false +- name: revive-dev-runtime + bump: minor +- name: pallet-revive-fixtures + bump: minor + validate: false +- name: pallet-revive-proc-macro + bump: patch +- name: pallet-revive-eth-rpc + bump: minor + validate: false +- name: pallet-revive-uapi + bump: minor +- name: substrate-wasm-builder + bump: minor diff --git a/prdoc/stable2512-1/pr_10711.prdoc b/prdoc/stable2512-1/pr_10711.prdoc new file mode 100644 index 0000000000000..b87ddcc9acb30 --- /dev/null +++ b/prdoc/stable2512-1/pr_10711.prdoc @@ -0,0 +1,18 @@ +title: Fix benchmarking for pallet-assets::set_reserves() +doc: +- audience: Runtime Dev + description: Parametrize pallet-assets::set_reserves() weight based on number of + reserves provided instead of always assuming worst-case. +crates: +- name: asset-hub-rococo-runtime + bump: minor +- name: asset-hub-westend-runtime + bump: minor +- name: pallet-assets + bump: minor +- name: emulated-integration-tests-common + bump: minor +- name: assets-common + bump: minor +- name: asset-test-utils + bump: minor diff --git a/prdoc/stable2512-1/pr_10740.prdoc b/prdoc/stable2512-1/pr_10740.prdoc new file mode 100644 index 0000000000000..15b3c7c56315c --- /dev/null +++ b/prdoc/stable2512-1/pr_10740.prdoc @@ -0,0 +1,14 @@ +title: Make BlockRatioFee no longer require pallet_revive +doc: +- audience: Runtime Dev + description: In https://github.com/polkadot-fellows/runtimes/pull/1050 I am unifying + the used `WeightToFee` formula to use `BlockRatioFee` everywhere. This type is + exported by `pallet_revive` and is independent of any functionality here. However, + so far it required the runtime to use `pallet_revive` in order to discover the + `Balance` type. This PR removes this constraint so it can be used by all runtimes. + Even the ones which do not use `pallet_revive`. +crates: +- name: revive-dev-runtime + bump: minor +- name: pallet-revive + bump: major diff --git a/prdoc/stable2512-1/pr_10792.prdoc b/prdoc/stable2512-1/pr_10792.prdoc new file mode 100644 index 0000000000000..5bf691bf13d89 --- /dev/null +++ b/prdoc/stable2512-1/pr_10792.prdoc @@ -0,0 +1,14 @@ +title: 'pallet-broker: Fix `force_reserve`' +doc: +- audience: Runtime Dev + description: "When issuing a `force_reserve` we are putting the reservation into\ + \ the current and next region `WorkPlan`. The issue is that at the next sale rotation\ + \ we override all unused cores. As the sale rotation isn't aware of the forcefully\ + \ registered core, also the force reserved core is overwritten and the parachain\ + \ loses their coretime for one region (it comes back in the next region). To\ + \ fix this we now keep track of forcefully registered reserves. We input them\ + \ alongside the other reservations into the workplan, but for the current region\ + \ using any free cores from the previous sale.\r\n" +crates: +- name: pallet-broker + bump: minor diff --git a/prdoc/stable2512-1/pr_10802.prdoc b/prdoc/stable2512-1/pr_10802.prdoc new file mode 100644 index 0000000000000..6163a8b6cf735 --- /dev/null +++ b/prdoc/stable2512-1/pr_10802.prdoc @@ -0,0 +1,15 @@ +title: 'benchmarking: fix timing leak from bulk setup operations' +doc: +- audience: Runtime Dev + description: |- + Fixes timing leaks in benchmarks with large setup operations (e.g., clearing + 27k staking entries). After bulk deletions are committed, the first new allocation + can trigger memory allocator overhead that leaks into benchmark timing. + + The fix adds a memory allocator warmup step in `commit_db()` that performs a + dummy write/clear cycle to absorb this overhead before timing starts. +crates: +- name: frame-benchmarking + bump: patch +- name: asset-hub-westend-runtime + bump: patch diff --git a/prdoc/stable2512-1/pr_10859.prdoc b/prdoc/stable2512-1/pr_10859.prdoc new file mode 100644 index 0000000000000..eb03564343fdc --- /dev/null +++ b/prdoc/stable2512-1/pr_10859.prdoc @@ -0,0 +1,14 @@ +title: Upgrade litep2p to v0.13.0 +doc: +- audience: Node Dev + description: |- + This PR upgrades litep2p to the latest version, bringing multiple fixes with this release. + + Specifically, this release enhances WebSocket stability by resolving `AsyncWrite` errors and ensuring that partial writes during the negotiation phase no longer trigger connection failures. + + It also fixes large file download using Bitswap protocol by grouping blocks into batches of <= 2 MiB. +crates: +- name: sc-network + bump: major +- name: sc-network-types + bump: major diff --git a/prdoc/stable2512-1/pr_10861.prdoc b/prdoc/stable2512-1/pr_10861.prdoc new file mode 100644 index 0000000000000..7fcdb09dddd72 --- /dev/null +++ b/prdoc/stable2512-1/pr_10861.prdoc @@ -0,0 +1,10 @@ +title: '[pallet-revive] weight charge in `sr25519_verify` and `ecdsa_to_eth_address` + precompiles' +doc: +- audience: Runtime Dev + description: I couldn't see where the weight is charged in those builtin pre-compiles + and a quick test indicated that there's no charges implemented. Assuming those + are compute-heavy functions, the missing weight charges seem like a DoS vector. +crates: +- name: pallet-revive + bump: patch diff --git a/prdoc/pr_10000.prdoc b/prdoc/stable2512/pr_10000.prdoc similarity index 100% rename from prdoc/pr_10000.prdoc rename to prdoc/stable2512/pr_10000.prdoc diff --git a/prdoc/pr_10008.prdoc b/prdoc/stable2512/pr_10008.prdoc similarity index 100% rename from prdoc/pr_10008.prdoc rename to prdoc/stable2512/pr_10008.prdoc diff --git a/prdoc/pr_10016.prdoc b/prdoc/stable2512/pr_10016.prdoc similarity index 100% rename from prdoc/pr_10016.prdoc rename to prdoc/stable2512/pr_10016.prdoc diff --git a/prdoc/pr_10020.prdoc b/prdoc/stable2512/pr_10020.prdoc similarity index 100% rename from prdoc/pr_10020.prdoc rename to prdoc/stable2512/pr_10020.prdoc diff --git a/prdoc/pr_10024.prdoc b/prdoc/stable2512/pr_10024.prdoc similarity index 100% rename from prdoc/pr_10024.prdoc rename to prdoc/stable2512/pr_10024.prdoc diff --git a/prdoc/pr_10026.prdoc b/prdoc/stable2512/pr_10026.prdoc similarity index 100% rename from prdoc/pr_10026.prdoc rename to prdoc/stable2512/pr_10026.prdoc diff --git a/prdoc/pr_10027.prdoc b/prdoc/stable2512/pr_10027.prdoc similarity index 100% rename from prdoc/pr_10027.prdoc rename to prdoc/stable2512/pr_10027.prdoc diff --git a/prdoc/pr_10032.prdoc b/prdoc/stable2512/pr_10032.prdoc similarity index 100% rename from prdoc/pr_10032.prdoc rename to prdoc/stable2512/pr_10032.prdoc diff --git a/prdoc/pr_10041.prdoc b/prdoc/stable2512/pr_10041.prdoc similarity index 100% rename from prdoc/pr_10041.prdoc rename to prdoc/stable2512/pr_10041.prdoc diff --git a/prdoc/pr_10047.prdoc b/prdoc/stable2512/pr_10047.prdoc similarity index 100% rename from prdoc/pr_10047.prdoc rename to prdoc/stable2512/pr_10047.prdoc diff --git a/prdoc/pr_10048.prdoc b/prdoc/stable2512/pr_10048.prdoc similarity index 100% rename from prdoc/pr_10048.prdoc rename to prdoc/stable2512/pr_10048.prdoc diff --git a/prdoc/pr_10056.prdoc b/prdoc/stable2512/pr_10056.prdoc similarity index 100% rename from prdoc/pr_10056.prdoc rename to prdoc/stable2512/pr_10056.prdoc diff --git a/prdoc/pr_10065.prdoc b/prdoc/stable2512/pr_10065.prdoc similarity index 100% rename from prdoc/pr_10065.prdoc rename to prdoc/stable2512/pr_10065.prdoc diff --git a/prdoc/pr_10071.prdoc b/prdoc/stable2512/pr_10071.prdoc similarity index 100% rename from prdoc/pr_10071.prdoc rename to prdoc/stable2512/pr_10071.prdoc diff --git a/prdoc/pr_10080.prdoc b/prdoc/stable2512/pr_10080.prdoc similarity index 100% rename from prdoc/pr_10080.prdoc rename to prdoc/stable2512/pr_10080.prdoc diff --git a/prdoc/pr_10083.prdoc b/prdoc/stable2512/pr_10083.prdoc similarity index 100% rename from prdoc/pr_10083.prdoc rename to prdoc/stable2512/pr_10083.prdoc diff --git a/prdoc/pr_10089.prdoc b/prdoc/stable2512/pr_10089.prdoc similarity index 100% rename from prdoc/pr_10089.prdoc rename to prdoc/stable2512/pr_10089.prdoc diff --git a/prdoc/pr_10090.prdoc b/prdoc/stable2512/pr_10090.prdoc similarity index 100% rename from prdoc/pr_10090.prdoc rename to prdoc/stable2512/pr_10090.prdoc diff --git a/prdoc/pr_10100.prdoc b/prdoc/stable2512/pr_10100.prdoc similarity index 100% rename from prdoc/pr_10100.prdoc rename to prdoc/stable2512/pr_10100.prdoc diff --git a/prdoc/pr_10102.prdoc b/prdoc/stable2512/pr_10102.prdoc similarity index 100% rename from prdoc/pr_10102.prdoc rename to prdoc/stable2512/pr_10102.prdoc diff --git a/prdoc/pr_10103.prdoc b/prdoc/stable2512/pr_10103.prdoc similarity index 100% rename from prdoc/pr_10103.prdoc rename to prdoc/stable2512/pr_10103.prdoc diff --git a/prdoc/pr_10106.prdoc b/prdoc/stable2512/pr_10106.prdoc similarity index 100% rename from prdoc/pr_10106.prdoc rename to prdoc/stable2512/pr_10106.prdoc diff --git a/prdoc/pr_10109.prdoc b/prdoc/stable2512/pr_10109.prdoc similarity index 100% rename from prdoc/pr_10109.prdoc rename to prdoc/stable2512/pr_10109.prdoc diff --git a/prdoc/pr_10113.prdoc b/prdoc/stable2512/pr_10113.prdoc similarity index 100% rename from prdoc/pr_10113.prdoc rename to prdoc/stable2512/pr_10113.prdoc diff --git a/prdoc/pr_10117.prdoc b/prdoc/stable2512/pr_10117.prdoc similarity index 100% rename from prdoc/pr_10117.prdoc rename to prdoc/stable2512/pr_10117.prdoc diff --git a/prdoc/pr_10120.prdoc b/prdoc/stable2512/pr_10120.prdoc similarity index 100% rename from prdoc/pr_10120.prdoc rename to prdoc/stable2512/pr_10120.prdoc diff --git a/prdoc/pr_10126.prdoc b/prdoc/stable2512/pr_10126.prdoc similarity index 100% rename from prdoc/pr_10126.prdoc rename to prdoc/stable2512/pr_10126.prdoc diff --git a/prdoc/pr_10127.prdoc b/prdoc/stable2512/pr_10127.prdoc similarity index 100% rename from prdoc/pr_10127.prdoc rename to prdoc/stable2512/pr_10127.prdoc diff --git a/prdoc/pr_10129.prdoc b/prdoc/stable2512/pr_10129.prdoc similarity index 100% rename from prdoc/pr_10129.prdoc rename to prdoc/stable2512/pr_10129.prdoc diff --git a/prdoc/pr_10145.prdoc b/prdoc/stable2512/pr_10145.prdoc similarity index 100% rename from prdoc/pr_10145.prdoc rename to prdoc/stable2512/pr_10145.prdoc diff --git a/prdoc/pr_10146.prdoc b/prdoc/stable2512/pr_10146.prdoc similarity index 100% rename from prdoc/pr_10146.prdoc rename to prdoc/stable2512/pr_10146.prdoc diff --git a/prdoc/pr_10147.prdoc b/prdoc/stable2512/pr_10147.prdoc similarity index 100% rename from prdoc/pr_10147.prdoc rename to prdoc/stable2512/pr_10147.prdoc diff --git a/prdoc/pr_10148.prdoc b/prdoc/stable2512/pr_10148.prdoc similarity index 100% rename from prdoc/pr_10148.prdoc rename to prdoc/stable2512/pr_10148.prdoc diff --git a/prdoc/pr_10151.prdoc b/prdoc/stable2512/pr_10151.prdoc similarity index 100% rename from prdoc/pr_10151.prdoc rename to prdoc/stable2512/pr_10151.prdoc diff --git a/prdoc/pr_10153.prdoc b/prdoc/stable2512/pr_10153.prdoc similarity index 100% rename from prdoc/pr_10153.prdoc rename to prdoc/stable2512/pr_10153.prdoc diff --git a/prdoc/stable2512/pr_10154.prdoc b/prdoc/stable2512/pr_10154.prdoc new file mode 100644 index 0000000000000..3ccfb6ad34b31 --- /dev/null +++ b/prdoc/stable2512/pr_10154.prdoc @@ -0,0 +1,12 @@ +title: 'aura/slot_based: Reduce authoring duration of the last produced block ' +doc: +- audience: Node Dev + description: |- + This PR adjusts the block authoring to stop producing blocks 1 second before the scheduled slot change. + This introduces a safety buffer to prevent blocks from being authored too late wrt when next author is expected to produce a block. + - 2s blocks / 3 cores: The authoring duration of the last block is reduced from 2s to 1s. + - 500ms blocks / 12 cores: The authoring duration cannot be reduced past 500ms, therefore the last two blocks are no longer authored + +crates: +- name: cumulus-client-consensus-aura + bump: patch diff --git a/prdoc/pr_10155.prdoc b/prdoc/stable2512/pr_10155.prdoc similarity index 100% rename from prdoc/pr_10155.prdoc rename to prdoc/stable2512/pr_10155.prdoc diff --git a/prdoc/pr_10157.prdoc b/prdoc/stable2512/pr_10157.prdoc similarity index 100% rename from prdoc/pr_10157.prdoc rename to prdoc/stable2512/pr_10157.prdoc diff --git a/prdoc/pr_10158.prdoc b/prdoc/stable2512/pr_10158.prdoc similarity index 100% rename from prdoc/pr_10158.prdoc rename to prdoc/stable2512/pr_10158.prdoc diff --git a/prdoc/pr_10159.prdoc b/prdoc/stable2512/pr_10159.prdoc similarity index 100% rename from prdoc/pr_10159.prdoc rename to prdoc/stable2512/pr_10159.prdoc diff --git a/prdoc/pr_10160.prdoc b/prdoc/stable2512/pr_10160.prdoc similarity index 100% rename from prdoc/pr_10160.prdoc rename to prdoc/stable2512/pr_10160.prdoc diff --git a/prdoc/pr_10162.prdoc b/prdoc/stable2512/pr_10162.prdoc similarity index 100% rename from prdoc/pr_10162.prdoc rename to prdoc/stable2512/pr_10162.prdoc diff --git a/prdoc/pr_10168.prdoc b/prdoc/stable2512/pr_10168.prdoc similarity index 100% rename from prdoc/pr_10168.prdoc rename to prdoc/stable2512/pr_10168.prdoc diff --git a/prdoc/pr_10169.prdoc b/prdoc/stable2512/pr_10169.prdoc similarity index 100% rename from prdoc/pr_10169.prdoc rename to prdoc/stable2512/pr_10169.prdoc diff --git a/prdoc/pr_10175.prdoc b/prdoc/stable2512/pr_10175.prdoc similarity index 100% rename from prdoc/pr_10175.prdoc rename to prdoc/stable2512/pr_10175.prdoc diff --git a/prdoc/pr_10179.prdoc b/prdoc/stable2512/pr_10179.prdoc similarity index 100% rename from prdoc/pr_10179.prdoc rename to prdoc/stable2512/pr_10179.prdoc diff --git a/prdoc/pr_10186.prdoc b/prdoc/stable2512/pr_10186.prdoc similarity index 100% rename from prdoc/pr_10186.prdoc rename to prdoc/stable2512/pr_10186.prdoc diff --git a/prdoc/pr_10191.prdoc b/prdoc/stable2512/pr_10191.prdoc similarity index 100% rename from prdoc/pr_10191.prdoc rename to prdoc/stable2512/pr_10191.prdoc diff --git a/prdoc/pr_10192.prdoc b/prdoc/stable2512/pr_10192.prdoc similarity index 100% rename from prdoc/pr_10192.prdoc rename to prdoc/stable2512/pr_10192.prdoc diff --git a/prdoc/pr_10193.prdoc b/prdoc/stable2512/pr_10193.prdoc similarity index 100% rename from prdoc/pr_10193.prdoc rename to prdoc/stable2512/pr_10193.prdoc diff --git a/prdoc/pr_10194.prdoc b/prdoc/stable2512/pr_10194.prdoc similarity index 100% rename from prdoc/pr_10194.prdoc rename to prdoc/stable2512/pr_10194.prdoc diff --git a/prdoc/pr_10202.prdoc b/prdoc/stable2512/pr_10202.prdoc similarity index 100% rename from prdoc/pr_10202.prdoc rename to prdoc/stable2512/pr_10202.prdoc diff --git a/prdoc/pr_10205.prdoc b/prdoc/stable2512/pr_10205.prdoc similarity index 100% rename from prdoc/pr_10205.prdoc rename to prdoc/stable2512/pr_10205.prdoc diff --git a/prdoc/pr_10213.prdoc b/prdoc/stable2512/pr_10213.prdoc similarity index 100% rename from prdoc/pr_10213.prdoc rename to prdoc/stable2512/pr_10213.prdoc diff --git a/prdoc/pr_10214.prdoc b/prdoc/stable2512/pr_10214.prdoc similarity index 100% rename from prdoc/pr_10214.prdoc rename to prdoc/stable2512/pr_10214.prdoc diff --git a/prdoc/pr_10220.prdoc b/prdoc/stable2512/pr_10220.prdoc similarity index 100% rename from prdoc/pr_10220.prdoc rename to prdoc/stable2512/pr_10220.prdoc diff --git a/prdoc/pr_10224.prdoc b/prdoc/stable2512/pr_10224.prdoc similarity index 100% rename from prdoc/pr_10224.prdoc rename to prdoc/stable2512/pr_10224.prdoc diff --git a/prdoc/pr_10225.prdoc b/prdoc/stable2512/pr_10225.prdoc similarity index 100% rename from prdoc/pr_10225.prdoc rename to prdoc/stable2512/pr_10225.prdoc diff --git a/prdoc/pr_10233.prdoc b/prdoc/stable2512/pr_10233.prdoc similarity index 100% rename from prdoc/pr_10233.prdoc rename to prdoc/stable2512/pr_10233.prdoc diff --git a/prdoc/pr_10239.prdoc b/prdoc/stable2512/pr_10239.prdoc similarity index 100% rename from prdoc/pr_10239.prdoc rename to prdoc/stable2512/pr_10239.prdoc diff --git a/prdoc/pr_10242.prdoc b/prdoc/stable2512/pr_10242.prdoc similarity index 100% rename from prdoc/pr_10242.prdoc rename to prdoc/stable2512/pr_10242.prdoc diff --git a/prdoc/pr_10249.prdoc b/prdoc/stable2512/pr_10249.prdoc similarity index 100% rename from prdoc/pr_10249.prdoc rename to prdoc/stable2512/pr_10249.prdoc diff --git a/prdoc/pr_10252.prdoc b/prdoc/stable2512/pr_10252.prdoc similarity index 100% rename from prdoc/pr_10252.prdoc rename to prdoc/stable2512/pr_10252.prdoc diff --git a/prdoc/pr_10262.prdoc b/prdoc/stable2512/pr_10262.prdoc similarity index 100% rename from prdoc/pr_10262.prdoc rename to prdoc/stable2512/pr_10262.prdoc diff --git a/prdoc/pr_10263.prdoc b/prdoc/stable2512/pr_10263.prdoc similarity index 100% rename from prdoc/pr_10263.prdoc rename to prdoc/stable2512/pr_10263.prdoc diff --git a/prdoc/pr_10267.prdoc b/prdoc/stable2512/pr_10267.prdoc similarity index 100% rename from prdoc/pr_10267.prdoc rename to prdoc/stable2512/pr_10267.prdoc diff --git a/prdoc/pr_10271.prdoc b/prdoc/stable2512/pr_10271.prdoc similarity index 100% rename from prdoc/pr_10271.prdoc rename to prdoc/stable2512/pr_10271.prdoc diff --git a/prdoc/pr_10272.prdoc b/prdoc/stable2512/pr_10272.prdoc similarity index 100% rename from prdoc/pr_10272.prdoc rename to prdoc/stable2512/pr_10272.prdoc diff --git a/prdoc/pr_10281.prdoc b/prdoc/stable2512/pr_10281.prdoc similarity index 100% rename from prdoc/pr_10281.prdoc rename to prdoc/stable2512/pr_10281.prdoc diff --git a/prdoc/pr_10284.prdoc b/prdoc/stable2512/pr_10284.prdoc similarity index 100% rename from prdoc/pr_10284.prdoc rename to prdoc/stable2512/pr_10284.prdoc diff --git a/prdoc/pr_10286.prdoc b/prdoc/stable2512/pr_10286.prdoc similarity index 100% rename from prdoc/pr_10286.prdoc rename to prdoc/stable2512/pr_10286.prdoc diff --git a/prdoc/pr_10290.prdoc b/prdoc/stable2512/pr_10290.prdoc similarity index 100% rename from prdoc/pr_10290.prdoc rename to prdoc/stable2512/pr_10290.prdoc diff --git a/prdoc/pr_10297.prdoc b/prdoc/stable2512/pr_10297.prdoc similarity index 100% rename from prdoc/pr_10297.prdoc rename to prdoc/stable2512/pr_10297.prdoc diff --git a/prdoc/pr_10298.prdoc b/prdoc/stable2512/pr_10298.prdoc similarity index 100% rename from prdoc/pr_10298.prdoc rename to prdoc/stable2512/pr_10298.prdoc diff --git a/prdoc/pr_10300.prdoc b/prdoc/stable2512/pr_10300.prdoc similarity index 100% rename from prdoc/pr_10300.prdoc rename to prdoc/stable2512/pr_10300.prdoc diff --git a/prdoc/pr_10303.prdoc b/prdoc/stable2512/pr_10303.prdoc similarity index 100% rename from prdoc/pr_10303.prdoc rename to prdoc/stable2512/pr_10303.prdoc diff --git a/prdoc/pr_10304.prdoc b/prdoc/stable2512/pr_10304.prdoc similarity index 100% rename from prdoc/pr_10304.prdoc rename to prdoc/stable2512/pr_10304.prdoc diff --git a/prdoc/pr_10305.prdoc b/prdoc/stable2512/pr_10305.prdoc similarity index 100% rename from prdoc/pr_10305.prdoc rename to prdoc/stable2512/pr_10305.prdoc diff --git a/prdoc/stable2512/pr_10311.prdoc b/prdoc/stable2512/pr_10311.prdoc new file mode 100644 index 0000000000000..fc9b25193bece --- /dev/null +++ b/prdoc/stable2512/pr_10311.prdoc @@ -0,0 +1,20 @@ +title: '[Staking] Async Elections Post AHM' +doc: +- audience: Runtime Dev + description: |- + Staking elections can be configured so they run as soon as the era starts, but their results are buffered and + only sent to RC after the end of session `n - 2` and before start of session `n - 1`, assuming the new validator set + must activate at end of session `n`. + + This helps us avoid difficulty of timing the election precisely as elections are long running and can sometimes + take longer than usual. + + See documentation for `pallet_staking_async::Config::PlanningEraOffset` and + `pallet_staking_async_rc_client::Config::ValidatorSetExportSession` to learn more. +crates: +- name: pallet-staking-async + bump: major +- name: pallet-staking-async-rc-client + bump: major +- name: asset-hub-westend-runtime + bump: major diff --git a/prdoc/pr_10313.prdoc b/prdoc/stable2512/pr_10313.prdoc similarity index 100% rename from prdoc/pr_10313.prdoc rename to prdoc/stable2512/pr_10313.prdoc diff --git a/prdoc/pr_10329.prdoc b/prdoc/stable2512/pr_10329.prdoc similarity index 100% rename from prdoc/pr_10329.prdoc rename to prdoc/stable2512/pr_10329.prdoc diff --git a/prdoc/pr_10333.prdoc b/prdoc/stable2512/pr_10333.prdoc similarity index 100% rename from prdoc/pr_10333.prdoc rename to prdoc/stable2512/pr_10333.prdoc diff --git a/prdoc/pr_10336.prdoc b/prdoc/stable2512/pr_10336.prdoc similarity index 100% rename from prdoc/pr_10336.prdoc rename to prdoc/stable2512/pr_10336.prdoc diff --git a/prdoc/pr_10337.prdoc b/prdoc/stable2512/pr_10337.prdoc similarity index 100% rename from prdoc/pr_10337.prdoc rename to prdoc/stable2512/pr_10337.prdoc diff --git a/prdoc/pr_10347.prdoc b/prdoc/stable2512/pr_10347.prdoc similarity index 100% rename from prdoc/pr_10347.prdoc rename to prdoc/stable2512/pr_10347.prdoc diff --git a/prdoc/stable2512/pr_10362.prdoc b/prdoc/stable2512/pr_10362.prdoc new file mode 100644 index 0000000000000..edcb652b3d512 --- /dev/null +++ b/prdoc/stable2512/pr_10362.prdoc @@ -0,0 +1,27 @@ +title: 'net/peerset: Optimize substream opening duration for `SetReservedPeers`' +doc: +- audience: Node Dev + description: |- + While triaging the Versi-net, I've discovered that the connection between collators and validators sometimes takes less than 20ms, while at other times it takes more than 500ms. + + In both cases, the validators are already connected to a different protocol. Therefore, opening and negotiating substreams must be almost instant. + + The slot timer of the peerset artificially introduces the delay: + - The `SetReservedPeers` is received by the peerset. At this step, the peerset propagated the `closedSubstream` to signal that it wants to disconnect previously reserved peers. + - At the next slot allocation timer tick (after 1s), the newly added reserved peers are requested to be connected + + This can introduce an artificial delay of up to 1s, which is unnecessary. + + To mitigate this behavior, this PR: + - Transforms the ` enum PeersetNotificationCommand` into a structure. Effectively, the peerset can specify directly to close some substreams and open other substreams + - Upon receiving the `SetReservedPeers` command, peers are moved into the `Opening` state and the request is propagated to the litep2p to open substreams. + - The behavior of the slot allocation timer remains identical. This is needed to capture the following edge cases: + - The reserved peer of the `SetReservedPeers` is not disconnected, but backoff / pending closing. + - The reserved peer is banned + + cc @paritytech/networking + + Detected during versi-net triaging of elastic scaling: https://github.com/paritytech/polkadot-sdk/issues/10310#issuecomment-3543395157 +crates: +- name: sc-network + bump: patch diff --git a/prdoc/pr_10390.prdoc b/prdoc/stable2512/pr_10390.prdoc similarity index 100% rename from prdoc/pr_10390.prdoc rename to prdoc/stable2512/pr_10390.prdoc diff --git a/prdoc/pr_10416.prdoc b/prdoc/stable2512/pr_10416.prdoc similarity index 100% rename from prdoc/pr_10416.prdoc rename to prdoc/stable2512/pr_10416.prdoc diff --git a/prdoc/pr_10445.prdoc b/prdoc/stable2512/pr_10445.prdoc similarity index 100% rename from prdoc/pr_10445.prdoc rename to prdoc/stable2512/pr_10445.prdoc diff --git a/prdoc/pr_10446.prdoc b/prdoc/stable2512/pr_10446.prdoc similarity index 100% rename from prdoc/pr_10446.prdoc rename to prdoc/stable2512/pr_10446.prdoc diff --git a/prdoc/pr_10495.prdoc b/prdoc/stable2512/pr_10495.prdoc similarity index 100% rename from prdoc/pr_10495.prdoc rename to prdoc/stable2512/pr_10495.prdoc diff --git a/prdoc/pr_10503.prdoc b/prdoc/stable2512/pr_10503.prdoc similarity index 100% rename from prdoc/pr_10503.prdoc rename to prdoc/stable2512/pr_10503.prdoc diff --git a/prdoc/stable2512/pr_10525.prdoc b/prdoc/stable2512/pr_10525.prdoc new file mode 100644 index 0000000000000..97f92fd16d79e --- /dev/null +++ b/prdoc/stable2512/pr_10525.prdoc @@ -0,0 +1,30 @@ +title: 'fix(rpc-spec-v2): best block not announced immediately after initialised' +doc: +- audience: Node Dev + description: |- + # Description + + Fixes https://github.com/polkadot-api/polkadot-api/issues/1244 + + The current chainHead_v1 implementation is [not spec-compliant](https://paritytech.github.io/json-rpc-interface-spec/api/chainHead_v1_follow.html), as it states: + + > - Generates an `initialized` notification + > - Generates one `newBlock` notification for each non-finalized block + > - Then a `bestBlockChanged` notification + > - When a new block arrives, generates a `newBlock` notification + > - When the node finalizes a block, generates a `finalized` notification + + And the current implemention only emits the `bestBlockChanged` notification after initialized iif the best block is different from the finalized block. + + PAPI recently is using this part of the spec as an assumption. Most chains are unaffected, but those that produce blocks on-demand (e.g. manual-seal) then have polkadot-api hanging until there's a higher block different than the finalized one. + + ## Integration + + This PR doesn't change any of the APIs of the node. Upgrade should be automatic. + + ## Review Notes + + This PR removes that condition so that the `bestBlockChanged` notification is always emited. All tests are updated to this new behaviour +crates: +- name: sc-rpc-spec-v2 + bump: major diff --git a/prdoc/stable2512/pr_10541.prdoc b/prdoc/stable2512/pr_10541.prdoc new file mode 100644 index 0000000000000..03a1a270b576c --- /dev/null +++ b/prdoc/stable2512/pr_10541.prdoc @@ -0,0 +1,34 @@ +title: 'test-utils/fix: Parachains test-utils relay parent descendants mock data' +doc: +- audience: Node Dev + description: |- + This PR ensures that the parachains test-utils crate has 2 relay parent descendants for testing purposes. + + Effectively fixes a panic because we missed this mock data for chains that started with `RP_offset > 0`: + + ``` + Unable to verify provided relay parent descendants. expected_rp_descendants_num: 1 error: InvalidNumberOfDescendants { expected: 2, received: 0 } + note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace + ``` + + Detected in: + - https://github.com/polkadot-fellows/runtimes/actions/runs/19857064730/job/56897622908?pr=1018 + + Unblocks: + - https://github.com/polkadot-fellows/runtimes/pull/1018 + + Inspired by a similar fix I've introduced in: + - https://github.com/paritytech/polkadot-sdk/pull/9880 +crates: +- name: parachains-runtimes-test-utils + bump: patch +- name: cumulus-test-relay-sproof-builder + bump: patch +- name: asset-hub-westend-runtime + bump: patch +- name: xcm-emulator + bump: patch +- name: cumulus-client-parachain-inherent + bump: patch +- name: cumulus-pallet-parachain-system + bump: patch diff --git a/prdoc/pr_10578.prdoc b/prdoc/stable2512/pr_10578.prdoc similarity index 100% rename from prdoc/pr_10578.prdoc rename to prdoc/stable2512/pr_10578.prdoc diff --git a/prdoc/pr_10590.prdoc b/prdoc/stable2512/pr_10590.prdoc similarity index 100% rename from prdoc/pr_10590.prdoc rename to prdoc/stable2512/pr_10590.prdoc diff --git a/prdoc/stable2512/pr_10592.prdoc b/prdoc/stable2512/pr_10592.prdoc new file mode 100644 index 0000000000000..4feb06bfeb3b8 --- /dev/null +++ b/prdoc/stable2512/pr_10592.prdoc @@ -0,0 +1,11 @@ +title: 'fix: ensure metadata v15 is generated by frame-metadata' +doc: +- audience: Runtime Dev + description: |- + This is a companion PR to https://github.com/paritytech/frame-metadata/pull/110. + This PR ensures that `CheckMetadataHash` generated with both v15 and v16 are the same. + + cc @bkchr +crates: +- name: sp-metadata-ir + bump: patch diff --git a/prdoc/stable2512/pr_10616.prdoc b/prdoc/stable2512/pr_10616.prdoc new file mode 100644 index 0000000000000..e003fec43977b --- /dev/null +++ b/prdoc/stable2512/pr_10616.prdoc @@ -0,0 +1,8 @@ +title: 'relay-sproof-builder/test: Fix num of descendants' +doc: +- audience: Node Dev + description: |- + This PR fixes a testing off-by-one error which causes the `sproof-builder` to build an extra descendant. +crates: +- name: cumulus-test-relay-sproof-builder + bump: patch diff --git a/prdoc/stable2512/pr_10665.prdoc b/prdoc/stable2512/pr_10665.prdoc new file mode 100644 index 0000000000000..227afe2e47b16 --- /dev/null +++ b/prdoc/stable2512/pr_10665.prdoc @@ -0,0 +1,20 @@ +title: 'cargo: Update litep2p to v0.12.3' +doc: +- audience: Node Dev + description: |- + ## [0.12.3] - 2025-12-16 + + This release improves the robustness of the multistream-select negotiation over WebRTC transport and fixes inbound bandwidth metering on substreams. It also enhances the dialing success rate by improving the transport dialing logic. Additionally, it re-exports CID's multihash to facilitate the construction of CID V1. + + ### Changed + + - transports: Improves the robustness and success rate of connection dialing ([#495](https://github.com/paritytech/litep2p/pull/495)) + - types: Re-export cid's multihash to construct CID V1 ([#491](https://github.com/paritytech/litep2p/pull/491)) + + ### Fixed + + - fix: multistream-select negotiation on outbound substream over webrtc ([#465](https://github.com/paritytech/litep2p/pull/465)) + - substream: Fix inbound bandwidth metering ([#499](https://github.com/paritytech/litep2p/pull/499)) + + cc @paritytech/sdk-node +crates: [] diff --git a/prdoc/pr_8053.prdoc b/prdoc/stable2512/pr_8053.prdoc similarity index 100% rename from prdoc/pr_8053.prdoc rename to prdoc/stable2512/pr_8053.prdoc diff --git a/prdoc/pr_8106.prdoc b/prdoc/stable2512/pr_8106.prdoc similarity index 100% rename from prdoc/pr_8106.prdoc rename to prdoc/stable2512/pr_8106.prdoc diff --git a/prdoc/pr_8381.prdoc b/prdoc/stable2512/pr_8381.prdoc similarity index 100% rename from prdoc/pr_8381.prdoc rename to prdoc/stable2512/pr_8381.prdoc diff --git a/prdoc/pr_8757.prdoc b/prdoc/stable2512/pr_8757.prdoc similarity index 100% rename from prdoc/pr_8757.prdoc rename to prdoc/stable2512/pr_8757.prdoc diff --git a/prdoc/pr_9003.prdoc b/prdoc/stable2512/pr_9003.prdoc similarity index 100% rename from prdoc/pr_9003.prdoc rename to prdoc/stable2512/pr_9003.prdoc diff --git a/prdoc/pr_9173.prdoc b/prdoc/stable2512/pr_9173.prdoc similarity index 100% rename from prdoc/pr_9173.prdoc rename to prdoc/stable2512/pr_9173.prdoc diff --git a/prdoc/pr_9178.prdoc b/prdoc/stable2512/pr_9178.prdoc similarity index 100% rename from prdoc/pr_9178.prdoc rename to prdoc/stable2512/pr_9178.prdoc diff --git a/prdoc/pr_9204.prdoc b/prdoc/stable2512/pr_9204.prdoc similarity index 100% rename from prdoc/pr_9204.prdoc rename to prdoc/stable2512/pr_9204.prdoc diff --git a/prdoc/pr_9279.prdoc b/prdoc/stable2512/pr_9279.prdoc similarity index 100% rename from prdoc/pr_9279.prdoc rename to prdoc/stable2512/pr_9279.prdoc diff --git a/prdoc/pr_9293.prdoc b/prdoc/stable2512/pr_9293.prdoc similarity index 100% rename from prdoc/pr_9293.prdoc rename to prdoc/stable2512/pr_9293.prdoc diff --git a/prdoc/pr_9295.prdoc b/prdoc/stable2512/pr_9295.prdoc similarity index 100% rename from prdoc/pr_9295.prdoc rename to prdoc/stable2512/pr_9295.prdoc diff --git a/prdoc/pr_9385.prdoc b/prdoc/stable2512/pr_9385.prdoc similarity index 100% rename from prdoc/pr_9385.prdoc rename to prdoc/stable2512/pr_9385.prdoc diff --git a/prdoc/pr_9414.prdoc b/prdoc/stable2512/pr_9414.prdoc similarity index 100% rename from prdoc/pr_9414.prdoc rename to prdoc/stable2512/pr_9414.prdoc diff --git a/prdoc/pr_9417.prdoc b/prdoc/stable2512/pr_9417.prdoc similarity index 100% rename from prdoc/pr_9417.prdoc rename to prdoc/stable2512/pr_9417.prdoc diff --git a/prdoc/pr_9418.prdoc b/prdoc/stable2512/pr_9418.prdoc similarity index 100% rename from prdoc/pr_9418.prdoc rename to prdoc/stable2512/pr_9418.prdoc diff --git a/prdoc/pr_9430.prdoc b/prdoc/stable2512/pr_9430.prdoc similarity index 100% rename from prdoc/pr_9430.prdoc rename to prdoc/stable2512/pr_9430.prdoc diff --git a/prdoc/pr_9443.prdoc b/prdoc/stable2512/pr_9443.prdoc similarity index 100% rename from prdoc/pr_9443.prdoc rename to prdoc/stable2512/pr_9443.prdoc diff --git a/prdoc/pr_9471.prdoc b/prdoc/stable2512/pr_9471.prdoc similarity index 100% rename from prdoc/pr_9471.prdoc rename to prdoc/stable2512/pr_9471.prdoc diff --git a/prdoc/pr_9480.prdoc b/prdoc/stable2512/pr_9480.prdoc similarity index 100% rename from prdoc/pr_9480.prdoc rename to prdoc/stable2512/pr_9480.prdoc diff --git a/prdoc/pr_9510.prdoc b/prdoc/stable2512/pr_9510.prdoc similarity index 100% rename from prdoc/pr_9510.prdoc rename to prdoc/stable2512/pr_9510.prdoc diff --git a/prdoc/pr_9512.prdoc b/prdoc/stable2512/pr_9512.prdoc similarity index 100% rename from prdoc/pr_9512.prdoc rename to prdoc/stable2512/pr_9512.prdoc diff --git a/prdoc/pr_9517.prdoc b/prdoc/stable2512/pr_9517.prdoc similarity index 100% rename from prdoc/pr_9517.prdoc rename to prdoc/stable2512/pr_9517.prdoc diff --git a/prdoc/pr_9550.prdoc b/prdoc/stable2512/pr_9550.prdoc similarity index 100% rename from prdoc/pr_9550.prdoc rename to prdoc/stable2512/pr_9550.prdoc diff --git a/prdoc/pr_9557.prdoc b/prdoc/stable2512/pr_9557.prdoc similarity index 100% rename from prdoc/pr_9557.prdoc rename to prdoc/stable2512/pr_9557.prdoc diff --git a/prdoc/pr_9561.prdoc b/prdoc/stable2512/pr_9561.prdoc similarity index 100% rename from prdoc/pr_9561.prdoc rename to prdoc/stable2512/pr_9561.prdoc diff --git a/prdoc/pr_9588.prdoc b/prdoc/stable2512/pr_9588.prdoc similarity index 100% rename from prdoc/pr_9588.prdoc rename to prdoc/stable2512/pr_9588.prdoc diff --git a/prdoc/pr_9603.prdoc b/prdoc/stable2512/pr_9603.prdoc similarity index 100% rename from prdoc/pr_9603.prdoc rename to prdoc/stable2512/pr_9603.prdoc diff --git a/prdoc/pr_9617.prdoc b/prdoc/stable2512/pr_9617.prdoc similarity index 100% rename from prdoc/pr_9617.prdoc rename to prdoc/stable2512/pr_9617.prdoc diff --git a/prdoc/pr_9627.prdoc b/prdoc/stable2512/pr_9627.prdoc similarity index 100% rename from prdoc/pr_9627.prdoc rename to prdoc/stable2512/pr_9627.prdoc diff --git a/prdoc/pr_9638.prdoc b/prdoc/stable2512/pr_9638.prdoc similarity index 100% rename from prdoc/pr_9638.prdoc rename to prdoc/stable2512/pr_9638.prdoc diff --git a/prdoc/pr_9644.prdoc b/prdoc/stable2512/pr_9644.prdoc similarity index 100% rename from prdoc/pr_9644.prdoc rename to prdoc/stable2512/pr_9644.prdoc diff --git a/prdoc/pr_9645.prdoc b/prdoc/stable2512/pr_9645.prdoc similarity index 100% rename from prdoc/pr_9645.prdoc rename to prdoc/stable2512/pr_9645.prdoc diff --git a/prdoc/pr_9662.prdoc b/prdoc/stable2512/pr_9662.prdoc similarity index 100% rename from prdoc/pr_9662.prdoc rename to prdoc/stable2512/pr_9662.prdoc diff --git a/prdoc/pr_9663.prdoc b/prdoc/stable2512/pr_9663.prdoc similarity index 100% rename from prdoc/pr_9663.prdoc rename to prdoc/stable2512/pr_9663.prdoc diff --git a/prdoc/pr_9664.prdoc b/prdoc/stable2512/pr_9664.prdoc similarity index 100% rename from prdoc/pr_9664.prdoc rename to prdoc/stable2512/pr_9664.prdoc diff --git a/prdoc/pr_9670.prdoc b/prdoc/stable2512/pr_9670.prdoc similarity index 100% rename from prdoc/pr_9670.prdoc rename to prdoc/stable2512/pr_9670.prdoc diff --git a/prdoc/pr_9679.prdoc b/prdoc/stable2512/pr_9679.prdoc similarity index 100% rename from prdoc/pr_9679.prdoc rename to prdoc/stable2512/pr_9679.prdoc diff --git a/prdoc/pr_9683.prdoc b/prdoc/stable2512/pr_9683.prdoc similarity index 100% rename from prdoc/pr_9683.prdoc rename to prdoc/stable2512/pr_9683.prdoc diff --git a/prdoc/pr_9685.prdoc b/prdoc/stable2512/pr_9685.prdoc similarity index 100% rename from prdoc/pr_9685.prdoc rename to prdoc/stable2512/pr_9685.prdoc diff --git a/prdoc/pr_9691.prdoc b/prdoc/stable2512/pr_9691.prdoc similarity index 100% rename from prdoc/pr_9691.prdoc rename to prdoc/stable2512/pr_9691.prdoc diff --git a/prdoc/pr_9699.prdoc b/prdoc/stable2512/pr_9699.prdoc similarity index 100% rename from prdoc/pr_9699.prdoc rename to prdoc/stable2512/pr_9699.prdoc diff --git a/prdoc/pr_9701.prdoc b/prdoc/stable2512/pr_9701.prdoc similarity index 100% rename from prdoc/pr_9701.prdoc rename to prdoc/stable2512/pr_9701.prdoc diff --git a/prdoc/pr_9705.prdoc b/prdoc/stable2512/pr_9705.prdoc similarity index 100% rename from prdoc/pr_9705.prdoc rename to prdoc/stable2512/pr_9705.prdoc diff --git a/prdoc/pr_9712.prdoc b/prdoc/stable2512/pr_9712.prdoc similarity index 100% rename from prdoc/pr_9712.prdoc rename to prdoc/stable2512/pr_9712.prdoc diff --git a/prdoc/pr_9717.prdoc b/prdoc/stable2512/pr_9717.prdoc similarity index 100% rename from prdoc/pr_9717.prdoc rename to prdoc/stable2512/pr_9717.prdoc diff --git a/prdoc/pr_9731.prdoc b/prdoc/stable2512/pr_9731.prdoc similarity index 100% rename from prdoc/pr_9731.prdoc rename to prdoc/stable2512/pr_9731.prdoc diff --git a/prdoc/pr_9732.prdoc b/prdoc/stable2512/pr_9732.prdoc similarity index 100% rename from prdoc/pr_9732.prdoc rename to prdoc/stable2512/pr_9732.prdoc diff --git a/prdoc/pr_9736.prdoc b/prdoc/stable2512/pr_9736.prdoc similarity index 100% rename from prdoc/pr_9736.prdoc rename to prdoc/stable2512/pr_9736.prdoc diff --git a/prdoc/pr_9744.prdoc b/prdoc/stable2512/pr_9744.prdoc similarity index 100% rename from prdoc/pr_9744.prdoc rename to prdoc/stable2512/pr_9744.prdoc diff --git a/prdoc/pr_9745.prdoc b/prdoc/stable2512/pr_9745.prdoc similarity index 100% rename from prdoc/pr_9745.prdoc rename to prdoc/stable2512/pr_9745.prdoc diff --git a/prdoc/pr_9759.prdoc b/prdoc/stable2512/pr_9759.prdoc similarity index 100% rename from prdoc/pr_9759.prdoc rename to prdoc/stable2512/pr_9759.prdoc diff --git a/prdoc/pr_9768.prdoc b/prdoc/stable2512/pr_9768.prdoc similarity index 100% rename from prdoc/pr_9768.prdoc rename to prdoc/stable2512/pr_9768.prdoc diff --git a/prdoc/pr_9771.prdoc b/prdoc/stable2512/pr_9771.prdoc similarity index 100% rename from prdoc/pr_9771.prdoc rename to prdoc/stable2512/pr_9771.prdoc diff --git a/prdoc/pr_9774.prdoc b/prdoc/stable2512/pr_9774.prdoc similarity index 100% rename from prdoc/pr_9774.prdoc rename to prdoc/stable2512/pr_9774.prdoc diff --git a/prdoc/pr_9780.prdoc b/prdoc/stable2512/pr_9780.prdoc similarity index 100% rename from prdoc/pr_9780.prdoc rename to prdoc/stable2512/pr_9780.prdoc diff --git a/prdoc/pr_9798.prdoc b/prdoc/stable2512/pr_9798.prdoc similarity index 100% rename from prdoc/pr_9798.prdoc rename to prdoc/stable2512/pr_9798.prdoc diff --git a/prdoc/pr_9801.prdoc b/prdoc/stable2512/pr_9801.prdoc similarity index 100% rename from prdoc/pr_9801.prdoc rename to prdoc/stable2512/pr_9801.prdoc diff --git a/prdoc/pr_9803.prdoc b/prdoc/stable2512/pr_9803.prdoc similarity index 100% rename from prdoc/pr_9803.prdoc rename to prdoc/stable2512/pr_9803.prdoc diff --git a/prdoc/pr_9811.prdoc b/prdoc/stable2512/pr_9811.prdoc similarity index 100% rename from prdoc/pr_9811.prdoc rename to prdoc/stable2512/pr_9811.prdoc diff --git a/prdoc/pr_9815.prdoc b/prdoc/stable2512/pr_9815.prdoc similarity index 100% rename from prdoc/pr_9815.prdoc rename to prdoc/stable2512/pr_9815.prdoc diff --git a/prdoc/pr_9818.prdoc b/prdoc/stable2512/pr_9818.prdoc similarity index 100% rename from prdoc/pr_9818.prdoc rename to prdoc/stable2512/pr_9818.prdoc diff --git a/prdoc/pr_9821.prdoc b/prdoc/stable2512/pr_9821.prdoc similarity index 100% rename from prdoc/pr_9821.prdoc rename to prdoc/stable2512/pr_9821.prdoc diff --git a/prdoc/pr_9823.prdoc b/prdoc/stable2512/pr_9823.prdoc similarity index 100% rename from prdoc/pr_9823.prdoc rename to prdoc/stable2512/pr_9823.prdoc diff --git a/prdoc/pr_9826.prdoc b/prdoc/stable2512/pr_9826.prdoc similarity index 100% rename from prdoc/pr_9826.prdoc rename to prdoc/stable2512/pr_9826.prdoc diff --git a/prdoc/pr_9831.prdoc b/prdoc/stable2512/pr_9831.prdoc similarity index 100% rename from prdoc/pr_9831.prdoc rename to prdoc/stable2512/pr_9831.prdoc diff --git a/prdoc/pr_9841.prdoc b/prdoc/stable2512/pr_9841.prdoc similarity index 100% rename from prdoc/pr_9841.prdoc rename to prdoc/stable2512/pr_9841.prdoc diff --git a/prdoc/pr_9844.prdoc b/prdoc/stable2512/pr_9844.prdoc similarity index 100% rename from prdoc/pr_9844.prdoc rename to prdoc/stable2512/pr_9844.prdoc diff --git a/prdoc/pr_9853.prdoc b/prdoc/stable2512/pr_9853.prdoc similarity index 100% rename from prdoc/pr_9853.prdoc rename to prdoc/stable2512/pr_9853.prdoc diff --git a/prdoc/pr_9857.prdoc b/prdoc/stable2512/pr_9857.prdoc similarity index 100% rename from prdoc/pr_9857.prdoc rename to prdoc/stable2512/pr_9857.prdoc diff --git a/prdoc/pr_9865.prdoc b/prdoc/stable2512/pr_9865.prdoc similarity index 100% rename from prdoc/pr_9865.prdoc rename to prdoc/stable2512/pr_9865.prdoc diff --git a/prdoc/pr_9869.prdoc b/prdoc/stable2512/pr_9869.prdoc similarity index 100% rename from prdoc/pr_9869.prdoc rename to prdoc/stable2512/pr_9869.prdoc diff --git a/prdoc/pr_9875.prdoc b/prdoc/stable2512/pr_9875.prdoc similarity index 100% rename from prdoc/pr_9875.prdoc rename to prdoc/stable2512/pr_9875.prdoc diff --git a/prdoc/pr_9878.prdoc b/prdoc/stable2512/pr_9878.prdoc similarity index 100% rename from prdoc/pr_9878.prdoc rename to prdoc/stable2512/pr_9878.prdoc diff --git a/prdoc/pr_9884.prdoc b/prdoc/stable2512/pr_9884.prdoc similarity index 100% rename from prdoc/pr_9884.prdoc rename to prdoc/stable2512/pr_9884.prdoc diff --git a/prdoc/pr_9885.prdoc b/prdoc/stable2512/pr_9885.prdoc similarity index 100% rename from prdoc/pr_9885.prdoc rename to prdoc/stable2512/pr_9885.prdoc diff --git a/prdoc/pr_9887.prdoc b/prdoc/stable2512/pr_9887.prdoc similarity index 100% rename from prdoc/pr_9887.prdoc rename to prdoc/stable2512/pr_9887.prdoc diff --git a/prdoc/pr_9892.prdoc b/prdoc/stable2512/pr_9892.prdoc similarity index 100% rename from prdoc/pr_9892.prdoc rename to prdoc/stable2512/pr_9892.prdoc diff --git a/prdoc/pr_9904.prdoc b/prdoc/stable2512/pr_9904.prdoc similarity index 100% rename from prdoc/pr_9904.prdoc rename to prdoc/stable2512/pr_9904.prdoc diff --git a/prdoc/pr_9907.prdoc b/prdoc/stable2512/pr_9907.prdoc similarity index 100% rename from prdoc/pr_9907.prdoc rename to prdoc/stable2512/pr_9907.prdoc diff --git a/prdoc/pr_9909.prdoc b/prdoc/stable2512/pr_9909.prdoc similarity index 100% rename from prdoc/pr_9909.prdoc rename to prdoc/stable2512/pr_9909.prdoc diff --git a/prdoc/pr_9911.prdoc b/prdoc/stable2512/pr_9911.prdoc similarity index 100% rename from prdoc/pr_9911.prdoc rename to prdoc/stable2512/pr_9911.prdoc diff --git a/prdoc/pr_9914.prdoc b/prdoc/stable2512/pr_9914.prdoc similarity index 100% rename from prdoc/pr_9914.prdoc rename to prdoc/stable2512/pr_9914.prdoc diff --git a/prdoc/pr_9920.prdoc b/prdoc/stable2512/pr_9920.prdoc similarity index 100% rename from prdoc/pr_9920.prdoc rename to prdoc/stable2512/pr_9920.prdoc diff --git a/prdoc/pr_9921.prdoc b/prdoc/stable2512/pr_9921.prdoc similarity index 100% rename from prdoc/pr_9921.prdoc rename to prdoc/stable2512/pr_9921.prdoc diff --git a/prdoc/pr_9927.prdoc b/prdoc/stable2512/pr_9927.prdoc similarity index 100% rename from prdoc/pr_9927.prdoc rename to prdoc/stable2512/pr_9927.prdoc diff --git a/prdoc/pr_9928.prdoc b/prdoc/stable2512/pr_9928.prdoc similarity index 100% rename from prdoc/pr_9928.prdoc rename to prdoc/stable2512/pr_9928.prdoc diff --git a/prdoc/pr_9929.prdoc b/prdoc/stable2512/pr_9929.prdoc similarity index 100% rename from prdoc/pr_9929.prdoc rename to prdoc/stable2512/pr_9929.prdoc diff --git a/prdoc/pr_9930.prdoc b/prdoc/stable2512/pr_9930.prdoc similarity index 100% rename from prdoc/pr_9930.prdoc rename to prdoc/stable2512/pr_9930.prdoc diff --git a/prdoc/pr_9936.prdoc b/prdoc/stable2512/pr_9936.prdoc similarity index 100% rename from prdoc/pr_9936.prdoc rename to prdoc/stable2512/pr_9936.prdoc diff --git a/prdoc/pr_9939.prdoc b/prdoc/stable2512/pr_9939.prdoc similarity index 100% rename from prdoc/pr_9939.prdoc rename to prdoc/stable2512/pr_9939.prdoc diff --git a/prdoc/pr_9942.prdoc b/prdoc/stable2512/pr_9942.prdoc similarity index 100% rename from prdoc/pr_9942.prdoc rename to prdoc/stable2512/pr_9942.prdoc diff --git a/prdoc/pr_9945.prdoc b/prdoc/stable2512/pr_9945.prdoc similarity index 100% rename from prdoc/pr_9945.prdoc rename to prdoc/stable2512/pr_9945.prdoc diff --git a/prdoc/pr_9948.prdoc b/prdoc/stable2512/pr_9948.prdoc similarity index 100% rename from prdoc/pr_9948.prdoc rename to prdoc/stable2512/pr_9948.prdoc diff --git a/prdoc/pr_9952.prdoc b/prdoc/stable2512/pr_9952.prdoc similarity index 100% rename from prdoc/pr_9952.prdoc rename to prdoc/stable2512/pr_9952.prdoc diff --git a/prdoc/pr_9961.prdoc b/prdoc/stable2512/pr_9961.prdoc similarity index 100% rename from prdoc/pr_9961.prdoc rename to prdoc/stable2512/pr_9961.prdoc diff --git a/prdoc/pr_9963.prdoc b/prdoc/stable2512/pr_9963.prdoc similarity index 100% rename from prdoc/pr_9963.prdoc rename to prdoc/stable2512/pr_9963.prdoc diff --git a/prdoc/pr_9967.prdoc b/prdoc/stable2512/pr_9967.prdoc similarity index 100% rename from prdoc/pr_9967.prdoc rename to prdoc/stable2512/pr_9967.prdoc diff --git a/prdoc/pr_9968.prdoc b/prdoc/stable2512/pr_9968.prdoc similarity index 100% rename from prdoc/pr_9968.prdoc rename to prdoc/stable2512/pr_9968.prdoc diff --git a/prdoc/pr_9976.prdoc b/prdoc/stable2512/pr_9976.prdoc similarity index 100% rename from prdoc/pr_9976.prdoc rename to prdoc/stable2512/pr_9976.prdoc diff --git a/prdoc/pr_9983.prdoc b/prdoc/stable2512/pr_9983.prdoc similarity index 100% rename from prdoc/pr_9983.prdoc rename to prdoc/stable2512/pr_9983.prdoc diff --git a/prdoc/pr_9985.prdoc b/prdoc/stable2512/pr_9985.prdoc similarity index 100% rename from prdoc/pr_9985.prdoc rename to prdoc/stable2512/pr_9985.prdoc diff --git a/prdoc/pr_9987.prdoc b/prdoc/stable2512/pr_9987.prdoc similarity index 100% rename from prdoc/pr_9987.prdoc rename to prdoc/stable2512/pr_9987.prdoc diff --git a/prdoc/pr_9988.prdoc b/prdoc/stable2512/pr_9988.prdoc similarity index 100% rename from prdoc/pr_9988.prdoc rename to prdoc/stable2512/pr_9988.prdoc diff --git a/prdoc/pr_9990.prdoc b/prdoc/stable2512/pr_9990.prdoc similarity index 100% rename from prdoc/pr_9990.prdoc rename to prdoc/stable2512/pr_9990.prdoc diff --git a/prdoc/pr_9991.prdoc b/prdoc/stable2512/pr_9991.prdoc similarity index 100% rename from prdoc/pr_9991.prdoc rename to prdoc/stable2512/pr_9991.prdoc diff --git a/prdoc/pr_9997.prdoc b/prdoc/stable2512/pr_9997.prdoc similarity index 100% rename from prdoc/pr_9997.prdoc rename to prdoc/stable2512/pr_9997.prdoc diff --git a/scripts/release/replace-all-path-deps.sh b/scripts/release/replace-all-path-deps.sh index 21be034cfa9a5..36cc7e64bb142 100755 --- a/scripts/release/replace-all-path-deps.sh +++ b/scripts/release/replace-all-path-deps.sh @@ -14,8 +14,7 @@ find . -name "Cargo.toml" \ # Find and replace path dependencies with "workspace = true" awk ' BEGIN { in_section = 0 } - /^\[dependencies\]/ { in_section = 1; print; next } - /^\[dev-dependencies\]/ { in_section = 2; print; next } + /^\[.*dependencies\]/ { in_section = 1; print; next } /^\[.*\]/ { in_section = 0; print; next } { diff --git a/substrate/bin/node/bench/src/main.rs b/substrate/bin/node/bench/src/main.rs index 1f69c97695801..bb11b3b4112b4 100644 --- a/substrate/bin/node/bench/src/main.rs +++ b/substrate/bin/node/bench/src/main.rs @@ -159,7 +159,7 @@ fn main() { println!("{}: {}", benchmark.name(), benchmark.path().full()) } } - return + return; } let mut results = Vec::new(); diff --git a/substrate/bin/node/bench/src/simple_trie.rs b/substrate/bin/node/bench/src/simple_trie.rs index 6d5072358d239..7d3e3bf2ab467 100644 --- a/substrate/bin/node/bench/src/simple_trie.rs +++ b/substrate/bin/node/bench/src/simple_trie.rs @@ -45,7 +45,7 @@ impl<'a> HashDB for SimpleTrie<'a> { fn get(&self, key: &Hash, prefix: Prefix) -> Option { let key = sp_trie::prefixed_key::(key, prefix); if let Some(value) = self.overlay.get(&key) { - return value.clone() + return value.clone(); } self.db.get(0, &key).expect("Database backend error") } diff --git a/substrate/bin/node/bench/src/tempdb.rs b/substrate/bin/node/bench/src/tempdb.rs index f3fd693d21fe1..7c37f10848d31 100644 --- a/substrate/bin/node/bench/src/tempdb.rs +++ b/substrate/bin/node/bench/src/tempdb.rs @@ -45,8 +45,9 @@ impl KeyValueDB for ParityDbWrapper { fn write(&self, transaction: DBTransaction) -> io::Result<()> { self.0 .commit(transaction.ops.iter().map(|op| match op { - kvdb::DBOp::Insert { col, key, value } => - (*col as u8, &key[key.len() - 32..], Some(value.to_vec())), + kvdb::DBOp::Insert { col, key, value } => { + (*col as u8, &key[key.len() - 32..], Some(value.to_vec())) + }, kvdb::DBOp::Delete { col, key } => (*col as u8, &key[key.len() - 32..], None), kvdb::DBOp::DeletePrefix { col: _, prefix: _ } => unimplemented!(), })) diff --git a/substrate/bin/node/cli/benches/block_production.rs b/substrate/bin/node/cli/benches/block_production.rs index 80f33b607b387..5b117534b7d2f 100644 --- a/substrate/bin/node/cli/benches/block_production.rs +++ b/substrate/bin/node/cli/benches/block_production.rs @@ -117,6 +117,7 @@ fn new_node(tokio_handle: Handle) -> node_cli::service::NewFullBase { config, None, false, + 1, |_, _| (), ) .expect("creating a full node doesn't fail") diff --git a/substrate/bin/node/cli/benches/transaction_pool.rs b/substrate/bin/node/cli/benches/transaction_pool.rs index 112aa9ea13746..4e3481e566a6f 100644 --- a/substrate/bin/node/cli/benches/transaction_pool.rs +++ b/substrate/bin/node/cli/benches/transaction_pool.rs @@ -104,6 +104,7 @@ fn new_node(tokio_handle: Handle) -> node_cli::service::NewFullBase { config, None, false, + 1, |_, _| (), ) .expect("Creates node") diff --git a/substrate/bin/node/cli/src/chain_spec.rs b/substrate/bin/node/cli/src/chain_spec.rs index bdf7b1975c4fb..a092d6931e148 100644 --- a/substrate/bin/node/cli/src/chain_spec.rs +++ b/substrate/bin/node/cli/src/chain_spec.rs @@ -468,7 +468,13 @@ pub(crate) mod tests { sc_service_test::connectivity(integration_test_config_with_two_authorities(), |config| { let NewFullBase { task_manager, client, network, sync, transaction_pool, .. } = - new_full_base::>(config, None, false, |_, _| ())?; + new_full_base::>( + config, + None, + false, + 1, + |_, _| (), + )?; Ok(sc_service_test::TestNetComponents::new( task_manager, client, diff --git a/substrate/bin/node/cli/src/cli.rs b/substrate/bin/node/cli/src/cli.rs index c2187e77e7f1b..92a2d3786a47d 100644 --- a/substrate/bin/node/cli/src/cli.rs +++ b/substrate/bin/node/cli/src/cli.rs @@ -43,6 +43,12 @@ pub struct Cli { #[arg(long)] pub no_hardware_benchmarks: bool, + /// Number of concurrent workers for statement validation from the network. + /// + /// Only relevant when `--enable-statement-store` is used. + #[arg(long, default_value_t = 1)] + pub statement_network_workers: usize, + #[allow(missing_docs)] #[clap(flatten)] pub storage_monitor: sc_storage_monitor::StorageMonitorParams, diff --git a/substrate/bin/node/cli/src/command.rs b/substrate/bin/node/cli/src/command.rs index 5f3be4d8b2159..612a7ba6777ed 100644 --- a/substrate/bin/node/cli/src/command.rs +++ b/substrate/bin/node/cli/src/command.rs @@ -61,17 +61,19 @@ impl SubstrateCli for Cli { fn load_spec(&self, id: &str) -> std::result::Result, String> { let spec = match id { - "" => + "" => { return Err( "Please specify which chain you want to run, e.g. --dev or --chain=local" .into(), - ), + ) + }, "dev" => Box::new(chain_spec::development_config()), "local" => Box::new(chain_spec::local_testnet_config()), "fir" | "flaming-fir" => Box::new(chain_spec::flaming_fir_config()?), "staging" => Box::new(chain_spec::staging_testnet_config()), - path => - Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?), + path => { + Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?) + }, }; Ok(spec) } diff --git a/substrate/bin/node/cli/src/service.rs b/substrate/bin/node/cli/src/service.rs index 0ec655e3fa6ac..dbe38a1391680 100644 --- a/substrate/bin/node/cli/src/service.rs +++ b/substrate/bin/node/cli/src/service.rs @@ -47,6 +47,7 @@ use sc_transaction_pool_api::OffchainTransactionPoolFactory; use sp_api::ProvideRuntimeApi; use sp_core::crypto::Pair; use sp_runtime::{generic, traits::Block as BlockT, SaturatedConversion}; +use sp_transaction_storage_proof::runtime_api::TransactionStorageApi; use std::{path::Path, sync::Arc}; /// Host functions required for kitchensink runtime and Substrate node. @@ -226,6 +227,7 @@ pub fn new_partial( config, telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), executor, + vec![Arc::new(grandpa::GrandpaPruningFilter)], )?; let client = Arc::new(client); @@ -303,7 +305,7 @@ pub fn new_partial( client.clone(), keystore_container.local_keystore(), config.prometheus_registry(), - &task_manager.spawn_handle(), + Box::new(task_manager.spawn_handle()), ) .map_err(|e| ServiceError::Other(format!("Statement store error: {:?}", e)))?; @@ -355,9 +357,12 @@ pub fn new_partial( beefy_best_block_stream: beefy_rpc_links .from_voter_best_beefy_stream .clone(), + subscription_executor: subscription_executor.clone(), + }, + statement_store_deps: node_rpc::StatementStoreDeps { + statement_store: rpc_statement_store.clone(), subscription_executor, }, - statement_store: rpc_statement_store.clone(), backend: rpc_backend.clone(), mixnet_api: mixnet_api.as_ref().cloned(), }; @@ -408,6 +413,7 @@ pub fn new_full_base::Hash>>( config: Configuration, mixnet_config: Option, disable_hardware_benchmarks: bool, + statement_network_workers: usize, with_startup_data: impl FnOnce( &sc_consensus_babe::BabeBlockImport< Block, @@ -531,6 +537,7 @@ pub fn new_full_base::Hash>>( client: client.clone(), transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), + spawn_essential_handle: task_manager.spawn_essential_handle(), import_queue, block_announce_validator_builder: None, warp_sync_config: Some(WarpSyncConfig::WithProvider(warp_sync)), @@ -631,6 +638,8 @@ pub fn new_full_base::Hash>>( sp_transaction_storage_proof::registration::new_data_provider( &*client_clone, &parent, + // Use `unwrap_or` in case the runtime api is not available. + client_clone.runtime_api().retention_period(parent).unwrap_or(100800), )?; Ok((slot, timestamp, storage_proof)) @@ -786,6 +795,7 @@ pub fn new_full_base::Hash>>( statement_store.clone(), prometheus_registry.as_ref(), statement_protocol_executor, + statement_network_workers, )?; task_manager.spawn_handle().spawn( "network-statement-handler", @@ -837,6 +847,7 @@ pub fn new_full(config: Configuration, cli: Cli) -> Result Result, babe_link: &sc_consensus_babe::BabeLink| { setup_handles = Some((block_import.clone(), babe_link.clone())); @@ -1149,6 +1162,7 @@ mod tests { config, None, false, + 1, |_, _| (), )?; Ok(sc_service_test::TestNetComponents::new( diff --git a/substrate/bin/node/cli/tests/res/default_genesis_config.json b/substrate/bin/node/cli/tests/res/default_genesis_config.json index 85a8057bb60a3..d83392ffd5113 100644 --- a/substrate/bin/node/cli/tests/res/default_genesis_config.json +++ b/substrate/bin/node/cli/tests/res/default_genesis_config.json @@ -100,7 +100,7 @@ "transactionStorage": { "byteFee": 10, "entryFee": 1000, - "storagePeriod": 100800 + "retentionPeriod": 100800 }, "allianceMotion": { "members": [] diff --git a/substrate/bin/node/cli/tests/telemetry.rs b/substrate/bin/node/cli/tests/telemetry.rs index 2321f56c473d6..ee0f6b0749521 100644 --- a/substrate/bin/node/cli/tests/telemetry.rs +++ b/substrate/bin/node/cli/tests/telemetry.rs @@ -53,7 +53,7 @@ async fn telemetry_works() { let object = json.as_object().unwrap().get("payload").unwrap().as_object().unwrap(); if matches!(object.get("best"), Some(serde_json::Value::String(_))) { - break + break; } }, diff --git a/substrate/bin/node/inspect/src/command.rs b/substrate/bin/node/inspect/src/command.rs index b9e5e55be8ef3..25c1411efa884 100644 --- a/substrate/bin/node/inspect/src/command.rs +++ b/substrate/bin/node/inspect/src/command.rs @@ -37,7 +37,8 @@ impl InspectCmd { RA: Send + Sync + 'static, { let executor = sc_service::new_wasm_executor::(&config.executor); - let client = sc_service::new_full_client::(&config, None, executor)?; + let client = + sc_service::new_full_client::(&config, None, executor, Default::default())?; let inspect = Inspector::::new(client); match &self.command { diff --git a/substrate/bin/node/inspect/src/lib.rs b/substrate/bin/node/inspect/src/lib.rs index 65dfecdf77a2d..a3667aa1b0e48 100644 --- a/substrate/bin/node/inspect/src/lib.rs +++ b/substrate/bin/node/inspect/src/lib.rs @@ -209,12 +209,12 @@ impl FromStr for BlockAddress { fn from_str(s: &str) -> Result { // try to parse hash first if let Ok(hash) = s.parse() { - return Ok(Self::Hash(hash)) + return Ok(Self::Hash(hash)); } // then number if let Ok(number) = s.parse() { - return Ok(Self::Number(number)) + return Ok(Self::Number(number)); } // then assume it's bytes (hex-encoded) @@ -242,7 +242,7 @@ impl FromStr for ExtrinsicAddres fn from_str(s: &str) -> Result { // first try raw bytes if let Ok(bytes) = sp_core::bytes::from_hex(s).map(Self::Bytes) { - return Ok(bytes) + return Ok(bytes); } // split by a bunch of different characters diff --git a/substrate/bin/node/rpc/Cargo.toml b/substrate/bin/node/rpc/Cargo.toml index c8b20287650bd..eaac8aad82e36 100644 --- a/substrate/bin/node/rpc/Cargo.toml +++ b/substrate/bin/node/rpc/Cargo.toml @@ -41,6 +41,5 @@ sp-consensus-babe = { workspace = true, default-features = true } sp-consensus-beefy = { workspace = true, default-features = true } sp-keystore = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } -sp-statement-store = { workspace = true, default-features = true } substrate-frame-rpc-system = { workspace = true, default-features = true } substrate-state-trie-migration-rpc = { workspace = true, default-features = true } diff --git a/substrate/bin/node/rpc/src/lib.rs b/substrate/bin/node/rpc/src/lib.rs index 988502bb2bfdc..f02bb8a1de3a3 100644 --- a/substrate/bin/node/rpc/src/lib.rs +++ b/substrate/bin/node/rpc/src/lib.rs @@ -86,6 +86,14 @@ pub struct BeefyDeps { pub subscription_executor: SubscriptionTaskExecutor, } +/// Extra dependencies for statement store +pub struct StatementStoreDeps { + /// Shared statement store reference. + pub statement_store: Arc, + /// Executor to drive the subscription manager in the statement store RPC handler. + pub subscription_executor: SubscriptionTaskExecutor, +} + /// Full client dependencies. pub struct FullDeps { /// The client instance to use. @@ -102,8 +110,8 @@ pub struct FullDeps { pub grandpa: GrandpaDeps, /// BEEFY specific dependencies. pub beefy: BeefyDeps, - /// Shared statement store reference. - pub statement_store: Arc, + /// Statement store specific dependencies. + pub statement_store_deps: StatementStoreDeps, /// The backend used by the node. pub backend: Arc, /// Mixnet API. @@ -120,7 +128,7 @@ pub fn create_full( babe, grandpa, beefy, - statement_store, + statement_store_deps, backend, mixnet_api, }: FullDeps, @@ -206,8 +214,12 @@ where io.merge(StateMigration::new(client.clone(), backend).into_rpc())?; io.merge(Dev::new(client).into_rpc())?; - let statement_store = sc_rpc::statement::StatementStore::new(statement_store).into_rpc(); - io.merge(statement_store)?; + let statement_store_rpc = sc_rpc::statement::StatementStore::new( + statement_store_deps.statement_store, + statement_store_deps.subscription_executor, + ) + .into_rpc(); + io.merge(statement_store_rpc)?; if let Some(mixnet_api) = mixnet_api { let mixnet = sc_rpc::mixnet::Mixnet::new(mixnet_api).into_rpc(); diff --git a/substrate/bin/node/runtime/Cargo.toml b/substrate/bin/node/runtime/Cargo.toml index 2ca8840314187..bf813ad5422c6 100644 --- a/substrate/bin/node/runtime/Cargo.toml +++ b/substrate/bin/node/runtime/Cargo.toml @@ -25,7 +25,7 @@ rand = { workspace = true, optional = true } rand_pcg = { workspace = true, optional = true } scale-info = { features = ["derive", "serde"], workspace = true } serde_json = { features = ["alloc", "arbitrary_precision"], workspace = true } -sp-debug-derive = { workspace = true, features = ["force-debug"] } +sp-debug-derive = { workspace = true } static_assertions = { workspace = true, default-features = true } # pallet-asset-conversion: turn on "num-traits" feature diff --git a/substrate/bin/node/runtime/src/lib.rs b/substrate/bin/node/runtime/src/lib.rs index 72e8d1e1f6c0f..8238a593d76ff 100644 --- a/substrate/bin/node/runtime/src/lib.rs +++ b/substrate/bin/node/runtime/src/lib.rs @@ -214,8 +214,12 @@ const MAXIMUM_BLOCK_WEIGHT: Weight = parameter_types! { pub const BlockHashCount: BlockNumber = 2400; pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -613,7 +617,7 @@ impl pallet_transaction_payment::Config for Runtime { type RuntimeEvent = RuntimeEvent; type OnChargeTransaction = FungibleAdapter>; type OperationalFeeMultiplier = OperationalFeeMultiplier; - type WeightToFee = pallet_revive::evm::fees::BlockRatioFee<1, 1, Self>; + type WeightToFee = pallet_revive::evm::fees::BlockRatioFee<1, 1, Self, Balance>; type LengthToFee = ConstantMultiplier; type FeeMultiplierUpdate = TargetedFeeAdjustment< Self, @@ -1369,6 +1373,7 @@ impl pallet_bounties::Config for Runtime { type WeightInfo = pallet_bounties::weights::SubstrateWeight; type ChildBountyManager = ChildBounties; type OnSlash = Treasury; + type TransferAllAssets = (); } parameter_types! { @@ -1539,7 +1544,6 @@ impl pallet_revive::Config for Runtime { type AddressMapper = pallet_revive::AccountId32Mapper; type RuntimeMemory = ConstU32<{ 128 * 1024 * 1024 }>; type PVFMemory = ConstU32<{ 512 * 1024 * 1024 }>; - type UnsafeUnstableInterface = ConstBool; type UploadOrigin = EnsureSigned; type InstantiateOrigin = EnsureSigned; type RuntimeHoldReason = RuntimeHoldReason; @@ -3071,8 +3075,8 @@ impl assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_idx.into(), - account.clone().into(), /* owner */ - true, /* is_sufficient */ + account.clone().into(), // owner + true, // is_sufficient 1, )); @@ -3255,15 +3259,6 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( } } - impl sp_statement_store::runtime_api::ValidateStatement for Runtime { - fn validate_statement( - source: sp_statement_store::runtime_api::StatementSource, - statement: sp_statement_store::Statement, - ) -> Result { - Statement::validate_statement(source, statement) - } - } - impl sp_offchain::OffchainWorkerApi for Runtime { fn offchain_worker(header: &::Header) { Executive::offchain_worker(header) @@ -3759,8 +3754,8 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -3776,6 +3771,12 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( } } + impl sp_transaction_storage_proof::runtime_api::TransactionStorageApi for Runtime { + fn retention_period() -> NumberFor { + TransactionStorage::retention_period() + } + } + #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) { @@ -3844,10 +3845,16 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( use baseline::Pallet as BaselineBench; use pallet_nomination_pools_benchmarking::Pallet as NominationPoolsBench; - impl pallet_session_benchmarking::Config for Runtime {} + impl pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } impl pallet_offences_benchmarking::Config for Runtime {} impl pallet_election_provider_support_benchmarking::Config for Runtime {} impl frame_system_benchmarking::Config for Runtime {} + impl pallet_transaction_payment::BenchmarkConfig for Runtime {} impl baseline::Config for Runtime {} impl pallet_nomination_pools_benchmarking::Config for Runtime {} diff --git a/substrate/bin/node/testing/src/bench.rs b/substrate/bin/node/testing/src/bench.rs index 74bc639b6b118..476a7000710c1 100644 --- a/substrate/bin/node/testing/src/bench.rs +++ b/substrate/bin/node/testing/src/bench.rs @@ -95,7 +95,7 @@ pub fn drop_system_cache() { target: "bench-logistics", "Clearing system cache on windows is not supported. Benchmark might totally be wrong.", ); - return + return; } std::process::Command::new("sync") @@ -287,7 +287,7 @@ impl<'a> Iterator for BlockContentIterator<'a> { fn next(&mut self) -> Option { if self.content.size.map(|size| size <= self.iteration).unwrap_or(false) { - return None + return None; } let sender = self.keyring.at(self.iteration); @@ -304,11 +304,12 @@ impl<'a> Iterator for BlockContentIterator<'a> { tx_ext(0, kitchensink_runtime::ExistentialDeposit::get() + 1), ), function: match self.content.block_type { - BlockType::RandomTransfersKeepAlive => + BlockType::RandomTransfersKeepAlive => { RuntimeCall::Balances(BalancesCall::transfer_keep_alive { dest: sp_runtime::MultiAddress::Id(receiver), value: kitchensink_runtime::ExistentialDeposit::get() + 1, - }), + }) + }, BlockType::RandomTransfersReaping => { RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: sp_runtime::MultiAddress::Id(receiver), @@ -318,8 +319,9 @@ impl<'a> Iterator for BlockContentIterator<'a> { (kitchensink_runtime::ExistentialDeposit::get() - 1), }) }, - BlockType::Noop => - RuntimeCall::System(SystemCall::remark { remark: Vec::new() }), + BlockType::Noop => { + RuntimeCall::System(SystemCall::remark { remark: Vec::new() }) + }, }, }, self.runtime_version.spec_version, @@ -389,6 +391,7 @@ impl BenchDb { state_pruning: Some(PruningMode::ArchiveAll), source: database_type.into_settings(dir.into()), blocks_pruning: sc_client_db::BlocksPruning::KeepAll, + pruning_filters: Default::default(), metrics_registry: None, }; let task_executor = TaskExecutor::new(); @@ -600,12 +603,13 @@ impl BenchKeyring { .into() }, ExtrinsicFormat::Bare => generic::UncheckedExtrinsic::new_bare(xt.function).into(), - ExtrinsicFormat::General(ext_version, tx_ext) => + ExtrinsicFormat::General(ext_version, tx_ext) => { generic::UncheckedExtrinsic::from_parts( xt.function, Preamble::General(ext_version, tx_ext), ) - .into(), + .into() + }, } } diff --git a/substrate/bin/utils/chain-spec-builder/bin/main.rs b/substrate/bin/utils/chain-spec-builder/bin/main.rs index 9898a582dd146..155346f6775ca 100644 --- a/substrate/bin/utils/chain-spec-builder/bin/main.rs +++ b/substrate/bin/utils/chain-spec-builder/bin/main.rs @@ -20,7 +20,7 @@ use chain_spec_builder::ChainSpecBuilder; use clap::Parser; use staging_chain_spec_builder as chain_spec_builder; -//avoid error message escaping +// avoid error message escaping fn main() { match inner_main() { Err(e) => eprintln!("{}", format!("{e}")), diff --git a/substrate/bin/utils/chain-spec-builder/src/lib.rs b/substrate/bin/utils/chain-spec-builder/src/lib.rs index 116f90d31931e..651bb1923bc9f 100644 --- a/substrate/bin/utils/chain-spec-builder/src/lib.rs +++ b/substrate/bin/utils/chain-spec-builder/src/lib.rs @@ -343,8 +343,9 @@ fn process_action( builder: sc_chain_spec::ChainSpecBuilder, ) -> Result { let builder = match cmd.action { - GenesisBuildAction::NamedPreset(NamedPresetCmd { ref preset_name }) => - builder.with_genesis_config_preset_name(&preset_name), + GenesisBuildAction::NamedPreset(NamedPresetCmd { ref preset_name }) => { + builder.with_genesis_config_preset_name(&preset_name) + }, GenesisBuildAction::Patch(PatchCmd { ref patch_path }) => { let patch = fs::read(patch_path.as_path()) .map_err(|e| format!("patch file {patch_path:?} shall be readable: {e}"))?; diff --git a/substrate/client/allocator/src/freeing_bump.rs b/substrate/client/allocator/src/freeing_bump.rs index f98e540b18c5b..f0e083a76b55c 100644 --- a/substrate/client/allocator/src/freeing_bump.rs +++ b/substrate/client/allocator/src/freeing_bump.rs @@ -142,7 +142,7 @@ impl Order { fn from_size(size: u32) -> Result { let clamped_size = if size > MAX_POSSIBLE_ALLOCATION { log::warn!(target: LOG_TARGET, "going to fail due to allocating {:?}", size); - return Err(Error::RequestedAllocationTooLarge) + return Err(Error::RequestedAllocationTooLarge); } else if size < MIN_POSSIBLE_ALLOCATION { MIN_POSSIBLE_ALLOCATION } else { @@ -411,7 +411,7 @@ impl FreeingBumpHeapAllocator { size: WordSize, ) -> Result, Error> { if self.poisoned { - return Err(error("the allocator has been poisoned")) + return Err(error("the allocator has been poisoned")); } let bomb = PoisonBomb { poisoned: &mut self.poisoned }; @@ -424,7 +424,7 @@ impl FreeingBumpHeapAllocator { if (u64::from(header_ptr) + u64::from(order.size()) + u64::from(HEADER_SIZE)) > mem.size() { - return Err(error("Invalid header pointer detected")) + return Err(error("Invalid header pointer detected")); } // Remove this header from the free list. @@ -469,7 +469,7 @@ impl FreeingBumpHeapAllocator { /// - `ptr` - pointer to the allocated chunk pub fn deallocate(&mut self, mem: &mut impl Memory, ptr: Pointer) -> Result<(), Error> { if self.poisoned { - return Err(error("the allocator has been poisoned")) + return Err(error("the allocator has been poisoned")); } let bomb = PoisonBomb { poisoned: &mut self.poisoned }; @@ -529,14 +529,14 @@ impl FreeingBumpHeapAllocator { "Wasm pages ({current_pages}) are already at the maximum.", ); - return Err(Error::AllocatorOutOfSpace) + return Err(Error::AllocatorOutOfSpace); } else if required_pages > max_pages { log::debug!( target: LOG_TARGET, "Failed to grow memory from {current_pages} pages to at least {required_pages}\ pages due to the maximum limit of {max_pages} pages", ); - return Err(Error::AllocatorOutOfSpace) + return Err(Error::AllocatorOutOfSpace); } // Ideally we want to double our current number of pages, @@ -551,7 +551,7 @@ impl FreeingBumpHeapAllocator { "Failed to grow memory from {current_pages} pages to {next_pages} pages", ); - return Err(Error::AllocatorOutOfSpace) + return Err(Error::AllocatorOutOfSpace); } debug_assert_eq!(memory.pages(), next_pages, "Number of pages should have increased!"); @@ -567,7 +567,7 @@ impl FreeingBumpHeapAllocator { mem: &mut impl Memory, ) -> Result<(), Error> { if mem.size() < *last_observed_memory_size { - return Err(Error::MemoryShrinked) + return Err(Error::MemoryShrinked); } *last_observed_memory_size = mem.size(); Ok(()) diff --git a/substrate/client/api/src/in_mem.rs b/substrate/client/api/src/in_mem.rs index 7ff41fe1d1039..798495de9d507 100644 --- a/substrate/client/api/src/in_mem.rs +++ b/substrate/client/api/src/in_mem.rs @@ -192,7 +192,7 @@ impl Blockchain { pub fn equals_to(&self, other: &Self) -> bool { // Check ptr equality first to avoid double read locks. if ptr::eq(self, other) { - return true + return true; } self.canon_equals_to(other) && self.storage.read().blocks == other.storage.read().blocks } @@ -201,7 +201,7 @@ impl Blockchain { pub fn canon_equals_to(&self, other: &Self) -> bool { // Check ptr equality first to avoid double read locks. if ptr::eq(self, other) { - return true + return true; } let this = self.storage.read(); let other = other.storage.read(); @@ -307,7 +307,7 @@ impl Blockchain { if !stored_justifications.append(justification) { return Err(sp_blockchain::Error::BadJustification( "Duplicate consensus engine ID".into(), - )) + )); } } else { *block_justifications = Some(Justifications::from(justification)); @@ -740,7 +740,7 @@ impl backend::Backend for Backend { _trie_cache_context: TrieCacheContext, ) -> sp_blockchain::Result { if hash == Default::default() { - return Ok(Self::State::default()) + return Ok(Self::State::default()); } self.states @@ -787,7 +787,7 @@ impl backend::LocalBackend for Backend {} /// Check that genesis storage is valid. pub fn check_genesis_storage(storage: &Storage) -> sp_blockchain::Result<()> { if storage.top.iter().any(|(k, _)| well_known_keys::is_child_storage_key(k)) { - return Err(sp_blockchain::Error::InvalidState) + return Err(sp_blockchain::Error::InvalidState); } if storage @@ -795,7 +795,7 @@ pub fn check_genesis_storage(storage: &Storage) -> sp_blockchain::Result<()> { .keys() .any(|child_key| !well_known_keys::is_child_storage_key(child_key)) { - return Err(sp_blockchain::Error::InvalidState) + return Err(sp_blockchain::Error::InvalidState); } Ok(()) diff --git a/substrate/client/api/src/leaves.rs b/substrate/client/api/src/leaves.rs index b274748c8543b..40bf9f24c4c32 100644 --- a/substrate/client/api/src/leaves.rs +++ b/substrate/client/api/src/leaves.rs @@ -132,7 +132,7 @@ where let number = Reverse(number); if !self.remove_leaf(&number, &hash) { - return None + return None; } let inserted = parent_hash.and_then(|parent_hash| { diff --git a/substrate/client/api/src/lib.rs b/substrate/client/api/src/lib.rs index f614a1e30b48e..4f4a42f55c367 100644 --- a/substrate/client/api/src/lib.rs +++ b/substrate/client/api/src/lib.rs @@ -65,17 +65,17 @@ pub mod utils { { move |base, hash| { if base == hash { - return Ok(false) + return Ok(false); } let mut hash = hash; if let Some((current_hash, current_parent_hash)) = ¤t { if base == current_hash { - return Ok(false) + return Ok(false); } if hash == current_hash { if base == current_parent_hash { - return Ok(true) + return Ok(true); } else { hash = current_parent_hash; } diff --git a/substrate/client/api/src/notifications/registry.rs b/substrate/client/api/src/notifications/registry.rs index 10c6673110ad4..63a43997004bc 100644 --- a/substrate/client/api/src/notifications/registry.rs +++ b/substrate/client/api/src/notifications/registry.rs @@ -183,7 +183,7 @@ impl Registry { // early exit if no listeners if !has_wildcard && self.listeners.is_empty() && self.child_listeners.is_empty() { - return + return; } let mut subscribers = self.wildcard_listeners.clone(); @@ -229,7 +229,7 @@ impl Registry { // Don't send empty notifications if changes.is_empty() && child_changes.is_empty() { - return + return; } let changes = Arc::<[_]>::from(changes); @@ -299,7 +299,7 @@ impl Registry { None => { wildcards.remove(&subscriber); }, - Some(filters) => + Some(filters) => { for key in filters.iter() { let remove_key = match listeners.get_mut(key) { Some(ref mut set) => { @@ -312,7 +312,8 @@ impl Registry { if remove_key { listeners.remove(key); } - }, + } + }, } } diff --git a/substrate/client/authority-discovery/src/worker.rs b/substrate/client/authority-discovery/src/worker.rs index 4649896115698..b2a3b8cf89c95 100644 --- a/substrate/client/authority-discovery/src/worker.rs +++ b/substrate/client/authority-discovery/src/worker.rs @@ -446,6 +446,18 @@ where }) }; + // Addresses without a port cannot be dialed. + let address_has_port = |address: &Multiaddr| { + address.iter().any(|protocol| { + matches!( + protocol, + multiaddr::Protocol::Tcp(_) | + multiaddr::Protocol::Udp(_) | + multiaddr::Protocol::Memory(_) + ) + }) + }; + // These are the addresses the node is listening for incoming connections, // as reported by installed protocols (tcp / websocket etc). // @@ -458,7 +470,7 @@ where .listen_addresses() .into_iter() .filter_map(|address| { - address_is_global(&address) + (address_is_global(&address) && address_has_port(&address)) .then(|| AddressType::GlobalListenAddress(address).without_p2p(local_peer_id)) }) .take(MAX_GLOBAL_LISTEN_ADDRESSES) @@ -470,8 +482,10 @@ where .external_addresses() .into_iter() .filter_map(|address| { - (publish_non_global_ips || address_is_global(&address)) - .then(|| AddressType::ExternalAddress(address).without_p2p(local_peer_id)) + // Only publish addresses that have a port and are global. + (address_has_port(&address) && + (publish_non_global_ips || address_is_global(&address))) + .then(|| AddressType::ExternalAddress(address).without_p2p(local_peer_id)) }) .peekable(); @@ -490,6 +504,7 @@ where .public_addresses .clone() .into_iter() + .filter(address_has_port) .chain(global_listen_addresses) .chain(external_addresses) // Deduplicate addresses. @@ -544,7 +559,7 @@ where ); self.publish_interval.set_to_start(); - return Ok(()) + return Ok(()); } let keys = @@ -560,7 +575,7 @@ where // If the authority keys did not change and the `publish_if_changed_interval` was // triggered then do nothing. if keys == self.latest_published_keys { - return Ok(()) + return Ok(()); } // We have detected a change in the authority keys, reset the timers to @@ -825,7 +840,7 @@ where .map_err(Error::EncodingDecodingScale)?; if !AuthorityPair::verify(&auth_signature, &signed_record.record, &authority_id) { - return Err(Error::VerifyingDhtPayload) + return Err(Error::VerifyingDhtPayload); } Ok(signed_record) @@ -850,7 +865,7 @@ where Err(error) => return Err(Error::ParsingLibp2pIdentity(error)), } } else if self.strict_record_validation { - return Err(Error::MissingPeerIdSignature) + return Err(Error::MissingPeerIdSignature); } else { debug!( target: LOG_TARGET, @@ -980,7 +995,7 @@ where authority_id, new_record.creation_time, current_record_info.creation_time ); self.last_known_records.insert(kademlia_key, new_record); - return true + return true; } if new_record.creation_time == current_record_info.creation_time { @@ -996,7 +1011,7 @@ where { current_record_info.peers_with_record.extend(new_record.peers_with_record); } - return true + return true; } debug!( @@ -1011,7 +1026,7 @@ where // storage, so we need to update that as well. new_record.peers_with_record.is_empty(), ); - return false + return false; } /// Retrieve our public keys within the current and next authority set. diff --git a/substrate/client/authority-discovery/src/worker/addr_cache.rs b/substrate/client/authority-discovery/src/worker/addr_cache.rs index fe1819e64c1e3..eb71a7d75aad8 100644 --- a/substrate/client/authority-discovery/src/worker/addr_cache.rs +++ b/substrate/client/authority-discovery/src/worker/addr_cache.rs @@ -168,7 +168,7 @@ impl AddrCache { authority_id, addresses, ); - return + return; } else if peer_ids.len() > 1 { log::warn!( target: super::LOG_TARGET, @@ -258,7 +258,7 @@ impl AddrCache { { addresses } else { - continue + continue; }; self.remove_authority_id_from_peer_ids( diff --git a/substrate/client/basic-authorship/src/basic_authorship.rs b/substrate/client/basic-authorship/src/basic_authorship.rs index 799a20a07dc63..b9cd2abc4ef42 100644 --- a/substrate/client/basic-authorship/src/basic_authorship.rs +++ b/substrate/client/basic-authorship/src/basic_authorship.rs @@ -304,8 +304,9 @@ where let mode = block_builder.extrinsic_inclusion_mode(); let end_reason = match mode { - ExtrinsicInclusionMode::AllExtrinsics => - self.apply_extrinsics(&mut block_builder, deadline, block_size_limit).await?, + ExtrinsicInclusionMode::AllExtrinsics => { + self.apply_extrinsics(&mut block_builder, deadline, block_size_limit).await? + }, ExtrinsicInclusionMode::OnlyInherents => EndProposingReason::TransactionForbidden, }; let (block, storage_changes) = block_builder.build()?.into_inner(); @@ -355,7 +356,7 @@ where error!( "❌️ Mandatory inherent extrinsic returned error. Block cannot be produced." ); - return Err(ApplyExtrinsicFailed(Validity(e))) + return Err(ApplyExtrinsicFailed(Validity(e))); }, Err(e) => { warn!( @@ -405,7 +406,7 @@ where "No more transactions, proceeding with proposing." ); - break limit_hit_reason.unwrap_or(EndProposingReason::NoMoreTransactions) + break limit_hit_reason.unwrap_or(EndProposingReason::NoMoreTransactions); }; let now = (self.now)(); @@ -415,7 +416,7 @@ where "Consensus deadline reached when pushing block transactions, \ proceeding with proposing." ); - break limit_hit_reason.unwrap_or(EndProposingReason::HitDeadline) + break limit_hit_reason.unwrap_or(EndProposingReason::HitDeadline); } let pending_tx_data = (**pending_tx.data()).clone(); @@ -433,7 +434,7 @@ where but will try {} more transactions before quitting.", MAX_SKIPPED_TRANSACTIONS - skipped, ); - continue + continue; } else if now < soft_deadline { debug!( target: LOG_TARGET, @@ -441,13 +442,13 @@ where but we still have time before the soft deadline, so \ we will try a bit more." ); - continue + continue; } else { debug!( target: LOG_TARGET, "Reached block size limit, proceeding with proposing." ); - break EndProposingReason::HitBlockSizeLimit + break EndProposingReason::HitBlockSizeLimit; } } @@ -477,7 +478,7 @@ where target: LOG_TARGET, "Reached block weight limit, proceeding with proposing." ); - break EndProposingReason::HitBlockWeightLimit + break EndProposingReason::HitBlockWeightLimit; } }, Err(e) => { @@ -651,7 +652,7 @@ mod tests { let mut value = cell.lock(); if !value.0 { value.0 = true; - return value.1 + return value.1; } let old = value.1; let new = old + time::Duration::from_secs(1); @@ -696,7 +697,7 @@ mod tests { let mut value = cell.lock(); if !value.0 { value.0 = true; - return value.1 + return value.1; } let new = value.1 + time::Duration::from_secs(160); *value = (true, new); diff --git a/substrate/client/chain-spec/derive/src/impls.rs b/substrate/client/chain-spec/derive/src/impls.rs index d8b20c5c2a8cc..b0b4beed922e5 100644 --- a/substrate/client/chain-spec/derive/src/impls.rs +++ b/substrate/client/chain-spec/derive/src/impls.rs @@ -97,7 +97,7 @@ pub fn group_derive(ast: &DeriveInput) -> proc_macro::TokenStream { Error::new(Span::call_site(), &format!("Could not find `serde` crate: {}", e)) .to_compile_error(); - return quote!( #err ) + return quote!( #err ); }, }; diff --git a/substrate/client/chain-spec/src/chain_spec.rs b/substrate/client/chain-spec/src/chain_spec.rs index 0999c040c1e46..82aeb2fada801 100644 --- a/substrate/client/chain-spec/src/chain_spec.rs +++ b/substrate/client/chain-spec/src/chain_spec.rs @@ -65,8 +65,9 @@ impl Clone for GenesisBuildAction { match self { Self::Patch(ref p) => Self::Patch(p.clone()), Self::Full(ref f) => Self::Full(f.clone()), - Self::NamedPreset(ref p, patch, _) => - Self::NamedPreset(p.clone(), patch.clone(), Default::default()), + Self::NamedPreset(ref p, patch, _) => { + Self::NamedPreset(p.clone(), patch.clone(), Default::default()) + }, } } } @@ -124,16 +125,18 @@ impl GenesisSource { Ok(genesis.genesis) }, Self::Storage(storage) => Ok(Genesis::Raw(RawGenesis::from(storage.clone()))), - Self::GenesisBuilderApi(GenesisBuildAction::Full(config), code) => + Self::GenesisBuilderApi(GenesisBuildAction::Full(config), code) => { Ok(Genesis::RuntimeGenesis(RuntimeGenesisInner { json_blob: RuntimeGenesisConfigJson::Config(config.clone()), code: code.clone(), - })), - Self::GenesisBuilderApi(GenesisBuildAction::Patch(patch), code) => + })) + }, + Self::GenesisBuilderApi(GenesisBuildAction::Patch(patch), code) => { Ok(Genesis::RuntimeGenesis(RuntimeGenesisInner { json_blob: RuntimeGenesisConfigJson::Patch(patch.clone()), code: code.clone(), - })), + })) + }, Self::GenesisBuilderApi(GenesisBuildAction::NamedPreset(name, patch, _), code) => { let mut preset = RuntimeCaller::::new(&code[..]).get_named_preset(Some(name))?; @@ -168,8 +171,9 @@ where // The `StateRootHash` variant exists as a way to keep note that other clients support // it, but Substrate itself isn't capable of loading chain specs with just a hash at the // moment. - Genesis::StateRootHash(_) => - return Err("Genesis storage in hash format not supported".into()), + Genesis::StateRootHash(_) => { + return Err("Genesis storage in hash format not supported".into()) + }, Genesis::RuntimeGenesis(RuntimeGenesisInner { json_blob: RuntimeGenesisConfigJson::Config(config), code, @@ -619,8 +623,12 @@ where RawGenesis::from(storage) }, (true, Genesis::Raw(raw)) => raw, - (_, genesis) => - return Ok(ChainSpecJsonContainer { client_spec: self.client_spec.clone(), genesis }), + (_, genesis) => { + return Ok(ChainSpecJsonContainer { + client_spec: self.client_spec.clone(), + genesis, + }) + }, }; Ok(ChainSpecJsonContainer { @@ -970,7 +978,7 @@ mod tests { from_str::(include_str!("../res/substrate_test_runtime_from_named_preset.json")) .unwrap(); - //wasm blob may change overtime so let's zero it. Also ensure it is there: + // wasm blob may change overtime so let's zero it. Also ensure it is there: let actual = zeroize_code_key_in_json(false, actual.as_str()); assert_eq!(actual, expected); @@ -1014,7 +1022,7 @@ mod tests { from_str::(include_str!("../res/substrate_test_runtime_from_patch_raw.json")) .unwrap(); - //wasm blob may change overtime so let's zero it. Also ensure it is there: + // wasm blob may change overtime so let's zero it. Also ensure it is there: let actual = zeroize_code_key_in_json(false, actual.as_str()); let actual_raw = zeroize_code_key_in_json(true, actual_raw.as_str()); @@ -1045,7 +1053,7 @@ mod tests { from_str::(include_str!("../res/substrate_test_runtime_from_config_raw.json")) .unwrap(); - //wasm blob may change overtime so let's zero it. Also ensure it is there: + // wasm blob may change overtime so let's zero it. Also ensure it is there: let actual = zeroize_code_key_in_json(false, actual.as_str()); let actual_raw = zeroize_code_key_in_json(true, actual_raw.as_str()); diff --git a/substrate/client/chain-spec/src/genesis_config_builder.rs b/substrate/client/chain-spec/src/genesis_config_builder.rs index 0b07c87bcdf10..82d173f9c5629 100644 --- a/substrate/client/chain-spec/src/genesis_config_builder.rs +++ b/substrate/client/chain-spec/src/genesis_config_builder.rs @@ -230,7 +230,7 @@ mod tests { .get_storage_for_patch(patch) .unwrap(); - //Babe|Authorities + // Babe|Authorities let value: Vec = storage .top .get( diff --git a/substrate/client/chain-spec/src/json_patch.rs b/substrate/client/chain-spec/src/json_patch.rs index a223792374e0c..45a38e00ef2ad 100644 --- a/substrate/client/chain-spec/src/json_patch.rs +++ b/substrate/client/chain-spec/src/json_patch.rs @@ -33,10 +33,11 @@ use serde_json::Value; /// * `b` - The JSON object to merge with `a`. pub fn merge(a: &mut Value, b: Value) { match (a, b) { - (Value::Object(a), Value::Object(b)) => + (Value::Object(a), Value::Object(b)) => { for (k, v) in b { merge(a.entry(k).or_insert(Value::Null), v); - }, + } + }, (a, b) => *a = b, }; } diff --git a/substrate/client/cli/src/arg_enums.rs b/substrate/client/cli/src/arg_enums.rs index cd245dc015545..2a6dc79f1680a 100644 --- a/substrate/client/cli/src/arg_enums.rs +++ b/substrate/client/cli/src/arg_enums.rs @@ -79,14 +79,18 @@ pub fn execution_method_from_cli( sc_service::config::WasmExecutionMethod::Compiled { instantiation_strategy: match instantiation_strategy { - WasmtimeInstantiationStrategy::PoolingCopyOnWrite => - sc_service::config::WasmtimeInstantiationStrategy::PoolingCopyOnWrite, - WasmtimeInstantiationStrategy::RecreateInstanceCopyOnWrite => - sc_service::config::WasmtimeInstantiationStrategy::RecreateInstanceCopyOnWrite, - WasmtimeInstantiationStrategy::Pooling => - sc_service::config::WasmtimeInstantiationStrategy::Pooling, - WasmtimeInstantiationStrategy::RecreateInstance => - sc_service::config::WasmtimeInstantiationStrategy::RecreateInstance, + WasmtimeInstantiationStrategy::PoolingCopyOnWrite => { + sc_service::config::WasmtimeInstantiationStrategy::PoolingCopyOnWrite + }, + WasmtimeInstantiationStrategy::RecreateInstanceCopyOnWrite => { + sc_service::config::WasmtimeInstantiationStrategy::RecreateInstanceCopyOnWrite + }, + WasmtimeInstantiationStrategy::Pooling => { + sc_service::config::WasmtimeInstantiationStrategy::Pooling + }, + WasmtimeInstantiationStrategy::RecreateInstance => { + sc_service::config::WasmtimeInstantiationStrategy::RecreateInstance + }, }, } } @@ -221,7 +225,7 @@ impl FromStr for Cors { match part { "all" | "*" => { is_all = true; - break + break; }, other => origins.push(other.to_owned()), } @@ -290,6 +294,9 @@ pub enum SyncMode { /// Download blocks without executing them. Download latest state without proofs. FastUnsafe, /// Prove finality and download the latest state. + /// After warp sync completes, the node will have block headers but not bodies for historical + /// blocks (unless `blocks-pruning` is set to archive mode). This saves bandwidth while still + /// allowing the node to serve as a warp sync source for other nodes. Warp, } diff --git a/substrate/client/cli/src/commands/chain_info_cmd.rs b/substrate/client/cli/src/commands/chain_info_cmd.rs index ab288f4af15f4..36ed24f43dc7f 100644 --- a/substrate/client/cli/src/commands/chain_info_cmd.rs +++ b/substrate/client/cli/src/commands/chain_info_cmd.rs @@ -77,6 +77,7 @@ impl ChainInfoCmd { state_pruning: config.state_pruning.clone(), source: config.database.clone(), blocks_pruning: config.blocks_pruning, + pruning_filters: Default::default(), metrics_registry: None, }; let backend = sc_service::new_db_backend::(db_config)?; diff --git a/substrate/client/cli/src/commands/purge_chain_cmd.rs b/substrate/client/cli/src/commands/purge_chain_cmd.rs index 6e7b8143a5bb7..6a47ea4dc36c9 100644 --- a/substrate/client/cli/src/commands/purge_chain_cmd.rs +++ b/substrate/client/cli/src/commands/purge_chain_cmd.rs @@ -64,7 +64,7 @@ impl PurgeChainCmd { Some('y') | Some('Y') => {}, _ => { println!("Aborted"); - return Ok(()) + return Ok(()); }, } } diff --git a/substrate/client/cli/src/commands/vanity.rs b/substrate/client/cli/src/commands/vanity.rs index 9acacb4b15b20..4ae9f7890afc3 100644 --- a/substrate/client/cli/src/commands/vanity.rs +++ b/substrate/client/cli/src/commands/vanity.rs @@ -103,7 +103,7 @@ where best = score; if best >= top { println!("best: {} == top: {}", best, top); - return Ok(utils::format_seed::(seed.clone())) + return Ok(utils::format_seed::(seed.clone())); } } done += 1; @@ -131,7 +131,7 @@ fn next_seed(seed: &mut [u8]) { }, _ => { *s += 1; - break + break; }, } } @@ -144,7 +144,7 @@ fn calculate_score(_desired: &str, key: &str) -> usize { let snip_size = _desired.len() - truncate; let truncated = &_desired[0..snip_size]; if let Some(pos) = key.find(truncated) { - return (47 - pos) + (snip_size * 48) + return (47 - pos) + (snip_size * 48); } } 0 diff --git a/substrate/client/cli/src/commands/verify.rs b/substrate/client/cli/src/commands/verify.rs index c6d280de3fcfd..554cdc270b2bd 100644 --- a/substrate/client/cli/src/commands/verify.rs +++ b/substrate/client/cli/src/commands/verify.rs @@ -90,7 +90,7 @@ where if Pair::verify(&signature, &message, &pubkey) { println!("Signature verifies correctly."); } else { - return Err(error::Error::SignatureInvalid) + return Err(error::Error::SignatureInvalid); } Ok(()) diff --git a/substrate/client/cli/src/config.rs b/substrate/client/cli/src/config.rs index 855b6e0eb22b4..0af508aeed6d8 100644 --- a/substrate/client/cli/src/config.rs +++ b/substrate/client/cli/src/config.rs @@ -660,14 +660,15 @@ pub trait CliConfiguration: Sized { logger.init()?; match fdlimit::raise_fd_limit() { - Ok(fdlimit::Outcome::LimitRaised { to, .. }) => + Ok(fdlimit::Outcome::LimitRaised { to, .. }) => { if to < RECOMMENDED_OPEN_FILE_DESCRIPTOR_LIMIT { warn!( "Low open file descriptor limit configured for the process. \ Current value: {:?}, recommended value: {:?}.", to, RECOMMENDED_OPEN_FILE_DESCRIPTOR_LIMIT, ); - }, + } + }, Ok(fdlimit::Outcome::Unsupported) => { // Unsupported platform (non-Linux) }, @@ -693,7 +694,7 @@ pub fn generate_node_name() -> String { let count = node_name.chars().count(); if count < NODE_NAME_MAX_LENGTH { - return node_name + return node_name; } } } diff --git a/substrate/client/cli/src/params/import_params.rs b/substrate/client/cli/src/params/import_params.rs index 236907957df67..d3ed4a9fa99fc 100644 --- a/substrate/client/cli/src/params/import_params.rs +++ b/substrate/client/cli/src/params/import_params.rs @@ -106,10 +106,12 @@ pub enum TrieCacheWarmUpStrategy { impl From for sc_service::config::TrieCacheWarmUpStrategy { fn from(strategy: TrieCacheWarmUpStrategy) -> Self { match strategy { - TrieCacheWarmUpStrategy::NonBlocking => - sc_service::config::TrieCacheWarmUpStrategy::NonBlocking, - TrieCacheWarmUpStrategy::Blocking => - sc_service::config::TrieCacheWarmUpStrategy::Blocking, + TrieCacheWarmUpStrategy::NonBlocking => { + sc_service::config::TrieCacheWarmUpStrategy::NonBlocking + }, + TrieCacheWarmUpStrategy::Blocking => { + sc_service::config::TrieCacheWarmUpStrategy::Blocking + }, } } } diff --git a/substrate/client/cli/src/params/network_params.rs b/substrate/client/cli/src/params/network_params.rs index 57be3de3f0e47..94ffdae208cc6 100644 --- a/substrate/client/cli/src/params/network_params.rs +++ b/substrate/client/cli/src/params/network_params.rs @@ -247,8 +247,9 @@ impl NetworkParams { (true, true) => unreachable!("`*_private_ip` flags are mutually exclusive; qed"), (true, false) => true, (false, true) => false, - (false, false) => - is_dev || matches!(chain_type, ChainType::Local | ChainType::Development), + (false, false) => { + is_dev || matches!(chain_type, ChainType::Local | ChainType::Development) + }, }; NetworkConfiguration { diff --git a/substrate/client/cli/src/params/node_key_params.rs b/substrate/client/cli/src/params/node_key_params.rs index 70671bff8c05c..58895ca95cc78 100644 --- a/substrate/client/cli/src/params/node_key_params.rs +++ b/substrate/client/cli/src/params/node_key_params.rs @@ -119,7 +119,7 @@ impl NodeKeyParams { role.is_authority() && !is_dev && !key_path.exists() { - return Err(Error::NetworkKeyNotFound(key_path)) + return Err(Error::NetworkKeyNotFound(key_path)); } sc_network::config::Secret::File(key_path) }; @@ -169,7 +169,9 @@ mod tests { params.node_key(net_config_dir, Role::Authority, false).and_then(|c| match c { NodeKeyConfig::Ed25519(sc_network::config::Secret::Input(ref ski)) if node_key_type == NodeKeyType::Ed25519 && &sk[..] == ski.as_ref() => - Ok(()), + { + Ok(()) + }, _ => Err(error::Error::Input("Unexpected node key config".into())), }) }) @@ -241,7 +243,9 @@ mod tests { NodeKeyConfig::Ed25519(sc_network::config::Secret::File(ref f)) if typ == NodeKeyType::Ed25519 && f == &dir.join(NODE_KEY_ED25519_FILE) => - Ok(()), + { + Ok(()) + }, _ => Err(error::Error::Input("Unexpected node key config".into())), }) }, diff --git a/substrate/client/cli/src/params/transaction_pool_params.rs b/substrate/client/cli/src/params/transaction_pool_params.rs index b4dc17f13b0dc..549c3db1ad3a9 100644 --- a/substrate/client/cli/src/params/transaction_pool_params.rs +++ b/substrate/client/cli/src/params/transaction_pool_params.rs @@ -32,8 +32,9 @@ pub enum TransactionPoolType { impl Into for TransactionPoolType { fn into(self) -> sc_transaction_pool::TransactionPoolType { match self { - TransactionPoolType::SingleState => - sc_transaction_pool::TransactionPoolType::SingleState, + TransactionPoolType::SingleState => { + sc_transaction_pool::TransactionPoolType::SingleState + }, TransactionPoolType::ForkAware => sc_transaction_pool::TransactionPoolType::ForkAware, } } diff --git a/substrate/client/consensus/aura/src/import_queue.rs b/substrate/client/consensus/aura/src/import_queue.rs index ea5af1cc5d9ed..c5bbb52c95b18 100644 --- a/substrate/client/consensus/aura/src/import_queue.rs +++ b/substrate/client/consensus/aura/src/import_queue.rs @@ -88,8 +88,9 @@ where Ok(CheckedHeader::Checked(header, (slot, seal))) }, - Err(SealVerificationError::Deferred(header, slot)) => - Ok(CheckedHeader::Deferred(header, slot)), + Err(SealVerificationError::Deferred(header, slot)) => { + Ok(CheckedHeader::Deferred(header, slot)) + }, Err(SealVerificationError::Unsealed) => Err(Error::HeaderUnsealed(hash)), Err(SealVerificationError::BadSeal) => Err(Error::HeaderBadSeal(hash)), Err(SealVerificationError::BadSignature) => Err(Error::BadSignature(hash)), @@ -157,7 +158,7 @@ where // When we are importing only the state of a block, it will be the best block. block.fork_choice = Some(ForkChoiceStrategy::Custom(block.with_state())); - return Ok(block) + return Ok(block); } let hash = block.header.hash(); diff --git a/substrate/client/consensus/aura/src/lib.rs b/substrate/client/consensus/aura/src/lib.rs index fd8ae3d660de4..57810997fab0f 100644 --- a/substrate/client/consensus/aura/src/lib.rs +++ b/substrate/client/consensus/aura/src/lib.rs @@ -420,7 +420,7 @@ where self.client.info().finalized_number, slot, self.logging_target(), - ) + ); } } false @@ -520,7 +520,7 @@ where match compatibility_mode { CompatibilityMode::None => {}, // Use `initialize_block` until we hit the block that should disable the mode. - CompatibilityMode::UseInitializeBlock { until } => + CompatibilityMode::UseInitializeBlock { until } => { if *until > context_block_number { runtime_api .initialize_block( @@ -534,7 +534,8 @@ where ), ) .map_err(|_| ConsensusError::InvalidAuthoritiesSet)?; - }, + } + }, } runtime_api diff --git a/substrate/client/consensus/aura/src/standalone.rs b/substrate/client/consensus/aura/src/standalone.rs index 0fdd14a2e7851..625e9bfcc8f06 100644 --- a/substrate/client/consensus/aura/src/standalone.rs +++ b/substrate/client/consensus/aura/src/standalone.rs @@ -68,7 +68,7 @@ where /// Get the slot author for given block along with authorities. pub fn slot_author(slot: Slot, authorities: &[AuthorityId

]) -> Option<&AuthorityId

> { if authorities.is_empty() { - return None + return None; } let idx = *slot % (authorities.len() as u64); @@ -171,7 +171,7 @@ pub fn find_pre_digest( header: &B::Header, ) -> Result { if header.number().is_zero() { - return Ok(0.into()) + return Ok(0.into()); } let mut pre_digest: Option = None; @@ -208,7 +208,7 @@ where match compatibility_mode { CompatibilityMode::None => {}, // Use `initialize_block` until we hit the block that should disable the mode. - CompatibilityMode::UseInitializeBlock { until } => + CompatibilityMode::UseInitializeBlock { until } => { if *until > context_block_number { runtime_api .initialize_block( @@ -222,7 +222,8 @@ where ), ) .map_err(|_| ConsensusError::InvalidAuthoritiesSet)?; - }, + } + }, } runtime_api @@ -303,7 +304,7 @@ where if slot > slot_now { header.digest_mut().push(seal); - return Err(SealVerificationError::Deferred(header, slot)) + return Err(SealVerificationError::Deferred(header, slot)); } else { // check the signature is valid under the expected authority and // chain state. diff --git a/substrate/client/consensus/babe/src/authorship.rs b/substrate/client/consensus/babe/src/authorship.rs index aa54da2a4434e..75d5e6a43dd3f 100644 --- a/substrate/client/consensus/babe/src/authorship.rs +++ b/substrate/client/consensus/babe/src/authorship.rs @@ -48,7 +48,7 @@ pub(super) fn calculate_primary_threshold( // configuration parameters, this is not sufficient to guarantee that `c.1` is non-zero // (i.e. third party implementations are possible). if c.1 == 0 || authority_index >= authorities.len() { - return 0 + return 0; } let c = c.0 as f64 / c.1 as f64; @@ -105,7 +105,7 @@ pub(super) fn secondary_slot_author( randomness: Randomness, ) -> Option<&AuthorityId> { if authorities.is_empty() { - return None + return None; } let rand = @@ -133,7 +133,7 @@ fn claim_secondary_slot( author_secondary_vrf: bool, ) -> Option<(PreDigest, AuthorityId)> { if epoch.authorities.is_empty() { - return None + return None; } let mut epoch_index = epoch.epoch_index; @@ -169,7 +169,7 @@ fn claim_secondary_slot( }; if let Some(pre_digest) = pre_digest { - return Some((pre_digest, authority_id.clone())) + return Some((pre_digest, authority_id.clone())); } } } @@ -261,7 +261,7 @@ fn claim_primary_slot( vrf_signature, }); - return Some((pre_digest, authority_id.clone())) + return Some((pre_digest, authority_id.clone())); } } } diff --git a/substrate/client/consensus/babe/src/aux_schema.rs b/substrate/client/consensus/babe/src/aux_schema.rs index a87b7c9a0d030..b661660178e91 100644 --- a/substrate/client/consensus/babe/src/aux_schema.rs +++ b/substrate/client/consensus/babe/src/aux_schema.rs @@ -62,21 +62,25 @@ pub fn load_epoch_changes( let version = load_decode::<_, u32>(backend, BABE_EPOCH_CHANGES_VERSION)?; let maybe_epoch_changes = match version { - None => + None => { load_decode::<_, EpochChangesV0For>(backend, BABE_EPOCH_CHANGES_KEY)? - .map(|v0| v0.migrate().map(|_, _, epoch| epoch.migrate(config))), - Some(1) => + .map(|v0| v0.migrate().map(|_, _, epoch| epoch.migrate(config))) + }, + Some(1) => { load_decode::<_, EpochChangesV1For>(backend, BABE_EPOCH_CHANGES_KEY)? - .map(|v1| v1.migrate().map(|_, _, epoch| epoch.migrate(config))), + .map(|v1| v1.migrate().map(|_, _, epoch| epoch.migrate(config))) + }, Some(2) => { // v2 still uses `EpochChanges` v1 format but with a different `Epoch` type. load_decode::<_, EpochChangesV1For>(backend, BABE_EPOCH_CHANGES_KEY)? .map(|v2| v2.migrate()) }, - Some(BABE_EPOCH_CHANGES_CURRENT_VERSION) => - load_decode::<_, EpochChangesFor>(backend, BABE_EPOCH_CHANGES_KEY)?, - Some(other) => - return Err(ClientError::Backend(format!("Unsupported BABE DB version: {:?}", other))), + Some(BABE_EPOCH_CHANGES_CURRENT_VERSION) => { + load_decode::<_, EpochChangesFor>(backend, BABE_EPOCH_CHANGES_KEY)? + }, + Some(other) => { + return Err(ClientError::Backend(format!("Unsupported BABE DB version: {:?}", other))) + }, }; let epoch_changes = diff --git a/substrate/client/consensus/babe/src/lib.rs b/substrate/client/consensus/babe/src/lib.rs index a21aa92871b8c..1288259463a3b 100644 --- a/substrate/client/consensus/babe/src/lib.rs +++ b/substrate/client/consensus/babe/src/lib.rs @@ -401,10 +401,11 @@ where } }, Some(2) => runtime_api.configuration(at_hash)?, - _ => + _ => { return Err(sp_blockchain::Error::VersionInvalid( "Unsupported or invalid BabeApi version".to_string(), - )), + )) + }, }; Ok(config) } @@ -791,13 +792,14 @@ where let sinks = &mut self.slot_notification_sinks.lock(); sinks.retain_mut(|sink| match sink.try_send((slot, epoch_descriptor.clone())) { Ok(()) => true, - Err(e) => + Err(e) => { if e.is_full() { warn!(target: LOG_TARGET, "Trying to notify a slot but the channel is full"); true } else { false - }, + } + }, }); } @@ -853,7 +855,7 @@ where self.client.info().finalized_number, slot, self.logging_target(), - ) + ); } } false @@ -898,7 +900,7 @@ pub fn find_pre_digest(header: &B::Header) -> Result = None; @@ -927,8 +929,9 @@ pub fn find_next_epoch_digest( trace!(target: LOG_TARGET, "Checking log {:?}, looking for epoch change digest.", log); let log = log.try_to::(OpaqueDigestItemId::Consensus(&BABE_ENGINE_ID)); match (log, epoch_digest.is_some()) { - (Some(ConsensusLog::NextEpochData(_)), true) => - return Err(babe_err(Error::MultipleEpochChangeDigests)), + (Some(ConsensusLog::NextEpochData(_)), true) => { + return Err(babe_err(Error::MultipleEpochChangeDigests)) + }, (Some(ConsensusLog::NextEpochData(epoch)), false) => epoch_digest = Some(epoch), _ => trace!(target: LOG_TARGET, "Ignoring digest not meant for us"), } @@ -946,8 +949,9 @@ fn find_next_config_digest( trace!(target: LOG_TARGET, "Checking log {:?}, looking for epoch change digest.", log); let log = log.try_to::(OpaqueDigestItemId::Consensus(&BABE_ENGINE_ID)); match (log, config_digest.is_some()) { - (Some(ConsensusLog::NextConfigData(_)), true) => - return Err(babe_err(Error::MultipleConfigChangeDigests)), + (Some(ConsensusLog::NextConfigData(_)), true) => { + return Err(babe_err(Error::MultipleConfigChangeDigests)) + }, (Some(ConsensusLog::NextConfigData(config)), false) => config_digest = Some(config), _ => trace!(target: LOG_TARGET, "Ignoring digest not meant for us"), } @@ -1014,8 +1018,8 @@ where let number = block.header.number(); - if is_state_sync_or_gap_sync_import(&*self.client, &block) { - return Ok(block) + if should_skip_verification(&*self.client, &block) { + return Ok(block); } debug!( @@ -1083,19 +1087,21 @@ where } } -/// Verification for imported blocks is skipped in two cases: +/// Verification for imported blocks is skipped in three cases: /// 1. When importing blocks below the last finalized block during network initial synchronization. /// 2. When importing whole state we don't calculate epoch descriptor, but rather read it from the /// state after import. We also skip all verifications because there's no parent state and we /// trust the sync module to verify that the state is correct and finalized. -fn is_state_sync_or_gap_sync_import( +/// 3. When importing warp sync blocks that have already been verified via warp sync proof. +fn should_skip_verification( client: &impl HeaderBackend, block: &BlockImportParams, ) -> bool { - let number = *block.header.number(); - let info = client.info(); - info.block_gap.map_or(false, |gap| gap.start <= number && number <= gap.end) || - block.with_state() + block.origin == BlockOrigin::WarpSync || block.with_state() || { + let number = *block.header.number(); + let info = client.info(); + info.block_gap.map_or(false, |gap| gap.start <= number && number <= gap.end) + } } /// A block-import handler for BABE. @@ -1200,11 +1206,12 @@ where let import_result = self.inner.import_block(block).await; let aux = match import_result { Ok(ImportResult::Imported(aux)) => aux, - Ok(r) => + Ok(r) => { return Err(ConsensusError::ClientImport(format!( "Unexpected import result: {:?}", r - ))), + ))) + }, Err(r) => return Err(r.into()), }; @@ -1231,8 +1238,8 @@ where &self, block: &mut BlockImportParams, ) -> Result<(), ConsensusError> { - if is_state_sync_or_gap_sync_import(&*self.client, block) { - return Ok(()) + if should_skip_verification(&*self.client, block) { + return Ok(()); } let parent_hash = *block.header.parent_hash(); @@ -1271,8 +1278,9 @@ where .get(babe_pre_digest.authority_index() as usize) { Some(author) => author.0.clone(), - None => - return Err(ConsensusError::Other(Error::::SlotAuthorNotFound.into())), + None => { + return Err(ConsensusError::Other(Error::::SlotAuthorNotFound.into())) + }, } }; if let Err(err) = self @@ -1295,7 +1303,7 @@ where create_inherent_data_providers: CIDP::InherentDataProviders, ) -> Result<(), ConsensusError> { if block.state_action.skip_execution_checks() { - return Ok(()) + return Ok(()); } if let Some(inner_body) = block.body.take() { @@ -1321,12 +1329,14 @@ where .await .map_err(|e| { ConsensusError::Other(Box::new(match e { - CheckInherentsError::CreateInherentData(e) => - Error::::CreateInherents(e), + CheckInherentsError::CreateInherentData(e) => { + Error::::CreateInherents(e) + }, CheckInherentsError::Client(e) => Error::RuntimeApi(e), CheckInherentsError::CheckInherents(e) => Error::CheckInherents(e), - CheckInherentsError::CheckInherentsUnknownError(id) => - Error::CheckInherentsUnhandled(id), + CheckInherentsError::CheckInherentsUnknownError(id) => { + Error::CheckInherentsUnhandled(id) + }, })) })?; let (_, inner_body) = new_block.deconstruct(); @@ -1347,7 +1357,7 @@ where // don't report any equivocations during initial sync // as they are most likely stale. if *origin == BlockOrigin::NetworkInitialSync { - return Ok(()) + return Ok(()); } // check if authorship of this header is an equivocation and return a proof if so. @@ -1355,10 +1365,11 @@ where check_equivocation(&*self.client, slot_now, slot, header, author) .map_err(Error::Client)? else { - return Ok(()) + return Ok(()); }; info!( + target: LOG_TARGET, "Slot author {:?} is equivocating at slot {} with headers {:?} and {:?}", author, slot, @@ -1399,7 +1410,7 @@ where target: LOG_TARGET, "Equivocation offender is not part of the authority set." ); - return Ok(()) + return Ok(()); }, }, }; @@ -1450,6 +1461,7 @@ where mut block: BlockImportParams, ) -> Result { let hash = block.post_hash(); + let parent_hash = *block.header.parent_hash(); let number = *block.header.number(); let info = self.client.info(); @@ -1470,11 +1482,11 @@ where // In case of initial sync intermediates should not be present... let _ = block.remove_intermediate::>(INTERMEDIATE_KEY); block.fork_choice = Some(ForkChoiceStrategy::Custom(false)); - return self.inner.import_block(block).await.map_err(Into::into) + return self.inner.import_block(block).await.map_err(Into::into); } if block.with_state() { - return self.import_state(block).await + return self.import_state(block).await; } let pre_digest = find_pre_digest::(&block.header).expect( @@ -1482,36 +1494,34 @@ where ); let slot = pre_digest.slot(); - let parent_hash = *block.header.parent_hash(); - let parent_header = self - .client - .header(parent_hash) - .map_err(|e| ConsensusError::ChainLookup(e.to_string()))? - .ok_or_else(|| { - ConsensusError::ChainLookup( - babe_err(Error::::ParentUnavailable(parent_hash, hash)).into(), - ) - })?; - - let parent_slot = find_pre_digest::(&parent_header).map(|d| d.slot()).expect( - "parent is non-genesis; valid BABE headers contain a pre-digest; header has already \ - been verified; qed", - ); + // If there's a pending epoch we'll save the previous epoch changes here + // this way we can revert it if there's any error. + let mut old_epoch_changes = None; - // make sure that slot number is strictly increasing - if slot <= parent_slot { - return Err(ConsensusError::ClientImport( - babe_err(Error::::SlotMustIncrease(parent_slot, slot)).into(), - )) - } + // Skip epoch change processing for warp synced blocks + let epoch_changes = if block.origin != BlockOrigin::WarpSync { + let parent_header = self + .client + .header(parent_hash) + .map_err(|e| ConsensusError::ChainLookup(e.to_string()))? + .ok_or_else(|| { + ConsensusError::ChainLookup( + babe_err(Error::::ParentUnavailable(parent_hash, hash)).into(), + ) + })?; + + let parent_slot = find_pre_digest::(&parent_header).map(|d| d.slot()).expect( + "parent is non-genesis; valid BABE headers contain a pre-digest; header has already \ + been verified; qed", + ); - // if there's a pending epoch we'll save the previous epoch changes here - // this way we can revert it if there's any error - let mut old_epoch_changes = None; + // make sure that slot number is strictly increasing + if slot <= parent_slot { + return Err(ConsensusError::ClientImport( + babe_err(Error::::SlotMustIncrease(parent_slot, slot)).into(), + )); + } - // Use an extra scope to make the compiler happy, because otherwise it complains about the - // mutex, even if we dropped it... - let mut epoch_changes = { let mut epoch_changes = self.epoch_changes.shared_data_locked(); // check if there's any epoch change expected to happen at this slot. @@ -1552,18 +1562,21 @@ where match (first_in_epoch, next_epoch_digest.is_some(), next_config_digest.is_some()) { (true, true, _) => {}, (false, false, false) => {}, - (false, false, true) => + (false, false, true) => { return Err(ConsensusError::ClientImport( babe_err(Error::::UnexpectedConfigChange).into(), - )), - (true, false, _) => + )) + }, + (true, false, _) => { return Err(ConsensusError::ClientImport( babe_err(Error::::ExpectedEpochChange(hash, slot)).into(), - )), - (false, true, _) => + )) + }, + (false, true, _) => { return Err(ConsensusError::ClientImport( babe_err(Error::::UnexpectedEpochChange).into(), - )), + )) + }, } if let Some(next_epoch_descriptor) = next_epoch_digest { @@ -1593,13 +1606,14 @@ where // re-use the same data for that epoch. // Notice that we are only updating a local copy of the `Epoch`, this // makes it so that when we insert the next epoch into `EpochChanges` below - // (after incrementing it), it will use the correct epoch index and start slot. - // We do not update the original epoch that will be re-used because there might - // be other forks (that we haven't imported) where the epoch isn't skipped, and - // to import those forks we want to keep the original epoch data. Not updating - // the original epoch works because when we search the tree for which epoch to - // use for a given slot, we will search in-depth with the predicate - // `epoch.start_slot <= slot` which will still match correctly without updating + // (after incrementing it), it will use the correct epoch index and start + // slot. We do not update the original epoch that will be re-used + // because there might be other forks (that we haven't imported) where + // the epoch isn't skipped, and to import those forks we want to keep + // the original epoch data. Not updating the original epoch works + // because when we search the tree for which epoch to use for a given + // slot, we will search in-depth with the predicate `epoch.start_slot + // <= slot` which will still match correctly without updating // `start_slot` to the correct value as below. let epoch = viable_epoch.as_mut(); let prev_index = epoch.epoch_index; @@ -1661,7 +1675,7 @@ where debug!(target: LOG_TARGET, "Failed to launch next epoch: {}", e); *epoch_changes = old_epoch_changes.expect("set `Some` above and not taken; qed"); - return Err(e) + return Err(e); } crate::aux_schema::write_epoch_changes::(&*epoch_changes, |insert| { @@ -1707,7 +1721,10 @@ where }; // Release the mutex, but it stays locked - epoch_changes.release_mutex() + Some(epoch_changes.release_mutex()) + } else { + block.fork_choice = Some(ForkChoiceStrategy::Custom(false)); + None }; let import_result = self.inner.import_block(block).await; @@ -1715,7 +1732,9 @@ where // revert to the original epoch changes in case there's an error // importing the block if import_result.is_err() { - if let Some(old_epoch_changes) = old_epoch_changes { + if let (Some(mut epoch_changes), Some(old_epoch_changes)) = + (epoch_changes, old_epoch_changes) + { *epoch_changes.upgrade() = old_epoch_changes; } } @@ -1917,7 +1936,7 @@ where let revertible = blocks.min(best_number - finalized); if revertible == Zero::zero() { - return Ok(()) + return Ok(()); } let revert_up_to_number = best_number - revertible; @@ -1957,7 +1976,7 @@ where !weight_keys.insert(aux_schema::block_weight_key(hash)) { // We've reached the revert point or an already processed branch, stop here. - break + break; } hash = meta.parent; } diff --git a/substrate/client/consensus/babe/src/verification.rs b/substrate/client/consensus/babe/src/verification.rs index e2c37931d27fe..0f675213e7c49 100644 --- a/substrate/client/consensus/babe/src/verification.rs +++ b/substrate/client/consensus/babe/src/verification.rs @@ -87,7 +87,7 @@ pub(super) fn check_header( if pre_digest.slot() > slot_now { header.digest_mut().push(seal); - return Ok(CheckedHeader::Deferred(header, pre_digest.slot())) + return Ok(CheckedHeader::Deferred(header, pre_digest.slot())); } match &pre_digest { @@ -160,13 +160,13 @@ fn check_primary_header( } if !AuthorityPair::verify(&signature, pre_hash, authority_id) { - return Err(babe_err(Error::BadSignature(pre_hash))) + return Err(babe_err(Error::BadSignature(pre_hash))); } let data = make_vrf_sign_data(&epoch.randomness, pre_digest.slot, epoch_index); if !authority_id.as_inner_ref().vrf_verify(&data, &pre_digest.vrf_signature) { - return Err(babe_err(Error::VrfVerificationFailed)) + return Err(babe_err(Error::VrfVerificationFailed)); } let threshold = @@ -183,7 +183,7 @@ fn check_primary_header( .map_err(|_| babe_err(Error::VrfVerificationFailed))?; if score >= threshold { - return Err(babe_err(Error::VrfThresholdExceeded(threshold))) + return Err(babe_err(Error::VrfThresholdExceeded(threshold))); } Ok(()) @@ -211,11 +211,11 @@ fn check_secondary_plain_header( .0; if expected_author != author { - return Err(Error::InvalidAuthor(expected_author.clone(), author.clone())) + return Err(Error::InvalidAuthor(expected_author.clone(), author.clone())); } if !AuthorityPair::verify(&signature, pre_hash.as_ref(), author) { - return Err(Error::BadSignature(pre_hash)) + return Err(Error::BadSignature(pre_hash)); } Ok(()) @@ -240,7 +240,7 @@ fn check_secondary_vrf_header( .0; if expected_author != author { - return Err(Error::InvalidAuthor(expected_author.clone(), author.clone())) + return Err(Error::InvalidAuthor(expected_author.clone(), author.clone())); } let mut epoch_index = epoch.epoch_index; @@ -250,13 +250,13 @@ fn check_secondary_vrf_header( } if !AuthorityPair::verify(&signature, pre_hash.as_ref(), author) { - return Err(Error::BadSignature(pre_hash)) + return Err(Error::BadSignature(pre_hash)); } let data = make_vrf_sign_data(&epoch.randomness, pre_digest.slot, epoch_index); if !author.as_inner_ref().vrf_verify(&data, &pre_digest.vrf_signature) { - return Err(Error::VrfVerificationFailed) + return Err(Error::VrfVerificationFailed); } Ok(()) diff --git a/substrate/client/consensus/beefy/rpc/src/lib.rs b/substrate/client/consensus/beefy/rpc/src/lib.rs index ab58f68662758..6d5d74978f05b 100644 --- a/substrate/client/consensus/beefy/rpc/src/lib.rs +++ b/substrate/client/consensus/beefy/rpc/src/lib.rs @@ -235,7 +235,7 @@ mod tests { if response != not_ready { assert_eq!(response, expected); // Success - return + return; } tokio::time::sleep(std::time::Duration::from_millis(50)).await; } diff --git a/substrate/client/consensus/beefy/src/aux_schema.rs b/substrate/client/consensus/beefy/src/aux_schema.rs index 1922494ad1120..fa01599837705 100644 --- a/substrate/client/consensus/beefy/src/aux_schema.rs +++ b/substrate/client/consensus/beefy/src/aux_schema.rs @@ -70,11 +70,15 @@ where Some(v) if 1 <= v && v <= 3 => // versions 1, 2 & 3 are obsolete and should be ignored - warn!(target: LOG_TARGET, "πŸ₯© backend contains a BEEFY state of an obsolete version {v}. ignoring..."), - Some(4) => - return load_decode::<_, PersistedState>(backend, WORKER_STATE_KEY), - other => - return Err(ClientError::Backend(format!("Unsupported BEEFY DB version: {:?}", other))), + { + warn!(target: LOG_TARGET, "πŸ₯© backend contains a BEEFY state of an obsolete version {v}. ignoring...") + }, + Some(4) => { + return load_decode::<_, PersistedState>(backend, WORKER_STATE_KEY) + }, + other => { + return Err(ClientError::Backend(format!("Unsupported BEEFY DB version: {:?}", other))) + }, } // No persistent state found in DB. diff --git a/substrate/client/consensus/beefy/src/communication/gossip.rs b/substrate/client/consensus/beefy/src/communication/gossip.rs index 95cac250b7c59..21fe5d6e6f3e2 100644 --- a/substrate/client/consensus/beefy/src/communication/gossip.rs +++ b/substrate/client/consensus/beefy/src/communication/gossip.rs @@ -150,12 +150,13 @@ impl Filter { f.start = cfg.start; f.end = cfg.end; }, - _ => + _ => { self.inner = Some(FilterInner { start: cfg.start, end: cfg.end, validator_set: cfg.validator_set.clone(), - }), + }) + }, } } @@ -220,7 +221,7 @@ impl Filter { /// Allows messages for 'rounds >= last concluded' to flow, everything else gets /// rejected/expired. /// -///All messaging is handled in a single BEEFY global topic. +/// All messaging is handled in a single BEEFY global topic. pub(crate) struct GossipValidator where B: Block, diff --git a/substrate/client/consensus/beefy/src/fisherman.rs b/substrate/client/consensus/beefy/src/fisherman.rs index 2b2683b35f0a8..45708164fb21d 100644 --- a/substrate/client/consensus/beefy/src/fisherman.rs +++ b/substrate/client/consensus/beefy/src/fisherman.rs @@ -23,7 +23,7 @@ use sp_api::ProvideRuntimeApi; use sp_application_crypto::RuntimeAppPublic; use sp_blockchain::HeaderBackend; use sp_consensus_beefy::{ - check_double_voting_proof, AuthorityIdBound, BeefyApi, BeefySignatureHasher, DoubleVotingProof, + check_double_voting_proof, AuthorityIdBound, BeefyApi, DoubleVotingProof, OpaqueKeyOwnershipProof, ValidatorSetId, }; use sp_runtime::{ @@ -131,7 +131,7 @@ where (active_rounds.validators(), active_rounds.validator_set_id()); let offender_id = proof.offender_id(); - if !check_double_voting_proof::<_, _, BeefySignatureHasher>(&proof) { + if !check_double_voting_proof::<_, _>(&proof) { debug!(target: LOG_TARGET, "πŸ₯© Skipping report for bad equivocation {:?}", proof); return Ok(()); } diff --git a/substrate/client/consensus/beefy/src/justification.rs b/substrate/client/consensus/beefy/src/justification.rs index 9ff7c3cf54f68..840c71725d046 100644 --- a/substrate/client/consensus/beefy/src/justification.rs +++ b/substrate/client/consensus/beefy/src/justification.rs @@ -20,8 +20,7 @@ use codec::DecodeAll; use sp_application_crypto::RuntimeAppPublic; use sp_consensus::Error as ConsensusError; use sp_consensus_beefy::{ - AuthorityIdBound, BeefySignatureHasher, KnownSignature, ValidatorSet, ValidatorSetId, - VersionedFinalityProof, + AuthorityIdBound, KnownSignature, ValidatorSet, ValidatorSetId, VersionedFinalityProof, }; use sp_runtime::traits::{Block as BlockT, NumberFor}; @@ -33,8 +32,9 @@ pub(crate) fn proof_block_num_and_set_id, ) -> (NumberFor, ValidatorSetId) { match proof { - VersionedFinalityProof::V1(sc) => - (sc.commitment.block_number, sc.commitment.validator_set_id), + VersionedFinalityProof::V1(sc) => { + (sc.commitment.block_number, sc.commitment.validator_set_id) + }, } } @@ -61,11 +61,10 @@ pub(crate) fn verify_with_validator_set<'a, Block: BlockT, AuthorityId: Authorit > { match proof { VersionedFinalityProof::V1(signed_commitment) => { - let signatories = signed_commitment - .verify_signatures::<_, BeefySignatureHasher>(target_number, validator_set) - .map_err(|checked_signatures| { - (ConsensusError::InvalidJustification, checked_signatures) - })?; + let signatories = + signed_commitment.verify_signatures::<_>(target_number, validator_set).map_err( + |checked_signatures| (ConsensusError::InvalidJustification, checked_signatures), + )?; if signatories.len() >= crate::round::threshold(validator_set.len()) { Ok(signatories) diff --git a/substrate/client/consensus/beefy/src/keystore.rs b/substrate/client/consensus/beefy/src/keystore.rs index 888a11db89cbe..c064a034c9c9f 100644 --- a/substrate/client/consensus/beefy/src/keystore.rs +++ b/substrate/client/consensus/beefy/src/keystore.rs @@ -18,15 +18,12 @@ use codec::Decode; use log::warn; -use sp_application_crypto::{key_types::BEEFY as BEEFY_KEY_TYPE, AppCrypto, RuntimeAppPublic}; -#[cfg(feature = "bls-experimental")] -use sp_core::ecdsa_bls381; -use sp_core::{ecdsa, keccak_256}; +use sp_application_crypto::{key_types::BEEFY as BEEFY_KEY_TYPE, RuntimeAppPublic}; use sp_keystore::KeystorePtr; use std::marker::PhantomData; -use sp_consensus_beefy::{AuthorityIdBound, BeefyAuthorityId, BeefySignatureHasher}; +use sp_consensus_beefy::{AuthorityIdBound, BeefyAuthorityId}; use crate::{error, LOG_TARGET}; @@ -82,48 +79,22 @@ impl BeefyKeystore { ) -> Result<::Signature, error::Error> { let store = self.0.clone().ok_or_else(|| error::Error::Keystore("no Keystore".into()))?; - // ECDSA should use ecdsa_sign_prehashed since it needs to be hashed by keccak_256 instead - // of blake2. As such we need to deal with producing the signatures case-by-case - let signature_byte_array: Vec = match ::CRYPTO_ID { - ecdsa::CRYPTO_ID => { - let msg_hash = keccak_256(message); - let public: ecdsa::Public = ecdsa::Public::try_from(public.as_slice()).unwrap(); - - let sig = store - .ecdsa_sign_prehashed(BEEFY_KEY_TYPE, &public, &msg_hash) - .map_err(|e| error::Error::Keystore(e.to_string()))? - .ok_or_else(|| { - error::Error::Signature("ecdsa_sign_prehashed() failed".to_string()) - })?; - let sig_ref: &[u8] = sig.as_ref(); - sig_ref.to_vec() - }, - - #[cfg(feature = "bls-experimental")] - ecdsa_bls381::CRYPTO_ID => { - let public: ecdsa_bls381::Public = - ecdsa_bls381::Public::try_from(public.as_slice()).unwrap(); - let sig = store - .ecdsa_bls381_sign_with_keccak256(BEEFY_KEY_TYPE, &public, &message) - .map_err(|e| error::Error::Keystore(e.to_string()))? - .ok_or_else(|| error::Error::Signature("bls381_sign() failed".to_string()))?; - let sig_ref: &[u8] = sig.as_ref(); - sig_ref.to_vec() - }, - - _ => Err(error::Error::Keystore("key type is not supported by BEEFY Keystore".into()))?, - }; - - //check that `sig` has the expected result type - let signature = ::Signature::decode( - &mut signature_byte_array.as_slice(), - ) - .map_err(|_| { - error::Error::Signature(format!( - "invalid signature {:?} for key {:?}", - signature_byte_array, public - )) - })?; + let raw_signature = BeefyAuthorityId::try_sign_with_store(public, store, message) + .map_err(|e| error::Error::Keystore(e.to_string()))? + .ok_or_else(|| { + error::Error::Signature(format!( + "{}::try_sign_with_store() failed", + core::any::type_name::(), + )) + })?; + let signature = + ::Signature::decode(&mut raw_signature.as_ref()) + .map_err(|_| { + error::Error::Signature(format!( + "invalid signature {:?} for key {:?}", + raw_signature, public + )) + })?; Ok(signature) } @@ -133,34 +104,13 @@ impl BeefyKeystore { pub fn public_keys(&self) -> Result, error::Error> { let store = self.0.clone().ok_or_else(|| error::Error::Keystore("no Keystore".into()))?; - let pk = match ::CRYPTO_ID { - ecdsa::CRYPTO_ID => store - .ecdsa_public_keys(BEEFY_KEY_TYPE) - .drain(..) - .map(|pk| AuthorityId::try_from(pk.as_ref())) - .collect::, _>>() - .or_else(|_| { - Err(error::Error::Keystore( - "unable to convert public key into authority id".into(), - )) - }), - - #[cfg(feature = "bls-experimental")] - ecdsa_bls381::CRYPTO_ID => store - .ecdsa_bls381_public_keys(BEEFY_KEY_TYPE) - .drain(..) - .map(|pk| AuthorityId::try_from(pk.as_ref())) - .collect::, _>>() - .or_else(|_| { - Err(error::Error::Keystore( - "unable to convert public key into authority id".into(), - )) - }), - - _ => Err(error::Error::Keystore("key type is not supported by BEEFY Keystore".into())), - }; - - pk + ::get_all_public_keys_from_store(store) + .drain(..) + .map(|pk| AuthorityId::try_from(pk.as_ref())) + .collect::, _>>() + .or_else(|_| { + Err(error::Error::Keystore("unable to convert public key into authority id".into())) + }) } /// Use the `public` key to verify that `sig` is a valid signature for `message`. @@ -171,7 +121,7 @@ impl BeefyKeystore { sig: &::Signature, message: &[u8], ) -> bool { - BeefyAuthorityId::::verify(public, sig, message) + BeefyAuthorityId::verify(public, sig, message) } } @@ -183,13 +133,16 @@ impl From> for BeefyKeystore< #[cfg(test)] pub mod tests { + use sp_application_crypto::AppCrypto; #[cfg(feature = "bls-experimental")] use sp_consensus_beefy::ecdsa_bls_crypto; use sp_consensus_beefy::{ ecdsa_crypto, test_utils::{BeefySignerAuthority, Keyring}, }; - use sp_core::Pair as PairT; + #[cfg(feature = "bls-experimental")] + use sp_core::ecdsa_bls381; + use sp_core::{ecdsa, Pair as PairT}; use sp_keystore::{testing::MemoryKeystore, Keystore}; use super::*; @@ -205,19 +158,19 @@ pub mod tests { where ::Signature: Send + Sync + From<<::Pair as AppCrypto>::Signature>, - ::Pair: BeefySignerAuthority, + ::Pair: BeefySignerAuthority, { let msg = b"I am Alice!"; let sig = Keyring::::Alice.sign(b"I am Alice!"); - assert!(>::verify( + assert!(::verify( &Keyring::Alice.public(), &sig, &msg.as_slice(), )); // different public key -> fail - assert!(!>::verify( + assert!(!::verify( &Keyring::Bob.public(), &sig, &msg.as_slice(), @@ -226,7 +179,7 @@ pub mod tests { let msg = b"I am not Alice!"; // different msg -> fail - assert!(!>::verify( + assert!(!::verify( &Keyring::Alice.public(), &sig, &msg.as_slice(), @@ -242,7 +195,7 @@ pub mod tests { where AuthorityId: AuthorityIdBound + From<<::Pair as AppCrypto>::Public>, - ::Pair: BeefySignerAuthority, + ::Pair: BeefySignerAuthority, ::Signature: Send + Sync + From<<::Pair as AppCrypto>::Signature>, { @@ -282,7 +235,7 @@ pub mod tests { where ::Signature: Send + Sync + From<<::Pair as AppCrypto>::Signature>, - ::Pair: BeefySignerAuthority, + ::Pair: BeefySignerAuthority, { let want = ::Pair::from_string("//Alice", None) .expect("Pair failed") @@ -350,7 +303,7 @@ pub mod tests { where ::Signature: Send + Sync + From<<::Pair as AppCrypto>::Signature>, - ::Pair: BeefySignerAuthority, + ::Pair: BeefySignerAuthority, { let store = keystore(); @@ -391,7 +344,7 @@ pub mod tests { where ::Signature: Send + Sync + From<<::Pair as AppCrypto>::Signature>, - ::Pair: BeefySignerAuthority, + ::Pair: BeefySignerAuthority, { let store = keystore(); @@ -427,7 +380,7 @@ pub mod tests { ) where ::Signature: Send + Sync + From<<::Pair as AppCrypto>::Signature>, - ::Pair: BeefySignerAuthority, + ::Pair: BeefySignerAuthority, { let store = keystore(); @@ -446,13 +399,17 @@ pub mod tests { #[test] fn sign_error_for_ecdsa() { - sign_error::("ecdsa_sign_prehashed() failed"); + sign_error::( + "sp_consensus_beefy::ecdsa_crypto::Public::try_sign_with_store() failed", + ); } #[cfg(feature = "bls-experimental")] #[test] fn sign_error_for_ecdsa_n_bls() { - sign_error::("bls381_sign() failed"); + sign_error::( + "sp_consensus_beefy::ecdsa_bls_crypto::Public::try_sign_with_store() failed", + ); } #[test] @@ -473,7 +430,7 @@ pub mod tests { where ::Signature: Send + Sync + From<<::Pair as AppCrypto>::Signature>, - ::Pair: BeefySignerAuthority, + ::Pair: BeefySignerAuthority, { let store = keystore(); @@ -512,7 +469,7 @@ pub mod tests { where ::Signature: Send + Sync + From<<::Pair as AppCrypto>::Signature>, - ::Pair: BeefySignerAuthority, + ::Pair: BeefySignerAuthority, { const TEST_TYPE: sp_application_crypto::KeyTypeId = sp_application_crypto::KeyTypeId(*b"test"); diff --git a/substrate/client/consensus/beefy/src/lib.rs b/substrate/client/consensus/beefy/src/lib.rs index 30cdd494905f2..ba8cece9cf188 100644 --- a/substrate/client/consensus/beefy/src/lib.rs +++ b/substrate/client/consensus/beefy/src/lib.rs @@ -672,7 +672,7 @@ where debug!(target: LOG_TARGET, "πŸ₯© Transforming grandpa notification. #{}({:?})", notification.header.number(), notification.hash); if let Err(err) = tx.unbounded_send(UnpinnedFinalityNotification::from(notification)) { error!(target: LOG_TARGET, "πŸ₯© Unable to send transformed notification. Shutting down. err = {}", err); - return + return; }; } }; @@ -786,10 +786,11 @@ where Some(active) => return Ok(active), // Move up the chain. Ultimately we'll get it from chain genesis state, or error out // there. - None => + None => { header = wait_for_parent_header(blockchain, header, HEADER_SYNC_DELAY) .await - .map_err(|e| Error::Backend(e.to_string()))?, + .map_err(|e| Error::Backend(e.to_string()))? + }, } } } diff --git a/substrate/client/consensus/beefy/src/tests.rs b/substrate/client/consensus/beefy/src/tests.rs index 55acd04ec1a97..91c895f0a1777 100644 --- a/substrate/client/consensus/beefy/src/tests.rs +++ b/substrate/client/consensus/beefy/src/tests.rs @@ -1585,8 +1585,9 @@ async fn gossipped_finality_proofs() { .ok() .and_then(|message| match message { GossipMessage::::Vote(_) => unreachable!(), - GossipMessage::::FinalityProof(proof) => - Some(proof), + GossipMessage::::FinalityProof(proof) => { + Some(proof) + }, }) }) .fuse(), diff --git a/substrate/client/consensus/beefy/src/worker.rs b/substrate/client/consensus/beefy/src/worker.rs index 51ff52b3bd474..5c8e1a96d4e14 100644 --- a/substrate/client/consensus/beefy/src/worker.rs +++ b/substrate/client/consensus/beefy/src/worker.rs @@ -363,7 +363,7 @@ impl PersistedState { target: LOG_TARGET, "πŸ₯© for session starting at block {:?} no BEEFY authority key found in store, \ you must generate valid session keys \ - (https://wiki.polkadot.network/docs/maintain-guides-how-to-validate-polkadot#generating-the-session-keys)", + (https://docs.polkadot.com/infrastructure/running-a-validator/onboarding-and-offboarding/key-management/#set-session-keys)", new_session_start, ); metric_inc!(metrics, beefy_no_authority_found_in_store); @@ -463,7 +463,7 @@ where match self.runtime.runtime_api().beefy_genesis(notification.hash) { Ok(Some(genesis)) if genesis != self.persisted_state.pallet_genesis => { debug!(target: LOG_TARGET, "πŸ₯© ConsensusReset detected. Expected genesis: {}, found genesis: {}", self.persisted_state.pallet_genesis, genesis); - return Err(Error::ConsensusReset) + return Err(Error::ConsensusReset); }, Ok(_) => {}, Err(api_error) => { @@ -526,7 +526,7 @@ where { let block_num = vote.commitment.block_number; match self.voting_oracle().triage_round(block_num)? { - RoundAction::Process => + RoundAction::Process => { if let Some(finality_proof) = self.handle_vote(vote)? { let gossip_proof = GossipMessage::::FinalityProof(finality_proof); @@ -536,7 +536,8 @@ where encoded_proof, true, ); - }, + } + }, RoundAction::Drop => metric_inc!(self.metrics, beefy_stale_votes), RoundAction::Enqueue => error!(target: LOG_TARGET, "πŸ₯© unexpected vote: {:?}.", vote), }; diff --git a/substrate/client/consensus/common/src/block_import.rs b/substrate/client/consensus/common/src/block_import.rs index f90412d677d22..cf30e8d4a8adf 100644 --- a/substrate/client/consensus/common/src/block_import.rs +++ b/substrate/client/consensus/common/src/block_import.rs @@ -244,13 +244,24 @@ impl BlockImportParams { post_digests: Vec::new(), body: None, indexed_body: None, - state_action: StateAction::Execute, + // Warp sync blocks are already verified, skip execution. + state_action: if origin == BlockOrigin::WarpSync { + StateAction::Skip + } else { + StateAction::Execute + }, finalized: false, intermediates: HashMap::new(), auxiliary: Vec::new(), fork_choice: None, import_existing: false, - create_gap: true, + // Never create gaps for warp sync imported blocks. + // Warp sync downloads only session blocks. Gap sync to work needs one gap even if + // between gap start and gap end some blocks are existing. If each warp sync block + // created a gap, every new block import would override the previous gap, losing the + // real gap start. In case of warp sync a gap is created separately when the target + // block with state is imported. + create_gap: origin != BlockOrigin::WarpSync, post_hash: None, } } diff --git a/substrate/client/consensus/common/src/import_queue.rs b/substrate/client/consensus/common/src/import_queue.rs index be14d780b2e06..0238dd6e6e43e 100644 --- a/substrate/client/consensus/common/src/import_queue.rs +++ b/substrate/client/consensus/common/src/import_queue.rs @@ -242,8 +242,9 @@ pub async fn import_single_block>( ) -> BlockImportResult { match verify_single_block_metered(import_handle, block_origin, block, verifier, None).await? { SingleBlockVerificationOutcome::Imported(import_status) => Ok(import_status), - SingleBlockVerificationOutcome::Verified(import_parameters) => - import_single_block_metered(import_handle, import_parameters, None).await, + SingleBlockVerificationOutcome::Verified(import_parameters) => { + import_single_block_metered(import_handle, import_parameters, None).await + }, } } @@ -262,8 +263,9 @@ where trace!(target: LOG_TARGET, "Block already in chain {}: {:?}", number, hash); Ok(BlockImportStatus::ImportedKnown(number, block_origin)) }, - Ok(ImportResult::Imported(aux)) => - Ok(BlockImportStatus::ImportedUnknown(number, aux, block_origin)), + Ok(ImportResult::Imported(aux)) => { + Ok(BlockImportStatus::ImportedUnknown(number, aux, block_origin)) + }, Ok(ImportResult::MissingState) => { debug!( target: LOG_TARGET, @@ -320,15 +322,26 @@ pub(crate) async fn verify_single_block_metered>( } else { debug!(target: LOG_TARGET, "Header {} was not provided ", block.hash); } - return Err(BlockImportError::IncompleteHeader(peer)) + return Err(BlockImportError::IncompleteHeader(peer)); }; - trace!(target: LOG_TARGET, "Header {} has {:?} logs", block.hash, header.digest().logs().len()); - let number = *header.number(); let hash = block.hash; let parent_hash = *header.parent_hash(); + trace!(target: LOG_TARGET, "Block {number} ({hash}) has {:?} logs (origin: {:?})", header.digest().logs().len(), block_origin); + + // Skip block verification for warp synced blocks. + // They have been verified within warp sync proof verification. + if matches!(block_origin, BlockOrigin::WarpSync) { + return Ok(SingleBlockVerificationOutcome::Verified(SingleBlockImportParameters { + import_block: BlockImportParams::new(block_origin, header), + hash: block.hash, + block_origin: peer, + verification_time: Duration::ZERO, + })); + } + match import_handler::( number, hash, @@ -348,7 +361,7 @@ pub(crate) async fn verify_single_block_metered>( BlockImportStatus::ImportedUnknown { .. } => (), r => { // Any other successful result means that the block is already imported. - return Ok(SingleBlockVerificationOutcome::Imported(r)) + return Ok(SingleBlockVerificationOutcome::Imported(r)); }, } diff --git a/substrate/client/consensus/common/src/import_queue/basic_queue.rs b/substrate/client/consensus/common/src/import_queue/basic_queue.rs index d8879731654c1..5d2b678394b28 100644 --- a/substrate/client/consensus/common/src/import_queue/basic_queue.rs +++ b/substrate/client/consensus/common/src/import_queue/basic_queue.rs @@ -127,7 +127,7 @@ impl BasicQueueHandle { impl ImportQueueService for BasicQueueHandle { fn import_blocks(&mut self, origin: BlockOrigin, blocks: Vec>) { if blocks.is_empty() { - return + return; } trace!(target: LOG_TARGET, "Scheduling {} blocks for import", blocks.len()); @@ -195,7 +195,7 @@ impl ImportQueue for BasicQueue { loop { if let Err(_) = self.result_port.next_action(link).await { log::error!(target: "sync", "poll_actions: Background import task is no longer alive"); - return + return; } } } @@ -237,7 +237,7 @@ async fn block_import_process( target: LOG_TARGET, "Stopping block import because the import channel was closed!", ); - return + return; }, }; @@ -304,26 +304,27 @@ impl BlockImportWorker { target: LOG_TARGET, "Stopping block import because result channel was closed!", ); - return + return; } // Make sure to first process all justifications while let Poll::Ready(justification) = futures::poll!(justification_port.next()) { match justification { - Some(ImportJustification(who, hash, number, justification)) => - worker.import_justification(who, hash, number, justification).await, + Some(ImportJustification(who, hash, number, justification)) => { + worker.import_justification(who, hash, number, justification).await + }, None => { log::debug!( target: LOG_TARGET, "Stopping block import because justification channel was closed!", ); - return + return; }, } } if let Poll::Ready(()) = futures::poll!(&mut block_import_process) { - return + return; } // All futures that we polled are now pending. @@ -361,8 +362,9 @@ impl BlockImportWorker { }); match result { Ok(()) => JustificationImportResult::Success, - Err(sp_consensus::Error::OutdatedJustification) => - JustificationImportResult::OutdatedJustification, + Err(sp_consensus::Error::OutdatedJustification) => { + JustificationImportResult::OutdatedJustification + }, Err(_) => JustificationImportResult::Failure, } }, @@ -409,7 +411,7 @@ async fn import_many_blocks>( _ => Default::default(), }; - trace!(target: LOG_TARGET, "Starting import of {} blocks {}", count, blocks_range); + debug!(target: LOG_TARGET, "Starting import of {count} blocks {blocks_range} (origin: {blocks_origin:?})"); let mut imported = 0; let mut results = vec![]; @@ -423,7 +425,8 @@ async fn import_many_blocks>( Some(b) => b, None => { // No block left to import, success! - return ImportManyBlocksResult { block_count: count, imported, results } + debug!(target: LOG_TARGET, "Imported {imported} out of {count} blocks (origin: {blocks_origin:?})"); + return ImportManyBlocksResult { block_count: count, imported, results }; }, }; diff --git a/substrate/client/consensus/common/src/import_queue/buffered_link.rs b/substrate/client/consensus/common/src/import_queue/buffered_link.rs index 19b0668da24dc..b94f922766f09 100644 --- a/substrate/client/consensus/common/src/import_queue/buffered_link.rs +++ b/substrate/client/consensus/common/src/import_queue/buffered_link.rs @@ -127,12 +127,15 @@ impl BufferedLinkReceiver { /// Send action for the synchronization to perform. pub fn send_actions(&mut self, msg: BlockImportWorkerMsg, link: &dyn Link) { match msg { - BlockImportWorkerMsg::BlocksProcessed(imported, count, results) => - link.blocks_processed(imported, count, results), - BlockImportWorkerMsg::JustificationImported(who, hash, number, import_result) => - link.justification_imported(who, &hash, number, import_result), - BlockImportWorkerMsg::RequestJustification(hash, number) => - link.request_justification(&hash, number), + BlockImportWorkerMsg::BlocksProcessed(imported, count, results) => { + link.blocks_processed(imported, count, results) + }, + BlockImportWorkerMsg::JustificationImported(who, hash, number, import_result) => { + link.justification_imported(who, &hash, number, import_result) + }, + BlockImportWorkerMsg::RequestJustification(hash, number) => { + link.request_justification(&hash, number) + }, } } @@ -160,7 +163,7 @@ impl BufferedLinkReceiver { pub async fn next_action(&mut self, link: &dyn Link) -> Result<(), ()> { if let Some(msg) = self.rx.next().await { self.send_actions(msg, link); - return Ok(()) + return Ok(()); } Err(()) } diff --git a/substrate/client/consensus/common/src/longest_chain.rs b/substrate/client/consensus/common/src/longest_chain.rs index f27cde4982def..64ab349a8bf36 100644 --- a/substrate/client/consensus/common/src/longest_chain.rs +++ b/substrate/client/consensus/common/src/longest_chain.rs @@ -99,7 +99,7 @@ where "Requested a finality target using max number {} below the base number {}", max_number, base_number ); - return Err(Application(msg.into())) + return Err(Application(msg.into())); } while current_head.number() > &max_number { @@ -116,7 +116,7 @@ where "Requested a finality target using a base {:?} not in the best chain {:?}", base_hash, best_hash, ); - return Err(Application(msg.into())) + return Err(Application(msg.into())); } let current_hash = *current_head.parent_hash(); current_head = blockchain diff --git a/substrate/client/consensus/epochs/src/lib.rs b/substrate/client/consensus/epochs/src/lib.rs index bbc143b7bd302..ca80d0cf4d28a 100644 --- a/substrate/client/consensus/epochs/src/lib.rs +++ b/substrate/client/consensus/epochs/src/lib.rs @@ -199,8 +199,9 @@ where pub fn increment(&self, next_descriptor: E::NextEpochDescriptor) -> IncrementedEpoch { let next = self.as_ref().increment(next_descriptor); let to_persist = match *self { - ViableEpoch::UnimportedGenesis(ref epoch_0) => - PersistedEpoch::Genesis(epoch_0.clone(), next), + ViableEpoch::UnimportedGenesis(ref epoch_0) => { + PersistedEpoch::Genesis(epoch_0.clone(), next) + }, ViableEpoch::Signaled(_) => PersistedEpoch::Regular(next), }; @@ -246,8 +247,9 @@ impl PersistedEpoch { impl<'a, E: Epoch> From<&'a PersistedEpoch> for PersistedEpochHeader { fn from(epoch: &'a PersistedEpoch) -> Self { match epoch { - PersistedEpoch::Genesis(ref epoch_0, ref epoch_1) => - PersistedEpochHeader::Genesis(epoch_0.into(), epoch_1.into()), + PersistedEpoch::Genesis(ref epoch_0, ref epoch_1) => { + PersistedEpochHeader::Genesis(epoch_0.into(), epoch_1.into()) + }, PersistedEpoch::Regular(ref epoch_n) => PersistedEpochHeader::Regular(epoch_n.into()), } } @@ -261,8 +263,9 @@ impl PersistedEpoch { F: FnMut(&Hash, &Number, E) -> B, { match self { - PersistedEpoch::Genesis(epoch_0, epoch_1) => - PersistedEpoch::Genesis(f(h, n, epoch_0), f(h, n, epoch_1)), + PersistedEpoch::Genesis(epoch_0, epoch_1) => { + PersistedEpoch::Genesis(f(h, n, epoch_0), f(h, n, epoch_1)) + }, PersistedEpoch::Regular(epoch_n) => PersistedEpoch::Regular(f(h, n, epoch_n)), } } @@ -426,13 +429,19 @@ where self.epochs.get(&(id.hash, id.number)).and_then(|v| match v { PersistedEpoch::Genesis(ref epoch_0, _) if id.position == EpochIdentifierPosition::Genesis0 => - Some(epoch_0), + { + Some(epoch_0) + }, PersistedEpoch::Genesis(_, ref epoch_1) if id.position == EpochIdentifierPosition::Genesis1 => - Some(epoch_1), + { + Some(epoch_1) + }, PersistedEpoch::Regular(ref epoch_n) if id.position == EpochIdentifierPosition::Regular => - Some(epoch_n), + { + Some(epoch_n) + }, _ => None, }) } @@ -447,10 +456,12 @@ where G: FnOnce(E::Slot) -> E, { match descriptor { - ViableEpochDescriptor::UnimportedGenesis(slot) => - Some(ViableEpoch::UnimportedGenesis(make_genesis(*slot))), - ViableEpochDescriptor::Signaled(identifier, _) => - self.epoch(identifier).map(ViableEpoch::Signaled), + ViableEpochDescriptor::UnimportedGenesis(slot) => { + Some(ViableEpoch::UnimportedGenesis(make_genesis(*slot))) + }, + ViableEpochDescriptor::Signaled(identifier, _) => { + self.epoch(identifier).map(ViableEpoch::Signaled) + }, } } @@ -459,13 +470,19 @@ where self.epochs.get_mut(&(id.hash, id.number)).and_then(|v| match v { PersistedEpoch::Genesis(ref mut epoch_0, _) if id.position == EpochIdentifierPosition::Genesis0 => - Some(epoch_0), + { + Some(epoch_0) + }, PersistedEpoch::Genesis(_, ref mut epoch_1) if id.position == EpochIdentifierPosition::Genesis1 => - Some(epoch_1), + { + Some(epoch_1) + }, PersistedEpoch::Regular(ref mut epoch_n) if id.position == EpochIdentifierPosition::Regular => - Some(epoch_n), + { + Some(epoch_n) + }, _ => None, }) } @@ -480,10 +497,12 @@ where G: FnOnce(E::Slot) -> E, { match descriptor { - ViableEpochDescriptor::UnimportedGenesis(slot) => - Some(ViableEpoch::UnimportedGenesis(make_genesis(*slot))), - ViableEpochDescriptor::Signaled(identifier, _) => - self.epoch_mut(identifier).map(ViableEpoch::Signaled), + ViableEpochDescriptor::UnimportedGenesis(slot) => { + Some(ViableEpoch::UnimportedGenesis(make_genesis(*slot))) + }, + ViableEpochDescriptor::Signaled(identifier, _) => { + self.epoch_mut(identifier).map(ViableEpoch::Signaled) + }, } } @@ -546,7 +565,7 @@ where ) -> Result>, fork_tree::Error> { if parent_number == Zero::zero() { // need to insert the genesis epoch. - return Ok(Some(ViableEpochDescriptor::UnimportedGenesis(slot))) + return Ok(Some(ViableEpochDescriptor::UnimportedGenesis(slot))); } // find_node_where will give you the node in the fork-tree which is an ancestor @@ -589,8 +608,9 @@ where (EpochIdentifierPosition::Genesis0, epoch_0.clone()) } }, - PersistedEpochHeader::Regular(ref epoch_n) => - (EpochIdentifierPosition::Regular, epoch_n.clone()), + PersistedEpochHeader::Regular(ref epoch_n) => { + (EpochIdentifierPosition::Regular, epoch_n.clone()) + }, }, node, ) @@ -728,7 +748,7 @@ mod tests { if let Some((ref c_head, ref c_parent)) = current { if head == c_head { if base == c_parent { - return Ok(true) + return Ok(true); } else { head = c_parent; } @@ -768,7 +788,6 @@ mod tests { #[test] fn genesis_epoch_is_created_but_not_imported() { - // // A - B // \ // β€” C @@ -810,7 +829,6 @@ mod tests { #[test] fn epoch_changes_between_blocks() { - // // A - B // \ // β€” C @@ -1063,7 +1081,7 @@ mod tests { let is_descendent_of = |base: &Hash, block: &Hash| -> Result { match (block, base) { - | (b"A", b"0") | + (b"A", b"0") | (b"B", b"0" | b"A") | (b"C", b"0" | b"A" | b"B") | (b"D", b"0" | b"A" | b"B" | b"C") | diff --git a/substrate/client/consensus/grandpa/Cargo.toml b/substrate/client/consensus/grandpa/Cargo.toml index 5ff5b609873c5..d340b49c149ad 100644 --- a/substrate/client/consensus/grandpa/Cargo.toml +++ b/substrate/client/consensus/grandpa/Cargo.toml @@ -33,6 +33,7 @@ rand = { workspace = true, default-features = true } sc-block-builder = { workspace = true, default-features = true } sc-chain-spec = { workspace = true, default-features = true } sc-client-api = { workspace = true, default-features = true } +sc-client-db = { workspace = true, default-features = true } sc-consensus = { workspace = true, default-features = true } sc-network = { workspace = true, default-features = true } sc-network-common = { workspace = true, default-features = true } diff --git a/substrate/client/consensus/grandpa/src/authorities.rs b/substrate/client/consensus/grandpa/src/authorities.rs index 2afe4b1bf6c30..df0849c9cff48 100644 --- a/substrate/client/consensus/grandpa/src/authorities.rs +++ b/substrate/client/consensus/grandpa/src/authorities.rs @@ -183,7 +183,7 @@ where /// Get a genesis set with given authorities. pub(crate) fn genesis(initial: AuthorityList) -> Option { if Self::invalid_authority_list(&initial) { - return None + return None; } Some(AuthoritySet { @@ -204,7 +204,7 @@ where authority_set_changes: AuthoritySetChanges, ) -> Option { if Self::invalid_authority_list(&authorities) { - return None + return None; } Some(AuthoritySet { @@ -278,7 +278,7 @@ where for change in &self.pending_forced_changes { if is_descendent_of(&change.canon_hash, best_hash)? { forced = Some((change.canon_hash.clone(), change.canon_height.clone())); - break + break; } } @@ -286,13 +286,14 @@ where for (_, _, change) in self.pending_standard_changes.roots() { if is_descendent_of(&change.canon_hash, best_hash)? { standard = Some((change.canon_hash.clone(), change.canon_height.clone())); - break + break; } } let earliest = match (forced, standard) { - (Some(forced), Some(standard)) => - Some(if forced.1 < standard.1 { forced } else { standard }), + (Some(forced), Some(standard)) => { + Some(if forced.1 < standard.1 { forced } else { standard }) + }, (Some(forced), None) => Some(forced), (None, Some(standard)) => Some(standard), (None, None) => None, @@ -344,11 +345,11 @@ where { for change in &self.pending_forced_changes { if change.canon_hash == pending.canon_hash { - return Err(Error::DuplicateAuthoritySetChange) + return Err(Error::DuplicateAuthoritySetChange); } if is_descendent_of(&change.canon_hash, &pending.canon_hash)? { - return Err(Error::MultiplePendingForcedAuthoritySetChanges) + return Err(Error::MultiplePendingForcedAuthoritySetChanges); } } @@ -395,7 +396,7 @@ where E: std::error::Error, { if Self::invalid_authority_list(&pending.next_authorities) { - return Err(Error::InvalidAuthoritySet) + return Err(Error::InvalidAuthoritySet); } match pending.delay_kind { @@ -487,7 +488,7 @@ where return Err(Error::ForcedAuthoritySetChangeDependencyUnsatisfied( standard_change.effective_number(), - )) + )); } } @@ -519,7 +520,7 @@ where }, )); - break + break; } } @@ -723,7 +724,7 @@ impl AuthoritySetChanges { .map(|last_auth_change| last_auth_change.1 < block_number) .unwrap_or(false) { - return AuthoritySetChangeId::Latest + return AuthoritySetChangeId::Latest; } let idx = self @@ -736,7 +737,7 @@ impl AuthoritySetChanges { // if this is the first index but not the first set id then we are missing data. if idx == 0 && set_id != 0 { - return AuthoritySetChangeId::Unknown + return AuthoritySetChangeId::Unknown; } AuthoritySetChangeId::Set(set_id, block_number) @@ -773,7 +774,7 @@ impl AuthoritySetChanges { // if this is the first index but not the first set id then we are missing data. if idx == 0 && set_id != 0 { - return None + return None; } } diff --git a/substrate/client/consensus/grandpa/src/aux_schema.rs b/substrate/client/consensus/grandpa/src/aux_schema.rs index c42310dcd72cf..5545cf8dcda63 100644 --- a/substrate/client/consensus/grandpa/src/aux_schema.rs +++ b/substrate/client/consensus/grandpa/src/aux_schema.rs @@ -210,7 +210,7 @@ where backend.insert_aux(&[(SET_STATE_KEY, set_state.encode().as_slice())], &[])?; - return Ok(Some((new_set, set_state))) + return Ok(Some((new_set, set_state))); } Ok(None) @@ -274,7 +274,7 @@ where backend.insert_aux(&[(SET_STATE_KEY, set_state.encode().as_slice())], &[])?; - return Ok(Some((set, set_state))) + return Ok(Some((set, set_state))); } Ok(None) @@ -307,7 +307,7 @@ where }, }; - return Ok(Some((new_set, set_state))) + return Ok(Some((new_set, set_state))); } Ok(None) @@ -336,7 +336,7 @@ where return Ok(PersistentData { authority_set: new_set.into(), set_state: set_state.into(), - }) + }); } }, Some(1) => { @@ -346,7 +346,7 @@ where return Ok(PersistentData { authority_set: new_set.into(), set_state: set_state.into(), - }) + }); } }, Some(2) => { @@ -356,7 +356,7 @@ where return Ok(PersistentData { authority_set: new_set.into(), set_state: set_state.into(), - }) + }); } }, Some(3) => { @@ -376,11 +376,18 @@ where }, }; - return Ok(PersistentData { authority_set: set.into(), set_state: set_state.into() }) + return Ok(PersistentData { + authority_set: set.into(), + set_state: set_state.into(), + }); } }, - Some(other) => - return Err(ClientError::Backend(format!("Unsupported GRANDPA DB version: {:?}", other))), + Some(other) => { + return Err(ClientError::Backend(format!( + "Unsupported GRANDPA DB version: {:?}", + other + ))) + }, } // genesis. diff --git a/substrate/client/consensus/grandpa/src/communication/gossip.rs b/substrate/client/consensus/grandpa/src/communication/gossip.rs index 0ff52b085cdf9..a71674618e208 100644 --- a/substrate/client/consensus/grandpa/src/communication/gossip.rs +++ b/substrate/client/consensus/grandpa/src/communication/gossip.rs @@ -167,18 +167,18 @@ impl View { fn consider_vote(&self, round: Round, set_id: SetId) -> Consider { // only from current set if set_id < self.set_id { - return Consider::RejectPast + return Consider::RejectPast; } if set_id > self.set_id { - return Consider::RejectFuture + return Consider::RejectFuture; } // only r-1 ... r+1 if round.0 > self.round.0.saturating_add(1) { - return Consider::RejectFuture + return Consider::RejectFuture; } if round.0 < self.round.0.saturating_sub(1) { - return Consider::RejectPast + return Consider::RejectPast; } Consider::Accept @@ -189,22 +189,23 @@ impl View { fn consider_global(&self, set_id: SetId, number: N) -> Consider { // only from current set if set_id < self.set_id { - return Consider::RejectPast + return Consider::RejectPast; } if set_id > self.set_id { - return Consider::RejectFuture + return Consider::RejectFuture; } // only commits which claim to prove a higher block number than // the one we're aware of. match self.last_commit { None => Consider::Accept, - Some(ref num) => + Some(ref num) => { if num < &number { Consider::Accept } else { Consider::RejectPast - }, + } + }, } } } @@ -554,7 +555,7 @@ impl Peers { peer.view.last_commit.as_ref() > Some(&update.commit_finalized_height); if invalid_change { - return Err(Misbehavior::InvalidViewChange) + return Err(Misbehavior::InvalidViewChange); } let now = Instant::now(); @@ -564,7 +565,7 @@ impl Peers { if duplicate_packet { if let Some(last_update) = peer.view.last_update { if now < last_update + self.neighbor_rebroadcast_period / 2 { - return Err(Misbehavior::DuplicateNeighborMessage) + return Err(Misbehavior::DuplicateNeighborMessage); } } } @@ -597,7 +598,7 @@ impl Peers { // same height, because there is still a misbehavior condition based on // sending commits that are <= the best we are aware of. if peer.view.last_commit.as_ref() > Some(&new_height) { - return Err(Misbehavior::InvalidViewChange) + return Err(Misbehavior::InvalidViewChange); } peer.view.last_commit = Some(new_height); @@ -647,7 +648,7 @@ impl Peers { } else if n_authorities_added < one_and_a_half_lucky { second_stage_peers.insert(*peer_id); } else { - break + break; } } @@ -656,7 +657,7 @@ impl Peers { let n_second_stage_peers = LUCKY_PEERS.max((shuffled_peers.len() as f32).sqrt() as usize); for (peer_id, info) in &shuffled_peers { if info.roles.is_light() { - continue + continue; } if first_stage_peers.len() < LUCKY_PEERS { @@ -667,7 +668,7 @@ impl Peers { second_stage_peers.insert(*peer_id); } } else { - break + break; } } @@ -793,7 +794,7 @@ impl Inner { if local_view.round == round { // Do not send neighbor packets out if `round` has not changed --- // such behavior is punishable. - return None + return None; } let set_id = local_view.set_id; @@ -836,7 +837,7 @@ impl Inner { // Do not send neighbor packets out if the `set_id` has not changed --- // such behavior is punishable. - return None + return None; } else { v } @@ -863,7 +864,7 @@ impl Inner { if local_view.last_commit_height() < Some(&finalized) { local_view.last_commit = Some((finalized, round, set_id)); } else { - return None + return None; } self.multicast_neighbor_packet() @@ -902,10 +903,12 @@ impl Inner { ) -> Action { match self.consider_vote(full.round, full.set_id) { Consider::RejectFuture => return Action::Discard(Misbehavior::FutureMessage.cost()), - Consider::RejectOutOfScope => - return Action::Discard(Misbehavior::OutOfScopeMessage.cost()), - Consider::RejectPast => - return Action::Discard(self.cost_past_rejection(who, full.round, full.set_id)), + Consider::RejectOutOfScope => { + return Action::Discard(Misbehavior::OutOfScopeMessage.cost()) + }, + Consider::RejectPast => { + return Action::Discard(self.cost_past_rejection(who, full.round, full.set_id)) + }, Consider::Accept => {}, } @@ -918,7 +921,7 @@ impl Inner { "afg.bad_msg_signature"; "signature" => ?full.message.id, ); - return Action::Discard(cost::UNKNOWN_VOTER) + return Action::Discard(cost::UNKNOWN_VOTER); } if !sp_consensus_grandpa::check_message_signature( @@ -937,7 +940,7 @@ impl Inner { "afg.bad_msg_signature"; "signature" => ?full.message.id, ); - return Action::Discard(cost::BAD_SIGNATURE) + return Action::Discard(cost::BAD_SIGNATURE); } let topic = super::round_topic::(full.round.0, full.set_id.0); @@ -950,15 +953,17 @@ impl Inner { full: &FullCommitMessage, ) -> Action { if let Err(misbehavior) = self.peers.update_commit_height(who, full.message.target_number) { - return Action::Discard(misbehavior.cost()) + return Action::Discard(misbehavior.cost()); } match self.consider_global(full.set_id, full.message.target_number) { Consider::RejectFuture => return Action::Discard(Misbehavior::FutureMessage.cost()), - Consider::RejectPast => - return Action::Discard(self.cost_past_rejection(who, full.round, full.set_id)), - Consider::RejectOutOfScope => - return Action::Discard(Misbehavior::OutOfScopeMessage.cost()), + Consider::RejectPast => { + return Action::Discard(self.cost_past_rejection(who, full.round, full.set_id)) + }, + Consider::RejectOutOfScope => { + return Action::Discard(Misbehavior::OutOfScopeMessage.cost()) + }, Consider::Accept => {}, } @@ -974,7 +979,7 @@ impl Inner { "auth_data_len" => ?full.message.auth_data.len(), "precommits_is_empty" => ?full.message.precommits.is_empty(), ); - return Action::Discard(cost::MALFORMED_COMMIT) + return Action::Discard(cost::MALFORMED_COMMIT); } // always discard commits initially and rebroadcast after doing full @@ -991,19 +996,19 @@ impl Inner { match &self.pending_catch_up { PendingCatchUp::Requesting { who: peer, request, instant } => { if peer != who { - return Action::Discard(Misbehavior::OutOfScopeMessage.cost()) + return Action::Discard(Misbehavior::OutOfScopeMessage.cost()); } if request.set_id != full.set_id { - return Action::Discard(cost::MALFORMED_CATCH_UP) + return Action::Discard(cost::MALFORMED_CATCH_UP); } if request.round.0 > full.message.round_number { - return Action::Discard(cost::MALFORMED_CATCH_UP) + return Action::Discard(cost::MALFORMED_CATCH_UP); } if full.message.prevotes.is_empty() || full.message.precommits.is_empty() { - return Action::Discard(cost::MALFORMED_CATCH_UP) + return Action::Discard(cost::MALFORMED_CATCH_UP); } // move request to pending processing state, we won't push out @@ -1038,7 +1043,7 @@ impl Inner { set_state: &environment::SharedVoterSetState, ) -> (Option>, Action) { let Some(local_view) = &self.local_view else { - return (None, Action::Discard(Misbehavior::OutOfScopeMessage.cost())) + return (None, Action::Discard(Misbehavior::OutOfScopeMessage.cost())); }; if request.set_id != local_view.set_id { @@ -1049,22 +1054,23 @@ impl Inner { if request.set_id.0.saturating_add(1) == local_view.set_id.0 && local_view.round.0.saturating_sub(CATCH_UP_THRESHOLD) == 0 { - return (None, Action::Discard(cost::HONEST_OUT_OF_SCOPE_CATCH_UP)) + return (None, Action::Discard(cost::HONEST_OUT_OF_SCOPE_CATCH_UP)); } - return (None, Action::Discard(Misbehavior::OutOfScopeMessage.cost())) + return (None, Action::Discard(Misbehavior::OutOfScopeMessage.cost())); } match self.peers.peer(who) { None => return (None, Action::Discard(Misbehavior::OutOfScopeMessage.cost())), - Some(peer) if peer.view.round >= request.round => - return (None, Action::Discard(Misbehavior::OutOfScopeMessage.cost())), + Some(peer) if peer.view.round >= request.round => { + return (None, Action::Discard(Misbehavior::OutOfScopeMessage.cost())) + }, _ => {}, } let last_completed_round = set_state.read().last_completed_round(); if last_completed_round.number < request.round.0 { - return (None, Action::Discard(Misbehavior::OutOfScopeMessage.cost())) + return (None, Action::Discard(Misbehavior::OutOfScopeMessage.cost())); } trace!( @@ -1166,8 +1172,9 @@ impl Inner { let update_res = self.peers.update_peer_state(who, update); let (cost_benefit, topics) = match update_res { - Ok(view) => - (benefit::NEIGHBOR_MESSAGE, view.map(|view| neighbor_topics::(view))), + Ok(view) => { + (benefit::NEIGHBOR_MESSAGE, view.map(|view| neighbor_topics::(view))) + }, Err(misbehavior) => (misbehavior.cost(), None), }; @@ -1204,7 +1211,7 @@ impl Inner { let report = match &self.pending_catch_up { PendingCatchUp::Requesting { who: peer, instant, .. } => { if instant.elapsed() <= CATCH_UP_REQUEST_TIMEOUT { - return (false, None) + return (false, None); } else { // report peer for timeout Some((*peer, cost::CATCH_UP_REQUEST_TIMEOUT)) @@ -1212,7 +1219,7 @@ impl Inner { }, PendingCatchUp::Processing { instant, .. } => { if instant.elapsed() < CATCH_UP_PROCESS_TIMEOUT { - return (false, None) + return (false, None); } else { None } @@ -1568,7 +1575,7 @@ impl sc_network_gossip::Validator for GossipValidator sc_network_gossip::Validator for GossipValidator::decode_all(&mut data) { @@ -1636,7 +1643,7 @@ impl sc_network_gossip::Validator for GossipValidator sc_network_gossip::Validator for GossipValidator // we expire any commit message that doesn't target the same block // as our best commit or isn't from the same round and set id + { !(full.message.target_number == number && - full.round == round && full.set_id == set_id), + full.round == round && full.set_id == set_id) + }, None => true, }, Ok(_) => true, diff --git a/substrate/client/consensus/grandpa/src/communication/mod.rs b/substrate/client/consensus/grandpa/src/communication/mod.rs index d1a1c158ba473..eb996ca8e5063 100644 --- a/substrate/client/consensus/grandpa/src/communication/mod.rs +++ b/substrate/client/consensus/grandpa/src/communication/mod.rs @@ -371,7 +371,7 @@ impl, S: Syncing> NetworkBridge { target: LOG_TARGET, "Skipping message from unknown voter {}", msg.message.id ); - return future::ready(None) + return future::ready(None); } if voters.len().get() <= TELEMETRY_VOTERS_LIMIT { @@ -505,10 +505,11 @@ impl, S: Syncing> Future for NetworkBridge Poll::Ready(Some((to, packet))) => { self.gossip_engine.lock().send_message(to, packet.encode()); }, - Poll::Ready(None) => + Poll::Ready(None) => { return Poll::Ready(Err(Error::Network( "Neighbor packet worker stream closed.".into(), - ))), + ))) + }, Poll::Pending => break, } } @@ -518,17 +519,19 @@ impl, S: Syncing> Future for NetworkBridge Poll::Ready(Some(PeerReport { who, cost_benefit })) => { self.gossip_engine.lock().report(who, cost_benefit); }, - Poll::Ready(None) => + Poll::Ready(None) => { return Poll::Ready(Err(Error::Network( "Gossip validator report stream closed.".into(), - ))), + ))) + }, Poll::Pending => break, } } match self.gossip_engine.lock().poll_unpin(cx) { - Poll::Ready(()) => - return Poll::Ready(Err(Error::Network("Gossip engine future finished.".into()))), + Poll::Ready(()) => { + return Poll::Ready(Err(Error::Network("Gossip engine future finished.".into()))) + }, Poll::Pending => {}, } @@ -576,7 +579,7 @@ fn incoming_global( gossip_engine.lock().report(who, cost); } - return None + return None; } let round = msg.round; @@ -628,7 +631,7 @@ fn incoming_global( gossip_engine.lock().report(who, cost); } - return None + return None; } let cb = move |outcome| { @@ -666,10 +669,12 @@ fn incoming_global( }) .filter_map(move |(notification, msg)| { future::ready(match msg { - GossipMessage::Commit(msg) => - process_commit(msg, notification, &gossip_engine, &gossip_validator, &voters), - GossipMessage::CatchUp(msg) => - process_catch_up(msg, notification, &gossip_engine, &gossip_validator, &voters), + GossipMessage::Commit(msg) => { + process_commit(msg, notification, &gossip_engine, &gossip_validator, &voters) + }, + GossipMessage::CatchUp(msg) => { + process_catch_up(msg, notification, &gossip_engine, &gossip_validator, &voters) + }, _ => { debug!(target: LOG_TARGET, "Skipping unknown message type"); None @@ -802,7 +807,7 @@ impl Sink> for OutgoingMessages { // forward the message to the inner sender. return self.sender.start_send(signed).map_err(|e| { Error::Network(format!("Failed to start_send on channel sender: {:?}", e)) - }) + }); }; Ok(()) @@ -840,16 +845,16 @@ fn check_compact_commit( if let Some(weight) = voters.get(id).map(|info| info.weight()) { total_weight += weight.get(); if total_weight > full_threshold { - return Err(cost::MALFORMED_COMMIT) + return Err(cost::MALFORMED_COMMIT); } } else { debug!(target: LOG_TARGET, "Skipping commit containing unknown voter {}", id); - return Err(cost::MALFORMED_COMMIT) + return Err(cost::MALFORMED_COMMIT); } } if total_weight < voters.threshold().get() { - return Err(cost::MALFORMED_COMMIT) + return Err(cost::MALFORMED_COMMIT); } // check signatures on all contained precommits. @@ -882,7 +887,7 @@ fn check_compact_commit( } .cost(); - return Err(cost) + return Err(cost); } } @@ -913,19 +918,19 @@ fn check_catch_up( if let Some(weight) = voters.get(id).map(|info| info.weight()) { total_weight += weight.get(); if total_weight > full_threshold { - return Err(cost::MALFORMED_CATCH_UP) + return Err(cost::MALFORMED_CATCH_UP); } } else { debug!( target: LOG_TARGET, "Skipping catch up message containing unknown voter {}", id ); - return Err(cost::MALFORMED_CATCH_UP) + return Err(cost::MALFORMED_CATCH_UP); } } if total_weight < voters.threshold().get() { - return Err(cost::MALFORMED_CATCH_UP) + return Err(cost::MALFORMED_CATCH_UP); } Ok(()) @@ -970,7 +975,7 @@ fn check_catch_up( } .cost(); - return Err(cost) + return Err(cost); } } @@ -1053,7 +1058,7 @@ impl Sink<(RoundNumber, Commit)> for CommitsOut), ) -> Result<(), Self::Error> { if !self.is_voter { - return Ok(()) + return Ok(()); } let (round, commit) = input; diff --git a/substrate/client/consensus/grandpa/src/communication/periodic.rs b/substrate/client/consensus/grandpa/src/communication/periodic.rs index 70218ea33b4ed..da13cca96f134 100644 --- a/substrate/client/consensus/grandpa/src/communication/periodic.rs +++ b/substrate/client/consensus/grandpa/src/communication/periodic.rs @@ -92,7 +92,7 @@ impl Stream for NeighborPacketWorker { this.delay.reset(this.rebroadcast_period); this.last = Some((to.clone(), packet.clone())); - return Poll::Ready(Some((to, GossipMessage::::from(packet)))) + return Poll::Ready(Some((to, GossipMessage::::from(packet)))); }, // Don't return yet, maybe the timer fired. Poll::Pending => {}, @@ -111,7 +111,7 @@ impl Stream for NeighborPacketWorker { while this.delay.poll_unpin(cx).is_ready() {} if let Some((ref to, ref packet)) = this.last { - return Poll::Ready(Some((to.clone(), GossipMessage::::from(packet.clone())))) + return Poll::Ready(Some((to.clone(), GossipMessage::::from(packet.clone())))); } Poll::Pending diff --git a/substrate/client/consensus/grandpa/src/communication/tests.rs b/substrate/client/consensus/grandpa/src/communication/tests.rs index fcf83aec6afb7..de081c06d45ac 100644 --- a/substrate/client/consensus/grandpa/src/communication/tests.rs +++ b/substrate/client/consensus/grandpa/src/communication/tests.rs @@ -270,10 +270,11 @@ impl Tester { futures::future::poll_fn(move |cx| loop { match Stream::poll_next(Pin::new(&mut s.as_mut().unwrap().events), cx) { Poll::Ready(None) => panic!("concluded early"), - Poll::Ready(Some(item)) => + Poll::Ready(Some(item)) => { if pred(item) { - return Poll::Ready(s.take().unwrap()) - }, + return Poll::Ready(s.take().unwrap()); + } + }, Poll::Pending => return Poll::Pending, } }) @@ -620,8 +621,9 @@ fn bad_commit_leads_to_report() { let fut = future::join(send_message, handle_commit) .then(move |(tester, ())| { tester.filter_network_events(move |event| match event { - Event::Report(who, cost_benefit) => - who == id && cost_benefit == super::cost::INVALID_COMMIT, + Event::Report(who, cost_benefit) => { + who == id && cost_benefit == super::cost::INVALID_COMMIT + }, _ => false, }) }) diff --git a/substrate/client/consensus/grandpa/src/environment.rs b/substrate/client/consensus/grandpa/src/environment.rs index 4b585301a0d7a..a5bc60b75f099 100644 --- a/substrate/client/consensus/grandpa/src/environment.rs +++ b/substrate/client/consensus/grandpa/src/environment.rs @@ -502,7 +502,7 @@ where if *equivocation.offender() == local_id { return Err(Error::Safety( "Refraining from sending equivocation report for our own equivocation.".into(), - )) + )); } } @@ -525,8 +525,9 @@ where // find the hash of the latest block in the current set let current_set_latest_hash = match next_change { - Some((_, n)) if n.is_zero() => - return Err(Error::Safety("Authority set change signalled at genesis.".to_string())), + Some((_, n)) if n.is_zero() => { + return Err(Error::Safety("Authority set change signalled at genesis.".to_string())) + }, // the next set starts at `n` so the current one lasts until `n - 1`. if // `n` is later than the best block, then the current set is still live // at best block. @@ -563,7 +564,7 @@ where target: LOG_TARGET, "Equivocation offender is not part of the authority set." ); - return Ok(()) + return Ok(()); }, }; @@ -618,7 +619,7 @@ where Client: HeaderMetadata, { if base == block { - return Err(GrandpaError::NotDescendent) + return Err(GrandpaError::NotDescendent); } let tree_route_res = sp_blockchain::tree_route(&**client, block, base); @@ -634,12 +635,12 @@ where e ); - return Err(GrandpaError::NotDescendent) + return Err(GrandpaError::NotDescendent); }, }; if tree_route.common_block().hash != base { - return Err(GrandpaError::NotDescendent) + return Err(GrandpaError::NotDescendent); } // skip one because our ancestry is meant to start from the parent of `block`, @@ -711,7 +712,7 @@ where // before activating the new set. the `authority_set` is updated immediately thus // we restrict the voter based on that. if set_id != authority_set.set_id() { - return Ok(None) + return Ok(None); } best_chain_containing(block, client, authority_set, select_chain, voting_rule) @@ -730,12 +731,13 @@ where let local_id = local_authority_id(&self.voters, self.config.keystore.as_ref()); let has_voted = match self.voter_set_state.has_voted(round) { - HasVoted::Yes(id, vote) => + HasVoted::Yes(id, vote) => { if local_id.as_ref().map(|k| k == &id).unwrap_or(false) { HasVoted::Yes(id, vote) } else { HasVoted::No - }, + } + }, HasVoted::No => HasVoted::No, }; @@ -811,7 +813,7 @@ where // we've already proposed in this round (in a previous run), // ignore the given vote and don't update the voter set // state - return Ok(None) + return Ok(None); } let mut current_rounds = current_rounds.clone(); @@ -869,7 +871,7 @@ where // we've already prevoted in this round (in a previous run), // ignore the given vote and don't update the voter set // state - return Ok(None) + return Ok(None); } // report to telemetry and prometheus @@ -932,7 +934,7 @@ where // we've already precommitted in this round (in a previous run), // ignore the given vote and don't update the voter set // state - return Ok(None) + return Ok(None); } // report to telemetry and prometheus @@ -943,7 +945,7 @@ where HasVoted::Yes(_, Vote::Prevote(_, prevote)) => prevote, _ => { let msg = "Voter precommitting before prevoting."; - return Err(Error::Safety(msg.to_string())) + return Err(Error::Safety(msg.to_string())); }, }; @@ -996,7 +998,7 @@ where (completed_rounds, current_rounds) } else { let msg = "Voter acting while in paused state."; - return Err(Error::Safety(msg.to_string())) + return Err(Error::Safety(msg.to_string())); }; let mut completed_rounds = completed_rounds.clone(); @@ -1057,7 +1059,7 @@ where (completed_rounds, current_rounds) } else { let msg = "Voter acting while in paused state."; - return Err(Error::Safety(msg.to_string())) + return Err(Error::Safety(msg.to_string())); }; let mut completed_rounds = completed_rounds.clone(); @@ -1195,7 +1197,7 @@ where block, ); - return Ok(None) + return Ok(None); }, }; @@ -1244,7 +1246,7 @@ where err, ); - return Ok(None) + return Ok(None); }, }; @@ -1286,7 +1288,7 @@ where } if *target_header.number() == target_number { - break + break; } target_header = client @@ -1337,14 +1339,14 @@ where Client: ClientForGrandpa, { if enacts_change { - return true + return true; } let last_finalized_number = client.info().finalized_number; // keep the first justification before reaching the justification period if last_finalized_number.is_zero() { - return true + return true; } last_finalized_number / justification_period.into() != number / justification_period.into() @@ -1387,7 +1389,7 @@ where status.finalized_number, ); - return Ok(()) + return Ok(()); } // FIXME #1483: clone only when changed @@ -1528,7 +1530,7 @@ where ); warn!(target: LOG_TARGET, "Node is in a potentially inconsistent state."); - return Err(e.into()) + return Err(e.into()); } } diff --git a/substrate/client/consensus/grandpa/src/finality_proof.rs b/substrate/client/consensus/grandpa/src/finality_proof.rs index 8a47d121e8693..0e04e2afa0644 100644 --- a/substrate/client/consensus/grandpa/src/finality_proof.rs +++ b/substrate/client/consensus/grandpa/src/finality_proof.rs @@ -125,7 +125,7 @@ where { changes } else { - return Ok(None) + return Ok(None); }; prove_finality(&*self.backend, authority_set_changes, block, collect_unknown_headers) @@ -185,7 +185,7 @@ where block, finalized_number, ); trace!(target: LOG_TARGET, "{}", &err); - return Err(FinalityProofError::BlockNotYetFinalized) + return Err(FinalityProofError::BlockNotYetFinalized); } let (justification, just_block) = match authority_set_changes.get_set_id(block) { @@ -200,7 +200,7 @@ where "No justification found for the latest finalized block. \ Returning empty proof.", ); - return Ok(None) + return Ok(None); } }, AuthoritySetChangeId::Set(_, last_block_for_set) => { @@ -220,7 +220,7 @@ where Returning empty proof.", block, ); - return Ok(None) + return Ok(None); }; (justification, last_block_for_set) }, @@ -231,7 +231,7 @@ where You need to resync to populate AuthoritySetChanges properly.", block, ); - return Err(FinalityProofError::BlockNotInAuthoritySetChanges) + return Err(FinalityProofError::BlockNotInAuthoritySetChanges); }, }; @@ -241,7 +241,7 @@ where let mut current = block + One::one(); loop { if current > just_block || headers.len() >= MAX_UNKNOWN_HEADERS { - break + break; } let hash = backend.blockchain().expect_block_hash_from_id(&BlockId::Number(current))?; headers.push(backend.blockchain().expect_header(hash)?); diff --git a/substrate/client/consensus/grandpa/src/import.rs b/substrate/client/consensus/grandpa/src/import.rs index e2343409f3ea2..9dcd2b326aaf7 100644 --- a/substrate/client/consensus/grandpa/src/import.rs +++ b/substrate/client/consensus/grandpa/src/import.rs @@ -245,7 +245,7 @@ where ) -> Option>> { // check for forced authority set hard forks if let Some(change) = self.authority_set_hard_forks.lock().get(&hash) { - return Some(change.clone()) + return Some(change.clone()); } // check for forced change. @@ -256,7 +256,7 @@ where canon_height: *header.number(), canon_hash: hash, delay_kind: DelayKind::Best { median_last_finalized }, - }) + }); } // check normal scheduled change. @@ -276,6 +276,17 @@ where hash: Block::Hash, initial_sync: bool, ) -> Result, ConsensusError> { + // For warp synced block we can skip authority set change tracking for warp synced blocks, + // because authority sets will be reconstructed after sync completes from the finalized + // state. + if block.origin == BlockOrigin::WarpSync { + return Ok(PendingSetChanges { + just_in_case: None, + applied_changes: AppliedChanges::None, + do_pause: false, + }); + } + // when we update the authorities, we need to hold the lock // until the block is written to prevent a race if we need to restore // the old authority set on error or panic. @@ -448,7 +459,7 @@ where self.inner.storage(hash, &sc_client_api::StorageKey(k.to_vec())) { if let Ok(id) = SetId::decode(&mut id.0.as_ref()) { - return Ok(id) + return Ok(id); } } } @@ -537,14 +548,14 @@ where Ok(BlockStatus::InChain) => { // Strip justifications when re-importing an existing block. let _justifications = block.justifications.take(); - return (&*self.inner).import_block(block).await + return (&*self.inner).import_block(block).await; }, Ok(BlockStatus::Unknown) => {}, Err(e) => return Err(ConsensusError::ClientImport(e.to_string())), } if block.with_state() { - return self.import_state(block).await + return self.import_state(block).await; } if number <= self.inner.info().finalized_number { @@ -555,7 +566,7 @@ where "Justification required when importing \ an old block with authority set change." .into(), - )) + )); } let mut authority_set = self.authority_set.inner_locked(); authority_set.authority_set_changes.insert(number); @@ -569,7 +580,7 @@ where }, ); } - return (&*self.inner).import_block(block).await + return (&*self.inner).import_block(block).await; } // on initial sync we will restrict logging under info to avoid spam. @@ -590,7 +601,7 @@ where "Restoring old authority set after block import result: {:?}", r, ); pending_changes.revert(); - return Ok(r) + return Ok(r); }, Err(e) => { debug!( @@ -598,7 +609,7 @@ where "Restoring old authority set after block import error: {}", e, ); pending_changes.revert(); - return Err(ConsensusError::ClientImport(e.to_string())) + return Err(ConsensusError::ClientImport(e.to_string())); }, } }; @@ -683,7 +694,7 @@ where ); } }, - None => + None => { if needs_justification { debug!( target: LOG_TARGET, @@ -692,7 +703,8 @@ where ); imported_aux.needs_justification = true; - }, + } + }, } Ok(ImportResult::Imported(imported_aux)) @@ -784,7 +796,7 @@ where // justification import pipeline similar to what we do for `BlockImport`. In the // meantime we'll just drop the justification, since this is only used for BEEFY which // is still WIP. - return Ok(()) + return Ok(()); } let justification = GrandpaJustification::decode_and_verify_finalizes( @@ -797,8 +809,9 @@ where let justification = match justification { Err(e) => { return match e { - sp_blockchain::Error::OutdatedJustification => - Err(ConsensusError::OutdatedJustification), + sp_blockchain::Error::OutdatedJustification => { + Err(ConsensusError::OutdatedJustification) + }, _ => Err(ConsensusError::ClientImport(e.to_string())), }; }, @@ -830,7 +843,7 @@ where // send the command to the voter let _ = self.send_voter_commands.unbounded_send(command); }, - Err(CommandOrError::Error(e)) => + Err(CommandOrError::Error(e)) => { return Err(match e { Error::Grandpa(error) => ConsensusError::ClientImport(error.to_string()), Error::Network(error) => ConsensusError::ClientImport(error), @@ -840,7 +853,8 @@ where Error::Signing(error) => ConsensusError::ClientImport(error), Error::Timer(error) => ConsensusError::ClientImport(error.to_string()), Error::RuntimeApi(error) => ConsensusError::ClientImport(error.to_string()), - }), + }) + }, Ok(_) => { assert!( !enacts_change, diff --git a/substrate/client/consensus/grandpa/src/justification.rs b/substrate/client/consensus/grandpa/src/justification.rs index d46fe5935c59c..73ec18655e340 100644 --- a/substrate/client/consensus/grandpa/src/justification.rs +++ b/substrate/client/consensus/grandpa/src/justification.rs @@ -98,7 +98,7 @@ impl GrandpaJustification { let mut current_hash = signed.precommit.target_hash; loop { if current_hash == base_hash { - break + break; } match client.header(current_hash)? { @@ -107,7 +107,7 @@ impl GrandpaJustification { // as base and only traverse backwards from the other blocks // in the commit. but better be safe to avoid an unbound loop. if *current_header.number() <= base_number { - return error() + return error(); } let parent_hash = *current_header.parent_hash(); @@ -180,7 +180,7 @@ impl GrandpaJustification { Ok(ref result) if result.is_valid() => {}, _ => { let msg = "invalid commit in grandpa justification".to_string(); - return Err(ClientError::BadJustification(msg)) + return Err(ClientError::BadJustification(msg)); }, } @@ -214,17 +214,19 @@ impl GrandpaJustification { &mut buf, ); match signature_result { - sp_consensus_grandpa::SignatureResult::Invalid => + sp_consensus_grandpa::SignatureResult::Invalid => { return Err(ClientError::BadJustification( "invalid signature for precommit in grandpa justification".to_string(), - )), - sp_consensus_grandpa::SignatureResult::OutdatedSet => - return Err(ClientError::OutdatedJustification), + )) + }, + sp_consensus_grandpa::SignatureResult::OutdatedSet => { + return Err(ClientError::OutdatedJustification) + }, sp_consensus_grandpa::SignatureResult::Valid => {}, } if base_hash == signed.precommit.target_hash { - continue + continue; } match ancestry_chain.ancestry(base_hash, signed.precommit.target_hash) { @@ -236,10 +238,11 @@ impl GrandpaJustification { visited_hashes.insert(hash); } }, - _ => + _ => { return Err(ClientError::BadJustification( "invalid precommit ancestry proof in grandpa justification".to_string(), - )), + )) + }, } } @@ -254,7 +257,7 @@ impl GrandpaJustification { return Err(ClientError::BadJustification( "invalid precommit ancestries in grandpa justification with unused headers" .to_string(), - )) + )); } Ok(()) @@ -295,7 +298,7 @@ where let mut current_hash = block; loop { if current_hash == base { - break + break; } match self.ancestry.get(¤t_hash) { Some(current_header) => { diff --git a/substrate/client/consensus/grandpa/src/lib.rs b/substrate/client/consensus/grandpa/src/lib.rs index a07dc035de35c..25298a05e5891 100644 --- a/substrate/client/consensus/grandpa/src/lib.rs +++ b/substrate/client/consensus/grandpa/src/lib.rs @@ -148,10 +148,24 @@ use until_imported::UntilGlobalMessageBlocksImported; // Re-export these two because it's just so damn convenient. pub use sp_consensus_grandpa::{ AuthorityId, AuthorityPair, CatchUp, Commit, CompactCommit, GrandpaApi, Message, Precommit, - Prevote, PrimaryPropose, ScheduledChange, SignedMessage, + Prevote, PrimaryPropose, ScheduledChange, SignedMessage, GRANDPA_ENGINE_ID, }; use std::marker::PhantomData; +/// Filter that preserves blocks with GRANDPA justifications during pruning. +/// +/// Use this filter with `DatabaseSettings::pruning_filters` to ensure that blocks +/// required for warp sync are not pruned. GRANDPA justifications at authority set change +/// boundaries are needed to construct warp sync proofs. +#[derive(Debug, Clone)] +pub struct GrandpaPruningFilter; + +impl sc_client_db::PruningFilter for GrandpaPruningFilter { + fn should_retain(&self, justifications: &sp_runtime::Justifications) -> bool { + justifications.get(GRANDPA_ENGINE_ID).is_some() + } +} + #[cfg(test)] mod tests; @@ -1125,11 +1139,11 @@ where // voters don't conclude naturally return Poll::Ready(Err(Error::Safety( "consensus-grandpa inner voter has concluded.".into(), - ))) + ))); }, Poll::Ready(Err(CommandOrError::Error(e))) => { // return inner observer error - return Poll::Ready(Err(e)) + return Poll::Ready(Err(e)); }, Poll::Ready(Err(CommandOrError::VoterCommand(command))) => { // some command issued internally @@ -1142,7 +1156,7 @@ where Poll::Pending => {}, Poll::Ready(None) => { // the `voter_commands_rx` stream should never conclude since it's never closed. - return Poll::Ready(Err(Error::Safety("`voter_commands_rx` was closed.".into()))) + return Poll::Ready(Err(Error::Safety("`voter_commands_rx` was closed.".into()))); }, Poll::Ready(Some(command)) => { // some command issued externally @@ -1183,7 +1197,7 @@ where let revertible = blocks.min(best_number - finalized); if revertible == Zero::zero() { - return Ok(()) + return Ok(()); } let number = best_number - revertible; diff --git a/substrate/client/consensus/grandpa/src/observer.rs b/substrate/client/consensus/grandpa/src/observer.rs index 90ad63ac78f3b..c09ee4a9190c9 100644 --- a/substrate/client/consensus/grandpa/src/observer.rs +++ b/substrate/client/consensus/grandpa/src/observer.rs @@ -98,14 +98,14 @@ where }, voter::CommunicationIn::CatchUp(..) => { // ignore catch up messages - return future::ok(last_finalized_number) + return future::ok(last_finalized_number); }, }; // if the commit we've received targets a block lower or equal to the last // finalized, ignore it and continue with the current state if commit.target_number <= last_finalized_number { - return future::ok(last_finalized_number) + return future::ok(last_finalized_number); } let validation_result = match finality_grandpa::validate_commit( @@ -371,11 +371,11 @@ where Poll::Ready(Ok(())) => { // observer commit stream doesn't conclude naturally; this could reasonably be an // error. - return Poll::Ready(Ok(())) + return Poll::Ready(Ok(())); }, Poll::Ready(Err(CommandOrError::Error(e))) => { // return inner observer error - return Poll::Ready(Err(e)) + return Poll::Ready(Err(e)); }, Poll::Ready(Err(CommandOrError::VoterCommand(command))) => { // some command issued internally @@ -388,7 +388,7 @@ where Poll::Pending => {}, Poll::Ready(None) => { // the `voter_commands_rx` stream should never conclude since it's never closed. - return Poll::Ready(Ok(())) + return Poll::Ready(Ok(())); }, Poll::Ready(Some(command)) => { // some command issued externally diff --git a/substrate/client/consensus/grandpa/src/until_imported.rs b/substrate/client/consensus/grandpa/src/until_imported.rs index 4103ee5279251..37a555cf14a0f 100644 --- a/substrate/client/consensus/grandpa/src/until_imported.rs +++ b/substrate/client/consensus/grandpa/src/until_imported.rs @@ -333,7 +333,7 @@ where if let Some(metrics) = &mut this.metrics { metrics.waiting_messages_dec(); } - return Poll::Ready(Some(Ok(ready))) + return Poll::Ready(Some(Ok(ready))); } if this.import_notifications.is_done() && this.incoming_messages.is_done() { @@ -366,9 +366,9 @@ impl BlockUntilImported for SignedMessage { if let Some(number) = status_check.block_number(target_hash)? { if number != target_number { warn_authority_wrong_target(target_hash, msg.id); - return Ok(DiscardWaitOrReady::Discard) + return Ok(DiscardWaitOrReady::Discard); } else { - return Ok(DiscardWaitOrReady::Ready(msg)) + return Ok(DiscardWaitOrReady::Ready(msg)); } } @@ -459,7 +459,7 @@ impl BlockUntilImported for BlockGlobalMessage { // invalid global message: messages targeting wrong number // or at least different from other vote in same global // message. - return Ok(false) + return Ok(false); } Ok(true) @@ -473,7 +473,7 @@ impl BlockUntilImported for BlockGlobalMessage { for (target_number, target_hash) in precommit_targets { if !query_known(target_hash, target_number)? { - return Ok(DiscardWaitOrReady::Discard) + return Ok(DiscardWaitOrReady::Discard); } } }, @@ -493,7 +493,7 @@ impl BlockUntilImported for BlockGlobalMessage { for (target_number, target_hash) in targets { if !query_known(target_hash, target_number)? { - return Ok(DiscardWaitOrReady::Discard) + return Ok(DiscardWaitOrReady::Discard); } } }, @@ -511,7 +511,7 @@ impl BlockUntilImported for BlockGlobalMessage { if unknown_hashes.is_empty() { // none of the hashes in the global message were unknown. // we can just return the message directly. - return Ok(DiscardWaitOrReady::Ready(input)) + return Ok(DiscardWaitOrReady::Ready(input)); } let locked_global = Arc::new(Mutex::new(Some(input))); @@ -538,7 +538,7 @@ impl BlockUntilImported for BlockGlobalMessage { // Delete the inner message so it won't ever be forwarded. Future calls to // `wait_completed` on the same `inner` will ignore it. *self.inner.lock() = None; - return None + return None; } match Arc::try_unwrap(self.inner) { @@ -943,7 +943,7 @@ mod tests { if block_sync_requests.contains(&(h2.hash(), *h2.number())) && block_sync_requests.contains(&(h3.hash(), *h3.number())) { - return Poll::Ready(()) + return Poll::Ready(()); } // NOTE: nothing in this function is future-aware (i.e nothing gets registered to wake diff --git a/substrate/client/consensus/grandpa/src/voting_rule.rs b/substrate/client/consensus/grandpa/src/voting_rule.rs index 6072f1895fd0b..7bf0f671efdf8 100644 --- a/substrate/client/consensus/grandpa/src/voting_rule.rs +++ b/substrate/client/consensus/grandpa/src/voting_rule.rs @@ -102,13 +102,13 @@ where use sp_arithmetic::traits::Saturating; if current_target.number().is_zero() { - return Box::pin(async { None }) + return Box::pin(async { None }); } // Constrain to the base number, if that's the minimal // vote that can be placed. if *base.number() + self.0 > *best_target.number() { - return Box::pin(std::future::ready(Some((base.hash(), *base.number())))) + return Box::pin(std::future::ready(Some((base.hash(), *base.number())))); } // find the target number restricted by this rule @@ -116,7 +116,7 @@ where // our current target is already lower than this rule would restrict if target_number >= *current_target.number() { - return Box::pin(async { None }) + return Box::pin(async { None }); } let current_target = current_target.clone(); @@ -158,7 +158,7 @@ where // our current target is already lower than this rule would restrict if target_number >= *current_target.number() { - return Box::pin(async { None }) + return Box::pin(async { None }); } // find the block at the given target height @@ -189,7 +189,7 @@ where } if *target_header.number() == target_number { - return Some((target_hash, target_number)) + return Some((target_hash, target_number)); } target_hash = *target_header.parent_hash(); diff --git a/substrate/client/consensus/grandpa/src/warp_proof.rs b/substrate/client/consensus/grandpa/src/warp_proof.rs index 42701a9cb3edd..8e4fc66ba972f 100644 --- a/substrate/client/consensus/grandpa/src/warp_proof.rs +++ b/substrate/client/consensus/grandpa/src/warp_proof.rs @@ -24,7 +24,9 @@ use crate::{ BlockNumberOps, GrandpaJustification, SharedAuthoritySet, }; use sc_client_api::Backend as ClientBackend; -use sc_network_sync::strategy::warp::{EncodedProof, VerificationResult, WarpSyncProvider}; +use sc_network_sync::strategy::warp::{ + EncodedProof, VerificationResult, Verifier, WarpSyncProvider, +}; use sp_blockchain::{Backend as BlockchainBackend, HeaderBackend}; use sp_consensus_grandpa::{AuthorityList, SetId, GRANDPA_ENGINE_ID}; use sp_runtime::{ @@ -96,7 +98,7 @@ impl WarpSyncProof { .ok_or_else(|| Error::InvalidRequest("Missing start block".to_string()))?; if begin_number > blockchain.info().finalized_number { - return Err(Error::InvalidRequest("Start block is not finalized".to_string())) + return Err(Error::InvalidRequest("Start block is not finalized".to_string())); } let canon_hash = blockchain.hash(begin_number)?.expect( @@ -108,7 +110,7 @@ impl WarpSyncProof { if canon_hash != begin { return Err(Error::InvalidRequest( "Start block is not in the finalized chain".to_string(), - )) + )); } let mut proofs = Vec::new(); @@ -131,7 +133,7 @@ impl WarpSyncProof { // if it doesn't contain a signal for standard change then the set must have changed // through a forced changed, in which case we stop collecting proofs as the chain of // trust in authority handoffs was broken. - break + break; } let justification = blockchain @@ -149,7 +151,7 @@ impl WarpSyncProof { // room for rest of the data (the size of the `Vec` and the boolean). if proofs_encoded_len + proof_size >= MAX_WARP_SYNC_PROOF_SIZE - 50 { proof_limit_reached = true; - break + break; } proofs_encoded_len += proof_size; @@ -228,7 +230,7 @@ impl WarpSyncProof { if proof.justification.target().1 != hash { return Err(Error::InvalidProof( "Mismatch between header and justification".to_owned(), - )) + )); } if let Some(scheduled_change) = find_scheduled_change::(&proof.header) { @@ -239,7 +241,7 @@ impl WarpSyncProof { // authority set change. return Err(Error::InvalidProof( "Header is missing authority set change digest".to_string(), - )) + )); } } } @@ -278,29 +280,27 @@ where } } -impl> WarpSyncProvider - for NetworkProvider +/// Verifier state for GRANDPA warp sync. +struct VerifierState { + set_id: SetId, + authorities: AuthorityList, + next_proof_context: Block::Hash, +} + +/// Verifier implementation for GRANDPA warp sync. +struct GrandpaVerifier { + state: VerifierState, + hard_forks: HashMap<(Block::Hash, NumberFor), (SetId, AuthorityList)>, + eras_synced: u64, +} + +impl Verifier for GrandpaVerifier where NumberFor: BlockNumberOps, { - fn generate( - &self, - start: Block::Hash, - ) -> Result> { - let proof = WarpSyncProof::::generate( - &*self.backend, - start, - &self.authority_set.authority_set_changes(), - ) - .map_err(Box::new)?; - Ok(EncodedProof(proof.encode())) - } - fn verify( - &self, + &mut self, proof: &EncodedProof, - set_id: SetId, - authorities: AuthorityList, ) -> Result, Box> { let EncodedProof(proof) = proof; let proof = WarpSyncProof::::decode_all(&mut proof.as_slice()) @@ -310,8 +310,23 @@ where .last() .map(|p| p.header.clone()) .ok_or_else(|| "Empty proof".to_string())?; - let (next_set_id, next_authorities) = - proof.verify(set_id, authorities, &self.hard_forks).map_err(Box::new)?; + + let (current_set_id, current_authorities) = + (self.state.set_id, self.state.authorities.clone()); + + let (next_set_id, next_authorities) = proof + .verify(current_set_id, current_authorities, &self.hard_forks) + .map_err(Box::new)?; + + self.state = VerifierState { + set_id: next_set_id, + authorities: next_authorities, + next_proof_context: last_header.hash(), + }; + + // Track eras synced + self.eras_synced += proof.proofs.len() as u64; + let justifications = proof .proofs .into_iter() @@ -321,25 +336,53 @@ where (p.header, justifications) }) .collect::>(); + if proof.is_finished { - Ok(VerificationResult::::Complete( - next_set_id, - next_authorities, - last_header, - justifications, - )) + Ok(VerificationResult::Complete(last_header, justifications)) } else { - Ok(VerificationResult::::Partial( - next_set_id, - next_authorities, - last_header.hash(), - justifications, - )) + Ok(VerificationResult::Partial(justifications)) } } - fn current_authorities(&self) -> AuthorityList { - self.authority_set.inner().current_authorities.clone() + fn next_proof_context(&self) -> Block::Hash { + self.state.next_proof_context + } + + fn status(&self) -> Option { + Some(format!("{} eras synced", self.eras_synced)) + } +} + +impl> WarpSyncProvider + for NetworkProvider +where + NumberFor: BlockNumberOps, +{ + fn generate( + &self, + start: Block::Hash, + ) -> Result> { + let proof = WarpSyncProof::::generate( + &*self.backend, + start, + &self.authority_set.authority_set_changes(), + ) + .map_err(Box::new)?; + Ok(EncodedProof(proof.encode())) + } + + fn create_verifier(&self) -> Box> { + let authority_set = self.authority_set.inner(); + let genesis_hash = self.backend.blockchain().info().genesis_hash; + Box::new(GrandpaVerifier { + state: VerifierState { + set_id: authority_set.set_id, + authorities: authority_set.current_authorities.clone(), + next_proof_context: genesis_hash, + }, + hard_forks: self.hard_forks.clone(), + eras_synced: 0, + }) } } diff --git a/substrate/client/consensus/manual-seal/src/consensus/babe.rs b/substrate/client/consensus/manual-seal/src/consensus/babe.rs index e8d06b917161e..e077ec53120b5 100644 --- a/substrate/client/consensus/manual-seal/src/consensus/babe.rs +++ b/substrate/client/consensus/manual-seal/src/consensus/babe.rs @@ -147,7 +147,7 @@ where authorities: Vec<(AuthorityId, BabeAuthorityWeight)>, ) -> Result { if authorities.is_empty() { - return Err(Error::StringError("Cannot supply empty authority set!".into())) + return Err(Error::StringError("Cannot supply empty authority set!".into())); } let config = sc_consensus_babe::configuration(&*client)?; @@ -286,14 +286,15 @@ where // manually hard code epoch descriptor epoch_descriptor = match epoch_descriptor { - ViableEpochDescriptor::Signaled(identifier, _header) => + ViableEpochDescriptor::Signaled(identifier, _header) => { ViableEpochDescriptor::Signaled( identifier, EpochHeader { start_slot: slot, end_slot: (*slot * self.config.epoch_length).into(), }, - ), + ) + }, _ => unreachable!( "we're not in the authorities, so this isn't the genesis epoch; qed" ), diff --git a/substrate/client/consensus/manual-seal/src/seal_block.rs b/substrate/client/consensus/manual-seal/src/seal_block.rs index f0bb06bb9286b..5a8a9fb54b192 100644 --- a/substrate/client/consensus/manual-seal/src/seal_block.rs +++ b/substrate/client/consensus/manual-seal/src/seal_block.rs @@ -89,15 +89,16 @@ pub async fn seal_block( { let future = async { if pool.status().ready == 0 && !create_empty { - return Err(Error::EmptyTransactionPool) + return Err(Error::EmptyTransactionPool); } // get the header to build this new block on. // use the parent_hash supplied via `EngineCommand` // or fetch the best_block. let parent = match parent_hash { - Some(hash) => - client.header(hash)?.ok_or_else(|| Error::BlockNotFound(format!("{}", hash)))?, + Some(hash) => { + client.header(hash)?.ok_or_else(|| Error::BlockNotFound(format!("{}", hash)))? + }, None => select_chain.best_chain().await?, }; @@ -138,7 +139,7 @@ pub async fn seal_block( .await?; if proposal.block.extrinsics().len() == inherents_len && !create_empty { - return Err(Error::EmptyTransactionPool) + return Err(Error::EmptyTransactionPool); } let proof = storage_proof_recorder.drain_storage_proof(); diff --git a/substrate/client/consensus/pow/src/lib.rs b/substrate/client/consensus/pow/src/lib.rs index cc68ab70a438d..f00ef1e4c8916 100644 --- a/substrate/client/consensus/pow/src/lib.rs +++ b/substrate/client/consensus/pow/src/lib.rs @@ -273,7 +273,7 @@ where use sp_block_builder::CheckInherentsError; if *block.header().number() < self.check_inherents_after { - return Ok(()) + return Ok(()); } sp_block_builder::check_inherents( @@ -287,8 +287,9 @@ where CheckInherentsError::CreateInherentData(e) => Error::CreateInherents(e), CheckInherentsError::Client(e) => Error::Client(e.into()), CheckInherentsError::CheckInherents(e) => Error::CheckInherents(e), - CheckInherentsError::CheckInherentsUnknownError(id) => - Error::CheckInherentsUnknownError(id), + CheckInherentsError::CheckInherentsUnknownError(id) => { + Error::CheckInherentsUnknownError(id) + }, })?; Ok(()) @@ -366,7 +367,7 @@ where &inner_seal, difficulty, )? { - return Err(Error::::InvalidSeal.into()) + return Err(Error::::InvalidSeal.into()); } aux.difficulty = difficulty; @@ -411,19 +412,20 @@ impl PowVerifier { let hash = header.hash(); let (seal, inner_seal) = match header.digest_mut().pop() { - Some(DigestItem::Seal(id, seal)) => + Some(DigestItem::Seal(id, seal)) => { if id == POW_ENGINE_ID { (DigestItem::Seal(id, seal.clone()), seal) } else { - return Err(Error::WrongEngine(id)) - }, + return Err(Error::WrongEngine(id)); + } + }, _ => return Err(Error::HeaderUnsealed(hash)), }; let pre_hash = header.hash(); if !self.algorithm.preliminary_verify(&pre_hash, &inner_seal)?.unwrap_or(true) { - return Err(Error::FailedPreliminaryVerify) + return Err(Error::FailedPreliminaryVerify); } Ok((header, seal)) @@ -516,13 +518,13 @@ where let task = async move { loop { if timer.next().await.is_none() { - break + break; } if sync_oracle.is_major_syncing() { debug!(target: LOG_TARGET, "Skipping proposal due to sync."); worker.on_major_syncing(); - continue + continue; } let best_header = match select_chain.best_chain().await { @@ -534,13 +536,13 @@ where Select best chain error: {}", err ); - continue + continue; }, }; let best_hash = best_header.hash(); if worker.best_hash() == Some(best_hash) { - continue + continue; } // The worker is locked for the duration of the whole proposing period. Within this @@ -555,7 +557,7 @@ where Fetch difficulty failed: {}", err, ); - continue + continue; }, }; @@ -571,7 +573,7 @@ where Creating inherent data providers failed: {}", err, ); - continue + continue; }, }; @@ -584,7 +586,7 @@ where Creating inherent data failed: {}", e, ); - continue + continue; }, }; @@ -604,7 +606,7 @@ where Creating proposer failed: {:?}", err, ); - continue + continue; }, }; @@ -626,7 +628,7 @@ where Creating proposal failed: {}", err, ); - continue + continue; }, }; @@ -653,8 +655,9 @@ fn find_pre_digest(header: &B::Header) -> Result>, Err for log in header.digest().logs() { trace!(target: LOG_TARGET, "Checking log {:?}, looking for pre runtime digest", log); match (log, pre_digest.is_some()) { - (DigestItem::PreRuntime(POW_ENGINE_ID, _), true) => - return Err(Error::MultiplePreRuntimeDigests), + (DigestItem::PreRuntime(POW_ENGINE_ID, _), true) => { + return Err(Error::MultiplePreRuntimeDigests) + }, (DigestItem::PreRuntime(POW_ENGINE_ID, v), false) => { pre_digest = Some(v.clone()); }, @@ -668,12 +671,13 @@ fn find_pre_digest(header: &B::Header) -> Result>, Err /// Fetch PoW seal. fn fetch_seal(digest: Option<&DigestItem>, hash: B::Hash) -> Result, Error> { match digest { - Some(DigestItem::Seal(id, seal)) => + Some(DigestItem::Seal(id, seal)) => { if id == &POW_ENGINE_ID { Ok(seal.clone()) } else { Err(Error::::WrongEngine(*id)) - }, + } + }, _ => Err(Error::::HeaderUnsealed(hash)), } } diff --git a/substrate/client/consensus/pow/src/worker.rs b/substrate/client/consensus/pow/src/worker.rs index f5700d91caef3..84c722722e27f 100644 --- a/substrate/client/consensus/pow/src/worker.rs +++ b/substrate/client/consensus/pow/src/worker.rs @@ -150,16 +150,16 @@ where Ok(true) => (), Ok(false) => { warn!(target: LOG_TARGET, "Unable to import mined block: seal is invalid",); - return false + return false; }, Err(err) => { warn!(target: LOG_TARGET, "Unable to import mined block: {}", err,); - return false + return false; }, } } else { warn!(target: LOG_TARGET, "Unable to import mined block: metadata does not exist",); - return false + return false; } let build = if let Some(build) = { @@ -173,7 +173,7 @@ where build } else { warn!(target: LOG_TARGET, "Unable to import mined block: build does not exist",); - return false + return false; }; let seal = DigestItem::Seal(POW_ENGINE_ID, seal); diff --git a/substrate/client/consensus/slots/src/aux_schema.rs b/substrate/client/consensus/slots/src/aux_schema.rs index 9c6bc0ad0cdc4..9eeb98bbd8098 100644 --- a/substrate/client/consensus/slots/src/aux_schema.rs +++ b/substrate/client/consensus/slots/src/aux_schema.rs @@ -64,7 +64,7 @@ where { // We don't check equivocations for old headers out of our capacity. if slot_now.saturating_sub(*slot) > MAX_SLOT_CAPACITY { - return Ok(None) + return Ok(None); } // Key for this slot. @@ -81,7 +81,7 @@ where if slot_now < first_saved_slot { // The code below assumes that slots will be visited sequentially. - return Ok(None) + return Ok(None); } for (prev_header, prev_signer) in headers_with_sig.iter() { @@ -101,7 +101,7 @@ where // since it's already saved and a possible equivocation // would have been detected before. Ok(None) - } + }; } } diff --git a/substrate/client/consensus/slots/src/lib.rs b/substrate/client/consensus/slots/src/lib.rs index a69d2d68e3bbc..a29535c4b6ddb 100644 --- a/substrate/client/consensus/slots/src/lib.rs +++ b/substrate/client/consensus/slots/src/lib.rs @@ -214,7 +214,7 @@ pub trait SimpleSlotWorker { Either::Left((Err(err), _)) => { warn!(target: log_target, "Proposing failed: {}", err); - return None + return None; }, Either::Right(_) => { info!( @@ -234,7 +234,7 @@ pub trait SimpleSlotWorker { "slot" => *slot, ); - return None + return None; }, }; @@ -260,7 +260,7 @@ pub trait SimpleSlotWorker { err, ); - return None + return None; }, Either::Left(_) => { warn!( @@ -270,7 +270,7 @@ pub trait SimpleSlotWorker { slot_info.chain_head.hash(), ); - return None + return None; }, }; @@ -294,7 +294,7 @@ pub trait SimpleSlotWorker { "Skipping proposal slot {} since there's no time left to propose", slot, ); - return None + return None; } else { Instant::now() + proposing_remaining_duration }; @@ -317,7 +317,7 @@ pub trait SimpleSlotWorker { "err" => ?err, ); - return None + return None; }, }; @@ -337,13 +337,13 @@ pub trait SimpleSlotWorker { "authorities_len" => authorities_len, ); - return None + return None; } let claim = self.claim_slot(&slot_info.chain_head, slot, &aux_data).await?; if self.should_backoff(slot, &slot_info.chain_head) { - return None + return None; } debug!(target: logging_target, "Starting authorship at slot: {slot}"); @@ -363,7 +363,7 @@ pub trait SimpleSlotWorker { "err" => ?err ); - return None + return None; }, }; @@ -390,7 +390,7 @@ pub trait SimpleSlotWorker { Err(err) => { warn!(target: logging_target, "Failed to create block import params: {}", err); - return None + return None; }, }; @@ -592,7 +592,7 @@ pub fn proposing_remaining_duration( // If parent is genesis block, we don't require any lenience factor. if slot_info.chain_head.number().is_zero() { - return proposing_duration + return proposing_duration; } let parent_slot = match parent_slot { @@ -755,7 +755,7 @@ where ) -> bool { // This should not happen, but we want to keep the previous behaviour if it does. if slot_now <= chain_head_slot { - return false + return false; } // There can be race between getting the finalized number and getting the best number. diff --git a/substrate/client/consensus/slots/src/slots.rs b/substrate/client/consensus/slots/src/slots.rs index 0d19108d1d2f2..eb93eac9bd2cd 100644 --- a/substrate/client/consensus/slots/src/slots.rs +++ b/substrate/client/consensus/slots/src/slots.rs @@ -182,7 +182,7 @@ where e, ); // Let's retry at the next slot. - continue + continue; }, }; @@ -199,7 +199,7 @@ where e, ); // Let's retry at the next slot. - continue + continue; }, }; @@ -215,7 +215,7 @@ where self.slot_duration, chain_head, None, - ) + ); } } } diff --git a/substrate/client/db/Cargo.toml b/substrate/client/db/Cargo.toml index 8d898ea8bb4ff..edb61c38b36fc 100644 --- a/substrate/client/db/Cargo.toml +++ b/substrate/client/db/Cargo.toml @@ -51,6 +51,7 @@ criterion = { workspace = true, default-features = true } kitchensink-runtime = { workspace = true } kvdb-rocksdb = { workspace = true } rand = { workspace = true, default-features = true } +sp-database = { workspace = true, default-features = true, features = ["rocksdb"] } sp-tracing = { workspace = true, default-features = true } substrate-test-runtime-client = { workspace = true } tempfile = { workspace = true } diff --git a/substrate/client/db/benches/state_access.rs b/substrate/client/db/benches/state_access.rs index fd0bce581854b..7ea5b17a321ff 100644 --- a/substrate/client/db/benches/state_access.rs +++ b/substrate/client/db/benches/state_access.rs @@ -125,6 +125,7 @@ fn create_backend(config: BenchmarkConfig, temp_dir: &TempDir) -> Backend state_pruning: Some(PruningMode::ArchiveAll), source: DatabaseSource::ParityDb { path }, blocks_pruning: BlocksPruning::KeepAll, + pruning_filters: Default::default(), metrics_registry: None, }; diff --git a/substrate/client/db/src/bench.rs b/substrate/client/db/src/bench.rs index 61b93a9a2314d..b783e7eb98571 100644 --- a/substrate/client/db/src/bench.rs +++ b/substrate/client/db/src/bench.rs @@ -241,7 +241,7 @@ impl KeyTracker { // Childtrie is identified by its storage key (i.e. `ChildInfo::storage_key`) fn add_read_key(&mut self, childtrie: Option<&[u8]>, key: &[u8]) { if !self.enable_tracking { - return + return; } let child_key_tracker = &mut self.child_keys; @@ -282,7 +282,7 @@ impl KeyTracker { // Childtrie is identified by its storage key (i.e. `ChildInfo::storage_key`) fn add_write_key(&mut self, childtrie: Option<&[u8]>, key: &[u8]) { if !self.enable_tracking { - return + return; } let child_key_tracker = &mut self.child_keys; @@ -516,7 +516,7 @@ impl StateBackend for BenchmarkingState { }) }); } else { - return Err("Trying to commit to a closed db".into()) + return Err("Trying to commit to a closed db".into()); } self.reopen() } diff --git a/substrate/client/db/src/lib.rs b/substrate/client/db/src/lib.rs index d86b722963b5b..fbf4c482a114e 100644 --- a/substrate/client/db/src/lib.rs +++ b/substrate/client/db/src/lib.rs @@ -101,6 +101,26 @@ pub use sp_database::Database; pub use bench::BenchmarkingState; +/// Filter to determine if a block should be excluded from pruning. +/// +/// Note: This filter only affects **block body** (and future header) pruning. +/// It does **not** affect state pruning, which is configured separately. +pub trait PruningFilter: Send + Sync { + /// Check if a block with the given justifications should be preserved. + /// + /// Returns `true` to preserve the block, `false` to allow pruning. + fn should_retain(&self, justifications: &Justifications) -> bool; +} + +impl PruningFilter for F +where + F: Fn(&Justifications) -> bool + Send + Sync, +{ + fn should_retain(&self, justifications: &Justifications) -> bool { + (self)(justifications) + } +} + const CACHE_HEADERS: usize = 8; /// DB-backed patricia trie state, transaction type is an overlay of changes to commit. @@ -313,7 +333,12 @@ pub struct DatabaseSettings { /// /// NOTE: only finalized blocks are subject for removal! pub blocks_pruning: BlocksPruning, - + /// Filters to exclude blocks from pruning. + /// + /// If any filter returns `true` for a block's justifications, the block body + /// (and in the future, the header) will be preserved even when it falls + /// outside the pruning window. Does not affect state pruning. + pub pruning_filters: Vec>, /// Prometheus metrics registry. pub metrics_registry: Option, } @@ -598,10 +623,11 @@ impl BlockchainDb { )? { Some(justifications) => match Decode::decode(&mut &justifications[..]) { Ok(justifications) => Ok(Some(justifications)), - Err(err) => + Err(err) => { return Err(sp_blockchain::Error::Backend(format!( "Error decoding justifications: {err}" - ))), + ))) + }, }, None => Ok(None), } @@ -614,8 +640,11 @@ impl BlockchainDb { // Plain body match Decode::decode(&mut &body[..]) { Ok(body) => return Ok(Some(body)), - Err(err) => - return Err(sp_blockchain::Error::Backend(format!("Error decoding body: {err}"))), + Err(err) => { + return Err(sp_blockchain::Error::Backend(format!( + "Error decoding body: {err}" + ))) + }, } } @@ -644,10 +673,11 @@ impl BlockchainDb { )?; body.push(ex); }, - None => + None => { return Err(sp_blockchain::Error::Backend(format!( "Missing indexed transaction {hash:?}" - ))), + ))) + }, }; }, DbExtrinsic::Full(ex) => { @@ -657,10 +687,11 @@ impl BlockchainDb { } return Ok(Some(body)); }, - Err(err) => + Err(err) => { return Err(sp_blockchain::Error::Backend(format!( "Error decoding body list: {err}", - ))), + ))) + }, } } Ok(None) @@ -775,17 +806,19 @@ impl sc_client_api::blockchain::Backend for BlockchainDb transactions.push(t), - None => + None => { return Err(sp_blockchain::Error::Backend(format!( "Missing indexed transaction {hash:?}", - ))), + ))) + }, } } } Ok(Some(transactions)) }, - Err(err) => - Err(sp_blockchain::Error::Backend(format!("Error decoding body list: {err}"))), + Err(err) => { + Err(sp_blockchain::Error::Backend(format!("Error decoding body list: {err}"))) + }, } } } @@ -850,8 +883,9 @@ impl BlockImportOperation { count += 1; let key = crate::offchain::concatenate_prefix_and_key(&prefix, &key); match value_operation { - OffchainOverlayedChange::SetValue(val) => - transaction.set_from_vec(columns::OFFCHAIN, &key, val), + OffchainOverlayedChange::SetValue(val) => { + transaction.set_from_vec(columns::OFFCHAIN, &key, val) + }, OffchainOverlayedChange::Remove => transaction.remove(columns::OFFCHAIN, &key), } } @@ -1121,6 +1155,7 @@ pub struct Backend { state_usage: Arc, genesis_state: RwLock>>>, shared_trie_cache: Option>>, + pruning_filters: Vec>, } impl Backend { @@ -1159,11 +1194,39 @@ impl Backend { Self::new_test_with_tx_storage(BlocksPruning::Some(blocks_pruning), canonicalization_delay) } + /// Create new memory-backed client backend for tests with custom pruning filters. + #[cfg(any(test, feature = "test-helpers"))] + pub fn new_test_with_pruning_filters( + blocks_pruning: u32, + canonicalization_delay: u64, + pruning_filters: Vec>, + ) -> Self { + Self::new_test_with_tx_storage_and_filters( + BlocksPruning::Some(blocks_pruning), + canonicalization_delay, + pruning_filters, + ) + } + /// Create new memory-backed client backend for tests. #[cfg(any(test, feature = "test-helpers"))] pub fn new_test_with_tx_storage( blocks_pruning: BlocksPruning, canonicalization_delay: u64, + ) -> Self { + Self::new_test_with_tx_storage_and_filters( + blocks_pruning, + canonicalization_delay, + Default::default(), + ) + } + + /// Create new memory-backed client backend for tests with custom pruning filters. + #[cfg(any(test, feature = "test-helpers"))] + pub fn new_test_with_tx_storage_and_filters( + blocks_pruning: BlocksPruning, + canonicalization_delay: u64, + pruning_filters: Vec>, ) -> Self { let db = kvdb_memorydb::create(crate::utils::NUM_COLUMNS); let db = sp_database::as_database(db); @@ -1177,6 +1240,7 @@ impl Backend { state_pruning: Some(state_pruning), source: DatabaseSource::Custom { db, require_create_flag: true }, blocks_pruning, + pruning_filters, metrics_registry: None, }; @@ -1269,6 +1333,7 @@ impl Backend { blocks_pruning: config.blocks_pruning, genesis_state: RwLock::new(None), shared_trie_cache, + pruning_filters: config.pruning_filters.clone(), }; // Older DB versions have no last state key. Check if the state is available and set it. @@ -1516,8 +1581,13 @@ impl Backend { .highest_leaf() .map(|(n, _)| n) .unwrap_or(Zero::zero()); - let existing_header = number <= highest_leaf && self.blockchain.header(hash)?.is_some(); - let existing_body = pending_block.body.is_some(); + let header_exists_in_db = + number <= highest_leaf && self.blockchain.header(hash)?.is_some(); + // Body in DB (not incoming block) - needed to update gap when adding body to existing + // header. + let body_exists_in_db = self.blockchain.body(hash)?.is_some(); + // Incoming block has body - used for fast sync gap handling. + let incoming_has_body = pending_block.body.is_some(); // blocks are keyed by number + hash. let lookup_key = utils::number_and_hash_to_lookup_key(number, hash)?; @@ -1652,9 +1722,9 @@ impl Backend { let header = &pending_block.header; let is_best = pending_block.leaf_state.is_best(); - debug!( + trace!( target: "db", - "DB Commit {hash:?} ({number}), best={is_best}, state={}, existing={existing_header}, finalized={finalized}", + "DB Commit {hash:?} ({number}), best={is_best}, state={}, header_in_db={header_exists_in_db} body_in_db={body_exists_in_db} incoming_body={incoming_has_body}, finalized={finalized}", operation.commit_state, ); @@ -1681,7 +1751,7 @@ impl Backend { self.force_delayed_canonicalize(&mut transaction)? } - if !existing_header { + if !header_exists_in_db { // Add a new leaf if the block has the potential to be finalized. if number > last_finalized_num || last_finalized_num.is_zero() { let mut leaves = self.blockchain.leaves.write(); @@ -1711,10 +1781,14 @@ impl Backend { } } - let should_check_block_gap = !existing_header || !existing_body; + let should_check_block_gap = !header_exists_in_db || !body_exists_in_db; + debug!( + target: "db", + "should_check_block_gap = {should_check_block_gap}", + ); if should_check_block_gap { - let insert_new_gap = + let update_gap = |transaction: &mut Transaction, new_gap: BlockGap>, block_gap: &mut Option>>| { @@ -1725,13 +1799,26 @@ impl Backend { &BLOCK_GAP_CURRENT_VERSION.encode(), ); block_gap.replace(new_gap); + debug!(target: "db", "Update block gap. {block_gap:?}"); + }; + + let remove_gap = + |transaction: &mut Transaction, + block_gap: &mut Option>>| { + transaction.remove(columns::META, meta_keys::BLOCK_GAP); + transaction.remove(columns::META, meta_keys::BLOCK_GAP_VERSION); + *block_gap = None; + debug!(target: "db", "Removed block gap."); }; if let Some(mut gap) = block_gap { match gap.gap_type { - BlockGapType::MissingHeaderAndBody => + BlockGapType::MissingHeaderAndBody => { + // Handle blocks at gap start or immediately following (possibly + // indicating blocks already imported during warp sync where + // start was not updated). if number == gap.start { - gap.start += One::one(); + gap.start = number + One::one(); utils::insert_number_to_key_mapping( &mut transaction, columns::KEY_LOOKUP, @@ -1739,19 +1826,16 @@ impl Backend { hash, )?; if gap.start > gap.end { - transaction.remove(columns::META, meta_keys::BLOCK_GAP); - transaction.remove(columns::META, meta_keys::BLOCK_GAP_VERSION); - block_gap = None; - debug!(target: "db", "Removed block gap."); + remove_gap(&mut transaction, &mut block_gap); } else { - insert_new_gap(&mut transaction, gap, &mut block_gap); - debug!(target: "db", "Update block gap. {block_gap:?}"); + update_gap(&mut transaction, gap, &mut block_gap); } block_gap_updated = true; - }, + } + }, BlockGapType::MissingBody => { // Gap increased when syncing the header chain during fast sync. - if number == gap.end + One::one() && !existing_body { + if number == gap.end + One::one() && !incoming_has_body { gap.end += One::one(); utils::insert_number_to_key_mapping( &mut transaction, @@ -1759,20 +1843,15 @@ impl Backend { number, hash, )?; - insert_new_gap(&mut transaction, gap, &mut block_gap); - debug!(target: "db", "Update block gap. {block_gap:?}"); + update_gap(&mut transaction, gap, &mut block_gap); block_gap_updated = true; // Gap decreased when downloading the full blocks. - } else if number == gap.start && existing_body { + } else if number == gap.start && incoming_has_body { gap.start += One::one(); if gap.start > gap.end { - transaction.remove(columns::META, meta_keys::BLOCK_GAP); - transaction.remove(columns::META, meta_keys::BLOCK_GAP_VERSION); - block_gap = None; - debug!(target: "db", "Removed block gap."); + remove_gap(&mut transaction, &mut block_gap); } else { - insert_new_gap(&mut transaction, gap, &mut block_gap); - debug!(target: "db", "Update block gap. {block_gap:?}"); + update_gap(&mut transaction, gap, &mut block_gap); } block_gap_updated = true; } @@ -1787,19 +1866,19 @@ impl Backend { end: number - One::one(), gap_type: BlockGapType::MissingHeaderAndBody, }; - insert_new_gap(&mut transaction, gap, &mut block_gap); + update_gap(&mut transaction, gap, &mut block_gap); block_gap_updated = true; debug!(target: "db", "Detected block gap (warp sync) {block_gap:?}"); } else if number == best_num + One::one() && self.blockchain.header(parent_hash)?.is_some() && - !existing_body + !incoming_has_body { let gap = BlockGap { start: number, end: number, gap_type: BlockGapType::MissingBody, }; - insert_new_gap(&mut transaction, gap, &mut block_gap); + update_gap(&mut transaction, gap, &mut block_gap); block_gap_updated = true; debug!(target: "db", "Detected block gap (fast sync) {block_gap:?}"); } @@ -1942,6 +2021,30 @@ impl Backend { // Before we prune a block, check if it is pinned if let Some(hash) = self.blockchain.hash(number)? { + // Check if any pruning filter wants to preserve this block. + // We need to check both the current transaction justifications (not yet in DB) + // and the DB itself (for justifications from previous transactions). + if !self.pruning_filters.is_empty() { + let justifications = match current_transaction_justifications.get(&hash) { + Some(j) => Some(Justifications::from(j.clone())), + None => self.blockchain.justifications(hash)?, + }; + + let should_retain = justifications + .map(|j| self.pruning_filters.iter().any(|f| f.should_retain(&j))) + .unwrap_or(false); + + // We can just return here, pinning can be ignored since the block will + // remain in the DB. + if should_retain { + debug!( + target: "db", + "Preserving block #{number} ({hash}) due to keep predicate match" + ); + return Ok(()); + } + } + self.blockchain.insert_persisted_body_if_pinned(hash)?; // If the block was finalized in this transaction, it will not be in the db @@ -2003,16 +2106,18 @@ impl Backend { id, )?; match Vec::>::decode(&mut &index[..]) { - Ok(index) => + Ok(index) => { for ex in index { if let DbExtrinsic::Indexed { hash, .. } = ex { transaction.release(columns::TRANSACTION, hash); } - }, - Err(err) => + } + }, + Err(err) => { return Err(sp_blockchain::Error::Backend(format!( "Error decoding body list: {err}", - ))), + ))) + }, } } Ok(()) @@ -2855,6 +2960,7 @@ pub(crate) mod tests { state_pruning: Some(PruningMode::blocks_pruning(1)), source: DatabaseSource::Custom { db: backing, require_create_flag: false }, blocks_pruning: BlocksPruning::KeepFinalized, + pruning_filters: Default::default(), metrics_registry: None, }, 0, @@ -3978,9 +4084,9 @@ pub(crate) mod tests { #[test] fn prune_blocks_on_finalize_and_reorg() { - // 0 - 1b - // \ - 1a - 2a - 3a - // \ - 2b + // 0 - 1b + // \ - 1a - 2a - 3a + // \ - 2b let backend = Backend::::new_test_with_tx_storage(BlocksPruning::Some(10), 10); @@ -5015,4 +5121,189 @@ pub(crate) mod tests { backend.unpin_block(fork_hash_3); assert!(bc.body(fork_hash_3).unwrap().is_none()); } + + #[test] + fn prune_blocks_with_empty_predicates_prunes_all() { + // Test backward compatibility: empty predicates means all blocks are pruned + let backend = Backend::::new_test_with_tx_storage_and_filters( + BlocksPruning::Some(2), + 0, + vec![], // Empty predicates + ); + + let mut blocks = Vec::new(); + let mut prev_hash = Default::default(); + + // Create 5 blocks + for i in 0..5 { + let hash = insert_block( + &backend, + i, + prev_hash, + None, + Default::default(), + vec![UncheckedXt::new_transaction(i.into(), ())], + None, + ) + .unwrap(); + blocks.push(hash); + prev_hash = hash; + } + + // Justification - but no predicate to preserve it + let justification = (CONS0_ENGINE_ID, vec![1, 2, 3]); + + // Finalize blocks, adding justification to block 1 + { + let mut op = backend.begin_operation().unwrap(); + backend.begin_state_operation(&mut op, blocks[4]).unwrap(); + op.mark_finalized(blocks[1], Some(justification.clone())).unwrap(); + op.mark_finalized(blocks[2], None).unwrap(); + op.mark_finalized(blocks[3], None).unwrap(); + op.mark_finalized(blocks[4], None).unwrap(); + backend.commit_operation(op).unwrap(); + } + + let bc = backend.blockchain(); + + // All blocks outside pruning window should be pruned, even with justification + assert_eq!(None, bc.body(blocks[0]).unwrap()); + assert_eq!(None, bc.body(blocks[1]).unwrap()); // Has justification but no predicate + assert_eq!(None, bc.body(blocks[2]).unwrap()); + + // Blocks 3 and 4 are within the pruning window + assert!(bc.body(blocks[3]).unwrap().is_some()); + assert!(bc.body(blocks[4]).unwrap().is_some()); + } + + #[test] + fn prune_blocks_multiple_filters_or_logic() { + // Test that multiple filters use OR logic: if ANY filter matches, block is kept + let backend = Backend::::new_test_with_tx_storage_and_filters( + BlocksPruning::Some(2), + 0, + vec![ + Arc::new(|j: &Justifications| j.get(CONS0_ENGINE_ID).is_some()), + Arc::new(|j: &Justifications| j.get(CONS1_ENGINE_ID).is_some()), + ], + ); + + let mut blocks = Vec::new(); + let mut prev_hash = Default::default(); + + // Create 7 blocks + for i in 0..7 { + let hash = insert_block( + &backend, + i, + prev_hash, + None, + Default::default(), + vec![UncheckedXt::new_transaction(i.into(), ())], + None, + ) + .unwrap(); + blocks.push(hash); + prev_hash = hash; + } + + let cons0_justification = (CONS0_ENGINE_ID, vec![1, 2, 3]); + let cons1_justification = (CONS1_ENGINE_ID, vec![4, 5, 6]); + + // Finalize blocks with different justification patterns + { + let mut op = backend.begin_operation().unwrap(); + backend.begin_state_operation(&mut op, blocks[6]).unwrap(); + // Block 1: CONS0 only - should be preserved + op.mark_finalized(blocks[1], Some(cons0_justification.clone())).unwrap(); + // Block 2: CONS1 only - should be preserved + op.mark_finalized(blocks[2], Some(cons1_justification.clone())).unwrap(); + // Block 3: No justification - should be pruned + op.mark_finalized(blocks[3], None).unwrap(); + // Block 4: Random/unknown engine ID - should be pruned + op.mark_finalized(blocks[4], Some(([9, 9, 9, 9], vec![7, 8, 9]))).unwrap(); + op.mark_finalized(blocks[5], None).unwrap(); + op.mark_finalized(blocks[6], None).unwrap(); + backend.commit_operation(op).unwrap(); + } + + let bc = backend.blockchain(); + + // Block 0 should be pruned (outside window, no justification) + assert_eq!(None, bc.body(blocks[0]).unwrap()); + + // Block 1 should be preserved (has CONS0 justification) + assert!(bc.body(blocks[1]).unwrap().is_some()); + + // Block 2 should be preserved (has CONS1 justification) + assert!(bc.body(blocks[2]).unwrap().is_some()); + + // Block 3 should be pruned (no justification) + assert_eq!(None, bc.body(blocks[3]).unwrap()); + + // Block 4 should be pruned (unknown engine ID) + assert_eq!(None, bc.body(blocks[4]).unwrap()); + + // Blocks 5 and 6 are within the pruning window + assert!(bc.body(blocks[5]).unwrap().is_some()); + assert!(bc.body(blocks[6]).unwrap().is_some()); + } + + #[test] + fn prune_blocks_filter_only_matches_specific_engine() { + // Test that a filter for one engine ID does NOT preserve blocks with a different engine ID + let backend = Backend::::new_test_with_tx_storage_and_filters( + BlocksPruning::Some(2), + 0, + vec![Arc::new(|j: &Justifications| j.get(CONS0_ENGINE_ID).is_some())], + ); + + let mut blocks = Vec::new(); + let mut prev_hash = Default::default(); + + // Create 5 blocks + for i in 0..5 { + let hash = insert_block( + &backend, + i, + prev_hash, + None, + Default::default(), + vec![UncheckedXt::new_transaction(i.into(), ())], + None, + ) + .unwrap(); + blocks.push(hash); + prev_hash = hash; + } + + let cons1_justification = (CONS1_ENGINE_ID, vec![4, 5, 6]); + + // Finalize blocks, adding CONS1 justification to block 1 + { + let mut op = backend.begin_operation().unwrap(); + backend.begin_state_operation(&mut op, blocks[4]).unwrap(); + // Block 1 gets CONS1 justification - should NOT be preserved by CONS0 filter + op.mark_finalized(blocks[1], Some(cons1_justification.clone())).unwrap(); + op.mark_finalized(blocks[2], None).unwrap(); + op.mark_finalized(blocks[3], None).unwrap(); + op.mark_finalized(blocks[4], None).unwrap(); + backend.commit_operation(op).unwrap(); + } + + let bc = backend.blockchain(); + + // Block 0 should be pruned + assert_eq!(None, bc.body(blocks[0]).unwrap()); + + // Block 1 should also be pruned (CONS1 justification, but only CONS0 filter) + assert_eq!(None, bc.body(blocks[1]).unwrap()); + + // Block 2 should be pruned + assert_eq!(None, bc.body(blocks[2]).unwrap()); + + // Blocks 3 and 4 are within the pruning window + assert!(bc.body(blocks[3]).unwrap().is_some()); + assert!(bc.body(blocks[4]).unwrap().is_some()); + } } diff --git a/substrate/client/db/src/parity_db.rs b/substrate/client/db/src/parity_db.rs index b7068f2430ef7..64742ddb69fc1 100644 --- a/substrate/client/db/src/parity_db.rs +++ b/substrate/client/db/src/parity_db.rs @@ -97,15 +97,16 @@ impl> Database for DbAdapter { Some(match change { Change::Set(col, key, value) => (col as u8, key, Some(value)), Change::Remove(col, key) => (col as u8, key, None), - Change::Store(col, key, value) => + Change::Store(col, key, value) => { if ref_counted_column(col) { (col as u8, key.as_ref().to_vec(), Some(value)) } else { if !not_ref_counted_column.contains(&col) { not_ref_counted_column.push(col); } - return None - }, + return None; + } + }, Change::Reference(col, key) => { if ref_counted_column(col) { // FIXME accessing value is not strictly needed, optimize this in parity-db. @@ -115,18 +116,19 @@ impl> Database for DbAdapter { if !not_ref_counted_column.contains(&col) { not_ref_counted_column.push(col); } - return None + return None; } }, - Change::Release(col, key) => + Change::Release(col, key) => { if ref_counted_column(col) { (col as u8, key.as_ref().to_vec(), None) } else { if !not_ref_counted_column.contains(&col) { not_ref_counted_column.push(col); } - return None - }, + return None; + } + }, }) })); @@ -134,7 +136,7 @@ impl> Database for DbAdapter { return Err(DatabaseError(Box::new(parity_db::Error::InvalidInput(format!( "Ref counted operation on non ref counted columns {:?}", not_ref_counted_column - ))))) + ))))); } result.map_err(|e| DatabaseError(Box::new(e))) diff --git a/substrate/client/db/src/upgrade.rs b/substrate/client/db/src/upgrade.rs index 475220d999193..f8833a337b284 100644 --- a/substrate/client/db/src/upgrade.rs +++ b/substrate/client/db/src/upgrade.rs @@ -163,8 +163,9 @@ fn migrate_3_to_4(db_path: &Path, _db_type: DatabaseType) -> Upgr /// If the file does not exist returns 0. fn current_version(path: &Path) -> UpgradeResult { match fs::File::open(version_file_path(path)) { - Err(ref err) if err.kind() == ErrorKind::NotFound => - Err(UpgradeError::MissingDatabaseVersionFile), + Err(ref err) if err.kind() == ErrorKind::NotFound => { + Err(UpgradeError::MissingDatabaseVersionFile) + }, Err(_) => Err(UpgradeError::UnknownDatabaseVersion), Ok(mut file) => { let mut s = String::new(); diff --git a/substrate/client/db/src/utils.rs b/substrate/client/db/src/utils.rs index b00e6e2da4593..c048119ee6227 100644 --- a/substrate/client/db/src/utils.rs +++ b/substrate/client/db/src/utils.rs @@ -202,8 +202,9 @@ fn open_database_at( let db: Arc> = match &db_source { DatabaseSource::ParityDb { path } => open_parity_db::(path, db_type, create)?, #[cfg(feature = "rocksdb")] - DatabaseSource::RocksDb { path, cache_size } => - open_kvdb_rocksdb::(path, db_type, create, *cache_size)?, + DatabaseSource::RocksDb { path, cache_size } => { + open_kvdb_rocksdb::(path, db_type, create, *cache_size)? + }, DatabaseSource::Custom { db, require_create_flag } => { if *require_create_flag && !create { return Err(OpenDbError::DoesNotExist); @@ -214,8 +215,9 @@ fn open_database_at( // check if rocksdb exists first, if not, open paritydb match open_kvdb_rocksdb::(rocksdb_path, db_type, false, *cache_size) { Ok(db) => db, - Err(OpenDbError::NotEnabled(_)) | Err(OpenDbError::DoesNotExist) => - open_parity_db::(paritydb_path, db_type, create)?, + Err(OpenDbError::NotEnabled(_)) | Err(OpenDbError::DoesNotExist) => { + open_parity_db::(paritydb_path, db_type, create)? + }, Err(as_is) => return Err(as_is), } }, @@ -368,13 +370,14 @@ pub fn check_database_type( db_type: DatabaseType, ) -> Result<(), OpenDbError> { match db.get(COLUMN_META, meta_keys::TYPE) { - Some(stored_type) => + Some(stored_type) => { if db_type.as_str().as_bytes() != &*stored_type { return Err(OpenDbError::UnexpectedDbType { expected: db_type, found: stored_type.to_owned(), }); - }, + } + }, None => { let mut transaction = Transaction::new(); transaction.set(COLUMN_META, meta_keys::TYPE, db_type.as_str().as_bytes()); @@ -484,7 +487,7 @@ where { let genesis_hash: Block::Hash = match read_genesis_hash(db)? { Some(genesis_hash) => genesis_hash, - None => + None => { return Ok(Meta { best_hash: Default::default(), best_number: Zero::zero(), @@ -493,7 +496,8 @@ where genesis_hash: Default::default(), finalized_state: None, block_gap: None, - }), + }) + }, }; let load_meta_block = |desc, key| -> Result<_, sp_blockchain::Error> { @@ -543,10 +547,11 @@ where BLOCK_GAP_CURRENT_VERSION => db .get(COLUMN_META, meta_keys::BLOCK_GAP) .and_then(|d| Decode::decode(&mut d.as_slice()).ok()), - v => + v => { return Err(sp_blockchain::Error::Backend(format!( "Unsupported block gap DB version: {v}" - ))), + ))) + }, }, }; debug!(target: "db", "block_gap={:?}", block_gap); @@ -569,8 +574,9 @@ pub fn read_genesis_hash( match db.get(COLUMN_META, meta_keys::GENESIS_HASH) { Some(h) => match Decode::decode(&mut &h[..]) { Ok(h) => Ok(Some(h)), - Err(err) => - Err(sp_blockchain::Error::Backend(format!("Error decoding genesis hash: {}", err))), + Err(err) => { + Err(sp_blockchain::Error::Backend(format!("Error decoding genesis hash: {}", err))) + }, }, None => Ok(None), } diff --git a/substrate/client/executor/benches/bench.rs b/substrate/client/executor/benches/bench.rs index 8e460955396c4..e3abe27d5fd0d 100644 --- a/substrate/client/executor/benches/bench.rs +++ b/substrate/client/executor/benches/bench.rs @@ -230,7 +230,7 @@ fn bench_call_instance(c: &mut Criterion) { for thread_count in thread_counts { if thread_count > num_cpus { // If there are not enough cores available the benchmark is pointless. - continue + continue; } let benchmark_name = format!( diff --git a/substrate/client/executor/common/src/runtime_blob/runtime_blob.rs b/substrate/client/executor/common/src/runtime_blob/runtime_blob.rs index e3f4b4ad97745..d8af26bf46e42 100644 --- a/substrate/client/executor/common/src/runtime_blob/runtime_blob.rs +++ b/substrate/client/executor/common/src/runtime_blob/runtime_blob.rs @@ -135,7 +135,7 @@ impl RuntimeBlob { .entries_mut() .push(ExportEntry::new(memory_name, Internal::Memory(0))); - break + break; } Ok(()) @@ -157,7 +157,7 @@ impl RuntimeBlob { .ok_or_else(|| WasmError::Other("no memory section found".into()))?; if memory_section.entries().is_empty() { - return Err(WasmError::Other("memory section is empty".into())) + return Err(WasmError::Other("memory section is empty".into())); } for memory_ty in memory_section.entries_mut() { let initial = memory_ty.limits().initial(); @@ -191,8 +191,9 @@ impl RuntimeBlob { /// Consumes this runtime blob and serializes it. pub fn serialize(self) -> Vec { match self.0 { - BlobKind::WebAssembly(raw_module) => - serialize(raw_module).expect("serializing into a vec should succeed; qed"), + BlobKind::WebAssembly(raw_module) => { + serialize(raw_module).expect("serializing into a vec should succeed; qed") + }, BlobKind::PolkaVM(ref blob) => blob.1.to_vec(), } } diff --git a/substrate/client/executor/polkavm/src/lib.rs b/substrate/client/executor/polkavm/src/lib.rs index cebbc9b3412e0..61a18a07a6681 100644 --- a/substrate/client/executor/polkavm/src/lib.rs +++ b/substrate/client/executor/polkavm/src/lib.rs @@ -45,11 +45,12 @@ impl WasmInstance for Instance { ) -> (Result, Error>, Option) { let pc = match self.0.module().exports().find(|e| e.symbol() == name) { Some(export) => export.program_counter(), - None => + None => { return ( Err(format!("cannot call into the runtime: export not found: '{name}'").into()), None, - ), + ) + }, }; let Ok(raw_data_length) = u32::try_from(raw_data.len()) else { @@ -93,21 +94,24 @@ impl WasmInstance for Instance { match self.0.call_typed(&mut (), pc, (data_pointer, raw_data_length)) { Ok(()) => {}, - Err(CallError::Trap) => + Err(CallError::Trap) => { return ( Err(format!("call into the runtime method '{name}' failed: trap").into()), None, - ), - Err(CallError::Error(err)) => + ) + }, + Err(CallError::Error(err)) => { return ( Err(format!("call into the runtime method '{name}' failed: {err}").into()), None, - ), - Err(CallError::User(err)) => + ) + }, + Err(CallError::User(err)) => { return ( Err(format!("call into the runtime method '{name}' failed: {err}").into()), None, - ), + ) + }, Err(CallError::NotEnoughGas) => unreachable!("gas metering is never enabled"), Err(CallError::Step) => unreachable!("stepping is never enabled"), }; @@ -186,7 +190,7 @@ fn call_host_function(caller: &mut Caller<()>, function: &dyn Function) -> Resul args[nth_arg] = Value::F32(caller.instance.reg(Reg::ARG_REGS[nth_reg]) as u32); nth_reg += 1; }, - ValueType::I64 => + ValueType::I64 => { if caller.instance.is_64_bit() { args[nth_arg] = Value::I64(caller.instance.reg(Reg::ARG_REGS[nth_reg]) as i64); nth_reg += 1; @@ -199,8 +203,9 @@ fn call_host_function(caller: &mut Caller<()>, function: &dyn Function) -> Resul args[nth_arg] = Value::I64((u64::from(value_lo) | (u64::from(value_hi) << 32)) as i64); - }, - ValueType::F64 => + } + }, + ValueType::F64 => { if caller.instance.is_64_bit() { args[nth_arg] = Value::F64(caller.instance.reg(Reg::ARG_REGS[nth_reg])); nth_reg += 1; @@ -212,7 +217,8 @@ fn call_host_function(caller: &mut Caller<()>, function: &dyn Function) -> Resul nth_reg += 1; args[nth_arg] = Value::F64(u64::from(value_lo) | (u64::from(value_hi) << 32)); - }, + } + }, } } @@ -228,7 +234,7 @@ fn call_host_function(caller: &mut Caller<()>, function: &dyn Function) -> Resul Ok(value) => value, Err(error) => { let name = function.name(); - return Err(format!("call into the host function '{name}' failed: {error}")) + return Err(format!("call into the host function '{name}' failed: {error}")); }, }; @@ -240,20 +246,22 @@ fn call_host_function(caller: &mut Caller<()>, function: &dyn Function) -> Resul Value::F32(value) => { caller.instance.set_reg(Reg::A0, value as u64); }, - Value::I64(value) => + Value::I64(value) => { if caller.instance.is_64_bit() { caller.instance.set_reg(Reg::A0, value as u64); } else { caller.instance.set_reg(Reg::A0, value as u64); caller.instance.set_reg(Reg::A1, (value >> 32) as u64); - }, - Value::F64(value) => + } + }, + Value::F64(value) => { if caller.instance.is_64_bit() { caller.instance.set_reg(Reg::A0, value as u64); } else { caller.instance.set_reg(Reg::A0, value as u64); caller.instance.set_reg(Reg::A1, (value >> 32) as u64); - }, + } + }, } } diff --git a/substrate/client/executor/src/executor.rs b/substrate/client/executor/src/executor.rs index 198a2a31ab8db..5aa0eeed2688d 100644 --- a/substrate/client/executor/src/executor.rs +++ b/substrate/client/executor/src/executor.rs @@ -466,7 +466,7 @@ where .map_err(|e| format!("Failed to read the static section: {:?}", e)) .map(|v| v.map(|v| v.encode()))? { - return Ok(version) + return Ok(version); } // If the blob didn't have embedded runtime version section, we fallback to the legacy @@ -581,7 +581,6 @@ pub struct NativeElseWasmExecutor { #[allow(deprecated)] impl NativeElseWasmExecutor { - /// /// Create new instance. /// /// # Parameters diff --git a/substrate/client/executor/src/integration_tests/mod.rs b/substrate/client/executor/src/integration_tests/mod.rs index 5d94ec6dcd386..056472a73d1c3 100644 --- a/substrate/client/executor/src/integration_tests/mod.rs +++ b/substrate/client/executor/src/integration_tests/mod.rs @@ -119,8 +119,9 @@ fn call_not_existing_function(wasm_method: WasmExecutionMethod) { match call_in_wasm("test_calling_missing_external", &[], wasm_method, &mut ext).unwrap_err() { Error::AbortedDueToTrap(error) => { let expected = match wasm_method { - WasmExecutionMethod::Compiled { .. } => - "call to a missing function env:missing_external", + WasmExecutionMethod::Compiled { .. } => { + "call to a missing function env:missing_external" + }, }; assert_eq!(error.message, expected); }, @@ -138,8 +139,9 @@ fn call_yet_another_not_existing_function(wasm_method: WasmExecutionMethod) { { Error::AbortedDueToTrap(error) => { let expected = match wasm_method { - WasmExecutionMethod::Compiled { .. } => - "call to a missing function env:yet_another_missing_external", + WasmExecutionMethod::Compiled { .. } => { + "call to a missing function env:yet_another_missing_external" + }, }; assert_eq!(error.message, expected); }, @@ -728,8 +730,9 @@ fn unreachable_intrinsic(wasm_method: WasmExecutionMethod) { match call_in_wasm("test_unreachable_intrinsic", &[], wasm_method, &mut ext).unwrap_err() { Error::AbortedDueToTrap(error) => { let expected = match wasm_method { - WasmExecutionMethod::Compiled { .. } => - "wasm trap: wasm `unreachable` instruction executed", + WasmExecutionMethod::Compiled { .. } => { + "wasm trap: wasm `unreachable` instruction executed" + }, }; assert_eq!(error.message, expected); }, diff --git a/substrate/client/executor/src/wasm_runtime.rs b/substrate/client/executor/src/wasm_runtime.rs index 8f189ca92388a..36ff6fe34e4c1 100644 --- a/substrate/client/executor/src/wasm_runtime.rs +++ b/substrate/client/executor/src/wasm_runtime.rs @@ -302,7 +302,7 @@ where } match wasm_method { - WasmExecutionMethod::Compiled { instantiation_strategy } => + WasmExecutionMethod::Compiled { instantiation_strategy } => { sc_executor_wasmtime::create_runtime::( blob, sc_executor_wasmtime::Config { @@ -321,7 +321,8 @@ where }, }, ) - .map(|runtime| -> Box { Box::new(runtime) }), + .map(|runtime| -> Box { Box::new(runtime) }) + }, } } diff --git a/substrate/client/executor/wasmtime/src/imports.rs b/substrate/client/executor/wasmtime/src/imports.rs index fccc121fa0887..828c689c6f7ce 100644 --- a/substrate/client/executor/wasmtime/src/imports.rs +++ b/substrate/client/executor/wasmtime/src/imports.rs @@ -41,19 +41,20 @@ where "host doesn't provide any imports from non-env module: {}:{}", import_ty.module(), name, - ))) + ))); } match import_ty.ty() { ExternType::Func(func_ty) => { pending_func_imports.insert(name.to_owned(), (import_ty, func_ty)); }, - _ => + _ => { return Err(WasmError::Other(format!( "host doesn't provide any non function imports: {}:{}", import_ty.module(), name, - ))), + ))) + }, }; } @@ -80,7 +81,7 @@ where return Err(WasmError::Other(format!( "runtime requires function imports which are not present on the host: {}", names - ))) + ))); } } diff --git a/substrate/client/executor/wasmtime/src/runtime.rs b/substrate/client/executor/wasmtime/src/runtime.rs index 2e47f1469310a..3414ead4b7568 100644 --- a/substrate/client/executor/wasmtime/src/runtime.rs +++ b/substrate/client/executor/wasmtime/src/runtime.rs @@ -274,8 +274,9 @@ fn common_config(semantics: &Semantics) -> std::result::Result - maximum_pages.map(|p| p as u64 * WASM_PAGE_SIZE).unwrap_or(u64::MAX), + HeapAllocStrategy::Dynamic { maximum_pages } => { + maximum_pages.map(|p| p as u64 * WASM_PAGE_SIZE).unwrap_or(u64::MAX) + }, HeapAllocStrategy::Static { .. } => u64::MAX, }); @@ -283,8 +284,9 @@ fn common_config(semantics: &Semantics) -> std::result::Result - maximum_pages.map(|p| p as u64).unwrap_or(MAX_WASM_PAGES), + HeapAllocStrategy::Dynamic { maximum_pages } => { + maximum_pages.map(|p| p as u64).unwrap_or(MAX_WASM_PAGES) + }, HeapAllocStrategy::Static { .. } => MAX_WASM_PAGES, }; @@ -582,8 +584,9 @@ where InstantiationStrategy::Pooling | InstantiationStrategy::PoolingCopyOnWrite | InstantiationStrategy::RecreateInstance | - InstantiationStrategy::RecreateInstanceCopyOnWrite => - (module, InternalInstantiationStrategy::Builtin), + InstantiationStrategy::RecreateInstanceCopyOnWrite => { + (module, InternalInstantiationStrategy::Builtin) + }, } }, CodeSupplyMode::Precompiled(compiled_artifact_path) => { diff --git a/substrate/client/executor/wasmtime/src/util.rs b/substrate/client/executor/wasmtime/src/util.rs index 7af554c35e1b3..9927caec0fcfe 100644 --- a/substrate/client/executor/wasmtime/src/util.rs +++ b/substrate/client/executor/wasmtime/src/util.rs @@ -116,8 +116,9 @@ pub(crate) fn replace_strategy_if_broken(strategy: &mut InstantiationStrategy) { // These strategies require a working `madvise` to be sound. InstantiationStrategy::PoolingCopyOnWrite => InstantiationStrategy::Pooling, - InstantiationStrategy::RecreateInstanceCopyOnWrite => - InstantiationStrategy::RecreateInstance, + InstantiationStrategy::RecreateInstanceCopyOnWrite => { + InstantiationStrategy::RecreateInstance + }, }; use std::sync::OnceLock; diff --git a/substrate/client/informant/src/display.rs b/substrate/client/informant/src/display.rs index 8b3e2730584ff..dc003ccd493c6 100644 --- a/substrate/client/informant/src/display.rs +++ b/substrate/client/informant/src/display.rs @@ -92,7 +92,7 @@ impl InformantDisplay { }; let (level, status, target) = - match (sync_status.state, sync_status.state_sync, sync_status.warp_sync) { + match (sync_status.state, sync_status.state_sync, sync_status.warp_sync.clone()) { // Do not set status to "Block history" when we are doing a major sync. // // A node could for example have been warp synced to the tip of the chain and @@ -106,15 +106,16 @@ impl InformantDisplay { // Handle all phases besides the two phases we already handle above. (_, _, Some(warp)) if !matches!(warp.phase, WarpSyncPhase::DownloadingBlocks(_)) => - ( - "⏩", - "Warping".into(), - format!( - ", {}, {:.2} Mib", - warp.phase, - (warp.total_bytes as f32) / (1024f32 * 1024f32) - ), - ), + { + let total_mib = (warp.total_bytes as f32) / (1024f32 * 1024f32); + let progress_text = if let Some(ref status) = warp.status { + format!(", {status}, {total_mib:.2} Mib") + } else { + format!(" {total_mib:.2} Mib") + }; + + ("⏩", "Warping".into(), progress_text) + }, (_, Some(state), _) => ( "βš™οΈ ", "State sync".into(), @@ -126,26 +127,48 @@ impl InformantDisplay { ), ), (SyncState::Idle, _, _) => ("πŸ’€", "Idle".into(), "".into()), - (SyncState::Downloading { target }, _, _) => - ("βš™οΈ ", format!("Syncing{}", speed), format!(", target=#{target}")), - (SyncState::Importing { target }, _, _) => - ("βš™οΈ ", format!("Preparing{}", speed), format!(", target=#{target}")), + (SyncState::Downloading { target }, _, _) => { + ("βš™οΈ ", format!("Syncing{}", speed), format!(", target=#{target}")) + }, + (SyncState::Importing { target }, _, _) => { + ("βš™οΈ ", format!("Preparing{}", speed), format!(", target=#{target}")) + }, }; - info!( - target: "substrate", - "{} {}{} ({} peers), best: #{} ({}), finalized #{} ({}), ⬇ {} ⬆ {}", - level, - style(&status).white().bold(), - target, - style(num_connected_peers).white().bold(), - style(best_number).white().bold(), - PrintFullHashOnDebugLogging(&best_hash), - style(finalized_number).white().bold(), - PrintFullHashOnDebugLogging(&info.chain.finalized_hash), - style(TransferRateFormat(avg_bytes_per_sec_inbound)).green(), - style(TransferRateFormat(avg_bytes_per_sec_outbound)).red(), - ) + let show_block_info = match sync_status.warp_sync { + Some(warp) => matches!(warp.phase, WarpSyncPhase::DownloadingBlocks(_)), + _ => true, + }; + + if show_block_info { + // Show full log with best/finalized blocks + info!( + target: "substrate", + "{} {}{} ({} peers), best: #{} ({}), finalized #{} ({}), ⬇ {} ⬆ {}", + level, + style(&status).white().bold(), + target, + style(num_connected_peers).white().bold(), + style(best_number).white().bold(), + PrintFullHashOnDebugLogging(&best_hash), + style(finalized_number).white().bold(), + PrintFullHashOnDebugLogging(&info.chain.finalized_hash), + style(TransferRateFormat(avg_bytes_per_sec_inbound)).green(), + style(TransferRateFormat(avg_bytes_per_sec_outbound)).red(), + ) + } else { + // Simplified log for warp sync without best/finalized blocks + info!( + target: "substrate", + "{} {}{} ({} peers), ⬇ {} ⬆ {}", + level, + style(&status).white().bold(), + target, + style(num_connected_peers).white().bold(), + style(TransferRateFormat(avg_bytes_per_sec_inbound)).green(), + style(TransferRateFormat(avg_bytes_per_sec_outbound)).red(), + ) + } } } @@ -201,17 +224,17 @@ impl fmt::Display for TransferRateFormat { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { // Special case 0. if self.0 == 0 { - return write!(f, "0") + return write!(f, "0"); } // Under 0.1 kiB, display plain bytes. if self.0 < 100 { - return write!(f, "{} B/s", self.0) + return write!(f, "{} B/s", self.0); } // Under 1.0 MiB/sec, display the value in kiB/sec. if self.0 < 1024 * 1024 { - return write!(f, "{:.1}kiB/s", self.0 as f64 / 1024.0) + return write!(f, "{:.1}kiB/s", self.0 as f64 / 1024.0); } write!(f, "{:.1}MiB/s", self.0 as f64 / (1024.0 * 1024.0)) diff --git a/substrate/client/keystore/src/lib.rs b/substrate/client/keystore/src/lib.rs index 2d353f3ceba5d..431a07c150bf1 100644 --- a/substrate/client/keystore/src/lib.rs +++ b/substrate/client/keystore/src/lib.rs @@ -64,8 +64,9 @@ impl From for TraitError { fn from(error: Error) -> Self { match error { Error::KeyNotSupported(id) => TraitError::KeyNotSupported(id), - Error::InvalidSeed | Error::InvalidPhrase | Error::PublicKeyMismatch => - TraitError::ValidationError(error.to_string()), + Error::InvalidSeed | Error::InvalidPhrase | Error::PublicKeyMismatch => { + TraitError::ValidationError(error.to_string()) + }, Error::Unavailable => TraitError::Unavailable, Error::Io(e) => TraitError::Other(e.to_string()), Error::Json(e) => TraitError::Other(e.to_string()), diff --git a/substrate/client/keystore/src/local.rs b/substrate/client/keystore/src/local.rs index 0bde323ffcbb8..67d5f1cc999dd 100644 --- a/substrate/client/keystore/src/local.rs +++ b/substrate/client/keystore/src/local.rs @@ -553,13 +553,13 @@ impl KeystoreInner { /// Get the key phrase for a given public key and key type. fn key_phrase_by_type(&self, public: &[u8], key_type: KeyTypeId) -> Result> { if let Some(phrase) = self.get_additional_pair(public, key_type) { - return Ok(Some(phrase.clone())) + return Ok(Some(phrase.clone())); } let path = if let Some(path) = self.key_file_path(public, key_type) { path } else { - return Ok(None) + return Ok(None); }; if path.exists() { @@ -580,7 +580,7 @@ impl KeystoreInner { let phrase = if let Some(p) = self.key_phrase_by_type(public.as_slice(), key_type)? { p } else { - return Ok(None) + return Ok(None); }; let pair = Pair::from_string(&phrase, self.password()).map_err(|_| Error::InvalidPhrase)?; @@ -622,7 +622,7 @@ impl KeystoreInner { match array_bytes::hex2bytes(name) { Ok(ref hex) if hex.len() > 4 => { if hex[0..4] != key_type.0 { - continue + continue; } let public = hex[4..].to_vec(); public_keys.push(public); diff --git a/substrate/client/merkle-mountain-range/src/aux_schema.rs b/substrate/client/merkle-mountain-range/src/aux_schema.rs index 436252267f107..2121d2f4316af 100644 --- a/substrate/client/merkle-mountain-range/src/aux_schema.rs +++ b/substrate/client/merkle-mountain-range/src/aux_schema.rs @@ -65,8 +65,12 @@ where match version { None => (), Some(1) => return load_decode::<_, PersistedState>(backend, GADGET_STATE), - other => - return Err(ClientError::Backend(format!("Unsupported MMR aux DB version: {:?}", other))), + other => { + return Err(ClientError::Backend(format!( + "Unsupported MMR aux DB version: {:?}", + other + ))) + }, } // No persistent state found in DB. diff --git a/substrate/client/merkle-mountain-range/src/lib.rs b/substrate/client/merkle-mountain-range/src/lib.rs index e174af7068abb..6c0fc674db131 100644 --- a/substrate/client/merkle-mountain-range/src/lib.rs +++ b/substrate/client/merkle-mountain-range/src/lib.rs @@ -149,7 +149,7 @@ where // We have to canonicalize and prune the blocks in the finality // notification that lead to building the offchain-mmr as well. offchain_mmr.canonicalize_and_prune(notification); - return Some(offchain_mmr) + return Some(offchain_mmr); } } @@ -197,7 +197,7 @@ where target: LOG_TARGET, "Can't spawn a MmrGadget for a node without offchain storage." ); - return + return; }, }; diff --git a/substrate/client/merkle-mountain-range/src/offchain_mmr.rs b/substrate/client/merkle-mountain-range/src/offchain_mmr.rs index 7ec18fddfa4c7..b440163c6c77c 100644 --- a/substrate/client/merkle-mountain-range/src/offchain_mmr.rs +++ b/substrate/client/merkle-mountain-range/src/offchain_mmr.rs @@ -149,7 +149,7 @@ where None => { // If we can't convert the block number to a leaf index, the chain state is probably // corrupted. We only log the error, hoping that the chain state will be fixed. - return + return; }, }; @@ -170,7 +170,7 @@ where // Don't canonicalize branches corresponding to blocks for which the MMR pallet // wasn't yet initialized. if header.number < self.first_mmr_block { - return + return; } // We "canonicalize" the leaf associated with the provided block @@ -181,7 +181,7 @@ where // If we can't convert the block number to a leaf index, the chain state is probably // corrupted. We only log the error, hoping that the chain state will be fixed. self.best_canonicalized = header.number; - return + return; }, }; @@ -231,7 +231,7 @@ where _ => break, }; if header.number <= self.best_canonicalized { - break + break; } to_canon.push_front(header.hash); } @@ -348,7 +348,7 @@ mod tests { client.finalize_block(a5.hash(), Some(3)); tokio::time::sleep(Duration::from_millis(200)).await; - //expected finalized heads: a3, a4, a5, + // expected finalized heads: a3, a4, a5, client.assert_canonicalized(&[&a3, &a4, &a5]); }) } diff --git a/substrate/client/merkle-mountain-range/src/test_utils.rs b/substrate/client/merkle-mountain-range/src/test_utils.rs index 79879cc09a79e..8a638fd1d13b7 100644 --- a/substrate/client/merkle-mountain-range/src/test_utils.rs +++ b/substrate/client/merkle-mountain-range/src/test_utils.rs @@ -94,8 +94,9 @@ impl MmrBlock { node, self.parent_hash(), ), - OffchainKeyType::Canon => - NodesUtils::node_canon_offchain_key(MockRuntimeApi::INDEXING_PREFIX, node), + OffchainKeyType::Canon => { + NodesUtils::node_canon_offchain_key(MockRuntimeApi::INDEXING_PREFIX, node) + }, } } } diff --git a/substrate/client/mixnet/src/maybe_inf_delay.rs b/substrate/client/mixnet/src/maybe_inf_delay.rs index feb0d038560a3..76cc9d1236de4 100644 --- a/substrate/client/mixnet/src/maybe_inf_delay.rs +++ b/substrate/client/mixnet/src/maybe_inf_delay.rs @@ -78,14 +78,15 @@ impl MaybeInfDelay { }, Inner::Finite(delay) => delay.reset(duration), }, - None => + None => { self.0 = match std::mem::replace( &mut self.0, Inner::Infinite { waker: None, delay: None }, ) { Inner::Finite(delay) => Inner::Infinite { waker: None, delay: Some(delay) }, infinite => infinite, - }, + } + }, } } } diff --git a/substrate/client/mixnet/src/packet_dispatcher.rs b/substrate/client/mixnet/src/packet_dispatcher.rs index a7093527a0d9e..15d74a3db9be1 100644 --- a/substrate/client/mixnet/src/packet_dispatcher.rs +++ b/substrate/client/mixnet/src/packet_dispatcher.rs @@ -131,7 +131,7 @@ impl PacketDispatcher { let Some(core_id) = to_core_peer_id(id) else { debug!(target: LOG_TARGET, "Cannot add peer; failed to convert libp2p peer ID {id} to mixnet peer ID"); - return + return; }; if self.peer_queues.insert(core_id, Arc::new(PeerQueue::new())).is_some() { warn!(target: LOG_TARGET, "Two stream opened notifications for peer ID {id}"); @@ -142,7 +142,7 @@ impl PacketDispatcher { let Some(core_id) = to_core_peer_id(id) else { debug!(target: LOG_TARGET, "Cannot remove peer; failed to convert libp2p peer ID {id} to mixnet peer ID"); - return + return; }; if self.peer_queues.remove(&core_id).is_none() { warn!(target: LOG_TARGET, "Stream closed notification for unknown peer ID {id}"); @@ -156,7 +156,7 @@ impl PacketDispatcher { let Some(queue) = self.peer_queues.get_mut(&packet.peer_id) else { debug!(target: LOG_TARGET, "Dropped packet to mixnet peer ID {:x?}; not connected", packet.peer_id); - return None + return None; }; match queue.push(packet.packet) { @@ -174,7 +174,7 @@ impl PacketDispatcher { failed to convert mixnet peer ID {:x?} to libp2p peer ID", packet.peer_id); queue.clear(); - return None + return None; }; Some(ReadyPeer { id, queue: queue.clone() }) }, diff --git a/substrate/client/mixnet/src/request.rs b/substrate/client/mixnet/src/request.rs index 274b9b8ae5e51..c6c5bafb61bdc 100644 --- a/substrate/client/mixnet/src/request.rs +++ b/substrate/client/mixnet/src/request.rs @@ -92,8 +92,9 @@ impl mixnet::request_manager::Request for Request { fn with_data(&self, f: impl FnOnce(Scattered) -> T, _context: &Self::Context) -> T { match self { - Request::SubmitExtrinsic { extrinsic, .. } => - f([&[SUBMIT_EXTRINSIC][..], extrinsic.0.as_slice()].as_slice().into()), + Request::SubmitExtrinsic { extrinsic, .. } => { + f([&[SUBMIT_EXTRINSIC][..], extrinsic.0.as_slice()].as_slice().into()) + }, } } diff --git a/substrate/client/mixnet/src/run.rs b/substrate/client/mixnet/src/run.rs index 5ed45a0e799ed..987c7d7349bdf 100644 --- a/substrate/client/mixnet/src/run.rs +++ b/substrate/client/mixnet/src/run.rs @@ -95,7 +95,7 @@ fn handle_packet( debug!(target: LOG_TARGET, "No space in extrinsic queue; dropping request"); // We don't send a reply in this case; we want the requester to retry reply_manager.abandon(reply_context); - return + return; } // Decode the extrinsic @@ -109,7 +109,7 @@ fn handle_packet( Err(RemoteErr::Decode(format!("Bad extrinsic: {}", err))), mixnet, ); - return + return; }, }; @@ -132,7 +132,7 @@ fn handle_packet( "Received reply to already-completed request with message ID {:x?}", message.request_id ); - return + return; }; request.send_reply(&message.data); }, @@ -168,7 +168,7 @@ pub async fn run( error!(target: LOG_TARGET, "Failed to convert libp2p local peer ID {local_peer_id} to mixnet peer ID; \ mixnet not running"); - return + return; }; let offchain_transaction_pool_factory = diff --git a/substrate/client/mixnet/src/sync_with_runtime.rs b/substrate/client/mixnet/src/sync_with_runtime.rs index 0071ce13b33a3..72b15ea2fa12f 100644 --- a/substrate/client/mixnet/src/sync_with_runtime.rs +++ b/substrate/client/mixnet/src/sync_with_runtime.rs @@ -70,7 +70,7 @@ fn parse_external_addresses(external_addresses: Vec>) -> Vec "Mixnode external address {:x?} is not valid UTF-8", addr.into_bytes(), ); - return None + return None; }, }; match addr.parse() { @@ -186,7 +186,7 @@ where Ok(session_status) => session_status, Err(err) => { debug!(target: LOG_TARGET, "Error getting session status from runtime: {err}"); - return + return; }, }; mixnet.set_session_status(to_core_session_status(session_status)); diff --git a/substrate/client/network-gossip/src/bridge.rs b/substrate/client/network-gossip/src/bridge.rs index 2daf1e49ee4b4..219030c22f98d 100644 --- a/substrate/client/network-gossip/src/bridge.rs +++ b/substrate/client/network-gossip/src/bridge.rs @@ -200,7 +200,7 @@ impl Future for GossipEngine { let sync_event_stream = this.sync_event_stream.poll_next_unpin(cx); if next_notification_event.is_pending() && sync_event_stream.is_pending() { - break + break; } match next_notification_event { @@ -220,7 +220,7 @@ impl Future for GossipEngine { }, NotificationEvent::NotificationStreamOpened { peer, handshake, .. - } => + } => { if let Some(role) = this.network.peer_role(peer, handshake) { this.state_machine.new_peer( &mut this.notification_service, @@ -229,7 +229,8 @@ impl Future for GossipEngine { ); } else { log::debug!(target: "gossip", "role for {peer} couldn't be determined"); - }, + } + }, NotificationEvent::NotificationStreamClosed { peer } => { this.state_machine .peer_disconnected(&mut this.notification_service, peer); @@ -247,22 +248,24 @@ impl Future for GossipEngine { // The network event stream closed. Do the same for [`GossipValidator`]. Poll::Ready(None) => { self.is_terminated = true; - return Poll::Ready(()) + return Poll::Ready(()); }, Poll::Pending => {}, } match sync_event_stream { Poll::Ready(Some(event)) => match event { - SyncEvent::PeerConnected(remote) => - this.network.add_set_reserved(remote, this.protocol.clone()), - SyncEvent::PeerDisconnected(remote) => - this.network.remove_set_reserved(remote, this.protocol.clone()), + SyncEvent::PeerConnected(remote) => { + this.network.add_set_reserved(remote, this.protocol.clone()) + }, + SyncEvent::PeerDisconnected(remote) => { + this.network.remove_set_reserved(remote, this.protocol.clone()) + }, }, // The sync event stream closed. Do the same for [`GossipValidator`]. Poll::Ready(None) => { self.is_terminated = true; - return Poll::Ready(()) + return Poll::Ready(()); }, Poll::Pending => {}, } @@ -272,7 +275,7 @@ impl Future for GossipEngine { Some(n) => n, None => { this.forwarding_state = ForwardingState::Idle; - continue + continue; }, }; @@ -290,7 +293,7 @@ impl Future for GossipEngine { Poll::Pending => { // Push back onto queue for later. to_forward.push_front((topic, notification)); - break 'outer + break 'outer; }, } } @@ -300,7 +303,7 @@ impl Future for GossipEngine { if sinks.is_empty() { this.message_sinks.remove(&topic); - continue + continue; } trace!( @@ -857,7 +860,7 @@ mod tests { } if !progress { - break + break; } } Poll::Ready(()) diff --git a/substrate/client/network-gossip/src/state_machine.rs b/substrate/client/network-gossip/src/state_machine.rs index 7649c8cc63700..c074234d71aca 100644 --- a/substrate/client/network-gossip/src/state_machine.rs +++ b/substrate/client/network-gossip/src/state_machine.rs @@ -116,12 +116,13 @@ where for (id, ref mut peer) in peers.iter_mut() { for (message_hash, topic, message) in messages.clone() { let intent = match intent { - MessageIntent::Broadcast { .. } => + MessageIntent::Broadcast { .. } => { if peer.known_messages.contains(message_hash) { - continue + continue; } else { MessageIntent::Broadcast - }, + } + }, MessageIntent::PeriodicRebroadcast => { if peer.known_messages.contains(message_hash) { MessageIntent::PeriodicRebroadcast @@ -135,7 +136,7 @@ where }; if !message_allowed(id, intent, topic, message) { - continue + continue; } peer.known_messages.insert(*message_hash); @@ -377,7 +378,7 @@ impl ConsensusGossip { { network.report_peer(who, rep::DUPLICATE_GOSSIP); } - continue + continue; } // validate the message @@ -397,7 +398,7 @@ impl ConsensusGossip { protocol = %self.protocol, "Discard message from peer", ); - continue + continue; }, }; @@ -410,7 +411,7 @@ impl ConsensusGossip { protocol = %self.protocol, "Got message from unregistered peer", ); - continue + continue; }, }; @@ -443,11 +444,11 @@ impl ConsensusGossip { if force { MessageIntent::ForcedBroadcast } else { MessageIntent::Broadcast }; if !force && peer.known_messages.contains(&entry.message_hash) { - continue + continue; } if !message_allowed(who, intent, &entry.topic, &entry.message) { - continue + continue; } peer.known_messages.insert(entry.message_hash); diff --git a/substrate/client/network/light/src/light_client_requests/handler.rs b/substrate/client/network/light/src/light_client_requests/handler.rs index 49bdf7007e261..a1ceac63952b7 100644 --- a/substrate/client/network/light/src/light_client_requests/handler.rs +++ b/substrate/client/network/light/src/light_client_requests/handler.rs @@ -149,14 +149,18 @@ where let request = schema::v1::light::Request::decode(&payload[..])?; let response = match &request.request { - Some(schema::v1::light::request::Request::RemoteCallRequest(r)) => - self.on_remote_call_request(&peer, r)?, - Some(schema::v1::light::request::Request::RemoteReadRequest(r)) => - self.on_remote_read_request(&peer, r)?, - Some(schema::v1::light::request::Request::RemoteReadChildRequest(r)) => - self.on_remote_read_child_request(&peer, r)?, - None => - return Err(HandleRequestError::BadRequest("Remote request without request data.")), + Some(schema::v1::light::request::Request::RemoteCallRequest(r)) => { + self.on_remote_call_request(&peer, r)? + }, + Some(schema::v1::light::request::Request::RemoteReadRequest(r)) => { + self.on_remote_read_request(&peer, r)? + }, + Some(schema::v1::light::request::Request::RemoteReadChildRequest(r)) => { + self.on_remote_read_child_request(&peer, r)? + }, + None => { + return Err(HandleRequestError::BadRequest("Remote request without request data.")) + }, }; let mut data = Vec::new(); @@ -200,7 +204,7 @@ where ) -> Result { if request.keys.is_empty() { debug!("Invalid remote read request sent by {}.", peer); - return Err(HandleRequestError::BadRequest("Remote read request without keys.")) + return Err(HandleRequestError::BadRequest("Remote read request without keys.")); } trace!( @@ -239,7 +243,7 @@ where ) -> Result { if request.keys.is_empty() { debug!("Invalid remote child read request sent by {}.", peer); - return Err(HandleRequestError::BadRequest("Remove read child request without keys.")) + return Err(HandleRequestError::BadRequest("Remove read child request without keys.")); } trace!( diff --git a/substrate/client/network/src/behaviour.rs b/substrate/client/network/src/behaviour.rs index 4a1662a6b7691..5faa5d252752e 100644 --- a/substrate/client/network/src/behaviour.rs +++ b/substrate/client/network/src/behaviour.rs @@ -360,10 +360,12 @@ impl From for BehaviourOut { set_id, notifications_sink, } => BehaviourOut::NotificationStreamReplaced { remote, set_id, notifications_sink }, - CustomMessageOutcome::NotificationStreamClosed { remote, set_id } => - BehaviourOut::NotificationStreamClosed { remote, set_id }, - CustomMessageOutcome::NotificationsReceived { remote, set_id, notification } => - BehaviourOut::NotificationsReceived { remote, set_id, notification }, + CustomMessageOutcome::NotificationStreamClosed { remote, set_id } => { + BehaviourOut::NotificationStreamClosed { remote, set_id } + }, + CustomMessageOutcome::NotificationsReceived { remote, set_id, notification } => { + BehaviourOut::NotificationsReceived { remote, set_id, notification } + }, } } } @@ -371,12 +373,15 @@ impl From for BehaviourOut { impl From for BehaviourOut { fn from(event: request_responses::Event) -> Self { match event { - request_responses::Event::InboundRequest { protocol, result, .. } => - BehaviourOut::InboundRequest { protocol, result }, - request_responses::Event::RequestFinished { protocol, duration, result, .. } => - BehaviourOut::RequestFinished { protocol, duration, result }, - request_responses::Event::ReputationChanges { peer, changes } => - BehaviourOut::ReputationChanges { peer, changes }, + request_responses::Event::InboundRequest { protocol, result, .. } => { + BehaviourOut::InboundRequest { protocol, result } + }, + request_responses::Event::RequestFinished { protocol, duration, result, .. } => { + BehaviourOut::RequestFinished { protocol, duration, result } + }, + request_responses::Event::ReputationChanges { peer, changes } => { + BehaviourOut::ReputationChanges { peer, changes } + }, } } } @@ -409,25 +414,33 @@ impl From for BehaviourOut { ), Some(duration), ), - DiscoveryOut::ClosestPeersNotFound(target, duration) => - BehaviourOut::Dht(DhtEvent::ClosestPeersNotFound(target.into()), Some(duration)), - DiscoveryOut::ValueFound(results, duration) => - BehaviourOut::Dht(DhtEvent::ValueFound(results.into()), Some(duration)), - DiscoveryOut::ValueNotFound(key, duration) => - BehaviourOut::Dht(DhtEvent::ValueNotFound(key.into()), Some(duration)), - DiscoveryOut::ValuePut(key, duration) => - BehaviourOut::Dht(DhtEvent::ValuePut(key.into()), Some(duration)), - DiscoveryOut::PutRecordRequest(record_key, record_value, publisher, expires) => + DiscoveryOut::ClosestPeersNotFound(target, duration) => { + BehaviourOut::Dht(DhtEvent::ClosestPeersNotFound(target.into()), Some(duration)) + }, + DiscoveryOut::ValueFound(results, duration) => { + BehaviourOut::Dht(DhtEvent::ValueFound(results.into()), Some(duration)) + }, + DiscoveryOut::ValueNotFound(key, duration) => { + BehaviourOut::Dht(DhtEvent::ValueNotFound(key.into()), Some(duration)) + }, + DiscoveryOut::ValuePut(key, duration) => { + BehaviourOut::Dht(DhtEvent::ValuePut(key.into()), Some(duration)) + }, + DiscoveryOut::PutRecordRequest(record_key, record_value, publisher, expires) => { BehaviourOut::Dht( DhtEvent::PutRecordRequest(record_key.into(), record_value, publisher, expires), None, - ), - DiscoveryOut::ValuePutFailed(key, duration) => - BehaviourOut::Dht(DhtEvent::ValuePutFailed(key.into()), Some(duration)), - DiscoveryOut::StartedProviding(key, duration) => - BehaviourOut::Dht(DhtEvent::StartedProviding(key.into()), Some(duration)), - DiscoveryOut::StartProvidingFailed(key, duration) => - BehaviourOut::Dht(DhtEvent::StartProvidingFailed(key.into()), Some(duration)), + ) + }, + DiscoveryOut::ValuePutFailed(key, duration) => { + BehaviourOut::Dht(DhtEvent::ValuePutFailed(key.into()), Some(duration)) + }, + DiscoveryOut::StartedProviding(key, duration) => { + BehaviourOut::Dht(DhtEvent::StartedProviding(key.into()), Some(duration)) + }, + DiscoveryOut::StartProvidingFailed(key, duration) => { + BehaviourOut::Dht(DhtEvent::StartProvidingFailed(key.into()), Some(duration)) + }, DiscoveryOut::ProvidersFound(key, providers, duration) => BehaviourOut::Dht( DhtEvent::ProvidersFound( key.into(), @@ -435,10 +448,12 @@ impl From for BehaviourOut { ), Some(duration), ), - DiscoveryOut::NoMoreProviders(key, duration) => - BehaviourOut::Dht(DhtEvent::NoMoreProviders(key.into()), Some(duration)), - DiscoveryOut::ProvidersNotFound(key, duration) => - BehaviourOut::Dht(DhtEvent::ProvidersNotFound(key.into()), Some(duration)), + DiscoveryOut::NoMoreProviders(key, duration) => { + BehaviourOut::Dht(DhtEvent::NoMoreProviders(key.into()), Some(duration)) + }, + DiscoveryOut::ProvidersNotFound(key, duration) => { + BehaviourOut::Dht(DhtEvent::ProvidersNotFound(key.into()), Some(duration)) + }, DiscoveryOut::RandomKademliaStarted => BehaviourOut::RandomKademliaStarted, } } diff --git a/substrate/client/network/src/bitswap/mod.rs b/substrate/client/network/src/bitswap/mod.rs index 80f99432283b8..0f09067d70345 100644 --- a/substrate/client/network/src/bitswap/mod.rs +++ b/substrate/client/network/src/bitswap/mod.rs @@ -184,13 +184,13 @@ impl BitswapRequestHandler { Some(wantlist) => wantlist, None => { debug!(target: LOG_TARGET, "Unexpected bitswap message from {}", peer); - return Err(BitswapError::InvalidWantList) + return Err(BitswapError::InvalidWantList); }, }; if wantlist.entries.len() > MAX_WANTED_BLOCKS { trace!(target: LOG_TARGET, "Ignored request: too many entries"); - return Err(BitswapError::TooManyEntries) + return Err(BitswapError::TooManyEntries); } for entry in wantlist.entries { @@ -198,13 +198,13 @@ impl BitswapRequestHandler { Ok(cid) => cid, Err(e) => { trace!(target: LOG_TARGET, "Bad CID {:?}: {:?}", entry.block, e); - continue + continue; }, }; if !is_cid_supported(&cid) { trace!(target: LOG_TARGET, "Ignoring unsupported CID {}: {}", peer, cid); - continue + continue; } let mut hash = B::Hash::default(); diff --git a/substrate/client/network/src/discovery.rs b/substrate/client/network/src/discovery.rs index a5d693f699443..fe3f82e348efa 100644 --- a/substrate/client/network/src/discovery.rs +++ b/substrate/client/network/src/discovery.rs @@ -379,7 +379,7 @@ impl DiscoveryBehaviour { pub fn add_known_address(&mut self, peer_id: PeerId, addr: Multiaddr) { let addrs_list = self.ephemeral_addresses.entry(peer_id).or_default(); if addrs_list.contains(&addr) { - return + return; } if let Some(k) = self.kademlia.as_mut() { @@ -407,7 +407,7 @@ impl DiscoveryBehaviour { target: LOG_TARGET, "Ignoring self-reported non-global address {} from {}.", addr, peer_id ); - return + return; } // The supported protocols must include the chain-based Kademlia protocol. @@ -426,7 +426,7 @@ impl DiscoveryBehaviour { "Ignoring self-reported address {} from {} as remote node is not part of the \ Kademlia DHT supported by the local node.", addr, peer_id, ); - return + return; } trace!( @@ -583,8 +583,9 @@ impl DiscoveryBehaviour { let ip = match addr.iter().next() { Some(Protocol::Ip4(ip)) => IpNetwork::from(ip), Some(Protocol::Ip6(ip)) => IpNetwork::from(ip), - Some(Protocol::Dns(_)) | Some(Protocol::Dns4(_)) | Some(Protocol::Dns6(_)) => - return true, + Some(Protocol::Dns(_)) | Some(Protocol::Dns4(_)) | Some(Protocol::Dns6(_)) => { + return true + }, _ => return false, }; ip.is_global() @@ -836,7 +837,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { "πŸ” Discovered external address for a peer that is not us: {addr}", ); // Ensure this address is not propagated to kademlia. - return + return; } } else { address.push(Protocol::P2p(self.local_peer_id)); @@ -879,7 +880,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { fn poll(&mut self, cx: &mut Context) -> Poll>> { // Immediately process the content of `discovered`. if let Some(ev) = self.pending_events.pop_front() { - return Poll::Ready(ToSwarm::GenerateEvent(ev)) + return Poll::Ready(ToSwarm::GenerateEvent(ev)); } // Poll the stream that fires when we need to start a random Kademlia query. @@ -913,7 +914,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { if actually_started { let ev = DiscoveryOut::RandomKademliaStarted; - return Poll::Ready(ToSwarm::GenerateEvent(ev)) + return Poll::Ready(ToSwarm::GenerateEvent(ev)); } } } @@ -924,11 +925,11 @@ impl NetworkBehaviour for DiscoveryBehaviour { ToSwarm::GenerateEvent(ev) => match ev { KademliaEvent::RoutingUpdated { peer, .. } => { let ev = DiscoveryOut::Discovered(peer); - return Poll::Ready(ToSwarm::GenerateEvent(ev)) + return Poll::Ready(ToSwarm::GenerateEvent(ev)); }, KademliaEvent::UnroutablePeer { peer, .. } => { let ev = DiscoveryOut::UnroutablePeer(peer); - return Poll::Ready(ToSwarm::GenerateEvent(ev)) + return Poll::Ready(ToSwarm::GenerateEvent(ev)); }, KademliaEvent::RoutablePeer { .. } => { // Generate nothing, because the address was not added to the routing table, @@ -938,7 +939,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { // We are not interested in this event at the moment. }, KademliaEvent::InboundRequest { request } => match request { - libp2p::kad::InboundRequest::PutRecord { record: Some(record), .. } => + libp2p::kad::InboundRequest::PutRecord { record: Some(record), .. } => { return Poll::Ready(ToSwarm::GenerateEvent( DiscoveryOut::PutRecordRequest( record.key, @@ -946,7 +947,8 @@ impl NetworkBehaviour for DiscoveryBehaviour { record.publisher.map(Into::into), record.expires, ), - )), + )) + }, _ => {}, }, KademliaEvent::OutboundQueryProgressed { @@ -968,7 +970,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { a peer ID: {:?}", HexDisplay::from(&key), ); - continue + continue; }, }; @@ -999,7 +1001,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { ) }; - return Poll::Ready(ToSwarm::GenerateEvent(ev)) + return Poll::Ready(ToSwarm::GenerateEvent(ev)); }, KademliaEvent::OutboundQueryProgressed { result: QueryResult::GetRecord(res), @@ -1051,7 +1053,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { // We always need to remove the record to not leak any data! if let Some(record) = self.records_to_publish.remove(&id) { if cache_candidates.is_empty() { - continue + continue; } // Put the record to the `cache_candidates` that are nearest to @@ -1065,7 +1067,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { } } - continue + continue; }, Err(e @ libp2p::kad::GetRecordError::NotFound { .. }) => { trace!( @@ -1090,7 +1092,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { ) }, }; - return Poll::Ready(ToSwarm::GenerateEvent(ev)) + return Poll::Ready(ToSwarm::GenerateEvent(ev)); }, KademliaEvent::OutboundQueryProgressed { result: QueryResult::GetProviders(res), @@ -1136,7 +1138,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { target: LOG_TARGET, "No key found for `GET_PROVIDERS` query {id:?}. This is a bug.", ); - continue + continue; } }, Err(GetProvidersError::Timeout { key, closest_peers: _ }) => { @@ -1153,7 +1155,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { ) }, }; - return Poll::Ready(ToSwarm::GenerateEvent(ev)) + return Poll::Ready(ToSwarm::GenerateEvent(ev)); }, KademliaEvent::OutboundQueryProgressed { result: QueryResult::PutRecord(res), @@ -1182,7 +1184,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { ) }, }; - return Poll::Ready(ToSwarm::GenerateEvent(ev)) + return Poll::Ready(ToSwarm::GenerateEvent(ev)); }, KademliaEvent::OutboundQueryProgressed { result: QueryResult::RepublishRecord(res), @@ -1229,7 +1231,7 @@ impl NetworkBehaviour for DiscoveryBehaviour { ) }, }; - return Poll::Ready(ToSwarm::GenerateEvent(ev)) + return Poll::Ready(ToSwarm::GenerateEvent(ev)); }, KademliaEvent::OutboundQueryProgressed { result: QueryResult::Bootstrap(res), @@ -1267,14 +1269,14 @@ impl NetworkBehaviour for DiscoveryBehaviour { ToSwarm::GenerateEvent(event) => match event { mdns::Event::Discovered(list) => { if self.num_connections >= self.discovery_only_if_under_num { - continue + continue; } self.pending_events.extend( list.into_iter().map(|(peer_id, _)| DiscoveryOut::Discovered(peer_id)), ); if let Some(ev) = self.pending_events.pop_front() { - return Poll::Ready(ToSwarm::GenerateEvent(ev)) + return Poll::Ready(ToSwarm::GenerateEvent(ev)); } }, mdns::Event::Expired(_) => {}, @@ -1464,12 +1466,12 @@ mod tests { // ignore non Behaviour events _ => {}, } - continue 'polling + continue 'polling; }, _ => {}, } } - break + break; } if to_discover.iter().all(|l| l.is_empty()) { diff --git a/substrate/client/network/src/litep2p/discovery.rs b/substrate/client/network/src/litep2p/discovery.rs index b727688f5b514..005bc653dd683 100644 --- a/substrate/client/network/src/litep2p/discovery.rs +++ b/substrate/client/network/src/litep2p/discovery.rs @@ -374,7 +374,7 @@ impl Discovery { "Ignoring self-reported address of peer {peer} as remote node is not part of the \ Kademlia DHT supported by the local node.", ); - return + return; } let addresses = addresses @@ -386,7 +386,7 @@ impl Discovery { "ignoring self-reported non-global address {address} from {peer}." ); - return None + return None; } Some(address) @@ -507,8 +507,9 @@ impl Discovery { let ip = match address.iter().next() { Some(Protocol::Ip4(ip)) => IpNetwork::from(ip), Some(Protocol::Ip6(ip)) => IpNetwork::from(ip), - Some(Protocol::Dns(_)) | Some(Protocol::Dns4(_)) | Some(Protocol::Dns6(_)) => - return true, + Some(Protocol::Dns(_)) | Some(Protocol::Dns4(_)) | Some(Protocol::Dns6(_)) => { + return true + }, _ => return false, }; @@ -542,7 +543,7 @@ impl Discovery { .chain(self.public_addresses.iter()) .any(|known_address| Discovery::is_known_address(&known_address, &address)) { - return (true, None) + return (true, None); } match self.address_confirmations.get(address) { @@ -550,7 +551,7 @@ impl Discovery { confirmations.insert(peer); if confirmations.len() >= MIN_ADDRESS_CONFIRMATIONS { - return (true, None) + return (true, None); } }, None => { @@ -559,7 +560,7 @@ impl Discovery { .then(|| { self.address_confirmations.pop_oldest().map(|(address, peers)| { if peers.len() >= MIN_ADDRESS_CONFIRMATIONS { - return Some(address) + return Some(address); } else { None } @@ -570,7 +571,7 @@ impl Discovery { self.address_confirmations.insert(address.clone(), iter::once(peer).collect()); - return (false, oldest) + return (false, oldest); }, } @@ -585,7 +586,7 @@ impl Stream for Discovery { let this = Pin::into_inner(self); if let Some(event) = this.pending_events.pop_front() { - return Poll::Ready(Some(event)) + return Poll::Ready(Some(event)); } if let Some(mut delay) = this.next_kad_query.take() { @@ -601,7 +602,7 @@ impl Stream for Discovery { match this.kademlia_handle.try_find_node(peer) { Ok(query_id) => { this.random_walk_query_id = Some(query_id); - return Poll::Ready(Some(DiscoveryEvent::RandomKademliaStarted)) + return Poll::Ready(Some(DiscoveryEvent::RandomKademliaStarted)); }, Err(()) => { this.duration_to_next_find_query = cmp::min( @@ -631,7 +632,7 @@ impl Stream for Discovery { return Poll::Ready(Some(DiscoveryEvent::RoutingTableUpdate { peers: peers.into_iter().map(|(peer, _)| peer).collect(), - })) + })); }, Poll::Ready(Some(KademliaEvent::FindNodeSuccess { query_id, target, peers })) => { log::trace!(target: LOG_TARGET, "find node query yielded {} peers", peers.len()); @@ -640,14 +641,14 @@ impl Stream for Discovery { query_id, target, peers, - })) + })); }, Poll::Ready(Some(KademliaEvent::RoutingTableUpdate { peers })) => { log::trace!(target: LOG_TARGET, "routing table update, discovered {} peers", peers.len()); return Poll::Ready(Some(DiscoveryEvent::RoutingTableUpdate { peers: peers.into_iter().collect(), - })) + })); }, Poll::Ready(Some(KademliaEvent::GetRecordSuccess { query_id })) => { log::trace!( @@ -668,8 +669,9 @@ impl Stream for Discovery { record, })); }, - Poll::Ready(Some(KademliaEvent::PutRecordSuccess { query_id, key: _ })) => - return Poll::Ready(Some(DiscoveryEvent::PutRecordSuccess { query_id })), + Poll::Ready(Some(KademliaEvent::PutRecordSuccess { query_id, key: _ })) => { + return Poll::Ready(Some(DiscoveryEvent::PutRecordSuccess { query_id })) + }, Poll::Ready(Some(KademliaEvent::QueryFailed { query_id })) => { match this.random_walk_query_id == Some(query_id) { true => { @@ -689,7 +691,7 @@ impl Stream for Discovery { record.publisher, ); - return Poll::Ready(Some(DiscoveryEvent::IncomingRecord { record })) + return Poll::Ready(Some(DiscoveryEvent::IncomingRecord { record })); }, Poll::Ready(Some(KademliaEvent::GetProvidersSuccess { provided_key, @@ -704,7 +706,7 @@ impl Stream for Discovery { return Poll::Ready(Some(DiscoveryEvent::GetProvidersSuccess { query_id, providers, - })) + })); }, Poll::Ready(Some(KademliaEvent::AddProviderSuccess { query_id, provided_key })) => { log::trace!( @@ -715,7 +717,7 @@ impl Stream for Discovery { return Poll::Ready(Some(DiscoveryEvent::AddProviderSuccess { query_id, provided_key, - })) + })); }, // We do not validate incoming providers. Poll::Ready(Some(KademliaEvent::IncomingProvider { .. })) => {}, @@ -781,16 +783,18 @@ impl Stream for Discovery { match Pin::new(&mut this.ping_event_stream).poll_next(cx) { Poll::Pending => {}, Poll::Ready(None) => return Poll::Ready(None), - Poll::Ready(Some(PingEvent::Ping { peer, ping })) => - return Poll::Ready(Some(DiscoveryEvent::Ping { peer, rtt: ping })), + Poll::Ready(Some(PingEvent::Ping { peer, ping })) => { + return Poll::Ready(Some(DiscoveryEvent::Ping { peer, rtt: ping })) + }, } if let Some(ref mut mdns_event_stream) = &mut this.mdns_event_stream { match Pin::new(mdns_event_stream).poll_next(cx) { Poll::Pending => {}, Poll::Ready(None) => return Poll::Ready(None), - Poll::Ready(Some(MdnsEvent::Discovered(addresses))) => - return Poll::Ready(Some(DiscoveryEvent::Discovered { addresses })), + Poll::Ready(Some(MdnsEvent::Discovered(addresses))) => { + return Poll::Ready(Some(DiscoveryEvent::Discovered { addresses })) + }, } } @@ -916,7 +920,7 @@ mod tests { // We need to keep the network alive until all peers are discovered. if num_finished.load(std::sync::atomic::Ordering::Relaxed) == total_peers { log::info!(target: LOG_TARGET, "{peer_id:?} all peers discovered"); - break + break; } tokio::select! { diff --git a/substrate/client/network/src/litep2p/mod.rs b/substrate/client/network/src/litep2p/mod.rs index 2c8a988294afb..8d07d9789a6bb 100644 --- a/substrate/client/network/src/litep2p/mod.rs +++ b/substrate/client/network/src/litep2p/mod.rs @@ -217,8 +217,9 @@ impl Litep2pNetworkBackend { .map_or(None, |peer| Some((peer, Some(address)))), _ => None, }, - Some(Protocol::P2p(multihash)) => - PeerId::from_multihash(multihash.into()).map_or(None, |peer| Some((peer, None))), + Some(Protocol::P2p(multihash)) => { + PeerId::from_multihash(multihash.into()).map_or(None, |peer| Some((peer, None))) + }, _ => None, }) .fold(HashMap::new(), |mut acc, (peer, maybe_address)| { @@ -236,7 +237,7 @@ impl Litep2pNetworkBackend { .filter_map(|(peer, addresses)| { // `peers` contained multiaddress in the form `/p2p/` if addresses.is_empty() { - return Some(peer) + return Some(peer); } if self.litep2p.add_known_address(peer.into(), addresses.clone().into_iter()) == 0 { @@ -244,7 +245,7 @@ impl Litep2pNetworkBackend { target: LOG_TARGET, "couldn't add any addresses for {peer:?} and it won't be added as reserved peer", ); - return None + return None; } self.peerstore_handle.add_known_peer(peer); @@ -294,14 +295,15 @@ impl Litep2pNetworkBackend { "unknown protocol {protocol:?}, ignoring {address:?}", ); - return None + return None; }, } match iter.next() { Some(Protocol::Tcp(_)) => match iter.next() { - Some(Protocol::Ws(_) | Protocol::Wss(_)) => - Some((None, Some(address.clone()))), + Some(Protocol::Ws(_) | Protocol::Wss(_)) => { + Some((None, Some(address.clone()))) + }, Some(Protocol::P2p(_)) | None => Some((Some(address.clone()), None)), protocol => { log::error!( @@ -484,8 +486,9 @@ impl NetworkBackend for Litep2pNetworkBac use sc_network_types::multiaddr::Protocol; let address = match address.iter().last() { - Some(Protocol::Ws(_) | Protocol::Wss(_) | Protocol::Tcp(_)) => - address.with(Protocol::P2p(peer.into())), + Some(Protocol::Ws(_) | Protocol::Wss(_) | Protocol::Tcp(_)) => { + address.with(Protocol::P2p(peer.into())) + }, Some(Protocol::P2p(_)) => address, _ => return acc, }; diff --git a/substrate/client/network/src/litep2p/peerstore.rs b/substrate/client/network/src/litep2p/peerstore.rs index dd8d92bcee642..73a9af78ec097 100644 --- a/substrate/client/network/src/litep2p/peerstore.rs +++ b/substrate/client/network/src/litep2p/peerstore.rs @@ -105,7 +105,7 @@ impl PeerInfo { self.reputation = self.reputation.saturating_sub(diff); if self.reputation == 0 { - break + break; } } } @@ -149,7 +149,7 @@ impl PeerstoreHandle { fn progress_time(&self, seconds_passed: u64) { if seconds_passed == 0 { - return + return; } let mut lock = self.0.lock(); diff --git a/substrate/client/network/src/litep2p/service.rs b/substrate/client/network/src/litep2p/service.rs index 307d071cd00cb..ee0dd5ee5c631 100644 --- a/substrate/client/network/src/litep2p/service.rs +++ b/substrate/client/network/src/litep2p/service.rs @@ -496,7 +496,7 @@ impl NetworkPeers for Litep2pNetworkService { /// Returns an error if the `NetworkWorker` is no longer running. async fn reserved_peers(&self) -> Result, ()> { let Some(handle) = self.peerset_handles.get(&self.block_announce_protocol) else { - return Err(()) + return Err(()); }; let (tx, rx) = oneshot::channel(); diff --git a/substrate/client/network/src/litep2p/shim/bitswap.rs b/substrate/client/network/src/litep2p/shim/bitswap.rs index 66a54e0b005f2..20ea7014bef16 100644 --- a/substrate/client/network/src/litep2p/shim/bitswap.rs +++ b/substrate/client/network/src/litep2p/shim/bitswap.rs @@ -78,8 +78,9 @@ impl BitswapServer { log::trace!(target: LOG_TARGET, "found cid {cid:?}, hash {hash:?}"); match want_type { - WantType::Block => - ResponseType::Block { cid, block: transaction }, + WantType::Block => { + ResponseType::Block { cid, block: transaction } + }, _ => ResponseType::Presence { cid, presence: BlockPresenceType::Have, @@ -100,6 +101,14 @@ impl BitswapServer { self.handle.send_response(peer, response).await; }, + BitswapEvent::Response { peer, responses } => { + // We're a server, not a client - ignore incoming responses + log::trace!( + target: LOG_TARGET, + "ignoring bitswap response from {peer:?} with {} entries", + responses.len() + ); + }, } } } diff --git a/substrate/client/network/src/litep2p/shim/notification/peerset.rs b/substrate/client/network/src/litep2p/shim/notification/peerset.rs index f9b424cc04f6f..8fdf65fb2ad6b 100644 --- a/substrate/client/network/src/litep2p/shim/notification/peerset.rs +++ b/substrate/client/network/src/litep2p/shim/notification/peerset.rs @@ -123,8 +123,9 @@ pub enum Direction { impl Direction { fn set_reserved(&mut self, new_reserved: Reserved) { match self { - Direction::Inbound(ref mut reserved) | Direction::Outbound(ref mut reserved) => - *reserved = new_reserved, + Direction::Inbound(ref mut reserved) | Direction::Outbound(ref mut reserved) => { + *reserved = new_reserved + }, } } } @@ -473,7 +474,7 @@ impl Peerset { let Some(state) = self.peers.get_mut(&peer) else { log::warn!(target: LOG_TARGET, "{}: substream opened for unknown peer {peer:?}", self.protocol); debug_assert!(false); - return OpenResult::Reject + return OpenResult::Reject; }; match state { @@ -483,7 +484,7 @@ impl Peerset { *state = PeerState::Connected { direction: *substream_direction }; self.connected_peers.fetch_add(1usize, Ordering::Relaxed); - return OpenResult::Accept { direction: real_direction } + return OpenResult::Accept { direction: real_direction }; }, // litep2p doesn't support the ability to cancel an opening substream so if the // substream was closed while it was opening, it was marked as canceled and if the @@ -498,7 +499,7 @@ impl Peerset { self.connected_peers.fetch_add(1usize, Ordering::Relaxed); *state = PeerState::Closing { direction: *substream_direction }; - return OpenResult::Reject + return OpenResult::Reject; }, // The peer was already rejected by the `report_inbound_substream` call and this // should never happen. However, this code path is exercised by our fuzzer. @@ -508,7 +509,7 @@ impl Peerset { "{}: substream opened for a peer that was previously rejected {peer:?}", self.protocol, ); - return OpenResult::Reject + return OpenResult::Reject; }, state => { log::error!( @@ -535,7 +536,7 @@ impl Peerset { let Some(state) = self.peers.get_mut(&peer) else { log::warn!(target: LOG_TARGET, "{}: substream closed for unknown peer {peer:?}", self.protocol); debug_assert!(false); - return + return; }; match &state { @@ -633,7 +634,7 @@ impl Peerset { self.protocol, ); - return ValidationResult::Reject + return ValidationResult::Reject; }, // disconnected peers proceed directly to inbound slot allocation PeerState::Disconnected => {}, @@ -647,14 +648,14 @@ impl Peerset { self.protocol, ); - return ValidationResult::Reject + return ValidationResult::Reject; } // The peer remains in the `PeerState::Backoff` state until the current timer // expires. Then, the peer will be in the disconnected state, subject to further // rejection if the peer is not reserved by then. if should_reject { - return ValidationResult::Reject + return ValidationResult::Reject; } }, @@ -680,7 +681,7 @@ impl Peerset { ); *state = PeerState::Canceled { direction: Direction::Outbound(*reserved) }; - return ValidationResult::Reject + return ValidationResult::Reject; } log::trace!( @@ -699,7 +700,7 @@ impl Peerset { ); *state = PeerState::Canceled { direction: *direction }; - return ValidationResult::Reject + return ValidationResult::Reject; }, state => { log::warn!( @@ -708,7 +709,7 @@ impl Peerset { self.protocol ); debug_assert!(false); - return ValidationResult::Reject + return ValidationResult::Reject; }, } @@ -720,7 +721,7 @@ impl Peerset { ); *state = PeerState::Opening { direction: Direction::Inbound(is_reserved_peer.into()) }; - return ValidationResult::Accept + return ValidationResult::Accept; } if self.num_in < self.max_in { @@ -733,7 +734,7 @@ impl Peerset { self.num_in += 1; *state = PeerState::Opening { direction: Direction::Inbound(is_reserved_peer.into()) }; - return ValidationResult::Accept + return ValidationResult::Accept; } log::trace!( @@ -743,7 +744,7 @@ impl Peerset { ); *state = PeerState::Disconnected; - return ValidationResult::Reject + return ValidationResult::Reject; } /// Report to [`Peerset`] that there was an error opening a substream. @@ -1011,7 +1012,7 @@ impl Stream for Peerset { log::trace!(target: LOG_TARGET, "{}: received command {action:?}", self.protocol); match action { - PeersetCommand::DisconnectPeer { peer } if !self.reserved_peers.contains(&peer) => + PeersetCommand::DisconnectPeer { peer } if !self.reserved_peers.contains(&peer) => { match self.peers.remove(&peer) { Some(PeerState::Connected { direction }) => { log::trace!( @@ -1089,7 +1090,8 @@ impl Stream for Peerset { None => { log::debug!(target: LOG_TARGET, "{}: {peer:?} doesn't exist", self.protocol); }, - }, + } + }, PeersetCommand::DisconnectPeer { peer } => { log::debug!( target: LOG_TARGET, @@ -1228,7 +1230,7 @@ impl Stream for Peerset { "{}: {peer:?} is already a reserved peer", self.protocol, ); - return None + return None; } std::matches!( diff --git a/substrate/client/network/src/litep2p/shim/notification/tests/fuzz.rs b/substrate/client/network/src/litep2p/shim/notification/tests/fuzz.rs index ffc564c224474..c183dae6fa2ba 100644 --- a/substrate/client/network/src/litep2p/shim/notification/tests/fuzz.rs +++ b/substrate/client/network/src/litep2p/shim/notification/tests/fuzz.rs @@ -162,7 +162,7 @@ async fn test_once() { // substream to `Peerset` and move peer state to `open`. // // if the substream was canceled while it was opening, move peer to `closing` - 2 => + 2 => { if let Some(peer) = opening.keys().choose(&mut rng).copied() { let direction = opening.remove(&peer).unwrap(); match peerset.report_substream_opened(peer, direction) { @@ -173,37 +173,43 @@ async fn test_once() { assert!(closing.insert(peer)); }, } - }, + } + }, // substream failed to open - 3 => + 3 => { if let Some(peer) = opening.keys().choose(&mut rng).copied() { let _ = opening.remove(&peer).unwrap(); peerset.report_substream_open_failure(peer, NotificationError::Rejected); - }, + } + }, // substream was closed by remote peer - 4 => + 4 => { if let Some(peer) = open.keys().choose(&mut rng).copied() { let _ = open.remove(&peer).unwrap(); peerset.report_substream_closed(peer); assert!(closed.insert(peer)); - }, + } + }, // substream was closed by local node - 5 => + 5 => { if let Some(peer) = closing.iter().choose(&mut rng).copied() { assert!(closing.remove(&peer)); assert!(closed.insert(peer)); peerset.report_substream_closed(peer); - }, + } + }, // random connected peer was disconnected by the protocol - 6 => + 6 => { if let Some(peer) = open.keys().choose(&mut rng).copied() { to_peerset.unbounded_send(PeersetCommand::DisconnectPeer { peer }).unwrap(); - }, + } + }, // ban random peer - 7 => + 7 => { if let Some(peer) = known_peers.iter().choose(&mut rng).copied() { peer_store_handle.report_peer(peer, ReputationChange::new_fatal("")); - }, + } + }, // inbound substream is received for a peer that was considered // outbound 8 => { @@ -342,7 +348,6 @@ async fn test_once() { let _ = to_peerset .unbounded_send(PeersetCommand::SetReservedOnly { reserved_only }); }, - // // discover a new node. 13 => { let new_peer = PeerId::random(); @@ -364,7 +369,7 @@ async fn test_once() { } }, // inbound substream received for a peer in `closed` - 15 => + 15 => { if let Some(peer) = closed.iter().choose(&mut rng).copied() { match peerset.report_inbound_substream(peer) { ValidationResult::Accept => { @@ -373,7 +378,8 @@ async fn test_once() { }, ValidationResult::Reject => {}, } - }, + } + }, _ => unreachable!(), } } diff --git a/substrate/client/network/src/litep2p/shim/notification/tests/peerset.rs b/substrate/client/network/src/litep2p/shim/notification/tests/peerset.rs index 3a1289931b8d4..b56c82f950a5a 100644 --- a/substrate/client/network/src/litep2p/shim/notification/tests/peerset.rs +++ b/substrate/client/network/src/litep2p/shim/notification/tests/peerset.rs @@ -990,7 +990,7 @@ async fn set_reserved_peers_move_previously_reserved() { state, &PeerState::Connected { direction: Direction::Outbound(Reserved::Yes) } ); - continue + continue; } // Part of the new reserved nodes. @@ -1001,7 +1001,7 @@ async fn set_reserved_peers_move_previously_reserved() { peerset.peers().get(peer), Some(&PeerState::Opening { direction: Direction::Outbound(Reserved::Yes) }), ); - continue + continue; } // Previously reserved, but remained connected. @@ -1011,7 +1011,7 @@ async fn set_reserved_peers_move_previously_reserved() { state, &PeerState::Connected { direction: Direction::Outbound(Reserved::No) } ); - continue + continue; } panic!("Invalid state peer={peer:?} state={state:?}"); } diff --git a/substrate/client/network/src/litep2p/shim/request_response/metrics.rs b/substrate/client/network/src/litep2p/shim/request_response/metrics.rs index b04b6ed92de48..71c21bb2cbf29 100644 --- a/substrate/client/network/src/litep2p/shim/request_response/metrics.rs +++ b/substrate/client/network/src/litep2p/shim/request_response/metrics.rs @@ -75,4 +75,44 @@ impl RequestResponseMetrics { .observe(duration.as_secs_f64()); } } + + /// Register inbound bytes (request payload received from peer) to Prometheus + pub fn register_inbound_request_bytes(&self, bytes: usize) { + if let Some(metrics) = &self.metrics { + metrics + .requests_response_bytes_total + .with_label_values(&["in", &self.protocol]) + .inc_by(bytes as u64); + } + } + + /// Register outbound bytes (response payload sent to peer) to Prometheus + pub fn register_outbound_response_bytes(&self, bytes: usize) { + if let Some(metrics) = &self.metrics { + metrics + .requests_response_bytes_total + .with_label_values(&["out", &self.protocol]) + .inc_by(bytes as u64); + } + } + + /// Register outbound bytes (request payload sent to peer) to Prometheus + pub fn register_outbound_request_bytes(&self, bytes: usize) { + if let Some(metrics) = &self.metrics { + metrics + .requests_response_bytes_total + .with_label_values(&["out", &self.protocol]) + .inc_by(bytes as u64); + } + } + + /// Register inbound bytes (response payload received from peer) to Prometheus + pub fn register_inbound_response_bytes(&self, bytes: usize) { + if let Some(metrics) = &self.metrics { + metrics + .requests_response_bytes_total + .with_label_values(&["in", &self.protocol]) + .inc_by(bytes as u64); + } + } } diff --git a/substrate/client/network/src/litep2p/shim/request_response/mod.rs b/substrate/client/network/src/litep2p/shim/request_response/mod.rs index d30fdfdc3650f..1865cdc01a84b 100644 --- a/substrate/client/network/src/litep2p/shim/request_response/mod.rs +++ b/substrate/client/network/src/litep2p/shim/request_response/mod.rs @@ -245,8 +245,10 @@ impl RequestResponseProtocol { dial_options, ); + let request_len = request.len(); match self.handle.try_send_request(peer.into(), request, dial_options) { Ok(request_id) => { + self.metrics.register_outbound_request_bytes(request_len); self.pending_inbound_responses .insert(request_id, PendingRequest::new(tx, Instant::now(), fallback_request)); }, @@ -280,6 +282,8 @@ impl RequestResponseProtocol { request.len(), ); + self.metrics.register_inbound_request_bytes(request.len()); + let Some(inbound_queue) = &self.inbound_queue else { log::trace!( target: LOG_TARGET, @@ -350,6 +354,7 @@ impl RequestResponseProtocol { response.len(), ); + self.metrics.register_inbound_response_bytes(response.len()); let _ = tx.send(Ok((response, self.protocol.clone()))); self.metrics.register_outbound_request_success(started.elapsed()); }, @@ -378,40 +383,49 @@ impl RequestResponseProtocol { self.protocol, ); - return + return; }; let status = match error { - RequestResponseError::NotConnected => - Some((RequestFailure::NotConnected, "not-connected")), + RequestResponseError::NotConnected => { + Some((RequestFailure::NotConnected, "not-connected")) + }, RequestResponseError::Rejected(reason) => { let reason = match reason { RejectReason::ConnectionClosed => "connection-closed", RejectReason::SubstreamClosed => "substream-closed", RejectReason::SubstreamOpenError(substream_error) => match substream_error { - SubstreamError::NegotiationError(NegotiationError::Timeout) => - "substream-timeout", + SubstreamError::NegotiationError(NegotiationError::Timeout) => { + "substream-timeout" + }, _ => "substream-open-error", }, RejectReason::DialFailed(None) => "dial-failed", - RejectReason::DialFailed(Some(ImmediateDialError::AlreadyConnected)) => - "dial-already-connected", - RejectReason::DialFailed(Some(ImmediateDialError::PeerIdMissing)) => - "dial-peerid-missing", - RejectReason::DialFailed(Some(ImmediateDialError::TriedToDialSelf)) => - "dial-tried-to-dial-self", - RejectReason::DialFailed(Some(ImmediateDialError::NoAddressAvailable)) => - "dial-no-address-available", - RejectReason::DialFailed(Some(ImmediateDialError::TaskClosed)) => - "dial-task-closed", - RejectReason::DialFailed(Some(ImmediateDialError::ChannelClogged)) => - "dial-channel-clogged", + RejectReason::DialFailed(Some(ImmediateDialError::AlreadyConnected)) => { + "dial-already-connected" + }, + RejectReason::DialFailed(Some(ImmediateDialError::PeerIdMissing)) => { + "dial-peerid-missing" + }, + RejectReason::DialFailed(Some(ImmediateDialError::TriedToDialSelf)) => { + "dial-tried-to-dial-self" + }, + RejectReason::DialFailed(Some(ImmediateDialError::NoAddressAvailable)) => { + "dial-no-address-available" + }, + RejectReason::DialFailed(Some(ImmediateDialError::TaskClosed)) => { + "dial-task-closed" + }, + RejectReason::DialFailed(Some(ImmediateDialError::ChannelClogged)) => { + "dial-channel-clogged" + }, }; Some((RequestFailure::Refused, reason)) }, - RequestResponseError::Timeout => - Some((RequestFailure::Network(OutboundFailure::Timeout), "timeout")), + RequestResponseError::Timeout => { + Some((RequestFailure::Network(OutboundFailure::Timeout), "timeout")) + }, RequestResponseError::Canceled => { log::debug!( target: LOG_TARGET, @@ -512,10 +526,13 @@ impl RequestResponseProtocol { response.len(), ); + self.metrics.register_outbound_response_bytes(response.len()); + match sent_feedback { None => self.handle.send_response(request_id, response), - Some(feedback) => - self.handle.send_response_with_feedback(request_id, response, feedback), + Some(feedback) => { + self.handle.send_response_with_feedback(request_id, response, feedback) + }, } self.metrics.register_inbound_request_success(started.elapsed()); diff --git a/substrate/client/network/src/litep2p/shim/request_response/tests.rs b/substrate/client/network/src/litep2p/shim/request_response/tests.rs index 78b6ef0a481c9..2a969443dc340 100644 --- a/substrate/client/network/src/litep2p/shim/request_response/tests.rs +++ b/substrate/client/network/src/litep2p/shim/request_response/tests.rs @@ -90,7 +90,7 @@ async fn connect_peers(litep2p1: &mut Litep2p, litep2p2: &mut Litep2p) { } if litep2p1_connected && litep2p2_connected { - break + break; } } } diff --git a/substrate/client/network/src/network_state.rs b/substrate/client/network/src/network_state.rs index 65fd494739ee3..fbc41ba563df4 100644 --- a/substrate/client/network/src/network_state.rs +++ b/substrate/client/network/src/network_state.rs @@ -106,10 +106,12 @@ pub enum Endpoint { impl From for PeerEndpoint { fn from(endpoint: ConnectedPoint) -> Self { match endpoint { - ConnectedPoint::Dialer { address, role_override, port_use: _ } => - Self::Dialing(address, role_override.into()), - ConnectedPoint::Listener { local_addr, send_back_addr } => - Self::Listening { local_addr, send_back_addr }, + ConnectedPoint::Dialer { address, role_override, port_use: _ } => { + Self::Dialing(address, role_override.into()) + }, + ConnectedPoint::Listener { local_addr, send_back_addr } => { + Self::Listening { local_addr, send_back_addr } + }, } } } diff --git a/substrate/client/network/src/peer_info.rs b/substrate/client/network/src/peer_info.rs index e3b873cacd1de..9c304ef21a7dd 100644 --- a/substrate/client/network/src/peer_info.rs +++ b/substrate/client/network/src/peer_info.rs @@ -276,7 +276,7 @@ impl PeerInfoBehaviour { .chain(self.public_addresses.iter()) .any(|known_address| PeerInfoBehaviour::is_same_address(&known_address, &address)) { - return (true, None) + return (true, None); } match self.address_confirmations.get(address) { @@ -284,7 +284,7 @@ impl PeerInfoBehaviour { confirmations.insert(peer_id); if confirmations.len() >= MIN_ADDRESS_CONFIRMATIONS { - return (true, None) + return (true, None); } }, None => { @@ -293,7 +293,7 @@ impl PeerInfoBehaviour { .then(|| { self.address_confirmations.pop_oldest().map(|(address, peers)| { if peers.len() >= MIN_ADDRESS_CONFIRMATIONS { - return Some(address) + return Some(address); } else { None } @@ -305,7 +305,7 @@ impl PeerInfoBehaviour { self.address_confirmations .insert(address.clone(), iter::once(peer_id).collect()); - return (false, oldest) + return (false, oldest); }, } @@ -599,16 +599,18 @@ impl NetworkBehaviour for PeerInfoBehaviour { event: THandlerOutEvent, ) { match event { - Either::Left(event) => - self.ping.on_connection_handler_event(peer_id, connection_id, event), - Either::Right(event) => - self.identify.on_connection_handler_event(peer_id, connection_id, event), + Either::Left(event) => { + self.ping.on_connection_handler_event(peer_id, connection_id, event) + }, + Either::Right(event) => { + self.identify.on_connection_handler_event(peer_id, connection_id, event) + }, } } fn poll(&mut self, cx: &mut Context) -> Poll>> { if let Some(event) = self.pending_actions.pop_front() { - return Poll::Ready(event) + return Poll::Ready(event); } loop { @@ -634,7 +636,7 @@ impl NetworkBehaviour for PeerInfoBehaviour { IdentifyEvent::Received { peer_id, info, .. } => { self.handle_identify_report(&peer_id, &info); let event = PeerInfoEvent::Identified { peer_id, info }; - return Poll::Ready(ToSwarm::GenerateEvent(event)) + return Poll::Ready(ToSwarm::GenerateEvent(event)); }, IdentifyEvent::Error { connection_id, peer_id, error } => { debug!( diff --git a/substrate/client/network/src/peer_store.rs b/substrate/client/network/src/peer_store.rs index 0e57791542e16..d5e6016d0f14c 100644 --- a/substrate/client/network/src/peer_store.rs +++ b/substrate/client/network/src/peer_store.rs @@ -219,7 +219,7 @@ impl PeerInfo { self.reputation = self.reputation.saturating_sub(diff); if self.reputation == 0 { - break + break; } } } @@ -354,7 +354,7 @@ impl PeerStoreInner { fn progress_time(&mut self, seconds_passed: u64) { if seconds_passed == 0 { - return + return; } // Drive reputation values towards 0. diff --git a/substrate/client/network/src/protocol.rs b/substrate/client/network/src/protocol.rs index aa376ae06e782..efdad8111fa2b 100644 --- a/substrate/client/network/src/protocol.rs +++ b/substrate/client/network/src/protocol.rs @@ -309,7 +309,7 @@ impl NetworkBehaviour for Protocol { notifications_sink, negotiated_fallback, .. - } => + } => { if set_id == HARDCODED_PEERSETS_SYNC { let _ = self.sync_handle.report_substream_opened( peer_id, @@ -334,8 +334,9 @@ impl NetworkBehaviour for Protocol { None }, } - }, - NotificationsOut::CustomProtocolReplaced { peer_id, notifications_sink, set_id } => + } + }, + NotificationsOut::CustomProtocolReplaced { peer_id, notifications_sink, set_id } => { if set_id == HARDCODED_PEERSETS_SYNC { let _ = self .sync_handle @@ -349,7 +350,8 @@ impl NetworkBehaviour for Protocol { notifications_sink, }, ) - }, + } + }, NotificationsOut::CustomProtocolClosed { peer_id, set_id } => { if set_id == HARDCODED_PEERSETS_SYNC { let _ = self.sync_handle.report_substream_closed(peer_id); diff --git a/substrate/client/network/src/protocol/message.rs b/substrate/client/network/src/protocol/message.rs index cab14b5937528..1da02e3e502a1 100644 --- a/substrate/client/network/src/protocol/message.rs +++ b/substrate/client/network/src/protocol/message.rs @@ -109,12 +109,13 @@ pub mod generic { let compact = CompactStatus::decode(value)?; let chain_status = match >::decode(value) { Ok(v) => v, - Err(e) => + Err(e) => { if compact.version <= LAST_CHAIN_STATUS_VERSION { - return Err(e) + return Err(e); } else { Vec::new() - }, + } + }, }; let CompactStatus { diff --git a/substrate/client/network/src/protocol/notifications/behaviour.rs b/substrate/client/network/src/protocol/notifications/behaviour.rs index ef21f760d3932..c74db2dbfdf66 100644 --- a/substrate/client/network/src/protocol/notifications/behaviour.rs +++ b/substrate/client/network/src/protocol/notifications/behaviour.rs @@ -164,7 +164,6 @@ pub struct Notifications { events: VecDeque>, /// Pending inbound substream validations. - // // NOTE: it's possible to read a stale response from `pending_inbound_validations` // as the substream may get closed by the remote peer before the protocol has had // a chance to validate it. [`Notifications`] must compare the `crate::peerset::IncomingIndex` @@ -506,7 +505,7 @@ impl Notifications { let mut entry = if let Entry::Occupied(entry) = self.peers.entry((*peer_id, set_id)) { entry } else { - return + return; }; match mem::replace(entry.get_mut(), PeerState::Poisoned) { @@ -586,7 +585,7 @@ impl Notifications { target: LOG_TARGET, "State mismatch in libp2p: no entry in incoming for incoming peer" ); - return + return; }; inc.alive = false; @@ -632,7 +631,7 @@ impl Notifications { trace!(target: LOG_TARGET, "Libp2p <= Dial {}", entry.key().0); self.events.push_back(ToSwarm::Dial { opts: entry.key().0.into() }); entry.insert(PeerState::Requested); - return + return; }, }; @@ -801,7 +800,7 @@ impl Notifications { Entry::Vacant(entry) => { trace!(target: LOG_TARGET, "PSM => Drop({}, {:?}): Already disabled.", entry.key().0, set_id); - return + return; }, }; @@ -913,7 +912,7 @@ impl Notifications { fn peerset_report_preaccept(&mut self, index: IncomingIndex) { let Some(pos) = self.incoming.iter().position(|i| i.incoming_id == index) else { error!(target: LOG_TARGET, "PSM => Preaccept({:?}): Invalid index", index); - return + return; }; trace!( @@ -955,7 +954,7 @@ impl Notifications { (pos, self.incoming.get(pos)) } else { error!(target: LOG_TARGET, "PSM => Accept({:?}): Invalid index", index); - return + return; }; let Some(incoming) = incoming else { @@ -985,7 +984,7 @@ impl Notifications { } self.incoming.remove(pos); - return + return; } let state = match self.peers.get_mut(&(incoming.peer_id, incoming.set_id)) { @@ -999,7 +998,7 @@ impl Notifications { index, ); self.incoming.remove(pos); - return + return; }, }; @@ -1019,7 +1018,7 @@ impl Notifications { ); self.incoming.remove(pos); - return + return; } else if index > incoming_index { error!( target: LOG_TARGET, @@ -1029,7 +1028,7 @@ impl Notifications { self.incoming.remove(pos); debug_assert!(false); - return + return; } // while the substream was being validated by the protocol, `Peerset` had request @@ -1049,7 +1048,7 @@ impl Notifications { peerset_rejected, incoming_index, }; - return self.report_reject(index).map_or((), |_| ()) + return self.report_reject(index).map_or((), |_| ()); } trace!( @@ -1120,7 +1119,7 @@ impl Notifications { self.incoming.remove(pos) } else { error!(target: LOG_TARGET, "PSM => Reject({:?}): Invalid index", index); - return None + return None; }; if !incoming.alive { @@ -1132,7 +1131,7 @@ impl Notifications { incoming.set_id, ); - return None + return None; } let state = match self.peers.get_mut(&(incoming.peer_id, incoming.set_id)) { @@ -1145,7 +1144,7 @@ impl Notifications { incoming.set_id, index, ); - return None + return None; }, }; @@ -1158,7 +1157,7 @@ impl Notifications { "PSM => Reject({:?}, {}, {:?}): Ignoring obsolete incoming index, we are already awaiting {:?}.", index, incoming.peer_id, incoming.set_id, incoming_index ); - return None + return None; } else if index > incoming_index { error!( target: LOG_TARGET, @@ -1166,7 +1165,7 @@ impl Notifications { index, incoming.peer_id, incoming.set_id, incoming_index ); debug_assert!(false); - return None + return None; } trace!(target: LOG_TARGET, "PSM => Reject({:?}, {}, {:?}): Rejecting connections.", @@ -1325,7 +1324,7 @@ impl NetworkBehaviour for Notifications { } else { error!(target: LOG_TARGET, "inject_connection_closed: State mismatch in the custom protos handler"); debug_assert!(false); - return + return; }; match mem::replace(entry.get_mut(), PeerState::Poisoned) { @@ -1639,7 +1638,9 @@ impl NetworkBehaviour for Notifications { let ban_duration = match st { PeerState::PendingRequest { timer_deadline, .. } if timer_deadline > now => - cmp::max(timer_deadline - now, Duration::from_secs(5)), + { + cmp::max(timer_deadline - now, Duration::from_secs(5)) + }, _ => Duration::from_secs(5), }; @@ -1718,7 +1719,7 @@ impl NetworkBehaviour for Notifications { "OpenDesiredByRemote: State mismatch in the custom protos handler" ); debug_assert!(false); - return + return; }; match mem::replace(entry.get_mut(), PeerState::Poisoned) { @@ -1923,7 +1924,7 @@ impl NetworkBehaviour for Notifications { } else { error!(target: LOG_TARGET, "CloseDesired: State mismatch in the custom protos handler"); debug_assert!(false); - return + return; }; if reason == CloseReason::ProtocolMisbehavior { @@ -1948,12 +1949,12 @@ impl NetworkBehaviour for Notifications { error!(target: LOG_TARGET, "CloseDesired: State mismatch in the custom protos handler"); debug_assert!(false); - return + return; }; if matches!(connections[pos].1, ConnectionState::Closing) { *entry.into_mut() = PeerState::Enabled { connections }; - return + return; } debug_assert!(matches!(connections[pos].1, ConnectionState::Open(_))); @@ -2140,7 +2141,7 @@ impl NetworkBehaviour for Notifications { } else { error!(target: LOG_TARGET, "OpenResultErr: State mismatch in the custom protos handler"); debug_assert!(false); - return + return; }; match mem::replace(entry.get_mut(), PeerState::Poisoned) { @@ -2265,7 +2266,7 @@ impl NetworkBehaviour for Notifications { fn poll(&mut self, cx: &mut Context) -> Poll>> { if let Some(event) = self.events.pop_front() { - return Poll::Ready(event) + return Poll::Ready(event); } // Poll for instructions from the protocol controllers. @@ -2288,7 +2289,7 @@ impl NetworkBehaviour for Notifications { target: LOG_TARGET, "Protocol controllers receiver stream has returned `None`. Ignore this error if the node is shutting down.", ); - break + break; }, Poll::Pending => break, } @@ -2308,7 +2309,7 @@ impl NetworkBehaviour for Notifications { }, Poll::Ready(None) => { error!(target: LOG_TARGET, "Protocol command streams have been shut down"); - break + break; }, Poll::Pending => break, } @@ -2326,7 +2327,7 @@ impl NetworkBehaviour for Notifications { }, Err(_) => { error!(target: LOG_TARGET, "Protocol has shut down"); - break + break; }, } } @@ -2390,7 +2391,7 @@ impl NetworkBehaviour for Notifications { } if let Some(event) = self.events.pop_front() { - return Poll::Ready(event) + return Poll::Ready(event); } Poll::Pending @@ -2416,8 +2417,9 @@ mod tests { (ConnectionState::Closing, ConnectionState::Closing) => true, (ConnectionState::Opening, ConnectionState::Opening) => true, (ConnectionState::OpeningThenClosing, ConnectionState::OpeningThenClosing) => true, - (ConnectionState::OpenDesiredByRemote, ConnectionState::OpenDesiredByRemote) => - true, + (ConnectionState::OpenDesiredByRemote, ConnectionState::OpenDesiredByRemote) => { + true + }, (ConnectionState::Open(_), ConnectionState::Open(_)) => true, _ => false, } @@ -4007,7 +4009,7 @@ mod tests { .await; if notif.peers.get(&(peer, set_id)).is_none() { - break + break; } } }) @@ -4119,7 +4121,7 @@ mod tests { assert!(std::matches!(connections[0], (_, ConnectionState::Closing))); if timer_deadline != &prev_instant { - break + break; } } else { panic!("invalid state"); diff --git a/substrate/client/network/src/protocol/notifications/handler.rs b/substrate/client/network/src/protocol/notifications/handler.rs index 492d602793c4d..abbc47e8bf016 100644 --- a/substrate/client/network/src/protocol/notifications/handler.rs +++ b/substrate/client/network/src/protocol/notifications/handler.rs @@ -558,13 +558,13 @@ impl ConnectionHandler for NotifsHandler { // in mind that it is invalid for the remote to open multiple such // substreams, and therefore sending a "RST" is the most correct thing // to do. - return + return; }, State::Opening { ref mut in_substream, .. } | State::Open { ref mut in_substream, .. } => { if in_substream.is_some() { // Same remark as above. - return + return; } // Create `handshake_message` on a separate line to be sure that the @@ -771,7 +771,7 @@ impl ConnectionHandler for NotifsHandler { } if let Some(ev) = self.events_queue.pop_front() { - return Poll::Ready(ev) + return Poll::Ready(ev); } // For each open substream, try to send messages from `notifications_sink_rx` to the @@ -786,10 +786,11 @@ impl ConnectionHandler for NotifsHandler { // available in `notifications_sink_rx`. This avoids waking up the task when // a substream is ready to send if there isn't actually something to send. match Pin::new(&mut *notifications_sink_rx).as_mut().poll_peek(cx) { - Poll::Ready(Some(&NotificationsSinkMessage::ForceClose)) => + Poll::Ready(Some(&NotificationsSinkMessage::ForceClose)) => { return Poll::Ready(ConnectionHandlerEvent::NotifyBehaviour( NotifsHandlerOut::Close { protocol_index }, - )), + )) + }, Poll::Ready(Some(&NotificationsSinkMessage::Notification { .. })) => {}, Poll::Ready(None) | Poll::Pending => break, } @@ -803,14 +804,15 @@ impl ConnectionHandler for NotifsHandler { // Now that the substream is ready for a message, grab what to send. let message = match notifications_sink_rx.poll_next_unpin(cx) { - Poll::Ready(Some(NotificationsSinkMessage::Notification { message })) => - message, + Poll::Ready(Some(NotificationsSinkMessage::Notification { message })) => { + message + }, Poll::Ready(Some(NotificationsSinkMessage::ForceClose)) | Poll::Ready(None) | Poll::Pending => { // Should never be reached, as per `poll_peek` above. debug_assert!(false); - break + break; }, }; @@ -839,14 +841,16 @@ impl ConnectionHandler for NotifsHandler { *out_substream = None; let reason = match error { - NotificationsOutError::Io(_) | NotificationsOutError::Closed => - CloseReason::RemoteRequest, - NotificationsOutError::UnexpectedData => - CloseReason::ProtocolMisbehavior, + NotificationsOutError::Io(_) | NotificationsOutError::Closed => { + CloseReason::RemoteRequest + }, + NotificationsOutError::UnexpectedData => { + CloseReason::ProtocolMisbehavior + }, }; let event = NotifsHandlerOut::CloseDesired { protocol_index, reason }; - return Poll::Ready(ConnectionHandlerEvent::NotifyBehaviour(event)) + return Poll::Ready(ConnectionHandlerEvent::NotifyBehaviour(event)); }, }; }, @@ -867,7 +871,7 @@ impl ConnectionHandler for NotifsHandler { State::Open { in_substream: None, .. } | State::Opening { in_substream: None, .. } => {}, - State::Open { in_substream: in_substream @ Some(_), .. } => + State::Open { in_substream: in_substream @ Some(_), .. } => { match futures::prelude::stream::Stream::poll_next( Pin::new(in_substream.as_mut().unwrap()), cx, @@ -875,12 +879,13 @@ impl ConnectionHandler for NotifsHandler { Poll::Pending => {}, Poll::Ready(Some(Ok(message))) => { let event = NotifsHandlerOut::Notification { protocol_index, message }; - return Poll::Ready(ConnectionHandlerEvent::NotifyBehaviour(event)) + return Poll::Ready(ConnectionHandlerEvent::NotifyBehaviour(event)); }, Poll::Ready(None) | Poll::Ready(Some(Err(_))) => *in_substream = None, - }, + } + }, - State::OpenDesiredByRemote { in_substream, pending_opening } => + State::OpenDesiredByRemote { in_substream, pending_opening } => { match NotificationsInSubstream::poll_process(Pin::new(in_substream), cx) { Poll::Pending => {}, Poll::Ready(Ok(())) => {}, @@ -892,11 +897,12 @@ impl ConnectionHandler for NotifsHandler { protocol_index, reason: CloseReason::RemoteRequest, }, - )) + )); }, - }, + } + }, - State::Opening { in_substream: in_substream @ Some(_), .. } => + State::Opening { in_substream: in_substream @ Some(_), .. } => { match NotificationsInSubstream::poll_process( Pin::new(in_substream.as_mut().unwrap()), cx, @@ -904,7 +910,8 @@ impl ConnectionHandler for NotifsHandler { Poll::Pending => {}, Poll::Ready(Ok(())) => {}, Poll::Ready(Err(_)) => *in_substream = None, - }, + } + }, } } @@ -999,12 +1006,13 @@ pub mod tests { let substream = if let Some(info) = self.connections.get_mut(&(peer, set)) { info } else { - return None + return None; }; futures::future::poll_fn(|cx| match substream.notifications.poll_next_unpin(cx) { - Poll::Ready(Some(NotificationsSinkMessage::Notification { message })) => - Poll::Ready(Some(message)), + Poll::Ready(Some(NotificationsSinkMessage::Notification { message })) => { + Poll::Ready(Some(message)) + }, Poll::Pending => Poll::Ready(None), Poll::Ready(Some(NotificationsSinkMessage::ForceClose)) | Poll::Ready(None) => { panic!("sink closed") @@ -1108,8 +1116,9 @@ pub mod tests { ) -> Poll> { match self.rx.poll_recv(cx) { Poll::Ready(Some(data)) => self.rx_buffer.extend_from_slice(&data), - Poll::Ready(None) => - return Poll::Ready(Err(std::io::ErrorKind::UnexpectedEof.into())), + Poll::Ready(None) => { + return Poll::Ready(Err(std::io::ErrorKind::UnexpectedEof.into())) + }, _ => {}, } @@ -1118,7 +1127,7 @@ pub mod tests { buf[..nsize].copy_from_slice(&data[..]); if nsize > 0 { - return Poll::Ready(Ok(nsize)) + return Poll::Ready(Ok(nsize)); } Poll::Pending diff --git a/substrate/client/network/src/protocol/notifications/service/mod.rs b/substrate/client/network/src/protocol/notifications/service/mod.rs index fe88a8793766e..f585f77e6907a 100644 --- a/substrate/client/network/src/protocol/notifications/service/mod.rs +++ b/substrate/client/network/src/protocol/notifications/service/mod.rs @@ -291,12 +291,13 @@ impl NotificationService for NotificationHandle { async fn next_event(&mut self) -> Option { loop { match self.rx.next().await? { - InnerNotificationEvent::ValidateInboundSubstream { peer, handshake, result_tx } => + InnerNotificationEvent::ValidateInboundSubstream { peer, handshake, result_tx } => { return Some(NotificationEvent::ValidateInboundSubstream { peer: peer.into(), handshake, result_tx, - }), + }) + }, InnerNotificationEvent::NotificationStreamOpened { peer, handshake, @@ -316,17 +317,18 @@ impl NotificationService for NotificationHandle { handshake, direction, negotiated_fallback, - }) + }); }, InnerNotificationEvent::NotificationStreamClosed { peer } => { self.peers.remove(&peer); - return Some(NotificationEvent::NotificationStreamClosed { peer: peer.into() }) + return Some(NotificationEvent::NotificationStreamClosed { peer: peer.into() }); }, - InnerNotificationEvent::NotificationReceived { peer, notification } => + InnerNotificationEvent::NotificationReceived { peer, notification } => { return Some(NotificationEvent::NotificationReceived { peer: peer.into(), notification, - }), + }) + }, InnerNotificationEvent::NotificationSinkReplaced { peer, sink } => { match self.peers.get_mut(&peer) { None => log::error!( @@ -472,7 +474,7 @@ impl ProtocolHandle { ); if self.delegate_to_peerset { - return Ok(ValidationCallResult::Delegated) + return Ok(ValidationCallResult::Delegated); } // if there is only one subscriber, `Notifications` can wait directly on the @@ -486,7 +488,7 @@ impl ProtocolHandle { result_tx, }) .map(|_| ValidationCallResult::WaitForValidation(rx)) - .map_err(|_| ()) + .map_err(|_| ()); } // if there are multiple subscribers, create a task which waits for all of the @@ -511,13 +513,14 @@ impl ProtocolHandle { tokio::spawn(async move { while let Some(event) = results.next().await { match event { - Err(_) | Ok(ValidationResult::Reject) => - return tx.send(ValidationResult::Reject), + Err(_) | Ok(ValidationResult::Reject) => { + return tx.send(ValidationResult::Reject) + }, Ok(ValidationResult::Accept) => {}, } } - return tx.send(ValidationResult::Accept) + return tx.send(ValidationResult::Accept); }); Ok(ValidationCallResult::WaitForValidation(rx)) diff --git a/substrate/client/network/src/protocol/notifications/tests/conformance.rs b/substrate/client/network/src/protocol/notifications/tests/conformance.rs index 1c2ee772ebdb8..18b0c544e7cd6 100644 --- a/substrate/client/network/src/protocol/notifications/tests/conformance.rs +++ b/substrate/client/network/src/protocol/notifications/tests/conformance.rs @@ -371,8 +371,8 @@ async fn libp2p_disconnects_libp2p_substream() { libp2p_rhs.dial(libp2p_lhs_address).unwrap(); - // Disarm first timer interval that fires immediately. - let mut timer = tokio::time::interval(std::time::Duration::from_secs(5)); + // Timeout as a safety guard in case the test hangs. + let mut timer = tokio::time::interval(std::time::Duration::from_secs(60)); timer.tick().await; let mut sink = None; @@ -388,7 +388,7 @@ async fn libp2p_disconnects_libp2p_substream() { loop { tokio::select! { _ = timer.tick() => { - break; + panic!("Test timed out waiting for expected events"); } event = libp2p_lhs.select_next_some() => { @@ -488,6 +488,17 @@ async fn libp2p_disconnects_libp2p_substream() { }, } + + // Check if all expected events have occurred + if open_times == 2 && + notification_count == 4 && + recv_1111 == 2 && + recv_2222 == 2 && + recv_3333 == 2 && + recv_4444 == 2 + { + break; + } } assert_eq!(open_times, 2); diff --git a/substrate/client/network/src/protocol/notifications/tests/mod.rs b/substrate/client/network/src/protocol/notifications/tests/mod.rs index 80ed0aa9f189b..a3e5ab96895fc 100644 --- a/substrate/client/network/src/protocol/notifications/tests/mod.rs +++ b/substrate/client/network/src/protocol/notifications/tests/mod.rs @@ -362,7 +362,7 @@ async fn reconnect_after_disconnect() { service1_state == ServiceState::FirstConnec && service2_state == ServiceState::ConnectedAgain { - break + break; } } diff --git a/substrate/client/network/src/protocol/notifications/upgrade/notifications.rs b/substrate/client/network/src/protocol/notifications/upgrade/notifications.rs index 56c7f6f80bbe9..12d66ba7ecdd7 100644 --- a/substrate/client/network/src/protocol/notifications/upgrade/notifications.rs +++ b/substrate/client/network/src/protocol/notifications/upgrade/notifications.rs @@ -169,7 +169,7 @@ where return Err(NotificationsHandshakeError::TooLarge { requested: handshake_len, max: MAX_HANDSHAKE_SIZE, - }) + }); } let mut handshake = vec![0u8; handshake_len]; @@ -222,7 +222,7 @@ where pub fn send_handshake(&mut self, message: impl Into>) { if !matches!(self.handshake, NotificationsInSubstreamHandshake::NotSent) { error!(target: LOG_TARGET, "Tried to send handshake twice"); - return + return; } self.handshake = NotificationsInSubstreamHandshake::PendingSend(message.into()); @@ -246,7 +246,7 @@ where }, Poll::Pending => { *this.handshake = NotificationsInSubstreamHandshake::PendingSend(msg); - return Poll::Pending + return Poll::Pending; }, } }, @@ -258,7 +258,7 @@ where }, Poll::Pending => { *this.handshake = NotificationsInSubstreamHandshake::Flush; - return Poll::Pending + return Poll::Pending; }, } }, @@ -289,7 +289,7 @@ where match mem::replace(this.handshake, NotificationsInSubstreamHandshake::Sent) { NotificationsInSubstreamHandshake::NotSent => { *this.handshake = NotificationsInSubstreamHandshake::NotSent; - return Poll::Pending + return Poll::Pending; }, NotificationsInSubstreamHandshake::PendingSend(msg) => { match Sink::poll_ready(this.socket.as_mut(), cx) { @@ -302,47 +302,51 @@ where }, Poll::Pending => { *this.handshake = NotificationsInSubstreamHandshake::PendingSend(msg); - return Poll::Pending + return Poll::Pending; }, } }, NotificationsInSubstreamHandshake::Flush => { match Sink::poll_flush(this.socket.as_mut(), cx)? { - Poll::Ready(()) => - *this.handshake = NotificationsInSubstreamHandshake::Sent, + Poll::Ready(()) => { + *this.handshake = NotificationsInSubstreamHandshake::Sent + }, Poll::Pending => { *this.handshake = NotificationsInSubstreamHandshake::Flush; - return Poll::Pending + return Poll::Pending; }, } }, NotificationsInSubstreamHandshake::Sent => { match Stream::poll_next(this.socket.as_mut(), cx) { - Poll::Ready(None) => + Poll::Ready(None) => { *this.handshake = - NotificationsInSubstreamHandshake::ClosingInResponseToRemote, + NotificationsInSubstreamHandshake::ClosingInResponseToRemote + }, Poll::Ready(Some(msg)) => { *this.handshake = NotificationsInSubstreamHandshake::Sent; - return Poll::Ready(Some(msg)) + return Poll::Ready(Some(msg)); }, Poll::Pending => { *this.handshake = NotificationsInSubstreamHandshake::Sent; - return Poll::Pending + return Poll::Pending; }, } }, - NotificationsInSubstreamHandshake::ClosingInResponseToRemote => + NotificationsInSubstreamHandshake::ClosingInResponseToRemote => { match Sink::poll_close(this.socket.as_mut(), cx)? { - Poll::Ready(()) => - *this.handshake = NotificationsInSubstreamHandshake::BothSidesClosed, + Poll::Ready(()) => { + *this.handshake = NotificationsInSubstreamHandshake::BothSidesClosed + }, Poll::Pending => { *this.handshake = NotificationsInSubstreamHandshake::ClosingInResponseToRemote; - return Poll::Pending + return Poll::Pending; }, - }, + } + }, NotificationsInSubstreamHandshake::BothSidesClosed => return Poll::Ready(None), } @@ -405,7 +409,7 @@ where return Err(NotificationsHandshakeError::TooLarge { requested: handshake_len, max: MAX_HANDSHAKE_SIZE, - }) + }); } let mut handshake = vec![0u8; handshake_len]; diff --git a/substrate/client/network/src/protocol_controller.rs b/substrate/client/network/src/protocol_controller.rs index 11f5321294d00..60cd7905cb7e1 100644 --- a/substrate/client/network/src/protocol_controller.rs +++ b/substrate/client/network/src/protocol_controller.rs @@ -372,8 +372,9 @@ impl ProtocolController { /// Process connection event. fn process_event(&mut self, event: Event) { match event { - Event::IncomingConnection(peer_id, index) => - self.on_incoming_connection(peer_id, index), + Event::IncomingConnection(peer_id, index) => { + self.on_incoming_connection(peer_id, index) + }, Event::Dropped(peer_id) => self.on_peer_dropped(peer_id), } } @@ -386,8 +387,9 @@ impl ProtocolController { Action::SetReservedPeers(peer_ids) => self.on_set_reserved_peers(peer_ids), Action::SetReservedOnly(reserved_only) => self.on_set_reserved_only(reserved_only), Action::DisconnectPeer(peer_id) => self.on_disconnect_peer(peer_id), - Action::GetReservedPeers(pending_response) => - self.on_get_reserved_peers(pending_response), + Action::GetReservedPeers(pending_response) => { + self.on_get_reserved_peers(pending_response) + }, } } @@ -469,7 +471,7 @@ impl ProtocolController { "Trying to add an already reserved node {peer_id} as reserved on {:?}.", self.set_id, ); - return + return; } // Get the peer out of non-reserved peers if it's there. @@ -510,7 +512,7 @@ impl ProtocolController { target: LOG_TARGET, "Trying to remove unknown reserved node {peer_id} from {:?}.", self.set_id, ); - return + return; }, }; @@ -581,7 +583,7 @@ impl ProtocolController { self.reserved_only = reserved_only; if !reserved_only { - return self.alloc_slots() + return self.alloc_slots(); } // Disconnect all non-reserved peers. @@ -614,7 +616,7 @@ impl ProtocolController { target: LOG_TARGET, "Ignoring request to disconnect reserved peer {peer_id} from {:?}.", self.set_id, ); - return + return; } match self.nodes.remove(&peer_id) { @@ -659,7 +661,7 @@ impl ProtocolController { if self.reserved_only && !self.reserved_nodes.contains_key(&peer_id) { self.reject_connection(peer_id, incoming_index); - return + return; } // Check if the node is reserved first. @@ -671,15 +673,16 @@ impl ProtocolController { *direction = Direction::Inbound; self.accept_connection(peer_id, incoming_index); }, - PeerState::NotConnected => + PeerState::NotConnected => { if self.peer_store.is_banned(&peer_id.into()) { self.reject_connection(peer_id, incoming_index); } else { *state = PeerState::Connected(Direction::Inbound); self.accept_connection(peer_id, incoming_index); - }, + } + }, } - return + return; } // If we're already connected, pretend we are not connected and decide on the node again. @@ -700,12 +703,12 @@ impl ProtocolController { if self.num_in >= self.max_in { self.reject_connection(peer_id, incoming_index); - return + return; } if self.is_banned(&peer_id) { self.reject_connection(peer_id, incoming_index); - return + return; } self.num_in += 1; @@ -799,7 +802,7 @@ impl ProtocolController { // Nothing more to do if we're in reserved-only mode or don't have slots available. if self.reserved_only || self.num_out >= self.max_out { - return + return; } // Fill available slots. diff --git a/substrate/client/network/src/request_responses.rs b/substrate/client/network/src/request_responses.rs index ac87224549f97..d30fcc6556401 100644 --- a/substrate/client/network/src/request_responses.rs +++ b/substrate/client/network/src/request_responses.rs @@ -96,10 +96,12 @@ impl From for OutboundFailure { match out { request_response::OutboundFailure::DialFailure => OutboundFailure::DialFailure, request_response::OutboundFailure::Timeout => OutboundFailure::Timeout, - request_response::OutboundFailure::ConnectionClosed => - OutboundFailure::ConnectionClosed, - request_response::OutboundFailure::UnsupportedProtocols => - OutboundFailure::UnsupportedProtocols, + request_response::OutboundFailure::ConnectionClosed => { + OutboundFailure::ConnectionClosed + }, + request_response::OutboundFailure::UnsupportedProtocols => { + OutboundFailure::UnsupportedProtocols + }, request_response::OutboundFailure::Io(error) => OutboundFailure::Io(Arc::new(error)), } } @@ -133,8 +135,9 @@ impl From for InboundFailure { request_response::InboundFailure::ResponseOmission => InboundFailure::ResponseOmission, request_response::InboundFailure::Timeout => InboundFailure::Timeout, request_response::InboundFailure::ConnectionClosed => InboundFailure::ConnectionClosed, - request_response::InboundFailure::UnsupportedProtocols => - InboundFailure::UnsupportedProtocols, + request_response::InboundFailure::UnsupportedProtocols => { + InboundFailure::UnsupportedProtocols + }, request_response::InboundFailure::Io(error) => InboundFailure::Io(Arc::new(error)), } } @@ -434,7 +437,9 @@ impl RequestResponsesBehaviour { inbound_queue: protocol.inbound_queue, request_timeout: protocol.request_timeout, }), - Entry::Occupied(e) => return Err(RegisterError::DuplicateProtocol(e.key().clone())), + Entry::Occupied(e) => { + return Err(RegisterError::DuplicateProtocol(e.key().clone())) + }, }; } @@ -615,7 +620,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { ) { let p_name = event.0; if let Some(ProtocolDetails { behaviour, .. }) = self.protocols.get_mut(p_name.as_str()) { - return behaviour.on_connection_handler_event(peer_id, connection_id, event.1) + return behaviour.on_connection_handler_event(peer_id, connection_id, event.1); } else { log::warn!( target: LOG_TARGET, @@ -714,7 +719,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { return Poll::Ready(ToSwarm::GenerateEvent(Event::ReputationChanges { peer, changes: reputation_changes, - })) + })); } } @@ -737,7 +742,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { "The request-response isn't supposed to start dialing addresses" ); } - return Poll::Ready(ToSwarm::Dial { opts }) + return Poll::Ready(ToSwarm::Dial { opts }); }, event => { return Poll::Ready( @@ -770,7 +775,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { peer, reputation, ); - continue 'poll_protocol + continue 'poll_protocol; } let (tx, rx) = oneshot::channel(); @@ -812,7 +817,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { // This `continue` makes sure that `pending_responses` gets polled // after we have added the new element. - continue 'poll_all + continue 'poll_all; }, // Received a response from a remote to one of our requests. @@ -852,7 +857,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { request_id, peer, ); - continue + continue; }, }; @@ -863,7 +868,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { result: delivered, }; - return Poll::Ready(ToSwarm::GenerateEvent(out)) + return Poll::Ready(ToSwarm::GenerateEvent(out)); }, // One of our requests has failed. @@ -901,7 +906,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { fallback_request, response_tx, )); - continue + continue; } } @@ -926,7 +931,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { error, peer ); - continue + continue; }, }; @@ -937,7 +942,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { result: Err(RequestFailure::Network(error)), }; - return Poll::Ready(ToSwarm::GenerateEvent(out)) + return Poll::Ready(ToSwarm::GenerateEvent(out)); }, // An inbound request failed, either while reading the request or due to @@ -953,7 +958,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { protocol: protocol.clone(), result: Err(ResponseFailure::Network(error.into())), }; - return Poll::Ready(ToSwarm::GenerateEvent(out)) + return Poll::Ready(ToSwarm::GenerateEvent(out)); }, // A response to an inbound request has been sent. @@ -982,7 +987,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { result: Ok(arrival_time), }; - return Poll::Ready(ToSwarm::GenerateEvent(out)) + return Poll::Ready(ToSwarm::GenerateEvent(out)); }, }; } @@ -1007,7 +1012,7 @@ impl NetworkBehaviour for RequestResponsesBehaviour { } } - break Poll::Pending + break Poll::Pending; } } } @@ -1059,7 +1064,7 @@ impl Codec for GenericCodec { return Err(io::Error::new( io::ErrorKind::InvalidInput, format!("Request size exceeds limit: {} > {}", length, self.max_request_size), - )) + )); } // Read the payload. @@ -1086,7 +1091,9 @@ impl Codec for GenericCodec { Ok(l) => l, Err(unsigned_varint::io::ReadError::Io(err)) if matches!(err.kind(), io::ErrorKind::UnexpectedEof) => - return Ok(Err(())), + { + return Ok(Err(())) + }, Err(err) => return Err(io::Error::new(io::ErrorKind::InvalidInput, err)), }; @@ -1094,7 +1101,7 @@ impl Codec for GenericCodec { return Err(io::Error::new( io::ErrorKind::InvalidInput, format!("Response size exceeds limit: {} > {}", length, self.max_response_size), - )) + )); } // Read the payload. @@ -1285,7 +1292,7 @@ mod tests { }, SwarmEvent::Behaviour(Event::RequestFinished { result, .. }) => { result.unwrap(); - break + break; }, _ => {}, } @@ -1376,7 +1383,7 @@ mod tests { }, SwarmEvent::Behaviour(Event::RequestFinished { result, .. }) => { assert!(result.is_err()); - break + break; }, _ => {}, } @@ -1531,7 +1538,7 @@ mod tests { num_responses += 1; result.unwrap(); if num_responses == 2 { - break + break; } }, _ => {}, @@ -1667,7 +1674,7 @@ mod tests { }, SwarmEvent::Behaviour(Event::RequestFinished { result, .. }) => { result.unwrap(); - break + break; }, _ => {}, } @@ -1696,7 +1703,7 @@ mod tests { match swarm.select_next_some().await { SwarmEvent::Behaviour(Event::RequestFinished { result, .. }) => { result.unwrap(); - break + break; }, _ => {}, } @@ -1725,7 +1732,7 @@ mod tests { result.unwrap_err(), RequestFailure::Network(OutboundFailure::UnsupportedProtocols) ); - break + break; }, _ => {}, } @@ -1745,7 +1752,7 @@ mod tests { match swarm.select_next_some().await { SwarmEvent::Behaviour(Event::RequestFinished { result, .. }) => { result.unwrap(); - break + break; }, _ => {}, } @@ -1888,7 +1895,7 @@ mod tests { }, SwarmEvent::Behaviour(Event::RequestFinished { result, .. }) => { assert!(result.is_err()); - break + break; }, _ => {}, } diff --git a/substrate/client/network/src/service.rs b/substrate/client/network/src/service.rs index 19c7e8ee323b1..13b4708982e39 100644 --- a/substrate/client/network/src/service.rs +++ b/substrate/client/network/src/service.rs @@ -529,8 +529,9 @@ where match result { Ok(b) => b, - Err(crate::request_responses::RegisterError::DuplicateProtocol(proto)) => - return Err(Error::DuplicateRequestResponseProtocol { protocol: proto }), + Err(crate::request_responses::RegisterError::DuplicateProtocol(proto)) => { + return Err(Error::DuplicateRequestResponseProtocol { protocol: proto }) + }, } }; @@ -685,7 +686,7 @@ where addrs.into_iter().collect() } else { error!(target: LOG_TARGET, "Was not able to get known addresses for {:?}", peer_id); - return None + return None; }; let endpoint = if let Some(e) = @@ -695,7 +696,7 @@ where } else { error!(target: LOG_TARGET, "Found state inconsistency between custom protocol \ and debug information about {:?}", peer_id); - return None + return None; }; Some(( @@ -1044,7 +1045,7 @@ where fn add_reserved_peer(&self, peer: MultiaddrWithPeerId) -> Result<(), String> { // Make sure the local peer ID is never added as a reserved peer. if peer.peer_id == self.local_peer_id.into() { - return Err("Local peer ID cannot be added as a reserved peer.".to_string()) + return Err("Local peer ID cannot be added as a reserved peer.".to_string()); } let _ = self.to_worker.unbounded_send(ServiceToWorkerMsg::AddKnownAddress( @@ -1066,7 +1067,7 @@ where peers: HashSet, ) -> Result<(), String> { let Some(set_id) = self.notification_protocol_ids.get(&protocol) else { - return Err(format!("Cannot set reserved peers for unknown protocol: {}", protocol)) + return Err(format!("Cannot set reserved peers for unknown protocol: {}", protocol)); }; let peers: HashSet = peers.into_iter().map(Into::into).collect(); @@ -1077,7 +1078,7 @@ where for (peer_id, addr) in peers_addrs.into_iter() { // Make sure the local peer ID is never added to the PSM. if peer_id == self.local_peer_id { - return Err("Local peer ID cannot be added as a reserved peer.".to_string()) + return Err("Local peer ID cannot be added as a reserved peer.".to_string()); } peers.insert(peer_id.into()); @@ -1103,7 +1104,7 @@ where return Err(format!( "Cannot add peers to reserved set of unknown protocol: {}", protocol - )) + )); }; let peers: HashSet = peers.into_iter().map(Into::into).collect(); @@ -1112,7 +1113,7 @@ where for (peer_id, addr) in peers.into_iter() { // Make sure the local peer ID is never added to the PSM. if peer_id == self.local_peer_id { - return Err("Local peer ID cannot be added as a reserved peer.".to_string()) + return Err("Local peer ID cannot be added as a reserved peer.".to_string()); } if !addr.is_empty() { @@ -1136,7 +1137,7 @@ where return Err(format!( "Cannot remove peers from reserved set of unknown protocol: {}", protocol - )) + )); }; for peer_id in peers.into_iter() { @@ -1442,12 +1443,15 @@ where /// Process the next message coming from the `NetworkService`. fn handle_worker_message(&mut self, msg: ServiceToWorkerMsg) { match msg { - ServiceToWorkerMsg::FindClosestPeers(target) => - self.network_service.behaviour_mut().find_closest_peers(target), - ServiceToWorkerMsg::GetValue(key) => - self.network_service.behaviour_mut().get_value(key.into()), - ServiceToWorkerMsg::PutValue(key, value) => - self.network_service.behaviour_mut().put_value(key.into(), value), + ServiceToWorkerMsg::FindClosestPeers(target) => { + self.network_service.behaviour_mut().find_closest_peers(target) + }, + ServiceToWorkerMsg::GetValue(key) => { + self.network_service.behaviour_mut().get_value(key.into()) + }, + ServiceToWorkerMsg::PutValue(key, value) => { + self.network_service.behaviour_mut().put_value(key.into(), value) + }, ServiceToWorkerMsg::PutRecordTo { record, peers, update_local_storage } => self .network_service .behaviour_mut() @@ -1456,14 +1460,18 @@ where .network_service .behaviour_mut() .store_record(key.into(), value, publisher, expires), - ServiceToWorkerMsg::StartProviding(key) => - self.network_service.behaviour_mut().start_providing(key.into()), - ServiceToWorkerMsg::StopProviding(key) => - self.network_service.behaviour_mut().stop_providing(&key.into()), - ServiceToWorkerMsg::GetProviders(key) => - self.network_service.behaviour_mut().get_providers(key.into()), - ServiceToWorkerMsg::AddKnownAddress(peer_id, addr) => - self.network_service.behaviour_mut().add_known_address(peer_id, addr), + ServiceToWorkerMsg::StartProviding(key) => { + self.network_service.behaviour_mut().start_providing(key.into()) + }, + ServiceToWorkerMsg::StopProviding(key) => { + self.network_service.behaviour_mut().stop_providing(&key.into()) + }, + ServiceToWorkerMsg::GetProviders(key) => { + self.network_service.behaviour_mut().get_providers(key.into()) + }, + ServiceToWorkerMsg::AddKnownAddress(peer_id, addr) => { + self.network_service.behaviour_mut().add_known_address(peer_id, addr) + }, ServiceToWorkerMsg::EventStream(sender) => self.event_streams.push(sender), ServiceToWorkerMsg::Request { target, @@ -1510,18 +1518,23 @@ where }, Err(err) => { let reason = match err { - ResponseFailure::Network(InboundFailure::Timeout) => - Some("timeout"), + ResponseFailure::Network(InboundFailure::Timeout) => { + Some("timeout") + }, ResponseFailure::Network(InboundFailure::UnsupportedProtocols) => // `UnsupportedProtocols` is reported for every single // inbound request whenever a request with an unsupported // protocol is received. This is not reported in order to // avoid confusions. - None, - ResponseFailure::Network(InboundFailure::ResponseOmission) => - Some("busy-omitted"), - ResponseFailure::Network(InboundFailure::ConnectionClosed) => - Some("connection-closed"), + { + None + }, + ResponseFailure::Network(InboundFailure::ResponseOmission) => { + Some("busy-omitted") + }, + ResponseFailure::Network(InboundFailure::ConnectionClosed) => { + Some("connection-closed") + }, ResponseFailure::Network(InboundFailure::Io(_)) => Some("io"), }; @@ -1540,7 +1553,7 @@ where duration, result, .. - }) => + }) => { if let Some(metrics) = self.metrics.as_ref() { match result { Ok(_) => { @@ -1555,13 +1568,16 @@ where RequestFailure::UnknownProtocol => "unknown-protocol", RequestFailure::Refused => "refused", RequestFailure::Obsolete => "obsolete", - RequestFailure::Network(OutboundFailure::DialFailure) => - "dial-failure", + RequestFailure::Network(OutboundFailure::DialFailure) => { + "dial-failure" + }, RequestFailure::Network(OutboundFailure::Timeout) => "timeout", - RequestFailure::Network(OutboundFailure::ConnectionClosed) => - "connection-closed", - RequestFailure::Network(OutboundFailure::UnsupportedProtocols) => - "unsupported", + RequestFailure::Network(OutboundFailure::ConnectionClosed) => { + "connection-closed" + }, + RequestFailure::Network(OutboundFailure::UnsupportedProtocols) => { + "unsupported" + }, RequestFailure::Network(OutboundFailure::Io(_)) => "io", }; @@ -1571,7 +1587,8 @@ where .inc(); }, } - }, + } + }, SwarmEvent::Behaviour(BehaviourOut::ReputationChanges { peer, changes }) => { for change in changes { self.peer_store_handle.report_peer(peer.into(), change); @@ -1801,12 +1818,13 @@ where if let Some(metrics) = self.metrics.as_ref() { let reason = match error { - DialError::Denied { cause } => + DialError::Denied { cause } => { if cause.downcast::().is_ok() { Some("limit-reached") } else { None - }, + } + }, DialError::LocalPeerId { .. } => Some("local-peer-id"), DialError::WrongPeerId { .. } => Some("invalid-peer-id"), DialError::Transport(_) => Some("transport-error"), @@ -1840,14 +1858,16 @@ where ); if let Some(metrics) = self.metrics.as_ref() { let reason = match error { - ListenError::Denied { cause } => + ListenError::Denied { cause } => { if cause.downcast::().is_ok() { Some("limit-reached") } else { None - }, - ListenError::WrongPeerId { .. } | ListenError::LocalPeerId { .. } => - Some("invalid-peer-id"), + } + }, + ListenError::WrongPeerId { .. } | ListenError::LocalPeerId { .. } => { + Some("invalid-peer-id") + }, ListenError::Transport(_) => Some("transport-error"), ListenError::Aborted => None, // ignore it }; @@ -1933,7 +1953,7 @@ pub(crate) fn ensure_addresses_consistent_with_transport<'a>( return Err(Error::AddressesForAnotherTransport { transport: transport.clone(), addresses, - }) + }); } } else { let addresses: Vec<_> = addresses @@ -1945,7 +1965,7 @@ pub(crate) fn ensure_addresses_consistent_with_transport<'a>( return Err(Error::AddressesForAnotherTransport { transport: transport.clone(), addresses, - }) + }); } } diff --git a/substrate/client/network/src/service/metrics.rs b/substrate/client/network/src/service/metrics.rs index e48c53953ff81..a34b7418fbad9 100644 --- a/substrate/client/network/src/service/metrics.rs +++ b/substrate/client/network/src/service/metrics.rs @@ -85,6 +85,7 @@ pub struct Metrics { pub requests_in_success_total: HistogramVec, pub requests_out_failure_total: CounterVec, pub requests_out_success_total: HistogramVec, + pub requests_response_bytes_total: CounterVec, } impl Metrics { @@ -211,6 +212,13 @@ impl Metrics { }, &["protocol"] )?, registry)?, + requests_response_bytes_total: prometheus::register(CounterVec::new( + Opts::new( + "substrate_sub_libp2p_requests_response_bytes_total", + "Total bytes sent and received by request-response protocols" + ), + &["direction", "protocol"] + )?, registry)?, }) } } diff --git a/substrate/client/network/src/service/out_events.rs b/substrate/client/network/src/service/out_events.rs index ededccd5e3233..5893db8503d69 100644 --- a/substrate/client/network/src/service/out_events.rs +++ b/substrate/client/network/src/service/out_events.rs @@ -304,7 +304,7 @@ impl Metrics { self.events_total.with_label_values(&[protocol_label, "sent", name]).inc(); }); }, - Event::NotificationsReceived { messages, .. } => + Event::NotificationsReceived { messages, .. } => { for (protocol, message) in messages { format_label("notif-", protocol, |protocol_label| { self.events_total.with_label_values(&[protocol_label, "sent", name]).inc(); @@ -312,7 +312,8 @@ impl Metrics { self.notifications_sizes .with_label_values(&[protocol, "sent", name]) .inc_by(u64::try_from(message.len()).unwrap_or(u64::MAX)); - }, + } + }, } } @@ -331,7 +332,7 @@ impl Metrics { self.events_total.with_label_values(&[protocol_label, "received", name]).inc(); }); }, - Event::NotificationsReceived { messages, .. } => + Event::NotificationsReceived { messages, .. } => { for (protocol, message) in messages { format_label("notif-", protocol, |protocol_label| { self.events_total @@ -341,7 +342,8 @@ impl Metrics { self.notifications_sizes .with_label_values(&[protocol, "received", name]) .inc_by(u64::try_from(message.len()).unwrap_or(u64::MAX)); - }, + } + }, } } } diff --git a/substrate/client/network/src/service/traits.rs b/substrate/client/network/src/service/traits.rs index 05d1c311cf635..66bc5ca827d83 100644 --- a/substrate/client/network/src/service/traits.rs +++ b/substrate/client/network/src/service/traits.rs @@ -900,7 +900,6 @@ pub trait NotificationService: Debug + Send { async fn open_substream(&mut self, peer: PeerId) -> Result<(), ()>; /// Instruct `Notifications` to close substream for `peer`. - // // NOTE: not offered by the current implementation async fn close_substream(&mut self, peer: PeerId) -> Result<(), ()>; diff --git a/substrate/client/network/src/utils.rs b/substrate/client/network/src/utils.rs index 8db2cf4e7920d..575c2e617c7b3 100644 --- a/substrate/client/network/src/utils.rs +++ b/substrate/client/network/src/utils.rs @@ -54,7 +54,7 @@ impl LruHashSet { if self.set.len() == usize::from(self.limit) { self.set.pop_front(); // remove oldest entry } - return true + return true; } false } diff --git a/substrate/client/network/statement/Cargo.toml b/substrate/client/network/statement/Cargo.toml index e2c1e4b5f9f19..d31f7bb09753a 100644 --- a/substrate/client/network/statement/Cargo.toml +++ b/substrate/client/network/statement/Cargo.toml @@ -15,6 +15,9 @@ workspace = true [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] +[features] +test-helpers = [] + [dependencies] array-bytes = { workspace = true, default-features = true } async-channel = { workspace = true } @@ -33,3 +36,17 @@ tokio = { workspace = true } [dev-dependencies] async-trait = { workspace = true } +criterion = { workspace = true, default-features = true } +sc-keystore = { workspace = true, default-features = true } +sc-statement-store = { workspace = true, default-features = true } +sp-api = { workspace = true, default-features = true } +sp-blockchain = { workspace = true, default-features = true } +sp-core = { workspace = true, default-features = true } +sp-keyring = { workspace = true, default-features = true } +substrate-test-runtime-client = { workspace = true } +tempfile = { workspace = true } + +[[bench]] +name = "statement_network" +harness = false +required-features = ["test-helpers"] diff --git a/substrate/client/network/statement/benches/statement_network.rs b/substrate/client/network/statement/benches/statement_network.rs new file mode 100644 index 0000000000000..84bfc0cd8d92b --- /dev/null +++ b/substrate/client/network/statement/benches/statement_network.rs @@ -0,0 +1,346 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +use criterion::{criterion_group, criterion_main, Criterion}; +use futures::{stream, Stream, StreamExt}; +use sc_network::{ + service::traits::{NotificationEvent, NotificationService}, + utils::LruHashSet, + NetworkPeers, +}; +use sc_network_statement::{ + config::{MAX_KNOWN_STATEMENTS, MAX_PENDING_STATEMENTS}, + Peer, StatementHandler, +}; +use sc_network_sync::{SyncEvent, SyncEventStream}; +use sc_network_types::PeerId; +use sc_statement_store::Store; +use sp_core::Pair; +use sp_statement_store::{Statement, StatementSource, StatementStore}; +use std::{collections::HashMap, num::NonZeroUsize, pin::Pin, sync::Arc}; +use substrate_test_runtime_client::{sc_executor::WasmExecutor, DefaultTestClientBuilderExt}; + +const STATEMENT_DATA_SIZE: usize = 256; + +#[derive(Clone)] +struct TestNetwork; + +impl TestNetwork { + fn new() -> Self { + Self + } +} + +#[async_trait::async_trait] +impl NetworkPeers for TestNetwork { + fn set_authorized_peers(&self, _: std::collections::HashSet) {} + fn set_authorized_only(&self, _: bool) {} + fn add_known_address(&self, _: PeerId, _: sc_network::Multiaddr) {} + fn report_peer(&self, _peer_id: PeerId, _cost_benefit: sc_network::ReputationChange) {} + fn peer_reputation(&self, _: &PeerId) -> i32 { + unimplemented!() + } + fn disconnect_peer(&self, _: PeerId, _: sc_network::ProtocolName) {} + fn accept_unreserved_peers(&self) {} + fn deny_unreserved_peers(&self) {} + fn add_reserved_peer(&self, _: sc_network::config::MultiaddrWithPeerId) -> Result<(), String> { + unimplemented!() + } + fn remove_reserved_peer(&self, _: PeerId) {} + fn set_reserved_peers( + &self, + _: sc_network::ProtocolName, + _: std::collections::HashSet, + ) -> Result<(), String> { + unimplemented!() + } + fn add_peers_to_reserved_set( + &self, + _: sc_network::ProtocolName, + _: std::collections::HashSet, + ) -> Result<(), String> { + unimplemented!() + } + fn remove_peers_from_reserved_set( + &self, + _: sc_network::ProtocolName, + _: Vec, + ) -> Result<(), String> { + unimplemented!() + } + fn sync_num_connected(&self) -> usize { + unimplemented!() + } + fn peer_role(&self, _: PeerId, _: Vec) -> Option { + unimplemented!() + } + async fn reserved_peers(&self) -> Result, ()> { + unimplemented!() + } +} + +struct TestSync {} + +impl TestSync { + fn new() -> Self { + Self {} + } +} + +impl SyncEventStream for TestSync { + fn event_stream(&self, _name: &'static str) -> Pin + Send>> { + unimplemented!() + } +} + +impl sp_consensus::SyncOracle for TestSync { + fn is_major_syncing(&self) -> bool { + unimplemented!() + } + fn is_offline(&self) -> bool { + unimplemented!() + } +} + +impl sc_network::NetworkEventStream for TestNetwork { + fn event_stream( + &self, + _name: &'static str, + ) -> Pin + Send>> { + unimplemented!() + } +} + +#[derive(Debug, Clone)] +struct TestNotificationService; + +#[async_trait::async_trait] +impl NotificationService for TestNotificationService { + async fn open_substream(&mut self, _peer: PeerId) -> Result<(), ()> { + unimplemented!() + } + async fn close_substream(&mut self, _peer: PeerId) -> Result<(), ()> { + unimplemented!() + } + fn send_sync_notification(&mut self, _peer: &PeerId, _notification: Vec) {} + async fn send_async_notification( + &mut self, + _peer: &PeerId, + _notification: Vec, + ) -> Result<(), sc_network::error::Error> { + unimplemented!() + } + async fn set_handshake(&mut self, _handshake: Vec) -> Result<(), ()> { + unimplemented!() + } + fn try_set_handshake(&mut self, _handshake: Vec) -> Result<(), ()> { + unimplemented!() + } + async fn next_event(&mut self) -> Option { + unimplemented!() + } + fn clone(&mut self) -> Result, ()> { + unimplemented!() + } + fn protocol(&self) -> &sc_network::types::ProtocolName { + unimplemented!() + } + fn message_sink( + &self, + _peer: &PeerId, + ) -> Option> { + unimplemented!() + } +} + +fn create_signed_statement(id: usize, keypair: &sp_core::ed25519::Pair) -> Statement { + let mut statement = Statement::new(); + let mut data = vec![0u8; STATEMENT_DATA_SIZE]; + data[0..8].copy_from_slice(&id.to_le_bytes()); + statement.set_plain_data(data); + + statement.sign_ed25519_private(keypair); + statement +} + +fn build_handler( + executor: Arc< + dyn Fn(Pin + Send + 'static>>) + Send + Sync, + >, + num_threads: usize, + max_runtime_instances: usize, +) -> (StatementHandler, PeerId, tempfile::TempDir) { + let temp_dir = tempfile::Builder::new().tempdir().expect("Error creating test dir"); + let mut path: std::path::PathBuf = temp_dir.path().into(); + path.push("db"); + + let wasm_executor = WasmExecutor::builder() + .with_max_runtime_instances(max_runtime_instances) + .build(); + let (client, _) = substrate_test_runtime_client::TestClientBuilder::new() + .build_with_native_executor::( + Some(wasm_executor), + ); + let client = Arc::new(client); + let keystore = Arc::new(sc_keystore::LocalKeystore::in_memory()); + let statement_store = Store::new( + &path, + Default::default(), + client, + keystore, + None, + Box::new(sp_core::testing::TaskExecutor::new()), + ) + .unwrap(); + let statement_store = Arc::new(statement_store); + + let (queue_sender, queue_receiver) = async_channel::bounded::<( + Statement, + futures::channel::oneshot::Sender, + )>(MAX_PENDING_STATEMENTS); + + let network = TestNetwork::new(); + let peer_id = PeerId::random(); + let mut peers = HashMap::new(); + peers.insert( + peer_id, + Peer::new_for_testing(LruHashSet::new(NonZeroUsize::new(MAX_KNOWN_STATEMENTS).unwrap())), + ); + + for _ in 0..num_threads { + let store = statement_store.clone(); + let receiver = queue_receiver.clone(); + executor(Box::pin(async move { + loop { + let task = receiver.recv().await; + match task { + Ok((statement, completion)) => { + let result = store.submit(statement, StatementSource::Network); + let _ = completion.send(result); + }, + Err(_) => return, + } + } + })); + } + + let handler = StatementHandler::new_for_testing( + "/statement/1".into(), + Box::new(TestNotificationService), + (Box::pin(stream::pending()) as Pin + Send>>).fuse(), + network.clone(), + TestSync::new(), + (Box::pin(stream::pending()) as Pin + Send>>).fuse(), + peers, + statement_store, + queue_sender, + ); + (handler, peer_id, temp_dir) +} + +fn non_blocking_executor( + handle: &tokio::runtime::Handle, +) -> Arc + Send + 'static>>) + Send + Sync> { + let executor: Arc< + dyn Fn(Pin + Send + 'static>>) + Send + Sync, + > = Arc::new({ + let h = handle.clone(); + move |fut| { + h.spawn(fut); + } + }); + executor +} + +fn blocking_executor( + handle: &tokio::runtime::Handle, +) -> Arc + Send + 'static>>) + Send + Sync> { + let executor: Arc< + dyn Fn(Pin + Send + 'static>>) + Send + Sync, + > = Arc::new({ + let h = handle.clone(); + move |fut| { + h.spawn_blocking({ + let h = h.clone(); + move || h.block_on(fut) + }); + } + }); + executor +} + +fn bench_on_statements(c: &mut Criterion) { + let statement_counts = [100, 500, 1000, 2000]; + let thread_counts = [1, 2, 4, 8]; + let peer_counts = [1, 2, 4, 8, 16]; + let max_runtime_instances = 8; + let executor_types = [("blocking", true), ("non_blocking", false)]; + + let keypair = sp_core::ed25519::Pair::from_string("//Bench", None).unwrap(); + let runtime = tokio::runtime::Runtime::new().expect("Failed to create tokio runtime"); + let handle = runtime.handle(); + + for &num_statements in &statement_counts { + for &num_threads in &thread_counts { + for &(executor_name, is_blocking) in &executor_types { + for num_peers in &peer_counts { + let statements: Vec = + (0..num_statements).map(|i| create_signed_statement(i, &keypair)).collect(); + let executor = if is_blocking { + blocking_executor(&handle) + } else { + non_blocking_executor(&handle) + }; + + let benchmark_name = format!( + "on_statements/statements_{}/peers_{}/threads_{}/{}", + num_statements, num_peers, num_threads, executor_name + ); + + c.bench_function(&benchmark_name, |b| { + b.iter_batched( + || build_handler(executor.clone(), num_threads, max_runtime_instances), + |(mut handler, peer_id, _temp_dir)| { + // The number of peers determines how many times we might receive a + // statement. + for _ in 0..*num_peers { + handler.on_statements(peer_id, statements.clone()); + } + + runtime.block_on(async { + while handler.pending_statements_mut().next().await.is_some() {} + }); + + let pending = handler.pending_statements_mut(); + assert!( + pending.is_empty(), + "Pending statements not empty: {}", + pending.len() + ); + }, + criterion::BatchSize::LargeInput, + ) + }); + } + } + } + } +} + +criterion_group!(benches, bench_on_statements); +criterion_main!(benches); diff --git a/substrate/client/network/statement/src/config.rs b/substrate/client/network/statement/src/config.rs index 4cc186f0d3c86..f059f27d0d614 100644 --- a/substrate/client/network/statement/src/config.rs +++ b/substrate/client/network/statement/src/config.rs @@ -24,10 +24,10 @@ use std::time; pub(crate) const PROPAGATE_TIMEOUT: time::Duration = time::Duration::from_millis(1000); /// Maximum number of known statement hashes to keep for a peer. -pub(crate) const MAX_KNOWN_STATEMENTS: usize = 4 * 1024 * 1024; // * 32 bytes for hash = 128 MB per peer +pub const MAX_KNOWN_STATEMENTS: usize = 4 * 1024 * 1024; // * 32 bytes for hash = 128 MB per peer /// Maximum allowed size for a statement notification. pub const MAX_STATEMENT_NOTIFICATION_SIZE: u64 = 1024 * 1024; /// Maximum number of statement validation request we keep at any moment. -pub(crate) const MAX_PENDING_STATEMENTS: usize = 2 * 1024 * 1024; +pub const MAX_PENDING_STATEMENTS: usize = 2 * 1024 * 1024; diff --git a/substrate/client/network/statement/src/lib.rs b/substrate/client/network/statement/src/lib.rs index b5eb49b8597f3..c2f515994a1d0 100644 --- a/substrate/client/network/statement/src/lib.rs +++ b/substrate/client/network/statement/src/lib.rs @@ -28,10 +28,13 @@ use crate::config::*; -use codec::{Decode, Encode}; -use futures::{channel::oneshot, prelude::*, stream::FuturesUnordered, FutureExt}; +use codec::{Compact, Decode, Encode, MaxEncodedLen}; +#[cfg(any(test, feature = "test-helpers"))] +use futures::future::pending; +use futures::{channel::oneshot, future::FusedFuture, prelude::*, stream::FuturesUnordered}; use prometheus_endpoint::{ - prometheus, register, Counter, Gauge, Histogram, HistogramOpts, PrometheusError, Registry, U64, + exponential_buckets, register, Counter, Gauge, Histogram, HistogramOpts, PrometheusError, + Registry, U64, }; use sc_network::{ config::{NonReservedPeerMode, SetConfig}, @@ -45,20 +48,21 @@ use sc_network::{ utils::{interval, LruHashSet}, NetworkBackend, NetworkEventStream, NetworkPeers, }; -use sc_network_common::role::ObservedRole; use sc_network_sync::{SyncEvent, SyncEventStream}; use sc_network_types::PeerId; use sp_runtime::traits::Block as BlockT; -use sp_statement_store::{Hash, Statement, StatementSource, StatementStore, SubmitResult}; +use sp_statement_store::{ + FilterDecision, Hash, Statement, StatementSource, StatementStore, SubmitResult, +}; use std::{ - collections::{hash_map::Entry, HashMap, HashSet}, + collections::{hash_map::Entry, HashMap, HashSet, VecDeque}, iter, num::NonZeroUsize, pin::Pin, sync::Arc, + time::Instant, }; use tokio::time::timeout; - pub mod config; /// A set of statements. @@ -86,6 +90,8 @@ mod rep { const LOG_TARGET: &str = "statement-gossip"; /// Maximim time we wait for sending a notification to a peer. const SEND_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(10); +/// Interval for sending statement batches during initial sync to new peers. +const INITIAL_SYNC_BURST_INTERVAL: std::time::Duration = std::time::Duration::from_millis(100); struct Metrics { propagated_statements: Counter, @@ -94,6 +100,15 @@ struct Metrics { propagated_statements_chunks: Histogram, pending_statements: Gauge, ignored_statements: Counter, + peers_connected: Gauge, + statements_received: Counter, + bytes_sent_total: Counter, + bytes_received_total: Counter, + sent_latency_seconds: Histogram, + initial_sync_statements_sent: Counter, + initial_sync_bursts_total: Counter, + initial_sync_peers_active: Gauge, + initial_sync_duration_seconds: Histogram, } impl Metrics { @@ -125,7 +140,8 @@ impl Metrics { HistogramOpts::new( "substrate_sync_propagated_statements_chunks", "Distribution of chunk sizes when propagating statements", - ).buckets(prometheus::exponential_buckets(1.0, 2.0, 14)?), + ) + .buckets(exponential_buckets(1.0, 2.0, 14)?), )?, r, )?, @@ -143,6 +159,76 @@ impl Metrics { )?, r, )?, + peers_connected: register( + Gauge::new( + "substrate_sync_statement_peers_connected", + "Number of peers connected using the statement protocol", + )?, + r, + )?, + statements_received: register( + Counter::new( + "substrate_sync_statements_received", + "Total number of statements received from peers", + )?, + r, + )?, + bytes_sent_total: register( + Counter::new( + "substrate_sync_statement_bytes_sent_total", + "Total bytes sent for statement protocol messages", + )?, + r, + )?, + bytes_received_total: register( + Counter::new( + "substrate_sync_statement_bytes_received_total", + "Total bytes received for statement protocol messages", + )?, + r, + )?, + sent_latency_seconds: register( + Histogram::with_opts( + HistogramOpts::new( + "substrate_sync_statement_sent_latency_seconds", + "Time to send statement messages to peers", + ) + // Buckets from 1ΞΌs to ~1s covering microsecond to millisecond range. + .buckets(vec![0.000_001, 0.000_01, 0.000_1, 0.001, 0.01, 0.1, 1.0]), + )?, + r, + )?, + initial_sync_statements_sent: register( + Counter::new( + "substrate_sync_initial_sync_statements_sent", + "Total statements sent during initial sync bursts to newly connected peers", + )?, + r, + )?, + initial_sync_bursts_total: register( + Counter::new( + "substrate_sync_initial_sync_bursts_total", + "Total number of initial sync burst rounds processed", + )?, + r, + )?, + initial_sync_peers_active: register( + Gauge::new( + "substrate_sync_initial_sync_peers_active", + "Number of peers currently being synced via initial sync", + )?, + r, + )?, + initial_sync_duration_seconds: register( + Histogram::with_opts( + HistogramOpts::new( + "substrate_sync_initial_sync_duration_seconds", + "Per-peer total duration of initial sync from start to completion", + ) + .buckets(vec![0.01, 0.05, 0.1, 0.25, 0.5, 1.0, 2.5, 5.0, 10.0, 30.0, 60.0]), + )?, + r, + )?, }) } } @@ -203,32 +289,47 @@ impl StatementHandlerPrototype { statement_store: Arc, metrics_registry: Option<&Registry>, executor: impl Fn(Pin + Send>>) + Send, + mut num_submission_workers: usize, ) -> error::Result> { let sync_event_stream = sync.event_stream("statement-handler-sync"); - let (queue_sender, mut queue_receiver) = async_channel::bounded(MAX_PENDING_STATEMENTS); - - let store = statement_store.clone(); - executor( - async move { - loop { - let task: Option<(Statement, oneshot::Sender)> = - queue_receiver.next().await; - match task { - None => return, - Some((statement, completion)) => { - let result = store.submit(statement, StatementSource::Network); - if completion.send(result).is_err() { - log::debug!( - target: LOG_TARGET, - "Error sending validation completion" - ); - } - }, + let (queue_sender, queue_receiver) = async_channel::bounded(MAX_PENDING_STATEMENTS); + + if num_submission_workers == 0 { + log::warn!( + target: LOG_TARGET, + "num_submission_workers is 0, defaulting to 1" + ); + num_submission_workers = 1; + } + + let metrics = + if let Some(r) = metrics_registry { Some(Metrics::register(r)?) } else { None }; + + for _ in 0..num_submission_workers { + let store = statement_store.clone(); + let mut queue_receiver = queue_receiver.clone(); + executor( + async move { + loop { + let task: Option<(Statement, oneshot::Sender)> = + queue_receiver.next().await; + match task { + None => return, + Some((statement, completion)) => { + let result = store.submit(statement, StatementSource::Network); + if completion.send(result).is_err() { + log::debug!( + target: LOG_TARGET, + "Error sending validation completion" + ); + } + }, + } } } - } - .boxed(), - ); + .boxed(), + ); + } let handler = StatementHandler { protocol_name: self.protocol_name, @@ -244,11 +345,10 @@ impl StatementHandlerPrototype { peers: HashMap::new(), statement_store, queue_sender, - metrics: if let Some(r) = metrics_registry { - Some(Metrics::register(r)?) - } else { - None - }, + metrics, + initial_sync_timeout: Box::pin(tokio::time::sleep(INITIAL_SYNC_BURST_INTERVAL).fuse()), + pending_initial_syncs: HashMap::new(), + initial_sync_peer_queue: VecDeque::new(), }; Ok(handler) @@ -285,14 +385,102 @@ pub struct StatementHandler< queue_sender: async_channel::Sender<(Statement, oneshot::Sender)>, /// Prometheus metrics. metrics: Option, + /// Timeout for sending next statement batch during initial sync. + initial_sync_timeout: Pin + Send>>, + /// Pending initial syncs per peer. + pending_initial_syncs: HashMap, + /// Queue for round-robin processing of initial syncs. + initial_sync_peer_queue: VecDeque, } /// Peer information +#[cfg_attr(not(any(test, feature = "test-helpers")), doc(hidden))] #[derive(Debug)] -struct Peer { +pub struct Peer { /// Holds a set of statements known to this peer. known_statements: LruHashSet, - role: ObservedRole, +} + +/// Tracks pending initial sync state for a peer (hashes only, statements fetched on-demand). +struct PendingInitialSync { + hashes: Vec, + started_at: Instant, +} + +/// Result of finding a sendable chunk of statements. +enum ChunkResult { + /// Found a chunk that fits. Contains the end index (exclusive). + Send(usize), + /// First statement is oversized, skip it. + SkipOversized, +} + +/// Result of sending a chunk of statements. +enum SendChunkResult { + /// Successfully sent a chunk of N statements. + Sent(usize), + /// First statement was oversized and skipped. + Skipped, + /// Nothing to send. + Empty, + /// Send failed. + Failed, +} + +/// Returns the maximum payload size for statement notifications. +/// +/// This reserves space for encoding the length of the vector (Compact), +/// ensuring the final encoded message fits within MAX_STATEMENT_NOTIFICATION_SIZE. +fn max_statement_payload_size() -> usize { + MAX_STATEMENT_NOTIFICATION_SIZE as usize - Compact::::max_encoded_len() +} + +/// Find the largest chunk of statements starting from the beginning that fits +/// within MAX_STATEMENT_NOTIFICATION_SIZE. +/// +/// Uses an incremental approach: adds statements one by one until the limit is reached. +/// This is efficient because we only compute sizes for statements we'll actually send +/// in this chunk, rather than computing sizes for all statements upfront. +fn find_sendable_chunk(statements: &[&Statement]) -> ChunkResult { + if statements.is_empty() { + return ChunkResult::Send(0); + } + let max_size = max_statement_payload_size(); + + // Incrementally add statements until we exceed the limit. + // This is efficient because we only compute sizes for statements in this chunk. + // accumulated_size is the sum of encoded sizes of all statements so far (without vec + // overhead). + let mut accumulated_size = 0; + let mut count = 0usize; + + for stmt in &statements[0..] { + let stmt_size = stmt.encoded_size(); + let new_count = count + 1; + // Compact encoding overhead for the new count + let new_total = accumulated_size + stmt_size; + if new_total > max_size { + break; + } + + accumulated_size += stmt_size; + count = new_count; + } + + // If we couldn't fit even a single statement, skip it. + if count == 0 { + ChunkResult::SkipOversized + } else { + ChunkResult::Send(count) + } +} + +impl Peer { + /// Create a new peer for testing/benchmarking purposes. + #[cfg(any(test, feature = "test-helpers"))] + pub fn new_for_testing(known_statements: LruHashSet) -> Self { + Self { known_statements } + } } impl StatementHandler @@ -300,11 +488,52 @@ where N: NetworkPeers + NetworkEventStream, S: SyncEventStream + sp_consensus::SyncOracle, { + /// Create a new `StatementHandler` for testing/benchmarking purposes. + #[cfg(any(test, feature = "test-helpers"))] + pub fn new_for_testing( + protocol_name: ProtocolName, + notification_service: Box, + propagate_timeout: stream::Fuse + Send>>>, + network: N, + sync: S, + sync_event_stream: stream::Fuse + Send>>>, + peers: HashMap, + statement_store: Arc, + queue_sender: async_channel::Sender<(Statement, oneshot::Sender)>, + ) -> Self { + Self { + protocol_name, + notification_service, + propagate_timeout, + pending_statements: FuturesUnordered::new(), + pending_statements_peers: HashMap::new(), + network, + sync, + sync_event_stream, + peers, + statement_store, + queue_sender, + metrics: None, + initial_sync_timeout: Box::pin(pending().fuse()), + pending_initial_syncs: HashMap::new(), + initial_sync_peer_queue: VecDeque::new(), + } + } + + /// Get mutable access to pending statements for testing/benchmarking. + #[cfg(any(test, feature = "test-helpers"))] + pub fn pending_statements_mut( + &mut self, + ) -> &mut FuturesUnordered)> + Send>>> + { + &mut self.pending_statements + } + /// Turns the [`StatementHandler`] into a future that should run forever and not be /// interrupted. pub async fn run(mut self) { loop { - futures::select! { + futures::select_biased! { _ = self.propagate_timeout.next() => { self.propagate_statements().await; self.metrics.as_ref().map(|metrics| { @@ -330,16 +559,66 @@ where } event = self.notification_service.next_event().fuse() => { if let Some(event) = event { - self.handle_notification_event(event) + self.handle_notification_event(event).await } else { // `Notifications` has seemingly closed. Closing as well. return } } + _ = &mut self.initial_sync_timeout => { + self.process_initial_sync_burst().await; + self.initial_sync_timeout = + Box::pin(tokio::time::sleep(INITIAL_SYNC_BURST_INTERVAL).fuse()); + }, } } } + /// Send a single chunk of statements to a peer. + async fn send_statement_chunk( + &mut self, + peer: &PeerId, + statements: &[&Statement], + ) -> SendChunkResult { + match find_sendable_chunk(statements) { + ChunkResult::Send(0) => SendChunkResult::Empty, + ChunkResult::Send(chunk_end) => { + let chunk = &statements[..chunk_end]; + let encoded = chunk.encode(); + let bytes_to_send = encoded.len() as u64; + + let sent_latency_timer = + self.metrics.as_ref().map(|m| m.sent_latency_seconds.start_timer()); + let send_result = timeout( + SEND_TIMEOUT, + self.notification_service.send_async_notification(peer, encoded), + ) + .await; + drop(sent_latency_timer); + + if let Err(e) = send_result { + log::debug!(target: LOG_TARGET, "Failed to send notification to {peer}: {e:?}"); + return SendChunkResult::Failed; + } + + log::trace!(target: LOG_TARGET, "Sent {} statements to {}", chunk.len(), peer); + self.metrics.as_ref().map(|metrics| { + metrics.propagated_statements.inc_by(chunk.len() as u64); + metrics.bytes_sent_total.inc_by(bytes_to_send); + metrics.propagated_statements_chunks.observe(chunk.len() as f64); + }); + SendChunkResult::Sent(chunk_end) + }, + ChunkResult::SkipOversized => { + log::warn!(target: LOG_TARGET, "Statement too large, skipping"); + self.metrics.as_ref().map(|metrics| { + metrics.skipped_oversized_statements.inc(); + }); + SendChunkResult::Skipped + }, + } + } + fn handle_sync_event(&mut self, event: SyncEvent) { match event { SyncEvent::PeerConnected(remote) => { @@ -365,45 +644,74 @@ where } } - fn handle_notification_event(&mut self, event: NotificationEvent) { + async fn handle_notification_event(&mut self, event: NotificationEvent) { match event { NotificationEvent::ValidateInboundSubstream { peer, handshake, result_tx, .. } => { - // only accept peers whose role can be determined + // Only accept peers whose role can be determined let result = self .network .peer_role(peer, handshake) .map_or(ValidationResult::Reject, |_| ValidationResult::Accept); let _ = result_tx.send(result); }, - NotificationEvent::NotificationStreamOpened { peer, handshake, .. } => { - let Some(role) = self.network.peer_role(peer, handshake) else { - log::debug!(target: LOG_TARGET, "role for {peer} couldn't be determined"); - return - }; - + NotificationEvent::NotificationStreamOpened { peer, .. } => { let _was_in = self.peers.insert( peer, Peer { known_statements: LruHashSet::new( NonZeroUsize::new(MAX_KNOWN_STATEMENTS).expect("Constant is nonzero"), ), - role, }, ); debug_assert!(_was_in.is_none()); + + self.metrics.as_ref().map(|metrics| { + metrics.peers_connected.set(self.peers.len() as u64); + }); + + if !self.sync.is_major_syncing() { + let hashes = self.statement_store.statement_hashes(); + if !hashes.is_empty() { + self.pending_initial_syncs.insert( + peer, + PendingInitialSync { hashes, started_at: Instant::now() }, + ); + self.initial_sync_peer_queue.push_back(peer); + self.metrics.as_ref().map(|metrics| { + metrics.initial_sync_peers_active.inc(); + }); + } + } }, NotificationEvent::NotificationStreamClosed { peer } => { let _peer = self.peers.remove(&peer); debug_assert!(_peer.is_some()); + if let Some(pending) = self.pending_initial_syncs.remove(&peer) { + self.metrics.as_ref().map(|metrics| { + metrics.initial_sync_peers_active.dec(); + metrics + .initial_sync_duration_seconds + .observe(pending.started_at.elapsed().as_secs_f64()); + }); + } + self.initial_sync_peer_queue.retain(|p| *p != peer); + self.metrics.as_ref().map(|metrics| { + metrics.peers_connected.set(self.peers.len() as u64); + }); }, NotificationEvent::NotificationReceived { peer, notification } => { + let bytes_received = notification.len() as u64; + self.metrics.as_ref().map(|metrics| { + metrics.bytes_received_total.inc_by(bytes_received); + }); + // Accept statements only when node is not major syncing if self.sync.is_major_syncing() { log::trace!( target: LOG_TARGET, "{peer}: Ignoring statements while major syncing or offline" ); - return + return; } if let Ok(statements) = ::decode(&mut notification.as_ref()) { @@ -416,8 +724,14 @@ where } /// Called when peer sends us new statements - fn on_statements(&mut self, who: PeerId, statements: Statements) { + #[cfg_attr(not(any(test, feature = "test-helpers")), doc(hidden))] + pub fn on_statements(&mut self, who: PeerId, statements: Statements) { log::trace!(target: LOG_TARGET, "Received {} statements from {}", statements.len(), who); + + self.metrics.as_ref().map(|metrics| { + metrics.statements_received.inc_by(statements.len() as u64); + }); + if let Some(ref mut peer) = self.peers.get_mut(&who) { let mut statements_left = statements.len() as u64; for s in statements { @@ -431,7 +745,7 @@ where self.metrics.as_ref().map(|metrics| { metrics.ignored_statements.inc_by(statements_left); }); - break + break; } let hash = s.hash(); @@ -512,7 +826,7 @@ where pub async fn propagate_statement(&mut self, hash: &Hash) { // Accept statements only when node is not major syncing if self.sync.is_major_syncing() { - return + return; } log::debug!(target: LOG_TARGET, "Propagating statement [{:?}]", hash); @@ -521,79 +835,51 @@ where } } - async fn do_propagate_statements(&mut self, statements: &[(Hash, Statement)]) { - log::debug!(target: LOG_TARGET, "Propagating {} statements for {} peers", statements.len(), self.peers.len()); - for (who, peer) in self.peers.iter_mut() { - log::trace!(target: LOG_TARGET, "Start propagating statements for {}", who); + /// Propagate the given `statements` to the given `peer`. + /// + /// Internally filters `statements` to only send unknown statements to the peer. + async fn send_statements_to_peer(&mut self, who: &PeerId, statements: &[(Hash, Statement)]) { + let Some(peer) = self.peers.get_mut(who) else { + return; + }; - // never send statements to light nodes - if peer.role.is_light() { - log::trace!(target: LOG_TARGET, "{} is a light node, skipping propagation", who); - continue - } + let to_send: Vec<_> = statements + .iter() + .filter_map(|(hash, stmt)| peer.known_statements.insert(*hash).then(|| stmt)) + .collect(); - let to_send = statements - .iter() - .filter_map(|(hash, stmt)| peer.known_statements.insert(*hash).then(|| stmt)) - .collect::>(); - log::trace!(target: LOG_TARGET, "We have {} statements that the peer doesn't know about", to_send.len()); - - let mut offset = 0; - while offset < to_send.len() { - // Try to send as many statements as possible in one notification - let mut current_end = to_send.len(); - log::trace!(target: LOG_TARGET, "Looking for better chunk size"); - - loop { - let chunk = &to_send[offset..current_end]; - let encoded_size = chunk.encoded_size(); - log::trace!(target: LOG_TARGET, "Chunk: {} statements, {} KB", chunk.len(), encoded_size / 1024); - - // If chunk fits, send it - if encoded_size <= MAX_STATEMENT_NOTIFICATION_SIZE as usize { - if let Err(e) = timeout( - SEND_TIMEOUT, - self.notification_service.send_async_notification(who, chunk.encode()), - ) - .await - { - log::debug!(target: LOG_TARGET, "Failed to send notification to {}, peer disconnected, skipping further batches: {:?}", who, e); - offset = to_send.len(); - break; - } - offset = current_end; - log::trace!(target: LOG_TARGET, "Sent {} statements ({} KB) to {}, {} left", chunk.len(), encoded_size / 1024, who, to_send.len() - offset); - self.metrics.as_ref().map(|metrics| { - metrics.propagated_statements.inc_by(chunk.len() as u64); - metrics.propagated_statements_chunks.observe(chunk.len() as f64); - }); - break; - } + log::trace!(target: LOG_TARGET, "We have {} statements that the peer doesn't know about", to_send.len()); - // Size exceeded - split the chunk - let split_factor = - (encoded_size / MAX_STATEMENT_NOTIFICATION_SIZE as usize) + 1; - let mut new_chunk_size = (current_end - offset) / split_factor; - - // Single statement is too large - if new_chunk_size == 0 { - if chunk.len() == 1 { - log::warn!(target: LOG_TARGET, "Statement too large ({} KB), skipping", encoded_size / 1024); - self.metrics.as_ref().map(|metrics| { - metrics.skipped_oversized_statements.inc(); - }); - offset = current_end; - break; - } - // Don't skip more than one statement at once - new_chunk_size = 1; - } + if to_send.is_empty() { + return; + } - // Reduce chunk size and try again - current_end = offset + new_chunk_size; - } + self.send_statements_in_chunks(who, &to_send).await; + } + + /// Send statements to a peer in chunks, respecting the maximum notification size. + async fn send_statements_in_chunks(&mut self, who: &PeerId, statements: &[&Statement]) { + let mut offset = 0; + while offset < statements.len() { + match self.send_statement_chunk(who, &statements[offset..]).await { + SendChunkResult::Sent(chunk_end) => { + offset += chunk_end; + }, + SendChunkResult::Skipped => { + offset += 1; + }, + SendChunkResult::Empty | SendChunkResult::Failed => return, } } + } + + async fn do_propagate_statements(&mut self, statements: &[(Hash, Statement)]) { + log::debug!(target: LOG_TARGET, "Propagating {} statements for {} peers", statements.len(), self.peers.len()); + let peers: Vec<_> = self.peers.keys().copied().collect(); + for who in peers { + log::trace!(target: LOG_TARGET, "Start propagating statements for {}", who); + self.send_statements_to_peer(&who, statements).await; + } log::trace!(target: LOG_TARGET, "Statements propagated to all peers"); } @@ -601,7 +887,7 @@ where async fn propagate_statements(&mut self) { // Send out statements only when node is not major syncing if self.sync.is_major_syncing() { - return + return; } let Ok(statements) = self.statement_store.take_recent_statements() else { return }; @@ -609,6 +895,103 @@ where self.do_propagate_statements(&statements).await; } } + + /// Record initial sync completion metrics for a peer being removed. + fn record_initial_sync_completion(&self, started_at: Instant) { + self.metrics.as_ref().map(|metrics| { + metrics.initial_sync_peers_active.dec(); + metrics + .initial_sync_duration_seconds + .observe(started_at.elapsed().as_secs_f64()); + }); + } + + /// Process one batch of initial sync for the next peer in the queue (round-robin). + async fn process_initial_sync_burst(&mut self) { + if self.sync.is_major_syncing() { + return; + } + + let Some(peer_id) = self.initial_sync_peer_queue.pop_front() else { + return; + }; + + let Entry::Occupied(mut entry) = self.pending_initial_syncs.entry(peer_id) else { + return; + }; + + self.metrics.as_ref().map(|metrics| { + metrics.initial_sync_bursts_total.inc(); + }); + + if entry.get().hashes.is_empty() { + let started_at = entry.get().started_at; + entry.remove(); + self.record_initial_sync_completion(started_at); + return; + } + + // Fetch statements up to max_statement_payload_size (reserves space for vec encoding) + let max_size = max_statement_payload_size(); + let mut accumulated_size = 0; + let (statements, processed) = match self.statement_store.statements_by_hashes( + &entry.get().hashes, + &mut |_hash, encoded, _stmt| { + if accumulated_size > 0 && accumulated_size + encoded.len() > max_size { + return FilterDecision::Abort; + } + accumulated_size += encoded.len(); + FilterDecision::Take + }, + ) { + Ok(r) => r, + Err(e) => { + log::debug!(target: LOG_TARGET, "Failed to fetch statements for initial sync: {e:?}"); + let started_at = entry.get().started_at; + entry.remove(); + self.record_initial_sync_completion(started_at); + return; + }, + }; + + // Drain processed hashes and check if more remain + entry.get_mut().hashes.drain(..processed); + let has_more = !entry.get().hashes.is_empty(); + drop(entry); + + // Send statements (already sized to fit in one message) + let to_send: Vec<_> = statements.iter().map(|(_, stmt)| stmt).collect(); + match self.send_statement_chunk(&peer_id, &to_send).await { + SendChunkResult::Failed => { + if let Some(pending) = self.pending_initial_syncs.remove(&peer_id) { + self.record_initial_sync_completion(pending.started_at); + } + return; + }, + SendChunkResult::Sent(sent) => { + debug_assert_eq!(to_send.len(), sent); + self.metrics.as_ref().map(|metrics| { + metrics.initial_sync_statements_sent.inc_by(sent as u64); + }); + // Mark statements as known + if let Some(peer) = self.peers.get_mut(&peer_id) { + for (hash, _) in &statements { + peer.known_statements.insert(*hash); + } + } + }, + SendChunkResult::Empty | SendChunkResult::Skipped => {}, + } + + // Re-queue if more hashes remain + if has_more { + self.initial_sync_peer_queue.push_back(peer_id); + } else { + if let Some(pending) = self.pending_initial_syncs.remove(&peer_id) { + self.record_initial_sync_completion(pending.started_at); + } + } + } } #[cfg(test)] @@ -851,6 +1234,45 @@ mod tests { self.statements.lock().unwrap().contains_key(hash) } + fn statement_hashes(&self) -> Vec { + self.statements.lock().unwrap().keys().cloned().collect() + } + + fn statements_by_hashes( + &self, + hashes: &[sp_statement_store::Hash], + filter: &mut dyn FnMut( + &sp_statement_store::Hash, + &[u8], + &sp_statement_store::Statement, + ) -> FilterDecision, + ) -> sp_statement_store::Result<( + Vec<(sp_statement_store::Hash, sp_statement_store::Statement)>, + usize, + )> { + let statements = self.statements.lock().unwrap(); + let mut result = Vec::new(); + let mut processed = 0; + for hash in hashes { + let Some(stmt) = statements.get(hash) else { + processed += 1; + continue; + }; + let encoded = stmt.encode(); + match filter(hash, &encoded, stmt) { + FilterDecision::Skip => { + processed += 1; + }, + FilterDecision::Take => { + processed += 1; + result.push((*hash, stmt.clone())); + }, + FilterDecision::Abort => break, + } + } + Ok((result, processed)) + } + fn broadcasts( &self, _match_all_topics: &[sp_statement_store::Topic], @@ -929,10 +1351,7 @@ mod tests { let mut peers = HashMap::new(); peers.insert( peer_id, - Peer { - known_statements: LruHashSet::new(NonZeroUsize::new(100).unwrap()), - role: ObservedRole::Full, - }, + Peer { known_statements: LruHashSet::new(NonZeroUsize::new(100).unwrap()) }, ); let handler = StatementHandler { @@ -952,12 +1371,15 @@ mod tests { statement_store: Arc::new(statement_store.clone()), queue_sender, metrics: None, + initial_sync_timeout: Box::pin(futures::future::pending()), + pending_initial_syncs: HashMap::new(), + initial_sync_peer_queue: VecDeque::new(), }; (handler, statement_store, network, notification_service, queue_receiver) } - #[test] - fn test_skips_processing_statements_that_already_in_store() { + #[tokio::test] + async fn test_skips_processing_statements_that_already_in_store() { let (mut handler, statement_store, _network, _notification_service, queue_receiver) = build_handler(); @@ -982,8 +1404,8 @@ mod tests { assert!(no_more.is_err(), "Expected only one statement to be queued"); } - #[test] - fn test_reports_for_duplicate_statements() { + #[tokio::test] + async fn test_reports_for_duplicate_statements() { let (mut handler, statement_store, network, _notification_service, queue_receiver) = build_handler(); @@ -1125,4 +1547,437 @@ mod tests { expected_hashes.sort(); assert_eq!(sent_hashes, expected_hashes, "Only small statements should be sent"); } + + fn build_handler_no_peers() -> ( + StatementHandler, + TestStatementStore, + TestNetwork, + TestNotificationService, + ) { + let statement_store = TestStatementStore::new(); + let (queue_sender, _queue_receiver) = async_channel::bounded(2); + let network = TestNetwork::new(); + let notification_service = TestNotificationService::new(); + + let handler = StatementHandler { + protocol_name: "/statement/1".into(), + notification_service: Box::new(notification_service.clone()), + propagate_timeout: (Box::pin(futures::stream::pending()) + as Pin + Send>>) + .fuse(), + pending_statements: FuturesUnordered::new(), + pending_statements_peers: HashMap::new(), + network: network.clone(), + sync: TestSync {}, + sync_event_stream: (Box::pin(futures::stream::pending()) + as Pin + Send>>) + .fuse(), + peers: HashMap::new(), + statement_store: Arc::new(statement_store.clone()), + queue_sender, + metrics: None, + initial_sync_timeout: Box::pin(futures::future::pending()), + pending_initial_syncs: HashMap::new(), + initial_sync_peer_queue: VecDeque::new(), + }; + (handler, statement_store, network, notification_service) + } + + #[tokio::test] + async fn test_initial_sync_burst_single_peer() { + let (mut handler, statement_store, _network, notification_service) = + build_handler_no_peers(); + + // Create 20MB of statements (200 statements x 100KB each) + // Using 100KB ensures ~10 statements per 1MB batch, requiring ~20 bursts + let num_statements = 200; + let statement_size = 100 * 1024; // 100KB per statement + let mut expected_hashes = Vec::new(); + for i in 0..num_statements { + let mut statement = Statement::new(); + let mut data = vec![0u8; statement_size]; + // Use multiple bytes for uniqueness since we have >255 statements + data[0] = (i % 256) as u8; + data[1] = (i / 256) as u8; + statement.set_plain_data(data); + let hash = statement.hash(); + expected_hashes.push(hash); + statement_store.statements.lock().unwrap().insert(hash, statement); + } + + // Setup peer and simulate connection + let peer_id = PeerId::random(); + + handler + .handle_notification_event(NotificationEvent::NotificationStreamOpened { + peer: peer_id, + direction: sc_network::service::traits::Direction::Inbound, + handshake: vec![], + negotiated_fallback: None, + }) + .await; + + // Verify peer was added and initial sync was queued + assert!(handler.peers.contains_key(&peer_id)); + assert!(handler.pending_initial_syncs.contains_key(&peer_id)); + assert_eq!(handler.initial_sync_peer_queue.len(), 1); + + // Process bursts until all statements are sent + let mut burst_count = 0; + while handler.pending_initial_syncs.contains_key(&peer_id) { + handler.process_initial_sync_burst().await; + burst_count += 1; + // Safety limit + assert!(burst_count <= 300, "Too many bursts, possible infinite loop"); + } + + // Verify multiple bursts were needed + // With 200 statements x 100KB each and ~1MB per batch, we expect many bursts + assert!( + burst_count >= 10, + "Expected multiple bursts for 200 statements of 100KB each, got {}", + burst_count + ); + + // Verify all statements were sent + let sent = notification_service.get_sent_notifications(); + let mut sent_hashes: Vec<_> = sent + .iter() + .flat_map(|(peer, notification)| { + assert_eq!(*peer, peer_id); + ::decode(&mut notification.as_slice()).unwrap() + }) + .map(|s| s.hash()) + .collect(); + sent_hashes.sort(); + expected_hashes.sort(); + + assert_eq!( + sent_hashes.len(), + expected_hashes.len(), + "Expected {} statements to be sent, got {}", + expected_hashes.len(), + sent_hashes.len() + ); + assert_eq!(sent_hashes, expected_hashes, "All statements should be sent"); + + // Verify cleanup + assert!(!handler.pending_initial_syncs.contains_key(&peer_id)); + assert!(handler.initial_sync_peer_queue.is_empty()); + } + + #[tokio::test] + async fn test_initial_sync_burst_multiple_peers_round_robin() { + let (mut handler, statement_store, _network, notification_service) = + build_handler_no_peers(); + + // Create 20MB of statements (200 statements x 100KB each) + let num_statements = 200; + let statement_size = 100 * 1024; // 100KB per statement + let mut expected_hashes = Vec::new(); + for i in 0..num_statements { + let mut statement = Statement::new(); + let mut data = vec![0u8; statement_size]; + data[0] = (i % 256) as u8; + data[1] = (i / 256) as u8; + statement.set_plain_data(data); + let hash = statement.hash(); + expected_hashes.push(hash); + statement_store.statements.lock().unwrap().insert(hash, statement); + } + + // Setup 3 peers and simulate connections + let peer1 = PeerId::random(); + let peer2 = PeerId::random(); + let peer3 = PeerId::random(); + + // Connect peers + for peer in [peer1, peer2, peer3] { + handler + .handle_notification_event(NotificationEvent::NotificationStreamOpened { + peer, + direction: sc_network::service::traits::Direction::Inbound, + handshake: vec![], + negotiated_fallback: None, + }) + .await; + } + + // Verify all peers were added and initial syncs were queued + assert_eq!(handler.peers.len(), 3); + assert_eq!(handler.pending_initial_syncs.len(), 3); + assert_eq!(handler.initial_sync_peer_queue.len(), 3); + + // Track which peer was processed on each burst for round-robin verification + let mut peer_burst_order = Vec::new(); + let mut burst_count = 0; + + while !handler.pending_initial_syncs.is_empty() { + // Record which peer will be processed next + if let Some(&next_peer) = handler.initial_sync_peer_queue.front() { + peer_burst_order.push(next_peer); + } + handler.process_initial_sync_burst().await; + burst_count += 1; + // Safety limit + assert!(burst_count <= 500, "Too many bursts, possible infinite loop"); + } + + // Verify multiple bursts were needed + // With 3 peers and many bursts per peer, we expect many bursts total + assert!( + burst_count >= 30, + "Expected many bursts for 3 peers with 200 statements each, got {}", + burst_count + ); + + // Verify round-robin pattern in first 9 bursts (3 peers x 3 rounds) + assert!(peer_burst_order.len() >= 9, "Expected at least 9 bursts"); + // First round + assert_eq!(peer_burst_order[0], peer1, "First burst should be peer1"); + assert_eq!(peer_burst_order[1], peer2, "Second burst should be peer2"); + assert_eq!(peer_burst_order[2], peer3, "Third burst should be peer3"); + // Second round + assert_eq!(peer_burst_order[3], peer1, "Fourth burst should be peer1"); + assert_eq!(peer_burst_order[4], peer2, "Fifth burst should be peer2"); + assert_eq!(peer_burst_order[5], peer3, "Sixth burst should be peer3"); + + // Verify all peers received all statements + let sent = notification_service.get_sent_notifications(); + let mut peer1_hashes: Vec<_> = sent + .iter() + .filter(|(peer, _)| *peer == peer1) + .flat_map(|(_, notification)| { + ::decode(&mut notification.as_slice()).unwrap() + }) + .map(|s| s.hash()) + .collect(); + let mut peer2_hashes: Vec<_> = sent + .iter() + .filter(|(peer, _)| *peer == peer2) + .flat_map(|(_, notification)| { + ::decode(&mut notification.as_slice()).unwrap() + }) + .map(|s| s.hash()) + .collect(); + let mut peer3_hashes: Vec<_> = sent + .iter() + .filter(|(peer, _)| *peer == peer3) + .flat_map(|(_, notification)| { + ::decode(&mut notification.as_slice()).unwrap() + }) + .map(|s| s.hash()) + .collect(); + + peer1_hashes.sort(); + peer2_hashes.sort(); + peer3_hashes.sort(); + expected_hashes.sort(); + + assert_eq!(peer1_hashes, expected_hashes, "Peer1 should receive all statements"); + assert_eq!(peer2_hashes, expected_hashes, "Peer2 should receive all statements"); + assert_eq!(peer3_hashes, expected_hashes, "Peer3 should receive all statements"); + + // Verify cleanup + assert!(handler.pending_initial_syncs.is_empty()); + assert!(handler.initial_sync_peer_queue.is_empty()); + } + + #[tokio::test] + async fn test_send_statements_in_chunks_exact_max_size() { + let (mut handler, statement_store, _network, notification_service, _queue_receiver) = + build_handler(); + + // Calculate the data sizes so that 100 statements together exactly fill max_size. + // This tests that all 100 statements fit in a single notification. + // + // The limit check in find_sendable_chunk is: + // max_size = MAX_STATEMENT_NOTIFICATION_SIZE - Compact::::max_encoded_len() + // + // Statement encoding (encodes as Vec): + // - Compact for number of fields (1 byte for value 2: expiry + data) + // - Field::Expiry discriminant (1 byte, value 2) + // - u64 expiry value (8 bytes) + // - Field::Data discriminant (1 byte, value 8) + // - Compact for the data length (2 bytes for small data) + // So per-statement overhead = 1 + 1 + 8 + 1 + 2 = 13 bytes + let max_size = MAX_STATEMENT_NOTIFICATION_SIZE as usize - Compact::::max_encoded_len(); + let num_statements: usize = 100; + let per_statement_overhead = 1 + 1 + 8 + 1 + 2; // Vec length + expiry field + data discriminant + Compact data length + let total_overhead = per_statement_overhead * num_statements; + let total_data_size = max_size - total_overhead; + let per_statement_data_size = total_data_size / num_statements; + let remainder = total_data_size % num_statements; + + let mut expected_hashes = Vec::with_capacity(num_statements); + let mut total_encoded_size = 0; + + for i in 0..num_statements { + let mut statement = Statement::new(); + // Distribute remainder across first `remainder` statements to exactly fill max_size + let extra = if i < remainder { 1 } else { 0 }; + let mut data = vec![42u8; per_statement_data_size + extra]; + // Make each statement unique by modifying the first few bytes + data[0] = i as u8; + data[1] = (i >> 8) as u8; + statement.set_plain_data(data); + + total_encoded_size += statement.encoded_size(); + + let hash = statement.hash(); + expected_hashes.push(hash); + statement_store.recent_statements.lock().unwrap().insert(hash, statement); + } + + // Verify our calculation: total encoded size should be <= max_size + assert!( + total_encoded_size == max_size, + "Total encoded size {} should be <= max_size {}", + total_encoded_size, + max_size + ); + + handler.propagate_statements().await; + + let sent = notification_service.get_sent_notifications(); + + // All statements should fit in a single chunk + assert_eq!( + sent.len(), + 1, + "Expected 1 notification for all {} statements, but got {}", + num_statements, + sent.len() + ); + + let (_peer, notification) = &sent[0]; + assert!( + notification.len() <= MAX_STATEMENT_NOTIFICATION_SIZE as usize, + "Notification size {} exceeds limit {}", + notification.len(), + MAX_STATEMENT_NOTIFICATION_SIZE + ); + + let decoded = ::decode(&mut notification.as_slice()).unwrap(); + assert_eq!( + decoded.len(), + num_statements, + "Expected {} statements in the notification", + num_statements + ); + + // Verify all statements were sent (order may differ due to HashMap iteration) + let mut received_hashes: Vec<_> = decoded.iter().map(|s| s.hash()).collect(); + expected_hashes.sort(); + received_hashes.sort(); + assert_eq!(expected_hashes, received_hashes, "All statement hashes should match"); + } + + #[tokio::test] + async fn test_initial_sync_burst_size_limit_consistency() { + // This test verifies that process_initial_sync_burst and find_sendable_chunk + // use the same size limit (max_statement_payload_size). + // + // Previously there was a bug where the filter in process_initial_sync_burst used + // MAX_STATEMENT_NOTIFICATION_SIZE, but find_sendable_chunk reserved extra space + // for Compact::::max_encoded_len(). This caused a debug_assert failure when + // statements fit the filter but not find_sendable_chunk. + // + // With the fix, both use max_statement_payload_size(), so the filter will reject + // statements that wouldn't fit in find_sendable_chunk. + let (mut handler, statement_store, _network, notification_service) = + build_handler_no_peers(); + + let payload_limit = max_statement_payload_size(); + + // Create first statement that's just over half the payload limit + let first_stmt_data_size = payload_limit / 2 + 10; + let mut stmt1 = Statement::new(); + stmt1.set_plain_data(vec![1u8; first_stmt_data_size]); + let stmt1_encoded_size = stmt1.encoded_size(); + + // Create second statement that, combined with the first, exceeds the payload limit. + // This means the filter will only accept the first statement. + let remaining = payload_limit.saturating_sub(stmt1_encoded_size); + let target_stmt2_encoded = remaining + 3; // 3 bytes over limit when combined + let stmt2_data_size = target_stmt2_encoded.saturating_sub(4); // ~4 bytes encoding overhead + let mut stmt2 = Statement::new(); + stmt2.set_plain_data(vec![2u8; stmt2_data_size]); + let stmt2_encoded_size = stmt2.encoded_size(); + + let total_encoded = stmt1_encoded_size + stmt2_encoded_size; + + // Verify our setup: total exceeds payload limit + assert!( + total_encoded > payload_limit, + "Total {} should exceed payload_limit {} so filter rejects second statement", + total_encoded, + payload_limit + ); + + let hash1 = stmt1.hash(); + let hash2 = stmt2.hash(); + statement_store.statements.lock().unwrap().insert(hash1, stmt1); + statement_store.statements.lock().unwrap().insert(hash2, stmt2); + + // Setup peer and simulate connection + let peer_id = PeerId::random(); + + handler + .handle_notification_event(NotificationEvent::NotificationStreamOpened { + peer: peer_id, + direction: sc_network::service::traits::Direction::Inbound, + handshake: vec![], + negotiated_fallback: None, + }) + .await; + + // Verify initial sync was queued with both hashes + assert!(handler.pending_initial_syncs.contains_key(&peer_id)); + assert_eq!(handler.pending_initial_syncs.get(&peer_id).unwrap().hashes.len(), 2); + + // Process first burst - should send only one statement (the other doesn't fit) + handler.process_initial_sync_burst().await; + + // With the fix, the filter and find_sendable_chunk use the same limit, + // so no assertion failure occurs. Only one statement is fetched and sent. + let sent = notification_service.get_sent_notifications(); + assert_eq!(sent.len(), 1, "First burst should send one notification"); + + let decoded = ::decode(&mut sent[0].1.as_slice()).unwrap(); + assert_eq!(decoded.len(), 1, "First notification should contain one statement"); + + // Verify one of the two statements was sent (order is non-deterministic due to HashMap) + let sent_hash = decoded[0].hash(); + assert!( + sent_hash == hash1 || sent_hash == hash2, + "Sent statement should be one of the two created" + ); + + // Second statement should still be pending + assert!(handler.pending_initial_syncs.contains_key(&peer_id)); + assert_eq!(handler.pending_initial_syncs.get(&peer_id).unwrap().hashes.len(), 1); + + // Process second burst - should send the remaining statement + handler.process_initial_sync_burst().await; + + let sent = notification_service.get_sent_notifications(); + assert_eq!(sent.len(), 2, "Second burst should send another notification"); + + // Both statements should now be sent + let mut sent_hashes: Vec<_> = sent + .iter() + .flat_map(|(_, notification)| { + ::decode(&mut notification.as_slice()).unwrap() + }) + .map(|s| s.hash()) + .collect(); + sent_hashes.sort(); + let mut expected_hashes = vec![hash1, hash2]; + expected_hashes.sort(); + assert_eq!(sent_hashes, expected_hashes, "Both statements should be sent"); + + // No more pending + assert!(!handler.pending_initial_syncs.contains_key(&peer_id)); + } } diff --git a/substrate/client/network/sync/Cargo.toml b/substrate/client/network/sync/Cargo.toml index c92362dabf703..5478b9044995b 100644 --- a/substrate/client/network/sync/Cargo.toml +++ b/substrate/client/network/sync/Cargo.toml @@ -37,7 +37,6 @@ smallvec = { workspace = true, default-features = true } sp-arithmetic = { workspace = true, default-features = true } sp-blockchain = { workspace = true, default-features = true } sp-consensus = { workspace = true, default-features = true } -sp-consensus-grandpa = { workspace = true, default-features = true } sp-core = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } thiserror = { workspace = true } diff --git a/substrate/client/network/sync/src/block_announce_validator.rs b/substrate/client/network/sync/src/block_announce_validator.rs index cb1d5ee6b22ee..655686abdbc1d 100644 --- a/substrate/client/network/sync/src/block_announce_validator.rs +++ b/substrate/client/network/sync/src/block_announce_validator.rs @@ -139,7 +139,7 @@ impl BlockAnnounceValidator { peer_id, hash, ); - return + return; } // Try to allocate a slot for this block announce validation. @@ -153,7 +153,7 @@ impl BlockAnnounceValidator { hash, peer_id, ); - return + return; }, AllocateSlotForBlockAnnounceValidation::MaximumPeerSlotsReached => { debug!( @@ -163,7 +163,7 @@ impl BlockAnnounceValidator { hash, peer_id, ); - return + return; }, } @@ -231,7 +231,7 @@ impl BlockAnnounceValidator { peer_id: &PeerId, ) -> AllocateSlotForBlockAnnounceValidation { if self.validations.len() >= MAX_CONCURRENT_BLOCK_ANNOUNCE_VALIDATIONS { - return AllocateSlotForBlockAnnounceValidation::TotalMaximumSlotsReached + return AllocateSlotForBlockAnnounceValidation::TotalMaximumSlotsReached; } match self.validations_per_peer.entry(*peer_id) { @@ -262,12 +262,13 @@ impl BlockAnnounceValidator { ); }, Entry::Occupied(mut entry) => match entry.get().checked_sub(1) { - Some(value) => + Some(value) => { if value == 0 { entry.remove(); } else { *entry.get_mut() = value; - }, + } + }, None => { entry.remove(); diff --git a/substrate/client/network/sync/src/block_request_handler.rs b/substrate/client/network/sync/src/block_request_handler.rs index b83aa0b864c88..6f9aa0b07e657 100644 --- a/substrate/client/network/sync/src/block_request_handler.rs +++ b/substrate/client/network/sync/src/block_request_handler.rs @@ -60,7 +60,6 @@ use std::{ /// Maximum blocks per response. pub(crate) const MAX_BLOCKS_IN_RESPONSE: usize = 128; -const MAX_BODY_BYTES: usize = 8 * 1024 * 1024; const MAX_NUMBER_OF_SAME_REQUESTS_PER_PEER: usize = 2; mod rep { @@ -360,7 +359,7 @@ where let client_header_from_block_id = |block_id: BlockId| -> Result, HandleRequestError> { if let Some(hash) = self.client.block_hash_from_id(&block_id)? { - return self.client.header(hash).map_err(Into::into) + return self.client.header(hash).map_err(Into::into); } Ok(None) }; @@ -400,11 +399,12 @@ where let body = if get_body { match self.client.block_body(hash)? { - Some(mut extrinsics) => - extrinsics.iter_mut().map(|extrinsic| extrinsic.encode()).collect(), + Some(mut extrinsics) => { + extrinsics.iter_mut().map(|extrinsic| extrinsic.encode()).collect() + }, None => { log::trace!(target: LOG_TARGET, "Missing data for block request."); - break + break; }, } } else { @@ -441,13 +441,19 @@ where indexed_body, }; - let new_total_size = total_size + - block_data.body.iter().map(|ex| ex.len()).sum::() + - block_data.indexed_body.iter().map(|ex| ex.len()).sum::(); + let new_total_size = total_size + block_data.encoded_len(); + + // Reserve 20 KiB for protocol overhead (length prefixes of `BlockData` + the final + // encoding in `BlockResponse`) + if new_total_size > (MAX_RESPONSE_SIZE as usize - 20 * 1024) { + if blocks.is_empty() { + log::error!( + target: LOG_TARGET, + "Single block response is bigger than the max allowed response size! This is a bug!" + ); + } - // Send at least one block, but make sure to not exceed the limit. - if !blocks.is_empty() && new_total_size > MAX_BODY_BYTES { - break + break; } total_size = new_total_size; @@ -455,14 +461,14 @@ where blocks.push(block_data); if blocks.len() >= max_blocks as usize { - break + break; } match direction { Direction::Ascending => block_id = BlockId::Number(number + One::one()), Direction::Descending => { if number.is_zero() { - break + break; } block_id = BlockId::Hash(parent_hash) }, diff --git a/substrate/client/network/sync/src/blocks.rs b/substrate/client/network/sync/src/blocks.rs index eedba18bebe31..7f4464914df87 100644 --- a/substrate/client/network/sync/src/blocks.rs +++ b/substrate/client/network/sync/src/blocks.rs @@ -83,7 +83,7 @@ impl BlockCollection { /// Insert a set of blocks into collection. pub fn insert(&mut self, start: NumberFor, blocks: Vec>, who: PeerId) { if blocks.is_empty() { - return + return; } match self.blocks.get(&start) { @@ -92,7 +92,7 @@ impl BlockCollection { }, Some(BlockRangeState::Complete(existing)) if existing.len() >= blocks.len() => { trace!(target: LOG_TARGET, "Ignored block data already downloaded: {}", start); - return + return; }, _ => (), } @@ -118,7 +118,7 @@ impl BlockCollection { ) -> Option>> { if peer_best <= common { // Bail out early - return None + return None; } // First block number that we need to download let first_different = common + >::one(); @@ -136,35 +136,41 @@ impl BlockCollection { // the range start. (Some((start, &BlockRangeState::Downloading { ref len, downloading })), _) if downloading < max_parallel && *start >= first_different => - (*start..*start + *len, downloading), + { + (*start..*start + *len, downloading) + }, // If there is a gap between ranges requested, download this gap unless the peer // has common number above the gap start (Some((start, r)), Some((next_start, _))) if *start + r.len() < *next_start && *start + r.len() >= first_different => - (*start + r.len()..cmp::min(*next_start, *start + r.len() + count), 0), + { + (*start + r.len()..cmp::min(*next_start, *start + r.len() + count), 0) + }, // Download `count` blocks after the last range requested unless the peer // has common number above this new range - (Some((start, r)), None) if *start + r.len() >= first_different => - (*start + r.len()..*start + r.len() + count, 0), + (Some((start, r)), None) if *start + r.len() >= first_different => { + (*start + r.len()..*start + r.len() + count, 0) + }, // If there are no ranges currently requested, download `count` blocks after // `common` number (None, None) => (first_different..first_different + count, 0), // If the first range starts above `common + 1`, download the gap at the start - (None, Some((start, _))) if *start > first_different => - (first_different..cmp::min(first_different + count, *start), 0), + (None, Some((start, _))) if *start > first_different => { + (first_different..cmp::min(first_different + count, *start), 0) + }, // Move on to the next range pair _ => { prev = next; - continue + continue; }, - } + }; } }; // crop to peers best if range.start > peer_best { trace!(target: LOG_TARGET, "Out of range for peer {} ({} vs {})", who, range.start, peer_best); - return None + return None; } range.end = cmp::min(peer_best + One::one(), range.end); @@ -175,7 +181,7 @@ impl BlockCollection { .map_or(false, |(n, _)| range.start > *n + max_ahead.into()) { trace!(target: LOG_TARGET, "Too far ahead for peer {} ({})", who, range.start); - return None + return None; } self.peer_requests.insert(who, range.start); @@ -206,7 +212,7 @@ impl BlockCollection { let mut prev = from; for (&start, range_data) in &mut self.blocks { if start > prev { - break + break; } let len = match range_data { BlockRangeState::Complete(blocks) => { diff --git a/substrate/client/network/sync/src/engine.rs b/substrate/client/network/sync/src/engine.rs index 77abb56a4affd..df650b53a0309 100644 --- a/substrate/client/network/sync/src/engine.rs +++ b/substrate/client/network/sync/src/engine.rs @@ -663,10 +663,12 @@ where } self.event_streams.push(tx); }, - ToServiceCommand::RequestJustification(hash, number) => - self.strategy.request_justification(&hash, number), - ToServiceCommand::ClearJustificationRequests => - self.strategy.clear_justification_requests(), + ToServiceCommand::RequestJustification(hash, number) => { + self.strategy.request_justification(&hash, number) + }, + ToServiceCommand::ClearJustificationRequests => { + self.strategy.clear_justification_requests() + }, ToServiceCommand::BlocksProcessed(imported, count, results) => { self.strategy.on_blocks_processed(imported, count, results); }, @@ -734,8 +736,9 @@ where self.peers.iter().map(|(peer_id, peer)| (*peer_id, peer.info)).collect(); let _ = tx.send(peers_info); }, - ToServiceCommand::OnBlockFinalized(hash, header) => - self.strategy.on_block_finalized(&hash, *header.number()), + ToServiceCommand::OnBlockFinalized(hash, header) => { + self.strategy.on_block_finalized(&hash, *header.number()) + }, } } diff --git a/substrate/client/network/sync/src/futures_stream.rs b/substrate/client/network/sync/src/futures_stream.rs index c33d582345b64..d9a10ecb5c5b1 100644 --- a/substrate/client/network/sync/src/futures_stream.rs +++ b/substrate/client/network/sync/src/futures_stream.rs @@ -61,7 +61,7 @@ impl Stream for FuturesStream { let Poll::Ready(Some(result)) = self.futures.poll_next_unpin(cx) else { self.waker = Some(cx.waker().clone()); - return Poll::Pending + return Poll::Pending; }; Poll::Ready(Some(result)) diff --git a/substrate/client/network/sync/src/justification_requests.rs b/substrate/client/network/sync/src/justification_requests.rs index 385a9efb54985..738e9aa3b3c5b 100644 --- a/substrate/client/network/sync/src/justification_requests.rs +++ b/substrate/client/network/sync/src/justification_requests.rs @@ -202,7 +202,7 @@ impl ExtraRequests { metrics.importing.inc(); } } - return Some((who, request.0, request.1, r)) + return Some((who, request.0, request.1, r)); } else { trace!(target: LOG_TARGET, "Empty {} response from {:?} for {:?}", @@ -237,7 +237,7 @@ impl ExtraRequests { let request = (*best_finalized_hash, best_finalized_number); if self.try_finalize_root::<()>(request, Ok(request), false) { - return Ok(()) + return Ok(()); } if best_finalized_number > self.best_seen_finalized_number { @@ -282,7 +282,7 @@ impl ExtraRequests { reschedule_on_failure: bool, ) -> bool { if !self.importing_requests.remove(&request) { - return false + return false; } if let Some(metrics) = &self.metrics { metrics.importing.dec(); @@ -297,7 +297,7 @@ impl ExtraRequests { metrics.pending.inc(); } } - return true + return true; }, }; @@ -306,7 +306,7 @@ impl ExtraRequests { "‼️ Imported {:?} {:?} which isn't a root in the tree: {:?}", finalized_hash, finalized_number, self.tree.roots().collect::>() ); - return true + return true; } self.failed_requests.clear(); @@ -369,7 +369,7 @@ impl<'a, B: BlockT> Matcher<'a, B> { peers: &HashMap>, ) -> Option<(PeerId, ExtraRequest)> { if self.remaining == 0 { - return None + return None; } // clean up previously failed requests so we can retry again @@ -393,11 +393,11 @@ impl<'a, B: BlockT> Matcher<'a, B> { // only ask peers that have synced at least up to the block number that we're asking // the extra for if sync.best_number < request.1 { - continue + continue; } // don't request to any peers that already have pending requests if self.extras.active_requests.contains_key(peer) { - continue + continue; } // only ask if the same request has not failed for this peer before if self @@ -407,7 +407,7 @@ impl<'a, B: BlockT> Matcher<'a, B> { .map(|rr| rr.iter().any(|i| &i.0 == peer)) .unwrap_or(false) { - continue + continue; } self.extras.active_requests.insert(*peer, request); if let Some(metrics) = &self.extras.metrics { @@ -419,7 +419,7 @@ impl<'a, B: BlockT> Matcher<'a, B> { self.extras.request_type_name, peer, request, ); - return Some((*peer, request)) + return Some((*peer, request)); } self.extras.pending_requests.push_back(request); @@ -429,7 +429,7 @@ impl<'a, B: BlockT> Matcher<'a, B> { self.remaining -= 1; if self.remaining == 0 { - break + break; } } diff --git a/substrate/client/network/sync/src/service/network.rs b/substrate/client/network/sync/src/service/network.rs index 139e1a986a927..487534b0a9332 100644 --- a/substrate/client/network/sync/src/service/network.rs +++ b/substrate/client/network/sync/src/service/network.rs @@ -119,12 +119,15 @@ impl NetworkServiceProvider { while let Some(inner) = rx.next().await { match inner { - ToServiceCommand::DisconnectPeer(peer, protocol_name) => - service.disconnect_peer(peer, protocol_name), - ToServiceCommand::ReportPeer(peer, reputation_change) => - service.report_peer(peer, reputation_change), - ToServiceCommand::StartRequest(peer, protocol, request, tx, connect) => - service.start_request(peer, protocol, request, None, tx, connect), + ToServiceCommand::DisconnectPeer(peer, protocol_name) => { + service.disconnect_peer(peer, protocol_name) + }, + ToServiceCommand::ReportPeer(peer, reputation_change) => { + service.report_peer(peer, reputation_change) + }, + ToServiceCommand::StartRequest(peer, protocol, request, tx, connect) => { + service.start_request(peer, protocol, request, None, tx, connect) + }, } } } diff --git a/substrate/client/network/sync/src/strategy/chain_sync.rs b/substrate/client/network/sync/src/strategy/chain_sync.rs index 7eed775e03bfb..96aeb3786f61a 100644 --- a/substrate/client/network/sync/src/strategy/chain_sync.rs +++ b/substrate/client/network/sync/src/strategy/chain_sync.rs @@ -44,6 +44,7 @@ use crate::{ LOG_TARGET, }; +use codec::Encode; use futures::{channel::oneshot, FutureExt}; use log::{debug, error, info, trace, warn}; use prometheus_endpoint::{register, Gauge, PrometheusError, Registry, U64}; @@ -68,7 +69,8 @@ use sp_runtime::{ use std::{ any::Any, collections::{HashMap, HashSet}, - ops::Range, + fmt, + ops::{AddAssign, Range}, sync::Arc, }; @@ -200,10 +202,62 @@ impl Default for AllowedRequests { } } +/// Statistics for gap sync operations. +#[derive(Debug, Default, Clone)] +struct GapSyncStats { + /// Size of headers downloaded during gap sync + header_bytes: usize, + /// Size of bodies downloaded during gap sync + body_bytes: usize, + /// Size of justifications downloaded during gap sync + justification_bytes: usize, +} + +impl GapSyncStats { + fn new() -> Self { + Self::default() + } + + fn total_bytes(&self) -> usize { + self.header_bytes + self.body_bytes + self.justification_bytes + } + + fn bytes_to_mib(bytes: usize) -> f64 { + bytes as f64 / (1024.0 * 1024.0) + } +} + +impl fmt::Display for GapSyncStats { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let total = self.total_bytes(); + write!( + f, + "hdr: {} B ({:.2} MiB), body: {} B ({:.2} MiB), just: {} B ({:.2} MiB) | total: {} B ({:.2} MiB)", + self.header_bytes, + Self::bytes_to_mib(self.header_bytes), + self.body_bytes, + Self::bytes_to_mib(self.body_bytes), + self.justification_bytes, + Self::bytes_to_mib(self.justification_bytes), + total, + Self::bytes_to_mib(total), + ) + } +} + +impl AddAssign for GapSyncStats { + fn add_assign(&mut self, other: Self) { + self.header_bytes += other.header_bytes; + self.body_bytes += other.body_bytes; + self.justification_bytes += other.justification_bytes; + } +} + struct GapSync { blocks: BlockCollection, best_queued_number: NumberFor, target: NumberFor, + stats: GapSyncStats, } /// Sync operation mode. @@ -220,6 +274,32 @@ pub enum ChainSyncMode { }, } +impl ChainSyncMode { + /// Returns the base block attributes required for this sync mode. + pub fn required_block_attributes(&self, is_gap: bool, is_archive: bool) -> BlockAttributes { + let attrs = match self { + ChainSyncMode::Full => { + BlockAttributes::HEADER | BlockAttributes::JUSTIFICATION | BlockAttributes::BODY + }, + ChainSyncMode::LightState { storage_chain_mode: false, .. } => { + BlockAttributes::HEADER | BlockAttributes::JUSTIFICATION | BlockAttributes::BODY + }, + ChainSyncMode::LightState { storage_chain_mode: true, .. } => { + BlockAttributes::HEADER | + BlockAttributes::JUSTIFICATION | + BlockAttributes::INDEXED_BODY + }, + }; + // Skip body requests for gap sync only if not in archive mode. + // Archive nodes need bodies to maintain complete block history. + if is_gap && !is_archive { + attrs & !BlockAttributes::BODY + } else { + attrs + } + } +} + /// All the data we have about a Peer that we are trying to sync with #[derive(Debug, Clone)] pub(crate) struct PeerSync { @@ -337,6 +417,9 @@ pub struct ChainSync { import_existing: bool, /// Block downloader block_downloader: Arc>, + /// Whether to archive blocks. When `true`, gap sync requests bodies to maintain complete + /// block history. + archive_blocks: bool, /// Gap download process. gap_sync: Option>, /// Pending actions. @@ -418,12 +501,12 @@ where peer } else { error!(target: LOG_TARGET, "πŸ’” Called `on_validated_block_announce` with a bad peer ID {peer_id}"); - return Some((hash, number)) + return Some((hash, number)); }; if let PeerSyncState::AncestorSearch { .. } = peer.state { trace!(target: LOG_TARGET, "Peer {} is in the ancestor search state.", peer_id); - return None + return None; } let peer_info = is_best.then(|| { @@ -453,7 +536,7 @@ where if let Some(target) = self.fork_targets.get_mut(&hash) { target.peers.insert(peer_id); } - return peer_info + return peer_info; } if ancient_parent { @@ -464,7 +547,7 @@ where hash, announce.header, ); - return peer_info + return peer_info; } if self.status().state == SyncState::Idle { @@ -525,14 +608,14 @@ where if self.is_known(hash) { debug!(target: LOG_TARGET, "Refusing to sync known hash {hash:?}"); - return + return; } trace!(target: LOG_TARGET, "Downloading requested old fork {hash:?}"); for peer_id in &peers { if let Some(peer) = self.peers.get_mut(peer_id) { if let PeerSyncState::AncestorSearch { .. } = peer.state { - continue + continue; } if number > peer.best_number { @@ -668,7 +751,7 @@ where } for (result, hash) in results { if has_error { - break + break; } has_error |= result.is_err(); @@ -725,7 +808,7 @@ where self.complete_gap_if_target(number); }, - Err(BlockImportError::IncompleteHeader(peer_id)) => + Err(BlockImportError::IncompleteHeader(peer_id)) => { if let Some(peer) = peer_id { warn!( target: LOG_TARGET, @@ -734,7 +817,8 @@ where self.actions .push(SyncingAction::DropPeer(BadPeer(peer, rep::INCOMPLETE_HEADER))); self.restart(); - }, + } + }, Err(BlockImportError::VerificationFailed(peer_id, e)) => { let extra_message = peer_id .map_or_else(|| "".into(), |peer| format!(" received from ({peer})")); @@ -751,14 +835,15 @@ where self.restart(); }, - Err(BlockImportError::BadBlock(peer_id)) => + Err(BlockImportError::BadBlock(peer_id)) => { if let Some(peer) = peer_id { warn!( target: LOG_TARGET, "πŸ’” Block {hash:?} received from peer {peer} has been blacklisted", ); self.actions.push(SyncingAction::DropPeer(BadPeer(peer, rep::BAD_BLOCK))); - }, + } + }, Err(BlockImportError::MissingState) => { // This may happen if the chain we were requesting upon has been discarded // in the meantime because other chain has been finalized. @@ -839,6 +924,7 @@ where let warp_sync_progress = self.gap_sync.as_ref().map(|gap_sync| WarpSyncProgress { phase: WarpSyncPhase::DownloadingBlocks(gap_sync.best_queued_number), total_bytes: 0, + status: None, }); SyncStatus { @@ -889,7 +975,7 @@ where let state_request = self.state_request().into_iter().map(|(peer_id, request)| { trace!( target: LOG_TARGET, - "Created `StrategyRequest` to {peer_id}.", + "Created `StateRequest` to {peer_id}.", ); let (tx, rx) = oneshot::channel(); @@ -942,6 +1028,7 @@ where max_blocks_per_request: u32, state_request_protocol_name: ProtocolName, block_downloader: Arc>, + archive_blocks: bool, metrics_registry: Option<&Registry>, initial_peers: impl Iterator)>, ) -> Result { @@ -965,6 +1052,7 @@ where state_sync: None, import_existing: false, block_downloader, + archive_blocks, gap_sync: None, actions: Vec::new(), metrics: metrics_registry.and_then(|r| match Metrics::register(r) { @@ -989,14 +1077,17 @@ where /// Complete the gap sync if the target number is reached and there is a gap. fn complete_gap_if_target(&mut self, number: NumberFor) { - let gap_sync_complete = self.gap_sync.as_ref().map_or(false, |s| s.target == number); - if gap_sync_complete { - info!( - target: LOG_TARGET, - "Block history download is complete." - ); - self.gap_sync = None; + let Some(gap_sync) = &self.gap_sync else { return }; + + if gap_sync.target != number { + return; } + + info!( + target: LOG_TARGET, + "Block history download is complete.", + ); + self.gap_sync = None; } #[must_use] @@ -1183,6 +1274,7 @@ where gap_sync.blocks.insert(start_block, blocks, *peer_id); } gap = true; + let mut batch_gap_sync_stats = GapSyncStats::new(); let blocks: Vec<_> = gap_sync .blocks .ready_blocks(gap_sync.best_queued_number + One::one()) @@ -1194,6 +1286,26 @@ where block_data.block.justification, ) }); + let gap_sync_stats = GapSyncStats { + header_bytes: block_data + .block + .header + .as_ref() + .map(|h| h.encoded_size()) + .unwrap_or(0), + body_bytes: block_data + .block + .body + .as_ref() + .map(|b| b.encoded_size()) + .unwrap_or(0), + justification_bytes: justifications + .as_ref() + .map(|j| j.encoded_size()) + .unwrap_or(0), + }; + batch_gap_sync_stats += gap_sync_stats; + IncomingBlock { hash: block_data.block.hash, header: block_data.block.header, @@ -1202,18 +1314,31 @@ where justifications, origin: block_data.origin, allow_missing_state: true, - import_existing: self.import_existing, + // Warp-synced blocks are header-only. Allow re-import to + // store bodies if gap sync requested them. + import_existing: true, skip_execution: true, state: None, } }) .collect(); + debug!( target: LOG_TARGET, "Drained {} gap blocks from {}", blocks.len(), gap_sync.best_queued_number, ); + + gap_sync.stats += batch_gap_sync_stats; + + if blocks.len() > 0 { + trace!( + target: LOG_TARGET, + "Gap sync cumulative stats: {}", + gap_sync.stats + ); + } blocks } else { debug!(target: LOG_TARGET, "Unexpected gap block response from {peer_id}"); @@ -1427,6 +1552,7 @@ where (Some(first), Some(_)) => format!(" ({})", first), _ => Default::default(), }; + trace!( target: LOG_TARGET, "BlockResponse {} from {} with {} blocks {}", @@ -1521,19 +1647,6 @@ where } } - fn required_block_attributes(&self) -> BlockAttributes { - match self.mode { - ChainSyncMode::Full => - BlockAttributes::HEADER | BlockAttributes::JUSTIFICATION | BlockAttributes::BODY, - ChainSyncMode::LightState { storage_chain_mode: false, .. } => - BlockAttributes::HEADER | BlockAttributes::JUSTIFICATION | BlockAttributes::BODY, - ChainSyncMode::LightState { storage_chain_mode: true, .. } => - BlockAttributes::HEADER | - BlockAttributes::JUSTIFICATION | - BlockAttributes::INDEXED_BODY, - } - } - fn skip_execution(&self) -> bool { match self.mode { ChainSyncMode::Full => false, @@ -1552,9 +1665,14 @@ where ); } - let origin = if !gap && !self.status().state.is_major_syncing() { + let origin = if gap { + // Gap sync: filling historical blocks after warp sync + BlockOrigin::GapSync + } else if !self.status().state.is_major_syncing() { + // Normal operation: receiving new blocks BlockOrigin::NetworkBroadcast } else { + // Initial sync: catching up with the chain BlockOrigin::NetworkInitialSync }; @@ -1720,6 +1838,7 @@ where best_queued_number: start - One::one(), target: end, blocks: BlockCollection::new(), + stats: GapSyncStats::new(), }); } trace!( @@ -1815,7 +1934,8 @@ where return Vec::new(); } let is_major_syncing = self.status().state.is_major_syncing(); - let attrs = self.required_block_attributes(); + let mode = self.mode; + let is_archive = self.archive_blocks; let blocks = &mut self.blocks; let fork_targets = &mut self.fork_targets; let last_finalized = @@ -1869,7 +1989,7 @@ where &id, peer, blocks, - attrs, + mode.required_block_attributes(false, is_archive), max_parallel, max_blocks_per_request, last_finalized, @@ -1890,7 +2010,7 @@ where fork_targets, best_queued, last_finalized, - attrs, + mode.required_block_attributes(false, is_archive), |hash| { if queue_blocks.contains(hash) { BlockStatus::Queued @@ -1909,7 +2029,7 @@ where &id, peer, &mut sync.blocks, - attrs, + mode.required_block_attributes(true, is_archive), sync.target, sync.best_queued_number, max_blocks_per_request, diff --git a/substrate/client/network/sync/src/strategy/chain_sync/test.rs b/substrate/client/network/sync/src/strategy/chain_sync/test.rs index f5b21c67fbbd4..34a529f6de3be 100644 --- a/substrate/client/network/sync/src/strategy/chain_sync/test.rs +++ b/substrate/client/network/sync/src/strategy/chain_sync/test.rs @@ -93,6 +93,7 @@ fn processes_empty_response_on_justification_request_for_unknown_block() { 64, ProtocolName::Static(""), Arc::new(MockBlockDownloader::new()), + false, None, std::iter::empty(), ) @@ -158,6 +159,7 @@ fn restart_doesnt_affect_peers_downloading_finality_data() { 8, ProtocolName::Static(""), Arc::new(MockBlockDownloader::new()), + false, None, std::iter::empty(), ) @@ -364,6 +366,7 @@ fn do_ancestor_search_when_common_block_to_best_queued_gap_is_to_big() { 64, ProtocolName::Static(""), Arc::new(MockBlockDownloader::new()), + false, None, std::iter::empty(), ) @@ -522,6 +525,7 @@ fn can_sync_huge_fork() { 64, protocol_name, proxy_block_downloader.clone(), + false, None, std::iter::empty(), ) @@ -557,7 +561,7 @@ fn can_sync_huge_fork() { request = if actions.is_empty() { // We found the ancestor - break + break; } else { assert_eq!(actions.len(), 1); match actions.pop().unwrap() { @@ -670,6 +674,7 @@ fn syncs_fork_without_duplicate_requests() { 64, protocol_name, proxy_block_downloader.clone(), + false, None, std::iter::empty(), ) @@ -705,7 +710,7 @@ fn syncs_fork_without_duplicate_requests() { request = if actions.is_empty() { // We found the ancestor - break + break; } else { assert_eq!(actions.len(), 1); match actions.pop().unwrap() { @@ -818,6 +823,7 @@ fn removes_target_fork_on_disconnect() { 64, ProtocolName::Static(""), Arc::new(MockBlockDownloader::new()), + false, None, std::iter::empty(), ) @@ -853,6 +859,7 @@ fn can_import_response_with_missing_blocks() { 64, ProtocolName::Static(""), Arc::new(MockBlockDownloader::new()), + false, None, std::iter::empty(), ) @@ -894,6 +901,7 @@ fn sync_restart_removes_block_but_not_justification_requests() { 64, ProtocolName::Static(""), Arc::new(MockBlockDownloader::new()), + false, None, std::iter::empty(), ) @@ -1046,6 +1054,7 @@ fn request_across_forks() { 64, ProtocolName::Static(""), Arc::new(MockBlockDownloader::new()), + false, None, std::iter::empty(), ) @@ -1154,6 +1163,7 @@ fn sync_verification_failed_with_gap_filled() { 64, ProtocolName::Static(""), Arc::new(MockBlockDownloader::new()), + false, None, std::iter::empty(), ) @@ -1263,6 +1273,7 @@ fn sync_verification_failed_with_gap_filled() { best_queued_number: 64 as u64, target: 84 as u64, blocks: BlockCollection::new(), + stats: GapSyncStats::new(), }); } else if loop_index == 1 { if sync.gap_sync.is_none() { @@ -1291,6 +1302,7 @@ fn sync_gap_filled_regardless_of_blocks_origin() { 64, ProtocolName::Static(""), Arc::new(MockBlockDownloader::new()), + false, None, std::iter::empty(), ) @@ -1306,6 +1318,7 @@ fn sync_gap_filled_regardless_of_blocks_origin() { best_queued_number: *blocks[0].header().number(), target: *blocks[0].header().number(), blocks: BlockCollection::new(), + stats: GapSyncStats::new(), }); // Announce the block as unknown. @@ -1328,6 +1341,7 @@ fn sync_gap_filled_regardless_of_blocks_origin() { best_queued_number: *blocks[0].header().number(), target: *blocks[0].header().number(), blocks: BlockCollection::new(), + stats: GapSyncStats::new(), }); // Announce the block as known. @@ -1341,3 +1355,119 @@ fn sync_gap_filled_regardless_of_blocks_origin() { assert!(sync.gap_sync.is_none()); } } + +#[test] +fn gap_sync_body_request_depends_on_pruning_mode() { + sp_tracing::try_init_simple(); + + for archive_blocks in [true, false] { + // Bodies only needed for archive mode + let should_request_bodies = archive_blocks; + log::info!("Testing gap sync with archive_blocks: {}", archive_blocks); + + let client = Arc::new(TestClientBuilder::new().build()); + let blocks = (0..10).map(|_| build_block(&client, None, false)).collect::>(); + + let mut sync = ChainSync::new( + ChainSyncMode::Full, + client.clone(), + 5, + 64, + ProtocolName::Static(""), + Arc::new(MockBlockDownloader::new()), + archive_blocks, + None, + std::iter::empty(), + ) + .unwrap(); + + let peer_id = PeerId::random(); + + // Simulate gap: blocks 5-10 missing + sync.gap_sync = Some(GapSync { + best_queued_number: 5, + target: 10, + blocks: BlockCollection::new(), + stats: GapSyncStats::new(), + }); + + sync.add_peer(peer_id, blocks[9].hash(), 10); + + let requests = sync.block_requests(); + assert!( + !requests.is_empty(), + "[archive_blocks={archive_blocks}] Should generate gap sync request" + ); + + let (_peer, request) = &requests[0]; + + // Verify the exact expected field combination + let expected_fields = if should_request_bodies { + BlockAttributes::HEADER | BlockAttributes::BODY | BlockAttributes::JUSTIFICATION + } else { + BlockAttributes::HEADER | BlockAttributes::JUSTIFICATION + }; + + assert_eq!( + request.fields, expected_fields, + "[archive_blocks={archive_blocks}] Gap sync fields mismatch: expected {expected_fields:?}, got {:?}", + request.fields + ); + } +} + +#[test] +fn regular_sync_always_requests_bodies_regardless_of_pruning() { + sp_tracing::try_init_simple(); + + // Verify that regular (non-gap) sync always requests bodies, + // regardless of pruning mode - our optimization only applies to gap sync + for archive_blocks in [true, false] { + log::info!("Testing regular sync with archive_blocks: {}", archive_blocks); + + let client = Arc::new(TestClientBuilder::new().build()); + let blocks = (0..5).map(|_| build_block(&client, None, false)).collect::>(); + + let mut sync = ChainSync::new( + ChainSyncMode::Full, + client.clone(), + 5, + 64, + ProtocolName::Static(""), + Arc::new(MockBlockDownloader::new()), + archive_blocks, + None, + std::iter::empty(), + ) + .unwrap(); + + let peer_id = PeerId::random(); + + // Ensure we're NOT in gap sync mode + assert!( + sync.gap_sync.is_none(), + "[archive_blocks={archive_blocks}] Should not have gap sync active" + ); + + // Add peer ahead of us to trigger regular sync + sync.add_peer(peer_id, blocks[4].hash(), 5); + + let requests = sync.block_requests(); + + // Regular sync may not always generate requests immediately depending on state, + // but when it does, it should request bodies + if !requests.is_empty() { + let (_peer, request) = &requests[0]; + + // Verify exact expected fields for Full mode + let expected_fields = + BlockAttributes::HEADER | BlockAttributes::BODY | BlockAttributes::JUSTIFICATION; + + assert_eq!( + request.fields, expected_fields, + "[archive_blocks={archive_blocks}] Regular sync fields mismatch: expected {expected_fields:?}, got {:?}", + request.fields + ); + } + } +} diff --git a/substrate/client/network/sync/src/strategy/polkadot.rs b/substrate/client/network/sync/src/strategy/polkadot.rs index 03de11de7e9e9..b32c98cf80a76 100644 --- a/substrate/client/network/sync/src/strategy/polkadot.rs +++ b/substrate/client/network/sync/src/strategy/polkadot.rs @@ -47,8 +47,9 @@ use std::{any::Any, collections::HashMap, sync::Arc}; fn chain_sync_mode(sync_mode: SyncMode) -> ChainSyncMode { match sync_mode { SyncMode::Full => ChainSyncMode::Full, - SyncMode::LightState { skip_proofs, storage_chain_mode } => - ChainSyncMode::LightState { skip_proofs, storage_chain_mode }, + SyncMode::LightState { skip_proofs, storage_chain_mode } => { + ChainSyncMode::LightState { skip_proofs, storage_chain_mode } + }, SyncMode::Warp => ChainSyncMode::Full, } } @@ -73,6 +74,9 @@ where pub state_request_protocol_name: ProtocolName, /// Block downloader pub block_downloader: Arc>, + /// Whether to archive blocks. When `true`, gap sync requests bodies to maintain complete + /// block history. + pub archive_blocks: bool, } /// Proxy to specific syncing strategies used in Polkadot. @@ -82,7 +86,7 @@ pub struct PolkadotSyncingStrategy { /// Client used by syncing strategies. client: Arc, /// Warp strategy. - warp: Option>, + warp: Option>, /// State strategy. state: Option>, /// `ChainSync` strategy.` @@ -188,7 +192,7 @@ where response: Box, ) { match key { - StateStrategy::::STRATEGY_KEY => + StateStrategy::::STRATEGY_KEY => { if let Some(state) = &mut self.state { let Ok(response) = response.downcast::>() else { warn!(target: LOG_TARGET, "Failed to downcast state response"); @@ -206,8 +210,9 @@ where or corresponding strategy is not active.", ); debug_assert!(false); - }, - WarpSync::::STRATEGY_KEY => + } + }, + WarpSync::::STRATEGY_KEY => { if let Some(warp) = &mut self.warp { warp.on_generic_response(peer_id, protocol_name, response); } else { @@ -217,8 +222,9 @@ where or warp strategy is not active", ); debug_assert!(false); - }, - ChainSync::::STRATEGY_KEY => + } + }, + ChainSync::::STRATEGY_KEY => { if let Some(chain_sync) = &mut self.chain_sync { chain_sync.on_generic_response(peer_id, key, protocol_name, response); } else { @@ -228,7 +234,8 @@ where or corresponding strategy is not active.", ); debug_assert!(false); - }, + } + }, key => { warn!( target: LOG_TARGET, @@ -380,6 +387,7 @@ where config.max_blocks_per_request, config.state_request_protocol_name.clone(), config.block_downloader.clone(), + config.archive_blocks, config.metrics_registry.as_ref(), std::iter::empty(), )?; @@ -432,6 +440,7 @@ where self.config.max_blocks_per_request, self.config.state_request_protocol_name.clone(), self.config.block_downloader.clone(), + self.config.archive_blocks, self.config.metrics_registry.as_ref(), self.peer_best_blocks.iter().map(|(peer_id, (best_hash, best_number))| { (*peer_id, *best_hash, *best_number) @@ -440,7 +449,7 @@ where Ok(chain_sync) => chain_sync, Err(e) => { error!(target: LOG_TARGET, "Failed to start `ChainSync`."); - return Err(e) + return Err(e); }, }; @@ -462,6 +471,7 @@ where self.config.max_blocks_per_request, self.config.state_request_protocol_name.clone(), self.config.block_downloader.clone(), + self.config.archive_blocks, self.config.metrics_registry.as_ref(), self.peer_best_blocks.iter().map(|(peer_id, (best_hash, best_number))| { (*peer_id, *best_hash, *best_number) diff --git a/substrate/client/network/sync/src/strategy/state.rs b/substrate/client/network/sync/src/strategy/state.rs index 1abbb96ccd907..830b8716f0815 100644 --- a/substrate/client/network/sync/src/strategy/state.rs +++ b/substrate/client/network/sync/src/strategy/state.rs @@ -285,7 +285,7 @@ impl StateStrategy { /// Produce state request. fn state_request(&mut self) -> Option<(PeerId, StateRequest)> { if self.state_sync.is_complete() { - return None + return None; } if self @@ -294,7 +294,7 @@ impl StateStrategy { .any(|peer| matches!(peer.state, PeerState::DownloadingState)) { // Only one state request at a time is possible. - return None + return None; } let peer_id = @@ -314,7 +314,7 @@ impl StateStrategy { ) -> Option { let mut targets: Vec<_> = self.peers.values().map(|p| p.best_number).collect(); if targets.is_empty() { - return None + return None; } targets.sort(); let median = targets[targets.len() / 2]; @@ -327,7 +327,7 @@ impl StateStrategy { self.disconnected_peers.is_peer_available(peer_id) { peer.state = new_state; - return Some(*peer_id) + return Some(*peer_id); } } None diff --git a/substrate/client/network/sync/src/strategy/state_sync.rs b/substrate/client/network/sync/src/strategy/state_sync.rs index 47d859a1b7c64..32d0e63332257 100644 --- a/substrate/client/network/sync/src/strategy/state_sync.rs +++ b/substrate/client/network/sync/src/strategy/state_sync.rs @@ -257,11 +257,11 @@ where fn import(&mut self, response: StateResponse) -> ImportResult { if response.entries.is_empty() && response.proof.is_empty() { debug!(target: LOG_TARGET, "Bad state response"); - return ImportResult::BadResponse + return ImportResult::BadResponse; } if !self.metadata.skip_proof && response.proof.is_empty() { debug!(target: LOG_TARGET, "Missing proof"); - return ImportResult::BadResponse + return ImportResult::BadResponse; } let complete = if !self.metadata.skip_proof { debug!(target: LOG_TARGET, "Importing state from {} trie nodes", response.proof.len()); @@ -270,7 +270,7 @@ where Ok(proof) => proof, Err(e) => { debug!(target: LOG_TARGET, "Error decoding proof: {:?}", e); - return ImportResult::BadResponse + return ImportResult::BadResponse; }, }; let (values, completed) = match self.client.verify_range_proof( @@ -284,7 +284,7 @@ where "StateResponse failed proof verification: {}", e, ); - return ImportResult::BadResponse + return ImportResult::BadResponse; }, Ok(values) => values, }; diff --git a/substrate/client/network/sync/src/strategy/warp.rs b/substrate/client/network/sync/src/strategy/warp.rs index c815ca1b86d6a..9dbe5449f81b6 100644 --- a/substrate/client/network/sync/src/strategy/warp.rs +++ b/substrate/client/network/sync/src/strategy/warp.rs @@ -20,7 +20,6 @@ use sc_consensus::IncomingBlock; use sp_consensus::BlockOrigin; -pub use sp_consensus_grandpa::{AuthorityList, SetId}; use crate::{ block_relay_protocol::{BlockDownloader, BlockResponseError}, @@ -60,12 +59,25 @@ pub struct WarpProofRequest { pub begin: B::Hash, } +/// Verifier for warp sync proofs. Each verifier operates in a specific context. +pub trait Verifier: Send + Sync { + /// Verify a warp sync proof. + fn verify( + &mut self, + proof: &EncodedProof, + ) -> Result, Box>; + /// Hash to be used as the starting point for the next proof request. + fn next_proof_context(&self) -> Block::Hash; + /// Get status text for progress reporting + fn status(&self) -> Option; +} + /// Proof verification result. pub enum VerificationResult { /// Proof is valid, but the target was not reached. - Partial(SetId, AuthorityList, Block::Hash, Vec<(Block::Header, Justifications)>), + Partial(Vec<(Block::Header, Justifications)>), /// Target finality is proved. - Complete(SetId, AuthorityList, Block::Header, Vec<(Block::Header, Justifications)>), + Complete(Block::Header, Vec<(Block::Header, Justifications)>), } /// Warp sync backend. Handles retrieving and verifying warp sync proofs. @@ -76,16 +88,8 @@ pub trait WarpSyncProvider: Send + Sync { &self, start: Block::Hash, ) -> Result>; - /// Verify warp proof against current set of authorities. - fn verify( - &self, - proof: &EncodedProof, - set_id: SetId, - authorities: AuthorityList, - ) -> Result, Box>; - /// Get current list of authorities. This is supposed to be genesis authorities when starting - /// sync. - fn current_authorities(&self) -> AuthorityList; + /// Create a verifier for warp sync proofs. + fn create_verifier(&self) -> Box>; } mod rep { @@ -115,7 +119,7 @@ mod rep { pub enum WarpSyncPhase { /// Waiting for peers to connect. AwaitingPeers { required_peers: usize }, - /// Downloading and verifying grandpa warp proofs. + /// Downloading and verifying warp proofs. DownloadingWarpProofs, /// Downloading target block. DownloadingTargetBlock, @@ -132,8 +136,9 @@ pub enum WarpSyncPhase { impl fmt::Display for WarpSyncPhase { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match self { - Self::AwaitingPeers { required_peers } => - write!(f, "Waiting for {required_peers} peers to be connected"), + Self::AwaitingPeers { required_peers } => { + write!(f, "Waiting for {required_peers} peers to be connected") + }, Self::DownloadingWarpProofs => write!(f, "Downloading finality proofs"), Self::DownloadingTargetBlock => write!(f, "Downloading target block"), Self::DownloadingState => write!(f, "Downloading state"), @@ -151,6 +156,8 @@ pub struct WarpSyncProgress { pub phase: WarpSyncPhase, /// Total bytes downloaded so far. pub total_bytes: u64, + /// Optional status text from the verifier. + pub status: Option, } /// Warp sync configuration as accepted by [`WarpSync`]. @@ -168,12 +175,7 @@ enum Phase { /// Waiting for enough peers to connect. WaitingForPeers { warp_sync_provider: Arc> }, /// Downloading warp proofs. - WarpProof { - set_id: SetId, - authorities: AuthorityList, - last_hash: B::Hash, - warp_sync_provider: Arc>, - }, + WarpProof { verifier: Box> }, /// Downloading target block. TargetBlock(B::Header), /// Warp sync is complete. @@ -204,9 +206,8 @@ pub struct WarpSyncResult { } /// Warp sync state machine. Accumulates warp proofs and state. -pub struct WarpSync { +pub struct WarpSync { phase: Phase, - client: Arc, total_proof_bytes: u64, total_state_bytes: u64, peers: HashMap>, @@ -219,10 +220,9 @@ pub struct WarpSync { min_peers_to_start_warp_sync: usize, } -impl WarpSync +impl WarpSync where B: BlockT, - Client: HeaderBackend + 'static, { /// Strategy key used by warp sync. pub const STRATEGY_KEY: StrategyKey = StrategyKey::new("Warp"); @@ -230,13 +230,16 @@ where /// Create a new instance. When passing a warp sync provider we will be checking for proof and /// authorities. Alternatively we can pass a target block when we want to skip downloading /// proofs, in this case we will continue polling until the target block is known. - pub fn new( + pub fn new( client: Arc, warp_sync_config: WarpSyncConfig, protocol_name: Option, block_downloader: Arc>, min_peers_to_start_warp_sync: Option, - ) -> Self { + ) -> Self + where + Client: HeaderBackend + 'static, + { let min_peers_to_start_warp_sync = min_peers_to_start_warp_sync.unwrap_or(MIN_PEERS_TO_START_WARP_SYNC); if client.info().finalized_state.is_some() { @@ -245,7 +248,6 @@ where "Can't use warp sync mode with a partially synced database. Reverting to full sync mode." ); return Self { - client, phase: Phase::Complete, total_proof_bytes: 0, total_state_bytes: 0, @@ -256,17 +258,17 @@ where actions: vec![SyncingAction::Finished], result: None, min_peers_to_start_warp_sync, - } + }; } let phase = match warp_sync_config { - WarpSyncConfig::WithProvider(warp_sync_provider) => - Phase::WaitingForPeers { warp_sync_provider }, + WarpSyncConfig::WithProvider(warp_sync_provider) => { + Phase::WaitingForPeers { warp_sync_provider } + }, WarpSyncConfig::WithTarget(target_header) => Phase::TargetBlock(target_header), }; Self { - client, phase, total_proof_bytes: 0, total_state_bytes: 0, @@ -326,16 +328,12 @@ where let Phase::WaitingForPeers { warp_sync_provider } = &self.phase else { return }; if self.peers.len() < self.min_peers_to_start_warp_sync { - return + return; } - self.phase = Phase::WarpProof { - set_id: 0, - authorities: warp_sync_provider.current_authorities(), - last_hash: self.client.info().genesis_hash, - warp_sync_provider: Arc::clone(warp_sync_provider), - }; - trace!(target: LOG_TARGET, "Started warp sync with {} peers.", self.peers.len()); + let verifier = warp_sync_provider.create_verifier(); + self.phase = Phase::WarpProof { verifier }; + debug!(target: LOG_TARGET, "Started warp sync with {} peers.", self.peers.len()); } pub fn on_generic_response( @@ -396,13 +394,11 @@ where peer.state = PeerState::Available; } - let Phase::WarpProof { set_id, authorities, last_hash, warp_sync_provider } = - &mut self.phase - else { + let Phase::WarpProof { verifier } = &mut self.phase else { debug!(target: LOG_TARGET, "Unexpected warp proof response"); self.actions .push(SyncingAction::DropPeer(BadPeer(*peer_id, rep::UNEXPECTED_RESPONSE))); - return + return; }; let proof_to_incoming_block = @@ -424,36 +420,53 @@ where } }; - match warp_sync_provider.verify(&response, *set_id, authorities.clone()) { + match verifier.verify(&response) { Err(e) => { debug!(target: LOG_TARGET, "Bad warp proof response: {}", e); self.actions .push(SyncingAction::DropPeer(BadPeer(*peer_id, rep::BAD_WARP_PROOF))) }, - Ok(VerificationResult::Partial(new_set_id, new_authorities, new_last_hash, proofs)) => { - log::debug!(target: LOG_TARGET, "Verified partial proof, set_id={:?}", new_set_id); - *set_id = new_set_id; - *authorities = new_authorities; - *last_hash = new_last_hash; + Ok(VerificationResult::Partial(proofs)) => { + debug!(target: LOG_TARGET, "Verified partial proof"); self.total_proof_bytes += response.0.len() as u64; self.actions.push(SyncingAction::ImportBlocks { - origin: BlockOrigin::NetworkInitialSync, + origin: BlockOrigin::WarpSync, blocks: proofs.into_iter().map(proof_to_incoming_block).collect(), }); }, - Ok(VerificationResult::Complete(new_set_id, _, header, proofs)) => { - log::debug!( + Ok(VerificationResult::Complete(header, proofs)) => { + debug!( target: LOG_TARGET, - "Verified complete proof, set_id={:?}. Continuing with target block download: {} ({}).", - new_set_id, + "Verified complete proof. Continuing with target block download: {} ({}).", header.hash(), header.number(), ); self.total_proof_bytes += response.0.len() as u64; - self.phase = Phase::TargetBlock(header); + self.phase = Phase::TargetBlock(header.clone()); + let incoming_blocks: Vec<_> = proofs + .into_iter() + .map(proof_to_incoming_block) + .filter(|i| { + // We need target block with state and warp sync does not provide this. + // That's why we filter out target block here, otherwise oncoming state sync + // (which comes after warp sync) will abort because target block is already + // imported. + if header.number() != i.header.as_ref().unwrap().number() { + true + } else { + log::trace!( + target: LOG_TARGET, + "Filtered out target block: {} ({})", + header.hash(), + header.number() + ); + false + } + }) + .collect(); self.actions.push(SyncingAction::ImportBlocks { - origin: BlockOrigin::NetworkInitialSync, - blocks: proofs.into_iter().map(proof_to_incoming_block).collect(), + origin: BlockOrigin::WarpSync, + blocks: incoming_blocks, }); }, } @@ -483,7 +496,7 @@ where let Phase::TargetBlock(header) = &mut self.phase else { debug!(target: LOG_TARGET, "Unexpected target block response from {peer_id}"); - return Err(BadPeer(peer_id, rep::UNEXPECTED_RESPONSE)) + return Err(BadPeer(peer_id, rep::UNEXPECTED_RESPONSE)); }; if blocks.is_empty() { @@ -491,7 +504,7 @@ where target: LOG_TARGET, "Downloading target block failed: empty block response from {peer_id}", ); - return Err(BadPeer(peer_id, rep::NO_BLOCK)) + return Err(BadPeer(peer_id, rep::NO_BLOCK)); } if blocks.len() > 1 { @@ -500,7 +513,7 @@ where "Too many blocks ({}) in warp target block response from {peer_id}", blocks.len(), ); - return Err(BadPeer(peer_id, rep::NOT_REQUESTED)) + return Err(BadPeer(peer_id, rep::NOT_REQUESTED)); } validate_blocks::(&blocks, &peer_id, Some(request))?; @@ -512,7 +525,7 @@ where target: LOG_TARGET, "Downloading target block failed: missing header in response from {peer_id}.", ); - return Err(BadPeer(peer_id, rep::VERIFICATION_FAIL)) + return Err(BadPeer(peer_id, rep::VERIFICATION_FAIL)); }; if block_header != header { @@ -520,7 +533,7 @@ where target: LOG_TARGET, "Downloading target block failed: different header in response from {peer_id}.", ); - return Err(BadPeer(peer_id, rep::VERIFICATION_FAIL)) + return Err(BadPeer(peer_id, rep::VERIFICATION_FAIL)); } if block.body.is_none() { @@ -528,7 +541,7 @@ where target: LOG_TARGET, "Downloading target block failed: missing body in response from {peer_id}.", ); - return Err(BadPeer(peer_id, rep::VERIFICATION_FAIL)) + return Err(BadPeer(peer_id, rep::VERIFICATION_FAIL)); } self.result = Some(WarpSyncResult { @@ -549,7 +562,7 @@ where ) -> Option { let mut targets: Vec<_> = self.peers.values().map(|p| p.best_number).collect(); if targets.is_empty() { - return None + return None; } targets.sort(); let median = targets[targets.len() / 2]; @@ -562,7 +575,7 @@ where self.disconnected_peers.is_peer_available(peer_id) { peer.state = new_state; - return Some(*peer_id) + return Some(*peer_id); } } None @@ -570,10 +583,10 @@ where /// Produce warp proof request. fn warp_proof_request(&mut self) -> Option<(PeerId, ProtocolName, WarpProofRequest)> { - let Phase::WarpProof { last_hash, .. } = &self.phase else { return None }; + let Phase::WarpProof { verifier } = &self.phase else { return None }; - // Copy `last_hash` early to cut the borrowing tie. - let begin = *last_hash; + // Copy verifier context early to cut the borrowing tie. + let begin = verifier.next_proof_context(); if self .peers @@ -581,7 +594,7 @@ where .any(|peer| matches!(peer.state, PeerState::DownloadingProofs)) { // Only one warp proof request at a time is possible. - return None + return None; } let peer_id = self.schedule_next_peer(PeerState::DownloadingProofs, None)?; @@ -610,7 +623,7 @@ where .any(|peer| matches!(peer.state, PeerState::DownloadingTargetBlock)) { // Only one target block request at a time is possible. - return None + return None; } // Cut the borrowing tie. @@ -649,18 +662,22 @@ where required_peers: self.min_peers_to_start_warp_sync, }, total_bytes: self.total_proof_bytes, + status: None, }, - Phase::WarpProof { .. } => WarpSyncProgress { + Phase::WarpProof { verifier } => WarpSyncProgress { phase: WarpSyncPhase::DownloadingWarpProofs, total_bytes: self.total_proof_bytes, + status: verifier.status(), }, Phase::TargetBlock(_) => WarpSyncProgress { phase: WarpSyncPhase::DownloadingTargetBlock, total_bytes: self.total_proof_bytes, + status: None, }, Phase::Complete => WarpSyncProgress { phase: WarpSyncPhase::Complete, total_bytes: self.total_proof_bytes + self.total_state_bytes, + status: None, }, } } @@ -773,15 +790,19 @@ mod test { use crate::{mock::MockBlockDownloader, service::network::NetworkServiceProvider}; use sc_block_builder::BlockBuilderBuilder; use sp_blockchain::{BlockStatus, Error as BlockchainError, HeaderBackend, Info}; - use sp_consensus_grandpa::{AuthorityList, SetId, GRANDPA_ENGINE_ID}; use sp_core::H256; - use sp_runtime::traits::{Block as BlockT, Header as HeaderT, NumberFor}; + use sp_runtime::{ + traits::{Block as BlockT, Header as HeaderT, NumberFor}, + ConsensusEngineId, + }; use std::{io::ErrorKind, sync::Arc}; use substrate_test_runtime_client::{ runtime::{Block, Hash}, BlockBuilderExt, DefaultTestClientBuilderExt, TestClientBuilder, TestClientBuilderExt, }; + pub const TEST_ENGINE_ID: ConsensusEngineId = *b"TEST"; + mockall::mock! { pub Client {} @@ -805,13 +826,20 @@ mod test { &self, start: B::Hash, ) -> Result>; + fn create_verifier(&self) -> Box>; + } + } + + mockall::mock! { + pub Verifier {} + + impl super::Verifier for Verifier { fn verify( - &self, + &mut self, proof: &EncodedProof, - set_id: SetId, - authorities: AuthorityList, ) -> Result, Box>; - fn current_authorities(&self) -> AuthorityList; + fn next_proof_context(&self) -> B::Hash; + fn status(&self) -> Option; } } @@ -954,10 +982,12 @@ mod test { fn warp_sync_is_started_only_when_there_is_enough_peers() { let client = mock_client_without_state(); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + verifier.expect_next_proof_context().returning(|| Hash::random()); + verifier + .expect_verify() + .returning(|_| unreachable!("verify should not be called in this test")); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new( Arc::new(client), @@ -1008,10 +1038,12 @@ mod test { for _ in 0..100 { let client = mock_client_without_state(); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + verifier.expect_next_proof_context().returning(|| Hash::random()); + verifier + .expect_verify() + .returning(|_| unreachable!("verify should not be called in this test")); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new( Arc::new(client), @@ -1035,10 +1067,12 @@ mod test { for _ in 0..10 { let client = mock_client_without_state(); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + verifier.expect_next_proof_context().returning(|| Hash::random()); + verifier + .expect_verify() + .returning(|_| unreachable!("verify should not be called in this test")); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new( Arc::new(client), @@ -1061,10 +1095,12 @@ mod test { fn backedoff_number_peer_is_not_scheduled() { let client = mock_client_without_state(); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + verifier.expect_next_proof_context().returning(|| Hash::random()); + verifier + .expect_verify() + .returning(|_| unreachable!("verify should not be called in this test")); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new( Arc::new(client), @@ -1111,10 +1147,12 @@ mod test { fn no_warp_proof_request_in_another_phase() { let client = mock_client_without_state(); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + verifier.expect_next_proof_context().returning(|| Hash::random()); + verifier + .expect_verify() + .returning(|_| unreachable!("verify should not be called in this test")); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new( Arc::new(client), @@ -1146,10 +1184,13 @@ mod test { fn warp_proof_request_starts_at_last_hash() { let client = mock_client_without_state(); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + let known_last_hash = Hash::random(); + verifier.expect_next_proof_context().returning(move || known_last_hash); + verifier + .expect_verify() + .returning(|_| unreachable!("verify should not be called in this test")); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new( Arc::new(client), @@ -1165,16 +1206,6 @@ mod test { } assert!(matches!(warp_sync.phase, Phase::WarpProof { .. })); - let known_last_hash = Hash::random(); - - // Manually set last hash to known value. - match &mut warp_sync.phase { - Phase::WarpProof { last_hash, .. } => { - *last_hash = known_last_hash; - }, - _ => panic!("Invalid phase."), - } - let (_peer_id, _protocol_name, request) = warp_sync.warp_proof_request().unwrap(); assert_eq!(request.begin, known_last_hash); } @@ -1183,10 +1214,12 @@ mod test { fn no_parallel_warp_proof_requests() { let client = mock_client_without_state(); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + verifier.expect_next_proof_context().returning(|| Hash::random()); + verifier + .expect_verify() + .returning(|_| unreachable!("verify should not be called in this test")); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new( Arc::new(client), @@ -1212,14 +1245,13 @@ mod test { fn bad_warp_proof_response_drops_peer() { let client = mock_client_without_state(); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + verifier.expect_next_proof_context().returning(|| Hash::random()); // Warp proof verification fails. - provider.expect_verify().return_once(|_proof, _set_id, _authorities| { + verifier.expect_verify().return_once(|_proof| { Err(Box::new(std::io::Error::new(ErrorKind::Other, "test-verification-failure"))) }); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new( Arc::new(client), @@ -1261,10 +1293,6 @@ mod test { fn partial_warp_proof_doesnt_advance_phase() { let client = Arc::new(TestClientBuilder::new().set_no_genesis().build()); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); let target_block = BlockBuilderBuilder::new(&*client) .on_parent_block(client.chain_info().best_hash) .with_parent_block_number(client.chain_info().best_number) @@ -1274,20 +1302,20 @@ mod test { .unwrap() .block; let target_header = target_block.header().clone(); - let justifications = Justifications::new(vec![(GRANDPA_ENGINE_ID, vec![1, 2, 3, 4, 5])]); + let justifications = Justifications::new(vec![(TEST_ENGINE_ID, vec![1, 2, 3, 4, 5])]); // Warp proof is partial. - { - let target_header = target_header.clone(); - let justifications = justifications.clone(); - provider.expect_verify().return_once(move |_proof, set_id, authorities| { - Ok(VerificationResult::Partial( - set_id, - authorities, - target_header.hash(), - vec![(target_header, justifications)], - )) - }); - } + let mut verifier = MockVerifier::::new(); + let context = client.info().genesis_hash; + verifier.expect_next_proof_context().returning(move || context); + let header_for_verify = target_header.clone(); + let just_for_verify = justifications.clone(); + verifier.expect_verify().return_once(move |_proof| { + Ok(VerificationResult::Partial(vec![( + header_for_verify.clone(), + just_for_verify.clone(), + )])) + }); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new( client, @@ -1320,7 +1348,7 @@ mod test { else { panic!("Expected `ImportBlocks` action."); }; - assert_eq!(origin, BlockOrigin::NetworkInitialSync); + assert_eq!(origin, BlockOrigin::WarpSync); assert_eq!(blocks.len(), 1); let import_block = blocks.pop().unwrap(); assert_eq!( @@ -1343,35 +1371,53 @@ mod test { #[test] fn complete_warp_proof_advances_phase() { + // Initialize logging + sp_tracing::try_init_simple(); + let client = Arc::new(TestClientBuilder::new().set_no_genesis().build()); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); - let target_block = BlockBuilderBuilder::new(&*client) - .on_parent_block(client.chain_info().best_hash) - .with_parent_block_number(client.chain_info().best_number) - .build() - .unwrap() - .build() - .unwrap() - .block; - let target_header = target_block.header().clone(); - let justifications = Justifications::new(vec![(GRANDPA_ENGINE_ID, vec![1, 2, 3, 4, 5])]); - // Warp proof is complete. - { - let target_header = target_header.clone(); - let justifications = justifications.clone(); - provider.expect_verify().return_once(move |_proof, set_id, authorities| { - Ok(VerificationResult::Complete( - set_id, - authorities, - target_header.clone(), - vec![(target_header, justifications)], - )) - }); - } + + // Building both blocks manually. Can't use BlockBuilderBuilder to build one block on top of + // another, if no genesis is set (required for warp sync to make sure finalized_state is not + // set) + let warp_synced_header = <::Header as HeaderT>::new( + 1, + Default::default(), + Default::default(), + client.chain_info().best_hash, + Default::default(), + ); + + // Build target_block on top of warp_synced_block + let target_header = <::Header as HeaderT>::new( + 2, + Default::default(), + Default::default(), + warp_synced_header.hash(), + Default::default(), + ); + let warp_justifications = Justifications::new(vec![(TEST_ENGINE_ID, vec![1, 2, 3, 4, 5])]); + let target_justifications = + Justifications::new(vec![(TEST_ENGINE_ID, vec![6, 7, 8, 9, 10])]); + + // Warp proof is complete and contains both blocks. + let mut verifier = MockVerifier::::new(); + let context = client.info().genesis_hash; + verifier.expect_next_proof_context().returning(move || context); + let warp_synced_header_for_verify = warp_synced_header.clone(); + let warp_just_for_verify = warp_justifications.clone(); + let target_header_for_verify = target_header.clone(); + let target_just_for_verify = target_justifications.clone(); + verifier.expect_verify().return_once(move |_proof| { + Ok(VerificationResult::Complete( + target_header_for_verify.clone(), + vec![ + (warp_synced_header_for_verify, warp_just_for_verify), + (target_header_for_verify, target_just_for_verify), + ], + )) + }); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new( client, @@ -1404,17 +1450,18 @@ mod test { else { panic!("Expected `ImportBlocks` action."); }; - assert_eq!(origin, BlockOrigin::NetworkInitialSync); + assert_eq!(origin, BlockOrigin::WarpSync); + // Only warp_synced_block should be in the import list; target_block is filtered out assert_eq!(blocks.len(), 1); let import_block = blocks.pop().unwrap(); assert_eq!( import_block, IncomingBlock { - hash: target_header.hash(), - header: Some(target_header), + hash: warp_synced_header.hash(), + header: Some(warp_synced_header), body: None, indexed_body: None, - justifications: Some(justifications), + justifications: Some(warp_justifications), origin: Some(request_peer_id), allow_missing_state: true, skip_execution: true, @@ -1422,19 +1469,19 @@ mod test { state: None, } ); - assert!( - matches!(warp_sync.phase, Phase::TargetBlock(header) if header == *target_block.header()) - ); + assert!(matches!(warp_sync.phase, Phase::TargetBlock(header) if header == target_header)); } #[test] fn no_target_block_requests_in_another_phase() { let client = mock_client_without_state(); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + verifier.expect_next_proof_context().returning(|| Hash::random()); + verifier + .expect_verify() + .returning(|_| unreachable!("verify should not be called in this test")); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new( Arc::new(client), @@ -1459,10 +1506,9 @@ mod test { fn target_block_request_is_correct() { let client = Arc::new(TestClientBuilder::new().set_no_genesis().build()); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + let header_for_ctx = client.info().genesis_hash; + verifier.expect_next_proof_context().returning(move || header_for_ctx); let target_block = BlockBuilderBuilder::new(&*client) .on_parent_block(client.chain_info().best_hash) .with_parent_block_number(client.chain_info().best_number) @@ -1473,9 +1519,11 @@ mod test { .block; let target_header = target_block.header().clone(); // Warp proof is complete. - provider.expect_verify().return_once(move |_proof, set_id, authorities| { - Ok(VerificationResult::Complete(set_id, authorities, target_header, Default::default())) + let header_for_verify = target_header.clone(); + verifier.expect_verify().return_once(move |_proof| { + Ok(VerificationResult::Complete(header_for_verify, Default::default())) }); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new(client, config, None, Arc::new(MockBlockDownloader::new()), None); @@ -1533,10 +1581,9 @@ mod test { fn no_parallel_target_block_requests() { let client = Arc::new(TestClientBuilder::new().set_no_genesis().build()); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + let header_for_ctx = client.info().genesis_hash; + verifier.expect_next_proof_context().returning(move || header_for_ctx); let target_block = BlockBuilderBuilder::new(&*client) .on_parent_block(client.chain_info().best_hash) .with_parent_block_number(client.chain_info().best_number) @@ -1547,9 +1594,11 @@ mod test { .block; let target_header = target_block.header().clone(); // Warp proof is complete. - provider.expect_verify().return_once(move |_proof, set_id, authorities| { - Ok(VerificationResult::Complete(set_id, authorities, target_header, Default::default())) + let header_for_verify = target_header.clone(); + verifier.expect_verify().return_once(move |_proof| { + Ok(VerificationResult::Complete(header_for_verify, Default::default())) }); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new(client, config, None, Arc::new(MockBlockDownloader::new()), None); @@ -1572,10 +1621,9 @@ mod test { fn target_block_response_with_no_blocks_drops_peer() { let client = Arc::new(TestClientBuilder::new().set_no_genesis().build()); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + let header_for_ctx = client.info().genesis_hash; + verifier.expect_next_proof_context().returning(move || header_for_ctx); let target_block = BlockBuilderBuilder::new(&*client) .on_parent_block(client.chain_info().best_hash) .with_parent_block_number(client.chain_info().best_number) @@ -1586,9 +1634,11 @@ mod test { .block; let target_header = target_block.header().clone(); // Warp proof is complete. - provider.expect_verify().return_once(move |_proof, set_id, authorities| { - Ok(VerificationResult::Complete(set_id, authorities, target_header, Default::default())) + let header_for_verify = target_header.clone(); + verifier.expect_verify().return_once(move |_proof| { + Ok(VerificationResult::Complete(header_for_verify, Default::default())) }); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new(client, config, None, Arc::new(MockBlockDownloader::new()), None); @@ -1616,10 +1666,9 @@ mod test { fn target_block_response_with_extra_blocks_drops_peer() { let client = Arc::new(TestClientBuilder::new().set_no_genesis().build()); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + let header_for_ctx = client.info().genesis_hash; + verifier.expect_next_proof_context().returning(move || header_for_ctx); let target_block = BlockBuilderBuilder::new(&*client) .on_parent_block(client.chain_info().best_hash) .with_parent_block_number(client.chain_info().best_number) @@ -1641,9 +1690,11 @@ mod test { let target_header = target_block.header().clone(); // Warp proof is complete. - provider.expect_verify().return_once(move |_proof, set_id, authorities| { - Ok(VerificationResult::Complete(set_id, authorities, target_header, Default::default())) + let header_for_verify = target_header.clone(); + verifier.expect_verify().return_once(move |_proof| { + Ok(VerificationResult::Complete(header_for_verify, Default::default())) }); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new(client, config, None, Arc::new(MockBlockDownloader::new()), None); @@ -1694,10 +1745,9 @@ mod test { let client = Arc::new(TestClientBuilder::new().set_no_genesis().build()); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + let header_for_ctx = client.info().genesis_hash; + verifier.expect_next_proof_context().returning(move || header_for_ctx); let target_block = BlockBuilderBuilder::new(&*client) .on_parent_block(client.chain_info().best_hash) .with_parent_block_number(client.chain_info().best_number) @@ -1719,9 +1769,11 @@ mod test { let target_header = target_block.header().clone(); // Warp proof is complete. - provider.expect_verify().return_once(move |_proof, set_id, authorities| { - Ok(VerificationResult::Complete(set_id, authorities, target_header, Default::default())) + let header_for_verify = target_header.clone(); + verifier.expect_verify().return_once(move |_proof| { + Ok(VerificationResult::Complete(header_for_verify, Default::default())) }); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new(client, config, None, Arc::new(MockBlockDownloader::new()), None); @@ -1758,10 +1810,9 @@ mod test { fn correct_target_block_response_sets_strategy_result() { let client = Arc::new(TestClientBuilder::new().set_no_genesis().build()); let mut provider = MockWarpSyncProvider::::new(); - provider - .expect_current_authorities() - .once() - .return_const(AuthorityList::default()); + let mut verifier = MockVerifier::::new(); + let header_for_ctx = client.info().genesis_hash; + verifier.expect_next_proof_context().returning(move || header_for_ctx); let mut target_block_builder = BlockBuilderBuilder::new(&*client) .on_parent_block(client.chain_info().best_hash) .with_parent_block_number(client.chain_info().best_number) @@ -1773,9 +1824,11 @@ mod test { let target_block = target_block_builder.build().unwrap().block; let target_header = target_block.header().clone(); // Warp proof is complete. - provider.expect_verify().return_once(move |_proof, set_id, authorities| { - Ok(VerificationResult::Complete(set_id, authorities, target_header, Default::default())) + let header_for_verify = target_header.clone(); + verifier.expect_verify().return_once(move |_proof| { + Ok(VerificationResult::Complete(header_for_verify, Default::default())) }); + provider.expect_create_verifier().return_once(move || Box::new(verifier)); let config = WarpSyncConfig::WithProvider(Arc::new(provider)); let mut warp_sync = WarpSync::new(client, config, None, Arc::new(MockBlockDownloader::new()), None); diff --git a/substrate/client/network/test/src/fuzz.rs b/substrate/client/network/test/src/fuzz.rs index 363ca93313072..d2f7f9c7f5d46 100644 --- a/substrate/client/network/test/src/fuzz.rs +++ b/substrate/client/network/test/src/fuzz.rs @@ -214,7 +214,7 @@ async fn test_once() { "Awaiting incoming response, ignoring obsolete Connect from PSM for peer {}", peer_id, ); - continue + continue; } last_state = Some(*state); @@ -239,7 +239,7 @@ async fn test_once() { "Awaiting incoming response, ignoring obsolete Drop from PSM for peer {}", peer_id, ); - continue + continue; } last_state = Some(*state); @@ -259,19 +259,20 @@ async fn test_once() { let state = known_nodes.get_mut(&peer_id).unwrap(); match *state { - State::Incoming(incoming_index) => + State::Incoming(incoming_index) => { if n.0 < incoming_index.0 { log::info!( "Ignoring obsolete Accept for {:?} while awaiting {:?} for peer {}", n, incoming_index, peer_id, ); - continue + continue; } else if n.0 > incoming_index.0 { panic!( "Received {:?} while awaiting {:?} for peer {}", n, incoming_index, peer_id, ); - }, + } + }, _ => {}, } @@ -290,19 +291,20 @@ async fn test_once() { let state = known_nodes.get_mut(&peer_id).unwrap(); match *state { - State::Incoming(incoming_index) => + State::Incoming(incoming_index) => { if n.0 < incoming_index.0 { log::info!( "Ignoring obsolete Reject for {:?} while awaiting {:?} for peer {}", n, incoming_index, peer_id, ); - continue + continue; } else if n.0 > incoming_index.0 { panic!( "Received {:?} while awaiting {:?} for peer {}", n, incoming_index, peer_id, ); - }, + } + }, _ => {}, } @@ -326,15 +328,16 @@ async fn test_once() { }, // If we generate 2, adjust a random reputation. - 2 => + 2 => { if let Some(id) = known_nodes.keys().choose(&mut rng) { let val = Uniform::new_inclusive(i32::MIN, i32::MAX).sample(&mut rng); let peer: sc_network_types::PeerId = id.into(); peer_store_handle.report_peer(peer, ReputationChange::new(val, "")); - }, + } + }, // If we generate 3, disconnect from a random node. - 3 => + 3 => { if let Some(id) = connected_nodes.iter().choose(&mut rng).cloned() { log::info!("Disconnected from {}", id); connected_nodes.remove(&id); @@ -347,7 +350,8 @@ async fn test_once() { current_peer = Some(id); current_event = Some(Event::Disconnected); - }, + } + }, // If we generate 4, connect to a random node. 4 => { @@ -395,12 +399,13 @@ async fn test_once() { reserved_nodes.insert(*id); } }, - 8 => + 8 => { if let Some(id) = reserved_nodes.iter().choose(&mut rng).cloned() { log::info!("Remove reserved: {}", id); reserved_nodes.remove(&id); protocol_handle.remove_reserved_peer(id); - }, + } + }, _ => unreachable!(), } diff --git a/substrate/client/network/test/src/lib.rs b/substrate/client/network/test/src/lib.rs index 79a0a42138bf7..3694803f95e7d 100644 --- a/substrate/client/network/test/src/lib.rs +++ b/substrate/client/network/test/src/lib.rs @@ -71,7 +71,7 @@ use sc_network_sync::{ strategy::{ polkadot::{PolkadotSyncingStrategy, PolkadotSyncingStrategyConfig}, warp::{ - AuthorityList, EncodedProof, SetId, VerificationResult, WarpSyncConfig, + EncodedProof, VerificationResult, Verifier as WarpVerifier, WarpSyncConfig, WarpSyncProvider, }, }, @@ -91,7 +91,7 @@ use sp_runtime::{ codec::{Decode, Encode}, generic::BlockId, traits::{Block as BlockT, Header as HeaderT, NumberFor, Zero}, - Justification, Justifications, + Digest, Justification, Justifications, }; use substrate_test_runtime_client::Sr25519Keyring; pub use substrate_test_runtime_client::{ @@ -359,11 +359,39 @@ where /// Add blocks to the peer -- edit the block before adding. The chain will /// start at the given block iD. pub fn generate_blocks_at( + &mut self, + at: BlockId, + count: usize, + origin: BlockOrigin, + edit_block: F, + headers_only: bool, + inform_sync_about_new_best_block: bool, + announce_block: bool, + fork_choice: ForkChoiceStrategy, + ) -> Vec + where + F: FnMut(BlockBuilder) -> Block, + { + self.generate_blocks_at_with_inherent_digests( + at, + count, + origin, + edit_block, + |_| Digest::default(), + headers_only, + inform_sync_about_new_best_block, + announce_block, + fork_choice, + ) + } + + pub fn generate_blocks_at_with_inherent_digests( &mut self, at: BlockId, count: usize, origin: BlockOrigin, mut edit_block: F, + mut inherent_digests: G, headers_only: bool, inform_sync_about_new_best_block: bool, announce_block: bool, @@ -371,15 +399,17 @@ where ) -> Vec where F: FnMut(BlockBuilder) -> Block, + G: FnMut(usize) -> Digest, { let mut hashes = Vec::with_capacity(count); let full_client = self.client.as_client(); let mut at = full_client.block_hash_from_id(&at).unwrap().unwrap(); - for _ in 0..count { + for i in 0..count { let builder = BlockBuilderBuilder::new(&*full_client) .on_parent_block(at) .fetch_parent_block_number(&*full_client) .unwrap() + .with_inherent_digests(inherent_digests(i)) .build() .unwrap(); let block = edit_block(builder); @@ -656,6 +686,29 @@ impl VerifierAdapter { struct TestWarpSyncProvider(Arc>); +struct TestVerifier { + genesis_hash: B::Hash, +} + +impl WarpVerifier for TestVerifier { + fn verify( + &mut self, + proof: &EncodedProof, + ) -> Result, Box> { + let EncodedProof(encoded) = proof; + let header = B::Header::decode(&mut encoded.as_slice()).unwrap(); + Ok(VerificationResult::Complete(header, Default::default())) + } + + fn next_proof_context(&self) -> B::Hash { + self.genesis_hash + } + + fn status(&self) -> Option { + None + } +} + impl WarpSyncProvider for TestWarpSyncProvider { fn generate( &self, @@ -665,18 +718,10 @@ impl WarpSyncProvider for TestWarpSyncProvider { let best_header = self.0.header(info.best_hash).unwrap().unwrap(); Ok(EncodedProof(best_header.encode())) } - fn verify( - &self, - proof: &EncodedProof, - _set_id: SetId, - _authorities: AuthorityList, - ) -> Result, Box> { - let EncodedProof(encoded) = proof; - let header = B::Header::decode(&mut encoded.as_slice()).unwrap(); - Ok(VerificationResult::Complete(0, Default::default(), header, Default::default())) - } - fn current_authorities(&self) -> AuthorityList { - Default::default() + + fn create_verifier(&self) -> Box> { + let genesis_hash = self.0.info().genesis_hash; + Box::new(TestVerifier { genesis_hash }) } } @@ -918,6 +963,7 @@ pub trait TestNetFactory: Default + Sized + Send { state_request_protocol_name: state_request_protocol_config.name.clone(), block_downloader: block_relay_params.downloader, min_peers_to_start_warp_sync: None, + archive_blocks: config.blocks_pruning.is_none(), }; // Initialize syncing strategy. let syncing_strategy = Box::new( @@ -1043,10 +1089,10 @@ pub trait TestNetFactory: Default + Sized + Send { if peer.sync_service.is_major_syncing() || peer.sync_service.status().await.unwrap().queued_blocks != 0 { - return false + return false; } if peer.sync_service.num_sync_requests().await.unwrap() != 0 { - return false + return false; } match (highest, peer.client.info().best_hash) { (None, b) => highest = Some(b), @@ -1062,10 +1108,10 @@ pub trait TestNetFactory: Default + Sized + Send { let peers = self.peers_mut(); for peer in peers { if peer.sync_service.status().await.unwrap().queued_blocks != 0 { - return false + return false; } if peer.sync_service.num_sync_requests().await.unwrap() != 0 { - return false + return false; } } @@ -1086,7 +1132,7 @@ pub trait TestNetFactory: Default + Sized + Send { .await; if self.is_in_sync().await { - break + break; } } }) @@ -1106,7 +1152,7 @@ pub trait TestNetFactory: Default + Sized + Send { .await; if self.is_idle().await { - break + break; } } } @@ -1125,11 +1171,11 @@ pub trait TestNetFactory: Default + Sized + Send { Poll::Ready(()) }) .await; - continue 'outer + continue 'outer; } } - break + break; } } @@ -1147,7 +1193,7 @@ pub trait TestNetFactory: Default + Sized + Send { let net_poll_future = peer.network.next_action(); pin_mut!(net_poll_future); if let Poll::Pending = net_poll_future.poll(cx) { - break + break; } } trace!(target: "sync", "-- Polling complete {}: {}", i, peer.id()); diff --git a/substrate/client/network/test/src/service.rs b/substrate/client/network/test/src/service.rs index b027df24d4b24..c30a3bdb3d10f 100644 --- a/substrate/client/network/test/src/service.rs +++ b/substrate/client/network/test/src/service.rs @@ -212,6 +212,7 @@ impl TestNetworkBuilder { state_request_protocol_name: state_request_protocol_config.name.clone(), block_downloader: block_relay_params.downloader, min_peers_to_start_warp_sync: None, + archive_blocks: false, }; // Initialize syncing strategy. let syncing_strategy = Box::new( @@ -364,7 +365,7 @@ async fn notifications_state_consistent() { iterations += 1; if iterations >= 1_000 { assert!(something_happened); - break + break; } // Start by sending a notification from node1 to node2 and vice-versa. Part of the @@ -392,10 +393,12 @@ async fn notifications_state_consistent() { // forever while nothing at all happens on the network. let continue_test = futures_timer::Delay::new(Duration::from_millis(20)); match future::select(future::select(next1, next2), continue_test).await { - future::Either::Left((future::Either::Left((Some(ev), _)), _)) => - future::Either::Left(ev), - future::Either::Left((future::Either::Right((Some(ev), _)), _)) => - future::Either::Right(ev), + future::Either::Left((future::Either::Left((Some(ev), _)), _)) => { + future::Either::Left(ev) + }, + future::Either::Left((future::Either::Right((Some(ev), _)), _)) => { + future::Either::Right(ev) + }, future::Either::Right(_) => continue, _ => break, } @@ -630,7 +633,7 @@ async fn fallback_name_working() { }, NotificationEvent::NotificationStreamOpened { negotiated_fallback, .. } => { assert_eq!(negotiated_fallback, None); - break + break; }, _ => {}, } @@ -645,7 +648,7 @@ async fn fallback_name_working() { }, NotificationEvent::NotificationStreamOpened { negotiated_fallback, .. } => { assert_eq!(negotiated_fallback, Some(PROTOCOL_NAME.into())); - break + break; }, _ => {}, } diff --git a/substrate/client/network/test/src/sync.rs b/substrate/client/network/test/src/sync.rs index d60d1c0a518d8..80d95c66c9571 100644 --- a/substrate/client/network/test/src/sync.rs +++ b/substrate/client/network/test/src/sync.rs @@ -75,12 +75,12 @@ async fn sync_cycle_from_offline_to_syncing_to_offline() { for peer in 0..3 { // Online if net.peer(peer).is_offline() { - return Poll::Pending + return Poll::Pending; } if peer < 2 { // Major syncing. if net.peer(peer).blocks_count() < 100 && !net.peer(peer).is_major_syncing() { - return Poll::Pending + return Poll::Pending; } } } @@ -93,7 +93,7 @@ async fn sync_cycle_from_offline_to_syncing_to_offline() { net.poll(cx); for peer in 0..3 { if net.peer(peer).is_major_syncing() { - return Poll::Pending + return Poll::Pending; } } Poll::Ready(()) @@ -283,12 +283,12 @@ async fn sync_justifications() { if net.peer(0).client().justifications(hashes[height - 1]).unwrap() != Some(Justifications::from((*b"FRNK", Vec::new()))) { - return Poll::Pending + return Poll::Pending; } if net.peer(1).client().justifications(hashes[height - 1]).unwrap() != Some(Justifications::from((*b"FRNK", Vec::new()))) { - return Poll::Pending + return Poll::Pending; } } @@ -436,7 +436,7 @@ async fn can_sync_small_non_best_forks() { assert!(net.peer(0).client().header(small_hash).unwrap().is_some()); if net.peer(1).client().header(small_hash).unwrap().is_none() { - return Poll::Pending + return Poll::Pending; } Poll::Ready(()) }) @@ -448,7 +448,7 @@ async fn can_sync_small_non_best_forks() { futures::future::poll_fn::<(), _>(|cx| { net.poll(cx); if net.peer(1).client().header(another_fork).unwrap().is_none() { - return Poll::Pending + return Poll::Pending; } Poll::Ready(()) }) @@ -486,7 +486,7 @@ async fn can_sync_forks_ahead_of_the_best_chain() { net.poll(cx); if net.peer(1).client().header(fork_hash).unwrap().is_none() { - return Poll::Pending + return Poll::Pending; } Poll::Ready(()) }) @@ -540,7 +540,7 @@ async fn can_sync_explicit_forks() { assert!(net.peer(0).client().header(small_hash).unwrap().is_some()); if net.peer(1).client().header(small_hash).unwrap().is_none() { - return Poll::Pending + return Poll::Pending; } Poll::Ready(()) }) @@ -1003,7 +1003,7 @@ async fn multiple_requests_are_accepted_as_long_as_they_are_not_fulfilled() { if net.peer(1).client().justifications(hashof10).unwrap() != Some(Justifications::from((*b"FRNK", Vec::new()))) { - return Poll::Pending + return Poll::Pending; } Poll::Ready(()) @@ -1033,7 +1033,7 @@ async fn syncs_all_forks_from_single_peer() { .await; if net.peer(1).sync_service().status().await.unwrap().best_seen_block == Some(12) { - break + break; } } @@ -1200,7 +1200,7 @@ async fn syncs_indexed_blocks() { } #[tokio::test(flavor = "multi_thread", worker_threads = 2)] -async fn warp_sync() { +async fn warp_sync_gap_sync_skips_bodies_if_blocks_pruning() { sp_tracing::try_init_simple(); let mut net = TestNet::new(0); // Create 3 synced peers and 1 peer trying to warp sync. @@ -1209,12 +1209,18 @@ async fn warp_sync() { net.add_full_peer_with_config(Default::default()); net.add_full_peer_with_config(FullPeerConfig { sync_mode: SyncMode::Warp, + blocks_pruning: Some(256), // Pruning enabled, gap sync expected to not request bodies ..Default::default() }); - let gap_end = net.peer(0).push_blocks(63, false).pop().unwrap(); + + // Splitting blocks into chunks to demonstrate how gap sync works + let gap_start = net.peer(0).push_blocks(1, false); + let blocks = net.peer(0).push_blocks(61, false); + let gap_end = net.peer(0).push_blocks(1, false); let target = net.peer(0).push_blocks(1, false).pop().unwrap(); net.peer(1).push_blocks(64, false); net.peer(2).push_blocks(64, false); + // Wait for peer 3 to sync state. net.run_until_sync().await; // Make sure it was not a full sync. @@ -1225,7 +1231,67 @@ async fn warp_sync() { // Wait for peer 3 to download block history (gap sync). futures::future::poll_fn::<(), _>(|cx| { net.poll(cx); - if net.peer(3).has_body(gap_end) && net.peer(3).has_body(target) { + let peer = net.peer(3); + + // Gap blocks should only have headers (not bodies) due to pruning + let gap_blocks_dont_have_bodies = gap_start + .iter() + .chain(blocks.iter()) + .chain(gap_end.iter()) + .all(|b| peer.has_block(*b) && !peer.has_body(*b)); + + // Target block should have body (downloaded during warp sync) + let target_has_body = peer.has_body(target); + + if gap_blocks_dont_have_bodies && target_has_body { + Poll::Ready(()) + } else { + Poll::Pending + } + }) + .await; +} + +#[tokio::test(flavor = "multi_thread", worker_threads = 2)] +async fn warp_sync_gap_sync_requests_bodies_if_archive_node() { + sp_tracing::try_init_simple(); + let mut net = TestNet::new(0); + // Create 3 synced peers and 1 peer trying to warp sync. + net.add_full_peer_with_config(Default::default()); + net.add_full_peer_with_config(Default::default()); + net.add_full_peer_with_config(Default::default()); + net.add_full_peer_with_config(FullPeerConfig { + sync_mode: SyncMode::Warp, + blocks_pruning: None, // Archive mode, gap sync expected to request bodies too + ..Default::default() + }); + + // Splitting blocks into chunks to demonstrate how gap sync works + let gap_start = net.peer(0).push_blocks(1, false); + let blocks = net.peer(0).push_blocks(61, false); + let gap_end = net.peer(0).push_blocks(1, false); + let target = net.peer(0).push_blocks(1, false); + net.peer(1).push_blocks(64, false); + net.peer(2).push_blocks(64, false); + + // Wait for peer 3 to sync state. + net.run_until_sync().await; + // Make sure it was not a full sync. + assert!(!net.peer(3).client().has_state_at(&BlockId::Number(1))); + // Make sure warp sync was successful. + assert!(net.peer(3).client().has_state_at(&BlockId::Number(64))); + + // Wait for peer 3 to download block history (gap sync). + futures::future::poll_fn::<(), _>(|cx| { + net.poll(cx); + let peer = net.peer(3); + if gap_start + .iter() + .chain(blocks.iter()) + .chain(gap_end.iter()) + .chain(target.iter()) + .all(|b| peer.has_body(*b)) + { Poll::Ready(()) } else { Poll::Pending @@ -1281,6 +1347,7 @@ async fn warp_sync_to_target_block() { net.add_full_peer_with_config(FullPeerConfig { sync_mode: SyncMode::Warp, + blocks_pruning: Some(256), target_header: Some(target_block), ..Default::default() }); @@ -1292,7 +1359,7 @@ async fn warp_sync_to_target_block() { futures::future::poll_fn::<(), _>(|cx| { net.poll(cx); let peer = net.peer(3); - if blocks.iter().all(|b| peer.has_body(*b)) { + if blocks.iter().all(|b| peer.has_block(*b)) { Poll::Ready(()) } else { Poll::Pending @@ -1331,3 +1398,48 @@ async fn syncs_huge_blocks() { assert_eq!(net.peer(0).client.info().best_number, 33); assert_eq!(net.peer(1).client.info().best_number, 33); } + +/// Test syncing 512 blocks with 900 KiB headers (empty bodies) to test large header handling. +#[tokio::test(flavor = "multi_thread", worker_threads = 2)] +async fn syncs_blocks_with_large_headers() { + use sc_consensus::ForkChoiceStrategy; + use sp_runtime::{ + generic::{BlockId, DigestItem}, + Digest, + }; + + sp_tracing::try_init_simple(); + let mut net = TestNet::new(2); + + { + let peer = net.peer(0); + let best_hash = peer.client.info().best_hash; + peer.generate_blocks_at_with_inherent_digests( + BlockId::Hash(best_hash), + 512, + BlockOrigin::Own, + |builder| builder.build().unwrap().block, + |i| { + let large_data = vec![i as u8; 900 * 1024]; + Digest { logs: vec![DigestItem::PreRuntime(*b"test", large_data)] } + }, + false, + true, + true, + ForkChoiceStrategy::LongestChain, + ); + assert_eq!(peer.client.info().best_number, 512); + } + + net.run_until_sync().await; + + assert_eq!(net.peer(1).client.info().best_number, 512); + assert!(net.peers()[0].blockchain_canon_equals(&net.peers()[1])); + + net.add_full_peer(); + + net.run_until_sync().await; + + assert_eq!(net.peer(2).client.info().best_number, 512); + assert!(net.peers()[0].blockchain_canon_equals(&net.peers()[2])); +} diff --git a/substrate/client/network/transactions/src/lib.rs b/substrate/client/network/transactions/src/lib.rs index a6a9552079459..7978cddd2096e 100644 --- a/substrate/client/network/transactions/src/lib.rs +++ b/substrate/client/network/transactions/src/lib.rs @@ -113,7 +113,7 @@ impl Future for PendingTransaction { fn poll(mut self: Pin<&mut Self>, cx: &mut std::task::Context<'_>) -> Poll { if let Poll::Ready(import_result) = self.validation.poll_unpin(cx) { - return Poll::Ready((self.tx_hash.clone(), import_result)) + return Poll::Ready((self.tx_hash.clone(), import_result)); } Poll::Pending @@ -344,7 +344,7 @@ where NotificationEvent::NotificationStreamOpened { peer, handshake, .. } => { let Some(role) = self.network.peer_role(peer, handshake) else { log::debug!(target: "sub-libp2p", "role for {peer} couldn't be determined"); - return + return; }; let _was_in = self.peers.insert( @@ -405,7 +405,7 @@ where // Accept transactions only when node is not major syncing if self.sync.is_major_syncing() { trace!(target: LOG_TARGET, "{} Ignoring transactions while major syncing", who); - return + return; } trace!(target: LOG_TARGET, "Received {} transactions from {}", transactions.len(), who); @@ -417,7 +417,7 @@ where "Ignoring any further transactions that exceed `MAX_PENDING_TRANSACTIONS`({}) limit", MAX_PENDING_TRANSACTIONS, ); - break + break; } let hash = self.transaction_pool.hash_of(&t); @@ -443,8 +443,9 @@ where fn on_handle_transaction_import(&mut self, who: PeerId, import: TransactionImport) { match import { - TransactionImport::KnownGood => - self.network.report_peer(who, rep::ANY_TRANSACTION_REFUND), + TransactionImport::KnownGood => { + self.network.report_peer(who, rep::ANY_TRANSACTION_REFUND) + }, TransactionImport::NewGood => self.network.report_peer(who, rep::GOOD_TRANSACTION), TransactionImport::Bad => self.network.report_peer(who, rep::BAD_TRANSACTION), TransactionImport::None => {}, @@ -455,7 +456,7 @@ where pub fn propagate_transaction(&mut self, hash: &H) { // Accept transactions only when node is not major syncing if self.sync.is_major_syncing() { - return + return; } debug!(target: LOG_TARGET, "Propagating transaction [{:?}]", hash); @@ -477,7 +478,7 @@ where for (who, peer) in self.peers.iter_mut() { // never send transactions to the light node if matches!(peer.role, ObservedRole::Light) { - continue + continue; } let (hashes, to_send): (Vec<_>, Transactions<_>) = transactions @@ -521,13 +522,13 @@ where fn propagate_transactions(&mut self) { // Accept transactions only when node is not major syncing if self.sync.is_major_syncing() { - return + return; } let transactions = self.transaction_pool.transactions(); if transactions.is_empty() { - return + return; } debug!(target: LOG_TARGET, "Propagating transactions"); diff --git a/substrate/client/network/types/src/multiaddr/protocol.rs b/substrate/client/network/types/src/multiaddr/protocol.rs index 35fcaa5493a47..e3497dfc3cc6d 100644 --- a/substrate/client/network/types/src/multiaddr/protocol.rs +++ b/substrate/client/network/types/src/multiaddr/protocol.rs @@ -116,8 +116,9 @@ impl<'a> From> for Protocol<'a> { LiteP2pProtocol::P2pWebSocketStar => Protocol::P2pWebSocketStar, LiteP2pProtocol::Memory(port) => Protocol::Memory(port), LiteP2pProtocol::Onion(str, port) => Protocol::Onion(str, port), - LiteP2pProtocol::Onion3(addr) => - Protocol::Onion3(Cow::Owned(*addr.hash()), addr.port()), + LiteP2pProtocol::Onion3(addr) => { + Protocol::Onion3(Cow::Owned(*addr.hash()), addr.port()) + }, LiteP2pProtocol::P2p(multihash) => Protocol::P2p(multihash.into()), LiteP2pProtocol::P2pCircuit => Protocol::P2pCircuit, LiteP2pProtocol::Quic => Protocol::Quic, @@ -245,7 +246,7 @@ impl<'a> From> for LibP2pProtocol<'a> { Protocol::Memory(port) => LibP2pProtocol::Memory(port), Protocol::Onion(str, port) => LibP2pProtocol::Onion(str, port), Protocol::Onion3(str, port) => LibP2pProtocol::Onion3((str.into_owned(), port).into()), - Protocol::P2p(multihash) => + Protocol::P2p(multihash) => { LibP2pProtocol::P2p(PeerId::from_multihash(multihash.into()).unwrap_or_else(|_| { // This is better than making conversion fallible and complicating the // client code. @@ -255,7 +256,8 @@ impl<'a> From> for LibP2pProtocol<'a> { peer_id. Replacing with random peer_id." ); PeerId::random() - })), + })) + }, Protocol::P2pCircuit => LibP2pProtocol::P2pCircuit, Protocol::Quic => LibP2pProtocol::Quic, Protocol::QuicV1 => LibP2pProtocol::QuicV1, diff --git a/substrate/client/network/types/src/peer_id.rs b/substrate/client/network/types/src/peer_id.rs index 124b955d48a65..324f4526ef95c 100644 --- a/substrate/client/network/types/src/peer_id.rs +++ b/substrate/client/network/types/src/peer_id.rs @@ -77,8 +77,9 @@ impl PeerId { pub fn from_multihash(multihash: Multihash) -> Result { match Code::try_from(multihash.code()) { Ok(Code::Sha2_256) => Ok(PeerId { multihash }), - Ok(Code::Identity) if multihash.digest().len() <= MAX_INLINE_KEY_LENGTH => - Ok(PeerId { multihash }), + Ok(Code::Identity) if multihash.digest().len() <= MAX_INLINE_KEY_LENGTH => { + Ok(PeerId { multihash }) + }, _ => Err(multihash), } } @@ -105,7 +106,7 @@ impl PeerId { // https://www.ietf.org/archive/id/draft-multiformats-multihash-07.html#name-the-multihash-identifier-re if hash.code() != 0 { // Hash is not identity - return None + return None; } let public = libp2p_identity::PublicKey::try_decode_protobuf(hash.digest()).ok()?; diff --git a/substrate/client/offchain/src/api/http.rs b/substrate/client/offchain/src/api/http.rs index 56f5c0230094e..684f087b2e461 100644 --- a/substrate/client/offchain/src/api/http.rs +++ b/substrate/client/offchain/src/api/http.rs @@ -554,10 +554,11 @@ impl HttpApi { if let future::MaybeDone::Done(next_body) = next_body { match next_body { - Some(Ok(chunk)) => + Some(Ok(chunk)) => { if let Ok(chunk) = chunk.into_data() { response.current_read_chunk = Some(chunk.reader()); - }, + } + }, Some(Err(_)) => return Err(HttpError::IoError), None => return Ok(0), // eof } @@ -580,8 +581,9 @@ impl fmt::Debug for HttpApi { impl fmt::Debug for HttpApiRequest { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match self { - HttpApiRequest::NotDispatched(_, _) => - f.debug_tuple("HttpApiRequest::NotDispatched").finish(), + HttpApiRequest::NotDispatched(_, _) => { + f.debug_tuple("HttpApiRequest::NotDispatched").finish() + }, HttpApiRequest::Dispatched(_) => f.debug_tuple("HttpApiRequest::Dispatched").finish(), HttpApiRequest::Response(HttpApiRequestRp { status_code, headers, .. }) => f .debug_tuple("HttpApiRequest::Response") @@ -761,10 +763,12 @@ impl fmt::Debug for HttpWorker { impl fmt::Debug for HttpWorkerRequest { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match self { - HttpWorkerRequest::Dispatched(_) => - f.debug_tuple("HttpWorkerRequest::Dispatched").finish(), - HttpWorkerRequest::ReadBody { .. } => - f.debug_tuple("HttpWorkerRequest::Response").finish(), + HttpWorkerRequest::Dispatched(_) => { + f.debug_tuple("HttpWorkerRequest::Dispatched").finish() + }, + HttpWorkerRequest::ReadBody { .. } => { + f.debug_tuple("HttpWorkerRequest::Response").finish() + }, } } } diff --git a/substrate/client/offchain/src/api/timestamp.rs b/substrate/client/offchain/src/api/timestamp.rs index 0087ff592e1fc..254f29cf7b2d5 100644 --- a/substrate/client/offchain/src/api/timestamp.rs +++ b/substrate/client/offchain/src/api/timestamp.rs @@ -60,8 +60,9 @@ pub fn deadline_to_future( future::maybe_done(match deadline.map(timestamp_from_now) { None => Either::Left(future::pending()), // Only apply delay if we need to wait a non-zero duration - Some(duration) if duration <= Duration::from_secs(0) => - Either::Right(Either::Left(future::ready(()))), + Some(duration) if duration <= Duration::from_secs(0) => { + Either::Right(Either::Left(future::ready(()))) + }, Some(duration) => Either::Right(Either::Right(futures_timer::Delay::new(duration))), }) } diff --git a/substrate/client/rpc-api/src/author/error.rs b/substrate/client/rpc-api/src/author/error.rs index 0ccd82fc0b64c..201b417e4d000 100644 --- a/substrate/client/rpc-api/src/author/error.rs +++ b/substrate/client/rpc-api/src/author/error.rs @@ -48,6 +48,9 @@ pub enum Error { /// Invalid session keys encoding. #[error("Session keys are not encoded correctly")] InvalidSessionKeys, + /// `SessionKeys` runtime api missing. + #[error("`SessionKeys` runtime api not present in the runtime")] + MissingSessionKeysApi, /// Call to an unsafe RPC was denied. #[error(transparent)] UnsafeRpcCalled(#[from] crate::policy::UnsafeRpcError), diff --git a/substrate/client/rpc-api/src/author/mod.rs b/substrate/client/rpc-api/src/author/mod.rs index 7406dd94c72e1..c37372133a459 100644 --- a/substrate/client/rpc-api/src/author/mod.rs +++ b/substrate/client/rpc-api/src/author/mod.rs @@ -18,14 +18,28 @@ //! Substrate block-author/full-node API. -pub mod error; -pub mod hash; - use error::Error; use jsonrpsee::proc_macros::rpc; use sc_transaction_pool_api::TransactionStatus; use sp_core::Bytes; +pub mod error; +pub mod hash; + +/// Output of [`AuthorApiServer::rotate_keys_with_owner`]. +#[derive(serde::Serialize, serde::Deserialize, Clone)] +pub struct GeneratedSessionKeys { + /// The public session keys for registering them on chain. + pub keys: Bytes, + + /// The `proof` for verifying ownership of the generated session keys. + /// + /// This will be `None` iff the chain doesn't support generating the `proof`. + #[serde(skip_serializing_if = "Option::is_none")] + #[serde(default)] + pub proof: Option, +} + /// Substrate authoring RPC API #[rpc(client, server)] pub trait AuthorApi { @@ -41,6 +55,15 @@ pub trait AuthorApi { #[method(name = "author_rotateKeys", with_extensions)] fn rotate_keys(&self) -> Result; + /// Generate new session keys and returns the corresponding public keys. + /// + /// The `owner` should be something that can be used on chain for verifying the ownership of the + /// generated keys using the returned `proof`. For example, `owner` could be set to the account + /// id of the account registering the returned public session keys. The actual data to pass for + /// `owner` depends on the runtime logic verifying the `proof`. + #[method(name = "author_rotateKeysWithOwner", with_extensions)] + fn rotate_keys_with_owner(&self, owner: Bytes) -> Result; + /// Checks if the keystore has private keys for the given session public keys. /// /// `session_keys` is the SCALE encoded session keys object from the runtime. diff --git a/substrate/client/rpc-api/src/mixnet/error.rs b/substrate/client/rpc-api/src/mixnet/error.rs index 22352256f91e0..5ac63adf72684 100644 --- a/substrate/client/rpc-api/src/mixnet/error.rs +++ b/substrate/client/rpc-api/src/mixnet/error.rs @@ -36,8 +36,9 @@ impl From for ErrorObjectOwned { sc_mixnet::Error::Post(PostErr::TooManyFragments) => BASE_ERROR + 101, sc_mixnet::Error::Post(PostErr::SessionMixnodesNotKnown(_)) => BASE_ERROR + 102, sc_mixnet::Error::Post(PostErr::SessionDisabled(_)) => BASE_ERROR + 103, - sc_mixnet::Error::Post(PostErr::Topology(TopologyErr::NoConnectedGatewayMixnodes)) => - BASE_ERROR + 151, + sc_mixnet::Error::Post(PostErr::Topology(TopologyErr::NoConnectedGatewayMixnodes)) => { + BASE_ERROR + 151 + }, sc_mixnet::Error::Post(PostErr::Topology(_)) => BASE_ERROR + 150, sc_mixnet::Error::Post(_) => BASE_ERROR + 100, sc_mixnet::Error::Remote(RemoteErr::Other(_)) => BASE_ERROR + 200, diff --git a/substrate/client/rpc-api/src/state/error.rs b/substrate/client/rpc-api/src/state/error.rs index f2396c63815c5..4528aedbc9f84 100644 --- a/substrate/client/rpc-api/src/state/error.rs +++ b/substrate/client/rpc-api/src/state/error.rs @@ -58,10 +58,12 @@ const BASE_ERROR: i32 = crate::error::base::STATE; impl From for ErrorObjectOwned { fn from(e: Error) -> ErrorObjectOwned { match e { - Error::InvalidBlockRange { .. } => - ErrorObject::owned(BASE_ERROR + 1, e.to_string(), None::<()>), - Error::InvalidCount { .. } => - ErrorObject::owned(BASE_ERROR + 2, e.to_string(), None::<()>), + Error::InvalidBlockRange { .. } => { + ErrorObject::owned(BASE_ERROR + 1, e.to_string(), None::<()>) + }, + Error::InvalidCount { .. } => { + ErrorObject::owned(BASE_ERROR + 2, e.to_string(), None::<()>) + }, e => ErrorObject::owned(BASE_ERROR + 3, e.to_string(), None::<()>), } } diff --git a/substrate/client/rpc-api/src/statement/mod.rs b/substrate/client/rpc-api/src/statement/mod.rs index 04aa60630a55c..add2594114685 100644 --- a/substrate/client/rpc-api/src/statement/mod.rs +++ b/substrate/client/rpc-api/src/statement/mod.rs @@ -20,77 +20,40 @@ use jsonrpsee::{core::RpcResult, proc_macros::rpc}; use sp_core::Bytes; -use sp_statement_store::SubmitResult; +use sp_statement_store::{SubmitResult, TopicFilter}; pub mod error; /// Substrate statement RPC API #[rpc(client, server)] pub trait StatementApi { - /// Return all statements, SCALE-encoded. - #[method(name = "statement_dump", with_extensions)] - fn dump(&self) -> RpcResult>; - - /// Return the data of all known statements which include all topics and have no `DecryptionKey` - /// field. + /// Subscribe to new statements that match the provided filters. /// - /// To get the statement, and not just the data, use `statement_broadcastsStatement`. - #[method(name = "statement_broadcasts")] - fn broadcasts(&self, match_all_topics: Vec<[u8; 32]>) -> RpcResult>; - - /// Return the data of all known statements whose decryption key is identified as `dest` (this - /// will generally be the public key or a hash thereof for symmetric ciphers, or a hash of the - /// private key for symmetric ciphers). + /// # Parameters /// - /// To get the statement, and not just the data, use `statement_postedStatement`. - #[method(name = "statement_posted")] - fn posted(&self, match_all_topics: Vec<[u8; 32]>, dest: [u8; 32]) -> RpcResult>; - - /// Return the decrypted data of all known statements whose decryption key is identified as - /// `dest`. The key must be available to the client. + /// - `topic_filter` β€” Which topics to match. Use `TopicFilter::Any` to match all topics, + /// `TopicFilter::MatchAll(vec)` to match statements that include all provided topics, or + /// `TopicFilter::MatchAny(vec)` to match statements that include any of the provided topics. /// - /// To get the statement, and not just the data, use `statement_postedClearStatement`. - #[method(name = "statement_postedClear")] - fn posted_clear( - &self, - match_all_topics: Vec<[u8; 32]>, - dest: [u8; 32], - ) -> RpcResult>; - - /// Return all known statements which include all topics and have no `DecryptionKey` - /// field. + /// # Returns /// - /// This returns the SCALE-encoded statements not just the data as in rpc - /// `statement_broadcasts`. - #[method(name = "statement_broadcastsStatement")] - fn broadcasts_stmt(&self, match_all_topics: Vec<[u8; 32]>) -> RpcResult>; - - /// Return all known statements whose decryption key is identified as `dest` (this - /// will generally be the public key or a hash thereof for symmetric ciphers, or a hash of the - /// private key for symmetric ciphers). + /// Returns a stream of SCALE-encoded statements as `Bytes`. + /// When a subscription is initiated the endpoint will immediately return the matching + /// statements already in the store. Subsequent matching statements will be pushed to the client + /// as they are added to the store. + #[subscription( + name = "statement_subscribeStatement" => "statement_statement", + unsubscribe = "statement_unsubscribeStatement", + item = Bytes, + with_extensions, + )] + fn subscribe_statement(&self, topic_filter: TopicFilter); + + /// Submit a SCALE-encoded statement. /// - /// This returns the SCALE-encoded statements not just the data as in rpc `statement_posted`. - #[method(name = "statement_postedStatement")] - fn posted_stmt(&self, match_all_topics: Vec<[u8; 32]>, dest: [u8; 32]) - -> RpcResult>; - - /// Return the statement and the decrypted data of all known statements whose decryption key is - /// identified as `dest`. The key must be available to the client. + /// See `Statement` definition for more details. /// - /// This returns for each statement: the SCALE-encoded statement concatenated to the decrypted - /// data. Not just the data as in rpc `statement_postedClear`. - #[method(name = "statement_postedClearStatement")] - fn posted_clear_stmt( - &self, - match_all_topics: Vec<[u8; 32]>, - dest: [u8; 32], - ) -> RpcResult>; - - /// Submit a pre-encoded statement. + /// Returns `SubmitResult` indicating success or failure reason. #[method(name = "statement_submit")] fn submit(&self, encoded: Bytes) -> RpcResult; - - /// Remove a statement from the store. - #[method(name = "statement_remove")] - fn remove(&self, statement_hash: [u8; 32]) -> RpcResult<()>; } diff --git a/substrate/client/rpc-api/src/system/error.rs b/substrate/client/rpc-api/src/system/error.rs index 1e826a75ae622..4d9c6b02f1729 100644 --- a/substrate/client/rpc-api/src/system/error.rs +++ b/substrate/client/rpc-api/src/system/error.rs @@ -54,13 +54,16 @@ const MALFORMATTED_PEER_ARG_ERROR: i32 = BASE_ERROR + 2; impl From for ErrorObjectOwned { fn from(e: Error) -> ErrorObjectOwned { match e { - Error::NotHealthy(ref h) => - ErrorObject::owned(NOT_HEALTHY_ERROR, e.to_string(), Some(h)), - Error::MalformattedPeerArg(e) => - ErrorObject::owned(MALFORMATTED_PEER_ARG_ERROR, e, None::<()>), + Error::NotHealthy(ref h) => { + ErrorObject::owned(NOT_HEALTHY_ERROR, e.to_string(), Some(h)) + }, + Error::MalformattedPeerArg(e) => { + ErrorObject::owned(MALFORMATTED_PEER_ARG_ERROR, e, None::<()>) + }, Error::UnsafeRpcCalled(e) => e.into(), - Error::Internal(e) => - ErrorObjectOwned::owned(ErrorCode::InternalError.code(), e, None::<()>), + Error::Internal(e) => { + ErrorObjectOwned::owned(ErrorCode::InternalError.code(), e, None::<()>) + }, } } } diff --git a/substrate/client/rpc-servers/src/middleware/node_health.rs b/substrate/client/rpc-servers/src/middleware/node_health.rs index 482ff767ced58..68fbdfb4e1c8c 100644 --- a/substrate/client/rpc-servers/src/middleware/node_health.rs +++ b/substrate/client/rpc-servers/src/middleware/node_health.rs @@ -99,8 +99,9 @@ where async move { Ok(match maybe_intercept { - InterceptRequest::Deny => - http_response(StatusCode::METHOD_NOT_ALLOWED, HttpBody::empty()), + InterceptRequest::Deny => { + http_response(StatusCode::METHOD_NOT_ALLOWED, HttpBody::empty()) + }, InterceptRequest::No => fut.await.map_err(|err| err.into())?, InterceptRequest::Health => { let res = fut.await.map_err(|err| err.into())?; @@ -116,7 +117,9 @@ where Ok(health) if (!health.is_syncing && health.peers > 0) || !health.should_have_peers => - http_ok_response(HttpBody::empty()), + { + http_ok_response(HttpBody::empty()) + }, _ => http_internal_error(), } }, @@ -188,18 +191,20 @@ enum InterceptRequest { impl InterceptRequest { fn from_http(req: &HttpRequest) -> InterceptRequest { match req.uri().path() { - "/health" => + "/health" => { if req.method() == http::Method::GET { InterceptRequest::Health } else { InterceptRequest::Deny - }, - "/health/readiness" => + } + }, + "/health/readiness" => { if req.method() == http::Method::GET { InterceptRequest::Readiness } else { InterceptRequest::Deny - }, + } + }, // Forward all other requests to the RPC server. _ => InterceptRequest::No, } diff --git a/substrate/client/rpc-spec-v2/src/archive/archive.rs b/substrate/client/rpc-spec-v2/src/archive/archive.rs index 2814e12afdcb2..26d3e93bef38d 100644 --- a/substrate/client/rpc-spec-v2/src/archive/archive.rs +++ b/substrate/client/rpc-spec-v2/src/archive/archive.rs @@ -96,7 +96,7 @@ impl, Block: BlockT, Client> Archive { fn parse_hex_param(param: String) -> Result, ArchiveError> { // Methods can accept empty parameters. if param.is_empty() { - return Ok(Default::default()) + return Ok(Default::default()); } array_bytes::hex2bytes(¶m).map_err(|_| ArchiveError::InvalidParam(param)) @@ -153,7 +153,7 @@ where if finalized_num >= height { let Ok(Some(hash)) = self.client.block_hash(height) else { return Ok(vec![]) }; - return Ok(vec![hex_string(&hash.as_ref())]) + return Ok(vec![hex_string(&hash.as_ref())]); } let blockchain = self.backend.blockchain(); @@ -166,7 +166,7 @@ where let Ok(Some(header)) = self.client.header(hash) else { return None }; if header.number() < &height { - return None + return None; } Some(header) @@ -179,7 +179,7 @@ where while let Some(header) = headers.pop() { if header.number() == &height { result.push(hex_string(&header.hash().as_ref())); - continue + continue; } let parent_hash = *header.parent_hash(); @@ -254,7 +254,7 @@ where Ok(items) => items, Err(error) => { let _ = sink.send(&ArchiveStorageEvent::err(error.to_string())).await; - return + return; }, }; @@ -263,7 +263,7 @@ where Ok(child_trie) => child_trie.map(ChildInfo::new_default_from_vec), Err(error) => { let _ = sink.send(&ArchiveStorageEvent::err(error.to_string())).await; - return + return; }, }; @@ -302,7 +302,7 @@ where let Ok(Some(current_header)) = client.header(hash) else { let message = format!("Block header is not present: {hash}"); let _ = sink.send(&ArchiveStorageDiffEvent::err(message)).await; - return + return; }; *current_header.parent_hash() }; diff --git a/substrate/client/rpc-spec-v2/src/archive/archive_storage.rs b/substrate/client/rpc-spec-v2/src/archive/archive_storage.rs index 390db765a48f6..dc6eec4af4c78 100644 --- a/substrate/client/rpc-spec-v2/src/archive/archive_storage.rs +++ b/substrate/client/rpc-spec-v2/src/archive/archive_storage.rs @@ -46,7 +46,7 @@ use tokio::sync::mpsc; pub fn parse_hex_param(param: String) -> Result, ArchiveError> { // Methods can accept empty parameters. if param.is_empty() { - return Ok(Default::default()) + return Ok(Default::default()); } array_bytes::hex2bytes(¶m).map_err(|_| ArchiveError::InvalidParam(param)) @@ -146,7 +146,7 @@ where fn belongs_to_query(key: &StorageKey, items: &[DiffDetails]) -> Option { // User has requested all keys, by default this fallbacks to fetching the value. if items.is_empty() { - return Some(FetchStorageType::Value) + return Some(FetchStorageType::Value); } let mut value = false; @@ -179,8 +179,9 @@ where child_trie_key: Option, ) -> bool { let items = match result { - FetchedStorage::Value(storage_result) | FetchedStorage::Hash(storage_result) => - vec![storage_result], + FetchedStorage::Value(storage_result) | FetchedStorage::Hash(storage_result) => { + vec![storage_result] + }, FetchedStorage::Both { value, hash } => vec![value, hash], }; @@ -192,7 +193,7 @@ where child_trie_key: child_trie_key.clone(), }); if tx.blocking_send(res).is_err() { - return false + return false; } } @@ -233,8 +234,9 @@ where }; let maybe_result = match operation_type { - ArchiveStorageDiffOperationType::Added => - self.fetch_storage(hash, key.clone(), maybe_child_trie.clone(), fetch_type)?, + ArchiveStorageDiffOperationType::Added => { + self.fetch_storage(hash, key.clone(), maybe_child_trie.clone(), fetch_type)? + }, ArchiveStorageDiffOperationType::Deleted => self.fetch_storage( previous_hash, key.clone(), @@ -249,7 +251,7 @@ where fetch_type, )? else { - continue + continue; }; let Some(previous_storage_result) = self.fetch_storage( @@ -259,12 +261,12 @@ where fetch_type, )? else { - continue + continue; }; // For modified records we need to check the actual storage values. if storage_result == previous_storage_result { - continue + continue; } Some(storage_result) @@ -278,7 +280,7 @@ where operation_type, maybe_child_trie_str.clone(), ) { - return Ok(()) + return Ok(()); } } } @@ -304,7 +306,7 @@ where Ok(items) => items, Err(error) => { let _ = tx.blocking_send(ArchiveStorageDiffEvent::err(error.to_string())); - return + return; }, }; // Default to using the main storage trie if no items are provided. @@ -333,7 +335,7 @@ where let _ = tx.blocking_send(ArchiveStorageDiffEvent::err(error)); - return + return; } else { log::trace!( target: LOG_TARGET, @@ -372,7 +374,7 @@ where let mut b = right.next(); core::iter::from_fn(move || match (a.take(), b.take()) { - (Some(a_value), Some(b_value)) => + (Some(a_value), Some(b_value)) => { if a_value < b_value { b = Some(b_value); a = left.next(); @@ -388,7 +390,8 @@ where b = right.next(); Some(Diff::Equal(a_value)) - }, + } + }, (Some(a_value), None) => { a = left.next(); Some(Diff::Added(a_value)) @@ -433,12 +436,12 @@ fn deduplicate_storage_diff_items( for existing in entry.get() { // This points to a different return type. if existing.return_type != diff_item.return_type { - continue + continue; } // Keys and return types are identical. if existing.key == diff_item.key { should_insert = false; - break + break; } // The following two conditions ensure that we keep the shortest key. @@ -446,7 +449,7 @@ fn deduplicate_storage_diff_items( // The current key is a longer prefix of the existing key. if diff_item.key.as_ref().starts_with(&existing.key.as_ref()) { should_insert = false; - break + break; } // The existing key is a longer prefix of the current key. diff --git a/substrate/client/rpc-spec-v2/src/archive/error.rs b/substrate/client/rpc-spec-v2/src/archive/error.rs index 93e1769dc19f3..d37bfcbd88b47 100644 --- a/substrate/client/rpc-spec-v2/src/archive/error.rs +++ b/substrate/client/rpc-spec-v2/src/archive/error.rs @@ -57,7 +57,6 @@ impl From for ErrorObject<'static> { } /// The error type for errors that can never happen. -// // NOTE: Can't use std::convert::Infallible because of the orphan-rule pub enum Infallible {} diff --git a/substrate/client/rpc-spec-v2/src/chain_head/chain_head.rs b/substrate/client/rpc-spec-v2/src/chain_head/chain_head.rs index 039bcf62562e3..ceb3f92c48185 100644 --- a/substrate/client/rpc-spec-v2/src/chain_head/chain_head.rs +++ b/substrate/client/rpc-spec-v2/src/chain_head/chain_head.rs @@ -173,7 +173,7 @@ pub fn read_subscription_id_as_string(sink: &Subscription) -> String { fn parse_hex_param(param: String) -> Result, ChainHeadRpcError> { // Methods can accept empty parameters. if param.is_empty() { - return Ok(Default::default()) + return Ok(Default::default()); } match array_bytes::hex2bytes(¶m) { @@ -213,7 +213,7 @@ where let Some(mut reserved_subscription) = subscriptions.reserve_subscription(connection_id) else { pending.reject(ChainHeadRpcError::ReachedLimits).await; - return + return; }; let Ok(sink) = pending.accept().await.map(Subscription::from) else { return }; @@ -227,7 +227,7 @@ where // subscription ID. debug!(target: LOG_TARGET, "[follow][id={:?}] Subscription already accepted", sub_id); let _ = sink.send(&FollowEvent::::Stop).await; - return + return; }; debug!(target: LOG_TARGET, "[follow][id={:?}] Subscription accepted", sub_id); @@ -277,8 +277,9 @@ where let mut block_guard = match subscriptions.lock_block(&follow_subscription, hash, 1) { Ok(block) => block, Err(SubscriptionManagementError::SubscriptionAbsent) | - Err(SubscriptionManagementError::ExceededLimits) => - return ResponsePayload::success(MethodResponse::LimitReached), + Err(SubscriptionManagementError::ExceededLimits) => { + return ResponsePayload::success(MethodResponse::LimitReached) + }, Err(SubscriptionManagementError::BlockHashAbsent) => { // Block is not part of the subscription. return ResponsePayload::error(ChainHeadRpcError::InvalidBlock); @@ -310,7 +311,7 @@ where hash ); subscriptions.remove_subscription(&follow_subscription); - return ResponsePayload::error(ChainHeadRpcError::InvalidBlock) + return ResponsePayload::error(ChainHeadRpcError::InvalidBlock); }, Err(error) => FollowEvent::::OperationError(OperationError { operation_id: operation_id.clone(), @@ -359,7 +360,7 @@ where Err(SubscriptionManagementError::ExceededLimits) => return Ok(None), Err(SubscriptionManagementError::BlockHashAbsent) => { // Block is not part of the subscription. - return Err(ChainHeadRpcError::InvalidBlock.into()) + return Err(ChainHeadRpcError::InvalidBlock.into()); }, Err(_) => return Err(ChainHeadRpcError::InvalidBlock.into()), }; @@ -425,7 +426,7 @@ where }, Err(SubscriptionManagementError::BlockHashAbsent) => { // Block is not part of the subscription. - return ResponsePayload::error(ChainHeadRpcError::InvalidBlock) + return ResponsePayload::error(ChainHeadRpcError::InvalidBlock); }, Err(_) => return ResponsePayload::error(ChainHeadRpcError::InvalidBlock), }; @@ -489,11 +490,11 @@ where Err(SubscriptionManagementError::SubscriptionAbsent) | Err(SubscriptionManagementError::ExceededLimits) => { // Invalid invalid subscription ID. - return ResponsePayload::success(MethodResponse::LimitReached) + return ResponsePayload::success(MethodResponse::LimitReached); }, Err(SubscriptionManagementError::BlockHashAbsent) => { // Block is not part of the subscription. - return ResponsePayload::error(ChainHeadRpcError::InvalidBlock) + return ResponsePayload::error(ChainHeadRpcError::InvalidBlock); }, Err(_) => return ResponsePayload::error(ChainHeadRpcError::InvalidBlock), }; @@ -513,7 +514,7 @@ where // Wait for the server to send out the response and if it produces an error no event // should be generated. if rp_fut.await.is_err() { - return + return; } let event = client @@ -556,10 +557,12 @@ where } let result = match hash_or_hashes { - ListOrValue::Value(hash) => - self.subscriptions.unpin_blocks(&follow_subscription, [hash]), - ListOrValue::List(hashes) => - self.subscriptions.unpin_blocks(&follow_subscription, hashes), + ListOrValue::Value(hash) => { + self.subscriptions.unpin_blocks(&follow_subscription, [hash]) + }, + ListOrValue::List(hashes) => { + self.subscriptions.unpin_blocks(&follow_subscription, hashes) + }, }; match result { @@ -572,8 +575,9 @@ where // Block is not part of the subscription. Err(ChainHeadRpcError::InvalidBlock) }, - Err(SubscriptionManagementError::DuplicateHashes) => - Err(ChainHeadRpcError::InvalidDuplicateHashes), + Err(SubscriptionManagementError::DuplicateHashes) => { + Err(ChainHeadRpcError::InvalidDuplicateHashes) + }, Err(_) => Err(ChainHeadRpcError::InvalidBlock), } } @@ -590,7 +594,7 @@ where .expect("ConnectionId is always set by jsonrpsee; qed"); if !self.subscriptions.contains_subscription(conn_id, &follow_subscription) { - return Ok(()) + return Ok(()); } // WaitingForContinue event is never emitted, in such cases @@ -614,13 +618,13 @@ where .expect("ConnectionId is always set by jsonrpsee; qed"); if !self.subscriptions.contains_subscription(conn_id, &follow_subscription) { - return Ok(()) + return Ok(()); } let Some(mut operation) = self.subscriptions.get_operation(&follow_subscription, &operation_id) else { - return Ok(()) + return Ok(()); }; operation.stop(); diff --git a/substrate/client/rpc-spec-v2/src/chain_head/chain_head_follow.rs b/substrate/client/rpc-spec-v2/src/chain_head/chain_head_follow.rs index a422b2c60bb9f..a9ce5f023b98e 100644 --- a/substrate/client/rpc-spec-v2/src/chain_head/chain_head_follow.rs +++ b/substrate/client/rpc-spec-v2/src/chain_head/chain_head_follow.rs @@ -246,7 +246,7 @@ where ) -> Option { // No runtime versions should be reported. if !self.with_runtime { - return None + return None; } let block_rt = match self.client.runtime_version_at(block) { @@ -257,7 +257,9 @@ where let parent = match parent { Some(parent) => parent, // Nothing to compare against, always report. - None => return Some(RuntimeEvent::Valid(RuntimeVersionEvent { spec: block_rt.into() })), + None => { + return Some(RuntimeEvent::Valid(RuntimeVersionEvent { spec: block_rt.into() })) + }, }; let parent_rt = match self.client.runtime_version_at(parent) { @@ -288,10 +290,10 @@ where finalized: Block::Hash, ) -> Result<(), SubscriptionManagementError> { let Some(block_num) = self.client.number(block)? else { - return Err(SubscriptionManagementError::BlockHashAbsent) + return Err(SubscriptionManagementError::BlockHashAbsent); }; let Some(finalized_num) = self.client.number(finalized)? else { - return Err(SubscriptionManagementError::BlockHashAbsent) + return Err(SubscriptionManagementError::BlockHashAbsent); }; let distance: usize = block_num.saturating_sub(finalized_num).saturated_into(); @@ -364,7 +366,7 @@ where let Ok(Some(header)) = blockchain.header(current_block) else { break }; // Block cannot be reported if pinning fails. if self.sub_handle.pin_block(&self.sub_id, current_block).is_err() { - break + break; }; finalized_block_hashes.push_front(current_block); @@ -459,7 +461,7 @@ where }); if !is_best_block { - return vec![new_block] + return vec![new_block]; } // If this is the new best block, then we need to generate two events. @@ -494,7 +496,7 @@ where // Ensure we are only reporting blocks after the starting point. if *notification.header.number() < startup_point.finalized_number { - return Ok(Default::default()) + return Ok(Default::default()); } // Ensure the block can be pinned before generating the events. @@ -508,19 +510,21 @@ where // This is rather a sanity checks for edge-cases (in theory), where // [`MAX_FINALIZED_BLOCKS` + 1] finalized events are triggered before the `NewBlock` // event of the first `Finalized` event. - return Ok(Default::default()) + return Ok(Default::default()); } if self.announced_blocks.was_announced(&block_hash) { // Block was already reported by the finalized branch. - return Ok(Default::default()) + return Ok(Default::default()); } // Double check the parent hash. If the parent hash is not reported, we have a gap. let parent_block_hash = *notification.header.parent_hash(); if !self.announced_blocks.was_announced(&parent_block_hash) { // The parent block was not reported, we have a gap. - return Err(SubscriptionManagementError::Custom("Parent block was not reported".into())) + return Err(SubscriptionManagementError::Custom( + "Parent block was not reported".into(), + )); } self.announced_blocks.insert(block_hash, false); @@ -547,7 +551,7 @@ where // Find the parent header. let Some(first_header) = self.client.header(*first_hash)? else { - return Err(SubscriptionManagementError::BlockHeaderAbsent) + return Err(SubscriptionManagementError::BlockHeaderAbsent); }; if !self.announced_blocks.was_announced(first_header.parent_hash()) { @@ -590,7 +594,7 @@ where if ancestor.hash == *hash { return Err(SubscriptionManagementError::Custom( "A descendent of the finalized block was already reported".into(), - )) + )); } } @@ -612,7 +616,7 @@ where .filter_map(|block| { if self.pruned_blocks.get(&block.hash).is_some() { // The block was already reported as pruned. - return None + return None; } self.pruned_blocks.insert(block.hash, ()); @@ -634,7 +638,7 @@ where // Ensure we are only reporting blocks after the starting point. if *notification.header.number() < startup_point.finalized_number { - return Ok(Default::default()) + return Ok(Default::default()); } // The tree route contains the exclusive path from the last finalized block to the block @@ -709,10 +713,12 @@ where // create a channel to propagate error messages let mut handle_events = |event| match event { NotificationType::InitialEvents(events) => Ok(events), - NotificationType::NewBlock(notification) => - self.handle_import_blocks(notification, &startup_point), - NotificationType::Finalized(notification) => - self.handle_finalized_blocks(notification, &startup_point), + NotificationType::NewBlock(notification) => { + self.handle_import_blocks(notification, &startup_point) + }, + NotificationType::Finalized(notification) => { + self.handle_finalized_blocks(notification, &startup_point) + }, NotificationType::MethodResponse(notification) => Ok(vec![notification]), }; @@ -776,7 +782,7 @@ where err ); let _ = sink.send(&FollowEvent::::Stop).await; - return Err(err) + return Err(err); }, }; diff --git a/substrate/client/rpc-spec-v2/src/chain_head/error.rs b/substrate/client/rpc-spec-v2/src/chain_head/error.rs index 35604db066009..2966a834b171d 100644 --- a/substrate/client/rpc-spec-v2/src/chain_head/error.rs +++ b/substrate/client/rpc-spec-v2/src/chain_head/error.rs @@ -75,20 +75,27 @@ impl From for ErrorObject<'static> { let msg = e.to_string(); match e { - Error::ReachedLimits => - ErrorObject::owned(rpc_spec_v2::REACHED_LIMITS, msg, None::<()>), - Error::InvalidBlock => - ErrorObject::owned(rpc_spec_v2::INVALID_BLOCK_ERROR, msg, None::<()>), - Error::InvalidRuntimeCall(_) => - ErrorObject::owned(rpc_spec_v2::INVALID_RUNTIME_CALL, msg, None::<()>), - Error::InvalidContinue => - ErrorObject::owned(rpc_spec_v2::INVALID_CONTINUE, msg, None::<()>), - Error::InvalidDuplicateHashes => - ErrorObject::owned(rpc_spec_v2::INVALID_DUPLICATE_HASHES, msg, None::<()>), - Error::InvalidParam(_) => - ErrorObject::owned(json_rpc_spec::INVALID_PARAM_ERROR, msg, None::<()>), - Error::InternalError(_) => - ErrorObject::owned(json_rpc_spec::INTERNAL_ERROR, msg, None::<()>), + Error::ReachedLimits => { + ErrorObject::owned(rpc_spec_v2::REACHED_LIMITS, msg, None::<()>) + }, + Error::InvalidBlock => { + ErrorObject::owned(rpc_spec_v2::INVALID_BLOCK_ERROR, msg, None::<()>) + }, + Error::InvalidRuntimeCall(_) => { + ErrorObject::owned(rpc_spec_v2::INVALID_RUNTIME_CALL, msg, None::<()>) + }, + Error::InvalidContinue => { + ErrorObject::owned(rpc_spec_v2::INVALID_CONTINUE, msg, None::<()>) + }, + Error::InvalidDuplicateHashes => { + ErrorObject::owned(rpc_spec_v2::INVALID_DUPLICATE_HASHES, msg, None::<()>) + }, + Error::InvalidParam(_) => { + ErrorObject::owned(json_rpc_spec::INVALID_PARAM_ERROR, msg, None::<()>) + }, + Error::InternalError(_) => { + ErrorObject::owned(json_rpc_spec::INTERNAL_ERROR, msg, None::<()>) + }, } } } diff --git a/substrate/client/rpc-spec-v2/src/chain_head/subscription/inner.rs b/substrate/client/rpc-spec-v2/src/chain_head/subscription/inner.rs index 3e1bd23776d31..fb0ded8fd065d 100644 --- a/substrate/client/rpc-spec-v2/src/chain_head/subscription/inner.rs +++ b/substrate/client/rpc-spec-v2/src/chain_head/subscription/inner.rs @@ -138,7 +138,7 @@ impl LimitOperations { let num_ops = std::cmp::min(self.semaphore.available_permits(), to_reserve); if num_ops == 0 { - return None + return None; } let permits = Arc::clone(&self.semaphore) @@ -360,7 +360,7 @@ impl SubscriptionState { // Cannot unpin a block twice. if block_state.state_machine.was_unpinned() { - return false + return false; } block_state.state_machine.advance_unpin(); @@ -383,7 +383,7 @@ impl SubscriptionState { fn contains_block(&self, hash: Block::Hash) -> bool { let Some(state) = self.blocks.get(&hash) else { // Block was not tracked. - return false + return false; }; // Subscription no longer contains the block if `unpin` was called. @@ -582,7 +582,7 @@ impl> SubscriptionsInner { /// Returns true if the given subscription is also terminated. fn ensure_block_space(&mut self, request_sub_id: &str) -> bool { if self.global_blocks.len() < self.global_max_pinned_blocks { - return false + return false; } // Terminate all subscriptions that have blocks older than @@ -613,7 +613,7 @@ impl> SubscriptionsInner { // Make sure we have enough space after first pass of terminating subscriptions. if self.global_blocks.len() < self.global_max_pinned_blocks { - return is_terminated + return is_terminated; } // Sanity check: cannot uphold `chainHead` guarantees anymore. We have not @@ -625,7 +625,7 @@ impl> SubscriptionsInner { } self.remove_subscription(&sub_id); } - return is_terminated + return is_terminated; } pub fn pin_block( @@ -634,20 +634,20 @@ impl> SubscriptionsInner { hash: Block::Hash, ) -> Result { let Some(sub) = self.subs.get_mut(sub_id) else { - return Err(SubscriptionManagementError::SubscriptionAbsent) + return Err(SubscriptionManagementError::SubscriptionAbsent); }; // Block was already registered for this subscription and therefore // globally tracked. if !sub.register_block(hash) { - return Ok(false) + return Ok(false); } // Ensure we have enough space only if the hash is not globally registered. if !self.global_blocks.contains_key(&hash) { // Subscription ID was terminated while ensuring enough space. if self.ensure_block_space(sub_id) { - return Err(SubscriptionManagementError::ExceededLimits) + return Err(SubscriptionManagementError::ExceededLimits); } } @@ -718,14 +718,14 @@ impl> SubscriptionsInner { Self::ensure_hash_uniqueness(hashes.clone())?; let Some(sub) = self.subs.get_mut(sub_id) else { - return Err(SubscriptionManagementError::SubscriptionAbsent) + return Err(SubscriptionManagementError::SubscriptionAbsent); }; // Ensure that all blocks are part of the subscription before removing individual // blocks. for hash in hashes.clone() { if !sub.contains_block(hash) { - return Err(SubscriptionManagementError::BlockHashAbsent) + return Err(SubscriptionManagementError::BlockHashAbsent); } } @@ -752,16 +752,16 @@ impl> SubscriptionsInner { to_reserve: usize, ) -> Result, SubscriptionManagementError> { let Some(sub) = self.subs.get_mut(sub_id) else { - return Err(SubscriptionManagementError::SubscriptionAbsent) + return Err(SubscriptionManagementError::SubscriptionAbsent); }; if !sub.contains_block(hash) { - return Err(SubscriptionManagementError::BlockHashAbsent) + return Err(SubscriptionManagementError::BlockHashAbsent); } let Some(operation) = sub.register_operation(to_reserve) else { // Error when the server cannot execute at least one operation. - return Err(SubscriptionManagementError::ExceededLimits) + return Err(SubscriptionManagementError::ExceededLimits); }; BlockGuard::new( diff --git a/substrate/client/rpc-spec-v2/src/chain_head/tests.rs b/substrate/client/rpc-spec-v2/src/chain_head/tests.rs index 26e4155543d2e..22a01c121417f 100644 --- a/substrate/client/rpc-spec-v2/src/chain_head/tests.rs +++ b/substrate/client/rpc-spec-v2/src/chain_head/tests.rs @@ -353,7 +353,7 @@ async fn follow_with_runtime() { \"specVersion\":2,\"implVersion\":2,\"apis\":[[\"0xdf6acb689907609b\",5],\ [\"0x37e397fc7c91f5e4\",2],[\"0xd2bc9897eed08f15\",3],[\"0x40fe3ad401f8959a\",6],\ [\"0xbc9d89904f5b923f\",1],[\"0xc6e9a76309f39b09\",2],[\"0xdd718d5cc53262d4\",1],\ - [\"0xcbca25e39f142387\",2],[\"0xf78b278be53f454c\",2],[\"0xab3c0572291feb8b\",1],\ + [\"0xcbca25e39f142387\",2],[\"0xf78b278be53f454c\",2],[\"0xab3c0572291feb8b\",2],\ [\"0xed99c5acb25eedf5\",3],[\"0xfbc577b9d747efd6\",1]],\"transactionVersion\":1,\"systemVersion\":1}"; let runtime: RuntimeVersion = serde_json::from_str(runtime_str).unwrap(); @@ -2943,7 +2943,8 @@ async fn ensure_operation_limits_works() { let backend = builder.backend(); let client = Arc::new(builder.build()); - // Configure the chainHead with maximum 1 ongoing operations. + // Configure the chainHead with maximum 4 ongoing operations to tolerate brief overlaps during + // cleanup. let api = ChainHead::new( client.clone(), backend, @@ -2951,7 +2952,7 @@ async fn ensure_operation_limits_works() { ChainHeadConfig { global_max_pinned_blocks: MAX_PINNED_BLOCKS, subscription_max_pinned_duration: Duration::from_secs(MAX_PINNED_SECS), - subscription_max_ongoing_operations: 1, + subscription_max_ongoing_operations: 4, max_lagging_distance: MAX_LAGGING_DISTANCE, max_follow_subscriptions_per_connection: MAX_FOLLOW_SUBSCRIPTIONS_PER_CONNECTION, subscription_buffer_cap: MAX_PINNED_BLOCKS, @@ -3410,16 +3411,18 @@ async fn storage_closest_merkle_value() { loop { match get_next_event::>(&mut sub).await { - FollowEvent::OperationStorageItems(res) if res.operation_id == operation_id => + FollowEvent::OperationStorageItems(res) if res.operation_id == operation_id => { for res in res.items { let value = match res.result { StorageResultType::ClosestDescendantMerkleValue(value) => value, _ => panic!("Unexpected StorageResultType"), }; merkle_values.insert(res.key, value); - }, - FollowEvent::OperationStorageDone(done) if done.operation_id == operation_id => - break, + } + }, + FollowEvent::OperationStorageDone(done) if done.operation_id == operation_id => { + break + }, _ => panic!("Unexpected event"), } } diff --git a/substrate/client/rpc-spec-v2/src/transaction/error.rs b/substrate/client/rpc-spec-v2/src/transaction/error.rs index 116977af66001..ab6c87384d77b 100644 --- a/substrate/client/rpc-spec-v2/src/transaction/error.rs +++ b/substrate/client/rpc-spec-v2/src/transaction/error.rs @@ -42,10 +42,11 @@ impl From for TransactionEvent { Error::Verification(e) => TransactionEvent::Invalid(TransactionError { error: format!("Verification error: {}", e), }), - Error::Pool(PoolError::InvalidTransaction(InvalidTransaction::Custom(e))) => + Error::Pool(PoolError::InvalidTransaction(InvalidTransaction::Custom(e))) => { TransactionEvent::Invalid(TransactionError { error: format!("Invalid transaction with custom error: {}", e), - }), + }) + }, Error::Pool(PoolError::InvalidTransaction(e)) => { let msg: &str = e.into(); TransactionEvent::Invalid(TransactionError { @@ -58,28 +59,32 @@ impl From for TransactionEvent { error: format!("Unknown transaction validity: {}", msg), }) }, - Error::Pool(PoolError::TemporarilyBanned) => + Error::Pool(PoolError::TemporarilyBanned) => { TransactionEvent::Invalid(TransactionError { error: "Transaction is temporarily banned".into(), - }), - Error::Pool(PoolError::AlreadyImported(_)) => + }) + }, + Error::Pool(PoolError::AlreadyImported(_)) => { TransactionEvent::Invalid(TransactionError { error: "Transaction is already imported".into(), - }), - Error::Pool(PoolError::TooLowPriority { old, new }) => + }) + }, + Error::Pool(PoolError::TooLowPriority { old, new }) => { TransactionEvent::Invalid(TransactionError { error: format!( "The priority of the transaction is too low (pool {} > current {})", old, new ), - }), + }) + }, Error::Pool(PoolError::CycleDetected) => TransactionEvent::Invalid(TransactionError { error: "The transaction contains a cyclic dependency".into(), }), - Error::Pool(PoolError::ImmediatelyDropped) => + Error::Pool(PoolError::ImmediatelyDropped) => { TransactionEvent::Invalid(TransactionError { error: "The transaction could not enter the pool because of the limit".into(), - }), + }) + }, Error::Pool(PoolError::Unactionable) => TransactionEvent::Invalid(TransactionError { error: "Transaction cannot be propagated and the local node does not author blocks" .into(), @@ -88,14 +93,16 @@ impl From for TransactionEvent { error: "Transaction does not provide any tags, so the pool cannot identify it" .into(), }), - Error::Pool(PoolError::InvalidBlockId(_)) => + Error::Pool(PoolError::InvalidBlockId(_)) => { TransactionEvent::Invalid(TransactionError { error: "The provided block ID is not valid".into(), - }), - Error::Pool(PoolError::RejectedFutureTransaction) => + }) + }, + Error::Pool(PoolError::RejectedFutureTransaction) => { TransactionEvent::Invalid(TransactionError { error: "The pool is not accepting future transactions".into(), - }), + }) + }, } } } @@ -120,8 +127,9 @@ impl From for ErrorObject<'static> { let msg = e.to_string(); match e { - ErrorBroadcast::InvalidOperationID => - ErrorObject::owned(json_rpc_spec::INVALID_PARAM_ERROR, msg, None::<()>), + ErrorBroadcast::InvalidOperationID => { + ErrorObject::owned(json_rpc_spec::INVALID_PARAM_ERROR, msg, None::<()>) + }, } } } diff --git a/substrate/client/rpc-spec-v2/src/transaction/event.rs b/substrate/client/rpc-spec-v2/src/transaction/event.rs index 8cf998e33136e..3848189b37d7a 100644 --- a/substrate/client/rpc-spec-v2/src/transaction/event.rs +++ b/substrate/client/rpc-spec-v2/src/transaction/event.rs @@ -171,18 +171,24 @@ enum TransactionEventIR { impl From> for TransactionEventIR { fn from(value: TransactionEvent) -> Self { match value { - TransactionEvent::Validated => - TransactionEventIR::NonBlock(TransactionEventNonBlockIR::Validated), - TransactionEvent::BestChainBlockIncluded(event) => - TransactionEventIR::Block(TransactionEventBlockIR::BestChainBlockIncluded(event)), - TransactionEvent::Finalized(event) => - TransactionEventIR::Block(TransactionEventBlockIR::Finalized(event)), - TransactionEvent::Error(event) => - TransactionEventIR::NonBlock(TransactionEventNonBlockIR::Error(event)), - TransactionEvent::Invalid(event) => - TransactionEventIR::NonBlock(TransactionEventNonBlockIR::Invalid(event)), - TransactionEvent::Dropped(event) => - TransactionEventIR::NonBlock(TransactionEventNonBlockIR::Dropped(event)), + TransactionEvent::Validated => { + TransactionEventIR::NonBlock(TransactionEventNonBlockIR::Validated) + }, + TransactionEvent::BestChainBlockIncluded(event) => { + TransactionEventIR::Block(TransactionEventBlockIR::BestChainBlockIncluded(event)) + }, + TransactionEvent::Finalized(event) => { + TransactionEventIR::Block(TransactionEventBlockIR::Finalized(event)) + }, + TransactionEvent::Error(event) => { + TransactionEventIR::NonBlock(TransactionEventNonBlockIR::Error(event)) + }, + TransactionEvent::Invalid(event) => { + TransactionEventIR::NonBlock(TransactionEventNonBlockIR::Invalid(event)) + }, + TransactionEvent::Dropped(event) => { + TransactionEventIR::NonBlock(TransactionEventNonBlockIR::Dropped(event)) + }, } } } @@ -198,8 +204,9 @@ impl From> for TransactionEvent { }, TransactionEventIR::Block(block) => match block { TransactionEventBlockIR::Finalized(event) => TransactionEvent::Finalized(event), - TransactionEventBlockIR::BestChainBlockIncluded(event) => - TransactionEvent::BestChainBlockIncluded(event), + TransactionEventBlockIR::BestChainBlockIncluded(event) => { + TransactionEvent::BestChainBlockIncluded(event) + }, }, } } diff --git a/substrate/client/rpc-spec-v2/src/transaction/transaction.rs b/substrate/client/rpc-spec-v2/src/transaction/transaction.rs index a497c1a71f8b0..aa2935d07cb7d 100644 --- a/substrate/client/rpc-spec-v2/src/transaction/transaction.rs +++ b/substrate/client/rpc-spec-v2/src/transaction/transaction.rs @@ -107,7 +107,7 @@ where // The transaction is invalid. let _ = sink.send(&event).await; - return + return; }, }; @@ -165,17 +165,21 @@ fn handle_event( event: TransactionStatus, ) -> Option> { match event { - TransactionStatus::Ready | TransactionStatus::Future => - Some(TransactionEvent::::Validated), - TransactionStatus::InBlock((hash, index)) => - Some(TransactionEvent::BestChainBlockIncluded(Some(TransactionBlock { hash, index }))), + TransactionStatus::Ready | TransactionStatus::Future => { + Some(TransactionEvent::::Validated) + }, + TransactionStatus::InBlock((hash, index)) => { + Some(TransactionEvent::BestChainBlockIncluded(Some(TransactionBlock { hash, index }))) + }, TransactionStatus::Retracted(_) => Some(TransactionEvent::BestChainBlockIncluded(None)), - TransactionStatus::FinalityTimeout(_) => + TransactionStatus::FinalityTimeout(_) => { Some(TransactionEvent::Dropped(TransactionDropped { error: "Maximum number of finality watchers has been reached".into(), - })), - TransactionStatus::Finalized((hash, index)) => - Some(TransactionEvent::Finalized(TransactionBlock { hash, index })), + })) + }, + TransactionStatus::Finalized((hash, index)) => { + Some(TransactionEvent::Finalized(TransactionBlock { hash, index })) + }, TransactionStatus::Usurped(_) => Some(TransactionEvent::Invalid(TransactionError { error: "Extrinsic was rendered invalid by another extrinsic".into(), })), diff --git a/substrate/client/rpc-spec-v2/src/transaction/transaction_broadcast.rs b/substrate/client/rpc-spec-v2/src/transaction/transaction_broadcast.rs index 14028a147f349..2e12be388748e 100644 --- a/substrate/client/rpc-spec-v2/src/transaction/transaction_broadcast.rs +++ b/substrate/client/rpc-spec-v2/src/transaction/transaction_broadcast.rs @@ -133,11 +133,11 @@ where // Ensure that the connection has not reached the maximum number of active operations. let Some(reserved_connection) = self.rpc_connections.reserve_space(conn_id) else { - return Ok(None) + return Ok(None); }; let Some(reserved_identifier) = reserved_connection.register(id.clone()) else { // This can only happen if the generated operation ID is not unique. - return Ok(None) + return Ok(None); }; // The JSON-RPC server might check whether the transaction is valid before broadcasting it. @@ -194,7 +194,7 @@ where if pool_err.is_retriable() { // Try to resubmit the transaction at a later block for // recoverable errors. - continue + continue; } else { return; } @@ -236,7 +236,7 @@ where // The broadcast was not stopped. if result.is_ok() { - return + return; } // Best effort pool removal (tx can already be finalized). @@ -267,13 +267,13 @@ where // The operation ID must correlate to the same connection ID. if !self.rpc_connections.contains_identifier(conn_id, &operation_id) { - return Err(ErrorBroadcast::InvalidOperationID) + return Err(ErrorBroadcast::InvalidOperationID); } let mut broadcast_ids = self.broadcast_ids.write(); let Some(broadcast_state) = broadcast_ids.remove(&operation_id) else { - return Err(ErrorBroadcast::InvalidOperationID) + return Err(ErrorBroadcast::InvalidOperationID); }; broadcast_state.handle.abort(); @@ -296,7 +296,7 @@ where while let Some(next) = stream.next().now_or_never() { let Some(next) = next else { // Nothing to do if the stream terminated. - return None + return None; }; element = next; } diff --git a/substrate/client/rpc/Cargo.toml b/substrate/client/rpc/Cargo.toml index 3de7781c2249b..520bd4497f588 100644 --- a/substrate/client/rpc/Cargo.toml +++ b/substrate/client/rpc/Cargo.toml @@ -26,6 +26,7 @@ sc-chain-spec = { workspace = true, default-features = true } sc-client-api = { workspace = true, default-features = true } sc-mixnet = { workspace = true, default-features = true } sc-rpc-api = { workspace = true, default-features = true } +sc-statement-store = { workspace = true, default-features = true } sc-tracing = { workspace = true, default-features = true } sc-transaction-pool-api = { workspace = true, default-features = true } sc-utils = { workspace = true, default-features = true } @@ -44,12 +45,16 @@ tokio = { workspace = true, default-features = true } [dev-dependencies] assert_matches = { workspace = true } +async-channel = { workspace = true } +futures-timer = { workspace = true } pretty_assertions = { workspace = true } +sc-keystore = { workspace = true } sc-network = { workspace = true, default-features = true } sc-transaction-pool = { workspace = true, default-features = true } sp-consensus = { workspace = true, default-features = true } sp-crypto-hashing = { workspace = true, default-features = true } substrate-test-runtime-client = { workspace = true } +tempfile = { workspace = true } [features] test-helpers = [] diff --git a/substrate/client/rpc/src/author/mod.rs b/substrate/client/rpc/src/author/mod.rs index 7ace9e5ebe191..523f0250a2b13 100644 --- a/substrate/client/rpc/src/author/mod.rs +++ b/substrate/client/rpc/src/author/mod.rs @@ -68,6 +68,43 @@ impl Author { } } +impl Author +where + P: TransactionPool + Sync + Send + 'static, + Client: HeaderBackend + ProvideRuntimeApi + Send + Sync + 'static, + Client::Api: SessionKeys, + P::Hash: Unpin, + ::Hash: Unpin, +{ + fn rotate_keys_impl(&self, owner: Vec) -> Result { + let best_block_hash = self.client.info().best_hash; + let mut runtime_api = self.client.runtime_api(); + + runtime_api.register_extension(KeystoreExt::from(self.keystore.clone())); + + let version = runtime_api + .api_version::>(best_block_hash) + .map_err(|api_err| Error::Client(Box::new(api_err)))? + .ok_or_else(|| Error::MissingSessionKeysApi)?; + + if version < 2 { + #[allow(deprecated)] + runtime_api + .generate_session_keys_before_version_2(best_block_hash, None) + .map(|sk| GeneratedSessionKeys { keys: sk.into(), proof: None }) + .map_err(|api_err| Error::Client(Box::new(api_err)).into()) + } else { + runtime_api + .generate_session_keys(best_block_hash, owner, None) + .map(|sk| GeneratedSessionKeys { + keys: sk.keys.into(), + proof: Some(sk.proof.into()), + }) + .map_err(|api_err| Error::Client(Box::new(api_err)).into()) + } + } +} + /// Currently we treat all RPC transactions as externals. /// /// Possibly in the future we could allow opt-in for special treatment @@ -117,15 +154,17 @@ where fn rotate_keys(&self, ext: &Extensions) -> Result { check_if_safe(ext)?; - let best_block_hash = self.client.info().best_hash; - let mut runtime_api = self.client.runtime_api(); + self.rotate_keys_impl(Vec::new()).map(|k| k.keys) + } - runtime_api.register_extension(KeystoreExt::from(self.keystore.clone())); + fn rotate_keys_with_owner( + &self, + ext: &Extensions, + owner: Bytes, + ) -> Result { + check_if_safe(ext)?; - runtime_api - .generate_session_keys(best_block_hash, None) - .map(Into::into) - .map_err(|api_err| Error::Client(Box::new(api_err)).into()) + self.rotate_keys_impl(owner.0) } fn has_session_keys(&self, ext: &Extensions, session_keys: Bytes) -> Result { @@ -185,7 +224,7 @@ where Ok(dxt) => dxt, Err(e) => { spawn_subscription_task(&self.executor, pending.reject(e)); - return + return; }, }; @@ -202,7 +241,7 @@ where Ok(stream) => stream, Err(err) => { let _ = pending.reject(ErrorObject::from(err)).await; - return + return; }, }; diff --git a/substrate/client/rpc/src/dev/mod.rs b/substrate/client/rpc/src/dev/mod.rs index 3e78d41e8f651..21f5516f9d182 100644 --- a/substrate/client/rpc/src/dev/mod.rs +++ b/substrate/client/rpc/src/dev/mod.rs @@ -80,7 +80,7 @@ where header.digest_mut().logs.retain(|item| !matches!(item, DigestItem::Seal(_, _))); Block::new(header, body) } else { - return Ok(None) + return Ok(None); } }; let parent_header = { @@ -92,7 +92,7 @@ where if let Some(header) = parent_header { header } else { - return Ok(None) + return Ok(None); } }; let block_len = block.encoded_size() as u64; diff --git a/substrate/client/rpc/src/state/mod.rs b/substrate/client/rpc/src/state/mod.rs index 2d3986432603f..b2309c90d8593 100644 --- a/substrate/client/rpc/src/state/mod.rs +++ b/substrate/client/rpc/src/state/mod.rs @@ -241,7 +241,7 @@ where block: Option, ) -> Result, Error> { if count > STORAGE_KEYS_PAGED_MAX_COUNT { - return Err(Error::InvalidCount { value: count, max: STORAGE_KEYS_PAGED_MAX_COUNT }) + return Err(Error::InvalidCount { value: count, max: STORAGE_KEYS_PAGED_MAX_COUNT }); } self.backend .storage_keys_paged(block, prefix, count, start_key) diff --git a/substrate/client/rpc/src/state/state_full.rs b/substrate/client/rpc/src/state/state_full.rs index ed04d510fd118..f45ac9dea0d30 100644 --- a/substrate/client/rpc/src/state/state_full.rs +++ b/substrate/client/rpc/src/state/state_full.rs @@ -113,7 +113,7 @@ where &from_meta, &to_meta, "from number > to number".to_owned(), - )) + )); } // check if we can get from `to` to `from` by going through parent_hashes. @@ -134,7 +134,7 @@ where &from_meta, &to_meta, "from and to are on different forks".to_owned(), - )) + )); } hashes.reverse(); hashes @@ -386,7 +386,7 @@ where Ok(initial) => initial, Err(e) => { spawn_subscription_task(&self.executor, pending.reject(e)); - return + return; }, }; @@ -426,7 +426,7 @@ where if keys.is_none() { if let Err(err) = deny_unsafe.check_if_safe() { spawn_subscription_task(&self.executor, pending.reject(ErrorObject::from(err))); - return + return; } } @@ -437,7 +437,7 @@ where &self.executor, pending.reject(Error::Client(Box::new(blockchain_err))), ); - return + return; }, }; @@ -519,8 +519,9 @@ where self.block_or_best(block) .and_then(|block| { let child_info = match ChildType::from_prefixed_key(&storage_key) { - Some((ChildType::ParentKeyId, storage_key)) => - ChildInfo::new_default(storage_key), + Some((ChildType::ParentKeyId, storage_key)) => { + ChildInfo::new_default(storage_key) + }, None => return Err(sp_blockchain::Error::InvalidChildStorageKey), }; self.client @@ -545,8 +546,9 @@ where self.block_or_best(block) .and_then(|block| { let child_info = match ChildType::from_prefixed_key(&storage_key) { - Some((ChildType::ParentKeyId, storage_key)) => - ChildInfo::new_default(storage_key), + Some((ChildType::ParentKeyId, storage_key)) => { + ChildInfo::new_default(storage_key) + }, None => return Err(sp_blockchain::Error::InvalidChildStorageKey), }; self.client.child_storage_keys(block, child_info, Some(&prefix), None) @@ -566,8 +568,9 @@ where self.block_or_best(block) .and_then(|block| { let child_info = match ChildType::from_prefixed_key(&storage_key) { - Some((ChildType::ParentKeyId, storage_key)) => - ChildInfo::new_default(storage_key), + Some((ChildType::ParentKeyId, storage_key)) => { + ChildInfo::new_default(storage_key) + }, None => return Err(sp_blockchain::Error::InvalidChildStorageKey), }; self.client.child_storage_keys( @@ -590,8 +593,9 @@ where self.block_or_best(block) .and_then(|block| { let child_info = match ChildType::from_prefixed_key(&storage_key) { - Some((ChildType::ParentKeyId, storage_key)) => - ChildInfo::new_default(storage_key), + Some((ChildType::ParentKeyId, storage_key)) => { + ChildInfo::new_default(storage_key) + }, None => return Err(sp_blockchain::Error::InvalidChildStorageKey), }; self.client.child_storage(block, &child_info, &key) @@ -610,7 +614,7 @@ where { Arc::new(ChildInfo::new_default(storage_key)) } else { - return Err(client_err(sp_blockchain::Error::InvalidChildStorageKey)) + return Err(client_err(sp_blockchain::Error::InvalidChildStorageKey)); }; let block = self.block_or_best(block).map_err(client_err)?; let client = self.client.clone(); @@ -631,8 +635,9 @@ where self.block_or_best(block) .and_then(|block| { let child_info = match ChildType::from_prefixed_key(&storage_key) { - Some((ChildType::ParentKeyId, storage_key)) => - ChildInfo::new_default(storage_key), + Some((ChildType::ParentKeyId, storage_key)) => { + ChildInfo::new_default(storage_key) + }, None => return Err(sp_blockchain::Error::InvalidChildStorageKey), }; self.client.child_storage_hash(block, &child_info, &key) diff --git a/substrate/client/rpc/src/state/tests.rs b/substrate/client/rpc/src/state/tests.rs index c35d9efa42b58..ce262ad1d7563 100644 --- a/substrate/client/rpc/src/state/tests.rs +++ b/substrate/client/rpc/src/state/tests.rs @@ -475,7 +475,7 @@ async fn should_return_runtime_version() { \"specVersion\":2,\"implVersion\":2,\"apis\":[[\"0xdf6acb689907609b\",5],\ [\"0x37e397fc7c91f5e4\",2],[\"0xd2bc9897eed08f15\",3],[\"0x40fe3ad401f8959a\",6],\ [\"0xbc9d89904f5b923f\",1],[\"0xc6e9a76309f39b09\",2],[\"0xdd718d5cc53262d4\",1],\ - [\"0xcbca25e39f142387\",2],[\"0xf78b278be53f454c\",2],[\"0xab3c0572291feb8b\",1],\ + [\"0xcbca25e39f142387\",2],[\"0xf78b278be53f454c\",2],[\"0xab3c0572291feb8b\",2],\ [\"0xed99c5acb25eedf5\",3],[\"0xfbc577b9d747efd6\",1]],\"transactionVersion\":1,\"systemVersion\":1,\ \"stateVersion\":1}"; diff --git a/substrate/client/rpc/src/statement/mod.rs b/substrate/client/rpc/src/statement/mod.rs index 350a99e645d2e..104bbc1083963 100644 --- a/substrate/client/rpc/src/statement/mod.rs +++ b/substrate/client/rpc/src/statement/mod.rs @@ -18,111 +18,51 @@ //! Substrate statement store API. -use codec::{Decode, Encode}; +use codec::Decode; +use futures::FutureExt; use jsonrpsee::{ core::{async_trait, RpcResult}, - Extensions, + Extensions, PendingSubscriptionSink, }; /// Re-export the API for backward compatibility. pub use sc_rpc_api::statement::{error::Error, StatementApiServer}; use sp_core::Bytes; -use sp_statement_store::{StatementSource, SubmitResult}; +use sp_statement_store::{OptimizedTopicFilter, StatementSource, SubmitResult, TopicFilter}; use std::sync::Arc; +const LOG_TARGET: &str = "statement-store-rpc"; +use crate::{ + utils::{spawn_subscription_task, BoundedVecDeque, PendingSubscription}, + SubscriptionTaskExecutor, +}; + +#[cfg(test)] +mod tests; + +/// Trait alias for statement store API required by the RPC. +pub trait StatementStoreApi: + sp_statement_store::StatementStore + sc_statement_store::StatementStoreSubscriptionApi +{ +} +impl StatementStoreApi for T where + T: sp_statement_store::StatementStore + sc_statement_store::StatementStoreSubscriptionApi +{ +} /// Statement store API pub struct StatementStore { - store: Arc, + store: Arc, + executor: SubscriptionTaskExecutor, } impl StatementStore { /// Create new instance of Offchain API. - pub fn new(store: Arc) -> Self { - StatementStore { store } + pub fn new(store: Arc, executor: SubscriptionTaskExecutor) -> Self { + StatementStore { store, executor } } } #[async_trait] impl StatementApiServer for StatementStore { - fn dump(&self, ext: &Extensions) -> RpcResult> { - sc_rpc_api::check_if_safe(ext)?; - - let statements = - self.store.statements().map_err(|e| Error::StatementStore(e.to_string()))?; - Ok(statements.into_iter().map(|(_, s)| s.encode().into()).collect()) - } - - fn broadcasts(&self, match_all_topics: Vec<[u8; 32]>) -> RpcResult> { - Ok(self - .store - .broadcasts(&match_all_topics) - .map_err(|e| Error::StatementStore(e.to_string()))? - .into_iter() - .map(Into::into) - .collect()) - } - - fn posted(&self, match_all_topics: Vec<[u8; 32]>, dest: [u8; 32]) -> RpcResult> { - Ok(self - .store - .posted(&match_all_topics, dest) - .map_err(|e| Error::StatementStore(e.to_string()))? - .into_iter() - .map(Into::into) - .collect()) - } - - fn posted_clear( - &self, - match_all_topics: Vec<[u8; 32]>, - dest: [u8; 32], - ) -> RpcResult> { - Ok(self - .store - .posted_clear(&match_all_topics, dest) - .map_err(|e| Error::StatementStore(e.to_string()))? - .into_iter() - .map(Into::into) - .collect()) - } - - fn broadcasts_stmt(&self, match_all_topics: Vec<[u8; 32]>) -> RpcResult> { - Ok(self - .store - .broadcasts_stmt(&match_all_topics) - .map_err(|e| Error::StatementStore(e.to_string()))? - .into_iter() - .map(Into::into) - .collect()) - } - - fn posted_stmt( - &self, - match_all_topics: Vec<[u8; 32]>, - dest: [u8; 32], - ) -> RpcResult> { - Ok(self - .store - .posted_stmt(&match_all_topics, dest) - .map_err(|e| Error::StatementStore(e.to_string()))? - .into_iter() - .map(Into::into) - .collect()) - } - - fn posted_clear_stmt( - &self, - match_all_topics: Vec<[u8; 32]>, - dest: [u8; 32], - ) -> RpcResult> { - Ok(self - .store - .posted_clear_stmt(&match_all_topics, dest) - .map_err(|e| Error::StatementStore(e.to_string()))? - .into_iter() - .map(Into::into) - .collect()) - } - fn submit(&self, encoded: Bytes) -> RpcResult { let statement = Decode::decode(&mut &*encoded) .map_err(|e| Error::StatementStore(format!("Error decoding statement: {:?}", e)))?; @@ -134,7 +74,51 @@ impl StatementApiServer for StatementStore { } } - fn remove(&self, hash: [u8; 32]) -> RpcResult<()> { - Ok(self.store.remove(&hash).map_err(|e| Error::StatementStore(e.to_string()))?) + fn subscribe_statement( + &self, + pending: PendingSubscriptionSink, + _ext: &Extensions, + topic_filter: TopicFilter, + ) { + let optimized_topic_filter: OptimizedTopicFilter = topic_filter.into(); + + let (existing_statements, subscription_sender, subscription_stream) = + match self.store.subscribe_statement(optimized_topic_filter) { + Ok(res) => res, + Err(err) => { + spawn_subscription_task( + &self.executor, + pending.reject(Error::StatementStore(format!( + "Error collecting existing statements: {:?}", + err + ))), + ); + return; + }, + }; + + spawn_subscription_task( + &self.executor, + PendingSubscription::from(pending) + .pipe_from_stream(subscription_stream, BoundedVecDeque::new(128)), + ); + + // Send existing statements before returning, to make sure we did not miss any statements. + self.executor.spawn( + "statement-store-rpc-send", + Some("rpc"), + async move { + for statement in existing_statements { + if let Err(e) = subscription_sender.send(statement.into()).await { + log::warn!( + target: LOG_TARGET, + "Failed to send existing statement in subscription: {:?}", e + ); + break; + } + } + } + .boxed(), + ) } } diff --git a/substrate/client/rpc/src/statement/tests.rs b/substrate/client/rpc/src/statement/tests.rs new file mode 100644 index 0000000000000..9b16531e8b0fe --- /dev/null +++ b/substrate/client/rpc/src/statement/tests.rs @@ -0,0 +1,257 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +use super::*; +use crate::testing::test_executor; +use codec::Encode; +use futures::FutureExt; +use jsonrpsee::{RpcModule, Subscription}; +use sc_statement_store::Store; +use sp_core::traits::SpawnNamed; +use sp_statement_store::{statement_allowance_key, Statement, StatementAllowance, Topic}; +use std::sync::Arc; +use substrate_test_runtime_client::{TestClientBuilder, TestClientBuilderExt}; + +async fn subscribe_to_topics( + api_rpc: &RpcModule, + topic_filters: Vec, +) -> Vec { + let mut subscriptions = Vec::with_capacity(topic_filters.len()); + for filter in topic_filters { + let subscription = api_rpc + .subscribe_unbounded("statement_subscribeStatement", (filter,)) + .await + .expect("Failed to subscribe"); + subscriptions.push(subscription); + } + subscriptions +} + +fn generate_statements() -> Vec { + let topic: Topic = [0u8; 32].into(); + let topic1: Topic = [1u8; 32].into(); + let topic2: Topic = [2u8; 32].into(); + + let mut statements = Vec::new(); + let mut statement = sp_statement_store::Statement::new(); + statement.set_topic(0, topic); + statement.set_topic(1, topic2); + + statement + .set_proof(sp_statement_store::Proof::Ed25519 { signature: [0u8; 64], signer: [0u8; 32] }); + statement.set_expiry_from_parts(u32::MAX, 1); + + statements.push(statement.clone()); + + let mut statement = sp_statement_store::Statement::new(); + statement.set_topic(0, topic); + statement.set_topic(1, topic1); + statement + .set_proof(sp_statement_store::Proof::Ed25519 { signature: [0u8; 64], signer: [0u8; 32] }); + statement.set_expiry_from_parts(u32::MAX, 1); + + statements.push(statement.clone()); + statements +} + +#[tokio::test(flavor = "multi_thread", worker_threads = 10)] +async fn subscribe_works() { + let executor = test_executor(); + let client = Arc::new( + TestClientBuilder::with_default_backend() + .add_extra_storage( + statement_allowance_key([0; 32]), + StatementAllowance { max_count: 1000, max_size: 10_000_000 }.encode(), + ) + .build(), + ); + let temp_dir = tempfile::tempdir().expect("Failed to create temp dir"); + let store = Store::new_shared( + temp_dir.path(), + Default::default(), + Arc::clone(&client) as Arc<_>, + Arc::new(sc_keystore::LocalKeystore::in_memory()), + None, + Box::new(executor.as_ref().clone()), + ) + .expect("Failed to create statement store"); + + let api = super::StatementStore::new(Arc::clone(&store) as Arc<_>, executor.clone()); + let api_rpc = api.into_rpc(); + let api_rpc_clone = api_rpc.clone(); + let submitted = generate_statements(); + let first_topic = submitted[0].topic(0).expect("Should have topic"); + + let match_all_filter = + TopicFilter::MatchAll(vec![first_topic].try_into().expect("Single topic")); + let submitted_clone = submitted.clone(); + let match_any_filter = TopicFilter::MatchAny( + vec![ + submitted[0].topic(1).expect("Should have topic"), + submitted[1].topic(1).expect("Should have topic"), + ] + .try_into() + .expect("Two topics"), + ); + + let subscriptions = subscribe_to_topics( + &api_rpc, + vec![match_all_filter.clone(), TopicFilter::Any, match_any_filter.clone()], + ) + .await; + + executor.spawn( + "test", + None, + async move { + for statement in submitted_clone { + let encoded_statement: Bytes = statement.encode().into(); + let result: SubmitResult = api_rpc_clone + .call("statement_submit", (encoded_statement,)) + .await + .expect("Failed to submit statement"); + assert_eq!(result, SubmitResult::New); + } + } + .boxed(), + ); + + for subscription in subscriptions.into_iter() { + check_submitted(submitted.clone(), subscription).await; + } + + // Check subscribing after initial statements gets all statements through as well. + let subscriptions = + subscribe_to_topics(&api_rpc, vec![match_all_filter, TopicFilter::Any, match_any_filter]) + .await; + + for subscription in subscriptions.into_iter() { + check_submitted(submitted.clone(), subscription).await; + } + + let mut match_any_with_random = api_rpc + .subscribe_unbounded( + "statement_subscribeStatement", + (TopicFilter::MatchAny(vec![Topic::from([7u8; 32])].try_into().expect("Single topic")),), + ) + .await + .expect("Failed to subscribe"); + + let res = tokio::time::timeout( + std::time::Duration::from_secs(5), + match_any_with_random.next::(), + ) + .await; + assert!(res.is_err(), "expected no message for random topic"); + + let match_all_with_random = TopicFilter::MatchAll( + vec![first_topic, Topic::from([7u8; 32])].try_into().expect("Two topics"), + ); + let mut match_all_with_random = api_rpc + .subscribe("statement_subscribeStatement", (match_all_with_random,), 100000) + .await + .expect("Failed to subscribe"); + + let res = tokio::time::timeout( + std::time::Duration::from_secs(5), + match_all_with_random.next::(), + ) + .await; + assert!(res.is_err(), "expected no message for random topic"); +} + +async fn check_submitted( + mut expected: Vec, + mut subscription: Subscription, +) { + while !expected.is_empty() { + let result = subscription.next::().await; + let result = result.expect("Bytes").expect("Success").0; + let new_statement = + sp_statement_store::Statement::decode(&mut &result.0[..]).expect("Decode statement"); + let position = expected + .iter() + .position(|x| x == &new_statement) + .expect("Statement should exist"); + expected.remove(position); + } +} + +#[tokio::test(flavor = "multi_thread", worker_threads = 10)] +async fn subscribe_works_with_raw_json() { + let executor = test_executor(); + let client = Arc::new(substrate_test_runtime_client::new()); + let temp_dir = tempfile::tempdir().expect("Failed to create temp dir"); + let store = Store::new_shared( + temp_dir.path(), + Default::default(), + Arc::clone(&client) as Arc<_>, + Arc::new(sc_keystore::LocalKeystore::in_memory()), + None, + Box::new(executor.as_ref().clone()), + ) + .expect("Failed to create statement store"); + + let api = super::StatementStore::new(Arc::clone(&store) as Arc<_>, executor.clone()); + let api_rpc = api.into_rpc(); + + // Test subscription with raw JSON using "matchAll" filter with 4 topics + let request = r#"{"jsonrpc":"2.0","method":"statement_subscribeStatement","params":[{"matchAll":["0xdededededededededededededededededededededededededededededededede","0xadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad","0xbebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebe","0xcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf"]}],"id":2}"#; + let (response, _) = api_rpc + .raw_json_request(request, 1) + .await + .expect("Raw JSON request should succeed"); + println!("response: {}", response); + assert!( + response.contains("\"result\""), + "Expected successful subscription response, got: {}", + response + ); +} + +#[tokio::test(flavor = "multi_thread", worker_threads = 10)] +async fn subscribe_rejects_more_than_4_topics_in_match_all() { + let executor = test_executor(); + let client = Arc::new(substrate_test_runtime_client::new()); + let temp_dir = tempfile::tempdir().expect("Failed to create temp dir"); + let store = Store::new_shared( + temp_dir.path(), + Default::default(), + Arc::clone(&client) as Arc<_>, + Arc::new(sc_keystore::LocalKeystore::in_memory()), + None, + Box::new(executor.as_ref().clone()), + ) + .expect("Failed to create statement store"); + + let api = super::StatementStore::new(Arc::clone(&store) as Arc<_>, executor.clone()); + let api_rpc = api.into_rpc(); + + // Test subscription with raw JSON using "matchAll" filter with 5 topics (should be rejected) + let request = r#"{"jsonrpc":"2.0","method":"statement_subscribeStatement","params":[{"matchAll":["0xdededededededededededededededededededededededededededededededede","0xadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad","0xbebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebe","0xcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf","0x1111111111111111111111111111111111111111111111111111111111111111"]}],"id":2}"#; + let (response, _) = api_rpc + .raw_json_request(request, 1) + .await + .expect("Raw JSON request should succeed"); + println!("response: {}", response); + assert!( + response.contains("\"error\""), + "Expected error response for more than 4 topics, got: {}", + response + ); +} diff --git a/substrate/client/rpc/src/system/tests.rs b/substrate/client/rpc/src/system/tests.rs index bfef0e429ceba..ee0afb07641f5 100644 --- a/substrate/client/rpc/src/system/tests.rs +++ b/substrate/client/rpc/src/system/tests.rs @@ -98,15 +98,17 @@ fn api>>(sync: T) -> RpcModule> { Request::NetworkAddReservedPeer(peer, sender) => { let _ = match sc_network::config::parse_str_addr(&peer) { Ok(_) => sender.send(Ok(())), - Err(s) => - sender.send(Err(error::Error::MalformattedPeerArg(s.to_string()))), + Err(s) => { + sender.send(Err(error::Error::MalformattedPeerArg(s.to_string()))) + }, }; }, Request::NetworkRemoveReservedPeer(peer, sender) => { let _ = match peer.parse::() { Ok(_) => sender.send(Ok(())), - Err(s) => - sender.send(Err(error::Error::MalformattedPeerArg(s.to_string()))), + Err(s) => { + sender.send(Err(error::Error::MalformattedPeerArg(s.to_string()))) + }, }; }, Request::NetworkReservedPeers(sender) => { @@ -367,7 +369,7 @@ fn test_add_reset_log_filter() { }; futures::executor::block_on(fut).expect("`system_resetLogFilter` failed"); } else if line.contains("exit") { - return + return; } log::trace!(target: "test_before_add", "{}", EXPECTED_WITH_TRACE); log::debug!(target: "test_before_add", "{}", EXPECTED_BEFORE_ADD); diff --git a/substrate/client/rpc/src/utils.rs b/substrate/client/rpc/src/utils.rs index db91e5aabf91b..4ead449c35c79 100644 --- a/substrate/client/rpc/src/utils.rs +++ b/substrate/client/rpc/src/utils.rs @@ -147,7 +147,7 @@ impl PendingSubscription { Either::Right((Some(msg), f)) => { if buf.push(msg).is_err() { log::debug!(target: "rpc", "Subscription::accept buffer full for subscription={method} conn_id={conn_id}; dropping subscription"); - return + return; } accept_fut = f; }, diff --git a/substrate/client/service/src/builder.rs b/substrate/client/service/src/builder.rs index 1ec349fc55718..9fc5316deed7a 100644 --- a/substrate/client/service/src/builder.rs +++ b/substrate/client/service/src/builder.rs @@ -22,8 +22,8 @@ use crate::{ config::{Configuration, ExecutorConfiguration, KeystoreConfig, Multiaddr, PrometheusConfig}, error::Error, metrics::MetricsService, - start_rpc_servers, BuildGenesisBlock, GenesisBlockBuilder, RpcHandlers, SpawnTaskHandle, - TaskManager, TransactionPoolAdapter, + start_rpc_servers, BuildGenesisBlock, GenesisBlockBuilder, RpcHandlers, + SpawnEssentialTaskHandle, SpawnTaskHandle, TaskManager, TransactionPoolAdapter, }; use futures::{select, FutureExt, StreamExt}; use jsonrpsee::RpcModule; @@ -119,8 +119,9 @@ impl KeystoreContainer { /// Construct KeystoreContainer pub fn new(config: &KeystoreConfig) -> Result { let keystore = Arc::new(match config { - KeystoreConfig::Path { path, password } => - LocalKeystore::open(path.clone(), password.clone())?, + KeystoreConfig::Path { path, password } => { + LocalKeystore::open(path.clone(), password.clone())? + }, KeystoreConfig::InMemory => LocalKeystore::in_memory(), }); @@ -143,26 +144,33 @@ pub fn new_full_client( config: &Configuration, telemetry: Option, executor: TExec, + pruning_filters: Vec>, ) -> Result, Error> where TBl: BlockT, TExec: CodeExecutor + RuntimeVersionOf + Clone, { - new_full_parts(config, telemetry, executor).map(|parts| parts.0) + new_full_parts(config, telemetry, executor, pruning_filters).map(|parts| parts.0) } /// Create the initial parts of a full node with the default genesis block builder. +/// +/// The `pruning_filters` parameter allows configuring which blocks should be preserved +/// during pruning. pub fn new_full_parts_record_import( config: &Configuration, telemetry: Option, executor: TExec, enable_import_proof_recording: bool, + pruning_filters: Vec>, ) -> Result, Error> where TBl: BlockT, TExec: CodeExecutor + RuntimeVersionOf + Clone, { - let backend = new_db_backend(config.db_config())?; + let mut db_config = config.db_config(); + db_config.pruning_filters = pruning_filters; + let backend = new_db_backend(db_config)?; let genesis_block_builder = GenesisBlockBuilder::new( config.chain_spec.as_storage_builder(), @@ -180,17 +188,22 @@ where enable_import_proof_recording, ) } + /// Create the initial parts of a full node with the default genesis block builder. +/// +/// The `pruning_filters` parameter allows configuring which blocks should be preserved +/// during pruning. pub fn new_full_parts( config: &Configuration, telemetry: Option, executor: TExec, + pruning_filters: Vec>, ) -> Result, Error> where TBl: BlockT, TExec: CodeExecutor + RuntimeVersionOf + Clone, { - new_full_parts_record_import(config, telemetry, executor, false) + new_full_parts_record_import(config, telemetry, executor, false, pruning_filters) } /// Create the initial parts of a full node. @@ -374,7 +387,10 @@ pub fn new_wasm_executor(config: &ExecutorConfiguration) -> Wa .build() } -/// Create an instance of default DB-backend backend. +/// Create an instance of the default DB-backend. +/// +/// Pruning filters can be configured via `settings.pruning_filters`. +/// If any filter returns `true` for a block's justifications, the block will not be pruned. pub fn new_db_backend( settings: DatabaseSettings, ) -> Result>, sp_blockchain::Error> @@ -955,6 +971,8 @@ where pub transaction_pool: Arc, /// A handle for spawning tasks. pub spawn_handle: SpawnTaskHandle, + /// A handle for spawning essential tasks. + pub spawn_essential_handle: SpawnEssentialTaskHandle, /// An import queue. pub import_queue: IQ, /// A block announce validator builder. @@ -1003,6 +1021,7 @@ where client, transaction_pool, spawn_handle, + spawn_essential_handle, import_queue, block_announce_validator_builder, warp_sync_config, @@ -1054,6 +1073,7 @@ where client.clone(), &spawn_handle, metrics_registry, + config.blocks_pruning.is_archive(), )?; let (syncing_engine, sync_service, block_announce_config) = SyncingEngine::new( @@ -1083,6 +1103,7 @@ where client, transaction_pool, spawn_handle, + spawn_essential_handle, import_queue, sync_service, block_announce_config, @@ -1116,6 +1137,8 @@ where pub transaction_pool: Arc, /// A handle for spawning tasks. pub spawn_handle: SpawnTaskHandle, + /// A handle for spawning essential tasks. + pub spawn_essential_handle: SpawnEssentialTaskHandle, /// An import queue. pub import_queue: IQ, /// Syncing service to communicate with syncing engine. @@ -1168,6 +1191,7 @@ where client, transaction_pool, spawn_handle, + spawn_essential_handle, import_queue, sync_service, block_announce_config, @@ -1286,7 +1310,10 @@ where // issue, and ideally we would like to fix the network future to take as little time as // possible, but we also take the extra harm-prevention measure to execute the networking // future using `spawn_blocking`. - spawn_handle.spawn_blocking("network-worker", Some("networking"), future); + // + // The network worker is spawned as an essential task, meaning if it exits unexpectedly + // the service will shut down. + spawn_essential_handle.spawn_blocking("network-worker", Some("networking"), future); Ok((network, system_rpc_tx, tx_handler_controller, sync_service.clone())) } @@ -1323,6 +1350,9 @@ where pub metrics_registry: Option<&'a Registry>, /// Metrics. pub metrics: NotificationMetrics, + /// Whether to archive blocks. When `true`, gap sync requests bodies to maintain complete + /// block history. + pub archive_blocks: bool, } /// Build default syncing engine using [`build_default_block_downloader`] and @@ -1355,6 +1385,7 @@ where spawn_handle, metrics_registry, metrics, + archive_blocks, } = config; let block_downloader = build_default_block_downloader( @@ -1375,6 +1406,7 @@ where client.clone(), spawn_handle, metrics_registry, + archive_blocks, )?; let (syncing_engine, sync_service, block_announce_config) = SyncingEngine::new( @@ -1442,6 +1474,7 @@ pub fn build_polkadot_syncing_strategy( client: Arc, spawn_handle: &SpawnTaskHandle, metrics_registry: Option<&Registry>, + archive_blocks: bool, ) -> Result>, Error> where Block: BlockT, @@ -1455,13 +1488,14 @@ where Net: NetworkBackend::Hash>, { if warp_sync_config.is_none() && net_config.network_config.sync_mode.is_warp() { - return Err("Warp sync enabled, but no warp sync provider configured.".into()) + return Err("Warp sync enabled, but no warp sync provider configured.".into()); } if client.requires_full_sync() { match net_config.network_config.sync_mode { - SyncMode::LightState { .. } => - return Err("Fast sync doesn't work for archive nodes".into()), + SyncMode::LightState { .. } => { + return Err("Fast sync doesn't work for archive nodes".into()) + }, SyncMode::Warp => return Err("Warp sync doesn't work for archive nodes".into()), SyncMode::Full => {}, } @@ -1510,6 +1544,7 @@ where metrics_registry: metrics_registry.cloned(), state_request_protocol_name, block_downloader, + archive_blocks, }; Ok(Box::new(PolkadotSyncingStrategy::new( syncing_config, diff --git a/substrate/client/service/src/chain_ops/export_blocks.rs b/substrate/client/service/src/chain_ops/export_blocks.rs index 8d66f1f96baf3..2538581b1df13 100644 --- a/substrate/client/service/src/chain_ops/export_blocks.rs +++ b/substrate/client/service/src/chain_ops/export_blocks.rs @@ -61,7 +61,7 @@ where let client = &client; if last < block { - return Poll::Ready(Err("Invalid block range specified".into())) + return Poll::Ready(Err("Invalid block range specified".into())); } if !wrote_header { @@ -81,20 +81,21 @@ where .transpose()? .flatten() { - Some(block) => + Some(block) => { if binary { output.write_all(&block.encode())?; } else { serde_json::to_writer(&mut output, &block) .map_err(|e| format!("Error writing JSON: {}", e))?; - }, + } + }, None => return Poll::Ready(Ok(())), } if (block % 10000u32.into()).is_zero() { info!("#{}", block); } if block == last { - return Poll::Ready(Ok(())) + return Poll::Ready(Ok(())); } block += One::one(); diff --git a/substrate/client/service/src/chain_ops/export_raw_state.rs b/substrate/client/service/src/chain_ops/export_raw_state.rs index fde2c5617cb41..aa5aeaf95426e 100644 --- a/substrate/client/service/src/chain_ops/export_raw_state.rs +++ b/substrate/client/service/src/chain_ops/export_raw_state.rs @@ -53,7 +53,7 @@ where } children_default.insert(child_root_key.0, StorageChild { child_info, data: pairs }); - continue + continue; } top.insert(key.0, value.0); diff --git a/substrate/client/service/src/chain_ops/import_blocks.rs b/substrate/client/service/src/chain_ops/import_blocks.rs index 8e759faa0775d..a1cf6d5882383 100644 --- a/substrate/client/service/src/chain_ops/import_blocks.rs +++ b/substrate/client/service/src/chain_ops/import_blocks.rs @@ -326,7 +326,7 @@ where if let (Err(err), hash) = result { warn!("There was an error importing block with hash {:?}: {}", hash, err); self.has_error.store(true, Ordering::Release); - break + break; } } } @@ -340,7 +340,7 @@ where Err(e) => { // We've encountered an error while creating the block iterator // so we can just return a future that returns an error. - return future::ready(Err(Error::Other(e))).boxed() + return future::ready(Err(Error::Other(e))).boxed(); }, }; @@ -392,11 +392,12 @@ where state = Some(ImportState::Reading { block_iter }); } }, - Err(e) => + Err(e) => { return Poll::Ready(Err(Error::Other(format!( "Error reading block #{}: {}", read_block_count, e - )))), + )))) + }, } }, } @@ -414,7 +415,7 @@ where delay, block, }); - return Poll::Pending + return Poll::Pending; }, Poll::Ready(_) => { delay.reset(Duration::from_millis(DELAY_TIME)); @@ -450,7 +451,7 @@ where read_block_count, client.info().best_number ); - return Poll::Ready(Ok(())) + return Poll::Ready(Ok(())); } else { // Importing is not done, we still have to wait for the queue to finish. // Wait for the delay, because we know the queue is lagging behind. @@ -461,7 +462,7 @@ where read_block_count, delay, }); - return Poll::Pending + return Poll::Pending; }, Poll::Ready(_) => { delay.reset(Duration::from_millis(DELAY_TIME)); @@ -486,7 +487,7 @@ where return Poll::Ready(Err(Error::Other(format!( "Stopping after #{} blocks because of an error", link.imported_blocks.load(Ordering::Acquire) - )))) + )))); } cx.waker().wake_by_ref(); diff --git a/substrate/client/service/src/client/block_rules.rs b/substrate/client/service/src/client/block_rules.rs index 532cde1ae78f0..c8391c0e17b0c 100644 --- a/substrate/client/service/src/client/block_rules.rs +++ b/substrate/client/service/src/client/block_rules.rs @@ -61,12 +61,12 @@ impl BlockRules { pub fn lookup(&self, number: NumberFor, hash: &B::Hash) -> LookupResult { if let Some(hash_for_height) = self.forks.get(&number) { if hash_for_height != hash { - return LookupResult::Expected(*hash_for_height) + return LookupResult::Expected(*hash_for_height); } } if self.bad.contains(hash) { - return LookupResult::KnownBad + return LookupResult::KnownBad; } LookupResult::NotSpecial diff --git a/substrate/client/service/src/client/client.rs b/substrate/client/service/src/client/client.rs index 298fe7907a491..0886322263394 100644 --- a/substrate/client/service/src/client/client.rs +++ b/substrate/client/service/src/client/client.rs @@ -482,7 +482,7 @@ where } = import_block; if !intermediates.is_empty() { - return Err(Error::IncompletePipeline) + return Err(Error::IncompletePipeline); } let fork_choice = fork_choice.ok_or(Error::IncompletePipeline)?; @@ -563,6 +563,7 @@ where let status = self.backend.blockchain().status(hash)?; let parent_exists = self.backend.blockchain().status(parent_hash)? == blockchain::BlockStatus::InChain; + match (import_existing, status) { (false, blockchain::BlockStatus::InChain) => return Ok(ImportResult::AlreadyInChain), (false, blockchain::BlockStatus::Unknown) => {}, @@ -580,16 +581,21 @@ where *import_headers.post().number() <= info.finalized_number && !gap_block { - return Err(sp_blockchain::Error::NotInFinalizedChain) + return Err(sp_blockchain::Error::NotInFinalizedChain); } // this is a fairly arbitrary choice of where to draw the line on making notifications, // but the general goal is to only make notifications when we are already fully synced // and get a new chain head. let make_notifications = match origin { - BlockOrigin::NetworkBroadcast | BlockOrigin::Own | BlockOrigin::ConsensusBroadcast => - true, - BlockOrigin::Genesis | BlockOrigin::NetworkInitialSync | BlockOrigin::File => false, + BlockOrigin::NetworkBroadcast | BlockOrigin::Own | BlockOrigin::ConsensusBroadcast => { + true + }, + BlockOrigin::Genesis | + BlockOrigin::NetworkInitialSync | + BlockOrigin::File | + BlockOrigin::WarpSync | + BlockOrigin::GapSync => false, }; let storage_changes = match storage_changes { @@ -622,12 +628,14 @@ where let storage_key = PrefixedStorageKey::new_ref(&parent_storage); let storage_key = match ChildType::from_prefixed_key(storage_key) { - Some((ChildType::ParentKeyId, storage_key)) => - storage_key, - None => + Some((ChildType::ParentKeyId, storage_key)) => { + storage_key + }, + None => { return Err(Error::Backend( "Invalid child storage key.".to_string(), - )), + )) + }, }; let entry = storage .children_default @@ -654,7 +662,7 @@ where // State root mismatch when importing state. This should not happen in // safe fast sync mode, but may happen in unsafe mode. warn!("Error importing state: State root mismatch."); - return Err(Error::InvalidStateRoot) + return Err(Error::InvalidStateRoot); } None }, @@ -680,8 +688,9 @@ where let is_new_best = !gap_block && (finalized || match fork_choice { - ForkChoiceStrategy::LongestChain => - import_headers.post().number() > &info.best_number, + ForkChoiceStrategy::LongestChain => { + import_headers.post().number() > &info.best_number + }, ForkChoiceStrategy::Custom(v) => v, }); @@ -800,18 +809,21 @@ where let state_action = std::mem::replace(&mut import_block.state_action, StateAction::Skip); let (enact_state, storage_changes) = match (self.block_status(*parent_hash)?, state_action) { - (BlockStatus::KnownBad, _) => - return Ok(PrepareStorageChangesResult::Discard(ImportResult::KnownBad)), + (BlockStatus::KnownBad, _) => { + return Ok(PrepareStorageChangesResult::Discard(ImportResult::KnownBad)) + }, ( BlockStatus::InChainPruned, StateAction::ApplyChanges(sc_consensus::StorageChanges::Changes(_)), ) => return Ok(PrepareStorageChangesResult::Discard(ImportResult::MissingState)), (_, StateAction::ApplyChanges(changes)) => (true, Some(changes)), - (BlockStatus::Unknown, _) => - return Ok(PrepareStorageChangesResult::Discard(ImportResult::UnknownParent)), (_, StateAction::Skip) => (false, None), - (BlockStatus::InChainPruned, StateAction::Execute) => - return Ok(PrepareStorageChangesResult::Discard(ImportResult::MissingState)), + (BlockStatus::Unknown, _) => { + return Ok(PrepareStorageChangesResult::Discard(ImportResult::UnknownParent)) + }, + (BlockStatus::InChainPruned, StateAction::Execute) => { + return Ok(PrepareStorageChangesResult::Discard(ImportResult::MissingState)) + }, (BlockStatus::InChainPruned, StateAction::ExecuteIfPossible) => (false, None), (_, StateAction::Execute) => (true, None), (_, StateAction::ExecuteIfPossible) => (true, None), @@ -848,7 +860,7 @@ where if import_block.header.state_root() != &gen_storage_changes.transaction_storage_root { - return Err(Error::InvalidStateRoot) + return Err(Error::InvalidStateRoot); } Some(sc_consensus::StorageChanges::Changes(gen_storage_changes)) }, @@ -874,7 +886,7 @@ where "Possible safety violation: attempted to re-finalize last finalized block {:?} ", hash, ); - return Ok(()) + return Ok(()); } // Find tree route from last finalized to given block. @@ -888,7 +900,7 @@ where retracted, info.finalized_hash ); - return Err(sp_blockchain::Error::NotInFinalizedChain) + return Err(sp_blockchain::Error::NotInFinalizedChain); } // We may need to coercively update the best block if there is more than one @@ -970,7 +982,7 @@ where // since we won't be running the loop below which // would also remove any closed sinks. sinks.retain(|sink| !sink.is_closed()); - return Ok(()) + return Ok(()); }, }; @@ -1006,7 +1018,7 @@ where self.every_import_notification_sinks.lock().retain(|sink| !sink.is_closed()); - return Ok(()) + return Ok(()); }, }; @@ -1105,17 +1117,18 @@ where .as_ref() .map_or(false, |importing| &hash == importing) { - return Ok(BlockStatus::Queued) + return Ok(BlockStatus::Queued); } let hash_and_number = self.backend.blockchain().number(hash)?.map(|n| (hash, n)); match hash_and_number { - Some((hash, number)) => + Some((hash, number)) => { if self.backend.have_state_at(hash, number) { Ok(BlockStatus::InChainWithState) } else { Ok(BlockStatus::InChainPruned) - }, + } + }, None => Ok(BlockStatus::Unknown), } } @@ -1151,7 +1164,7 @@ where let genesis_hash = self.backend.blockchain().info().genesis_hash; if genesis_hash == target_hash { - return Ok(Vec::new()) + return Ok(Vec::new()); } let mut current_hash = target_hash; @@ -1167,7 +1180,7 @@ where current_hash = ancestor_hash; if genesis_hash == current_hash { - break + break; } current = ancestor; @@ -1252,14 +1265,15 @@ where size_limit: usize, ) -> sp_blockchain::Result> { if start_key.len() > MAX_NESTED_TRIE_DEPTH { - return Err(Error::Backend("Invalid start key.".to_string())) + return Err(Error::Backend("Invalid start key.".to_string())); } let state = self.state_at(hash)?; let child_info = |storage_key: &Vec| -> sp_blockchain::Result { let storage_key = PrefixedStorageKey::new_ref(storage_key); match ChildType::from_prefixed_key(storage_key) { - Some((ChildType::ParentKeyId, storage_key)) => - Ok(ChildInfo::new_default(storage_key)), + Some((ChildType::ParentKeyId, storage_key)) => { + Ok(ChildInfo::new_default(storage_key)) + }, None => Err(Error::Backend("Invalid child storage key.".to_string())), } }; @@ -1271,7 +1285,7 @@ where { Some((child_info(start_key)?, child_root)) } else { - return Err(Error::Backend("Invalid root start key.".to_string())) + return Err(Error::Backend("Invalid root start key.".to_string())); } } else { None @@ -1315,7 +1329,7 @@ where let size = value.len() + next_key.len(); if total_size + size > size_limit && !entries.is_empty() { complete = false; - break + break; } total_size += size; @@ -1326,7 +1340,7 @@ where child_roots.insert(value.clone()); switch_child_key = Some((next_key.clone(), value.clone())); entries.push((next_key.clone(), value)); - break + break; } entries.push((next_key.clone(), value)); current_key = next_key; @@ -1346,12 +1360,12 @@ where complete, )); if !complete { - break + break; } } else { result[0].0.key_values.extend(entries.into_iter()); result[0].1 = complete; - break + break; } } Ok(result) @@ -1756,7 +1770,7 @@ where match self.block_rules.lookup(number, &hash) { BlockLookupResult::KnownBad => { trace!("Rejecting known bad block: #{} {:?}", number, hash); - return Ok(ImportResult::KnownBad) + return Ok(ImportResult::KnownBad); }, BlockLookupResult::Expected(expected_hash) => { trace!( @@ -1765,7 +1779,7 @@ where expected_hash, number ); - return Ok(ImportResult::KnownBad) + return Ok(ImportResult::KnownBad); }, BlockLookupResult::NotSpecial => {}, } @@ -1776,10 +1790,12 @@ where .block_status(hash) .map_err(|e| ConsensusError::ClientImport(e.to_string()))? { - BlockStatus::InChainWithState | BlockStatus::Queued => - return Ok(ImportResult::AlreadyInChain), - BlockStatus::InChainPruned if !import_existing => - return Ok(ImportResult::AlreadyInChain), + BlockStatus::InChainWithState | BlockStatus::Queued => { + return Ok(ImportResult::AlreadyInChain) + }, + BlockStatus::InChainPruned if !import_existing => { + return Ok(ImportResult::AlreadyInChain) + }, BlockStatus::InChainPruned => {}, BlockStatus::Unknown => {}, BlockStatus::KnownBad => return Ok(ImportResult::KnownBad), @@ -1945,8 +1961,9 @@ where fn block(&self, hash: Block::Hash) -> sp_blockchain::Result>> { Ok(match (self.header(hash)?, self.body(hash)?, self.justifications(hash)?) { - (Some(header), Some(extrinsics), justifications) => - Some(SignedBlock { block: Block::new(header, extrinsics), justifications }), + (Some(header), Some(extrinsics), justifications) => { + Some(SignedBlock { block: Block::new(header, extrinsics), justifications }) + }, _ => None, }) } diff --git a/substrate/client/service/src/client/code_provider.rs b/substrate/client/service/src/client/code_provider.rs index 5feff243b632e..5fca407f852fa 100644 --- a/substrate/client/service/src/client/code_provider.rs +++ b/substrate/client/service/src/client/code_provider.rs @@ -118,7 +118,7 @@ where let on_chain_version = self.on_chain_runtime_version(&onchain_code, state)?; let code_and_version = if let Some(d) = self.wasm_override.as_ref().as_ref().and_then(|o| { if ignore_overrides { - return None + return None; } o.get( diff --git a/substrate/client/service/src/client/notification_pinning.rs b/substrate/client/service/src/client/notification_pinning.rs index 80de91c02f1ae..9b9997f96aff1 100644 --- a/substrate/client/service/src/client/notification_pinning.rs +++ b/substrate/client/service/src/client/notification_pinning.rs @@ -160,7 +160,7 @@ impl> NotificationPinningWorker backend.unpin_block(hash); } else { log::debug!(target: LOG_TARGET, "Terminating unpin-worker, backend reference was dropped."); - return Err(()) + return Err(()); } } else { log::debug!(target: LOG_TARGET, "Received unpin message for already unpinned block. hash = {hash:?}"); @@ -176,10 +176,11 @@ impl> NotificationPinningWorker while let Some(message) = self.unpin_message_rx.next().await { match message { UnpinWorkerMessage::AnnouncePin(hash) => self.handle_announce_message(hash), - UnpinWorkerMessage::Unpin(hash) => + UnpinWorkerMessage::Unpin(hash) => { if self.handle_unpin_message(hash).is_err() { - return - }, + return; + } + }, } } log::debug!(target: LOG_TARGET, "Terminating unpin-worker, stream terminated.") diff --git a/substrate/client/service/src/client/wasm_override.rs b/substrate/client/service/src/client/wasm_override.rs index b031dbc5542af..10f3b4af29723 100644 --- a/substrate/client/service/src/client/wasm_override.rs +++ b/substrate/client/service/src/client/wasm_override.rs @@ -178,7 +178,7 @@ impl WasmOverride { }; if !dir.is_dir() { - return Err(WasmOverrideError::NotADirectory(dir.to_owned()).into()) + return Err(WasmOverrideError::NotADirectory(dir.to_owned()).into()); } let mut overrides = HashMap::new(); @@ -213,7 +213,7 @@ impl WasmOverride { } if !duplicates.is_empty() { - return Err(WasmOverrideError::DuplicateRuntime(duplicates).into()) + return Err(WasmOverrideError::DuplicateRuntime(duplicates).into()); } Ok(overrides) diff --git a/substrate/client/service/src/config.rs b/substrate/client/service/src/config.rs index 2effa4782e122..85345756312ad 100644 --- a/substrate/client/service/src/config.rs +++ b/substrate/client/service/src/config.rs @@ -235,6 +235,7 @@ impl Configuration { state_pruning: self.state_pruning.clone(), source: self.database.clone(), blocks_pruning: self.blocks_pruning, + pruning_filters: Default::default(), metrics_registry: self.prometheus_registry().cloned(), } } diff --git a/substrate/client/service/src/lib.rs b/substrate/client/service/src/lib.rs index c6a2bd70d2a92..f24dd2dea8f2b 100644 --- a/substrate/client/service/src/lib.rs +++ b/substrate/client/service/src/lib.rs @@ -83,6 +83,7 @@ pub use sc_chain_spec::{ ChainSpec, ChainType, Extension as ChainSpecExtension, GenericChainSpec, NoExtension, Properties, }; +pub use sc_client_db::PruningFilter; use crate::config::RpcConfiguration; use prometheus_endpoint::Registry; @@ -211,7 +212,7 @@ async fn build_network_future< // If this stream is shut down, that means the client has shut down, and the // most appropriate thing to do for the network future is to shut down too. None => { - debug!("Block import stream has terminated, shutting down the network future."); + warn!("Block import stream has terminated, shutting down the network future. Ignore if the node is stopping."); return }, }; @@ -235,7 +236,7 @@ async fn build_network_future< // Drive the network. Shut down the network future if `NetworkWorker` has terminated. _ = network_run => { - debug!("`NetworkWorker` has terminated, shutting down the network future."); + warn!("`NetworkWorker` has terminated, shutting down the network future. Ignore if the node is stopping."); return } } @@ -269,7 +270,7 @@ pub async fn build_system_rpc_future< // Answer incoming RPC requests. let Some(req) = rpc_rx.next().await else { debug!("RPC requests stream has terminated, shutting down the system RPC future."); - return + return; }; match req { @@ -318,7 +319,7 @@ pub async fn build_system_rpc_future< let _ = sender.send(network_state); } } else { - break + break; } }, sc_rpc::system::Request::NetworkAddReservedPeer(peer_addr, sender) => { @@ -521,7 +522,7 @@ where Ok(uxt) => uxt, Err(e) => { debug!(target: sc_transaction_pool::LOG_TARGET, "Transaction invalid: {:?}", e); - return Box::pin(futures::future::ready(TransactionImport::Bad)) + return Box::pin(futures::future::ready(TransactionImport::Bad)); }, }; @@ -543,8 +544,9 @@ where TransactionImport::NewGood }, Err(e) => match e.into_pool_error() { - Ok(sc_transaction_pool_api::error::Error::AlreadyImported(_)) => - TransactionImport::KnownGood, + Ok(sc_transaction_pool_api::error::Error::AlreadyImported(_)) => { + TransactionImport::KnownGood + }, Ok(_) => TransactionImport::Bad, Err(_) => { // it is not bad at least, just some internal node logic error, so peer is diff --git a/substrate/client/service/test/src/client/mod.rs b/substrate/client/service/test/src/client/mod.rs index 8f6b739abdcc1..f234df13920ec 100644 --- a/substrate/client/service/test/src/client/mod.rs +++ b/substrate/client/service/test/src/client/mod.rs @@ -344,7 +344,7 @@ fn block_builder_does_not_include_invalid() { .is_err()); let block = builder.build().unwrap().block; - //transfer from Eve should not be included + // transfer from Eve should not be included assert_eq!(block.extrinsics.len(), 1); block_on(client.import(BlockOrigin::Own, block)).unwrap(); @@ -424,8 +424,8 @@ fn uncles_with_multiple_forks() { // block tree: // G -> A1 -> A2 -> A3 -> A4 -> A5 // A1 -> B2 -> B3 -> B4 - // B2 -> C3 - // A1 -> D2 + // B2 -> C3 + // A1 -> D2 let client = substrate_test_runtime_client::new(); // G -> A1 @@ -1489,6 +1489,7 @@ fn doesnt_import_blocks_that_revert_finality() { trie_cache_maximum_size: Some(1 << 20), state_pruning: Some(PruningMode::ArchiveAll), blocks_pruning: BlocksPruning::KeepAll, + pruning_filters: Default::default(), source: DatabaseSource::RocksDb { path: tmp.path().into(), cache_size: 1024 }, metrics_registry: None, }, @@ -1770,6 +1771,7 @@ fn returns_status_for_pruned_blocks() { trie_cache_maximum_size: Some(1 << 20), state_pruning: Some(PruningMode::blocks_pruning(1)), blocks_pruning: BlocksPruning::KeepFinalized, + pruning_filters: Default::default(), source: DatabaseSource::RocksDb { path: tmp.path().into(), cache_size: 1024 }, metrics_registry: None, }, diff --git a/substrate/client/service/test/src/lib.rs b/substrate/client/service/test/src/lib.rs index 3aa6945ac46b2..94c1426d03f87 100644 --- a/substrate/client/service/test/src/lib.rs +++ b/substrate/client/service/test/src/lib.rs @@ -181,7 +181,7 @@ where interval.tick().await; if full_nodes.iter().all(|(id, service, _, _)| full_predicate(*id, service)) { - break + break; } } }; diff --git a/substrate/client/state-db/src/lib.rs b/substrate/client/state-db/src/lib.rs index 6c37c87a611b1..7423d3fa10e20 100644 --- a/substrate/client/state-db/src/lib.rs +++ b/substrate/client/state-db/src/lib.rs @@ -317,8 +317,9 @@ impl StateDbSync { let non_canonical: NonCanonicalOverlay = NonCanonicalOverlay::new(&db)?; let pruning: Option> = match mode { - PruningMode::Constrained(Constraints { max_blocks }) => - Some(RefWindow::new(db, max_blocks.unwrap_or(0), ref_counting)?), + PruningMode::Constrained(Constraints { max_blocks }) => { + Some(RefWindow::new(db, max_blocks.unwrap_or(0), ref_counting)?) + }, PruningMode::ArchiveAll | PruningMode::ArchiveCanonical => None, }; @@ -352,7 +353,7 @@ impl StateDbSync { // the database atomically to keep their consistency when restarting the node let mut commit = CommitSet::default(); if self.mode == PruningMode::ArchiveAll { - return Ok(commit) + return Ok(commit); } let number = self.non_canonical.canonicalize(hash, &mut commit)?; if self.mode == PruningMode::ArchiveCanonical { @@ -413,17 +414,18 @@ impl StateDbSync { { loop { if pruning.window_size() <= constraints.max_blocks.unwrap_or(0) as u64 { - break + break; } let pinned = &self.pinned; match pruning.next_hash() { // the block record is temporary unavailable, break and try next time Err(Error::StateDb(StateDbError::BlockUnavailable)) => break, - res => + res => { if res?.map_or(false, |h| pinned.contains_key(&h)) { - break - }, + break; + } + }, } match pruning.prune_one(commit) { // this branch should not reach as previous `next_hash` don't return error @@ -442,16 +444,18 @@ impl StateDbSync { fn revert_one(&mut self) -> Option> { match self.mode { PruningMode::ArchiveAll => Some(CommitSet::default()), - PruningMode::ArchiveCanonical | PruningMode::Constrained(_) => - self.non_canonical.revert_one(), + PruningMode::ArchiveCanonical | PruningMode::Constrained(_) => { + self.non_canonical.revert_one() + }, } } fn remove(&mut self, hash: &BlockHash) -> Option> { match self.mode { PruningMode::ArchiveAll => Some(CommitSet::default()), - PruningMode::ArchiveCanonical | PruningMode::Constrained(_) => - self.non_canonical.remove(hash), + PruningMode::ArchiveCanonical | PruningMode::Constrained(_) => { + self.non_canonical.remove(hash) + }, } } @@ -517,7 +521,7 @@ impl StateDbSync { Q: std::hash::Hash + Eq, { if let Some(value) = self.non_canonical.get(key) { - return Ok(Some(value)) + return Ok(Some(value)); } db.get(key.as_ref()).map_err(Error::Db) } @@ -545,11 +549,12 @@ impl StateDb { requested_mode.unwrap_or_default() }, - (false, None, _) => + (false, None, _) => { return Err(StateDbError::Metadata( "An existing StateDb does not have PRUNING_MODE stored in its meta-data".into(), ) - .into()), + .into()) + }, (false, Some(stored), None) => stored, @@ -694,10 +699,12 @@ fn choose_pruning_mode( ) -> Result { match (stored, requested) { (PruningMode::ArchiveAll, PruningMode::ArchiveAll) => Ok(PruningMode::ArchiveAll), - (PruningMode::ArchiveCanonical, PruningMode::ArchiveCanonical) => - Ok(PruningMode::ArchiveCanonical), - (PruningMode::Constrained(_), PruningMode::Constrained(requested)) => - Ok(PruningMode::Constrained(requested)), + (PruningMode::ArchiveCanonical, PruningMode::ArchiveCanonical) => { + Ok(PruningMode::ArchiveCanonical) + }, + (PruningMode::Constrained(_), PruningMode::Constrained(requested)) => { + Ok(PruningMode::Constrained(requested)) + }, (stored, requested) => Err(StateDbError::IncompatiblePruningModes { requested, stored }), } } diff --git a/substrate/client/state-db/src/noncanonical.rs b/substrate/client/state-db/src/noncanonical.rs index 4492a7bd077df..09156ba808df3 100644 --- a/substrate/client/state-db/src/noncanonical.rs +++ b/substrate/client/state-db/src/noncanonical.rs @@ -219,7 +219,7 @@ impl NonCanonicalOverlay { } } if level.blocks.is_empty() { - break + break; } levels.push_back(level); block += 1; @@ -270,7 +270,7 @@ impl NonCanonicalOverlay { front_block_number, front_block_number + self.levels.len() as u64, ); - return Err(StateDbError::InvalidBlockNumber) + return Err(StateDbError::InvalidBlockNumber); } // check for valid parent if inserting on second level or higher if number == front_block_number { @@ -279,10 +279,10 @@ impl NonCanonicalOverlay { .as_ref() .map_or(false, |&(ref h, n)| h == parent_hash && n == number - 1) { - return Err(StateDbError::InvalidParent) + return Err(StateDbError::InvalidParent); } } else if !self.parents.contains_key(parent_hash) { - return Err(StateDbError::InvalidParent) + return Err(StateDbError::InvalidParent); } } let level = if self.levels.is_empty() || @@ -301,10 +301,10 @@ impl NonCanonicalOverlay { "Too many sibling blocks at #{number}: {:?}", level.blocks.iter().map(|b| &b.hash).collect::>() ); - return Err(StateDbError::TooManySiblingBlocks { number }) + return Err(StateDbError::TooManySiblingBlocks { number }); } if level.blocks.iter().any(|b| b.hash == *hash) { - return Err(StateDbError::BlockAlreadyExists) + return Err(StateDbError::BlockAlreadyExists); } let index = level.available_index(); @@ -501,13 +501,13 @@ impl NonCanonicalOverlay { // Check that it does not have any children if (level_index != level_count - 1) && self.parents.values().any(|h| h == hash) { log::debug!(target: LOG_TARGET, "Trying to remove block {:?} with children", hash); - return None + return None; } let overlay = level.remove(index); commit.meta.deleted.push(overlay.journal_key); self.parents.remove(&overlay.hash); discard_values(&mut self.values, overlay.inserted); - break + break; } if self.levels.back().map_or(false, |l| l.blocks.is_empty()) { self.levels.pop_back(); diff --git a/substrate/client/state-db/src/pruning.rs b/substrate/client/state-db/src/pruning.rs index ae8a9a1249099..485b5155f1bf8 100644 --- a/substrate/client/state-db/src/pruning.rs +++ b/substrate/client/state-db/src/pruning.rs @@ -377,7 +377,7 @@ impl RefWindow { // if the queue is empty or the block number exceed the pruning window, we definitely // do not have this block if self.is_empty() || number < self.base || number >= self.base + self.window_size() { - return HaveBlock::No + return HaveBlock::No; } self.queue.have_block(hash, (number - self.base) as usize) } @@ -415,7 +415,7 @@ impl RefWindow { .inserted .push((to_meta_key(LAST_PRUNED, &()), (number - 1).encode())); } else if (self.base + self.window_size()) != number { - return Err(Error::StateDb(StateDbError::InvalidBlockNumber)) + return Err(Error::StateDb(StateDbError::InvalidBlockNumber)); } trace!( target: LOG_TARGET, diff --git a/substrate/client/statement-store/Cargo.toml b/substrate/client/statement-store/Cargo.toml index d62622401494b..4527260330070 100644 --- a/substrate/client/statement-store/Cargo.toml +++ b/substrate/client/statement-store/Cargo.toml @@ -16,6 +16,9 @@ workspace = true targets = ["x86_64-unknown-linux-gnu"] [dependencies] +async-channel = { workspace = true } +futures = { workspace = true } +itertools = { workspace = true } log = { workspace = true, default-features = true } parity-db = { workspace = true } parking_lot = { workspace = true, default-features = true } @@ -23,11 +26,13 @@ prometheus-endpoint = { workspace = true, default-features = true } sc-client-api = { workspace = true, default-features = true } sc-keystore = { workspace = true, default-features = true } sc-network-statement = { workspace = true, default-features = true } +sc-utils = { workspace = true } sp-api = { workspace = true, default-features = true } sp-blockchain = { workspace = true, default-features = true } sp-core = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } sp-statement-store = { workspace = true, default-features = true } +sp-storage = { workspace = true, default-features = true } tokio = { features = ["time"], workspace = true, default-features = true } [dev-dependencies] diff --git a/substrate/client/statement-store/Metrics.md b/substrate/client/statement-store/Metrics.md new file mode 100644 index 0000000000000..8245c9ca11cc2 --- /dev/null +++ b/substrate/client/statement-store/Metrics.md @@ -0,0 +1,331 @@ +# Statement Store & Network Dashboards + +Document provides a reference for every metric displayed in the two +Statement Store Grafana dashboards. For each metric, you will find: what it measures, +why it matters how to read it and what problems it helps diagnose. + +## Table of Contents + +- [Dashboard 1: Substrate Statement Store](#dashboard-1-substrate-statement-store) + - [Storage Overview](#storage-overview) + - [Throughput & Operations](#throughput--operations-use-method) + - [Errors & Rejections](#errors--rejections-red-method) + - [Capacity & Limits](#capacity--limits) +- [Dashboard 2: Substrate Statement Network](#dashboard-2-substrate-statement-network) + - [Network Overview](#network-overview) + - [Network Throughput & Bandwidth](#network-throughput--bandwidth) + - [Operation Latency](#operation-latency) + - [Network Health Indicators](#network-health-indicators) + - [Statement Expiration & Cleanup](#statement-expiration--cleanup) + - [Initial Sync](#initial-sync) +--- + +## Dashboard 1: Substrate Statement Store + +**UID:** `substrate-statement-store` + +This dashboard covers the storage engine: capacity, throughput, errors, and lifecycle +of statements in the database + +### Storage Overview + +#### Total Statements +- **Metric:** `substrate_sub_statement_store_statements_total` +- **Type:** Gauge +- **What it measures:** Count of statements persisted in the ParityDB store. +- **Why it matters:** Primary capacity indicator. +- **How to read:** Single stat panel. Green = healthy, yellow = 70%+ of capacity, red = 90%+. + +#### Storage Used (Bytes) +- **Metric:** `substrate_sub_statement_store_bytes_total` +- **Type:** Gauge +- **What it measures:** Total bytes consumed by statement data in the store. +- **Why it matters:** Metric detects byte-level saturation independently of count. +- **How to read:** Color thresholds match statement count: green/yellow/red at 70%/90% of capacity. + +#### Unique Accounts +- **Metric:** `substrate_sub_statement_store_accounts_total` +- **Type:** Gauge +- **What it measures:** Number of distinct accounts (public keys) that have at least one statement + in the store. +- **Why it matters:** Indicates the diversity of statement authors. A single account flooding + the store is a sign of abuse or misconfiguration. A healthy network shows many accounts. +- **How to read:** Single stat panel. No threshold coloring (informational). +- **Problems it solves:** + - Detect single-account flooding (one account with thousands of statements). + - Monitor adoption: how many unique participants are using the statement store. + +#### Expired Statements +- **Metric:** `substrate_sub_statement_store_expired_total` +- **Type:** Gauge +- **What it measures:** Statements that have been marked as expired but not yet purged (purge happens after 48h by default). +- **Why it matters:** A growing backlog of expired statements means the cleanup process + is falling behind, or the expiration rate is very high. +- **How to read:** Single stat. Green = 0-9, yellow = 10-99, red = 100+. +- **Problems it solves:** + - Detect stalled or slow cleanup processes per node. + - Identify nodes where expired statements accumulate (possible disk I/O issue). + +--- + +### Throughput & Operations + +#### Submission Rate (Successful) +- **Metric:** `rate(substrate_sub_statement_store_submitted_statements[$__rate_interval])` +- **Type:** Counter (displayed as rate) +- **What it measures:** Successful statement submissions per second. +- **Why it matters:** Throughput metric it tells you how fast the system + is processing valid work. Drops indicate upstream issues (fewer clients, network problems); + spikes indicate bursts of activity. +- **How to read:** Line chart showing submissions/sec. Legend shows mean/max/sum. +- **Problems it solves:** + - Detect throughput degradation after a release (compare before/after deployment). + +#### Throughput vs Errors +- **Metrics:** + - `rate(submitted_statements)` (green = successful) + - `rate(validations_invalid)` (red = invalid) + - `rate(rejections_total)` (orange = rejected) +- **What it measures:** Comparison of successful vs failed operations. +- **Why it matters:** A healthy system shows green >> red + orange. +- **How to read:** Overlapping lines ratio of green to red/orange is the key signal. +- **Problems it solves:** + - Detect capacity saturation. + - Compare error ratios across releases to ensure quality. + +--- + +### Errors & Rejections + +#### Invalid Validations Rate +- **Metric:** `rate(substrate_sub_statement_store_validations_invalid[$__rate_interval])` +- **Type:** Counter (displayed as rate) +- **What it measures:** Statements that failed proof verification (BadProof, NoProof) + or exceeded encoding size limits during submission. +- **Why it matters:** Invalid statements consume validation resources + (CPU for signature verification) without producing useful work. High rates indicate + malicious actors submitting garbage, network corruption, or client bugs. +- **How to read:** Line chart Any sustained rate above 0 warrants investigation. +- **Problems it solves:** + - Detect ongoing attacks + - Detect client bugs + - Detect network corruption + +#### Rejection Reasons Breakdown +- **Metric:** `rate(substrate_sub_statement_store_rejections_total[$__rate_interval])` with label `reason` +- **Type:** CounterVec (displayed as stacked rate) +- **Labels:** `reason` = `data_too_large` | `channel_priority_too_low` | `account_full` | `store_full` | `no_allowance` +- **What it measures:** Statements that passed validation but were rejected by the store +- **Why it matters:** Each rejection reason points to a different problem: + - **`store_full`** (red): The global store is at capacity. All new submissions are rejected. + Action: increase capacity or reduce statement lifetimes. + - **`account_full`** (orange): A specific account has hit its per-account quota. The account + owner needs to remove old statements before submitting new ones. + - **`channel_priority_too_low`** (yellow): A statement tried to replace a higher-priority + statement in the same channel. The submitter should increase priority. + - **`data_too_large`** (purple): Statement data exceeds `max_size`. The client is submitting + oversized data. + - **`no_allowance`** (grey): The account has no statement allowance set by the runtime. + The runtime must grant an allowance before the account can submit statements. +- **How to read:** Bar chart color of the dominant bar tells you the primary + rejection cause. + +--- + +### Capacity & Limits + +#### Statement Capacity vs Usage +- **Metrics:** `capacity_statements` (dashed red line), `statements_total` (solid blue line) +- **What it measures:** Absolute statement count plotted against the configured maximum. +- **Why it matters:** Visual gap between the two lines shows remaining headroom. +- **How to read:** Two lines gap remaining capacity. +- **Problems it solves:** + - Capacity configuration changes took effect after a deployment + +#### Byte Capacity vs Usage +- **Metrics:** `capacity_bytes` (dashed red line), `bytes_total` (solid purple line) +- **What it measures:** Same as above, but for byte-level capacity. + +--- + +## Dashboard 2: Substrate Statement Network + +**UID:** `substrate-statement-network` + +Dashboard covers the gossip/networking layer: peer connectivity, statement propagation, +bandwidth, latency, and network health indicators. + +### Network Overview + +#### Peers Connected (Stat) +- **Metric:** `substrate_sync_statement_peers_connected` +- **Type:** Gauge +- **What it measures:** Current number of peers connected via the statement gossip protocol. +- **Why it matters:** Zero peers means complete isolation: the node cannot send or receive + statements. Low peer counts (<3) mean slow propagation and possible partitioning. +- **How to read:** Single stat. +- **Problems it solves:** + - Detect degraded connectivity: few peers mean slow statement propagation. + +#### Pending Validations (Stat) +- **Metric:** `substrate_sync_pending_statement_validations` +- **Type:** Gauge +- **What it measures:** Number of statements waiting in the validation queue. +- **Why it matters:** metric for the validation pipeline. +- **How to read:** Single stat. +- **Problems it solves:** + - Detect validation bottleneck: if consistently high + +#### Statements Received vs Propagated (Time Series) +- **Metrics:** + - `rate(statements_received)` (blue = received from peers) + - `rate(propagated_statements)` (green = sent to peers) +- **What it measures:** Inbound vs outbound statement rates over time. +- **Why it matters:** Primary indicator of network participation balance: + - **Received β‰ˆ Propagated**: Balanced node. Receiving and forwarding roughly equally. + - **Received >> Propagated**: Mostly consuming. The node may be new or catching up. + - **Propagated >> Received**: Mostly producing. The node is generating more than it receives +- **How to read:** Two-line chart. Mean and max values in the legend table. +- **Problems it solves:** + - Compare network activity across releases to detect propagation regressions. + - Identify nodes that are not propagating (broken outbound path). + +#### Peers Connected Over Time +- **Metric:** `statement_peers_connected` (time series) +- **What it measures:** Peer count connected over time. +- **Why it matters:** Drops indicate network instability for example node restarts +- **How to read:** Line chart with mean/max/last in lgend. Look for step changes and trends. +- **Problems it solves:** + - Detect network partitioning (drop to 0). + - Detect gradual peer loss + +--- + +### Network Throughput & Bandwidth + +#### Network Bandwidth (Statement Protocol) +- **Metrics:** + - `rate(statement_bytes_sent_total)` (orange = bytes sent/sec) + - `rate(statement_bytes_received_total)` (blue = bytes received/sec) +- **Type:** Counter +- **What it measures:** Actual network bandwidth consumed by the statement protocol. +- **Why it matters:** Metric for sizing network requirements. +- **How to read:** Two-line chart in bytes/sec. Compare sent vs received for balance. +- **Problems it solves:** + - Detect bandwidth issues + - Compare bandwidth across releases to measure protocol efficiency improvements + +--- + +### Operation Latency + +Good for performance comparison across releases. Each shows p50/p90/p99 +percentiles, making it easy to spot tail latency regressions. + +#### Submit Latency (Total) +- **Metric:** `substrate_sub_statement_store_submit_duration_seconds` (histogram) +- **Buckets:** 1ΞΌs, 10ΞΌs, 100ΞΌs, 1ms, 10ms, 100ms, 1s +- **What it measures:** Time to submit a statement, including signature verification, + runtime validation, and database write. +- **Why it matters:** This is the single most important latency metric it affects + how fast the node can process incoming statements. If p99 > SLO per sec node will build + up backpressure under load. +- **How to read:** Three lines (green=p50, yellow=p90, red=p99 gap between p50 and p99 shows tail latency. +- **Problems it solves:** + - Detect latency regressions after deployments (compare p50/p90/p99 before and after). + - Identify which sub-operation is slow by comparing with verify/DB write panels. + - Set SLOs: "p99 submit latency < (N)ms". + +#### Statement Send Latency (Percentiles) +- **Metric:** `substrate_sync_statement_sent_latency_seconds` (histogram) +- **Buckets:** 1ΞΌs, 10ΞΌs, 100ΞΌs, 1ms, 10ms, 100ms, 1s +- **What it measures:** Time to send a statement notification to a peer via the network layer. +- **Why it matters:** Measures network-level latenc high values indicate network + congestion, slow peers +- **How to read:** Three lines (p50/p90/p99) +- **Problems it solves:** + - Detect network congestion between specific peers + - Identify slow peers + - Compare send latency across releases to measure protocol improvements + - Set SLOs: "p99 send latency < 2s" + +--- + +### Network Health Indicators + +--- + +### Statement Expiration & Cleanup + +#### Expiration Check Latency +- **Metric:** `substrate_sub_statement_store_check_expiration_duration_seconds` (histogram) +- **Buckets:** 1ΞΌs, 10ΞΌs, 100ΞΌs, 1ms, 10ms, 100ms, 1s +- **What it measures:** Time spent in each expiration check cycle, expiration periodically + scans accounts and marks statements as expired. +- **Why it matters:** Expiration checks run on the main store thread. If they take too long, + they block statement submissions +- **How to read:** Three lines (p50/p90/p99). Should typically be sub-millisec. +- **Problems it solves:** + - Detect expiration performance degradation as the store grows + - Identify if expiration is blocking the submission path + +#### Statements Expiration Rate +- **Metric:** `rate(substrate_sub_statement_store_statements_expired_total[$__rate_interval])` +- **What it measures:** Rate at which statements are expired (marked for later purge). +- **Why it matters:** A sudden spike means many statements expired + at once +- **How to read:** Line chart showing expired/sec. Legend shows mean/max/sum. +- **Problems it solves:** + - Verify that the expirtion system is working + - Detect mass expiration events + +--- + +### Initial Sync + +#### Initial Sync Active Peers +- **Metric:** `substrate_sync_initial_sync_peers_active` +- **Type:** Gauge +- **What it measures:** Number of peers currently being synced via the initial sync burst mechanism +- **Why it matters:** Each active initial sync consumes bandwidth and CPU. Too many concurrent + syncs can starve normal gossip propagation +- **How to read:** Single stat. Green = 0-4, yellow = 5-19, red = 20+. +- **Problems it solves:** + - Detect excessive initial syncs + - Capacity planning for nodes that frequently accept new peers + +#### Initial Sync Statements Sent +- **Metric:** `rate(substrate_sync_initial_sync_statements_sent[$__rate_interval])` +- **Type:** Counter (displayed as rate) +- **What it measures:** Rate of statements sent to peers during initial sync bursts. +- **Why it matters:** High rates indicate many new peers are connecting and receiving full + statement sets. Impacts network bandwidth +- **How to read:** Line chart showing statements/sec. Legend shows mean/max +- **Problems it solves:** + - Help to understand initial sync's share of network traffic + +#### Initial Sync Burst Rate +- **Metric:** `rate(substrate_sync_initial_sync_bursts_total[$__rate_interval])` +- **Type:** Counter (displayed as rate) +- **What it measures:** Rate of initial sync burst rounds being processed. +- **Why it matters:** Each burst sends one batch of statements to one peer (round-robin) + burst rate combined with statements-per-burst gives the effective sync throughput +- **How to read:** Line chart showing bursts/sec. Legend shows mean/max. +- **Problems it solves:** + - Verify that the round-robin distributing work across peers + - Detect stalled initial syncs (burst rate drops to 0 while active peers > 0) + +#### Per-Peer Initial Sync Duration (Percentiles) +- **Metric:** `substrate_sync_initial_sync_duration_seconds` (histogram) +- **Buckets:** 10ms, 50ms, 100ms, 250ms, 500ms, 1s, 2.5s, 5s, 10s, 30s, 60s +- **What it measures:** Total wall-clock time from the first burst to completion of initial + sync for each peer. +- **Why it matters:** Long sync durations mean new peers wait a long time before having + a complete view of the statement store. Threshold: 5s (yellow), 30s (red). +- **How to read:** Three lines (green=p50, yellow=p90, red=p99). +- **Problems it solves:** + - Detect slow initial syncs that delay new peer participation + - Compare sync durations as statement store size grows + - Identify network-level bottlenecks + +--- diff --git a/substrate/client/statement-store/benches/statement_store.rs b/substrate/client/statement-store/benches/statement_store.rs index c369ca3e6d046..8ec77c7924339 100644 --- a/substrate/client/statement-store/benches/statement_store.rs +++ b/substrate/client/statement-store/benches/statement_store.rs @@ -19,10 +19,9 @@ use criterion::{criterion_group, criterion_main, Criterion}; use sc_statement_store::Store; use sp_core::Pair; +use sp_runtime::codec::Encode; use sp_statement_store::{ - runtime_api::{InvalidStatement, ValidStatement, ValidateStatement}, - DecryptionKey, Proof, SignatureVerificationResult, Statement, StatementSource, StatementStore, - SubmitResult, Topic, + DecryptionKey, Statement, StatementSource, StatementStore, SubmitResult, Topic, }; use std::sync::Arc; @@ -43,40 +42,101 @@ const TOTAL_OPS: usize = NUM_THREADS * OPS_PER_THREAD; #[derive(Clone)] struct TestClient; -struct RuntimeApi { - _inner: TestClient, -} +type TestBackend = sc_client_api::in_mem::Backend; -impl sp_api::ProvideRuntimeApi for TestClient { - type Api = RuntimeApi; - fn runtime_api(&self) -> sp_api::ApiRef { - RuntimeApi { _inner: self.clone() }.into() +impl sc_client_api::StorageProvider for TestClient { + fn storage( + &self, + _hash: Hash, + _key: &sc_client_api::StorageKey, + ) -> sp_blockchain::Result> { + Ok(Some(sc_client_api::StorageData((100_000, 1_000_000).encode()))) } -} -sp_api::mock_impl_runtime_apis! { - impl ValidateStatement for RuntimeApi { - fn validate_statement( - _source: StatementSource, - statement: Statement, - ) -> std::result::Result { - match statement.verify_signature() { - SignatureVerificationResult::Valid(_) => - Ok(ValidStatement { max_count: 100_000, max_size: 1_000_000 }), - SignatureVerificationResult::Invalid => Err(InvalidStatement::BadProof), - SignatureVerificationResult::NoSignature => { - if let Some(Proof::OnChain { block_hash, .. }) = statement.proof() { - if block_hash == &CORRECT_BLOCK_HASH { - Ok(ValidStatement { max_count: 100_000, max_size: 1_000_000 }) - } else { - Err(InvalidStatement::BadProof) - } - } else { - Err(InvalidStatement::BadProof) - } - }, - } - } + fn storage_hash( + &self, + _hash: Hash, + _key: &sc_client_api::StorageKey, + ) -> sp_blockchain::Result> { + unimplemented!() + } + + fn storage_keys( + &self, + _hash: Hash, + _prefix: Option<&sc_client_api::StorageKey>, + _start_key: Option<&sc_client_api::StorageKey>, + ) -> sp_blockchain::Result< + sc_client_api::backend::KeysIter< + >::State, + Block, + >, + > { + unimplemented!() + } + + fn storage_pairs( + &self, + _hash: Hash, + _prefix: Option<&sc_client_api::StorageKey>, + _start_key: Option<&sc_client_api::StorageKey>, + ) -> sp_blockchain::Result< + sc_client_api::backend::PairsIter< + >::State, + Block, + >, + > { + unimplemented!() + } + + fn child_storage( + &self, + _hash: Hash, + _child_info: &sc_client_api::ChildInfo, + _key: &sc_client_api::StorageKey, + ) -> sp_blockchain::Result> { + unimplemented!() + } + + fn child_storage_keys( + &self, + _hash: Hash, + _child_info: sc_client_api::ChildInfo, + _prefix: Option<&sc_client_api::StorageKey>, + _start_key: Option<&sc_client_api::StorageKey>, + ) -> sp_blockchain::Result< + sc_client_api::backend::KeysIter< + >::State, + Block, + >, + > { + unimplemented!() + } + + fn child_storage_hash( + &self, + _hash: Hash, + _child_info: &sc_client_api::ChildInfo, + _key: &sc_client_api::StorageKey, + ) -> sp_blockchain::Result> { + unimplemented!() + } + + fn closest_merkle_value( + &self, + _hash: Hash, + _key: &sc_client_api::StorageKey, + ) -> sp_blockchain::Result>> { + unimplemented!() + } + + fn child_closest_merkle_value( + &self, + _hash: Hash, + _child_info: &sc_client_api::ChildInfo, + _key: &sc_client_api::StorageKey, + ) -> sp_blockchain::Result>> { + unimplemented!() } } @@ -108,9 +168,9 @@ impl sp_blockchain::HeaderBackend for TestClient { } fn topic(data: u64) -> Topic { - let mut topic: Topic = Default::default(); - topic[0..8].copy_from_slice(&data.to_le_bytes()); - topic + let mut bytes = [0u8; 32]; + bytes[0..8].copy_from_slice(&data.to_le_bytes()); + Topic::from(bytes) } fn dec_key(data: u64) -> DecryptionKey { @@ -148,7 +208,15 @@ fn setup_store(keypair: &sp_core::ed25519::Pair) -> (Store, tempfile::TempDir) { let mut path: std::path::PathBuf = temp_dir.path().into(); path.push("db"); let keystore = Arc::new(sc_keystore::LocalKeystore::in_memory()); - let store = Store::new(&path, Default::default(), client, keystore, None).unwrap(); + let store = Store::new::( + &path, + Default::default(), + client, + keystore, + None, + Box::new(sp_core::testing::TaskExecutor::new()), + ) + .unwrap(); for i in 0..INITIAL_STATEMENTS { let topics = if i % 10 == 0 { vec![topic(0), topic(1)] } else { vec![] }; diff --git a/substrate/client/statement-store/src/lib.rs b/substrate/client/statement-store/src/lib.rs index 6b4945d4e2553..d7ab83a25780f 100644 --- a/substrate/client/statement-store/src/lib.rs +++ b/substrate/client/statement-store/src/lib.rs @@ -23,8 +23,8 @@ //! //! Constraint management. //! -//! Each time a new statement is inserted into the store, it is first validated with the runtime -//! Validation function computes `global_priority`, 'max_count' and `max_size` for a statement. +//! The statement store validates statements using node-side signature verification and +//! static runtime allowance limits. //! The following constraints are then checked: //! * For a given account id, there may be at most `max_count` statements with `max_size` total data //! size. To satisfy this, statements for this account ID are removed from the store starting with @@ -48,28 +48,33 @@ #![warn(unused_extern_crates)] mod metrics; +mod subscription; -pub use sp_statement_store::{Error, StatementStore, MAX_TOPICS}; - +use crate::subscription::{SubscriptionStatementsStream, SubscriptionsHandle}; +use futures::FutureExt; use metrics::MetricsLink as PrometheusMetrics; -use parking_lot::RwLock; +use parking_lot::{lock_api::RwLockUpgradableReadGuard, RwLock}; use prometheus_endpoint::Registry as PrometheusRegistry; +use sc_client_api::{backend::StorageProvider, Backend, StorageKey}; use sc_keystore::LocalKeystore; -use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; -use sp_core::{crypto::UncheckedFrom, hexdisplay::HexDisplay, traits::SpawnNamed, Decode, Encode}; +use sp_core::{ + crypto::UncheckedFrom, hexdisplay::HexDisplay, traits::SpawnNamed, Bytes, Decode, Encode, +}; use sp_runtime::traits::Block as BlockT; use sp_statement_store::{ - runtime_api::{ - InvalidStatement, StatementSource, StatementStoreExt, ValidStatement, ValidateStatement, - }, - AccountId, BlockHash, Channel, DecryptionKey, Hash, InvalidReason, Proof, RejectionReason, - Result, Statement, SubmitResult, Topic, + runtime_api::{StatementSource, StatementStoreExt}, + AccountId, BlockHash, Channel, DecryptionKey, FilterDecision, Hash, InvalidReason, + OptimizedTopicFilter, Proof, RejectionReason, Result, SignatureVerificationResult, Statement, + StatementAllowance, SubmitResult, Topic, }; +pub use sp_statement_store::{Error, StatementStore, MAX_TOPICS}; use std::{ collections::{BTreeMap, HashMap, HashSet}, sync::Arc, + time::{Duration, Instant}, }; +pub use subscription::StatementStoreSubscriptionApi; const KEY_VERSION: &[u8] = b"version".as_slice(); const CURRENT_VERSION: u32 = 1; @@ -77,7 +82,7 @@ const CURRENT_VERSION: u32 = 1; const LOG_TARGET: &str = "statement-store"; /// The amount of time an expired statement is kept before it is removed from the store entirely. -pub const DEFAULT_PURGE_AFTER_SEC: u64 = 2 * 24 * 60 * 60; //48h +pub const DEFAULT_PURGE_AFTER_SEC: u64 = 2 * 24 * 60 * 60; // 48h /// The maximum number of statements the statement store can hold. pub const DEFAULT_MAX_TOTAL_STATEMENTS: usize = 4 * 1024 * 1024; // ~4 million /// The maximum amount of data the statement store can hold, regardless of the number of @@ -88,8 +93,22 @@ pub const DEFAULT_MAX_TOTAL_SIZE: usize = 2 * 1024 * 1024 * 1024; // 2GiB pub const MAX_STATEMENT_SIZE: usize = sc_network_statement::config::MAX_STATEMENT_NOTIFICATION_SIZE as usize - 1; +/// Maximum number of statements to expire in a single iteration. +const MAX_EXPIRY_STATEMENTS_PER_ITERATION: usize = 10_000; +/// Maximum number of accounts to check for expiry in a single iteration. +const MAX_EXPIRY_ACCOUNTS_PER_ITERATION: usize = 10_000; +/// Maximum time in milliseconds to spend checking for expiry in a single iteration. +const MAX_EXPIRY_TIME_PER_ITERATION: Duration = Duration::from_millis(100); + +/// Number of subscription filter worker tasks. +const NUM_FILTER_WORKERS: usize = 1; + const MAINTENANCE_PERIOD: std::time::Duration = std::time::Duration::from_secs(30); +// Period between checking for expired statements. Different from maintenance period to avoid +// keeping the lock for too long for maintenance tasks. +const CHECK_EXPIRATION_PERIOD: std::time::Duration = std::time::Duration::from_secs(33); + mod col { pub const META: u8 = 0; pub const STATEMENTS: u8 = 1; @@ -99,12 +118,12 @@ mod col { } #[derive(Eq, PartialEq, Debug, Ord, PartialOrd, Clone, Copy)] -struct Priority(u32); +struct Expiry(u64); #[derive(PartialEq, Eq)] struct PriorityKey { hash: Hash, - priority: Priority, + expiry: Expiry, } impl PartialOrd for PriorityKey { @@ -115,14 +134,14 @@ impl PartialOrd for PriorityKey { impl Ord for PriorityKey { fn cmp(&self, other: &Self) -> std::cmp::Ordering { - self.priority.cmp(&other.priority).then_with(|| self.hash.cmp(&other.hash)) + self.expiry.cmp(&other.expiry).then_with(|| self.hash.cmp(&other.hash)) } } #[derive(PartialEq, Eq)] struct ChannelEntry { hash: Hash, - priority: Priority, + expiry: Expiry, } #[derive(Default)] @@ -163,38 +182,45 @@ struct Index { by_topic: HashMap>, by_dec_key: HashMap, HashSet>, topics_and_keys: HashMap; MAX_TOPICS], Option)>, - entries: HashMap, + entries: HashMap, expired: HashMap, // Value is expiration timestamp. accounts: HashMap, + accounts_to_check_for_expiry_stmts: Vec, options: Options, total_size: usize, } -struct ClientWrapper { +struct ClientWrapper { client: Arc, _block: std::marker::PhantomData, + _backend: std::marker::PhantomData, } -impl ClientWrapper +impl ClientWrapper where Block: BlockT, Block::Hash: From, - Client: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, - Client::Api: ValidateStatement, + BE: Backend + 'static, + Client: HeaderBackend + StorageProvider + Send + Sync + 'static, { - fn validate_statement( + fn read_allowance( &self, - block: Option, - source: StatementSource, - statement: Statement, - ) -> std::result::Result { - let api = self.client.runtime_api(); - let block = block.map(Into::into).unwrap_or_else(|| { - // Validate against the finalized state. - self.client.info().finalized_hash - }); - api.validate_statement(block, source, statement) - .map_err(|_| InvalidStatement::InternalError)? + account_id: &AccountId, + block_hash: Option, + ) -> Result> { + use sp_statement_store::{statement_allowance_key, StatementAllowance}; + + let block_hash = block_hash.unwrap_or(self.client.info().finalized_hash); + let key = statement_allowance_key(account_id); + let storage_key = StorageKey(key); + self.client + .storage(block_hash, &storage_key) + .map_err(|e| Error::Storage(format!("Failed to read allowance: {:?}", e)))? + .map(|value| { + StatementAllowance::decode(&mut &value.0[..]) + .map_err(|e| Error::Decode(format!("Failed to decode allowance: {:?}", e))) + }) + .transpose() } } @@ -202,15 +228,10 @@ where pub struct Store { db: parity_db::Db, index: RwLock, - validate_fn: Box< - dyn Fn( - Option, - StatementSource, - Statement, - ) -> std::result::Result - + Send - + Sync, + read_allowance_fn: Box< + dyn Fn(&AccountId, Option) -> Result> + Send + Sync, >, + subscription_manager: SubscriptionsHandle, keystore: Arc, // Used for testing time_override: Option, @@ -241,26 +262,26 @@ impl Index { if nt > 0 || key.is_some() { self.topics_and_keys.insert(hash, (all_topics, key)); } - let priority = Priority(statement.priority().unwrap_or(0)); - self.entries.insert(hash, (account, priority, statement.data_len())); + let expiry = Expiry(statement.expiry()); + self.entries.insert(hash, (account, expiry, statement.data_len())); self.recent.insert(hash); self.total_size += statement.data_len(); let account_info = self.accounts.entry(account).or_default(); account_info.data_size += statement.data_len(); if let Some(channel) = statement.channel() { - account_info.channels.insert(channel, ChannelEntry { hash, priority }); + account_info.channels.insert(channel, ChannelEntry { hash, expiry }); } account_info .by_priority - .insert(PriorityKey { hash, priority }, (statement.channel(), statement.data_len())); + .insert(PriorityKey { hash, expiry }, (statement.channel(), statement.data_len())); } fn query(&self, hash: &Hash) -> IndexQuery { if self.entries.contains_key(hash) { - return IndexQuery::Exists + return IndexQuery::Exists; } if self.expired.contains_key(hash) { - return IndexQuery::Expired + return IndexQuery::Expired; } IndexQuery::Unknown } @@ -272,29 +293,91 @@ impl Index { fn iterate_with( &self, key: Option, - match_all_topics: &[Topic], + topic: &OptimizedTopicFilter, + f: impl FnMut(&Hash) -> Result<()>, + ) -> Result<()> { + match topic { + OptimizedTopicFilter::Any => self.iterate_with_any(key, f), + OptimizedTopicFilter::MatchAll(topics) => { + self.iterate_with_match_all(key, topics.iter(), f) + }, + OptimizedTopicFilter::MatchAny(topics) => { + self.iterate_with_match_any(key, topics.iter(), f) + }, + } + } + + fn iterate_with_match_any<'a>( + &self, + key: Option, + match_any_topics: impl ExactSizeIterator, + mut f: impl FnMut(&Hash) -> Result<()>, + ) -> Result<()> { + let Some(key_set) = self.by_dec_key.get(&key).filter(|k| !k.is_empty()) else { + return Ok(()); + }; + + for t in match_any_topics { + let set = self.by_topic.get(t); + + for item in set.iter().flat_map(|set| set.iter()) { + if key_set.contains(item) { + log::trace!( + target: LOG_TARGET, + "Iterating by topic/key: statement {:?}", + HexDisplay::from(item) + ); + f(item)? + } + } + } + Ok(()) + } + + fn iterate_with_any( + &self, + key: Option, + mut f: impl FnMut(&Hash) -> Result<()>, + ) -> Result<()> { + let key_set = self.by_dec_key.get(&key); + if key_set.map_or(true, |s| s.is_empty()) { + // Key does not exist in the index. + return Ok(()); + } + + for item in key_set.map(|hashes| hashes.iter()).into_iter().flatten() { + f(item)? + } + Ok(()) + } + + fn iterate_with_match_all<'a>( + &self, + key: Option, + match_all_topics: impl ExactSizeIterator, mut f: impl FnMut(&Hash) -> Result<()>, ) -> Result<()> { let empty = HashSet::new(); let mut sets: [&HashSet; MAX_TOPICS + 1] = [∅ MAX_TOPICS + 1]; - if match_all_topics.len() > MAX_TOPICS { - return Ok(()) + let num_topics = match_all_topics.len(); + if num_topics > MAX_TOPICS { + return Ok(()); } let key_set = self.by_dec_key.get(&key); - if key_set.map_or(0, |s| s.len()) == 0 { + if key_set.map_or(true, |s| s.is_empty()) { // Key does not exist in the index. - return Ok(()) + return Ok(()); } sets[0] = key_set.expect("Function returns if key_set is None"); - for (i, t) in match_all_topics.iter().enumerate() { + for (i, t) in match_all_topics.enumerate() { let set = self.by_topic.get(t); if set.map_or(0, |s| s.len()) == 0 { // At least one of the match_all_topics does not exist in the index. - return Ok(()) + return Ok(()); } sets[i + 1] = set.expect("Function returns if set is None"); } - let sets = &mut sets[0..match_all_topics.len() + 1]; + let sets = &mut sets[0..num_topics + 1]; // Start with the smallest topic set or the key set. sets.sort_by_key(|s| s.len()); for item in sets[0] { @@ -330,7 +413,7 @@ impl Index { } fn make_expired(&mut self, hash: &Hash, current_time: u64) -> bool { - if let Some((account, priority, len)) = self.entries.remove(hash) { + if let Some((account, expiry, len)) = self.entries.remove(hash) { self.total_size -= len; if let Some((topics, key)) = self.topics_and_keys.remove(hash) { for t in topics.into_iter().flatten() { @@ -357,7 +440,7 @@ impl Index { if let std::collections::hash_map::Entry::Occupied(mut account_rec) = self.accounts.entry(account) { - let key = PriorityKey { hash: *hash, priority }; + let key = PriorityKey { hash: *hash, expiry }; if let Some((channel, len)) = account_rec.get_mut().by_priority.remove(&key) { account_rec.get_mut().data_size -= len; if let Some(channel) = channel { @@ -380,7 +463,7 @@ impl Index { hash: Hash, statement: &Statement, account: &AccountId, - validation: &ValidStatement, + validation: &StatementAllowance, current_time: u64, ) -> std::result::Result, RejectionReason> { let statement_len = statement.data_len(); @@ -399,7 +482,7 @@ impl Index { let mut evicted = HashSet::new(); let mut would_free_size = 0; - let priority = Priority(statement.priority().unwrap_or(0)); + let expiry = Expiry(statement.expiry()); let (max_size, max_count) = (validation.max_size as usize, validation.max_count as usize); // It may happen that we can't delete enough lower priority messages // to satisfy size constraints. We check for that before deleting anything, @@ -407,18 +490,18 @@ impl Index { if let Some(account_rec) = self.accounts.get(account) { if let Some(channel) = statement.channel() { if let Some(channel_record) = account_rec.channels.get(&channel) { - if priority <= channel_record.priority { - // Trying to replace channel message with lower priority + if expiry <= channel_record.expiry { + // Trying to replace channel message with lower expiry. log::debug!( target: LOG_TARGET, "Ignored lower priority channel message: {:?} {:?} <= {:?}", HexDisplay::from(&hash), - priority, - channel_record.priority, + expiry, + channel_record.expiry, ); return Err(RejectionReason::ChannelPriorityTooLow { - submitted_priority: priority.0, - min_priority: channel_record.priority.0, + submitted_expiry: expiry.0, + min_expiry: channel_record.expiry.0, }); } else { // Would replace channel message. Still need to check for size constraints @@ -427,13 +510,13 @@ impl Index { target: LOG_TARGET, "Replacing higher priority channel message: {:?} ({:?}) > {:?} ({:?})", HexDisplay::from(&hash), - priority, + expiry, HexDisplay::from(&channel_record.hash), - channel_record.priority, + channel_record.expiry, ); let key = PriorityKey { hash: channel_record.hash, - priority: channel_record.priority, + expiry: channel_record.expiry, }; if let Some((_channel, len)) = account_rec.by_priority.get(&key) { would_free_size += *len; @@ -448,23 +531,23 @@ impl Index { account_rec.by_priority.len() + 1 - evicted.len() <= max_count { // Satisfied - break + break; } if evicted.contains(&entry.hash) { // Already accounted for above - continue + continue; } - if entry.priority >= priority { + if entry.expiry >= expiry { log::debug!( target: LOG_TARGET, "Ignored message due to constraints {:?} {:?} < {:?}", HexDisplay::from(&hash), - priority, - entry.priority, + expiry, + entry.expiry, ); return Err(RejectionReason::AccountFull { - submitted_priority: priority.0, - min_priority: entry.priority.0, + submitted_expiry: expiry.0, + min_expiry: entry.expiry.0, }); } evicted.insert(entry.hash); @@ -496,21 +579,22 @@ impl Index { impl Store { /// Create a new shared store instance. There should only be one per process. /// `path` will be used to open a statement database or create a new one if it does not exist. - pub fn new_shared( + pub fn new_shared( path: &std::path::Path, options: Options, client: Arc, keystore: Arc, prometheus: Option<&PrometheusRegistry>, - task_spawner: &dyn SpawnNamed, + task_spawner: Box, ) -> Result> where Block: BlockT, Block::Hash: From, - Client: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, - Client::Api: ValidateStatement, + BE: Backend + 'static, + Client: HeaderBackend + StorageProvider + Send + Sync + 'static, { - let store = Arc::new(Self::new(path, options, client, keystore, prometheus)?); + let store = + Arc::new(Self::new(path, options, client, keystore, prometheus, task_spawner.clone())?); // Perform periodic statement store maintenance let worker_store = store.clone(); @@ -518,10 +602,13 @@ impl Store { "statement-store-maintenance", Some("statement-store"), Box::pin(async move { - let mut interval = tokio::time::interval(MAINTENANCE_PERIOD); + let mut maintenance_interval = tokio::time::interval(MAINTENANCE_PERIOD); + let mut check_expiration_interval = tokio::time::interval(CHECK_EXPIRATION_PERIOD); loop { - interval.tick().await; - worker_store.maintain(); + futures::select! { + _ = maintenance_interval.tick().fuse() => {worker_store.maintain();} + _ = check_expiration_interval.tick().fuse() => {worker_store.check_expiration();} + } } }), ); @@ -532,18 +619,19 @@ impl Store { /// Create a new instance. /// `path` will be used to open a statement database or create a new one if it does not exist. #[doc(hidden)] - pub fn new( + pub fn new( path: &std::path::Path, options: Options, client: Arc, keystore: Arc, prometheus: Option<&PrometheusRegistry>, + task_spawner: Box, ) -> Result where Block: BlockT, Block::Hash: From, - Client: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, - Client::Api: ValidateStatement, + BE: Backend + 'static, + Client: HeaderBackend + StorageProvider + Send + Sync + 'static, { let mut path: std::path::PathBuf = path.into(); path.push("statements"); @@ -563,7 +651,7 @@ impl Store { .map_err(|_| Error::Db("Error reading database version".into()))?, ); if version != CURRENT_VERSION { - return Err(Error::Db(format!("Unsupported database version: {version}"))) + return Err(Error::Db(format!("Unsupported database version: {version}"))); } }, None => { @@ -576,18 +664,24 @@ impl Store { }, } - let validator = ClientWrapper { client, _block: Default::default() }; - let validate_fn = Box::new(move |block, source, statement| { - validator.validate_statement(block, source, statement) - }); + let storage_reader = + ClientWrapper { client, _block: Default::default(), _backend: Default::default() }; + let read_allowance_fn = + Box::new(move |account_id: &AccountId, block_hash: Option| { + storage_reader.read_allowance(account_id, block_hash.map(Into::into)) + }); let store = Store { db, index: RwLock::new(Index::new(options)), - validate_fn, + read_allowance_fn, keystore, time_override: None, metrics: PrometheusMetrics::new(prometheus), + subscription_manager: SubscriptionsHandle::new( + task_spawner.clone(), + NUM_FILTER_WORKERS, + ), }; store.populate()?; Ok(store) @@ -645,15 +739,15 @@ impl Store { Ok(()) } - fn collect_statements( + fn collect_statements_locked( &self, key: Option, - match_all_topics: &[Topic], + topic_filter: &OptimizedTopicFilter, + index: &Index, + result: &mut Vec, mut f: impl FnMut(Statement) -> Option, - ) -> Result> { - let mut result = Vec::new(); - let index = self.index.read(); - index.iterate_with(key, match_all_topics, |hash| { + ) -> Result<()> { + index.iterate_with(key, topic_filter, |hash| { match self.db.get(col::STATEMENTS, hash).map_err(|e| Error::Db(e.to_string()))? { Some(entry) => { if let Ok(statement) = Statement::decode(&mut entry.as_slice()) { @@ -680,16 +774,139 @@ impl Store { } Ok(()) })?; + Ok(()) + } + + fn collect_statements( + &self, + key: Option, + topic_filter: &OptimizedTopicFilter, + f: impl FnMut(Statement) -> Option, + ) -> Result> { + let mut result = Vec::new(); + let index = self.index.read(); + self.collect_statements_locked(key, topic_filter, &index, &mut result, f)?; Ok(result) } + // Checks for expired statements and marks them as expired in the index. + // + // This function performs incremental expiration checking to avoid blocking the store + // for too long. It processes accounts in batches and stops when any of these limits + // are reached: + // - `MAX_EXPIRY_STATEMENTS_PER_ITERATION` statements found to expire + // - `MAX_EXPIRY_ACCOUNTS_PER_ITERATION` accounts checked + // - `MAX_EXPIRY_TIME_MS_PER_ITERATION` milliseconds elapsed + // + // The function maintains a list of accounts to check (`accounts_to_check_for_expiry_stmts`). + // When this list is empty, it repopulates it with all current accounts and returns early, + // deferring the actual expiration check to the next call. This ensures the expiration + // process eventually covers all accounts across multiple invocations. + // + // Statements are considered expired when their priority (which encodes the expiration + // timestamp in the upper 32 bits) is less than the current timestamp. + fn check_expiration(&self) { + let _start_check_expiration_timer = self.metrics.start_check_expiration_timer(); + let current_time = self.timestamp(); + + let (needs_expiry, num_accounts_checked) = { + let index = self.index.upgradable_read(); + if index.accounts_to_check_for_expiry_stmts.is_empty() { + let existing_accounts = index.accounts.keys().cloned().collect::>(); + let mut index = RwLockUpgradableReadGuard::upgrade(index); + index.accounts_to_check_for_expiry_stmts = existing_accounts; + return; + } + + let mut needs_expiry = Vec::new(); + let mut num_accounts_checked = 0; + let start = Instant::now(); + + for account in index.accounts_to_check_for_expiry_stmts.iter().rev() { + num_accounts_checked += 1; + if let Some(account_rec) = index.accounts.get(account) { + needs_expiry.extend( + account_rec + .by_priority + .range( + PriorityKey { hash: Hash::default(), expiry: Expiry(0) }.. + PriorityKey { + hash: Hash::default(), + expiry: Expiry(current_time << 32), + }, + ) + .map(|key| key.0.hash), + ); + } + + if needs_expiry.len() >= MAX_EXPIRY_STATEMENTS_PER_ITERATION || + num_accounts_checked >= MAX_EXPIRY_ACCOUNTS_PER_ITERATION || + start.elapsed() >= MAX_EXPIRY_TIME_PER_ITERATION + { + break; + } + } + + (needs_expiry, num_accounts_checked) + }; + + let mut expired = 0; + + for hash in needs_expiry { + if let Err(e) = self.remove(&hash) { + log::debug!( + target: LOG_TARGET, + "Error marking statement {:?} as expired: {:?}", + HexDisplay::from(&hash), + e + ); + } else { + expired += 1; + log::trace!( + target: LOG_TARGET, + "Marked statement {:?} as expired", + HexDisplay::from(&hash) + ); + } + } + + let mut index = self.index.write(); + let new_len = index + .accounts_to_check_for_expiry_stmts + .len() + .saturating_sub(num_accounts_checked); + index.accounts_to_check_for_expiry_stmts.truncate(new_len); + + drop(_start_check_expiration_timer); + + self.metrics.report(|metrics| { + metrics.statements_expired_total.inc_by(expired); + }); + } + /// Perform periodic store maintenance pub fn maintain(&self) { log::trace!(target: LOG_TARGET, "Started store maintenance"); - let (deleted, active_count, expired_count): (Vec<_>, usize, usize) = { + let ( + deleted, + active_count, + expired_count, + total_size, + accounts_count, + capacity_statements, + capacity_bytes, + ): (Vec<_>, usize, usize, usize, usize, usize, usize) = { let mut index = self.index.write(); let deleted = index.maintain(self.timestamp()); - (deleted, index.entries.len(), index.expired.len()) + ( + deleted, + index.entries.len(), + index.expired.len(), + index.total_size, + index.accounts.len(), + index.options.max_total_statements, + index.options.max_total_size, + ) }; let deleted: Vec<_> = deleted.into_iter().map(|hash| (col::EXPIRED, hash.to_vec(), None)).collect(); @@ -699,6 +916,16 @@ impl Store { } else { self.metrics.report(|metrics| metrics.statements_pruned.inc_by(deleted_count)); } + + self.metrics.report(|metrics| { + metrics.statements_total.set(active_count as u64); + metrics.bytes_total.set(total_size as u64); + metrics.accounts_total.set(accounts_count as u64); + metrics.expired_total.set(expired_count as u64); + metrics.capacity_statements.set(capacity_statements as u64); + metrics.capacity_bytes.set(capacity_bytes as u64); + }); + log::trace!( target: LOG_TARGET, "Completed store maintenance. Purged: {}, Active: {}, Expired: {}", @@ -736,45 +963,49 @@ impl Store { // Map the statement and the decrypted data to the desired result. mut map_f: impl FnMut(Statement, Vec) -> R, ) -> Result> { - self.collect_statements(Some(dest), match_all_topics, |statement| { - if let (Some(key), Some(_)) = (statement.decryption_key(), statement.data()) { - let public: sp_core::ed25519::Public = UncheckedFrom::unchecked_from(key); - let public: sp_statement_store::ed25519::Public = public.into(); - match self.keystore.key_pair::(&public) { - Err(e) => { - log::debug!( - target: LOG_TARGET, - "Keystore error: {:?}, for statement {:?}", - e, - HexDisplay::from(&statement.hash()) - ); - None - }, - Ok(None) => { - log::debug!( - target: LOG_TARGET, - "Keystore is missing key for statement {:?}", - HexDisplay::from(&statement.hash()) - ); - None - }, - Ok(Some(pair)) => match statement.decrypt_private(&pair.into_inner()) { - Ok(r) => r.map(|data| map_f(statement, data)), + self.collect_statements( + Some(dest), + &OptimizedTopicFilter::MatchAll(match_all_topics.iter().cloned().collect()), + |statement| { + if let (Some(key), Some(_)) = (statement.decryption_key(), statement.data()) { + let public: sp_core::ed25519::Public = UncheckedFrom::unchecked_from(key); + let public: sp_statement_store::ed25519::Public = public.into(); + match self.keystore.key_pair::(&public) { Err(e) => { log::debug!( target: LOG_TARGET, - "Decryption error: {:?}, for statement {:?}", + "Keystore error: {:?}, for statement {:?}", e, HexDisplay::from(&statement.hash()) ); None }, - }, + Ok(None) => { + log::debug!( + target: LOG_TARGET, + "Keystore is missing key for statement {:?}", + HexDisplay::from(&statement.hash()) + ); + None + }, + Ok(Some(pair)) => match statement.decrypt_private(&pair.into_inner()) { + Ok(r) => r.map(|data| map_f(statement, data)), + Err(e) => { + log::debug!( + target: LOG_TARGET, + "Decryption error: {:?}, for statement {:?}", + e, + HexDisplay::from(&statement.hash()) + ); + None + }, + }, + } + } else { + None } - } else { - None - } - }) + }, + ) } } @@ -787,7 +1018,7 @@ impl StatementStore for Store { let Some(encoded) = self.db.get(col::STATEMENTS, &hash).map_err(|e| Error::Db(e.to_string()))? else { - continue + continue; }; if let Ok(statement) = Statement::decode(&mut encoded.as_slice()) { result.push((hash, statement)); @@ -804,7 +1035,7 @@ impl StatementStore for Store { let Some(encoded) = self.db.get(col::STATEMENTS, &hash).map_err(|e| Error::Db(e.to_string()))? else { - continue + continue; }; if let Ok(statement) = Statement::decode(&mut encoded.as_slice()) { result.push((hash, statement)); @@ -848,17 +1079,60 @@ impl StatementStore for Store { self.index.read().entries.contains_key(hash) } + fn statement_hashes(&self) -> Vec { + self.index.read().entries.keys().cloned().collect() + } + + fn statements_by_hashes( + &self, + hashes: &[Hash], + filter: &mut dyn FnMut(&Hash, &[u8], &Statement) -> FilterDecision, + ) -> Result<(Vec<(Hash, Statement)>, usize)> { + let mut result = Vec::new(); + let mut processed = 0; + for hash in hashes { + processed += 1; + let Some(encoded) = + self.db.get(col::STATEMENTS, hash).map_err(|e| Error::Db(e.to_string()))? + else { + continue; + }; + let Ok(statement) = Statement::decode(&mut encoded.as_slice()) else { continue }; + match filter(hash, &encoded, &statement) { + FilterDecision::Skip => {}, + FilterDecision::Take => { + result.push((*hash, statement)); + }, + FilterDecision::Abort => { + // We did not process it :) + processed -= 1; + break; + }, + } + } + + Ok((result, processed)) + } + /// Return the data of all known statements which include all topics and have no `DecryptionKey` /// field. fn broadcasts(&self, match_all_topics: &[Topic]) -> Result>> { - self.collect_statements(None, match_all_topics, |statement| statement.into_data()) + self.collect_statements( + None, + &OptimizedTopicFilter::MatchAll(match_all_topics.iter().cloned().collect()), + |statement| statement.into_data(), + ) } /// Return the data of all known statements whose decryption key is identified as `dest` (this /// will generally be the public key or a hash thereof for symmetric ciphers, or a hash of the /// private key for symmetric ciphers). fn posted(&self, match_all_topics: &[Topic], dest: [u8; 32]) -> Result>> { - self.collect_statements(Some(dest), match_all_topics, |statement| statement.into_data()) + self.collect_statements( + Some(dest), + &OptimizedTopicFilter::MatchAll(match_all_topics.iter().cloned().collect()), + |statement| statement.into_data(), + ) } /// Return the decrypted data of all known statements whose decryption key is identified as @@ -870,14 +1144,22 @@ impl StatementStore for Store { /// Return all known statements which include all topics and have no `DecryptionKey` /// field. fn broadcasts_stmt(&self, match_all_topics: &[Topic]) -> Result>> { - self.collect_statements(None, match_all_topics, |statement| Some(statement.encode())) + self.collect_statements( + None, + &OptimizedTopicFilter::MatchAll(match_all_topics.iter().cloned().collect()), + |statement| Some(statement.encode()), + ) } /// Return all known statements whose decryption key is identified as `dest` (this /// will generally be the public key or a hash thereof for symmetric ciphers, or a hash of the /// private key for symmetric ciphers). fn posted_stmt(&self, match_all_topics: &[Topic], dest: [u8; 32]) -> Result>> { - self.collect_statements(Some(dest), match_all_topics, |statement| Some(statement.encode())) + self.collect_statements( + Some(dest), + &OptimizedTopicFilter::MatchAll(match_all_topics.iter().cloned().collect()), + |statement| Some(statement.encode()), + ) } /// Return the statement and the decrypted data of all known statements whose decryption key is @@ -897,7 +1179,18 @@ impl StatementStore for Store { /// Submit a statement to the store. Validates the statement and returns validation result. fn submit(&self, statement: Statement, source: StatementSource) -> SubmitResult { + let _histogram_submit_start_timer = self.metrics.start_submit_timer(); let hash = statement.hash(); + // Get unix timestamp + if self.timestamp() >= statement.get_expiration_timestamp_secs().into() { + log::debug!( + target: LOG_TARGET, + "Statement is already expired: {:?}", + HexDisplay::from(&hash), + ); + self.metrics.report(|metrics| metrics.validations_invalid.inc()); + return SubmitResult::Invalid(InvalidReason::AlreadyExpired); + } let encoded_size = statement.encoded_size(); if encoded_size > MAX_STATEMENT_SIZE { log::debug!( @@ -907,6 +1200,7 @@ impl StatementStore for Store { statement.encoded_size(), MAX_STATEMENT_SIZE ); + self.metrics.report(|metrics| metrics.validations_invalid.inc()); return SubmitResult::Invalid(InvalidReason::EncodingTooLarge { submitted_size: encoded_size, max_size: MAX_STATEMENT_SIZE, @@ -914,14 +1208,16 @@ impl StatementStore for Store { } match self.index.read().query(&hash) { - IndexQuery::Expired => + IndexQuery::Expired => { if !source.can_be_resubmitted() { - return SubmitResult::KnownExpired - }, - IndexQuery::Exists => + return SubmitResult::KnownExpired; + } + }, + IndexQuery::Exists => { if !source.can_be_resubmitted() { - return SubmitResult::Known - }, + return SubmitResult::Known; + } + }, IndexQuery::Unknown => {}, } @@ -935,16 +1231,9 @@ impl StatementStore for Store { return SubmitResult::Invalid(InvalidReason::NoProof); }; - // Validate. - let at_block = if let Some(Proof::OnChain { block_hash, .. }) = statement.proof() { - Some(*block_hash) - } else { - None - }; - let validation_result = (self.validate_fn)(at_block, source, statement.clone()); - let validation = match validation_result { - Ok(validation) => validation, - Err(InvalidStatement::BadProof) => { + match statement.verify_signature() { + SignatureVerificationResult::Valid(_) => {}, + SignatureVerificationResult::Invalid => { log::debug!( target: LOG_TARGET, "Statement validation failed: BadProof, {:?}", @@ -953,17 +1242,49 @@ impl StatementStore for Store { self.metrics.report(|metrics| metrics.validations_invalid.inc()); return SubmitResult::Invalid(InvalidReason::BadProof); }, - Err(InvalidStatement::NoProof) => { + SignatureVerificationResult::NoSignature => { + if let Some(Proof::OnChain { .. }) = statement.proof() { + log::debug!( + target: LOG_TARGET, + "Statement with OnChain proof accepted: {:?}", + HexDisplay::from(&hash), + ); + } else { + log::debug!( + target: LOG_TARGET, + "Statement validation failed: NoProof, {:?}", + HexDisplay::from(&hash), + ); + self.metrics.report(|metrics| metrics.validations_invalid.inc()); + return SubmitResult::Invalid(InvalidReason::NoProof); + } + }, + }; + + let validation = match (self.read_allowance_fn)( + &account_id, + statement.proof().and_then(|p| match p { + Proof::OnChain { block_hash, .. } => Some(*block_hash), + _ => None, + }), + ) { + Ok(Some(allowance)) => allowance, + Ok(None) => { log::debug!( target: LOG_TARGET, - "Statement validation failed: NoProof, {:?}", - HexDisplay::from(&hash), + "Account {} has no statement allowance set", + HexDisplay::from(&account_id), ); - self.metrics.report(|metrics| metrics.validations_invalid.inc()); - return SubmitResult::Invalid(InvalidReason::NoProof); + return SubmitResult::Rejected(RejectionReason::NoAllowance); + }, + Err(e) => { + log::debug!( + target: LOG_TARGET, + "Reading statement allowance for account {} failed", + HexDisplay::from(&account_id), + ); + return SubmitResult::InternalError(e); }, - Err(InvalidStatement::InternalError) => - return SubmitResult::InternalError(Error::Runtime), }; let current_time = self.timestamp(); @@ -974,7 +1295,12 @@ impl StatementStore for Store { let evicted = match index.insert(hash, &statement, &account_id, &validation, current_time) { Ok(evicted) => evicted, - Err(reason) => return SubmitResult::Rejected(reason), + Err(reason) => { + self.metrics.report(|metrics| { + metrics.rejections.with_label_values(&[reason.label()]).inc(); + }); + return SubmitResult::Rejected(reason); + }, }; commit.push((col::STATEMENTS, hash.to_vec(), Some(statement.encode()))); @@ -989,8 +1315,9 @@ impl StatementStore for Store { e, statement ); - return SubmitResult::InternalError(Error::Db(e.to_string())) + return SubmitResult::InternalError(Error::Db(e.to_string())); } + self.subscription_manager.notify(statement); } // Release index lock self.metrics.report(|metrics| metrics.submitted_statements.inc()); log::trace!(target: LOG_TARGET, "Statement submitted: {:?}", HexDisplay::from(&hash)); @@ -1014,7 +1341,7 @@ impl StatementStore for Store { e, HexDisplay::from(hash), ); - return Err(Error::Db(e.to_string())) + return Err(Error::Db(e.to_string())); } } } @@ -1049,15 +1376,36 @@ impl StatementStore for Store { } } +impl StatementStoreSubscriptionApi for Store { + fn subscribe_statement( + &self, + topic_filter: OptimizedTopicFilter, + ) -> Result<(Vec>, async_channel::Sender, SubscriptionStatementsStream)> { + // Keep the index read lock until after we have subscribed to avoid missing statements. + let mut existing_statements = Vec::new(); + let index = self.index.read(); + self.collect_statements_locked( + None, + &topic_filter, + &index, + &mut existing_statements, + |statement| Some(statement.encode()), + )?; + let (subscription_sender, subscription_stream) = + self.subscription_manager.subscribe(topic_filter); + Ok((existing_statements, subscription_sender, subscription_stream)) + } +} + #[cfg(test)] mod tests { - use crate::Store; + + use crate::{col, Store}; use sc_keystore::Keystore; use sp_core::{Decode, Encode, Pair}; use sp_statement_store::{ - runtime_api::{InvalidStatement, ValidStatement, ValidateStatement}, - AccountId, Channel, DecryptionKey, Proof, SignatureVerificationResult, Statement, - StatementSource, StatementStore, SubmitResult, Topic, + AccountId, Channel, DecryptionKey, InvalidReason, Proof, Statement, StatementSource, + StatementStore, SubmitResult, Topic, }; type Extrinsic = sp_runtime::OpaqueExtrinsic; @@ -1072,48 +1420,116 @@ mod tests { #[derive(Clone)] pub(crate) struct TestClient; - pub(crate) struct RuntimeApi { - _inner: TestClient, - } - - impl sp_api::ProvideRuntimeApi for TestClient { - type Api = RuntimeApi; - fn runtime_api(&self) -> sp_api::ApiRef<'_, Self::Api> { - RuntimeApi { _inner: self.clone() }.into() - } - } - - sp_api::mock_impl_runtime_apis! { - impl ValidateStatement for RuntimeApi { - fn validate_statement( - _source: StatementSource, - statement: Statement, - ) -> std::result::Result { - use crate::tests::account; - match statement.verify_signature() { - SignatureVerificationResult::Valid(_) => Ok(ValidStatement{max_count: 100, max_size: 1000}), - SignatureVerificationResult::Invalid => Err(InvalidStatement::BadProof), - SignatureVerificationResult::NoSignature => { - if let Some(Proof::OnChain { block_hash, .. }) = statement.proof() { - if block_hash == &CORRECT_BLOCK_HASH { - let (max_count, max_size) = match statement.account_id() { - Some(a) if a == account(1) => (1, 1000), - Some(a) if a == account(2) => (2, 1000), - Some(a) if a == account(3) => (3, 1000), - Some(a) if a == account(4) => (4, 1000), - Some(a) if a == account(42) => (42, 42 * crate::MAX_STATEMENT_SIZE as u32), - _ => (2, 2000), - }; - Ok(ValidStatement{ max_count, max_size }) - } else { - Err(InvalidStatement::BadProof) - } - } else { - Err(InvalidStatement::BadProof) - } - } - } - } + pub(crate) type TestBackend = sc_client_api::in_mem::Backend; + + impl sc_client_api::StorageProvider for TestClient { + fn storage( + &self, + _hash: Hash, + key: &sc_client_api::StorageKey, + ) -> sp_blockchain::Result> { + use sp_statement_store::StatementAllowance; + + assert_eq!(&key.0[0..21], b":statement-allowance:" as &[u8],); + + // Extract account ID (32 bytes) from the storage key + let account_bytes = &key.0[21..53]; + let account_id: u64 = u64::from_le_bytes(account_bytes[0..8].try_into().unwrap()); + let allowance = match account_id { + 1 => StatementAllowance::new(1, 1000), + 2 => StatementAllowance::new(2, 1000), + 3 => StatementAllowance::new(3, 1000), + 4 => StatementAllowance::new(4, 1000), + 42 => StatementAllowance::new(42, (42 * crate::MAX_STATEMENT_SIZE) as u32), + _ => StatementAllowance::new(100, 1000), + }; + Ok(Some(sc_client_api::StorageData(allowance.encode()))) + } + + fn storage_hash( + &self, + _hash: Hash, + _key: &sc_client_api::StorageKey, + ) -> sp_blockchain::Result> { + unimplemented!() + } + + fn storage_keys( + &self, + _hash: Hash, + _prefix: Option<&sc_client_api::StorageKey>, + _start_key: Option<&sc_client_api::StorageKey>, + ) -> sp_blockchain::Result< + sc_client_api::backend::KeysIter< + >::State, + Block, + >, + > { + unimplemented!() + } + + fn storage_pairs( + &self, + _hash: Hash, + _prefix: Option<&sc_client_api::StorageKey>, + _start_key: Option<&sc_client_api::StorageKey>, + ) -> sp_blockchain::Result< + sc_client_api::backend::PairsIter< + >::State, + Block, + >, + > { + unimplemented!() + } + + fn child_storage( + &self, + _hash: Hash, + _child_info: &sc_client_api::ChildInfo, + _key: &sc_client_api::StorageKey, + ) -> sp_blockchain::Result> { + unimplemented!() + } + + fn child_storage_keys( + &self, + _hash: Hash, + _child_info: sc_client_api::ChildInfo, + _prefix: Option<&sc_client_api::StorageKey>, + _start_key: Option<&sc_client_api::StorageKey>, + ) -> sp_blockchain::Result< + sc_client_api::backend::KeysIter< + >::State, + Block, + >, + > { + unimplemented!() + } + + fn child_storage_hash( + &self, + _hash: Hash, + _child_info: &sc_client_api::ChildInfo, + _key: &sc_client_api::StorageKey, + ) -> sp_blockchain::Result> { + unimplemented!() + } + + fn closest_merkle_value( + &self, + _hash: Hash, + _key: &sc_client_api::StorageKey, + ) -> sp_blockchain::Result>> { + unimplemented!() + } + + fn child_closest_merkle_value( + &self, + _hash: Hash, + _child_info: &sc_client_api::ChildInfo, + _key: &sc_client_api::StorageKey, + ) -> sp_blockchain::Result>> { + unimplemented!() } } @@ -1152,11 +1568,19 @@ mod tests { let mut path: std::path::PathBuf = temp_dir.path().into(); path.push("db"); let keystore = std::sync::Arc::new(sc_keystore::LocalKeystore::in_memory()); - let store = Store::new(&path, Default::default(), client, keystore, None).unwrap(); + let store = Store::new::( + &path, + Default::default(), + client, + keystore, + None, + Box::new(sp_core::testing::TaskExecutor::new()), + ) + .unwrap(); (store, temp_dir) // return order is important. Store must be dropped before TempDir } - fn signed_statement(data: u8) -> Statement { + pub fn signed_statement(data: u8) -> Statement { signed_statement_with_topics(data, &[], None) } @@ -1167,6 +1591,8 @@ mod tests { ) -> Statement { let mut statement = Statement::new(); statement.set_plain_data(vec![data]); + statement.set_expiry(u64::MAX); + for i in 0..topics.len() { statement.set_topic(i, topics[i]); } @@ -1179,9 +1605,9 @@ mod tests { } fn topic(data: u64) -> Topic { - let mut topic: Topic = Default::default(); - topic[0..8].copy_from_slice(&data.to_le_bytes()); - topic + let mut bytes = [0u8; 32]; + bytes[0..8].copy_from_slice(&data.to_le_bytes()); + Topic::from(bytes) } fn dec_key(data: u64) -> DecryptionKey { @@ -1207,7 +1633,7 @@ mod tests { let mut data = Vec::new(); data.resize(data_len, 0); statement.set_plain_data(data); - statement.set_priority(priority); + statement.set_expiry_from_parts(u32::MAX, priority); if let Some(c) = c { statement.set_channel(channel(c)); } @@ -1246,7 +1672,15 @@ mod tests { let client = std::sync::Arc::new(TestClient); let mut path: std::path::PathBuf = temp.path().into(); path.push("db"); - let store = Store::new(&path, Default::default(), client, keystore, None).unwrap(); + let store = Store::new::( + &path, + Default::default(), + client, + keystore, + None, + Box::new(sp_core::testing::TaskExecutor::new()), + ) + .unwrap(); assert_eq!(store.statements().unwrap().len(), 3); assert_eq!(store.broadcasts(&[]).unwrap().len(), 3); assert_eq!(store.statement(&statement1.hash()).unwrap(), Some(statement1)); @@ -1450,7 +1884,15 @@ mod tests { let client = std::sync::Arc::new(TestClient); let mut path: std::path::PathBuf = temp.path().into(); path.push("db"); - let store = Store::new(&path, Default::default(), client, keystore, None).unwrap(); + let store = Store::new::( + &path, + Default::default(), + client, + keystore, + None, + Box::new(sp_core::testing::TaskExecutor::new()), + ) + .unwrap(); assert_eq!(store.statements().unwrap().len(), 0); assert_eq!(store.index.read().expired.len(), 0); } @@ -1642,6 +2084,38 @@ mod tests { assert_eq!(retrieved, vec![plaintext_good]); } + #[test] + fn already_expired_statement_is_rejected() { + let (mut store, _temp) = test_store(); + + // Set current time to 1000 seconds + store.set_time(1000); + + // Create a statement that has already expired (expiration at 500 seconds, before current + // time) + let mut expired_statement = statement(1, 1, None, 100); + // set_expiry_from_parts: first arg is expiration timestamp in seconds, second is priority + expired_statement.set_expiry_from_parts(500, 1); + + // Submit should fail with AlreadyExpired + assert_eq!( + store.submit(expired_statement, StatementSource::Network), + SubmitResult::Invalid(InvalidReason::AlreadyExpired) + ); + + // Verify the statement was not added + assert_eq!(store.statements().unwrap().len(), 0); + + // Now create a statement that is not expired (expiration at 2000 seconds, after current + // time) + let mut valid_statement = statement(1, 1, None, 100); + valid_statement.set_expiry_from_parts(2000, 1); + + // Submit should succeed + assert_eq!(store.submit(valid_statement, StatementSource::Network), SubmitResult::New); + assert_eq!(store.statements().unwrap().len(), 1); + } + #[test] fn remove_by_covers_various_situations() { use sp_statement_store::{StatementSource, StatementStore, SubmitResult}; @@ -1752,4 +2226,429 @@ mod tests { let s_new = statement(4, 40, None, 10); assert_eq!(store.submit(s_new, StatementSource::Network), SubmitResult::New); } + + #[test] + fn check_expiration_repopulates_account_list_when_empty() { + let (mut store, _temp) = test_store(); + store.set_time(1000); + + // Create statements for multiple accounts + // Note: The statement() helper uses set_expiry_from_parts(u32::MAX, priority) + // which creates a very large expiry value that won't trigger expiration + let s1 = statement(1, 1, None, 100); + let s2 = statement(2, 1, None, 100); + let s3 = statement(3, 1, None, 100); + + for s in [&s1, &s2, &s3] { + store.submit(s.clone(), StatementSource::Network); + } + + // Initially, accounts_to_check_for_expiry_stmts is empty + assert!(store.index.read().accounts_to_check_for_expiry_stmts.is_empty()); + + // First call to check_expiration should populate the list + store.check_expiration(); + + // Now accounts_to_check_for_expiry_stmts should contain all 3 accounts + let accounts = store.index.read().accounts_to_check_for_expiry_stmts.clone(); + assert_eq!(accounts.len(), 3, "Should have 3 accounts to check"); + assert!(accounts.contains(&account(1))); + assert!(accounts.contains(&account(2))); + assert!(accounts.contains(&account(3))); + + // No statements should have been expired since they're all valid + assert_eq!(store.index.read().expired.len(), 0); + assert_eq!(store.index.read().entries.len(), 3); + } + + #[test] + fn check_expiration_expires_statements_past_current_time() { + let (mut store, _temp) = test_store(); + + // The check_expiration function compares Expiry(current_time << 32) against + // Expiry(expiry) where expiry is the full 64-bit value with timestamp in high 32 bits. + // Statements with expiration timestamp < current_time will be expired. + + store.set_time(100); + + // Create a statement that will expire at timestamp 500 + let mut expired_stmt = statement(1, 1, None, 100); + expired_stmt.set_expiry_from_parts(500, 1); + let expired_hash = expired_stmt.hash(); + store.submit(expired_stmt, StatementSource::Network); + + // Create a statement that won't expire (far future expiry) + let valid_stmt = statement(2, 1, None, 100); // Uses u32::MAX as timestamp + let valid_hash = valid_stmt.hash(); + store.submit(valid_stmt, StatementSource::Network); + + // Verify both statements are in the store + assert_eq!(store.index.read().entries.len(), 2); + + // First check_expiration populates the account list + store.check_expiration(); + assert!(!store.index.read().accounts_to_check_for_expiry_stmts.is_empty()); + + // Advance time past the expiry of the first statement + store.set_time(1000); + + // Second check_expiration should find and expire the statement + store.check_expiration(); + + // Check the expired statement is now in the expired list + let index = store.index.read(); + assert!(index.expired.contains_key(&expired_hash), "Expired statement should be marked"); + assert!( + !index.entries.contains_key(&expired_hash), + "Expired statement should be removed from entries" + ); + + // The valid statement should still be in entries + assert!( + index.entries.contains_key(&valid_hash), + "Valid statement should still be in entries" + ); + assert!(!index.expired.contains_key(&valid_hash), "Valid statement should not be expired"); + } + + #[test] + fn check_expiration_removes_checked_accounts_from_list_when_expiring() { + let (mut store, _temp) = test_store(); + store.set_time(100); + + // Create statements with expiry at timestamp 200 + let mut stmt1 = statement(1, 1, None, 100); + stmt1.set_expiry_from_parts(200, 1); + store.submit(stmt1, StatementSource::Network); + + let mut stmt2 = statement(2, 1, None, 100); + stmt2.set_expiry_from_parts(200, 1); + store.submit(stmt2, StatementSource::Network); + + let mut stmt3 = statement(3, 1, None, 100); + stmt3.set_expiry_from_parts(200, 1); + store.submit(stmt3, StatementSource::Network); + + // First call populates the list + store.check_expiration(); + assert_eq!( + store.index.read().accounts_to_check_for_expiry_stmts.len(), + 3, + "Should have 3 accounts to check" + ); + + // Advance time past expiry + store.set_time(300); + + // Second call should check accounts, expire statements, and remove checked accounts + store.check_expiration(); + + // The list should now be empty (all accounts checked and removed) + assert!( + store.index.read().accounts_to_check_for_expiry_stmts.is_empty(), + "All accounts should have been checked and removed after expiration" + ); + + // All statements should have been expired + assert_eq!(store.index.read().expired.len(), 3); + assert_eq!(store.index.read().entries.len(), 0); + } + + #[test] + fn check_expiration_truncates_list_even_when_nothing_expires() { + let (mut store, _temp) = test_store(); + store.set_time(1000); + + // Create statements for multiple accounts with far future expiry (using statement helper) + // The statement() helper uses set_expiry_from_parts(u32::MAX, priority) which creates + // a very large expiry value that won't trigger expiration + for acc_id in 1..=5u64 { + let stmt = statement(acc_id, 1, None, 100); + store.submit(stmt, StatementSource::Network); + } + + // First call populates the list + store.check_expiration(); + assert_eq!(store.index.read().accounts_to_check_for_expiry_stmts.len(), 5); + + // Second call checks accounts and truncates the list (even though nothing expires) + store.check_expiration(); + + // The list should now be empty - accounts are removed after being checked + assert!( + store.index.read().accounts_to_check_for_expiry_stmts.is_empty(), + "List should be empty after all accounts have been checked" + ); + + // No statements should have been expired + assert_eq!(store.index.read().expired.len(), 0); + assert_eq!(store.index.read().entries.len(), 5); + } + + #[test] + fn check_expiration_handles_multiple_statements_per_account() { + let (mut store, _temp) = test_store(); + store.set_time(100); + + // Create multiple statements for the same account with different expiry timestamps + // Account 42 has limit of 42 statements + let mut stmt1 = statement(42, 1, Some(1), 100); + stmt1.set_expiry_from_parts(200, 1); // Expires at timestamp 200 + let hash1 = stmt1.hash(); + store.submit(stmt1, StatementSource::Network); + + let mut stmt2 = statement(42, 2, Some(2), 100); + stmt2.set_expiry_from_parts(300, 2); // Expires at timestamp 300 + let hash2 = stmt2.hash(); + store.submit(stmt2, StatementSource::Network); + + let mut stmt3 = statement(42, 3, Some(3), 100); + stmt3.set_expiry_from_parts(500, 3); // Expires at timestamp 500 + let hash3 = stmt3.hash(); + store.submit(stmt3, StatementSource::Network); + + // Verify all statements are in the store + assert_eq!(store.index.read().entries.len(), 3); + + // First check_expiration populates the account list + store.check_expiration(); + + // Advance time to 250 (stmt1 should expire since 250 > 200) + store.set_time(250); + store.check_expiration(); + + { + let index = store.index.read(); + assert!(index.expired.contains_key(&hash1), "stmt1 should be expired"); + assert!(!index.expired.contains_key(&hash2), "stmt2 should not be expired yet"); + assert!(!index.expired.contains_key(&hash3), "stmt3 should not be expired yet"); + assert_eq!(index.entries.len(), 2); + } + + // Repopulate the account list for next check + store.check_expiration(); + + // Advance time to 400 (stmt2 should also expire since 400 > 300) + store.set_time(400); + store.check_expiration(); + + { + let index = store.index.read(); + assert!(index.expired.contains_key(&hash1)); + assert!(index.expired.contains_key(&hash2), "stmt2 should be expired"); + assert!(!index.expired.contains_key(&hash3), "stmt3 should not be expired yet"); + assert_eq!(index.entries.len(), 1); + } + + // Repopulate and check again at time 600 (stmt3 should expire since 600 > 500) + store.check_expiration(); + store.set_time(600); + store.check_expiration(); + + { + let index = store.index.read(); + assert!(index.expired.contains_key(&hash1)); + assert!(index.expired.contains_key(&hash2)); + assert!(index.expired.contains_key(&hash3), "stmt3 should be expired"); + assert_eq!(index.entries.len(), 0); + } + } + + #[test] + fn check_expiration_does_nothing_when_no_expired_statements() { + let (mut store, _temp) = test_store(); + store.set_time(1000); + + // Create statement with expiry far in the future + // The statement() helper uses set_expiry_from_parts(u32::MAX, priority) + let stmt = statement(1, 1, None, 100); + let hash = stmt.hash(); + store.submit(stmt, StatementSource::Network); + + // Populate the account list + store.check_expiration(); + + // Check expiration - nothing should happen + store.check_expiration(); + + // Statement should still be there + let index = store.index.read(); + assert!(index.entries.contains_key(&hash)); + assert!(!index.expired.contains_key(&hash)); + assert_eq!(index.entries.len(), 1); + assert_eq!(index.expired.len(), 0); + } + + #[test] + fn check_expiration_correctly_updates_account_data() { + let (mut store, _temp) = test_store(); + store.set_time(100); + + // Create a statement with expiry at timestamp 200 + let mut stmt = statement(1, 1, Some(1), 100); + stmt.set_expiry_from_parts(200, 1); + let hash = stmt.hash(); + store.submit(stmt, StatementSource::Network); + + // Verify account exists before expiration + { + let index = store.index.read(); + assert!(index.accounts.contains_key(&account(1))); + assert_eq!(index.total_size, 100); + } + + // Populate and then expire + store.check_expiration(); + store.set_time(300); + store.check_expiration(); + + // Verify account is removed after its only statement expires + { + let index = store.index.read(); + assert!( + !index.accounts.contains_key(&account(1)), + "Account should be removed when all its statements expire" + ); + assert_eq!(index.total_size, 0, "Total size should be zero"); + assert!(index.expired.contains_key(&hash)); + } + } + + #[test] + fn check_expiration_clears_topic_and_key_indexes() { + let (mut store, _temp) = test_store(); + store.set_time(100); + + // Create a statement with topic and decryption key + let mut stmt = statement(1, 1, Some(1), 100); + stmt.set_expiry_from_parts(200, 1); + stmt.set_topic(0, topic(42)); + stmt.set_decryption_key(dec_key(7)); + let hash = stmt.hash(); + store.submit(stmt, StatementSource::Network); + + // Verify indexes are populated + { + let index = store.index.read(); + assert!(index.by_topic.get(&topic(42)).map_or(false, |s| s.contains(&hash))); + assert!(index.by_dec_key.get(&Some(dec_key(7))).map_or(false, |s| s.contains(&hash))); + } + + // Populate and then expire + store.check_expiration(); + store.set_time(300); + store.check_expiration(); + + // Verify indexes are cleared + { + let index = store.index.read(); + // Topic set should be empty or removed + assert!( + index.by_topic.get(&topic(42)).map_or(true, |s| s.is_empty()), + "Topic index should be cleared" + ); + // Key set should be empty or removed + assert!( + index.by_dec_key.get(&Some(dec_key(7))).map_or(true, |s| s.is_empty()), + "Decryption key index should be cleared" + ); + assert!(index.expired.contains_key(&hash)); + } + } + + #[test] + fn check_expiration_handles_empty_store() { + let (mut store, _temp) = test_store(); + store.set_time(1000); + + // With no statements, check_expiration should not panic + store.check_expiration(); + + // Second call should also work (empty repopulation) + store.check_expiration(); + + assert!(store.index.read().accounts_to_check_for_expiry_stmts.is_empty()); + assert_eq!(store.index.read().entries.len(), 0); + assert_eq!(store.index.read().expired.len(), 0); + } + + #[test] + fn check_expiration_expires_properly_formatted_statements() { + // With the fix (Expiry(current_time << 32)), check_expiration properly + // compares timestamps and can expire statements submitted through normal flow. + + let (mut store, _temp) = test_store(); + store.set_time(1000); + + // Create a statement with expiration timestamp just 1 second in the future + let mut stmt = statement(1, 1, None, 100); + stmt.set_expiry_from_parts(1001, 1); // Expires at timestamp 1001 + let hash = stmt.hash(); + store.submit(stmt, StatementSource::Network); + + assert_eq!(store.index.read().entries.len(), 1); + + // Populate the accounts list + store.check_expiration(); + + // Advance time past the expiration timestamp + store.set_time(2000); + store.check_expiration(); + + // Statement SHOULD be expired because check_expiration now compares + // Expiry(2000 << 32) against Expiry(1001 << 32 | 1), and + // (2000 << 32) > (1001 << 32 | 1) + let index = store.index.read(); + assert!( + !index.entries.contains_key(&hash), + "Statement should be removed from entries after expiration" + ); + assert!(index.expired.contains_key(&hash), "Statement should be in expired list"); + } + + #[test] + fn check_expiration_updates_database_columns() { + // This test verifies that check_expiration properly updates the database. + let (mut store, _temp) = test_store(); + store.set_time(100); + + // Create a statement with expiry at timestamp 200 + let mut stmt = statement(1, 1, None, 100); + stmt.set_expiry_from_parts(200, 1); + let hash = stmt.hash(); + store.submit(stmt.clone(), StatementSource::Network); + + // Verify statement is in the database + let db_entry = store.db.get(col::STATEMENTS, &hash).unwrap(); + assert!(db_entry.is_some(), "Statement should be in col::STATEMENTS after submit"); + + // Populate the accounts list + store.check_expiration(); + + // Advance time past expiry and run check_expiration + store.set_time(300); + store.check_expiration(); + + // Verify in-memory state is updated correctly + { + let index = store.index.read(); + assert!( + !index.entries.contains_key(&hash), + "Statement should be removed from in-memory entries" + ); + assert!( + index.expired.contains_key(&hash), + "Statement should be in in-memory expired map" + ); + } + + let db_entry = store.db.get(col::STATEMENTS, &hash).unwrap(); + assert!( + db_entry.is_none(), + "Statement should be removed from col::STATEMENTS after expiration" + ); + + let expired_entry = store.db.get(col::EXPIRED, &hash).unwrap(); + assert!(expired_entry.is_some(), "Expiration info should be written to col::EXPIRED"); + } } diff --git a/substrate/client/statement-store/src/metrics.rs b/substrate/client/statement-store/src/metrics.rs index cf191b79757ed..6b6250126e8dd 100644 --- a/substrate/client/statement-store/src/metrics.rs +++ b/substrate/client/statement-store/src/metrics.rs @@ -20,7 +20,10 @@ use std::sync::Arc; -use prometheus_endpoint::{register, Counter, PrometheusError, Registry, U64}; +use prometheus_endpoint::{ + prometheus::HistogramTimer, register, Counter, CounterVec, Gauge, Histogram, HistogramOpts, + Opts, PrometheusError, Registry, U64, +}; #[derive(Clone, Default)] pub struct MetricsLink(Arc>); @@ -41,6 +44,17 @@ impl MetricsLink { do_this(metrics); } } + + pub fn start_submit_timer(&self) -> Option { + self.0.as_ref().as_ref().map(|m| m.submit_duration_seconds.start_timer()) + } + + pub fn start_check_expiration_timer(&self) -> Option { + self.0 + .as_ref() + .as_ref() + .map(|m| m.check_expiration_duration_seconds.start_timer()) + } } /// Statement store Prometheus metrics. @@ -48,6 +62,16 @@ pub struct Metrics { pub submitted_statements: Counter, pub validations_invalid: Counter, pub statements_pruned: Counter, + pub statements_total: Gauge, + pub bytes_total: Gauge, + pub accounts_total: Gauge, + pub expired_total: Gauge, + pub capacity_statements: Gauge, + pub capacity_bytes: Gauge, + pub rejections: CounterVec, + pub submit_duration_seconds: Histogram, + pub check_expiration_duration_seconds: Histogram, + pub statements_expired_total: Counter, } impl Metrics { @@ -63,7 +87,7 @@ impl Metrics { validations_invalid: register( Counter::new( "substrate_sub_statement_store_validations_invalid", - "Total number of statements that were removed from the pool as invalid", + "Total number of statements that were fail validation during submission", )?, registry, )?, @@ -74,6 +98,86 @@ impl Metrics { )?, registry, )?, + statements_total: register( + Gauge::new( + "substrate_sub_statement_store_statements_total", + "Current number of statements in the store", + )?, + registry, + )?, + capacity_statements: register( + Gauge::new( + "substrate_sub_statement_store_capacity_statements", + "Maximum number of statements the store can hold", + )?, + registry, + )?, + + capacity_bytes: register( + Gauge::new( + "substrate_sub_statement_store_capacity_bytes", + "Maximum total size of statement data in bytes", + )?, + registry, + )?, + bytes_total: register( + Gauge::new( + "substrate_sub_statement_store_bytes_total", + "Current total size of all statement data in bytes", + )?, + registry, + )?, + accounts_total: register( + Gauge::new( + "substrate_sub_statement_store_accounts_total", + "Current number of unique accounts with statements", + )?, + registry, + )?, + expired_total: register( + Gauge::new( + "substrate_sub_statement_store_expired_total", + "Current number of expired statements awaiting purge", + )?, + registry, + )?, + rejections: register( + CounterVec::new( + Opts::new( + "substrate_sub_statement_store_rejections_total", + "Total statement rejections by reason", + ), + &["reason"], + )?, + registry, + )?, + submit_duration_seconds: register( + Histogram::with_opts( + HistogramOpts::new( + "substrate_sub_statement_store_submit_duration_seconds", + "Time to submit a statement", + ) + .buckets(vec![0.000_001, 0.000_01, 0.000_1, 0.001, 0.01, 0.1, 1.0]), + )?, + registry, + )?, + check_expiration_duration_seconds: register( + Histogram::with_opts( + HistogramOpts::new( + "substrate_sub_statement_store_check_expiration_duration_seconds", + "Time to check and process statement expiration", + ) + .buckets(vec![0.000_001, 0.000_01, 0.000_1, 0.001, 0.01, 0.1, 1.0]), + )?, + registry, + )?, + statements_expired_total: register( + Counter::new( + "substrate_sub_statement_store_statements_expired_total", + "Total number of statements that expired and were removed", + )?, + registry, + )?, }) } } diff --git a/substrate/client/statement-store/src/subscription.rs b/substrate/client/statement-store/src/subscription.rs new file mode 100644 index 0000000000000..9f9c6d013c9c5 --- /dev/null +++ b/substrate/client/statement-store/src/subscription.rs @@ -0,0 +1,1165 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! Subscription logic for statement store. +//! +//! Manages subscriptions to statement topics and notifies subscribers when new statements arrive. +//! Uses multiple matcher tasks to handle subscriptions concurrently, each responsible for a subset +//! of subscriptions. Each matcher task maintains its own list of subscriptions and matches incoming +//! statements against them. When a new statement is submitted, it is sent to all matcher tasks for +//! processing. If a statement matches a subscription's filter, it is sent to the subscriber via an +//! async channel. +//! +//! This design allows for efficient handling of a large number of subscriptions and statements and +//! can be scaled by adjusting the number of matcher tasks. + +// Buffer size for the matcher task channels, to backpressure the submission senders. +// This value is generous to allow for bursts of statements without dropping any or backpressuring +// too early. +const MATCHERS_TASK_CHANNEL_BUFFER_SIZE: usize = 80_000; + +// Buffer size for individual subscriptions. +const SUBSCRIPTION_BUFFER_SIZE: usize = 128; + +use futures::{Stream, StreamExt}; +use itertools::Itertools; + +use crate::LOG_TARGET; +use sc_utils::id_sequence::SeqID; +use sp_core::{traits::SpawnNamed, Bytes, Encode}; +pub use sp_statement_store::StatementStore; +use sp_statement_store::{OptimizedTopicFilter, Result, Statement, Topic, MAX_TOPICS}; +use std::{ + collections::{hash_map::Entry, HashMap, HashSet}, + sync::atomic::AtomicU64, +}; + +/// Trait for initiating statement store subscriptions from the RPC module. +pub trait StatementStoreSubscriptionApi: Send + Sync { + /// Subscribe to statements matching the topic filter. + /// + /// Returns existing matching statements, a sender channel to send matched statements and a + /// stream for receiving matched statements when they arrive. + fn subscribe_statement( + &self, + topic_filter: OptimizedTopicFilter, + ) -> Result<(Vec>, async_channel::Sender, SubscriptionStatementsStream)>; +} + +/// Messages sent to matcher tasks. +#[derive(Clone, Debug)] +pub enum MatcherMessage { + /// A new statement has been submitted. + NewStatement(Statement), + /// A new subscription has been created. + Subscribe(SubscriptionInfo), + /// Unsubscribe the subscription with the given ID. + Unsubscribe(SeqID), +} + +// Handle to manage all subscriptions. +pub struct SubscriptionsHandle { + // Sequence generator for subscription IDs, atomic for thread safety. + // Subscription creation is expensive enough that we don't worry about overflow here. + id_sequence: AtomicU64, + // Subscriptions matchers handlers. + matchers: SubscriptionsMatchersHandlers, +} + +impl SubscriptionsHandle { + /// Create a new SubscriptionsHandle with the given task spawner and number of filter workers. + pub(crate) fn new( + task_spawner: Box, + num_matcher_workers: usize, + ) -> SubscriptionsHandle { + let mut subscriptions_matchers_senders = Vec::with_capacity(num_matcher_workers); + + for task in 0..num_matcher_workers { + let (subscription_matcher_sender, subscription_matcher_receiver) = + async_channel::bounded(MATCHERS_TASK_CHANNEL_BUFFER_SIZE); + subscriptions_matchers_senders.push(subscription_matcher_sender); + task_spawner.spawn_blocking( + "statement-store-subscription-filters", + Some("statement-store"), + Box::pin(async move { + let mut subscriptions = SubscriptionsInfo::new(); + log::debug!( + target: LOG_TARGET, + "Started statement subscription matcher task: {task}" + ); + loop { + let res = subscription_matcher_receiver.recv().await; + match res { + Ok(MatcherMessage::NewStatement(statement)) => { + subscriptions.notify_matching_filters(&statement); + }, + Ok(MatcherMessage::Subscribe(info)) => { + subscriptions.subscribe(info); + }, + Ok(MatcherMessage::Unsubscribe(seq_id)) => { + subscriptions.unsubscribe(seq_id); + }, + Err(_) => { + // Expected when the subscription manager is dropped at shutdown. + log::error!( + target: LOG_TARGET, + "Statement subscription matcher channel closed: {task}" + ); + break; + }, + }; + } + }), + ); + } + SubscriptionsHandle { + id_sequence: AtomicU64::new(0), + matchers: SubscriptionsMatchersHandlers::new(subscriptions_matchers_senders), + } + } + + // Generate the next unique subscription ID. + fn next_id(&self) -> SeqID { + let id = self.id_sequence.fetch_add(1, std::sync::atomic::Ordering::SeqCst); + SeqID::from(id) + } + + /// Subscribe to statements matching the topic filter. + pub(crate) fn subscribe( + &self, + topic_filter: OptimizedTopicFilter, + ) -> (async_channel::Sender, SubscriptionStatementsStream) { + let next_id = self.next_id(); + let (tx, rx) = async_channel::bounded(SUBSCRIPTION_BUFFER_SIZE); + let subscription_info = + SubscriptionInfo { topic_filter: topic_filter.clone(), seq_id: next_id, tx }; + + let result = ( + subscription_info.tx.clone(), + SubscriptionStatementsStream { + rx, + sub_id: subscription_info.seq_id, + matchers: self.matchers.clone(), + }, + ); + + self.matchers + .send_by_seq_id(subscription_info.seq_id, MatcherMessage::Subscribe(subscription_info)); + result + } + + pub(crate) fn notify(&self, statement: Statement) { + self.matchers.send_all(MatcherMessage::NewStatement(statement)); + } +} + +// Information about all subscriptions. +// Each matcher task will have its own instance of this struct. +struct SubscriptionsInfo { + // Subscriptions organized by topic for MatchAll filters. + // + // Maps each topic to an array of HashMaps, where the array is indexed by + // `(number_of_topics_in_filter - 1)`. For example, a subscription requiring + // topics [A, B] (2 topics) will be stored at index 1 under both topic A and B. + // + // This structure allows efficient matching: when a statement arrives with N topics, + // we only need to check subscriptions that require exactly N or fewer topics. + subscriptions_match_all_by_topic: + HashMap; MAX_TOPICS]>, + // Subscriptions organized by topic for MatchAny filters. + subscriptions_match_any_by_topic: HashMap>, + // Subscriptions that listen with Any filter (i.e., no topic filtering). + subscriptions_any: HashMap, + // Mapping from subscription ID to topic filter. + by_sub_id: HashMap, +} + +// Information about a single subscription. +#[derive(Clone, Debug)] +pub(crate) struct SubscriptionInfo { + // The filter used for this subscription. + topic_filter: OptimizedTopicFilter, + // The unique ID of this subscription. + seq_id: SeqID, + // Channel to send matched statements to the subscriber. + tx: async_channel::Sender, +} + +impl SubscriptionsInfo { + fn new() -> SubscriptionsInfo { + SubscriptionsInfo { + subscriptions_match_all_by_topic: HashMap::new(), + subscriptions_match_any_by_topic: HashMap::new(), + subscriptions_any: HashMap::new(), + by_sub_id: HashMap::new(), + } + } + + // Subscribe a new subscription. + fn subscribe(&mut self, subscription_info: SubscriptionInfo) { + self.by_sub_id + .insert(subscription_info.seq_id, subscription_info.topic_filter.clone()); + match &subscription_info.topic_filter { + OptimizedTopicFilter::Any => { + self.subscriptions_any.insert(subscription_info.seq_id, subscription_info); + }, + OptimizedTopicFilter::MatchAll(topics) => { + for topic in topics { + self.subscriptions_match_all_by_topic.entry(*topic).or_default() + [topics.len() - 1] + .insert(subscription_info.seq_id, subscription_info.clone()); + } + }, + OptimizedTopicFilter::MatchAny(topics) => { + for topic in topics { + self.subscriptions_match_any_by_topic + .entry(*topic) + .or_default() + .insert(subscription_info.seq_id, subscription_info.clone()); + } + }, + }; + } + + // Notify a single subscriber, marking it for unsubscribing if sending fails. + fn notify_subscriber( + &self, + subscription: &SubscriptionInfo, + bytes_to_send: Bytes, + needs_unsubscribing: &mut HashSet, + ) { + if let Err(err) = subscription.tx.try_send(bytes_to_send) { + log::debug!( + target: LOG_TARGET, + "Failed to send statement to subscriber {:?}: {:?} unsubscribing it", subscription.seq_id, err + ); + // Mark subscription for unsubscribing, to give it a chance to recover the buffers are + // generous enough, if subscription cannot keep up we unsubscribe it. + needs_unsubscribing.insert(subscription.seq_id); + } + } + + fn notify_matching_filters(&mut self, statement: &Statement) { + self.notify_match_all_subscribers_best(statement); + self.notify_match_any_subscribers(statement); + self.notify_any_subscribers(statement); + } + + // Notify all subscribers with MatchAny filters that match the given statement. + fn notify_match_any_subscribers(&mut self, statement: &Statement) { + let mut needs_unsubscribing: HashSet = HashSet::new(); + let mut already_notified: HashSet = HashSet::new(); + + let bytes_to_send: Bytes = statement.encode().into(); + for statement_topic in statement.topics() { + if let Some(subscriptions) = self.subscriptions_match_any_by_topic.get(statement_topic) + { + for subscription in subscriptions + .values() + .filter(|subscription| already_notified.insert(subscription.seq_id)) + { + self.notify_subscriber( + subscription, + bytes_to_send.clone(), + &mut needs_unsubscribing, + ); + } + } + } + + // Unsubscribe any subscriptions that failed to receive messages, to give them a chance to + // recover and not miss statements. + for sub_id in needs_unsubscribing { + self.unsubscribe(sub_id); + } + } + + // Notify all subscribers with MatchAll filters that match the given statement. + fn notify_match_all_subscribers_best(&mut self, statement: &Statement) { + let bytes_to_send: Bytes = statement.encode().into(); + let mut needs_unsubscribing: HashSet = HashSet::new(); + let num_topics = statement.topics().len(); + + // Check all combinations of topics in the statement to find matching subscriptions. + // This works well because the maximum allowed topics is small (MAX_TOPICS = 4). + for num_topics_to_check in 1..=num_topics { + for topics_combination in statement.topics().iter().combinations(num_topics_to_check) { + // Find the topic with the fewest subscriptions to minimize the number of checks. + let Some(Some(topic_with_fewest)) = topics_combination + .iter() + .map(|topic| self.subscriptions_match_all_by_topic.get(*topic)) + .min_by_key(|subscriptions| { + subscriptions.map_or(0, |subscriptions_by_length| { + subscriptions_by_length[num_topics_to_check - 1].len() + }) + }) + else { + continue; + }; + + for subscription in topic_with_fewest[num_topics_to_check - 1] + .values() + .filter(|subscription| subscription.topic_filter.matches(statement)) + { + self.notify_subscriber( + subscription, + bytes_to_send.clone(), + &mut needs_unsubscribing, + ); + } + } + } + // Unsubscribe any subscriptions that failed to receive messages, to give them a chance to + // recover and not miss statements. + for sub_id in needs_unsubscribing { + self.unsubscribe(sub_id); + } + } + + // Notify all subscribers that don't filter by topic and want to receive all statements. + fn notify_any_subscribers(&mut self, statement: &Statement) { + let mut needs_unsubscribing: HashSet = HashSet::new(); + + let bytes_to_send: Bytes = statement.encode().into(); + for subscription in self.subscriptions_any.values() { + self.notify_subscriber(subscription, bytes_to_send.clone(), &mut needs_unsubscribing); + } + + // Unsubscribe any subscriptions that failed to receive messages, to give them a chance to + // recover and not miss statements. + for sub_id in needs_unsubscribing { + self.unsubscribe(sub_id); + } + } + + // Unsubscribe a subscription by its ID. + fn unsubscribe(&mut self, id: SeqID) { + let Some(entry) = self.by_sub_id.remove(&id) else { + return; + }; + + let topics = match &entry { + OptimizedTopicFilter::Any => { + self.subscriptions_any.remove(&id); + return; + }, + OptimizedTopicFilter::MatchAll(topics) => topics, + OptimizedTopicFilter::MatchAny(topics) => topics, + }; + + // Remove subscription from relevant maps. + for topic in topics { + // Check MatchAny map. + if let Entry::Occupied(mut entry) = self.subscriptions_match_any_by_topic.entry(*topic) + { + entry.get_mut().remove(&id); + if entry.get().is_empty() { + entry.remove(); + } + } + // Check MatchAll map. + if let Entry::Occupied(mut entry) = self.subscriptions_match_all_by_topic.entry(*topic) + { + for subscriptions in entry.get_mut().iter_mut() { + if subscriptions.remove(&id).is_some() { + break; + } + } + if entry.get().iter().all(|s| s.is_empty()) { + entry.remove(); + } + } + } + } +} + +// Handlers to communicate with subscription matcher tasks. +#[derive(Clone)] +pub struct SubscriptionsMatchersHandlers { + // Channels to send messages to matcher tasks. + matchers: Vec>, +} + +impl SubscriptionsMatchersHandlers { + /// Create new SubscriptionsMatchersHandlers with the given matcher task senders. + fn new(matchers: Vec>) -> SubscriptionsMatchersHandlers { + SubscriptionsMatchersHandlers { matchers } + } + + // Send a message to the matcher task responsible for the given subscription ID. + fn send_by_seq_id(&self, id: SeqID, message: MatcherMessage) { + let index: u64 = id.into(); + // If matchers channels are full we backpressure the sender, in this case it will be the + // processing of new statements. + if let Err(err) = self.matchers[index as usize % self.matchers.len()].send_blocking(message) + { + log::error!( + target: LOG_TARGET, + "Failed to send statement to matcher task: {:?}", err + ); + } + } + + // Send a message to all matcher tasks. + fn send_all(&self, message: MatcherMessage) { + for sender in &self.matchers { + if let Err(err) = sender.send_blocking(message.clone()) { + log::error!( + target: LOG_TARGET, + "Failed to send message to matcher task: {:?}", err + ); + } + } + } +} + +// Stream of statements for a subscription. +pub struct SubscriptionStatementsStream { + // Channel to receive statements. + pub rx: async_channel::Receiver, + // Subscription ID, used for cleanup on drop. + sub_id: SeqID, + // Reference to the matchers for cleanup. + matchers: SubscriptionsMatchersHandlers, +} + +// When the stream is dropped, unsubscribe from the matchers. +impl Drop for SubscriptionStatementsStream { + fn drop(&mut self) { + self.matchers + .send_by_seq_id(self.sub_id, MatcherMessage::Unsubscribe(self.sub_id)); + } +} + +impl Stream for SubscriptionStatementsStream { + type Item = Bytes; + + fn poll_next( + mut self: std::pin::Pin<&mut Self>, + cx: &mut std::task::Context<'_>, + ) -> std::task::Poll> { + self.rx.poll_next_unpin(cx) + } +} + +#[cfg(test)] +mod tests { + + use crate::tests::signed_statement; + + use super::*; + use sp_core::Decode; + use sp_statement_store::Topic; + #[test] + fn test_subscribe_unsubscribe() { + let mut subscriptions = SubscriptionsInfo::new(); + + let (tx1, _rx1) = async_channel::bounded::(10); + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + let sub_info1 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAll( + vec![topic1, topic2].into_iter().collect(), + ), + seq_id: SeqID::from(1), + tx: tx1, + }; + subscriptions.subscribe(sub_info1.clone()); + assert!(subscriptions.subscriptions_match_all_by_topic.contains_key(&topic1)); + assert!(subscriptions.subscriptions_match_all_by_topic.contains_key(&topic2)); + assert!(subscriptions.by_sub_id.contains_key(&sub_info1.seq_id)); + assert!(!subscriptions.subscriptions_any.contains_key(&sub_info1.seq_id)); + + subscriptions.unsubscribe(sub_info1.seq_id); + assert!(!subscriptions.subscriptions_match_all_by_topic.contains_key(&topic1)); + assert!(!subscriptions.subscriptions_match_all_by_topic.contains_key(&topic2)); + } + + #[test] + fn test_subscribe_any() { + let mut subscriptions = SubscriptionsInfo::new(); + let (tx1, _rx1) = async_channel::bounded::(10); + let sub_info1 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::Any, + seq_id: SeqID::from(1), + tx: tx1, + }; + subscriptions.subscribe(sub_info1.clone()); + assert!(subscriptions.subscriptions_any.contains_key(&sub_info1.seq_id)); + assert!(subscriptions.by_sub_id.contains_key(&sub_info1.seq_id)); + subscriptions.unsubscribe(sub_info1.seq_id); + assert!(!subscriptions.subscriptions_any.contains_key(&sub_info1.seq_id)); + } + + #[test] + fn test_subscribe_match_any() { + let mut subscriptions = SubscriptionsInfo::new(); + + let (tx1, _rx1) = async_channel::bounded::(10); + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + let sub_info1 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAny( + vec![topic1, topic2].into_iter().collect(), + ), + seq_id: SeqID::from(1), + tx: tx1, + }; + subscriptions.subscribe(sub_info1.clone()); + assert!(subscriptions.subscriptions_match_any_by_topic.contains_key(&topic1)); + assert!(subscriptions.subscriptions_match_any_by_topic.contains_key(&topic2)); + assert!(subscriptions.by_sub_id.contains_key(&sub_info1.seq_id)); + assert!(!subscriptions.subscriptions_any.contains_key(&sub_info1.seq_id)); + + subscriptions.unsubscribe(sub_info1.seq_id); + assert!(!subscriptions.subscriptions_match_all_by_topic.contains_key(&topic1)); + assert!(!subscriptions.subscriptions_match_all_by_topic.contains_key(&topic2)); + } + + #[test] + fn test_notify_any_subscribers() { + let mut subscriptions = SubscriptionsInfo::new(); + + let (tx1, rx1) = async_channel::bounded::(10); + let sub_info1 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::Any, + seq_id: SeqID::from(1), + tx: tx1, + }; + subscriptions.subscribe(sub_info1.clone()); + + let statement = signed_statement(1); + subscriptions.notify_matching_filters(&statement); + + let received = rx1.try_recv().expect("Should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement); + } + + #[test] + fn test_notify_match_all_subscribers() { + let mut subscriptions = SubscriptionsInfo::new(); + + let (tx1, rx1) = async_channel::bounded::(10); + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + let sub_info1 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAll( + vec![topic1, topic2].into_iter().collect(), + ), + seq_id: SeqID::from(1), + tx: tx1, + }; + subscriptions.subscribe(sub_info1.clone()); + + let mut statement = signed_statement(1); + statement.set_topic(0, topic2); + subscriptions.notify_matching_filters(&statement); + + // Should not receive yet, only one topic matched. + assert!(rx1.try_recv().is_err()); + + statement.set_topic(1, topic1); + subscriptions.notify_matching_filters(&statement); + + let received = rx1.try_recv().expect("Should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement); + } + + #[test] + fn test_notify_match_any_subscribers() { + let mut subscriptions = SubscriptionsInfo::new(); + let (tx1, rx1) = async_channel::bounded::(10); + let (tx2, rx2) = async_channel::bounded::(10); + + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + let sub_info1 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAny( + vec![topic1, topic2].into_iter().collect(), + ), + seq_id: SeqID::from(1), + tx: tx1, + }; + + let sub_info2 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAny(vec![topic2].into_iter().collect()), + seq_id: SeqID::from(2), + tx: tx2, + }; + + subscriptions.subscribe(sub_info1.clone()); + subscriptions.subscribe(sub_info2.clone()); + + let mut statement = signed_statement(1); + statement.set_topic(0, topic1); + statement.set_topic(1, topic2); + subscriptions.notify_match_any_subscribers(&statement); + + let received = rx1.try_recv().expect("Should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement); + + let received = rx2.try_recv().expect("Should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement); + } + + #[tokio::test] + async fn test_subscription_handle_with_different_workers_number() { + for num_workers in 1..5 { + let subscriptions_handle = SubscriptionsHandle::new( + Box::new(sp_core::testing::TaskExecutor::new()), + num_workers, + ); + + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + + let streams = (0..5) + .into_iter() + .map(|_| { + subscriptions_handle.subscribe(OptimizedTopicFilter::MatchAll( + vec![topic1, topic2].into_iter().collect(), + )) + }) + .collect::>(); + + let mut statement = signed_statement(1); + statement.set_topic(0, topic2); + subscriptions_handle.notify(statement.clone()); + + statement.set_topic(1, topic1); + subscriptions_handle.notify(statement.clone()); + + for (_tx, mut stream) in streams { + let received = stream.next().await.expect("Should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement); + } + } + } + + #[tokio::test] + async fn test_handle_unsubscribe() { + let subscriptions_handle = + SubscriptionsHandle::new(Box::new(sp_core::testing::TaskExecutor::new()), 2); + + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + + let (tx, mut stream) = subscriptions_handle + .subscribe(OptimizedTopicFilter::MatchAll(vec![topic1, topic2].into_iter().collect())); + + let mut statement = signed_statement(1); + statement.set_topic(0, topic1); + statement.set_topic(1, topic2); + + // Send a statement and verify it's received. + subscriptions_handle.notify(statement.clone()); + + let received = stream.next().await.expect("Should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement); + + // Drop the stream to trigger unsubscribe. + drop(stream); + + // Give some time for the unsubscribe message to be processed. + tokio::time::sleep(std::time::Duration::from_millis(1000)).await; + + // Send another statement after unsubscribe. + let mut statement2 = signed_statement(2); + statement2.set_topic(0, topic1); + statement2.set_topic(1, topic2); + subscriptions_handle.notify(statement2.clone()); + + // The tx channel should be closed/disconnected since the subscription was removed. + // Give some time for the notification to potentially arrive (it shouldn't). + tokio::time::sleep(std::time::Duration::from_millis(1000)).await; + + // The sender should fail to send since the subscription is gone. + // We verify by checking that the tx channel is disconnected. + assert!(tx.is_closed(), "Sender should be closed after unsubscribe"); + } + + #[test] + fn test_unsubscribe_nonexistent() { + let mut subscriptions = SubscriptionsInfo::new(); + // Unsubscribing a non-existent subscription should not panic. + subscriptions.unsubscribe(SeqID::from(999)); + // Verify internal state is still valid. + assert!(subscriptions.by_sub_id.is_empty()); + assert!(subscriptions.subscriptions_any.is_empty()); + assert!(subscriptions.subscriptions_match_all_by_topic.is_empty()); + assert!(subscriptions.subscriptions_match_any_by_topic.is_empty()); + } + + #[test] + fn test_multiple_subscriptions_same_topic() { + let mut subscriptions = SubscriptionsInfo::new(); + + let (tx1, rx1) = async_channel::bounded::(10); + let (tx2, rx2) = async_channel::bounded::(10); + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + + let sub_info1 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAll( + vec![topic1, topic2].into_iter().collect(), + ), + seq_id: SeqID::from(1), + tx: tx1, + }; + let sub_info2 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAll( + vec![topic1, topic2].into_iter().collect(), + ), + seq_id: SeqID::from(2), + tx: tx2, + }; + + subscriptions.subscribe(sub_info1.clone()); + subscriptions.subscribe(sub_info2.clone()); + + // Both subscriptions should be registered under each topic. + assert_eq!( + subscriptions + .subscriptions_match_all_by_topic + .get(&topic1) + .unwrap() + .iter() + .map(|s| s.len()) + .sum::(), + 2 + ); + assert_eq!( + subscriptions + .subscriptions_match_all_by_topic + .get(&topic2) + .unwrap() + .iter() + .map(|s| s.len()) + .sum::(), + 2 + ); + + // Send a matching statement. + let mut statement = signed_statement(1); + statement.set_topic(0, topic1); + statement.set_topic(1, topic2); + subscriptions.notify_matching_filters(&statement); + + // Both should receive. + assert!(rx1.try_recv().is_ok()); + assert!(rx2.try_recv().is_ok()); + + // Unsubscribe one. + subscriptions.unsubscribe(sub_info1.seq_id); + + // Only one subscription should remain. + assert_eq!( + subscriptions + .subscriptions_match_all_by_topic + .get(&topic1) + .unwrap() + .iter() + .map(|s| s.len()) + .sum::(), + 1 + ); + assert_eq!( + subscriptions + .subscriptions_match_all_by_topic + .get(&topic2) + .unwrap() + .iter() + .map(|s| s.len()) + .sum::(), + 1 + ); + assert!(!subscriptions.by_sub_id.contains_key(&sub_info1.seq_id)); + assert!(subscriptions.by_sub_id.contains_key(&sub_info2.seq_id)); + + // Send another statement. + subscriptions.notify_matching_filters(&statement); + + // Only sub2 should receive. + assert!(rx2.try_recv().is_ok()); + assert!(rx1.try_recv().is_err()); + } + + #[test] + fn test_subscriber_auto_unsubscribe_on_channel_full() { + let mut subscriptions = SubscriptionsInfo::new(); + + // Create a channel with capacity 1. + let (tx1, rx1) = async_channel::bounded::(1); + let topic1 = Topic::from([8u8; 32]); + + let sub_info1 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAny(vec![topic1].into_iter().collect()), + seq_id: SeqID::from(1), + tx: tx1, + }; + subscriptions.subscribe(sub_info1.clone()); + + let mut statement = signed_statement(1); + statement.set_topic(0, topic1); + + // First notification should succeed. + subscriptions.notify_matching_filters(&statement); + assert!(rx1.try_recv().is_ok()); + + // Fill the channel. + subscriptions.notify_matching_filters(&statement); + // Channel is now full. + + // Next notification should trigger auto-unsubscribe. + subscriptions.notify_matching_filters(&statement); + + // Subscription should be removed. + assert!(!subscriptions.by_sub_id.contains_key(&sub_info1.seq_id)); + assert!(!subscriptions.subscriptions_match_any_by_topic.contains_key(&topic1)); + } + + #[test] + fn test_match_any_receives_once_per_statement() { + let mut subscriptions = SubscriptionsInfo::new(); + + let (tx1, rx1) = async_channel::bounded::(10); + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + + // Subscribe to MatchAny with both topics. + let sub_info1 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAny( + vec![topic1, topic2].into_iter().collect(), + ), + seq_id: SeqID::from(1), + tx: tx1, + }; + subscriptions.subscribe(sub_info1.clone()); + + // Create a statement that matches BOTH topics. + let mut statement = signed_statement(1); + statement.set_topic(0, topic1); + statement.set_topic(1, topic2); + + subscriptions.notify_match_any_subscribers(&statement); + + // Should receive exactly once, not twice. + let received = rx1.try_recv().expect("Should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement); + + // No more messages. + assert!(rx1.try_recv().is_err()); + } + + #[test] + fn test_match_all_with_single_topic_matches_statement_with_two_topics() { + let mut subscriptions = SubscriptionsInfo::new(); + + let (tx1, rx1) = async_channel::bounded::(10); + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + + // Subscribe with MatchAll on only topic1. + let sub_info1 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAll(vec![topic1].into_iter().collect()), + seq_id: SeqID::from(1), + tx: tx1, + }; + subscriptions.subscribe(sub_info1.clone()); + + // Create a statement that has BOTH topic1 and topic2. + let mut statement = signed_statement(1); + statement.set_topic(0, topic1); + statement.set_topic(1, topic2); + + subscriptions.notify_matching_filters(&statement); + + // Should receive because the statement contains topic1 (which is the only required topic). + let received = rx1.try_recv().expect("Should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement); + + // No more messages. + assert!(rx1.try_recv().is_err()); + } + + #[test] + fn test_match_all_no_matching_topics() { + let mut subscriptions = SubscriptionsInfo::new(); + + let (tx1, rx1) = async_channel::bounded::(10); + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + let topic3 = Topic::from([10u8; 32]); + + let sub_info1 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAll( + vec![topic1, topic2].into_iter().collect(), + ), + seq_id: SeqID::from(1), + tx: tx1, + }; + subscriptions.subscribe(sub_info1.clone()); + + // Statement with completely different topics. + let mut statement = signed_statement(1); + statement.set_topic(0, topic3); + + subscriptions.notify_matching_filters(&statement); + + // Should not receive anything. + assert!(rx1.try_recv().is_err()); + } + + #[test] + fn test_match_all_with_unsubscribed_topic_first_in_statement() { + // This test exposes a bug where `return` is used instead of `continue` in + // `notify_match_all_subscribers_best`. When a statement has a topic that has no + // subscriptions (not in the map), the function returns early instead of checking + // subsequent topic combinations. + let mut subscriptions = SubscriptionsInfo::new(); + + let (tx1, rx1) = async_channel::bounded::(10); + // topic1 will have NO subscriptions + let topic1 = Topic::from([1u8; 32]); + // topic2 WILL have a subscription + let topic2 = Topic::from([2u8; 32]); + + // Subscribe only to topic2 with MatchAll filter. + let sub_info1 = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAll(vec![topic2].into_iter().collect()), + seq_id: SeqID::from(1), + tx: tx1, + }; + subscriptions.subscribe(sub_info1); + + // Create a statement with BOTH topics. topic1 comes first (lower bytes). + // When iterating combinations(1), [topic1] is checked before [topic2]. + // Since topic1 has no subscriptions, the buggy `return` exits early, + // preventing the [topic2] combination from being checked. + let mut statement = signed_statement(1); + statement.set_topic(0, topic1); + statement.set_topic(1, topic2); + + subscriptions.notify_match_all_subscribers_best(&statement); + + // With the bug: rx1.try_recv() fails because the function returned early. + // With the fix: rx1.try_recv() succeeds because [topic2] combination is checked. + let received = rx1.try_recv().expect( + "Should receive statement - if this fails, the `return` bug in \ + notify_match_all_subscribers_best is present (should be `continue`)", + ); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement); + } + + #[tokio::test] + async fn test_handle_with_match_any_filter() { + let subscriptions_handle = + SubscriptionsHandle::new(Box::new(sp_core::testing::TaskExecutor::new()), 2); + + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + + let (_tx, mut stream) = subscriptions_handle + .subscribe(OptimizedTopicFilter::MatchAny(vec![topic1, topic2].into_iter().collect())); + + // Statement matching only topic1. + let mut statement1 = signed_statement(1); + statement1.set_topic(0, topic1); + subscriptions_handle.notify(statement1.clone()); + + let received = stream.next().await.expect("Should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement1); + + // Statement matching only topic2. + let mut statement2 = signed_statement(2); + statement2.set_topic(0, topic2); + subscriptions_handle.notify(statement2.clone()); + + let received = stream.next().await.expect("Should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement2); + } + + #[tokio::test] + async fn test_handle_with_any_filter() { + let subscriptions_handle = + SubscriptionsHandle::new(Box::new(sp_core::testing::TaskExecutor::new()), 2); + + let (_tx, mut stream) = subscriptions_handle.subscribe(OptimizedTopicFilter::Any); + + // Send statements with various topics. + let statement1 = signed_statement(1); + subscriptions_handle.notify(statement1.clone()); + + let received = stream.next().await.expect("Should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement1); + + let mut statement2 = signed_statement(2); + statement2.set_topic(0, Topic::from([99u8; 32])); + subscriptions_handle.notify(statement2.clone()); + + let received = stream.next().await.expect("Should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement2); + } + + #[tokio::test] + async fn test_handle_multiple_subscribers_different_filters() { + let subscriptions_handle = + SubscriptionsHandle::new(Box::new(sp_core::testing::TaskExecutor::new()), 2); + + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + + // Subscriber 1: MatchAll on topic1 and topic2. + let (_tx1, mut stream1) = subscriptions_handle + .subscribe(OptimizedTopicFilter::MatchAll(vec![topic1, topic2].into_iter().collect())); + + // Subscriber 2: MatchAny on topic1. + let (_tx2, mut stream2) = subscriptions_handle + .subscribe(OptimizedTopicFilter::MatchAny(vec![topic1].into_iter().collect())); + + // Subscriber 3: Any. + let (_tx3, mut stream3) = subscriptions_handle.subscribe(OptimizedTopicFilter::Any); + + // Statement matching only topic1. + let mut statement1 = signed_statement(1); + statement1.set_topic(0, topic1); + subscriptions_handle.notify(statement1.clone()); + + // stream1 should NOT receive (needs both topics). + // stream2 should receive (MatchAny topic1). + // stream3 should receive (Any). + + let received2 = stream2.next().await.expect("stream2 should receive"); + let decoded2: Statement = Statement::decode(&mut &received2.0[..]).unwrap(); + assert_eq!(decoded2, statement1); + + let received3 = stream3.next().await.expect("stream3 should receive"); + let decoded3: Statement = Statement::decode(&mut &received3.0[..]).unwrap(); + assert_eq!(decoded3, statement1); + + // Statement matching both topics. + let mut statement2 = signed_statement(2); + statement2.set_topic(0, topic1); + statement2.set_topic(1, topic2); + subscriptions_handle.notify(statement2.clone()); + + // All should receive. + let received1 = stream1.next().await.expect("stream1 should receive"); + let decoded1: Statement = Statement::decode(&mut &received1.0[..]).unwrap(); + assert_eq!(decoded1, statement2); + + let received2 = stream2.next().await.expect("stream2 should receive"); + let decoded2: Statement = Statement::decode(&mut &received2.0[..]).unwrap(); + assert_eq!(decoded2, statement2); + + let received3 = stream3.next().await.expect("stream3 should receive"); + let decoded3: Statement = Statement::decode(&mut &received3.0[..]).unwrap(); + assert_eq!(decoded3, statement2); + } + + #[test] + fn test_statement_without_topics_matches_only_any_filter() { + let mut subscriptions = SubscriptionsInfo::new(); + + let (tx_match_all, rx_match_all) = async_channel::bounded::(10); + let (tx_match_any, rx_match_any) = async_channel::bounded::(10); + let (tx_any, rx_any) = async_channel::bounded::(10); + + let topic1 = Topic::from([8u8; 32]); + let topic2 = Topic::from([9u8; 32]); + + // Subscribe with MatchAll filter. + let sub_match_all = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAll( + vec![topic1, topic2].into_iter().collect(), + ), + seq_id: SeqID::from(1), + tx: tx_match_all, + }; + subscriptions.subscribe(sub_match_all); + + // Subscribe with MatchAny filter. + let sub_match_any = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::MatchAny( + vec![topic1, topic2].into_iter().collect(), + ), + seq_id: SeqID::from(2), + tx: tx_match_any, + }; + subscriptions.subscribe(sub_match_any); + + // Subscribe with Any filter. + let sub_any = SubscriptionInfo { + topic_filter: OptimizedTopicFilter::Any, + seq_id: SeqID::from(3), + tx: tx_any, + }; + subscriptions.subscribe(sub_any); + + // Create a statement without any topics set. + let statement = signed_statement(1); + assert!(statement.topics().is_empty(), "Statement should have no topics"); + + // Notify all matching filters. + subscriptions.notify_matching_filters(&statement); + + // Any should receive (matches all statements regardless of topics). + let received = rx_any.try_recv().expect("Any filter should receive statement"); + let decoded_statement: Statement = + Statement::decode(&mut &received.0[..]).expect("Should decode statement"); + assert_eq!(decoded_statement, statement); + + // MatchAll should NOT receive (statement has no topics, filter requires topic1 AND topic2). + assert!( + rx_match_all.try_recv().is_err(), + "MatchAll should not receive statement without topics" + ); + + // MatchAny should NOT receive (statement has no topics, filter requires topic1 OR topic2). + assert!( + rx_match_any.try_recv().is_err(), + "MatchAny should not receive statement without topics" + ); + } +} diff --git a/substrate/client/storage-monitor/src/lib.rs b/substrate/client/storage-monitor/src/lib.rs index 28d9063e5e4b7..cea5e79939327 100644 --- a/substrate/client/storage-monitor/src/lib.rs +++ b/substrate/client/storage-monitor/src/lib.rs @@ -108,7 +108,7 @@ impl StorageMonitorService { loop { tokio::time::sleep(self.polling_period).await; if Self::check_free_space(&self.path, self.threshold).is_err() { - break + break; }; } } diff --git a/substrate/client/sysinfo/src/sysinfo.rs b/substrate/client/sysinfo/src/sysinfo.rs index 824e950da19d5..45647e397b776 100644 --- a/substrate/client/sysinfo/src/sysinfo.rs +++ b/substrate/client/sysinfo/src/sysinfo.rs @@ -100,8 +100,9 @@ impl Metric { match self { Self::Sr25519Verify => Cow::Borrowed("SR25519-Verify"), Self::Blake2256 => Cow::Borrowed("BLAKE2-256"), - Self::Blake2256Parallel { num_cores } => - Cow::Owned(format!("BLAKE2-256-Parallel-{}", num_cores)), + Self::Blake2256Parallel { num_cores } => { + Cow::Owned(format!("BLAKE2-256-Parallel-{}", num_cores)) + }, Self::MemCopy => Cow::Borrowed("Copy"), Self::DiskSeqWrite => Cow::Borrowed("Seq Write"), Self::DiskRndWrite => Cow::Borrowed("Rnd Write"), @@ -208,7 +209,7 @@ where S: Serializer, { if let Some(throughput) = maybe_throughput { - return serializer.serialize_some(&(throughput.as_mibs() as u64)) + return serializer.serialize_some(&(throughput.as_mibs() as u64)); } serializer.serialize_none() } @@ -287,7 +288,7 @@ pub(crate) fn benchmark( elapsed = timestamp.elapsed(); if elapsed >= max_duration { - break + break; } } @@ -723,35 +724,38 @@ impl Requirements { let mut failures = Vec::new(); for requirement in self.0.iter() { if requirement.validator_only && !is_rc_authority { - continue + continue; } match requirement.metric { - Metric::Blake2256 => + Metric::Blake2256 => { if requirement.minimum > hwbench.cpu_hashrate_score { failures.push(CheckFailure { metric: requirement.metric, expected: requirement.minimum, found: hwbench.cpu_hashrate_score, }); - }, - Metric::Blake2256Parallel { .. } => + } + }, + Metric::Blake2256Parallel { .. } => { if requirement.minimum > hwbench.parallel_cpu_hashrate_score { failures.push(CheckFailure { metric: requirement.metric, expected: requirement.minimum, found: hwbench.parallel_cpu_hashrate_score, }); - }, - Metric::MemCopy => + } + }, + Metric::MemCopy => { if requirement.minimum > hwbench.memory_memcpy_score { failures.push(CheckFailure { metric: requirement.metric, expected: requirement.minimum, found: hwbench.memory_memcpy_score, }); - }, - Metric::DiskSeqWrite => + } + }, + Metric::DiskSeqWrite => { if let Some(score) = hwbench.disk_sequential_write_score { if requirement.minimum > score { failures.push(CheckFailure { @@ -760,8 +764,9 @@ impl Requirements { found: score, }); } - }, - Metric::DiskRndWrite => + } + }, + Metric::DiskRndWrite => { if let Some(score) = hwbench.disk_random_write_score { if requirement.minimum > score { failures.push(CheckFailure { @@ -770,7 +775,8 @@ impl Requirements { found: score, }); } - }, + } + }, Metric::Sr25519Verify => {}, } } diff --git a/substrate/client/telemetry/src/endpoints.rs b/substrate/client/telemetry/src/endpoints.rs index c49b114152ae1..e7ce0e8ee4054 100644 --- a/substrate/client/telemetry/src/endpoints.rs +++ b/substrate/client/telemetry/src/endpoints.rs @@ -65,7 +65,7 @@ fn url_to_multiaddr(url: &str) -> Result { // If not, try the `ws://path/url` format. if let Ok(ma) = multiaddr::from_url(url) { - return Ok(ma) + return Ok(ma); } // If we have no clue about the format of that string, assume that we were expecting a diff --git a/substrate/client/telemetry/src/lib.rs b/substrate/client/telemetry/src/lib.rs index 7e3a4ee863930..6b866898dfb23 100644 --- a/substrate/client/telemetry/src/lib.rs +++ b/substrate/client/telemetry/src/lib.rs @@ -265,7 +265,7 @@ impl TelemetryWorker { "Could not initialise transport: {}", err, ); - continue + continue; }, }; entry.insert(Node::new(transport, addr.clone(), Vec::new(), Vec::new())) @@ -330,12 +330,12 @@ impl TelemetryWorker { message, )), ); - return + return; }; for (node_max_verbosity, addr) in nodes { if verbosity > *node_max_verbosity { - continue + continue; } if let Some(node) = node_pool.get_mut(addr) { diff --git a/substrate/client/telemetry/src/node.rs b/substrate/client/telemetry/src/node.rs index 2c8d424c4340f..f4b0f6514e7d6 100644 --- a/substrate/client/telemetry/src/node.rs +++ b/substrate/client/telemetry/src/node.rs @@ -130,7 +130,7 @@ where ) -> Poll> { while let Some(item) = conn.buf.pop() { if let Err(e) = conn.sink.start_send_unpin(item) { - return Poll::Ready(Err(e)) + return Poll::Ready(Err(e)); } futures::ready!(conn.sink.poll_ready_unpin(cx))?; } @@ -163,11 +163,11 @@ where }, Poll::Ready(Ok(())) => { self.socket = NodeSocket::Connected(conn); - return Poll::Ready(Ok(())) + return Poll::Ready(Ok(())); }, Poll::Pending => { self.socket = NodeSocket::Connected(conn); - return Poll::Pending + return Poll::Pending; }, } }, @@ -177,7 +177,7 @@ where }, Poll::Pending => { self.socket = NodeSocket::Connected(conn); - return Poll::Pending + return Poll::Pending; }, }, NodeSocket::Dialing(mut s) => match Future::poll(Pin::new(&mut s), cx) { @@ -193,7 +193,7 @@ where log::debug!(target: "telemetry", "Failed to send a telemetry connection notification: {}", error); } else { self.telemetry_connection_notifier.swap_remove(index); - continue + continue; } } index += 1; @@ -229,7 +229,7 @@ where }, Poll::Pending => break NodeSocket::Dialing(s), Poll::Ready(Err(err)) => { - log::warn!(target: "telemetry", "❌ Error while dialing {}: {:?}", self.addr, err); + log::debug!(target: "telemetry", "❌ Error while dialing {}: {:?}", self.addr, err); socket = NodeSocket::wait_reconnect(); }, }, @@ -253,12 +253,12 @@ where if Future::poll(Pin::new(&mut s), cx).is_ready() { socket = NodeSocket::ReconnectNow; } else { - break NodeSocket::WaitingReconnect(s) + break NodeSocket::WaitingReconnect(s); } }, NodeSocket::Poisoned => { log::error!(target: "telemetry", "‼️ Poisoned connection with {}", self.addr); - break NodeSocket::Poisoned + break NodeSocket::Poisoned; }, } }; diff --git a/substrate/client/telemetry/src/transport.rs b/substrate/client/telemetry/src/transport.rs index ca6ceecbed63b..5e6e118b20c5f 100644 --- a/substrate/client/telemetry/src/transport.rs +++ b/substrate/client/telemetry/src/transport.rs @@ -111,7 +111,7 @@ impl StreamSink { log::error!(target: "telemetry", "Detected some internal buffering happening in the telemetry"); let err = io::Error::new(io::ErrorKind::Other, "Internal buffering detected"); - return Poll::Ready(Err(err)) + return Poll::Ready(Err(err)); } } diff --git a/substrate/client/tracing/benches/common/mod.rs b/substrate/client/tracing/benches/common/mod.rs index 278eba1f11f4b..5fc32324c33e6 100644 --- a/substrate/client/tracing/benches/common/mod.rs +++ b/substrate/client/tracing/benches/common/mod.rs @@ -71,13 +71,14 @@ fn parse_interest_cache_config() -> Option { let value = parts[1].trim(); match key { - "lru_cache_size" => + "lru_cache_size" => { if let Ok(size) = value.parse::() { config = config.with_lru_cache_size(size); eprintln!("Interest cache: lru_cache_size = {}", size); } else { eprintln!("Invalid lru_cache_size value '{}'", value); - }, + } + }, "min_verbosity" => { let level = match value.to_lowercase().as_str() { "error" => Some(Level::Error), diff --git a/substrate/client/tracing/proc-macro/src/lib.rs b/substrate/client/tracing/proc-macro/src/lib.rs index 5bfe66cda3ee2..849de898d11ce 100644 --- a/substrate/client/tracing/proc-macro/src/lib.rs +++ b/substrate/client/tracing/proc-macro/src/lib.rs @@ -123,19 +123,40 @@ pub fn prefix_logs_with(arg: TokenStream, item: TokenStream) -> TokenStream { let syn::ItemFn { attrs, vis, sig, block } = item_fn; - (quote! { - #(#attrs)* - #vis #sig { - let span = #crate_name::tracing::info_span!( - #crate_name::logging::PREFIX_LOG_SPAN, - name = #prefix_expr, - ); - let _enter = span.enter(); + if sig.asyncness.is_some() { + // For async functions, use `Instrument::instrument` to properly propagate the span + // across `.await` points. Using `span.enter()` in async functions is incorrect because + // the guard can be held across `.await` points where the task may migrate between + // threads, losing the span from thread-local state. + (quote! { + #(#attrs)* + #vis #sig { + let span = #crate_name::tracing::info_span!( + #crate_name::logging::PREFIX_LOG_SPAN, + name = #prefix_expr, + ); - #block - } - }) - .into() + #crate_name::tracing::Instrument::instrument(async move { + #block + }, span).await + } + }) + .into() + } else { + (quote! { + #(#attrs)* + #vis #sig { + let span = #crate_name::tracing::info_span!( + #crate_name::logging::PREFIX_LOG_SPAN, + name = #prefix_expr, + ); + let _enter = span.enter(); + + #block + } + }) + .into() + } } /// Resolve the correct path for sc_tracing: diff --git a/substrate/client/tracing/src/block/mod.rs b/substrate/client/tracing/src/block/mod.rs index 7192b4dc2ada7..ea6e01b87e6d2 100644 --- a/substrate/client/tracing/src/block/mod.rs +++ b/substrate/client/tracing/src/block/mod.rs @@ -135,12 +135,12 @@ impl BlockSubscriber { impl Subscriber for BlockSubscriber { fn enabled(&self, metadata: &tracing::Metadata<'_>) -> bool { if !metadata.is_span() && metadata.fields().field(REQUIRED_EVENT_FIELD).is_none() { - return false + return false; } for (target, level) in &self.targets { if metadata.level() <= level && metadata.target().starts_with(target) { - return true + return true; } } @@ -286,7 +286,7 @@ where }) { return Err(Error::Dispatch(format!( "Failed to collect traces and execute block: {e:?}" - ))) + ))); } } @@ -361,7 +361,7 @@ fn patch_and_filter(mut span: SpanDatum, targets: &str) -> Option { span.target = t; } if !check_target(targets, &span.target, &span.level) { - return None + return None; } } @@ -372,7 +372,7 @@ fn patch_and_filter(mut span: SpanDatum, targets: &str) -> Option { fn check_target(targets: &str, target: &str, level: &Level) -> bool { for (t, l) in targets.split(',').map(crate::parse_target) { if target.starts_with(t.as_str()) && level <= &l { - return true + return true; } } diff --git a/substrate/client/tracing/src/lib.rs b/substrate/client/tracing/src/lib.rs index ba4d1a15cc0cd..4656f8b7547a2 100644 --- a/substrate/client/tracing/src/lib.rs +++ b/substrate/client/tracing/src/lib.rs @@ -250,7 +250,7 @@ impl ProfilingLayer { fn check_target(&self, target: &str, level: &Level) -> bool { for t in &self.targets { if target.starts_with(t.0.as_str()) && level <= &t.1 { - return true + return true; } } false @@ -329,7 +329,7 @@ where fn on_event(&self, event: &Event<'_>, ctx: Context) { if !self.check_target(event.metadata().target(), &event.metadata().level()) { - return + return; } let parent_id = event.parent().cloned().or_else(|| { diff --git a/substrate/client/tracing/src/logging/event_format.rs b/substrate/client/tracing/src/logging/event_format.rs index 805b66d82fd51..ebf8fb0519b0f 100644 --- a/substrate/client/tracing/src/logging/event_format.rs +++ b/substrate/client/tracing/src/logging/event_format.rs @@ -89,7 +89,7 @@ where let exts = span.extensions(); if let Some(prefix) = exts.get::() { write!(&mut writer, "{}", prefix.as_str())?; - break + break; } } } diff --git a/substrate/client/tracing/src/logging/layers/prefix_layer.rs b/substrate/client/tracing/src/logging/layers/prefix_layer.rs index f73f06bb53207..12ea1e766d649 100644 --- a/substrate/client/tracing/src/logging/layers/prefix_layer.rs +++ b/substrate/client/tracing/src/logging/layers/prefix_layer.rs @@ -42,12 +42,12 @@ where "newly created span with ID {:?} did not exist in the registry; this is a bug!", id ); - return + return; }, }; if span.name() != PREFIX_LOG_SPAN { - return + return; } let mut extensions = span.extensions_mut(); diff --git a/substrate/client/tracing/src/logging/stderr_writer.rs b/substrate/client/tracing/src/logging/stderr_writer.rs index 481efd32e50b2..30c76dbb1b9a4 100644 --- a/substrate/client/tracing/src/logging/stderr_writer.rs +++ b/substrate/client/tracing/src/logging/stderr_writer.rs @@ -105,9 +105,9 @@ fn log_autoflush_thread() { buffer = BUFFER.lock(); if buffer.len() >= ASYNC_FLUSH_THRESHOLD { // While we were busy flushing we picked up enough logs to do another flush. - continue + continue; } else { - break + break; } } } diff --git a/substrate/client/transaction-pool/api/src/lib.rs b/substrate/client/transaction-pool/api/src/lib.rs index 8feadff359f13..fcb005b5522ba 100644 --- a/substrate/client/transaction-pool/api/src/lib.rs +++ b/substrate/client/transaction-pool/api/src/lib.rs @@ -526,7 +526,7 @@ impl sp_core::offchain::TransactionPool for OffchainTransactionPo "Failed to decode extrinsic in `OffchainTransactionPool::submit_transaction`: {e:?}" ); - return Err(()) + return Err(()); }, }; diff --git a/substrate/client/transaction-pool/benches/basics.rs b/substrate/client/transaction-pool/benches/basics.rs index bbd8b536abd1d..e40ae67ae4471 100644 --- a/substrate/client/transaction-pool/benches/basics.rs +++ b/substrate/client/transaction-pool/benches/basics.rs @@ -103,8 +103,9 @@ impl ChainApi for TestApi { ) -> Result>, Self::Error> { Ok(match at { BlockId::Number(num) => Some(*num), - BlockId::Hash(hash) if *hash == H256::from_low_u64_be(hash.to_low_u64_be()) => - Some(hash.to_low_u64_be()), + BlockId::Hash(hash) if *hash == H256::from_low_u64_be(hash.to_low_u64_be()) => { + Some(hash.to_low_u64_be()) + }, BlockId::Hash(_) => None, }) } diff --git a/substrate/client/transaction-pool/src/common/enactment_state.rs b/substrate/client/transaction-pool/src/common/enactment_state.rs index 18fc6d40f0ac4..1ec1ed48c0879 100644 --- a/substrate/client/transaction-pool/src/common/enactment_state.rs +++ b/substrate/client/transaction-pool/src/common/enactment_state.rs @@ -107,21 +107,22 @@ where // do not proceed with txpool maintain if block distance is too high let skip_maintenance = match (hash_to_number(new_hash), hash_to_number(self.recent_best_block)) { - (Ok(Some(new)), Ok(Some(current))) => - new.saturating_sub(current) > SKIP_MAINTENANCE_THRESHOLD.into(), + (Ok(Some(new)), Ok(Some(current))) => { + new.saturating_sub(current) > SKIP_MAINTENANCE_THRESHOLD.into() + }, _ => true, }; if skip_maintenance { debug!(target: LOG_TARGET, "skip maintain: tree_route would be too long"); self.force_update(event); - return Ok(EnactmentAction::Skip) + return Ok(EnactmentAction::Skip); } // block was already finalized if self.recent_finalized_block == new_hash { trace!(target: LOG_TARGET, "handle_enactment: block already finalized"); - return Ok(EnactmentAction::Skip) + return Ok(EnactmentAction::Skip); } // compute actual tree route from best_block to notified block, and use @@ -148,7 +149,7 @@ where ?new_hash, "Recently finalized block would be retracted by ChainEvent, skipping" ); - return Ok(EnactmentAction::Skip) + return Ok(EnactmentAction::Skip); } if finalized { @@ -160,7 +161,7 @@ where // remains valid. if tree_route.enacted().is_empty() { trace!(target: LOG_TARGET, "handle_enactment: no newly enacted blocks since recent best block"); - return Ok(EnactmentAction::HandleFinalization) + return Ok(EnactmentAction::HandleFinalization); } // otherwise enacted finalized block becomes best block... diff --git a/substrate/client/transaction-pool/src/common/tests.rs b/substrate/client/transaction-pool/src/common/tests.rs index bd36bc8adbe4a..7ce26fdc587c9 100644 --- a/substrate/client/transaction-pool/src/common/tests.rs +++ b/substrate/client/transaction-pool/src/common/tests.rs @@ -178,8 +178,9 @@ impl ChainApi for TestApi { ) -> Result>, Self::Error> { Ok(match at { BlockId::Number(num) => Some(*num), - BlockId::Hash(hash) if *hash == H256::from_low_u64_be(hash.to_low_u64_be()) => - Some(hash.to_low_u64_be()), + BlockId::Hash(hash) if *hash == H256::from_low_u64_be(hash.to_low_u64_be()) => { + Some(hash.to_low_u64_be()) + }, BlockId::Hash(_) => None, }) } diff --git a/substrate/client/transaction-pool/src/fork_aware_txpool/dropped_watcher.rs b/substrate/client/transaction-pool/src/fork_aware_txpool/dropped_watcher.rs index e46022cf6bdb6..98903d289e3a2 100644 --- a/substrate/client/transaction-pool/src/fork_aware_txpool/dropped_watcher.rs +++ b/substrate/client/transaction-pool/src/fork_aware_txpool/dropped_watcher.rs @@ -178,12 +178,12 @@ where ) -> Option, HashSet>>> { if let Entry::Occupied(views_keeping_tx_valid) = self.ready_transaction_views.entry(tx_hash) { - return Some(views_keeping_tx_valid) + return Some(views_keeping_tx_valid); } if let Entry::Occupied(views_keeping_tx_valid) = self.future_transaction_views.entry(tx_hash) { - return Some(views_keeping_tx_valid) + return Some(views_keeping_tx_valid); } None } @@ -289,24 +289,25 @@ where if let Some(mut views_keeping_tx_valid) = self.transaction_views(tx_hash) { views_keeping_tx_valid.get_mut().remove(&block_hash); if views_keeping_tx_valid.get().is_empty() { - return Some(DroppedTransaction::new_enforced_by_limts(tx_hash)) + return Some(DroppedTransaction::new_enforced_by_limts(tx_hash)); } } else { debug!(target: LOG_TARGET, ?tx_hash, "dropped_watcher: removing (non-tracked dropped) tx"); - return Some(DroppedTransaction::new_enforced_by_limts(tx_hash)) + return Some(DroppedTransaction::new_enforced_by_limts(tx_hash)); } }, - TransactionStatus::Usurped(by) => - return Some(DroppedTransaction::new_usurped(tx_hash, by)), + TransactionStatus::Usurped(by) => { + return Some(DroppedTransaction::new_usurped(tx_hash, by)) + }, TransactionStatus::Invalid => { if let Some(mut views_keeping_tx_valid) = self.transaction_views(tx_hash) { views_keeping_tx_valid.get_mut().remove(&block_hash); if views_keeping_tx_valid.get().is_empty() { - return Some(DroppedTransaction::new_invalid(tx_hash)) + return Some(DroppedTransaction::new_invalid(tx_hash)); } } else { debug!(target: LOG_TARGET, ?tx_hash, "dropped_watcher: removing (non-tracked invalid) tx"); - return Some(DroppedTransaction::new_invalid(tx_hash)) + return Some(DroppedTransaction::new_invalid(tx_hash)); } }, _ => {}, @@ -320,13 +321,13 @@ where // never drop transaction that was seen as ready. It may not have a referencing // view now, but such fork can appear. if self.ready_transaction_views.get(&tx_hash).is_some() { - continue + continue; } if let Some(views) = self.future_transaction_views.get(&tx_hash) { if views.is_empty() { self.future_transaction_views.remove(&tx_hash); - return Some(DroppedTransaction::new_enforced_by_limts(tx_hash)) + return Some(DroppedTransaction::new_enforced_by_limts(tx_hash)); } } } @@ -339,7 +340,7 @@ where /// transactions. Returns a tuple containing this stream and the controller for managing /// this stream. fn event_stream() -> (StreamOfDropped, Controller>) { - //note: 64 allows to avoid warning messages during execution of unit tests. + // note: 64 allows to avoid warning messages during execution of unit tests. const CHANNEL_SIZE: usize = 64; let (sender, command_receiver) = sc_utils::mpsc::tracing_unbounded::>( "tx-pool-dropped-watcher-cmd-stream", diff --git a/substrate/client/transaction-pool/src/fork_aware_txpool/fork_aware_txpool.rs b/substrate/client/transaction-pool/src/fork_aware_txpool/fork_aware_txpool.rs index d5cd2accc5043..2415abfdd708a 100644 --- a/substrate/client/transaction-pool/src/fork_aware_txpool/fork_aware_txpool.rs +++ b/substrate/client/transaction-pool/src/fork_aware_txpool/fork_aware_txpool.rs @@ -85,8 +85,8 @@ const FINALITY_TIMEOUT_THRESHOLD: usize = 128; /// The number of transactions that will be sent from the mempool to the newly created view during /// the maintain process. -//todo [#8835]: better approach is needed - maybe time-budget approach? -//note: yap parachain block size. +// todo [#8835]: better approach is needed - maybe time-budget approach? +// note: yap parachain block size. const MEMPOOL_TO_VIEW_BATCH_SIZE: usize = 7_000; /// Fork aware transaction pool task, that needs to be polled. @@ -748,9 +748,10 @@ where let insertion = match self.mempool.push_watched(source, at_number, xt.clone()).await { Ok(result) => result, - Err(TxPoolApiError::ImmediatelyDropped) => + Err(TxPoolApiError::ImmediatelyDropped) => { self.attempt_transaction_replacement(source, at_number, true, xt.clone()) - .await?, + .await? + }, Err(e) => return Err(e.into()), }; @@ -794,7 +795,7 @@ where return Ok(mempool_results .into_iter() .map(|r| r.map(|r| r.hash).map_err(Into::into)) - .collect::>()) + .collect::>()); } // Submit all the transactions to the mempool @@ -803,8 +804,9 @@ where .zip(xts.clone()) .map(|(result, xt)| async move { match result { - Err(TxPoolApiError::ImmediatelyDropped) => - self.attempt_transaction_replacement(source, at_number, false, xt).await, + Err(TxPoolApiError::ImmediatelyDropped) => { + self.attempt_transaction_replacement(source, at_number, false, xt).await + }, _ => result, } }) @@ -991,8 +993,9 @@ where "fatp::submit_one" ); match self.submit_at(_at, source, vec![xt]).await { - Ok(mut v) => - v.pop().expect("There is exactly one element in result of submit_at. qed."), + Ok(mut v) => { + v.pop().expect("There is exactly one element in result of submit_at. qed.") + }, Err(e) => Err(e), } } @@ -1230,7 +1233,7 @@ where ?tree_route, "Skipping ChainEvent - no last block in tree route" ); - return + return; }, }; @@ -1240,7 +1243,7 @@ where ?hash_and_number, "view already exists for block" ); - return + return; } let best_view = self.view_store.find_best_view(tree_route); @@ -1276,13 +1279,13 @@ where let Some(oldest_block_number) = included_transactions.first_key_value().map(|(k, _)| k.number) else { - return + return; }; if at.number.saturating_sub(oldest_block_number).into() <= self.finality_timeout_threshold.into() { - return + return; } let mut finality_timedout_blocks = @@ -1375,7 +1378,7 @@ where ); // 1. Capture all import notification from the very beginning, so first register all - //the listeners. + // the listeners. self.import_notification_sink.add_view( view.at.hash, view.pool.validated_pool().import_notification_stream().boxed(), @@ -1464,7 +1467,7 @@ where /// Returns a `Vec` of transactions hashes async fn fetch_block_transactions(&self, at: &HashAndNumber) -> Vec> { if let Some(txs) = self.included_transactions.lock().get(at) { - return txs.clone() + return txs.clone(); }; debug!( @@ -1502,7 +1505,7 @@ where let recent_finalized_block = self.enactment_state.lock().recent_finalized_block(); let Ok(tree_route) = self.api.tree_route(recent_finalized_block, at.hash) else { - return Default::default() + return Default::default(); }; let mut all_txs = HashSet::new(); @@ -1553,7 +1556,7 @@ where .with_transactions(|iter| { iter.filter(|(hash, _)| !view.is_imported(&hash) && !included_xts.contains(&hash)) .map(|(k, v)| (*k, v.clone())) - //todo [#8835]: better approach is needed - maybe time-budget approach? + // todo [#8835]: better approach is needed - maybe time-budget approach? .take(MEMPOOL_TO_VIEW_BATCH_SIZE) .collect::>() }) @@ -1720,7 +1723,7 @@ where self.metrics .report(|metrics| metrics.unknown_from_block_import_txs.inc_by(unknown_count as _)); - //resubmit + // resubmit { let mut resubmit_transactions = Vec::new(); @@ -1764,7 +1767,7 @@ where let mut result = vec![]; for (tx_hash, tx) in txs { result.push( - //find arc if tx is known + // find arc if tx is known self.mempool .get_by_hash(tx_hash) .await @@ -1890,7 +1893,7 @@ where .await; let Some(priority) = validated_tx.priority() else { - return Err(TxPoolApiError::ImmediatelyDropped) + return Err(TxPoolApiError::ImmediatelyDropped); }; let insertion_info = self @@ -1957,7 +1960,7 @@ where }); } - return Ok(insertion_info) + return Ok(insertion_info); } } @@ -1984,10 +1987,11 @@ where let compute_tree_route = |from, to| -> Result, String> { match self.api.tree_route(from, to) { Ok(tree_route) => Ok(tree_route), - Err(e) => + Err(e) => { return Err(format!( "Error occurred while computing tree_route from {from:?} to {to:?}: {e}" - )), + )) + }, } }; let block_id_to_number = @@ -2153,7 +2157,7 @@ mod reduce_multiview_result_tests { let input = HashMap::from_iter(v.clone()); let r = reduce_multiview_result(input); - //order in HashMap is random, the result shall be one of: + // order in HashMap is random, the result shall be one of: assert!(r == v[0].1 || r == v[1].1 || r == v[2].1); } diff --git a/substrate/client/transaction-pool/src/fork_aware_txpool/metrics.rs b/substrate/client/transaction-pool/src/fork_aware_txpool/metrics.rs index 7d2c38a366d94..5219f2b5ccccd 100644 --- a/substrate/client/transaction-pool/src/fork_aware_txpool/metrics.rs +++ b/substrate/client/transaction-pool/src/fork_aware_txpool/metrics.rs @@ -653,7 +653,7 @@ where ); }, None => { - return /* ? */ + return; // ? }, }; } diff --git a/substrate/client/transaction-pool/src/fork_aware_txpool/multi_view_listener.rs b/substrate/client/transaction-pool/src/fork_aware_txpool/multi_view_listener.rs index 396bc8a6a9282..c8ecfff6729a4 100644 --- a/substrate/client/transaction-pool/src/fork_aware_txpool/multi_view_listener.rs +++ b/substrate/client/transaction-pool/src/fork_aware_txpool/multi_view_listener.rs @@ -130,18 +130,24 @@ where fn into(self) -> TransactionStatus, BlockHash> { match self { TransactionStatusUpdate::Invalidated(_) => TransactionStatus::Invalid, - TransactionStatusUpdate::Finalized(_, hash, index) => - TransactionStatus::Finalized((*hash, *index)), - TransactionStatusUpdate::Broadcasted(_, peers) => - TransactionStatus::Broadcast(peers.clone()), - TransactionStatusUpdate::Dropped(_, DroppedReason::Usurped(by)) => - TransactionStatus::Usurped(*by), - TransactionStatusUpdate::Dropped(_, DroppedReason::LimitsEnforced) => - TransactionStatus::Dropped, - TransactionStatusUpdate::Dropped(_, DroppedReason::Invalid) => - TransactionStatus::Invalid, - TransactionStatusUpdate::FinalityTimeout(_, block_hash) => - TransactionStatus::FinalityTimeout(*block_hash), + TransactionStatusUpdate::Finalized(_, hash, index) => { + TransactionStatus::Finalized((*hash, *index)) + }, + TransactionStatusUpdate::Broadcasted(_, peers) => { + TransactionStatus::Broadcast(peers.clone()) + }, + TransactionStatusUpdate::Dropped(_, DroppedReason::Usurped(by)) => { + TransactionStatus::Usurped(*by) + }, + TransactionStatusUpdate::Dropped(_, DroppedReason::LimitsEnforced) => { + TransactionStatus::Dropped + }, + TransactionStatusUpdate::Dropped(_, DroppedReason::Invalid) => { + TransactionStatus::Invalid + }, + TransactionStatusUpdate::FinalityTimeout(_, block_hash) => { + TransactionStatus::FinalityTimeout(*block_hash) + }, } } } @@ -591,7 +597,7 @@ where futures::stream::unfold(external_ctx, |mut ctx| async move { if ctx.terminate { trace!(target: LOG_TARGET, tx_hash = ?ctx.tx_hash, "terminate"); - return None + return None; } loop { tokio::select! { @@ -1038,7 +1044,7 @@ mod tests { let tx_hash = H256::repeat_byte(0x0a); let external_watcher = listener.create_external_watcher_for_tx(tx_hash).unwrap(); - //views will keep transaction valid, invalidation shall not happen + // views will keep transaction valid, invalidation shall not happen let view_stream0 = futures::stream::iter(std::iter::repeat(tx_hash).zip(events0.clone())) .chain(stream::pending().boxed()); let view_stream1 = futures::stream::iter(std::iter::repeat(tx_hash).zip(events1.clone())) diff --git a/substrate/client/transaction-pool/src/fork_aware_txpool/revalidation_worker.rs b/substrate/client/transaction-pool/src/fork_aware_txpool/revalidation_worker.rs index be1c850aa09a2..3d5c2c60ece12 100644 --- a/substrate/client/transaction-pool/src/fork_aware_txpool/revalidation_worker.rs +++ b/substrate/client/transaction-pool/src/fork_aware_txpool/revalidation_worker.rs @@ -79,8 +79,9 @@ where break; }; match payload { - WorkerPayload::RevalidateView(view, worker_channels) => - view.revalidate(worker_channels).await, + WorkerPayload::RevalidateView(view, worker_channels) => { + view.revalidate(worker_channels).await + }, WorkerPayload::RevalidateMempool( mempool, view_store, @@ -195,7 +196,7 @@ where } #[cfg(test)] -//todo: add more tests [#5480] +// todo: add more tests [#5480] mod tests { use super::*; use crate::{ diff --git a/substrate/client/transaction-pool/src/fork_aware_txpool/tx_mem_pool.rs b/substrate/client/transaction-pool/src/fork_aware_txpool/tx_mem_pool.rs index 4957af09f8abd..55d2360a5c4d3 100644 --- a/substrate/client/transaction-pool/src/fork_aware_txpool/tx_mem_pool.rs +++ b/substrate/client/transaction-pool/src/fork_aware_txpool/tx_mem_pool.rs @@ -454,7 +454,7 @@ where /// Returns the number of bytes used by all extrinsics in the the pool. #[cfg(test)] pub fn bytes(&self) -> usize { - return self.transactions.bytes() + return self.transactions.bytes(); } /// Returns true if provided values would exceed defined limits. @@ -483,8 +483,9 @@ where transactions.insert(tx_hash, Arc::from(tx)); Ok(InsertionInfo::new(tx_hash, source)) }, - (_, true) => - Err(sc_transaction_pool_api::error::Error::AlreadyImported(Box::new(tx_hash))), + (_, true) => { + Err(sc_transaction_pool_api::error::Error::AlreadyImported(Box::new(tx_hash))) + }, (true, _) => Err(sc_transaction_pool_api::error::Error::ImmediatelyDropped), }; trace!( @@ -668,8 +669,9 @@ where let invalid_hashes = validation_results .into_iter() .filter_map(|(tx_hash, validation_result)| match validation_result { - Ok(Ok(_) | Err(TransactionValidityError::Invalid(InvalidTransaction::Future))) => - None, + Ok(Ok(_) | Err(TransactionValidityError::Invalid(InvalidTransaction::Future))) => { + None + }, Err(ref error) => { trace!( target: LOG_TARGET, @@ -768,7 +770,7 @@ where }); }; - //note: here the consistency is assumed: it is expected that transaction will be + // note: here the consistency is assumed: it is expected that transaction will be // actually removed from the listener with Invalid event. This means assumption that no view // is referencing tx as ready. let invalid_hashes_subtrees = invalid_hashes_subtrees.into_iter().collect::>(); @@ -1261,7 +1263,7 @@ mod tx_mem_pool_tests { mempool.update_transaction_priority(o.hash(), o.priority()).await; } - //this one should drop 2 xts (size: 1130): + // this one should drop 2 xts (size: 1130): let xt = Arc::from(ExtrinsicBuilder::new_include_data(vec![98 as u8; 1025]).build()); let (hash, length) = api.hash_and_length(&xt); assert_eq!(length, 1130); @@ -1303,7 +1305,7 @@ mod tx_mem_pool_tests { mempool.update_transaction_priority(o.hash(), o.priority()).await; } - //this one should drop 3 xts (each of size 1129) + // this one should drop 3 xts (each of size 1129) let xt = Arc::from(ExtrinsicBuilder::new_include_data(vec![98 as u8; 2154]).build()); let (hash, length) = api.hash_and_length(&xt); // overhead is 105, thus length: 105 + 2154 @@ -1375,7 +1377,7 @@ mod tx_mem_pool_tests { assert!(results.iter().all(Result::is_ok)); assert_eq!(mempool.bytes(), total_xts_bytes); - //this one could drop 3 xts (each of size 1129) + // this one could drop 3 xts (each of size 1129) let xt = Arc::from(ExtrinsicBuilder::new_include_data(vec![98 as u8; 2154]).build()); let length = api.hash_and_length(&xt).1; // overhead is 105, thus length: 105 + 2154 diff --git a/substrate/client/transaction-pool/src/fork_aware_txpool/tx_mem_pool/tx_mem_pool_map.rs b/substrate/client/transaction-pool/src/fork_aware_txpool/tx_mem_pool/tx_mem_pool_map.rs index 90f2421cd87ad..fc382950ea493 100644 --- a/substrate/client/transaction-pool/src/fork_aware_txpool/tx_mem_pool/tx_mem_pool_map.rs +++ b/substrate/client/transaction-pool/src/fork_aware_txpool/tx_mem_pool/tx_mem_pool_map.rs @@ -573,7 +573,7 @@ mod tests { #[case(2, 46, 50, 2, 100, 3, 98, 3, 98)] #[case(2, 47, 50, 4, 100, 3, 99, 2, 54)] #[case(1, 47, 50, 99, 100, 3, 98, 1, 99)] - #[case(1, 1, 1, 2, 100, 3, 3, 3, 4)] //always remove + #[case(1, 1, 1, 2, 100, 3, 3, 3, 4)] // always remove #[case(20, 30, 40, 150, 100, 3, 90, 3, 90)] #[case(10, 20, 30, 80, 100, 3, 60, 1, 80)] #[tokio::test] diff --git a/substrate/client/transaction-pool/src/fork_aware_txpool/view.rs b/substrate/client/transaction-pool/src/fork_aware_txpool/view.rs index 55192aa081423..efa70a542763a 100644 --- a/substrate/client/transaction-pool/src/fork_aware_txpool/view.rs +++ b/substrate/client/transaction-pool/src/fork_aware_txpool/view.rs @@ -185,7 +185,7 @@ impl graph::EventHandler for ViewPoolObserver { } fn finality_timeout(&self, tx: ExtrinsicHash, hash: BlockHash) { - //todo: do we need this? [related issue: #5482] + // todo: do we need this? [related issue: #5482] self.send_to_aggregated_stream_sink(tx, TransactionStatus::FinalityTimeout(hash)); } } @@ -429,9 +429,9 @@ where let batch: Vec<_> = validated_pool.ready().collect(); let batch_len = batch.len(); - //todo: sort batch by revalidation timestamp | maybe not needed at all? xts will be getting - //out of the view... - //todo: revalidate future, remove if invalid [#5496] + // todo: sort batch by revalidation timestamp | maybe not needed at all? xts will be getting + // out of the view... + // todo: revalidate future, remove if invalid [#5496] let mut invalid_hashes = Vec::new(); let mut revalidated = IndexMap::new(); @@ -610,7 +610,7 @@ where let Some(revalidation_worker_channels) = self.revalidation_worker_channels.lock().take() else { trace!(target:LOG_TARGET, "view::finish_revalidation: no finish_revalidation_request_tx"); - return + return; }; let FinishRevalidationLocalChannels { diff --git a/substrate/client/transaction-pool/src/fork_aware_txpool/view_store.rs b/substrate/client/transaction-pool/src/fork_aware_txpool/view_store.rs index a8cd923a4ab90..4db5b5c442a29 100644 --- a/substrate/client/transaction-pool/src/fork_aware_txpool/view_store.rs +++ b/substrate/client/transaction-pool/src/fork_aware_txpool/view_store.rs @@ -299,7 +299,7 @@ where ) -> Result, ChainApi::Error> { let tx_hash = self.api.hash_and_length(&xt).0; let Some(external_watcher) = self.listener.create_external_watcher_for_tx(tx_hash) else { - return Err(PoolError::AlreadyImported(Box::new(tx_hash)).into()) + return Err(PoolError::AlreadyImported(Box::new(tx_hash)).into()); }; let submit_futures = { let active_views = self.active_views.read(); @@ -330,8 +330,9 @@ where ); return Err(error); }, - Some(Ok(result)) => - Ok(ViewStoreSubmitOutcome::from(result).with_watcher(external_watcher)), + Some(Ok(result)) => { + Ok(ViewStoreSubmitOutcome::from(result).with_watcher(external_watcher)) + }, None => Ok(ViewStoreSubmitOutcome::new(tx_hash, None).with_watcher(external_watcher)), } } @@ -423,9 +424,9 @@ where self.most_recent_view.read().as_ref().map(|v| v.pool.validated_pool().ready()); if let Some(ready_iterator) = ready_iterator { - return Box::new(ready_iterator) + return Box::new(ready_iterator); } else { - return Box::new(std::iter::empty()) + return Box::new(std::iter::empty()); } } @@ -555,7 +556,7 @@ where view: Arc>, tree_route: &TreeRoute, ) { - //note: most_recent_view must be synced with changes in in/active_views. + // note: most_recent_view must be synced with changes in in/active_views. { let mut most_recent_view_lock = self.most_recent_view.write(); let mut active_views = self.active_views.write(); @@ -589,7 +590,7 @@ where } if allow_inactive { if let Some(view) = self.inactive_views.read().get(&at) { - return Some((view.clone(), true)) + return Some((view.clone(), true)); } }; None @@ -617,7 +618,7 @@ where let finalized_number = self.api.block_id_to_number(&BlockId::Hash(finalized_hash)); let mut dropped_views = vec![]; - //clean up older then finalized + // clean up older then finalized { let mut active_views = self.active_views.write(); let mut inactive_views = self.inactive_views.write(); @@ -655,7 +656,6 @@ where self.listener.remove_stale_controllers(); self.dropped_stream_controller.remove_transactions(finalized_xts.clone()); - self.listener.remove_view(finalized_hash); for view in dropped_views { self.listener.remove_view(view); self.dropped_stream_controller.remove_view(view); @@ -779,7 +779,7 @@ where if let Entry::Vacant(entry) = self.pending_txs_tasks.write().entry(replaced) { entry.insert(PendingPreInsertTask::new_submission_action(xt.clone(), source.clone())); } else { - return + return; }; let tx_hash = self.api.hash_and_length(&xt).0; diff --git a/substrate/client/transaction-pool/src/graph/base_pool.rs b/substrate/client/transaction-pool/src/graph/base_pool.rs index 72ec19264ec26..50a9f5e4130ac 100644 --- a/substrate/client/transaction-pool/src/graph/base_pool.rs +++ b/substrate/client/transaction-pool/src/graph/base_pool.rs @@ -312,7 +312,7 @@ impl BasePool) -> error::Result> { if self.is_imported(&tx.hash) { - return Err(error::Error::AlreadyImported(Box::new(tx.hash))) + return Err(error::Error::AlreadyImported(Box::new(tx.hash))); } let tx = WaitingTransaction::new(tx, self.ready.provided_tags(), &self.recently_pruned); @@ -327,12 +327,12 @@ impl BasePool BasePool BasePool BasePool BasePool worst, - Ordering::Equal => + Ordering::Equal => { if worst.insertion_id > transaction.insertion_id { transaction.clone() } else { worst - }, + } + }, Ordering::Greater => transaction.clone(), } }) @@ -496,7 +497,7 @@ impl BasePool BasePool + _ => { if worst.imported_at > current.imported_at { current.clone() } else { worst - }, + } + }, }, ), }); @@ -527,7 +529,7 @@ impl BasePool> Pool { let ignore_banned = matches!(check, CheckBannedBeforeVerify::No); if let Err(err) = self.validated_pool.check_is_known(&hash, ignore_banned) { - return (hash, ValidatedTransaction::Invalid(hash, err)) + return (hash, ValidatedTransaction::Invalid(hash, err)); } let validation_result = self @@ -553,7 +553,7 @@ impl> Pool { }; let validity = match status { - Ok(validity) => + Ok(validity) => { if validity.provides.is_empty() { ValidatedTransaction::Invalid(hash, error::Error::NoTagsProvided.into()) } else { @@ -565,11 +565,14 @@ impl> Pool { bytes, validity, ) - }, - Err(TransactionValidityError::Invalid(e)) => - ValidatedTransaction::Invalid(hash, error::Error::InvalidTransaction(e).into()), - Err(TransactionValidityError::Unknown(e)) => - ValidatedTransaction::Unknown(hash, error::Error::UnknownTransaction(e).into()), + } + }, + Err(TransactionValidityError::Invalid(e)) => { + ValidatedTransaction::Invalid(hash, error::Error::InvalidTransaction(e).into()) + }, + Err(TransactionValidityError::Unknown(e)) => { + ValidatedTransaction::Unknown(hash, error::Error::UnknownTransaction(e).into()) + }, }; (hash, validity) diff --git a/substrate/client/transaction-pool/src/graph/ready.rs b/substrate/client/transaction-pool/src/graph/ready.rs index 88986baa88ed1..692feb2ae3797 100644 --- a/substrate/client/transaction-pool/src/graph/ready.rs +++ b/substrate/client/transaction-pool/src/graph/ready.rs @@ -430,7 +430,7 @@ impl ReadyTransactions { // early exit if we are not replacing anything. if replace_hashes.is_empty() { - return Ok((vec![], vec![])) + return Ok((vec![], vec![])); } // now check if collective priority is lower than the replacement transaction. @@ -446,7 +446,7 @@ impl ReadyTransactions { // bail - the transaction has too low priority to replace the old ones if old_priority >= tx.priority { - return Err(error::Error::TooLowPriority { old: old_priority, new: tx.priority }) + return Err(error::Error::TooLowPriority { old: old_priority, new: tx.priority }); } // construct a list of unlocked transactions @@ -547,7 +547,7 @@ impl Iterator for BestIterator { ?tx_hash, "Skipping invalid child transaction while iterating." ); - continue + continue; } let ready = match self.all.get(tx_hash).cloned() { @@ -573,7 +573,7 @@ impl Iterator for BestIterator { } } - return Some(best.transaction) + return Some(best.transaction); } } } diff --git a/substrate/client/transaction-pool/src/graph/rotator.rs b/substrate/client/transaction-pool/src/graph/rotator.rs index 80d8f24144c8a..03215ac530f66 100644 --- a/substrate/client/transaction-pool/src/graph/rotator.rs +++ b/substrate/client/transaction-pool/src/graph/rotator.rs @@ -112,7 +112,7 @@ impl PoolRotator { xt: &Transaction, ) -> bool { if xt.valid_till > current_block { - return false + return false; } self.ban(now, iter::once(xt.hash.clone())); diff --git a/substrate/client/transaction-pool/src/graph/validated_pool.rs b/substrate/client/transaction-pool/src/graph/validated_pool.rs index fdd2f280dc205..7c61744fef864 100644 --- a/substrate/client/transaction-pool/src/graph/validated_pool.rs +++ b/substrate/client/transaction-pool/src/graph/validated_pool.rs @@ -318,8 +318,9 @@ impl> ValidatedPool { results .into_iter() .map(|res| match res { - Ok(outcome) if removed.contains(&outcome.hash) => - Err(error::Error::ImmediatelyDropped.into()), + Ok(outcome) if removed.contains(&outcome.hash) => { + Err(error::Error::ImmediatelyDropped.into()) + }, other => other, }) .collect() @@ -339,7 +340,7 @@ impl> ValidatedPool { "ValidatedPool::submit_one" ); if !tx.propagate && !(self.is_validator.0)() { - return Err(error::Error::Unactionable.into()) + return Err(error::Error::Unactionable.into()); } let imported = self.pool.write().import(tx)?; @@ -348,7 +349,7 @@ impl> ValidatedPool { let sinks = &mut self.import_notification_sinks.lock(); sinks.retain_mut(|sink| match sink.try_send(*hash) { Ok(()) => true, - Err(e) => + Err(e) => { if e.is_full() { warn!( target: LOG_TARGET, @@ -358,7 +359,8 @@ impl> ValidatedPool { true } else { false - }, + } + }, }); } @@ -774,7 +776,7 @@ impl> ValidatedPool { pub fn remove_invalid(&self, hashes: &[ExtrinsicHash]) -> Vec> { // early exit in case there is no invalid transactions. if hashes.is_empty() { - return vec![] + return vec![]; } let invalid = self.remove_subtree(hashes, true, |listener, removed_tx_hash| { diff --git a/substrate/client/transaction-pool/src/single_state_txpool/revalidation.rs b/substrate/client/transaction-pool/src/single_state_txpool/revalidation.rs index bf427c3d3a450..4784a7ba3e36d 100644 --- a/substrate/client/transaction-pool/src/single_state_txpool/revalidation.rs +++ b/substrate/client/transaction-pool/src/single_state_txpool/revalidation.rs @@ -83,7 +83,7 @@ async fn batch_revalidate( ?at, "Revalidation skipped: could not get block number" ); - return + return; }, Err(error) => { trace!( @@ -92,7 +92,7 @@ async fn batch_revalidate( ?error, "Revalidation skipped." ); - return + return; }, }; @@ -231,7 +231,7 @@ impl RevalidationWorker { "Skipped adding for revalidation: Already there." ); - continue + continue; } self.block_ordered diff --git a/substrate/client/transaction-pool/src/single_state_txpool/single_state_txpool.rs b/substrate/client/transaction-pool/src/single_state_txpool/single_state_txpool.rs index 162a0cd968686..a983d2e579569 100644 --- a/substrate/client/transaction-pool/src/single_state_txpool/single_state_txpool.rs +++ b/substrate/client/transaction-pool/src/single_state_txpool/single_state_txpool.rs @@ -198,8 +198,9 @@ where pool_api.clone(), )); let (revalidation_queue, background_task) = match revalidation_type { - RevalidationType::Light => - (revalidation::RevalidationQueue::new(pool_api.clone(), pool.clone()), None), + RevalidationType::Light => { + (revalidation::RevalidationQueue::new(pool_api.clone(), pool.clone()), None) + }, RevalidationType::Full => { let (queue, background) = revalidation::RevalidationQueue::new_background( pool_api.clone(), @@ -219,8 +220,9 @@ where pool, revalidation_queue: Arc::new(revalidation_queue), revalidation_strategy: Arc::new(Mutex::new(match revalidation_type { - RevalidationType::Light => - RevalidationStrategy::Light(RevalidationStatus::NotScheduled), + RevalidationType::Light => { + RevalidationStrategy::Light(RevalidationStatus::NotScheduled) + }, RevalidationType::Full => RevalidationStrategy::Always, })), ready_poll: Arc::new(Mutex::new(ReadyPoll::new(best_block_number))), @@ -368,7 +370,7 @@ where async fn ready_at(&self, at: ::Hash) -> ReadyIteratorFor { let Ok(at) = self.api.resolve_block_number(at) else { - return Box::new(std::iter::empty()) as Box<_> + return Box::new(std::iter::empty()) as Box<_>; }; let status = self.status(); @@ -377,7 +379,7 @@ where // There could be transaction being added because of some re-org happening at the relevant // block, but this is relative unlikely. if status.ready == 0 && status.future == 0 { - return Box::new(std::iter::empty()) as Box<_> + return Box::new(std::iter::empty()) as Box<_>; } if self.ready_poll.lock().updated_at() >= at { @@ -387,7 +389,7 @@ where "Transaction pool already processed block." ); let iterator: ReadyIteratorFor = Box::new(self.pool.validated_pool().ready()); - return iterator + return iterator; } let result = self.ready_poll.lock().add(at).map(|received| { @@ -626,11 +628,11 @@ pub async fn prune_known_txs_for_block< Ok(Some(h)) => h, Ok(None) => { trace!(target: LOG_TARGET, hash = ?at.hash, "Could not find header."); - return hashes + return hashes; }, Err(error) => { trace!(target: LOG_TARGET, hash = ?at.hash, ?error, "Error retrieving header."); - return hashes + return hashes; }, }; @@ -657,7 +659,7 @@ where Some(hash_and_number) => hash_and_number, None => { warn!(target: LOG_TARGET, ?tree_route, "Skipping ChainEvent - no last block in tree route."); - return + return; }, }; @@ -715,7 +717,7 @@ where let mut resubmitted_to_report = 0; resubmit_transactions.extend( - //todo: arctx - we need to get ref from somewhere + // todo: arctx - we need to get ref from somewhere block_transactions.into_iter().map(Arc::from).filter_map(|tx| { let tx_hash = pool.hash_of(&tx); let contains = pruned_log.contains(&tx_hash); @@ -777,10 +779,11 @@ where let compute_tree_route = |from, to| -> Result, String> { match self.api.tree_route(from, to) { Ok(tree_route) => Ok(tree_route), - Err(e) => + Err(e) => { return Err(format!( "Error occurred while computing tree_route from {from:?} to {to:?}: {e}" - )), + )) + }, } }; let block_id_to_number = diff --git a/substrate/client/transaction-pool/tests/fatp.rs b/substrate/client/transaction-pool/tests/fatp.rs index 1fd115966ef85..30b6488fe50c1 100644 --- a/substrate/client/transaction-pool/tests/fatp.rs +++ b/substrate/client/transaction-pool/tests/fatp.rs @@ -185,7 +185,7 @@ fn fatp_one_view_stale_submit_one_fails() { let submissions = vec![pool.submit_one(invalid_hash(), SOURCE, xt0.clone())]; let results = block_on(futures::future::join_all(submissions)); - //xt0 should be stale + // xt0 should be stale assert!(matches!( &results[0].as_ref().unwrap_err().0, TxPoolError::InvalidTransaction(InvalidTransaction::Stale,) @@ -217,7 +217,7 @@ fn fatp_one_view_stale_submit_many_fails() { let results = block_on(futures::future::join_all(submissions)); - //xts2 contains one ready transaction (nonce:200) + // xts2 contains one ready transaction (nonce:200) let mut results = results.into_iter().flat_map(|x| x.unwrap()).collect::>(); debug!(?results, "Results debug output"); assert!(results.pop().unwrap().is_ok()); @@ -292,14 +292,14 @@ fn fatp_one_view_ready_turns_to_stale_works() { let header = api.push_block(2, vec![], true); let block2 = header.hash(); - //tricky: typically the block2 shall contain conflicting transaction for Alice. In this test we - //want to check revalidation, so we manually adjust nonce. + // tricky: typically the block2 shall contain conflicting transaction for Alice. In this test we + // want to check revalidation, so we manually adjust nonce. api.set_nonce(block2, Alice.into(), 201); let event = new_best_block_event(&pool, Some(block1), block2); - //note: blocking revalidation (w/o background worker) which is used in this test will detect + // note: blocking revalidation (w/o background worker) which is used in this test will detect // xt0 is stale block_on(pool.maintain(event)); - //todo: should it work at all? (it requires better revalidation: mempool keeping validated txs) + // todo: should it work at all? (it requires better revalidation: mempool keeping validated txs) // assert_pool_status!(block2, &pool, 0, 0); // assert!(pool.ready(block2).unwrap().count() == 0); } @@ -410,13 +410,13 @@ fn fatp_two_views_submit_many_variations() { TxPoolError::InvalidTransaction(InvalidTransaction::Stale,) )); }); - //note: tx at 2 is valid at header01a and invalid at header01b + // note: tx at 2 is valid at header01a and invalid at header01b (2..5).for_each(|i| { assert_eq!(*results[i].as_ref().unwrap(), api.hash_and_length(&xts[i]).0); }); - //xt0 at index 5 (transaction from the imported block, gets banned when pruned) + // xt0 at index 5 (transaction from the imported block, gets banned when pruned) assert!(matches!(results[5].as_ref().unwrap_err().0, TxPoolError::TemporarilyBanned)); - //xt1 at index 6 + // xt1 at index 6 assert!(matches!(results[6].as_ref().unwrap_err().0, TxPoolError::AlreadyImported(_))); } @@ -442,7 +442,7 @@ fn fatp_linear_progress() { debug!(target: LOG_TARGET, ?event, "event"); block_on(pool.maintain(event)); - //note: we only keep tip of the fork + // note: we only keep tip of the fork assert_eq!(pool.active_views_count(), 1); assert_pool_status!(f13, &pool, 1, 0); } @@ -560,7 +560,7 @@ fn fatp_fork_reorg() { assert_pool_status!(f03, &pool, 1, 2); assert_pool_status!(f13, &pool, 6, 0); - //check if ready for block[1][3] contains resubmitted transactions + // check if ready for block[1][3] contains resubmitted transactions let mut expected = forks[0] .iter() .take(4) @@ -645,7 +645,7 @@ fn fatp_fork_stale_rejected() { let submission_results = block_on(futures::future::join_all(submissions)); let futures_f03 = pool.futures(); - //xt2 should be stale + // xt2 should be stale assert!(matches!( &submission_results[2].as_ref().unwrap_err().0, TxPoolError::InvalidTransaction(InvalidTransaction::Stale,) @@ -657,9 +657,9 @@ fn fatp_fork_stale_rejected() { assert_pool_status!(f03, &pool, 0, 2); - //xt2 was removed from the pool, it is not becoming future: - //note: theoretically we could keep xt2 in the pool, even if it was reported as stale. But it - //seems to be an unnecessary complication. + // xt2 was removed from the pool, it is not becoming future: + // note: theoretically we could keep xt2 in the pool, even if it was reported as stale. But it + // seems to be an unnecessary complication. assert_pool_status!(f13, &pool, 2, 0); let futures_f13 = pool.futures(); @@ -673,8 +673,8 @@ fn fatp_fork_stale_rejected() { #[test] fn fatp_fork_no_xts_ready_switch_to_future() { - //this scenario w/o xts is not likely to happen, but similar thing (xt changing from ready to - //future) could occur e.g. when runtime was updated on fork1. + // this scenario w/o xts is not likely to happen, but similar thing (xt changing from ready to + // future) could occur e.g. when runtime was updated on fork1. sp_tracing::try_init_simple(); // note: there are no xts in blocks! @@ -700,8 +700,8 @@ fn fatp_fork_no_xts_ready_switch_to_future() { // (todo: can we do better? shall we revalidate all future xts?) assert_pool_status!(f12, &pool, 1, 0); - //xt0 becomes future, and this may only happen after view revalidation (which happens on - //finalization). So trigger it. + // xt0 becomes future, and this may only happen after view revalidation (which happens on + // finalization). So trigger it. let event = finalized_block_event(&pool, api.genesis_hash(), f12); block_on(pool.maintain(event)); @@ -753,8 +753,8 @@ fn fatp_ready_at_does_not_trigger_after_submit() { #[test] fn fatp_ready_at_triggered_by_maintain() { - //this scenario w/o xts is not likely to happen, but similar thing (xt changing from ready to - //future) could occur e.g. when runtime was updated on fork1. + // this scenario w/o xts is not likely to happen, but similar thing (xt changing from ready to + // future) could occur e.g. when runtime was updated on fork1. sp_tracing::try_init_simple(); let (api, forks) = test_chain_with_forks::chain(Some(&|_, _| false)); let (pool, _) = pool_with_api(api.clone()); @@ -883,7 +883,7 @@ fn fatp_fork_finalization_removes_stale_views() { let event = new_best_block_event(&pool, Some(f00), f02); block_on(pool.maintain(event)); - //only views at the tips of the forks are kept + // only views at the tips of the forks are kept assert_eq!(pool.active_views_count(), 2); debug!(target: LOG_TARGET, pool_status = ?pool.status_all(), "stats"); @@ -1097,7 +1097,7 @@ fn fatp_watcher_two_finalized_in_different_block() { let header02 = api.push_block(2, vec![xt3.clone(), xt2.clone(), xt0.clone()], true); api.set_nonce(header02.hash(), Alice.into(), 201); - //note: no maintain for block02 (!) + // note: no maintain for block02 (!) let header03 = api.push_block(3, vec![xt1.clone()], true); block_on(pool.maintain(finalized_block_event(&pool, header01.hash(), header03.hash()))); @@ -1170,7 +1170,7 @@ fn fatp_no_view_pool_watcher_two_finalized_in_different_block() { api.set_nonce(header02.hash(), Alice.into(), 201); api.set_nonce(header02.hash(), Bob.into(), 201); api.set_nonce(header02.hash(), Dave.into(), 201); - //note: no maintain for block02 (!) + // note: no maintain for block02 (!) let header03 = api.push_block(3, vec![xt1.clone()], true); api.set_nonce(header03.hash(), Alice.into(), 202); @@ -1241,9 +1241,9 @@ fn fatp_watcher_in_block_across_many_blocks() { block_on(pool.maintain(event)); let _ = block_on(pool.submit_and_watch(invalid_hash(), SOURCE, xt2.clone())).unwrap(); - //note 1: transaction is not submitted to views that are not at the tip of the fork + // note 1: transaction is not submitted to views that are not at the tip of the fork assert_eq!(pool.active_views_count(), 1); - assert_eq!(pool.inactive_views_count(), 2); //gensis + 01 + assert_eq!(pool.inactive_views_count(), 2); // gensis + 01 assert_pool_status!(header02.hash(), &pool, 3, 0); let header03 = api.push_block(3, vec![xt0.clone()], true); @@ -1285,9 +1285,9 @@ fn fatp_watcher_in_block_across_many_blocks2() { block_on(pool.maintain(event)); let _ = block_on(pool.submit_and_watch(invalid_hash(), SOURCE, xt2.clone())).unwrap(); - //note 1: transaction is not submitted to views that are not at the tip of the fork + // note 1: transaction is not submitted to views that are not at the tip of the fork assert_eq!(pool.active_views_count(), 1); - assert_eq!(pool.inactive_views_count(), 2); //genesis + 01 + assert_eq!(pool.inactive_views_count(), 2); // genesis + 01 assert_pool_status!(header02.hash(), &pool, 3, 0); let header03 = api.push_block(3, vec![xt0.clone()], true); @@ -1579,11 +1579,11 @@ fn fatp_watcher_switching_fork_multiple_times_works() { let xt1_watcher = block_on(pool.submit_and_watch(invalid_hash(), SOURCE, xt1.clone())).unwrap(); let header01b = api.push_block(1, vec![xt0.clone(), xt1.clone()], true); - //note: finalized block here must be header01b. - //It is because of how the order in which MultiViewListener is processing tx events and view - //events. tx events from single view are processed first, then view commands are handled. If - //finalization happens in first view reported then no events from others views will be - //processed. + // note: finalized block here must be header01b. + // It is because of how the order in which MultiViewListener is processing tx events and view + // events. tx events from single view are processed first, then view commands are handled. If + // finalization happens in first view reported then no events from others views will be + // processed. block_on(pool.maintain(new_best_block_event(&pool, None, header01a.hash()))); block_on(pool.maintain(new_best_block_event(&pool, Some(header01a.hash()), header01b.hash()))); @@ -1645,12 +1645,12 @@ fn fatp_watcher_two_blocks_delayed_finalization_works() { let xt1_status = futures::executor::block_on_stream(xt1_watcher).collect::>(); let xt2_status = futures::executor::block_on_stream(xt2_watcher).collect::>(); - //todo: double events. - //view for header04 reported InBlock for all xts. - //Then finalization comes for header03. We need to create a view to sent finalization events. - //But in_block are also sent because of pruning - normal process during view creation. + // todo: double events. + // view for header04 reported InBlock for all xts. + // Then finalization comes for header03. We need to create a view to sent finalization events. + // But in_block are also sent because of pruning - normal process during view creation. // - //Do not know what solution should be in this case? + // Do not know what solution should be in this case? // - just jeep two events, // - block pruning somehow (seems like excessive additional logic not really needed) // - build view from recent best block? (retracting instead of enacting?) @@ -2164,13 +2164,13 @@ fn fatp_dangling_ready_gets_revalidated() { assert_pool_status!(header02a.hash(), &pool, 1, 0); assert_eq!(block_on(pool.mempool_len()), (0, 1)); - //xt2 is still ready: view was just cloned (revalidation executed in background) + // xt2 is still ready: view was just cloned (revalidation executed in background) let header02b = api.push_block_with_parent(header01.hash(), vec![], true); let event = new_best_block_event(&pool, Some(header02a.hash()), header02b.hash()); block_on(pool.maintain(event)); assert_pool_status!(header02b.hash(), &pool, 1, 0); - //xt2 is now future - view revalidation worked. + // xt2 is now future - view revalidation worked. let header03b = api.push_block_with_parent(header02b.hash(), vec![], true); let event = new_best_block_event(&pool, Some(header02b.hash()), header03b.hash()); block_on(pool.maintain(event)); @@ -2216,8 +2216,8 @@ fn fatp_ready_txs_are_provided_in_valid_order() { assert_ready_iterator!(header02b.hash(), pool, [xt1, xt2]); } -//todo: add test: check len of filter after finalization (!) -//todo: broadcasted test? +// todo: add test: check len of filter after finalization (!) +// todo: broadcasted test? #[test] fn fatp_ready_light_empty_on_unmaintained_fork() { @@ -2254,23 +2254,23 @@ fn fatp_ready_light_misc_scenarios_works() { let xt1 = uxt(Bob, 200); let xt2 = uxt(Charlie, 200); - //fork A + // fork A let header01a = api.push_block_with_parent(genesis, vec![xt0.clone()], true); let event = new_best_block_event(&pool, Some(genesis), header01a.hash()); block_on(pool.maintain(event)); assert_pool_status!(header01a.hash(), &pool, 0, 0); - //fork B + // fork B let header01b = api.push_block_with_parent(genesis, vec![xt1.clone()], true); let event = new_best_block_event(&pool, Some(header01a.hash()), header01b.hash()); block_on(pool.maintain(event)); assert_pool_status!(header01b.hash(), &pool, 1, 0); - //new block at fork B + // new block at fork B let header02b = api.push_block_with_parent(header01b.hash(), vec![xt1.clone()], true); // test 1: - //ready light returns just txs from view @header01b (which contains retracted xt0) + // ready light returns just txs from view @header01b (which contains retracted xt0) let mut ready_iterator = pool.ready_at_light(header02b.hash()).now_or_never().unwrap(); let ready01 = ready_iterator.next(); assert_eq!(ready01.unwrap().hash, api.hash_and_length(&xt0).0); @@ -2280,16 +2280,16 @@ fn fatp_ready_light_misc_scenarios_works() { // submit new transaction to all views block_on(pool.submit_one(invalid_hash(), SOURCE, xt2.clone())).unwrap(); - //new block at fork A, not yet notified to pool + // new block at fork A, not yet notified to pool let header02a = api.push_block_with_parent(header01a.hash(), vec![], true); - //ready light returns just txs from view @header01a (which contains newly submitted xt2) + // ready light returns just txs from view @header01a (which contains newly submitted xt2) let mut ready_iterator = pool.ready_at_light(header02a.hash()).now_or_never().unwrap(); let ready01 = ready_iterator.next(); assert_eq!(ready01.unwrap().hash, api.hash_and_length(&xt2).0); assert!(ready_iterator.next().is_none()); - //test 3: + // test 3: let mut ready_iterator = pool.ready_at_light(header02b.hash()).now_or_never().unwrap(); let ready01 = ready_iterator.next(); assert_eq!(ready01.unwrap().hash, api.hash_and_length(&xt0).0); @@ -2297,11 +2297,11 @@ fn fatp_ready_light_misc_scenarios_works() { assert_eq!(ready02.unwrap().hash, api.hash_and_length(&xt2).0); assert!(ready_iterator.next().is_none()); - //test 4: - //new block at fork B, not yet notified to pool + // test 4: + // new block at fork B, not yet notified to pool let header03b = api.push_block_with_parent(header02b.hash(), vec![xt0.clone(), xt2.clone()], true); - //ready light @header03b will be empty: as new block contains xt0/xt2 + // ready light @header03b will be empty: as new block contains xt0/xt2 let mut ready_iterator = pool.ready_at_light(header03b.hash()).now_or_never().unwrap(); assert!(ready_iterator.next().is_none()); } @@ -2625,12 +2625,12 @@ fn fatp_tx_is_not_prematurely_revalidated() { let xt0 = uxt(Alice, 199); - //note: tx is validated at block 20 (recent best block): + // note: tx is validated at block 20 (recent best block): let xt0_watcher = block_on(pool.submit_and_watch(hashes[21], SOURCE, xt0.clone())).unwrap(); let header41 = api.push_block_with_parent(hashes[40], vec![xt0.clone()], true); - //note: tx is still valid at block 21 + // note: tx is still valid at block 21 block_on(pool.maintain(finalized_block_event(&pool, api.genesis_hash(), hashes[5]))); block_on(pool.maintain(finalized_block_event(&pool, hashes[5], hashes[10]))); block_on(pool.maintain(finalized_block_event(&pool, hashes[10], hashes[19]))); @@ -2674,14 +2674,60 @@ fn fatp_tx_is_revalidated_by_mempool_revalidation() { let xt0 = uxt(Alice, 199); - //note: tx is validated at block 20 (recent best block): + // note: tx is validated at block 20 (recent best block): let xt0_watcher = block_on(pool.submit_and_watch(hashes[21], SOURCE, xt0.clone())).unwrap(); - //note: tx is still valid at block 21 + // note: tx is still valid at block 21 block_on(pool.maintain(finalized_block_event(&pool, api.genesis_hash(), hashes[21]))); - //note: TXMEMPOOL_REVALIDATION_PERIOD passed, tx is stale on block 32: + // note: TXMEMPOOL_REVALIDATION_PERIOD passed, tx is stale on block 32: block_on(pool.maintain(finalized_block_event(&pool, hashes[21], hashes[32]))); let xt0_events = block_on(xt0_watcher.collect::>()); assert_eq!(xt0_events, vec![TransactionStatus::Ready, TransactionStatus::Invalid,]); } + +/// Ready event lost in manual-seal mode. +/// +/// This test simulates the scenario: +/// 1. A block is created and immediately finalized +/// 2. A transaction is submitted AFTER finalization (to the finalized view) +/// 3. The Ready event should be delivered immediately (before any new block) +// see: https://github.com/paritytech/polkadot-sdk/issues/10332 +#[test] +fn fatp_watcher_ready_event_after_instant_finalization() { + sp_tracing::try_init_simple(); + + let (pool, api, _) = pool(); + + // Create block 1 (empty) + let header01 = api.push_block(1, vec![], true); + + // Notify new best and immediately finalize + block_on(pool.maintain(new_best_block_event(&pool, None, header01.hash()))); + block_on(pool.maintain(finalized_block_event(&pool, api.genesis_hash(), header01.hash()))); + + let xt0 = uxt(Alice, 200); + let mut xt0_watcher = + block_on(pool.submit_and_watch(header01.hash(), SOURCE, xt0.clone())).unwrap(); + + // Poll for the Ready event with retries (up to 2 seconds total) + let mut ready_event = None; + for _ in 0..20 { + std::thread::sleep(Duration::from_millis(100)); + if let Some(event) = xt0_watcher.next().now_or_never().flatten() { + ready_event = Some(event); + break; + } + } + + assert!( + ready_event.is_some(), + "Ready event should be available after submission on active finalized view." + ); + + assert_eq!( + ready_event.unwrap(), + TransactionStatus::Ready, + "First event should be Ready, delivered from the finalized view" + ); +} diff --git a/substrate/client/transaction-pool/tests/fatp_finality_timeout.rs b/substrate/client/transaction-pool/tests/fatp_finality_timeout.rs index 49dccf00d4691..74e57acd9a4d2 100644 --- a/substrate/client/transaction-pool/tests/fatp_finality_timeout.rs +++ b/substrate/client/transaction-pool/tests/fatp_finality_timeout.rs @@ -156,7 +156,7 @@ fn fatp_finalized_still_works_after_finality_stall() { prev_header = header; if block_n == 3 + FINALITY_TIMEOUT_THRESHOLD { - //finality timeout triggered + // finality timeout triggered assert_eq!(pool.active_views_count(), 1); assert_eq!(pool.inactive_views_count(), FINALITY_TIMEOUT_THRESHOLD); } else { @@ -245,7 +245,7 @@ fn fatp_finality_timeout_works_for_txs_included_before_finalized() { prev_header = header; assert_eq!(pool.active_views_count(), 1); if block_n == 4 + FINALITY_TIMEOUT_THRESHOLD { - //finality timeout triggered + // finality timeout triggered assert_eq!(pool.inactive_views_count(), FINALITY_TIMEOUT_THRESHOLD); } } diff --git a/substrate/client/transaction-pool/tests/fatp_invalid.rs b/substrate/client/transaction-pool/tests/fatp_invalid.rs index 5ba262eeb9499..bea5019785f7e 100644 --- a/substrate/client/transaction-pool/tests/fatp_invalid.rs +++ b/substrate/client/transaction-pool/tests/fatp_invalid.rs @@ -222,7 +222,7 @@ fn should_not_retain_invalid_hashes_from_retracted() { ] ); - //todo: shall revalidation check finalized (fork's tip) view? + // todo: shall revalidation check finalized (fork's tip) view? assert_eq!(pool.status_all()[&prev_header.hash()].ready, 0); } @@ -265,7 +265,7 @@ fn fatp_watcher_invalid_many_revalidation() { let header02 = api.push_block(2, vec![], true); block_on(pool.maintain(finalized_block_event(&pool, header01.hash(), header02.hash()))); - //todo: shall revalidation check finalized (fork's tip) view? + // todo: shall revalidation check finalized (fork's tip) view? assert_eq!(pool.status_all()[&header02.hash()].ready, 5); let header03 = api.push_block(3, vec![xt0.clone(), xt1.clone(), xt2.clone()], true); diff --git a/substrate/client/transaction-pool/tests/fatp_limits.rs b/substrate/client/transaction-pool/tests/fatp_limits.rs index 0a95c8b0cace5..348c6ede88332 100644 --- a/substrate/client/transaction-pool/tests/fatp_limits.rs +++ b/substrate/client/transaction-pool/tests/fatp_limits.rs @@ -77,8 +77,8 @@ fn fatp_limits_ready_count_works() { let event = new_best_block_event(&pool, None, header01.hash()); block_on(pool.maintain(event)); - //note: we need Charlie to be first as the oldest is removed. - //For 3x alice, all tree would be removed. + // note: we need Charlie to be first as the oldest is removed. + // For 3x alice, all tree would be removed. //(alice,bob,charlie would work too) let xt0 = uxt(Charlie, 500); let xt1 = uxt(Alice, 200); @@ -92,10 +92,10 @@ fn fatp_limits_ready_count_works() { let results = block_on(futures::future::join_all(submissions)); assert!(results.iter().all(Result::is_ok)); - //charlie was not included into view: + // charlie was not included into view: assert_pool_status!(header01.hash(), &pool, 2, 0); assert_ready_iterator!(header01.hash(), pool, [xt1, xt2]); - //todo: can we do better? We don't have API to check if event was processed internally. + // todo: can we do better? We don't have API to check if event was processed internally. let mut counter = 0; while block_on(pool.mempool_len()).0 == 3 { sleep(std::time::Duration::from_millis(1)); @@ -106,7 +106,7 @@ fn fatp_limits_ready_count_works() { } assert_eq!(block_on(pool.mempool_len()).0, 2); - //branch with alice transactions: + // branch with alice transactions: let header02b = api.push_block(2, vec![xt1.clone(), xt2.clone()], true); let event = new_best_block_event(&pool, Some(header01.hash()), header02b.hash()); block_on(pool.maintain(event)); @@ -114,7 +114,7 @@ fn fatp_limits_ready_count_works() { assert_pool_status!(header02b.hash(), &pool, 0, 0); assert_ready_iterator!(header02b.hash(), pool, []); - //branch with alice/charlie transactions shall also work: + // branch with alice/charlie transactions shall also work: let header02a = api.push_block(2, vec![xt0.clone(), xt1.clone()], true); api.set_nonce(header02a.hash(), Alice.into(), 201); let event = new_best_block_event(&pool, Some(header02b.hash()), header02a.hash()); @@ -153,7 +153,7 @@ fn fatp_limits_ready_count_works_for_submit_at() { assert!(results[1].as_ref().is_ok()); assert!(results[2].as_ref().is_ok()); assert_eq!(block_on(pool.mempool_len()).0, 2); - //charlie was not included into view: + // charlie was not included into view: assert_pool_status!(header01.hash(), &pool, 2, 0); assert_ready_iterator!(header01.hash(), pool, [xt1, xt2]); } @@ -187,7 +187,7 @@ fn fatp_limits_ready_count_works_for_submit_and_watch() { assert!(result0.is_ok()); assert!(result1.is_ok()); assert_eq!(block_on(pool.mempool_len()).1, 2); - //charlie was not included into view: + // charlie was not included into view: assert_pool_status!(header01.hash(), &pool, 2, 0); assert_ready_iterator!(header01.hash(), pool, [xt0, xt1]); } @@ -216,9 +216,9 @@ fn fatp_limits_future_count_works() { block_on(pool.submit_one(header01.hash(), SOURCE, xt2.clone())).unwrap(); block_on(pool.submit_one(header01.hash(), SOURCE, xt3.clone())).unwrap(); - //charlie was not included into view due to limits: + // charlie was not included into view due to limits: assert_pool_status!(header01.hash(), &pool, 0, 2); - //todo: can we do better? We don't have API to check if event was processed internally. + // todo: can we do better? We don't have API to check if event was processed internally. let mut counter = 0; while block_on(pool.mempool_len()).0 != 2 { sleep(std::time::Duration::from_millis(1)); @@ -229,7 +229,7 @@ fn fatp_limits_future_count_works() { } let header02 = api.push_block(2, vec![xt0], true); - api.set_nonce(header02.hash(), Alice.into(), 201); //redundant + api.set_nonce(header02.hash(), Alice.into(), 201); // redundant let event = new_best_block_event(&pool, Some(header01.hash()), header02.hash()); block_on(pool.maintain(event)); @@ -451,7 +451,7 @@ fn fatp_limits_watcher_empty_and_full_view_immediately_drops() { let xt4_watcher = block_on(pool.submit_and_watch(invalid_hash(), SOURCE, xt4.clone())).unwrap(); let result5 = block_on(pool.submit_and_watch(invalid_hash(), SOURCE, xt5.clone())).map(|_| ()); - //xt5 hits internal mempool limit + // xt5 hits internal mempool limit assert!(matches!(result5.unwrap_err().0, TxPoolError::ImmediatelyDropped)); assert_pool_status!(header02e.hash(), &pool, 2, 0); @@ -539,7 +539,7 @@ fn fatp_limits_watcher_empty_and_full_view_drops_with_event() { let xt3_status = futures::executor::block_on_stream(xt3_watcher).take(2).collect::>(); assert_eq!(xt3_status, vec![TransactionStatus::Ready, TransactionStatus::Dropped]); - //xt5 got dropped + // xt5 got dropped assert_eq!(block_on(pool.mempool_len()).1, 4); let xt1_status = futures::executor::block_on_stream(xt1_watcher).take(2).collect::>(); @@ -588,7 +588,7 @@ fn fatp_limits_ready_size_works() { let results = block_on(futures::future::join_all(submissions)); assert!(results.iter().all(Result::is_ok)); - //charlie was not included into view: + // charlie was not included into view: assert_pool_status!(header01.hash(), &pool, 3, 0); assert_ready_iterator!(header01.hash(), pool, [xt0, xt1, xt2]); @@ -629,7 +629,7 @@ fn fatp_limits_future_size_works() { let _ = block_on(pool.submit_one(header01.hash(), SOURCE, xt2.clone())).unwrap(); let _ = block_on(pool.submit_one(header01.hash(), SOURCE, xt3.clone())).unwrap(); - //todo: can we do better? We don't have API to check if event was processed internally. + // todo: can we do better? We don't have API to check if event was processed internally. let mut counter = 0; while block_on(pool.mempool_len()).0 == 4 { sleep(std::time::Duration::from_millis(1)); @@ -717,19 +717,19 @@ fn fatp_limits_watcher_ready_transactions_are_not_droped_when_view_is_dropped() block_on(pool.maintain(finalized_block_event(&pool, header01.hash(), header02.hash()))); assert!(!pool.status_all().contains_key(&header02.hash())); - //view 01 was dropped + // view 01 was dropped assert!(pool.ready_at(header01.hash()).now_or_never().is_none()); assert_eq!(block_on(pool.mempool_len()).1, 6); block_on(pool.maintain(finalized_block_event(&pool, header02.hash(), header03.hash()))); - //no revalidation has happened yet, all txs are kept + // no revalidation has happened yet, all txs are kept assert_eq!(block_on(pool.mempool_len()).1, 6); - //view 03 is still there + // view 03 is still there assert!(!pool.status_all().contains_key(&header03.hash())); - //view 02 was dropped + // view 02 was dropped assert!(pool.ready_at(header02.hash()).now_or_never().is_none()); let mut prev_header = header03; @@ -740,7 +740,7 @@ fn fatp_limits_watcher_ready_transactions_are_not_droped_when_view_is_dropped() prev_header = header; } - //now revalidation has happened, all txs are dropped + // now revalidation has happened, all txs are dropped assert_eq!(block_on(pool.mempool_len()).1, 0); } @@ -805,7 +805,7 @@ fn fatp_limits_watcher_future_transactions_are_droped_when_view_is_dropped() { block_on(pool.maintain(finalized_block_event(&pool, api.genesis_hash(), header04.hash()))); assert_eq!(pool.active_views_count(), 1); assert_eq!(pool.inactive_views_count(), 0); - //todo: can we do better? We don't have API to check if event was processed internally. + // todo: can we do better? We don't have API to check if event was processed internally. let mut counter = 0; while block_on(pool.mempool_len()).1 != 2 { sleep(std::time::Duration::from_millis(1)); diff --git a/substrate/client/transaction-pool/tests/integration.rs b/substrate/client/transaction-pool/tests/integration.rs index c9827f5983445..3a9ea1bc8664b 100644 --- a/substrate/client/transaction-pool/tests/integration.rs +++ b/substrate/client/transaction-pool/tests/integration.rs @@ -494,7 +494,7 @@ async fn test_limits_increasing_prio_relaychain() { net.wait_for_block("alice", BlockSubscriptionType::Best).await.unwrap(); let mut executors = vec![]; - //this looks like current limit of what we can handle. A bit choky but almost no empty blocks. + // this looks like current limit of what we can handle. A bit choky but almost no empty blocks. let senders_count = 50; let sender_batch = 2000; diff --git a/substrate/client/transaction-pool/tests/pool.rs b/substrate/client/transaction-pool/tests/pool.rs index e68731f2ffe48..57e3e15c68a09 100644 --- a/substrate/client/transaction-pool/tests/pool.rs +++ b/substrate/client/transaction-pool/tests/pool.rs @@ -270,9 +270,9 @@ fn should_correctly_prune_transactions_providing_more_than_one_tag() { api.push_block(3, Vec::new(), true); block_on(pool.prune_tags(&api.expect_hash_and_number(3), vec![vec![155]], vec![])); assert_eq!(api.validation_requests().len(), 4); - //xt0 was future, it failed (bc of 155 tag conflict) and was removed + // xt0 was future, it failed (bc of 155 tag conflict) and was removed assert_eq!(pool.validated_pool().status().ready, 0); - //xt1 was ready, it was pruned (bc of 155 tag conflict) but was revalidated and resubmitted + // xt1 was ready, it was pruned (bc of 155 tag conflict) but was revalidated and resubmitted // (API does not know about 155). assert_eq!(pool.validated_pool().status().future, 1); @@ -325,7 +325,7 @@ fn should_revalidate_during_maintenance() { .expect("1. Imported"); let watcher = block_on(pool.submit_and_watch(api.expect_hash_from_number(0), SOURCE, xt2.clone())) - .expect("import"); //todo + .expect("import"); // todo assert_eq!(pool.status().ready, 2); assert_eq!(api.validation_requests().len(), 2); @@ -839,7 +839,7 @@ fn resubmit_tx_of_fork_that_is_not_part_of_retracted() { // Block D2 { - //push new best block + // push new best block let header = api.push_block(2, vec![], true); let event = block_event_with_retracted(header, d0, api); block_on(pool.maintain(event)); @@ -1354,16 +1354,16 @@ fn switching_fork_multiple_times_works() { { let mut stream = futures::executor::block_on_stream(from_alice_watcher); - //phase-0 + // phase-0 assert_eq!(stream.next(), Some(TransactionStatus::Ready)); assert_eq!(stream.next(), Some(TransactionStatus::InBlock((b1_header.hash(), 0)))); - //phase-1 + // phase-1 assert_eq!(stream.next(), Some(TransactionStatus::Retracted(b1_header.hash()))); assert_eq!(stream.next(), Some(TransactionStatus::InBlock((b2_header.hash(), 0)))); - //phase-2 + // phase-2 assert_eq!(stream.next(), Some(TransactionStatus::Retracted(b2_header.hash()))); assert_eq!(stream.next(), Some(TransactionStatus::InBlock((b1_header.hash(), 0)))); - //phase-3 + // phase-3 assert_eq!(stream.next(), Some(TransactionStatus::Retracted(b1_header.hash()))); assert_eq!(stream.next(), Some(TransactionStatus::InBlock((b2_header.hash(), 0)))); assert_eq!(stream.next(), Some(TransactionStatus::Finalized((b2_header.hash(), 0)))); @@ -1372,13 +1372,13 @@ fn switching_fork_multiple_times_works() { { let mut stream = futures::executor::block_on_stream(from_bob_watcher); - //phase-1 + // phase-1 assert_eq!(stream.next(), Some(TransactionStatus::Ready)); assert_eq!(stream.next(), Some(TransactionStatus::InBlock((b2_header.hash(), 1)))); - //phase-2 + // phase-2 assert_eq!(stream.next(), Some(TransactionStatus::Retracted(b2_header.hash()))); assert_eq!(stream.next(), Some(TransactionStatus::Ready)); - //phase-3 + // phase-3 assert_eq!(stream.next(), Some(TransactionStatus::InBlock((b2_header.hash(), 1)))); assert_eq!(stream.next(), Some(TransactionStatus::Finalized((b2_header.hash(), 1)))); assert_eq!(stream.next(), None); @@ -1583,21 +1583,21 @@ fn delayed_finalization_does_not_retract() { { let mut stream = futures::executor::block_on_stream(from_alice_watcher); - //phase-0 + // phase-0 assert_eq!(stream.next(), Some(TransactionStatus::Ready)); assert_eq!(stream.next(), Some(TransactionStatus::InBlock((b1_header.hash(), 0)))); - //phase-2 + // phase-2 assert_eq!(stream.next(), Some(TransactionStatus::Finalized((b1_header.hash(), 0)))); assert_eq!(stream.next(), None); } { let mut stream = futures::executor::block_on_stream(from_bob_watcher); - //phase-0 + // phase-0 assert_eq!(stream.next(), Some(TransactionStatus::Ready)); - //phase-1 + // phase-1 assert_eq!(stream.next(), Some(TransactionStatus::InBlock((c1_header.hash(), 0)))); - //phase-3 + // phase-3 assert_eq!(stream.next(), Some(TransactionStatus::Finalized((c1_header.hash(), 0)))); assert_eq!(stream.next(), None); } diff --git a/substrate/client/transaction-pool/tests/zombienet/mod.rs b/substrate/client/transaction-pool/tests/zombienet/mod.rs index 936a4fd66ad5c..4519a961fe9ec 100644 --- a/substrate/client/transaction-pool/tests/zombienet/mod.rs +++ b/substrate/client/transaction-pool/tests/zombienet/mod.rs @@ -246,5 +246,5 @@ pub fn default_zn_scenario_builder(net_spawner: &NetworkSpawner) -> ScenarioBuil .with_block_monitoring(shared_params.does_block_monitoring) .with_chain_type(shared_params.chain_type) .with_base_dir_path(net_spawner.base_dir_path().unwrap().to_string()) - .with_timeout_in_secs(21600) //6 hours + .with_timeout_in_secs(21600) // 6 hours } diff --git a/substrate/client/transaction-pool/tests/zombienet/yap_test.rs b/substrate/client/transaction-pool/tests/zombienet/yap_test.rs index 8f14ea3e417ae..fd2fba3b9b958 100644 --- a/substrate/client/transaction-pool/tests/zombienet/yap_test.rs +++ b/substrate/client/transaction-pool/tests/zombienet/yap_test.rs @@ -57,11 +57,11 @@ async fn slot_based_3cores_test() -> Result<(), anyhow::Error> { .with_default_resources(|resources| { resources.with_request_cpu(4).with_request_memory("4G") }) - // Have to set a `with_node` outside of the loop below, so that `r` has the + // Have to set a `with_validator` outside of the loop below, so that `r` has the // right type. - .with_node(|node| node.with_name(names[0])); + .with_validator(|node| node.with_name(names[0])); - (1..3).fold(r, |acc, i| acc.with_node(|node| node.with_name(names[i]))) + (1..3).fold(r, |acc, i| acc.with_validator(|node| node.with_name(names[i]))) }) .with_parachain(|p| { // Para 2200 uses the new RFC103-enabled collator which sends the UMP signal @@ -113,7 +113,7 @@ async fn slot_based_3cores_test() -> Result<(), anyhow::Error> { .with_block_monitoring(shared_params.does_block_monitoring) .with_chain_type(shared_params.chain_type) .with_base_dir_path(spawner.base_dir_path().unwrap().to_string()) - .with_timeout_in_secs(21600) //6 hours + .with_timeout_in_secs(21600) // 6 hours .with_legacy_backend(true) } .with_rpc_uri(ws) diff --git a/substrate/client/utils/src/id_sequence.rs b/substrate/client/utils/src/id_sequence.rs index a1799d4e684f8..6e8efce33f878 100644 --- a/substrate/client/utils/src/id_sequence.rs +++ b/substrate/client/utils/src/id_sequence.rs @@ -51,3 +51,15 @@ impl IDSequence { id } } + +impl Into for SeqID { + fn into(self) -> u64 { + self.0 + } +} + +impl From for SeqID { + fn from(value: u64) -> Self { + SeqID(value) + } +} diff --git a/substrate/client/utils/src/status_sinks.rs b/substrate/client/utils/src/status_sinks.rs index 72fa83da11c99..bca6ed279755a 100644 --- a/substrate/client/utils/src/status_sinks.rs +++ b/substrate/client/utils/src/status_sinks.rs @@ -150,7 +150,7 @@ impl<'a, T> Drop for ReadySinkEvent<'a, T> { fn drop(&mut self) { if let Some(sender) = self.sender.take() { if sender.is_closed() { - return + return; } let _ = self.sinks.entries_tx.unbounded_send(YieldAfter { diff --git a/substrate/frame/alliance/src/benchmarking.rs b/substrate/frame/alliance/src/benchmarking.rs index 09e2045555b65..a1e0d01f9dd43 100644 --- a/substrate/frame/alliance/src/benchmarking.rs +++ b/substrate/frame/alliance/src/benchmarking.rs @@ -198,7 +198,7 @@ mod benchmarks { #[extrinsic_call] _(SystemOrigin::Signed(voter), last_hash, index, approve); - //nothing to verify + // nothing to verify Ok(()) } diff --git a/substrate/frame/alliance/src/lib.rs b/substrate/frame/alliance/src/lib.rs index 4258c419d516e..6f223490c1f35 100644 --- a/substrate/frame/alliance/src/lib.rs +++ b/substrate/frame/alliance/src/lib.rs @@ -1102,7 +1102,7 @@ impl, I: 'static> Pallet { let res = judgement(who); if res.is_err() { if let Some(parent) = T::IdentityVerifier::super_account_id(who) { - return judgement(&parent) + return judgement(&parent); } } res diff --git a/substrate/frame/alliance/src/migration.rs b/substrate/frame/alliance/src/migration.rs index b4ecc1819447d..31d40df669726 100644 --- a/substrate/frame/alliance/src/migration.rs +++ b/substrate/frame/alliance/src/migration.rs @@ -111,7 +111,7 @@ pub(crate) mod v1_to_v2 { .saturating_add(retiring.len()) == 0 { - return T::DbWeight::get().reads(4) + return T::DbWeight::get().reads(4); } log::info!( target: LOG_TARGET, diff --git a/substrate/frame/alliance/src/tests.rs b/substrate/frame/alliance/src/tests.rs index 11f135cd2e539..5bfa3a8f19982 100644 --- a/substrate/frame/alliance/src/tests.rs +++ b/substrate/frame/alliance/src/tests.rs @@ -27,7 +27,7 @@ use crate::{self as alliance, mock::*}; type AllianceMotionEvent = pallet_collective::Event; fn assert_powerless(user: RuntimeOrigin, user_is_member: bool) { - //vote / veto with a valid proposal + // vote / veto with a valid proposal let cid = test_cid(); let (proposal, _, _) = make_kick_member_proposal(42); diff --git a/substrate/frame/asset-conversion/src/lib.rs b/substrate/frame/asset-conversion/src/lib.rs index efb4dc4617b0c..a0d938b7ad17b 100644 --- a/substrate/frame/asset-conversion/src/lib.rs +++ b/substrate/frame/asset-conversion/src/lib.rs @@ -1030,7 +1030,7 @@ pub mod pallet { } else { let credit_out = Self::withdraw(asset2.clone(), &pool_from, *amount_out, true)?; - return Ok(credit_out) + return Ok(credit_out); } } } @@ -1048,7 +1048,7 @@ pub mod pallet { Err(_) => return Err((credit_in, Error::::InvalidAssetPair.into())), } } else { - return Err((credit_in, Error::::InvalidPath.into())) + return Err((credit_in, Error::::InvalidPath.into())); }; T::Assets::resolve(&pool_to, credit_in) @@ -1097,7 +1097,7 @@ pub mod pallet { Some(a) => a, None => { balance_path.push((asset2, amount_in)); - break + break; }, }; let (reserve_in, reserve_out) = Self::get_reserves(asset1.clone(), asset2.clone())?; @@ -1123,7 +1123,7 @@ pub mod pallet { Some(a) => a, None => { balance_path.push((asset1, amount_out)); - break + break; }, }; let (reserve_in, reserve_out) = Self::get_reserves(asset1.clone(), asset2.clone())?; @@ -1188,7 +1188,7 @@ pub mod pallet { let reserve_out = T::HigherPrecisionBalance::from(*reserve_out); if reserve_in.is_zero() || reserve_out.is_zero() { - return Err(Error::::ZeroLiquidity) + return Err(Error::::ZeroLiquidity); } let amount_in_with_fee = amount_in @@ -1265,7 +1265,7 @@ pub mod pallet { let new_element = pools.insert(pool_id); if !new_element { - return Err(Error::::NonUniquePath.into()) + return Err(Error::::NonUniquePath.into()); } } } diff --git a/substrate/frame/asset-conversion/src/tests.rs b/substrate/frame/asset-conversion/src/tests.rs index e69d14fcb3c40..bdbd9a87bc60b 100644 --- a/substrate/frame/asset-conversion/src/tests.rs +++ b/substrate/frame/asset-conversion/src/tests.rs @@ -733,7 +733,6 @@ fn can_quote_price() { Some(2302) ); - // // same tests as above but for quote_price_tokens_for_exact_tokens: // assert_eq!( @@ -798,7 +797,6 @@ fn can_quote_price() { Some(86) ); - // // roundtrip: Without fees one should get the original number // let amount_in = 100; diff --git a/substrate/frame/asset-rewards/src/lib.rs b/substrate/frame/asset-rewards/src/lib.rs index 23cd8da63ede5..7ab57be960873 100644 --- a/substrate/frame/asset-rewards/src/lib.rs +++ b/substrate/frame/asset-rewards/src/lib.rs @@ -788,7 +788,7 @@ pub mod pallet { pool_info: &PoolInfoFor, ) -> Result { if pool_info.total_tokens_staked.is_zero() { - return Ok(pool_info.reward_per_token_stored) + return Ok(pool_info.reward_per_token_stored); } let rewardable_blocks_elapsed: u32 = diff --git a/substrate/frame/assets/precompiles/src/lib.rs b/substrate/frame/assets/precompiles/src/lib.rs index 19b24a4db3f08..ecb3c4efea6fe 100644 --- a/substrate/frame/assets/precompiles/src/lib.rs +++ b/substrate/frame/assets/precompiles/src/lib.rs @@ -110,7 +110,9 @@ where match input { IERC20Calls::transfer(_) | IERC20Calls::approve(_) | IERC20Calls::transferFrom(_) if env.is_read_only() => - Err(Error::Error(pallet_revive::Error::::StateChangeDenied.into())), + { + Err(Error::Error(pallet_revive::Error::::StateChangeDenied.into())) + }, IERC20Calls::transfer(call) => Self::transfer(asset_id, call, env), IERC20Calls::totalSupply(_) => Self::total_supply(asset_id, env), @@ -118,6 +120,9 @@ where IERC20Calls::allowance(call) => Self::allowance(asset_id, call, env), IERC20Calls::approve(call) => Self::approve(asset_id, call, env), IERC20Calls::transferFrom(call) => Self::transfer_from(asset_id, call, env), + IERC20Calls::name(_) => Self::name(asset_id, env), + IERC20Calls::symbol(_) => Self::symbol(asset_id, env), + IERC20Calls::decimals(_) => Self::decimals(asset_id, env), } } } @@ -322,4 +327,49 @@ where return Ok(IERC20::transferFromCall::abi_encode_returns(&true)); } + + /// Execute the name call. + fn name( + asset_id: >::AssetId, + env: &mut impl Ext, + ) -> Result, Error> { + env.charge(>::WeightInfo::get_metadata())?; + + let metadata = pallet_assets::Pallet::::get_metadata(asset_id) + .ok_or(Error::Revert(Revert { reason: "Metadata not found".into() }))?; + + let name = alloc::string::String::from_utf8(metadata.name.to_vec()) + .map_err(|_| Error::Revert(Revert { reason: "Invalid UTF-8 in name".into() }))?; + + Ok(IERC20::nameCall::abi_encode_returns(&name)) + } + + /// Execute the symbol call. + fn symbol( + asset_id: >::AssetId, + env: &mut impl Ext, + ) -> Result, Error> { + env.charge(>::WeightInfo::get_metadata())?; + + let metadata = pallet_assets::Pallet::::get_metadata(asset_id) + .ok_or(Error::Revert(Revert { reason: "Metadata not found".into() }))?; + + let symbol = alloc::string::String::from_utf8(metadata.symbol.to_vec()) + .map_err(|_| Error::Revert(Revert { reason: "Invalid UTF-8 in symbol".into() }))?; + + Ok(IERC20::symbolCall::abi_encode_returns(&symbol)) + } + + /// Execute the decimals call. + fn decimals( + asset_id: >::AssetId, + env: &mut impl Ext, + ) -> Result, Error> { + env.charge(>::WeightInfo::get_metadata())?; + + let metadata = pallet_assets::Pallet::::get_metadata(asset_id) + .ok_or(Error::Revert(Revert { reason: "Metadata not found".into() }))?; + + Ok(IERC20::decimalsCall::abi_encode_returns(&metadata.decimals)) + } } diff --git a/substrate/frame/assets/precompiles/src/tests.rs b/substrate/frame/assets/precompiles/src/tests.rs index 33e98017b6bc2..8119866b76a5e 100644 --- a/substrate/frame/assets/precompiles/src/tests.rs +++ b/substrate/frame/assets/precompiles/src/tests.rs @@ -81,7 +81,7 @@ fn precompile_transfer_works() { deposit_limit: u64::MAX, }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); assert_contract_event( @@ -122,7 +122,7 @@ fn total_supply_works() { deposit_limit: u64::MAX, }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ) .result .unwrap() @@ -157,7 +157,7 @@ fn balance_of_works() { deposit_limit: u64::MAX, }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ) .result .unwrap() @@ -205,7 +205,7 @@ fn approval_works() { deposit_limit: u64::MAX, }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); assert_contract_event( @@ -230,7 +230,7 @@ fn approval_works() { deposit_limit: u64::MAX, }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ) .result .unwrap() @@ -255,7 +255,7 @@ fn approval_works() { deposit_limit: u64::MAX, }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); assert_eq!(Assets::balance(asset_id, owner), 90); assert_eq!(Assets::allowance(asset_id, &owner, &spender), 15); diff --git a/substrate/frame/assets/src/benchmarking.rs b/substrate/frame/assets/src/benchmarking.rs index a5cbbf86c66cf..f09cf0dac004d 100644 --- a/substrate/frame/assets/src/benchmarking.rs +++ b/substrate/frame/assets/src/benchmarking.rs @@ -59,12 +59,13 @@ fn create_default_asset, I: 'static>( } fn create_default_reserves, I: 'static>( + count: u32, ) -> (T::AssetIdParameter, T::AccountId, Vec) { // create asset let (asset_id, caller, _) = create_default_asset::(true); // build max number of reserves let mut reserves = Vec::::new(); - for i in 0..MAX_RESERVES { + for i in 0..count { reserves.push(T::BenchmarkHelper::create_reserve_id_parameter(i)); } (asset_id, caller, reserves) @@ -109,7 +110,7 @@ fn add_sufficients, I: 'static>(minter: T::AccountId, n: u32) { origin.clone().into(), asset_id.clone(), target_lookup, - 100u32.into() + 100u32.into(), ) .is_ok()); } @@ -350,11 +351,18 @@ benchmarks_instance_pallet! { } set_reserves { - let (asset_id, caller, reserves) = create_default_reserves::(); + let n in 0 .. MAX_RESERVES; + let (asset_id, caller, reserves) = create_default_reserves::(n); T::Currency::make_free_balance_be(&caller, DepositBalanceOf::::max_value()); - }: _(SystemOrigin::Signed(caller), asset_id.clone(), reserves.clone()) + let bounded_reserves = reserves.clone().try_into().unwrap(); + }: _(SystemOrigin::Signed(caller), asset_id.clone(), bounded_reserves) verify { - assert_last_event::(Event::ReservesUpdated { asset_id: asset_id.into(), reserves: reserves }.into()); + let expected_event = if reserves.is_empty() { + Event::ReservesRemoved { asset_id: asset_id.into() } + } else { + Event::ReservesUpdated { asset_id: asset_id.into(), reserves: reserves } + }; + assert_last_event::(expected_event.into()); } set_metadata { @@ -626,11 +634,30 @@ benchmarks_instance_pallet! { let asset_id = Asset::::iter_keys().next() .ok_or_else(|| BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)))?; assert_eq!(id, asset_id); - Pallet::::unchecked_update_reserves(asset_id, vec![reserve.clone()]).unwrap(); + let bounded_reserves = vec![reserve.clone()].try_into().unwrap(); + Pallet::::unchecked_update_reserves(asset_id, bounded_reserves).unwrap(); } verify { assert_eq!(Reserves::::get(id)[0], reserve); } + get_metadata { + let (asset_id, caller, _) = create_default_asset::(true); + T::Currency::make_free_balance_be(&caller, DepositBalanceOf::::max_value()); + let name_bytes = vec![0u8; T::StringLimit::get() as usize]; + let symbol_bytes = vec![0u8; T::StringLimit::get() as usize]; + let origin = SystemOrigin::Signed(caller).into(); + Assets::::set_metadata(origin, asset_id.clone(), name_bytes.clone(), symbol_bytes.clone(), 12)?; + }: { + let _ = Pallet::::get_metadata(asset_id.clone().into()); + } verify { + let metadata = Pallet::::get_metadata(asset_id.into()); + assert!(metadata.is_some()); + let metadata = metadata.unwrap(); + assert_eq!(metadata.name.to_vec(), name_bytes); + assert_eq!(metadata.symbol.to_vec(), symbol_bytes); + assert_eq!(metadata.decimals, 12); + } + impl_benchmark_test_suite!(Assets, crate::mock::new_test_ext(), crate::mock::Test) } diff --git a/substrate/frame/assets/src/functions.rs b/substrate/frame/assets/src/functions.rs index 8ebb4bf752cb3..dc626b9d7e8f3 100644 --- a/substrate/frame/assets/src/functions.rs +++ b/substrate/frame/assets/src/functions.rs @@ -20,6 +20,7 @@ use super::*; use alloc::vec; use frame_support::{defensive, traits::Get, BoundedVec}; +use sp_runtime::traits::ConstU32; #[must_use] pub(super) enum DeadConsequence { @@ -87,7 +88,7 @@ impl, I: 'static> Pallet { // allow accidental usage of all consumer references which could cause grief. if !frame_system::Pallet::::can_inc_consumer(who) { frame_system::Pallet::::dec_consumers(who); - return Err(Error::::UnavailableConsumer.into()) + return Err(Error::::UnavailableConsumer.into()); } ExistenceReason::Consumer }; @@ -144,27 +145,27 @@ impl, I: 'static> Pallet { None => return DepositConsequence::UnknownAsset, }; if details.status == AssetStatus::Destroying { - return DepositConsequence::UnknownAsset + return DepositConsequence::UnknownAsset; } if increase_supply && details.supply.checked_add(&amount).is_none() { - return DepositConsequence::Overflow + return DepositConsequence::Overflow; } if let Some(account) = Account::::get(id, who) { if account.status.is_blocked() { - return DepositConsequence::Blocked + return DepositConsequence::Blocked; } if account.balance.checked_add(&amount).is_none() { - return DepositConsequence::Overflow + return DepositConsequence::Overflow; } } else { if amount < details.min_balance { - return DepositConsequence::BelowMinimum + return DepositConsequence::BelowMinimum; } if !details.is_sufficient && !frame_system::Pallet::::can_accrue_consumers(who, 2) { - return DepositConsequence::CannotCreate + return DepositConsequence::CannotCreate; } if details.is_sufficient && details.sufficients.checked_add(1).is_none() { - return DepositConsequence::Overflow + return DepositConsequence::Overflow; } } @@ -184,30 +185,30 @@ impl, I: 'static> Pallet { None => return UnknownAsset, }; if details.supply.checked_sub(&amount).is_none() { - return Underflow + return Underflow; } if details.status == AssetStatus::Frozen { - return Frozen + return Frozen; } if details.status == AssetStatus::Destroying { - return UnknownAsset + return UnknownAsset; } if amount.is_zero() { - return Success + return Success; } let account = match Account::::get(&id, who) { Some(a) => a, None => return BalanceLow, }; if account.status.is_frozen() { - return Frozen + return Frozen; } if let Some(rest) = account.balance.checked_sub(&amount) { match ( T::Holder::balance_on_hold(id.clone(), who), T::Freezer::frozen_balance(id.clone(), who), ) { - (None, None) => + (None, None) => { if rest < details.min_balance { if keep_alive { WouldDie @@ -216,7 +217,8 @@ impl, I: 'static> Pallet { } } else { Success - }, + } + }, (maybe_held, maybe_frozen) => { let frozen = maybe_frozen.unwrap_or_default(); let held = maybe_held.unwrap_or_default(); @@ -300,7 +302,7 @@ impl, I: 'static> Pallet { Ok(dust) => actual.saturating_add(dust), //< guaranteed by reducible_balance Err(e) => { debug_assert!(false, "passed from reducible_balance; qed"); - return Err(e) + return Err(e); }, }; @@ -387,7 +389,7 @@ impl, I: 'static> Pallet { debug_assert!(false, "refund did not result in dead account?!"); // deposit may have been refunded, need to update `Account` Account::::insert(id, &who, account); - return Ok(()) + return Ok(()); } Asset::::insert(&id, details); @@ -426,13 +428,13 @@ impl, I: 'static> Pallet { debug_assert!(false, "refund did not result in dead account?!"); // deposit may have been refunded, need to update `Account` Account::::insert(&id, &who, account); - return Ok(()) + return Ok(()); } Asset::::insert(&id, details); // Executing a hook here is safe, since it is not in a `mutate`. T::Freezer::died(id.clone(), who); T::Holder::died(id, &who); - return Ok(()) + return Ok(()); } /// Increases the asset `id` balance of `beneficiary` by `amount`. @@ -477,7 +479,7 @@ impl, I: 'static> Pallet { ) -> DispatchResult, ) -> DispatchResult { if amount.is_zero() { - return Ok(()) + return Ok(()); } Self::can_increase(id.clone(), beneficiary, amount, true).into_result()?; @@ -564,7 +566,7 @@ impl, I: 'static> Pallet { ) -> DispatchResult, ) -> Result { if amount.is_zero() { - return Ok(amount) + return Ok(amount); } let details = Asset::::get(&id).ok_or(Error::::Unknown)?; @@ -588,7 +590,7 @@ impl, I: 'static> Pallet { Self::ensure_account_can_die(id.clone(), target)?; target_died = Some(Self::dead_account(target, details, &account.reason, false)); if let Some(Remove) = target_died { - return Ok(()) + return Ok(()); } }; *maybe_account = Some(account); @@ -643,7 +645,7 @@ impl, I: 'static> Pallet { ) -> Result<(T::Balance, Option), DispatchError> { // Early exit if no-op. if amount.is_zero() { - return Ok((amount, None)) + return Ok((amount, None)); } let details = Asset::::get(&id).ok_or(Error::::Unknown)?; ensure!(details.status == AssetStatus::Live, Error::::AssetNotLive); @@ -666,7 +668,7 @@ impl, I: 'static> Pallet { // Skip if source == dest if source == dest { - return Ok(()) + return Ok(()); } // Burn any dust if needed. @@ -717,7 +719,7 @@ impl, I: 'static> Pallet { Some(Self::dead_account(source, details, &source_account.reason, false)); if let Some(Remove) = source_died { Account::::remove(&id, &source); - return Ok(()) + return Ok(()); } } Account::::insert(&id, &source, &source_account); @@ -814,7 +816,7 @@ impl, I: 'static> Pallet { for (i, (who, mut v)) in Account::::iter_prefix(&id).enumerate() { if Self::ensure_account_can_die(id.clone(), &who).is_err() { - continue + continue; } // unreserve the existence deposit if any if let Some((depositor, deposit)) = v.reason.take_deposit_from() { @@ -831,7 +833,7 @@ impl, I: 'static> Pallet { defensive!("destroy did not result in dead account?!"); } if i + 1 >= (max_items as usize) { - break + break; } } remaining_accounts = details.accounts; @@ -873,7 +875,7 @@ impl, I: 'static> Pallet { removed_approvals = removed_approvals.saturating_add(1); details.approvals = details.approvals.saturating_sub(1); if removed_approvals >= max_items { - break + break; } } Self::deposit_event(Event::ApprovalsDestroyed { @@ -1100,16 +1102,15 @@ impl, I: 'static> Pallet { /// Does not check validity of asset id, caller should check it. pub fn unchecked_update_reserves( id: T::AssetId, - reserves: Vec, + reserves: BoundedVec>, ) -> Result<(), Error> { if reserves.is_empty() { Reserves::::remove(&id); Self::deposit_event(Event::ReservesRemoved { asset_id: id }); } else { - let bounded_reserves = - reserves.clone().try_into().map_err(|_| Error::::TooManyReserves)?; - Reserves::::set(&id, bounded_reserves); - Self::deposit_event(Event::ReservesUpdated { asset_id: id, reserves }); + let reserves_vec = reserves.clone().into_inner(); + Reserves::::set(&id, reserves); + Self::deposit_event(Event::ReservesUpdated { asset_id: id, reserves: reserves_vec }); } Ok(()) } diff --git a/substrate/frame/assets/src/impl_fungibles.rs b/substrate/frame/assets/src/impl_fungibles.rs index 6ab7e941ea1af..8716e1f090e41 100644 --- a/substrate/frame/assets/src/impl_fungibles.rs +++ b/substrate/frame/assets/src/impl_fungibles.rs @@ -115,11 +115,37 @@ impl, I: 'static> fungibles::Mutate<::AccountId> } } +/// Simple handler for an imbalance drop which increases the total issuance of the system by the +/// imbalance amount. Used for leftover debt. Emits event. +pub struct IncreaseIssuanceWithEvent(PhantomData<(T, I)>); +impl, I: 'static> + fungibles::HandleImbalanceDrop<>::AssetId, >::Balance> + for IncreaseIssuanceWithEvent +{ + fn handle(asset_id: >::AssetId, amount: >::Balance) { + fungibles::IncreaseIssuance::>::handle(asset_id.clone(), amount); + Pallet::::deposit_event(Event::BurnedDebt { asset_id, amount }); + } +} + +/// Simple handler for an imbalance drop which decreases the total issuance of the system by the +/// imbalance amount. Used for leftover credit. Emits event. +pub struct DecreaseIssuanceWithEvent(PhantomData<(T, I)>); +impl, I: 'static> + fungibles::HandleImbalanceDrop<>::AssetId, >::Balance> + for DecreaseIssuanceWithEvent +{ + fn handle(asset_id: >::AssetId, amount: >::Balance) { + fungibles::DecreaseIssuance::>::handle(asset_id.clone(), amount); + Pallet::::deposit_event(Event::BurnedCredit { asset_id, amount }); + } +} + impl, I: 'static> fungibles::Balanced<::AccountId> for Pallet { - type OnDropCredit = fungibles::DecreaseIssuance; - type OnDropDebt = fungibles::IncreaseIssuance; + type OnDropCredit = DecreaseIssuanceWithEvent; + type OnDropDebt = IncreaseIssuanceWithEvent; fn done_deposit( asset_id: Self::AssetId, @@ -136,6 +162,14 @@ impl, I: 'static> fungibles::Balanced<::AccountI ) { Self::deposit_event(Event::Withdrawn { asset_id, who: who.clone(), amount }) } + + fn done_rescind(asset_id: Self::AssetId, amount: Self::Balance) { + Self::deposit_event(Event::IssuedDebt { asset_id, amount }) + } + + fn done_issue(asset_id: Self::AssetId, amount: Self::Balance) { + Self::deposit_event(Event::IssuedCredit { asset_id, amount }) + } } impl, I: 'static> fungibles::Unbalanced for Pallet { diff --git a/substrate/frame/assets/src/impl_stored_map.rs b/substrate/frame/assets/src/impl_stored_map.rs index a7a5a0859f701..8eb9fdd0de80c 100644 --- a/substrate/frame/assets/src/impl_stored_map.rs +++ b/substrate/frame/assets/src/impl_stored_map.rs @@ -42,7 +42,7 @@ impl, I: 'static> StoredMap<(T::AssetId, T::AccountId), T::Extra> f if let Some(ref mut account) = maybe_account { account.extra = extra; } else { - return Err(DispatchError::NoProviders.into()) + return Err(DispatchError::NoProviders.into()); } } else { // They want to delete it. Let this pass if the item never existed anyway. diff --git a/substrate/frame/assets/src/lib.rs b/substrate/frame/assets/src/lib.rs index eb761be85011c..80576cd1a5d01 100644 --- a/substrate/frame/assets/src/lib.rs +++ b/substrate/frame/assets/src/lib.rs @@ -682,6 +682,14 @@ pub mod pallet { ReservesUpdated { asset_id: T::AssetId, reserves: Vec }, /// Reserve information was removed for `asset_id`. ReservesRemoved { asset_id: T::AssetId }, + /// Some assets were issued as Credit (no owner yet). + IssuedCredit { asset_id: T::AssetId, amount: T::Balance }, + /// Some assets Credit was destroyed. + BurnedCredit { asset_id: T::AssetId, amount: T::Balance }, + /// Some assets were burned and a Debt was created. + IssuedDebt { asset_id: T::AssetId, amount: T::Balance }, + /// Some assets Debt was destroyed (and assets issued). + BurnedDebt { asset_id: T::AssetId, amount: T::Balance }, } #[pallet::error] @@ -1876,11 +1884,11 @@ pub mod pallet { /// /// Emits `AssetMinBalanceChanged` event when successful. #[pallet::call_index(33)] - #[pallet::weight(T::WeightInfo::set_reserves())] + #[pallet::weight(T::WeightInfo::set_reserves(reserves.len() as u32))] pub fn set_reserves( origin: OriginFor, id: T::AssetIdParameter, - reserves: Vec, + reserves: BoundedVec>, ) -> DispatchResult { let id: T::AssetId = id.into(); let origin = ensure_signed(origin.clone()) @@ -2035,7 +2043,7 @@ impl, I: 'static> Pallet { details.approvals, ); - return Err("Asset approvals count mismatch".into()) + return Err("Asset approvals count mismatch".into()); } } Ok(()) diff --git a/substrate/frame/assets/src/tests.rs b/substrate/frame/assets/src/tests.rs index 4ea6b3cbca7de..531bfb672a63a 100644 --- a/substrate/frame/assets/src/tests.rs +++ b/substrate/frame/assets/src/tests.rs @@ -27,10 +27,14 @@ use frame_support::{ tokens::{Preservation::Protect, Provenance}, Currency, }, + BoundedVec, }; use pallet_balances::Error as BalancesError; use sp_io::storage; -use sp_runtime::{traits::ConvertInto, TokenError}; +use sp_runtime::{ + traits::{ConstU32, ConvertInto}, + TokenError, +}; mod sets; @@ -487,7 +491,11 @@ fn lifecycle_should_work() { assert_eq!(Balances::reserved_balance(&1), 4); assert!(Metadata::::contains_key(0)); - assert_ok!(Assets::set_reserves(RuntimeOrigin::signed(1), 0, vec![1234])); + assert_ok!(Assets::set_reserves( + RuntimeOrigin::signed(1), + 0, + vec![1234].try_into().unwrap() + )); assert_eq!(Reserves::::get(0), vec![1234]); Balances::make_free_balance_be(&10, 100); @@ -2211,3 +2219,23 @@ fn asset_id_cannot_be_reused() { assert!(Asset::::contains_key(7)); }); } + +#[test] +fn setting_too_many_reserves_fails() { + build_and_execute(|| { + Balances::make_free_balance_be(&1, 100); + assert_ok!(Assets::create(RuntimeOrigin::signed(1), 0, 1, 1)); + assert_eq!(Balances::reserved_balance(&1), 1); + assert!(Asset::::contains_key(0)); + + let mut reserves = vec![]; + for i in 0..MAX_RESERVES + 1 { + reserves.push(1234u128 + i as u128); + } + // Attempting to create a BoundedVec with too many reserves should fail + let result: Result>, _> = + reserves.clone().try_into(); + assert!(result.is_err()); + assert_eq!(Reserves::::get(0), vec![]); + }); +} diff --git a/substrate/frame/assets/src/types.rs b/substrate/frame/assets/src/types.rs index 1c61132e00ed5..34e1c04c87fed 100644 --- a/substrate/frame/assets/src/types.rs +++ b/substrate/frame/assets/src/types.rs @@ -120,7 +120,7 @@ where { pub fn take_deposit(&mut self) -> Option { if !matches!(self, ExistenceReason::DepositHeld(_)) { - return None + return None; } if let ExistenceReason::DepositHeld(deposit) = core::mem::replace(self, ExistenceReason::DepositRefunded) @@ -133,7 +133,7 @@ where pub fn take_deposit_from(&mut self) -> Option<(AccountId, Balance)> { if !matches!(self, ExistenceReason::DepositFrom(..)) { - return None + return None; } if let ExistenceReason::DepositFrom(depositor, deposit) = core::mem::replace(self, ExistenceReason::DepositRefunded) diff --git a/substrate/frame/assets/src/weights.rs b/substrate/frame/assets/src/weights.rs index 6bc8892b49a24..f69645d3495ce 100644 --- a/substrate/frame/assets/src/weights.rs +++ b/substrate/frame/assets/src/weights.rs @@ -35,9 +35,9 @@ //! Autogenerated weights for `pallet_assets` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-05-18, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2026-02-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `c47a012f15ca`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `675bd5accea3`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: @@ -88,6 +88,7 @@ pub trait WeightInfo { fn thaw_asset() -> Weight; fn transfer_ownership() -> Weight; fn set_team() -> Weight; + fn set_reserves(n: u32, ) -> Weight; fn set_metadata(n: u32, s: u32, ) -> Weight; fn clear_metadata() -> Weight; fn force_set_metadata(n: u32, s: u32, ) -> Weight; @@ -107,11 +108,8 @@ pub trait WeightInfo { fn total_issuance() -> Weight; fn balance() -> Weight; fn allowance() -> Weight; - fn set_reserves() -> Weight; - fn migration_v2_foreign_asset_set_reserve_weight() -> Weight { - // disabled by default, force explicit benchmarking - Weight::MAX - } + fn migration_v2_foreign_asset_set_reserve_weight() -> Weight; + fn get_metadata() -> Weight; } /// Weights for `pallet_assets` using the Substrate node and recommended hardware. @@ -125,10 +123,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn create() -> Weight { // Proof Size summary in bytes: - // Measured: `326` + // Measured: `359` // Estimated: `3675` - // Minimum execution time: 30_517_000 picoseconds. - Weight::from_parts(31_518_000, 3675) + // Minimum execution time: 37_320_000 picoseconds. + Weight::from_parts(38_406_000, 3675) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -138,10 +136,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::NextAssetId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn force_create() -> Weight { // Proof Size summary in bytes: - // Measured: `186` + // Measured: `219` // Estimated: `3675` - // Minimum execution time: 12_469_000 picoseconds. - Weight::from_parts(13_002_000, 3675) + // Minimum execution time: 15_517_000 picoseconds. + Weight::from_parts(16_256_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -149,10 +147,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn start_destroy() -> Weight { // Proof Size summary in bytes: - // Measured: `418` + // Measured: `451` // Estimated: `3675` - // Minimum execution time: 14_767_000 picoseconds. - Weight::from_parts(15_425_000, 3675) + // Minimum execution time: 18_207_000 picoseconds. + Weight::from_parts(19_253_000, 3675) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -165,12 +163,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `c` is `[0, 1000]`. fn destroy_accounts(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `104 + c * (208 Β±0)` + // Measured: `169 + c * (208 Β±0)` // Estimated: `3675 + c * (2609 Β±0)` - // Minimum execution time: 18_900_000 picoseconds. - Weight::from_parts(19_222_000, 3675) - // Standard Error: 25_984 - .saturating_add(Weight::from_parts(15_436_025, 0).saturating_mul(c.into())) + // Minimum execution time: 20_177_000 picoseconds. + Weight::from_parts(20_589_000, 3675) + // Standard Error: 25_894 + .saturating_add(Weight::from_parts(16_635_717, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1_u64)) @@ -184,12 +182,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `a` is `[0, 1000]`. fn destroy_approvals(a: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `555 + a * (86 Β±0)` + // Measured: `588 + a * (86 Β±0)` // Estimated: `3675 + a * (2623 Β±0)` - // Minimum execution time: 19_685_000 picoseconds. - Weight::from_parts(20_138_000, 3675) - // Standard Error: 10_401 - .saturating_add(Weight::from_parts(15_779_729, 0).saturating_mul(a.into())) + // Minimum execution time: 23_968_000 picoseconds. + Weight::from_parts(25_341_000, 3675) + // Standard Error: 18_610 + .saturating_add(Weight::from_parts(18_802_362, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) .saturating_add(T::DbWeight::get().writes(1_u64)) @@ -200,14 +198,16 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) /// Storage: `Assets::Metadata` (r:1 w:0) /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// Storage: `Assets::Reserves` (r:0 w:1) + /// Proof: `Assets::Reserves` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`) fn finish_destroy() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 15_652_000 picoseconds. - Weight::from_parts(16_159_000, 3675) + // Minimum execution time: 18_216_000 picoseconds. + Weight::from_parts(19_185_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } /// Storage: `Assets::Asset` (r:1 w:1) /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) @@ -215,10 +215,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn mint() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 25_446_000 picoseconds. - Weight::from_parts(26_623_000, 3675) + // Minimum execution time: 28_835_000 picoseconds. + Weight::from_parts(30_240_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -228,10 +228,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn burn() -> Weight { // Proof Size summary in bytes: - // Measured: `492` + // Measured: `525` // Estimated: `3675` - // Minimum execution time: 33_608_000 picoseconds. - Weight::from_parts(34_662_000, 3675) + // Minimum execution time: 40_615_000 picoseconds. + Weight::from_parts(42_976_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -243,10 +243,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `531` + // Measured: `564` // Estimated: `6208` - // Minimum execution time: 46_426_000 picoseconds. - Weight::from_parts(47_772_000, 6208) + // Minimum execution time: 56_309_000 picoseconds. + Weight::from_parts(57_626_000, 6208) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -258,10 +258,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_keep_alive() -> Weight { // Proof Size summary in bytes: - // Measured: `531` + // Measured: `564` // Estimated: `6208` - // Minimum execution time: 42_162_000 picoseconds. - Weight::from_parts(42_964_000, 6208) + // Minimum execution time: 50_789_000 picoseconds. + Weight::from_parts(52_276_000, 6208) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -273,10 +273,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn force_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `531` + // Measured: `564` // Estimated: `6208` - // Minimum execution time: 46_399_000 picoseconds. - Weight::from_parts(47_580_000, 6208) + // Minimum execution time: 55_790_000 picoseconds. + Weight::from_parts(57_530_000, 6208) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -286,10 +286,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn freeze() -> Weight { // Proof Size summary in bytes: - // Measured: `492` + // Measured: `525` // Estimated: `3675` - // Minimum execution time: 19_369_000 picoseconds. - Weight::from_parts(19_799_000, 3675) + // Minimum execution time: 23_353_000 picoseconds. + Weight::from_parts(24_340_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -299,10 +299,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn thaw() -> Weight { // Proof Size summary in bytes: - // Measured: `492` + // Measured: `525` // Estimated: `3675` - // Minimum execution time: 19_145_000 picoseconds. - Weight::from_parts(19_873_000, 3675) + // Minimum execution time: 23_720_000 picoseconds. + Weight::from_parts(24_789_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -310,10 +310,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn freeze_asset() -> Weight { // Proof Size summary in bytes: - // Measured: `418` + // Measured: `451` // Estimated: `3675` - // Minimum execution time: 14_728_000 picoseconds. - Weight::from_parts(15_405_000, 3675) + // Minimum execution time: 18_947_000 picoseconds. + Weight::from_parts(19_718_000, 3675) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -321,10 +321,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn thaw_asset() -> Weight { // Proof Size summary in bytes: - // Measured: `418` + // Measured: `451` // Estimated: `3675` - // Minimum execution time: 14_730_000 picoseconds. - Weight::from_parts(15_284_000, 3675) + // Minimum execution time: 18_223_000 picoseconds. + Weight::from_parts(18_780_000, 3675) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -334,10 +334,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) fn transfer_ownership() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 16_247_000 picoseconds. - Weight::from_parts(16_890_000, 3675) + // Minimum execution time: 17_714_000 picoseconds. + Weight::from_parts(18_202_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -345,10 +345,26 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn set_team() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` + // Estimated: `3675` + // Minimum execution time: 15_404_000 picoseconds. + Weight::from_parts(15_889_000, 3675) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Assets::Asset` (r:1 w:0) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Reserves` (r:0 w:1) + /// Proof: `Assets::Reserves` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 5]`. + fn set_reserves(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 14_206_000 picoseconds. - Weight::from_parts(14_856_000, 3675) + // Minimum execution time: 18_944_000 picoseconds. + Weight::from_parts(20_430_419, 3675) + // Standard Error: 8_201 + .saturating_add(Weight::from_parts(108_305, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -358,14 +374,16 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(_n: u32, s: u32, ) -> Weight { + fn set_metadata(n: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 30_217_000 picoseconds. - Weight::from_parts(31_869_256, 3675) - // Standard Error: 1_165 - .saturating_add(Weight::from_parts(826, 0).saturating_mul(s.into())) + // Minimum execution time: 36_344_000 picoseconds. + Weight::from_parts(38_278_706, 3675) + // Standard Error: 1_250 + .saturating_add(Weight::from_parts(6_447, 0).saturating_mul(n.into())) + // Standard Error: 1_250 + .saturating_add(Weight::from_parts(6_609, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -375,10 +393,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) fn clear_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `548` + // Measured: `581` // Estimated: `3675` - // Minimum execution time: 29_914_000 picoseconds. - Weight::from_parts(30_680_000, 3675) + // Minimum execution time: 36_302_000 picoseconds. + Weight::from_parts(38_178_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -390,14 +408,14 @@ impl WeightInfo for SubstrateWeight { /// The range of component `s` is `[0, 50]`. fn force_set_metadata(n: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `223` + // Measured: `256` // Estimated: `3675` - // Minimum execution time: 13_045_000 picoseconds. - Weight::from_parts(13_680_991, 3675) - // Standard Error: 528 - .saturating_add(Weight::from_parts(3_162, 0).saturating_mul(n.into())) - // Standard Error: 528 - .saturating_add(Weight::from_parts(2_931, 0).saturating_mul(s.into())) + // Minimum execution time: 15_926_000 picoseconds. + Weight::from_parts(17_089_161, 3675) + // Standard Error: 670 + .saturating_add(Weight::from_parts(96, 0).saturating_mul(n.into())) + // Standard Error: 670 + .saturating_add(Weight::from_parts(2_057, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -407,10 +425,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) fn force_clear_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `548` + // Measured: `581` // Estimated: `3675` - // Minimum execution time: 29_440_000 picoseconds. - Weight::from_parts(30_302_000, 3675) + // Minimum execution time: 35_344_000 picoseconds. + Weight::from_parts(37_253_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -418,10 +436,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn force_asset_status() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 14_175_000 picoseconds. - Weight::from_parts(14_802_000, 3675) + // Minimum execution time: 14_637_000 picoseconds. + Weight::from_parts(15_850_000, 3675) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -431,10 +449,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) fn approve_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `418` + // Measured: `451` // Estimated: `3675` - // Minimum execution time: 34_027_000 picoseconds. - Weight::from_parts(34_976_000, 3675) + // Minimum execution time: 42_634_000 picoseconds. + Weight::from_parts(43_860_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -448,10 +466,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_approved() -> Weight { // Proof Size summary in bytes: - // Measured: `701` + // Measured: `734` // Estimated: `6208` - // Minimum execution time: 66_073_000 picoseconds. - Weight::from_parts(69_478_000, 6208) + // Minimum execution time: 80_342_000 picoseconds. + Weight::from_parts(82_913_000, 6208) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(5_u64)) } @@ -461,10 +479,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) fn cancel_approval() -> Weight { // Proof Size summary in bytes: - // Measured: `588` + // Measured: `621` // Estimated: `3675` - // Minimum execution time: 35_452_000 picoseconds. - Weight::from_parts(36_883_000, 3675) + // Minimum execution time: 43_370_000 picoseconds. + Weight::from_parts(44_987_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -474,10 +492,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) fn force_cancel_approval() -> Weight { // Proof Size summary in bytes: - // Measured: `588` + // Measured: `621` // Estimated: `3675` - // Minimum execution time: 35_154_000 picoseconds. - Weight::from_parts(36_578_000, 3675) + // Minimum execution time: 43_084_000 picoseconds. + Weight::from_parts(44_770_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -485,10 +503,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn set_min_balance() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 14_904_000 picoseconds. - Weight::from_parts(15_505_000, 3675) + // Minimum execution time: 16_201_000 picoseconds. + Weight::from_parts(16_747_000, 3675) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -500,10 +518,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn touch() -> Weight { // Proof Size summary in bytes: - // Measured: `486` + // Measured: `519` // Estimated: `3675` - // Minimum execution time: 35_434_000 picoseconds. - Weight::from_parts(36_636_000, 3675) + // Minimum execution time: 43_087_000 picoseconds. + Weight::from_parts(44_948_000, 3675) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -513,10 +531,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn touch_other() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 33_361_000 picoseconds. - Weight::from_parts(34_522_000, 3675) + // Minimum execution time: 41_273_000 picoseconds. + Weight::from_parts(42_452_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -528,10 +546,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn refund() -> Weight { // Proof Size summary in bytes: - // Measured: `612` + // Measured: `645` // Estimated: `3675` - // Minimum execution time: 33_977_000 picoseconds. - Weight::from_parts(34_979_000, 3675) + // Minimum execution time: 40_785_000 picoseconds. + Weight::from_parts(42_985_000, 3675) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -541,10 +559,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn refund_other() -> Weight { // Proof Size summary in bytes: - // Measured: `543` + // Measured: `576` // Estimated: `3675` - // Minimum execution time: 31_928_000 picoseconds. - Weight::from_parts(33_214_000, 3675) + // Minimum execution time: 39_042_000 picoseconds. + Weight::from_parts(39_947_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -554,10 +572,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn block() -> Weight { // Proof Size summary in bytes: - // Measured: `492` + // Measured: `525` // Estimated: `3675` - // Minimum execution time: 19_186_000 picoseconds. - Weight::from_parts(20_104_000, 3675) + // Minimum execution time: 23_502_000 picoseconds. + Weight::from_parts(24_752_000, 3675) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -569,10 +587,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_all() -> Weight { // Proof Size summary in bytes: - // Measured: `531` + // Measured: `564` // Estimated: `6208` - // Minimum execution time: 55_413_000 picoseconds. - Weight::from_parts(56_798_000, 6208) + // Minimum execution time: 67_955_000 picoseconds. + Weight::from_parts(69_022_000, 6208) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -580,36 +598,54 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn total_issuance() -> Weight { // Proof Size summary in bytes: - // Measured: `418` + // Measured: `451` // Estimated: `3675` - // Minimum execution time: 8_792_000 picoseconds. - Weight::from_parts(9_095_000, 3675) + // Minimum execution time: 10_794_000 picoseconds. + Weight::from_parts(11_213_000, 3675) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: `Assets::Account` (r:1 w:0) /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn balance() -> Weight { // Proof Size summary in bytes: - // Measured: `255` + // Measured: `288` // Estimated: `3599` - // Minimum execution time: 8_924_000 picoseconds. - Weight::from_parts(9_407_000, 3599) + // Minimum execution time: 7_933_000 picoseconds. + Weight::from_parts(8_327_000, 3599) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: `Assets::Approvals` (r:1 w:0) /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) fn allowance() -> Weight { // Proof Size summary in bytes: - // Measured: `350` + // Measured: `383` // Estimated: `3613` - // Minimum execution time: 11_348_000 picoseconds. - Weight::from_parts(11_882_000, 3613) + // Minimum execution time: 11_212_000 picoseconds. + Weight::from_parts(11_455_000, 3613) .saturating_add(T::DbWeight::get().reads(1_u64)) } - fn set_reserves() -> Weight { - Weight::from_parts(31_972_000, 3675) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + /// Storage: `Assets::Asset` (r:1 w:0) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Reserves` (r:0 w:1) + /// Proof: `Assets::Reserves` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`) + fn migration_v2_foreign_asset_set_reserve_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `256` + // Estimated: `3675` + // Minimum execution time: 9_427_000 picoseconds. + Weight::from_parts(10_145_000, 3675) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Assets::Metadata` (r:1 w:0) + /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn get_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `344` + // Estimated: `3605` + // Minimum execution time: 10_101_000 picoseconds. + Weight::from_parts(10_699_000, 3605) + .saturating_add(T::DbWeight::get().reads(1_u64)) } } @@ -623,10 +659,10 @@ impl WeightInfo for () { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn create() -> Weight { // Proof Size summary in bytes: - // Measured: `326` + // Measured: `359` // Estimated: `3675` - // Minimum execution time: 30_517_000 picoseconds. - Weight::from_parts(31_518_000, 3675) + // Minimum execution time: 37_320_000 picoseconds. + Weight::from_parts(38_406_000, 3675) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -636,10 +672,10 @@ impl WeightInfo for () { /// Proof: `Assets::NextAssetId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn force_create() -> Weight { // Proof Size summary in bytes: - // Measured: `186` + // Measured: `219` // Estimated: `3675` - // Minimum execution time: 12_469_000 picoseconds. - Weight::from_parts(13_002_000, 3675) + // Minimum execution time: 15_517_000 picoseconds. + Weight::from_parts(16_256_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -647,10 +683,10 @@ impl WeightInfo for () { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn start_destroy() -> Weight { // Proof Size summary in bytes: - // Measured: `418` + // Measured: `451` // Estimated: `3675` - // Minimum execution time: 14_767_000 picoseconds. - Weight::from_parts(15_425_000, 3675) + // Minimum execution time: 18_207_000 picoseconds. + Weight::from_parts(19_253_000, 3675) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -663,12 +699,12 @@ impl WeightInfo for () { /// The range of component `c` is `[0, 1000]`. fn destroy_accounts(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `104 + c * (208 Β±0)` + // Measured: `169 + c * (208 Β±0)` // Estimated: `3675 + c * (2609 Β±0)` - // Minimum execution time: 18_900_000 picoseconds. - Weight::from_parts(19_222_000, 3675) - // Standard Error: 25_984 - .saturating_add(Weight::from_parts(15_436_025, 0).saturating_mul(c.into())) + // Minimum execution time: 20_177_000 picoseconds. + Weight::from_parts(20_589_000, 3675) + // Standard Error: 25_894 + .saturating_add(Weight::from_parts(16_635_717, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(c.into()))) .saturating_add(RocksDbWeight::get().writes(1_u64)) @@ -682,12 +718,12 @@ impl WeightInfo for () { /// The range of component `a` is `[0, 1000]`. fn destroy_approvals(a: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `555 + a * (86 Β±0)` + // Measured: `588 + a * (86 Β±0)` // Estimated: `3675 + a * (2623 Β±0)` - // Minimum execution time: 19_685_000 picoseconds. - Weight::from_parts(20_138_000, 3675) - // Standard Error: 10_401 - .saturating_add(Weight::from_parts(15_779_729, 0).saturating_mul(a.into())) + // Minimum execution time: 23_968_000 picoseconds. + Weight::from_parts(25_341_000, 3675) + // Standard Error: 18_610 + .saturating_add(Weight::from_parts(18_802_362, 0).saturating_mul(a.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(a.into()))) .saturating_add(RocksDbWeight::get().writes(1_u64)) @@ -698,14 +734,16 @@ impl WeightInfo for () { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) /// Storage: `Assets::Metadata` (r:1 w:0) /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// Storage: `Assets::Reserves` (r:0 w:1) + /// Proof: `Assets::Reserves` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`) fn finish_destroy() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 15_652_000 picoseconds. - Weight::from_parts(16_159_000, 3675) + // Minimum execution time: 18_216_000 picoseconds. + Weight::from_parts(19_185_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } /// Storage: `Assets::Asset` (r:1 w:1) /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) @@ -713,10 +751,10 @@ impl WeightInfo for () { /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn mint() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 25_446_000 picoseconds. - Weight::from_parts(26_623_000, 3675) + // Minimum execution time: 28_835_000 picoseconds. + Weight::from_parts(30_240_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -726,10 +764,10 @@ impl WeightInfo for () { /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn burn() -> Weight { // Proof Size summary in bytes: - // Measured: `492` + // Measured: `525` // Estimated: `3675` - // Minimum execution time: 33_608_000 picoseconds. - Weight::from_parts(34_662_000, 3675) + // Minimum execution time: 40_615_000 picoseconds. + Weight::from_parts(42_976_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -741,10 +779,10 @@ impl WeightInfo for () { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `531` + // Measured: `564` // Estimated: `6208` - // Minimum execution time: 46_426_000 picoseconds. - Weight::from_parts(47_772_000, 6208) + // Minimum execution time: 56_309_000 picoseconds. + Weight::from_parts(57_626_000, 6208) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -756,10 +794,10 @@ impl WeightInfo for () { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_keep_alive() -> Weight { // Proof Size summary in bytes: - // Measured: `531` + // Measured: `564` // Estimated: `6208` - // Minimum execution time: 42_162_000 picoseconds. - Weight::from_parts(42_964_000, 6208) + // Minimum execution time: 50_789_000 picoseconds. + Weight::from_parts(52_276_000, 6208) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -771,10 +809,10 @@ impl WeightInfo for () { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn force_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `531` + // Measured: `564` // Estimated: `6208` - // Minimum execution time: 46_399_000 picoseconds. - Weight::from_parts(47_580_000, 6208) + // Minimum execution time: 55_790_000 picoseconds. + Weight::from_parts(57_530_000, 6208) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -784,10 +822,10 @@ impl WeightInfo for () { /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn freeze() -> Weight { // Proof Size summary in bytes: - // Measured: `492` + // Measured: `525` // Estimated: `3675` - // Minimum execution time: 19_369_000 picoseconds. - Weight::from_parts(19_799_000, 3675) + // Minimum execution time: 23_353_000 picoseconds. + Weight::from_parts(24_340_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -797,10 +835,10 @@ impl WeightInfo for () { /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn thaw() -> Weight { // Proof Size summary in bytes: - // Measured: `492` + // Measured: `525` // Estimated: `3675` - // Minimum execution time: 19_145_000 picoseconds. - Weight::from_parts(19_873_000, 3675) + // Minimum execution time: 23_720_000 picoseconds. + Weight::from_parts(24_789_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -808,10 +846,10 @@ impl WeightInfo for () { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn freeze_asset() -> Weight { // Proof Size summary in bytes: - // Measured: `418` + // Measured: `451` // Estimated: `3675` - // Minimum execution time: 14_728_000 picoseconds. - Weight::from_parts(15_405_000, 3675) + // Minimum execution time: 18_947_000 picoseconds. + Weight::from_parts(19_718_000, 3675) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -819,10 +857,10 @@ impl WeightInfo for () { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn thaw_asset() -> Weight { // Proof Size summary in bytes: - // Measured: `418` + // Measured: `451` // Estimated: `3675` - // Minimum execution time: 14_730_000 picoseconds. - Weight::from_parts(15_284_000, 3675) + // Minimum execution time: 18_223_000 picoseconds. + Weight::from_parts(18_780_000, 3675) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -832,10 +870,10 @@ impl WeightInfo for () { /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) fn transfer_ownership() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 16_247_000 picoseconds. - Weight::from_parts(16_890_000, 3675) + // Minimum execution time: 17_714_000 picoseconds. + Weight::from_parts(18_202_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -843,10 +881,26 @@ impl WeightInfo for () { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn set_team() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` + // Estimated: `3675` + // Minimum execution time: 15_404_000 picoseconds. + Weight::from_parts(15_889_000, 3675) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `Assets::Asset` (r:1 w:0) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Reserves` (r:0 w:1) + /// Proof: `Assets::Reserves` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 5]`. + fn set_reserves(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 14_206_000 picoseconds. - Weight::from_parts(14_856_000, 3675) + // Minimum execution time: 18_944_000 picoseconds. + Weight::from_parts(20_430_419, 3675) + // Standard Error: 8_201 + .saturating_add(Weight::from_parts(108_305, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -856,14 +910,16 @@ impl WeightInfo for () { /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(_n: u32, s: u32, ) -> Weight { + fn set_metadata(n: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 30_217_000 picoseconds. - Weight::from_parts(31_869_256, 3675) - // Standard Error: 1_165 - .saturating_add(Weight::from_parts(826, 0).saturating_mul(s.into())) + // Minimum execution time: 36_344_000 picoseconds. + Weight::from_parts(38_278_706, 3675) + // Standard Error: 1_250 + .saturating_add(Weight::from_parts(6_447, 0).saturating_mul(n.into())) + // Standard Error: 1_250 + .saturating_add(Weight::from_parts(6_609, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -873,10 +929,10 @@ impl WeightInfo for () { /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) fn clear_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `548` + // Measured: `581` // Estimated: `3675` - // Minimum execution time: 29_914_000 picoseconds. - Weight::from_parts(30_680_000, 3675) + // Minimum execution time: 36_302_000 picoseconds. + Weight::from_parts(38_178_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -888,14 +944,14 @@ impl WeightInfo for () { /// The range of component `s` is `[0, 50]`. fn force_set_metadata(n: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `223` + // Measured: `256` // Estimated: `3675` - // Minimum execution time: 13_045_000 picoseconds. - Weight::from_parts(13_680_991, 3675) - // Standard Error: 528 - .saturating_add(Weight::from_parts(3_162, 0).saturating_mul(n.into())) - // Standard Error: 528 - .saturating_add(Weight::from_parts(2_931, 0).saturating_mul(s.into())) + // Minimum execution time: 15_926_000 picoseconds. + Weight::from_parts(17_089_161, 3675) + // Standard Error: 670 + .saturating_add(Weight::from_parts(96, 0).saturating_mul(n.into())) + // Standard Error: 670 + .saturating_add(Weight::from_parts(2_057, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -905,10 +961,10 @@ impl WeightInfo for () { /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) fn force_clear_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `548` + // Measured: `581` // Estimated: `3675` - // Minimum execution time: 29_440_000 picoseconds. - Weight::from_parts(30_302_000, 3675) + // Minimum execution time: 35_344_000 picoseconds. + Weight::from_parts(37_253_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -916,10 +972,10 @@ impl WeightInfo for () { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn force_asset_status() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 14_175_000 picoseconds. - Weight::from_parts(14_802_000, 3675) + // Minimum execution time: 14_637_000 picoseconds. + Weight::from_parts(15_850_000, 3675) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -929,10 +985,10 @@ impl WeightInfo for () { /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) fn approve_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `418` + // Measured: `451` // Estimated: `3675` - // Minimum execution time: 34_027_000 picoseconds. - Weight::from_parts(34_976_000, 3675) + // Minimum execution time: 42_634_000 picoseconds. + Weight::from_parts(43_860_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -946,10 +1002,10 @@ impl WeightInfo for () { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_approved() -> Weight { // Proof Size summary in bytes: - // Measured: `701` + // Measured: `734` // Estimated: `6208` - // Minimum execution time: 66_073_000 picoseconds. - Weight::from_parts(69_478_000, 6208) + // Minimum execution time: 80_342_000 picoseconds. + Weight::from_parts(82_913_000, 6208) .saturating_add(RocksDbWeight::get().reads(5_u64)) .saturating_add(RocksDbWeight::get().writes(5_u64)) } @@ -959,10 +1015,10 @@ impl WeightInfo for () { /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) fn cancel_approval() -> Weight { // Proof Size summary in bytes: - // Measured: `588` + // Measured: `621` // Estimated: `3675` - // Minimum execution time: 35_452_000 picoseconds. - Weight::from_parts(36_883_000, 3675) + // Minimum execution time: 43_370_000 picoseconds. + Weight::from_parts(44_987_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -972,10 +1028,10 @@ impl WeightInfo for () { /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) fn force_cancel_approval() -> Weight { // Proof Size summary in bytes: - // Measured: `588` + // Measured: `621` // Estimated: `3675` - // Minimum execution time: 35_154_000 picoseconds. - Weight::from_parts(36_578_000, 3675) + // Minimum execution time: 43_084_000 picoseconds. + Weight::from_parts(44_770_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -983,10 +1039,10 @@ impl WeightInfo for () { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn set_min_balance() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 14_904_000 picoseconds. - Weight::from_parts(15_505_000, 3675) + // Minimum execution time: 16_201_000 picoseconds. + Weight::from_parts(16_747_000, 3675) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -998,10 +1054,10 @@ impl WeightInfo for () { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn touch() -> Weight { // Proof Size summary in bytes: - // Measured: `486` + // Measured: `519` // Estimated: `3675` - // Minimum execution time: 35_434_000 picoseconds. - Weight::from_parts(36_636_000, 3675) + // Minimum execution time: 43_087_000 picoseconds. + Weight::from_parts(44_948_000, 3675) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -1011,10 +1067,10 @@ impl WeightInfo for () { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn touch_other() -> Weight { // Proof Size summary in bytes: - // Measured: `384` + // Measured: `417` // Estimated: `3675` - // Minimum execution time: 33_361_000 picoseconds. - Weight::from_parts(34_522_000, 3675) + // Minimum execution time: 41_273_000 picoseconds. + Weight::from_parts(42_452_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -1026,10 +1082,10 @@ impl WeightInfo for () { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn refund() -> Weight { // Proof Size summary in bytes: - // Measured: `612` + // Measured: `645` // Estimated: `3675` - // Minimum execution time: 33_977_000 picoseconds. - Weight::from_parts(34_979_000, 3675) + // Minimum execution time: 40_785_000 picoseconds. + Weight::from_parts(42_985_000, 3675) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -1039,10 +1095,10 @@ impl WeightInfo for () { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn refund_other() -> Weight { // Proof Size summary in bytes: - // Measured: `543` + // Measured: `576` // Estimated: `3675` - // Minimum execution time: 31_928_000 picoseconds. - Weight::from_parts(33_214_000, 3675) + // Minimum execution time: 39_042_000 picoseconds. + Weight::from_parts(39_947_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -1052,10 +1108,10 @@ impl WeightInfo for () { /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn block() -> Weight { // Proof Size summary in bytes: - // Measured: `492` + // Measured: `525` // Estimated: `3675` - // Minimum execution time: 19_186_000 picoseconds. - Weight::from_parts(20_104_000, 3675) + // Minimum execution time: 23_502_000 picoseconds. + Weight::from_parts(24_752_000, 3675) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -1067,10 +1123,10 @@ impl WeightInfo for () { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_all() -> Weight { // Proof Size summary in bytes: - // Measured: `531` + // Measured: `564` // Estimated: `6208` - // Minimum execution time: 55_413_000 picoseconds. - Weight::from_parts(56_798_000, 6208) + // Minimum execution time: 67_955_000 picoseconds. + Weight::from_parts(69_022_000, 6208) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -1078,35 +1134,53 @@ impl WeightInfo for () { /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn total_issuance() -> Weight { // Proof Size summary in bytes: - // Measured: `418` + // Measured: `451` // Estimated: `3675` - // Minimum execution time: 8_792_000 picoseconds. - Weight::from_parts(9_095_000, 3675) + // Minimum execution time: 10_794_000 picoseconds. + Weight::from_parts(11_213_000, 3675) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: `Assets::Account` (r:1 w:0) /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn balance() -> Weight { // Proof Size summary in bytes: - // Measured: `255` + // Measured: `288` // Estimated: `3599` - // Minimum execution time: 8_924_000 picoseconds. - Weight::from_parts(9_407_000, 3599) + // Minimum execution time: 7_933_000 picoseconds. + Weight::from_parts(8_327_000, 3599) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: `Assets::Approvals` (r:1 w:0) /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) fn allowance() -> Weight { // Proof Size summary in bytes: - // Measured: `350` + // Measured: `383` // Estimated: `3613` - // Minimum execution time: 11_348_000 picoseconds. - Weight::from_parts(11_882_000, 3613) + // Minimum execution time: 11_212_000 picoseconds. + Weight::from_parts(11_455_000, 3613) .saturating_add(RocksDbWeight::get().reads(1_u64)) } - fn set_reserves() -> Weight { - Weight::from_parts(31_972_000, 3675) + /// Storage: `Assets::Asset` (r:1 w:0) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Reserves` (r:0 w:1) + /// Proof: `Assets::Reserves` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`) + fn migration_v2_foreign_asset_set_reserve_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `256` + // Estimated: `3675` + // Minimum execution time: 9_427_000 picoseconds. + Weight::from_parts(10_145_000, 3675) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } + /// Storage: `Assets::Metadata` (r:1 w:0) + /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn get_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `344` + // Estimated: `3605` + // Minimum execution time: 10_101_000 picoseconds. + Weight::from_parts(10_699_000, 3605) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + } } diff --git a/substrate/frame/aura/src/lib.rs b/substrate/frame/aura/src/lib.rs index 95902d5b021f8..ec8fc2ce73b13 100644 --- a/substrate/frame/aura/src/lib.rs +++ b/substrate/frame/aura/src/lib.rs @@ -198,7 +198,7 @@ impl Pallet { if new.is_empty() { log::warn!(target: LOG_TARGET, "Ignoring empty authority change."); - return + return; } >::put(&new); @@ -235,7 +235,7 @@ impl Pallet { let pre_runtime_digests = digest.logs.iter().filter_map(|d| d.as_pre_runtime()); for (id, mut data) in pre_runtime_digests { if id == AURA_ENGINE_ID { - return Slot::decode(&mut data).ok() + return Slot::decode(&mut data).ok(); } } @@ -370,7 +370,7 @@ impl FindAuthor for Pallet { if id == AURA_ENGINE_ID { let slot = Slot::decode(&mut data).ok()?; let author_index = *slot % Self::authorities_len() as u64; - return Some(author_index as u32) + return Some(author_index as u32); } } diff --git a/substrate/frame/authority-discovery/src/lib.rs b/substrate/frame/authority-discovery/src/lib.rs index 5d3a0d490544d..efbed9f37299a 100644 --- a/substrate/frame/authority-discovery/src/lib.rs +++ b/substrate/frame/authority-discovery/src/lib.rs @@ -38,6 +38,7 @@ pub use pallet::*; pub mod pallet { use super::*; use frame_support::pallet_prelude::*; + use frame_system::pallet_prelude::BlockNumberFor; #[pallet::pallet] pub struct Pallet(_); @@ -73,6 +74,14 @@ pub mod pallet { Pallet::::initialize_keys(&self.keys) } } + + #[pallet::hooks] + impl Hooks> for Pallet { + #[cfg(feature = "try-runtime")] + fn try_state(_n: BlockNumberFor) -> Result<(), sp_runtime::TryRuntimeError> { + Self::do_try_state() + } + } } impl Pallet { @@ -166,6 +175,40 @@ impl OneSessionHandler for Pallet { } } +#[cfg(any(feature = "try-runtime", test))] +impl Pallet { + /// Ensure the correctness of the state of this pallet. + /// + /// # Invariants + /// + /// * `Keys` must not exceed `MaxAuthorities`. + /// * `NextKeys` must not exceed `MaxAuthorities`. + /// * `Keys` should not contain duplicates. + /// * `NextKeys` should not contain duplicates. + pub fn do_try_state() -> Result<(), sp_runtime::TryRuntimeError> { + use frame_support::ensure; + let keys = Keys::::get(); + ensure!(keys.len() as u32 <= T::MaxAuthorities::get(), "Keys exceeds MaxAuthorities"); + let mut sorted_keys = keys.to_vec(); + sorted_keys.sort(); + ensure!(sorted_keys.windows(2).all(|w| w[0] != w[1]), "Duplicate keys found in Keys"); + + let next_keys = NextKeys::::get(); + ensure!( + next_keys.len() as u32 <= T::MaxAuthorities::get(), + "NextKeys exceeds MaxAuthorities" + ); + let mut sorted_next_keys = next_keys.to_vec(); + sorted_next_keys.sort(); + ensure!( + sorted_next_keys.windows(2).all(|w| w[0] != w[1]), + "Duplicate keys found in NextKeys" + ); + + Ok(()) + } +} + #[cfg(test)] mod tests { use super::*; @@ -323,6 +366,9 @@ mod tests { authorities_returned.sort(); assert_eq!(first_authorities, authorities_returned); + // Verify state + AuthorityDiscovery::do_try_state().unwrap(); + // When `changed` set to false, the authority set should not be updated. AuthorityDiscovery::on_new_session( false, @@ -342,6 +388,9 @@ mod tests { "Expected authority set not to change as `changed` was set to false.", ); + // Verify state + AuthorityDiscovery::do_try_state().unwrap(); + // When `changed` set to true, the authority set should be updated. AuthorityDiscovery::on_new_session( true, @@ -362,6 +411,9 @@ mod tests { next session." ); + // Verify state + AuthorityDiscovery::do_try_state().unwrap(); + // With overlapping authority sets, `authorities()` should return a deduplicated set. AuthorityDiscovery::on_new_session( true, @@ -374,6 +426,9 @@ mod tests { AuthorityDiscovery::authorities(), "Expected authority set to be deduplicated." ); + + // Verify state + AuthorityDiscovery::do_try_state().unwrap(); }); } } diff --git a/substrate/frame/authorship/src/lib.rs b/substrate/frame/authorship/src/lib.rs index 5c969a3480d4d..4c3061ef8fde7 100644 --- a/substrate/frame/authorship/src/lib.rs +++ b/substrate/frame/authorship/src/lib.rs @@ -80,7 +80,7 @@ impl Pallet { pub fn author() -> Option { // Check the memorized storage value. if let Some(author) = >::get() { - return Some(author) + return Some(author); } let digest = >::digest(); @@ -133,7 +133,7 @@ mod tests { { for (id, mut data) in digests { if id == TEST_ID { - return u64::decode(&mut data).ok() + return u64::decode(&mut data).ok(); } } diff --git a/substrate/frame/babe/src/equivocation.rs b/substrate/frame/babe/src/equivocation.rs index 26279be897fdd..0841e5c56818d 100644 --- a/substrate/frame/babe/src/equivocation.rs +++ b/substrate/frame/babe/src/equivocation.rs @@ -170,7 +170,7 @@ where // Validate the equivocation proof (check votes are different and signatures are valid) if !sp_consensus_babe::check_equivocation_proof(equivocation_proof) { - return Err(Error::::InvalidEquivocationProof.into()) + return Err(Error::::InvalidEquivocationProof.into()); } let validator_set_count = key_owner_proof.validator_count(); @@ -182,7 +182,7 @@ where // Check that the slot number is consistent with the session index // in the key ownership proof (i.e. slot is for that epoch) if Pallet::::session_index_for_epoch(epoch_index) != session_index { - return Err(Error::::InvalidKeyOwnershipProof.into()) + return Err(Error::::InvalidKeyOwnershipProof.into()); } // Check the membership proof and extract the offender's id @@ -214,7 +214,7 @@ impl Pallet { "rejecting unsigned report equivocation transaction because it is not local/in-block.", ); - return InvalidTransaction::Call.into() + return InvalidTransaction::Call.into(); }, } diff --git a/substrate/frame/babe/src/lib.rs b/substrate/frame/babe/src/lib.rs index 3e33d5627c47b..09521a9102a11 100644 --- a/substrate/frame/babe/src/lib.rs +++ b/substrate/frame/babe/src/lib.rs @@ -492,7 +492,7 @@ impl FindAuthor for Pallet { for (id, mut data) in digests.into_iter() { if id == BABE_ENGINE_ID { let pre_digest: PreDigest = PreDigest::decode(&mut data).ok()?; - return Some(pre_digest.authority_index()) + return Some(pre_digest.authority_index()); } } @@ -625,7 +625,7 @@ impl Pallet { if authorities.is_empty() { log::warn!(target: LOG_TARGET, "Ignoring empty epoch change."); - return + return; } // Update epoch index. @@ -656,7 +656,7 @@ impl Pallet { session_index, ); - return + return; } if skipped_epochs.is_full() { @@ -824,7 +824,7 @@ impl Pallet { // let's ensure that we only do the initialization once per block let initialized = Initialized::::get().is_some(); if initialized { - return + return; } let pre_digest = diff --git a/substrate/frame/babe/src/tests.rs b/substrate/frame/babe/src/tests.rs index aae36f8608b28..b4da5011010d2 100644 --- a/substrate/frame/babe/src/tests.rs +++ b/substrate/frame/babe/src/tests.rs @@ -494,7 +494,7 @@ fn report_equivocation_current_session_works() { // check that the balances of all other validators are left intact. for validator in &validators { if *validator == offending_validator_id { - continue + continue; } assert_eq!(Balances::total_balance(validator), 10_000_000); diff --git a/substrate/frame/bags-list/remote-tests/src/lib.rs b/substrate/frame/bags-list/remote-tests/src/lib.rs index fbf6fe94d57fa..286b8ddbc4573 100644 --- a/substrate/frame/bags-list/remote-tests/src/lib.rs +++ b/substrate/frame/bags-list/remote-tests/src/lib.rs @@ -79,7 +79,7 @@ pub fn display_and_check_bags>( Some(bag) => bag, None => { log::info!(target: LOG_TARGET, "{} NO VOTERS.", pretty_thresh); - continue + continue; }, }; diff --git a/substrate/frame/bags-list/remote-tests/src/migration.rs b/substrate/frame/bags-list/remote-tests/src/migration.rs index 3d929ee9854b3..61ea5bd449d09 100644 --- a/substrate/frame/bags-list/remote-tests/src/migration.rs +++ b/substrate/frame/bags-list/remote-tests/src/migration.rs @@ -35,7 +35,7 @@ pub async fn execute( { let mut ext = Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: ws_url.to_string().into(), + transport_uris: vec![ws_url.to_string()], pallets: vec![pallet_staking::Pallet::::name().to_string()], ..Default::default() })) diff --git a/substrate/frame/bags-list/remote-tests/src/snapshot.rs b/substrate/frame/bags-list/remote-tests/src/snapshot.rs index f8ba7b8d02433..62137eadde19c 100644 --- a/substrate/frame/bags-list/remote-tests/src/snapshot.rs +++ b/substrate/frame/bags-list/remote-tests/src/snapshot.rs @@ -38,7 +38,7 @@ where let mut ext = Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: ws_url.to_string().into(), + transport_uris: vec![ws_url.to_string()], // NOTE: we don't scrape pallet-staking, this kinda ensures that the source of the data // is bags-list. pallets: vec![pallet_bags_list::Pallet::::name() diff --git a/substrate/frame/bags-list/remote-tests/src/try_state.rs b/substrate/frame/bags-list/remote-tests/src/try_state.rs index 57dd1305c0030..3342a1addc23e 100644 --- a/substrate/frame/bags-list/remote-tests/src/try_state.rs +++ b/substrate/frame/bags-list/remote-tests/src/try_state.rs @@ -35,7 +35,7 @@ pub async fn execute( { let mut ext = Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: ws_url.to_string().into(), + transport_uris: vec![ws_url.to_string()], pallets: vec![pallet_bags_list::Pallet::::name() .to_string()], hashed_prefixes: vec![ diff --git a/substrate/frame/bags-list/src/lib.rs b/substrate/frame/bags-list/src/lib.rs index 46da2e36dc76f..7e2fb63f2c63c 100644 --- a/substrate/frame/bags-list/src/lib.rs +++ b/substrate/frame/bags-list/src/lib.rs @@ -53,9 +53,6 @@ //! optimal position in a bag, the [`Pallet::put_in_front_of`] or [`Pallet::put_in_front_of_other`] //! can be used. //! -//! Additional reading, about how this pallet is used in the context of Polkadot's staking system: -//! -//! //! ## Examples //! //! See [`example`] for a diagram of `rebag` and `put_in_front_of` operations. @@ -87,7 +84,6 @@ extern crate alloc; #[cfg(doc)] #[cfg_attr(doc, aquamarine::aquamarine)] -/// /// In this example, assuming each node has an equal id and score (eg. node 21 has a score of 21), /// the node 22 can be moved from bag 1 to bag 0 with the `rebag` operation. /// @@ -336,7 +332,6 @@ pub mod pallet { /// aware of, which may or may not be up to date, and the latter being the real score, as /// provided by // [`Config::ScoreProvider`]. - /// /// If the two differ, it means this node is eligible for [`Call::rebag`]. pub fn scores(who: T::AccountId) -> (Option, Option) { (ListNodes::::get(&who).map(|node| node.score), T::ScoreProvider::score(&who)) @@ -708,13 +703,16 @@ impl, I: 'static> SortedListProvider for Pallet } fn on_insert(id: T::AccountId, score: T::Score) -> Result<(), ListError> { - Pallet::::ensure_unlocked().inspect_err(|_| { + if Pallet::::ensure_unlocked().is_err() { // Pallet is locked - store in PendingRebag for later processing // Only queue if auto-rebagging is enabled if T::MaxAutoRebagPerBlock::get() > 0u32 { PendingRebag::::insert(&id, ()); + return Ok(()); } - })?; + + return Err(ListError::Locked); + }; List::::insert(id, score) } diff --git a/substrate/frame/bags-list/src/list/mod.rs b/substrate/frame/bags-list/src/list/mod.rs index 648ad2b30c48a..fb090eb4b89f0 100644 --- a/substrate/frame/bags-list/src/list/mod.rs +++ b/substrate/frame/bags-list/src/list/mod.rs @@ -93,7 +93,6 @@ pub fn notional_bag_for, I: 'static>(score: T::Score) -> T::Score { /// The **ONLY** entry point of this module. All operations to the bags-list should happen through /// this interface. It is forbidden to access other module members directly. -// // Data structure providing efficient mostly-accurate selection of the top N id by `Score`. // // It's implemented as a set of linked lists. Each linked list comprises a bag of ids of @@ -164,7 +163,7 @@ impl, I: 'static> List { pub fn migrate(old_thresholds: &[T::Score]) -> u32 { let new_thresholds = T::BagThresholds::get(); if new_thresholds == old_thresholds { - return 0 + return 0; } // we can't check all preconditions, but we can check one @@ -199,7 +198,7 @@ impl, I: 'static> List { if !affected_old_bags.insert(affected_bag) { // If the previous threshold list was [10, 20], and we insert [3, 5], then there's // no point iterating through bag 10 twice. - continue + continue; } if let Some(bag) = Bag::::get(affected_bag) { @@ -211,7 +210,7 @@ impl, I: 'static> List { // a removed bag means that all members of that bag must be rebagged for removed_bag in removed_bags.clone() { if !affected_old_bags.insert(removed_bag) { - continue + continue; } if let Some(bag) = Bag::::get(removed_bag) { @@ -341,7 +340,7 @@ impl, I: 'static> List { /// Returns an error if the list already contains `id`. pub(crate) fn insert(id: T::AccountId, score: T::Score) -> Result<(), ListError> { if Self::contains(&id) { - return Err(ListError::Duplicate) + return Err(ListError::Duplicate); } let bag_score = notional_bag_for::(score); @@ -367,7 +366,7 @@ impl, I: 'static> List { /// Remove an id from the list, returning an error if `id` does not exists. pub(crate) fn remove(id: &T::AccountId) -> Result<(), ListError> { if !Self::contains(id) { - return Err(ListError::NodeNotFound) + return Err(ListError::NodeNotFound); } let _ = Self::remove_many(core::iter::once(id)); Ok(()) @@ -747,7 +746,7 @@ impl, I: 'static> Bag { // this should never happen, but this check prevents one path to a worst case // infinite loop. defensive!("system logic error: inserting a node who has the id of tail"); - return + return; }; } diff --git a/substrate/frame/bags-list/src/migrations.rs b/substrate/frame/bags-list/src/migrations.rs index 8bffbb4a79661..be6233ed9a01f 100644 --- a/substrate/frame/bags-list/src/migrations.rs +++ b/substrate/frame/bags-list/src/migrations.rs @@ -118,7 +118,7 @@ impl, I: 'static> OnRuntimeUpgrade for AddScore { crate::ListNodes::::insert(node.id, new_node); } - return frame_support::weights::Weight::MAX + return frame_support::weights::Weight::MAX; } #[cfg(feature = "try-runtime")] diff --git a/substrate/frame/bags-list/src/tests.rs b/substrate/frame/bags-list/src/tests.rs index 1d9c48d27fb6f..c6cdbcff76635 100644 --- a/substrate/frame/bags-list/src/tests.rs +++ b/substrate/frame/bags-list/src/tests.rs @@ -1041,12 +1041,12 @@ mod on_idle { BagsList::lock(); // Try to insert 6 new nodes while locked - 5 regular + 1 that will lose staking status - assert_eq!(BagsList::on_insert(5, 15), Err(ListError::Locked)); - assert_eq!(BagsList::on_insert(6, 45), Err(ListError::Locked)); - assert_eq!(BagsList::on_insert(7, 55), Err(ListError::Locked)); - assert_eq!(BagsList::on_insert(8, 1500), Err(ListError::Locked)); - assert_eq!(BagsList::on_insert(11, 100), Err(ListError::Locked)); - assert_eq!(BagsList::on_insert(99, 500), Err(ListError::Locked)); // Will lose staking + assert_ok!(BagsList::on_insert(5, 15)); + assert_ok!(BagsList::on_insert(6, 45)); + assert_ok!(BagsList::on_insert(7, 55)); + assert_ok!(BagsList::on_insert(8, 1500)); + assert_ok!(BagsList::on_insert(11, 100)); + assert_ok!(BagsList::on_insert(99, 500)); // Will lose staking // Verify they're in PendingRebag let pending: Vec<_> = PendingRebag::::iter_keys().collect(); @@ -1184,7 +1184,7 @@ mod on_idle { // Try to insert while locked - should go to PendingRebag StakingMock::set_score_of(&1, 1000); - assert_eq!(BagsList::on_insert(1, 1000), Err(ListError::Locked)); + assert_ok!(BagsList::on_insert(1, 1000)); assert!(PendingRebag::::contains_key(&1)); assert!(!List::::contains(&1)); diff --git a/substrate/frame/balances/src/impl_currency.rs b/substrate/frame/balances/src/impl_currency.rs index fa35f207c9030..8554fc6a19e57 100644 --- a/substrate/frame/balances/src/impl_currency.rs +++ b/substrate/frame/balances/src/impl_currency.rs @@ -40,8 +40,14 @@ use sp_runtime::traits::Bounded; // of the inner member. mod imbalances { use super::*; + use alloc::boxed::Box; use core::mem; - use frame_support::traits::{tokens::imbalance::TryMerge, SameOrOther}; + use frame_support::traits::{ + tokens::imbalance::{ + ImbalanceAccounting, TryMerge, UnsafeConstructorDestructor, UnsafeManualAccounting, + }, + SameOrOther, + }; /// Opaque, move-only struct with private fields that serves as a token denoting that /// funds have been created without any equal and opposite accounting. @@ -62,6 +68,45 @@ mod imbalances { #[derive(Debug, PartialEq, Eq)] pub struct NegativeImbalance, I: 'static = ()>(T::Balance); + impl UnsafeConstructorDestructor for NegativeImbalance + where + T: Config + Into>, + I: 'static, + { + fn unsafe_clone(&self) -> Box> { + Box::new(Self(self.0)) + } + fn forget_imbalance(&mut self) -> u128 { + let amount = self.0.into(); + self.0 = Zero::zero(); + amount + } + } + + impl UnsafeManualAccounting for NegativeImbalance + where + T: Config + Into>, + I: 'static, + { + fn saturating_subsume(&mut self, mut other: Box>) { + let amount = other.forget_imbalance(); + self.0 = self.0.saturating_add(amount.into()) + } + } + + impl ImbalanceAccounting for NegativeImbalance + where + T: Config + Into>, + I: 'static, + { + fn amount(&self) -> u128 { + self.0.into() + } + fn saturating_take(&mut self, amount: u128) -> Box> { + Box::new(self.extract(amount.into())) + } + } + impl, I: 'static> NegativeImbalance { /// Create a new negative imbalance from a balance. pub fn new(amount: T::Balance) -> Self { @@ -263,7 +308,7 @@ where // Check if `value` amount of free balance can be slashed from `who`. fn can_slash(who: &T::AccountId, value: Self::Balance) -> bool { if value.is_zero() { - return true + return true; } Self::free_balance(who) >= value } @@ -292,7 +337,7 @@ where // Is a no-op if amount to be burned is zero. fn burn(mut amount: Self::Balance) -> Self::PositiveImbalance { if amount.is_zero() { - return PositiveImbalance::zero() + return PositiveImbalance::zero(); } >::mutate(|issued| { *issued = issued.checked_sub(&amount).unwrap_or_else(|| { @@ -310,7 +355,7 @@ where // Is a no-op if amount to be issued it zero. fn issue(mut amount: Self::Balance) -> Self::NegativeImbalance { if amount.is_zero() { - return NegativeImbalance::zero() + return NegativeImbalance::zero(); } >::mutate(|issued| { *issued = issued.checked_add(&amount).unwrap_or_else(|| { @@ -337,7 +382,7 @@ where new_balance: T::Balance, ) -> DispatchResult { if amount.is_zero() { - return Ok(()) + return Ok(()); } ensure!(new_balance >= Self::account(who).frozen, Error::::LiquidityRestrictions); Ok(()) @@ -352,7 +397,7 @@ where existence_requirement: ExistenceRequirement, ) -> DispatchResult { if value.is_zero() || transactor == dest { - return Ok(()) + return Ok(()); } let keep_alive = match existence_requirement { ExistenceRequirement::KeepAlive => Preserve, @@ -373,10 +418,10 @@ where /// inconsistent or `can_slash` wasn't used appropriately. fn slash(who: &T::AccountId, value: Self::Balance) -> (Self::NegativeImbalance, Self::Balance) { if value.is_zero() { - return (NegativeImbalance::zero(), Zero::zero()) + return (NegativeImbalance::zero(), Zero::zero()); } if Self::total_balance(who).is_zero() { - return (NegativeImbalance::zero(), value) + return (NegativeImbalance::zero(), value); } let result = match Self::try_mutate_account_handling_dust( @@ -414,7 +459,7 @@ where value: Self::Balance, ) -> Result { if value.is_zero() { - return Ok(PositiveImbalance::zero()) + return Ok(PositiveImbalance::zero()); } Self::try_mutate_account_handling_dust( @@ -440,7 +485,7 @@ where /// - `value` is so large it would cause the balance of `who` to overflow. fn deposit_creating(who: &T::AccountId, value: Self::Balance) -> Self::PositiveImbalance { if value.is_zero() { - return Self::PositiveImbalance::zero() + return Self::PositiveImbalance::zero(); } Self::try_mutate_account_handling_dust( @@ -474,7 +519,7 @@ where liveness: ExistenceRequirement, ) -> result::Result { if value.is_zero() { - return Ok(NegativeImbalance::zero()) + return Ok(NegativeImbalance::zero()); } Self::try_mutate_account_handling_dust( @@ -567,7 +612,7 @@ where /// Always `true` if value to be reserved is zero. fn can_reserve(who: &T::AccountId, value: Self::Balance) -> bool { if value.is_zero() { - return true + return true; } ensure_can_reserve::(who, value, true).is_ok() } @@ -581,7 +626,7 @@ where /// Is a no-op if value to be reserved is zero. fn reserve(who: &T::AccountId, value: Self::Balance) -> DispatchResult { if value.is_zero() { - return Ok(()) + return Ok(()); } Self::try_mutate_account_handling_dust(who, false, |account, _| -> DispatchResult { @@ -605,10 +650,10 @@ where /// NOTE: returns amount value which wasn't successfully unreserved. fn unreserve(who: &T::AccountId, value: Self::Balance) -> Self::Balance { if value.is_zero() { - return Zero::zero() + return Zero::zero(); } if Self::total_balance(who).is_zero() { - return value + return value; } let actual = match Self::mutate_account_handling_dust(who, false, |account| { @@ -624,7 +669,7 @@ where // This should never happen since we don't alter the total amount in the account. // If it ever does, then we should fail gracefully though, indicating that nothing // could be done. - return value + return value; }, }; @@ -641,10 +686,10 @@ where value: Self::Balance, ) -> (Self::NegativeImbalance, Self::Balance) { if value.is_zero() { - return (NegativeImbalance::zero(), Zero::zero()) + return (NegativeImbalance::zero(), Zero::zero()); } if Self::total_balance(who).is_zero() { - return (NegativeImbalance::zero(), value) + return (NegativeImbalance::zero(), value); } // NOTE: `mutate_account` may fail if it attempts to reduce the balance to the point that an @@ -712,7 +757,7 @@ where value: Self::Balance, ) -> DispatchResult { if value.is_zero() { - return Ok(()) + return Ok(()); } Reserves::::try_mutate(who, |reserves| -> DispatchResult { @@ -743,7 +788,7 @@ where value: Self::Balance, ) -> Self::Balance { if value.is_zero() { - return Zero::zero() + return Zero::zero(); } Reserves::::mutate_exists(who, |maybe_reserves| -> Self::Balance { @@ -790,7 +835,7 @@ where value: Self::Balance, ) -> (Self::NegativeImbalance, Self::Balance) { if value.is_zero() { - return (NegativeImbalance::zero(), Zero::zero()) + return (NegativeImbalance::zero(), Zero::zero()); } Reserves::::mutate(who, |reserves| -> (Self::NegativeImbalance, Self::Balance) { @@ -829,15 +874,16 @@ where status: Status, ) -> Result { if value.is_zero() { - return Ok(Zero::zero()) + return Ok(Zero::zero()); } if slashed == beneficiary { return match status { Status::Free => Ok(Self::unreserve_named(id, slashed, value)), - Status::Reserved => - Ok(value.saturating_sub(Self::reserved_balance_named(id, slashed))), - } + Status::Reserved => { + Ok(value.saturating_sub(Self::reserved_balance_named(id, slashed))) + }, + }; } Reserves::::try_mutate(slashed, |reserves| -> Result { @@ -935,7 +981,7 @@ where ) { if reasons.is_empty() || amount.is_zero() { Self::remove_lock(id, who); - return + return; } let mut new_lock = Some(BalanceLock { id, amount, reasons: reasons.into() }); @@ -958,7 +1004,7 @@ where reasons: WithdrawReasons, ) { if amount.is_zero() || reasons.is_empty() { - return + return; } let mut new_lock = Some(BalanceLock { id, amount, reasons: reasons.into() }); let mut locks = Self::locks(who) diff --git a/substrate/frame/balances/src/impl_fungible.rs b/substrate/frame/balances/src/impl_fungible.rs index 03454c52eed2a..237c010ef2c49 100644 --- a/substrate/frame/balances/src/impl_fungible.rs +++ b/substrate/frame/balances/src/impl_fungible.rs @@ -77,11 +77,11 @@ impl, I: 'static> fungible::Inspect for Pallet provenance: Provenance, ) -> DepositConsequence { if amount.is_zero() { - return DepositConsequence::Success + return DepositConsequence::Success; } if provenance == Minted && TotalIssuance::::get().checked_add(&amount).is_none() { - return DepositConsequence::Overflow + return DepositConsequence::Overflow; } let account = Self::account(who); @@ -106,11 +106,11 @@ impl, I: 'static> fungible::Inspect for Pallet amount: Self::Balance, ) -> WithdrawConsequence { if amount.is_zero() { - return WithdrawConsequence::Success + return WithdrawConsequence::Success; } if TotalIssuance::::get().checked_sub(&amount).is_none() { - return WithdrawConsequence::Underflow + return WithdrawConsequence::Underflow; } let account = Self::account(who); @@ -121,7 +121,7 @@ impl, I: 'static> fungible::Inspect for Pallet let liquid = Self::reducible_balance(who, Expendable, Polite); if amount > liquid { - return WithdrawConsequence::Frozen + return WithdrawConsequence::Frozen; } // Provider restriction - total account balance cannot be reduced to zero if it cannot @@ -133,7 +133,7 @@ impl, I: 'static> fungible::Inspect for Pallet if frame_system::Pallet::::can_dec_provider(who) { WithdrawConsequence::ReducedToZero(new_free_balance) } else { - return WithdrawConsequence::WouldDie + return WithdrawConsequence::WouldDie; } } else { WithdrawConsequence::Success @@ -143,7 +143,7 @@ impl, I: 'static> fungible::Inspect for Pallet // Eventual free funds must be no less than the frozen balance. if new_total_balance < account.frozen { - return WithdrawConsequence::Frozen + return WithdrawConsequence::Frozen; } success @@ -279,11 +279,11 @@ impl, I: 'static> fungible::InspectHold for Pallet bool { if frame_system::Pallet::::providers(who) == 0 { - return false + return false; } let holds = Holds::::get(who); if holds.is_full() && !holds.iter().any(|x| &x.id == reason) { - return false + return false; } true } @@ -350,7 +350,7 @@ impl, I: 'static> fungible::InspectFreeze for Pallet< impl, I: 'static> fungible::MutateFreeze for Pallet { fn set_freeze(id: &Self::Id, who: &T::AccountId, amount: Self::Balance) -> DispatchResult { if amount.is_zero() { - return Self::thaw(id, who) + return Self::thaw(id, who); } let mut locks = Freezes::::get(who); if let Some(i) = locks.iter_mut().find(|x| &x.id == id) { @@ -365,7 +365,7 @@ impl, I: 'static> fungible::MutateFreeze for Pallet DispatchResult { if amount.is_zero() { - return Ok(()) + return Ok(()); } let mut locks = Freezes::::get(who); if let Some(i) = locks.iter_mut().find(|x| &x.id == id) { diff --git a/substrate/frame/balances/src/lib.rs b/substrate/frame/balances/src/lib.rs index 0342b3d958a9e..329eb435a932d 100644 --- a/substrate/frame/balances/src/lib.rs +++ b/substrate/frame/balances/src/lib.rs @@ -760,7 +760,7 @@ pub mod pallet { ) -> DispatchResultWithPostInfo { ensure_signed(origin)?; if who.is_empty() { - return Ok(Pays::Yes.into()) + return Ok(Pays::Yes.into()); } let mut upgrade_count = 0; for i in &who { @@ -906,7 +906,7 @@ pub mod pallet { pub fn ensure_upgraded(who: &T::AccountId) -> bool { let mut a = T::AccountStore::get(who); if a.flags.is_new_logic() { - return false + return false; } a.flags.set_new_logic(); if !a.reserved.is_zero() && a.frozen.is_zero() { @@ -930,7 +930,7 @@ pub mod pallet { Ok(()) }); Self::deposit_event(Event::Upgraded { who: who.clone() }); - return true + return true; } /// Get the free balance of an account. @@ -1267,7 +1267,7 @@ pub mod pallet { status: Status, ) -> Result { if value.is_zero() { - return Ok(Zero::zero()) + return Ok(Zero::zero()); } let max = >::reducible_total_balance_on_hold( @@ -1282,7 +1282,7 @@ pub mod pallet { return match status { Status::Free => Ok(actual.saturating_sub(Self::unreserve(slashed, actual))), Status::Reserved => Ok(actual), - } + }; } let ((_, maybe_dust_1), maybe_dust_2) = Self::try_mutate_account( @@ -1292,16 +1292,18 @@ pub mod pallet { ensure!(!is_new, Error::::DeadAccount); Self::try_mutate_account(slashed, false, |from_account, _| -> DispatchResult { match status { - Status::Free => + Status::Free => { to_account.free = to_account .free .checked_add(&actual) - .ok_or(ArithmeticError::Overflow)?, - Status::Reserved => + .ok_or(ArithmeticError::Overflow)? + }, + Status::Reserved => { to_account.reserved = to_account .reserved .checked_add(&actual) - .ok_or(ArithmeticError::Overflow)?, + .ok_or(ArithmeticError::Overflow)? + }, } from_account.reserved.saturating_reduce(actual); Ok(()) diff --git a/substrate/frame/balances/src/types.rs b/substrate/frame/balances/src/types.rs index f8f3e36e191d9..e91e0340a9762 100644 --- a/substrate/frame/balances/src/types.rs +++ b/substrate/frame/balances/src/types.rs @@ -62,7 +62,7 @@ impl BitOr for Reasons { type Output = Reasons; fn bitor(self, other: Reasons) -> Reasons { if self == other { - return self + return self; } Reasons::All } diff --git a/substrate/frame/beefy-mmr/src/lib.rs b/substrate/frame/beefy-mmr/src/lib.rs index 138e8e2522aca..ab8d961ee497b 100644 --- a/substrate/frame/beefy-mmr/src/lib.rs +++ b/substrate/frame/beefy-mmr/src/lib.rs @@ -198,7 +198,7 @@ where // We don't check the proof size when running benchmarks, since we use mock proofs // which would cause the test to fail. if cfg!(feature = "runtime-benchmarks") { - return true + return true; } is_proof_optimal @@ -232,7 +232,7 @@ where Err(_) => { // We can't prove that the commitment is non-canonical if the // `commitment.block_number` is invalid. - return false + return false; }, }; if commitment_leaf_count != proof.prev_leaf_count { @@ -248,7 +248,7 @@ where Err(_) => { // Can't prove that the commitment is non-canonical if the proof // is invalid. - return false + return false; }, }; diff --git a/substrate/frame/beefy/src/equivocation.rs b/substrate/frame/beefy/src/equivocation.rs index 73751c3ff1e70..d62ad7fe8c98d 100644 --- a/substrate/frame/beefy/src/equivocation.rs +++ b/substrate/frame/beefy/src/equivocation.rs @@ -155,36 +155,45 @@ impl EquivocationEvidenceFor { /// Returns the authority id of the equivocator. fn offender_id(&self) -> &T::BeefyId { match self { - EquivocationEvidenceFor::DoubleVotingProof(equivocation_proof, _) => - equivocation_proof.offender_id(), - EquivocationEvidenceFor::ForkVotingProof(equivocation_proof, _) => - &equivocation_proof.vote.id, - EquivocationEvidenceFor::FutureBlockVotingProof(equivocation_proof, _) => - &equivocation_proof.vote.id, + EquivocationEvidenceFor::DoubleVotingProof(equivocation_proof, _) => { + equivocation_proof.offender_id() + }, + EquivocationEvidenceFor::ForkVotingProof(equivocation_proof, _) => { + &equivocation_proof.vote.id + }, + EquivocationEvidenceFor::FutureBlockVotingProof(equivocation_proof, _) => { + &equivocation_proof.vote.id + }, } } /// Returns the round number at which the equivocation occurred. fn round_number(&self) -> &BlockNumberFor { match self { - EquivocationEvidenceFor::DoubleVotingProof(equivocation_proof, _) => - equivocation_proof.round_number(), - EquivocationEvidenceFor::ForkVotingProof(equivocation_proof, _) => - &equivocation_proof.vote.commitment.block_number, - EquivocationEvidenceFor::FutureBlockVotingProof(equivocation_proof, _) => - &equivocation_proof.vote.commitment.block_number, + EquivocationEvidenceFor::DoubleVotingProof(equivocation_proof, _) => { + equivocation_proof.round_number() + }, + EquivocationEvidenceFor::ForkVotingProof(equivocation_proof, _) => { + &equivocation_proof.vote.commitment.block_number + }, + EquivocationEvidenceFor::FutureBlockVotingProof(equivocation_proof, _) => { + &equivocation_proof.vote.commitment.block_number + }, } } /// Returns the set id at which the equivocation occurred. fn set_id(&self) -> ValidatorSetId { match self { - EquivocationEvidenceFor::DoubleVotingProof(equivocation_proof, _) => - equivocation_proof.set_id(), - EquivocationEvidenceFor::ForkVotingProof(equivocation_proof, _) => - equivocation_proof.vote.commitment.validator_set_id, - EquivocationEvidenceFor::FutureBlockVotingProof(equivocation_proof, _) => - equivocation_proof.vote.commitment.validator_set_id, + EquivocationEvidenceFor::DoubleVotingProof(equivocation_proof, _) => { + equivocation_proof.set_id() + }, + EquivocationEvidenceFor::ForkVotingProof(equivocation_proof, _) => { + equivocation_proof.vote.commitment.validator_set_id + }, + EquivocationEvidenceFor::FutureBlockVotingProof(equivocation_proof, _) => { + equivocation_proof.vote.commitment.validator_set_id + }, } } @@ -340,7 +349,7 @@ where let validator_count = key_owner_proof.validator_count(); let session_index = key_owner_proof.session(); if session_index != set_id_session_index { - return Err(Error::::InvalidEquivocationProofSession.into()) + return Err(Error::::InvalidEquivocationProofSession.into()); } // Validate the key ownership proof extracting the id of the offender. @@ -375,7 +384,7 @@ impl Pallet { target: LOG_TARGET, "rejecting unsigned report equivocation transaction because it is not local/in-block." ); - return InvalidTransaction::Call.into() + return InvalidTransaction::Call.into(); }, } diff --git a/substrate/frame/beefy/src/lib.rs b/substrate/frame/beefy/src/lib.rs index d2c843917271f..992226e5b2164 100644 --- a/substrate/frame/beefy/src/lib.rs +++ b/substrate/frame/beefy/src/lib.rs @@ -70,8 +70,7 @@ pub mod pallet { /// Authority identifier type type BeefyId: Member + Parameter - // todo: use custom signature hashing type instead of hardcoded `Keccak256` - + BeefyAuthorityId + + BeefyAuthorityId + MaybeSerializeDeserialize + MaxEncodedLen; @@ -439,16 +438,18 @@ pub mod pallet { impl Call { pub fn to_equivocation_evidence_for(&self) -> Option> { match self { - Call::report_double_voting_unsigned { equivocation_proof, key_owner_proof } => + Call::report_double_voting_unsigned { equivocation_proof, key_owner_proof } => { Some(EquivocationEvidenceFor::::DoubleVotingProof( *equivocation_proof.clone(), key_owner_proof.clone(), - )), - Call::report_fork_voting_unsigned { equivocation_proof, key_owner_proof } => + )) + }, + Call::report_fork_voting_unsigned { equivocation_proof, key_owner_proof } => { Some(EquivocationEvidenceFor::::ForkVotingProof( *equivocation_proof.clone(), key_owner_proof.clone(), - )), + )) + }, _ => None, } } @@ -457,16 +458,18 @@ pub mod pallet { impl From> for Call { fn from(evidence: EquivocationEvidenceFor) -> Self { match evidence { - EquivocationEvidenceFor::DoubleVotingProof(equivocation_proof, key_owner_proof) => + EquivocationEvidenceFor::DoubleVotingProof(equivocation_proof, key_owner_proof) => { Call::report_double_voting_unsigned { equivocation_proof: Box::new(equivocation_proof), key_owner_proof, - }, - EquivocationEvidenceFor::ForkVotingProof(equivocation_proof, key_owner_proof) => + } + }, + EquivocationEvidenceFor::ForkVotingProof(equivocation_proof, key_owner_proof) => { Call::report_fork_voting_unsigned { equivocation_proof: Box::new(equivocation_proof), key_owner_proof, - }, + } + }, EquivocationEvidenceFor::FutureBlockVotingProof( equivocation_proof, key_owner_proof, @@ -620,11 +623,11 @@ impl Pallet { fn initialize(authorities: &Vec) -> Result<(), ()> { if authorities.is_empty() { - return Ok(()) + return Ok(()); } if !Authorities::::get().is_empty() { - return Err(()) + return Err(()); } let bounded_authorities = diff --git a/substrate/frame/beefy/src/tests.rs b/substrate/frame/beefy/src/tests.rs index 108b6b4813d7d..0a43831508862 100644 --- a/substrate/frame/beefy/src/tests.rs +++ b/substrate/frame/beefy/src/tests.rs @@ -223,8 +223,6 @@ pub fn test_authorities() -> Vec { #[test] fn should_sign_and_verify() { - use sp_runtime::traits::Keccak256; - let set_id = 3; let payload1 = Payload::from_single_entry(MMR_ROOT_ID, vec![42]); let payload2 = Payload::from_single_entry(MMR_ROOT_ID, vec![128]); @@ -236,7 +234,7 @@ fn should_sign_and_verify() { (1, payload1.clone(), set_id, &BeefyKeyring::Bob), ); // expect invalid equivocation proof - assert!(!check_double_voting_proof::<_, _, Keccak256>(&equivocation_proof)); + assert!(!check_double_voting_proof::<_, _>(&equivocation_proof)); // generate an equivocation proof, with two votes in different rounds for // different payloads signed by the same key @@ -245,7 +243,7 @@ fn should_sign_and_verify() { (2, payload2.clone(), set_id, &BeefyKeyring::Bob), ); // expect invalid equivocation proof - assert!(!check_double_voting_proof::<_, _, Keccak256>(&equivocation_proof)); + assert!(!check_double_voting_proof::<_, _>(&equivocation_proof)); // generate an equivocation proof, with two votes by different authorities let equivocation_proof = generate_double_voting_proof( @@ -253,7 +251,7 @@ fn should_sign_and_verify() { (1, payload2.clone(), set_id, &BeefyKeyring::Bob), ); // expect invalid equivocation proof - assert!(!check_double_voting_proof::<_, _, Keccak256>(&equivocation_proof)); + assert!(!check_double_voting_proof::<_, _>(&equivocation_proof)); // generate an equivocation proof, with two votes in different set ids let equivocation_proof = generate_double_voting_proof( @@ -261,7 +259,7 @@ fn should_sign_and_verify() { (1, payload2.clone(), set_id + 1, &BeefyKeyring::Bob), ); // expect invalid equivocation proof - assert!(!check_double_voting_proof::<_, _, Keccak256>(&equivocation_proof)); + assert!(!check_double_voting_proof::<_, _>(&equivocation_proof)); // generate an equivocation proof, with two votes in the same round for // different payloads signed by the same key @@ -271,7 +269,7 @@ fn should_sign_and_verify() { (1, payload2, set_id, &BeefyKeyring::Bob), ); // expect valid equivocation proof - assert!(check_double_voting_proof::<_, _, Keccak256>(&equivocation_proof)); + assert!(check_double_voting_proof::<_, _>(&equivocation_proof)); } trait ReportEquivocationFn: @@ -389,7 +387,7 @@ fn report_equivocation_current_set_works( // check that the balances of all other validators are left intact. for validator in &validators { if *validator == equivocation_validator_id { - continue + continue; } assert_eq!(Balances::total_balance(validator), initial_balance); @@ -486,7 +484,7 @@ fn report_equivocation_old_set_works( // check that the balances of all other validators are left intact. for validator in &validators { if *validator == equivocation_validator_id { - continue + continue; } assert_eq!(Balances::total_balance(validator), initial_balance); diff --git a/substrate/frame/benchmarking/src/analysis.rs b/substrate/frame/benchmarking/src/analysis.rs index 987078ff79a8b..6381b0a9ef5e6 100644 --- a/substrate/frame/benchmarking/src/analysis.rs +++ b/substrate/frame/benchmarking/src/analysis.rs @@ -172,7 +172,7 @@ fn linear_regression( let (intercept, params, errors) = raw_linear_regression(&xs, &ys, x_vars, true)?; if intercept >= -0.0001 { // The intercept is positive, or is effectively zero. - return Some((intercept, params, errors[1..].to_vec())) + return Some((intercept, params, errors[1..].to_vec())); } // The intercept is negative. @@ -199,7 +199,7 @@ impl Analysis { // results. Note: We choose the median value because it is more robust to outliers. fn median_value(r: &Vec, selector: BenchmarkSelector) -> Option { if r.is_empty() { - return None + return None; } let mut values: Vec = r @@ -229,7 +229,7 @@ impl Analysis { pub fn median_slopes(r: &Vec, selector: BenchmarkSelector) -> Option { if r[0].components.is_empty() { - return Self::median_value(r, selector) + return Self::median_value(r, selector); } let results = r[0] @@ -329,7 +329,7 @@ impl Analysis { pub fn min_squares_iqr(r: &Vec, selector: BenchmarkSelector) -> Option { if r[0].components.is_empty() || r.len() <= 2 { - return Self::median_value(r, selector) + return Self::median_value(r, selector); } let mut results = BTreeMap::, Vec>::new(); @@ -356,7 +356,7 @@ impl Analysis { .map(|(p, vs)| { // Avoid divide by zero if vs.is_empty() { - return (p.clone(), 0, 0) + return (p.clone(), 0, 0); } let total = vs.iter().fold(0u128, |acc, v| acc + *v); let mean = total / vs.len() as u128; @@ -405,7 +405,7 @@ impl Analysis { let min_squares = Self::min_squares_iqr(r, selector); if median_slopes.is_none() || min_squares.is_none() { - return None + return None; } let median_slopes = median_slopes.unwrap(); @@ -438,7 +438,7 @@ fn ms(mut nanos: u128) -> String { while x > 1 { if nanos > x * 1_000 { nanos = nanos / x * x; - break + break; } x /= 10; } diff --git a/substrate/frame/benchmarking/src/tests.rs b/substrate/frame/benchmarking/src/tests.rs index 09011eadb03ae..6ddbc46097a68 100644 --- a/substrate/frame/benchmarking/src/tests.rs +++ b/substrate/frame/benchmarking/src/tests.rs @@ -59,7 +59,7 @@ mod pallet_test { } pub fn always_error(_origin: OriginFor) -> DispatchResult { - return Err("I always fail".into()) + return Err("I always fail".into()); } } } diff --git a/substrate/frame/benchmarking/src/utils.rs b/substrate/frame/benchmarking/src/utils.rs index 0f0cc3558a1ff..acd2f0401302a 100644 --- a/substrate/frame/benchmarking/src/utils.rs +++ b/substrate/frame/benchmarking/src/utils.rs @@ -289,7 +289,7 @@ pub trait Benchmarking { /// Commit pending storage changes to the trie database and clear the database cache. fn commit_db(&mut self) { - self.commit() + self.commit(); } /// Get the read/write count. diff --git a/substrate/frame/benchmarking/src/v1.rs b/substrate/frame/benchmarking/src/v1.rs index c6075e447fe77..840df40b2d24b 100644 --- a/substrate/frame/benchmarking/src/v1.rs +++ b/substrate/frame/benchmarking/src/v1.rs @@ -1858,7 +1858,7 @@ macro_rules! add_benchmark { verify, e, ); - return Err(e.into()) + return Err(e.into()); }, Err($crate::BenchmarkError::Skip) => { $crate::__private::log::error!( diff --git a/substrate/frame/bounties/Cargo.toml b/substrate/frame/bounties/Cargo.toml index fbeb51099c1f1..b777e9ce226e1 100644 --- a/substrate/frame/bounties/Cargo.toml +++ b/substrate/frame/bounties/Cargo.toml @@ -28,6 +28,7 @@ sp-io = { workspace = true } sp-runtime = { workspace = true } [dev-dependencies] +pallet-assets = { workspace = true, default-features = true } pallet-balances = { workspace = true, default-features = true } [features] @@ -49,6 +50,7 @@ runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", + "pallet-assets/runtime-benchmarks", "pallet-balances/runtime-benchmarks", "pallet-treasury/runtime-benchmarks", "sp-runtime/runtime-benchmarks", @@ -56,6 +58,7 @@ runtime-benchmarks = [ try-runtime = [ "frame-support/try-runtime", "frame-system/try-runtime", + "pallet-assets/try-runtime", "pallet-balances/try-runtime", "pallet-treasury/try-runtime", "sp-runtime/try-runtime", diff --git a/substrate/frame/bounties/src/lib.rs b/substrate/frame/bounties/src/lib.rs index 323ad3db72b82..c2beafac9e0f2 100644 --- a/substrate/frame/bounties/src/lib.rs +++ b/substrate/frame/bounties/src/lib.rs @@ -82,6 +82,7 @@ //! - `unassign_curator` - Unassign an accepted curator from a specific earmark. //! - `close_bounty` - Cancel the earmark for a specific treasury amount and close the bounty. +#![recursion_limit = "512"] #![cfg_attr(not(feature = "std"), no_std)] #[cfg(feature = "runtime-benchmarks")] @@ -95,7 +96,11 @@ extern crate alloc; use alloc::vec::Vec; use frame_support::traits::{ - Currency, ExistenceRequirement::AllowDeath, Get, Imbalance, OnUnbalanced, ReservableCurrency, + fungibles::{Inspect as FungiblesInspect, Mutate as FungiblesMutate}, + tokens::{Fortitude, Preservation}, + Currency, + ExistenceRequirement::AllowDeath, + Get, Imbalance, OnUnbalanced, ReservableCurrency, }; use sp_runtime::{ @@ -103,9 +108,9 @@ use sp_runtime::{ Debug, DispatchResult, Permill, }; -use frame_support::{dispatch::DispatchResultWithPostInfo, traits::EnsureOrigin}; - -use frame_support::pallet_prelude::*; +use frame_support::{ + dispatch::DispatchResultWithPostInfo, pallet_prelude::*, traits::EnsureOrigin, +}; use frame_system::pallet_prelude::{ ensure_signed, BlockNumberFor as SystemBlockNumberFor, OriginFor, }; @@ -205,6 +210,58 @@ pub trait ChildBountyManager { fn bounty_removed(bounty_id: BountyIndex); } +/// Transfer all assets that an account holds. +pub trait TransferAllAssets { + /// Transfer all assets from one account to another. + /// + /// This will possibly dust and reap the origin account and endow the receiver. + fn force_transfer_all_assets(from: &AccountId, to: &AccountId) -> DispatchResult; +} + +impl TransferAllAssets for () { + fn force_transfer_all_assets(_: &AccountId, _: &AccountId) -> DispatchResult { + Ok(()) + } +} + +/// Transfer all `RelevantAssets` of the `Fungibles` from one account to another. +/// +/// The native asset should be the first in the list of `RelevantAssets`, otherwise the transfers +/// of the other maybe fails. +pub struct TransferAllFungibles( + core::marker::PhantomData<(AccountId, Fungibles, RelevantAssets)>, +); +impl TransferAllAssets + for TransferAllFungibles +where + Fungibles: FungiblesMutate, + RelevantAssets: Get>::AssetId>>, + AccountId: Eq, +{ + fn force_transfer_all_assets(from: &AccountId, to: &AccountId) -> DispatchResult { + // We iterate through all assets twice in case that the Native asset was not last in the + // list and ED remained because of an insufficient asset at the end of the list. + let assets_twice = + RelevantAssets::get().into_iter().chain(RelevantAssets::get().into_iter()); + + for id in assets_twice { + let balance = Fungibles::reducible_balance( + id.clone(), + from, + Preservation::Expendable, + Fortitude::Force, + ); + if balance.is_zero() { + continue; + } + + // Ignore errors since this can only fail if the receiver does not exist. + let _ = Fungibles::transfer(id, from, to, balance, Preservation::Expendable); + } + Ok(()) + } +} + #[frame_support::pallet] pub mod pallet { use super::*; @@ -276,6 +333,12 @@ pub mod pallet { /// Handler for the unbalanced decrease when slashing for a rejected bounty. type OnSlash: OnUnbalanced>; + + /// Means to transfer all assets from one account to another. + /// + /// This is only used for bounty closure to ensure that all assets are returned to the + /// treasury. + type TransferAllAssets: TransferAllAssets; } #[pallet::error] @@ -505,7 +568,7 @@ pub mod pallet { match bounty.status { BountyStatus::Proposed | BountyStatus::Approved | BountyStatus::Funded => { // No curator to unassign at this point. - return Err(Error::::UnexpectedStatus.into()) + return Err(Error::::UnexpectedStatus.into()); }, BountyStatus::ApprovedWithCurator { ref curator } => { // Bounty not yet funded, but bounty was approved with curator. @@ -539,7 +602,7 @@ pub mod pallet { // Continue to change bounty status below... } else { // Curator has more time to give an update. - return Err(Error::::Premature.into()) + return Err(Error::::Premature.into()); } } else { // Else this is the curator, willingly giving up their role. @@ -767,12 +830,12 @@ pub mod pallet { // Return early, nothing else to do. return Ok( Some(>::WeightInfo::close_bounty_proposed()).into() - ) + ); }, BountyStatus::Approved | BountyStatus::ApprovedWithCurator { .. } => { // For weight reasons, we don't allow a council to cancel in this phase. // We ask for them to wait until it is funded before they can cancel. - return Err(Error::::UnexpectedStatus.into()) + return Err(Error::::UnexpectedStatus.into()); }, BountyStatus::Funded | BountyStatus::CuratorProposed { .. } => { // Nothing extra to do besides the removal of the bounty below. @@ -789,7 +852,7 @@ pub mod pallet { // this bounty, it should mean the curator was acting maliciously. // So the council should first unassign the curator, slashing their // deposit. - return Err(Error::::PendingPayout.into()) + return Err(Error::::PendingPayout.into()); }, } @@ -797,14 +860,10 @@ pub mod pallet { BountyDescriptions::::remove(bounty_id); - let balance = T::Currency::free_balance(&bounty_account); - let res = T::Currency::transfer( + T::TransferAllAssets::force_transfer_all_assets( &bounty_account, &Self::account_id(), - balance, - AllowDeath, - ); // should not fail - debug_assert!(res.is_ok()); + )?; *maybe_bounty = None; T::ChildBountyManager::bounty_removed(bounty_id); diff --git a/substrate/frame/bounties/src/migrations/v4.rs b/substrate/frame/bounties/src/migrations/v4.rs index 71cd4f76be6e2..f35c600147189 100644 --- a/substrate/frame/bounties/src/migrations/v4.rs +++ b/substrate/frame/bounties/src/migrations/v4.rs @@ -54,7 +54,7 @@ pub fn migrate< target: "runtime::bounties", "New pallet name is equal to the old prefix. No migration needs to be done.", ); - return Weight::zero() + return Weight::zero(); } let on_chain_storage_version =

::on_chain_storage_version(); diff --git a/substrate/frame/bounties/src/tests.rs b/substrate/frame/bounties/src/tests.rs index ed6b60869135c..812ae5b8e10a0 100644 --- a/substrate/frame/bounties/src/tests.rs +++ b/substrate/frame/bounties/src/tests.rs @@ -19,21 +19,27 @@ #![cfg(test)] -use super::*; use crate as pallet_bounties; +use crate::pallet::*; +use crate::{Bounty, BountyStatus, TransferAllFungibles}; +use codec::Encode; use frame_support::{ - assert_noop, assert_ok, derive_impl, parameter_types, + assert_noop, assert_ok, derive_impl, hypothetically, hypothetically_ok, + pallet_prelude::*, + parameter_types, traits::{ + fungible, + fungible::{NativeFromLeft, NativeOrWithId}, tokens::{PayFromAccount, UnityAssetBalanceConversion}, - ConstU32, ConstU64, OnInitialize, + AsEnsureOriginWithArg, ConstU32, ConstU64, Currency, Imbalance, OnInitialize, }, PalletId, }; - +use frame_system::{pallet_prelude::*, EnsureSigned}; use sp_runtime::{ traits::{BadOrigin, IdentityLookup}, - BuildStorage, Perbill, Storage, + BuildStorage, Perbill, Permill, Storage, }; use super::Event as BountiesEvent; @@ -51,6 +57,7 @@ frame_support::construct_runtime!( { System: frame_system, Balances: pallet_balances, + Assets: pallet_assets, Bounties: pallet_bounties, Bounties1: pallet_bounties::, Treasury: pallet_treasury, @@ -63,10 +70,11 @@ parameter_types! { } type Balance = u64; +type AccountId = u128; #[derive_impl(frame_system::config_preludes::TestDefaultConfig)] impl frame_system::Config for Test { - type AccountId = u128; // u64 is not enough to hold bytes used to generate bounty account + type AccountId = AccountId; // u64 is not enough to hold bytes used to generate bounty account type Lookup = IdentityLookup; type Block = Block; type AccountData = pallet_balances::AccountData; @@ -132,6 +140,22 @@ impl pallet_treasury::Config for Test { type BenchmarkHelper = (); } +#[derive_impl(pallet_assets::config_preludes::TestDefaultConfig)] +impl pallet_assets::Config for Test { + type RuntimeEvent = RuntimeEvent; + type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; + type ForceOrigin = frame_system::EnsureRoot; + type AssetDeposit = ConstU64<1>; + type AssetAccountDeposit = ConstU64<10>; + type MetadataDepositBase = ConstU64<1>; + type MetadataDepositPerByte = ConstU64<1>; + type ApprovalDeposit = ConstU64<1>; +} + +pub type NativeAndAssets = + fungible::UnionOf, AccountId>; + parameter_types! { // This will be 50% of the bounty fee. pub const CuratorDepositMultiplier: Permill = Permill::from_percent(50); @@ -139,6 +163,8 @@ parameter_types! { pub const CuratorDepositMin: Balance = 3; pub static BountyUpdatePeriod: u64 = 20; pub static DataDepositPerByte: u64 = 1; + // Native asset *not* last in the list to test our withdraw logic: + pub static RelevantAssets: Vec> = vec![NativeOrWithId::WithId(1), NativeOrWithId::Native, NativeOrWithId::WithId(2)]; } impl Config for Test { @@ -155,6 +181,7 @@ impl Config for Test { type WeightInfo = (); type ChildBountyManager = (); type OnSlash = (); + type TransferAllAssets = TransferAllFungibles; } impl Config for Test { @@ -171,6 +198,7 @@ impl Config for Test { type WeightInfo = (); type ChildBountyManager = (); type OnSlash = (); + type TransferAllAssets = (); } type TreasuryError = pallet_treasury::Error; @@ -194,6 +222,17 @@ impl ExtBuilder { }, treasury: Default::default(), treasury_1: Default::default(), + assets: pallet_assets::GenesisConfig { + assets: vec![ + (0, 0, false, 5), + (1, 0, false, 5), + (2, 0, true, 5), + (3, 0, false, 5), + (4, 0, true, 5), + ], + accounts: vec![(0, 0, 100), (1, 0, 100), (2, 0, 100), (3, 0, 100), (4, 0, 100)], + ..Default::default() + }, } .build_storage() .unwrap() @@ -460,6 +499,150 @@ fn close_bounty_works() { }); } +#[test] +#[allow(deprecated)] +fn close_bounty_with_additional_assets_works() { + ExtBuilder::default().build_and_execute(|| { + let pot = Bounties::bounty_account_id(0); + let ed = 1; + + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_ok!(Bounties::propose_bounty(RuntimeOrigin::signed(0), 10, b"12345".to_vec())); + assert_ok!(Bounties::approve_bounty(RuntimeOrigin::root(), 0)); + go_to_block(2); + assert_ok!(Bounties::propose_curator(RuntimeOrigin::root(), 0, 0, 1)); + assert_ok!(Bounties::accept_curator(RuntimeOrigin::signed(0), 0)); + + assert!(matches!( + pallet_bounties::Bounties::::get(0).unwrap().status, + BountyStatus::Active { .. } + )); + // Send the Bounty account some funds + Balances::make_free_balance_be(&pot, 100); + + // We *could* close the bounty now + hypothetically_ok!(Bounties::close_bounty(RuntimeOrigin::root(), 0)); + + // If we send an insufficient asset to the bounty, then the reaping will preserve ED. + // Otherwise it will transfer out all balance. + // Case 1: Bounty acc is blocked + hypothetically!({ + // Send irrelevant insufficient asset to the bounty account. + assert_ok!(Assets::transfer(RuntimeOrigin::signed(0), 0, pot, 10)); + + // Now we can close the bounty, but the account is not gone + assert_ok!(Bounties::close_bounty(RuntimeOrigin::root(), 0)); + // Bounty account must exist + assert!(frame_system::Account::::contains_key(pot)); + + assert_eq!(Balances::total_balance(&pot), ed, "ED is preserved"); + // This ^ was fixed by #10728. Otherwise, instead of just ED, everything would remain. + }); + + // Case 2: Bounty acc is not blocked and transfers our all balances + hypothetically!({ + assert_ok!(Bounties::close_bounty(RuntimeOrigin::root(), 0)); + assert!(!frame_system::Account::::contains_key(pot)); + assert_eq!(Balances::total_balance(&pot), 0, "All balances are transferred"); + }); + + // Case 3: Blocked by relevant asset (insufficient) + hypothetically!({ + assert_ok!(Assets::transfer(RuntimeOrigin::signed(0), 1, pot, 10)); + + assert_ok!(Bounties::close_bounty(RuntimeOrigin::root(), 0)); + assert!(!frame_system::Account::::contains_key(pot)); + assert_eq!(Balances::total_balance(&pot), 0, "All balances are transferred"); + }); + + // Case 4: Blocked by relevant asset (sufficient) + hypothetically!({ + assert_ok!(Assets::transfer(RuntimeOrigin::signed(0), 2, pot, 10)); + + assert_ok!(Bounties::close_bounty(RuntimeOrigin::root(), 0)); + assert!(!frame_system::Account::::contains_key(pot)); + assert_eq!(Balances::total_balance(&pot), 0, "All balances are transferred"); + }); + + // Case 5: Blocked by irrelevant asset (sufficient) + hypothetically!({ + assert_ok!(Assets::transfer(RuntimeOrigin::signed(0), 4, pot, 10)); + + assert_ok!(Bounties::close_bounty(RuntimeOrigin::root(), 0)); + assert!(frame_system::Account::::contains_key(pot)); + assert_eq!(Balances::total_balance(&pot), 0, "All balances are transferred"); + assert_eq!(Assets::balance(4, &pot), 10); + }); + + // Case 6: Blocked by irrelevant asset (insufficient) + hypothetically!({ + assert_ok!(Assets::transfer(RuntimeOrigin::signed(0), 3, pot, 10)); + + assert_ok!(Bounties::close_bounty(RuntimeOrigin::root(), 0)); + assert!(frame_system::Account::::contains_key(pot)); + assert_eq!(Balances::total_balance(&pot), ed, "ED is preserved"); + assert_eq!(Assets::balance(3, &pot), 10); + }); + }); +} + +#[test] +#[allow(deprecated)] +fn close_bounty_with_random_references_works() { + ExtBuilder::default().build_and_execute(|| { + let pot = Bounties::bounty_account_id(0); + let ed = 1; + + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_ok!(Bounties::propose_bounty(RuntimeOrigin::signed(0), 10, b"12345".to_vec())); + assert_ok!(Bounties::approve_bounty(RuntimeOrigin::root(), 0)); + go_to_block(2); + assert_ok!(Bounties::propose_curator(RuntimeOrigin::root(), 0, 0, 1)); + assert_ok!(Bounties::accept_curator(RuntimeOrigin::signed(0), 0)); + + assert!(matches!( + pallet_bounties::Bounties::::get(0).unwrap().status, + BountyStatus::Active { .. } + )); + // Send some funds and assets to the bounty account + Balances::make_free_balance_be(&pot, 100); + assert_ok!(Assets::transfer(RuntimeOrigin::signed(0), 0, pot, 10)); + assert_ok!(Assets::transfer(RuntimeOrigin::signed(0), 1, pot, 10)); + assert_ok!(Assets::transfer(RuntimeOrigin::signed(0), 2, pot, 10)); + assert_ok!(Assets::transfer(RuntimeOrigin::signed(0), 3, pot, 10)); + assert_ok!(Assets::transfer(RuntimeOrigin::signed(0), 4, pot, 10)); + + for ((s, c), p) in (0..10).zip(0..10).zip(0..10) { + hypothetically!({ + // Completely mess up the account's references and check that closing still works + frame_system::Account::::mutate(&pot, |a| { + a.sufficients = s; + a.consumers = c; + a.providers = p; + }); + + // Bounty acc has all the balances + assert_eq!(Balances::total_balance(&pot), 100); + assert_eq!(Assets::balance(0, &pot), 10); + assert_eq!(Assets::balance(1, &pot), 10); + assert_eq!(Assets::balance(2, &pot), 10); + assert_eq!(Assets::balance(3, &pot), 10); + assert_eq!(Assets::balance(4, &pot), 10); + + assert_ok!(Bounties::close_bounty(RuntimeOrigin::root(), 0)); + // Native balance not more than ED + assert!(Balances::total_balance(&pot) <= ed); + // Only the non-relevant assets remain + assert_eq!(Assets::balance(0, &pot), 10); + assert_eq!(Assets::balance(1, &pot), 0); + assert_eq!(Assets::balance(2, &pot), 0); + assert_eq!(Assets::balance(3, &pot), 10); + assert_eq!(Assets::balance(4, &pot), 10); + }); + } + }); +} + #[test] fn approve_bounty_works() { ExtBuilder::default().build_and_execute(|| { diff --git a/substrate/frame/broker/src/adapt_price.rs b/substrate/frame/broker/src/adapt_price.rs index 737f6a57582ad..5daa806a43904 100644 --- a/substrate/frame/broker/src/adapt_price.rs +++ b/substrate/frame/broker/src/adapt_price.rs @@ -121,7 +121,7 @@ impl AdaptPrice for CenterTargetPrice::get().unwrap(); - Broker::::do_request_core_count(status.core_count + 1).unwrap(); + let core_count = Status::::get().unwrap().core_count; + Broker::::do_request_core_count(core_count + 1).unwrap(); advance_to::(T::TimeslicePeriod::get().try_into().ok().unwrap()); + let schedule = new_schedule(); #[extrinsic_call] - _(origin as T::RuntimeOrigin, schedule.clone(), status.core_count); + _(origin as T::RuntimeOrigin, schedule.clone(), core_count); assert_eq!(Reservations::::decode_len().unwrap(), T::MaxReservedCores::get() as usize); - - let sale_info = SaleInfo::::get().unwrap(); - assert_eq!( - Workplan::::get((sale_info.region_begin, status.core_count)), - Some(schedule.clone()) - ); - // We called at timeslice 1, therefore 2 was already processed and 3 is the next possible - // assignment point. - assert_eq!(Workplan::::get((3, status.core_count)), Some(schedule)); + assert_eq!(ForceReservations::::get(), vec![schedule]); Ok(()) } @@ -1319,6 +1312,37 @@ mod benches { Ok(()) } + #[benchmark] + fn remove_potential_renewal() -> Result<(), BenchmarkError> { + let sale_data = setup_and_start_sale::()?; + advance_to::(2); + + let caller: T::AccountId = whitelisted_caller(); + T::Currency::set_balance( + &caller.clone(), + T::Currency::minimum_balance().saturating_add(sale_data.start_price), + ); + + let region_id = Broker::::do_purchase(caller.clone(), sale_data.start_price) + .expect("Offer not high enough for configuration."); + let region = Regions::::get(region_id).expect("Requested region not found"); + + Broker::::do_assign(region_id, None, 1000, Final) + .map_err(|_| BenchmarkError::Weightless)?; + + let origin = + T::AdminOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + + #[extrinsic_call] + _(origin as T::RuntimeOrigin, region_id.core, region.end); + + assert_last_event::( + Event::PotentialRenewalRemoved { core: region_id.core, timeslice: region.end }.into(), + ); + + Ok(()) + } + // Implements a test for each benchmark. Execute with: // `cargo test -p pallet-broker --features runtime-benchmarks`. impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Test); diff --git a/substrate/frame/broker/src/dispatchable_impls.rs b/substrate/frame/broker/src/dispatchable_impls.rs index 10d6c05bf18fc..99a259dac0037 100644 --- a/substrate/frame/broker/src/dispatchable_impls.rs +++ b/substrate/frame/broker/src/dispatchable_impls.rs @@ -69,8 +69,10 @@ impl Pallet { // Reserve - starts at second sale period boundary from now. Self::do_reserve(workload.clone())?; - // Add to workload - grants one region from the next sale boundary. - Workplan::::insert((sale.region_begin, core), &workload); + // Add to ForceReservations for dynamic core assignment in rotate_sale. + ForceReservations::::try_mutate(|r| { + r.try_push(workload.clone()).map_err(|_| Error::::TooManyReservations) + })?; // Assign now until the next sale boundary unless the next timeslice is already the sale // boundary. @@ -352,7 +354,9 @@ impl Pallet { let assigned = match PotentialRenewals::::get(renewal_id) { Some(PotentialRenewalRecord { completion: Partial(w), price: p }) if price == p => - w, + { + w + }, _ => CoreMask::void(), } | region_id.mask; let workload = @@ -558,6 +562,7 @@ impl Pallet { workload_end_hint: Option, ) -> DispatchResult { let sale = SaleInfo::::get().ok_or(Error::::NoSales)?; + let mut core = core; // Check if the core is expiring in the next bulk period; if so, we will renew it now. // @@ -566,7 +571,7 @@ impl Pallet { if PotentialRenewals::::get(PotentialRenewalId { core, when: sale.region_begin }) .is_some() { - Self::do_renew(sovereign_account.clone(), core)?; + core = Self::do_renew(sovereign_account.clone(), core)?; } else if let Some(workload_end) = workload_end_hint { ensure!( PotentialRenewals::::get(PotentialRenewalId { core, when: workload_end }) @@ -574,7 +579,7 @@ impl Pallet { Error::::NotAllowed ); } else { - return Err(Error::::NotAllowed.into()) + return Err(Error::::NotAllowed.into()); } // We are sorting auto renewals by `CoreIndex`. @@ -617,6 +622,16 @@ impl Pallet { Ok(()) } + pub(crate) fn do_remove_potential_renewal(core: CoreIndex, when: Timeslice) -> DispatchResult { + let renewal_id = PotentialRenewalId { core, when }; + + PotentialRenewals::::take(renewal_id).ok_or(Error::::UnknownRenewal)?; + + Self::deposit_event(Event::PotentialRenewalRemoved { core, timeslice: when }); + + Ok(()) + } + pub(crate) fn ensure_cores_for_sale( status: &StatusRecord, sale: &SaleInfoRecordOf, diff --git a/substrate/frame/broker/src/lib.rs b/substrate/frame/broker/src/lib.rs index 6950d357f4fd4..1317e169e65d4 100644 --- a/substrate/frame/broker/src/lib.rs +++ b/substrate/frame/broker/src/lib.rs @@ -141,6 +141,12 @@ pub mod pallet { #[pallet::storage] pub type Reservations = StorageValue<_, ReservationsRecordOf, ValueQuery>; + /// Force reservations that need to be inserted into the workplan at the next sale rotation. + /// + /// They are automatically freed at the next sale rotation. + #[pallet::storage] + pub type ForceReservations = StorageValue<_, ReservationsRecordOf, ValueQuery>; + /// The Polkadot Core legacy leases. #[pallet::storage] pub type Leases = StorageValue<_, LeasesRecordOf, ValueQuery>; @@ -494,6 +500,18 @@ pub mod pallet { /// This should never happen, given that enable_auto_renew checks for this before enabling /// auto-renewal. AutoRenewalLimitReached, + /// Failed to assign a force reservation due to no free cores available. + ForceReservationFailed { + /// The schedule that could not be assigned. + schedule: Schedule, + }, + /// Potential renewal was forcefully removed. + PotentialRenewalRemoved { + /// The core associated with the potential renewal that was removed. + core: CoreIndex, + /// The timeslice associated with the potential renewal that was removed. + timeslice: Timeslice, + }, } #[pallet::error] @@ -1022,6 +1040,24 @@ pub mod pallet { Self::do_remove_assignment(region_id) } + /// Forcefully remove a potential renewal record from chain. + /// + /// Note that only the specified potential renewal will be removed while any related auto + /// renewals will stay intact and will fail. + /// + /// - `origin`: Must be Root or pass `AdminOrigin`. + /// - `core`: Core which the target potential renewal record refers to. + /// - `when`: Timeslice which the target potential renewal record refers to. + #[pallet::call_index(27)] + pub fn remove_potential_renewal( + origin: OriginFor, + core: CoreIndex, + when: Timeslice, + ) -> DispatchResult { + T::AdminOrigin::ensure_origin_or_root(origin)?; + Self::do_remove_potential_renewal(core, when) + } + #[pallet::call_index(99)] #[pallet::weight(T::WeightInfo::swap_leases())] pub fn swap_leases(origin: OriginFor, id: TaskId, other: TaskId) -> DispatchResult { diff --git a/substrate/frame/broker/src/test_fungibles.rs b/substrate/frame/broker/src/test_fungibles.rs index 1015e1fac252e..abf36ca47b345 100644 --- a/substrate/frame/broker/src/test_fungibles.rs +++ b/substrate/frame/broker/src/test_fungibles.rs @@ -97,10 +97,10 @@ where _provenance: Provenance, ) -> DepositConsequence { if !Self::asset_exists(asset) { - return DepositConsequence::UnknownAsset + return DepositConsequence::UnknownAsset; } if amount + Self::balance(asset, who) < Self::minimum_balance(asset) { - return DepositConsequence::BelowMinimum + return DepositConsequence::BelowMinimum; } DepositConsequence::Success } @@ -112,10 +112,10 @@ where ) -> WithdrawConsequence { if Self::reducible_balance(asset, who, Preservation::Expendable, Fortitude::Polite) < amount { - return WithdrawConsequence::BalanceLow + return WithdrawConsequence::BalanceLow; } if Self::total_balance(asset, who) < Self::minimum_balance(asset) + amount { - return WithdrawConsequence::WouldDie + return WithdrawConsequence::WouldDie; } WithdrawConsequence::Success } diff --git a/substrate/frame/broker/src/tests.rs b/substrate/frame/broker/src/tests.rs index 512c4e4b725fa..a65074c7e3d35 100644 --- a/substrate/frame/broker/src/tests.rs +++ b/substrate/frame/broker/src/tests.rs @@ -19,7 +19,7 @@ use crate::{core_mask::*, mock::*, *}; use frame_support::{ - assert_noop, assert_ok, + assert_err, assert_noop, assert_ok, traits::nonfungible::{Inspect as NftInspect, Mutate, Transfer}, BoundedVec, }; @@ -27,7 +27,7 @@ use frame_system::RawOrigin::Root; use pretty_assertions::assert_eq; use sp_runtime::{ traits::{BadOrigin, Get}, - Perbill, TokenError, + DispatchError, Perbill, TokenError, }; use CoreAssignment::*; use CoretimeTraceItem::*; @@ -2259,6 +2259,71 @@ fn auto_renewal_works() { }); } +#[test] +fn enable_auto_renew_immediate_updates_core_and_renews() { + TestExt::new().endow(1, 1000).endow(2, 1000).endow(1001, 1000).execute_with(|| { + assert_ok!(Broker::do_start_sales(100, 2)); + advance_to(2); + let region_id = Broker::do_purchase(1, u64::max_value()).unwrap(); + assert_ok!(Broker::do_assign(region_id, Some(1), 1001, Final)); + + // Rotate into the next sale where this region is renewable. + let sale = SaleInfo::::get().unwrap(); + let timeslice_period: u64 = ::TimeslicePeriod::get(); + let next_sale_block = sale.region_begin as u64 * timeslice_period; + advance_to(next_sale_block); + + let sale = SaleInfo::::get().unwrap(); + if System::block_number() <= sale.sale_start { + advance_to(sale.sale_start + 1); + } + + // Pre-sell a core to ensure the renewal allocates a different core index. + let _ = Broker::do_purchase(2, u64::max_value()).unwrap(); + let sale_before_renew = SaleInfo::::get().unwrap(); + let expected_new_core = sale_before_renew.first_core + sale_before_renew.cores_sold; + assert_ne!(expected_new_core, region_id.core); + + assert_ok!(Broker::do_enable_auto_renew(1001, region_id.core, 1001, None)); + + // Auto-renewal record should follow the new core. + assert_eq!( + AutoRenewals::::get().to_vec(), + vec![AutoRenewalRecord { + core: expected_new_core, + task: 1001, + next_renewal: sale_before_renew.region_end + }] + ); + + // Potential renewal moved to the new core index. + assert!(PotentialRenewals::::get(PotentialRenewalId { + core: expected_new_core, + when: sale_before_renew.region_end + }) + .is_some()); + assert!(PotentialRenewals::::get(PotentialRenewalId { + core: region_id.core, + when: sale_before_renew.region_end + }) + .is_none()); + + // Next rotation should renew again and keep auto-renewal enabled. + let next_block = sale_before_renew.region_end as u64 * timeslice_period; + advance_to(next_block); + let sale_after_renew = SaleInfo::::get().unwrap(); + let auto_after_renew = AutoRenewals::::get().to_vec(); + assert_eq!(auto_after_renew.len(), 1); + assert_eq!(auto_after_renew[0].task, 1001); + assert_eq!(auto_after_renew[0].next_renewal, sale_after_renew.region_end); + assert!(PotentialRenewals::::get(PotentialRenewalId { + core: auto_after_renew[0].core, + when: sale_after_renew.region_end + }) + .is_some()); + }); +} + #[test] fn disable_auto_renew_works() { TestExt::new().endow(1, 1000).limit_cores_offered(Some(10)).execute_with(|| { @@ -2520,119 +2585,319 @@ fn can_reserve_workloads_quickly() { }); } -// Add an extrinsic to do it properly. #[test] fn force_reserve_works() { - TestExt::new().execute_with(|| { - let system_workload = Schedule::truncate_from(vec![ScheduleItem { - mask: CoreMask::complete(), - assignment: Task(1004), - }]); + let system_workload = Schedule::truncate_from(vec![ScheduleItem { + mask: CoreMask::complete(), + assignment: Task(1004), + }]); - // Not intended to work before sales are started. + // Not intended to work before sales are started. + TestExt::new().execute_with(|| { assert_noop!( Broker::force_reserve(RuntimeOrigin::root(), system_workload.clone(), 0), Error::::NoSales ); + }); - // Start sales. - assert_ok!(Broker::do_start_sales(100, 0)); - advance_to(1); + // With active reservation and purchased coretime - ForceReservation should not overwrite. + TestExt::new().endow(1, 1000).execute_with(|| { + assert_ok!(Broker::do_start_sales(100, 4)); + advance_to(2); - // Add a new core. With the mock this is instant, with current relay implementation it - // takes two sessions to come into effect. - assert_ok!(Broker::do_request_core_count(1)); + let existing_reservation = Schedule::truncate_from(vec![ScheduleItem { + mask: CoreMask::complete(), + assignment: Task(1000), + }]); + assert_ok!(Broker::reserve(RuntimeOrigin::root(), existing_reservation.clone())); - // Force reserve should now work. - assert_ok!(Broker::force_reserve(RuntimeOrigin::root(), system_workload.clone(), 0)); + // Advance 2 sale periods so the reservation becomes active. + advance_sale_period(); + advance_sale_period(); - // Reservation is added for the workload. - System::assert_has_event( - Event::ReservationMade { index: 0, workload: system_workload.clone() }.into(), - ); - System::assert_has_event(Event::CoreCountRequested { core_count: 1 }.into()); - assert_eq!(Reservations::::get(), vec![system_workload.clone()]); + let region = Broker::do_purchase(1, u64::max_value()).unwrap(); + assert_ok!(Broker::do_assign(region, None, 1001, Final)); - // Advance to where that timeslice will be committed. - advance_to(3); - System::assert_has_event( - Event::CoreAssigned { - core: 0, - when: 4, - assignment: vec![(CoreAssignment::Task(1004), 57600)], - } - .into(), - ); + assert_ok!(Broker::force_reserve(RuntimeOrigin::root(), system_workload.clone(), 3)); - // It is also in the workplan for the next region. - assert_eq!(Workplan::::get((4, 0)), Some(system_workload.clone())); + assert_eq!( + Reservations::::get(), + vec![existing_reservation.clone(), system_workload.clone()] + ); + assert_eq!(ForceReservations::::get(), vec![system_workload.clone()]); - // Go to next sale. Rotate sale puts it in the workplan. advance_sale_period(); - assert_eq!(Workplan::::get((7, 0)), Some(system_workload.clone())); + assert!(ForceReservations::::get().is_empty()); - // Go to the second sale after reserving. advance_sale_period(); - // Check the trace to ensure it has a core in every region. + // Trace shows: + // - Existing reservation active at core 0 (from second sale period) + // - Purchased coretime at core 1 (first_core = 1 after reservation) + // - ForceReservation at core 2 (first free core after purchase) assert_eq!( CoretimeTrace::get(), vec![ + // First sale period: all cores to pool (reservation not yet active) ( - 2, + 6, AssignCore { core: 0, - begin: 4, - assignment: vec![(Task(1004), 57600)], + begin: 8, + assignment: vec![(Pool, 57600)], end_hint: None } ), ( 6, AssignCore { - core: 0, + core: 1, begin: 8, - assignment: vec![(Task(1004), 57600)], + assignment: vec![(Pool, 57600)], + end_hint: None + } + ), + ( + 6, + AssignCore { + core: 2, + begin: 8, + assignment: vec![(Pool, 57600)], end_hint: None } ), + ( + 6, + AssignCore { + core: 3, + begin: 8, + assignment: vec![(Pool, 57600)], + end_hint: None + } + ), + // Second sale period: reservation becomes active at core 0 ( 12, AssignCore { core: 0, begin: 14, + assignment: vec![(Task(1000), 57600)], + end_hint: None + } + ), + ( + 12, + AssignCore { + core: 1, + begin: 14, + assignment: vec![(Pool, 57600)], + end_hint: None + } + ), + ( + 12, + AssignCore { + core: 2, + begin: 14, + assignment: vec![(Pool, 57600)], + end_hint: None + } + ), + ( + 12, + AssignCore { + core: 3, + begin: 14, + assignment: vec![(Pool, 57600)], + end_hint: None + } + ), + // Immediate assignment from force_reserve + ( + 16, + AssignCore { + core: 3, + begin: 18, assignment: vec![(Task(1004), 57600)], end_hint: None } - ) + ), + // Third sale: reservation core 0, purchase core 1, ForceReservation core 2 + ( + 18, + AssignCore { + core: 0, + begin: 20, + assignment: vec![(Task(1000), 57600)], + end_hint: None + } + ), + ( + 18, + AssignCore { + core: 1, + begin: 20, + assignment: vec![(Task(1001), 57600)], + end_hint: None + } + ), + ( + 18, + AssignCore { + core: 2, + begin: 20, + assignment: vec![(Task(1004), 57600)], + end_hint: None + } + ), + ( + 18, + AssignCore { + core: 3, + begin: 20, + assignment: vec![(Pool, 57600)], + end_hint: None + } + ), + // Fourth sale: both permanent reservations active + ( + 24, + AssignCore { + core: 0, + begin: 26, + assignment: vec![(Task(1000), 57600)], + end_hint: None + } + ), + ( + 24, + AssignCore { + core: 1, + begin: 26, + assignment: vec![(Task(1004), 57600)], + end_hint: None + } + ), + ( + 24, + AssignCore { + core: 2, + begin: 26, + assignment: vec![(Pool, 57600)], + end_hint: None + } + ), + ( + 24, + AssignCore { + core: 3, + begin: 26, + assignment: vec![(Pool, 57600)], + end_hint: None + } + ), ] ); - System::assert_has_event( - Event::CoreAssigned { - core: 0, - when: 8, - assignment: vec![(CoreAssignment::Task(1004), 57600)], - } - .into(), + }); +} + +#[test] +fn remove_potential_renewal_rejects_non_admin_origin() { + TestExt::new().execute_with(|| { + assert_noop!( + Broker::remove_potential_renewal(RuntimeOrigin::signed(100), 0, 0), + DispatchError::BadOrigin ); - System::assert_has_event( - Event::CoreAssigned { - core: 0, - when: 14, - assignment: vec![(CoreAssignment::Task(1004), 57600)], - } - .into(), + + assert_noop!( + Broker::remove_potential_renewal(RuntimeOrigin::none(), 0, 0), + DispatchError::BadOrigin + ); + }); +} + +#[test] +fn remove_potential_renewal_works() { + TestExt::new().endow(1, 1000).execute_with(|| { + assert_ok!(Broker::do_start_sales(100, 2)); + advance_to(2); + + assert_eq!(PotentialRenewals::::iter().count(), 0); + + let region_id = Broker::do_purchase(1, u64::max_value()).unwrap(); + let region = Regions::::get(region_id).unwrap(); + const TASK_ID: TaskId = 1111; + Broker::do_assign(region_id, None, TASK_ID, Finality::Final).unwrap(); + + // When assigning task to the region it's expected that the potential renewal with the + // `when` field equal to the `region.end` will appear if the assignment is final. + assert_eq!(PotentialRenewals::::iter().count(), 1); + + assert_noop!( + Broker::do_remove_potential_renewal(region_id.core + 1, region.end), + Error::::UnknownRenewal + ); + + assert_noop!( + Broker::do_remove_potential_renewal(region_id.core, region.end + 1), + Error::::UnknownRenewal ); + + let new_region_id = Broker::do_purchase(1, u64::max_value()).unwrap(); + let new_region = Regions::::get(new_region_id).unwrap(); + const NEW_TASK_ID: TaskId = 2222; + Broker::do_assign(new_region_id, None, NEW_TASK_ID, Finality::Final).unwrap(); + + assert_eq!(PotentialRenewals::::iter().count(), 2); + + // Check that target renewal is not expired, so ensure that `do_remove_potential_renewal` + // can remove non-expired renewals too. + assert_err!(Broker::do_drop_renewal(region_id.core, region.end), Error::::StillValid); + + Broker::do_remove_potential_renewal(region_id.core, region.end).unwrap(); System::assert_has_event( - Event::CoreAssigned { - core: 0, - when: 14, - assignment: vec![(CoreAssignment::Task(1004), 57600)], - } - .into(), + Event::PotentialRenewalRemoved { core: region_id.core, timeslice: region.end }.into(), ); - // And it's in the workplan for the next period. - assert_eq!(Workplan::::get((10, 0)), Some(system_workload.clone())); + assert_eq!(PotentialRenewals::::iter().count(), 1); + // Ensure that the correct potential renewal was removed. + let renewal_ids: Vec<_> = PotentialRenewals::::iter().map(|(id, _)| id).collect(); + assert_eq!( + renewal_ids, + vec![PotentialRenewalId { core: new_region_id.core, when: new_region.end }] + ); + + assert_noop!( + Broker::do_remove_potential_renewal(region_id.core, region.end), + Error::::UnknownRenewal + ); }); } + +#[test] +fn remove_potential_renewal_makes_auto_renewal_die() { + TestExt::new().endow(1, 1000).execute_with(|| { + assert_ok!(Broker::do_start_sales(100, 2)); + advance_to(2); + + let region_id = Broker::do_purchase(1, u64::max_value()).unwrap(); + const TASK_ID: TaskId = 1111; + Broker::do_assign(region_id, None, TASK_ID, Finality::Final).unwrap(); + + advance_to(6); + + Broker::do_enable_auto_renew(1, region_id.core, TASK_ID, None).unwrap(); + + assert_eq!(AutoRenewals::::get().len(), 1); + + let renewals: Vec<_> = PotentialRenewals::::iter_keys().collect(); + assert_eq!(renewals.len(), 1); + assert_ok!(Broker::do_remove_potential_renewal(renewals[0].core, renewals[0].when)); + + assert_eq!(AutoRenewals::::get().len(), 1); + + advance_to(12); + + assert_eq!(AutoRenewals::::get().len(), 0); + }) +} diff --git a/substrate/frame/broker/src/tick_impls.rs b/substrate/frame/broker/src/tick_impls.rs index e0b4932f11e23..ebe3412eb5f28 100644 --- a/substrate/frame/broker/src/tick_impls.rs +++ b/substrate/frame/broker/src/tick_impls.rs @@ -89,14 +89,14 @@ impl Pallet { if let Some(core_count) = CoreCountInbox::::take() { status.core_count = core_count; Self::deposit_event(Event::::CoreCountChanged { core_count }); - return true + return true; } false } pub(crate) fn process_revenue() -> bool { let Some(OnDemandRevenueRecord { until, amount }) = RevenueInbox::::take() else { - return false + return false; }; let when: Timeslice = (until / T::TimeslicePeriod::get()).saturating_sub(One::one()).saturated_into(); @@ -104,7 +104,7 @@ impl Pallet { if revenue.is_zero() { Self::deposit_event(Event::::HistoryDropped { when, revenue }); InstaPoolHistory::::remove(when); - return true + return true; } log::debug!( @@ -115,7 +115,7 @@ impl Pallet { let mut r = InstaPoolHistory::::get(when).unwrap_or_default(); if r.maybe_payout.is_some() { Self::deposit_event(Event::::HistoryIgnored { when, revenue }); - return true + return true; } // Payout system InstaPool Cores. let total_contrib = r.system_contributions.saturating_add(r.private_contributions); @@ -200,6 +200,18 @@ impl Pallet { Workplan::::insert((region_begin, first_core), &schedule); first_core.saturating_inc(); } + + // Insert ForceReservations at the first free core from the old sale. + let mut force_core = old_sale.first_core + old_sale.cores_sold; + for schedule in ForceReservations::::take() { + if force_core >= status.core_count { + Self::deposit_event(Event::::ForceReservationFailed { schedule }); + continue; + } + Workplan::::insert((old_sale.region_begin, force_core), &schedule); + force_core.saturating_inc(); + } + InstaPoolIo::::mutate(region_begin, |r| r.system.saturating_accrue(total_pooled)); InstaPoolIo::::mutate(region_end, |r| r.system.saturating_reduce(total_pooled)); @@ -329,7 +341,7 @@ impl Pallet { if let Some(ref mut last) = assignment.last_mut() { if last.0 == i.0 { last.1 += i.1; - continue + continue; } } assignment.push(i); @@ -348,7 +360,7 @@ impl Pallet { // Check if the next renewal is scheduled further in the future than the start of // the next region beginning. If so, we skip the renewal for this core. if sale.region_begin < record.next_renewal { - return Some(record) + return Some(record); } let Some(payer) = T::SovereignAccountOf::maybe_convert(record.task) else { @@ -356,7 +368,7 @@ impl Pallet { core: record.core, payer: None, }); - return None + return None; }; if let Ok(new_core_index) = Self::do_renew(payer.clone(), record.core) { diff --git a/substrate/frame/broker/src/types.rs b/substrate/frame/broker/src/types.rs index 208c36c23a321..9e52970cac2a7 100644 --- a/substrate/frame/broker/src/types.rs +++ b/substrate/frame/broker/src/types.rs @@ -331,7 +331,7 @@ where /// Check the config for basic validity constraints. pub(crate) fn validate(&self) -> Result<(), ()> { if self.leadin_length.is_zero() { - return Err(()) + return Err(()); } Ok(()) diff --git a/substrate/frame/broker/src/utility_impls.rs b/substrate/frame/broker/src/utility_impls.rs index 5bf45ac0fc26f..611b10673c798 100644 --- a/substrate/frame/broker/src/utility_impls.rs +++ b/substrate/frame/broker/src/utility_impls.rs @@ -124,7 +124,7 @@ impl Pallet { region_id.begin = last_committed_timeslice + 1; if region_id.begin >= region.end { Self::deposit_event(Event::RegionDropped { region_id, duration }); - return Ok(None) + return Ok(None); } } else { Workplan::::mutate_extant((region_id.begin, region_id.core), |p| { @@ -158,7 +158,7 @@ impl Pallet { // InstaPoolIo has already accounted for regions that have already ended. Regions ending // this timeslice would have region.end == unpooled_at below. if region.end <= end_timeslice { - return + return; } // Account for the change in `InstaPoolIo` either from the start of the region or from diff --git a/substrate/frame/broker/src/weights.rs b/substrate/frame/broker/src/weights.rs index c3d74216324e7..dffacd176d7b5 100644 --- a/substrate/frame/broker/src/weights.rs +++ b/substrate/frame/broker/src/weights.rs @@ -107,6 +107,7 @@ pub trait WeightInfo { fn disable_auto_renew() -> Weight; fn on_new_timeslice() -> Weight; fn remove_assignment() -> Weight; + fn remove_potential_renewal() -> Weight; } /// Weights for `pallet_broker` using the Substrate node and recommended hardware. @@ -606,6 +607,17 @@ impl WeightInfo for SubstrateWeight { .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } + /// Storage: `Broker::PotentialRenewals` (r:1 w:1) + /// Proof: `Broker::PotentialRenewals` (`max_values`: None, `max_size`: Some(1233), added: 3708, mode: `MaxEncodedLen`) + fn remove_potential_renewal() -> Weight { + // Proof Size summary in bytes: + // Measured: `450` + // Estimated: `4698` + // Minimum execution time: 21_575_000 picoseconds. + Weight::from_parts(22_584_000, 4698) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } } // For backwards compatibility and tests. @@ -1104,4 +1116,15 @@ impl WeightInfo for () { .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } + /// Storage: `Broker::PotentialRenewals` (r:1 w:1) + /// Proof: `Broker::PotentialRenewals` (`max_values`: None, `max_size`: Some(1233), added: 3708, mode: `MaxEncodedLen`) + fn remove_potential_renewal() -> Weight { + // Proof Size summary in bytes: + // Measured: `450` + // Estimated: `4698` + // Minimum execution time: 21_575_000 picoseconds. + Weight::from_parts(22_584_000, 4698) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } } diff --git a/substrate/frame/child-bounties/src/lib.rs b/substrate/frame/child-bounties/src/lib.rs index 0053c72e1a791..1ac8d1e94d27c 100644 --- a/substrate/frame/child-bounties/src/lib.rs +++ b/substrate/frame/child-bounties/src/lib.rs @@ -287,8 +287,8 @@ pub mod pallet { description.try_into().map_err(|_| BountiesError::::ReasonTooBig)?; ensure!(value >= T::ChildBountyValueMinimum::get(), BountiesError::::InvalidValue); ensure!( - ParentChildBounties::::get(parent_bounty_id) <= - T::MaxActiveChildBountyCount::get() as u32, + ParentChildBounties::::get(parent_bounty_id) < + T::MaxActiveChildBountyCount::get(), Error::::TooManyChildBounties, ); @@ -527,7 +527,7 @@ pub mod pallet { match child_bounty.status { ChildBountyStatus::Added => { // No curator to unassign at this point. - return Err(BountiesError::::UnexpectedStatus.into()) + return Err(BountiesError::::UnexpectedStatus.into()); }, ChildBountyStatus::CuratorProposed { ref curator } => { // A child-bounty curator has been proposed, but not accepted yet. @@ -575,7 +575,7 @@ pub mod pallet { // Continue to change bounty status below. } else { // Curator has more time to give an update. - return Err(BountiesError::::Premature.into()) + return Err(BountiesError::::Premature.into()); } }, } @@ -843,7 +843,7 @@ impl Pallet { bounty_fee: &BalanceOf, ) -> BalanceOf { if parent_curator == child_curator { - return Zero::zero() + return Zero::zero(); } // We just use the same logic from the parent bounties pallet. @@ -918,7 +918,7 @@ impl Pallet { // child-bounty, it should mean the child-bounty curator // was acting maliciously. So first unassign the // child-bounty curator, slashing their deposit. - return Err(BountiesError::::PendingPayout.into()) + return Err(BountiesError::::PendingPayout.into()); }, } diff --git a/substrate/frame/child-bounties/src/tests.rs b/substrate/frame/child-bounties/src/tests.rs index 50c8adb453e5e..e0bb1ac6f75a8 100644 --- a/substrate/frame/child-bounties/src/tests.rs +++ b/substrate/frame/child-bounties/src/tests.rs @@ -135,6 +135,7 @@ impl pallet_bounties::Config for Test { type WeightInfo = (); type ChildBountyManager = ChildBounties; type OnSlash = (); + type TransferAllAssets = (); } impl pallet_child_bounties::Config for Test { type RuntimeEvent = RuntimeEvent; @@ -1536,6 +1537,8 @@ fn accept_curator_handles_different_deposit_calculations() { assert_eq!(Balances::reserved_balance(child_curator), reserved_before); // Case 3: Upper Limit + // Close a child bounty to make room for the next one (MaxActiveChildBountyCount = 2) + assert_ok!(ChildBounties::impl_close_child_bounty(parent_index, 0)); let child_index = 2; let child_curator = account_id(2); @@ -1610,3 +1613,73 @@ fn integrity_test() { ChildBounties::integrity_test(); }); } + +#[test] +fn max_active_child_bounty_count_is_strictly_enforced() { + // Verify that exactly MaxActiveChildBountyCount child bounties can be created, + // and attempting to create one more fails with TooManyChildBounties error. + new_test_ext().execute_with(|| { + // Setup: MaxActiveChildBountyCount is set to 2 in test configuration. + go_to_block(1); + Balances::make_free_balance_be(&Treasury::account_id(), 101); + Balances::make_free_balance_be(&account_id(4), 101); + + // Create a parent bounty. + assert_ok!(Bounties::propose_bounty( + RuntimeOrigin::signed(account_id(0)), + 50, + b"12345".to_vec() + )); + assert_ok!(Bounties::approve_bounty(RuntimeOrigin::root(), 0)); + + go_to_block(2); + + assert_ok!(Bounties::propose_curator(RuntimeOrigin::root(), 0, account_id(4), 4)); + assert_ok!(Bounties::accept_curator(RuntimeOrigin::signed(account_id(4)), 0)); + + // Create first child bounty - should succeed. + assert_ok!(ChildBounties::add_child_bounty( + RuntimeOrigin::signed(account_id(4)), + 0, + 10, + b"child-1".to_vec() + )); + assert_eq!(pallet_child_bounties::ParentChildBounties::::get(0), 1); + + // Create second child bounty - should succeed (at limit). + assert_ok!(ChildBounties::add_child_bounty( + RuntimeOrigin::signed(account_id(4)), + 0, + 10, + b"child-2".to_vec() + )); + assert_eq!(pallet_child_bounties::ParentChildBounties::::get(0), 2); + + // Attempt to create third child bounty - should fail with TooManyChildBounties. + assert_noop!( + ChildBounties::add_child_bounty( + RuntimeOrigin::signed(account_id(4)), + 0, + 10, + b"child-3".to_vec() + ), + Error::::TooManyChildBounties, + ); + + // Verify count hasn't increased. + assert_eq!(pallet_child_bounties::ParentChildBounties::::get(0), 2); + + // Close one child bounty and verify we can add a new one. + assert_ok!(ChildBounties::close_child_bounty(RuntimeOrigin::signed(account_id(4)), 0, 0)); + assert_eq!(pallet_child_bounties::ParentChildBounties::::get(0), 1); + + // Now we should be able to add another child bounty. + assert_ok!(ChildBounties::add_child_bounty( + RuntimeOrigin::signed(account_id(4)), + 0, + 10, + b"child-4".to_vec() + )); + assert_eq!(pallet_child_bounties::ParentChildBounties::::get(0), 2); + }); +} diff --git a/substrate/frame/collective/src/lib.rs b/substrate/frame/collective/src/lib.rs index 019292ad2ecd5..7b98a317134f0 100644 --- a/substrate/frame/collective/src/lib.rs +++ b/substrate/frame/collective/src/lib.rs @@ -185,10 +185,8 @@ pub struct Votes { /// /// 1. Linear increasing with helper types. #[doc = docify::embed!("src/tests.rs", deposit_types_with_linear_work)] -/// /// 2. Geometrically increasing with helper types. #[doc = docify::embed!("src/tests.rs", deposit_types_with_geometric_work)] -/// /// 3. Geometrically increasing with rounding. #[doc = docify::embed!("src/tests.rs", deposit_round_with_geometric_work)] pub mod deposit { @@ -1005,7 +1003,7 @@ impl, I: 'static> Pallet { if position_yes.is_none() { voting.ayes.push(who.clone()); } else { - return Err(Error::::DuplicateVote.into()) + return Err(Error::::DuplicateVote.into()); } if let Some(pos) = position_no { voting.nays.swap_remove(pos); @@ -1014,7 +1012,7 @@ impl, I: 'static> Pallet { if position_no.is_none() { voting.nays.push(who.clone()); } else { - return Err(Error::::DuplicateVote.into()) + return Err(Error::::DuplicateVote.into()); } if let Some(pos) = position_yes { voting.ayes.swap_remove(pos); @@ -1068,7 +1066,7 @@ impl, I: 'static> Pallet { ), Pays::Yes, ) - .into()) + .into()); } else if disapproved { Self::deposit_event(Event::Closed { proposal_hash, yes: yes_votes, no: no_votes }); let proposal_count = Self::do_disapprove_proposal(proposal_hash); @@ -1076,7 +1074,7 @@ impl, I: 'static> Pallet { Some(T::WeightInfo::close_early_disapproved(seats, proposal_count)), Pays::No, ) - .into()) + .into()); } // Only allow actual closing of the proposal after the voting period has ended. diff --git a/substrate/frame/collective/src/migrations/v4.rs b/substrate/frame/collective/src/migrations/v4.rs index 300dff23d8eb5..a67ba1bd4cf79 100644 --- a/substrate/frame/collective/src/migrations/v4.rs +++ b/substrate/frame/collective/src/migrations/v4.rs @@ -46,7 +46,7 @@ pub fn migrate::on_chain_storage_version(); @@ -85,7 +85,7 @@ pub fn pre_migrate>(old_p log_migration("pre-migration", old_pallet_name, new_pallet_name); if new_pallet_name == old_pallet_name { - return + return; } let new_pallet_prefix = twox_128(new_pallet_name.as_bytes()); @@ -113,7 +113,7 @@ pub fn post_migrate>(old_ log_migration("post-migration", old_pallet_name, new_pallet_name); if new_pallet_name == old_pallet_name { - return + return; } // Assert that nothing remains at the old prefix. diff --git a/substrate/frame/contracts/build.rs b/substrate/frame/contracts/build.rs index 83d5d368d4bc3..5c0797b5a39ff 100644 --- a/substrate/frame/contracts/build.rs +++ b/substrate/frame/contracts/build.rs @@ -41,7 +41,7 @@ fn get_latest_version() -> u16 { path ); - return Some(version) + return Some(version); } None }) diff --git a/substrate/frame/contracts/fixtures/build.rs b/substrate/frame/contracts/fixtures/build.rs index 08c208f2b2043..26350bcd59fd2 100644 --- a/substrate/frame/contracts/fixtures/build.rs +++ b/substrate/frame/contracts/fixtures/build.rs @@ -99,7 +99,7 @@ fn collect_entries(contracts_dir: &Path, out_dir: &Path) -> Vec { .filter_map(|file| { let path = file.expect("file exists; qed").path(); if path.extension().map_or(true, |ext| ext != "rs") { - return None + return None; } let entry = Entry::new(path); @@ -161,7 +161,7 @@ fn invoke_cargo_fmt<'a>( .output() .map_or(false, |o| o.status.success()) { - return Ok(()) + return Ok(()); } let fmt_res = Command::new("rustup") @@ -172,7 +172,7 @@ fn invoke_cargo_fmt<'a>( .expect("failed to execute process"); if fmt_res.status.success() { - return Ok(()) + return Ok(()); } let stdout = String::from_utf8_lossy(&fmt_res.stdout); @@ -210,7 +210,7 @@ fn invoke_wasm_build(current_dir: &Path) -> Result<()> { .expect("failed to execute process"); if build_res.status.success() { - return Ok(()) + return Ok(()); } let stderr = String::from_utf8_lossy(&build_res.stderr); @@ -275,7 +275,7 @@ fn main() -> Result<()> { let entries = collect_entries(&contracts_dir, &out_dir); if entries.is_empty() { - return Ok(()) + return Ok(()); } let tmp_dir = tempfile::tempdir()?; diff --git a/substrate/frame/contracts/mock-network/src/mocks/msg_queue.rs b/substrate/frame/contracts/mock-network/src/mocks/msg_queue.rs index f2f7f6305f455..abc7a5724c30c 100644 --- a/substrate/frame/contracts/mock-network/src/mocks/msg_queue.rs +++ b/substrate/frame/contracts/mock-network/src/mocks/msg_queue.rs @@ -113,8 +113,9 @@ pub mod pallet { max_weight, Weight::zero(), ) { - Outcome::Error(InstructionError { error, .. }) => - (Err(error), Event::Fail(Some(hash), error)), + Outcome::Error(InstructionError { error, .. }) => { + (Err(error), Event::Fail(Some(hash), error)) + }, Outcome::Complete { used } => (Ok(used), Event::Success(Some(hash))), // As far as the caller is concerned, this was dispatched without error, so // we just report the weight used. diff --git a/substrate/frame/contracts/mock-network/src/parachain.rs b/substrate/frame/contracts/mock-network/src/parachain.rs index ad43ac42a7508..c67cc2b960775 100644 --- a/substrate/frame/contracts/mock-network/src/parachain.rs +++ b/substrate/frame/contracts/mock-network/src/parachain.rs @@ -271,7 +271,6 @@ impl Config for XcmConfig { type AssetTrap = PolkadotXcm; type AssetLocker = PolkadotXcm; type AssetExchanger = (); - type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = AllPalletsWithSystem; type FeeManager = (); diff --git a/substrate/frame/contracts/mock-network/src/relay_chain.rs b/substrate/frame/contracts/mock-network/src/relay_chain.rs index 0e60e3df6e19d..6b9ca38279d84 100644 --- a/substrate/frame/contracts/mock-network/src/relay_chain.rs +++ b/substrate/frame/contracts/mock-network/src/relay_chain.rs @@ -168,7 +168,6 @@ impl Config for XcmConfig { type AssetTrap = XcmPallet; type AssetLocker = XcmPallet; type AssetExchanger = (); - type AssetClaims = XcmPallet; type SubscriptionService = XcmPallet; type PalletInstancesInfo = AllPalletsWithSystem; type FeeManager = (); diff --git a/substrate/frame/contracts/proc-macro/src/lib.rs b/substrate/frame/contracts/proc-macro/src/lib.rs index 5c3c34e6ef32d..781a41868a2f9 100644 --- a/substrate/frame/contracts/proc-macro/src/lib.rs +++ b/substrate/frame/contracts/proc-macro/src/lib.rs @@ -44,7 +44,7 @@ pub fn derive_weight_debug(input: TokenStream) -> TokenStream { name.span() => compile_error!("WeightDebug is only supported for structs."); } - .into() + .into(); }; let fields = match &data.fields { @@ -52,7 +52,7 @@ pub fn derive_weight_debug(input: TokenStream) -> TokenStream { let recurse = fields.named.iter().filter_map(|f| { let name = f.ident.as_ref()?; if name.to_string().starts_with('_') { - return None + return None; } let ret = quote_spanned! { f.span() => formatter.field(stringify!(#name), &HumanWeight(self.#name)); @@ -185,14 +185,14 @@ impl HostFn { match ident.as_str() { "version" => { if maybe_version.is_some() { - return Err(err(span, "#[version] can only be specified once")) + return Err(err(span, "#[version] can only be specified once")); } maybe_version = Some(attr.parse_args::().and_then(|lit| lit.base10_parse())?); }, "unstable" => { if !is_stable { - return Err(err(span, "#[unstable] can only be specified once")) + return Err(err(span, "#[unstable] can only be specified once")); } is_stable = false; }, @@ -205,19 +205,19 @@ impl HostFn { }, "deprecated" => { if !not_deprecated { - return Err(err(span, "#[deprecated] can only be specified once")) + return Err(err(span, "#[deprecated] can only be specified once")); } not_deprecated = false; }, "mutating" => { if mutating { - return Err(err(span, "#[mutating] can only be specified once")) + return Err(err(span, "#[mutating] can only be specified once")); } mutating = true; }, "cfg" => { if cfg.is_some() { - return Err(err(span, "#[cfg] can only be specified once")) + return Err(err(span, "#[cfg] can only be specified once")); } cfg = Some(attr); }, @@ -237,7 +237,7 @@ impl HostFn { let name = item.sig.ident.to_string(); if !(is_stable || not_deprecated) { - return Err(err(span, "#[deprecated] is mutually exclusive with #[unstable]")) + return Err(err(span, "#[deprecated] is mutually exclusive with #[unstable]")); } // process arguments: The first and second args are treated differently (ctx, memory) @@ -253,7 +253,7 @@ impl HostFn { .fold(0u32, |acc, valid| if valid { acc + 1 } else { acc }); if special_args != 2 { - return Err(err(span, msg)) + return Err(err(span, msg)); } // process return type @@ -275,7 +275,7 @@ impl HostFn { match &result.arguments { syn::PathArguments::AngleBracketed(group) => { if group.args.len() != 2 { - return Err(err(span, &msg)) + return Err(err(span, &msg)); }; let arg2 = group.args.last().ok_or(err(span, &msg))?; @@ -314,7 +314,7 @@ impl HostFn { .to_string()), syn::Type::Tuple(tt) => { if !tt.elems.is_empty() { - return Err(err(arg1.span(), &msg)) + return Err(err(arg1.span(), &msg)); }; Ok("()".to_string()) }, @@ -391,14 +391,15 @@ impl EnvDef { fn is_valid_special_arg(idx: usize, arg: &FnArg) -> bool { let FnArg::Typed(pat) = arg else { return false }; - let ident = if let syn::Pat::Ident(ref ident) = *pat.pat { &ident.ident } else { return false }; + let ident = + if let syn::Pat::Ident(ref ident) = *pat.pat { &ident.ident } else { return false }; let name_ok = match idx { 0 => ident == "ctx" || ident == "_ctx", 1 => ident == "memory" || ident == "_memory", _ => false, }; if !name_ok { - return false + return false; } matches!(*pat.ty, syn::Type::Infer(_)) } @@ -474,7 +475,7 @@ fn expand_docs(def: &EnvDef) -> TokenStream2 { funcs.sort_unstable_by_key(|func| Reverse(func.version)); for func in funcs { if current_docs.contains_key(&func.name) { - continue + continue; } current_docs.insert(func.name.clone(), expand_func_doc(&func)); } @@ -910,7 +911,7 @@ pub fn define_env(attr: TokenStream, item: TokenStream) -> TokenStream { - `#[define_env]` - `#[define_env(doc)]`"#; let span = TokenStream2::from(attr).span(); - return syn::Error::new(span, msg).to_compile_error().into() + return syn::Error::new(span, msg).to_compile_error().into(); } let item = syn::parse_macro_input!(item as syn::ItemMod); diff --git a/substrate/frame/contracts/src/benchmarking/mod.rs b/substrate/frame/contracts/src/benchmarking/mod.rs index bb04910b3d8cc..486c21ee3b283 100644 --- a/substrate/frame/contracts/src/benchmarking/mod.rs +++ b/substrate/frame/contracts/src/benchmarking/mod.rs @@ -178,7 +178,7 @@ where }; if key == &key_new { - continue + continue; } child::put_raw(&child_trie_info, &key_new, &value); } diff --git a/substrate/frame/contracts/src/exec.rs b/substrate/frame/contracts/src/exec.rs index d9060b75c2c83..b2f0310b5957c 100644 --- a/substrate/frame/contracts/src/exec.rs +++ b/substrate/frame/contracts/src/exec.rs @@ -888,7 +888,7 @@ where (matches!(determinism, Determinism::Relaxed) && matches!(entry_point, ExportedFunction::Call))) { - return Err(Error::::Indeterministic.into()) + return Err(Error::::Indeterministic.into()); } let frame = Frame { @@ -916,7 +916,7 @@ where read_only: bool, ) -> Result { if self.frames.len() == T::CallStack::size() { - return Err(Error::::MaxCallDepthReached.into()) + return Err(Error::::MaxCallDepthReached.into()); } // We need to make sure that changes made to the contract info are not discarded. @@ -992,7 +992,7 @@ where // Avoid useless work that would be reverted anyways. if output.did_revert() { - return Ok(output) + return Ok(output); } // Storage limit is normally enforced as late as possible (when the last frame returns) @@ -1012,7 +1012,7 @@ where (ExportedFunction::Constructor, _) => { // It is not allowed to terminate a contract inside its constructor. if matches!(frame.contract_info, CachedContract::Terminated) { - return Err(Error::::TerminatedInConstructor.into()) + return Err(Error::::TerminatedInConstructor.into()); } // If a special limit was set for the sub-call, we enforce it here. @@ -1064,8 +1064,9 @@ where with_transaction(|| -> TransactionOutcome> { let output = do_transaction(); match &output { - Ok(result) if !result.did_revert() => - TransactionOutcome::Commit(Ok((true, output))), + Ok(result) if !result.did_revert() => { + TransactionOutcome::Commit(Ok((true, output))) + }, _ => TransactionOutcome::Rollback(Ok((false, output))), } }); @@ -1113,7 +1114,7 @@ where // Only gas counter changes are persisted in case of a failure. if !persist { - return + return; } // Record the storage meter changes of the nested call into the parent meter. @@ -1132,7 +1133,7 @@ where // trigger a rollback. if prev.account_id == *account_id { prev.contract_info = CachedContract::Cached(contract); - return + return; } // Predecessor is a different contract: We persist the info and invalidate the first @@ -1155,7 +1156,7 @@ where } self.gas_meter.absorb_nested(mem::take(&mut self.first_frame.nested_gas)); if !persist { - return + return; } let mut contract = self.first_frame.contract_info.as_contract(); self.storage_meter.absorb( @@ -1193,7 +1194,7 @@ where // If it is a delegate call, then we've already transferred tokens in the // last non-delegate frame. if frame.delegate_caller.is_some() { - return Ok(()) + return Ok(()); } let value = frame.value_transferred; @@ -1274,7 +1275,7 @@ where let try_call = || { if !self.allows_reentry(&to) { - return Err(>::ReentranceDenied.into()) + return Err(>::ReentranceDenied.into()); } // We ignore instantiate frames in our search for a cached contract. @@ -1361,7 +1362,7 @@ where fn terminate(&mut self, beneficiary: &AccountIdOf) -> DispatchResult { if self.is_recursive() { - return Err(Error::::TerminatedWhileReentrant.into()) + return Err(Error::::TerminatedWhileReentrant.into()); } let frame = self.top_frame_mut(); let info = frame.terminate(); @@ -1582,7 +1583,7 @@ where fn set_code_hash(&mut self, hash: CodeHash) -> DispatchResult { let frame = top_frame_mut!(self); if !E::from_storage(hash, &mut frame.nested_gas)?.is_deterministic() { - return Err(>::Indeterministic.into()) + return Err(>::Indeterministic.into()); } let info = frame.contract_info(); diff --git a/substrate/frame/contracts/src/lib.rs b/substrate/frame/contracts/src/lib.rs index a7b810574b452..8bf9835e0f885 100644 --- a/substrate/frame/contracts/src/lib.rs +++ b/substrate/frame/contracts/src/lib.rs @@ -903,7 +903,7 @@ pub mod pallet { let contract = if let Some(contract) = contract { contract } else { - return Err(>::ContractNotFound.into()) + return Err(>::ContractNotFound.into()); }; >>::increment_refcount(code_hash)?; >>::decrement_refcount(contract.code_hash); @@ -1511,7 +1511,7 @@ trait Invokable: Sized { gas_meter: GasMeter::new(gas_limit), storage_deposit: Default::default(), result: Err(ExecError { error: e.into(), origin: ErrorOrigin::Caller }), - } + }; } executing_contract::using_once(&mut false, || { @@ -1566,12 +1566,13 @@ impl Invokable for CallInput { let mut storage_meter = match StorageMeter::new(&origin, common.storage_deposit_limit, common.value) { Ok(meter) => meter, - Err(err) => + Err(err) => { return InternalOutput { result: Err(err.into()), gas_meter, storage_deposit: Default::default(), - }, + } + }, }; let schedule = T::Schedule::get(); let result = ExecStack::>::run_call( @@ -1661,7 +1662,7 @@ macro_rules! ensure_no_migration_in_progress { debug_message: Vec::new(), result: Err(Error::::MigrationInProgress.into()), events: None, - } + }; } }; } @@ -1776,7 +1777,7 @@ impl Pallet { let (module, deposit) = match result { Ok(result) => result, - Err(error) => + Err(error) => { return ContractResult { gas_consumed: Zero::zero(), gas_required: Zero::zero(), @@ -1784,7 +1785,8 @@ impl Pallet { debug_message: debug_message.unwrap_or(Default::default()).into(), result: Err(error), events: events(), - }, + } + }, }; storage_deposit_limit = @@ -1860,7 +1862,7 @@ impl Pallet { /// Query storage of a specified contract under a specified key. pub fn get_storage(address: T::AccountId, key: Vec) -> GetStorageResult { if Migration::::in_progress() { - return Err(ContractAccessError::MigrationInProgress) + return Err(ContractAccessError::MigrationInProgress); } let contract_info = ContractInfoOf::::get(&address).ok_or(ContractAccessError::DoesntExist)?; diff --git a/substrate/frame/contracts/src/migration.rs b/substrate/frame/contracts/src/migration.rs index 29ac74d0d50a9..9b39486eeec1e 100644 --- a/substrate/frame/contracts/src/migration.rs +++ b/substrate/frame/contracts/src/migration.rs @@ -251,7 +251,7 @@ impl Migration { ); T::Migrations::post_upgrade_step(in_progress_version, state)?; if matches!(status, MigrateResult::Completed) { - break + break; } } @@ -273,7 +273,7 @@ impl OnRuntimeUpgrade for Migration OnRuntimeUpgrade for Migration OnRuntimeUpgrade for Migration>::in_code_storage_version(); if on_chain_version == in_code_version { - return Ok(Default::default()) + return Ok(Default::default()); } log::debug!( @@ -333,7 +333,7 @@ impl OnRuntimeUpgrade for Migration) -> Result<(), TryRuntimeError> { if !TEST_ALL_STEPS { - return Ok(()) + return Ok(()); } log::info!(target: LOG_TARGET, "=== POST UPGRADE CHECKS ==="); @@ -391,13 +391,13 @@ impl Migration { let name = >::name(); if meter.try_consume(T::WeightInfo::migrate()).is_err() { - return MigrateResult::NoMigrationPerformed + return MigrateResult::NoMigrationPerformed; } MigrationInProgress::::mutate_exists(|progress| { let Some(cursor_before) = progress.as_mut() else { meter.consume(T::WeightInfo::migration_noop()); - return MigrateResult::NoMigrationInProgress + return MigrateResult::NoMigrationInProgress; }; // if a migration is running it is always upgrading to the next version diff --git a/substrate/frame/contracts/src/migration/v11.rs b/substrate/frame/contracts/src/migration/v11.rs index bd128e22869f4..cfd8330df0fba 100644 --- a/substrate/frame/contracts/src/migration/v11.rs +++ b/substrate/frame/contracts/src/migration/v11.rs @@ -83,7 +83,7 @@ impl MigrationStep for Migration { fn step(&mut self, meter: &mut WeightMeter) -> IsFinished { let Some(old_queue) = v10::DeletionQueue::::take() else { meter.consume(T::WeightInfo::v11_migration_step(0)); - return IsFinished::Yes + return IsFinished::Yes; }; let len = old_queue.len(); @@ -118,7 +118,7 @@ impl MigrationStep for Migration { "Injecting {len} entries to deletion queue to test migration" ); fill_old_queue::(len as usize); - return Ok(len.encode()) + return Ok(len.encode()); } Ok((old_queue.len() as u32).encode()) diff --git a/substrate/frame/contracts/src/primitives.rs b/substrate/frame/contracts/src/primitives.rs index 5501826636591..e35dc4b07a44a 100644 --- a/substrate/frame/contracts/src/primitives.rs +++ b/substrate/frame/contracts/src/primitives.rs @@ -198,18 +198,20 @@ where match (self, rhs) { (Charge(lhs), Charge(rhs)) => Charge(lhs.saturating_add(*rhs)), (Refund(lhs), Refund(rhs)) => Refund(lhs.saturating_add(*rhs)), - (Charge(lhs), Refund(rhs)) => + (Charge(lhs), Refund(rhs)) => { if lhs >= rhs { Charge(lhs.saturating_sub(*rhs)) } else { Refund(rhs.saturating_sub(*lhs)) - }, - (Refund(lhs), Charge(rhs)) => + } + }, + (Refund(lhs), Charge(rhs)) => { if lhs > rhs { Refund(lhs.saturating_sub(*rhs)) } else { Charge(rhs.saturating_sub(*lhs)) - }, + } + }, } } @@ -219,18 +221,20 @@ where match (self, rhs) { (Charge(lhs), Refund(rhs)) => Charge(lhs.saturating_add(*rhs)), (Refund(lhs), Charge(rhs)) => Refund(lhs.saturating_add(*rhs)), - (Charge(lhs), Charge(rhs)) => + (Charge(lhs), Charge(rhs)) => { if lhs >= rhs { Charge(lhs.saturating_sub(*rhs)) } else { Refund(rhs.saturating_sub(*lhs)) - }, - (Refund(lhs), Refund(rhs)) => + } + }, + (Refund(lhs), Refund(rhs)) => { if lhs > rhs { Refund(lhs.saturating_sub(*rhs)) } else { Charge(rhs.saturating_sub(*lhs)) - }, + } + }, } } diff --git a/substrate/frame/contracts/src/storage.rs b/substrate/frame/contracts/src/storage.rs index 4c64857366eb8..9522dee78f3c7 100644 --- a/substrate/frame/contracts/src/storage.rs +++ b/substrate/frame/contracts/src/storage.rs @@ -84,7 +84,7 @@ impl ContractInfo { code_hash: CodeHash, ) -> Result { if >::contains_key(account) { - return Err(Error::::DuplicateContract.into()) + return Err(Error::::DuplicateContract.into()); } let trie_id = { @@ -198,12 +198,13 @@ impl ContractInfo { if let Some(storage_meter) = storage_meter { let mut diff = meter::Diff::default(); match (old_len, new_value.as_ref().map(|v| v.len() as u32)) { - (Some(old_len), Some(new_len)) => + (Some(old_len), Some(new_len)) => { if new_len > old_len { diff.bytes_added = new_len - old_len; } else { diff.bytes_removed = old_len - new_len; - }, + } + }, (None, Some(new_len)) => { diff.bytes_added = new_len; diff.items_added = 1; @@ -314,7 +315,7 @@ impl ContractInfo { /// Delete as many items from the deletion queue possible within the supplied weight limit. pub fn process_deletion_queue_batch(meter: &mut WeightMeter) { if meter.try_consume(T::WeightInfo::on_process_deletion_queue_batch()).is_err() { - return + return; }; let mut queue = >::load(); @@ -337,7 +338,7 @@ impl ContractInfo { // This happens when our budget wasn't large enough to remove all keys. KillStorageResult::SomeRemaining(keys_removed) => { remaining_key_budget.saturating_reduce(keys_removed); - break + break; }, KillStorageResult::AllRemoved(keys_removed) => { entry.remove(); @@ -461,7 +462,7 @@ impl DeletionQueueManager { /// the cost of an extra call to `sp_io::storage::next_key` to lookup the next entry in the map fn next(&mut self) -> Option> { if self.is_empty() { - return None + return None; } let entry = >::get(self.delete_counter); diff --git a/substrate/frame/contracts/src/storage/meter.rs b/substrate/frame/contracts/src/storage/meter.rs index f95207227a091..43d5ae0013859 100644 --- a/substrate/frame/contracts/src/storage/meter.rs +++ b/substrate/frame/contracts/src/storage/meter.rs @@ -171,7 +171,7 @@ impl Diff { } else { debug_assert_eq!(self.bytes_removed, 0); debug_assert_eq!(self.items_removed, 0); - return bytes_deposit.saturating_add(&items_deposit) + return bytes_deposit.saturating_add(&items_deposit); }; // Refunds are calculated pro rata based on the accumulated storage within the contract @@ -194,16 +194,20 @@ impl Diff { info.storage_items = info.storage_items.saturating_add(items_added).saturating_sub(items_removed); match &bytes_deposit { - Deposit::Charge(amount) => - info.storage_byte_deposit = info.storage_byte_deposit.saturating_add(*amount), - Deposit::Refund(amount) => - info.storage_byte_deposit = info.storage_byte_deposit.saturating_sub(*amount), + Deposit::Charge(amount) => { + info.storage_byte_deposit = info.storage_byte_deposit.saturating_add(*amount) + }, + Deposit::Refund(amount) => { + info.storage_byte_deposit = info.storage_byte_deposit.saturating_sub(*amount) + }, } match &items_deposit { - Deposit::Charge(amount) => - info.storage_item_deposit = info.storage_item_deposit.saturating_add(*amount), - Deposit::Refund(amount) => - info.storage_item_deposit = info.storage_item_deposit.saturating_sub(*amount), + Deposit::Charge(amount) => { + info.storage_item_deposit = info.storage_item_deposit.saturating_add(*amount) + }, + Deposit::Refund(amount) => { + info.storage_item_deposit = info.storage_item_deposit.saturating_sub(*amount) + }, } bytes_deposit.saturating_add(&items_deposit) @@ -265,8 +269,9 @@ impl Contribution { fn update_contract(&self, info: Option<&mut ContractInfo>) -> DepositOf { match self { Self::Alive(diff) => diff.update_contract::(info), - Self::Terminated { deposit, beneficiary: _ } | Self::Checked(deposit) => - deposit.clone(), + Self::Terminated { deposit, beneficiary: _ } | Self::Checked(deposit) => { + deposit.clone() + }, } } } @@ -346,8 +351,9 @@ where /// Returns the state of the currently executed contract. fn contract_state(&self) -> ContractState { match &self.own_contribution { - Contribution::Terminated { deposit: _, beneficiary } => - ContractState::Terminated { beneficiary: beneficiary.clone() }, + Contribution::Terminated { deposit: _, beneficiary } => { + ContractState::Terminated { beneficiary: beneficiary.clone() } + }, _ => ContractState::Alive, } } @@ -377,7 +383,7 @@ where let limit = E::check_limit(o, limit, min_leftover)?; Ok(Self { limit, ..Default::default() }) }, - } + }; } /// The total amount of deposit that should change hands as result of the execution @@ -490,7 +496,7 @@ where } if let Deposit::Charge(amount) = total_deposit { if amount > self.limit { - return Err(>::StorageDepositLimitExhausted.into()) + return Err(>::StorageDepositLimitExhausted.into()); } } Ok(()) diff --git a/substrate/frame/contracts/src/tests.rs b/substrate/frame/contracts/src/tests.rs index 426898096d488..b90a2950dac26 100644 --- a/substrate/frame/contracts/src/tests.rs +++ b/substrate/frame/contracts/src/tests.rs @@ -471,7 +471,7 @@ where fn try_origin(o: T::RuntimeOrigin) -> Result { let who = as EnsureOrigin<_>>::try_origin(o.clone())?; if matches!(A::get(), Some(a) if who != a) { - return Err(o) + return Err(o); } Ok(who) diff --git a/substrate/frame/contracts/src/transient_storage.rs b/substrate/frame/contracts/src/transient_storage.rs index c9b1dac1ad752..ae6ec4a6d050b 100644 --- a/substrate/frame/contracts/src/transient_storage.rs +++ b/substrate/frame/contracts/src/transient_storage.rs @@ -326,7 +326,7 @@ impl TransientStorage { /// The storage allocation meter used for transaction metering. #[cfg(any(test, feature = "runtime-benchmarks"))] pub fn meter(&mut self) -> &mut StorageMeter { - return &mut self.meter + return &mut self.meter; } fn storage_key(account: &[u8], key: &[u8]) -> Vec { diff --git a/substrate/frame/contracts/src/wasm/mod.rs b/substrate/frame/contracts/src/wasm/mod.rs index 7c39c3ae25827..34e607bbeab08 100644 --- a/substrate/frame/contracts/src/wasm/mod.rs +++ b/substrate/frame/contracts/src/wasm/mod.rs @@ -690,8 +690,9 @@ mod tests { let entry = self.storage.entry(key.clone()); let result = match (entry, take_old) { (Entry::Vacant(_), _) => WriteOutcome::New, - (Entry::Occupied(entry), false) => - WriteOutcome::Overwritten(entry.remove().len() as u32), + (Entry::Occupied(entry), false) => { + WriteOutcome::Overwritten(entry.remove().len() as u32) + }, (Entry::Occupied(entry), true) => WriteOutcome::Taken(entry.remove()), }; if let Some(value) = value { @@ -1305,7 +1306,7 @@ mod tests { ) .unwrap(); - //value does not exist (wrong key length) + // value does not exist (wrong key length) let input = (63, [1u8; 64]).encode(); let result = execute(CODE, input, &mut ext).unwrap(); // sentinel returned @@ -2961,7 +2962,7 @@ mod tests { // value cleared assert_eq!(ext.storage.get(&[1u8; 64].to_vec()), None); - //value did not exist (wrong key length) + // value did not exist (wrong key length) let input = (63, [1u8; 64]).encode(); let result = execute(CODE, input, &mut ext).unwrap(); // sentinel returned diff --git a/substrate/frame/contracts/src/wasm/prepare.rs b/substrate/frame/contracts/src/wasm/prepare.rs index 4708afcbbb368..6c7675b5e852d 100644 --- a/substrate/frame/contracts/src/wasm/prepare.rs +++ b/substrate/frame/contracts/src/wasm/prepare.rs @@ -133,10 +133,11 @@ impl LoadedModule { match export.name() { "call" => call_found = true, "deploy" => deploy_found = true, - _ => + _ => { return Err( "unknown function export: expecting only deploy and call functions", - ), + ) + }, } // Check the signature. // Both "call" and "deploy" have the () -> () function type. @@ -144,7 +145,7 @@ impl LoadedModule { if !(ft.params().is_empty() && (ft.results().is_empty() || ft.results() == [WasmiValueType::I32])) { - return Err("entry point has wrong signature") + return Err("entry point has wrong signature"); } }, ExternType::Memory(_) => return Err("memory export is forbidden"), @@ -154,10 +155,10 @@ impl LoadedModule { } if !deploy_found { - return Err("deploy function isn't exported") + return Err("deploy function isn't exported"); } if !call_found { - return Err("call function isn't exported") + return Err("call function isn't exported"); } Ok(()) @@ -198,18 +199,20 @@ impl LoadedModule { (import.name().as_bytes() == b"seal_call_chain_extension" || import.name().as_bytes() == b"call_chain_extension") { - return Err("Module uses chain extensions but chain extensions are disabled") + return Err( + "Module uses chain extensions but chain extensions are disabled", + ); } }, ExternType::Memory(mt) => { if import.module().as_bytes() != IMPORT_MODULE_MEMORY.as_bytes() { - return Err("Invalid module for imported memory") + return Err("Invalid module for imported memory"); } if import.name().as_bytes() != b"memory" { - return Err("Memory import must have the field name 'memory'") + return Err("Memory import must have the field name 'memory'"); } if memory_limits.is_some() { - return Err("Multiple memory imports defined") + return Err("Multiple memory imports defined"); } // Parse memory limits defaulting it to (0,0). // Any access to it will then lead to out of bounds trap. @@ -223,14 +226,14 @@ impl LoadedModule { if initial > maximum { return Err( "Requested initial number of memory pages should not exceed the requested maximum", - ) + ); } if maximum > schedule.limits.memory_pages { - return Err("Maximum number of memory pages should not exceed the maximum configured in the Schedule") + return Err("Maximum number of memory pages should not exceed the maximum configured in the Schedule"); } memory_limits = Some((initial, maximum)); - continue + continue; }, } } @@ -262,7 +265,7 @@ where // We check that the module is generally valid, // and does not have restricted WebAssembly features, here. let contract_module = match *determinism { - Determinism::Relaxed => + Determinism::Relaxed => { if let Ok(module) = LoadedModule::new::( code, Determinism::Enforced, @@ -280,7 +283,8 @@ where LoadingMode::Checked, CompilationMode::Eager, )? - }, + } + }, Determinism::Enforced => LoadedModule::new::( code, Determinism::Enforced, diff --git a/substrate/frame/contracts/src/wasm/runtime.rs b/substrate/frame/contracts/src/wasm/runtime.rs index a87ee2202660e..267fc185cc756 100644 --- a/substrate/frame/contracts/src/wasm/runtime.rs +++ b/substrate/frame/contracts/src/wasm/runtime.rs @@ -337,29 +337,36 @@ impl Token for RuntimeCosts { 0, )), DebugMessage(len) => T::WeightInfo::seal_debug_message(len), - SetStorage { new_bytes, old_bytes } => - cost_storage!(write, seal_set_storage, new_bytes, old_bytes), + SetStorage { new_bytes, old_bytes } => { + cost_storage!(write, seal_set_storage, new_bytes, old_bytes) + }, ClearStorage(len) => cost_storage!(write, seal_clear_storage, len), ContainsStorage(len) => cost_storage!(read, seal_contains_storage, len), GetStorage(len) => cost_storage!(read, seal_get_storage, len), TakeStorage(len) => cost_storage!(write, seal_take_storage, len), - SetTransientStorage { new_bytes, old_bytes } => - cost_storage!(write_transient, seal_set_transient_storage, new_bytes, old_bytes), - ClearTransientStorage(len) => - cost_storage!(write_transient, seal_clear_transient_storage, len), - ContainsTransientStorage(len) => - cost_storage!(read_transient, seal_contains_transient_storage, len), - GetTransientStorage(len) => - cost_storage!(read_transient, seal_get_transient_storage, len), - TakeTransientStorage(len) => - cost_storage!(write_transient, seal_take_transient_storage, len), + SetTransientStorage { new_bytes, old_bytes } => { + cost_storage!(write_transient, seal_set_transient_storage, new_bytes, old_bytes) + }, + ClearTransientStorage(len) => { + cost_storage!(write_transient, seal_clear_transient_storage, len) + }, + ContainsTransientStorage(len) => { + cost_storage!(read_transient, seal_contains_transient_storage, len) + }, + GetTransientStorage(len) => { + cost_storage!(read_transient, seal_get_transient_storage, len) + }, + TakeTransientStorage(len) => { + cost_storage!(write_transient, seal_take_transient_storage, len) + }, Transfer => T::WeightInfo::seal_transfer(), CallBase => T::WeightInfo::seal_call(0, 0), DelegateCallBase => T::WeightInfo::seal_delegate_call(), CallTransferSurcharge => cost_args!(seal_call, 1, 0), CallInputCloned(len) => cost_args!(seal_call, 0, len), - Instantiate { input_data_len, salt_len } => - T::WeightInfo::seal_instantiate(input_data_len, salt_len), + Instantiate { input_data_len, salt_len } => { + T::WeightInfo::seal_instantiate(input_data_len, salt_len) + }, HashSha256(len) => T::WeightInfo::seal_hash_sha2_256(len), HashKeccak256(len) => T::WeightInfo::seal_hash_keccak_256(len), HashBlake256(len) => T::WeightInfo::seal_hash_blake2_256(len), @@ -448,22 +455,22 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { let Err(error) = sandbox_result else { // Contract returned from main function -> no data was returned. - return Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() }) + return Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() }); }; if let ErrorKind::Fuel(FuelError::OutOfFuel) = error.kind() { // `OutOfGas` when host asks engine to consume more than left in the _store_. // We should never get this case, as gas meter is being charged (and hence raises error) // first. - return Err(Error::::OutOfGas.into()) + return Err(Error::::OutOfGas.into()); } match error.as_trap_code() { Some(TrapCode::OutOfFuel) => { // `OutOfGas` during engine execution. - return Err(Error::::OutOfGas.into()) + return Err(Error::::OutOfGas.into()); }, Some(_trap_code) => { // Otherwise the trap came from the contract itself. - return Err(Error::::ContractTrapped.into()) + return Err(Error::::ContractTrapped.into()); }, None => {}, } @@ -473,10 +480,11 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { Return(ReturnData { flags, data }) => { let flags = ReturnFlags::from_bits(*flags).ok_or(Error::::InvalidCallFlags)?; - return Ok(ExecReturnValue { flags, data: data.to_vec() }) + return Ok(ExecReturnValue { flags, data: data.to_vec() }); + }, + Termination => { + return Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() }) }, - Termination => - return Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() }), SupervisorError(error) => return Err((*error).into()), } } @@ -648,14 +656,14 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { create_token: impl FnOnce(u32) -> Option, ) -> Result<(), DispatchError> { if allow_skip && out_ptr == SENTINEL { - return Ok(()) + return Ok(()); } let buf_len = buf.len() as u32; let len: u32 = self.read_sandbox_memory_as(memory, out_len_ptr)?; if len < buf_len { - return Err(Error::::OutputBufferTooSmall.into()) + return Err(Error::::OutputBufferTooSmall.into()); } if let Some(costs) = create_token(buf_len) { @@ -783,7 +791,7 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { let charged = self .charge_gas(RuntimeCosts::SetStorage { new_bytes: value_len, old_bytes: max_size })?; if value_len > max_size { - return Err(Error::::ValueTooLarge.into()) + return Err(Error::::ValueTooLarge.into()); } let key = self.decode_key(memory, key_type, key_ptr)?; let value = Some(self.read_sandbox_memory(memory, value_ptr, value_len)?); @@ -867,7 +875,7 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { old_bytes: max_size, })?; if value_len > max_size { - return Err(Error::::ValueTooLarge.into()) + return Err(Error::::ValueTooLarge.into()); } let key = self.decode_key(memory, key_type, key_ptr)?; let value = Some(self.read_sandbox_memory(memory, value_ptr, value_len)?); @@ -1027,7 +1035,7 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { }, CallType::DelegateCall { code_hash_ptr } => { if flags.intersects(CallFlags::ALLOW_REENTRY | CallFlags::READ_ONLY) { - return Err(Error::::InvalidCallFlags.into()) + return Err(Error::::InvalidCallFlags.into()); } let code_hash = self.read_sandbox_memory_as(memory, code_hash_ptr)?; self.ext.delegate_call(code_hash, input_data) @@ -1041,7 +1049,7 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { return Err(TrapReason::Return(ReturnData { flags: return_value.flags.bits(), data: return_value.data, - })) + })); } } @@ -1901,7 +1909,7 @@ pub mod env { ) -> Result<(), TrapReason> { ctx.charge_gas(RuntimeCosts::Random)?; if subject_len > ctx.ext.schedule().limits.subject_len { - return Err(Error::::RandomSubjectTooLong.into()) + return Err(Error::::RandomSubjectTooLong.into()); } let subject_buf = ctx.read_sandbox_memory(memory, subject_ptr, subject_len)?; Ok(ctx.write_sandbox_output( @@ -1948,7 +1956,7 @@ pub mod env { ) -> Result<(), TrapReason> { ctx.charge_gas(RuntimeCosts::Random)?; if subject_len > ctx.ext.schedule().limits.subject_len { - return Err(Error::::RandomSubjectTooLong.into()) + return Err(Error::::RandomSubjectTooLong.into()); } let subject_buf = ctx.read_sandbox_memory(memory, subject_ptr, subject_len)?; Ok(ctx.write_sandbox_output( @@ -2142,7 +2150,7 @@ pub mod env { .ok_or("Zero sized topics are not allowed")?; ctx.charge_gas(RuntimeCosts::DepositEvent { num_topic, len: data_len })?; if data_len > ctx.ext.max_value_size() { - return Err(Error::::ValueTooLarge.into()) + return Err(Error::::ValueTooLarge.into()); } let topics: Vec::T>> = match topics_len { @@ -2152,7 +2160,7 @@ pub mod env { // If there are more than `event_topics`, then trap. if topics.len() > ctx.ext.schedule().limits.event_topics as usize { - return Err(Error::::TooManyTopics.into()) + return Err(Error::::TooManyTopics.into()); } let event_data = ctx.read_sandbox_memory(memory, data_ptr, data_len)?; @@ -2255,7 +2263,7 @@ pub mod env { ) -> Result { use crate::chain_extension::{ChainExtension, Environment, RetVal}; if !::ChainExtension::enabled() { - return Err(Error::::NoChainExtension.into()) + return Err(Error::::NoChainExtension.into()); } let mut chain_extension = ctx.chain_extension.take().expect( "Constructor initializes with `Some`. This is the only place where it is set to `None`.\ @@ -2265,8 +2273,9 @@ pub mod env { Environment::new(ctx, memory, id, input_ptr, input_len, output_ptr, output_len_ptr); let ret = match chain_extension.call(env)? { RetVal::Converging(val) => Ok(val), - RetVal::Diverging { flags, data } => - Err(TrapReason::Return(ReturnData { flags: flags.bits(), data })), + RetVal::Diverging { flags, data } => { + Err(TrapReason::Return(ReturnData { flags: flags.bits(), data })) + }, }; ctx.chain_extension = Some(chain_extension); ret diff --git a/substrate/frame/conviction-voting/src/lib.rs b/substrate/frame/conviction-voting/src/lib.rs index 9e0300fc2515a..7216b5352028b 100644 --- a/substrate/frame/conviction-voting/src/lib.rs +++ b/substrate/frame/conviction-voting/src/lib.rs @@ -645,8 +645,9 @@ impl, I: 'static> Pallet { }), ); match old { - Voting::Delegating(Delegating { .. }) => - return Err(Error::::AlreadyDelegating.into()), + Voting::Delegating(Delegating { .. }) => { + return Err(Error::::AlreadyDelegating.into()) + }, Voting::Casting(Casting { votes, delegations, prior }) => { // here we just ensure that we're currently idling with no votes recorded. ensure!(votes.is_empty(), Error::::AlreadyVoting); diff --git a/substrate/frame/conviction-voting/src/tests.rs b/substrate/frame/conviction-voting/src/tests.rs index 96e15730fff4a..7e78b5f77187c 100644 --- a/substrate/frame/conviction-voting/src/tests.rs +++ b/substrate/frame/conviction-voting/src/tests.rs @@ -99,8 +99,9 @@ impl Polling> for TestPolls { let mut polls = Polls::get(); let entry = polls.get_mut(&index); let r = match entry { - Some(Ongoing(ref mut tally_mut_ref, class)) => - f(PollStatus::Ongoing(tally_mut_ref, *class)), + Some(Ongoing(ref mut tally_mut_ref, class)) => { + f(PollStatus::Ongoing(tally_mut_ref, *class)) + }, Some(Completed(when, succeeded)) => f(PollStatus::Completed(*when, *succeeded)), None => f(PollStatus::None), }; @@ -114,8 +115,9 @@ impl Polling> for TestPolls { let mut polls = Polls::get(); let entry = polls.get_mut(&index); let r = match entry { - Some(Ongoing(ref mut tally_mut_ref, class)) => - f(PollStatus::Ongoing(tally_mut_ref, *class)), + Some(Ongoing(ref mut tally_mut_ref, class)) => { + f(PollStatus::Ongoing(tally_mut_ref, *class)) + }, Some(Completed(when, succeeded)) => f(PollStatus::Completed(*when, *succeeded)), None => f(PollStatus::None), }?; diff --git a/substrate/frame/conviction-voting/src/vote.rs b/substrate/frame/conviction-voting/src/vote.rs index 419231f0b3ace..50483e496b1f6 100644 --- a/substrate/frame/conviction-voting/src/vote.rs +++ b/substrate/frame/conviction-voting/src/vote.rs @@ -108,17 +108,21 @@ impl AccountVote { // winning side: can only be removed after the lock period ends. match (self, approved) { // If the vote has no conviction, always return None - (AccountVote::Standard { vote: Vote { conviction: Conviction::None, .. }, .. }, _) => - None, + (AccountVote::Standard { vote: Vote { conviction: Conviction::None, .. }, .. }, _) => { + None + }, // For Standard votes, check the approval condition (AccountVote::Standard { vote, balance }, LockedIf::Status(is_approved)) if vote.aye == is_approved => - Some((vote.conviction.lock_periods(), balance)), + { + Some((vote.conviction.lock_periods(), balance)) + }, // If LockedIf::Always, return the lock period regardless of the vote - (AccountVote::Standard { vote, balance }, LockedIf::Always) => - Some((vote.conviction.lock_periods(), balance)), + (AccountVote::Standard { vote, balance }, LockedIf::Always) => { + Some((vote.conviction.lock_periods(), balance)) + }, // All other cases return None _ => None, @@ -130,8 +134,9 @@ impl AccountVote { match self { AccountVote::Standard { balance, .. } => balance, AccountVote::Split { aye, nay } => aye.saturating_add(nay), - AccountVote::SplitAbstain { aye, nay, abstain } => - aye.saturating_add(nay).saturating_add(abstain), + AccountVote::SplitAbstain { aye, nay, abstain } => { + aye.saturating_add(nay).saturating_add(abstain) + }, } } @@ -281,8 +286,9 @@ where /// The amount of this account's balance that must currently be locked due to voting. pub fn locked_balance(&self) -> Balance { match self { - Voting::Casting(Casting { votes, prior, .. }) => - votes.iter().map(|i| i.1.balance()).fold(prior.locked(), |a, i| a.max(i)), + Voting::Casting(Casting { votes, prior, .. }) => { + votes.iter().map(|i| i.1.balance()).fold(prior.locked(), |a, i| a.max(i)) + }, Voting::Delegating(Delegating { balance, prior, .. }) => *balance.max(&prior.locked()), } } @@ -293,10 +299,12 @@ where prior: PriorLock, ) { let (d, p) = match self { - Voting::Casting(Casting { ref mut delegations, ref mut prior, .. }) => - (delegations, prior), - Voting::Delegating(Delegating { ref mut delegations, ref mut prior, .. }) => - (delegations, prior), + Voting::Casting(Casting { ref mut delegations, ref mut prior, .. }) => { + (delegations, prior) + }, + Voting::Delegating(Delegating { ref mut delegations, ref mut prior, .. }) => { + (delegations, prior) + }, }; *d = delegations; *p = prior; diff --git a/substrate/frame/core-fellowship/src/lib.rs b/substrate/frame/core-fellowship/src/lib.rs index 8db762ec2194e..e35a97e0eb7bc 100644 --- a/substrate/frame/core-fellowship/src/lib.rs +++ b/substrate/frame/core-fellowship/src/lib.rs @@ -364,7 +364,7 @@ pub mod pallet { }; if demotion_period.is_zero() { - return Err(Error::::NothingDoing.into()) + return Err(Error::::NothingDoing.into()); } let demotion_block = member.last_proof.saturating_add(demotion_period); @@ -384,7 +384,7 @@ pub mod pallet { Event::::Offboarded { who } }; Self::deposit_event(event); - return Ok(Pays::No.into()) + return Ok(Pays::No.into()); } Err(Error::::NothingDoing.into()) @@ -797,15 +797,15 @@ impl, I: 'static> RankedMembersSwapHandler for P fn swapped(old: &T::AccountId, new: &T::AccountId, _rank: u16) { if old == new { defensive!("Should not try to swap with self"); - return + return; } if !Member::::contains_key(old) { defensive!("Should not try to swap non-member"); - return + return; } if Member::::contains_key(new) { defensive!("Should not try to overwrite existing member"); - return + return; } if let Some(member) = Member::::take(old) { diff --git a/substrate/frame/dap/Cargo.toml b/substrate/frame/dap/Cargo.toml new file mode 100644 index 0000000000000..c7493f08f504d --- /dev/null +++ b/substrate/frame/dap/Cargo.toml @@ -0,0 +1,57 @@ +[package] +name = "pallet-dap" +version = "0.1.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +homepage.workspace = true +repository.workspace = true +description = "FRAME pallet for Dynamic Allocation Pool (DAP)" + +[lints] +workspace = true + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +codec = { features = ["derive", "max-encoded-len"], workspace = true } +frame-benchmarking = { optional = true, workspace = true } +frame-support = { workspace = true } +frame-system = { workspace = true } +log = { workspace = true } +scale-info = { features = ["derive"], workspace = true } +sp-runtime = { workspace = true } + +[dev-dependencies] +pallet-balances = { workspace = true, default-features = true } +sp-core = { workspace = true, default-features = true } +sp-io = { workspace = true, default-features = true } + +[features] +default = ["std"] +std = [ + "codec/std", + "frame-benchmarking?/std", + "frame-support/std", + "frame-system/std", + "log/std", + "pallet-balances/std", + "scale-info/std", + "sp-core/std", + "sp-io/std", + "sp-runtime/std", +] +runtime-benchmarks = [ + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", +] +try-runtime = [ + "frame-support/try-runtime", + "frame-system/try-runtime", + "pallet-balances/try-runtime", + "sp-runtime/try-runtime", +] diff --git a/substrate/frame/dap/src/lib.rs b/substrate/frame/dap/src/lib.rs new file mode 100644 index 0000000000000..53883d3c9651a --- /dev/null +++ b/substrate/frame/dap/src/lib.rs @@ -0,0 +1,128 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! # Dynamic Allocation Pool (DAP) Pallet +//! +//! This pallet implements `OnUnbalanced` to collect funds (e.g., slashes) into a buffer account +//! instead of burning them. The buffer account must be pre-funded with at least ED (existential +//! deposit), e.g., via balances genesis config or a transfer. If the buffer account is not +//! pre-funded, deposits below ED will be silently burned. +//! +//! Incoming funds are deactivated to exclude them from governance voting. +//! When DAP distributes funds (e.g., to validators, nominators, treasury, collators), those funds +//! must be reactivated before transfer. +//! +//! Future phases will add: +//! - `FundingSource` (request_funds) for pulling funds +//! - Issuance curve and minting logic +//! - Distribution rules and scheduling + +#![cfg_attr(not(feature = "std"), no_std)] + +#[cfg(test)] +pub(crate) mod mock; +#[cfg(test)] +mod tests; + +extern crate alloc; + +use frame_support::{ + defensive, + pallet_prelude::*, + traits::{ + fungible::{Balanced, Credit, Inspect, Mutate, Unbalanced}, + Imbalance, OnUnbalanced, + }, + PalletId, +}; + +pub use pallet::*; + +const LOG_TARGET: &str = "runtime::dap"; + +/// Type alias for balance. +pub type BalanceOf = + <::Currency as Inspect<::AccountId>>::Balance; + +#[frame_support::pallet] +pub mod pallet { + use super::*; + use frame_support::{sp_runtime::traits::AccountIdConversion, traits::StorageVersion}; + + /// The in-code storage version. + const STORAGE_VERSION: StorageVersion = StorageVersion::new(1); + + #[pallet::pallet] + #[pallet::storage_version(STORAGE_VERSION)] + pub struct Pallet(_); + + #[pallet::config] + pub trait Config: frame_system::Config { + /// The currency type (new fungible traits). + type Currency: Inspect + + Mutate + + Balanced; + + /// The pallet ID used to derive the buffer account. + /// + /// Each runtime should configure a unique ID to avoid collisions if multiple + /// DAP instances are used. + #[pallet::constant] + type PalletId: Get; + } + + impl Pallet { + /// Get the DAP buffer account + /// NOTE: We may need more accounts in the future, for instance, to manage the strategic + /// reserve. We will add them as necessary, generating them with additional seed. + pub fn buffer_account() -> T::AccountId { + T::PalletId::get().into_account_truncating() + } + } +} + +/// Type alias for credit (negative imbalance - funds that were slashed/removed). +/// This is for the `fungible::Balanced` trait as used by staking-async. +pub type CreditOf = Credit<::AccountId, ::Currency>; + +/// Implementation of OnUnbalanced for the fungible::Balanced trait. +/// Example: use as `type Slash = Dap` in staking-async config. +impl OnUnbalanced> for Pallet { + fn on_nonzero_unbalanced(amount: CreditOf) { + let buffer = Self::buffer_account(); + let numeric_amount = amount.peek(); + + // Resolve should never fail because: + // - can_deposit on destination succeeds since buffer exists (created with provider at + // genesis/runtime upgrade so no ED issue) + // - amount is guaranteed non-zero by the trait method signature + // The only failure would be overflow on destination. + let _ = T::Currency::resolve(&buffer, amount) + .inspect_err(|_| { + defensive!("🚨 Failed to deposit slash to DAP buffer - funds burned, it should never happen!"); + }) + .inspect(|_| { + // Mark funds as inactive so they don't participate in governance voting. + // Only deactivate on success; if resolve failed, tokens were burned. + >::deactivate(numeric_amount); + log::debug!( + target: LOG_TARGET, + "πŸ’Έ Deposited slash of {numeric_amount:?} to DAP buffer" + ); + }); + } +} diff --git a/substrate/frame/dap/src/mock.rs b/substrate/frame/dap/src/mock.rs new file mode 100644 index 0000000000000..d8ff8e0d27571 --- /dev/null +++ b/substrate/frame/dap/src/mock.rs @@ -0,0 +1,71 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Test mock for the DAP pallet. + +use crate::{self as pallet_dap, Config}; +use frame_support::{ + derive_impl, parameter_types, sp_runtime::traits::AccountIdConversion, PalletId, +}; +use sp_runtime::BuildStorage; + +type Block = frame_system::mocking::MockBlock; + +frame_support::construct_runtime!( + pub enum Test { + System: frame_system, + Balances: pallet_balances, + Dap: pallet_dap, + } +); + +#[derive_impl(frame_system::config_preludes::TestDefaultConfig)] +impl frame_system::Config for Test { + type Block = Block; + type AccountData = pallet_balances::AccountData; +} + +#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)] +impl pallet_balances::Config for Test { + type AccountStore = System; + type ExistentialDeposit = ExistentialDeposit; +} + +parameter_types! { + pub const DapPalletId: PalletId = PalletId(*b"dap/buff"); + pub const ExistentialDeposit: u64 = 10; +} + +impl Config for Test { + type Currency = Balances; + type PalletId = DapPalletId; +} + +pub fn new_test_ext(fund_buffer: bool) -> sp_io::TestExternalities { + let mut balances = vec![(1, 100), (2, 200), (3, 300)]; + + if fund_buffer { + let buffer: u64 = DapPalletId::get().into_account_truncating(); + balances.push((buffer, ExistentialDeposit::get())); + } + + let mut t = frame_system::GenesisConfig::::default().build_storage().unwrap(); + pallet_balances::GenesisConfig:: { balances, ..Default::default() } + .assimilate_storage(&mut t) + .unwrap(); + t.into() +} diff --git a/cumulus/parachains/runtimes/testing/rococo-parachain/build.rs b/substrate/frame/dap/src/tests/genesis.rs similarity index 62% rename from cumulus/parachains/runtimes/testing/rococo-parachain/build.rs rename to substrate/frame/dap/src/tests/genesis.rs index 239ccac19ec77..29dfbfdc0b9fc 100644 --- a/cumulus/parachains/runtimes/testing/rococo-parachain/build.rs +++ b/substrate/frame/dap/src/tests/genesis.rs @@ -1,3 +1,5 @@ +// This file is part of Substrate. + // Copyright (C) Parity Technologies (UK) Ltd. // SPDX-License-Identifier: Apache-2.0 @@ -13,10 +15,17 @@ // See the License for the specific language governing permissions and // limitations under the License. -#[cfg(feature = "std")] -fn main() { - substrate_wasm_builder::WasmBuilder::build_using_defaults(); -} +//! Genesis tests for the DAP pallet. + +use crate::mock::*; -#[cfg(not(feature = "std"))] -fn main() {} +type DapPallet = crate::Pallet; + +#[test] +fn genesis_creates_buffer_account() { + new_test_ext(true).execute_with(|| { + let buffer = DapPallet::buffer_account(); + // Buffer account should exist after genesis (created via inc_providers) + assert!(System::account_exists(&buffer)); + }); +} diff --git a/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/src/tests/mod.rs b/substrate/frame/dap/src/tests/mod.rs similarity index 86% rename from cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/src/tests/mod.rs rename to substrate/frame/dap/src/tests/mod.rs index 08749b295dc21..620775068be6e 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/people/people-rococo/src/tests/mod.rs +++ b/substrate/frame/dap/src/tests/mod.rs @@ -1,3 +1,5 @@ +// This file is part of Substrate. + // Copyright (C) Parity Technologies (UK) Ltd. // SPDX-License-Identifier: Apache-2.0 @@ -13,5 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -mod claim_assets; -mod teleport; +//! Tests for the DAP pallet. + +mod genesis; +mod on_unbalanced; diff --git a/substrate/frame/dap/src/tests/on_unbalanced.rs b/substrate/frame/dap/src/tests/on_unbalanced.rs new file mode 100644 index 0000000000000..87242070093ca --- /dev/null +++ b/substrate/frame/dap/src/tests/on_unbalanced.rs @@ -0,0 +1,131 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! OnUnbalanced tests for the DAP pallet. + +use crate::mock::{new_test_ext, Balances, Test}; +use frame_support::traits::{ + fungible::{Balanced, Inspect}, + tokens::{Fortitude, Precision, Preservation}, + OnUnbalanced, +}; + +type DapPallet = crate::Pallet; + +#[test] +#[should_panic(expected = "Failed to deposit slash to DAP buffer")] +fn on_unbalanced_panics_when_buffer_not_funded_and_deposit_below_ed() { + new_test_ext(false).execute_with(|| { + let buffer = DapPallet::buffer_account(); + let ed = >::minimum_balance(); + + // Given: buffer is not funded + assert_eq!(Balances::free_balance(buffer), 0); + + // When: deposit < ED -> triggers defensive panic + let credit = >::withdraw( + &1, + ed - 1, + Precision::Exact, + Preservation::Preserve, + Fortitude::Force, + ) + .unwrap(); + DapPallet::on_unbalanced(credit); + }); +} + +#[test] +fn on_unbalanced_creates_buffer_when_not_funded_and_deposit_at_least_ed() { + new_test_ext(false).execute_with(|| { + let buffer = DapPallet::buffer_account(); + let ed = >::minimum_balance(); + + // Given: buffer is not funded + assert_eq!(Balances::free_balance(buffer), 0); + + // When: deposit >= ED + let credit = >::withdraw( + &1, + ed, + Precision::Exact, + Preservation::Preserve, + Fortitude::Force, + ) + .unwrap(); + DapPallet::on_unbalanced(credit); + + // Then: buffer is created and funded + assert_eq!(Balances::free_balance(buffer), ed); + }); +} + +#[test] +fn slash_to_dap_accumulates_multiple_slashes_to_buffer() { + new_test_ext(true).execute_with(|| { + let buffer = DapPallet::buffer_account(); + let ed = >::minimum_balance(); + + // Given: buffer has ED (funded at genesis) + assert_eq!(Balances::free_balance(buffer), ed); + let initial_active = >::active_issuance(); + + // When: multiple slashes occur via OnUnbalanced (simulating a staking slash) + let credit1 = >::withdraw( + &1, + 30, + Precision::Exact, + Preservation::Preserve, + Fortitude::Force, + ) + .unwrap(); + DapPallet::on_unbalanced(credit1); + + let credit2 = >::withdraw( + &2, + 20, + Precision::Exact, + Preservation::Preserve, + Fortitude::Force, + ) + .unwrap(); + DapPallet::on_unbalanced(credit2); + + let credit3 = >::withdraw( + &3, + 50, + Precision::Exact, + Preservation::Preserve, + Fortitude::Force, + ) + .unwrap(); + DapPallet::on_unbalanced(credit3); + + // Then: buffer has ED + all slashes (1 + 30 + 20 + 50 = 101) + assert_eq!(Balances::free_balance(buffer), ed + 100); + + // And: active issuance decreased by 100 (funds deactivated in DAP buffer) + assert_eq!(>::active_issuance(), initial_active - 100); + + // When: slash with zero amount (no-op) + let credit = >::issue(0); + DapPallet::on_unbalanced(credit); + + // Then: buffer unchanged (still ED + 100) + assert_eq!(Balances::free_balance(buffer), ed + 100); + }); +} diff --git a/substrate/frame/delegated-staking/src/types.rs b/substrate/frame/delegated-staking/src/types.rs index fad44d40f209a..6f970cd4aa067 100644 --- a/substrate/frame/delegated-staking/src/types.rs +++ b/substrate/frame/delegated-staking/src/types.rs @@ -74,7 +74,7 @@ impl Delegation { >::remove(key); // Remove provider if no delegation left. let _ = frame_system::Pallet::::dec_providers(key).defensive(); - return + return; } } else { // this is a new delegation. Provide for this account. diff --git a/substrate/frame/democracy/src/benchmarking.rs b/substrate/frame/democracy/src/benchmarking.rs index f9c810e561925..95bdb9e2b195b 100644 --- a/substrate/frame/democracy/src/benchmarking.rs +++ b/substrate/frame/democracy/src/benchmarking.rs @@ -551,8 +551,9 @@ mod benchmarks { for i in 0..r { if let Some(value) = ReferendumInfoOf::::get(i) { match value { - ReferendumInfo::Finished { .. } => - return Err("Referendum has been finished".into()), + ReferendumInfo::Finished { .. } => { + return Err("Referendum has been finished".into()) + }, ReferendumInfo::Ongoing(_) => (), } } @@ -589,8 +590,9 @@ mod benchmarks { for i in 0..r { if let Some(value) = ReferendumInfoOf::::get(i) { match value { - ReferendumInfo::Finished { .. } => - return Err("Referendum has been finished".into()), + ReferendumInfo::Finished { .. } => { + return Err("Referendum has been finished".into()) + }, ReferendumInfo::Ongoing(_) => (), } } diff --git a/substrate/frame/democracy/src/lib.rs b/substrate/frame/democracy/src/lib.rs index 31b628774d334..f3b3f888792be 100644 --- a/substrate/frame/democracy/src/lib.rs +++ b/substrate/frame/democracy/src/lib.rs @@ -830,7 +830,7 @@ pub mod pallet { if let Some((ext_proposal, _)) = NextExternal::::get() { ensure!(proposal_hash == ext_proposal.hash(), Error::::ProposalMissing); } else { - return Err(Error::::NoProposal.into()) + return Err(Error::::NoProposal.into()); } let mut existing_vetoers = @@ -1557,7 +1557,7 @@ impl Pallet { Self::transfer_metadata(MetadataOwner::External, MetadataOwner::Referendum(ref_index)); Ok(()) } else { - return Err(Error::::NoneWaiting.into()) + return Err(Error::::NoneWaiting.into()); } } @@ -1590,7 +1590,7 @@ impl Pallet { } Ok(()) } else { - return Err(Error::::NoneWaiting.into()) + return Err(Error::::NoneWaiting.into()); } } diff --git a/substrate/frame/democracy/src/migrations/unlock_and_unreserve_all_funds.rs b/substrate/frame/democracy/src/migrations/unlock_and_unreserve_all_funds.rs index ca0e0f7a091aa..2a91d002d6695 100644 --- a/substrate/frame/democracy/src/migrations/unlock_and_unreserve_all_funds.rs +++ b/substrate/frame/democracy/src/migrations/unlock_and_unreserve_all_funds.rs @@ -232,7 +232,7 @@ where for (account, unreserve_amount) in account_deposits.iter() { if unreserve_amount.is_zero() { log::warn!(target: LOG_TARGET, "Unexpected zero amount to unreserve!"); - continue + continue; } T::Currency::unreserve(&account, *unreserve_amount); } diff --git a/substrate/frame/democracy/src/migrations/v1.rs b/substrate/frame/democracy/src/migrations/v1.rs index 47f8df017f1e1..4632b0f7c0ce3 100644 --- a/substrate/frame/democracy/src/migrations/v1.rs +++ b/substrate/frame/democracy/src/migrations/v1.rs @@ -80,7 +80,7 @@ pub mod v1 { "skipping on_runtime_upgrade: executed on wrong storage version.\ Expected version 0" ); - return weight + return weight; } ReferendumInfoOf::::translate( @@ -88,16 +88,18 @@ pub mod v1 { weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); log::info!(target: TARGET, "migrating referendum #{:?}", &index); Some(match old { - ReferendumInfo::Ongoing(status) => + ReferendumInfo::Ongoing(status) => { ReferendumInfo::Ongoing(ReferendumStatus { end: status.end, proposal: Bounded::from_legacy_hash(status.proposal), threshold: status.threshold, delay: status.delay, tally: status.tally, - }), - ReferendumInfo::Finished { approved, end } => - ReferendumInfo::Finished { approved, end }, + }) + }, + ReferendumInfo::Finished { approved, end } => { + ReferendumInfo::Finished { approved, end } + }, }) }, ); diff --git a/substrate/frame/democracy/src/vote.rs b/substrate/frame/democracy/src/vote.rs index 379363ff514f7..9d2c804c00444 100644 --- a/substrate/frame/democracy/src/vote.rs +++ b/substrate/frame/democracy/src/vote.rs @@ -98,8 +98,9 @@ impl AccountVote { pub fn locked_if(self, approved: bool) -> Option<(u32, Balance)> { // winning side: can only be removed after the lock period ends. match self { - AccountVote::Standard { vote, balance } if vote.aye == approved => - Some((vote.conviction.lock_periods(), balance)), + AccountVote::Standard { vote, balance } if vote.aye == approved => { + Some((vote.conviction.lock_periods(), balance)) + }, _ => None, } } @@ -215,8 +216,9 @@ impl< /// The amount of this account's balance that must currently be locked due to voting. pub fn locked_balance(&self) -> Balance { match self { - Voting::Direct { votes, prior, .. } => - votes.iter().map(|i| i.1.balance()).fold(prior.locked(), |a, i| a.max(i)), + Voting::Direct { votes, prior, .. } => { + votes.iter().map(|i| i.1.balance()).fold(prior.locked(), |a, i| a.max(i)) + }, Voting::Delegating { balance, prior, .. } => *balance.max(&prior.locked()), } } diff --git a/substrate/frame/democracy/src/vote_threshold.rs b/substrate/frame/democracy/src/vote_threshold.rs index 8611c2a08efcb..0a01f59cefe0c 100644 --- a/substrate/frame/democracy/src/vote_threshold.rs +++ b/substrate/frame/democracy/src/vote_threshold.rs @@ -69,18 +69,18 @@ fn compare_rationals< let q1 = n1 / d1; let q2 = n2 / d2; if q1 < q2 { - return true + return true; } if q2 < q1 { - return false + return false; } let r1 = n1 % d1; let r2 = n2 % d2; if r2.is_zero() { - return false + return false; } if r1.is_zero() { - return true + return true; } n1 = d2; n2 = d1; @@ -104,13 +104,15 @@ impl< let sqrt_voters = tally.turnout.integer_sqrt(); let sqrt_electorate = electorate.integer_sqrt(); if sqrt_voters.is_zero() { - return false + return false; } match *self { - VoteThreshold::SuperMajorityApprove => - compare_rationals(tally.nays, sqrt_voters, tally.ayes, sqrt_electorate), - VoteThreshold::SuperMajorityAgainst => - compare_rationals(tally.nays, sqrt_electorate, tally.ayes, sqrt_voters), + VoteThreshold::SuperMajorityApprove => { + compare_rationals(tally.nays, sqrt_voters, tally.ayes, sqrt_electorate) + }, + VoteThreshold::SuperMajorityAgainst => { + compare_rationals(tally.nays, sqrt_electorate, tally.ayes, sqrt_voters) + }, VoteThreshold::SimpleMajority => tally.ayes > tally.nays, } } diff --git a/substrate/frame/derivatives/Cargo.toml b/substrate/frame/derivatives/Cargo.toml index 3ab68b3a4d3a6..8e56ba3a55a3c 100644 --- a/substrate/frame/derivatives/Cargo.toml +++ b/substrate/frame/derivatives/Cargo.toml @@ -33,6 +33,7 @@ xcm-executor = { workspace = true } [dev-dependencies] pallet-balances = { workspace = true, default-features = true } +sp-tracing = { workspace = true, default-features = true } [features] default = ["std"] @@ -47,6 +48,7 @@ std = [ "sp-io/std", "sp-runtime/std", "sp-std/std", + "sp-tracing/std", "xcm-builder/std", "xcm-executor/std", "xcm/std", diff --git a/substrate/frame/derivatives/src/misc.rs b/substrate/frame/derivatives/src/misc.rs index dc9caf0ef7c67..8cdfe5d235b36 100644 --- a/substrate/frame/derivatives/src/misc.rs +++ b/substrate/frame/derivatives/src/misc.rs @@ -23,9 +23,10 @@ use frame_support::{ traits::{ tokens::asset_ops::{ common_strategies::{ - AutoId, ConfigValue, ConfigValueMarker, DeriveAndReportId, Owner, WithConfig, + AutoId, CanCreate, ConfigValue, ConfigValueMarker, DeriveAndReportId, Owner, + WithConfig, }, - Create, + AssetDefinition, Create, Inspect, }, Incrementable, }, @@ -120,6 +121,17 @@ where Ok(derivative) } } +impl AssetDefinition for RegisterDerivative { + type Id = CreateOp::Id; +} +impl Inspect> for RegisterDerivative +where + CreateOp: Inspect>, +{ + fn inspect(id: &Self::Id, can_create: CanCreate) -> Result { + CreateOp::inspect(id, can_create) + } +} /// Iterator utilities for a derivatives registry. pub trait IterDerivativesRegistry { @@ -147,6 +159,18 @@ pub trait DerivativesExtra { pub struct ConcatIncrementalExtra( PhantomData<(Derivative, Extra, Registry, CreateOp)>, ); +impl + ConcatIncrementalExtra +where + Extra: Incrementable, + Registry: DerivativesExtra, +{ + fn get_derivative_extra(derivative: &Derivative) -> Result { + Registry::get_derivative_extra(derivative) + .or(Extra::initial_value()) + .ok_or(DispatchError::Other("ConcatIncrementalExtra: no derivative extra is found")) + } +} impl Create> for ConcatIncrementalExtra @@ -189,9 +213,7 @@ where let WithConfig { config, extra: id_assignment } = strategy; let derivative = id_assignment.params; - let id = Registry::get_derivative_extra(&derivative) - .or(Extra::initial_value()) - .ok_or(DispatchError::Other("ConcatIncrementalExtra: no derivative extra is found"))?; + let id = Self::get_derivative_extra(&derivative)?; let next_id = id .increment() .ok_or(DispatchError::Other("ConcatIncrementalExtra: failed to increment the id"))?; @@ -201,6 +223,25 @@ where CreateOp::create(WithConfig::new(config, DeriveAndReportId::from((derivative, id)))) } } +impl AssetDefinition + for ConcatIncrementalExtra +{ + type Id = Derivative; +} +impl Inspect + for ConcatIncrementalExtra +where + Derivative: Clone, + Extra: Incrementable, + Registry: DerivativesExtra, + CreateOp: AssetDefinition + Inspect, +{ + fn inspect(id: &Self::Id, can_create: CanCreate) -> Result { + let extra = Self::get_derivative_extra(id)?; + + CreateOp::inspect(&(id.clone(), extra), can_create) + } +} /// The `MatchDerivativeInstances` is an XCM Matcher /// that uses a [`DerivativesRegistry`] to match the XCM identification of the original instance @@ -211,9 +252,10 @@ impl, DerivativeId { fn matches_instance(asset: &Asset) -> Result { match asset.fun { - Fungibility::NonFungible(asset_instance) => + Fungibility::NonFungible(asset_instance) => { Registry::get_derivative(&(asset.id.clone(), asset_instance)) - .map_err(|_| Error::AssetNotHandled), + .map_err(|_| Error::AssetNotHandled) + }, Fungibility::Fungible(_) => Err(Error::AssetNotHandled), } } diff --git a/substrate/frame/derivatives/src/mock/auto_id_nfts.rs b/substrate/frame/derivatives/src/mock/auto_id_nfts.rs index 1a075bced1ab1..0517c5ce0be5f 100644 --- a/substrate/frame/derivatives/src/mock/auto_id_nfts.rs +++ b/substrate/frame/derivatives/src/mock/auto_id_nfts.rs @@ -56,6 +56,14 @@ impl Create>, PredefinedId>> impl AssetDefinition for PredefinedIdNfts { type Id = (CollectionAutoId, NftLocalId); } +impl Inspect for PredefinedIdNfts { + fn inspect(id: &Self::Id, _: CanCreate) -> Result { + let nft_exists = + unique_items::ItemOwner::::contains_key(id); + + Ok(!nft_exists) + } +} impl Update> for PredefinedIdNfts { fn update( id: &Self::Id, @@ -66,16 +74,18 @@ impl Update> for PredefinedIdNfts { unique_items::ItemOwner::::try_mutate(id, |owner| { match owner { - Some(current_owner) => + Some(current_owner) => { if *current_owner == check_owner { *owner = Some(*new_owner); Ok(()) } else { Err(unique_items::Error::::NoPermission .into()) - }, - None => - Err(unique_items::Error::::UnknownItem.into()), + } + }, + None => { + Err(unique_items::Error::::UnknownItem.into()) + }, } }) } diff --git a/substrate/frame/derivatives/src/mock/mod.rs b/substrate/frame/derivatives/src/mock/mod.rs index 60d18da63f8d0..0098599d56e3e 100644 --- a/substrate/frame/derivatives/src/mock/mod.rs +++ b/substrate/frame/derivatives/src/mock/mod.rs @@ -167,7 +167,9 @@ impl ContainsPair for TrustAssetsFromSiblings { match (asset_location.unpack(), origin.unpack()) { ((1, [Parachain(asset_para_id), ..]), (1, [Parachain(origin_para_id)])) if asset_para_id == origin_para_id => - true, + { + true + }, _ => false, } } @@ -208,8 +210,9 @@ pub struct SiblingAssetToReserveLocationConvert; impl ConvertLocation for SiblingAssetToReserveLocationConvert { fn convert_location(location: &Location) -> Option { match location.unpack() { - (1, [Parachain(para_id), ..]) => - LocationToAccountId::convert_location(&Location::new(1, Parachain(*para_id))), + (1, [Parachain(para_id), ..]) => { + LocationToAccountId::convert_location(&Location::new(1, Parachain(*para_id))) + }, _ => None, } } @@ -423,7 +426,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = (); type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = (); type SubscriptionService = (); type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/substrate/frame/derivatives/src/tests.rs b/substrate/frame/derivatives/src/tests.rs index 50a5d58a0af7c..88598c3534dd6 100644 --- a/substrate/frame/derivatives/src/tests.rs +++ b/substrate/frame/derivatives/src/tests.rs @@ -241,6 +241,7 @@ fn local_nfts() { #[test] fn derivative_nfts() { + sp_tracing::try_init_simple(); new_test_ext().execute_with(|| { let foreign_para_id = 2222; diff --git a/substrate/frame/election-provider-multi-block/src/lib.rs b/substrate/frame/election-provider-multi-block/src/lib.rs index 4d88877809604..7869c806fcca3 100644 --- a/substrate/frame/election-provider-multi-block/src/lib.rs +++ b/substrate/frame/election-provider-multi-block/src/lib.rs @@ -61,7 +61,6 @@ //! * [`crate::verifier::Verifier`]: Parent talking to verifier. //! * [`crate::verifier::SolutionDataProvider`]: Verifier talking to signed. -//! //! ## Pagination //! //! Most of the external APIs of this pallet are paginated. All pagination follow a pattern where if @@ -1044,7 +1043,7 @@ pub mod pallet { #[allow(unused)] #[cfg(any(test, feature = "runtime-benchmarks", feature = "try-runtime"))] impl Snapshot { - ///Ensure target snapshot exists. + /// Ensure target snapshot exists. pub(crate) fn ensure_target_snapshot(exists: bool) -> Result<(), &'static str> { ensure!(exists ^ Self::desired_targets().is_none(), "desired target mismatch"); ensure!(exists ^ Self::targets().is_none(), "targets mismatch"); @@ -1148,11 +1147,13 @@ pub mod pallet { Phase::Off => Self::ensure_snapshot(false, T::Pages::get()), // we will star the snapshot in the next phase. - Phase::Snapshot(p) if p == T::Pages::get() => - Self::ensure_snapshot(false, T::Pages::get()), + Phase::Snapshot(p) if p == T::Pages::get() => { + Self::ensure_snapshot(false, T::Pages::get()) + }, // we are mid voter snapshot. - Phase::Snapshot(p) if p < T::Pages::get() && p > 0 => - Self::ensure_snapshot(true, T::Pages::get() - p - 1), + Phase::Snapshot(p) if p < T::Pages::get() && p > 0 => { + Self::ensure_snapshot(true, T::Pages::get() - p - 1) + }, // we cannot check anything in this block -- we take the last page of the snapshot. Phase::Snapshot(_) => Ok(()), @@ -2007,12 +2008,13 @@ impl ElectionProvider for Pallet { // we're ready Phase::Done => Ok(Some(T::WeightInfo::export_non_terminal())), - Phase::Export(p) => + Phase::Export(p) => { if p.is_zero() { Ok(Some(T::WeightInfo::export_terminal())) } else { Ok(Some(T::WeightInfo::export_non_terminal())) - }, + } + }, } } diff --git a/substrate/frame/election-provider-multi-block/src/mock/mod.rs b/substrate/frame/election-provider-multi-block/src/mock/mod.rs index e39008ba39305..31b245d573b48 100644 --- a/substrate/frame/election-provider-multi-block/src/mock/mod.rs +++ b/substrate/frame/election-provider-multi-block/src/mock/mod.rs @@ -291,9 +291,10 @@ impl InstantElectionProvider for MockFallback { desired_targets: u32, ) -> Result, Self::Error> { match FallbackMode::get() { - FallbackModes::Continue => + FallbackModes::Continue => { crate::Continue::::instant_elect(voters, targets, desired_targets) - .map_err(|x| x.to_string()), + .map_err(|x| x.to_string()) + }, FallbackModes::Emergency => crate::InitiateEmergencyPhase::::instant_elect( voters, targets, diff --git a/substrate/frame/election-provider-multi-block/src/mock/staking.rs b/substrate/frame/election-provider-multi-block/src/mock/staking.rs index 072999ae73821..a4a9b032e9375 100644 --- a/substrate/frame/election-provider-multi-block/src/mock/staking.rs +++ b/substrate/frame/election-provider-multi-block/src/mock/staking.rs @@ -70,7 +70,7 @@ impl ElectionDataProvider for MockStaking { ); } if bounds.slice_exhausted(&targets) { - return Err("Targets too big") + return Err("Targets too big"); } Ok(targets) @@ -95,7 +95,7 @@ impl ElectionDataProvider for MockStaking { } if voters.is_empty() { - return Ok(vec![]) + return Ok(vec![]); } if remaining > 0 { diff --git a/substrate/frame/election-provider-multi-block/src/signed/mod.rs b/substrate/frame/election-provider-multi-block/src/signed/mod.rs index f111f94791d9b..8df44fd80d2e0 100644 --- a/substrate/frame/election-provider-multi-block/src/signed/mod.rs +++ b/substrate/frame/election-provider-multi-block/src/signed/mod.rs @@ -513,7 +513,7 @@ pub mod pallet { true } else { // we don't have a better solution - return Err(Error::::QueueFull.into()) + return Err(Error::::QueueFull.into()); } } else { sorted_scores diff --git a/substrate/frame/election-provider-multi-block/src/types.rs b/substrate/frame/election-provider-multi-block/src/types.rs index 913684c1b9f75..3dfa8694fd5fa 100644 --- a/substrate/frame/election-provider-multi-block/src/types.rs +++ b/substrate/frame/election-provider-multi-block/src/types.rs @@ -169,7 +169,7 @@ impl PadSolutionPages for Vec { let desired_pages_usize = desired_pages as usize; debug_assert!(self.len() <= desired_pages_usize); if self.len() == desired_pages_usize { - return self + return self; } // we basically need to prepend the list with this many items. @@ -188,7 +188,7 @@ impl> PadSolu let desired_pages_usize = (desired_pages).min(Bound::get()) as usize; debug_assert!(self.len() <= desired_pages_usize); if self.len() == desired_pages_usize { - return self + return self; } // we basically need to prepend the list with this many items. @@ -323,7 +323,7 @@ impl Phase { Self::Emergency => Self::Emergency, // snapshot phase - Self::Snapshot(0) => + Self::Snapshot(0) => { if let Some(signed_duration) = T::SignedPhase::get().checked_sub(&One::one()) { Self::Signed(signed_duration) } else if let Some(unsigned_duration) = @@ -332,31 +332,39 @@ impl Phase { Self::Unsigned(unsigned_duration) } else { Self::are_we_done() - }, - Self::Snapshot(non_zero_remaining) => - Self::Snapshot(non_zero_remaining.defensive_saturating_sub(One::one())), + } + }, + Self::Snapshot(non_zero_remaining) => { + Self::Snapshot(non_zero_remaining.defensive_saturating_sub(One::one())) + }, // signed phase - Self::Signed(zero) if zero == BlockNumberFor::::zero() => - Self::SignedValidation(T::SignedValidationPhase::get()), - Self::Signed(non_zero_left) => - Self::Signed(non_zero_left.defensive_saturating_sub(One::one())), + Self::Signed(zero) if zero == BlockNumberFor::::zero() => { + Self::SignedValidation(T::SignedValidationPhase::get()) + }, + Self::Signed(non_zero_left) => { + Self::Signed(non_zero_left.defensive_saturating_sub(One::one())) + }, // signed validation Self::SignedValidation(zero) if zero == BlockNumberFor::::zero() && Self::verifier_done() => + { if let Some(unsigned_duration) = T::UnsignedPhase::get().checked_sub(&One::one()) { Self::Unsigned(unsigned_duration) } else { Self::are_we_done() - }, - Self::SignedValidation(non_zero_left) => - Self::SignedValidation(non_zero_left.saturating_sub(One::one())), + } + }, + Self::SignedValidation(non_zero_left) => { + Self::SignedValidation(non_zero_left.saturating_sub(One::one())) + }, // unsigned phase -- at this phase we will Self::Unsigned(zero) if zero == BlockNumberFor::::zero() => Self::are_we_done(), - Self::Unsigned(non_zero_left) => - Self::Unsigned(non_zero_left.defensive_saturating_sub(One::one())), + Self::Unsigned(non_zero_left) => { + Self::Unsigned(non_zero_left.defensive_saturating_sub(One::one())) + }, // Done. Wait for export to start. Self::Done => Self::Done, diff --git a/substrate/frame/election-provider-multi-block/src/unsigned/miner.rs b/substrate/frame/election-provider-multi-block/src/unsigned/miner.rs index 1a5d57d0fc4e2..102a7650285c4 100644 --- a/substrate/frame/election-provider-multi-block/src/unsigned/miner.rs +++ b/substrate/frame/election-provider-multi-block/src/unsigned/miner.rs @@ -655,7 +655,7 @@ impl BaseMiner { "no more pages to trim from at page {}, already trimmed", current_trimming_page ); - break + break; } } } @@ -925,8 +925,9 @@ impl OffchainWorkerMiner { |maybe_head: Result>, _>| { match maybe_head { Ok(Some(head)) if now < head => Err("fork."), - Ok(Some(head)) if now >= head && now <= head + threshold => - Err("recently executed."), + Ok(Some(head)) if now >= head && now <= head + threshold => { + Err("recently executed.") + }, Ok(Some(head)) if now > head + threshold => { // we can run again now. Write the new head. Ok(now) @@ -961,8 +962,9 @@ impl OffchainWorkerMiner { let storage = StorageValueRef::persistent(&Self::OFFCHAIN_CACHED_CALL); match storage.mutate::<_, (), _>(|_| Ok((call.clone(), snapshot_fingerprint))) { Ok(_) => Ok(()), - Err(MutateStorageError::ConcurrentModification(_)) => - Err(OffchainMinerError::FailedToStoreSolution), + Err(MutateStorageError::ConcurrentModification(_)) => { + Err(OffchainMinerError::FailedToStoreSolution) + }, Err(MutateStorageError::ValueFunctionFailed(_)) => { // this branch should be unreachable according to the definition of // `StorageValueRef::mutate`: that function should only ever `Err` if the closure we diff --git a/substrate/frame/election-provider-multi-block/src/verifier/impls.rs b/substrate/frame/election-provider-multi-block/src/verifier/impls.rs index eb3e2515d860b..56ddc4624ed1e 100644 --- a/substrate/frame/election-provider-multi-block/src/verifier/impls.rs +++ b/substrate/frame/election-provider-multi-block/src/verifier/impls.rs @@ -338,10 +338,12 @@ pub(crate) mod pallet { // store the valid pages for (support, page) in supports.into_iter().zip(pages.iter()) { match Self::valid() { - ValidSolution::X => - QueuedSolutionX::::insert(Self::round(), page, support), - ValidSolution::Y => - QueuedSolutionY::::insert(Self::round(), page, support), + ValidSolution::X => { + QueuedSolutionX::::insert(Self::round(), page, support) + }, + ValidSolution::Y => { + QueuedSolutionY::::insert(Self::round(), page, support) + }, } } QueuedSolutionScore::::insert(Self::round(), score); @@ -387,7 +389,7 @@ pub(crate) mod pallet { entry.backers = entry.backers.saturating_add(backers); if entry.backers > T::MaxBackersPerWinnerFinal::get() { - return Err(FeasibilityError::FailedToBoundSupport) + return Err(FeasibilityError::FailedToBoundSupport); } } @@ -617,7 +619,7 @@ impl Pallet { fn do_per_block_exec() -> (Weight, Box) { let Status::Ongoing(current_page) = Self::status_storage() else { let weight = T::DbWeight::get().reads(1); - return (weight, Box::new(move |meter: &mut WeightMeter| meter.consume(weight))) + return (weight, Box::new(move |meter: &mut WeightMeter| meter.consume(weight))); }; // before executing, we don't know which weight we will consume; return the max. @@ -733,7 +735,7 @@ impl Pallet { // here. entry.backers = entry.backers.saturating_add(support.voters.len() as u32); if entry.backers > T::MaxBackersPerWinnerFinal::get() { - return Err((*page, FeasibilityError::FailedToBoundSupport)) + return Err((*page, FeasibilityError::FailedToBoundSupport)); } } @@ -910,7 +912,7 @@ pub fn feasibility_check_page_inner_with_snapshot( // Check that all of the targets are valid based on the snapshot. if assignment.distribution.iter().any(|(t, _)| !targets.contains(t)) { - return Err(FeasibilityError::InvalidVote) + return Err(FeasibilityError::InvalidVote); } Ok(()) }) diff --git a/substrate/frame/election-provider-multi-phase/src/lib.rs b/substrate/frame/election-provider-multi-phase/src/lib.rs index 356f10c309a0d..7bdc592476e08 100644 --- a/substrate/frame/election-provider-multi-phase/src/lib.rs +++ b/substrate/frame/election-provider-multi-phase/src/lib.rs @@ -189,7 +189,7 @@ //! Note that there could be an overlap between these sub-errors. For example, A //! `SnapshotUnavailable` can happen in both miner and feasibility check phase. //! -//! ## Multi-page election support +//! ## Multi-page election support //! //! The [`frame_election_provider_support::ElectionDataProvider`] and //! [`frame_election_provider_support::ElectionProvider`] traits used by this pallet can support a @@ -1729,7 +1729,7 @@ impl Pallet { if submission.is_none() { return Err( "All signed submissions indices must be part of the submissions map".into() - ) + ); } if i == 0 { @@ -1737,8 +1737,8 @@ impl Pallet { } else { if last_score.strict_better(indice.0) { return Err( - "Signed submission indices vector must be ordered by election score".into() - ) + "Signed submission indices vector must be ordered by election score".into(), + ); } last_score = indice.0; } @@ -1746,21 +1746,22 @@ impl Pallet { if SignedSubmissionsMap::::iter().nth(indices.len()).is_some() { return Err( - "Signed submissions map length should be the same as the indices vec length".into() - ) + "Signed submissions map length should be the same as the indices vec length".into(), + ); } match SignedSubmissionNextIndex::::get() { 0 => Ok(()), - next => + next => { if SignedSubmissionsMap::::get(next).is_some() { return Err( "The next submissions index should not be in the submissions maps already" .into(), - ) + ); } else { Ok(()) - }, + } + }, } } @@ -1769,12 +1770,13 @@ impl Pallet { fn try_state_phase_off() -> Result<(), TryRuntimeError> { match CurrentPhase::::get().is_off() { false => Ok(()), - true => + true => { if Snapshot::::get().is_some() { Err("Snapshot must be none when in Phase::Off".into()) } else { Ok(()) - }, + } + }, } } } diff --git a/substrate/frame/election-provider-multi-phase/src/mock.rs b/substrate/frame/election-provider-multi-phase/src/mock.rs index 05f0b8906cba8..05a84cae111a2 100644 --- a/substrate/frame/election-provider-multi-phase/src/mock.rs +++ b/substrate/frame/election-provider-multi-phase/src/mock.rs @@ -400,10 +400,12 @@ impl MinerConfig for Runtime { (10 as u64).saturating_add((5 as u64).saturating_mul(a as u64)), 0, ), - MockedWeightInfo::Complex => - Weight::from_parts((0 * v + 0 * t + 1000 * a + 0 * d) as u64, 0), - MockedWeightInfo::Real => - <() as multi_phase::weights::WeightInfo>::feasibility_check(v, t, a, d), + MockedWeightInfo::Complex => { + Weight::from_parts((0 * v + 0 * t + 1000 * a + 0 * d) as u64, 0) + }, + MockedWeightInfo::Real => { + <() as multi_phase::weights::WeightInfo>::feasibility_check(v, t, a, d) + }, } } } @@ -497,7 +499,7 @@ impl ElectionDataProvider for StakingMock { if !DataProviderAllowBadData::get() && bounds.count.map_or(false, |max_len| targets.len() > max_len.0 as usize) { - return Err("Targets too big") + return Err("Targets too big"); } Ok(targets) diff --git a/substrate/frame/election-provider-multi-phase/src/remote_mining.rs b/substrate/frame/election-provider-multi-phase/src/remote_mining.rs index 5b4580809c391..0c8caa7382749 100644 --- a/substrate/frame/election-provider-multi-phase/src/remote_mining.rs +++ b/substrate/frame/election-provider-multi-phase/src/remote_mining.rs @@ -33,7 +33,7 @@ use frame_support::{ traits::Get, weights::constants::{WEIGHT_PROOF_SIZE_PER_MB, WEIGHT_REF_TIME_PER_SECOND}, }; -use remote_externalities::{Builder, Mode, OnlineConfig, Transport}; +use remote_externalities::{Builder, Mode, OnlineConfig}; use sp_core::{ConstU32, H256}; use sp_npos_elections::BalancingConfig; use sp_runtime::{Perbill, Weight}; @@ -218,9 +218,9 @@ async fn mine_for_polkadot() { let online = OnlineConfig { at: Some(block_hash), pallets: vec!["ElectionProviderMultiPhase".to_string()], - transport: Transport::from( - std::option_env!("WS").unwrap_or("wss://rpc.ibp.network/polkadot").to_string(), - ), + transport_uris: vec![std::option_env!("WS") + .unwrap_or("wss://rpc.ibp.network/polkadot") + .to_string()], ..Default::default() }; @@ -248,9 +248,9 @@ async fn mine_for_kusama() { let online = OnlineConfig { at: Some(block_hash), pallets: vec!["ElectionProviderMultiPhase".to_string()], - transport: Transport::from( - std::option_env!("WS").unwrap_or("wss://rpc.ibp.network/kusama").to_string(), - ), + transport_uris: vec![std::option_env!("WS") + .unwrap_or("wss://rpc.ibp.network/kusama") + .to_string()], ..Default::default() }; diff --git a/substrate/frame/election-provider-multi-phase/src/signed.rs b/substrate/frame/election-provider-multi-phase/src/signed.rs index 243c461811405..074f5334ef2e9 100644 --- a/substrate/frame/election-provider-multi-phase/src/signed.rs +++ b/substrate/frame/election-provider-multi-phase/src/signed.rs @@ -220,7 +220,7 @@ impl SignedSubmissions { insert: Option<(ElectionScore, BlockNumberFor, u32)>, ) -> Option> { if remove_pos >= self.indices.len() { - return None + return None; } // safe: index was just checked in the line above. @@ -320,7 +320,7 @@ impl SignedSubmissions { // if we haven't improved on the weakest score, don't change anything. if !submission.raw_solution.score.strict_threshold_better(weakest_score, threshold) { - return InsertResult::NotInserted + return InsertResult::NotInserted; } self.swap_out_submission( @@ -438,7 +438,7 @@ impl Pallet { weight = weight .saturating_add(T::WeightInfo::finalize_signed_phase_accept_solution()); - break + break; }, Err(_) => { log!(warn, "finalized_signed: invalid signed submission found, slashing."); diff --git a/substrate/frame/election-provider-multi-phase/src/unsigned.rs b/substrate/frame/election-provider-multi-phase/src/unsigned.rs index cbccf33277a62..703e4910b83b8 100644 --- a/substrate/frame/election-provider-multi-phase/src/unsigned.rs +++ b/substrate/frame/election-provider-multi-phase/src/unsigned.rs @@ -149,8 +149,9 @@ fn save_solution(call: &Call) -> Result<(), MinerError> { let storage = StorageValueRef::persistent(OFFCHAIN_CACHED_CALL); match storage.mutate::<_, (), _>(|_| Ok(call.clone())) { Ok(_) => Ok(()), - Err(MutateStorageError::ConcurrentModification(_)) => - Err(MinerError::FailedToStoreSolution), + Err(MutateStorageError::ConcurrentModification(_)) => { + Err(MinerError::FailedToStoreSolution) + }, Err(MutateStorageError::ValueFunctionFailed(_)) => { // this branch should be unreachable according to the definition of // `StorageValueRef::mutate`: that function should only ever `Err` if the closure we @@ -351,8 +352,9 @@ impl>> Pallet { |maybe_head: Result>, _>| { match maybe_head { Ok(Some(head)) if now < head => Err("fork."), - Ok(Some(head)) if now >= head && now <= head + threshold => - Err("recently executed."), + Ok(Some(head)) if now >= head && now <= head + threshold => { + Err("recently executed.") + }, Ok(Some(head)) if now > head + threshold => { // we can run again now. Write the new head. Ok(now) @@ -369,8 +371,9 @@ impl>> Pallet { // all good Ok(_) => Ok(()), // failed to write. - Err(MutateStorageError::ConcurrentModification(_)) => - Err(MinerError::Lock("failed to write to offchain db (concurrent modification).")), + Err(MutateStorageError::ConcurrentModification(_)) => { + Err(MinerError::Lock("failed to write to offchain db (concurrent modification).")) + }, // fork etc. Err(MutateStorageError::ValueFunctionFailed(why)) => Err(MinerError::Lock(why)), } @@ -655,7 +658,7 @@ impl Miner { // not much we can do if assignments are already empty. if high == low { - return Ok(0) + return Ok(0); } while high - low > 1 { @@ -749,7 +752,7 @@ impl Miner { max_weight: Weight, ) -> u32 { if size.voters < 1 { - return size.voters + return size.voters; } let max_voters = size.voters.max(1); @@ -872,7 +875,7 @@ impl Miner { // Check that all of the targets are valid based on the snapshot. if assignment.distribution.iter().any(|(d, _)| !targets.contains(d)) { - return Err(FeasibilityError::InvalidVote) + return Err(FeasibilityError::InvalidVote); } Ok(()) })?; diff --git a/substrate/frame/election-provider-support/solution-type/src/lib.rs b/substrate/frame/election-provider-support/solution-type/src/lib.rs index 38aa0738c8f7e..48d4a14f81684 100644 --- a/substrate/frame/election-provider-support/solution-type/src/lib.rs +++ b/substrate/frame/election-provider-support/solution-type/src/lib.rs @@ -155,10 +155,10 @@ fn check_attributes(input: ParseStream) -> syn::Result { return Err(syn::Error::new_spanned( extra_attr, "compact solution can accept only #[compact]", - )) + )); } if attrs.is_empty() { - return Ok(false) + return Ok(false); } let attr = attrs.pop().expect("attributes vec with len 1 can be popped."); if attr.path().is_ident("compact") { @@ -183,7 +183,7 @@ impl Parse for SolutionDef { let generics: syn::AngleBracketedGenericArguments = input.parse()?; if generics.args.len() != 4 { - return Err(syn_err("Must provide 4 generic args.")) + return Err(syn_err("Must provide 4 generic args.")); } let expected_types = ["VoterIndex", "TargetIndex", "Accuracy", "MaxVoters"]; @@ -282,7 +282,7 @@ mod tests { fn ui_fail() { // Only run the ui tests when `RUN_UI_TESTS` is set. if std::env::var("RUN_UI_TESTS").is_err() { - return + return; } let cases = trybuild::TestCases::new(); diff --git a/substrate/frame/election-provider-support/solution-type/src/single_page.rs b/substrate/frame/election-provider-support/solution-type/src/single_page.rs index e64b99b073bae..6bb84e26bbf1e 100644 --- a/substrate/frame/election-provider-support/solution-type/src/single_page.rs +++ b/substrate/frame/election-provider-support/solution-type/src/single_page.rs @@ -33,7 +33,7 @@ pub(crate) fn generate(def: crate::SolutionDef) -> Result { } = def; if count <= 2 { - return Err(syn_err("cannot build solution struct with capacity less than 3.")) + return Err(syn_err("cannot build solution struct with capacity less than 3.")); } let single = { diff --git a/substrate/frame/election-provider-support/src/lib.rs b/substrate/frame/election-provider-support/src/lib.rs index f9e8c7fbb9f9f..41c8cf88348cb 100644 --- a/substrate/frame/election-provider-support/src/lib.rs +++ b/substrate/frame/election-provider-support/src/lib.rs @@ -971,7 +971,7 @@ impl> BoundedSupport { pub fn sorted_truncate_from(mut support: sp_npos_elections::Support) -> (Self, u32) { // If bounds meet, then short circuit. if let Ok(bounded) = support.clone().try_into() { - return (bounded, 0) + return (bounded, 0); } let pre_len = support.voters.len(); @@ -983,7 +983,7 @@ impl> BoundedSupport { let mut bounded = Self { voters: Default::default(), total: 0 }; while let Some((voter, weight)) = support.voters.pop() { if let Err(_) = bounded.voters.try_push((voter, weight)) { - break + break; } bounded.total += weight; } @@ -1057,7 +1057,7 @@ impl, BInner: Get> pub fn sorted_truncate_from(supports: Supports) -> (Self, u32, u32) { // if bounds, meet, short circuit if let Ok(bounded) = supports.clone().try_into() { - return (bounded, 0, 0) + return (bounded, 0, 0); } let pre_winners = supports.len(); diff --git a/substrate/frame/election-provider-support/src/mock.rs b/substrate/frame/election-provider-support/src/mock.rs index 5cbe305eb522d..aef09d95da921 100644 --- a/substrate/frame/election-provider-support/src/mock.rs +++ b/substrate/frame/election-provider-support/src/mock.rs @@ -118,7 +118,7 @@ pub fn generate_random_votes( // distribute the available stake randomly let stake_distribution = if num_chosen_winners == 0 { - continue + continue; } else { let mut available_stake = 1000; let mut stake_distribution = Vec::with_capacity(num_chosen_winners); diff --git a/substrate/frame/election-provider-support/src/onchain.rs b/substrate/frame/election-provider-support/src/onchain.rs index f6fc29fe6b191..e1cccbbfa232b 100644 --- a/substrate/frame/election-provider-support/src/onchain.rs +++ b/substrate/frame/election-provider-support/src/onchain.rs @@ -111,7 +111,7 @@ impl OnChainExecution { ) -> Result, Error> { if (desired_targets > T::MaxWinnersPerPage::get()) && !T::Sort::get() { // early exit what will fail in the last line anyways. - return Err(Error::FailedToBound) + return Err(Error::FailedToBound); } let voters_len = voters.len() as u32; diff --git a/substrate/frame/elections-phragmen/src/lib.rs b/substrate/frame/elections-phragmen/src/lib.rs index d284269445d98..34f7e845f5fed 100644 --- a/substrate/frame/elections-phragmen/src/lib.rs +++ b/substrate/frame/elections-phragmen/src/lib.rs @@ -956,7 +956,7 @@ impl Pallet { if candidates_and_deposit.len().is_zero() { Self::deposit_event(Event::EmptyTerm); - return T::DbWeight::get().reads(3) + return T::DbWeight::get().reads(3); } // All of the new winners that come out of phragmen will thus have a deposit recorded. @@ -988,7 +988,7 @@ impl Pallet { "Failed to run election. Number of voters exceeded", ); Self::deposit_event(Event::ElectionError); - return T::DbWeight::get().reads(3 + max_voters as u64) + return T::DbWeight::get().reads(3 + max_voters as u64); }, } @@ -1267,8 +1267,9 @@ impl Pallet { match Self::intersects(&Pallet::::members_ids(), &Self::candidates_ids()) && Self::intersects(&Pallet::::members_ids(), &Self::runners_up_ids()) { - true => - Err("Members set should be disjoint from candidates and runners-up sets".into()), + true => { + Err("Members set should be disjoint from candidates and runners-up sets".into()) + }, false => Ok(()), } } diff --git a/substrate/frame/elections-phragmen/src/migrations/unlock_and_unreserve_all_funds.rs b/substrate/frame/elections-phragmen/src/migrations/unlock_and_unreserve_all_funds.rs index ed4569aa25ee6..1cc8d309ab395 100644 --- a/substrate/frame/elections-phragmen/src/migrations/unlock_and_unreserve_all_funds.rs +++ b/substrate/frame/elections-phragmen/src/migrations/unlock_and_unreserve_all_funds.rs @@ -253,7 +253,7 @@ where for (account, unreserve_amount) in account_deposited_sums.iter() { if unreserve_amount.is_zero() { log::warn!(target: LOG_TARGET, "Unexpected zero amount to unreserve"); - continue + continue; } T::Currency::unreserve(&account, *unreserve_amount); } @@ -262,7 +262,7 @@ where for (account, amount) in account_staked_sums.iter() { if amount.is_zero() { log::warn!(target: LOG_TARGET, "Unexpected zero amount to unlock"); - continue + continue; } T::Currency::remove_lock(T::PalletId::get(), account); } diff --git a/substrate/frame/elections-phragmen/src/migrations/v4.rs b/substrate/frame/elections-phragmen/src/migrations/v4.rs index e78465cd618de..e5521e02a4122 100644 --- a/substrate/frame/elections-phragmen/src/migrations/v4.rs +++ b/substrate/frame/elections-phragmen/src/migrations/v4.rs @@ -39,7 +39,7 @@ pub fn migrate>(new_pallet_name: N) -> Weight { target: LOG_TARGET, "New pallet name is equal to the old prefix. No migration needs to be done.", ); - return Weight::zero() + return Weight::zero(); } let storage_version = StorageVersion::get::>(); log::info!( diff --git a/substrate/frame/examples/authorization-tx-extension/src/lib.rs b/substrate/frame/examples/authorization-tx-extension/src/lib.rs index 408ccf5786352..17c13d98199ce 100644 --- a/substrate/frame/examples/authorization-tx-extension/src/lib.rs +++ b/substrate/frame/examples/authorization-tx-extension/src/lib.rs @@ -52,10 +52,8 @@ //! //! ### Example runtime setup #![doc = docify::embed!("src/mock.rs", example_runtime)] -//! //! ### Example usage #![doc = docify::embed!("src/tests.rs", create_coowned_asset_works)] -//! //! This example does not focus on any pallet logic or syntax, but rather on `TransactionExtension` //! functionality. The pallets used are just skeletons to provide storage state and custom origin //! choices and requirements, as shown in the examples. Any weight and/or diff --git a/substrate/frame/examples/authorization-tx-extension/src/mock.rs b/substrate/frame/examples/authorization-tx-extension/src/mock.rs index 9772e52050bd1..f57b5bc9ad617 100644 --- a/substrate/frame/examples/authorization-tx-extension/src/mock.rs +++ b/substrate/frame/examples/authorization-tx-extension/src/mock.rs @@ -99,8 +99,9 @@ mod example_runtime { fn try_origin(o: RuntimeOrigin) -> Result { match o.clone().into() { - Ok(pallet_coownership::Origin::::Coowners(first, second)) => - Ok((first, second)), + Ok(pallet_coownership::Origin::::Coowners(first, second)) => { + Ok((first, second)) + }, _ => Err(o), } } diff --git a/substrate/frame/examples/basic/src/lib.rs b/substrate/frame/examples/basic/src/lib.rs index ea8801703e081..242937db6e380 100644 --- a/substrate/frame/examples/basic/src/lib.rs +++ b/substrate/frame/examples/basic/src/lib.rs @@ -516,7 +516,7 @@ where ) -> ValidateResult::RuntimeCall> { // if the transaction is too big, just drop it. if len > 200 { - return Err(InvalidTransaction::ExhaustsResources.into()) + return Err(InvalidTransaction::ExhaustsResources.into()); } // check for `set_dummy` diff --git a/substrate/frame/examples/multi-block-migrations/src/migrations/v1/mod.rs b/substrate/frame/examples/multi-block-migrations/src/migrations/v1/mod.rs index 6243846d86b06..4ce7bb6feed36 100644 --- a/substrate/frame/examples/multi-block-migrations/src/migrations/v1/mod.rs +++ b/substrate/frame/examples/multi-block-migrations/src/migrations/v1/mod.rs @@ -118,7 +118,7 @@ impl SteppedMigration for LazyMigrationV1> + CreateBare> + frame_system::Config + CreateSignedTransaction> + + CreateAuthorizedTransaction> + + frame_system::Config { /// The identifier type for an offchain worker. type AuthorityId: AppCrypto; @@ -146,19 +158,19 @@ pub mod pallet { #[pallet::constant] type GracePeriod: Get>; - /// Number of blocks of cooldown after unsigned transaction is included. + /// Number of blocks of cooldown after an authorized transaction is included. /// - /// This ensures that we only accept unsigned transactions once, every `UnsignedInterval` - /// blocks. + /// This ensures that we only accept authorized transactions once, every + /// `AuthorizedTxInterval` blocks. #[pallet::constant] - type UnsignedInterval: Get>; + type AuthorizedTxInterval: Get>; - /// A configuration for base priority of unsigned transactions. + /// A configuration for base priority of authorized transactions. /// /// This is exposed so that it can be tuned for particular runtime, when - /// multiple pallets send unsigned transactions. + /// multiple pallets send authorized transactions. #[pallet::constant] - type UnsignedPriority: Get; + type AuthorizedTxPriority: Get; /// Maximum number of prices. #[pallet::constant] @@ -170,6 +182,33 @@ pub mod pallet { #[pallet::hooks] impl Hooks> for Pallet { + /// Integrity test to ensure AuthorizeCall is configured in the runtime. + /// + /// This pallet uses the `#[pallet::authorize]` attribute on calls that require + /// authorization validation. For these calls to work properly, the runtime must + /// include `frame_system::AuthorizeCall` as part of its transaction extension pipeline. + /// + /// This test validates that the Block type's Extrinsic includes the necessary + /// transaction extension structure by checking the type name. + fn integrity_test() { + use sp_runtime::traits::Block as BlockT; + + // Get the full type name of the Block's Extrinsic type + let extrinsic_type_name = core::any::type_name::<::Extrinsic>(); + let extension_type_name = core::any::type_name::>(); + + // Verify that AuthorizeCall is present in the extrinsic type + // The extrinsic should contain the AuthorizeCall extension in its structure + assert!( + extrinsic_type_name.contains(extension_type_name), + "The runtime must include `frame_system::AuthorizeCall` in its transaction extension \ + pipeline for this pallet to work correctly. The pallet uses `#[pallet::authorize]` \ + which requires AuthorizeCall to validate authorized transactions. \ + Current extrinsic type: {}", + extrinsic_type_name + ); + } + /// Offchain Worker entry point. /// /// By implementing `fn offchain_worker` you declare a new offchain worker. @@ -200,17 +239,19 @@ pub mod pallet { let average: Option = Self::average_price(); log::debug!("Current price: {:?}", average); - // For this example we are going to send both signed and unsigned transactions + // For this example we are going to send both signed and general transactions // depending on the block number. // Usually it's enough to choose one or the other. let should_send = Self::choose_transaction_type(block_number); let res = match should_send { TransactionType::Signed => Self::fetch_price_and_send_signed(), - TransactionType::UnsignedForAny => - Self::fetch_price_and_send_unsigned_for_any_account(block_number), - TransactionType::UnsignedForAll => - Self::fetch_price_and_send_unsigned_for_all_accounts(block_number), - TransactionType::Raw => Self::fetch_price_and_send_raw_unsigned(block_number), + TransactionType::AuthorizedForAny => { + Self::fetch_price_and_send_authorized_tx_for_any_account(block_number) + }, + TransactionType::AuthorizedForAll => { + Self::fetch_price_and_send_authorized_tx_for_all_accounts(block_number) + }, + TransactionType::Raw => Self::fetch_price_and_send_raw_authorized(block_number), TransactionType::None => Ok(()), }; if let Err(e) = res { @@ -246,17 +287,19 @@ pub mod pallet { Ok(().into()) } - /// Submit new price to the list via unsigned transaction. + /// Submit new price to the list via general transaction. /// /// Works exactly like the `submit_price` function, but since we allow sending the /// transaction without a signature, and hence without paying any fees, /// we need a way to make sure that only some transactions are accepted. - /// This function can be called only once every `T::UnsignedInterval` blocks. - /// Transactions that call that function are de-duplicated on the pool level - /// via `validate_unsigned` implementation and also are rendered invalid if - /// the function has already been called in current "session". + /// This function can be called only once every `T::AuthorizedTxInterval` blocks. + /// + /// Transactions are de-duplicated on the pool level via the `provides` tag in the + /// validation logic (`validate_transaction_parameters`), which returns + /// `next_authorized_at`. This ensures only one transaction per interval can be included + /// in a block. /// - /// It's important to specify `weight` for unsigned calls as well, because even though + /// It's important to specify `weight` for authorized calls as well, because even though /// they don't charge fees, we still don't want a single block to contain unlimited /// number of such transactions. /// @@ -264,35 +307,59 @@ pub mod pallet { /// purpose is to showcase offchain worker capabilities. #[pallet::call_index(1)] #[pallet::weight({0})] - pub fn submit_price_unsigned( + // Minimal weight since validation is lightweight. But in real-world scenarios, this should + // be benchmarked. + #[pallet::weight_of_authorize(Weight::from_parts(5_000, 0))] + #[pallet::authorize(| + _source: TransactionSource, + block_number: &BlockNumberFor, + new_price: &u32, + | -> TransactionValidityWithRefund { + Pallet::::validate_transaction_parameters(block_number, new_price) + .map(|v| (v, /* no refund */ Weight::zero())) + })] + pub fn submit_price_authorized( origin: OriginFor, _block_number: BlockNumberFor, price: u32, ) -> DispatchResultWithPostInfo { - // This ensures that the function can only be called via unsigned transaction. - ensure_none(origin)?; + ensure_authorized(origin)?; // Add the price to the on-chain list, but mark it as coming from an empty address. Self::add_price(None, price); - // now increment the block number at which we expect next unsigned transaction. + // now increment the block number at which we expect next authorized transaction. let current_block = >::block_number(); - >::put(current_block + T::UnsignedInterval::get()); + >::put(current_block + T::AuthorizedTxInterval::get()); Ok(().into()) } #[pallet::call_index(2)] #[pallet::weight({0})] - pub fn submit_price_unsigned_with_signed_payload( + // Minimal weight since validation is lightweight. But in real-world scenarios, this should + // be benchmarked. + #[pallet::weight_of_authorize(Weight::from_parts(5_000, 0))] + #[pallet::authorize(| + _source: TransactionSource, + price_payload: &PricePayload>, + signature: &T::Signature, + | -> TransactionValidityWithRefund { + let signature_valid = SignedPayload::::verify::(price_payload, signature.clone()); + if !signature_valid { + return Err(InvalidTransaction::BadProof.into()) + } + Pallet::::validate_transaction_parameters(&price_payload.block_number, &price_payload.price) + .map(|v| (v, /* no refund */ Weight::zero())) + })] + pub fn submit_price_authorized_with_signed_payload( origin: OriginFor, price_payload: PricePayload>, _signature: T::Signature, ) -> DispatchResultWithPostInfo { - // This ensures that the function can only be called via unsigned transaction. - ensure_none(origin)?; + ensure_authorized(origin)?; // Add the price to the on-chain list, but mark it as coming from an empty address. Self::add_price(None, price_payload.price); - // now increment the block number at which we expect next unsigned transaction. + // now increment the block number at which we expect next authorized transaction. let current_block = >::block_number(); - >::put(current_block + T::UnsignedInterval::get()); + >::put(current_block + T::AuthorizedTxInterval::get()); Ok(().into()) } } @@ -305,49 +372,19 @@ pub mod pallet { NewPrice { price: u32, maybe_who: Option }, } - #[pallet::validate_unsigned] - impl ValidateUnsigned for Pallet { - type Call = Call; - - /// Validate unsigned call to this module. - /// - /// By default unsigned transactions are disallowed, but implementing the validator - /// here we make sure that some particular calls (the ones produced by offchain worker) - /// are being whitelisted and marked as valid. - fn validate_unsigned(_source: TransactionSource, call: &Self::Call) -> TransactionValidity { - // Firstly let's check that we call the right function. - if let Call::submit_price_unsigned_with_signed_payload { - price_payload: ref payload, - ref signature, - } = call - { - let signature_valid = - SignedPayload::::verify::(payload, signature.clone()); - if !signature_valid { - return InvalidTransaction::BadProof.into() - } - Self::validate_transaction_parameters(&payload.block_number, &payload.price) - } else if let Call::submit_price_unsigned { block_number, price: new_price } = call { - Self::validate_transaction_parameters(block_number, new_price) - } else { - InvalidTransaction::Call.into() - } - } - } - /// A vector of recently submitted prices. /// /// This is used to calculate average price, should have bounded size. #[pallet::storage] pub(super) type Prices = StorageValue<_, BoundedVec, ValueQuery>; - /// Defines the block when next unsigned transaction will be accepted. + /// Defines the block when next authorized transaction will be accepted. /// - /// To prevent spam of unsigned (and unpaid!) transactions on the network, - /// we only allow one transaction every `T::UnsignedInterval` blocks. + /// To prevent spam of authorized (and unpaid!) transactions on the network, + /// we only allow one transaction every `T::AuthorizedTxInterval` blocks. /// This storage entry defines when new transaction is going to be accepted. #[pallet::storage] - pub(super) type NextUnsignedAt = StorageValue<_, BlockNumberFor, ValueQuery>; + pub(super) type NextAuthorizedAt = StorageValue<_, BlockNumberFor, ValueQuery>; } /// Payload used by this example crate to hold price @@ -369,8 +406,8 @@ impl SignedPayload for PricePayload Pallet { match last_send { // If we already have a value in storage and the block number is recent enough // we avoid sending another transaction at this time. - Ok(Some(block)) if block_number < block + T::GracePeriod::get() => - Err(RECENTLY_SENT), + Ok(Some(block)) if block_number < block + T::GracePeriod::get() => { + Err(RECENTLY_SENT) + }, // In every other case we attempt to acquire the lock and send a transaction. _ => Ok(block_number), } @@ -429,9 +467,9 @@ impl Pallet { if transaction_type == Zero::zero() { TransactionType::Signed } else if transaction_type == BlockNumberFor::::from(1u32) { - TransactionType::UnsignedForAny + TransactionType::AuthorizedForAny } else if transaction_type == BlockNumberFor::::from(2u32) { - TransactionType::UnsignedForAll + TransactionType::AuthorizedForAll } else { TransactionType::Raw } @@ -453,7 +491,7 @@ impl Pallet { if !signer.can_sign() { return Err( "No local accounts available. Consider adding one via `author_insertKey` RPC.", - ) + ); } // Make an external HTTP request to fetch the current price. // Note this call will block until response is received. @@ -480,99 +518,127 @@ impl Pallet { Ok(()) } - /// A helper function to fetch the price and send a raw unsigned transaction. - fn fetch_price_and_send_raw_unsigned( + /// A helper function to fetch the price and send a raw authorized transaction. + fn fetch_price_and_send_raw_authorized( block_number: BlockNumberFor, ) -> Result<(), &'static str> { - // Make sure we don't fetch the price if unsigned transaction is going to be rejected + // Make sure we don't fetch the price if the authorized transaction is going to be rejected // anyway. - let next_unsigned_at = NextUnsignedAt::::get(); - if next_unsigned_at > block_number { - return Err("Too early to send unsigned transaction") + let next_authorized_at = NextAuthorizedAt::::get(); + if next_authorized_at > block_number { + return Err("Too early to send authorized transaction"); } // Make an external HTTP request to fetch the current price. // Note this call will block until response is received. let price = Self::fetch_price().map_err(|_| "Failed to fetch price")?; - // Received price is wrapped into a call to `submit_price_unsigned` public function of this - // pallet. This means that the transaction, when executed, will simply call that function - // passing `price` as an argument. - let call = Call::submit_price_unsigned { block_number, price }; + // Received price is wrapped into a call to `submit_price_authorized` public function of + // this pallet. This means that the transaction, when executed, will simply call that + // function passing `price` as an argument. + let call = Call::submit_price_authorized { block_number, price }; // Now let's create a transaction out of this call and submit it to the pool. - // Here we showcase two ways to send an unsigned transaction / unsigned payload (raw) + // Here we showcase two ways to send a general transaction / unsigned payload (raw) // - // By default unsigned transactions are disallowed, so we need to whitelist this case - // by writing `UnsignedValidator`. Note that it's EXTREMELY important to carefully - // implement unsigned validation logic, as any mistakes can lead to opening DoS or spam - // attack vectors. See validation logic docs for more details. + // By default general transactions start the transaction extension pipeline with the origin + // `None`. We define custom validation logic using the `#[pallet::authorize]` attribute. + // This custom validation is executed by the transaction extension `AuthorizeCall`, which + // will change the origin to `frame_system::Origin::Authorized` if validation succeeds. + // Note that it's EXTREMELY important to carefully implement custom validation logic, as + // any mistakes can lead to opening DoS or spam attack vectors. See validation logic docs + // for more details. // - let xt = T::create_bare(call.into()); + let xt = T::create_authorized_transaction(call.into()); SubmitTransaction::>::submit_transaction(xt) - .map_err(|()| "Unable to submit unsigned transaction.")?; + .map_err(|()| "Unable to submit transaction.")?; Ok(()) } - /// A helper function to fetch the price, sign payload and send an unsigned transaction - fn fetch_price_and_send_unsigned_for_any_account( + /// A helper function to fetch the price, sign payload and send an authorized transaction + fn fetch_price_and_send_authorized_tx_for_any_account( block_number: BlockNumberFor, ) -> Result<(), &'static str> { - // Make sure we don't fetch the price if unsigned transaction is going to be rejected + // Make sure we don't fetch the price if the authorized transaction is going to be rejected // anyway. - let next_unsigned_at = NextUnsignedAt::::get(); - if next_unsigned_at > block_number { - return Err("Too early to send unsigned transaction") + let next_authorized_at = NextAuthorizedAt::::get(); + if next_authorized_at > block_number { + return Err("Too early to send authorized transaction"); } // Make an external HTTP request to fetch the current price. // Note this call will block until response is received. let price = Self::fetch_price().map_err(|_| "Failed to fetch price")?; - // -- Sign using any account - let (_, result) = Signer::::any_account() - .send_unsigned_transaction( - |account| PricePayload { price, block_number, public: account.public.clone() }, - |payload, signature| Call::submit_price_unsigned_with_signed_payload { - price_payload: payload, - signature, - }, - ) - .ok_or("No local accounts accounts available.")?; - result.map_err(|()| "Unable to submit transaction")?; + // Sign using any account and create an authorized transaction + let signer = Signer::::any_account(); + + // Get the first available account + let account = signer.accounts_from_keys().next().ok_or("No local accounts available.")?; + + // Create the payload to sign + let payload = PricePayload { price, block_number, public: account.public.clone() }; + + // Sign the payload + let signature = ::Public, + BlockNumberFor, + > as SignedPayload>::sign::(&payload) + .ok_or("Failed to sign payload")?; + + // Create the call with the signed payload + let call = + Call::submit_price_authorized_with_signed_payload { price_payload: payload, signature }; + + // Create an authorized transaction and submit it + let xt = T::create_authorized_transaction(call.into()); + SubmitTransaction::>::submit_transaction(xt) + .map_err(|()| "Unable to submit transaction")?; Ok(()) } - /// A helper function to fetch the price, sign payload and send an unsigned transaction - fn fetch_price_and_send_unsigned_for_all_accounts( + /// A helper function to fetch the price, sign payload and send an authorized transaction + fn fetch_price_and_send_authorized_tx_for_all_accounts( block_number: BlockNumberFor, ) -> Result<(), &'static str> { - // Make sure we don't fetch the price if unsigned transaction is going to be rejected + // Make sure we don't fetch the price if the authorized transaction is going to be rejected // anyway. - let next_unsigned_at = NextUnsignedAt::::get(); - if next_unsigned_at > block_number { - return Err("Too early to send unsigned transaction") + let next_authorized_at = NextAuthorizedAt::::get(); + if next_authorized_at > block_number { + return Err("Too early to send authorized transaction"); } // Make an external HTTP request to fetch the current price. // Note this call will block until response is received. let price = Self::fetch_price().map_err(|_| "Failed to fetch price")?; - // -- Sign using all accounts - let transaction_results = Signer::::all_accounts() - .send_unsigned_transaction( - |account| PricePayload { price, block_number, public: account.public.clone() }, - |payload, signature| Call::submit_price_unsigned_with_signed_payload { - price_payload: payload, - signature, - }, - ); - for (_account_id, result) in transaction_results.into_iter() { - if result.is_err() { - return Err("Unable to submit transaction") - } + // -- Sign using all accounts and create authorized transactions + let signer = Signer::::all_accounts(); + + // Iterate over all available accounts + for account in signer.accounts_from_keys() { + // Create the payload to sign + let payload = PricePayload { price, block_number, public: account.public.clone() }; + + // Sign the payload + let signature = + ::Public, BlockNumberFor> as SignedPayload< + T, + >>::sign::(&payload) + .ok_or("Failed to sign payload")?; + + // Create the call with the signed payload + let call = Call::submit_price_authorized_with_signed_payload { + price_payload: payload, + signature, + }; + + // Create an authorized transaction and submit it + let xt = T::create_authorized_transaction(call.into()); + SubmitTransaction::>::submit_transaction(xt) + .map_err(|()| "Unable to submit transaction")?; } Ok(()) @@ -607,7 +673,7 @@ impl Pallet { // Let's check the status code before we proceed to reading the response. if response.code != 200 { log::warn!("Unexpected status code: {}", response.code); - return Err(http::Error::Unknown) + return Err(http::Error::Unknown); } // Next we want to fully read the response body and collect it to a vector of bytes. @@ -685,14 +751,14 @@ impl Pallet { new_price: &u32, ) -> TransactionValidity { // Now let's check if the transaction has any chance to succeed. - let next_unsigned_at = NextUnsignedAt::::get(); - if &next_unsigned_at > block_number { - return InvalidTransaction::Stale.into() + let next_authorized_at = NextAuthorizedAt::::get(); + if &next_authorized_at > block_number { + return InvalidTransaction::Stale.into(); } // Let's make sure to reject transactions from the future. let current_block = >::block_number(); if ¤t_block < block_number { - return InvalidTransaction::Future.into() + return InvalidTransaction::Future.into(); } // We prioritize transactions that are more far away from current average. @@ -709,17 +775,17 @@ impl Pallet { // transactions in the pool. Next we tweak the priority depending on how much // it differs from the current average. (the more it differs the more priority it // has). - .priority(T::UnsignedPriority::get().saturating_add(avg_price as _)) + .priority(T::AuthorizedTxPriority::get().saturating_add(avg_price as _)) // This transaction does not require anything else to go before into the pool. - // In theory we could require `previous_unsigned_at` transaction to go first, + // In theory we could require `previous_authorized_at` transaction to go first, // but it's not necessary in our case. //.and_requires() - // We set the `provides` tag to be the same as `next_unsigned_at`. This makes - // sure only one transaction produced after `next_unsigned_at` will ever + // We set the `provides` tag to be the same as `next_authorized_at`. This makes + // sure only one transaction produced after `next_authorized_at` will ever // get to the transaction pool and will end up in the block. // We can still have multiple transactions compete for the same "spot", // and the one with higher priority will replace other one in the pool. - .and_provides(next_unsigned_at) + .and_provides(next_authorized_at) // The transaction is only valid for next 5 blocks. After that it's // going to be revalidated by the pool. .longevity(5) diff --git a/substrate/frame/examples/offchain-worker/src/tests.rs b/substrate/frame/examples/offchain-worker/src/tests.rs index 230873a2dca57..c1cecb1bc61e6 100644 --- a/substrate/frame/examples/offchain-worker/src/tests.rs +++ b/substrate/frame/examples/offchain-worker/src/tests.rs @@ -41,7 +41,16 @@ use sp_runtime::{ RuntimeAppPublic, }; -type Block = frame_system::mocking::MockBlock; +// Use AuthorizeCall as the transaction extension to properly test the #[pallet::authorize] +// validation +type TxExtension = frame_system::AuthorizeCall; +type Extrinsic = TestXt; + +// Define a custom Block that uses our Extrinsic with AuthorizeCall extension +type Block = sp_runtime::generic::Block< + sp_runtime::generic::Header, + Extrinsic, +>; // For testing the module, we construct a mock runtime. frame_support::construct_runtime!( @@ -78,7 +87,6 @@ impl frame_system::Config for Test { type MaxConsumers = ConstU32<16>; } -type Extrinsic = TestXt; type AccountId = <::Signer as IdentifyAccount>::AccountId; impl frame_system::offchain::SigningTypes for Test { @@ -98,10 +106,10 @@ impl frame_system::offchain::CreateTransaction for Test where RuntimeCall: From, { - type Extension = (); + type Extension = TxExtension; - fn create_transaction(call: RuntimeCall, _extension: Self::Extension) -> Extrinsic { - Extrinsic::new_transaction(call, ()) + fn create_transaction(call: RuntimeCall, extension: Self::Extension) -> Extrinsic { + Extrinsic::new_transaction(call, extension) } } @@ -117,28 +125,31 @@ where _account: AccountId, nonce: u64, ) -> Option { - Some(Extrinsic::new_signed(call, nonce, (), ())) + // For signed transactions, AuthorizeCall will detect that the origin is already + // authorized by the signature and will pass through without calling authorize() + Some(Extrinsic::new_signed(call, nonce, (), TxExtension::new())) } } -impl frame_system::offchain::CreateBare for Test +impl frame_system::offchain::CreateAuthorizedTransaction for Test where RuntimeCall: From, { - fn create_bare(call: Self::RuntimeCall) -> Self::Extrinsic { - Extrinsic::new_bare(call) + fn create_extension() -> Self::Extension { + // This will trigger the #[pallet::authorize] validation + TxExtension::new() } } parameter_types! { - pub const UnsignedPriority: u64 = 1 << 20; + pub const AuthorizedTxPriority: u64 = 1 << 20; } impl Config for Test { type AuthorityId = crypto::TestAuthId; type GracePeriod = ConstU64<5>; - type UnsignedInterval = ConstU64<128>; - type UnsignedPriority = UnsignedPriority; + type AuthorizedTxInterval = ConstU64<128>; + type AuthorizedTxPriority = AuthorizedTxPriority; type MaxPrices = ConstU32<64>; } @@ -245,13 +256,14 @@ fn should_submit_signed_transaction_on_chain() { let tx = pool_state.write().transactions.pop().unwrap(); assert!(pool_state.read().transactions.is_empty()); let tx = Extrinsic::decode(&mut &*tx).unwrap(); - assert!(matches!(tx.preamble, sp_runtime::generic::Preamble::Signed(0, (), (),))); + // For signed transactions, the preamble includes the signature and bypass AuthorizeCall + assert!(matches!(tx.preamble, sp_runtime::generic::Preamble::Signed(0, (), _))); assert_eq!(tx.function, RuntimeCall::Example(crate::Call::submit_price { price: 15523 })); }); } #[test] -fn should_submit_unsigned_transaction_on_chain_for_any_account() { +fn should_submit_authorized_transaction_on_chain_for_any_account() { const PHRASE: &str = "news slush supreme milk chapter athlete soap sausage put clutch what kitten"; let (offchain, offchain_state) = testing::TestOffchainExt::new(); @@ -278,15 +290,33 @@ fn should_submit_unsigned_transaction_on_chain_for_any_account() { public: ::Public::from(public_key), }; - // let signature = price_payload.sign::().unwrap(); t.execute_with(|| { + // Set up the block number to match the transaction + System::set_block_number(1); + // when - Example::fetch_price_and_send_unsigned_for_any_account(1).unwrap(); + assert_ok!(Example::fetch_price_and_send_authorized_tx_for_any_account(1)); // then let tx = pool_state.write().transactions.pop().unwrap(); let tx = Extrinsic::decode(&mut &*tx).unwrap(); - assert!(tx.is_inherent()); - if let RuntimeCall::Example(crate::Call::submit_price_unsigned_with_signed_payload { + // General transactions are neither inherent nor signed + assert!(!tx.is_inherent() && !tx.is_signed()); + + // Actually validate the transaction through the authorize logic + use frame_support::traits::Authorize; + use sp_runtime::transaction_validity::TransactionSource; + + let authorize_result = tx.function.authorize(TransactionSource::External); + assert!( + authorize_result.is_some(), + "Transaction should have authorization logic from #[pallet::authorize]" + ); + assert!( + authorize_result.unwrap().is_ok(), + "Transaction should pass #[pallet::authorize] validation" + ); + + if let RuntimeCall::Example(crate::Call::submit_price_authorized_with_signed_payload { price_payload: body, signature, }) = tx.function @@ -306,7 +336,7 @@ fn should_submit_unsigned_transaction_on_chain_for_any_account() { } #[test] -fn should_submit_unsigned_transaction_on_chain_for_all_accounts() { +fn should_submit_authorized_transaction_on_chain_for_all_accounts() { const PHRASE: &str = "news slush supreme milk chapter athlete soap sausage put clutch what kitten"; let (offchain, offchain_state) = testing::TestOffchainExt::new(); @@ -333,15 +363,33 @@ fn should_submit_unsigned_transaction_on_chain_for_all_accounts() { public: ::Public::from(public_key), }; - // let signature = price_payload.sign::().unwrap(); t.execute_with(|| { + // Set up the block number to match the transaction + System::set_block_number(1); + // when - Example::fetch_price_and_send_unsigned_for_all_accounts(1).unwrap(); + Example::fetch_price_and_send_authorized_tx_for_all_accounts(1).unwrap(); // then let tx = pool_state.write().transactions.pop().unwrap(); let tx = Extrinsic::decode(&mut &*tx).unwrap(); - assert!(tx.is_inherent()); - if let RuntimeCall::Example(crate::Call::submit_price_unsigned_with_signed_payload { + // General transactions are neither inherent nor signed + assert!(!tx.is_inherent() && !tx.is_signed()); + + // Actually validate the transaction through the authorize logic + use frame_support::traits::Authorize; + use sp_runtime::transaction_validity::TransactionSource; + + let authorize_result = tx.function.authorize(TransactionSource::External); + assert!( + authorize_result.is_some(), + "Transaction should have authorization logic from #[pallet::authorize]" + ); + assert!( + authorize_result.unwrap().is_ok(), + "Transaction should pass #[pallet::authorize] validation" + ); + + if let RuntimeCall::Example(crate::Call::submit_price_authorized_with_signed_payload { price_payload: body, signature, }) = tx.function @@ -361,7 +409,7 @@ fn should_submit_unsigned_transaction_on_chain_for_all_accounts() { } #[test] -fn should_submit_raw_unsigned_transaction_on_chain() { +fn should_submit_raw_authorized_transaction_on_chain() { let (offchain, offchain_state) = testing::TestOffchainExt::new(); let (pool, pool_state) = testing::TestTransactionPoolExt::new(); @@ -375,16 +423,35 @@ fn should_submit_raw_unsigned_transaction_on_chain() { price_oracle_response(&mut offchain_state.write()); t.execute_with(|| { + // Set up the block number to match the transaction + System::set_block_number(1); + // when - Example::fetch_price_and_send_raw_unsigned(1).unwrap(); + Example::fetch_price_and_send_raw_authorized(1).unwrap(); // then let tx = pool_state.write().transactions.pop().unwrap(); assert!(pool_state.read().transactions.is_empty()); let tx = Extrinsic::decode(&mut &*tx).unwrap(); - assert!(tx.is_inherent()); + // General transactions are neither inherent nor signed + assert!(!tx.is_inherent() && !tx.is_signed()); + + // Actually validate the transaction through the authorize logic + use frame_support::traits::Authorize; + use sp_runtime::transaction_validity::TransactionSource; + + let authorize_result = tx.function.authorize(TransactionSource::External); + assert!( + authorize_result.is_some(), + "Transaction should have authorization logic from #[pallet::authorize]" + ); + assert!( + authorize_result.unwrap().is_ok(), + "Transaction should pass #[pallet::authorize] validation" + ); + assert_eq!( tx.function, - RuntimeCall::Example(crate::Call::submit_price_unsigned { + RuntimeCall::Example(crate::Call::submit_price_authorized { block_number: 1, price: 15523 }) @@ -392,6 +459,39 @@ fn should_submit_raw_unsigned_transaction_on_chain() { }); } +#[test] +fn should_reject_invalid_authorized_transaction() { + let mut t = sp_io::TestExternalities::default(); + + t.execute_with(|| { + // Set NextAuthorizedAt to block 100, so any transaction at block 1 should be stale + crate::NextAuthorizedAt::::put(100u64); + + // Try to create a general transaction with an old block number (should be rejected) + let call = RuntimeCall::Example(crate::Call::submit_price_authorized { + block_number: 1, + price: 100, + }); + + // Try to validate the call's authorization - this should FAIL because the block number is + // too old + use frame_support::traits::Authorize; + use sp_runtime::transaction_validity::TransactionSource; + + let authorize_result = call.authorize(TransactionSource::External); + assert!( + authorize_result.is_some(), + "Transaction should have authorization logic from #[pallet::authorize]" + ); + + // Verify that validation failed due to stale block number + assert!( + authorize_result.unwrap().is_err(), + "Transaction with stale block number should be rejected by #[pallet::authorize] validation" + ); + }); +} + fn price_oracle_response(state: &mut testing::OffchainState) { state.expect_request(testing::PendingRequest { method: "GET".into(), diff --git a/substrate/frame/examples/single-block-migrations/src/lib.rs b/substrate/frame/examples/single-block-migrations/src/lib.rs index 5bbc0a78dcfdd..34069afeefd93 100644 --- a/substrate/frame/examples/single-block-migrations/src/lib.rs +++ b/substrate/frame/examples/single-block-migrations/src/lib.rs @@ -55,12 +55,10 @@ #![doc = docify::embed!("src/lib.rs", CurrentAndPreviousValue)] //! and [`Value`](pallet::Value) is updated to store this new struct instead of a `u32`: #![doc = docify::embed!("src/lib.rs", Value)] -//! //! In StorageVersion V1 of the pallet when [`set_value`](crate::Call::set_value) is called, the //! new value is stored in the `current` field of [`CurrentAndPreviousValue`], and the previous //! value (if it exists) is stored in the `previous` field. #![doc = docify::embed!("src/lib.rs", pallet_calls)] -//! //! ## Why a migration is necessary //! //! Without a migration, there will be a discrepancy between the on-chain storage for [`Value`] (in diff --git a/substrate/frame/executive/src/lib.rs b/substrate/frame/executive/src/lib.rs index 4446ecf1e3d9a..2529242686e39 100644 --- a/substrate/frame/executive/src/lib.rs +++ b/substrate/frame/executive/src/lib.rs @@ -195,12 +195,15 @@ pub enum ExecutiveError { impl core::fmt::Debug for ExecutiveError { fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { match self { - ExecutiveError::UnableToDecodeExtrinsic => - write!(fmt, "The extrinsic could not be decoded correctly"), - ExecutiveError::InvalidInherentPosition(i) => - write!(fmt, "Invalid inherent position for extrinsic at index {}", i), - ExecutiveError::OnlyInherentsAllowed => - write!(fmt, "Only inherents are allowed in this block"), + ExecutiveError::UnableToDecodeExtrinsic => { + write!(fmt, "The extrinsic could not be decoded correctly") + }, + ExecutiveError::InvalidInherentPosition(i) => { + write!(fmt, "Invalid inherent position for extrinsic at index {}", i) + }, + ExecutiveError::OnlyInherentsAllowed => { + write!(fmt, "Only inherents are allowed in this block") + }, ExecutiveError::ApplyExtrinsic(e) => write!( fmt, "ExecuteBlockError applying extrinsic: {}", @@ -761,7 +764,7 @@ where } else { // Check if there are any forbidden non-inherents in the block. if mode == ExtrinsicInclusionMode::OnlyInherents { - return Err(ExecutiveError::OnlyInherentsAllowed) + return Err(ExecutiveError::OnlyInherentsAllowed); } } @@ -803,7 +806,7 @@ where /// ongoing MBMs. fn on_idle_hook(block_number: NumberFor) { if ::MultiBlockMigrator::ongoing() { - return + return; } let weight = >::block_weight(); @@ -897,7 +900,7 @@ where // The entire block should be discarded if an inherent fails to apply. Otherwise // it may open an attack vector. if r.is_err() && dispatch_info.class == DispatchClass::Mandatory { - return Err(InvalidTransaction::BadMandatory.into()) + return Err(InvalidTransaction::BadMandatory.into()); } >::note_applied_extrinsic(&r, dispatch_info); @@ -982,7 +985,7 @@ where }; if dispatch_info.class == DispatchClass::Mandatory { - return Err(InvalidTransaction::MandatoryValidation.into()) + return Err(InvalidTransaction::MandatoryValidation.into()); } within_span! { diff --git a/substrate/frame/executive/src/tests.rs b/substrate/frame/executive/src/tests.rs index 97c54ff46f1a4..55e045295c87e 100644 --- a/substrate/frame/executive/src/tests.rs +++ b/substrate/frame/executive/src/tests.rs @@ -829,7 +829,9 @@ fn block_weight_and_size_is_stored_per_tx() { Executive::initialize_block(&Header::new_from_number(1)); assert_eq!(>::block_weight().total(), base_block_weight); - assert_eq!(>::all_extrinsics_len(), 0); + // After initialize_block, block_size includes the header overhead (digest + empty + // header size). + let header_overhead = >::block_size(); assert!(Executive::apply_extrinsic(xt.clone()).unwrap().is_ok()); assert!(Executive::apply_extrinsic(x1.clone()).unwrap().is_ok()); @@ -845,11 +847,11 @@ fn block_weight_and_size_is_stored_per_tx() { >::block_weight().total(), base_block_weight + 3u64 * extrinsic_weight + 3u64 * Weight::from_parts(0, len as u64), ); - assert_eq!(>::all_extrinsics_len(), 3 * len); + assert_eq!(>::block_size(), 3 * len + header_overhead); let _ = >::finalize(); - // All extrinsics length cleaned on `System::finalize` - assert_eq!(>::all_extrinsics_len(), 0); + // Block size cleaned on `System::finalize` + assert_eq!(>::block_size(), 0); // Reset to a new block. SystemCallbacksCalled::take(); diff --git a/substrate/frame/fast-unstake/src/lib.rs b/substrate/frame/fast-unstake/src/lib.rs index 5006ed391da21..d97d6e4bb5869 100644 --- a/substrate/frame/fast-unstake/src/lib.rs +++ b/substrate/frame/fast-unstake/src/lib.rs @@ -37,9 +37,7 @@ //! pallet and unstake faster than having to wait an entire bonding duration. //! //! *Being exposed with validator* from the point of view of the staking system means earning -//! rewards with the validator, and also being at the risk of slashing with the validator. This is -//! equivalent to the "Active Nominator" role explained in -//! [here](https://polkadot.com/blog/staking-update-february-2022/). +//! rewards with the validator, and also being at the risk of slashing with the validator. //! //! Stakers who are certain about NOT being exposed can register themselves with //! [`Pallet::register_fast_unstake`]. This will chill, fully unbond the staker and place them @@ -72,10 +70,8 @@ //! //! 1. Fast-unstake with multiple participants in the queue. #![doc = docify::embed!("src/tests.rs", successful_multi_queue)] -//! //! 2. Fast unstake failing because a nominator is exposed. #![doc = docify::embed!("src/tests.rs", exposed_nominator_cannot_unstake)] -//! //! ## Pallet API //! //! See the [`pallet`] module for more information about the interfaces this pallet exposes, @@ -273,7 +269,7 @@ pub mod pallet { impl Hooks> for Pallet { fn on_idle(_: BlockNumberFor, remaining_weight: Weight) -> Weight { if remaining_weight.any_lt(T::DbWeight::get().reads(2)) { - return Weight::from_parts(0, 0) + return Weight::from_parts(0, 0); } Self::do_on_idle(remaining_weight) @@ -450,7 +446,7 @@ pub mod pallet { let eras_to_check_per_block = ErasToCheckPerBlock::::get(); if eras_to_check_per_block.is_zero() { - return T::DbWeight::get().reads(1).saturating_add(unaccounted_weight) + return T::DbWeight::get().reads(1).saturating_add(unaccounted_weight); } // NOTE: here we're assuming that the number of validators has only ever increased, @@ -476,7 +472,7 @@ pub mod pallet { if max_weight(validator_count, next_batch_size).any_gt(remaining_weight) { log!(debug, "early exit because eras_to_check_per_block is zero"); - return T::DbWeight::get().reads(3).saturating_add(unaccounted_weight) + return T::DbWeight::get().reads(3).saturating_add(unaccounted_weight); } if T::Staking::election_ongoing() { @@ -484,7 +480,7 @@ pub mod pallet { // there is an ongoing election -- we better not do anything. Imagine someone is not // exposed anywhere in the last era, and the snapshot for the election is already // taken. In this time period, we don't want to accidentally unstake them. - return T::DbWeight::get().reads(4).saturating_add(unaccounted_weight) + return T::DbWeight::get().reads(4).saturating_add(unaccounted_weight); } let UnstakeRequest { stashes, mut checked } = match Head::::take().or_else(|| { @@ -505,7 +501,7 @@ pub mod pallet { }) { None => { // There's no `Head` and nothing in the `Queue`, nothing to do here. - return T::DbWeight::get().reads(4) + return T::DbWeight::get().reads(4); }, Some(head) => head, }; @@ -607,7 +603,7 @@ pub mod pallet { ); match checked.try_extend(unchecked_eras_to_check.clone().into_iter()) { - Ok(_) => + Ok(_) => { if stashes.is_empty() { Self::deposit_event(Event::::BatchFinished { size: 0 }); } else { @@ -615,7 +611,8 @@ pub mod pallet { Self::deposit_event(Event::::BatchChecked { eras: unchecked_eras_to_check, }); - }, + } + }, Err(_) => { // don't put the head back in -- there is an internal error in the pallet. Self::halt("checked is pruned via retain above") diff --git a/substrate/frame/glutton/src/lib.rs b/substrate/frame/glutton/src/lib.rs index 85608ad25e727..8045280382ab4 100644 --- a/substrate/frame/glutton/src/lib.rs +++ b/substrate/frame/glutton/src/lib.rs @@ -209,7 +209,7 @@ pub mod pallet { fn on_idle(_: BlockNumberFor, remaining_weight: Weight) -> Weight { let mut meter = WeightMeter::with_limit(remaining_weight); if meter.try_consume(T::WeightInfo::empty_on_idle()).is_err() { - return T::WeightInfo::empty_on_idle() + return T::WeightInfo::empty_on_idle(); } let proof_size_limit = @@ -427,7 +427,7 @@ pub mod pallet { let base = T::WeightInfo::waste_ref_time_iter(0); let slope = T::WeightInfo::waste_ref_time_iter(1).saturating_sub(base); if !slope.proof_size().is_zero() || !base.proof_size().is_zero() { - return Err(()) + return Err(()); } match meter diff --git a/substrate/frame/grandpa/src/equivocation.rs b/substrate/frame/grandpa/src/equivocation.rs index 029540d2aeacf..efd6cf48f8207 100644 --- a/substrate/frame/grandpa/src/equivocation.rs +++ b/substrate/frame/grandpa/src/equivocation.rs @@ -191,7 +191,7 @@ where // Validate equivocation proof (check votes are different and signatures are valid). if !sp_consensus_grandpa::check_equivocation_proof(equivocation_proof) { - return Err(Error::::InvalidEquivocationProof.into()) + return Err(Error::::InvalidEquivocationProof.into()); } // Validate the key ownership proof extracting the id of the offender. @@ -218,7 +218,7 @@ where .map(|previous_index| session_index <= previous_index) .unwrap_or(false) { - return Err(Error::::InvalidEquivocationProof.into()) + return Err(Error::::InvalidEquivocationProof.into()); } let offence = EquivocationOffence { @@ -251,7 +251,7 @@ impl Pallet { "rejecting unsigned report equivocation transaction because it is not local/in-block." ); - return InvalidTransaction::Call.into() + return InvalidTransaction::Call.into(); }, } diff --git a/substrate/frame/grandpa/src/lib.rs b/substrate/frame/grandpa/src/lib.rs index 67cf98413640c..a068e1c2291ec 100644 --- a/substrate/frame/grandpa/src/lib.rs +++ b/substrate/frame/grandpa/src/lib.rs @@ -519,7 +519,7 @@ impl Pallet { if forced.is_some() { if NextForced::::get().map_or(false, |next| next > scheduled_at) { - return Err(Error::::TooSoon.into()) + return Err(Error::::TooSoon.into()); } // only allow the next forced change when twice the window has passed since diff --git a/substrate/frame/grandpa/src/migrations.rs b/substrate/frame/grandpa/src/migrations.rs index 9d0522c3a6e72..d32870e57746b 100644 --- a/substrate/frame/grandpa/src/migrations.rs +++ b/substrate/frame/grandpa/src/migrations.rs @@ -48,7 +48,7 @@ impl OnRuntimeUpgrade for CleanupSetIdSessionMap { "CleanupSetIdSessionMap migration was aborted since there are too many entries to cleanup." ); - return T::DbWeight::get().reads(1) + return T::DbWeight::get().reads(1); } cleanup_set_id_sesion_map::() diff --git a/substrate/frame/grandpa/src/migrations/v4.rs b/substrate/frame/grandpa/src/migrations/v4.rs index 9daa818071f70..330d5ac4426fb 100644 --- a/substrate/frame/grandpa/src/migrations/v4.rs +++ b/substrate/frame/grandpa/src/migrations/v4.rs @@ -38,7 +38,7 @@ pub fn migrate>(new_pallet_name: N) -> Weight { target: LOG_TARGET, "New pallet name is equal to the old prefix. No migration needs to be done.", ); - return Weight::zero() + return Weight::zero(); } let storage_version = StorageVersion::get::>(); log::info!( diff --git a/substrate/frame/grandpa/src/migrations/v5.rs b/substrate/frame/grandpa/src/migrations/v5.rs index f1af0af42dd0a..a65dd408eeabd 100644 --- a/substrate/frame/grandpa/src/migrations/v5.rs +++ b/substrate/frame/grandpa/src/migrations/v5.rs @@ -49,11 +49,11 @@ impl UncheckedOnRuntimeUpgrade for UncheckedMigrateImpl { if authority_list_len > T::MaxAuthorities::get() { return Err( "Grandpa: `Config::MaxAuthorities` is smaller than the actual number of authorities.".into() - ) + ); } if authority_list_len == 0 { - return Err("Grandpa: Authority list is empty!".into()) + return Err("Grandpa: Authority list is empty!".into()); } Ok(authority_list_len.encode()) diff --git a/substrate/frame/grandpa/src/tests.rs b/substrate/frame/grandpa/src/tests.rs index f4720966b1797..7d42899635edd 100644 --- a/substrate/frame/grandpa/src/tests.rs +++ b/substrate/frame/grandpa/src/tests.rs @@ -381,7 +381,7 @@ fn report_equivocation_current_set_works() { // check that the balances of all other validators are left intact. for validator in &validators { if *validator == equivocation_validator_id { - continue + continue; } assert_eq!(Balances::total_balance(validator), 10_000_000); @@ -460,7 +460,7 @@ fn report_equivocation_old_set_works() { // check that the balances of all other validators are left intact. for validator in &validators { if *validator == equivocation_validator_id { - continue + continue; } assert_eq!(Balances::total_balance(validator), 10_000_000); diff --git a/substrate/frame/identity/src/lib.rs b/substrate/frame/identity/src/lib.rs index 62e25a89aa76d..7a4d02e1eaef8 100644 --- a/substrate/frame/identity/src/lib.rs +++ b/substrate/frame/identity/src/lib.rs @@ -705,14 +705,16 @@ pub mod pallet { let item = (reg_index, Judgement::FeePaid(registrar.fee)); match id.judgements.binary_search_by_key(®_index, |x| x.0) { - Ok(i) => + Ok(i) => { if id.judgements[i].1.is_sticky() { - return Err(Error::::StickyJudgement.into()) + return Err(Error::::StickyJudgement.into()); } else { id.judgements[i] = item - }, - Err(i) => - id.judgements.try_insert(i, item).map_err(|_| Error::::TooManyRegistrars)?, + } + }, + Err(i) => { + id.judgements.try_insert(i, item).map_err(|_| Error::::TooManyRegistrars)? + }, } T::Currency::reserve(&sender, registrar.fee)?; @@ -754,7 +756,7 @@ pub mod pallet { let fee = if let Judgement::FeePaid(fee) = id.judgements.remove(pos).1 { fee } else { - return Err(Error::::JudgementGiven.into()) + return Err(Error::::JudgementGiven.into()); }; let err_amount = T::Currency::unreserve(&sender, fee); @@ -902,7 +904,7 @@ pub mod pallet { let mut id = IdentityOf::::get(&target).ok_or(Error::::InvalidTarget)?; if T::Hashing::hash_of(&id.info) != identity { - return Err(Error::::JudgementForDifferentIdentity.into()) + return Err(Error::::JudgementForDifferentIdentity.into()); } let item = (reg_index, judgement); @@ -1513,7 +1515,7 @@ impl Pallet { ) -> DispatchResult { // Happy path, user has signed the raw data. if signature.verify(data, &signer) { - return Ok(()) + return Ok(()); } // NOTE: for security reasons modern UIs implicitly wrap the data requested to sign into // ` + data + `, so why we support both wrapped and raw versions. diff --git a/substrate/frame/identity/src/migration.rs b/substrate/frame/identity/src/migration.rs index 3a78692cfcd77..ad1e575fa7050 100644 --- a/substrate/frame/identity/src/migration.rs +++ b/substrate/frame/identity/src/migration.rs @@ -154,7 +154,7 @@ pub mod v1 { translated ); interrupted = true; - break + break; } } if !interrupted { @@ -274,47 +274,55 @@ pub mod v2 { // At first, migrate any authorities. None => Self::authority_step(None), // Migrate any remaining authorities. - Some(MigrationState::Authority(maybe_last_authority)) => - Self::authority_step(Some(maybe_last_authority)), + Some(MigrationState::Authority(maybe_last_authority)) => { + Self::authority_step(Some(maybe_last_authority)) + }, // After the last authority was migrated, start migrating usernames from // the former `AccountOfUsername` into `UsernameInfoOf`. Some(MigrationState::FinishedAuthorities) => Self::username_step(None), // Keep migrating usernames. - Some(MigrationState::Username(maybe_last_username)) => - Self::username_step(Some(maybe_last_username)), + Some(MigrationState::Username(maybe_last_username)) => { + Self::username_step(Some(maybe_last_username)) + }, // After the last username was migrated, start migrating all identities in // `IdentityOf`, which currently hold the primary username of the owner account // as well as any associated identity. Accounts which set a username but not an // identity also have a zero deposit identity stored, which will be removed. Some(MigrationState::FinishedUsernames) => Self::identity_step(None), // Keep migrating identities. - Some(MigrationState::Identity(last_key)) => - Self::identity_step(Some(last_key.clone())), + Some(MigrationState::Identity(last_key)) => { + Self::identity_step(Some(last_key.clone())) + }, // After the last identity was migrated, start migrating usernames pending // approval from `PendingUsernames`. Some(MigrationState::FinishedIdentities) => Self::pending_username_step(None), // Keep migrating pending usernames. - Some(MigrationState::PendingUsername(last_key)) => - Self::pending_username_step(Some(last_key.clone())), + Some(MigrationState::PendingUsername(last_key)) => { + Self::pending_username_step(Some(last_key.clone())) + }, // After the last pending username was migrated, start clearing the storage // previously associated with authorities in `UsernameAuthority`. - Some(MigrationState::FinishedPendingUsernames) => - Self::cleanup_authority_step(None), + Some(MigrationState::FinishedPendingUsernames) => { + Self::cleanup_authority_step(None) + }, // Keep clearing the obsolete authority storage. - Some(MigrationState::CleanupAuthorities(maybe_last_username)) => - Self::cleanup_authority_step(Some(maybe_last_username)), + Some(MigrationState::CleanupAuthorities(maybe_last_username)) => { + Self::cleanup_authority_step(Some(maybe_last_username)) + }, // After the last obsolete authority was cleared from storage, start clearing // the storage previously associated with usernames in `AccountOfUsername`. - Some(MigrationState::FinishedCleanupAuthorities) => - Self::cleanup_username_step(None), + Some(MigrationState::FinishedCleanupAuthorities) => { + Self::cleanup_username_step(None) + }, // Keep clearing the obsolete username storage. - Some(MigrationState::CleanupUsernames(maybe_last_username)) => - Self::cleanup_username_step(Some(maybe_last_username)), + Some(MigrationState::CleanupUsernames(maybe_last_username)) => { + Self::cleanup_username_step(Some(maybe_last_username)) + }, // After the last obsolete username was cleared from storage, the migration is // done. Some(MigrationState::Finished) => { StorageVersion::new(Self::id().version_to as u16).put::>(); - return Ok(None) + return Ok(None); }, }; @@ -428,12 +436,15 @@ pub mod v2 { ) -> Weight { match step { MigrationState::Authority(_) => T::WeightInfo::migration_v2_authority_step(), - MigrationState::FinishedAuthorities | MigrationState::Username(_) => - T::WeightInfo::migration_v2_username_step(), - MigrationState::FinishedUsernames | MigrationState::Identity(_) => - T::WeightInfo::migration_v2_identity_step(), - MigrationState::FinishedIdentities | MigrationState::PendingUsername(_) => - T::WeightInfo::migration_v2_pending_username_step(), + MigrationState::FinishedAuthorities | MigrationState::Username(_) => { + T::WeightInfo::migration_v2_username_step() + }, + MigrationState::FinishedUsernames | MigrationState::Identity(_) => { + T::WeightInfo::migration_v2_identity_step() + }, + MigrationState::FinishedIdentities | MigrationState::PendingUsername(_) => { + T::WeightInfo::migration_v2_pending_username_step() + }, MigrationState::FinishedPendingUsernames | MigrationState::CleanupAuthorities(_) => T::WeightInfo::migration_v2_cleanup_authority_step(), MigrationState::FinishedCleanupAuthorities | diff --git a/substrate/frame/identity/src/tests.rs b/substrate/frame/identity/src/tests.rs index c8e6e4874c64f..0dd9f44decb00 100644 --- a/substrate/frame/identity/src/tests.rs +++ b/substrate/frame/identity/src/tests.rs @@ -1436,7 +1436,7 @@ fn invalid_usernames_should_be_rejected() { b"test.username".to_vec(), b"test@username".to_vec(), b"test$username".to_vec(), - //0 1 2 v With `.test` this makes it too long. + // 0 1 2 v With `.test` this makes it too long. b"testusernametestusernametest".to_vec(), ]; for username in invalid_usernames.into_iter().map(|mut username| { diff --git a/substrate/frame/im-online/src/lib.rs b/substrate/frame/im-online/src/lib.rs index a83fa1b076ea3..dc18f394a767c 100644 --- a/substrate/frame/im-online/src/lib.rs +++ b/substrate/frame/im-online/src/lib.rs @@ -455,19 +455,19 @@ pub mod pallet { if let Call::heartbeat { heartbeat, signature } = call { if >::is_online(heartbeat.authority_index) { // we already received a heartbeat for this authority - return InvalidTransaction::Stale.into() + return InvalidTransaction::Stale.into(); } // check if session index from heartbeat is recent let current_session = T::ValidatorSet::session_index(); if heartbeat.session_index != current_session { - return InvalidTransaction::Stale.into() + return InvalidTransaction::Stale.into(); } // verify that the incoming (unverified) pubkey is actually an authority id let keys = Keys::::get(); if keys.len() as u32 != heartbeat.validators_len { - return InvalidTransaction::Custom(INVALID_VALIDATORS_LEN).into() + return InvalidTransaction::Custom(INVALID_VALIDATORS_LEN).into(); } let authority_id = match keys.get(heartbeat.authority_index as usize) { Some(id) => id, @@ -480,7 +480,7 @@ pub mod pallet { }); if !signature_valid { - return InvalidTransaction::BadProof.into() + return InvalidTransaction::BadProof.into(); } ValidTransaction::with_tag_prefix("ImOnline") @@ -520,7 +520,7 @@ impl Pallet { let current_validators = T::ValidatorSet::validators(); if authority_index >= current_validators.len() as u32 { - return false + return false; } let authority = ¤t_validators[authority_index as usize]; @@ -592,7 +592,7 @@ impl Pallet { }; if !should_heartbeat { - return Err(OffchainErr::TooEarly) + return Err(OffchainErr::TooEarly); } let session_index = T::ValidatorSet::session_index(); @@ -627,7 +627,7 @@ impl Pallet { }; if Self::is_online(authority_index) { - return Err(OffchainErr::AlreadyOnline(authority_index)) + return Err(OffchainErr::AlreadyOnline(authority_index)); } // acquire lock for that authority at current heartbeat to make sure we don't @@ -694,15 +694,16 @@ impl Pallet { // we will re-send it. match status { // we are still waiting for inclusion. - Ok(Some(status)) if status.is_recent(session_index, now) => - Err(OffchainErr::WaitingForInclusion(status.sent_at)), + Ok(Some(status)) if status.is_recent(session_index, now) => { + Err(OffchainErr::WaitingForInclusion(status.sent_at)) + }, // attempt to set new status _ => Ok(HeartbeatStatus { session_index, sent_at: now }), } }, ); if let Err(MutateStorageError::ValueFunctionFailed(err)) = res { - return Err(err) + return Err(err); } let mut new_status = res.map_err(|_| OffchainErr::FailedToAcquireLock)?; diff --git a/substrate/frame/im-online/src/migration.rs b/substrate/frame/im-online/src/migration.rs index 6d3a5cda69735..2a0587374bafd 100644 --- a/substrate/frame/im-online/src/migration.rs +++ b/substrate/frame/im-online/src/migration.rs @@ -75,7 +75,7 @@ pub mod v1 { target: TARGET, "Skipping migration because in-code storage version is not 0" ); - return weight + return weight; } let heartbeats = v0::ReceivedHeartbeats::::drain().collect::>(); diff --git a/substrate/frame/im-online/src/tests.rs b/substrate/frame/im-online/src/tests.rs index b9a2772da689c..5a5c69b43b122 100644 --- a/substrate/frame/im-online/src/tests.rs +++ b/substrate/frame/im-online/src/tests.rs @@ -125,8 +125,9 @@ fn heartbeat( signature: signature.clone(), }) .map_err(|e| match e { - TransactionValidityError::Invalid(InvalidTransaction::Custom(INVALID_VALIDATORS_LEN)) => - "invalid validators len", + TransactionValidityError::Invalid(InvalidTransaction::Custom(INVALID_VALIDATORS_LEN)) => { + "invalid validators len" + }, e @ _ => <&'static str>::from(e), })?; ImOnline::heartbeat(RuntimeOrigin::none(), heartbeat, signature) @@ -226,8 +227,9 @@ fn should_generate_heartbeats() { // check stuff about the transaction. let ex: Extrinsic = Decode::decode(&mut &*transaction).unwrap(); let heartbeat = match ex.function { - crate::mock::RuntimeCall::ImOnline(crate::Call::heartbeat { heartbeat, .. }) => - heartbeat, + crate::mock::RuntimeCall::ImOnline(crate::Call::heartbeat { heartbeat, .. }) => { + heartbeat + }, e => panic!("Unexpected call: {:?}", e), }; @@ -340,8 +342,9 @@ fn should_not_send_a_report_if_already_online() { // check stuff about the transaction. let ex: Extrinsic = Decode::decode(&mut &*transaction).unwrap(); let heartbeat = match ex.function { - crate::mock::RuntimeCall::ImOnline(crate::Call::heartbeat { heartbeat, .. }) => - heartbeat, + crate::mock::RuntimeCall::ImOnline(crate::Call::heartbeat { heartbeat, .. }) => { + heartbeat + }, e => panic!("Unexpected call: {:?}", e), }; diff --git a/substrate/frame/insecure-randomness-collective-flip/src/lib.rs b/substrate/frame/insecure-randomness-collective-flip/src/lib.rs index 0e7e8001d5df7..c0e7eda57b06c 100644 --- a/substrate/frame/insecure-randomness-collective-flip/src/lib.rs +++ b/substrate/frame/insecure-randomness-collective-flip/src/lib.rs @@ -178,8 +178,9 @@ mod tests { ); parameter_types! { - pub BlockLength: limits::BlockLength = limits::BlockLength - ::max(2 * 1024); + pub BlockLength: limits::BlockLength = limits::BlockLength::builder() + .max_length(2 * 1024) + .build(); } #[derive_impl(frame_system::config_preludes::TestDefaultConfig)] diff --git a/substrate/frame/lottery/src/lib.rs b/substrate/frame/lottery/src/lib.rs index 4a9f8e7dcf89f..3a50945ae6553 100644 --- a/substrate/frame/lottery/src/lib.rs +++ b/substrate/frame/lottery/src/lib.rs @@ -267,11 +267,11 @@ pub mod pallet { LotteryIndex::::mutate(|index| *index = index.saturating_add(1)); // Set a new start with the current block. config.start = n; - return T::WeightInfo::on_initialize_repeat() + return T::WeightInfo::on_initialize_repeat(); } else { // Else, kill the lottery storage. *lottery = None; - return T::WeightInfo::on_initialize_end() + return T::WeightInfo::on_initialize_end(); } // We choose not need to kill Participants and Tickets to avoid a large // number of writes at one time. Instead, data persists between lotteries, @@ -429,7 +429,7 @@ impl Pallet { fn call_to_index(call: &::RuntimeCall) -> Result { let encoded_call = call.encode(); if encoded_call.len() < 2 { - return Err(Error::::EncodingFailed.into()) + return Err(Error::::EncodingFailed.into()); } Ok((encoded_call[0], encoded_call[1])) } @@ -492,14 +492,14 @@ impl Pallet { /// Returns `None` if there are no tickets. fn choose_ticket(total: u32) -> Option { if total == 0 { - return None + return None; } let mut random_number = Self::generate_random_number(0); // Best effort attempt to remove bias from modulus operator. for i in 1..T::MaxGenerateRandom::get() { if random_number < u32::MAX - u32::MAX % total { - break + break; } random_number = Self::generate_random_number(i); diff --git a/substrate/frame/membership/src/migrations/v4.rs b/substrate/frame/membership/src/migrations/v4.rs index 9b80aca868474..5982fcef0a6cf 100644 --- a/substrate/frame/membership/src/migrations/v4.rs +++ b/substrate/frame/membership/src/migrations/v4.rs @@ -47,7 +47,7 @@ pub fn migrate::on_chain_storage_version(); @@ -86,7 +86,7 @@ pub fn pre_migrate>(old_pallet_name: N, new_ log_migration("pre-migration", old_pallet_name, new_pallet_name); if new_pallet_name == old_pallet_name { - return + return; } let new_pallet_prefix = twox_128(new_pallet_name.as_bytes()); @@ -114,7 +114,7 @@ pub fn post_migrate>(old_pallet_name: N, new log_migration("post-migration", old_pallet_name, new_pallet_name); if new_pallet_name == old_pallet_name { - return + return; } // Assert that nothing remains at the old prefix. diff --git a/substrate/frame/merkle-mountain-range/src/lib.rs b/substrate/frame/merkle-mountain-range/src/lib.rs index cc64dfcb7de88..ce2a094b94ccd 100644 --- a/substrate/frame/merkle-mountain-range/src/lib.rs +++ b/substrate/frame/merkle-mountain-range/src/lib.rs @@ -222,7 +222,6 @@ pub mod pallet { /// Current size of the MMR (number of leaves). #[pallet::storage] - #[pallet::getter(fn mmr_leaves)] pub type NumberOfLeaves = StorageValue<_, LeafIndex, ValueQuery>; /// Hashes of the nodes in the MMR. @@ -230,7 +229,6 @@ pub mod pallet { /// Note this collection only contains MMR peaks, the inner nodes (and leaves) /// are pruned and only stored in the Offchain DB. #[pallet::storage] - #[pallet::getter(fn mmr_peak)] pub type Nodes, I: 'static = ()> = StorageMap<_, Identity, NodeIndex, HashOf, OptionQuery>; @@ -251,14 +249,14 @@ pub mod pallet { // MMR push never fails, but better safe than sorry. if mmr.push(data).is_none() { log::error!(target: "runtime::mmr", "MMR push failed"); - return T::WeightInfo::on_initialize(peaks_before as u32) + return T::WeightInfo::on_initialize(peaks_before as u32); } // Update the size, `mmr.finalize()` should also never fail. let (leaves, root) = match mmr.finalize() { Ok((leaves, root)) => (leaves, root), Err(e) => { log::error!(target: "runtime::mmr", "MMR finalize failed: {:?}", e); - return T::WeightInfo::on_initialize(peaks_before as u32) + return T::WeightInfo::on_initialize(peaks_before as u32); }, }; >::on_new_root(&root); @@ -338,7 +336,7 @@ impl, I: 'static> Pallet { // `block_num = (current_block_num - leaves_count) + leaf_idx + 1` // `parent_block_num = current_block_num - leaves_count + leaf_idx`. >::block_number() - .saturating_sub(Self::mmr_leaves().saturated_into()) + .saturating_sub(NumberOfLeaves::::get().saturated_into()) .saturating_add(leaf_index.saturated_into()) } @@ -411,7 +409,7 @@ impl, I: 'static> Pallet { { return Err( Error::Verify.log_debug("The proof has incorrect number of leaves or proof items.") - ) + ); } let mmr: ModuleMmr = mmr::Mmr::new(proof.leaf_count); @@ -462,4 +460,14 @@ impl, I: 'static> Pallet { pub fn mmr_root() -> HashOf { RootHash::::get() } + + /// Returns the current size of the MMR (number of leaves). + pub fn mmr_leaves() -> LeafIndex { + NumberOfLeaves::::get() + } + + /// Returns the hash of a node in the MMR, if one exists. + pub fn mmr_peak(node_index: NodeIndex) -> Option> { + Nodes::::get(node_index) + } } diff --git a/substrate/frame/merkle-mountain-range/src/mmr/mmr.rs b/substrate/frame/merkle-mountain-range/src/mmr/mmr.rs index 69a08a8b2d6af..03c0c3df11a3a 100644 --- a/substrate/frame/merkle-mountain-range/src/mmr/mmr.rs +++ b/substrate/frame/merkle-mountain-range/src/mmr/mmr.rs @@ -45,7 +45,7 @@ where let size = NodesUtils::new(proof.leaf_count).size(); if leaves.len() != proof.leaf_indices.len() { - return Err(Error::Verify.log_debug("Proof leaf_indices not same length with leaves")) + return Err(Error::Verify.log_debug("Proof leaf_indices not same length with leaves")); } let leaves_and_position_data = proof @@ -156,7 +156,7 @@ where ); if leaves.len() != proof.leaf_indices.len() { - return Err(Error::Verify.log_debug("Proof leaf_indices not same length with leaves")) + return Err(Error::Verify.log_debug("Proof leaf_indices not same length with leaves")); } let leaves_positions_and_data = proof diff --git a/substrate/frame/merkle-mountain-range/src/mmr/storage.rs b/substrate/frame/merkle-mountain-range/src/mmr/storage.rs index c201c0ea846d3..86c58e0b08b6c 100644 --- a/substrate/frame/merkle-mountain-range/src/mmr/storage.rs +++ b/substrate/frame/merkle-mountain-range/src/mmr/storage.rs @@ -102,7 +102,7 @@ where ); // Try to retrieve the element from Off-chain DB. if let Some(elem) = OffchainStorage::get(&key) { - return Ok(codec::Decode::decode(&mut &*elem).ok()) + return Ok(codec::Decode::decode(&mut &*elem).ok()); } // Fall through to searching node using fork-specific key. @@ -150,7 +150,7 @@ where { fn append(&mut self, pos: NodeIndex, elems: Vec>) -> mmr_lib::Result<()> { if elems.is_empty() { - return Ok(()) + return Ok(()); } trace!( @@ -162,7 +162,7 @@ where let size = NodesUtils::new(leaves).size(); if pos != size { - return Err(mmr_lib::Error::InconsistentStore) + return Err(mmr_lib::Error::InconsistentStore); } let new_size = size + elems.len() as NodeIndex; diff --git a/substrate/frame/message-queue/src/lib.rs b/substrate/frame/message-queue/src/lib.rs index 1f49ca8fa9843..a6f5932791079 100644 --- a/substrate/frame/message-queue/src/lib.rs +++ b/substrate/frame/message-queue/src/lib.rs @@ -344,7 +344,7 @@ where /// SAFETY: Does not panic even on corrupted storage. fn peek_first(&self) -> Option>> { if self.first > self.last { - return None + return None; } let f = (self.first.into() as usize).min(self.heap.len()); let mut item_slice = &self.heap[f..]; @@ -353,7 +353,7 @@ where if payload_len <= item_slice.len() { // impossible to truncate since is sliced up from `self.heap: BoundedVec` - return Some(BoundedSlice::defensive_truncate_from(&item_slice[..payload_len])) + return Some(BoundedSlice::defensive_truncate_from(&item_slice[..payload_len])); } } defensive!("message-queue: heap corruption"); @@ -386,14 +386,14 @@ where let h = ItemHeader::::decode(&mut item_slice).ok()?; let item_len = h.payload_len.into() as usize; if item_slice.len() < item_len { - return None + return None; } item_slice = &item_slice[item_len..]; pos.saturating_accrue(header_len.saturating_add(item_len)); } let h = ItemHeader::::decode(&mut item_slice).ok()?; if item_slice.len() < h.payload_len.into() as usize { - return None + return None; } item_slice = &item_slice[..h.payload_len.into() as usize]; Some((pos, h.is_processed, item_slice)) @@ -884,7 +884,7 @@ impl Pallet { /// Returns the current head if it got be bumped and `None` otherwise. fn bump_service_head(weight: &mut WeightMeter) -> Option> { if weight.try_consume(T::WeightInfo::bump_service_head()).is_err() { - return None + return None; } if let Some(head) = ServiceHead::::get() { @@ -903,7 +903,7 @@ impl Pallet { fn set_service_head(weight: &mut WeightMeter, queue: &MessageOriginOf) -> Result { if weight.try_consume(T::WeightInfo::set_service_head()).is_err() { - return Err(()) + return Err(()); } // Ensure that we never set the head to an un-ready queue. @@ -964,13 +964,13 @@ impl Pallet { "ServiceWeight too low: {}. Must be at least {}", service, Self::single_msg_overhead(), - )) + )); } if service.any_gt(max_block) { return Err(format!( "ServiceWeight {service} is bigger than max block weight {max_block}" - )) + )); } } @@ -978,7 +978,7 @@ impl Pallet { if on_idle.any_gt(max_block) { return Err(format!( "IdleMaxServiceWeight {on_idle} is bigger than max block weight {max_block}" - )) + )); } } @@ -989,7 +989,7 @@ impl Pallet { on_idle.all_gt(service_weight) || service_weight == on_idle) { - return Err("One of `ServiceWeight` or `IdleMaxServiceWeight` needs to be `all_gt` or both need to be equal.".into()) + return Err("One of `ServiceWeight` or `IdleMaxServiceWeight` needs to be `all_gt` or both need to be equal.".into()); } } @@ -1110,8 +1110,9 @@ impl Pallet { // additional overweight event being deposited. ) { Overweight | InsufficientWeight => Err(Error::::InsufficientWeight), - StackLimitReached | Unprocessable { permanent: false } => - Err(Error::::TemporarilyUnprocessable), + StackLimitReached | Unprocessable { permanent: false } => { + Err(Error::::TemporarilyUnprocessable) + }, Unprocessable { permanent: true } | Processed => { page.note_processed_at_pos(pos); book_state.message_count.saturating_dec(); @@ -1227,14 +1228,14 @@ impl Pallet { ) .is_err() { - return (false, None) + return (false, None); } let mut book_state = BookStateFor::::get(&origin); let mut total_processed = 0; if T::QueuePausedQuery::is_paused(&origin) { let next_ready = book_state.ready_neighbours.as_ref().map(|x| x.next.clone()); - return (false, next_ready) + return (false, next_ready); } while book_state.end > book_state.begin { @@ -1282,7 +1283,7 @@ impl Pallet { ) .is_err() { - return (0, Bailed) + return (0, Bailed); } let page_index = book_state.begin; @@ -1290,7 +1291,7 @@ impl Pallet { Some(p) => p, None => { defensive!("message-queue: referenced page not found"); - return (0, NoMore) + return (0, NoMore); }, }; @@ -1340,10 +1341,10 @@ impl Pallet { // This ugly pre-checking is needed for the invariant // "we never bail if a page became complete". if page.is_complete() { - return ItemExecutionStatus::NoItem + return ItemExecutionStatus::NoItem; } if weight.try_consume(T::WeightInfo::service_page_item()).is_err() { - return ItemExecutionStatus::Bailed + return ItemExecutionStatus::Bailed; } let payload = &match page.peek_first() { @@ -1371,7 +1372,7 @@ impl Pallet { *page = new_page; } else { defensive!("page must exist since we just inserted it and recursive calls are not allowed to remove anything"); - return ItemExecutionStatus::NoItem + return ItemExecutionStatus::NoItem; }; let is_processed = match res { @@ -1433,7 +1434,7 @@ impl Pallet { ensure!(fp.ready_pages <= fp.pages, "There cannot be more ready than total pages"); } - //loop around this origin + // loop around this origin let Some(starting_origin) = ServiceHead::::get() else { return Ok(()) }; while let Some(head) = Self::bump_service_head(&mut WeightMeter::new()) { @@ -1479,7 +1480,7 @@ impl Pallet { counted_remaining_messages += 1; } } else { - break + break; } } @@ -1490,7 +1491,7 @@ impl Pallet { } if head_book_state.ready_neighbours.as_ref().unwrap().next == starting_origin { - break + break; } } Ok(()) @@ -1535,7 +1536,7 @@ impl Pallet { page_info.push_str(&format!("{:?}, ", msg)); page.skip_first(true); } else { - break + break; } } page_info.push_str("]\n"); @@ -1581,7 +1582,7 @@ impl Pallet { defensive!( "Error occurred processing message, storage changes will be rolled back" ); - return MessageExecutionStatus::Unprocessable { permanent: true } + return MessageExecutionStatus::Unprocessable { permanent: true }; }, }; @@ -1653,10 +1654,10 @@ impl Pallet { let (progressed, n) = Self::service_queue(next.clone(), &mut weight, overweight_limit); next = match n { - Some(n) => + Some(n) => { if !progressed { if last_no_progress == Some(n.clone()) { - break + break; } if last_no_progress.is_none() { last_no_progress = Some(next.clone()) @@ -1665,7 +1666,8 @@ impl Pallet { } else { last_no_progress = None; n - }, + } + }, None => break, } } @@ -1768,7 +1770,7 @@ impl ServiceQueues for Pallet { ) .is_err() { - return Err(ExecuteOverweightError::InsufficientWeight) + return Err(ExecuteOverweightError::InsufficientWeight); } Pallet::::do_execute_overweight(message_origin, page, index, weight.remaining()).map_err( @@ -1776,8 +1778,9 @@ impl ServiceQueues for Pallet { Error::::InsufficientWeight => ExecuteOverweightError::InsufficientWeight, Error::::AlreadyProcessed => ExecuteOverweightError::AlreadyProcessed, Error::::QueuePaused => ExecuteOverweightError::QueuePaused, - Error::::NoPage | Error::::NoMessage | Error::::Queued => - ExecuteOverweightError::NotFound, + Error::::NoPage | Error::::NoMessage | Error::::Queued => { + ExecuteOverweightError::NotFound + }, Error::::RecursiveDisallowed => ExecuteOverweightError::RecursiveDisallowed, _ => ExecuteOverweightError::Other, }, @@ -1809,7 +1812,7 @@ impl EnqueueMessage> for Pallet { fn sweep_queue(origin: MessageOriginOf) { if !BookStateFor::::contains_key(&origin) { - return + return; } let mut book_state = BookStateFor::::get(&origin); book_state.begin = book_state.end; diff --git a/substrate/frame/message-queue/src/mock.rs b/substrate/frame/message-queue/src/mock.rs index f3906373dc144..5c2c5048d28f9 100644 --- a/substrate/frame/message-queue/src/mock.rs +++ b/substrate/frame/message-queue/src/mock.rs @@ -179,7 +179,7 @@ impl ProcessMessage for RecordingMessageProcessor { if (b'0'..=b'9').contains(&c) { w = w * 10 + (c - b'0') as u64; } else { - break + break; } } w @@ -192,11 +192,11 @@ impl ProcessMessage for RecordingMessageProcessor { if let Some(p) = message.strip_prefix(&b"callback="[..]) { let s = String::from_utf8(p.to_vec()).expect("Need valid UTF8"); if let Err(()) = Callback::get()(&origin, s.parse().expect("Expected an u32")) { - return Err(ProcessMessageError::Corrupt) + return Err(ProcessMessageError::Corrupt); } if s.contains("000") { - return Ok(false) + return Ok(false); } } @@ -219,7 +219,7 @@ parameter_types! { /// `yield` will fail with an error respectively. fn processing_message(msg: &[u8], origin: &MessageOrigin) -> Result<(), ProcessMessageError> { if YieldingQueues::get().contains(&origin) { - return Err(ProcessMessageError::Yield) + return Err(ProcessMessageError::Yield); } let msg = String::from_utf8_lossy(msg); @@ -259,7 +259,7 @@ impl ProcessMessage for CountingMessageProcessor { ) -> Result { if let Err(e) = processing_message(message, &origin) { NumMessagesErrored::set(NumMessagesErrored::get() + 1); - return Err(e) + return Err(e); } let required = Weight::from_parts(1, 1); @@ -267,7 +267,7 @@ impl ProcessMessage for CountingMessageProcessor { if let Some(p) = message.strip_prefix(&b"callback="[..]) { let s = String::from_utf8(p.to_vec()).expect("Need valid UTF8"); if let Err(()) = Callback::get()(&origin, s.parse().expect("Expected an u32")) { - return Err(ProcessMessageError::Corrupt) + return Err(ProcessMessageError::Corrupt); } } diff --git a/substrate/frame/message-queue/src/mock_helpers.rs b/substrate/frame/message-queue/src/mock_helpers.rs index a0dab93c371d7..9ca9154bd2ee4 100644 --- a/substrate/frame/message-queue/src/mock_helpers.rs +++ b/substrate/frame/message-queue/src/mock_helpers.rs @@ -119,7 +119,7 @@ pub fn full_page() -> (PageOf, usize) { for i in 0..u32::MAX { let r = i.using_encoded(|d| page.try_append_message::(d.try_into().unwrap())); if r.is_err() { - break + break; } else { msgs += 1; } diff --git a/substrate/frame/message-queue/src/tests.rs b/substrate/frame/message-queue/src/tests.rs index 4f7d9997f7ae4..3fdda86a4e2ad 100644 --- a/substrate/frame/message-queue/src/tests.rs +++ b/substrate/frame/message-queue/src/tests.rs @@ -333,7 +333,7 @@ fn reap_page_permanent_overweight_works() { let watermark = b.begin.saturating_sub(backlog); if i >= watermark { - break + break; } assert_ok!(MessageQueue::do_reap_page(&Here, i)); assert_eq!(QueueChanges::take(), vec![(Here, b.message_count - 1, b.size - 23)]); @@ -871,7 +871,7 @@ fn page_try_append_message_basic_works() { for i in 0..u32::MAX { let r = i.using_encoded(|i| page.try_append_message::(i.try_into().unwrap())); if r.is_err() { - break + break; } else { msgs += 1; } diff --git a/substrate/frame/meta-tx/src/lib.rs b/substrate/frame/meta-tx/src/lib.rs index 320a8bdbd77bf..d288fcf12de01 100644 --- a/substrate/frame/meta-tx/src/lib.rs +++ b/substrate/frame/meta-tx/src/lib.rs @@ -36,7 +36,6 @@ //! //! ### Example #![doc = docify::embed!("src/tests.rs", sign_and_execute_meta_tx)] -//! //! ## Low-Level / Implementation Details //! //! The structure of a meta transaction is identical to the diff --git a/substrate/frame/migrations/src/lib.rs b/substrate/frame/migrations/src/lib.rs index e18fa69b090ae..f0215af47ca3d 100644 --- a/substrate/frame/migrations/src/lib.rs +++ b/substrate/frame/migrations/src/lib.rs @@ -36,7 +36,6 @@ //! until all migrations finish executing. Afterwards, the recorded historic migrations are //! checked and events are asserted. #![doc = docify::embed!("src/tests.rs", simple_works)] -//! //! ## Pallet API //! //! See the [`pallet`] module for more information about the interfaces this pallet exposes, @@ -171,7 +170,7 @@ use frame_system::{ pallet_prelude::{BlockNumberFor, *}, Pallet as System, }; -use sp_runtime::Saturating; +use sp_runtime::{SaturatedConversion, Saturating}; /// Points to the next migration to execute. #[derive( @@ -317,6 +316,45 @@ struct PreUpgradeBytesWrapper(pub Vec); type PreUpgradeBytes = StorageMap, Twox64Concat, IdentifierOf, PreUpgradeBytesWrapper, ValueQuery>; +/// The status of multi-block migrations. +#[derive(Encode, Decode, TypeInfo, Debug, PartialEq, Eq)] +pub enum MbmIsOngoing { + /// Migrations are ongoing. + Yes, + /// Migrations are not ongoing. + No, + /// Migrations are stuck. + Stuck, +} + +/// The comprehensive status of multi-block migrations. +#[derive(Encode, Decode, TypeInfo, Debug, PartialEq, Eq)] +pub struct MbmStatus { + /// Whether migrations are ongoing. + pub ongoing: MbmIsOngoing, + /// Progress information about the current migration, if any. + pub progress: Option, + /// The storage prefixes that are affected by the current migration. + /// + /// Can be empty if the migration does not know or there are no prefixes. + pub prefixes: Vec>, +} + +/// Progress information for the current migration. +#[derive(Encode, Decode, TypeInfo, Debug, PartialEq, Eq)] +pub struct MbmProgress { + /// The index of the current migration. + pub current_migration: u32, + /// The total number of migrations. + pub total_migrations: u32, + /// The number of steps that the current migration has taken. + pub current_migration_steps: u32, + /// The maximum number of steps that the current migration can take. + /// + /// Can be `None` if the migration does not know or there is no limit. + pub current_migration_max_steps: Option, +} + #[frame_support::pallet] pub mod pallet { use super::*; @@ -634,6 +672,63 @@ pub mod pallet { Ok(()) } } + + #[pallet::view_functions] + impl Pallet { + /// Returns the ongoing status of migrations. + pub fn ongoing_status() -> MbmIsOngoing { + match Cursor::::get() { + Some(MigrationCursor::Active(_)) => MbmIsOngoing::Yes, + Some(MigrationCursor::Stuck) => MbmIsOngoing::Stuck, + None => MbmIsOngoing::No, + } + } + + /// Returns progress information about the current migration, if any. + /// + /// This function provides detailed information about the current migration's progress, + /// including the number of steps completed and the maximum allowed steps. + pub fn progress() -> Option { + match Cursor::::get() { + Some(MigrationCursor::Active(cursor)) => { + let blocks_elapsed = + System::::block_number().saturating_sub(cursor.started_at); + let estimated_steps = blocks_elapsed.saturated_into::(); + + Some(MbmProgress { + current_migration: cursor.index, + total_migrations: T::Migrations::len(), + current_migration_steps: estimated_steps, + current_migration_max_steps: T::Migrations::nth_max_steps(cursor.index)?, + }) + }, + _ => None, + } + } + + /// Returns the storage prefixes affected by the current migration. + /// + /// Can be empty if the migration does not know or there are no prefixes. + pub fn affected_prefixes() -> Vec> { + match Cursor::::get() { + Some(MigrationCursor::Active(cursor)) => { + T::Migrations::nth_migrating_prefixes(cursor.index) + .flatten() + .unwrap_or_default() + }, + _ => Vec::new(), + } + } + + /// Returns the comprehensive status of multi-block migrations. + pub fn status() -> MbmStatus { + let ongoing = Self::ongoing_status(); + let progress = Self::progress(); + let prefixes = Self::affected_prefixes(); + + MbmStatus { ongoing, progress, prefixes } + } + } } impl Pallet { @@ -646,7 +741,7 @@ impl Pallet { let maybe_index = cursor.as_active().map(|c| c.index); Self::upgrade_failed(maybe_index); - return T::WeightInfo::onboard_new_mbms() + return T::WeightInfo::onboard_new_mbms(); } let migrations = T::Migrations::len(); @@ -677,7 +772,7 @@ impl Pallet { let mut cursor = match Cursor::::get() { None => { log::trace!("[Block {n:?}] Waiting for cursor to become `Some`."); - return meter.consumed() + return meter.consumed(); }, Some(MigrationCursor::Active(cursor)) => { log::debug!("Progressing MBM #{}", cursor.index); @@ -685,7 +780,7 @@ impl Pallet { }, Some(MigrationCursor::Stuck) => { log::error!("Migration stuck. Governance intervention required."); - return meter.consumed() + return meter.consumed(); }, }; debug_assert!(Self::ongoing()); @@ -701,7 +796,7 @@ impl Pallet { }, Some(ControlFlow::Break(last_cursor)) => { cursor = last_cursor; - break + break; }, } } @@ -726,7 +821,7 @@ impl Pallet { // only one step per block, we can just use the maximum instead of more precise accounting. if meter.try_consume(Self::exec_migration_max_weight()).is_err() { defensive_assert!(!is_first, "There should be enough weight to do this at least once"); - return Some(ControlFlow::Break(cursor)) + return Some(ControlFlow::Break(cursor)); } if cursor.index >= T::Migrations::len() { @@ -742,13 +837,13 @@ impl Pallet { let Some(Ok(bounded_id)): Option, _>> = id else { defensive!("integrity_test ensures that all identifiers are present and bounde; qed."); Self::upgrade_failed(Some(cursor.index)); - return None + return None; }; if Historic::::contains_key(&bounded_id) { Self::deposit_event(Event::MigrationSkipped { index: cursor.index }); cursor.goto_next_migration(System::::block_number()); - return Some(ControlFlow::Continue(cursor)) + return Some(ControlFlow::Continue(cursor)); } let max_steps = T::Migrations::nth_max_steps(cursor.index); @@ -770,7 +865,7 @@ impl Pallet { let Some((max_steps, next_cursor)) = max_steps.zip(next_cursor) else { defensive!("integrity_test ensures that the tuple is valid; qed"); Self::upgrade_failed(Some(cursor.index)); - return None + return None; }; let took = System::::block_number().saturating_sub(cursor.started_at); @@ -779,7 +874,7 @@ impl Pallet { let Ok(bound_next_cursor) = next_cursor.try_into() else { defensive!("The integrity check ensures that all cursors' MEL bound fits into CursorMaxLen; qed"); Self::upgrade_failed(Some(cursor.index)); - return None + return None; }; Self::deposit_event(Event::MigrationAdvanced { index: cursor.index, took }); diff --git a/substrate/frame/migrations/src/migrations.rs b/substrate/frame/migrations/src/migrations.rs index 796ff0f956599..62a38285cb9a5 100644 --- a/substrate/frame/migrations/src/migrations.rs +++ b/substrate/frame/migrations/src/migrations.rs @@ -93,7 +93,7 @@ where if key_budget == 0 { return Err(SteppedMigrationError::InsufficientWeight { required: T::WeightInfo::reset_pallet_migration(1), - }) + }); } let (keys_removed, is_done) = match clear_prefix(&P::name_hash(), Some(key_budget)) { diff --git a/substrate/frame/migrations/src/mock_helpers.rs b/substrate/frame/migrations/src/mock_helpers.rs index 4070ca1d658f4..2b80a187a63f8 100644 --- a/substrate/frame/migrations/src/mock_helpers.rs +++ b/substrate/frame/migrations/src/mock_helpers.rs @@ -88,7 +88,7 @@ impl SteppedMigrations for MockedMigrations { log::debug!("MockedMigration: Step {count} vs max {steps}"); if count != steps || matches!(kind, TimeoutAfter) { count += 1; - return Some(Ok(Some(count.encode()))) + return Some(Ok(Some(count.encode()))); } Some(match kind { @@ -123,12 +123,18 @@ impl SteppedMigrations for MockedMigrations { MIGRATIONS::get().get(n as usize).map(|(_, s)| Some(*s)) } + fn nth_migrating_prefixes(n: u32) -> Option>>> { + MIGRATIONS::get() + .get(n as usize) + .map(|(k, s)| Some(vec![mocked_id(*k, *s).into_inner()])) + } + #[cfg(feature = "try-runtime")] fn nth_pre_upgrade(n: u32) -> Option, sp_runtime::TryRuntimeError>> { let (kind, _) = MIGRATIONS::get()[n as usize]; if let PreUpgradeFail = kind { - return Some(Err("Some pre-upgrade error".into())) + return Some(Err("Some pre-upgrade error".into())); } Some(Ok(vec![])) @@ -142,7 +148,7 @@ impl SteppedMigrations for MockedMigrations { let (kind, _) = MIGRATIONS::get()[n as usize]; if let PostUpgradeFail = kind { - return Some(Err("Some post-upgrade error".into())) + return Some(Err("Some post-upgrade error".into())); } Some(Ok(())) diff --git a/substrate/frame/migrations/src/tests.rs b/substrate/frame/migrations/src/tests.rs index 55f212bcf373c..b9ec1b913af49 100644 --- a/substrate/frame/migrations/src/tests.rs +++ b/substrate/frame/migrations/src/tests.rs @@ -22,7 +22,7 @@ use frame_support::{pallet_prelude::Weight, traits::OnRuntimeUpgrade}; use crate::{ mock::{Test as T, *}, mock_helpers::{MockedMigrationKind::*, *}, - Cursor, Event, FailedMigrationHandling, MigrationCursor, + Cursor, Event, FailedMigrationHandling, MbmIsOngoing, MbmProgress, MigrationCursor, }; #[docify::export] @@ -454,3 +454,194 @@ fn try_runtime_no_migrations() { assert_eq!(System::events().len(), 0); }); } + +#[test] +fn view_function_ongoing_status_works() { + test_closure(|| { + MockedMigrations::set(vec![(SucceedAfter, 2), (SucceedAfter, 3), (SucceedAfter, 5)]); + + System::set_block_number(1); + Migrations::on_runtime_upgrade(); + run_to_block(2); + + assert_eq!(Migrations::ongoing_status(), MbmIsOngoing::Yes); + assert_eq!( + Migrations::progress(), + Some(MbmProgress { + current_migration: 0, + total_migrations: 3, + current_migration_steps: 1, + current_migration_max_steps: Some(2), + }) + ); + + run_to_block(3); + assert_eq!(Migrations::ongoing_status(), MbmIsOngoing::Yes); + assert_eq!( + Migrations::progress(), + Some(MbmProgress { + current_migration: 0, + total_migrations: 3, + current_migration_steps: 2, + current_migration_max_steps: Some(2), + }) + ); + + run_to_block(4); + assert_eq!(Migrations::ongoing_status(), MbmIsOngoing::Yes); + assert_eq!( + Migrations::progress(), + Some(MbmProgress { + current_migration: 1, + total_migrations: 3, + current_migration_steps: 0, + current_migration_max_steps: Some(3), + }) + ); + + run_to_block(5); + assert_eq!(Migrations::ongoing_status(), MbmIsOngoing::Yes); + assert_eq!( + Migrations::progress(), + Some(MbmProgress { + current_migration: 1, + total_migrations: 3, + current_migration_steps: 1, + current_migration_max_steps: Some(3), + }) + ); + + run_to_block(6); + assert_eq!(Migrations::ongoing_status(), MbmIsOngoing::Yes); + assert_eq!( + Migrations::progress(), + Some(MbmProgress { + current_migration: 1, + total_migrations: 3, + current_migration_steps: 2, + current_migration_max_steps: Some(3), + }) + ); + + run_to_block(7); + assert_eq!(Migrations::ongoing_status(), MbmIsOngoing::Yes); + assert_eq!( + Migrations::progress(), + Some(MbmProgress { + current_migration: 2, + total_migrations: 3, + current_migration_steps: 0, + current_migration_max_steps: Some(5), + }) + ); + }); +} + +#[test] +#[cfg(feature = "try-runtime")] +#[should_panic] +fn migration_steps_on_failure_works() { + test_closure(|| { + MockedMigrations::set(vec![(SucceedAfter, 1), (FailAfter, 3), (SucceedAfter, 10)]); + + System::set_block_number(1); + Migrations::on_runtime_upgrade(); + assert_eq!(Migrations::ongoing_status(), MbmIsOngoing::Yes); + assert_eq!( + Migrations::progress(), + Some(MbmProgress { + current_migration: 0, + total_migrations: 3, + current_migration_steps: 0, + current_migration_max_steps: Some(1), + }) + ); + run_to_block(2); + assert_eq!(Migrations::ongoing_status(), MbmIsOngoing::Yes); + assert_eq!( + Migrations::progress(), + Some(MbmProgress { + current_migration: 0, + total_migrations: 3, + current_migration_steps: 1, + current_migration_max_steps: Some(1), + }) + ); + + run_to_block(6); + assert_eq!(Migrations::ongoing_status(), MbmIsOngoing::Stuck); + assert_eq!(Migrations::progress(), None); + + assert_eq!(historic(), vec![mocked_id(SucceedAfter, 1),]); + // Check that we got all events. + assert_events(vec![ + Event::UpgradeStarted { migrations: 3 }, + Event::MigrationAdvanced { index: 0, took: 1 }, + Event::MigrationCompleted { index: 0, took: 2 }, + Event::MigrationAdvanced { index: 1, took: 0 }, + Event::MigrationAdvanced { index: 1, took: 1 }, + Event::MigrationAdvanced { index: 1, took: 2 }, + Event::MigrationFailed { index: 1, took: 3 }, + Event::UpgradeFailed, + ]); + + assert_eq!(upgrades_started_completed_failed(), (1, 0, 1)); + + assert_eq!(Cursor::::get(), Some(MigrationCursor::Stuck), "Must stuck the chain"); + }); +} + +#[test] +fn view_function_status_detailed() { + test_closure(|| { + // Set up multiple migrations + MockedMigrations::set(vec![(SucceedAfter, 2), (SucceedAfter, 1)]); + + System::set_block_number(1); + // Check status before upgrade + let prev_status = Migrations::status(); + assert_eq!(prev_status.ongoing, MbmIsOngoing::No); + assert!(prev_status.progress.is_none()); + assert_eq!(prev_status.prefixes, Vec::>::new()); + + Migrations::on_runtime_upgrade(); + + let status = Migrations::status(); + let progress = status.progress.unwrap(); + assert_eq!(progress.current_migration, 0); + assert_eq!(progress.total_migrations, 2); + assert_eq!(progress.current_migration_steps, 0); + assert_eq!(progress.current_migration_max_steps, Some(2)); + assert_eq!(status.prefixes, vec![mocked_id(SucceedAfter, 2).into_inner()]); + + // After first step + run_to_block(2); + let status = Migrations::status(); + let progress = status.progress.unwrap(); + assert_eq!(progress.current_migration_steps, 1); + assert_eq!(status.prefixes, vec![mocked_id(SucceedAfter, 2).into_inner()]); + + // After second step (migration 0 completes) + run_to_block(3); + let status = Migrations::status(); + let progress = status.progress.unwrap(); + assert_eq!(progress.current_migration, 0); + assert_eq!(progress.current_migration_steps, 2); + assert_eq!(progress.current_migration_max_steps, Some(2)); + assert_eq!(status.prefixes, vec![mocked_id(SucceedAfter, 2).into_inner()]); + + run_to_block(4); + let status = Migrations::status(); + let progress = status.progress.unwrap(); + assert_eq!(progress.current_migration, 1); + assert_eq!(progress.current_migration_steps, 0); + assert_eq!(progress.current_migration_max_steps, Some(1)); + assert_eq!(status.prefixes, vec![mocked_id(SucceedAfter, 1).into_inner()]); + + // After third step (migration 1 completes) + run_to_block(5); + let status = Migrations::status(); + assert_eq!(status.ongoing, MbmIsOngoing::No); + assert!(status.progress.is_none()); + }); +} diff --git a/substrate/frame/multi-asset-bounties/src/benchmarking.rs b/substrate/frame/multi-asset-bounties/src/benchmarking.rs index be6d062ee542e..0051f01d14a95 100644 --- a/substrate/frame/multi-asset-bounties/src/benchmarking.rs +++ b/substrate/frame/multi-asset-bounties/src/benchmarking.rs @@ -270,16 +270,19 @@ pub fn set_status, I: 'static>( .expect("no bounty"); let new_status = match bounty.3 { - BountyStatus::FundingAttempted { curator, .. } => - BountyStatus::FundingAttempted { payment_status: new_payment_status, curator }, - BountyStatus::RefundAttempted { curator, .. } => - BountyStatus::RefundAttempted { payment_status: new_payment_status, curator }, - BountyStatus::PayoutAttempted { curator, beneficiary, .. } => + BountyStatus::FundingAttempted { curator, .. } => { + BountyStatus::FundingAttempted { payment_status: new_payment_status, curator } + }, + BountyStatus::RefundAttempted { curator, .. } => { + BountyStatus::RefundAttempted { payment_status: new_payment_status, curator } + }, + BountyStatus::PayoutAttempted { curator, beneficiary, .. } => { BountyStatus::PayoutAttempted { payment_status: new_payment_status, curator, beneficiary, - }, + } + }, _ => return Err(BenchmarkError::Stop("unexpected bounty status")), }; diff --git a/substrate/frame/multi-asset-bounties/src/lib.rs b/substrate/frame/multi-asset-bounties/src/lib.rs index 58653fdf78394..e1dadcfbd5628 100644 --- a/substrate/frame/multi-asset-bounties/src/lib.rs +++ b/substrate/frame/multi-asset-bounties/src/lib.rs @@ -58,10 +58,8 @@ //! //! 1. Fund a bounty approved by spend origin of some asset kind with a proposed curator. #![doc = docify::embed!("src/tests.rs", fund_bounty_works)] -//! //! 2. Award a bounty to a beneficiary. #![doc = docify::embed!("src/tests.rs", award_bounty_works)] -//! //! ## Pallet API //! //! See the [`pallet`] module for more information about the interfaces this pallet exposes, @@ -838,7 +836,7 @@ pub mod pallet { Self::get_bounty_details(parent_bounty_id, child_bounty_id)?; let BountyStatus::Funded { ref curator } = status else { - return Err(Error::::UnexpectedStatus.into()) + return Err(Error::::UnexpectedStatus.into()); }; ensure!(signer == *curator, Error::::RequireCurator); @@ -1007,7 +1005,7 @@ pub mod pallet { } let BountyStatus::Active { ref curator } = status else { - return Err(Error::::UnexpectedStatus.into()) + return Err(Error::::UnexpectedStatus.into()); }; ensure!(signer == *curator, Error::::RequireCurator); @@ -1077,8 +1075,9 @@ pub mod pallet { Self::get_bounty_details(parent_bounty_id, child_bounty_id)?; let maybe_curator = match status { - BountyStatus::Funded { curator } | BountyStatus::Active { curator, .. } => - Some(curator), + BountyStatus::Funded { curator } | BountyStatus::Active { curator, .. } => { + Some(curator) + }, BountyStatus::CuratorUnassigned => None, _ => return Err(Error::::UnexpectedStatus.into()), }; @@ -1181,8 +1180,9 @@ pub mod pallet { let new_status = match new_payment_status { PaymentState::Succeeded => match (child_bounty_id, parent_curator) { - (Some(_), Some(parent_curator)) if curator == parent_curator => - BountyStatus::Active { curator }, + (Some(_), Some(parent_curator)) if curator == parent_curator => { + BountyStatus::Active { curator } + }, _ => BountyStatus::Funded { curator }, }, PaymentState::Pending | @@ -1225,7 +1225,7 @@ pub mod pallet { } // refund succeeded, cleanup the bounty Self::remove_bounty(parent_bounty_id, child_bounty_id, metadata); - return Ok(Pays::No.into()) + return Ok(Pays::No.into()); }, PaymentState::Pending | PaymentState::Failed | @@ -1261,7 +1261,7 @@ pub mod pallet { } // payout succeeded, cleanup the bounty Self::remove_bounty(parent_bounty_id, child_bounty_id, metadata); - return Ok(Pays::No.into()) + return Ok(Pays::No.into()); }, PaymentState::Pending | PaymentState::Failed | @@ -1636,15 +1636,16 @@ impl, I: 'static> Pallet { }); Ok(PaymentState::Succeeded) }, - PaymentStatus::InProgress | PaymentStatus::Unknown => - return Err(Error::::FundingInconclusive.into()), + PaymentStatus::InProgress | PaymentStatus::Unknown => { + return Err(Error::::FundingInconclusive.into()) + }, PaymentStatus::Failure => { Self::deposit_event(Event::::PaymentFailed { index: parent_bounty_id, child_index: child_bounty_id, payment_id, }); - return Ok(PaymentState::Failed) + return Ok(PaymentState::Failed); }, } } @@ -1704,7 +1705,9 @@ impl, I: 'static> Pallet { }, PaymentStatus::InProgress | PaymentStatus::Unknown => // nothing new to report - Err(Error::::RefundInconclusive.into()), + { + Err(Error::::RefundInconclusive.into()) + }, PaymentStatus::Failure => { // assume payment has failed, allow user to retry Self::deposit_event(Event::::PaymentFailed { @@ -1734,8 +1737,9 @@ impl, I: 'static> Pallet { let source = match child_bounty_id { None => Self::bounty_account(parent_bounty_id, asset_kind.clone())?, - Some(child_bounty_id) => - Self::child_bounty_account(parent_bounty_id, child_bounty_id, asset_kind.clone())?, + Some(child_bounty_id) => { + Self::child_bounty_account(parent_bounty_id, child_bounty_id, asset_kind.clone())? + }, }; let id = >::Paymaster::pay(&source, &beneficiary, asset_kind, payout) @@ -1778,7 +1782,9 @@ impl, I: 'static> Pallet { }, PaymentStatus::InProgress | PaymentStatus::Unknown => // nothing new to report - Err(Error::::PayoutInconclusive.into()), + { + Err(Error::::PayoutInconclusive.into()) + }, PaymentStatus::Failure => { // assume payment has failed, allow user to retry Self::deposit_event(Event::::PaymentFailed { diff --git a/substrate/frame/multisig/src/lib.rs b/substrate/frame/multisig/src/lib.rs index c31489fc60c57..08ceb5291d359 100644 --- a/substrate/frame/multisig/src/lib.rs +++ b/substrate/frame/multisig/src/lib.rs @@ -368,7 +368,9 @@ pub mod pallet { /// Register approval for a dispatch to be made from a deterministic composite account if /// approved by a total of `threshold - 1` of `other_signatories`. /// - /// If there are enough, then dispatch the call. + /// **If the approval threshold is met (including the sender's approval), this will + /// immediately execute the call.** This is the only way to execute a multisig call - + /// `approve_as_multi` will never trigger execution. /// /// Payment: `DepositBase` will be reserved if this is the first approval, plus /// `threshold` times `DepositFactor`. It is returned once this dispatch happens or @@ -384,8 +386,9 @@ pub mod pallet { /// transaction index) of the first approval transaction. /// - `call`: The call to be executed. /// - /// NOTE: Unless this is the final approval, you will generally want to use - /// `approve_as_multi` instead, since it only requires a hash of the call. + /// NOTE: For intermediate approvals (not the final approval), you should generally use + /// `approve_as_multi` instead, since it only requires a hash of the call and is more + /// efficient. /// /// Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise /// on success, result is `Ok` and the result from the interior call, if it was executed, @@ -436,6 +439,13 @@ pub mod pallet { /// Register approval for a dispatch to be made from a deterministic composite account if /// approved by a total of `threshold - 1` of `other_signatories`. /// + /// **This function will NEVER execute the call, even if the approval threshold is + /// reached.** It only registers approval. To actually execute the call, `as_multi` must + /// be called with the full call data by any of the signatories. + /// + /// This function is more efficient than `as_multi` for intermediate approvals since it + /// only requires the call hash, not the full call data. + /// /// Payment: `DepositBase` will be reserved if this is the first approval, plus /// `threshold` times `DepositFactor`. It is returned once this dispatch happens or /// is cancelled. @@ -450,7 +460,8 @@ pub mod pallet { /// transaction index) of the first approval transaction. /// - `call_hash`: The hash of the call to be executed. /// - /// NOTE: If this is the final approval, you will want to use `as_multi` instead. + /// NOTE: To execute the call after approvals are gathered, any signatory must call + /// `as_multi` with the full call data. This function cannot execute the call. /// /// ## Complexity /// - `O(S)`. diff --git a/substrate/frame/multisig/src/migrations.rs b/substrate/frame/multisig/src/migrations.rs index 8d6e778136736..41e01d9f4ef6e 100644 --- a/substrate/frame/multisig/src/migrations.rs +++ b/substrate/frame/multisig/src/migrations.rs @@ -49,7 +49,7 @@ pub mod v1 { if onchain > 0 { log!(info, "MigrateToV1 should be removed"); - return T::DbWeight::get().reads(1) + return T::DbWeight::get().reads(1); } let mut call_count = 0u64; diff --git a/substrate/frame/multisig/src/tests.rs b/substrate/frame/multisig/src/tests.rs index 8366eb58fc1ca..c042189d1fd91 100644 --- a/substrate/frame/multisig/src/tests.rs +++ b/substrate/frame/multisig/src/tests.rs @@ -219,6 +219,47 @@ fn timepoint_checking_works() { }); } +#[test] +fn approve_as_multi_requires_timepoint_after_first_approval() { + new_test_ext().execute_with(|| { + let call = call_transfer(6, 15).encode(); + let hash = blake2_256(&call); + + // First approval creates the multisig + assert_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + None, + hash, + Weight::zero() + )); + + // Second approval without timepoint should fail with NoTimepoint + assert_noop!( + Multisig::approve_as_multi( + RuntimeOrigin::signed(2), + 2, + vec![1, 3], + None, // Missing timepoint + hash, + Weight::zero() + ), + Error::::NoTimepoint, + ); + + // With correct timepoint, it should succeed + assert_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(2), + 2, + vec![1, 3], + Some(now()), + hash, + Weight::zero() + )); + }); +} + #[test] fn multisig_2_of_3_works() { new_test_ext().execute_with(|| { @@ -240,6 +281,18 @@ fn multisig_2_of_3_works() { )); assert_eq!(Balances::free_balance(6), 0); + // Verify that approve_as_multi does not execute even when threshold is reached + assert_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(2), + 2, + vec![1, 3], + Some(now()), + hash, + Weight::zero() + )); + assert_eq!(Balances::free_balance(6), 0); + + // as_multi is required to execute the call assert_ok!(Multisig::as_multi( RuntimeOrigin::signed(2), 2, @@ -322,6 +375,201 @@ fn cancel_multisig_works() { }); } +#[test] +fn cancel_as_multi_not_found_with_wrong_signatories() { + new_test_ext().execute_with(|| { + let call = call_transfer(6, 15).encode(); + let hash = blake2_256(&call); + // Create a multisig with signatories [1, 2, 3] + assert_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + None, + hash, + Weight::zero() + )); + // Try to cancel with wrong signatories + assert_noop!( + Multisig::cancel_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 4], // Different signatories + now(), + hash + ), + Error::::NotFound, + ); + + // Verify it would work with the correct signatories + hypothetically_ok!(Multisig::cancel_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + now(), + hash + )); + }); +} + +#[test] +fn cancel_as_multi_not_found_with_wrong_call_hash() { + new_test_ext().execute_with(|| { + let call = call_transfer(6, 15).encode(); + let hash = blake2_256(&call); + // Create a multisig + assert_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + None, + hash, + Weight::zero() + )); + // Try to cancel with wrong call hash + let wrong_hash = [0u8; 32]; + assert_noop!( + Multisig::cancel_as_multi(RuntimeOrigin::signed(1), 2, vec![2, 3], now(), wrong_hash), + Error::::NotFound, + ); + + // Verify it would work with the correct hash + hypothetically_ok!(Multisig::cancel_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + now(), + hash + )); + }); +} + +#[test] +fn approve_as_multi_unexpected_timepoint_with_wrong_signatories() { + new_test_ext().execute_with(|| { + let call = call_transfer(6, 15).encode(); + let hash = blake2_256(&call); + // Create a multisig with signatories [1, 2, 3] + assert_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + None, + hash, + Weight::zero() + )); + // Try to approve with wrong signatories [1, 3, 4] - will generate different multisig ID + // Since there's no multisig with this ID and we're passing a timepoint, we get + // `UnexpectedTimepoint` + assert_noop!( + Multisig::approve_as_multi( + RuntimeOrigin::signed(3), + 2, + vec![1, 4], // Different set of signatories + Some(now()), + hash, + Weight::zero() + ), + Error::::UnexpectedTimepoint, + ); + + // Verify it would work with the correct signatories + hypothetically_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(2), + 2, + vec![1, 3], + Some(now()), + hash, + Weight::zero() + )); + }); +} + +#[test] +fn approve_as_multi_unexpected_timepoint_with_wrong_call_hash() { + new_test_ext().execute_with(|| { + let call = call_transfer(6, 15).encode(); + let hash = blake2_256(&call); + // Create a multisig + assert_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + None, + hash, + Weight::zero() + )); + // Try to approve with wrong call hash + // Since there's no multisig with this hash and we're passing a timepoint, we get + // `UnexpectedTimepoint` + let wrong_hash = [0u8; 32]; + assert_noop!( + Multisig::approve_as_multi( + RuntimeOrigin::signed(2), + 2, + vec![1, 3], + Some(now()), + wrong_hash, + Weight::zero() + ), + Error::::UnexpectedTimepoint, + ); + + // Verify it would work with the correct hash + hypothetically_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(2), + 2, + vec![1, 3], + Some(now()), + hash, + Weight::zero() + )); + }); +} + +#[test] +fn as_multi_unexpected_timepoint_with_wrong_signatories() { + new_test_ext().execute_with(|| { + let call = call_transfer(6, 15); + let hash = blake2_256(&call.encode()); + // Create a multisig + assert_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + None, + hash, + Weight::zero() + )); + // Try to execute with non-existent multisig by using wrong signatories + // Since there's no multisig with this ID and we're passing a timepoint, we get + // `UnexpectedTimepoint` + assert_noop!( + Multisig::as_multi( + RuntimeOrigin::signed(2), + 2, + vec![1, 4], // Different set - creates different multisig ID + Some(now()), + call, + Weight::zero() + ), + Error::::UnexpectedTimepoint, + ); + + // Verify it would work with the correct signatories + let correct_call = call_transfer(6, 15); + let call_weight = correct_call.get_dispatch_info().call_weight; + hypothetically_ok!(Multisig::as_multi( + RuntimeOrigin::signed(2), + 2, + vec![1, 3], + Some(now()), + correct_call, + call_weight + )); + }); +} + #[test] fn multisig_2_of_3_as_multi_works() { new_test_ext().execute_with(|| { @@ -512,10 +760,161 @@ fn too_many_signatories_fails() { } #[test] -fn duplicate_approvals_are_ignored() { +fn as_multi_with_signatories_out_of_order_fails() { + new_test_ext().execute_with(|| { + let call = call_transfer(6, 15); + assert_noop!( + Multisig::as_multi( + RuntimeOrigin::signed(1), + 2, + vec![3, 2], // Out of order: should be [2, 3] + None, + call.clone(), + Weight::zero() + ), + Error::::SignatoriesOutOfOrder, + ); + }); +} + +#[test] +fn approve_as_multi_with_signatories_out_of_order_fails() { + new_test_ext().execute_with(|| { + let call = call_transfer(6, 15).encode(); + let hash = blake2_256(&call); + assert_noop!( + Multisig::approve_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![3, 2], // Out of order: should be [2, 3] + None, + hash, + Weight::zero() + ), + Error::::SignatoriesOutOfOrder, + ); + }); +} + +#[test] +fn cancel_as_multi_with_signatories_out_of_order_fails() { + new_test_ext().execute_with(|| { + let call = call_transfer(6, 15).encode(); + let hash = blake2_256(&call); + + // First create a multisig with proper ordering + assert_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + None, + hash, + Weight::zero() + )); + + // Try to cancel with signatories out of order + assert_noop!( + Multisig::cancel_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![3, 2], // Out of order: should be [2, 3] + now(), + hash + ), + Error::::SignatoriesOutOfOrder, + ); + + // Verify it would work with correctly ordered signatories + hypothetically_ok!(Multisig::cancel_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + now(), + hash + )); + }); +} + +#[test] +fn as_multi_with_sender_in_signatories_fails() { + new_test_ext().execute_with(|| { + let call = call_transfer(6, 15); + assert_noop!( + Multisig::as_multi( + RuntimeOrigin::signed(1), + 2, + vec![1, 2], // Sender (1) is in the signatories list + None, + call.clone(), + Weight::zero() + ), + Error::::SenderInSignatories, + ); + }); +} + +#[test] +fn approve_as_multi_with_sender_in_signatories_fails() { new_test_ext().execute_with(|| { let call = call_transfer(6, 15).encode(); let hash = blake2_256(&call); + // First, create a valid multisig with account 1 + assert_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + None, + hash, + Weight::zero() + )); + // Now account 2 tries to approve but includes themselves in the signatories + assert_noop!( + Multisig::approve_as_multi( + RuntimeOrigin::signed(2), + 2, + vec![1, 2], // Sender (2) is in the signatories list + Some(now()), + hash, + Weight::zero() + ), + Error::::SenderInSignatories, + ); + }); +} + +#[test] +fn cancel_as_multi_with_sender_in_signatories_fails() { + new_test_ext().execute_with(|| { + let call = call_transfer(6, 15).encode(); + let hash = blake2_256(&call); + // Create a multisig with account 1 + assert_ok!(Multisig::approve_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + None, + hash, + Weight::zero() + )); + // Account 1 tries to cancel but includes themselves in the signatories + assert_noop!( + Multisig::cancel_as_multi( + RuntimeOrigin::signed(1), + 2, + vec![1, 2], // Sender (1) is in the signatories list + now(), + hash + ), + Error::::SenderInSignatories, + ); + }); +} + +#[test] +fn duplicate_approvals_are_ignored() { + new_test_ext().execute_with(|| { + let call = call_transfer(6, 15); + let hash = blake2_256(&call.encode()); assert_ok!(Multisig::approve_as_multi( RuntimeOrigin::signed(1), 2, @@ -535,6 +934,18 @@ fn duplicate_approvals_are_ignored() { ), Error::::AlreadyApproved, ); + // Duplicate approval with `as_multi` also noop. + assert_noop!( + Multisig::as_multi( + RuntimeOrigin::signed(1), + 2, + vec![2, 3], + Some(now()), + call.clone(), + Weight::zero() + ), + Error::::AlreadyApproved, + ); assert_ok!(Multisig::approve_as_multi( RuntimeOrigin::signed(2), 2, diff --git a/substrate/frame/nfts/src/benchmarking.rs b/substrate/frame/nfts/src/benchmarking.rs index 81828be5fa097..28aec7fc708a8 100644 --- a/substrate/frame/nfts/src/benchmarking.rs +++ b/substrate/frame/nfts/src/benchmarking.rs @@ -77,7 +77,7 @@ fn mint_item, I: 'static>( let item_exists = Item::::contains_key(&collection, &item); let item_config = ItemConfigOf::::get(&collection, &item); if item_exists { - return (item, caller, caller_lookup) + return (item, caller, caller_lookup); } else if let Some(item_config) = item_config { assert_ok!(Nfts::::force_mint( SystemOrigin::Signed(caller.clone()).into(), diff --git a/substrate/frame/nfts/src/common_functions.rs b/substrate/frame/nfts/src/common_functions.rs index 2c4778c1444f7..7cdc9228d3f0a 100644 --- a/substrate/frame/nfts/src/common_functions.rs +++ b/substrate/frame/nfts/src/common_functions.rs @@ -44,7 +44,7 @@ impl, I: 'static> Pallet { signer: &T::AccountId, ) -> DispatchResult { if signature.verify(&**data, &signer) { - return Ok(()) + return Ok(()); } // NOTE: for security reasons modern UIs implicitly wrap the data requested to sign into diff --git a/substrate/frame/nfts/src/features/attributes.rs b/substrate/frame/nfts/src/features/attributes.rs index 2cd09f7d2193b..d9292e6305625 100644 --- a/substrate/frame/nfts/src/features/attributes.rs +++ b/substrate/frame/nfts/src/features/attributes.rs @@ -461,19 +461,22 @@ impl, I: 'static> Pallet { ) -> Result { let mut result = false; match namespace { - AttributeNamespace::CollectionOwner => - result = Self::has_role(&collection, &origin, CollectionRole::Admin), - AttributeNamespace::ItemOwner => + AttributeNamespace::CollectionOwner => { + result = Self::has_role(&collection, &origin, CollectionRole::Admin) + }, + AttributeNamespace::ItemOwner => { if let Some(item) = maybe_item { let item_details = Item::::get(&collection, &item).ok_or(Error::::UnknownItem)?; result = origin == &item_details.owner - }, - AttributeNamespace::Account(account_id) => + } + }, + AttributeNamespace::Account(account_id) => { if let Some(item) = maybe_item { let approvals = ItemAttributesApprovalsOf::::get(&collection, &item); result = account_id == origin && approvals.contains(&origin) - }, + } + }, _ => (), }; Ok(result) diff --git a/substrate/frame/nfts/src/features/lock.rs b/substrate/frame/nfts/src/features/lock.rs index 1c3c9c8672fbd..42bfadb78849d 100644 --- a/substrate/frame/nfts/src/features/lock.rs +++ b/substrate/frame/nfts/src/features/lock.rs @@ -29,7 +29,6 @@ impl, I: 'static> Pallet { /// /// Note: it's possible only to lock the setting, but not to unlock it after. - /// /// - `origin`: The origin of the transaction, representing the account attempting to lock the /// collection. /// - `collection`: The identifier of the collection to be locked. diff --git a/substrate/frame/nfts/src/features/settings.rs b/substrate/frame/nfts/src/features/settings.rs index 48719ae2c20e9..9d037cd6b5544 100644 --- a/substrate/frame/nfts/src/features/settings.rs +++ b/substrate/frame/nfts/src/features/settings.rs @@ -169,6 +169,6 @@ impl, I: 'static> Pallet { /// otherwise it returns `false`. pub(crate) fn is_pallet_feature_enabled(feature: PalletFeature) -> bool { let features = T::Features::get(); - return features.is_enabled(feature) + return features.is_enabled(feature); } } diff --git a/substrate/frame/nfts/src/features/transfer.rs b/substrate/frame/nfts/src/features/transfer.rs index bba834483e15f..2052fb8c55d14 100644 --- a/substrate/frame/nfts/src/features/transfer.rs +++ b/substrate/frame/nfts/src/features/transfer.rs @@ -136,7 +136,7 @@ impl, I: 'static> Pallet { // Check if the `origin` is the current owner of the collection. ensure!(origin == details.owner, Error::::NoPermission); if details.owner == new_owner { - return Ok(()) + return Ok(()); } // Move the deposit to the new owner. @@ -210,7 +210,7 @@ impl, I: 'static> Pallet { Collection::::try_mutate(collection, |maybe_details| { let details = maybe_details.as_mut().ok_or(Error::::UnknownCollection)?; if details.owner == owner { - return Ok(()) + return Ok(()); } // Move the deposit to the new owner. diff --git a/substrate/frame/nfts/src/impl_nonfungibles.rs b/substrate/frame/nfts/src/impl_nonfungibles.rs index c90655aadbfc6..3749a733b4bed 100644 --- a/substrate/frame/nfts/src/impl_nonfungibles.rs +++ b/substrate/frame/nfts/src/impl_nonfungibles.rs @@ -130,7 +130,9 @@ impl, I: 'static> Inspect<::AccountId> for Palle (Some(cc), Some(ic)) if cc.is_setting_enabled(CollectionSetting::TransferableItems) && ic.is_setting_enabled(ItemSetting::Transferable) => - true, + { + true + }, _ => false, } } @@ -256,7 +258,7 @@ impl, I: 'static> Mutate<::AccountId, ItemConfig Self::do_burn(*collection, *item, |d| { if let Some(check_owner) = maybe_check_owner { if &d.owner != check_owner { - return Err(Error::::NoPermission.into()) + return Err(Error::::NoPermission.into()); } } Ok(()) @@ -421,7 +423,7 @@ impl, I: 'static> Transfer for Pallet { Self::has_system_attribute(&collection, &item, PalletAttributes::TransferDisabled)?; // Can't lock the item twice if transfer_disabled { - return Err(Error::::ItemLocked.into()) + return Err(Error::::ItemLocked.into()); } >::set_attribute( diff --git a/substrate/frame/nfts/src/lib.rs b/substrate/frame/nfts/src/lib.rs index 4c3a4cea0810c..3ac4d1cb1eed5 100644 --- a/substrate/frame/nfts/src/lib.rs +++ b/substrate/frame/nfts/src/lib.rs @@ -1090,10 +1090,10 @@ pub mod pallet { if T::Currency::reserve(&details.deposit.account, deposit - old).is_err() { // NOTE: No alterations made to collection_details in this iteration so far, // so this is OK to do. - continue + continue; } } else { - continue + continue; } details.deposit.amount = deposit; Item::::insert(&collection, &item, &details); @@ -1436,8 +1436,9 @@ pub mod pallet { ) -> DispatchResult { let origin = ensure_signed(origin)?; let depositor = match namespace { - AttributeNamespace::CollectionOwner => - Self::collection_owner(collection).ok_or(Error::::UnknownCollection)?, + AttributeNamespace::CollectionOwner => { + Self::collection_owner(collection).ok_or(Error::::UnknownCollection)? + }, _ => origin.clone(), }; Self::do_set_attribute(origin, collection, maybe_item, namespace, key, value, depositor) diff --git a/substrate/frame/nis/src/lib.rs b/substrate/frame/nis/src/lib.rs index d2ff9cd92774f..3425b82f9b773 100644 --- a/substrate/frame/nis/src/lib.rs +++ b/substrate/frame/nis/src/lib.rs @@ -696,7 +696,7 @@ pub mod pallet { // Multiply the proportion it is by the total issued. let our_account = Self::account_id(); let effective_issuance = Self::issuance_with(&our_account, &summary).effective; - // let amount = proportion.mul_ceil(effective_issuance); + // let amount = proportion.mul_ceil(effective_issuance); let amount = proportion * effective_issuance; receipt.proportion.saturating_reduce(proportion); @@ -1004,7 +1004,7 @@ pub mod pallet { ) { let mut summary: SummaryRecordOf = Summary::::get(); if summary.proportion_owed >= target { - return + return; } let now = frame_system::Pallet::::block_number(); @@ -1019,14 +1019,14 @@ pub mod pallet { totals.bounded_resize(queue_count as usize, (0, Zero::zero())); for duration in (1..=queue_count).rev() { if totals[duration as usize - 1].0.is_zero() { - continue + continue; } if remaining.is_zero() || queues_hit >= max_queues || !weight.check_accrue(T::WeightInfo::process_queue()) // No point trying to process a queue if we can't process a single bid. || !weight.can_accrue(T::WeightInfo::process_bid()) { - break + break; } let b = Self::process_queue( diff --git a/substrate/frame/node-authorization/src/lib.rs b/substrate/frame/node-authorization/src/lib.rs index 016200397251f..7e62dbc57e208 100644 --- a/substrate/frame/node-authorization/src/lib.rs +++ b/substrate/frame/node-authorization/src/lib.rs @@ -276,7 +276,7 @@ pub mod pallet { ensure!(add.0.len() < T::MaxPeerIdLength::get() as usize, Error::::PeerIdTooLong); if remove == add { - return Ok(()) + return Ok(()); } let mut nodes = WellKnownNodes::::get(); @@ -400,7 +400,7 @@ pub mod pallet { for add_node in connections.iter() { if *add_node == node { - continue + continue; } nodes.insert(add_node.clone()); } diff --git a/substrate/frame/nomination-pools/fuzzer/src/call.rs b/substrate/frame/nomination-pools/fuzzer/src/call.rs index 9e10d87da6750..d8ab106cfb214 100644 --- a/substrate/frame/nomination-pools/fuzzer/src/call.rs +++ b/substrate/frame/nomination-pools/fuzzer/src/call.rs @@ -173,7 +173,7 @@ impl RewardAgent { fn join(&mut self) { if self.pool_id.is_some() { - return + return; } let pool_id = LastPoolId::::get(); let amount = 10 * ExistentialDeposit::get(); @@ -189,7 +189,7 @@ impl RewardAgent { // calculated. if !PoolMembers::::contains_key(&self.who) { log!(warn, "reward agent is not in the pool yet, cannot claim"); - return + return; } let pre = Balances::free_balance(&42); let origin = RuntimeOrigin::signed(42); diff --git a/substrate/frame/nomination-pools/src/adapter.rs b/substrate/frame/nomination-pools/src/adapter.rs index 184aff02f787d..8f054e09d684b 100644 --- a/substrate/frame/nomination-pools/src/adapter.rs +++ b/substrate/frame/nomination-pools/src/adapter.rs @@ -90,12 +90,18 @@ pub trait StakeStrategy { /// The type of staking strategy of the current adapter. fn strategy_type() -> StakeStrategyType; - /// See [`StakingInterface::bonding_duration`]. + /// See [`StakingInterface::nominator_bonding_duration`]. + /// + /// Pool accounts are nominators, so they use the nominator bonding duration which can be + /// shorter than the validator bonding duration when nominators are not slashable. fn bonding_duration() -> EraIndex { - Self::CoreStaking::bonding_duration() + Self::CoreStaking::nominator_bonding_duration() } /// See [`StakingInterface::current_era`]. + /// + /// Note: Named current_era for legacy interface compatibility. Returns active era which + /// should be used for all non-election staking logic. fn current_era() -> EraIndex { Self::CoreStaking::current_era() } diff --git a/substrate/frame/nomination-pools/src/lib.rs b/substrate/frame/nomination-pools/src/lib.rs index 434ca6960ff9b..17c5188ad1094 100644 --- a/substrate/frame/nomination-pools/src/lib.rs +++ b/substrate/frame/nomination-pools/src/lib.rs @@ -637,9 +637,10 @@ impl PoolMember { ) -> Result<(), Error> { if let Some(new_points) = self.points.checked_sub(&points_dissolved) { match self.unbonding_eras.get_mut(&unbonding_era) { - Some(already_unbonding_points) => + Some(already_unbonding_points) => { *already_unbonding_points = - already_unbonding_points.saturating_add(points_issued), + already_unbonding_points.saturating_add(points_issued) + }, None => self .unbonding_eras .try_insert(unbonding_era, points_issued) @@ -804,13 +805,13 @@ impl Commission { // do not throttle if `to` is the same or a decrease in commission. if *to <= commission_as_percent { - return false + return false; } // Test for `max_increase` throttling. // // Throttled if the attempted increase in commission is greater than `max_increase`. if (*to).saturating_sub(commission_as_percent) > t.max_increase { - return true + return true; } // Test for `min_delay` throttling. @@ -833,7 +834,7 @@ impl Commission { blocks_surpassed < t.min_delay } }, - ) + ); } false } @@ -891,7 +892,7 @@ impl Commission { ); if let Some(old) = self.max.as_mut() { if new_max > *old { - return Err(Error::::MaxCommissionRestricted.into()) + return Err(Error::::MaxCommissionRestricted.into()); } *old = new_max; } else { @@ -1273,7 +1274,7 @@ impl BondedPool { }, (false, true) => { // the depositor can simply not be unbonded permissionlessly, period. - return Err(Error::::DoesNotHavePermission.into()) + return Err(Error::::DoesNotHavePermission.into()); }, }; @@ -2291,8 +2292,8 @@ pub mod pallet { &mut reward_pool, )?; - let current_era = T::StakeAdapter::current_era(); - let unbond_era = T::StakeAdapter::bonding_duration().saturating_add(current_era); + let active_era = T::StakeAdapter::current_era(); + let unbond_era = T::StakeAdapter::bonding_duration().saturating_add(active_era); // Unbond in the actual underlying nominator. let unbonding_balance = bonded_pool.dissolve(unbonding_points); @@ -2301,7 +2302,7 @@ pub mod pallet { // Note that we lazily create the unbonding pools here if they don't already exist let mut sub_pools = SubPoolsStorage::::get(member.pool_id) .unwrap_or_default() - .maybe_merge_pools(current_era); + .maybe_merge_pools(active_era); // Update the unbond pool associated with the current era with the unbonded funds. Note // that we lazily create the unbond pool if it does not yet exist. @@ -2411,7 +2412,7 @@ pub mod pallet { let mut member = PoolMembers::::get(&member_account).ok_or(Error::::PoolMemberNotFound)?; - let current_era = T::StakeAdapter::current_era(); + let active_era = T::StakeAdapter::current_era(); let bonded_pool = BondedPool::::get(member.pool_id) .defensive_ok_or::>(DefensiveError::PoolNotFound.into())?; @@ -2439,7 +2440,7 @@ pub mod pallet { let pool_account = bonded_pool.bonded_account(); // NOTE: must do this after we have done the `ok_to_withdraw_unbonded_other_with` check. - let withdrawn_points = member.withdraw_unlocked(current_era); + let withdrawn_points = member.withdraw_unlocked(active_era); ensure!(!withdrawn_points.is_empty(), Error::::CannotWithdrawAny); // Before calculating the `balance_to_unbond`, we call withdraw unbonded to ensure the @@ -3436,7 +3437,7 @@ impl Pallet { let balance = T::U256ToBalance::convert; if current_balance.is_zero() || current_points.is_zero() || points.is_zero() { // There is nothing to unbond - return Zero::zero() + return Zero::zero(); } // Equivalent of (current_balance / current_points) * points @@ -3473,7 +3474,7 @@ impl Pallet { // will be zero. let pending_rewards = member.pending_rewards(current_reward_counter)?; if pending_rewards.is_zero() { - return Ok(pending_rewards) + return Ok(pending_rewards); } // IFF the reward is non-zero alter the member and reward pool info. @@ -3610,10 +3611,12 @@ impl Pallet { )?; let (points_issued, bonded) = match extra { - BondExtra::FreeBalance(amount) => - (bonded_pool.try_bond_funds(&member_account, amount, BondType::Extra)?, amount), - BondExtra::Rewards => - (bonded_pool.try_bond_funds(&member_account, claimed, BondType::Extra)?, claimed), + BondExtra::FreeBalance(amount) => { + (bonded_pool.try_bond_funds(&member_account, amount, BondType::Extra)?, amount) + }, + BondExtra::Rewards => { + (bonded_pool.try_bond_funds(&member_account, claimed, BondType::Extra)?, claimed) + }, }; bonded_pool.ok_to_be_open()?; @@ -3703,7 +3706,7 @@ impl Pallet { let min_balance = T::Currency::minimum_balance(); if pre_frozen_balance == min_balance { - return Err(Error::::NothingToAdjust.into()) + return Err(Error::::NothingToAdjust.into()); } // Update frozen amount with current ED. @@ -3782,7 +3785,7 @@ impl Pallet { // if the pool doesn't have any pending slash, it implies the member also does not have any // pending slash. if T::StakeAdapter::pending_slash(Pool::from(pool_account.clone())).is_zero() { - return Ok(Zero::zero()) + return Ok(Zero::zero()); } // this is their actual held balance that may or may not have been slashed. @@ -3850,7 +3853,7 @@ impl Pallet { #[cfg(any(feature = "try-runtime", feature = "fuzzing", test, debug_assertions))] pub fn do_try_state(level: u8) -> Result<(), TryRuntimeError> { if level.is_zero() { - return Ok(()) + return Ok(()); } // note: while a bit wacky, since they have the same key, even collecting to vec should // result in the same set of keys, in the same order. @@ -3995,7 +3998,7 @@ impl Pallet { ); if level <= 1 { - return Ok(()) + return Ok(()); } for (pool_id, _pool) in BondedPools::::iter() { @@ -4090,7 +4093,7 @@ impl Pallet { let (current_reward_counter, _) = reward_pool .current_reward_counter(pool_member.pool_id, bonded_pool.points, commission) .ok()?; - return pool_member.pending_rewards(current_reward_counter).ok() + return pool_member.pending_rewards(current_reward_counter).ok(); } } @@ -4149,12 +4152,12 @@ impl Pallet { pub fn api_pool_needs_delegate_migration(pool_id: PoolId) -> bool { // if the `Delegate` strategy is not used in the pallet, then no migration required. if T::StakeAdapter::strategy_type() != adapter::StakeStrategyType::Delegate { - return false + return false; } // if pool does not exist, return false. if !BondedPools::::contains_key(pool_id) { - return false + return false; } let pool_account = Self::generate_bonded_account(pool_id); @@ -4172,14 +4175,14 @@ impl Pallet { pub fn api_member_needs_delegate_migration(who: T::AccountId) -> bool { // if the `Delegate` strategy is not used in the pallet, then no migration required. if T::StakeAdapter::strategy_type() != adapter::StakeStrategyType::Delegate { - return false + return false; } PoolMembers::::get(who.clone()) .map(|pool_member| { if Self::api_pool_needs_delegate_migration(pool_member.pool_id) { // the pool needs to be migrated before members can be migrated. - return false + return false; } let member_balance = pool_member.total_balance(); diff --git a/substrate/frame/nomination-pools/src/migration.rs b/substrate/frame/nomination-pools/src/migration.rs index 25b80d41c4bcb..f648f33ee9e17 100644 --- a/substrate/frame/nomination-pools/src/migration.rs +++ b/substrate/frame/nomination-pools/src/migration.rs @@ -879,14 +879,14 @@ pub mod v2 { Some(x) => x, None => { log!(error, "pool {} has no member! deleting it..", id); - return None + return None; }, }; let bonded_pool = match BondedPools::::get(id) { Some(x) => x, None => { log!(error, "pool {} has no bonded pool! deleting it..", id); - return None + return None; }, }; @@ -901,7 +901,7 @@ pub mod v2 { Some(x) => x, None => { log!(error, "pool {} for member {:?} does not exist!", id, who); - return None + return None; }, }; diff --git a/substrate/frame/nomination-pools/test-delegate-stake/Cargo.toml b/substrate/frame/nomination-pools/test-delegate-stake/Cargo.toml index 62c2fb625fc4f..24e89e1508194 100644 --- a/substrate/frame/nomination-pools/test-delegate-stake/Cargo.toml +++ b/substrate/frame/nomination-pools/test-delegate-stake/Cargo.toml @@ -32,7 +32,8 @@ pallet-bags-list = { workspace = true, default-features = true } pallet-balances = { workspace = true, default-features = true } pallet-delegated-staking = { workspace = true, default-features = true } pallet-nomination-pools = { workspace = true, default-features = true } -pallet-staking = { workspace = true, default-features = true } +pallet-staking-async = { workspace = true, default-features = true } +pallet-staking-async-rc-client = { workspace = true, default-features = true } pallet-staking-reward-curve = { workspace = true, default-features = true } pallet-timestamp = { workspace = true, default-features = true } diff --git a/substrate/frame/nomination-pools/test-delegate-stake/src/lib.rs b/substrate/frame/nomination-pools/test-delegate-stake/src/lib.rs index 103e38b57f0cf..ace80ff0ba3ba 100644 --- a/substrate/frame/nomination-pools/test-delegate-stake/src/lib.rs +++ b/substrate/frame/nomination-pools/test-delegate-stake/src/lib.rs @@ -33,20 +33,30 @@ use pallet_nomination_pools::{ BondExtra, BondedPools, CommissionChangeRate, ConfigOp, Error as PoolsError, Event as PoolsEvent, LastPoolId, PoolMember, PoolMembers, PoolState, }; -use pallet_staking::{ - CurrentEra, Error as StakingError, Event as StakingEvent, Payee, RewardDestination, +use pallet_staking_async::{ + AreNominatorsSlashable, CurrentEra, Error as StakingError, Event as StakingEvent, Payee, + RewardDestination, }; use pallet_delegated_staking::Event as DelegatedStakingEvent; use sp_runtime::{bounded_btree_map, traits::Zero, Perbill}; -use sp_staking::Agent; +use sp_staking::{Agent, StakingInterface}; + +/// Helper function to properly set the current era with all necessary state. +fn set_current_era(era: u32) { + pallet_staking_async::CurrentEra::::put(era); + pallet_staking_async::ActiveEra::::put(pallet_staking_async::ActiveEraInfo { + index: era, + start: None, + }); +} #[test] fn pool_lifecycle_e2e() { new_test_ext().execute_with(|| { assert_eq!(Balances::minimum_balance(), 5); - assert_eq!(CurrentEra::::get(), None); + assert_eq!(CurrentEra::::get(), Some(0)); // create the pool, we know this has id 1. assert_ok!(Pools::create(RuntimeOrigin::signed(10), 50, 10, 10, 10)); @@ -128,7 +138,7 @@ fn pool_lifecycle_e2e() { ); for e in 1..BondingDuration::get() { - CurrentEra::::set(Some(e)); + set_current_era(e); assert_noop!( Pools::withdraw_unbonded(RuntimeOrigin::signed(20), 20, 0), PoolsError::::CannotWithdrawAny @@ -136,7 +146,7 @@ fn pool_lifecycle_e2e() { } // members are now unlocked. - CurrentEra::::set(Some(BondingDuration::get())); + set_current_era(BondingDuration::get()); // depositor cannot still unbond assert_noop!( @@ -179,13 +189,16 @@ fn pool_lifecycle_e2e() { ); // waiting another bonding duration: - CurrentEra::::set(Some(BondingDuration::get() * 2)); + set_current_era(BondingDuration::get() * 2); assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(10), 10, 1)); // pools is fully destroyed now. assert_eq!( staking_events_since_last_call(), - vec![StakingEvent::Withdrawn { stash: POOL1_BONDED, amount: 50 },] + vec![ + StakingEvent::StakerRemoved { stash: POOL1_BONDED }, + StakingEvent::Withdrawn { stash: POOL1_BONDED, amount: 50 }, + ] ); assert_eq!( pool_events_since_last_call(), @@ -202,7 +215,7 @@ fn pool_lifecycle_e2e() { fn pool_chill_e2e() { new_test_ext().execute_with(|| { assert_eq!(Balances::minimum_balance(), 5); - assert_eq!(CurrentEra::::get(), None); + assert_eq!(CurrentEra::::get(), Some(0)); // create the pool, we know this has id 1. assert_ok!(Pools::create(RuntimeOrigin::signed(10), 50, 10, 10, 10)); @@ -249,13 +262,14 @@ fn pool_chill_e2e() { // increased after the pool is created. assert_ok!(Staking::set_staking_configs( RuntimeOrigin::root(), - pallet_staking::ConfigOp::Set(55), // minimum nominator bond - pallet_staking::ConfigOp::Noop, - pallet_staking::ConfigOp::Noop, - pallet_staking::ConfigOp::Noop, - pallet_staking::ConfigOp::Noop, - pallet_staking::ConfigOp::Noop, - pallet_staking::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Set(55), // minimum nominator bond + pallet_staking_async::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Noop, // are_nominators_slashable )); // members can unbond as long as total stake of the pool is above min nominator bond @@ -304,7 +318,7 @@ fn pool_chill_e2e() { assert_ok!(Pools::nominate(RuntimeOrigin::signed(10), 1, vec![1, 2, 3])); // skip to make the unbonding period end. - CurrentEra::::set(Some(BondingDuration::get())); + set_current_era(BondingDuration::get()); // members can now withdraw. assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(20), 20, 0)); @@ -329,7 +343,7 @@ fn pool_slash_e2e() { new_test_ext().execute_with(|| { ExistentialDeposit::set(1); assert_eq!(Balances::minimum_balance(), 1); - assert_eq!(CurrentEra::::get(), None); + assert_eq!(CurrentEra::::get(), Some(0)); // create the pool, we know this has id 1. assert_ok!(Pools::create(RuntimeOrigin::signed(10), 40, 10, 10, 10)); @@ -372,7 +386,7 @@ fn pool_slash_e2e() { ); // now let's progress a bit. - CurrentEra::::set(Some(1)); + set_current_era(1); // 20 / 80 of the total funds are unlocked, and safe from any further slash. assert_ok!(Pools::unbond(RuntimeOrigin::signed(10), 10, 10)); @@ -393,7 +407,7 @@ fn pool_slash_e2e() { ] ); - CurrentEra::::set(Some(2)); + set_current_era(2); // note: depositor cannot fully unbond at this point. // these funds will still get slashed. @@ -421,7 +435,7 @@ fn pool_slash_e2e() { // At this point, 20 are safe from slash, 30 are unlocking but vulnerable to slash, and and // another 30 are active and vulnerable to slash. Let's slash half of them. - pallet_staking::slashing::do_slash::( + pallet_staking_async::slashing::do_slash::( &POOL1_BONDED, 30, &mut Default::default(), @@ -443,7 +457,7 @@ fn pool_slash_e2e() { ] ); - CurrentEra::::set(Some(3)); + set_current_era(3); assert_ok!(Pools::unbond(RuntimeOrigin::signed(21), 21, 10)); assert_eq!( @@ -466,7 +480,7 @@ fn pool_slash_e2e() { ); // now we start withdrawing. we do it all at once, at era 6 where 20 and 21 are fully free. - CurrentEra::::set(Some(6)); + set_current_era(6); assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(20), 20, 0)); assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(21), 21, 0)); @@ -503,7 +517,7 @@ fn pool_slash_e2e() { ] ); - CurrentEra::::set(Some(9)); + set_current_era(9); assert_eq!( PoolMembers::::get(10).unwrap(), PoolMember { @@ -518,7 +532,10 @@ fn pool_slash_e2e() { assert_eq!( staking_events_since_last_call(), - vec![StakingEvent::Withdrawn { stash: POOL1_BONDED, amount: 10 }] + vec![ + StakingEvent::StakerRemoved { stash: POOL1_BONDED }, + StakingEvent::Withdrawn { stash: POOL1_BONDED, amount: 10 }, + ] ); assert_eq!( pool_events_since_last_call(), @@ -539,7 +556,7 @@ fn pool_slash_proportional() { ExistentialDeposit::set(2); BondingDuration::set(28); assert_eq!(Balances::minimum_balance(), 2); - assert_eq!(Staking::current_era(), None); + assert_eq!(Staking::current_era(), 0); // create the pool, we know this has id 1. assert_ok!(Pools::create(RuntimeOrigin::signed(10), 40, 10, 10, 10)); @@ -609,7 +626,7 @@ fn pool_slash_proportional() { ); // now let's progress a lot. - CurrentEra::::set(Some(99)); + set_current_era(99); // and unbond assert_ok!(Pools::unbond(RuntimeOrigin::signed(20), 20, bond)); @@ -629,7 +646,7 @@ fn pool_slash_proportional() { }] ); - CurrentEra::::set(Some(100)); + set_current_era(100); assert_ok!(Pools::unbond(RuntimeOrigin::signed(21), 21, bond)); assert_eq!( staking_events_since_last_call(), @@ -646,7 +663,7 @@ fn pool_slash_proportional() { }] ); - CurrentEra::::set(Some(101)); + set_current_era(101); assert_ok!(Pools::unbond(RuntimeOrigin::signed(22), 22, bond)); assert_eq!( staking_events_since_last_call(), @@ -677,7 +694,7 @@ fn pool_slash_proportional() { hypothetically!({ // a very small amount is slashed - pallet_staking::slashing::do_slash::( + pallet_staking_async::slashing::do_slash::( &POOL1_BONDED, 3, &mut Default::default(), @@ -698,7 +715,7 @@ fn pool_slash_proportional() { ); }); - pallet_staking::slashing::do_slash::( + pallet_staking_async::slashing::do_slash::( &POOL1_BONDED, 50, &mut Default::default(), @@ -753,7 +770,7 @@ fn pool_slash_proportional() { assert_eq!(Balances::total_balance_on_hold(&22), bond); // they try to withdraw. This should slash them. - CurrentEra::::set(Some(129)); + set_current_era(129); let pre_balance = Balances::free_balance(&22); assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(22), 22, 0)); // all balance should be released. @@ -785,7 +802,7 @@ fn pool_slash_non_proportional_only_bonded_pool() { ExistentialDeposit::set(1); BondingDuration::set(28); assert_eq!(Balances::minimum_balance(), 1); - assert_eq!(CurrentEra::::get(), None); + assert_eq!(CurrentEra::::get(), Some(0)); // create the pool, we know this has id 1. assert_ok!(Pools::create(RuntimeOrigin::signed(10), 40, 10, 10, 10)); @@ -814,7 +831,7 @@ fn pool_slash_non_proportional_only_bonded_pool() { ); // progress and unbond. - CurrentEra::::set(Some(99)); + set_current_era(99); assert_ok!(Pools::unbond(RuntimeOrigin::signed(20), 20, bond)); assert_eq!( staking_events_since_last_call(), @@ -832,9 +849,9 @@ fn pool_slash_non_proportional_only_bonded_pool() { ); // slash for 30. This will be deducted only from the bonded pool. - CurrentEra::::set(Some(100)); + set_current_era(100); assert_eq!(BondedPools::::get(1).unwrap().points, 40); - pallet_staking::slashing::do_slash::( + pallet_staking_async::slashing::do_slash::( &POOL1_BONDED, 30, &mut Default::default(), @@ -864,7 +881,7 @@ fn pool_slash_non_proportional_bonded_pool_and_chunks() { ExistentialDeposit::set(1); BondingDuration::set(28); assert_eq!(Balances::minimum_balance(), 1); - assert_eq!(CurrentEra::::get(), None); + assert_eq!(CurrentEra::::get(), Some(0)); // create the pool, we know this has id 1. assert_ok!(Pools::create(RuntimeOrigin::signed(10), 40, 10, 10, 10)); @@ -893,7 +910,7 @@ fn pool_slash_non_proportional_bonded_pool_and_chunks() { ); // progress and unbond. - CurrentEra::::set(Some(99)); + set_current_era(99); assert_ok!(Pools::unbond(RuntimeOrigin::signed(20), 20, bond)); assert_eq!( staking_events_since_last_call(), @@ -911,9 +928,9 @@ fn pool_slash_non_proportional_bonded_pool_and_chunks() { ); // slash 50. This will be deducted only from the bonded pool and one of the unbonding pools. - CurrentEra::::set(Some(100)); + set_current_era(100); assert_eq!(BondedPools::::get(1).unwrap().points, 40); - pallet_staking::slashing::do_slash::( + pallet_staking_async::slashing::do_slash::( &POOL1_BONDED, 50, &mut Default::default(), @@ -941,7 +958,7 @@ fn pool_slash_non_proportional_bonded_pool_and_chunks() { fn pool_migration_e2e() { new_test_ext().execute_with(|| { LegacyAdapter::set(true); - assert_eq!(CurrentEra::::get(), None); + assert_eq!(CurrentEra::::get(), Some(0)); // hack: mint ED to pool so that the deprecated `TransferStake` works correctly with // staking. @@ -998,11 +1015,11 @@ fn pool_migration_e2e() { ] ); - CurrentEra::::set(Some(2)); + set_current_era(2); // 20 is partially unbonding assert_ok!(Pools::unbond(RuntimeOrigin::signed(20), 20, 5)); - CurrentEra::::set(Some(3)); + set_current_era(3); // 21 is fully unbonding assert_ok!(Pools::unbond(RuntimeOrigin::signed(21), 21, 10)); @@ -1063,7 +1080,7 @@ fn pool_migration_e2e() { ); // move to era 5 when 20 can withdraw unbonded funds. - CurrentEra::::set(Some(5)); + set_current_era(5); // Cannot unbond without claiming delegation. Lets unbond 22. assert_noop!( @@ -1134,7 +1151,7 @@ fn pool_migration_e2e() { ); // go to era when 21 can unbond - CurrentEra::::set(Some(6)); + set_current_era(6); // withdraw works now assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(21), 21, 10)); @@ -1173,7 +1190,7 @@ fn pool_migration_e2e() { ); // go to era when 22 can unbond - CurrentEra::::set(Some(9)); + set_current_era(9); // withdraw works now assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(22), 22, 10)); @@ -1226,7 +1243,7 @@ fn disable_pool_operations_on_non_migrated() { new_test_ext().execute_with(|| { LegacyAdapter::set(true); assert_eq!(Balances::minimum_balance(), 5); - assert_eq!(CurrentEra::::get(), None); + assert_eq!(CurrentEra::::get(), Some(0)); // hack: mint ED to pool so that the deprecated `TransferStake` works correctly with // staking. @@ -1410,7 +1427,7 @@ fn pool_no_dangling_delegation() { new_test_ext().execute_with(|| { ExistentialDeposit::set(1); assert_eq!(Balances::minimum_balance(), 1); - assert_eq!(CurrentEra::::get(), None); + assert_eq!(CurrentEra::::get(), Some(0)); // pool creator let alice = 10; let bob = 20; @@ -1481,7 +1498,7 @@ fn pool_no_dangling_delegation() { ); // now let's progress a bit. - CurrentEra::::set(Some(1)); + set_current_era(1); // bob is completely unbonding assert_ok!(Pools::unbond(RuntimeOrigin::signed(bob), 20, 20)); @@ -1496,7 +1513,7 @@ fn pool_no_dangling_delegation() { ); // this era will get slashed - CurrentEra::::set(Some(2)); + set_current_era(2); assert_ok!(Pools::unbond(RuntimeOrigin::signed(alice), 10, 10)); assert_ok!(Pools::unbond(RuntimeOrigin::signed(charlie), 21, 10)); @@ -1526,7 +1543,7 @@ fn pool_no_dangling_delegation() { // At this point, bob's 20 that is unlocking is safe from slash, 10 (alice) + 10 (charlie) // are also unlocking but vulnerable to slash, and another 40 are active and vulnerable to // slash. Let's slash half of them. - pallet_staking::slashing::do_slash::( + pallet_staking_async::slashing::do_slash::( &POOL1_BONDED, 30, &mut Default::default(), @@ -1583,7 +1600,7 @@ fn pool_no_dangling_delegation() { ); // go forward to an era after PostUnbondingPoolsWindow = 10 ends for era 5. - CurrentEra::::set(Some(15)); + set_current_era(15); // At this point subpools will all be merged in no-era causing Bob to lose some value while // Alice and Charlie will gain some value. assert_ok!(Pools::unbond(RuntimeOrigin::signed(charlie), charlie, 10)); @@ -1643,7 +1660,7 @@ fn pool_no_dangling_delegation() { ); // Charlie can withdraw as much as he has locked. - CurrentEra::::set(Some(18)); + set_current_era(18); let charlie_pre_withdraw_balance = Balances::free_balance(&charlie); assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(charlie), charlie, 0)); // Charlie's total balance was 12, but we don't have enough funds to unlock. We try the best @@ -1693,12 +1710,15 @@ fn pool_no_dangling_delegation() { ] ); - CurrentEra::::set(Some(21)); + set_current_era(21); assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(alice), alice, 0)); assert_eq!( staking_events_since_last_call(), - vec![StakingEvent::Withdrawn { stash: POOL1_BONDED, amount: 15 }] + vec![ + StakingEvent::StakerRemoved { stash: POOL1_BONDED }, + StakingEvent::Withdrawn { stash: POOL1_BONDED, amount: 15 }, + ] ); assert_eq!( pool_events_since_last_call(), @@ -1715,3 +1735,226 @@ fn pool_no_dangling_delegation() { assert_eq!(Balances::total_balance_on_hold(&charlie), 0); }); } + +/// When `AreNominatorsSlashable` is false, pool members can unbond and withdraw in 1 era +/// instead of waiting the full bonding duration. +#[test] +fn pool_members_unbond_in_one_era_when_nominators_not_slashable() { + new_test_ext().execute_with(|| { + // Set nominators as not slashable - this enables fast unbonding. + AreNominatorsSlashable::::put(false); + assert!(!AreNominatorsSlashable::::get()); + + assert_eq!(Balances::minimum_balance(), 5); + assert_eq!(CurrentEra::::get(), Some(0)); + assert_eq!(BondingDuration::get(), 3); // Full bonding duration is 3 eras. + + // Create the pool with depositor (10) bonding 50. + assert_ok!(Pools::create(RuntimeOrigin::signed(10), 50, 10, 10, 10)); + assert_eq!(LastPoolId::::get(), 1); + + // Have the pool nominate. + assert_ok!(Pools::nominate(RuntimeOrigin::signed(10), 1, vec![1, 2, 3])); + + // Member 20 joins with 10. + assert_ok!(Pools::join(RuntimeOrigin::signed(20), 10, 1)); + + assert_eq!( + staking_events_since_last_call(), + vec![ + StakingEvent::Bonded { stash: POOL1_BONDED, amount: 50 }, + StakingEvent::Bonded { stash: POOL1_BONDED, amount: 10 }, + ] + ); + + // Progress to era 1. + set_current_era(1); + + // Member 20 unbonds their 10. + assert_ok!(Pools::unbond(RuntimeOrigin::signed(20), 20, 10)); + + // The unbond era should be current_era + NominatorFastUnbondDuration = 1 + 2 = 3 + // (not current_era + BondingDuration = 1 + 3 = 4). + assert_eq!( + pool_events_since_last_call(), + vec![ + PoolsEvent::Created { depositor: 10, pool_id: 1 }, + PoolsEvent::Bonded { member: 10, pool_id: 1, bonded: 50, joined: true }, + PoolsEvent::PoolNominationMade { pool_id: 1, caller: 10 }, + PoolsEvent::Bonded { member: 20, pool_id: 1, bonded: 10, joined: true }, + // Unbond era is 3 (current era 1 + NominatorFastUnbondDuration 2), not 4! + PoolsEvent::Unbonded { member: 20, pool_id: 1, points: 10, balance: 10, era: 3 }, + ] + ); + + // Cannot withdraw yet - still in era 1. + assert_noop!( + Pools::withdraw_unbonded(RuntimeOrigin::signed(20), 20, 0), + PoolsError::::CannotWithdrawAny + ); + + // Progress to era 3 - member should now be able to withdraw. + set_current_era(3); + + // Now can withdraw after NominatorFastUnbondDuration eras (not BondingDuration). + assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(20), 20, 0)); + + assert_eq!( + staking_events_since_last_call(), + vec![ + StakingEvent::Unbonded { stash: POOL1_BONDED, amount: 10 }, + StakingEvent::Withdrawn { stash: POOL1_BONDED, amount: 10 }, + ] + ); + assert_eq!( + pool_events_since_last_call(), + vec![ + PoolsEvent::Withdrawn { member: 20, pool_id: 1, points: 10, balance: 10 }, + PoolsEvent::MemberRemoved { pool_id: 1, member: 20, released_balance: 0 }, + ] + ); + + // Member 20 is fully withdrawn. + assert!(PoolMembers::::get(20).is_none()); + }); +} + +/// When `AreNominatorsSlashable` is false, pool members are NOT slashed even when the +/// validator they nominated is slashed. +#[test] +fn pool_members_not_slashed_when_nominators_not_slashable() { + new_test_ext().execute_with(|| { + // Set nominators as not slashable. + AreNominatorsSlashable::::put(false); + assert!(!AreNominatorsSlashable::::get()); + + ExistentialDeposit::set(1); + assert_eq!(Balances::minimum_balance(), 1); + assert_eq!(CurrentEra::::get(), Some(0)); + + // Create the pool with depositor (10) bonding 40. + assert_ok!(Pools::create(RuntimeOrigin::signed(10), 40, 10, 10, 10)); + + // Have the pool nominate validator 1. + assert_ok!(Pools::nominate(RuntimeOrigin::signed(10), 1, vec![1])); + + // Members join. + assert_ok!(Pools::join(RuntimeOrigin::signed(20), 20, 1)); + assert_ok!(Pools::join(RuntimeOrigin::signed(21), 20, 1)); + + let _ = staking_events_since_last_call(); + let _ = pool_events_since_last_call(); + + // Progress to era 1 so the pool is in validator 1's exposure. + set_current_era(1); + + // Record pool's total stake before slash. + let pool_stake_before = + pallet_staking_async::Ledger::::get(&POOL1_BONDED).unwrap().active; + assert_eq!(pool_stake_before, 80); // 40 + 20 + 20 + + // Slash validator 1 for 50% of their stake. + pallet_staking_async::slashing::do_slash::( + &1, // validator + 500, // slash 500 (50% of validator's 1000) + &mut Default::default(), + &mut Default::default(), + 0, + ); + + // Pool's stake should be unchanged - nominators are not slashed. + let pool_stake_after = + pallet_staking_async::Ledger::::get(&POOL1_BONDED).unwrap().active; + assert_eq!(pool_stake_after, pool_stake_before); + assert_eq!(pool_stake_after, 80); + + // Individual pool members' points should also be unchanged. + assert_eq!(PoolMembers::::get(10).unwrap().points, 40); + assert_eq!(PoolMembers::::get(20).unwrap().points, 20); + assert_eq!(PoolMembers::::get(21).unwrap().points, 20); + + // Members can still unbond and withdraw their full amounts. + assert_ok!(Pools::unbond(RuntimeOrigin::signed(20), 20, 20)); + assert_ok!(Pools::unbond(RuntimeOrigin::signed(21), 21, 20)); + + // Fast forward to withdrawal era (era 1 + NominatorFastUnbondDuration = 1 + 2 = era 3). + set_current_era(3); + + assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(20), 20, 0)); + assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(21), 21, 0)); + + // Members got their full amounts back (no slash applied). + assert!(PoolMembers::::get(20).is_none()); + assert!(PoolMembers::::get(21).is_none()); + + // Check that the withdrawn amount was the full 20 each. + assert_eq!( + pool_events_since_last_call(), + vec![ + PoolsEvent::Unbonded { member: 20, pool_id: 1, points: 20, balance: 20, era: 3 }, + PoolsEvent::Unbonded { member: 21, pool_id: 1, points: 20, balance: 20, era: 3 }, + PoolsEvent::Withdrawn { member: 20, pool_id: 1, points: 20, balance: 20 }, + PoolsEvent::MemberRemoved { pool_id: 1, member: 20, released_balance: 0 }, + PoolsEvent::Withdrawn { member: 21, pool_id: 1, points: 20, balance: 20 }, + PoolsEvent::MemberRemoved { pool_id: 1, member: 21, released_balance: 0 }, + ] + ); + }); +} + +/// Test that pool members still need full bonding duration when `AreNominatorsSlashable` is true. +/// This is a sanity check to ensure the default behavior is preserved. +#[test] +fn pool_members_need_full_bonding_duration_when_nominators_slashable() { + new_test_ext().execute_with(|| { + // Ensure nominators are slashable (default). + assert!(AreNominatorsSlashable::::get()); + + assert_eq!(Balances::minimum_balance(), 5); + assert_eq!(CurrentEra::::get(), Some(0)); + assert_eq!(BondingDuration::get(), 3); + + // Create the pool. + assert_ok!(Pools::create(RuntimeOrigin::signed(10), 50, 10, 10, 10)); + assert_ok!(Pools::nominate(RuntimeOrigin::signed(10), 1, vec![1, 2, 3])); + + // Member 20 joins. + assert_ok!(Pools::join(RuntimeOrigin::signed(20), 10, 1)); + + let _ = pool_events_since_last_call(); + + // Progress to era 1. + set_current_era(1); + + // Member 20 unbonds. + assert_ok!(Pools::unbond(RuntimeOrigin::signed(20), 20, 10)); + + // The unbond era should be current_era + BondingDuration = 1 + 3 = 4. + assert_eq!( + pool_events_since_last_call(), + vec![ + // Unbond era is 4 (full bonding duration). + PoolsEvent::Unbonded { member: 20, pool_id: 1, points: 10, balance: 10, era: 4 }, + ] + ); + + // Cannot withdraw in era 2 (only 1 era passed). + set_current_era(2); + assert_noop!( + Pools::withdraw_unbonded(RuntimeOrigin::signed(20), 20, 0), + PoolsError::::CannotWithdrawAny + ); + + // Cannot withdraw in era 3 (only 2 eras passed). + set_current_era(3); + assert_noop!( + Pools::withdraw_unbonded(RuntimeOrigin::signed(20), 20, 0), + PoolsError::::CannotWithdrawAny + ); + + // Can finally withdraw in era 4 (full bonding duration passed). + set_current_era(4); + assert_ok!(Pools::withdraw_unbonded(RuntimeOrigin::signed(20), 20, 0)); + assert!(PoolMembers::::get(20).is_none()); + }); +} diff --git a/substrate/frame/nomination-pools/test-delegate-stake/src/mock.rs b/substrate/frame/nomination-pools/test-delegate-stake/src/mock.rs index ab49403b2e08e..51f3f2bbab606 100644 --- a/substrate/frame/nomination-pools/test-delegate-stake/src/mock.rs +++ b/substrate/frame/nomination-pools/test-delegate-stake/src/mock.rs @@ -91,23 +91,48 @@ pallet_staking_reward_curve::build! { parameter_types! { pub const RewardCurve: &'static sp_runtime::curve::PiecewiseLinear<'static> = &I_NPOS; pub static BondingDuration: u32 = 3; + pub static EraPayout: (Balance, Balance) = (1000, 100); } -#[derive_impl(pallet_staking::config_preludes::TestDefaultConfig)] -impl pallet_staking::Config for Runtime { +/// A simple EraPayout implementation for testing that returns fixed values. +pub struct TestEraPayout; +impl pallet_staking_async::EraPayout for TestEraPayout { + fn era_payout( + _total_staked: Balance, + _total_issuance: Balance, + _era_duration_millis: u64, + ) -> (Balance, Balance) { + EraPayout::get() + } +} + +/// A mock RcClientInterface for tests that don't need actual session/validator set management. +pub struct MockRcClient; +impl pallet_staking_async_rc_client::RcClientInterface for MockRcClient { + type AccountId = AccountId; + + fn validator_set( + _new_validator_set: Vec, + _id: u32, + _prune_up_to: Option, + ) { + // No-op for tests + } +} + +#[derive_impl(pallet_staking_async::config_preludes::TestDefaultConfig)] +impl pallet_staking_async::Config for Runtime { type OldCurrency = Balances; type Currency = Balances; - type UnixTime = pallet_timestamp::Pallet; type AdminOrigin = frame_system::EnsureRoot; type BondingDuration = BondingDuration; - type EraPayout = pallet_staking::ConvertCurve; + type EraPayout = TestEraPayout; type ElectionProvider = frame_election_provider_support::NoElection<(AccountId, BlockNumber, Staking, (), ())>; - type GenesisElectionProvider = Self::ElectionProvider; type VoterList = VoterList; - type TargetList = pallet_staking::UseValidatorsMap; + type TargetList = pallet_staking_async::UseValidatorsMap; type EventListeners = (Pools, DelegatedStaking); - type BenchmarkingConfig = pallet_staking::TestBenchmarkingConfig; + type RcClientInterface = MockRcClient; } parameter_types! { @@ -155,7 +180,7 @@ impl pallet_nomination_pools::adapter::StakeStrategy for MockAdapter { fn strategy_type() -> StakeStrategyType { if LegacyAdapter::get() { - return TransferStake::strategy_type() + return TransferStake::strategy_type(); } DelegateStake::strategy_type() } @@ -164,21 +189,21 @@ impl pallet_nomination_pools::adapter::StakeStrategy for MockAdapter { member_account: Member, ) -> Self::Balance { if LegacyAdapter::get() { - return TransferStake::transferable_balance(pool_account, member_account) + return TransferStake::transferable_balance(pool_account, member_account); } DelegateStake::transferable_balance(pool_account, member_account) } fn total_balance(pool_account: Pool) -> Option { if LegacyAdapter::get() { - return TransferStake::total_balance(pool_account) + return TransferStake::total_balance(pool_account); } DelegateStake::total_balance(pool_account) } fn member_delegation_balance(member_account: Member) -> Option { if LegacyAdapter::get() { - return TransferStake::member_delegation_balance(member_account) + return TransferStake::member_delegation_balance(member_account); } DelegateStake::member_delegation_balance(member_account) } @@ -191,7 +216,13 @@ impl pallet_nomination_pools::adapter::StakeStrategy for MockAdapter { bond_type: BondType, ) -> DispatchResult { if LegacyAdapter::get() { - return TransferStake::pledge_bond(who, pool_account, reward_account, amount, bond_type) + return TransferStake::pledge_bond( + who, + pool_account, + reward_account, + amount, + bond_type, + ); } DelegateStake::pledge_bond(who, pool_account, reward_account, amount, bond_type) } @@ -203,21 +234,21 @@ impl pallet_nomination_pools::adapter::StakeStrategy for MockAdapter { num_slashing_spans: u32, ) -> DispatchResult { if LegacyAdapter::get() { - return TransferStake::member_withdraw(who, pool_account, amount, num_slashing_spans) + return TransferStake::member_withdraw(who, pool_account, amount, num_slashing_spans); } DelegateStake::member_withdraw(who, pool_account, amount, num_slashing_spans) } fn dissolve(pool_account: Pool) -> DispatchResult { if LegacyAdapter::get() { - return TransferStake::dissolve(pool_account) + return TransferStake::dissolve(pool_account); } DelegateStake::dissolve(pool_account) } fn pending_slash(pool_account: Pool) -> Self::Balance { if LegacyAdapter::get() { - return TransferStake::pending_slash(pool_account) + return TransferStake::pending_slash(pool_account); } DelegateStake::pending_slash(pool_account) } @@ -229,7 +260,7 @@ impl pallet_nomination_pools::adapter::StakeStrategy for MockAdapter { maybe_reporter: Option, ) -> DispatchResult { if LegacyAdapter::get() { - return TransferStake::member_slash(who, pool_account, amount, maybe_reporter) + return TransferStake::member_slash(who, pool_account, amount, maybe_reporter); } DelegateStake::member_slash(who, pool_account, amount, maybe_reporter) } @@ -239,7 +270,7 @@ impl pallet_nomination_pools::adapter::StakeStrategy for MockAdapter { reward_account: &Self::AccountId, ) -> DispatchResult { if LegacyAdapter::get() { - return TransferStake::migrate_nominator_to_agent(agent, reward_account) + return TransferStake::migrate_nominator_to_agent(agent, reward_account); } DelegateStake::migrate_nominator_to_agent(agent, reward_account) } @@ -250,7 +281,7 @@ impl pallet_nomination_pools::adapter::StakeStrategy for MockAdapter { value: Self::Balance, ) -> DispatchResult { if LegacyAdapter::get() { - return TransferStake::migrate_delegation(agent, delegator, value) + return TransferStake::migrate_delegation(agent, delegator, value); } DelegateStake::migrate_delegation(agent, delegator, value) } @@ -294,13 +325,16 @@ frame_support::construct_runtime!( System: frame_system, Timestamp: pallet_timestamp, Balances: pallet_balances, - Staking: pallet_staking, + Staking: pallet_staking_async, VoterList: pallet_bags_list::, Pools: pallet_nomination_pools, DelegatedStaking: pallet_delegated_staking, } ); +// Test validators that pools can nominate +pub(crate) const TEST_VALIDATORS: [AccountId; 3] = [1, 2, 3]; + pub fn new_test_ext() -> sp_io::TestExternalities { sp_tracing::try_init_simple(); let mut storage = frame_system::GenesisConfig::::default().build_storage().unwrap(); @@ -316,7 +350,10 @@ pub fn new_test_ext() -> sp_io::TestExternalities { .unwrap(); let _ = pallet_balances::GenesisConfig:: { - balances: vec![(10, 100), (20, 100), (21, 100), (22, 100)], + balances: vec![(10, 100), (20, 100), (21, 100), (22, 100)] + .into_iter() + .chain(TEST_VALIDATORS.iter().map(|&v| (v, 1000))) + .collect::>(), ..Default::default() } .assimilate_storage(&mut storage) @@ -328,17 +365,41 @@ pub fn new_test_ext() -> sp_io::TestExternalities { // for events to be deposited. frame_system::Pallet::::set_block_number(1); + // Initialize era state for pallet-staking-async + pallet_staking_async::CurrentEra::::put(0); + pallet_staking_async::ActiveEra::::put(pallet_staking_async::ActiveEraInfo { + index: 0, + start: None, + }); + // set some limit for nominations. assert_ok!(Staking::set_staking_configs( RuntimeOrigin::root(), - pallet_staking::ConfigOp::Set(10), // minimum nominator bond - pallet_staking::ConfigOp::Noop, - pallet_staking::ConfigOp::Noop, - pallet_staking::ConfigOp::Noop, - pallet_staking::ConfigOp::Noop, - pallet_staking::ConfigOp::Noop, - pallet_staking::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Set(10), // minimum nominator bond + pallet_staking_async::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Noop, + pallet_staking_async::ConfigOp::Noop, // are_nominators_slashable )); + + // Set up validators that tests can nominate + for &validator in TEST_VALIDATORS.iter() { + assert_ok!(Staking::bond( + RuntimeOrigin::signed(validator), + 500, + pallet_staking_async::RewardDestination::Staked + )); + assert_ok!(Staking::validate( + RuntimeOrigin::signed(validator), + pallet_staking_async::ValidatorPrefs::default() + )); + } + + // Clear events from setup to avoid test interference + frame_system::Pallet::::reset_events(); }); ext @@ -362,7 +423,7 @@ pub(crate) fn pool_events_since_last_call() -> Vec Vec> { +pub(crate) fn staking_events_since_last_call() -> Vec> { let events = System::events() .into_iter() .map(|r| r.event) diff --git a/substrate/frame/offences/benchmarking/Cargo.toml b/substrate/frame/offences/benchmarking/Cargo.toml index fe1b233f66f45..e79622c297902 100644 --- a/substrate/frame/offences/benchmarking/Cargo.toml +++ b/substrate/frame/offences/benchmarking/Cargo.toml @@ -28,6 +28,7 @@ pallet-grandpa = { workspace = true } pallet-im-online = { workspace = true } pallet-offences = { workspace = true } pallet-session = { workspace = true } +pallet-session-benchmarking = { workspace = true } pallet-staking = { workspace = true } scale-info = { features = ["derive"], workspace = true } sp-runtime = { workspace = true } @@ -54,6 +55,7 @@ std = [ "pallet-grandpa/std", "pallet-im-online/std", "pallet-offences/std", + "pallet-session-benchmarking/std", "pallet-session/std", "pallet-staking/std", "pallet-timestamp/std", @@ -73,6 +75,7 @@ runtime-benchmarks = [ "pallet-grandpa/runtime-benchmarks", "pallet-im-online/runtime-benchmarks", "pallet-offences/runtime-benchmarks", + "pallet-session-benchmarking/runtime-benchmarks", "pallet-session/runtime-benchmarks", "pallet-staking/runtime-benchmarks", "pallet-timestamp/runtime-benchmarks", diff --git a/substrate/frame/offences/benchmarking/src/inner.rs b/substrate/frame/offences/benchmarking/src/inner.rs index 31c99800ae3ed..baf7e914514b0 100644 --- a/substrate/frame/offences/benchmarking/src/inner.rs +++ b/substrate/frame/offences/benchmarking/src/inner.rs @@ -18,7 +18,6 @@ //! Offences pallet benchmarking. use alloc::{vec, vec::Vec}; -use codec::Decode; use frame_benchmarking::v2::*; use frame_support::traits::Get; use frame_system::{Config as SystemConfig, Pallet as System, RawOrigin}; @@ -50,6 +49,7 @@ pub struct Pallet(Offences); pub trait Config: SessionConfig::AccountId> + + pallet_session_benchmarking::Config + StakingConfig + OffencesConfig + HistoricalConfig @@ -108,10 +108,7 @@ fn create_offender(n: u32, nominators: u32) -> Result, &' Staking::::validate(RawOrigin::Signed(stash.clone()).into(), validator_prefs)?; // set some fake keys for the validators. - let keys = - ::Keys::decode(&mut sp_runtime::traits::TrailingZeroInput::zeroes()) - .unwrap(); - let proof: Vec = vec![0, 1, 2, 3]; + let (keys, proof) = T::generate_session_keys_and_proof(stash.clone()); Session::::ensure_can_pay_key_deposit(&stash)?; Session::::set_keys(RawOrigin::Signed(stash.clone()).into(), keys, proof)?; diff --git a/substrate/frame/offences/benchmarking/src/mock.rs b/substrate/frame/offences/benchmarking/src/mock.rs index 7b2ddf26228a3..22818db1cca4b 100644 --- a/substrate/frame/offences/benchmarking/src/mock.rs +++ b/substrate/frame/offences/benchmarking/src/mock.rs @@ -17,6 +17,7 @@ //! Mock file for offences benchmarking. +use codec::Encode; use frame_election_provider_support::{ bounds::{ElectionBounds, ElectionBoundsBuilder}, onchain, SequentialPhragmen, @@ -101,6 +102,14 @@ impl pallet_session::Config for Test { type KeyDeposit = (); } +impl pallet_session_benchmarking::Config for Test { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + + (keys.keys, keys.proof.encode()) + } +} + pallet_staking_reward_curve::build! { const I_NPOS: sp_runtime::curve::PiecewiseLinear<'static> = curve!( min_inflation: 0_025_000, diff --git a/substrate/frame/offences/src/migration.rs b/substrate/frame/offences/src/migration.rs index abf8acd94875d..e4126a4dd0f83 100644 --- a/substrate/frame/offences/src/migration.rs +++ b/substrate/frame/offences/src/migration.rs @@ -65,7 +65,7 @@ pub mod v1 { fn on_runtime_upgrade() -> Weight { if Pallet::::on_chain_storage_version() > 0 { log::info!(target: LOG_TARGET, "pallet_offences::MigrateToV1 should be removed"); - return T::DbWeight::get().reads(1) + return T::DbWeight::get().reads(1); } let keys_removed = v0::ReportsByKindIndex::::clear(u32::MAX, None).unique as u64; diff --git a/substrate/frame/origin-restriction/src/lib.rs b/substrate/frame/origin-restriction/src/lib.rs index 79c73410ae654..64f65ecd1003f 100644 --- a/substrate/frame/origin-restriction/src/lib.rs +++ b/substrate/frame/origin-restriction/src/lib.rs @@ -194,11 +194,11 @@ pub mod pallet { // `None` origin is better to reject in general, due to being used for inherents and // validate unsigned. if ensure_none(origin.clone()).is_ok() { - return Err(BadOrigin.into()) + return Err(BadOrigin.into()); } let Some(mut usage) = Usages::::take(&entity) else { - return Err(Error::::NoUsage.into()) + return Err(Error::::NoUsage.into()); }; let now = frame_system::Pallet::::block_number(); @@ -268,7 +268,7 @@ impl TransactionExtension for RestrictOrigin { fn weight(&self, _call: &T::RuntimeCall) -> frame_support::weights::Weight { if !self.0 { - return Weight::zero() + return Weight::zero(); } ::WeightInfo::restrict_origin_tx_ext() @@ -293,7 +293,7 @@ impl TransactionExtension for RestrictOrigin { if !self.0 { // Extension is disabled, but the restriction must happen, the extension should have // been enabled. - return Err(InvalidTransaction::Call.into()) + return Err(InvalidTransaction::Call.into()); } let now = frame_system::Pallet::::block_number(); @@ -348,7 +348,7 @@ impl TransactionExtension for RestrictOrigin { _result: &DispatchResult, ) -> Result { match pre { - Pre::Charge { fee, entity } => + Pre::Charge { fee, entity } => { if post_info.pays_fee == Pays::No { Usages::::mutate_exists(entity, |maybe_usage| { if let Some(usage) = maybe_usage { @@ -362,7 +362,8 @@ impl TransactionExtension for RestrictOrigin { Ok(Weight::zero()) } else { Ok(Weight::zero()) - }, + } + }, Pre::NoCharge { refund } => Ok(refund), } } diff --git a/substrate/frame/origin-restriction/src/mock.rs b/substrate/frame/origin-restriction/src/mock.rs index 91842e263e629..5d3ea87c7e7ee 100644 --- a/substrate/frame/origin-restriction/src/mock.rs +++ b/substrate/frame/origin-restriction/src/mock.rs @@ -141,10 +141,12 @@ impl RestrictedEntity for RuntimeRestrictedEntity { fn restricted_entity(caller: &OriginCaller) -> Option { match caller { - OriginCaller::system(frame_system::Origin::::Signed(RESTRICTED_ORIGIN_1)) => - Some(RuntimeRestrictedEntity::A), - OriginCaller::system(frame_system::Origin::::Signed(RESTRICTED_ORIGIN_2)) => - Some(RuntimeRestrictedEntity::B), + OriginCaller::system(frame_system::Origin::::Signed(RESTRICTED_ORIGIN_1)) => { + Some(RuntimeRestrictedEntity::A) + }, + OriginCaller::system(frame_system::Origin::::Signed(RESTRICTED_ORIGIN_2)) => { + Some(RuntimeRestrictedEntity::B) + }, _ => None, } } diff --git a/substrate/frame/paged-list/fuzzer/src/paged_list.rs b/substrate/frame/paged-list/fuzzer/src/paged_list.rs index f0f914de14229..5c83e1ff781ea 100644 --- a/substrate/frame/paged-list/fuzzer/src/paged_list.rs +++ b/substrate/frame/paged-list/fuzzer/src/paged_list.rs @@ -51,7 +51,7 @@ fn main() { /// It also changes the maximal number of elements per page dynamically, hence the `page_size`. fn drain_append_work(ops: Vec, page_size: u8) { if page_size == 0 { - return + return; } TestExternalities::default().execute_with(|| { diff --git a/substrate/frame/paged-list/src/lib.rs b/substrate/frame/paged-list/src/lib.rs index b31ebb570eba3..0f1a24b1f4dc1 100644 --- a/substrate/frame/paged-list/src/lib.rs +++ b/substrate/frame/paged-list/src/lib.rs @@ -51,7 +51,6 @@ //! 5. **Draining** elements happens through the [`Pallet::drain`] iterator. Note that even //! *peeking* a value will already remove it. #![doc = docify::embed!("src/tests.rs", drain_works)] -//! //! ## Pallet API //! //! None. Only things to consider is the [`Config`] traits. diff --git a/substrate/frame/paged-list/src/paged_list.rs b/substrate/frame/paged-list/src/paged_list.rs index 4631c91d24ec7..4b7aeba83c741 100644 --- a/substrate/frame/paged-list/src/paged_list.rs +++ b/substrate/frame/paged-list/src/paged_list.rs @@ -191,7 +191,7 @@ impl Page { .and_then(|raw| alloc::vec::Vec::::decode(&mut &raw[..]).ok())?; if values.is_empty() { // Don't create empty pages. - return None + return None; } let values = values.into_iter().skip(value_index as usize); @@ -281,7 +281,7 @@ where defensive!("There are no empty pages in storage; nuking the list"); self.meta.reset(); self.page = None; - return None + return None; }, }; diff --git a/substrate/frame/parameters/src/lib.rs b/substrate/frame/parameters/src/lib.rs index aa91c57b90688..eb1220c3e5f2a 100644 --- a/substrate/frame/parameters/src/lib.rs +++ b/substrate/frame/parameters/src/lib.rs @@ -72,26 +72,20 @@ //! //! Here is an example of how to define some parameters, including their default values: #![doc = docify::embed!("src/tests/mock.rs", dynamic_params)] -//! //! A permissioned origin can be define on a per-key basis like this: #![doc = docify::embed!("src/tests/mock.rs", custom_origin)] -//! //! The pallet will also require a default value for benchmarking. Ideally this is the variant with //! the longest encoded length. Although in either case the PoV benchmarking will take the worst //! case over the whole enum. #![doc = docify::embed!("src/tests/mock.rs", benchmarking_default)] -//! //! Now the aggregated parameter needs to be injected into the pallet config: #![doc = docify::embed!("src/tests/mock.rs", impl_config)] -//! //! As last step, the parameters can now be used in other pallets πŸ™Œ #![doc = docify::embed!("src/tests/mock.rs", usage)] -//! //! ### Examples Usage //! //! Now to demonstrate how the values can be updated: #![doc = docify::embed!("src/tests/unit.rs", set_parameters_example)] -//! //! ## Low Level / Implementation Details //! //! The pallet stores the parameters in a storage map and implements the matching `Get` for diff --git a/substrate/frame/people/src/extension.rs b/substrate/frame/people/src/extension.rs index e1828c354d570..8c73ab9bd9aa3 100644 --- a/substrate/frame/people/src/extension.rs +++ b/substrate/frame/people/src/extension.rs @@ -118,17 +118,21 @@ impl TransactionExtension<:: // Extension is passthrough None => Weight::zero(), // Alias with existing account - Some(AsPersonInfo::AsPersonalAliasWithAccount(_)) => - T::WeightInfo::as_person_alias_with_account(), + Some(AsPersonInfo::AsPersonalAliasWithAccount(_)) => { + T::WeightInfo::as_person_alias_with_account() + }, // Alias with proof - Some(AsPersonInfo::AsPersonalAliasWithProof(_, _, _)) => - T::WeightInfo::as_person_alias_with_proof(), + Some(AsPersonInfo::AsPersonalAliasWithProof(_, _, _)) => { + T::WeightInfo::as_person_alias_with_proof() + }, // Personal Identity with proof - Some(AsPersonInfo::AsPersonalIdentityWithProof(_, _)) => - T::WeightInfo::as_person_identity_with_proof(), + Some(AsPersonInfo::AsPersonalIdentityWithProof(_, _)) => { + T::WeightInfo::as_person_identity_with_proof() + }, // Personal Identity with existing account - Some(AsPersonInfo::AsPersonalIdentityWithAccount(_)) => - T::WeightInfo::as_person_identity_with_account(), + Some(AsPersonInfo::AsPersonalIdentityWithAccount(_)) => { + T::WeightInfo::as_person_identity_with_account() + }, } } @@ -299,8 +303,9 @@ impl TransactionExtension<:: _len: usize, ) -> Result { match val { - Val::UsingAccount(who, nonce) => - CheckNonce::::prepare_nonce_for_account(&who, nonce)?, + Val::UsingAccount(who, nonce) => { + CheckNonce::::prepare_nonce_for_account(&who, nonce)? + }, Val::NotUsing | Val::UsingProof => (), } diff --git a/substrate/frame/people/src/lib.rs b/substrate/frame/people/src/lib.rs index 69154cc560319..83fa6279da5bc 100644 --- a/substrate/frame/people/src/lib.rs +++ b/substrate/frame/people/src/lib.rs @@ -1082,8 +1082,9 @@ pub mod pallet { People::::insert(id, record); }, // This call accepts migrations only for included keys. - RingPosition::Onboarding { .. } => - return Err(Error::::InvalidKeyMigration.into()), + RingPosition::Onboarding { .. } => { + return Err(Error::::InvalidKeyMigration.into()) + }, // Suspended people shouldn't be able to call this, but protect against this case // anyway. RingPosition::Suspended => return Err(Error::::Suspended.into()), @@ -1496,7 +1497,7 @@ pub mod pallet { let mut suspended_indices = PendingSuspensions::::get(ring_index); let Err(insert_idx) = suspended_indices.binary_search(&ring_position) else { - return Err(Error::::KeyAlreadySuspended.into()) + return Err(Error::::KeyAlreadySuspended.into()); }; suspended_indices .try_insert(insert_idx, ring_position) @@ -1636,8 +1637,9 @@ pub mod pallet { } let op_res = with_storage_layer::(|| match drain.next() { - Some((id, new_key)) => - Self::migrate_keys_single_included_key(id, new_key).map(|_| false), + Some((id, new_key)) => { + Self::migrate_keys_single_included_key(id, new_key).map(|_| false) + }, None => { let rings_state = RingsState::::get() .end_key_migration() @@ -1652,7 +1654,7 @@ pub mod pallet { Ok(true) => { // Read on `KeyMigrationQueue`. meter.consume(T::DbWeight::get().reads(1)); - break + break; }, Err(e) => { meter.consume(weight); @@ -1677,7 +1679,7 @@ pub mod pallet { } = record.position else { Keys::::remove(new_key); - return Ok(()) + return Ok(()); }; let mut suspended_indices = PendingSuspensions::::get(ring_index); let Err(insert_idx) = suspended_indices.binary_search(&ring_position) else { @@ -2037,8 +2039,9 @@ pub mod pallet { fn try_origin(o: OriginFor, arg: &Context) -> Result> { match ensure_revised_personal_alias(o.clone().into_caller()) { - Ok(ca) if &ca.ca.context == arg => - Ok(RevisedAlias { revision: ca.revision, ring: ca.ring, alias: ca.ca.alias }), + Ok(ca) if &ca.ca.context == arg => { + Ok(RevisedAlias { revision: ca.revision, ring: ca.ring, alias: ca.ca.alias }) + }, _ => Err(o), } } diff --git a/substrate/frame/preimage/src/lib.rs b/substrate/frame/preimage/src/lib.rs index ec5a6edbb573c..e94ee2b7cc7d0 100644 --- a/substrate/frame/preimage/src/lib.rs +++ b/substrate/frame/preimage/src/lib.rs @@ -279,7 +279,7 @@ impl Pallet { T::Consideration::new(&who, Footprint::from_parts(1, len as usize)) .defensive_proof("Unexpected inability to take deposit after unreserved") else { - return true + return true; }; RequestStatus::Unrequested { ticket: (who, ticket), len } }, @@ -295,7 +295,7 @@ impl Pallet { "Unexpected inability to take deposit after unreserved", ) else { - return true + return true; }; Some((who, ticket)) } else { @@ -316,7 +316,7 @@ impl Pallet { origin: T::RuntimeOrigin, ) -> Result, BadOrigin> { if T::ManagerOrigin::ensure_origin(origin.clone()).is_ok() { - return Ok(None) + return Ok(None); } let who = ensure_signed(origin)?; Ok(Some(who)) @@ -341,17 +341,20 @@ impl Pallet { // We take a deposit only if there is a provided depositor and the preimage was not // previously requested. This also allows the tx to pay no fee. let status = match (RequestStatusFor::::get(hash), maybe_depositor) { - (Some(RequestStatus::Requested { maybe_ticket, count, .. }), _) => - RequestStatus::Requested { maybe_ticket, count, maybe_len: Some(len) }, - (Some(RequestStatus::Unrequested { .. }), Some(_)) => - return Err(Error::::AlreadyNoted.into()), + (Some(RequestStatus::Requested { maybe_ticket, count, .. }), _) => { + RequestStatus::Requested { maybe_ticket, count, maybe_len: Some(len) } + }, + (Some(RequestStatus::Unrequested { .. }), Some(_)) => { + return Err(Error::::AlreadyNoted.into()) + }, (Some(RequestStatus::Unrequested { ticket, len }), None) => RequestStatus::Requested { maybe_ticket: Some(ticket), count: 1, maybe_len: Some(len), }, - (None, None) => - RequestStatus::Requested { maybe_ticket: None, count: 1, maybe_len: Some(len) }, + (None, None) => { + RequestStatus::Requested { maybe_ticket: None, count: 1, maybe_len: Some(len) } + }, (None, Some(depositor)) => { let ticket = T::Consideration::new(depositor, Footprint::from_parts(1, len as usize))?; @@ -483,8 +486,9 @@ impl Pallet { use RequestStatus::*; Self::do_ensure_updated(&hash); match RequestStatusFor::::get(hash) { - Some(Requested { maybe_len: Some(len), .. }) | Some(Unrequested { len, .. }) => - Some(len), + Some(Requested { maybe_len: Some(len), .. }) | Some(Unrequested { len, .. }) => { + Some(len) + }, _ => None, } } diff --git a/substrate/frame/preimage/src/migration.rs b/substrate/frame/preimage/src/migration.rs index 88e34527fd977..5ff226f1c48e6 100644 --- a/substrate/frame/preimage/src/migration.rs +++ b/substrate/frame/preimage/src/migration.rs @@ -99,7 +99,7 @@ pub mod v1 { "skipping MovePreimagesIntoBuckets: executed on wrong storage version.\ Expected version 0" ); - return weight + return weight; } let status = v0::StatusFor::::drain().collect::>(); @@ -113,7 +113,7 @@ pub mod v1 { preimage } else { log::error!(target: TARGET, "preimage not found for hash {:?}", &hash); - continue + continue; }; let len = preimage.len() as u32; if len > MAX_SIZE { @@ -123,22 +123,24 @@ pub mod v1 { &hash, len ); - continue + continue; } let status = match status { v0::OldRequestStatus::Unrequested(deposit) => match deposit { Some(deposit) => OldRequestStatus::Unrequested { deposit, len }, // `None` depositor becomes system-requested. - None => - OldRequestStatus::Requested { deposit: None, count: 1, len: Some(len) }, + None => { + OldRequestStatus::Requested { deposit: None, count: 1, len: Some(len) } + }, }, v0::OldRequestStatus::Requested(0) => { log::error!(target: TARGET, "preimage has counter of zero: {:?}", hash); - continue + continue; + }, + v0::OldRequestStatus::Requested(count) => { + OldRequestStatus::Requested { deposit: None, count, len: Some(len) } }, - v0::OldRequestStatus::Requested(count) => - OldRequestStatus::Requested { deposit: None, count, len: Some(len) }, }; log::trace!(target: TARGET, "Moving preimage {:?} with len {}", hash, len); diff --git a/substrate/frame/proxy/src/lib.rs b/substrate/frame/proxy/src/lib.rs index beed497e7c729..681a3088d76be 100644 --- a/substrate/frame/proxy/src/lib.rs +++ b/substrate/frame/proxy/src/lib.rs @@ -1008,12 +1008,16 @@ impl Pallet { Some(Call::add_proxy { ref proxy_type, .. }) | Some(Call::remove_proxy { ref proxy_type, .. }) if !def.proxy_type.is_superset(proxy_type) => - false, + { + false + }, // Proxy call cannot remove all proxies or kill pure proxies unless it has full // permissions. Some(Call::remove_proxies { .. }) | Some(Call::kill_pure { .. }) if def.proxy_type != T::ProxyType::default() => - false, + { + false + }, _ => def.proxy_type.filter(c), } }); diff --git a/substrate/frame/ranked-collective/src/lib.rs b/substrate/frame/ranked-collective/src/lib.rs index cb56fd06cc45a..ac2ff630be89b 100644 --- a/substrate/frame/ranked-collective/src/lib.rs +++ b/substrate/frame/ranked-collective/src/lib.rs @@ -643,8 +643,9 @@ pub mod pallet { poll, |mut status| -> Result<(TallyOf, VoteRecord), DispatchError> { match status { - PollStatus::None | PollStatus::Completed(..) => - Err(Error::::NotPolling)?, + PollStatus::None | PollStatus::Completed(..) => { + Err(Error::::NotPolling)? + }, PollStatus::Ongoing(ref mut tally, class) => { match Voting::::get(&poll, &who) { Some(Aye(votes)) => { @@ -701,7 +702,7 @@ pub mod pallet { ); if r.unique == 0 { // return Err(Error::::NoneRemaining) - return Ok(Pays::Yes.into()) + return Ok(Pays::Yes.into()); } if let Some(cursor) = r.maybe_cursor { VotingCleanup::::insert(poll_index, BoundedVec::truncate_from(cursor)); diff --git a/substrate/frame/ranked-collective/src/tests.rs b/substrate/frame/ranked-collective/src/tests.rs index 3a85928b76d5e..9e13a21ffd4ef 100644 --- a/substrate/frame/ranked-collective/src/tests.rs +++ b/substrate/frame/ranked-collective/src/tests.rs @@ -88,8 +88,9 @@ impl Polling> for TestPolls { let mut polls = Polls::get(); let entry = polls.get_mut(&index); let r = match entry { - Some(Ongoing(ref mut tally_mut_ref, class)) => - f(PollStatus::Ongoing(tally_mut_ref, *class)), + Some(Ongoing(ref mut tally_mut_ref, class)) => { + f(PollStatus::Ongoing(tally_mut_ref, *class)) + }, Some(Completed(when, succeeded)) => f(PollStatus::Completed(*when, *succeeded)), None => f(PollStatus::None), }; @@ -105,8 +106,9 @@ impl Polling> for TestPolls { let mut polls = Polls::get(); let entry = polls.get_mut(&index); let r = match entry { - Some(Ongoing(ref mut tally_mut_ref, class)) => - f(PollStatus::Ongoing(tally_mut_ref, *class)), + Some(Ongoing(ref mut tally_mut_ref, class)) => { + f(PollStatus::Ongoing(tally_mut_ref, *class)) + }, Some(Completed(when, succeeded)) => f(PollStatus::Completed(*when, *succeeded)), None => f(PollStatus::None), }?; @@ -453,7 +455,7 @@ fn cleanup_works() { ); assert_ok!(Club::cleanup_poll(RuntimeOrigin::signed(4), 3, 10)); // NOTE: This will fail until #10016 is merged. - // assert_noop!(Club::cleanup_poll(RuntimeOrigin::signed(4), 3, 10), + // assert_noop!(Club::cleanup_poll(RuntimeOrigin::signed(4), 3, 10), // Error::::NoneRemaining); }); } diff --git a/substrate/frame/referenda/src/lib.rs b/substrate/frame/referenda/src/lib.rs index 11c1be06382c4..5ad7ded91d377 100644 --- a/substrate/frame/referenda/src/lib.rs +++ b/substrate/frame/referenda/src/lib.rs @@ -486,7 +486,7 @@ pub mod pallet { (proposal.lookup_hash().and_then(|h| T::Preimages::len(&h)), proposal.lookup_len()) { if preimage_len != proposal_len { - return Err(Error::::PreimageStoredWithDifferentLength.into()) + return Err(Error::::PreimageStoredWithDifferentLength.into()); } } @@ -1044,7 +1044,7 @@ impl, I: 'static> Pallet { Ok(c) => c, Err(_) => { debug_assert!(false, "Unable to create a bounded call from `one_fewer_deciding`??",); - return + return; }, }; Self::set_alarm(call, next_block); @@ -1071,7 +1071,7 @@ impl, I: 'static> Pallet { false, "Unable to create a bounded call from `nudge_referendum`??", ); - return false + return false; }, }; status.alarm = Self::set_alarm(call, alarm); @@ -1173,7 +1173,7 @@ impl, I: 'static> Pallet { ), true, ServiceBranch::TimedOut, - ) + ); } }, Some(deciding) => { @@ -1205,7 +1205,7 @@ impl, I: 'static> Pallet { ), true, ServiceBranch::Approved, - ) + ); }, Some(_) => ServiceBranch::ContinueConfirming, None => { @@ -1230,7 +1230,7 @@ impl, I: 'static> Pallet { ), true, ServiceBranch::Rejected, - ) + ); } if deciding.confirming.is_some() { // Stop confirming diff --git a/substrate/frame/referenda/src/migration.rs b/substrate/frame/referenda/src/migration.rs index 1b0f8a6e9faa8..6f138d458c694 100644 --- a/substrate/frame/referenda/src/migration.rs +++ b/substrate/frame/referenda/src/migration.rs @@ -139,19 +139,23 @@ pub mod v1 { ); if on_chain_version != 0 { log::warn!(target: TARGET, "skipping migration from v0 to v1."); - return weight + return weight; } v0::ReferendumInfoFor::::iter().for_each(|(key, value)| { let maybe_new_value = match value { v0::ReferendumInfo::Ongoing(_) | v0::ReferendumInfo::Killed(_) => None, - v0::ReferendumInfo::Approved(e, s, d) => - Some(ReferendumInfo::Approved(e, Some(s), d)), - v0::ReferendumInfo::Rejected(e, s, d) => - Some(ReferendumInfo::Rejected(e, Some(s), d)), - v0::ReferendumInfo::Cancelled(e, s, d) => - Some(ReferendumInfo::Cancelled(e, Some(s), d)), - v0::ReferendumInfo::TimedOut(e, s, d) => - Some(ReferendumInfo::TimedOut(e, Some(s), d)), + v0::ReferendumInfo::Approved(e, s, d) => { + Some(ReferendumInfo::Approved(e, Some(s), d)) + }, + v0::ReferendumInfo::Rejected(e, s, d) => { + Some(ReferendumInfo::Rejected(e, Some(s), d)) + }, + v0::ReferendumInfo::Cancelled(e, s, d) => { + Some(ReferendumInfo::Cancelled(e, Some(s), d)) + }, + v0::ReferendumInfo::TimedOut(e, s, d) => { + Some(ReferendumInfo::TimedOut(e, Some(s), d)) + }, }; if let Some(new_value) = maybe_new_value { weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); @@ -253,7 +257,7 @@ pub mod switch_block_number_provider { ); if on_chain_version == 0 { log::error!(target: TARGET, "skipping migration from v0 to switch_block_number_provider."); - return weight + return weight; } // Migration logic here diff --git a/substrate/frame/referenda/src/types.rs b/substrate/frame/referenda/src/types.rs index caca9087f25a4..153749590e3e4 100644 --- a/substrate/frame/referenda/src/types.rs +++ b/substrate/frame/referenda/src/types.rs @@ -362,8 +362,9 @@ impl< Ongoing(x) if x.decision_deposit.is_none() => Ok(None), // Cannot refund deposit if Ongoing as this breaks assumptions. Ongoing(_) => Err(()), - Approved(_, _, d) | Rejected(_, _, d) | TimedOut(_, _, d) | Cancelled(_, _, d) => - Ok(d.take()), + Approved(_, _, d) | Rejected(_, _, d) | TimedOut(_, _, d) | Cancelled(_, _, d) => { + Ok(d.take()) + }, Killed(_) => Ok(None), } } @@ -535,10 +536,12 @@ impl Curve { /// Determine the `y` value for the given `x` value. pub fn threshold(&self, x: Perbill) -> Perbill { match self { - Self::LinearDecreasing { length, floor, ceil } => - *ceil - (x.min(*length).saturating_div(*length, Down) * (*ceil - *floor)), - Self::SteppedDecreasing { begin, end, step, period } => - (*begin - (step.int_mul(x.int_div(*period))).min(*begin)).max(*end), + Self::LinearDecreasing { length, floor, ceil } => { + *ceil - (x.min(*length).saturating_div(*length, Down) * (*ceil - *floor)) + }, + Self::SteppedDecreasing { begin, end, step, period } => { + (*begin - (step.int_mul(x.int_div(*period))).min(*begin)).max(*end) + }, Self::Reciprocal { factor, x_offset, y_offset } => factor .checked_rounding_div(FixedI64::from(x) + *x_offset, Low) .map(|yp| (yp + *y_offset).into_clamped_perthing()) @@ -577,20 +580,22 @@ impl Curve { /// ``` pub fn delay(&self, y: Perbill) -> Perbill { match self { - Self::LinearDecreasing { length, floor, ceil } => + Self::LinearDecreasing { length, floor, ceil } => { if y < *floor { Perbill::one() } else if y > *ceil { Perbill::zero() } else { (*ceil - y).saturating_div(*ceil - *floor, Up).saturating_mul(*length) - }, - Self::SteppedDecreasing { begin, end, step, period } => + } + }, + Self::SteppedDecreasing { begin, end, step, period } => { if y < *end { Perbill::one() } else { period.int_mul((*begin - y.min(*begin) + step.less_epsilon()).int_div(*step)) - }, + } + }, Self::Reciprocal { factor, x_offset, y_offset } => { let y = FixedI64::from(y); let maybe_term = factor.checked_rounding_div(y - *y_offset, High); diff --git a/substrate/frame/remark/src/tests.rs b/substrate/frame/remark/src/tests.rs index 51fb32b60fc1f..283c9913a8b77 100644 --- a/substrate/frame/remark/src/tests.rs +++ b/substrate/frame/remark/src/tests.rs @@ -27,7 +27,7 @@ fn generates_event() { new_test_ext().execute_with(|| { let caller = 1; let data = vec![0u8; 100]; - System::set_block_number(System::block_number() + 1); //otherwise event won't be registered. + System::set_block_number(System::block_number() + 1); // otherwise event won't be registered. assert_ok!(Remark::::store(RawOrigin::Signed(caller).into(), data.clone(),)); let events = System::events(); // this one we create as we expect it @@ -48,7 +48,7 @@ fn does_not_store_empty() { new_test_ext().execute_with(|| { let caller = 1; let data = vec![]; - System::set_block_number(System::block_number() + 1); //otherwise event won't be registered. + System::set_block_number(System::block_number() + 1); // otherwise event won't be registered. assert_noop!( Remark::::store(RawOrigin::Signed(caller).into(), data.clone(),), Error::::Empty diff --git a/substrate/frame/revive/Cargo.toml b/substrate/frame/revive/Cargo.toml index 91c7c0c16563f..513184b79d339 100644 --- a/substrate/frame/revive/Cargo.toml +++ b/substrate/frame/revive/Cargo.toml @@ -1,8 +1,10 @@ +cargo-features = ["edition2024"] + [package] name = "pallet-revive" version = "0.1.0" authors.workspace = true -edition.workspace = true +edition = "2024" license = "Apache-2.0" homepage.workspace = true repository.workspace = true @@ -161,3 +163,4 @@ try-runtime = [ "pallet-utility/try-runtime", "sp-runtime/try-runtime", ] +trybuild = [] diff --git a/substrate/frame/revive/README.md b/substrate/frame/revive/README.md index eb64de41e7b09..629bcd5dc7a75 100644 --- a/substrate/frame/revive/README.md +++ b/substrate/frame/revive/README.md @@ -101,19 +101,4 @@ Example: cargo run --release -- --dev -lerror,runtime::revive::strace=trace,runtime::revive=debug ``` -## Unstable Interfaces - -Driven by the desire to have an iterative approach in developing new contract interfaces this pallet contains the -concept of an unstable interface. Akin to the rust nightly compiler it allows us to add new interfaces but mark them as -unstable so that contract languages can experiment with them and give feedback before we stabilize those. - -In order to access interfaces which don't have a stable `#[stable]` in [`runtime.rs`](src/vm/runtime.rs) -one need to set `pallet_revive::Config::UnsafeUnstableInterface` to `ConstU32`. -**It should be obvious that any production runtime should never be compiled with this feature: In addition to be -subject to change or removal those interfaces might not have proper weights associated with them and are therefore -considered unsafe**. - -New interfaces are generally added as unstable and might go through several iterations before they are promoted to a -stable interface. - License: Apache-2.0 diff --git a/substrate/frame/revive/dev-node/node/src/command.rs b/substrate/frame/revive/dev-node/node/src/command.rs index b38869a38eee8..7d92eeae1512a 100644 --- a/substrate/frame/revive/dev-node/node/src/command.rs +++ b/substrate/frame/revive/dev-node/node/src/command.rs @@ -50,8 +50,9 @@ impl SubstrateCli for Cli { fn load_spec(&self, id: &str) -> Result, String> { Ok(match id { "dev" | "" => Box::new(chain_spec::development_chain_spec()?), - path => - Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?), + path => { + Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?) + }, }) } } @@ -125,6 +126,10 @@ pub fn run_with_args(args: Vec) -> sc_cli::Result<()> { // Enforce dev cli.run.shared_params.dev = true; + // Increase max_response_size for large trace responses + cli.run.rpc_params.rpc_max_response_size = + cli.run.rpc_params.rpc_max_response_size.max(50); + // Pass Default logging settings if none are specified if std::env::var("RUST_LOG").is_err() && cli.run.shared_params.log.is_empty() { cli.run.shared_params.log = "error,sc_rpc_server=info,runtime::revive=debug" @@ -141,9 +146,10 @@ pub fn run_with_args(args: Vec) -> sc_cli::Result<()> { runner.run_node_until_exit(|config| async move { match config.network.network_backend { - sc_network::config::NetworkBackendType::Libp2p => + sc_network::config::NetworkBackendType::Libp2p => { service::new_full::>(config, cli.consensus) - .map_err(sc_cli::Error::Service), + .map_err(sc_cli::Error::Service) + }, sc_network::config::NetworkBackendType::Litep2p => service::new_full::< sc_network::Litep2pNetworkBackend, >(config, cli.consensus) diff --git a/substrate/frame/revive/dev-node/node/src/service.rs b/substrate/frame/revive/dev-node/node/src/service.rs index efd578dbea2ef..1eeb511515128 100644 --- a/substrate/frame/revive/dev-node/node/src/service.rs +++ b/substrate/frame/revive/dev-node/node/src/service.rs @@ -65,6 +65,7 @@ pub fn new_partial(config: &Configuration) -> Result { config, telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), executor, + Default::default(), )?; let client = Arc::new(client); @@ -133,6 +134,7 @@ pub fn new_full::Ha client: client.clone(), transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), + spawn_essential_handle: task_manager.spawn_essential_handle(), import_queue, block_announce_validator_builder: None, warp_sync_config: None, diff --git a/substrate/frame/revive/dev-node/runtime/Cargo.toml b/substrate/frame/revive/dev-node/runtime/Cargo.toml index dcc05dc2120d1..e135956244d4e 100644 --- a/substrate/frame/revive/dev-node/runtime/Cargo.toml +++ b/substrate/frame/revive/dev-node/runtime/Cargo.toml @@ -25,7 +25,7 @@ polkadot-sdk = { workspace = true, features = [ ] } scale-info = { workspace = true } serde_json = { workspace = true, default-features = false, features = ["alloc"] } -sp-debug-derive = { workspace = true, features = ["force-debug"] } +sp-debug-derive = { workspace = true } [build-dependencies] polkadot-sdk = { optional = true, workspace = true, features = ["substrate-wasm-builder"] } diff --git a/substrate/frame/revive/dev-node/runtime/src/lib.rs b/substrate/frame/revive/dev-node/runtime/src/lib.rs index 046d16ea41083..6b795a534c919 100644 --- a/substrate/frame/revive/dev-node/runtime/src/lib.rs +++ b/substrate/frame/revive/dev-node/runtime/src/lib.rs @@ -64,11 +64,12 @@ pub mod currency { pub mod genesis_config_presets { use super::*; use crate::{ - currency::DOLLARS, sp_keyring::Sr25519Keyring, Balance, BalancesConfig, + currency::DOLLARS, sp_keyring::Sr25519Keyring, Balance, BalancesConfig, ReviveConfig, RuntimeGenesisConfig, SudoConfig, }; use alloc::{vec, vec::Vec}; + use pallet_revive::is_eth_derived; use serde_json::Value; pub const ENDOWMENT: Balance = 10_000_000_000_001 * DOLLARS; @@ -103,14 +104,23 @@ pub mod genesis_config_presets { /// Returns a development genesis config preset. pub fn development_config_genesis() -> Value { + let endowed_accounts = well_known_accounts(); frame_support::build_struct_json_patch!(RuntimeGenesisConfig { balances: BalancesConfig { - balances: well_known_accounts() - .into_iter() + balances: endowed_accounts + .iter() + .cloned() .map(|id| (id, ENDOWMENT)) .collect::>(), }, sudo: SudoConfig { key: Some(Sr25519Keyring::Alice.to_account_id()) }, + revive: ReviveConfig { + mapped_accounts: endowed_accounts + .iter() + .filter(|x| !is_eth_derived(x)) + .cloned() + .collect(), + }, }) } @@ -334,7 +344,7 @@ parameter_types! { #[derive_impl(pallet_transaction_payment::config_preludes::TestDefaultConfig)] impl pallet_transaction_payment::Config for Runtime { type OnChargeTransaction = pallet_transaction_payment::FungibleAdapter; - type WeightToFee = BlockRatioFee<1, 1, Self>; + type WeightToFee = BlockRatioFee<1, 1, Self, Balance>; type LengthToFee = ConstantMultiplier; type FeeMultiplierUpdate = ConstFeeMultiplier; } @@ -355,7 +365,7 @@ impl pallet_revive::Config for Runtime { type InstantiateOrigin = EnsureSigned; type Time = Timestamp; type FeeInfo = FeeInfo; - type DebugEnabled = ConstBool; + type DebugEnabled = ConstBool; type GasScale = ConstU32<50000>; } @@ -431,10 +441,11 @@ pallet_revive::impl_runtime_apis_plus_revive_traits!( } impl apis::SessionKeys for Runtime { - fn generate_session_keys(_seed: Option>) -> Vec { - Default::default() + fn generate_session_keys(_owner: Vec, _seed: Option>) -> apis::OpaqueGeneratedSessionKeys { + Default::default() } + fn decode_session_keys( _encoded: Vec, ) -> Option, apis::KeyTypeId)>> { diff --git a/substrate/frame/revive/fixtures/build/_Cargo.toml b/substrate/frame/revive/fixtures/build/_Cargo.toml index 955c1d29c8bf6..c340cc35d5a90 100644 --- a/substrate/frame/revive/fixtures/build/_Cargo.toml +++ b/substrate/frame/revive/fixtures/build/_Cargo.toml @@ -12,7 +12,7 @@ edition = "2021" # All paths are injected dynamically by the build script. [dependencies] -uapi = { package = 'pallet-revive-uapi', features = ["unstable-hostfn"], default-features = false } +uapi = { package = 'pallet-revive-uapi', default-features = false } hex-literal = { version = "0.4.1", default-features = false } polkavm-derive = { version = "0.30.0" } diff --git a/substrate/frame/revive/fixtures/contracts/Counter.sol b/substrate/frame/revive/fixtures/contracts/Counter.sol index e4bde49eaab0f..5df2f12cb6b0e 100644 --- a/substrate/frame/revive/fixtures/contracts/Counter.sol +++ b/substrate/frame/revive/fixtures/contracts/Counter.sol @@ -1,13 +1,13 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; contract Counter { - uint256 public number; + uint64 public number; constructor() { number = 3; } - function setNumber(uint256 newNumber) public returns (uint256) { + function setNumber(uint64 newNumber) public returns (uint64) { number = newNumber; } @@ -18,7 +18,7 @@ contract Counter { contract NestedCounter { Counter public counter; - uint256 public number; + uint64 public number; constructor() { @@ -27,8 +27,8 @@ contract NestedCounter { number = 7; } - function nestedNumber() public returns (uint256) { - uint256 currentNumber = counter.setNumber(number); + function nestedNumber() public returns (uint64) { + uint64 currentNumber = counter.setNumber(number); number++; return currentNumber; } diff --git a/substrate/frame/revive/fixtures/erc20/erc20.sol b/substrate/frame/revive/fixtures/contracts/MyToken.sol similarity index 100% rename from substrate/frame/revive/fixtures/erc20/erc20.sol rename to substrate/frame/revive/fixtures/contracts/MyToken.sol diff --git a/substrate/frame/revive/fixtures/erc20/expensive_erc20.sol b/substrate/frame/revive/fixtures/contracts/MyTokenExpensive.sol similarity index 94% rename from substrate/frame/revive/fixtures/erc20/expensive_erc20.sol rename to substrate/frame/revive/fixtures/contracts/MyTokenExpensive.sol index a1363845bd9e3..c93c983023300 100644 --- a/substrate/frame/revive/fixtures/erc20/expensive_erc20.sol +++ b/substrate/frame/revive/fixtures/contracts/MyTokenExpensive.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.20; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; -contract MyToken is ERC20 { +contract MyTokenExpensive is ERC20 { constructor(uint256 total) ERC20("TestToken1", "TT1") { // We mint `total` tokens to the creator of this contract, as // a sort of genesis. diff --git a/substrate/frame/revive/fixtures/contracts/MyTokenFake.sol b/substrate/frame/revive/fixtures/contracts/MyTokenFake.sol new file mode 100644 index 0000000000000..17a9f5a21a317 --- /dev/null +++ b/substrate/frame/revive/fixtures/contracts/MyTokenFake.sol @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.20; + +contract MyTokenFake { + mapping(address account => uint256) private _balances; + + uint256 private _totalSupply; + + constructor(uint256 total) { + // We mint `total` tokens to the creator of this contract, as + // a sort of genesis. + _mint(msg.sender, total); + } + + function transfer(address to, uint256 value) public virtual returns (uint256) { + address owner = msg.sender; + _transfer(owner, to, value); + return 1243657816489523; + } + + function _transfer(address from, address to, uint256 value) internal { + _update(from, to, value); + } + + function _update(address from, address to, uint256 value) internal virtual { + if (from == address(0)) { + // Overflow check required: The rest of the code assumes that totalSupply never overflows + _totalSupply += value; + } else { + uint256 fromBalance = _balances[from]; + unchecked { + // Overflow not possible: value <= fromBalance <= totalSupply. + _balances[from] = fromBalance - value; + } + } + + if (to == address(0)) { + unchecked { + // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply. + _totalSupply -= value; + } + } else { + unchecked { + // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256. + _balances[to] += value; + } + } + } + + function _mint(address account, uint256 value) internal { + _update(address(0), account, value); + } +} + diff --git a/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/interfaces/draft-IERC6093.sol b/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/interfaces/draft-IERC6093.sol new file mode 100644 index 0000000000000..e9d6249ef521e --- /dev/null +++ b/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/interfaces/draft-IERC6093.sol @@ -0,0 +1,162 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (interfaces/draft-IERC6093.sol) + +pragma solidity >=0.8.4; + +/** + * @dev Standard ERC-20 Errors + * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens. + */ +interface IERC20Errors { + /** + * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers. + * @param sender Address whose tokens are being transferred. + * @param balance Current balance for the interacting account. + * @param needed Minimum amount required to perform a transfer. + */ + error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed); + + /** + * @dev Indicates a failure with the token `sender`. Used in transfers. + * @param sender Address whose tokens are being transferred. + */ + error ERC20InvalidSender(address sender); + + /** + * @dev Indicates a failure with the token `receiver`. Used in transfers. + * @param receiver Address to which tokens are being transferred. + */ + error ERC20InvalidReceiver(address receiver); + + /** + * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers. + * @param spender Address that may be allowed to operate on tokens without being their owner. + * @param allowance Amount of tokens a `spender` is allowed to operate with. + * @param needed Minimum amount required to perform a transfer. + */ + error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed); + + /** + * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals. + * @param approver Address initiating an approval operation. + */ + error ERC20InvalidApprover(address approver); + + /** + * @dev Indicates a failure with the `spender` to be approved. Used in approvals. + * @param spender Address that may be allowed to operate on tokens without being their owner. + */ + error ERC20InvalidSpender(address spender); +} + +/** + * @dev Standard ERC-721 Errors + * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens. + */ +interface IERC721Errors { + /** + * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-721. + * Used in balance queries. + * @param owner Address of the current owner of a token. + */ + error ERC721InvalidOwner(address owner); + + /** + * @dev Indicates a `tokenId` whose `owner` is the zero address. + * @param tokenId Identifier number of a token. + */ + error ERC721NonexistentToken(uint256 tokenId); + + /** + * @dev Indicates an error related to the ownership over a particular token. Used in transfers. + * @param sender Address whose tokens are being transferred. + * @param tokenId Identifier number of a token. + * @param owner Address of the current owner of a token. + */ + error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner); + + /** + * @dev Indicates a failure with the token `sender`. Used in transfers. + * @param sender Address whose tokens are being transferred. + */ + error ERC721InvalidSender(address sender); + + /** + * @dev Indicates a failure with the token `receiver`. Used in transfers. + * @param receiver Address to which tokens are being transferred. + */ + error ERC721InvalidReceiver(address receiver); + + /** + * @dev Indicates a failure with the `operator`’s approval. Used in transfers. + * @param operator Address that may be allowed to operate on tokens without being their owner. + * @param tokenId Identifier number of a token. + */ + error ERC721InsufficientApproval(address operator, uint256 tokenId); + + /** + * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals. + * @param approver Address initiating an approval operation. + */ + error ERC721InvalidApprover(address approver); + + /** + * @dev Indicates a failure with the `operator` to be approved. Used in approvals. + * @param operator Address that may be allowed to operate on tokens without being their owner. + */ + error ERC721InvalidOperator(address operator); +} + +/** + * @dev Standard ERC-1155 Errors + * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens. + */ +interface IERC1155Errors { + /** + * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers. + * @param sender Address whose tokens are being transferred. + * @param balance Current balance for the interacting account. + * @param needed Minimum amount required to perform a transfer. + * @param tokenId Identifier number of a token. + */ + error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId); + + /** + * @dev Indicates a failure with the token `sender`. Used in transfers. + * @param sender Address whose tokens are being transferred. + */ + error ERC1155InvalidSender(address sender); + + /** + * @dev Indicates a failure with the token `receiver`. Used in transfers. + * @param receiver Address to which tokens are being transferred. + */ + error ERC1155InvalidReceiver(address receiver); + + /** + * @dev Indicates a failure with the `operator`’s approval. Used in transfers. + * @param operator Address that may be allowed to operate on tokens without being their owner. + * @param owner Address of the current owner of a token. + */ + error ERC1155MissingApprovalForAll(address operator, address owner); + + /** + * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals. + * @param approver Address initiating an approval operation. + */ + error ERC1155InvalidApprover(address approver); + + /** + * @dev Indicates a failure with the `operator` to be approved. Used in approvals. + * @param operator Address that may be allowed to operate on tokens without being their owner. + */ + error ERC1155InvalidOperator(address operator); + + /** + * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. + * Used in batch transfers. + * @param idsLength Length of the array of token identifiers + * @param valuesLength Length of the array of token amounts + */ + error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength); +} diff --git a/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/token/ERC20/ERC20.sol b/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/token/ERC20/ERC20.sol new file mode 100644 index 0000000000000..4d9d6b6d1c1f3 --- /dev/null +++ b/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/token/ERC20/ERC20.sol @@ -0,0 +1,305 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC20/ERC20.sol) + +pragma solidity ^0.8.20; + +import {IERC20} from "./IERC20.sol"; +import {IERC20Metadata} from "./extensions/IERC20Metadata.sol"; +import {Context} from "../../utils/Context.sol"; +import {IERC20Errors} from "../../interfaces/draft-IERC6093.sol"; + +/** + * @dev Implementation of the {IERC20} interface. + * + * This implementation is agnostic to the way tokens are created. This means + * that a supply mechanism has to be added in a derived contract using {_mint}. + * + * TIP: For a detailed writeup see our guide + * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How + * to implement supply mechanisms]. + * + * The default value of {decimals} is 18. To change this, you should override + * this function so it returns a different value. + * + * We have followed general OpenZeppelin Contracts guidelines: functions revert + * instead returning `false` on failure. This behavior is nonetheless + * conventional and does not conflict with the expectations of ERC-20 + * applications. + */ +abstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors { + mapping(address account => uint256) private _balances; + + mapping(address account => mapping(address spender => uint256)) private _allowances; + + uint256 private _totalSupply; + + string private _name; + string private _symbol; + + /** + * @dev Sets the values for {name} and {symbol}. + * + * Both values are immutable: they can only be set once during construction. + */ + constructor(string memory name_, string memory symbol_) { + _name = name_; + _symbol = symbol_; + } + + /** + * @dev Returns the name of the token. + */ + function name() public view virtual returns (string memory) { + return _name; + } + + /** + * @dev Returns the symbol of the token, usually a shorter version of the + * name. + */ + function symbol() public view virtual returns (string memory) { + return _symbol; + } + + /** + * @dev Returns the number of decimals used to get its user representation. + * For example, if `decimals` equals `2`, a balance of `505` tokens should + * be displayed to a user as `5.05` (`505 / 10 ** 2`). + * + * Tokens usually opt for a value of 18, imitating the relationship between + * Ether and Wei. This is the default value returned by this function, unless + * it's overridden. + * + * NOTE: This information is only used for _display_ purposes: it in + * no way affects any of the arithmetic of the contract, including + * {IERC20-balanceOf} and {IERC20-transfer}. + */ + function decimals() public view virtual returns (uint8) { + return 18; + } + + /// @inheritdoc IERC20 + function totalSupply() public view virtual returns (uint256) { + return _totalSupply; + } + + /// @inheritdoc IERC20 + function balanceOf(address account) public view virtual returns (uint256) { + return _balances[account]; + } + + /** + * @dev See {IERC20-transfer}. + * + * Requirements: + * + * - `to` cannot be the zero address. + * - the caller must have a balance of at least `value`. + */ + function transfer(address to, uint256 value) public virtual returns (bool) { + address owner = _msgSender(); + _transfer(owner, to, value); + return true; + } + + /// @inheritdoc IERC20 + function allowance(address owner, address spender) public view virtual returns (uint256) { + return _allowances[owner][spender]; + } + + /** + * @dev See {IERC20-approve}. + * + * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on + * `transferFrom`. This is semantically equivalent to an infinite approval. + * + * Requirements: + * + * - `spender` cannot be the zero address. + */ + function approve(address spender, uint256 value) public virtual returns (bool) { + address owner = _msgSender(); + _approve(owner, spender, value); + return true; + } + + /** + * @dev See {IERC20-transferFrom}. + * + * Skips emitting an {Approval} event indicating an allowance update. This is not + * required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. + * + * NOTE: Does not update the allowance if the current allowance + * is the maximum `uint256`. + * + * Requirements: + * + * - `from` and `to` cannot be the zero address. + * - `from` must have a balance of at least `value`. + * - the caller must have allowance for ``from``'s tokens of at least + * `value`. + */ + function transferFrom(address from, address to, uint256 value) public virtual returns (bool) { + address spender = _msgSender(); + _spendAllowance(from, spender, value); + _transfer(from, to, value); + return true; + } + + /** + * @dev Moves a `value` amount of tokens from `from` to `to`. + * + * This internal function is equivalent to {transfer}, and can be used to + * e.g. implement automatic token fees, slashing mechanisms, etc. + * + * Emits a {Transfer} event. + * + * NOTE: This function is not virtual, {_update} should be overridden instead. + */ + function _transfer(address from, address to, uint256 value) internal { + if (from == address(0)) { + revert ERC20InvalidSender(address(0)); + } + if (to == address(0)) { + revert ERC20InvalidReceiver(address(0)); + } + _update(from, to, value); + } + + /** + * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from` + * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding + * this function. + * + * Emits a {Transfer} event. + */ + function _update(address from, address to, uint256 value) internal virtual { + if (from == address(0)) { + // Overflow check required: The rest of the code assumes that totalSupply never overflows + _totalSupply += value; + } else { + uint256 fromBalance = _balances[from]; + if (fromBalance < value) { + revert ERC20InsufficientBalance(from, fromBalance, value); + } + unchecked { + // Overflow not possible: value <= fromBalance <= totalSupply. + _balances[from] = fromBalance - value; + } + } + + if (to == address(0)) { + unchecked { + // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply. + _totalSupply -= value; + } + } else { + unchecked { + // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256. + _balances[to] += value; + } + } + + emit Transfer(from, to, value); + } + + /** + * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0). + * Relies on the `_update` mechanism + * + * Emits a {Transfer} event with `from` set to the zero address. + * + * NOTE: This function is not virtual, {_update} should be overridden instead. + */ + function _mint(address account, uint256 value) internal { + if (account == address(0)) { + revert ERC20InvalidReceiver(address(0)); + } + _update(address(0), account, value); + } + + /** + * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply. + * Relies on the `_update` mechanism. + * + * Emits a {Transfer} event with `to` set to the zero address. + * + * NOTE: This function is not virtual, {_update} should be overridden instead + */ + function _burn(address account, uint256 value) internal { + if (account == address(0)) { + revert ERC20InvalidSender(address(0)); + } + _update(account, address(0), value); + } + + /** + * @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens. + * + * This internal function is equivalent to `approve`, and can be used to + * e.g. set automatic allowances for certain subsystems, etc. + * + * Emits an {Approval} event. + * + * Requirements: + * + * - `owner` cannot be the zero address. + * - `spender` cannot be the zero address. + * + * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument. + */ + function _approve(address owner, address spender, uint256 value) internal { + _approve(owner, spender, value, true); + } + + /** + * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event. + * + * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by + * `_spendAllowance` during the `transferFrom` operation sets the flag to false. This saves gas by not emitting any + * `Approval` event during `transferFrom` operations. + * + * Anyone who wishes to continue emitting `Approval` events on the `transferFrom` operation can force the flag to + * true using the following override: + * + * ```solidity + * function _approve(address owner, address spender, uint256 value, bool) internal virtual override { + * super._approve(owner, spender, value, true); + * } + * ``` + * + * Requirements are the same as {_approve}. + */ + function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual { + if (owner == address(0)) { + revert ERC20InvalidApprover(address(0)); + } + if (spender == address(0)) { + revert ERC20InvalidSpender(address(0)); + } + _allowances[owner][spender] = value; + if (emitEvent) { + emit Approval(owner, spender, value); + } + } + + /** + * @dev Updates `owner`'s allowance for `spender` based on spent `value`. + * + * Does not update the allowance value in case of infinite allowance. + * Revert if not enough allowance is available. + * + * Does not emit an {Approval} event. + */ + function _spendAllowance(address owner, address spender, uint256 value) internal virtual { + uint256 currentAllowance = allowance(owner, spender); + if (currentAllowance < type(uint256).max) { + if (currentAllowance < value) { + revert ERC20InsufficientAllowance(spender, currentAllowance, value); + } + unchecked { + _approve(owner, spender, currentAllowance - value, false); + } + } + } +} diff --git a/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/token/ERC20/IERC20.sol b/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/token/ERC20/IERC20.sol new file mode 100644 index 0000000000000..b493743a10c4f --- /dev/null +++ b/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/token/ERC20/IERC20.sol @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/IERC20.sol) + +pragma solidity >=0.4.16; + +/** + * @dev Interface of the ERC-20 standard as defined in the ERC. + */ +interface IERC20 { + /** + * @dev Emitted when `value` tokens are moved from one account (`from`) to + * another (`to`). + * + * Note that `value` may be zero. + */ + event Transfer(address indexed from, address indexed to, uint256 value); + + /** + * @dev Emitted when the allowance of a `spender` for an `owner` is set by + * a call to {approve}. `value` is the new allowance. + */ + event Approval(address indexed owner, address indexed spender, uint256 value); + + /** + * @dev Returns the value of tokens in existence. + */ + function totalSupply() external view returns (uint256); + + /** + * @dev Returns the value of tokens owned by `account`. + */ + function balanceOf(address account) external view returns (uint256); + + /** + * @dev Moves a `value` amount of tokens from the caller's account to `to`. + * + * Returns a boolean value indicating whether the operation succeeded. + * + * Emits a {Transfer} event. + */ + function transfer(address to, uint256 value) external returns (bool); + + /** + * @dev Returns the remaining number of tokens that `spender` will be + * allowed to spend on behalf of `owner` through {transferFrom}. This is + * zero by default. + * + * This value changes when {approve} or {transferFrom} are called. + */ + function allowance(address owner, address spender) external view returns (uint256); + + /** + * @dev Sets a `value` amount of tokens as the allowance of `spender` over the + * caller's tokens. + * + * Returns a boolean value indicating whether the operation succeeded. + * + * IMPORTANT: Beware that changing an allowance with this method brings the risk + * that someone may use both the old and the new allowance by unfortunate + * transaction ordering. One possible solution to mitigate this race + * condition is to first reduce the spender's allowance to 0 and set the + * desired value afterwards: + * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 + * + * Emits an {Approval} event. + */ + function approve(address spender, uint256 value) external returns (bool); + + /** + * @dev Moves a `value` amount of tokens from `from` to `to` using the + * allowance mechanism. `value` is then deducted from the caller's + * allowance. + * + * Returns a boolean value indicating whether the operation succeeded. + * + * Emits a {Transfer} event. + */ + function transferFrom(address from, address to, uint256 value) external returns (bool); +} diff --git a/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol b/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol new file mode 100644 index 0000000000000..87bbafa84b834 --- /dev/null +++ b/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/IERC20Metadata.sol) + +pragma solidity >=0.6.2; + +import {IERC20} from "../IERC20.sol"; + +/** + * @dev Interface for the optional metadata functions from the ERC-20 standard. + */ +interface IERC20Metadata is IERC20 { + /** + * @dev Returns the name of the token. + */ + function name() external view returns (string memory); + + /** + * @dev Returns the symbol of the token. + */ + function symbol() external view returns (string memory); + + /** + * @dev Returns the decimals places of the token. + */ + function decimals() external view returns (uint8); +} diff --git a/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/token/common/ERC2981.sol b/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/token/common/ERC2981.sol new file mode 100644 index 0000000000000..5d75e3aa83a0a --- /dev/null +++ b/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/token/common/ERC2981.sol @@ -0,0 +1,139 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.4.0) (token/common/ERC2981.sol) + +pragma solidity ^0.8.20; + +import {IERC2981} from "../../interfaces/IERC2981.sol"; +import {IERC165, ERC165} from "../../utils/introspection/ERC165.sol"; + +/** + * @dev Implementation of the NFT Royalty Standard, a standardized way to retrieve royalty payment information. + * + * Royalty information can be specified globally for all token ids via {_setDefaultRoyalty}, and/or individually for + * specific token ids via {_setTokenRoyalty}. The latter takes precedence over the first. + * + * Royalty is specified as a fraction of sale price. {_feeDenominator} is overridable but defaults to 10000, meaning the + * fee is specified in basis points by default. + * + * IMPORTANT: ERC-2981 only specifies a way to signal royalty information and does not enforce its payment. See + * https://eips.ethereum.org/EIPS/eip-2981#optional-royalty-payments[Rationale] in the ERC. Marketplaces are expected to + * voluntarily pay royalties together with sales, but note that this standard is not yet widely supported. + */ +abstract contract ERC2981 is IERC2981, ERC165 { + struct RoyaltyInfo { + address receiver; + uint96 royaltyFraction; + } + + RoyaltyInfo private _defaultRoyaltyInfo; + mapping(uint256 tokenId => RoyaltyInfo) private _tokenRoyaltyInfo; + + /** + * @dev The default royalty set is invalid (eg. (numerator / denominator) >= 1). + */ + error ERC2981InvalidDefaultRoyalty(uint256 numerator, uint256 denominator); + + /** + * @dev The default royalty receiver is invalid. + */ + error ERC2981InvalidDefaultRoyaltyReceiver(address receiver); + + /** + * @dev The royalty set for a specific `tokenId` is invalid (eg. (numerator / denominator) >= 1). + */ + error ERC2981InvalidTokenRoyalty(uint256 tokenId, uint256 numerator, uint256 denominator); + + /** + * @dev The royalty receiver for `tokenId` is invalid. + */ + error ERC2981InvalidTokenRoyaltyReceiver(uint256 tokenId, address receiver); + + /// @inheritdoc IERC165 + function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC165) returns (bool) { + return interfaceId == type(IERC2981).interfaceId || super.supportsInterface(interfaceId); + } + + /// @inheritdoc IERC2981 + function royaltyInfo( + uint256 tokenId, + uint256 salePrice + ) public view virtual returns (address receiver, uint256 amount) { + RoyaltyInfo storage _royaltyInfo = _tokenRoyaltyInfo[tokenId]; + address royaltyReceiver = _royaltyInfo.receiver; + uint96 royaltyFraction = _royaltyInfo.royaltyFraction; + + if (royaltyReceiver == address(0)) { + royaltyReceiver = _defaultRoyaltyInfo.receiver; + royaltyFraction = _defaultRoyaltyInfo.royaltyFraction; + } + + uint256 royaltyAmount = (salePrice * royaltyFraction) / _feeDenominator(); + + return (royaltyReceiver, royaltyAmount); + } + + /** + * @dev The denominator with which to interpret the fee set in {_setTokenRoyalty} and {_setDefaultRoyalty} as a + * fraction of the sale price. Defaults to 10000 so fees are expressed in basis points, but may be customized by an + * override. + */ + function _feeDenominator() internal pure virtual returns (uint96) { + return 10000; + } + + /** + * @dev Sets the royalty information that all ids in this contract will default to. + * + * Requirements: + * + * - `receiver` cannot be the zero address. + * - `feeNumerator` cannot be greater than the fee denominator. + */ + function _setDefaultRoyalty(address receiver, uint96 feeNumerator) internal virtual { + uint256 denominator = _feeDenominator(); + if (feeNumerator > denominator) { + // Royalty fee will exceed the sale price + revert ERC2981InvalidDefaultRoyalty(feeNumerator, denominator); + } + if (receiver == address(0)) { + revert ERC2981InvalidDefaultRoyaltyReceiver(address(0)); + } + + _defaultRoyaltyInfo = RoyaltyInfo(receiver, feeNumerator); + } + + /** + * @dev Removes default royalty information. + */ + function _deleteDefaultRoyalty() internal virtual { + delete _defaultRoyaltyInfo; + } + + /** + * @dev Sets the royalty information for a specific token id, overriding the global default. + * + * Requirements: + * + * - `receiver` cannot be the zero address. + * - `feeNumerator` cannot be greater than the fee denominator. + */ + function _setTokenRoyalty(uint256 tokenId, address receiver, uint96 feeNumerator) internal virtual { + uint256 denominator = _feeDenominator(); + if (feeNumerator > denominator) { + // Royalty fee will exceed the sale price + revert ERC2981InvalidTokenRoyalty(tokenId, feeNumerator, denominator); + } + if (receiver == address(0)) { + revert ERC2981InvalidTokenRoyaltyReceiver(tokenId, address(0)); + } + + _tokenRoyaltyInfo[tokenId] = RoyaltyInfo(receiver, feeNumerator); + } + + /** + * @dev Resets royalty information for the token id back to the global default. + */ + function _resetTokenRoyalty(uint256 tokenId) internal virtual { + delete _tokenRoyaltyInfo[tokenId]; + } +} diff --git a/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/utils/Context.sol b/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/utils/Context.sol new file mode 100644 index 0000000000000..4e535fe03c243 --- /dev/null +++ b/substrate/frame/revive/fixtures/contracts/external/openzeppelin/contracts/utils/Context.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) + +pragma solidity ^0.8.20; + +/** + * @dev Provides information about the current execution context, including the + * sender of the transaction and its data. While these are generally available + * via msg.sender and msg.data, they should not be accessed in such a direct + * manner, since when dealing with meta-transactions the account sending and + * paying for execution may not be the actual sender (as far as an application + * is concerned). + * + * This contract is only required for intermediate, library-like contracts. + */ +abstract contract Context { + function _msgSender() internal view virtual returns (address) { + return msg.sender; + } + + function _msgData() internal view virtual returns (bytes calldata) { + return msg.data; + } + + function _contextSuffixLength() internal view virtual returns (uint256) { + return 0; + } +} diff --git a/substrate/frame/revive/fixtures/contracts/sr25519_verify.rs b/substrate/frame/revive/fixtures/contracts/sr25519_verify.rs deleted file mode 100644 index 8ef39848c53fe..0000000000000 --- a/substrate/frame/revive/fixtures/contracts/sr25519_verify.rs +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#![no_std] -#![no_main] -include!("../panic_handler.rs"); - -use uapi::{input, HostFn, HostFnImpl as api}; - -#[no_mangle] -#[polkavm_derive::polkavm_export] -pub extern "C" fn deploy() {} - -#[no_mangle] -#[polkavm_derive::polkavm_export] -pub extern "C" fn call() { - input!( - signature: [u8; 64], - pub_key: [u8; 32], - msg: [u8; 11], - ); - - let exit_status = match api::sr25519_verify( - &signature.try_into().unwrap(), - msg, - &pub_key.try_into().unwrap(), - ) { - Ok(_) => 0u32, - Err(code) => code as u32, - }; - - // Exit with success and take transfer return code to the output buffer. - api::return_value(uapi::ReturnFlags::empty(), &exit_status.to_le_bytes()); -} diff --git a/substrate/frame/revive/fixtures/contracts/unstable_interface.rs b/substrate/frame/revive/fixtures/contracts/unstable_interface.rs deleted file mode 100644 index b4812a793f3ba..0000000000000 --- a/substrate/frame/revive/fixtures/contracts/unstable_interface.rs +++ /dev/null @@ -1,43 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -#![no_std] -#![no_main] -include!("../panic_handler.rs"); - -#[polkavm_derive::polkavm_import] -extern "C" { - pub fn set_code_hash(); -} - -// Export that is never called. We can put code here that should be in the binary -// but is never supposed to be run. -#[no_mangle] -#[polkavm_derive::polkavm_export] -pub extern "C" fn call_never() { - // make sure it is not optimized away - unsafe { - set_code_hash(); - } -} - -#[no_mangle] -#[polkavm_derive::polkavm_export] -pub extern "C" fn deploy() {} - -#[no_mangle] -#[polkavm_derive::polkavm_export] -pub extern "C" fn call() {} diff --git a/substrate/frame/revive/fixtures/erc20/erc20.polkavm b/substrate/frame/revive/fixtures/erc20/erc20.polkavm deleted file mode 100644 index e545040080bf6..0000000000000 Binary files a/substrate/frame/revive/fixtures/erc20/erc20.polkavm and /dev/null differ diff --git a/substrate/frame/revive/fixtures/erc20/expensive_erc20.polkavm b/substrate/frame/revive/fixtures/erc20/expensive_erc20.polkavm deleted file mode 100644 index b72214b86c6fb..0000000000000 Binary files a/substrate/frame/revive/fixtures/erc20/expensive_erc20.polkavm and /dev/null differ diff --git a/substrate/frame/revive/fixtures/erc20/fake_erc20.polkavm b/substrate/frame/revive/fixtures/erc20/fake_erc20.polkavm deleted file mode 100644 index 932bbcaf61735..0000000000000 Binary files a/substrate/frame/revive/fixtures/erc20/fake_erc20.polkavm and /dev/null differ diff --git a/substrate/frame/revive/fixtures/src/builder.rs b/substrate/frame/revive/fixtures/src/builder.rs index ffe7fcca6b88c..9608e446ec8e6 100644 --- a/substrate/frame/revive/fixtures/src/builder.rs +++ b/substrate/frame/revive/fixtures/src/builder.rs @@ -195,7 +195,41 @@ pub fn create_cargo_toml<'a>( /// Invoke cargo build to compile contracts to RISC-V ELF. pub fn invoke_build(current_dir: &Path) -> Result<()> { - let encoded_rustflags = ["-Dwarnings"].join("\x1f"); + let toolchain = + env::var(OVERRIDE_RUSTUP_TOOLCHAIN_ENV_VAR).or_else(|_| env::var("RUSTUP_TOOLCHAIN")); + + // Necessary to make this work with both 1.92+ and versions before 1.92 of rustc. + let new_immediate_abort = { + let mut cmd = Command::new("rustc"); + if let Ok(toolchain) = &toolchain { + cmd.env("RUSTUP_TOOLCHAIN", toolchain); + } + let out = cmd.arg("--version").output().context("rustc --version failed")?; + let ver = String::from_utf8(out.stdout).context("utf8 from rustc --version failed")?; + let ver_num = ver + .split_whitespace() + .nth(1) + .ok_or_else(|| anyhow::anyhow!("unexpected rustc --version output: {ver}"))?; + let mut parts = ver_num.split('.'); + let major: u32 = parts + .next() + .ok_or_else(|| anyhow::anyhow!("missing major version"))? + .parse() + .context("invalid major version")?; + let minor: u32 = parts + .next() + .ok_or_else(|| anyhow::anyhow!("missing minor version"))? + .parse() + .context("invalid minor version")?; + major > 1 || (major == 1 && minor >= 92) + }; + + // on newer version this is a stable compiler flag + let encoded_rustflags = if new_immediate_abort { + ["-Dwarnings", "-Zunstable-options", "-Cpanic=immediate-abort"].join("\x1f") + } else { + ["-Dwarnings"].join("\x1f") + }; let mut args = polkavm_linker::TargetJsonArgs::default(); args.is_64_bit = true; @@ -208,16 +242,16 @@ pub fn invoke_build(current_dir: &Path) -> Result<()> { .env("CARGO_ENCODED_RUSTFLAGS", encoded_rustflags) .env("RUSTUP_HOME", env::var("RUSTUP_HOME").unwrap_or_default()) .env("RUSTC_BOOTSTRAP", "1") - .args([ - "build", - "--release", - "-Zbuild-std=core", - "-Zbuild-std-features=panic_immediate_abort", - ]) + .args(["build", "--release", "-Zbuild-std=core"]) .arg("--target") .arg(polkavm_linker::target_json_path(args).unwrap()); - if let Ok(toolchain) = env::var(OVERRIDE_RUSTUP_TOOLCHAIN_ENV_VAR) { + // on older versions this is a unstable cargo cli argument + if !new_immediate_abort { + build_command.arg("-Zbuild-std-features=panic_immediate_abort"); + } + + if let Ok(toolchain) = &toolchain { build_command.env("RUSTUP_TOOLCHAIN", &toolchain); } @@ -314,8 +348,9 @@ fn compile_with_standard_json( contracts_dir: &Path, solidity_entries: &[&Entry], ) -> Result { - let remappings = [format!("@revive/={INTERFACE_DIR}")]; - + let mut remappings = vec![format!("@revive/={INTERFACE_DIR}")]; + let oz_root = contracts_dir.join("external/openzeppelin/"); + remappings.push(format!("@openzeppelin/={}", oz_root.display())); let mut input_json = serde_json::json!({ "language": "Solidity", "sources": {}, diff --git a/substrate/frame/revive/proc-macro/src/lib.rs b/substrate/frame/revive/proc-macro/src/lib.rs index b67e15a0103df..34216b02b0827 100644 --- a/substrate/frame/revive/proc-macro/src/lib.rs +++ b/substrate/frame/revive/proc-macro/src/lib.rs @@ -25,17 +25,6 @@ use proc_macro2::{Literal, Span, TokenStream as TokenStream2}; use quote::{quote, ToTokens}; use syn::{parse_quote, punctuated::Punctuated, spanned::Spanned, token::Comma, FnArg, Ident}; -#[proc_macro_attribute] -pub fn unstable_hostfn(_attr: TokenStream, item: TokenStream) -> TokenStream { - let input = syn::parse_macro_input!(item as syn::Item); - let expanded = quote! { - #[cfg(feature = "unstable-hostfn")] - #[cfg_attr(docsrs, doc(cfg(feature = "unstable-hostfn")))] - #input - }; - expanded.into() -} - /// Defines a host functions set that can be imported by contract polkavm code. /// /// **CAUTION**: Be advised that all functions defined by this macro @@ -52,7 +41,7 @@ pub fn define_env(attr: TokenStream, item: TokenStream) -> TokenStream { let msg = r#"Invalid `define_env` attribute macro: expected no attributes: - `#[define_env]`"#; let span = TokenStream2::from(attr).span(); - return syn::Error::new(span, msg).to_compile_error().into() + return syn::Error::new(span, msg).to_compile_error().into(); } let item = syn::parse_macro_input!(item as syn::ItemMod); @@ -71,7 +60,6 @@ struct EnvDef { /// Parsed host function definition. struct HostFn { item: syn::ItemFn, - is_stable: bool, name: String, returns: HostFnReturn, cfg: Option, @@ -100,6 +88,15 @@ impl HostFnReturn { Self::ReturnCode => parse_quote! { -> ReturnErrorCode }, } } + + fn trace_return_value(&self) -> TokenStream2 { + match self { + Self::Unit => quote! { None }, + Self::U32 => quote! { result.as_ref().ok().map(|r| *r as u64) }, + Self::ReturnCode => quote! { result.as_ref().ok().copied().map(u64::from) }, + Self::U64 => quote! { result.as_ref().ok().copied() }, + } + } } impl EnvDef { @@ -135,31 +132,24 @@ impl HostFn { }; // process attributes - let msg = "Only #[stable], #[cfg] and #[mutating] attributes are allowed."; + let msg = "Only #[cfg] and #[mutating] attributes are allowed."; let span = item.span(); let mut attrs = item.attrs.clone(); attrs.retain(|a| !a.path().is_ident("doc")); - let mut is_stable = false; let mut mutating = false; let mut cfg = None; while let Some(attr) = attrs.pop() { let ident = attr.path().get_ident().ok_or(err(span, msg))?.to_string(); match ident.as_str() { - "stable" => { - if is_stable { - return Err(err(span, "#[stable] can only be specified once")) - } - is_stable = true; - }, "mutating" => { if mutating { - return Err(err(span, "#[mutating] can only be specified once")) + return Err(err(span, "#[mutating] can only be specified once")); } mutating = true; }, "cfg" => { if cfg.is_some() { - return Err(err(span, "#[cfg] can only be specified once")) + return Err(err(span, "#[cfg] can only be specified once")); } cfg = Some(attr); }, @@ -189,7 +179,7 @@ impl HostFn { .fold(0u32, |acc, valid| if valid { acc + 1 } else { acc }); if special_args != 2 { - return Err(err(span, msg)) + return Err(err(span, msg)); } // process return type @@ -211,7 +201,7 @@ impl HostFn { match &result.arguments { syn::PathArguments::AngleBracketed(group) => { if group.args.len() != 2 { - return Err(err(span, &msg)) + return Err(err(span, &msg)); }; let arg2 = group.args.last().ok_or(err(span, &msg))?; @@ -250,7 +240,7 @@ impl HostFn { .to_string()), syn::Type::Tuple(tt) => { if !tt.elems.is_empty() { - return Err(err(arg1.span(), &msg)) + return Err(err(arg1.span(), &msg)); }; Ok("()".to_string()) }, @@ -264,7 +254,7 @@ impl HostFn { _ => Err(err(arg1.span(), &msg)), }?; - Ok(Self { item, is_stable, name, returns, cfg }) + Ok(Self { item, name, returns, cfg }) }, _ => Err(err(span, &msg)), } @@ -278,10 +268,13 @@ fn is_valid_special_arg(idx: usize, arg: &FnArg) -> bool { match (idx, arg) { (0, FnArg::Receiver(rec)) => rec.reference.is_some() && rec.mutability.is_some(), (1, FnArg::Typed(pat)) => { - let ident = - if let syn::Pat::Ident(ref ident) = *pat.pat { &ident.ident } else { return false }; + let ident = if let syn::Pat::Ident(ref ident) = *pat.pat { + &ident.ident + } else { + return false; + }; if !(ident == "memory" || ident == "_memory") { - return false + return false; } matches!(*pat.ty, syn::Type::Reference(_)) }, @@ -335,16 +328,18 @@ fn expand_env(def: &EnvDef) -> TokenStream2 { let impls = expand_functions(def); let bench_impls = expand_bench_functions(def); let docs = expand_func_doc(def); - let stable_syscalls = expand_func_list(def, false); - let all_syscalls = expand_func_list(def, true); + let all_syscalls = expand_func_list(def); + let lookup_syscall = expand_func_lookup(def); quote! { - pub fn list_syscalls(include_unstable: bool) -> &'static [&'static [u8]] { - if include_unstable { - #all_syscalls - } else { - #stable_syscalls - } + /// Returns the list of all syscalls. + pub fn list_syscalls() -> &'static [&'static [u8]] { + #all_syscalls + } + + /// Return the index of a syscall in the `all_syscalls()` list. + pub fn lookup_syscall_index(name: &'static str) -> Option { + #lookup_syscall } impl<'a, E: Ext, M: PolkaVmInstance> Runtime<'a, E, M> { @@ -401,10 +396,10 @@ fn expand_functions(def: &EnvDef) -> TokenStream2 { let syscall_symbol = Literal::byte_string(name.as_bytes()); let body = &f.item.block; let map_output = f.returns.map_output(); + let trace_return = f.returns.trace_return_value(); let output = &f.item.sig.output; // wrapped host function body call with host function traces - // see https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/contracts#host-function-tracing let wrapped_body_with_trace = { let trace_fmt_args = params.clone().filter_map(|arg| match arg { syn::FnArg::Receiver(_) => None, @@ -420,11 +415,18 @@ fn expand_functions(def: &EnvDef) -> TokenStream2 { .collect::>() .join(", "); let trace_fmt_str = format!("{}({}) = {{:?}} weight_consumed: {{:?}}", name, params_fmt_str); + let trace_args_for_tracer: Vec<_> = trace_fmt_args.clone().collect(); quote! { + crate::tracing::if_tracing(|tracer| { + tracer.enter_ecall(#name, &[#( #trace_args_for_tracer as u64 ),*], self) + }); + // wrap body in closure to make sure the tracing is always executed let result = (|| #body)(); ::log::trace!(target: "runtime::revive::strace", #trace_fmt_str, #( #trace_fmt_args, )* result, self.ext.frame_meter().weight_consumed()); + + crate::tracing::if_tracing(|tracer| tracer.exit_step(self, #trace_return)); result } }; @@ -512,17 +514,8 @@ fn expand_func_doc(def: &EnvDef) -> TokenStream2 { }); quote! { #( #docs )* } }; - let availability = if func.is_stable { - let info = "\n# Stable API\nThis API is stable and will never change."; - quote! { #[doc = #info] } - } else { - let info = - "\n# Unstable API\nThis API is not standardized and only available for testing."; - quote! { #[doc = #info] } - }; quote! { #func_docs - #availability } }; quote! { @@ -536,8 +529,8 @@ fn expand_func_doc(def: &EnvDef) -> TokenStream2 { } } -fn expand_func_list(def: &EnvDef, include_unstable: bool) -> TokenStream2 { - let docs = def.host_funcs.iter().filter(|f| include_unstable || f.is_stable).map(|f| { +fn expand_func_list(def: &EnvDef) -> TokenStream2 { + let docs = def.host_funcs.iter().map(|f| { let name = Literal::byte_string(f.name.as_bytes()); quote! { #name.as_slice() @@ -552,3 +545,19 @@ fn expand_func_list(def: &EnvDef, include_unstable: bool) -> TokenStream2 { } } } + +fn expand_func_lookup(def: &EnvDef) -> TokenStream2 { + let arms = def.host_funcs.iter().enumerate().map(|(idx, f)| { + let name_str = &f.name; + quote! { + #name_str => Some(#idx as u8) + } + }); + + quote! { + match name { + #( #arms, )* + _ => None, + } + } +} diff --git a/substrate/frame/revive/rpc/.sqlx/query-5c0ea8efbd2591e3ede3833acfcadf2d552140a20d84edbf90583da4619bcf2a.json b/substrate/frame/revive/rpc/.sqlx/query-5c0ea8efbd2591e3ede3833acfcadf2d552140a20d84edbf90583da4619bcf2a.json deleted file mode 100644 index a3d8e8236527d..0000000000000 --- a/substrate/frame/revive/rpc/.sqlx/query-5c0ea8efbd2591e3ede3833acfcadf2d552140a20d84edbf90583da4619bcf2a.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "db_name": "SQLite", - "query": "\n\t\t\t\t\tINSERT INTO transaction_hashes (transaction_hash, block_hash, transaction_index)\n\t\t\t\t\tVALUES ($1, $2, $3)\n\t\t\t\t\t", - "describe": { - "columns": [], - "parameters": { - "Right": 3 - }, - "nullable": [] - }, - "hash": "5c0ea8efbd2591e3ede3833acfcadf2d552140a20d84edbf90583da4619bcf2a" -} diff --git a/substrate/frame/revive/rpc/.sqlx/query-b296f5ac320c7537133dca1ede0285ccf101a8e36d68455e05a76df3b366420e.json b/substrate/frame/revive/rpc/.sqlx/query-b296f5ac320c7537133dca1ede0285ccf101a8e36d68455e05a76df3b366420e.json new file mode 100644 index 0000000000000..76ad4a8c1fe95 --- /dev/null +++ b/substrate/frame/revive/rpc/.sqlx/query-b296f5ac320c7537133dca1ede0285ccf101a8e36d68455e05a76df3b366420e.json @@ -0,0 +1,12 @@ +{ + "db_name": "SQLite", + "query": "\n\t\t\t\t\tINSERT OR REPLACE INTO transaction_hashes (transaction_hash, block_hash, transaction_index)\n\t\t\t\t\tVALUES ($1, $2, $3)\n\t\t\t\t\t", + "describe": { + "columns": [], + "parameters": { + "Right": 3 + }, + "nullable": [] + }, + "hash": "b296f5ac320c7537133dca1ede0285ccf101a8e36d68455e05a76df3b366420e" +} diff --git a/substrate/frame/revive/rpc/Cargo.toml b/substrate/frame/revive/rpc/Cargo.toml index cb9f124e96930..38afd7d5ce203 100644 --- a/substrate/frame/revive/rpc/Cargo.toml +++ b/substrate/frame/revive/rpc/Cargo.toml @@ -1,8 +1,10 @@ +cargo-features = ["edition2024"] + [package] name = "pallet-revive-eth-rpc" version = "0.1.0" authors.workspace = true -edition.workspace = true +edition = "2024" license = "Apache-2.0" homepage.workspace = true repository.workspace = true diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index 5315bd4a0474f..b37b23d4562f5 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -57,6 +57,8 @@ fn generate_metadata_file() { ext.execute_with(|| { let metadata = revive_dev_runtime::Runtime::metadata_at_version(16).unwrap(); let bytes: &[u8] = &metadata; - fs::write("revive_chain.scale", bytes).unwrap(); + let out_dir = std::env::var("OUT_DIR").expect("OUT_DIR not set"); + let out_path = std::path::Path::new(&out_dir).join("revive_chain.scale"); + fs::write(out_path, bytes).unwrap(); }); } diff --git a/substrate/frame/revive/rpc/examples/deploy.rs b/substrate/frame/revive/rpc/examples/deploy.rs index 12f539bba42ff..ac3a8ce07d7fb 100644 --- a/substrate/frame/revive/rpc/examples/deploy.rs +++ b/substrate/frame/revive/rpc/examples/deploy.rs @@ -19,7 +19,7 @@ use pallet_revive::{ create1, evm::{Account, BlockTag, ReceiptInfo, U256}, }; -use pallet_revive_eth_rpc::{example::TransactionBuilder, EthRpcClient}; +use pallet_revive_eth_rpc::{EthRpcClient, example::TransactionBuilder}; use std::sync::Arc; #[tokio::main] @@ -39,7 +39,7 @@ async fn main() -> anyhow::Result<()> { println!("\n\n=== Deploying contract ===\n\n"); let nonce = client.get_transaction_count(account.address(), BlockTag::Latest.into()).await?; - let tx = TransactionBuilder::new(&client) + let tx = TransactionBuilder::new(client.clone()) .value(5_000_000_000_000u128.into()) .input(input) .send() @@ -65,7 +65,7 @@ async fn main() -> anyhow::Result<()> { } println!("\n\n=== Calling contract ===\n\n"); - let tx = TransactionBuilder::new(&client) + let tx = TransactionBuilder::new(client.clone()) .value(U256::from(1_000_000u32)) .to(contract_address) .send() diff --git a/substrate/frame/revive/rpc/examples/eth-rpc-tester.rs b/substrate/frame/revive/rpc/examples/eth-rpc-tester.rs index 9f3c44a3289f0..eecc281954db2 100644 --- a/substrate/frame/revive/rpc/examples/eth-rpc-tester.rs +++ b/substrate/frame/revive/rpc/examples/eth-rpc-tester.rs @@ -17,12 +17,12 @@ use clap::Parser; use jsonrpsee::http_client::HttpClientBuilder; use pallet_revive::evm::{Account, BlockTag, ReceiptInfo}; -use pallet_revive_eth_rpc::{example::TransactionBuilder, EthRpcClient}; +use pallet_revive_eth_rpc::{EthRpcClient, example::TransactionBuilder}; use std::sync::Arc; use tokio::{ io::{AsyncBufReadExt, BufReader}, process::{Child, ChildStderr, Command}, - signal::unix::{signal, SignalKind}, + signal::unix::{SignalKind, signal}, }; const DOCKER_CONTAINER_NAME: &str = "eth-rpc-test"; @@ -141,7 +141,7 @@ async fn test_eth_rpc(rpc_url: &str) -> anyhow::Result<()> { println!("- balance: {balance:?}"); println!("\n\n=== Deploying dummy contract ===\n\n"); - let tx = TransactionBuilder::new(&client).input(input).send().await?; + let tx = TransactionBuilder::new(client.clone()).input(input).send().await?; println!("Hash: {:?}", tx.hash()); println!("Waiting for receipt..."); @@ -156,7 +156,7 @@ async fn test_eth_rpc(rpc_url: &str) -> anyhow::Result<()> { println!("- Address: {contract_address:?}"); println!("\n\n=== Calling dummy contract ===\n\n"); - let tx = TransactionBuilder::new(&client).to(contract_address).send().await?; + let tx = TransactionBuilder::new(client.clone()).to(contract_address).send().await?; println!("Hash: {:?}", tx.hash()); println!("Waiting for receipt..."); diff --git a/substrate/frame/revive/rpc/examples/extrinsic.rs b/substrate/frame/revive/rpc/examples/extrinsic.rs index 2d207d2eed9ae..132a026da60cf 100644 --- a/substrate/frame/revive/rpc/examples/extrinsic.rs +++ b/substrate/frame/revive/rpc/examples/extrinsic.rs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. use pallet_revive_eth_rpc::subxt_client::{ - self, revive::calls::types::InstantiateWithCode, SrcChainConfig, + self, SrcChainConfig, revive::calls::types::InstantiateWithCode, }; use sp_weights::Weight; use subxt::OnlineClient; diff --git a/substrate/frame/revive/rpc/examples/remark-extrinsic.rs b/substrate/frame/revive/rpc/examples/remark-extrinsic.rs index b106d27c218a1..570e2ded46e0d 100644 --- a/substrate/frame/revive/rpc/examples/remark-extrinsic.rs +++ b/substrate/frame/revive/rpc/examples/remark-extrinsic.rs @@ -14,7 +14,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -use pallet_revive_eth_rpc::subxt_client::{self, system::calls::types::Remark, SrcChainConfig}; +use pallet_revive_eth_rpc::subxt_client::{self, SrcChainConfig, system::calls::types::Remark}; use subxt::OnlineClient; use subxt_signer::sr25519::dev; diff --git a/substrate/frame/revive/rpc/examples/transfer.rs b/substrate/frame/revive/rpc/examples/transfer.rs index e4eb27aabfb36..e9881220d3733 100644 --- a/substrate/frame/revive/rpc/examples/transfer.rs +++ b/substrate/frame/revive/rpc/examples/transfer.rs @@ -16,7 +16,7 @@ // limitations under the License. use jsonrpsee::http_client::HttpClientBuilder; use pallet_revive::evm::{Account, BlockTag, ReceiptInfo}; -use pallet_revive_eth_rpc::{example::TransactionBuilder, EthRpcClient}; +use pallet_revive_eth_rpc::{EthRpcClient, example::TransactionBuilder}; use std::sync::Arc; #[tokio::main] @@ -39,7 +39,7 @@ async fn main() -> anyhow::Result<()> { print_balance().await?; println!("\n\n=== Transferring ===\n\n"); - let tx = TransactionBuilder::new(&client) + let tx = TransactionBuilder::new(client.clone()) .signer(alith) .value(value) .to(ethan.address()) diff --git a/substrate/frame/revive/rpc/examples/tx-types.rs b/substrate/frame/revive/rpc/examples/tx-types.rs new file mode 100644 index 0000000000000..ec6dccf401b20 --- /dev/null +++ b/substrate/frame/revive/rpc/examples/tx-types.rs @@ -0,0 +1,50 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +use jsonrpsee::http_client::HttpClientBuilder; +use pallet_revive::evm::Account; +use pallet_revive_eth_rpc::example::{TransactionBuilder, TransactionType}; +use std::sync::Arc; + +#[tokio::main] +async fn main() -> anyhow::Result<()> { + let client = Arc::new(HttpClientBuilder::default().build("http://localhost:8545")?); + + let alith = Account::default(); + let ethan = Account::from(subxt_signer::eth::dev::ethan()); + let value = 1_000_000_000_000_000_000_000u128.into(); + + for tx_type in [ + TransactionType::Legacy, + TransactionType::Eip2930, + TransactionType::Eip1559, + TransactionType::Eip4844, + ] { + println!("\n\n=== TransactionType {tx_type:?} ===\n\n",); + + let tx = TransactionBuilder::new(client.clone()) + .signer(alith.clone()) + .value(value) + .to(ethan.address()) + .send_with_type(tx_type) + .await?; + println!("Transaction hash: {:?}", tx.hash()); + + let receipt = tx.wait_for_receipt().await?; + println!("Receipt: {receipt:#?}"); + } + Ok(()) +} diff --git a/substrate/frame/revive/rpc/src/apis.rs b/substrate/frame/revive/rpc/src/apis.rs index ae85246c55b39..0d3366f5d501c 100644 --- a/substrate/frame/revive/rpc/src/apis.rs +++ b/substrate/frame/revive/rpc/src/apis.rs @@ -22,3 +22,6 @@ pub use execution_apis::*; mod health_api; pub use health_api::*; + +mod polkadot_api; +pub use polkadot_api::*; diff --git a/substrate/frame/revive/rpc/src/apis/debug_apis.rs b/substrate/frame/revive/rpc/src/apis/debug_apis.rs index 6704d74b13f8d..3eb1822fb8b64 100644 --- a/substrate/frame/revive/rpc/src/apis/debug_apis.rs +++ b/substrate/frame/revive/rpc/src/apis/debug_apis.rs @@ -29,7 +29,7 @@ pub trait DebugRpc { async fn trace_block_by_number( &self, block: BlockNumberOrTag, - tracer_config: TracerConfig, + tracer_config: Option, ) -> RpcResult>; /// Returns a transaction's traces by replaying it. @@ -41,7 +41,7 @@ pub trait DebugRpc { async fn trace_transaction( &self, transaction_hash: H256, - tracer_config: TracerConfig, + tracer_config: Option, ) -> RpcResult; /// Dry run a call and returns the transaction's traces. @@ -54,7 +54,7 @@ pub trait DebugRpc { &self, transaction: GenericTransaction, block: BlockNumberOrTagOrHash, - tracer_config: TracerConfig, + tracer_config: Option, ) -> RpcResult; #[method(name = "debug_getAutomine")] @@ -94,18 +94,18 @@ impl DebugRpcServer for DebugRpcServerImpl { async fn trace_block_by_number( &self, block: BlockNumberOrTag, - tracer_config: TracerConfig, + tracer_config: Option, ) -> RpcResult> { - let TracerConfig { config, timeout } = tracer_config; + let TracerConfig { config, timeout } = tracer_config.unwrap_or_default(); with_timeout(timeout, self.client.trace_block_by_number(block, config)).await } async fn trace_transaction( &self, transaction_hash: H256, - tracer_config: TracerConfig, + tracer_config: Option, ) -> RpcResult { - let TracerConfig { config, timeout } = tracer_config; + let TracerConfig { config, timeout } = tracer_config.unwrap_or_default(); with_timeout(timeout, self.client.trace_transaction(transaction_hash, config)).await } @@ -113,9 +113,9 @@ impl DebugRpcServer for DebugRpcServerImpl { &self, transaction: GenericTransaction, block: BlockNumberOrTagOrHash, - tracer_config: TracerConfig, + tracer_config: Option, ) -> RpcResult { - let TracerConfig { config, timeout } = tracer_config; + let TracerConfig { config, timeout } = tracer_config.unwrap_or_default(); with_timeout(timeout, self.client.trace_call(transaction, block, config)).await } diff --git a/substrate/frame/revive/rpc/src/apis/execution_apis.rs b/substrate/frame/revive/rpc/src/apis/execution_apis.rs index 9ef03a8334698..350b661d00312 100644 --- a/substrate/frame/revive/rpc/src/apis/execution_apis.rs +++ b/substrate/frame/revive/rpc/src/apis/execution_apis.rs @@ -59,7 +59,7 @@ pub trait EthRpc { /// Returns the balance of the account of given address. #[method(name = "eth_getBalance")] async fn get_balance(&self, address: Address, block: BlockNumberOrTagOrHash) - -> RpcResult; + -> RpcResult; /// Returns information about a block by hash. #[method(name = "eth_getBlockByHash")] diff --git a/substrate/frame/revive/rpc/src/apis/health_api.rs b/substrate/frame/revive/rpc/src/apis/health_api.rs index 7a9ab4ec02209..312aed816e4f2 100644 --- a/substrate/frame/revive/rpc/src/apis/health_api.rs +++ b/substrate/frame/revive/rpc/src/apis/health_api.rs @@ -26,7 +26,7 @@ pub trait SystemHealthRpc { #[method(name = "system_health")] async fn system_health(&self) -> RpcResult; - ///Returns the number of peers currently connected to the client. + /// Returns the number of peers currently connected to the client. #[method(name = "net_peerCount")] async fn net_peer_count(&self) -> RpcResult; } diff --git a/substrate/frame/revive/rpc/src/apis/polkadot_api.rs b/substrate/frame/revive/rpc/src/apis/polkadot_api.rs new file mode 100644 index 0000000000000..bf683b5e4d989 --- /dev/null +++ b/substrate/frame/revive/rpc/src/apis/polkadot_api.rs @@ -0,0 +1,46 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +//! Polkadot-specific JSON-RPC methods. + +use crate::*; +use jsonrpsee::{core::RpcResult, proc_macros::rpc}; +use sp_runtime::Weight; + +#[rpc(server, client)] +pub trait PolkadotRpc { + /// Get the post dispatch weight for a given transaction hash. + #[method(name = "polkadot_postDispatchWeight")] + async fn post_dispatch_weight(&self, transaction_hash: H256) -> RpcResult>; +} + +pub struct PolkadotRpcServerImpl { + client: client::Client, +} + +impl PolkadotRpcServerImpl { + pub fn new(client: client::Client) -> Self { + Self { client } + } +} + +#[async_trait] +impl PolkadotRpcServer for PolkadotRpcServerImpl { + async fn post_dispatch_weight(&self, transaction_hash: H256) -> RpcResult> { + let weight = self.client.post_dispatch_weight(&transaction_hash).await; + Ok(weight) + } +} diff --git a/substrate/frame/revive/rpc/src/block_info_provider.rs b/substrate/frame/revive/rpc/src/block_info_provider.rs index 5c0689b84a5d0..7f56acfa575fc 100644 --- a/substrate/frame/revive/rpc/src/block_info_provider.rs +++ b/substrate/frame/revive/rpc/src/block_info_provider.rs @@ -16,14 +16,14 @@ // limitations under the License. use crate::{ + ClientError, client::{SubscriptionType, SubstrateBlock, SubstrateBlockNumber}, subxt_client::SrcChainConfig, - ClientError, }; use jsonrpsee::core::async_trait; use sp_core::H256; use std::sync::Arc; -use subxt::{backend::legacy::LegacyRpcMethods, OnlineClient}; +use subxt::{OnlineClient, backend::legacy::LegacyRpcMethods}; use tokio::sync::RwLock; /// BlockInfoProvider cache and retrieves information about blocks. @@ -40,7 +40,7 @@ pub trait BlockInfoProvider: Send + Sync { /// Return the latest block number async fn latest_block_number(&self) -> SubstrateBlockNumber { - return self.latest_block().await.number() + return self.latest_block().await.number(); } /// Get block by block_number. diff --git a/substrate/frame/revive/rpc/src/cli.rs b/substrate/frame/revive/rpc/src/cli.rs index 6016215a32f2d..049512a440dc2 100644 --- a/substrate/frame/revive/rpc/src/cli.rs +++ b/substrate/frame/revive/rpc/src/cli.rs @@ -16,18 +16,19 @@ // limitations under the License. //! The Ethereum JSON-RPC server. use crate::{ - client::{connect, Client, SubscriptionType, SubstrateBlockNumber}, - DebugRpcServer, DebugRpcServerImpl, EthRpcServer, EthRpcServerImpl, ReceiptExtractor, - ReceiptProvider, SubxtBlockInfoProvider, SystemHealthRpcServer, SystemHealthRpcServerImpl, - LOG_TARGET, + DebugRpcServer, DebugRpcServerImpl, EthRpcServer, EthRpcServerImpl, LOG_TARGET, + PolkadotRpcServer, PolkadotRpcServerImpl, ReceiptExtractor, ReceiptProvider, + SubxtBlockInfoProvider, SystemHealthRpcServer, SystemHealthRpcServerImpl, + client::{Client, SubscriptionType, SubstrateBlockNumber, connect}, }; use clap::Parser; -use futures::{future::BoxFuture, pin_mut, FutureExt}; +use futures::{FutureExt, future::BoxFuture, pin_mut}; use jsonrpsee::server::RpcModule; use sc_cli::{PrometheusParams, RpcParams, SharedParams, Signals}; use sc_service::{ + TaskManager, config::{PrometheusConfig, RpcConfiguration}, - start_rpc_servers, TaskManager, + start_rpc_servers, }; use sqlx::sqlite::SqlitePoolOptions; @@ -76,6 +77,12 @@ pub struct CliCommand { #[allow(missing_docs)] #[clap(flatten)] pub prometheus_params: PrometheusParams, + + /// By default, the node rejects any transaction that's unprotected (i.e., that doesn't have a + /// chain-id). If the user wishes the submit such a transaction then they can use this flag to + /// instruct the RPC to ignore this check. + #[arg(long)] + pub allow_unprotected_txs: bool, } /// Initialize the logger @@ -105,10 +112,12 @@ fn build_client( earliest_receipt_block: Option, node_rpc_url: &str, database_url: &str, + max_request_size: u32, + max_response_size: u32, abort_signal: Signals, ) -> anyhow::Result { let fut = async { - let (api, rpc_client, rpc) = connect(node_rpc_url).await?; + let (api, rpc_client, rpc) = connect(node_rpc_url, max_request_size, max_response_size).await?; let block_provider = SubxtBlockInfoProvider::new( api.clone(), rpc.clone()).await?; let (pool, keep_latest_n_blocks) = if database_url == IN_MEMORY_DB { @@ -164,6 +173,7 @@ pub fn run(cmd: CliCommand) -> anyhow::Result<()> { earliest_receipt_block, index_last_n_blocks, shared_params, + allow_unprotected_txs, .. } = cmd; @@ -206,6 +216,8 @@ pub fn run(cmd: CliCommand) -> anyhow::Result<()> { earliest_receipt_block, &node_rpc_url, &database_url, + rpc_config.max_request_size * 1024 * 1024, + rpc_config.max_response_size * 1024 * 1024, tokio_runtime.block_on(async { Signals::capture() })?, )?; @@ -222,7 +234,7 @@ pub fn run(cmd: CliCommand) -> anyhow::Result<()> { &rpc_config, prometheus_registry, tokio_handle, - || rpc_module(is_dev, client.clone()), + || rpc_module(is_dev, client.clone(), allow_unprotected_txs), None, )?; @@ -250,7 +262,11 @@ pub fn run(cmd: CliCommand) -> anyhow::Result<()> { } /// Create the JSON-RPC module. -fn rpc_module(is_dev: bool, client: Client) -> Result, sc_service::Error> { +fn rpc_module( + is_dev: bool, + client: Client, + allow_unprotected_txs: bool, +) -> Result, sc_service::Error> { let eth_api = EthRpcServerImpl::new(client.clone()) .with_accounts(if is_dev { vec![ @@ -263,14 +279,20 @@ fn rpc_module(is_dev: bool, client: Client) -> Result, sc_service: } else { vec![] }) + .with_allow_unprotected_txs(allow_unprotected_txs) + .with_use_pending_for_estimate_gas(is_dev) .into_rpc(); let health_api = SystemHealthRpcServerImpl::new(client.clone()).into_rpc(); - let debug_api = DebugRpcServerImpl::new(client).into_rpc(); + let debug_api = DebugRpcServerImpl::new(client.clone()).into_rpc(); + let polkadot_api = PolkadotRpcServerImpl::new(client).into_rpc(); let mut module = RpcModule::new(()); module.merge(eth_api).map_err(|e| sc_service::Error::Application(e.into()))?; module.merge(health_api).map_err(|e| sc_service::Error::Application(e.into()))?; module.merge(debug_api).map_err(|e| sc_service::Error::Application(e.into()))?; + module + .merge(polkadot_api) + .map_err(|e| sc_service::Error::Application(e.into()))?; Ok(module) } diff --git a/substrate/frame/revive/rpc/src/client.rs b/substrate/frame/revive/rpc/src/client.rs index f193c2529ad31..1118033f018b7 100644 --- a/substrate/frame/revive/rpc/src/client.rs +++ b/substrate/frame/revive/rpc/src/client.rs @@ -21,18 +21,18 @@ pub(crate) mod runtime_api; pub(crate) mod storage_api; use crate::{ - subxt_client::{self, revive::calls::types::EthTransact, SrcChainConfig}, BlockInfoProvider, BlockTag, FeeHistoryProvider, ReceiptProvider, SubxtBlockInfoProvider, TracerType, TransactionInfo, + subxt_client::{self, SrcChainConfig, revive::calls::types::EthTransact}, }; -use jsonrpsee::types::{error::CALL_EXECUTION_FAILED_CODE, ErrorObjectOwned}; +use jsonrpsee::types::{ErrorObjectOwned, error::CALL_EXECUTION_FAILED_CODE}; use pallet_revive::{ + EthTransactError, evm::{ - decode_revert_reason, Block, BlockNumberOrTag, BlockNumberOrTagOrHash, FeeHistoryResult, - Filter, GenericTransaction, HashesOrTransactionInfos, Log, ReceiptInfo, SyncingProgress, - SyncingStatus, Trace, TransactionSigned, TransactionTrace, H256, + Block, BlockNumberOrTag, BlockNumberOrTagOrHash, FeeHistoryResult, Filter, + GenericTransaction, H256, HashesOrTransactionInfos, Log, ReceiptInfo, SyncingProgress, + SyncingStatus, Trace, TransactionSigned, TransactionTrace, decode_revert_reason, }, - EthTransactError, }; use runtime_api::RuntimeApi; use sp_runtime::traits::Block as BlockT; @@ -40,16 +40,16 @@ use sp_weights::Weight; use std::{ops::Range, sync::Arc, time::Duration}; use storage_api::StorageApi; use subxt::{ + Config, OnlineClient, backend::{ - legacy::{rpc_methods::SystemHealth, LegacyRpcMethods}, + legacy::{LegacyRpcMethods, rpc_methods::SystemHealth}, rpc::{ - reconnecting_rpc_client::{ExponentialBackoff, RpcClient as ReconnectingRpcClient}, RpcClient, + reconnecting_rpc_client::{ExponentialBackoff, RpcClient as ReconnectingRpcClient}, }, }, config::{HashFor, Header}, ext::subxt_rpcs::rpc_params, - Config, OnlineClient, }; use thiserror::Error; use tokio::sync::Mutex; @@ -142,8 +142,9 @@ impl From for ErrorObjectOwned { ClientError::SubxtError(subxt::Error::Rpc(subxt::error::RpcError::ClientError( subxt::ext::subxt_rpcs::Error::User(err), ))) | - ClientError::RpcError(subxt::ext::subxt_rpcs::Error::User(err)) => - ErrorObjectOwned::owned::>(err.code, err.message, None), + ClientError::RpcError(subxt::ext::subxt_rpcs::Error::User(err)) => { + ErrorObjectOwned::owned::>(err.code, err.message, None) + }, ClientError::TransactError(EthTransactError::Data(data)) => { let msg = match decode_revert_reason(&data) { Some(reason) => format!("execution reverted: {reason}"), @@ -153,10 +154,12 @@ impl From for ErrorObjectOwned { let data = format!("0x{}", hex::encode(data)); ErrorObjectOwned::owned::(REVERT_CODE, msg, Some(data)) }, - ClientError::TransactError(EthTransactError::Message(msg)) => - ErrorObjectOwned::owned::(CALL_EXECUTION_FAILED_CODE, msg, None), - _ => - ErrorObjectOwned::owned::(CALL_EXECUTION_FAILED_CODE, err.to_string(), None), + ClientError::TransactError(EthTransactError::Message(msg)) => { + ErrorObjectOwned::owned::(CALL_EXECUTION_FAILED_CODE, msg, None) + }, + _ => { + ErrorObjectOwned::owned::(CALL_EXECUTION_FAILED_CODE, err.to_string(), None) + }, } } } @@ -209,11 +212,15 @@ async fn get_automine(rpc_client: &RpcClient) -> bool { /// clients. pub async fn connect( node_rpc_url: &str, + max_request_size: u32, + max_response_size: u32, ) -> Result<(OnlineClient, RpcClient, LegacyRpcMethods), ClientError> { log::info!(target: LOG_TARGET, "🌐 Connecting to node at: {node_rpc_url} ..."); let rpc_client = ReconnectingRpcClient::builder() .retry_policy(ExponentialBackoff::from_millis(100).max_delay(Duration::from_secs(10))) + .max_request_size(max_request_size) + .max_response_size(max_response_size) .build(node_rpc_url.to_string()) .await?; let rpc_client = RpcClient::new(rpc_client); @@ -475,6 +482,17 @@ impl Client { self.receipt_provider.receipt_by_hash(tx_hash).await } + /// Get The post dispatch weight associated with this Ethereum transaction hash. + pub async fn post_dispatch_weight(&self, tx_hash: &H256) -> Option { + use crate::subxt_client::system::events::ExtrinsicSuccess; + let ReceiptInfo { block_hash, transaction_index, .. } = self.receipt(tx_hash).await?; + let block_hash = self.resolve_substrate_hash(&block_hash).await?; + let block = self.block_provider.block_by_hash(&block_hash).await.ok()??; + let ext = block.extrinsics().await.ok()?.iter().nth(transaction_index.as_u32() as _)?; + let event = ext.events().await.ok()?.find_first::().ok()??; + Some(event.dispatch_info.weight.0) + } + pub async fn sync_state( &self, ) -> Result, ClientError> { diff --git a/substrate/frame/revive/rpc/src/client/runtime_api.rs b/substrate/frame/revive/rpc/src/client/runtime_api.rs index 20a787c4d0479..78548f374480f 100644 --- a/substrate/frame/revive/rpc/src/client/runtime_api.rs +++ b/substrate/frame/revive/rpc/src/client/runtime_api.rs @@ -16,21 +16,21 @@ // limitations under the License. use crate::{ + ClientError, client::Balance, subxt_client::{self, SrcChainConfig}, - ClientError, }; use futures::TryFutureExt; use pallet_revive::{ + DryRunConfig, EthTransactInfo, evm::{ - Block as EthBlock, BlockNumberOrTagOrHash, BlockTag, GenericTransaction, ReceiptGasInfo, - Trace, H160, U256, + Block as EthBlock, BlockNumberOrTagOrHash, BlockTag, GenericTransaction, H160, + ReceiptGasInfo, Trace, U256, }, - DryRunConfig, EthTransactInfo, }; use sp_core::H256; use sp_timestamp::Timestamp; -use subxt::{error::MetadataError, ext::subxt_rpcs::UserError, Error::Metadata, OnlineClient}; +use subxt::{Error::Metadata, OnlineClient, error::MetadataError, ext::subxt_rpcs::UserError}; const LOG_TARGET: &str = "eth-rpc::runtime_api"; @@ -73,8 +73,9 @@ impl RuntimeApi { block: BlockNumberOrTagOrHash, ) -> Result, ClientError> { let timestamp_override = match block { - BlockNumberOrTagOrHash::BlockTag(BlockTag::Pending) => - Some(Timestamp::current().as_millis()), + BlockNumberOrTagOrHash::BlockTag(BlockTag::Pending) => { + Some(Timestamp::current().as_millis()) + }, _ => None, }; diff --git a/substrate/frame/revive/rpc/src/client/storage_api.rs b/substrate/frame/revive/rpc/src/client/storage_api.rs index d4b27d7162552..e9e3a8d2b7073 100644 --- a/substrate/frame/revive/rpc/src/client/storage_api.rs +++ b/substrate/frame/revive/rpc/src/client/storage_api.rs @@ -16,14 +16,13 @@ // limitations under the License. use crate::{ + ClientError, H160, subxt_client::{ - self, + self, SrcChainConfig, runtime_types::pallet_revive::storage::{AccountType, ContractInfo}, - SrcChainConfig, }, - ClientError, H160, }; -use subxt::{storage::Storage, OnlineClient}; +use subxt::{OnlineClient, storage::Storage}; /// A wrapper around the Substrate Storage API. #[derive(Clone)] diff --git a/substrate/frame/revive/rpc/src/example.rs b/substrate/frame/revive/rpc/src/example.rs index dbe0dcf2d6332..ba15c0959c67b 100644 --- a/substrate/frame/revive/rpc/src/example.rs +++ b/substrate/frame/revive/rpc/src/example.rs @@ -20,6 +20,15 @@ use anyhow::Context; use pallet_revive::evm::*; use std::sync::Arc; +/// Transaction type enum for specifying which type of transaction to send +#[derive(Debug, Clone, Copy)] +pub enum TransactionType { + Legacy, + Eip2930, + Eip1559, + Eip4844, +} + /// Transaction builder. pub struct TransactionBuilder { client: Arc, @@ -28,7 +37,7 @@ pub struct TransactionBuilder { input: Bytes, to: Option, nonce: Option, - mutate: Box, + mutate: Box, } #[derive(Debug)] @@ -63,9 +72,11 @@ impl SubmittedTransaction { if receipt.is_success() { assert!( self.gas() > receipt.gas_used, - "Gas used should be less than gas estimated." + "Gas used {:?} should be less than gas estimated {:?}", + receipt.gas_used, + self.gas() ); - return Ok(receipt) + return Ok(receipt); } else { anyhow::bail!("Transaction failed receipt: {receipt:?}") } @@ -77,9 +88,9 @@ impl SubmittedTransaction { } impl TransactionBuilder { - pub fn new(client: &Arc) -> Self { + pub fn new(client: Arc) -> Self { Self { - client: Arc::clone(client), + client, signer: Account::default(), value: U256::zero(), input: Bytes::default(), @@ -119,7 +130,7 @@ impl TransactionBuilder { } /// Set a mutation function, that mutates the transaction before sending. - pub fn mutate(mut self, mutate: impl FnOnce(&mut TransactionLegacyUnsigned) + 'static) -> Self { + pub fn mutate(mut self, mutate: impl FnOnce(&mut TransactionUnsigned) + 'static) -> Self { self.mutate = Box::new(mutate); self } @@ -141,16 +152,24 @@ impl TransactionBuilder { None, ) .await - .with_context(|| "eth_call failed")?; + .map_err(|e| anyhow::anyhow!("eth_call failed: {e}"))?; Ok(result.0) } /// Send the transaction. pub async fn send(self) -> anyhow::Result> { + self.send_with_type(TransactionType::Legacy).await + } + + /// Send the transaction with a specific transaction type. + pub async fn send_with_type( + self, + tx_type: TransactionType, + ) -> anyhow::Result> { let TransactionBuilder { client, signer, value, input, to, nonce, mutate } = self; let from = signer.address(); - let chain_id = Some(client.chain_id().await?); + let chain_id = client.chain_id().await?; let gas_price = client.gas_price().await?; let nonce = if let Some(nonce) = nonce { nonce @@ -176,20 +195,73 @@ impl TransactionBuilder { .await .with_context(|| "Failed to fetch gas estimate")?; - let mut unsigned_tx = TransactionLegacyUnsigned { - gas, - nonce, - to, - value, - input, - gas_price, - chain_id, - ..Default::default() - }; + println!("Gas estimate: {gas:?}"); + let mut unsigned_tx: TransactionUnsigned = match tx_type { + TransactionType::Legacy => TransactionLegacyUnsigned { + gas, + nonce, + to, + value, + input, + gas_price, + chain_id: Some(chain_id), + ..Default::default() + } + .into(), + TransactionType::Eip2930 => Transaction2930Unsigned { + gas, + nonce, + to, + value, + input, + gas_price, + chain_id, + access_list: vec![], + r#type: TypeEip2930, + } + .into(), + TransactionType::Eip1559 => Transaction1559Unsigned { + gas, + nonce, + to, + value, + input, + gas_price, + max_fee_per_gas: gas_price, + max_priority_fee_per_gas: U256::zero(), + chain_id, + access_list: vec![], + r#type: TypeEip1559, + } + .into(), + TransactionType::Eip4844 => { + // For EIP-4844, we need a destination address (cannot be None for blob + // transactions) + let to = to.ok_or_else(|| { + anyhow::anyhow!("EIP-4844 transactions require a destination address") + })?; + let max_priority_fee_per_gas = gas_price / 10; // 10% of gas price as priority fee + Transaction4844Unsigned { + gas, + nonce, + to, + value, + input, + max_fee_per_gas: gas_price, + max_priority_fee_per_gas, + max_fee_per_blob_gas: gas_price, // Use gas_price as blob gas fee + chain_id, + access_list: vec![], + blob_versioned_hashes: vec![], + r#type: TypeEip4844, + } + .into() + }, + }; mutate(&mut unsigned_tx); - let signed_tx = signer.sign_transaction(unsigned_tx.into()); + let signed_tx = signer.sign_transaction(unsigned_tx); let bytes = signed_tx.signed_payload(); let hash = client diff --git a/substrate/frame/revive/rpc/src/fee_history_provider.rs b/substrate/frame/revive/rpc/src/fee_history_provider.rs index 3ed6f63bf7e69..c727b5f6735f7 100644 --- a/substrate/frame/revive/rpc/src/fee_history_provider.rs +++ b/substrate/frame/revive/rpc/src/fee_history_provider.rs @@ -14,7 +14,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -use crate::{client::SubstrateBlockNumber, ClientError}; +use crate::{ClientError, client::SubstrateBlockNumber}; use pallet_revive::evm::{Block, FeeHistoryResult, ReceiptInfo}; use sp_core::U256; use std::{collections::BTreeMap, sync::Arc}; @@ -102,7 +102,7 @@ impl FeeHistoryProvider { base_fee_per_gas: vec![], gas_used_ratio: vec![], reward: vec![], - }) + }); }; let lowest = highest.saturating_sub(block_count.saturating_sub(1)).max(lowest_in_cache); diff --git a/substrate/frame/revive/rpc/src/lib.rs b/substrate/frame/revive/rpc/src/lib.rs index 5bfa00c57149c..d1fa7fb9ba3c3 100644 --- a/substrate/frame/revive/rpc/src/lib.rs +++ b/substrate/frame/revive/rpc/src/lib.rs @@ -19,11 +19,11 @@ use client::ClientError; use jsonrpsee::{ - core::{async_trait, RpcResult}, + core::{RpcResult, async_trait}, types::{ErrorCode, ErrorObjectOwned}, }; use pallet_revive::evm::*; -use sp_core::{keccak_256, H160, H256, U256}; +use sp_core::{H160, H256, U256, keccak_256}; use thiserror::Error; use tokio::time::Duration; @@ -59,12 +59,23 @@ pub struct EthRpcServerImpl { /// The accounts managed by the server. accounts: Vec, + + /// Controls if unprotected txs are allowed or not. + allow_unprotected_txs: bool, + + /// When true, estimate_gas uses Pending block if no block is specified. + use_pending_for_estimate_gas: bool, } impl EthRpcServerImpl { /// Creates a new [`EthRpcServerImpl`]. pub fn new(client: client::Client) -> Self { - Self { client, accounts: vec![] } + Self { + client, + accounts: vec![], + allow_unprotected_txs: false, + use_pending_for_estimate_gas: false, + } } /// Sets the accounts managed by the server. @@ -72,6 +83,18 @@ impl EthRpcServerImpl { self.accounts = accounts; self } + + /// Sets whether unprotected transactions are allowed or not. + pub fn with_allow_unprotected_txs(mut self, allow_unprotected_txs: bool) -> Self { + self.allow_unprotected_txs = allow_unprotected_txs; + self + } + + /// Sets whether estimate_gas uses Pending block when no block is specified. + pub fn with_use_pending_for_estimate_gas(mut self, use_pending_for_estimate_gas: bool) -> Self { + self.use_pending_for_estimate_gas = use_pending_for_estimate_gas; + self + } } /// The error type for the EVM RPC server. @@ -145,7 +168,13 @@ impl EthRpcServer for EthRpcServerImpl { block: Option, ) -> RpcResult { log::trace!(target: LOG_TARGET, "estimate_gas transaction={transaction:?} block={block:?}"); - let block = block.unwrap_or_default(); + let block = block.unwrap_or_else(|| { + if self.use_pending_for_estimate_gas { + BlockTag::Pending.into() + } else { + Default::default() + } + }); let hash = self.client.block_hash_for_tag(block.clone().into()).await?; let runtime_api = self.client.runtime_api(hash); let dry_run = runtime_api.dry_run(transaction, block.into()).await?; @@ -168,6 +197,38 @@ impl EthRpcServer for EthRpcServerImpl { async fn send_raw_transaction(&self, transaction: Bytes) -> RpcResult { let hash = H256(keccak_256(&transaction.0)); log::trace!(target: LOG_TARGET, "send_raw_transaction transaction: {transaction:?} ethereum_hash: {hash:?}"); + + if !self.allow_unprotected_txs { + let signed_transaction = TransactionSigned::decode(transaction.0.as_slice()) + .map_err(|err| { + log::trace!(target: LOG_TARGET, "Transaction decoding failed. ethereum_hash: {hash:?}, error: {err:?}"); + EthRpcError::InvalidTransaction + })?; + + let is_chain_id_provided = match signed_transaction { + TransactionSigned::Transaction7702Signed(tx) => { + tx.transaction_7702_unsigned.chain_id != U256::zero() + }, + TransactionSigned::Transaction4844Signed(tx) => { + tx.transaction_4844_unsigned.chain_id != U256::zero() + }, + TransactionSigned::Transaction1559Signed(tx) => { + tx.transaction_1559_unsigned.chain_id != U256::zero() + }, + TransactionSigned::Transaction2930Signed(tx) => { + tx.transaction_2930_unsigned.chain_id != U256::zero() + }, + TransactionSigned::TransactionLegacySigned(tx) => { + tx.transaction_legacy_unsigned.chain_id.is_some() + }, + }; + + if !is_chain_id_provided { + log::trace!(target: LOG_TARGET, "Invalid Transaction: transaction doesn't include a chain-id. ethereum_hash: {hash:?}"); + Err(EthRpcError::InvalidTransaction)?; + } + } + let call = subxt_client::tx().revive().eth_transact(transaction.0); // Subscribe to new block only when automine is enabled. @@ -440,7 +501,7 @@ impl EthRpcServerImpl { ) .await else { - return Ok(None) + return Ok(None); }; let Some(signed_tx) = self.client.signed_tx_by_hash(&receipt.transaction_hash).await else { return Ok(None); diff --git a/substrate/frame/revive/rpc/src/receipt_extractor.rs b/substrate/frame/revive/rpc/src/receipt_extractor.rs index 7bece956c7f2e..a404231849e6f 100644 --- a/substrate/frame/revive/rpc/src/receipt_extractor.rs +++ b/substrate/frame/revive/rpc/src/receipt_extractor.rs @@ -15,25 +15,25 @@ // See the License for the specific language governing permissions and // limitations under the License. use crate::{ - client::{runtime_api::RuntimeApi, SubstrateBlock, SubstrateBlockNumber}, + ClientError, H160, LOG_TARGET, + client::{SubstrateBlock, SubstrateBlockNumber, runtime_api::RuntimeApi}, subxt_client::{ + SrcChainConfig, revive::{ calls::types::EthTransact, events::{ContractEmitted, EthExtrinsicRevert}, }, - SrcChainConfig, }, - ClientError, H160, LOG_TARGET, }; -use futures::{stream, StreamExt}; +use futures::{StreamExt, stream}; use pallet_revive::{ create1, - evm::{GenericTransaction, Log, ReceiptGasInfo, ReceiptInfo, TransactionSigned, H256, U256}, + evm::{GenericTransaction, H256, Log, ReceiptGasInfo, ReceiptInfo, TransactionSigned, U256}, }; use sp_core::keccak_256; use std::{future::Future, pin::Pin, sync::Arc}; -use subxt::{blocks::ExtrinsicDetails, OnlineClient}; +use subxt::{OnlineClient, blocks::ExtrinsicDetails}; type FetchReceiptDataFn = Arc< dyn Fn(H256) -> Pin>> + Send>> + Send + Sync, diff --git a/substrate/frame/revive/rpc/src/receipt_provider.rs b/substrate/frame/revive/rpc/src/receipt_provider.rs index cacbf064e188f..026bb3430b761 100644 --- a/substrate/frame/revive/rpc/src/receipt_provider.rs +++ b/substrate/frame/revive/rpc/src/receipt_provider.rs @@ -15,13 +15,13 @@ // See the License for the specific language governing permissions and // limitations under the License. use crate::{ - client::{SubstrateBlock, SubstrateBlockNumber}, Address, AddressOrAddresses, BlockInfoProvider, BlockNumberOrTag, BlockTag, Bytes, ClientError, FilterTopic, ReceiptExtractor, SubxtBlockInfoProvider, + client::{SubstrateBlock, SubstrateBlockNumber}, }; use pallet_revive::evm::{Filter, Log, ReceiptInfo, TransactionSigned}; use sp_core::{H256, U256}; -use sqlx::{query, QueryBuilder, Row, Sqlite, SqlitePool}; +use sqlx::{QueryBuilder, Row, Sqlite, SqlitePool, query}; use std::{ collections::{BTreeMap, HashMap}, sync::Arc, @@ -225,8 +225,9 @@ impl ReceiptProvider { /// Check if the block is before the earliest block. pub fn is_before_earliest_block(&self, at: &BlockNumberOrTag) -> bool { match at { - BlockNumberOrTag::U256(block_number) => - self.receipt_extractor.is_before_earliest_block(block_number.as_u32()), + BlockNumberOrTag::U256(block_number) => { + self.receipt_extractor.is_before_earliest_block(block_number.as_u32()) + }, BlockNumberOrTag::BlockTag(_) => false, } } @@ -334,7 +335,7 @@ impl ReceiptProvider { query!( r#" - INSERT INTO transaction_hashes (transaction_hash, block_hash, transaction_index) + INSERT OR REPLACE INTO transaction_hashes (transaction_hash, block_hash, transaction_index) VALUES ($1, $2, $3) "#, transaction_hash, @@ -617,15 +618,17 @@ mod tests { async fn count(pool: &SqlitePool, table: &str, block_hash: Option) -> usize { let count: i64 = match block_hash { - None => + None => { sqlx::query_scalar(&format!("SELECT COUNT(*) FROM {table}")) .fetch_one(pool) - .await, - Some(hash) => + .await + }, + Some(hash) => { sqlx::query_scalar(&format!("SELECT COUNT(*) FROM {table} WHERE block_hash = ?")) .bind(hash.as_ref()) .fetch_one(pool) - .await, + .await + }, } .unwrap(); @@ -765,6 +768,56 @@ mod tests { return Ok(()); } + #[sqlx::test] + async fn test_reorg_same_transaction_hash(pool: SqlitePool) -> anyhow::Result<()> { + let provider = setup_sqlite_provider(pool).await; + + // Build two blocks at the same height with the same transaction hash + let tx_hash = H256::from([42u8; 32]); + + // Block A at height 1 + let block_a = MockBlockInfo { hash: H256::from([1u8; 32]), number: 1 }; + let ethereum_hash_a = H256::from([2u8; 32]); + let receipts_a = vec![( + TransactionSigned::default(), + ReceiptInfo { + transaction_hash: tx_hash, + transaction_index: U256::from(0), + ..Default::default() + }, + )]; + + provider.insert(&block_a, &receipts_a, ðereum_hash_a).await?; + + // Verify transaction points to block A + let (found_hash, _) = provider.find_transaction(&tx_hash).await.unwrap(); + assert_eq!(found_hash, block_a.hash); + + // Clear the in-memory map to simulate server restart + provider.block_number_to_hashes.lock().await.clear(); + + // Block B at same height 1 (re-org) with SAME transaction + let block_b = MockBlockInfo { hash: H256::from([3u8; 32]), number: 1 }; + let ethereum_hash_b = H256::from([4u8; 32]); + let receipts_b = vec![( + TransactionSigned::default(), + ReceiptInfo { + transaction_hash: tx_hash, // Same tx hash! + transaction_index: U256::from(0), + ..Default::default() + }, + )]; + + // This should NOT fail with UNIQUE constraint violation + provider.insert(&block_b, &receipts_b, ðereum_hash_b).await?; + + // Transaction should now point to block B + let (found_hash, _) = provider.find_transaction(&tx_hash).await.unwrap(); + assert_eq!(found_hash, block_b.hash); + + Ok(()) + } + #[sqlx::test] async fn test_receipts_count_per_block(pool: SqlitePool) -> anyhow::Result<()> { let provider = setup_sqlite_provider(pool).await; diff --git a/substrate/frame/revive/rpc/src/subxt_client.rs b/substrate/frame/revive/rpc/src/subxt_client.rs index bd9666aba8b3e..f36a565928e49 100644 --- a/substrate/frame/revive/rpc/src/subxt_client.rs +++ b/substrate/frame/revive/rpc/src/subxt_client.rs @@ -20,7 +20,7 @@ pub use subxt::config::PolkadotConfig as SrcChainConfig; #[subxt::subxt( - runtime_metadata_path = "revive_chain.scale", + runtime_metadata_path = "$OUT_DIR/revive_chain.scale", // TODO remove once subxt use the same U256 type substitute_type( path = "primitive_types::U256", diff --git a/substrate/frame/revive/rpc/src/tests.rs b/substrate/frame/revive/rpc/src/tests.rs index 10fd42534e9e2..faad8875de3f5 100644 --- a/substrate/frame/revive/rpc/src/tests.rs +++ b/substrate/frame/revive/rpc/src/tests.rs @@ -19,13 +19,12 @@ //! [evm-test-suite](https://github.com/paritytech/evm-test-suite) repository. use crate::{ + EthRpcClient, cli::{self, CliCommand}, - client, example::TransactionBuilder, subxt_client::{ - self, src_chain::runtime_types::pallet_revive::primitives::Code, SrcChainConfig, + self, SrcChainConfig, src_chain::runtime_types::pallet_revive::primitives::Code, }, - EthRpcClient, }; use anyhow::anyhow; use clap::Parser; @@ -33,16 +32,16 @@ use jsonrpsee::ws_client::{WsClient, WsClientBuilder}; use pallet_revive::{ create1, evm::{ - Account, Block, BlockNumberOrTag, BlockNumberOrTagOrHash, BlockTag, - HashesOrTransactionInfos, TransactionInfo, H256, U256, + Account, Block, BlockNumberOrTag, BlockNumberOrTagOrHash, BlockTag, H256, + HashesOrTransactionInfos, TransactionInfo, TransactionUnsigned, U256, }, }; use std::{sync::Arc, thread}; use subxt::{ + OnlineClient, backend::rpc::RpcClient, ext::subxt_rpcs::rpc_params, tx::{SubmittableTransaction, TxStatus}, - OnlineClient, }; const LOG_TARGET: &str = "eth-rpc-tests"; @@ -53,7 +52,7 @@ async fn ws_client_with_retry(url: &str) -> WsClient { tokio::time::timeout(timeout, async { loop { if let Ok(client) = WsClientBuilder::default().build(url).await { - return client + return client; } else { tokio::time::sleep(tokio::time::Duration::from_secs(1)).await; } @@ -103,6 +102,10 @@ impl SharedResources { ws_client_with_retry("ws://localhost:45788").await } + async fn node_client() -> OnlineClient { + OnlineClient::::from_url(Self::node_rpc_url()).await.unwrap() + } + fn node_rpc_url() -> &'static str { "ws://localhost:45789" } @@ -120,7 +123,7 @@ macro_rules! unwrap_call_err( // Helper functions /// Prepare multiple EVM transfer transactions with nonce in descending order async fn prepare_evm_transactions( - client: &Arc, + client: Arc, signer: Account, recipient: pallet_revive::evm::Address, amount: U256, @@ -132,7 +135,7 @@ async fn prepare_evm_transactions( let mut transactions = Vec::new(); for i in (0..count).rev() { let nonce = start_nonce.saturating_add(U256::from(i as u64)); - let tx_builder = TransactionBuilder::new(client) + let tx_builder = TransactionBuilder::new(Arc::clone(&client)) .signer(signer.clone()) .nonce(nonce) .value(amount) @@ -249,8 +252,9 @@ async fn verify_transactions_in_single_block( let block_tx_hashes = match &block.transactions { HashesOrTransactionInfos::Hashes(hashes) => hashes.clone(), - HashesOrTransactionInfos::TransactionInfos(infos) => - infos.iter().map(|info| info.hash).collect(), + HashesOrTransactionInfos::TransactionInfos(infos) => { + infos.iter().map(|info| info.hash).collect() + }, }; if let Some(missing_hash) = @@ -264,9 +268,24 @@ async fn verify_transactions_in_single_block( #[tokio::test] async fn run_all_eth_rpc_tests() -> anyhow::Result<()> { + // Set up a 2-minute timeout for the entire test + let timeout_duration = tokio::time::Duration::from_secs(120); + let result = tokio::time::timeout(timeout_duration, run_all_eth_rpc_tests_inner()).await; + + match result { + Ok(inner_result) => inner_result, + Err(_) => { + log::error!(target: LOG_TARGET, "Test timed out after 2 minutes!"); + std::process::exit(1); + }, + } +} + +async fn run_all_eth_rpc_tests_inner() -> anyhow::Result<()> { // start node and rpc server let _shared = SharedResources::start(); - let client = Arc::new(SharedResources::client().await); + // Wait for servers to be ready + let _ = SharedResources::client().await; macro_rules! run_tests { ($($test:ident),+ $(,)?) => { @@ -274,7 +293,7 @@ async fn run_all_eth_rpc_tests() -> anyhow::Result<()> { { let test_name = stringify!($test); log::debug!(target: LOG_TARGET, "Running test: {}", test_name); - match $test(client.clone()).await { + match $test().await { Ok(()) => log::debug!(target: LOG_TARGET, "Test passed: {}", test_name), Err(err) => panic!("Test {} failed: {err:?}", test_name), } @@ -284,6 +303,7 @@ async fn run_all_eth_rpc_tests() -> anyhow::Result<()> { } run_tests!( + test_fibonacci_call_via_runtime_api, test_transfer, test_deploy_and_call, test_runtime_api_dry_run_addr_works, @@ -303,12 +323,17 @@ async fn run_all_eth_rpc_tests() -> anyhow::Result<()> { Ok(()) } -async fn test_transfer(client: Arc) -> anyhow::Result<()> { +async fn test_transfer() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); let ethan = Account::from(subxt_signer::eth::dev::ethan()); let initial_balance = client.get_balance(ethan.address(), BlockTag::Latest.into()).await?; let value = 1_000_000_000_000_000_000_000u128.into(); - let tx = TransactionBuilder::new(&client).value(value).to(ethan.address()).send().await?; + let tx = TransactionBuilder::new(client.clone()) + .value(value) + .to(ethan.address()) + .send() + .await?; let receipt = tx.wait_for_receipt().await?; assert_eq!( @@ -327,14 +352,19 @@ async fn test_transfer(client: Arc) -> anyhow::Result<()> { Ok(()) } -async fn test_deploy_and_call(client: Arc) -> anyhow::Result<()> { +async fn test_deploy_and_call() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); let account = Account::default(); // Balance transfer let ethan = Account::from(subxt_signer::eth::dev::ethan()); let initial_balance = client.get_balance(ethan.address(), BlockTag::Latest.into()).await?; let value = 1_000_000_000_000_000_000_000u128.into(); - let tx = TransactionBuilder::new(&client).value(value).to(ethan.address()).send().await?; + let tx = TransactionBuilder::new(client.clone()) + .value(value) + .to(ethan.address()) + .send() + .await?; let receipt = tx.wait_for_receipt().await?; assert_eq!( @@ -357,7 +387,7 @@ async fn test_deploy_and_call(client: Arc) -> anyhow::Result<()> { let (bytes, _) = pallet_revive_fixtures::compile_module("dummy")?; let input = bytes.into_iter().chain(data.clone()).collect::>(); let nonce = client.get_transaction_count(account.address(), BlockTag::Latest.into()).await?; - let tx = TransactionBuilder::new(&client).value(value).input(input).send().await?; + let tx = TransactionBuilder::new(client.clone()).value(value).input(input).send().await?; let receipt = tx.wait_for_receipt().await?; let contract_address = create1(&account.address(), nonce.try_into().unwrap()); assert_eq!( @@ -378,7 +408,7 @@ async fn test_deploy_and_call(client: Arc) -> anyhow::Result<()> { ); // Call contract - let tx = TransactionBuilder::new(&client) + let tx = TransactionBuilder::new(client.clone()) .value(value) .to(contract_address) .send() @@ -392,11 +422,15 @@ async fn test_deploy_and_call(client: Arc) -> anyhow::Result<()> { ); let balance = client.get_balance(contract_address, BlockTag::Latest.into()).await?; - assert_eq!(Some(value), balance.checked_sub(initial_balance), "Contract {contract_address:?} Balance {balance} should have increased from {initial_balance} by {value}."); + assert_eq!( + Some(value), + balance.checked_sub(initial_balance), + "Contract {contract_address:?} Balance {balance} should have increased from {initial_balance} by {value}." + ); // Balance transfer to contract let initial_balance = client.get_balance(contract_address, BlockTag::Latest.into()).await?; - let tx = TransactionBuilder::new(&client) + let tx = TransactionBuilder::new(client.clone()) .value(value) .to(contract_address) .send() @@ -414,7 +448,9 @@ async fn test_deploy_and_call(client: Arc) -> anyhow::Result<()> { Ok(()) } -async fn test_runtime_api_dry_run_addr_works(client: Arc) -> anyhow::Result<()> { +async fn test_runtime_api_dry_run_addr_works() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); + let node_client = SharedResources::node_client().await; let account = Account::default(); let origin: [u8; 32] = account.substrate_account().into(); let data = b"hello world".to_vec(); @@ -437,20 +473,33 @@ async fn test_runtime_api_dry_run_addr_works(client: Arc) -> anyhow::R .await?; let contract_address = create1(&account.address(), nonce.try_into().unwrap()); - let c = OnlineClient::::from_url("ws://localhost:45789").await?; - let res = c.runtime_api().at_latest().await?.call(payload).await?.result.unwrap(); + let res = node_client + .runtime_api() + .at_latest() + .await? + .call(payload) + .await? + .result + .unwrap(); assert_eq!(res.addr, contract_address); Ok(()) } -async fn test_invalid_transaction(client: Arc) -> anyhow::Result<()> { +async fn test_invalid_transaction() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); let ethan = Account::from(subxt_signer::eth::dev::ethan()); - let err = TransactionBuilder::new(&client) + let err = TransactionBuilder::new(client.clone()) .value(U256::from(1_000_000_000_000u128)) .to(ethan.address()) - .mutate(|tx| tx.chain_id = Some(42u32.into())) + .mutate(|tx| match tx { + TransactionUnsigned::TransactionLegacyUnsigned(tx) => tx.chain_id = Some(42u32.into()), + TransactionUnsigned::Transaction1559Unsigned(tx) => tx.chain_id = 42u32.into(), + TransactionUnsigned::Transaction2930Unsigned(tx) => tx.chain_id = 42u32.into(), + TransactionUnsigned::Transaction4844Unsigned(tx) => tx.chain_id = 42u32.into(), + TransactionUnsigned::Transaction7702Unsigned(tx) => tx.chain_id = 42u32.into(), + }) .send() .await .unwrap_err(); @@ -478,14 +527,15 @@ async fn get_evm_block_from_storage( Ok(block.0) } -async fn test_evm_blocks_should_match(client: Arc) -> anyhow::Result<()> { - let (node_client, node_rpc_client, _) = - client::connect(SharedResources::node_rpc_url()).await.unwrap(); +async fn test_evm_blocks_should_match() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); + let node_client = SharedResources::node_client().await; + let node_rpc_client = RpcClient::from_url(SharedResources::node_rpc_url()).await?; // Deploy a contract to have some interesting blocks let (bytes, _) = pallet_revive_fixtures::compile_module("dummy")?; let value = U256::from(5_000_000_000_000u128); - let tx = TransactionBuilder::new(&client) + let tx = TransactionBuilder::new(client.clone()) .value(value) .input(bytes.to_vec()) .send() @@ -523,13 +573,14 @@ async fn test_evm_blocks_should_match(client: Arc) -> anyhow::Result<( Ok(()) } -async fn test_evm_blocks_hydrated_should_match(client: Arc) -> anyhow::Result<()> { +async fn test_evm_blocks_hydrated_should_match() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); // Deploy a contract to have some transactions in the block let (bytes, _) = pallet_revive_fixtures::compile_module("dummy")?; let value = U256::from(5_000_000_000_000u128); let signer = Account::default(); let signer_copy = Account::default(); - let tx = TransactionBuilder::new(&client) + let tx = TransactionBuilder::new(client.clone()) .value(value) .signer(signer) .input(bytes.to_vec()) @@ -576,13 +627,12 @@ async fn test_evm_blocks_hydrated_should_match(client: Arc) -> anyhow: Ok(()) } -async fn test_block_hash_for_tag_with_proper_ethereum_block_hash_works( - client: Arc, -) -> anyhow::Result<()> { +async fn test_block_hash_for_tag_with_proper_ethereum_block_hash_works() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); // Deploy a transaction to create a block with transactions let (bytes, _) = pallet_revive_fixtures::compile_module("dummy")?; let value = U256::from(5_000_000_000_000u128); - let tx = TransactionBuilder::new(&client) + let tx = TransactionBuilder::new(client.clone()) .value(value) .input(bytes.to_vec()) .send() @@ -607,9 +657,8 @@ async fn test_block_hash_for_tag_with_proper_ethereum_block_hash_works( Ok(()) } -async fn test_block_hash_for_tag_with_invalid_ethereum_block_hash_fails( - client: Arc, -) -> anyhow::Result<()> { +async fn test_block_hash_for_tag_with_invalid_ethereum_block_hash_fails() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); let fake_eth_hash = H256::from([0x42u8; 32]); log::trace!(target: LOG_TARGET, "Testing with fake Ethereum hash: {fake_eth_hash:?}"); @@ -622,9 +671,8 @@ async fn test_block_hash_for_tag_with_invalid_ethereum_block_hash_fails( Ok(()) } -async fn test_block_hash_for_tag_with_block_number_works( - client: Arc, -) -> anyhow::Result<()> { +async fn test_block_hash_for_tag_with_block_number_works() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); let block_number = client.block_number().await?; log::trace!(target: LOG_TARGET, "Testing with block number: {block_number}"); @@ -638,9 +686,8 @@ async fn test_block_hash_for_tag_with_block_number_works( Ok(()) } -async fn test_block_hash_for_tag_with_block_tags_works( - client: Arc, -) -> anyhow::Result<()> { +async fn test_block_hash_for_tag_with_block_tags_works() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); let account = Account::default(); let tags = vec![ @@ -660,7 +707,8 @@ async fn test_block_hash_for_tag_with_block_tags_works( Ok(()) } -async fn test_multiple_transactions_in_block(client: Arc) -> anyhow::Result<()> { +async fn test_multiple_transactions_in_block() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); let num_transactions = 20; let alith = Account::default(); let ethan = Account::from(subxt_signer::eth::dev::ethan()); @@ -668,7 +716,8 @@ async fn test_multiple_transactions_in_block(client: Arc) -> anyhow::R // Prepare EVM transfer transactions let transactions = - prepare_evm_transactions(&client, alith, ethan.address(), amount, num_transactions).await?; + prepare_evm_transactions(client.clone(), alith, ethan.address(), amount, num_transactions) + .await?; // Submit all transactions let submitted_txs = submit_evm_transactions(transactions).await?; @@ -683,7 +732,9 @@ async fn test_multiple_transactions_in_block(client: Arc) -> anyhow::R Ok(()) } -async fn test_mixed_evm_substrate_transactions(client: Arc) -> anyhow::Result<()> { +async fn test_mixed_evm_substrate_transactions() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); + let node_client = SharedResources::node_client().await; let num_evm_txs = 10; let num_substrate_txs = 7; @@ -694,12 +745,12 @@ async fn test_mixed_evm_substrate_transactions(client: Arc) -> anyhow: // Prepare EVM transactions log::trace!(target: LOG_TARGET, "Creating {num_evm_txs} EVM transfer transactions"); let evm_transactions = - prepare_evm_transactions(&client, alith, ethan.address(), amount, num_evm_txs).await?; + prepare_evm_transactions(client.clone(), alith, ethan.address(), amount, num_evm_txs) + .await?; // Prepare substrate transactions (simple remarks) log::trace!(target: LOG_TARGET, "Creating {num_substrate_txs} substrate remark transactions"); let alice_signer = subxt_signer::sr25519::dev::alice(); - let (node_client, _, _) = client::connect(SharedResources::node_rpc_url()).await.unwrap(); let substrate_txs = prepare_substrate_transactions(&node_client, &alice_signer, num_substrate_txs).await?; @@ -728,9 +779,10 @@ async fn test_mixed_evm_substrate_transactions(client: Arc) -> anyhow: Ok(()) } -async fn test_runtime_pallets_address_upload_code(client: Arc) -> anyhow::Result<()> { - let (node_client, node_rpc_client, _) = - client::connect(SharedResources::node_rpc_url()).await?; +async fn test_runtime_pallets_address_upload_code() -> anyhow::Result<()> { + let client = Arc::new(SharedResources::client().await); + let node_client = SharedResources::node_client().await; + let node_rpc_client = RpcClient::from_url(SharedResources::node_rpc_url()).await?; let (bytecode, _) = pallet_revive_fixtures::compile_module("dummy")?; let signer = Account::default(); @@ -757,7 +809,7 @@ async fn test_runtime_pallets_address_upload_code(client: Arc) -> anyh let encoded_call = node_client.tx().call_data(&upload_call)?; // Step 2: Send the encoded call to RUNTIME_PALLETS_ADDR - let tx = TransactionBuilder::new(&client) + let tx = TransactionBuilder::new(client.clone()) .signer(signer.clone()) .to(pallet_revive::RUNTIME_PALLETS_ADDR) .input(encoded_call.clone()) @@ -784,3 +836,121 @@ async fn test_runtime_pallets_address_upload_code(client: Arc) -> anyh Ok(()) } + +/// Test that deploys and calls the Fibonacci contract via Substrate APIs works +async fn test_fibonacci_call_via_runtime_api() -> anyhow::Result<()> { + use pallet_revive::precompiles::alloy::sol_types::SolCall; + use pallet_revive_fixtures::Fibonacci; + + let (bytes, _) = pallet_revive_fixtures::compile_module_with_type( + "Fibonacci", + pallet_revive_fixtures::FixtureType::Solc, + )?; + + let node_client = + OnlineClient::::from_url(SharedResources::node_rpc_url()).await?; + let signer = subxt_signer::sr25519::dev::alice(); + let origin: [u8; 32] = signer.public_key().0; + + // Deploy the Fibonacci contract via Substrate API + log::trace!(target: LOG_TARGET, "Deploying Fibonacci contract via Substrate API"); + let dry_run_result = node_client + .runtime_api() + .at_latest() + .await? + .call(subxt_client::apis().revive_api().instantiate( + subxt::utils::AccountId32(origin), + 0u128, // value + None, // gas_limit + None, // storage_deposit_limit + subxt_client::src_chain::runtime_types::pallet_revive::primitives::Code::Upload( + bytes.clone(), + ), + vec![], // data (constructor args) + None, // salt + )) + .await; + + assert!(dry_run_result.is_ok(), "Dry-run instantiate failed: {dry_run_result:?}"); + let dry_run = dry_run_result.unwrap(); + let instantiate_result = dry_run.result.expect("Dry-run should succeed"); + + log::trace!( + target: LOG_TARGET, + "Dry-run succeeded: address: {:?}, gas_consumed: {:?}, weight_required: {:?}", + instantiate_result.addr, + dry_run.gas_consumed, + dry_run.weight_required + ); + + // Now submit the actual instantiate extrinsic + let events = node_client + .tx() + .sign_and_submit_then_watch_default( + &subxt_client::tx().revive().instantiate_with_code( + 0u128, // value + dry_run.weight_required, // weight_limit from dry-run + u128::MAX, // storage_deposit_limit + bytes, // code + vec![], // data + None, // salt + ), + &subxt_signer::sr25519::dev::alice(), + ) + .await? + .wait_for_finalized_success() + .await?; + + // Extract the contract address from the Instantiated event + let instantiated_event = events + .find_first::()? + .expect("Instantiated event should be present"); + + let contract_address = instantiated_event.contract; + log::trace!(target: LOG_TARGET, "Contract deployed via Substrate at: {contract_address:?}"); + + // Verify that the dry-run predicted address matches the actual deployed address + assert_eq!( + instantiate_result.addr, contract_address, + "Dry-run predicted address should match actual deployed address" + ); + + // Call the deployed contract using runtime API + let call_data = Fibonacci::fibCall { n: 3u64 }.abi_encode(); + let call_payload = subxt_client::apis().revive_api().call( + subxt::utils::AccountId32(origin), + contract_address, + 0u128, // value + None, // gas_limit + None, // storage_deposit_limit + call_data, + ); + + let result = node_client.runtime_api().at_latest().await?.call(call_payload).await; + + assert!(result.is_ok(), "Contract call failed: {result:?}"); + let call_result = result.unwrap(); + let exec_result = call_result.result.expect("fib(3) should succeed"); + + let decoded = Fibonacci::fibCall::abi_decode_returns(&exec_result.data) + .expect("Failed to decode return value"); + assert_eq!(decoded, 2u64, "fib(3) should return 2"); + + // Verify that large Fibonacci values run out of gas + let call_data = Fibonacci::fibCall { n: 100u64 }.abi_encode(); + let call_payload = subxt_client::apis().revive_api().call( + subxt::utils::AccountId32(origin), + contract_address, + 0u128, // value + None, // gas_limit + None, // storage_deposit_limit + call_data, + ); + + let result = node_client.runtime_api().at_latest().await?.call(call_payload).await; + assert!(result.is_ok(), "Runtime API call failed: {result:?}"); + let call_result = result.unwrap(); + assert!(call_result.result.is_err(), "fib(100) should run out of gas"); + + Ok(()) +} diff --git a/substrate/frame/revive/src/address.rs b/substrate/frame/revive/src/address.rs index fa238165f9f41..e7a344d55558f 100644 --- a/substrate/frame/revive/src/address.rs +++ b/substrate/frame/revive/src/address.rs @@ -17,7 +17,7 @@ //! Functions that deal contract addresses. -use crate::{ensure, Config, Error, HoldReason, OriginalAccount}; +use crate::{Config, Error, HoldReason, OriginalAccount, ensure}; use alloc::vec::Vec; use core::marker::PhantomData; use frame_support::traits::{fungible::MutateHold, tokens::Precision}; @@ -270,16 +270,16 @@ pub fn create2(deployer: &H160, code: &[u8], input_data: &[u8], salt: &[u8; 32]) mod test { use super::*; use crate::{ + AddressMapper, Error, test_utils::*, tests::{ExtBuilder, Test}, - AddressMapper, Error, }; use frame_support::{ assert_err, traits::fungible::{InspectHold, Mutate}, }; use pretty_assertions::assert_eq; - use sp_core::{hex2array, H160}; + use sp_core::{H160, hex2array}; #[test] fn create1_works() { diff --git a/substrate/frame/revive/src/benchmarking.rs b/substrate/frame/revive/src/benchmarking.rs index 46ff22907aac6..913737921adc8 100644 --- a/substrate/frame/revive/src/benchmarking.rs +++ b/substrate/frame/revive/src/benchmarking.rs @@ -19,29 +19,29 @@ #![cfg(feature = "runtime-benchmarks")] use crate::{ - call_builder::{caller_funding, default_deposit_limit, CallSetup, Contract, VmBinaryModule}, + Pallet as Contracts, + call_builder::{CallSetup, Contract, VmBinaryModule, caller_funding, default_deposit_limit}, evm::{ - block_hash::EthereumBlockBuilder, block_storage, TransactionLegacyUnsigned, - TransactionSigned, TransactionUnsigned, + TransactionLegacyUnsigned, TransactionSigned, TransactionUnsigned, + block_hash::EthereumBlockBuilder, block_storage, }, exec::{Key, Origin as ExecOrigin, PrecompileExt}, limits, precompiles::{ - self, + self, BenchmarkStorage, BenchmarkSystem, BuiltinPrecompile, alloy::sol_types::{ - sol_data::{Bool, Bytes, FixedBytes, Uint}, SolType, + sol_data::{Bool, Bytes, FixedBytes, Uint}, }, run::builtin as run_builtin_precompile, - BenchmarkStorage, BenchmarkSystem, BuiltinPrecompile, }, storage::WriteOutcome, vm::{ evm, - evm::{instructions, instructions::utility::IntoAddress, Interpreter}, + evm::{Interpreter, instructions, instructions::utility::IntoAddress}, pvm, }, - Pallet as Contracts, *, + *, }; use alloc::{vec, vec::Vec}; use alloy_core::sol_types::{SolInterface, SolValue}; @@ -51,21 +51,20 @@ use frame_support::{ self, assert_ok, migrations::SteppedMigration, storage::child, - traits::{fungible::InspectHold, Hooks}, + traits::{Hooks, fungible::InspectHold}, weights::{Weight, WeightMeter}, }; use frame_system::RawOrigin; use k256::ecdsa::SigningKey; use pallet_revive_uapi::{ - pack_hi_lo, + CallFlags, ReturnErrorCode, StorageFlags, pack_hi_lo, precompiles::{storage::IStorage, system::ISystem}, - CallFlags, ReturnErrorCode, StorageFlags, }; use revm::bytecode::Bytecode; use sp_consensus_aura::AURA_ENGINE_ID; use sp_consensus_babe::{ - digests::{PreDigest, PrimaryPreDigest}, BABE_ENGINE_ID, + digests::{PreDigest, PrimaryPreDigest}, }; use sp_consensus_slots::Slot; use sp_runtime::{generic::DigestItem, traits::Zero}; @@ -2400,7 +2399,7 @@ mod benchmarks { #[benchmark(pov_mode = Measured)] fn bn128_pairing(n: Linear<0, { 20 }>) { fn generate_random_ecpairs(n: usize) -> Vec { - use bn::{AffineG1, AffineG2, Fr, Group, G1, G2}; + use bn::{AffineG1, AffineG2, Fr, G1, G2, Group}; use rand::SeedableRng; use rand_pcg::Pcg64; let mut rng = Pcg64::seed_from_u64(1); @@ -2488,35 +2487,6 @@ mod benchmarks { assert_eq!(&memory[..20], runtime.ext().ecdsa_to_eth_address(&pub_key_bytes).unwrap()); } - /// Benchmark the cost of setting the code hash of a contract. - /// - /// `r`: whether the old code will be removed as a result of this operation. (1: yes, 0: no) - #[benchmark(pov_mode = Measured)] - fn seal_set_code_hash(r: Linear<0, 1>) -> Result<(), BenchmarkError> { - let delete_old_code = r == 1; - let code_hash = Contract::::with_index(1, VmBinaryModule::sized(42), vec![])? - .info()? - .code_hash; - - build_runtime!(runtime, instance, memory: [ code_hash.encode(),]); - let old_code_hash = instance.info()?.code_hash; - - // Increment the refcount of the code hash so that it does not get deleted - if !delete_old_code { - >::increment_refcount(old_code_hash).unwrap(); - } - - let result; - #[block] - { - result = runtime.bench_set_code_hash(memory.as_mut_slice(), 0); - } - - assert_ok!(result); - assert_eq!(PristineCode::::get(old_code_hash).is_none(), delete_old_code); - Ok(()) - } - /// Benchmark the cost of executing `r` noop (JUMPDEST) instructions. #[benchmark(pov_mode = Measured)] fn evm_opcode(r: Linear<0, 10_000>) -> Result<(), BenchmarkError> { @@ -2543,7 +2513,7 @@ mod benchmarks { // and then accessing it so that each instruction generates two cache misses. #[benchmark(pov_mode = Ignored)] fn instr(r: Linear<0, 10_000>) { - use rand::{seq::SliceRandom, SeedableRng}; + use rand::{SeedableRng, seq::SliceRandom}; use rand_pcg::Pcg64; // Ideally, this needs to be bigger than the cache. @@ -2744,8 +2714,8 @@ mod benchmarks { } /// Helper function to generate common finalize_block benchmark setup - fn setup_finalize_block_benchmark( - ) -> Result<(Contract, BalanceOf, U256, SigningKey, BlockNumberFor), BenchmarkError> + fn setup_finalize_block_benchmark() + -> Result<(Contract, BalanceOf, U256, SigningKey, BlockNumberFor), BenchmarkError> where BalanceOf: Into + TryFrom, T: Config, diff --git a/substrate/frame/revive/src/call_builder.rs b/substrate/frame/revive/src/call_builder.rs index 43969df69b7ad..40c230f05ec90 100644 --- a/substrate/frame/revive/src/call_builder.rs +++ b/substrate/frame/revive/src/call_builder.rs @@ -26,14 +26,14 @@ #![cfg_attr(test, allow(dead_code))] use crate::{ + AccountInfo, BalanceOf, BalanceWithDust, Code, CodeInfoOf, Config, ContractBlob, ContractInfo, + Error, ExecConfig, ExecOrigin as Origin, OriginFor, Pallet as Contracts, PristineCode, Weight, address::AddressMapper, exec::{ExportedFunction, Key, PrecompileExt, Stack}, limits, metering::{TransactionLimits, TransactionMeter}, transient_storage::MeterEntry, vm::pvm::{PreparedCall, Runtime}, - AccountInfo, BalanceOf, BalanceWithDust, Code, CodeInfoOf, Config, ContractBlob, ContractInfo, - Error, ExecConfig, ExecOrigin as Origin, OriginFor, Pallet as Contracts, PristineCode, Weight, }; use alloc::{vec, vec::Vec}; use frame_support::{storage::child, traits::fungible::Mutate}; @@ -268,7 +268,7 @@ where Code::Upload(module.code), data, salt, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); let address = outcome.result?.addr; @@ -447,8 +447,9 @@ impl VmBinaryModule { // return execution right away without breaking up basic block // SENTINEL is a hard coded syscall that terminates execution 0 => writeln!(text, "ecalli {}", crate::SENTINEL).unwrap(), - i if i % (limits::code::BASIC_BLOCK_SIZE - 1) == 0 => - text.push_str("fallthrough\n"), + i if i % (limits::code::BASIC_BLOCK_SIZE - 1) == 0 => { + text.push_str("fallthrough\n") + }, _ => text.push_str("a0 = a1 + a2\n"), } } diff --git a/substrate/frame/revive/src/debug.rs b/substrate/frame/revive/src/debug.rs index 6d569523459c0..c1c8b8c52a891 100644 --- a/substrate/frame/revive/src/debug.rs +++ b/substrate/frame/revive/src/debug.rs @@ -16,11 +16,11 @@ // limitations under the License. use crate::{Config, DebugSettingsOf}; +use Debug; use codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use serde::{Deserialize, Serialize}; use sp_core::Get; -use Debug; /// Debugging settings that can be configured when DebugEnabled config is true. #[derive( @@ -43,11 +43,28 @@ pub struct DebugSettings { bypass_eip_3607: bool, /// Whether to enable PolkaVM logs. pvm_logs: bool, + /// Whether to disable execution tracing. + disable_execution_tracing: bool, } impl DebugSettings { - pub fn new(allow_unlimited_contract_size: bool, bypass_eip_3607: bool, pvm_logs: bool) -> Self { - Self { allow_unlimited_contract_size, bypass_eip_3607, pvm_logs } + pub fn set_bypass_eip_3607(mut self, value: bool) -> Self { + self.bypass_eip_3607 = value; + self + } + + pub fn set_allow_unlimited_contract_size(mut self, value: bool) -> Self { + self.allow_unlimited_contract_size = value; + self + } + + pub fn set_enable_pvm_logs(mut self, value: bool) -> Self { + self.pvm_logs = value; + self + } + + pub fn is_execution_tracing_enabled() -> bool { + T::DebugEnabled::get() && !DebugSettingsOf::::get().disable_execution_tracing } /// Returns true if unlimited contract size is allowed. diff --git a/substrate/frame/revive/src/evm.rs b/substrate/frame/revive/src/evm.rs index 5a2264c7169d3..6b76af86b516e 100644 --- a/substrate/frame/revive/src/evm.rs +++ b/substrate/frame/revive/src/evm.rs @@ -14,7 +14,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -//!Types, and traits to integrate pallet-revive with EVM. +//! Types, and traits to integrate pallet-revive with EVM. #![warn(missing_docs)] mod api; diff --git a/substrate/frame/revive/src/evm/api/account.rs b/substrate/frame/revive/src/evm/api/account.rs index 931a2060c6fde..1c3b589c920b3 100644 --- a/substrate/frame/revive/src/evm/api/account.rs +++ b/substrate/frame/revive/src/evm/api/account.rs @@ -16,8 +16,8 @@ // limitations under the License. //! Utilities for working with Ethereum accounts. use crate::{ - evm::{TransactionSigned, TransactionUnsigned}, H160, + evm::{TransactionSigned, TransactionUnsigned}, }; use sp_runtime::AccountId32; diff --git a/substrate/frame/revive/src/evm/api/byte.rs b/substrate/frame/revive/src/evm/api/byte.rs index 1d3de2011ae22..d598eaf385e5c 100644 --- a/substrate/frame/revive/src/evm/api/byte.rs +++ b/substrate/frame/revive/src/evm/api/byte.rs @@ -75,6 +75,17 @@ impl Bytes { pub fn is_empty(&self) -> bool { self.0.is_empty() } + + /// Convert to minimal hex format without padding 0s + pub fn to_short_hex(&self) -> alloc::string::String { + let word = sp_core::U256::from_big_endian(&self.0); + alloc::format!("0x{:x}", word) + } + + /// Convert to hex format without "0x" prefix + pub fn to_hex_no_prefix(&self) -> alloc::string::String { + alloy_core::hex::encode(&self.0) + } } impl_hex!(Byte, u8, 0u8); @@ -83,6 +94,18 @@ impl_hex!(Bytes8, [u8; 8], [0u8; 8]); impl_hex!(Bytes32, [u8; 32], [0u8; 32]); impl_hex!(Bytes256, [u8; 256], [0u8; 256]); +#[test] +fn test_to_short_hex() { + let bytes = Bytes(crate::U256::from(4).to_big_endian().to_vec()); + assert_eq!(bytes.to_short_hex(), "0x4"); +} + +#[test] +fn test_to_hex_no_prefix() { + let bytes = Bytes(vec![0x12, 0x34, 0x56, 0x78]); + assert_eq!(bytes.to_hex_no_prefix(), "12345678"); +} + #[test] fn serialize_works() { let a = Byte(42); diff --git a/substrate/frame/revive/src/evm/api/debug_rpc_types.rs b/substrate/frame/revive/src/evm/api/debug_rpc_types.rs index 866454e3e8fbc..6bbfa13f93fae 100644 --- a/substrate/frame/revive/src/evm/api/debug_rpc_types.rs +++ b/substrate/frame/revive/src/evm/api/debug_rpc_types.rs @@ -15,15 +15,15 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::evm::Bytes; +use crate::{Weight, evm::Bytes}; use alloc::{collections::BTreeMap, string::String, vec::Vec}; use codec::{Decode, Encode}; use derive_more::From; use scale_info::TypeInfo; use serde::{ - de::{Error, MapAccess, Visitor}, - ser::{SerializeMap, Serializer}, Deserialize, Serialize, + de::{Deserializer, Error, MapAccess, Visitor}, + ser::{SerializeMap, Serializer}, }; use sp_core::{H160, H256, U256}; @@ -36,6 +36,9 @@ pub enum TracerType { /// A tracer that traces the prestate. PrestateTracer(Option), + + /// A tracer that traces opcodes and syscalls. + ExecutionTracer(Option), } impl From for TracerType { @@ -44,15 +47,27 @@ impl From for TracerType { } } +impl From for TracerType { + fn from(config: PrestateTracerConfig) -> Self { + TracerType::PrestateTracer(Some(config)) + } +} + +impl From for TracerType { + fn from(config: ExecutionTracerConfig) -> Self { + TracerType::ExecutionTracer(Some(config)) + } +} + impl Default for TracerType { fn default() -> Self { - TracerType::CallTracer(Some(CallTracerConfig::default())) + TracerType::ExecutionTracer(Some(ExecutionTracerConfig::default())) } } /// Tracer configuration used to trace calls. #[derive(TypeInfo, Debug, Clone, Default, PartialEq)] -#[cfg_attr(feature = "std", derive(Deserialize, Serialize), serde(rename_all = "camelCase"))] +#[cfg_attr(feature = "std", derive(Serialize), serde(rename_all = "camelCase"))] pub struct TracerConfig { /// The tracer type. #[cfg_attr(feature = "std", serde(flatten, default))] @@ -63,6 +78,49 @@ pub struct TracerConfig { pub timeout: Option, } +#[cfg(feature = "std")] +impl<'de> Deserialize<'de> for TracerConfig { + fn deserialize(deserializer: D) -> Result + where + D: Deserializer<'de>, + { + #[derive(Deserialize)] + #[serde(rename_all = "camelCase")] + struct TracerConfigWithType { + #[serde(flatten)] + config: TracerType, + #[serde(with = "humantime_serde", default)] + timeout: Option, + } + + #[derive(Deserialize)] + #[serde(rename_all = "camelCase")] + struct TracerConfigInline { + #[serde(flatten, default)] + execution_tracer_config: ExecutionTracerConfig, + #[serde(with = "humantime_serde", default)] + timeout: Option, + } + + #[derive(Deserialize)] + #[serde(untagged)] + enum TracerConfigHelper { + WithType(TracerConfigWithType), + Inline(TracerConfigInline), + } + + match TracerConfigHelper::deserialize(deserializer)? { + TracerConfigHelper::WithType(cfg) => { + Ok(TracerConfig { config: cfg.config, timeout: cfg.timeout }) + }, + TracerConfigHelper::Inline(cfg) => Ok(TracerConfig { + config: TracerType::ExecutionTracer(Some(cfg.execution_tracer_config)), + timeout: cfg.timeout, + }), + } + } +} + /// The configuration for the call tracer. #[derive(Clone, Debug, Decode, Serialize, Deserialize, Encode, PartialEq, TypeInfo)] #[serde(default, rename_all = "camelCase")] @@ -100,6 +158,58 @@ impl Default for PrestateTracerConfig { } } +fn zero_to_none<'de, D>(deserializer: D) -> Result, D::Error> +where + D: Deserializer<'de>, +{ + let opt = Option::::deserialize(deserializer)?; + Ok(match opt { + Some(0) => None, + other => other, + }) +} + +/// The configuration for the execution tracer. +#[derive(Clone, Debug, Decode, Serialize, Deserialize, Encode, PartialEq, TypeInfo)] +#[serde(default, rename_all = "camelCase")] +pub struct ExecutionTracerConfig { + /// Whether to enable memory capture + pub enable_memory: bool, + + /// Whether to disable stack capture + pub disable_stack: bool, + + /// Whether to disable storage capture + pub disable_storage: bool, + + /// Whether to enable return data capture + pub enable_return_data: bool, + + /// Whether to disable syscall details capture, including arguments and return value (PVM only) + pub disable_syscall_details: bool, + + /// Limit number of steps captured + #[serde(skip_serializing_if = "Option::is_none", deserialize_with = "zero_to_none")] + pub limit: Option, + + /// Maximum number of memory words to capture per step (default: 16) + pub memory_word_limit: u32, +} + +impl Default for ExecutionTracerConfig { + fn default() -> Self { + Self { + enable_memory: false, + disable_stack: false, + disable_storage: false, + enable_return_data: false, + disable_syscall_details: false, + limit: None, + memory_word_limit: 16, + } + } +} + /// Serialization should support the following JSON format: /// /// ```json @@ -109,9 +219,38 @@ impl Default for PrestateTracerConfig { /// ```json /// { "tracer": "callTracer" } /// ``` +/// +/// By default if not specified the tracer is an ExecutionTracer, and it's config is passed inline +/// +/// ```json +/// { "tracer": null, "enableMemory": true, "disableStack": false, "disableStorage": false, "enableReturnData": true } +/// ``` #[test] fn test_tracer_config_serialization() { let tracers = vec![ + ( + r#"{ "enableMemory": true, "disableStack": false, "disableStorage": false, + "enableReturnData": true }"#, + TracerConfig { + config: TracerType::ExecutionTracer(Some(ExecutionTracerConfig { + enable_memory: true, + disable_stack: false, + disable_storage: false, + enable_return_data: true, + disable_syscall_details: false, + limit: None, + memory_word_limit: 16, + })), + timeout: None, + }, + ), + ( + r#"{ }"#, + TracerConfig { + config: TracerType::ExecutionTracer(Some(ExecutionTracerConfig::default())), + timeout: None, + }, + ), ( r#"{"tracer": "callTracer"}"#, TracerConfig { config: TracerType::CallTracer(None), timeout: None }, @@ -131,18 +270,37 @@ fn test_tracer_config_serialization() { }, ), ( - r#"{"tracer": "callTracer", "tracerConfig": { "onlyTopCall": true }, "timeout": "10ms"}"#, + r#"{"tracer": "callTracer", "tracerConfig": { "onlyTopCall": true }, "timeout": + "10ms"}"#, TracerConfig { config: CallTracerConfig { with_logs: true, only_top_call: true }.into(), timeout: Some(core::time::Duration::from_millis(10)), }, ), + ( + r#"{"tracer": "executionTracer"}"#, + TracerConfig { config: TracerType::ExecutionTracer(None), timeout: None }, + ), + ( + r#"{"tracer": "executionTracer", "tracerConfig": { "enableMemory": true }}"#, + TracerConfig { + config: ExecutionTracerConfig { enable_memory: true, ..Default::default() }.into(), + timeout: None, + }, + ), + ( + r#"{ "enableMemory": true }"#, + TracerConfig { + config: ExecutionTracerConfig { enable_memory: true, ..Default::default() }.into(), + timeout: None, + }, + ), ]; for (json_data, expected) in tracers { let result: TracerConfig = serde_json::from_str(json_data).expect("Deserialization should succeed"); - assert_eq!(result, expected); + assert_eq!(result, expected, "invalid serialization for {json_data}"); } } @@ -175,6 +333,8 @@ pub enum Trace { Call(CallTrace), /// A prestate trace. Prestate(PrestateTrace), + /// An execution trace (opcodes and syscalls). + Execution(ExecutionTrace), } /// A prestate Trace @@ -318,18 +478,356 @@ where ser_map.end() } +/// An execution trace containing the step-by-step execution of EVM opcodes and PVM syscalls. +/// This matches Geth's structLogger output format. +#[derive( + Default, TypeInfo, Encode, Decode, Serialize, Deserialize, Clone, Debug, Eq, PartialEq, +)] +#[serde(default, rename_all = "camelCase")] +pub struct ExecutionTrace { + /// Total gas used by the transaction. + pub gas: u64, + /// The weight consumed by the transaction meter. + pub weight_consumed: Weight, + /// The base call weight of the transaction. + pub base_call_weight: Weight, + /// Whether the transaction failed. + pub failed: bool, + /// The return value of the transaction. + pub return_value: Bytes, + /// The list of execution steps (structLogs in Geth). + pub struct_logs: Vec, +} + +/// An execution step which can be either an EVM opcode or a PVM syscall. +#[derive( + TypeInfo, Encode, Decode, Serialize, Deserialize, Clone, Debug, Eq, PartialEq, Default, +)] +#[serde(default, rename_all = "camelCase")] +pub struct ExecutionStep { + /// Remaining gas before executing this step. + #[codec(compact)] + pub gas: u64, + /// Gas Cost of executing this step. + #[codec(compact)] + pub gas_cost: u64, + /// Weight cost of executing this step. + pub weight_cost: Weight, + /// Current call depth. + pub depth: u16, + /// Return data from last frame output. + #[serde(skip_serializing_if = "Bytes::is_empty")] + pub return_data: Bytes, + /// Any error that occurred during execution. + #[serde(skip_serializing_if = "Option::is_none")] + pub error: Option, + /// The kind of execution step (EVM opcode or PVM syscall). + #[serde(flatten)] + pub kind: ExecutionStepKind, +} + +/// The kind of execution step. +#[derive(TypeInfo, Encode, Decode, Serialize, Deserialize, Clone, Debug, Eq, PartialEq)] +#[serde(untagged)] +pub enum ExecutionStepKind { + /// An EVM opcode execution. + EVMOpcode { + /// The program counter. + #[codec(compact)] + pc: u32, + /// The opcode being executed. + #[serde(serialize_with = "serialize_opcode", deserialize_with = "deserialize_opcode")] + op: u8, + /// EVM stack contents. + #[serde( + default, + serialize_with = "serialize_stack_minimal", + deserialize_with = "deserialize_stack_minimal" + )] + stack: Vec, + /// EVM memory contents. + #[serde( + default, + skip_serializing_if = "Vec::is_empty", + serialize_with = "serialize_memory_no_prefix" + )] + memory: Vec, + /// Contract storage changes. + #[serde( + default, + skip_serializing_if = "Option::is_none", + serialize_with = "serialize_storage_no_prefix" + )] + storage: Option>, + }, + /// A PVM syscall execution. + PVMSyscall { + /// The executed syscall. + #[serde( + serialize_with = "serialize_syscall_op", + deserialize_with = "deserialize_syscall_op" + )] + op: u8, + /// The syscall arguments (register values a0-a5). + /// Omitted when `disable_syscall_details` is true in ExecutionTracerConfig. + #[serde(default, skip_serializing_if = "Vec::is_empty", with = "super::hex_serde::vec")] + args: Vec, + /// The syscall return value. + /// Omitted when `disable_syscall_details` is true in ExecutionTracerConfig. + #[serde( + default, + skip_serializing_if = "Option::is_none", + with = "super::hex_serde::option" + )] + returned: Option, + }, +} + +impl Default for ExecutionStepKind { + fn default() -> Self { + Self::EVMOpcode { pc: 0, op: 0, stack: Vec::new(), memory: Vec::new(), storage: None } + } +} + +macro_rules! define_opcode_functions { + ($($op:ident),* $(,)?) => { + /// Get opcode name from byte value using opcode names + fn get_opcode_name(opcode: u8) -> &'static str { + use revm::bytecode::opcode::*; + match opcode { + $( + $op => stringify!($op), + )* + _ => "INVALID", + } + } + + /// Get opcode byte from name string + fn get_opcode_byte(name: &str) -> Option { + use revm::bytecode::opcode::*; + match name { + $( + stringify!($op) => Some($op), + )* + _ => None, + } + } + }; +} + +define_opcode_functions!( + STOP, + ADD, + MUL, + SUB, + DIV, + SDIV, + MOD, + SMOD, + ADDMOD, + MULMOD, + EXP, + SIGNEXTEND, + LT, + GT, + SLT, + SGT, + EQ, + ISZERO, + AND, + OR, + XOR, + NOT, + BYTE, + SHL, + SHR, + SAR, + KECCAK256, + ADDRESS, + BALANCE, + ORIGIN, + CALLER, + CALLVALUE, + CALLDATALOAD, + CALLDATASIZE, + CALLDATACOPY, + CODESIZE, + CODECOPY, + GASPRICE, + EXTCODESIZE, + EXTCODECOPY, + RETURNDATASIZE, + RETURNDATACOPY, + EXTCODEHASH, + BLOCKHASH, + COINBASE, + TIMESTAMP, + NUMBER, + DIFFICULTY, + GASLIMIT, + CHAINID, + SELFBALANCE, + BASEFEE, + BLOBHASH, + BLOBBASEFEE, + POP, + MLOAD, + MSTORE, + MSTORE8, + SLOAD, + SSTORE, + JUMP, + JUMPI, + PC, + MSIZE, + GAS, + JUMPDEST, + TLOAD, + TSTORE, + MCOPY, + PUSH0, + PUSH1, + PUSH2, + PUSH3, + PUSH4, + PUSH5, + PUSH6, + PUSH7, + PUSH8, + PUSH9, + PUSH10, + PUSH11, + PUSH12, + PUSH13, + PUSH14, + PUSH15, + PUSH16, + PUSH17, + PUSH18, + PUSH19, + PUSH20, + PUSH21, + PUSH22, + PUSH23, + PUSH24, + PUSH25, + PUSH26, + PUSH27, + PUSH28, + PUSH29, + PUSH30, + PUSH31, + PUSH32, + DUP1, + DUP2, + DUP3, + DUP4, + DUP5, + DUP6, + DUP7, + DUP8, + DUP9, + DUP10, + DUP11, + DUP12, + DUP13, + DUP14, + DUP15, + DUP16, + SWAP1, + SWAP2, + SWAP3, + SWAP4, + SWAP5, + SWAP6, + SWAP7, + SWAP8, + SWAP9, + SWAP10, + SWAP11, + SWAP12, + SWAP13, + SWAP14, + SWAP15, + SWAP16, + LOG0, + LOG1, + LOG2, + LOG3, + LOG4, + CREATE, + CALL, + CALLCODE, + RETURN, + DELEGATECALL, + CREATE2, + STATICCALL, + REVERT, + INVALID, + SELFDESTRUCT, +); + +/// Serialize opcode as string using REVM opcode names +fn serialize_opcode(opcode: &u8, serializer: S) -> Result +where + S: serde::Serializer, +{ + let name = get_opcode_name(*opcode); + serializer.serialize_str(name) +} + +/// Serialize a syscall index to its name +fn serialize_syscall_op(idx: &u8, serializer: S) -> Result +where + S: serde::Serializer, +{ + use crate::vm::pvm::env::list_syscalls; + let Some(syscall_name_bytes) = list_syscalls().get(*idx as usize) else { + return Err(serde::ser::Error::custom(alloc::format!("Unknown syscall: {idx}"))); + }; + let name = core::str::from_utf8(syscall_name_bytes).unwrap_or_default(); + serializer.serialize_str(name) +} + +/// Deserialize opcode from string using reverse lookup table +fn deserialize_opcode<'de, D>(deserializer: D) -> Result +where + D: serde::Deserializer<'de>, +{ + let s = String::deserialize(deserializer)?; + get_opcode_byte(&s) + .ok_or_else(|| serde::de::Error::custom(alloc::format!("Unknown opcode: {}", s))) +} + +/// Deserialize syscall from string name to index +fn deserialize_syscall_op<'de, D>(deserializer: D) -> Result +where + D: serde::Deserializer<'de>, +{ + use crate::vm::pvm::env::list_syscalls; + let s = String::deserialize(deserializer)?; + let syscalls = list_syscalls(); + syscalls + .iter() + .position(|name| core::str::from_utf8(name).unwrap_or_default() == s) + .map(|i| i as u8) + .ok_or_else(|| serde::de::Error::custom(alloc::format!("Unknown syscall: {}", s))) +} + /// A smart contract execution call trace. #[derive( TypeInfo, Default, Encode, Decode, Serialize, Deserialize, Clone, Debug, Eq, PartialEq, )] #[serde(rename_all = "camelCase")] -pub struct CallTrace { +pub struct CallTrace { /// Address of the sender. pub from: H160, /// Amount of gas provided for the call. - pub gas: Gas, + #[serde(with = "super::hex_serde")] + pub gas: u64, /// Amount of gas used. - pub gas_used: Gas, + #[serde(with = "super::hex_serde")] + pub gas_used: u64, /// Address of the receiver. pub to: H160, /// Call input data. @@ -345,7 +843,7 @@ pub struct CallTrace { pub revert_reason: Option, /// List of sub-calls. #[serde(skip_serializing_if = "Vec::is_empty")] - pub calls: Vec>, + pub calls: Vec, /// List of logs emitted during the call. #[serde(skip_serializing_if = "Vec::is_empty")] pub logs: Vec, @@ -388,3 +886,66 @@ pub struct TransactionTrace { #[serde(rename = "result")] pub trace: Trace, } + +/// Serialize stack values using minimal hex format (like Geth) +fn serialize_stack_minimal(stack: &Vec, serializer: S) -> Result +where + S: serde::Serializer, +{ + let minimal_values: Vec = stack.iter().map(|bytes| bytes.to_short_hex()).collect(); + minimal_values.serialize(serializer) +} + +/// Deserialize stack values from minimal hex format +fn deserialize_stack_minimal<'de, D>(deserializer: D) -> Result, D::Error> +where + D: serde::Deserializer<'de>, +{ + let strings = Vec::::deserialize(deserializer)?; + strings + .into_iter() + .map(|s| { + // Parse as U256 to handle minimal hex like "0x0" or "0x4" + let s = s.trim_start_matches("0x"); + let value = sp_core::U256::from_str_radix(s, 16) + .map_err(|e| serde::de::Error::custom(alloc::format!("{:?}", e)))?; + // Convert to bytes, trimming leading zeros to match serialization + let bytes = value.to_big_endian(); + let trimmed = bytes + .iter() + .position(|&b| b != 0) + .map(|pos| bytes[pos..].to_vec()) + .unwrap_or_else(|| alloc::vec![0u8]); + Ok(Bytes::from(trimmed)) + }) + .collect() +} + +/// Serialize memory values without "0x" prefix (like Geth) +fn serialize_memory_no_prefix(memory: &Vec, serializer: S) -> Result +where + S: serde::Serializer, +{ + let hex_values: Vec = memory.iter().map(|bytes| bytes.to_hex_no_prefix()).collect(); + hex_values.serialize(serializer) +} + +/// Serialize storage map without "0x" prefix (like Geth) +fn serialize_storage_no_prefix( + storage: &Option>, + serializer: S, +) -> Result +where + S: serde::Serializer, +{ + match storage { + None => serializer.serialize_none(), + Some(map) => { + let mut ser_map = serializer.serialize_map(Some(map.len()))?; + for (key, value) in map { + ser_map.serialize_entry(&key.to_hex_no_prefix(), &value.to_hex_no_prefix())?; + } + ser_map.end() + }, + } +} diff --git a/substrate/frame/revive/src/evm/api/hex_serde.rs b/substrate/frame/revive/src/evm/api/hex_serde.rs index 250a38496a63f..86ca0add31943 100644 --- a/substrate/frame/revive/src/evm/api/hex_serde.rs +++ b/substrate/frame/revive/src/evm/api/hex_serde.rs @@ -41,7 +41,7 @@ macro_rules! impl_hex_codec { }; } -impl_hex_codec!(u8, u32); +impl_hex_codec!(u8, u32, u64); impl HexCodec for [u8; T] { type Error = hex::FromHexError; @@ -83,3 +83,63 @@ where let value = T::from_hex(s).map_err(|e| serde::de::Error::custom(format!("{:?}", e)))?; Ok(value) } + +pub mod option { + use super::*; + + pub fn serialize(value: &Option, serializer: S) -> Result + where + S: Serializer, + T: HexCodec, + { + match value { + Some(v) => serializer.serialize_str(&v.to_hex()), + None => serializer.serialize_none(), + } + } + + pub fn deserialize<'de, D, T>(deserializer: D) -> Result, D::Error> + where + D: Deserializer<'de>, + T: HexCodec, + ::Error: core::fmt::Debug, + { + let opt = Option::::deserialize(deserializer)?; + match opt { + Some(s) => T::from_hex(s) + .map(Some) + .map_err(|e| serde::de::Error::custom(format!("{:?}", e))), + None => Ok(None), + } + } +} + +pub mod vec { + use super::*; + use serde::ser::SerializeSeq; + + pub fn serialize(values: &Vec, serializer: S) -> Result + where + S: Serializer, + T: HexCodec, + { + let mut seq = serializer.serialize_seq(Some(values.len()))?; + for v in values { + seq.serialize_element(&v.to_hex())?; + } + seq.end() + } + + pub fn deserialize<'de, D, T>(deserializer: D) -> Result, D::Error> + where + D: Deserializer<'de>, + T: HexCodec, + ::Error: core::fmt::Debug, + { + let strings = Vec::::deserialize(deserializer)?; + strings + .into_iter() + .map(|s| T::from_hex(s).map_err(|e| serde::de::Error::custom(format!("{:?}", e)))) + .collect() + } +} diff --git a/substrate/frame/revive/src/evm/api/rlp_codec.rs b/substrate/frame/revive/src/evm/api/rlp_codec.rs index ae3c9d1f7009e..89c7ecd055bc4 100644 --- a/substrate/frame/revive/src/evm/api/rlp_codec.rs +++ b/substrate/frame/revive/src/evm/api/rlp_codec.rs @@ -27,23 +27,23 @@ impl TransactionUnsigned { use TransactionUnsigned::*; let mut s = rlp::RlpStream::new(); match self { - Transaction7702Unsigned(ref tx) => { + Transaction7702Unsigned(tx) => { s.append(&tx.r#type.value()); s.append(tx); }, - Transaction2930Unsigned(ref tx) => { + Transaction2930Unsigned(tx) => { s.append(&tx.r#type.value()); s.append(tx); }, - Transaction1559Unsigned(ref tx) => { + Transaction1559Unsigned(tx) => { s.append(&tx.r#type.value()); s.append(tx); }, - Transaction4844Unsigned(ref tx) => { + Transaction4844Unsigned(tx) => { s.append(&tx.r#type.value()); s.append(tx); }, - TransactionLegacyUnsigned(ref tx) => { + TransactionLegacyUnsigned(tx) => { s.append(tx); }, } @@ -62,8 +62,9 @@ impl TransactionSigned { Transaction2930Signed(tx) => Transaction2930Unsigned(tx.transaction_2930_unsigned), Transaction1559Signed(tx) => Transaction1559Unsigned(tx.transaction_1559_unsigned), Transaction4844Signed(tx) => Transaction4844Unsigned(tx.transaction_4844_unsigned), - TransactionLegacySigned(tx) => - TransactionLegacyUnsigned(tx.transaction_legacy_unsigned), + TransactionLegacySigned(tx) => { + TransactionLegacyUnsigned(tx.transaction_legacy_unsigned) + }, } } @@ -72,23 +73,23 @@ impl TransactionSigned { use TransactionSigned::*; let mut s = rlp::RlpStream::new(); match self { - Transaction7702Signed(ref tx) => { + Transaction7702Signed(tx) => { s.append(&tx.transaction_7702_unsigned.r#type.value()); s.append(tx); }, - Transaction2930Signed(ref tx) => { + Transaction2930Signed(tx) => { s.append(&tx.transaction_2930_unsigned.r#type.value()); s.append(tx); }, - Transaction1559Signed(ref tx) => { + Transaction1559Signed(tx) => { s.append(&tx.transaction_1559_unsigned.r#type.value()); s.append(tx); }, - Transaction4844Signed(ref tx) => { + Transaction4844Signed(tx) => { s.append(&tx.transaction_4844_unsigned.r#type.value()); s.append(tx); }, - TransactionLegacySigned(ref tx) => { + TransactionLegacySigned(tx) => { s.append(tx); }, } @@ -166,11 +167,7 @@ impl Decodable for TransactionLegacyUnsigned { gas: rlp.val_at(2)?, to: { let to = rlp.at(3)?; - if to.is_empty() { - None - } else { - Some(to.as_val()?) - } + if to.is_empty() { None } else { Some(to.as_val()?) } }, value: rlp.val_at(4)?, input: Bytes(rlp.val_at(5)?), @@ -295,11 +292,7 @@ impl Decodable for Transaction1559Signed { gas: rlp.val_at(4)?, to: { let to = rlp.at(5)?; - if to.is_empty() { - None - } else { - Some(to.as_val()?) - } + if to.is_empty() { None } else { Some(to.as_val()?) } }, value: rlp.val_at(6)?, input: Bytes(rlp.val_at(7)?), @@ -315,7 +308,7 @@ impl Decodable for Transaction1559Signed { } } -//See https://eips.ethereum.org/EIPS/eip-2930 +// See https://eips.ethereum.org/EIPS/eip-2930 impl Encodable for Transaction2930Unsigned { fn rlp_append(&self, s: &mut rlp::RlpStream) { s.begin_list(8); @@ -333,7 +326,7 @@ impl Encodable for Transaction2930Unsigned { } } -//See https://eips.ethereum.org/EIPS/eip-2930 +// See https://eips.ethereum.org/EIPS/eip-2930 impl Encodable for Transaction2930Signed { fn rlp_append(&self, s: &mut rlp::RlpStream) { let tx = &self.transaction_2930_unsigned; @@ -366,11 +359,7 @@ impl Decodable for Transaction2930Signed { gas: rlp.val_at(3)?, to: { let to = rlp.at(4)?; - if to.is_empty() { - None - } else { - Some(to.as_val()?) - } + if to.is_empty() { None } else { Some(to.as_val()?) } }, value: rlp.val_at(5)?, input: Bytes(rlp.val_at(6)?), @@ -386,7 +375,7 @@ impl Decodable for Transaction2930Signed { } } -//See https://eips.ethereum.org/EIPS/eip-7702 +// See https://eips.ethereum.org/EIPS/eip-7702 impl Encodable for Transaction7702Unsigned { fn rlp_append(&self, s: &mut rlp::RlpStream) { s.begin_list(10); @@ -412,19 +401,18 @@ impl Decodable for Transaction7702Signed { nonce: rlp.val_at(1)?, max_priority_fee_per_gas: rlp.val_at(2)?, max_fee_per_gas: rlp.val_at(3)?, - gas_price: rlp.val_at(4)?, - gas: rlp.val_at(5)?, - to: rlp.val_at(6)?, - value: rlp.val_at(7)?, - input: Bytes(rlp.val_at(8)?), - access_list: rlp.list_at(9)?, - authorization_list: rlp.list_at(10)?, + gas: rlp.val_at(4)?, + to: rlp.val_at(5)?, + value: rlp.val_at(6)?, + input: Bytes(rlp.val_at(7)?), + access_list: rlp.list_at(8)?, + authorization_list: rlp.list_at(9)?, r#type: Default::default(), } }, - y_parity: rlp.val_at(11)?, - r: rlp.val_at(12)?, - s: rlp.val_at(13)?, + y_parity: rlp.val_at(10)?, + r: rlp.val_at(11)?, + s: rlp.val_at(12)?, v: None, }) } @@ -447,7 +435,7 @@ impl Encodable for Transaction4844Unsigned { } } -//See https://eips.ethereum.org/EIPS/eip-7702 +// See https://eips.ethereum.org/EIPS/eip-7702 impl Encodable for Transaction7702Signed { fn rlp_append(&self, s: &mut rlp::RlpStream) { let tx = &self.transaction_7702_unsigned; @@ -468,7 +456,7 @@ impl Encodable for Transaction7702Signed { } } -//See https://eips.ethereum.org/EIPS/eip-4844 +// See https://eips.ethereum.org/EIPS/eip-4844 impl Encodable for Transaction4844Signed { fn rlp_append(&self, s: &mut rlp::RlpStream) { let tx = &self.transaction_4844_unsigned; @@ -522,11 +510,7 @@ impl Decodable for TransactionLegacySigned { let v: U256 = rlp.val_at(6)?; let extract_chain_id = |v: U256| { - if v.ge(&35u32.into()) { - Some((v - 35) / 2) - } else { - None - } + if v.ge(&35u32.into()) { Some((v - 35) / 2) } else { None } }; Ok(TransactionLegacySigned { @@ -537,11 +521,7 @@ impl Decodable for TransactionLegacySigned { gas: rlp.val_at(2)?, to: { let to = rlp.at(3)?; - if to.is_empty() { - None - } else { - Some(to.as_val()?) - } + if to.is_empty() { None } else { Some(to.as_val()?) } }, value: rlp.val_at(4)?, input: Bytes(rlp.val_at(5)?), @@ -580,7 +560,7 @@ mod test { "s": "0x6de6a5cbae13c0c856e33acf021b51819636cfc009d39eafb9f606d546e305a8", "v": "0x25" } - "# + "#, ), // type 1: EIP2930 ( @@ -605,7 +585,7 @@ mod test { "s": "0x6de6a5cbae13c0c856e33acf021b51819636cfc009d39eafb9f606d546e305a8", "yParity": "0x0" } - "# + "#, ), // type 2: EIP1559 ( @@ -633,11 +613,10 @@ mod test { "yParity": "0x0" } - "# + "#, ), // type 3: EIP4844 ( - "03f8bf018002018301e24194095e7baea6a6c7c4c2dfeb977efac326af552d878080f838f7940000000000000000000000000000000000000001e1a0000000000000000000000000000000000000000000000000000000000000000080e1a0000000000000000000000000000000000000000000000000000000000000000080a0fe38ca4e44a30002ac54af7cf922a6ac2ba11b7d22f548e8ecb3f51f41cb31b0a06de6a5cbae13c0c856e33acf021b51819636cfc009d39eafb9f606d546e305a8", r#" { @@ -662,8 +641,8 @@ mod test { "s": "0x6de6a5cbae13c0c856e33acf021b51819636cfc009d39eafb9f606d546e305a8", "yParity": "0x0" } - "# - ) + "#, + ), ]; for (tx, json) in txs { @@ -675,6 +654,43 @@ mod test { } } + #[test] + fn encode_decode_7702_tx_works() { + let tx = TransactionSigned::Transaction7702Signed(Transaction7702Signed { + transaction_7702_unsigned: Transaction7702Unsigned { + chain_id: U256::from(1), + nonce: U256::zero(), + max_priority_fee_per_gas: U256::zero(), + max_fee_per_gas: U256::from(1), + gas: U256::from(0x1e241), + to: "0x095e7baea6a6c7c4c2dfeb977efac326af552d87".parse().unwrap(), + value: U256::zero(), + input: Bytes(vec![]), + access_list: vec![AccessListEntry { + address: H160::from_low_u64_be(1), + storage_keys: vec![H256::zero()], + }], + authorization_list: vec![AuthorizationListEntry { + chain_id: U256::from(1), + address: H160::from_low_u64_be(42), + nonce: U256::zero(), + y_parity: U256::zero(), + r: U256::from(1), + s: U256::from(2), + }], + r#type: TypeEip7702 {}, + }, + y_parity: U256::zero(), + r: U256::from(1), + s: U256::from(2), + v: None, + }); + + let encoded = tx.signed_payload(); + let decoded = TransactionSigned::decode(&encoded).unwrap(); + assert_eq!(tx, decoded); + } + #[test] fn dummy_signed_payload_works() { let tx: TransactionUnsigned = TransactionLegacyUnsigned { @@ -693,4 +709,32 @@ mod test { let payload = Account::default().sign_transaction(tx).signed_payload(); assert_eq!(dummy_signed_payload.len(), payload.len()); } + + #[test] + fn rlp_codec_is_compatible_with_ethereum() { + // RLP encoded transactions + let test_cases = [ + // Legacy + "f86080808301e24194095e7baea6a6c7c4c2dfeb977efac326af552d87808025a0fe38ca4e44a30002ac54af7cf922a6ac2ba11b7d22f548e8ecb3f51f41cb31b0a06de6a5cbae13c0c856e33acf021b51819636cfc009d39eafb9f606d546e305a8", + // EIP-2930 + "01f89b0180808301e24194095e7baea6a6c7c4c2dfeb977efac326af552d878080f838f7940000000000000000000000000000000000000001e1a0000000000000000000000000000000000000000000000000000000000000000080a0fe38ca4e44a30002ac54af7cf922a6ac2ba11b7d22f548e8ecb3f51f41cb31b0a06de6a5cbae13c0c856e33acf021b51819636cfc009d39eafb9f606d546e305a8", + // EIP-1559 + "02f89c018080018301e24194095e7baea6a6c7c4c2dfeb977efac326af552d878080f838f7940000000000000000000000000000000000000001e1a0000000000000000000000000000000000000000000000000000000000000000080a0fe38ca4e44a30002ac54af7cf922a6ac2ba11b7d22f548e8ecb3f51f41cb31b0a06de6a5cbae13c0c856e33acf021b51819636cfc009d39eafb9f606d546e305a8", + // EIP4844 + "03f89783aa36a701832dc6c083fc546c8261a8947f8b1ca29f95274e06367b60fc4a539e4910fd0c865af3107a400080c0831e8480e1a0018fd423d1ad106395f04abac797217d4dece29da3ba649d9aa4da70e98fa6ff80a028d2350a1bfa5043de1533911143eb5c43815a58039121a0ccf124870620fca6a0157eca4963615cd3926538af88e529cfa3baf6c55787a33f79c25babe9f5db2b", + ]; + + for hex_tx in test_cases { + let rlp_encoded_tx = alloy_core::hex::decode(hex_tx).unwrap(); + + // RLP decode using this implementation + let tx_revive = TransactionSigned::decode(&rlp_encoded_tx).unwrap(); + + // RLP encode using this implementation + let rlp_encoded_revive = tx_revive.signed_payload(); + + // Verify round-trip: our encoding should decode back to the same transaction + assert_eq!(rlp_encoded_tx, rlp_encoded_revive); + } + } } diff --git a/substrate/frame/revive/src/evm/api/rpc_types.rs b/substrate/frame/revive/src/evm/api/rpc_types.rs index aa2dd04defcdf..589fdba78200b 100644 --- a/substrate/frame/revive/src/evm/api/rpc_types.rs +++ b/substrate/frame/revive/src/evm/api/rpc_types.rs @@ -390,7 +390,6 @@ impl GenericTransaction { value: self.value.unwrap_or_default(), to: self.to.unwrap_or_default(), gas: self.gas.unwrap_or_default(), - gas_price: self.max_fee_per_gas.unwrap_or_default(), max_fee_per_gas: self.max_fee_per_gas.unwrap_or_default(), max_priority_fee_per_gas: self.max_priority_fee_per_gas.unwrap_or_default(), access_list: self.access_list.unwrap_or_default(), @@ -456,7 +455,6 @@ fn from_unsigned_works_for_7702() { value: U256::from(1), to: H160::zero(), gas: U256::from(1), - gas_price: U256::from(20), max_fee_per_gas: U256::from(20), max_priority_fee_per_gas: U256::from(1), authorization_list: vec![AuthorizationListEntry { diff --git a/substrate/frame/revive/src/evm/api/rpc_types_gen.rs b/substrate/frame/revive/src/evm/api/rpc_types_gen.rs index c3260b3877586..fcd1be75c8930 100644 --- a/substrate/frame/revive/src/evm/api/rpc_types_gen.rs +++ b/substrate/frame/revive/src/evm/api/rpc_types_gen.rs @@ -17,13 +17,13 @@ //! Generated JSON-RPC types. #![allow(missing_docs)] -use super::{byte::*, TypeEip1559, TypeEip2930, TypeEip4844, TypeEip7702, TypeLegacy}; +use super::{TypeEip1559, TypeEip2930, TypeEip4844, TypeEip7702, TypeLegacy, byte::*}; use alloc::vec::Vec; use codec::{Decode, DecodeWithMemTracking, Encode}; use derive_more::{From, TryInto}; pub use ethereum_types::*; use scale_info::TypeInfo; -use serde::{de::Error, Deserialize, Deserializer, Serialize}; +use serde::{Deserialize, Deserializer, Serialize, de::Error}; /// Input of a `GenericTransaction` #[derive( @@ -67,10 +67,13 @@ impl InputOrData { fn deserialize_input_or_data<'d, D: Deserializer<'d>>(d: D) -> Result { let value = InputOrData::deserialize(d)?; match &value { - InputOrData { input: Some(input), data: Some(data) } if input != data => - Err(serde::de::Error::custom("Both \"data\" and \"input\" are set and not equal. Please use \"input\" to pass transaction call data")), - _ => Ok(value), - } + InputOrData { input: Some(input), data: Some(data) } if input != data => { + Err(serde::de::Error::custom( + "Both \"data\" and \"input\" are set and not equal. Please use \"input\" to pass transaction call data", + )) + }, + _ => Ok(value), + } } /// Block object @@ -200,11 +203,13 @@ impl<'a> serde::Deserialize<'a> for BlockNumberOrTagOrHash { BlockNumberOrTagOrHash::BlockNumber(val.into()) }, - BlockNumberOrTagOrHashWithAlias::NestedBlockNumber { block_number: val } => - BlockNumberOrTagOrHash::BlockNumber(val), + BlockNumberOrTagOrHashWithAlias::NestedBlockNumber { block_number: val } => { + BlockNumberOrTagOrHash::BlockNumber(val) + }, BlockNumberOrTagOrHashWithAlias::BlockHash(val) | - BlockNumberOrTagOrHashWithAlias::NestedBlockHash { block_hash: val } => - BlockNumberOrTagOrHash::BlockHash(val), + BlockNumberOrTagOrHashWithAlias::NestedBlockHash { block_hash: val } => { + BlockNumberOrTagOrHash::BlockHash(val) + }, }) } } @@ -544,8 +549,9 @@ impl HashesOrTransactionInfos { pub fn contains_tx(&self, hash: H256) -> bool { match self { HashesOrTransactionInfos::Hashes(hashes) => hashes.iter().any(|h256| *h256 == hash), - HashesOrTransactionInfos::TransactionInfos(transaction_infos) => - transaction_infos.iter().any(|ti| ti.hash == hash), + HashesOrTransactionInfos::TransactionInfos(transaction_infos) => { + transaction_infos.iter().any(|ti| ti.hash == hash) + }, } } } @@ -793,11 +799,6 @@ pub struct Transaction7702Unsigned { pub chain_id: U256, /// gas limit pub gas: U256, - /// gas price - /// The effective gas price paid by the sender in wei. For transactions not yet included in a - /// block, this value should be set equal to the max fee per gas. This field is DEPRECATED, - /// please transition to using effectiveGasPrice in the receipt object going forward. - pub gas_price: U256, /// input data pub input: Bytes, /// max fee per gas diff --git a/substrate/frame/revive/src/evm/api/signature.rs b/substrate/frame/revive/src/evm/api/signature.rs index 21cb943385b6a..9d148fd5fe02a 100644 --- a/substrate/frame/revive/src/evm/api/signature.rs +++ b/substrate/frame/revive/src/evm/api/signature.rs @@ -40,16 +40,21 @@ impl TransactionUnsigned { /// Extract the unsigned transaction from a signed transaction. pub fn from_signed(tx: TransactionSigned) -> Self { match tx { - TransactionSigned::TransactionLegacySigned(signed) => - Self::TransactionLegacyUnsigned(signed.transaction_legacy_unsigned), - TransactionSigned::Transaction7702Signed(signed) => - Self::Transaction7702Unsigned(signed.transaction_7702_unsigned), - TransactionSigned::Transaction4844Signed(signed) => - Self::Transaction4844Unsigned(signed.transaction_4844_unsigned), - TransactionSigned::Transaction1559Signed(signed) => - Self::Transaction1559Unsigned(signed.transaction_1559_unsigned), - TransactionSigned::Transaction2930Signed(signed) => - Self::Transaction2930Unsigned(signed.transaction_2930_unsigned), + TransactionSigned::TransactionLegacySigned(signed) => { + Self::TransactionLegacyUnsigned(signed.transaction_legacy_unsigned) + }, + TransactionSigned::Transaction7702Signed(signed) => { + Self::Transaction7702Unsigned(signed.transaction_7702_unsigned) + }, + TransactionSigned::Transaction4844Signed(signed) => { + Self::Transaction4844Unsigned(signed.transaction_4844_unsigned) + }, + TransactionSigned::Transaction1559Signed(signed) => { + Self::Transaction1559Unsigned(signed.transaction_1559_unsigned) + }, + TransactionSigned::Transaction2930Signed(signed) => { + Self::Transaction2930Unsigned(signed.transaction_2930_unsigned) + }, } } @@ -60,7 +65,7 @@ impl TransactionUnsigned { let recovery_id = signature[64]; match self { - TransactionUnsigned::Transaction7702Unsigned(transaction_7702_unsigned) => + TransactionUnsigned::Transaction7702Unsigned(transaction_7702_unsigned) => { Transaction7702Signed { transaction_7702_unsigned, r, @@ -68,8 +73,9 @@ impl TransactionUnsigned { v: None, y_parity: U256::from(recovery_id), } - .into(), - TransactionUnsigned::Transaction2930Unsigned(transaction_2930_unsigned) => + .into() + }, + TransactionUnsigned::Transaction2930Unsigned(transaction_2930_unsigned) => { Transaction2930Signed { transaction_2930_unsigned, r, @@ -77,8 +83,9 @@ impl TransactionUnsigned { v: None, y_parity: U256::from(recovery_id), } - .into(), - TransactionUnsigned::Transaction1559Unsigned(transaction_1559_unsigned) => + .into() + }, + TransactionUnsigned::Transaction1559Unsigned(transaction_1559_unsigned) => { Transaction1559Signed { transaction_1559_unsigned, r, @@ -86,16 +93,18 @@ impl TransactionUnsigned { v: None, y_parity: U256::from(recovery_id), } - .into(), + .into() + }, - TransactionUnsigned::Transaction4844Unsigned(transaction_4844_unsigned) => + TransactionUnsigned::Transaction4844Unsigned(transaction_4844_unsigned) => { Transaction4844Signed { transaction_4844_unsigned, r, s, y_parity: U256::from(recovery_id), } - .into(), + .into() + }, TransactionUnsigned::TransactionLegacyUnsigned(transaction_legacy_unsigned) => { let v = transaction_legacy_unsigned diff --git a/substrate/frame/revive/src/evm/api/type_id.rs b/substrate/frame/revive/src/evm/api/type_id.rs index b055cb59dbe1b..01e0948b3badb 100644 --- a/substrate/frame/revive/src/evm/api/type_id.rs +++ b/substrate/frame/revive/src/evm/api/type_id.rs @@ -49,11 +49,7 @@ macro_rules! transaction_type { /// Try to convert from Byte pub fn try_from_byte(byte: Byte) -> Result { - if byte.0 == $value { - Ok(Self {}) - } else { - Err(byte) - } + if byte.0 == $value { Ok(Self {}) } else { Err(byte) } } } diff --git a/substrate/frame/revive/src/evm/block_hash.rs b/substrate/frame/revive/src/evm/block_hash.rs index af35d12f2ea10..1ec1602ceefee 100644 --- a/substrate/frame/revive/src/evm/block_hash.rs +++ b/substrate/frame/revive/src/evm/block_hash.rs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -//!Types, and traits to integrate pallet-revive with EVM. +//! Types, and traits to integrate pallet-revive with EVM. #![warn(missing_docs)] mod receipt; @@ -30,7 +30,7 @@ pub use block_builder::{EthereumBlockBuilder, EthereumBlockBuilderIR}; use crate::evm::Block; use alloc::vec::Vec; -use alloy_core::primitives::{bytes::BufMut, B256}; +use alloy_core::primitives::{B256, bytes::BufMut}; use codec::{Decode, Encode}; use scale_info::TypeInfo; diff --git a/substrate/frame/revive/src/evm/block_hash/block_builder.rs b/substrate/frame/revive/src/evm/block_hash/block_builder.rs index 1d6a0a1e08e01..b90f850cd27c1 100644 --- a/substrate/frame/revive/src/evm/block_hash/block_builder.rs +++ b/substrate/frame/revive/src/evm/block_hash/block_builder.rs @@ -18,14 +18,14 @@ //! Ethereum block builder. use crate::{ + Config, Pallet, ReceiptGasInfo, evm::{ + Block, HashesOrTransactionInfos, TYPE_EIP1559, TYPE_EIP2930, TYPE_EIP4844, TYPE_EIP7702, block_hash::{ - receipt::BLOOM_SIZE_BYTES, AccumulateReceipt, BuilderPhase, IncrementalHashBuilder, - IncrementalHashBuilderIR, LogsBloom, + AccumulateReceipt, BuilderPhase, IncrementalHashBuilder, IncrementalHashBuilderIR, + LogsBloom, receipt::BLOOM_SIZE_BYTES, }, - Block, HashesOrTransactionInfos, TYPE_EIP1559, TYPE_EIP2930, TYPE_EIP4844, TYPE_EIP7702, }, - Config, Pallet, ReceiptGasInfo, }; use alloc::{vec, vec::Vec}; @@ -34,7 +34,7 @@ use codec::{Decode, Encode}; use frame_support::traits::Time; use scale_info::TypeInfo; use sp_arithmetic::traits::Saturating; -use sp_core::{keccak_256, H160, H256, U256}; +use sp_core::{H160, H256, U256, keccak_256}; use sp_runtime::traits::{One, Zero}; const LOG_TARGET: &str = "runtime::revive::block_builder"; @@ -169,7 +169,14 @@ impl EthereumBlockBuilder { let block_author = Pallet::::block_author(); let eth_block_num: U256 = block_number.into(); - self.build_block_with_params(eth_block_num, parent_hash, timestamp, block_author) + self.build_block_with_params( + eth_block_num, + self.base_fee_per_gas, + parent_hash, + timestamp, + block_author, + self.block_gas_limit, + ) } /// Build the ethereum block from provided parameters. @@ -177,9 +184,11 @@ impl EthereumBlockBuilder { fn build_block_with_params( &mut self, block_number: U256, + base_fee_per_gas: U256, parent_hash: H256, timestamp: U256, block_author: H160, + block_gas_limit: U256, ) -> (Block, Vec) { if self.transaction_root_builder.needs_first_value(BuilderPhase::Build) { if let Some((first_tx, first_receipt)) = self.pallet_take_first_values() { @@ -209,8 +218,8 @@ impl EthereumBlockBuilder { transactions_root, receipts_root, - gas_limit: self.block_gas_limit, - base_fee_per_gas: self.base_fee_per_gas, + gas_limit: block_gas_limit, + base_fee_per_gas, gas_used: self.gas_used, logs_bloom: self.logs_bloom.bloom.into(), @@ -393,141 +402,154 @@ mod test { #[test] fn ensure_identical_hashes() { - // curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x161bd0f", true],"id":1}' -H "Content-Type: application/json" https://ethereum-rpc.publicnode.com | jq .result - const BLOCK_PATH: &str = "./test-assets/eth_block.json"; - // curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockReceipts","params":["0x161bd0f"],"id":1}' -H "Content-Type: application/json" https://ethereum-rpc.publicnode.com | jq .result - const BLOCK_RECEIPTS: &str = "./test-assets/eth_receipts.json"; - - let json = std::fs::read_to_string(BLOCK_PATH).unwrap(); - let block: Block = serde_json::from_str(&json).unwrap(); - - let json = std::fs::read_to_string(BLOCK_RECEIPTS).unwrap(); - let receipts: Vec = serde_json::from_str(&json).unwrap(); - - assert_eq!(block.header_hash(), receipts[0].block_hash); - - let tx = match &block.transactions { - HashesOrTransactionInfos::TransactionInfos(infos) => infos.clone(), - _ => panic!("Expected full tx body"), - }; - - let encoded_tx: Vec<_> = tx - .clone() - .into_iter() - .map(|tx| tx.transaction_signed.signed_payload()) - .collect(); - - let transaction_details: Vec<_> = tx - .into_iter() - .zip(receipts.into_iter()) - .map(|(tx_info, receipt_info)| { - if tx_info.transaction_index != receipt_info.transaction_index { - panic!("Transaction and receipt index do not match"); + // Test data files collected with ./test-assets/get_test_data.sh + let test_data = [ + ( + "./test-assets/block_0x161bd0f_ethereum-mainnet.json", + "./test-assets/receipts_0x161bd0f_ethereum-mainnet.json", + ), + ( + "./test-assets/block_0x151241d_ethereum-mainnet.json", + "./test-assets/receipts_0x151241d_ethereum-mainnet.json", + ), + ( + "./test-assets/block_0x874db3_ethereum-sepolia.json", + "./test-assets/receipts_0x874db3_ethereum-sepolia.json", + ), + ]; + + for (block_path, receipts_path) in test_data { + let json = std::fs::read_to_string(block_path).unwrap(); + let block: Block = serde_json::from_str(&json).unwrap(); + + let json = std::fs::read_to_string(receipts_path).unwrap(); + let receipts: Vec = serde_json::from_str(&json).unwrap(); + + assert_eq!(block.header_hash(), receipts[0].block_hash); + + let tx = match &block.transactions { + HashesOrTransactionInfos::TransactionInfos(infos) => infos.clone(), + _ => panic!("Expected full tx body"), + }; + + let encoded_tx: Vec<_> = tx + .clone() + .into_iter() + .map(|tx| tx.transaction_signed.signed_payload()) + .collect(); + + let transaction_details: Vec<_> = tx + .into_iter() + .zip(receipts.into_iter()) + .map(|(tx_info, receipt_info)| { + if tx_info.transaction_index != receipt_info.transaction_index { + panic!("Transaction and receipt index do not match"); + } + + let logs: Vec<_> = receipt_info + .logs + .into_iter() + .map(|log| (log.address, log.data.unwrap_or_default().0, log.topics)) + .collect(); + + ( + tx_info.transaction_signed.signed_payload(), + logs, + receipt_info.status.unwrap_or_default() == 1.into(), + receipt_info.gas_used, + receipt_info.effective_gas_price, + ) + }) + .collect(); + + ExtBuilder::default().build().execute_with(|| { + // Build the ethereum block incrementally. + let mut incremental_block = EthereumBlockBuilder::::default(); + for (signed, logs, success, gas_used, effective_gas_price) in transaction_details { + let mut log_size = 0; + + let mut accumulate_receipt = AccumulateReceipt::new(); + for (address, data, topics) in &logs { + let current_size = data.len() + topics.len() * 32 + 20; + log_size += current_size; + accumulate_receipt.add_log(address, data, topics); + } + + incremental_block.process_transaction( + signed, + success, + ReceiptGasInfo { gas_used, effective_gas_price }, + accumulate_receipt.encoding, + accumulate_receipt.bloom, + ); + + let ir = incremental_block.to_ir(); + incremental_block = EthereumBlockBuilder::from_ir(ir); + log::trace!(target: LOG_TARGET, " Log size {:?}", log_size); } - let logs: Vec<_> = receipt_info - .logs - .into_iter() - .map(|log| (log.address, log.data.unwrap_or_default().0, log.topics)) - .collect(); - - ( - tx_info.transaction_signed.signed_payload(), - logs, - receipt_info.status.unwrap_or_default() == 1.into(), - ReceiptGasInfo { - gas_used: receipt_info.gas_used, - effective_gas_price: receipt_info.effective_gas_price, - }, - ) - }) - .collect(); - - ExtBuilder::default().build().execute_with(|| { - // Build the ethereum block incrementally. - let mut incremental_block = EthereumBlockBuilder::::default(); - for (signed, logs, success, receipt_gas_info) in transaction_details { - let mut log_size = 0; - - let mut accumulate_receipt = AccumulateReceipt::new(); - for (address, data, topics) in &logs { - let current_size = data.len() + topics.len() * 32 + 20; - log_size += current_size; - accumulate_receipt.add_log(address, data, topics); + // The block hash would differ here because we don't take into account + // the ommers and other fields from the substrate perspective. + // However, the state roots must be identical. + let built_block = incremental_block + .build_block_with_params( + block.number, + block.base_fee_per_gas, + block.parent_hash, + block.timestamp, + block.miner, + block.gas_limit, + ) + .0; + + assert_eq!(built_block.gas_used, block.gas_used); + assert_eq!(built_block.logs_bloom, block.logs_bloom); + // We are using the tx root for state root. + assert_eq!(built_block.state_root, built_block.transactions_root); + + // Double check the receipts roots. + assert_eq!(built_block.receipts_root, block.receipts_root); + + let manual_hash = manual_trie_root_compute(encoded_tx.clone()); + + let mut total_size = 0; + for enc in &encoded_tx { + total_size += enc.len(); } + log::trace!(target: LOG_TARGET, "Total size used by transactions: {:?}", total_size); + + let mut builder = IncrementalHashBuilder::default(); + let mut loaded = false; + for tx in encoded_tx.iter().skip(1) { + if builder.needs_first_value(BuilderPhase::ProcessingValue) { + loaded = true; + let first_tx = encoded_tx[0].clone(); + builder.set_first_value(first_tx); + } + builder.add_value(tx.clone()) + } + if !loaded { + // Not loaded, therefore the first value must be set now. + assert!(builder.needs_first_value(BuilderPhase::Build)); - incremental_block.process_transaction( - signed, - success, - receipt_gas_info, - accumulate_receipt.encoding, - accumulate_receipt.bloom, - ); - - let ir = incremental_block.to_ir(); - incremental_block = EthereumBlockBuilder::from_ir(ir); - log::debug!(target: LOG_TARGET, " Log size {log_size:?}"); - } - - // The block hash would differ here because we don't take into account - // the ommers and other fields from the substrate perspective. - // However, the state roots must be identical. - let built_block = incremental_block - .build_block_with_params( - block.number, - block.parent_hash, - block.timestamp, - block.miner, - ) - .0; - - assert_eq!(built_block.gas_used, block.gas_used); - assert_eq!(built_block.logs_bloom, block.logs_bloom); - // We are using the tx root for state root. - assert_eq!(built_block.state_root, built_block.transactions_root); - - // Double check the receipts roots. - assert_eq!(built_block.receipts_root, block.receipts_root); - - let manual_hash = manual_trie_root_compute(encoded_tx.clone()); - - let mut total_size = 0; - for enc in &encoded_tx { - total_size += enc.len(); - } - log::debug!(target: LOG_TARGET, "Total size used by transactions: {:?}", total_size); - - let mut builder = IncrementalHashBuilder::default(); - let mut loaded = false; - for tx in encoded_tx.iter().skip(1) { - if builder.needs_first_value(BuilderPhase::ProcessingValue) { - loaded = true; let first_tx = encoded_tx[0].clone(); builder.set_first_value(first_tx); } - builder.add_value(tx.clone()) - } - if !loaded { - // Not loaded, therefore the first value must be set now. - assert!(builder.needs_first_value(BuilderPhase::Build)); - - let first_tx = encoded_tx[0].clone(); - builder.set_first_value(first_tx); - } - let incremental_hash = builder.finish(); + let incremental_hash = builder.finish(); - log::debug!(target: LOG_TARGET, "Incremental hash: {incremental_hash:?}"); - log::debug!(target: LOG_TARGET, "Manual Hash: {manual_hash:?}"); - log::debug!(target: LOG_TARGET, "Built block Hash: {:?}", built_block.transactions_root); - log::debug!(target: LOG_TARGET, "Real Block Tx Hash: {:?}", block.transactions_root); + log::trace!(target: LOG_TARGET, "Incremental hash: {:?}", incremental_hash); + log::trace!(target: LOG_TARGET, "Manual Hash: {:?}", manual_hash); + log::trace!(target: LOG_TARGET, "Built block Hash: {:?}", built_block.transactions_root); + log::trace!(target: LOG_TARGET, "Real Block Tx Hash: {:?}", block.transactions_root); - assert_eq!(incremental_hash, block.transactions_root); + assert_eq!(incremental_hash, block.transactions_root); - // This double checks the compute logic. - assert_eq!(manual_hash, block.transactions_root); - // This ensures we can compute the same transaction root as Ethereum. - assert_eq!(block.transactions_root, built_block.transactions_root); - }); + // This double checks the compute logic. + assert_eq!(manual_hash, block.transactions_root); + // This ensures we can compute the same transaction root as Ethereum. + assert_eq!(block.transactions_root, built_block.transactions_root); + }); + } } } diff --git a/substrate/frame/revive/src/evm/block_hash/hash_builder.rs b/substrate/frame/revive/src/evm/block_hash/hash_builder.rs index 3376629d2eb55..169e367ac2343 100644 --- a/substrate/frame/revive/src/evm/block_hash/hash_builder.rs +++ b/substrate/frame/revive/src/evm/block_hash/hash_builder.rs @@ -20,9 +20,9 @@ use alloc::vec::Vec; use alloy_core::rlp; use alloy_trie::{ + HashBuilder, Nibbles, TrieMask, hash_builder::{HashBuilderValue, HashBuilderValueRef}, nodes::RlpNode, - HashBuilder, Nibbles, TrieMask, }; use codec::{Decode, Encode}; use sp_core::H256; @@ -315,7 +315,7 @@ impl IncrementalHashBuilder { #[cfg(test)] fn process_stats(&mut self, data_len: usize, index: u64) { if self.stats.is_none() { - return + return; } let hb_current_size = self.calculate_current_size(); diff --git a/substrate/frame/revive/src/evm/block_hash/receipt.rs b/substrate/frame/revive/src/evm/block_hash/receipt.rs index 29812cc5c0573..c690112c08a5d 100644 --- a/substrate/frame/revive/src/evm/block_hash/receipt.rs +++ b/substrate/frame/revive/src/evm/block_hash/receipt.rs @@ -19,7 +19,7 @@ use alloc::vec::Vec; use alloy_core::rlp; -use sp_core::{keccak_256, H160, H256}; +use sp_core::{H160, H256, keccak_256}; /// Number of bytes that a bloom stores. pub const BLOOM_SIZE_BYTES: usize = 256; diff --git a/substrate/frame/revive/src/evm/block_storage.rs b/substrate/frame/revive/src/evm/block_storage.rs index cafc76a8e413c..270dd95f41912 100644 --- a/substrate/frame/revive/src/evm/block_storage.rs +++ b/substrate/frame/revive/src/evm/block_storage.rs @@ -15,7 +15,9 @@ // See the License for the specific language governing permissions and // limitations under the License. use crate::{ - dispatch_result, + AccountIdOf, BalanceOf, BalanceWithDust, BlockHash, BlockNumberFor, Config, ContractResult, + Error, EthBlockBuilderIR, EthereumBlock, Event, ExecReturnValue, H160, H256, LOG_TARGET, + Pallet, ReceiptGasInfo, ReceiptInfoData, StorageDeposit, Weight, dispatch_result, evm::{ block_hash::{AccumulateReceipt, EthereumBlockBuilder, LogsBloom}, burn_with_dust, @@ -24,9 +26,6 @@ use crate::{ limits, sp_runtime::traits::{One, Zero}, weights::WeightInfo, - AccountIdOf, BalanceOf, BalanceWithDust, BlockHash, BlockNumberFor, Config, ContractResult, - Error, EthBlockBuilderIR, EthereumBlock, Event, ExecReturnValue, Pallet, ReceiptGasInfo, - ReceiptInfoData, StorageDeposit, Weight, H160, H256, LOG_TARGET, }; use alloc::vec::Vec; use environmental::environmental; @@ -70,26 +69,28 @@ impl EthereumCallResult { pub(crate) fn new( signer: AccountIdOf, mut output: ContractResult>, - base_call_weight: Weight, + mut base_call_weight: Weight, encoded_len: u32, info: &DispatchInfo, effective_gas_price: U256, ) -> Self { let effective_gas_price = effective_gas_price.max(Pallet::::evm_base_fee()); - if let Ok(retval) = &output.result { - if retval.did_revert() { - output.result = Err(>::ContractReverted.into()); - } + if let Ok(retval) = &output.result && + retval.did_revert() + { + output.result = Err(>::ContractReverted.into()); } // Refund pre-charged revert event weight if the call succeeds. if output.result.is_ok() { - output - .weight_consumed - .saturating_reduce(T::WeightInfo::deposit_eth_extrinsic_revert_event()) + base_call_weight.saturating_reduce(T::WeightInfo::deposit_eth_extrinsic_revert_event()) } + crate::if_tracing(|tracer| { + tracer.dispatch_result(base_call_weight, output.weight_consumed); + }); + let result = dispatch_result(output.result, output.weight_consumed, base_call_weight); let native_fee = T::FeeInfo::compute_actual_fee(encoded_len, &info, &result); let result = T::FeeInfo::ensure_not_overdrawn(native_fee, result); @@ -158,8 +159,9 @@ pub fn with_ethereum_context( with_transaction(|| -> TransactionOutcome> { let EthereumCallResult { receipt_gas_info, result } = call(); match result { - Ok(post_info) => - TransactionOutcome::Commit(Ok((None, receipt_gas_info, post_info))), + Ok(post_info) => { + TransactionOutcome::Commit(Ok((None, receipt_gas_info, post_info))) + }, Err(err) => TransactionOutcome::Rollback(Ok(( Some(err.error), receipt_gas_info, diff --git a/substrate/frame/revive/src/evm/call.rs b/substrate/frame/revive/src/evm/call.rs index 6bdb294b579b1..0a3db8a366737 100644 --- a/substrate/frame/revive/src/evm/call.rs +++ b/substrate/frame/revive/src/evm/call.rs @@ -18,18 +18,20 @@ //! Functionality to decode an eth transaction into an dispatchable call. use crate::{ + BalanceOf, CallOf, Config, GenericTransaction, LOG_TARGET, Pallet, RUNTIME_PALLETS_ADDR, + Weight, Zero, evm::{ - fees::{compute_max_integer_quotient, InfoT}, + TYPE_LEGACY, + fees::{InfoT, compute_max_integer_quotient}, runtime::SetWeightLimit, }, - extract_code_and_data, BalanceOf, CallOf, Config, GenericTransaction, Pallet, Weight, Zero, - LOG_TARGET, RUNTIME_PALLETS_ADDR, + extract_code_and_data, }; use alloc::{boxed::Box, vec::Vec}; use codec::DecodeLimit; use frame_support::MAX_EXTRINSIC_DEPTH; use sp_core::{Get, U256}; -use sp_runtime::{transaction_validity::InvalidTransaction, SaturatedConversion}; +use sp_runtime::{SaturatedConversion, transaction_validity::InvalidTransaction}; /// Result of decoding an eth transaction into a dispatchable call. pub struct CallInfo { @@ -69,6 +71,28 @@ impl GenericTransaction { let is_dry_run = matches!(mode, CreateCallMode::DryRun); let base_fee = >::evm_base_fee(); + // We would like to allow for transactions without a chain id to be executed through pallet + // revive. These are called unprotected transactions and they are transactions that predate + // EIP-155 which do not include a Chain ID. These transactions are still useful today in + // certain patterns in Ethereum such as "Nick's Method" for contract deployment which + // allows a contract to be deployed on all chains with the same address. This is only + // allowed for legacy transactions and isn't allowed for any other transaction type. + // * Here's a relevant EIP: https://eips.ethereum.org/EIPS/eip-2470 + // * Here's Nick's article: https://weka.medium.com/how-to-send-ether-to-11-440-people-187e332566b7 + match (self.chain_id, self.r#type.as_ref()) { + (None, Some(super::Byte(TYPE_LEGACY))) => {}, + (Some(chain_id), ..) => { + if chain_id != ::ChainId::get().into() { + log::debug!(target: LOG_TARGET, "Invalid chain_id {chain_id:?}"); + return Err(InvalidTransaction::Call); + } + }, + (None, ..) => { + log::debug!(target: LOG_TARGET, "Invalid chain_id None"); + return Err(InvalidTransaction::Call); + }, + } + let Some(gas) = self.gas else { log::debug!(target: LOG_TARGET, "No gas provided"); return Err(InvalidTransaction::Call); @@ -82,13 +106,6 @@ impl GenericTransaction { return Err(InvalidTransaction::Payment); }; - let chain_id = self.chain_id.unwrap_or_default(); - - if chain_id != ::ChainId::get().into() { - log::debug!(target: LOG_TARGET, "Invalid chain_id {chain_id:?}"); - return Err(InvalidTransaction::Call); - } - if effective_gas_price < base_fee { log::debug!( target: LOG_TARGET, @@ -134,7 +151,7 @@ impl GenericTransaction { if !value.is_zero() { log::debug!(target: LOG_TARGET, "Runtime pallets address cannot be called with value"); - return Err(InvalidTransaction::Call) + return Err(InvalidTransaction::Call); } crate::Call::eth_substrate_call:: { call: Box::new(call), transaction_encoded } @@ -226,9 +243,9 @@ impl GenericTransaction { // the leftover we make available to the deposit collection system let storage_deposit = eth_fee.checked_sub(tx_fee.into()).ok_or_else(|| { - log::error!(target: LOG_TARGET, "The eth_fee={eth_fee:?} is smaller than the tx_fee={tx_fee:?}. This is a bug."); - InvalidTransaction::Payment - })?.saturated_into(); + log::error!(target: LOG_TARGET, "The eth_fee={eth_fee:?} is smaller than the tx_fee={tx_fee:?}. This is a bug."); + InvalidTransaction::Payment + })?.saturated_into(); Ok(CallInfo { call, diff --git a/substrate/frame/revive/src/evm/fees.rs b/substrate/frame/revive/src/evm/fees.rs index 4722d333d596d..8d586d226eeb1 100644 --- a/substrate/frame/revive/src/evm/fees.rs +++ b/substrate/frame/revive/src/evm/fees.rs @@ -18,19 +18,19 @@ //! Contains the fee types that need to be configured for `pallet-transaction-payment`. use crate::{ + BalanceOf, CallOf, Config, DispatchErrorWithPostInfo, DispatchResultWithPostInfo, Error, + LOG_TARGET, PostDispatchInfo, evm::{ - runtime::{EthExtra, SetWeightLimit}, OnChargeTransactionBalanceOf, + runtime::{EthExtra, SetWeightLimit}, }, - BalanceOf, CallOf, Config, DispatchErrorWithPostInfo, DispatchResultWithPostInfo, Error, - PostDispatchInfo, LOG_TARGET, }; use codec::Encode; use core::marker::PhantomData; use frame_support::{ dispatch::{DispatchClass, DispatchInfo, GetDispatchInfo}, pallet_prelude::Weight, - traits::{fungible::Credit, Get, SuppressedDrop}, + traits::{Get, SuppressedDrop, fungible::Credit, tokens::Balance}, weights::WeightToFee, }; use frame_system::Config as SysConfig; @@ -40,11 +40,11 @@ use pallet_transaction_payment::{ }; use sp_arithmetic::{FixedPointOperand, SignedRounding}; use sp_runtime::{ + FixedPointNumber, FixedU128, SaturatedConversion, Saturating, generic::UncheckedExtrinsic, traits::{ Block as BlockT, Dispatchable, ExtensionPostDispatchWeightHandler, TransactionExtension, }, - FixedPointNumber, FixedU128, SaturatedConversion, Saturating, }; type CreditOf = Credit<::AccountId, ::Currency>; @@ -60,7 +60,7 @@ type CreditOf = Credit<::AccountId, : /// # Panics /// /// If either `P` or `Q` is zero. -pub struct BlockRatioFee(PhantomData); +pub struct BlockRatioFee(PhantomData<(T, B)>); /// The only [`InfoT`] implementation valid for [`Config::FeeInfo`]. /// @@ -174,7 +174,7 @@ pub trait InfoT: seal::Sealed { } } -impl BlockRatioFee { +impl BlockRatioFee { const REF_TIME_TO_FEE: FixedU128 = { assert!(P > 0 && Q > 0); FixedU128::from_rational(P, Q) @@ -182,21 +182,25 @@ impl BlockRatioFee { /// The proof_size to fee coefficient. fn proof_size_to_fee() -> FixedU128 { - let max_weight = ::BlockWeights::get().max_block; + let max_weight = ::BlockWeights::get().max_block; let ratio = FixedU128::from_rational(max_weight.ref_time().into(), max_weight.proof_size().into()); Self::REF_TIME_TO_FEE.saturating_mul(ratio) } } -impl WeightToFee for BlockRatioFee { - type Balance = BalanceOf; +impl WeightToFee for BlockRatioFee +where + T: SysConfig, + B: Balance, +{ + type Balance = B; fn weight_to_fee(weight: &Weight) -> Self::Balance { let ref_time_fee = Self::REF_TIME_TO_FEE - .saturating_mul_int(BalanceOf::::saturated_from(weight.ref_time())); + .saturating_mul_int(Self::Balance::saturated_from(weight.ref_time())); let proof_size_fee = Self::proof_size_to_fee() - .saturating_mul_int(BalanceOf::::saturated_from(weight.proof_size())); + .saturating_mul_int(Self::Balance::saturated_from(weight.proof_size())); ref_time_fee.max(proof_size_fee) } } @@ -204,7 +208,7 @@ impl WeightToFee for BlockRatioFee InfoT for Info where - E::Config: TxConfig>, + E::Config: TxConfig>>, BalanceOf: From>, ::RuntimeCall: Dispatchable, diff --git a/substrate/frame/revive/src/evm/runtime.rs b/substrate/frame/revive/src/evm/runtime.rs index 4da3b4c99d4cd..630cc492df727 100644 --- a/substrate/frame/revive/src/evm/runtime.rs +++ b/substrate/frame/revive/src/evm/runtime.rs @@ -16,33 +16,33 @@ // limitations under the License. //! Runtime types for integrating `pallet-revive` with the EVM. use crate::{ + AccountIdOf, AddressMapper, BalanceOf, CallOf, Config, LOG_TARGET, Pallet, Zero, evm::{ + CreateCallMode, api::{GenericTransaction, TransactionSigned}, fees::InfoT, - CreateCallMode, }, - AccountIdOf, AddressMapper, BalanceOf, CallOf, Config, Pallet, Zero, LOG_TARGET, }; use codec::{Decode, DecodeWithMemTracking, Encode}; use frame_support::{ dispatch::{DispatchInfo, GetDispatchInfo}, traits::{ + InherentBuilder, IsSubType, SignedTransactionBuilder, fungible::Balanced, tokens::{Fortitude, Precision, Preservation}, - InherentBuilder, IsSubType, SignedTransactionBuilder, }, }; use pallet_transaction_payment::Config as TxConfig; use scale_info::{StaticTypeInfo, TypeInfo}; use sp_core::U256; use sp_runtime::{ + Debug, OpaqueExtrinsic, Weight, generic::{self, CheckedExtrinsic, ExtrinsicFormat}, traits::{ Checkable, ExtrinsicCall, ExtrinsicLike, ExtrinsicMetadata, LazyExtrinsic, TransactionExtension, }, transaction_validity::{InvalidTransaction, TransactionValidityError}, - Debug, OpaqueExtrinsic, Weight, }; /// Used to set the weight limit argument of a `eth_call` or `eth_instantiate_with_code` call. @@ -128,17 +128,22 @@ where // required by Checkable for `generic::UncheckedExtrinsic` generic::UncheckedExtrinsic, Signature, E::Extension>: Checkable< - Lookup, - Checked = CheckedExtrinsic, CallOf, E::Extension>, - >, + Lookup, + Checked = CheckedExtrinsic, CallOf, E::Extension>, + >, { type Checked = CheckedExtrinsic, CallOf, E::Extension>; fn check(self, lookup: &Lookup) -> Result { if !self.0.is_signed() { if let Some(crate::Call::eth_transact { payload }) = self.0.function.is_sub_type() { + log::trace!( + target: LOG_TARGET, + "eth_transact substrate tx hash: 0x{}", + sp_core::hexdisplay::HexDisplay::from(&sp_core::hashing::blake2_256(&self.encode())), + ); let checked = E::try_into_checked_extrinsic(payload, self.encoded_size())?; - return Ok(checked) + return Ok(checked); }; } self.0.check(lookup) @@ -367,12 +372,12 @@ pub trait EthExtra { mod test { use super::*; use crate::{ + EthTransactInfo, RUNTIME_PALLETS_ADDR, Weight, evm::*, test_utils::*, tests::{ Address, ExtBuilder, RuntimeCall, RuntimeOrigin, SignedExtra, Test, UncheckedExtrinsic, }, - EthTransactInfo, Weight, RUNTIME_PALLETS_ADDR, }; use frame_support::{error::LookupError, traits::fungible::Mutate}; use pallet_revive_fixtures::compile_module; @@ -709,4 +714,58 @@ mod test { _ => panic!("Expected the RuntimeCall::Contracts variant, got: {:?}", call), } } + + /// The raw bytes seen in this test is of a deployment transaction from [eip-2470] which publish + /// a contract at a predicable address on any chain that it's run on. We use these bytes to test + /// that if we were to run this transaction on pallet-revive that it would run and also produce + /// a contract at the address described in the EIP. + /// + /// Note: the linked EIP is not an EIP for Nick's method, it's just an EIP that makes use of + /// Nick's method. + /// + /// [eip-2470]: https://eips.ethereum.org/EIPS/eip-2470 + #[test] + fn contract_deployment_with_nick_method_works() { + // Arrange + let raw_transaction_bytes = alloy_core::hex!( + "0xf9016c8085174876e8008303c4d88080b90154608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212206b44f8a82cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c634300060200331b83247000822470" + ); + + let mut signed_transaction = TransactionSigned::decode(raw_transaction_bytes.as_slice()) + .expect("Invalid raw transaction bytes"); + if let TransactionSigned::TransactionLegacySigned(ref mut legacy_transaction) = + signed_transaction + { + legacy_transaction.transaction_legacy_unsigned.gas = + U256::from_dec_str("3750815700000").unwrap(); + } + let generic_transaction = GenericTransaction::from_signed( + signed_transaction.clone(), + ExtBuilder::default().build().execute_with(|| Pallet::::evm_base_fee()), + None, + ); + + let unchecked_extrinsic_builder = UncheckedExtrinsicBuilder { + tx: generic_transaction, + before_validate: None, + dry_run: None, + }; + + // Act + let eth_transact_result = unchecked_extrinsic_builder.check(); + + // Assert + let ( + _encoded_len, + _function, + _extra, + generic_transaction, + _gas_required, + _signed_transaction, + ) = eth_transact_result.expect("eth_transact failed"); + assert!( + generic_transaction.chain_id.is_none(), + "Chain Id in the generic transaction is not None" + ); + } } diff --git a/substrate/frame/revive/src/evm/tracing.rs b/substrate/frame/revive/src/evm/tracing.rs index 0fe9dbfe076fd..7da6b6d43255c 100644 --- a/substrate/frame/revive/src/evm/tracing.rs +++ b/substrate/frame/revive/src/evm/tracing.rs @@ -15,9 +15,9 @@ // See the License for the specific language governing permissions and // limitations under the License. use crate::{ - evm::{CallTrace, Trace}, - tracing::Tracing, Config, + evm::{CallTrace, ExecutionTrace, Trace}, + tracing::Tracing, }; mod call_tracing; @@ -26,6 +26,9 @@ pub use call_tracing::*; mod prestate_tracing; pub use prestate_tracing::*; +mod execution_tracing; +pub use execution_tracing::*; + /// A composite tracer. #[derive(derive_more::From, Debug)] pub enum Tracer { @@ -33,6 +36,8 @@ pub enum Tracer { CallTracer(CallTracer), /// A tracer that traces the prestate. PrestateTracer(PrestateTracer), + /// A tracer that traces opcodes and syscalls. + ExecutionTracer(ExecutionTracer), } impl Tracer @@ -44,6 +49,7 @@ where match self { Tracer::CallTracer(_) => CallTrace::default().into(), Tracer::PrestateTracer(tracer) => tracer.empty_trace().into(), + Tracer::ExecutionTracer(_) => ExecutionTrace::default().into(), } } @@ -52,6 +58,7 @@ where match self { Tracer::CallTracer(inner) => inner as &mut dyn Tracing, Tracer::PrestateTracer(inner) => inner as &mut dyn Tracing, + Tracer::ExecutionTracer(inner) => inner as &mut dyn Tracing, } } @@ -60,6 +67,12 @@ where match self { Tracer::CallTracer(inner) => inner.collect_trace().map(Trace::Call), Tracer::PrestateTracer(inner) => Some(inner.collect_trace().into()), + Tracer::ExecutionTracer(inner) => Some(inner.collect_trace().into()), } } + + /// Check if this is an execution tracer. + pub fn is_execution_tracer(&self) -> bool { + matches!(self, Tracer::ExecutionTracer(_)) + } } diff --git a/substrate/frame/revive/src/evm/tracing/call_tracing.rs b/substrate/frame/revive/src/evm/tracing/call_tracing.rs index 7452fe8d1d0d5..66c4b1a307671 100644 --- a/substrate/frame/revive/src/evm/tracing/call_tracing.rs +++ b/substrate/frame/revive/src/evm/tracing/call_tracing.rs @@ -15,10 +15,10 @@ // See the License for the specific language governing permissions and // limitations under the License. use crate::{ - evm::{decode_revert_reason, CallLog, CallTrace, CallTracerConfig, CallType}, + Code, DispatchError, Weight, + evm::{CallLog, CallTrace, CallTracerConfig, CallType, decode_revert_reason}, primitives::ExecReturnValue, tracing::Tracing, - Code, DispatchError, }; use alloc::{format, string::ToString, vec::Vec}; use sp_core::{H160, H256, U256}; @@ -27,7 +27,7 @@ use sp_core::{H160, H256, U256}; #[derive(Default, Debug, Clone, PartialEq)] pub struct CallTracer { /// Store all in-progress CallTrace instances. - traces: Vec>, + traces: Vec, /// Stack of indices to the current active traces. current_stack: Vec, /// The code and salt used to instantiate the next contract. @@ -57,7 +57,7 @@ impl Tracing for CallTracer { &mut self, contract_address: H160, beneficiary_address: H160, - gas_left: U256, + gas_left: u64, value: U256, ) { self.traces.last_mut().unwrap().calls.push(CallTrace { @@ -78,13 +78,13 @@ impl Tracing for CallTracer { is_read_only: bool, value: U256, input: &[u8], - gas_limit: U256, + gas_limit: u64, ) { // Increment parent's child call count. - if let Some(&index) = self.current_stack.last() { - if let Some(trace) = self.traces.get_mut(index) { - trace.child_call_count += 1; - } + if let Some(&index) = self.current_stack.last() && + let Some(trace) = self.traces.get_mut(index) + { + trace.child_call_count += 1; } if self.traces.is_empty() || !self.config.only_top_call { @@ -151,7 +151,12 @@ impl Tracing for CallTracer { } } - fn exit_child_span(&mut self, output: &ExecReturnValue, gas_used: U256) { + fn exit_child_span( + &mut self, + output: &ExecReturnValue, + gas_used: u64, + _weight_consumed: Weight, + ) { self.code_with_salt = None; // Set the output of the current trace @@ -167,7 +172,7 @@ impl Tracing for CallTracer { } if self.config.only_top_call { - return + return; } // Move the current trace into its parent @@ -177,7 +182,13 @@ impl Tracing for CallTracer { } } } - fn exit_child_span_with_error(&mut self, error: DispatchError, gas_used: U256) { + + fn exit_child_span_with_error( + &mut self, + error: DispatchError, + gas_used: u64, + _weight_consumed: Weight, + ) { self.code_with_salt = None; // Set the output of the current trace @@ -187,13 +198,14 @@ impl Tracing for CallTracer { trace.gas_used = gas_used; trace.error = match error { - DispatchError::Module(sp_runtime::ModuleError { message, .. }) => - Some(message.unwrap_or_default().to_string()), + DispatchError::Module(sp_runtime::ModuleError { message, .. }) => { + Some(message.unwrap_or_default().to_string()) + }, _ => Some(format!("{:?}", error)), }; if self.config.only_top_call { - return + return; } // Move the current trace into its parent diff --git a/substrate/frame/revive/src/evm/tracing/execution_tracing.rs b/substrate/frame/revive/src/evm/tracing/execution_tracing.rs new file mode 100644 index 0000000000000..fb1858b839337 --- /dev/null +++ b/substrate/frame/revive/src/evm/tracing/execution_tracing.rs @@ -0,0 +1,357 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +use crate::{ + DispatchError, ExecReturnValue, Key, Weight, + evm::{ + Bytes, ExecutionStep, ExecutionStepKind, ExecutionTrace, ExecutionTracerConfig, + tracing::Tracing, + }, + tracing::{EVMFrameTraceInfo, FrameTraceInfo}, + vm::pvm::env::lookup_syscall_index, +}; +use alloc::{ + collections::BTreeMap, + format, + string::{String, ToString}, + vec::Vec, +}; +use sp_core::{H160, U256}; + +/// Tracks a pending step (opcode/syscall) that hasn't completed yet. +/// Used to accumulate child call consumption for CALL-like opcodes. +#[derive(Default, Debug, Clone, PartialEq)] +struct PendingStep { + /// Index of this step in the `steps` vector. + step_index: usize, + /// Accumulated gas consumed by child calls. + child_gas: u64, + /// Accumulated weight consumed by child calls. + child_weight: Weight, +} + +/// A tracer that traces opcode and syscall execution step-by-step. +#[derive(Default, Debug, Clone, PartialEq)] +pub struct ExecutionTracer { + /// The tracer configuration. + config: ExecutionTracerConfig, + + /// The collected trace steps. + steps: Vec, + + /// Stack of pending steps awaiting their exit_step call. + /// When entering an opcode/syscall, we push here. + /// When exit_step is called, we pop and finalize the step's gas/weight costs. + pending: Vec, + + /// Current call depth. + depth: u16, + + /// Number of steps captured (for limiting). + step_count: u64, + + /// Total gas used by the transaction. + total_gas_used: u64, + + /// The base call weight of the transaction. + base_call_weight: Weight, + + /// The Weight consumed by the transaction meter. + weight_consumed: Weight, + + /// Whether the transaction failed. + failed: bool, + + /// The return value of the transaction. + return_value: Bytes, + + /// List of storage per call depth. + storages_per_call: Vec>, +} + +impl ExecutionTracer { + /// Create a new [`ExecutionTracer`] instance. + pub fn new(config: ExecutionTracerConfig) -> Self { + Self { + config, + steps: Vec::new(), + pending: Vec::new(), + depth: 0, + step_count: 0, + total_gas_used: 0, + base_call_weight: Default::default(), + weight_consumed: Default::default(), + failed: false, + return_value: Bytes::default(), + storages_per_call: alloc::vec![Default::default()], + } + } + + /// Collect the traces and return them. + pub fn collect_trace(self) -> ExecutionTrace { + let Self { + steps: struct_logs, + weight_consumed, + base_call_weight, + return_value, + total_gas_used: gas, + failed, + .. + } = self; + ExecutionTrace { gas, weight_consumed, base_call_weight, failed, return_value, struct_logs } + } + + /// Record an error in the current step. + fn record_error(&mut self, error: String) { + if let Some(last_step) = self.steps.last_mut() { + last_step.error = Some(error); + } + } +} + +impl Tracing for ExecutionTracer { + fn is_execution_tracer(&self) -> bool { + true + } + + fn dispatch_result(&mut self, base_call_weight: Weight, weight_consumed: Weight) { + self.base_call_weight = base_call_weight; + self.weight_consumed = weight_consumed; + } + + fn enter_opcode(&mut self, pc: u64, opcode: u8, trace_info: &dyn EVMFrameTraceInfo) { + if self.config.limit.map(|l| self.step_count >= l).unwrap_or(false) { + return; + } + + // Extract stack data if enabled + let stack_data = + if !self.config.disable_stack { trace_info.stack_snapshot() } else { Vec::new() }; + + // Extract memory data if enabled + let memory_data = if self.config.enable_memory { + trace_info.memory_snapshot(self.config.memory_word_limit as usize) + } else { + Vec::new() + }; + + // Extract return data if enabled + let return_data = if self.config.enable_return_data { + trace_info.last_frame_output() + } else { + crate::evm::Bytes::default() + }; + + let step = ExecutionStep { + gas: trace_info.gas_left(), + gas_cost: Default::default(), + weight_cost: trace_info.weight_consumed(), /* Store initial weight, will be updated + * later */ + depth: self.depth, + return_data, + error: None, + kind: ExecutionStepKind::EVMOpcode { + pc: pc as u32, + op: opcode, + stack: stack_data, + memory: memory_data, + storage: None, + }, + }; + + let step_index = self.steps.len(); + self.steps.push(step); + self.pending + .push(PendingStep { step_index, child_gas: 0, child_weight: Weight::zero() }); + self.step_count += 1; + } + + fn enter_ecall(&mut self, ecall: &'static str, args: &[u64], trace_info: &dyn FrameTraceInfo) { + if self.config.limit.map(|l| self.step_count >= l).unwrap_or(false) { + return; + } + + // Extract return data if enabled + let return_data = if self.config.enable_return_data { + trace_info.last_frame_output() + } else { + crate::evm::Bytes::default() + }; + + // Extract syscall args if enabled + let syscall_args = + if !self.config.disable_syscall_details { args.to_vec() } else { Vec::new() }; + + let step = ExecutionStep { + gas: trace_info.gas_left(), + gas_cost: Default::default(), + weight_cost: trace_info.weight_consumed(), /* Store initial weight, will be updated + * later */ + depth: self.depth, + return_data, + error: None, + kind: ExecutionStepKind::PVMSyscall { + op: lookup_syscall_index(ecall).unwrap_or_default(), + args: syscall_args, + returned: None, + }, + }; + + let step_index = self.steps.len(); + self.steps.push(step); + self.pending + .push(PendingStep { step_index, child_gas: 0, child_weight: Weight::zero() }); + self.step_count += 1; + } + + fn exit_step(&mut self, trace_info: &dyn FrameTraceInfo, returned: Option) { + let Some(pending) = self.pending.pop() else { return }; + let Some(step) = self.steps.get_mut(pending.step_index) else { return }; + + // Calculate opcode cost: total consumption minus child consumption + let total_gas = step.gas.saturating_sub(trace_info.gas_left()); + step.gas_cost = total_gas.saturating_sub(pending.child_gas); + + // weight_cost currently holds initial weight; calculate total then subtract child + let total_weight = trace_info.weight_consumed().saturating_sub(step.weight_cost); + step.weight_cost = total_weight.saturating_sub(pending.child_weight); + + if !self.config.disable_syscall_details && + let ExecutionStepKind::PVMSyscall { returned: ref mut ret, .. } = step.kind + { + *ret = returned; + } + } + + fn enter_child_span( + &mut self, + _from: H160, + _to: H160, + _delegate_call: Option, + _is_read_only: bool, + _value: U256, + _input: &[u8], + _gas_limit: u64, + ) { + // Costs will be calculated in exit_step by subtracting child consumption from total. + self.storages_per_call.push(Default::default()); + self.depth += 1; + } + + fn exit_child_span( + &mut self, + output: &ExecReturnValue, + gas_used: u64, + weight_consumed: Weight, + ) { + // Accumulate child consumption to the parent step + if let Some(parent) = self.pending.last_mut() { + parent.child_gas = parent.child_gas.saturating_add(gas_used); + parent.child_weight = parent.child_weight.saturating_add(weight_consumed); + } + + if output.did_revert() { + self.record_error("execution reverted".to_string()); + if self.depth == 0 { + self.failed = true; + } + } else { + self.return_value = Bytes(output.data.to_vec()); + } + + if self.depth == 1 { + self.total_gas_used = gas_used; + } + + self.storages_per_call.pop(); + + if self.depth > 0 { + self.depth -= 1; + } + } + + fn exit_child_span_with_error( + &mut self, + error: DispatchError, + gas_used: u64, + weight_consumed: Weight, + ) { + // Accumulate child consumption to the parent step + if let Some(parent) = self.pending.last_mut() { + parent.child_gas = parent.child_gas.saturating_add(gas_used); + parent.child_weight = parent.child_weight.saturating_add(weight_consumed); + } + + self.record_error(format!("{:?}", error)); + + // Mark as failed if this is the top-level call + if self.depth == 1 { + self.failed = true; + self.total_gas_used = gas_used; + } + + if self.depth > 0 { + self.depth -= 1; + } + + self.storages_per_call.pop(); + } + + fn storage_write(&mut self, key: &Key, _old_value: Option>, new_value: Option<&[u8]>) { + // Only track storage if not disabled + if self.config.disable_storage { + return; + } + + if let Some(storage) = self.storages_per_call.last_mut() { + let key_bytes = crate::evm::Bytes(key.unhashed().to_vec()); + let value_bytes = crate::evm::Bytes( + new_value.map(|v| v.to_vec()).unwrap_or_else(|| alloc::vec![0u8; 32]), + ); + storage.insert(key_bytes, value_bytes); + + if let Some(step) = self.steps.last_mut() { + if let ExecutionStepKind::EVMOpcode { storage: ref mut step_storage, .. } = + step.kind + { + *step_storage = Some(storage.clone()); + } + } + } + } + + fn storage_read(&mut self, key: &Key, value: Option<&[u8]>) { + // Only track storage if not disabled + if self.config.disable_storage { + return; + } + + if let Some(storage) = self.storages_per_call.last_mut() { + let key_bytes = crate::evm::Bytes(key.unhashed().to_vec()); + storage.entry(key_bytes).or_insert_with(|| { + crate::evm::Bytes(value.map(|v| v.to_vec()).unwrap_or_else(|| alloc::vec![0u8; 32])) + }); + + if let Some(step) = self.steps.last_mut() { + if let ExecutionStepKind::EVMOpcode { storage: ref mut step_storage, .. } = + step.kind + { + *step_storage = Some(storage.clone()); + } + } + } + } +} diff --git a/substrate/frame/revive/src/evm/tracing/prestate_tracing.rs b/substrate/frame/revive/src/evm/tracing/prestate_tracing.rs index b1141924d6e12..824c92bea932d 100644 --- a/substrate/frame/revive/src/evm/tracing/prestate_tracing.rs +++ b/substrate/frame/revive/src/evm/tracing/prestate_tracing.rs @@ -15,9 +15,9 @@ // See the License for the specific language governing permissions and // limitations under the License. use crate::{ + AccountInfo, Code, Config, ExecReturnValue, Key, Pallet, PristineCode, Weight, evm::{Bytes, PrestateTrace, PrestateTraceInfo, PrestateTracerConfig}, tracing::Tracing, - AccountInfo, Code, Config, ExecReturnValue, Key, Pallet, PristineCode, }; use alloc::{ collections::{BTreeMap, BTreeSet}, @@ -109,14 +109,14 @@ where // If the address was created and destructed we do not trace it post.retain(|addr, _| { if self.created_addrs.contains(addr) && self.destructed_addrs.contains(addr) { - return false + return false; } true }); pre.retain(|addr, pre_info| { if is_empty(&pre_info) { - return false + return false; } let post_info = post.entry(*addr).or_insert_with_key(|addr| { @@ -129,7 +129,7 @@ where if post_info == pre_info { post.remove(addr); - return false + return false; } if post_info.code == pre_info.code { @@ -167,7 +167,7 @@ macro_rules! get_entry { ($self:expr, $addr:expr) => { if $self.created_addrs.contains(&$addr) { if !$self.config.diff_mode { - return + return; } $self.trace.1.entry($addr) } else { @@ -184,7 +184,7 @@ where fn bytecode(address: &H160) -> Option { let code_hash = AccountInfo::::load_contract(address)?.code_hash; let code: Vec = PristineCode::::get(&code_hash)?.into(); - return Some(code.into()) + return Some(code.into()); } /// Update the prestate info for the given address. @@ -241,7 +241,7 @@ where &mut self, contract_address: H160, beneficiary_address: H160, - _gas_left: U256, + _gas_left: u64, _value: U256, ) { self.destructed_addrs.insert(contract_address); @@ -258,7 +258,7 @@ where _is_read_only: bool, _value: U256, _input: &[u8], - _gas_limit: U256, + _gas_limit: u64, ) { if let Some(delegate_call) = delegate_call { self.calls.push(self.current_addr()); @@ -275,14 +275,24 @@ where } } - fn exit_child_span_with_error(&mut self, _error: crate::DispatchError, _gas_used: U256) { + fn exit_child_span_with_error( + &mut self, + _error: crate::DispatchError, + _gas_used: u64, + _weight_consumed: Weight, + ) { self.calls.pop(); } - fn exit_child_span(&mut self, output: &ExecReturnValue, _gas_used: U256) { + fn exit_child_span( + &mut self, + output: &ExecReturnValue, + _gas_used: u64, + _weight_consumed: Weight, + ) { let current_addr = self.calls.pop().unwrap_or_default(); if output.did_revert() { - return + return; } let code = if self.config.disable_code { None } else { Self::bytecode(¤t_addr) }; @@ -305,7 +315,7 @@ where .or_insert_with(|| old_value.map(Into::into)); if !self.config.diff_mode { - return + return; } if old_value.as_ref().map(|v| v.0.as_ref()) != new_value { diff --git a/substrate/frame/revive/src/evm/transfer_with_dust.rs b/substrate/frame/revive/src/evm/transfer_with_dust.rs index c7c16e43bb22f..a30449a51139f 100644 --- a/substrate/frame/revive/src/evm/transfer_with_dust.rs +++ b/substrate/frame/revive/src/evm/transfer_with_dust.rs @@ -18,15 +18,15 @@ //! Transfer with dust functionality for pallet-revive. use crate::{ - address::AddressMapper, exec::AccountIdOf, primitives::BalanceWithDust, storage::AccountInfo, - AccountInfoOf, BalanceOf, Config, Error, LOG_TARGET, + AccountInfoOf, BalanceOf, Config, Error, LOG_TARGET, address::AddressMapper, exec::AccountIdOf, + primitives::BalanceWithDust, storage::AccountInfo, }; use frame_support::{ dispatch::DispatchResult, traits::{ + Get, fungible::Mutate, tokens::{Fortitude, Precision, Preservation}, - Get, }, }; @@ -67,7 +67,7 @@ fn ensure_sufficient_dust( required_dust: u32, ) -> DispatchResult { if from_info.dust >= required_dust { - return Ok(()) + return Ok(()); } let plank = T::NativeToEthRatio::get(); @@ -101,14 +101,14 @@ pub(crate) fn transfer_with_dust( if from_info.balance(from, preservation) < value { log::debug!(target: LOG_TARGET, "Insufficient balance: from {from:?} to {to:?} (value: ${value:?}). Balance: ${:?}", from_info.balance(from, preservation)); - return Err(Error::::TransferFailed.into()) + return Err(Error::::TransferFailed.into()); } else if from == to || value.is_zero() { - return Ok(()) + return Ok(()); } let (value, dust) = value.deconstruct(); if dust == 0 { - return transfer_balance::(from, to, value, preservation) + return transfer_balance::(from, to, value, preservation); } let to_addr = >::to_address(to); @@ -140,9 +140,9 @@ pub(crate) fn burn_with_dust( if from_info.balance(from, Preservation::Preserve) < value { log::debug!(target: LOG_TARGET, "Insufficient balance: from {from:?} (value: ${value:?}). Balance: ${:?}", from_info.balance(from, Preservation::Preserve)); - return Err(Error::::TransferFailed.into()) + return Err(Error::::TransferFailed.into()); } else if value.is_zero() { - return Ok(()) + return Ok(()); } let (value, dust) = value.deconstruct(); @@ -159,7 +159,7 @@ pub(crate) fn burn_with_dust( log::debug!(target: LOG_TARGET, "Burning {value:?} from {from:?} failed. Err: {err:?}"); Error::::TransferFailed })?; - return Ok(()) + return Ok(()); } ensure_sufficient_dust::(from, &mut from_info, dust)?; @@ -184,12 +184,12 @@ pub(crate) fn burn_with_dust( mod tests { use super::*; use crate::{ + Config, Error, H160, Pallet, test_utils::{ALICE_ADDR, BOB_ADDR}, - tests::{builder, test_utils::set_balance_with_dust, ExtBuilder, Test}, - Config, Error, Pallet, H160, + tests::{ExtBuilder, Test, builder, test_utils::set_balance_with_dust}, }; use frame_support::{assert_err, traits::Get}; - use sp_runtime::{traits::Zero, DispatchError}; + use sp_runtime::{DispatchError, traits::Zero}; #[test] fn transfer_with_dust_works() { diff --git a/substrate/frame/revive/src/evm/tx_extension.rs b/substrate/frame/revive/src/evm/tx_extension.rs index 607d8a76c10e5..f04a5cbc717be 100644 --- a/substrate/frame/revive/src/evm/tx_extension.rs +++ b/substrate/frame/revive/src/evm/tx_extension.rs @@ -20,14 +20,13 @@ use crate::{CallOf, Config, Origin, OriginFor}; use codec::{Decode, DecodeWithMemTracking, Encode}; use frame_support::{ - pallet_prelude::{InvalidTransaction, TransactionSource}, DebugNoBound, DefaultNoBound, + pallet_prelude::{InvalidTransaction, TransactionSource}, }; use scale_info::TypeInfo; use sp_runtime::{ - impl_tx_ext_default, + Weight, impl_tx_ext_default, traits::{DispatchInfoOf, TransactionExtension, ValidateResult}, - Weight, }; /// An extension that sets the origin to [`Origin::EthTransaction`] in case it originated from an diff --git a/substrate/frame/revive/src/exec.rs b/substrate/frame/revive/src/exec.rs index 02ab38c731dab..951ca473bd972 100644 --- a/substrate/frame/revive/src/exec.rs +++ b/substrate/frame/revive/src/exec.rs @@ -16,6 +16,9 @@ // limitations under the License. use crate::{ + AccountInfo, AccountInfoOf, BalanceOf, BalanceWithDust, Code, CodeInfo, CodeInfoOf, + CodeRemoved, Config, ContractInfo, Error, Event, HoldReason, ImmutableData, ImmutableDataOf, + LOG_TARGET, Pallet as Contracts, RuntimeCosts, TrieId, address::{self, AddressMapper}, evm::{block_storage, transfer_with_dust}, limits, @@ -26,9 +29,6 @@ use crate::{ storage::{AccountIdOrAddress, WriteOutcome}, tracing::if_tracing, transient_storage::TransientStorage, - AccountInfo, AccountInfoOf, BalanceOf, BalanceWithDust, Code, CodeInfo, CodeInfoOf, - CodeRemoved, Config, ContractInfo, Error, Event, HoldReason, ImmutableData, ImmutableDataOf, - Pallet as Contracts, RuntimeCosts, TrieId, LOG_TARGET, }; use alloc::{ collections::{BTreeMap, BTreeSet}, @@ -36,31 +36,31 @@ use alloc::{ }; use core::{cmp, fmt::Debug, marker::PhantomData, mem, ops::ControlFlow}; use frame_support::{ + Blake2_128Concat, BoundedVec, DebugNoBound, StorageHasher, crypto::ecdsa::ECDSAExt, dispatch::DispatchResult, ensure, - storage::{with_transaction, TransactionOutcome}, + storage::{TransactionOutcome, with_transaction}, traits::{ + Time, fungible::{Inspect, Mutate}, tokens::Preservation, - Time, }, weights::Weight, - Blake2_128Concat, BoundedVec, DebugNoBound, StorageHasher, }; use frame_system::{ - pallet_prelude::{BlockNumberFor, OriginFor}, Pallet as System, RawOrigin, + pallet_prelude::{BlockNumberFor, OriginFor}, }; use sp_core::{ + ConstU32, Get, H160, H256, U256, ecdsa::Public as ECDSAPublic, sr25519::{Public as SR25519Public, Signature as SR25519Signature}, - ConstU32, Get, H160, H256, U256, }; use sp_io::{crypto::secp256k1_ecdsa_recover_compressed, hashing::blake2_256}; use sp_runtime::{ - traits::{BadOrigin, Saturating, TrailingZeroInput}, DispatchError, SaturatedConversion, + traits::{BadOrigin, Saturating, TrailingZeroInput}, }; #[cfg(test)] @@ -282,10 +282,6 @@ pub trait Ext: PrecompileWithInfoExt { #[allow(dead_code)] fn own_code_hash(&mut self) -> &H256; - /// Sets new code hash and immutable data for an existing contract. - /// Returns whether the old code was removed as a result of this operation. - fn set_code_hash(&mut self, hash: H256) -> Result; - /// Get the length of the immutable data. /// /// This query is free as it does not need to load the immutable data from storage. @@ -476,7 +472,7 @@ pub trait PrecompileExt: sealing::Sealed { fn sr25519_verify(&self, signature: &[u8; 64], message: &[u8], pub_key: &[u8; 32]) -> bool; /// Returns Ethereum address from the ECDSA compressed public key. - fn ecdsa_to_eth_address(&self, pk: &[u8; 33]) -> Result<[u8; 20], ()>; + fn ecdsa_to_eth_address(&self, pk: &[u8; 33]) -> Result<[u8; 20], DispatchError>; /// Tests sometimes need to modify and inspect the contract info directly. #[cfg(any(test, feature = "runtime-benchmarks"))] @@ -696,11 +692,7 @@ enum ExecutableOrPrecompile, Env> { impl, Env> ExecutableOrPrecompile { fn as_executable(&self) -> Option<&E> { - if let Self::Executable(executable) = self { - Some(executable) - } else { - None - } + if let Self::Executable(executable) = self { Some(executable) } else { None } } fn is_pvm(&self) -> bool { @@ -711,20 +703,12 @@ impl, Env> ExecutableOrPrecompile { } fn as_precompile(&self) -> Option<&PrecompileInstance> { - if let Self::Precompile { instance, .. } = self { - Some(instance) - } else { - None - } + if let Self::Precompile { instance, .. } = self { Some(instance) } else { None } } #[cfg(any(feature = "runtime-benchmarks", test))] fn into_executable(self) -> Option { - if let Self::Executable(executable) = self { - Some(executable) - } else { - None - } + if let Self::Executable(executable) = self { Some(executable) } else { None } } } @@ -815,30 +799,21 @@ macro_rules! top_frame_mut { impl CachedContract { /// Return `Some(ContractInfo)` if the contract is in cached state. `None` otherwise. fn into_contract(self) -> Option> { - if let CachedContract::Cached(contract) = self { - Some(contract) - } else { - None - } + if let CachedContract::Cached(contract) = self { Some(contract) } else { None } } /// Return `Some(&mut ContractInfo)` if the contract is in cached state. `None` otherwise. fn as_contract(&mut self) -> Option<&mut ContractInfo> { - if let CachedContract::Cached(contract) = self { - Some(contract) - } else { - None - } + if let CachedContract::Cached(contract) = self { Some(contract) } else { None } } /// Load the `contract_info` from storage if necessary. fn load(&mut self, account_id: &T::AccountId) { - if let CachedContract::Invalidated = self { - if let Some(contract) = + if let CachedContract::Invalidated = self && + let Some(contract) = AccountInfo::::load_contract(&T::AddressMapper::to_address(account_id)) - { - *self = CachedContract::Cached(contract); - } + { + *self = CachedContract::Cached(contract); } } @@ -914,8 +889,14 @@ where }; if_tracing(|t| match result { - Ok(ref output) => t.exit_child_span(&output, Default::default()), - Err(e) => t.exit_child_span_with_error(e.error.into(), Default::default()), + Ok(ref output) => { + t.exit_child_span(&output, Default::default(), Default::default()) + }, + Err(e) => t.exit_child_span_with_error( + e.error.into(), + Default::default(), + Default::default(), + ), }); log::trace!(target: LOG_TARGET, "call finished with: {result:?}"); @@ -957,10 +938,10 @@ where let result = stack .run(executable, input_data) .map(|_| (address, stack.first_frame.last_frame_output)); - if let Ok((contract, ref output)) = result { - if !output.did_revert() { - Contracts::::deposit_event(Event::Instantiated { deployer, contract }); - } + if let Ok((contract, output)) = &result && + !output.did_revert() + { + Contracts::::deposit_event(Event::Instantiated { deployer, contract: *contract }); } log::trace!(target: LOG_TARGET, "instantiate finished with: {result:?}"); result @@ -1067,12 +1048,13 @@ where // is a delegate call or not let mut contract = match (cached_info, &precompile) { (Some(info), _) => CachedContract::Cached(info), - (None, None) => + (None, None) => { if let Some(info) = AccountInfo::::load_contract(&address) { CachedContract::Cached(info) } else { return Ok(None); - }, + } + }, (None, Some(precompile)) if precompile.has_contract_info() => { log::trace!(target: LOG_TARGET, "found precompile for address {address:?}"); if let Some(info) = AccountInfo::::load_contract(&address) { @@ -1194,13 +1176,21 @@ where // See the `in_memory_changes_not_discarded` test for more information. // We do not store on instantiate because we do not allow to call into a contract // from its own constructor. + // + // Additionally, we need to apply pending storage changes to the ContractInfo before + // saving it, so that child frames can correctly calculate storage deposit refunds. + // See: let frame = self.top_frame(); if let (CachedContract::Cached(contract), ExportedFunction::Call) = (&frame.contract_info, frame.entry_point) { + let mut contract_with_pending_changes = contract.clone(); + frame + .frame_meter + .apply_pending_storage_changes(&mut contract_with_pending_changes); AccountInfo::::insert_contract( &T::AddressMapper::to_address(&frame.account_id), - contract.clone(), + contract_with_pending_changes, ); } @@ -1236,14 +1226,33 @@ where let is_pvm = executable.is_pvm(); if_tracing(|tracer| { + // For DELEGATECALL, `from` is the contract making the delegatecall and + // `to` is the target contract whose code is being executed. + let (from, to) = match frame.delegate.as_ref() { + Some(delegate) => { + (T::AddressMapper::to_address(&frame.account_id), delegate.callee) + }, + None => ( + self.caller() + .account_id() + .map(T::AddressMapper::to_address) + .unwrap_or_default(), + T::AddressMapper::to_address(&frame.account_id), + ), + }; tracer.enter_child_span( - self.caller().account_id().map(T::AddressMapper::to_address).unwrap_or_default(), - T::AddressMapper::to_address(&frame.account_id), + from, + to, frame.delegate.as_ref().map(|delegate| delegate.callee), frame.read_only, frame.value_transferred, &input_data, - frame.frame_meter.eth_gas_left().unwrap_or_default().into(), + frame + .frame_meter + .eth_gas_left() + .unwrap_or_default() + .try_into() + .unwrap_or_default(), ); }); let mock_answer = self.exec_config.mock_handler.as_ref().and_then(|handler| { @@ -1269,7 +1278,9 @@ where *caller_frame = Default::default(); } - self.transient_storage.start_transaction(); + self.with_transient_storage_mut(|transient_storage| { + transient_storage.start_transaction(); + }); let is_first_frame = self.frames.is_empty(); let do_transaction = || -> ExecResult { @@ -1343,17 +1354,16 @@ where // account. // - Only when not delegate calling we are executing in the context of the pre-compile. // Pre-compiles itself cannot delegate call. - if let Some(precompile) = executable.as_precompile() { - if precompile.has_contract_info() && - frame.delegate.is_none() && - !>::account_exists(account_id) - { - // prefix matching pre-compiles cannot have a contract info - // hence we only mint once per pre-compile - T::Currency::mint_into(account_id, T::Currency::minimum_balance())?; - // make sure the pre-compile does not destroy its account by accident - >::inc_consumers(account_id)?; - } + if let Some(precompile) = executable.as_precompile() && + precompile.has_contract_info() && + frame.delegate.is_none() && + !>::account_exists(account_id) + { + // prefix matching pre-compiles cannot have a contract info + // hence we only mint once per pre-compile + T::Currency::mint_into(account_id, T::Currency::minimum_balance())?; + // make sure the pre-compile does not destroy its account by accident + >::inc_consumers(account_id)?; } let mut code_deposit = executable @@ -1362,10 +1372,12 @@ where .unwrap_or_default(); let mut output = match executable { - ExecutableOrPrecompile::Executable(executable) => - executable.execute(self, entry_point, input_data), - ExecutableOrPrecompile::Precompile { instance, .. } => - instance.call(input_data, self), + ExecutableOrPrecompile::Executable(executable) => { + executable.execute(self, entry_point, input_data) + }, + ExecutableOrPrecompile::Precompile { instance, .. } => { + instance.call(input_data, self) + }, } .and_then(|output| { if u32::try_from(output.data.len()) @@ -1447,8 +1459,9 @@ where do_transaction() }; match &output { - Ok(result) if !result.did_revert() => - TransactionOutcome::Commit(Ok((true, output))), + Ok(result) if !result.did_revert() => { + TransactionOutcome::Commit(Ok((true, output))) + }, _ => TransactionOutcome::Rollback(Ok((false, output))), } }); @@ -1462,14 +1475,23 @@ where // we treat the initial frame meter differently to address // https://github.com/paritytech/polkadot-sdk/issues/8362 let gas_consumed = if is_first_frame { - frame_meter.total_consumed_gas().into() + frame_meter.total_consumed_gas() } else { - frame_meter.eth_gas_consumed().into() + frame_meter.eth_gas_consumed() }; + let gas_consumed: u64 = gas_consumed.try_into().unwrap_or(u64::MAX); + let weight_consumed = frame_meter.weight_consumed(); + match &output { - Ok(output) => tracer.exit_child_span(&output, gas_consumed), - Err(e) => tracer.exit_child_span_with_error(e.error.into(), gas_consumed), + Ok(output) => { + tracer.exit_child_span(&output, gas_consumed, weight_consumed) + }, + Err(e) => tracer.exit_child_span_with_error( + e.error.into(), + gas_consumed, + weight_consumed, + ), } }); @@ -1484,23 +1506,26 @@ where // we treat the initial frame meter differently to address // https://github.com/paritytech/polkadot-sdk/issues/8362 let gas_consumed = if is_first_frame { - frame_meter.total_consumed_gas().into() + frame_meter.total_consumed_gas() } else { - frame_meter.eth_gas_consumed().into() + frame_meter.eth_gas_consumed() }; - tracer.exit_child_span_with_error(error.into(), gas_consumed); + let gas_consumed: u64 = gas_consumed.try_into().unwrap_or(u64::MAX); + let weight_consumed = frame_meter.weight_consumed(); + tracer.exit_child_span_with_error(error.into(), gas_consumed, weight_consumed); }); (false, Err(error.into())) }, }; - - if success { - self.transient_storage.commit_transaction(); - } else { - self.transient_storage.rollback_transaction(); - } + self.with_transient_storage_mut(|transient_storage| { + if success { + transient_storage.commit_transaction(); + } else { + transient_storage.rollback_transaction(); + } + }); log::trace!(target: LOG_TARGET, "frame finished with: {output:?}"); self.pop_frame(success); @@ -1545,25 +1570,15 @@ where prev.contracts_to_be_destroyed.extend(frame.contracts_to_be_destroyed); if let Some(contract) = contract { - // optimization: Predecessor is the same contract. - // We can just copy the contract into the predecessor without a storage write. - // This is possible when there is no other contract in-between that could - // trigger a rollback. - if prev.account_id == *account_id { - prev.contract_info = CachedContract::Cached(contract); - return; - } - - // Predecessor is a different contract: We persist the info and invalidate the first - // stale cache we find. This triggers a reload from storage on next use. We skip(1) - // because that case is already handled by the optimization above. Only the first + // Persist the info and invalidate the first stale cache we find. + // This triggers a reload from storage on next use. Only the first // cache needs to be invalidated because that one will invalidate the next cache // when it is popped from the stack. AccountInfo::::insert_contract( &T::AddressMapper::to_address(account_id), contract, ); - if let Some(f) = self.frames_mut().skip(1).find(|f| f.account_id == *account_id) { + if let Some(f) = self.frames_mut().find(|f| f.account_id == *account_id) { f.contract_info.invalidate(); } } @@ -1634,7 +1649,7 @@ where } if >::account_exists(to) { - return transfer_with_dust::(from, to, value, preservation) + return transfer_with_dust::(from, to, value, preservation); } let origin = origin.account_id()?; @@ -1749,7 +1764,6 @@ where with_transaction(|| -> TransactionOutcome> { match delete_contract(&args.trie_id, &args.code_hash) { Ok(()) => { - // TODO: emit sucicide trace log::trace!(target: LOG_TARGET, "Terminated {contract_address:?}"); TransactionOutcome::Commit(Ok(())) }, @@ -1840,6 +1854,24 @@ where } true } + + fn with_transient_storage_mut) -> R>( + &mut self, + f: F, + ) -> R { + if let Some(transient) = &self.exec_config.test_env_transient_storage { + f(&mut transient.borrow_mut()) + } else { + f(&mut self.transient_storage) + } + } + fn with_transient_storage) -> R>(&self, f: F) -> R { + if let Some(transient) = &self.exec_config.test_env_transient_storage { + f(&transient.borrow()) + } else { + f(&self.transient_storage) + } + } } impl<'a, T, E> Ext for Stack<'a, T, E> @@ -1858,7 +1890,11 @@ where *self.last_frame_output_mut() = Default::default(); let top_frame = self.top_frame_mut(); - let contract_info = top_frame.contract_info().clone(); + // Clone the contract info and apply pending storage changes so that + // the child frame can correctly calculate storage deposit refunds. + // See: + let mut contract_info = top_frame.contract_info().clone(); + top_frame.frame_meter.apply_pending_storage_changes(&mut contract_info); let account_id = top_frame.account_id.clone(); let value = top_frame.value_transferred; if let Some(executable) = self.push_frame( @@ -1888,7 +1924,12 @@ where tracer.terminate( addr, *beneficiary, - self.top_frame().frame_meter.eth_gas_left().unwrap_or_default().into(), + self.top_frame() + .frame_meter + .eth_gas_left() + .unwrap_or_default() + .try_into() + .unwrap_or_default(), crate::Pallet::::evm_balance(&addr), ); }); @@ -1923,45 +1964,6 @@ where &self.top_frame_mut().contract_info().code_hash } - /// TODO: This should be changed to run the constructor of the supplied `hash`. - /// - /// Because the immutable data is attached to a contract and not a code, - /// we need to update the immutable data too. - /// - /// Otherwise we open a massive footgun: - /// If the immutables changed in the new code, the contract will brick. - /// - /// A possible implementation strategy is to add a flag to `FrameArgs::Instantiate`, - /// so that `fn run()` will roll back any changes if this flag is set. - /// - /// After running the constructor, the new immutable data is already stored in - /// `self.immutable_data` at the address of the (reverted) contract instantiation. - /// - /// The `set_code_hash` contract API stays disabled until this change is implemented. - fn set_code_hash(&mut self, hash: H256) -> Result { - let frame = top_frame_mut!(self); - - let info = frame.contract_info(); - - let prev_hash = info.code_hash; - info.code_hash = hash; - - let code_info = CodeInfoOf::::get(hash).ok_or(Error::::CodeNotFound)?; - - let old_base_deposit = info.storage_base_deposit(); - let new_base_deposit = info.update_base_deposit(code_info.deposit()); - let deposit = StorageDeposit::Charge(new_base_deposit) - .saturating_sub(&StorageDeposit::Charge(old_base_deposit)); - - frame - .frame_meter - .charge_contract_deposit_and_transfer(frame.account_id.clone(), deposit)?; - - >::increment_refcount(hash)?; - let removed = >::decrement_refcount(prev_hash)?; - Ok(removed) - } - fn immutable_data_len(&mut self) -> u32 { self.top_frame_mut().contract_info().immutable_data_len() } @@ -2102,11 +2104,19 @@ where // We ignore instantiate frames in our search for a cached contract. // Otherwise it would be possible to recursively call a contract from its own // constructor: We disallow calling not fully constructed contracts. + // + // When cloning the cached contract, we apply pending storage changes so that + // the child frame can correctly calculate storage deposit refunds. + // See: let cached_info = self .frames() .find(|f| f.entry_point == ExportedFunction::Call && f.account_id == dest) .and_then(|f| match &f.contract_info { - CachedContract::Cached(contract) => Some(contract.clone()), + CachedContract::Cached(contract) => { + let mut contract_with_pending = contract.clone(); + f.frame_meter.apply_pending_storage_changes(&mut contract_with_pending); + Some(contract_with_pending) + }, _ => None, }); @@ -2154,8 +2164,14 @@ where }; if_tracing(|t| match result { - Ok(ref output) => t.exit_child_span(&output, Default::default()), - Err(e) => t.exit_child_span_with_error(e.error.into(), Default::default()), + Ok(ref output) => { + t.exit_child_span(&output, Default::default(), Default::default()) + }, + Err(e) => t.exit_child_span_with_error( + e.error.into(), + Default::default(), + Default::default(), + ), }); result.map(|_| ()) @@ -2172,13 +2188,15 @@ where } fn get_transient_storage(&self, key: &Key) -> Option> { - self.transient_storage.read(self.account_id(), key) + self.with_transient_storage(|transient_storage| { + transient_storage.read(self.account_id(), key) + }) } fn get_transient_storage_size(&self, key: &Key) -> Option { - self.transient_storage - .read(self.account_id(), key) - .map(|value| value.len() as _) + self.with_transient_storage(|transient_storage| { + transient_storage.read(self.account_id(), key).map(|value| value.len() as _) + }) } fn set_transient_storage( @@ -2188,7 +2206,9 @@ where take_old: bool, ) -> Result { let account_id = self.account_id().clone(); - self.transient_storage.write(&account_id, key, value, take_old) + self.with_transient_storage_mut(|transient_storage| { + transient_storage.write(&account_id, key, value, take_old) + }) } fn account_id(&self) -> &T::AccountId { @@ -2247,8 +2267,13 @@ where } fn code_hash(&self, address: &H160) -> H256 { - if let Some(code) = >::code(address.as_fixed_bytes()) { - return sp_io::hashing::keccak_256(code).into() + if let Some(code) = >::code(address.as_fixed_bytes()).or_else(|| { + self.exec_config + .mock_handler + .as_ref() + .and_then(|handler| handler.mocked_code(*address)) + }) { + return sp_io::hashing::keccak_256(code).into(); } >::load_contract(&address) @@ -2262,8 +2287,13 @@ where } fn code_size(&self, address: &H160) -> u64 { - if let Some(code) = >::code(address.as_fixed_bytes()) { - return code.len() as u64 + if let Some(code) = >::code(address.as_fixed_bytes()).or_else(|| { + self.exec_config + .mock_handler + .as_ref() + .and_then(|handler| handler.mocked_code(*address)) + }) { + return code.len() as u64; } >::load_contract(&address) @@ -2370,8 +2400,10 @@ where ) } - fn ecdsa_to_eth_address(&self, pk: &[u8; 33]) -> Result<[u8; 20], ()> { - ECDSAPublic::from(*pk).to_eth_address() + fn ecdsa_to_eth_address(&self, pk: &[u8; 33]) -> Result<[u8; 20], DispatchError> { + Ok(ECDSAPublic::from(*pk) + .to_eth_address() + .or_else(|()| Err(Error::::EcdsaRecoveryFailed))?) } #[cfg(any(test, feature = "runtime-benchmarks"))] diff --git a/substrate/frame/revive/src/exec/mock_ext.rs b/substrate/frame/revive/src/exec/mock_ext.rs index bfe8b4cd159e8..50544e08fc12f 100644 --- a/substrate/frame/revive/src/exec/mock_ext.rs +++ b/substrate/frame/revive/src/exec/mock_ext.rs @@ -17,6 +17,8 @@ #![cfg(test)] use crate::{ + BalanceOf, Code, CodeRemoved, Config, DispatchResult, ExecReturnValue, ImmutableData, + ReentrancyProtection, exec::{ AccountIdOf, CallResources, ExecError, Ext, Key, Origin, PrecompileExt, PrecompileWithInfoExt, @@ -25,8 +27,6 @@ use crate::{ precompiles::Diff, storage::{ContractInfo, WriteOutcome}, transient_storage::TransientStorage, - BalanceOf, Code, CodeRemoved, Config, DispatchResult, ExecReturnValue, ImmutableData, - ReentrancyProtection, }; use alloc::vec::Vec; use core::marker::PhantomData; @@ -189,7 +189,7 @@ impl PrecompileExt for MockExt { panic!("MockExt::sr25519_verify") } - fn ecdsa_to_eth_address(&self, _pk: &[u8; 33]) -> Result<[u8; 20], ()> { + fn ecdsa_to_eth_address(&self, _pk: &[u8; 33]) -> Result<[u8; 20], DispatchError> { panic!("MockExt::ecdsa_to_eth_address") } @@ -292,10 +292,6 @@ impl Ext for MockExt { panic!("MockExt::own_code_hash") } - fn set_code_hash(&mut self, _hash: H256) -> Result { - panic!("MockExt::set_code_hash") - } - fn immutable_data_len(&mut self) -> u32 { panic!("MockExt::immutable_data_len") } diff --git a/substrate/frame/revive/src/exec/tests.rs b/substrate/frame/revive/src/exec/tests.rs index 90e2f6e7b0420..db8e1459e599c 100644 --- a/substrate/frame/revive/src/exec/tests.rs +++ b/substrate/frame/revive/src/exec/tests.rs @@ -23,14 +23,14 @@ #[cfg(test)] use super::*; use crate::{ + AddressMapper, Error, Pallet, ReentrancyProtection, exec::ExportedFunction::*, metering::TransactionMeter, test_utils::*, tests::{ - test_utils::{get_balance, place_contract, set_balance}, ExtBuilder, RuntimeEvent as MetaEvent, Test, + test_utils::{get_balance, place_contract, set_balance}, }, - AddressMapper, Error, Pallet, ReentrancyProtection, }; use assert_matches::assert_matches; use frame_support::{assert_err, assert_ok, parameter_types}; @@ -1377,17 +1377,18 @@ fn in_memory_changes_not_discarded() { exec_success() }); let code_charlie = MockLoader::insert(Call, |ctx, _| { - assert!(ctx - .ext - .call( - &Default::default(), - &BOB_ADDR, - U256::zero(), - vec![99], - ReentrancyProtection::AllowReentry, - false - ) - .is_ok()); + assert!( + ctx.ext + .call( + &Default::default(), + &BOB_ADDR, + U256::zero(), + vec![99], + ReentrancyProtection::AllowReentry, + false + ) + .is_ok() + ); exec_trapped() }); @@ -2231,17 +2232,18 @@ fn get_transient_storage_works() { exec_success() }); let code_charlie = MockLoader::insert(Call, |ctx, _| { - assert!(ctx - .ext - .call( - &Default::default(), - &BOB_ADDR, - U256::zero(), - vec![99], - ReentrancyProtection::AllowReentry, - false - ) - .is_ok()); + assert!( + ctx.ext + .call( + &Default::default(), + &BOB_ADDR, + U256::zero(), + vec![99], + ReentrancyProtection::AllowReentry, + false + ) + .is_ok() + ); // CHARLIE can not read BOB`s storage. assert_eq!(ctx.ext.get_transient_storage(storage_key_1), None); exec_success() @@ -2337,17 +2339,18 @@ fn rollback_transient_storage_works() { exec_success() }); let code_charlie = MockLoader::insert(Call, |ctx, _| { - assert!(ctx - .ext - .call( - &Default::default(), - &BOB_ADDR, - U256::zero(), - vec![99], - ReentrancyProtection::AllowReentry, - false - ) - .is_ok()); + assert!( + ctx.ext + .call( + &Default::default(), + &BOB_ADDR, + U256::zero(), + vec![99], + ReentrancyProtection::AllowReentry, + false + ) + .is_ok() + ); exec_trapped() }); @@ -2518,17 +2521,18 @@ fn last_frame_output_works_on_nested_call() { &ExecReturnValue { flags: ReturnFlags::empty(), data: vec![] } ); - assert!(ctx - .ext - .call( - &Default::default(), - &BOB_ADDR, - U256::zero(), - vec![99], - ReentrancyProtection::AllowReentry, - false - ) - .is_ok()); + assert!( + ctx.ext + .call( + &Default::default(), + &BOB_ADDR, + U256::zero(), + vec![99], + ReentrancyProtection::AllowReentry, + false + ) + .is_ok() + ); assert_eq!( ctx.ext.last_frame_output(), &ExecReturnValue { flags: ReturnFlags::empty(), data: vec![127] } @@ -2895,3 +2899,69 @@ fn block_hash_returns_proper_values() { ); }); } + +#[test] +fn delegatecall_tracer_reports_correct_addresses() { + // This test verifies that the callTracer correctly reports addresses for delegatecall. + // Before the fix, for a delegatecall, the tracer incorrectly reported: + // from = original caller (ALICE), to = delegating contract (BOB) + // After the fix, it correctly reports: + // from = delegating contract (BOB), to = delegate target (CHARLIE) + use crate::{ + evm::{CallTracer, CallType}, + tracing::trace, + }; + + let target_ch = MockLoader::insert(Call, |_, _| exec_success()); + + let delegate_ch = MockLoader::insert(Call, move |ctx, _| { + ctx.ext.delegate_call(&Default::default(), CHARLIE_ADDR, Vec::new())?; + exec_success() + }); + + ExtBuilder::default().build().execute_with(|| { + place_contract(&BOB, delegate_ch); + place_contract(&CHARLIE, target_ch); + set_balance(&ALICE, 100); + + let origin = Origin::from_account_id(ALICE); + let mut meter = TransactionMeter::::new_from_limits(WEIGHT_LIMIT, 0).unwrap(); + + let mut tracer = CallTracer::new(Default::default()); + let result = trace(&mut tracer, || { + MockStack::run_call( + origin, + BOB_ADDR, + &mut meter, + U256::zero(), + vec![], + &ExecConfig::new_substrate_tx(), + ) + }); + assert_ok!(result); + + let call_trace = tracer.collect_trace().unwrap(); + + // Top-level call: ALICE calls BOB + assert_eq!(call_trace.from, ALICE_ADDR); + assert_eq!(call_trace.to, BOB_ADDR); + assert_eq!(call_trace.call_type, CallType::Call); + + // Nested delegatecall trace: BOB delegate-calls CHARLIE + assert_eq!(call_trace.calls.len(), 1); + let delegate_trace = &call_trace.calls[0]; + assert_eq!(delegate_trace.call_type, CallType::DelegateCall); + + // This is the critical assertion for the fix: + // Pre-fix (WRONG): from = ALICE_ADDR, to = BOB_ADDR + // Post-fix (CORRECT): from = BOB_ADDR, to = CHARLIE_ADDR + assert_eq!( + delegate_trace.from, BOB_ADDR, + "delegatecall 'from' should be the contract making the delegatecall (BOB)" + ); + assert_eq!( + delegate_trace.to, CHARLIE_ADDR, + "delegatecall 'to' should be the delegate target (CHARLIE)" + ); + }); +} diff --git a/substrate/frame/revive/src/impl_fungibles.rs b/substrate/frame/revive/src/impl_fungibles.rs index 202298f4a806b..4665391d931e6 100644 --- a/substrate/frame/revive/src/impl_fungibles.rs +++ b/substrate/frame/revive/src/impl_fungibles.rs @@ -24,28 +24,28 @@ #![cfg(any(feature = "std", feature = "runtime-benchmarks", test))] -use crate::{metering::TransactionLimits, OriginFor}; +use crate::{OriginFor, metering::TransactionLimits}; use alloy_core::{ primitives::{Address, U256 as EU256}, sol_types::*, }; use frame_support::{ + PalletId, traits::{ + OriginTrait, tokens::{ - fungible, fungibles, DepositConsequence, Fortitude, Precision, Preservation, - Provenance, WithdrawConsequence, + DepositConsequence, Fortitude, Precision, Preservation, Provenance, + WithdrawConsequence, fungible, fungibles, }, - OriginTrait, }, - PalletId, }; use sp_core::{H160, U256}; -use sp_runtime::{traits::AccountIdConversion, DispatchError}; +use sp_runtime::{DispatchError, traits::AccountIdConversion}; -use super::{address::AddressMapper, pallet, Config, ContractResult, ExecConfig, Pallet, Weight}; +use super::{Config, ContractResult, ExecConfig, Pallet, Weight, address::AddressMapper, pallet}; use ethereum_standards::IERC20; -const WEIGHT_LIMIT: Weight = Weight::from_parts(10_000_000_000, 100_000); +const WEIGHT_LIMIT: Weight = Weight::from_parts(10_000_000_000, 1000_000); impl Pallet { // Test checking account for the `fungibles::*` implementation. @@ -75,14 +75,12 @@ impl fungibles::Inspect<::AccountId> for P <::Currency as fungible::Inspect<_>>::total_issuance(), }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); - if let Ok(return_value) = result { - if let Ok(eu256) = EU256::abi_decode_validate(&return_value.data) { - eu256.to::() - } else { - 0 - } + if let Ok(return_value) = result && + let Ok(eu256) = EU256::abi_decode_validate(&return_value.data) + { + eu256.to::() } else { 0 } @@ -113,14 +111,12 @@ impl fungibles::Inspect<::AccountId> for P <::Currency as fungible::Inspect<_>>::total_issuance(), }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); - if let Ok(return_value) = result { - if let Ok(eu256) = EU256::abi_decode_validate(&return_value.data) { - eu256.to::() - } else { - 0 - } + if let Ok(return_value) = result && + let Ok(eu256) = EU256::abi_decode_validate(&return_value.data) + { + eu256.to::() } else { 0 } @@ -185,7 +181,7 @@ impl fungibles::Mutate<::AccountId> for Pa <::Currency as fungible::Inspect<_>>::total_issuance(), }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); log::trace!(target: "whatiwant", "{weight_consumed}"); if let Ok(return_value) = result { @@ -224,7 +220,7 @@ impl fungibles::Mutate<::AccountId> for Pa <::Currency as fungible::Inspect<_>>::total_issuance(), }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); if let Ok(return_value) = result { if return_value.did_revert() { @@ -288,19 +284,19 @@ impl fungibles::Unbalanced<::AccountId> fo mod tests { use super::*; use crate::{ - test_utils::{builder::*, ALICE}, - tests::{Contracts, ExtBuilder, RuntimeOrigin, Test}, AccountInfoOf, Code, + test_utils::{ALICE, builder::*}, + tests::{Contracts, ExtBuilder, RuntimeOrigin, Test}, }; use frame_support::assert_ok; - const ERC20_PVM_CODE: &[u8] = include_bytes!("../fixtures/erc20/erc20.polkavm"); + use pallet_revive_fixtures::{FixtureType, compile_module_with_type}; #[test] fn call_erc20_contract() { ExtBuilder::default().existential_deposit(1).build().execute_with(|| { let _ = <::Currency as fungible::Mutate<_>>::set_balance(&ALICE, 1_000_000); - let code = ERC20_PVM_CODE.to_vec(); + let code = compile_module_with_type("MyToken", FixtureType::Resolc).unwrap().0.to_vec(); let amount = EU256::from(1000); let constructor_data = sol_data::Uint::<256>::abi_encode(&amount); let Contract { addr, .. } = BareInstantiateBuilder::::bare_instantiate( @@ -325,7 +321,7 @@ mod tests { ExtBuilder::default().existential_deposit(1).build().execute_with(|| { let _ = <::Currency as fungible::Mutate<_>>::set_balance(&ALICE, 1_000_000); - let code = ERC20_PVM_CODE.to_vec(); + let code = compile_module_with_type("MyToken", FixtureType::Resolc).unwrap().0.to_vec(); let amount = 1000; let constructor_data = sol_data::Uint::<256>::abi_encode(&EU256::from(amount)); let Contract { addr, .. } = BareInstantiateBuilder::::bare_instantiate( @@ -345,7 +341,7 @@ mod tests { ExtBuilder::default().existential_deposit(1).build().execute_with(|| { let _ = <::Currency as fungible::Mutate<_>>::set_balance(&ALICE, 1_000_000); - let code = ERC20_PVM_CODE.to_vec(); + let code = compile_module_with_type("MyToken", FixtureType::Resolc).unwrap().0.to_vec(); let amount = 1000; let constructor_data = sol_data::Uint::<256>::abi_encode(&EU256::from(amount)); let Contract { addr, .. } = BareInstantiateBuilder::::bare_instantiate( @@ -363,7 +359,7 @@ mod tests { ExtBuilder::default().existential_deposit(1).build().execute_with(|| { let _ = <::Currency as fungible::Mutate<_>>::set_balance(&ALICE, 1_000_000); - let code = ERC20_PVM_CODE.to_vec(); + let code = compile_module_with_type("MyToken", FixtureType::Resolc).unwrap().0.to_vec(); let amount = 1000; let constructor_data = sol_data::Uint::<256>::abi_encode(&(EU256::from(amount * 2))); let Contract { addr, .. } = BareInstantiateBuilder::::bare_instantiate( @@ -399,7 +395,7 @@ mod tests { &checking_account, 1_000_000, ); - let code = ERC20_PVM_CODE.to_vec(); + let code = compile_module_with_type("MyToken", FixtureType::Resolc).unwrap().0.clone(); let amount = 1000; let constructor_data = sol_data::Uint::<256>::abi_encode(&EU256::from(amount)); // We're instantiating the contract with the `CheckingAccount` so it has `amount` in it. diff --git a/substrate/frame/revive/src/lib.rs b/substrate/frame/revive/src/lib.rs index 90af173fcb8ef..eebf86c56adc5 100644 --- a/substrate/frame/revive/src/lib.rs +++ b/substrate/frame/revive/src/lib.rs @@ -48,20 +48,21 @@ pub mod weights; use crate::{ evm::{ - block_hash::EthereumBlockBuilderIR, block_storage, fees::InfoT as FeeInfo, - runtime::SetWeightLimit, CallTracer, CreateCallMode, GenericTransaction, PrestateTracer, - Trace, Tracer, TracerType, TYPE_EIP1559, + CallTracer, CreateCallMode, ExecutionTracer, GenericTransaction, PrestateTracer, + TYPE_EIP1559, Trace, Tracer, TracerType, block_hash::EthereumBlockBuilderIR, block_storage, + fees::InfoT as FeeInfo, runtime::SetWeightLimit, }, exec::{AccountIdOf, ExecError, ReentrancyProtection, Stack as ExecStack}, storage::{AccountType, DeletionQueueManager}, tracing::if_tracing, - vm::{pvm::extract_code_and_data, CodeInfo, RuntimeCosts}, + vm::{CodeInfo, RuntimeCosts, pvm::extract_code_and_data}, weightinfo_extension::OnFinalizeBlockParts, }; use alloc::{boxed::Box, format, vec}; use codec::{Codec, Decode, Encode}; use environmental::*; use frame_support::{ + BoundedVec, dispatch::{ DispatchErrorWithPostInfo, DispatchResult, DispatchResultWithPostInfo, GetDispatchInfo, Pays, PostDispatchInfo, RawOrigin, @@ -69,50 +70,50 @@ use frame_support::{ ensure, pallet_prelude::DispatchClass, traits::{ + ConstU32, ConstU64, EnsureOrigin, Get, IsSubType, IsType, OriginTrait, fungible::{Balanced, Inspect, Mutate, MutateHold}, tokens::Balance, - ConstU32, ConstU64, EnsureOrigin, Get, IsSubType, IsType, OriginTrait, }, weights::WeightMeter, - BoundedVec, }; use frame_system::{ - ensure_signed, + Pallet as System, ensure_signed, pallet_prelude::{BlockNumberFor, OriginFor}, - Pallet as System, }; use scale_info::TypeInfo; use sp_runtime::{ + AccountId32, DispatchError, FixedPointNumber, FixedU128, SaturatedConversion, traits::{ BadOrigin, Bounded, Convert, Dispatchable, Saturating, UniqueSaturatedFrom, UniqueSaturatedInto, Zero, }, - AccountId32, DispatchError, FixedPointNumber, FixedU128, SaturatedConversion, }; pub use crate::{ address::{ - create1, create2, is_eth_derived, AccountId32Mapper, AddressMapper, TestAccountMapper, + AccountId32Mapper, AddressMapper, TestAccountMapper, create1, create2, is_eth_derived, }, debug::DebugSettings, evm::{ - block_hash::ReceiptGasInfo, Address as EthAddress, Block as EthBlock, DryRunConfig, - ReceiptInfo, + Address as EthAddress, Block as EthBlock, DryRunConfig, ReceiptInfo, + block_hash::ReceiptGasInfo, }, exec::{CallResources, DelegateInfo, Executable, Key, MomentOf, Origin as ExecOrigin}, + limits::TRANSIENT_STORAGE_BYTES as TRANSIENT_STORAGE_LIMIT, metering::{ EthTxInfo, FrameMeter, ResourceMeter, Token as WeightToken, TransactionLimits, TransactionMeter, }, pallet::{genesis, *}, storage::{AccountInfo, ContractInfo}, + transient_storage::{MeterEntry, StorageMeter as TransientStorageMeter, TransientStorage}, vm::{BytecodeType, ContractBlob}, }; pub use codec; pub use frame_support::{self, dispatch::DispatchInfo, traits::Time, weights::Weight}; pub use frame_system::{self, limits::BlockWeights}; pub use primitives::*; -pub use sp_core::{keccak_256, H160, H256, U256}; +pub use sp_core::{H160, H256, U256, keccak_256}; pub use sp_runtime; pub use weights::WeightInfo; @@ -260,18 +261,6 @@ pub mod pallet { #[pallet::no_default] type AddressMapper: AddressMapper; - /// Make contract callable functions marked as `#[unstable]` available. - /// - /// Contracts that use `#[unstable]` functions won't be able to be uploaded unless - /// this is set to `true`. This is only meant for testnets and dev nodes in order to - /// experiment with new features. - /// - /// # Warning - /// - /// Do **not** set to `true` on productions chains. - #[pallet::constant] - type UnsafeUnstableInterface: Get; - /// Allow EVM bytecode to be uploaded and instantiated. #[pallet::constant] type AllowEVMBytecode: Get; @@ -438,7 +427,6 @@ pub mod pallet { type DepositPerItem = DepositPerItem; type DepositPerChildTrieItem = DepositPerChildTrieItem; type Time = Self; - type UnsafeUnstableInterface = ConstBool; type AllowEVMBytecode = ConstBool; type UploadOrigin = EnsureSigned; type InstantiateOrigin = EnsureSigned; @@ -623,6 +611,8 @@ pub mod pallet { /// Some pre-compile functions will trap the caller context if being delegate /// called or if their caller was being delegate called. PrecompileDelegateDenied = 0x40, + /// ECDSA public key recovery failed. Most probably wrong recovery id or signature. + EcdsaRecoveryFailed = 0x41, /// Benchmarking only error. #[cfg(feature = "runtime-benchmarks")] BenchmarkingError = 0xFF, @@ -745,7 +735,7 @@ pub mod pallet { #[derive(Clone, PartialEq, Debug, Default, serde::Serialize, serde::Deserialize)] pub struct ContractData { /// Contract code. - pub code: Vec, + pub code: crate::evm::Bytes, /// Initial storage entries as 32-byte key/value pairs. pub storage: alloc::collections::BTreeMap, } @@ -824,12 +814,12 @@ pub mod pallet { ); }, Some(genesis::ContractData { code, storage }) => { - let blob = if code.starts_with(&polkavm_common::program::BLOB_MAGIC) { - ContractBlob::::from_pvm_code( code.clone(), owner.clone()).inspect_err(|err| { + let blob = if code.0.starts_with(&polkavm_common::program::BLOB_MAGIC) { + ContractBlob::::from_pvm_code( code.0.clone(), owner.clone()).inspect_err(|err| { log::error!(target: LOG_TARGET, "Failed to create PVM ContractBlob for {address:?}: {err:?}"); }) } else { - ContractBlob::::from_evm_runtime_code(code.clone(), account_id).inspect_err(|err| { + ContractBlob::::from_evm_runtime_code(code.0.clone(), account_id).inspect_err(|err| { log::error!(target: LOG_TARGET, "Failed to create EVM ContractBlob for {address:?}: {err:?}"); }) }; @@ -852,7 +842,7 @@ pub mod pallet { AccountInfo { account_type: info.clone().into(), dust: 0 }, ); - >::insert(blob.code_hash(), code); + >::insert(blob.code_hash(), code.0.clone()); >::insert(blob.code_hash(), blob.code_info().clone()); for (k, v) in storage { let _ = info.write(&Key::from_fixed(k.0), Some(v.0.to_vec()), None, false).inspect_err(|err| { @@ -1114,13 +1104,13 @@ pub mod pallet { deposit_limit: storage_deposit_limit, }, data, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); - if let Ok(return_value) = &output.result { - if return_value.did_revert() { - output.result = Err(>::ContractReverted.into()); - } + if let Ok(return_value) = &output.result && + return_value.did_revert() + { + output.result = Err(>::ContractReverted.into()); } dispatch_result( output.result, @@ -1159,12 +1149,12 @@ pub mod pallet { Code::Existing(code_hash), data, salt, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); - if let Ok(retval) = &output.result { - if retval.result.did_revert() { - output.result = Err(>::ContractReverted.into()); - } + if let Ok(retval) = &output.result && + retval.result.did_revert() + { + output.result = Err(>::ContractReverted.into()); } dispatch_result( output.result.map(|result| result.result), @@ -1227,12 +1217,12 @@ pub mod pallet { Code::Upload(code), data, salt, - ExecConfig::new_substrate_tx(), + &ExecConfig::new_substrate_tx(), ); - if let Ok(retval) = &output.result { - if retval.result.did_revert() { - output.result = Err(>::ContractReverted.into()); - } + if let Ok(retval) = &output.result && + retval.result.did_revert() + { + output.result = Err(>::ContractReverted.into()); } dispatch_result( output.result.map(|result| result.result), @@ -1303,13 +1293,13 @@ pub mod pallet { value, TransactionLimits::EthereumGas { eth_gas_limit: eth_gas_limit.saturated_into(), - maybe_weight_limit: Some(weight_limit), + weight_limit, eth_tx_info: EthTxInfo::new(encoded_len, extra_weight), }, Code::Upload(code), data, None, - ExecConfig::new_eth_tx(effective_gas_price, encoded_len, extra_weight), + &ExecConfig::new_eth_tx(effective_gas_price, encoded_len, extra_weight), ); block_storage::EthereumCallResult::new::( @@ -1383,11 +1373,11 @@ pub mod pallet { value, TransactionLimits::EthereumGas { eth_gas_limit: eth_gas_limit.saturated_into(), - maybe_weight_limit: Some(weight_limit), + weight_limit, eth_tx_info: EthTxInfo::new(encoded_len, extra_weight), }, data, - ExecConfig::new_eth_tx(effective_gas_price, encoded_len, extra_weight), + &ExecConfig::new_eth_tx(effective_gas_price, encoded_len, extra_weight), ); block_storage::EthereumCallResult::new::( @@ -1603,13 +1593,12 @@ impl Pallet { evm_value: U256, transaction_limits: TransactionLimits, data: Vec, - exec_config: ExecConfig, + exec_config: &ExecConfig, ) -> ContractResult> { let mut transaction_meter = match TransactionMeter::new(transaction_limits) { Ok(transaction_meter) => transaction_meter, Err(error) => return ContractResult { result: Err(error), ..Default::default() }, }; - let mut storage_deposit = Default::default(); let try_call = || { @@ -1680,7 +1669,7 @@ impl Pallet { code: Code, data: Vec, salt: Option<[u8; 32]>, - exec_config: ExecConfig, + exec_config: &ExecConfig, ) -> ContractResult> { let mut transaction_meter = match TransactionMeter::new(transaction_limits) { Ok(transaction_meter) => transaction_meter, @@ -1705,15 +1694,16 @@ impl Pallet { )?; executable }, - Code::Upload(code) => + Code::Upload(code) => { if T::AllowEVMBytecode::get() { ensure!(data.is_empty(), >::EvmConstructorNonEmptyData); let origin = T::UploadOrigin::ensure_origin(origin)?; let executable = ContractBlob::from_evm_init_code(code, origin)?; executable } else { - return Err(>::CodeRejected.into()) - }, + return Err(>::CodeRejected.into()); + } + }, Code::Existing(code_hash) => { let executable = ContractBlob::from_storage(code_hash, &mut transaction_meter)?; ensure!(executable.code_info().is_pvm(), >::EvmConstructedFromHash); @@ -1862,9 +1852,7 @@ impl Pallet { let transaction_limits = TransactionLimits::EthereumGas { eth_gas_limit: call_info.eth_gas_limit.saturated_into(), - // no need to limit weight here, we will check later whether it exceeds - // evm_max_extrinsic_weight - maybe_weight_limit: None, + weight_limit: Self::evm_max_extrinsic_weight(), eth_tx_info: EthTxInfo::new(call_info.encoded_len, base_weight), }; @@ -1897,7 +1885,7 @@ impl Pallet { value, transaction_limits, input.clone(), - exec_config, + &exec_config, ); let data = match result.result { @@ -1939,7 +1927,7 @@ impl Pallet { Code::Upload(code.clone()), data.clone(), None, - exec_config, + &exec_config, ); let returned_data = match result.result { @@ -2050,11 +2038,7 @@ impl Pallet { pub fn eth_block_hash_from_number(number: U256) -> Option { let number = BlockNumberFor::::try_from(number).ok()?; let hash = >::get(number); - if hash == H256::zero() { - None - } else { - Some(hash) - } + if hash == H256::zero() { None } else { Some(hash) } } /// The details needed to reconstruct the receipt information offchain. @@ -2146,8 +2130,12 @@ impl Pallet { { match tracer_type { TracerType::CallTracer(config) => CallTracer::new(config.unwrap_or_default()).into(), - TracerType::PrestateTracer(config) => - PrestateTracer::new(config.unwrap_or_default()).into(), + TracerType::PrestateTracer(config) => { + PrestateTracer::new(config.unwrap_or_default()).into() + }, + TracerType::ExecutionTracer(config) => { + ExecutionTracer::new(config.unwrap_or_default()).into() + }, } } @@ -2165,7 +2153,7 @@ impl Pallet { BytecodeType::Pvm } else { if !T::AllowEVMBytecode::get() { - return Err(>::CodeRejected.into()) + return Err(>::CodeRejected.into()); } BytecodeType::Evm }; @@ -2313,7 +2301,7 @@ impl Pallet { pub fn code(address: &H160) -> Vec { use precompiles::{All, Precompiles}; if let Some(code) = >::code(address.as_fixed_bytes()) { - return code.into() + return code.into(); } AccountInfo::::load_contract(&address) .and_then(|contract| >::get(contract.code_hash)) @@ -2515,14 +2503,14 @@ impl Pallet { /// This enforces EIP-3607. fn ensure_non_contract_if_signed(origin: &OriginFor) -> DispatchResult { if DebugSettings::bypass_eip_3607::() { - return Ok(()) + return Ok(()); } let Some(address) = origin .as_system_ref() .and_then(|o| o.as_signed()) .map(>::to_address) else { - return Ok(()) + return Ok(()); }; if exec::is_precompile::>(&address) || >::is_contract(&address) @@ -2828,7 +2816,7 @@ macro_rules! impl_runtime_apis_plus_revive_traits { deposit_limit: storage_deposit_limit.unwrap_or(u128::MAX), }, input_data, - $crate::ExecConfig::new_substrate_tx().with_dry_run(Default::default()), + &$crate::ExecConfig::new_substrate_tx().with_dry_run(Default::default()), ) } @@ -2856,7 +2844,7 @@ macro_rules! impl_runtime_apis_plus_revive_traits { code, data, salt, - $crate::ExecConfig::new_substrate_tx().with_dry_run(Default::default()), + &$crate::ExecConfig::new_substrate_tx().with_dry_run(Default::default()), ) } @@ -2890,6 +2878,13 @@ macro_rules! impl_runtime_apis_plus_revive_traits { tracer_type: $crate::evm::TracerType, ) -> Vec<(u32, $crate::evm::Trace)> { use $crate::{sp_runtime::traits::Block, tracing::trace}; + + if matches!(tracer_type, $crate::evm::TracerType::ExecutionTracer(_)) && + !$crate::DebugSettings::is_execution_tracing_enabled::() + { + return Default::default() + } + let mut traces = vec![]; let (header, extrinsics) = block.deconstruct(); <$Executive>::initialize_block(&header); @@ -2913,6 +2908,12 @@ macro_rules! impl_runtime_apis_plus_revive_traits { ) -> Option<$crate::evm::Trace> { use $crate::{sp_runtime::traits::Block, tracing::trace}; + if matches!(tracer_type, $crate::evm::TracerType::ExecutionTracer(_)) && + !$crate::DebugSettings::is_execution_tracing_enabled::() + { + return None + } + let mut tracer = $crate::Pallet::::evm_tracer(tracer_type); let (header, extrinsics) = block.deconstruct(); @@ -2935,6 +2936,13 @@ macro_rules! impl_runtime_apis_plus_revive_traits { tracer_type: $crate::evm::TracerType, ) -> Result<$crate::evm::Trace, $crate::EthTransactError> { use $crate::tracing::trace; + + if matches!(tracer_type, $crate::evm::TracerType::ExecutionTracer(_)) && + !$crate::DebugSettings::is_execution_tracing_enabled::() + { + return Err($crate::EthTransactError::Message("Execution Tracing is disabled".into())) + } + let mut tracer = $crate::Pallet::::evm_tracer(tracer_type.clone()); let t = tracer.as_tracing(); diff --git a/substrate/frame/revive/src/limits.rs b/substrate/frame/revive/src/limits.rs index 6cc838576e81f..32ae2b160e711 100644 --- a/substrate/frame/revive/src/limits.rs +++ b/substrate/frame/revive/src/limits.rs @@ -145,13 +145,13 @@ pub mod code { let len: u64 = pvm_blob.len() as u64; if len > crate::limits::code::BLOB_BYTES.into() { log::debug!(target: LOG_TARGET, "contract blob too large: {len} limit: {BLOB_BYTES}"); - return Err(>::BlobTooLarge.into()) + return Err(>::BlobTooLarge.into()); } #[cfg(feature = "std")] if std::env::var_os("REVIVE_SKIP_VALIDATION").is_some() { log::warn!(target: LOG_TARGET, "Skipping validation because env var REVIVE_SKIP_VALIDATION is set"); - return Ok(pvm_blob) + return Ok(pvm_blob); } let program = polkavm::ProgramBlob::parse(pvm_blob.as_slice().into()).map_err(|err| { @@ -208,13 +208,13 @@ pub mod code { match inst.kind { Instruction::invalid => { log::debug!(target: LOG_TARGET, "invalid instruction at offset {}", inst.offset); - return Err(>::InvalidInstruction.into()) + return Err(>::InvalidInstruction.into()); }, // Since polkavm `0.30.0` linker will fail if it detects sbrk instruction. // So this branch is never reached for programs built with polkavm >= 0.30.0. Instruction::sbrk(_, _) => { log::debug!(target: LOG_TARGET, "sbrk instruction is not allowed. offset {}", inst.offset); - return Err(>::InvalidInstruction.into()) + return Err(>::InvalidInstruction.into()); }, // Only benchmarking code is allowed to circumvent the import table. We might want // to remove this magic syscall number later. Hence we need to prevent contracts @@ -222,7 +222,7 @@ pub mod code { #[cfg(not(feature = "runtime-benchmarks"))] Instruction::ecalli(idx) if idx == crate::SENTINEL => { log::debug!(target: LOG_TARGET, "reserved syscall idx {idx}. offset {}", inst.offset); - return Err(>::InvalidInstruction.into()) + return Err(>::InvalidInstruction.into()); }, _ => (), } @@ -231,7 +231,7 @@ pub mod code { if max_block_size > BASIC_BLOCK_SIZE { log::debug!(target: LOG_TARGET, "basic block too large: {max_block_size} limit: {BASIC_BLOCK_SIZE}"); - return Err(Error::::BasicBlockTooLarge.into()) + return Err(Error::::BasicBlockTooLarge.into()); } let usage_args = EstimateInterpreterMemoryUsageArgs::BoundedCache { @@ -259,7 +259,7 @@ pub mod code { program_info.purgeable_ram_consumption, PURGABLE_MEMORY_LIMIT, ); - return Err(Error::::StaticMemoryTooLarge.into()) + return Err(Error::::StaticMemoryTooLarge.into()); } if program_info.baseline_ram_consumption > BASELINE_MEMORY_LIMIT { @@ -267,7 +267,7 @@ pub mod code { program_info.baseline_ram_consumption, BASELINE_MEMORY_LIMIT, ); - return Err(Error::::StaticMemoryTooLarge.into()) + return Err(Error::::StaticMemoryTooLarge.into()); } Ok(pvm_blob) diff --git a/substrate/frame/revive/src/metering/gas.rs b/substrate/frame/revive/src/metering/gas.rs index 293be5d22a2f4..7cee692c76940 100644 --- a/substrate/frame/revive/src/metering/gas.rs +++ b/substrate/frame/revive/src/metering/gas.rs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License -use crate::{evm::fees::InfoT, BalanceOf, Config, StorageDeposit}; +use crate::{BalanceOf, Config, StorageDeposit, evm::fees::InfoT}; use frame_support::DebugNoBound; use sp_core::Get; use sp_runtime::{FixedPointNumber, Saturating}; @@ -49,11 +49,7 @@ impl SignedGas { /// /// Ensures the invariant that `Negative` must not be used for zero pub fn safe_new_negative(amount: BalanceOf) -> Self { - if amount == Default::default() { - Positive(amount) - } else { - Negative(amount) - } + if amount == Default::default() { Positive(amount) } else { Negative(amount) } } /// Transform a weight fee into a gas amount. @@ -76,8 +72,9 @@ impl SignedGas { match deposit { StorageDeposit::Charge(amount) => Positive(multiplier.saturating_mul_int(*amount)), - StorageDeposit::Refund(amount) => - Self::safe_new_negative(multiplier.saturating_mul_int(*amount)), + StorageDeposit::Refund(amount) => { + Self::safe_new_negative(multiplier.saturating_mul_int(*amount)) + }, } } @@ -96,8 +93,9 @@ impl SignedGas { let gas_scale: BalanceOf = ::GasScale::get().into(); match self { - Positive(amount) => - Some((amount.saturating_add(gas_scale.saturating_sub(1u32.into()))) / gas_scale), + Positive(amount) => { + Some((amount.saturating_add(gas_scale.saturating_sub(1u32.into()))) / gas_scale) + }, Negative(..) => None, } } @@ -120,18 +118,20 @@ impl SignedGas { match (self, rhs) { (Positive(lhs), Positive(rhs)) => Positive(lhs.saturating_add(*rhs)), (Negative(lhs), Negative(rhs)) => Self::safe_new_negative(lhs.saturating_add(*rhs)), - (Positive(lhs), Negative(rhs)) => + (Positive(lhs), Negative(rhs)) => { if lhs >= rhs { Positive(lhs.saturating_sub(*rhs)) } else { Self::safe_new_negative(rhs.saturating_sub(*lhs)) - }, - (Negative(lhs), Positive(rhs)) => + } + }, + (Negative(lhs), Positive(rhs)) => { if lhs > rhs { Self::safe_new_negative(lhs.saturating_sub(*rhs)) } else { Positive(rhs.saturating_sub(*lhs)) - }, + } + }, } } @@ -140,18 +140,20 @@ impl SignedGas { match (self, rhs) { (Positive(lhs), Negative(rhs)) => Positive(lhs.saturating_add(*rhs)), (Negative(lhs), Positive(rhs)) => Self::safe_new_negative(lhs.saturating_add(*rhs)), - (Positive(lhs), Positive(rhs)) => + (Positive(lhs), Positive(rhs)) => { if lhs >= rhs { Positive(lhs.saturating_sub(*rhs)) } else { Self::safe_new_negative(rhs.saturating_sub(*lhs)) - }, - (Negative(lhs), Negative(rhs)) => + } + }, + (Negative(lhs), Negative(rhs)) => { if lhs > rhs { Self::safe_new_negative(lhs.saturating_sub(*rhs)) } else { Positive(rhs.saturating_sub(*lhs)) - }, + } + }, } } diff --git a/substrate/frame/revive/src/metering/math.rs b/substrate/frame/revive/src/metering/math.rs index 54f1df1922c83..363462154d37c 100644 --- a/substrate/frame/revive/src/metering/math.rs +++ b/substrate/frame/revive/src/metering/math.rs @@ -46,7 +46,7 @@ pub mod substrate_execution { deposit_limit: BalanceOf, ) -> Result, DispatchError> { Ok(TransactionMeter { - weight: WeightMeter::new(Some(weight_limit), None), + weight: WeightMeter::new(weight_limit, None), deposit: RootStorageMeter::new(Some(deposit_limit)), // ignore max total gas for Substrate executions max_total_gas: Default::default(), @@ -84,10 +84,6 @@ pub mod substrate_execution { let weight_left = meter .weight .weight_limit - .expect( - "Weight limits are always defined for `ResourceMeter` in Substrate \ - execution mode (i.e., when its `transaction_limits` are `WeightAndDeposit`); qed", - ) .checked_sub(&self_consumed_weight) .ok_or(>::OutOfGas)?; @@ -140,7 +136,7 @@ pub mod substrate_execution { let stipend = if *add_stipend { let weight_stipend = determine_call_stipend::(); if weight_left.any_lt(weight_stipend) { - return Err(>::OutOfGas.into()) + return Err(>::OutOfGas.into()); } weight_limit.saturating_accrue(weight_stipend); @@ -156,12 +152,14 @@ pub mod substrate_execution { CallResources::WeightDeposit { weight, deposit_limit } => // when explicit weight+deposit requested, take the minimum of parent's left // and the requested per-call limits. - (weight_left.min(*weight), deposit_left.min(*deposit_limit), None), + { + (weight_left.min(*weight), deposit_left.min(*deposit_limit), None) + }, } }; Ok(FrameMeter:: { - weight: WeightMeter::new(Some(nested_weight_limit), stipend), + weight: WeightMeter::new(nested_weight_limit, stipend), deposit: meter.deposit.nested(Some(nested_deposit_limit)), max_total_gas: Default::default(), total_consumed_weight_before: total_consumed_weight, @@ -195,11 +193,7 @@ pub mod substrate_execution { /// /// Subtracts the weight already consumed in the current frame from the configured limit. pub fn weight_left(meter: &ResourceMeter) -> Option { - let weight_limit = meter.weight.weight_limit.expect( - "Weight limits are always defined for `ResourceMeter` in Substrate \ - execution mode (i.e., when its `transaction_limits` are `WeightAndDeposit`); qed", - ); - weight_limit.checked_sub(&meter.weight.weight_consumed()) + meter.weight.weight_limit.checked_sub(&meter.weight.weight_consumed()) } /// Return remaining deposit available to the given meter. @@ -269,18 +263,18 @@ pub mod ethereum_execution { /// otherwise it returns an error. pub fn new_root( eth_gas_limit: BalanceOf, - maybe_weight_limit: Option, + weight_limit: Weight, eth_tx_info: EthTxInfo, ) -> Result, DispatchError> { let meter = TransactionMeter { - weight: WeightMeter::new(maybe_weight_limit, None), + weight: WeightMeter::new(weight_limit, None), deposit: RootStorageMeter::new(None), max_total_gas: SignedGas::from_ethereum_gas(eth_gas_limit), total_consumed_weight_before: Default::default(), total_consumed_deposit_before: Default::default(), transaction_limits: TransactionLimits::EthereumGas { eth_gas_limit, - maybe_weight_limit, + weight_limit, eth_tx_info, }, _phantom: PhantomData, @@ -331,12 +325,13 @@ pub mod ethereum_execution { ) .ok_or(>::OutOfGas)?; - match meter.weight.weight_limit { - Some(weight_limit) => unbounded_weight_left.min( - weight_limit.checked_sub(&self_consumed_weight).ok_or(>::OutOfGas)?, - ), - None => unbounded_weight_left, - } + unbounded_weight_left.min( + meter + .weight + .weight_limit + .checked_sub(&self_consumed_weight) + .ok_or(>::OutOfGas)?, + ) }; let deposit_left = { @@ -358,7 +353,7 @@ pub mod ethereum_execution { match limit { CallResources::NoLimits => ( remaining_gas, - if meter.weight.weight_limit.is_none() { None } else { Some(weight_left) }, + weight_left, if meter.deposit.limit.is_none() { None } else { Some(deposit_left) }, None, ), @@ -369,7 +364,7 @@ pub mod ethereum_execution { let (gas_limit, stipend) = if *add_stipend { let weight_stipend = determine_call_stipend::(); if weight_left.any_lt(weight_stipend) { - return Err(>::OutOfGas.into()) + return Err(>::OutOfGas.into()); } ( @@ -384,7 +379,7 @@ pub mod ethereum_execution { ( remaining_gas.min(&gas_limit), - if meter.weight.weight_limit.is_none() { None } else { Some(weight_left) }, + weight_left, if meter.deposit.limit.is_none() { None } else { Some(deposit_left) }, stipend, ) @@ -404,7 +399,7 @@ pub mod ethereum_execution { ( remaining_gas.min(&gas_limit), - Some(nested_weight_limit), + nested_weight_limit, Some(nested_deposit_limit), None, ) @@ -463,10 +458,7 @@ pub mod ethereum_execution { &total_consumed_deposit, )?; - Some(match meter.weight.weight_limit { - Some(weight_limit) => weight_left.min(weight_limit.checked_sub(&self_consumed_weight)?), - None => weight_left, - }) + Some(weight_left.min(meter.weight.weight_limit.checked_sub(&self_consumed_weight)?)) } /// Return remaining deposit available to a nested frame under Ethereum-style execution. diff --git a/substrate/frame/revive/src/metering/mod.rs b/substrate/frame/revive/src/metering/mod.rs index 1701bf3fdf1ef..d9137bdb8ad6b 100644 --- a/substrate/frame/revive/src/metering/mod.rs +++ b/substrate/frame/revive/src/metering/mod.rs @@ -24,8 +24,8 @@ mod weight; mod tests; use crate::{ - evm::fees::InfoT, exec::CallResources, storage::ContractInfo, vm::evm::Halt, BalanceOf, Config, - Error, ExecConfig, ExecOrigin as Origin, StorageDeposit, LOG_TARGET, + BalanceOf, Config, Error, ExecConfig, ExecOrigin as Origin, LOG_TARGET, StorageDeposit, + evm::fees::InfoT, exec::CallResources, storage::ContractInfo, vm::evm::Halt, }; pub use gas::SignedGas; @@ -117,10 +117,10 @@ pub enum TransactionLimits { EthereumGas { /// The Ethereum gas limit eth_gas_limit: BalanceOf, - /// If this is provided, we will additionally ensure that execution will not exhaust this + /// The weight limit for this transaction. This ensures that execution will not exhaust /// weight limit. This is required for eth_transact extrinsic execution to ensure that the /// max extrinsic weights is not overstepped. - maybe_weight_limit: Option, + weight_limit: Weight, /// Some extra information about the transaction that is required to calculate gas usage. eth_tx_info: EthTxInfo, }, @@ -156,10 +156,12 @@ impl ResourceMeter { ); let mut new_meter = match &self.transaction_limits { - TransactionLimits::EthereumGas { eth_tx_info, .. } => - math::ethereum_execution::new_nested_meter(self, limit, eth_tx_info), - TransactionLimits::WeightAndDeposit { .. } => - math::substrate_execution::new_nested_meter(self, limit), + TransactionLimits::EthereumGas { eth_tx_info, .. } => { + math::ethereum_execution::new_nested_meter(self, limit, eth_tx_info) + }, + TransactionLimits::WeightAndDeposit { .. } => { + math::substrate_execution::new_nested_meter(self, limit) + }, }?; new_meter.adjust_effective_weight_limit()?; @@ -353,8 +355,9 @@ impl ResourceMeter { /// Returns None if resources are exhausted or conversion fails. pub fn eth_gas_left(&self) -> Option> { let gas_left = match &self.transaction_limits { - TransactionLimits::EthereumGas { eth_tx_info, .. } => - math::ethereum_execution::gas_left(self, eth_tx_info), + TransactionLimits::EthereumGas { eth_tx_info, .. } => { + math::ethereum_execution::gas_left(self, eth_tx_info) + }, TransactionLimits::WeightAndDeposit { .. } => math::substrate_execution::gas_left(self), }?; @@ -369,10 +372,12 @@ impl ResourceMeter { /// Returns None if resources are exhausted. pub fn weight_left(&self) -> Option { match &self.transaction_limits { - TransactionLimits::EthereumGas { eth_tx_info, .. } => - math::ethereum_execution::weight_left(self, eth_tx_info), - TransactionLimits::WeightAndDeposit { .. } => - math::substrate_execution::weight_left(self), + TransactionLimits::EthereumGas { eth_tx_info, .. } => { + math::ethereum_execution::weight_left(self, eth_tx_info) + }, + TransactionLimits::WeightAndDeposit { .. } => { + math::substrate_execution::weight_left(self) + }, } } @@ -384,10 +389,12 @@ impl ResourceMeter { /// Returns None if resources are exhausted. pub fn deposit_left(&self) -> Option> { match &self.transaction_limits { - TransactionLimits::EthereumGas { eth_tx_info, .. } => - math::ethereum_execution::deposit_left(self, eth_tx_info), - TransactionLimits::WeightAndDeposit { .. } => - math::substrate_execution::deposit_left(self), + TransactionLimits::EthereumGas { eth_tx_info, .. } => { + math::ethereum_execution::deposit_left(self, eth_tx_info) + }, + TransactionLimits::WeightAndDeposit { .. } => { + math::substrate_execution::deposit_left(self) + }, } } @@ -399,10 +406,12 @@ impl ResourceMeter { /// - For substrate mode: synthesizes from weight+deposit usage pub fn total_consumed_gas(&self) -> BalanceOf { let signed_gas = match &self.transaction_limits { - TransactionLimits::EthereumGas { eth_tx_info, .. } => - math::ethereum_execution::total_consumed_gas(self, eth_tx_info), - TransactionLimits::WeightAndDeposit { .. } => - math::substrate_execution::total_consumed_gas(self), + TransactionLimits::EthereumGas { eth_tx_info, .. } => { + math::ethereum_execution::total_consumed_gas(self, eth_tx_info) + }, + TransactionLimits::WeightAndDeposit { .. } => { + math::substrate_execution::total_consumed_gas(self) + }, }; signed_gas.to_ethereum_gas().unwrap_or_default() @@ -439,10 +448,12 @@ impl ResourceMeter { /// Get the Ethereum gas that has been consumed during the lifetime of this meter pub fn eth_gas_consumed(&self) -> BalanceOf { let signed_gas = match &self.transaction_limits { - TransactionLimits::EthereumGas { eth_tx_info, .. } => - math::ethereum_execution::eth_gas_consumed(self, eth_tx_info), - TransactionLimits::WeightAndDeposit { .. } => - math::substrate_execution::eth_gas_consumed(self), + TransactionLimits::EthereumGas { eth_tx_info, .. } => { + math::ethereum_execution::eth_gas_consumed(self, eth_tx_info) + }, + TransactionLimits::WeightAndDeposit { .. } => { + math::substrate_execution::eth_gas_consumed(self) + }, }; signed_gas.to_ethereum_gas().unwrap_or_default() @@ -455,7 +466,7 @@ impl ResourceMeter { /// consumed storage deposits. fn adjust_effective_weight_limit(&mut self) -> DispatchResult { if matches!(self.transaction_limits, TransactionLimits::WeightAndDeposit { .. }) { - return Ok(()) + return Ok(()); } if let Some(weight_left) = self.weight_left() { @@ -481,10 +492,12 @@ impl TransactionMeter { ); let mut transaction_meter = match transaction_limits { - TransactionLimits::EthereumGas { eth_gas_limit, maybe_weight_limit, eth_tx_info } => - math::ethereum_execution::new_root(eth_gas_limit, maybe_weight_limit, eth_tx_info), - TransactionLimits::WeightAndDeposit { weight_limit, deposit_limit } => - math::substrate_execution::new_root(weight_limit, deposit_limit), + TransactionLimits::EthereumGas { eth_gas_limit, weight_limit, eth_tx_info } => { + math::ethereum_execution::new_root(eth_gas_limit, weight_limit, eth_tx_info) + }, + TransactionLimits::WeightAndDeposit { weight_limit, deposit_limit } => { + math::substrate_execution::new_root(weight_limit, deposit_limit) + }, }?; transaction_meter.adjust_effective_weight_limit()?; @@ -612,6 +625,18 @@ impl FrameMeter { Ok(()) } + + /// Apply pending storage changes to a ContractInfo without finalizing the meter. + /// + /// This is used before creating a nested frame to ensure the child frame can see + /// the parent's pending storage changes when calculating refunds. This fixes the issue + /// where storage deposit refunds fail in subframes because the parent's pending + /// charges haven't been committed to ContractInfo yet. + /// + /// See: + pub fn apply_pending_storage_changes(&self, info: &mut ContractInfo) { + self.deposit.apply_pending_changes_to_contract(info); + } } /// Ethereum transaction context for gas conversions. diff --git a/substrate/frame/revive/src/metering/storage.rs b/substrate/frame/revive/src/metering/storage.rs index 33580057aa14f..05c134c38bed4 100644 --- a/substrate/frame/revive/src/metering/storage.rs +++ b/substrate/frame/revive/src/metering/storage.rs @@ -22,15 +22,15 @@ mod tests; use super::{Nested, Root, State}; use crate::{ - storage::ContractInfo, BalanceOf, Config, ExecConfig, ExecOrigin as Origin, HoldReason, Pallet, - StorageDeposit as Deposit, + BalanceOf, Config, ExecConfig, ExecOrigin as Origin, HoldReason, Pallet, + StorageDeposit as Deposit, storage::ContractInfo, }; use alloc::vec::Vec; use core::{marker::PhantomData, mem}; -use frame_support::{traits::Get, DebugNoBound, DefaultNoBound}; +use frame_support::{DebugNoBound, DefaultNoBound, traits::Get}; use sp_runtime::{ - traits::{Saturating, Zero}, DispatchError, FixedPointNumber, FixedU128, + traits::{Saturating, Zero}, }; #[cfg(test)] @@ -130,7 +130,7 @@ impl Diff { let info = if let Some(info) = info { info } else { - return bytes_deposit.saturating_add(&items_deposit) + return bytes_deposit.saturating_add(&items_deposit); }; // Refunds are calculated pro rata based on the accumulated storage within the contract @@ -153,16 +153,20 @@ impl Diff { info.storage_items = info.storage_items.saturating_add(items_added).saturating_sub(items_removed); match &bytes_deposit { - Deposit::Charge(amount) => - info.storage_byte_deposit = info.storage_byte_deposit.saturating_add(*amount), - Deposit::Refund(amount) => - info.storage_byte_deposit = info.storage_byte_deposit.saturating_sub(*amount), + Deposit::Charge(amount) => { + info.storage_byte_deposit = info.storage_byte_deposit.saturating_add(*amount) + }, + Deposit::Refund(amount) => { + info.storage_byte_deposit = info.storage_byte_deposit.saturating_sub(*amount) + }, } match &items_deposit { - Deposit::Charge(amount) => - info.storage_item_deposit = info.storage_item_deposit.saturating_add(*amount), - Deposit::Refund(amount) => - info.storage_item_deposit = info.storage_item_deposit.saturating_sub(*amount), + Deposit::Charge(amount) => { + info.storage_item_deposit = info.storage_item_deposit.saturating_add(*amount) + }, + Deposit::Refund(amount) => { + info.storage_item_deposit = info.storage_item_deposit.saturating_sub(*amount) + }, } bytes_deposit.saturating_add(&items_deposit) @@ -409,11 +413,12 @@ where self.total_deposit = self.total_deposit.saturating_sub(&amount); last.state = ContractState::Terminated; }, - (ContractState::Terminated, ContractState::Terminated) => + (ContractState::Terminated, ContractState::Terminated) => { debug_assert!( false, "We never emit two terminates for the same contract." - ), + ) + }, } continue; } @@ -487,6 +492,22 @@ impl> RawMeter { // no need to recalculate max_charged here as the consumed amount cannot increase // when taking removed bytes/items into account } + + /// Apply pending storage changes to a ContractInfo without finalizing the meter. + /// + /// This is used before creating a nested frame to ensure the child frame can see + /// the parent's pending storage changes when calculating refunds. + /// + /// Unlike [`Self::finalize_own_contributions`], this does not consume the pending diff, + /// allowing the meter to continue tracking changes after the nested call returns. + pub fn apply_pending_changes_to_contract(&self, info: &mut ContractInfo) { + if let Contribution::Alive(diff) = &self.own_contribution { + // Apply the diff to update the ContractInfo's storage deposit fields. + // We don't care about the return value (the deposit amount) here, + // we just want to update the ContractInfo so child frames can see it. + let _ = diff.update_contract::(Some(info)); + } + } } impl Ext for ReservingExt { diff --git a/substrate/frame/revive/src/metering/tests.rs b/substrate/frame/revive/src/metering/tests.rs index 23614230b6256..712a337b87c89 100644 --- a/substrate/frame/revive/src/metering/tests.rs +++ b/substrate/frame/revive/src/metering/tests.rs @@ -16,15 +16,16 @@ // limitations under the License. use crate::{ - test_utils::{builder::Contract, ALICE, ALICE_ADDR}, - tests::{builder, ExtBuilder, Test}, BalanceOf, CallResources, Code, Config, EthTxInfo, StorageDeposit, TransactionLimits, TransactionMeter, WeightToken, + storage::AccountInfo, + test_utils::{ALICE, ALICE_ADDR, builder::Contract}, + tests::{ExtBuilder, Test, builder}, }; use alloy_core::sol_types::SolCall; use frame_support::traits::fungible::Mutate; use pallet_revive_fixtures::{ - compile_module_with_type, CatchConstructorTest, DepositPrecompile, FixtureType, + CatchConstructorTest, DepositPrecompile, FixtureType, compile_module_with_type, }; use sp_runtime::{FixedU128, Weight}; use test_case::test_case; @@ -61,6 +62,15 @@ fn test_deposit_calculation() { }); } +/// Test that max_storage_deposit correctly tracks the peak storage allocation. +/// +/// This test verifies that: +/// 1. `storage_deposit` reflects the net storage change after the call +/// 2. `max_storage_deposit` tracks the maximum storage allocation that occurred at any point during +/// execution (before any refunds) +/// +/// The test contract sets two storage values (a=2, b=3) totaling 132 units of deposit, +/// then clears one value, leaving 66 units as the net deposit. #[test_case(FixtureType::Solc , "DepositPrecompile" ; "solc precompiles")] #[test_case(FixtureType::Resolc , "DepositPrecompile" ; "resolc precompiles")] #[test_case(FixtureType::Solc , "DepositDirect" ; "solc direct")] @@ -74,24 +84,28 @@ fn max_consumed_deposit_integration(fixture_type: FixtureType, fixture_name: &st let Contract { addr: caller_addr, .. } = builder::bare_instantiate(Code::Upload(code)).build_and_unwrap_contract(); - let result = builder::bare_call(caller_addr) - .data(DepositPrecompile::callSetAndClearCall {}.abi_encode()) + // Test direct set and clear (no nested call) + let direct_result = builder::bare_call(caller_addr) + .data(DepositPrecompile::setAndClearCall {}.abi_encode()) .build(); - assert_eq!(result.storage_deposit, StorageDeposit::Charge(66)); - assert_eq!(result.max_storage_deposit, StorageDeposit::Charge(132)); + // Net deposit: one storage slot remains (66 units) + // Max deposit: peak allocation was two storage slots (132 units) + assert_eq!(direct_result.storage_deposit, StorageDeposit::Charge(66)); + assert_eq!(direct_result.max_storage_deposit, StorageDeposit::Charge(132)); }); } -#[ignore = "TODO: Does not work yet, see https://github.com/paritytech/contract-issues/issues/213"] +/// Test that storage deposit refunds and persisted ContractInfo are correct when +/// parent allocates storage and a nested call clears it. +/// +/// Compares `setAndClear()` (direct) vs `setAndCallClear()` (reentrant). Both have +/// the same net effect so deposits and persisted ContractInfo must be identical. #[test_case(FixtureType::Solc , "DepositPrecompile" ; "solc precompiles")] #[test_case(FixtureType::Resolc , "DepositPrecompile" ; "resolc precompiles")] #[test_case(FixtureType::Solc , "DepositDirect" ; "solc direct")] #[test_case(FixtureType::Resolc , "DepositDirect" ; "resolc direct")] -fn max_consumed_deposit_integration_refunds_subframes( - fixture_type: FixtureType, - fixture_name: &str, -) { +fn nested_call_storage_refund(fixture_type: FixtureType, fixture_name: &str) { let (code, _) = compile_module_with_type(fixture_name, fixture_type).unwrap(); ExtBuilder::default().build().execute_with(|| { @@ -100,23 +114,48 @@ fn max_consumed_deposit_integration_refunds_subframes( let Contract { addr: caller_addr, .. } = builder::bare_instantiate(Code::Upload(code)).build_and_unwrap_contract(); - let result = builder::bare_call(caller_addr) + // Direct: set a=2, b=3, clear b in the same frame + let direct_result = builder::bare_call(caller_addr) .data(DepositPrecompile::setAndClearCall {}.abi_encode()) .build(); + let direct_info = AccountInfo::::load_contract(&caller_addr).unwrap(); - assert_eq!(result.storage_deposit, StorageDeposit::Charge(66)); - assert_eq!(result.max_storage_deposit, StorageDeposit::Charge(132)); - + // Reset storage for a fair comparison builder::bare_call(caller_addr) .data(DepositPrecompile::clearAllCall {}.abi_encode()) .build(); - let result = builder::bare_call(caller_addr) + // Reentrant: set a=2, b=3, then call this.clear() which clears b + let nested_result = builder::bare_call(caller_addr) .data(DepositPrecompile::setAndCallClearCall {}.abi_encode()) .build(); + let nested_info = AccountInfo::::load_contract(&caller_addr).unwrap(); - assert_eq!(result.storage_deposit, StorageDeposit::Charge(66)); - assert_eq!(result.max_storage_deposit, StorageDeposit::Charge(132)); + assert_eq!( + direct_result.storage_deposit, nested_result.storage_deposit, + "Nested call should produce same net storage deposit as direct call" + ); + assert_eq!( + direct_result.max_storage_deposit, nested_result.max_storage_deposit, + "Nested call should produce same max storage deposit as direct call" + ); + assert_eq!( + direct_info.storage_items, nested_info.storage_items, + "storage_items: direct={}, nested={} (should be equal)", + direct_info.storage_items, nested_info.storage_items, + ); + assert_eq!( + direct_info.storage_item_deposit, nested_info.storage_item_deposit, + "storage_item_deposit mismatch between direct and nested paths", + ); + assert_eq!( + direct_info.storage_bytes, nested_info.storage_bytes, + "storage_bytes mismatch between direct and nested paths", + ); + assert_eq!( + direct_info.storage_byte_deposit, nested_info.storage_byte_deposit, + "storage_byte_deposit mismatch between direct and nested paths", + ); }); } @@ -151,7 +190,7 @@ fn substrate_metering_initialization_works() { let transaction_meter = TransactionMeter::::new(TransactionLimits::EthereumGas { eth_gas_limit: eth_gas_limit.div_ceil(gas_scale), - maybe_weight_limit: None, + weight_limit: Weight::MAX, eth_tx_info, }); @@ -189,10 +228,7 @@ fn substrate_metering_initialization_works() { let transaction_meter = TransactionMeter::::new(TransactionLimits::EthereumGas { eth_gas_limit: 5_000_000_000 / gas_scale, - maybe_weight_limit: Some(Weight::from_parts( - ref_time_limit, - proof_size_limit, - )), + weight_limit: Weight::from_parts(ref_time_limit, proof_size_limit), eth_tx_info, }) .unwrap(); @@ -284,7 +320,7 @@ fn substrate_metering_charges_works() { let mut transaction_meter = TransactionMeter::::new(TransactionLimits::EthereumGas { eth_gas_limit: eth_gas_limit.div_ceil(gas_scale), - maybe_weight_limit: None, + weight_limit: Weight::MAX, eth_tx_info, }) .unwrap(); @@ -511,7 +547,7 @@ fn substrate_nesting_works() { let mut transaction_meter = TransactionMeter::::new(TransactionLimits::EthereumGas { eth_gas_limit: eth_gas_limit.div_ceil(gas_scale), - maybe_weight_limit: None, + weight_limit: Weight::MAX, eth_tx_info: eth_tx_info.clone(), }) .unwrap(); @@ -531,8 +567,9 @@ fn substrate_nesting_works() { .unwrap(); let scaled_call_resource = match call_resource { - Ethereum { gas, add_stipend } => - Ethereum { gas: (gas as BalanceOf).div_ceil(gas_scale), add_stipend }, + Ethereum { gas, add_stipend } => { + Ethereum { gas: (gas as BalanceOf).div_ceil(gas_scale), add_stipend } + }, _ => call_resource, }; let nested = transaction_meter.new_nested(&scaled_call_resource); @@ -614,7 +651,7 @@ fn substrate_nesting_charges_works() { let mut transaction_meter = TransactionMeter::::new(TransactionLimits::EthereumGas { eth_gas_limit: eth_gas_limit.div_ceil(gas_scale), - maybe_weight_limit: None, + weight_limit: Weight::MAX, eth_tx_info, }) .unwrap(); @@ -730,7 +767,7 @@ fn catch_constructor_test() { ) .transaction_limits(crate::TransactionLimits::EthereumGas { eth_gas_limit: eth_gas_limit.into(), - maybe_weight_limit: None, + weight_limit: Weight::MAX, eth_tx_info: crate::EthTxInfo::new(0, Default::default()), }) .build() @@ -753,3 +790,34 @@ fn catch_constructor_test() { assert_eq!("revert: invalid address", gas_trace.calls[0].revert_reason.as_ref().unwrap()); }); } + +#[test] +fn dry_run_bounded_execution_runs_out_of_gas() { + use crate::evm::*; + use pallet_revive_fixtures::Fibonacci; + + let (code, _) = compile_module_with_type("Fibonacci", FixtureType::Solc).unwrap(); + + ExtBuilder::default().build().execute_with(|| { + let _ = ::Currency::set_balance(&ALICE, 10_000_000_000_000); + + let Contract { addr, .. } = + builder::bare_instantiate(Code::Upload(code)).build_and_unwrap_contract(); + + let result = crate::Pallet::::dry_run_eth_transact( + GenericTransaction { + from: Some(ALICE_ADDR), + to: Some(addr), + input: Fibonacci::fibCall { n: 100u64 }.abi_encode().into(), + ..Default::default() + }, + Default::default(), + ); + + let err = result.expect_err("fib(100) should run out of gas"); + assert!( + matches!(&err, crate::EthTransactError::Message(msg) if msg.contains("OutOfGas")), + "expected OutOfGas error, got: {err:?}" + ); + }); +} diff --git a/substrate/frame/revive/src/metering/weight.rs b/substrate/frame/revive/src/metering/weight.rs index f7289241ef40a..c31b1fae29351 100644 --- a/substrate/frame/revive/src/metering/weight.rs +++ b/substrate/frame/revive/src/metering/weight.rs @@ -18,9 +18,9 @@ #[cfg(test)] mod tests; -use crate::{vm::evm::Halt, weights::WeightInfo, Config, Error}; +use crate::{Config, Error, vm::evm::Halt, weights::WeightInfo}; use core::{marker::PhantomData, ops::ControlFlow}; -use frame_support::{weights::Weight, DefaultNoBound}; +use frame_support::{DefaultNoBound, weights::Weight}; use sp_runtime::DispatchError; #[cfg(test)] @@ -128,8 +128,8 @@ pub struct ErasedToken { #[derive(DefaultNoBound)] pub struct WeightMeter { - /// The overall weight limit of this weight meter. If it is None, then there is no restriction - pub weight_limit: Option, + /// The overall weight limit of this weight meter. + pub weight_limit: Weight, /// The current actual effective weight limit. Used to check whether the weight meter ran out /// of resources. This weight limit needs to be adapted whenever the metering runs in ethereum /// mode and there is a charge on the deposit meter. @@ -149,10 +149,10 @@ pub struct WeightMeter { } impl WeightMeter { - pub fn new(weight_limit: Option, stipend: Option) -> Self { + pub fn new(weight_limit: Weight, stipend: Option) -> Self { WeightMeter { weight_limit, - effective_weight_limit: weight_limit.unwrap_or_default(), + effective_weight_limit: weight_limit, weight_consumed: Default::default(), weight_consumed_highest: stipend.unwrap_or_default(), engine_meter: EngineMeter::new(), @@ -199,7 +199,7 @@ impl WeightMeter { // any action let new_consumed = self.weight_consumed.saturating_add(amount); if new_consumed.any_gt(self.effective_weight_limit) { - return Err(>::OutOfGas.into()) + return Err(>::OutOfGas.into()); } self.weight_consumed = new_consumed; @@ -241,7 +241,7 @@ impl WeightMeter { self.weight_consumed.saturating_accrue(weight_consumed); if self.weight_consumed.any_gt(self.effective_weight_limit) { self.weight_consumed = self.effective_weight_limit; - return Err(>::OutOfGas.into()) + return Err(>::OutOfGas.into()); } Ok(()) @@ -288,6 +288,6 @@ impl WeightMeter { #[cfg(test)] pub fn nested(&mut self, amount: Weight) -> Self { - Self::new(Some(self.weight_left().min(amount)), None) + Self::new(self.weight_left().min(amount), None) } } diff --git a/substrate/frame/revive/src/metering/weight/tests.rs b/substrate/frame/revive/src/metering/weight/tests.rs index bf8801e6f76e9..4c378330ab15d 100644 --- a/substrate/frame/revive/src/metering/weight/tests.rs +++ b/substrate/frame/revive/src/metering/weight/tests.rs @@ -66,13 +66,13 @@ impl Token for SimpleToken { #[test] fn it_works() { - let weight_meter = WeightMeter::::new(Some(Weight::from_parts(50000, 0)), None); + let weight_meter = WeightMeter::::new(Weight::from_parts(50000, 0), None); assert_eq!(weight_meter.weight_left(), Weight::from_parts(50000, 0)); } #[test] fn tracing() { - let mut weight_meter = WeightMeter::::new(Some(Weight::from_parts(50000, 0)), None); + let mut weight_meter = WeightMeter::::new(Weight::from_parts(50000, 0), None); assert!(!weight_meter.charge(SimpleToken(1)).is_err()); let mut tokens = weight_meter.tokens().iter(); @@ -82,7 +82,7 @@ fn tracing() { // This test makes sure that nothing can be executed if there is no weight. #[test] fn refuse_to_execute_anything_if_zero() { - let mut weight_meter = WeightMeter::::new(Some(Weight::zero()), None); + let mut weight_meter = WeightMeter::::new(Weight::zero(), None); assert!(weight_meter.charge(SimpleToken(1)).is_err()); } @@ -93,7 +93,7 @@ fn refuse_to_execute_anything_if_zero() { #[test] fn nested_zero_weight_requested() { let test_weight = 50000.into(); - let mut weight_meter = WeightMeter::::new(Some(test_weight), None); + let mut weight_meter = WeightMeter::::new(test_weight, None); let weight_for_nested_call = weight_meter.nested(0.into()); assert_eq!(weight_meter.weight_left(), 50000.into()); @@ -103,7 +103,7 @@ fn nested_zero_weight_requested() { #[test] fn nested_some_weight_requested() { let test_weight = 50000.into(); - let mut weight_meter = WeightMeter::::new(Some(test_weight), None); + let mut weight_meter = WeightMeter::::new(test_weight, None); let weight_for_nested_call = weight_meter.nested(10000.into()); assert_eq!(weight_meter.weight_consumed(), 0.into()); @@ -113,7 +113,7 @@ fn nested_some_weight_requested() { #[test] fn nested_all_weight_requested() { let test_weight = Weight::from_parts(50000, 50000); - let mut weight_meter = WeightMeter::::new(Some(test_weight), None); + let mut weight_meter = WeightMeter::::new(test_weight, None); let weight_for_nested_call = weight_meter.nested(test_weight); assert_eq!(weight_meter.weight_consumed(), Weight::from_parts(0, 0)); @@ -123,7 +123,7 @@ fn nested_all_weight_requested() { #[test] fn nested_excess_weight_requested() { let test_weight = Weight::from_parts(50000, 50000); - let mut weight_meter = WeightMeter::::new(Some(test_weight), None); + let mut weight_meter = WeightMeter::::new(test_weight, None); let weight_for_nested_call = weight_meter.nested(test_weight + 10000.into()); assert_eq!(weight_meter.weight_consumed(), Weight::from_parts(0, 0)); @@ -133,7 +133,7 @@ fn nested_excess_weight_requested() { // Make sure that the weight meter does not charge in case of overcharge #[test] fn overcharge_does_not_charge() { - let mut weight_meter = WeightMeter::::new(Some(Weight::from_parts(200, 0)), None); + let mut weight_meter = WeightMeter::::new(Weight::from_parts(200, 0), None); // The first charge is should lead to OOG. assert!(weight_meter.charge(SimpleToken(300)).is_err()); @@ -146,6 +146,6 @@ fn overcharge_does_not_charge() { // possible. #[test] fn charge_exact_amount() { - let mut weight_meter = WeightMeter::::new(Some(Weight::from_parts(25, 0)), None); + let mut weight_meter = WeightMeter::::new(Weight::from_parts(25, 0), None); assert!(!weight_meter.charge(SimpleToken(25)).is_err()); } diff --git a/substrate/frame/revive/src/migrations/v1.rs b/substrate/frame/revive/src/migrations/v1.rs index f86a436173918..aa02842c9f646 100644 --- a/substrate/frame/revive/src/migrations/v1.rs +++ b/substrate/frame/revive/src/migrations/v1.rs @@ -22,7 +22,7 @@ extern crate alloc; use super::PALLET_MIGRATIONS_ID; -use crate::{weights::WeightInfo, AccountInfo, AccountInfoOf, Config, H160}; +use crate::{AccountInfo, AccountInfoOf, Config, H160, weights::WeightInfo}; use frame_support::{ migrations::{MigrationId, SteppedMigration, SteppedMigrationError}, pallet_prelude::PhantomData, @@ -38,8 +38,8 @@ use alloc::vec::Vec; /// Module containing the old storage items. pub mod old { use super::Config; - use crate::{pallet::Pallet, ContractInfo, H160}; - use frame_support::{storage_alias, Identity}; + use crate::{ContractInfo, H160, pallet::Pallet}; + use frame_support::{Identity, storage_alias}; #[storage_alias] /// The storage item that is being migrated from. @@ -87,7 +87,7 @@ impl SteppedMigration for Migration { cursor = Some(last_key) } else { cursor = None; - break + break; } } Ok(cursor) @@ -132,8 +132,8 @@ impl SteppedMigration for Migration { #[test] fn migrate_to_v1() { use crate::{ - tests::{ExtBuilder, Test}, ContractInfo, + tests::{ExtBuilder, Test}, }; ExtBuilder::default().build().execute_with(|| { for i in 0..10u8 { diff --git a/substrate/frame/revive/src/migrations/v2.rs b/substrate/frame/revive/src/migrations/v2.rs index 803283c6ab343..0fe678aec6d18 100644 --- a/substrate/frame/revive/src/migrations/v2.rs +++ b/substrate/frame/revive/src/migrations/v2.rs @@ -23,7 +23,7 @@ extern crate alloc; use super::PALLET_MIGRATIONS_ID; -use crate::{vm::BytecodeType, weights::WeightInfo, Config, Pallet, H256, LOG_TARGET}; +use crate::{Config, H256, LOG_TARGET, Pallet, vm::BytecodeType, weights::WeightInfo}; use frame_support::{ migrations::{MigrationId, SteppedMigration, SteppedMigrationError}, pallet_prelude::PhantomData, @@ -43,9 +43,9 @@ use frame_support::{sp_runtime::TryRuntimeError, traits::fungible::InspectHold}; /// Module containing the old storage items. mod old { use super::Config; - use crate::{pallet::Pallet, AccountIdOf, BalanceOf, H256}; + use crate::{AccountIdOf, BalanceOf, H256, pallet::Pallet}; use codec::{Decode, Encode}; - use frame_support::{storage_alias, Identity}; + use frame_support::{Identity, storage_alias}; #[derive(Clone, Encode, Decode)] pub struct CodeInfo { @@ -65,9 +65,9 @@ mod old { mod new { use super::{BytecodeType, Config}; - use crate::{pallet::Pallet, AccountIdOf, BalanceOf, H256}; + use crate::{AccountIdOf, BalanceOf, H256, pallet::Pallet}; use codec::{Decode, Encode}; - use frame_support::{storage_alias, DebugNoBound, Identity}; + use frame_support::{DebugNoBound, Identity, storage_alias}; #[derive(PartialEq, Eq, DebugNoBound, Encode, Decode)] pub struct CodeInfo { @@ -154,7 +154,7 @@ impl SteppedMigration for Migration { cursor = Some(last_key) } else { cursor = None; - break + break; } } Ok(cursor) @@ -171,7 +171,7 @@ impl SteppedMigration for Migration { #[cfg(feature = "try-runtime")] fn post_upgrade(prev: Vec) -> Result<(), TryRuntimeError> { use codec::Decode; - use sp_runtime::{traits::Zero, Saturating}; + use sp_runtime::{Saturating, traits::Zero}; // Check the state of the storage after the migration. let prev_map = BTreeMap::>::decode(&mut &prev[..]) @@ -184,10 +184,10 @@ impl SteppedMigration for Migration { "Migration failed: the number of items in the storage after the migration is not the same as before" ); - let deposit_sum: crate::BalanceOf = Zero::zero(); + let mut deposit_sum: crate::BalanceOf = Zero::zero(); for (code_hash, old_code_info) in prev_map { - deposit_sum.saturating_add(old_code_info.deposit); + deposit_sum = deposit_sum.saturating_add(old_code_info.deposit); Self::assert_migrated_code_info(code_hash, &old_code_info); } @@ -234,11 +234,13 @@ impl Migration { let migrated = new::CodeInfoOf::::get(code_hash).expect("Failed to get migrated CodeInfo"); - assert!(::Currency::balance_on_hold( - &crate::HoldReason::CodeUploadDepositReserve.into(), - &old_code_info.owner - ) - .is_zero()); + assert!( + ::Currency::balance_on_hold( + &crate::HoldReason::CodeUploadDepositReserve.into(), + &old_code_info.owner + ) + .is_zero() + ); assert_eq!( migrated, @@ -258,8 +260,8 @@ impl Migration { #[test] fn migrate_to_v2() { use crate::{ - tests::{ExtBuilder, Test}, AccountIdOf, + tests::{ExtBuilder, Test}, }; use alloc::collections::BTreeMap; diff --git a/substrate/frame/revive/src/mock.rs b/substrate/frame/revive/src/mock.rs index c8adddcb4f2c4..a7c7fb2a7cbfe 100644 --- a/substrate/frame/revive/src/mock.rs +++ b/substrate/frame/revive/src/mock.rs @@ -22,7 +22,7 @@ use frame_system::pallet_prelude::OriginFor; use sp_core::{H160, U256}; -use crate::{exec::Origin, pallet, DelegateInfo, ExecReturnValue}; +use crate::{DelegateInfo, ExecReturnValue, exec::Origin, pallet}; /// A trait that provides hooks for mocking EVM contract calls and callers. /// This is useful for testing and simulating contract interactions within foundry forge tests. @@ -63,4 +63,17 @@ pub trait MockHandler { fn mock_delegated_caller(&self, _dest: H160, _input_data: &[u8]) -> Option> { None } + + /// Returns dummy code for mocked addresses. + /// + /// This method serves two purposes: + /// 1. Indicates whether an address has mocked calls (Some = mocked, None = not mocked) + /// 2. Provides the dummy bytecode for `EXTCODESIZE` and `EXTCODEHASH` opcodes + /// + /// # Returns + /// - `Some(bytecode)` containing dummy bytecode if the address has mocked calls + /// - `None` if the address is not mocked + fn mocked_code(&self, _address: H160) -> Option<&[u8]> { + None + } } diff --git a/substrate/frame/revive/src/precompiles.rs b/substrate/frame/revive/src/precompiles.rs index a78f4371c8627..07a9d25088fd2 100644 --- a/substrate/frame/revive/src/precompiles.rs +++ b/substrate/frame/revive/src/precompiles.rs @@ -30,17 +30,17 @@ mod builtin; mod tests; pub use crate::{ + AddressMapper, TransactionLimits, exec::{ExecError, PrecompileExt as Ext, PrecompileWithInfoExt as ExtWithInfo}, metering::{Diff, Token}, vm::RuntimeCosts, - AddressMapper, TransactionLimits, }; pub use alloy_core as alloy; pub use sp_core::{H160, H256, U256}; use crate::{ - exec::ExecResult, precompiles::builtin::Builtin, primitives::ExecReturnValue, Config, - Error as CrateError, + Config, Error as CrateError, exec::ExecResult, precompiles::builtin::Builtin, + primitives::ExecReturnValue, }; use alloc::vec::Vec; use alloy::sol_types::{Panic, PanicKind, Revert, SolError, SolInterface}; @@ -311,8 +311,9 @@ impl Instance { let result = (self.function)(&self.address, input, env); match result { Ok(data) => Ok(ExecReturnValue { flags: ReturnFlags::empty(), data }), - Err(Error::Revert(msg)) => - Ok(ExecReturnValue { flags: ReturnFlags::REVERT, data: msg.abi_encode() }), + Err(Error::Revert(msg)) => { + Ok(ExecReturnValue { flags: ReturnFlags::REVERT, data: msg.abi_encode() }) + }, Err(Error::Panic(kind)) => Ok(ExecReturnValue { flags: ReturnFlags::REVERT, data: Panic::from(kind).abi_encode(), @@ -404,6 +405,7 @@ impl PrimitivePrecompile for P { } } +/// The collision check is verified by a trybuild test in `ui-tests/src/ui/precompiles_ui.rs`. #[impl_trait_for_tuples::impl_for_tuples(20)] #[tuple_types_custom_trait_bound(PrimitivePrecompile)] impl Precompiles for Tuple { @@ -469,6 +471,13 @@ impl Precompiles for Tuple { } } +/// This references the private trait inside the crate. +#[cfg(feature = "trybuild")] +#[allow(private_bounds)] +pub const fn check_collision_for>() { + let _ = >::CHECK_COLLISION; +} + impl Precompiles for (Builtin, ::Precompiles) { const CHECK_COLLISION: () = { assert!( @@ -552,7 +561,7 @@ impl BuiltinAddressMatcher { }; while i < base_address.len() { if address[i] != base_address[i] { - return false + return false; } i = i + 1; } @@ -595,8 +604,8 @@ impl BuiltinAddressMatcher { #[cfg(any(test, feature = "runtime-benchmarks"))] pub mod run { pub use crate::{ - call_builder::{CallSetup, Contract, VmBinaryModule}, BalanceOf, MomentOf, + call_builder::{CallSetup, Contract, VmBinaryModule}, }; pub use sp_core::{H256, U256}; diff --git a/substrate/frame/revive/src/precompiles/builtin.rs b/substrate/frame/revive/src/precompiles/builtin.rs index 1654302ed2efc..862ae10d6de86 100644 --- a/substrate/frame/revive/src/precompiles/builtin.rs +++ b/substrate/frame/revive/src/precompiles/builtin.rs @@ -32,8 +32,8 @@ mod benchmarking; #[cfg(feature = "runtime-benchmarks")] use crate::{ - precompiles::{ExtWithInfo, Instance, Precompiles}, Config, + precompiles::{ExtWithInfo, Instance, Precompiles}, }; #[cfg(feature = "runtime-benchmarks")] diff --git a/substrate/frame/revive/src/precompiles/builtin/benchmarking.rs b/substrate/frame/revive/src/precompiles/builtin/benchmarking.rs index f499d1a682bb0..40b1a137cad53 100644 --- a/substrate/frame/revive/src/precompiles/builtin/benchmarking.rs +++ b/substrate/frame/revive/src/precompiles/builtin/benchmarking.rs @@ -16,8 +16,8 @@ // limitations under the License. use crate::{ - precompiles::{BuiltinAddressMatcher, BuiltinPrecompile, Error, Ext, ExtWithInfo}, Config, + precompiles::{BuiltinAddressMatcher, BuiltinPrecompile, Error, Ext, ExtWithInfo}, }; use alloc::vec::Vec; use alloy_core::sol; diff --git a/substrate/frame/revive/src/precompiles/builtin/blake2f.rs b/substrate/frame/revive/src/precompiles/builtin/blake2f.rs index 9fd2d67b1581c..cdf9433942516 100644 --- a/substrate/frame/revive/src/precompiles/builtin/blake2f.rs +++ b/substrate/frame/revive/src/precompiles/builtin/blake2f.rs @@ -16,9 +16,9 @@ // limitations under the License. use crate::{ + Config, precompiles::{BuiltinAddressMatcher, Error, Ext, PrimitivePrecompile}, vm::RuntimeCosts, - Config, }; use alloc::vec::Vec; use core::{marker::PhantomData, num::NonZero}; diff --git a/substrate/frame/revive/src/precompiles/builtin/bn128.rs b/substrate/frame/revive/src/precompiles/builtin/bn128.rs index b091800c799da..3b0104603c962 100644 --- a/substrate/frame/revive/src/precompiles/builtin/bn128.rs +++ b/substrate/frame/revive/src/precompiles/builtin/bn128.rs @@ -16,12 +16,12 @@ // limitations under the License. use crate::{ + Config, precompiles::{BuiltinAddressMatcher, Error, Ext, PrimitivePrecompile}, vm::RuntimeCosts, - Config, }; use alloc::vec::Vec; -use bn::{pairing_batch, AffineG1, AffineG2, Fq, Fq2, Group, Gt, G1, G2}; +use bn::{AffineG1, AffineG2, Fq, Fq2, G1, G2, Group, Gt, pairing_batch}; use core::{marker::PhantomData, num::NonZero}; use sp_core::U256; use sp_runtime::DispatchError; @@ -155,11 +155,7 @@ impl PrimitivePrecompile for Bn128Pairing { let mul = pairing_batch(&vals); - if mul == Gt::one() { - U256::one() - } else { - U256::zero() - } + if mul == Gt::one() { U256::one() } else { U256::zero() } }; let buf = ret_val.to_big_endian(); diff --git a/substrate/frame/revive/src/precompiles/builtin/ecrecover.rs b/substrate/frame/revive/src/precompiles/builtin/ecrecover.rs index 6d13b84d01f8d..25cae2fce202b 100644 --- a/substrate/frame/revive/src/precompiles/builtin/ecrecover.rs +++ b/substrate/frame/revive/src/precompiles/builtin/ecrecover.rs @@ -16,9 +16,9 @@ // limitations under the License. use crate::{ + Config, precompiles::{BuiltinAddressMatcher, Error, Ext, PrimitivePrecompile}, vm::RuntimeCosts, - Config, }; use alloc::vec::Vec; use core::{marker::PhantomData, num::NonZero}; diff --git a/substrate/frame/revive/src/precompiles/builtin/identity.rs b/substrate/frame/revive/src/precompiles/builtin/identity.rs index 899e8b200fcd4..91084e74943d3 100644 --- a/substrate/frame/revive/src/precompiles/builtin/identity.rs +++ b/substrate/frame/revive/src/precompiles/builtin/identity.rs @@ -16,9 +16,9 @@ // limitations under the License. use crate::{ + Config, precompiles::{BuiltinAddressMatcher, Error, Ext, PrimitivePrecompile}, vm::RuntimeCosts, - Config, }; use alloc::vec::Vec; use core::{marker::PhantomData, num::NonZero}; diff --git a/substrate/frame/revive/src/precompiles/builtin/modexp.rs b/substrate/frame/revive/src/precompiles/builtin/modexp.rs index 7c94179adfa34..c0238840832b0 100644 --- a/substrate/frame/revive/src/precompiles/builtin/modexp.rs +++ b/substrate/frame/revive/src/precompiles/builtin/modexp.rs @@ -16,9 +16,9 @@ // limitations under the License. use crate::{ + Config, precompiles::{BuiltinAddressMatcher, Error, Ext, PrimitivePrecompile}, vm::RuntimeCosts, - Config, }; use alloc::{vec, vec::Vec}; use core::{cmp::max, marker::PhantomData, num::NonZero}; @@ -93,7 +93,7 @@ impl PrimitivePrecompile for Modexp { // if mod_len is 0 output must be empty if mod_len == 0 { - return Ok(Vec::new()) + return Ok(Vec::new()); } // Gas formula allows arbitrary large exp_len when base and modulus are empty, so we need to diff --git a/substrate/frame/revive/src/precompiles/builtin/p256_verify.rs b/substrate/frame/revive/src/precompiles/builtin/p256_verify.rs index ae08ab28c9b44..21d996e32fee6 100644 --- a/substrate/frame/revive/src/precompiles/builtin/p256_verify.rs +++ b/substrate/frame/revive/src/precompiles/builtin/p256_verify.rs @@ -24,9 +24,9 @@ //! P256 elliptic curve. use crate::{ + Config, U256, precompiles::{BuiltinAddressMatcher, Error, Ext, PrimitivePrecompile}, vm::RuntimeCosts, - Config, U256, }; use alloc::vec::Vec; use core::{marker::PhantomData, num::NonZero}; diff --git a/substrate/frame/revive/src/precompiles/builtin/point_eval.rs b/substrate/frame/revive/src/precompiles/builtin/point_eval.rs index 69a87e7396cbb..e8913bd274c1f 100644 --- a/substrate/frame/revive/src/precompiles/builtin/point_eval.rs +++ b/substrate/frame/revive/src/precompiles/builtin/point_eval.rs @@ -16,8 +16,8 @@ // limitations under the License. use crate::{ - precompiles::{BuiltinAddressMatcher, Error, Ext, PrimitivePrecompile}, Config, Error as CrateError, + precompiles::{BuiltinAddressMatcher, Error, Ext, PrimitivePrecompile}, }; use alloc::vec::Vec; use core::{marker::PhantomData, num::NonZero}; diff --git a/substrate/frame/revive/src/precompiles/builtin/ripemd160.rs b/substrate/frame/revive/src/precompiles/builtin/ripemd160.rs index 288a8159fecf6..5b23d216bb0ad 100644 --- a/substrate/frame/revive/src/precompiles/builtin/ripemd160.rs +++ b/substrate/frame/revive/src/precompiles/builtin/ripemd160.rs @@ -16,9 +16,9 @@ // limitations under the License. use crate::{ + Config, precompiles::{BuiltinAddressMatcher, Error, Ext, PrimitivePrecompile}, vm::RuntimeCosts, - Config, }; use alloc::vec::Vec; use core::{marker::PhantomData, num::NonZero}; diff --git a/substrate/frame/revive/src/precompiles/builtin/sha256.rs b/substrate/frame/revive/src/precompiles/builtin/sha256.rs index e977cb96894b5..718103034de95 100644 --- a/substrate/frame/revive/src/precompiles/builtin/sha256.rs +++ b/substrate/frame/revive/src/precompiles/builtin/sha256.rs @@ -16,9 +16,9 @@ // limitations under the License. use crate::{ + Config, precompiles::{BuiltinAddressMatcher, Error, Ext, PrimitivePrecompile}, vm::RuntimeCosts, - Config, }; use alloc::vec::Vec; use core::{marker::PhantomData, num::NonZero}; diff --git a/substrate/frame/revive/src/precompiles/builtin/storage.rs b/substrate/frame/revive/src/precompiles/builtin/storage.rs index 6049fcdcec0c8..1ccd9335dc8a4 100644 --- a/substrate/frame/revive/src/precompiles/builtin/storage.rs +++ b/substrate/frame/revive/src/precompiles/builtin/storage.rs @@ -16,16 +16,15 @@ // limitations under the License. use crate::{ - limits, + Config, Key, limits, precompiles::{BuiltinAddressMatcher, BuiltinPrecompile, Error, Ext}, storage::WriteOutcome, vm::RuntimeCosts, - Config, Key, }; use alloc::vec::Vec; use alloy_core::sol_types::SolValue; use core::{marker::PhantomData, num::NonZero}; -use pallet_revive_uapi::{precompiles::storage::IStorage, StorageFlags}; +use pallet_revive_uapi::{StorageFlags, precompiles::storage::IStorage}; use sp_core::hexdisplay::AsBytesRef; pub struct Storage(PhantomData); @@ -56,7 +55,9 @@ impl BuiltinPrecompile for Storage { match input { IStorageCalls::clearStorage(_) | IStorageCalls::takeStorage(_) if env.is_read_only() => - Err(Error::Error(crate::Error::::StateChangeDenied.into())), + { + Err(Error::Error(crate::Error::::StateChangeDenied.into())) + }, IStorageCalls::clearStorage(IStorage::clearStorageCall { flags, key, isFixedKey }) => { let transient = is_transient(*flags) diff --git a/substrate/frame/revive/src/precompiles/builtin/system.rs b/substrate/frame/revive/src/precompiles/builtin/system.rs index e465fcbfadf12..bcf6128d75f8b 100644 --- a/substrate/frame/revive/src/precompiles/builtin/system.rs +++ b/substrate/frame/revive/src/precompiles/builtin/system.rs @@ -16,10 +16,10 @@ // limitations under the License. use crate::{ + Config, H160, address::AddressMapper, precompiles::{BuiltinAddressMatcher, BuiltinPrecompile, Error, Ext}, vm::RuntimeCosts, - Config, H160, }; use alloc::vec::Vec; use alloy_core::sol_types::SolValue; @@ -44,8 +44,9 @@ impl BuiltinPrecompile for System { ) -> Result, Error> { use ISystem::ISystemCalls; match input { - ISystemCalls::terminate(_) if env.is_read_only() => - Err(crate::Error::::StateChangeDenied.into()), + ISystemCalls::terminate(_) if env.is_read_only() => { + Err(crate::Error::::StateChangeDenied.into()) + }, ISystemCalls::hashBlake256(ISystem::hashBlake256Call { input }) => { env.frame_meter_mut() .charge_weight_token(RuntimeCosts::HashBlake256(input.len() as u32))?; @@ -100,6 +101,22 @@ impl BuiltinPrecompile for System { env.terminate_caller(&h160).map_err(Error::try_to_revert::)?; Ok(Vec::new()) }, + ISystemCalls::sr25519Verify(ISystem::sr25519VerifyCall { + signature, + message, + publicKey, + }) => { + env.frame_meter_mut() + .charge_weight_token(RuntimeCosts::Sr25519Verify(message.len() as _))?; + let ok = env.sr25519_verify(signature, message, publicKey); + Ok(ok.abi_encode()) + }, + ISystemCalls::ecdsaToEthAddress(ISystem::ecdsaToEthAddressCall { publicKey }) => { + env.frame_meter_mut().charge_weight_token(RuntimeCosts::EcdsaToEthAddress)?; + let address = + env.ecdsa_to_eth_address(publicKey).map_err(Error::try_to_revert::)?; + Ok(address.abi_encode()) + }, } } } @@ -109,15 +126,20 @@ mod tests { use super::*; use crate::{ address::AddressMapper, - call_builder::{caller_funding, CallSetup}, + call_builder::{CallSetup, caller_funding}, + metering::Token, pallet, precompiles::{ - alloy::sol_types::{sol_data::Bytes, SolType}, - tests::run_test_vectors, BuiltinPrecompile, + alloy::sol_types::{SolType, sol_data::Bytes}, + tests::run_test_vectors, }, + test_utils::ALICE, tests::{ExtBuilder, Test}, + vm::RuntimeCosts, }; + + use alloy_core::primitives::FixedBytes; use codec::Decode; use frame_support::traits::fungible::Mutate; @@ -190,4 +212,94 @@ mod tests { ); }) } + + #[test] + fn sr25519_verify() { + use crate::precompiles::alloy::sol_types::sol_data::Bool; + ExtBuilder::default().build().execute_with(|| { + let _ = ::Currency::set_balance(&ALICE, 100_000_000_000); + + let mut call_setup = CallSetup::::default(); + let (mut ext, _) = call_setup.ext(); + + let mut call_with = |message: &[u8; 11]| { + // Alice's signature for "hello world" + #[rustfmt::skip] + let signature: [u8; 64] = [ + 184, 49, 74, 238, 78, 165, 102, 252, 22, 92, 156, 176, 124, 118, 168, 116, 247, + 99, 0, 94, 2, 45, 9, 170, 73, 222, 182, 74, 60, 32, 75, 64, 98, 174, 69, 55, 83, + 85, 180, 98, 208, 75, 231, 57, 205, 62, 4, 105, 26, 136, 172, 17, 123, 99, 90, 255, + 228, 54, 115, 63, 30, 207, 205, 131, + ]; + + // Alice's public key + #[rustfmt::skip] + let public_key: [u8; 32] = [ + 212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, + 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125, + ]; + + let weight_before = ext.frame_meter().weight_consumed(); + + let input = ISystem::ISystemCalls::sr25519Verify(ISystem::sr25519VerifyCall { + signature, + message: (*message).into(), + publicKey: public_key.into(), + }); + let result = + >::call(&>::MATCHER.base_address(), &input, &mut ext) + .unwrap(); + + let weight_used = ext.frame_meter().weight_consumed() - weight_before; + assert!(weight_used.ref_time() > 0, "sr25519_verify should charge weight"); + assert_eq!( + weight_used, + Token::::weight(&RuntimeCosts::Sr25519Verify(message.len() as u32)), + "sr25519_verify should charge the expected weight" + ); + result + }; + let result = Bool::abi_decode(&call_with(&b"hello world")).expect("decoding failed"); + assert!(result); + let result = Bool::abi_decode(&call_with(&b"hello worlD")).expect("decoding failed"); + assert!(!result); + }); + } + + #[test] + fn ecdsa_to_eth_address() { + ExtBuilder::default().build().execute_with(|| { + let _ = ::Currency::set_balance(&ALICE, 100_000_000_000); + + let mut call_setup = CallSetup::::default(); + let (mut ext, _) = call_setup.ext(); + + let pubkey_compressed = array_bytes::hex2array_unchecked( + "028db55b05db86c0b1786ca49f095d76344c9e6056b2f02701a7e7f3c20aabfd91", + ); + + let weight_before = ext.frame_meter().weight_consumed(); + + let input = ISystem::ISystemCalls::ecdsaToEthAddress(ISystem::ecdsaToEthAddressCall { + publicKey: pubkey_compressed, + }); + let result = + >::call(&>::MATCHER.base_address(), &input, &mut ext) + .unwrap(); + + let expected: FixedBytes<20> = array_bytes::hex2array_unchecked::<_, 20>( + "09231da7b19A016f9e576d23B16277062F4d46A8", + ) + .into(); + assert_eq!(result, expected.abi_encode()); + + let weight_used = ext.frame_meter().weight_consumed() - weight_before; + assert!(weight_used.ref_time() > 0, "ecdsa_to_eth_address should charge weight"); + assert_eq!( + weight_used, + Token::::weight(&RuntimeCosts::EcdsaToEthAddress), + "ecdsa_to_eth_address should charge the expected weight" + ); + }); + } } diff --git a/substrate/frame/revive/src/primitives.rs b/substrate/frame/revive/src/primitives.rs index 1208c97bc22e3..b6450b280aa95 100644 --- a/substrate/frame/revive/src/primitives.rs +++ b/substrate/frame/revive/src/primitives.rs @@ -18,18 +18,19 @@ //! A crate that hosts a common definitions that are relevant for the pallet-revive. use crate::{ - evm::DryRunConfig, mock::MockHandler, storage::WriteOutcome, BalanceOf, Config, Time, H160, - U256, + BalanceOf, Config, H160, Time, U256, evm::DryRunConfig, mock::MockHandler, + storage::WriteOutcome, transient_storage::TransientStorage, }; use alloc::{boxed::Box, fmt::Debug, string::String, vec::Vec}; use codec::{Decode, Encode, MaxEncodedLen}; -use frame_support::{traits::tokens::Balance, weights::Weight}; +use core::cell::RefCell; +use frame_support::{DefaultNoBound, traits::tokens::Balance, weights::Weight}; use pallet_revive_uapi::ReturnFlags; use scale_info::TypeInfo; use sp_core::Get; use sp_runtime::{ - traits::{One, Saturating, Zero}, DispatchError, + traits::{One, Saturating, Zero}, }; /// Result type of a `bare_call` or `bare_instantiate` call as well as `ContractsApi::call` and @@ -152,7 +153,7 @@ impl BalanceWithDust { value: U256, ) -> Result>, BalanceConversionError> { if value.is_zero() { - return Ok(Default::default()) + return Ok(Default::default()); } let (quotient, remainder) = value.div_mod(T::NativeToEthRatio::get().into()); @@ -171,11 +172,7 @@ impl BalanceWithDust { /// Returns the Balance rounded to the nearest whole unit if the dust is non-zero. pub fn into_rounded_balance(self) -> Balance { - if self.dust == 0 { - self.value - } else { - self.value.saturating_add(Balance::one()) - } + if self.dust == 0 { self.value } else { self.value.saturating_add(Balance::one()) } } } @@ -303,18 +300,20 @@ where match (self, rhs) { (Charge(lhs), Charge(rhs)) => Charge(lhs.saturating_add(*rhs)), (Refund(lhs), Refund(rhs)) => Refund(lhs.saturating_add(*rhs)), - (Charge(lhs), Refund(rhs)) => + (Charge(lhs), Refund(rhs)) => { if lhs >= rhs { Charge(lhs.saturating_sub(*rhs)) } else { Refund(rhs.saturating_sub(*lhs)) - }, - (Refund(lhs), Charge(rhs)) => + } + }, + (Refund(lhs), Charge(rhs)) => { if lhs > rhs { Refund(lhs.saturating_sub(*rhs)) } else { Charge(rhs.saturating_sub(*lhs)) - }, + } + }, } } @@ -324,18 +323,20 @@ where match (self, rhs) { (Charge(lhs), Refund(rhs)) => Charge(lhs.saturating_add(*rhs)), (Refund(lhs), Charge(rhs)) => Refund(lhs.saturating_add(*rhs)), - (Charge(lhs), Charge(rhs)) => + (Charge(lhs), Charge(rhs)) => { if lhs >= rhs { Charge(lhs.saturating_sub(*rhs)) } else { Refund(rhs.saturating_sub(*lhs)) - }, - (Refund(lhs), Refund(rhs)) => + } + }, + (Refund(lhs), Refund(rhs)) => { if lhs > rhs { Refund(lhs.saturating_sub(*rhs)) } else { Charge(rhs.saturating_sub(*lhs)) - }, + } + }, } } @@ -355,6 +356,7 @@ where } /// `Stack` wide configuration options. +#[derive(DefaultNoBound)] pub struct ExecConfig { /// Indicates whether the account nonce should be incremented after instantiating a new /// contract. @@ -389,6 +391,11 @@ pub struct ExecConfig { /// This is primarily used for testing purposes and should be `None` in production /// environments. pub mock_handler: Option>>, + /// Externally supplied transient storage. + /// + /// This is only used for testing purposes and should be `None` in production + /// environments. + pub test_env_transient_storage: Option>>, } impl ExecConfig { @@ -400,6 +407,7 @@ impl ExecConfig { effective_gas_price: None, is_dry_run: None, mock_handler: None, + test_env_transient_storage: None, } } @@ -410,6 +418,7 @@ impl ExecConfig { effective_gas_price: None, mock_handler: None, is_dry_run: None, + test_env_transient_storage: None, } } @@ -421,6 +430,7 @@ impl ExecConfig { effective_gas_price: Some(effective_gas_price), mock_handler: None, is_dry_run: None, + test_env_transient_storage: None, } } @@ -442,6 +452,7 @@ impl ExecConfig { effective_gas_price: self.effective_gas_price, is_dry_run: self.is_dry_run.clone(), mock_handler: None, + test_env_transient_storage: None, } } } diff --git a/substrate/frame/revive/src/storage.rs b/substrate/frame/revive/src/storage.rs index b36ef75eed25e..ba5758a34c1cb 100644 --- a/substrate/frame/revive/src/storage.rs +++ b/substrate/frame/revive/src/storage.rs @@ -18,32 +18,32 @@ //! This module contains routines for accessing and altering a contract related state. use crate::{ + AccountInfoOf, BalanceOf, BalanceWithDust, Config, DeletionQueue, DeletionQueueCounter, Error, + SENTINEL, TrieId, address::AddressMapper, exec::{AccountIdOf, Key}, metering::FrameMeter, tracing::if_tracing, weights::WeightInfo, - AccountInfoOf, BalanceOf, BalanceWithDust, Config, DeletionQueue, DeletionQueueCounter, Error, - TrieId, SENTINEL, }; use alloc::vec::Vec; use codec::{Decode, Encode, MaxEncodedLen}; use core::marker::PhantomData; use frame_support::{ + CloneNoBound, DebugNoBound, DefaultNoBound, storage::child::{self, ChildInfo}, traits::{ fungible::Inspect, tokens::{Fortitude, Preservation}, }, weights::{Weight, WeightMeter}, - CloneNoBound, DebugNoBound, DefaultNoBound, }; use scale_info::TypeInfo; use sp_core::{Get, H160}; use sp_io::KillStorageResult; use sp_runtime::{ - traits::{Hash, Saturating, Zero}, Debug, DispatchError, + traits::{Hash, Saturating, Zero}, }; use crate::metering::Diff; @@ -118,8 +118,9 @@ impl From for AccountIdOrAddress { impl AccountIdOrAddress { pub fn address(&self) -> H160 { match self { - AccountIdOrAddress::AccountId(id) => - >::to_address(id), + AccountIdOrAddress::AccountId(id) => { + >::to_address(id) + }, AccountIdOrAddress::Address(address) => *address, } } @@ -253,7 +254,7 @@ impl ContractInfo { if_tracing(|t| { t.storage_read(key, value.as_deref()); }); - return value + return value; } /// Returns `Some(len)` (in bytes) if a storage item exists at `key`. @@ -319,12 +320,13 @@ impl ContractInfo { let mut diff = Diff::default(); let key_len = key.len() as u32; match (old_len, new_value.as_ref().map(|v| v.len() as u32)) { - (Some(old_len), Some(new_len)) => + (Some(old_len), Some(new_len)) => { if new_len > old_len { diff.bytes_added = new_len - old_len; } else { diff.bytes_removed = old_len - new_len; - }, + } + }, (None, Some(new_len)) => { diff.bytes_added = new_len.saturating_add(key_len); diff.items_added = 1; @@ -404,7 +406,7 @@ impl ContractInfo { /// Delete as many items from the deletion queue possible within the supplied weight limit. pub fn process_deletion_queue_batch(meter: &mut WeightMeter) { if meter.try_consume(T::WeightInfo::on_process_deletion_queue_batch()).is_err() { - return + return; }; let mut queue = >::load(); @@ -427,7 +429,7 @@ impl ContractInfo { // This happens when our budget wasn't large enough to remove all keys. KillStorageResult::SomeRemaining(keys_removed) => { remaining_key_budget.saturating_reduce(keys_removed); - break + break; }, KillStorageResult::AllRemoved(keys_removed) => { entry.remove(); @@ -561,7 +563,7 @@ impl DeletionQueueManager { /// the cost of an extra call to `sp_io::storage::next_key` to lookup the next entry in the map fn next(&mut self) -> Option> { if self.is_empty() { - return None + return None; } let entry = >::get(self.delete_counter); diff --git a/substrate/frame/revive/src/test_utils/builder.rs b/substrate/frame/revive/src/test_utils/builder.rs index 378350296fe84..d370a3d199a87 100644 --- a/substrate/frame/revive/src/test_utils/builder.rs +++ b/substrate/frame/revive/src/test_utils/builder.rs @@ -15,11 +15,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -use super::{deposit_limit, ETH_GAS_LIMIT, WEIGHT_LIMIT}; +use super::{ETH_GAS_LIMIT, WEIGHT_LIMIT, deposit_limit}; use crate::{ - address::AddressMapper, evm::TransactionSigned, metering::TransactionLimits, AccountIdOf, - BalanceOf, Code, Config, ContractResult, ExecConfig, ExecReturnValue, InstantiateReturnValue, - OriginFor, Pallet, Weight, U256, + AccountIdOf, BalanceOf, Code, Config, ContractResult, ExecConfig, ExecReturnValue, + InstantiateReturnValue, OriginFor, Pallet, U256, Weight, address::AddressMapper, + evm::TransactionSigned, metering::TransactionLimits, }; use alloc::{vec, vec::Vec}; use frame_support::pallet_prelude::DispatchResultWithPostInfo; @@ -34,14 +34,43 @@ macro_rules! builder { $($extra:item)* ) => { paste!{ - builder!([< $method:camel Builder >], $method($($field: $type,)* ) -> $result; $($extra)*); + builder!(with_builder_fn, [< $method:camel Builder >], $method($($field: $type,)* ) -> $result; $($extra)*); + } + }; + ( + $full_expand:path, + $method:ident($($field:ident: $type:ty,)*) -> $result:ty; + $($extra:item)* + ) => { + paste!{ + builder!($full_expand, [< $method:camel Builder >], $method($($field: $type,)* ) -> $result; $($extra)*); } }; // Generate the builder struct and its methods. ( + with_builder_fn, $name:ident, $method:ident($($field:ident: $type:ty,)*) -> $result:ty; $($extra:item)* + ) => { + builder!(without_builder_fn, $name, $method($($field: $type,)* ) -> $result; $($extra)*); + + #[allow(dead_code)] + impl $name { + #[doc = concat!("Build the ", stringify!($method), " call")] + pub fn build(self) -> $result { + Pallet::::$method( + $(self.$field,)* + ) + } + } + }; + // Generate the builder struct and its methods. + ( + without_builder_fn, + $name:ident, + $method:ident($($field:ident: $type:ty,)*) -> $result:ty; + $($extra:item)* ) => { #[doc = concat!("A builder to construct a ", stringify!($method), " call")] pub struct $name { @@ -58,16 +87,9 @@ macro_rules! builder { } )* - #[doc = concat!("Build the ", stringify!($method), " call")] - pub fn build(self) -> $result { - Pallet::::$method( - $(self.$field,)* - ) - } - - $($extra)* + $($extra)* } - } + }; } pub struct Contract { @@ -126,6 +148,7 @@ builder!( ); builder!( + without_builder_fn, bare_instantiate( origin: OriginFor, evm_value: U256, @@ -148,6 +171,18 @@ builder!( } } + /// Build the "bare_instantiate" call + pub fn build(self) -> ContractResult> { + Pallet::::bare_instantiate( + self.origin, + self.evm_value, + self.transaction_limits, + self.code, + self.data, + self.salt, + &self.exec_config + ) + } /// Set the call's evm_value using a native_value amount. pub fn native_value(mut self, value: BalanceOf) -> Self { self.evm_value = Pallet::::convert_native_to_evm(value); @@ -210,6 +245,7 @@ builder!( ); builder!( + without_builder_fn, bare_call( origin: OriginFor, dest: H160, @@ -219,6 +255,18 @@ builder!( exec_config: ExecConfig, ) -> ContractResult>; + /// Build the "bare_call" call + pub fn build(self) -> ContractResult> { + Pallet::::bare_call( + self.origin, + self.dest, + self.evm_value, + self.transaction_limits, + self.data, + &self.exec_config + ) + } + /// Set the call's evm_value using a native_value amount. pub fn native_value(mut self, value: BalanceOf) -> Self { self.evm_value = Pallet::::convert_native_to_evm(value); diff --git a/substrate/frame/revive/src/tests.rs b/substrate/frame/revive/src/tests.rs index 0af794f6ec7e3..2196a032f98f4 100644 --- a/substrate/frame/revive/src/tests.rs +++ b/substrate/frame/revive/src/tests.rs @@ -25,7 +25,9 @@ mod stipends; use std::collections::HashMap; use crate::{ - self as pallet_revive, + self as pallet_revive, AccountId32Mapper, AddressMapper, BalanceOf, BalanceWithDust, Call, + CodeInfoOf, Config, DelegateInfo, ExecOrigin as Origin, ExecReturnValue, GenesisConfig, + OriginFor, Pallet, PristineCode, evm::{ fees::{BlockRatioFee, Info as FeeInfo}, runtime::{EthExtra, SetWeightLimit}, @@ -33,25 +35,22 @@ use crate::{ genesis::{Account, ContractData}, mock::MockHandler, test_utils::*, - AccountId32Mapper, AddressMapper, BalanceOf, BalanceWithDust, Call, CodeInfoOf, Config, - DelegateInfo, ExecOrigin as Origin, ExecReturnValue, GenesisConfig, OriginFor, Pallet, - PristineCode, }; use frame_support::{ - assert_ok, derive_impl, + DefaultNoBound, assert_ok, derive_impl, pallet_prelude::EnsureOrigin, parameter_types, traits::{ConstU32, ConstU64, FindAuthor, OriginTrait, StorageVersion}, - weights::{constants::WEIGHT_REF_TIME_PER_SECOND, FixedFee, Weight}, + weights::{FixedFee, Weight, constants::WEIGHT_REF_TIME_PER_SECOND}, }; use pallet_revive_fixtures::compile_module; use pallet_transaction_payment::{ChargeTransactionPayment, ConstFeeMultiplier, Multiplier}; use sp_core::{H160, U256}; -use sp_keystore::{testing::MemoryKeystore, KeystoreExt}; +use sp_keystore::{KeystoreExt, testing::MemoryKeystore}; use sp_runtime::{ + AccountId32, BuildStorage, FixedU128, MultiAddress, MultiSignature, Perbill, Storage, generic::Header, traits::{BlakeTwo256, Convert, IdentityLookup, One}, - AccountId32, BuildStorage, FixedU128, MultiAddress, MultiSignature, Perbill, Storage, }; pub type Address = MultiAddress; @@ -116,8 +115,8 @@ pub mod test_utils { Test, }; use crate::{ - address::AddressMapper, exec::AccountIdOf, AccountInfo, AccountInfoOf, BalanceOf, CodeInfo, - CodeInfoOf, Config, ContractInfo, PristineCode, + AccountInfo, AccountInfoOf, BalanceOf, CodeInfo, CodeInfoOf, Config, ContractInfo, + PristineCode, address::AddressMapper, exec::AccountIdOf, }; use codec::{Encode, MaxEncodedLen}; use frame_support::traits::fungible::{InspectHold, Mutate}; @@ -216,9 +215,9 @@ pub mod test_utils { pub(crate) mod builder { use super::Test; use crate::{ - test_utils::{builder::*, ALICE}, - tests::RuntimeOrigin, Code, + test_utils::{ALICE, builder::*}, + tests::RuntimeOrigin, }; use sp_core::{H160, H256}; @@ -258,10 +257,6 @@ pub(crate) mod builder { } impl Test { - pub fn set_unstable_interface(unstable_interface: bool) { - UNSTABLE_INTERFACE.with(|v| *v.borrow_mut() = unstable_interface); - } - pub fn set_allow_evm_bytecode(allow_evm_bytecode: bool) { ALLOW_EVM_BYTECODE.with(|v| *v.borrow_mut() = allow_evm_bytecode); } @@ -324,7 +319,7 @@ parameter_types! { #[derive_impl(pallet_transaction_payment::config_preludes::TestDefaultConfig)] impl pallet_transaction_payment::Config for Test { type OnChargeTransaction = pallet_transaction_payment::FungibleAdapter; - type WeightToFee = BlockRatioFee<2, 1, Self>; + type WeightToFee = BlockRatioFee<2, 1, Self, u64>; type LengthToFee = FixedFee<100, ::Balance>; type FeeMultiplierUpdate = ConstFeeMultiplier; } @@ -372,7 +367,6 @@ where } } parameter_types! { - pub static UnstableInterface: bool = true; pub static AllowEvmBytecode: bool = true; pub CheckingAccount: AccountId32 = BOB.clone(); pub static DebugFlag: bool = false; @@ -396,7 +390,6 @@ impl Config for Test { type DepositPerByte = DepositPerByte; type DepositPerItem = DepositPerItem; type DepositPerChildTrieItem = DepositPerItem; - type UnsafeUnstableInterface = UnstableInterface; type AllowEVMBytecode = AllowEvmBytecode; type UploadOrigin = EnsureAccount; type InstantiateOrigin = EnsureAccount; @@ -543,7 +536,12 @@ impl Default for Origin { } } +/// Dummy EVM bytecode for mocked addresses. +/// This is minimal EVM bytecode (STOP) that terminates successfully. +pub const MOCK_CODE: [u8; 1] = [0x00]; + /// A mock handler implementation for testing purposes. +#[derive(DefaultNoBound)] pub struct MockHandlerImpl { // Always return this caller if set. mock_caller: Option, @@ -572,6 +570,10 @@ impl MockHandler for MockHandlerImpl { fn mock_delegated_caller(&self, _dest: H160, input_data: &[u8]) -> Option> { self.mock_delegate_caller.get(&input_data.to_vec()).cloned() } + + fn mocked_code(&self, address: H160) -> Option<&[u8]> { + if self.mock_call.contains_key(&address) { Some(&MOCK_CODE) } else { None } + } } #[test] @@ -581,7 +583,7 @@ fn ext_builder_with_genesis_config_works() { balance: U256::from(100_000_100), nonce: 42, contract_data: Some(ContractData { - code: compile_module("dummy").unwrap().0, + code: compile_module("dummy").unwrap().0.into(), storage: [([1u8; 32].into(), [2u8; 32].into())].into_iter().collect(), }), }; @@ -597,7 +599,8 @@ fn ext_builder_with_genesis_config_works() { revm::bytecode::opcode::PUSH1, 0x00, revm::bytecode::opcode::RETURN, - ], + ] + .into(), storage: [([3u8; 32].into(), [4u8; 32].into())].into_iter().collect(), }), }; @@ -633,7 +636,7 @@ fn ext_builder_with_genesis_config_works() { assert_eq!( PristineCode::::get(&contract_info.code_hash).unwrap(), - contract_data.code + contract_data.code.0 ); assert_eq!(Pallet::::evm_nonce(&contract.address), contract.nonce); assert_eq!(Pallet::::evm_balance(&contract.address), contract.balance); diff --git a/substrate/frame/revive/src/tests/block_hash.rs b/substrate/frame/revive/src/tests/block_hash.rs index d83b55916e9be..766dce8609ba1 100644 --- a/substrate/frame/revive/src/tests/block_hash.rs +++ b/substrate/frame/revive/src/tests/block_hash.rs @@ -18,17 +18,17 @@ //! The pallet-revive ETH block hash specific integration test suite. use crate::{ - evm::{block_hash::EthereumBlockBuilder, fees::InfoT, Block, TransactionSigned}, - test_utils::{builder::Contract, deposit_limit, ALICE}, - tests::{assert_ok, builder, Contracts, ExtBuilder, RuntimeOrigin, System, Test, Timestamp}, BalanceWithDust, Code, Config, EthBlock, EthBlockBuilderFirstValues, EthBlockBuilderIR, EthereumBlock, Pallet, ReceiptGasInfo, ReceiptInfoData, + evm::{Block, TransactionSigned, block_hash::EthereumBlockBuilder, fees::InfoT}, + test_utils::{ALICE, builder::Contract, deposit_limit}, + tests::{Contracts, ExtBuilder, RuntimeOrigin, System, Test, Timestamp, assert_ok, builder}, }; use alloy_consensus::RlpEncodableReceipt; use alloy_core::primitives::{FixedBytes, Log as AlloyLog}; use frame_support::traits::{ - fungible::{Balanced, Mutate}, Hooks, + fungible::{Balanced, Mutate}, }; use pallet_revive_fixtures::compile_module; use sp_state_machine::BasicExternalities; @@ -93,10 +93,12 @@ fn transactions_are_captured() { // eth calls are captured. assert_ok!(builder::eth_call(addr).transaction_encoded(vec![1]).value(balance).build()); - assert_ok!(builder::eth_instantiate_with_code(binary) - .value(balance) - .transaction_encoded(vec![2]) - .build()); + assert_ok!( + builder::eth_instantiate_with_code(binary) + .value(balance) + .transaction_encoded(vec![2]) + .build() + ); assert_ok!(builder::eth_call(addr2).transaction_encoded(vec![3]).build()); // non-eth calls are not captured. diff --git a/substrate/frame/revive/src/tests/json_trace/call_evm.json b/substrate/frame/revive/src/tests/json_trace/call_evm.json new file mode 100644 index 0000000000000..343be42264798 --- /dev/null +++ b/substrate/frame/revive/src/tests/json_trace/call_evm.json @@ -0,0 +1,26666 @@ +{ + "gas": 142537967, + "weightConsumed": { + "ref_time": 0, + "proof_size": 0 + }, + "baseCallWeight": { + "ref_time": 0, + "proof_size": 0 + }, + "failed": false, + "returnValue": "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a", + "structLogs": [ + { + "gas": 250000982272, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 0, + "op": "PUSH1", + "stack": [] + }, + { + "gas": 250000977688, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2, + "op": "PUSH1", + "stack": [ + "0x80" + ] + }, + { + "gas": 250000973104, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 4, + "op": "MSTORE", + "stack": [ + "0x80", + "0x40" + ] + }, + { + "gas": 250000968520, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 5, + "op": "PUSH1", + "stack": [] + }, + { + "gas": 250000963936, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 7, + "op": "CALLDATASIZE", + "stack": [ + "0x4" + ] + }, + { + "gas": 250000960880, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 8, + "op": "LT", + "stack": [ + "0x4", + "0xe4" + ] + }, + { + "gas": 250000956296, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 9, + "op": "PUSH2", + "stack": [ + "0x0" + ] + }, + { + "gas": 250000951712, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 12, + "op": "JUMPI", + "stack": [ + "0x0", + "0x79" + ] + }, + { + "gas": 250000936432, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 13, + "op": "PUSH0", + "stack": [] + }, + { + "gas": 250000933376, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 14, + "op": "CALLDATALOAD", + "stack": [ + "0x0" + ] + }, + { + "gas": 250000928792, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 15, + "op": "PUSH1", + "stack": [ + "0xd1df6a000000000000000000000000fde6a729e159b8a8896f854789d6b8a6" + ] + }, + { + "gas": 250000924208, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 17, + "op": "SHR", + "stack": [ + "0xd1df6a000000000000000000000000fde6a729e159b8a8896f854789d6b8a6", + "0xe0" + ] + }, + { + "gas": 250000919624, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 18, + "op": "DUP1", + "stack": [ + "0xd1df6a" + ] + }, + { + "gas": 250000915040, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 19, + "op": "PUSH4", + "stack": [ + "0xd1df6a", + "0xd1df6a" + ] + }, + { + "gas": 250000910456, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 24, + "op": "GT", + "stack": [ + "0xd1df6a", + "0xd1df6a", + "0x73d4a13a" + ] + }, + { + "gas": 250000905872, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 25, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0x1" + ] + }, + { + "gas": 250000901288, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 28, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0x1", + "0x4d" + ] + }, + { + "gas": 250000886008, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 77, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a" + ] + }, + { + "gas": 250000884480, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 78, + "op": "DUP1", + "stack": [ + "0xd1df6a" + ] + }, + { + "gas": 250000879896, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 79, + "op": "PUSH3", + "stack": [ + "0xd1df6a", + "0xd1df6a" + ] + }, + { + "gas": 250000875312, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 83, + "op": "EQ", + "stack": [ + "0xd1df6a", + "0xd1df6a", + "0xd1df6a" + ] + }, + { + "gas": 250000870728, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 84, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0x1" + ] + }, + { + "gas": 250000866144, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 87, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0x1", + "0x7d" + ] + }, + { + "gas": 250000850864, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 125, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a" + ] + }, + { + "gas": 250000849336, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 1, + "pc": 126, + "op": "CALLVALUE", + "stack": [ + "0xd1df6a" + ] + }, + { + "gas": 250000817436, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 127, + "op": "DUP1", + "stack": [ + "0xd1df6a", + "0x0" + ] + }, + { + "gas": 250000812852, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 128, + "op": "ISZERO", + "stack": [ + "0xd1df6a", + "0x0", + "0x0" + ] + }, + { + "gas": 250000808268, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 129, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0x0", + "0x1" + ] + }, + { + "gas": 250000803684, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 132, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0x0", + "0x1", + "0x88" + ] + }, + { + "gas": 250000788404, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 136, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0x0" + ] + }, + { + "gas": 250000786876, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 137, + "op": "POP", + "stack": [ + "0xd1df6a", + "0x0" + ] + }, + { + "gas": 250000783820, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 138, + "op": "PUSH2", + "stack": [ + "0xd1df6a" + ] + }, + { + "gas": 250000779236, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 141, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3" + ] + }, + { + "gas": 250000774652, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 143, + "op": "DUP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x4" + ] + }, + { + "gas": 250000770068, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 144, + "op": "CALLDATASIZE", + "stack": [ + "0xd1df6a", + "0xa3", + "0x4", + "0x4" + ] + }, + { + "gas": 250000767012, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 145, + "op": "SUB", + "stack": [ + "0xd1df6a", + "0xa3", + "0x4", + "0x4", + "0xe4" + ] + }, + { + "gas": 250000762428, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 146, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x4", + "0xe0" + ] + }, + { + "gas": 250000757844, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 147, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x4", + "0xe0", + "0x4" + ] + }, + { + "gas": 250000753260, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 148, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x4", + "0xe4" + ] + }, + { + "gas": 250000748676, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 149, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xe4", + "0x4" + ] + }, + { + "gas": 250000744092, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 152, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xe4", + "0x4", + "0x9e" + ] + }, + { + "gas": 250000739508, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 153, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0x4", + "0xe4" + ] + }, + { + "gas": 250000734924, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 154, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4" + ] + }, + { + "gas": 250000730340, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 157, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x8c6" + ] + }, + { + "gas": 250000718116, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2246, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4" + ] + }, + { + "gas": 250000716588, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2247, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4" + ] + }, + { + "gas": 250000713532, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2248, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0" + ] + }, + { + "gas": 250000710476, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2249, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0" + ] + }, + { + "gas": 250000707420, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2250, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000704364, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2251, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000699780, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2253, + "op": "DUP6", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x80" + ] + }, + { + "gas": 250000695196, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2254, + "op": "DUP8", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x80", + "0x4" + ] + }, + { + "gas": 250000690612, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2255, + "op": "SUB", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x80", + "0x4", + "0xe4" + ] + }, + { + "gas": 250000686028, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2256, + "op": "SLT", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x80", + "0xe0" + ] + }, + { + "gas": 250000681444, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2257, + "op": "ISZERO", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000676860, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2258, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x1" + ] + }, + { + "gas": 250000672276, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 2261, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x1", + "0x8de" + ] + }, + { + "gas": 250000656996, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2270, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000655468, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2271, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000652412, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2272, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000647828, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2275, + "op": "DUP8", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb" + ] + }, + { + "gas": 250000643244, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2276, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4" + ] + }, + { + "gas": 250000638660, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2277, + "op": "DUP9", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x0" + ] + }, + { + "gas": 250000634076, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2278, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x0", + "0x4" + ] + }, + { + "gas": 250000629492, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2279, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4" + ] + }, + { + "gas": 250000624908, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2282, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0x739" + ] + }, + { + "gas": 250000612684, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1849, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4" + ] + }, + { + "gas": 250000611156, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1850, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4" + ] + }, + { + "gas": 250000608100, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1851, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0x0" + ] + }, + { + "gas": 250000603516, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1852, + "op": "CALLDATALOAD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0x0", + "0x4" + ] + }, + { + "gas": 250000598932, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1853, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000594348, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1854, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0" + ] + }, + { + "gas": 250000591292, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1855, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000586708, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1858, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747" + ] + }, + { + "gas": 250000582124, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1859, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000577540, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1862, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x723" + ] + }, + { + "gas": 250000565316, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1827, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000563788, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1828, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000559204, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1831, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c" + ] + }, + { + "gas": 250000554620, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1832, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000550036, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1835, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x712" + ] + }, + { + "gas": 250000537812, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1810, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000536284, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1811, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000533228, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1812, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0" + ] + }, + { + "gas": 250000528644, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1815, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c" + ] + }, + { + "gas": 250000524060, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1816, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000519476, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1819, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x6f3" + ] + }, + { + "gas": 250000507252, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1779, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000505724, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1780, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000502668, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1781, + "op": "PUSH20", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0" + ] + }, + { + "gas": 250000498084, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1802, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffff" + ] + }, + { + "gas": 250000493500, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1803, + "op": "AND", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffff", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000488916, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1804, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000484332, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1805, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0" + ] + }, + { + "gas": 250000481276, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1806, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000476692, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1807, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x71c" + ] + }, + { + "gas": 250000472108, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1808, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000469052, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1809, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x71c" + ] + }, + { + "gas": 250000456828, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1820, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000455300, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1821, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000450716, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1822, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0" + ] + }, + { + "gas": 250000447660, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1823, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000443076, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1824, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c" + ] + }, + { + "gas": 250000438492, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1825, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000435436, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1826, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c" + ] + }, + { + "gas": 250000423212, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1836, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000421684, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1837, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000417100, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1838, + "op": "EQ", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000412516, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1839, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x1" + ] + }, + { + "gas": 250000407932, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 1842, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x1", + "0x736" + ] + }, + { + "gas": 250000392652, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1846, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000391124, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1847, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000388068, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1848, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747" + ] + }, + { + "gas": 250000375844, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1863, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000374316, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1864, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x8eb", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000369732, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1865, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xe4", + "0x4", + "0x8eb" + ] + }, + { + "gas": 250000365148, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1866, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x8eb", + "0x4", + "0xe4" + ] + }, + { + "gas": 250000362092, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1867, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x8eb", + "0x4" + ] + }, + { + "gas": 250000359036, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1868, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x8eb" + ] + }, + { + "gas": 250000346812, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2283, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000345284, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2284, + "op": "SWAP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000340700, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2285, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000337644, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2286, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000334588, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2287, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000330004, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2289, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20" + ] + }, + { + "gas": 250000325420, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2292, + "op": "DUP8", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc" + ] + }, + { + "gas": 250000320836, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2293, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4" + ] + }, + { + "gas": 250000316252, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2294, + "op": "DUP9", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x20" + ] + }, + { + "gas": 250000311668, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2295, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x20", + "0x4" + ] + }, + { + "gas": 250000307084, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2296, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24" + ] + }, + { + "gas": 250000302500, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2299, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x776" + ] + }, + { + "gas": 250000290276, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1910, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24" + ] + }, + { + "gas": 250000288748, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1911, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24" + ] + }, + { + "gas": 250000285692, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1912, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0" + ] + }, + { + "gas": 250000281108, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1913, + "op": "CALLDATALOAD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x24" + ] + }, + { + "gas": 250000276524, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1914, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x0" + ] + }, + { + "gas": 250000271940, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1915, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x0" + ] + }, + { + "gas": 250000268884, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1916, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0" + ] + }, + { + "gas": 250000264300, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1919, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784" + ] + }, + { + "gas": 250000259716, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1920, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0" + ] + }, + { + "gas": 250000255132, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1923, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x760" + ] + }, + { + "gas": 250000242908, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1888, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0" + ] + }, + { + "gas": 250000241380, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1889, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0" + ] + }, + { + "gas": 250000236796, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1892, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x769" + ] + }, + { + "gas": 250000232212, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1893, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x769", + "0x0" + ] + }, + { + "gas": 250000227628, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1896, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x769", + "0x0", + "0x74d" + ] + }, + { + "gas": 250000215404, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1869, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x769", + "0x0" + ] + }, + { + "gas": 250000213876, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1870, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x769", + "0x0" + ] + }, + { + "gas": 250000210820, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1871, + "op": "PUSH8", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x769", + "0x0", + "0x0" + ] + }, + { + "gas": 250000206236, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1880, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x769", + "0x0", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 250000201652, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1881, + "op": "AND", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x769", + "0x0", + "0x0", + "0xffffffffffffffff", + "0x0" + ] + }, + { + "gas": 250000197068, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1882, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x769", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000192484, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1883, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x769", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000189428, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1884, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x769", + "0x0", + "0x0" + ] + }, + { + "gas": 250000184844, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1885, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x0", + "0x0", + "0x769" + ] + }, + { + "gas": 250000180260, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1886, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x0", + "0x769", + "0x0" + ] + }, + { + "gas": 250000177204, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1887, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x0", + "0x769" + ] + }, + { + "gas": 250000164980, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1897, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x0" + ] + }, + { + "gas": 250000163452, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1898, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x0" + ] + }, + { + "gas": 250000158868, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1899, + "op": "EQ", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000154284, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1900, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x1" + ] + }, + { + "gas": 250000149700, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 1903, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0", + "0x1", + "0x773" + ] + }, + { + "gas": 250000134420, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1907, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0" + ] + }, + { + "gas": 250000132892, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1908, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784", + "0x0" + ] + }, + { + "gas": 250000129836, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1909, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0", + "0x784" + ] + }, + { + "gas": 250000117612, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1924, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0" + ] + }, + { + "gas": 250000116084, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1925, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x8fc", + "0xe4", + "0x24", + "0x0" + ] + }, + { + "gas": 250000111500, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1926, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x0", + "0xe4", + "0x24", + "0x8fc" + ] + }, + { + "gas": 250000106916, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1927, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x0", + "0x8fc", + "0x24", + "0xe4" + ] + }, + { + "gas": 250000103860, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1928, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x0", + "0x8fc", + "0x24" + ] + }, + { + "gas": 250000100804, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1929, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x0", + "0x8fc" + ] + }, + { + "gas": 250000088580, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2300, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x0" + ] + }, + { + "gas": 250000087052, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2301, + "op": "SWAP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x0" + ] + }, + { + "gas": 250000082468, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2302, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20", + "0x0" + ] + }, + { + "gas": 250000079412, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2303, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x20" + ] + }, + { + "gas": 250000076356, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2304, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000071772, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2306, + "op": "DUP6", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x40" + ] + }, + { + "gas": 250000067188, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2307, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x40", + "0x4" + ] + }, + { + "gas": 250000062604, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2308, + "op": "CALLDATALOAD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x44" + ] + }, + { + "gas": 250000058020, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2309, + "op": "PUSH8", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80" + ] + }, + { + "gas": 250000053436, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2318, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0xffffffffffffffff" + ] + }, + { + "gas": 250000048852, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2319, + "op": "GT", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x80" + ] + }, + { + "gas": 250000044268, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2320, + "op": "ISZERO", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x0" + ] + }, + { + "gas": 250000039684, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2321, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x1" + ] + }, + { + "gas": 250000035100, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 2324, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x1", + "0x91d" + ] + }, + { + "gas": 250000019820, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2333, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80" + ] + }, + { + "gas": 250000018292, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2334, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80" + ] + }, + { + "gas": 250000013708, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2337, + "op": "DUP8", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929" + ] + }, + { + "gas": 250000009124, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2338, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4" + ] + }, + { + "gas": 250000004540, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2339, + "op": "DUP9", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x80" + ] + }, + { + "gas": 249999999956, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2340, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x80", + "0x4" + ] + }, + { + "gas": 249999995372, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2341, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84" + ] + }, + { + "gas": 249999990788, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2344, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x899" + ] + }, + { + "gas": 249999978564, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2201, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84" + ] + }, + { + "gas": 249999977036, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2202, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84" + ] + }, + { + "gas": 249999973980, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2203, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0" + ] + }, + { + "gas": 249999969396, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2204, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0xe4" + ] + }, + { + "gas": 249999964812, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2206, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0xe4", + "0x1f" + ] + }, + { + "gas": 249999960228, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2207, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0xe4", + "0x1f", + "0x84" + ] + }, + { + "gas": 249999955644, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2208, + "op": "SLT", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0xe4", + "0xa3" + ] + }, + { + "gas": 249999951060, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2209, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x1" + ] + }, + { + "gas": 249999946476, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 2212, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x1", + "0x8ad" + ] + }, + { + "gas": 249999931196, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2221, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0" + ] + }, + { + "gas": 249999929668, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2222, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0" + ] + }, + { + "gas": 249999925084, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2223, + "op": "CALLDATALOAD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x84" + ] + }, + { + "gas": 249999920500, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2224, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24" + ] + }, + { + "gas": 249999915916, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2227, + "op": "DUP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd" + ] + }, + { + "gas": 249999911332, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2228, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4" + ] + }, + { + "gas": 249999906748, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2229, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24" + ] + }, + { + "gas": 249999902164, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2231, + "op": "DUP7", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0x20" + ] + }, + { + "gas": 249999897580, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2232, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0x20", + "0x84" + ] + }, + { + "gas": 249999892996, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2233, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4" + ] + }, + { + "gas": 249999888412, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2236, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x858" + ] + }, + { + "gas": 249999876188, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2136, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4" + ] + }, + { + "gas": 249999874660, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2137, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4" + ] + }, + { + "gas": 249999871604, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2138, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0" + ] + }, + { + "gas": 249999867020, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2141, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a" + ] + }, + { + "gas": 249999862436, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2144, + "op": "DUP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865" + ] + }, + { + "gas": 249999857852, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2145, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24" + ] + }, + { + "gas": 249999853268, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2148, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x81a" + ] + }, + { + "gas": 249999841044, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2074, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24" + ] + }, + { + "gas": 249999839516, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2075, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24" + ] + }, + { + "gas": 249999836460, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2076, + "op": "PUSH8", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0" + ] + }, + { + "gas": 249999831876, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2085, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999827292, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2086, + "op": "GT", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0xffffffffffffffff", + "0x24" + ] + }, + { + "gas": 249999822708, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2087, + "op": "ISZERO", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x0" + ] + }, + { + "gas": 249999818124, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2088, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x1" + ] + }, + { + "gas": 249999813540, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 2091, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x1", + "0x834" + ] + }, + { + "gas": 249999798260, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2100, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0" + ] + }, + { + "gas": 249999796732, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2101, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0" + ] + }, + { + "gas": 249999792148, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2104, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d" + ] + }, + { + "gas": 249999787564, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2105, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24" + ] + }, + { + "gas": 249999782980, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2108, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x792" + ] + }, + { + "gas": 249999770756, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1938, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24" + ] + }, + { + "gas": 249999769228, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1939, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24" + ] + }, + { + "gas": 249999766172, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1940, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0" + ] + }, + { + "gas": 249999761588, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1942, + "op": "NOT", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0", + "0x1f" + ] + }, + { + "gas": 249999757004, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1943, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0" + ] + }, + { + "gas": 249999752420, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1945, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x1f" + ] + }, + { + "gas": 249999747836, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1946, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x1f", + "0x24" + ] + }, + { + "gas": 249999743252, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1947, + "op": "AND", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x43" + ] + }, + { + "gas": 249999738668, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1948, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0", + "0x40" + ] + }, + { + "gas": 249999734084, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1949, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x40", + "0x0" + ] + }, + { + "gas": 249999731028, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1950, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x40" + ] + }, + { + "gas": 249999726444, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1951, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x40", + "0x24", + "0x83d" + ] + }, + { + "gas": 249999721860, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1952, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x40", + "0x83d", + "0x24" + ] + }, + { + "gas": 249999718804, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1953, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x40", + "0x83d" + ] + }, + { + "gas": 249999706580, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2109, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x40" + ] + }, + { + "gas": 249999705052, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2110, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x40" + ] + }, + { + "gas": 249999700468, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2111, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x40", + "0x0" + ] + }, + { + "gas": 249999697412, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2112, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x40" + ] + }, + { + "gas": 249999692828, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2114, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x40", + "0x20" + ] + }, + { + "gas": 249999688244, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2115, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x40", + "0x20", + "0x40" + ] + }, + { + "gas": 249999683660, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2116, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x40", + "0x60" + ] + }, + { + "gas": 249999679076, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2117, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x60", + "0x40" + ] + }, + { + "gas": 249999676020, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2118, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x60" + ] + }, + { + "gas": 249999671436, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2119, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x24", + "0x865" + ] + }, + { + "gas": 249999666852, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2120, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x865", + "0x24" + ] + }, + { + "gas": 249999663796, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2121, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x865" + ] + }, + { + "gas": 249999651572, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2149, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60" + ] + }, + { + "gas": 249999650044, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2150, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60" + ] + }, + { + "gas": 249999645460, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2153, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x800" + ] + }, + { + "gas": 249999633236, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2048, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60" + ] + }, + { + "gas": 249999631708, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2049, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60" + ] + }, + { + "gas": 249999628652, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2050, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0" + ] + }, + { + "gas": 249999624068, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2053, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809" + ] + }, + { + "gas": 249999619484, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2056, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809", + "0x6e2" + ] + }, + { + "gas": 249999607260, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1762, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809" + ] + }, + { + "gas": 249999605732, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1763, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809" + ] + }, + { + "gas": 249999602676, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1764, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809", + "0x0" + ] + }, + { + "gas": 249999598092, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1766, + "op": "MLOAD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809", + "0x0", + "0x40" + ] + }, + { + "gas": 249999593508, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1767, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809", + "0x0", + "0x80" + ] + }, + { + "gas": 249999588924, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1768, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809", + "0x80", + "0x0" + ] + }, + { + "gas": 249999585868, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1769, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809", + "0x80" + ] + }, + { + "gas": 249999581284, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1770, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x80", + "0x809" + ] + }, + { + "gas": 249999569060, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2057, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x80" + ] + }, + { + "gas": 249999567532, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2058, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x80" + ] + }, + { + "gas": 249999562948, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2059, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x0" + ] + }, + { + "gas": 249999559892, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2060, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80" + ] + }, + { + "gas": 249999555308, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2063, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815" + ] + }, + { + "gas": 249999550724, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2064, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60" + ] + }, + { + "gas": 249999546140, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2065, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80" + ] + }, + { + "gas": 249999541556, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2068, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7cf" + ] + }, + { + "gas": 249999529332, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1999, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80" + ] + }, + { + "gas": 249999527804, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2000, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80" + ] + }, + { + "gas": 249999523220, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2003, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8" + ] + }, + { + "gas": 249999518636, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2004, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60" + ] + }, + { + "gas": 249999514052, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2007, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x792" + ] + }, + { + "gas": 249999501828, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1938, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60" + ] + }, + { + "gas": 249999500300, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1939, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60" + ] + }, + { + "gas": 249999497244, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1940, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0" + ] + }, + { + "gas": 249999492660, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1942, + "op": "NOT", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0", + "0x1f" + ] + }, + { + "gas": 249999488076, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1943, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0" + ] + }, + { + "gas": 249999483492, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1945, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x1f" + ] + }, + { + "gas": 249999478908, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1946, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x1f", + "0x60" + ] + }, + { + "gas": 249999474324, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1947, + "op": "AND", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x7f" + ] + }, + { + "gas": 249999469740, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1948, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0", + "0x60" + ] + }, + { + "gas": 249999465156, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1949, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x60", + "0x0" + ] + }, + { + "gas": 249999462100, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1950, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x60" + ] + }, + { + "gas": 249999457516, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1951, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x60", + "0x60", + "0x7d8" + ] + }, + { + "gas": 249999452932, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1952, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x60", + "0x7d8", + "0x60" + ] + }, + { + "gas": 249999449876, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1953, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x60", + "0x7d8" + ] + }, + { + "gas": 249999437652, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2008, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x60" + ] + }, + { + "gas": 249999436124, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2009, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x60" + ] + }, + { + "gas": 249999431540, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2010, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x60", + "0x80" + ] + }, + { + "gas": 249999426956, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2011, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0" + ] + }, + { + "gas": 249999422372, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2012, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x80" + ] + }, + { + "gas": 249999417788, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2013, + "op": "LT", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x80", + "0xe0" + ] + }, + { + "gas": 249999413204, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2014, + "op": "PUSH8", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x0" + ] + }, + { + "gas": 249999408620, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2023, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999404036, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2024, + "op": "GT", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x0", + "0xffffffffffffffff", + "0xe0" + ] + }, + { + "gas": 249999399452, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2025, + "op": "OR", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x0", + "0x0" + ] + }, + { + "gas": 249999394868, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2026, + "op": "ISZERO", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x0" + ] + }, + { + "gas": 249999390284, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2027, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x1" + ] + }, + { + "gas": 249999385700, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 2030, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x1", + "0x7f7" + ] + }, + { + "gas": 249999370420, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2039, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0" + ] + }, + { + "gas": 249999368892, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2040, + "op": "DUP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0" + ] + }, + { + "gas": 249999364308, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2041, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0xe0" + ] + }, + { + "gas": 249999359724, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2043, + "op": "MSTORE", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0xe0", + "0x40" + ] + }, + { + "gas": 249999355140, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2044, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0" + ] + }, + { + "gas": 249999352084, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2045, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80" + ] + }, + { + "gas": 249999349028, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2046, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60" + ] + }, + { + "gas": 249999345972, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2047, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815" + ] + }, + { + "gas": 249999333748, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2069, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80" + ] + }, + { + "gas": 249999332220, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2070, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x86a", + "0x60", + "0x80" + ] + }, + { + "gas": 249999327636, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2071, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x80", + "0x60", + "0x86a" + ] + }, + { + "gas": 249999323052, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2072, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x80", + "0x86a", + "0x60" + ] + }, + { + "gas": 249999319996, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2073, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x80", + "0x86a" + ] + }, + { + "gas": 249999307772, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2154, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x80" + ] + }, + { + "gas": 249999306244, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2155, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x0", + "0x80" + ] + }, + { + "gas": 249999301660, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2156, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0x0" + ] + }, + { + "gas": 249999298604, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2157, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80" + ] + }, + { + "gas": 249999294020, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2158, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0x24" + ] + }, + { + "gas": 249999289436, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2159, + "op": "MSTORE", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0x24", + "0x80" + ] + }, + { + "gas": 249999284852, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2160, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80" + ] + }, + { + "gas": 249999280268, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2162, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0x20" + ] + }, + { + "gas": 249999275684, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2163, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0x20", + "0x80" + ] + }, + { + "gas": 249999271100, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2164, + "op": "DUP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0" + ] + }, + { + "gas": 249999266516, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2165, + "op": "DUP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0xe4" + ] + }, + { + "gas": 249999261932, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2166, + "op": "DUP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0xe4", + "0x24" + ] + }, + { + "gas": 249999257348, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2167, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0xe4", + "0x24", + "0xa4" + ] + }, + { + "gas": 249999252764, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2168, + "op": "GT", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0xe4", + "0xc8" + ] + }, + { + "gas": 249999248180, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2169, + "op": "ISZERO", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x0" + ] + }, + { + "gas": 249999243596, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2170, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x1" + ] + }, + { + "gas": 249999239012, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 2173, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x1", + "0x886" + ] + }, + { + "gas": 249999223732, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2182, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0" + ] + }, + { + "gas": 249999222204, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2183, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0" + ] + }, + { + "gas": 249999217620, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2186, + "op": "DUP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891" + ] + }, + { + "gas": 249999213036, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2187, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24" + ] + }, + { + "gas": 249999208452, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2188, + "op": "DUP6", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0" + ] + }, + { + "gas": 249999203868, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2189, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4" + ] + }, + { + "gas": 249999199284, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2192, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4", + "0x84a" + ] + }, + { + "gas": 249999187060, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2122, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4" + ] + }, + { + "gas": 249999185532, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2123, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4" + ] + }, + { + "gas": 249999180948, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2124, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4", + "0x24" + ] + }, + { + "gas": 249999176364, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2125, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4", + "0x24", + "0xa4" + ] + }, + { + "gas": 249999171780, + "gasCost": 49631, + "weightCost": { + "ref_time": 496308, + "proof_size": 0 + }, + "depth": 1, + "pc": 2126, + "op": "CALLDATACOPY", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4", + "0x24", + "0xa4", + "0xa0" + ] + }, + { + "gas": 249999122149, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2127, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4" + ] + }, + { + "gas": 249999119093, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2128, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4", + "0x0" + ] + }, + { + "gas": 249999114509, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2129, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4", + "0x0", + "0x24" + ] + }, + { + "gas": 249999109925, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2130, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4", + "0x0", + "0x24", + "0xa0" + ] + }, + { + "gas": 249999105341, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2131, + "op": "MSTORE", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4", + "0x0", + "0xc4" + ] + }, + { + "gas": 249999100757, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2132, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0xa4" + ] + }, + { + "gas": 249999097701, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2133, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0" + ] + }, + { + "gas": 249999094645, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2134, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891", + "0x24" + ] + }, + { + "gas": 249999091589, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2135, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0", + "0x891" + ] + }, + { + "gas": 249999079365, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2193, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0" + ] + }, + { + "gas": 249999077837, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2194, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80", + "0xa0" + ] + }, + { + "gas": 249999074781, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2195, + "op": "SWAP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x8bd", + "0xe4", + "0x24", + "0xa4", + "0x80" + ] + }, + { + "gas": 249999070197, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2196, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x80", + "0xe4", + "0x24", + "0xa4", + "0x8bd" + ] + }, + { + "gas": 249999065613, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2197, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x80", + "0x8bd", + "0x24", + "0xa4", + "0xe4" + ] + }, + { + "gas": 249999062557, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2198, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x80", + "0x8bd", + "0x24", + "0xa4" + ] + }, + { + "gas": 249999059501, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2199, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x80", + "0x8bd", + "0x24" + ] + }, + { + "gas": 249999056445, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2200, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x80", + "0x8bd" + ] + }, + { + "gas": 249999044221, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2237, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x80" + ] + }, + { + "gas": 249999042693, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2238, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x0", + "0x24", + "0x80" + ] + }, + { + "gas": 249999038109, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2239, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x80", + "0x24", + "0x0" + ] + }, + { + "gas": 249999035053, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2240, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x80", + "0x24" + ] + }, + { + "gas": 249999031997, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2241, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x929", + "0xe4", + "0x84", + "0x80" + ] + }, + { + "gas": 249999027413, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2242, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x80", + "0xe4", + "0x84", + "0x929" + ] + }, + { + "gas": 249999022829, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2243, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x80", + "0x929", + "0x84", + "0xe4" + ] + }, + { + "gas": 249999019773, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2244, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x80", + "0x929", + "0x84" + ] + }, + { + "gas": 249999016717, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2245, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x80", + "0x929" + ] + }, + { + "gas": 249999004493, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2345, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x80" + ] + }, + { + "gas": 249999002965, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2346, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x80", + "0x80" + ] + }, + { + "gas": 249998998381, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2347, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x80", + "0x0" + ] + }, + { + "gas": 249998995325, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2348, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x80" + ] + }, + { + "gas": 249998992269, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2349, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0" + ] + }, + { + "gas": 249998987685, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2351, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60" + ] + }, + { + "gas": 249998983101, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2354, + "op": "DUP8", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a" + ] + }, + { + "gas": 249998978517, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2355, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4" + ] + }, + { + "gas": 249998973933, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2356, + "op": "DUP9", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x60" + ] + }, + { + "gas": 249998969349, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2357, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x60", + "0x4" + ] + }, + { + "gas": 249998964765, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2358, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64" + ] + }, + { + "gas": 249998960181, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2361, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0x776" + ] + }, + { + "gas": 249998947957, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1910, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64" + ] + }, + { + "gas": 249998946429, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1911, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64" + ] + }, + { + "gas": 249998943373, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1912, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0x0" + ] + }, + { + "gas": 249998938789, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1913, + "op": "CALLDATALOAD", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0x0", + "0x64" + ] + }, + { + "gas": 249998934205, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1914, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998929621, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1915, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x0" + ] + }, + { + "gas": 249998926565, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1916, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998921981, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1919, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784" + ] + }, + { + "gas": 249998917397, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1920, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998912813, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1923, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x760" + ] + }, + { + "gas": 249998900589, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1888, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998899061, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1889, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998894477, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1892, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769" + ] + }, + { + "gas": 249998889893, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1893, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998885309, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1896, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0x74d" + ] + }, + { + "gas": 249998873085, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1869, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998871557, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1870, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998868501, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1871, + "op": "PUSH8", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0x0" + ] + }, + { + "gas": 249998863917, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1880, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998859333, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1881, + "op": "AND", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0x0", + "0xffffffffffffffff", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998854749, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1882, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998850165, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1883, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0xffffffffffffffff", + "0x0" + ] + }, + { + "gas": 249998847109, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1884, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998842525, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1885, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0xffffffffffffffff", + "0xffffffffffffffff", + "0x769" + ] + }, + { + "gas": 249998837941, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1886, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998834885, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1887, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0xffffffffffffffff", + "0x769" + ] + }, + { + "gas": 249998822661, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1897, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998821133, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1898, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998816549, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1899, + "op": "EQ", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0xffffffffffffffff", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998811965, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1900, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x1" + ] + }, + { + "gas": 249998807381, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 1903, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x1", + "0x773" + ] + }, + { + "gas": 249998792101, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1907, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998790573, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1908, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998787517, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1909, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff", + "0x784" + ] + }, + { + "gas": 249998775293, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1924, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998773765, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1925, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0x93a", + "0xe4", + "0x64", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998769181, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1926, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0xffffffffffffffff", + "0xe4", + "0x64", + "0x93a" + ] + }, + { + "gas": 249998764597, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1927, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0xffffffffffffffff", + "0x93a", + "0x64", + "0xe4" + ] + }, + { + "gas": 249998761541, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1928, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0xffffffffffffffff", + "0x93a", + "0x64" + ] + }, + { + "gas": 249998758485, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1929, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0xffffffffffffffff", + "0x93a" + ] + }, + { + "gas": 249998746261, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2362, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998744733, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2363, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0x0", + "0x60", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998740149, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2364, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x60", + "0x0" + ] + }, + { + "gas": 249998737093, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2365, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x60" + ] + }, + { + "gas": 249998734037, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2366, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998729453, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2367, + "op": "SWAP6", + "stack": [ + "0xd1df6a", + "0xa3", + "0x9e", + "0xe4", + "0x4", + "0xffffffffffffffff", + "0x0", + "0x80", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 249998724869, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2368, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xe4", + "0x4", + "0xffffffffffffffff", + "0x0", + "0x80", + "0x9e" + ] + }, + { + "gas": 249998720285, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2369, + "op": "SWAP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xe4", + "0x4", + "0xffffffffffffffff", + "0x9e", + "0x80", + "0x0" + ] + }, + { + "gas": 249998715701, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2370, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x4", + "0xffffffffffffffff", + "0x9e", + "0x80", + "0xe4" + ] + }, + { + "gas": 249998712645, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2371, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x4", + "0xffffffffffffffff", + "0x9e", + "0x80" + ] + }, + { + "gas": 249998708061, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2372, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x9e", + "0x4" + ] + }, + { + "gas": 249998705005, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2373, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x9e" + ] + }, + { + "gas": 249998692781, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 158, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998691253, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 159, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998686669, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 162, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x224" + ] + }, + { + "gas": 249998674445, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 548, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998672917, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 549, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998669861, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 550, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0" + ] + }, + { + "gas": 249998665277, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 552, + "op": "DUP6", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60" + ] + }, + { + "gas": 249998660693, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 553, + "op": "PUSH20", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 249998656109, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 574, + "op": "AND", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffffffffffffffffffffffffffff" + ] + }, + { + "gas": 249998651525, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 575, + "op": "DUP6", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 249998646941, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 576, + "op": "PUSH8", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0" + ] + }, + { + "gas": 249998642357, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 585, + "op": "AND", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998637773, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 586, + "op": "DUP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0" + ] + }, + { + "gas": 249998633189, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 587, + "op": "PUSH8", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998628605, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 596, + "op": "AND", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xffffffffffffffff", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998624021, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 597, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998619437, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 598, + "op": "DUP7", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0" + ] + }, + { + "gas": 249998614853, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 599, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x80" + ] + }, + { + "gas": 249998610269, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 601, + "op": "MLOAD", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x80", + "0x40" + ] + }, + { + "gas": 249998605685, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 602, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x80", + "0xe0" + ] + }, + { + "gas": 249998601101, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 605, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x80", + "0xe0", + "0x263" + ] + }, + { + "gas": 249998596517, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 606, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0xe0", + "0x80" + ] + }, + { + "gas": 249998591933, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 607, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0" + ] + }, + { + "gas": 249998587349, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 610, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0xc7d" + ] + }, + { + "gas": 249998575125, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3197, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0" + ] + }, + { + "gas": 249998573597, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3198, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0" + ] + }, + { + "gas": 249998570541, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3199, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0" + ] + }, + { + "gas": 249998565957, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3202, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88" + ] + }, + { + "gas": 249998561373, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3203, + "op": "DUP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0" + ] + }, + { + "gas": 249998556789, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3204, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80" + ] + }, + { + "gas": 249998552205, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3207, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0xc4d" + ] + }, + { + "gas": 249998539981, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3149, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80" + ] + }, + { + "gas": 249998538453, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3150, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80" + ] + }, + { + "gas": 249998535397, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3151, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0" + ] + }, + { + "gas": 249998530813, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3154, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57" + ] + }, + { + "gas": 249998526229, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3155, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80" + ] + }, + { + "gas": 249998521645, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3158, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80", + "0x960" + ] + }, + { + "gas": 249998509421, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2400, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80" + ] + }, + { + "gas": 249998507893, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2401, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80" + ] + }, + { + "gas": 249998504837, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2402, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80", + "0x0" + ] + }, + { + "gas": 249998500253, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2403, + "op": "MLOAD", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80", + "0x0", + "0x80" + ] + }, + { + "gas": 249998495669, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2404, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80", + "0x0", + "0x24" + ] + }, + { + "gas": 249998491085, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2405, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80", + "0x24", + "0x0" + ] + }, + { + "gas": 249998488029, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2406, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80", + "0x24" + ] + }, + { + "gas": 249998483445, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2407, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0x80", + "0xc57" + ] + }, + { + "gas": 249998478861, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2408, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc57", + "0x80" + ] + }, + { + "gas": 249998475805, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2409, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc57" + ] + }, + { + "gas": 249998463581, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3159, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24" + ] + }, + { + "gas": 249998462053, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3160, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24" + ] + }, + { + "gas": 249998457469, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3163, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61" + ] + }, + { + "gas": 249998452885, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3164, + "op": "DUP6", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24" + ] + }, + { + "gas": 249998448301, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3165, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998443717, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3168, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0", + "0xc43" + ] + }, + { + "gas": 249998431493, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3139, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998429965, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3140, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998426909, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3141, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0", + "0x0" + ] + }, + { + "gas": 249998422325, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3142, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0", + "0x0", + "0xe0" + ] + }, + { + "gas": 249998417741, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3143, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0", + "0xe0", + "0x0" + ] + }, + { + "gas": 249998414685, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3144, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0", + "0xe0" + ] + }, + { + "gas": 249998410101, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3145, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0", + "0x24", + "0xe0", + "0xc61" + ] + }, + { + "gas": 249998405517, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3146, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0", + "0xc61", + "0xe0", + "0x24" + ] + }, + { + "gas": 249998402461, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3147, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0", + "0xc61", + "0xe0" + ] + }, + { + "gas": 249998399405, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3148, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0", + "0xc61" + ] + }, + { + "gas": 249998387181, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3169, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998385653, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3170, + "op": "SWAP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998381069, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3171, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998378013, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3172, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24" + ] + }, + { + "gas": 249998373429, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3175, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71" + ] + }, + { + "gas": 249998368845, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3176, + "op": "DUP6", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24" + ] + }, + { + "gas": 249998364261, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3177, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998359677, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3179, + "op": "DUP7", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0x20" + ] + }, + { + "gas": 249998355093, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3180, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0x20", + "0x80" + ] + }, + { + "gas": 249998350509, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3181, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0" + ] + }, + { + "gas": 249998345925, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3184, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x97a" + ] + }, + { + "gas": 249998333701, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2426, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0" + ] + }, + { + "gas": 249998332173, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2427, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0" + ] + }, + { + "gas": 249998327589, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2428, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x24" + ] + }, + { + "gas": 249998323005, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2429, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x24", + "0xa0" + ] + }, + { + "gas": 249998318421, + "gasCost": 13752, + "weightCost": { + "ref_time": 137520, + "proof_size": 0 + }, + "depth": 1, + "pc": 2430, + "op": "MCOPY", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x24", + "0xa0", + "0xe0" + ] + }, + { + "gas": 249998304669, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2431, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0" + ] + }, + { + "gas": 249998301613, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2432, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x0" + ] + }, + { + "gas": 249998297029, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2433, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x0", + "0x24" + ] + }, + { + "gas": 249998292445, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2434, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x0", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998287861, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2435, + "op": "MSTORE", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x0", + "0x104" + ] + }, + { + "gas": 249998283277, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2436, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0" + ] + }, + { + "gas": 249998280221, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2437, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998277165, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2438, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24" + ] + }, + { + "gas": 249998274109, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2439, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71" + ] + }, + { + "gas": 249998261885, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3185, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24" + ] + }, + { + "gas": 249998260357, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3186, + "op": "DUP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24" + ] + }, + { + "gas": 249998255773, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3187, + "op": "DUP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0x24" + ] + }, + { + "gas": 249998251189, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3188, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998246605, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3189, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0x104" + ] + }, + { + "gas": 249998242021, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3190, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x104", + "0x24", + "0x0" + ] + }, + { + "gas": 249998238965, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3191, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x104", + "0x24" + ] + }, + { + "gas": 249998235909, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3192, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x104" + ] + }, + { + "gas": 249998231325, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3193, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0x104", + "0xe0", + "0x80", + "0xc88" + ] + }, + { + "gas": 249998226741, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3194, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0x104", + "0xc88", + "0x80", + "0xe0" + ] + }, + { + "gas": 249998223685, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3195, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0x104", + "0xc88", + "0x80" + ] + }, + { + "gas": 249998220629, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3196, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0x104", + "0xc88" + ] + }, + { + "gas": 249998208405, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3208, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0x104" + ] + }, + { + "gas": 249998206877, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3209, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0xe0", + "0x0", + "0x104" + ] + }, + { + "gas": 249998202293, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3210, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0x104", + "0x0", + "0xe0" + ] + }, + { + "gas": 249998199237, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3211, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0x104", + "0x0" + ] + }, + { + "gas": 249998194653, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3212, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0x104", + "0x0", + "0x104" + ] + }, + { + "gas": 249998190069, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3213, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0x104", + "0x104", + "0x0" + ] + }, + { + "gas": 249998187013, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3214, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x263", + "0x80", + "0x104", + "0x104" + ] + }, + { + "gas": 249998182429, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3215, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x80", + "0x104", + "0x263" + ] + }, + { + "gas": 249998177845, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3216, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x263", + "0x104", + "0x80" + ] + }, + { + "gas": 249998174789, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3217, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x263", + "0x104" + ] + }, + { + "gas": 249998171733, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3218, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x263" + ] + }, + { + "gas": 249998159509, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 611, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104" + ] + }, + { + "gas": 249998157981, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 612, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104" + ] + }, + { + "gas": 249998154925, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 613, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x0" + ] + }, + { + "gas": 249998150341, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 615, + "op": "MLOAD", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x0", + "0x40" + ] + }, + { + "gas": 249998145757, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 616, + "op": "DUP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x0", + "0xe0" + ] + }, + { + "gas": 249998141173, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 617, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x0", + "0xe0", + "0xe0" + ] + }, + { + "gas": 249998136589, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 618, + "op": "SUB", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x0", + "0xe0", + "0xe0", + "0x104" + ] + }, + { + "gas": 249998132005, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 619, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x0", + "0xe0", + "0x24" + ] + }, + { + "gas": 249998127421, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 620, + "op": "DUP6", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x0", + "0xe0", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998122837, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 621, + "op": "DUP9", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x0", + "0xe0", + "0x24", + "0xe0", + "0x0" + ] + }, + { + "gas": 249998118253, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 622, + "op": "DUP9", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x0", + "0xe0", + "0x24", + "0xe0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 249998113669, + "gasCost": 137576145, + "weightCost": { + "ref_time": 308790629, + "proof_size": 5594 + }, + "depth": 1, + "pc": 623, + "op": "CALL", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x0", + "0xe0", + "0x24", + "0xe0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff" + ] + }, + { + "gas": 249860586424, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 0, + "op": "PUSH1", + "stack": [] + }, + { + "gas": 249860581840, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 2, + "op": "PUSH1", + "stack": [ + "0x80" + ] + }, + { + "gas": 249860577256, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 4, + "op": "MSTORE", + "stack": [ + "0x80", + "0x40" + ] + }, + { + "gas": 249860572672, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 2, + "pc": 5, + "op": "CALLVALUE", + "stack": [] + }, + { + "gas": 249860540772, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 6, + "op": "DUP1", + "stack": [ + "0x0" + ] + }, + { + "gas": 249860536188, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 7, + "op": "ISZERO", + "stack": [ + "0x0", + "0x0" + ] + }, + { + "gas": 249860531604, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 8, + "op": "PUSH2", + "stack": [ + "0x0", + "0x1" + ] + }, + { + "gas": 249860527020, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 11, + "op": "JUMPI", + "stack": [ + "0x0", + "0x1", + "0xf" + ] + }, + { + "gas": 249860511740, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 15, + "op": "JUMPDEST", + "stack": [ + "0x0" + ] + }, + { + "gas": 249860510212, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 16, + "op": "POP", + "stack": [ + "0x0" + ] + }, + { + "gas": 249860507156, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 17, + "op": "PUSH1", + "stack": [] + }, + { + "gas": 249860502572, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 19, + "op": "CALLDATASIZE", + "stack": [ + "0x4" + ] + }, + { + "gas": 249860499516, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 20, + "op": "LT", + "stack": [ + "0x4", + "0x24" + ] + }, + { + "gas": 249860494932, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 21, + "op": "PUSH2", + "stack": [ + "0x0" + ] + }, + { + "gas": 249860490348, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 24, + "op": "JUMPI", + "stack": [ + "0x0", + "0x86" + ] + }, + { + "gas": 249860475068, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 25, + "op": "PUSH0", + "stack": [] + }, + { + "gas": 249860472012, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 26, + "op": "CALLDATALOAD", + "stack": [ + "0x0" + ] + }, + { + "gas": 249860467428, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 27, + "op": "PUSH1", + "stack": [ + "0x7036362200000000000000000000000000000000000000000000000000000000" + ] + }, + { + "gas": 249860462844, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 29, + "op": "SHR", + "stack": [ + "0x7036362200000000000000000000000000000000000000000000000000000000", + "0xe0" + ] + }, + { + "gas": 249860458260, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 30, + "op": "DUP1", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249860453676, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 31, + "op": "PUSH4", + "stack": [ + "0x70363622", + "0x70363622" + ] + }, + { + "gas": 249860449092, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 36, + "op": "GT", + "stack": [ + "0x70363622", + "0x70363622", + "0xb351696d" + ] + }, + { + "gas": 249860444508, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 37, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0x1" + ] + }, + { + "gas": 249860439924, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 40, + "op": "JUMPI", + "stack": [ + "0x70363622", + "0x1", + "0x59" + ] + }, + { + "gas": 249860424644, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 89, + "op": "JUMPDEST", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249860423116, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 90, + "op": "DUP1", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249860418532, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 91, + "op": "PUSH4", + "stack": [ + "0x70363622", + "0x70363622" + ] + }, + { + "gas": 249860413948, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 96, + "op": "EQ", + "stack": [ + "0x70363622", + "0x70363622", + "0x7da68f5" + ] + }, + { + "gas": 249860409364, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 97, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0x0" + ] + }, + { + "gas": 249860404780, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 100, + "op": "JUMPI", + "stack": [ + "0x70363622", + "0x0", + "0x8a" + ] + }, + { + "gas": 249860389500, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 101, + "op": "DUP1", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249860384916, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 102, + "op": "PUSH4", + "stack": [ + "0x70363622", + "0x70363622" + ] + }, + { + "gas": 249860380332, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 107, + "op": "EQ", + "stack": [ + "0x70363622", + "0x70363622", + "0x1d9a3bdd" + ] + }, + { + "gas": 249860375748, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 108, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0x0" + ] + }, + { + "gas": 249860371164, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 111, + "op": "JUMPI", + "stack": [ + "0x70363622", + "0x0", + "0x94" + ] + }, + { + "gas": 249860355884, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 112, + "op": "DUP1", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249860351300, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 113, + "op": "PUSH4", + "stack": [ + "0x70363622", + "0x70363622" + ] + }, + { + "gas": 249860346716, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 118, + "op": "EQ", + "stack": [ + "0x70363622", + "0x70363622", + "0x70363622" + ] + }, + { + "gas": 249860342132, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 119, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0x1" + ] + }, + { + "gas": 249860337548, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 122, + "op": "JUMPI", + "stack": [ + "0x70363622", + "0x1", + "0xb0" + ] + }, + { + "gas": 249860322268, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 176, + "op": "JUMPDEST", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249860320740, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 177, + "op": "PUSH2", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249860316156, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 180, + "op": "PUSH1", + "stack": [ + "0x70363622", + "0xca" + ] + }, + { + "gas": 249860311572, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 182, + "op": "DUP1", + "stack": [ + "0x70363622", + "0xca", + "0x4" + ] + }, + { + "gas": 249860306988, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 183, + "op": "CALLDATASIZE", + "stack": [ + "0x70363622", + "0xca", + "0x4", + "0x4" + ] + }, + { + "gas": 249860303932, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 184, + "op": "SUB", + "stack": [ + "0x70363622", + "0xca", + "0x4", + "0x4", + "0x24" + ] + }, + { + "gas": 249860299348, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 185, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xca", + "0x4", + "0x20" + ] + }, + { + "gas": 249860294764, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 186, + "op": "ADD", + "stack": [ + "0x70363622", + "0xca", + "0x4", + "0x20", + "0x4" + ] + }, + { + "gas": 249860290180, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 187, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xca", + "0x4", + "0x24" + ] + }, + { + "gas": 249860285596, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 188, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0x24", + "0x4" + ] + }, + { + "gas": 249860281012, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 191, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xca", + "0x24", + "0x4", + "0xc5" + ] + }, + { + "gas": 249860276428, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 192, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x4", + "0x24" + ] + }, + { + "gas": 249860271844, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 193, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4" + ] + }, + { + "gas": 249860267260, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 196, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x236" + ] + }, + { + "gas": 249860255036, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 566, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4" + ] + }, + { + "gas": 249860253508, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 567, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4" + ] + }, + { + "gas": 249860250452, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 568, + "op": "PUSH1", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0" + ] + }, + { + "gas": 249860245868, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 570, + "op": "DUP3", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x20" + ] + }, + { + "gas": 249860241284, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 571, + "op": "DUP5", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x20", + "0x4" + ] + }, + { + "gas": 249860236700, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 572, + "op": "SUB", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x20", + "0x4", + "0x24" + ] + }, + { + "gas": 249860232116, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 573, + "op": "SLT", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x20", + "0x20" + ] + }, + { + "gas": 249860227532, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 574, + "op": "ISZERO", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0" + ] + }, + { + "gas": 249860222948, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 575, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x1" + ] + }, + { + "gas": 249860218364, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 578, + "op": "JUMPI", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x1", + "0x24b" + ] + }, + { + "gas": 249860203084, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 587, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0" + ] + }, + { + "gas": 249860201556, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 588, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0" + ] + }, + { + "gas": 249860198500, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 589, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0" + ] + }, + { + "gas": 249860193916, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 592, + "op": "DUP5", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258" + ] + }, + { + "gas": 249860189332, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 593, + "op": "DUP3", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24" + ] + }, + { + "gas": 249860184748, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 594, + "op": "DUP6", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x0" + ] + }, + { + "gas": 249860180164, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 595, + "op": "ADD", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x0", + "0x4" + ] + }, + { + "gas": 249860175580, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 596, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4" + ] + }, + { + "gas": 249860170996, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 599, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x222" + ] + }, + { + "gas": 249860158772, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 546, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4" + ] + }, + { + "gas": 249860157244, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 547, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4" + ] + }, + { + "gas": 249860154188, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 548, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x0" + ] + }, + { + "gas": 249860149604, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 549, + "op": "CALLDATALOAD", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x0", + "0x4" + ] + }, + { + "gas": 249860145020, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 550, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x0", + "0x2a" + ] + }, + { + "gas": 249860140436, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 551, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x0" + ] + }, + { + "gas": 249860137380, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 552, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a" + ] + }, + { + "gas": 249860132796, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 555, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230" + ] + }, + { + "gas": 249860128212, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 556, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a" + ] + }, + { + "gas": 249860123628, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 559, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x20c" + ] + }, + { + "gas": 249860111404, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 524, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a" + ] + }, + { + "gas": 249860109876, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 525, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a" + ] + }, + { + "gas": 249860105292, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 528, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215" + ] + }, + { + "gas": 249860100708, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 529, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a" + ] + }, + { + "gas": 249860096124, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 532, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x1f9" + ] + }, + { + "gas": 249860083900, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 505, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a" + ] + }, + { + "gas": 249860082372, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 506, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a" + ] + }, + { + "gas": 249860079316, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 507, + "op": "PUSH8", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x0" + ] + }, + { + "gas": 249860074732, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 516, + "op": "DUP3", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249860070148, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 517, + "op": "AND", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x0", + "0xffffffffffffffff", + "0x2a" + ] + }, + { + "gas": 249860065564, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 518, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x0", + "0x2a" + ] + }, + { + "gas": 249860060980, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 519, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x2a", + "0x0" + ] + }, + { + "gas": 249860057924, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 520, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249860053340, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 521, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x2a", + "0x2a", + "0x215" + ] + }, + { + "gas": 249860048756, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 522, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x2a", + "0x215", + "0x2a" + ] + }, + { + "gas": 249860045700, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 523, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x2a", + "0x215" + ] + }, + { + "gas": 249860033476, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 533, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249860031948, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 534, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249860027364, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 535, + "op": "EQ", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249860022780, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 536, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x1" + ] + }, + { + "gas": 249860018196, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 539, + "op": "JUMPI", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x1", + "0x21f" + ] + }, + { + "gas": 249860002916, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 543, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a" + ] + }, + { + "gas": 249860001388, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 544, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a" + ] + }, + { + "gas": 249859998332, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 545, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230" + ] + }, + { + "gas": 249859986108, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 560, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a" + ] + }, + { + "gas": 249859984580, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 561, + "op": "SWAP3", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a" + ] + }, + { + "gas": 249859979996, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 562, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x2a", + "0x24", + "0x4", + "0x258" + ] + }, + { + "gas": 249859975412, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 563, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x2a", + "0x258", + "0x4", + "0x24" + ] + }, + { + "gas": 249859972356, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 564, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x2a", + "0x258", + "0x4" + ] + }, + { + "gas": 249859969300, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 565, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x2a", + "0x258" + ] + }, + { + "gas": 249859957076, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 600, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x2a" + ] + }, + { + "gas": 249859955548, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 601, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x2a" + ] + }, + { + "gas": 249859950964, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 602, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x2a", + "0x0", + "0x0" + ] + }, + { + "gas": 249859947908, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 603, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x2a", + "0x0" + ] + }, + { + "gas": 249859944852, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 604, + "op": "SWAP3", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x2a" + ] + }, + { + "gas": 249859940268, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 605, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0x24", + "0x4", + "0xc5" + ] + }, + { + "gas": 249859935684, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 606, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0xc5", + "0x4", + "0x24" + ] + }, + { + "gas": 249859932628, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 607, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0xc5", + "0x4" + ] + }, + { + "gas": 249859929572, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 608, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0xc5" + ] + }, + { + "gas": 249859917348, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 197, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0x2a" + ] + }, + { + "gas": 249859915820, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 198, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0x2a" + ] + }, + { + "gas": 249859911236, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 201, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0x17a" + ] + }, + { + "gas": 249859899012, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 378, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0x2a" + ] + }, + { + "gas": 249859897484, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 379, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xca", + "0x2a" + ] + }, + { + "gas": 249859894428, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 380, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0x0" + ] + }, + { + "gas": 249859889844, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 381, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0x0", + "0x2a" + ] + }, + { + "gas": 249859885260, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 382, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0x2a", + "0x0" + ] + }, + { + "gas": 249859882204, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 383, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249859877620, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 384, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0x2a", + "0x2a", + "0xca" + ] + }, + { + "gas": 249859873036, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 385, + "op": "POP", + "stack": [ + "0x70363622", + "0x2a", + "0xca", + "0x2a" + ] + }, + { + "gas": 249859869980, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 386, + "op": "JUMP", + "stack": [ + "0x70363622", + "0x2a", + "0xca" + ] + }, + { + "gas": 249859857756, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 202, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0x2a" + ] + }, + { + "gas": 249859856228, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 203, + "op": "PUSH1", + "stack": [ + "0x70363622", + "0x2a" + ] + }, + { + "gas": 249859851644, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 205, + "op": "MLOAD", + "stack": [ + "0x70363622", + "0x2a", + "0x40" + ] + }, + { + "gas": 249859847060, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 206, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0x2a", + "0x80" + ] + }, + { + "gas": 249859842476, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 209, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0x2a", + "0x80", + "0xd7" + ] + }, + { + "gas": 249859837892, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 210, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xd7", + "0x80", + "0x2a" + ] + }, + { + "gas": 249859833308, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 211, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80" + ] + }, + { + "gas": 249859828724, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 214, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0x270" + ] + }, + { + "gas": 249859816500, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 624, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80" + ] + }, + { + "gas": 249859814972, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 625, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80" + ] + }, + { + "gas": 249859811916, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 626, + "op": "PUSH1", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0x0" + ] + }, + { + "gas": 249859807332, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 628, + "op": "DUP3", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0x0", + "0x20" + ] + }, + { + "gas": 249859802748, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 629, + "op": "ADD", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0x0", + "0x20", + "0x80" + ] + }, + { + "gas": 249859798164, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 630, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0x0", + "0xa0" + ] + }, + { + "gas": 249859793580, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 631, + "op": "POP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x0" + ] + }, + { + "gas": 249859790524, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 632, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0" + ] + }, + { + "gas": 249859785940, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 635, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283" + ] + }, + { + "gas": 249859782884, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 636, + "op": "DUP4", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x0" + ] + }, + { + "gas": 249859778300, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 637, + "op": "ADD", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x0", + "0x80" + ] + }, + { + "gas": 249859773716, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 638, + "op": "DUP5", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80" + ] + }, + { + "gas": 249859769132, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 639, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a" + ] + }, + { + "gas": 249859764548, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 642, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x261" + ] + }, + { + "gas": 249859752324, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 609, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a" + ] + }, + { + "gas": 249859750796, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 610, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a" + ] + }, + { + "gas": 249859746212, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 613, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a" + ] + }, + { + "gas": 249859741628, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 614, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a" + ] + }, + { + "gas": 249859737044, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 617, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x1f9" + ] + }, + { + "gas": 249859724820, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 505, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a" + ] + }, + { + "gas": 249859723292, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 506, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a" + ] + }, + { + "gas": 249859720236, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 507, + "op": "PUSH8", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x0" + ] + }, + { + "gas": 249859715652, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 516, + "op": "DUP3", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249859711068, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 517, + "op": "AND", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x0", + "0xffffffffffffffff", + "0x2a" + ] + }, + { + "gas": 249859706484, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 518, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x0", + "0x2a" + ] + }, + { + "gas": 249859701900, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 519, + "op": "POP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x2a", + "0x0" + ] + }, + { + "gas": 249859698844, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 520, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249859694260, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 521, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x2a", + "0x2a", + "0x26a" + ] + }, + { + "gas": 249859689676, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 522, + "op": "POP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x2a", + "0x26a", + "0x2a" + ] + }, + { + "gas": 249859686620, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 523, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x2a", + "0x26a" + ] + }, + { + "gas": 249859674396, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 618, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249859672868, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 619, + "op": "DUP3", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249859668284, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 620, + "op": "MSTORE", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x2a", + "0x80" + ] + }, + { + "gas": 249859663700, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 621, + "op": "POP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a" + ] + }, + { + "gas": 249859660644, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 622, + "op": "POP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80" + ] + }, + { + "gas": 249859657588, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 623, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283" + ] + }, + { + "gas": 249859645364, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 643, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0" + ] + }, + { + "gas": 249859643836, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 644, + "op": "SWAP3", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0" + ] + }, + { + "gas": 249859639252, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 645, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xa0", + "0x2a", + "0x80", + "0xd7" + ] + }, + { + "gas": 249859634668, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 646, + "op": "POP", + "stack": [ + "0x70363622", + "0xa0", + "0xd7", + "0x80", + "0x2a" + ] + }, + { + "gas": 249859631612, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 647, + "op": "POP", + "stack": [ + "0x70363622", + "0xa0", + "0xd7", + "0x80" + ] + }, + { + "gas": 249859628556, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 648, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xa0", + "0xd7" + ] + }, + { + "gas": 249859616332, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 215, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xa0" + ] + }, + { + "gas": 249859614804, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 216, + "op": "PUSH1", + "stack": [ + "0x70363622", + "0xa0" + ] + }, + { + "gas": 249859610220, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 218, + "op": "MLOAD", + "stack": [ + "0x70363622", + "0xa0", + "0x40" + ] + }, + { + "gas": 249859605636, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 219, + "op": "DUP1", + "stack": [ + "0x70363622", + "0xa0", + "0x80" + ] + }, + { + "gas": 249859601052, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 220, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xa0", + "0x80", + "0x80" + ] + }, + { + "gas": 249859596468, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 221, + "op": "SUB", + "stack": [ + "0x70363622", + "0x80", + "0x80", + "0xa0" + ] + }, + { + "gas": 249859591884, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 222, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0x80", + "0x20" + ] + }, + { + "gas": 249859587300, + "gasCost": 0, + "weightCost": { + "ref_time": 0, + "proof_size": 0 + }, + "depth": 2, + "pc": 223, + "op": "RETURN", + "stack": [ + "0x70363622", + "0x20", + "0x80" + ] + }, + { + "gas": 249859538400, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 624, + "op": "SWAP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x0", + "0x104", + "0x1" + ] + }, + { + "gas": 249859533816, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 625, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xffffffffffffffff", + "0x0", + "0x104", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 249859530760, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 626, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xffffffffffffffff", + "0x0", + "0x104" + ] + }, + { + "gas": 249859527704, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 627, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xffffffffffffffff", + "0x0" + ] + }, + { + "gas": 249859524648, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 628, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xffffffffffffffff" + ] + }, + { + "gas": 249859521592, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 629, + "op": "RETURNDATASIZE", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1" + ] + }, + { + "gas": 249859518536, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 630, + "op": "DUP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20" + ] + }, + { + "gas": 249859513952, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 631, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20" + ] + }, + { + "gas": 249859510896, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 632, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20", + "0x0" + ] + }, + { + "gas": 249859506312, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 633, + "op": "EQ", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20", + "0x0", + "0x20" + ] + }, + { + "gas": 249859501728, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 634, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20", + "0x0" + ] + }, + { + "gas": 249859497144, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 637, + "op": "JUMPI", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20", + "0x0", + "0x29e" + ] + }, + { + "gas": 249859481864, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 638, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20" + ] + }, + { + "gas": 249859477280, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 640, + "op": "MLOAD", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20", + "0x40" + ] + }, + { + "gas": 249859472696, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 641, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20", + "0xe0" + ] + }, + { + "gas": 249859468112, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 642, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20" + ] + }, + { + "gas": 249859465056, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 643, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20" + ] + }, + { + "gas": 249859460472, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 645, + "op": "NOT", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x1f" + ] + }, + { + "gas": 249859455888, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 646, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0" + ] + }, + { + "gas": 249859451304, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 648, + "op": "RETURNDATASIZE", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x3f" + ] + }, + { + "gas": 249859448248, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 649, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x3f", + "0x20" + ] + }, + { + "gas": 249859443664, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 650, + "op": "AND", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x5f" + ] + }, + { + "gas": 249859439080, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 651, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x40" + ] + }, + { + "gas": 249859434496, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 652, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x40", + "0xe0" + ] + }, + { + "gas": 249859429912, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 653, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x120" + ] + }, + { + "gas": 249859425328, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 655, + "op": "MSTORE", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x120", + "0x40" + ] + }, + { + "gas": 249859420744, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 656, + "op": "RETURNDATASIZE", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20" + ] + }, + { + "gas": 249859417688, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 657, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20" + ] + }, + { + "gas": 249859413104, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 658, + "op": "MSTORE", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20", + "0xe0" + ] + }, + { + "gas": 249859408520, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 659, + "op": "RETURNDATASIZE", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20" + ] + }, + { + "gas": 249859405464, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 660, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20" + ] + }, + { + "gas": 249859402408, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 661, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20", + "0x0" + ] + }, + { + "gas": 249859397824, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 663, + "op": "DUP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20", + "0x0", + "0x20" + ] + }, + { + "gas": 249859393240, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 664, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20", + "0x0", + "0x20", + "0xe0" + ] + }, + { + "gas": 249859388656, + "gasCost": 49550, + "weightCost": { + "ref_time": 495496, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 665, + "op": "RETURNDATACOPY", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20", + "0x0", + "0x100" + ] + }, + { + "gas": 249859339106, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 666, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20" + ] + }, + { + "gas": 249859334522, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 669, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x2a3" + ] + }, + { + "gas": 249859322298, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 675, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20" + ] + }, + { + "gas": 249859320770, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 676, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20" + ] + }, + { + "gas": 249859317714, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 677, + "op": "DUP1", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0" + ] + }, + { + "gas": 249859313130, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 678, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0xe0" + ] + }, + { + "gas": 249859308546, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 679, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0xe0", + "0x1", + "0xe0", + "0x60" + ] + }, + { + "gas": 249859305490, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 680, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0xe0", + "0x1", + "0xe0" + ] + }, + { + "gas": 249859300906, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 681, + "op": "SWAP4", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x0", + "0xe0", + "0x1", + "0xe0", + "0x1" + ] + }, + { + "gas": 249859296322, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 682, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x1", + "0xe0", + "0x1", + "0xe0", + "0x0" + ] + }, + { + "gas": 249859293266, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 683, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x1", + "0xe0", + "0x1", + "0xe0" + ] + }, + { + "gas": 249859290210, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 684, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x1", + "0xe0", + "0x1" + ] + }, + { + "gas": 249859287154, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 685, + "op": "SWAP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x1", + "0xe0" + ] + }, + { + "gas": 249859282570, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 686, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xa3", + "0xe0", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x1", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 249859279514, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 687, + "op": "SWAP5", + "stack": [ + "0xd1df6a", + "0xa3", + "0xe0", + "0x0", + "0x80", + "0xffffffffffffffff", + "0x1" + ] + }, + { + "gas": 249859274930, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 688, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0x1", + "0xe0", + "0x0", + "0x80", + "0xffffffffffffffff", + "0xa3" + ] + }, + { + "gas": 249859270346, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 689, + "op": "POP", + "stack": [ + "0xd1df6a", + "0x1", + "0xe0", + "0xa3", + "0x80", + "0xffffffffffffffff", + "0x0" + ] + }, + { + "gas": 249859267290, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 690, + "op": "POP", + "stack": [ + "0xd1df6a", + "0x1", + "0xe0", + "0xa3", + "0x80", + "0xffffffffffffffff" + ] + }, + { + "gas": 249859264234, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 691, + "op": "POP", + "stack": [ + "0xd1df6a", + "0x1", + "0xe0", + "0xa3", + "0x80" + ] + }, + { + "gas": 249859261178, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 692, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0x1", + "0xe0", + "0xa3" + ] + }, + { + "gas": 249859248954, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 163, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0x1", + "0xe0" + ] + }, + { + "gas": 249859247426, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 164, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0x1", + "0xe0" + ] + }, + { + "gas": 249859242842, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 166, + "op": "MLOAD", + "stack": [ + "0xd1df6a", + "0x1", + "0xe0", + "0x40" + ] + }, + { + "gas": 249859238258, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 167, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0x1", + "0xe0", + "0x120" + ] + }, + { + "gas": 249859233674, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 170, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0x1", + "0xe0", + "0x120", + "0xb1" + ] + }, + { + "gas": 249859229090, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 171, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0xe0", + "0x120", + "0x1" + ] + }, + { + "gas": 249859224506, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 172, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0x120", + "0xe0" + ] + }, + { + "gas": 249859219922, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 173, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120" + ] + }, + { + "gas": 249859215338, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 176, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x9c0" + ] + }, + { + "gas": 249859203114, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2496, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120" + ] + }, + { + "gas": 249859201586, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2497, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120" + ] + }, + { + "gas": 249859198530, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2498, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x0" + ] + }, + { + "gas": 249859193946, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2500, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x0", + "0x40" + ] + }, + { + "gas": 249859189362, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2501, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x0", + "0x40", + "0x120" + ] + }, + { + "gas": 249859184778, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2502, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x0", + "0x160" + ] + }, + { + "gas": 249859180194, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2503, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x0" + ] + }, + { + "gas": 249859177138, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2504, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160" + ] + }, + { + "gas": 249859172554, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2507, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3" + ] + }, + { + "gas": 249859169498, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2508, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x0" + ] + }, + { + "gas": 249859164914, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2509, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x0", + "0x120" + ] + }, + { + "gas": 249859160330, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2510, + "op": "DUP6", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120" + ] + }, + { + "gas": 249859155746, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2511, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1" + ] + }, + { + "gas": 249859151162, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2514, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x951" + ] + }, + { + "gas": 249859138938, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2385, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1" + ] + }, + { + "gas": 249859137410, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2386, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1" + ] + }, + { + "gas": 249859132826, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2389, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a" + ] + }, + { + "gas": 249859128242, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2390, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1" + ] + }, + { + "gas": 249859123658, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2393, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x946" + ] + }, + { + "gas": 249859111434, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2374, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1" + ] + }, + { + "gas": 249859109906, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2375, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1" + ] + }, + { + "gas": 249859106850, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2376, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x0" + ] + }, + { + "gas": 249859102266, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2377, + "op": "ISZERO", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x0", + "0x1" + ] + }, + { + "gas": 249859097682, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2378, + "op": "ISZERO", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x0", + "0x0" + ] + }, + { + "gas": 249859093098, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2379, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x0", + "0x1" + ] + }, + { + "gas": 249859088514, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2380, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x1", + "0x0" + ] + }, + { + "gas": 249859085458, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2381, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x1" + ] + }, + { + "gas": 249859080874, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2382, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x1", + "0x1", + "0x95a" + ] + }, + { + "gas": 249859076290, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2383, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x1", + "0x95a", + "0x1" + ] + }, + { + "gas": 249859073234, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2384, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x1", + "0x95a" + ] + }, + { + "gas": 249859061010, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2394, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x1" + ] + }, + { + "gas": 249859059482, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2395, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x1" + ] + }, + { + "gas": 249859054898, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2396, + "op": "MSTORE", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x1", + "0x120" + ] + }, + { + "gas": 249859050314, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2397, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1" + ] + }, + { + "gas": 249859047258, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2398, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120" + ] + }, + { + "gas": 249859044202, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2399, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3" + ] + }, + { + "gas": 249859031978, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2515, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160" + ] + }, + { + "gas": 249859030450, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2516, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160" + ] + }, + { + "gas": 249859025866, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2517, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x120" + ] + }, + { + "gas": 249859021282, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2518, + "op": "SUB", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x120", + "0x160" + ] + }, + { + "gas": 249859016698, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2519, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x40" + ] + }, + { + "gas": 249859012114, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2521, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x40", + "0x20" + ] + }, + { + "gas": 249859007530, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2522, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x40", + "0x20", + "0x120" + ] + }, + { + "gas": 249859002946, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2523, + "op": "MSTORE", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x40", + "0x140" + ] + }, + { + "gas": 249858998362, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2524, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160" + ] + }, + { + "gas": 249858993778, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2527, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5" + ] + }, + { + "gas": 249858989194, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2528, + "op": "DUP5", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160" + ] + }, + { + "gas": 249858984610, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2529, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0" + ] + }, + { + "gas": 249858980026, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2532, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x988" + ] + }, + { + "gas": 249858967802, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2440, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0" + ] + }, + { + "gas": 249858966274, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2441, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0" + ] + }, + { + "gas": 249858963218, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2442, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0" + ] + }, + { + "gas": 249858958634, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2445, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992" + ] + }, + { + "gas": 249858954050, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2446, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0" + ] + }, + { + "gas": 249858949466, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2449, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0", + "0x960" + ] + }, + { + "gas": 249858937242, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2400, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0" + ] + }, + { + "gas": 249858935714, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2401, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0" + ] + }, + { + "gas": 249858932658, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2402, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0", + "0x0" + ] + }, + { + "gas": 249858928074, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2403, + "op": "MLOAD", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0", + "0x0", + "0xe0" + ] + }, + { + "gas": 249858923490, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2404, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0", + "0x0", + "0x20" + ] + }, + { + "gas": 249858918906, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2405, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0", + "0x20", + "0x0" + ] + }, + { + "gas": 249858915850, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2406, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0", + "0x20" + ] + }, + { + "gas": 249858911266, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2407, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0xe0", + "0x992" + ] + }, + { + "gas": 249858906682, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2408, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x992", + "0xe0" + ] + }, + { + "gas": 249858903626, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2409, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x992" + ] + }, + { + "gas": 249858891402, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2450, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20" + ] + }, + { + "gas": 249858889874, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2451, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20" + ] + }, + { + "gas": 249858885290, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2454, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c" + ] + }, + { + "gas": 249858880706, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2455, + "op": "DUP6", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20" + ] + }, + { + "gas": 249858876122, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2456, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160" + ] + }, + { + "gas": 249858871538, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2459, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x96a" + ] + }, + { + "gas": 249858859314, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2410, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160" + ] + }, + { + "gas": 249858857786, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2411, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160" + ] + }, + { + "gas": 249858854730, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2412, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0" + ] + }, + { + "gas": 249858850146, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2413, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0", + "0x20" + ] + }, + { + "gas": 249858845562, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2414, + "op": "MSTORE", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0", + "0x20", + "0x160" + ] + }, + { + "gas": 249858840978, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2415, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0" + ] + }, + { + "gas": 249858836394, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2417, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0", + "0x20" + ] + }, + { + "gas": 249858831810, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2418, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0", + "0x20", + "0x160" + ] + }, + { + "gas": 249858827226, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2419, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0", + "0x180" + ] + }, + { + "gas": 249858822642, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2420, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x180", + "0x0" + ] + }, + { + "gas": 249858819586, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2421, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x180" + ] + }, + { + "gas": 249858815002, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2422, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x180", + "0x20", + "0x160", + "0x99c" + ] + }, + { + "gas": 249858810418, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2423, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x180", + "0x99c", + "0x160", + "0x20" + ] + }, + { + "gas": 249858807362, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2424, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x180", + "0x99c", + "0x160" + ] + }, + { + "gas": 249858804306, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2425, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x180", + "0x99c" + ] + }, + { + "gas": 249858792082, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2460, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x180" + ] + }, + { + "gas": 249858790554, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2461, + "op": "SWAP4", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x180" + ] + }, + { + "gas": 249858785970, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2462, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x160" + ] + }, + { + "gas": 249858782914, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2463, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20" + ] + }, + { + "gas": 249858778330, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2466, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac" + ] + }, + { + "gas": 249858773746, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2467, + "op": "DUP6", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20" + ] + }, + { + "gas": 249858769162, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2468, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180" + ] + }, + { + "gas": 249858764578, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2470, + "op": "DUP7", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x20" + ] + }, + { + "gas": 249858759994, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2471, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x20", + "0xe0" + ] + }, + { + "gas": 249858755410, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2472, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100" + ] + }, + { + "gas": 249858750826, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2475, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x97a" + ] + }, + { + "gas": 249858738602, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2426, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100" + ] + }, + { + "gas": 249858737074, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2427, + "op": "DUP3", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100" + ] + }, + { + "gas": 249858732490, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2428, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x20" + ] + }, + { + "gas": 249858727906, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2429, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x20", + "0x100" + ] + }, + { + "gas": 249858723322, + "gasCost": 9168, + "weightCost": { + "ref_time": 91680, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2430, + "op": "MCOPY", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x20", + "0x100", + "0x180" + ] + }, + { + "gas": 249858714154, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2431, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100" + ] + }, + { + "gas": 249858711098, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2432, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x0" + ] + }, + { + "gas": 249858706514, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2433, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x0", + "0x20" + ] + }, + { + "gas": 249858701930, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2434, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x0", + "0x20", + "0x180" + ] + }, + { + "gas": 249858697346, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2435, + "op": "MSTORE", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x0", + "0x1a0" + ] + }, + { + "gas": 249858692762, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2436, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100" + ] + }, + { + "gas": 249858689706, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2437, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180" + ] + }, + { + "gas": 249858686650, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2438, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20" + ] + }, + { + "gas": 249858683594, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2439, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac" + ] + }, + { + "gas": 249858671370, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2476, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20" + ] + }, + { + "gas": 249858669842, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2477, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20" + ] + }, + { + "gas": 249858665258, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2480, + "op": "DUP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5" + ] + }, + { + "gas": 249858660674, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2481, + "op": "PUSH2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20" + ] + }, + { + "gas": 249858656090, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2484, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x792" + ] + }, + { + "gas": 249858643866, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1938, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20" + ] + }, + { + "gas": 249858642338, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1939, + "op": "PUSH0", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20" + ] + }, + { + "gas": 249858639282, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1940, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0" + ] + }, + { + "gas": 249858634698, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1942, + "op": "NOT", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0", + "0x1f" + ] + }, + { + "gas": 249858630114, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1943, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0" + ] + }, + { + "gas": 249858625530, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1945, + "op": "DUP4", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x1f" + ] + }, + { + "gas": 249858620946, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1946, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x1f", + "0x20" + ] + }, + { + "gas": 249858616362, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1947, + "op": "AND", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x3f" + ] + }, + { + "gas": 249858611778, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1948, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0", + "0x20" + ] + }, + { + "gas": 249858607194, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1949, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x20", + "0x0" + ] + }, + { + "gas": 249858604138, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1950, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x20" + ] + }, + { + "gas": 249858599554, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1951, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x20", + "0x20", + "0x9b5" + ] + }, + { + "gas": 249858594970, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1952, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x20", + "0x9b5", + "0x20" + ] + }, + { + "gas": 249858591914, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1953, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x20", + "0x9b5" + ] + }, + { + "gas": 249858579690, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2485, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x20" + ] + }, + { + "gas": 249858578162, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2486, + "op": "DUP5", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x20" + ] + }, + { + "gas": 249858573578, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2487, + "op": "ADD", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x20", + "0x180" + ] + }, + { + "gas": 249858568994, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2488, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x1a0" + ] + }, + { + "gas": 249858564410, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2489, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x1a0", + "0x20", + "0x0" + ] + }, + { + "gas": 249858561354, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2490, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x1a0", + "0x20" + ] + }, + { + "gas": 249858558298, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2491, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x1a0" + ] + }, + { + "gas": 249858553714, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2492, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x1a0", + "0x180", + "0xe0", + "0x9e5" + ] + }, + { + "gas": 249858549130, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2493, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x1a0", + "0x9e5", + "0xe0", + "0x180" + ] + }, + { + "gas": 249858546074, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2494, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x1a0", + "0x9e5", + "0xe0" + ] + }, + { + "gas": 249858543018, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2495, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x1a0", + "0x9e5" + ] + }, + { + "gas": 249858530794, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2533, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x1a0" + ] + }, + { + "gas": 249858529266, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2534, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x1a0" + ] + }, + { + "gas": 249858524682, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2535, + "op": "POP", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x1a0", + "0x160" + ] + }, + { + "gas": 249858521626, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2536, + "op": "SWAP4", + "stack": [ + "0xd1df6a", + "0xb1", + "0x1", + "0xe0", + "0x120", + "0x1a0" + ] + }, + { + "gas": 249858517042, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2537, + "op": "SWAP3", + "stack": [ + "0xd1df6a", + "0x1a0", + "0x1", + "0xe0", + "0x120", + "0xb1" + ] + }, + { + "gas": 249858512458, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2538, + "op": "POP", + "stack": [ + "0xd1df6a", + "0x1a0", + "0xb1", + "0xe0", + "0x120", + "0x1" + ] + }, + { + "gas": 249858509402, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2539, + "op": "POP", + "stack": [ + "0xd1df6a", + "0x1a0", + "0xb1", + "0xe0", + "0x120" + ] + }, + { + "gas": 249858506346, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2540, + "op": "POP", + "stack": [ + "0xd1df6a", + "0x1a0", + "0xb1", + "0xe0" + ] + }, + { + "gas": 249858503290, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2541, + "op": "JUMP", + "stack": [ + "0xd1df6a", + "0x1a0", + "0xb1" + ] + }, + { + "gas": 249858491066, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 177, + "op": "JUMPDEST", + "stack": [ + "0xd1df6a", + "0x1a0" + ] + }, + { + "gas": 249858489538, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 178, + "op": "PUSH1", + "stack": [ + "0xd1df6a", + "0x1a0" + ] + }, + { + "gas": 249858484954, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 180, + "op": "MLOAD", + "stack": [ + "0xd1df6a", + "0x1a0", + "0x40" + ] + }, + { + "gas": 249858480370, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 181, + "op": "DUP1", + "stack": [ + "0xd1df6a", + "0x1a0", + "0x120" + ] + }, + { + "gas": 249858475786, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 182, + "op": "SWAP2", + "stack": [ + "0xd1df6a", + "0x1a0", + "0x120", + "0x120" + ] + }, + { + "gas": 249858471202, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 183, + "op": "SUB", + "stack": [ + "0xd1df6a", + "0x120", + "0x120", + "0x1a0" + ] + }, + { + "gas": 249858466618, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 184, + "op": "SWAP1", + "stack": [ + "0xd1df6a", + "0x120", + "0x80" + ] + }, + { + "gas": 249858462034, + "gasCost": 0, + "weightCost": { + "ref_time": 0, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 185, + "op": "RETURN", + "stack": [ + "0xd1df6a", + "0x80", + "0x120" + ] + } + ] +} diff --git a/substrate/frame/revive/src/tests/json_trace/call_pvm.json b/substrate/frame/revive/src/tests/json_trace/call_pvm.json new file mode 100644 index 0000000000000..060b86a0b7059 --- /dev/null +++ b/substrate/frame/revive/src/tests/json_trace/call_pvm.json @@ -0,0 +1,292 @@ +{ + "gas": 549956372, + "weightConsumed": { + "ref_time": 0, + "proof_size": 0 + }, + "baseCallWeight": { + "ref_time": 0, + "proof_size": 0 + }, + "failed": false, + "returnValue": "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a", + "structLogs": [ + { + "gas": 249686684201, + "gasCost": 33000, + "weightCost": { + "ref_time": 330000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_size", + "returned": "0xe4" + }, + { + "gas": 249685987644, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdf960", + "0x0" + ] + }, + { + "gas": 249685851008, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 1, + "op": "value_transferred", + "args": [ + "0xfffdffa0" + ] + }, + { + "gas": 249685539545, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdf800", + "0x4" + ] + }, + { + "gas": 249685215835, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdf800", + "0x24" + ] + }, + { + "gas": 249684980740, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdf820", + "0x44" + ] + }, + { + "gas": 249684455188, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdf680", + "0x84" + ] + }, + { + "gas": 249681418905, + "gasCost": 50064, + "weightCost": { + "ref_time": 500644, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_copy", + "args": [ + "0x200e0", + "0x24", + "0xa4" + ] + }, + { + "gas": 249680424672, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdf7e0", + "0x64" + ] + }, + { + "gas": 249678599448, + "gasCost": 214309730, + "weightCost": { + "ref_time": 316238783, + "proof_size": 9578 + }, + "depth": 1, + "op": "call_evm", + "args": [ + "0x8", + "0x40040", + "0xfffdf820", + "0xffffffffffffffff", + "0x24000200e0", + "0xfffdf80000020040" + ], + "returned": "0x0" + }, + { + "gas": 249464270743, + "gasCost": 33000, + "weightCost": { + "ref_time": 330000, + "proof_size": 0 + }, + "depth": 2, + "op": "call_data_size", + "returned": "0x24" + }, + { + "gas": 249463574186, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 2, + "op": "call_data_load", + "args": [ + "0xfffdfce0", + "0x0" + ] + }, + { + "gas": 249463398166, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 2, + "op": "value_transferred", + "args": [ + "0xfffdffa0" + ] + }, + { + "gas": 249463180240, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 2, + "op": "call_data_load", + "args": [ + "0xfffdfca0", + "0x4" + ] + }, + { + "gas": 249461064559, + "gasCost": 53587, + "weightCost": { + "ref_time": 535865, + "proof_size": 0 + }, + "depth": 2, + "op": "seal_return", + "args": [ + "0x0", + "0x200a0", + "0x20" + ] + }, + { + "gas": 249460894198, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "op": "return_data_size", + "returned": "0x20" + }, + { + "gas": 249460799346, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "op": "return_data_size", + "returned": "0x20" + }, + { + "gas": 249458385762, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "op": "return_data_size", + "returned": "0x20" + }, + { + "gas": 249458093991, + "gasCost": 49550, + "weightCost": { + "ref_time": 495496, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "op": "return_data_copy", + "args": [ + "0x20140", + "0xfffdf720", + "0x0" + ] + }, + { + "gas": 249451099136, + "gasCost": 55507, + "weightCost": { + "ref_time": 555065, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "op": "seal_return", + "args": [ + "0x0", + "0x20160", + "0x80" + ] + } + ] +} diff --git a/substrate/frame/revive/src/tests/json_trace/delegatecall_evm.json b/substrate/frame/revive/src/tests/json_trace/delegatecall_evm.json new file mode 100644 index 0000000000000..1f0492c2ad145 --- /dev/null +++ b/substrate/frame/revive/src/tests/json_trace/delegatecall_evm.json @@ -0,0 +1,24406 @@ +{ + "gas": 109344516, + "weightConsumed": { + "ref_time": 0, + "proof_size": 0 + }, + "baseCallWeight": { + "ref_time": 0, + "proof_size": 0 + }, + "failed": false, + "returnValue": "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a", + "structLogs": [ + { + "gas": 250000982272, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 0, + "op": "PUSH1", + "stack": [] + }, + { + "gas": 250000977688, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2, + "op": "PUSH1", + "stack": [ + "0x80" + ] + }, + { + "gas": 250000973104, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 4, + "op": "MSTORE", + "stack": [ + "0x80", + "0x40" + ] + }, + { + "gas": 250000968520, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 5, + "op": "PUSH1", + "stack": [] + }, + { + "gas": 250000963936, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 7, + "op": "CALLDATASIZE", + "stack": [ + "0x4" + ] + }, + { + "gas": 250000960880, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 8, + "op": "LT", + "stack": [ + "0x4", + "0xc4" + ] + }, + { + "gas": 250000956296, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 9, + "op": "PUSH2", + "stack": [ + "0x0" + ] + }, + { + "gas": 250000951712, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 12, + "op": "JUMPI", + "stack": [ + "0x0", + "0x79" + ] + }, + { + "gas": 250000936432, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 13, + "op": "PUSH0", + "stack": [] + }, + { + "gas": 250000933376, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 14, + "op": "CALLDATALOAD", + "stack": [ + "0x0" + ] + }, + { + "gas": 250000928792, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 15, + "op": "PUSH1", + "stack": [ + "0x66b54f3000000000000000000000000fde6a729e159b8a8896f854789d6b8a6" + ] + }, + { + "gas": 250000924208, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 17, + "op": "SHR", + "stack": [ + "0x66b54f3000000000000000000000000fde6a729e159b8a8896f854789d6b8a6", + "0xe0" + ] + }, + { + "gas": 250000919624, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 18, + "op": "DUP1", + "stack": [ + "0x66b54f3" + ] + }, + { + "gas": 250000915040, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 19, + "op": "PUSH4", + "stack": [ + "0x66b54f3", + "0x66b54f3" + ] + }, + { + "gas": 250000910456, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 24, + "op": "GT", + "stack": [ + "0x66b54f3", + "0x66b54f3", + "0x73d4a13a" + ] + }, + { + "gas": 250000905872, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 25, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0x1" + ] + }, + { + "gas": 250000901288, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 28, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0x1", + "0x4d" + ] + }, + { + "gas": 250000886008, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 77, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3" + ] + }, + { + "gas": 250000884480, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 78, + "op": "DUP1", + "stack": [ + "0x66b54f3" + ] + }, + { + "gas": 250000879896, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 79, + "op": "PUSH3", + "stack": [ + "0x66b54f3", + "0x66b54f3" + ] + }, + { + "gas": 250000875312, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 83, + "op": "EQ", + "stack": [ + "0x66b54f3", + "0x66b54f3", + "0xd1df6a" + ] + }, + { + "gas": 250000870728, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 84, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0x0" + ] + }, + { + "gas": 250000866144, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 87, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0x0", + "0x7d" + ] + }, + { + "gas": 250000850864, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 88, + "op": "DUP1", + "stack": [ + "0x66b54f3" + ] + }, + { + "gas": 250000846280, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 89, + "op": "PUSH4", + "stack": [ + "0x66b54f3", + "0x66b54f3" + ] + }, + { + "gas": 250000841696, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 94, + "op": "EQ", + "stack": [ + "0x66b54f3", + "0x66b54f3", + "0x66b54f3" + ] + }, + { + "gas": 250000837112, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 95, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0x1" + ] + }, + { + "gas": 250000832528, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 98, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0x1", + "0xba" + ] + }, + { + "gas": 250000817248, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 186, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3" + ] + }, + { + "gas": 250000815720, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 1, + "pc": 187, + "op": "CALLVALUE", + "stack": [ + "0x66b54f3" + ] + }, + { + "gas": 250000783820, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 188, + "op": "DUP1", + "stack": [ + "0x66b54f3", + "0x0" + ] + }, + { + "gas": 250000779236, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 189, + "op": "ISZERO", + "stack": [ + "0x66b54f3", + "0x0", + "0x0" + ] + }, + { + "gas": 250000774652, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 190, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0x0", + "0x1" + ] + }, + { + "gas": 250000770068, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 193, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0x0", + "0x1", + "0xc5" + ] + }, + { + "gas": 250000754788, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 197, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0x0" + ] + }, + { + "gas": 250000753260, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 198, + "op": "POP", + "stack": [ + "0x66b54f3", + "0x0" + ] + }, + { + "gas": 250000750204, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 199, + "op": "PUSH2", + "stack": [ + "0x66b54f3" + ] + }, + { + "gas": 250000745620, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 202, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0" + ] + }, + { + "gas": 250000741036, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 204, + "op": "DUP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0x4" + ] + }, + { + "gas": 250000736452, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 205, + "op": "CALLDATASIZE", + "stack": [ + "0x66b54f3", + "0xe0", + "0x4", + "0x4" + ] + }, + { + "gas": 250000733396, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 206, + "op": "SUB", + "stack": [ + "0x66b54f3", + "0xe0", + "0x4", + "0x4", + "0xc4" + ] + }, + { + "gas": 250000728812, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 207, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0x4", + "0xc0" + ] + }, + { + "gas": 250000724228, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 208, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0x4", + "0xc0", + "0x4" + ] + }, + { + "gas": 250000719644, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 209, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0x4", + "0xc4" + ] + }, + { + "gas": 250000715060, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 210, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xc4", + "0x4" + ] + }, + { + "gas": 250000710476, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 213, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xc4", + "0x4", + "0xdb" + ] + }, + { + "gas": 250000705892, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 214, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0x4", + "0xc4" + ] + }, + { + "gas": 250000701308, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 215, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4" + ] + }, + { + "gas": 250000696724, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 218, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x9ee" + ] + }, + { + "gas": 250000684500, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2542, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4" + ] + }, + { + "gas": 250000682972, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2543, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4" + ] + }, + { + "gas": 250000679916, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2544, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0" + ] + }, + { + "gas": 250000676860, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2545, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0" + ] + }, + { + "gas": 250000673804, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2546, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000669220, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2548, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x60" + ] + }, + { + "gas": 250000664636, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2549, + "op": "DUP7", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x60", + "0x4" + ] + }, + { + "gas": 250000660052, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2550, + "op": "SUB", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x60", + "0x4", + "0xc4" + ] + }, + { + "gas": 250000655468, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2551, + "op": "SLT", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x60", + "0xc0" + ] + }, + { + "gas": 250000650884, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2552, + "op": "ISZERO", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000646300, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2553, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x1" + ] + }, + { + "gas": 250000641716, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 2556, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x1", + "0xa05" + ] + }, + { + "gas": 250000626436, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2565, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000624908, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2566, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000621852, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2567, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000617268, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2570, + "op": "DUP7", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12" + ] + }, + { + "gas": 250000612684, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2571, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4" + ] + }, + { + "gas": 250000608100, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2572, + "op": "DUP8", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x0" + ] + }, + { + "gas": 250000603516, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2573, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x0", + "0x4" + ] + }, + { + "gas": 250000598932, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2574, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4" + ] + }, + { + "gas": 250000594348, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2577, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0x739" + ] + }, + { + "gas": 250000582124, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1849, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4" + ] + }, + { + "gas": 250000580596, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1850, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4" + ] + }, + { + "gas": 250000577540, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1851, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0x0" + ] + }, + { + "gas": 250000572956, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1852, + "op": "CALLDATALOAD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0x0", + "0x4" + ] + }, + { + "gas": 250000568372, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1853, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000563788, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1854, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0" + ] + }, + { + "gas": 250000560732, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1855, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000556148, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1858, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747" + ] + }, + { + "gas": 250000551564, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1859, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000546980, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1862, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x723" + ] + }, + { + "gas": 250000534756, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1827, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000533228, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1828, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000528644, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1831, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c" + ] + }, + { + "gas": 250000524060, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1832, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000519476, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1835, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x712" + ] + }, + { + "gas": 250000507252, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1810, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000505724, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1811, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000502668, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1812, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0" + ] + }, + { + "gas": 250000498084, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1815, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c" + ] + }, + { + "gas": 250000493500, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1816, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000488916, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1819, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x6f3" + ] + }, + { + "gas": 250000476692, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1779, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000475164, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1780, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000472108, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1781, + "op": "PUSH20", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0" + ] + }, + { + "gas": 250000467524, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1802, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffff" + ] + }, + { + "gas": 250000462940, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1803, + "op": "AND", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffff", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000458356, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1804, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000453772, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1805, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0" + ] + }, + { + "gas": 250000450716, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1806, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000446132, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1807, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x71c" + ] + }, + { + "gas": 250000441548, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1808, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x71c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000438492, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1809, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x71c" + ] + }, + { + "gas": 250000426268, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1820, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000424740, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1821, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000420156, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1822, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0" + ] + }, + { + "gas": 250000417100, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1823, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000412516, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1824, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c" + ] + }, + { + "gas": 250000407932, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1825, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000404876, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1826, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x72c" + ] + }, + { + "gas": 250000392652, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1836, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000391124, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1837, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000386540, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1838, + "op": "EQ", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000381956, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1839, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x1" + ] + }, + { + "gas": 250000377372, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 1842, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x1", + "0x736" + ] + }, + { + "gas": 250000362092, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1846, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000360564, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1847, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000357508, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1848, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x747" + ] + }, + { + "gas": 250000345284, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1863, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000343756, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1864, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xa12", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000339172, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1865, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xc4", + "0x4", + "0xa12" + ] + }, + { + "gas": 250000334588, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1866, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xa12", + "0x4", + "0xc4" + ] + }, + { + "gas": 250000331532, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1867, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xa12", + "0x4" + ] + }, + { + "gas": 250000328476, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1868, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xa12" + ] + }, + { + "gas": 250000316252, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2578, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000314724, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2579, + "op": "SWAP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0x0", + "0x0", + "0x0", + "0x0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 250000310140, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2580, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000307084, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2581, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x0" + ] + }, + { + "gas": 250000304028, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2582, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0" + ] + }, + { + "gas": 250000299444, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2584, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x20" + ] + }, + { + "gas": 250000294860, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2585, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x20", + "0x4" + ] + }, + { + "gas": 250000290276, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2586, + "op": "CALLDATALOAD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x24" + ] + }, + { + "gas": 250000285692, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2587, + "op": "PUSH8", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60" + ] + }, + { + "gas": 250000281108, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2596, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xffffffffffffffff" + ] + }, + { + "gas": 250000276524, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2597, + "op": "GT", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xffffffffffffffff", + "0x60" + ] + }, + { + "gas": 250000271940, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2598, + "op": "ISZERO", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0x0" + ] + }, + { + "gas": 250000267356, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2599, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0x1" + ] + }, + { + "gas": 250000262772, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 2602, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0x1", + "0xa33" + ] + }, + { + "gas": 250000247492, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2611, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60" + ] + }, + { + "gas": 250000245964, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2612, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60" + ] + }, + { + "gas": 250000241380, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2615, + "op": "DUP7", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f" + ] + }, + { + "gas": 250000236796, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2616, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4" + ] + }, + { + "gas": 250000232212, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2617, + "op": "DUP8", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x60" + ] + }, + { + "gas": 250000227628, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2618, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x60", + "0x4" + ] + }, + { + "gas": 250000223044, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2619, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64" + ] + }, + { + "gas": 250000218460, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2622, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x899" + ] + }, + { + "gas": 250000206236, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2201, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64" + ] + }, + { + "gas": 250000204708, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2202, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64" + ] + }, + { + "gas": 250000201652, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2203, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0" + ] + }, + { + "gas": 250000197068, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2204, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0xc4" + ] + }, + { + "gas": 250000192484, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2206, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0xc4", + "0x1f" + ] + }, + { + "gas": 250000187900, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2207, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0xc4", + "0x1f", + "0x64" + ] + }, + { + "gas": 250000183316, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2208, + "op": "SLT", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0xc4", + "0x83" + ] + }, + { + "gas": 250000178732, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2209, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x1" + ] + }, + { + "gas": 250000174148, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 2212, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x1", + "0x8ad" + ] + }, + { + "gas": 250000158868, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2221, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0" + ] + }, + { + "gas": 250000157340, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2222, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0" + ] + }, + { + "gas": 250000152756, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2223, + "op": "CALLDATALOAD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x64" + ] + }, + { + "gas": 250000148172, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2224, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24" + ] + }, + { + "gas": 250000143588, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2227, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd" + ] + }, + { + "gas": 250000139004, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2228, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4" + ] + }, + { + "gas": 250000134420, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2229, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24" + ] + }, + { + "gas": 250000129836, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2231, + "op": "DUP7", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x20" + ] + }, + { + "gas": 250000125252, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2232, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x20", + "0x64" + ] + }, + { + "gas": 250000120668, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2233, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84" + ] + }, + { + "gas": 250000116084, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2236, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x858" + ] + }, + { + "gas": 250000103860, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2136, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84" + ] + }, + { + "gas": 250000102332, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2137, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84" + ] + }, + { + "gas": 250000099276, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2138, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0" + ] + }, + { + "gas": 250000094692, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2141, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a" + ] + }, + { + "gas": 250000090108, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2144, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865" + ] + }, + { + "gas": 250000085524, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2145, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24" + ] + }, + { + "gas": 250000080940, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2148, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x81a" + ] + }, + { + "gas": 250000068716, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2074, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24" + ] + }, + { + "gas": 250000067188, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2075, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24" + ] + }, + { + "gas": 250000064132, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2076, + "op": "PUSH8", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0" + ] + }, + { + "gas": 250000059548, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2085, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 250000054964, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2086, + "op": "GT", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0xffffffffffffffff", + "0x24" + ] + }, + { + "gas": 250000050380, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2087, + "op": "ISZERO", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x0" + ] + }, + { + "gas": 250000045796, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2088, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x1" + ] + }, + { + "gas": 250000041212, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 2091, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x1", + "0x834" + ] + }, + { + "gas": 250000025932, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2100, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0" + ] + }, + { + "gas": 250000024404, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2101, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0" + ] + }, + { + "gas": 250000019820, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2104, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d" + ] + }, + { + "gas": 250000015236, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2105, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24" + ] + }, + { + "gas": 250000010652, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2108, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x792" + ] + }, + { + "gas": 249999998428, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1938, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24" + ] + }, + { + "gas": 249999996900, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1939, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24" + ] + }, + { + "gas": 249999993844, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1940, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0" + ] + }, + { + "gas": 249999989260, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1942, + "op": "NOT", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0", + "0x1f" + ] + }, + { + "gas": 249999984676, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1943, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0" + ] + }, + { + "gas": 249999980092, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1945, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x1f" + ] + }, + { + "gas": 249999975508, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1946, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x1f", + "0x24" + ] + }, + { + "gas": 249999970924, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1947, + "op": "AND", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x43" + ] + }, + { + "gas": 249999966340, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1948, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x0", + "0x40" + ] + }, + { + "gas": 249999961756, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1949, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x40", + "0x0" + ] + }, + { + "gas": 249999958700, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1950, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x83d", + "0x24", + "0x40" + ] + }, + { + "gas": 249999954116, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1951, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x40", + "0x24", + "0x83d" + ] + }, + { + "gas": 249999949532, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1952, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x40", + "0x83d", + "0x24" + ] + }, + { + "gas": 249999946476, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1953, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x40", + "0x83d" + ] + }, + { + "gas": 249999934252, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2109, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x40" + ] + }, + { + "gas": 249999932724, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2110, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x0", + "0x40" + ] + }, + { + "gas": 249999928140, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2111, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x40", + "0x0" + ] + }, + { + "gas": 249999925084, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2112, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x40" + ] + }, + { + "gas": 249999920500, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2114, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x40", + "0x20" + ] + }, + { + "gas": 249999915916, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2115, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x40", + "0x20", + "0x40" + ] + }, + { + "gas": 249999911332, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2116, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x40", + "0x60" + ] + }, + { + "gas": 249999906748, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2117, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x60", + "0x40" + ] + }, + { + "gas": 249999903692, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2118, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x865", + "0x24", + "0x60" + ] + }, + { + "gas": 249999899108, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2119, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x24", + "0x865" + ] + }, + { + "gas": 249999894524, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2120, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x865", + "0x24" + ] + }, + { + "gas": 249999891468, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2121, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x865" + ] + }, + { + "gas": 249999879244, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2149, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60" + ] + }, + { + "gas": 249999877716, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2150, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60" + ] + }, + { + "gas": 249999873132, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2153, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x800" + ] + }, + { + "gas": 249999860908, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2048, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60" + ] + }, + { + "gas": 249999859380, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2049, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60" + ] + }, + { + "gas": 249999856324, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2050, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0" + ] + }, + { + "gas": 249999851740, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2053, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809" + ] + }, + { + "gas": 249999847156, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2056, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809", + "0x6e2" + ] + }, + { + "gas": 249999834932, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1762, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809" + ] + }, + { + "gas": 249999833404, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1763, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809" + ] + }, + { + "gas": 249999830348, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1764, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809", + "0x0" + ] + }, + { + "gas": 249999825764, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1766, + "op": "MLOAD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809", + "0x0", + "0x40" + ] + }, + { + "gas": 249999821180, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1767, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809", + "0x0", + "0x80" + ] + }, + { + "gas": 249999816596, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1768, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809", + "0x80", + "0x0" + ] + }, + { + "gas": 249999813540, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1769, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x809", + "0x80" + ] + }, + { + "gas": 249999808956, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1770, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x80", + "0x809" + ] + }, + { + "gas": 249999796732, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2057, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x80" + ] + }, + { + "gas": 249999795204, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2058, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x0", + "0x80" + ] + }, + { + "gas": 249999790620, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2059, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x0" + ] + }, + { + "gas": 249999787564, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2060, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80" + ] + }, + { + "gas": 249999782980, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2063, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815" + ] + }, + { + "gas": 249999778396, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2064, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60" + ] + }, + { + "gas": 249999773812, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2065, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80" + ] + }, + { + "gas": 249999769228, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2068, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7cf" + ] + }, + { + "gas": 249999757004, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1999, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80" + ] + }, + { + "gas": 249999755476, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2000, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80" + ] + }, + { + "gas": 249999750892, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2003, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8" + ] + }, + { + "gas": 249999746308, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2004, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60" + ] + }, + { + "gas": 249999741724, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2007, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x792" + ] + }, + { + "gas": 249999729500, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1938, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60" + ] + }, + { + "gas": 249999727972, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1939, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60" + ] + }, + { + "gas": 249999724916, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1940, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0" + ] + }, + { + "gas": 249999720332, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1942, + "op": "NOT", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0", + "0x1f" + ] + }, + { + "gas": 249999715748, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1943, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0" + ] + }, + { + "gas": 249999711164, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1945, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x1f" + ] + }, + { + "gas": 249999706580, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1946, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x1f", + "0x60" + ] + }, + { + "gas": 249999701996, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1947, + "op": "AND", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x7f" + ] + }, + { + "gas": 249999697412, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1948, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x0", + "0x60" + ] + }, + { + "gas": 249999692828, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1949, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x60", + "0x0" + ] + }, + { + "gas": 249999689772, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1950, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x7d8", + "0x60", + "0x60" + ] + }, + { + "gas": 249999685188, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1951, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x60", + "0x60", + "0x7d8" + ] + }, + { + "gas": 249999680604, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1952, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x60", + "0x7d8", + "0x60" + ] + }, + { + "gas": 249999677548, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1953, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x60", + "0x7d8" + ] + }, + { + "gas": 249999665324, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2008, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x60" + ] + }, + { + "gas": 249999663796, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2009, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x60" + ] + }, + { + "gas": 249999659212, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2010, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0x60", + "0x80" + ] + }, + { + "gas": 249999654628, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2011, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0" + ] + }, + { + "gas": 249999650044, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2012, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x80" + ] + }, + { + "gas": 249999645460, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2013, + "op": "LT", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x80", + "0xe0" + ] + }, + { + "gas": 249999640876, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2014, + "op": "PUSH8", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x0" + ] + }, + { + "gas": 249999636292, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2023, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999631708, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2024, + "op": "GT", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x0", + "0xffffffffffffffff", + "0xe0" + ] + }, + { + "gas": 249999627124, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2025, + "op": "OR", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x0", + "0x0" + ] + }, + { + "gas": 249999622540, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2026, + "op": "ISZERO", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x0" + ] + }, + { + "gas": 249999617956, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2027, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x1" + ] + }, + { + "gas": 249999613372, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 2030, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0x1", + "0x7f7" + ] + }, + { + "gas": 249999598092, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2039, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0" + ] + }, + { + "gas": 249999596564, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2040, + "op": "DUP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0" + ] + }, + { + "gas": 249999591980, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2041, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0xe0" + ] + }, + { + "gas": 249999587396, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2043, + "op": "MSTORE", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0", + "0xe0", + "0x40" + ] + }, + { + "gas": 249999582812, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2044, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80", + "0xe0" + ] + }, + { + "gas": 249999579756, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2045, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60", + "0x80" + ] + }, + { + "gas": 249999576700, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2046, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815", + "0x60" + ] + }, + { + "gas": 249999573644, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2047, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80", + "0x815" + ] + }, + { + "gas": 249999561420, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2069, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80" + ] + }, + { + "gas": 249999559892, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2070, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x86a", + "0x60", + "0x80" + ] + }, + { + "gas": 249999555308, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2071, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x80", + "0x60", + "0x86a" + ] + }, + { + "gas": 249999550724, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2072, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x80", + "0x86a", + "0x60" + ] + }, + { + "gas": 249999547668, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2073, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x80", + "0x86a" + ] + }, + { + "gas": 249999535444, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2154, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x80" + ] + }, + { + "gas": 249999533916, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2155, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x0", + "0x80" + ] + }, + { + "gas": 249999529332, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2156, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0x0" + ] + }, + { + "gas": 249999526276, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2157, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80" + ] + }, + { + "gas": 249999521692, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2158, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0x24" + ] + }, + { + "gas": 249999517108, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2159, + "op": "MSTORE", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0x24", + "0x80" + ] + }, + { + "gas": 249999512524, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2160, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80" + ] + }, + { + "gas": 249999507940, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2162, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0x20" + ] + }, + { + "gas": 249999503356, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2163, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0x20", + "0x80" + ] + }, + { + "gas": 249999498772, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2164, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0" + ] + }, + { + "gas": 249999494188, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2165, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0xc4" + ] + }, + { + "gas": 249999489604, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2166, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0xc4", + "0x24" + ] + }, + { + "gas": 249999485020, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2167, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0xc4", + "0x24", + "0x84" + ] + }, + { + "gas": 249999480436, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2168, + "op": "GT", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0xc4", + "0xa8" + ] + }, + { + "gas": 249999475852, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2169, + "op": "ISZERO", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x0" + ] + }, + { + "gas": 249999471268, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2170, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x1" + ] + }, + { + "gas": 249999466684, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 2173, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x1", + "0x886" + ] + }, + { + "gas": 249999451404, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2182, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0" + ] + }, + { + "gas": 249999449876, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2183, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0" + ] + }, + { + "gas": 249999445292, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2186, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891" + ] + }, + { + "gas": 249999440708, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2187, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24" + ] + }, + { + "gas": 249999436124, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2188, + "op": "DUP6", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0" + ] + }, + { + "gas": 249999431540, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2189, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84" + ] + }, + { + "gas": 249999426956, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2192, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84", + "0x84a" + ] + }, + { + "gas": 249999414732, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2122, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84" + ] + }, + { + "gas": 249999413204, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2123, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84" + ] + }, + { + "gas": 249999408620, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2124, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84", + "0x24" + ] + }, + { + "gas": 249999404036, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2125, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84", + "0x24", + "0x84" + ] + }, + { + "gas": 249999399452, + "gasCost": 49631, + "weightCost": { + "ref_time": 496308, + "proof_size": 0 + }, + "depth": 1, + "pc": 2126, + "op": "CALLDATACOPY", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84", + "0x24", + "0x84", + "0xa0" + ] + }, + { + "gas": 249999349821, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2127, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84" + ] + }, + { + "gas": 249999346765, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2128, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84", + "0x0" + ] + }, + { + "gas": 249999342181, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2129, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84", + "0x0", + "0x24" + ] + }, + { + "gas": 249999337597, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2130, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84", + "0x0", + "0x24", + "0xa0" + ] + }, + { + "gas": 249999333013, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2131, + "op": "MSTORE", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84", + "0x0", + "0xc4" + ] + }, + { + "gas": 249999328429, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2132, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0", + "0x84" + ] + }, + { + "gas": 249999325373, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2133, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24", + "0xa0" + ] + }, + { + "gas": 249999322317, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2134, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891", + "0x24" + ] + }, + { + "gas": 249999319261, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2135, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0", + "0x891" + ] + }, + { + "gas": 249999307037, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2193, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0" + ] + }, + { + "gas": 249999305509, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2194, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80", + "0xa0" + ] + }, + { + "gas": 249999302453, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2195, + "op": "SWAP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x8bd", + "0xc4", + "0x24", + "0x84", + "0x80" + ] + }, + { + "gas": 249999297869, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2196, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x80", + "0xc4", + "0x24", + "0x84", + "0x8bd" + ] + }, + { + "gas": 249999293285, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2197, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x80", + "0x8bd", + "0x24", + "0x84", + "0xc4" + ] + }, + { + "gas": 249999290229, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2198, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x80", + "0x8bd", + "0x24", + "0x84" + ] + }, + { + "gas": 249999287173, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2199, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x80", + "0x8bd", + "0x24" + ] + }, + { + "gas": 249999284117, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2200, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x80", + "0x8bd" + ] + }, + { + "gas": 249999271893, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2237, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x80" + ] + }, + { + "gas": 249999270365, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2238, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x0", + "0x24", + "0x80" + ] + }, + { + "gas": 249999265781, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2239, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x80", + "0x24", + "0x0" + ] + }, + { + "gas": 249999262725, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2240, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x80", + "0x24" + ] + }, + { + "gas": 249999259669, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2241, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0xa3f", + "0xc4", + "0x64", + "0x80" + ] + }, + { + "gas": 249999255085, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2242, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0x80", + "0xc4", + "0x64", + "0xa3f" + ] + }, + { + "gas": 249999250501, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2243, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0x80", + "0xa3f", + "0x64", + "0xc4" + ] + }, + { + "gas": 249999247445, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2244, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0x80", + "0xa3f", + "0x64" + ] + }, + { + "gas": 249999244389, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2245, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0x80", + "0xa3f" + ] + }, + { + "gas": 249999232165, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2623, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0x80" + ] + }, + { + "gas": 249999230637, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2624, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x0", + "0x0", + "0x60", + "0x80" + ] + }, + { + "gas": 249999226053, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2625, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x60", + "0x0" + ] + }, + { + "gas": 249999222997, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2626, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x60" + ] + }, + { + "gas": 249999219941, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2627, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0" + ] + }, + { + "gas": 249999215357, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2629, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40" + ] + }, + { + "gas": 249999210773, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2632, + "op": "DUP7", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50" + ] + }, + { + "gas": 249999206189, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2633, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4" + ] + }, + { + "gas": 249999201605, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2634, + "op": "DUP8", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x40" + ] + }, + { + "gas": 249999197021, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2635, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x40", + "0x4" + ] + }, + { + "gas": 249999192437, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2636, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44" + ] + }, + { + "gas": 249999187853, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2639, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0x776" + ] + }, + { + "gas": 249999175629, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1910, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44" + ] + }, + { + "gas": 249999174101, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1911, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44" + ] + }, + { + "gas": 249999171045, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1912, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0x0" + ] + }, + { + "gas": 249999166461, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1913, + "op": "CALLDATALOAD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0x0", + "0x44" + ] + }, + { + "gas": 249999161877, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1914, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999157293, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1915, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x0" + ] + }, + { + "gas": 249999154237, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1916, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999149653, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1919, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784" + ] + }, + { + "gas": 249999145069, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1920, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999140485, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1923, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x760" + ] + }, + { + "gas": 249999128261, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1888, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999126733, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1889, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999122149, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1892, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769" + ] + }, + { + "gas": 249999117565, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1893, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999112981, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1896, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0x74d" + ] + }, + { + "gas": 249999100757, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1869, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999099229, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1870, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999096173, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1871, + "op": "PUSH8", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0x0" + ] + }, + { + "gas": 249999091589, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1880, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999087005, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1881, + "op": "AND", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0x0", + "0xffffffffffffffff", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999082421, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1882, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999077837, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1883, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0xffffffffffffffff", + "0x0" + ] + }, + { + "gas": 249999074781, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1884, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999070197, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1885, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0xffffffffffffffff", + "0xffffffffffffffff", + "0x769" + ] + }, + { + "gas": 249999065613, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1886, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0xffffffffffffffff", + "0x769", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999062557, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1887, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0xffffffffffffffff", + "0x769" + ] + }, + { + "gas": 249999050333, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1897, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999048805, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1898, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999044221, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1899, + "op": "EQ", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0xffffffffffffffff", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999039637, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1900, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x1" + ] + }, + { + "gas": 249999035053, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "pc": 1903, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff", + "0x1", + "0x773" + ] + }, + { + "gas": 249999019773, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1907, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999018245, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1908, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999015189, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1909, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff", + "0x784" + ] + }, + { + "gas": 249999002965, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 1924, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff" + ] + }, + { + "gas": 249999001437, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1925, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xa50", + "0xc4", + "0x44", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998996853, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 1926, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xffffffffffffffff", + "0xc4", + "0x44", + "0xa50" + ] + }, + { + "gas": 249998992269, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1927, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xffffffffffffffff", + "0xa50", + "0x44", + "0xc4" + ] + }, + { + "gas": 249998989213, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 1928, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xffffffffffffffff", + "0xa50", + "0x44" + ] + }, + { + "gas": 249998986157, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 1929, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xffffffffffffffff", + "0xa50" + ] + }, + { + "gas": 249998973933, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2640, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998972405, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2641, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x0", + "0x40", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998967821, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2642, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x40", + "0x0" + ] + }, + { + "gas": 249998964765, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2643, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x40" + ] + }, + { + "gas": 249998961709, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2644, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0x4", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998957125, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2645, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0xffffffffffffffff", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0x4" + ] + }, + { + "gas": 249998954069, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2646, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0xc4", + "0xffffffffffffffff", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80" + ] + }, + { + "gas": 249998949485, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2647, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0x80", + "0xffffffffffffffff", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xc4" + ] + }, + { + "gas": 249998946429, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2648, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xdb", + "0x80", + "0xffffffffffffffff", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 249998941845, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2649, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0xdb" + ] + }, + { + "gas": 249998929621, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 219, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998928093, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 220, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998923509, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 223, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x2b5" + ] + }, + { + "gas": 249998911285, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 693, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998909757, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 694, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998906701, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 695, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0" + ] + }, + { + "gas": 249998902117, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 697, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60" + ] + }, + { + "gas": 249998897533, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 698, + "op": "PUSH20", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 249998892949, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 719, + "op": "AND", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffffffffffffffffffffffffffff" + ] + }, + { + "gas": 249998888365, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 720, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 249998883781, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 721, + "op": "PUSH8", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998879197, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 730, + "op": "AND", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998874613, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 731, + "op": "DUP6", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff" + ] + }, + { + "gas": 249998870029, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 732, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x80" + ] + }, + { + "gas": 249998865445, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 734, + "op": "MLOAD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x80", + "0x40" + ] + }, + { + "gas": 249998860861, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 735, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x80", + "0xe0" + ] + }, + { + "gas": 249998856277, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 738, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x80", + "0xe0", + "0x2e8" + ] + }, + { + "gas": 249998851693, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 739, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0xe0", + "0x80" + ] + }, + { + "gas": 249998847109, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 740, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0" + ] + }, + { + "gas": 249998842525, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 743, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0xc7d" + ] + }, + { + "gas": 249998830301, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3197, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0" + ] + }, + { + "gas": 249998828773, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3198, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0" + ] + }, + { + "gas": 249998825717, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3199, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0" + ] + }, + { + "gas": 249998821133, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3202, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88" + ] + }, + { + "gas": 249998816549, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3203, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0" + ] + }, + { + "gas": 249998811965, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3204, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80" + ] + }, + { + "gas": 249998807381, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3207, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0xc4d" + ] + }, + { + "gas": 249998795157, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3149, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80" + ] + }, + { + "gas": 249998793629, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3150, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80" + ] + }, + { + "gas": 249998790573, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3151, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0" + ] + }, + { + "gas": 249998785989, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3154, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57" + ] + }, + { + "gas": 249998781405, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3155, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80" + ] + }, + { + "gas": 249998776821, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3158, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80", + "0x960" + ] + }, + { + "gas": 249998764597, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2400, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80" + ] + }, + { + "gas": 249998763069, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2401, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80" + ] + }, + { + "gas": 249998760013, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2402, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80", + "0x0" + ] + }, + { + "gas": 249998755429, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2403, + "op": "MLOAD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80", + "0x0", + "0x80" + ] + }, + { + "gas": 249998750845, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2404, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80", + "0x0", + "0x24" + ] + }, + { + "gas": 249998746261, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2405, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80", + "0x24", + "0x0" + ] + }, + { + "gas": 249998743205, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2406, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0xc57", + "0x80", + "0x24" + ] + }, + { + "gas": 249998738621, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2407, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0x80", + "0xc57" + ] + }, + { + "gas": 249998734037, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2408, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc57", + "0x80" + ] + }, + { + "gas": 249998730981, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2409, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc57" + ] + }, + { + "gas": 249998718757, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3159, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24" + ] + }, + { + "gas": 249998717229, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3160, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24" + ] + }, + { + "gas": 249998712645, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3163, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61" + ] + }, + { + "gas": 249998708061, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3164, + "op": "DUP6", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24" + ] + }, + { + "gas": 249998703477, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3165, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998698893, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3168, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0", + "0xc43" + ] + }, + { + "gas": 249998686669, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3139, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998685141, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3140, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998682085, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3141, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0", + "0x0" + ] + }, + { + "gas": 249998677501, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3142, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0", + "0x0", + "0xe0" + ] + }, + { + "gas": 249998672917, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3143, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0", + "0xe0", + "0x0" + ] + }, + { + "gas": 249998669861, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3144, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc61", + "0x24", + "0xe0", + "0xe0" + ] + }, + { + "gas": 249998665277, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3145, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0", + "0x24", + "0xe0", + "0xc61" + ] + }, + { + "gas": 249998660693, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3146, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0", + "0xc61", + "0xe0", + "0x24" + ] + }, + { + "gas": 249998657637, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3147, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0", + "0xc61", + "0xe0" + ] + }, + { + "gas": 249998654581, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3148, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0", + "0xc61" + ] + }, + { + "gas": 249998642357, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3169, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998640829, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3170, + "op": "SWAP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998636245, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3171, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998633189, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3172, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24" + ] + }, + { + "gas": 249998628605, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3175, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71" + ] + }, + { + "gas": 249998624021, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3176, + "op": "DUP6", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24" + ] + }, + { + "gas": 249998619437, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3177, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998614853, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3179, + "op": "DUP7", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0x20" + ] + }, + { + "gas": 249998610269, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3180, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0x20", + "0x80" + ] + }, + { + "gas": 249998605685, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3181, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0" + ] + }, + { + "gas": 249998601101, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3184, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x97a" + ] + }, + { + "gas": 249998588877, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 2426, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0" + ] + }, + { + "gas": 249998587349, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2427, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0" + ] + }, + { + "gas": 249998582765, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2428, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x24" + ] + }, + { + "gas": 249998578181, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2429, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x24", + "0xa0" + ] + }, + { + "gas": 249998573597, + "gasCost": 13752, + "weightCost": { + "ref_time": 137520, + "proof_size": 0 + }, + "depth": 1, + "pc": 2430, + "op": "MCOPY", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x24", + "0xa0", + "0xe0" + ] + }, + { + "gas": 249998559845, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2431, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0" + ] + }, + { + "gas": 249998556789, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2432, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x0" + ] + }, + { + "gas": 249998552205, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2433, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x0", + "0x24" + ] + }, + { + "gas": 249998547621, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2434, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x0", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998543037, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2435, + "op": "MSTORE", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0", + "0x0", + "0x104" + ] + }, + { + "gas": 249998538453, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2436, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0", + "0xa0" + ] + }, + { + "gas": 249998535397, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2437, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998532341, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 2438, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71", + "0x24" + ] + }, + { + "gas": 249998529285, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 2439, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0xc71" + ] + }, + { + "gas": 249998517061, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3185, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24" + ] + }, + { + "gas": 249998515533, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3186, + "op": "DUP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24" + ] + }, + { + "gas": 249998510949, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3187, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0x24" + ] + }, + { + "gas": 249998506365, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3188, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998501781, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3189, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x0", + "0x24", + "0x104" + ] + }, + { + "gas": 249998497197, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3190, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x104", + "0x24", + "0x0" + ] + }, + { + "gas": 249998494141, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3191, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x104", + "0x24" + ] + }, + { + "gas": 249998491085, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3192, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0xc88", + "0xe0", + "0x80", + "0x104" + ] + }, + { + "gas": 249998486501, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3193, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0x104", + "0xe0", + "0x80", + "0xc88" + ] + }, + { + "gas": 249998481917, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3194, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0x104", + "0xc88", + "0x80", + "0xe0" + ] + }, + { + "gas": 249998478861, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3195, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0x104", + "0xc88", + "0x80" + ] + }, + { + "gas": 249998475805, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3196, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0x104", + "0xc88" + ] + }, + { + "gas": 249998463581, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 3208, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0x104" + ] + }, + { + "gas": 249998462053, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3209, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0xe0", + "0x0", + "0x104" + ] + }, + { + "gas": 249998457469, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3210, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0x104", + "0x0", + "0xe0" + ] + }, + { + "gas": 249998454413, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3211, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0x104", + "0x0" + ] + }, + { + "gas": 249998449829, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3212, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0x104", + "0x0", + "0x104" + ] + }, + { + "gas": 249998445245, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3213, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0x104", + "0x104", + "0x0" + ] + }, + { + "gas": 249998442189, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3214, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x2e8", + "0x80", + "0x104", + "0x104" + ] + }, + { + "gas": 249998437605, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 3215, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x80", + "0x104", + "0x2e8" + ] + }, + { + "gas": 249998433021, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3216, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x2e8", + "0x104", + "0x80" + ] + }, + { + "gas": 249998429965, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 3217, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x2e8", + "0x104" + ] + }, + { + "gas": 249998426909, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "pc": 3218, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x2e8" + ] + }, + { + "gas": 249998414685, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "pc": 744, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104" + ] + }, + { + "gas": 249998413157, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "pc": 745, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104" + ] + }, + { + "gas": 249998410101, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 746, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x0" + ] + }, + { + "gas": 249998405517, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 748, + "op": "MLOAD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x0", + "0x40" + ] + }, + { + "gas": 249998400933, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 749, + "op": "DUP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x0", + "0xe0" + ] + }, + { + "gas": 249998396349, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 750, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x0", + "0xe0", + "0xe0" + ] + }, + { + "gas": 249998391765, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 751, + "op": "SUB", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x0", + "0xe0", + "0xe0", + "0x104" + ] + }, + { + "gas": 249998387181, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 752, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x0", + "0xe0", + "0x24" + ] + }, + { + "gas": 249998382597, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 753, + "op": "DUP7", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x0", + "0xe0", + "0x24", + "0xe0" + ] + }, + { + "gas": 249998378013, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 754, + "op": "DUP7", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x0", + "0xe0", + "0x24", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 249998373429, + "gasCost": 104648566, + "weightCost": { + "ref_time": 112075571, + "proof_size": 4899 + }, + "depth": 1, + "pc": 755, + "op": "DELEGATECALL", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x0", + "0xe0", + "0x24", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff" + ] + }, + { + "gas": 249893773763, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 0, + "op": "PUSH1", + "stack": [] + }, + { + "gas": 249893769179, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 2, + "op": "PUSH1", + "stack": [ + "0x80" + ] + }, + { + "gas": 249893764595, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 4, + "op": "MSTORE", + "stack": [ + "0x80", + "0x40" + ] + }, + { + "gas": 249893760011, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 2, + "pc": 5, + "op": "CALLVALUE", + "stack": [] + }, + { + "gas": 249893728111, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 6, + "op": "DUP1", + "stack": [ + "0x0" + ] + }, + { + "gas": 249893723527, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 7, + "op": "ISZERO", + "stack": [ + "0x0", + "0x0" + ] + }, + { + "gas": 249893718943, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 8, + "op": "PUSH2", + "stack": [ + "0x0", + "0x1" + ] + }, + { + "gas": 249893714359, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 11, + "op": "JUMPI", + "stack": [ + "0x0", + "0x1", + "0xf" + ] + }, + { + "gas": 249893699079, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 15, + "op": "JUMPDEST", + "stack": [ + "0x0" + ] + }, + { + "gas": 249893697551, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 16, + "op": "POP", + "stack": [ + "0x0" + ] + }, + { + "gas": 249893694495, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 17, + "op": "PUSH1", + "stack": [] + }, + { + "gas": 249893689911, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 19, + "op": "CALLDATASIZE", + "stack": [ + "0x4" + ] + }, + { + "gas": 249893686855, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 20, + "op": "LT", + "stack": [ + "0x4", + "0x24" + ] + }, + { + "gas": 249893682271, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 21, + "op": "PUSH2", + "stack": [ + "0x0" + ] + }, + { + "gas": 249893677687, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 24, + "op": "JUMPI", + "stack": [ + "0x0", + "0x86" + ] + }, + { + "gas": 249893662407, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 25, + "op": "PUSH0", + "stack": [] + }, + { + "gas": 249893659351, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 26, + "op": "CALLDATALOAD", + "stack": [ + "0x0" + ] + }, + { + "gas": 249893654767, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 27, + "op": "PUSH1", + "stack": [ + "0x7036362200000000000000000000000000000000000000000000000000000000" + ] + }, + { + "gas": 249893650183, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 29, + "op": "SHR", + "stack": [ + "0x7036362200000000000000000000000000000000000000000000000000000000", + "0xe0" + ] + }, + { + "gas": 249893645599, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 30, + "op": "DUP1", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249893641015, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 31, + "op": "PUSH4", + "stack": [ + "0x70363622", + "0x70363622" + ] + }, + { + "gas": 249893636431, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 36, + "op": "GT", + "stack": [ + "0x70363622", + "0x70363622", + "0xb351696d" + ] + }, + { + "gas": 249893631847, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 37, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0x1" + ] + }, + { + "gas": 249893627263, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 40, + "op": "JUMPI", + "stack": [ + "0x70363622", + "0x1", + "0x59" + ] + }, + { + "gas": 249893611983, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 89, + "op": "JUMPDEST", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249893610455, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 90, + "op": "DUP1", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249893605871, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 91, + "op": "PUSH4", + "stack": [ + "0x70363622", + "0x70363622" + ] + }, + { + "gas": 249893601287, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 96, + "op": "EQ", + "stack": [ + "0x70363622", + "0x70363622", + "0x7da68f5" + ] + }, + { + "gas": 249893596703, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 97, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0x0" + ] + }, + { + "gas": 249893592119, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 100, + "op": "JUMPI", + "stack": [ + "0x70363622", + "0x0", + "0x8a" + ] + }, + { + "gas": 249893576839, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 101, + "op": "DUP1", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249893572255, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 102, + "op": "PUSH4", + "stack": [ + "0x70363622", + "0x70363622" + ] + }, + { + "gas": 249893567671, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 107, + "op": "EQ", + "stack": [ + "0x70363622", + "0x70363622", + "0x1d9a3bdd" + ] + }, + { + "gas": 249893563087, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 108, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0x0" + ] + }, + { + "gas": 249893558503, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 111, + "op": "JUMPI", + "stack": [ + "0x70363622", + "0x0", + "0x94" + ] + }, + { + "gas": 249893543223, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 112, + "op": "DUP1", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249893538639, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 113, + "op": "PUSH4", + "stack": [ + "0x70363622", + "0x70363622" + ] + }, + { + "gas": 249893534055, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 118, + "op": "EQ", + "stack": [ + "0x70363622", + "0x70363622", + "0x70363622" + ] + }, + { + "gas": 249893529471, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 119, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0x1" + ] + }, + { + "gas": 249893524887, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 122, + "op": "JUMPI", + "stack": [ + "0x70363622", + "0x1", + "0xb0" + ] + }, + { + "gas": 249893509607, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 176, + "op": "JUMPDEST", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249893508079, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 177, + "op": "PUSH2", + "stack": [ + "0x70363622" + ] + }, + { + "gas": 249893503495, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 180, + "op": "PUSH1", + "stack": [ + "0x70363622", + "0xca" + ] + }, + { + "gas": 249893498911, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 182, + "op": "DUP1", + "stack": [ + "0x70363622", + "0xca", + "0x4" + ] + }, + { + "gas": 249893494327, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 183, + "op": "CALLDATASIZE", + "stack": [ + "0x70363622", + "0xca", + "0x4", + "0x4" + ] + }, + { + "gas": 249893491271, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 184, + "op": "SUB", + "stack": [ + "0x70363622", + "0xca", + "0x4", + "0x4", + "0x24" + ] + }, + { + "gas": 249893486687, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 185, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xca", + "0x4", + "0x20" + ] + }, + { + "gas": 249893482103, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 186, + "op": "ADD", + "stack": [ + "0x70363622", + "0xca", + "0x4", + "0x20", + "0x4" + ] + }, + { + "gas": 249893477519, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 187, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xca", + "0x4", + "0x24" + ] + }, + { + "gas": 249893472935, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 188, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0x24", + "0x4" + ] + }, + { + "gas": 249893468351, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 191, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xca", + "0x24", + "0x4", + "0xc5" + ] + }, + { + "gas": 249893463767, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 192, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x4", + "0x24" + ] + }, + { + "gas": 249893459183, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 193, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4" + ] + }, + { + "gas": 249893454599, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 196, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x236" + ] + }, + { + "gas": 249893442375, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 566, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4" + ] + }, + { + "gas": 249893440847, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 567, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4" + ] + }, + { + "gas": 249893437791, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 568, + "op": "PUSH1", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0" + ] + }, + { + "gas": 249893433207, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 570, + "op": "DUP3", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x20" + ] + }, + { + "gas": 249893428623, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 571, + "op": "DUP5", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x20", + "0x4" + ] + }, + { + "gas": 249893424039, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 572, + "op": "SUB", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x20", + "0x4", + "0x24" + ] + }, + { + "gas": 249893419455, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 573, + "op": "SLT", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x20", + "0x20" + ] + }, + { + "gas": 249893414871, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 574, + "op": "ISZERO", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0" + ] + }, + { + "gas": 249893410287, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 575, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x1" + ] + }, + { + "gas": 249893405703, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 578, + "op": "JUMPI", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x1", + "0x24b" + ] + }, + { + "gas": 249893390423, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 587, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0" + ] + }, + { + "gas": 249893388895, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 588, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0" + ] + }, + { + "gas": 249893385839, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 589, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0" + ] + }, + { + "gas": 249893381255, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 592, + "op": "DUP5", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258" + ] + }, + { + "gas": 249893376671, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 593, + "op": "DUP3", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24" + ] + }, + { + "gas": 249893372087, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 594, + "op": "DUP6", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x0" + ] + }, + { + "gas": 249893367503, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 595, + "op": "ADD", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x0", + "0x4" + ] + }, + { + "gas": 249893362919, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 596, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4" + ] + }, + { + "gas": 249893358335, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 599, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x222" + ] + }, + { + "gas": 249893346111, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 546, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4" + ] + }, + { + "gas": 249893344583, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 547, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4" + ] + }, + { + "gas": 249893341527, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 548, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x0" + ] + }, + { + "gas": 249893336943, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 549, + "op": "CALLDATALOAD", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x0", + "0x4" + ] + }, + { + "gas": 249893332359, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 550, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x0", + "0x2a" + ] + }, + { + "gas": 249893327775, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 551, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x0" + ] + }, + { + "gas": 249893324719, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 552, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a" + ] + }, + { + "gas": 249893320135, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 555, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230" + ] + }, + { + "gas": 249893315551, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 556, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a" + ] + }, + { + "gas": 249893310967, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 559, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x20c" + ] + }, + { + "gas": 249893298743, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 524, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a" + ] + }, + { + "gas": 249893297215, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 525, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a" + ] + }, + { + "gas": 249893292631, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 528, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215" + ] + }, + { + "gas": 249893288047, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 529, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a" + ] + }, + { + "gas": 249893283463, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 532, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x1f9" + ] + }, + { + "gas": 249893271239, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 505, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a" + ] + }, + { + "gas": 249893269711, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 506, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a" + ] + }, + { + "gas": 249893266655, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 507, + "op": "PUSH8", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x0" + ] + }, + { + "gas": 249893262071, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 516, + "op": "DUP3", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249893257487, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 517, + "op": "AND", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x0", + "0xffffffffffffffff", + "0x2a" + ] + }, + { + "gas": 249893252903, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 518, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x0", + "0x2a" + ] + }, + { + "gas": 249893248319, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 519, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x2a", + "0x0" + ] + }, + { + "gas": 249893245263, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 520, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x215", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249893240679, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 521, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x2a", + "0x2a", + "0x215" + ] + }, + { + "gas": 249893236095, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 522, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x2a", + "0x215", + "0x2a" + ] + }, + { + "gas": 249893233039, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 523, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x2a", + "0x215" + ] + }, + { + "gas": 249893220815, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 533, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249893219287, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 534, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249893214703, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 535, + "op": "EQ", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249893210119, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 536, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x1" + ] + }, + { + "gas": 249893205535, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 2, + "pc": 539, + "op": "JUMPI", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a", + "0x1", + "0x21f" + ] + }, + { + "gas": 249893190255, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 543, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a" + ] + }, + { + "gas": 249893188727, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 544, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230", + "0x2a" + ] + }, + { + "gas": 249893185671, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 545, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a", + "0x230" + ] + }, + { + "gas": 249893173447, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 560, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a" + ] + }, + { + "gas": 249893171919, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 561, + "op": "SWAP3", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x258", + "0x24", + "0x4", + "0x2a" + ] + }, + { + "gas": 249893167335, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 562, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x2a", + "0x24", + "0x4", + "0x258" + ] + }, + { + "gas": 249893162751, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 563, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x2a", + "0x258", + "0x4", + "0x24" + ] + }, + { + "gas": 249893159695, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 564, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x2a", + "0x258", + "0x4" + ] + }, + { + "gas": 249893156639, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 565, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x2a", + "0x258" + ] + }, + { + "gas": 249893144415, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 600, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x2a" + ] + }, + { + "gas": 249893142887, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 601, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x0", + "0x0", + "0x2a" + ] + }, + { + "gas": 249893138303, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 602, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x2a", + "0x0", + "0x0" + ] + }, + { + "gas": 249893135247, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 603, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x2a", + "0x0" + ] + }, + { + "gas": 249893132191, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 604, + "op": "SWAP3", + "stack": [ + "0x70363622", + "0xca", + "0xc5", + "0x24", + "0x4", + "0x2a" + ] + }, + { + "gas": 249893127607, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 605, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0x24", + "0x4", + "0xc5" + ] + }, + { + "gas": 249893123023, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 606, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0xc5", + "0x4", + "0x24" + ] + }, + { + "gas": 249893119967, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 607, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0xc5", + "0x4" + ] + }, + { + "gas": 249893116911, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 608, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0xc5" + ] + }, + { + "gas": 249893104687, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 197, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0x2a" + ] + }, + { + "gas": 249893103159, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 198, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xca", + "0x2a" + ] + }, + { + "gas": 249893098575, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 201, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0x17a" + ] + }, + { + "gas": 249893086351, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 378, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xca", + "0x2a" + ] + }, + { + "gas": 249893084823, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 379, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xca", + "0x2a" + ] + }, + { + "gas": 249893081767, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 380, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0x0" + ] + }, + { + "gas": 249893077183, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 381, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0x0", + "0x2a" + ] + }, + { + "gas": 249893072599, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 382, + "op": "POP", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0x2a", + "0x0" + ] + }, + { + "gas": 249893069543, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 383, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xca", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249893064959, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 384, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0x2a", + "0x2a", + "0xca" + ] + }, + { + "gas": 249893060375, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 385, + "op": "POP", + "stack": [ + "0x70363622", + "0x2a", + "0xca", + "0x2a" + ] + }, + { + "gas": 249893057319, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 386, + "op": "JUMP", + "stack": [ + "0x70363622", + "0x2a", + "0xca" + ] + }, + { + "gas": 249893045095, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 202, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0x2a" + ] + }, + { + "gas": 249893043567, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 203, + "op": "PUSH1", + "stack": [ + "0x70363622", + "0x2a" + ] + }, + { + "gas": 249893038983, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 205, + "op": "MLOAD", + "stack": [ + "0x70363622", + "0x2a", + "0x40" + ] + }, + { + "gas": 249893034399, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 206, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0x2a", + "0x80" + ] + }, + { + "gas": 249893029815, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 209, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0x2a", + "0x80", + "0xd7" + ] + }, + { + "gas": 249893025231, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 210, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xd7", + "0x80", + "0x2a" + ] + }, + { + "gas": 249893020647, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 211, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80" + ] + }, + { + "gas": 249893016063, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 214, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0x270" + ] + }, + { + "gas": 249893003839, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 624, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80" + ] + }, + { + "gas": 249893002311, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 625, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80" + ] + }, + { + "gas": 249892999255, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 626, + "op": "PUSH1", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0x0" + ] + }, + { + "gas": 249892994671, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 628, + "op": "DUP3", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0x0", + "0x20" + ] + }, + { + "gas": 249892990087, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 629, + "op": "ADD", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0x0", + "0x20", + "0x80" + ] + }, + { + "gas": 249892985503, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 630, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0x0", + "0xa0" + ] + }, + { + "gas": 249892980919, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 631, + "op": "POP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x0" + ] + }, + { + "gas": 249892977863, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 632, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0" + ] + }, + { + "gas": 249892973279, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 635, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283" + ] + }, + { + "gas": 249892970223, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 636, + "op": "DUP4", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x0" + ] + }, + { + "gas": 249892965639, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 637, + "op": "ADD", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x0", + "0x80" + ] + }, + { + "gas": 249892961055, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 638, + "op": "DUP5", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80" + ] + }, + { + "gas": 249892956471, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 639, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a" + ] + }, + { + "gas": 249892951887, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 642, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x261" + ] + }, + { + "gas": 249892939663, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 609, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a" + ] + }, + { + "gas": 249892938135, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 610, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a" + ] + }, + { + "gas": 249892933551, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 613, + "op": "DUP2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a" + ] + }, + { + "gas": 249892928967, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 614, + "op": "PUSH2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a" + ] + }, + { + "gas": 249892924383, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 617, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x1f9" + ] + }, + { + "gas": 249892912159, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 505, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a" + ] + }, + { + "gas": 249892910631, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 506, + "op": "PUSH0", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a" + ] + }, + { + "gas": 249892907575, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 507, + "op": "PUSH8", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x0" + ] + }, + { + "gas": 249892902991, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 516, + "op": "DUP3", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249892898407, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 517, + "op": "AND", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x0", + "0xffffffffffffffff", + "0x2a" + ] + }, + { + "gas": 249892893823, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 518, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x0", + "0x2a" + ] + }, + { + "gas": 249892889239, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 519, + "op": "POP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x2a", + "0x0" + ] + }, + { + "gas": 249892886183, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 520, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x26a", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249892881599, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 521, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x2a", + "0x2a", + "0x26a" + ] + }, + { + "gas": 249892877015, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 522, + "op": "POP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x2a", + "0x26a", + "0x2a" + ] + }, + { + "gas": 249892873959, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 523, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x2a", + "0x26a" + ] + }, + { + "gas": 249892861735, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 618, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249892860207, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 619, + "op": "DUP3", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x2a" + ] + }, + { + "gas": 249892855623, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 620, + "op": "MSTORE", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a", + "0x2a", + "0x80" + ] + }, + { + "gas": 249892851039, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 621, + "op": "POP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80", + "0x2a" + ] + }, + { + "gas": 249892847983, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 622, + "op": "POP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283", + "0x80" + ] + }, + { + "gas": 249892844927, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 623, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0", + "0x283" + ] + }, + { + "gas": 249892832703, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 643, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0" + ] + }, + { + "gas": 249892831175, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 644, + "op": "SWAP3", + "stack": [ + "0x70363622", + "0xd7", + "0x2a", + "0x80", + "0xa0" + ] + }, + { + "gas": 249892826591, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 645, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xa0", + "0x2a", + "0x80", + "0xd7" + ] + }, + { + "gas": 249892822007, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 646, + "op": "POP", + "stack": [ + "0x70363622", + "0xa0", + "0xd7", + "0x80", + "0x2a" + ] + }, + { + "gas": 249892818951, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 2, + "pc": 647, + "op": "POP", + "stack": [ + "0x70363622", + "0xa0", + "0xd7", + "0x80" + ] + }, + { + "gas": 249892815895, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 2, + "pc": 648, + "op": "JUMP", + "stack": [ + "0x70363622", + "0xa0", + "0xd7" + ] + }, + { + "gas": 249892803671, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 2, + "pc": 215, + "op": "JUMPDEST", + "stack": [ + "0x70363622", + "0xa0" + ] + }, + { + "gas": 249892802143, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 216, + "op": "PUSH1", + "stack": [ + "0x70363622", + "0xa0" + ] + }, + { + "gas": 249892797559, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 218, + "op": "MLOAD", + "stack": [ + "0x70363622", + "0xa0", + "0x40" + ] + }, + { + "gas": 249892792975, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 219, + "op": "DUP1", + "stack": [ + "0x70363622", + "0xa0", + "0x80" + ] + }, + { + "gas": 249892788391, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 220, + "op": "SWAP2", + "stack": [ + "0x70363622", + "0xa0", + "0x80", + "0x80" + ] + }, + { + "gas": 249892783807, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 221, + "op": "SUB", + "stack": [ + "0x70363622", + "0x80", + "0x80", + "0xa0" + ] + }, + { + "gas": 249892779223, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 2, + "pc": 222, + "op": "SWAP1", + "stack": [ + "0x70363622", + "0x80", + "0x20" + ] + }, + { + "gas": 249892774639, + "gasCost": 0, + "weightCost": { + "ref_time": 0, + "proof_size": 0 + }, + "depth": 2, + "pc": 223, + "op": "RETURN", + "stack": [ + "0x70363622", + "0x20", + "0x80" + ] + }, + { + "gas": 249892725739, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 756, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0xffffffffffffffff", + "0x104", + "0x1" + ] + }, + { + "gas": 249892721155, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 757, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xffffffffffffffff", + "0x104", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 249892718099, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 758, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xffffffffffffffff", + "0x104" + ] + }, + { + "gas": 249892715043, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 759, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xffffffffffffffff" + ] + }, + { + "gas": 249892711987, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 760, + "op": "RETURNDATASIZE", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1" + ] + }, + { + "gas": 249892708931, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 761, + "op": "DUP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20" + ] + }, + { + "gas": 249892704347, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 762, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20" + ] + }, + { + "gas": 249892701291, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 763, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20", + "0x0" + ] + }, + { + "gas": 249892696707, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 764, + "op": "EQ", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20", + "0x0", + "0x20" + ] + }, + { + "gas": 249892692123, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 765, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20", + "0x0" + ] + }, + { + "gas": 249892687539, + "gasCost": 15280, + "weightCost": { + "ref_time": 152800, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 768, + "op": "JUMPI", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20", + "0x0", + "0x321" + ] + }, + { + "gas": 249892672259, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 769, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20" + ] + }, + { + "gas": 249892667675, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 771, + "op": "MLOAD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20", + "0x40" + ] + }, + { + "gas": 249892663091, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 772, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0x20", + "0x20", + "0xe0" + ] + }, + { + "gas": 249892658507, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 773, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20" + ] + }, + { + "gas": 249892655451, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 774, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20" + ] + }, + { + "gas": 249892650867, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 776, + "op": "NOT", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x1f" + ] + }, + { + "gas": 249892646283, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 777, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0" + ] + }, + { + "gas": 249892641699, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 779, + "op": "RETURNDATASIZE", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x3f" + ] + }, + { + "gas": 249892638643, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 780, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x3f", + "0x20" + ] + }, + { + "gas": 249892634059, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 781, + "op": "AND", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x5f" + ] + }, + { + "gas": 249892629475, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 782, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x40" + ] + }, + { + "gas": 249892624891, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 783, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x40", + "0xe0" + ] + }, + { + "gas": 249892620307, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 784, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x120" + ] + }, + { + "gas": 249892615723, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 786, + "op": "MSTORE", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x120", + "0x40" + ] + }, + { + "gas": 249892611139, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 787, + "op": "RETURNDATASIZE", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20" + ] + }, + { + "gas": 249892608083, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 788, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20" + ] + }, + { + "gas": 249892603499, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 789, + "op": "MSTORE", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20", + "0xe0" + ] + }, + { + "gas": 249892598915, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 790, + "op": "RETURNDATASIZE", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20" + ] + }, + { + "gas": 249892595859, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 791, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20" + ] + }, + { + "gas": 249892592803, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 792, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20", + "0x0" + ] + }, + { + "gas": 249892588219, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 794, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20", + "0x0", + "0x20" + ] + }, + { + "gas": 249892583635, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 795, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20", + "0x0", + "0x20", + "0xe0" + ] + }, + { + "gas": 249892579051, + "gasCost": 49550, + "weightCost": { + "ref_time": 495496, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 796, + "op": "RETURNDATACOPY", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x20", + "0x0", + "0x100" + ] + }, + { + "gas": 249892529501, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 797, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20" + ] + }, + { + "gas": 249892524917, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 800, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20", + "0x326" + ] + }, + { + "gas": 249892512693, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 806, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20" + ] + }, + { + "gas": 249892511165, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 807, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0x20" + ] + }, + { + "gas": 249892508109, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 808, + "op": "DUP1", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0" + ] + }, + { + "gas": 249892503525, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 809, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0x60", + "0x1", + "0xe0", + "0xe0" + ] + }, + { + "gas": 249892498941, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 810, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0xe0", + "0x1", + "0xe0", + "0x60" + ] + }, + { + "gas": 249892495885, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 811, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0xe0", + "0x1", + "0xe0" + ] + }, + { + "gas": 249892491301, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 812, + "op": "SWAP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x0", + "0xe0", + "0x1", + "0xe0", + "0x1" + ] + }, + { + "gas": 249892486717, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 813, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x1", + "0xe0", + "0x1", + "0xe0", + "0x0" + ] + }, + { + "gas": 249892483661, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 814, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x1", + "0xe0", + "0x1", + "0xe0" + ] + }, + { + "gas": 249892480605, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 815, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x1", + "0xe0", + "0x1" + ] + }, + { + "gas": 249892477549, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 816, + "op": "SWAP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57", + "0x80", + "0xffffffffffffffff", + "0x1", + "0xe0" + ] + }, + { + "gas": 249892472965, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 817, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xe0", + "0xe0", + "0x80", + "0xffffffffffffffff", + "0x1", + "0xfde6a729e159b8a8896f854789d6b8a69fbdeb57" + ] + }, + { + "gas": 249892469909, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 818, + "op": "SWAP4", + "stack": [ + "0x66b54f3", + "0xe0", + "0xe0", + "0x80", + "0xffffffffffffffff", + "0x1" + ] + }, + { + "gas": 249892465325, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 819, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0x1", + "0xe0", + "0x80", + "0xffffffffffffffff", + "0xe0" + ] + }, + { + "gas": 249892460741, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 820, + "op": "POP", + "stack": [ + "0x66b54f3", + "0x1", + "0xe0", + "0xe0", + "0xffffffffffffffff", + "0x80" + ] + }, + { + "gas": 249892457685, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 821, + "op": "POP", + "stack": [ + "0x66b54f3", + "0x1", + "0xe0", + "0xe0", + "0xffffffffffffffff" + ] + }, + { + "gas": 249892454629, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 822, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0x1", + "0xe0", + "0xe0" + ] + }, + { + "gas": 249892442405, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 224, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0x1", + "0xe0" + ] + }, + { + "gas": 249892440877, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 225, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0x1", + "0xe0" + ] + }, + { + "gas": 249892436293, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 227, + "op": "MLOAD", + "stack": [ + "0x66b54f3", + "0x1", + "0xe0", + "0x40" + ] + }, + { + "gas": 249892431709, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 228, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0x1", + "0xe0", + "0x120" + ] + }, + { + "gas": 249892427125, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 231, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0x1", + "0xe0", + "0x120", + "0xee" + ] + }, + { + "gas": 249892422541, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 232, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xee", + "0xe0", + "0x120", + "0x1" + ] + }, + { + "gas": 249892417957, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 233, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0x120", + "0xe0" + ] + }, + { + "gas": 249892413373, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 234, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120" + ] + }, + { + "gas": 249892408789, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 237, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x9c0" + ] + }, + { + "gas": 249892396565, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2496, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120" + ] + }, + { + "gas": 249892395037, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2497, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120" + ] + }, + { + "gas": 249892391981, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2498, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x0" + ] + }, + { + "gas": 249892387397, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2500, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x0", + "0x40" + ] + }, + { + "gas": 249892382813, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2501, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x0", + "0x40", + "0x120" + ] + }, + { + "gas": 249892378229, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2502, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x0", + "0x160" + ] + }, + { + "gas": 249892373645, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2503, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x0" + ] + }, + { + "gas": 249892370589, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2504, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160" + ] + }, + { + "gas": 249892366005, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2507, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3" + ] + }, + { + "gas": 249892362949, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2508, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x0" + ] + }, + { + "gas": 249892358365, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2509, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x0", + "0x120" + ] + }, + { + "gas": 249892353781, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2510, + "op": "DUP6", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120" + ] + }, + { + "gas": 249892349197, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2511, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1" + ] + }, + { + "gas": 249892344613, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2514, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x951" + ] + }, + { + "gas": 249892332389, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2385, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1" + ] + }, + { + "gas": 249892330861, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2386, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1" + ] + }, + { + "gas": 249892326277, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2389, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a" + ] + }, + { + "gas": 249892321693, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2390, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1" + ] + }, + { + "gas": 249892317109, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2393, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x946" + ] + }, + { + "gas": 249892304885, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2374, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1" + ] + }, + { + "gas": 249892303357, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2375, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1" + ] + }, + { + "gas": 249892300301, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2376, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x0" + ] + }, + { + "gas": 249892295717, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2377, + "op": "ISZERO", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x0", + "0x1" + ] + }, + { + "gas": 249892291133, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2378, + "op": "ISZERO", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x0", + "0x0" + ] + }, + { + "gas": 249892286549, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2379, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x0", + "0x1" + ] + }, + { + "gas": 249892281965, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2380, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x1", + "0x0" + ] + }, + { + "gas": 249892278909, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2381, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x95a", + "0x1", + "0x1" + ] + }, + { + "gas": 249892274325, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2382, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x1", + "0x1", + "0x95a" + ] + }, + { + "gas": 249892269741, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2383, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x1", + "0x95a", + "0x1" + ] + }, + { + "gas": 249892266685, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2384, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x1", + "0x95a" + ] + }, + { + "gas": 249892254461, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2394, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x1" + ] + }, + { + "gas": 249892252933, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2395, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x1" + ] + }, + { + "gas": 249892248349, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2396, + "op": "MSTORE", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1", + "0x1", + "0x120" + ] + }, + { + "gas": 249892243765, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2397, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120", + "0x1" + ] + }, + { + "gas": 249892240709, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2398, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3", + "0x120" + ] + }, + { + "gas": 249892237653, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2399, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9d3" + ] + }, + { + "gas": 249892225429, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2515, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160" + ] + }, + { + "gas": 249892223901, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2516, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160" + ] + }, + { + "gas": 249892219317, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2517, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x120" + ] + }, + { + "gas": 249892214733, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2518, + "op": "SUB", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x120", + "0x160" + ] + }, + { + "gas": 249892210149, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2519, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x40" + ] + }, + { + "gas": 249892205565, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2521, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x40", + "0x20" + ] + }, + { + "gas": 249892200981, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2522, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x40", + "0x20", + "0x120" + ] + }, + { + "gas": 249892196397, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2523, + "op": "MSTORE", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x40", + "0x140" + ] + }, + { + "gas": 249892191813, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2524, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160" + ] + }, + { + "gas": 249892187229, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2527, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5" + ] + }, + { + "gas": 249892182645, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2528, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160" + ] + }, + { + "gas": 249892178061, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2529, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0" + ] + }, + { + "gas": 249892173477, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2532, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x988" + ] + }, + { + "gas": 249892161253, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2440, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0" + ] + }, + { + "gas": 249892159725, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2441, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0" + ] + }, + { + "gas": 249892156669, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2442, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0" + ] + }, + { + "gas": 249892152085, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2445, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992" + ] + }, + { + "gas": 249892147501, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2446, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0" + ] + }, + { + "gas": 249892142917, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2449, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0", + "0x960" + ] + }, + { + "gas": 249892130693, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2400, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0" + ] + }, + { + "gas": 249892129165, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2401, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0" + ] + }, + { + "gas": 249892126109, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2402, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0", + "0x0" + ] + }, + { + "gas": 249892121525, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2403, + "op": "MLOAD", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0", + "0x0", + "0xe0" + ] + }, + { + "gas": 249892116941, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2404, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0", + "0x0", + "0x20" + ] + }, + { + "gas": 249892112357, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2405, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0", + "0x20", + "0x0" + ] + }, + { + "gas": 249892109301, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2406, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x992", + "0xe0", + "0x20" + ] + }, + { + "gas": 249892104717, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2407, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0xe0", + "0x992" + ] + }, + { + "gas": 249892100133, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2408, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x992", + "0xe0" + ] + }, + { + "gas": 249892097077, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2409, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x992" + ] + }, + { + "gas": 249892084853, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2450, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20" + ] + }, + { + "gas": 249892083325, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2451, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20" + ] + }, + { + "gas": 249892078741, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2454, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c" + ] + }, + { + "gas": 249892074157, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2455, + "op": "DUP6", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20" + ] + }, + { + "gas": 249892069573, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2456, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160" + ] + }, + { + "gas": 249892064989, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2459, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x96a" + ] + }, + { + "gas": 249892052765, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2410, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160" + ] + }, + { + "gas": 249892051237, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2411, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160" + ] + }, + { + "gas": 249892048181, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2412, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0" + ] + }, + { + "gas": 249892043597, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2413, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0", + "0x20" + ] + }, + { + "gas": 249892039013, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2414, + "op": "MSTORE", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0", + "0x20", + "0x160" + ] + }, + { + "gas": 249892034429, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2415, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0" + ] + }, + { + "gas": 249892029845, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2417, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0", + "0x20" + ] + }, + { + "gas": 249892025261, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2418, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0", + "0x20", + "0x160" + ] + }, + { + "gas": 249892020677, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2419, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x0", + "0x180" + ] + }, + { + "gas": 249892016093, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2420, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x180", + "0x0" + ] + }, + { + "gas": 249892013037, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2421, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x99c", + "0x20", + "0x160", + "0x180" + ] + }, + { + "gas": 249892008453, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2422, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x180", + "0x20", + "0x160", + "0x99c" + ] + }, + { + "gas": 249892003869, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2423, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x180", + "0x99c", + "0x160", + "0x20" + ] + }, + { + "gas": 249892000813, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2424, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x180", + "0x99c", + "0x160" + ] + }, + { + "gas": 249891997757, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2425, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x180", + "0x99c" + ] + }, + { + "gas": 249891985533, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2460, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x180" + ] + }, + { + "gas": 249891984005, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2461, + "op": "SWAP4", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x160", + "0xe0", + "0x0", + "0x20", + "0x180" + ] + }, + { + "gas": 249891979421, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2462, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x160" + ] + }, + { + "gas": 249891976365, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2463, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20" + ] + }, + { + "gas": 249891971781, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2466, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac" + ] + }, + { + "gas": 249891967197, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2467, + "op": "DUP6", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20" + ] + }, + { + "gas": 249891962613, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2468, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180" + ] + }, + { + "gas": 249891958029, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2470, + "op": "DUP7", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x20" + ] + }, + { + "gas": 249891953445, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2471, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x20", + "0xe0" + ] + }, + { + "gas": 249891948861, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2472, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100" + ] + }, + { + "gas": 249891944277, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2475, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x97a" + ] + }, + { + "gas": 249891932053, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2426, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100" + ] + }, + { + "gas": 249891930525, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2427, + "op": "DUP3", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100" + ] + }, + { + "gas": 249891925941, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2428, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x20" + ] + }, + { + "gas": 249891921357, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2429, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x20", + "0x100" + ] + }, + { + "gas": 249891916773, + "gasCost": 9168, + "weightCost": { + "ref_time": 91680, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2430, + "op": "MCOPY", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x20", + "0x100", + "0x180" + ] + }, + { + "gas": 249891907605, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2431, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100" + ] + }, + { + "gas": 249891904549, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2432, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x0" + ] + }, + { + "gas": 249891899965, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2433, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x0", + "0x20" + ] + }, + { + "gas": 249891895381, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2434, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x0", + "0x20", + "0x180" + ] + }, + { + "gas": 249891890797, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2435, + "op": "MSTORE", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100", + "0x0", + "0x1a0" + ] + }, + { + "gas": 249891886213, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2436, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180", + "0x100" + ] + }, + { + "gas": 249891883157, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2437, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20", + "0x180" + ] + }, + { + "gas": 249891880101, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2438, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac", + "0x20" + ] + }, + { + "gas": 249891877045, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2439, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9ac" + ] + }, + { + "gas": 249891864821, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2476, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20" + ] + }, + { + "gas": 249891863293, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2477, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20" + ] + }, + { + "gas": 249891858709, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2480, + "op": "DUP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5" + ] + }, + { + "gas": 249891854125, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2481, + "op": "PUSH2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20" + ] + }, + { + "gas": 249891849541, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2484, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x792" + ] + }, + { + "gas": 249891837317, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1938, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20" + ] + }, + { + "gas": 249891835789, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1939, + "op": "PUSH0", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20" + ] + }, + { + "gas": 249891832733, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1940, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0" + ] + }, + { + "gas": 249891828149, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1942, + "op": "NOT", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0", + "0x1f" + ] + }, + { + "gas": 249891823565, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1943, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0" + ] + }, + { + "gas": 249891818981, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1945, + "op": "DUP4", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x1f" + ] + }, + { + "gas": 249891814397, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1946, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x1f", + "0x20" + ] + }, + { + "gas": 249891809813, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1947, + "op": "AND", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0", + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0", + "0x3f" + ] + }, + { + "gas": 249891805229, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1948, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x0", + "0x20" + ] + }, + { + "gas": 249891800645, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1949, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x20", + "0x0" + ] + }, + { + "gas": 249891797589, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1950, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x9b5", + "0x20", + "0x20" + ] + }, + { + "gas": 249891793005, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1951, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x20", + "0x20", + "0x9b5" + ] + }, + { + "gas": 249891788421, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1952, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x20", + "0x9b5", + "0x20" + ] + }, + { + "gas": 249891785365, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 1953, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x20", + "0x9b5" + ] + }, + { + "gas": 249891773141, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2485, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x20" + ] + }, + { + "gas": 249891771613, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2486, + "op": "DUP5", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x20" + ] + }, + { + "gas": 249891767029, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2487, + "op": "ADD", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x20", + "0x180" + ] + }, + { + "gas": 249891762445, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2488, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x0", + "0x20", + "0x1a0" + ] + }, + { + "gas": 249891757861, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2489, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x1a0", + "0x20", + "0x0" + ] + }, + { + "gas": 249891754805, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2490, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x1a0", + "0x20" + ] + }, + { + "gas": 249891751749, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2491, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x9e5", + "0x180", + "0xe0", + "0x1a0" + ] + }, + { + "gas": 249891747165, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2492, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x1a0", + "0x180", + "0xe0", + "0x9e5" + ] + }, + { + "gas": 249891742581, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2493, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x1a0", + "0x9e5", + "0xe0", + "0x180" + ] + }, + { + "gas": 249891739525, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2494, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x1a0", + "0x9e5", + "0xe0" + ] + }, + { + "gas": 249891736469, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2495, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x1a0", + "0x9e5" + ] + }, + { + "gas": 249891724245, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2533, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x1a0" + ] + }, + { + "gas": 249891722717, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2534, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x160", + "0x1a0" + ] + }, + { + "gas": 249891718133, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2535, + "op": "POP", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x1a0", + "0x160" + ] + }, + { + "gas": 249891715077, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2536, + "op": "SWAP4", + "stack": [ + "0x66b54f3", + "0xee", + "0x1", + "0xe0", + "0x120", + "0x1a0" + ] + }, + { + "gas": 249891710493, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2537, + "op": "SWAP3", + "stack": [ + "0x66b54f3", + "0x1a0", + "0x1", + "0xe0", + "0x120", + "0xee" + ] + }, + { + "gas": 249891705909, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2538, + "op": "POP", + "stack": [ + "0x66b54f3", + "0x1a0", + "0xee", + "0xe0", + "0x120", + "0x1" + ] + }, + { + "gas": 249891702853, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2539, + "op": "POP", + "stack": [ + "0x66b54f3", + "0x1a0", + "0xee", + "0xe0", + "0x120" + ] + }, + { + "gas": 249891699797, + "gasCost": 3056, + "weightCost": { + "ref_time": 30560, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2540, + "op": "POP", + "stack": [ + "0x66b54f3", + "0x1a0", + "0xee", + "0xe0" + ] + }, + { + "gas": 249891696741, + "gasCost": 12224, + "weightCost": { + "ref_time": 122240, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 2541, + "op": "JUMP", + "stack": [ + "0x66b54f3", + "0x1a0", + "0xee" + ] + }, + { + "gas": 249891684517, + "gasCost": 1528, + "weightCost": { + "ref_time": 15280, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 238, + "op": "JUMPDEST", + "stack": [ + "0x66b54f3", + "0x1a0" + ] + }, + { + "gas": 249891682989, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 239, + "op": "PUSH1", + "stack": [ + "0x66b54f3", + "0x1a0" + ] + }, + { + "gas": 249891678405, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 241, + "op": "MLOAD", + "stack": [ + "0x66b54f3", + "0x1a0", + "0x40" + ] + }, + { + "gas": 249891673821, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 242, + "op": "DUP1", + "stack": [ + "0x66b54f3", + "0x1a0", + "0x120" + ] + }, + { + "gas": 249891669237, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 243, + "op": "SWAP2", + "stack": [ + "0x66b54f3", + "0x1a0", + "0x120", + "0x120" + ] + }, + { + "gas": 249891664653, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 244, + "op": "SUB", + "stack": [ + "0x66b54f3", + "0x120", + "0x120", + "0x1a0" + ] + }, + { + "gas": 249891660069, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 245, + "op": "SWAP1", + "stack": [ + "0x66b54f3", + "0x120", + "0x80" + ] + }, + { + "gas": 249891655485, + "gasCost": 0, + "weightCost": { + "ref_time": 0, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "pc": 246, + "op": "RETURN", + "stack": [ + "0x66b54f3", + "0x80", + "0x120" + ] + } + ] +} diff --git a/substrate/frame/revive/src/tests/json_trace/delegatecall_pvm.json b/substrate/frame/revive/src/tests/json_trace/delegatecall_pvm.json new file mode 100644 index 0000000000000..9f6d0f13ae6f5 --- /dev/null +++ b/substrate/frame/revive/src/tests/json_trace/delegatecall_pvm.json @@ -0,0 +1,277 @@ +{ + "gas": 516522933, + "weightConsumed": { + "ref_time": 0, + "proof_size": 0 + }, + "baseCallWeight": { + "ref_time": 0, + "proof_size": 0 + }, + "failed": false, + "returnValue": "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a", + "structLogs": [ + { + "gas": 249686684201, + "gasCost": 33000, + "weightCost": { + "ref_time": 330000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_size", + "returned": "0xc4" + }, + { + "gas": 249685987644, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdf960", + "0x0" + ] + }, + { + "gas": 249685841162, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 1, + "op": "value_transferred", + "args": [ + "0xfffdffa0" + ] + }, + { + "gas": 249685539545, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdf840", + "0x4" + ] + }, + { + "gas": 249685284757, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdf860", + "0x24" + ] + }, + { + "gas": 249684769051, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdf6c0", + "0x64" + ] + }, + { + "gas": 249681732769, + "gasCost": 50065, + "weightCost": { + "ref_time": 500644, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_copy", + "args": [ + "0x200e0", + "0x24", + "0x84" + ] + }, + { + "gas": 249680738536, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdf820", + "0x44" + ] + }, + { + "gas": 249679105308, + "gasCost": 181382151, + "weightCost": { + "ref_time": 119523725, + "proof_size": 8883 + }, + "depth": 1, + "op": "delegate_call_evm", + "args": [ + "0x0", + "0x40040", + "0xffffffffffffffff", + "0x24000200e0", + "0xfffdf86000020040" + ], + "returned": "0x0" + }, + { + "gas": 249497704182, + "gasCost": 33000, + "weightCost": { + "ref_time": 330000, + "proof_size": 0 + }, + "depth": 2, + "op": "call_data_size", + "returned": "0x24" + }, + { + "gas": 249497007625, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 2, + "op": "call_data_load", + "args": [ + "0xfffdfce0", + "0x0" + ] + }, + { + "gas": 249496831606, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 2, + "op": "value_transferred", + "args": [ + "0xfffdffa0" + ] + }, + { + "gas": 249496613679, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 2, + "op": "call_data_load", + "args": [ + "0xfffdfca0", + "0x4" + ] + }, + { + "gas": 249494497998, + "gasCost": 53587, + "weightCost": { + "ref_time": 535865, + "proof_size": 0 + }, + "depth": 2, + "op": "seal_return", + "args": [ + "0x0", + "0x200a0", + "0x20" + ] + }, + { + "gas": 249494327637, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "op": "return_data_size", + "returned": "0x20" + }, + { + "gas": 249494232786, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "op": "return_data_size", + "returned": "0x20" + }, + { + "gas": 249491819201, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "op": "return_data_size", + "returned": "0x20" + }, + { + "gas": 249491527430, + "gasCost": 49550, + "weightCost": { + "ref_time": 495496, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "op": "return_data_copy", + "args": [ + "0x20140", + "0xfffdf780", + "0x0" + ] + }, + { + "gas": 249484532575, + "gasCost": 55507, + "weightCost": { + "ref_time": 555065, + "proof_size": 0 + }, + "depth": 1, + "returnData": "0x000000000000000000000000000000000000000000000000000000000000002a", + "op": "seal_return", + "args": [ + "0x0", + "0x20160", + "0x80" + ] + } + ] +} diff --git a/substrate/frame/revive/src/tests/json_trace/fibonacci_evm.json b/substrate/frame/revive/src/tests/json_trace/fibonacci_evm.json new file mode 100644 index 0000000000000..6287cd487bcd6 --- /dev/null +++ b/substrate/frame/revive/src/tests/json_trace/fibonacci_evm.json @@ -0,0 +1,82 @@ +{ + "gas": 3237095, + "weightConsumed": { + "ref_time": 0, + "proof_size": 0 + }, + "baseCallWeight": { + "ref_time": 0, + "proof_size": 0 + }, + "failed": false, + "returnValue": "0x0000000000000000000000000000000000000000000000000000000000000002", + "structLogs": [ + { + "gas": 250000997493, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 0, + "op": "PUSH1", + "stack": [] + }, + { + "gas": 250000992909, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 2, + "op": "PUSH1", + "stack": [ + "0x80" + ] + }, + { + "gas": 250000988325, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 4, + "op": "MSTORE", + "stack": [ + "0x80", + "0x40" + ] + }, + { + "gas": 250000983741, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 1, + "pc": 5, + "op": "CALLVALUE", + "stack": [] + }, + { + "gas": 250000951841, + "gasCost": 4584, + "weightCost": { + "ref_time": 45840, + "proof_size": 0 + }, + "depth": 1, + "pc": 6, + "op": "DUP1", + "stack": [ + "0x0" + ] + } + ] +} diff --git a/substrate/frame/revive/src/tests/json_trace/fibonacci_pvm.json b/substrate/frame/revive/src/tests/json_trace/fibonacci_pvm.json new file mode 100644 index 0000000000000..5ebb8dbccce67 --- /dev/null +++ b/substrate/frame/revive/src/tests/json_trace/fibonacci_pvm.json @@ -0,0 +1,82 @@ +{ + "gas": 43429049, + "weightConsumed": { + "ref_time": 0, + "proof_size": 0 + }, + "baseCallWeight": { + "ref_time": 0, + "proof_size": 0 + }, + "failed": false, + "returnValue": "0x0000000000000000000000000000000000000000000000000000000000000002", + "structLogs": [ + { + "gas": 249961111334, + "gasCost": 33000, + "weightCost": { + "ref_time": 330000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_size", + "returned": "0x24" + }, + { + "gas": 249960429545, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdfec0", + "0x0" + ] + }, + { + "gas": 249960317525, + "gasCost": 31900, + "weightCost": { + "ref_time": 319000, + "proof_size": 0 + }, + "depth": 1, + "op": "value_transferred", + "args": [ + "0xfffdff80" + ] + }, + { + "gas": 249960198059, + "gasCost": 34300, + "weightCost": { + "ref_time": 343000, + "proof_size": 0 + }, + "depth": 1, + "op": "call_data_load", + "args": [ + "0xfffdffa0", + "0x4" + ] + }, + { + "gas": 249957624538, + "gasCost": 53586, + "weightCost": { + "ref_time": 535865, + "proof_size": 0 + }, + "depth": 1, + "op": "seal_return", + "args": [ + "0x0", + "0x20090", + "0x20" + ] + } + ] +} diff --git a/substrate/frame/revive/src/tests/precompiles.rs b/substrate/frame/revive/src/tests/precompiles.rs index 06e15d406780d..37a76a156ec8e 100644 --- a/substrate/frame/revive/src/tests/precompiles.rs +++ b/substrate/frame/revive/src/tests/precompiles.rs @@ -18,9 +18,9 @@ //! Precompiles added to the test runtime. use crate::{ + Config, DispatchError, ExecOrigin as Origin, ReentrancyProtection, U256, Weight, exec::{CallResources, ErrorOrigin, ExecError}, precompiles::{AddressMatcher, Error, Ext, ExtWithInfo, Precompile, Token}, - Config, DispatchError, ExecOrigin as Origin, ReentrancyProtection, Weight, U256, }; use alloc::vec::Vec; use alloy_core::{ @@ -83,12 +83,15 @@ impl Precompile for NoInfo { match input { INoInfoCalls::identity(INoInfo::identityCall { number }) => Ok(number.abi_encode()), - INoInfoCalls::reverts(INoInfo::revertsCall { error }) => - Err(Error::Revert(error.as_str().into())), - INoInfoCalls::panics(INoInfo::panicsCall {}) => - Err(Error::Panic(PanicKind::Assert.into())), - INoInfoCalls::errors(INoInfo::errorsCall {}) => - Err(Error::Error(DispatchError::Other("precompile failed").into())), + INoInfoCalls::reverts(INoInfo::revertsCall { error }) => { + Err(Error::Revert(error.as_str().into())) + }, + INoInfoCalls::panics(INoInfo::panicsCall {}) => { + Err(Error::Panic(PanicKind::Assert.into())) + }, + INoInfoCalls::errors(INoInfo::errorsCall {}) => { + Err(Error::Error(DispatchError::Other("precompile failed").into())) + }, INoInfoCalls::consumeMaxGas(INoInfo::consumeMaxGasCall {}) => { env.frame_meter_mut().charge_weight_token(MaxGasToken)?; Ok(Vec::new()) @@ -103,8 +106,9 @@ impl Precompile for NoInfo { let call = ::RuntimeCall::decode(&mut &call[..]).unwrap(); match call.dispatch(frame_origin) { Ok(_) => Ok(Vec::new()), - Err(e) => - Err(Error::Error(ExecError { error: e.error, origin: ErrorOrigin::Caller })), + Err(e) => { + Err(Error::Error(ExecError { error: e.error, origin: ErrorOrigin::Caller })) + }, } }, INoInfoCalls::passData(INoInfo::passDataCall { inputLen }) => { @@ -118,8 +122,9 @@ impl Precompile for NoInfo { )?; Ok(Vec::new()) }, - INoInfoCalls::returnData(INoInfo::returnDataCall { returnLen }) => - Ok(vec![42; *returnLen as usize]), + INoInfoCalls::returnData(INoInfo::returnDataCall { returnLen }) => { + Ok(vec![42; *returnLen as usize]) + }, } } } diff --git a/substrate/frame/revive/src/tests/pvm.rs b/substrate/frame/revive/src/tests/pvm.rs index 787a0824e0a81..287729880c601 100644 --- a/substrate/frame/revive/src/tests/pvm.rs +++ b/substrate/frame/revive/src/tests/pvm.rs @@ -22,27 +22,27 @@ use super::{ precompiles::{INoInfo, NoInfo}, }; use crate::{ - address::{create1, create2, AddressMapper}, + AccountInfo, AccountInfoOf, BalanceWithDust, Code, Config, ContractInfo, DebugSettings, + DeletionQueueCounter, Error, ExecConfig, HoldReason, Origin, Pallet, StorageDeposit, + address::{AddressMapper, create1, create2}, assert_refcount, assert_return_code, - evm::{fees::InfoT, CallTrace, CallTracer, CallType}, + evm::{CallTrace, CallTracer, CallType, fees::InfoT}, exec::Key, limits, metering::TransactionLimits, precompiles::alloy::sol_types::{ - sol_data::{Bool, FixedBytes}, SolType, + sol_data::{Bool, FixedBytes}, }, storage::{DeletionQueueManager, WriteOutcome}, - test_utils::{builder::Contract, WEIGHT_LIMIT}, + test_utils::{WEIGHT_LIMIT, builder::Contract}, tests::{ - builder, initialize_block, test_utils::*, Balances, CodeHashLockupDepositPercent, - Contracts, DepositPerByte, DepositPerItem, ExtBuilder, InstantiateAccount, RuntimeCall, - RuntimeEvent, RuntimeOrigin, System, Test, UploadAccount, DEPOSIT_PER_BYTE, *, + Balances, Contracts, DEPOSIT_PER_BYTE, DepositPerByte, DepositPerItem, ExtBuilder, + InstantiateAccount, RuntimeCall, RuntimeEvent, RuntimeOrigin, System, Test, UploadAccount, + builder, initialize_block, test_utils::*, *, }, tracing::trace, weights::WeightInfo, - AccountInfo, AccountInfoOf, BalanceWithDust, Code, Config, ContractInfo, DebugSettings, - DeletionQueueCounter, Error, ExecConfig, HoldReason, Origin, Pallet, StorageDeposit, }; use assert_matches::assert_matches; use codec::Encode; @@ -50,9 +50,9 @@ use frame_support::{ assert_err, assert_err_ignore_postinfo, assert_noop, assert_ok, storage::child, traits::{ + OnIdle, OnInitialize, fungible::{Balanced, BalancedHold, Inspect, Mutate}, tokens::Preservation, - OnIdle, OnInitialize, }, weights::{Weight, WeightMeter}, }; @@ -63,7 +63,7 @@ use pretty_assertions::{assert_eq, assert_ne}; use sp_core::U256; use sp_io::hashing::blake2_256; use sp_runtime::{ - testing::H256, AccountId32, BoundedVec, DispatchError, SaturatedConversion, TokenError, + AccountId32, BoundedVec, DispatchError, SaturatedConversion, TokenError, testing::H256, }; #[test] @@ -78,10 +78,12 @@ fn eth_call_transfer_with_dust_works() { let balance = Pallet::::convert_native_to_evm(BalanceWithDust::new_unchecked::(100, 10)); - assert_ok!(builder::eth_call(addr) - .origin(Origin::EthTransaction(ALICE).into()) - .value(balance) - .build()); + assert_ok!( + builder::eth_call(addr) + .origin(Origin::EthTransaction(ALICE).into()) + .value(balance) + .build() + ); assert_eq!(Pallet::::evm_balance(&addr), balance); }); @@ -331,10 +333,12 @@ fn deposit_event_max_value_limit() { .build_and_unwrap_contract(); // Call contract with allowed event size. - assert_ok!(builder::call(addr) - .weight_limit(WEIGHT_LIMIT.set_ref_time(WEIGHT_LIMIT.ref_time() * 2)) // we are copying a huge buffer, - .data(limits::EVENT_BYTES.encode()) - .build()); + assert_ok!( + builder::call(addr) + .weight_limit(WEIGHT_LIMIT.set_ref_time(WEIGHT_LIMIT.ref_time() * 2)) // we are copying a huge buffer, + .data(limits::EVENT_BYTES.encode()) + .build() + ); // Call contract with too large a evene size assert_err_ignore_postinfo!( @@ -500,10 +504,12 @@ fn storage_max_value_limit() { get_contract(&addr); // Call contract with allowed storage value. - assert_ok!(builder::call(addr) - .weight_limit(WEIGHT_LIMIT.set_ref_time(WEIGHT_LIMIT.ref_time() * 2)) // we are copying a huge buffer - .data(limits::STORAGE_BYTES.encode()) - .build()); + assert_ok!( + builder::call(addr) + .weight_limit(WEIGHT_LIMIT.set_ref_time(WEIGHT_LIMIT.ref_time() * 2)) // we are copying a huge buffer + .data(limits::STORAGE_BYTES.encode()) + .build() + ); // Call contract with too large a storage value. assert_err_ignore_postinfo!( @@ -559,9 +565,9 @@ fn transient_storage_limit_in_call() { // Call contracts with storage values within the limit. // Caller and Callee contracts each set a transient storage value of size 100. - assert_ok!(builder::call(addr_caller) - .data((100u32, 100u32, &addr_callee).encode()) - .build(),); + assert_ok!( + builder::call(addr_caller).data((100u32, 100u32, &addr_callee).encode()).build(), + ); // Call a contract with a storage value that is too large. // Limit exceeded in the caller contract. @@ -619,12 +625,14 @@ fn deploy_and_call_other_contract() { // Call BOB contract, which attempts to instantiate and call the callee contract and // makes various assertions on the results from those calls. - assert_ok!(builder::call(caller_addr) - .data( - (callee_code_hash, code_load_weight.ref_time(), code_load_weight.proof_size()) - .encode() - ) - .build()); + assert_ok!( + builder::call(caller_addr) + .data( + (callee_code_hash, code_load_weight.ref_time(), code_load_weight.proof_size()) + .encode() + ) + .build() + ); assert_eq!( System::events(), @@ -679,7 +687,7 @@ fn deploy_and_call_other_contract() { ), source: ALICE, dest: callee_account.clone(), - transferred: 2156, + transferred: contract_base_deposit(&callee_addr), }), topics: vec![], }, @@ -708,10 +716,12 @@ fn delegate_call() { .native_value(100_000) .build_and_unwrap_contract(); - assert_ok!(builder::call(caller_addr) - .value(1337) - .data((callee_addr, u64::MAX, u64::MAX).encode()) - .build()); + assert_ok!( + builder::call(caller_addr) + .value(1337) + .data((callee_addr, u64::MAX, u64::MAX).encode()) + .build() + ); }); } @@ -728,10 +738,12 @@ fn delegate_call_non_existant_is_noop() { .native_value(300_000) .build_and_unwrap_contract(); - assert_ok!(builder::call(caller_addr) - .value(1337) - .data((BOB_ADDR, u64::MAX, u64::MAX).encode()) - .build()); + assert_ok!( + builder::call(caller_addr) + .value(1337) + .data((BOB_ADDR, u64::MAX, u64::MAX).encode()) + .build() + ); assert_eq!(get_balance(&BOB_FALLBACK), 0); }); @@ -767,10 +779,12 @@ fn delegate_call_with_weight_limit() { Error::::ContractTrapped, ); - assert_ok!(builder::call(caller_addr) - .value(1337) - .data((callee_addr, 500_000_000u64, 100_000u64).encode()) - .build()); + assert_ok!( + builder::call(caller_addr) + .value(1337) + .data((callee_addr, 500_000_000u64, 100_000u64).encode()) + .build() + ); }); } @@ -803,10 +817,12 @@ fn delegate_call_with_deposit_limit() { .build_and_unwrap_result(); assert_return_code!(ret, RuntimeReturnCode::OutOfResources); - assert_ok!(builder::call(caller_addr) - .value(1337) - .data((callee_addr, 82u64).encode()) - .build()); + assert_ok!( + builder::call(caller_addr) + .value(1337) + .data((callee_addr, 82u64).encode()) + .build() + ); }); } @@ -1081,7 +1097,6 @@ fn self_destruct_by_syscall_does_not_delete_code() { ::Currency::total_balance(&contract.account_id), min_balance + hold_balance ); - // Check that the beneficiary (django) got remaining balance. assert_eq!( ::Currency::free_balance(DJANGO_FALLBACK), @@ -1146,7 +1161,6 @@ fn self_destruct_by_syscall_works() { // Call factory let result = builder::bare_call(factory.addr).data(input_data.clone()).build(); assert!(result.result.is_ok()); - let returned_data = result.result.unwrap().data; assert!(returned_data.len() >= 20, "Returned data too short to contain address"); let mut contract_addr_bytes = [0u8; 20]; @@ -1918,51 +1932,6 @@ fn call_runtime_reentrancy_guarded() { }); } -#[test] -fn sr25519_verify() { - let (binary, _code_hash) = compile_module("sr25519_verify").unwrap(); - - ExtBuilder::default().existential_deposit(50).build().execute_with(|| { - let _ = ::Currency::set_balance(&ALICE, 1_000_000); - - // Instantiate the sr25519_verify contract. - let Contract { addr, .. } = builder::bare_instantiate(Code::Upload(binary)) - .native_value(100_000) - .build_and_unwrap_contract(); - - let call_with = |message: &[u8; 11]| { - // Alice's signature for "hello world" - #[rustfmt::skip] - let signature: [u8; 64] = [ - 184, 49, 74, 238, 78, 165, 102, 252, 22, 92, 156, 176, 124, 118, 168, 116, 247, - 99, 0, 94, 2, 45, 9, 170, 73, 222, 182, 74, 60, 32, 75, 64, 98, 174, 69, 55, 83, - 85, 180, 98, 208, 75, 231, 57, 205, 62, 4, 105, 26, 136, 172, 17, 123, 99, 90, 255, - 228, 54, 115, 63, 30, 207, 205, 131, - ]; - - // Alice's public key - #[rustfmt::skip] - let public_key: [u8; 32] = [ - 212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, - 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125, - ]; - - let mut params = vec![]; - params.extend_from_slice(&signature); - params.extend_from_slice(&public_key); - params.extend_from_slice(message); - - builder::bare_call(addr).data(params).build_and_unwrap_result() - }; - - // verification should succeed for "hello world" - assert_return_code!(call_with(&b"hello world"), RuntimeReturnCode::Success); - - // verification should fail for other messages - assert_return_code!(call_with(&b"hello worlD"), RuntimeReturnCode::Sr25519VerifyFailed); - }); -} - #[test] fn upload_code_works() { let (binary, code_hash) = compile_module("dummy").unwrap(); @@ -2131,7 +2100,7 @@ fn instantiate_with_zero_balance_works() { event: RuntimeEvent::Balances(pallet_balances::Event::TransferAndHold { source: ALICE, dest: Pallet::::account_id(), - transferred: 777, + transferred: get_code_deposit(&code_hash), reason: ::RuntimeHoldReason::Contracts( HoldReason::CodeUploadDepositReserve, ), @@ -2178,7 +2147,7 @@ fn instantiate_with_zero_balance_works() { ), source: ALICE, dest: account_id, - transferred: 337, + transferred: contract_base_deposit(&addr), }), topics: vec![], }, @@ -2220,7 +2189,7 @@ fn instantiate_with_below_existential_deposit_works() { event: RuntimeEvent::Balances(pallet_balances::Event::TransferAndHold { source: ALICE, dest: Pallet::::account_id(), - transferred: 777, + transferred: get_code_deposit(&code_hash), reason: ::RuntimeHoldReason::Contracts( HoldReason::CodeUploadDepositReserve, ), @@ -2276,7 +2245,7 @@ fn instantiate_with_below_existential_deposit_works() { ), source: ALICE, dest: account_id.clone(), - transferred: 337, + transferred: contract_base_deposit(&addr), }), topics: vec![], }, @@ -2560,39 +2529,6 @@ fn contract_reverted() { }); } -#[test] -fn set_code_hash() { - let (binary, _) = compile_module("set_code_hash").unwrap(); - let (new_binary, new_code_hash) = compile_module("new_set_code_hash_contract").unwrap(); - - ExtBuilder::default().existential_deposit(100).build().execute_with(|| { - let _ = ::Currency::set_balance(&ALICE, 1_000_000); - - // Instantiate the 'caller' - let Contract { addr: contract_addr, .. } = builder::bare_instantiate(Code::Upload(binary)) - .native_value(300_000) - .build_and_unwrap_contract(); - // upload new code - assert_ok!(Contracts::upload_code( - RuntimeOrigin::signed(ALICE), - new_binary.clone(), - deposit_limit::(), - )); - - System::reset_events(); - - // First call sets new code_hash and returns 1 - let result = builder::bare_call(contract_addr) - .data(new_code_hash.as_ref().to_vec()) - .build_and_unwrap_result(); - assert_return_code!(result, 1); - - // Second calls new contract code that returns 2 - let result = builder::bare_call(contract_addr).build_and_unwrap_result(); - assert_return_code!(result, 2); - }); -} - #[test] fn storage_deposit_limit_is_enforced() { let (binary, _code_hash) = compile_module("store_call").unwrap(); @@ -2637,10 +2573,12 @@ fn storage_deposit_limit_is_enforced() { ); // now with enough limit - assert_ok!(builder::call(addr) - .storage_deposit_limit(51) - .data(1u32.to_le_bytes().to_vec()) - .build()); + assert_ok!( + builder::call(addr) + .storage_deposit_limit(51) + .data(1u32.to_le_bytes().to_vec()) + .build() + ); // Use 4 more bytes of the storage for the same item, which requires 4 Balance. // Should fail as DefaultDepositLimit is 3 and hence isn't enough. @@ -2670,10 +2608,12 @@ fn deposit_limit_in_nested_calls() { // Create 100 bytes of storage with a price of per byte // This is 100 Balance + 2 Balance for the item // 48 for the key - assert_ok!(builder::call(addr_callee) - .storage_deposit_limit(102 + 48) - .data(100u32.to_le_bytes().to_vec()) - .build()); + assert_ok!( + builder::call(addr_callee) + .storage_deposit_limit(102 + 48) + .data(100u32.to_le_bytes().to_vec()) + .build() + ); // We do not remove any storage but add a storage item of 12 bytes in the caller // contract. This would cost 12 + 2 + 72 = 86 Balance. @@ -2748,10 +2688,12 @@ fn deposit_limit_in_nested_calls() { // Free up enough storage in the callee so that the caller can create a new item // We set the special deposit limit of 1 Balance for the nested call, which isn't // enforced as callee frees up storage. This should pass. - assert_ok!(builder::call(addr_caller) - .storage_deposit_limit(78) - .data((0u32, &addr_callee, U256::from(1u64)).encode()) - .build()); + assert_ok!( + builder::call(addr_caller) + .storage_deposit_limit(78) + .data((0u32, &addr_callee, U256::from(1u64)).encode()) + .build() + ); }); } @@ -2935,73 +2877,6 @@ fn deposit_limit_honors_existential_deposit() { }); } -#[test] -fn native_dependency_deposit_works() { - let (binary, code_hash) = compile_module("set_code_hash").unwrap(); - let (dummy_binary, dummy_code_hash) = compile_module("dummy").unwrap(); - - // Test with both existing and uploaded code - for code in [Code::Upload(binary.clone()), Code::Existing(code_hash)] { - ExtBuilder::default().build().execute_with(|| { - let _ = Balances::set_balance(&ALICE, 1_000_000); - let lockup_deposit_percent = CodeHashLockupDepositPercent::get(); - - // Upload the dummy contract, - Contracts::upload_code( - RuntimeOrigin::signed(ALICE), - dummy_binary.clone(), - deposit_limit::(), - ) - .unwrap(); - - // Upload `set_code_hash` contracts if using Code::Existing. - let add_upload_deposit = match code { - Code::Existing(_) => { - Contracts::upload_code( - RuntimeOrigin::signed(ALICE), - binary.clone(), - deposit_limit::(), - ) - .unwrap(); - false - }, - Code::Upload(_) => true, - }; - - // Instantiate the set_code_hash contract. - let res = builder::bare_instantiate(code).build(); - - let addr = res.result.unwrap().addr; - let account_id = ::AddressMapper::to_account_id(&addr); - let base_deposit = contract_base_deposit(&addr); - let upload_deposit = get_code_deposit(&code_hash); - let extra_deposit = add_upload_deposit.then(|| upload_deposit).unwrap_or_default(); - - assert_eq!( - res.storage_deposit.charge_or_zero(), - extra_deposit + base_deposit + Contracts::min_balance() - ); - - // call set_code_hash - builder::bare_call(addr) - .data(dummy_code_hash.encode()) - .build_and_unwrap_result(); - - // Check updated storage_deposit due to code size changes - let deposit_diff = lockup_deposit_percent.mul_ceil(upload_deposit) - - lockup_deposit_percent.mul_ceil(get_code_deposit(&dummy_code_hash)); - let new_base_deposit = contract_base_deposit(&addr); - assert_ne!(deposit_diff, 0); - assert_eq!(base_deposit - new_base_deposit, deposit_diff); - - assert_eq!( - get_balance_on_hold(&HoldReason::StorageDepositReserve.into(), &account_id), - new_base_deposit - ); - }); - } -} - #[test] fn block_hash_works() { let (code, _) = compile_module("block_hash").unwrap(); @@ -3021,9 +2896,11 @@ fn block_hash_works() { H256::from(block_hash), ); - assert_ok!(builder::call(addr) - .data((U256::zero(), H256::from(block_hash)).encode()) - .build()); + assert_ok!( + builder::call(addr) + .data((U256::zero(), H256::from(block_hash)).encode()) + .build() + ); // A block number out of range returns the zero value assert_ok!(builder::call(addr).data((U256::from(1), H256::zero()).encode()).build()); @@ -3693,10 +3570,12 @@ fn return_data_api_works() { .build_and_unwrap_contract(); // Call the contract: It will issue calls and deploys, asserting on - assert_ok!(builder::call(addr) - .value(10 * 1024) - .data(hash_return_with_data.encode()) - .build()); + assert_ok!( + builder::call(addr) + .value(10 * 1024) + .data(hash_return_with_data.encode()) + .build() + ); }); } @@ -3791,7 +3670,7 @@ fn origin_api_works() { #[test] fn code_hash_works() { - use crate::precompiles::{Precompile, EVM_REVERT}; + use crate::precompiles::{EVM_REVERT, Precompile}; use precompiles::NoInfo; let builtin_precompile = H160(NoInfo::::MATCHER.base_address()); @@ -3813,13 +3692,17 @@ fn code_hash_works() { // code hash of itself assert_ok!(builder::call(addr).data((addr, self_code_hash).encode()).build()); // code hash of primitive pre-compile (exist but have no bytecode) - assert_ok!(builder::call(addr) - .data((primitive_precompile, crate::exec::EMPTY_CODE_HASH).encode()) - .build()); + assert_ok!( + builder::call(addr) + .data((primitive_precompile, crate::exec::EMPTY_CODE_HASH).encode()) + .build() + ); // code hash of normal pre-compile (do have a bytecode) - assert_ok!(builder::call(addr) - .data((builtin_precompile, sp_io::hashing::keccak_256(&EVM_REVERT)).encode()) - .build()); + assert_ok!( + builder::call(addr) + .data((builtin_precompile, sp_io::hashing::keccak_256(&EVM_REVERT)).encode()) + .build() + ); // EOA doesn't exists assert_err!( @@ -3839,9 +3722,11 @@ fn code_hash_works() { ); // EOA returns empty code hash - assert_ok!(builder::call(addr) - .data((BOB_ADDR, crate::exec::EMPTY_CODE_HASH).encode()) - .build()); + assert_ok!( + builder::call(addr) + .data((BOB_ADDR, crate::exec::EMPTY_CODE_HASH).encode()) + .build() + ); }); } @@ -3865,9 +3750,9 @@ fn code_size_works() { assert_ok!(builder::call(tester_addr).data((dummy_addr, dummy_code_len).encode()).build()); // code size of own contract address - assert_ok!(builder::call(tester_addr) - .data((tester_addr, tester_code_len).encode()) - .build()); + assert_ok!( + builder::call(tester_addr).data((tester_addr, tester_code_len).encode()).build() + ); // code size of non contract accounts assert_ok!(builder::call(tester_addr).data(([8u8; 20], 0u64).encode()).build()); @@ -4011,24 +3896,6 @@ fn unknown_syscall_rejected() { }); } -#[test] -fn unstable_interface_rejected() { - let (code, _) = compile_module("unstable_interface").unwrap(); - - ExtBuilder::default().existential_deposit(100).build().execute_with(|| { - ::Currency::set_balance(&ALICE, 1_000_000); - - Test::set_unstable_interface(false); - assert_err!( - builder::bare_instantiate(Code::Upload(code.clone())).build().result, - >::CodeRejected, - ); - - Test::set_unstable_interface(true); - assert_ok!(builder::bare_instantiate(Code::Upload(code)).build().result); - }); -} - #[test] fn tracing_works_for_transfers() { ExtBuilder::default().build().execute_with(|| { @@ -4092,7 +3959,7 @@ fn call_tracing_works() { a.gas_consumed }); let gas_trace = tracer.collect_trace().unwrap(); - assert_eq!(&gas_trace.gas_used, &gas_used.into()); + assert_eq!(&gas_trace.gas_used, &gas_used); for config in tracer_configs { let logs = if config.with_logs { @@ -4129,8 +3996,8 @@ fn call_tracing_works() { error: Some("execution reverted".to_string()), call_type: Call, value: Some(U256::from(0)), - gas: 0.into(), - gas_used: 0.into(), + gas: 0, + gas_used: 0, ..Default::default() }, CallTrace { @@ -4140,8 +4007,8 @@ fn call_tracing_works() { call_type: Call, logs: logs.clone(), value: Some(U256::from(0)), - gas: 0.into(), - gas_used: 0.into(), + gas: 0, + gas_used: 0, calls: vec![ CallTrace { from: addr, @@ -4151,8 +4018,8 @@ fn call_tracing_works() { error: Some("ContractTrapped".to_string()), call_type: Call, value: Some(U256::from(0)), - gas: 0.into(), - gas_used: 0.into(), + gas: 0, + gas_used: 0, ..Default::default() }, CallTrace { @@ -4162,8 +4029,8 @@ fn call_tracing_works() { call_type: Call, logs: logs.clone(), value: Some(U256::from(0)), - gas: 0.into(), - gas_used: 0.into(), + gas: 0, + gas_used: 0, calls: vec![ CallTrace { from: addr, @@ -4172,8 +4039,8 @@ fn call_tracing_works() { output: 0u32.to_le_bytes().to_vec().into(), call_type: Call, value: Some(U256::from(0)), - gas: 0.into(), - gas_used: 0.into(), + gas: 0, + gas_used: 0, ..Default::default() }, CallTrace { @@ -4182,8 +4049,8 @@ fn call_tracing_works() { input: (0u32, addr_callee).encode().into(), call_type: Call, value: Some(U256::from(0)), - gas: 0.into(), - gas_used: 0.into(), + gas: 0, + gas_used: 0, calls: vec![ CallTrace { from: addr, @@ -4222,8 +4089,8 @@ fn call_tracing_works() { value: Some(U256::from(0)), calls: calls, child_call_count: 2, - gas: 0.into(), - gas_used: 0.into(), + gas: 0, + gas_used: 0, ..Default::default() }; @@ -5102,7 +4969,7 @@ fn eip3607_allow_tx_from_contract_or_precompile_if_debug_setting_configured() { let (binary, code_hash) = compile_module("dummy").unwrap(); let genesis_config = GenesisConfig:: { - debug_settings: Some(DebugSettings::new(false, true, false)), + debug_settings: Some(DebugSettings::default().set_bypass_eip_3607(true)), ..Default::default() }; @@ -5350,8 +5217,8 @@ fn existential_deposit_shall_not_be_charged_twice() { #[test] fn self_destruct_by_syscall_tracing_works() { use crate::{ - evm::{PrestateTrace, PrestateTracer, PrestateTracerConfig, Tracer}, Trace, + evm::{PrestateTrace, PrestateTracer, PrestateTracerConfig, Tracer}, }; let (binary, _code_hash) = compile_module("self_destruct_by_syscall").unwrap(); @@ -5373,12 +5240,12 @@ fn self_destruct_by_syscall_tracing_works() { to: addr, call_type: CallType::Call, value: Some(U256::zero()), - gas: 0.into(), - gas_used: 0.into(), + gas: 0, + gas_used: 0, calls: vec![CallTrace { from: addr, to: DJANGO_ADDR, - gas: 0.into(), + gas: 0, call_type: CallType::Selfdestruct, value: Some(Pallet::::convert_native_to_evm(100_000u64)), @@ -5389,9 +5256,9 @@ fn self_destruct_by_syscall_tracing_works() { }), modify_trace_fn: Some(Box::new(|mut actual_trace| { if let Trace::Call(trace) = &mut actual_trace { - trace.gas = 0.into(); - trace.gas_used = 0.into(); - trace.calls[0].gas = 0.into(); + trace.gas = 0; + trace.gas_used = 0; + trace.calls[0].gas = 0; } actual_trace })), @@ -5530,6 +5397,7 @@ fn self_destruct_by_syscall_tracing_works() { let trace_wrapped = match trace { crate::evm::Trace::Call(ct) => Trace::Call(ct), crate::evm::Trace::Prestate(pt) => Trace::Prestate(pt), + crate::evm::Trace::Execution(_) => panic!("Execution trace not expected"), }; assert_eq!(trace_wrapped, expected_trace, "Trace mismatch for: {}", description); @@ -5565,10 +5433,12 @@ fn delegate_call_with_gas_limit() { Error::::ContractTrapped, ); - assert_ok!(builder::call(caller_addr) - .value(1337) - .data((callee_addr, 100_000_000_000u64).encode()) - .build()); + assert_ok!( + builder::call(caller_addr) + .value(1337) + .data((callee_addr, 100_000_000_000u64).encode()) + .build() + ); }); } @@ -5600,14 +5470,18 @@ fn call_with_gas_limit() { ); // succeeds, not enough gas but call stipend will be added - assert_ok!(builder::call(caller_addr) - .value(1337) - .data((callee_addr, 100u64).encode()) - .build()); + assert_ok!( + builder::call(caller_addr) + .value(1337) + .data((callee_addr, 100u64).encode()) + .build() + ); // succeeds, enough gas - assert_ok!(builder::call(caller_addr) - .data((callee_addr, 100_000_000_000u64).encode()) - .build()); + assert_ok!( + builder::call(caller_addr) + .data((callee_addr, 100_000_000_000u64).encode()) + .build() + ); }); } diff --git a/substrate/frame/revive/src/tests/sol.rs b/substrate/frame/revive/src/tests/sol.rs index 919b3f8dfe3e7..4a16906771389 100644 --- a/substrate/frame/revive/src/tests/sol.rs +++ b/substrate/frame/revive/src/tests/sol.rs @@ -16,25 +16,23 @@ // limitations under the License. use crate::{ - assert_refcount, + BalanceOf, Code, Config, Error, EthBlockBuilderFirstValues, GenesisConfig, Origin, Pallet, + PristineCode, assert_refcount, call_builder::VmBinaryModule, debug::DebugSettings, evm::{PrestateTrace, PrestateTracer, PrestateTracerConfig}, - test_utils::{builder::Contract, ALICE, ALICE_ADDR, BOB}, + test_utils::{ALICE, ALICE_ADDR, BOB, builder::Contract}, tests::{ - builder, + AllowEvmBytecode, DebugFlag, ExtBuilder, RuntimeOrigin, Test, builder, test_utils::{contract_base_deposit, ensure_stored, get_contract}, - AllowEvmBytecode, DebugFlag, ExtBuilder, RuntimeOrigin, Test, }, tracing::trace, - BalanceOf, Code, Config, Error, EthBlockBuilderFirstValues, GenesisConfig, Origin, Pallet, - PristineCode, }; use alloy_core::sol_types::{SolCall, SolInterface}; use frame_support::{ assert_err, assert_noop, assert_ok, dispatch::GetDispatchInfo, traits::fungible::Mutate, }; -use pallet_revive_fixtures::{compile_module_with_type, Fibonacci, FixtureType, NestedCounter}; +use pallet_revive_fixtures::{Fibonacci, FixtureType, NestedCounter, compile_module_with_type}; use pretty_assertions::assert_eq; use sp_runtime::Weight; use test_case::test_case; @@ -190,7 +188,10 @@ fn eth_contract_too_large() { // Initialize genesis config with allow_unlimited_contract_size let genesis_config = GenesisConfig:: { - debug_settings: Some(DebugSettings::new(allow_unlimited_contract_size, false, false)), + debug_settings: Some( + DebugSettings::default() + .set_allow_unlimited_contract_size(allow_unlimited_contract_size), + ), ..Default::default() }; @@ -218,10 +219,10 @@ fn eth_contract_too_large() { #[test] fn upload_evm_runtime_code_works() { use crate::{ + Pallet, TransactionMeter, exec::Executable, primitives::ExecConfig, storage::{AccountInfo, ContractInfo}, - Pallet, TransactionMeter, }; let (runtime_code, _runtime_hash) = @@ -357,8 +358,7 @@ fn prestate_diff_mode_tracing_works() { "nonce": 2, "code": "{{CONTRACT_CODE}}", "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000000": "{{CHILD_ADDR_PADDED}}", - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000007" + "0x0000000000000000000000000000000000000000000000000000000000000000": "{{SLOT0_PACKED_7}}" } }, "{{CHILD_ADDR}}": { @@ -393,8 +393,7 @@ fn prestate_diff_mode_tracing_works() { "nonce": 2, "code": "{{CONTRACT_CODE}}", "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000000": "{{CHILD_ADDR_PADDED}}", - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000007" + "0x0000000000000000000000000000000000000000000000000000000000000000": "{{SLOT0_PACKED_7}}" } }, "{{CHILD_ADDR}}": { @@ -414,7 +413,7 @@ fn prestate_diff_mode_tracing_works() { "nonce": 2, "code": "{{CONTRACT_CODE}}", "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000007" + "0x0000000000000000000000000000000000000000000000000000000000000000": "{{SLOT0_PACKED_7}}" } }, "{{CHILD_ADDR}}": { @@ -429,7 +428,7 @@ fn prestate_diff_mode_tracing_works() { "post": { "{{CONTRACT_ADDR}}": { "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000008" + "0x0000000000000000000000000000000000000000000000000000000000000000": "{{SLOT0_PACKED_8}}" } }, "{{CHILD_ADDR}}": { @@ -457,8 +456,13 @@ fn prestate_diff_mode_tracing_works() { let replace_placeholders = |json: &str| -> String { let alice_balance_post = Pallet::::evm_balance(&ALICE_ADDR); - let mut child_addr_bytes = [0u8; 32]; - child_addr_bytes[12..32].copy_from_slice(child_addr.as_bytes()); + // Packed slot 0: [4 zero bytes][uint64 number BE][20-byte address] + let slot0_packed = |number: u64| -> String { + let mut slot = [0u8; 32]; + slot[4..12].copy_from_slice(&number.to_be_bytes()); + slot[12..32].copy_from_slice(child_addr.as_bytes()); + format!("0x{}", hex::encode(slot)) + }; json.replace("{{ALICE_ADDR}}", &format!("{:#x}", ALICE_ADDR)) .replace("{{CONTRACT_ADDR}}", &format!("{:#x}", contract_addr)) @@ -470,10 +474,8 @@ fn prestate_diff_mode_tracing_works() { &format!("0x{}", hex::encode(&contract_runtime_code)), ) .replace("{{CHILD_CODE}}", &format!("0x{}", hex::encode(&child_runtime_code))) - .replace( - "{{CHILD_ADDR_PADDED}}", - &format!("0x{}", hex::encode(child_addr_bytes)), - ) + .replace("{{SLOT0_PACKED_7}}", &slot0_packed(7)) + .replace("{{SLOT0_PACKED_8}}", &slot0_packed(8)) }; let mut tracer = PrestateTracer::::new(test_case.config.clone()); @@ -593,3 +595,233 @@ fn eth_substrate_call_tracks_weight_correctly() { ); }); } + +/// Tests execution tracing for both EVM and PVM. +/// +/// Each test case runs for both Solc (EVM) and Resolc (PVM) with separate expected traces. +/// Expected traces are stored in `src/tests/json_trace/` directory. +/// +/// Gas consistency is verified for consecutive steps: +/// - For EVM: gas - gas_cost == next_step.gas (exact, every opcode is traced) +/// - For PVM: gas - gas_cost >= next_step.gas (inequality, PVM instructions between syscalls +/// consume additional gas that isn't individually traced) +#[test] +fn execution_tracing_works() { + use crate::{ + evm::{Bytes, ExecutionStepKind, ExecutionTrace, ExecutionTracer, ExecutionTracerConfig}, + tracing::trace, + }; + use pallet_revive_fixtures::{Callee, Caller}; + + struct TestCase { + name: &'static str, + setup: Box ExecutionTrace>, + expected_evm_trace: &'static str, + expected_pvm_trace: &'static str, + } + + let test_cases: Vec = vec![ + TestCase { + name: "Fibonacci", + setup: Box::new(|fixture_type| { + let (code, _) = compile_module_with_type("Fibonacci", fixture_type).unwrap(); + let Contract { addr, .. } = + builder::bare_instantiate(Code::Upload(code)).build_and_unwrap_contract(); + + let config = ExecutionTracerConfig { + enable_return_data: true, + limit: Some(5), + ..Default::default() + }; + let mut tracer = ExecutionTracer::new(config); + trace(&mut tracer, || { + builder::bare_call(addr) + .data(Fibonacci::fibCall { n: 3 }.abi_encode()) + .build_and_unwrap_result() + }); + tracer.collect_trace() + }), + expected_evm_trace: include_str!("json_trace/fibonacci_evm.json"), + expected_pvm_trace: include_str!("json_trace/fibonacci_pvm.json"), + }, + TestCase { + name: "CALL", + setup: Box::new(|fixture_type| { + let (callee_code, _) = compile_module_with_type("Callee", fixture_type).unwrap(); + let Contract { addr: callee, .. } = + builder::bare_instantiate(Code::Upload(callee_code)) + .build_and_unwrap_contract(); + + let (caller_code, _) = compile_module_with_type("Caller", fixture_type).unwrap(); + let Contract { addr: caller, .. } = + builder::bare_instantiate(Code::Upload(caller_code)) + .build_and_unwrap_contract(); + + let config = + ExecutionTracerConfig { enable_return_data: true, ..Default::default() }; + let mut tracer = ExecutionTracer::new(config); + trace(&mut tracer, || { + builder::bare_call(caller) + .data( + Caller::normalCall { + _callee: callee.0.into(), + _value: 0, + _data: Callee::echoCall { _data: 42u64 }.abi_encode().into(), + _gas: u64::MAX, + } + .abi_encode(), + ) + .build_and_unwrap_result() + }); + tracer.collect_trace() + }), + expected_evm_trace: include_str!("json_trace/call_evm.json"), + expected_pvm_trace: include_str!("json_trace/call_pvm.json"), + }, + TestCase { + name: "DELEGATECALL", + setup: Box::new(|fixture_type| { + let (callee_code, _) = compile_module_with_type("Callee", fixture_type).unwrap(); + let Contract { addr: callee, .. } = + builder::bare_instantiate(Code::Upload(callee_code)) + .build_and_unwrap_contract(); + + let (caller_code, _) = compile_module_with_type("Caller", fixture_type).unwrap(); + let Contract { addr: caller, .. } = + builder::bare_instantiate(Code::Upload(caller_code)) + .build_and_unwrap_contract(); + + let config = + ExecutionTracerConfig { enable_return_data: true, ..Default::default() }; + let mut tracer = ExecutionTracer::new(config); + trace(&mut tracer, || { + builder::bare_call(caller) + .data( + Caller::delegateCall { + _callee: callee.0.into(), + _data: Callee::echoCall { _data: 42u64 }.abi_encode().into(), + _gas: u64::MAX, + } + .abi_encode(), + ) + .build_and_unwrap_result() + }); + tracer.collect_trace() + }), + expected_evm_trace: include_str!("json_trace/delegatecall_evm.json"), + expected_pvm_trace: include_str!("json_trace/delegatecall_pvm.json"), + }, + ]; + + /// Normalizes trace by zeroing out all dynamic values for stable comparisons. + fn normalize_trace(trace: &ExecutionTrace) -> ExecutionTrace { + use frame_support::weights::Weight; + + let mut normalized = trace.clone(); + normalized.gas = 0; + normalized.weight_consumed = Weight::zero(); + normalized.base_call_weight = Weight::zero(); + + for step in &mut normalized.struct_logs { + step.gas = 0; + step.gas_cost = 0; + step.weight_cost = Weight::zero(); + + match &mut step.kind { + ExecutionStepKind::EVMOpcode { stack, .. } => { + for val in stack.iter_mut() { + *val = Bytes::from(vec![0u8]); + } + }, + ExecutionStepKind::PVMSyscall { op, args, returned, .. } => { + // Normalize call/delegate_call to their _evm variants so + // the test passes regardless of which resolc version + // compiled the fixtures (older emits call/delegate_call, + // newer emits call_evm/delegate_call_evm). + use crate::vm::pvm::env::lookup_syscall_index; + let call_idx = lookup_syscall_index("call").unwrap(); + let call_evm_idx = lookup_syscall_index("call_evm").unwrap(); + let delegate_idx = lookup_syscall_index("delegate_call").unwrap(); + let delegate_evm_idx = lookup_syscall_index("delegate_call_evm").unwrap(); + if *op == call_idx || *op == call_evm_idx { + *op = call_evm_idx; + // Clear args since the two variants have compatible + // behavior but different argument layouts. + args.clear(); + } else if *op == delegate_idx || *op == delegate_evm_idx { + *op = delegate_evm_idx; + args.clear(); + } else { + for val in args.iter_mut() { + *val = 0; + } + } + if returned.is_some() { + *returned = Some(0); + } + }, + } + } + normalized + } + + /// Verifies gas consistency for execution traces. + /// + /// Gas equations: + /// - gasCost = opcode_cost only (excluding forwarded gas for call/create opcodes) + /// - For consecutive steps at the same depth: + /// - EVM: gas - gas_cost == next_step.gas (exact) + /// - PVM: gas - gas_cost >= next_step.gas (inequality, PVM instructions consume extra gas) + fn verify_gas_consistency(trace: &ExecutionTrace, is_evm: bool, name: &str) { + // Verify consecutive steps at the same depth + let same_depth_violations: Vec<_> = trace + .struct_logs + .iter() + .zip(trace.struct_logs.iter().skip(1)) + .enumerate() + .filter(|(_, (curr, next))| curr.depth == next.depth) + .filter_map(|(i, (curr, next))| { + let expected = curr.gas.saturating_sub(curr.gas_cost); + let valid = if is_evm { expected == next.gas } else { next.gas <= expected }; + (!valid).then_some((i, curr.depth, curr.gas, curr.gas_cost, expected, next.gas)) + }) + .collect(); + + assert!( + same_depth_violations.is_empty(), + "{name}: same-depth gas violations (step, depth, gas, gas_cost, expected, actual): {same_depth_violations:?}", + ); + } + + for test_case in test_cases { + for fixture_type in [FixtureType::Solc, FixtureType::Resolc] { + ExtBuilder::default().existential_deposit(200).build().execute_with(|| { + let _ = ::Currency::set_balance(&ALICE, 100_000_000_000); + + let actual_trace = (test_case.setup)(fixture_type); + let is_evm = matches!(fixture_type, FixtureType::Solc | FixtureType::SolcRuntime); + let name = test_case.name; + let vm_type = if is_evm { "EVM" } else { "PVM" }; + + let expected_json_str = if is_evm { + test_case.expected_evm_trace + } else { + test_case.expected_pvm_trace + }; + let expected: ExecutionTrace = serde_json::from_str(expected_json_str) + .unwrap_or_else(|e| { + panic!("{name} ({vm_type}): failed to parse expected JSON: {e}") + }); + // Normalize both traces for comparison (zeroes out dynamic values) + let normalized_actual = normalize_trace(&actual_trace); + let normalized_expected = normalize_trace(&expected); + assert_eq!( + normalized_actual, normalized_expected, + "{name} ({vm_type}): trace mismatch" + ); + + verify_gas_consistency(&actual_trace, is_evm, &format!("{name} ({vm_type})")); + }); + } + } +} diff --git a/substrate/frame/revive/src/tests/sol/arithmetic.rs b/substrate/frame/revive/src/tests/sol/arithmetic.rs index c4f6cfb8edb5a..818b60312d368 100644 --- a/substrate/frame/revive/src/tests/sol/arithmetic.rs +++ b/substrate/frame/revive/src/tests/sol/arithmetic.rs @@ -16,15 +16,15 @@ // limitations under the License. use crate::{ - evm::decode_revert_reason, - test_utils::{builder::Contract, ALICE}, - tests::{builder, ExtBuilder, Test}, Code, Config, + evm::decode_revert_reason, + test_utils::{ALICE, builder::Contract}, + tests::{ExtBuilder, Test, builder}, }; use alloy_core::sol_types::SolInterface; use frame_support::traits::fungible::Mutate; -use pallet_revive_fixtures::{compile_module_with_type, Arithmetic, FixtureType}; +use pallet_revive_fixtures::{Arithmetic, FixtureType, compile_module_with_type}; use test_case::test_case; #[test_case(FixtureType::Solc)] diff --git a/substrate/frame/revive/src/tests/sol/bitwise.rs b/substrate/frame/revive/src/tests/sol/bitwise.rs index 513170363acbd..a092809f12d2e 100644 --- a/substrate/frame/revive/src/tests/sol/bitwise.rs +++ b/substrate/frame/revive/src/tests/sol/bitwise.rs @@ -17,15 +17,15 @@ /// Tests for bitwise operations. use crate::{ - evm::decode_revert_reason, - test_utils::{builder::Contract, ALICE}, - tests::{builder, ExtBuilder, Test}, Code, Config, + evm::decode_revert_reason, + test_utils::{ALICE, builder::Contract}, + tests::{ExtBuilder, Test, builder}, }; use alloy_core::sol_types::SolInterface; use frame_support::traits::fungible::Mutate; -use pallet_revive_fixtures::{compile_module_with_type, Bitwise, FixtureType}; +use pallet_revive_fixtures::{Bitwise, FixtureType, compile_module_with_type}; use test_case::test_case; #[test_case(FixtureType::Solc)] diff --git a/substrate/frame/revive/src/tests/sol/block_info.rs b/substrate/frame/revive/src/tests/sol/block_info.rs index 628010044f5f3..62c5c9715176e 100644 --- a/substrate/frame/revive/src/tests/sol/block_info.rs +++ b/substrate/frame/revive/src/tests/sol/block_info.rs @@ -18,15 +18,15 @@ //! The pallet-revive shared VM integration test suite. use crate::{ - test_utils::{builder::Contract, ALICE}, - tests::{builder, Contracts, ExtBuilder, System, Test, Timestamp}, - vm::evm::DIFFICULTY, Code, Config, DryRunConfig, ExecConfig, Pallet, + test_utils::{ALICE, builder::Contract}, + tests::{Contracts, ExtBuilder, System, Test, Timestamp, builder}, + vm::evm::DIFFICULTY, }; use alloy_core::sol_types::{SolCall, SolInterface}; use frame_support::traits::fungible::Mutate; -use pallet_revive_fixtures::{compile_module_with_type, BlockInfo, FixtureType}; +use pallet_revive_fixtures::{BlockInfo, FixtureType, compile_module_with_type}; use pretty_assertions::assert_eq; use sp_core::H160; use test_case::test_case; diff --git a/substrate/frame/revive/src/tests/sol/contract.rs b/substrate/frame/revive/src/tests/sol/contract.rs index 070aa1bc48c77..fdbd3f89244dd 100644 --- a/substrate/frame/revive/src/tests/sol/contract.rs +++ b/substrate/frame/revive/src/tests/sol/contract.rs @@ -20,13 +20,13 @@ use core::iter; use crate::{ + BalanceOf, Code, Config, DelegateInfo, DispatchError, Error, ExecConfig, ExecOrigin, + ExecReturnValue, Weight, address::AddressMapper, evm::{decode_revert_reason, fees::InfoT}, metering::TransactionLimits, - test_utils::{builder::Contract, deposit_limit, ALICE, ALICE_ADDR, BOB_ADDR, WEIGHT_LIMIT}, - tests::{builder, ExtBuilder, MockHandlerImpl, Test}, - BalanceOf, Code, Config, DelegateInfo, DispatchError, Error, ExecConfig, ExecOrigin, - ExecReturnValue, Weight, + test_utils::{ALICE, ALICE_ADDR, BOB_ADDR, WEIGHT_LIMIT, builder::Contract, deposit_limit}, + tests::{ExtBuilder, MOCK_CODE, MockHandlerImpl, Test, builder}, }; use alloy_core::{ primitives::{Bytes, FixedBytes}, @@ -37,10 +37,10 @@ use frame_support::{ traits::fungible::{Balanced, Mutate}, }; use itertools::Itertools; -use pallet_revive_fixtures::{compile_module_with_type, Callee, Caller, FixtureType}; +use pallet_revive_fixtures::{Callee, Caller, FixtureType, Host, compile_module_with_type}; use pallet_revive_uapi::ReturnFlags; use pretty_assertions::assert_eq; -use sp_core::H160; +use sp_core::{H160, H256}; use test_case::test_case; /// Tests that the `CALL` opcode works as expected by having one contract call another. @@ -403,15 +403,11 @@ fn mock_caller_hook_works(caller_type: FixtureType, callee_type: FixtureType) { .abi_encode(), ) .exec_config(ExecConfig { - bump_nonce: false, - collect_deposit_from_hold: None, - effective_gas_price: None, - is_dry_run: None, mock_handler: Some(Box::new(MockHandlerImpl { mock_caller: Some(BOB_ADDR), - mock_call: Default::default(), - mock_delegate_caller: Default::default(), + ..Default::default() })), + ..Default::default() }) .build_and_unwrap_result(); @@ -456,12 +452,7 @@ fn mock_call_hook_works(caller_type: FixtureType, callee_type: FixtureType) { .abi_encode(), ) .exec_config(ExecConfig { - bump_nonce: false, - collect_deposit_from_hold: None, - effective_gas_price: None, - is_dry_run: None, mock_handler: Some(Box::new(MockHandlerImpl { - mock_caller: None, mock_call: iter::once(( callee_addr, ExecReturnValue { @@ -471,8 +462,9 @@ fn mock_call_hook_works(caller_type: FixtureType, callee_type: FixtureType) { }, )) .collect(), - mock_delegate_caller: Default::default(), + ..Default::default() })), + ..Default::default() }) .build_and_unwrap_result(); @@ -516,13 +508,7 @@ fn mock_delegatecall_hook_works(caller_type: FixtureType, callee_type: FixtureTy .abi_encode(), ) .exec_config(ExecConfig { - bump_nonce: false, - collect_deposit_from_hold: None, - effective_gas_price: None, - is_dry_run: None, mock_handler: Some(Box::new(MockHandlerImpl { - mock_caller: None, - mock_call: Default::default(), mock_delegate_caller: iter::once(( Callee::echoCall { _data: magic_number }.abi_encode().into(), DelegateInfo { @@ -535,7 +521,9 @@ fn mock_delegatecall_hook_works(caller_type: FixtureType, callee_type: FixtureTy }, )) .collect(), + ..Default::default() })), + ..Default::default() }) .build_and_unwrap_result(); @@ -546,6 +534,69 @@ fn mock_delegatecall_hook_works(caller_type: FixtureType, callee_type: FixtureTy }); } +#[test] +fn mocked_code_works() { + let (host_code, _) = compile_module_with_type("Host", FixtureType::Solc).unwrap(); + + ExtBuilder::default().build().execute_with(|| { + let _ = ::Currency::set_balance(&ALICE, 100_000_000_000); + + let Contract { addr: host_addr, .. } = + builder::bare_instantiate(Code::Upload(host_code)).build_and_unwrap_contract(); + + let mocked_addr = H160::from_slice(&[0x42; 20]); + + let expected_size = MOCK_CODE.len() as u64; + let expected_hash = sp_io::hashing::keccak_256(&MOCK_CODE); + + // Test EXTCODESIZE with mocked address + let result = builder::bare_call(host_addr) + .data(Host::extcodesizeOpCall { account: mocked_addr.0.into() }.abi_encode()) + .exec_config(ExecConfig { + mock_handler: Some(Box::new(MockHandlerImpl { + mock_call: iter::once((mocked_addr, ExecReturnValue::default())).collect(), + ..Default::default() + })), + ..Default::default() + }) + .build_and_unwrap_result(); + + let size = Host::extcodesizeOpCall::abi_decode_returns(&result.data).unwrap(); + assert_eq!( + size, expected_size, + "EXTCODESIZE should return {} for mocked address", + expected_size + ); + + // Test EXTCODEHASH with mocked address + let result = builder::bare_call(host_addr) + .data(Host::extcodehashOpCall { account: mocked_addr.0.into() }.abi_encode()) + .exec_config(ExecConfig { + mock_handler: Some(Box::new(MockHandlerImpl { + mock_call: iter::once((mocked_addr, ExecReturnValue::default())).collect(), + ..Default::default() + })), + ..Default::default() + }) + .build_and_unwrap_result(); + + let hash = Host::extcodehashOpCall::abi_decode_returns(&result.data).unwrap(); + assert_eq!( + H256::from_slice(hash.as_slice()), + H256::from_slice(&expected_hash), + "EXTCODEHASH should return keccak256(MOCK_CODE) for mocked address" + ); + + // Verify that without mock handler, the same address returns 0 for code size + let result = builder::bare_call(host_addr) + .data(Host::extcodesizeOpCall { account: mocked_addr.0.into() }.abi_encode()) + .build_and_unwrap_result(); + + let size = Host::extcodesizeOpCall::abi_decode_returns(&result.data).unwrap(); + assert_eq!(size, 0, "EXTCODESIZE should return 0 for unmocked address without code"); + }); +} + #[test] fn create_works() { let (caller_code, _) = compile_module_with_type("Caller", FixtureType::Solc).unwrap(); @@ -569,7 +620,7 @@ fn create_works() { let magic_number = 42u64; // Check if the created contract is working - let echo_result = builder::bare_call(callee_addr.0 .0.into()) + let echo_result = builder::bare_call(callee_addr.0.0.into()) .data(Callee::echoCall { _data: magic_number }.abi_encode()) .build_and_unwrap_result(); @@ -607,7 +658,7 @@ fn create2_works() { // Compute expected CREATE2 address let expected_addr = crate::address::create2(&caller_addr, &initcode, &[], &salt); - let callee_addr: H160 = callee_addr.0 .0.into(); + let callee_addr: H160 = callee_addr.0.0.into(); assert_eq!(callee_addr, expected_addr, "CREATE2 address should be deterministic"); let magic_number = 42u64; @@ -722,7 +773,7 @@ fn subcall_effectively_limited_substrate_tx(caller_type: FixtureType, callee_typ { // the storage stuff won't work on static or delegate call if case.is_store_call && !matches!(call_type, Caller::CallType::Call) { - continue + continue; } ExtBuilder::default().build().execute_with(|| { diff --git a/substrate/frame/revive/src/tests/sol/control.rs b/substrate/frame/revive/src/tests/sol/control.rs index 0c953f496b6f0..d8782679e5162 100644 --- a/substrate/frame/revive/src/tests/sol/control.rs +++ b/substrate/frame/revive/src/tests/sol/control.rs @@ -16,10 +16,10 @@ // limitations under the License. use crate::{ - metering::TransactionLimits, - test_utils::{builder::Contract, ALICE}, - tests::{builder, sol::make_initcode_from_runtime_code, ExtBuilder, Test}, Code, Config, Error, U256, + metering::TransactionLimits, + test_utils::{ALICE, builder::Contract}, + tests::{ExtBuilder, Test, builder, sol::make_initcode_from_runtime_code}, }; use frame_support::{assert_err, traits::fungible::Mutate}; use pallet_revive_uapi::ReturnFlags; diff --git a/substrate/frame/revive/src/tests/sol/host.rs b/substrate/frame/revive/src/tests/sol/host.rs index f6a54e6b0a364..876ecd29667c4 100644 --- a/substrate/frame/revive/src/tests/sol/host.rs +++ b/substrate/frame/revive/src/tests/sol/host.rs @@ -17,17 +17,17 @@ //! The pallet-revive shared VM integration test suite. use crate::{ + Code, Config, Error, H256, Key, System, U256, address::AddressMapper, metering::TransactionLimits, - test_utils::{builder::Contract, ALICE, BOB, BOB_ADDR}, - tests::{builder, test_utils, test_utils::get_contract, ExtBuilder, RuntimeEvent, Test}, - Code, Config, Error, Key, System, H256, U256, + test_utils::{ALICE, BOB, BOB_ADDR, builder::Contract}, + tests::{ExtBuilder, RuntimeEvent, Test, builder, test_utils, test_utils::get_contract}, }; use frame_support::assert_err_ignore_postinfo; use alloy_core::sol_types::{SolCall, SolInterface}; -use frame_support::traits::{fungible::Mutate, Get}; -use pallet_revive_fixtures::{compile_module_with_type, Caller, FixtureType, Host}; +use frame_support::traits::{Get, fungible::Mutate}; +use pallet_revive_fixtures::{Caller, FixtureType, Host, compile_module_with_type}; use pretty_assertions::assert_eq; use test_case::test_case; diff --git a/substrate/frame/revive/src/tests/sol/memory.rs b/substrate/frame/revive/src/tests/sol/memory.rs index 3ebd49dceb30b..aa217ba11598a 100644 --- a/substrate/frame/revive/src/tests/sol/memory.rs +++ b/substrate/frame/revive/src/tests/sol/memory.rs @@ -16,14 +16,14 @@ // limitations under the License. use crate::{ - evm::decode_revert_reason, - test_utils::{builder::Contract, ALICE}, - tests::{builder, ExtBuilder, Test}, Code, Config, Error, ExecReturnValue, LOG_TARGET, + evm::decode_revert_reason, + test_utils::{ALICE, builder::Contract}, + tests::{ExtBuilder, Test, builder}, }; use alloy_core::sol_types::{SolCall, SolInterface}; use frame_support::traits::fungible::Mutate; -use pallet_revive_fixtures::{compile_module_with_type, FixtureType, Memory}; +use pallet_revive_fixtures::{FixtureType, Memory, compile_module_with_type}; use pallet_revive_uapi::ReturnFlags; use pretty_assertions::assert_eq; use test_case::test_case; diff --git a/substrate/frame/revive/src/tests/sol/stack.rs b/substrate/frame/revive/src/tests/sol/stack.rs index 2bcdc731f6bb5..9ecaa9c57332c 100644 --- a/substrate/frame/revive/src/tests/sol/stack.rs +++ b/substrate/frame/revive/src/tests/sol/stack.rs @@ -16,9 +16,9 @@ // limitations under the License. use crate::{ - test_utils::{builder::Contract, ALICE}, - tests::{builder, sol::make_initcode_from_runtime_code, ExtBuilder, Test}, Code, Config, U256, + test_utils::{ALICE, builder::Contract}, + tests::{ExtBuilder, Test, builder, sol::make_initcode_from_runtime_code}, }; use frame_support::traits::fungible::Mutate; use pretty_assertions::assert_eq; diff --git a/substrate/frame/revive/src/tests/sol/system.rs b/substrate/frame/revive/src/tests/sol/system.rs index 5f7a2e4c67872..edcfae94159da 100644 --- a/substrate/frame/revive/src/tests/sol/system.rs +++ b/substrate/frame/revive/src/tests/sol/system.rs @@ -18,15 +18,16 @@ //! The pallet-revive shared VM integration test suite. use crate::{ - evm::fees::InfoT, - test_utils::{builder::Contract, deposit_limit, ALICE, ALICE_ADDR, WEIGHT_LIMIT}, - tests::{builder, Contracts, ExtBuilder, Test}, Code, Config, ExecConfig, TransactionLimits, TransactionMeter, U256, + evm::fees::InfoT, + test_utils::{ALICE, ALICE_ADDR, WEIGHT_LIMIT, builder::Contract, deposit_limit}, + tests::{Contracts, ExtBuilder, Test, builder}, }; + use alloy_core::sol_types::{Revert, SolCall, SolConstructor, SolError}; use frame_support::traits::fungible::{Balanced, Mutate}; use pallet_revive_fixtures::{ - compile_module_with_type, Callee, FixtureType, System as SystemFixture, + Callee, FixtureType, System as SystemFixture, compile_module_with_type, }; use pretty_assertions::assert_eq; use revm::primitives::Bytes; diff --git a/substrate/frame/revive/src/tests/sol/terminate.rs b/substrate/frame/revive/src/tests/sol/terminate.rs index e17b66e3f3e5d..15b9435a1aafa 100644 --- a/substrate/frame/revive/src/tests/sol/terminate.rs +++ b/substrate/frame/revive/src/tests/sol/terminate.rs @@ -16,19 +16,18 @@ // limitations under the License. use crate::{ + BalanceOf, Code, Config, H160, Pallet, address::AddressMapper, - test_utils::{builder::Contract, ALICE, DJANGO, DJANGO_ADDR}, + test_utils::{ALICE, DJANGO, DJANGO_ADDR, builder::Contract}, tests::{ - builder, + Contracts, ExtBuilder, RuntimeOrigin, Test, builder, test_utils::{get_balance, get_contract_checked}, - Contracts, ExtBuilder, RuntimeOrigin, Test, }, - BalanceOf, Code, Config, Pallet, H160, }; use alloy_core::sol_types::{SolCall, SolConstructor}; use frame_support::traits::fungible::Mutate; use pallet_revive_fixtures::{ - compile_module_with_type, FixtureType, Terminate, TerminateCaller, TerminateDelegator, + FixtureType, Terminate, TerminateCaller, TerminateDelegator, compile_module_with_type, }; use pretty_assertions::assert_eq; use test_case::{test_case, test_matrix}; diff --git a/substrate/frame/revive/src/tests/sol/tx_info.rs b/substrate/frame/revive/src/tests/sol/tx_info.rs index a2072ab67a984..c24fce688124d 100644 --- a/substrate/frame/revive/src/tests/sol/tx_info.rs +++ b/substrate/frame/revive/src/tests/sol/tx_info.rs @@ -18,13 +18,13 @@ //! The pallet-revive shared VM integration test suite. use crate::{ - test_utils::{builder::Contract, ALICE, ALICE_ADDR}, - tests::{builder, ExtBuilder, Test}, Code, Config, Pallet, + test_utils::{ALICE, ALICE_ADDR, builder::Contract}, + tests::{ExtBuilder, Test, builder}, }; use alloy_core::sol_types::{SolCall, SolInterface}; use frame_support::traits::fungible::Mutate; -use pallet_revive_fixtures::{compile_module_with_type, FixtureType, TransactionInfo}; +use pallet_revive_fixtures::{FixtureType, TransactionInfo, compile_module_with_type}; use pretty_assertions::assert_eq; use sp_core::H160; use test_case::test_case; diff --git a/substrate/frame/revive/src/tests/stipends.rs b/substrate/frame/revive/src/tests/stipends.rs index 3204b66807e2a..825ad8531ed8e 100644 --- a/substrate/frame/revive/src/tests/stipends.rs +++ b/substrate/frame/revive/src/tests/stipends.rs @@ -16,13 +16,13 @@ // limitations under the License. use crate::{ - test_utils::builder::Contract, - tests::{builder, ExtBuilder, Test}, Code, Config, + test_utils::builder::Contract, + tests::{ExtBuilder, Test, builder}, }; use alloy_core::sol_types::SolCall; use frame_support::traits::fungible::Mutate; -use pallet_revive_fixtures::{compile_module_with_type, FixtureType, StipendTest}; +use pallet_revive_fixtures::{FixtureType, StipendTest, compile_module_with_type}; #[test] fn evm_call_stipends_work_for_transfers() { diff --git a/substrate/frame/revive/src/tracing.rs b/substrate/frame/revive/src/tracing.rs index 7da708829df90..217b7318876a3 100644 --- a/substrate/frame/revive/src/tracing.rs +++ b/substrate/frame/revive/src/tracing.rs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{primitives::ExecReturnValue, Code, DispatchError, Key}; +use crate::{Code, DispatchError, Key, Weight, evm::Bytes, primitives::ExecReturnValue}; use alloc::vec::Vec; use environmental::environmental; use sp_core::{H160, H256, U256}; @@ -40,12 +40,39 @@ pub(crate) fn if_tracing R>(f: F) tracer::with(f) } +/// Interface to provide frame trace information for the current execution frame. +pub trait FrameTraceInfo { + /// Get the amount of gas remaining in the current frame. + fn gas_left(&self) -> u64; + + /// Returns how much weight was spent + fn weight_consumed(&self) -> Weight; + + /// Get the output from the last frame. + fn last_frame_output(&self) -> Bytes; +} + +/// Interface to provide EVM-specific trace information for the current execution frame. +pub trait EVMFrameTraceInfo: FrameTraceInfo { + /// Get a snapshot of the memory at this point in execution. + /// + /// # Parameters + /// - `limit`: Maximum number of memory words to capture. + fn memory_snapshot(&self, limit: usize) -> Vec; + + /// Get a snapshot of the stack at this point in execution. + fn stack_snapshot(&self) -> Vec; +} + /// Defines methods to trace contract interactions. pub trait Tracing { /// Register an address that should be traced. fn watch_address(&mut self, _addr: &H160) {} - /// Called before a contract call is executed + /// Called before a contract call is executed. + /// + /// For CALL/DELEGATECALL opcodes: + /// - `gas_limit`: gas forwarded to the child call fn enter_child_span( &mut self, _from: H160, @@ -54,7 +81,7 @@ pub trait Tracing { _is_read_only: bool, _value: U256, _input: &[u8], - _gas_limit: U256, + _gas_limit: u64, ) { } @@ -63,7 +90,7 @@ pub trait Tracing { &mut self, _contract_address: H160, _beneficiary_address: H160, - _gas_left: U256, + _gas_left: u64, _value: U256, ) { } @@ -90,8 +117,63 @@ pub trait Tracing { fn log_event(&mut self, _event: H160, _topics: &[H256], _data: &[u8]) {} /// Called after a contract call is executed - fn exit_child_span(&mut self, _output: &ExecReturnValue, _gas_used: U256) {} + fn exit_child_span( + &mut self, + _output: &ExecReturnValue, + _gas_used: u64, + _weight_consumed: Weight, + ) { + } /// Called when a contract call terminates with an error - fn exit_child_span_with_error(&mut self, _error: DispatchError, _gas_used: U256) {} + fn exit_child_span_with_error( + &mut self, + _error: DispatchError, + _gas_used: u64, + _weight_consumed: Weight, + ) { + } + + /// Check if the tracer is an execution tracer. + fn is_execution_tracer(&self) -> bool { + false + } + + /// Called before an EVM opcode is executed. + /// + /// # Parameters + /// - `pc`: The current program counter. + /// - `opcode`: The opcode being executed. + /// - `trace_info`: Information about the current execution frame. + fn enter_opcode(&mut self, _pc: u64, _opcode: u8, _trace_info: &dyn EVMFrameTraceInfo) {} + + /// Called before a PVM syscall is executed. + /// + /// # Parameters + /// - `ecall`: The name of the syscall being executed. + /// - `args`: The syscall arguments (register values). + /// - `trace_info`: Information about the current execution frame. + fn enter_ecall( + &mut self, + _ecall: &'static str, + _args: &[u64], + _trace_info: &dyn FrameTraceInfo, + ) { + } + + /// Called after an EVM opcode or PVM syscall is executed to record the gas cost. + /// + /// # Parameters + /// - `trace_info`: Information about the current execution frame. + /// - `returned`: The syscall return value (PVM only, `None` for EVM opcodes). + fn exit_step(&mut self, _trace_info: &dyn FrameTraceInfo, _returned: Option) {} + + /// Called once the transaction completes to report the gas consumed by the meter. + /// + /// # Parameters + /// - `base_call_weight`: Extrinsic base weight that is added on top of `weight_consumed` when + /// charging. + /// - `weight_consumed`: Weight used by the transaction logic, excluding the extrinsic base + /// weight. + fn dispatch_result(&mut self, _base_call_weight: Weight, _weight_consumed: Weight) {} } diff --git a/substrate/frame/revive/src/transient_storage.rs b/substrate/frame/revive/src/transient_storage.rs index d88adc4373590..6ea7e00175f86 100644 --- a/substrate/frame/revive/src/transient_storage.rs +++ b/substrate/frame/revive/src/transient_storage.rs @@ -18,9 +18,9 @@ //! This module contains routines for accessing and altering a contract transient storage. use crate::{ + Config, Error, exec::{AccountIdOf, Key}, storage::WriteOutcome, - Config, Error, }; use alloc::{collections::BTreeMap, vec::Vec}; use codec::Encode; @@ -29,7 +29,7 @@ use frame_support::DefaultNoBound; use sp_runtime::{DispatchError, DispatchResult, Saturating}; /// Meter entry tracks transaction allocations. -#[derive(Default, Debug)] +#[derive(Default, Debug, Clone)] pub struct MeterEntry { /// Allocations made in the current transaction. pub amount: u32, @@ -56,7 +56,7 @@ impl MeterEntry { // The storage meter enforces a limit for each transaction, // which is calculated as free_storage * (1 - 1/16) for each subsequent frame. -#[derive(DefaultNoBound)] +#[derive(DefaultNoBound, Clone)] pub struct StorageMeter { nested_meters: Vec, root_meter: MeterEntry, @@ -132,6 +132,7 @@ impl StorageMeter { } /// An entry representing a journal change. +#[derive(Clone)] struct JournalEntry { key: Vec, prev_value: Option>, @@ -150,6 +151,7 @@ impl JournalEntry { } /// A journal containing transient storage modifications. +#[derive(Clone)] struct Journal(Vec); impl Journal { @@ -175,7 +177,7 @@ impl Journal { } /// Storage for maintaining the current transaction state. -#[derive(Default)] +#[derive(Default, Clone)] struct Storage(BTreeMap, Vec>); impl Storage { @@ -203,6 +205,7 @@ impl Storage { /// recorded in the journal (`write`). When the `commit_transaction` function is called, the marker /// to the journal index (checkpoint) of when that call was entered is discarded. /// On `rollback_transaction`, all entries are reverted up to the last checkpoint. +#[derive(Clone)] pub struct TransientStorage { // The storage and journal size is limited by the storage meter. storage: Storage, @@ -326,7 +329,7 @@ impl TransientStorage { /// The storage allocation meter used for transaction metering. #[cfg(any(test, feature = "runtime-benchmarks"))] pub fn meter(&mut self) -> &mut StorageMeter { - return &mut self.meter + return &mut self.meter; } fn storage_key(account: &[u8], key: &[u8]) -> Vec { @@ -340,7 +343,7 @@ impl TransientStorage { #[cfg(test)] mod tests { use super::*; - use crate::{test_utils::*, tests::Test, Error}; + use crate::{Error, test_utils::*, tests::Test}; use core::u32::MAX; // Calculate the allocation size for the given entry. diff --git a/substrate/frame/revive/src/vm/evm.rs b/substrate/frame/revive/src/vm/evm.rs index 8d60d14d23b45..6164c42a859b7 100644 --- a/substrate/frame/revive/src/vm/evm.rs +++ b/substrate/frame/revive/src/vm/evm.rs @@ -15,11 +15,12 @@ // See the License for the specific language governing permissions and // limitations under the License. use crate::{ + AccountIdOf, CodeInfo, Config, ContractBlob, DispatchError, Error, H256, LOG_TARGET, Weight, debug::DebugSettings, precompiles::Token, - vm::{evm::instructions::exec_instruction, BytecodeType, ExecResult, Ext}, + tracing, + vm::{BytecodeType, ExecResult, Ext, evm::instructions::exec_instruction}, weights::WeightInfo, - AccountIdOf, CodeInfo, Config, ContractBlob, DispatchError, Error, Weight, H256, LOG_TARGET, }; use alloc::vec::Vec; use core::{convert::Infallible, ops::ControlFlow}; @@ -129,7 +130,13 @@ impl ContractBlob { /// Calls the EVM interpreter with the provided bytecode and inputs. pub fn call(bytecode: Bytecode, ext: &mut E, input: Vec) -> ExecResult { let mut interpreter = Interpreter::new(ExtBytecode::new(bytecode), input, ext); - let ControlFlow::Break(halt) = run_plain(&mut interpreter); + let tracing_enabled = tracing::if_tracing(|t| t.is_execution_tracer()).unwrap_or(false); + + let ControlFlow::Break(halt) = if tracing_enabled { + run_plain_with_tracing(&mut interpreter) + } else { + run_plain(&mut interpreter) + }; halt.into() } @@ -140,3 +147,22 @@ fn run_plain(interpreter: &mut Interpreter) -> ControlFlow( + interpreter: &mut Interpreter, +) -> ControlFlow { + loop { + let opcode = interpreter.bytecode.opcode(); + tracing::if_tracing(|tracer| { + let pc = interpreter.bytecode.pc() as u64; + tracer.enter_opcode(pc, opcode, interpreter) + }); + + interpreter.bytecode.relative_jump(1); + let res = exec_instruction(interpreter, opcode); + + tracing::if_tracing(|tracer| tracer.exit_step(interpreter, None)); + + res?; + } +} diff --git a/substrate/frame/revive/src/vm/evm/ext_bytecode.rs b/substrate/frame/revive/src/vm/evm/ext_bytecode.rs index c72b58194c6dd..0815e3d73da69 100644 --- a/substrate/frame/revive/src/vm/evm/ext_bytecode.rs +++ b/substrate/frame/revive/src/vm/evm/ext_bytecode.rs @@ -54,6 +54,14 @@ impl ExtBytecode { /// Relative jumps does not require checking for overflow. pub fn relative_jump(&mut self, offset: isize) { // SAFETY: The offset is validated by the caller to ensure it points within the bytecode + debug_assert!( + { + let bytes = self.base.bytes_ref(); + let new_pc = self.pc().wrapping_add_signed(offset); + new_pc <= bytes.len() + }, + "relative_jump would move instruction pointer out of bounds" + ); self.instruction_pointer = unsafe { self.instruction_pointer.offset(offset) }; } @@ -61,6 +69,10 @@ impl ExtBytecode { /// from jump table. pub fn absolute_jump(&mut self, offset: usize) { // SAFETY: The offset is validated by the caller to ensure it points within the bytecode + debug_assert!( + offset <= self.base.bytes_ref().len(), + "absolute_jump would move instruction pointer out of bounds" + ); self.instruction_pointer = unsafe { self.base.bytes_ref().as_ptr().add(offset) }; } @@ -89,6 +101,14 @@ impl ExtBytecode { pub fn read_slice(&self, len: usize) -> &[u8] { // SAFETY: The caller ensures that `len` bytes are available from the current instruction // pointer position. + debug_assert!( + { + let bytes = self.base.bytes_ref(); + let pc = self.pc(); + pc.checked_add(len).map_or(false, |end| end <= bytes.len()) + }, + "read_slice would read out of bounds" + ); unsafe { core::slice::from_raw_parts(self.instruction_pointer, len) } } } diff --git a/substrate/frame/revive/src/vm/evm/instructions/arithmetic.rs b/substrate/frame/revive/src/vm/evm/instructions/arithmetic.rs index bd9bbb505389b..a74fa0ee566fa 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/arithmetic.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/arithmetic.rs @@ -21,11 +21,11 @@ mod modular; use modular::Modular; use crate::{ + Error, U256, vm::{ - evm::{interpreter::Halt, EVMGas, Interpreter}, Ext, + evm::{EVMGas, Interpreter, interpreter::Halt}, }, - Error, U256, }; use core::ops::ControlFlow; use revm::interpreter::gas::{EXP, LOW, MID, VERYLOW}; diff --git a/substrate/frame/revive/src/vm/evm/instructions/arithmetic/i256.rs b/substrate/frame/revive/src/vm/evm/instructions/arithmetic/i256.rs index 5cf1e38ba5ac2..10e881681d1c8 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/arithmetic/i256.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/arithmetic/i256.rs @@ -27,7 +27,6 @@ pub enum Sign { Minus = -1, /// Zero value sign Zero = 0, - #[allow(dead_code)] // "constructed" with `mem::transmute` in `i256_sign` below /// Positive value sign Plus = 1, } @@ -43,9 +42,10 @@ const FLIPH_BITMASK_U64: u64 = 0x7FFF_FFFF_FFFF_FFFF; pub fn i256_sign(val: &U256) -> Sign { if val.bit(255) { Sign::Minus + } else if val.is_zero() { + Sign::Zero } else { - // SAFETY: false == 0 == Zero, true == 1 == Plus - unsafe { core::mem::transmute::(!val.is_zero()) } + Sign::Plus } } @@ -139,11 +139,7 @@ pub fn i256_mod(mut first: U256, mut second: U256) -> U256 { // Set sign bit to zero u256_remove_sign(&mut r); - if first_sign == Sign::Minus { - two_compl(r) - } else { - r - } + if first_sign == Sign::Minus { two_compl(r) } else { r } } #[cfg(test)] diff --git a/substrate/frame/revive/src/vm/evm/instructions/bitwise.rs b/substrate/frame/revive/src/vm/evm/instructions/bitwise.rs index 4172333bba555..78cd645ce8771 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/bitwise.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/bitwise.rs @@ -19,11 +19,11 @@ mod bits; use super::{arithmetic::i256::i256_cmp, utility::as_usize_saturated}; use crate::{ + U256, vm::{ - evm::{interpreter::Halt, EVMGas, Interpreter}, Ext, + evm::{EVMGas, Interpreter, interpreter::Halt}, }, - U256, }; use bits::Bits; use core::{cmp::Ordering, ops::ControlFlow}; @@ -320,15 +320,17 @@ mod tests { test_interpreter!(interpreter); for test in test_cases { - assert!((|| { - interpreter.stack.push(test.value)?; - interpreter.stack.push(test.shift)?; - shl(&mut interpreter)?; - let [res] = interpreter.stack.popn::<1>()?; - assert_eq!(res, test.expected); - ControlFlow::Continue(()) - })() - .is_continue()); + assert!( + (|| { + interpreter.stack.push(test.value)?; + interpreter.stack.push(test.shift)?; + shl(&mut interpreter)?; + let [res] = interpreter.stack.popn::<1>()?; + assert_eq!(res, test.expected); + ControlFlow::Continue(()) + })() + .is_continue() + ); } } @@ -444,15 +446,17 @@ mod tests { test_interpreter!(interpreter); for test in test_cases { - assert!((|| { - interpreter.stack.push(test.value)?; - interpreter.stack.push(test.shift)?; - shr(&mut interpreter)?; - let [res] = interpreter.stack.popn::<1>()?; - assert_eq!(res, test.expected); - ControlFlow::Continue(()) - })() - .is_continue()); + assert!( + (|| { + interpreter.stack.push(test.value)?; + interpreter.stack.push(test.shift)?; + shr(&mut interpreter)?; + let [res] = interpreter.stack.popn::<1>()?; + assert_eq!(res, test.expected); + ControlFlow::Continue(()) + })() + .is_continue() + ); } } @@ -613,15 +617,17 @@ mod tests { test_interpreter!(interpreter); for test in test_cases { - assert!((|| { - interpreter.stack.push(test.value)?; - interpreter.stack.push(test.shift)?; - sar(&mut interpreter)?; - let [res] = interpreter.stack.popn::<1>()?; - assert_eq!(res, test.expected); - ControlFlow::Continue(()) - })() - .is_continue()); + assert!( + (|| { + interpreter.stack.push(test.value)?; + interpreter.stack.push(test.shift)?; + sar(&mut interpreter)?; + let [res] = interpreter.stack.popn::<1>()?; + assert_eq!(res, test.expected); + ControlFlow::Continue(()) + })() + .is_continue() + ); } } @@ -645,15 +651,17 @@ mod tests { test_interpreter!(interpreter); for test in test_cases.iter() { - assert!((|| { - interpreter.stack.push(test.input)?; - interpreter.stack.push(U256::from(test.index))?; - byte(&mut interpreter)?; - let [res] = interpreter.stack.popn::<1>()?; - assert_eq!(res, test.expected, "Failed at index: {}", test.index); - ControlFlow::Continue(()) - })() - .is_continue()); + assert!( + (|| { + interpreter.stack.push(test.input)?; + interpreter.stack.push(U256::from(test.index))?; + byte(&mut interpreter)?; + let [res] = interpreter.stack.popn::<1>()?; + assert_eq!(res, test.expected, "Failed at index: {}", test.index); + ControlFlow::Continue(()) + })() + .is_continue() + ); } } @@ -703,18 +711,20 @@ mod tests { test_interpreter!(interpreter); for test in test_cases.iter() { - assert!((|| { - interpreter.stack.push(test.value)?; - clz(&mut interpreter)?; - let [res] = interpreter.stack.popn::<1>()?; - assert_eq!( - res, test.expected, - "CLZ for value {:#x} failed. Expected: {}, Got: {}", - test.value, test.expected, res - ); - ControlFlow::Continue(()) - })() - .is_continue()); + assert!( + (|| { + interpreter.stack.push(test.value)?; + clz(&mut interpreter)?; + let [res] = interpreter.stack.popn::<1>()?; + assert_eq!( + res, test.expected, + "CLZ for value {:#x} failed. Expected: {}, Got: {}", + test.value, test.expected, res + ); + ControlFlow::Continue(()) + })() + .is_continue() + ); } } } diff --git a/substrate/frame/revive/src/vm/evm/instructions/block_info.rs b/substrate/frame/revive/src/vm/evm/instructions/block_info.rs index 4c770648c197d..9b503ab9c3d83 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/block_info.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/block_info.rs @@ -16,11 +16,11 @@ // limitations under the License. use crate::{ + Error, RuntimeCosts, vm::{ - evm::{interpreter::Halt, EVMGas, Interpreter, DIFFICULTY}, Ext, + evm::{DIFFICULTY, EVMGas, Interpreter, interpreter::Halt}, }, - Error, RuntimeCosts, }; use core::ops::ControlFlow; use revm::interpreter::gas::BASE; diff --git a/substrate/frame/revive/src/vm/evm/instructions/contract.rs b/substrate/frame/revive/src/vm/evm/instructions/contract.rs index 82f238137cd12..8757ca17f4eec 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/contract.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/contract.rs @@ -19,12 +19,12 @@ mod call_helpers; use super::utility::IntoAddress; use crate::{ + Code, DebugSettings, Error, H160, LOG_TARGET, Pallet, ReentrancyProtection, U256, exec::CallResources, vm::{ - evm::{interpreter::Halt, util::as_usize_or_halt, Interpreter}, Ext, RuntimeCosts, + evm::{Interpreter, interpreter::Halt, util::as_usize_or_halt}, }, - Code, DebugSettings, Error, Pallet, ReentrancyProtection, H160, LOG_TARGET, U256, }; use alloc::{vec, vec::Vec}; pub use call_helpers::{charge_call_gas, get_memory_in_and_out_ranges}; diff --git a/substrate/frame/revive/src/vm/evm/instructions/contract/call_helpers.rs b/substrate/frame/revive/src/vm/evm/instructions/contract/call_helpers.rs index 436e5eed649c0..9821973df1634 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/contract/call_helpers.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/contract/call_helpers.rs @@ -16,12 +16,12 @@ // limitations under the License. use crate::{ + Pallet, RuntimeCosts, precompiles::{All as AllPrecompiles, Precompiles}, vm::{ - evm::{interpreter::Halt, util::as_usize_or_halt, Interpreter}, Ext, + evm::{Interpreter, interpreter::Halt, util::as_usize_or_halt}, }, - Pallet, RuntimeCosts, }; use core::ops::{ControlFlow, Range}; use revm::interpreter::interpreter_action::CallScheme; @@ -50,7 +50,7 @@ pub fn resize_memory<'a, E: Ext>( interpreter.memory.resize(offset, len)?; ControlFlow::Continue(offset..offset + len) } else { - //unrealistic value so we are sure it is not used + // unrealistic value so we are sure it is not used ControlFlow::Continue(usize::MAX..usize::MAX) } } diff --git a/substrate/frame/revive/src/vm/evm/instructions/control.rs b/substrate/frame/revive/src/vm/evm/instructions/control.rs index 658d564294a8f..62a605194e7ad 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/control.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/control.rs @@ -16,15 +16,15 @@ // limitations under the License. use crate::{ + Error, U256, vm::{ + Ext, evm::{ + EVMGas, Interpreter, interpreter::Halt, util::{as_usize_or_halt, as_usize_or_halt_with}, - EVMGas, Interpreter, }, - Ext, }, - Error, U256, }; use alloc::vec::Vec; use core::ops::ControlFlow; diff --git a/substrate/frame/revive/src/vm/evm/instructions/host.rs b/substrate/frame/revive/src/vm/evm/instructions/host.rs index d3cb9c77a5462..0b72a3e282855 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/host.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/host.rs @@ -15,18 +15,17 @@ // See the License for the specific language governing permissions and // limitations under the License. use crate::{ - limits, + DispatchError, Error, Key, LOG_TARGET, RuntimeCosts, U256, limits, metering::Token, storage::WriteOutcome, vec::Vec, vm::{ + Ext, evm::{ - instructions::utility::IntoAddress, interpreter::Halt, util::as_usize_or_halt, - Interpreter, + Interpreter, instructions::utility::IntoAddress, interpreter::Halt, + util::as_usize_or_halt, }, - Ext, }, - DispatchError, Error, Key, RuntimeCosts, LOG_TARGET, U256, }; use core::ops::ControlFlow; diff --git a/substrate/frame/revive/src/vm/evm/instructions/memory.rs b/substrate/frame/revive/src/vm/evm/instructions/memory.rs index 150d547131e07..50c77c14191e3 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/memory.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/memory.rs @@ -16,14 +16,14 @@ // limitations under the License. use crate::{ + Error, U256, vm::{ - evm::{interpreter::Halt, util::as_usize_or_halt, EVMGas, Interpreter}, Ext, + evm::{EVMGas, Interpreter, interpreter::Halt, util::as_usize_or_halt}, }, - Error, U256, }; use core::{cmp::max, ops::ControlFlow}; -use revm::interpreter::gas::{copy_cost_verylow, BASE, VERYLOW}; +use revm::interpreter::gas::{BASE, VERYLOW, copy_cost_verylow}; /// Implements the MLOAD instruction. /// diff --git a/substrate/frame/revive/src/vm/evm/instructions/mod.rs b/substrate/frame/revive/src/vm/evm/instructions/mod.rs index e15be8cfee16f..e74fed961af77 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/mod.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/mod.rs @@ -17,7 +17,7 @@ /// EVM opcode implementations. use super::interpreter::Interpreter; -use crate::vm::{evm::Halt, Ext}; +use crate::vm::{Ext, evm::Halt}; use revm::bytecode::opcode::*; /// Arithmetic operations (ADD, SUB, MUL, DIV, etc.). diff --git a/substrate/frame/revive/src/vm/evm/instructions/stack.rs b/substrate/frame/revive/src/vm/evm/instructions/stack.rs index c29a220602b8b..26b2cf656f1b9 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/stack.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/stack.rs @@ -16,11 +16,11 @@ // limitations under the License. use crate::{ + U256, vm::{ - evm::{interpreter::Halt, EVMGas, Interpreter}, Ext, + evm::{EVMGas, Interpreter, interpreter::Halt}, }, - U256, }; use core::ops::ControlFlow; use revm::interpreter::gas::{BASE, VERYLOW}; diff --git a/substrate/frame/revive/src/vm/evm/instructions/system.rs b/substrate/frame/revive/src/vm/evm/instructions/system.rs index 92167a0248366..66e3698c1ada2 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/system.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/system.rs @@ -17,12 +17,12 @@ use super::utility::as_usize_saturated; use crate::{ + Config, Error, U256, address::AddressMapper, vm::{ - evm::{interpreter::Halt, util::as_usize_or_halt, EVMGas, Interpreter}, Ext, RuntimeCosts, + evm::{EVMGas, Interpreter, interpreter::Halt, util::as_usize_or_halt}, }, - Config, Error, U256, }; use core::ops::ControlFlow; use revm::interpreter::gas::{BASE, VERYLOW}; @@ -93,7 +93,7 @@ pub fn codecopy(interpreter: &mut Interpreter) -> ControlFlow { let [memory_offset, code_offset, len] = interpreter.stack.popn()?; let len = as_usize_or_halt::(len)?; let Some(memory_offset) = memory_resize(interpreter, memory_offset, len)? else { - return ControlFlow::Continue(()) + return ControlFlow::Continue(()); }; let code_offset = as_usize_saturated(code_offset); @@ -181,7 +181,7 @@ pub fn returndatacopy(interpreter: &mut Interpreter) -> ControlFlow( len: usize, ) -> ControlFlow> { if len == 0 { - return ControlFlow::Continue(None) + return ControlFlow::Continue(None); } interpreter.ext.charge_or_halt(RuntimeCosts::CopyToContract(len as u32))?; diff --git a/substrate/frame/revive/src/vm/evm/instructions/tx_info.rs b/substrate/frame/revive/src/vm/evm/instructions/tx_info.rs index 83dd1cb7e1bed..76f6c6222c55b 100644 --- a/substrate/frame/revive/src/vm/evm/instructions/tx_info.rs +++ b/substrate/frame/revive/src/vm/evm/instructions/tx_info.rs @@ -16,12 +16,12 @@ // limitations under the License. use crate::{ + Config, Error, address::AddressMapper, vm::{ - evm::{interpreter::Halt, Interpreter}, Ext, RuntimeCosts, + evm::{Interpreter, interpreter::Halt}, }, - Config, Error, }; use core::ops::ControlFlow; diff --git a/substrate/frame/revive/src/vm/evm/interpreter.rs b/substrate/frame/revive/src/vm/evm/interpreter.rs index be5663499ba6e..fe98b6e12aa2a 100644 --- a/substrate/frame/revive/src/vm/evm/interpreter.rs +++ b/substrate/frame/revive/src/vm/evm/interpreter.rs @@ -17,12 +17,13 @@ use super::ExtBytecode; use crate::{ + Config, DispatchError, Error, Weight, primitives::ExecReturnValue, + tracing::FrameTraceInfo, vm::{ - evm::{memory::Memory, stack::Stack}, ExecResult, Ext, + evm::{memory::Memory, stack::Stack}, }, - Config, DispatchError, Error, }; use alloc::vec::Vec; use pallet_revive_uapi::ReturnFlags; @@ -74,3 +75,29 @@ impl<'a, E: Ext> Interpreter<'a, E> { Self { ext, bytecode, input, stack: Stack::new(), memory: Memory::new() } } } + +impl FrameTraceInfo for Interpreter<'_, E> { + fn gas_left(&self) -> u64 { + let meter = self.ext.frame_meter(); + meter.eth_gas_left().unwrap_or_default().try_into().unwrap_or_default() + } + + fn weight_consumed(&self) -> Weight { + let meter = self.ext.frame_meter(); + meter.weight_consumed() + } + + fn last_frame_output(&self) -> crate::evm::Bytes { + crate::evm::Bytes(self.ext.last_frame_output().data.clone()) + } +} + +impl crate::tracing::EVMFrameTraceInfo for Interpreter<'_, E> { + fn memory_snapshot(&self, limit: usize) -> Vec { + self.memory.snapshot(limit) + } + + fn stack_snapshot(&self) -> Vec { + self.stack.snapshot() + } +} diff --git a/substrate/frame/revive/src/vm/evm/memory.rs b/substrate/frame/revive/src/vm/evm/memory.rs index 15e9d0f46aa14..3b3679cde7f7d 100644 --- a/substrate/frame/revive/src/vm/evm/memory.rs +++ b/substrate/frame/revive/src/vm/evm/memory.rs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{vm::evm::Halt, Config, Error}; +use crate::{Config, Error, vm::evm::Halt}; use alloc::vec::Vec; use core::ops::{ControlFlow, Range}; @@ -39,7 +39,7 @@ impl Memory { /// Panics on out of bounds,if the range is non-empty. pub fn slice(&self, range: Range) -> &[u8] { if range.is_empty() { - return &[] + return &[]; } &self.data[range] } @@ -53,6 +53,10 @@ impl Memory { &mut self.data[offset..offset + len] } + fn get_word(&self, offset: usize) -> &[u8; 32] { + self.data[offset..offset + 32].try_into().unwrap() + } + /// Get the current memory size in bytes pub fn size(&self) -> usize { self.data.len() @@ -126,6 +130,20 @@ impl Memory { pub fn copy(&mut self, dst: usize, src: usize, len: usize) { self.data.copy_within(src..src + len, dst); } + + /// Returns a snapshot of the memory in 32-byte chunks, limited to the specified number of + /// chunks. + pub fn snapshot(&self, limit: usize) -> Vec { + let mut memory_bytes = Vec::new(); + let words_to_read = core::cmp::min(self.size().div_ceil(32), limit); + + for i in 0..words_to_read { + let word = self.get_word(i * 32); + memory_bytes.push(crate::evm::Bytes(word.to_vec())); + } + + memory_bytes + } } #[cfg(test)] diff --git a/substrate/frame/revive/src/vm/evm/stack.rs b/substrate/frame/revive/src/vm/evm/stack.rs index 7219ac81ccf15..f7d9a384494fd 100644 --- a/substrate/frame/revive/src/vm/evm/stack.rs +++ b/substrate/frame/revive/src/vm/evm/stack.rs @@ -17,7 +17,7 @@ //! Custom EVM stack implementation using sp_core::U256 -use crate::{limits::EVM_STACK_LIMIT, vm::evm::interpreter::Halt, Config, Error}; +use crate::{Config, Error, limits::EVM_STACK_LIMIT, vm::evm::interpreter::Halt}; use alloc::vec::Vec; use core::ops::ControlFlow; use sp_core::{H160, H256, U256}; @@ -175,6 +175,17 @@ impl Stack { self.stack.push(U256::from_big_endian(&word_bytes)); return ControlFlow::Continue(()); } + + /// Returns a snapshot of the stack as bytes. + pub fn snapshot(&self) -> Vec { + let mut stack_bytes = Vec::new(); + for value in self.stack.iter() { + let bytes = value.to_big_endian().to_vec(); + stack_bytes.push(crate::evm::Bytes(bytes)); + } + + stack_bytes + } } #[cfg(test)] diff --git a/substrate/frame/revive/src/vm/evm/util.rs b/substrate/frame/revive/src/vm/evm/util.rs index a19084d210c2b..9743f3ccd9e00 100644 --- a/substrate/frame/revive/src/vm/evm/util.rs +++ b/substrate/frame/revive/src/vm/evm/util.rs @@ -14,7 +14,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -use crate::{vm::evm::interpreter::Halt, Config, Error, U256}; +use crate::{Config, Error, U256, vm::evm::interpreter::Halt}; use core::ops::ControlFlow; /// Helper function to convert U256 to usize, checking for overflow diff --git a/substrate/frame/revive/src/vm/mod.rs b/substrate/frame/revive/src/vm/mod.rs index ff58b525f4cb2..edb88d3e5a0ee 100644 --- a/substrate/frame/revive/src/vm/mod.rs +++ b/substrate/frame/revive/src/vm/mod.rs @@ -25,12 +25,12 @@ mod runtime_costs; pub use runtime_costs::RuntimeCosts; use crate::{ + AccountIdOf, BalanceOf, CodeInfoOf, CodeRemoved, Config, Error, ExecConfig, ExecError, + HoldReason, LOG_TARGET, Pallet, PristineCode, StorageDeposit, Weight, exec::{ExecResult, Executable, ExportedFunction, Ext}, frame_support::{ensure, error::BadOrigin}, metering::{ResourceMeter, State, Token}, weights::WeightInfo, - AccountIdOf, BalanceOf, CodeInfoOf, CodeRemoved, Config, Error, ExecConfig, ExecError, - HoldReason, Pallet, PristineCode, StorageDeposit, Weight, LOG_TARGET, }; use alloc::vec::Vec; use codec::{Decode, Encode, MaxEncodedLen}; diff --git a/substrate/frame/revive/src/vm/pvm.rs b/substrate/frame/revive/src/vm/pvm.rs index 6fb4cbca9aa70..c7e9ebcf3a0e2 100644 --- a/substrate/frame/revive/src/vm/pvm.rs +++ b/substrate/frame/revive/src/vm/pvm.rs @@ -19,20 +19,20 @@ pub mod env; -#[cfg(doc)] -pub use env::SyscallDoc; - use crate::{ + Code, Config, Error, LOG_TARGET, Pallet, ReentrancyProtection, RuntimeCosts, SENTINEL, exec::{CallResources, ExecError, ExecResult, Ext, Key}, limits, metering::ChargedAmount, precompiles::{All as AllPrecompiles, Precompiles}, primitives::ExecReturnValue, - Code, Config, Error, Pallet, ReentrancyProtection, RuntimeCosts, LOG_TARGET, SENTINEL, + tracing::FrameTraceInfo, }; use alloc::{vec, vec::Vec}; use codec::Encode; use core::{fmt, marker::PhantomData, mem}; +#[cfg(doc)] +pub use env::SyscallDoc; use frame_support::{ensure, weights::Weight}; use pallet_revive_uapi::{CallFlags, ReturnErrorCode, ReturnFlags, StorageFlags}; use sp_core::{H160, H256, U256}; @@ -216,11 +216,7 @@ impl PolkaVmInstance for polkavm::RawInstance { impl From<&ExecReturnValue> for ReturnErrorCode { fn from(from: &ExecReturnValue) -> Self { - if from.flags.contains(ReturnFlags::REVERT) { - Self::CalleeReverted - } else { - Self::Success - } + if from.flags.contains(ReturnFlags::REVERT) { Self::CalleeReverted } else { Self::Success } } } @@ -269,9 +265,7 @@ impl fmt::Display for TrapReason { /// We need this access as a macro because sometimes hiding the lifetimes behind /// a function won't work out. macro_rules! charge_gas { - ($runtime:expr, $costs:expr) => {{ - $runtime.ext.frame_meter_mut().charge_weight_token($costs) - }}; + ($runtime:expr, $costs:expr) => {{ $runtime.ext.frame_meter_mut().charge_weight_token($costs) }}; } /// The kind of call that should be performed. @@ -640,8 +634,9 @@ impl<'a, E: Ext, M: ?Sized + Memory> Runtime<'a, E, M> { let callee = memory.read_h160(callee_ptr)?; let precompile = >::get::(&callee.as_fixed_bytes()); match &precompile { - Some(precompile) if precompile.has_contract_info() => - self.charge_gas(RuntimeCosts::PrecompileWithInfoBase)?, + Some(precompile) if precompile.has_contract_info() => { + self.charge_gas(RuntimeCosts::PrecompileWithInfoBase)? + }, Some(_) => self.charge_gas(RuntimeCosts::PrecompileBase)?, None => self.charge_gas(call_type.cost())?, }; @@ -814,6 +809,21 @@ impl<'a, E: Ext, M: ?Sized + Memory> Runtime<'a, E, M> { } } +impl<'a, E: Ext, M: ?Sized + Memory> FrameTraceInfo for Runtime<'a, E, M> { + fn gas_left(&self) -> u64 { + let meter = self.ext.frame_meter(); + meter.eth_gas_left().unwrap_or_default().try_into().unwrap_or_default() + } + fn weight_consumed(&self) -> Weight { + let meter = self.ext.frame_meter(); + meter.weight_consumed() + } + + fn last_frame_output(&self) -> crate::evm::Bytes { + crate::evm::Bytes(self.ext.last_frame_output().data.clone()) + } +} + pub struct PreparedCall<'a, E: Ext> { module: polkavm::Module, instance: polkavm::RawInstance, @@ -827,7 +837,7 @@ impl<'a, E: Ext> PreparedCall<'a, E> { if let Some(exec_result) = self.runtime.handle_interrupt(interrupt, &self.module, &mut self.instance) { - break exec_result + break exec_result; } }; self.runtime.ext().frame_meter_mut().sync_from_executor(self.instance.gas())?; diff --git a/substrate/frame/revive/src/vm/pvm/env.rs b/substrate/frame/revive/src/vm/pvm/env.rs index 5232c45497160..8bc3b523660cf 100644 --- a/substrate/frame/revive/src/vm/pvm/env.rs +++ b/substrate/frame/revive/src/vm/pvm/env.rs @@ -18,13 +18,13 @@ use super::*; use crate::{ + AccountIdOf, CodeInfo, Config, ContractBlob, Error, SENTINEL, Weight, address::AddressMapper, debug::DebugSettings, exec::Ext, limits, primitives::ExecReturnValue, - vm::{calculate_code_deposit, BytecodeType, ExportedFunction, RuntimeCosts}, - AccountIdOf, CodeInfo, Config, ContractBlob, Error, Weight, SENTINEL, + vm::{BytecodeType, ExportedFunction, RuntimeCosts, calculate_code_deposit}, }; use alloc::vec::Vec; use core::mem; @@ -109,7 +109,7 @@ impl ContractBlob { pub fn from_pvm_code(code: Vec, owner: AccountIdOf) -> Result { // We do validation only when new code is deployed. This allows us to increase // the limits later without affecting already deployed code. - let available_syscalls = list_syscalls(T::UnsafeUnstableInterface::get()); + let available_syscalls = list_syscalls(); let code = limits::code::enforce::(code, available_syscalls)?; let code_len = code.len() as u32; @@ -143,8 +143,9 @@ impl<'a, E: Ext, M: PolkaVmInstance> Runtime<'a, E, M> { log::error!(target: LOG_TARGET, "polkavm execution error: {error}"); Some(Err(Error::::ExecutionFailed.into())) }, - Ok(Finished) => - Some(Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() })), + Ok(Finished) => { + Some(Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() })) + }, Ok(Trap) => Some(Err(Error::::ContractTrapped.into())), Ok(Segfault(_)) => Some(Err(Error::::ExecutionFailed.into())), Ok(NotEnoughGas) => Some(Err(Error::::OutOfGas.into())), @@ -158,7 +159,7 @@ impl<'a, E: Ext, M: PolkaVmInstance> Runtime<'a, E, M> { return Some(Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new(), - })) + })); } let Some(syscall_symbol) = module.imports().get(idx) else { return Some(Err(>::InvalidSyscall.into())); @@ -169,11 +170,12 @@ impl<'a, E: Ext, M: PolkaVmInstance> Runtime<'a, E, M> { instance.write_output(return_value); None }, - Err(TrapReason::Return(ReturnData { flags, data })) => + Err(TrapReason::Return(ReturnData { flags, data })) => { match ReturnFlags::from_bits(flags) { None => Some(Err(Error::::InvalidCallFlags.into())), Some(flags) => Some(Ok(ExecReturnValue { flags, data })), - }, + } + }, Err(TrapReason::Termination) => Some(Ok(Default::default())), Err(TrapReason::SupervisorError(error)) => Some(Err(error.into())), } @@ -192,18 +194,13 @@ impl<'a, E: Ext, M: PolkaVmInstance> Runtime<'a, E, M> { #[define_env] pub mod env { /// Noop function used to benchmark the time it takes to execute an empty function. - /// - /// Marked as stable because it needs to be called from benchmarks even when the benchmarked - /// parachain has unstable functions disabled. #[cfg(feature = "runtime-benchmarks")] - #[stable] fn noop(&mut self, memory: &mut M) -> Result<(), TrapReason> { Ok(()) } /// Set the value at the given key in the contract storage. - /// See [`pallet_revive_uapi::HostFn::set_storage_v2`] - #[stable] + /// See [`pallet_revive_uapi::HostFn::set_storage`] #[mutating] fn set_storage( &mut self, @@ -225,7 +222,6 @@ pub mod env { /// Sets the storage at a fixed 256-bit key with a fixed 256-bit value. /// See [`pallet_revive_uapi::HostFn::set_storage_or_clear`]. - #[stable] #[mutating] fn set_storage_or_clear( &mut self, @@ -245,7 +241,6 @@ pub mod env { /// Retrieve the value under the given key from storage. /// See [`pallet_revive_uapi::HostFn::get_storage`] - #[stable] fn get_storage( &mut self, memory: &mut M, @@ -267,7 +262,6 @@ pub mod env { /// Reads the storage at a fixed 256-bit key and writes back a fixed 256-bit value. /// See [`pallet_revive_uapi::HostFn::get_storage_or_zero`]. - #[stable] fn get_storage_or_zero( &mut self, memory: &mut M, @@ -289,7 +283,6 @@ pub mod env { /// Make a call to another contract. /// See [`pallet_revive_uapi::HostFn::call`]. - #[stable] fn call( &mut self, memory: &mut M, @@ -324,7 +317,6 @@ pub mod env { /// Make a call to another contract. /// See [`pallet_revive_uapi::HostFn::call_evm`]. - #[stable] fn call_evm( &mut self, memory: &mut M, @@ -362,7 +354,6 @@ pub mod env { /// Execute code in the context (storage, caller, value) of the current contract. /// See [`pallet_revive_uapi::HostFn::delegate_call`]. - #[stable] fn delegate_call( &mut self, memory: &mut M, @@ -396,7 +387,6 @@ pub mod env { /// Same as `delegate_call` but with EVM gas. /// See [`pallet_revive_uapi::HostFn::delegate_call_evm`]. - #[stable] fn delegate_call_evm( &mut self, memory: &mut M, @@ -429,7 +419,6 @@ pub mod env { /// Instantiate a contract with the specified code hash. /// See [`pallet_revive_uapi::HostFn::instantiate`]. - #[stable] #[mutating] fn instantiate( &mut self, @@ -469,7 +458,6 @@ pub mod env { /// Returns the total size of the contract call input data. /// See [`pallet_revive_uapi::HostFn::call_data_size `]. - #[stable] fn call_data_size(&mut self, memory: &mut M) -> Result { self.charge_gas(RuntimeCosts::CallDataSize)?; Ok(self @@ -481,7 +469,6 @@ pub mod env { /// Stores the input passed by the caller into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::call_data_copy`]. - #[stable] fn call_data_copy( &mut self, memory: &mut M, @@ -512,7 +499,6 @@ pub mod env { /// Stores the U256 value at given call input `offset` into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::call_data_load`]. - #[stable] fn call_data_load( &mut self, memory: &mut M, @@ -543,7 +529,6 @@ pub mod env { /// Cease contract execution and save a data buffer as a result of the execution. /// See [`pallet_revive_uapi::HostFn::return_value`]. - #[stable] fn seal_return( &mut self, memory: &mut M, @@ -560,7 +545,6 @@ pub mod env { /// Stores the address of the caller into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::caller`]. - #[stable] fn caller(&mut self, memory: &mut M, out_ptr: u32) -> Result<(), TrapReason> { self.charge_gas(RuntimeCosts::Caller)?; let caller = ::AddressMapper::to_address(self.ext.caller().account_id()?); @@ -575,7 +559,6 @@ pub mod env { /// Stores the address of the call stack origin into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::origin`]. - #[stable] fn origin(&mut self, memory: &mut M, out_ptr: u32) -> Result<(), TrapReason> { self.charge_gas(RuntimeCosts::Origin)?; let origin = ::AddressMapper::to_address(self.ext.origin().account_id()?); @@ -590,7 +573,6 @@ pub mod env { /// Retrieve the code hash for a specified contract address. /// See [`pallet_revive_uapi::HostFn::code_hash`]. - #[stable] fn code_hash(&mut self, memory: &mut M, addr_ptr: u32, out_ptr: u32) -> Result<(), TrapReason> { self.charge_gas(RuntimeCosts::CodeHash)?; let address = memory.read_h160(addr_ptr)?; @@ -605,7 +587,6 @@ pub mod env { /// Retrieve the code size for a given contract address. /// See [`pallet_revive_uapi::HostFn::code_size`]. - #[stable] fn code_size(&mut self, memory: &mut M, addr_ptr: u32) -> Result { self.charge_gas(RuntimeCosts::CodeSize)?; let address = memory.read_h160(addr_ptr)?; @@ -614,7 +595,6 @@ pub mod env { /// Stores the address of the current contract into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::address`]. - #[stable] fn address(&mut self, memory: &mut M, out_ptr: u32) -> Result<(), TrapReason> { self.charge_gas(RuntimeCosts::Address)?; let address = self.ext.address(); @@ -629,7 +609,6 @@ pub mod env { /// Stores the immutable data into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::get_immutable_data`]. - #[stable] fn get_immutable_data( &mut self, memory: &mut M, @@ -646,7 +625,6 @@ pub mod env { /// Attaches the supplied immutable data to the currently executing contract. /// See [`pallet_revive_uapi::HostFn::set_immutable_data`]. - #[stable] fn set_immutable_data(&mut self, memory: &mut M, ptr: u32, len: u32) -> Result<(), TrapReason> { if len > limits::IMMUTABLE_BYTES { return Err(Error::::OutOfBounds.into()); @@ -660,7 +638,6 @@ pub mod env { /// Stores the *free* balance of the current account into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::balance`]. - #[stable] fn balance(&mut self, memory: &mut M, out_ptr: u32) -> Result<(), TrapReason> { self.charge_gas(RuntimeCosts::Balance)?; Ok(self.write_fixed_sandbox_output( @@ -674,7 +651,6 @@ pub mod env { /// Stores the *free* balance of the supplied address into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::balance`]. - #[stable] fn balance_of( &mut self, memory: &mut M, @@ -694,7 +670,6 @@ pub mod env { /// Returns the chain ID. /// See [`pallet_revive_uapi::HostFn::chain_id`]. - #[stable] fn chain_id(&mut self, memory: &mut M, out_ptr: u32) -> Result<(), TrapReason> { Ok(self.write_fixed_sandbox_output( memory, @@ -707,7 +682,6 @@ pub mod env { /// Returns the block ref_time limit. /// See [`pallet_revive_uapi::HostFn::gas_limit`]. - #[stable] fn gas_limit(&mut self, memory: &mut M) -> Result { self.charge_gas(RuntimeCosts::GasLimit)?; Ok(self.ext.gas_limit()) @@ -715,7 +689,6 @@ pub mod env { /// Stores the value transferred along with this call/instantiate into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::value_transferred`]. - #[stable] fn value_transferred(&mut self, memory: &mut M, out_ptr: u32) -> Result<(), TrapReason> { self.charge_gas(RuntimeCosts::ValueTransferred)?; Ok(self.write_fixed_sandbox_output( @@ -729,7 +702,6 @@ pub mod env { /// Returns the simulated ethereum `GASPRICE` value. /// See [`pallet_revive_uapi::HostFn::gas_price`]. - #[stable] fn gas_price(&mut self, memory: &mut M) -> Result { self.charge_gas(RuntimeCosts::GasPrice)?; Ok(self.ext.effective_gas_price().saturated_into()) @@ -737,7 +709,6 @@ pub mod env { /// Returns the simulated ethereum `BASEFEE` value. /// See [`pallet_revive_uapi::HostFn::base_fee`]. - #[stable] fn base_fee(&mut self, memory: &mut M, out_ptr: u32) -> Result<(), TrapReason> { self.charge_gas(RuntimeCosts::BaseFee)?; Ok(self.write_fixed_sandbox_output( @@ -751,7 +722,6 @@ pub mod env { /// Load the latest block timestamp into the supplied buffer /// See [`pallet_revive_uapi::HostFn::now`]. - #[stable] fn now(&mut self, memory: &mut M, out_ptr: u32) -> Result<(), TrapReason> { self.charge_gas(RuntimeCosts::Now)?; Ok(self.write_fixed_sandbox_output( @@ -765,7 +735,6 @@ pub mod env { /// Deposit a contract event with the data buffer and optional list of topics. /// See [pallet_revive_uapi::HostFn::deposit_event] - #[stable] #[mutating] fn deposit_event( &mut self, @@ -805,7 +774,6 @@ pub mod env { /// Stores the current block number of the current contract into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::block_number`]. - #[stable] fn block_number(&mut self, memory: &mut M, out_ptr: u32) -> Result<(), TrapReason> { self.charge_gas(RuntimeCosts::BlockNumber)?; Ok(self.write_fixed_sandbox_output( @@ -819,7 +787,6 @@ pub mod env { /// Stores the block hash at given block height into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::block_hash`]. - #[stable] fn block_hash( &mut self, memory: &mut M, @@ -840,7 +807,6 @@ pub mod env { /// Stores the current block author into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::block_author`]. - #[stable] fn block_author(&mut self, memory: &mut M, out_ptr: u32) -> Result<(), TrapReason> { self.charge_gas(RuntimeCosts::BlockAuthor)?; let block_author = self.ext.block_author(); @@ -856,7 +822,6 @@ pub mod env { /// Computes the KECCAK 256-bit hash on the given input buffer. /// See [`pallet_revive_uapi::HostFn::hash_keccak_256`]. - #[stable] fn hash_keccak_256( &mut self, memory: &mut M, @@ -872,7 +837,6 @@ pub mod env { /// Stores the length of the data returned by the last call into the supplied buffer. /// See [`pallet_revive_uapi::HostFn::return_data_size`]. - #[stable] fn return_data_size(&mut self, memory: &mut M) -> Result { self.charge_gas(RuntimeCosts::ReturnDataSize)?; Ok(self @@ -885,8 +849,7 @@ pub mod env { } /// Stores data returned by the last call, starting from `offset`, into the supplied buffer. - /// See [`pallet_revive_uapi::HostFn::return_data`]. - #[stable] + /// See [`pallet_revive_uapi::HostFn::return_data_copy`]. fn return_data_copy( &mut self, memory: &mut M, @@ -917,7 +880,6 @@ pub mod env { /// would be a breaking change. /// /// See [`pallet_revive_uapi::HostFn::gas_left`]. - #[stable] fn ref_time_left(&mut self, memory: &mut M) -> Result { self.charge_gas(RuntimeCosts::RefTimeLeft)?; Ok(self.ext.gas_left()) @@ -926,7 +888,6 @@ pub mod env { /// Reverts the execution without data and cedes all remaining gas. /// /// See [`pallet_revive_uapi::HostFn::consume_all_gas`]. - #[stable] fn consume_all_gas(&mut self, memory: &mut M) -> Result<(), TrapReason> { self.ext.frame_meter_mut().consume_all_weight(); Err(TrapReason::Return(ReturnData { @@ -936,7 +897,7 @@ pub mod env { } /// Calculates Ethereum address from the ECDSA compressed public key and stores - /// See [`pallet_revive_uapi::HostFn::ecdsa_to_eth_address`]. + /// See `uapi/sol/ISystem.sol`. fn ecdsa_to_eth_address( &mut self, memory: &mut M, @@ -956,23 +917,8 @@ pub mod env { } } - /// Replace the contract code at the specified address with new code. - /// See [`pallet_revive_uapi::HostFn::set_code_hash`]. - /// - /// Disabled until the internal implementation takes care of collecting - /// the immutable data of the new code hash. - #[mutating] - fn set_code_hash(&mut self, memory: &mut M, code_hash_ptr: u32) -> Result<(), TrapReason> { - let charged = self.charge_gas(RuntimeCosts::SetCodeHash { old_code_removed: true })?; - let code_hash: H256 = memory.read_h256(code_hash_ptr)?; - if matches!(self.ext.set_code_hash(code_hash)?, crate::CodeRemoved::No) { - self.adjust_gas(charged, RuntimeCosts::SetCodeHash { old_code_removed: false }); - } - Ok(()) - } - /// Verify a sr25519 signature - /// See [`pallet_revive_uapi::HostFn::sr25519_verify`]. + /// See `uapi/sol/ISystem.sol`. fn sr25519_verify( &mut self, memory: &mut M, @@ -1002,7 +948,6 @@ pub mod env { /// **total** balance if code is deleted from storage, else **free** balance only. /// See [`pallet_revive_uapi::HostFn::terminate`]. #[mutating] - #[stable] fn terminate(&mut self, memory: &mut M, beneficiary_ptr: u32) -> Result<(), TrapReason> { let charged = self.charge_gas(RuntimeCosts::Terminate { code_removed: true })?; let beneficiary = memory.read_h160(beneficiary_ptr)?; diff --git a/substrate/frame/revive/src/vm/runtime_costs.rs b/substrate/frame/revive/src/vm/runtime_costs.rs index cf4e782cd245f..80fd6fb61d54a 100644 --- a/substrate/frame/revive/src/vm/runtime_costs.rs +++ b/substrate/frame/revive/src/vm/runtime_costs.rs @@ -16,10 +16,10 @@ // limitations under the License. use crate::{ - limits, metering::Token, weightinfo_extension::OnFinalizeBlockParts, weights::WeightInfo, - Config, + Config, limits, metering::Token, weightinfo_extension::OnFinalizeBlockParts, + weights::WeightInfo, }; -use frame_support::weights::{constants::WEIGHT_REF_TIME_PER_SECOND, Weight}; +use frame_support::weights::{Weight, constants::WEIGHT_REF_TIME_PER_SECOND}; /// Current approximation of the gas/s consumption considering /// EVM execution over compiled WASM (on 4.4Ghz CPU). @@ -160,8 +160,6 @@ pub enum RuntimeCosts { Sr25519Verify(u32), /// Weight charged by a precompile. Precompile(Weight), - /// Weight of calling `seal_set_code_hash` - SetCodeHash { old_code_removed: bool }, /// Weight of calling `ecdsa_to_eth_address` EcdsaToEthAddress, /// Weight of calling `get_immutable_dependency` @@ -306,21 +304,24 @@ impl Token for RuntimeCosts { PrecompileBase => T::WeightInfo::seal_call_precompile(0, 0), PrecompileWithInfoBase => T::WeightInfo::seal_call_precompile(1, 0), PrecompileDecode(len) => cost_args!(seal_call_precompile, 0, len), - CallTransferSurcharge { dust_transfer } => - cost_args!(seal_call, 1, dust_transfer.into(), 0), + CallTransferSurcharge { dust_transfer } => { + cost_args!(seal_call, 1, dust_transfer.into(), 0) + }, CallInputCloned(len) => cost_args!(seal_call, 0, 0, len), - Instantiate { input_data_len, balance_transfer, dust_transfer } => + Instantiate { input_data_len, balance_transfer, dust_transfer } => { T::WeightInfo::seal_instantiate( balance_transfer.into(), dust_transfer.into(), input_data_len, - ), - Create { init_code_len, balance_transfer, dust_transfer } => + ) + }, + Create { init_code_len, balance_transfer, dust_transfer } => { T::WeightInfo::evm_instantiate( balance_transfer.into(), dust_transfer.into(), init_code_len, - ), + ) + }, HashSha256(len) => T::WeightInfo::sha2_256(len), Ripemd160(len) => T::WeightInfo::ripemd_160(len), HashKeccak256(len) => T::WeightInfo::seal_hash_keccak_256(len), @@ -330,8 +331,6 @@ impl Token for RuntimeCosts { P256Verify => T::WeightInfo::p256_verify(), Sr25519Verify(len) => T::WeightInfo::seal_sr25519_verify(len), Precompile(weight) => weight, - SetCodeHash { old_code_removed } => - T::WeightInfo::seal_set_code_hash(old_code_removed.into()), EcdsaToEthAddress => T::WeightInfo::seal_ecdsa_to_eth_address(), GetImmutableData(len) => T::WeightInfo::seal_get_immutable_data(len), SetImmutableData(len) => T::WeightInfo::seal_set_immutable_data(len), diff --git a/substrate/frame/revive/src/weights.rs b/substrate/frame/revive/src/weights.rs index e13b67edc4fd8..b83b7dd9f8d6e 100644 --- a/substrate/frame/revive/src/weights.rs +++ b/substrate/frame/revive/src/weights.rs @@ -161,7 +161,6 @@ pub trait WeightInfo { fn bn128_pairing(n: u32, ) -> Weight; fn blake2f(n: u32, ) -> Weight; fn seal_ecdsa_to_eth_address() -> Weight; - fn seal_set_code_hash(r: u32, ) -> Weight; fn evm_opcode(r: u32, ) -> Weight; fn instr(r: u32, ) -> Weight; fn instr_empty_loop(r: u32, ) -> Weight; @@ -1288,29 +1287,6 @@ impl WeightInfo for SubstrateWeight { // Minimum execution time: 13_180_000 picoseconds. Weight::from_parts(13_387_000, 0) } - /// Storage: `Revive::CodeInfoOf` (r:2 w:2) - /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(97), added: 2572, mode: `Measured`) - /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(463), added: 2938, mode: `Measured`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) - /// Storage: `Revive::PristineCode` (r:0 w:1) - /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `r` is `[0, 1]`. - fn seal_set_code_hash(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `424 + r * (434 Β±0)` - // Estimated: `6364 + r * (2162 Β±0)` - // Minimum execution time: 14_799_000 picoseconds. - Weight::from_parts(15_922_167, 6364) - // Standard Error: 52_549 - .saturating_add(Weight::from_parts(47_258_332, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(r.into()))) - .saturating_add(T::DbWeight::get().writes(2_u64)) - .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 2162).saturating_mul(r.into())) - } /// The range of component `r` is `[0, 10000]`. fn evm_opcode(r: u32, ) -> Weight { // Proof Size summary in bytes: @@ -2600,29 +2576,6 @@ impl WeightInfo for () { // Minimum execution time: 13_180_000 picoseconds. Weight::from_parts(13_387_000, 0) } - /// Storage: `Revive::CodeInfoOf` (r:2 w:2) - /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(97), added: 2572, mode: `Measured`) - /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(463), added: 2938, mode: `Measured`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) - /// Storage: `Revive::PristineCode` (r:0 w:1) - /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `r` is `[0, 1]`. - fn seal_set_code_hash(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `424 + r * (434 Β±0)` - // Estimated: `6364 + r * (2162 Β±0)` - // Minimum execution time: 14_799_000 picoseconds. - Weight::from_parts(15_922_167, 6364) - // Standard Error: 52_549 - .saturating_add(Weight::from_parts(47_258_332, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(r.into()))) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - .saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 2162).saturating_mul(r.into())) - } /// The range of component `r` is `[0, 10000]`. fn evm_opcode(r: u32, ) -> Weight { // Proof Size summary in bytes: diff --git a/substrate/frame/revive/test-assets/block_0x151241d_ethereum-mainnet.json b/substrate/frame/revive/test-assets/block_0x151241d_ethereum-mainnet.json new file mode 100644 index 0000000000000..7450ae4eda5a6 --- /dev/null +++ b/substrate/frame/revive/test-assets/block_0x151241d_ethereum-mainnet.json @@ -0,0 +1,5060 @@ +{ + "baseFeePerGas": "0x19b83570", + "blobGasUsed": "0xc0000", + "difficulty": "0x0", + "excessBlobGas": "0x940000", + "extraData": "0x6265617665726275696c642e6f7267", + "gasLimit": "0x2255100", + "gasUsed": "0x1338012", + "hash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logsBloom": "0xf7ffd2e759d299f374d2b4ffe4dab6d9b5f5fa58a5e69f9f7edd57b4bfbafe7bec2b71dfff5ba6fef7dfdf9df57f07defe7bee7d8d937fab6bd75ed7efbf6fedffffefef6e796bfefe5773debefb3eff3b67b377d6f6eca53fdffeeed874de476effdfccdfeadde6eeaec2dbefbbfdfbcfabbf6337f18e5b59ff7df6557effdff7bfbefdf7fb796efdff9d603a6bdfeeffb35fff6fef2dedfd6ff9f5fffcfcbbffeffd7af3fd7bc657f5fdf3bfdbf73ebcfff0eef7ffe77efbf3fffffe6beffbfbcf7deb7f5ebfd57ffbe3bec50aedb767afedefa7805dfd75ff672774876ab7b7f7ffffa7ebfaadc7f59effefc77d764dffdfbb5f3837e2af1dba1f6beaffd9", + "miner": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5", + "mixHash": "0xa51cf717dc3e43b91d50568282d4718a9af87b88e5121b12b91928f523c98cf3", + "nonce": "0x0000000000000000", + "number": "0x151241d", + "parentBeaconBlockRoot": "0x58e013a86761b26c8b1a3917c07e89ba4b56ba3f6f7b8135f8d90850cbb98628", + "parentHash": "0xc92ae4fbcf93664696053a2289509c634889c12880fe0abbc8fa057e50dee7fb", + "receiptsRoot": "0x91d31e09d62e19ee2daaeabd0432c7d4abf4304f37a4481ec55bee84885ee5d3", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "size": "0x1b73a", + "stateRoot": "0xaf2755e56b5b109969f371d2088fb68c95c3b4efa146a46b97b7953e27134300", + "timestamp": "0x67dd4a0f", + "transactions": [ + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x277a3f2acad0b84626a63caa767d398aa96a2907", + "gas": "0x4cef3", + "gasPrice": "0x3c34bfa29", + "maxPriorityFeePerGas": "0x3a993c4b9", + "maxFeePerGas": "0x3c34bfa29", + "hash": "0x4702233113c3110a4279cee5a5674158f671e2638bf3a31c70167b38ab6a7af0", + "input": "0x59037dbc000000000000000000000000a3f558aebaecaf0e11ca4b2199cc5ed341edfd740000000000000000000000000000000000000000000004122d2246309dadbc100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005be95a0c59867dad587e45c000000000000000000000000000000000000000005bd8f0195723780000000000000000000000000000000005a98fcbea516cf06857215779fd812ca3bef1b32000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000167dd4a140151241d", + "nonce": "0x2dfe", + "to": "0x5dc62cea20b0e7c3607adcc61a885ff9369dbc60", + "transactionIndex": "0x0", + "value": "0x0", + "type": "0x2", + "accessList": [ + { + "address": "0xf73a1260d222f447210581ddf212d915c09a3249", + "storageKeys": [ + "0xd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b", + "0x4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x49bdad8b11195496e99876f52da52a77656688c9ab16bc1ef8a2a1cff6b22fa2" + ] + }, + { + "address": "0xb8ffc3cd6e7cf5a098a1c92f48009765b24088dc", + "storageKeys": [ + "0x8e2ed18767e9c33b25344c240cdf92034fae56be99e2c07f3d9946d949ffede4", + "0x98927f528d79864b2e32d36876faab88709db77eabda16542de3352ea010159c" + ] + }, + { + "address": "0x2b33cf282f867a7ff693a66e11b0fcc5552e4425", + "storageKeys": [] + }, + { + "address": "0xde3a93028f2283cc28756b3674bd657eafb992f4", + "storageKeys": [] + }, + { + "address": "0x5dc62cea20b0e7c3607adcc61a885ff9369dbc60", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xdc7e2c574a455340395a119f38a31ca26a363e54157d5567cac738ff97e8e32b", + "0xa10d334d97c77b45de7c677d21f3eb5b383bcb875921987743bca492c7fb9bb9" + ] + }, + { + "address": "0xa3f558aebaecaf0e11ca4b2199cc5ed341edfd74", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x4a6f485c1c32cc07b41a962ff745e1d2a15f32520f92181d93f06ac057458486", + "0x0000000000000000000000000000000000000000000000000000000000000026", + "0x0000000000000000000000000000000000000000000000000000000000000027" + ] + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "storageKeys": [ + "0x12ed0242e5b5478e54852c950fa127e3775ded1c7ac3b6fd822a07e2da20af2e", + "0x49bdad8b11195496e99876f52da52a77656688c9ab16bc1ef8a2a1cff6b22fa2" + ] + }, + { + "address": "0x5a98fcbea516cf06857215779fd812ca3bef1b32", + "storageKeys": [ + "0x2bb02f7a911f7acc2d4ffd7f0be24de813ba275e8846b6fbda9d9bf613b8515a", + "0x2bb02f7a911f7acc2d4ffd7f0be24de813ba275e8846b6fbda9d9bf613bb6d67", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x974019d82871bd8eeb55804078d1c10d12aff8cca749b8becba9a1b7259737d7", + "0xf403e26cf50e8e1a5113645a3fdff8ca267d212e3fc8c2683eaf1d416bc8e3ad", + "0xf403e26cf50e8e1a5113645a3fdff8ca267d212e3fc8c2683eaf1d416bc8f0e3", + "0xf403e26cf50e8e1a5113645a3fdff8ca267d212e3fc8c2683eaf1d416bc8f0e4", + "0x2bb02f7a911f7acc2d4ffd7f0be24de813ba275e8846b6fbda9d9bf613bb6d68", + "0xfe44e37affcb4b48e3dc85cde58558a3c6050df150925e23dd6c4a823b31d856" + ] + } + ], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xb0cda785d079a1c2a3917a6a13d023c8132e8623df04424ac4232f4c4da105ac", + "s": "0x7ccc30dcfd3bf99e2f9642e53b755ca9255acbdd6f4d5fb8b07a0a14b4758416" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xe62dc92012e3996374a7b8f5fa06b38434281afd", + "gas": "0x13273", + "gasPrice": "0x26dc41970", + "maxPriorityFeePerGas": "0x2540be400", + "maxFeePerGas": "0xe8d4a51000", + "hash": "0xe3de193be02d72e62d7f9b50f3803058d7a4237a4c3929c942693ebd84a9c004", + "input": "0x62ad1b83000000000000000000000000e62dc92012e3996374a7b8f5fa06b38434281afd000000000000000000000000c888b992da8556de2800cbdc5e309ac11b077c380000000000000000000000000000000000000000003a795a1a8515daee78000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000020687673647a627a656f7170616577626575776664797a6e676a6c76646e6b6b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x377", + "to": "0xf411903cbc70a74d22900a5de66a2dda66507255", + "transactionIndex": "0x1", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xf7d2391f6ed82ea5ac48e8d39a4f08009aff4cef816dbf0c1172fe5f41f27c31", + "s": "0x49f90bbaf38b651bff15e82823ede13078b5536e804c106d166f360f17ca64e5" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xf89d7b9c864f589bbf53a82105107622b35eaa40", + "gas": "0x15f90", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x2e90edd000", + "hash": "0xb1d5c9f54f923c803527b404d31272af95dc5b30317443ba99557c48efba3bcc", + "input": "0xa9059cbb000000000000000000000000010c993c3aa7d7e88c765dbca96a622a4653862e000000000000000000000000000000000000000000000094b355eea34f42c000", + "nonce": "0x59dbe4", + "to": "0xe9689028ede16c2fdfe3d11855d28f8e3fc452a3", + "transactionIndex": "0x2", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x35c04c4da63c01f243654550e98ec39675fa6eba68928bf94a76a08eb1a81b53", + "s": "0x71a48adea274f2d4addcc97ee97fe513c3b59f61d3a4606b70be20b2f22996a6" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xf89d7b9c864f589bbf53a82105107622b35eaa40", + "gas": "0x15f90", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x2e90edd000", + "hash": "0xd135fb7ebfc51f00597bda67d2ad9a1f692eaf624fd658ed1ea3316a88f4557f", + "input": "0xa9059cbb000000000000000000000000cd330bffb76e3d551052e1bb1833f830365a37b40000000000000000000000000000000000000000000001ad3b132a1d692f0000", + "nonce": "0x59dbe5", + "to": "0x168e209d7b2f58f1f24b8ae7b7d35e662bbf11cc", + "transactionIndex": "0x3", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x1aa07e74c18080175d57edce5627ba5e72e6d8724162c60a4a460b6f57f0d3fe", + "s": "0xf51288b2182d6a372f9a8894be9ce03133a18923c215b399c0fad110ef6ff7e" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xf89d7b9c864f589bbf53a82105107622b35eaa40", + "gas": "0x15f90", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x2e90edd000", + "hash": "0x0a08035aa1d86874ca8165eeffc75ec53d601acb5d3c892f59ea63958777b514", + "input": "0xa9059cbb000000000000000000000000cf72351a45d4a560f5e78ba3e1d00dd24602edae0000000000000000000000000000000000000000000000000000000ba3c16200", + "nonce": "0x59dbe6", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0x4", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x46db865a7edc00ca124c24bde3e4fddf78c159bcde523907ecf458b211e30323", + "s": "0x798a1e6bd0280eed7eda5029755795c7cdef0d18a6933e78ea85046c77104e2b" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x05ecb20187fc631bc9f9071254eca72d4d99ee3e", + "gas": "0x21e96", + "gasPrice": "0xaebb2e70", + "maxPriorityFeePerGas": "0x9502f900", + "maxFeePerGas": "0xc6a7ef66", + "hash": "0x4385af685a9c33304f5af0145da0964e287dd5efd3beef75db5b402eb796dfc5", + "input": "0xae169a500000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x9f", + "to": "0x28ca9caae31602d0312ebf6466c9dd57fca5da93", + "transactionIndex": "0x5", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xae3507524c7abf124970ab94b274a2d4fa45562195594391d237367d41c30f8b", + "s": "0x1e0aff1830b642d073bacfd38f47958d26c364951a00698582ce1d1859aa4ad5" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x264bd8291fae1d75db2c5f573b07faa6715997b5", + "gas": "0x7a120", + "gasPrice": "0x2540be400", + "hash": "0xaa98990ce8fed5784c06dd5087c3fa33895b3de9876ce8d68ef572620aaf6eca", + "input": "0x", + "nonce": "0x252e29", + "to": "0xf086be6ca53d67aa6774b32a3dec7568d38094cc", + "transactionIndex": "0x6", + "value": "0xad01dd13a62800", + "type": "0x1", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x58e76b340f41ee518407d412d94a252ae6ec7e69732d286abeeee89d624a20a", + "s": "0x2375d29b6343b0943037439006718bafc699b5610b4016c27ba74817e4488de" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xc52f71ffb01cd380c3c8734d6e8843b7e6cb8e32", + "gas": "0xc925", + "gasPrice": "0x1842dbdcb", + "hash": "0xc87c09a1813ece9def305e668602d0d306366601d1358cad7a9351f7c41d3312", + "input": "0xa9059cbb0000000000000000000000003cc936b795a188f0e246cbb2d74c5bd190aecf18000000000000000000000000000000000000000000000f2e599f87ac47ddc000", + "nonce": "0x1", + "to": "0x57e114b691db790c35207b2e685d4a43181e6061", + "transactionIndex": "0x7", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0xa17c281d78cf0062718fc9d4e60ef8a2eacce1f90812845014709124e38812c5", + "s": "0x5b852cc04277e7b29bb24908f41c4bd94741282dc93204ae6c7e4159a4dc236b" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x2da4cdc8ac4abf00a30f98d59b435d4153b7668a", + "gas": "0x13880", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x950e2059", + "hash": "0xffa1c84033feb49755457a0d25ad52303cccca3a73ed852b60d5eee4c39f4866", + "input": "0xa9059cbb00000000000000000000000064e623b9950729fb337253139332176263ac6b960000000000000000000000000000000000000000000000000000000001315187", + "nonce": "0x2a", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0x8", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x21897a4dbfa5a6706f01ce1378f776dacc9e16065110c5f9a2be8f7ea64b1c38", + "s": "0x3c24048578a2f29859a3e715ea3e2f3ce8e13c51955960c267b919de064825ff" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xd2d84dbee97e366259bdb33455e3bf537198e379", + "gas": "0x13880", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x924f0155", + "hash": "0xea9c7062923fb6fb8d9c8f09a319c5a58b2d5c7a193e77bc01d90b2cc0c3af90", + "input": "0xa9059cbb000000000000000000000000b8f3b369644695ce68a4409a2341fbc19ad3dda1000000000000000000000000000000000000000000000000000000005f678d62", + "nonce": "0x124", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0x9", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xb4e45a703b27bb209524fc8477d1c8bd80f75a1692d673a33c3a98cf071322e4", + "s": "0x2ac32be831dda04bb4f993bcb6410722352485f58b027c115fa8f8bb41173adf" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x88f5d7adb60f85249027a843ac63713529b5215f", + "gas": "0x13880", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x174876e80", + "hash": "0xdc544068d2004e94b3f211fdcc81a769a2012905fdfa1d27e7880f6601ce1a2d", + "input": "0xa9059cbb0000000000000000000000002f2bbb5a1f26ab6fe800235dea4450c57264d3eb0000000000000000000000000000000000000000000000000000000000a5772f", + "nonce": "0x154", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0xa", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xe047549aca6e4b13b89eafca5931814f24ee6aeba148919f7da06eb4a0ac92d5", + "s": "0x7a40e02b7bdb9d89d3ee8088723340d11c40c1d1e76a1326c63786af6c59ca8a" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x471441cd64046a2099e30d3356726d940fdb3763", + "gas": "0x13880", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x950e2059", + "hash": "0xe56735237f4bb6bcf0a584b99d70dd67c6a601a573bd99fb81b106888f3c552e", + "input": "0xa9059cbb0000000000000000000000004400315f625544497a08c1903d2d2ab468bff43500000000000000000000000000000000000000000000000000000034624b9190", + "nonce": "0x43", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0xb", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x10bddee34face31bd01be81226b4314c895eeb6c4d60ecb43f987d24b7f7d96b", + "s": "0x6f3664acbbae3f13115db6aff062086fb622f1622f14c30e5c59c540a6ca9e5c" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x41ee28ee05341e7fdddc8d433ba66054cd302ca1", + "gas": "0x33838", + "gasPrice": "0x40766bf0", + "maxPriorityFeePerGas": "0x26be3680", + "maxFeePerGas": "0x42a85c90", + "hash": "0xcea925e68473a5117d6292f7f9dfe5bd0b93a4f1fbc1bcc1f25afddde9486f61", + "input": "0xdeff4b240000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008200000000000000000000000041ee28ee05341e7fdddc8d433ba66054cd302ca1000000000000000000000000acfddb4696788af33c5b64157976aa8a27516716000000000000000000000000acfddb4696788af33c5b64157976aa8a2751671600000000000000000000000041ee28ee05341e7fdddc8d433ba66054cd302ca10000000000000000000000004200000000000000000000000000000000000006000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000083b2955f520cc600000000000000000000000000000000000000000000000000832bebc1fe81c30000000000000000000000000000000000000000000000000000000000000082000000000000000000000000000000000000000000000000000000000000fce00000000000000000000000000000000000000000000000000000000067dd779f0000000000000000000000000000000000000000000000000000000067dd4a1700000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x128cd", + "to": "0x5c7bcd6e7de5423a257d81b442095a1a6ced35c5", + "transactionIndex": "0xc", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x73cc96735d606b9372a1a993965968e0fb929910ac10071526ce29960e409362", + "s": "0x7b1488a488cfb46515a6c507cf9cef2e894575a2cb1fe0a8785968064f7eed5" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xd143f4289efaf0919d2616eab55dfaf0a0630aa0", + "gas": "0x13a4ab", + "gasPrice": "0x1f8f91f0", + "maxPriorityFeePerGas": "0x5d75c80", + "maxFeePerGas": "0x21bee5be", + "hash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "input": "0x849ce572000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000430bf48000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000002124b70fb9a5000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002006dc706f0005e68995a4461c3289d26bae37329c9117edbeaca869820a6d0e9a0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa0000000000000000000000000000000000000000000000000000000000430bf48000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000973796d62696f7369730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d62696e616e636557616c6c65740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000b60000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e64000000000000000000000000cb28fbe3e9c0fea62e0e63ff3f232cecfe555ad40000000000000000000000000000000000000000000000000000000000000b80000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a80000000000000000000000000000000000000000000000000000000000000be00000000000000000000000000000000000000000000000000000000000000a2490411a3200000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7f000000000000000000000000000000000000000000000000000000000430bf4800000000000000000000000000000000000000000000000000000000042cb3230000000000000000000000000000000000000000000000000000000004303cf700000000000000000000000000000000000000000000000000000000000000020000000000000000000000003254ae00947e44b7fd03f50b93b9acfed59f9620000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003a451a74316000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000006146be494fee4c73540cb1c5f87536abf14525000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006146be494fee4c73540cb1c5f87536abf14525000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000084c31b8d7a00000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef12100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000fffd8963efd1fc6a506488495d951d5263988d250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000648a6a1e85000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000922164bbbd36acf9e854acbbf32facc949fcaeef0000000000000000000000000000000000000000000000000000000004303cf700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f865422000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f99000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000001304ce654c17000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000249f00000000000000000000000000000000000000000000000000000000004303cf7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa0000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a80000000000000000000000005523985926aa12ba58dc5ad00ddca99678d7227e000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa0000000000000000000000000000000000000000000000000000000000000dbe00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000cb28fbe3e9c0fea62e0e63ff3f232cecfe555ad40000000000000000000000000000000000000000000000000000000000000260000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a800000000000000000000000000000000000000000000000000000000000006800000000000000000000000000000000000000000000000000000000000000064000000000000000000000000d99ac0681b904991169a4f398b9043781adbe0c36c6966690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007d6ec42b5d9566931560411a8652cea00b90d9820000000000000000000000005e19efc6ac9c80bfaa755259c9fab2398a8e87eb00000000000000000000000000000000000000000000000000000000000003e41e859a050000000000000000000000000000000000000000000000000000000004303cf700000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003800000000000000000000000002cbabd7329b84e2c0a317702410e7c73d0e0246d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000c48f6bdeaa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000042df307000000000000000000000000000000000000000000000003c6ec0c8c4c57e990000000000000000000000000cb28fbe3e9c0fea62e0e63ff3f232cecfe555ad40000000000000000000000000000000000000000000000000000000067e684830000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000447ff7b0d2000000000000000000000000000000000000000000000003cd55e26590e975f50000000000000000000000005e19efc6ac9c80bfaa755259c9fab2398a8e87eb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006148fd6c649866596c3d8a971fc313e5ece848820000000000000000000000000f68ee6bd92de3ed499142812c89f825e65d724100000000000000000000000000000000000000000000000000000000000000030000000000000000000000007d6ec42b5d9566931560411a8652cea00b90d9820000000000000000000000005e19efc6ac9c80bfaa755259c9fab2398a8e87eb0000000000000000000000005e19efc6ac9c80bfaa755259c9fab2398a8e87eb000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c24e66bb5500000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000063eb89da4ed0000000000000000000000000000000000000000000000000003cd55e26590e975f500000000000000000000000000000000000000000000000000000000000000000000000000000000000000002cbabd7329b84e2c0a317702410e7c73d0e0246d0000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e640000000000000000000000005e19efc6ac9c80bfaa755259c9fab2398a8e87eb00000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000104000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa00000000000000000000000005aa5f7f84ed0e5db0a4a85c3947ea16b53352fd4000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a8000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa000000000000000000000000000000000000000000000000000000000000000386c696669000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0490411a3200000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d0000000000000000000000008615444828a9c9d5610342814bfb5a37534e726b00000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa0000000000000000000000000000000000000000000000003c69a9386143bd5010000000000000000000000000000000000000000000000c04da2cf4624b5d27b0000000000000000000000000000000000000000000000c3f8dfb01cba4f26d400000000000000000000000000000000000000000000000000000000000000020000000000000000000000003254ae00947e44b7fd03f50b93b9acfed59f96200000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002449f8654220000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d00000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e5b07cdb00000000000000000000000092b7807bf19b7dddf89b706143896d05228f3121000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000007d5300f436fe13d0643e1d366e26570616314b2600000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002e8ac76a51cc950d9822d68b83fe1ad97b32cd580d00006455d398326f99059ff775485246999027b3197955000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064cac460ee00000000000000003b74a4607d5300f436fe13d0643e1d366e26570616314b2600000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef12100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000648a6a1e850000000000000000000000008615444828a9c9d5610342814bfb5a37534e726b000000000000000000000000922164bbbd36acf9e854acbbf32facc949fcaeef0000000000000000000000000000000000000000000000c3f8dfb01cba4f26d400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f8654220000000000000000000000008615444828a9c9d5610342814bfb5a37534e726b00000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f990000000000000000000000008615444828a9c9d5610342814bfb5a37534e726b000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x5", + "to": "0xb300000b72deaeb607a12d5f54773d1c19c7028d", + "transactionIndex": "0xd", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xaa8c4fb677f05a3e3b9b721e066e680e140f85d0e06cd5cb644e4a2621e85bda", + "s": "0x36404727692e7244fae5b63f58c9601d9fbff38167316f76405a1bd843233c0d" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x76268cddaba96726e47642b58db2f4ef37ca81b6", + "gas": "0x55f0", + "gasPrice": "0xb2d05e00", + "hash": "0xa9edb25863c5efb37e37f1f7b52d8f8c6caa7561526cfeb6a45d374da1174097", + "input": "0x", + "nonce": "0x1", + "to": "0x458c2a06ba8dc3def078513ad98e9da8ced39e02", + "transactionIndex": "0xe", + "value": "0x1652643f4f400", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0x146d7009f90e42944e50a791344f1f8160c7b203694acf6305a8c9b402bc34f1", + "s": "0x6c6b7832ddae66b6f3c3b032dba94fa78d13c02e83704ab29882325a023e95e6" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x07ae8551be970cb1cca11dd7a11f47ae82e70e67", + "gas": "0x1b6cc", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x513dcfe0", + "hash": "0x9462fc7d2f0d4be7e2ed880c50b60521f4776c4611d9e5a9db1211c49031ca4a", + "input": "0xdeff4b240000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000007ae8551be970cb1cca11dd7a11f47ae82e70e670000000000000000000000008dfe156f5ad2dc9a57dc20e870e90a63617bbb820000000000000000000000008dfe156f5ad2dc9a57dc20e870e90a63617bbb82000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000001f0fd941264b70000000000000000000000000000000000000000000000000001756a8698e588000000000000000000000000000000000000000000000000000000000000a4b100000000000000000000000000000000000000000000000000000000003124cb0000000000000000000000000000000000000000000000000000000067dd6d13000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x2ae33", + "to": "0x5c7bcd6e7de5423a257d81b442095a1a6ced35c5", + "transactionIndex": "0xf", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xe576a96a7ddac273716c6465bba9603e15fe753f7858a6e505d4390cffe845b6", + "s": "0x29bcaad48c6f6cd4feb22c3f302038ef8b23f74f4eb37998d46a0f048a8bb4d0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xb8ff877ed78ba520ece21b1de7843a8a57ca47cb", + "gas": "0x5a6b4", + "gasPrice": "0x2ebcf502", + "maxPriorityFeePerGas": "0x1504bf92", + "maxFeePerGas": "0x33e1cc7e", + "hash": "0x9bab289b8141641809c6718305b871a0d076455a10897bf75625e84f31a3adae", + "input": "0xb143044b0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000065000000000000000000000000c02ab410f0734efa3f14628780e6e695156024c200000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067dd9e6300000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000e40223536e0000000000000000000000000000000000000000000000000000000000000060479cfd1338952ec42805545fb3653af5c2fde5a0ec27215a28c7098ba1ef0056000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000510100000000000001a70000767c0000000000000000000000002086f755a6d9254045c257ea3d382ef854849b0f000075950000000000000000000000006d6620efa72948c5f68a3c8646d58c00d3f4a980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041bc687d0564c41e4245e2afa2dbbce2a51047c42d9a298dfeeac1f3bff38e8af9435bf841c769248fb5672c51a9fd03c4b1b0724a5953b217938372fb819711dc1b00000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xe096c", + "to": "0x8fafae7dd957044088b3d0f67359c327c6200d18", + "transactionIndex": "0x10", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x4f4e5561cb4ae151bdb44163c91ef21194838186cf353096d6e4f2e153dca79b", + "s": "0x59cfc5fff8911533cdbd8ed3c39b0788ab5f6228d7bddccd54a872aaee358e4f" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xb8ff877ed78ba520ece21b1de7843a8a57ca47cb", + "gas": "0x5a6b4", + "gasPrice": "0x2ebcf502", + "maxPriorityFeePerGas": "0x1504bf92", + "maxFeePerGas": "0x33e1cc7e", + "hash": "0xcb0830c6446837793e3d9f7234931d301f3ac1acb2911f0386a5ff7b5cb557fe", + "input": "0xb143044b0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000065000000000000000000000000c02ab410f0734efa3f14628780e6e695156024c200000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067dd9e6300000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000e40223536e0000000000000000000000000000000000000000000000000000000000000060479cfd1338952ec42805545fb3653af5c2fde5a0ec27215a28c7098ba1ef0056000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000510100000000000001a70000767c0000000000000000000000002086f755a6d9254045c257ea3d382ef854849b0f000075950000000000000000000000006d6620efa72948c5f68a3c8646d58c00d3f4a980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a233f49f7aa5d160666a24709c1edd9261f828635d44c8bc328837b82202bed81ffbb1b12b00e13cb3573c14d05a42976750c42e482d9fb638a3c900aed7b8031c00000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xe096d", + "to": "0xa59ba433ac34d2927232918ef5b2eaafcf130ba5", + "transactionIndex": "0x11", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xce4c1e345cd6c538ebcc9767d62409970da7d195a912011e76fab7d75b3bb40a", + "s": "0x1576eb68429422b73e914cf62d06c79d8094ad8ec03407e81180e76ec333177e" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x5f35ba236588b1188b77a99376f30444166a088a", + "gas": "0x5208", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x90edc970", + "hash": "0x7a3311486021876556f5cc3f8f271c29e9caac758f0ea7417033dce7b31118a5", + "input": "0x", + "nonce": "0x18", + "to": "0x7bdb61d76ab2237102a7203da24816ef0a6408f6", + "transactionIndex": "0x12", + "value": "0x3c4027d623dc80", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xef2cfc50700a7e620ca38bb4dcbaf91d4c758d909615236bbe8c9fee33979f8b", + "s": "0x59df1988e19882ef56dff78a629fee97966402e3998e3fbe3e03c7bff74f12ad" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x89e51fa8ca5d66cd220baed62ed01e8951aa7c40", + "gas": "0x7a120", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0xe9e4bb04", + "hash": "0xb4096b94750fac4213c174a871378ac4196cb46a800c04ba54a87c60ac87d696", + "input": "0x", + "nonce": "0x2c204e", + "to": "0x645bb8f9712acc0be4a8d910168abe03f445fe82", + "transactionIndex": "0x13", + "value": "0x52172fd12e2c", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xc306c2e6787fbca3eb313e02dfecb0ae8f6948a3d2aacb68ee91f92f38af61b", + "s": "0x40e9223f69115553562abd82bb18c9aa4d0a7b39447cec106186044e33f4d7c" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x91604f590d66ace8975eed6bd16cf55647d1c499", + "gas": "0x5208", + "gasPrice": "0x83215600", + "hash": "0x45abbc353a1ff29141658935a9fef214c349459cbce842497b7945779f42346f", + "input": "0x", + "nonce": "0x10ac6", + "to": "0x9d20dc93830bc97000f0b2399fc5cbb3ab6e4f2a", + "transactionIndex": "0x14", + "value": "0x521ced4fec7f", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0xb4dc2a1bada6a06795cfca89fa50fd1081325211ae6a0e14ac9ee2e4d7fc8240", + "s": "0x4215edd557731399865be00c9ac9650a4267fb61f356af831c27e2a4273f9969" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x74dec05e5b894b0efec69cdf6316971802a2f9a1", + "gas": "0xfde8", + "gasPrice": "0x5552ff70", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x174876e800", + "hash": "0x6aaa1213d713391f61a17839abc93eb81b63e0308d6dd3a78dc2f2d648dbb232", + "input": "0xa9059cbb000000000000000000000000c80e700477e293216158b445ed6b499973ba9a4d00000000000000000000000000000000000000000000000aa6ca7ae11f644000", + "nonce": "0x158f80", + "to": "0xaea46a60368a7bd060eec7df8cba43b7ef41ad85", + "transactionIndex": "0x15", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xbcf64e03109b1c9ca24905587f0c32699db35092b3e892b19891541919a74f26", + "s": "0x4a9c31cee7b5a028a27a95090a09c158a1684bfdb8a24e793e47eeb3f92919d0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xd1fa51f2db23a9fa9d7bb8437b89fb2e70c60cb7", + "gas": "0x7e7ea", + "gasPrice": "0xfe23a450", + "maxPriorityFeePerGas": "0xfe23a450", + "maxFeePerGas": "0xfe23a450", + "hash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "input": "0x2b66c7bbec68d12a0d1830360f8ec58fa599ba1b0e9b5f01696840c02add0000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2dac17f958d2ee523a2206206994597c13d831ec70064666ca298d2983ab03aa1da7679389d955a4efee15c60aea78a9dc014b50000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2dac17f958d2ee523a2206206994597c13d831ec701f46657af956d3e2cca3b86f3d8c6772c03ddca3eaacb5c065a7a09b813920000808507121b80c02388fad14726482e061b8da827c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20bb860e0554a476a092703abdb3ef35c80e0d76d32939fe059fce8ff5cf5534cd2a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2006406", + "nonce": "0x414f0", + "to": "0xd4bc53434c5e12cb41381a556c3c47e1a86e80e3", + "transactionIndex": "0x16", + "value": "0xf", + "type": "0x2", + "accessList": [ + { + "address": "0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x15b6577d2526f2bd0b965da6ed26627562f34aef960a103958f7e9206e2f5a92", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x000000000000000000000000000000000000000000000000000000000000000e" + ] + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0xd06ef82a07326a6e964ce1700825547c428fbc96deb2e33e7e20498001080d7d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0xe5555a209f3374618a02190c8259e96fef55d67b38eae977b56a6ecfdd885df2", + "0x125617aba6520df91ba2f6482cb0f4289d91d40d63d800e4260764bc629f6b28", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0xf69726f733636294438e34eeee6ebe01db8039ae404abb5a74bbb4a950d9b0bf" + ] + }, + { + "address": "0x2486ff197be4553775daf666a815deac482bb6b0", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ] + }, + { + "address": "0x556b9306565093c855aea9ae92a594704c2cd59e", + "storageKeys": [ + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0xf68cd560cd5285fa96f176cf0d55ce2f05178e0b25aac465f04891d21bfb0c8b", + "0x8819ef417987f8ae7a81f42cdfb18815282fe989326fbff903d13cf0e03ace29", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x0000000000000000000000000000000000000000000000000000000000000010" + ] + }, + { + "address": "0x57af956d3e2cca3b86f3d8c6772c03ddca3eaacb", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x4a6f485c1c32cc07b41a962ff745e1d2a15f32520f92181d93f06ac057458486", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004" + ] + }, + { + "address": "0x808507121b80c02388fad14726482e061b8da827", + "storageKeys": [ + "0xf31461bb6d13d553cd94510b486eabf19cf47b91efa2e4e93e524bbd47bc0bc8", + "0xaf27700f100b1edb95811be5ed26a6ed0b686b805bda7da3d76f8d496fa73649", + "0xc77fb133dbdc58dac8640eeb473e6c1bc87cca41ca3c666a03c772f68bb1cede", + "0x3f6aad5a17529476fee90bf7a68d9b515e01310be2e0ddbd59f76c25f95b0177" + ] + }, + { + "address": "0xe0554a476a092703abdb3ef35c80e0d76d32939f", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x144e9106d2b174d86067189c37253b984a501d4456a1cdfb9f296726b688d682", + "0x0000000000000000000000000000000000000000000000000000000000000025", + "0x0000000000000000000000000000000000000000000000000000000000000026" + ] + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xcf38f3da56631124af9a54fb9b0d5bc8eaf840240737b3ea4619302fe9a52628", + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", + "0xb9f6591fc52eba3e15c8a35522a85e6d320e9084debe30399ae4770e63f89389" + ] + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "storageKeys": [ + "0xc565b8467ed0be432a896df92668a8397c5e16b4f50e6c53d4929ca811966139", + "0xf55e79c9a1dd13825989c07c5092715c5bf875c78f46623ef95110c1e4f96b24", + "0x19b801df7d999cea8e6d7d7f7b2b0bb8ff07cb169b5922c61a5601805d4e5aa6", + "0x2a306d7595987ab10375e6e054d7489cc80c1cf5351587e21ffbd126573f06c6", + "0x4407b7e3a4d56c18eef645ef52b0e5371965ec86a7c46343194da25177be0647" + ] + }, + { + "address": "0x6ca298d2983ab03aa1da7679389d955a4efee15c", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x000000000000000000000000000000000000000000000000000000000000004d", + "0x000000000000000000000000000000000000000000000000000000000000004e", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0xddcc1213041919617a9d83ef69a4bce45c65b0ea9373c135dbedf583ed390897", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000010008" + ] + }, + { + "address": "0x43506849d7c04f9138d1a2050bbf3a0c054402dd", + "storageKeys": [] + } + ], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xd473d44cf8fbd998fae0c0de0aed2077f82b7f4625f6ad759fbeb0fd55b9ab34", + "s": "0x3352313ce0ea4f84a73a7de37c077da50146be27259b4b02e865b59a0098b43a" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xa1c0078b7a78483b13bf9e34d29c4f697b0a7033", + "gas": "0x659d8", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x982be151", + "hash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "input": "0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067dd50fd00000000000000000000000000000000000000000000000000000000000000050b00000604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000ed5d9d610e48000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000e17f55829a5e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20027100000000000c5dc95539589fbd24be07c6c14eca40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000bde47de73ea000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb8e0f63a424a4439cbe457d80e4f4b51ad25b2c56c000bb80000000000c5dc95539589fbd24be07c6c14eca400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000c5dc95539589fbd24be07c6c14eca4000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c000000000000000000000000000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000c5dc95539589fbd24be07c6c14eca4000000000000000000000000a1c0078b7a78483b13bf9e34d29c4f697b0a7033000000000000000000000000000000000000000000021379ecc7c777f1a5d4520c", + "nonce": "0x6", + "to": "0x66a9893cc07d91d95644aedd05d03f95e1dba8af", + "transactionIndex": "0x17", + "value": "0xed5d9d610e48000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x95c2e4678f94809bf6ec379c4ed17e612bcd38810eabf8078aa2b3b12a6b1282", + "s": "0x661ef19022a99ac3183208dda01d38a0ba47d23c35d39649c14b029e67f3fb5e" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xae2fc483527b8ef99eb5d9b44875f005ba1fae13", + "gas": "0x2932c", + "gasPrice": "0x19b83570", + "maxPriorityFeePerGas": "0x1", + "maxFeePerGas": "0x19b83570", + "hash": "0xe033e024c68705facfa9aacf0781b69978c03e22da5d2da2514baa1dc39cd032", + "input": "0x041df377f80d24f387298c2aab39b68e2c0d2e9a4fa9025639f5", + "nonce": "0x4254ca", + "to": "0x1f2f10d1c40777ae1da742455c65828ff36df387", + "transactionIndex": "0x18", + "value": "0x1454250f", + "type": "0x2", + "accessList": [ + { + "address": "0x4288b2a44b188c57b17e255a6acf9d05b2f8363e", + "storageKeys": [ + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x6836d14c015bbdc940b7f3c1b4021be1b80808afdd68a6768539531ae27b49a8", + "0x225b4c1f03676d3594f51b92e27c1f513eb83a8e45e7a0820bd78369f99cda66", + "0xbfe65401feadd0cc71160fb76f9648d903d01350bd52e9fccfaa9c693825b3ff", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0xbd5af5151dcb9feb2c4ef23509c863dd4415e4d2c27b5c08786933a8ed41acc7", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0xe3aff3098ea1432f9a12bd78eb1561090accb33f40bf998e2859baab736b7a99", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0xd76def9025f964405f3d150080e0f5c1e5eac5059422c506a88c392b617dda7e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x0000000000000000000000000000000000000000000000000000000000000013" + ] + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "storageKeys": [ + "0xbd5af5151dcb9feb2c4ef23509c863dd4415e4d2c27b5c08786933a8ed41acc7", + "0xb1296336948ba8795857848f50153b94bd6b4bddefae3ea910f34324451eb792" + ] + }, + { + "address": "0xf377f80d24f387298c2aab39b68e2c0d2e9a4fa9", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ] + } + ], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x24c8f30b40cb93618742235cd8079f5a5da8eb80aa09766c4fe618dfa5a576e3", + "s": "0x7fdf8aeb97967df1c863f64d15111f55e87efa43c2c139c3bdd57621a10087f8" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x3349097364bff7f4a4f931b9b6adf89a61533d3c", + "gas": "0x5d777", + "gasPrice": "0x1e6da730", + "maxPriorityFeePerGas": "0x4b571c0", + "maxFeePerGas": "0x363d7f80", + "hash": "0xa116554c9d8f7fe73e5e1cfb7e62c560cbea760c9c418158cb3ac98356985d05", + "input": "0x2213bc0b0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186cc6acd4b00000000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000004c41fff991f0000000000000000000000003349097364bff7f4a4f931b9b6adf89a61533d3c0000000000000000000000004288b2a44b188c57b17e255a6acf9d05b2f8363e000000000000000000000000000000000000000000000000002a58865103c05a00000000000000000000000000000000000000000000000000000000000000a07962cdeb02dcf08ba81e265b2068d400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000010438c9c147000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000002710000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000024d0e30db00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c4103b48be0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000002710000000000000000000000000f377f80d24f387298c2aab39b68e2c0d2e9a4fa90000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012438c9c1470000000000000000000000004288b2a44b188c57b17e255a6acf9d05b2f8363e00000000000000000000000000000000000000000000000000000000000000550000000000000000000000004288b2a44b188c57b17e255a6acf9d05b2f8363e000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000007afa9d836d2fccf172b66622625e56404e465dbd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x20", + "to": "0x0000000000001ff3684f28c67538d4d072c22734", + "transactionIndex": "0x19", + "value": "0x186cc6acd4b0000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x9a7c0685cbf24405d7a0189d6ad3fb0b59899cc23ded944af960aae2e366fefa", + "s": "0x279ff01547d5305952b4108de86ef04e4d55992cd4bf9587ce1261e9271dfd6b" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xae2fc483527b8ef99eb5d9b44875f005ba1fae13", + "gas": "0x2275b", + "gasPrice": "0x1266da237", + "maxPriorityFeePerGas": "0x1266da236", + "maxFeePerGas": "0x1266da237", + "hash": "0x46f812b1cf9e482f37a7118137aafa921a908fd2fc00ec48c0d6e3501f306bf2", + "input": "0x7c3d4288b2a44b188c57b17e255a6acf9d05b2f8363e025639f4", + "nonce": "0x4254cb", + "to": "0x1f2f10d1c40777ae1da742455c65828ff36df387", + "transactionIndex": "0x1a", + "value": "0x163e0b0f", + "type": "0x2", + "accessList": [ + { + "address": "0x4288b2a44b188c57b17e255a6acf9d05b2f8363e", + "storageKeys": [ + "0xd76def9025f964405f3d150080e0f5c1e5eac5059422c506a88c392b617dda7e", + "0xe3aff3098ea1432f9a12bd78eb1561090accb33f40bf998e2859baab736b7a99", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x6836d14c015bbdc940b7f3c1b4021be1b80808afdd68a6768539531ae27b49a8", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x225b4c1f03676d3594f51b92e27c1f513eb83a8e45e7a0820bd78369f99cda66", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xbfe65401feadd0cc71160fb76f9648d903d01350bd52e9fccfaa9c693825b3ff", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x0000000000000000000000000000000000000000000000000000000000000009" + ] + }, + { + "address": "0xf377f80d24f387298c2aab39b68e2c0d2e9a4fa9", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000008" + ] + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "storageKeys": [ + "0xb1296336948ba8795857848f50153b94bd6b4bddefae3ea910f34324451eb792", + "0xbd5af5151dcb9feb2c4ef23509c863dd4415e4d2c27b5c08786933a8ed41acc7" + ] + } + ], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x7ad000d422d71231cfe739fac5ab8ab28e690464e23e88243d660b3ceb8ec650", + "s": "0x18b1f979c509955ecba715c09f3f11a5d7273161806f5de404ace6770ff82c98" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x68b07028d190b31a8086a6ebcffc9fc117a3ff14", + "gas": "0x49fb9", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x982be151", + "hash": "0x9c3c79c4b657a48171f0f6d7ea12e49d03b51afd314692145b9e444b89ca81c3", + "input": "0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067dd50fe000000000000000000000000000000000000000000000000000000000000000300060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000001a784379d99db42000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004280008bcd713c38af90a9930288d446bc3bd2e684000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000027213e28d7fda5c57fe9e5dd923818dbccf71c4700000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000068b07028d190b31a8086a6ebcffc9fc117a3ff140000000000000000000000000000000000000000000000000000000011e77b640c", + "nonce": "0x9e", + "to": "0x66a9893cc07d91d95644aedd05d03f95e1dba8af", + "transactionIndex": "0x1b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xb106ded0371fa74b060e3db2fe427c2d00b980333d51b8c98b4249305e51e232", + "s": "0x2423d7f30ee1c9be3467c39e7c9b822dce69687b0157a08f5bed255bbbf42599" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xa362ace8ec145247fdf82532289c468d919c4418", + "gas": "0x3d051", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x97e09a9f", + "hash": "0x4d3d7a106a7e882621e06aafb8d20aa1949f2fd675eecdef9473d4e3030683c6", + "input": "0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067dd510500000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000270ca21eb1a37cfe0e9a0e7582d8f897e013cdff000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000006804d6fb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af0000000000000000000000000000000000000000000000000000000067dd510300000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000004121d696e169c0b3c6827b93b84e48ef79439ce468af4f7448a0fdb2e273392e987fea366ba2c99fec2149f2008ca13b51b95397cffbfbe99a08cfc0532e65df671c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000181327f1f0baf0e541d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000270ca21eb1a37cfe0e9a0e7582d8f897e013cdff000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000a362ace8ec145247fdf82532289c468d919c44180000000000000000000000000000000000000000000000000007f1eb34f877990b", + "nonce": "0xd", + "to": "0x66a9893cc07d91d95644aedd05d03f95e1dba8af", + "transactionIndex": "0x1c", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x1a3a44e1e1e37ecb93bbb61931b178ffda2e927c86b641f81a9e53873989449c", + "s": "0x433eb09e512ca39c7623124b7ae0d8b33362416277291f01600e933e7e447b38" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x400c164c4a8ca84385b70eed6eb03ea847c8e1b8", + "gas": "0x5bcbe", + "gasPrice": "0x5552ff70", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x0a95bdcd3bc3311f25e2ed235ea5358cb8570946272596314a932b49191014ae", + "input": "0x82ecf2f600000000000000000000000000000000000000000000000000000000000000016bf0d15362030bf153e91eb6f4217f24267926d5bc7874236ff8078e3dfdfcc600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000047dd5e", + "nonce": "0x53b", + "to": "0x512a3d2c7a43bd9261d2b8e8c9c70d4bd4d503c0", + "transactionIndex": "0x1d", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xf531b06c875ec37fae4e1d952bf4efceafa4adcec878f04dd9b868386b02cbf3", + "s": "0x5c460e6d177bd190e7b3b2a1098dbf3fb282db54af80b27b6e185df8274ce132" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x21056c791f0923c31c1a6806924994918d2318ee", + "gas": "0x39051", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x96029b9b", + "hash": "0x9c720e2d89caa0cc91298eddae06fee65f4e7db972d8ed35249d97afe918d4a0", + "input": "0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067dd4fab00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000043c5034469bce262d32f64c5e7f9f359f5b1495f000000000000000000000000000000000000000000000000000000000000006000000000000000000000000043c5034469bce262d32f64c5e7f9f359f5b1495f000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000006000000000000000000000000043c5034469bce262d32f64c5e7f9f359f5b1495f00000000000000000000000021056c791f0923c31c1a6806924994918d2318ee00000000000000000000000000000000000000000000000001a820921181af660c", + "nonce": "0x25", + "to": "0x66a9893cc07d91d95644aedd05d03f95e1dba8af", + "transactionIndex": "0x1e", + "value": "0x6f05b59d3b20000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xa9d06caa124d4b4af211ca5ae681162253aad0679ac10f4bd770174e329cc13a", + "s": "0x1030324eea56d9f7301af5143b760cbc3a0db4ca4ae814df07a15bbc14c4e333" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x008300082c3000009e63680088f8c7f4d3ff2e87", + "gas": "0x12584e", + "gasPrice": "0x2d499808", + "maxPriorityFeePerGas": "0x13916298", + "maxFeePerGas": "0x52f76e47", + "hash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "input": "0x13d79a0b0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000040000000000000000000000007751e2f4b8ae93ef6b79d86419d42fe3295a4559000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000007751e2f4b8ae93ef6b79d86419d42fe3295a4559000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000e4ac54ab05c460f05bbb650c6d00000000000000000000000000000000000000000000000000000001ae553fce0000000000000000000000000000000000000000000001807258dfd342c1c05c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000dc10079c600c86630aef1d96b1284cec94ab66660000000000000000000000000000000000000000000001807258dfd342c1c05c00000000000000000000000000000000000000000000000000000001ae53686a0000000000000000000000000000000000000000000000000000000067dd57cf773c53a27f6e99010b42e6eb67aeeac525e65df755c485d29dd66906299cc647000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001807258dfd342c1c05c00000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000041af54f87b6e16b185566f49bab7f1cba24ba0c0aa444d269089bc634cac8b765b1156fa0ad758f7f24476d56a44a16a43267823f266f60c18c9aad38d42060c461b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000007e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000001dcb88678aedd0c4cc9552b20f47185502505740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4760f2a0b0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007751e2f4b8ae93ef6b79d86419d42fe3295a45590000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000001388000000000000000000000000000000000000000000000000000000000000000e4d505accf000000000000000000000000dc10079c600c86630aef1d96b1284cec94ab6666000000000000000000000000c92e8bdf79f0507f65a392b0ab4667716bfe0110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000713f6813000000000000000000000000000000000000000000000000000000000000001b9b8b4efb9895989adce573d95e31674773154330f03d42c685b6f481d49d68d7611c664832f3e51cc3cd4b96cb1ce12d2b75e3ded8756b98171986ad1b674b1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008487517c450000000000000000000000007751e2f4b8ae93ef6b79d86419d42fe3295a4559000000000000000000000000136f1efcc3f8f88516b9e94110d56fdbfb1778d1000000000000000000000000000000000000000000000180659c6ce74ea866dc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000136f1efcc3f8f88516b9e94110d56fdbfb1778d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002a4286f580d000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007751e2f4b8ae93ef6b79d86419d42fe3295a45590000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000180659c6ce74ea866dc00000000000000000000000000000000000000000000000000000001ad0000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000beefc011e94f43b8b7b455ebab290c7ab4e216f1000000000000000000000000beefc011e94f43b8b7b455ebab290c7ab4e216f1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000010a04efba5b880e169920fd4348527c64fb29d4d0000000000000000000000007204b7dbf9412567835633b6f00c3edc3a8d633000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007204b7dbf9412567835633b6f00c3edc3a8d6330000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e5475", + "nonce": "0x26d60", + "to": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", + "transactionIndex": "0x1f", + "value": "0x0", + "type": "0x2", + "accessList": [ + { + "address": "0x0000000000000000000000000000000000000001", + "storageKeys": [] + }, + { + "address": "0x000000000022d473030f116ddee9f6b43ac78ba3", + "storageKeys": [ + "0x3233d85775bc11370b8c150aaa13e16573a41130021ec18d95c14bb7ec95d9e3" + ] + }, + { + "address": "0x01dcb88678aedd0c4cc9552b20f4718550250574", + "storageKeys": [] + }, + { + "address": "0x10a04efba5b880e169920fd4348527c64fb29d4d", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000006" + ] + }, + { + "address": "0x136f1efcc3f8f88516b9e94110d56fdbfb1778d1", + "storageKeys": [] + }, + { + "address": "0x2954c85e7e2b841d0e9a9fdcc09dac1274057d71", + "storageKeys": [] + }, + { + "address": "0x2c4c28ddbdac9c5e7055b4c863b72ea0149d8afe", + "storageKeys": [ + "0x0040662c26556b10ac32f26078cc0d1726d1870029d0111f72a7af70dfa9d41d", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + ] + }, + { + "address": "0x43506849d7c04f9138d1a2050bbf3a0c054402dd", + "storageKeys": [] + }, + { + "address": "0x51b7f50044a2a1a9a846575be33c00a68e0172df", + "storageKeys": [] + }, + { + "address": "0x7204b7dbf9412567835633b6f00c3edc3a8d6330", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000015", + "0x0000000000000000000000000000000000000000000000000000000000000016", + "0x0000000000000000000000000000000000000000000000000000000000000017", + "0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475", + "0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec476", + "0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec477", + "0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec478" + ] + }, + { + "address": "0x752d55d62a94658eac08eae42deda902b69b0e76", + "storageKeys": [] + }, + { + "address": "0x7751e2f4b8ae93ef6b79d86419d42fe3295a4559", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000035", + "0x0000000000000000000000000000000000000000000000000000000000000036", + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x0000000000000000000000000000000000000000000000000000000000000191", + "0x2b203b975d84e8bbbbaf7c2bc5eb3ddb889a21c259f024897d3754aa3537c176", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x4f06736fe0f7b213a4c3eeb7f9452f135b44d538672eabd813a42ea53a936b85", + "0x5309a846d236ca02a6dab8c230505d20400160b3f57370323f953189ff888cdd", + "0x5dda9b2f0180fa0164fdcde233fdd3442486735d6315cdbef5c13bc0f57da71b", + "0x5e55836ff34311079616669587e4c903d502fc2cd5a5618d3d14aae660db761d", + "0x66ccdfd0edfae479e651593047e33f1261da0d86ddd513635d6b8b5612d7b981", + "0x7690e5387e187519e4875ff1793f89fdab8845cdc4d00b09e8ef85e4c7d21a8a", + "0xa76c0c0ee691ae49cae1319f5e8f1affcb8f70d42f73c990fb43d01bffdd3dc0", + "0xadaf4b95622ec2ae6381acd6c896c315461390168faa1f5796477ed6cc9c4411", + "0xcb6e95cd314fbc57810ece130e7b1bc0095b84b39268e290200e4ba86c495dd6", + "0xd0ed0138c80b031b76fdb1d01fb3f66876a700d3ff4e8d3e51cd4dde2f52fe42", + "0xea857d5f238327815be5a8d15ffe998e165e59aed81b8c630a1378acbfc9ad14", + "0xed66c6b9a7957e06be9fbe8c00b86b89a9d3f66d96e05cef09b00622fd7776d0" + ] + }, + { + "address": "0x870ac11d48b15db9a138cf899d20f13f79ba00bc", + "storageKeys": [ + "0x07830b5de1dbe79ad1e9ad23a834791349244547f7720711fb2b4d7a971da652", + "0x354310daf1ecbc3b5ebca8f24c698ffda90e7edd6ad44ee1b60bfbc5b7fc47e2", + "0x3800ec6850f690e8686ceb186f144f0d36c197ab16ca00c200a08582a113e87f", + "0xb7e58716d8d9685abf07b5ceb7a56a10247f2a81e873489d1dd57776574912cf", + "0xbd476473e43e6965e788ce400469cf7e914dbb45a75364d50674af406ce2d9cd", + "0xf6d37817e5a5ff91624fc772c61dad838dbdf923261ac13446975fe13e8aa5a1" + ] + }, + { + "address": "0x9062a576d3e6cf6999e99e405608063033c4cff6", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ] + }, + { + "address": "0x9e7ae8bdba9aa346739792d219a808884996db67", + "storageKeys": [] + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", + "0x59e52fc8e98ff9c9372e71ea7a66e3a0aa36468dc746b4160ab339c47e931566", + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", + "0xbde73e6a9fa6cdbe82e39d43a0a885ae9b9de3a5b5de7f4bd6c7100ebfdea21b", + "0xcc236083e86ee3df0f3160002f381f1404bd44c4dec1322196f34d52548202f5" + ] + }, + { + "address": "0xb0926cfc3ac047035b11d9afb85dc782e6d9d76a", + "storageKeys": [] + }, + { + "address": "0xba1333333333a1ba1108e8412f11850a5c319ba9", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0dd6990bc8936c17cf5143a9c54e44bde1d1d9261b45bce51c2b1cdd6cdd83c0", + "0x2b5c3149669e05b6d05e3693c24234e2430405031d5377316024e4dbe005fdf9", + "0x37a24ffd65b5162089d8e747be6cba00d5e20e139bde4defb8e372ce4ae72104", + "0x5e915dc7315120a39ec7024eca0d8d224485beece4f27f658388d7fe020704b4", + "0x6454f36e65f7d8b764ea75c1fad980075c67a783d2c206b1b119327cd87be278", + "0x6acc20181b1386d2cafc5b94926ab9f1184d6056ba0b8792ec24996c5e16bc76", + "0x7e495a1a31ad956a670a42a5b71837d765b77ee32d8a3cac9ddea85bedba166f", + "0x80d32fef7943900975662062fbcde7cadacd2cb1320851ff2a6903164f26f61c", + "0x96294a4669673521af4698314d14f9705935a65f4de152dd01deb4c21f9a0652", + "0x96294a4669673521af4698314d14f9705935a65f4de152dd01deb4c21f9a0653", + "0x99c4de5762c35a325ed8fd14ff9f3ec1f6d602ba4c1e248d5c94213d67251176", + "0xa197b6ae0044c90610b63b51392eb7144f4390bba5cb14eeeb9a37521cf0dd8a", + "0xb5d4f02940ec4257db7d7d87f0211cdb6c6173fd8150f049818431c290fec7d0", + "0xdee785242c510c688d53ad34d5e8a869149873b4ff4d9cbe708e193269350ae4", + "0xef88cdf33e4a09953703eb38d44be04c1ca94d694e096917ed2387fef68fd768", + "0xf1db8cf32226e0d200a2a0985f32c8441906a3518a8da2dfba9a8c12c600f6fa" + ] + }, + { + "address": "0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb", + "storageKeys": [ + "0x0b63819139dedf457a74acfa290563236b22376f3f31ab0bf253587f3b15c722", + "0x100ca93e729bac9ad357392bd2cbeec6ce5c116219abfc02e7ca9ea18fe8930c", + "0x100ca93e729bac9ad357392bd2cbeec6ce5c116219abfc02e7ca9ea18fe8930d", + "0x100ca93e729bac9ad357392bd2cbeec6ce5c116219abfc02e7ca9ea18fe8930e", + "0x15387e2f86595f853b2991e9e06726ac173e446b72141a15ee2ee8259f08c282", + "0x15387e2f86595f853b2991e9e06726ac173e446b72141a15ee2ee8259f08c283", + "0x15387e2f86595f853b2991e9e06726ac173e446b72141a15ee2ee8259f08c284", + "0x15387e2f86595f853b2991e9e06726ac173e446b72141a15ee2ee8259f08c285", + "0x15387e2f86595f853b2991e9e06726ac173e446b72141a15ee2ee8259f08c286", + "0x1b2cb620e4818362c71246b1d1b6f3b50395a3b37eba284fc7dfa00aefbc12df", + "0x1b49d5a7e9b75cc64a8da16bdd3dffae35f42225982bf2f3e95913895725d376", + "0x1b49d5a7e9b75cc64a8da16bdd3dffae35f42225982bf2f3e95913895725d377", + "0x1b49d5a7e9b75cc64a8da16bdd3dffae35f42225982bf2f3e95913895725d378", + "0x1b49d5a7e9b75cc64a8da16bdd3dffae35f42225982bf2f3e95913895725d379", + "0x1b49d5a7e9b75cc64a8da16bdd3dffae35f42225982bf2f3e95913895725d37a", + "0x1cdec86fcd184ce1956dc425940bc046cde97e5cdd86c3491e550532557141c1", + "0x1edbac83ea6d707ad5846936e45b9183fa039f90a84a7c7d51d3fd61dc4cc726", + "0x1edbac83ea6d707ad5846936e45b9183fa039f90a84a7c7d51d3fd61dc4cc727", + "0x1edbac83ea6d707ad5846936e45b9183fa039f90a84a7c7d51d3fd61dc4cc728", + "0x1edbac83ea6d707ad5846936e45b9183fa039f90a84a7c7d51d3fd61dc4cc729", + "0x1edbac83ea6d707ad5846936e45b9183fa039f90a84a7c7d51d3fd61dc4cc72a", + "0x24cb18d68d0cfe9a2bb9bfc5f08613e92ac9d2b1fc7ba64727074d4fd4eb55d4", + "0x24cb18d68d0cfe9a2bb9bfc5f08613e92ac9d2b1fc7ba64727074d4fd4eb55d5", + "0x24cb18d68d0cfe9a2bb9bfc5f08613e92ac9d2b1fc7ba64727074d4fd4eb55d6", + "0x24cb18d68d0cfe9a2bb9bfc5f08613e92ac9d2b1fc7ba64727074d4fd4eb55d7", + "0x24cb18d68d0cfe9a2bb9bfc5f08613e92ac9d2b1fc7ba64727074d4fd4eb55d8", + "0x30c3b1997b26f2926c760dd208fa6f63157893eb09285aa3ba90d5bd7ac20e61", + "0x30c3b1997b26f2926c760dd208fa6f63157893eb09285aa3ba90d5bd7ac20e62", + "0x30c3b1997b26f2926c760dd208fa6f63157893eb09285aa3ba90d5bd7ac20e63", + "0x40e22054b55ba84527b2b14cbff67edf97868efe0347e5e3374eb088906c77f1", + "0x489256d8ecc7a67987410cd060181dc788311f63ab6441e201b3674ed5a485d7", + "0x489256d8ecc7a67987410cd060181dc788311f63ab6441e201b3674ed5a485d8", + "0x489256d8ecc7a67987410cd060181dc788311f63ab6441e201b3674ed5a485d9", + "0x489256d8ecc7a67987410cd060181dc788311f63ab6441e201b3674ed5a485da", + "0x489256d8ecc7a67987410cd060181dc788311f63ab6441e201b3674ed5a485db", + "0x4b079a880b2acbaca16368e4bc2538132579ac5dd7426b18f0fe4ca779539179", + "0x4b079a880b2acbaca16368e4bc2538132579ac5dd7426b18f0fe4ca77953917a", + "0x4b079a880b2acbaca16368e4bc2538132579ac5dd7426b18f0fe4ca77953917b", + "0x50a28686720f1e88143a62e98a5e3db344ad8a09e60c827d52544f7b5d732cc3", + "0x5c11e8aca61e714c59b41edd08a1c7ddb200dc95fd1850c87557f11b07a0735e", + "0x5c11e8aca61e714c59b41edd08a1c7ddb200dc95fd1850c87557f11b07a0735f", + "0x5c11e8aca61e714c59b41edd08a1c7ddb200dc95fd1850c87557f11b07a07360", + "0x5de870e3bca7d9fffa4361d1abf159740cf5a00d306847efac37743beb06aa0e", + "0x5de870e3bca7d9fffa4361d1abf159740cf5a00d306847efac37743beb06aa0f", + "0x5de870e3bca7d9fffa4361d1abf159740cf5a00d306847efac37743beb06aa10", + "0x5de870e3bca7d9fffa4361d1abf159740cf5a00d306847efac37743beb06aa11", + "0x5de870e3bca7d9fffa4361d1abf159740cf5a00d306847efac37743beb06aa12", + "0x78580852aef4fbaa393a273402e8cb3ef5f5d6d6bd4e478447c3affd7db0bac7", + "0x78580852aef4fbaa393a273402e8cb3ef5f5d6d6bd4e478447c3affd7db0bac8", + "0x78580852aef4fbaa393a273402e8cb3ef5f5d6d6bd4e478447c3affd7db0bac9", + "0x7cc95b239e88b664aa17c671197c935dd66c152efd6639d16402be2174989745", + "0x7cc95b239e88b664aa17c671197c935dd66c152efd6639d16402be2174989746", + "0x7cc95b239e88b664aa17c671197c935dd66c152efd6639d16402be2174989747", + "0x7cc95b239e88b664aa17c671197c935dd66c152efd6639d16402be2174989748", + "0x7cc95b239e88b664aa17c671197c935dd66c152efd6639d16402be2174989749", + "0x9b0e5d96ef86abd7f5d4e09c21c0e84f69862ebfc911d1e65866cbc35b60951d", + "0x9b0e5d96ef86abd7f5d4e09c21c0e84f69862ebfc911d1e65866cbc35b60951e", + "0x9b0e5d96ef86abd7f5d4e09c21c0e84f69862ebfc911d1e65866cbc35b60951f", + "0x9cf4687feae4862b7c67a0aa872408262d64e0288f3bc75f979d309a2180de55", + "0x9d041803ff00935343706ed536c718e83ea68f98cebbe9688951629666247a44", + "0x9d041803ff00935343706ed536c718e83ea68f98cebbe9688951629666247a45", + "0x9d041803ff00935343706ed536c718e83ea68f98cebbe9688951629666247a46", + "0xa3088256c79a919c2204737cfe51f142ba9e88acc68d1dc03efa3dc828bf9df4", + "0xa3088256c79a919c2204737cfe51f142ba9e88acc68d1dc03efa3dc828bf9df5", + "0xa3088256c79a919c2204737cfe51f142ba9e88acc68d1dc03efa3dc828bf9df6", + "0xde70aa820cd1e356dcaa0e00e04eb5967d1c65bb98bbbcb78950dff8c4d348d8", + "0xde70aa820cd1e356dcaa0e00e04eb5967d1c65bb98bbbcb78950dff8c4d348d9", + "0xde70aa820cd1e356dcaa0e00e04eb5967d1c65bb98bbbcb78950dff8c4d348da", + "0xde70aa820cd1e356dcaa0e00e04eb5967d1c65bb98bbbcb78950dff8c4d348db", + "0xde70aa820cd1e356dcaa0e00e04eb5967d1c65bb98bbbcb78950dff8c4d348dc", + "0xe5a3ab9e400e07c4a3eeb9249ebe75f836d66b323005aa44768cb614209c36ea", + "0xe6c97c543f86ff6ad08bf3c4eb1134680883cc13ee442263ef8e5cedd29561fc" + ] + }, + { + "address": "0xbdc7c08592ee4aa51d06c27ee23d5087d65adbcd", + "storageKeys": [ + "0x000000000000000000000000000000000000000000000000000000000000017a", + "0x000000000000000000000000000000000000000000000000000000000000017c", + "0x104a628e1258cc0450dd32d6cb8d955e2e362de60b8a54f5c8cd1d72a735c382", + "0x30248a89dc3728a6d46c3fc466d207b7ee3d2738d89647cd95823b73b47b17ab", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + ] + }, + { + "address": "0xbeefc011e94f43b8b7b455ebab290c7ab4e216f1", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000015", + "0x0000000000000000000000000000000000000000000000000000000000000016", + "0x0000000000000000000000000000000000000000000000000000000000000017", + "0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475", + "0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec476", + "0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec477", + "0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec478" + ] + }, + { + "address": "0xc92e8bdf79f0507f65a392b0ab4667716bfe0110", + "storageKeys": [] + } + ], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x32d2c7d5337ff47dd08e87e08c671326ad0a409d5c4bf78ea7c8056c1e274158", + "s": "0x4a7878e0da0d950e6f9e7ba2ae6cd1a9ad7a527593d3cdcf431a6bc3b2bb4a26" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x3ed3a49fb01fa9ca2a11c8a3afba12f53ca7c744", + "gas": "0x3fc3c", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x9825471d", + "hash": "0x202c01e375cedd25803503d3061f6dd6de053c4988e6d8387e975ed317b38935", + "input": "0x088890dc00000000000000000000000000000000000000000000000000275a13e5675c5700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000003ed3a49fb01fa9ca2a11c8a3afba12f53ca7c7440000000000000000000000000000000000000000000000000000000067dd4a100000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000043c5034469bce262d32f64c5e7f9f359f5b1495f", + "nonce": "0x678", + "to": "0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e", + "transactionIndex": "0x20", + "value": "0xb1a2bc2ec50000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x518e7e26ff6a1ba9ae7e1c4d8b68d621cf0f45b07037d3ff4e337bc4f7447b3c", + "s": "0x7e27d440c69cb44fe1af541dc3610a68121b17d2920b5cef77ee1a5aa786c827" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x8412f98582158cc5bda82e9ade35543f72c71fb5", + "gas": "0x2edf6", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x97e09a9f", + "hash": "0xcddb8af4a61a439d860d184c595ef0109fde8d7e2ec6c9ea7a8720cf9ed7fa69", + "input": "0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067dd5109000000000000000000000000000000000000000000000000000000000000000301050c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de99870435440000000000000000000000000000000000000000000000000000000000075f00a0e00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000008e1bc9bf0400000000000000000000000000000000000000000000000000000000000000000400000000000000000000000008412f98582158cc5bda82e9ade35543f72c71fb50000000000000000000000000000000000000000000000000de0b6b3a76400000c", + "nonce": "0x394", + "to": "0x66a9893cc07d91d95644aedd05d03f95e1dba8af", + "transactionIndex": "0x21", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x467a804076132bfe4d0aedbd28bdbc5f378714f202c05daa12554212d0c85b4", + "s": "0x3bb41720d15007c8bbcf4e63fe4aec4128eec279dc82e40fd4fe79a2f68849f2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x35473089daa69b7f291c0e339db686a3f9df6a35", + "gas": "0xe0750", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x449ace19", + "hash": "0x2a0c1684a1557e4155ac9ce8424daedf2e3411dd9464a559750c14f7074b4fc7", + "input": "0x1cff79cd000000000000000000000000ca71c36d26f515ad0cce1d806b231cbc1185cdfc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ae4f1298ed700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000005e00000000000000000000000000000000000000000000000000000000000000800ae6d6b87bd69704c742ef3ff051d31d411798b8403cab6cb2d94a7ba91661f7d0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c485e92d980000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000093267aa9154c3f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000098203051894747605630ba7bcee424c0ec4e2f7d74e8e9d5a195b7eeba3cbd100000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e485e92d98000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000600000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca000000000000000000000000035473089daa69b7f291c0e339db686a3f9df6a350000000000000000000000000000000000000000000000000093267aa9154c3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc260000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001c485e92d98000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018485e92d98000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000093267aa9154c3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7ca04e3228ce773056f80652929b26e21e87ea1073b0c8f7ece6f517123c09f0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a485e92d980000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca000000000000000000000000048f7e36eb6b826b2df4b2e630b62cd25e89e40e2000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000000000000000000000000000000bef55718ad600000000000000000000000000000000000000000000000000000093267aa9154c3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000114d6f7270686f426c75654465706f73697400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x8a", + "to": "0xa1f8ea0759c8ae474c6b84b13acc2ba7d4311ccb", + "transactionIndex": "0x22", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x3102ecd8a417f92a66db72295550268764ed823b2d46fc784c7cdeccf563d765", + "s": "0x6e4076c0e8586411fdb181b7a8a63be461081fec7b6f797fa95748b7917a46c2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x6a37cb7171e28fb7874c4c95fcfb8b2ea259c3aa", + "gas": "0xb1f42", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x414c4d7f", + "hash": "0x6c23d4bb983c8b215766c83dea5f6f1e09b873811b1334ab56bf85e96158747c", + "input": "0x85b77f45000000000000000000000000000000000000000000000000000000000010c8e00000000000000000000000006a37cb7171e28fb7874c4c95fcfb8b2ea259c3aa0000000000000000000000006a37cb7171e28fb7874c4c95fcfb8b2ea259c3aa", + "nonce": "0x5f", + "to": "0x86c4d4e958baf7e911c05f3772066c30ba2d4618", + "transactionIndex": "0x23", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x2fe22cab02b3a7488820c5607d921e11dc37fada14300b1da6680d26f8f5cccb", + "s": "0x23d11a73862b53ad9d55467ed560695dc399585b44e7d5cef247857efa5b06ca" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x26581c56dd7163cce129fb7e5b7c2ddbb5baefe2", + "gas": "0x7dea1", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x3f4ff1b8", + "hash": "0xe85ddcd89dfeae58d27b6fd4353a3f53695c637d2db7c6207b5fdee21c7fa4be", + "input": "0xb82916cb00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000019b700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026581c56dd7163cce129fb7e5b7c2ddbb5baefe2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a307832363538316335366464373136336343653132396642376535623763324464626235624165466532000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000027474000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a3078323635383163353664643731363363436531323966423765356237633244646262356241654665320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x27", + "to": "0x3d8e699db14d7781557fe94ad99d93be180a6594", + "transactionIndex": "0x24", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x390545b9239f0f1544581749922e35415fd4b988b99a0ef4651cf89b89c0d9ea", + "s": "0x3183b67fb5edac3f9756ae131ae99603eff462f2cccf1dea02ca431f31a027f3" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xc8715e7a3e06d96f234c8eca821c6c2b51824846", + "gas": "0x692f3", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x414c4d7f", + "hash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "input": "0x3ce33bff0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000d6c6966694164617074657256320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003400000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae000000000000000000000000000000000000000000000000000000000000a4b1000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831000000000000000000000000000000000000000000000000000000024ed4bf20000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000053724e0000000000000000000000000e6b738da243e8fa2a0ed5915645789add5de515200000000000000000000000000000000000000000000000000000000000001e4bab657d80000000000000000000000000000000000000000000000000000000000000020f055a2d97fa4280e3c61732f18c2db260e704eff7df03d2aefad9c04add2f6b1000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c8715e7a3e06d96f234c8eca821c6c2b51824846000000000000000000000000000000000000000000000000000000024ed4bf20000000000000000000000000000000000000000000000000000000000000a4b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b63656c6572636972636c65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6d6574616d61736b2d627269646765000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000562ca4306880a1993b23047c81356b6e4fd0f5921968a812518f3b9d5825d21b012f8eb8ab720152754ce487192050b2c8bdd3f9f01ca47810b9cde89504f5b11b", + "nonce": "0x10", + "to": "0x0439e60f02a8900a951603950d8d4527f400c3f1", + "transactionIndex": "0x25", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x50272a231796c2a97322845f55846d813408c8411c7cfdce6d42915566b9db4a", + "s": "0x18eccd90f8d023c4d3debfc3571dc4415ac294af607731458a02fe74265db21a" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xb55191978440a8bcbe134c34f280096140b6ae67", + "gas": "0x1366c2", + "gasPrice": "0x35a4e900", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x35a4e900", + "hash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "input": "0xac9650d8000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000e4a184a5a3000000000000000000000000beefff209270748ddd194831b3fa287a5386f5bc000000000000000000000000000000000000000000002940bebd1bd76f32bad50000000000000000000000000000000000000000000000000000000067de9b5c000000000000000000000000000000000000000000000000000000000000001b9a7fbe44276488f23a174c99192c6179bebee96fc5084d5dc6b6094ded7a6284322065b7afeca6e83313182a98d13975089ca3eff882515b898e9a77b0f1494a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4a7f6e606000000000000000000000000beefff209270748ddd194831b3fa287a5386f5bc000000000000000000000000000000000000000000002940bebd1bd76f32bad50000000000000000000000000000000000000000000000000000002ef0f5f126000000000000000000000000b55191978440a8bcbe134c34f280096140b6ae67000000000000000000000000b55191978440a8bcbe134c34f280096140b6ae670000000000000000000000000000000000000000000000000000000067dd49ed2222da44", + "nonce": "0x7", + "to": "0x4095f064b8d3c3548a3bebfd0bbfd04750e30077", + "transactionIndex": "0x26", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x71ce3df9842c0fcedf5256a310674be00c9a8c3e81574017ddf9643eb0e9673c", + "s": "0xca42c8f42c3ab8f163358e57cf949109b08207edd5deddf7e9a1fed18305625" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x953c22779b212f145a85061ab3a13e43b3c50427", + "gas": "0x4e4cd", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x414c4d7f", + "hash": "0x4181a267e232d99f9c936b02c91ee8204b081e56bf496b0379be6eb0386aac3c", + "input": "0xf2d12b1200000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000be0000000000000000000000000953c22779b212f145a85061ab3a13e43b3c504270000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000de5ae63a348c4d63343c8e20fb6286909418c8a4000000000000000000000000000056f7000000ece9003ca63978907a00ffd1000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000067dd49150000000000000000000000000000000000000000000000000000000067dd4cd50000000000000000000000000000000000000000000000000000000000000000360c6ebe1d4da48b0000000000000000debc7a45b035e6f8ddd7f21b2dae00750000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014df48080e30000000000000000000000000000000000000000000000000000014df48080e3000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000cb0477d1af5b8b05795d89d59f4667b59eae9244000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000de5ae63a348c4d63343c8e20fb6286909418c8a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ab76670b60000000000000000000000000000000000000000000000000000001ab76670b60000000000000000000000000000000a26b00c1f0df003000390027140000faa719000000000000000000000000000000000000000000000000000000000000004004e8fb0b545c3125b85bc8f411abf788ae221329c06fb5dcd7bb9a50ae53ee79b2185a5f5e7ab37dcbbb4cec6fcc51bce4df8dcb74711eea0ba6265c712651cd000000000000000000000000000000000000000000000000000000000000007e00953c22779b212f145a85061ab3a13e43b3c504270000000067dd4b1ce64df3734a204c60c5e3293887debdb6f0eb0979e9126f6dec2f0b96612ba6a6f186cba3f115d0c53f1e71ed5c8ffc8c87c7f44b372f72e9b8a43c1e085e026a000000000000000000000000000000000000000000000000000000000000001865000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000480000000000000000000000000953c22779b212f145a85061ab3a13e43b3c5042700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067dd49150000000000000000000000000000000000000000000000000000000067dd4cd50000000000000000000000000000000000000000000000000000000000000000360c6ebe000000000000000000000000000000000000000017da84ab31d3135a0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000cb0477d1af5b8b05795d89d59f4667b59eae924400000000000000000000000000000000000000000000000000000000000018650000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e06af6192c000000000000000000000000000000000000000000000000000000e06af6192c00000000000000000000000000025542fd6204bbbe570e358b9ebeb391513980c340000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013e425ab844e000000000000000000000000000000000000000000000000000013e425ab844e000000000000000000000000000953c22779b212f145a85061ab3a13e43b3c504270000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000360c6ebe", + "nonce": "0x54f", + "to": "0x0000000000000068f116a894984e2db1123eb395", + "transactionIndex": "0x27", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x20013f518b2b8ce5895331a12da0023c335bfd5e9036bb324404a38026787722", + "s": "0x6fd0314390b2b33ed8be8e342f7107d5382fe8392bbb76851db049389c50e92f" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x9e338acd408e1c7b22713c6f888ebd1b82988107", + "gas": "0x17166", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0xb04ce28f", + "hash": "0xb2c5e9dde9e65cd4876c23c861e47e325074726aa9d86a040b50ab9b171622bb", + "input": "0xa9059cbb00000000000000000000000026961a9a8ee21c05a567f0571db49a2606e78917000000000000000000000000000000000000000000000000000000008efdd5c0", + "nonce": "0xef", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0x28", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xea183fba27c65a380aa9b4f85359f7e9907dfc4826de714f03ad7ba8b26e64b1", + "s": "0x3ecb77226f1e5355f013756a491f9fbbf69b9c38df2440e4818304297fecc4b8" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x109681b2489354903b968e555c4bfe7552596288", + "gas": "0x2a23f", + "gasPrice": "0x597b0c76", + "maxPriorityFeePerGas": "0x3fc2d706", + "maxFeePerGas": "0x5cd24076", + "hash": "0xcc41a9c8fdcd7c72c1375efe2e955afe5576e71172b63bc9b4332376398685b2", + "input": "0x000000000000000000000000000000000000000000000000000000000000000067dd4a0f000000000000000000000000eb4626c5149894022c2066120ea7f20f217995fb000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000ed04915c23f00a313a544955524eb7dbd823143d00000000000000000000000000000000000000000000000002d2261d0f238fe0000000000000000000000000000000000000000000000000000001612a2430e0000000000000000000000000000000000000000000b3df5e512c95d93158d5160000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x22a6", + "to": "0xeff6cb8b614999d130e537751ee99724d01aa167", + "transactionIndex": "0x29", + "value": "0x30fe", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x610b336e4b2365f18f40a503db26ff79daba08da331673f45fc28275e9a6a40d", + "s": "0x39d745ade8db20e75ab5c0e3ec935f9f66e31cb96508feec27d75cc9a22ffed7" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x0ac78373882efdaa3f0d6b6cdf3a7494ac8880eb", + "gas": "0xee48", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x3e3f6d156", + "hash": "0xc0d712d9be09437f2a22029dad21d54b1aa3029e124d804b5cfe36aba3111f7a", + "input": "0x095ea7b300000000000000000000000063c79fccd0a21e4a4d87056a0efe3b85d8c373d4ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0x2a", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x3d9fa7f60dae0452d40e016ee6a44370a0e1c84e880f3c4b20745fb5b0356979", + "s": "0x2c6ba9f2e625db43d15d9599e387c5570a14062baa2a0f8a9e4d06df0c2d2740" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x0a961655cd151274e25727e739678c7e6f9acd8c", + "gas": "0x46779", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x414c4d7f", + "hash": "0x200929b4254a8a34b9813f565a918c4355f993ecd737a232d372e3e79ae607b3", + "input": "0x5f3bd1c80000000000000000000000006a6cacbc76cdb95c45c90627dcd3d3c59f49710a0000000000000000000000000000000000000000000000000005aa3c7b12f5a40000000000000000000000000a961655cd151274e25727e739678c7e6f9acd8c000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000b829b7ec0675000000000000000000000000085cd07ea01423b1e937929b44e4ad8c40bbb5e7100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001e4ee623204000000000000000000000000ca226bd9c754f1283123d32b2a7cf62a722f8ada000000000000000000000000000000000000000000000000000007628e1cb6790000000000000000000000006a6cacbc76cdb95c45c90627dcd3d3c59f49710a0000000000000000000000000000000000000000000000000005aa3c7b12f5a4000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000c257735f63a4d000000000000000000000000000000000000000000000000000b89fe0cdd1dc90000000000000000000000000a961655cd151274e25727e739678c7e6f9acd8c000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000073016a6cacbc76cdb95c45c90627dcd3d3c59f49710a01ffff00a569a560ced5c70d0aa175742502ae15dfd8f6530185cd07ea01423b1e937929b44e4ad8c40bbb5e71000bb801c02aaa39b223fe8d0a0e5c4f27ead9083c756cc201ffff020085cd07ea01423b1e937929b44e4ad8c40bbb5e710000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x4de", + "to": "0xac4c6e212a361c968f1725b4d055b47e63f80b75", + "transactionIndex": "0x2b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x2105408734b6428f7055406c4178b74318704837b2e405141439fab27f784504", + "s": "0x236d5b873d2bc9741f6141cde51d5a49274ca16ef32b0d3878119524087af79e" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x5050f69a9786f081509234f1a7f4684b5e5b76c9", + "gas": "0x5208", + "gasPrice": "0x14456bdf0", + "maxPriorityFeePerGas": "0x12a9e8880", + "maxFeePerGas": "0x37fdb9980", + "hash": "0x798a0dd02cbd0a1beac41324a004312f0331ec7e1337921d270ec226378ab1a0", + "input": "0x", + "nonce": "0xc3617", + "to": "0xff00000000000000000000000000000000008453", + "transactionIndex": "0x2c", + "value": "0x0", + "type": "0x3", + "accessList": [], + "chainId": "0x1", + "maxFeePerBlobGas": "0x3b9aca00", + "blobVersionedHashes": [ + "0x0106e38f7559077069d46bc8917f4a0d2f1e7fa106d5c5cac386c176859f516c", + "0x01be12cd90e26c01fe088906f239364a473c5d8044c1f960ddc68168fcc05db2", + "0x0140555cc16ab13bc34fcbe5df906afb81f52f2e51b2c9e6e7e78f51ab3d3529", + "0x01dfe987637742c7ffbcedcb84166f481bfeee6fc70445add4bc17dac91fc7fc", + "0x012e0fe4741015bcd6e0f736296c1f6fd7d3acb95b3db457c0b531a9c74bd51e" + ], + "v": "0x1", + "yParity": "0x1", + "r": "0x812ab14330700177a2f1e6ed4233a1346582e840ac9de76b8dbe2f09ca1fcd0b", + "s": "0x781c933c7a19aed54fe2be91b9b05fd4b10ba029f936fda7c442d5228e09756e" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xf89d7b9c864f589bbf53a82105107622b35eaa40", + "gas": "0x15f90", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x2e90edd000", + "hash": "0x722e3d74cc7f0b7492a4461413a84f701a9e5afdbc9ecb8fededf2e8771e630a", + "input": "0xa9059cbb0000000000000000000000004cbb419cf638e7750445deba4ac7784b224e488f0000000000000000000000000000000000000000000005af52d1a551f1548000", + "nonce": "0x59dbe7", + "to": "0x090185f2135308bad17527004364ebcc2d37e5f6", + "transactionIndex": "0x2d", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x3ea6e4377a87c0ce551ead06a6d95b0e66c95eaa72d21910990f6ccb543b24f8", + "s": "0x15847b4e07ec52cf776076f9a3bead7b7e5482d356d70dc7896d5ff192f26f66" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x26fd09c8b44af53df38a9bad41d5abc55a1786af", + "gas": "0x493e2", + "gasPrice": "0x569e5cde", + "maxPriorityFeePerGas": "0x3ce6276e", + "maxFeePerGas": "0x5d901960", + "hash": "0xb9a1b7f4aef20f46f529afe02c3c9bc0e7abb146e646d38f03ce4dbf3c361146", + "input": "0xdbcd027800000000000000000000000000000000000000000000000000000000011565ac000000000000000000000000000000000000000000000000017b1ae76c3ba030000000000000000000000000a5e79baee540f000ef6f23d067cd3ac22c7d9fe6000000000000000000000000aaaebe6fe48e54f431b0c390cfaf0b017d09d42d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000007176f0f071379fee51668eb6387dda9129e5ca6b", + "nonce": "0x3ee5f", + "to": "0x7176f0f071379fee51668eb6387dda9129e5ca6b", + "transactionIndex": "0x2e", + "value": "0x0", + "type": "0x2", + "accessList": [ + { + "address": "0x7176f0f071379fee51668eb6387dda9129e5ca6b", + "storageKeys": [ + "0x463e7cdd91c6f95287e4ca2ac5983cc80bc40fb0610145510defa678bc5ab02b" + ] + }, + { + "address": "0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x5297efd6badf79e96afb7ff170cbe2859184cb4357e40a5b4ba4a08379de3e0e" + ] + } + ], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x15427e9ebb06f7aff9503fe2746ce7fe4115f6eb5705d6447a3eedfb44658619", + "s": "0x4a5bb8b932277d0597fa5fda92ed6ab484d02902cca8d2247eb1947da9b50f61" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xce1471fb26602b04c27e76369b1aa6e65b100eb9", + "gas": "0x36ad9", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x414c4d7f", + "hash": "0x8207d5809563ee13179bc9e5a0a9623a9b034c885c92dda242db1cb63e87d8ca", + "input": "0xaf2979eb000000000000000000000000902f6ecdb98296f0768a577b48974f8608d9ee89000000000000000000000000000000000000000000000327b6619d6a5925d6bb00000000000000000000000000000000000000000016c6a1aa80a623408c1fb10000000000000000000000000000000000000000000000006b108af77fa266b3000000000000000000000000ce1471fb26602b04c27e76369b1aa6e65b100eb90000000000000000000000000000000000000000000000000000000067dd50ce", + "nonce": "0x17", + "to": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", + "transactionIndex": "0x2f", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x4166bbe153ca9412d331528dd1dee92cab942a5203950ae24adc946b357dbd58", + "s": "0x7777d94412d93de3dbbdcf83dc040e632c1eb5140bb8ca4824f9c6dc47aeb05c" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xce3eb5942571a105bcde4b5226bf362e71a3acae", + "gas": "0x124f8", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x1f512b99b", + "hash": "0xeb6a016eae3d4e5966461b759c586b6ad133829f9c19be1af8991b7b4b715bae", + "input": "0xa9059cbb000000000000000000000000215258e825dcc5a29021cc02dba8ff9bfb1b2397000000000000000000000000000000000000000000000000000000000c47703e", + "nonce": "0x55", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0x30", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xf6c5e19474f61e4f6b8dc574381756ebb44f35ee44cb34497bbd83616bd50def", + "s": "0x2845c2e4bb1116ad85fa13411ab2b613f502770ba5c7b3e1855a78876f24d7d1" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x555ce236c0220695b68341bc48c68d52210cc35b", + "gas": "0x2ca83", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x3cea2e5a", + "hash": "0x3d87f508e8b57cc5aad4b2666f2eae3d1173fe3d8e4dbf001a6672dc704e08ee", + "input": "0xc358547e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000360d149f9b742148749555d8503bbe1170f6f8019091b57e413b2175d2ead299621cb2fff577eb0000000000000000000000000000000000000000000000000000000000000460000000000000000000000000555ce236c0220695b68341bc48c68d52210cc35b00000000000000000000000000000000000000000000000000000195b868939a00000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000036fde626885de70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000360d149f9b7421000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000143355b03a843942b26a5864ec2895dc686c0cd8a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000142170ed0880ac9a755fd29b2688956bd959f933f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140a124aa59fe0a0682db341cff307301c3d8f3ce700000000000000000000000000000000000000000000000000000000000000000000000000000000000000143355b03a843942b26a5864ec2895dc686c0cd8a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000143355b03a843942b26a5864ec2895dc686c0cd8a90000000000000000000000000000000000000000000000000000000000000000000000000000000000000014555ce236c0220695b68341bc48c68d52210cc35b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x41939", + "to": "0xe7351fd770a37282b91d153ee690b63579d6dd7f", + "transactionIndex": "0x31", + "value": "0x360d149f9b7421", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x7bd57e89dce3330a481a27b1f57a34b179141e78a4b3fe23569ee020e548fba9", + "s": "0x4d33e1e7c5b0eac9b8bc57fd0e01947594c294fd487ba13541836b4cf86aa6ae" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x4b127305fe1cf2e1e335184b75939d3ea0742dfe", + "gas": "0xb5c3", + "gasPrice": "0x77359400", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77359400", + "hash": "0x4b885ade0d490a44aa9f3d6d8b16c98155b5007636b3f785cafe2410aa4b7ddd", + "input": "0x095ea7b30000000000000000000000004b15d5df8bd9900714591661858ae1c02d3d10f300000000000000000000000000000000000000000000002a33b8126219d90000", + "nonce": "0x3", + "to": "0x6b0faca7ba905a86f221ceb5ca404f605e5b3131", + "transactionIndex": "0x32", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x1be9ff238bd987cfa8456b7357dfafeccbb99b64b83621531fbecddd67714a94", + "s": "0x249b0e388de4c30de894635bc0b22753418dc9c2cebacd17fcbf5099f35e0dd6" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xf71bb37bb8e34540d0f90ff0b61ed81476e8c05c", + "gas": "0x98f47", + "gasPrice": "0x5552ff70", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x5c5eb44d", + "hash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "input": "0x14d08fca00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000220000000000000000000000000f71bb37bb8e34540d0f90ff0b61ed81476e8c05c00000000000000000000000000000000a2aae2cc949b4856ba6343a9348ac11d000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000001991a7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e248000000000000000000000000c84f14c250128357c82e1b737bf19e6efb1111bc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000004ad0000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000b547275737457616c6c657400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000aaaaaaae92cc1ceef79a038017889fdd26d23d4d000000000000000000000000aaaaaaae92cc1ceef79a038017889fdd26d23d4d000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001991a7800000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000aa45caab55a00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000f70da97812cb96acdf810712aa562db8dfa3dbef0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000001991a780000000000000000000000000000000000000000000000000000000000000002000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000001ff3684f28c67538d4d072c227340000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044095ea7b30000000000000000000000000000000000001ff3684f28c67538d4d072c227340000000000000000000000000000000000000000000000000000000001991a780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007642213bc0b0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000001991a780000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000006841fff991f000000000000000000000000eeeeee9ec4769a09a76a83c7bc42b185872860ee000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000002f04dabe0cbf4400000000000000000000000000000000000000000000000000000000000000a084ca7a7df66a0b7bd03c9b8e0af43c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000000e4c1fb425e0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000001991a7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067dd4b2300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000164af72634f0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000ffffffffffffffc5000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034271001eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0001f400000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010438c9c147000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000002710000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000024d0e30db000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010438c9c147000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000002710000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000242e1a7d4d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e090e4243858010f6ef3a9aa57943dff0f4f87a6a9287f70636688e3fd8ad3900000000000000000000000000000000000000000000000000000000", + "nonce": "0x4", + "to": "0x69460570c93f9de5e2edbc3052bf10125f0ca22d", + "transactionIndex": "0x33", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x38ac0985f91b58828e78f064df074f599a6169f38f0c2ddf728adab4540ba10e", + "s": "0x53de8d55b0f4d5ee2e318213696d332ac6519c10279d4961bbff192b865ee61e" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xc59ff126de6b406a5f4b1337d8fc8d18df50e35f", + "gas": "0x5208", + "gasPrice": "0xb2d05e00", + "hash": "0xf5a1d5f7777dd7bb110136f4991c69ab11654ad77ebb1bbcbd68ed4678e76ee8", + "input": "0x", + "nonce": "0xe5", + "to": "0x31fc58fac253b4a8d0fef43637dc28ca4054be47", + "transactionIndex": "0x34", + "value": "0x13592a3cbcb1000", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0x5a521737b64a6dda05ac89760039e69f51f50785544b2cfeca5962d7e23f92c4", + "s": "0x25e6177f7e168fec77023b273037b800e418dbdfb0093452c0e93705b5becd57" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xcd0663dc73b435055675c0d9ebb8a2ee3e222cc9", + "gas": "0x55f0", + "gasPrice": "0xb2d05e00", + "hash": "0x74159deeaf5e4ddd72060c4e063b26c32f740914effd3e99397d8b3050422bd4", + "input": "0x", + "nonce": "0x1", + "to": "0x458c2a06ba8dc3def078513ad98e9da8ced39e02", + "transactionIndex": "0x35", + "value": "0x7b209ccf4800", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0x3016c6e1c3384471c766cd9863efeb2725a89d408f8d28fb31f1deb11049ed16", + "s": "0x37c0fe42de15b648839902509c77e8712498b9da4de2ea7a92ca8ffb9cb1a03" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x6bfcbaa7ff1d816b4b3bb21387b243fca3561230", + "gas": "0x2f7aa", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x97e09a9f", + "hash": "0x10c72f99ba695c83fcc485f913456ae54585dddda87b34af7260cd5814f416d0", + "input": "0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067dd510700000000000000000000000000000000000000000000000000000000000000030006040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000043c33c193756480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bbad6c59d72d44512616f25b3d160c79db5a69ddf000bb8dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000006bfcbaa7ff1d816b4b3bb21387b243fca3561230000000000000000000000000000000000000000000000000000000000718e3430c", + "nonce": "0x164", + "to": "0x66a9893cc07d91d95644aedd05d03f95e1dba8af", + "transactionIndex": "0x36", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x1e98e074d776b3b112cf967278294d1a62a8412921918d945b0d6f15985a91ea", + "s": "0x9f546dee34cbcd0e60f8d156e82e6006a3a1e60828a4caecef87a19f03cfa47" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x9a10da8ce77f26231860764a2caab36e70584c4b", + "gas": "0x5208", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0xaaa5fee0", + "hash": "0x6ac78b2c0dd1055d26ad8305dd44316a6be5cdc85743d82131578d8389aedbac", + "input": "0x", + "nonce": "0xced04", + "to": "0x6ad4ce58c9c909ea4e9eb7afbd918f7013c40f1d", + "transactionIndex": "0x37", + "value": "0x6ef092a1495000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x89744865a498e93a4cbe25c431b6fd3d4b9f2d740822e1396e7e460a092afc75", + "s": "0x10b23a7e84edc5c30c057d2296c9910a290ecca4a44549a90a660dc4f2c5de4" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x9a10da8ce77f26231860764a2caab36e70584c4b", + "gas": "0x5208", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0xaaa5fee0", + "hash": "0x1c6bb564d2ca1afe854893163f04964494dd3a219bee92a4df05925797ee780b", + "input": "0x", + "nonce": "0xced05", + "to": "0x88b8dd2ace346d49292deda6b187903c38accccb", + "transactionIndex": "0x38", + "value": "0x3e337f7f8ef8800", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x362fb762892b7ec0f8b338d9cce259f29012231e2ce0cbb8a93c4d00af390f03", + "s": "0x37de1ee15fca77f6d55d07062fb31867cdc48429de56ac7f01c7fa23cb4e8d7d" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x3c29ba2b68cb5af4decafa83d1c289533595d43c", + "gas": "0x5208", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0xb71459d4", + "hash": "0x23ccb6b0023cf41354d27b4e66e5d2822c99ec161b627972d7638580bc164c25", + "input": "0x", + "nonce": "0x50", + "to": "0x7c0f75775967acc694212a2429a93fd13786ca1b", + "transactionIndex": "0x39", + "value": "0x214e8348c4f0000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xea146e4a18f6130c2ea566a964aee62cf6bc528f2c891846dfd60b9528b27088", + "s": "0x7986881d4552616e3c4af5a95a5d53ae2631f783a0ba190e585d4cbf0aeb130" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xee18c9fff31f90896c1ec7164ebafdd083379d0e", + "gas": "0x5208", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0xb59e646c", + "hash": "0x4c6ba2f8d7f3f4683f2c152baf5787524ab900c9fc2f87966e64c20a2fe755e8", + "input": "0x", + "nonce": "0x8", + "to": "0x6d6af71325b54acf50c500dd5708122f7c87d946", + "transactionIndex": "0x3a", + "value": "0x2cc3a21c2b8000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x9eee2debb5d2e5c6e4d7ae826f32240920da4239f5e93ad9686d24657858788c", + "s": "0xce9be0b54b9678b82eee9b8e844cb3706d5b10bd3278959b3cb9542289870c0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x3b25d8e0801df1264a3d3a5f0bb79bbc292a09fb", + "gas": "0x88b80", + "gasPrice": "0x19b83570", + "maxPriorityFeePerGas": "0x0", + "maxFeePerGas": "0x19b83570", + "hash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "input": "0x000000000151241d000000010137000000000000000000000259783080a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48011ae0554a476a092703abdb3ef35c80e0d76d32939f00e80213bfdcd8dcc61c1dff5257e1e42c043842ea89e6b5007401123416cf6c708da44db2624d63ea0aaef7113527c6003a0394000000000000004562e9bce96330a87083034714666b0eb2209aafc1b1cbb2ab9c6100dba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000249aeb8dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000249dad8fe7e37f8b2de7ef92290fc26fd87f527323cf4e2087b0d1b9c28f012834ebb0b1b8bb8cbe6762f442c0000000000000000000000000002597830a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20038ffa9199a", + "nonce": "0xbed8", + "to": "0xe6b1de575e7e610889ea21024834e120f92033a3", + "transactionIndex": "0x3b", + "value": "0x0", + "type": "0x2", + "accessList": [ + { + "address": "0x3416cf6c708da44db2624d63ea0aaef7113527c6", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8" + ] + }, + { + "address": "0x43506849d7c04f9138d1a2050bbf3a0c054402dd", + "storageKeys": [] + }, + { + "address": "0x575ba30c7b77fa0eebd34cc5416538323c4e5612", + "storageKeys": [] + }, + { + "address": "0x7b0d1b9c28f012834ebb0b1b8bb8cbe6762f442c", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x000000000000000000000000000000000000000000000000000000000000000c" + ] + }, + { + "address": "0x83034714666b0eb2209aafc1b1cbb2ab9c6100db", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000008" + ] + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", + "0x56f601652d8fac25bf788ff8cd32619d7cde89ffcc138ae95bddb993325e1483", + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", + "0x8e8ba7d0240c502147869f7a9ae17aa9f683ea273c256f64b6fe2403de607113", + "0x9d1992e9d1513d8e29253cd11eec5caa0be407a4b405f8f9c29362fc8f27ea67", + "0xb9f6591fc52eba3e15c8a35522a85e6d320e9084debe30399ae4770e63f89389" + ] + }, + { + "address": "0xa1a0ceee58c6289669e02fdf8d4a5f01b7150260", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000001" + ] + }, + { + "address": "0xbfdcd8dcc61c1dff5257e1e42c043842ea89e6b5", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x35ef92841dca8bd8786b620e2f2550b8bf9f91a6436d5738f0537735cd63dc6a", + "0x9d244742165af97706e53b476f6ecd30aadb21b2936cc292cbf6d0044785ab7b" + ] + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "storageKeys": [ + "0x19b801df7d999cea8e6d7d7f7b2b0bb8ff07cb169b5922c61a5601805d4e5aa6", + "0x3b7f6fa3080fd35132045610d9dcd0399ece57a7a7462fef5421ae02227d47b6" + ] + }, + { + "address": "0xcc4461636684868aab71037b29a11cc643e64500", + "storageKeys": [] + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x7f72cf1d20d19211c98bbd20b0921f3db3f9180b2654536e49fb8a70bbd2bfdf", + "0xb8f03ea6839d16d53ccc7df75016ec37d0d4a36463dfea81bbfd77132af9d96b", + "0xc003174de4e275b48c6334fed8975fae513981970c275dc4de760ddabe057660" + ] + }, + { + "address": "0xe0554a476a092703abdb3ef35c80e0d76d32939f", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000025", + "0x0000000000000000000000000000000000000000000000000000000000000026", + "0x144e9106d2b174d86067189c37253b984a501d4456a1cdfb9f296726b688d682" + ] + }, + { + "address": "0xfe7e37f8b2de7ef92290fc26fd87f527323cf4e2", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x2d68a0530dd8751044dfcfdb849e36e2ec036884091d48dadcfa537e25c71ec1", + "0x8a2a5801001250552a1703e6dbc903a3439986bcafcba6519479efe65f16d7ac", + "0xa74648abaca54104c18119616cbf2cbb1a2b3bb01dcee269e14ad98d8a439441", + "0xe18e1aa2271c03e7a27a92b5c91aedf5349d3df060276d5d17299a54f9e63987", + "0xe1e66923df6a2da9bb699ebf5d90439b9c3985b105e7b00469a74e68be3bf5a0" + ] + } + ], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x513c0e2dfa6589b0b9834224019e48ca1e391bd401f9255425fc7dd729d887", + "s": "0x7f4ae73e60125a9e45b45a0654b4fa39c729d0673f1e8a4ef017928fe89c10c8" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xc1283df4ff9609a618604bec4dae21bb3727100e", + "gas": "0x15f90", + "gasPrice": "0x47868c00", + "hash": "0x4324f53f98466cbae02c8fded05915379f49614428f478dd8576413625cceb56", + "input": "0xa9059cbb0000000000000000000000008a1aca1badcd22455de9cbf67f9b2fba0ca5ec71000000000000000000000000000000000000000000000000000000001dcd6500", + "nonce": "0x71c", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0x3c", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0x8bbde529a548e09c18ea8b027d94529fb8d25ae797cd8873f768b4d7ccfb9959", + "s": "0x19e9ed55fbac51067e4a85291c393ebaaed531994a14132b327dd61d0c4e886b" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x46340b20830761efd32832a74d7169b29feb9758", + "gas": "0x55730", + "gasPrice": "0x77359400", + "hash": "0x8f44bcd260c5dfc0385a8c08f3ca73a565a04e9264661948a5f358ecf130b016", + "input": "0x", + "nonce": "0xd5b7e9", + "to": "0x1b9de19d464322fc2ff4e80c6b7f10af398f7857", + "transactionIndex": "0x3d", + "value": "0x11aadc3d2d7f000", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0xa2292fcf8ac915863333921210626c254f7844421d42a6e90e3c276394fe1e8", + "s": "0x4b502f3f15be97915e24a107cf609a71cb6d5222466fedf23446b8fb688e7bf2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x46340b20830761efd32832a74d7169b29feb9758", + "gas": "0x55730", + "gasPrice": "0x77359400", + "hash": "0x0959c5ed6094fbc9b82d9c03984ec602d8c914c35f0c7c5d09da3eb32263fd3c", + "input": "0x", + "nonce": "0xd5b7ea", + "to": "0xd6eaed9e04ffcb52c5abd93745b0c7fa25fe5805", + "transactionIndex": "0x3e", + "value": "0x3b1ef54aff61000", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0x65422164f0b0276a2d2e2ff8e0107ad119d7a9a3686fb36a2136273bd47ed02f", + "s": "0x2946b1c5ee5acae399cd20af936b612447ffd1ec2072d8430353a93d1d6470f3" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x46340b20830761efd32832a74d7169b29feb9758", + "gas": "0x55730", + "gasPrice": "0x77359400", + "hash": "0xebf2edd49370c310d6e0e122781266d949c98b168fe1e3c29eb3d5650315c107", + "input": "0x", + "nonce": "0xd5b7eb", + "to": "0x810ca8be30da5ae9eb0cc1abda3b64d6590a31c0", + "transactionIndex": "0x3f", + "value": "0x1705f3b5d25f8000", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0x128520619f79c9d1e3bdea463fdf3421da7f98260b02fed57b9c36100a790a5e", + "s": "0x62e8b4e45d50f8c311d9156f72557579623983bf7ed0dbd840ad3ee0065f3ae1" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x46340b20830761efd32832a74d7169b29feb9758", + "gas": "0x55730", + "gasPrice": "0x77359400", + "hash": "0x1812d37891cb004e1182c228bc94e3cde40dbe61b5843fd851e83e32d310b5c3", + "input": "0x", + "nonce": "0xd5b7ec", + "to": "0xefcf61722844408c3131d47615d24b1ff0da55fd", + "transactionIndex": "0x40", + "value": "0x707ceece7db9000", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0xf6f17047dc8210de353f0fc12a6bdabf4ea3699dbfbd414dabc3cd2ec65af599", + "s": "0xd4931f7c6612e3b1803436bc8f73dcc4f546c05b7b61cf205732a610d382ff6" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xb2f5a0c28d256476f8b013a1643ee3c075f666d5", + "gas": "0x4bb51", + "gasPrice": "0x35a4e900", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x35a4e900", + "hash": "0x750643b53c04e74f00b55c2b2e71578958951110f76d93931791bf5bc41aebb6", + "input": "0x157425da000000000000000000000000b2f5a0c28d256476f8b013a1643ee3c075f666d50000000000000000000000000000000000000000000000000000000000000064", + "nonce": "0x20", + "to": "0x198cf9a9222d965475c4575e97ce42174c9f55f1", + "transactionIndex": "0x41", + "value": "0x2d79883d20000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x8c906b6ae5338c505e79f90978d3ebb0d427e2fc3875ecff6c4bbe4a5a48d75b", + "s": "0x4bbd8533024d0c29b3fd9219647793077135c20726804f6af3f583d200a876e9" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x34be5e578a5eed7ce18b0f32ee9b4ee960c2e4bd", + "gas": "0x1724b", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x45b4a6b3", + "hash": "0x2a02c883644af8d5a01f84948e33e36cc3dce42c210b2ef799d1d75631d0c4fd", + "input": "0xa9059cbb0000000000000000000000000dfaf8f477875a6ecf72e9e970afbac4de0293e0000000000000000000000000000000000000000000000000000000003b9aca00", + "nonce": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0x42", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x557680a77608ed2b5792a8fbd2cf9ae06d79edc413bc8dc7ba81fe5c40dee9d2", + "s": "0x3e862f4c691ab7a8ed5863eac7e5bae87fe6846ec61125c3b850d5ccc5de5435" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x31e9b3373f2ad5d964cad0fd01332d6550cbbde6", + "gas": "0x5208", + "gasPrice": "0x73206470", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x90b7cdda", + "hash": "0x7cd315a8883c773114b3d98eb1cd08b90376b022d9357e2a01ba4688e638cc04", + "input": "0x", + "nonce": "0x196b3", + "to": "0x24f60b1672fbf2b654bd6f72c11b73953b5f1007", + "transactionIndex": "0x43", + "value": "0x38845afbaae2000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xe78ebd53f3aede970bafec0546fec1e489135aa595aa4c1d3a3e592758a07662", + "s": "0x54386344b1cbd4840fcfd8a5084ad48f53b4d25be9ea9f410ff770a4b53e7245" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x37dd97f659428504ffc2a41a749edc5020103bd6", + "gas": "0x4919f", + "gasPrice": "0x29b92700", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x29b92700", + "hash": "0x4193e76d682b96c78dab1e795283c8100ebc325768aeea0eb8f18df4664e093e", + "input": "0xae09fa08000000000000000000000000000000000000000000000000000000000000007900000000000000000000000000000000000000000002b453957148027399255e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000078a9230feab0395c6de1e1a3c7f4840c0dfe5688c50c822addfb3a1350e78674c3b65356ed0dd9ad932652c70c4b7c0fdef00695e6fcc81b74f8ef90daf64040116d8266f23da8e754fbb9d7148a24eaaf47f183a10b6e2551ef2d6795090e0d6c691a0b2b898bb67a246344aeede4d1b6c2246d63c20034ebb00bfefea00dfcef7f6cf54f15a8da78067e8f8e6098723445bdbd7e4742b716565646c22c2a6e42e25d01f479f0230fafc6db06642205e341a4760517533d46d49411078ccb74ab2e7985299165b8c2d232c957241c7cae3023c8d13adbe924d7043e99da6c843", + "nonce": "0x270", + "to": "0xd19dcbb8b82805d779a6a2182d8f4355275cc30a", + "transactionIndex": "0x44", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xc3aebe2505796120bc87b2f0ba868e5f8a2d4963152024410d1c54235c00c82e", + "s": "0x918a7cfcca3fc817a1a2a4d6927537d575039d65b6195ef3f0fc17cfd4d4df1" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xc4cf16c4a92c8a147dd21d54d5ea05c511007b10", + "gas": "0x28722", + "gasPrice": "0x83215600", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x83215600", + "hash": "0x46502c1b2a16433f78830c00327b451f6613c5beb23fb0b27813b519e268d8f0", + "input": "0x614b151c000000000000000000000000bfe8864afef8cdd840a01946eded6ce70dc2d1d6000000000000000000000000000000000000000000000000000000000000002d00000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xc5e", + "to": "0xcda72070e455bb31c7690a170224ce43623d0b6f", + "transactionIndex": "0x45", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x273ba09d4a244d04c20fc802983e8cd30029dfe5436ef364a0e466adf1639452", + "s": "0x77f0f506b34ffae70d9962803de7960c7e2dff93eb05a230814b816d2e77e50a" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xf70da97812cb96acdf810712aa562db8dfa3dbef", + "gas": "0x6270", + "gasPrice": "0x411d86bf", + "maxPriorityFeePerGas": "0x2765514f", + "maxFeePerGas": "0x45d11be0", + "hash": "0xa218e23958b91c36d228559827f33306cac6ea80ee0749ea15dd3dd483c016e1", + "input": "0x56db35d473269acf79dbaa3774b5c8e0bd4421864d403fd9d6ccb8c22b3303d0", + "nonce": "0x194102", + "to": "0xc43e2bbf97747f00916321f9be2d77480d30cddc", + "transactionIndex": "0x46", + "value": "0x464e5faad6cb7f", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x1ce7649d61c9b981e72aa999716e9dd9b55a4c9bc22741990d7ae6cec391ddf4", + "s": "0xf314a817c26a352fe3899823132102527b857ac30cb98810a419f3ec0612167" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xf70da97812cb96acdf810712aa562db8dfa3dbef", + "gas": "0x6270", + "gasPrice": "0x411d86bf", + "maxPriorityFeePerGas": "0x2765514f", + "maxFeePerGas": "0x45d11be0", + "hash": "0x23e4929192b96ecfbfb4981d5ac64e9d9aec0a70dab6f59e3ca5d57c47269460", + "input": "0xccb6e0c058e99e0da3b9e0fe060d50c5abd9ff797e79859391c3f08968de3f3b", + "nonce": "0x194103", + "to": "0xc16be454b9f43b29ae22d192633c680cf156c0d5", + "transactionIndex": "0x47", + "value": "0xf03a951ded34", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x4d8194f4b2aac4ad73726e793497c26df3ec580bcbe4805109ce8a96b87a3e4a", + "s": "0x351195988457a99a666001a1223157253db9315cd71f51bc90e3ce768da1f2ce" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x146f5b80ce6a998ca02c0f16ee191a8247dc1992", + "gas": "0x75256", + "gasPrice": "0x1f063db0", + "maxPriorityFeePerGas": "0x54e0840", + "maxFeePerGas": "0x3ccbf700", + "hash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "input": "0x3ce33bff0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000be9895146f7af43049ca1c1ae358b0541ea4970400000000000000000000000000000000000000000000000000b7d4e4d342000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000d6c6966694164617074657256320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000be9895146f7af43049ca1c1ae358b0541ea49704000000000000000000000000addb6a0412de1ba0f936dcaeb8aaa24578dcf3b200000000000000000000000000000000000000000000000000b7d4e4d342000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6b738da243e8fa2a0ed5915645789add5de5152000000000000000000000000000000000000000000000000000000000000054425d374e80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000004402e482c81704e596e7bc6daf64094672339cb685fd36ec0f5148d8f2f99bd46770000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000146f5b80ce6a998ca02c0f16ee191a8247dc199200000000000000000000000000000000000000000000000000c7afb48d479037000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000572656c6179000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6d6574616d61736b2d6272696467650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e640000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e64000000000000000000000000be9895146f7af43049ca1c1ae358b0541ea49704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b7d4e4d342000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c4bc80f1a80000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae00000000000000000000000000000000000000000000000000b7d4e4d342000000000000000000000000000000000000000000000000000000c7afb48d47903700000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001200032000000000000000000177622e79acece98c39f6e12fa78ac7fc8a8bf6200000000000000000000000000000000000000000000000000000000d7f357cae9aa2e56b94c2f6c71cfe1166f31b61c5bfb9871c33f66513061b973000000000000000000000000146f5b80ce6a998ca02c0f16ee191a8247dc1992000000000000000000000000addb6a0412de1ba0f936dcaeb8aaa24578dcf3b200000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000041d6bc8dcee3169d622362a074f872e447c335e05819468e6046f15a884455142e11286df90984c8cff7f280c9c40a1da4f6d69b74fdcf25be7a85449561bdf38b1c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008172cfe584d797916eebf4bdd4ee5b9d6f591823477b8d769c522633261d6eaf1b11dd3eb342ae3d790f4a18c1cd529f3beb55fef1844311acd8049811e9156f1b", + "nonce": "0x68", + "to": "0x0439e60f02a8900a951603950d8d4527f400c3f1", + "transactionIndex": "0x48", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xe36c46b59e5f1aaea524aa1b5b76b0c960fb07bec4d3d665fc4790f74033f5e8", + "s": "0xd4dd2d6a4c0da943feb3c327246cba08a35cb4fd6f86171d2d7005858eb7d0f" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x696e5f28291049a1115f5c44bac7885d77121f82", + "gas": "0x531b7", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x3b9aca00", + "hash": "0x801f8f7d10eb9e5af68f4a144801c6eb612ef08fdfe207fcfe5781305ccdcab4", + "input": "0x25d374e800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000038091e9765486a7224de8d229b3147b7c7cd22c50a508f38400b37a45c33b5b60850000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000696e5f28291049a1115f5c44bac7885d77121f820000000000000000000000000000000000000000000000000ddfa3f5659d5eac000000000000000000000000000000000000000000000000000000000000a4b100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000572656c6179000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6a756d7065722e65786368616e67650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000005215e9fd223bc909083fbdb2860213873046e45d0000000000000000000000005215e9fd223bc909083fbdb2860213873046e45d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddfa3f5659d5eac00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000043ccfd60b00000000000000000000000000000000000000000000000000000000623d1e26a33b42abb326e071cdda4efac9b8b5147ab4199a4f20d668c67dbfa1000000000000000000000000696e5f28291049a1115f5c44bac7885d77121f820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000416a9db9dc540ba9212b9af1323aa66e77929df9f3ab83c46a1683558b071fd5276fbb894a309e2306588fa95f34ca6b5d2b8803f638a1734b904d58118eb50a2a1b00000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x19", + "to": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "transactionIndex": "0x49", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x4add9199b4cb9bae3a286b3a6e5136bb99e8e1277fe1007df07a02be23cdb41d", + "s": "0x73b0e533c1029405b7ff1f92145b2dee38519bfd974aa2fea63671aecb5e4ed8" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xb934526bc06493d5be27227545a06b4c01156bbc", + "gas": "0xca37", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x414c4d7f", + "hash": "0x6c496c5fa30a1f5602bbf2fbefc13b94b7b2d949999a271168dd45586aa1f2e2", + "input": "0x095ea7b3000000000000000000000000f1df43a3053cd18e477233b59a25fc483c2cbe0f00000000000000000000000000000000000000000000000000000002521c4130", + "nonce": "0x7e", + "to": "0x3073f7aaa4db83f95e9fff17424f71d4751a3073", + "transactionIndex": "0x4a", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xcd76168b21c75617a47aed0dd0bbfefdbc7e6729f125ccf905068c3b6cd6893d", + "s": "0x3674408944f44a34562d14fcdfff7de183e7e6aa8f656f7508d4e8270e01f82e" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x8f556bdadb94b9604a92ce52b62d5b5c25612569", + "gas": "0x2d31b", + "gasPrice": "0x5552ff70", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x5d17084a", + "hash": "0xc5fde8095286df27a1ab6ea52eacd897f6a6af529d03baf25bfd451c772d1089", + "input": "0xdd46706400000000000000000000000000000000000000000000032d26d12e980b600000", + "nonce": "0x4", + "to": "0x8ab84de08053f438b94ddd82288f974c01014b33", + "transactionIndex": "0x4b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xe8b893c1dcf3c14cf0e228f50b6203c33435ffed14a5eaf7567bd6ee3abf5ebc", + "s": "0x40b571c4640aed2c5c64aed645c575de27686653db24594747ea2446b9866ff5" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x41f2f55571f9e8e3ba511adc48879bd67626a2b6", + "gas": "0x1bc2e", + "gasPrice": "0x289ee7f0", + "maxPriorityFeePerGas": "0xee6b280", + "maxFeePerGas": "0x6aa7bf4c", + "hash": "0x18e253ee5652612b33c1e9988498d470badadadcb4beade002a306c5a786890c", + "input": "0x648885fb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041f2f55571f9e8e3ba511adc48879bd67626a2b65a90104cdb645949c5da2c513af3d8f3dfca43d7d80b6b9f8ad8188f5f14574a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ae300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1c2e9", + "to": "0x06a9ab27c7e2255df1815e6cc0168d7755feb19a", + "transactionIndex": "0x4c", + "value": "0x0", + "type": "0x3", + "accessList": [], + "chainId": "0x1", + "maxFeePerBlobGas": "0x3b9aca16", + "blobVersionedHashes": [ + "0x011b6eafb8adbce93046ed27a32abbed4075634c291d6af729940d19f361d67a" + ], + "v": "0x0", + "yParity": "0x0", + "r": "0xa976d3dce44616d3b3c12662bbaad5aaae214914fbed94054d71b1d82f89de96", + "s": "0x17db46bb8186e313bb5f478e376a961b0b9193b473a6fae2205d3ff296303b52" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x37396e1ec705cc13e1c92be3741f4f943e1e48d7", + "gas": "0x219d4", + "gasPrice": "0x27ced7af", + "maxPriorityFeePerGas": "0xe16a23f", + "maxFeePerGas": "0x45e5b4bb", + "hash": "0xce507f6011fd9e5472b9c9ebc297f47b4197358b2ee9e2f35890b9401f2a110e", + "input": "0x5f8c0f9a1f00201acaf4f442218716fd7fdd694324efe43a03377da1d170a2262eda867a0000000000000000000000000000000000000000000000000000000000010360000000000000000000000000f44adb9a4ca3078cf387c63c8f3551fe0ac33fbd00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000886cb6662e7813c8f7bd85d56ff7fece793aee92000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x123", + "to": "0xf5e10380213880111522dd0efd3dbb45b9f62bcc", + "transactionIndex": "0x4d", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xd623cbe2889d0970751cecbed9f312c3a1c425bf854d3853dbd3a0d551994f34", + "s": "0x77d77b6601e7841ff6f582d0ac96ad5d0f45a1bb43ed30d0442703697ceebcec" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xd800b408080dbac4212fb62a917962b5e816ae85", + "gas": "0x5208", + "gasPrice": "0x54ab583b", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x54ab583b", + "hash": "0xe815d5384997b11d2c9aa742b6eb99514dac2b444644e4955dac0ef9a4c626ba", + "input": "0x", + "nonce": "0x4", + "to": "0xe1541b73743977e19847daf0d29a451bee18915f", + "transactionIndex": "0x4e", + "value": "0x132faef31a2f06", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xcfbcef5d008ba5e17d959a5d8f927dc8a9c63ab46fb1aca9607a609a5ad78722", + "s": "0x6d5de052b853e148a0a3a3589e0b1f1148a78fd78548718a67714f93a207012c" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x9f9a98ca647915c4546d364b5f02e5549dbc69f6", + "gas": "0x2ff91", + "gasPrice": "0x5552ff70", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x5d17084a", + "hash": "0xca5dff500f146a7ec1de6e80c50019b83541a3715dfc7b30bdf83b0824ed7516", + "input": "0xf074258e00000000000000000000000057289f282ce468696cdcabc284b6fab66dbf168f0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x94", + "to": "0x6f66b95a0c512f3497fb46660e0bc3b94b989f8d", + "transactionIndex": "0x4f", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x47f5c430654da08ff39fadd4e7eccfe80f8b0cc6a760e53fa525fed656130aa2", + "s": "0x3d4427d9191826d40464abc7d7c36ff3034d7554cd9e878ce574dfa3f9fcc333" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x53219dd0aa47e1ec7ea5e4566df1b2cb4fa0e68c", + "gas": "0xebda", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x449ace19", + "hash": "0xd86cfb90bf857426dd24d30159baa1b603206b6ba0ad00cc97546a8b9954ea88", + "input": "0xa9059cbb00000000000000000000000099969cfd53accb8730242016158c40a3df2eb30b0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0x50", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x44af4ff356435d8d04880daa1d41c8dc683270e684afbcbb2f49c44cfb2dae28", + "s": "0x2c6e43bcc8b7b882bd098058f3be779e73fda95315919710baa4439f1ac2c570" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x92efb9a5ff3802199d6e0b6abfc2ade2f75de42b", + "gas": "0x186a0", + "gasPrice": "0x297fa117", + "hash": "0xe78af1ebcfc921b224e18feb27c801388b5455ac9f3d986a19c75382ead573a7", + "input": "0xa9059cbb000000000000000000000000467d746f6140deb6a88525824e5b9ed102bb4dd40000000000000000000000000000000000000000000000000000000000b71b00", + "nonce": "0x68a", + "to": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599", + "transactionIndex": "0x51", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0xad5afd4d22117aaaa53676b5d4bc81e3b86c4f4f36bf47df539ed50d4188b6f", + "s": "0x73c8234981d4497b26e0dd8bb4ea55fce63a81553f8d9a7b9990ae5e80b9e32d" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x75fec8bb2d99076d776a5d46d1e3d42686520ef1", + "gas": "0x53e2d", + "gasPrice": "0x1cb325f0", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x134d8c16c", + "hash": "0x9d7bb66de33bad3559b6bfb68861bf62794e1ea43a69f13cb9d30f8b02805eed", + "input": "0x54ce8961d9304dd5143aad5dede2b088e9af5c2c3d57718b5061010d6fc39f748e6b99e3e96cedbadbec09e043801b758463342993c687a6609a203fbdc588930a2900030000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000191a878b4442b136a53a6387b8c363b1c2e2488c87b9aa37ad3ae50adf14b831be96cedbadbec09e043801b758463342993c687a6609a203fbdc588930a2900030000000000000000000000000000000000000000000000000000000000000ac5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000009bc7b5fcf53086c0ded259fdfad749b359b552c4e31434c1c295360f5a998ae836da0000000000000000000000000000000000000000000000000000000000000ab6", + "nonce": "0x7c", + "to": "0xd085b74a57d1d7947b9c9f8e2d75cb6832d62d0f", + "transactionIndex": "0x52", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x9dd3c8fd8154e94db3252895762ccc9624cf73ea7cae21c80ac1773502e2246d", + "s": "0x32a9fc0e17425f91aa61cb8cf5c83fff55e2347c7ed86b8c80b5b81f3ce595cf" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x31627322222ecfcd1581b071da7986f6ae237572", + "gas": "0x7557e", + "gasPrice": "0x1cb325f0", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x23c34600", + "hash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "input": "0x80500d200000000000000000000000003bc3d34c32cc98bf098d832364df8a222bbab4c000000000000000000000000000000000000000000000000000254b61b4756b2600000000000000000000000031627322222ecfcd1581b071da7986f6ae237572", + "nonce": "0x81", + "to": "0x6ea9d99c6653df987bdea11ffcd56dfb4b5d38b4", + "transactionIndex": "0x53", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xb1b4aae694974213c4748337e1abd9bec843fa9bc76a8394f04622735c0e066c", + "s": "0x4a63d1935b435e1b7062279ab782c7dc25c2848c7ef60d3816861088d9c577ed" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x9ef1316ba924fbb2b6d847ac06b85387d53104b8", + "gas": "0xf638", + "gasPrice": "0x280981db", + "maxPriorityFeePerGas": "0xe514c6b", + "maxFeePerGas": "0x2b9c2b35", + "hash": "0xf87fabd39d82f2623daf37320ed11cc615a9bf6272d266719ad89f125599a799", + "input": "0xa9059cbb0000000000000000000000000507b2d904495506b415e49e1ba16d5565f162d60000000000000000000000000000000000000000000000000000000000294db0", + "nonce": "0x4", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0x54", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xe811e435c23dc9d94e098b2d2c2e050e766452a11c7cee12ac727300c0b83747", + "s": "0xf06d2bfd4a0c1cf622dcc6af84285ed8a28b1c5d496adc1c118784f26d0a6fd" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xa22f1ac02b5fc04f2e355c30aebfd82a7465b250", + "gas": "0x30d40", + "gasPrice": "0x2c32acac", + "maxPriorityFeePerGas": "0x127a773c", + "maxFeePerGas": "0x49ca1616", + "hash": "0x109e2770efc86a39e827e5824048c5a230db6f92e5a27352bb2c9994bcd0e721", + "input": "0x1249c58b", + "nonce": "0x17970", + "to": "0xe73d53e3a982ab2750a0b76f9012e18b256cc243", + "transactionIndex": "0x55", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x6b97bb7bc3c3205852ec6fb02c700e1e4aeab3ee327df2677764a552403d0773", + "s": "0x672d4fe7a99a4c8d1e99eb50683e6b12b5982e32c9e409e0b119de103a95ac01" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xbeb5dd6650d74e92037cb64f93479548eb052927", + "gas": "0xb429", + "gasPrice": "0x86f37a7e", + "maxPriorityFeePerGas": "0x6d3b450e", + "maxFeePerGas": "0x8cc175ff", + "hash": "0x0b284379e0969cdeae4de0a02870325e59c453c1ca2652575b5e8f850f0a24bb", + "input": "0xa9059cbb0000000000000000000000007d0867499df68adaa9fb89ee4799e464d2f8b1d30000000000000000000000000000000000000000000000000000000353830f80", + "nonce": "0x1c", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0x56", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x216f2c5b0a0d3d68e338500703e89cb5a2086dfbdbf74febc65e84233afd9018", + "s": "0x3e025f44f606128c9407c877cf43b6b2cf2cc9eb66547d464bbf334c1a1693ee" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x7b09ded7244455d1a8e31c6e7c46a715be673209", + "gas": "0x1772e", + "gasPrice": "0x5552ff70", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x5d17084a", + "hash": "0x3a67b05a28aa47f0ff1c4729d9b3df25a239655eb6c03c39ea42715447520104", + "input": "0xa9059cbb00000000000000000000000041fd11d4b9ada94d7ea56f10d9142bd5f72adf4800000000000000000000000000000000000000000000000000000000004c4b40", + "nonce": "0x0", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0x57", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x6117e5db2359440b895fa7955bbeb248f4be207f195e6d402822f630e97d628d", + "s": "0x6ec76e7d45bcc505b766236bfeb557c78f2f35ae8b28778206c225ebb0c6b5c6" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xeb25f27c0821d776ac6bb3359309949b28deb67c", + "gas": "0x5208", + "gasPrice": "0x3d7b7b70", + "maxPriorityFeePerGas": "0x23c34600", + "maxFeePerGas": "0x448b9b80", + "hash": "0xdd5632a430dc76bb30af95747d6e12253614ccf92421c0f925ddf284c15ee354", + "input": "0x", + "nonce": "0x13", + "to": "0x99d56d8c55dfecfb46160da05dae30358a8e199f", + "transactionIndex": "0x58", + "value": "0xb5009728406800", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xa9acbd29d7dc7c5206783cf95fb0dfa8c3b3a0b0cb312c21651a1f4ca94e163e", + "s": "0x767ac721db07bf078564b1f30bc195baad3886f897b5b3c341b653292c350379" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x5588c4f6ce6eb2ca6bf241f872597e37d009484c", + "gas": "0xb132", + "gasPrice": "0x2a162f76", + "maxPriorityFeePerGas": "0x105dfa06", + "maxFeePerGas": "0x32792252", + "hash": "0x086cc0a8c1b5b4f80f935934a4e6609bf52ea73c28479019dc10b3276eaf89a6", + "input": "0xa9059cbb000000000000000000000000320cfa9b260b24b3d2ce38d8c270e1a8b67e40330000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xa", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0x59", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x8b0387c2c55e4da42cd051d927a706aa192287d8de817b5a2d94c6fd3f82b15f", + "s": "0x5aff9df2677d98f83c70026606afd6a5d05269d03ef9b19fcd9bfbdfef173f96" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x21b6a1d61e32c4567d2e19c600c2386534300fdc", + "gas": "0x231be", + "gasPrice": "0x90edc970", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x982be151", + "hash": "0x5318df590ba8accd9848fe948470f96ee5d436ad3e1d554700ce55a61f7b029a", + "input": "0xdd46508f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000067dd50fe0000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000002011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000001cba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000021b6a1d61e32c4567d2e19c600c2386534300fdc", + "nonce": "0x4", + "to": "0xbd216513d74c8cf14cf4747e6aaa6420ff64ee9e", + "transactionIndex": "0x5a", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x19483dd3484c9149887cd8e794b2d446678fd64e22624d13917cb8dd63a40f44", + "s": "0x65e2b21a21820b8082b80f0b63fa99095a81542d52ee7261c5d61b51e8070a71" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x458c2a06ba8dc3def078513ad98e9da8ced39e02", + "gas": "0x55f0", + "gasPrice": "0x3b9aca00", + "hash": "0x5635bca5b22d2970f2b8304d567e84c4832071c121f34134929815477312ce94", + "input": "0x", + "nonce": "0x3da16", + "to": "0x7296c79fee38bb26f6c5b00efe552ab7b3a85249", + "transactionIndex": "0x5b", + "value": "0x6ede0e32b800", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0xb0ec2cda5061313674aa4792dec5f1198536f3ed7136ef8f5ec08e6a4ef346a4", + "s": "0x3760454fcca4404995334e3c337708bc0a1cfd5e3537e1a28347a2b802e12439" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x4e5b2e1dc63f6b91cb6cd759936495434c7e972f", + "gas": "0x5208", + "gasPrice": "0x3b9aca00", + "hash": "0xaee7f974a78c7f746c28e51677ac0f514caf150a4d0fc9a95712a722a4ce54ef", + "input": "0x", + "nonce": "0xe2751", + "to": "0x762c37a5bf13798dbb24129e0970a38e996e76b7", + "transactionIndex": "0x5c", + "value": "0x3a5243d8a2000", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0x57bc8f15f907b2541cbad8b6197d6f65a9739bc75e9eaa802cb8e2e5bf598a8e", + "s": "0x4d2b2eec06010cea3bb2a1a6d773fb4d3d6a27389c31fb47c0d612b7bb3b4f82" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x3d9aae030b9661e3605b3acb5d0385ede221a0cc", + "gas": "0x33d6e", + "gasPrice": "0x1fe20a7f", + "maxPriorityFeePerGas": "0x629d50f", + "maxFeePerGas": "0x1fe20a7f", + "hash": "0xc1c9ace96ace7ac7467ce8ca2ddddb5d731e02e708ecdeefbff4421383b39cc8", + "input": "0xa0000000000000000000000000000000290a6a7460b308ee3f19023d2d00de604bcf5b42000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001ee4277a2ce93e652b00000000000000000000000000000000000000000000000000d4b58f123639dc0000000000000000000000007d1afa7b718fb893db30a3abc0cfc608aacfebb0", + "nonce": "0x2f85b", + "to": "0xfbd4cdb413e45a52e2c8312f670e9ce67e794c37", + "transactionIndex": "0x5d", + "value": "0x151241d", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xa31e38fdbc5c34a4b1aff45ef0130cf48c3749612926af43285f5482d11438c5", + "s": "0x7338c878199dbbf12149ff5659855499973b781b1f22194a3694b401d2279d53" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x027a48f739135500da9d14535ecef35fcfd29858", + "gas": "0x5208", + "gasPrice": "0x38c29266", + "maxPriorityFeePerGas": "0x1f0a5cf6", + "maxFeePerGas": "0x43ac0ef2", + "hash": "0xd65beb7f7df87aa494d28f640a76a70255b79775a9ee24d7a81e3c6dbe84cf5c", + "input": "0x", + "nonce": "0x40", + "to": "0xae2695387f6fb721c59dc23464229095e9028976", + "transactionIndex": "0x5e", + "value": "0x5543df729c000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x23d05a731e617155d069fec7d689b36d64572274ac44c56f2fb4c6e3426308f", + "s": "0x2e3745c494213f3dcf11aa471d322a4a88037a8ebc605972efe83b8fee856414" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xb9dc10f47eb4a70ab4a7753b0414ff6420e550bf", + "gas": "0x83658", + "gasPrice": "0x1e6da730", + "maxPriorityFeePerGas": "0x4b571c0", + "maxFeePerGas": "0x3c336080", + "hash": "0xfc5a59d6ad46955fc6b69746bed3f52a50d17a495df9f564e0ec3932c8305a02", + "input": "0x25d374e80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0ef48bd7d058383331af3382c82b0e35205273bfc84a55f85ad7d2cb81426704e000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011f111f111f111f111f111f111f111f111f111f1000000000000000000000000000000000000000000000000008ce68f53cac000000000000000000000000000000000000000000000000000000416edef1601be00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000572656c617900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077068616e746f6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000bd6c7b0d2f68c2b7805d88388319cfb6ecb50ea9000000000000000000000000bd6c7b0d2f68c2b7805d88388319cfb6ecb50ea900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000064e0cbc5f2000000000000000000000000000000000000000000000000000125c44c43300000000000000000000000000000000000000000000000000000000f761ef610000000000000000000000000001bcc58d165e5374d7b492b21c0a572fd61c0c2a000000000000000000000000000000000000000000000000000000000e9eeacc926b22852a1b6c83de0340ef6f6785b7320e5d5ce4e9f547c320ea2091ae53e6578b19a836b4e8d58f5620154b1efb1d85f78f02cea4891429f74283ec6fa7af3bedbad3a3d65f36aabc97431b1bbe4c2d2f6e0e47ca60203452f5d610000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004129090a3d56505da5f03a4993331ccc8a37d07cd3a4d529b52a352a5b440f86da525ed1c34b5d45416e148898aad6946d9feb0947cd185b3bcafe13d05f3972471c00000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xc", + "to": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "transactionIndex": "0x5f", + "value": "0x8e1bc9bf040000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x6f2d137bc2ca058d514b2bd9962e67769900acee92b27465f3a3f8e8db926e1e", + "s": "0x29254eddcd75781ed35f7e11d3c0d55d1a11735daae375a99f72173e6dbaedf7" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xc4dab2b575a5b2b0047804d38d0253bed85bb187", + "gas": "0x7db5", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x414c4d7f", + "hash": "0x98099c884fd0a64ae1372549762c33a6c6e8996c0ca29c2473d3f235331686c9", + "input": "0x646174613a2c736869796967343536333436", + "nonce": "0xf", + "to": "0xc4dab2b575a5b2b0047804d38d0253bed85bb187", + "transactionIndex": "0x60", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xb2a055b3cf1992f4dd28626c6837ad117914b2e352218d88348a3eeeb3722696", + "s": "0x7b77ba9938ca6f8eb97e668f734b18ecde55ce9804fb7e934cdc58dfe4b0caeb" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xe6e2953c8981f95267e29ce2e21bb9b117afb0f7", + "gas": "0x6383", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x418ca6a4", + "hash": "0x25bb7b6c284fc36ea446c66ba77a033718dc2b44e4d2cb441f1b2be746afcaba", + "input": "0x1249c58b", + "nonce": "0xa", + "to": "0x1e0d871472973c562650e991ed8006549f8cbefc", + "transactionIndex": "0x61", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xc615d0d6dba612dbf33aaa8b1138a11ffe4830eb96514ff41abcf89c3215488", + "s": "0x353e64ecd6dfb9bb9e7e5dc0cc1eb33c6bfde2349b944f91059b5095d107f505" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x5c598719f9ca2696280acdfca77d803bbcdb4bb2", + "gas": "0x5208", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x455985f1", + "hash": "0x3c4b21529d6539f2f6b0bcf1b0f22a64f1ea708c331a0fe0b4aced86c440ed42", + "input": "0x", + "nonce": "0x1c0", + "to": "0x8837bc22f23329fb7e76a518f1fce12ce00bebd3", + "transactionIndex": "0x62", + "value": "0xa7553350ebc000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xee84ba86aa61149253d53937c9647501ebcedc070b833030960699e6817511d2", + "s": "0x615eef598087691d9db08b8bd8999615eddcd8edacef8b689d3deba405e2ffaa" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x03484d015b3d32778a4ff7077fbc3e84376155be", + "gas": "0x5208", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x3f4ff1b8", + "hash": "0x1adcf2476d1f825ac1c58e1c245dab43c617c9de6e0761ccaa5de2d95c665f6c", + "input": "0x", + "nonce": "0x0", + "to": "0x0243a69c47bd7cc9837bc50f9ebd7905e1cc761d", + "transactionIndex": "0x63", + "value": "0x2df169bb09d", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x49b8a95357d472c606be8bbfef9fd1308d623b98dc2512035bf2808a9c4c9ae6", + "s": "0x202c5707413f5915aad2b8de128c3ff93e4f97ab2555a73eb833ff8ff17780f9" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x51321f46a74a3de737e4842559e5b87216fc79fc", + "gas": "0x5208", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x414c4d7f", + "hash": "0xa8fd7a2520ddaf0ff2317c0a7399980a121fc2f1f718e3b57de94c663ca2d2d7", + "input": "0x", + "nonce": "0x1b5", + "to": "0x8954568dcb646f72a19c62d26c746a41a188976e", + "transactionIndex": "0x64", + "value": "0x485e6836132000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x4aee0cec61398d0bd404d4c263475755d51b314ea6127ca7550e271e9cae0973", + "s": "0x14298df4df5e25080f55dbe77469405a6f1dc4384921bc3a1ddd6bd62f72b047" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x131da609dc52d5c5a8a344a31b34db9f8c786cdd", + "gas": "0x5208", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x449ace19", + "hash": "0xeda357d3f6a3fe46b10ac6ae125cb10bbbedb8fbeb72d6951b23d5d83cb8da9f", + "input": "0x", + "nonce": "0x1", + "to": "0x1704daaa0c88a334bf1996c4989503a2831e7b92", + "transactionIndex": "0x65", + "value": "0x11ed8cef2ba360", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x63fc9d2b00f042f9eaae5a68b2295eec563908f59e27c38b071a1508df81caeb", + "s": "0x851fb3d28239b1ea6615db8ce9aac088cee07d5e289d0ffaa158a9f0859f14a" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xbc44fa604784e7181fa3c0cb2c610bb54d299301", + "gas": "0x5208", + "gasPrice": "0x36eb27fa", + "hash": "0x0d1fc98ff6e0af3004e2ead6638aee24ba4ce3b3aa23a8df285ef424a97d2a08", + "input": "0x", + "nonce": "0x0", + "to": "0x9c9028b927d27fc9c45bdf64052e905d32568b3f", + "transactionIndex": "0x66", + "value": "0x5f5e100", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0xc0a9528469acde396269a9088051431d686f88557c7cccdb3f456978a8f63604", + "s": "0x1096a69ad148b3b338368728f320f969f45c6af002e08aa97c1d74cc2d87b782" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x13000bd0f0c6872a13759bda10db7a698652b313", + "gas": "0x5208", + "gasPrice": "0x3441b79a", + "hash": "0x9f34faef9a6081a747b2e1a47cdc3c2cbd887229e410dfdcde389b19a14f9530", + "input": "0x", + "nonce": "0x3733", + "to": "0x231f36e79c60f7d9705e59a9aef1f0f872047606", + "transactionIndex": "0x67", + "value": "0x10d5f753f8d0", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0x7b3108f086a26f4fab608033ed9c667f8f723f66f8da00363b9f21e260009372", + "s": "0x4d69f8aa7906dea68225f23cf85581bde8cd0cc863da67cb7083e3ca8347a75f" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x4f9fa22a7f2ca90b7556596614440fdd0effa3bc", + "gas": "0x11301", + "gasPrice": "0x5552ff70", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x5d17084a", + "hash": "0xc5bd028b43d99526f69ab82c3ef615aaabe6819dee8739b98db67956641fde61", + "input": "0x095ea7b3000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22affffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x13", + "to": "0x78132543d8e20d2417d8a07d9ae199d458a0d581", + "transactionIndex": "0x68", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x1e03cd2e4012b1aaf7d5ef7faa6375a017ec6c55342f8b3d883f9c980ba182f6", + "s": "0x741ffc1f66094fc568f364f35a6d1f8e94c179c33d830777b32d21c9dfb9f78d" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x8aac4694a7250f469cb26528a9a80262fc78de48", + "gas": "0xf177", + "gasPrice": "0x23a0bd23", + "hash": "0x42afd7e2a1a900356ff04391a94e4e73bbb818a2e42ffb6e5111909b8530f8dc", + "input": "0x095ea7b30000000000000000000000008a42d311d282bfcaa5133b2de0a8bcdbecea3073ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x0", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0x69", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0xc322d2c92c59fa7c9e976740a7448a943a802caf02c5010d790e6f85fd4fac89", + "s": "0x424979ba6ed0acdf85e7fd25db1e54889837d86c7e507d370024c14a2100a4dc" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x58cc00b30f1bf400e3924956abfe58528dd0f7bd", + "gas": "0x11056", + "gasPrice": "0x5552ff70", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x5d17084a", + "hash": "0xe5cfff0cdc77fe26d4195acf92599d8a946b78ef6aa3726d5b3b653bc90a6f30", + "input": "0xa9059cbb000000000000000000000000db305e16933334384eb652dc6f50ebf5ecc41cc6000000000000000000000000000000000000000000000000000000001dcd6500", + "nonce": "0x8", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0x6a", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xf09f67481e7628848c0a86bbf35f2bccf311a96d3b84f408b11e89f3247e2a82", + "s": "0x715ef71426df842fa4795a0eb65997358bcdf584b2bee774c898b3bfea4f8a53" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x9d20dc93830bc97000f0b2399fc5cbb3ab6e4f2a", + "gas": "0x16052", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x3b9aca00", + "hash": "0x5c1ab3777853b22008316927fff65c92358fe1ebce50b10cc6fffca1f9ac47f6", + "input": "0xa22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c710000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "to": "0xbe9371326f91345777b04394448c23e2bfeaa826", + "transactionIndex": "0x6b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x4769b517bb54b465668bd16a4f3f9723d1a0e04b79888a8d7a5d5d7a65263c40", + "s": "0x1ec06dd0d2ebca536ddf7846ba03e158f695dc72fa5c3b981e5d9f65233d8515" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x84c0dde6bcac401041cbbcc70024b384898f0673", + "gas": "0xf65b", + "gasPrice": "0x223ca600", + "hash": "0xbab1e2cdfe64e4d235486c3faf0c3fd6400328069d962b9d20436fba3173ac89", + "input": "0xa9059cbb00000000000000000000000046d835404f073d7741d6a5c27af9f961968a12310000000000000000000000000000000000000000000000000000000000002710", + "nonce": "0xd8", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0x6c", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0xb2f363184e9b76ec890d807f702dd3061c76b90d908e779bd6d33fce33f81478", + "s": "0x1b1f3b873038d1ad1738cef14ab813ebfcbf17e69fcafe675c08ec061639b2b" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x1bd0e52c42623884de3a753a32661099194bc469", + "gas": "0x5208", + "gasPrice": "0x30f546fa", + "hash": "0xd714a548b236cad3f29ebf37336eec376cd59cd94c94d3ef10036cbf286b6a1c", + "input": "0x", + "nonce": "0x2", + "to": "0xfea33b10051a340a99999cdc9c326062390d0827", + "transactionIndex": "0x6d", + "value": "0x5f5e100", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0x3977ca0eba2a595d500e6261da9469307149673931df95936afe3f1438a76738", + "s": "0x1d5e02d1956e378bdc530bd155ea3dfa1c5a034ddcc014002da52b50241368fb" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x130002b29b1b08358d1ab35bef22ab63895ee313", + "gas": "0x5208", + "gasPrice": "0x30af2dc8", + "hash": "0xfd935541d9dcd3891e7baa2229e687897afe3eb7c1a4db2525f6f3ef5c39ac33", + "input": "0x", + "nonce": "0x721", + "to": "0xc0d5bb16d747e29956cc6230cdf8586af82aa433", + "transactionIndex": "0x6e", + "value": "0xfb0ea9a6640", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0x3a1aea2ecfce9c156859cde1c5eccde06bd6d93f03470740885b2c9850b91b72", + "s": "0x1171d8078b1fca8beda5d85be05e28d7edee103c96200733a9a8f28ad10c8cfe" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xced9bedf34c6c50fadda7d68e022144a7191183f", + "gas": "0x1b55a8", + "gasPrice": "0x1fae1670", + "maxPriorityFeePerGas": "0x5f5e100", + "maxFeePerGas": "0x209a695d", + "hash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "input": "0x12aa3caf0000000000000000000000005141b82f5ffda4c6fe1e372978f1c5427640a190000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a3b71add41c9e4e1034fe665f946baebfe9c07c40000000000000000000000005141b82f5ffda4c6fe1e372978f1c5427640a190000000000000000000000000ced9bedf34c6c50fadda7d68e022144a7191183f00000000000000000000000000000000000000000000000000090e6b2124c56a0000000000000000000000000000000000000000000004bb4517e76a0f339fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001150000000000000000000000000000000000000000000000f700006800004e00a0744c8c090000000000000000000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba10000000000000000000000000000000000000000000000000000172f26bb3f6a4041c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2d0e30db00c20c02aaa39b223fe8d0a0e5c4f27ead9083c756cc278aa9e68f4a8efe1defe008efd47ed65b6315d916ae4071138002dc6c078aa9e68f4a8efe1defe008efd47ed65b6315d911111111254eeb25477b68fb85ed929f73a9605820000000000000000000000000000000000000000000004bb4517e76a0f339fffc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000009a635db5", + "nonce": "0x277", + "to": "0x1111111254eeb25477b68fb85ed929f73a960582", + "transactionIndex": "0x6f", + "value": "0x90e6b2124c56a", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x422961f66bf7aade6714d891b8de2b697d6d734a383ca1d72646f53e534a89ed", + "s": "0x4d2de0711aae69c80aba0678dc92e09ff322d79e73ec7110b91c86d7eca56ff6" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xe5266d449884b5057228176e97ece35109de4c0c", + "gas": "0xc6a6", + "gasPrice": "0x3d7b7b70", + "maxPriorityFeePerGas": "0x23c34600", + "maxFeePerGas": "0x40f81480", + "hash": "0x6e7f9629e46ceb4fafa6e98bcee26738497b08750475fca6815dabe77638d295", + "input": "0x095ea7b3000000000000000000000000ac4c6e212a361c968f1725b4d055b47e63f80b750000000000000000000000000000000000000000005dc46af120162e54eb2cee", + "nonce": "0x2", + "to": "0x761d38e5ddf6ccf6cf7c55759d5210750b5d60f3", + "transactionIndex": "0x70", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x6815ad151fd29d1c69c1e6d50ea72ff7447af944bdb01091f24e4d0767cc6281", + "s": "0xf75b7a9f8aff1306dad18b06441a42589fb67862497a6ad828b3764d9450309" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xda6c68a9100144c6fe3f032d7cd1910b8cdb5461", + "gas": "0x17d82", + "gasPrice": "0x1f9961b2", + "maxPriorityFeePerGas": "0x5f5e100", + "maxFeePerGas": "0x1f9961b2", + "hash": "0x462f1f958f1aec6391fbe1eee180b32e3da46eadda9fec69bf4dbda5c837dcf1", + "input": "0x42842e0e000000000000000000000000da6c68a9100144c6fe3f032d7cd1910b8cdb5461000000000000000000000000012a4b345d7afc5468c6fd844eebb8ecb4c996980000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x43", + "to": "0x4ff3dd5825db0481f73245c686e39571a7cbcffb", + "transactionIndex": "0x71", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xb1e542bd54b92f51049e38639ffa89aa30ff7f8e905caae912a8cf84d73d5e0b", + "s": "0x6a8492a092fbc087be5187ae8f984a18f1d864ea4128ad2948b29f5f19dd96fb" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xc83f2e24f33daadcba99c8155b00f3204a81fda9", + "gas": "0x30d40", + "gasPrice": "0x1d4f73df", + "hash": "0xbe0600b510fe87f502c5b53cbcc74ede9fb37af307f759c918e5030fecf94cd1", + "input": "0xb7e628730000000000000000000000000000000000000000000000000d4a8e17d57cef2000000000000000000000000000000000000000000010f1cdacd831fae58f822300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x6", + "to": "0x5af9871b4ca783ac3cd2a2b63139142027ad1908", + "transactionIndex": "0x72", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0x2207df2ea261b875b5bb75446ae32c3b49e6e30dbf640927a5a552d6f66ab7a2", + "s": "0x1d1d584780c76b84b92635fdb6ae7edfc20b2760ad56607c65312241992bfda1" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x00d2f4eb459bd4f7b175fd0cec578229bfa3bde7", + "gas": "0xb4b04", + "gasPrice": "0x1b6831ae", + "maxPriorityFeePerGas": "0x1b6831ae", + "maxFeePerGas": "0x1b6831ae", + "hash": "0x789b497a78bb0d77c273679d5f13ba5b0104c823862302e2d6e515076395567c", + "input": "0x05f497df75e26b99770f3b728dcec62ae28681e1353dd3232f7304616c35b3b5e9256581fc00000000000000000000000000f6adc1c09fb26c257166d8c10b2bd5277af7430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000007d8146cf21e8d7cbe46054e01588207b511987290000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000c1dff8befba1586a4885c8a0000000000000000000000125400000c0067dd4ac00000000000000000000077dcc6affaafe783640f6068b47bf862140cb17d432037eb2e33658988da748479d4958ac7b575d090b10718c4839845e3882ece0adbf52db2bfa9e08dd92d7c0000000000000000000000000000000000000000000000000000000005f5e100a800012900006900000000000000000000000000000c2bec78e0e831bc8b6b1900000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001a6a0dd866f0a0fef44ecc63b71bc906cb2c020288b00000109000000540000005400000054000000540000002a0000000000000000fb2809a5314473e1165f6b58018e20ed8f07b840008c34000001a067dd4a000000b4015134008c3400b4fb2809a5314473e1165f6b58018e20ed8f07b840008c34000001a067dd4a000000b4015134008c3400b4fb2809a5314473e1165f6b58018e20ed8f07b84067dd49e8b09498030ae3416b66dc00005dcd8578ca14eec99e630000972ad4499f120902631a0000d18bd45f0b94f54a968f0000d61b892b2ad624901185000095770895ad27ad6b0d950000339fb574bdc56763f9950000617556ed277ab322337800006de5e0e428ac771d77b500005b7d1434eae4a48b2c86000026813bd1b091ea6bedbd0000000000000000000000000000b8394f2220fac7e6ade60000685b93d80da1a359340d1f339fb574bdc56763f995010202a0dd866f0a0fef44ecc63b71bc906cb2c020288bbe8bc29765e11894f803906ee1055a344fdf25110013000001410000000000000000b4e232e893b86f001301010000000000000c39a21c19401ad5681b46000000000000000000000000000000000000000000000000000000", + "nonce": "0x7bdd", + "to": "0x5b93d80da1a359340d1f339fb574bdc56763f995", + "transactionIndex": "0x73", + "value": "0x9", + "type": "0x2", + "accessList": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "storageKeys": [ + "0x1bad391c2f0f96e83693a4ce8acda8e542b4b63e0fb40566fa6f7d4b04bd5cdf", + "0x0ede17abdf2207a51e41f16d2e6bb71073d478e00a9cb1eec5acb1c2d647dec0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x9f03570c07be9dca557d6a406525425e847ba0dde7917541a6f6cd54978afaed", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0xaed76f6377fc082a26ad178f9673ef7ad15556b58403827e3dbd981848330a4a", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x0000000000000000000000000000000000000000000000000000000000000004" + ] + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "storageKeys": [ + "0xd6e76b9ac27455647d873c984bb4ac2c3c6f59c9d77260489e31c5adf422162e", + "0x8d5fcfe844e26f015c2d711bf0d8be36a295787f2c1c77eeb72d3ff2211d1e87" + ] + }, + { + "address": "0xbe8bc29765e11894f803906ee1055a344fdf2511", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ] + }, + { + "address": "0x7d8146cf21e8d7cbe46054e01588207b51198729", + "storageKeys": [ + "0x7742b2953c337147008c7429511b14cf35d967ed5fcc2b474354a382a484aadc", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0xfe16cc190790d9275c2c00b6aa53594330c96befc2b08cd09fbf83b6cf2edcb6", + "0x80024e042209d9c39eaed61bcb88cba1bdeff217cdba20178eab2192d4f35018", + "0x1192f370e0fa760d99af24a34c02df1eb82b9be3bb7c16aab977afd7943d6282", + "0xa37ba1fa4f1befc03b4d896328f68c1e3c7ddeeba7a141c587da2c86861cd612", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0xb004ed90088abd92e4ce9da2d9185b1806523a3d4fb3e34a53a729aa2787725d", + "0x2e31ce464a7ba8262ad96b1b70ec47d537fbdfd7e2747d3163aaeb7cc6f7ca32", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x17fac5092693057f2ab7a5f0a38c48ebb369a69c6866cf1bfe6298c201108dcc", + "0x00d8479376506a619b5b86cb152b99e27a22babd9a7fea76404f68911e360cf3", + "0xa35ce161b83f8b8fdf1c37a0fe00dbc1f3970ee70a99b3bc38571f37348ac135", + "0x5fa471e94c083f304087c0680c08f3d8327e2b45b36742f57e95af59ff55b0fa" + ] + }, + { + "address": "0x111111125421ca6dc452d289314280a0f8842a65", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x5eb6bf1f18c62fce12dc2fc6061f3896d342610fdfa0610d4f45bf16cba80bdc" + ] + } + ], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xc56a16f8e75430497976f30db3ec512bc57731882c2040467cee980dab013cc", + "s": "0x462613135e2733c6f574925fa2dd94f72abbd0373ad090eabe96e89914a9531d" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x701363e85f7486742dc913d9217b13471959dac2", + "gas": "0x493e0", + "gasPrice": "0x555c3671", + "hash": "0xeec4daa978c84074c2fb7dd05c0cc97fa3b61e06a68ea882e0c26439be14bf4f", + "input": "0xa9059cbb000000000000000000000000120051a72966950b8ce12eb5496b5d1eeec1541b000000000000000000000000000000000000000000000010bd75fbe850a00000", + "nonce": "0x2", + "to": "0xbad6c59d72d44512616f25b3d160c79db5a69ddf", + "transactionIndex": "0x74", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0x505c55c9a0c574c7cbb4d51b898dd0beee69519b6cdd056a3e91ff9074aab532", + "s": "0x44c7ffb6523084acb640b6dad63fbd21f453f341940a573600d9cd502d4e1a3c" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x924c24fad148a4758f399299c44c56887e65af50", + "gas": "0xf7fc", + "gasPrice": "0x208b4c80", + "maxPriorityFeePerGas": "0x11e1a300", + "maxFeePerGas": "0x208b4c80", + "hash": "0xa169778827320c72a21971a7de2d3e9f8d343e405a138e84867a900fdde5ad85", + "input": "0x095ea7b30000000000000000000000001111111254eeb25477b68fb85ed929f73a9605820000000000000000000000000000000000000000000000000853a0d2313c0000", + "nonce": "0x4b", + "to": "0x767fe9edc9e0df98e07454847909b5e959d7ca0e", + "transactionIndex": "0x75", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x88702e6426b7d5c97ed9f216021b98adf4f07d92735374d343db56699c5e59b3", + "s": "0x2ff34fcea5656539d173975e76cdf580f99badea158e208b437c3b053514a953" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x2187c0d4a23d2ed671bdec4c7d8d7fe8b049a649", + "gas": "0x61a8", + "gasPrice": "0x28a035ec", + "maxPriorityFeePerGas": "0xee8007c", + "maxFeePerGas": "0x455985f1", + "hash": "0x033d73d2b9b5267a50793bf78825cc0e004c3a9efcc4feee6bac1efc5a7c7d7a", + "input": "0x", + "nonce": "0xdcd", + "to": "0xb568c208048b00f61d5c75fba4106e5b50ec0895", + "transactionIndex": "0x76", + "value": "0x996d14caccc0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x6138996d304c7eefd6d22d4dc00a3177af92304af8d7a6b70013dde1ba35a6f3", + "s": "0x69f456ae8bc84b64a051b12909e82143a939a8753d53f33214d935a5c1da3b6e" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x256e820a954ecf831ca629e87ff5cb9f0e40d8cc", + "gas": "0x11289", + "gasPrice": "0x1f063db0", + "maxPriorityFeePerGas": "0x54e0840", + "maxFeePerGas": "0x20f5d7ad", + "hash": "0xcfb98dafc902184fa5afe148c2663ccd6fa616eecad42d929c4d10cfa52d5e9f", + "input": "0x095ea7b3000000000000000000000000b300000b72deaeb607a12d5f54773d1c19c7028d0000000000000000000000000000000000000000000000056bc75e2d63100000", + "nonce": "0x6", + "to": "0xe7c6bf469e97eeb0bfb74c8dbff5bd47d4c1c98a", + "transactionIndex": "0x77", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x3a461dd765ac384f9a1fd7c3f442b6321e1ca07fd9fe169011f1a8256bf87e98", + "s": "0x6d2cfbd91ad388adc596fab997d04214b15101bc789139d4ec17177337fb6639" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xeb2c14ac79c4e83d1c344d1714814321d8704297", + "gas": "0x19bcf", + "gasPrice": "0x1cd09a8a", + "maxPriorityFeePerGas": "0x318651a", + "maxFeePerGas": "0x1e3ad5fb", + "hash": "0xc68d51ee52f81ddc70f58a7f2fcba375273fa4c241e060ac6ed9833ba33192a1", + "input": "0x6a761202000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000d1eb1cd562040c691ebd683e22910d0318db7b210000000000000000000000000000000000000000000000000000000430e234000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3469e1082ed7bedd5a608d28a80395dec3094b68acfeba38ed3c4071e1ff44e325b68dc4081a158c9c5f65c6319a52bd693a535062f1ed4fbd77e84bcfbf158181c21c27e55223200138004fb729a38748e0a3261f26f6c0593456b492e1a163f9a4bcf53bdbf2e9b81ade28a5688303af4b69263ac47548801df1cbfa893d3c8b81b000000000000000000000000eb2c14ac79c4e83d1c344d1714814321d87042970000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000", + "nonce": "0x6d", + "to": "0x4219a846b617ac0bf1c6bf70d57ba20a4bdc7443", + "transactionIndex": "0x78", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x4ec921627655fd5673d586ce2ff1b2d7a377b449aac29abb41dce3f4ab28d928", + "s": "0x53c711c99ce0d88820a9f9c9a7762b975384626f7365d968e8c390604c945a0a" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x0d803562e792de9ed617b4d71a785f2e930284d8", + "gas": "0x2dc6c0", + "gasPrice": "0x1fae1670", + "maxPriorityFeePerGas": "0x5f5e100", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x31913449eb5f8e157f25f1034293e44a3f9f9ea04b9e3af2c64fa23dd9bea386", + "input": "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000471441cd64046a2099e30d3356726d940fdb376300000000000000000000000000000000000000000000000000000000000000000000000000000000000000004400c1b92a1a957c1d79f22ca297c7720d96f435000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x3c7a", + "to": "0xbdba16270ea4d6edaf4f866afa0fa395c9929fd0", + "transactionIndex": "0x79", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x47a8b2adb09bc0f63efa685abd2dd7be68441463eaa4de2c1c7a0486ce43d3ce", + "s": "0x5d7956cf7042756906db8214f26e7856b09244557f4ac8164b752c2fae9afc29" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x16cec2313277e97c44a46a24fac0dbb816a87618", + "gas": "0x89288", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x449ace19", + "hash": "0x7069cd8785da2f27a3742ab3f04078c5c39c27ac11bfa3e3b5a8100d45be08b6", + "input": "0x58181a80000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b000000000000000000000000000000000000000000000243818d39f3ddc8000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000044095ea7b3000000000000000000000000b5fb4be02232b1bba4dc8f81dc24c26980de9e3cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000044095ea7b3000000000000000000000000148f010746c2999abc3fd5533746632ad9771948ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b5fb4be02232b1bba4dc8f81dc24c26980de9e3c00000000000000000000000000000000000000000000000000003559f342598700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000164da081c7388f7d4d3c179fc145b10300e6e4ee078f32ec3cd3bcb80ca98f2fa7a719f330b00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000003559f34259870000000000000000000000000000000000000000000000000000000000000008617262697472756d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001416cec2313277e97c44a46a24fac0dbb816a876180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b0000000000000000000000000000000000000000000000000000000000000003c6b83e52783e425652cf1dd834073a3d", + "nonce": "0x8", + "to": "0xce16f69375520ab01377ce7b88f5ba8c48f8d666", + "transactionIndex": "0x7a", + "value": "0x3559f3425987", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x5d9e105fbe9cfcecdf248e933eee2756b802f90eecff210ef17b68755a7ffe9f", + "s": "0x2bc0846f128470f7ff863bd794f621e8a3b31e4e09ed2caf3b277127fd90ff49" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xd04a3c3fab5c16616c423a1f075af315c871ccc6", + "gas": "0x5208", + "gasPrice": "0x5d17084a", + "maxPriorityFeePerGas": "0x5d17084a", + "maxFeePerGas": "0x5d17084a", + "hash": "0x3fe889c7274a77082440e31a05220c6a6661ed6d3c6e6483db833c1174f4cffb", + "input": "0x", + "nonce": "0x0", + "to": "0xec4896a44d3de64739bbcf025711db1e21479162", + "transactionIndex": "0x7b", + "value": "0x188d821da4a5c5", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x18efff7ca69ff4c37b486b717e4149b1f050a12167c49afa464687e45a9e96dc", + "s": "0x1a5e88531d017922ccac120228b29b158d52eafc6863c4205f1a06b1fb02bfb3" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x521a605ec816989e63800a8a28d0695422a6552e", + "gas": "0x5208", + "gasPrice": "0x5cca8fb6", + "maxPriorityFeePerGas": "0x5cca8fb6", + "maxFeePerGas": "0x5cca8fb6", + "hash": "0xd2248117d63e271e5663923b0c13763b571ed0bee32e0e7c4328ffae79d1382f", + "input": "0x", + "nonce": "0x3", + "to": "0xa7eb21a48f568238faf950ac9f41711c8c815217", + "transactionIndex": "0x7c", + "value": "0x524b6805b5322", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x6c432724b20c33126c79889040133cea12358b9cc0eee732f9284768669b9e0e", + "s": "0x19d5b5a0128bdb4ef98cd9179c45080875199954d2ea23d65027810cbb1171a6" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x2ec92a43f1992d857175fafbc18ff93f041d2411", + "gas": "0x5208", + "gasPrice": "0x5cca8fb6", + "maxPriorityFeePerGas": "0x5cca8fb6", + "maxFeePerGas": "0x5cca8fb6", + "hash": "0xc4c47877a95171751af458b2756c9c48b68364ab8e27a7f676a8e49e9f4d2264", + "input": "0x", + "nonce": "0x17", + "to": "0x2a62c1e7ce251f668948f1824a9986f40d04f9c8", + "transactionIndex": "0x7d", + "value": "0x125599ca591b", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x6d670e6648690e262c4e14988d686af811135b7c7bdd723a46414033618d52ec", + "s": "0xb4a1b45011f7c5c3bca25580875eae4fdf5431887535174fa74e0ee073f347c" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x61252faadcd832aa7279c78e033c95c762cd7215", + "gas": "0x5208", + "gasPrice": "0x5552ff70", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x59642aa3", + "hash": "0x6eda9bc3642b8a50cf972a6e006c8489ce0d551e39bc59588ac8e998c6f49bed", + "input": "0x", + "nonce": "0x1d", + "to": "0x11d4a6047f3e7f123ffb83e0eeb7839a3c6f0a4b", + "transactionIndex": "0x7e", + "value": "0x71afd498d0000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x2589563c3eb05d056d32b727d03c9ca8260cbe60dc5c1048e2d7897ccd84e396", + "s": "0x453fd08b89c7d97f2acd12732b0be7b325569127ecb3a3e78ecb98be40893ea5" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x48af281b6238ec308c97f87b3e5ea2651589dbb2", + "gas": "0xf4240", + "gasPrice": "0x1be7893e", + "hash": "0x76fe8b8062af94d3dd33b3770f6ba792b76a3be159660eb2b3f7fa78908f0697", + "input": "0x09b813460000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000048af281b6238ec308c97f87b3e5ea2651589dbb200000000000000000000000000000000000000000000002e78e2b3b825c7801c00000000000000000000000000000000000000000000000000050ad33cb1df36000000000000000000000000000000000000000000000000000000000000002bb5d730d442e1d5b119fb4e5c843c48a64202ef92000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000", + "nonce": "0x41b", + "to": "0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45", + "transactionIndex": "0x7f", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0xbb391dbda451f577985f3701caa590f0a3e646d332fa3095ad49aed8f29e72a5", + "s": "0x229d6302897f5ee869e858ee100952dd96978144807edb29e327252c3145ac0a" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x1f773a8c196e570443b8dff0bc66b2f36583cbb5", + "gas": "0xc7c4", + "gasPrice": "0x1f063db0", + "maxPriorityFeePerGas": "0x54e0840", + "maxFeePerGas": "0x213ad2d9", + "hash": "0x346f4a937403dc596af242226c0e78cdd3f2ab2e781d699f6e236bd9c3b0dcd5", + "input": "0xa9059cbb0000000000000000000000006a4a7c465c62fd29fb09d1d5ed2ba8354b891e7700000000000000000000000000000000000000000000000000000000047868c0", + "nonce": "0x1677", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0x80", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xf8906262b9d954805f68acd60a1a1ffdcf0cd48a457fad8b3060b1b70464eea3", + "s": "0x3e1a98abf86f8b1c7e8fde4da63771de0a70ce04542a33d5f1f8d789953acfd3" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xef2346a98d7e838c8840dbc301b6809789647729", + "gas": "0xc8e6", + "gasPrice": "0x1fae1670", + "maxPriorityFeePerGas": "0x5f5e100", + "maxFeePerGas": "0x229f3532", + "hash": "0x82ef573c2fcdba187db22fb3e90fb386d7d847299cde99821c73faa2c9e109d9", + "input": "0xb1adef7900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000239880", + "nonce": "0x2", + "to": "0x4a3826bd2e8a31956ad0397a49efde5e0d825238", + "transactionIndex": "0x81", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xe15be086221b7dd4dd28d848584ef3c6020f7caee7a383f7174d66eb02591d57", + "s": "0x4319340978db108c9fa110bf0614f9a9e6d447cbf65697bd347edecce11759a" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x6027f382ec034292c28fa16b5e3f0dfb443af972", + "gas": "0xc3a0", + "gasPrice": "0x1f063db0", + "maxPriorityFeePerGas": "0x54e0840", + "maxFeePerGas": "0x246ad19a", + "hash": "0x5310ada025ac8b72f494de77d9f603c2f1cbb195b7ee960c03cf81f48b757654", + "input": "0xa9059cbb00000000000000000000000071e0b9d6ed4c08d865fdc10f908260629038d5ab00000000000000000000000000000000000000000000000000000000004c4b40", + "nonce": "0xe2a", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0x82", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x564a0628979aabc4b17f1e944438a62e46d681bb45170c2cd60dbf0f413ac8a1", + "s": "0x504a590a4915a7c5821a5f071caa5c46d5b7d16cd832ee2b88052334d06b6f92" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xae146f21b53a919666a4c4e1f4d067266a04349a", + "gas": "0x36274", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x45b4a6b3", + "hash": "0xe5de8e4fb4adf97e689c340e324a382425b9a1eec98120f0a911c9d8ca376a98", + "input": "0x68f8fc10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c68af0bb140000", + "nonce": "0x0", + "to": "0xa4ca34e769aa71c6ef38f7d0d1efe9ab9547b84e", + "transactionIndex": "0x83", + "value": "0x2c68af0bb140000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x49ac1a2f76feb5112c17b85ec588ea026ada1a0c16274ef832b0a776c43a9878", + "s": "0x58b3620c413a0baca5f83f0232c099a005703b06a79771f433476cf502407155" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xb50d1d38cc918c3b71efe09a0b07c8ff12777a57", + "gas": "0x1addb", + "gasPrice": "0x1cb325f0", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x23c34600", + "hash": "0xe3ea08ddfaf5ffa32a9cd3adf6fe0bf6784f516b0a97b447ff6e13af08e78de3", + "input": "0xa9059cbb000000000000000000000000072b9c334185c6389a962d304529c513faf17a86000000000000000000000000000000000000000000000000000014808c6ff41f", + "nonce": "0x146", + "to": "0x0590cc9232ebf68d81f6707a119898219342ecb9", + "transactionIndex": "0x84", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x8f2a2233b39340250d5f3e9b3ebdb0b3b60f92a58b1f681bafd6228f9ba62d02", + "s": "0xf93343c87d72f1d7a76b07459c75a2609ce8f2f71d682e195871d492e3434b4" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xe88858201e855ff0e49f3ddf8301caf4784dc391", + "gas": "0x34461", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x45b4a6b3", + "hash": "0x7ca6e25964774598d98c66a79d9cb532776113dc1f6315a8cd6c1412b72c16f3", + "input": "0x9343d9e100000000000000000000000000000000000000000000000507c28a50eda826e3", + "nonce": "0xc", + "to": "0x5c5b196abe0d54485975d1ec29617d42d9198326", + "transactionIndex": "0x85", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x1b9eb53d31d70255b408461a1dd3bc57c991df3e567f093e73a0978f14a5a705", + "s": "0x72bc24b2c01490d27cb8ed312914146fef5b3c597e3d34beaad927c5719ba957" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xf6eac7701b5be43028e8b069ae3e9089ef0b6c06", + "gas": "0x5208", + "gasPrice": "0x22e4ae84", + "maxPriorityFeePerGas": "0x22e4ae84", + "maxFeePerGas": "0x22e4ae84", + "hash": "0x904d8057c17a3a0c78c96464e19ed981a0a6c1a5bcd955f9b7ef543a1bdc3604", + "input": "0x", + "nonce": "0x0", + "to": "0xc94ebb328ac25b95db0e0aa968371885fa516215", + "transactionIndex": "0x86", + "value": "0x60a59ff239593e0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x427316f043cc9b3cc9cbefdb9dc6a6e8ff09a89549182309a8c21e102db022dd", + "s": "0x16ffc05d498c54c8a82dcdb812c6bc9e72b837924943cf83ff9a6c9b1a354742" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x78d483c9f7f01ff22c12bee4d954e119a864d953", + "gas": "0x5208", + "gasPrice": "0x22e4ae84", + "maxPriorityFeePerGas": "0x22e4ae84", + "maxFeePerGas": "0x22e4ae84", + "hash": "0xa3c6aac201b65b03cf02a2f422391b8628d4de2a53bf4501b7cb3051de7ca10e", + "input": "0x", + "nonce": "0x8b", + "to": "0xc94ebb328ac25b95db0e0aa968371885fa516215", + "transactionIndex": "0x87", + "value": "0x491d81d4d41b904", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x821f78d81dc46fa1e226028cf9a5f1e1a0d5a4eeda71a0d3f49b1d73f65deb92", + "s": "0x52932829776cb469c89b86d8dcea3d91a63ad86a6672c8739a3f23eae8bfe36e" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x26b5a47da9c56a9617c0f15c95705d5065f2bdc9", + "gas": "0x5208", + "gasPrice": "0x2295063f", + "maxPriorityFeePerGas": "0x2295063f", + "maxFeePerGas": "0x2295063f", + "hash": "0xff4ad34f0e5f19cf74953d5d2305c4c2894e06d4b08c541daeffb808f6f64fe4", + "input": "0x", + "nonce": "0x0", + "to": "0xc94ebb328ac25b95db0e0aa968371885fa516215", + "transactionIndex": "0x88", + "value": "0x711105c670584ad", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x7a46035d29c8aa3356a75ebf730fe33ef5f1cc8567d71f2a31d35026a714b24f", + "s": "0x4a0b64084b87053944ffe69735d2935d04e830fc1a487402401d7fa7bca85d" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x285a43d5f8d44499b94da160227e621eb8583581", + "gas": "0x5208", + "gasPrice": "0x2295063f", + "maxPriorityFeePerGas": "0x2295063f", + "maxFeePerGas": "0x2295063f", + "hash": "0xf941a3500c9adae633b81c5d9c9cb0d5b12adcf38e9791b7a0ee732c1cab3098", + "input": "0x", + "nonce": "0x3", + "to": "0xc94ebb328ac25b95db0e0aa968371885fa516215", + "transactionIndex": "0x89", + "value": "0x492ee5f554fa008", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x3850fc7ad0b757bccc036313b3fc1beab15a9638043a30719b3984b84a6a55c6", + "s": "0x751b84e1cc4c48c46f64f5eaf5a0334b3f431c70a4d4e3fb2a7ce782ff470964" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x8ca1eafa70dca2f48809d14e1cc1510d310447f4", + "gas": "0x5208", + "gasPrice": "0x2295063f", + "maxPriorityFeePerGas": "0x2295063f", + "maxFeePerGas": "0x2295063f", + "hash": "0xf9a571d049ad25c0736aa1dd435c7eb60c947428151d0ef7fe5456b2c999b249", + "input": "0x", + "nonce": "0x92", + "to": "0xc94ebb328ac25b95db0e0aa968371885fa516215", + "transactionIndex": "0x8a", + "value": "0x1b7e3a5c9e10008", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x3801567550a33f96377c7074884fa04f5b9769f885344c4f17bfc12f585ea8f5", + "s": "0x1f3b961d98b79e884b75cab24c8ea26eeb75b4f8f443ba55e38ce8870635fd0c" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x21c355a9e17ae0c9f55e9e919533b4d886774928", + "gas": "0x5208", + "gasPrice": "0x2295063f", + "maxPriorityFeePerGas": "0x2295063f", + "maxFeePerGas": "0x2295063f", + "hash": "0x107ca81051ff280b1cfee9a2b26eec2ac894fa109d992eae3e0440e04e036520", + "input": "0x", + "nonce": "0x4a", + "to": "0xc94ebb328ac25b95db0e0aa968371885fa516215", + "transactionIndex": "0x8b", + "value": "0x1b61663663c1008", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xbaf52f98a8702a4f0682c9833a31b8bbdd66a5855e10ef31f21b841f16106c2", + "s": "0x773c7e95048423846a8f88e680d0a88ee17d8f66bb54f83e1cd7074bd08a0b62" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xdefbffe64156f9b5e854206a62796e08df230948", + "gas": "0xa3f8", + "gasPrice": "0x1fae1670", + "maxPriorityFeePerGas": "0x5f5e100", + "maxFeePerGas": "0x22a2ed99", + "hash": "0xa589f97141b76a0a74a160f153ac3ba568099164a5f64cff2d1b2adcbf398c01", + "input": "0x2e1a7d4d0000000000000000000000000000000000000000000000001ed20236a6fa8000", + "nonce": "0x88a", + "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "transactionIndex": "0x8c", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x506d6c08927dd4add85d7cbc0d47046f4e760649dff0b5087b4c93c5a9e54fb0", + "s": "0x156b65fb82c917410f85601406fe7852b8e5670f906432cdb32f72e7345e9e4f" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x3c4ffd8b29f1d6468654d09a8b1535efdb2c5630", + "gas": "0xaafd", + "gasPrice": "0x1fae1670", + "maxPriorityFeePerGas": "0x5f5e100", + "maxFeePerGas": "0x2043d8a9", + "hash": "0xef1d26eeddf6477d4dcf5e8b453d270e618a8bf3b1e056b61b804e7d9b2ad5c3", + "input": "0xa9059cbb000000000000000000000000759cd84bff5e4b3dd01cf730d197aaa8bd663834000000000000000000000000000000000000000000000001be22f9986123e7b0", + "nonce": "0x1", + "to": "0x514910771af9ca656af840dff83e8264ecf986ca", + "transactionIndex": "0x8d", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x2f2b3855cb3dfa69bf990ce0b72d19db24eaf402f5b2298d31b3b62159f3215d", + "s": "0x29d9c0683b2abcecf0e2f770ad7db14bcf099ca8658bfcc3c5b8e87c79389aca" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xa534714129e58f83dd0b8f8f92e10de93b9e5a4e", + "gas": "0x14a3e", + "gasPrice": "0x1cb325f0", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x1dcd6500", + "hash": "0x9a80673ccbc75c0afc212337d02623feec9e4f4e6f8c20e415608340c8ad2bf0", + "input": "0x095ea7b3000000000000000000000000337685fdab40d39bd02028545a4ffa7d287cc3e20000000000000000000000000000000000000000000000000000000005f5e100", + "nonce": "0x4e", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0x8e", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xae903fb1319b7a888205f6446b825ae9949de513328086c9950e3e6f9e914c8e", + "s": "0x20220d13e05ff6ada4659d58e91c7941fc12c2a1ffd6f4295b71853a1f34af3d" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x96b95c86df63af4b456ff768a8c9ae4d6aea30fb", + "gas": "0x130d4", + "gasPrice": "0x1cb325f0", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x23c34600", + "hash": "0xf0d40c8b9e92c2dbec8d1cf489475932a7b4066ea5379ce887273f96fe4239b3", + "input": "0xf9609f0800000000000000000000000096b95c86df63af4b456ff768a8c9ae4d6aea30fb0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1c", + "to": "0xac0f906e433d58fa868f936e8a43230473652885", + "transactionIndex": "0x8f", + "value": "0x4ed369e7f438000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x7b88a4333a02b941590e7e17c6c0e8c430a68968868eb4ef6e73f657f6fc373b", + "s": "0x2dd7c7564c8bc9976c5c60a6fe9271dc1b306b5c79bec782baa0803e67ebc021" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xf9303877f107f5cd2cb0654b6d7a6d749fa03856", + "gas": "0x10f8e", + "gasPrice": "0x1cb325f0", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x23c34600", + "hash": "0xb214e15ecfcb3a232d9c0204012dadefe1b345f65a1558d14a9ebc46dd020034", + "input": "0x095ea7b3000000000000000000000000cf5540fffcdc3d510b18bfca6d2b9987b077255900000000000000000000000000000000000000000000000110985500b9e0ffdf", + "nonce": "0x10c4", + "to": "0xfd03723a9a3abe0562451496a9a394d2c4bad4ab", + "transactionIndex": "0x90", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x49d721a4c0f99d3d318817f837d1ef90919d7dfc92f7cf5d5e261846b045932d", + "s": "0x755300a9629a30b13e40fedd0fbb822d54315190bde3fe3e1ffbed928966237" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xa377aa6822603cc52e4e9ed6eaa045c46ef6b3e2", + "gas": "0x493e0", + "gasPrice": "0x1b610125", + "hash": "0xcddc0dbf2d539ffc6f86ab850758b857e68055651b057390c08f5270318d1843", + "input": "0xd9caed12000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000edb19c6ac409e9b13b087c67e8bb27fe74b5ef48000000000000000000000000000000000000000000000000000000000095d3a1", + "nonce": "0x68c88", + "to": "0xb685760ebd368a891f27ae547391f4e2a289895b", + "transactionIndex": "0x91", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0x4f3c13e530563624c543424b037bfdb7508b4e5aba0567bb0e5ee820afecfa79", + "s": "0x296d80ed32e3b703e76c3af5d702a2c6e1ff31fe9c8058b86a0985d848a8b3c9" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x9883e2c324ce83f0207a9c5a0af25612f5402704", + "gas": "0x30d40", + "gasPrice": "0x1da2ec6b", + "hash": "0x054d8780fb7145ceb446c46ee23a999bcfa81fc8d8968be87eab9fcc66a262f5", + "input": "0xa9059cbb000000000000000000000000dec723ffd070d8896482b1cae15f1fb295b91c2c0000000000000000000000000000000000000000000001bc85dc2a89bb200000", + "nonce": "0x3a", + "to": "0x4d224452801aced8b2f0aebe155379bb5d594381", + "transactionIndex": "0x92", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0x44d2cfa7b7b8ab4ffbc7c59322bdbab6121a20979b63584e9134f67c0bb57b50", + "s": "0xffbe7735ba29b4f0b6226aa14fe740325859ce3a5ed1370a2f40ff156a52a84" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x625217ce1ea3f484ab03e050a8dd1b9fe5ec226f", + "gas": "0x5a3c", + "gasPrice": "0x1e6da730", + "maxPriorityFeePerGas": "0x4b571c0", + "maxFeePerGas": "0x3b023380", + "hash": "0x3d02143a5809be18731c67ccfc3ceee44c4e8aaebcb24b7e295d70da7d81dd45", + "input": "0x", + "nonce": "0x1d", + "to": "0xb131e281d89b811906d585ea3317457e88e2418f", + "transactionIndex": "0x93", + "value": "0x90f36242d6000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xf091ae4fd9ebc3e5e9109ebcec9eb516cd67e3168bb91e8e7c8edf4ca75f1b3b", + "s": "0x5b9a34f73b795e65ef78ef9222a5111177ad074cb4e859bff281278cb1f0886d" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x53aff29ab68e5a143f8280030db9b0f5e495d35d", + "gas": "0x19d55", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x45b4a6b3", + "hash": "0x73c9c11208017d4a02ff9d8915ce1ade4125f03ee9d14cbf24b4164ebfb7ab76", + "input": "0xa9059cbb000000000000000000000000c19c5319449f4d2e20f9a5c9e7b19139744e18af0000000000000000000000000000000000000000000143219308d8b2ddd3e55d", + "nonce": "0x12", + "to": "0x7d8146cf21e8d7cbe46054e01588207b51198729", + "transactionIndex": "0x94", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x621c3aeb9eb4ce30a827fa1046c4831ef28a093d7c896b082be8f21bbc43d1da", + "s": "0x59cf3db691086a4089ca4b6ae8e7273a54eda9ec5c9d6554c2e51d9d4d26c37c" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x61ae4064c04ced9b4d0ee7544334d785c0b85b82", + "gas": "0x13074", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x414c4d7f", + "hash": "0x734eb917fe17e60aaeb02f32b0210677fa3823d5a9266c339b7929b9fe9dfec2", + "input": "0xa9059cbb000000000000000000000000c0963d824a2beae2aacf95e50a77a5467aecdc84000000000000000000000000000000000000000000000000c07c66c7c4d099a9", + "nonce": "0xc0", + "to": "0x1ceb5cb57c4d4e2b2433641b95dd330a33185a44", + "transactionIndex": "0x95", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xf72f2f51d577a5e9814d1515fdd0f6da9f78a23b9ad050c5893f557d70fe0ca1", + "s": "0x3cbbd789bd122cb35ad8cb0cc8c88b97e36380e1c8676c5de2fc41cdcf0f2e0f" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xcab18151ff4ae8e8c56294dfeddc84fe72ead074", + "gas": "0x1104d", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x449ace19", + "hash": "0x480034e45c53343903c8e2ce008ea1a74bb9b5f6ec03c6dafc974654e3e071bb", + "input": "0xa22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c710000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x311", + "to": "0x9d4ccb27e285a9d1d8a7c3dbe4b7d8a1945229c7", + "transactionIndex": "0x96", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x8bd005ea20e390cd6f6ffc824d0b8c26c47c0a7bda9be66188512a49b31bca76", + "s": "0x5ea846e6781ba7b38e4bd14e8aa043d2e1146d88935d3355b3005578a2a76335" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x5d3c3c0646e605ac8856465bd0f51e428f82468e", + "gas": "0x1206a", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x414c4d7f", + "hash": "0xaf574f95002605ea62ccad137a7746bebc91566c7d13df905a6aaa10e1cbfb6f", + "input": "0xa9059cbb0000000000000000000000000849d57501d4fa3aad519fcbe6f7114963154b6f000000000000000000000000000000000000000000000000000000000fcb9440", + "nonce": "0x0", + "to": "0x6c3ea9036406852006290770bedfcaba0e23a0e8", + "transactionIndex": "0x97", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x6010f8bb43e2e46e21413ecc2b39ba7d44f2ce1443419a30aecf28533517f276", + "s": "0x1972cd3d89c246f9c9ed637fa9c6331270eda6442df98ea32d44d0958305d0b7" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xa377aa6822603cc52e4e9ed6eaa045c46ef6b3e2", + "gas": "0x493e0", + "gasPrice": "0x1b610125", + "hash": "0xb1fbb8f537065a8a5ad35b3a9a8a2be54528da6430a06cb5834dbc08fca904d1", + "input": "0x4782f7790000000000000000000000000a6ce006518ad461d442cfd94e1fa0ee38accd1200000000000000000000000000000000000000000000000000266d183de40000", + "nonce": "0x68c89", + "to": "0xb685760ebd368a891f27ae547391f4e2a289895b", + "transactionIndex": "0x98", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0xc3fce823f43a77bad0b9dc3a8c8761e1ffa033396fc64ea28c09690a6b621fa1", + "s": "0x36bc45ad8387c2b410d2546a2ec29620feab59ba88271a4710a73b56c09e1be0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x6aac4ef114cb0286ac5cc524577983d28d04d8f5", + "gas": "0x393c4", + "gasPrice": "0x1a1112bd", + "maxPriorityFeePerGas": "0x58dd4d", + "maxFeePerGas": "0x1c45a7e5", + "hash": "0xf5e473a8c045c634203904a02a0fe8a1afd088ae328628133e0d2878d54bfff0", + "input": "0x5f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000f944e35f95e819e752f3ccb5faf40957d311e8c5000000000000000000000000000000000000000000000057b66c962ca95ace8000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000c307846656544796e616d696300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000320000000000000000000000000f944e35f95e819e752f3ccb5faf40957d311e8c50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057b66c962ca95ace8000000000000000000000000000000000000000000000000001132b034478a5dd000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000027a81e5af16d9000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001e8a578efaf000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f944e35f95e819e752f3ccb5faf40957d311e8c5000000000000000000000000000000000000000000000000011b4321f74ec564000000000000000000000000000000000000000000000057b66c962ca96016c000000000000000000000000067336cec42645f55059eff241cb02ea5cc52ff8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000006aac4ef114cb0286ac5cc524577983d28d04d8f50000000067dd4a1f000000000000000000000000000000000000000067dd49e20000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001b171c2c3c94861b00f179eea83fcbf44ca3907446380dd572f5473f99cb6aa7411dce734558017227bd7100559f814c80d5a76597888ab8a4ffcd76be385c79d4000000000000000000000000000000000000000000000057b66c962ca95ace80869584cd00000000000000000000000011ededebf63bef0ea2d2d071bdf88f71543ec6fb00000000000000000000000000000000000000000105762f2ab88d5ff8e6f5080000000000000000000000000000000000000000000000000098", + "nonce": "0x35f", + "to": "0x881d40237659c251811cec9c364ef91dc08d300c", + "transactionIndex": "0x99", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x24811dd24139e487d961b0c676179953966e078456fe8bb651d3deac79d05ceb", + "s": "0x5b0aafc9fe873220538ebb19d60c89e347f3568d7992547aaf83856049a6d7b4" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x796cb54391d22dfc6f480fa780211b7bfab8c93b", + "gas": "0x6382", + "gasPrice": "0x1baa6b65", + "hash": "0x1c116a024ec264587805937b67c4c9397a9764f64c5ce5537fffa808b87e1b0a", + "input": "0x1249c58b", + "nonce": "0x37", + "to": "0x1e0d871472973c562650e991ed8006549f8cbefc", + "transactionIndex": "0x9a", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0xe215bd3b464d8b66b70913cff19d012bd89b8de9d7c3829c4467483e744b4eeb", + "s": "0x74e672cb9e206578f9f507f1703679c81c3d53f85843879e5d73de34e02d3a9" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x0d09e95712b2b1c8f60883aa7d0497e5591e8058", + "gas": "0x5208", + "gasPrice": "0x1baa6b65", + "hash": "0x24dd07f7fc4bf7a23cf1cc0265fa24520c8ec0d355ed53866920cc8b0b164607", + "input": "0x", + "nonce": "0xa", + "to": "0x08474191a4ad9a66e49b5dae9165ff8fa46a93a5", + "transactionIndex": "0x9b", + "value": "0x8c17e389dfd6d8", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0xa49a874dbabd4a7c24fcd214c934cb5d749bab14d90425808a93270784489b21", + "s": "0x3badba46732437a31d748faf991b753d72cfcb1a8df7e46762547e92e649786e" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x787b8840100d9baadd7463f4a73b5ba73b00c6ca", + "gas": "0x5208", + "gasPrice": "0x1baa6b65", + "hash": "0x6aa4215d145b2a71c38a77e0fb8854db06262c852bb31a88c700dc6d727f0849", + "input": "0x", + "nonce": "0xb2c70", + "to": "0x655cd0fd6d1e8af1d967f1308fbe976ca1533174", + "transactionIndex": "0x9c", + "value": "0x37e7b339df8c0", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0xa4ddd2d9cdd21f929d9af2e6ae1a4470206007ffaf024ea7aed11d924a215610", + "s": "0x75cebdfd3aa8032fc2332410165b176427b88b002a6cec82289b8833a7a13ada" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x878faaec5b6ffa25970f88fe73325a60e52055d3", + "gas": "0x5208", + "gasPrice": "0x1baa6b65", + "hash": "0xa50f45773bdccb0f9237c3e9831ee7b2d7e347b5bff662924d0bbd78b973b624", + "input": "0x", + "nonce": "0x87", + "to": "0x16e2b6cfe15114b7ec1820d9abb2fa0598333f49", + "transactionIndex": "0x9d", + "value": "0x8dd73b9b528", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0x1633f0569d14fbbc642232ed00d1eec9de318ad855692dc9fd61345827c730ff", + "s": "0x654eadc75aa9ea068df231bb8cf49f4256a970ce3a79a5a1ba4b735596c880" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xf090b13ae4017f027f00648197a08578446f1579", + "gas": "0x5208", + "gasPrice": "0x1baa6b65", + "hash": "0x79c75ad3d368427d3cc815a4ced6c9d763d44edda64406602eb1b3df1383c434", + "input": "0x", + "nonce": "0x0", + "to": "0xb50a2683290254af24868ebab11705a7f7ef6bcf", + "transactionIndex": "0x9e", + "value": "0x1127393295cadeb8", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0xa85671497c2717d56215dbb9a21c40f1a871aa3fc2dd05a3ecc63e0b99527508", + "s": "0x554efca4888fde14314671d6d95aa40ecb327ba99c384896b22adbd15738ca16" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xe0fa8dc4f284f12e0361f8ad3e5d26a060b60e60", + "gas": "0x5208", + "gasPrice": "0x1baa6b65", + "hash": "0x85dd4747b8482f51a8c497b1057cecc32652e7755089b8f48bb99c835823958d", + "input": "0x", + "nonce": "0xa1bc", + "to": "0xb57224a98be7c3a34ba7793e009dcc0abbceae65", + "transactionIndex": "0x9f", + "value": "0x2886a350f300", + "type": "0x0", + "chainId": "0x1", + "v": "0x25", + "r": "0x77a3d8ea2e9eab5cf45bbbe0375e3480e2ae3ef96f4a9f4571a4797f66259bb5", + "s": "0x204ab8fb1db172e0604b5f687826afb7f3fdfc856a66496149168a855d09bec4" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x060822ea7575ac6a063349c7a226005283556639", + "gas": "0x1f3e2", + "gasPrice": "0x2132e746", + "maxPriorityFeePerGas": "0x2132e746", + "maxFeePerGas": "0x2132e746", + "hash": "0x76e0207dfa6873aaadfb29740f27d50e9e90891a1800c2e6e75fba8b456f1556", + "input": "0x7ff36ab500000000000000000000000000000000000000000043154f0993eca5b90861a50000000000000000000000000000000000000000000000000000000000000080000000000000000000000000060822ea7575ac6a063349c7a2260052835566390000000000000000000000000000000000000000000000000000000067dd4b360000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000acaeeccad7ff61bd34f216e448d542cb0d117fe9", + "nonce": "0x22d", + "to": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", + "transactionIndex": "0xa0", + "value": "0x432b225b48e4000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xc4285ecaf961f56c57bf63d0920b8bc50c9e62a169959de874f9644a7bd554dd", + "s": "0x3103948704ea9f05c1269a7f153d63d29383e03b7fbfaea5afd4deee652ada30" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x3642d11ce622dd38af2670448d3d21056e3c491c", + "gas": "0x7c4b", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x45b4a6b3", + "hash": "0x33ebc41fa498ffec7a3e2e8e91834f357e6acdccb5535ebd57eeaff1b82b0c61", + "input": "0x5fcc30", + "nonce": "0x2", + "to": "0x2fc617e933a52713247ce25730f6695920b3befe", + "transactionIndex": "0xa1", + "value": "0x6c00a3912c000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x501275ff3aff72f903ab93ff30c03083d56bb24e73fa7b365fb9da75dafbb619", + "s": "0x59a9baddea52b5ab74ca1333c0bb1e99ebd960085a613b35df4e41aeda2a5f04" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x40059ba372d51da37b7a0be0d129b1e786c10e5e", + "gas": "0x7b0c", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x45b4a6b3", + "hash": "0xd792de409b900cd1cb6e7cca045f8887135d9ff10b98040a75b538f4ce0a90d3", + "input": "0x", + "nonce": "0x78", + "to": "0xcec7dbd3f2371ab0dd5ee1701a070af04d43019f", + "transactionIndex": "0xa2", + "value": "0x6a94d74f430000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xea5c59a74cef7a567e27f06736a123d7fe4c6624e35740dd2a5a8def22946720", + "s": "0x4ca7313478aad729986c4ead6b4de75d041360ad338fabf3b7f923fbdca60298" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xdbc0e455980b7f9e4d5f528dd8fa82e993c560f3", + "gas": "0x5208", + "gasPrice": "0x37859a70", + "maxPriorityFeePerGas": "0x1dcd6500", + "maxFeePerGas": "0x414c4d7f", + "hash": "0x92ad896958c16d523fda604e205397d2391d559439fdc496be77c62cf800fc1e", + "input": "0x", + "nonce": "0xb", + "to": "0x20ce776d8b712f6efebe1fdf9577c7a6abf1dcd9", + "transactionIndex": "0xa3", + "value": "0x1a3aa0fc817d0000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xbeb1f09cbe83eb5a9c7ea468fc054ace244685bfe4d60ec8dd3d775fee73d207", + "s": "0x2d97016895d23f8c5f01eb57f63f1d388be514b26a971caab3b2a9b97d8529d7" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x39f6a6c85d39d5abad8a398310c52e7c374f2ba3", + "gas": "0x5208", + "gasPrice": "0x1b250cd9", + "hash": "0x3a4228781138757c7df6f13bbd4d54d0b155acab0d2d74d4b16bcb5d4700c441", + "input": "0x", + "nonce": "0xbabca", + "to": "0x447c33cde5bd16c6ebb10e9428749ddbc3cbf87d", + "transactionIndex": "0xa4", + "value": "0xb4eced5bd4e000", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0xa844392122f674761b973ea2a421bacfa572088feb34f00d1e642f1ca4a63f1c", + "s": "0x39dd8886250854cac7554ccbb4199491b84e5c88c6f0d18df94e0e6d4ef0db74" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x39f6a6c85d39d5abad8a398310c52e7c374f2ba3", + "gas": "0x29810", + "gasPrice": "0x1b250cd9", + "hash": "0x686651159fd66ae39aefe8db37aae6c897705d77675c861a6d08c0f97d68b4d7", + "input": "0xa9059cbb000000000000000000000000f714f87db2c4f5468a4ac43fed1de6288463d70100000000000000000000000000000000000000000000000000000000068e7780", + "nonce": "0xbabcb", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0xa5", + "value": "0x0", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0x9be00fb22ed18629c2ddb99392e74c9b846e250d6193768a1d8fe2e6508a103e", + "s": "0x9cdaf013416567696d7336087ea1dd5a10f9428dd38cdd0a31b8ce69568a328" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x41e7861a1b5fd74445a368ba3491eca16ef99a33", + "gas": "0x2ee855", + "gasPrice": "0x1b250cd9", + "hash": "0x9b9eaa4aaf14c4a9666ab17fb0fff8ab5415fa991cfe322a05dbe62b02296907", + "input": "0x", + "nonce": "0x4e9", + "to": "0xb74defddf88c1d6e3918b15068d24e3640a1297e", + "transactionIndex": "0xa6", + "value": "0x3e871b540c000", + "type": "0x0", + "chainId": "0x1", + "v": "0x26", + "r": "0x8e3d4c103d9a29503f80bf2861ca01127d37680d613b7d3c43723147612ca372", + "s": "0x66996bfa071d1d48a1af732162fbad5fb81c18545498ba2c0027476dc94401d5" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xc7d5d716a8b42821dddd5b3f278a36d0be137b2b", + "gas": "0xa5ba", + "gasPrice": "0x2b99d870", + "maxPriorityFeePerGas": "0x11e1a300", + "maxFeePerGas": "0x831565dac", + "hash": "0x8b2d5207ce1b3b9b17c8868757ac218e84055ec01348aba671493c52ecd07d51", + "input": "0xd0e30db0", + "nonce": "0x14b", + "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "transactionIndex": "0xa7", + "value": "0x429d069189e0000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x35f5013447fc4c835eb2b726d4b6d18248ec00e3a11a049d9eb32de1b8355a26", + "s": "0x6facdac8f3305264e20d9e1b8191f4757e1f712ccd98ba23937f3675e4091641" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xc039004e6336c6f459864800abdf133126750b4d", + "gas": "0xb784", + "gasPrice": "0x1a1112bd", + "maxPriorityFeePerGas": "0x58dd4d", + "maxFeePerGas": "0x1c45a7e5", + "hash": "0xe99caa70ffb4fe797a49f99e1d34e2332d5868fc9d3c3e78c090a70f88b75595", + "input": "0x095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x15", + "to": "0x152649ea73beab28c5b49b26eb48f7ead6d4c898", + "transactionIndex": "0xa8", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x9cbe10796db520f6e1f9cee31fbf30f68425abda49be7b5fc3dbde89553442db", + "s": "0x14e0567aa66e540ff128748875d6e9f3fddec4c25d3eded4a9be312c2f48a55c" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xc039004e6336c6f459864800abdf133126750b4d", + "gas": "0x3d515", + "gasPrice": "0x1a1112bd", + "maxPriorityFeePerGas": "0x58dd4d", + "maxFeePerGas": "0x1c45a7e5", + "hash": "0x8761114c8087138b140ea95a15012cb1b588d29f106954eac6067efdc8cf7bf7", + "input": "0x5f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8980000000000000000000000000000000000000000000000003273262d3deb1faf00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000c307846656544796e616d696300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000320000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c898000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000003273262d3deb1faf00000000000000000000000000000000000000000000000000108150307cea0c00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000260f1c6e25ce0000000000000000000000002acf35c9a3f4c5c3f4c78ef5fb64c3ee82f07c45000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001e8dac748d4000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8980000000000000000000000000000000000000000000000000010fd9a6807bbd00000000000000000000000000000000000000000000000003273262d3deb1faf000000000000000000000000807cf9a772d5a3f9cefbc1192e939d62f0d9bd380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c039004e6336c6f459864800abdf133126750b4d0000000067dd4a26000000000000000000000000000000000000000067dd49ea0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001cdcff0a4fa9f661e83422672e5ee94ae64c08688e8d9eb22501aad1d2a2273e20794451b74a41d44ce744b27baae40cfa04a6f293b27cb63db9d304e396794bd20000000000000000000000000000000000000000000000003273262d3deb1faf869584cd00000000000000000000000011ededebf63bef0ea2d2d071bdf88f71543ec6fb00000000000000000000000000000000000000006b42fceda4c9409d74be1c650000000000000000000000000000000000000000000000000071", + "nonce": "0x16", + "to": "0x881d40237659c251811cec9c364ef91dc08d300c", + "transactionIndex": "0xa9", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x342e783a16f6c245e0b0c8fc829c16749e340efce5c7702f17a7c6b094701aa1", + "s": "0x70833ad0f3ebabd59c189bc906c05a05a0dab385c6d1050536e6d49972686165" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xd11aa285879172f7fcd3e694c49d1af6ee78b215", + "gas": "0xb853", + "gasPrice": "0x2132e746", + "maxPriorityFeePerGas": "0x2132e746", + "maxFeePerGas": "0x2132e746", + "hash": "0x2e25b3f3d4daefab9ed0cf5b1aff57ad169e4a474f3e067a3352f6ac8bdbfc67", + "input": "0x4cddcb02000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000001f5d8f3c04b282924d2c2ebbb24b85ee1703539b0000000000000000000000001f5d8f3c04b282924d2c2ebbb24b85ee1703539b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c653c52d0b0528fe5eaca412a7bc1a5aabb7c1420000000000000000000000005ee0a025a9b568620414d363a72486b3c22b665c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000009fd06b955b7406ea0929fb3f5ccabc4a5a1fb5a500000000000000000000000071d4031c188b575b90f6d57ff0c3a3585dedeb510000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000032a28c3630e59d000000000000000000000000000000000000000000000000008cf23f909c0fa00000", + "nonce": "0x189f", + "to": "0x9b743560baf6d31ed20fdff17ba2e8e5b1bacf43", + "transactionIndex": "0xaa", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x8970760bb9362a64d1eb2ad30151056bf9a9c528af3c75612a115324e6cb1085", + "s": "0x6b4b1fafb443a9afaa705e6b147e521544e0cb9852b7022d0fe31026cc80d86f" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xada3cdc3b6f0927c15f93e73215a41b12ef0cf1e", + "gas": "0xc65d6", + "gasPrice": "0x19bd6d60", + "maxPriorityFeePerGas": "0x537f0", + "maxFeePerGas": "0x52fb583b", + "hash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "input": "0x8aaa8f3b00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000d2000000000000000000000000000000000000000000000000000000000000019c000000000000000000000000000000000000000000000000000000000000026600000000000000000000000000000000000000000000000000000000000000064000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd0000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd0000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd0000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000903500f3022e958d918a3550360182f03a7d1f180000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000dcba07d9981a5f9e9509c71ca65b4fd0f9157d6f0000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd0000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd0000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd0000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd0000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000dcba07d9981a5f9e9509c71ca65b4fd0f9157d6f000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000903500f3022e958d918a3550360182f03a7d1f180000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000903500f3022e958d918a3550360182f03a7d1f180000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f180000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f180000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa00000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000903500f3022e958d918a3550360182f03a7d1f180000000000000000000000003b0f07b973fb73cd4deb64dc6961e0ffefec30cd000000000000000000000000903500f3022e958d918a3550360182f03a7d1f18000000000000000000000000d08fd4141932f47a644b77a7ef968f552fa4daa0000000000000000000000000903500f3022e958d918a3550360182f03a7d1f180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000ff3e9faf901519ffd5813f35fc6115692183a028000000000000000000000000ab765c140c005dd2d58fdc1725403f1c81288c7c000000000000000000000000e56680644c7fb0ba42f510132ba628e386ee99e20000000000000000000000008614deaa553e9cccfef4de9fb21ea7a9fd711b19000000000000000000000000d54fd8b99122ff7eeed12f30160e62a849ff6050000000000000000000000000355f56d2f1f67ab2b0597bb4b10eee8aa5261b0500000000000000000000000016347cef8a339d1ae785ddefb948a16ea52ffb510000000000000000000000002e4bf29a24251abbe72743e6ba5cb59b04dc35cb00000000000000000000000099969cfd53accb8730242016158c40a3df2eb30b00000000000000000000000081f2fa199ce5853865ac560c46dd1de5d4fd0dd50000000000000000000000000e7b5583c1afa903b88de95b165b2408530e2f450000000000000000000000002f4aba6cd84b3a04e2b3af07282923d51447e1de0000000000000000000000001fc159c2da4dc20e6f6e0b03623987e387bfeced000000000000000000000000be21ea67c6e95d664423333aaa6604668ae65d970000000000000000000000001dab06507bba50d2d8bc5903cca1c7150d11658e000000000000000000000000b05d20c9bcbb2629d46b608de57d573046b2430300000000000000000000000002feaa99467e3df6ca73f5185e618261bbcf62700000000000000000000000004bf460f43fb09d51bef49e6ac4f818dcae107c3f0000000000000000000000000f33fd888e08aa99238b06a69d857017ec26dc910000000000000000000000009bfe14a8ea20e8a97e6417c188df364f1fbc3889000000000000000000000000bfdc5cd913a71a0591aa8dc076b27e5b4460200300000000000000000000000048ab3ab765fbbc91e1be414c0845d39c343229d4000000000000000000000000e10b84641db47f06e6a1171afa731d19e03678ae00000000000000000000000062ffcd4f0ba52a66231058eb03db61db0fa47332000000000000000000000000b3a2e484a8d351de3171fbc25ebf03ec24420e9d000000000000000000000000d440558d0d3fd831be688d34bfa02f693ff3e6de00000000000000000000000061ce0f3982d3f4312bf253b208ad5ae2be33348a000000000000000000000000f714bed26715c2d29431f8e60c792ead704631630000000000000000000000002db1d00be3bacb3547982fb04f886bb9d73d6b3a000000000000000000000000377090ddf746c1e6388e884a70d0bd9315687375000000000000000000000000cf4b3a3be828b111eee75a0534a988c8d9284aae000000000000000000000000e118fff903daedc3086deb389751c1bc10395db100000000000000000000000084507d819146023791253214856e0da98985cdae000000000000000000000000e95117f26fb3ae379e4cb5bdde639c0957d9bec70000000000000000000000004d9b0e7abf7d561358e90e22990c3a28b941b11f00000000000000000000000094dd279bccc6fa20cc5e8654639beeaa7954fc2400000000000000000000000068ebbc336140f94e6300a4f6d4e9f6147c126e4100000000000000000000000000c4fbc6df4d779f853dfe6d2f051cfaa932e27b0000000000000000000000009f77c8fab071c4f104618c555ea336bd54a63609000000000000000000000000bb6ba06433f793f49c379cf03fea4da3da7a721d000000000000000000000000896fcbb4af301659c439f7cf277117e28fa1e59d000000000000000000000000cf4b3a3be828b111eee75a0534a988c8d9284aae00000000000000000000000052bbabd33ee67d8be5c2fc500f74acffc8280135000000000000000000000000a55e681b5082c0ef77b25fe761271a6b17bcecd6000000000000000000000000be8a008fd0b429537e3c697877f788a4577b8b350000000000000000000000004c1d222c525c1c6727355a938d47e35fccc7a8470000000000000000000000005fe1d9d9026ed03676ffdbd422d3b8f41707aa820000000000000000000000001030a39250774cbc1e2cd7a265f41debb6adf8e6000000000000000000000000b1991caab93f1bdd7317f81f64272f7e043c5b6b000000000000000000000000df8901dec9c9e9f3561ac28983a9c51dc07d350a000000000000000000000000a0676e7cd703273c7ecf2328a4c3d12562cf66ee0000000000000000000000006a7c5b15ef3fa56fda8482222b20233de5262f2f00000000000000000000000090a27fee7fc7525cf5b162d8d09053e8ea3408470000000000000000000000004b387cff6962830523015835ff3d45576e435c58000000000000000000000000777078aca69bbfd022d82900cd398a28656109be00000000000000000000000057e900136ccad55713a3eacf8b3f2b645bca6ca5000000000000000000000000bfcc975144b0be510c8d0fb76f7629dd15dd17ff00000000000000000000000051938cd1135f82d71582cd217970248dbe1ec779000000000000000000000000b6974546fda471c2885508f6966cd8404cfac22d0000000000000000000000004c33b277b9ce57dcb53edce18d4f78d656ff26570000000000000000000000001ef510de90efe28a6c621be545c45bbe90a6b228000000000000000000000000adcaa7c94e996bd95da911ef1f680d4c655ceabd000000000000000000000000cdf6617e265492ec32d68dcbf7384de6319f5e33000000000000000000000000def66ed71cdbdfe24b389e03a03a5685e0656947000000000000000000000000616f8382e03f99c3864158ef2e15c1aa6c56234b000000000000000000000000c725102508c2f7df5bdb5f8ea5242ae18b8a839d00000000000000000000000046546ae5c8bfde78a07b3822b09fceb0c5db7ef0000000000000000000000000d55e04bd5071b8804817f5176409cae317460df3000000000000000000000000dd9a83a0aa4d426b75bdc7b7be1f9676ce7055ae0000000000000000000000000b63dac9ae136d953164b8a17fa2fe81c21de36e0000000000000000000000001b3a5e58ed43fceda9f7419be947bc83556d16a400000000000000000000000010f8f418b857dc77bd4c7cac349d96cc81d38506000000000000000000000000a18d2f95cfb492b65dbffad6216e3428e9d1436200000000000000000000000042caabaafe86c0d712ca4c6a1a3b0e04bdc1c898000000000000000000000000f3640f4e96b0d9a6b0a577628910e3c90303d2d4000000000000000000000000a87d0848016956657ba378a8c4c463f7a221d0e000000000000000000000000009dafb73d620bf3cf6fa75905f0b9d0a135a4e7e0000000000000000000000000e92fc848eaf50ed4390cf73a292746671a8a23500000000000000000000000078f35ad85a1c706342b8355f1e41806836d6209b000000000000000000000000a6d5843daa6e61861bcc4ce430388fdcbc431e16000000000000000000000000cbddf2e5acb14e073478cf892a33f7bf772597d40000000000000000000000009e5227252ec2d10000d0f60de62bd4f688cc3443000000000000000000000000ac672bf416af4e6fe2830f81bb924e97e1b435da000000000000000000000000b9324b3c296e98294718343e5d010203c82df6650000000000000000000000008b0a15f9e517daa33bdfcaf0e34a7545fb455a83000000000000000000000000c4b28ce3a46fbdd5867e8f475a30253456c451cf000000000000000000000000bd5e399b68755f5725d875f6e78c90ed9576e3cb000000000000000000000000bb98a39b092d9a841a947b86735173c68641d3cb000000000000000000000000cf4230c368addc7959960360c85c395bb26f4325000000000000000000000000934808441d83663ed853206d801411c813142c970000000000000000000000008088963d89f08157a3f37349a26c0e04de4d851a0000000000000000000000008fd589aa8bfa402156a6d1ad323fec0ecee50d9d000000000000000000000000abd2735130808e7edc92338b1b6d951deca60dee000000000000000000000000ea0a9d028ccb3b0e1c2769d4cf2540f0ad6d3926000000000000000000000000065d49e48cc7e741335d8b968b56dd1451279fec0000000000000000000000008ae616759e2957ad46728eda4bcd4334ed56c1ef000000000000000000000000e033c076b7442d1ea0a1ddcdfebf54b93d6818960000000000000000000000009645edd5bd30b6fb9447a17faaa029056e6ad32900000000000000000000000035b5d31e454fabee3f3b3cfdddca9636bdcde986000000000000000000000000d4971c0c965f248f9aac5c719de0eedf8f1f8ce80000000000000000000000000000000000000000000000000000000000000064000000000000000000000000563739156003a31a8690a9e9573c13517bece40a000000000000000000000000d5284664089a66702c50f08094232086b77307f3000000000000000000000000b3de70ef827f10592a092f4d330750efe758bdf6000000000000000000000000dfa2c5cfce609a8f2ed55b8a03419890ccb600b8000000000000000000000000e510aa514474690d1f75cc4ae5851aad68e2d35c00000000000000000000000011d27c55ee22ce20c50365b2da5048330106b5be0000000000000000000000001803fd4e6d91c9204db7e03b4032653c910ffdc60000000000000000000000002d05731cb71724154cc1704e715486d3fafe93a60000000000000000000000000f008487ff322b107f18ba8ea235787cd951d0a300000000000000000000000092748353411d72e6e5154a77e10c91dd9998f2e70000000000000000000000002eb0d90a8c7d5653dec5ca2d5d28013547d0ab4b000000000000000000000000feec0246f33579f59e670801ee497950fbf781e200000000000000000000000064bddbb3bd72d10a128a8bb52cd2a8a953339b6e000000000000000000000000239534b4b03d07fc00ed9ed771e2ce0e66dbffa00000000000000000000000002c3f128bbde445bf81f061f9228039180dece2a70000000000000000000000001fba97fecfacb3865b18b1f01b877ea0c71434a600000000000000000000000067f229eb931798e4d50ddf36b0b6f0741b6952b00000000000000000000000006a43ec835230561fb2d290d485a491fed0f7c244000000000000000000000000e93db0985bc6306f3ac6aac923b79897243a09f6000000000000000000000000f7fb908519ffd9ca8f11399567a7d4dc527c0cb10000000000000000000000000512734b43c70c627217147dae41e92950522426000000000000000000000000aa9af3e6d491ee3aedd49fc924de312570504efd00000000000000000000000082c2ee23cee97d2adc34e8f1007d0bcb4debafe4000000000000000000000000bfa278471eca2e8db087b569bac4862ab2ab5823000000000000000000000000a11873bbf925959eede8c6a71840ff2b97c220730000000000000000000000002d48e38fee26df6c73f6c0b893fd84c6ce3ab42a0000000000000000000000003e9a882f4749f8eab76558bd202c962e9898d95900000000000000000000000045c6e1b02b089b71172bdc1903d7b82d72b28e1b000000000000000000000000afef79802d64c0384a550a344879d8730b3227c1000000000000000000000000a918d62326db89178c6d71fdc1a844b53b20e18b000000000000000000000000634af105df523c82ca3981a5bdb8b3b8b91f93ea000000000000000000000000d7faffdb8d5643308920eb257470d5a4a65f047e000000000000000000000000a32328e621b058e0c9e700b7b4c9fe662660e43400000000000000000000000030073d66509404aa3c66f1ce01afe0cbe05241fe0000000000000000000000002ab298bbdb49b1b9ae64bd3303b3e1644048532c000000000000000000000000eeebf58c8c784d7f97837dedb28bae5cb1399688000000000000000000000000d68d1359a1c2f6a0d28a234142e7892d902c54230000000000000000000000008e3193b0505410e77cdc9e2f49e9cef6772f58c300000000000000000000000022fda91729be8d543e99f5d6913259c4dc60a39e00000000000000000000000057a76fa440f20942222d48caa443abddf0b2d8dc000000000000000000000000b40755d11d02db12cd59fb72dde8bf1488eba4d90000000000000000000000000056dba9ce38909afe87e75a3ec8204e385ba419000000000000000000000000b808e4758035c35df5f4c107b5900abe87e6c5660000000000000000000000003885364ff106c3409c48eb89562dd0d97283054c00000000000000000000000010000da70943e3b6944ce53aeda763184f469aba000000000000000000000000c01a1c4e3235df7985930ab98ee54ad34bf1989a000000000000000000000000930bca147721963b61280dcf93761f44210ef40c000000000000000000000000acbac02bac60bfde52da82756e60d8c3062e646e000000000000000000000000b1c8b801cbdd804994e42b5099cbcc7230ad9f8b000000000000000000000000d7ffbb7bc1e626ed2700abb048ea21039bf1be1a0000000000000000000000006b6147a547effd2e3d5b28d70be6d079515cbfd60000000000000000000000000e940d73fbf95eb892a8165dd305f7e0c0b376c80000000000000000000000009803bf969155103c3e7dcc656cfea692dec785a9000000000000000000000000ae1e8811f18fdf30f17d15dba7aff653e93acc18000000000000000000000000a02e9cbd14e5ceea17e0e13524ccfed38bfc947e000000000000000000000000749c0f00050ca714d3cb03e43751174f5687492c000000000000000000000000edb5c7d3156db99f19574465e68e6061f8f5267b0000000000000000000000008fce217bcc3e5ac2f0bee32c716adea271a246cf000000000000000000000000440b826b4bcf224717c00de01b85602ac9bff435000000000000000000000000da2dbf1a5dd731bf8a2eaedfb34b6edf828813550000000000000000000000005d75e8bd520272e02a6aadc12a9c0cc9d26a319c000000000000000000000000a086af565fb844b3dab68ad69f1fd310472e58b90000000000000000000000006a8c5ea96334c2aaae0ec2c33a2016ddcb935f6f000000000000000000000000f5c3f0947ad2d64dcae4224954d496a6bdd5729a000000000000000000000000114fa9b5709413224aa4f2d6ddcb9a7bb8796ad3000000000000000000000000ea12061304d467fa8b5f5265e880c138c2196bd80000000000000000000000007c06ce0f1764e6308d31bd75e9fc3a53411ab47f000000000000000000000000c63b2a05f90443e74a2cef245a6767ec4fd156e100000000000000000000000091776ae2b80e2483bff88ba6f735d50dde1f166a000000000000000000000000be4ebfed2540e8d3d889d9b2b0b706e4935abb91000000000000000000000000b73d9d37dffeeb1d816b12ffd8b11a030fc4e2d900000000000000000000000005a3389994d4769b834906c7a972263f76ab559f00000000000000000000000073f4b6de40fd37273c9cb440b2e53ef925d568ce000000000000000000000000f06bfbce32716d47a2dfa44abf901c54ea701b09000000000000000000000000bc49919236abf171d0a8a6c2b17dc49a07e29301000000000000000000000000006fb71384989fd5c8688704803879b3d62fa5ea000000000000000000000000fcde8b2f028e882aec69878cd1278b25439e1f36000000000000000000000000c9f1f58f95d0e20cae6a83028ef1dce8a328308d000000000000000000000000ffc5d584e251346fe104887f386096e0ef54b8a4000000000000000000000000ec748ed0f0d40536474eaa6761cde9b9b5c6d317000000000000000000000000a1736d43dd60a399f02919d2ba9bf73e7cdcb73d0000000000000000000000003bda6d44ac884bfd8afd2d26537a60d5e67b2bb9000000000000000000000000af8f157a2072fe1112df48ce783bd9293cbdc1a4000000000000000000000000b2b3870dd883ccdd53b3f8fa2ee1b966405f0dce00000000000000000000000084a401bd82e5ed2b502c268cc60c5ae3274fe3bc000000000000000000000000e3e393a0a996952656526157dd4e1b813e8b89490000000000000000000000002602cb2835b13ce33be629c57002b76e4d0d45f7000000000000000000000000b12c89f4a689f5b7d6cb750ad54b4312e6122a70000000000000000000000000189795cb39f74b63458b35bdb538ec9b44fa1d00000000000000000000000000874fda01b433e914b38e40c8d97adf47f76ffeaa00000000000000000000000043c33d6fc7cc55e1d4c03b92701e7d5ab63e2b210000000000000000000000004b3111b03bf3ffce399f9dc200376abdb72909cb0000000000000000000000004129226a0f2b0407d96eb1c759ca36e470900efa00000000000000000000000016e7f132da239a42c336165bb00c6d9cb060dd3f000000000000000000000000eac49fa933088adb853658665ec761b84334a934000000000000000000000000880f9022aebc6bc3cc3edf8b051abfad131925dd000000000000000000000000e4c9432d3a141a59445bd2e8f08e9e92028e0de0000000000000000000000000c8c1ca2933d3d142c2a80d5621370a66df815b9500000000000000000000000068a6d3b0256f522ec9ca5c960bc9d97a03b3e003000000000000000000000000cbee35737394bba8a44e8f88a20460fb574169d9000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000009184e72a0000000000000000000000000000000000000000000000000000000000037e11d60000000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000000000222d021800000000000000000000000000000000000000000000000000000000165a0bc0000000000000000000000000000000000000000000000000065df0ccece3b800000000000000000000000000000000000000000000000000000000000d09dc30000000000000000000000000000000000000000000000000000000002363e7f000000000000000000000000000000000000000000000000000000000080ce3e40000000000000000000000000000000000000000000000000372cc9a51c368400000000000000000000000000000000000000000000000000000000012a05f20000000000000000000000000000000000000000000000010da7dd12302253000000000000000000000000000000000000000000000000000000000002faf080000000000000000000000000000000000000000000000000000000000001f78a40000000000000000000000000000000000000000000000000001ff973cafa80000000000000000000000000000000000000000000000000000000000f224d4a000000000000000000000000000000000000000000000000000000000b5dd7006d00000000000000000000000000000000000000000000000000000001ea9b17c000000000000000000000000000000000000000000000000000000005d21dba0000000000000000000000000000000000000000000000000000000000110e748000000000000000000000000000000000000000000000000000000007671dbc1f00000000000000000000000000000000000000000000000000000022ecb25c000000000000000000000000000000000000000000000000000000000ba43b740000000000000000000000000000000000000000000000000000000000caa7e20000000000000000000000000000000000000000000000000029a2241af62c00000000000000000000000000000000000000000000000000000000003197ca12000000000000000000000000000000000000000000000000000000000000a7d8c000000000000000000000000000000000000000000000000000000004a817c80000000000000000000000000000000000000000000000000000000000faef80800000000000000000000000000000000000000000000000000000000202729bc000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000000000000000000000000000000000000012a05f2000000000000000000000000000000000000000000000000008aa39c121a2700000000000000000000000000000000000000000000000000000000000826299e00000000000000000000000000000000000000000000000000000000001823cf4000000000000000000000000000000000000000000000000000000001d34ce8000000000000000000000000000000000000000000000015bf294bf545cba00000000000000000000000000000000000000000000000000000048e9e73dc0c6e000000000000000000000000000000000000000000000000000000001c3e0b1d00000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000014eca5d600000000000000000000000000000000000000000000000000aa87bee53800000000000000000000000000000000000000000000000000000000003de887f7f0000000000000000000000000000000000000000000000000000000262f29a3c9000000000000000000000000000000000000000000000001f29f7bbf351f6000000000000000000000000000000000000000000000000000000000025391d200000000000000000000000000000000000000000000000003afb087b876900000000000000000000000000000000000000000000000000000000000037e11d600000000000000000000000000000000000000000000000000d02ab486cedc00000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006ad1441a00ef72800000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000004563918244f40000000000000000000000000000000000000000000000000000000000746a52880000000000000000000000000000000000000000000000000088482ffa67225800000000000000000000000000000000000000000000000000000000012a05f20000000000000000000000000000000000000000000000000000000000c16dd740000000000000000000000000000000000000000000000000000002aa2e20d7000000000000000000000000000000000000000000000000000000003a3529440000000000000000000000000000000000000000000000000000000001a39c318500000000000000000000000000000000000000000000000000000005fb8c43700000000000000000000000000000000000000000000000000000000df9c4f7540000000000000000000000000000000000000000000000000000000017d784000000000000000000000000000000000000000000000000000000013a1be93800000000000000000000000000000000000000000000000008b71836a757ce7ef0000000000000000000000000000000000000000000000000000000746a52880000000000000000000000000000000000000000000000000003782dace9d9000000000000000000000000000000000000000000000000000000000000b2d05e00000000000000000000000000000000000000000000000000000000037da153b700000000000000000000000000000000000000000000000000000000e9c5e2e000000000000000000000000000000000000000000000000000000005c0b6290000000000000000000000000000000000000000000000000000000004a817c8000000000000000000000000000000000000000000000000000000000017d784000000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000000000e4b4b8af6a700000000000000000000000000000000000000000000000000000000000f144b794000000000000000000000000000000000000000000000000000000006fc23ac0000000000000000000000000000000000000000000000000000000002957e0a80000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000008ac7230489e8000000000000000000000000000000000000000000000000000000000005d21dba0000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000000000a7a35820000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000002223acf7637600000000000000000000000000000000000000000000000000000000001176592e000000000000000000000000000000000000000000000000000000000736a739a000000000000000000000000000000000000000000000000015d7ef5ba721eed800000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000000000a7a3582000000000000000000000000000000000000000000000000000000003193403329000000000000000000000000000000000000000000000000000003a444545f6000000000000000000000000000000000000000000000000000000000055e576100000000000000000000000000000000000000000000000000000001d0ea8e0000000000000000000000000000000000000000000000000000000003ba2c2d88000000000000000000000000000000000000000000000001084e87a997d3f000000000000000000000000000000000000000000000000000000000003b9e746a000000000000000000000000000000000000000000000083be61aa7867080000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000016345785d8a0000", + "nonce": "0x59c0", + "to": "0x5ea33d98281df884d6fa08d07781ab26191455d6", + "transactionIndex": "0xab", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x43c588ee0b86505d50429c3b42f54942cff6b21264baf2ea3e9bdc46bc5ba0b2", + "s": "0x62ec2ca5e4df9381b93d28d92f6fd0fa9a93fe25eaeacc0485ab007a7b42ccc8" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xca74f404e0c7bfa35b13b511097df966d5a65597", + "gas": "0xccfa", + "gasPrice": "0x1fae1670", + "maxPriorityFeePerGas": "0x5f5e100", + "maxFeePerGas": "0x12a05f2000", + "hash": "0x84a376fefeb913c0f0cd10f8884116094fdbc3f9337829673d26ffac12819f3d", + "input": "0xa9059cbb000000000000000000000000ef38f0cdfe4df26c0da27c9347b870cd4207a8970000000000000000000000000000000000000000000002a25b323037295c1800", + "nonce": "0x575ee", + "to": "0x5a666c7d92e5fa7edcb6390e4efd6d0cdd69cf37", + "transactionIndex": "0xac", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x861cd976f025e3e0170eaeb2b27b45dba65a6b10f39726bafb92beaee04369e8", + "s": "0x1ffe9046cdc2d2ec3e178a0d53334d45512544a4cfd236014d137c38dcb4de52" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xa2f7df137d8a9135f8353c1adf8f816b60754c42", + "gas": "0x5208", + "gasPrice": "0x19f669ef", + "maxPriorityFeePerGas": "0x3e347f", + "maxFeePerGas": "0x22f47e9e", + "hash": "0x16882c2d8765347b309836e604949265dc9ef8293a065c7ff9bee718b822f837", + "input": "0x", + "nonce": "0xaf", + "to": "0x7cb027917b27bcb5963c548657a008bf45b25bdc", + "transactionIndex": "0xad", + "value": "0x2c5eb42bf72028", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x46686e7c6885839127d2ea3371a07b86005fe686d9ba5c9381aef9c816f386b4", + "s": "0x3f12f7d794d66c212515b0d6e692daacc2060451e9d0752d4c0ff79ee21c3e4a" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x3c8f2351509fe0ab39f07d303cf824bb0456a50b", + "gas": "0x5208", + "gasPrice": "0x19f669ef", + "maxPriorityFeePerGas": "0x3e347f", + "maxFeePerGas": "0x22f47e9e", + "hash": "0xb33e9a537c2b38e8a1e2375ca3e0502dece05fe0a0294dae4a21a354ce5476ff", + "input": "0x", + "nonce": "0x2a", + "to": "0xf29ca130a116faeb330b0f91f42fcfa91be1d373", + "transactionIndex": "0xae", + "value": "0x110d13ad3ee13d0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xde0225097d9abe03faecdfa87ef79832c280681fea5698371b6716b718cada9", + "s": "0x5202169b4ac0c7538c8dd8f137d8a9f11c4654e4737784ed40c2b5f094724715" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xf4d0e0824ab645e64b222ab55f13c0ee297e2a46", + "gas": "0x14a4f", + "gasPrice": "0x1b4e3f4d", + "maxPriorityFeePerGas": "0x19609dd", + "maxFeePerGas": "0x231a264f", + "hash": "0x05aa8c43f22acb55013ac059d5fc8d90ffd4d7dd212acfe014ada431be031c49", + "input": "0x095ea7b300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc450000000000000000000000000000000000000000000000000000000011f1dbe4", + "nonce": "0x22", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0xaf", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x3b601810ae76bed7bce48bfba81a1d4c1ec7297ef72a21fb0e5a081cceac3591", + "s": "0x6d8ec41874a0d55891f1e070f1e916a9dfc279ee258722ff5957d48119b9f797" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x15d1acfbcc1df08eb8be19dbceb1493d0fb39017", + "gas": "0xa2e7", + "gasPrice": "0x19d4e918", + "maxPriorityFeePerGas": "0x1cb3a8", + "maxFeePerGas": "0x2207c0c1", + "hash": "0x5e73eb615f3b85c43794eec504613d4c67e46923c82e36af8468d8006a12b159", + "input": "0xa9059cbb0000000000000000000000001f8ad1326e7dcb7c41f45660da55c6b414ae3ac800000000000000000000000000000000000000000000000000000000004c4b40", + "nonce": "0x1", + "to": "0xe6cc10ef4de1ccfb821c99c04abfe1859d8eab8f", + "transactionIndex": "0xb0", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xa06fa3991675e618f05fcdac6ec4ad0ec3f87c4d4f0abaef59fac4f24cf6209c", + "s": "0x5fe340c1fcc89a54d9e49cd7c45be423b99857369906867724d95e0eb5b599f1" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xae8da1fb217131f3eff54cf6d02f716149055535", + "gas": "0xd136", + "gasPrice": "0x19c54148", + "maxPriorityFeePerGas": "0xd0bd8", + "maxFeePerGas": "0x213cd18e", + "hash": "0x7bc0a7edf36fb97bce917ffcd70e331374b7d1081a6ffaa05563a5908e44fbe4", + "input": "0x095ea7b3000000000000000000000000111111125421ca6dc452d289314280a0f8842a6500000000000000000000000000000000000000000000000479d1ce0d48208000", + "nonce": "0x26", + "to": "0x5b1e769e74fd7e532a48261ab42ee906f0090556", + "transactionIndex": "0xb1", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x28cc5d9f1c9a92adbfd02a44eee36feef694bb15d643f93eb5a71b680c01aa9", + "s": "0x1cdcdfa16967e16fa6006e376a5b259735ebc4c40d796ed60349c9089cc08113" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x4337005db25dbad41da5692ba1188751ee5d98b6", + "gas": "0x3d1da", + "gasPrice": "0x19bad168", + "maxPriorityFeePerGas": "0x29bf8", + "maxFeePerGas": "0x213261ae", + "hash": "0x367805d138c913d5e9804a26fc5238f91563c05539533f0a3764171c40b61f39", + "input": "0x765e827f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000004337005db25dbad41da5692ba1188751ee5d98b600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e3eabc45a2c78891fcbedd7259f314235da0b4d50002b6c3694c0000000000000000000000000000000096ce00000000000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000020ad40000000000000000000000000000e37d000000000000000000000000000000000000000000000000000000000000e0010000000000000000000000000002bd5e00000000000000000000000022db4cf6000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a4e9ae5c53010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000b5d7e0afd735d63b5810fcb9849e9550e0565ee70000000000000000000000000000000000000000000000000000000005b2af40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000039cd5e8ae05257ce51c473ddd10000000000000000000000000000912d0000000000000000000000000000000100000067dd4c650000000000003dc53cc469cf850c217d25d2da60bde5a237dbd32acb89bccba1cb7a5f4a3962442f4de993e70ed28e96ab17632b1c47e57b4d6c4b222abcd445ea3b874c31f81b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042ffa4157c24c2641474c74e1d0652b9ab2089e524149461f3f7c65d234d0adc05c5611a290719596c189db61064ffbf737020aab6535cb7bcb2db181fb637292c801b000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x307b", + "to": "0x0000000071727de22e5e9d8baf0edac6f37da032", + "transactionIndex": "0xb2", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x6cc125b75aea57c38dffdb1582a875153ae852eebe2e0f7f79e3d3cef05bab0b", + "s": "0x222091720533ceb6b7c17deca1774b816918aa0a5b2e4a5bffa6cd67a36f04f" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xa755dc74e06b15fee479d1d02652e022bb3c901d", + "gas": "0x2b332", + "gasPrice": "0x19bb1434", + "maxPriorityFeePerGas": "0x2dec4", + "maxFeePerGas": "0x31a7d52a", + "hash": "0x0362bc09172da59a902ba5fe50de4b0f215cf4e082d51b662b83fe6e21ad07a7", + "input": "0xc87325f1000000000000000000000000000000000000000000000000000000000000eeee000000000000000000000000000000000000000000000000000000000000019e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000386c0960f9a755dc74e06b15fee479d1d02652e022bb3c901d00000000000000000000000000000000000000000000004516b295fdfcc360600000000000000000000000000000000000000000000000000000000000000000000000000000000ea3c63244f2126d50770ce22bcf2722b37897346f3bcc46b573b3817aefd1cb90c48daf7d17b67a85174ba8b38fee540fb1db19f2952c2f3556dc65c002d125c44ffbaa9cec68f52d4de39a10ca72851a6dde6fbc263e576668246b9442b9821f199cc5812543ddceeddd0fc82807646a4899444240db2c0d2f20c3cceb5f51fae4733f281f18ba3ea8775dd62d2fcd84011c8c938f16ea5790fd29a03bf8db891798a1fd9c8fbb818c98cff190daa7cc10b6e5ac9716b4a2649f7c2ebcef227266d7c5983afe44cf15ea8cf565b34c6c31ff0cb4dd744524f7842b942d08770db04e5ee349086985f74b73971ce9dfe76bbed95c84906c5dffd96504e1e5396cac506ecb5465659b3a927143f6d724f91d8d9c4bdb2463aee111d9aa869874db124b05ec272cecd7538fdafe53b6628d31188ffb6f345139aac3c3c1fd2e470fc3be9cbd19304d84cca3d045e06b8db3acd68c304fc9cd4cbffe6d18036cb13ffef7bd9f889811e59e4076a0174087135f080177302763019adaf531257e3a87a707d1c62d8be699d34cb74804fdd7b4c568b6c1a821066f126c680d4b83e00bf6e093070e0389d2e529d60fadb855fdded54976ec50ac709e3a36ceaa64c291", + "nonce": "0x10d", + "to": "0xd7f9f54194c633f36ccd5f3da84ad4a1c38cb2cb", + "transactionIndex": "0xb3", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xfd1960da71bd2e8aa1f54ea39b18b8d1f862063cc64a89e98a1bf5c2d36a2c57", + "s": "0x60e69d72808ae315b8fc76a5ef5035cddbc30fc3772dff9acca658c14402c2c8" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x1bb3c7f27a9170194dcc6b143c0fbc4ad162f123", + "gas": "0x27d78", + "gasPrice": "0x19bad168", + "maxPriorityFeePerGas": "0x29bf8", + "maxFeePerGas": "0x37d1ae74", + "hash": "0x4c15b22f4567cf5046cde4adf34946075c20c12eff1d1785894beb4c30fd5259", + "input": "0x3df0212400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049ad7f8b9000000000000000000000000000000000000000000000430158bfdfc8df83480", + "nonce": "0xe93", + "to": "0x5f6c431ac417f0f430b84a666a563fabe681da94", + "transactionIndex": "0xb4", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x523c88232de28083d1e32fd80237bcb44c0d10dae0be44049e0c3f1bd2cac08e", + "s": "0x7bbc0abde5248647abe4e4a315f249eecc3de022aa1848c8fe99fa64a3c05986" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x02b504d5e353abebe1ab69e8e95d8f73d135d944", + "gas": "0x23757", + "gasPrice": "0x19bad168", + "maxPriorityFeePerGas": "0x29bf8", + "maxFeePerGas": "0x31a7925e", + "hash": "0xbc698599c86e05367dba09f81a40910c94d19af74de61fe4a8065dbd3b87d84d", + "input": "0x7ff36ab500000000000000000000000000000000000000000010f1d237ccaf2361b32edc000000000000000000000000000000000000000000000000000000000000008000000000000000000000000002b504d5e353abebe1ab69e8e95d8f73d135d9440000000000000000000000000000000000000000000000000000000067dd4d7d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000002849089fdd78c7cd23726c327efcad9763cea5ea", + "nonce": "0x12e", + "to": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", + "transactionIndex": "0xb5", + "value": "0xf8b0a10e470000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x6605e31a67d50297b6e7e3fe72d998bd8c93512637849c372f5224ae1c0f3b5a", + "s": "0x9662731fa16fdd4dd9c3f322421aef121f150848a6851e6bae2b0e7f1a989ad" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x6667961f5e9c98a76a48767522150889703ed77d", + "gas": "0x15706", + "gasPrice": "0x19bad168", + "maxPriorityFeePerGas": "0x29bf8", + "maxFeePerGas": "0x37523ad2", + "hash": "0x746ae0f02ae75f6bc3ad26d29bcbd5fcb6b16c211c8760cb05825367a0591a0e", + "input": "0x9aaab6485cf0e3e48297fe82c718c36413f4c19424082c89dedbe6a94a6d311222f1090200000000000000000000000000000000000000000000000000000000049a286250c3daa7a172dd32d4753759bc6b8e51e00d42f14b1e08978dc95749e5ef7f450000000000000000000000000000000000000000000000000000000001512419", + "nonce": "0x6e90", + "to": "0x31d543e7be1da6efdc2206ef7822879045b9f481", + "transactionIndex": "0xb6", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xfa6ed865a30c7925206061999bc9cc3a482e02e9c51b4c766c33b622b3f68455", + "s": "0x5a85ce2e6f234585cd125abb58a9ee27535fe00a838fc02a9d85720cb4d66de1" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x4cdda9b29d59ecb9a655f1bcc640bf783205f762", + "gas": "0xfa1f", + "gasPrice": "0x19bb7866", + "maxPriorityFeePerGas": "0x342f6", + "maxFeePerGas": "0x22c3890b", + "hash": "0x196fa5db3ab74997f6e7d16af8662e2bc71bd5e3cd329c4822ca25872162ed25", + "input": "0xa9059cbb000000000000000000000000c0d99f47b8b18933492d1b1d299e3fbdba581459000000000000000000000000000000000000000000000000000000001dcd6500", + "nonce": "0x0", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0xb7", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x4141e947461f9634b93d4a4af826627171199ba72c431c1660cd3c4d65c96740", + "s": "0x325d032c7cb27c5349a43202611f1de472b543090bec15f8a7598b781c786b70" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x1a55b416411d10f2a9c6900b93ae529ce5a96e42", + "gas": "0x10ee4", + "gasPrice": "0x19bad168", + "maxPriorityFeePerGas": "0x29bf8", + "maxFeePerGas": "0x37d1ae74", + "hash": "0x46720f732f3840a78ca4fe5c5508a8286f2b3485cb0f32f1a7fa8289649647fb", + "input": "0xa9059cbb000000000000000000000000408d2fc4495c2deb9d57902c61baa2bfdc540b7d0000000000000000000000000000000000000000000000000000000001656707", + "nonce": "0x78", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionIndex": "0xb8", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x41d1c3cd0ff41aba64865dfae8b9ddd436225108c79e1f7369d12b3116c69f65", + "s": "0x768b29ebe82c9e0de1967c5a413236a51e55941d63a81e2aaa13695135ad4b32" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xd318c2357c268e6f362c3ca48969125d89813a9c", + "gas": "0xbf28", + "gasPrice": "0x19bad168", + "maxPriorityFeePerGas": "0x29bf8", + "maxFeePerGas": "0x37523ad2", + "hash": "0xbb81d8087941b4d8ed24c947836e2300255a6cd5babded656acadeba78f1d861", + "input": "0x095ea7b30000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000000000000000000000000000000000000005f5e100", + "nonce": "0x1251", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionIndex": "0xb9", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x6354c38513b5d1024f75526aae5087ac4a3aff4120eaf52a1189550d7c66cfa6", + "s": "0x1dd6e9fbff05385dd22d270d15c31e6e3553557e18cf96db4abaf1f0d5a032f0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xed9044699a96cec7dab93d3a87e1a328150d5dc8", + "gas": "0x81f9", + "gasPrice": "0x19bad168", + "maxPriorityFeePerGas": "0x29bf8", + "maxFeePerGas": "0x1dcbfc9b", + "hash": "0xab5b98c4143e5222388c706821e87efbb9a52cac6e27223337f0b8c365bb6564", + "input": "0x57e871f32f7aba59ab9584dfe753712a12f82f1789417d4d1bcc47b940189aad", + "nonce": "0x6", + "to": "0xa5f565650890fba1824ee0f21ebbbf660a179934", + "transactionIndex": "0xba", + "value": "0x17e8b3d2a30eb", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x98da9f87a2f40588c045e783a2f207b0060e752cc145f9c4b30e77a6a6aed841", + "s": "0x3c8f19d03312af5290be565586281a4d2f686539e47bb4096b6a843ae2a5e0af" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x3ccd3fdab743c819bf586ba4bb17bb5c65f88c88", + "gas": "0x22153", + "gasPrice": "0x19c54148", + "maxPriorityFeePerGas": "0xd0bd8", + "maxFeePerGas": "0x21894a22", + "hash": "0x155969f6756d3fef1ab20e34648e6e9e8967d3fe580886b587f0d522def86800", + "input": "0x07ed23790000000000000000000000005141b82f5ffda4c6fe1e372978f1c5427640a190000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005141b82f5ffda4c6fe1e372978f1c5427640a1900000000000000000000000003ccd3fdab743c819bf586ba4bb17bb5c65f88c8800000000000000000000000000000000000000000000000044b0394e8c0bf000000000000000000000000000000000000000000000000000449ea3beda3e1a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000006800001a4061c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2d0e30db080206c4eca27c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2111111125421ca6dc452d289314280a0f8842a6500000000000000000000000000000000000000000000000044b0394e8c0bf0000000000000000000000000000000000000000000000000000000e26b9977", + "nonce": "0x5", + "to": "0x111111125421ca6dc452d289314280a0f8842a65", + "transactionIndex": "0xbb", + "value": "0x44b0394e8c0bf000", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x16eb2e35e74fdda2addec1e75e8d099fbc155bc7a75cf105928834dac673af62", + "s": "0x7427e4e6b510f204494c0e891d1634bf0861e61c9ff1425fdb5a98001f16fd33" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x2ba52f57a74ec300078c5b74184dba1bcfa4b2ea", + "gas": "0x5208", + "gasPrice": "0x19bad168", + "maxPriorityFeePerGas": "0x29bf8", + "maxFeePerGas": "0x37d1ae74", + "hash": "0xb0ee8b8f9022576357fc2deae183a2c928848c40657650c9103dfbb1d54aa279", + "input": "0x", + "nonce": "0x7", + "to": "0x0e3a66454c4f21fed60e4292b83239065858a4d3", + "transactionIndex": "0xbc", + "value": "0x186a0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xd2683d3b1c325bb5ec7aa6850ebcec0ab44362165a90bc6d2e5b05d2111c5648", + "s": "0x1840c22a62aec8c25e3d8f2091e7e236b5b96b99168d2f77f5409407273e7d2b" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x6b29af3184a5cc523a552e42730a4e62599ab4f9", + "gas": "0x9b70", + "gasPrice": "0x19d4e91b", + "maxPriorityFeePerGas": "0x1cb3ab", + "maxFeePerGas": "0x27d7de92", + "hash": "0xb96546147fc8ce5ace84032d77a90bed58cac69f6c79562df674a7ceb662ce4e", + "input": "0x2e1a7d4d000000000000000000000000000000000000000000000000005098cbfb5fe000", + "nonce": "0xa", + "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "transactionIndex": "0xbd", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x2e1c98943db12c0b4a9722777f84bf1ec8be1276e03e346748ad0db382039fb4", + "s": "0x257b8d34055368d96b5f9451606d7d4948d795b13337d2ed4f428f22e75e2231" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x2a523cbd62e111f3fa8371857b0a32b54b53b99f", + "gas": "0x52d1", + "gasPrice": "0x19b9bc10", + "maxPriorityFeePerGas": "0x186a0", + "maxFeePerGas": "0x245a9e68", + "hash": "0x1173c85cf5a20e142aa175e25ef1591470b5dd429819c5d4b0c0478beb130e98", + "input": "0x01000f", + "nonce": "0x1c", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionIndex": "0xbe", + "value": "0x39e584c66baf3", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xc4067f07bf79b14fbeb6ff4f348c72925a67bc12d1b7ddfb7982549d644204d6", + "s": "0x3db9563d2ef5ab0f29e97a5784473687daf4bde89c106d310892e760870e90e1" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0xb415f1e6fbbd3fe3c79a19689fee21c40099e223", + "gas": "0x2645b", + "gasPrice": "0x19bad168", + "maxPriorityFeePerGas": "0x29bf8", + "maxFeePerGas": "0x1d612676", + "hash": "0x20981839407f17e60b02eba27805691251a710edae453f9a6e143dc71c9b6f52", + "input": "0x149f2f22000000000000000000000000b415f1e6fbbd3fe3c79a19689fee21c40099e22300000000000000000000000000000000000000000000144ebfd9cc0618f0000000000000000000000000000000000000000000000000144ebfd9cc0618f0000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "nonce": "0x41", + "to": "0x384e3ae4d5efc9471201039b555eae496b2a7240", + "transactionIndex": "0xbf", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xa3f11cd8bb9a4538e48eb2da46344e99fa3c8d777da3a5dfb4938b7e780920e4", + "s": "0x20b8f28e46b0ebeff891eb826ac84de1b1acdf4e6395472be7ffa673783717ec" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x19ea46f6e7d118c02243467f3cfb2421d9ddf3a6", + "gas": "0x7c39", + "gasPrice": "0x19bbe346", + "maxPriorityFeePerGas": "0x3add6", + "maxFeePerGas": "0x1b261eb7", + "hash": "0x4d7995036976c60637fc51db0d043046eca454005aee4ee5725dbdd7ff56bc02", + "input": "0x010011", + "nonce": "0x4", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionIndex": "0xc0", + "value": "0x382432f699400", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xa2e2d92da63c9cf4a252b11ce303142016b9475620091681165bc28a5ea8df2e", + "s": "0x670b2b90309042222cdb0a80190488f8e6ac22de0dd5363fb835fe0eaf5b45cd" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x9f2ebdd2ce1e1b5e8c913b2e181c8d7314f65db7", + "gas": "0x7c39", + "gasPrice": "0x19bbe346", + "maxPriorityFeePerGas": "0x3add6", + "maxFeePerGas": "0x1b261eb7", + "hash": "0xb4f594a23cadb730902ea3873017aa886cbb2f88d95dc5ad82c4f566a0777c8d", + "input": "0x010011", + "nonce": "0x4", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionIndex": "0xc1", + "value": "0x34ca5d19a5800", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xbe2faf5300003efeaa4bc9a8971633aa6f6c84890fb5db5efb84bbbd57a733a1", + "s": "0x17249bb66b2aa3f37232642ccfd8d099da8fb5efb7dcca25176cc6b7adba8b8e" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x43859d44df7a70ad429516104e26df331a89e618", + "gas": "0x7c39", + "gasPrice": "0x19bbe346", + "maxPriorityFeePerGas": "0x3add6", + "maxFeePerGas": "0x1b261eb7", + "hash": "0xbb9489b53872061b24389dd9a4d7c9000f5351ed1195e48996f6a79254c41c52", + "input": "0x010011", + "nonce": "0x5", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionIndex": "0xc2", + "value": "0x348b10165ec00", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x1091fbfb1e60037cf72b026e898606345f15916c3dfc05c109ff96479db959a", + "s": "0xe262e73a388cce3c51b354a36631a310c7707aca0a6b7534f84fa175e5d1c06" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x8665170c1c2a154408fe1a52df2b8d49c56dafa1", + "gas": "0x7c39", + "gasPrice": "0x19bbe346", + "maxPriorityFeePerGas": "0x3add6", + "maxFeePerGas": "0x1b261eb7", + "hash": "0x4971dbd3d73b320a274372d8f739ac6ade6ab4c6692e3787a9945a16433da412", + "input": "0x010011", + "nonce": "0x4", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionIndex": "0xc3", + "value": "0x3662a1d844800", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0x6949c2cc1a69492a8a0a7f84ab597884a2a94edc2db975cd7f7aa22d3f2ac20f", + "s": "0x1bfe4d06955295c67c6713681e7bcc13ba34ad66534376320f8bf3dfbb79b478" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x8fd9d87ce9d2ee203e0756bfe08f17bf1c0b3e6d", + "gas": "0x7c39", + "gasPrice": "0x19bbe346", + "maxPriorityFeePerGas": "0x3add6", + "maxFeePerGas": "0x1b261eb7", + "hash": "0xda279935fcfb78b37650d158f9d9cc1516c949035835fdff259b921c609f5384", + "input": "0x010011", + "nonce": "0x4", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionIndex": "0xc4", + "value": "0x36e599751d800", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x0", + "yParity": "0x0", + "r": "0xc076103464d8702c1d873dc78bb86c0072dd9c41391837d308d9447d612ff5c7", + "s": "0xfbc393020850b4f3b00168121928d990c6414d27e9f7fd40997edbbbe8267b9" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x5bd3cd5416a1b0c231befce6b8d92db0cbac9f22", + "gas": "0x52dd", + "gasPrice": "0x19b9bc10", + "maxPriorityFeePerGas": "0x186a0", + "maxFeePerGas": "0x253fa2c0", + "hash": "0x0e6ff299104bf7e4f2ec12a563bed7855501d75c4302fcf3d9a8a47be8dc9980", + "input": "0x0101b1", + "nonce": "0x4", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionIndex": "0xc5", + "value": "0x5a769f760841b0", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0xb132948fa7746eb7587f42ffe73c1d488c642efa4bba569171e8b59eb32ff69e", + "s": "0x4f113f83c14d59693d72b80fd1d437198ec11a836bba072523456b70648816b1" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "from": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5", + "gas": "0x6d2f", + "gasPrice": "0x19b83570", + "maxPriorityFeePerGas": "0x0", + "maxFeePerGas": "0x19b83570", + "hash": "0xeed3ee216933d4555422a632c7d1d43ba1d2c69c9d7dde0f149611f419f2dcee", + "input": "0x", + "nonce": "0x212860", + "to": "0x73f7b1184b5cd361cc0f7654998953e2a251dd58", + "transactionIndex": "0xc6", + "value": "0x34eb4878fd3a24", + "type": "0x2", + "accessList": [], + "chainId": "0x1", + "v": "0x1", + "yParity": "0x1", + "r": "0x99fc1aae7b9de9ac9ef78b1d32363bf4812e7a314bdec6fee34287dd434e7295", + "s": "0x654bf89fd624d27b9feeb6b39d6c9aa287b89b188421e9552f4b8a02f6692dac" + } + ], + "transactionsRoot": "0xa8d788e443f1d11a5c0aaffea19d4ee793288ffe355244e922147956e08036ac", + "uncles": [], + "withdrawals": [ + { + "index": "0x4d354bb", + "validatorIndex": "0x17e80c", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x122f519" + }, + { + "index": "0x4d354bc", + "validatorIndex": "0x17e80d", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x12299e3" + }, + { + "index": "0x4d354bd", + "validatorIndex": "0x17e80e", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x122a9b2" + }, + { + "index": "0x4d354be", + "validatorIndex": "0x17e80f", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x1230d59" + }, + { + "index": "0x4d354bf", + "validatorIndex": "0x17e810", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x1226332" + }, + { + "index": "0x4d354c0", + "validatorIndex": "0x17e811", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x1225763" + }, + { + "index": "0x4d354c1", + "validatorIndex": "0x17e812", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x1231e03" + }, + { + "index": "0x4d354c2", + "validatorIndex": "0x17e813", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x1231714" + }, + { + "index": "0x4d354c3", + "validatorIndex": "0x17e814", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x122eb43" + }, + { + "index": "0x4d354c4", + "validatorIndex": "0x17e815", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x1222f32" + }, + { + "index": "0x4d354c5", + "validatorIndex": "0x17e816", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x122dce1" + }, + { + "index": "0x4d354c6", + "validatorIndex": "0x17e817", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x3e8efca" + }, + { + "index": "0x4d354c7", + "validatorIndex": "0x17e818", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x122e8a9" + }, + { + "index": "0x4d354c8", + "validatorIndex": "0x17e819", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x12277e1" + }, + { + "index": "0x4d354c9", + "validatorIndex": "0x17e81a", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x122fb88" + }, + { + "index": "0x4d354ca", + "validatorIndex": "0x17e81b", + "address": "0x8e609ac80f4324e499a6efd24f221a2caa868224", + "amount": "0x122de00" + } + ], + "withdrawalsRoot": "0xe87fd30bc04d55bf2764d017bd9b642915964bd84a67b0bc6feda51d8e58f0c5" +} diff --git a/substrate/frame/revive/test-assets/eth_block.json b/substrate/frame/revive/test-assets/block_0x161bd0f_ethereum-mainnet.json similarity index 100% rename from substrate/frame/revive/test-assets/eth_block.json rename to substrate/frame/revive/test-assets/block_0x161bd0f_ethereum-mainnet.json diff --git a/substrate/frame/revive/test-assets/block_0x874db3_ethereum-sepolia.json b/substrate/frame/revive/test-assets/block_0x874db3_ethereum-sepolia.json new file mode 100644 index 0000000000000..6c0779c687b16 --- /dev/null +++ b/substrate/frame/revive/test-assets/block_0x874db3_ethereum-sepolia.json @@ -0,0 +1,6267 @@ +{ + "baseFeePerGas": "0x45247a", + "blobGasUsed": "0xc0000", + "difficulty": "0x0", + "excessBlobGas": "0x0", + "extraData": "0xd883010f0a846765746888676f312e32342e32856c696e7578", + "gasLimit": "0x392a1e7", + "gasUsed": "0x3929473", + "hash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logsBloom": "0xb62c0a042d3ffdc47491f376fce68f57df785f686cbe3257139a6505cc8fed4b075ee70335e762e6b89864eedaa62c98a90b979c8287dc88f9d05af3bcfc0b937faf2afc06f454a9e46629dac039a8b01f184d6e1b7c7a81a73ba64385c23c157a3e44dda637dd68530980a3d233ae1a3e68c9fa357cced3a601e75973dfa27dc3a492323f33b5b4728d95ab45d48d16f31cecddb488eb2f7ed15bc856e906db5ae98932ff10cac143b919e0ac61005f63e26cd60651c89ea3fa36f3f33d265d63da69a21e136447457914012a32b25d96145c7230a49b9dad525d024a8f60234e5cad5dbd93b364c03a5903f0afecee2edb32074abb42508cdb7211e172654f", + "miner": "0x9b984d5a03980d8dc0a24506c968465424c81dbe", + "mixHash": "0x29fcfb83eb2ff9281f4b503ed1b6e0e090d1c597aca7810b11000c6ef5445f6e", + "nonce": "0x0000000000000000", + "number": "0x874db3", + "parentBeaconBlockRoot": "0xf266e6a046dc727633047aee9aec5d21093e832d28b5457ccbfed243c021d4fb", + "parentHash": "0x626d645cf9320d9a5e3bc7100270ecd77f04a126564bb6f70a6404754ddbbe2b", + "receiptsRoot": "0xc9eaa370031a82868476dd009add684c0713d977161bf90f5566a3b6bcba982e", + "requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "size": "0x664c7", + "stateRoot": "0x23b7f71fed41e41b217f75f6f07943777f17892f4146a5d3498ddfbce9939185", + "timestamp": "0x68889828", + "transactions": [ + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x6d99fc22a948fdf32ffb368eec3a3f272ee07d65", + "gas": "0xea60", + "gasPrice": "0x2540be400", + "hash": "0x7b637d72b72a9c665eb771d1eea4c4d90c18c62b70e0605259b5054ea4c8a75f", + "input": "0xa9059cbb0000000000000000000000001de0246641473926bbe483113f926234649d838f00000000000000000000000000000000000000000000000000000000012038b0", + "nonce": "0x812", + "to": "0x7bed9b6c4b032c0c6725e022eb61634e52412f72", + "transactionIndex": "0x0", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d71", + "r": "0x8b1413fea8cf6b3dae2ffb9df4918c83dec53908f6053c2afa48f7cc6560ba25", + "s": "0x6976ae0aba0a01f5c7ab898a3ab885ea7458f60b68b98cac75dfd212a9ac905a" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a88dd3e", + "hash": "0xc7e98bf1db3cc8c514620846b34f05aa55e8254e191cb91af520facc1277f940", + "input": "0x", + "nonce": "0x21af", + "to": "0xe2c3dd1357b520dae8aab99fc481b01c661b5bb8", + "transactionIndex": "0x1", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xd18fe1fec9307a09d131ee3a2fa7edb8671b4eef6e4dba20f206bd1fe838234e", + "s": "0x5a86778625b3a529c6d45b3d57d8e671bde8129a65e51a690da125e2795adc78" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a88dd3e", + "hash": "0x74750104232717c5da27077a3079395380c9a969e9075cb0b0c2832a153aa5a1", + "input": "0x", + "nonce": "0x21b0", + "to": "0x052af60e443dee149751f9a72308c4a769d3db59", + "transactionIndex": "0x2", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x640522fbe7404c35c20487aae3f3f57de43de4cb2841caa22b85e1ce0c3d46d", + "s": "0x3d75014d60ae68c9e1636a0209583736e370660650be177b8eb1d58332a6d285" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a88dd3e", + "hash": "0x94d20fafbfd7c7751c5fb4f6d083f69da33e5dc9a97a5227d7c047248fa26ad3", + "input": "0x", + "nonce": "0x21b1", + "to": "0x508fda709acb2d55bc7afc4340364ac04f16bde7", + "transactionIndex": "0x3", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x5ad81ca0ed9d03774e3105e5730693ae3da7d09ef2a4461f70bd3c0693897393", + "s": "0x106031d0f8ec7d1305ff8b29058bd88612d6710e783ec845d8d47611f0fe7473" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a88dd3e", + "hash": "0xeb758e4d9ed6c50d27a8c70f2f1d1bc7a267d5541dc2d365124496a2f6ad300f", + "input": "0x", + "nonce": "0x21b2", + "to": "0x0aca5a609a1843a311f3857f1b2a592ee9211959", + "transactionIndex": "0x4", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xc9dd49164da3ebbe28792b32f2b32c482b250ed163453bb3265c78de7047e1a6", + "s": "0x792b3a44ae42ccd63d1b7150e13d8288ff9481ed389ee156f8ecf8dee019a83b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a88dd3e", + "hash": "0x331359f4276fad0976f8318c3c40715f3a6ef8e1ac3248c4769db6d080f62cae", + "input": "0x", + "nonce": "0x21b3", + "to": "0x266aed902e057a32aee0bf9eedc07cbdb7192c74", + "transactionIndex": "0x5", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xfac4a6029dc41fd76982c0dc4d1ef2d1bf780d998449a95d92177ceb51334173", + "s": "0x40319f7b99b8788e4f887f0bd1e51338bf812adb2fda8345ffe3567171c3c9c8" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a88dd3e", + "hash": "0x75eea8a6d1b2d8b3ffcf67e9135ce1933177393b80dd8769cd1e4216d805ecde", + "input": "0x", + "nonce": "0x21b4", + "to": "0x0a5a2d832488c22a127012defde891c85823f3d3", + "transactionIndex": "0x6", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xb594183a63297e1d7c28fd9ceef94f0b605718e052ddaa5f5105c86460bcaf4b", + "s": "0x419e493697343c0bb25769ff898b428ff78ad289224e7bf1fc4e721e51368b2a" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a88dd3e", + "hash": "0x85e302a79d546d49df36f8b5aee30f24eedd385047db5885f8fb71dbb0cf2a20", + "input": "0x", + "nonce": "0x21b5", + "to": "0xa9850e8b87d2ba74e18e92ebedbe63a49da73d77", + "transactionIndex": "0x7", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x93c7b81909161917332f7c60a20c25bcc380fca34fc6b7a315d2205862945f6b", + "s": "0x4b3d9f73d15bd19d67ef949c344cc03dc8d08c02a049b904d2aa90e6131ce649" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a88dd3e", + "hash": "0xd9b4797f9f863e94aa3f1f97976a09cb580ca09248153f9cc7a0b05495dff08b", + "input": "0x", + "nonce": "0x21b6", + "to": "0x9d16e8b547f49ddd9d69c15b0ee471c6d96161a3", + "transactionIndex": "0x8", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x7d7a5e602bc179d1a4be19bfe8d12363e9ba5953a7d8a6833e65722ece39dabc", + "s": "0x3c25d3e6256e9a4c5753b016f16feb641953a3e0cb254bccb008fa23cbe1c6d8" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a88dd3e", + "hash": "0xc411536d7eb444dbdadf4b0fb58a9ded02d428c19233b6ce9cfe1c74f2fa6a38", + "input": "0x", + "nonce": "0x21b7", + "to": "0x64020404ce4e27eccef71d8ac5053fb2c8d86db1", + "transactionIndex": "0x9", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x37aa15a3f847cc75c6e513fe91efb86ba66c461a352b1c420e0f616851cefbc8", + "s": "0x9cf43364d28099f4cab4132a85a1affe57443e0a095719548c9b43c32bfe4ba" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a88dd3e", + "hash": "0xf5c0e59d3c3776547cb7f6e6bee47ca2e18d70d00418b31248eda7eaa9dc26d2", + "input": "0x", + "nonce": "0x21b8", + "to": "0xed847c2462dfbffa2424eb6b77f752c7e73a6af8", + "transactionIndex": "0xa", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xba94d5dc5b8138178fb55751f5940429e9aa057146c99c0f0852221b59023ee3", + "s": "0x4abb173941b3104f2d9cdb996fd0838cd2eb957ef948c1fb20c53a9c8fbab46d" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a88dd3e", + "hash": "0x0f7db47cc9a040b3a6dd93c5e0d0f4c4f0973636274daa8abc96149220ad13a3", + "input": "0x", + "nonce": "0x21b9", + "to": "0x39a2c5a5e244345ca66d70bb405178db5980d2e4", + "transactionIndex": "0xb", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xd5dab505948ceb72daf8dabce38127c5c7b93875d8bbc19b4fcd9aa1737756c3", + "s": "0x2bc55fd162642d5b71a65772ded7d718ea700d46f4a4c34ff8ef68dfd32d7fcb" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x69dea948b0e78951f529e3c67d8fbf151dc229d5", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a80e4ce", + "hash": "0x326088322280827e82847868b95c9a6b5108e011b59bd18c1c776f692ab78261", + "input": "0x", + "nonce": "0x549", + "to": "0x46ff4a07912bbcc95329acdc521b3e6b8f8e2dc3", + "transactionIndex": "0xc", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x8f3fe2dc44e97fd10c1c192b0d9334d9138d0586b4e6429c31ad4c6a4f965530", + "s": "0x62795a660c35ff7b17c655e3d652d9eb282de476c902773c070aeaadeafc3748" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xdbf3e11a3ccf7533262cae904dd2120628a5f955", + "gas": "0x5208", + "gasPrice": "0x12a4b167a", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x12a80e4ce", + "hash": "0x693d7578a4408ef02ae02b8a2fd771241519451279511d03c1e2aa1b1dff2a85", + "input": "0x", + "nonce": "0x245", + "to": "0x6c7eb67f156eda104490480ae3e1a2cb22e85bda", + "transactionIndex": "0xd", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xf4fec597845abcaa9bbfdb04fba8237568b17c23cefabff525df1aab548e3564", + "s": "0x48fdd0205868592fdac7d6350873aa8cc54d722482974c3652ca6777dbfe3927" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xbeb78457e209d1c36063a2cdf00f67955e3bdfba", + "gas": "0x30d40", + "gasPrice": "0x12a05f200", + "hash": "0xe33f9cc3adde9f4734f6947bfbc63fdf9379029b481d5824cdc4c343291aefb2", + "input": "0x38ed173900000000000000000000000000000000000000000000000000000000051c50da000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000beb78457e209d1c36063a2cdf00f67955e3bdfba0000000000000000000000000000000000000000000000000000000068889b9400000000000000000000000000000000000000000000000000000000000000020000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb7", + "nonce": "0x128", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0xe", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d71", + "r": "0x8b3abf5b07346738361843f9b1822851227f304c202abf0823de71dcea2dcd6d", + "s": "0x38aa3bfe9cf1112cac1f9348dc453bb47d204cff0871331986cab139ffaf196d" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc0d465e18bc8a25eb44412e6090cf13c6869ab0c", + "gas": "0x30d40", + "gasPrice": "0x12a05f200", + "hash": "0xecb09d95ce39f262477d994e25a254cbe494e37ef4837996aefc691b67096ec7", + "input": "0x38ed173900000000000000000000000000000000000000000000005095e98228b07014bf000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000c0d465e18bc8a25eb44412e6090cf13c6869ab0c0000000000000000000000000000000000000000000000000000000068889ba00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365", + "nonce": "0x1f10", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0xf", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d72", + "r": "0xf8dc0986adaef6b9092fcd663730090ca13b405b74cfbd1071ac162c912875f9", + "s": "0x51e2a78b8589c8a3c388901cba9d7f7c6c64338b295cc13d910e7244df76bb3c" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x732b154112c08a19c0ec19bb2cf52a96f5b3be93", + "gas": "0x30d40", + "gasPrice": "0x12a05f200", + "hash": "0x9b3ef6bb8cd057e245c444e248b145a24adbad6289af802a4f70d32c6c270942", + "input": "0x38ed17390000000000000000000000000000000000000000000000027eaa94ad8060a4a9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000732b154112c08a19c0ec19bb2cf52a96f5b3be930000000000000000000000000000000000000000000000000000000068889ba00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365", + "nonce": "0xf4", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x10", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d71", + "r": "0x55f36dec7bb8c580a4e557ad60bd47a71ed383ceb2454aa3524399be8fbc3a40", + "s": "0x273063e669b57e5a64477e97da089d8f8a4d980f90ecf3d7064d56945af989e6" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa692fb0eab3d0cbc1a1c8640df63cbe542b471c9", + "gas": "0x3120d", + "gasPrice": "0x12a05f200", + "hash": "0xca09abe5f4a39b54743b61bdb410510587408f65b7b1be3b93884f24f485a1d6", + "input": "0xe8e337000000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb700000000000000000000000000000000000000000000000000000000000074bb000000000000000000000000000000000000000000000000013c163282d8056000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a692fb0eab3d0cbc1a1c8640df63cbe542b471c90000000000000000000000000000000000000000000000000000000068889ba0", + "nonce": "0x126", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x11", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d72", + "r": "0x12092e4833b1563e66881264433ed5889d2236b5dbb7f58daee91d2c519247e4", + "s": "0x534dcfe9e0b298867498d6042295f43163d040ee39f28d5f1785fc11a937d764" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd844ba11f64d23a7481e24474d2f184e350b9b3d", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b87f3e", + "hash": "0xbe9349879bfbf27eae409767369247d4949c853b7a0e9b7b7e40442d6f1efa46", + "input": "0xa9059cbb00000000000000000000000026f7eccbdcc7233bb27310182185ddf9ca5fb13e0000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xb8af9", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x12", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xc15363d3856e9d400984b711b898ea4cfc06b154d95a2737b51bebfa8a7f9337", + "s": "0x389028262d7657b1b2d95ca8371c9f0d6143a66e331fb118893d55bd77b77e0a" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd4c0b787aa2ff9eb751bb515c877ebbf2daddaae", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b87f3e", + "hash": "0x4fec978805a4fc9e24de5cbf88f7c05566f204d3d28960d44de36795c36c368d", + "input": "0xa9059cbb00000000000000000000000035f1cf96b42aadfd2a1eecb8bd916d2bac386e760000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xba1ec", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x13", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x2b5a98992c748e47dafcc28fc59152c97ef81b7b4764062f45d8aa2118c2b825", + "s": "0x56001474d0613b05cd78619bc7d961663f32ac1347520d697caac024fb44f1d0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x6cc9397c3b38739dacbfaa68ead5f5d77ba5f455", + "gas": "0x7530", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x746a528800", + "hash": "0xda6db0270767b00a2a41bb77f5d757a9ba867a74c783c5dda356cab0c8eedf54", + "input": "0x", + "nonce": "0x391a27", + "to": "0x438514d252c3b4e450689cb8979fbf58ae597777", + "transactionIndex": "0x14", + "value": "0x22b1c8c1227a0000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xdc8d9e94294584b4767d1b2b26b80a5c7e9b8b5cc5197ba20a1e62acdaec2161", + "s": "0x32aa7df8916159c9e6a7f1ee0dd4f3e8579ec719566f42ece808f6898e5ab0e" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd4c0b787aa2ff9eb751bb515c877ebbf2daddaae", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b086ce", + "hash": "0xbe8b135592cfe76d634f83c3e7a7849761d8ef1519689893219df318c0376e9a", + "input": "0xa9059cbb0000000000000000000000006bba38c33e2b6c8b47142c91d9115d2a8a0f1c840000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xba1ed", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x15", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xdcc161da67d987557206befed04601b3f92d3310949d44ee24ab5d88cac7796d", + "s": "0x56fa62784276dcccaed1c3c6d5c16a5cb80479f2c6198bfc7f36534149d8c9b2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x26e8897215c4f4890590e532bf6e3eadfde8b245", + "gas": "0x8ff0", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b086ce", + "hash": "0xac70040df580124f02c2042652355235a5cc07fffeccac9c37c3c2dee1a3af81", + "input": "0x095ea7b30000000000000000000000004ea1e410e2d3c1322565f503f10ff147f84913040000000000000000000000000000000000000000000000000000000000000003", + "nonce": "0x348d", + "to": "0x4ea1e410e2d3c1322565f503f10ff147f8491304", + "transactionIndex": "0x16", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xca5ddff1a6b5be632079225f7d06d8ef920b1088eb679c12e485670034a2dc04", + "s": "0x1403af8b15a09ce0b65309853f6575c5c4195223883572de241cb43bf0050654" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x3c3380cdfb94dfeeaa41cad9f58254ae380d752d", + "gas": "0x14c19", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b086ce", + "hash": "0x55a7ae7c977fc741af714d978c9f93c40c18272670e6f10946fbf58f7aaef1de", + "input": "0xa9059cbb000000000000000000000000d7b7d734871000b346b167614fab93c9f65cf2550000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xb8a04", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x17", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x1cbbc64ae0334bc6459ff2bf869225e471807d087e3293601c0fd6c9d79e15bd", + "s": "0x3037ff2670540c889e83ccc472327d5b84312ff9ccdcef6bddbf025732c17b62" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x319dd63e0ac72e7ac74443029d074032c043460f", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b086ce", + "hash": "0xd5e8318d27ef3d9d5cf33b95cc19d9cd5b9b06e8eae62dd7ca578cd3ef2532bb", + "input": "0xa9059cbb0000000000000000000000009c339741170d0cadb954b9628d344c64260c30430000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xb870e", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x18", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x2d0c7254d428701a81d5b536414ab1d9965e98e65b00d8a580d6a398c54f1dc2", + "s": "0x28dbfb071df46e93268e05bea75a3c56affdcd1a2eb86bbae5f15b9f4dae163c" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x70e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b086ce", + "hash": "0xbca36dfb861182c180febf75c32425bbbc9695d8f33d27b32213d9dfbdafd00b", + "input": "0xa9059cbb00000000000000000000000036a7438e11edcb4c0b9849f444ad08876ba0f51b0000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xba11e", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x19", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x17ebdf41979cb98a56751e6c213f30acba1040ac0e2cdf3120969c2a7560a4e", + "s": "0x514ee5b8dfd8c7609112c8b2600d4302bd543188e5b181c3ff2a9ecb6ee684dd" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd844ba11f64d23a7481e24474d2f184e350b9b3d", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b086ce", + "hash": "0x50c43c593c2786595936f150bc8e3e2f9f26185269e5ae4e4a437dcbe1a4f5a5", + "input": "0xa9059cbb000000000000000000000000490d0194b83128d3564c5522fb594335ad3614dd0000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xb8afa", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x1a", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xacbb1b065a4dee99a450fc52c375c3ef3c0a51d4d42a420ccd5f508dd17e3050", + "s": "0x69074b3a2c5785fa13df01bda3ac2fe118e87fa6348d863cd85fb935735fb122" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x319dd63e0ac72e7ac74443029d074032c043460f", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b086ce", + "hash": "0x5bc20a368228b93cd4df1f401a5fc844ca34576710dad5660f48e60a742e1c7f", + "input": "0xa9059cbb00000000000000000000000076429b01be8975d48294e087fec3f119264318840000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xb870f", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x1b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x5f5f8b4cef0bdabf5cd2266a66d957924c726440f33e98876cd4b3376e2ed2df", + "s": "0x499a09b549158293aedd953fc74b4409de956bafc00a9ecddb600ae0b696a263" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x319dd63e0ac72e7ac74443029d074032c043460f", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b086ce", + "hash": "0xb5560ed70e4ad9122a5165f0918bb19a24a4bbe658f1f8aed4a5e26bf793ff1a", + "input": "0xa9059cbb00000000000000000000000020b13418ba6195326d9f8c9188ee595fe14be6f90000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xb8710", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x1c", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xa711a4f85395fe05475389d7ec3c3008273e2c5fbdc9201588ace1fd8927fb0c", + "s": "0x1d54e6ed8b50feefeb86a4dee51cdd3929dc32be01f9c396a5a617ffc7b8609b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd844ba11f64d23a7481e24474d2f184e350b9b3d", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b086ce", + "hash": "0xd7cdb0c096f459e703022ac5a50eb6c27cf559774cb24c6240b5c76818185f27", + "input": "0xa9059cbb00000000000000000000000094a76571413315c79c15c07c5a7fa2fa0faf76ad0000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xb8afb", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x1d", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xcc6528750dddf6c65abfe693538b20acfaa7456336644679fc106564fd0d9eb6", + "s": "0x2ba8ee9f742ca7901557977a3207c6175a170bff7b4d38b3a78f38c9f0961f79" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x70e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b086ce", + "hash": "0x4ff4c67ef4a7cb467044cadc57639572e44507365938f90cc5845ef33fd3c7a1", + "input": "0xa9059cbb00000000000000000000000005a7918d1126085b8e5387bedd4a802f8c100ee40000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xba11f", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x1e", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x3724334026de910e7a5e8292c6f238064944a8d774e46bbd7fbf2ebd9d882c5b", + "s": "0x3dd89724e5113da6548182f89fd0582ff0f916570bc1495255c8f015196da007" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd4c0b787aa2ff9eb751bb515c877ebbf2daddaae", + "gas": "0xef9e", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77b086ce", + "hash": "0xad3eb3719d19cfcbd47b7c45dcb7ca79c46ee32b9c21ed14375f838506514941", + "input": "0xa9059cbb00000000000000000000000076bab6ea1bcdf06a58477d639e86ef516a7c619c0000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xba1ee", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x1f", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x62501b60ae0c33a07dc0fa92388fde89b12d71a887343ab2ed941043aa1a6899", + "s": "0x63049505188009fc147bae980c2df5cdce3c5c10e72dea97ee80e3bc774057c" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x6cc9397c3b38739dacbfaa68ead5f5d77ba5f455", + "gas": "0x7530", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x746a528800", + "hash": "0x89634118c123da5f622fe15cad81d8c6a7a98a0f0524e6cba419d1f1ba82bd0e", + "input": "0x", + "nonce": "0x391a28", + "to": "0x8b3c547f605880a8cae40f89e9f53cab69807b24", + "transactionIndex": "0x20", + "value": "0x1c772d088aaafc00", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x7ad54a1bf726d2807acbf3a0925b5033e42ead461f595516a37848b4c3b4facf", + "s": "0x381e80072343b9d6d2b3d38b055b7a50820756fc2a1a5c0115467ac2e3b56817" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x70e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77bfdcf4", + "hash": "0xd8427001850f5ed817cc9612e7bf684ded935847406d668cc68f820ca7348e60", + "input": "0xa9059cbb00000000000000000000000027ec46241f12db8180a84547e683bbdc65b356dc0000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xba120", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x21", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xbfde35362ab9b633b810053c01b09196b7c22c49acd186a04aafaa4a85fbaa63", + "s": "0x4ff79ac3eb5e231ee078a0dd4efcc7ef1a568d1c07d230c457ead23a722102c8" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x3c3380cdfb94dfeeaa41cad9f58254ae380d752d", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77bfdcf4", + "hash": "0xbc142800f94f8c0683b0cef8c245dddbf9b682f36f48bb306cc0488c20002b7d", + "input": "0xa9059cbb00000000000000000000000058c2b2b0c18b22e076e06df3405bd3f297c748cc0000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xb8a05", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x22", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xfda5be8308799ec65e4afa7904e402bebe871b33815ad5adc3947a0497b6ea21", + "s": "0xccf1031a120494ad3ce29d91baca94f1200f568ceb8558e84ed6ff76de6ed5d" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x70e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77bfdcf4", + "hash": "0x280497ce1b332d9f580bf88d1548158a8afdbd4d1db6640decb91e5086137171", + "input": "0xa9059cbb0000000000000000000000003c08fff27451649c698463bd9de21b250e6d94350000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xba121", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x23", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x182741b2628bfaa02c794be2a790b54f0c1ea853af31e1cac0d013fea9c0cad1", + "s": "0x67a0cd07361992bca47a34e6bce2718acb618f245e579bfbe910660a71c1b332" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x3c3380cdfb94dfeeaa41cad9f58254ae380d752d", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77bfdcf4", + "hash": "0x3d80e12fe1c51e8e400b3589a6f3ee2664b02d10ee4a2c532ea78f1da96240f0", + "input": "0xa9059cbb0000000000000000000000001f61cbe84544340943e5c29798b5428078fbb6020000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xb8a06", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x24", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x89aecd09454e12b802f5a035764eedf8db47f06580253a2920cbd2e6368e150b", + "s": "0x6683a93cb12369b215da061590eb78a5b71f14f3d3d6b3cbc6733c9c05762990" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x319dd63e0ac72e7ac74443029d074032c043460f", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77bfdcf4", + "hash": "0xd7e98b3b3ebf9b34c418cfd5f749a80b0e8ba7ec2f7ff0082b813d0036650ad9", + "input": "0xa9059cbb000000000000000000000000cb39a87756eee5f12f04b91e8036fc32a291399a0000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xb8711", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x25", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xf2bbd7fe74e086a86083af3ba55db0d0ed8a0545a1106d7ba315dbc741768d60", + "s": "0x71db1d039d7eaaed7150321996f3d7ba5fbb49cb1bb0cbe267a5c7c7643ba653" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x3c3380cdfb94dfeeaa41cad9f58254ae380d752d", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77bfdcf4", + "hash": "0x2bbb65684fd44365300f54a8790cab793f8622657c6915db38388e533fe190f3", + "input": "0xa9059cbb000000000000000000000000ec5cae4ade5ae3a61b35e50730fc6676b50dfe010000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xb8a07", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x26", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xddc2611d27008896dcca6ac73ed74ed05694292c7a33bd53b360b41fd889c712", + "s": "0x14540150c426a527cda24550de66cea4708246dec6a6cba78a9d97616987c492" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x70e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77bfdcf4", + "hash": "0x8895dd7d44fc65a450e0360f0abef6699445392d8c8a9a66f23270b994e3bccf", + "input": "0xa9059cbb0000000000000000000000002a7fc03455207325f013d5a8c23d63e77fee48760000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xba122", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x27", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x80e6255401a1e39d706cf538f9b5e7d0c8b66e241ff42d70c71bd50a9e2642fc", + "s": "0x5fb561b2961030119df639f1a68cf98bf7275eeca09789297875eb8baa3cb4ce" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x319dd63e0ac72e7ac74443029d074032c043460f", + "gas": "0x14c2b", + "gasPrice": "0x777ab87a", + "maxPriorityFeePerGas": "0x77359400", + "maxFeePerGas": "0x77bfdcf4", + "hash": "0xa915e99a04a89956dc17ba1ac816c03a587201467a2d8ca0a44813f4fb18439c", + "input": "0xa9059cbb00000000000000000000000024b0ea1ab26d70469cac83434fc780d55e1dcfee0000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0xb8712", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x28", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x33fe40a19f32b75aba81d75cb87ad108d92512df8d139f0bf0a4842369322ec8", + "s": "0x67ab1fc5c7b5f31dade8409d4772158c5bc38406d570b55cc8707366cf6deaf1" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa57b52df83212bcba26e24c346004299c945d0f9", + "gas": "0x18915", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59b6bcd1", + "hash": "0x1ebd1c97e720bd8464acd3d2d15f2fded72aec1765187350f9dacaf8d0a520c6", + "input": "0x0f5287b00000000000000000000000008bebfcbe5468f146533c182df3dfbf5ff9be00e2000000000000000000000000000000000000000000000000000000001dcd65000000000000000000000000000000000000000000000000000000000000002714000000000000000000000000a57b52df83212bcba26e24c346004299c945d0f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x271", + "to": "0xdb5492265f6038831e89f495670ff909ade94bd9", + "transactionIndex": "0x29", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x436189176f8e9e9eb813bff34742bd16bedb60c239b24ea5453d948354b2ea0c", + "s": "0xcf66383492125ae16da2329e0641e7a598907a1fb38e7ee6b09c8d7d1a84f84" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x872bb409a6fe20bfcf182df2c8e28a1d973abcdd", + "gas": "0x186a0", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59eb1a3e", + "hash": "0x228da004515f08fe563c0a0eef7881588360eefb0e1d817517a0afbec4a0dfa0", + "input": "0x095ea7b3000000000000000000000000bd6b25c4132f09369c354bee0f7be777d7d434fa00000000000000000000000000000000000000000000000000000000006cee0b", + "nonce": "0x1702", + "to": "0x20c54c5f742f123abb49a982bfe0af47edb38756", + "transactionIndex": "0x2a", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x1844dcbc8982eac6d46b6156975bc112c824ccf93dc959372512bd085a8ac66b", + "s": "0x70b87db22e62b42535df08256ef6d304888258000e0b64bcc869bfabf4bc937b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xe846333ca6661cd8dd4048afb9b6383cf07b69f1", + "gas": "0x186a0", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59eb1a3e", + "hash": "0xb714f3893e2210d30829d65be004e02703c2690334c75bcdcffc04f4e9d0654a", + "input": "0x095ea7b300000000000000000000000020c54c5f742f123abb49a982bfe0af47edb387560000000000000000000000000000000000000000000000000000000000ed1f97", + "nonce": "0x1454", + "to": "0xef84994ef411c4981328ffce5fda41cd3803fae4", + "transactionIndex": "0x2b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x4993101225b468a46f5fd7f2181c5df2ac2818117fd26379a15a663a2a0019e8", + "s": "0x337d825bb84f3d4a4d7993955a1dad9c1719cd996c5488e7ac6faed51a7d42c2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x7f15d58dbdc1effbc928d619e29365c4ff7257a4", + "gas": "0x186a0", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59eb1a3e", + "hash": "0x09163f9cbdb6870918f5c709fd9c4b362b365c6e21c39d51ce59d7f48d037464", + "input": "0x095ea7b300000000000000000000000020c54c5f742f123abb49a982bfe0af47edb38756000000000000000000000000000000000000000000000000000000000121882a", + "nonce": "0x14ab", + "to": "0xef84994ef411c4981328ffce5fda41cd3803fae4", + "transactionIndex": "0x2c", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x5a6ee46968206495c979a5ce6e07d1b1e4994c2b1ad2f6e067b311b62c7fd916", + "s": "0xb034e00f4a77ae3b89e83413bf44ca781e318154e47e57b5e0fccee1f530b4d" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd98b4aeb2a25c03d2589812d4125aa584bba833f", + "gas": "0x4c4b40", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59eb1a3e", + "hash": "0x29721c9ee41d8f05ddf3687849a1fc06db196b3cfee9fd5004729e03d75c0084", + "input": "0x60806040526000600660006101000a81548160ff0219169083151502179055506000600660016101000a81548160ff0219169083151502179055503480156200004757600080fd5b50604051620044b5380380620044b583398181016040528101906200006d919062000401565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620000df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000d690620004a9565b60405180910390fd5b80620000fc57620000f6826200012060201b60201c565b62000118565b6001600660006101000a81548160ff0219169083151502179055505b50506200056b565b600660009054906101000a900460ff16158062000149575062000148620002cd60201b60201c565b5b6200018b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000182906200051b565b60405180910390fd5b6001600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff021916908315150217905550600081604051602001620001d691906200054e565b6040516020818303038152906040528051906020012090508060016000838152602001908152602001600020600201819055506040518060200160405280600160ff168152506001600083815260200190815260200160002060000190600162000242929190620002e4565b506001806000838152602001908152602001600020600101819055506002600060018152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055600180827f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a45050565b6000803090506000813b9050600081149250505090565b82805482825590600052602060002090810192821562000328579160200282015b8281111562000327578251829060ff1690559160200191906001019062000305565b5b5090506200033791906200033b565b5090565b5b80821115620003565760008160009055506001016200033c565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200038c826200035f565b9050919050565b6200039e816200037f565b8114620003aa57600080fd5b50565b600081519050620003be8162000393565b92915050565b60008115159050919050565b620003db81620003c4565b8114620003e757600080fd5b50565b600081519050620003fb81620003d0565b92915050565b600080604083850312156200041b576200041a6200035a565b5b60006200042b85828601620003ad565b92505060206200043e85828601620003ea565b9150509250929050565b600082825260208201905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b600062000491601f8362000448565b91506200049e8262000459565b602082019050919050565b60006020820190508181036000830152620004c48162000482565b9050919050565b7f496e697469616c206b65792077617320616c72656164792073657475702e0000600082015250565b600062000503601e8362000448565b91506200051082620004cb565b602082019050919050565b600060208201905081810360008301526200053681620004f4565b9050919050565b62000548816200037f565b82525050565b60006020820190506200056560008301846200053d565b92915050565b613f3a806200057b6000396000f3fe6080604052600436106100dd5760003560e01c80639010f7261161007f578063c4d66de811610059578063c4d66de814610327578063c9100bcb14610350578063d202158d14610392578063fb307b34146103cf576100dd565b80639010f7261461027d578063b1a34e0d146102ba578063b61d27f6146102f7576100dd565b806353d413c5116100bb57806353d413c51461019b57806354fd4d50146101d8578063747442d31461020357806380e9e9e114610240576100dd565b806312aaac70146100e25780631d381240146101215780634eee424a1461015e575b600080fd5b3480156100ee57600080fd5b506101096004803603810190610104919061258b565b61040c565b6040516101189392919061269e565b60405180910390f35b34801561012d57600080fd5b5061014860048036038101906101439190612708565b6104b4565b6040516101559190612776565b60405180910390f35b34801561016a57600080fd5b506101856004803603810190610180919061258b565b6107dc565b6040516101929190612776565b60405180910390f35b3480156101a757600080fd5b506101c260048036038101906101bd9190612791565b610bb3565b6040516101cf9190612776565b60405180910390f35b3480156101e457600080fd5b506101ed611050565b6040516101fa9190612861565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906128af565b61108d565b6040516102379190612776565b60405180910390f35b34801561024c57600080fd5b50610267600480360381019061026291906128ef565b611601565b60405161027491906129da565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f91906128ef565b61166c565b6040516102b191906129da565b60405180910390f35b3480156102c657600080fd5b506102e160048036038101906102dc9190612c30565b6116d7565b6040516102ee9190612d11565b60405180910390f35b610311600480360381019061030c9190612d2c565b611b4f565b60405161031e9190612d9b565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190612db6565b611d76565b005b34801561035c57600080fd5b506103776004803603810190610372919061258b565b611df1565b60405161038996959493929190612e47565b60405180910390f35b34801561039e57600080fd5b506103b960048036038101906103b49190612791565b61205b565b6040516103c69190612776565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f1919061258b565b612175565b6040516104039190612ebd565b60405180910390f35b60606000806001600085815260200190815260200160002060000160016000868152602001908152602001600020600101546001600087815260200190815260200160002060020154828054806020026020016040519081016040528092919081815260200182805480156104a057602002820191906000526020600020905b81548152602001906001019080831161048c575b505050505092509250925092509193909250565b600060011515600660019054906101000a900460ff1615151461050c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050390612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105735750610572336040516020016105559190612f71565b60405160208183030381529060405280519060200120600161205b565b5b6105b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a990612ffe565b60405180910390fd5b836001600086815260200190815260200160002060020154036106fd5760006001600086815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561063157602002820191906000526020600020905b81548152602001906001019080831161061d575b5050505050905060005b81518110156106b95760008282815181106106595761065861301e565b5b602002602001015190508581036106a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069c906130bf565b60405180910390fd5b5080806106b19061310e565b91505061063b565b506001600086815260200190815260200160002060000184908060018154018082558091505060019003906000526020600020016000909190919091505550610768565b8360016000868152602001908152602001600020600201819055506040518060200160405280848152506001600086815260200190815260200160002060000190600161074b929190612397565b508160016000868152602001908152602001600020600101819055505b600260008481526020019081526020016000208490806001815401808255809150506001900390600052602060002001600090919091909150558183857f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a4600190509392505050565b600060011515600660019054906101000a900460ff16151514610834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082b90612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061089b575061089a3360405160200161087d9190612f71565b60405160208183030381529060405280519060200120600361205b565b5b6108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d1906131c8565b60405180910390fd5b60006004600084815260200190815260200160002060000154905060008103610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f9061325a565b60405180910390fd5b600080600560008481526020019081526020016000208054905090505b8460056000858152602001908152602001600020838154811061097b5761097a61301e565b5b9060005260206000200154146109a15781806109969061310e565b925050808210610955575b600560008481526020019081526020016000206001826109c1919061327a565b815481106109d2576109d161301e565b5b9060005260206000200154600560008581526020019081526020016000208381548110610a0257610a0161301e565b5b906000526020600020018190555060056000848152602001908152602001600020805480610a3357610a326132ae565b5b600190038181906000526020600020016000905590556004600086815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683867f3cf57863a89432c61c4a27073c6ee39e8a764bff5a05aebfbcdcdc80b2e6130a600460008a815260200190815260200160002060010154600460008b8152602001908152602001600020600301600460008c8152602001908152602001600020600401600460008d8152602001908152602001600020600501604051610b22949392919061346f565b60405180910390a46004600086815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000610b8591906123e4565b600482016000610b9591906123e4565b600582016000610ba59190612424565b505060019350505050919050565b600060011515600660019054906101000a900460ff16151514610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c725750610c7133604051602001610c549190612f71565b60405160208183030381529060405280519060200120600161205b565b5b610cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca890612ffe565b60405180910390fd5b82600160008581526020019081526020016000206002015414610d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d009061353b565b60405180910390fd5b600060016000858152602001908152602001600020600001805480602002602001604051908101604052809291908181526020018280548015610d6b57602002820191906000526020600020905b815481526020019060010190808311610d57575b5050505050905060005b83828281518110610d8957610d8861301e565b5b602002602001015114610dec578080610da19061310e565b91505081518103610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde906135cd565b60405180910390fd5b610d75565b8160018351610dfb919061327a565b81518110610e0c57610e0b61301e565b5b6020026020010151828281518110610e2757610e2661301e565b5b60200260200101818152505081600160008781526020019081526020016000206000019080519060200190610e5d929190612464565b5060016000868152602001908152602001600020600001805480610e8457610e836132ae565b5b60019003818190600052602060002001600090559055600080600260008781526020019081526020016000208054905090505b86600260008881526020019081526020016000208381548110610edd57610edc61301e565b5b906000526020600020015414610f03578180610ef89061310e565b925050808210610eb7575b60026000878152602001908152602001600020600182610f23919061327a565b81548110610f3457610f3361301e565b5b9060005260206000200154600260008881526020019081526020016000208381548110610f6457610f6361301e565b5b906000526020600020018190555060026000878152602001908152602001600020805480610f9557610f946132ae565b5b60019003818190600052602060002001600090559055600060016000898152602001908152602001600020600101549050600060018651610fd6919061327a565b03611012576001600089815260200190815260200160002060008082016000610fff91906124b1565b6001820160009055600282016000905550505b8087897f585a4aef50f8267a92b32412b331b20f7f8b96f2245b253b9cc50dcc621d339760405160405180910390a460019550505050505092915050565b60606040518060400160405280600581526020017f322e302e31000000000000000000000000000000000000000000000000000000815250905090565b600060011515600660019054906101000a900460ff161515146110e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dc90612f51565b60405180910390fd5b6000548310611129576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111209061365f565b60405180910390fd5b6003600084815260200190815260200160002060030160019054906101000a900460ff161561118d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611184906136cb565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff166003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361126b576112273360405160200161120a9190612f71565b60405160208183030381529060405280519060200120600161205b565b611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125d9061375d565b60405180910390fd5b6112dc565b61129c3360405160200161127f9190612f71565b60405160208183030381529060405280519060200120600261205b565b6112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906137c9565b60405180910390fd5b5b827fb3932da477fe5d6c8ff2eafef050c0f3a1af18fc07121001482600f36f3715d88360405161130c9190612776565b60405180910390a260011515821515036115c75760016003600085815260200190815260200160002060030160006101000a81548160ff0219169083151502179055506003600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166003600085815260200190815260200160002060010154600360008681526020019081526020016000206002016040516113d69190613877565b60006040518083038185875af1925050503d8060008114611413576040519150601f19603f3d011682016040523d82523d6000602084013e611418565b606091505b505080915050801561150d5760016003600085815260200190815260200160002060030160016101000a81548160ff02191690831515021790555060036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847f1f920dbda597d7bf95035464170fa58d0a4b57f13a1c315ace6793b9f63688b8600360008881526020019081526020016000206002016040516114fc919061388e565b60405180910390a4600190506115fb565b60036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847fe10c49d9f7c71da23262367013434763cfdb2332267641728d25cd712c5c6a68600360008881526020019081526020016000206002016040516115b6919061388e565b60405180910390a4600090506115fb565b60006003600085815260200190815260200160002060030160006101000a81548160ff021916908315150217905550600090505b92915050565b60606005600083815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561166057602002820191906000526020600020905b81548152602001906001019080831161164c575b50505050509050919050565b6060600260008381526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156116cb57602002820191906000526020600020905b8154815260200190600101908083116116b7575b50505050509050919050565b600060011515600660019054906101000a900460ff1615151461172f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172690612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806117965750611795336040516020016117789190612f71565b60405160208183030381529060405280519060200120600361205b565b5b6117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc906131c8565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146118c8578473ffffffffffffffffffffffffffffffffffffffff1663c0969a6e308987876040518563ffffffff1660e01b8152600401611847949392919061390f565b602060405180830381865afa158015611864573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118889190613977565b6118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be906139f0565b60405180910390fd5b5b600085886040516020016118dd929190613a10565b6040516020818303038152906040528051906020012090508760046000838152602001908152602001600020600001819055508660046000838152602001908152602001600020600101819055508460046000838152602001908152602001600020600301908161194e9190613bc6565b50836004600083815260200190815260200160002060040190816119729190613bc6565b50826004600083815260200190815260200160002060050190816119969190613cde565b508573ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aea5760056000898152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055856004600083815260200190815260200160002060020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff1688827f46149b18aa084502c3f12bc75e19eda8bda8d102b82cce8474677a6d0d5f43c58a898989604051611add9493929190613db0565b60405180910390a4611b41565b8573ffffffffffffffffffffffffffffffffffffffff1688827f3bab293fc00db832d7619a9299914251b8747c036867ec056cbd506f60135b138a898989604051611b389493929190613db0565b60405180910390a45b809150509695505050505050565b600060011515600660019054906101000a900460ff16151514611ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9e90612f51565b60405180910390fd5b600080549050846003600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360008381526020019081526020016000206001018190555082600360008381526020019081526020016000206002019081611c409190613bc6565b50600080815480929190611c539061310e565b9190505550838573ffffffffffffffffffffffffffffffffffffffff16827f8afcfabcb00e47a53a8fc3e9f23ff47ee1926194bb1350dd007c50b412a6cee886604051611ca09190613e0a565b60405180910390a4611cd933604051602001611cbc9190612f71565b60405160208183030381529060405280519060200120600161205b565b15611cef57611ce981600161108d565b50611d6b565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611d585750611d5733604051602001611d3a9190612f71565b60405160208183030381529060405280519060200120600261205b565b5b15611d6a57611d6881600161108d565b505b5b809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddc90613e78565b60405180910390fd5b611dee816121e3565b50565b6000806000606080606060046000888152602001908152602001600020600001546004600089815260200190815260200160002060010154600460008a815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460008b8152602001908152602001600020600301600460008c8152602001908152602001600020600401600460008d8152602001908152602001600020600501828054611eae9061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611eda9061330c565b8015611f275780601f10611efc57610100808354040283529160200191611f27565b820191906000526020600020905b815481529060010190602001808311611f0a57829003601f168201915b50505050509250818054611f3a9061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611f669061330c565b8015611fb35780601f10611f8857610100808354040283529160200191611fb3565b820191906000526020600020905b815481529060010190602001808311611f9657829003601f168201915b50505050509150808054611fc69061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611ff29061330c565b801561203f5780601f106120145761010080835404028352916020019161203f565b820191906000526020600020905b81548152906001019060200180831161202257829003601f168201915b5050505050905095509550955095509550955091939550919395565b60008060016000858152602001908152602001600020604051806060016040529081600082018054806020026020016040519081016040528092919081815260200182805480156120cb57602002820191906000526020600020905b8154815260200190600101908083116120b7575b505050505081526020016001820154815260200160028201548152505090506000801b81604001510361210257600091505061216f565b60005b8160000151518110156121685760008260000151828151811061212b5761212a61301e565b5b60200260200101519050600181148061214357508481145b15612154576001935050505061216f565b5080806121609061310e565b915050612105565b5060009150505b92915050565b6060600160008381526020019081526020016000206000018054806020026020016040519081016040528092919081815260200182805480156121d757602002820191906000526020600020905b8154815260200190600101908083116121c3575b50505050509050919050565b600660009054906101000a900460ff1615806122035750612202612380565b5b612242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223990613ee4565b60405180910390fd5b6001600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff02191690831515021790555060008160405160200161228b9190612f71565b6040516020818303038152906040528051906020012090508060016000838152602001908152602001600020600201819055506040518060200160405280600160ff16815250600160008381526020019081526020016000206000019060016122f59291906124d2565b506001806000838152602001908152602001600020600101819055506002600060018152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055600180827f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a45050565b6000803090506000813b9050600081149250505090565b8280548282559060005260206000209081019282156123d3579160200282015b828111156123d25782518255916020019190600101906123b7565b5b5090506123e09190612524565b5090565b5080546123f09061330c565b6000825580601f106124025750612421565b601f0160209004906000526020600020908101906124209190612524565b5b50565b5080546124309061330c565b6000825580601f106124425750612461565b601f0160209004906000526020600020908101906124609190612524565b5b50565b8280548282559060005260206000209081019282156124a0579160200282015b8281111561249f578251825591602001919060010190612484565b5b5090506124ad9190612524565b5090565b50805460008255906000526020600020908101906124cf9190612524565b50565b828054828255906000526020600020908101928215612513579160200282015b82811115612512578251829060ff169055916020019190600101906124f2565b5b5090506125209190612524565b5090565b5b8082111561253d576000816000905550600101612525565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61256881612555565b811461257357600080fd5b50565b6000813590506125858161255f565b92915050565b6000602082840312156125a1576125a061254b565b5b60006125af84828501612576565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b6125f7816125e4565b82525050565b600061260983836125ee565b60208301905092915050565b6000602082019050919050565b600061262d826125b8565b61263781856125c3565b9350612642836125d4565b8060005b8381101561267357815161265a88826125fd565b975061266583612615565b925050600181019050612646565b5085935050505092915050565b612689816125e4565b82525050565b61269881612555565b82525050565b600060608201905081810360008301526126b88186612622565b90506126c76020830185612680565b6126d4604083018461268f565b949350505050565b6126e5816125e4565b81146126f057600080fd5b50565b600081359050612702816126dc565b92915050565b6000806000606084860312156127215761272061254b565b5b600061272f86828701612576565b9350506020612740868287016126f3565b9250506040612751868287016126f3565b9150509250925092565b60008115159050919050565b6127708161275b565b82525050565b600060208201905061278b6000830184612767565b92915050565b600080604083850312156127a8576127a761254b565b5b60006127b685828601612576565b92505060206127c7858286016126f3565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561280b5780820151818401526020810190506127f0565b60008484015250505050565b6000601f19601f8301169050919050565b6000612833826127d1565b61283d81856127dc565b935061284d8185602086016127ed565b61285681612817565b840191505092915050565b6000602082019050818103600083015261287b8184612828565b905092915050565b61288c8161275b565b811461289757600080fd5b50565b6000813590506128a981612883565b92915050565b600080604083850312156128c6576128c561254b565b5b60006128d4858286016126f3565b92505060206128e58582860161289a565b9150509250929050565b6000602082840312156129055761290461254b565b5b6000612913848285016126f3565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61295181612555565b82525050565b60006129638383612948565b60208301905092915050565b6000602082019050919050565b60006129878261291c565b6129918185612927565b935061299c83612938565b8060005b838110156129cd5781516129b48882612957565b97506129bf8361296f565b9250506001810190506129a0565b5085935050505092915050565b600060208201905081810360008301526129f4818461297c565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a27826129fc565b9050919050565b612a3781612a1c565b8114612a4257600080fd5b50565b600081359050612a5481612a2e565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a9c82612817565b810181811067ffffffffffffffff82111715612abb57612aba612a64565b5b80604052505050565b6000612ace612541565b9050612ada8282612a93565b919050565b600067ffffffffffffffff821115612afa57612af9612a64565b5b612b0382612817565b9050602081019050919050565b82818337600083830152505050565b6000612b32612b2d84612adf565b612ac4565b905082815260208101848484011115612b4e57612b4d612a5f565b5b612b59848285612b10565b509392505050565b600082601f830112612b7657612b75612a5a565b5b8135612b86848260208601612b1f565b91505092915050565b600067ffffffffffffffff821115612baa57612ba9612a64565b5b612bb382612817565b9050602081019050919050565b6000612bd3612bce84612b8f565b612ac4565b905082815260208101848484011115612bef57612bee612a5f565b5b612bfa848285612b10565b509392505050565b600082601f830112612c1757612c16612a5a565b5b8135612c27848260208601612bc0565b91505092915050565b60008060008060008060c08789031215612c4d57612c4c61254b565b5b6000612c5b89828a016126f3565b9650506020612c6c89828a016126f3565b9550506040612c7d89828a01612a45565b945050606087013567ffffffffffffffff811115612c9e57612c9d612550565b5b612caa89828a01612b61565b935050608087013567ffffffffffffffff811115612ccb57612cca612550565b5b612cd789828a01612b61565b92505060a087013567ffffffffffffffff811115612cf857612cf7612550565b5b612d0489828a01612c02565b9150509295509295509295565b6000602082019050612d26600083018461268f565b92915050565b600080600060608486031215612d4557612d4461254b565b5b6000612d5386828701612a45565b9350506020612d64868287016126f3565b925050604084013567ffffffffffffffff811115612d8557612d84612550565b5b612d9186828701612b61565b9150509250925092565b6000602082019050612db06000830184612680565b92915050565b600060208284031215612dcc57612dcb61254b565b5b6000612dda84828501612a45565b91505092915050565b612dec81612a1c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000612e1982612df2565b612e238185612dfd565b9350612e338185602086016127ed565b612e3c81612817565b840191505092915050565b600060c082019050612e5c6000830189612680565b612e696020830188612680565b612e766040830187612de3565b8181036060830152612e888186612e0e565b90508181036080830152612e9c8185612e0e565b905081810360a0830152612eb08184612828565b9050979650505050505050565b60006020820190508181036000830152612ed78184612622565b905092915050565b7f496e746572616374696e67207769746820746865206c69627261727920636f6e60008201527f747261637420697320666f7262696464656e2e00000000000000000000000000602082015250565b6000612f3b6033836127dc565b9150612f4682612edf565b604082019050919050565b60006020820190508181036000830152612f6a81612f2e565b9050919050565b6000602082019050612f866000830184612de3565b92915050565b7f5065726d697373696f6e733a2053656e64657220646f6573206e6f742068617660008201527f65206d616e6167656d656e74206b657900000000000000000000000000000000602082015250565b6000612fe86030836127dc565b9150612ff382612f8c565b604082019050919050565b6000602082019050818103600083015261301781612fdb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f436f6e666c6963743a204b657920616c72656164792068617320707572706f7360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b60006130a96021836127dc565b91506130b48261304d565b604082019050919050565b600060208201905081810360008301526130d88161309c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613119826125e4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361314b5761314a6130df565b5b600182019050919050565b7f5065726d697373696f6e733a2053656e64657220646f6573206e6f742068617660008201527f6520636c61696d207369676e6572206b65790000000000000000000000000000602082015250565b60006131b26032836127dc565b91506131bd82613156565b604082019050919050565b600060208201905081810360008301526131e1816131a5565b9050919050565b7f4e6f6e4578697374696e673a205468657265206973206e6f20636c61696d207760008201527f6974682074686973204944000000000000000000000000000000000000000000602082015250565b6000613244602b836127dc565b915061324f826131e8565b604082019050919050565b6000602082019050818103600083015261327381613237565b9050919050565b6000613285826125e4565b9150613290836125e4565b92508282039050818111156132a8576132a76130df565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061332457607f821691505b602082108103613337576133366132dd565b5b50919050565b60008190508160005260206000209050919050565b6000815461335f8161330c565b6133698186612dfd565b94506001821660008114613384576001811461339a576133cd565b60ff1983168652811515602002860193506133cd565b6133a38561333d565b60005b838110156133c5578154818901526001820191506020810190506133a6565b808801955050505b50505092915050565b60008190508160005260206000209050919050565b600081546133f88161330c565b61340281866127dc565b9450600182166000811461341d576001811461343357613466565b60ff198316865281151560200286019350613466565b61343c856133d6565b60005b8381101561345e5781548189015260018201915060208101905061343f565b808801955050505b50505092915050565b60006080820190506134846000830187612680565b81810360208301526134968186613352565b905081810360408301526134aa8185613352565b905081810360608301526134be81846133eb565b905095945050505050565b7f4e6f6e4578697374696e673a204b65792069736e27742072656769737465726560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006135256021836127dc565b9150613530826134c9565b604082019050919050565b6000602082019050818103600083015261355481613518565b9050919050565b7f4e6f6e4578697374696e673a204b657920646f65736e2774206861766520737560008201527f636820707572706f736500000000000000000000000000000000000000000000602082015250565b60006135b7602a836127dc565b91506135c28261355b565b604082019050919050565b600060208201905081810360008301526135e6816135aa565b9050919050565b7f43616e6e6f7420617070726f76652061206e6f6e2d6578697374696e6720657860008201527f65637574696f6e00000000000000000000000000000000000000000000000000602082015250565b60006136496027836127dc565b9150613654826135ed565b604082019050919050565b600060208201905081810360008301526136788161363c565b9050919050565b7f5265717565737420616c72656164792065786563757465640000000000000000600082015250565b60006136b56018836127dc565b91506136c08261367f565b602082019050919050565b600060208201905081810360008301526136e4816136a8565b9050919050565b7f53656e64657220646f6573206e6f742068617665206d616e6167656d656e742060008201527f6b65790000000000000000000000000000000000000000000000000000000000602082015250565b60006137476023836127dc565b9150613752826136eb565b604082019050919050565b600060208201905081810360008301526137768161373a565b9050919050565b7f53656e64657220646f6573206e6f74206861766520616374696f6e206b657900600082015250565b60006137b3601f836127dc565b91506137be8261377d565b602082019050919050565b600060208201905081810360008301526137e2816137a6565b9050919050565b600081905092915050565b600081546138018161330c565b61380b81866137e9565b94506001821660008114613826576001811461383b5761386e565b60ff198316865281151582028601935061386e565b6138448561333d565b60005b8381101561386657815481890152600182019150602081019050613847565b838801955050505b50505092915050565b600061388382846137f4565b915081905092915050565b600060208201905081810360008301526138a88184613352565b905092915050565b6000819050919050565b60006138d56138d06138cb846129fc565b6138b0565b6129fc565b9050919050565b60006138e7826138ba565b9050919050565b60006138f9826138dc565b9050919050565b613909816138ee565b82525050565b60006080820190506139246000830187613900565b6139316020830186612680565b81810360408301526139438185612e0e565b905081810360608301526139578184612e0e565b905095945050505050565b60008151905061397181612883565b92915050565b60006020828403121561398d5761398c61254b565b5b600061399b84828501613962565b91505092915050565b7f696e76616c696420636c61696d00000000000000000000000000000000000000600082015250565b60006139da600d836127dc565b91506139e5826139a4565b602082019050919050565b60006020820190508181036000830152613a09816139cd565b9050919050565b6000604082019050613a256000830185612de3565b613a326020830184612680565b9392505050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613a867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613a49565b613a908683613a49565b95508019841693508086168417925050509392505050565b6000613ac3613abe613ab9846125e4565b6138b0565b6125e4565b9050919050565b6000819050919050565b613add83613aa8565b613af1613ae982613aca565b848454613a56565b825550505050565b600090565b613b06613af9565b613b11818484613ad4565b505050565b5b81811015613b3557613b2a600082613afe565b600181019050613b17565b5050565b601f821115613b7a57613b4b8161333d565b613b5484613a39565b81016020851015613b63578190505b613b77613b6f85613a39565b830182613b16565b50505b505050565b600082821c905092915050565b6000613b9d60001984600802613b7f565b1980831691505092915050565b6000613bb68383613b8c565b9150826002028217905092915050565b613bcf82612df2565b67ffffffffffffffff811115613be857613be7612a64565b5b613bf2825461330c565b613bfd828285613b39565b600060209050601f831160018114613c305760008415613c1e578287015190505b613c288582613baa565b865550613c90565b601f198416613c3e8661333d565b60005b82811015613c6657848901518255600182019150602085019450602081019050613c41565b86831015613c835784890151613c7f601f891682613b8c565b8355505b6001600288020188555050505b505050505050565b601f821115613cd957613caa816133d6565b613cb384613a39565b81016020851015613cc2578190505b613cd6613cce85613a39565b830182613b16565b50505b505050565b613ce7826127d1565b67ffffffffffffffff811115613d0057613cff612a64565b5b613d0a825461330c565b613d15828285613c98565b600060209050601f831160018114613d485760008415613d36578287015190505b613d408582613baa565b865550613da8565b601f198416613d56866133d6565b60005b82811015613d7e57848901518255600182019150602085019450602081019050613d59565b86831015613d9b5784890151613d97601f891682613b8c565b8355505b6001600288020188555050505b505050505050565b6000608082019050613dc56000830187612680565b8181036020830152613dd78186612e0e565b90508181036040830152613deb8185612e0e565b90508181036060830152613dff8184612828565b905095945050505050565b60006020820190508181036000830152613e248184612e0e565b905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b6000613e62601f836127dc565b9150613e6d82613e2c565b602082019050919050565b60006020820190508181036000830152613e9181613e55565b9050919050565b7f496e697469616c206b65792077617320616c72656164792073657475702e0000600082015250565b6000613ece601e836127dc565b9150613ed982613e98565b602082019050919050565b60006020820190508181036000830152613efd81613ec1565b905091905056fea26469706673582212208e649d2565e2ec64f4b8b0fdb2760c7c6245f634a157c09972d5578559211a4264736f6c63430008110033000000000000000000000000d98b4aeb2a25c03d2589812d4125aa584bba833f0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": null, + "transactionIndex": "0x2d", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x738ab5c8d2ee2b5fe20b70a52e94dd7aa4754c6e4c07060da09b0273e32f7694", + "s": "0x18dc3ec14faa23573b6c234ce4ac8889c34d5d62eb8c1c4d9474a9d5cd9a1e70" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x1588deadc74f61ffdefd6b41fcccd3e804c212d5", + "gas": "0x5208", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59c08dca", + "hash": "0x32139e1506d78b5543d75510ed77fe4fa84955db3fe124269e82a3becf7f916a", + "input": "0x", + "nonce": "0x3", + "to": "0xd7b8b1dce9a10a46888e9526704aa0b026443d07", + "transactionIndex": "0x2e", + "value": "0x1daff710e784000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xf753fcaecebbea042f5b2aec0f6ef58876d26c50ec27d93682f8bd704ccc4d58", + "s": "0x7f20d644fb706b763a7870c1b0906a2104f773e23752cf943cb0c27f926282b3" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xb5fe7db00c80d60a7d320d3630bbfb24bd28de3e", + "gas": "0x4c4b40", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59eb1a3e", + "hash": "0x3b2440ce5630052041e48f0fd5e4feb1124d81893978b378a01680c4bb4d77e2", + "input": "0x60806040526000600660006101000a81548160ff0219169083151502179055506000600660016101000a81548160ff0219169083151502179055503480156200004757600080fd5b50604051620044b5380380620044b583398181016040528101906200006d919062000401565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620000df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000d690620004a9565b60405180910390fd5b80620000fc57620000f6826200012060201b60201c565b62000118565b6001600660006101000a81548160ff0219169083151502179055505b50506200056b565b600660009054906101000a900460ff16158062000149575062000148620002cd60201b60201c565b5b6200018b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000182906200051b565b60405180910390fd5b6001600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff021916908315150217905550600081604051602001620001d691906200054e565b6040516020818303038152906040528051906020012090508060016000838152602001908152602001600020600201819055506040518060200160405280600160ff168152506001600083815260200190815260200160002060000190600162000242929190620002e4565b506001806000838152602001908152602001600020600101819055506002600060018152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055600180827f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a45050565b6000803090506000813b9050600081149250505090565b82805482825590600052602060002090810192821562000328579160200282015b8281111562000327578251829060ff1690559160200191906001019062000305565b5b5090506200033791906200033b565b5090565b5b80821115620003565760008160009055506001016200033c565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200038c826200035f565b9050919050565b6200039e816200037f565b8114620003aa57600080fd5b50565b600081519050620003be8162000393565b92915050565b60008115159050919050565b620003db81620003c4565b8114620003e757600080fd5b50565b600081519050620003fb81620003d0565b92915050565b600080604083850312156200041b576200041a6200035a565b5b60006200042b85828601620003ad565b92505060206200043e85828601620003ea565b9150509250929050565b600082825260208201905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b600062000491601f8362000448565b91506200049e8262000459565b602082019050919050565b60006020820190508181036000830152620004c48162000482565b9050919050565b7f496e697469616c206b65792077617320616c72656164792073657475702e0000600082015250565b600062000503601e8362000448565b91506200051082620004cb565b602082019050919050565b600060208201905081810360008301526200053681620004f4565b9050919050565b62000548816200037f565b82525050565b60006020820190506200056560008301846200053d565b92915050565b613f3a806200057b6000396000f3fe6080604052600436106100dd5760003560e01c80639010f7261161007f578063c4d66de811610059578063c4d66de814610327578063c9100bcb14610350578063d202158d14610392578063fb307b34146103cf576100dd565b80639010f7261461027d578063b1a34e0d146102ba578063b61d27f6146102f7576100dd565b806353d413c5116100bb57806353d413c51461019b57806354fd4d50146101d8578063747442d31461020357806380e9e9e114610240576100dd565b806312aaac70146100e25780631d381240146101215780634eee424a1461015e575b600080fd5b3480156100ee57600080fd5b506101096004803603810190610104919061258b565b61040c565b6040516101189392919061269e565b60405180910390f35b34801561012d57600080fd5b5061014860048036038101906101439190612708565b6104b4565b6040516101559190612776565b60405180910390f35b34801561016a57600080fd5b506101856004803603810190610180919061258b565b6107dc565b6040516101929190612776565b60405180910390f35b3480156101a757600080fd5b506101c260048036038101906101bd9190612791565b610bb3565b6040516101cf9190612776565b60405180910390f35b3480156101e457600080fd5b506101ed611050565b6040516101fa9190612861565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906128af565b61108d565b6040516102379190612776565b60405180910390f35b34801561024c57600080fd5b50610267600480360381019061026291906128ef565b611601565b60405161027491906129da565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f91906128ef565b61166c565b6040516102b191906129da565b60405180910390f35b3480156102c657600080fd5b506102e160048036038101906102dc9190612c30565b6116d7565b6040516102ee9190612d11565b60405180910390f35b610311600480360381019061030c9190612d2c565b611b4f565b60405161031e9190612d9b565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190612db6565b611d76565b005b34801561035c57600080fd5b506103776004803603810190610372919061258b565b611df1565b60405161038996959493929190612e47565b60405180910390f35b34801561039e57600080fd5b506103b960048036038101906103b49190612791565b61205b565b6040516103c69190612776565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f1919061258b565b612175565b6040516104039190612ebd565b60405180910390f35b60606000806001600085815260200190815260200160002060000160016000868152602001908152602001600020600101546001600087815260200190815260200160002060020154828054806020026020016040519081016040528092919081815260200182805480156104a057602002820191906000526020600020905b81548152602001906001019080831161048c575b505050505092509250925092509193909250565b600060011515600660019054906101000a900460ff1615151461050c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050390612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105735750610572336040516020016105559190612f71565b60405160208183030381529060405280519060200120600161205b565b5b6105b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a990612ffe565b60405180910390fd5b836001600086815260200190815260200160002060020154036106fd5760006001600086815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561063157602002820191906000526020600020905b81548152602001906001019080831161061d575b5050505050905060005b81518110156106b95760008282815181106106595761065861301e565b5b602002602001015190508581036106a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069c906130bf565b60405180910390fd5b5080806106b19061310e565b91505061063b565b506001600086815260200190815260200160002060000184908060018154018082558091505060019003906000526020600020016000909190919091505550610768565b8360016000868152602001908152602001600020600201819055506040518060200160405280848152506001600086815260200190815260200160002060000190600161074b929190612397565b508160016000868152602001908152602001600020600101819055505b600260008481526020019081526020016000208490806001815401808255809150506001900390600052602060002001600090919091909150558183857f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a4600190509392505050565b600060011515600660019054906101000a900460ff16151514610834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082b90612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061089b575061089a3360405160200161087d9190612f71565b60405160208183030381529060405280519060200120600361205b565b5b6108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d1906131c8565b60405180910390fd5b60006004600084815260200190815260200160002060000154905060008103610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f9061325a565b60405180910390fd5b600080600560008481526020019081526020016000208054905090505b8460056000858152602001908152602001600020838154811061097b5761097a61301e565b5b9060005260206000200154146109a15781806109969061310e565b925050808210610955575b600560008481526020019081526020016000206001826109c1919061327a565b815481106109d2576109d161301e565b5b9060005260206000200154600560008581526020019081526020016000208381548110610a0257610a0161301e565b5b906000526020600020018190555060056000848152602001908152602001600020805480610a3357610a326132ae565b5b600190038181906000526020600020016000905590556004600086815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683867f3cf57863a89432c61c4a27073c6ee39e8a764bff5a05aebfbcdcdc80b2e6130a600460008a815260200190815260200160002060010154600460008b8152602001908152602001600020600301600460008c8152602001908152602001600020600401600460008d8152602001908152602001600020600501604051610b22949392919061346f565b60405180910390a46004600086815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000610b8591906123e4565b600482016000610b9591906123e4565b600582016000610ba59190612424565b505060019350505050919050565b600060011515600660019054906101000a900460ff16151514610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c725750610c7133604051602001610c549190612f71565b60405160208183030381529060405280519060200120600161205b565b5b610cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca890612ffe565b60405180910390fd5b82600160008581526020019081526020016000206002015414610d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d009061353b565b60405180910390fd5b600060016000858152602001908152602001600020600001805480602002602001604051908101604052809291908181526020018280548015610d6b57602002820191906000526020600020905b815481526020019060010190808311610d57575b5050505050905060005b83828281518110610d8957610d8861301e565b5b602002602001015114610dec578080610da19061310e565b91505081518103610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde906135cd565b60405180910390fd5b610d75565b8160018351610dfb919061327a565b81518110610e0c57610e0b61301e565b5b6020026020010151828281518110610e2757610e2661301e565b5b60200260200101818152505081600160008781526020019081526020016000206000019080519060200190610e5d929190612464565b5060016000868152602001908152602001600020600001805480610e8457610e836132ae565b5b60019003818190600052602060002001600090559055600080600260008781526020019081526020016000208054905090505b86600260008881526020019081526020016000208381548110610edd57610edc61301e565b5b906000526020600020015414610f03578180610ef89061310e565b925050808210610eb7575b60026000878152602001908152602001600020600182610f23919061327a565b81548110610f3457610f3361301e565b5b9060005260206000200154600260008881526020019081526020016000208381548110610f6457610f6361301e565b5b906000526020600020018190555060026000878152602001908152602001600020805480610f9557610f946132ae565b5b60019003818190600052602060002001600090559055600060016000898152602001908152602001600020600101549050600060018651610fd6919061327a565b03611012576001600089815260200190815260200160002060008082016000610fff91906124b1565b6001820160009055600282016000905550505b8087897f585a4aef50f8267a92b32412b331b20f7f8b96f2245b253b9cc50dcc621d339760405160405180910390a460019550505050505092915050565b60606040518060400160405280600581526020017f322e302e31000000000000000000000000000000000000000000000000000000815250905090565b600060011515600660019054906101000a900460ff161515146110e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dc90612f51565b60405180910390fd5b6000548310611129576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111209061365f565b60405180910390fd5b6003600084815260200190815260200160002060030160019054906101000a900460ff161561118d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611184906136cb565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff166003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361126b576112273360405160200161120a9190612f71565b60405160208183030381529060405280519060200120600161205b565b611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125d9061375d565b60405180910390fd5b6112dc565b61129c3360405160200161127f9190612f71565b60405160208183030381529060405280519060200120600261205b565b6112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906137c9565b60405180910390fd5b5b827fb3932da477fe5d6c8ff2eafef050c0f3a1af18fc07121001482600f36f3715d88360405161130c9190612776565b60405180910390a260011515821515036115c75760016003600085815260200190815260200160002060030160006101000a81548160ff0219169083151502179055506003600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166003600085815260200190815260200160002060010154600360008681526020019081526020016000206002016040516113d69190613877565b60006040518083038185875af1925050503d8060008114611413576040519150601f19603f3d011682016040523d82523d6000602084013e611418565b606091505b505080915050801561150d5760016003600085815260200190815260200160002060030160016101000a81548160ff02191690831515021790555060036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847f1f920dbda597d7bf95035464170fa58d0a4b57f13a1c315ace6793b9f63688b8600360008881526020019081526020016000206002016040516114fc919061388e565b60405180910390a4600190506115fb565b60036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847fe10c49d9f7c71da23262367013434763cfdb2332267641728d25cd712c5c6a68600360008881526020019081526020016000206002016040516115b6919061388e565b60405180910390a4600090506115fb565b60006003600085815260200190815260200160002060030160006101000a81548160ff021916908315150217905550600090505b92915050565b60606005600083815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561166057602002820191906000526020600020905b81548152602001906001019080831161164c575b50505050509050919050565b6060600260008381526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156116cb57602002820191906000526020600020905b8154815260200190600101908083116116b7575b50505050509050919050565b600060011515600660019054906101000a900460ff1615151461172f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172690612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806117965750611795336040516020016117789190612f71565b60405160208183030381529060405280519060200120600361205b565b5b6117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc906131c8565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146118c8578473ffffffffffffffffffffffffffffffffffffffff1663c0969a6e308987876040518563ffffffff1660e01b8152600401611847949392919061390f565b602060405180830381865afa158015611864573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118889190613977565b6118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be906139f0565b60405180910390fd5b5b600085886040516020016118dd929190613a10565b6040516020818303038152906040528051906020012090508760046000838152602001908152602001600020600001819055508660046000838152602001908152602001600020600101819055508460046000838152602001908152602001600020600301908161194e9190613bc6565b50836004600083815260200190815260200160002060040190816119729190613bc6565b50826004600083815260200190815260200160002060050190816119969190613cde565b508573ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aea5760056000898152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055856004600083815260200190815260200160002060020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff1688827f46149b18aa084502c3f12bc75e19eda8bda8d102b82cce8474677a6d0d5f43c58a898989604051611add9493929190613db0565b60405180910390a4611b41565b8573ffffffffffffffffffffffffffffffffffffffff1688827f3bab293fc00db832d7619a9299914251b8747c036867ec056cbd506f60135b138a898989604051611b389493929190613db0565b60405180910390a45b809150509695505050505050565b600060011515600660019054906101000a900460ff16151514611ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9e90612f51565b60405180910390fd5b600080549050846003600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360008381526020019081526020016000206001018190555082600360008381526020019081526020016000206002019081611c409190613bc6565b50600080815480929190611c539061310e565b9190505550838573ffffffffffffffffffffffffffffffffffffffff16827f8afcfabcb00e47a53a8fc3e9f23ff47ee1926194bb1350dd007c50b412a6cee886604051611ca09190613e0a565b60405180910390a4611cd933604051602001611cbc9190612f71565b60405160208183030381529060405280519060200120600161205b565b15611cef57611ce981600161108d565b50611d6b565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611d585750611d5733604051602001611d3a9190612f71565b60405160208183030381529060405280519060200120600261205b565b5b15611d6a57611d6881600161108d565b505b5b809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddc90613e78565b60405180910390fd5b611dee816121e3565b50565b6000806000606080606060046000888152602001908152602001600020600001546004600089815260200190815260200160002060010154600460008a815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460008b8152602001908152602001600020600301600460008c8152602001908152602001600020600401600460008d8152602001908152602001600020600501828054611eae9061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611eda9061330c565b8015611f275780601f10611efc57610100808354040283529160200191611f27565b820191906000526020600020905b815481529060010190602001808311611f0a57829003601f168201915b50505050509250818054611f3a9061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611f669061330c565b8015611fb35780601f10611f8857610100808354040283529160200191611fb3565b820191906000526020600020905b815481529060010190602001808311611f9657829003601f168201915b50505050509150808054611fc69061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611ff29061330c565b801561203f5780601f106120145761010080835404028352916020019161203f565b820191906000526020600020905b81548152906001019060200180831161202257829003601f168201915b5050505050905095509550955095509550955091939550919395565b60008060016000858152602001908152602001600020604051806060016040529081600082018054806020026020016040519081016040528092919081815260200182805480156120cb57602002820191906000526020600020905b8154815260200190600101908083116120b7575b505050505081526020016001820154815260200160028201548152505090506000801b81604001510361210257600091505061216f565b60005b8160000151518110156121685760008260000151828151811061212b5761212a61301e565b5b60200260200101519050600181148061214357508481145b15612154576001935050505061216f565b5080806121609061310e565b915050612105565b5060009150505b92915050565b6060600160008381526020019081526020016000206000018054806020026020016040519081016040528092919081815260200182805480156121d757602002820191906000526020600020905b8154815260200190600101908083116121c3575b50505050509050919050565b600660009054906101000a900460ff1615806122035750612202612380565b5b612242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223990613ee4565b60405180910390fd5b6001600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff02191690831515021790555060008160405160200161228b9190612f71565b6040516020818303038152906040528051906020012090508060016000838152602001908152602001600020600201819055506040518060200160405280600160ff16815250600160008381526020019081526020016000206000019060016122f59291906124d2565b506001806000838152602001908152602001600020600101819055506002600060018152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055600180827f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a45050565b6000803090506000813b9050600081149250505090565b8280548282559060005260206000209081019282156123d3579160200282015b828111156123d25782518255916020019190600101906123b7565b5b5090506123e09190612524565b5090565b5080546123f09061330c565b6000825580601f106124025750612421565b601f0160209004906000526020600020908101906124209190612524565b5b50565b5080546124309061330c565b6000825580601f106124425750612461565b601f0160209004906000526020600020908101906124609190612524565b5b50565b8280548282559060005260206000209081019282156124a0579160200282015b8281111561249f578251825591602001919060010190612484565b5b5090506124ad9190612524565b5090565b50805460008255906000526020600020908101906124cf9190612524565b50565b828054828255906000526020600020908101928215612513579160200282015b82811115612512578251829060ff169055916020019190600101906124f2565b5b5090506125209190612524565b5090565b5b8082111561253d576000816000905550600101612525565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61256881612555565b811461257357600080fd5b50565b6000813590506125858161255f565b92915050565b6000602082840312156125a1576125a061254b565b5b60006125af84828501612576565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b6125f7816125e4565b82525050565b600061260983836125ee565b60208301905092915050565b6000602082019050919050565b600061262d826125b8565b61263781856125c3565b9350612642836125d4565b8060005b8381101561267357815161265a88826125fd565b975061266583612615565b925050600181019050612646565b5085935050505092915050565b612689816125e4565b82525050565b61269881612555565b82525050565b600060608201905081810360008301526126b88186612622565b90506126c76020830185612680565b6126d4604083018461268f565b949350505050565b6126e5816125e4565b81146126f057600080fd5b50565b600081359050612702816126dc565b92915050565b6000806000606084860312156127215761272061254b565b5b600061272f86828701612576565b9350506020612740868287016126f3565b9250506040612751868287016126f3565b9150509250925092565b60008115159050919050565b6127708161275b565b82525050565b600060208201905061278b6000830184612767565b92915050565b600080604083850312156127a8576127a761254b565b5b60006127b685828601612576565b92505060206127c7858286016126f3565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561280b5780820151818401526020810190506127f0565b60008484015250505050565b6000601f19601f8301169050919050565b6000612833826127d1565b61283d81856127dc565b935061284d8185602086016127ed565b61285681612817565b840191505092915050565b6000602082019050818103600083015261287b8184612828565b905092915050565b61288c8161275b565b811461289757600080fd5b50565b6000813590506128a981612883565b92915050565b600080604083850312156128c6576128c561254b565b5b60006128d4858286016126f3565b92505060206128e58582860161289a565b9150509250929050565b6000602082840312156129055761290461254b565b5b6000612913848285016126f3565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61295181612555565b82525050565b60006129638383612948565b60208301905092915050565b6000602082019050919050565b60006129878261291c565b6129918185612927565b935061299c83612938565b8060005b838110156129cd5781516129b48882612957565b97506129bf8361296f565b9250506001810190506129a0565b5085935050505092915050565b600060208201905081810360008301526129f4818461297c565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a27826129fc565b9050919050565b612a3781612a1c565b8114612a4257600080fd5b50565b600081359050612a5481612a2e565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a9c82612817565b810181811067ffffffffffffffff82111715612abb57612aba612a64565b5b80604052505050565b6000612ace612541565b9050612ada8282612a93565b919050565b600067ffffffffffffffff821115612afa57612af9612a64565b5b612b0382612817565b9050602081019050919050565b82818337600083830152505050565b6000612b32612b2d84612adf565b612ac4565b905082815260208101848484011115612b4e57612b4d612a5f565b5b612b59848285612b10565b509392505050565b600082601f830112612b7657612b75612a5a565b5b8135612b86848260208601612b1f565b91505092915050565b600067ffffffffffffffff821115612baa57612ba9612a64565b5b612bb382612817565b9050602081019050919050565b6000612bd3612bce84612b8f565b612ac4565b905082815260208101848484011115612bef57612bee612a5f565b5b612bfa848285612b10565b509392505050565b600082601f830112612c1757612c16612a5a565b5b8135612c27848260208601612bc0565b91505092915050565b60008060008060008060c08789031215612c4d57612c4c61254b565b5b6000612c5b89828a016126f3565b9650506020612c6c89828a016126f3565b9550506040612c7d89828a01612a45565b945050606087013567ffffffffffffffff811115612c9e57612c9d612550565b5b612caa89828a01612b61565b935050608087013567ffffffffffffffff811115612ccb57612cca612550565b5b612cd789828a01612b61565b92505060a087013567ffffffffffffffff811115612cf857612cf7612550565b5b612d0489828a01612c02565b9150509295509295509295565b6000602082019050612d26600083018461268f565b92915050565b600080600060608486031215612d4557612d4461254b565b5b6000612d5386828701612a45565b9350506020612d64868287016126f3565b925050604084013567ffffffffffffffff811115612d8557612d84612550565b5b612d9186828701612b61565b9150509250925092565b6000602082019050612db06000830184612680565b92915050565b600060208284031215612dcc57612dcb61254b565b5b6000612dda84828501612a45565b91505092915050565b612dec81612a1c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000612e1982612df2565b612e238185612dfd565b9350612e338185602086016127ed565b612e3c81612817565b840191505092915050565b600060c082019050612e5c6000830189612680565b612e696020830188612680565b612e766040830187612de3565b8181036060830152612e888186612e0e565b90508181036080830152612e9c8185612e0e565b905081810360a0830152612eb08184612828565b9050979650505050505050565b60006020820190508181036000830152612ed78184612622565b905092915050565b7f496e746572616374696e67207769746820746865206c69627261727920636f6e60008201527f747261637420697320666f7262696464656e2e00000000000000000000000000602082015250565b6000612f3b6033836127dc565b9150612f4682612edf565b604082019050919050565b60006020820190508181036000830152612f6a81612f2e565b9050919050565b6000602082019050612f866000830184612de3565b92915050565b7f5065726d697373696f6e733a2053656e64657220646f6573206e6f742068617660008201527f65206d616e6167656d656e74206b657900000000000000000000000000000000602082015250565b6000612fe86030836127dc565b9150612ff382612f8c565b604082019050919050565b6000602082019050818103600083015261301781612fdb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f436f6e666c6963743a204b657920616c72656164792068617320707572706f7360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b60006130a96021836127dc565b91506130b48261304d565b604082019050919050565b600060208201905081810360008301526130d88161309c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613119826125e4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361314b5761314a6130df565b5b600182019050919050565b7f5065726d697373696f6e733a2053656e64657220646f6573206e6f742068617660008201527f6520636c61696d207369676e6572206b65790000000000000000000000000000602082015250565b60006131b26032836127dc565b91506131bd82613156565b604082019050919050565b600060208201905081810360008301526131e1816131a5565b9050919050565b7f4e6f6e4578697374696e673a205468657265206973206e6f20636c61696d207760008201527f6974682074686973204944000000000000000000000000000000000000000000602082015250565b6000613244602b836127dc565b915061324f826131e8565b604082019050919050565b6000602082019050818103600083015261327381613237565b9050919050565b6000613285826125e4565b9150613290836125e4565b92508282039050818111156132a8576132a76130df565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061332457607f821691505b602082108103613337576133366132dd565b5b50919050565b60008190508160005260206000209050919050565b6000815461335f8161330c565b6133698186612dfd565b94506001821660008114613384576001811461339a576133cd565b60ff1983168652811515602002860193506133cd565b6133a38561333d565b60005b838110156133c5578154818901526001820191506020810190506133a6565b808801955050505b50505092915050565b60008190508160005260206000209050919050565b600081546133f88161330c565b61340281866127dc565b9450600182166000811461341d576001811461343357613466565b60ff198316865281151560200286019350613466565b61343c856133d6565b60005b8381101561345e5781548189015260018201915060208101905061343f565b808801955050505b50505092915050565b60006080820190506134846000830187612680565b81810360208301526134968186613352565b905081810360408301526134aa8185613352565b905081810360608301526134be81846133eb565b905095945050505050565b7f4e6f6e4578697374696e673a204b65792069736e27742072656769737465726560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006135256021836127dc565b9150613530826134c9565b604082019050919050565b6000602082019050818103600083015261355481613518565b9050919050565b7f4e6f6e4578697374696e673a204b657920646f65736e2774206861766520737560008201527f636820707572706f736500000000000000000000000000000000000000000000602082015250565b60006135b7602a836127dc565b91506135c28261355b565b604082019050919050565b600060208201905081810360008301526135e6816135aa565b9050919050565b7f43616e6e6f7420617070726f76652061206e6f6e2d6578697374696e6720657860008201527f65637574696f6e00000000000000000000000000000000000000000000000000602082015250565b60006136496027836127dc565b9150613654826135ed565b604082019050919050565b600060208201905081810360008301526136788161363c565b9050919050565b7f5265717565737420616c72656164792065786563757465640000000000000000600082015250565b60006136b56018836127dc565b91506136c08261367f565b602082019050919050565b600060208201905081810360008301526136e4816136a8565b9050919050565b7f53656e64657220646f6573206e6f742068617665206d616e6167656d656e742060008201527f6b65790000000000000000000000000000000000000000000000000000000000602082015250565b60006137476023836127dc565b9150613752826136eb565b604082019050919050565b600060208201905081810360008301526137768161373a565b9050919050565b7f53656e64657220646f6573206e6f74206861766520616374696f6e206b657900600082015250565b60006137b3601f836127dc565b91506137be8261377d565b602082019050919050565b600060208201905081810360008301526137e2816137a6565b9050919050565b600081905092915050565b600081546138018161330c565b61380b81866137e9565b94506001821660008114613826576001811461383b5761386e565b60ff198316865281151582028601935061386e565b6138448561333d565b60005b8381101561386657815481890152600182019150602081019050613847565b838801955050505b50505092915050565b600061388382846137f4565b915081905092915050565b600060208201905081810360008301526138a88184613352565b905092915050565b6000819050919050565b60006138d56138d06138cb846129fc565b6138b0565b6129fc565b9050919050565b60006138e7826138ba565b9050919050565b60006138f9826138dc565b9050919050565b613909816138ee565b82525050565b60006080820190506139246000830187613900565b6139316020830186612680565b81810360408301526139438185612e0e565b905081810360608301526139578184612e0e565b905095945050505050565b60008151905061397181612883565b92915050565b60006020828403121561398d5761398c61254b565b5b600061399b84828501613962565b91505092915050565b7f696e76616c696420636c61696d00000000000000000000000000000000000000600082015250565b60006139da600d836127dc565b91506139e5826139a4565b602082019050919050565b60006020820190508181036000830152613a09816139cd565b9050919050565b6000604082019050613a256000830185612de3565b613a326020830184612680565b9392505050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613a867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613a49565b613a908683613a49565b95508019841693508086168417925050509392505050565b6000613ac3613abe613ab9846125e4565b6138b0565b6125e4565b9050919050565b6000819050919050565b613add83613aa8565b613af1613ae982613aca565b848454613a56565b825550505050565b600090565b613b06613af9565b613b11818484613ad4565b505050565b5b81811015613b3557613b2a600082613afe565b600181019050613b17565b5050565b601f821115613b7a57613b4b8161333d565b613b5484613a39565b81016020851015613b63578190505b613b77613b6f85613a39565b830182613b16565b50505b505050565b600082821c905092915050565b6000613b9d60001984600802613b7f565b1980831691505092915050565b6000613bb68383613b8c565b9150826002028217905092915050565b613bcf82612df2565b67ffffffffffffffff811115613be857613be7612a64565b5b613bf2825461330c565b613bfd828285613b39565b600060209050601f831160018114613c305760008415613c1e578287015190505b613c288582613baa565b865550613c90565b601f198416613c3e8661333d565b60005b82811015613c6657848901518255600182019150602085019450602081019050613c41565b86831015613c835784890151613c7f601f891682613b8c565b8355505b6001600288020188555050505b505050505050565b601f821115613cd957613caa816133d6565b613cb384613a39565b81016020851015613cc2578190505b613cd6613cce85613a39565b830182613b16565b50505b505050565b613ce7826127d1565b67ffffffffffffffff811115613d0057613cff612a64565b5b613d0a825461330c565b613d15828285613c98565b600060209050601f831160018114613d485760008415613d36578287015190505b613d408582613baa565b865550613da8565b601f198416613d56866133d6565b60005b82811015613d7e57848901518255600182019150602085019450602081019050613d59565b86831015613d9b5784890151613d97601f891682613b8c565b8355505b6001600288020188555050505b505050505050565b6000608082019050613dc56000830187612680565b8181036020830152613dd78186612e0e565b90508181036040830152613deb8185612e0e565b90508181036060830152613dff8184612828565b905095945050505050565b60006020820190508181036000830152613e248184612e0e565b905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b6000613e62601f836127dc565b9150613e6d82613e2c565b602082019050919050565b60006020820190508181036000830152613e9181613e55565b9050919050565b7f496e697469616c206b65792077617320616c72656164792073657475702e0000600082015250565b6000613ece601e836127dc565b9150613ed982613e98565b602082019050919050565b60006020820190508181036000830152613efd81613ec1565b905091905056fea26469706673582212208e649d2565e2ec64f4b8b0fdb2760c7c6245f634a157c09972d5578559211a4264736f6c63430008110033000000000000000000000000b5fe7db00c80d60a7d320d3630bbfb24bd28de3e0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": null, + "transactionIndex": "0x2f", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x9dae8e7dd58ac4811b06663d0365817dba3778f77f0b8b5059e4180e737e9272", + "s": "0x79741f4305967265524c5abb5ead7bea9d527fc57e878709d29779fd737605cf" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd48afe45cdc100ddf4a1ceb086e8ba99e8ed9eef", + "gas": "0x4c4b40", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59eb1a3e", + "hash": "0xf04d1b6905a81d278761aa2e5117613eeaf252054bc32ce3673f1f5ecc523f28", + "input": "0x60806040526000600660006101000a81548160ff0219169083151502179055506000600660016101000a81548160ff0219169083151502179055503480156200004757600080fd5b50604051620044b5380380620044b583398181016040528101906200006d919062000401565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620000df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000d690620004a9565b60405180910390fd5b80620000fc57620000f6826200012060201b60201c565b62000118565b6001600660006101000a81548160ff0219169083151502179055505b50506200056b565b600660009054906101000a900460ff16158062000149575062000148620002cd60201b60201c565b5b6200018b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000182906200051b565b60405180910390fd5b6001600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff021916908315150217905550600081604051602001620001d691906200054e565b6040516020818303038152906040528051906020012090508060016000838152602001908152602001600020600201819055506040518060200160405280600160ff168152506001600083815260200190815260200160002060000190600162000242929190620002e4565b506001806000838152602001908152602001600020600101819055506002600060018152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055600180827f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a45050565b6000803090506000813b9050600081149250505090565b82805482825590600052602060002090810192821562000328579160200282015b8281111562000327578251829060ff1690559160200191906001019062000305565b5b5090506200033791906200033b565b5090565b5b80821115620003565760008160009055506001016200033c565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200038c826200035f565b9050919050565b6200039e816200037f565b8114620003aa57600080fd5b50565b600081519050620003be8162000393565b92915050565b60008115159050919050565b620003db81620003c4565b8114620003e757600080fd5b50565b600081519050620003fb81620003d0565b92915050565b600080604083850312156200041b576200041a6200035a565b5b60006200042b85828601620003ad565b92505060206200043e85828601620003ea565b9150509250929050565b600082825260208201905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b600062000491601f8362000448565b91506200049e8262000459565b602082019050919050565b60006020820190508181036000830152620004c48162000482565b9050919050565b7f496e697469616c206b65792077617320616c72656164792073657475702e0000600082015250565b600062000503601e8362000448565b91506200051082620004cb565b602082019050919050565b600060208201905081810360008301526200053681620004f4565b9050919050565b62000548816200037f565b82525050565b60006020820190506200056560008301846200053d565b92915050565b613f3a806200057b6000396000f3fe6080604052600436106100dd5760003560e01c80639010f7261161007f578063c4d66de811610059578063c4d66de814610327578063c9100bcb14610350578063d202158d14610392578063fb307b34146103cf576100dd565b80639010f7261461027d578063b1a34e0d146102ba578063b61d27f6146102f7576100dd565b806353d413c5116100bb57806353d413c51461019b57806354fd4d50146101d8578063747442d31461020357806380e9e9e114610240576100dd565b806312aaac70146100e25780631d381240146101215780634eee424a1461015e575b600080fd5b3480156100ee57600080fd5b506101096004803603810190610104919061258b565b61040c565b6040516101189392919061269e565b60405180910390f35b34801561012d57600080fd5b5061014860048036038101906101439190612708565b6104b4565b6040516101559190612776565b60405180910390f35b34801561016a57600080fd5b506101856004803603810190610180919061258b565b6107dc565b6040516101929190612776565b60405180910390f35b3480156101a757600080fd5b506101c260048036038101906101bd9190612791565b610bb3565b6040516101cf9190612776565b60405180910390f35b3480156101e457600080fd5b506101ed611050565b6040516101fa9190612861565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906128af565b61108d565b6040516102379190612776565b60405180910390f35b34801561024c57600080fd5b50610267600480360381019061026291906128ef565b611601565b60405161027491906129da565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f91906128ef565b61166c565b6040516102b191906129da565b60405180910390f35b3480156102c657600080fd5b506102e160048036038101906102dc9190612c30565b6116d7565b6040516102ee9190612d11565b60405180910390f35b610311600480360381019061030c9190612d2c565b611b4f565b60405161031e9190612d9b565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190612db6565b611d76565b005b34801561035c57600080fd5b506103776004803603810190610372919061258b565b611df1565b60405161038996959493929190612e47565b60405180910390f35b34801561039e57600080fd5b506103b960048036038101906103b49190612791565b61205b565b6040516103c69190612776565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f1919061258b565b612175565b6040516104039190612ebd565b60405180910390f35b60606000806001600085815260200190815260200160002060000160016000868152602001908152602001600020600101546001600087815260200190815260200160002060020154828054806020026020016040519081016040528092919081815260200182805480156104a057602002820191906000526020600020905b81548152602001906001019080831161048c575b505050505092509250925092509193909250565b600060011515600660019054906101000a900460ff1615151461050c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050390612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105735750610572336040516020016105559190612f71565b60405160208183030381529060405280519060200120600161205b565b5b6105b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a990612ffe565b60405180910390fd5b836001600086815260200190815260200160002060020154036106fd5760006001600086815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561063157602002820191906000526020600020905b81548152602001906001019080831161061d575b5050505050905060005b81518110156106b95760008282815181106106595761065861301e565b5b602002602001015190508581036106a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069c906130bf565b60405180910390fd5b5080806106b19061310e565b91505061063b565b506001600086815260200190815260200160002060000184908060018154018082558091505060019003906000526020600020016000909190919091505550610768565b8360016000868152602001908152602001600020600201819055506040518060200160405280848152506001600086815260200190815260200160002060000190600161074b929190612397565b508160016000868152602001908152602001600020600101819055505b600260008481526020019081526020016000208490806001815401808255809150506001900390600052602060002001600090919091909150558183857f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a4600190509392505050565b600060011515600660019054906101000a900460ff16151514610834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082b90612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061089b575061089a3360405160200161087d9190612f71565b60405160208183030381529060405280519060200120600361205b565b5b6108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d1906131c8565b60405180910390fd5b60006004600084815260200190815260200160002060000154905060008103610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f9061325a565b60405180910390fd5b600080600560008481526020019081526020016000208054905090505b8460056000858152602001908152602001600020838154811061097b5761097a61301e565b5b9060005260206000200154146109a15781806109969061310e565b925050808210610955575b600560008481526020019081526020016000206001826109c1919061327a565b815481106109d2576109d161301e565b5b9060005260206000200154600560008581526020019081526020016000208381548110610a0257610a0161301e565b5b906000526020600020018190555060056000848152602001908152602001600020805480610a3357610a326132ae565b5b600190038181906000526020600020016000905590556004600086815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683867f3cf57863a89432c61c4a27073c6ee39e8a764bff5a05aebfbcdcdc80b2e6130a600460008a815260200190815260200160002060010154600460008b8152602001908152602001600020600301600460008c8152602001908152602001600020600401600460008d8152602001908152602001600020600501604051610b22949392919061346f565b60405180910390a46004600086815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000610b8591906123e4565b600482016000610b9591906123e4565b600582016000610ba59190612424565b505060019350505050919050565b600060011515600660019054906101000a900460ff16151514610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c725750610c7133604051602001610c549190612f71565b60405160208183030381529060405280519060200120600161205b565b5b610cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca890612ffe565b60405180910390fd5b82600160008581526020019081526020016000206002015414610d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d009061353b565b60405180910390fd5b600060016000858152602001908152602001600020600001805480602002602001604051908101604052809291908181526020018280548015610d6b57602002820191906000526020600020905b815481526020019060010190808311610d57575b5050505050905060005b83828281518110610d8957610d8861301e565b5b602002602001015114610dec578080610da19061310e565b91505081518103610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde906135cd565b60405180910390fd5b610d75565b8160018351610dfb919061327a565b81518110610e0c57610e0b61301e565b5b6020026020010151828281518110610e2757610e2661301e565b5b60200260200101818152505081600160008781526020019081526020016000206000019080519060200190610e5d929190612464565b5060016000868152602001908152602001600020600001805480610e8457610e836132ae565b5b60019003818190600052602060002001600090559055600080600260008781526020019081526020016000208054905090505b86600260008881526020019081526020016000208381548110610edd57610edc61301e565b5b906000526020600020015414610f03578180610ef89061310e565b925050808210610eb7575b60026000878152602001908152602001600020600182610f23919061327a565b81548110610f3457610f3361301e565b5b9060005260206000200154600260008881526020019081526020016000208381548110610f6457610f6361301e565b5b906000526020600020018190555060026000878152602001908152602001600020805480610f9557610f946132ae565b5b60019003818190600052602060002001600090559055600060016000898152602001908152602001600020600101549050600060018651610fd6919061327a565b03611012576001600089815260200190815260200160002060008082016000610fff91906124b1565b6001820160009055600282016000905550505b8087897f585a4aef50f8267a92b32412b331b20f7f8b96f2245b253b9cc50dcc621d339760405160405180910390a460019550505050505092915050565b60606040518060400160405280600581526020017f322e302e31000000000000000000000000000000000000000000000000000000815250905090565b600060011515600660019054906101000a900460ff161515146110e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dc90612f51565b60405180910390fd5b6000548310611129576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111209061365f565b60405180910390fd5b6003600084815260200190815260200160002060030160019054906101000a900460ff161561118d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611184906136cb565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff166003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361126b576112273360405160200161120a9190612f71565b60405160208183030381529060405280519060200120600161205b565b611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125d9061375d565b60405180910390fd5b6112dc565b61129c3360405160200161127f9190612f71565b60405160208183030381529060405280519060200120600261205b565b6112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906137c9565b60405180910390fd5b5b827fb3932da477fe5d6c8ff2eafef050c0f3a1af18fc07121001482600f36f3715d88360405161130c9190612776565b60405180910390a260011515821515036115c75760016003600085815260200190815260200160002060030160006101000a81548160ff0219169083151502179055506003600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166003600085815260200190815260200160002060010154600360008681526020019081526020016000206002016040516113d69190613877565b60006040518083038185875af1925050503d8060008114611413576040519150601f19603f3d011682016040523d82523d6000602084013e611418565b606091505b505080915050801561150d5760016003600085815260200190815260200160002060030160016101000a81548160ff02191690831515021790555060036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847f1f920dbda597d7bf95035464170fa58d0a4b57f13a1c315ace6793b9f63688b8600360008881526020019081526020016000206002016040516114fc919061388e565b60405180910390a4600190506115fb565b60036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847fe10c49d9f7c71da23262367013434763cfdb2332267641728d25cd712c5c6a68600360008881526020019081526020016000206002016040516115b6919061388e565b60405180910390a4600090506115fb565b60006003600085815260200190815260200160002060030160006101000a81548160ff021916908315150217905550600090505b92915050565b60606005600083815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561166057602002820191906000526020600020905b81548152602001906001019080831161164c575b50505050509050919050565b6060600260008381526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156116cb57602002820191906000526020600020905b8154815260200190600101908083116116b7575b50505050509050919050565b600060011515600660019054906101000a900460ff1615151461172f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172690612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806117965750611795336040516020016117789190612f71565b60405160208183030381529060405280519060200120600361205b565b5b6117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc906131c8565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146118c8578473ffffffffffffffffffffffffffffffffffffffff1663c0969a6e308987876040518563ffffffff1660e01b8152600401611847949392919061390f565b602060405180830381865afa158015611864573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118889190613977565b6118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be906139f0565b60405180910390fd5b5b600085886040516020016118dd929190613a10565b6040516020818303038152906040528051906020012090508760046000838152602001908152602001600020600001819055508660046000838152602001908152602001600020600101819055508460046000838152602001908152602001600020600301908161194e9190613bc6565b50836004600083815260200190815260200160002060040190816119729190613bc6565b50826004600083815260200190815260200160002060050190816119969190613cde565b508573ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aea5760056000898152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055856004600083815260200190815260200160002060020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff1688827f46149b18aa084502c3f12bc75e19eda8bda8d102b82cce8474677a6d0d5f43c58a898989604051611add9493929190613db0565b60405180910390a4611b41565b8573ffffffffffffffffffffffffffffffffffffffff1688827f3bab293fc00db832d7619a9299914251b8747c036867ec056cbd506f60135b138a898989604051611b389493929190613db0565b60405180910390a45b809150509695505050505050565b600060011515600660019054906101000a900460ff16151514611ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9e90612f51565b60405180910390fd5b600080549050846003600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360008381526020019081526020016000206001018190555082600360008381526020019081526020016000206002019081611c409190613bc6565b50600080815480929190611c539061310e565b9190505550838573ffffffffffffffffffffffffffffffffffffffff16827f8afcfabcb00e47a53a8fc3e9f23ff47ee1926194bb1350dd007c50b412a6cee886604051611ca09190613e0a565b60405180910390a4611cd933604051602001611cbc9190612f71565b60405160208183030381529060405280519060200120600161205b565b15611cef57611ce981600161108d565b50611d6b565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611d585750611d5733604051602001611d3a9190612f71565b60405160208183030381529060405280519060200120600261205b565b5b15611d6a57611d6881600161108d565b505b5b809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddc90613e78565b60405180910390fd5b611dee816121e3565b50565b6000806000606080606060046000888152602001908152602001600020600001546004600089815260200190815260200160002060010154600460008a815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460008b8152602001908152602001600020600301600460008c8152602001908152602001600020600401600460008d8152602001908152602001600020600501828054611eae9061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611eda9061330c565b8015611f275780601f10611efc57610100808354040283529160200191611f27565b820191906000526020600020905b815481529060010190602001808311611f0a57829003601f168201915b50505050509250818054611f3a9061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611f669061330c565b8015611fb35780601f10611f8857610100808354040283529160200191611fb3565b820191906000526020600020905b815481529060010190602001808311611f9657829003601f168201915b50505050509150808054611fc69061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611ff29061330c565b801561203f5780601f106120145761010080835404028352916020019161203f565b820191906000526020600020905b81548152906001019060200180831161202257829003601f168201915b5050505050905095509550955095509550955091939550919395565b60008060016000858152602001908152602001600020604051806060016040529081600082018054806020026020016040519081016040528092919081815260200182805480156120cb57602002820191906000526020600020905b8154815260200190600101908083116120b7575b505050505081526020016001820154815260200160028201548152505090506000801b81604001510361210257600091505061216f565b60005b8160000151518110156121685760008260000151828151811061212b5761212a61301e565b5b60200260200101519050600181148061214357508481145b15612154576001935050505061216f565b5080806121609061310e565b915050612105565b5060009150505b92915050565b6060600160008381526020019081526020016000206000018054806020026020016040519081016040528092919081815260200182805480156121d757602002820191906000526020600020905b8154815260200190600101908083116121c3575b50505050509050919050565b600660009054906101000a900460ff1615806122035750612202612380565b5b612242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223990613ee4565b60405180910390fd5b6001600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff02191690831515021790555060008160405160200161228b9190612f71565b6040516020818303038152906040528051906020012090508060016000838152602001908152602001600020600201819055506040518060200160405280600160ff16815250600160008381526020019081526020016000206000019060016122f59291906124d2565b506001806000838152602001908152602001600020600101819055506002600060018152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055600180827f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a45050565b6000803090506000813b9050600081149250505090565b8280548282559060005260206000209081019282156123d3579160200282015b828111156123d25782518255916020019190600101906123b7565b5b5090506123e09190612524565b5090565b5080546123f09061330c565b6000825580601f106124025750612421565b601f0160209004906000526020600020908101906124209190612524565b5b50565b5080546124309061330c565b6000825580601f106124425750612461565b601f0160209004906000526020600020908101906124609190612524565b5b50565b8280548282559060005260206000209081019282156124a0579160200282015b8281111561249f578251825591602001919060010190612484565b5b5090506124ad9190612524565b5090565b50805460008255906000526020600020908101906124cf9190612524565b50565b828054828255906000526020600020908101928215612513579160200282015b82811115612512578251829060ff169055916020019190600101906124f2565b5b5090506125209190612524565b5090565b5b8082111561253d576000816000905550600101612525565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61256881612555565b811461257357600080fd5b50565b6000813590506125858161255f565b92915050565b6000602082840312156125a1576125a061254b565b5b60006125af84828501612576565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b6125f7816125e4565b82525050565b600061260983836125ee565b60208301905092915050565b6000602082019050919050565b600061262d826125b8565b61263781856125c3565b9350612642836125d4565b8060005b8381101561267357815161265a88826125fd565b975061266583612615565b925050600181019050612646565b5085935050505092915050565b612689816125e4565b82525050565b61269881612555565b82525050565b600060608201905081810360008301526126b88186612622565b90506126c76020830185612680565b6126d4604083018461268f565b949350505050565b6126e5816125e4565b81146126f057600080fd5b50565b600081359050612702816126dc565b92915050565b6000806000606084860312156127215761272061254b565b5b600061272f86828701612576565b9350506020612740868287016126f3565b9250506040612751868287016126f3565b9150509250925092565b60008115159050919050565b6127708161275b565b82525050565b600060208201905061278b6000830184612767565b92915050565b600080604083850312156127a8576127a761254b565b5b60006127b685828601612576565b92505060206127c7858286016126f3565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561280b5780820151818401526020810190506127f0565b60008484015250505050565b6000601f19601f8301169050919050565b6000612833826127d1565b61283d81856127dc565b935061284d8185602086016127ed565b61285681612817565b840191505092915050565b6000602082019050818103600083015261287b8184612828565b905092915050565b61288c8161275b565b811461289757600080fd5b50565b6000813590506128a981612883565b92915050565b600080604083850312156128c6576128c561254b565b5b60006128d4858286016126f3565b92505060206128e58582860161289a565b9150509250929050565b6000602082840312156129055761290461254b565b5b6000612913848285016126f3565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61295181612555565b82525050565b60006129638383612948565b60208301905092915050565b6000602082019050919050565b60006129878261291c565b6129918185612927565b935061299c83612938565b8060005b838110156129cd5781516129b48882612957565b97506129bf8361296f565b9250506001810190506129a0565b5085935050505092915050565b600060208201905081810360008301526129f4818461297c565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a27826129fc565b9050919050565b612a3781612a1c565b8114612a4257600080fd5b50565b600081359050612a5481612a2e565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a9c82612817565b810181811067ffffffffffffffff82111715612abb57612aba612a64565b5b80604052505050565b6000612ace612541565b9050612ada8282612a93565b919050565b600067ffffffffffffffff821115612afa57612af9612a64565b5b612b0382612817565b9050602081019050919050565b82818337600083830152505050565b6000612b32612b2d84612adf565b612ac4565b905082815260208101848484011115612b4e57612b4d612a5f565b5b612b59848285612b10565b509392505050565b600082601f830112612b7657612b75612a5a565b5b8135612b86848260208601612b1f565b91505092915050565b600067ffffffffffffffff821115612baa57612ba9612a64565b5b612bb382612817565b9050602081019050919050565b6000612bd3612bce84612b8f565b612ac4565b905082815260208101848484011115612bef57612bee612a5f565b5b612bfa848285612b10565b509392505050565b600082601f830112612c1757612c16612a5a565b5b8135612c27848260208601612bc0565b91505092915050565b60008060008060008060c08789031215612c4d57612c4c61254b565b5b6000612c5b89828a016126f3565b9650506020612c6c89828a016126f3565b9550506040612c7d89828a01612a45565b945050606087013567ffffffffffffffff811115612c9e57612c9d612550565b5b612caa89828a01612b61565b935050608087013567ffffffffffffffff811115612ccb57612cca612550565b5b612cd789828a01612b61565b92505060a087013567ffffffffffffffff811115612cf857612cf7612550565b5b612d0489828a01612c02565b9150509295509295509295565b6000602082019050612d26600083018461268f565b92915050565b600080600060608486031215612d4557612d4461254b565b5b6000612d5386828701612a45565b9350506020612d64868287016126f3565b925050604084013567ffffffffffffffff811115612d8557612d84612550565b5b612d9186828701612b61565b9150509250925092565b6000602082019050612db06000830184612680565b92915050565b600060208284031215612dcc57612dcb61254b565b5b6000612dda84828501612a45565b91505092915050565b612dec81612a1c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000612e1982612df2565b612e238185612dfd565b9350612e338185602086016127ed565b612e3c81612817565b840191505092915050565b600060c082019050612e5c6000830189612680565b612e696020830188612680565b612e766040830187612de3565b8181036060830152612e888186612e0e565b90508181036080830152612e9c8185612e0e565b905081810360a0830152612eb08184612828565b9050979650505050505050565b60006020820190508181036000830152612ed78184612622565b905092915050565b7f496e746572616374696e67207769746820746865206c69627261727920636f6e60008201527f747261637420697320666f7262696464656e2e00000000000000000000000000602082015250565b6000612f3b6033836127dc565b9150612f4682612edf565b604082019050919050565b60006020820190508181036000830152612f6a81612f2e565b9050919050565b6000602082019050612f866000830184612de3565b92915050565b7f5065726d697373696f6e733a2053656e64657220646f6573206e6f742068617660008201527f65206d616e6167656d656e74206b657900000000000000000000000000000000602082015250565b6000612fe86030836127dc565b9150612ff382612f8c565b604082019050919050565b6000602082019050818103600083015261301781612fdb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f436f6e666c6963743a204b657920616c72656164792068617320707572706f7360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b60006130a96021836127dc565b91506130b48261304d565b604082019050919050565b600060208201905081810360008301526130d88161309c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613119826125e4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361314b5761314a6130df565b5b600182019050919050565b7f5065726d697373696f6e733a2053656e64657220646f6573206e6f742068617660008201527f6520636c61696d207369676e6572206b65790000000000000000000000000000602082015250565b60006131b26032836127dc565b91506131bd82613156565b604082019050919050565b600060208201905081810360008301526131e1816131a5565b9050919050565b7f4e6f6e4578697374696e673a205468657265206973206e6f20636c61696d207760008201527f6974682074686973204944000000000000000000000000000000000000000000602082015250565b6000613244602b836127dc565b915061324f826131e8565b604082019050919050565b6000602082019050818103600083015261327381613237565b9050919050565b6000613285826125e4565b9150613290836125e4565b92508282039050818111156132a8576132a76130df565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061332457607f821691505b602082108103613337576133366132dd565b5b50919050565b60008190508160005260206000209050919050565b6000815461335f8161330c565b6133698186612dfd565b94506001821660008114613384576001811461339a576133cd565b60ff1983168652811515602002860193506133cd565b6133a38561333d565b60005b838110156133c5578154818901526001820191506020810190506133a6565b808801955050505b50505092915050565b60008190508160005260206000209050919050565b600081546133f88161330c565b61340281866127dc565b9450600182166000811461341d576001811461343357613466565b60ff198316865281151560200286019350613466565b61343c856133d6565b60005b8381101561345e5781548189015260018201915060208101905061343f565b808801955050505b50505092915050565b60006080820190506134846000830187612680565b81810360208301526134968186613352565b905081810360408301526134aa8185613352565b905081810360608301526134be81846133eb565b905095945050505050565b7f4e6f6e4578697374696e673a204b65792069736e27742072656769737465726560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006135256021836127dc565b9150613530826134c9565b604082019050919050565b6000602082019050818103600083015261355481613518565b9050919050565b7f4e6f6e4578697374696e673a204b657920646f65736e2774206861766520737560008201527f636820707572706f736500000000000000000000000000000000000000000000602082015250565b60006135b7602a836127dc565b91506135c28261355b565b604082019050919050565b600060208201905081810360008301526135e6816135aa565b9050919050565b7f43616e6e6f7420617070726f76652061206e6f6e2d6578697374696e6720657860008201527f65637574696f6e00000000000000000000000000000000000000000000000000602082015250565b60006136496027836127dc565b9150613654826135ed565b604082019050919050565b600060208201905081810360008301526136788161363c565b9050919050565b7f5265717565737420616c72656164792065786563757465640000000000000000600082015250565b60006136b56018836127dc565b91506136c08261367f565b602082019050919050565b600060208201905081810360008301526136e4816136a8565b9050919050565b7f53656e64657220646f6573206e6f742068617665206d616e6167656d656e742060008201527f6b65790000000000000000000000000000000000000000000000000000000000602082015250565b60006137476023836127dc565b9150613752826136eb565b604082019050919050565b600060208201905081810360008301526137768161373a565b9050919050565b7f53656e64657220646f6573206e6f74206861766520616374696f6e206b657900600082015250565b60006137b3601f836127dc565b91506137be8261377d565b602082019050919050565b600060208201905081810360008301526137e2816137a6565b9050919050565b600081905092915050565b600081546138018161330c565b61380b81866137e9565b94506001821660008114613826576001811461383b5761386e565b60ff198316865281151582028601935061386e565b6138448561333d565b60005b8381101561386657815481890152600182019150602081019050613847565b838801955050505b50505092915050565b600061388382846137f4565b915081905092915050565b600060208201905081810360008301526138a88184613352565b905092915050565b6000819050919050565b60006138d56138d06138cb846129fc565b6138b0565b6129fc565b9050919050565b60006138e7826138ba565b9050919050565b60006138f9826138dc565b9050919050565b613909816138ee565b82525050565b60006080820190506139246000830187613900565b6139316020830186612680565b81810360408301526139438185612e0e565b905081810360608301526139578184612e0e565b905095945050505050565b60008151905061397181612883565b92915050565b60006020828403121561398d5761398c61254b565b5b600061399b84828501613962565b91505092915050565b7f696e76616c696420636c61696d00000000000000000000000000000000000000600082015250565b60006139da600d836127dc565b91506139e5826139a4565b602082019050919050565b60006020820190508181036000830152613a09816139cd565b9050919050565b6000604082019050613a256000830185612de3565b613a326020830184612680565b9392505050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613a867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613a49565b613a908683613a49565b95508019841693508086168417925050509392505050565b6000613ac3613abe613ab9846125e4565b6138b0565b6125e4565b9050919050565b6000819050919050565b613add83613aa8565b613af1613ae982613aca565b848454613a56565b825550505050565b600090565b613b06613af9565b613b11818484613ad4565b505050565b5b81811015613b3557613b2a600082613afe565b600181019050613b17565b5050565b601f821115613b7a57613b4b8161333d565b613b5484613a39565b81016020851015613b63578190505b613b77613b6f85613a39565b830182613b16565b50505b505050565b600082821c905092915050565b6000613b9d60001984600802613b7f565b1980831691505092915050565b6000613bb68383613b8c565b9150826002028217905092915050565b613bcf82612df2565b67ffffffffffffffff811115613be857613be7612a64565b5b613bf2825461330c565b613bfd828285613b39565b600060209050601f831160018114613c305760008415613c1e578287015190505b613c288582613baa565b865550613c90565b601f198416613c3e8661333d565b60005b82811015613c6657848901518255600182019150602085019450602081019050613c41565b86831015613c835784890151613c7f601f891682613b8c565b8355505b6001600288020188555050505b505050505050565b601f821115613cd957613caa816133d6565b613cb384613a39565b81016020851015613cc2578190505b613cd6613cce85613a39565b830182613b16565b50505b505050565b613ce7826127d1565b67ffffffffffffffff811115613d0057613cff612a64565b5b613d0a825461330c565b613d15828285613c98565b600060209050601f831160018114613d485760008415613d36578287015190505b613d408582613baa565b865550613da8565b601f198416613d56866133d6565b60005b82811015613d7e57848901518255600182019150602085019450602081019050613d59565b86831015613d9b5784890151613d97601f891682613b8c565b8355505b6001600288020188555050505b505050505050565b6000608082019050613dc56000830187612680565b8181036020830152613dd78186612e0e565b90508181036040830152613deb8185612e0e565b90508181036060830152613dff8184612828565b905095945050505050565b60006020820190508181036000830152613e248184612e0e565b905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b6000613e62601f836127dc565b9150613e6d82613e2c565b602082019050919050565b60006020820190508181036000830152613e9181613e55565b9050919050565b7f496e697469616c206b65792077617320616c72656164792073657475702e0000600082015250565b6000613ece601e836127dc565b9150613ed982613e98565b602082019050919050565b60006020820190508181036000830152613efd81613ec1565b905091905056fea26469706673582212208e649d2565e2ec64f4b8b0fdb2760c7c6245f634a157c09972d5578559211a4264736f6c63430008110033000000000000000000000000d48afe45cdc100ddf4a1ceb086e8ba99e8ed9eef0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": null, + "transactionIndex": "0x30", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x823e57014dc5a7c913a00c8d3de58c83d2b002295c85185ffa3df7141fa71b4c", + "s": "0x7567b51f77c730c78429c35d1bfa25ff3ff9169fbd98c468dc2a0a5c33db3ef8" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc10109c9bdc0f18e358c2d3828a707ec9a29c9ca", + "gas": "0x4c4b40", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59eb1a3e", + "hash": "0x4055979f74b04ae7deea827cb5a5cf6063d4ea2afb6e7579aec43a0aaf819ed6", + "input": "0x60806040526000600660006101000a81548160ff0219169083151502179055506000600660016101000a81548160ff0219169083151502179055503480156200004757600080fd5b50604051620044b5380380620044b583398181016040528101906200006d919062000401565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620000df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000d690620004a9565b60405180910390fd5b80620000fc57620000f6826200012060201b60201c565b62000118565b6001600660006101000a81548160ff0219169083151502179055505b50506200056b565b600660009054906101000a900460ff16158062000149575062000148620002cd60201b60201c565b5b6200018b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000182906200051b565b60405180910390fd5b6001600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff021916908315150217905550600081604051602001620001d691906200054e565b6040516020818303038152906040528051906020012090508060016000838152602001908152602001600020600201819055506040518060200160405280600160ff168152506001600083815260200190815260200160002060000190600162000242929190620002e4565b506001806000838152602001908152602001600020600101819055506002600060018152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055600180827f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a45050565b6000803090506000813b9050600081149250505090565b82805482825590600052602060002090810192821562000328579160200282015b8281111562000327578251829060ff1690559160200191906001019062000305565b5b5090506200033791906200033b565b5090565b5b80821115620003565760008160009055506001016200033c565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200038c826200035f565b9050919050565b6200039e816200037f565b8114620003aa57600080fd5b50565b600081519050620003be8162000393565b92915050565b60008115159050919050565b620003db81620003c4565b8114620003e757600080fd5b50565b600081519050620003fb81620003d0565b92915050565b600080604083850312156200041b576200041a6200035a565b5b60006200042b85828601620003ad565b92505060206200043e85828601620003ea565b9150509250929050565b600082825260208201905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b600062000491601f8362000448565b91506200049e8262000459565b602082019050919050565b60006020820190508181036000830152620004c48162000482565b9050919050565b7f496e697469616c206b65792077617320616c72656164792073657475702e0000600082015250565b600062000503601e8362000448565b91506200051082620004cb565b602082019050919050565b600060208201905081810360008301526200053681620004f4565b9050919050565b62000548816200037f565b82525050565b60006020820190506200056560008301846200053d565b92915050565b613f3a806200057b6000396000f3fe6080604052600436106100dd5760003560e01c80639010f7261161007f578063c4d66de811610059578063c4d66de814610327578063c9100bcb14610350578063d202158d14610392578063fb307b34146103cf576100dd565b80639010f7261461027d578063b1a34e0d146102ba578063b61d27f6146102f7576100dd565b806353d413c5116100bb57806353d413c51461019b57806354fd4d50146101d8578063747442d31461020357806380e9e9e114610240576100dd565b806312aaac70146100e25780631d381240146101215780634eee424a1461015e575b600080fd5b3480156100ee57600080fd5b506101096004803603810190610104919061258b565b61040c565b6040516101189392919061269e565b60405180910390f35b34801561012d57600080fd5b5061014860048036038101906101439190612708565b6104b4565b6040516101559190612776565b60405180910390f35b34801561016a57600080fd5b506101856004803603810190610180919061258b565b6107dc565b6040516101929190612776565b60405180910390f35b3480156101a757600080fd5b506101c260048036038101906101bd9190612791565b610bb3565b6040516101cf9190612776565b60405180910390f35b3480156101e457600080fd5b506101ed611050565b6040516101fa9190612861565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906128af565b61108d565b6040516102379190612776565b60405180910390f35b34801561024c57600080fd5b50610267600480360381019061026291906128ef565b611601565b60405161027491906129da565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f91906128ef565b61166c565b6040516102b191906129da565b60405180910390f35b3480156102c657600080fd5b506102e160048036038101906102dc9190612c30565b6116d7565b6040516102ee9190612d11565b60405180910390f35b610311600480360381019061030c9190612d2c565b611b4f565b60405161031e9190612d9b565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190612db6565b611d76565b005b34801561035c57600080fd5b506103776004803603810190610372919061258b565b611df1565b60405161038996959493929190612e47565b60405180910390f35b34801561039e57600080fd5b506103b960048036038101906103b49190612791565b61205b565b6040516103c69190612776565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f1919061258b565b612175565b6040516104039190612ebd565b60405180910390f35b60606000806001600085815260200190815260200160002060000160016000868152602001908152602001600020600101546001600087815260200190815260200160002060020154828054806020026020016040519081016040528092919081815260200182805480156104a057602002820191906000526020600020905b81548152602001906001019080831161048c575b505050505092509250925092509193909250565b600060011515600660019054906101000a900460ff1615151461050c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050390612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105735750610572336040516020016105559190612f71565b60405160208183030381529060405280519060200120600161205b565b5b6105b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a990612ffe565b60405180910390fd5b836001600086815260200190815260200160002060020154036106fd5760006001600086815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561063157602002820191906000526020600020905b81548152602001906001019080831161061d575b5050505050905060005b81518110156106b95760008282815181106106595761065861301e565b5b602002602001015190508581036106a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069c906130bf565b60405180910390fd5b5080806106b19061310e565b91505061063b565b506001600086815260200190815260200160002060000184908060018154018082558091505060019003906000526020600020016000909190919091505550610768565b8360016000868152602001908152602001600020600201819055506040518060200160405280848152506001600086815260200190815260200160002060000190600161074b929190612397565b508160016000868152602001908152602001600020600101819055505b600260008481526020019081526020016000208490806001815401808255809150506001900390600052602060002001600090919091909150558183857f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a4600190509392505050565b600060011515600660019054906101000a900460ff16151514610834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082b90612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061089b575061089a3360405160200161087d9190612f71565b60405160208183030381529060405280519060200120600361205b565b5b6108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d1906131c8565b60405180910390fd5b60006004600084815260200190815260200160002060000154905060008103610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f9061325a565b60405180910390fd5b600080600560008481526020019081526020016000208054905090505b8460056000858152602001908152602001600020838154811061097b5761097a61301e565b5b9060005260206000200154146109a15781806109969061310e565b925050808210610955575b600560008481526020019081526020016000206001826109c1919061327a565b815481106109d2576109d161301e565b5b9060005260206000200154600560008581526020019081526020016000208381548110610a0257610a0161301e565b5b906000526020600020018190555060056000848152602001908152602001600020805480610a3357610a326132ae565b5b600190038181906000526020600020016000905590556004600086815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683867f3cf57863a89432c61c4a27073c6ee39e8a764bff5a05aebfbcdcdc80b2e6130a600460008a815260200190815260200160002060010154600460008b8152602001908152602001600020600301600460008c8152602001908152602001600020600401600460008d8152602001908152602001600020600501604051610b22949392919061346f565b60405180910390a46004600086815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000610b8591906123e4565b600482016000610b9591906123e4565b600582016000610ba59190612424565b505060019350505050919050565b600060011515600660019054906101000a900460ff16151514610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c725750610c7133604051602001610c549190612f71565b60405160208183030381529060405280519060200120600161205b565b5b610cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca890612ffe565b60405180910390fd5b82600160008581526020019081526020016000206002015414610d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d009061353b565b60405180910390fd5b600060016000858152602001908152602001600020600001805480602002602001604051908101604052809291908181526020018280548015610d6b57602002820191906000526020600020905b815481526020019060010190808311610d57575b5050505050905060005b83828281518110610d8957610d8861301e565b5b602002602001015114610dec578080610da19061310e565b91505081518103610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde906135cd565b60405180910390fd5b610d75565b8160018351610dfb919061327a565b81518110610e0c57610e0b61301e565b5b6020026020010151828281518110610e2757610e2661301e565b5b60200260200101818152505081600160008781526020019081526020016000206000019080519060200190610e5d929190612464565b5060016000868152602001908152602001600020600001805480610e8457610e836132ae565b5b60019003818190600052602060002001600090559055600080600260008781526020019081526020016000208054905090505b86600260008881526020019081526020016000208381548110610edd57610edc61301e565b5b906000526020600020015414610f03578180610ef89061310e565b925050808210610eb7575b60026000878152602001908152602001600020600182610f23919061327a565b81548110610f3457610f3361301e565b5b9060005260206000200154600260008881526020019081526020016000208381548110610f6457610f6361301e565b5b906000526020600020018190555060026000878152602001908152602001600020805480610f9557610f946132ae565b5b60019003818190600052602060002001600090559055600060016000898152602001908152602001600020600101549050600060018651610fd6919061327a565b03611012576001600089815260200190815260200160002060008082016000610fff91906124b1565b6001820160009055600282016000905550505b8087897f585a4aef50f8267a92b32412b331b20f7f8b96f2245b253b9cc50dcc621d339760405160405180910390a460019550505050505092915050565b60606040518060400160405280600581526020017f322e302e31000000000000000000000000000000000000000000000000000000815250905090565b600060011515600660019054906101000a900460ff161515146110e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dc90612f51565b60405180910390fd5b6000548310611129576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111209061365f565b60405180910390fd5b6003600084815260200190815260200160002060030160019054906101000a900460ff161561118d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611184906136cb565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff166003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361126b576112273360405160200161120a9190612f71565b60405160208183030381529060405280519060200120600161205b565b611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125d9061375d565b60405180910390fd5b6112dc565b61129c3360405160200161127f9190612f71565b60405160208183030381529060405280519060200120600261205b565b6112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906137c9565b60405180910390fd5b5b827fb3932da477fe5d6c8ff2eafef050c0f3a1af18fc07121001482600f36f3715d88360405161130c9190612776565b60405180910390a260011515821515036115c75760016003600085815260200190815260200160002060030160006101000a81548160ff0219169083151502179055506003600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166003600085815260200190815260200160002060010154600360008681526020019081526020016000206002016040516113d69190613877565b60006040518083038185875af1925050503d8060008114611413576040519150601f19603f3d011682016040523d82523d6000602084013e611418565b606091505b505080915050801561150d5760016003600085815260200190815260200160002060030160016101000a81548160ff02191690831515021790555060036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847f1f920dbda597d7bf95035464170fa58d0a4b57f13a1c315ace6793b9f63688b8600360008881526020019081526020016000206002016040516114fc919061388e565b60405180910390a4600190506115fb565b60036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847fe10c49d9f7c71da23262367013434763cfdb2332267641728d25cd712c5c6a68600360008881526020019081526020016000206002016040516115b6919061388e565b60405180910390a4600090506115fb565b60006003600085815260200190815260200160002060030160006101000a81548160ff021916908315150217905550600090505b92915050565b60606005600083815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561166057602002820191906000526020600020905b81548152602001906001019080831161164c575b50505050509050919050565b6060600260008381526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156116cb57602002820191906000526020600020905b8154815260200190600101908083116116b7575b50505050509050919050565b600060011515600660019054906101000a900460ff1615151461172f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172690612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806117965750611795336040516020016117789190612f71565b60405160208183030381529060405280519060200120600361205b565b5b6117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc906131c8565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146118c8578473ffffffffffffffffffffffffffffffffffffffff1663c0969a6e308987876040518563ffffffff1660e01b8152600401611847949392919061390f565b602060405180830381865afa158015611864573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118889190613977565b6118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be906139f0565b60405180910390fd5b5b600085886040516020016118dd929190613a10565b6040516020818303038152906040528051906020012090508760046000838152602001908152602001600020600001819055508660046000838152602001908152602001600020600101819055508460046000838152602001908152602001600020600301908161194e9190613bc6565b50836004600083815260200190815260200160002060040190816119729190613bc6565b50826004600083815260200190815260200160002060050190816119969190613cde565b508573ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aea5760056000898152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055856004600083815260200190815260200160002060020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff1688827f46149b18aa084502c3f12bc75e19eda8bda8d102b82cce8474677a6d0d5f43c58a898989604051611add9493929190613db0565b60405180910390a4611b41565b8573ffffffffffffffffffffffffffffffffffffffff1688827f3bab293fc00db832d7619a9299914251b8747c036867ec056cbd506f60135b138a898989604051611b389493929190613db0565b60405180910390a45b809150509695505050505050565b600060011515600660019054906101000a900460ff16151514611ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9e90612f51565b60405180910390fd5b600080549050846003600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360008381526020019081526020016000206001018190555082600360008381526020019081526020016000206002019081611c409190613bc6565b50600080815480929190611c539061310e565b9190505550838573ffffffffffffffffffffffffffffffffffffffff16827f8afcfabcb00e47a53a8fc3e9f23ff47ee1926194bb1350dd007c50b412a6cee886604051611ca09190613e0a565b60405180910390a4611cd933604051602001611cbc9190612f71565b60405160208183030381529060405280519060200120600161205b565b15611cef57611ce981600161108d565b50611d6b565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611d585750611d5733604051602001611d3a9190612f71565b60405160208183030381529060405280519060200120600261205b565b5b15611d6a57611d6881600161108d565b505b5b809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddc90613e78565b60405180910390fd5b611dee816121e3565b50565b6000806000606080606060046000888152602001908152602001600020600001546004600089815260200190815260200160002060010154600460008a815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460008b8152602001908152602001600020600301600460008c8152602001908152602001600020600401600460008d8152602001908152602001600020600501828054611eae9061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611eda9061330c565b8015611f275780601f10611efc57610100808354040283529160200191611f27565b820191906000526020600020905b815481529060010190602001808311611f0a57829003601f168201915b50505050509250818054611f3a9061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611f669061330c565b8015611fb35780601f10611f8857610100808354040283529160200191611fb3565b820191906000526020600020905b815481529060010190602001808311611f9657829003601f168201915b50505050509150808054611fc69061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611ff29061330c565b801561203f5780601f106120145761010080835404028352916020019161203f565b820191906000526020600020905b81548152906001019060200180831161202257829003601f168201915b5050505050905095509550955095509550955091939550919395565b60008060016000858152602001908152602001600020604051806060016040529081600082018054806020026020016040519081016040528092919081815260200182805480156120cb57602002820191906000526020600020905b8154815260200190600101908083116120b7575b505050505081526020016001820154815260200160028201548152505090506000801b81604001510361210257600091505061216f565b60005b8160000151518110156121685760008260000151828151811061212b5761212a61301e565b5b60200260200101519050600181148061214357508481145b15612154576001935050505061216f565b5080806121609061310e565b915050612105565b5060009150505b92915050565b6060600160008381526020019081526020016000206000018054806020026020016040519081016040528092919081815260200182805480156121d757602002820191906000526020600020905b8154815260200190600101908083116121c3575b50505050509050919050565b600660009054906101000a900460ff1615806122035750612202612380565b5b612242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223990613ee4565b60405180910390fd5b6001600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff02191690831515021790555060008160405160200161228b9190612f71565b6040516020818303038152906040528051906020012090508060016000838152602001908152602001600020600201819055506040518060200160405280600160ff16815250600160008381526020019081526020016000206000019060016122f59291906124d2565b506001806000838152602001908152602001600020600101819055506002600060018152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055600180827f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a45050565b6000803090506000813b9050600081149250505090565b8280548282559060005260206000209081019282156123d3579160200282015b828111156123d25782518255916020019190600101906123b7565b5b5090506123e09190612524565b5090565b5080546123f09061330c565b6000825580601f106124025750612421565b601f0160209004906000526020600020908101906124209190612524565b5b50565b5080546124309061330c565b6000825580601f106124425750612461565b601f0160209004906000526020600020908101906124609190612524565b5b50565b8280548282559060005260206000209081019282156124a0579160200282015b8281111561249f578251825591602001919060010190612484565b5b5090506124ad9190612524565b5090565b50805460008255906000526020600020908101906124cf9190612524565b50565b828054828255906000526020600020908101928215612513579160200282015b82811115612512578251829060ff169055916020019190600101906124f2565b5b5090506125209190612524565b5090565b5b8082111561253d576000816000905550600101612525565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61256881612555565b811461257357600080fd5b50565b6000813590506125858161255f565b92915050565b6000602082840312156125a1576125a061254b565b5b60006125af84828501612576565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b6125f7816125e4565b82525050565b600061260983836125ee565b60208301905092915050565b6000602082019050919050565b600061262d826125b8565b61263781856125c3565b9350612642836125d4565b8060005b8381101561267357815161265a88826125fd565b975061266583612615565b925050600181019050612646565b5085935050505092915050565b612689816125e4565b82525050565b61269881612555565b82525050565b600060608201905081810360008301526126b88186612622565b90506126c76020830185612680565b6126d4604083018461268f565b949350505050565b6126e5816125e4565b81146126f057600080fd5b50565b600081359050612702816126dc565b92915050565b6000806000606084860312156127215761272061254b565b5b600061272f86828701612576565b9350506020612740868287016126f3565b9250506040612751868287016126f3565b9150509250925092565b60008115159050919050565b6127708161275b565b82525050565b600060208201905061278b6000830184612767565b92915050565b600080604083850312156127a8576127a761254b565b5b60006127b685828601612576565b92505060206127c7858286016126f3565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561280b5780820151818401526020810190506127f0565b60008484015250505050565b6000601f19601f8301169050919050565b6000612833826127d1565b61283d81856127dc565b935061284d8185602086016127ed565b61285681612817565b840191505092915050565b6000602082019050818103600083015261287b8184612828565b905092915050565b61288c8161275b565b811461289757600080fd5b50565b6000813590506128a981612883565b92915050565b600080604083850312156128c6576128c561254b565b5b60006128d4858286016126f3565b92505060206128e58582860161289a565b9150509250929050565b6000602082840312156129055761290461254b565b5b6000612913848285016126f3565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61295181612555565b82525050565b60006129638383612948565b60208301905092915050565b6000602082019050919050565b60006129878261291c565b6129918185612927565b935061299c83612938565b8060005b838110156129cd5781516129b48882612957565b97506129bf8361296f565b9250506001810190506129a0565b5085935050505092915050565b600060208201905081810360008301526129f4818461297c565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a27826129fc565b9050919050565b612a3781612a1c565b8114612a4257600080fd5b50565b600081359050612a5481612a2e565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a9c82612817565b810181811067ffffffffffffffff82111715612abb57612aba612a64565b5b80604052505050565b6000612ace612541565b9050612ada8282612a93565b919050565b600067ffffffffffffffff821115612afa57612af9612a64565b5b612b0382612817565b9050602081019050919050565b82818337600083830152505050565b6000612b32612b2d84612adf565b612ac4565b905082815260208101848484011115612b4e57612b4d612a5f565b5b612b59848285612b10565b509392505050565b600082601f830112612b7657612b75612a5a565b5b8135612b86848260208601612b1f565b91505092915050565b600067ffffffffffffffff821115612baa57612ba9612a64565b5b612bb382612817565b9050602081019050919050565b6000612bd3612bce84612b8f565b612ac4565b905082815260208101848484011115612bef57612bee612a5f565b5b612bfa848285612b10565b509392505050565b600082601f830112612c1757612c16612a5a565b5b8135612c27848260208601612bc0565b91505092915050565b60008060008060008060c08789031215612c4d57612c4c61254b565b5b6000612c5b89828a016126f3565b9650506020612c6c89828a016126f3565b9550506040612c7d89828a01612a45565b945050606087013567ffffffffffffffff811115612c9e57612c9d612550565b5b612caa89828a01612b61565b935050608087013567ffffffffffffffff811115612ccb57612cca612550565b5b612cd789828a01612b61565b92505060a087013567ffffffffffffffff811115612cf857612cf7612550565b5b612d0489828a01612c02565b9150509295509295509295565b6000602082019050612d26600083018461268f565b92915050565b600080600060608486031215612d4557612d4461254b565b5b6000612d5386828701612a45565b9350506020612d64868287016126f3565b925050604084013567ffffffffffffffff811115612d8557612d84612550565b5b612d9186828701612b61565b9150509250925092565b6000602082019050612db06000830184612680565b92915050565b600060208284031215612dcc57612dcb61254b565b5b6000612dda84828501612a45565b91505092915050565b612dec81612a1c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000612e1982612df2565b612e238185612dfd565b9350612e338185602086016127ed565b612e3c81612817565b840191505092915050565b600060c082019050612e5c6000830189612680565b612e696020830188612680565b612e766040830187612de3565b8181036060830152612e888186612e0e565b90508181036080830152612e9c8185612e0e565b905081810360a0830152612eb08184612828565b9050979650505050505050565b60006020820190508181036000830152612ed78184612622565b905092915050565b7f496e746572616374696e67207769746820746865206c69627261727920636f6e60008201527f747261637420697320666f7262696464656e2e00000000000000000000000000602082015250565b6000612f3b6033836127dc565b9150612f4682612edf565b604082019050919050565b60006020820190508181036000830152612f6a81612f2e565b9050919050565b6000602082019050612f866000830184612de3565b92915050565b7f5065726d697373696f6e733a2053656e64657220646f6573206e6f742068617660008201527f65206d616e6167656d656e74206b657900000000000000000000000000000000602082015250565b6000612fe86030836127dc565b9150612ff382612f8c565b604082019050919050565b6000602082019050818103600083015261301781612fdb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f436f6e666c6963743a204b657920616c72656164792068617320707572706f7360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b60006130a96021836127dc565b91506130b48261304d565b604082019050919050565b600060208201905081810360008301526130d88161309c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613119826125e4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361314b5761314a6130df565b5b600182019050919050565b7f5065726d697373696f6e733a2053656e64657220646f6573206e6f742068617660008201527f6520636c61696d207369676e6572206b65790000000000000000000000000000602082015250565b60006131b26032836127dc565b91506131bd82613156565b604082019050919050565b600060208201905081810360008301526131e1816131a5565b9050919050565b7f4e6f6e4578697374696e673a205468657265206973206e6f20636c61696d207760008201527f6974682074686973204944000000000000000000000000000000000000000000602082015250565b6000613244602b836127dc565b915061324f826131e8565b604082019050919050565b6000602082019050818103600083015261327381613237565b9050919050565b6000613285826125e4565b9150613290836125e4565b92508282039050818111156132a8576132a76130df565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061332457607f821691505b602082108103613337576133366132dd565b5b50919050565b60008190508160005260206000209050919050565b6000815461335f8161330c565b6133698186612dfd565b94506001821660008114613384576001811461339a576133cd565b60ff1983168652811515602002860193506133cd565b6133a38561333d565b60005b838110156133c5578154818901526001820191506020810190506133a6565b808801955050505b50505092915050565b60008190508160005260206000209050919050565b600081546133f88161330c565b61340281866127dc565b9450600182166000811461341d576001811461343357613466565b60ff198316865281151560200286019350613466565b61343c856133d6565b60005b8381101561345e5781548189015260018201915060208101905061343f565b808801955050505b50505092915050565b60006080820190506134846000830187612680565b81810360208301526134968186613352565b905081810360408301526134aa8185613352565b905081810360608301526134be81846133eb565b905095945050505050565b7f4e6f6e4578697374696e673a204b65792069736e27742072656769737465726560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006135256021836127dc565b9150613530826134c9565b604082019050919050565b6000602082019050818103600083015261355481613518565b9050919050565b7f4e6f6e4578697374696e673a204b657920646f65736e2774206861766520737560008201527f636820707572706f736500000000000000000000000000000000000000000000602082015250565b60006135b7602a836127dc565b91506135c28261355b565b604082019050919050565b600060208201905081810360008301526135e6816135aa565b9050919050565b7f43616e6e6f7420617070726f76652061206e6f6e2d6578697374696e6720657860008201527f65637574696f6e00000000000000000000000000000000000000000000000000602082015250565b60006136496027836127dc565b9150613654826135ed565b604082019050919050565b600060208201905081810360008301526136788161363c565b9050919050565b7f5265717565737420616c72656164792065786563757465640000000000000000600082015250565b60006136b56018836127dc565b91506136c08261367f565b602082019050919050565b600060208201905081810360008301526136e4816136a8565b9050919050565b7f53656e64657220646f6573206e6f742068617665206d616e6167656d656e742060008201527f6b65790000000000000000000000000000000000000000000000000000000000602082015250565b60006137476023836127dc565b9150613752826136eb565b604082019050919050565b600060208201905081810360008301526137768161373a565b9050919050565b7f53656e64657220646f6573206e6f74206861766520616374696f6e206b657900600082015250565b60006137b3601f836127dc565b91506137be8261377d565b602082019050919050565b600060208201905081810360008301526137e2816137a6565b9050919050565b600081905092915050565b600081546138018161330c565b61380b81866137e9565b94506001821660008114613826576001811461383b5761386e565b60ff198316865281151582028601935061386e565b6138448561333d565b60005b8381101561386657815481890152600182019150602081019050613847565b838801955050505b50505092915050565b600061388382846137f4565b915081905092915050565b600060208201905081810360008301526138a88184613352565b905092915050565b6000819050919050565b60006138d56138d06138cb846129fc565b6138b0565b6129fc565b9050919050565b60006138e7826138ba565b9050919050565b60006138f9826138dc565b9050919050565b613909816138ee565b82525050565b60006080820190506139246000830187613900565b6139316020830186612680565b81810360408301526139438185612e0e565b905081810360608301526139578184612e0e565b905095945050505050565b60008151905061397181612883565b92915050565b60006020828403121561398d5761398c61254b565b5b600061399b84828501613962565b91505092915050565b7f696e76616c696420636c61696d00000000000000000000000000000000000000600082015250565b60006139da600d836127dc565b91506139e5826139a4565b602082019050919050565b60006020820190508181036000830152613a09816139cd565b9050919050565b6000604082019050613a256000830185612de3565b613a326020830184612680565b9392505050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613a867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613a49565b613a908683613a49565b95508019841693508086168417925050509392505050565b6000613ac3613abe613ab9846125e4565b6138b0565b6125e4565b9050919050565b6000819050919050565b613add83613aa8565b613af1613ae982613aca565b848454613a56565b825550505050565b600090565b613b06613af9565b613b11818484613ad4565b505050565b5b81811015613b3557613b2a600082613afe565b600181019050613b17565b5050565b601f821115613b7a57613b4b8161333d565b613b5484613a39565b81016020851015613b63578190505b613b77613b6f85613a39565b830182613b16565b50505b505050565b600082821c905092915050565b6000613b9d60001984600802613b7f565b1980831691505092915050565b6000613bb68383613b8c565b9150826002028217905092915050565b613bcf82612df2565b67ffffffffffffffff811115613be857613be7612a64565b5b613bf2825461330c565b613bfd828285613b39565b600060209050601f831160018114613c305760008415613c1e578287015190505b613c288582613baa565b865550613c90565b601f198416613c3e8661333d565b60005b82811015613c6657848901518255600182019150602085019450602081019050613c41565b86831015613c835784890151613c7f601f891682613b8c565b8355505b6001600288020188555050505b505050505050565b601f821115613cd957613caa816133d6565b613cb384613a39565b81016020851015613cc2578190505b613cd6613cce85613a39565b830182613b16565b50505b505050565b613ce7826127d1565b67ffffffffffffffff811115613d0057613cff612a64565b5b613d0a825461330c565b613d15828285613c98565b600060209050601f831160018114613d485760008415613d36578287015190505b613d408582613baa565b865550613da8565b601f198416613d56866133d6565b60005b82811015613d7e57848901518255600182019150602085019450602081019050613d59565b86831015613d9b5784890151613d97601f891682613b8c565b8355505b6001600288020188555050505b505050505050565b6000608082019050613dc56000830187612680565b8181036020830152613dd78186612e0e565b90508181036040830152613deb8185612e0e565b90508181036060830152613dff8184612828565b905095945050505050565b60006020820190508181036000830152613e248184612e0e565b905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b6000613e62601f836127dc565b9150613e6d82613e2c565b602082019050919050565b60006020820190508181036000830152613e9181613e55565b9050919050565b7f496e697469616c206b65792077617320616c72656164792073657475702e0000600082015250565b6000613ece601e836127dc565b9150613ed982613e98565b602082019050919050565b60006020820190508181036000830152613efd81613ec1565b905091905056fea26469706673582212208e649d2565e2ec64f4b8b0fdb2760c7c6245f634a157c09972d5578559211a4264736f6c63430008110033000000000000000000000000c10109c9bdc0f18e358c2d3828a707ec9a29c9ca0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": null, + "transactionIndex": "0x31", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x4580dbb8e55b25cb87d0566808689d30c358b6dd3c2c7ea01d2808a9bdabd65", + "s": "0x3dd154730f83b0e615a2528b3d007140d6dfebe1b575fa53a927c160e62c8db" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xbe482be46c132cc00c01f72b8df67d02bdc19227", + "gas": "0x4c4b40", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59eb1a3e", + "hash": "0x32007f12e91eee7491d3f5e68668ecf540008b8a70998b8100e7fd7f9d683dba", + "input": "0x60806040526000600660006101000a81548160ff0219169083151502179055506000600660016101000a81548160ff0219169083151502179055503480156200004757600080fd5b50604051620044b5380380620044b583398181016040528101906200006d919062000401565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620000df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000d690620004a9565b60405180910390fd5b80620000fc57620000f6826200012060201b60201c565b62000118565b6001600660006101000a81548160ff0219169083151502179055505b50506200056b565b600660009054906101000a900460ff16158062000149575062000148620002cd60201b60201c565b5b6200018b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000182906200051b565b60405180910390fd5b6001600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff021916908315150217905550600081604051602001620001d691906200054e565b6040516020818303038152906040528051906020012090508060016000838152602001908152602001600020600201819055506040518060200160405280600160ff168152506001600083815260200190815260200160002060000190600162000242929190620002e4565b506001806000838152602001908152602001600020600101819055506002600060018152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055600180827f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a45050565b6000803090506000813b9050600081149250505090565b82805482825590600052602060002090810192821562000328579160200282015b8281111562000327578251829060ff1690559160200191906001019062000305565b5b5090506200033791906200033b565b5090565b5b80821115620003565760008160009055506001016200033c565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200038c826200035f565b9050919050565b6200039e816200037f565b8114620003aa57600080fd5b50565b600081519050620003be8162000393565b92915050565b60008115159050919050565b620003db81620003c4565b8114620003e757600080fd5b50565b600081519050620003fb81620003d0565b92915050565b600080604083850312156200041b576200041a6200035a565b5b60006200042b85828601620003ad565b92505060206200043e85828601620003ea565b9150509250929050565b600082825260208201905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b600062000491601f8362000448565b91506200049e8262000459565b602082019050919050565b60006020820190508181036000830152620004c48162000482565b9050919050565b7f496e697469616c206b65792077617320616c72656164792073657475702e0000600082015250565b600062000503601e8362000448565b91506200051082620004cb565b602082019050919050565b600060208201905081810360008301526200053681620004f4565b9050919050565b62000548816200037f565b82525050565b60006020820190506200056560008301846200053d565b92915050565b613f3a806200057b6000396000f3fe6080604052600436106100dd5760003560e01c80639010f7261161007f578063c4d66de811610059578063c4d66de814610327578063c9100bcb14610350578063d202158d14610392578063fb307b34146103cf576100dd565b80639010f7261461027d578063b1a34e0d146102ba578063b61d27f6146102f7576100dd565b806353d413c5116100bb57806353d413c51461019b57806354fd4d50146101d8578063747442d31461020357806380e9e9e114610240576100dd565b806312aaac70146100e25780631d381240146101215780634eee424a1461015e575b600080fd5b3480156100ee57600080fd5b506101096004803603810190610104919061258b565b61040c565b6040516101189392919061269e565b60405180910390f35b34801561012d57600080fd5b5061014860048036038101906101439190612708565b6104b4565b6040516101559190612776565b60405180910390f35b34801561016a57600080fd5b506101856004803603810190610180919061258b565b6107dc565b6040516101929190612776565b60405180910390f35b3480156101a757600080fd5b506101c260048036038101906101bd9190612791565b610bb3565b6040516101cf9190612776565b60405180910390f35b3480156101e457600080fd5b506101ed611050565b6040516101fa9190612861565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906128af565b61108d565b6040516102379190612776565b60405180910390f35b34801561024c57600080fd5b50610267600480360381019061026291906128ef565b611601565b60405161027491906129da565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f91906128ef565b61166c565b6040516102b191906129da565b60405180910390f35b3480156102c657600080fd5b506102e160048036038101906102dc9190612c30565b6116d7565b6040516102ee9190612d11565b60405180910390f35b610311600480360381019061030c9190612d2c565b611b4f565b60405161031e9190612d9b565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190612db6565b611d76565b005b34801561035c57600080fd5b506103776004803603810190610372919061258b565b611df1565b60405161038996959493929190612e47565b60405180910390f35b34801561039e57600080fd5b506103b960048036038101906103b49190612791565b61205b565b6040516103c69190612776565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f1919061258b565b612175565b6040516104039190612ebd565b60405180910390f35b60606000806001600085815260200190815260200160002060000160016000868152602001908152602001600020600101546001600087815260200190815260200160002060020154828054806020026020016040519081016040528092919081815260200182805480156104a057602002820191906000526020600020905b81548152602001906001019080831161048c575b505050505092509250925092509193909250565b600060011515600660019054906101000a900460ff1615151461050c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050390612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105735750610572336040516020016105559190612f71565b60405160208183030381529060405280519060200120600161205b565b5b6105b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a990612ffe565b60405180910390fd5b836001600086815260200190815260200160002060020154036106fd5760006001600086815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561063157602002820191906000526020600020905b81548152602001906001019080831161061d575b5050505050905060005b81518110156106b95760008282815181106106595761065861301e565b5b602002602001015190508581036106a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069c906130bf565b60405180910390fd5b5080806106b19061310e565b91505061063b565b506001600086815260200190815260200160002060000184908060018154018082558091505060019003906000526020600020016000909190919091505550610768565b8360016000868152602001908152602001600020600201819055506040518060200160405280848152506001600086815260200190815260200160002060000190600161074b929190612397565b508160016000868152602001908152602001600020600101819055505b600260008481526020019081526020016000208490806001815401808255809150506001900390600052602060002001600090919091909150558183857f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a4600190509392505050565b600060011515600660019054906101000a900460ff16151514610834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082b90612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061089b575061089a3360405160200161087d9190612f71565b60405160208183030381529060405280519060200120600361205b565b5b6108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d1906131c8565b60405180910390fd5b60006004600084815260200190815260200160002060000154905060008103610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f9061325a565b60405180910390fd5b600080600560008481526020019081526020016000208054905090505b8460056000858152602001908152602001600020838154811061097b5761097a61301e565b5b9060005260206000200154146109a15781806109969061310e565b925050808210610955575b600560008481526020019081526020016000206001826109c1919061327a565b815481106109d2576109d161301e565b5b9060005260206000200154600560008581526020019081526020016000208381548110610a0257610a0161301e565b5b906000526020600020018190555060056000848152602001908152602001600020805480610a3357610a326132ae565b5b600190038181906000526020600020016000905590556004600086815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683867f3cf57863a89432c61c4a27073c6ee39e8a764bff5a05aebfbcdcdc80b2e6130a600460008a815260200190815260200160002060010154600460008b8152602001908152602001600020600301600460008c8152602001908152602001600020600401600460008d8152602001908152602001600020600501604051610b22949392919061346f565b60405180910390a46004600086815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000610b8591906123e4565b600482016000610b9591906123e4565b600582016000610ba59190612424565b505060019350505050919050565b600060011515600660019054906101000a900460ff16151514610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c725750610c7133604051602001610c549190612f71565b60405160208183030381529060405280519060200120600161205b565b5b610cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca890612ffe565b60405180910390fd5b82600160008581526020019081526020016000206002015414610d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d009061353b565b60405180910390fd5b600060016000858152602001908152602001600020600001805480602002602001604051908101604052809291908181526020018280548015610d6b57602002820191906000526020600020905b815481526020019060010190808311610d57575b5050505050905060005b83828281518110610d8957610d8861301e565b5b602002602001015114610dec578080610da19061310e565b91505081518103610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde906135cd565b60405180910390fd5b610d75565b8160018351610dfb919061327a565b81518110610e0c57610e0b61301e565b5b6020026020010151828281518110610e2757610e2661301e565b5b60200260200101818152505081600160008781526020019081526020016000206000019080519060200190610e5d929190612464565b5060016000868152602001908152602001600020600001805480610e8457610e836132ae565b5b60019003818190600052602060002001600090559055600080600260008781526020019081526020016000208054905090505b86600260008881526020019081526020016000208381548110610edd57610edc61301e565b5b906000526020600020015414610f03578180610ef89061310e565b925050808210610eb7575b60026000878152602001908152602001600020600182610f23919061327a565b81548110610f3457610f3361301e565b5b9060005260206000200154600260008881526020019081526020016000208381548110610f6457610f6361301e565b5b906000526020600020018190555060026000878152602001908152602001600020805480610f9557610f946132ae565b5b60019003818190600052602060002001600090559055600060016000898152602001908152602001600020600101549050600060018651610fd6919061327a565b03611012576001600089815260200190815260200160002060008082016000610fff91906124b1565b6001820160009055600282016000905550505b8087897f585a4aef50f8267a92b32412b331b20f7f8b96f2245b253b9cc50dcc621d339760405160405180910390a460019550505050505092915050565b60606040518060400160405280600581526020017f322e302e31000000000000000000000000000000000000000000000000000000815250905090565b600060011515600660019054906101000a900460ff161515146110e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dc90612f51565b60405180910390fd5b6000548310611129576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111209061365f565b60405180910390fd5b6003600084815260200190815260200160002060030160019054906101000a900460ff161561118d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611184906136cb565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff166003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361126b576112273360405160200161120a9190612f71565b60405160208183030381529060405280519060200120600161205b565b611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125d9061375d565b60405180910390fd5b6112dc565b61129c3360405160200161127f9190612f71565b60405160208183030381529060405280519060200120600261205b565b6112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906137c9565b60405180910390fd5b5b827fb3932da477fe5d6c8ff2eafef050c0f3a1af18fc07121001482600f36f3715d88360405161130c9190612776565b60405180910390a260011515821515036115c75760016003600085815260200190815260200160002060030160006101000a81548160ff0219169083151502179055506003600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166003600085815260200190815260200160002060010154600360008681526020019081526020016000206002016040516113d69190613877565b60006040518083038185875af1925050503d8060008114611413576040519150601f19603f3d011682016040523d82523d6000602084013e611418565b606091505b505080915050801561150d5760016003600085815260200190815260200160002060030160016101000a81548160ff02191690831515021790555060036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847f1f920dbda597d7bf95035464170fa58d0a4b57f13a1c315ace6793b9f63688b8600360008881526020019081526020016000206002016040516114fc919061388e565b60405180910390a4600190506115fb565b60036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847fe10c49d9f7c71da23262367013434763cfdb2332267641728d25cd712c5c6a68600360008881526020019081526020016000206002016040516115b6919061388e565b60405180910390a4600090506115fb565b60006003600085815260200190815260200160002060030160006101000a81548160ff021916908315150217905550600090505b92915050565b60606005600083815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561166057602002820191906000526020600020905b81548152602001906001019080831161164c575b50505050509050919050565b6060600260008381526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156116cb57602002820191906000526020600020905b8154815260200190600101908083116116b7575b50505050509050919050565b600060011515600660019054906101000a900460ff1615151461172f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172690612f51565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806117965750611795336040516020016117789190612f71565b60405160208183030381529060405280519060200120600361205b565b5b6117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc906131c8565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146118c8578473ffffffffffffffffffffffffffffffffffffffff1663c0969a6e308987876040518563ffffffff1660e01b8152600401611847949392919061390f565b602060405180830381865afa158015611864573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118889190613977565b6118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be906139f0565b60405180910390fd5b5b600085886040516020016118dd929190613a10565b6040516020818303038152906040528051906020012090508760046000838152602001908152602001600020600001819055508660046000838152602001908152602001600020600101819055508460046000838152602001908152602001600020600301908161194e9190613bc6565b50836004600083815260200190815260200160002060040190816119729190613bc6565b50826004600083815260200190815260200160002060050190816119969190613cde565b508573ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aea5760056000898152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055856004600083815260200190815260200160002060020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff1688827f46149b18aa084502c3f12bc75e19eda8bda8d102b82cce8474677a6d0d5f43c58a898989604051611add9493929190613db0565b60405180910390a4611b41565b8573ffffffffffffffffffffffffffffffffffffffff1688827f3bab293fc00db832d7619a9299914251b8747c036867ec056cbd506f60135b138a898989604051611b389493929190613db0565b60405180910390a45b809150509695505050505050565b600060011515600660019054906101000a900460ff16151514611ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9e90612f51565b60405180910390fd5b600080549050846003600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360008381526020019081526020016000206001018190555082600360008381526020019081526020016000206002019081611c409190613bc6565b50600080815480929190611c539061310e565b9190505550838573ffffffffffffffffffffffffffffffffffffffff16827f8afcfabcb00e47a53a8fc3e9f23ff47ee1926194bb1350dd007c50b412a6cee886604051611ca09190613e0a565b60405180910390a4611cd933604051602001611cbc9190612f71565b60405160208183030381529060405280519060200120600161205b565b15611cef57611ce981600161108d565b50611d6b565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611d585750611d5733604051602001611d3a9190612f71565b60405160208183030381529060405280519060200120600261205b565b5b15611d6a57611d6881600161108d565b505b5b809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddc90613e78565b60405180910390fd5b611dee816121e3565b50565b6000806000606080606060046000888152602001908152602001600020600001546004600089815260200190815260200160002060010154600460008a815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460008b8152602001908152602001600020600301600460008c8152602001908152602001600020600401600460008d8152602001908152602001600020600501828054611eae9061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611eda9061330c565b8015611f275780601f10611efc57610100808354040283529160200191611f27565b820191906000526020600020905b815481529060010190602001808311611f0a57829003601f168201915b50505050509250818054611f3a9061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611f669061330c565b8015611fb35780601f10611f8857610100808354040283529160200191611fb3565b820191906000526020600020905b815481529060010190602001808311611f9657829003601f168201915b50505050509150808054611fc69061330c565b80601f0160208091040260200160405190810160405280929190818152602001828054611ff29061330c565b801561203f5780601f106120145761010080835404028352916020019161203f565b820191906000526020600020905b81548152906001019060200180831161202257829003601f168201915b5050505050905095509550955095509550955091939550919395565b60008060016000858152602001908152602001600020604051806060016040529081600082018054806020026020016040519081016040528092919081815260200182805480156120cb57602002820191906000526020600020905b8154815260200190600101908083116120b7575b505050505081526020016001820154815260200160028201548152505090506000801b81604001510361210257600091505061216f565b60005b8160000151518110156121685760008260000151828151811061212b5761212a61301e565b5b60200260200101519050600181148061214357508481145b15612154576001935050505061216f565b5080806121609061310e565b915050612105565b5060009150505b92915050565b6060600160008381526020019081526020016000206000018054806020026020016040519081016040528092919081815260200182805480156121d757602002820191906000526020600020905b8154815260200190600101908083116121c3575b50505050509050919050565b600660009054906101000a900460ff1615806122035750612202612380565b5b612242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223990613ee4565b60405180910390fd5b6001600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff02191690831515021790555060008160405160200161228b9190612f71565b6040516020818303038152906040528051906020012090508060016000838152602001908152602001600020600201819055506040518060200160405280600160ff16815250600160008381526020019081526020016000206000019060016122f59291906124d2565b506001806000838152602001908152602001600020600101819055506002600060018152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055600180827f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a45050565b6000803090506000813b9050600081149250505090565b8280548282559060005260206000209081019282156123d3579160200282015b828111156123d25782518255916020019190600101906123b7565b5b5090506123e09190612524565b5090565b5080546123f09061330c565b6000825580601f106124025750612421565b601f0160209004906000526020600020908101906124209190612524565b5b50565b5080546124309061330c565b6000825580601f106124425750612461565b601f0160209004906000526020600020908101906124609190612524565b5b50565b8280548282559060005260206000209081019282156124a0579160200282015b8281111561249f578251825591602001919060010190612484565b5b5090506124ad9190612524565b5090565b50805460008255906000526020600020908101906124cf9190612524565b50565b828054828255906000526020600020908101928215612513579160200282015b82811115612512578251829060ff169055916020019190600101906124f2565b5b5090506125209190612524565b5090565b5b8082111561253d576000816000905550600101612525565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61256881612555565b811461257357600080fd5b50565b6000813590506125858161255f565b92915050565b6000602082840312156125a1576125a061254b565b5b60006125af84828501612576565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b6125f7816125e4565b82525050565b600061260983836125ee565b60208301905092915050565b6000602082019050919050565b600061262d826125b8565b61263781856125c3565b9350612642836125d4565b8060005b8381101561267357815161265a88826125fd565b975061266583612615565b925050600181019050612646565b5085935050505092915050565b612689816125e4565b82525050565b61269881612555565b82525050565b600060608201905081810360008301526126b88186612622565b90506126c76020830185612680565b6126d4604083018461268f565b949350505050565b6126e5816125e4565b81146126f057600080fd5b50565b600081359050612702816126dc565b92915050565b6000806000606084860312156127215761272061254b565b5b600061272f86828701612576565b9350506020612740868287016126f3565b9250506040612751868287016126f3565b9150509250925092565b60008115159050919050565b6127708161275b565b82525050565b600060208201905061278b6000830184612767565b92915050565b600080604083850312156127a8576127a761254b565b5b60006127b685828601612576565b92505060206127c7858286016126f3565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561280b5780820151818401526020810190506127f0565b60008484015250505050565b6000601f19601f8301169050919050565b6000612833826127d1565b61283d81856127dc565b935061284d8185602086016127ed565b61285681612817565b840191505092915050565b6000602082019050818103600083015261287b8184612828565b905092915050565b61288c8161275b565b811461289757600080fd5b50565b6000813590506128a981612883565b92915050565b600080604083850312156128c6576128c561254b565b5b60006128d4858286016126f3565b92505060206128e58582860161289a565b9150509250929050565b6000602082840312156129055761290461254b565b5b6000612913848285016126f3565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61295181612555565b82525050565b60006129638383612948565b60208301905092915050565b6000602082019050919050565b60006129878261291c565b6129918185612927565b935061299c83612938565b8060005b838110156129cd5781516129b48882612957565b97506129bf8361296f565b9250506001810190506129a0565b5085935050505092915050565b600060208201905081810360008301526129f4818461297c565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a27826129fc565b9050919050565b612a3781612a1c565b8114612a4257600080fd5b50565b600081359050612a5481612a2e565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a9c82612817565b810181811067ffffffffffffffff82111715612abb57612aba612a64565b5b80604052505050565b6000612ace612541565b9050612ada8282612a93565b919050565b600067ffffffffffffffff821115612afa57612af9612a64565b5b612b0382612817565b9050602081019050919050565b82818337600083830152505050565b6000612b32612b2d84612adf565b612ac4565b905082815260208101848484011115612b4e57612b4d612a5f565b5b612b59848285612b10565b509392505050565b600082601f830112612b7657612b75612a5a565b5b8135612b86848260208601612b1f565b91505092915050565b600067ffffffffffffffff821115612baa57612ba9612a64565b5b612bb382612817565b9050602081019050919050565b6000612bd3612bce84612b8f565b612ac4565b905082815260208101848484011115612bef57612bee612a5f565b5b612bfa848285612b10565b509392505050565b600082601f830112612c1757612c16612a5a565b5b8135612c27848260208601612bc0565b91505092915050565b60008060008060008060c08789031215612c4d57612c4c61254b565b5b6000612c5b89828a016126f3565b9650506020612c6c89828a016126f3565b9550506040612c7d89828a01612a45565b945050606087013567ffffffffffffffff811115612c9e57612c9d612550565b5b612caa89828a01612b61565b935050608087013567ffffffffffffffff811115612ccb57612cca612550565b5b612cd789828a01612b61565b92505060a087013567ffffffffffffffff811115612cf857612cf7612550565b5b612d0489828a01612c02565b9150509295509295509295565b6000602082019050612d26600083018461268f565b92915050565b600080600060608486031215612d4557612d4461254b565b5b6000612d5386828701612a45565b9350506020612d64868287016126f3565b925050604084013567ffffffffffffffff811115612d8557612d84612550565b5b612d9186828701612b61565b9150509250925092565b6000602082019050612db06000830184612680565b92915050565b600060208284031215612dcc57612dcb61254b565b5b6000612dda84828501612a45565b91505092915050565b612dec81612a1c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000612e1982612df2565b612e238185612dfd565b9350612e338185602086016127ed565b612e3c81612817565b840191505092915050565b600060c082019050612e5c6000830189612680565b612e696020830188612680565b612e766040830187612de3565b8181036060830152612e888186612e0e565b90508181036080830152612e9c8185612e0e565b905081810360a0830152612eb08184612828565b9050979650505050505050565b60006020820190508181036000830152612ed78184612622565b905092915050565b7f496e746572616374696e67207769746820746865206c69627261727920636f6e60008201527f747261637420697320666f7262696464656e2e00000000000000000000000000602082015250565b6000612f3b6033836127dc565b9150612f4682612edf565b604082019050919050565b60006020820190508181036000830152612f6a81612f2e565b9050919050565b6000602082019050612f866000830184612de3565b92915050565b7f5065726d697373696f6e733a2053656e64657220646f6573206e6f742068617660008201527f65206d616e6167656d656e74206b657900000000000000000000000000000000602082015250565b6000612fe86030836127dc565b9150612ff382612f8c565b604082019050919050565b6000602082019050818103600083015261301781612fdb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f436f6e666c6963743a204b657920616c72656164792068617320707572706f7360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b60006130a96021836127dc565b91506130b48261304d565b604082019050919050565b600060208201905081810360008301526130d88161309c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613119826125e4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361314b5761314a6130df565b5b600182019050919050565b7f5065726d697373696f6e733a2053656e64657220646f6573206e6f742068617660008201527f6520636c61696d207369676e6572206b65790000000000000000000000000000602082015250565b60006131b26032836127dc565b91506131bd82613156565b604082019050919050565b600060208201905081810360008301526131e1816131a5565b9050919050565b7f4e6f6e4578697374696e673a205468657265206973206e6f20636c61696d207760008201527f6974682074686973204944000000000000000000000000000000000000000000602082015250565b6000613244602b836127dc565b915061324f826131e8565b604082019050919050565b6000602082019050818103600083015261327381613237565b9050919050565b6000613285826125e4565b9150613290836125e4565b92508282039050818111156132a8576132a76130df565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061332457607f821691505b602082108103613337576133366132dd565b5b50919050565b60008190508160005260206000209050919050565b6000815461335f8161330c565b6133698186612dfd565b94506001821660008114613384576001811461339a576133cd565b60ff1983168652811515602002860193506133cd565b6133a38561333d565b60005b838110156133c5578154818901526001820191506020810190506133a6565b808801955050505b50505092915050565b60008190508160005260206000209050919050565b600081546133f88161330c565b61340281866127dc565b9450600182166000811461341d576001811461343357613466565b60ff198316865281151560200286019350613466565b61343c856133d6565b60005b8381101561345e5781548189015260018201915060208101905061343f565b808801955050505b50505092915050565b60006080820190506134846000830187612680565b81810360208301526134968186613352565b905081810360408301526134aa8185613352565b905081810360608301526134be81846133eb565b905095945050505050565b7f4e6f6e4578697374696e673a204b65792069736e27742072656769737465726560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006135256021836127dc565b9150613530826134c9565b604082019050919050565b6000602082019050818103600083015261355481613518565b9050919050565b7f4e6f6e4578697374696e673a204b657920646f65736e2774206861766520737560008201527f636820707572706f736500000000000000000000000000000000000000000000602082015250565b60006135b7602a836127dc565b91506135c28261355b565b604082019050919050565b600060208201905081810360008301526135e6816135aa565b9050919050565b7f43616e6e6f7420617070726f76652061206e6f6e2d6578697374696e6720657860008201527f65637574696f6e00000000000000000000000000000000000000000000000000602082015250565b60006136496027836127dc565b9150613654826135ed565b604082019050919050565b600060208201905081810360008301526136788161363c565b9050919050565b7f5265717565737420616c72656164792065786563757465640000000000000000600082015250565b60006136b56018836127dc565b91506136c08261367f565b602082019050919050565b600060208201905081810360008301526136e4816136a8565b9050919050565b7f53656e64657220646f6573206e6f742068617665206d616e6167656d656e742060008201527f6b65790000000000000000000000000000000000000000000000000000000000602082015250565b60006137476023836127dc565b9150613752826136eb565b604082019050919050565b600060208201905081810360008301526137768161373a565b9050919050565b7f53656e64657220646f6573206e6f74206861766520616374696f6e206b657900600082015250565b60006137b3601f836127dc565b91506137be8261377d565b602082019050919050565b600060208201905081810360008301526137e2816137a6565b9050919050565b600081905092915050565b600081546138018161330c565b61380b81866137e9565b94506001821660008114613826576001811461383b5761386e565b60ff198316865281151582028601935061386e565b6138448561333d565b60005b8381101561386657815481890152600182019150602081019050613847565b838801955050505b50505092915050565b600061388382846137f4565b915081905092915050565b600060208201905081810360008301526138a88184613352565b905092915050565b6000819050919050565b60006138d56138d06138cb846129fc565b6138b0565b6129fc565b9050919050565b60006138e7826138ba565b9050919050565b60006138f9826138dc565b9050919050565b613909816138ee565b82525050565b60006080820190506139246000830187613900565b6139316020830186612680565b81810360408301526139438185612e0e565b905081810360608301526139578184612e0e565b905095945050505050565b60008151905061397181612883565b92915050565b60006020828403121561398d5761398c61254b565b5b600061399b84828501613962565b91505092915050565b7f696e76616c696420636c61696d00000000000000000000000000000000000000600082015250565b60006139da600d836127dc565b91506139e5826139a4565b602082019050919050565b60006020820190508181036000830152613a09816139cd565b9050919050565b6000604082019050613a256000830185612de3565b613a326020830184612680565b9392505050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613a867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613a49565b613a908683613a49565b95508019841693508086168417925050509392505050565b6000613ac3613abe613ab9846125e4565b6138b0565b6125e4565b9050919050565b6000819050919050565b613add83613aa8565b613af1613ae982613aca565b848454613a56565b825550505050565b600090565b613b06613af9565b613b11818484613ad4565b505050565b5b81811015613b3557613b2a600082613afe565b600181019050613b17565b5050565b601f821115613b7a57613b4b8161333d565b613b5484613a39565b81016020851015613b63578190505b613b77613b6f85613a39565b830182613b16565b50505b505050565b600082821c905092915050565b6000613b9d60001984600802613b7f565b1980831691505092915050565b6000613bb68383613b8c565b9150826002028217905092915050565b613bcf82612df2565b67ffffffffffffffff811115613be857613be7612a64565b5b613bf2825461330c565b613bfd828285613b39565b600060209050601f831160018114613c305760008415613c1e578287015190505b613c288582613baa565b865550613c90565b601f198416613c3e8661333d565b60005b82811015613c6657848901518255600182019150602085019450602081019050613c41565b86831015613c835784890151613c7f601f891682613b8c565b8355505b6001600288020188555050505b505050505050565b601f821115613cd957613caa816133d6565b613cb384613a39565b81016020851015613cc2578190505b613cd6613cce85613a39565b830182613b16565b50505b505050565b613ce7826127d1565b67ffffffffffffffff811115613d0057613cff612a64565b5b613d0a825461330c565b613d15828285613c98565b600060209050601f831160018114613d485760008415613d36578287015190505b613d408582613baa565b865550613da8565b601f198416613d56866133d6565b60005b82811015613d7e57848901518255600182019150602085019450602081019050613d59565b86831015613d9b5784890151613d97601f891682613b8c565b8355505b6001600288020188555050505b505050505050565b6000608082019050613dc56000830187612680565b8181036020830152613dd78186612e0e565b90508181036040830152613deb8185612e0e565b90508181036060830152613dff8184612828565b905095945050505050565b60006020820190508181036000830152613e248184612e0e565b905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b6000613e62601f836127dc565b9150613e6d82613e2c565b602082019050919050565b60006020820190508181036000830152613e9181613e55565b9050919050565b7f496e697469616c206b65792077617320616c72656164792073657475702e0000600082015250565b6000613ece601e836127dc565b9150613ed982613e98565b602082019050919050565b60006020820190508181036000830152613efd81613ec1565b905091905056fea26469706673582212208e649d2565e2ec64f4b8b0fdb2760c7c6245f634a157c09972d5578559211a4264736f6c63430008110033000000000000000000000000be482be46c132cc00c01f72b8df67d02bdc192270000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": null, + "transactionIndex": "0x32", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x8e444226eba2fcbb1c2fc6e5fd273f6b08f549b39ecf9b119fe618acafcde944", + "s": "0x4011cd8f9a2eba3c045a36b103adbb302b9d6f966aaa7d32076fd13d655fe6c7" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x5cbd5063ddae154c546860e2a4d2c16e2e1c786c", + "gas": "0x1762c", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59eb1a3e", + "hash": "0x1de4b30546037789aeef73a457d15326d6a43ec8ca043d85f51f3d20b478840c", + "input": "0x2a7768c40000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073f8e1b3901e6f4e0eaf79e32b0ccf36626f340c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x53c3", + "to": "0xc983fd6abcb94cf974186a656a6b5509031772eb", + "transactionIndex": "0x33", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x12e9479176d6c63f65504945080e9542527741182b5c793f643387b814ec91ed", + "s": "0x34240fb7b829958eecaaf3abcbf82c09bafb272a62d6e777791d83729680dc31" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xb39384e1b7b0300faef6d252819d9595f2e7f70b", + "gas": "0x40a9c", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x8fde9063", + "hash": "0x337f5561db6025588ecf9170c30109c80441ebe8e0aff0a69cebe57337d14fb5", + "input": "0xa9059cbb000000000000000000000000abd743e54cb6abb272cc565ecbdf58a7fa7e3f2b000000000000000000000000000000000000000000000000004e14dfe2dfa000", + "nonce": "0x1557", + "to": "0xf0f618b75c6926a1fd2e1a433090a8b1c4526f2b", + "transactionIndex": "0x34", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x17e01ea8b48016502b93700e18398ffb676867911455bcab2bb79dd9223a31d", + "s": "0x33cab24489c0ee43348959c3d206db22d245b5c57339e07873789473eeebddff" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x86aade0de6a78c93df3edafa8cf9e56efaf12864", + "gas": "0xb4e7", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59c08dca", + "hash": "0xd7bdf4da3190cde5d9aeace91e58c821d0a9ea8fc6027c882e87e36796b6ba98", + "input": "0x095ea7b3000000000000000000000000db5492265f6038831e89f495670ff909ade94bd90000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0x9a9", + "to": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "transactionIndex": "0x35", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xa4a7779c28a80151c6c80f226c043041dd43e5b6d67553bb7d64f73def8db06d", + "s": "0x686ec0eb32cdeddb77d619cc5a43f7ee16498604e24fa61e96ce323d05c8a1d8" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x25e4c97905c4c0709683c3e6a624ecfb991c7852", + "gas": "0x1f3f5", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59b6bcd1", + "hash": "0xb4a63b3103cdd90b114017b52a5774573dad8e14f6012cfc5ad44f1ff6884c79", + "input": "0xc687851900000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000100010000000001006eab90c8094b77f709eb86630e885db61f6cade1834359984f1f474ca2ccf36f708cd3c21eb82d4c37755a847b527ea5e82660da5173c7f7fa1727496582d1510168889401000000002713000000000000000000000000c7a204bdbfe983fcd8d8e61d02b475d4073ff97e000000000000084901010000000000000000000000000000000000000000000000000000035a63d72717000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb7271200000000000000000000000025e4c97905c4c0709683c3e6a624ecfb991c785227120000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xc76", + "to": "0xdb5492265f6038831e89f495670ff909ade94bd9", + "transactionIndex": "0x36", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xa5bcca807c7fcb80ff578b4cdd857a7be5480e259366b17e2e4be631e5c3e674", + "s": "0x67ed27d3fc4ca8f8823d9df4b756be237f6561b962c5752d19762d6ac15a9b4c" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x16f3f2f0ba34973937a1ebb989a295ca106b67c7", + "gas": "0x465ea", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59b6bcd1", + "hash": "0xc073b645b06c4b122cb272984f9a4d9fa91b74879dbbc6c2ede05d4fefb0ccf5", + "input": "0xff0d7c2f0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018579b700d9af8c0d16d899bf5feb957f050fc06f54da9afe1d636663bb42a8efd32ba4b4d293d5100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000001416f3f2f0ba34973937a1ebb989a295ca106b67c7000000000000000000000000000000000000000000000000000000000000000000000000000000000000001416f3f2f0ba34973937a1ebb989a295ca106b67c70000000000000000000000000000000000000000000000000000000000000000000000000000000000000014779877a7b0d9e8603169ddbd7836e478b462478900000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c494e4b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f436861696e4c696e6b20546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000149eeb76a58a096d7ee093b90c455934851264877100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000d4db6158f5000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001416f3f2f0ba34973937a1ebb989a295ca106b67c7000000000000000000000000000000000000000000000000000000000000000000000000000000000000001416f3f2f0ba34973937a1ebb989a295ca106b67c70000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0x235", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0x37", + "value": "0xd4db6158f5", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x107e795733f1d54a66589e25b9e4dd8f4df226002c25c5528ecb79e5edb8f7db", + "s": "0x5e14cc98d4f55126ee7ebede9d128494c32178306263fdfbefe9d36bca395259" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x681da6574919f516992e66439d3b21ed1e3b97d0", + "gas": "0x5208", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59b6bcd1", + "hash": "0x6b28f672bb77418dac50a22f2153a16bc16c17b2c2991d52a9dac84c8bd2a7c8", + "input": "0x", + "nonce": "0x1", + "to": "0x338d52c4c754887ee93ec7c811b36dc47117cc56", + "transactionIndex": "0x38", + "value": "0x1bc16d674ec80000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x27f581a9c3d1fc4c5afae49a0fb70f54e781a38822c47b2f1d9b836c1df9e42f", + "s": "0x6f76f7efc65faedd1b968b304f2c950959f8586a77407554fc64e06c7308693a" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xfda4620822bfe159ab580ccbe983183fa590b509", + "gas": "0x1e8d6", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59c08dca", + "hash": "0x71138b022fe713d05192bfc01df8ebbd96aae488cd277d4557581d28634752be", + "input": "0x10fdec0e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f42d00000000000000000000000008ac68acbb4ba0e4d96f6d8314ac572e588de401c000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000068885550000000000000000000000000000000000000000000000000000000006c15265800000000000000000000000000000000000000000000000000000000386d5fa000000000000000000000000000000000000000000000000000000007915ee820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008bfe4a0d43575f6354df3358e36f224a2eda063400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000fda4620822bfe159ab580ccbe983183fa590b50900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000002710", + "nonce": "0x9b6", + "to": "0xf18b28ff7dfd94630089b899a4d8d74b2ee707f9", + "transactionIndex": "0x39", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xe545bcf194a032d3cf361471c19221a5c95304adcb8c78f42768019dda8f28df", + "s": "0x4e5dfbd0e2c01fa2acf139d0af0b199222f354f2edf2682e60b85caaeade93ba" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd20ccb1152a69a7f10657e2530def9ea4bf089fc", + "gas": "0x2b43a", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x8fd1cfb0", + "hash": "0x9f0d38d0a9168abfdac29792be57e2235a80678ed4a0c52aa3954b440db710d0", + "input": "0xa9059cbb000000000000000000000000d68edd9d1e9eb27cc29c1fec3db219ea0eec60f300000000000000000000000000000000000000000000000000233e2ffc2c005d", + "nonce": "0x53c0f", + "to": "0x810a3b22c91002155d305c4ce032978e3a97f8c4", + "transactionIndex": "0x3a", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x39d81289c6da671f8bafd94ab69e9cbbcb2c7d3d1066d3f57149b23787c5aaa1", + "s": "0x60f142f324c7b3bd0e73bea017e2d6d5b3d5e27ee6d8eb3624f9c3e3b78f6cd6" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xb39384e1b7b0300faef6d252819d9595f2e7f70b", + "gas": "0x40a9c", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x8fd1cfb0", + "hash": "0x79697b576861a0d6ef73a2356135e57a5894c14f89a160ee0db554ba55a52c15", + "input": "0xa9059cbb0000000000000000000000007680af89dacd9ea2a41872e744daf976cea89b8200000000000000000000000000000000000000000000000000508b2785b3f000", + "nonce": "0x1558", + "to": "0xf0f618b75c6926a1fd2e1a433090a8b1c4526f2b", + "transactionIndex": "0x3b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x87e2c6050052cdd212a3cff84965c46e35730748b72eb7529a3b2fe2d775d13a", + "s": "0x53cdc809b80329e935555f07fc8298903bbe53e53d01a77e10e62ea244682d9" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x36c31d150f9f268956096672fd2a453132226906", + "gas": "0x3a980", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0xd91dc3bd7634bb2ac06ecf8c0e1df80d35ebf07a91f3d27e8d3ce8d5fc70d89c", + "input": "0x38f467210000000000000000000000000000000000000000000000000000000000006bfe0000000000000000000000000000000000000000000000000000000000253d86", + "nonce": "0x7406", + "to": "0xf9fc524eb776523c799ea1e46a9d74beea0829b4", + "transactionIndex": "0x3c", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xc9165f1b604b738ebd429afda39ce5379e793ea3132eb395d7a84d6a5d94b37c", + "s": "0x40120fdef58eea247372eea340091a194f52538b749a27d1768c32829b1d41b4" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x1dc52637884dc1800b69d333da436c81c26188ca", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0xc584edd191eb0165d222f9a6eee26d105ea924e0e60410e332715442a79cf289", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0xbe045305de47fa4bc54ed78d53de5445ff932da5", + "transactionIndex": "0x3d", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x14ae2282ec4f24b9c958989b91cb7baa0bc2c9ff5d94b70242877d4b407f6588", + "s": "0x21294b7de67c8ba6063d3f234ff2f1a0e04f111de549e3038c2ca008d1b842f1" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x927dd04924386a6db5065a3243e8d158ec86e63d", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0xc8fa2c7926f7c555e59ce1a15f7db240dfaa8f7fd85f7fce9791beaa36515da7", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0xa046d00d334a86896b583cabff880e6a68a23faf", + "transactionIndex": "0x3e", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xe856f321ab6362d564d564b0e443ea7d992ccc6af1a69535b8d09b83e021cced", + "s": "0x436b2a258f136647196bf69fc6d6d87659625ded442b4a0038b490e77e27928" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc15a71c11f2a7dd9d5d0d217d2c6ef761c6dc57c", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0x46d40f090a7ba84c04f654657eb27a1c59e5e37f5f5ae26d8e874c1e54399a89", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0x52b6c6ddd27a3953ba012d8c7cdf3d852e5cf6e2", + "transactionIndex": "0x3f", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x13df6265482a5e0c4ee783f276cfd8d77dcbc5d3c13cdf12fc8234a9684a7f01", + "s": "0x123b5cc36cc06c1c6ad73c0d7084ecc240d7908523d1b13c58ee7d2161617f36" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x394f496052f441ef1376fa80dc54256d640b2602", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0xc841285c42de120632195a92dd2041a127b874fb71e1a6ff323bbe252cec9fe4", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0x965407693a5948463447e4adad28040ef1d912b9", + "transactionIndex": "0x40", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x14cac07f12aa9e3e300552fbaa97c18c3a5ce23a9ae18dcd2cca254e58ace5ee", + "s": "0x5124e7823a1f0f745cf35943520733b773e060164ec8a1a8c49a98047a534075" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x0e2ae1ed55f6ca1b743bbceb2369f13999dc9e59", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0xe268886b75d2fc8d100cad6a78f5fa62183df743052d6694c23a773120ace53b", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0xeb0b4d1ec6be3bdc68986c5f7f75dcca9973c414", + "transactionIndex": "0x41", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x5c6e3b32aac981f07b3a869bd99a08dba084511b35c0b5d30740e1910ebfb54e", + "s": "0x6ece82d44cf37c4707ab14404ee2061d3e32d7b7cd9a1f200c05cffc129524f6" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x456d114b50129121d80fe15c3410b359c003a9a8", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0xe59971671374a77d73d20313bcbf8b8b7a8c1cad91bbc6250cc9be398ce113b9", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0x371c8ee29606a488649875b6203f084536c06051", + "transactionIndex": "0x42", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xa12868ee7c44f402de7b17527fa4276ad04356879b66ff8f3cadf42b4baf9e58", + "s": "0x7af42cd48ce69a2333395455227ab3573e9a2118c98b0de2f2a507549deee078" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x8213f9c93dbb9c164de854abf278e82a7f3fa2e2", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0x70e471db4237abc6a6892c52bc4a875731770df8fb2065d0577c47d46953dec8", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0x7335e9d21c9fa6cbe1b712bb23da9a8d18902231", + "transactionIndex": "0x43", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x77e18bf031d53e9514f99b49ee1f2ece0285bc12c3e07d99f89fdb72bb3c2c5e", + "s": "0x1ededde91ff86acce7758606ec00a84a149396e44a88f1d6ae6914e34b799ab9" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xce6bea11333b159d243523d6221afad62a26cdb4", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0x5b9e4a4683c0ea5b2c85a64d7d76c4ccf0d1a9b36a677e9792ec8352aa881948", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0x3c0878f3bb884ad1bcb4a6bda4f3bc94af62c1a7", + "transactionIndex": "0x44", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x3fc5ec954dcc740695c7b886d5627654c7c90adc96d7a1128e18078a37f0374c", + "s": "0x60b5b2e33bfd361b060b91a3480da376afe34725d9d330d95f7ff5c60d62138f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xee6acf8325429f50c9e6d94001ccc4b50f38aaaa", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0x4ef9192ce6bb4c6ce9c6485e18b9836a452f962cf66f772dbca61ca261120a8a", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0xa7b24a4ab69ecd880a8669c66ce73e8503d5398e", + "transactionIndex": "0x45", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xdb2c498216ceffd0a70c62923f1a9bd1859543e77d0a29496e33f818c64942ff", + "s": "0x7c5ddb8571c8fb4255add1deb2320063a18ecc92fd77f97d0087a5821b89977f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x8fa43708225c7273b7f3953fb67fc3af4c3514c2", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0xdd77e4b668155f199ebd0f778291f898ef5b43c2688abd9349805829b3458624", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0xe0e121ea74053b9e124aa0ceaf8f98076e8052eb", + "transactionIndex": "0x46", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x8b4836c21cd646666a4ab167adacc7afd25b79a2144bc68cd0b1a6f4b8327d71", + "s": "0x547426a115cfbdea27331f807a288010297a46654253912ad2c9efdb4449cabe" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x2b82f82ebee71c1c076dfa1f45c985f8cec708ea", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0x70ab316dbb82628bf91922603e9a0941990c1007430c2a1931b7d9e94e591b1b", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0x716da007971486e1a8b7e8422dacb7130dd2617a", + "transactionIndex": "0x47", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x28cf3096b539a3290cfd58b42e0e80673767347059e39c1d6d965fdb260f0c8f", + "s": "0x775290ac10d13931da9ba2b94ed1b8dc5ce63d7c81a91eb6182f53d39128f706" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd20ccb1152a69a7f10657e2530def9ea4bf089fc", + "gas": "0x2b43a", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x8fd1cfb0", + "hash": "0xd03a902411896c0134c1b38abcc48a587c323141b40dc7637bcf8d4be1912e5c", + "input": "0xa9059cbb0000000000000000000000004eda44b75fd5551f24d1381b46794e2e4b493c3000000000000000000000000000000000000000000000000000305120c0f2005c", + "nonce": "0x53c10", + "to": "0x810a3b22c91002155d305c4ce032978e3a97f8c4", + "transactionIndex": "0x48", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x73379a4af310aa5a00d65e7834a54a21d47d2311603f536ca66710e17a2b6fe0", + "s": "0x322b8337fa3bab5199e41c373d46d5e144fc5271d432b1ef8b8aa484fd9c8acc" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x054561895ff3346a82ec2e3915771255704013eb", + "gas": "0x14988", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59b6bcd1", + "hash": "0xf16c70c29356abf0669140639b89710485e803d20bb355e4a685dd926ae73431", + "input": "0x095ea7b30000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb0300000000000000000000000000000000000000000000000000000000000186a0", + "nonce": "0xe8", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x49", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xd7c06a189cc3e87df5d3f9f5412eb95f13f5aa7330b28f0c61fc1df86110fddc", + "s": "0x178948770eea4a58a347c9d3d55ab2915d4098fd23c8b9decc36c73733d31af3" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x21bfa362f85b37fc3d608306292ee672d98984b4", + "gas": "0x14988", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59c08dca", + "hash": "0xb4bb6fbe9c8544df97423aa0c5be3bb11c35f3b6d3198d1695eb70f60a30b8e1", + "input": "0x095ea7b30000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb030000000000000000000000000000000000000000000000000000000000012dc5", + "nonce": "0x2ed", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionIndex": "0x4a", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x5840b75daa5de314f2f6dab72eb6142a2a3a9433d029c673252877a40e08bc5a", + "s": "0x1f4f7657b23251fa3cace395182edc65800c670614f6d2535bee1dccc749d889" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x7fd902253bb3d336284a39083fd640b5d4bd54b6", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0xa8a4584aa896d7c77e4ed89e5cb6240f2ea81f1f854858aa28a3b3e4a6324363", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0x09fc26f891fd3c819095c78bd7a0ee542d0b4085", + "transactionIndex": "0x4b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xfb30e746856ce59616f8a1f049c870440ac53514c2d60bd34b6ad2547aba1f1", + "s": "0x4fb93a97fa06ad82780f7f86e2304d7227cbf5cf8b4ae11277818b1696836c97" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x10c53b526cd6d0d779b8fb9ca3c6f087c23b6874", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0xc97ecec1a2bec2e85fd35f11e4c76858b162963b16a64f8c7ede0b70ea4b4e35", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0x3652afc4034caf5ce34a9d0cbfd82b72c8009f58", + "transactionIndex": "0x4c", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xf55f32fd60aa3c27f61e3e716c3ff3c76218f0e70d963ec7c07683049f27fb28", + "s": "0x370a0e85b64bfee48f6ae72d4d1e4a2918e9c99d4e55015f5995798c49346f92" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa218ab5a8bf5249816dcf51e31e94e0b970d822f", + "gas": "0x3bc6d", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59ae03be", + "hash": "0x8bb6016cb65eef11e18a09c623e9632f960e81e2e18747abf20a434fccf73d9e", + "input": "0xff0d7c2f0000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018579b65cc7020007d7a8b6455f4d117891680e15b8d9e8032848e3bef49fbc3201e85e799a0057300000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000d12f0c4c6000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000d12f0c4c60000000000000000000000000000000000000000000000000000000000000000014a218ab5a8bf5249816dcf51e31e94e0b970d822f000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31686e786c747433746d366d70396174333976326e6c77716d6879387639776e6b6d366d753373000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d73633967683463000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000e279d9b00000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014a218ab5a8bf5249816dcf51e31e94e0b970d822f000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31686e786c747433746d366d70396174333976326e6c77716d6879387639776e6b6d366d753373000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000", + "nonce": "0x7f", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0x4d", + "value": "0xd13d33e9fb00", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x664ae1b9c5fa1a41f6ec74fe29fef0ffe9f6f0e98bd81c25aaa86443c43ea437", + "s": "0x74ac74ffba27f8371c40cab469c014f5fc077e5a8c5c7d8d1906ee8c8ec11a12" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x8f73ef601994d756737508802fad745ed84ef652", + "gas": "0x7a120", + "gasPrice": "0x59ad537a", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59e321ce", + "hash": "0x0bd8902598702b29bf4e61c307f5729bc0960129359bdb1c3e3181e17558fbfe", + "input": "0x1d3812403e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "to": "0x11eadebda6e11755c1f0380a58cc70a06b3a13cb", + "transactionIndex": "0x4e", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x87fae4b7608fbd14ee5f4a5346d967832359476dfdf2e599e6aac868c2a48129", + "s": "0x318ddc5c115b0286f4308e100280ef2c1180b00c9a646ebfaab0dc71c570ab28" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x783aa71c19cf87135789affe309bc5cb01706cd8", + "gas": "0x25e5a", + "gasPrice": "0x59a9a49f", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59a9a49f", + "hash": "0xe0465ac5ed2dbe724313c96e95e6b9fcbb8e90326cf00164c9e160b2ed9dfff1", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856fe48b81d6000e397f322fb96f8571f943f526a50cf6c09fff1d4dd008fcc7b2746425c6d57d600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000ed7cbcd80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000ed7cbcd8000000000000000000000000000000000000000000000000000000000000000014783aa71c19cf87135789affe309bc5cb01706cd80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014783aa71c19cf87135789affe309bc5cb01706cd80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0x122", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0x4f", + "value": "0xed7cbcd800", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x375eb9f8b9db054b98063d8cd82a7e163e29f6f4c9057d073cecbe72eadeb6e8", + "s": "0x33f6c3ac6c53da6de912c0479b5df1f67b31bf68578ba61366f688eff3266eb0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc4b71eca716b97013015137b6b14c90a592d9617", + "gas": "0x25e4a", + "gasPrice": "0x59a9a49f", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59a9a49f", + "hash": "0x9492f35c546d039a363aa1e099d3ba2ab35cd3b06465500210bceaaf72ab9068", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856fe49ff96fb0077b40b1935a6c5d9e88e8562326f9068cae03bdb1888450f460657c72fdcd1a500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000014c4b71eca716b97013015137b6b14c90a592d96170000000000000000000000000000000000000000000000000000000000000000000000000000000000000014c4b71eca716b97013015137b6b14c90a592d96170000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0x1025", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0x50", + "value": "0x3b9aca00", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xb750909b4b41eddc9cdc49958312b3be459a9236b1229041633321b7cfda2d2d", + "s": "0x44708a1a2b9c6bbd4af2547545727dc87916d4bf67f61f17f88ab59f25aa0864" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xe99d91322df5628a6a15aca36a69c2b6e26ce328", + "gas": "0x25e85", + "gasPrice": "0x59a5a867", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59a5a867", + "hash": "0x9b67f64973ea56d23fbb33440f358c4c344c77f4cf8d502db3e76b2c710cd056", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856fe4a9437ee0070cd78ab746dcc034af8f3da645ff4539722f8b3043d719852584470b617e8aa00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000009184e72a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000009184e72a0000000000000000000000000000000000000000000000000000000000000000014e99d91322df5628a6a15aca36a69c2b6e26ce3280000000000000000000000000000000000000000000000000000000000000000000000000000000000000014e99d91322df5628a6a15aca36a69c2b6e26ce3280000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0xd4", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0x51", + "value": "0x9184e72a000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x40659244fb6e5123e257a7312bd350bb8e83ec4a635adbbbba64dadb538eb8d6", + "s": "0x48056951519f4a2c47b5f781d54cd13ee0e9affdd54d6e4d0e153bad24fecc10" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc411a1fdce83648c9e4d4f2f5e1f0924cfd07f9b", + "gas": "0x25e68", + "gasPrice": "0x59a25f29", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59a25f29", + "hash": "0x99abde0c82b637657d8578d1c2e98701add5d19c27a0ff9965c3cb91bd8b2c51", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856fe47566fa500e71a448f0381f03177a4c72a6bfe0a56b044591d569a4f44e20548c0e42ccf3600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000174876e8000000000000000000000000000000000000000000000000000000000000000014c411a1fdce83648c9e4d4f2f5e1f0924cfd07f9b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014c411a1fdce83648c9e4d4f2f5e1f0924cfd07f9b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0xd8f", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0x52", + "value": "0x174876e800", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x2def8564100158223778e0c7979ea4b715e896a5a45278d772e1014e3f067dc7", + "s": "0x29e292aa4af85541e11110b39ad7c52ceb00b31a82b03d79df10acf7252bc382" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x9859d283971b70b15762848f5520f3086d814a39", + "gas": "0x5208", + "gasPrice": "0x59682f00", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59682f00", + "hash": "0x7b24d186a02953288a825ad98825af4b3c2aef73123d9d00b7752f8501f2b3d0", + "input": "0x", + "nonce": "0x6e", + "to": "0xdd14e8773e3675fa9db80af54714d8008256c051", + "transactionIndex": "0x53", + "value": "0x578e50a58f800", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xf54273e2ce6d948bcf229895b530e7aa523bec450ed6cb572dae4e3eb5bd4b73", + "s": "0x2f35ab277dd183af18d9a608a7dc222d0b37ab1b2163d73948396ab7f3e4263b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x8212d554c4018ca33176ad9017f8ca821e19cfb3", + "gas": "0x5208", + "gasPrice": "0x59682f00", + "maxPriorityFeePerGas": "0x59682f00", + "maxFeePerGas": "0x59682f00", + "hash": "0x0586a4cc5c50d3c069bc32262dce4933e76d3863096250114a908608f53f1e4d", + "input": "0x", + "nonce": "0x42", + "to": "0x15e73f84c54148c3d33017327ab89be8fc79c7d8", + "transactionIndex": "0x54", + "value": "0x647fc93f6800", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x9ce53c7513ff3d54158331cc34c359c396aeadd17ad431b8b8d80fa3954cc51d", + "s": "0x5315a053cb62dfbe4a687e4b833b09d3f337d519c2be43bc8a136fc92b33e822" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xf33827175e9414dfa1e4f0827f106359f6b52ab7", + "gas": "0x607b", + "gasPrice": "0x41d5cf7a", + "maxPriorityFeePerGas": "0x4190ab00", + "maxFeePerGas": "0xc4b20100", + "hash": "0xe73a748bebddd4671359f76e1ac94a4cc3546d44a754e6c5b8cc742ed4af558e", + "input": "0x00653d160370fe1934fb9ca8c8373fdf8500000000004578da003500caffb401a8b2058ab79c04caf535f87fc399e3bce4522b9474b969099f779b66a58e0eaafa8eea6d503eccfc0e87e5933a05c402030000010000fffffdf71a3c01", + "nonce": "0x1ce4", + "to": "0xff00000000000000000000000000111551187500", + "transactionIndex": "0x55", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x1aaaf210c55ce5ba5d79d0edfac7b8d69e5ad061d3414ccf7f773c64be1e4510", + "s": "0x1976c05377e67f63714220f06845cb9ab50fdc1557b0fbf2dfd153556bccfe63" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x82ed773b5ac4ab529048b1ec56c6f13ba4c68a2f", + "gas": "0x17372", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x10ec85917eb1ca3c59ad094e0f4ab81b966b5664ca7a063d3c1a7cdb5dc9ec74", + "input": "0x9aaab64894213903f8f8fe0bd75fbac3c6c138af0847adbde813c697be8bb13081dfd1ab00000000000000000000000000000000000000000000000000000000001b945064d81014f64ab3355e64ba99ed94b3707409c8867d921d574e19e597a3e614890000000000000000000000000000000000000000000000000000000000874daa", + "nonce": "0x3bd7", + "to": "0x53025bc3990c54b699c8a3aac807f3ccb6736c16", + "transactionIndex": "0x56", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xd6845771412d6327c9818c40316b4bc1213a1a0127e97e2d41795048d5307674", + "s": "0x30cc257c0ed933fe5c7dbdcd9555122a4c7ed6b2b9afafde9c0a5688f34fccb0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd5c190fe1ac0a49464b81e739f8485cd3422d359", + "gas": "0x57da", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x8002ddb25924b8550505ea720804611984cb64dbab4bd1bdd00f82dd61c34d0e", + "input": "0xce7598700000000000da2079b4fea188ab9dd59e961eae6d7e7b8129d85b398ec3c7d376f732f78322", + "nonce": "0x5fe7a", + "to": "0x8263582501d656e733054dea5aad6eb5eebc61a2", + "transactionIndex": "0x57", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x2bdefc3ef1e7d561ad9b2400fb092e2ae8ab213566ea4a78361298f89063bf5a", + "s": "0x66407dacf92f3b66bb56ce037fa837796e934abc31e800ae876855a33cef8eba" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x22d72db063dd9ce6b96bde48331e6984c1570f38", + "gas": "0x57da", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x79b2efe9ce5d8ef34b3d4323fe0f0ee077efd27c200d657a2e743b242e75b749", + "input": "0xce60987000000000009f7b3bf9e63bc366d3887fc9aca5afd25540dd3ff074bce757ac0a5648f19462", + "nonce": "0x4e703", + "to": "0x1e59a308bafad671f63ba5d440489f0a84bf0f7c", + "transactionIndex": "0x58", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xe180494a7cbce0ee7db3ae5ccdbeb2ba75886ac803540edf743671a2e0ac6a93", + "s": "0x7e8a95c528d290ef28d8d586b9059117be42bfb482e52486ae4ad65035ee2c90" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xbceb0247dc98c45cd766dbfcc05926a2f488f944", + "gas": "0x17215", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0xd4b8f1d0a7e536c484ab164847b5e3c8d2beaaa357771819085b3f4425729892", + "input": "0x03c2924d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200", + "nonce": "0x1e94", + "to": "0x96816e5e55c8a25783ae36357f33c71e988b2386", + "transactionIndex": "0x59", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xe3057b70ceb5ae9d8c6fa98838dd0cb743ee17fc34054a57932e4937e471f305", + "s": "0x4a6c107a4ba57975b2af3bf88fef7ec552e466adb74cd0a13ff45a603b4e1a64" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd9750940558df3323e55606e3dcf412ce1009afa", + "gas": "0x17372", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x4ce85a6deb1fe8985cc9d4e1840bbdc50de10164dafa45090dbdbc523e36a0eb", + "input": "0x9aaab648ab69e3bf4fe3515e9186f448d12a0509065b489deda49fe7af6247fa74df34ac000000000000000000000000000000000000000000000000000000000052ad78b48007ccc26514d9c009b080fb396e85fa67084e294e0b4e30d0cfc2318128330000000000000000000000000000000000000000000000000000000000874dab", + "nonce": "0xb2ec", + "to": "0xcd1529457edb4eca50c31b68586096ed778cbc9d", + "transactionIndex": "0x5a", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x7504115d2e4580bd4ebcfed175bfb449bbad59ab87e04f3760e061b2282fa0a8", + "s": "0x6a0c73f946faed774a83544624a674fd26fbb53f9971d71e9b3949fc17a469f1" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc902329322c4c7891e6727ec1d611235b41b668d", + "gas": "0x57da", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0xa7d66f17385ac668a58ce8b905a456c6843472bdfeec423f1f5bb184ea183916", + "input": "0xce61987000000000001f369bb9d306823830292c7f259a8260a5b61296de02ee5844989a98969b9023", + "nonce": "0x54816", + "to": "0x37771c0079ea2353f88e13a49553bd4b5416976b", + "transactionIndex": "0x5b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x23ac4b9a9cabe9c8412a050db36159fdc42e08aebced9bf484b222b1511eaf78", + "s": "0x7092cb4e0357821b8dd5557b8b46b391af1bbf4c4c8ac415d46c1016c0f35e9" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc5eaea93552d1405704e4f1ff9ef9524b031c126", + "gas": "0x17215", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x7da000bc0f0da438ae14cf736bdfabb4ae4285cd5a018d7522e5b91d53553c8a", + "input": "0x03c2924d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200", + "nonce": "0x10c27", + "to": "0x5b844cf3c3061f5fb26ad384d42649d6e7459c6f", + "transactionIndex": "0x5c", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x67caee24b4f854b12190daf9c265a2a46c69387b9175a524e85f1a3397ca6135", + "s": "0x6f407f832230d555430741714e87bb506961e45f74f40907e95d6440626ad74a" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x8e50966400932d11d26387f260c6705309d505ab", + "gas": "0x17215", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0xa1094e9911fbcdd61c344193db885a578385ab2da78cc79369b3c23423018f2a", + "input": "0x03c2924d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200", + "nonce": "0x812", + "to": "0xb98773fbbd86e0a092b6b8a3e79d7d1d98b8594b", + "transactionIndex": "0x5d", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x7796a2ca10c6330ea8228eb24a48701255f418faaaddc8be4176cc5582cedf3", + "s": "0x665bc7b635aede5a345e24bcb401fd22636001c29f0f7682c85d6d3a677cf095" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc99af4fb4b222730cc2720b2ef8ae0f4ad662df7", + "gas": "0x95bb", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0xd762180e8e74567b81f10119c0ab0c075b05c1d57db154265f2c38d0a01ea23a", + "input": "0x2810e1d6", + "nonce": "0x70bc", + "to": "0xcda873d56db1e133cf021ac2b2b17619afc0ab90", + "transactionIndex": "0x5e", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x87f915f7ef1befe2a3f39b23616bbfe61567fd767474843090398bc60b804aa3", + "s": "0x4acb04e2083e4c794ebc90ee7e0b2363c54a499288a9c8c78816dade28af7982" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x7b52f71ca50bce413eaff4a4287cf4b9685f7602", + "gas": "0x17215", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0xfd05c2abb019887364c6ad3248f3cdd4ccd47aa0b8d038050dba2d1eacb8186e", + "input": "0x03c2924d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200", + "nonce": "0x1729", + "to": "0x92bb2befc26020318f5c462224172e20754dc93d", + "transactionIndex": "0x5f", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x89910812ca13f34b287618cff6fb01b1de8d60267d9c6649c4b253420510925a", + "s": "0x6db28d4e8fe39e577a6b88e09946920cd3e47ee5ec031ba2e37904a50164c51d" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x3ee49ce6389fad126340e1fedd85bfa4013c53aa", + "gas": "0x17372", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0xe727e9ec8c1fbc62cd51120332fe306635b8a6293ba2fd3dc5b38080d991de10", + "input": "0x9aaab6486c46f12342d7fb27096eba27d910a715b73e082a22e10f2303a944d5cc7625c4000000000000000000000000000000000000000000000000000000000044cf28b48007ccc26514d9c009b080fb396e85fa67084e294e0b4e30d0cfc2318128330000000000000000000000000000000000000000000000000000000000874dab", + "nonce": "0x94f5", + "to": "0x25a21cacdc8d09494d75b02c4f0c1c0267c2a39e", + "transactionIndex": "0x60", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xa08bddca2434d388929451e53833a5746ff12b769a1b93b4009c7cc6211995d", + "s": "0x75f48fb38fc6e640e167ae3d023760702853207524262207f2243139bad2a6cc" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x95f9ea159ca88e1300ef7ff0b5f100d0d1d8ab28", + "gas": "0x95bb", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x2d66d9a9d33e1d900b6caa537967df1284f410051cf13a35fce9a18dc2755524", + "input": "0x2810e1d6", + "nonce": "0x2a0c", + "to": "0xad663f39ebd626de3f4a5f2f64dc9145b8ed40a8", + "transactionIndex": "0x61", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x953c4beb8ae5a02a703a9096a3c0b8d8c16edd66dfc4696c0e5b41f4d9de806e", + "s": "0x36798fa3147829a0603e7a20a2ebe3be26c187a73d6f71c6c1bffae123d2d2eb" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xe53e1edc0f1c8baac0fd0cbc0b408fef33402ab4", + "gas": "0x17366", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x12d3bf0420403ee17c701048a6cf5762bd12e1f39bdb546fe83a19be26d7baa9", + "input": "0x9aaab64809d61141acbbb08ad4c49c20ac00dd11d2a6c5fb6e3ee91d455983e67660ecaa00000000000000000000000000000000000000000000000000000000001b60c0bf90f2a4651be4890e980514fb22f584353eac5fa02db2988b3850b92c3e57fc0000000000000000000000000000000000000000000000000000000000874dac", + "nonce": "0x3b68", + "to": "0x32787cda7eb44a561470afb3134465e4d386b301", + "transactionIndex": "0x62", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xe2ee1df482b2b9861b55744194395c25a7f3a0860051f0dc6e6c73195dd3d041", + "s": "0x393c3a7138479a795b3bd8e899b910a57f3a4f72348295e3e3f9dea9c2d80bc4" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x42830f5456a93d2d9d9b2b25d0628f9110a27d57", + "gas": "0x17372", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x8e3f605a16aaac4e90dfa212a801ca365ee292c3bcee75a01c2b3fff25770bfa", + "input": "0x9aaab64805cf086199b0e03298908dec8a2a13a4c05b1502f7a3dffca730d039d614fdb800000000000000000000000000000000000000000000000000000000001c2924bf90f2a4651be4890e980514fb22f584353eac5fa02db2988b3850b92c3e57fc0000000000000000000000000000000000000000000000000000000000874dac", + "nonce": "0x2810", + "to": "0xab0c2593285d1f637e42764310907e3fedcde31f", + "transactionIndex": "0x63", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xa6b38c3fa03229801bfda32500878ba7d373540d85d1678907f8621b15673eba", + "s": "0x1de9884fa9953238208631f6d13bd2ca5daf259683213519ba52fa0b738ab908" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x32136151194f4730518c6f1e47dbcba1d67932c8", + "gas": "0x65b85", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x79f23692734e1a2bfc0f3c8b133deab8df809bd0663c78932b8a2a7701f08b1e", + "input": "0x82ecf2f600000000000000000000000000000000000000000000000000000000000000014878fc267d2f70139b54f7fc6d7ae27d67aac687fb588b5cae8843ba78efb9540000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000005f3e22", + "nonce": "0x95b6", + "to": "0x752d789c5cb4e2edb0c853f7beb19be52c47883e", + "transactionIndex": "0x64", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xeea6bacb796e10dd1cc2dfe77af3a1ea84f60a93bef53a0777f70153a9a0f695", + "s": "0x324975ebec10741efbaf48cf858593c12fc4f6b7e9200b448041071abfeb4780" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x49277ee36a024120ee218127354c4a3591dc90a9", + "gas": "0x7558c", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x92db734af9a9c8e676fc5024f5c8958d2ee509025b2cb699f5245aae18823a4c", + "input": "0x82ecf2f600000000000000000000000000000000000000000000000000000000000000008104123e6b19a1f2d333256d15a3d35410b8b174ea9336c5219f178e56b76b7d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000001d8ddb0", + "nonce": "0x1e9a8", + "to": "0x05f9613adb30026ffd634f38e5c4dfd30a197fa1", + "transactionIndex": "0x65", + "value": "0x11c37937e080000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xf2f3d41c1fa74c97e1a30ee8224ff1b76cf965e9772f296791c38fce7fbf2a76", + "s": "0x431ac4c6eaf3d89bf2088518c9f0fc33fc9c336a618c4908f920f5e360ea036e" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x03f8c6789af6d4f44d8a668d7418f858897add15", + "gas": "0x17372", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x6fa254af31190632552fd2fdd6539f1dbd2bae59e9cbd1c34dfe6de49a321a7d", + "input": "0x9aaab648262fe3e81e78681c913913382d8d9370ee54e8bbdfda61340f6527e4667fa1b600000000000000000000000000000000000000000000000000000000002dcc60bf90f2a4651be4890e980514fb22f584353eac5fa02db2988b3850b92c3e57fc0000000000000000000000000000000000000000000000000000000000874dac", + "nonce": "0x633a", + "to": "0x2212799c0aee95764712a3158dd9bc34222b2ef8", + "transactionIndex": "0x66", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x6f1cf79d91147eef7609e4d4bd47c014426013e9f8e6eb591e8b7f2880e1ee89", + "s": "0x1a35c85c473e1222f7f3f2d21706b9138519c6ef84eef0521cdb06e347f823a9" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xfef8b9256c6078d1d9175e91a744fbe4bfa7bc32", + "gas": "0x5208", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x7e79b4c1bccf822dedbbdc33a1c6ff447e7a3211603257b916a4fd6b1ad14632", + "input": "0x", + "nonce": "0xc7dc", + "to": "0xb38feca197385f1c7979c288288e67d29a3278d4", + "transactionIndex": "0x67", + "value": "0x0", + "type": "0x3", + "accessList": [], + "chainId": "0xaa36a7", + "maxFeePerBlobGas": "0x3b9aca00", + "blobVersionedHashes": [ + "0x01c63bb47ada352b2207d016e8b95ed6325e18fb7ec5014ba5a36d7d658164a4" + ], + "v": "0x0", + "yParity": "0x0", + "r": "0x47266dbbe2d28196943498c6326694fcf8aaf8bf332760416e257b012f078e60", + "s": "0x6fbbb4c242eed27dabd317649d94a8026c233416ea6bb526f93d982060d659f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc8d541076f16546f559bb97965a2ec97633ca4d4", + "gas": "0x5208", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x316880caae3bf5f1d12fea70cf2ffc28ca3c5f84eae5cd8a08f3c9e26e7abeb7", + "input": "0x", + "nonce": "0x12d2", + "to": "0x00a0a9046fc50aa721e9b56268921a63c2f2e169", + "transactionIndex": "0x68", + "value": "0x0", + "type": "0x3", + "accessList": [], + "chainId": "0xaa36a7", + "maxFeePerBlobGas": "0x3b9aca00", + "blobVersionedHashes": [ + "0x01571e32d470cfe46416bd20f602fe29967c0738c74d75ccadd41e86462951af" + ], + "v": "0x1", + "yParity": "0x1", + "r": "0x9ddd7387f0a5897e8297e2ca30d71ea9d4364d0243dc6b2208f979def0220dde", + "s": "0x1cb962b20d5ebfbdcb35d94811fbf5d2ed9d093fde54a14476dc1e6bfd1684c5" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc8e400fe8594e3aa7332802f9c51109bcbd488c5", + "gas": "0x5208", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x098a11c65a2f48f4b660bf4a7c284115d758397c1f7422858895f0add3991494", + "input": "0x", + "nonce": "0x126c8", + "to": "0xff00000000000000000000000000000000048898", + "transactionIndex": "0x69", + "value": "0x0", + "type": "0x3", + "accessList": [], + "chainId": "0xaa36a7", + "maxFeePerBlobGas": "0x3b9aca00", + "blobVersionedHashes": [ + "0x0129dbf926fdb740785b219b1a83d264c7dd1176e838b9c780578e1a6cd0105f" + ], + "v": "0x1", + "yParity": "0x1", + "r": "0xbc2eea135764444312644b9d96c0292d3feee530283d1c669c1f7b8c5dbc55cb", + "s": "0x5ec2f865466deb7a2644a0545a31e8785e2e2f62d6958a5a963feb444a86139b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc144652632fb3ef51eca7f48bedd4e9a0a52acb7", + "gas": "0x5208", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0xa868d994881c8e87c668884852179871ddd9168e0cdb7cf95a28628bb94fd203", + "input": "0x", + "nonce": "0xb6d", + "to": "0x00e546b0a52c2879744f6def0fb483d581dc6d20", + "transactionIndex": "0x6a", + "value": "0x0", + "type": "0x3", + "accessList": [], + "chainId": "0xaa36a7", + "maxFeePerBlobGas": "0x3b9aca00", + "blobVersionedHashes": [ + "0x0154c0c2b212971fa1dbf4129553bf2a6d39936070f42bb85a46254c0c220bcd" + ], + "v": "0x0", + "yParity": "0x0", + "r": "0xe7da2a20a451a6a6097550148255856bb8a8f58a36a907374c879ca354804ce6", + "s": "0x1e7d5fcf19eba21a52a223b62039406eeaebbf31b7ee2be73cdb3c308642d5b5" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x67ede5675885685eb8e62b840572105b4584e68f", + "gas": "0x5208", + "gasPrice": "0x3bdfee7a", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0xb2d05e00", + "hash": "0x53f6eb4d076a372f94d10a6c5dfc6d58b2315152597d2daf73eebcbf942ef09c", + "input": "0x", + "nonce": "0x26e9", + "to": "0x65bebafcd2178d2f4a52af736468ddfc37b5dc51", + "transactionIndex": "0x6b", + "value": "0x0", + "type": "0x3", + "accessList": [], + "chainId": "0xaa36a7", + "maxFeePerBlobGas": "0x3b9aca00", + "blobVersionedHashes": [ + "0x015621a07b4ca58386d4a4d207c833623328c5c83231f4ba2b3133315f35198e" + ], + "v": "0x0", + "yParity": "0x0", + "r": "0x8b77a14d778b13a5fdc530935cba26f87beff9ebfa415a69e4770f41d8aecf9d", + "s": "0x6edb3366c9c1ca6819b054bd4ef94cbea17275df672736b3af0bc065e24a84a8" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x0e31db5761c96bcc447b5843102a76577e94cb12", + "gas": "0x14d6d4", + "gasPrice": "0x3bdfa392", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x3bdfa392", + "hash": "0xf5ccef3dc377cbed0ad1083205eaab861ec21a0e161b4db53793e012bf91bbdd", + "input": "0xe11013dd0000000000000000000000000e31db5761c96bcc447b5843102a76577e94cb120000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "nonce": "0x4", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionIndex": "0x6c", + "value": "0x38012929a89e000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x13b9d6d3a1b5b0770967b60401d5714153b513c3e3df9328c249d78a419ea5d4", + "s": "0x33ec50fdab3cc6f4402a12db9101ae99012d95a8a40bea26e51ba117a3b89e82" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x0b696ef52f456c294405b9fcca992aaa9cc3443f", + "gas": "0x14d6d4", + "gasPrice": "0x3bdfa392", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x3bdfa392", + "hash": "0xd7f703d48115310c6b666813b2954a143745473ccc81ac0faef16a602ad4da26", + "input": "0xe11013dd0000000000000000000000000b696ef52f456c294405b9fcca992aaa9cc3443f0000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionIndex": "0x6d", + "value": "0x384050572e25000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x50a0f9342dd50c962a44e5d2262475b8082a0e27f5df39f4b528f0b9a787c54a", + "s": "0x651857b2b15b7e33dfaec65525af5ec90d10d625d3047c690acd02244d4bc6ae" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x5f996456533606b30a0c0c373df0c6b882a0810c", + "gas": "0x14d6d4", + "gasPrice": "0x3bdfa392", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x3bdfa392", + "hash": "0x6e5f4326d1676c2bcf19dbf29945f798e72acc5194b07cdf7a80e31f85b79bda", + "input": "0xe11013dd0000000000000000000000005f996456533606b30a0c0c373df0c6b882a0810c0000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionIndex": "0x6e", + "value": "0x37facb59252e000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xf6fef8bd6c7e70847f873664ec8e24107f9e59443eaf6ccd0d88cc6fe67748a5", + "s": "0x7d2830d34655a79b6a76502d031594f1644aa4ef0431ac6296fb4be06be63fc1" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc2da0bc034144e7a2c2f615e0ca65fa4f08607cc", + "gas": "0x143352", + "gasPrice": "0x3bdfa392", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x3bdfa392", + "hash": "0x306f59c604fcf350af2d816519ac246dfe62940d907635c5e978b9b5e7dc734f", + "input": "0xe11013dd000000000000000000000000c2da0bc034144e7a2c2f615e0ca65fa4f08607cc0000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionIndex": "0x6f", + "value": "0x37f48aa33660000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xd73e00d47027b7c6a26de7daa6ee36f08560418a5a3bb70332b3b8f81b6ee57d", + "s": "0x68c85994a427e880609e55f18497a33f626f775befc807758a949557ccc5ed93" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x15ec046a51a168d4d0649e192c4dffe9e02dd6eb", + "gas": "0x186a0", + "gasPrice": "0x3b9aca05", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x3b9aca05", + "hash": "0x35ccec2a8a647d7be0acd142ecf8d8b8a416436908b7149965df8a92c0eac5d2", + "input": "0x6a62784200000000000000000000000015ec046a51a168d4d0649e192c4dffe9e02dd6eb", + "nonce": "0xaec2", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionIndex": "0x70", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xa3de41551664b3855a8fb3feb1d0dea3ee9ec070baf235be60c52c8c1da1867f", + "s": "0x2c0fac579428af34c26c93fa4451cab74600e4df3a92a5206f3da188209c23d0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x1b3e09cd51717f8d6598d22bd1be1e40cbc2e5a3", + "gas": "0x186a0", + "gasPrice": "0x3b9aca05", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x3b9aca05", + "hash": "0xcc85e93b1cb7c68b92f7a9df03554244200bee751009aba0ab771f38bb28672a", + "input": "0x6a6278420000000000000000000000001b3e09cd51717f8d6598d22bd1be1e40cbc2e5a3", + "nonce": "0x7b03", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionIndex": "0x71", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xcabe44726fb3be2ff9e0dfb726ba9e6b4925bbbb37e8be465ab4edddf62a7736", + "s": "0x39c55a0a217c832d87e112c3f16b13792711c3b98965576f4df179b38b6ee5da" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xf07d1008b79ef4140ac2e2c410a3fcf1173e74ac", + "gas": "0x1e8480", + "gasPrice": "0x2d900242", + "maxPriorityFeePerGas": "0x2d55d219", + "maxFeePerGas": "0x2d900242", + "hash": "0xf8641126e50973306d8a5868a5ef780dc46880667a404a0836a9c2b44fdfdac6", + "input": "0x2217b2112c1bbfa688b0e20a605c27875e3737bd776923c005781a1b523166449b27199b0e4edb2f6ffa66b74190237245b360c776132b5e0d19fdb0dd6fe226bd09f7fe12263abd0e3ac5bbfcfcafc323a4db4ad7cc28526ea05a75cc834f068a17755f0ec9fec03fdaafee75596364b60a5eefd1fa1ea18976270876a8ca5e63e86e2a2323bb91603a30d4f70523c54fc1c7d86bc1249f710e93c4a264c6b3702b9b371533a613258414bee01ab21ee04eefe781ec5677c8e1c7af25f02fd8fbaad0f92059847fd2fb698de62fc384f8756cace02c689a5aef640c80d217e899bd4e5328b61d83483993ae60b6055c9d8d486c330f27b7ea481fe320c62faeceafdbf322c7a21e7aae86982f42256852103721102dffa607f5f1890eb87d518c5fb3fa000000000000000000000000000000000000000000000000000000000020b32000000000000000000000000000000000000000000000000000000000000001801fa90138614ba10e82781fd95b4c0a130a974890223ca9c339595e34de00405b00000000000000000000000000000000000000000000000000000000000000642356b22fc9fe68d10f2dcf9a4b061444f0811ba2531db86b2c2fe659594fb4321aaefbeebec2e3370ecc7c35de9a11c2ded1865add14dec51023108b4b9d1c3c07be929338851cd7f2ec016eb2b3b2650d1d9ec52f11de3dcea1f9039c72421a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1d08", + "to": "0xb2ead588f14e69266d1b87936b75325181377076", + "transactionIndex": "0x72", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xc189104a421b8232f8a5c05df05a2b40846f59096f8d582328b9109387e9f36b", + "s": "0x74c317b87e6fe5c5b65adcfbcc8a4a0b17f6dd8aea4d1fee7a24deb6853c9188" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xcf8a9d1e489c58f4c3d69b45380fb4a6c03ada47", + "gas": "0x1888b", + "gasPrice": "0x2425d560", + "maxPriorityFeePerGas": "0x23e0b0e6", + "maxFeePerGas": "0x2433a978", + "hash": "0x3a93514ff2ed6aba9ab3a5a914086f3d6089482e92775afdc1e2370d4013c94c", + "input": "0x309676e90000000000000000000000000000000000000000000000000000000fe88c05800000000000000000000000000000000000000000000000000000000068889769", + "nonce": "0x1223", + "to": "0xfc4d448b2f7972d3c103bac901416d972dba29e4", + "transactionIndex": "0x73", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x74e8fecb9e42bb9afc75599459713f9f288e5e3d1ef74d023cc781371a11a4c2", + "s": "0x6efcc76194884c7e35d63a18e4cf77e56ecd27bf44e0cd82acf5a6fcdbf4f60d" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x8ea8b141669f0d027f53eb011d3c0de30052ad78", + "gas": "0x186a0", + "gasPrice": "0xfc46d7a", + "maxPriorityFeePerGas": "0xf7f4900", + "maxFeePerGas": "0xfb7504300", + "hash": "0x59493c877621510c963647c6ca26382220af8f814e079db9f1752486344244cf", + "input": "0x095ea7b3000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3000000000000000000000000000000000000000000000000000000d1967b9c5c", + "nonce": "0x11f", + "to": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "transactionIndex": "0x74", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x59af2e0500bb5511553c98f433676dc1d1b9847df27daa9f4111b1010b397e7e", + "s": "0x3ff9cca4fed692352f5404fdba520882582ba30543f4d71e668a7adeff20a283" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x55e0627e94937a7867e9d8da686d9eeea76c6c17", + "gas": "0x186a0", + "gasPrice": "0xfc46d7a", + "maxPriorityFeePerGas": "0xf7f4900", + "maxFeePerGas": "0xfb7504300", + "hash": "0xd566bd607fdb3cec39cda17549d699b418e2bacdfdd8a404324d2ee6bc20868e", + "input": "0x095ea7b3000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3000000000000000000000000000000000000000000000000000000a85bfe58c6", + "nonce": "0x1f6", + "to": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "transactionIndex": "0x75", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x431842a8dc802feac2fd76c152af2bdf2ae50692af6b4c71b5994a465461f4e5", + "s": "0x573fb9114d64cba3e0a3599b35401a46f0ccb7ac6b5f0858d8295bbe6977b9cb" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xbca341be594cb6acc2a218be61c1693f4d9637d6", + "gas": "0x493e0", + "gasPrice": "0xfc46d7a", + "maxPriorityFeePerGas": "0xf7f4900", + "maxFeePerGas": "0xfb7504300", + "hash": "0xaa22499c2cbb157a47fdb370bb81fc7a0767179c5a4a5ec19fa448c441d326a8", + "input": "0x1a5f0f00000000000000000000000000000000000000000000000000000000001c615cc6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x331", + "to": "0x006cbf409ca275ba022111db32bdae054a97d488", + "transactionIndex": "0x76", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x98c19e9e823c31ac3a322f6d223e213035a8297bea565dc659b934a1a90c9f8d", + "s": "0x6c10c77c32ab6d31b7f50f67ca67b081d28a6a16740844aad3c7a7e8e531351b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x698ae761ead297028145357dd1b4c21512553a9a", + "gas": "0x186a0", + "gasPrice": "0xfc46d7a", + "maxPriorityFeePerGas": "0xf7f4900", + "maxFeePerGas": "0xfb7504300", + "hash": "0xae3cf42bb538c5d39eac894530b458d138a2b232d840d28448e2e1355ab33726", + "input": "0x095ea7b3000000000000000000000000006cbf409ca275ba022111db32bdae054a97d48800000000000000000000000000000000000000000000000000000000008e66b0", + "nonce": "0x10", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionIndex": "0x77", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x429085b6ab6d15acde1791afaa6d6d6be67135188992b2d3272fbef2fa5fbf0e", + "s": "0x324f2d793b8ea17540ca0acc5fb15f6dacca575d464ab3089e2cd6df787e8de7" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xb6a5e9880b3e9e77f473e8648220f645efbf9b52", + "gas": "0x186a0", + "gasPrice": "0xfc46d7a", + "maxPriorityFeePerGas": "0xf7f4900", + "maxFeePerGas": "0xfb7504300", + "hash": "0x44deacb6e34923f8c216bf3e802500fd6a255855de59b612ea0620b1be97455d", + "input": "0x095ea7b3000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe30000000000000000000000000000000000000000000000000000008657b7f223", + "nonce": "0x31d", + "to": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "transactionIndex": "0x78", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x207ac9d37edfd37d30989e8730d2b337e3c45ad5da49c2f1a969cc7c0beb2be7", + "s": "0x3306c37333ff25cb52ba68bbf120d4fcf000d81908b8e3bdb54faa65693f9e59" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc425e3c7f8c4f403bf8005b6a9beda5ca349a36b", + "gas": "0x7a120", + "gasPrice": "0xb5ffd9f", + "maxPriorityFeePerGas": "0xb1ad925", + "maxFeePerGas": "0xb70e982", + "hash": "0xd08354594f5cca4bedd49fb33324c28f4159fa49e0b6b050b850e61f032d7c2e", + "input": "0xde5e0b9a000a917377a80085ea9ccf512eb495b4b63ee2cfd3e953b5c19233bd57b788ef0000000000000000000000000000000000000000000000000000000000032ab500000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000ccf0a31a221f3c9b00000000000000000000000000000000000000000000000000000005ea6ecfe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f87f499404b192fa7d6ceefc7b8f51f454f3a2580899e1341971a9a6b6a8cb99255d536fb88ac32c5f4c2eac1d964c9b33344e0f584e1fba312a6d5fcf09cb8f00000000000000000000000000000000000000000000000000000000000000023970f277fb2a5a1212c708db86d7c266c78273fd1e2441455a034db0dc63f02737bcb9878b7b83f9b503caff5b1b401c4622ea4c18f38c640206aa6e45161cd7", + "nonce": "0x280d", + "to": "0x8b07bedbb1b70b8cccd3c8716ef81739cf242fbc", + "transactionIndex": "0x79", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x1f5d2ce8d711ef97d2f0d5cd8cf1018d9ce79ae466cd756a0959d2b9c18d3bca", + "s": "0x19e2012180d356e47bc943d8d88a6ff56a2514adb3087c2ca0d19eecb48acd6" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xb36a813a10a3c6d2a6c67cdd4c4049cc7d54dfa7", + "gas": "0x1e8480", + "gasPrice": "0x34014fa", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x348be26", + "hash": "0xdf1e424cfa79316d57353aff54a3f910b4594bd4982331339f6d5d0d9f569a31", + "input": "0xba8a2be0000000000000000000000000c92f8090324d17c2b920bdf7c5f1e468ed368251000000000000000000000000b36a813a10a3c6d2a6c67cdd4c4049cc7d54dfa700000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x60", + "to": "0xaf74988fb665729a13327c7870ad2d4ee8a1ae6b", + "transactionIndex": "0x7a", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x5d9eb72095d005d0e94353c3571a42bbda394dcc8424df3a8fbbaa3b814c1861", + "s": "0x57ae2a26bb0ce62d8324c9b26c7393d62e4ed5fe5069a9c841ff6e822b5ecdc" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd38198b501402e1cc0e01d1db0f09bf00b06c0ab", + "gas": "0xd6f80", + "gasPrice": "0x34014fa", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x348be26", + "hash": "0x7dca7ebb9c0c7d2b7ac6fd49a364aa6c12dd9ef57e5ccc7b8a1bc80e2ffff156", + "input": "0x6080604052348015600f57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e768061005f6000396000f3fe6080604052600436106100705760003560e01c8063736fe5651161004e578063736fe5651461011e5780638da5cb5b14610147578063966a7dca14610172578063fa09e6301461018e57610070565b806312065fe0146100755780631a948947146100a0578063712ca0f8146100df575b600080fd5b34801561008157600080fd5b5061008a6101b7565b60405161009791906107c0565b60405180910390f35b3480156100ac57600080fd5b506100c760048036038101906100c29190610935565b6101bf565b6040516100d6939291906109da565b60405180910390f35b3480156100eb57600080fd5b5061010660048036038101906101019190610935565b61022c565b604051610115939291906109da565b60405180910390f35b34801561012a57600080fd5b5061014560048036038101906101409190610a7b565b6102f5565b005b34801561015357600080fd5b5061015c61044a565b6040516101699190610abb565b60405180910390f35b61018c60048036038101906101879190610935565b61046e565b005b34801561019a57600080fd5b506101b560048036038101906101b09190610ad6565b61064d565b005b600047905090565b6001818051602081018201805184825260208301602085012081835280955050505050506000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020160009054906101000a900460ff16905083565b6000806000806001856040516102429190610b74565b90815260200160405180910390206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015481526020016002820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151935093509350509193909250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037a90610be8565b60405180910390fd5b478111156103c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103bd90610c54565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561040c573d6000803e3d6000fd5b507feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d828260405161043e929190610cd3565b60405180910390a15050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600034116104b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a890610d48565b60405180910390fd5b6001816040516104c19190610b74565b908152602001604051809103902060020160009054906101000a900460ff1615610520576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051790610db4565b60405180910390fd5b60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001348152602001600115158152506001826040516105649190610b74565b908152602001604051809103902060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050503373ffffffffffffffffffffffffffffffffffffffff168160405161060b9190610b74565b60405180910390207f4d0e668fc40401385197c08532ccc7cda9932c69fcfc18943c3a7e64d61bd32b3460405161064291906107c0565b60405180910390a350565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d290610be8565b60405180910390fd5b600047905060008111610723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071a90610e20565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610769573d6000803e3d6000fd5b507feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d828260405161079b929190610cd3565b60405180910390a15050565b6000819050919050565b6107ba816107a7565b82525050565b60006020820190506107d560008301846107b1565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610842826107f9565b810181811067ffffffffffffffff821117156108615761086061080a565b5b80604052505050565b60006108746107db565b90506108808282610839565b919050565b600067ffffffffffffffff8211156108a05761089f61080a565b5b6108a9826107f9565b9050602081019050919050565b82818337600083830152505050565b60006108d86108d384610885565b61086a565b9050828152602081018484840111156108f4576108f36107f4565b5b6108ff8482856108b6565b509392505050565b600082601f83011261091c5761091b6107ef565b5b813561092c8482602086016108c5565b91505092915050565b60006020828403121561094b5761094a6107e5565b5b600082013567ffffffffffffffff811115610969576109686107ea565b5b61097584828501610907565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109a98261097e565b9050919050565b6109b98161099e565b82525050565b60008115159050919050565b6109d4816109bf565b82525050565b60006060820190506109ef60008301866109b0565b6109fc60208301856107b1565b610a0960408301846109cb565b949350505050565b6000610a1c8261097e565b9050919050565b610a2c81610a11565b8114610a3757600080fd5b50565b600081359050610a4981610a23565b92915050565b610a58816107a7565b8114610a6357600080fd5b50565b600081359050610a7581610a4f565b92915050565b60008060408385031215610a9257610a916107e5565b5b6000610aa085828601610a3a565b9250506020610ab185828601610a66565b9150509250929050565b6000602082019050610ad060008301846109b0565b92915050565b600060208284031215610aec57610aeb6107e5565b5b6000610afa84828501610a3a565b91505092915050565b600081519050919050565b600081905092915050565b60005b83811015610b37578082015181840152602081019050610b1c565b60008484015250505050565b6000610b4e82610b03565b610b588185610b0e565b9350610b68818560208601610b19565b80840191505092915050565b6000610b808284610b43565b915081905092915050565b600082825260208201905092915050565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b6000610bd2600983610b8b565b9150610bdd82610b9c565b602082019050919050565b60006020820190508181036000830152610c0181610bc5565b9050919050565b7f4e6f7420656e6f7567682062616c616e63650000000000000000000000000000600082015250565b6000610c3e601283610b8b565b9150610c4982610c08565b602082019050919050565b60006020820190508181036000830152610c6d81610c31565b9050919050565b6000819050919050565b6000610c99610c94610c8f8461097e565b610c74565b61097e565b9050919050565b6000610cab82610c7e565b9050919050565b6000610cbd82610ca0565b9050919050565b610ccd81610cb2565b82525050565b6000604082019050610ce86000830185610cc4565b610cf560208301846107b1565b9392505050565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000600082015250565b6000610d32601e83610b8b565b9150610d3d82610cfc565b602082019050919050565b60006020820190508181036000830152610d6181610d25565b9050919050565b7f4f7264657220616c726561647920706169640000000000000000000000000000600082015250565b6000610d9e601283610b8b565b9150610da982610d68565b602082019050919050565b60006020820190508181036000830152610dcd81610d91565b9050919050565b7f4e6f2062616c616e636500000000000000000000000000000000000000000000600082015250565b6000610e0a600a83610b8b565b9150610e1582610dd4565b602082019050919050565b60006020820190508181036000830152610e3981610dfd565b905091905056fea264697066735822122082f837ec0880fd7931d06ca2ccc8cfd8fc246ee306b10f6197a0b54837f4133864736f6c634300081c0033", + "nonce": "0x20", + "to": null, + "transactionIndex": "0x7b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x67e27654cd0c94bab65e2dc69a11ed099977de9038a255e1fd02e38e6ef50ec3", + "s": "0x3d64afac39d4610c7ec44f6914d2be73a3a67c1bb0b41081f456c74f74fe853f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x556b509a93fa66a6047a8eb128972d1814af78d7", + "gas": "0x36a9a5", + "gasPrice": "0x34014fa", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x2013469a", + "hash": "0x237033c20f66bc27f87787887ed5f080f6954a7521f029474a342b329a4d2782", + "input": "0x8f111f3c00000000000000000000000000000000000000000000000000000000000004aa00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001594b000000000000000000000000000000000000000000000000000000000001596800000000000000000000000000000000000000000000000000000000000154ff005bcd281645cd9ecd8c51a4376b9b08e2f520c38f839c8cd7bc82524484937071d9b28042bc2c3231fb226e458d90647600ceb964e93dc90330cfe9bc8ae37ab3b0895ff455fd7266c3c5719cbeb88ba8cbbaaaabbcbefee5455f1e1fc0b9dda2429110b4b1a78bb4883440aa7549b58d22202851d2216901468345a519a062809814fcff376db6b4d047da2d97fea89f22cc62eb0887a33bdbda90138976081d4994da662492157a24cd28817dbfaa94b6d8d8511551b001b4990074e99a68dd65dfc8002edd1949a3958fbbb4071a2838b368cd3cfd77a798dae701171a2edc3513a23e4e423ef4f17400e8885164fa6efc22f43ba2ab639ece699f632600994dc08f7a10c2b6b80d110db5e0916a1f9ff8effb5996e7be21daee08171befde10ff2196a1226a145161b562caa0e81ab9db204345cb080da422c9c4f3a9100e126a1999f113861b122157df25bc070005fe105e0a43a15893b80aa69d0c45024572fe0c2743971b18522ead9c040000004ece7e9bf4fad9310df09b834f7e79cc815dc2a61ee64101804f3c106ced0127540bcbf5c533542b34b5e65fb97315f3a7f16640e60f0bb0030502ece0fb003bac20c08e5408103000765c43809d681060a72004d869030176a67d809d431090e12d4c73cfe28d6bb8697f6eca5daec50d608cbf45efe11805e438fc342120df7c0588b05470393012c40ec93eb90cf08ab719f1f808b30638e669eb4101647f0c74ff2e6a3b029b5ed4ebaa00e62f08683740ef1970af6f66c75475fda0df48a46c4c6ed3284b85003574c917af02844080000e78a1fdef8eab7348baa033fefcf0568202011c22488000611220710e05309844688c162004817137f978c8d87d1217597ff37c993882220f05d209af824b13826a1be4a866b27b7fdf719e5134b04eed6d4eb82dd984cf6a5fdf41ea867dfa1d30d8b7e931f8c343437e4d937fb101b219817ba7e7d22bac5cebde0b2ad7465ca7d5357fd1a3689d0a76ab4724866992f89900fbe1147ebe87e0525376a717c8aeadb8e3266306dec30f12ffa566f73b7101a9f37c6896eecee5b97efa2b689c5de0d4ec4df24c6223c0f23e4580955e4fb455b691e53080579c454be9946112f7fa09b0cf6a622cea239e50715d4dc741c1f8139eeb32423c8c5833776596da925e207ac5ad3dc1d65bc84f065aa9f1eaa5873f4b7a0fe009d013f057b41f0163d194b8a27402c94638ec6f7ea768ccfbc2f73ccc766f15cf544db87b5c35e9e2caf93c1f4754b4d3e1ef4c4d549ab68bb5486f0af93b55f5ee75f76ae6bca8f4bf638db46d7733601669ee3dcd024cac31b15627a9b922d65eb2d0208c2f2c801381dc7ec53cdc5fb2f9a8e34f6a631a85908a10845d0122012f62280fb23c90a6683e70290cadcde6881d330dc9a6e98cf9ea84c5922ac53e1683fb3f743d25cedd62558c650f3deaf76a5ec4b459b9f39904e9357afbd26acc3c502059683b075f58c388fb47f8356986ba4da20093d8f6a2b167efe9576ee4d64a2b769faf09fbaa8e27480865acce6e6a963392a1734fda64a5ff46eae613753d726984f22a21a242122968345aac07e7a354d709227931e7fda85875a4987aac5fd45f57839d1cbec03237a24eaac66d7082347ec0ebaff984b345aedbbf459cf8bea6c1af1eb342f3dfd6b84f603bb923d7f74c4e1c74c3549ed9be1e7de98f6f68c3d92444adfb534d9b299f0dad783cad7dddaa3224951575998913265351730db5d9b873ec68d1a6c762df3bb71945fef2aad8b19326d96a38818ec5e2cb97157db53f5dfb8534d0c95bfa004fb2badf602e340cdbdb6330c6013cc2802fcc209807680267009640608142418ea42170f5e16f0debefb303244b03bf6b21a3e2c224c36a190a6455575241a60be0c575ac028965629632ad203e34c0c0d6f3658c8950899fccc6faa31c59f6bf216539917face34a362d3d58f6d6f1416a8ac7e6a6b79829911028398212a14aedd9549fd4c51b99dda1cb8deb36236680fe557724d2e5a580926f21bdfb0cf09bb58d1bdde1a0dbe6970b5fbbb00597dd2d9de223aa128ae8c70b8e5826dfc51ffabfeaf2eff4d92529ac96e5d04e43a5ce3c696c807f7b9776a2a498a888206fa9eeaf2260a3ce8a5f21e67da9ff53822a26cf1babf0b793ee716a861ad6fcdd56b8ca3e9f09c760b625d5b408a1d5599f37e3663765cdb516298ec8b6a17e09534493d6b9d887df41e0924d0f9a5d4b10dd9e38973ce60980ddedfe820c8803285f8e2c357892706e8346cc1e0a244100ccdf6ca080d33042c048e01a7001221e77041a1daea3c6729ab2438bcdddf4213c4967f2ccf5141c36031eadbde084f8a74e4f9d3801c6a0a27de1e6c1cfa90a33cf960c0a5a649ce17213c95d961bd5f7e26045dd833bc4a85b59bea6989bfd3746111e2b30a21634a098c11e476d5f37acf8d139e6bda2381ca1c64f033d533583ac3867930d433bfbeff5541bddda983f1cb396c4e88ac4675e60a5d6d4fa066f195ec42f7eda08f245d03390d0155ed0e95e1aec1fd5c1f95dbd75c647149d9f6bc1f6520b3268811b24d8866935ba05120b4fdd61a7dce4492d4feda25db06b357900ae8ec2d93835abc08bc01c82fd1734b54cd54ee9664d02e1dc448246d9e332a00383cd84ceac63306a7bd28322fb7d9af454bde66a8e7a3dcb4843e32db402ae853d40f95ddc34c08f0ea6670f210002c899371a8fa030cbc102173960fcb23b7b027346c0ddf35909ef0be2c16e79a6a64df8a7b53774c96d545dcf1e101ae1d83cb194dd327b3fd0b2cdce1d61e4a46bf904a3ca710c95dbbddddc6582d1dd624551a81661cb8ad66734bf59e8a23669eccfefb7c5e19ff12cff6eb943c4d77fa1bf7ac688c8fb8f6a62cfeb4ab0434346d6c3b8e3cc805af077ea06d10d490646c564b0f595fe13e30c387e501d151aff93215c95cb78a95a8f7b5b944d0d2b6a9bd876c5e7a3dfc40ea5f7bc89724425bf930679841abafbfe2075ec20ba71c195ad2bff2803f92286c0a3d728faee9061098b988c2a7171deaa8ecb39f9f3be50b32fed3973ffab9d480b4a3ae327f19fa947e74dfc73e80066e6c8ae3169b20dc52390e47c98b29475c647ee9a235209677e8f015a21ead1ac7128f3f634062024866e80fc2e0d6280460c27310cc760900203d7d3b221f97473f7f465de9b397e4da7c13cf7bb54c79331086cdabf135ca76397a6b8fa9bbfae8dc271856af2791d93dc170e57ccfa0c07017adadf6a79be2c6fc2fdd3028cc9872d780ea2fad6d2ddea8717f3883938bde7c9319bfa3eddaee5dde7316264d33054f2e0a5770a77037db19bffa31722bd7804e5d39a8ebbd8c559623468646054ce85f14bf9c8fcc1143efe797b14a526962281ed71e83d4f4f44b1fd071b93cdbc0d3e87ab53d69d24376244df2d90f7abe5a79a916f026d35cfe660fd650cc64baf89fe092409a15be60f24bbe5dd00f9e0d74958928ae76016f913a9579860077b72cfee7b32253ddac88abe2dfede84599e340d5406e1027d4e52dfaa5e61c5eca98ddf1f34ae2891fd0aa04d7c134debde34e7f63bcaab125bdab53b9a015a11e64f2f71a3135b72c2dc929d62498e4641000ae4798186b2180730040b023847e10c0ec21c88a1e0e2c7bba9042935171447ea754dce887ecea239347e0e0a0cd11a8243e3c5b0b32af050ccab8688b2fad5f8d823d060944320f440b74bc2ed426c4fe808b2f4b97f4c0efe6d615736e77900bfeccb98b71fc61c85fa38523eea7b72cef212d981c1c6be335913cd063b24291f1572b3ad346d04c9790d2a8d2f4a50584fd57f19b59046cb0be45c986ababde0bf8e75c7efbe72b0db60bccff477fba2901f348973ed79c3a215f77f1d8d02b9026fddec191b03e158d8ab62591a6a515edc98a09cf7c646e55f86cd857aaf2f745b39a7d93b152c4d1e66c2abe9be32a6befbc2291ccfdad881369367c53edb85c177a92485583441789579f2d3ee14a9d01b50fdfbab85ffc33a48311aa26dcf75914d626ac53d920956335d33f2a6dadd9b9597d0f80e503c0b79fd00080edbc6bdc0d19b7c3c4df786b541099500042f470818a009f457dc88512447111c0e4242e04223ed9ea5c11681eb35d654e5818f831ad2fd0d872adabbe99df72ce00f830fa6115c5318c231c2d679d0e3604538a0efa4f72e8332942e4cd99ff155d2297e3aff98ad70230a84d7650497d8ed19818f9f5f4a74e2f4489da15e066b2dfd781317acc919d1d0aa3ed7c641cf19d35668cec6514ee1aa47c6ac6c65f63f0da74cbaf538f8c5c792ab81b128e4c2dd6a623a2d934f14dc6279ca023d6bc02c87d7acf7ed986eeabb62f60dd8c617bf654f7117856f2c5b8393da210e94f63ad7a9af2bea5fec71d1edc9cccc1025111d9377433bdb49d221eae95ded07f4ab3034bf6299c60ebde2aff4a1291e488657228d3a978d2c41f04f38e264380b65538cef0d03196445dd245bb044efecc30dd325c4a039043778116ea7fdb502a0c55a68bdae982c489afddd998c1d1117609c62176269e14ec46082e0041003f268e092bb6e310ebb9aa02b6a49aebd04571894ccca53b2166e0a16034418b85cdb5e33bbe6d698ebc89975af7e92d711c0074b37a79e5ea257ba95f5b132d9e516641b3cf6dc20ee7f20129ac32bcf6d88fe2d1f7605f4b1f069478dea6e08ad524465af3907b6b7823b376cb98b8d85cd217a6df60c586484a73fddfbf77aa4c47eb077a0dd73b08da971c6f928b3a295c0d41ac42f58e9ccfa29c9f3183996e93d4bff570e1580b138da55a65b003c9f8a3b9b3aa72fdad935ab3fe093eb4f55b99520a8dc8778bc446f90cad3ab00e4cc8c6e708baf3fd1d95fc083c17ea41b452fb87cd51ffcbe0f379d5631cbeb966d9844ba51ba3c26f7fcd32a58e24858e72c7ae6167da38b8668ebf35f56efb6641ace8f6cbacd7b37bbe71f36c5ff0f1edc5d29670d0247c0031448ccb5066c48c1c9ada8f1080763384b4110cb800bcb5acedec69abc3b10cbf1032d4152c58eaee2541966351973b632d32e917322e81897c4e19fea071da5916e050a1973e7d67f047a15f74fba22065055df383ffeb14c9e1676514b097935e962aeab4877042db56769216c17bbe8444ff056c2ce15c4dcfc8f70e72cbcf3e026e6d4a320c751828a6acd2c8a677ad5091582d79f67c709bf4e09b7e3da47076c423ff6225ee2a98ad843a09afcb4a12f808afed6dd9529baf984ba9e7f7e2eb702ae725792a717b575643fb0e94542ff101fc3c7c342df68e1a29b4b00d5dbf187d410fbee90c920d114650455ce85e56bdeac9aaa4b021e3ca0ba480e3b357f67f775fa52f7bd183ceb3dac9f25ad2c027dac5a05a49cef15626c7b36a9c7fcb90425d8f71632cca7838b984c649e7b69af3bcc47b66fb77820dba73026c7dc9e83290ee73008dd341c2e1018ed9797ceb861d16e3bc4adbc070eb5ca8325a0aac90dc42b2de21b4cffe81fb9f798ce62f305a67154dbaee0ea02fff0d4dce23ce86f918550e9b4d65f8272ffdcaeeca4c2cba71f4b058b4abe9dd6aa75a4299c7221392892e5d99b79731b19e123149019b48543bf7c771cca788afc1dc9daa3c5123cccf13c5d520d155642d1b06dec07accf8579b0bf0681b8235c83fa87e3be971beb779caed935062c321c37a55f3d59ad1fb5cda88c39369a8cf9301ddf5a43ce7b64079e46a026ecc9235a2dc3d7f7577ddae18530c4afd3e66f4185fc77a768433a61de3bec019de8d4cec02fc4112ef23a39a1101c2d97f18ef696c0b14351289846e197fee2dd31ee60df54f13b35295fe19d9ba7cd71c85e6cb8432b235108cdf5a07bb7aba9f0698be23613a0a430ef33468e59a9fb7b8ee566446012e2409687042e4cffd186ad549d1c301d3ea515cfe554092a5391541a95eefd524d8a1cc2e94827d469db9e070ec461669546a294ce976b4e42b4dba0876efa25627279751873feb1a87c1088ecb24d04fcdcef1e04cfab92bb141022614fc57f52eeac714377562b4e8bb8381169b44dd73c9ccff80fd33c8883cd17ce96e468eece6eaaa68cd1efe1e0577518eb3a9a20adc712e81577e0c4f14725b6220924a886b94582f2f0aad749dab01ff581c0158d8ef5562ccdd4d609ea92ebf0ff3dff98822282971849c2c43271c1956b23c8a39d327cbccda39824829f15c9782e61cebdcdc2376bfc532cb194e648ab46e09f0bef3f59b4d14d72d1e766e9e2cd514c852f624a7835ae435c69c689fe2cec092c548a29d1d941c9b5ad557c494b5917105ba4a85f0396a57475bb4f53560c32e05488cba8b237486287d2b792d42ceb414805c52dc88d120043b233c537456d42d78c191893a046af0e3164ff97190794fe8ac6d6c28d8dbc611ef9f1cb5cc5c0620bd96528576701e3844345bb9da830908fc415e3b5ea00a530f2eac8d4d868337c938f1aed22c0dbd228c0f170ea85194a090003930c0032380ef124cbc3301e5cf922242d08a7f83cb76e0366bde4baae37206906af164d20d95266f483f2cee01978a3303bbbe52745916cd65478aa4bf05b1b75570c6e64317dfe18422a5cac73973d968b3206e7e92ab22d1369cb209fa2206df00c614be6d29ecdad5745eadf27aca06809f70f7802fe478f07f6e575ed3d56692ddc541bb275f9d59e001b5924a1dba3780fd63d06573013c641101ef08322d8d4c219493fc6d5ef3cbd6b68065dbc847b6f0ea56da1e0119badb02b9eae2e965461f058f4926868c929cfb009c3805f887c283d06fc3a4fa6f7acffc4a3f1384023a28b95e0cdfb5c06451b6416c392cd264c992457cf497effba1570dc9e97a3b3f0f2e8c01954999a2ecb0c1dfd065cb27fb5b04f7c7674f7f6b40752ece9885410719b6d112927bb5647a5c6a195e6e920e3a1ac11f68c204c003485f0004bf01c1a0ab5be670c81072e176c587959231d09db9274de855964010fc9ea7c962178be7792b338cad9f7996e69cab2b48a0740bd7ff8f76d2965bf6e22967ce32835c5f138f5728deb9d51527297cd0999f5a0bcfc3eef23a5d8da91c3168fc12e7fc10739d79e4d8f22c59e30e2b170c319fbb82f257f66f7376b00517a24c3aa1d8c86429692bfd9f84629717703ddaa6dc4955cac28719f9ead021098d3163cc11c2155e51d42d39e6ad55496049fd1bedc07c2a11532641abc9318569492bdf5284a13f421e1baf393c5eea7438d483e0d66a35ba7283ce756cd8883d4b33fc69eef377e85e67a21b2444c623b8c514bf34ed07514d427bb369a1a063b917f69d53a991af0e0282988b217fe6ecf937e0b049814b2db844d51a6adbc4ed387a659d1d054404d3d23a600a5607f3dd32200660c4d9de1163316a2518e87811c4c826b54a7a02b33f761ffe53d10a17f0ad7d557b210155eeb31bad13a6bf1f6cdd3dddfc4d5eb3456ec6a4ec4faebbc96fce75ea25342ed5d3516422e24e68644760fbc670836ea5f78715b82bfa969af2b20f5daf0d7f778df82270a1d96484fe56641f1c3f8845ea7cc7a6b3ebf73a141a2ed3ca75e02cd697a0f8b7af8ffbb9c7069f19820dd4e03d1186a2c3ee5edd4aa53ec32e0dd99ffe79497b63242d7cdf89cc0684e728abdef9b7b58f57350d1f7ea9f461338899af482ae6b905c51863cbfd33665395e74fbacfa95431e8015b4d3a0fbe3f22da850c9fdcff585565742153cf02a7364b4048c60d7fe2ee0b1758b5f1d62c4fd0e55abf715edd42362625ff5a1cfe4d21111d93f18dffcfc82c8b57e571dc65fb2cb5d89c6e3fc05500845bc9a016aeec6f089ebd5adfd8220c6c010d6fa9ab148e02afa7bddb5e8fb4f920c80927837e1cb7d1406d59a340cb4308dc0dd5ce5d3b928429df3ccd8ad9045cd365658c99dfe65f970091ddc9668368d40b539485e33cc5d26a3e76fc0291b87563beea9da79f2eb14ebb2eb21bf462799874eb76d56010708a25e9edbfbc4c2284fc1c5d8209fac9251a1871ccd89122e48048824c0d91215ba95468e79cae70b8f6a4f9a8648fbfab1c26bfdcebacb5529a03e820d4276ceaf351473664f2c67fdaf16a75905752e70218116fa38e99f499b5028757399e5d38a5f928501c48664701168f91d6cf85935b0f36011fd5745a61894529206f7c4aa04f7ac9db2a8c8b0bdabb670c0bb552f5deb0d284abe06db85d6ff2dffae6b82bf70c8369923d2cfee3a02d378b79524dbc9aa8394dfa5029411be2602a1bf07133308134884e6800c4a81cbb7e581fbcab8151938d3d0aaa453cce6810b69cce55b89bb7d0c0600c7c48dfa8c9452c3072e93a86d5099cb744170e0cf7848be29510d4cb2baa262776f29e12e33e27b0310e408d8a11857a0971784c2b268d9c6f12bf34091ee32d3b7abe33c12e929d3917638adefd656533c5a2b4f2451ffff7fa3e467403b8d84e3b12c47c60cddcae16627031c00ca36871d709833b584a0cfabc91452cdf5e6a782f548e539d21858fb543988424ebfdbe78eec76c2c8a8fd66b237d967be408cf748fe437534743bcc32252eae9dc7906bc115853321094a5065359bcbf9fc7a06dc0ee6f77ac7294e360d33d7fca5ce01c8174219325c957fee7819b5bf4c518bc334f3868703d91f9c3c975649706672fc74a66a28a8909a7640fe0728044827714a2c0260ca654ca3107a8110686ecdc20cc0511c48d014887933130f5ca3b77eda6e14826577ec7d7dec9b48491cc5cba9a386c230f116d682d12bc92730c82d4198873130ca76b1f407f74c38a097a8cd1deb75949fa6cf0b58164a1dee9d42c3256f93b36cd5672699dc711f40e4b6bb3cdd4caad42d43b26f2855cdffd6190c4d82b3095d7e7095a3e86aec53997bf2608ae6fe6e30609436d3227f6fd259787440373713e7ce1d06d9e1ae0233bdd6c12f7028a7b85465a60495014b017a5821540cf11931b5b5d3d61a3893a389ae934814284fdeca8878ce9059f8921f80251202bfb0fd63a72fd18c71373b6308b2699679fc3054a86ac6df6677cf2996a6a83fda4e55a13270804a3a8c8b3e5667f496ca978d67e24df79f5bf210314a1e1efe874b3607e6814777a7bb07fdf24af1aa43897df1c37b9c00e5648e71f04c68b220660487c31cc243202d800b7658476d48e5899130c56ab999b73a24044d74b8438052d5dcca9f6b71c927caa1bb66aaedcc297b665f422e06ef5d662c58ef546b2e21e42414e15ecbe8c90177195a193b4b1bdbb2489cd659b86bd3ede8615dffe68bde22f19ac04e877e49ee1df52ba6f279bcfd239d7e47f3115bbdb6e27aa88adae4ed090464cf171741ae80d0add408e14e7920569aaa42bbb82c0b5684dffc6f33538a4ac9280584b0ad877db85f6ccafa73f09deb1fcee054e6d264e741fd6cd2df1bdca80293457f50247f5be8768f65cefe0a8931e4815f6428be3abe44576f07dea0c46037e5a44efc5fd641d6bffbef08e7cb66d9858c06ba6081af7fc6af85c41690b1958eae959203bfc6265b4dea298a17ba4a4ce9e2437d4f16a327ec3e0045a4449f2f71b7135b72d46c993f80e5811004a0088394f6131c40c120ad11c370960743388950e08a819bf88ce65d7f15594de14e99fa28962d89a132a9b4aac82ce9c91c232c3e02956197d90a027b142a9e7fd199ab6a24410e51ecdcf8c00be4bac8fe537f8ae62ee393d3424451a06e99bde6390d584b3c2aab61e21a8d32de84b06335794ad98b2de19db7ab304991aa6e580b3642f2353e4d17bb7d70e68eb1c7f2ba56bc2a010ebf48cfdf6aa07b7a0ef8b96c84e70af7d333383b6161946934778a4d050023688c6a3f17d60e65827c81d81061baba045b3ff7a581d22d459f5685d3cd1a806f50e0a0db5454e5dd2d2a70ee83199c87af60a235216f25d9f83606c9ab126296514c834b254b5ce9a8a47cd095842995cc9fadd789bff1e7689dea7d5d169da3be79eb936d6659ff166dbfcae91df448e69ae0e5413b1e7c0c502e3dd72b160da65c7666648eb00aa785a718900198d4cd26ce230888623811b8c85f7a7302748c7ccd9c009dcc4e6ee58ad02d3beffc96b25fcf70e2ce2132c8daaf7586db1186fa3a865455e211f64d433859778c4048b4a1121e67a9e1dd21ff98d015eddd8ef44ae96185c555e6e52b839c1c833350e9f6825308a91edc51a4cbeb674098f68570dfc1b0183c3fa0164458214c776e3f5ab66844aa7247ea5601b7d12d54b6b1aced3bf591eb26999f231574c0c47c7630584b92bfd019f390cbfb9fd0343f46159152f0559afc666f531e9ec4490648d9e4807b43db70a387366b14a3b1efa5da21c51c21c5fba00fdd6c487911aa514e8ef4c039156a2313ec3413487bdc72ad058aaa83394317c7ec3cb663c39ee71911f68ed172f9630c8ead94f59e19efb2cb6f2bee9ea9cfbd5c971aabccba3120ffcbf31022a5d6bb69c0e96f78fb2b66244b503c0b27210c0397860562a13d35413ad770f3017b27f7d06d8fbf61aef76762d7fbe22ba891bfbc1aab6aa044b00302d8b0bdd3d1694ec0e212cbb92ea2435b71db37dda85009f1dc651d8dfcb5f13411c10a8ca7eb25b64fd2e9e7af9ba6c07bf41e2c683a9f1ca6dab076fde5a499b87dd2791e5fdb845d1e9f7e43e4b386f38c7c073e53fe49588b856e049375a36e1a8a037a98592d1ae5a57df2f0b126c10110bf2d3565e60fa7a59c9042f1377ff87311bf9f139f0f45182afe3aa71016b372bbd810cceabb97d1e4d02d179ebe052ac3887dcbe02ce73fedc87e4888439e1ddd5b73c40b4ba2b6621f3cc93c0686d112d7d780dd8d97d93f01bb9768a20ec630b1ae241cf02d56cfe249b29d6bd5c5842339700719c23333cc44309dfd652d006d89544c436676266347d45e842000868349d4500ea1708686f30214025772845e41a8f0529fef9f467d15a7f6b362298e88f11c8eb16ae9d225168d4247d23feea7ee3e96c727254e7760bfe767837adea7cefc4e562f9b7265bd990b65b9cbded87e445f5577bec5e26b7690471f15e07e08128b97e905349592b729fe0f00563b893e78491345caba45d3c965c7194f0ffdebe9672d365e9e206beb74c5be5c748344fd4bdc3bdadeecdd404a75b0f04f29095a27a67e9abf0de5f1145ffec6819831c3932b95e77c5c38648527b6a357d4d2ad175d0c560f9479a597f0665fd916baddb0be43dec37c7f5cece7e329eab4cdc97c59a5e45934692d9f369f90d38746f1825ad97f899e5649f9da685c7582ba9f29f774731914507f3f00bc8ba6a09a4e369d4bfcb2b2114afeb6510b429adbaf04a2db3c1fa0ec94a93b2c1acc187a647430c6300aad309a7d064e0002082b8009060359b8d259e01a1b39026db6b8262fe3937e17e7372a9d05de5dbae72db4903cf0a71ffa34cd048c281efa176ce4bb2a0bf71734315d2cc71c34299b0f4e07b03f07428e04f6e61f6bb15677529ae8d3ae7b7307decfd13991dc533d22b239ce1a7f27d018961c45c251878c782424b2f827255d852b21c0e2fd1c6b30787499b2038f6a919f8057350ebaed32d607e9957a7feabc7fb4e5b84afcdecaf3a6ae1339c05ee971d348382d8003ed735baeb0c7ffeba2abfe2a4dd7c496d476b64a8a77a1ad3e52475b60e76ab386a747e0eba694a1433d7c5f79fc085f9a668e602abfb872c898784ea8c38e9163bbd4a6678d4bda0805ef302195e73795433c8ea0f94330e28a644f8af395cb31d0b83330d082f8625cef6d76a249e5c4ef5da46a832342fb68b3523677ef31478f7045b58bfabf10e811015be622dbe19724e45c0a0f5f174b4c3b2969c0b04b3a9ac2b60b8b1d5ec120405db49f1ca04d68671d02c7b11795ad6ac210ab0ae1c9a56d2b622af23882d79127e39263454a1e28af60ed9d3e218404000c1592414028d0072accfb4070fa046fa16cade4a6a6020527e7ddca7f985173653cf73728cd00c50aeb248edf22c42ebe0b38293817419e2fce0c2bb804e5845e1278beedc51c16bca0377f3702b2a2ad3667eb21d0f483d8194f906c2fcf70acc037202e164bc40d1aad9a9da3d2f6ef254eafe96d92f496dc498c9089bb0c24c9a4debe73661326c3e9331f9fc9ae7ce3e7c6c9c047bb31f0f8b2fbff62a69b6fd543a3e221ab5100d7dcf068048f96d89760748b16ea2313a29b17310674e8f654875a4ce9ae3f8e756b8a6d74e397dee0390b6ddc1444ab14dc3fc11fdb7e2764839d49cf8a09405e353daa0b37adc09298e84df36692ba5e124ca701b9d6fff8e599e82b4ea330e24b9c41132e1b594dc53ab1071c5fbf481168ae8a5d5062d7e97a755172fbfb71931002558e1583d12591415a28ffba9f426131c58ff3a981a841b694ab8967ae8fc022a7a2faaf575360409b6e1e24409bfef84ff8a5c6966c77907c6e3668612f08920049633cc509d620860f1e042760b85ea651ab10a576b005ae3ccbb365cde8b1aae5737d2b4537a2f59590a616aac73795fc7b732d6b5241aab7ead4c0b8c9652159fe9b61700ccf3db91fe820e2a28f7b87f472a37f77f2fb550536f16d741fb94b49f265cbbf5f4769bba816c25612189f10891ae0685c8fe3d8e3095e088ec732d7caa0da6d95ed3be0ddbfaab36a8688140edd1a655f720508afd8f957b565c448001ded1d39ab4b1b78e12759e5fafd95b8fd024892627c61e4084dd814e6a95c9f8c046a5cd8d22daedc9ae0fa3d03fdc8f5c6af956f5ede0ceb6a5e8e23bf036a600d6508cff5d91015951112ceb16eadc8ee022cba0ac307072bce5f591acab6dcb2bafd58b9e41772baa523620189bd6e31703864ebd29b3d84d806a71c12e4e95ce6bc2e88b4e4dc2a52464cd4fb8d01600155b0a2866120cb8ac13487c158816ba1a7f9e42b620b28e115a1628926ddbf7f916ecd791e7f5e12327f99e1e05d3896b6bd0d62edb8d7337feea2bb3cca0169efc5fa8c9379983f0f42b7e9ef5739dc3b56b3790c989259c9c6d7bbf3a8856947252d07f9e75affc802af3df25f12c2127108f4e7f76bef8dbc1f5c4f337e88e0be9bb971ce75aff5c720e2ce9a214767844337e8ad2529ee035bbe9ec591aae964ecb775385897b8b12cbc491c83fcb509190284796097601f3ee063c5227b0ef2167696bbdb76f75ff4175ceb3a3510f71ff957e8865f118f8365f12646ec0e3e8f78e54ec2f0d79e0b6afb7fcb100ef116397fa763e1687e226f092d2ee0838ad3cc4a81065a871b907dce3bc11fefc24093a62c2cb20b1b6575ef58ae4e0b505f639adc892eb2e25e780428e39c4c037f7f1f5df057f118cc054810e402859312330443111c83719ca3c0c567d0286e06993f253f4a323ed5e0c48a3aacce5f1fc025df63e05fb2ddf70da1f175385572b9e69a4b38b1231da71f1b189898714d581ffb7b6e725a79da4f1af70eda596259c72dfe5edf3f0648aa62b7db3eeb21427ae90d0ad272ccdb2d64dc123ced25463fdd3b19bc01819fa00cd1110acf9bf00974deba116054cdd11c45125e9042b7877268bb7028dd7b8ddd6ff92aff76c68bfbf14e27aa4202bc226ba380c53e084f999960058e7a6d78de4d86ead580a73fd77b223301544223632a0b4af967157e75b81f10151d97b3216d6b14d0fccd8335cacbaab1bb0fa58792f30cd4287a502470b5f9153ee3b2df763992fa14b8fbef8f9bc72d4d3caf8e02aaa6278b7aadb270c87ec28c0d9906c50f78222692e658e932db8713638a1407d46b0d388dc2bba4638682340d44211c163070a506401971bd1794f9f052ff7a00d443568673666e0d6d25890df68d13bf9530ac4d7d4ce2c20b2d477b3a1d355015b30b0b1d8da340cc12eb21fa7f1997858ec53fd6fb47d994ad4f7dcd4326152eb5c568176b800adad71f89736a48a77c0e85e4ad56ac9abcf0ae4201a5de1903fac9a79f18565507e19dc97ab48b8e0571c5b261ab876eee6032aec5bffd12acba1ab9c31d3aef3ad15c67407d349deaebd949f498aee2da36a2a77dee72cf746cf61fdcce285f25acb0756f582e8f94b5779a932ca567d1ad7fe461c9cc43f7b127ada8159fa8aac7d0ef8d7642547bdfe2e1be07d0d7879d85f9263d33d50a3cca513d3d93bb3afc7e28a6af9023deadfbc77a02205643233ba7eb6ddf75ee6453ab5b4dfe6ff75ccbfb7cc11040eb90995e77eff193447370c9b598c12c4a931c0de120105c28736c1d2c7c679d3ee54d43fdf2b53b33be06e62700d814a21cfece823d8699cdc13e7589cba41039d483f5c1d69ae9ec067fc9f5b8c17777b2c64433d1c104eeb29ae8584163ef2677a875c7ddca9596a3660f0addcdac9419992a579fe072fb0a3602c64c7653ce49bc02fa8e21647bb33061f70923ce20690abf37e253aa2391e8863e9da177e20fc7a59314feecc4a379b08f8c2054a5af14c6bc7a4c35d9f6781b053edeebcb0ec66b2f88b2e537d0f7e2e84d6a4ccf42bec10b607730e10211866ea26bffa8967b42a85f53b402949a20c9738a1d997def5552b7d50441c2dee590223255a64540cbfc5a99fc995add0e780bcbb17a6b2026b40a61a1ef3244784e44b639f5bd6eecbf5ed7862c409690a789c72c38baa748f9b4bbd4794b5624db057fd79a4d23e0e2002ab698d3698546ff74e64862205e705be9e8d69b549dc149fb09d5e7588e67626692101dad112591f7d21912a6c8c336bd0aa7e08d9dfe6d644db9c9e8ee1a77d9051c56f84e00c11df4741dabdb662860f5959eef25d10d06aedeec91b2c3146e364da3fdee0c1542b8c3660f03592b249989249f9b88355d04401693e06dedb5e1d7ff204c3ada58db65c0df9ecdc76034c545eea7aed0ffbef3201a1ba532e9c11ba712eb52f9a2221cba168403fc02fb821d4377d674ce2711d4be900e1f6f071c5c743ba2f4fba8bad4ba148661f724163e0c110c4149584b4a8ddd57d9bc3714b4be5a9146fd2d2db7cf4d47aa87eb36b9303488f346a53fc134cfed57a7831c0b0e8ac83ee2aa5819f0ebdb728407a916b77a58a738f6fa00681d4b631adcf2a56062fb2b723c070209868020aae0bae350d0baec03249447b3de994593e1a97a5c2a752328ccac6261675e2e97b47b66dd4e58643be68853459574f4d76455099799bc76c4c4f1f4cbe5b820785ac4e0f16265193f13b1b687ffb14cdcf9dcf3bb1f43e963a7f721521ed5daab894c7b9bcb4acdb792e9819f7f349c84d4f7b970a5ace39465ff0298482d0fba9e9cb175f718dc07704112efcf85a5eb08883cfd17857e772fb1959e1d38e0cc182b468a78afe802c7b2ef63fb0a8552c1a1d568681d26003e04aa5d4c5371ac6086c2fd3297974d799fa5c12a41287dfdc5087c42d289d7bdab675a8dea09faee21a19b68205dceecf367ef453733520ba91dff28dad4f177d58d5c838ed7586bd93acc628445e055996b2889375d7e799a462eb65f11a0c2661fc732dc490fe38a3222c6a690f75d2f82e71bda822de414f19b3a7d1aae1ff2ac72d63b7171aeeaa79300e735ff64843ca4ce4f6cb8a33aad9761ac7d0ecabfed62365032bff9021ae931e877c7d3e8f841653a06dbca8660c62f87cf595d8c5a5c9173d31cd8ab1469778488109240b24f04430a4300c050e11d2c215c2a1bb77f7bd53b356019fb99cef9e816c3a6498fe00440f11a741260bf7830a7f4d1397a23ba4250e2d6384201140d61148c63606a665ce0f20e871f5ef037ec35dd9dcdf991ebfde25e6e5b382f1a242c5b9994fcb018b1dd8d5e580f55147fd1f7a85051698f77912422beaf2ed6545a03274a46487a29cb3f3639d5094fc92b09f52ec57c058e79765fab6b0639630c5ed9fb630235cae5009dd71c9a47d60c520d2afbbab532006cbe46316ac477f111170f8b33e26607f9510d741b64901969d2bd9bf020bb67493c338786c1d1e43712384f0b23387c692c0562137db578499c2398e03693b95a6d5c0798b36717848d894927376255f616938257e3574551f5ce5c84bec313a856cca61558a5399dabf4e6497ccca8b3c608594c09b2e0a2d9583589805d43d6e58fc11c8847802e02c1eaac9fdeda2a4639119122471cb225922ea430ee1456af2fa77e7c98efd22ac5ff13002838a626b1d1170dc6f8c20b4c628621380d510848c338b894166ddd5dc5425c1a96f30692aa59db96d02a3924f502faddbec808078a296595dd8d71e232cdc6e07862a06d97da954025f6ebea5b829d49bd551bb948dd3bb8cbe41fc633f1d4fe3e9e5d53b0a8adf9dcdd6e9afe2d19aad4a4602471039f17a8352fa0bc5eee0996dd2966362ccc3ba3626bc0417ada836b71fe365c49eb27426be886ee5758e1e789a49c21e17842e9b8527265668d1bfd46123fb8f6f6aff404df13aaadc659729f1412507df5f1db80faa74c9a2050682a2aa58dde96c1906abdab8d6e7290075f33772c76924541f94ed8332e96ea42bf53e07332f8d84a50b46e7d82dab826bb2afffe665509744cd76bffe4297b15878baf64a06ebf19134bf3861526fb373817c3a0abfeb51652609a5232d77ad0560b0540f95fc1348464678ede08df0b72bc30cd8bd7234843a4405018caa15328705dd57bbd49e05f3727ac5faf50242eb06d4249d9e5905179dc6b97b06ca6e2d179a8de49a4fe7cdd2a8708dbc46555e155674ad22d284af2f5d25ccae4355d01bbe161891f6afc73cf187c2ae0bd720717a1ea244c75872385698b841afd873b851cc2a69a748bf150e2a42a381223c0639dd9e5b6a948776ca27f22fd840a368d8c6f81ba4d85a15bf2be9b8a5414aad256ea55bbbc858a1b31bad86de82925de57404cf0ea057dc080caeeac7357ae895bf18e1758e66bdecd9081a88b2af3e1b0667096dd5d6ee2a29bf783822739c8de8fcc4bdb7f896132a363dfe875aaa1fea5d5a83e903d32eb47b9cc85425b753c69e0bfcff1ba20306f8ecafe9b464d87feced346de7ab7e3f646f6ab752e53caaeef0715a0eea27faac071a1983501a0ad20cf32c339d6fd3766f25836687e1f86d0008d123588424881b14280084f83cbed0b9dc2878e7dfec868fe4cadd2599dc94d5da47356ba51b91fad0c721560df5f90e94a71af25595ac445d8581f1c353e975e105d5262f9ad9fcc89d0cc4ad5e5cf31f0b7a1f16bf9b3aba5214ffe9a0b490cd52df77c3d92d7b9d628d66d02b2c9435f9848ff60cbee53df7fec4b46a25ba7d69d1f589d0ef839404b8f6ebd5e4c879370e8b6c24978a8261daaf2f87e646f98a33b024cadfc30238a505473756ef93f32ce5d3230bc14a142003bcc59e1dbcf0a0d0c406b7d5aa078de95828bb219344d08dce8d66726a0f49ffc9d1e8a578f21d89449fe98bde3beb5460b632faaa4b458abd18da0d35ed40a517fe4d08ed514fb6262263db37cf4b4a2798a1573476c3d19db3db27729066fb14ca3951edd0ed68598069173a9acfa00ca0370ebd0329a9d3e077a2f0d9130c5e2def70c22f8c035b5207153f688dfea813487c3ed7eff2c5348811a4bc01734fae9e830a07a85a78aeb98018adb4bb015ea8f11fc59006774869107a965a12472ac6c85016a7606ff18fcc1bf8f65b4391c45f00d8cf9c69d5bf0470806d5150a0b3d8d4be908049e3944deffb607a05bd49fc5a0f9d5d4f54718fd36a7f4769c1a9e4f71abc8eb92224ea35b44bca0e18ccf733cf30aa7defdf4639a9323b263a387f1f252aa7c1ceaf2f80259d03f23c411caf06639cf3ca3fb521525aa392336d01db40a2c5346e1263e45e846b3f685bafb05bef94e7ef1458f0564b3c75e11c3f007718a3996ac1eb50d20ba8e6153ffaffeb31200d7d214357536a50751e1769b394243f598353a13d4bf7bc96672db23cb7be870454af373b5ec0bc8dd3ac1831e4071edb4ee8053353a086c7fc50c21081205098ce209702d53ccb6c39d0c9ab07ab6e7240818171d32e87d7aa6185bc8169a0ff4804d20e6a9746f04fb523381d934941ed4ae688713de30a31cd2f7df5c89d57de0b2e4b8775aa2e6821740c8ec8f6833e733f1c7407a3d890d3f3f28c3b50cca332ed128b394842e7608b2a3ca0b4ce81a9d2920f3328d52b59eae6cb8039390e8914a9f23abf0140add3264e4982b88906f2303d30d3a08e413a53e9e928b4473f870bdf3a3e7e75ad41e6f0fe7e9e1da9218c1f4731310063283204ca2ecf0031da4eaebc6821ec00743b702bf81178a6ae60f375a4226566ff199e0e0f1923d99830f617effe8d2f97292366131987ab68a47f962f4822e4b747bab09bb4e7d3cc2d4bb44ba580a012dd9c506fc092cf9ff9cfdbe760161f5f80132b134619152ee71a9cb25db31e9ab9af28b1dcb5a41208c8009900d5c0839890314a362d1c892e234f1157fb1ac7f5f3cf1c0b1a69ff5d3b17028f35d77b2b5bbea72ae5c66db1e9255d324843c13244ec743c6a23f9f6b0a4dd447ecf8c73e765ec87895b264510a6eef3210ac6e8de8951d52a67dad8c88b2dadb9542686537ec32c7c231c15dba3f82d708d98d9f578895ffe3205bafd34395c067df91831bba7daabe03e7e8fe5e722ead60362611fc878ef75d004e71f08dd1dc00552e645fb1c9d6a6df52b6ab9758f826d614aec7d23c180a4f14526c7522d0b62b5901fc896ed67a0bcb92218d294859216cca8b5fc3e5140a9d173cd1c88712901be8886c89510016cb36b2e77e2aad4304ed33f321f85022944bfcf26f51bf02af82e41edc9eecd8901e41d3c4b9fc8100999e7fdac62ed2d959d900edc5c7d489160de6403f32a3e22283d2dc0ec61980c231fa3214a521987cf0c9330303573c20f795eebb90cf14a9d66982fa03e5b9d830d7b14567101c2c316e78f00268ebfd6d6ce232991983810e4c185c9523e59d74bc5b3e59d0bef08a695482b8ad3578cbd65925ee9f3baf7adb92a969004f51366be0ac0662f8783b9369fe577bc1aee0c957ea6bfd9a399fe06514a54b0ef280036b61a4cdb1bd8de259940f558ec55beb7e4c9a5fbc8a9f185c9fabf95e94f32386a93977e67a7f4a0aec4e7f5831f73d084d7983d3c527032eda0ea1205793954a52dd65c655660a5606571923df36488db6f0c5b8e83625305ef5ca0ab39182632cf10291b4326ba1a333afa8d114d2d458c8dc82f22798f27d13959f4106eeb53ed93b626bddfc688fc7e6c2fe9c346f953819063a46347041ef1a1cec76cd4703aa4999067d73281fa55202765f3700a2b66f957d20dbffa19df4b2d3df2730f6b0384012483d6a108ec3020ac130440b814be2dece109ffc47160a72b89d88f21e82ef8c28efe72e7abd99556014cf1592526e46abd314f999b5f26b9dbf0ff4c3256184ea89d8ae136dbcab10cb0eb54b7dfc635d1e279120ddab5d851d9fe755f9b755b58e48ff19e05e76b5e4a62f2f452c8a28360ba45dbd2a8d2fdeb31f5a4422160f3df152576b5b615ad9e10818c479ab711add46fba6049cfba3fe54daf25b4fbed95324853372a16f567c2b64042ca024ed0f6fd28326d2438cf85f71759d9f63257955a44ce56ae9bb92ab8d799cafae4d4781f7b9f04e37c295687fbb2cfbc8c35e49aebb12924db62ac42d6a793f3eb703648072485c3d3fb32796eca0353202f96a314c4e5a1604289c902633efee2dd1987f2089d4fc0fc52adf183e9b062df1d5c48e7c5e04fac14f4e72fce2090644c00885f44e5d1462ffb5f7172cbe4347cdc5b9aaa8cc17fdcf8895c8eb35b8feb554d1482ed58399b33f2c693026a995d0c838a278c67363f1f989a55dd8277a895d28840c14ce20005c1562480609210924fb4410142a6200621830981326e408653b545dd07befe169fef3b46a1c2434bb5a15b7cf0950f4b54d0044ec016087f6a3bf02dc868ff84b8c803ae5741f0e111c840f6746155c38b39fea70dad7fd7ffb03b32d26c728dbd742a3507112cec0673afa1cedbeab80551a9b3a340b900e52ab134d11c86c35e8204c9df8545a679f490fc73083a30cde4edb070e41154393b8567c7b8f76dc12bb143d6a8a732ba9c194f8583e04b2ab5b074a4a65cf2b36f95b8fc317eed4b0a02bde9341f4e3e77a015340191101aafb2d58ba71bae99923faafd82265b63a2436f4a636aee856dff3ba034adf7185a289d9ccece4f9c3352ac92702bbc0ca6d112f11727badbb1750d13d4755b288e5e9063a1aba05ccbfbc5162f312ecffed9fb85aaf8c936c1508466a347f0a1eef280c87f52d04e00a3e7e11bdb4f69ab3207bdafa04e8eda9adaca1daf314e1ef6c67b31cd123b20b4c509da3701c5c22abc1919ef37f7f5bb2cb62014af8a069e814de6f62cc2050109056080ac7217031169a37a4dad7ffca986e2f342f6432184fbc09622b298ccc28601c3e187dded23891d64b4ed1f643faa51dcf2e6d47c1f6e43e0ced962884c9e5df0be88c8710ff18968591110595aab872e2b4f6013e44274ec4fe5ee5c2487526e9f6d73733363cb88b31527b15fdf8e4631e1d73fa9626b24b0e6755d08fdae040eab8a1b14a6c9cd00d75db953032718395522cfea12f63583bf066265313239f3c3efecdb10a456458476df18d86b9fdc570ed890b75e6d5bff23d58bacf0cb3c20c280d08ee9d7d1abfd8ff4c9a9a9cb30cb31bfb7f833c213f973a1af3cb653e8c96def6201fb38e52d7181320b5fee241fbc00f33e86e5d5e68ef3cfc50fde5c513e8fab73c9e88b01487ec1fb05b0648017fbcafe36a33ab4cc290cd1bed4b018aa59fb5060070ce5f788ba0a208f00ce305300e22704d475fa946ff962054389d0086e60084c44f57aa7ddc77d2f4d8cad82c2644e553a3d11d960507113b9554f64721046fa9b5f1fa2b1b9432463fabf1bc29df0de0dea18ad7a877607958a17623adbd02a95f762477fc74c1d1c2f1872f3af83845eeb07163848d619e51789ff56d801a44ebbc8aac831973e7d2181af5e9903bd77e960a17dfeab66e6244a58cdea54aeffd2f54e391c4fcd1a02aa0c06ef9b15f386e09958ee784dda5a320f2b967c691b66f626533216db80eeb5119d93f3f024cb6467488e114db5003147ec631da24e896c4adb3e5569134122422da74be9f7c1bf91a2b16ef795c0017e4d734d95ccb8e84a57476b3d59f96bd13fcd64c0a2094c8f33dce0b21bb163ba81abd5b9b266bf448ebcb0fa7798b660c16a0f816b5e680f5d7dfc093fdbbc0b3e078178982b1ba69345c5b7dc2c5852b1f703bafb9ea83a66295e8c231716a84391e71a9953ae3266f16b980a78d5fcf0201cbd7ecab7e7ab9f7f8874e4b18560d0879bbc9370aa55ab7fc63650aeeec273aec341ba9497f0bd89e504d9f34f20814e0291c70718b82d5089b472b4ac5e14f9b3e8e7b42469f89b95ec2c6e90848a306b87177c21bb79da417e114dd563224da2652ebe0cb45064c9754c44db4fc2843028ab5ae68c6325c3188dd3b4dbcd3bb525a319573d405a75d3e2aff5742da80561e7bf3ecad1d5c1bf12f9d19bf52762696bd03e5395ea70f61f574926d59d0fda03ef0e7fb24b0baf1f4947aa4462a3ef1bccbcd712c797a26004ec4a99c917ea1c5ff8c151a09fd144008f95f0b2ed955d81335980ee5858634e80219c33aaeae462c0391f2855eaf87fa9b34cfd53f784fe6518359986750109a86b218b8d6d4d040b5eaf60db20bb000b94f63c9377a6c5f83148c5bf0e2a66437f900a46104a86fb655f446ce89bdb1c20d40229b8bb49e18bc70e190bf8752b6a9f1a4c1dbe20e06681552034536edaecc4b8a218164f02daa79f6b20a66ada575d9efcf976409b9e376963726f05844f1785b1765e550e8b04d4e0dcfc818b528ace9cce0d6fd162cdda8aebb098c9f68cb2362b64a4a23dec4dba5954157d82ea21bc6bf5ddda9af558aa29d3673d7b230e3b35bbd33f0ef514d83fabc85689aa9375aecefedc0d8c504bad59fc0dea9ce3495efe67cb1196c695f08741ec7e473bc7e838cd4f322d9ff056e249bf2bcea68d86271a0b18f04af6ff41170784ea4eff52213ad8f09f084188cec5fb6eeecb3201a3d22d4d634b3b5189c9724202f0214f29993d8188b073b5c42fb9d891c8f713089d20c0653706598acafc7073e01411a871648098861c4bc2b9f36bd14bfe1da846ed2589961ffe1830a32ad0ceb5345e61a7d9506d24dc6e458cf530f6b45bf8be6d147da7d193c5e0cc7ae429aec06ef1f49b3e81c122b7e477187169abd62b8eb331a49ed57303027a8b846562d2d30f037e74bf955260e4a27e16b4328df3a9b16799202b2accd6ce11bdbbcffbbec67c60b211a033d5fff02a146d402f4d4f605cd847c9f980ef0b24f1030c80ed477aed80d83fc97dc522d6f02868153bfc2b4f0cb3b278387c1f45540b73a152f4451c9a6dcb4c84a493225e3f5b86cf2885093bdf5446b9133a18beb174c9ac8f081c5adef16ad2a0dd86d914fb5db495d3047eecdb7abe625f64e2ad74bf6b1c9754d4ec93b965411858d47261af779fb27478016eba94c43697f83891a46d1108e403c6385b20697de48080fef892d6671710e6cc68227b105c278ad83534b87ee7970f41c67c1f669a6604f7b170d1710df14850729cbb8521a4bc0ba36771ca52ed08f468aa6c8e031cd9ddb2058b3bf93ffb052f74d49a311ee66d6ff2197cc04595bc77b6b7703f57aef2736778eeab9a12a6198eeadc96ccd206d07bd83769f4e3a43ab518a495a6da67045b71fc75430c45aa423f666dfbec562d9dc5614795f2f3e557c5b07c3b8de3822b970e86bacc99ca7e9c7ae34dfac6b52911ef4da42ce1961ce80e277d33e15f627e84600c491967ac711c637a5f44bbf07d4f41690dd0915091aa2bb57c26b966cda25cf702d352371e0652d94f1dce4e6452ec17f17f86d4b72c43275c0a87ffec7923de995acfbeb2deac1b8654999943ed0e17c6b272b40a9f76e220a1ddc4f7dcc481685388823780406d7270db1d1652db497d7ad70bcfe61df21f93f0f96c838041aeb08bd514de7adffde71376151f74b3f254ef74af911e012c04fe6e4d58505b9b7a403413f1d53658696bf512213085a4549885d2b0155a99a4db742ef0d1cf55a696ef32af8ec55e315b5ff4bff0367a6e64203cd1c2f89684bf14ea063717122def548528a2c72733d7df069e0fb3e9c8faa985015d47c07d8c7fe4fe6f14476a2a11e5f98a95ad3d4e9a75f280f95768da52be5ad12e14b231bf95dfb77d32f57128895d1bae99b60de469321182e8c302781f70b1a17dd76fce4afb5d29696c0af224ef7b4ddcad56b32ce5d5d1e6d2317f38c9467246ccdfa41c636494565b0154ae13514be8640cd87af6c27a18439cabda44fe2b23b92cda35e8e037a433aa9f4274f1d3be873a403cd8c2a529ea7988822079e4ce52749aa7ba3610c670d6384c065cc3159b41accb22486b418dbdda1fc3013b0296ce05a98e2d1a54d606e6a59a72b4831315ce25501b604c392e5a64c5e8e1e4cbb6ef7546d6966f8a4a1a5caccbd139ed4c4e6d7325d7cfa8948f7fac876b0565227e0eb77772a8cfbce5233ae54185b240fbeebb3ddbfdf69b824d5ee70f03f2d651575e1037a85babf21436a492fc20bace88693ff29f064be273be86add2e7ab102dc409c51397a77710bd2263bb3717d442264ba4b751060f38e46cc674e477dbe166626397a83d9e7bccfb589408d057202ba75270b45906168e3927e29923a16f8366c52e79d51599fa2d6069dc4bcf366b3b3390f22d3ddf02fc8babc6da2d38a34bff3607c5a77831d1b6d8c1f8692c41c17d97341b4f08b8c98db0ed47eaf5e8f5654568aec87001468f7d7344e86a4b9cb30585143498683a20206e3300aae184931bfab7b90a7b07ad3a4d577f395d1e415468331588cd917a770d6e698db0dd3e40b54b18796a96c117453b4e0b5f6dc9363ec0c15b7c431ec0453005088e1596581b5fbaa7b8de5423387d6c4cb5be05e22192a7595c080736a618f5b463e0c789847d417edd1eefbb3278bdab9c5e413e6ca61e83c7e5ee47c5cb3c09de82aaeee872ddd16ffe5935f5a381f2fe546495d63f9c83d1e112f6fc86dfd194b12f2ae6209adb77d6041823cd450a27e462cb6defdfbcab8da1b9f8dc8f6f60027e0b9e1cd7fa4f04bcab415fe3f6980380bee401bde90ac35f3b75eaef263c81168b5436a0b7fba18f82757f41746da21df4931fa323f05e8fa3ab632405a3d15720f8c8ab3b2a7bd71235bc8af5aaaf82739bd5131b5530622fa3f82c8992a40691e6f1c2a05f6788b1a0d311404732425101cb8624bc4c8089b3f38e253b2e7cb33792aa7bb48741f02e5697a2618879e96b4b93ff7f46109fa1d707cc5f6ba673da9b808ce770c291b1a7dd9eca3c860caca71e02e2bed721c69f5f619736ae0713c3fddfd02bb9ba0c92ffec877d2891e2fc413bd469ce9a8585b8207319c08faa8ea891fdbf1f6da45693300b2facf96f58e8b57d1e8806ef3bb0dc593593850e80c915f442e01a58498e5c3415f1560ccbf75be1fadbdf81e652cddfc223168cdd90b76197b8b2442ce9c05d9754bafc031e61f2ac81a30bac168a40174fa6bb0f54e6bf72088ea48bf9cc3c76cc9ae8349e0fe796847629cb6af45b6e815f4b18cb9fbe6c27f451c9acb57fbf13d4c6b5d8eb875e4f2ac29235be6f9aaf28c61cdfbb7f9f7227af16d83ef53bb06a0949dee69f282eb501a44f18ca777c6e2f3736b13888138162c003cc592c62728908a64c84f51e4730f7586a1384b232170b1477b0b1719c991413c5b65fbee2d752b7b5e439e9c7391b7c1c660c1af46822836e2e5fefccf02ab3ea90bdcb875f455770ddb3504ce819e70c03f287193f0c05d56f44d310e9210e1336c477405f30e732963b8f699c13ee0bbf5edc1fcdabb2396edc3704abddfa15ea0ceb7add2bae2bab9206fc7fffd8d95b72e236b7e5a8995862ddd9e965a16c6457645e25840262e28565117c873d5ca3561891a743a021e6e34cca0bdf96d322073e3d9b07eb111c9d76e573e44f78e7a9622e25554df88d7c6b5846e0e8f09df145156677066eb76963b7f1f770f4abe09d3122a0693b0ae8b092372f089770135af5d2d8ef87aa46738064e2e2db54987190ada086e0499d97717d1645be526a62a08c917fbfaf958f441f9f6081431318994fd684b4d26d9f6f7ea9e6c75e43014e219a4155c2003d7e109cd546c6042d2589b5f440923f1d8485b1f499422793b21546075cc46c3dc23abc5b62e19fb6abf7a8fc93118bbf1a9bde5e63409e6104f3fed0c5ee3f747fc63f5c81fb6dc0f682c4c938b3f900ac3849e9de903a79a0e764b7a057607ef33d9e8621c70b85bb983ff71cbf19958bf1865cfd118189cd9b38118f04e0596395c38e836a60f993a056f2bb0efc0fd32bf6fcd35e0a68d59ef1cdf9a2ed969a0afaafe0f049b7db89dfcd17407446d8e8b9467ab1c509dca4cf0c4388737213d359687d0f0c4295ff34c4a3a18bce6fa87d2e7c5938e525032a1db3571a797bc46977f2403c32d7fe5811e3ce2f33d9a79e727c3e6b20f47d39656dae6b9c33cad37713147a8b828458040821f5c75aa9cdeeb326c41f264cc65d414d888de8c24215a1b9f036513480103c355361d7db77df34615481efc9313f35de32ec397618cd930c8425903c1735d7c06f832a0c533882ce9e54093cbdb56043114f56b36b20140b1c8a636f8cab80030c2388404182af88384302430649f088614860080a1021a2c21fc34d99f73844ab335c6b9f331cfb27bb04cff9d36bd060214d467133809d6003043287c136acc780ecc8110ccb2d65070195e6c5798f14d327c9d2473b2d3d0e23db25fe97dc8493d3ac756d9f6ab3792e8ec8a3849beb43edd47f9adc31f638655ff612fd5695607dd33daa9d87faba4fde63dc3f3b90414e53eb2b0d48cba576819e5536fcf32d6819a379be2fe2bd75a0b86c5695ba770fb92cccb98db51191444aa0ebe29d5f0f7069f24fb9d111f67f55f2040b7c448444f93e8cc1b99204d0b65f308715f3fa151bc29cef5a08ffde293106073e1fbc93e78a970471b0bf4048a5efbe19e879355199413ca03a82e6bc508a1f6a1db506ae0b8c66bdc49496e07b372a6ad0ccf51e568985d0af75a1ab9d804b7f1417cb8d8ff3ff5c736031b1ce3451fee30a3eac2f09af27544ee4a15857d38d211b26f35a46a7c0725f6b8a8947aa30fc942d4ce8aab01ca10887afb22c41202bb3403e7f50c831302058370154ecd8ac2cbe48fe54cd3979707cc796ea5d5f1495a79e60a597925b49191cbbdba0baa6255f9b6ccc3cfe0409fa7d60dc5c12c8060834c83641216f9cf457c7397052a62aef9423d3b944915db6e1f66f960fc396515a288ad10684cf706c57672497a175f6f63066d3981d599375a1ad547905beeb6d1dbc187c7707b00e4c9d715742373535489449e3cfca47fbbbd7f60f5ecfd87f0d5619bb4a09e8f10bb4f912b59f03f95abfd27219c8728c2d8ef99d1aed808389fdfb6975e8e19bfd5db6e9051a11b85f24b0a4667b752f8f011774c7e8709bea7d06be34bd83650feae643149d7768e3451f7a8acf76ca581173ece3b974f07f69e2b4918f71c065dd26483a50557646f7c39eea2a93b3beae3de582ee2b46fce8040a50014a344eb0f387dc376da8cb6a8311c0247199c410898015780366309a4d329eb176b46d9163f858fbcde81fa59eddb792378a752382bc80468db23d772a634fc08ffe1c2d6d3ccb1af9d92b29a7d3050840c9598b4a1e72177598f3ac3faabea6e3909d3a37487c830741aad2a984018cf42380278775b2f27a5794564b64201d88912f3feed664a421706dbb1df1122637986d18a498bcbcd1042376ffced3f6e0ff0c330f85f37067c102d6c053c4110bf353108f7f7f9ffad3d423a70d53790e6a651b834bbce93fed89daa913cd08a5bd4906a1b1048d4b2d5c6a05b5f634e5e96dd06a25fd7679d8fd3dfc72be7e1e9a2d15bd0401954f512c7ca12de2776c543997659529dfa4e1b1dfca4668302a57c834f2322aedd27b0262226916d313f21a6434686e57fd033dcf27678624229c20f60ada2d76381c081440de4696b200632382eb0e00a8d644b2db6285a039b100441852d46541ce920f00d1af2274d85bf8d4aafdac4f0ab3795d0d43270b7c438f9244b7e7a769c8e930c3f65c73e598c493cda49193cfec83d652492d05f8dd90ddf82e167d349a77c26f39346d533675089175136d431da43e3dfb2b231e5b13c2875e3771708af90e1aadba5d62ababe48b6fcdd5a259b0a4fb73144f04dfc39795be67b01c2664c1b2d02d4696225e483897602c8ef51c49ddea2e23c1ed2c03c2ad164495b973c49d107543700dc6730a3cf12c4efeca2a4caa11b919e76f6f6d366c8eb22f55ff9663e9cb3e492b2fc736e5832872dcd630a72dbfc12cb53bac8f48275e271de31a0e5eda48a2d63c8c04730d06060aad01063b3c8fe89fd182408b934b66739543dfa4136cb6e31c20c5074adfc3704000ce8ef08796186502cc0d0601c6059108a51100be304012efa9fba920ade2e9ff9bc2b84b56e70a3e95ba9100e5fbc5966c6e6fb529baa79e6b8b8d9be59753b80623b9a5a2258974447dd0839f65699bd6f23d2c7c0c862dc6506dbd18b14c90abb31e21dd9b833fae60b36ec216f6d9cf226e0a2a0ee4b14a5054e1d1ae75905c8e8966ebda89d8628fa37c8ac7c0a6f32140d9857e79d4cab0c5bbab50514f25a8eff52fd494aee5b6b3fa7a0fb804f3087b28d515b70875fa8218ec524cc6cb86f5abc566c58dbdea506e7fa57dc2963963e3532cc4d7dbeff55731add6e62bf1b985974f26c2021bb67488ce67d26512e12890d1a1f2d2e199b2f41b971edb7fbce3957d6064c10074349806cea4c39221e94e83aeb939788e230a449b2b1645e6d8ec47d7b347c82be59302f4489110a09012869f7ed03d0b407babc1f254916e319eb6b469281eb4fe913fa4d7ea608b5b3ea4e929f4f0eaa4643bddda52bf9185e78e59232fe70ddc86bee89172490abb5ceedb76cc5951376d62191f8a682adf701533ad253cce0ad12b86d7dbd44c8566853d47157ecd32b9165b52b41c4ade96974dc31fd4ed3ae79c227e9987391c7b0b0638784d5773d7f88f4426d5d6d87bf45023b4eccdb9deec754e886c3a1eac2ff23315263a2bee9e2efa99452bbe9ab31425995e501925e6d1c0205717a16e22f6b8e21788e91566fd6b33df0ae8248efc9531b7ca58afa9bec9b4cfc52872efa2f6acd7b8329798e6d2c20535bf7d345ee57ced9d85db0f0eb50dd48a55408b1664891cffc34f0cf89525ba56d1b74f377e44491b5ab2c66af91a9d30037b29d07c17c9f5f35595eb7affbc4e165ae6b56a6e90114cc8b93d8e08b065382e131c08b242164ae1fcd8b830d2ea6aa389e8d1da0bf11bdea7c03d0b80c5cc776f1a8053aa7c57a8d895dac10cd5427957a256f852c2b2dc5f385ca80a55c1b44f75edcdfb1d52344890f845738dc65a95961a2c65f3b47cfadf47872f2c7ff1dec0a16c81dce9b69e12347ddce1eb7086bf1aaf58a6693475c25a37711952920f49aaa7168cc99b80acef7601ebced69fc02afdaeb517fa4d9da6d86112c2914a7c5e2e8ce7a243cd915f0afebf40517cf83def96ed6b76892ca66cc14267f112ce4c25d8379a15614e028b38d95cd6847062ebad53511ca1de735d578ff2fc918e99578318f8eaae5811101b169843c840d71631bde54c9170b94cb26a13a838d6eba2c5a8ca3977482f5cbe354fa41dd1452fc9f6c016c0de356f831be3b70e17da636cff815182a0591d79fdb620dc2fd32a78246665839b8fd153d0e4271126519380609d022ad1425b837638a78eda41769c5f0b3c2248e91b939d69f6fcbedb66753cb1fb9d8c0377d83b906199cd9f23aeeac2f050946acd1b55798747c0f7bd78bddeff18fbdba37679ff8865b7b4acee816b6cceec3038ba030f0b5613858615cf94eb15601f61efa8812f41ac42f1efc362161986e71dcfbad826d4d8d74547dce7abfb514b7e8c696ee2c43507279e09df4bb002397faaf02b6f0561f760fa663afe4c33cf89fbe2cea240fd93c59310b1de9255ff4b141c4e5d01d6467f6da2b4fb69e8551d165d12d785aa0ed7de6d76fa33d5c2ed363dcb78ead55307bcc5716ebf88fb139488e47f3cbf08ff0f01c2c6a5d33fe42c1d2668e1438e19aec0c7d2717a8d9787bd015d98606eab683b1d0725e6fcceb1d068497785d53cc008a517d1b813dc57260c670d42010a6089043681e2c800b3beac8f64080259e09fff352bee11522bb66ba3973b5a56a200e7cebcaff1441b1674a97ed905dad8a7d3515c35a02bf3c7b16210cbfab45cf898e76220319337297d5894b5599e00f24db8f80d4ad4f7ed7e2091bca4bebaa5714b57da8725c093205c7f885c7e7cd372f23385ccca3271bbf98f39559661c205acee66989433af66eecdbba902f6e84c03d9de5fecb59f0d22973339c673255bad75561c3ba474ae923b1406c692e55ef76ccdd99379da5f95899b0a624758110fb1c8896894d7e8859a31be765eab81f232d90db4f66e9557a19bf699e5eca4775df5192724fbfde6d1570d868fdf8a52b5a33e2fd1b0bd69886b1b1f72837537ed452d8b8e32c843d4fd164ffd7da4fa991b30f64d136e337fca7ed348710b20ad076c4d712f77a00e490279657b7f57b31169e44310aa50001827800452908a0308206600ee438080d61b8c080ebb5ff3ee2e8a1a9c5a2f27e0acac25df887416f0fc4e86de1a4d7abeadfab79bdb81bf3f8bd09bbfcfe0159debc93084bfe73d3a10f80e21be21b4021e8eb2526ff1821d62d7b739fe04bc4d4a7cfdc7962d49dc8356423d149cb473a2f6266b29d51a626b3c7d61e9532f32554f4a7551ffdb6d3643688b26dd879805bcbccca240217dda2ef4c2a2b9b23261868639f83ad2f659faf76dc4c090a3c9a1bde32638a1ee9ac6b4598ca10a9b7adf9bfa4cb73d7fe2c4da26e14b16a425a2c3dc6d1b4d85a1cbf42dce091510f288d438575fd56875e636b9e07c99673fbaff8cb7d3de107a6a12abced17d7d256aceb6b846aef093d133e221164ddea0ca86abfe08c1fde503fc28d6c7cad7c4cf5977c94d9abe3f81b88f15abaae43e800af892af117b322d9f6f7aa96188c1a8c702cca0a8380119c0097c0050dccf4ed2deb61118e73b5cee0aa0f93aacd1dc7a36f5d1a9c5bc9c5ed3e0eba20ea625efb23e090c62503a222e38d1be35f6f3bc13df51e526f14931acc5d86fbfacfe294d2e81a64d409f36801b5ee875981b1c4c7cadec452b399891fe62fc6b98059c2d58e6661996cd7e7e62fa3dcd000504ca489186697fbc598339dcd8d6ebc3a73bc9a5ef699444336f15e8dbd98e6a63c30538ee9ae7aed00f9980ef6b3b38e8260649abc7f84a5fe1ceda0b8f7f131969b539d9dc7da179d5ccf9d1a7601af7506b38f1d937ae4b0b989d3d353faf71a47be6bd48ab17988532e5975982fbe3bc24be0ee4e1559492a672a860ff6f45dd25ea6db6ce3e4b109cd1fe9a3975bf2e2875f335f932fe0693d081666eff42a3139430ebdd9e43f10dc4bc873a87e3139115060dce7b4293c0584e577e86b276f233dfaf2bb991e8e167e68c8501bc3cfd9b6b8f14d834181ee80bd413b55518d7a8e2d07ec061f40195597e7bd3a194536169be7f21ff930652aaf0d004d8e8b5c137f87890025d0bccfd38e5df146fc51635908044330c781691a5c8d13cff2a96d0a18779cbbe623f06675a741902423fe6c2f9dad5dbf541ceac6153366a22e09a0f44aef7fa7f57eb07b498f0499b1376732d75ccd53b4f1afbff28ffd9fd133f3ea7694e3b4bc35a1cab2d4d766f7d0659486420a675e50ed1488c88aee26c1377eefcdbdd58a745a7fe59da394b729d7e0db500c7ac58af7efcdd9170ebae9d01f3a1a226d18dbb5d3e33e7ac77be28911eb1f508a8877053a5312f169b9a577ada80c7e1773d4646dd3aaa276199375e0773b253ceb2dc376021e953865e8d0cd350b51e3466a8cc533994fa371b14c54274f72fb4e84506bc6d8973a473dd1bc5d83aeb263866e0b851694f316e359333b13ac9e1847c239506da46b2a3c07936cddef5b016b78c7586dc7b3ac18c38cd8b904875480d6d82b1602cc068d5e49a0344032345ab81a315ce0c5190a84192a70790bcfbe7fb1da1101daa1522f25553e97574a4202d937c3881a872c0bb19beaa8f22af96878d5e92a548eed893f8d466c80499e779789ccbaeb70cc3928707de71ffb8e0583a9bfdf500d13d4d2cfdf6bfd674cd2738b41c12a2ade6c841b70c166b0757bdaf197ae28f8728ce8c649951778fbbe135d12d137a81090a16f5bc3cea18e6e9880c73f14f9caa34f9a71f082f727c509090df224ca72785b4f215205584e1c3baf67bdedc13d2819b9b5199f14a1258c58befdc16634d7a2c2b3d947d5466ff0eb4b02695429fdf4f0e8f4a09fa7aacfcfb07cdfc49a3be01062b7fe0df47644aee2ae6f6cbb9beb2e1cd363f302a84d6e40c7795810ed47e004785c19f23343162ed9a44f18296c4948ea93382f6f973deaea6e0f06cf0094ff3f4d43667f1f5be6f69328cd0b328615a67116067802a5080aa3040e86812b3b31efe3cf902fc84b97c6d177ef6c5fbdcac0f01b9bea0957719f7f59abf648579987f993d664394f7588995f9bb3d5b65d85a9d59b84480cc9d6895628d8721b3c3621aae0d4e83cb0f72edb2ec31caf1a8f90b3dbd77189f019ad15adaa444a0c22ad4fe683ea8ec4108b7bc1cfa375519da4d9eea946d74dedf455af6d35255172cf21344434f6ce858ddad388c21fc0a7a9007a519420b9448510fd698e17b9dcab1bcbd7b84168b93c480a7f954f308423d82dd0eac852ece8c1885b875e16fa1b1eae2e0f09570e182f138af12ba16386d0e81974628ce429c2bf3c0e46a1bec087a2cbf1c9caa8711ac53610433f7795a4c8d54be5cb882bf36e37adb55abdbecf2bd08965ca1f63e44ee1b6271cb2ab6e3f95da6878cafe3b37f56c74fb7f6c25663a01b4fe565fd86bde09eba4593b776019a12b14429f411060002150084d0818c86967812b70956c48c5f143c875535b0ec906bb19a43c876e057d71aa806abec32127984aae70283d75bcd3de8abe9473256aceade18a3c791bf7c2af08ded666b4e68b80fba7496f9ef5696254b5a576c401cffe1891933ca787fb324f040f7b58bd25c074d0a8c8dbff99eae11453e7a95145cc9ffc5f13db6c1ee1689fd64ef9a76c1aeec85a43f01be65cd87037f060a7fc2ab82c397a7dbbfb82631a1dd07dba4cd33f0f9ccfa4520a3b15ba6275659febfe5d766493fe5a111687ffa3af3c20951173595b39b305b6693018b9617544378a8a57d0eb0e72e7ac1a48d9990085c88d00049d8b7cb6716894bd3916e31b778a1d726373fc91d32970177910403544a1b52adece342b3a3f12367a732172f123fb05b9612fc71f04dd6cb3f24d8499fdf786a2722f8056712fa64164d806ef801d3b8e80580444519c80c025683ce41a3e27776545970151ad554738f999b5d134f6066266fc6d25a3feb7374e9132295679458f7bc9d979a1c77a7cd57d3a219bc24ec31625ab9077f3f810dc654ee0be40dbf6df9aa8ffe1f430459401ba541177725184b89213f8ef18d7fe1c7bcd2a19c556cb29609a8d0b382d4ffc0a9eeef7fef410ece4dcca1c79dde285367e65fe844ec2aa7fa625f859e1072fe9abeca0359a3638188bcb2e6d933d2b60b6400ea18b98dfdcc4a2c2fb0cc68dd57a96bc0f671b19f07c785acc6492d33022973aba81fe4df6df45733b2f995827dda0fe54c6f6cb0bbb7613a887a976cee2f11b5e2425496ad11e775632e14d67d8777463d868da20b0ead03d5ff0bb52e5463df38e6c2bb70982f0578289dd8c6815e483ca2b62925823018a72efb506007d0b2f231e3396062204caf0561818b8501fe7fe734aeef820967d7856debc6d2cab1a437280f536dc53639ee9e4a8677b573486178f4db9512929ffad5f96fd407c832de39c664cb9ae67bbe2601a9549c3b3cc6dbfc41d06ad5c9803ad38338e29297ed6a984cd5395d23e3b3baf49942f53e8f25bb367099e25eb2fffef4dbc6a89576c341af730ff2f2e9c47b25aa2d97f8ea3fbd101dd78df50c59cca3f97b23215196e5afb0eac0e99eae53344c72d670edfb41770ed627a020fa68b05ba24b4f4fcdffc107df92ea5695a73cf31a63c937725ef567c5874cb619b2d504a51d95cc0ddc6d8bc03bd43ba9382a3e21b8d54f69032cc17a3aba7741af86893ac3be51d06bf6cf67fc2f792a7465a6fcf11cc7fd21181bf184e467694632c784814c01f6340747da6d392dee9693019407b5cd896ba20497702307c17989123055a9c204904450317eb0510d2e012298f1106211fe1ba509bfeb36bd32847ec6a0f8958b67083636740940f8261ac9ac71eca17dae6491eed3bc68171c9d6e8c8ab7861cc6ca9d9067719a33d1b18f678f0db6331f054d163eeba03549e985c3c45cceeb58ebad06b5e0dda732d2e24f88a6eac5b1e72c43958657359df7b1e12a3e7b3012a1786b884b0bf742b9347993b616eb7d73d27728bbada8d05bc749140cb3098a5e8253ccce5e5d40599573aa6ac607cb8c058eb49397b570bf45fd6ac91a4649bb82d4662e7d7f070fc624162406d69ba61bf3b59dbb22aa4566f2f6cf006239450fcf19a8dbbaf012b963592127e25726d1d6de5614bdf24bed5dee36ec0493219dfd8cee971d4e265b864137b8eb586a7d354b068fe2101f4f8081cd6110644ca9bcaa54e3c5b60b21dcd5eeb235edd340cae3af5ca22bf62cd0588f0fa5ab2f67947eaae13391793e40d83718def1229c9b969f90b3659c5058b7475a759760eac1a656f26087b14b0fc7f8cd20253b2ad91e62e73dff87819d11db5ba19441000370d06c6703a7e35093fe278799e4f78c6879b237a50ce506b2bb434872637cbeb4a5bcc8b6446f69434960cdd3ede82757da44dd10dbf958645b99820a05c201261bae39ced3db787d843ce4eea79a5b790f7ab47c35c2cb5a4aa6bc4e89eddc8dcf1a0404afbea154467892bb6f9f6d6ea97f11f6574abe183120a1cea3c85205c56c3b8b375e23a535882cd319bae964ef46a3ecfbda6c517afa032165cd98946667054da0d0e4328cecfc2c3250f51d00c787fa69f10641b0decd43ccbf83bc46dfd5bbfb7bd72bdaa2ec106280af8d71ab0a185af2bc015b41803d310c6caa68170215d7e397f7eb52f694f4ed81d3cb4938f54bdbbc7d8b62a6024bd055cfe4c449e66c0210ef94a58b90e474919e4b42d956e47ba4bc23791b6850a71809bc0ce80bb4cf3e6c98025e9af0c9abf4504a8fc996b03c3b10033084ce485b2cbd3790ab39bba9b338ff62058e5189fc9980d8459213f4b64c68e5e4485d468436b571a47fcc3966e2ba122733cf644635809dd08c9707cd508dbe154ae3682994c9b7642316ae4aaf03379cd890497ce857b7bf48900e39ea2531110a3587b0f4070e8690a3bec1dba2d7f6764cf37c519026c757ffc1b629b40debcef4da7d2bc05493f7bf3c2c85568a22764780e0fb94e6c03ec6414eb2f3df1726202e3d89672b2e8b80bad26328eec8624e669474edb7f333a5ec9d6524685b192f38c0065cec5ca28a9eddbcd1cc8d68926f525f4a26ac50ce3280e816992035970ed6937ce2bd59c480556723a2549953241d8bf6ebd832803154e01c136892599bd0c2c5e3d384f4e66d45c32fbf06d73b6c0a90764b4f5dadddc22867315baa594bb0c56640112e7ec8d6a4e7fc1327167e37e45af261374810ff58ddae256f671e3020dadf73db37be7029766ef013d0ddec1466dc26c6f0c65cbb1bd2ecc2f8797ccfed2ad17b42ed4a0778885311d7ba4752b2493bb400fe822a8766a57acf09408486843d01faca61881f93cf8fd440b1cbfaa59de138d43a8ac072be5fc7980b793f70add728794eca66183ed8d0d2435b507a54d2dbcb0ffb661c45f09b73cefbd98a36dc19df9b37d58ff413b4f72d84d1bd3b526e17fe41abc72da2e9df24cfb7ee9b969b2271b1a03aaf0b8b689671d8da82a2ef5a6c61b9c03b47c36310dd82dfc605a63460a1c1204f2021a65052ef50ac6595fd75f98311edb151e4d493613f46646ace63f3bd3a8659c553f01995aa41d272f562dfd053fb84daab06bc96de7b7840a506416b3960e311f0d819a73970d1d4579b82b827d137bf3bba38a58baa272edbf514a7abe562f44506e1c4fab1badf54f1793c63b14c3e1ae918d0f64827bde8636b6e911de9e7bfd8d1fa4210adda0deab61cafd82059fe6e0d48f1e70d1a77bb27d44e34ffc18f005dbf3ec50acccffd6d0fdfc33c25eb196fcc8e010d3d78d43740398556be80958e8027f611228f0a28c652d8c35604721aa86aa9dcff07f683a46a225a3a70a3f6663dffa17b9bf307704a2282cebc179375c7942e98ed12aed7f6afeba1a69ed03dbcf7f1f3ff9bd03f6cffe0826674da7cee93780c27ef03129d29c7769675d2cdabbd12e1015e767242aed02b40020b1fffd976dcb445509c3bde9b575324da4a91dfdfde8b78e94b96863d3476cfdf814f63bce9de501184a77f99c142583c8de72870819904e6775d45a29d6f43f6083c5e45d3e4059c15517320780fd24042e2e41d42881033314c4f01871165c82c7816bcaf03cdf7be7a65703427d59491c645f99a1333f37f5664bce9f2635e575b594381b4bb31af70932494d027f98def4550fe4b904f58374d1b0bc3c9833783b4ae52dd9a0cca0d69e40b65ba1264db17a7a2037f2393dd67829bc6ba26d308c25b3178b39ead0df64e1886069318b16e86d7b44e614acd8aa067f77a0a3444ef763d2746bc5e2fe221861c06fbed66d3e6c63b549e114922dc3f5d7fd3665702e0c8dfd9cdf562a2cdb5b2f6d39516b14084f2073c3436644d0600255575d3b0889bbd29da29bccc16bbf9149c75128388ae4ca5860880542ba4bc019f715555241d7a930346bb64ced12115b3f615d2e80d17a5db88b2cdfbe61e2100d9411e9416f33058c5b64afa5604a6f3ffdf77977617e6a4fba1d09930fbf076885a59a69a849f839298919c273d6408aa0314c009798ee0b05954eec7f1e0a9e492260850c0d3c0afd977b3b3a61cb0f763324f8aa9e252f6b1bc361a5e0377e0727d45088318c869e7403df411a6e29337462d675066fe7911b0298fe4faadd50a675e016d413a725f5bf9e89a69abd1ab03a78bc11b675d6762a137852b1c8fe66bc25ed15a34c27536f514ddf0a4bf212b82444f7fd46f7bfe3d0add962f4bc9e3a8ee988b61e4773dd41b68c3435a0225f63cec97c13a51401ef130a22a1da5da4e0a69553e4ba774479fca56b2d6de4f4a1b7da27ce08b3d25f007e8161436ebba9362f41b7a2506c752994ba8a2c57cec21c3cc54583d542a58fdcbd9c1600e96d119cef6e57ddab300a665dd6eda41c8991134294e36fa196a9b13891bd14daa12e2f2bdc72b06f19bc3f17336dfdb75c09d0665934d390273cab2f720448e110c610200fae0863abfc73f7831f7428b8ce78d83c86a3855ed5d9da84423025d3394f04c62c7f8a1142d148c30dda617a20bfe2cfb5f40ea299a4a1e6dd8a3bd29a2aa03315eeb2c49653b260a719d70922d9418784db2596eb70124a27bbabdc6577f85556a758a8dc0e95fad517ec4dd9de9a36dccf1765dc8a2cb57fd563fd9002cb6cff609542b79638e23e0d7abd1f0e2ef9532c402a162e29ae0d778210f8ae781d32e89b299562c304bcb9ad944bc2d497b13c0e09ddb67805f763b04bfedb2642630f4d8943e197ad95d70cb6cf2df9dc2fa5ef87d42bc4ae9f6ecf141f064b54857b286f26f681c3dd54bbd755b9fa4fc7953c2b3ea4f20bf69a39aca9550df4ba62a910da220637b223959645c595d6f2a73f907a038dea6d9cc68c2c018ab3a035076ccc29ead0c5d58a198bc0590a46188cc3c1a540301a00951c936912db8745adf5c0b96a20ac6a3029a309370e426459c05ac0b58ac5cbd63bc7173e92e76d4a9db6d4e3f3fdf4906a6b333577d9c30ea009e12e0b3e5453e5a94f2059bee047b8386f2ea67049f86809dc141f350712ef36166308d08ef64951425b5de747de5c94d284f5ff9030809c6dcb3f85e53ed3f2e51adda29b9fcf8db9b2bdffa3f9ff3a08dfbd55aafd1dc885ede7170e406a265ed24738823cacb7f633405aec71674a20e177aedc11cd578816d63f5bb2d4421c3948cebce856325322d18feffeefff421d06cc79bcaed899718ead5c0413af5ce32fbadcaf09afd9a63b36ca6f30f45d64dee666b2dcd85f410bef7776b78adbf092e040be8becbf026fcfec9ca66d70f6e9bfb98ec7cffa7c92b388b4bf85ca44600edb11770116202e30bc1831433110e621122330125c04b1ff220f1c6b2382b16452bc090b2bc7affd1a1a41c58b4ff522715a1feac2416f78ce161ec1123e63f8a6445cd101ae2d7d0dd11eab8fc5c912e1f49bea49dc65f6ae334e1733120c2b6c20bf5d31aeef10c175069f63bb386aa5d38cd127c52ff67be8119bf472457395a805879d6e1f4349b846b1e234ca11a74e5d1afebf17d18db7c7a0a5fb79a519e36e140658bfc11da83e1e5667211282ee80c5f5378e88fe511feac5f150a5f19c749d72074939bd97b99684e48ed9923902a0349e9e074561dfd2f23ee64dcefed7a8916b96c82bb7b286c9d6251fb20fd95c379ccfd1bca3d4a3ccfe47d1e3fd6cd2ca31284ca8bac3f0b2ce69d5a1ab75126d5b57adc7d0fb2acae60d72465efd3d94a3b54af0d3d2e75945564b541440512cb7d680533fcb3f70de7ecfd17a33a22889211c4221810b98fef5cd88e4ef24b8c3b241db6056459981bbdcf9b752e371c98801f4ec447a604b03c83997b2e821d1ff779d2f8e7dafca64f3c6d953ebc1064aee3d75ec1277d964e2141d0834b28a5df1a945ec22f37cf1b89e8802e5d5291d968fd88213f26274224ecf7e4ab88aedef095b1ced8936f073591dbb5f45b83bb88d1cc3f50651fda51ba1a919bc1f7174aec54d3b709b86f0489b91465c1e74af98f50fbd41113156b78d86bb8fd24975cece72d6bcde21b444f9c53a0bf86a7c2f3c9e1dd0296621920dddf2429d17b106e2be6c6a2559b0478277769d2f5109974eb6f1a680fd7292df09a1d359d1fc8645ce3084060680f64726ed441ee20b570e56ae39b4c6d5ff828dc8fec989959cb36fb8bfaf7296aa08990e31965e970450ca1c9b86fe61bbf3786cb667006d08dcf699a96287811c0347198266510d2eccfd07b7599f214a78a2ea9ccd9b984f9b150987a65fe16c4dcb98cd5e07b37b7e6cf296fb5c5fd035f7d7854f2709c6b5893eb89bef715c8c05fdc6209b5f63c63fd69063bcd88cf2d39c3be4a02eb569a72c67fcda99e0012f69e3e8bd2fb6e62d4395c95ed9e32a54940227fcf1bc9e58300cbb174631ae4f5f9c757b7dfaff31df718a6ed02b5b855a4d0069b57517dfe6033fb7ee912d2d79576533abafd17eeecde1a86e5dd268d8e8f9259e59d7c59cd7da0b2ee939f63cf692a83f50e603ac4b662b2b3bcc3187dd4477ec3fd7adc8fba3a2c43b597a2de80c6dc950256d19b6ef8f0bdda59ba83264768f96c699ebbeb17030a92c028ec6eaa439f685609547b62f7d42dc174fa7adbd4b5dc61800a650d4165ce07cda73848472a25051eacd4668a39c0c425113a8644b3e761ba1dfa90f6b31f49d9e8d543f6e91c657b3861cac8abdffff9fff6077e8bbb1e6222e2bd26e7ac63fc6c3843c6475215f0c349027165d058f7e7e9d863c2777d81a1e1a0d7fe1ebecc6ee80ba21eb2c78a546190675c7e624976d7f1c5694f671577c01e7b00caf21e0866e4921d7d09409d46fe3f8e42a81a691e71c59ff658fa8141ab61e3f4386a5333a4507441fc12558ffe6acc7d9ea1f56ff24a4a39fecfcf0b24bb58a010d096d9534ba79fd078eba46fdaf9b0ab7e72c8c7e4ca37aa84e5ffbf2108fcd11af9b471d53352ba99b703cb431eed72c1b6e240e2da612d57eacbf2d1d0c4f1d6d9316333a27db81695daf9011947d9b7549d4f6451e9edbed3a0dd0eedd7c61af412d69b69d199623b82248e26c104b08003102145810c9cf60876bb61be40a6801ee3a3b2e2535b24f57c3e38f8e9f13f9fba755fc962c649ae8d5900cd6f796887cc7609f7a3b8afd150b3bd5de73906bc4b1522f4bd46e05c7befc636e2a3e05e6a807c6ffe71e115d5334187fe6d147eccd1180a8bef2df70a10a2389bc1bbbb22f01b97d4b6ad08a22f0b81d2099fe7ecbe22eaf2673c59bf866de032eba75b9f45c89f8d5d5603ffd2bbbbc4bdd3196c6d0445951ecabd80d250a3876aa6bfc13d0e60379f8083d700e3495486375842d7e10ce37680189f78d7712b76f57c12b01db385b8f3cb53951f87934c0a747bd0f82725eaa4e59f4fd306631cc6b9eb2242cdad4fd0e651e89ee9460273f519811434dfb80d9b111967ab8be7e2095f27e6ae9f983a0d7db5caa23197dc0f6cbc54b6e890335ad940279395ea7cb7d4d4b1d55f82a649a459c4b87c3f23a0256966e467b9f14d5a5d921464ea2da7c2b3290a31ff3f688ad8735f7c63537ba641deff1672f1e8aa18521e7e4ed5f5dd314a054b001c4100c2ad4842410ec2b5c82a0501106104330a84813dee48b43948946a9ee1db2955fa6c2ab2d2210e2e18428008c1fe81dc2393200c5879935079cd23982a16b0b18330a86288a16d0709c04975651aed38e66c8ba0b6973fe564f44a250fa990495739aef9643e017f8a64df59f61ae9f8ae8a5d4ce77a24d94912cd44e7aa5069f9a111dcd4062cfb7a4e4c5fc631e4ccafa3942b727161a780200d6e67c0e39f621ad35c93e85213bd0b6ebb3d0b8889ffc3a05a35650b9a64594af33d01e4c6799bb8ebaafe9ce075aeea8d3c50dbfcefaf0da586934c3876fc1a71c536986f5cd3650939fd134bae0b73ccb2547d5ec66f0ae1f1721aa739f61bdc61fceb569ae5ce391be6f430bd313cc1faabd4fc34537a2d7aafc2908936508c558a433a6e8c9e4659a40f6764662df278610d12e6c90301d8f1f3354350fdef0e4770e6d6bdf323d1d70865d93ff289b41e19028d02c88eccbbb5ac3e09edf6c72d31209f436dc8940e9e71980922368b1610778700b226a280f72204cc2208e70e06ae1fe99bdd83d3a2cd30a1dba1e3c0b9f9e8b50b950746b455dd8e055f38be44dbaef2fe3e8bd437ab60f9d8b12390e1c1ceea21a6801794d6d48da89700a66e32e1356b4027e37ba84a066b1da85c50282080a72206e91a37b51f7225c9b7df58c897c10370537b3fbe43b31f6d9293d9c50e33fb7ab6e8b71344eb78c3674ad920edd9c98ca02a58ba08ba38915eabb294208ed17a5ca43433499d60fb61953fd5a4523d01d031ea3e5f83d1d1448f3be13c52ad284661addff7a8e5861438f4f52b5a3dbf4b41dd0edff040042acee12f593775b0d8e1451d785301d187bb28ad3620a13b83fdb12bc338866766ef16ccf936c14c4348216a3a4bcc51dbac8bba653ce98ec1975cab7f824bd0df57a347d47035713f341f2e90065b6bd6920ea6f3051131824ca1a0861180a21e0ea8e758a4d6f7a42d9abf6cae270edb307a6f4f95e286a9d96fc63736110346afcf1957a86808117ebe1346558a7398976327f6c139591ced32635d9baf03b4cca5de627fe20992d2087fd33e794c4ee7135186251b6c16404878cc27afe7336ec4e18a16d5778b6145ff162118fec9df84011adbf8c784f8978c233357f7a0a8ed59235bae570fb74e14731c7c204c26a3bd1f95d6001a21130ea26da0c226e7e5e58a460a4aa275bafbb1673dd298c4e5995c96b281bae85cde73ee37ded8fae77e11b1c0fdd6a88a523b00d85ca9e1216feccd13d56a8ca5a66fce093ff06e55a38189256c5fdfe2e70e36fabbac45eeeb7c9ee6aa314be0396bd46c37be0266ceec03ef9290bd98e77c6ad8e409504e32a340f0744dfce4b802839440a0cfada024ecd2362b9c801a1ce2e4c02a09c63642fc9a200cdc3b251c3490cc218010de430387021695ea92a2068a98bec96d1f63ff38284162b56c3f132c5be357bc908c3517c479e1b29943b1b2fe232b05ed85f5d42817166ddbbf3bbe11244558966e02588827f8cdaef694e162986eb938ace33707412f8737c3a9eda711c9f41a635dcf42d03118407c123a30ec356e81034e5d10a8a76442e32e8b3d9489fe58530e8fac8ccd2e8a69b5ffa60aba769c9b23ebff82534d3b37fac9990514f6fd26d7f14f47b2f4308fb34265b28c4a3d6c96190d3607ef690d3a2c13aa550413a9e686e9a37ea8dcad0ad4c042f162a8074e58c48637db492700229ff7fd7ce3747935de373d38d66a215f8eefffd69db44a53cf653a7fda400f672d83f7980288dc2ac723c8de3a4dc4664e791786b8d573a7cb0bbce39a1e09179069e7c190228bb04ed83c016ef981780d02741925b63380c30082a30109686346606072e2867f5d6d7faebb731070f1a2279bc0985e6eabd890edb2d0cc90dbf7e5807eeb5398f06aa2e6fe0502df57acf85bc38d10f2ddf9d5531d53435b2ccaad437b7967f2c76cde3ba94738913c5e6889fa6860cc39706295a99084368bfc8f428042c8473a1737cc203fd5f69f3edc3f899ef92c1123a5fe02c7d3f823a667f00c76d20ec388d5ffa1fdaaf0b85145a4312728eb9b39862bb1f018f0412bb4b3696128b739e0c1fb5822ff6def57d157c5e07493a763120d0b8be338df8c1757c407b501b91d0cb8d2bfffb85aa670c5cdd88a8341787e8cb0b16b2e11b2734913930133956363ff6955874329f9ddb62c69669a15b9cb88fa3f5ec47c683424dfecbe07d20cbe42728fec6b9f225c5fdf45a034e4b7fd5062e19beb67758827fcb9965be11f1b7eac30f68b6afd5c834b5b41a5b5c0d364a977e98657d7b7896f6a9699749366d3dfc5f98100f8e56eac53cf7d74c33b3e9da3578ec9ac488df88f1e65e45b861d0c75969c35b580cb13d3bee798cae3824c3093e623da994dea8ade2f16bc601308a581b930d012fc8e6f967d4d0f12d7f5c6db4ebe9434c43db80633e6a351c08b0fc1b05cf9d0bcbe9b7454281f95a87c019105f0afc44dfb07fba0dc5e182e627071a9317969472ac7746680fa2a063f74d4ed4315265935c897db6ef0cadcfb0e180e3baceea50dfa9fec6cac953748797a2f202abdbd54bac8dd9ab2fa3d33d3eb966e27337925196931bc2d9bded0e0f079d005665a3744c5d26f7435ffadeb00e5bb757666354b9c0b0035c6de00a0edce45b3a4a3d5c90224df8379b5fc93b91467c57aa2c2fb899fa14c03f0bb4b355bc75c3c4e8a38a9ffd725fcab3608ced5f8360678cd11f2cc493fe653b0777d911f162c980b9d38f4b994f0a89e5b75ff62fd6a26febbb2be64813c9304e5ec6e247761050a66ee7703480360543998c8da7228d9a4d0169b39fa87794effd5e6f74cb363fe3c2b15c2dbf8c36aa53691610b2f107065b40d1fd2d56f0d56cb615b10e1102228679db9c315efab79a28a59d0be4b4d60284ef5a97500cbbce0451589cecd99fc6e8856220d46b6b22277788ba8f5f1aad753f5c6d03f9c817f3bd8c6b1d0f92dd4085702953ac02ebed676060cc55dee2758127348ccb97366d1ecf14afa16bbf6c1dca87adcec0d5fd7bba5594dc0869d3930dd0477d2127e05e6f5a08924091bbfba059526118241d0d32876f773fcb426652b1f400f44d0fb70123fd39f75b985001b00dcbede4de915717f275bb8968884cb7ff21fc327b942cc8fd6edee0632a9f395e6df449418abf7c2900141f81077ea948ff57d7b2d75ae1f9e20dffa33dae35b6f62f69b44a121e1dd08d2bca9db500fda1dd41c8e9388d51761b9c566806f84d2688dd7c2a34de2ab5c31a3623219b50a8fb988c6ec2fdafb296efb665fd3bef9230c9261dbb81f4250a0eff6f934ed79f536b2e5d21891bc56ca9dc73d8cc4bf557a7d406e3dd8165ece24209a0c702ed414d7864c519bd69b663231a84d10cba5956aa4a5fd3a3457f68babd3271bdceda83236996da828be13c07143c1f21fe020051ba05c1ec91d96b50c70b7706a29959901b76f20c0df598061ebaed728dd81d51db4b1a5134c0945e4668302e28d2765dada7391dce5d6693b1e0dd4bd6f8abb6b95c07a000dae5f9b5a02b72c7ff10c1fde4cc9852f521b7043e34061f62856104bb77f7cc20e6a946b61faa493bfe496ed98efdb43d0fdd36650df967c4d61cd47827b0214e7f1565aeffeb5e76ed4da418881415417cb0e1784d3912c2be73ee224b6642bb2d011942ff269903e1513c3b6280a0a3dd9c16bf021ac4c8bab550dc3c0e2d43db47942139dec5a4a4cf4546f55ba0fbfc7ca9b7c3fb95133a5b4f5fc254e7d862f66ec9da5ea9e1766b16eacc7303e8915cde7100976c349571b8af2ca99396bb839846e65f7a5fcc1e21404976601c0a3cb2c7fc5b41ea1ccb15102d08a302047bdf4bb4183d190b97eb8318c312bb53f0f4ab2dfe93efd890ff2e994a5bffe7fb57a703fe78149ff8480b55e7cf68e245b55d89fd4078bee6a2384df54fe14d308e4cb69717c16257f87bfcdb4d8a0c40ad462bb6a88dcf6e6dde9f95867c17dc23273724451440d1b0a11285a27951421ae0bd45cb8108fbb6334840ca1de8646d2236ff18d298b5fa0771aba1f2fe7e2e6c217a2b70e5bb550c1a867e18415f1e2366b66b85d1ad3d9cf3e534892d9fefe3b9b52f5b19c9aa484fcb34fef3bc3c3346d42002a70fdacc05ffa1adc72d9ec27616859dfc78e01b8dd854cbf45010c10db9dc12aba1a2fc0592ee0c32789ee809d12e4f0006b0494d77207a547064b71508bb784512d639058b68ef95eca33f32be1601d661dc6bbb6a1a30a33670850ad25eaf06d9abacfce2b7291784b1dde951c29681c13b0f4535cb4d9a9d58a9ef2e8276b88e39224df6cd0f3066b4761b310951a4b64e28eeb4fcf7bd8654c15df6ef5b5434a722f2aac3c4fd07a594f69ab6d0e2cec3551af203d7d5b63b92241e5a7aec711140b8491367e65d15ef1556af2e7362a11cf9a6cffef6de78721b6cfda5db039981464995a5bec6bef9aa08d37f3d7c462dd3d8167900d501eb4012b7bd2b284c50f82affddb18e2bd7739c54ea57ae7c7490d0c8aa3fbcf66c22b10e32876ed80da95355dfaa5e2442f5603d7a22d5bf9e85b32f31861cbb1bc29988ae13776889bcef57e298a109b096139574e82bbdf081c9f95e60a69c2cd6e2196152342ad90f78c63ce22f76ec37f5e73bc8d69556a6b4bc7401ca7f0ba6a12ac125863ec5302f6cc075246950687035625c8441dd26318d6b339c5ad8c471d99433fe7f6bf1cfc3e86bc9779abffb0d7f4a518b08c9a6e4e2e6ef512fb365ae039c143f996b07d04aeeb40667891930feb1c0c92b09ee0e3cf4f7fb42434ec0ee830c9eb1c51954004dd5b4165c4853237d4d8e066cc3e3430622ceb6e253571e40ed54149dfb670a29ec53927b7f3973d2388d6e552f6643979086d97346220d9abaed105bb0f5f54259bdcc068f5182a628e88a59a7ff6c017738521d959f9a613f21468ad6f9d9f5cf23660ab5fe3c9bd36f85923fd609ee68e0e6db257a3a129b9fd843c19966e153777bd20f13235ed5428b4cb8f71aa54be9a3e84beb3e525e25ace1985b777c611aba6837ecd332d9141fd04456bff2a60b12a53470adc76a563e4c1c2c347749dc7d546db720267801d59aa30df2b3c01619f580655a999728e8ee1693d03a6d05f0b35ad17d63593095e0b607cc0590a530c8a11adc6531a311058d034cc916083f87b5aa55e6ffa436b05ab42043161e78e3e7a8b217cc3f2fbf31bec37fa1f6fea20e9ad3246eebcefc16d7dc1ae0aed3599d2b6b331cba4d9eae0ed87f310e73cae721b843e794572aea7762897e3a1d41fc3fa2e30ded826091de7e9cf7fc38bfeeee3f1a87134afdd3b830206b820e27992e887e757a0f1c3be5cae7adb4dd572c512a5de852e2c737ca910a8bc95bd095403add8672f8353cb9d3b713f8bc49ec8b10fde812cb150efeb9c4cd03bedf14c17c5a4b904803aa932b6bf8519fac43006246b3fa0aae3e0525964704963710e99e683268610fc3fcf2d3e4f296cdd9a57ba6ea174641e973e9f3a08e9e45ac651ca3b3841d9349bf6041222733e4e67bbf1233c6ef7ab9cbae8b7ef305cbfc13abca141b1ee909c53816bd285a64e1ee70d9a2b6d1fb6ff30a9137759990050e257f36b530a53de5f2a807ed34cb36d1bf906e8ee346e335856e79dc31b8edc0a5d55baa76c474bb95913b45183226ce9103c0768ca3b164f21ef8bcfdb2e8b20d574d1bfffba26bb22e93b8b0b745bd866e33a23f269b89a9510157c08bb9ff28eff461b5b7eb16cdc30956ba435db03b021637225091ae98beec2c5a5fed8420d128999711a886deeff43b0484384bcc144d20193edd6e0357fe30dcbabc32c7c621abbf4a0397ca627aee662470eedc8721d2f2079e2160fbb417e05b90bfe89e3e3a11432be235dad2067dfbfa6123d74c897c99e42164af2a94f39f0af33a2fce875d993118e42eb3c07e21c9e2384a874e741a3505c7199bb5e76a472d9c76aee849137c106fd4752fa237b1d8367d84c23b0ed4fd97d5deec5fe61b7e0e4cc1a6528f1a87ce1d15bab9b82fbdedef6c9fa3b8b1879ad2e1e60e9f0ca7f3cd13a1cffb430a0daa1f6d5d29ada32d844a8bc6b2e8351a16f75538da689c16ecfd2996cbee713955f7a15df6ecfd2cfcc08f3f2e84897900b6a05c680ec1a05ede61e2fda58891374ac1374243cdbd0add4cb4d540e077b82430a91d31f20a4442132fd6df7a8799aa4c54cc6fbd2c4c0342d406aee1dc2ec4f93af8c7d52507bdbbc9df8050d8d8c265ebe2e1462143f05123fa77f1c4e6b71360c0f1605572440e0a1183998e7bfe9704bbc92762a2ef49194ad4e52e9b364655d07ad0becc953bd0323e0af289bb9fbe3d07ef119e9da9d2a94f4e6ad32b2d4c50fd34c63a9e37a79b47a748a233f1c5563b1c695b2f0dcb3b88a4fd0ddd4a09cac4ec65bec0625ae574e3083e4a988c2eba65cea6a6f38c48af6e84d420b795e8681a2fe030fdf1e528fa587a2b355fdf152d953bf96a33a714e66973e10bde3cf483669fa2ecd98ff3293085fbde9cb687b3665afd49a1d46384857ceda33f9f6441ab741982558f6f883302f5aaab58a6336b0bc1bf797f8e3e77bc388e625fd9ada35fdbf78902fcafaf6cd500b2db1fd7e81e92c717e1ff812e2256785dcbab49a4db8501d24b719a6e7fb9fad0bdbb2843029c8daf7cfcdbb1de66da2907a1c58cbd2d3e31fa57c99a558e430ac00d4f863a1d1df6b5ab350d883771aa0d5c5910836f759e34d55f095a55b697ff4200c66398f90f1e044b0a3cdfbb033d58ffadf44f0c9064a73b4f451fb599f609faf4850e4098b9ed3361c78590b20fc973ef1ccd5e611cb1e81c38c8e0313dacce99b905a6f1322916290c43d58ad2bb35cccb17656836f1a8c5d38df78f6fcef8786ebb48b6d76bea3a37e002378af9762d31e12913bac988c4494179feca635c8c2c564d8939fddfba64ad322f00b609370500bde4ebb650b1bf7d58ae2b602f9fe1a0050d7d6dfaa712e279df89e76ad479a3dd574042b71e396d47cc97d511f30a57e432ed8bfae2157feb5a9a0659fc5442b7cb2e160a48624384ded3585a08f36bf53a220dffa46b2390d1c065ccf3b2b91054293499ecf13110753bd0735fad7f8da40ad2e0701c8513fe006dbe607f4d048283332a2307d1240eb2248ad181abce9fc0bfd7e36901c1d2a32a6e5fd5b610124256252c0455416601b01f4bf5a49d8735d144f4c0fbe3b6cff06aabf12d6f2767130916c4f52f95e86332bc5ff3fc639ebc8775f37eef15a3ddb79a026fc23cfeb88691b80de695b6595a3757b2cde8b8f0042b1f1b5af648a077bf0617bad7f035c24a39d66fb388d0ef659b7c0aa9c81cba11e3bc32aacc6ac5e82f29856c62fc6b21943fdc89ddc86c506667b72e397e62c620c5b54af600b6ccbc46e592287a55a4801fe5cd342f703280b4d0b0de87383170a0bc63dde9a35eaa8563e3b171f7f56c616bebe202619824b58e72b1d0ac3fdf03a3017f0932f9d459be4190d34ff4b6b832294d121d91c335e26cf06054ab7474726dff9e3c38af8586bf11a92db8ee890c6512338d77aa0c9bc1bd2db5f1a50476ed9b2f7d230e2c5af2373074e7e8a75e74b252b6191146bd941eb07c6d5d1a8a369c8ee77e390ea3f249f7da65cfe02d8d52269bd2fbb136e5814f9d4c2c74366cfffe2ff3b5488cba41b0ab8948ab9e80f47ae67f59f87e3efaa69fe712fa66b18627a879f13d6a6b936ef6d1c7155cdd4ff1d10d354d723a30f50186d758f1248a8d4e9dbd6c5d7803d48aecd92a679724c4b3397e7bb16ba9e83763e7aeb6655f96052c2febf524cb05894ab2b62d12bfe559d6e87692c57daaa63da08567694cd7fc79a463c76f0565b1f44bf525dced516883e90c2b1d1e12a91f2a54f5f2e08c9bc7144bbc440544ed3629d8dd16fa8da0ac8764e39a21b1c27fae6e4ff43b15f10e7db0a874b61e002833508c4392c09474ec700ee4298c4220860697bc9818738d2993a6e96afe22378e6b5ee5aa8087d6ab3f3c6cf730dc55a922d4ad5ad2cc2cdcabd85bfb4fe43e7a8c7928649645d2b2e86ef8fc26cc5bf4fb21ffd854608454c3d11f0cabeb9337a20c76bed7b1350c0d4b72cb9fe4ba7f12a7ff56a77799ab8582d14a78a73fbfac901456691bd027fdc3138bd489093f8af2f45465413704a73d65b50eb9cc6355935ba60ef61ca7ee9480ee563ec7b3a01bb285ff2927a5d996be4dd7c1416fe309d1f3ac60852fafc7d154a26baec0d9bd921b7082604df67ce40a5498acb8097d0655d9d1624bbd6169507c8bf8adc06724e1cf4ffabfa3488d3c490446c169f43fc807bc01de140c6d537b76ad96c4590ddb39546843bab2151a320d23511bb832fac05053f27361745e7c2a79a3e217bf2c936d810d301ce8fdaf2ff0eec2cab838647b3f2dd6345666ddce91df3637e38d2d4b35fae457201346c12251448b9cbb6cb00950f82411b6194580e04e44aad01c02d66039c0fcae8517b7763830cb16104c6ca27ae23d04327156440fa5d8cff36a02958678ad264172d06ad510bba71eba31943a3aed2d0dc065056a585c1263cf4ad686a64b7dd9a0e112079ac3f5df04fcfd0531180d96c03848bf39aec3a687a75e63f8f97033a55097efd851f4812e74ebe48cac65c14cac8bd5c30f239bf58f9198e220566f9008bdc29ef1cd0e33f5859aa6ac37bb4e5e40e3ead6bb9eacd7402ab85a9aa8dc24156f8b7fbd5019f5910d41accb2ac5e04dfe1ca20a5f2a0f3c59299fb80228a00c6b0d00e08c9ff02365da8f0b9c3845d3ceccc0c0f5a992662cf7c30d7f00f8fe1fec269e2372e74c93b0f948790c4ff930d2adcf7a46bc2e645ab51c3e850dfbeb027cc802fdff292d88c50eac39dd183ad69e8fe0e10f6473ef8cdfc0d83807ceaa4fd7f606dbec38d5bce10886d662eedadb52fe2f73dfd51076df07dc725908c3cd632c9b64403bb81d086f063791ab5fdea29659784323e35bb8bf740b2e8c33d50bc1af842f78aed2eca682c7e35b196370b9e0de2cab59691dc800e8eaf0bdf5b56769e22941e473f555baa50c5e9e362e49bb244b66de118eced84df68cdfec36441bccae429f3dbe162b4f560edf5be0142a51cf80a86ea9bdd603062fe17e8be76a5ffece3f470031f328355fcc6c46a1ddd176e529dfc67513a7c5b3a21dab03598337f079fb6eba9375e06ab87f43e47f934a956ef8ade35df6bf2677c1079a2455e23db8cf800895765d9ec7fdb4c818fad623a435fd5b64e66b8c8d1e9986a165ab62f64712163dea28cce0f164bed9fda42a9bb1c99ad3ef2ab3bfec0f786bfa2e1701d6c239b135c0fc3684191a4710c65be528548df82b33359fcf6a1ec8ef0d6786de11d141d34bb135a6992235ba79dd8ff435836a1a64ad782737ab67cc28c6a8c8fcf7f7926b3696c2aaf4063ec747cd3236ae54b12e9325f8a9642bfc37a4f8d65094e679d9e9163c12318c7518b8b49b32a8835a52981717ec97dd4902932bec4aa95497287dd0a591198f63f5cf58394f61726beaed2c6aedb8034ef587385d9139a5691af772d8c50da3056e39ba5c61ac5eb72469f6576dc1352212c9757c11d6dcaf401456d6f0b3ea337f69b90de6a9a1f0bd20ae7110ecc40fc99b872614f9a6336fbdd6be188c75e3f945d7a1a909619d3140c1683e289e7fec48b94659fb5db532b9e91f96321d887928bcfcf6a3bb6e69c2158f31d846874396ac253ec0d1f28514f03be925b036d55e20adf025d7c982de11b45cdf1957044ee8f6cad7d557b5723b798b21dcd7b0354a3eaadd88c8fc4d2b4cf25acccb7a6b2cde51ea50c0326db45b1261b3571b86bebc4e5f402b595dca639f5bb7f50a2f880b9e7e89c1e9e913d81e83923334df917be4872b391a1d97cf1e386365199cf9f8b178887a1724482699ca29b7d9903fac93993f030d48f11e01b0966a67037344286ec3f23f80194c28db4efee1246f776af9cb8ca78aa303d5f92ea8f2d473fc04a84c50298450afb2bce49d70a838434caa2fff6d1c8aae913f39f06dc5e01f2b5372add15ef26298c2608c422b433bbd03daa2c32f193df993b506100a603f4430a490008821194c93f084fe8cec73d38b46706c7938c75975c1257a84e0b9ededfbd98fab9b0e5bfa87bee608fad2f54264aac43018d26dbb947f005f42b5ab7e2bfe3ac29a3ec5f135a6fd263438bfd7a92014f90451fe753694c15bf362638ffbccb2c2cf4a798597a2409bc7613d2d803a90505f3e44270f669abf1044e46290dfe3fdcfa4618a3bf60a0e5c5f001d6c69e47493ce243d0db3d36675bfc3996e0201b745cda3354c2092c58cac4e9ef61278eacca67c80cbe6134491d7f30c34f2478ecdc5b115320d2cee0cc96242fd9ffa305afe79390e83b6b4a33a49f879d9f39610b9b3c69f7c37393e858c548375034e49f1936f54f662ebb9ba5ea92ef21487878751b11b7ae20fb0a093e2e83464d467a415e44aeb48d1013f780214fb7d27a46aa9219274e7e4ab2df842cefe0f247adbf5e2afc56544929dcf76c3bab36b343f5670b06785d44b9276443c6b4562109509fb7370861de75eb5a5771acc244e7b8b23e67b1003b48b1dfec9ee2dcb71b14aa1fa64b70580c4cac307ac49dab26e7844f992395bcf26a517093460b45fc44bbbfda9cee2b52264eef6cd2f56ab4b44416c2eb14f7fab57e1cd1c4437da424abaed96cd3b25cdcfa3424598aa23d93368ed3549f9f5e698e8025dfc08e40170a8a0aafb5e5b814825a2c9a068181ba47b8f0a44c9edbd8dffd61fa02fb267cdf523b9df397ee9b4294ae16142b9969bfd1eafde8554ae79283fbc1b01ae6cda7f8781593755c7847cc352ba08c5f9a19cb617c233892b149b1bcea89850eb1350641a68dbab142a16b8dad13131a309c9b4d351db5c92225bd7e2bb9f542481d7e1d747d36c040452c1fa224b3b5717930747ef5d06441a091575cdcbb9ec331e8ee6bcc28981e1fa7dfc632bdc4ef773466f60db568e3878aaf82a18324262a99ae037c2cb1212d49ad255c2bd5313358e5c4b9e660fa135487f531803333264bf3da0fd1e09866c9fa49a714237e76f0832691c82b41162058fc3223f2b8db96cc7754d8909772972edecc0f04dcc897798db9bdac089d0c456af5e503d1eaf7f50bf3158720d9e7eea9bece7d2f2bf3a2c4e0d45effa45a8ef1c73220e6887ac645cedce4e3eb4bd9642b0fac936429819dd3ce7cc83b83082182673c9915bc84556b9e5652b647c9d14609f7a4255e623785034aabcaa0135926d5407aec48f09d31ebea24fad68eb6c159fc761bf3c5df0c792b6dee504fd7f5934814bfd105b3c2bca0892b8f6af88f79e27e7bc0e03351c568880f909538f6d76b7427097b11495e8b63d98e69c8a6583c2af06baffad276c41f206769dbc277e8c7d164ce5bb930ca7ae45dcfb4cee4029fa94fc4a0f0f60f9dfeb99dba6475ad3f3109f1dba193f4f272c298aaae3c816e10918db4efdab7cbddc7dbb4828f5ff7f8d29f1035d6da7426dc223e5ff3b85baafc10385a04110df41b67c4193b55c50c57b445878e8e6289eaa317848fcd4a9b9da57528148e0ace538caf4bffbebd262d3c548add20434857a613ad62f6bc0ab93c16ad9be6e8539df381461112e45e3da69daa89010d9cc1ac1c85f83bf426630f8ae43ac47636da80105404136ba1601001bb6079698882012840602216038c82a70f9528617d517f0a74bd278029dd099ec29caf694d8b4e8e6498723b69cd2a86e772cf4ef032a2441758ab40c01c6b740b27d0c781de8b2c59378e3c3e629072e77d9d1970079aea7ec96bbadbf8950b0e5ef3978ef1d570e4ec1cb4ae0c0f8c2da28e8c753e5bdb36de102fe43d38cc2298719b19afb0fc1f7160f99b21b88aceb58e8062d72b904aba1f6aeb43cc211948095175bac3b0b5633d0db1eae1115e84a9526f5f118c8a9eae74c34a36d7de293d14609e374dcf8934e1125203b39668bfdb165cf46a0644ab76e1c81efa395f01416afbf04ecb50f0d85a26b2e1d441719d8768e18c5581efb9235e5dd4acae6101030c6a598f789ed3f38a7bbdce8e185f6754b1ec103e380db5fa5810bf949322a28c064691ff7ffea6a330c931fb4c8698c3af3ea1aa14fe1af77df065f20a9797141584411ae66773a9126661cf17688dac85eae467788ad7919f9837f6cfb65b7e44a74db08dc5ad76957e4a9fc18e2cfec84d754a300147f52eb5d9208124748cabf666fb06748555212ee2096580fc30749d9915b5f3e69ed333b4f4596d08da2e79a597ab2e8a81b956a33a1c3c67d9030482ab80f98f436389e57ea218e8b7f9b25c507b5aab74213d32ed63c1974ca38731dea4deb26db1228f680d4ac287e1d4142c5152de5f76717c4b2840e118f0462e6a950b5f9080a6161a367c25fa8209a40dacabdb3fe6df2398402e891d808069f5c1ab79faeeed47099b5b7902371c86e521dacf3810e9a54aac837a389798d1a59726a036881a8621a92b3b3c7c448ec0960e96cf9131894133314dadada0a0e84c1ac100d2ee6c34489d723274621edddfdd498dd2d1ee9833c24a35f7e6b4e2632fa6ca56cd79ac66c6b4f5a0113fe92743653694815a56f41c2042ffaedf4e974020e5821b977f2e7b732520f7aff27986d0e14940047d65eb543b754938ae9fdbcb06a14517b4d55a476742b08a5faaae3e997776319d2cab81ece359eb4b2d34c7367eab7a6293c59c0afb6465f9be006fb9a469088853daff454214c42e69d2dad8a80e0cf31728c77721f8c3817029f4731e75c5c842d2accf87cd19259e6a8e343936e5e6eaf2b5e9a58c09b23cf3423ee4a4ec9eade87dcb9e056fd9ae8b5c8c3e0f2e4ae1ca58d4a5c52c014764b39f6d058d44f50df5665bf6be4206c801746c15b7f3d66851106962e73ed5459de8585085e1dd32093e8e19ed2147856d0a8c0d35ea9221a70d631997121a8ee3cbc107fa572ac06188ff91af0173ea89efb101460a823daa128d3b11a99a2772d80d62ab7674c6e29a19d71867e695e528cf17b42c69d33a397dbf043020f061508421248f6892028548801c4100c2acc8424f0065f1c05205c2ad1dc169202f1d3dd95e4a10a58c281f1302c4f87b00d00dfa089fdbcd6fed992733c1dda9b8e194e197c03b85e543860dd9d65a00411305691f43791e31ce555839fc9b9ad87f9ffbaa767062e611d734542ba44c480416dbfceb8feabe88d05ff1a0b41daa9478ddbac8d7ab8cb92bc1aee2a329433480bb73d2f39387f7f9cf227b70bea349e073b1e3e3b7f1ba38d2922b02ca97ce89d6dcb952853ebb2fa348dc393890d3504bad97720ae64fe1d8c6ee98ddc1a45c3a7e8ee58d2c0bb12743f7c2f6da8f9375ced2eb02f33b6c076bb7d301a79f5898f55d7a6c928c143043830d30db4b283c3ec201ce02d450e9a35d9650daea43fb6a83ac08958697046088186ec955c857b773e7e893361d137cff59f39871903ffc6c0635fcd6a5c68bf097e69a77e6c77ca34df2512b39c1fe5f8cf060b2e6cdc8e5445e08a0bbfbd1fb5bf360cd3b91881d10585b51eca5e1cbbafeca6e5d553086b75f9a3bba10f2e8b204b938a809d3f34f8e61da44c7343378bf29bcf4529f3eb1355e12e6bff5ea473d2dd6b4166dd6fc1fce77de0f134d4b5718dc21cea0bb6c58396890d53138ec12812a25cf965013da3953c4c7801a87af1c4bb43e1a44d5ef470aff5976e2d193ba4853b5706f6b2d79db1966d961eb23fda30300630f96d34c88cbfdb83bd705e765feb45b922f9b95f17f5e582ad817a9b3e38f422be42b2526bfd61ae64cf85ab8dcd4a6bf89f11e0ff0735384236c24a67a2b2c427af406f37ee723c138278e14eea2f8014b63656424cff64399a4f4dc6574bd967af3b98a3125dd37f3337fccc44543675812b62e0c8e9e13185619eba043ca3b72d7094215f787c3a70c694ef16dbb517095df8b024abb8f22c2dd49c80b00832ddb8bad1d472aed63dafea08914e05767ec95d865fa9f762a4b1a51746b358748d8c7f7ff4cd6ce7fc136b04e36f2f289c8bd78a8ec2262d89bbb53bdd22e51c4349b71c25e18b1268885f72e647a2b69d6274b8d10db165617d1857d1f8710a3562edca54f88e186cf55c26375edacb3df61bbc35932eed2ba77eba71c55578715c9bd4bbae6edaf96b736c27f28728e4e4bdca065d7eacfcf9fb722fe73e5f0dd1344bd1e114b291817d6cad6a7f4301c29a32e9fa68915925b3e1439dcfb98b29ec27cd1ed5a583285f3d33713f994bb8c0b46b975286f9847e9886ac39286a039724032e28a8a6a2f58a07febe9e6b647a46c821356ea035b9b902b6ef4dea9b8e52e8983a100fc6a9562047d3384913f986d11e2a513cee0f6074c1fddf7ffdcb3f26f7a3cb9546f9df46d4b024081f7525de45ad16c53eb691c4f4c4bfe44ee2f924f81dae4462c70587ffc3b504650e23565bfaf2150cc5ec210f8e710999d5823ecc8d5f609d37df2a3f349740a972c283f393d03be3542a6e82e1047e5e05fa2978da1838e11a6db76cae48836288e4a430421e2902f54b0a06935e72b94d2d060e3e7ce2a21bee7fbeb513bbdc7f91be9f767e4536b057cbe23ac3dc95e261272a1647f09fe7940a064731afc6cfdaa1ac1cb7f47255fdc670f0abe4cf9a3d8cc318b51f8494c92e1feeedccdf7b83f13c9cdebf802d9357c8ded00628c9b2ecc38869672aff041ae2de78289035108e116b70c1fe9a780877bcca358a64b633c8379c54664be2f3714702cce09d40bb9aafcce2554c5640924407b5c3b6465b4e7be60aaeaf28136a8f702f3239a7f29afeca0d1e0f0e6dcf491b9c67ca19f7557de6192f2637ea48e270186524dd9fd86b72245f415abf32c95af9d4e6c5c7b8a0b9917b5eaa30ab7f71385046e3a291992238c23053a4a25b4fc7ceee54aef485579d4e767cade1f8f0d20d0a2befe98825f89ae290dde88926f521d2824f8aa52a5be206866c0075caba78982b0bb35856479672d3731c26fc9a1369a9e5ab8ed99a1ba45b498c876daa3cd35f3898da25a6997560c54a5bf754ff5c478d4ff45af119664deb82204b9c9f54716a24b9b3ff813179e71d50558b1bd9c1054a21b86b65eaff3dc5f6a72c1608d32796c0014aea11fb10d9df310c04b3ae6062c05f6bd6561861a415128d41c0d030300604ae01f0edc9c639dfc6fb56f959535ed1ff62de2fd5982752658e18d0edb064ffc3dc63735cffb9d9333cbd59543bd9e6266f53d15192be2b356956594442ab7fe9f08fa95455230e4b6db6c07d9644c42f724a38da379bf7802bc328f463454df652197155ea230b2df546a31a970178d1b19e11cdd88ec479515f5d1e79d3a799368059d00d66739c70b69255ece52010fa4b3f3767d061dc22efcf88a9cd4cf333799bd5a25bf0db5700bb8be233804e18a746461c2249665da13b887c65142885fdc36bb5fc98fdf7b1e73146574dcfc6d2a14b1c3ce3e9b9f2510f050bfbd7daea26ef6f6b0a329b7f30ecf1551cf06b4c3097729be04c3a9fa242ae96b8d3e38a20be5d448c9957b863a971a4e039a9fa0257c7f5bfe4ef880a63a63d1bbfc603c92dfcaafbb7964562baf10042be5238f8b9fe9bb803997ca2a7f22dc57481d39307454870e7164dcceb3ff9b161fb928278ee322e738196505bd44a460875d994b2b987c8ec82b5fe668f0d772fabf23289306cfe2f8dcd20bd9ec33f0e45f5d4db12e48ffe1a4a25484204486cc9d5532e5cfde15771e234eeba9dc0307178e19407c85b13b62ae712f6f9dc45fe9510549b205e2e202bdc7b0c0d1ff671e4318c61420a7ce263b4ba94e0de573b9e89a573d398072e7e550af52184dbe8b02478bf64ba21734d4ce297d3d0fc12d2a8d3d32c23563fb6900db993a0097750ff1776763d5f49ad4a202e9684f193c72aba0812eab4f0d7864bf6b9a3aee945611bbe9fc45715b937d43ba40dc13800e5ace652574f7927dbfe5eebe4567705575f5626a29230614fe9884e6801ccffebf9669b9c00b53b4378fba67d5daf500367e0554af4493c1176f1d17527f5b2c759e3e9db9a18c8f3ba36148b2a0bab0fff984214e1ded8ff84f6a17d2684b901fdb54052c6b3f7b3c6d29258217c0fb98b35d72ded82b099ff6da7b45700ba59fe32d2db8a536309cc79fbc94747b0d6382d4ed1cd644e3efed970583d3d6e3ef592720defe45ab4b15693ae3af3d3f9210c8b6109211193b3141b2507cfb488f8517207a226b9f71118513bb25e5cd9609d09bd2f7080496b02ab885f94121540395db4ccb8660becd1b35c56c077f6bcdabdeb7fcdddaec7c16a3380679a025f30c01eb1d31f1a86fe799517aecc134c85c816f3edeaf6da2ff7ba7a814ae29c43adb4e00aff5f919f99dcc6103e6edd8e05d940012f5ae97f9925381c8ec0e2aa0840d5e8ec6b24ecd2f51ed935ec98b40c0211295efd17bf808c7fc7aeefead612086fc41bc4f78eff206690ea17cc02b55e0a58f2733fe616b4ac5d64fc0cf3f5b75ae5b14bdd07c0f13cbaffc7158f57c09f5dc7cb614525db1feebccf5143a23e9e669a8617cef95cd86d0c9ce081f2965669f7b5db9bcc00d13e848973c2003086a0a30d51a259799c5199ed2b6ada6cdfccde70726e503efa65174f4cb7c0a7441436a74742289ebe67a74e7cb2675d9d120a24f9ec698b91e456bc81ef9a0ce6a6079263cdcb0a8691bc22cc4575bf02874d4d8153a55d2ebff393514e7e04b6eed3c1c4c4526c23dfdd2d93dbcab5b3350d8ca359b5818bb1b197e8bc9f8ff684e3b9598a7dff82a737426c81a264136b906485e4220d0dcc6aa15dc0694ee0df51e2271e5a122091a22bf642138bb795094db071d3e784bb4c7f69410dac077cad7863a93185de329ac8f50597c0da9634f72edd78c8a9e009b8c4aae72119f2e89b0c13a1c4397a4527a61e93a387d816f6785d7a3c55d7447fe9f6ef35848b3f3034bc87ea05e664be1f4f94c8f693f91d85d1297c1bed1aece14f67581556aa69499f6a433af3d1825ccfff8843dfb3d0ae4ff0984d67818cec2a706c63fa2af6845df00b89d29ff348fc456917851d6aa5ff1fdaef24b71b88f66d8cf46b79c9608762baff89d6a2c280462a021a8a269bfbbde76d6cea0af620137572ed97cbc9ddd5c13419db9092307dd33a882d633f709dd44eeb176a1cca89f82debdf7940cdaa44e693385fbb244685fec8a62ef08272bc4c0e6d9b1ab7972ab6c3a4fdf7701dcf6fb5a53fc8fd209d3d4ecb62313b68f0d6c3d5158dbf07b2d344a5bbf7259c9475a7f43bb45cc8535b88d13090c34864f9471bce4fefcca8b9bc13b934e549eaaf52129ff4fc79e79a33f70c3b7a9f28d77d7fe906c9b5baea37ba6383d49a0b8ddec9080595e10423007feb9997c225b9f83bfe8b03e79015fc86fd9dd74c227d11365941c7d072804481dd3ce13c12e393203d1f38a869524cb8f44da7ea8c80b1d56727844ab3ca414a752d6233898c4ee0d304ec2cff76a05c24fc6feb6e359c9c3e60728514bc45abe9a9d6abdb037383e48ec374bbc21dab23ff2c1c0d59edcad3bb9002f0f30aaebae07a8244566d4eb1d4817feb8ebc25694248c19ade3c1d57c968d3094575346a0e05ccddda74cc88dba540ccbb38e438863f68925efe6e004a0cfafd9033ce715fe72eb338c6441f5232ed96457be2a0cfe8265f0e63457101780489f5add239ed996eb32bfd4287d0fcdfaaaaa04870eb528f64fd133eceae77e725a39da273b06a90bebf74fba8f495a48a1637a7773c0c6763fd9f634fc856a4be04599e4730737a393b93c8ccca843e953b36f536cf9c7e83f345b57d2e5409722c18a37b4efb08e9e97c0baec20034532b43b650be29d11274026340b6f548dbfbed57265fe303a2c8419413b5d0f363558e273f643aebff27b5a402ec85b1fa11b8cb070af1b7c68d9b1f753a582f8b16f92fbdce4db28ceac045daebef2f911a38d4b5c3b99f8a034d838d9ab4ba87e5dd4b3119cc008bfc68b54c632d9dcd0fbfb013f7f448ae10e902b921384833126c4b6df2d36b147fa08c7f8c5cc34f340af03c4c0cdad030ea9d6127fe42cacbc2d16aff2e627786ec01874ca01411288411838b6ad9a45f3d29f41c32d2dbe412ae216be9bc6ec1a8136a9f397443857575cf54be6d78b2fc62c624863bdfcd99fb29fc8998dbe2d2cd1f820de76aba11e52d7085fd70cd028f27b3406f7e7196e4442eae1a13f8ff14c737cd1237fcaaca3c1ec30e4cf4a97ec11e4dc97f854b2f83d0323c0a51c2df47186f3bfd7f270351866cf500f51665d7ff42fac73fff8bc5ce8eeba33aeb74ea9edfaf4ff30f976ca7453b98247085098ff8de9e9c8fc7582ca32d0880d79fb390f3b9d930f44bdbba484a9067e1881c480c0ab70283911874c115cb4e5ef65565ddb84358c0bffb2a697b73437e506c409457826142b5dbd8ee9dc6a2eaae753e0db57d39a723f9b1ce40e90877284ab48af02773def108cf3f9fbb2cbccba8e3a247fb11d2db7aaa1aa71727709a64bf97e84e15ff553708e7d65c281466aa4b4c6dec7e0d0735555f4bff8a62149f6c1ea68a1ea669908e8990ebcfb0a51bdeaeaa8edaf9412bac2f849ba52b05156d07a122335370f469beb8763c1683ab26c32756cbc962cf507daa220be1bf42db1993f347a8c9f80fd9c2b74ff036a781976f84a5c663629632a925e9359362e90cd1ac36d7e9d664f64e75fe27c5f55152ea1cb7345012a20d2155cbd051c0eb90627baebe749fa59086a88e6b099b4a7a061c96ff7f02218f7cc4887b58c187a096f918e20146b4f9ece109eaefc32d7939cf04ea4272a4bdf5d357b461beda50c570cabef3a7b288979788b8441a07932566d94eb305abc3447b63441b098d9cd3c93df692907a491822a75f1f3dd193650f010f192484205041dc278269161e018c5eeb10ba034467e012c32edc686efef914390797024fc510d5e9bdf5577b86ed18e1cfabd3cd2af6298211efb3907014515b2d9711b070baf1a2ea1e106de4cc2e2afda94b95f6a18abb6cdd63c492b815a5bf6156ab28afdbffee7d6275c092d4af0e5cade4f587552c47c8f06e02703aa4a3206e4c3ac84c32a056488dd40b021256f2e7a4b7c3641a856e93e4ab4f8d6e0d05f71f651a2a741b084e1a213ca7bc3502463bc3fc430a32f037037c522a98a16457cd0e8d8bd8aa34a72b87a4c226e2050996eafa2fdbb902d9b35cd925be6acaf46df74a3bcb8506f5a2f8507f0db768ee10b31a3954a3e75fadc66d2671a469075c43b83a8f48a73117715f427ac8817ba63c275a76b922fcf584fe9886a6a80d5cb99a56176ce3aa569936e7a0ada93db6660a73c6515741da723d5830a72d559eea3426b495a22d2902733af4a6930fb6685d6be387ab851307b7aa7b067ec41aff18c0b44319e23a97b67c6e5fc8990e5d273cbbd3801bcfa51175ad9c57cfa3cac1cc8b4fdca3c37e12e231cf0d1f20c3b6daf5146b442aeec563bb6aff31b511821b7e69834dac5a0825f60f71bb1674cd0b2f10e33abec18e7f7a245ed9f7e45adeb53993e8d2fda42513f90314503b3aa48c10862b8c19fd1869a4413b8cd1c618fc878b6e68d9696aa4f781c6248ba92e5edae4b8bbc77b6ec5e7b0d7f7df2bcbb63764613e83d31886f99c924c09be46562fe86cff1900052abc253e4e1ad957a12b5758104d0444156f9886c13ceff0f82c947359b640199fa902d42307f7dbb960b0075a3097aca1e01be0ef1bdc4a0c060a5cc6b68fd2d3810dbf388fa5151c0395c4e7e31f61f2a86919878b48793db80537a9bb5de272e6872850c5425c22f9e720437f24ff9ca138a7324683add3e845fbb8cb3ee292451c5ebdbd4fc17afe2fb0543794c9c700cc961fb26d22bbe8667af2fd6b3364372224cddd5490685100fa930af7f94c8f63243526d9fa4f7aaaa3f0b1bdf14b7fa330ded8a72de922f5da34ae9c7b0b1345d43efd9b98ff4fb784efa3a2d66bfd80d0417bbcd2328d0ebe8fef48b2c29e05f9fd3b674d6748579b22100af71caefc6ff130b82883266471cec4ad593eb94d1ab5ad053289f819092cbe9a505996be53f2a576a95db57254c7aa8ca1d8b97728fb9124132e2814ee3440abccdda7a11cf7b0481632636b0dc0e8511bb832c1181ee82a863bb6460061b0f1c797ede59b1c1c1bc16dd4fc8686d2e5982484539607a74a25b34e3b62885ad6f8fc81f1d968a213998796d7d27a311ed35adc650992c50532dacc51fffee9af57ebda16d06051e359dfdedc41bf52a0fefb72f6ca7bb9836a9567c34a22a374f4278af7dda3e8ef05256dca0ebc7a71ec109caa54e8e675940b75774b9af05dc3664c042336ab2448f34acca1bc9c65fb7da7ba8b7345dae8471101ae3fc5eaa91c742f77e690b84a1610eefd72aae6f91e90065eecbff02b7dc38b2fff6eaac07503a8696855ebf30a426343a384b01886ecb9bdb5ae310ed3ad29656050998768e27d7869fe2a4c6d9357fccae82bb44a63a2670fcec4112ed9615f7d96fc05c7399cf7a043223ecee6162351d400ed524a4c43a7f07e3b63060181a050280a8442a0c0a54c44f24fd3d43bd39377f5a7379ad5a57b544be838f60c92ef0ff1db63c4722563b27450def7a6fb7f984eface9aa1a77ca37022db6030d637e3a9dd6c822adfb87774ec9bfa01600646123d717d34ad3e662fcd4ab55b07e1f2e686de049b72b32ad11343f9714b0f8bba3ff5568d3a9b4c659326b4b23abe624ac690ecdfcc9eab08876ef91988b2b17221ff403c34e3adedf4f4978eaac0f93a4ebf4941d7756b842830243ec9cf88de9ee1144a2ff44dde95de16e8b13929546f58580a4ea349642849ca9e9398d79268760eccb1dd2443ef182f14b27daf6fb5e89aaf2d92f8ffcf9933055030763cc65727ba47123f0596a6b971d9c6ceb59f0e45819b26d185c27415429ff02fd330303a501bb8d896ae69ff76716382cad2ef2f632027544ae17c9079f3c91ddb1c64158c6348c5ad975d5f722f76b1bfbe6d7004b58758d0e97f996f9dd2a133fc4eb2ded17be02e631034c9f63553b65f78e5933ed7ed150036bada48beb89972aa524f2a330711665c62bcddd3e248b4391cd0c8bcc6bd665f19997c770b35a9bde00b2c9caadb6f74d39cb9c06f4b7d625e1f5900652592fac16684086c4f2b4d3705328f259bdea1a8245acf873b57cfea62ab3a5e4cc529d3403eae0cd09c728195f7a66baea89316bc6c4138d3d37e44d75f57def0f9392dd90f08dc8f6091514c6589e241f0728b7c8e643565a4e8664ca68429ddccc8c613bc21237e0164f5581566288b5ec176192fb827500437daed7e06e6e62d81bef43e967ae61a1d1fe0957009486978749c9eddca23512186315dd7b9e2de0d909a90f6e7fb55d102ba7f265e3668672ecf101d2545ecf02e7003e00968bb33db94f5929139631802cb4a36b9606d0597d5a2f4bbc30c43e232b1c35147b19e43dc241f00ea02bcbcc3133e6322e0e7c0a90b5c797d877aa5c7d1b885e5080ca6e7554f93a8aa2a949246efa94e8b2f5396b72412189e8763f85a59d5a2250fbf0ab335af508d3dfc5a3aa988f4b380ccd03f5d18bc6d0b747b10961cae871a8be080a7151169f2a290ff5cede05a6927eb8a8811bc36f1e8ad42af44b66fa70ae6294278b1b7d695b74b4792707cab4a1b9506c9a1a1fb9b00e99605fc5d3a114b04ddc618e3aa6f466f72a2ff62144fe468ceacf91d0994e6dc16a7c1fe2749c728475c285caf5b013c9d9db3421519452baa66c97a2a94447919786d9fff3b750a97f836914a4e89ecb5edef83b57f37d96eb08664862945a14382a9f61509638e670d7bb57032ffc59f5df7344cce999f41b486d6a03b8ccf26a97e1f3afaca62f9c2633eb7b8a2224824b9af847f9350eaf5f9f721f4f5d999fa1150728e15da56cd8a73484f263e86142a0c9a8f3cd7644dda170a04240b3b403296d9d2341eaadd5946fa95d596eb6e765773210f81427a30ff8b3185bfe9a16b10e1bc75ea404bf8c468c553352bb2b9bd82ccaa8ece1cf986161ab143608ceabcf768004a0cc1d5d1f1075a4327f7786ba59af6360464e754a711fc29181a238ce46c366a480cc81a610501611008f1c085f25f7bce57274c10eb6399dccd5e82d75f89194770f061bb1b44a65a54c8035cbda2f9aa25f137e3f3e7effa7ff199dc64e503179a3c29b8355882919e768f98068f974a140a678239a9ee37286aeab78ff33a6704e838926542192e5981dbf39a6bd8376c53ebf52b3d7afa8ccb8c09d380e43a35549edd95e7d1b19275ebc41b74bae7901f3ef8c538278543decf173847c51eff136938088272f0cdcbf0bd0193dd1e6b0a5d46ad8be93a4ae5d93cb2517d333e1a40ee38846881e916e6122062cf793635b3a86dafe609e2b0622ac7953db742fd5f46ab7bdf9470b6a69183a38eb4f79074527e26be8611bdde23bd01827ce78a3d522b293bc45183e1bf08bbbd849bc99e9ad6c4378f71534b6ebba77b875ca2d74cd2e7a94e1a0397837283752d7bea82ad56a0777c6196908df7f4c933fbe3dcba51a3000a11c35a75aaa45e4b3292fb0125ac1abdabc41bc3b091c32cab50ae7d77c6b276de7470ee9ddd93abe3aa14bbc20bc009ee844e2212b3bb27402efcd4f6b1715f074513cb8b6565ea341044741605e82399adfbf8f65436b6af8af9e932ec783b1bcd1307b6bfe1a29bad0fca1ab21df0b55c5b865349b9ca96d966173b5566a02ca4256bef1201b748a7606a766f5a1fd2da6896c8a58b0959a7236595e962dec8720da766cc8c880bbffe38ab9f1777c9645d07a5bdafc8f43d54754e1fa01419cbe6cde2946e3fe76d8c43023a8f3e6bee22a1b8e0976e7c7fc8327b949b37d119b8c79ab2ae25a04e59886e7b53d17714196701f567778eff277909852e2250011c628307556cc1e054d2f04bae18339435441c85c200516008b8d674d57583cc9d561019af5b67a1844bf468b810012ae3b8378ae0c0abc5abfde623bf51099e12b138eb11bb98d15b0a33108c97c4cf119b3fbfd1bb6f155ac7dc3b3bf80992c9cb57c93d543963d2ef075db7eaddc06cd3dc5a4b043e124f15a38de0b4977761a5ac3257ed6cd5a8299e646f0c75f005ea0a3e8313e0b4a3f995e55b78d8d22df766ae715eeec18ba9cb9c65c749623efd45b9ed9e8bae7c2b6dbfe50b2a6b456b2b5c82e6fd86cd6153f4876ad4a5abfd175b7dc7a6443f9c86671326e3ba0174ab3ceecb556c2fbb0e3d4678e37434736b7d29e2ea173ab0aef07fa0cd50e36e5a1d61675a7dd9e3cc92c9eca56d95f26ea01fc14f71d7f3502c7bdf4a85c21957b2cdea85020601541347f32e2eadd3544ba8b2b7b600e5d2bf3ed3e7f8132fd31e4ad8d6e45350e42ceaef1918012db8a0d7ff072e3225cf0abec965678764a96d98175e43a414a8888188666621cd7e8864343595bcde9281ae2e163053fc31b06d5fe0d680731578aaaff482e5afc6709735086381a24137784a0f61ba9a4a06069d0896aca61d06efe806cc81513d5cff930ebf2b408c5f336795b763ea9be2b4ab8997534f7a3533af42300e5688acfaec2fddf816fdd542b6fceeb0af4b362effc8f34248a22c5afccce81ad42f950eaf21d8395df988ce96cc67cb12e26d8c0fb52aa145d0f91c8e03316a0851d5e53c86cec0d508a96ec238fb45b3947bb260677c9479511bb5443da52dec3ae788e2f6e2d8054926194d294f07006dd53c6ef21aeaadc9e4a0aa58547c42d34a62d0fdabf0a0cb43dc621a1886addac08597e120343d848a3db234439bbdf777083e3ba192d782d3dc3bf4648b19143b628656da226413c406f5b5d33212d814ed684a323d4d168df73487a359dd76a2f9c7787dc5c2162eb1d847d8416066f6268131190b9382854270decd3d2c8e760dcc6a5b150f89520714fce890c428c92839201cbeb282d9e8a9d32fb8b123d4fd48dcd02d6f0b7d3e313ccf1d4e449e93f4497c07ad4bf2fe04f3f1195bbe1759989b8bdb38e990c5b89df321bda9668edaf2de92759eebfdc6dc4a49d67d0fda764c6055f67c3f0a40180f5cea22e18b0af650ca5389fcb0fd347d5c2aa798715748d6c6484dcf1a7b8d43b01c30886435e7fc9083a993f8b5b541df102b0f65c50183ab5d5d627dd350d55fb581cbdecae8eb48a1c9481f377840a6861ac32976e613cc9b5c6a7206e115c52abcf7d879af391e913c7ca3119cdf119e1c92014fcdd5fcf8238b438e9e5d4f6d6592bb8ccfbe80ce92b98cdc9a4c756eed29c6d43f21d6966aea1fd65b87e7e8bc587b26a6d6b09e7b7ed49be1a8e0ca15d6090359dd3f084e2493475dfc4beec950df4fe8562f72adb1ea1ddc38a94a48171088af8fa93be102764110285b18e771aaed32d32a002f4442e38f0da11ff6c0cbf444d9cb06c2f5555fc95ea812282eba12f4903d53e7684b9ed318c5512889519f862533f8906e4fa29216a3034ce433bff04782a4c4a4c2f8ed1a45ff43d4b431ea8d231a5224464f048b454a8f7a0626a8d9ee6475a49c09b061b629bb35834c777746adbac1e5c85f9ebc3bdc714864398eb0ff0aaa96a763daccc66d5803538f6f93ea25c716a8024195626c7e6a68223c3a1bc9e5fe767a9895fa47f669412b1516de2a332e77196c6b153093676bb3825117017a72e15db9968b03cf522699d67469e526cf903fc36f12c9085d0a12935a2337624b44802e618ea18fa04d1733b58ee74826decae8807d02fdeb6b70f031ede560617792bf3f0d517f0f8d5bf6872272c32e97a0f83772ef7190e0035fb4b90ffc01a5653423b66cfae945457bc56fb9f4ab892f323cffa508ef2b15e0def7e327eb0e4b5239df0a960b674507f9f6ba2bbe324961ea09f71175f197936687606e25a4ca44fe372bb456f44d04fc55d9e743f5b70ccb2e19e0a34f87e2e8559654bf943a39c5b410d9fc5f3604eabe9fb14ad9146ac3fd83b1c7c553ea8b7921966cc93b7d69bce1b00cf0f84658470f4b99050ad4f5b5d75c28fd18387172e986016d67345b399f81ee16cd8410f2002423ba4c32cc611ff7b63a868100dcd98b8ac065e5fc9b43be969749fa503e262bacf21a69e9adbc43bb0492c45fee870e0b9b69a2927e71410bb0096d4fe73c9c5c0b5280a3c12678b5ff75e9e39095cfb9ccb5c1dbd29d91f56f5ead3ef9f1fc9bb8aadcbb0bfe283d44e56aa82eb46832c5f45f3c0d123a3e8149b5d00c6ae82ff512bff75f3f3211b7f49b7f34d3e5728714d13fadfb5bd9d36dbe74e1e7919346a2783433ee2eb38ad31f2b41b626d2b3dce44200d38b5bc3c8d3a2b75d98bdb9d5ca467af789cb860c0003b59cd328addbcfd85e3ee2d8df5ad973270c1fa5ac71ed576c615e702d546b252a7e4c587edaa1a5ffcd2eca8c1865b97c42d7dcc40b2f653be38cc75f7c87d3f7f63f7ee4e47273555db49c59b896fb3a561a07eafe2a0d5c17d64b9638a107a0d78bf7ffd091f599bcb4c9e6328f37edd5cef7ec9da95e2cf56147557d1f57f264870a25d6b53e3512170c52372f5206fb6c13f9ceb57d1af38ff593862c305cf61a7d96bd719a09ab064baabe71a094c6541a22e395b0e026ceca030191ef7e71bd064394f37c40061376283715ab98d55984974cd7b220a23c714337f3e383c63f013b7c359a51e743ba5fadec86c194cc52bcdbeaf90232ab976d3f68d9559a791f63a36f1972db7c42ef45f51d7b20f19a77247edb13509855bff5a39b16c5d96b58fa3f5c14a285caf9afc781c1bc921a2fdad55ddbcc8453336dfe9acd74dbfc05f43741bc233d3598e74dccfb269c4f96e8e46b6a4214e02791352e918d2ff24ed88d9e3971727fe7d9c87f8b6ada635d03a0e0489804263106805d30e13b2bfc0412c1998646a0412890155cefdac555feed0416e1ee31291413e99dea846881baf10f256d3f93b70e01640c53664db7e8d6f87159ed9cc432fc68fb6c17ca21ba2c869d2a10afb1ae8ec27fdc65862f399c872e4be1500279668556036a0b75f6b822e4065d233e47ae8d63ab5ba00c296677ec9b6adb4423954e63f1a00c1893a810b2d80f3cc048acf6c9dfded12d29d610b1a7a4e11b6aeb498243b0ce71331459a542575b55d10ba44cdda4e8e5e4186350258eee979b0da6d57c17f4f8fd78d411a4cffd7ec4a0d19a7143aeb9d1cd3bd67e893e5f7e8a58054dd69f04b79916bae8ced9bfedb7dce7ed683fd0682dd8fa09c4be190cbdb1b44f8f0474a8a4842ddba936d2f3a68364fe33f1ec15245bbd4e747dbe6f681de961d17ed5a7193c78de4f1ca08d5c8f71a0ed6f60d8460d8c4641616831b018da0a02ae5cc1768d58f5d14ad4622120492493a04b6934dc0845f2e40dc5108393419627fc008c73b3635e4ba846beaa0936f5614e6bfe2c557a31d16e94ddc63e6ad62d7719b5bbcd27867a076370411f6549059de0ddaed701751a0fe51f6f3c0f9f849b4ecbd8fdeba5113fc913fe4e78f09eca94d6dc17037ab513eb19b12c9a59564e60e826913cafe39a5a98a5771c8681f55e57ba6af6542856979a8a2f309b5a5fc05a905e83729b92d1e8e5c005034d257561e3252e70af665638fc5b7eb7f4764e2e13ba69fc498a2c3ef9bd6050a5f95a326102d0b290181647d11f22706a6f222361d1b3d44a3bff039357fa4dfc0dc79a013f406b1e644793a26a4981da206e5bfa6e916715389327dcd25766f8bb096b93eed383679f65499aab58dc0713c7bc933bb443734e2ea09198601709436292ce0abefca86b91ea135e1f80328339044647b8dafe1431baac525e5d126716a9929a500db1fcfad1d9b7a10faf3e3f13bf5bc39164647443914d9186ac1cd7ab3a868bf78713d95df9d8e908397074a17957f24b62a12f7739185fff7e1bcac7dd9a875a83716593c5e19c2e3fe07e1f6e3e3d54ff196161da853b646fe13766aa9291b7bf8dcc22cdf928087ed241834a4eea52a497eba8fb20697ca6c7e8d4b1f73da7dfe5c68e0c4f79af4e1c3785f391672bd35e0a13264106f70d89d6435a1173ded5512f01d7dca69755e37fb8b267da782c212ade7e79082ee698594e5f1c3ab53bb67d5321595dc20fdebf9e9707743c61687a21ec46e24353db7fad842eec5c14e74b1dca8f0903940645815ed95761db3454ede2561bb86e3f4f829c8ef4bf9aea2a43ea6347028ccc29565fd18e1fb5906c3fe985ff0b7490dc68c3058c02a7965fe1afac77e7010c4c434829debc18e2c83e2aa2dce8e2ef713c778a72b98b771597f70f60b8c25a4165cc1249610a89849943ab2759f55d51132579bdad6597ddb5d8f489838eae8e2d06c4dc72972ff6cfb7ee10262f29e2e6e1c9ae9df36138c0360c3d1c0ff6059eb16c4d9c228989d510e46d65683d8aa90942cf496e0b6a2dc5c2772c1c5308e20d57885e6663ba5b6e1d26e2231e9acad454c95eff64857c5a88de42b790b22d744215e53c1febd836d77a975786e4475ed22ccc66e462c906c9f26d15098c1821e2782f5d4e3d03efede5b061ce1aa77e182656219eb88a3e53cb2302d922ce33b9bc2835b93dcad21f24f6238b8c07105901dada9b188b125758090381302804ddbe6e5608303070891839dd7a7b47537162629ffa9f2553adbb9f0c2924c3e58831bcd33108a74fac948ba3d17d565647474308445eb003c943cc259408d1ce3f5d2d98e6b515cb61f0d6922f847620bbc300c88f6a17c13b2cc6192a743cfbbc2c646af4a208549d274985ffe50c711b45164f8ed9906a7fb3b8f11e81db33f7536b199888a3dd921754eb7ed8f26b074c65cee9fb2c33e7d5f6cfaeae4b051ebaaf7ece00ca712b9eb52da7f91f4ee7d17cfa2e6392a9b0da43ac2f2f07427a60cb7e66d61e53dd0e70c90e134d150e38b25bdb9725503b5593aa65693fc4856bf284b924b3de158bbdbbb650051f3783288c28fb99d0bb16086c50c08a606e773e4607607df91b96d73b610a53373fcdd5ed096e300d8cfd551bb8123a40d5860a978684bc36bd904f8582173f9e04b49889be7af3dd3210cf8b6be2f29b1e229ea0614cf5a781cb05b7bda0583f2910bc685bda0c6223b0ed4da3e3de21254d7fa7660b57843feecf9196b8648491eb7084a1fd63c009f3573c72f6fb022c81a2a7bea450eb2f42f3736ee1071e61c78ea25c7de788d0131725f7b2fc39e1d12cddca23947aa49089e1c4b9de3237e08267dde08cf978a58f1b86221e2633cef1c4a0ad9c1031ff3787b8bbccef8298f2ff0665537bc033c569904d59617a2d3750961f770f4402fda68fbe5a654936eea990b7d389787a5d6ff8bbf85f12fa8d727f24b00ee8d2dad418fb29d155a4256392fefd10e756b4d43db6e0b97933d582b932b26c18907d281e1d680c5c7cc7f79f69374e5ff0af29f31b11f5f833cb33d4fcae060b5769194a929be803f8545d65dfffb7e6fd457633f309e836f127997b493f27fe5b5078c9574ff822ccbdb3307251488e7dd02a88711276ee8190a32dccf7f3615c6d00ebea6c6801049704af8b2c46eb3301e0d5f1bb6371014342617712e07ba9b8077780fe77b89be0dbc2fda5db09ef3ba21925656559d3a23528c6324b7bcbc22186872929b715d79964ca53a33559598253613d996b5b174f1c4776e5d113ae0296bfdf667b417465633e4753b2e78faf973dc20e53859d6568fa7be865dbd34ac89cad488d047e76757bf02f531b2c434db1bd70c54e483786bd6f1acb3906a1e1a53aa00e22d24b63ba330830f11332611c58b7bf94062ec7bb0b55350d871ca4dded07acdc1b8a35163bfb1b0fda74ab8033c303df8c9c0410d5977adf3436953d843c06616216400f81f1300e37e9f872dde774058e027799aaf10bc3c26b9c110a8973331c15a92377caeabfd1f2cb2e7da0d86f2643e243a1af323d073cabc62fdd4e4f3ecb5a6248a87dbc371f1fdf4bf960318cb94fb3c3966e46971d34a409ea3528ad39beba2d756f6f67b593821c26df664f50e68c4116ccedb16d98997a57e9c23c3f20767e7df278752a3e6de929e06993ec9028086f36c98f1b1ff62a1b0e74cc2332d2a9d459d81da7d63d5ba575b71a4e499bec1315f74f85d35e652be6f55041615e8e9d4b71f6e8ceeb46c29beb3379e90d694231aa16cc2760c038c0f75769e0f2f1d9fd8a93f742e524876a9be5ab699cbca4dd656a937b388f453048d27298e8ed1a626a64e45484598e5cc296a0949bb4f1eedfa72b4c49d2eed780b8712a70eff8471f3e107cf5787bb51101d6d94da307da146a81ce8418482cc7f23c0be9ae996727bdce906cbf0d906aefd03a9e7e52025f2401b7ca84e0a721b628318c9d24bcfd4537387a7709ec20cccb94cf51332ffe39e61f446d01715bdea9fc3902febcf1851cc42547feb028c7e7a6ee99c7e38b178dccbc7b9cdbcf4a95016194907d2ce25e744b935cb9e3a8ea86e361c09f3dc2cc17c570da1e39e97bb8d8824873fbb9cf5047db60f99d531268690c9fa078b856f2a07ed5628b9fe67856dadf13080b410a8fec014bd37242a31f2e1df94e630c4fa47777c628f4002d58415647fe1e190dab2dd7ad1f2de9ee8eb3d7782e760f19080897b98d73ba13664b9ec3c185e824a3dd0b630992fce8b9031a47027a1dcce584972051fd1bdd41861ad3f92412d7c84a81725b9eb528f995a33ba08e9e95082a8f7b67634a22ba54a2bc6498b87f31abcb828bfa764790d8e06a23cfdf37c54afdcc82612e49fdd91d61a2d9e1b175b6c268f9980e0a1ef30960374b585b316114f66fe1d0ed57ddcb416a0221658bd5cf5d2ab2ca5af03af4530475cb3f52c4219968aaf60345abd348feb5acf998f4278ebeb46cf8bbedcdc95a8f6ac5330ab7c60f7251ecf06ba4df99e3f00d85f6e4264d35ebf28700537837da539af62fe3ce5233bb3fffb1d2feb999fc34ef199292d441a883ec51f33e884ae5955562b8f9335141b6c42f6e64bf59d490158bfbbf2576811df54cafd7cb671d5307785dc076ddf0aa64d9dfabaaa821511084351c0182a2910870711bb51e50775c883cd37b8fd7b03077c914ac086a94f037b2e79422a32dac0e1441a38f82929ca5365ac73328594f42c8db5bff175cf39ee01cf3447592f4cde31ff377ad03593c33e5d456a9f6e9adfee546de44713f09804a36ef36305a181be97557fc28f6853a627c17a7c30eb896bbea83151f12f4602517ffa9a128648a98c70ddd6aff5e25413c82d5c0f8a707bfeba9b62a543f456c6d0994e1a60cd41483f3e89af4ee9108080a64756f3d929a0d6786905cab07c5352336b6d11c26c3c688b680b707bc283968903425d369c4add31c133f5643316e806d61cb1af2583ae06e8d9c1030813cfd4dede3c2a4524e404d30702a018a9798f437f26f2ba31526d3117bc1dfd167568b8cf9aaf6c477e2b4a72baeeae57bc2a1384a67c7f6ded9fb7c24769ce3b710392d5c3347180bdad7ed53120cba5b36d2929543923635a02c52107916c86c787516cf3232a85ced1b768b9f490b7900caffbb4c32c821ada47071d93409b2680c003380d4062e4ab73a922b1b01e7b70d3d973326683497047b771004bae14dccca1323c08bd51ac0f9652b9b7115e102da98c1f94c82276dbbbad673b3137b2ced271d8efb42fe317ee176ee13ec55bbcbe46c9db61273989e082156b71248cce5064cd046bd7613fa2d0534d6dde8f818fa1826cd38fc2b3cddbbbead961f8439b28107902588214be866292b79cdd335986793bd630e53f1eaa16843d072a509d6ef1f987b39232019a0743927b776a4b5564309c74838051013290fb2979c2685039c80721dbf3c3104ae50715698c8f49d7742c4c9d5cc7c93a0106be353cbf6b3a456c9ada765956a243395629a261a27ae0b25bd3a9b2649d63a0d57e3468c4fa4a0865d2b8aec3164ba5cc9f65efb4b9c0f275569e0f2ffe1d5f07839baa2ef44e0395bd621011ce079cb3a1c49422fb8856416a7ea45baaf3fa6b4c3d7db122fe654a3e37b0cba313847983ff20c426ce172eb0ab7e00e822676d10935b898202a8bbebae7c518154feaf3ef532789e3170c4cafcd42c67117ef278ffec58438672980cbd5553b100b51adc886c1619d28577e44493f356a7710310ff61c26e32daffa7f20806bd8bdf290ab3ec05fdf5c38c79d33fc47bcb586d638c6408edb2d47b91c266027917169d2393a419d96ad8849e4e75cd21c71db01684742d459e05090b0de95ab8fee686a630b574240533bfe9cbdf210223c5ed4e08512febb1e5500775a607fc62b6dc1f0e280a74bb302e4b74ff1df6bb7b90fb685edcb35f875bb811abdeefb1b7db26caa0bbe0389a8899ccdb22e5f6c42b2b089d9958548ff452e8c8f323b6c36b6d2dce4222ca9d16b9e99b9c47df9302a6f3e271b48a022f7c95ed761feed113a812c5e69bc659683140329512931811e47ba74f539763afbe36af97f7dcfc246589ed499424644b7165457d821fff08680cd004977db1173d183b5b65d684fa6785c344371e197f70e77934ce85a3bb18c84a616a134426790b3934606235b447fc97aea7c8634113709623d8be9dc50279b8bd0b9245674f19329815b8384e56491a7972f7f192e3896df567d53f8a818b5f9fbaedd1503ba74ee7d7386e2fe2f46e22d505cccdac6387208b23924fe1778b8f6db3fbdc48af4a94f480b12865ca0ccc9ca4ca88b20d4c941c16be704621a62c64cd4165c5f09a482cdf611c47113cfb6393189560137e7a5633805402a418d3b6b1c3e1105410ad33c9effd63a1e5ef5125eeed8716401c4cdb3b7981af61cb8906825c6fc63782555b4e0bb9cb948ccf76b7db5c73042bbc6af93c9f91c6fdc2f51fa60069bd67210b736e267e53af1c94e1d4b5818d74250515f3ace23b6edadc06b20468939fcaad28da0a57c04080dbcbe340e36c53c7ce1e6cff75133f7c325849c1ad32f77b11cbb81af0c10744eb812bffd3e3a00fcf1bbe62c42919de71d7000928003a1888b6e626eac5e4f0c537eeced7589a54e23b3d99fb73ae1eaa53402e31167f5dc2a81c80c6f2329736763b2b3aaf9f414dc75be3ea9af0b06eeabcfbfae7f159d31a613ddb4f40a324e77df6ebfe0d9aa12f3842a2a1216a30278f70567042f184c51071704460d2a06b682a111d662102b0cb806bdc3be650c6e8772e1384d5ab5aab806bb39b15db83787f0c3ec6ff305365169ddf6ae9b94c756f309414658e75957b9696a907e79ae26cabd30b1af6f8a68f8c7243f2c99c89be987d9d917a50af1979ba76e3eff17ad1de0e97939ed09281715d0da7256c19ddbbdc6a7b453435edc702d6b91135147568504e904406efd581770d0ada93c534c666e3a10bde53926bed81b8bbd6dd0ed76d63a1feba4f9e37b91d09c42844b50cae781d211ee41b0fdf2efd9ca0527668e417abe50943790ece58106dd7c1f9b4435e1d2366d412116e671e1b336c113cf294da652a758cc492c4c84e018f22b59a0b55ec7be8bf994ee534c7bf136d9cbfcf87f9b82a94062dfdfdc57c8761391ac00c2b02327c75b522cc6d94779ada46f0128b51ccd458da85981adad6120240888848b836b4671b3d0129251f4135ab96eb9a4530338e107fd85e8d6be66e3c42078e22425b00264c2455d531a5daaeabf9ec581d7a2d1949a0797349484f0a2fe850c4739ee32dd659a04fc2365d9df6bc6da5a218f4fc425ea28cab5017c2d109dff27eea12e610bd590018292c199a1d5e02c1fbcc7b65d299adf9517cc838ba20db50434ced00d055f762e30bd9361d5a1b718eefb3fe4cc8f626cfddc0bb151a1d67b9aeb07495637f1af1fc02fe924b3dc9fbc013d2502366f09fb3352079bad79e05975c572e0708ba5ea801af12dfde23e9ee69bf32392895b9f8457a15a2709047143c6f5eac12155158a1987ebeb0c8e3f0cb0a38ee51f7c5e0b153d716d9f03fe9044d010a4db75d95de60ac7ba93a5367075dcd0043abf83eaf85e038c114192cf6eaf5d679e60d69f571afeab4ee8ef1a5d59f4389402d5d5e41da60785a4647551a7604e547d02763ddcfaabd1721d3731785bc77655dbb11f03749cee5bf0e8c450a32cdf076c1468d5a1f9be502843c936e2ac29447959a6fb58f2114d7b5c7d0e3e768415829ed8cbd7d02ede40e4ca7846f79305740b8a22f95163f9227f4ec4c33d53f058e4b85985696937c80449f104ca05fd2367ebc5c8db43e3992696e9c356ec2915757ee0397d575c63d7dcdfe63fa98a4a537493d9b6ea51bb57332ac1f2939f21196b9c453c17200a4af2cfed35d26617f02a11541e9316a521a5ec8a6d0d0c07de19bd68ac7a43afff6c1a34836f3d406d0d8becaee94cf86a0b0f3ac36669be8a88b61efe1d1a2d80b683274b4d23d92e60bdaaa74b113524040c14b7b6b242585b03c1955a0f6535bb96c40fda48e1ff7d34b004e58705b8d5454efd35c25865f156bf26d64815608bb24dd8f494ec169f94418d6cfaf65cf345e88e95c0dd1a8f63c01d779961d91028a9ba8c977f43440d70f1479c487087bb17aba3007aa7a24c0899b006837a751dce9c908dcc4f7bb3c5c1f0db595d0f34c101566369a71c37095e7669d1cd82dde3876a257a3c21df3289d67974c700dbc5a1aaf885eb7b76f9fcc894e667bcf09fd2e0bb5e0b4c00da4f92c477f0af85458ff024f81ea01b66fc38717167fc72bf623e56200d27df9726410bc8244eb87db72c6941a13e17d3586fe1035a80f0d6f075d9a456ccc2427f405a281f48ffe6737849e9164ddb720534d438059ce192edc1a4f322026687a0c02e2da96619e262992f4916e035a1407e3e0192ed94dfd5bda47f5740c0208835040a0eba0b5c5607e58d3167902b18122b5c9f63e81580663067d160c40606efee9bfe27c8af28e27c5c14675f114d851679af7c8a4c70f757f726e5735c9a0d7fec037d4d4b83c7e7f9a0457abaeb3409c695dd71e773a28af27e7ee2957fbc3a51ed519a4712e8ca4c7b944796ab92472dcc751e8723ae700befe74c066cc6069ae1e61f76118ecd14a5bf741334fa1edb83a23e7d1e1246b98442d6ee43877d1eedb9500fb1eabcf6ec1663227ea01ae59fb7aacd0a0928e90efff35c6c59c2753c1314636ec6c6734ca152046fb16b30783384d3784c8df23d04ed2f4a2b69275c8ffeb8ad975ef26f9bb58e0b1d7839d30c99d9098569ba016f0acde2f8a481d98b3d9e8c94ddf06849205183abb348cf1f980ea90c39cf36f76bf8c18d1ca48329816cd8bc9f06fe4e22444622ae0d7e952701f1cac992b1946af8bfa369d47d47db3ef453aae3e51ce7e0f831ea2716729303951a54e99a77f612ab5ef2f1bef643d6a41da257be04f004e1aa5c6c44901412003124838410042ab4fb449014120031248369121ef7b69f95b9e8d8625011b83694f97fcfd95f5726f0041c10228e85d6afe10b04f5418ef20f305dd127eaad8b774800f73995a4c4ed3bd6c00933968ff3bb6917e5d0ce236da22ff0e29ab3f38f6d0babe55a5e1340b1adbaee8388a9189cf6dac5274788cb2738dd5790d9090c12c30acde6a89b8bfea78c39e14a87d4b9125dfa80effa383afdb01ebf514a58c309dd7061f09e0cd210598dc379bd9edf014e8c571d98644f6d73193ce7f8260c8a9075fe4fa06b708a11d56ed9bcd432065231f5413423191de5f871dfda8a04d2dd247b8e7a28bf6a8fca91cf1970d58baa9f3fe0cbf99852ef4c88977349d7b699872126ca7b5a65c4707d8163653bad809bb585c19a30b39618a53826724d6283dd60b42e9bc6a1a8bf4a0397f7f3536f5e172a55370e1d9b6c147c8d17cf4a6ac6dc8dcdcbacacbe07881a13baa74a24a9a49a742e3ce81504fadcfccc83619bff7632b9e548c88a0f8c06a07197edbb6c13dae57d3f1da96ce2ebcfc4ad0d529df3f1b990187b5b75e8bec5325ac8c4d8432b0681685a7d246d3bee6f30fb5729ce140ff25571e10afa63df68f51cbab50405f15c96c7f16e102d50bed83d1a09dffe086f14adc7c98a065254231ec5c1a9d1cc1418def086802af21ceb3aa1f1c1c646d692c18bbbcab2a3ffb43edae4bf18bd4f158238a658180767b433f2b34fd4b259b7815badfe88c24c3d4013f204fad8a440d2d9a6a595c748da7ef94f1cb16d8b2ad159fafbba66579e83ea105cdc75b09d0406d804c082417d81ab3a1cd09cbc792c5fb0fd4f0ee19b08766df089a8384ca28d53b0b924ce16ea8a5fa06cd55a8ffb9f490003ea2c2ef1c24a027bbdc0613716c6837c842a6f3c95bbecac2a27f9291093cd90d139efac35869ab928f60c4991a7c3f890d95a80fdaa4340fec5b5253e3a382bbc0e5e9df4fea3e3dee61edd609f70b9f92d204af6cc39742315458fedda1713708d016abbc345f483ac90fefae91ca6a13a085ba0e7da8295ca0380bead1b1468d3784f9e0fed076d85ac29c9290cf58fbde78f6a15cce9c1211d504fa88eed0008f5dc0dfcd74298585566193109d78b2be91548371bcaaa2a9b0814939893a606a7a2f8dc6d60c187e5d2523ac86eaeed4ed0793148f2ca4bb7c715cf34f4f7576de082fee84e85c6f9b140ec313e0ecb6129cd6d9280e1e96e3f0ef84a2127301f7dddf21955f1e052d10a3b65309433b7a6d6bf311079ab3be71f7357ab94c621f399bb8c33ae89ffca1d84fa2ff52518c7a36fb5c996ed17e34c0a02fbdc7b92506c82aada7fa54ff1c5a036fd4f115e9cf3318c8cd37f8c9f3a87ba110899bd524fe1882d5cbac106c09d7c20ed087abed45835eb4053d855fcb953cba26823a763712bd169fc8534b6ec38adf82b42f3c13185ebee59673de91755ce43be56f778347ba3b1c113380cc5a3169fcc16e96bcb3572be57a1ce4ed1ba24ae3495362c78643fa3530d7a70da5e542d1dcda3fa8423e407cb1518d151c0481c0590b7db32fc94ea1caf85d4edbaedf67a38c9723f62aa0b2ee296a22d708977420f4b98270acc327a060f739fd660ec66b68e162e6fc19e5e9e939e5a1c88b6ceda84b400b6de0a73e4c3f5f5108150cfaca6b9cf4d6afb7deeb2c1c278c1d8b9ba8774588644af02fcd42439c71416f99b53827ab96f14347a62556219d5d97a364ad10d65b48f83fa43c669f471a3355d19d24758c29a935a35e197822bfdfb928ccf90c3f0a8c2f55404b7c7e2d15d31b6cfb850b159c5506ec397eab98d77122e83b3f665535c553d491c2e75541d0250724707dfea4c0e118435b8e816655e31c25224ab9e5bbd5130b79448ff614dc0f12bbbb7adaa69cc3ed4a657dce2768119c5a800fe83cf9e620263d6d0a0dd9bf85260acd22e84bf339c67d414d9d5cd1a8c58ecb3f761a4a5ebc3a48ccc8e2db71a000553fa2448973d00cc619ddedfd841c46020a038068d1647800bc181216f80d303dc4e96214777291ac89b6b1754a2becd386f117e86d58b8881d08b5a68638c32abf35ee2a4ebe1e7c687ede07ff17c4125ffcdba1f7467c6d2e0f17bbcf891551128df35b64c922dbfa0ad59886f47fe4f8c75de4db6614a34ce34d18d3f2b0ecc85ed0d5573dea0c408a71c396752bd5fa683ebc3243c8b6c097a668a12ba4930a6d3793e862ebba231b1292280e5135de847553dbc8b12e03a0bed47bbb01a663f1360cddb741af7815d4035f64739c788e65bc3c1a2750f920443732182e47f36de7f6e475603714836d04fd8bf3e5ee05c95f5e5eeeb25795b599f99f5f0b3c8450e4de65c94fe557f57aeae86a0385a7d535b4ebe3dbdfbb64ac21c106e3cc25d97cda2f166ad011810b5810b8229a106facc2c783c7aa960d1518efdaadea23ad0761703daa28f09cb792e711ed95326f10e4b2ad99bb82536ec6d40b369760977597ecfc2c0868f9c7ef8957f4c3f85baad2504f76e8424102780f79b081c08dabfef10b1545a935a6d626301691eaf10133ec13bd999148930e57ace4b29227bf9a2a30698e2fa2905e9ba350b9cd00d624dc34975da6218f9ed1a5be95085a263fcccd4cc34fab4ca1d186829fa91d7725ca4cf6b034e4d2564df449ae9ad368f18758e6814efc49f6aab99536ac474b2e71ec687a6d19b0c5614c99952a07fcfc97a54ad358ec3187e58f584dde82b09f3c8c58e74ee45befd2d463d764cf6cecfa46d1382d82d96a682dcf051f1ff24a55c1763138159ea02975e85306e29a81506f54d84d72e1c9f72535b936d9cd314aeb5eb1bf58513afea71eac16ca46442fd0f45d2eeea46b93cc08939ebe278a32eeab2bacbbf8aca7ff97b4ab9bbfe1dd8a4f668a8f576e6b75cc88f04fcc469b8880f770fdd54b833e27b5124b6b74bb9ce59c5fb6568cf6af45d2746574648dd4e15272bcfcce1723e07b3a4b1347e3e17c6f6012d73dcc68b9dda4a10d633bdc5790a5d0ca8651a225360eabc40667c25b1b6725bef5040263aa8390a208e89c3c7de89be0f6a22c6204746e8d9f42d17192734d8ca9e7518ffebcdbd284e34eb179554f175faca8e32b83e2b81c7431613a729be631a5befd25f77fa34c0abefca1109417f1e09c0353686d435cc8f243d541550227e3da6404b5d98f4bb8b4663c195c4ddcf37b82f1e85e2b6ce8bfb881a56a24ab78783cfd9d54e5fdb1a0fda65cad0e9f118f83ae70c9d60ed822c70de2d541554fa50455a27cd8f48d9c9ca719cbb2cebf438c16628cb2e3f75fd0a4149f343c9467fec461fe3786c73fd091d297736b7cb52c6d0adb8d5f8d7c187e2f86fe5f291dbdc49bbac399ef4e2f1a346dcffa2dbe0a2c97facecba9b3c5487f5829910ed4db47875f94333e2e970e8dc0e261b313b13bfbd4b2b4bbecb8f95095f8c7b0ae39c3b964990af269cd231d3d516d54be84629f096654d3fc677eb9d3901dbf5d37d5a86a79ab11a3642000cf2dba82e321e9c53a1e2918d8a7267a1f2dafd65f53874682110b4b27efd719302e30228fdb2c8bebdf11ac5b44d0dc224a6b04c86f0f3ba9120a00028d247d61c008cc336b0e445d44020949895180c8640a2adc09507579ba7d0718b153d2463f63e89c3454060b09a121e4b208b3aab5b60b7be6718198a386d82b0907c351e18ae2408b3334ca14a21ab68c16b1593e1f1b6478ebb4c8c3159d11e4793ddaa3178bff0406a74d5472eb633c609cf88aa84e122b82f4e69f42a2fe45da77d8fab766dfb6717368a08ead2fd7f335273d24154b8cd06eae8806efa463bc85d4a31b70caa2db11e4f69059df9cb51a5e5b3606904f416ceda8b6034a2821fce43abaf1aea5f258428f49e3bcc0c725afa8393cf936704213e7cd3d10d2eb1546e2e86e4618c586093d35be3ad12cbacf044558359eb22e1c796b5539306e99a06ffb3866c0c3209ba41a5467dd728645bedf1258748e44bcd257f64d1c8ce2621cbb5178cd47f7030159400a91e2a30987402b491fb311730a206824021506b301a8d4258838b3d5618b5d7163d7e45ffae069d75df5b5daeac905a484ffabd852e663b32974c24f411b2c43b983b65f2eb2a802bb429ef075e924f565456a22dfd44e380af87bbcc36c461a889404dc4fe6fd70f2b9e77660fd9c62c154eff1833ebbbc5a4b01c5fe0587fa3ddcba6509116eeb08f064b4114257f8932e69d0606b43667566dc878a2db337a01f6acfa3af76109b4fe20b7f3dc1cb71cc2b5c20281ed714274e133164d520b84980474df56593c320f14c991ba0bd6a66169db83dd45d8164ccbc13995e093ee49e8044a0ab53f56bc5a8e815c15cedf193cd61098a9c0c6cb88c93e61eea05eb4ae5c5742d151ede5c03ab08878191eb3e8b65173b8ebed1bf6cdb7215562d1e57173350d89fd551bb868af1070e53bc5950e8efa8e276fd53a05c1dad142f2a49545c5b09f81febf43adad780203d13e291ad66fc4450b14e1fad91d69e903e399b4dbf3292abf4954e12e5b5ebf6634deb969ce6e7f6f44977edf9c9167472ad6c5e716ab95f2402fb5a04333b72c489580d5e27a9f46245024085f6269b0fa09b2be964928dbd67d16570ebfe65f3c53ebbebc55a465bf5bc008ecf2cce5752654f4ba5be9a0325a1d11fd6b658ea90d035c5b74c896e1799280b9bb3cce5e11d34a0ddebfbad2e9611a699598f1eb824d4b4cb3d27ec3a16d089a3e552612d331ef169f29800b24ccf00ccb9891d0216fcc3f10bd3d20d9aa57f11f64a7a1b7028fcf89fd9307f3b02ffe73a67c7f1cb2e9cff39544e4abbbcdf769230093b81ccba9024f002dffe317f6996149a163cdc30abf60513103629068100802455981c10569e5afd12e40acd90875fc793285a4d84b33bd053cce5836df22e9dc3b351d2d5f605acf6991da847fdec37e2c99bf35f7fbd01f6274b5ff7405ec6ec23bc4927ba7b32e0ad180ee0d40734382f0fb6128b4cf07aa938c77471e78f7b9d320950d8bb4d85bfcdea653939ee236e3172bc1998639e1b6d2023443b07fa10540e1c921e146b7b6f5fc05e6d18719884156fa1d302ca8f0e66d2b00ce4bed0ee6a2700a649ab630096335af607f6cc0200ff17b58d25e1829bde3da366eb7846f6c9bd7c7bd1cba31768dbdc869f7f5d95bee02c9b37dc53ee7d45db1326499c27f4312d3df1e23d0fd17c0e19d77a4030e8a11c519dc4b91060238cee6a3972e0db180d6ed8273257aaab53e57cee5521844532abd16b7e17a6ffc974e05d8530d1ee7d985833de24227bfe066442090565628341a557045c8f706dc19f8021bcbd985683e591b02d797bdbad12c1972fb6d0d0f29b83ef8b05fd91f391914426637c559dbbece095d18219b651d407e485067060b912f70ef8445e7418efd4d7ad91afbfa31e934e2ced87cfc0a2c17ad1026e1d7318fed762f75e1d8896a02601eccfd32ef8d5794c5bf88db491c81d8fc4234275e5b0cc453e1614bb739ace66182b072b73e6a2aa1e8b3238a94b2aca852e919d89b62ea63b4afcd28a0d45f6aa27cafbcf351fab409aa47d916c6202efe24d8f7e8ffe53698f5be96e0d036f0fe2ff6bc58a0778adc6d4a2c287788d6f664f633ee816f52973d8cfea6577e1a23f9349a3b13db9bcd497b12ea5d4ff470921e3390c96ab944e71eaef65bb7c7c9736540b4edb97407b2755197fa5e102ea5c7c913ae6d552ce1476981a5c187776a7604adebe224c88015645b715b1779a7650379c446a9b7ae85d323cebfeb0eca8d7d212c47b6db1fe0ef80c85b90fecf9a9cdd93068fc5caee681b1672aadd319e99dde26a132f58561fbf670e17dfebeba56f8995ec29f9532ee5697ba179d765f0e3aad12fc9213552b9dac794a38c1892883860703345b96b027eb5e8fa1f3d0d4c4ecf83c8f674c2154692c4fb637d4b9c85210e4ffbe2947ac72974b13f43b93530ed7498449c192308c212ce655676baa5a85efe70f82fae7a1307bc89bbca153b5d70d6959d18cc6b7a05a141bbd5dd36d397402fb4234dc24656b22cfeb35f518cb35a6dbbf1b97d0c70eb1309943b3f29873875934b46817ae4bf783c39473fcc5c481798cd73d7188c5cb99daed49a4119a71fcaedcdefd60d61933fcd026d85b46f5ca58212b103c75c10364a41670b866ef1e952d9df7614cd37afd9bf117b2e9cc9e87f15243d39ae03b6157c00c6ca5dcee07cc918d9cb039ad4cd2f6b78c6d75c008f9d12656d8ceb0640b937596f36068097ac3278fdc8a306025963a010a095151a880057f6ba451593c750e07168aca1461486b2e3cbc418b1bd0dc95a7a0c3e61dd17f7ac33d3509729fcc6f0749132fd348b8eef3e190eff6bb475958ebe8a884a0a63fe31fca2047564e11ac9cd456ffdb00a05a55089402143c81b84333060bb94359e07a8e91e49955d8f638e98160ebf9cd0227d65fa3442a51c70dafdd13889444f8613bad17a45175d3f727cf0914620d33aad420acb56151d12ddf260179c7c3440f1081923f5f5881142bf8424dddce5b9d93fc1b4093044222081fb90bc193271c5d264cf5162ff3ee64d85d85598ef10abf886345d62d9cb16ba5873c41e8a33aa24704b1dc414c775e50b5875fc2a2c2897d4ecfb2d0d261aa37759958bcdd8338afaa2de9030f556730058d24269e0a2cc7644e1c82ce9d1a2eee56cf4ba8ea560ca64a41b86dc766880040ffcc39616e7b5e60ade09a84e382723b7542c95a8c1dda6caa4a75d0f334d8e60225c50e4eec971c4e11cbe8ea3cc854575287afc88b6dce369aa78da42bf1c6c0c89e0819221ee0bfa6cfccbf74a86af17ab05db8ab873c93ffdf31beb9024fa7636191532d9820bace846faf4a354074b4b3f33ae21c19713ecb07ab655afbe2370c1446175df133836233fe2598ce0459882e2fb7c101da605a5a16e6bbe61970ca9c9ab7914747ec124743bbdea47dd3dbb15068272cd44fe129250a41275f0ed9f053def0d800e498b90f0bd9a644cd845dcb1ac02c4bf46ac1a18e801e1497fd392f9dc1d41ea24ae24910df2d196b139707c39fc34f76c24d656f5ffd7b60be04b33a45c1803730058701d7a24364f60c21b4d0c89b08643c0810b352b961d03c467aa3d526f679847e40234bfa1695b94d6619413185cdd2cbe3d9d2e18379e28551657de6d17c5f35cb902de849668c0828caba8322efacca6739781600863df0e0f20540c058ed4795a21af2b2f9437364fbf6af9a746c8e832da0218a2d87766b7fac40c957374534506ed0ee6369fba211785e0037b34ff27a7d0cd5968b8ded316242ccf50e46948b063fd1320297253d0c556ce8b897839e37782bf478578b390e781c752be80a990926d4b13b67538d73a3d048cecf476f0fd8b6ed0fec82e2b293983bd1e1c2624a6272e59617bedbe42e4b45cc9d2913c697328f402fc507d380bfb5720443eb8df49c4d49f3a87102602e28b982be504149446f6b420414fae7a67490810bb61dfce596601b8562d40cb58daac43fe4d98d3731902060223a14fc5a6c327130c97a241412f26814e047dc477800f717bbcc229c77749ec36f86b02bc70595dbe0147871d490d9bd62540528ac7dd4727bffed6feae2ddf0cbbdd4cdba0569e0b127fcf272c34b0a6fe55c4b03e5272778b700fe517509f7c31a126fd0d9af78b53e111f9ceda6895021caf3121bddf79538a3b3ce78292a64d88d792a66a9f26a5485a705ba34360722e8c807f4ed0dd7fbd1b5bdd073d12ac304cd8eea6184870808f2059ae363dca28dfdce61d2e0815c83a54bc535a0b29f08e2ef5dc1d0464d0e76c65adcf53abe8f6fd20dd34d973c924d8e4baa8a51076d6afc6e06c4e2d3fde369cc57bd01832db7c3d2079bfd7d464118781bcf8a071564e9659f24508292e7eff00deeefdb9f55a81b0b21cd39b03db3440f5576de08250dbe3972c541909ffa000eb4459941418219cdff28b2ec58a1dbc27d6d281823f0f1759d626de9127aa4bf88f9e8ebcae42acea0cbb524d1459e5d6237fbaf38fbd85e500d10a05198dc6a1726c210a53034a89437d97a1705a7b8d61dcd48c69e407d3d67d0576bbc786447c3f52865c6dfc96fa6f6338671ee636feccf268e930876e9a6769b607105f6d78390dd48bde8b7efb924395b02b9ba338828bcc253535e85fff476ff32b3197870d594f4b9d8486f0aea216e54918c0673f666e59099ecbcb0e194c4b50da9abd29743a00057a53e264666a6070364d2ed972d63e155303b4a02511dc1690f4aadae2ba01520f9866f3da18e62a889981aa6a8828015e2ee1618d108ba3a949903a63001813511bb87870d7bb5b2335dc5ba5a7361add3380522a508b99e8be811ffe01131de52e9e48a1008d36a523442a64829bc3173fbaaaa58310c0ad4accf1c21bcdbfc45ad23178c36f3c24a8bd6f27c2f513d338728da3e5fdd534e0117b561079f60f528fe1019fb6354f3c560f9754a19a35990bf2b162bfdb587d058e6b6bdc1b02b631591f9cfe313cba35a85ab11acd32ff54c4e4f80f990a1a6e29284df79a9226c5d1dd758f872ac4eb5af7c85da40221659d4d08af35a48661ed6e746b712abefbcf1ae5575011d42c3f0e839f348eaaa5ed69d72bd757cc2651649bda49de133973a30889f996aa12e675abd375033ff6ef3b62ec311e1096189acb1584ad856732661f0853f335619b32af0becea404cc3f90cf454b06826e49130ea2bb83c1873e14f6589a7e028482551728bd29c11c80bcd91a690591578187852bc95e2ea17e66821055a25420b76f2eab93cb59dea2e8ada423c8ca19488f1001567ee9d0212786706562a7691eb1439ff18d176baf1a32edb58d8a8ea4f1d08a9d1053f468ccff485e8b8e2931b7c18f44044a6d8e15cb9c1ffb28a308ef253c6fe8f4ec2db5f74bb69d89ed9b344c3a9b797f977192deaa6b86f557ffda7f66cf36dde99c336e49f444afa12d2f3e14737095269a504addd8ac0c821be10787d673fb6d44c1e0fbdf0e4ea051b56b639ba8a948a702e7e1a79af68b9730cc49d19601b6f6144af0cb55704641820f8c093e4c9c43fc9f3c9e05da6d2ca99f8e6583461d84d0efffadde13afa5ba7869509a2261ad336418db85e26a2ba1a34e2876d28165f57c1e8f4dd22ce17fa46a95066329c0423e57016a7be2a4d65e0447a4e653f9b365c5d9d410102c1df1cd823e3ca6ff37c5cad252673322cddefb05fd97af51e6300b8073fb581ebfe888dcf8b5af5aa39f179ca0c2542f414d83b8e8fe1712f5b7c5308b81b6cc7a30dec286c7f1b4cbc03dfccf9bcfa6d3b537c1f7e56b7a98a4fef72ee701cabc11dd786b719a163ff3b69358d9e3147db21e56c9c341ac31050edfb6ae281c21938cded5da67488891218f3becfe2fc4a79409605d4132e32b6a63399b12d23e752f43f2f8c6c0392b492359c03717cee7fdd744a8d6d08bb2d5ecd70db52e57419c846e41b50a980f10b94be34d225ef75eb2b0b1834ca96d86e9c035589e1d1bf848db419aaec99f985b910444cbdf0b0bf2f64a0ac9bfee9aa118e8a5bdce26b22faa837da1f5da610374a4d1087cfc750bfd13e1357ca74a004e6b1e9535b5ea285eff74a9fa65fd535f6a1ebb1fe680c5c0b8a5903cd20cdceb002919b749f355c0e270dcf6acc3e80bd1a68230302324e71e2af6f9004dc7d5e4de570a6e2138d4ddbfcb1cb3d96fe3bc46bf8a69dac1efeb1b58cee5dc2b93167e6dff26f5668dad02c34e78ba0a4a3f6ecdba5601623fa074d3312dee72a07fe3b5bd5afc0cdcd17b0626bce71dd07e9204ffc001642263e96d04db968ec382a3fe45edddf63125ed77c812a41ca805eedff2bf7d4a4dabc87443db942e50f87f32b840365953f7edd2dc54a9488c6d1ab9b252401938de4b76d3bd97304bbe610659843cc42202bb9ba561e8f2447360dc5c6cc679f73ae4d68ce1f9e32171ef9d6c1752c326e41ad9237d4c9b6a82fcb8d69bbe2d5a148fff297187a25bbeb4cc600700f7e6a0357fffc57e46d773e7cab2cd00988814b979f2e7c4a5fd02311fef5499fd097f7fd3fbf0f78ada0aa020cf9531603a0064277eb38ecaf9df8e5edc4f00b6e6b8f67b8cb583cd773b538a974bdcd82dccd9efe50d1d0fdbd4b53446f8626ada8e1fc127894cabeeef79970eae504ccf0fc0368c9e934b852aa51474c1ff203dfc54319fc4637efa7d7654cbffef76d94af36af976bb6a10053d3e15feed640328e18687f4f2399e38b5c4268a683461370b04a1204bfb2fa06695bf03770246e5d4ac6a955047483f0fbc486fbe037dcdfc3d415c7eb3c43224c9b425c0e6e55e0bbfaa703af5b66d1938e72654a8bbd4e15ad3df125df415d5e29047a972c659ce8004286e53f1ed958a0bc0284a4254681bec36b20d26d7279127904006d1c65ab4f9903c0694c421766e33230d41a0446dd45ffcc50814b92ea89fd5f19215466fa2f9d1fde86a04fb58994576042eec63c8fe60c7bcaed0909a3e5984f29e352ef3617ac7f3e9c78c45863cc894d542032c7a24a62743a7f4efdf0456104161afe7f97dd168996eba32325f6361d9b1c61d3706ef28e038329780e02519c9ba4e44f0cb301dd5db2bdf65514e6661a24d91680cd4d9218d4376e0bf7976e24c2243a21e7c8584b84248b96eac342039f107c3e55d56106e2a347abdb52501897106e06070cdaefa349094cdf5c9b4f92736ee8d2fc72936e130ad6de8a4e41373cffdb1286f4fa519010b775bc7c5796fcb7ae6781bf49bf045c83dd4c3611af8d7d3a283ce7cfd87af14c51f75455602077fea86edccda7ad62ec343b0cc0c464730abe8d864128a593f9ceaab0a2921fbd9a49de08509c6c4f02988d01e01e52c3ab041b33241a6985418ba1ac817070ede3bf10287e4935383333faa012407d91f8ad85788dc418b70187dd3c421bbaaa3201c63cf9de562f98610b83a5ddb2077e9d1af176b1b7c8ab7bfce6d71baac5bd9314b8528ed6edb928672261b77012918adc54f890385d327016af2c7503d35769b8dc181347ab69974bdb24defd689e635a4e66be084eef8b6b117bc9d9b6759bf09820dd5adf57cad6cbc684b07d1c19920ed63a08ffec11654248aaa3af539b53eaba6604daed4da215e6dae13659fc0d487d015b77e90ab807eee3ae2669c982d9612505573a8c7fa1f9166b035f94a413d7125580aa68de60023a779338ea284b93789297477ae95f1b6274ae65e52028c27e4f0d45e58281f462351eac4c1d588e46644e97abb25c9f3110807b985211b83a740a97369c8b19d0d43e3e2f94e5919072007fe85be798abef85be433175b3cc1909e2593d9a56f61c806bbf4cc0121fc94c1bcf1cb8f2887cfa11ab1aae73e52e5310cf8099d27f606dd38d3dfc55ece256c9f6a87e51ccf9b152b6b0b4ebf66985ada9ec93e80062453e9eaba357fc943fb507ee20195a6575729210158864f3f5976efe33b8828a6f8cca53c1eca1cce783d1fefc1da0bd0722143ab6f93829c3a5aa742aa6fe715bdf157953895752cb295b2becf9d9f19c461b05b7439446d3e946c99ec9e003ca7400eacec0c1cc6b7155c0a5f5fbada45c22c4389d8e631219cb74bf80cd81aa97510771aaf6010a2a4417853fef89008fdecb40732bc1551b6138b84683a6016b74a03670a1bd5a14d98c3857930c2573666dbc2b3552207ea5c9598e65293606073c9b47ebb1c895035ff8961c973f6bedb9e1ee7e93f59c0a1587f52af7e1c69969738619bcd194c83f0d2b10efbe147f01a9bc7ba4915ddc44b4f9643d304d22349cecf23dcbedb958460807e2f453f0af74340091cb97542392a110ffa35b926ecc33eecc9bfefed24dad7c46cb93d1979aa4807d23f45da08798d8141404974983a65fcb4ba0923e6cf54fc518ed6ff6cb21b351dffba845e07d7b66dd2c89104c4969b6992f8840a1e00a3fe03ff59d9fbab9507b30a209b5d2a0b4b90613d06930b954bc4564ca861010a1956fa372a170822459426c9c3e00e6f22dcdca58db24dd712bdcd6a8e57fd6e51a63d6e98c0160ca456de042191cd4be9a51f4e867f92c5c44959d0d01cabc84a6590917c4148bb86c9132f02c50316e5b19fd1bae8938239ba2537cb5d82c6083180e34e56ff238e777e1e21fcb529322253b27255809353d33aacbd9d4029b7733314dd97389c7ea710fa8fb22e8b9e525f67d98468ecae3d6cc554e52095878a112bb8216cdc516350b4ec3c70ddd7a71ee5f17d0a713e0d380f092c3bb41e3ae1f8bbd2b328e2ae7a6cb35b3efb705318129d46fdece42c1961bc011a8fbaeca9edf77cce9d5e9274f5d4331b985d14ddae003c2a82ac75367f541c4ea7f643047c78deaf30cad92bda58d82f90027f9eb4a6e411998f0376d3036b15f731af83f229387fe3ba8eade55f83a33867fea920df49ab7a894a489ce5a775db81d7aa85f9a1ebd0d5086bdf61a66d826d7d348470d25061683a2d1501806050717e2afb81b2d762e8c8a13dc7b9decb940dbd71a0bc04feae336d8bad3ccf4af38ebf2dd4186c3c73861726e479cde52a8eaecb4dd4fe8bd10431b4b944973ecbcc1e30665cd0fef035477b140788220937063af32b077cc7c9c57e7e8669f61b805c9911fefd08a59a4361f9323c86a11dbab1b8f6c4c263d4b02f05b9a6741a9b00d3353d4fed2ed345386df3d4e77253677bc9dad0ba539ac6319b94c752be3fa46de1a5a8ac5a00aa2fdd807206134038f708ce7dc30f14918fdd535bdd36ec3e72b264a021e971f9f20c4600010e4cd7e45a204335e7f2f1181854d6c525cf7a202ad4a8118b473c157b295e7c642c908d4429c1912f0e25214e068766bc269761b630a0536c797e0acc2ee3227b91bb427962fb7511db878a304c7a1287b7c24cb26cb00ad846b161bfd40eb01612afc29ad86371c0f0e1fbf15a498353b3fb2e41d80528cc6d83f9d8bf88d164cbeaa761f409073a7c8f08ffd7acc1292be856f15d1afd30854ff88afbed2ceb0ac9bde07bbf8353b7bf6c533395a18f50c6f96d5f12535229a9236368396c958fb8e8e8325f66f0aff0735c10ddd5035cedd86654387dee6cf14860d94989d881b7b576f0378a9e8534894398b5dd0a297da77894ef359bfe76e3068ce19b04c193a07d3ef7227c5d300da7590dff2e3b6d1002196fa25d2a5bc79e8333f8ba6978a423ec59022cac86b6e1be2b54135eb5e4ff8ccf7109effb7893fb58ef654baf755f9a26520f76b534729fe9ffc22ccabb46d1ab286addac0e5225121dd26b6e2381d6b915de0f0285e6741c7a86a2b08ec265ced8b589e54ecc49951a7ca48abcf400b0ad4a1299c97c0dd1c2e0d77a50cb0c818c66f231ee62ea37dcf1c2a90f2cac985d3f3912eeda209d8a94cec20512454dfdbef5d4632f1f28a832feb56b06519d83b8155825afffe8f982efb44bf093e3394828078978db8d1cd609695e3afc62dbcb614cadff35eb66cad129f4b7f822ab6fa99e7f21d3d33d698daa05449422879d9e1ff0b80633752c215abf97a7697611ce6471bd3157d52f263c167b9721247ec540593e59ed0b9ced1d10a7e9e73e2c3e5956a455f3ef1334840bbc8a9180fb6c06e0ff21a118564fbb35308e7542ca63ff94691f2071eb569b8ab5abb3a70345ced1b4ef78a9f49270bd406aee81a8805a1161eb17a86cf0af722ecd82da7dbd472dc2a3914f304c798fcf47a824b586a87b42727967a54b6df52a79645a826fca9e670034fb355b8f7d01dd4dc3be2b1cb8a67999aa0aae0599cd787acb8df20de76e286fcf7fb8ae2323202f7b3714b7dc83ab7ea8946087f9205d5c525518207fcbef91f0f2e0ec8c136137cf684fb4b37aecdc3b41a89ab1c7752c7e6fc28a249acda61ec786c0483f95ee765a91f015a46c5d4d50954a04a1ff33bafd707e74bed9f66fc437d40365d415f856d2dedc105ef4ce6eaa42b073b9e352fb451d49741ac5244b0de6f6cf25d8598daee25e39b483eb96af96a077f629d83a8414da65855e39b7c2522cb385b224f1746891f87d75efc98545785c1473c0f5ca26050785f15d69a419bcdb0d189c065e75db53bb26c470ad9dbc2b499e7966e16095cc278601b1d733cef4073f266d06fada1153e3b4002d75f7f03b4a34ac5341cf7b4c000ee976180829794f9a55c3a386a8a65dd641dc62200b63035062ef73625a274c5c39e5ce29b673fe70d4e9fd71abd59552c279b689dac45230fbf1021ab1096b4d0a092659231bcc01b841c7a4d86e41b58ebe82a5ffd29a8df33068fe7ecf182a2a77a1c76de04dadabc0326fd900e43d38eccea78689272cc92e1b5ad246642e19d8cbf892de2cb064b41593cb98596c3b4997e98ef924abaedd45ebbe750bfe17ccd32f351627fa404298bf5b3c1e50b51197cc721ce35b32844befbb5a2669924048d5f313227da79a103d5ed5c937f21230b607051c9ccb8edfdaea4e610fedbb22fba8b4d6fa4822cf2631311cdcb8aa96f5a735031de08dcf16431f3dab57e9979ce0bef6231a3846b2390304d597ff4f7cd7b70ca20cef77be8ab82fd5a1b696bb1f4a89b08a0af3a269c35b9320d85fd551bb8cc86a4ed97c398370852a8e63551ee04664b8e8a3355765ae883be67321b9cb52d7e6ea46eaddd65a5332c84a9b549e21d82702fcced3cf71ec2b6119422113171fff4b43376d71583f99b8785bf2d26da223800b5ccc2cf562f805dc3aadedb794afa3277a33a9c794e8fc2135c599230a3369a21fa6ce255164a380fb402d5d605d3d876eb9c8fe295bc19047fd1a7cb39c97310b3526dc57ed3263b940d23fbfb87c03e5eaf3672f8826b48061f7b7097183ab0844340b535ad59c3cda7e6412e176cd7ce2738b8b04bdc83233fa6b263e75b54133a4318a86646083cbcedfa9bf44fd2307de6ed541e604047f3d73a5c4bef3d27563ef056dff2f5e3c9e0c80edc4bfcc43f3f163a31c487fbc2309c937cbe3a18f6f069f86d9e6fff0fc0645d70bd1e423acc054f80447d09892e6fd002bd47d0955fa1e0863eecfa5c4cabf2caecb2747b144d8f2b72035e400cebfb59bfc17b91136eecebaa06bdd3f78d861286679224f1fc01e33b3aececbfd4a1f52d1b531fd018e33e64ecccb636a2f6d64489257a28a97871591fbb8b91728cd97225c6a1a25f91271ca2cc78dcb62e03505270e8ef2fddfe7b357ee47899f3aa58bffa579bfc7e55981186a9bafe10ebeb9ba300494ff10c71fc1fde2e9f7443e4cd2648f6ff0fe6f73d6460190b9bf6b27f6085a7b5289fecb96ce562f17aefab45bdabaa70b0e622f7ea8a49436fe46556ca62aadeac7cb543766be9f53e8cac2daf8947aea471bce51f97acda127d1099634d4e1d702596c431a6300dad511bb87cf391495ed092b6b44bc8b7c5d27919c7f75f8e835a4efa83854199a74b3da9ba9251fce906c1acf359d992e6ac56a15cca3087c939097330a9e91c0f98358c323cdcadb02adb2f3f78f06e2a9481b18d0862cebd4bc09d13ab9e0b0ff8df2a3e816109e0fb87db0f8f3db703f2bf2769415237be44ad84b4bad8569afacaea9ed19fc54cd142b71a28c5435434f90054134c91afcfecf082cb05c3be71ae0c279cb15e23fae18ec401c7006e451e9675ef1eed97c4dfb69e2e4b3b871a00d78995b8ad3323db2b7bf648ab8af007e82451466815027b485e840be54fec1d6cf26aaa76bee551c6ef490eb6bb184b1fc1dde86b90ff36d6e7561ca6ac9951b13feec165737dca34951f839a5ed74a9c511ab894a394eb365707e6db89bfb631bf6081cb9b1e6863fd882fec123046ad52b1123279e1e0418402bba6ce083a599e587cae691e2129216b54f4f84105a1bc4b57dc6529a22cb5c6b917aee7e561b289ce8f110fd0158b86962af3b1d291538772d47ec2c3bcffe5a29af3b1439f91104475dc3984f32a78bb0db2569a19a0b7254741872dbfac2b8f47da86fffb574f685bdd052ff5704b22eaa3f5b829fb6751cf27340236240f0676f01f897d8da70dec66e4b733ee100022ce5efe99dd902cabf83c3f7871d18d4466860a38514ad864d3a289b362a57e8695d4733ca2a8da9172c10425272552d4bb6703a8d9f164a537586e5dc752846742f44eba332be708c16f6e509c4831a21750d10e6e203d5da423486176435e0227bc4ac9fd5b00a0e85ebdeaa459e1a3acbbfd6c95de685650140a0546052e2b4d871fc1dcaddb4523f4d4da45f95bd71c40a6abfa618c55b02aad6b1a62a21d442bc10be4684d39ce0e72250bd69c7715ede1dc399a804e9c168e16bd1422ee321d1fb4093e9b323ec7d6352e65f056a264ee683bac669c4751e7c071cb012f824d3e7485aea99f116e4533a99287e12b328441d8e2ede57215595d2f3d3ceb597fe9368800b6e7cf5ab8d770bc31f069eaf312b821ee9151f854fb7e49ff098ea3deaa7e76526e92ca2a4948f0fdc1cc5ae1bd9e9d32b96df5c2bfd7346744d4db225774eb311d4feeef7c5a1df93310bfd9f730b1abc8738cf36051af3787383b781959c334e5016f3efad00e61ca9f9da6601d898801f8f98b626ffe7f9507a6cedf9847341f610b92ce8dab034d224176398b269caae6d7debf1f40d1c00b56dd08929e3c05ac03b61dcd4edde33766e2706b6b340c8300a2adc06552f8ee854c94a693d3e1d6f1803d69bfb23aa6acf8d5c14aecca14d6ec2bbab38580f8a8bd4eea41e6ba2e19714dbe5f56f1a40086fbe65841785bcb46eee1c83f0619beaa0903faf89f0a7826a18178f0e9e92e885a6b5178df710be23e9eb60fce1346776eea38993c046492c7759397c8ee7fc15f80e0bc1cac8a356fda95bd2b4be847301bfd49b01c62830a32db089beb0adfc71c06a1bbb3aceca3557f224aa0a5710efccb391a2622ffbd5a6da856aedbd68696da7888fe0a9dfa4fe556df61bbfcfaebc3a96a25ce68dc0f5486497d1d7e97d125f419b4d8771b0485f3c5d48b777b5ed41951bd89b437bc6cdca0342d1a068fec9b0b4f1442729047e7a3319345d0068febe8bf36cf0f0cbd0cd6e015b40b56eede9ba198d780f44b72efea4a7ca1b2bedd7d2fd49fd1d0d00ecc020946f7cfda22da2540348d42fe1a83e10b5fab2e2f37057fb8345f23f92adffe7e3c3258137832c09be09056c5ab55d36d7577630018b3535b7061fe02de6cd86ffeb71f005ab63a4b936d85785f9f07f3054bee5dca782975f04bcf53e971b2849718a7cbc0aa0cc66f31b5be8cb7e7e06891ea6205d381ec1ce1fe09af5fc74f939dc755d440727e8d771f03af26947d30b78efce95d08b2538d3d9436027e4c7442ac3380fa98ae301ea94c10ca02ef61f494e1f21c238f9fc8294ae3641f722e4c24155cf07e4022b810d2cf20c400ea694c8f6dc623391c4989f206a6b6a2e33f44d9018feb0bb0c88b6465ada54a6037382a5ba6497bfc5df66eb63b0c57ef77d24ce6dbb26755ef5c8119b711f35de2d06f9f4005778d6ba07798608c43ed755e291d9d5b26552a9dab87604df9b6a83642d638c264bf807c35d44d45593306e95f14b77a469b42bfe830c6ac34703d3e7a5b5a884be46e48c2eb452d73a12f24dca65dd2fee328564a59f657233456cfba3b1d018f5f010b377c92e1ff33af56f5389449117db0ae981e5b4ba6f58ebbec0aa26cea0d8df8701fa1d1ae81ce9a599efd7c1178ae82acc2c08ade50c24451fd72518aa45fa640c79f57cd6ea1c58ed31e6b6e2bb4e345ef5785e34ea2c059e8b665f804c4602ac9d4002c8bdce7f01458a98757bd8e76415f951bd5f663661c2ba637ca479e9889e24e59d0d8209f4e329b70695ffaa21398ce3bd10b36c875836e4a2f71cde92bd4e0efcb5fcbef8e4598eaaa4b30afa9648c61a214ff9055ed1a500da35261848444a4864019c24d7f60220e8cb1849bc8d37179ba669b823eff4536ef50d5577bfcbda454ed2521abf346cb1bbd3f1aa08c4659e25127b6e41cb935a7b815188280a185212024acf461f0edd4cf41d80b445a63501818ef3320dc1aae6be523f80a92f683bf2fd8ecbf0e538178c38804dde583f63894e60ed999c8215e34b6babd9a3c9562a797d6e41fd16ef0361b3b8bd956e72108f9d0e8d02c1dfe9cbc1da9c3af74a62a0d8c33a5cc433a75f187d1c20ff8242dd6ae055e4de50d74eabcb60becd892f2a82975b6ba184946ec6333f73cc5419b2627e781c3a8902a1ce10522740b1e90682220107a99cd7d8a0631d8f09fb1d89b66145290467daa876d28227cd4c6761b4906b562fc9beadfa146d3ef667f69f7b4a94bf3bcff1b68a2ef0ab64ff68c3a313185b7549a094c6fb984af79f4b066842933aff85a229ea1a7edbb06de43fd7c1402ee2290260fbeafa294d2bd96472ed8f2983e436087076cb116807271d2ce7b5d3b6697349bda828b00774f3e83be1d2ed614740460bab3342c014a837cdd260ce47e5d92156b2c3c2aee930428c0ed963f93b24c238163dd73c7c76b06b2e901a55649770c553de72e3b252028269e590ef211dd37454c3e8fa3dd18695dfe7acac4fabf101ff333172d503d421326c32075c6054179016e9eeff50c9a13998660c93a648755e6486b18ba45d4e0ad5423e05a28d4359cb965746393356cd39637f38e4b352ed9e391ab94db6e752c466c4d215efb6473afff26c417761b275ccb2ea7ee2e084e5734be3ea35b6984546a76ec0e593985568091270e7dab3c21bd8a336b7143e843db5ffc237985a85d12ffa10057bf5ceab9b324f53ac34c4f6b5ac1917286afdd0354c0996a64eb8bb680d2c8c8ee23026b464b83045d25d4d9f101bc064e621eaaf3892d39c71c90cbcc8070240a7387bb0a6d8df8245c5c3f01456ad4aca170140c83c140206804b88a986aa90eac83fefd22957bb1ae8eb3eb7d1b556c49fada27765f6eb58e91c51a1ae7fc6785edcf18571362eb0f210601d61adf7635091094e5f0590d2b33b0e72e5b5689e5cfc16323e03db2fc00d9fe627863cef35a75a48a55f0ebb321c59d3312e615d177465aacabf0eeb12e8280487833c9686b852744026854d369c4d31f5da3db6b8124b89267aafd99ab932c4c3d6a628ee889a0fefde08d7fb701f72a35525c841d814adcfa7b206d58a3712ead4910bcf54c5bde6937706c8472f6391c8d95e0d275b15a3c27b428b6b89bf4152675539397167fd73075f9ab8a5b5dfa3501358e676aba0cb83d51aab1e3dffba2f6298d4d04dea1f768ec7eb6609377b7383fd7e52a112f755925dd313bb50597355d9f7e92acb9777e3684c4c0b8bba3b5ee388a77a8636427285b2149d2631cd50f03bbd17787eb8344778ad7cf1f93ee1a822459d665e258e9042af8b61e80f9c726b8130a63b617cece89d5de94135375b46fe5c7a7d32fcfa4ec4619d8a26eca3f50183539742eaff2dd3c0b70bc5ef9e46a07c320b77e5b7abe58cc7b405189c00ddd22b830fe7ddae0c3835a8be419aea29b5a86269f4efec3ee69f5f31bd152c677117cd7401427bd2e97257d333e6bfcfcfd651a2e3e6fbb4e3c7345fdf092cda4035e772370f95be85fc60a5e3468b791e6c0616ca96c0e745063a6e924b1938e6b193757e9778323d33d8fff805aeec0a41d4358080a96a0ac480eee2383a7abe7ca18c8d1cf065d3c2f799918710a64bee6d82c4920a5d639eafc5d70d493c74b725da1e590073fc76dcb90e505bb4af8e86fe7f0067773bf93dd43883494f41963ac71a52ee4b5213c52a80a2c48c7a361a98427e36a3b0efbb02e9a86ea9b60d506ae1c6d4ca51391587de0ea84f571f793a11138f94945ab5078b7eb26430bb50185a8953df66dbb48f17f73f08cc02c9a8075edfff24a072d48bd2788bf48fe6baadc3be51d9c9ea36ed83faba11edf98944c22a5b6e41d96c328dfdd17b6806c059a24a81f4fc11dc812d24eb36822195e4254aefcca5724c7725515fa5c75f4cecf9313fe1d8b6ef83b0b94dc446e0f803650181068e0a04aa8c6d9c38a8c48b30717a6af5b2b9dde167657ed83c7e0a5e3398b420e6535f1e3014c753f463ae973f4d53586739ab2e70450bd4911251abe43915ebb90082b56550474b63c566a3119559c729172218f1395867b3f4abe61684b76aa02d10cf3d42bbf3e57fed3c840699855200ad9b689e4f501630038938ddac0d5b6564a26c41f1748efc4cdeed91292cf402e68c0298fc780ab5d6e4a316b9b50088de04f5e8dbd10bfc29ffa99142df3cf5c36fefc8b4ae6cdf6bccee07d5522f74e3059889f7f6723d21bab94d33ebc6d27898587b20b8436d8ad2cf9fc5535d5889694c4630797cd4b4e9ce58f0965472f1d9b2c3d16b5bd2754179087c6cd51dfc2632e74eb922fcb1c46358a654290451af60878494f2b5dc0f23ce2950154b25afd9ffdcca75e9bd1157b75303eb682ec6f66b636dcf84efc969da68ba577b61af547e877d1edb5ed38e0c1e9e420f62024f2a48abef718c3790e291c0b51eb383150635b3d429f5aa80bf5463b62dc79d80c457aec5d6f0f6b53d6ec310e33d6a4b1d42f684e767dc5c1f8c1fb4ec0365f2b210f2ee7a5f0653618a0dde4cb3237e5d8b6f74c365737a67d1bea7ac28056d60d2e824f484ec13ecd5391982d967c6203c0ec78b0c89ed2b54c8bc0a2c9fc8293b69afcc55b1735af6d41f97ee9f0a8ef196e2a571a2ca3e8dd8298117f030406c9b8cb940d6b7a7a7ca733d17ac5bcd7c9b801cefab9ed88e0a859570c838a9cb8c70bc4102f296f779ae2f152dd1bbf54b86d6509a1fb822d2b375b4e87a2ebb63edbfb4b37acc60acd05f0eed43fb95a2edabdac95069c3fc1fcf271f5c354b968e64cd51c1be693916be294f7187dfa943ff8d27604102a88766750955dfe7b980f7b0146e5c7eea0d3a4288b4afb2edb9b4fcc6b2a5c7ccc69987e258b444ff2fe37a53e23c1b76619487ba38a814baecb3001818dceab2e92f1a22ecf4a447d5e11c86a5124e11c611ed380576a0317c73ce0b0812520e1246e09deef52013608b5ef5cad75a3759aaa11c0f3d3faecffc19fe86eacb7feca4799bef10d8e8a84c35b3de529db0c546eedfcbf4b216eee1d5af35c268b98d88dcb780e9605196d0e67b2649da1651c8eded707b515a82783f7cce45d0f852cef5b941f52277c786a50956bdbeccbb18663459faf339b5d2009df44403756472a06dca3f47f5bce88564a3391c76e54fead721b63b66bd3901e639210843a0cd1d447689620b2efb680473282816626cba8852bb62c926a3ba39b4c56a3a21b101fba7e9ac3d71f43dc79560a2960299c28b479098192368f799ed9f14315e4b49bd56845613cdb2d8ce0f350312aabc83109e4e0d2c4748086e1ac4dd4e3936db18363f7387484d786eeaea1cbcebb08d1c86100507a9b1a877fa383d01861ccd048041c0db1c680c440e0ba61f9a4ae140d2a906f9cd3303565329c02cb3b4db08ff223e878af08145434a20f46e3830a590e60ce4c8e723a76fef01e80ed2067ca321872fa636e1cf424b8cbd08db2ae4242cb7099ee77a669bdbc783d2596f85f9655f174cb4f90f667793611d76c6dc40032f094d611378dd7940b58e68dc2c0e9c3a8a08988bd70b7b7dfa1db131e3edf1e176a2473a8d359671a7ffe867cb45e3bda5a818744617289032987c62fb5dd58cf2db54941aecc2cd60a58c18a66e1a43c45424291de22c4d28b1fd9216a2593022910ee6e7a94bd85c167c4f4b8e5fd5d52b01b16925517cdce09521c58e57ca3915dead66303c2ba16ec4e3fc71688c5c607d4d3e5154fb79973d170d82c0b2ea0b50680d8f697dac0850abb29765f2793a6295acf7fd9404065946e2d29a7ce3b987cbaac94d018c492e777ae073bf60d9faf11a6d6747b36d19bec8c7f59b06540014d82bc9e1436e5de51c8b489f24ba576cdbf626c390a900459c73eafc9c56fc975e37696bacd89f328aee5c4d1e0f1dcf15ef34732c5b16b92814bcf2a4a066d2a18d816c2331d41263c6ce97637d7a3dd3f30b30c5b23c895fa1ba0bf9819f0b5da49433bac0517ccbc896fc730d852651998a73bda721884f59ac2d6fc0507af25c5b5e22ec511bf6d0538acecd9a746fdab58619cca7509f10b3b6658ffe85679e264ee3f1d79b4acd9082eb110403790f2291f34f835f2152cb5e45195b29256dd24e75c81c8ff549b50e2647d18a34d436b7fd506aefba16faa9f1f014dd21074ebba405917ca5ec9542e07920b3a897cc2aff27b050e54285747fa5418b646bc1ac997016a66867aaa42eec4cd1b6e2b7db9c53e5d8337d63fff186ecc9f657fe3dc6d2fa608f42b8fafced1457320fb9700d7fa309e4dcb3f8f48497fbb8d74c5a7d29ab31ee5801c94cf130ea4cfa157694c1641223da07fb2806e0a8fa0047a93d3888bf01b65be28ec8ab389a932af3a3c636b632d0413988e2f89502cc923b946472132c8c0c0eb5f35a0a357a103bb29bbe1763487fe86d012f931b7c7decadaa668e484a926b12733a916f18536bedf304d83df1513502fb880a1c3b5757b53fea772eb025ce981339562c7d2f88b7ec620f6ff9aff72507ef507b86f258d7a9131009c465a6de09a9e5c3cccc1f63d15bf10c03e737ea913dcbf9b468910e2827755169827cda0725018e9943d8cda9ea9ef42fcddc9bc75dc614ee956923c92093dc0f001d107cd3f4653b3cfbfba3b9e97ed46e1aef3ddbbc09660c93bdfb88afcb63217a3297ffa034697a5a2a9cff49d527b92874317a21d66f585395883f0bc6d50c822700e6c8f1b7e51176acfa38470ec74df8bd6d8d71d03c045c21a950a739b75e64f8e1ccff38c3cf996ae4bf74d51efdd258ef1087863e1ecd07b79e64206377c557d443f3e12e0a01fa499be9708cf7373579d220587c50b55e37c1035cb21f03d030efbe70830424aa2eac601d7cce64b4f966bbd4b3b39ff1d38e50eeb0755866d02a5df23faf017d1a6f36c9d82add6229295ac0a81f8424c29aba9005fbad9e259a1340680d39c06133524048e01a3e15084181a062e29094235072ab9c23dc4d49cec944a112971ca156fa7dcf2d11887fd28b51a7d33b92a3c9ba53b0c9377fe74f792ffeabdbf725566a124537650e6c9ed0ea047b9cbe89beaadf1dd1b09b5abd5939a7b12a6ff3a68d28a5741808d3df50b527d81c4eae0c64e21bfa6945b18b454226aad2b7d0c41707c4dbca9f29d7bb488f09162f8c5829009296667fee95740edf9df22134a06fbff3989d1f097dac30cc8c55ce5f826da13da6f1d745c90fb4a532eadaeea49824b3b283b84c86c77532cd7dc3c2b1cfc4ac6ab24f1635bab93a4b02bfd19bedffd651ba2e8d7ee5d302898eee11a261972fd1486bdc58decb2ec24c3369b3bc724b2a5cc6a3f45383b6571789eabd9e8891bd9209f9428ef5f3d7f46931bd7f77e87ebbcad50440a50a2931a87e4fe06ee612a6ae22030128e025b2390d60870f510b4022d49ba1674b230c7c2f68745f28e50175e4e8d7efb5fc578e1e3e1aa7de8790b9ebfdf9c7fecf9605eebf974d967b52593eefe56e813ee74d081e61fcc3f163aef267aca84a841093fe2629cb1f4f8f092a8b17067623e06f96217b71224130e62e90828da324bb2309b6bd8e1cda757fd12eeff361cf55296748e79aa210973e8f6fd09bb01e3fbbe994dc1e97d65b5ea9be3ac7cc28e834e034c2fc5609037f1712fc2eb12b035c8c79929ef99c87f4fe4308dd63d14fdfef555d6f35a74636668f9f1cd4f2160be5a94ec480f83f2ef8d6ca2e414f731fbcc306fc91ee1d039089339209576f97dbedf17d4802e6a9d3fdb0ff6e72c596f7ea31bf5f2a1d62ffad585f9adfab13ab03452310d4ff77a5a60fe4f34a90d5c06205042a5a67b700018c75f3357c9682126a85cd7df1278edd66634ededdac7521e63d47a80b90cb6ae98d5b24e90fb69676bb7b0a375729214ddf88591d53b833707758d0db5bc88e5458f4117f384119f0b9e905a70ace6fec1aa0cfe4a7b3deef0eeb3031b4aa530d6ea2b6b2771b6080f44edb617d9e9b92e4081464fd0e369d17f0f7e747b0f91a2ee8ecb7988c0b4ffb663cd71e62399506d6968e4e97bc52fdb5b4ab2519aa8e964c8f39b38e964d417f0014d0cd75937592ae7ec79ab3e44304562a2c98fc3428e826b790e70fc652e38db71f60e13a09ba6efd1bee085da6a784bac7cba1027f2c0ae78ebbd056dcb738ae24556ac51e6cf013558f65469017be865ff3a705741b5d78852687ff5052eb2fcbb84eb3c8de4fcb57b436c22fc734f7b351a1a33adb261603bc6fe3ad9a1c2385ab0f970e7f7d92a6145d8be0e713b4594eb9a0e341c74bebdf54552ef0d77d9fc9905c334bd6d341f7a9335a1479479387c74c0f5d386e3629ceac43601c04cb468be3d36e83558d38b2a29029d74df7b2f78f3540faa136654a65ab1768727749350a00e76c638d0dcd73bff69a2cb18079bc92d24b953dff482e95b45860cdcd37cdaeb58415b2596a862dcbdafe2d3d048fd969ef19b980897bebfaabc4c7641b738b44d77db965a33a30cecae39860dce57399d4db883f088529074397585ca5a0cb757ef61925fcf64585b90f5ec0f09daea0dddd7a1e4dbd569ef527bf4bc9ec876e6e4814b065dc45f8354939ebfbeb2740b6d62023c599b9b8586849f95dfcf82a19018080608cd7416b89244b93ddb71d4c6e73670e1e445775731ff2be696d723928673f606a7896e31bf1b10e2babdf3993daed89321c296c8e4275ad8cafdfa95cf90e1e7101b75a4e42e9b01e62fe347fb1cd1570e4da4d77a9f0cf596cb91070847268ffc101f7a5883a4bb49064f6607eff73599be259d28c5537ad32a69d01c5224f09e84fcb395a16d7483531fb9cc78f69de20d5dfbb596bf95715bbdcc7fe0ea62a38519c8543b46e999575bb814791bf2203e28b2dc0b38e44cff7adaccc4ba9ba31909f87ee819f407de5f214f1796b225f1169b2d3fa5f4911a3786f0edab35f00703c4a19ab310fb963b2fab03f712d3f1a4233455b14a8977067a62f514b903b3d95b7904f8a736f601cf78f18357145dc5e8cf86ec7ccd6995fee158150a6d6ad81a57fc28708110986f4f9e2e7403aa995969b97b2aebdf22be4430edd24dbc395ba3fddf9f593d71dbd323c879e12837404daa6a30dbf1ec1cafe1fd6398ebfcfdca2a19e6b0df2f8796b9c7b12dc799d05507ae4f3a1bf4b978d6d976fa8d3046f490e1008277da97584f520a6f3dd48610759e7321ee5fb0a3fb142d504f6def6c66d8f76d499a54a20dd51950da558555e73feeb20939a3d25b0c54aa6a33f1c9218ff616759e0398ef48c6c33aeb8d44e3c981525cf229d2b27e3da1eab9f11464b40219d16b51aa909c2a230596bea1640bc267bf02d08d023499ae3f1165277c5691ed50a35728d85bb527d8ca4abe48387936e119af4857645c75b0a6daa6560469516ad3b6450650d6431766332e4b68d8d44deefb29f9f138142e55cca2210ed5b66651cbebad8bc84ed89517a0e1f20245c897a3846914ce92c820b2dc1b43af29ebd468c4c1913d01b5ada681efa31afa48d509cdf70d7715eaac43ca1f593a0357e0eb675c33789b0a85aabf0ea984451842762fc3b5983bf858ab9b9ca0935985daf92207dfd1384b06f38f6fe665951eabec85403dc90b65c0d27d8b4e4e8f097719942df7ab171eba1a19eed27e5817fe80ba681f163210185dfc0e0eb9c264663fa29f08b4fdbdf1a461747a7a694b44993c8f7f98835706ec1fce2e9a51ed1164e8f6134e06e0c15b56da307fc00a575d3588d681ff278b258a65f6c6ce73c9dadfa9081b8d962cf22a80000783b7fad9d4731ea680a7a6fe2cd02e4a9169b89155537e2c9085b5a5696be9b74b983853a6724bef0c9a207d725795207d9626587dae0c141094fd02aee14023c76f7e2030cca85ab39e103ef2754b6790429d50364e5389fbbabdb10e0dfdd519b8faeb1ca423fa1b86df726949dae5a8de054fa0aa25853cd141b78a030a10ef8962bece9b42eba726933bd84e35932748e02fb1e40d42e7ed7f274668152b8827b9cb5cf41df14a450b1539e6abe12d97cddcda99a0e62321beef74449f94c6b6e9652d0b5aa7780a98827ed4786714814937f003acd83edc9dc70fdd9f36a880f844855f9013cc55be90e403ffb12fe6c12797601f74cd434fb8050083a34578cc01259d9cc4cc19f6ac87c954daab59b4c582fbf11091fb0a1ed6d149d633b7daabfabaccb2c3e23c72d6f67fb8c38818ab4ba0b5959de93fd6a7bdd9af9784cd8a7dd8667966ce19af82b93ac29464ffe8dc45e38b9a0e7c7e19d750c725ee46c5f2d4b264fa3eacc41edfe07c0b21b8c3455fc145faaad72514f425db6a4009a687b04c4f04baa51748187e7cc142f7db8efff600fac60d8b6e636769183ca87634e5d365f9e1ef9425fb33013bfd2f632ff7b7867fcc6e858aa2563c6c87300b126d4de8f67f45792468338ff19b127a2a12f678500f874d1d2b07b0c0b2363caca8f299f9784b665c6f81675266fe7b3836053d5a9939747327a6e5d3ccd0ffd1b0a9c8c6d6cc301722b91753b9d29b726be86a503c5368c650d4ed217a777e2755c5ac4d5aa41587e5194d76025214584a8d34448acb4a9fecb9e3fdbe286518556dfdbbbc8bd1e89df60d901eeb83c602d7fe5e634ab50683965d44640890d56ad8947094384827484c0dd667f56c29b6e37c095534580b7ee65b91c234d094dac0954e69f78977b055db43e50680ae6dce5a98d274f81bf01af7b18ad8bcceb6723466575001fba1ff5ef0b7d5d383367043eb96ca2c346504b7920a7a5671567f84bb6c55a09b1eef9bef9ec521b68e58d82a8da9b4a2d59b56de7f81f6ffab81d37377d82fd9356cf7a914c6231d80d01c9b21b9fc7f206bf7cbe84bbb6c14f8815a1d846ea80746818d9581064656dc92c38948b1d7d0abe144e4513ad561eeff10e29efa254dc5335222bf8b6ef2a53df8230dfdda10dc4efc9483fcae1571039d423640d18dfae6e8752ae19c84419accbf44327bec31253ca417bf3acf7d26c61a68ca100e51963c9696bd2099b759e829cb2f25acfb71597bab8c7764fdf1f4ad8c21a830b2a12325d4948c8d74987f08e3c719277736c6ed770114c583eb10c018c376ca2eeec85981c00820461c86b46e70e5224171aacbd4a75d69af54c84006b3042127498ee34529dcce7f643695c432d9d2857204398a48223ae9bf3b5298b30a7b6b30741c12de0a141b4fd90aedb3b87b3c32c97df83d121cb117f8d7ad7cbbbf328f5183f8156913af6efb8ce1f31f9ea12923601561cad0901c1941c28e6c4c17723d5e1e0eabbafb6a6e8ebd3a76081f40029c963817a68dbbfe69f1a42cf71d7ff4752bae87eccce31344edba3c19bc760f299f4505bb1d9d8055616f02ec6ff0cf5623618d7b91d2273533907613764e9470ad2fd4531ac2102d7bf6b826d6dda374fc57ddbe57f6b31d4a9bcacc30bcfa55f17e744e76ecef4575d0c9ef8c65bdaf9dd06ceea52a90745dc9d10cbbfe4987f73287f405f5b11eab7b53f34d43757fd5062e8e9ec715b4c8e9cad8c42ad82f2ee2dab38cdfa7516530d9e045491c29db7b3d81ece46771e5fe902589ad5e1a7bb9c9b5a784a18789436a2bc4f7062acf203cee9ffe273a082fde291045a0b8aeb1bf1fad42a12776d69577888dcfba0aaabcb1e89069d7b3fd0dce4b63d9625d1027ddec495a1d43a806faef25457f26dd9fda83a64109ec990bf3c0d00358798f33e98977d6640ffd9a4cec44fd33f5c96fe337c22f3b8abb1040330986bc9a52130e23ee1450b57c3f364c8277c258250979db35c338fec9ad8212aebe48f69c96116a9e0b5a3cccb07ddc44600b4a8f2d7caa7a0907f2414b27a891adb036a57de4b79c11fac66b591aaf4761f1b8e62aa94d8b9f764a34422e908e2e93b0fa7ebcb53a4aab916f7f7fba373258f3ba6b535b707951579a25a385f69317ac2478af2f56f9364e74d45d4fdaf28828997dbbe2fc67d2604e11b0abf89d798b94263c55795fe1fdb550df1c48e73c322d866ad99dc95d26bc55d2560f97a2e59499bd8dd4272c3af4d711123859f8308694712fd9bf7cce40cae71fd15657bc51743bb7f5726afdb46779a90bdca55123c7683b30d2725a74bba25534265f12371cd6867cf2090101d8e0893284069af1262292bd3b5247ab450ba7836af7b5e2a9705c6628bc9b78329bcf6e79fbfb082bd5459e198338dd2d7bbefe696c8c911ecdd1d6c3b537a1ec58be26bfc24f585b937fa281d777065216eaea84df37d5c3536938b6cc5c765c3734cdd02d9386f08a31d8827de27789fe7dd8f4f5ba59b28ceac0059f998ac1c530384a83ef921273bb4ab6c6708f2441938fb57cede94f94db8fc57f1f7998ba15ce649fb63ce111f335f89dcb5c3da830ca9fe43a8a17e13583c55df6ba46991d5f6e90a6cfe6f0bbbc7902f385dc2ba23b348d9d3667df5a018f5d442bf0771b2ed8dca779149817e8d4a1bd947b1dce38a8235048e72ac8be4e451f7e3d5ce37f595dffd9329a92501d1d22f7492b49a494cc325865a48768c49e10b339141668aac5721291e8a679deb9ef4092d95bfbce64e0f3d7f7519e766d7af7e2ca5edb68b3b0646b765118e0795d9a93b8ef98aafe745a80b1b7d8f22459c686d53ba531c410dbddf8ac094a35ef9a3caa9445d06f4b4639226bcca5a64c95764b3a6ffa57fd6f3ee9645baa0b2e96ec4f3b794275ca76b2ee147bc887c5bad58d087491eba93bc41bbfdd95c94118567d521c01a5fc22144d7b33ce8d52e74542209046d8ee2b4fae218c46323eee9decb5525dd5d1fa89edaa21dde97793bb227a3145886576f2fbbafed0a2c13d40e1720a2e339d67b888a2d6ff9f4ac44f170f9e946fa6167c274c7f7485d98d44c2db5f745b1f9840f8dc9c7726ece45b76ee34a78695f709c712764c001d700572bf4c22c4befe1bf97e13a5f5d099ed53c5698d1b1955832f3fec4db98d4fcb16876f2a9dfcd85537f5a83180518f23ac260289eef3c58189f7421fec093e5557a370fd698885bf89699c8c1075fdd2392e529727a5c681ad4d68aefd70cff54a9ff57e145c0eeeaaeb9a06bad181dac075faace1bfe43ba503497b3d34e84105422d85db3567f096f1a0a01858dc623f3a4b67549055dc693b85e11a7886fc2e3b44cfdfaeb65baa09ae6472126c09b9b8cb02a68061b9c712fd58b0772f5e1c5bdb4517bb355e5ad930fa193474421ee4a2746afeb7788022335a4061cd20b52fea6859e367bd0e881caca65f9c820f111527b7e8a6f20c095b6c4877f81a586033761b102c8ac99993eb51329d7b66303f2fa240e4d0bc3ef9787a98712fd973942bf770ab996318d60220614e73637231eeac8493ff4db378083bd02feacaf45e16964dc1f114fb9f292e5195a33177b2a3acc3f366801ac9eee3416c30e0327a7f7dcb745d93083e8942d553666739e331e50bf46cc15973ae3275d55e80f75743e03285ebd7d5f61e7a72227e1fc963f879518416bb0ab44d660a5c275a317463d044aafe8c7ca612fb81571efa11abfc598fc492e193a5cf0b78febf4dd0a6e2e66df0a6f54d13ecf5104eb64fb52d033a9b03acc019a98742cc86bc74752028069d4e011e91fa416c8258ffd3b1f3fbf673e0bb640e62de09ab017da61a087bfd21eb99fed101dd087f453d92e6b45d2b52cea4541c2b500647785d0eadcd34a82b272d614e5e9a12d7806a4de3ecbf736a0de3afef5aee8df7bd98f44c2f2725994929069792e7267bce1f0e2d986bd2dc65fbbdc28fcf2fe4f3791aa176791935f99cf2ae0c82ba7fdd868f0206bef6adb4e2ab7e1cc2ab91f1bdf90e2e2eb78fdba9e0067468a78eff0042ad0e448d020bd2ad3f6092e0f9d0d15770d9416aceb79a049d66457b60cf948d3c1d7ee9e10a17e522d6a98b4d05e3c3326aa3f39778f0fd3aef4299787fe5a081cddf5ebf803ad2b8cd928d7446825a71183c1ee97d2420e5d27769496a5008e99c8c5f2c338d03d124de55103ab122fbf4d802ab48b3945aa92c4d54aacb21726673045ffc9394a172a9b9e05da62e98e911c84cd1fb4b373bfcbcc26ef9f7d96f00e4af58eafffe5f713253fd7a535d102339970b71890cdfbf6fa958edcbf37908de43d0a64062bd512e0caca03f99fecc44a4ee2d536bf0a6490b4e219a1638c80470391edec2b64ee191d06d39191a57df5728af97151f89e22b2beb618ed111ba6042601debd2f70bdb807a8903e1ca1c86aa7b57c2e8971c3a7a433f2a88a231a3604de8662c4f07ecb934b0aaa4ca2bf62b889f330a6ebdb57a0b091f4d57ae56d0a2d297375b13d97243dc99b132f3bf443a492aedb047a3e10d2febcb066849d57ce23a5eea132ebc5f943cddbf0d1524e31cf62b9ea75e650c000bb8d4062e62f9f2b69002efd27e8e954db5258e6bdc6c365a550a11cbab8515cdad1f9fd95ca872ebe6ab2d1873fb55a6e83a7cf77ba6622071fae7f79ff4a8c704532bc5068fcb16417b19cb9b830b30b78855e7e8913e8f5512dcd960dd7f235321d0660125e47149c0fbe65c9588df9c7ebf5429fd1db73833887d398af71297a986b0273ab3a968741389a8c1dfc27cd992397bbbac928f480c20af70784116cb1bebf037c5c9405f94520fe26128b70c461d74665f88617f4b8f8940a700e6252d67ccaf5cd22740277b265a5b9b48819cb4629788325a826294e7f165faf8a60ff05a9b3616c2d4e3ccfde1bf116064ce54ffd6ea25df077b9593bd737eed70ec610e919f6d2966f7b4ab9ba85f4f36068039db6a0357fedec35af16fe6db59bc994d2648e1c53d007e74886c66e333bfeead7c0fb84f390811497e5334f2fd7b757985a0078570a2d8d6f9d0ea53cc2eca89b90fcd1d77d936424efd7a5e3422754a91648415e672adc97f42910fc74714eecc8120e70f63f0ca47d766d1c546fe49d29a9fb72e785da7d835683ff891c894464d8d7d1474846ee072152a41ab75560cc384217aaebffdbc576d527bfb5a217a15b22ce372be2b9fa7046f976ecb87c451f0c6f6b9e954c9ed436ae8b978591865ace3f83d5126806be92d748f734f5ec27cae12bb2783875573afcb8468120053659db0600a2e4aa313fab591be10830e22a86895276b622a266d81c8b63e9f30c32a90fc94fe12a3cb03ced463849c84bedc2e30d0577085950296cbfb636938b2b88d07151cd4b50dabe9dd43e4338f20205f8832852e64ba725c02081141887ddff7143cf923ef9b30a7fc0c20f4f0a715a3ad52c279fe1e9497502f29a812bc41aacd8a4555fab9208197b105db8040ab085ccaf592df67c05d719981856d0d5b18b0f57f10e068cb272df792778567253a62e2cdb2472b4e1a5f63ffe7c254eba30361f67fca5d7afd4ed493679a7690bf21a165ef3c18f67d340cd3f6e16f2316d1ab6717202bb51ee799b0d208ff159635cf6896e5fec216331dd0289b57c140ee217b3621773267fae45a513d844cbb123fe571e61999090a65ebf217a2690931da4b57b66806b18d8e0fcbf510c07c8ab65959b3ff55528c513f6247ae66ca77aab7f67f08a70e6d0e000bb89406ae84e7fbed8136d568af00e7ece25314d531b1fcbe97803663b246bad4a0656be382bd69c3565d57712f179f8f99c3a34b69eb209d973bf75f236534b7775e440ffc63ebeb267eb0fef8dfc44d48aa46de185d2cef353d125c1e6fb54d1b62a0684e13964117f563c450f4e1425558c57bcc19e61b4797d6f6da1e71519ebacc7d873a4ee88638522c078503ec89e1ffa891c213e17bce5bbc28e052ac06f9fe7dbcffbf9fd3f690aa61d1f6a52268b1f7e205c6495a14ceda54c0bc37051e23590f44d59d8b6e38b9c2bb5b31d7fdf476f64a2d543c5eac32e4af1aa6d921d48666c8a30c97317fdab2b6d4f61c5f0cb4082ebd30fc2ceb824f8d83161cac6d823f71cfb31f45f6ea96beacda80e47f6505c28117285d6ce88fd23580163e6274601f264cbdac043183c09028341485042251e022e9003ccb9fd5fd37b1c371f071974cc574b61a8935c4e66afa0796050e6a70436b806d598a30156b1b216323169350ba1b62d63aea4a18dedf5f943ef77d8a6bf026b53f4089da819b2ffc09f71cffd67b8e78aba365dbd092a4f6c4681f5ad1e688d3ddaef73d494525d508030b419d9b433cea61facf99917c799358f1189b7bb1e91fb6fc1ae0e238052a8ba74a4a537613c27531cae1483759a94c6556d3d76ba2d710d4e2f4e10e378030869c8f1e9272181c971b00fd8e0dec34c5fdc7a5b353606f378d8b6e1b9ab89ed3d2a2e6a219a997d1714df67e7678e3d27219da887695d4240f0943f0d51cdc396d31764fe733c78146abaeb1b44f4b2eb15a6a069165361fd004789e4d2ab4bbd36475a1c36dd556a20a76c4e67937c1aded46ca3233a99585721cba9eb7209023ab5f9356e21088b018128a80c13130ccf92c822b424af67cbc78c0993d1f1289f7652420876cc973390a8093eb283bdb7c7769fa0068356d4cd345b73c70729001844ed09e33ab2d9a610e9cc19c935486657870ef70ac203b7c2d325b6a8e67476d4ea6e83e17f6f3c76f392c2e89cc37739c8de496036524d5e0dac6fd82c66cc1cfa5328f76881768ab9a1e17bae4f816db8648273cc3886e2446793f35672044ac50ddd9c343512e759c8e2c6dffd6179bd8de496139ee16b17c677df220b6f475a3500c1249b17fbeef4656923b0a2bc7e3aaa89aeb11c04337f056bcbd676aee551e333b99b7afddab6a9b45567194c6fcd9624fe136b4c0978d599a8ed852642fe8eb95ae59b5d8c3c08303b363111938da0a6850ace3ff99916d5c5e19b935933cf4c0e274bd5f6f6f43ff40f40550b6ef1b870ca12560b7cfda7da3a12170a4b8153a709d1aae2c8c8ea09dd94905b079e25bdf98f5231830b355c04b705fe32a9443ed87b359ab900819990595745a8bfa71d693c432c716f33c998fa544300cc7ee3273978d5e658c3b5e5aed937e491734d7cfda00e0ea4210b4fc1519384fce7324b685b9e3b46b8ff303949dbcda6adb1434338aab2dd858246f6afc144a47f670f331b7bff8f5422e7eb8b27476bb82e15abd7b055cb23075df1227bb544ffabfb9f03c9e8a57b91fe59ea93c2422ccd7668fa56fec1c5db83cb47a6c7bb14b55b53845e9d38a05dd3086b86a9c8ea914be4d0cc8314b0b2a62cbffae748b12920c1a9e740c216d26ab0fc8aabaca386d0a986cb38bde9b11060dd98c12ef17732e45a3ac7131dbff23bb1c2a59b37b1867ea3adabbb8f400a271b5c30e18a0dd9f4fbdca1c0066188526b762864123415670301c2926062ec369db084232ca1b48fdd2e378a9c84d5e472c773d9641f24c198277f6e38f7f161e2774ba71b0596526a44eea855d5a7a8ef82badda8106c9ae6b442ea46d26fc63bda061f6a1c3bff4fdae289b0747ddbf02191523744c7424bb5dd7c646ffeec1f407aa309415255c58263c6cd416a031e448fb2e0a4bba1d06b131be565f312a9646b7452997a934bc95d459812c1d015ba354cc3b2f47d9ce399f0d08cc6566704593129009b637d000212260411f21f1823f83abbe62693245ffbcbb949db3938997fcd8f6155211c75d74f1f2c7366ffe06cb69d6ebd96f713a157489290e8f51bb2c1c373c530e3a993a04fa4f6b86aec3a033c9750f00446f34a722f589896f957d09e708f999068cfeaa0d5c5d2244271cd8919cf6d26474cc4342253146adc471d12c7e7be2e938e10318fb2a981abfedc45f8bf7631e886f0bb94a4a66ee76c13a4587dd6dc135ddf6066c70ef5cbceb8b16d2a3ffc77b80471c602b14176ce5b0448c7151f8ffa06d9dcef6e632be41e71278af3d89dc4dc5d1ff925448d3a3badc286e957d9ba189e7cbdff899f0140ddd1cccff14fab8375ee7fac81bdf0772448bec787415476aeec8b61f4661f7905cc8d1d31d583090711e4a1be576815295674846600d3f9b4d8b7fc3009e8a2ac065cff0e79f7b13530af24d0d897c519c5ffe63faa7b1fc93d98d2aeba8e2bff13dc4081fd9f5912edfe789cadec602d09a6ac2f61dae19d8d6c03ac9eeb3d48ff7ca39e278f54163009852541bb88e7230b8a0e32ee9e9a37c4e811fbf9a8fe0abec59d912781856366d988cb4e2d2497f69d01c591b1fb0e376766e60b631a1aea49e8ba9cde0160f69e4d5ca12ff98eb1f06a07c14efa34b1c970a8c573f3c7f4c171d0c18d313cd3ef18fa1a4a0c8e99103ae00dbe248f82611ecdb8ac292745f767dd3b6d4c328a5361f72c9a6183774ab4a5c4618f4ffe3bc252f4f40fad6099c98494486a3cb17083566c14966c3fac26414a6a7c6a5947ea35869951b657bd22eb269aaf37b54b8ebddff62ee2d8543f64c4624c138a187b0438b1424baf9ef15d96be1621b2d97f55fc70d1dc263525a2b850cf73ab3c000fed3d8b3908f63cfb4aecad5c224daaf55ba1a802875f9bfee2b5ab0d7b5177e3d594e81ab2eb8586d619dbf8c53a0e05582acf306ba610e645e778854cf221271188671cd61cb234cf5ef075f7c1d31f0a5d23283d93f074f522f77d6172c390c5b115bdc2287dc3becbb78dd7526dd1fef46c8993b07b28a7ce48ee730c17aef5ea0d5c301f97b79ea9a70899ff6135800a5cc91bcc3585c25a4f21cd087499fbe8d1cc596c6aa8f8447b37473d83f6cbb130b48806e04ddf16d1e39ba52ad6d08b820afcae437a9d27b8917436f21d08a5edf80790742da7738199068e38a1b430b78e2c22ca39ae16b26f70fdd0c2206f66c5e9ec635321981d847967b6b6485100cca5da21a0fad2fd7b64d815d84a4cb1631948ebca1591ef256dd237927a996ccaffe416a35f86e7fad2b9347b6062aa41d9f9dc9d0cd909de69d37382ca19a3917a050a679fd0006ddfe6a5483d99ef6cdcef19ecfcdd0f9d88a191c08c1c0d1d66210a415f844007334d13933fef6883606467b2fae580cda920894d04ee00b7a8acc9571225372e52b55efb64e97e02595d23d09f87d785bf2ee0c6cd122b8b3ba2acc38b90ddd50e66cbf862f3950add8a468615597c0fcbb29d8b5788ebf9d0c80ffaa7e98d3c71c5059070b20a8cae0007a06a1153bf6e32d1c02271ad25dc22b1ca981f88bfe614b370c585e80758fe9dfce034b61ed49193c06731aee18b7b902e3e5d23d396848326ac0cc060c993fe975cd1041114f38f5e03c60ae7cb21f596ff1d96b2114e25fe5c7d73168f4a9528d8e2fc48689dc21d9abfc4a9f3afaf20847f7628e291e7913c0b03e26c6706fa5caa51773be0ddb62cec407fc2c811abe197749a4f7771299ca301f3147d3d0d55fb581eb3e7fb08e0e6b0378d19c28331864d1bcd4fca5bdac1260458fa1355ea37578bcdbed83484a96cc5bcaa1cc1648fb4ea1c48745461a68e17f7731eb4564424471972d43fdc75e1d40febf91604df87ae9aeeac3429efdc1ea134123b4257b6131f709eac38957947cd96e350bc507397e9d4dbf07247f04415a31b9295651e6624a40e8f6e41525fb5fa01a52945a8e9d1c5ca742ff0db31d537357c963d00db8a24d94ddfb3bde79d3441e096e366844f1739ab47b56b0d88c994b1eb5ba177821cba32df9f178d2efbb78f45f89e1110ff758d38d9efeec7da3fe8a5afaacb9ef6d02e3f485ecff92860e20a1b86e9e8099ce99fbe5c4089eefde2c782ab7219538b2913861dcb76a4daf4793349bda82cb54de8ff478c4ae04b3f417e37e13054811372720f343ddd82fcfbba256fc5e10cb4e69715d6e79091da8b88ded0df56818daaa7bef2c640c4aea5fef4bb4e879fe31603d7632f2f7248d4152132ea287c53cc1b973f2d95d695df29cbf913faaddea70d9be4e6e5b6a2d0d44ac3b41faaf6e8c407122e424c4da79bd16bc695fa897e2866e1027dd96b59eccc163806f2eaa53b799b07fde615a3f03cfd488de8140e322845d6deb98979b1c2a03ce1337f000247538298ba3c52c8dac626a92663558a73ec99e6178c20d981b73a281703db1f93dde3ccbb5de0e7bd25643ab9fd42b1763a7addbd2f486704f1b792e5f265cbc605f1e742aa5f8479fe1e77f65bccfbb18a858f83fb3651c6a86add2c0a54e20d83a205cdaa34bf94ad6b45c606790ac89c0a535fbc0e0d7b05a909c903450db47919be6c46da43d75c94e2301e7bb4233295290dcae9e79c42e8585de8f7f2c224defc17f57e0b20482c9cfd955b0de1737cce7737bc293e81445ea4361759eabc6f72d0caac20ac8d5537a0009b7eb60709a9e46bb546afe0091702d909d174be8c683c72403e5225a39765aa309a056acb73194997a497aee9973db8c8be941c2c0d5e54cf8344eb3e754aa0c9da3d8d70cb423382c068f0543960d0d8b93ada5817786bdff1b1557ed08f7d60c704f499f2fca89bf27ba5ad7cf891fb642fea632a19829a9840632bd3a931679adf4934cbf505596f1ff5397413b74fbd7573ddbfe926f3f7a237f3b2e770d6f6c2bec7aaf4a1a8c33218092f219fe6e8c523e88f80bbda35b9e6612eb10e96f50bb17ca57764cc79a5605bab463bde0cf29f67351a648698378533fe05d46a5559beffb7865a468f064b4ac886c19384a6752f6820267c8ea619a99cf8b8251822480b204b73e6d11003b54a6be60c0fbe0d660718455f835834002d7447c99489dde58e36e5b5cf7fadfb7fc94bf4afbd23487f5143a314d0cbe5fd03bb7eef008276a249b8a0b1edb6ef3126d32c955f9ac8aaf9ad876f0359ae78de1995b6613a9f0e27b573ae476bd605a3faee4e35b060c15a4fb970f61c8586c84d243abf9dc3fae9d5c26debea9357f7d28478e1bf72149f907321ca4240cfdf60287fe5d2c74bb28296c9c837e8fe2b164ef2ae1dffaa9b455191a9be1183da8c661e49d7739a93ce2a39c1474451a8bc9b4f92bdf790bcb794e9af74f897408197dc47273d13470c5b495be257b06953424c0fca2972b92715e63abafabbad884050eb24baf571670fe819ff3728bb481f62ff11152c89033095559e6922519f9c667038a0d3431ba7c3f79abdb9a03c03fa19406ae2ae57f35c6748e9a4d4c8284b011359d5c638f5e9cafe92f0f2f39c2ee47c25719d7f51967b8d67faf4ec43e04a14b1c54bc4699495211793ac1ad32eb84d70ffc637d1d95338ee1fd4c4119601d762089176b40a663eba0b9b6e0891c4a2e556e63b2300bb7d9b74d1ebc2e73aad60f89fad30782d8b4a72fd0e86fdfc7f7c6c4c5e0846e5a7f35fe50ec7b9d44f8581c8bcda378651b218966fea76095eadb17d07fd2449d79b6c0beec123fa81fba1ba652fbf211f0961520f34d2c5ad29616088b627f846e632a9da88fed5d8f5030ea37c5c0e9489abbf8ef0a8a8ef87826dcce4b02e3b8bc60266e49c50c0159226ef7f91a04422b04ffc5fffe28214fec2ba6045aaaa5c88e3331e79a8a179b9796da38f3c9b87ae56dbd31072818feaf350018fb1bde2cb09841ad30080c040106c150e062c31a64fd12d26ee6de28a8444b6e0ea4d34c0d6b76191ed53da035feaa5991d1e8d8005ffbb3fd5ab5c403dbd2cf0d1271b9e4e9bef55c3b7734c3514c2b65cc5d9673809c3d69f68a2733700fdcd899979b3cac4d2c53e405e925445832c277a5a550849fbd865d3561c7d3bdb9df4b63bd9d54d150d95dec29f62fe3d97aded14fd1adc4af465db1dc4afeeb12e77f9e85746b6e6e65a339ed2ef27ec12228d51541794ad94ec46f42bd815ea9958026c61c6ab62acd94dd6d090498170831ede30875745bc1ad150f589b4bb37b17300c836e9f2400f5118945575ea113e025ce3226d906f4b556f3f5a090cec1ace788b58dfdb0f79b9df6e1d5e910addd875cda45a34536621cf829dff3d253cc3b6d5b3a5b99d331f5984b80f6faa099069a7ff20797c88a1d1c0a170343c1400c1c1cb8fe712888bf52bf71602b314f9c10dd9dae23948cde2bdadb0fec8092dff660656d0d08f8ec76721fdcb899e9a971338a61c787774376aab20d421e786797d818cbdf0330a2777d410cfd3bfe346e4568342ecdf3ce768c7088cf64f2873b9f5e8b6edc9b1a216dd234bb0ca9dd09e55d4e30cec46fefdb379f504bb08a30c49b887689a3c1bbb63f171611a701485dd3107891aad98a246fcdab45c13d980674bd166f3c5ee89cf775a69faaaecdf8547fd756355cec27f8035e6b9c6cce4fc0cdee6148b1de26cc84eaf6445446f67c8275b103325330e9986c41b05f2d13171aedccf7673701f4fbd3c0ee543b1291cb3899898f8210f5f42b6dc00c53c88d7bf5080da66d9fe9d398339a75f1ab7bdd35190794fe2a0d5c62efd4abee9b7664384ec6dfc2db9d70db601005ac557d3fe36503da5a9e44c43a9381c950395d7d6cb0dd5ce53bd705989b6da87f08543923e7080bd8920ad2fc3d2f24ac2d68c823762ebe7a46d36585ab9f6d0cfb3be0c522de83dc2c25e9e6a27046d2b79e4f2738514270ed1506b0d6543a2e84091a8f558bb2fe1936b20a53b869f04f4ace47452151cabcf98f1caba8c1eda18d7aa9df12648a00552de889ad5b5c2967f2e71f5745c95438de75c8bba455e126255634beed440caa067927bd2536f7261d8df734b5c5e1a21b5ed7179b58ed451f633c651377f094d20aa8826857c5e23c5298c28f01503a4d59687b5702b59a7d2787766e8185feb09f7f4c33fd5008a25c2d11ae7418bb97ecd3bd9bb24b2ba951f8c4a8ca9edbc5d19ece983580963524a6a1667410dedcb2c8c1504831100a844243c025b4bbfc651d9030092b2fccf33ecd7c0af2ff9381d8459be39838ad10780522586281f543b03be7f0df440c1d08138434cbb7041464b5b3b84679533546456b937b67dc25fc99cdb4c3f68fb4ced7db83db2bede099eeb2281eac869ce9c412246341c7db67e268e09cb5983ce8384178de8a90acec7bba40f5f678c5162aeb8eae3ae161cb2f9c353e7c46ef4404caf853188fcc715e508c098fb15796142698e37b32f2bd527c70ba805f48df85d82d499167834be06c2cf4fdf969cb0eb01f5a41ecd1daea2ce8e659ae278b85cdb02c3d206961d3678c9a8f2b99da7ffabec811ea85cb916688eb498c46cd1ab53642e5ee247e12aef70552c805b3df9fb343d768fd6ff087f283ec92feca5fdc4b3a4e7bea34946fdf175e53b2b5eb002d685019878efe8696248e19dc0a851187a0a02824145cb220b8cd1587eb2cc4a01299dbb47af8b2e758098b1b994694f0eaf14116d88b6ef1bca94b4558da71ea14bc477f27a4a2cf5314795892ebec0558aff4bd693cff98d553f894ff98b2ac8e4e1b5554befa8d05761cba179b561ef28f9bf2bacf3f0a4d3e462251749b6f4a99242a0d95dbe47bf2dfde3035eb99cf609fb500d9b1299c46b76fdd112d33b98f4fd3c92367b15dae3bda2848699085022d16cec87069fd173172d4b54aec40d64ef071a0b9d95b258fceea031b3035d8e9fe4a65279d8d76e064cfac0258be0865277287f2ba6f124f57ae2741ea26e6193a78620abe85f1c72db2b928b69f6deca8bec594d1c2457c0019d618f88aa02aa963117f6be2382a20538fd9e8523348bcbbb095062ec86790d25d7f0e01a8e096aaa97b32ec923442b4f93539f5bfd576741a2f8846d6d58019251776b20b4aeddb43a7bc186ed42e160f28d075c29348c1f3d8ff8d3fc7487c3773f9441a875ec0bd664df68aca3895b66f4735bf9d6058a9e19327fc1f7bbe1689227b9f3abe4b638dbfece69593457968b31b3fe43ac4bf58e91ba41637e1fed26d5f837f2e456951bd14d525dc96eb7502f1795020dca2655460c27c7eb8e5222f3d296f9d295cb7780ffaed3bf7f3b71294fd5d3d4750adc958456389e57ec99bec99e51790184759c079d5200765eec2b49433a37fc2b2cad93f4c5ad66f4da2c5bed2ceec56df4a52c340f4792d08df3a4465a2cc087b97b318efbbe4ca2f921f4c8e89abbdc81fb61a0297165075ec2cbcbabcccca67e68654e71c2d017b1bd5593fc7e50507bf32da481553b194ac265c3b7cb880b9f8cdb9497527f9df417261ca43afcf056b11c7dc86bb8ccc73431ce37b97fd1cf99a430d6f36f6dff30f509a0f11b333bd1163226920e30aedf824bf4492d66312b6504f9a1b136663cdcdf387590ec31e9f223f3cdb1e37ba3da592937ac8710d2e7a4424ef3122e7b0d5160a496ccc023b2fc32d1174892fc9eac77518710db67add5e3f1a4463e364eca6aac622d5ae1a82497a9604d8dc273f76948913c7537c28723beeb7459b87587cb0628670e628e4565d93f2766a8f4251cf5d88bf7036e85b29ea0606d814da6b6e89993522b165b021b12e3992ff99c33d069e4b9d2ad90e5bd581cb5a803b17b33d0378ac090d8eb0017915bf5874b315d07481372c2b2eb1f0c079120004a5ea629d98338a4939e277ec7bbdb0dfd7fd2fe20626b2eac025988d9bbf27e7099f6408b198a33fe0270064cfb7458622dca05ed9652bc6a8a69061ab52ebf659c6d78c53d7599a4709311d6737a28b225a426fc22e753a7b89d53177dfcc9c862af1fa7c5456a5e72093c47186f6a7ac2f5dd90deb9be5697c364a7660964e3edabdb4f60a5b6005b416f1588d1ab42ccb524dcc70498f6e6f234a8eeeb5ac492225404b469f1b7d8b2b3fb60868d4f645c46eee4148296c443cc12e6ec93056a9dccfd0c4c76c4deb1f719194729f0b3c06fd410cfd7f989a677d49500dd4f08ab6083ad1af0503b320398cbbf985ab033e8de613d753c1a53ee117bc5a5fc145fb8d9845d368f69ab40e75db80274515b944b74b99c3818c3ea60ebe809c158d5db7f0a85ba6954619e2c3d7fd984478e4bfd386bd68cd2eade1f101e2186f67f0d8de31620119cc020337ef656ad71c2fcf565f3f0a0f4a1ea9c167a69549e7458ce2f0cd08f8790bb7a5c870680215f5380523539b5fe24ddde1e92eacd0fc1056668ad15fba411c85eda9208b9891629d1c60fb4710889878b3e0b927fe31c0af5af0b07113e4fff10fa992bfc592e4f722230dac261ad4512e8b51dcf6a597ff1bf3730dea53e00519a2b47718081c6228f447a53f51dae428977a5f7cb98aca602fdb5633eb4e45cd557b594e00e958aebfbd3c417068779caffad03a0ce999c2b72058da9c80f52ba162771d98fb5cb58d7e481415316a726387f4c7eaa5d7094b053996f7ed9f6354689ea8551bbf1a44d7f9b1f43fb131f8b204324e995e070b5683d062a47e01d3ba157def1325fac606ed4235d9b75f1dcf69bc3bcc82bc4b8ffeb6173a43d0f74ef1af046c3f774370a6888759de34848dc9a90d5cd7fcd6746eee82ce6907dac9c8645e5cb6501ec40ff36e80dc8663ebfcfc101c6af867363316434115974c521b69cf3d1493f994ecf564ce60d09c3a3752356370c7d9481991ecc322ddd1b4b5bcf054aae5ff7676767657b5ba7ee7424d293ecdcf01b443bd49941d85cfc31d691b8587e6c033d3e4db4cda59b3e6b96ed977f748ff1c11b66d84120d2b9c634eee126bf46b1ec39123566ff2f7c415a9efc79a5a50f80debab738d1c7c5d402054bf16350e4b743415b947ea75a329be66dd64c4985875921f6f0ab60699ba5bc64f09bdfe67eaf08255dc68ee3fe0211f509d57e35a096682f47f3fc285c27f9a85319679f68b894709972831aff1dd2b952608d9aba91e690df7c356b1d79895427f87d05770351c945732bf2d3ad61c3c587fcf7d45a4b9138aac347d8a844efde469a4ff5511e0ec984332630cb16f4799a6000f58d73cb60e9604432287a05afde7f09e35dc65bac5d935087090142af70cc8bd2e915c6aa95fec0ebcdbc0916b25f7d2a05a6a94de72d345ce2976b1bcbf9880c9fc3ca81e143cb4297673fce5ec426702e96de8a60e193387df83664afdca88c7a2ddfb8fd09dba94654eadb3bff329d74ae0cdb417892e85e393e1f302fa4d6ecae5b19dd72ef2a2095e55425e8d661426cddffdb2c3368ec8cbd565c41ad4b9f9afa4248bcb365905e0d74172aea0bfa9677a839fc2144604b1fcf8e3e7badf30a2f9a9bb4ef80e9fdbb487b5f9497f444ddbc9b772364bab78fbf69a0664ff1fd34996fd551db80ce863d083e6b498dd3b221bb5dd143c8a3ef5972f1be48dae0f776f990c44147c009f7863bb1a3a3fd3c3481f7fb4cac222e5af191209c124fcb51028699e12eeb23009eebe06c0262da7f15b38064ecf3f95b50fddc34fe425a3a943e65320f54d84e6fef476a2e5d1797b1bc94c40456b10da452899960acc268435570e0b351d7ee506ea3269cc2dc6233a42cbd80638061911ab149c7c9c3b8f2e2f4f8ba2cb1edc4e116b9e2b70382f035f37f196fd9a4598f27ad76d45e74dde86b05782ac32e3ca9e97a353f60a0e0e2eb1000657913082bc6bf956dc79865fe26ad5446b7478104a2742f07162227604e19f0491cea34b61ad4f56991b68c965cd670d8d90aefbcd9afe9a86eabf81ab0d5c405ae81d3d09e6e511ec0b5d534ac1f74ba2d5341ecf0d8bb8022135840536905dd32a3a445371bc3d83a5b4e6e50d9db5d345c5cb1d1bdace3c9a027489c156b8cb9e122c337f9f23162a510493d13c157eb6ffb004d44d182f292617b6d3ef25a2b89e9a08e7c324d6726362f85cedc598810f6fbcc4df701d6dabeaabaede513142370ae8c9537fd0df697fc14d186ca3c8cb51dc808f81c07dfb162ac28c5c21a929a05d5a8ee4c6661b254340b3b6539e102d899e6e6e2ee23c374556047daf2fa081972e06747c47b05e41f10b944055a8079128731605b6d7e33f32e2f72cb8240ab52a4ba9271778f66a91822361cc826a2ebbc0c9ecc04b6f48d79100e1cf3c93790fe413cefff95363ba418f6bb2e16c5d4d5d1a7f00081d94a3b6b46c81263343ca590df157c83babe6edf74fedbbaa9d7cec78b370b28e4a199124343bf389d764655accbe7ece682fee006e42a3e8fe09c17ab9e05a300c11c8398b1ee7c3a80f8011000127302588bb04d3e9510b37119d3f02d505ae0a567e10b794779110d90b9ffe44d4e6a8add545249d6e46d95094919d9c525ea1da8c47222567dc47360f9aabc8bbf854d2f78f9ca105b1212299e4231e3a138337503029310aff933ead81f9445a57bd8fc030bdbef1f5e35d91b18f5faa725139961e13303f87bef678f90cab21e38ca3c2d3fcf05cbefa1ee2b936480001058e44ffad14e97655276aad2c2c4607a13e90c5f7ec3413c09d72d1b96da957174ab48a44d4de47c37e45e7e01d737c9d42fa51e45e0d26c2c3ae70a67dfb26588a167399630a293f7ea4370ec522092f45c2f847ec44e9f4797c71c9c3e47f5de3ead5cc068a20af8813d11d52ad1d8c60f8ad277b59948c2b32a680027d64deb8b488e4a8e8d2fb02e7756763166afe89a33a706187f27555d580e887c2e9dd4ffcd297e8cf5de57b847163de447d26d9acb44e14bb2cd2ee91efe9008428c3632743c28afdd0d34aebd0e1b2c2cc5816cd9381f8c7225be63a9f0ece40d21b936007d6568c25bd0c5d504bfc591ec37104b9da5bc3921abee534ef96e947039d0821dcc780000852ef20da7aa228977b56e0ed1a1c9cd0cd83d4344d4ea99fe379d1d1bf1b399dd1ecf54ffc000039789a69576a566c780036b069e7fb1d4399625f9bbb1c87c4907a70183389929acd8d8def79c569f266e8f6673b5a1e5d970f172d3925722fbc6def1fd169816a63b1a5b9a1a632d4de496da15cda2ef2f2feb9fbe34a9ea1856fcf18d5fd6081282b4e1a1d0e71c49b8e8fec96f690070be2c745cee33677c9ffff9b89f9d23001be063a8efbc9d0bc05d998ecdbdfdaf0a4befd12062a6a68340c0e0781c42018081c5c2788826aa2e54eafbbb80191c6eb33b6f9c9a54e1615bf89df1b83b6796ae645747b932d6945348392f6518311ec69cbe8de9d8ef4404b03c7887e8a73f5dcacf9c79e46cc3eaf53cc00647b8df652cb0c732ea4946ff2435917fe7761b61b0f8d5be91e10797667ef09be317cfb2e15decf5f2c0735158cc9d2cf535fcbba26405ae2e05793c3d7f48b258a62f2f64888cdba59aacb1ee201069fc748058c93c1bca0792e40f586b69672668787cd12f3f7dd94652eb39f24f708c0f38f46a92776c5c59545f65c4dcc6191f69afc724c20e1b172143702d2c654d88427ead74faccfe5bc06c1ce54bebb0823967e914fe3a0823b836cf9ed1df29b20e68a502d70b66343fb59f703ebb4d7bda383a4d95fb505572e7b1bdbf5d2a564cd1579266141a86fa8d044afc6e0ed3e783b4c5ddcc5a45ae3e2c67e544539058b6da71f254be6f1c269a8b3519fc9ebffe3851af3cd9a0383c75a179a5cb659b8554b08d688df3f02a42823e3778acbbf739fa3690408bc642276586f3c8baa01f259e11d4d7abd896445297cf8604877a1a9797f8bfe161a60907b0eb3617d773f1756932212680c2de251fb4fa8f35b993d7b27b35eff1d1e2b0ace3986a59c2d2b89061094ab94a72119bd3b102bd867feb8a73d21bca468a35ec7f4e01dabfcf4d13fdd90257b36bf26692b068e3e10bceb8f3fe9c67b448298f3c154bedd378396a09ec0690a608cb1839496e9e7d4a0a74e8c027067434f966d23edc2f5bca162ddea32eda1db6c1ce3d01da581ab1ecb11c17e8ecff4b66a3bc40555f2efb9870d5b547c03d06c02d85e2b7621df1a5679c45d99af902f7a29147aeced8b2cfef8a7d3d346732be1e13d43b99e7deeb29e9bf91a333421b16c3aad3a71d99db3c46ed7f5f69e90b52929fa80047e53478ee3b6e21ada2cdcfed4a0abd4b7e6be96332ea27e2be723107c9531f9a7c6c4d0adb4fae334098a84c4934dcf4eef71eac2bff75e85dcdfacabe14274d7aa04fa8654d759bd96de28638a8d428844aada7d48d05bc971dc190b7f5a2a88f594cc1cbca4213a4ed3e29ddda21c6c93056dd6a65d8f540e62bd34f6dba83486220a6c058aef927b6ce26494340db3baf8823cf23c8252ab60fe20bbd5c10425280db614f76478f43bd60a73a3cf32de35e157046b8579c149efc4437f674f0adea1d1b7817c2a1ae4413fa395d27432f3951d1dfffe025ff5d4eeaa9d3a3076461a1ab248ad545708bff1904773d56eebe8f8e5878bf0fe563276bcaad629e3ffc66e3dc01800ce15446de0e2b862348f797dc53081f7254d6febc3f6b161cfb0417a5d48b07bc73e906d6d183f999a76422933cb82a14ef26649bfa5352e14f94329de6ca9db6a8409dc91dc3d9b09beb10e58334ed1734257175556acdd841a03b34d035dce597e23946b15733a4fd5207fbdba382f60c47f43c67e52a63d926b964880cab1737c630be1f77909fe8d886efc77122521dbcec0d0fb588e2cdeb13f6c5b093bdb3b3fcc477eeab158b83a96a467ecf11dd063b324d4a3afbd9c901b36b6eee937b8a030bf4084af0998e6ad2a7b5ecfbd6d6e843acac6e7fe31f5b1d07ab0e5b82f27cdee51c105f99132a215d3249ee07fa9905d61481a5d1a47e2408d0e7575ab8953569db7bb296a35996f60bb3a6bab23f9e96436da7cdfb7ee88d3ddd55f56dde0caa7acbf4dfbcefd0bab7dbe08ed42adede6981a176cba7d3620ddc56df1a8f240dd7a04a1415ad8faf97e7cb94092f44c7fa889c84aaa5e98618a777f6e27cd6ff098e3d15630e67f00ddddd3d30ae3ecf03076423f81aaa547beae66ee30de26b40833de77e85554c3321a0f9f81e533c860036d378298a5e933f346f72f5326619ecc14e37718ba89bb1bd75f53059bea46ba565eb3b9ff4f239ea564e0d56db36e40e0359fbe8932eeb51f3ebff4f6769e595fa598aed983fb521895e087d5dec4de0e97a7351b96ecb99e6bd7759259fe6dd6ee4f5970664d233c13195abf43232ff618330efed5dc2b529b5bb3afe9366d5ee00f3fe95a36ab9ccb039f4b26182146e14f4a2bb46bc68771da52774ab6fd551db84832cf9d79a6a61862e1b48bcecf35b42773ead8d2ba86a7f0ab9f6d72e4b6f9a1b15f03fb5579b577183c466e29e47a7c1a8abbb5ab01b8ec6add54b3cff633dc658861bd5f8bc61df07f4f93a519cae6ea6e2476e753fb2a54fb2598a613ed996a4821173cf7f0574b63f9eaea02beda7b2087a387b74689c11428bc1ee4badfaae197ca65feca6e1f7e9c2344592797f35590a9da7d4b88bb046b9f5821b211377bb328aec8dbd5c7a0c8572f46257ad630c57f8cbd5eea42ad23c710ede8da9a8d32b8b267f8053256021f0af4a4f9d2886ff508b34389d8067f3fad7b3ad3a67882a6f6176c3502aae9d42e83df7adad7928af94dd29b407f4711b26a01bcaf0f3073678a07b8cc38144769e04ad50aecc7151a2fe74709153b02117d469f887c8ef5b84935221946557901171720c94e1e228708d3b920a3e50b49652d9eed12e7ccc3a53cf7ece476e75891333cccd1c0d8a5c07d068d6d816c9711cdd9edce46a35c15c5d67298897af6e1689b47d330b707e888aeb4e9af8f70bac782740b475fdbe51b57c0c1e018d1862b2ab2982966e806d4a7a872fc41112ec5a8e1ac22b7ee82a1c51bcc21bf0e2d6434e2b2e9b6a68580c76263ccc3aba3bceebc511519691b0453dc9333f17d7d4d5e8362eaf32753f64c9968e626362fab5349170ad9bef9fbef6f1ad39773650e72a20cc96e142d695d5ccd35632a439ffe1e0e3d18236a7f8153142f34e6586047d2db16c7524f9ef7ead7f51a57b28ceac095c0c246cd99c5caa49f375fd922f02256dcaa8ec1abebe5c02dcf61e3a27c9d36dd1e43ea198392bb8c046df4974f8d168901ff62cbd66ba3f44505cc10c3fd83c19b69e4c9831c79f51b45cdd3a8acc8574e5c06923d8d745d2e525b170e424b4f15a404efca06cd3a6f4fb479b362ed02085e9033246dc3d2c7f44ee92509e1c30efd637a74dba93e2d6fcd75bc916eaa0193aad86fa9e28bf6d169b68a1c1c0ca60446309af6f898f095235cf16311bcfa320243df643a1a501670ac2e9872d8bcffcbacfa94ec79eca5133e5666636aac023e4fb9308ea08886d9f9146b0f3cc912f07c109e7c84d38f65d6e173edce2bcb845b44337844acb9fc9c3a87fdf1b92e9b9ee6e5c9d8012e330d03fd551bb8a2d91ab41fbb08754f031be1cb7b3764a1d9339e9ebba555bf7460a564db4d27331ffd7976c8555ef63858bc2e89b187e9e18b0820e54d4b173ed8ca9c7d97861a9e71f05dd97deacff0fb8ccf7da2f3814e18a52e9b28186c6bb8262f593da7044c034beca8eb6cc31fbd6a1c88002d234bc7629c9952b2fd786c6e6056b3da86338843ffb0a5db18b2df034d3c40e2a740a7c46c97952d8048a7d5f106ed68b1c28bbf57c3eeadbb287753df0cb894f752d6eb1a21bc0ed15afb28efeed353c62dea36e2a65e2eba95f4884791c247db41c4e3560de7ef09de6880c1a1f7698893447620ad116e82381d3997b2d48dc91b5fc0e0315724c3208e3e1ee940c3e292c2fcbc1af625b5921d13b22ce8e302a7a3d4249782aade41f3d0c5c107681fd3b2cc59ee46e3c9e7cbe118f4b473658e1a0c8c825ac1ad30624018125ce9e416dc25e10d974d0a2e9a44c920e7cb3c00b4bcc8a13147bfad63eabfdf1547f748eb450701805a003498a32c03497b090ab037903ba5e628eb3e3d338fcf3f36bfe3dcdd1e62728a5bed3a58ce8d9882c92fd728dc8a702a2e62f0896ff5571b17f7ddbbf8c7aab5d8d0ee9a029c9d893802da87d675cd97868fd59df93c84e2cc8d6e93a1f2311eb541eb1847be7bc83efbf0327a718c56be45859ac3448f85bb8bb01c26a428796be36d3f0de9a47c8ac7650674ed0d91614e5396184c9ccf1aa1428a6e856675cac9e90b2f81d0a32f64f10ff3c70c38b4599a59d452deebb70d963ddd486ba7b6631c5e54d8c094dca5b4bccaf44aef8cb6d44b26b6e931de0a56f25e930d56c1c2c53cbec48f4247b6b9a6a63d675e83470bf0a51f7ec42800a64c0e246a2838480c0c8240ade10838b88e36c90c4e9c10315e55e2204528d7a4be5d5e3a256068815fe9400866f231ff1b9206102ccd54dea63e9224ea57f340cbd9f5b25a66db7075bd8cebd1ac7068ee1d989e0c65a6593e1f01b92e7448377792d69b9b2fa22eae7911a57404925a3a25af68fcd7cb71ddec6e0992092c98856cbe68ada15388264e31cf1babd19c8ab5d141780605dd2e7b7fe8150f52755d337b04716a0efae6918bbe80e7e11fdbf288cfd2a94b0b51397c654aabf5d2977ed10759e3337d6b15d2a233316ef0cdebdcbc336a4d181b7815fdd779bec8674ed9d6e50dffc6a42bf7a634014e6ec8a231a844628cf2dd145c2e082a75ad08de85cffa610dc40e994582f4ccc279a2b06ed416e7233a551c63d03f7aa593b6be80c55b83b155483c5c8bd63e9a82dbad8cde0c1819e54c7a421059556180ff8af2fb618dbf56e5620f083c4260ad56498bf2fd42aee0bc9c02af8ebd1300", + "nonce": "0x4aa", + "to": "0xd31e61e50da6c4c4aa6bac0587a92c3b5bf6ea5d", + "transactionIndex": "0x7c", + "value": "0x0", + "type": "0x2", + "accessList": [ + { + "address": "0xd31e61e50da6c4c4aa6bac0587a92c3b5bf6ea5d", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0xc274e22f6714ff56f7c51327602c390079f3d7f30ddd09908948927200e5c1ad" + ] + }, + { + "address": "0xe542921abec1ebb78c4c83a364052e0e188b65a4", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736cb31", + "0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736cb32", + "0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d51" + ] + } + ], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x17c8fe9faafadd061c485534ba4e8b5621a2c0bdfcef303883a21b7bbffbc11e", + "s": "0x71c340f9a48303ff5fbadc5d6f947253c28eafbb4e73202381d96b44d37e76d7" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xe3f2789453410cc9cb2e8a99aba9181c5590a96d", + "gas": "0x26791", + "gasPrice": "0x34014fa", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x205bfd36", + "hash": "0xf346a8b7568024ba177a196fff1d141da59dd542bdd67b05a27740a413f0a6c9", + "input": "0x8f111f3c000000000000000000000000000000000000000000000000000000000000137f00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005199000000000000000000000000000000000000000000000000000000000000519d00000000000000000000000000000000000000000000000000000000000000b288c6f2e143a4c7ff5ccb4fcad15f3763ac5ccd8922e28464f3ec255120035983ca3f25e41e10a7b3764e789fa32c322f49e3455c44212923900f1f508cf8b17ff300000000689c5ea0010000000000000006077c48264a207bae16f6ccac8112da21fe5b846ba9e5b812b72877f1e1d813fd0aebdb1984acc9f99f51340a275e09bb0cd1b3e40b5ae7831b4b4d3040d34ab71d0ac5669c63934cea0119c10ddb65159e8f61d62738993a341fa60196b390ca0000000000000000000000000000", + "nonce": "0x137e", + "to": "0x0826ab1ef7ab293933d7e3ce1122b5d677a23e71", + "transactionIndex": "0x7d", + "value": "0x0", + "type": "0x2", + "accessList": [ + { + "address": "0x0826ab1ef7ab293933d7e3ce1122b5d677a23e71", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0xf1a96beb27a212bacae3d4e9b0483a5316d2047ab129388cb53b0ddce01a7de2" + ] + }, + { + "address": "0xd522dc770e2452375afced3c3ec96eb784c75570", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736da06", + "0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736da07", + "0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4c" + ] + } + ], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xa0f4bbf3a0e2687311185fd01fc6552c2e43843b7e7869b45e931ce55d3f0d0c", + "s": "0x35e61e3ed52310981481ec1791bc5ac8177554519701b9f6339eb479d6bcb4c7" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x556b509a93fa66a6047a8eb128972d1814af78d7", + "gas": "0x37b617", + "gasPrice": "0x34014fa", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x205bfd36", + "hash": "0x7fd9e878d73b8e43449d14d8bb5aa8b1f8b44cf5a2a9e1726b5e14ab9379f2e9", + "input": "0x8f111f3c00000000000000000000000000000000000000000000000000000000000004ab00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001596800000000000000000000000000000000000000000000000000000000000159860000000000000000000000000000000000000000000000000000000000015bd3005b3545268a4077f84e4945ea60780cb6adc769f037cd61eae4e733bfea3824291fc0b98d56424a40e0124ac57fe2078313ad5449fefc5448b648b780d04a879229e5e956046180ec36426564cdacd973f7f3ced8c9ce4a46c6fdb246d965c42ea348914276d9ab3256488b485a3266c8ae01380000d4fcf7f755198d6251d2ff56986533c38605e8f752a5949c6e7f29bda165850d9d11b578d9d2cb2fa58dba59c272a3841df9dcf5bccdc4cc0e0d1b364cd8a94143875023f2606a74c36ac0b375ceec81afd52fa465f24a953515ac610388660879fa773678c2bdceb605d2b122ed89c73eb6927b598c45e8b18f3185f0414658842b5f0a7624a00be564e6f2162a2155b18e8513376bac899e6060455d02e958d4febdfdf907bf372dcf7dcf29ac9671b310f65e6c7af79d9606ca214dac099c40b83044a1cba1d002214106c14eec10a5eecc8ea2a8ecd14cfe378530e0108b880ca85090e070d9fa4e267d1a10a04f26cd3864f22fe2d74134732188cb7b2da1b0b7a13f05c11e42a129003400e0e4e4bb4ea7f724ba1e6e6becd9b78029a093f1c44d2fc81fe0777e09317f3f3086686206c8f1915aa1a8e476641f95f5eec79a00fae81f03ec1f870060ff840100fb273900d83f258266ffb479007b0001fb6735a5d93f4717c09fe26349b68504cfbda9ae0ab210794c54741c34f3df114c0b403fae66ebaf112fe1caefc61168e322b2ecff1119410bb8e6fc74ca32509b2f836c6685c7600f780735fe418cf162c435b9acd351063e7a04c0ef1b9c8f740ecf7ad313cada3e901f441211c11b6f91970b007c19cd72456b007b0800d80321c01fd3ea5f8e70e7b389c224888ca084513040e9dea2614938328a482001283c19c613f1009a0ce0a02b8e07cbea498d5a81cc52dbbf68b88fdbb2f7218c17c7055ab84ca3e9a07c7d88da7d3e502167c1df769c23175978f3a39722f179b7eea7b3191df5b6f1607b619eb100e3ffc396ac45cbb4aeedf84dd6bc0bf744451282caafde32f4b0a2ef66f3b12599807b9a98b30701ad00bd2a19e392d927f873a25622c7afa143db2ad18c7e224f2c6055e300f87b9e8dcdd4d9bdbad04b7b0389b50d989cb94d9a4e6800d0ee3507d82fad11cd57ca32a20c0de0735e72013d008b328cee545a1a3a7d913db1436273d77e12309920516c59170bd78835e2bbac57c1bdded0ca1ab3f241b9e7c6eb4224afeb02152231ea92e63a54518ffcb73cbe1d4ac0b5b7c3d800f825997e1d4e09f3a0863c6fc3df030670980b992b82624b0d87b0d6ae6dca3dd0ded34f4c87655ecb8f866df20f238c62ac3a202fe38b205964ac344ab1709b5239fa8b08073ecc12ea3dee3c0655b7da4894e960d1c694dea700f430c2e72953f1f2ee856deeca92c1b7c091e96f47e3c8280a8608a2082091c20f0390250d007154088390c1442c0c2e9076a826ba6b187a5169fb1b3994372b206e92dae60bc34018b35e2ae7468f379f10d9c5282477b2d49abdddc44720e575ebbbad774ae37b2fb6a701b45dfec2f28f093cdbae1010425f815bcb70652ba0a2e7586e415dadbe7d4068df5c2c7859d7e323fbb80bae2b76e8989547eb3219485ff82aaa500b288f577743817fff58a2191bbf70ee25c96c9e6a476a3c9a79e66a08ace612228967cfcbc96dfc5deb2ca44d82004f76e5ce7f6d2db60b7688e4849ad17c2cc3551fa16840f65c189b9081685ac5c12f5cb19965b5dbeb69a0877e93d1e17163193bd3a640155c01159faf312b5d0e648cdb2486a0bedd9d7caade31464387d38246955ce649f5281e7f78d5742ac13d0ed99d162665048613ceed798ea3f4cf24f7f746c8bc342a82fc27182fdfc78e0ca55573eaf21ee6f2b050c16afb8281005c6edda266bf20ca8b39e645a307aeee2d34939eda3c1fb83711d1a7cfaa9c8a5c78f754c91d1cffdfc5bf1fd8cf61940a7c5eaed16b5b8b3b2176ea14469e706dbdc70ac5cce03c070d1faa4280afca5198ba785510b9c3a5424b0b9c780cb3ad8f4d32af8040b2d1fb6ecfba84edfe3976e179eadddbed8da4e0aff7ba55dbb09e6cb70fbda5c5b4b110965ee1310045960df5f0fcedb49f6877b57b7495bd5946b454732dd0f827a4b349ca53a247b28b0ca8954cd2ab22e70c3dd15fcd3f74278cc7491517f9db9d951577607d18df60910bea8d9c12a06ceb3a797bedf1ff90073a7b9bf59da9dddd89774a29feafd7e399316849147ca84e4b8cd548f745faeefac584dfc9eb4a3cc585713821dcc0269a1b23bf9c8fec5a16e42676760374944f36f32680ce19a99546936d0b779111a8282a168bc7516022094ec281abbba99196e3607f0347c09bce268243d8a4c8cca255c0b0b06c822e53d50a0b7d0c61a8fb0d829b5bb289ad213a874eea6f99d79fdba5f8df8e4bb110e3717b17f78f74f212c8633fa3add86d04415ff44112c06d8791bdc1d1334204897fe9c10a3aef65ce8f6b76e3d64366eaedd4c2847136fa54fb50ff88b82732ee3d88e83c96b5de8e492c467d46a4d032b26c2af6b4a21c3a767217937c2fc7581489407959b8c2f50caae4726d1ce35e87f3b87185a027495bcb89bc764556a21a085936d2f8e8f072750afa3af3920b1bdd667a73193bf43464bff30ade45ed9bc689061f210eb0ffe9df5745f79acd3b55815963acbcc00eefe0eaa58a372735c1e6a2dc55f78985627601ecb99548695893cd24edc17f83572863e260f7c5d06f8372ca7d431d40078b6d95497c245b4dced640efc17b82272bea006e0003f409848027a2c888581ef055a3802490089719e637034210e7b5e9d594f23149f7a28eb9a5de51e42a6e3939777e5adfbfd4c4a08825b76d9b9193a96a904bae28dc6b9415334222ba0eb22fe7f58e192740ef71d8a246ac0addeb15eaf00ae2aa208309f42f40ddda761f6f97e51258bb1e2e37c6d3a048101ea29c65a2691fd1fdf437613d76af8e7509b9af2d15afc69d6d8df38e62d02d292d1af46115efebb98ce87f7dc23b8ab3bf784333ccf42a71dc11efdc9f87c2db310ea7d50aa5c8fdfc65e5559a4bc2abc059cea6c562bd89d9063b6ad96e74746bafb69fbe8f67dd6a32a75e88cad5f21c0b51207e9993ca7035691c6289511544eacd65c18daebb4b0f4c5152461bf80958e7ea2ead3e7300790fcc1d341a6393bd11041edc2f95c6e2a029c3d8b8e0bfc96cfc230f4025a5fdf400086a8d09c2bc7b7749b4f883af7b0d61ea4d2af8fd1802fa22c3525030952c44844122050323812b4a75b9e1f39891e849e613f686760095a98d9b3b7ce978170bc9fe205162d2c279bdb087602ce7ea6da7ab9eb421a3bbdd3d0e5224f9734bbaf60a17116d7b5def71a311e75cb2d1d7439b3b42f24eda6a45f3b7607964514eecc69017df4cda37afc35d606ff431eaafefb7cb7cc6c55f4ab36214594f99003fe139f22eaf5aae78b70fb3951584b11036255a34509042b131a470bf19f7cc30e6589e7f9227ddf8d33037e77cd2d2d84687d85fc81af1fbe8d04e40fcfd32d88ded575fbfb036eb833cb5c05907d1ac4c8cd2725474731a8269c479fbfd5558a3d0fc1c56fa9971f965e4146fe9973e5a38973614daae1ec75a88f5536076cc4e78ddec3db5e79f0f95bd326d3f09a1817f6f1d48e518d955588155685d5ad43923c79adfbed843dbd4a33000badac88c036081f541d22824210ad50c254a0211045c1705a146637854c6ab2699dd824f6ab3d34575c9c12a8f2e855df1678fcfa6696ad6bf23817cea6cac87db17085524cd0ea7381c35d9a46cec2051c1577ef5abfc6350eb16b387eb4e56f935851d25eae0fb5b614d041db96fdc59bdad902946f6659609ad24af9dfaf32bb28b5cbbe49b5e1976d405af6263d56b8e7674d7be87646347b730be865cc8d02b2df131317fd797426dedb280fc48b5fe261aa036c3b33cd16d763dd6bc5848dfbc03d16fb0620d4b8a13d6f176d18475bbb95e47945f2bf6cbd16d70e37e7da4bb34aa460783c73629b8eecef8a9549abcc708816e82c2b5884fc3c1d10b47a99b4776e7bc414d3bde3deb9a813e370ea7ee816b263f2b7f6b80936cc701501f9236e3950dbbda2f6c3262874645aa2e809a71ca444034d5cb14884015bd61080506e082abcbf87884e122b5f4da875185b5eab5a37bb35d0c5b7da68a3935ba6f77af72ec130983d67e6ec2c58ffa5d3971ecb689d39250cc1ea6bf77c915049792f70e1bff982c49baf2df27a5e01b099364f2db3cd800073c0bceaa0c7182e65b0c407eeb104e2d39b6a9bb40742147d1bd0b0908d61083fadf128e4ca2e1400b869b9ffa257026ddf688632eff8a7b92bcfb27e1511ef741c26c93d10ff77b30bbc050a001c3c31d90b15e1c19fd0e424626eb7f8f0dbce0dfba08933a8cbe9605f79f9b46040ab9d1adb5aa2325ff6e68e67cda5c507a8e0abeec6e78c324998ae4625ac30a54ebf58c596dc4aea33216e00b6827b7e06402abb33eb65d548fb8730e69faf96d926349361787fe3bf67f615e7355de2ef8e9838ffac2324f009dec7e9b03acf5bb65e4bdbfd75f4e02cf11b108e610262d0f86f3f02832012461002c163fcc8c30e1529bb4e2ea9c301d60b55b40c7d592eca275326ee312adfca6182c20d590359770a27566524b0aaba0ace65781dd84365e4ad68df8f97e34c467bfcf11889b0ef18f8ded5c3b08dbf954394c709e57c7197d24760d73d6d785fca29e0d1415eab2d7d14a05a94ea55fb1c6c0c5aa31ba9fd3a2b4eab00846eafceb3be8223f2d7441174237a81efc32b2c1fbf1c867ac5fe8296c7deb6b4776570df8169e0e6f5a526e438d6556d07c83cfe619da9d9a99b570449dc4c05fa57e8bbfe7bfa402a9c294a44f70c938c83f09246fd8243a8bc974c7cf96003029093d24b9d364545875f6e32b30d3c86a2070a88e8ee8a6a3f37b0e902d6070679a18bbc984fd2fcf17d0bde7da44114f176d01cb44e9b704e2d9190ed5f5b6653bff33b87a0e94d2f1a5931da3fe7be156d197020be9ddc14a9be98012898de894e873628b6f20c9276b5ffce3d6a09b28e1870c41c0809d383b280ea70462e0b7ed4a26e5d9ce8125863f77bf7bb1330594c8d7f8d83906ffd8327fa829746cb8eaa192051068803c02000c34145d82459a6c8e402724b98d10f6964a812f0b6fbaf2cce6c848005591ecd303afe1efc0d6f45ecb388594ef36e826d0119a80f012990287196161ea4fd11092f0f85a8370183206c62054b8d0c80d2cdc1c93817c342b8e2f43494d4759e3c6cbaa34a8315145f803fd331770cc2d79d97d0b522d68a2c7f74c8bf069678f64a5ab1b0bdf08e45d59c9a633ffd8103c15548924b262d1189faa6fd346be749f39cac7eecf1b6d6e4906044c0743e9566f55a2cdb9dc2e5b2b614a44202b905fe510d30cbf66add760d92c8970264e748b775480a94adc8d306139b2be38decae2d2acced2f4c717f17ec3f7211c3b3ccbe0e3f1689798b72f38928fcf7d6d9b02a9eefe5ce55e298ce82f699ba30bfd26bad9947533e6ee8a8f4ed86d89e61da39d693ac8f80f829b84f2a4a5c6bb79b907c2a30afc8723f7462dd1204d0cdb5e02449aebe38e04530b6223101540756e6290ada3ffceb22f064ad653dfb8c6be5f6899c725d314403de4641ae09737b803f20808a06102c037905fbce09271d8b09e7e1165903f259394dc187b487b37ddaa184454c9543f48811ef97cfda005012c57466ed4b8d13f8366c5ced63ab9a51547f9d90881fa598fdb6a036fee9d7939109e988dcb4cc47d01465614cbe70a04bfecbf0fae60a3f8a5e85a0ab7e5fcdeff80ea0e07e7635531d39883d1fae1dee055efc7486982d927cb2088aa9117def0a09bf5320752231ddc66805d24f0939a2f0de975cd958dcc6ee19747a9bcbc2d7b97b76e3d8aa4d0a3cce67ccc5706a2997ad79c2406bee63c3ae1fcf82e893da136744b088427617b584f88c1deaa17d6281667df98561e35c6c495bef1722b2bb923ac97ff69be2e1027cf753a9ced7efb757128a31b4546cd783cf5c1c91515d427986c1c697ed5789cf7278367a8db45b302e468c1e06000ddd3d5d61abaa19c39c7043a28dfc44063c5c506c17808858520128e421441e32128b8a0b4556b001e9b6005371a8c778bd6c4ebdfad0559fffcd78a29846b2b8107c7d29e4fb7ca0a6253426523920846cf1418adbe3928cf9c98f6d2bf0fda695342dc659aac373aefa08e10ed5a2768c92771b6c1b0d33ee67af7454ed46f18a9bcae30f8c5062b490f754f649203731a7ffe0b99d1699c6f527d53bde5fe0d6d0dd1ebfa3a0ebf5a08fdf98018bd1413271773c17b2f6a64b6bb14e0787fe90560e6964c8b84c817678645cc4a25954375e158cd39dd76e7b7de2a193c0a9d116d6698d7849f06b0d10d2c762ba692eeddf48b09d122f44e3c2b0383afa362b4509dc9ecfa3f7e91e79e2c0242e996832b8afd2fefab029e24e00e84e20b5503fe12719654db6292810cc95692bc8fe481aa14553cff54db97419f0c7df047a651a12f9e1e783d5789682dd9958c63a47cf775f231720e89020641141643c46888219c84d10082221170f8f3191302f110060e2ec05874bda6ba25a22790bcdf7936bb2aa73a4270c12e050894c86408fcdab8bbe91e92ae39a47afc7e43e270075cb7423dc130674f76ddc2747ae9bdd3d9072dbdc7ce1356239709e0fa330c1cc3683ced8288ccd413a81a1f2efc053495dad1297ee1e14c70744894f1988535de18f5e871be0914a698490f1301810d2cabc9fe2c77fbb05ac5bd160b614bd09f02b8cd3e7e0a8abe63466d01a3300cb06d7342233b80ee6cab7cc5d74c1786c8ed22653dddff79dc73405b3d101f6ee02bfc7d89326e54df931c1f9bb60be9642bf1cbcef0d544e7c2cb7a91b99a4ffc804d52e8ce1d7e41360606cabdd6fbd6c2359f3d8534574b6246f6a4b35962ba60fa015418681f27ecbb872afa7ad8c9ba051187ec4aacf16a0cfbd202036aac208b4123676703a63e8d8acbe849c61b7665bbb5bcf7d7b3cfc3a1703818fb280e21f14364aa9f4093d014224a18b946dcb183eb1a2dcc23657b4137ec23d2b7600ed86307fddb0862916e402e7260a30918f900a45cfcba445b49a87f33ccd1b153c626da4913118aa73f856a79d06d0cbb57c25d862eab4d0261cd3242d094bd170e95691b8157a4f58cc86a6aeb2ce8765b0dc2f8d48ce92afd507b35dcf8ff2ad96b77873c10a093f8b74e4e69779082e9ce9b97976e31b28cb1c9e6a43f8b50798b2556696243e3bbc9e6f2f12d0e50c7fbff06ace775368be1e7c02bc39d5a2cab1c11a45d0bef858d0f2a2cb3130f36b2081895a5279e161b02e3028cb2b6b7a7a9681cc726fe1d475bd2de243e7a3f7a63c489db54a83d7eafbc46440b0edce08a40c62c16c57d694e0266d5e2b6994b47d74bc3e09138079071f8e9a281e08ca30274df2443e844eeaafad4a1bbb84ea2f6885e870bf777da22890203ce7085faa848b3b442c659f8070ee193d7644b1359963f063c7358836a451a4087849328d12cf9b59c8a49b9af3216086ea370ef5ef14c816ab2610b74204dc426c508173f52bcc2d8d905006404871011524229e9f6db774702c0aa861371982b43a004465e4b295b64cf57dfa39612cb47e5b8d3fed8d3900fd826bfcb0050919bedc6c53406c0016ce030e7054642011834049201124518c1836b7541b13331a1e0289b0bbcf5fd2ba4599a3170a846d1d3bdcb6e415acab742aaa3b6099d75ac5f5e7f6fc1bfb526d46a228f3297817b3f57e349cedfc3eb508fbf47848f7096f339f90cb2fea9799607cb262a99b9bdea5b4dcbd5a1ee53199480c378960a229cdafd7dbba4be823ad391a0ad6d48aa5f9b85856baa8c85b3a4058a51abdd326221ece0cb49c0396c3d77952dbe119d293bc988e429a448df4de18055075b192bbfbb51b624d245a913a774c62cb311d030d6e6c3a824c5d109d08a1cac3b92337f9601561099f895daf94e869e5780a8be0727155f675c63e01a137963b91239559387c3e1fb5a1daf41fe6517db8359eb33ba7ca5002e558e7744a64ef1e39449f0c7c1ab2591b610d97f9ceb498bc4fc0c889d61463cd2ea74f35846d500540c2e5b0d784507040f365cbe89c0432ce142c3636014421286c9100ce2288818b8e8ffb8ce869dbb84fd34df8eef0bb2479d7e9794682224ef6a1b50d69a8a586b682e85141d6eb033a8a94e2a43e03270ac944130570083654ff27d1def02b8f6f09755e42ed9197e79849a2883560a3df56eedb23f7b4ebec196c5f3ee23bd63613f828a2c81f80e952ff61d7bdd92ee3624252968ecc042ed2b660d472a72c92a8b0a4db6257603a1d44be478528b79b3f9bd4514fb2583f4387d0067040d495f9e24a84b9bfc682cf42e02daa284ac93d9abb88de9372b776e947f44fc6f1064b461701874ab8c6af2534ccff5682eb1c7756d3b26691a3a52a3f5ebd691fa5e4c1b0bbdd22adfc503ce50637d69086c09292cf7db2ab5d2cc6d0ce2911d12e49c8c867988806c8a68b033f297e5e7682b2d4b1a37ad9351b5e82b00dde1b736079fd65c4ec524e465c04654307808403a46707834ea9530088dc161002a8421049729ceeb76dc93e3d3954ef5410b357c8a72eab6e97c7290a9dc4311967cdac5702c683384e343c6807fe294258243a886c3bd47c8fc3a3c67e4c12733d91cb296dee3751fefe6d1b8a47990eddc2303f07f1b9a17f716fe84d7dee35ab767fc1bed06777c070121d6f2d64a7b8494fa54c89e92d828c7ffd149411bfb269dc399dcc579fbb05b0dbb120b61db3b0702b45f8b649ad597ef1cd905072e818cc3a4aea124e86ac18847b4a1b49073e9f64d5626b7277b35ef6ab27d4e280964f3c19eb3e3d7a1cdd3fbf686cd0d4526d0a2db160aaecb1fec59a574b2120885239d132a39d4a30616ed23c348a84a2acb8f35903fb2454087c325bb6e1a8dff4fee2e21aa13e24b0480038edd40d79f746ccac866c5a14c34484567fa60fff422987755ba48119701a0fa8674ad7111d70799737943fba05286c30008028688683c08aef384cf7e970e0fe5d76776a6a60b26bf1ce27ea5d99c1fa6be37ecef4d9f82c1c6fab071dc08fad08f7aa665b69c20fc79e76bf4d259ae3dc0d7cf2c9328f5769cbb0c32d3404e3528b98da5d90c788bb5c7a4c365d5cd2185e2a99a414b6ce0f2dc11c887ac6354ab1f2ff2af46e215143598199f89cbb46bdf9bc2ee47162e57145a74ab7b7377d06be45e8e21b5a346c4f0e2fcbb1d3a00b6cbef74cab210dfb816b52607d5348ae0bd7e90705575304d4c6f825bc79a150b7a02a067fa4c9f6ef89c98745ba94a4f74d4ea6b99fd6383db09276593dcd83dafe1472b8b10a5a49f52fc2cc5b3383d968b908bbbb03ad10b78a6336abb3964cce027c1149b821ca2ccdc404136e2e5bae29c7eddebafe9ef326ae97d93f74bab1a402d39b5d2a91b2ed976dc820289209924443d824910cf8701180511a11fc2d028d98b0c8b272166c270618fe6f8732e9f4f2557e46d28989e8f8b69c6482a8e12a17de9ce8a14babf19a0b67e19b5a2946a3cc8b00d6840c7da340431ae796133ea0801c69396fe2ef5c05d162e48c1cb4a4b86398cd07eb258cacf4a259b3704da9a9ba639f9d669718f10b37cdf27e06765386b5cb9cce632923983a59793b306f543b54135c1d813a79a16bf90709a2eefd6d41ed17eec59f7025faf0eabef35dfd41f8d2a0cc9b22bfc96ace4b1a0bf5daa85e462ff7de8b520dfbf2f958057c11ae87ba6820be1143e534170d02d12baf75d7cc4e4a29858512847b0be5c6a8f5fbe1d261e046164daa2412318552ee5de5a6feea6e6bef8f0f9d5ce373befe0e66c06b1cf971beccd9752c03c241b4d6910e32343ea28ef6a0b15cefecfea8dde270050931dae75e1fa2073f67c1840215800be49a05e682042e5c752413491888622780c195c81efbc4140797bf948f47eb424932c5b0396027d439591e589d200c30428cddd13c6dca937f686794e3f7fe729b3a17d9fa0458a65991552f73c30a30ad9881cfeb10f6349319b6edbaf90a4c6183dab677f4b3275803a5a288fc558f64f745b9f1d4155a194ae98f0d09e1c57cfa0f664b022968143d15d4096af2299020ab45b48d8f8f5d948d77c7759c45bc558e532b74dbf58ddfd106d36662c405f62fc64ddc08fc370b2ed0f3de4445351fc213a617d55fb795cb3edf72a6b9d7b20cb78d5f820081bdd8c906950bb6c85ff72ace5e432f47d33bf39be2c32db2f2078bac7dd163829b864123e1193636d5f2fc2a56db357612f5c0e132334f7a0bdb049dfe801f59495c95ead671bff6aefeae96e0b20dfd7162e27e43257a3518db53ec978d53e82a167a157fbcb3b047147009ac08506632828128142468b80048048c0836b93b795149015439b409fbf0fc6ac61ecc4345a026c2e7ba24d48e32ec63da24fe6cebe2be38a22a08764b43f53c8c8cb38b4800d92c85a014b82c45f84b789cf3fa67d1c8aaef289d2e7565be8da120e159b3cf102c3702723e37f20f5fdc92d885e951e792c43b1b16ce6c53d87837d5f5ed5b3f2be7a9f593378e1d03739e34f10277e9dbc5e18f7a05e9cbbe8a0adf914e7549b4b4dc45b30476eb6e2c1ff9fd915ed5b659d22cd5e2affc1e8637d08b658a1aa4fb44514aaf4f79138c8b856fc8a00c241b772f57dd79d148ae8297a39e6e1e62b4eea18d6c5454bf7fb967a0b5ac42490d8eb6e594ec6e4768260a851f2971d20800e1b5db9967fe399248f5b54b061f375b227b951976f213c9cdf249340ef85bc06cc7a969001a8a80d77e3221b036043fbfe7a7688904fa0a9200a2652a08ca94334b11dccfeda844813aeb8bdee84365ef9ef76aef40397b7283b81a5167a069ed747e10809a9f48c5c43b9783c7499d046ade7696394552de9c4b77cbe66498ddb5d9d422c941a9c4a71ee323ff34024523a17ee839387b2558d231d966fd59ca29541368df1a2ca147d0d89a03abbc6e17fe22f52d619e406473013975af0745d40e9ca6cbca40eedd2c004745b93186e133808b876128afff5cbe1a86f229e0d9c701ada30d3b42706c3c078a8241f0085f8e34db62218c90e0f280385318321f94dc46cda0df49c0f9cc8fb15783ebc765ea0ecc90cd35722c72a8266748453218e0cc7273d4c96179c38f25cf1c5c30ed1fc0b232e961e8909dee1c33eed3175f2ca470c6297a95bd26d38c1439b4eb6338734a47afb32ee06b88ee4e2ed8db94b700b03405791b3da9a869ae50d1edd3ae87e96846084a9008e8836e00a3a6af0e45570c3f0252849ff679d43b542bddca4053fe9cb1b93ccaffa297139d00a189c7e45abb42d4d8cf034335e5feed26f2b25cfee7e19a432d49c2ef4e42ed33ce0e40ad71ae043cbf46d05df576bc98104f529831aed5ed14d2a5e57f3e766f14455ab106f5617bff0b201fdeb4c4a2e61d639c5d4946dbdc66dc74a1f39bfbc749b5d1e4b2353e4a5af2224523cc47ecf360c8ccf965868f7ef16025255c80b856228943fe1852c288d5130c87d67dba86480aa470d05c2ac7c759c76d95a722b885f7d6ce3fd22a67df5405c1fffd2e4fa47c1ef8351b7680765821b07489c1a311010b56949a01a28c7161b2df61ba7958726b94abbc042aaf5491e04def86c840a63932d01681175a16af64d71ec7c20f317d9d028180d01e804a0ad74f3f550b3edfae035f682e1b07099b43b6a5257f93b92aeb0ea3db61793b9f7b695b076f354258ce717a6188b22f560318be3ae4eacde0a2fa1c76ff08c3c65aa1e8de560e8280743fbb7cc6b81fc63db42f89c42d5326bf5c2abb8ab009062ddbab1565e75e79cdec761ae407ecdd212b1776953369a91eec38d6e545ede4fefe8bc3a3b4c6466616ec3ee5bb77e77614737396626f584f885a9542dbcc49cddafd0f713fea9ce3960c9984743115637f76362226f49ef61c3aa5bced5b066de8fb6268629690355cfa0bb3d443dc3a25d0ffcd29faa91167215ff1e0cddbb81c341775631a2bde0a83abda39e488ff5d60408caa4bf57d801a7762b704f9b4e61fe2225f1e23b9fa3d3b353892823e7f4ae550087ec4b05adb2ddb3d44d8e5ebd7797b1b819ef2f321c1af59ab6bdc092322c0e4053400847c041e0a27241a5d4acd73c9cb567291ed6d29bcee0c80deca4826b2c33e120ff6e43731b258b6ca6fe86dcac146d4762dbf4c3ef867d2916db9d57b02059ed98bbdbf5f8c7c638562baaf79043bfa9141fc52d87e0c1d533ba637cbc229851125e722edc75900fc88ef742ae5a07ce241b091cc45a5e5750992e06e280dea135f8586e1f5e61a39bfac1567f700eaca2781a4bf6424b36d8c9ac77ce626518cd842b96d4882dbc8649a73ee9f18105829cc4a014698a4d63fe46e0faa537f84c20342eec99047c47fc926e301043caad7547846809ce243d5aedf423d3cc010cb8d13fd7d35148d5416736b10887a2d8c2cc907a98408aeb11a3f23def71458d143e02e1797dcecc69189bec07cdf9e46a59bb40662d736efd032dc719f8e03500156ffd6e40c6100057213a5f8802617130164651419062232c0c0e7184d4a1c900992c8c80383c35b83627f7a73425a4f70cf8bb757d963656393e2ebd1ed5bc48b7395056c8ddeabc3b67847b36ee322fced45ce92cb15f8ee18bbd1d7566102b0a90db14b66e3b6ff4cfaa5c888bada28558c6501c12f8fcbbf10b58e6a0cab76ce417947ff6ae0f32d08f269cc7e50803f78dc14314cea83f139e924ae2ab08b20efa74d70d674dc95ab0c53fba4537c49ff875f8672dc4e4f247f6dfd2230f69c0d646555e2d5ef325a258f907e411f0ed5c8b3dbf906cc344c53876baaaab17f1a28bb6f0a53907f01383bb6cb2eee806eee36bf918aa6e78d5c32fc570f778a0661fdba21af9ebcc7e44cd3119360050d7f7f6348d9c73cae3caec34b5d7711b5f58631de8f88d6765782d8c46c2cd2bd9db5f6f4baf2c2587e092232bbaef9646ba3ba2d7016c490807af6703470bbe49068fa02069f1d74811be0a3c5a162b7afafdfc1fd1a3983b440ae9fb1dac5b04b1423ca4f849f739b18a99fa8e70d587d74e3dcfe02762496be5b37c41b68d99961fe9b0ce8f2bcce79bcd54eeb2fddd4ede4c82ceed889c026c597eda0d185226ce9a3afc1633a5b90ab164c45840685f1d3e58d42caeed5755c4fe015f24895420773a5becb3c23a946b8c4e7a79e9a6176d12e840b7aa82591af9648ad434ec62a5296b4f923738ba0fff478dbe21090835097675a22cd1795aa5df6fb75d8cd37459e3f778cd40f52c0b0ce2cc11197cefa439b916e68bfe19de3f6311046d5299fb7f0f1ed03f16b55c4b4c7ec64e6e469d1ed885d37fafcfe042e57390de8273bc06ad5648c33f248115ba6ac2ad59d73bf9976054c132cd6f2c05792c1d58d1f36104444351ae27f3443609c75ef3f970474e65946281d21f83971dc39a51a1844649be6797c6969d9bbd8d564a03b07d85d73e5ed0b841c76899fa60e7e64b1ce009a9a3f45f31083b97fdb4eba2ab6c27f43868cbd6b08b39e493ad0c4be1c0c2569cef045135443dfd75993f829f08a02ec0694e1b036087f9c1df8103ec2b0954841f26a1c7121346c6106022158314c682cb2b667590f0e054ec258e07fcaba04b92a99890197c05da37993c869e8aa9cc081c4f6199c6aff48239ef27be98edd1445238592ef6cfd5c575b624a96aaf97887fcc749cddc6d391314c0535004f51b3e5e8613c61d821ac99f1f44d87b27cbd9ccda98ff6180d890eecf7b00418aba9b39263e532e358d774d04adc574b0c81fc70a21be1ead2e7d175702fe89b7137d57a97e53b33f6307d11703403fc3e44111c92da6557e652208c7b9bd22c4371524432c595503a8d1a987be251a294544f64f968fc8221e7173e08c3b260e0abb23c3032ebd7e32d9f1d89ca05663d31e4fc928942605d35fac1b1082ee59f37cb2cd4193e18d9ac96e9da23c7c978f1b95d0831d7829dec6863b317e371a2f35292d873eff4eb379e965b3300b5e04413620e801de6c03efea4617044aa18150b63403c095c7329b57c54919356ee33b91732ba5b0c27cf07e11d78dea99f0612da85cee52e886f44739cfdd777204c02fa0d5cab7967036476ac965d113faa50649ca24d6b709709dde8e4902e4134a69f92fa39c550a69b5b93d06f165e7fe2864f57a9adbab330411f19e9522de96f23f4a1bc5f0a54686950fb1604e48bee1fdcb0e569623f8f6e77fc6e095a5bd161cb7aadc9987907f8e8e3173ebbb9444cf234be614af1265d146d3ad5c269c784b5321274f6679ed9ef683ab73a0ebe8f89013a0cfd056f0f4cba5db63a48264a4ba4a654947fcf1ccc486ccec18629e611b069fd8bec74ad2ec4f64aab2cdc6a64ce566c8526f28aa9c69a5991ae4427f2d829a764661bae39fc48f61a2327fd6f17bd6b4dc4eb598a499c1b81dbcde400ea0779d310b6bc77f745ef60201cfe0440a6f0231418ae4b1c085109300e4bc6a283cb3c61469efda716fee566d06282cab47390868e32d205a4bbb54d8c328b06a4ddbe52845d9760fa4d692ad30e0316bc1cab1557bea8027b2ef8afad5595f7d4b4dee3d791e66ea222c2ed841852f64dd75b19d8260d1bf2ce41bd52fb9467dc07a914078f2353a1ad9a4e3342d6e7912a41b210f9f2647a085e17524319e8d2de8cb699e24cbad922a7e93c8370494edb462dbedbac5d052cec6e9283576226ed6999c5f04bb708f4ba77419c514fb72b989fcdf03a1c5a78ec3938c71a8560775e05bf2702f4e297266767173a7ca5c53967aad2ef4b4d8ae42998bf7f0c340597bdfa77ce6e8442b97dfc4ef569d8766437130c2ea8b179c40b310db7ebe32ccdede2df6a3b88381cb2733adf0f5c664fb734bb54e52ebb669b3fe6f30701d4b619c6a1d7bdf5c10dcc24d80ea960d2c868121681c888301904c0353a1d39d8decb411867689bf30374d11ce580987eb77ec2d87c1f96b86d4ddfc62cbd16d26bd4f570199834fc1b9b6c0a93097b9de81e5f39ff55d6645dcd23c73ff6c1f46e33aab87efc301be25e0c8f81a9adca6611938cf430314d92d46f45cd6d8757c7ba87f7f7ba4c1b706ef1f80bb85ce3afd87ef71e884eabfda3961cb7c31e745b396ce3bd17a7b7726ea3d97fdc9af527a3e4c715e533f38ba5c9179d311b08f076818f460ee414b7845a2f0a05f6582ef51d09e7ba8186c8959b429857c31da35bd7d92c6aafd63fad8dbf735c6a2449ec2bac8b34918c49fac9553de788557b90248b4eca15ddb93465923c49b746def829733d137c7f71c5ff21ec6ddce8093dd904e5cc9c42a3cb7cc83cac5bbbaa5a3366d5b83434eab3091331607a8739651088c680581c19822170edd2ed2dfdde0855b02566f7b737d0127856d89fd4e96493a0a5ed0a2de90aa0c54c99ecee2c74ffbfea4d41157ba3b0c713508a3e67c124f5811d9f7604fe0d70fffc2707d9453f4bcc5c3bfffa3095799628dd5e85d016db78ef1ad6608c76b9e2e826f90a1425f2b41a13b929f3be29356491d6f973de018dace7bc2a7bf3ed3250ab925361210cab3216b0a7912ca84f960fcadb17c2f9dde750b70eff014a5119cb1b03c6644e8706ec22919bdbe63683ffe54c32073a46d82c25e76397b811c9e71e57b6537d2fce3d0b5e056bad708a958c1954e1396a15dfe56725bbe09d82df0015befbe5cffd0816b5e8384b954a63abf89949cad216aea8d0c1ec41a10ea82ad15d9818baef24b396b31424315c6364a81a5b1324fb9fc6dd016348f03e791cb6821eea8008c3ff6189a94f71294033ce1ceccb676c5fcdde3bd086c4c49ed5f9295ec03b19fcd92220d1682d10ece4fd1dc77b835af1db9013492befed5e9e4cc16aa5ffb17b57eba057e108d74cb163c97220ee008906c7000c28480934940196d5134e0882e41100986a205d82c510d975894c530e1c570fa6b53d93ad24750b6324e619007439976d8e926fa3b6a6a90fc61ecf7ba7ce7bf015a801ee513c42e58788004923e2c83019834620324002579ebef69a3955a99da3aab2d03bde9780e47734e82f33818f108fc926774153443fc2efccc4ed2e43940518748aff298d853de62d47f668059d2ac3d396f2e8b8de6397b77564a8f6f83ad37ce01358f1fee2301d97acd91eb9eaec190c64bec4fc22aea7751c9359e69d0a52f1a9a8c6ba66412ddae79c40958adb9e00f859e0857b668afbd738bf125a787f69a6b08c3acb34d77e0facd27ea5c43bd8b1b51718cf6f2135c8237714339c1076bc6916729a536113400ca1f146bceee7d833b7f25f9e5c546bd9aeb0d16de72f67fa881171cb2e4b52a96cf79e7a40f80721a0ff124e7915d6f787f0c84a2541f41a1218bdf1714148fc2a30f347773b73a53841f74aa6b619722962ce63c816a668c82c41e7b9ff354819b65c1670ba5a367e0da013111ca601b2bcf71a5130e89f60412c7cc1514551043c950c831104230280eba3634005364623e24ed2dde16f42abb1d329aa2c1a7cce37dc8cedf17e1da2b14d06a7cffc8e536139906a57bb5760e87211fb31926cedef94000dddc0f03acfbd23780c9077dde592abb0b67941661133f0e98925e29aba53f2d7000a67f6183c28336b6cde26aca0f58e1cb4b0ddcd304c203e531864a28fe9173d9073e9f0d24b78d04dd884127d21864fbd7a47cc078f72aa328dcfccfaaf04f5a2095f138720ba2c8ff165b5f0487af489e4146fdf22362b0ee68af4ab6414232490e9729955c0de0cddfed85d89f1b57f28af64244e97640bd2c49bcc02e181b72ccbb339105eba849828ce1fef8cdb95724d71cd0d966a256ed9f767410dd6782a39724c1b081e60410cd9e2f19792e82f0baa3656523e3fcdf6681453e7f801d42c83a60173048fd11f500ff1c873d2e43433fc806bfa1398919f85a8507849f71ffefec9f59c4daf626e6df70efbceb25c5a28aeefaa74e88e1fda979c37b2e04d51569e2781324dd5d328a168fdb3ac05360c0a95bb0cc1d5b26ce53bacfcc2f58d73c97c27bb7b032531f19cfe3bcb0ede29efbe05c4c5884456433eed0d13d205508c4df7eb3548fefd8d50c41df11718dcffcb682cfc020e5c0b7a4ad8e2928b28920adf9d8e6c14aabd0a2b37b15deec7178fb94e734589dde62d9aee7aa743fa60c874147af260b051fd896cf524a79085f7c4cb835318ddb445389f05fcf68b171456d67f619b3bc6670be2e4045a9b0a3f2383513fa31a85e71a5d87c1d399d0943383ce813952bdca2510b7c70af6f2cdb385ada6803b925ddb16fc680ef5b4c471d2ea26f1f0df44c4fb080340f7c16179cd0586a45128a2100482682c150b818b9ed1b216dc235398e29f5b999f79b527add4abe82316a420edfdf17f81771202dbaef109c3588274a7457ca319c05a9529efc531a06d6b7b81baf6bcb4eaa676fc630dc71024d13c3f886aaa45554608ee42be821f87d9105ac040dfca86ec6d7f9741e633a492a88eacdc3fc33f5aef6086a1606f5f588f20e5946448244ec1d7d3e2a09bacfa3b87ca32f26e5e55f8c6f3a00096c70e2fedc1fd87f310d0bf1a9cc0c57d93c7586f2ab5fe8c6db43589d402c10c8c28c55e77ee73cef7c11f2c684bc85fe816eacbe621cfdae79e1bd016a1d127c97071f1a7873d4c2e57ccd663c651dc2a12907b9e720268f65774b9efef3081fbf9c0cef469d0b5f8b01e5242cd95688c4db2c7aa1bfc2b7139354e671e0fab282cf4a4c4e95f00a8396d4c04aee95393a60ca292cd2000858a4621c1f5257541da7a5f53f8c8721093d4cfda486192ec6e1e457efdd0a981a81fd1dc3ec2461a314433a31fe3ab797053e5d58a625a0f8c24d13cda02ceb4b422291daaf7b624725dbbf9faa923aad07295169cb4e3a95cb936ac64145dec5f7a67e96bf920758cfb5bf0eef344889b515f1b9175f023ccb75e62c137a8db846b42818736c3e2af0fe8467ddaacd94f5c33b27e3060ef52d179238f219758252c3f1694d2cb20a3f8acc4c7dda142c548eb80bd303c27f5597235abecc5677fe94abea49962102f00277dd04de13cbe6571fb52a8e4b6a264ad855d6e6de62ceba1715242a5ecea45f74564ca0c801a73536a2e2166aa4078896c0f2e2a23736f4ce1dd56e6ef2b1fc3bf4626b277fd740ccf0bbaf07c550a9465f5a97e91d4076103188ed8068f215d223801eab51e9377c760b808072468c6a74e026b4a2e36f4035d13e0d4d76a5fb806ffc372b8676bee7ef4295cdb281202ca27d585c2df148edf04fcea0eef89e1639e8076a45fedab2791f8c702d51a9630d9f8ee0a7c3f8154078e01e7cb10da44e02fd256264bb2a677da69e21d3e55a2dd7a0560d697bb092e6d5b2e21af7813eb28dbd9a37cbe15788f83e244b75c44de36c49799139e1ce19264cf4b16031dcd9233834ff236737eb1761e55f6b3a857498d85430680ef793779062fb3d0b64821a95957b93723716fe93599a3937ea2d5f2908ccf371281b58bd9fdbedb449bc01ecfa855bcd43b34860c9c8c48a315a03fc7e2c255eef32e886a5830bed3d353746084acd9871e6de54ff20383e144ffe234816ddfffa200a8396b9dc8b3d715b1c403e8cac9c64a23c8bc2744df6b4039c261102e342c08a140180351894831004341c0e576a835b97277eb3b7677d7a38a5c63340a97c35da0ce9743bcc243d1ed34f42dda5dab4fcf79afbb8a12e5b10f510f896a2c5ea136bbeef18c65d1eba0962d9c7f8c32da398459db729c224dd69b146b156ebcb0de79415cbbdcf1b857be96f1d90952986041b2193ff898dea6bd4a428af192bf6dde375968644ba27973c1e54c060ebafd36024af7586c29d30cc9215cf5a660a8914a6dcc90f2905e37403d7466ceed4147b272857f1dd575bfcc0f82a39874fc96befacd3d7788e88a9f35258de5968a6e3a6ffef9597f2d5fdc0e328e11e1e88e3ff943147551fe5e50f762f6595d7e1b6b0856e004d7b51760b5f5a9bfae26ad403ccb3e0bdc70fa480dbe2dd1dddb489b6ca7255be84430f971f7b89eeeeccfa71840c36d7000dd4e4cc641b0c0a9f5930681681c44c460102a1a062ef71f4429d0b899b30e9936da7217725acfc3ae6942f216889c331724057e9fd1516a0a124af01e33c289e4efa011ed90d245d4d7803cc71c7dd386262b4150997197c1e83be5e2a4c52ecc8da2369122c4da8283513a7e93dfc66aea3b711f82fe121347521c6fa39fe8fe72c625207de6f9e51ed728db0f500cb89b04d6f95754e444b78bfa4803ed692094120b954aa8db041724b80f43802913ce1006029524465281e1b7a51ac5d09c4c98f3aee4ca006b91366e07ce7e89b9fd33de2fc807e44223d1ad57c4e4a2ce8ff434f05b4b6dd5d225f714660bc487827fc2e05211ce5279210f838e14fc838337193385f124da7f1cd9f386d0563f524112d42fa39e7d538320d991c12b02de4e701e76b373929055bba8ee96787800baf3479986ace5bdbbc57288073713e8c0cf21924589283c868423c61b4685027824b8ca5b58185c794bb263a0e380b79ce64d079d75aa3af53492695533cfa70c68673db1b4a6fd6b0b7676a1d5666917702e2412eac71d45bdf708d2fe963d435414f8c7ee75e9b7bc42f146fc42f43a56814cb639dc2f4a1d67df1fd85bb26f0539b2bc5245d23a1e67c398b321eff8d98dd8d367ff19b6cfbaf37b314586cf1f7193dc0d07dd92aa6a7a0061faaa01122674942af87d5cbf26e025f46b279514446e4b96e31fba9047dd4ea7f2be6568dd57b86c707a35ef09c34938e6b26b7df742ca4695c3e097750a3fe63406d30e53883db8feb2c5b3b45244b3dfa01736c649ebe0b81fe3d0cfe7752db2d3bc6b6a741fa7b00d854503a642e241d44b188e57848fac20f90467ca2ee8abf8c3b9a2e5f0e47c84fce343113a2e53b301a0c60f6c761803e084bdf0f34d4e194424616058128e8488802bcac308ea857981b845d9c655fd693bb68e728db49742c5da428e087efedbe34fbd1b8bbaf9f6a6da06669a77499e55a14aacfa4f6c30476f70909b0424016ae12e7361563b29b964ec37174a9e779d7fcfdb42eb71450997f291f110dd8b4d3cf8843f96392d722fdb440d2bb4fd48eb94a21c2be79d02d63315d6d44e935451eb5e6de9f616b54fa3c1f84d13b98f16d56db28b8cc0ea5203424a3fc6fdddce83b51cd0c5e16652a96249c7b9822016ef4fa89ea95c5ce23c117fc553b0d15af32d7dca1ddd605e620f316798a84d0b0f023b9ec4a21a8eb07c8b5ddf3516d084b99bf0cd22c8b93dbd708fbbf4755dc63bce6b6cc6d15f14bf37523b99a40da2946dbabd8c92bd639b8f81b923dae2283953c8d2431a1288fe8d09a0728edf7200029637b4e72265582c052051c0088c50c0a55269fb65641a411cc71a3bc21c8246f2d3b89a003a772986e0c2fcd93a152d2004eeadbdaeaa8ad5fd578e56bd25e07c3e87d31aec0130b0d46c3cd96d88f22677592e6f9f365f1ad4ccef0e1aa2a29d6aaebc11a21e651ecf7d720276991c4b3c954d983099cca04bc8de09e4810ee3042a0a0d133c4536112478f872347029cf46b7bbd1d7bc43b1e059633f794d2f645eb429a1f1950d00878a31a604417fa50a46b95312dbce109a6f151352a5388f3319134252f4ecaa6158ee149714095ba528f00aa238a7cc7da2efb1ab3438a621f824439b116f05cf524b716c751441863f87b871bb03dda2a80fcc304ae94d4fddd949ac2d033c5c1f2642df329b207f09083ee6f9ed5783bce7cd76b9fe7062629d1483ef5dc658f16f157c74fd8a2276f0bf9ca39fcf02f9b8496e7feddbab002877fd2f98ded5742f00bfce4ef274e23686140d08df3e19988c665c02de7fde0df264d418fa4fe92c8ff5b6d5b7176fade574f2c84e5e67cbfb979ac57cc3819b035d6bc42560ec91bcb7c3ac76c065850b751b65717146d79566f90e377bc5732b88547dd237fe58c9669ca430400e786644be974f8240bc40db37550844b7fb21403803f6a8072d6738c0a56bf097fb87d65a509a092e3a84daeac2887510396c365352f27fb432d416bf78a1c04cd209c1478bcf939779d7e41837c0f2db9b8847589a5379ac42d5c9ee27633dabec845a45ea038b510b2f71006f84a5395ab1bbc3843fc74ae55db13da0880fc9b7d7ed017f1e6c225fe36fd4dc803cf8257e5a0e92dfb030c2aa84cc2f61eae50999af082a07f7f1e3e1e9631cecab55c812d89ca6f34b919cccda950551e5bc4b49caf1b67a437ba6a49b1cda51974344eae1aa3dd13dcd4941732d9d2bd19e7d3fbcec4deccd4561834ab156d8bff665c71f332227e8b272ac509a045c0c3cc84c6957c20054a307d69ae7f96664cdc2cff7ed98020058d0bf0172c710b8fcdd10510b6e9bc6c36f92510eb87442ea54c5feab0ec7c0b0831f3073e8f626f64b32360a789c18f2d69779d5ddafcf6feb933c2204edd36fc70d768fb4728dd47b8c20c59d48420a440ddfb813eaa6fef39f7727c5f78f00acdd8fb660e2ff004023be27194df4e88653eeabc5f6f90e17d1dc640f577341e6a74c7fd6594968ecdc4c7127ddd6062fbad6efe017cf36b36c7bbfad41a0aba287421b06e9467782cc49f58f3f84f0de3165b35454a51a711a817c6e41d8bb0697c944968067a7e550270acf5fe88652c55d897a0d4a73049189c7c0e4465b4a10c19f93ff5a8d90f9ed12d0d1f562fb700f4139bbcafa1e24f7dcfe0ca3a3186a07be94f814137bd80d74df03d697ec291b8aef78c4efeaeb74a9df1ff75f8fcf07caa501a8b3ed9a44c600b80a4f78a48c6886320783381c16c4800b111d141f7407ed3b32270757b0b0ca92ec01fdfcb33d7c4c8b6eadda0e566797993f7cd3d6d9d91da49bfee23b6e2ef8598c396d16fb4d311adcd7f0cf0112207799f772b744d9a05412026457dca0374ec65eb62b9b367f384611aa7a0bc63df321755ca1d63f47a4e00c29ff5545d23089ba0470bccca427c92855cc822118408e6e0420aa20da1ac6821ea85751df49e61e7a9cfee73006cefeb0d68e6724781c55d847d8daa3adb45f7e9c3372b9cd37a0f6d18f20d3045577c232b4cdf1fa70d1a39bc3ee2492e3eb60e1eab751112a4fd237ade5e2bfd0b76fd880c33a0fda65eb73ca4fe28bfc8b6b26f780633f70111dcd9bc881c1802d516faa130a29d3c78b14643bd6a889f2c7b3e3fca60fcb483715c6b4f7953603782a144b6e7864cd11ec24968c81f144044e899981c187a3de7315e175e1d46935bd20fcb299fd015865d8759de0bd3dde3eedacddef7ea97bc7f4412a168c5ce094513a2d1f17de3c510e26e715c5601225baec7a15b53e708f2524aab99e58c94949168a7bd76d4f0d85abd3199c65193fbec8f435f9193145f2f0ead45b8c5c61edfe2398bd19aeb5e66ba9c995aa802d3f3781da24fd810c1bbf70ec5b334e02424243b4315e2351ea1b11724c3ff30cf7d670e3667882eb6228105921549e9dd86e5da0ac057c1f506cefb02bf8e52d41e2f9eccbdc6b36b70f62a39bc7271aaf0e1b8db28bc18762719c7cc74bb9c7809ed8ad2215d34169e0c40235114b84a350fd46883ec30f3142d84af85e32fc34172403340a84097dbcc0be12d9654dea0cb46ccb0fa130251b43240c42de2d77ea003a484acd6e63009c00153cb57eeab0683c0810a814340c06d7d8a1d22a9f9dc8b917a9a96ff7e03b9f4e1095134cfaadba676ca1ed81e4c5b64b33e9b5d91f23c74fda9c3f10ffe532441dac97bc8e45e115add3ce568b766cb8cb766a3355303d6b2d143934af5c92273ec7288c937dd32092dc7af9386da9c630baecd92c201e643399afc7785b0da11d7755fab61773a002549dfe5f83afa61f7974ebfc009ecad070f59c52d510d5ab92e416fb8f6ab97bd8ea13b6f9a131898add26de6ebc2e5fde48fde7594b957caadf0a66347def392552711fa4f0b55b65e40cad1d667567b5b1567cd0b189b4c83b97297e6e2ece5e512d3a1d0fc635cf446e3c5edbd4b42347b93d41045b795fbf138d5ac38ff9493f8ffa4350e66f4afdf37302b5c217c6af89e3e66bb727b28b3e23d645183fb7ca625bb38f1aae484df6c2ef402c17b0f544b0f932a992fc712ea67693a1f0b9b29dcefa9446ee3f6bcfabd47ef9e80015f6fd06fbe6a9f903c88984cb2cfc7676935baf41888980a56010008b69a48bb09000b26a40d40792d7daaf5d4c3d72bdf945ae3dabfb7e33010268d4c98500504b7ffacbb8385fc7972ba306bf60da7da7d39aaf5e79711b738d0acd96120a527084a0c81a13670c258c27a071c135c2cef195d645397d03648e59a1a62a8b10d3bacefba2f1a70bbd87a3d5cb3f3ac8ff8802b6c204ef5ef28287f80b062246c151ecd1306861c96e7fcd88d8ca02fdb36eeef85634fdc8132615e90ba7666426361fabed37a260ce0e3001e867d01666a500b8b9a52ccd8b9b63f962dff6275c88318b3381e2cd111e712fd4bd3ea5c8d8e2ff0b886e71f01675f42b80ff395d12b8d90a9f59c7937a75437a8232695ee72d2cf0a3e6a6c4e8283279b4cfebaf5e94c3e9d95e94a2654251fa9b587cae419be98ae066d12d93d18cc5868b81c24556b8068994d666b8d9003269730ec46d7f1cbe3780b1c41543ad05de237e93a8812b5d3d94a3f620337c536c8f3aee58f80fb479a211816c7fa8e962b9d4f43f5d9ac5cc25d07de78443a47900f56fea5aa3c8a1cb7bca1b763b8689143358fcf62064fc840ba7da68de9ffd9251b4d4edd368bea39c2151cfb57c24a3476018b873b375aff8339ec7067078c4ab8bf3894dca53af21785d4fdd236f30df435b7d2965e8c1127759dde7142e1cdc694c6b5093142ae8038bcb3ee973623429ac0be0416944e06b702b5846906a5115d292d3f9229ceb1c226e4c5e6b199886f80362133666be213de9661029e7f6856ce4330e8417fe6f68ac3e122b8b31c01d84d3c0a55755af24dac1ad6bfddbeda2998d3925773b0008e03e20bf8d82e1ef6a3c695bf980c36e781e743b7a6f08c7b23da30e2e7bda6375c3d55dbc38d992c3e9f60aac41c5aba1af761ddfe50df1267561ffa6f81fb49166cfe5cd395739e3a24add8be35356e6d27764b25da78b7ee664da9731f56a2405f95fd7139575d300a8466aae35c025736ef8056e247e8c430000aabf4508206ebbc3656bc26ff8010253868071a7b39fd9b85636ec937a91bdfca00bb4b26e909516695c6865e38e740ec1288a2ac650d4ef76268ecd96c45539cdf2759d713f6a11ce5d16c27b9eb010f61c50678ae2e5380a8b0606417e6adb145b882677e626d7ff9085fd14c1fab0e26750353fea0bc48c820cae4369ea6688f9f9439a0c5a3c4e3fdfc92f16672ab51736b9593bd8ed62f301e07d5a7b07872fd204d80f611c6e37f8aa80d8324f7a16f4c9da463faf708a5e471c439e78ffb5a8edd31b571b93e328c742d8e8869193a4c342a7e714284bdd57ed26c71a830f2266b649fdc558e1cd0bae799793bf659c4d7b7c208bb2288703aa225c9baa99e360f2ec7007073632f4460fd5992750dd18a4ef813f415d5168c13ec6bda126447f760e181908c1e53da5034de83386814022480dae0ec7f6d05194ca1b365fddf373e2e6203e8f21a49d874be212b621705186bd56ec0f38c85dafdc930da6c078ed68bba11c94914e8b72f38179689ce0b846976ebdc7fcdad91b03764e8810f40b92153fa1e15dbec9541ed6a478da3119e83d58fe50667e015e7e50f4a15111cee12fa1c97afa1145396ef1c27cde62de7298bafdd69c29def2d2ede7326f3cb11bf70f683a9b27478f18670353e744a0776494173623e00c5bc3a1890f9fd158f717483be5522f5a791ef58e943c18872cd466183e9cb48d465100d16d7483a6f7b348e6d01e274bdd8bbab65b2fa35ea75db7e4539b5d6f6f37733291cfd6bb836be4fb9905d9ca6ddea262a7835e42aa93ec26a31047a72bfffaf72bd945433d1d79fbefd01e47530797309572f2d99b5a003af6f4691a4646f8f9c6a40c8bc024900c405434115c2763a291f4e22f910d7c7057432c75647d042a4dd5024ba5079986faf5a80a09d5952c9b4b08b987e48a9bc0a74eb45dd85c26a7aa7c23172f78e7aaf63a3158f9c7b81e3f16f04844f6c444fefc9e4fbe832b5769b806dec94d1d6a84c2ff86d91a18eaa5b37b7a0b563c62cab8ddba95949a16a50e33e5968c1805e39f3d3e94a4e344b7ff2a1cfa92a2736cf193eec35ea3c8599b19450b431fd4672a11f351fef8933fb8e18beebba65580bd9e97327009a9b6f69bd1f4dac1f327600d0ea44c853e5ae080d3a4e517f93804726a01f0d3ce530c032ed8cab06626687b6b4ac4fce1da3fe1174c17ef44cb8cde030c38794ad453ef332ac14a8ca359c867f0b6e38c597d2aeeaddb59e50257b6041b7eaa83cb50a294e725fb73738b29e737ce4298fef995ef9ebf90676dd53c85e7abbe3df6d49b40165ab65e968176ecf834dab076723fb3cee4326e88e015b4c6041bc70cfeb1f1104d5438168810fc3a2bbdbd66bf915db1bd27beeff1642e44378bb4c30e8c62a74dae86742f99261aa3be375a3cfc24ba37eb6959157d87c63c243b0f7a0b27ba6decd278253d6cdb1c0d5414e559bfc323c4b09967770806ed3dde54ad8710f308f2e45df1e9e68ee0be7b859e0034f02a1414533b33b66bf8cc9ff1bfe08995e397f399c444228a8e9ff79b2fe25b7b21e14e38bd85a9dfca0032dad25947ecf2dd840013bacebc978d4e6037162514de856f643526af8a896eae68c0b341dd570ae190ed0cccee9f42c0c0e9c6847ba8c7d8dd1bc1c3e34fa353b8ca42a0efa89c72b42065100c9230643400436870a1bd65adecb96788fe019d45991fe574b8ee2836828a76de648331faab49dbc86d6e973277fbf8ba1f544891fa0bdd1a6eb29704611295a97da2dc003330c7a32b7799ffa0734e23408d5b42d0e7819f20015af06f871a319aab2b75c89ee2ffc6c3720d2f1fc4368decb9b12b518d7e0f7adae375225aed1e53ae21c13646b5276d8de8f66c6119e75a7839fff8b7c73276c9b9d18878dccdf12b4835aee35b47e216041969cf62ab821ab7207a3697c2c6e3f75ae8ac1b720294866e090c45c31f628bf2a09bf03b8cc5c168177cb6f667a11dbb9b0fbe6ba4ac1b7310e0e5e48d5ca31265bf164a84beb783ce43d76a20a02e32227ff6519ca545929e7ad9f6a280344fae4bf63d7574d02430aedf03219d24db5287d12e86088346b7af30ec4393d3d6073f24636f793a6358108fa6e282cb84fe22bfaa0033898ad5923d05c21ee39ef7f8165a74c90dad3af85db737e3090f0527f8977a5e3c7c3609445b58d3122e58cac499998fb35a5e1631fd9ca0ce5d66c6d469459c3b36b808369057d3b94eb8e3add7bb1e02714909f5541f7f9023e76713e38c15644be899453b08e7521c4253c27c3dd4c6165d52397f41eea33c35e9f67531cd703dd4d45d9083ef49cb43b1ebb93dee21b75c6b04b60da7b299978e39f9448c7ead456ecd548e6379d5cdafd43a359e8b52ac1bd673c033ab87188169e5f1c1db125b0ebe751978712e4a0a964f13e56ffdf3502ce67c5140aadbba2e6b2f21b2d8d964c5b7485c46794c13875379e459e4f1dfef45696f56d8714d0a4b2bcead33330d48cbab36b8daf0f84613e167739521f6941f9abe1a9437c8d3da192774034793491346d70b29879f361d86fab09784fb77a6a9a70987532a2c0d1bc99ce33f32d4ed6742fbf8c746ddf611d4a6e6755ca4210a26cdb3cc17fe58ed5b3b2ced28ed88aa2957fc1ba69ab41f998e983a8fa6adfe4f9edc61377edec23b40ce6ae677e17bf6721a43c2d1cd65f3e0db8821d5ef2aa52d825572682451232378033f54e02bc139341b157b94debdb9aa5671a4a7666eb6b8f0c5d7d18cba0e51b38d5e30038d6b407b28b03d7ea96cde8013a7ccbaab5c785ec7fdfb326b9faca536ad710079736965560cd82158f5a66109d712cb18fe1d16fcbe5aed190674ad040d08da12fac60f6b3cf8e0c626bbcaa989ceb04fd957c6605de72701ff48ea21371140fd91ad59650f801dc04999f34d18f510427401e2287814826020180a224c41d6077001b6a263fc65318a4464da03560b8a5cf70c296b050cd790be71e7ada857518e4abaa2489c1489567dbd49a57782071d997295ee66b89e05ebf8e4268d0f2586f41e974d0596ea8496de6e6c50722f1e354b9fcbddc2882bcc2404ff1de9d60f8ae8c91cb01ec0074d2e52ec709ebb8706afeb4e61d6a3c662ac4832a7367ad82cda14775f3efb74bd9f78f405895dcd4ae4f18f71fcac2faddc95e26f27c6859a1278724434dde11402d23b99316d0fcd317a64e688b7956db03778b3b035cc36aec775015e0c78efe91763032ce44830e2cb2668f55d8698aec1cb93971cfd70e2f69e2b658d4ab97e196371da3b0204385ff84591bf0367a41aa42f3629a1e98c287ded3e63d7bd21ed243c628a344f5e5d4329d0a9d84673fa75f541c814023ac7c38d43dfdc19640aaea6028af4dba19e2e8f6eb4301b99de6503645c6b52b10fae5bcae13c2d4bf4cbc32050a1d9afd36c96404afd721684bf55509b886543ce90d298640a2f1d875ee5661600201bdfd80a5711eb0f4a108b3c02000a42030dc9006051d00668185701a20f479e26b2ab97df80c7501fdaac173d5a94a39f51449412a301745ebd35792d02b001bd43c422f85b08143c8a484589a50c8d21e22930198d2552c1858b7e810778f1a439481ef638bc6c3429bcdca5dfbb9398bf0cbc9724879111a4fe4092f79dba536f886359171de16fac3969a2a21b269af61da502bfb4e02cc33fa6cca8e1cd73527284514c37a0b08f0e3afc39f7565e30d7e33f7ac8f38ba043eb74ac6fc390246bb5fa4a65446122f44608ecc20c2e748a79ffb9ce7183abd8c5c6afb14d23d6ba20cd976dd9f44f7fef4ed691fc1f55e59cbcccb1d13dcfe1953a1111ca3d0de1ea0cc5d27985f6c5aa63cd99cdf572ef3f09439135760afe280e1a61747b6721dc0fb9efcc32bd1f59715a234697bbe0c827de78df9b952cd332d59dca69306c2a6637a51fb612e57f23fc6a635f65ae7cfbba6550f69ee2e9cff3429a826c1e06618311b851de7b30a14bc6568fb855684a791ad5df92ad06bc2ae117b5fe6604b178084b22c271c11521372949312dead90fd175da3d4e1260c8d755d3bfd6dc70b25bee636bd89db08a3f32adf148cb7cfe667af558e4044cd375d9d72da8bfcd7dac50673ff6a4257f0f3da0feb99ac28629de927366d402633619b46cfe0fbc8713fa4c34476a1fbdd3e0cf7100bbfd35467261e1e93426780448718be7d42902ce627cf26369e3c605472bed1260216cdc0d02206dfe318c30e157de98cd9131d38647173771d86a5de7ecc85aa99e9ec2bfe084ed5fc309b8068f4278d9556cdb3ecda45c0d33f91596b263d69f11adeb4b9419bf72f8b9dcfab4b6c089afd166e6467ca3d9e06b32790f90351d685f67f3b00c9bd8f79fa0f5e3f21839705a91e82caae2a3c47af8ef03ce90458d709933f9867cb1935dd820a373c3fc7a968ff216dde84658cf8253f7046018e7185c6d970ef6f18776f85286c16131781c1a8f27c3e00a8bd57c199ca8a814c5627e60695757a4e8183c4fd0afad5b6a6c78ddba04c00255384057d607698d496950d9adedc5c745d0d2db84ea29a3a3d35333b3aebaf4def6af34df5304ce51e44af5ebac473200e3ddf69e74c864afb3fd9008b8fce80686ec670596198e92870829c9991c3b7280a636785b7ee8db355797cfaed9b49a35e22f2fdd64c76ea41cc748fcb978c5f4c0c2515447f6e17726149a4deed107e4b3b40b548a2881987f9d4988d85a648ab2dc6a4abed9fd40479e20f0a2435ae19efdbdbae2b9cc1f7c9b99dbbb0b20b47ea3da57bf6b2908226afc268d002e6d5c371bc74d0b62a727e47ecd023214b18125f9e9903c7768c646d5736d9323b9d9bd7b6bfeed8351330e40290dae6eab45ec37d432ac70fc718a12d7cb02470070fc96d16c97a325672a99687c49d72ad21dfb233f577a8a7cca53711cc6f470a08c3cbbb60060542bf1fb4633ce5dd6f33d37766faeeb425e7969db36db5bd62f3fbeb7c1588df07656b5f0a263af414add5fd229fb186313c2119a164eb208a4dbcfb4c4e23334add9b30e2cec481bdd7cde891b798424388616f1526b9b7a5d7107103bfb908f2507a5ccf478e6e0d000e279be875ac040f9a28ab2316d39a65698c039fdbf7394150a4dfa68385a904437e4a527b211c9233455b3f87824702741bd23d01cd7b1ee647b6466cb4ab10b7c5727dc6eefdbec63c2d125ea22822a3d8c06338e2712b18bdbeb3ad2239e111c648327756fc040efd6bdd545a461b31bb5f665239400aa6d852d0700d2bdf5ec0ddc8074041130dc0ae2f1682a1644a3e305973863a3f17952c92b69d0a4a745c55a3ce4f97d90b827c9aa081244c3253f87f35900baf314150f870ce6cc29cf4b4efe79228f6a19fa496a1671d56f17c977e0de49ec0a4d2a253636889a659d9437e0986eb7a685cb95716ace20ab40c7186e6da48b08f96af5f87fcbb252bfe6e6987dc3fd58d7d61420444421e005c8f40762178e6e2f9994de2516c9cd56cc16abf62b7ad005ded5855075f7b5dfba39062d8553035bda6b73ebe7a14f7d8a29e1b35ec67463f864e8671f09d28fb54bbf392a0380e8c6dc0030dcface0ac24f38a97c5f415fdc5d56fc2a5283ed19a4f5dbb981ae21559549ba0e31a3120a0f1ba7cf3e3fb4b251bb163af1f780d93e3cde243955db996c93f971516d32524cff508fcf167743e3e38ae1be00ded713bcd4d08306d8b766683c1105e371080aa020e6601c40c4e3a9247085d71b875180ab411e3110325bf7cc2be9261c67f5011adcc625156df88dd7be169591507ce2e4bbcb57be20fa082ec98351eb21a634b2f60b985705a7321e08e51f1b8250063f0f569b18a9849a71ee0a6285a9a85b3b5d0de29ea086f08002d5157b6daf52a8fa37d910faecb1a51ae87dcca060fcdf3db3ebc02ca6f4bd29e11d0e07dd4a04c2212b561373520c4fe6eeef5bd607da74aef315bcfd95057d2bdc66c5b258596f8e2514688e6905b7eb03007a1f7dc4488a77eb8628fdb157696513dc39a31b1685e18248e2edb1c169f0477625c6ffc6fbffc609dbeec8378229626f76979f9cc4c6c9aadfe423d80fad7cf73e38bcd249b116eec25a53f96f80e6382a8e54a275c42210657d187294b44786ef9bc25308a6ff4e3c04f8764c8c43b97b67359e808700854304d8270d20e3211c0e8f430330105c95e7ebe7ad19fa58e46a0709ba02518bc371b2e95375454e0e729a898e27b793d156674cc7dc765ed12db6cb8be8d098abfcd9876f906948bb36323d6e62f612ffd88bf6a723bb52687f02f15deb516f9cd3fd938d564cfe15b2017d934bbcb3413052ff0ae4bb60f7e23b2aed4d9352ae0a2b31faae4cc154bebe79d4d3044b0c07e1c92fb6d68421cbcc2d0dade47da05a38d5f8ab4d47a2dad0bdc52848cfe8743f026da74bdbff113793d0463782494ec44f91413d42e060ace0a01072443d517fc4c4c2e8f6ac746f63ba6eca40148a8d3a39b1b556a55cc96646f948a9956bfa81e7a01369cf46a77abf2a46d09b6de72bf6ec25079ce148d4218612554efd51403501a815d933d134704b0c181a21553f6b3723e51515c207c1002ab4db56035ec6f550c3d7933a868864116c7dddd0783436b87e0acdab5034460d4f8b575edc2c59b91367eb8b790001aa7ab6b46bec7faa795960068c2a81f9d64df90e4cfdb1284ec33ad50d5f00f7683c556fff3d9eb83abdc747e865b19e09cea6fb401e0fca64031a7ddb167c3637842c23d292cd669e4f323d2188871982c324c88e7d8c56e59dccbe753e079bd299a8e85ba77ca90b284d9829cee4170993b85112f2b1ff45dac857d428fd11023bddf54d9e5b1d86b8f51a60b60782c9990414f03e4928f0efb605b144cbcb611af692667e45cf913a416671edbd001cf0121ec24ce15b6f240489493916487dc0dd9be4a795df11abf1786124df63141851debd7965ac051d8de35f2632ad1f3a0eb844106dd68d537c4f65e3933e6d15b801fdcfe164a56a01ab7ff119a9c9b4bb293e049ae3d323608c7ba2c1c95c9a9c2f6a0ecd0a886d33227a4210835eefa8bef5d38d945c6841a7a4d88dd8a3b9de309d05beb62090b314fc499ae50ed8433673cc5b6ff48e21d9132cdbfa88017b5e37b1351995c6a14866afec4a00540b27bb01a851003694a7be8e93340c4c004034852a840730e052df19368d848aca1e5e567a0dd42a1f5ed1b8599da42379d706f63f0da5301886bf91a8f43d3ad8013d586bb5ee7cd3907d6bd9257345aff9e7479fd4d6b9de9bbb2c3396d4633f826e0a4bfcdb239fe13dee7feaa438662c1bf9987aaf65cfd16944cc77fc5cbb1450454aa1c6a8ddb63962c802126c6f2ba6c3682f4f71ff1fcb25d1cd67d30faaab7ba72ced14a0fc7aa9e7f98205f49133942e6351200b74b3206e8cf076fc70bcc4327533592339a16a92788e569d14bf083331b773241f14d6b4896e9fccbcf900e244416434526f84f24f4ee454f2994715cad777c793b46a002793e1556245fb0f5c61a93cbe00aa0f075f6e93d4cb32ff1dc6ed77f95b1b1793a549f6c5418d4150f75f1699499138da28ce7880d4cb34809a25708314b62b0b62ecc3d96f9bf2ee49899337610ea9e423180b734c01c800fa3e4be0d667c035e06f5abdba9bf1d58724cafc4529b1269e1578afdbebd5c9f86a654da166bf7df6acc3c9345c9938946606eb2b8d25ea63e29834faca37ba8ec70d40d1a2faeabd3db0ef109b7e6b64cee7d69e2770c8f5db16c8547f0c634bf58477ba50d74aa8d1d8d6d41eb5f54960ddb86e0bcd1c7e51fa22f41f89e186da20a99f58ce2f37137fc3836e0c823ca6069c461a45966a6867ed2ce6547e3f71515ec7764ba146d4f97db34e41fb6f1530d3cb651d9592cc458bf367133a3056e8859a3cdaf7d9c9ef0a307dc3af1dd81cc6fa29ea00ca91bcaba0d3119e085f247189765d8ff2319107df62c50e99e125192a51d26f592dd6140a6cc70cefa7ce5fc3f5d945f7af311d13cf1d436cb25d45de704e3ef46907c39cc079af07c74b2bffc404500b9e37858c01b0ad1edcb14b1a9e4445c1291808c62320b87adcecdbc9f8afe4d653d1dfef17f6537c78f68ee9e5097eab78add5119e5ded36fb9c9a64f41d50f6bba9a2a628d153af6a2344d449beac20b3f2a5bba7512bc43fa6ce58df7e9cbecc38c3a6a14447f6ef50a069007b223642c9534f6c6d6dee3aef3c2beb2d5f5d15678121bcad1ad0411cd1025e33deb4919d366d18f14db5458b1ddd20c916b02544fd5c7bb15f1b1a6b3a32e21d8f63be2bce2dc055c62bdb9aa0379865e84428ef464c319c9ec29a9e2a7e9596c265d622cf7dd3949efa3914e12ba21b4e8e0d53da82b6539f13c54970954ce18089f63a31349dd50cfc904e8785073dd661dc646802ad096fb42c83b1e270c8171645ddb46820b60d420b9e2d9e8261cac61e39eca1aa39da69e1df5a2c61b76d4d03432603e886c44773c028006f9875aaa411c962782c114fc410d0447029ac1114421dd846e166124d110e86c9a7e42a08abf4142d87c6107a24ae6abbccd943b7071351d7e5ef13322e153a07de14c60d7144b465945f03548fd978b37397a5676564c5045d213f3b0ecffdf02dd8efec136a782668fcfea6cdc8f18d8002796d5c1e72a3ad7162d404eddb69b8c9f5d918b97e922f3c658bf56d3fe96c26585eba815ca20cdb74782d27c8bb33024723d7459ef1a591ef543870411fd0d9e21bbbe4fa6bb03a530b720ccdf95d35409119b8e7815a6193ad0bf5578cc7905120d8e86692925bc33f57b70a2aa3d7d142e3fa16454ff1fa21985170911df610b3c7262836a9737c1f34974b57a604fce0519d243a9be763141eeeb06b75678bb3c91d1dd9c41ed32d6169d4e5cc1a7bc400dddefce1dafc281add9f8a5638d91ec8209e595ead78adcf4bfc8ee1e0caa1882407304adde76a0a7ec6fd453c7ae6327751b088d96d90e275b14cfda309149fc159b58faf13de8d1d6b473cd9760b2928099958c4ed8826d0da7732fec55d76e1d38539e29b65bc2ffc5ff38e53e5200c1dded5592a5d38c9db3d0688015dd7b16324059f94655e5a968fd63af291e5276e368add99b4a737e76aba7f6282a2db3f6684cc9d840d0e6f5b40d6d76c258b9bb5abe0821cd5e19b9d1df23d71fe57536fdf17c8932de7cd44591719e7410a4b68ef65eee4ce0d9f5adbd44f6cca01af98f8add881090a23f1b39c0bacb4df3a08d242fe461710eeb37758827bd640f1bda9f7279f4d829d3653f8b9f666d7845f1572ea0ff7ef6605119a2650463d460f20c3f014f3e6205999f55869e9f43da39ef2f64ae353434e21e61358fd1965cc4c284cbe829107fe382d06eee7347492fef4395f477b1ea0531061efbcb206dd367ed74dd9d206798ebc44ade427b47a26e524ece820585b563f79b297c766218aac12014b410400a61ac62ec1d2da386fb9eb8a891a68e76b6f0a76428ef44ad2a27600d442df14b8306fea66c7f7d5ea693b861d1d909734121a83c6512822782a090eae5fe895e92ed2011b949b76b3e04789631251c0f1e7de6a6b6c70845b7d0d581143cd14fe4fa16a834dbb9cb343adad6ad082defbf7cacc20b7bd615c5498a417f50fa3083ac7614be68e0581556c364f76f974ddbee2aa36d84119396636ff01673608c554cd05f05653dd2ef7eef561f6392c9f055c1f23e4ee7f9c2f8b6f783bdc62bb7d04ad621684c5a8c5829a0002f7fccc06bc893f419d0a73c6bf7610213a586db3a91614bd4dd4110fa5fcc19e45a0944ff4b84d8d1dfcb58de844eb250c69cd78b0ad6e5734d4fffe240cb518f1cbdb9b9d97f4ab7103050063c015ef9962cc1b5f53450c5303474f5692a8fe15957a1d39cdc703d5c0a6bfaa88378f97cf44524aff5d7248d10c27df33dd6c7d1910d9bc05bae79fae184eb7b41b837182966077dbdeca0154388bbbf12acd01708079ef30e4807084c6c33e024948e200348140a642880025b89e9648b5d7db7fd48e9a81392c36a057d3f905c4ef0d2b8e8363c505b5da4b71b0423705220e429e40e97af1641532ef38e1eeec00ef596044b416fbb17d60f9d67bbc699eac1031e3e82b71e58ee0c6b0c2e39735ec86d442b1c561b802ac93b6ab8ccaff641019ba6c4c19a66996010c372e3ca693f7dfed5d326992d509c26a31a499e24fba1198c0af4e6f789dbca682c27d19e60ffefeeaef722114cce2fe60baede32268359c6c8fb93c77981e4f651932ebcfea2ed8c824eeeff2a2c6a7d6844c4d2f10c5af5f1ceaf195a18c94019ac1fb76eda9d1f45e5700bbada18e0bd4d6a11b90080387bfd78f7f0f76210e454d3b4f968611b928fa3f650559ee412e03d8336f3346e0249b50b308436d8e97e2f1da18de26429ca68e733f1a808795624f994b0dcb1b7c7914494363c82414122386c6e009e09aebf0ab9bd66825d06706f482ea90ef58bbb5ab3a0ccd83df7101afb7cab2c1c7cdeef8ddfa90d717285b80b9ae564540da24ea2f90f47199a5e43b76c471cff1e76c148420bf272971e8f1089ed552aa85806f3e245c1ab5aac771669706846eeba15cb3b60a48cbb19b8a4f6ff71e51e4a4daa895aa147a31a3ee992f52b19fd9c229bcdad24d808805446ec4e1daea83e208401edf5fb4a4c949eb37f3709ab9f07c566bef2b7d318c1cb5562f33ee2858e1f92db3e6e38fcdd13aec58a09c1b12af315a3f31fcea26351c5682c86a0b25668fdb38999f0a1a1172af61c1d6174e4b309118f8cb1381c314546d810cd87f438d90a94cc9a68ed61c85e495541d854690fae9999c8f4d362d7e560d7e545bc26cd2a80700cc5ed737847f0280ee6d6fab0ce123987ba679b52f7c12cc49020850f1081a43c868c12592a182c123b371553b0921c9705378a204e17870d4c36c1266ed6ea518f4fe7d0225b9b6ea5d5fb95967911df3663035e5cc2188a582c9568028e0aa165c8b1777192ecd5150f95fa0e488421c4ef8e4344b276b33898f0272544921a8b33bec148611bcad7521654ee0c6671ceb1dbb16a15cdf3dba1747a4e342c540ddbb8bb0bbdad22dcb8a7d6f1f009e1e592638b499ded3f9bba3e2b9843f5bcd43a9921ea2aca4c7ae4426c361096b0f2b213c68a760923953ea68629c0d6c827b65412a7346ad1cdd6cbe97ebccbf2c5280ccbc2db06fa2d2dd02953db3e8925efb238711b177555b18f8a4face851ce0a6f1bb02b138f9894eecd5b1247b6362879314f60908a9dac99ee9d6a06a7e5dc735facb09e0be5baca48571c602a8b183a6a1797983dbe84903413255040b108968300c2e2dcef8a3944bd832ecd87a5f8f1a6c627c95d1eaa14be60bab79e30e46544d220434a9af2b81e46f2a8c04f21c705682bad7acda0441bf78e59160bcd08b9b3eff18b994af64237082017a39e5deaaedcfec75e47e19fa7217bf6e1540d27ee4d7367f08285bd375492a7ef3f3b75b2a3393c521f8ab4ec704ec5c4a8fe347f4693d4e7413af59a42d91809744d1ebce943ef6172791f9e73b4b079ba214a322650afbb923985a00b31e45907e69c6bdababb6f7b5f3afae85ae57f0ed9c31de0dbc8df79b74c3b1cddae766adcb2604ddaceb5c8bc8f6994df1bd9725fab50156903a9e3000c7c132870211ac142adca8204a88a0f3b664f93deadf80f6e6e4e8ba3bcca29f24d9918a2b2262722b79539f8843018675d68ec3861680eaf4f636042ed6fae0941f7cbd4c12c39398d78d8823e3838bb7b93baa0c956978fcf39531ba68961e92eb905751ee70fb6a563e6e0f85d07d81e1ba36c76daaa5cb7ec89df230afa156f34f8ed8ef998136943d33cf5cf52f7799bf91909b68bc7caacf405e7b28fcceddd69b9c430ea4840a8522651892d4d354ae2d2267c4d10f96565e27e7fb04a5400bebfb13fc30a1912cdbb47bff64b1cce4d7e069e64d807ff288e72a53091d42d399aff2e4c92a08b2f8c1780b678a5f87b8aea3c1b8eddd60bddca74ebfc7d661e6a8d95379130ed6a92f43f07796ca6d021c743bcc98a67a4e7e818c55ed31598bad5a4b2b77aa2628fa46b7e336ab4b12607da4f223d362eb62e6e7fa10bc220d71288bf4b8a07b575a20255a56da93fe002e37d9c6547d5d58ff3d01f59900b9821e1fdca6c1d03c685c87fb858ffae82322c896bdc65e301c012e7791a2f5689d9a9918e2d96a979f09e921b582f92a6f7fc7fc10588aadc309485f763539a97a24d9dc400a41b5e64345f4a09149edf485ae97ff07a520152992dc652115476b9d67ee325fa89845fdb0160e9fef0c074986fb3fd1a2bd0286687108f655d5b1c985df27d07bc4dedff433725a24b6b844b87efb7ca0a98df8b52234c7afe24709fead4a35fbfa0f0fe4b453ed90feccdfbcb8a3681fb078f83d245d34e0161aaba9b82ee88f6771db14e45b31e32364bd62427341e81619b6509a8d8223046ea7992e02912b29379284bfde11d1de637b3d08af73dce7838084f05d8e1400902039019975f30f0146b4d8e942f43ee784f6cc8c70b6a1f476f16a9a5b54ac3beaa33a482380579cf5acfc9942d859514f467ce56e4ed277ccbc11e56efa808c79809eec2970d448aac2b38e6c996f5078d23062089338ebe6bacecf79e0bd3c575e6ed448d8a9fc3b4ef906cdca21bc89ac335427af74cc0720b7e044880829a1227404245eec978233c0c07765340094c0c81b2245e4e57b4b64e37db6666df59f5c0d3dcfbe1832b5552efcd9f401180a26065f7ded12c421c4a491a9a214188dc064088b015768d96b724a15bdc3eb0d748ed52cf6b12d43db9c4fddc575de4767ace8437abc3bd676b6664c9ff366d52145fec9346dea0bed2934a3f34b3121652ecb68e913f9c75c33c7c8e93ece53de7aa6f8adc8412563b547f473792fdd015d4899480d4ea1abdc2fce5412975274987a3ddbcc1e35789e9cd0ecca82ff7ac0912a8e3dbd70c14137d1dda8ef1e8d327d268a21338bd23e1837dc3995784cc9513e9e99784b27f62304fc3bc163306af191f3c2a1d1d5796b6a3ac209d0612606c19cd592934cb609bad1e2f905ff65c79d31bedda77aa297de3223c924fe2ef98cf87dbe4cd893d898909791313f301b310c988ad9471bb7d2f55067daa26dd4f38a1fb6304ae5e2f624db9dd1422e197a17bcd83635b17a05fc698537510640ad4a6622b20ca0bf03808650109e8c45e1b018104bc6e23074b4e0cab5d8f1a8ffcfb16a4aa2f4f83a3b9bdd5de55b7b486ae88323d449ebd0470cd5478cdfc05f604d76d138517068fae274bf49ae0cdc856790ecbd8b7620c35890bb4c003b50b3b6c6ebf27c1062d2ff7bdcafb80c3bba79e7f5b9954ffb028a49bdc01723ebedb26c1535aafd98db19be3e81be54821cb3f861ff6cf055d138d630846ec2dc7b5b7a98808eda208af8c0bdc52b151c51c57925d3d9e800faac1bd6f09b69e937770841355f0b34f8680d0aeb36f0efa4dd6bb4299103cac34d37437014ddfcffdeb7a4fa59ff8f5e05bb1d6c45617bdb6a69f349b0d1c15774354d415ef104b5ffb93e25a4ebdf8d3a41fefc2a191afa2c540758508960de0121f36a0ad834653bb45567933077349494742fd9727ace36fd191f02a829af5719d295eddc57c07eae1b89dd4aa50a6131381881ee181ebee69c04aef0978a05f086b1d06913eb3d353bfe3096990b98b23240a74d786aa0bdfb20d4da164945ad5080b53ad3eaab691c9d24503fbb42d47be835e5c37672de32d6a008f9f1758bdd4b92430a32a10b6cd6d6b9ee69596d365a96d1e0a3c6d3e096ab2619c582af422e3597b688eda0c2c0a5b49355bcbad81f77adb2076a2df14bb99732e1a28883ff5af467dc9684e25d006496768ff4048ebfc0c466fb2cc4a4f32d40c5e270a410560a141abbf3ebfbfcc0115d6ce3200daddaa4c20fecb5771c74b38bfba65a8c30c34bae78face4eac806c0aed6085d5030444cde0aaf6924c0e423b301b4f07225e5c707a6075ca35c80526227eed62b6cb09b8369b147c7129966c769d526c905b9209c57f6185bb03dec7da504c2834aab3acad08bce2d5766a8be607106c3e733822d95c9438e1ea82782c3bcc0503ab51e424a47202cf2715ad1bd03ee5f8a1a4af5f8f5470b843462c306fbf6dcd9a622ebfaeb6e9f7b477d79b01ccf03c9c1a4f3fa9843b82e62e8b8451312884c0e00acf22330bd1fa49e34dcaca8bdf0241fcecef496100075f756b85aaa5c340ae79c6aa1a326b1256518c5ed5b93a7b551283eba43e6f06a00ebacd14e95adbf996a6f805e92f6f95f94e9243be7bc84f86220c3ffdce7fb4894f4ba1c804954166ae9b657ff4ce783501370f472ddb5ada517be4c1d007df9cf3a05b61a316938b56c15b4962fa24f4aa335e2ee3e7cde34bc1d3aad02681baff6232a4d3f5032029a85781b846df8ddd0415e11d1e7d2e975c3f219c4b7220916c7cb20fe1f2d57edfde6d0738e02a31cbbb0df213cf4f00d57eed5603def26a1bbc1143d270143204201009200853c145c6db279d17175fe9d9a23cbc6faaae5d65044c44da4da8c4504b10046b0f5a8944e39b31f4ab08a074277a850c4ceeaddb5640d8af8d687f47402eb39a796099bb2c07d0e0f86e01174e6f4d75b43c6127d3093e0f2cf71d57493bd5ae306d763753043671e2cd021a0d3347160890513413fe9bfc1649fa63481c9078ab1d1d7e33f60d38ee340c538111be781fb06ee5c2750ccae63dfa4984ba130af1ba453d11bbd88d89215ff3d6c7d326f3d7b98480737c1d8082f8f0cbc6ed2b0ac291e85e8f5fbdd6a8b87226acefb4dcade40e1c0c05a04da1a4daa726209566ecf7e775df415d13c69db29a9d5c1e6555face2781eb3feb49f8818bc94f130e18fffa68f21db1937d44baa9ce2efec0e479466eed9189ca556bf7ec00a0c6793611a5a69737653002e2312085884499834b7fd891839149e20ad7a948a1dc8c0d72f27738727e21226b4145b7f5456e5c6c706115affd601786b4215820b0b6c1f3808b5fa8dde043028cca221c6f843480fbc7696f8ded8aa8675bb8fae2d4819fa53751619341ce42179bef1bb01421de628708ecae932ab4a6db739a6d8c94b70e57d3f2be014c2e70452a8f2a02c626b8a8550216b118b5248aa5b598214e9c163e73d818b63595d42dabea24cabef14fb57c32ea7ca834e03f98e1d2165b954ac1f9ce34b455eefcb0ec2e4c6b0d2f4184eb92d63b2ca0395a970236ba094cdaa621e2b75a36c00f3deb4928d86a041e06e33d09be56e4d1605ee63a7daf7040d324299597a2174a78c371737c3f0228577d1149019a05380fb7faf9964136e9337a1a6b22a2da09365f4fe9938ecee640d034802d8987af1f7cdddda2b98945deca1149fc089e84465108589800e3602a5934b8bcb3597502fe8df1d6b40f9a588711b84493542836d7b9b15f0d7915f3f72d2c396365063e7512acb68673e904a41fae2aaa5e764e266a22edcf2591678b3028c75d8628588f09a29ae5d92fa43bf68d6afc16c4c858a406262df9ce86b54987791b8a546792014431a5fc44a946c9c90ac9a19ae463662bc2fdf09a1058b7ff81c665d26da17a4157f1720ae5364e3f705d695c5cc0a231baa6b1ea7118c7f07d72fdce81f98b78e8c4654a37ffe0e1f0a7e492c5859e8b8917cb1f5918158b0b6757221774ab9647be34bc80d972ef3557dfb9c4b1cf530f65d6a75915c61e4ca2c3e4e9ea259671b76985fd6830e81cb191405d92097e861fc12809378e5be07ac1be1fe910d94ad8d71d8ac456aeca7b6b7e3b0f0aa8a192b6f50074cfdd320dc8c23365040c9a0a6301328480e05a670f2dca432c25d4398a7618f067ff84cd6a1feeac30778c730e75f2ba25705c4c9115f4fdb5a7e8d5a917242ab5476aad2472df1dfe7354bdda2a17e8f67490f72cbbb42f8041b92861055fdb5131e545f1090e6de5209aea64e44925b21b706e953d407f101c60fe4626632a44bc0c25fbf99cfbce49ed1b27b181519c1e3be32d45bafddbbf13f0130dcedfb1343cee116b4de37d6ba70e4cdde64c7a5e5c4aa1b860f57d9a549393796853ab2af65254b429c72b091479dc6130567a25bb8ee7e2caade23074e659e7457956ca52d0972f2f47051202ff4f7acb4c6c7c2fac876d458221db4e4167d49de63fe02e50b3185ff814bb45e1aabc959454e09a9bc322bdd3ea74935dbbb6b856b9cf952d0ad5c1758a352f703af6d7ad79b62b7a63f0a4df0440bcf486ab0df0702378588f5a5a5c28a9abb405bea1262c8351dc4ac486031a4944965a79e25ac8d5b4d902adafe5cf09477bf9d62d797b83fd4acfaec1b9475d87f90897146f1686062277b84a3372459dbe4823c924da2278c5e31bf14d92ab251873fb27e668bcf660bcfa774dce1054f8682cdd78ed5fb2bd5397e75e75c3fdf1cc0e356664b404919f8fd2d2fe8ef434f52b9c040243360a2a6787ea8cdc4e61d26e5146facf2c367d73e63993ba29751eaa52028ef8d427c91cae7deddc04c3dc8dfd0ce50d67902a929dc4c08260d2e5863cd619ab1ff8eef400a9516af6c703f1aff846531576ada24716e136a176dd6574873f227d04254b12470b9406d754b8fa5b641c155aea293e200c2315f374810770d869996c062acf20f8c3cbe0a3fa04d988e49193953cd62051b092716641b732ea26d4b3d8e220cddee9de9dbbac46d98a3e4ad39df79edf3a026c5e0a21762e581cdf96a0d00bd3ee72759d4b4477fe940322b6bb141ecb8285be2b043daca4a5e1da7713bfc199360e6678b697cb4b379ac1769b0612ab2e886b7f46ff187f92ecea9eb862eeaebf5224fbb7e42ca63e745e5568723bbb4922a345498c0a6c7bb1025ebf687300ba132ba3851e60778a95c7083910e23e7e8d4ca09abc14ce92d810db0ddb728e9f310f09fa5af35f1f784f71ed8a0fcac4871bd7c502feadbd5b58c9c652fa8904c0c6a79638cd8ce5350bec8f486395915c090fed8953175c9c0e8b98ef9d2d149190f8435e30eb90aa826a013ca44be95845416871e0ea5d6bc8e816d7ad2789b7cfefc60c3116781ba4968520d0e05bf8507eb712034c9473979d02fd47c3867512c806209d4506616c0be9eec175186dba78c77246e1456a0a3c640790919c5f6ed61f307d73d05878847b971101a44a5c1973e4532224a0964dba118eff1693d411db5aafc640e034fb689fc0d8f254d7e2d70afded026b82c90950283c6bc259b3b693623943748e77b334fd99830fdda485a9ab8cd3abccc042533ce772ebeb3d331e2abcc894991ef1c57b111ada451d38189529a292a1a898a0b2415a0f6a4aeae98f0e8e0956db379f965a0b2d6d8e119615bc1ce69a343e82c8f11954998691f5acdae06aa5e6379e0b773caf026a1a0969fcc78f45d80bde8464f573781fcc83839c5373130ad2335e757a11e24ad3a142aa76e0b35f52edb8fbdd7982fd6b6706bfc6b9cb647668370cf2e29c699a149512f6264071ac760b43ade4112a9f69e7df9f658b6c8f7739714aca0076177c2891fe8e00d778a380d715c751e4d055cd1dcf33e24937f41cbbaace895cdef5307467893e70ff6177c37f28aee79eb2dd3cba84f9e28ea18dc67aca6ac6d0efafc0cb006e473e04891f5cdfe0ffcf6d4fc44772d915ff573c935b5fa3fb19cf24e199374e9dedb05764960343a3998718ddd3f7ed646bb1666828fe71881b920e75250a2dcd0d0240a7bf2ab0b91b3ea937f96b500461807dfe2326b01028abadbee0aaaacdb8dbca1d4cc1ec1670fc801c48ae37bdc8fc69c9cad675d02b345f02d237af9e7f860ea07e31011a630c60df7e9eb4678e241fb6e054efe6cb2ef67d077097c165f88c078d21c98174834c6dcc337a67958af7499b030a005d0059a2d01fc01ea5c6540db78d337a45deafd79c2d63a04df44f257ca368474446fb39109b2dd12d023ef261dea92769d8dfd1d80da1abccecfa560f2cc49aa5bb8dac83bf3a951dd2c7cbe7d96f0d3127bbac0dbea3faf41684c49c47cf3902f5d8395295e175b6e8a6f6b60157eb0a9411163a540d79ff9f9416384fdddbde3ccf1a0453730ecbfb88d9005d8b11e5187ed8cc8dfc3802e5d6391278cb81e053feebfc627ecdd36a0fd9b69597745eceec43ff21eef50304a66d95b1071c00aadec6ad06007c34367886804708183c48204f63fbcce00157faef7ff6908fd578216a7d71634ff2b0802bb8a38361c82ca35b6c0e29e2bb56793ea1417a5f58b54d3f5d553486a549dbdb3ff2c00fac69ae6db89bc4444e40efadda9d37ade13bac806f37d9948da4a9e02166bea95e12d35371a32a99eb52d1d794d003249677de21aadad68bf3549ceb6738340b896072085fd443263c4e532dc55f5ebadd0c9200699fc765fd278d08f16a7d64de307a43006288e3ead0ac95a00f019d4cfb83440e6c6843e6a53ad44f21c967f2cf89a5a77407e80f4d0784c08b906ff18b53d4c6b1b397e40c8f6e34592771233a19780fa22707a19c64d6ae71e08b4a00815fe86b645598e026ae8e3efb581ec84c278f60ae80577a54a7fb79dfc7738e4d76ca74d46353f37833b61b870bd685b7d92659f9194037f0a755eef411b43ed3bc5a29fc86e00fda9b8d0ac38208110610820b30c8822f412c686003c7f74986fac9b61bd9ad2a0036a7cb0ccd33197e9705fb0de59d4428119a4293d5c40ca52688b3e90edd9a112ef87dda27b3f5c9329205fe9cbf86a25f04d4c99f1fbacecd9ff75d59d15bc9571eebb1a3914659378e8f007c34e1850b660086ea596a0813b95e8ff2474c4227f420cd16943eb21c8423102f9c193eba45b77d1146fde6c1baf6a67622424909dbf460a8269e754d35b5525794673aeab602c26b7fc4e864994f889a4084d65cab75f8f68b92b1176d121ec4b38e38e18e093c63a3c62e1a05572773ac6e026f72ab221c46f3c68690fade722192772039ffcb095a8816fd7b3e6972d28e9b0e8403de3560ecb337f42035dee434db582aa87b716e3dcce58f4bc029c3690e336d35f5b416990d8e11ab7007f19a41a9252c56a9bd00199705b201db009a8ad68d00398819bb6fd9b60efa81164449b099c899fbe824db04f437b81e288f56cc2c766e1f00059e8de879921d4b1d3bb0a7db5b4f284e505aa8ab0b1c0897e7a151652f5c6bbcb1af0065cd827bd20ef1c0e7113c1ec4c360441b7061d61f3768758de8990e9c6e0a149821984ee5c574ea5ff2f1eaccc2c82462693163dd4040c9d5bc036ae2542021f60337e674601aab00cd8d7547db3b4caaa27a6f0ffef5964cea008add2ef10e082b08c2ce86d40e36d5103d770a0e6f29e3a590029f83d1b6f1cb5e0e0f111d97a57678e92465ae935a0abf0c20dfae14a70a8f27fe1e4abab1ca0dd3813aa414493b71a626adb8b2c70ec0aba44ee174c27698806663737469144da29eff40cb963bef51e7535d5be74b22f99d78ae2b561d66eb3ace7ebea2db95478d4094eff0af05cd08578abc84d0c5762246f81e046c176eca1e7c90c6ae89e7a85d54e7cb72d9649f66215dae228d3823265df2290bd0ef3206d7bd07d4644739c48005470244a07f14d998eeb0a0bbf6398814407794df1a173a207f2eefa9a79949194445600408c260b104704ded2c1f672ba23cd2e1dc1a42f36318ed924dc4551078532316733c0a56ff6ea5bbcf8525135077dddf5d140e593ffebfe94a9111fdade7ccedec88a7a73b98c35da614b653dee81ee5e5dbc3fafbf1571784ad95e2f634cea3c02689a121e538dcc1f09fa5157831e8f5d7ebb5fab7d9dd90230a0627911d8438bb88b6d2409c5c14ddd0f79cf14eb3961d16d2cd10bbff8f1f98114eb4bcebe671cd00746816dc658242e50ab5a3f9c96bf8523d871162e8d01fe3ce44f8f6b3b1c698f29ea858477ca1e239e1abe6a0534b2eaee4c6bb0e688b7258e6e92e0a96dee65680a7be1e9f7d3f805a05ea8d333399b6d00edd718ec29925c41a2fbbb39cdf7bedb6e0535efb62e79ce79afce600d8a3ae34b8b0debe9cfb40a3951e0e37313686682cbab82eda8c22413e4999fdb63463ea57e39d695f400d5c3dd1d0a2fdff6a7e5389cc7db61f10d9e61093b90e8bff513d1c7759d47708cb469a26cb35ffe91a71fde07d83d5f0623993e2c3804804e51b8a0f4ff023820b8f5b5c4926ab3125deab99953bc2857cd2013aa9153a06d22b892163936ebba3d9df90dab66abb4bf086d2ed19bd8125af04f1625c9b2ca821babaeb076c2272445eae2356eb74bdabf77e8c02b1ccda6e76ebc21fcd17da75d1a4aa8c25748bca4f9d78f72bfb8470cb7d4760532ff955d592a4f4b07ca997d17fff2f79aa06cf9ac26438326ff2709a87ed9f666eebc41d89635fdff9c630845b20818715c91e393fa6eeaa16da98b35283e32f70ef0ead9b7d04401776364c436be112878630080ea10a1308e03a0c35d22d76a30f18e31df0163a1ee1766479e7d0855370ea7a2ae3123f14658b1c92cc631554c0d40b0e0b7be80745e84530fa32ae8be749e74f3d70066155dc654412531bbf254c950b4e4aaaa1b08b8d4aba34c2ae96c2a34620c9fc7437d6b5c9433e5eb46363954b7d1ebf9a3f81b4fbf561f2d896b22ea975e5b8d735eed644b739b3278ea789856eb26d62afdfc62459a88907155b9536a8e078dfeddea98892735d8235da523e57af8bc3cbfde2f3cbd9f054738f1e3ab39419d20f9128e43074a3dccc0eb43a3d7dacbdbfd5627d39038e2e7faff4a8a417b3b234467e20d3a49953f58b982d7527ee35c7b40b243f9ae8b96059140b26ab6bdb54baef0881139b6407e52b06e3ac97aa2d7888ee4d9a2f12a48d2f8301e8787a330e91dfc6bcdb104f3ec2a3010dc9c4a421443334460c4fc163a820b8bccef09faa9d1bfb773c8d0741237f0635f27e9e68ca0d35f879fb2432ea4f622a96f739f2aaf6f39d3bf896de5acd6fd4a7feac2e6ae6978fcb0889bee1c591719791d26f08bd2d14964191a66e33192b87790e30ea9563339bc91a43a7ce4cb99e7b1027197400c4ca2c10c2224428b3e43d5cb310d1a02d5f6d4f1112d07c3ec843b73862415a72e031f4d8171ad13f71008f6d65dddef29f71537cdf5ce113dd890404911ee9a4be176884b8891fd62c1a98f988e1e3797a8f0a05f84200972cbf978a6ebcbea2f110fa76580279f02b27e5b1131c564bf3a84bcb72798c7d5ee179faaaa6db7996b40b17f68a40d1ffa7e6a2a84f131a8d55264c9e0136f829a7c5e038b28bf4f9d298f3e69c7cbf74026276fb0264606aa069d4524fc6a1e27904045ef5f0118984ac670d474013001221b8543977812fd955633e493e71daaf3fe13947ce89c7037e9d86f73bedb28dba5e53770a6b345d6c97c810c25b4d6cbfe5c5c374ce25e477710330ad38c5dd2273739785a5d2e565de57dd3018bbef0f5d9d219dec4bba1cc3551d86ac3a39f1a81708bba274351f8125ebac40b2b15c1bdacf5911b69ba35aa79de185ac3c17b17dc099fc2af2b27e69fea4ae7a5bced89c8e1a5fca4dff546b228dbbbf49f0082566ca3e06090dbe5abc1b3e4b6ba13a35136a806cdca2ee49c0b91ced21fe351c41bb161c07dd4ec5f9936a782419abfb09aa8dbdfa49f5034b721eb930cda6fff75cfbe5547f1161300348f5f18cd8849854736bf6b6ba94fcc4f3c4ca4b6163a38be79d963592ed2afcea0520bae53932d065d122ec03e4b70ab4660095bec356035e4d7f1e9a704e5e29c390c9a2200202084400d765d0d98143ba7b166287766a39bd8ce75e7f93259d80eecb742abaa8024590b8117788350a9db13342185074ce4b379333a5d3326cd08f6cc4d02745ef19bcb1dc65dbef3e3a72faf318b2cac840a1259dfa73d674aadb881d359a274c724cfb233b184b445f33ac91b0de391e6b57b7e09b0ea4c6876721ace6f6ee4c9f84f0da2d97976eb6cd017f4194d3693233ff809c796e91c349dcba4d7d34a1374b2dfa875b188278ae21243ff3064b6602cfc351f76e71efe54afeab1c6dd54f34ef7483e4eb7df012570e76aff314e1f9b90825580d72a6c4d72b73de8d65b14a13a199feaccc2945e369cb5d51492a556b0b387c1c980cbb3bac4035fc6d9d67d65530b742dd917483ebf2d9fb89074402cecf0823f52aa5dac2421fbe8512e06afb00d2f112fefea66071810b50b8667c57ce7123b78b116df8e58038260c9085feba5c3ce8b813a1725cfdd3e6af10eed709374b340b7eb5186652eece0d0d8265f5c49327fcc08d2c84912e424002c8aa01d15332e69de38c9c11630c80034ab5c1f58861dff483a91159888fdeed516eb15114279a1053349fb5ea3e4edeb9e4dc004e2839f184385cbf6c3eb93ab329255169e9137168998bb0d5e17dd55e5ffecfdfe3a1e819e845f031df85a8a7cb43fe6e24707e61d38b86f3ab399381d19f24d21c635328dabd602a57c2f2a33eb7e0ff36d2227b6fe39931568312a11beb590d3150adb8568f85b041d8d1011d76e00738cd13dddd0d04197c69560d7704258c8ef7d70b576b449911fa430d4edf93ed2a1420f8ece17769d95830de104491c57c1ff9ab05dddb8e53518c02c5b34f849fbb914a2a7e6c05bcae7fe69eb1ee64c01027c0f27091f9956aaeab96a7f837da19cd17b09180384eca5c37f52f6a5078c9da2b0fe3d1fe52f30bd51ffb37797c95315de9ce6dd8a90d2e34c390b41a2327868d9bc5be1d45352afdbbc702f1fb760b460ef397ed33d5161ddc5dd46d22f28add3ce74d710948124ead6e70974e8dc8f0e3964c0c6ca867b977308a1e2c6c2a7648c0366b835005be94ccd3483eaccb6931728aec7d6c368213d4f2aa0fa704403aa95556304029b7a9d9db2bb28a5d29ccc01516ef0effd41f2cbcbc742b3c45ae09976d769310db87b2cd2b40cbb53f063f0243c32ac3dca32030fd8f2dbd24c4d72cb6f2b4027b94f34e156de2fd540d833f4b8eb7001dac53fc966e856e3fe6ec8c460d935a144a1a663b44595d73682c095d045c69bc7661321cae5b57dc6cb7beb02928fe6b5cce23f1100ac85c8111e13b1497b4943274c8f771609226bbecaefcfe85ead1d365a1a1d2b40b1d62418e9b40a356fdb00d78054f33973288448029243804e270d0bb97bcd7220d52bb1c573b3eb6a9c96641b565db52066f5500cc7215548ddda32ddea15b8fda36a48a14fdd926be0edc61f7e433f5b7c299efaba76a45891acbdff37114241ad8ffce15d51bb33a88eba594ec34d2a57f635028989ea932ff3ff017741370e0315b9081ec44a92c9978dd63f725c3f9759633ed2f928bce0e5bbb84a3951458b11036022a2dc07489cf3908abc81bc645f9429c1e1f20c989e72fec6caa07c3463fa2e0d35d97305a2496ff514b54a94a50cabcd9d2e83eedcccf88140651479ef9ba46da5655f14cbd09f28114be11a11c8a80aeb77856f2bfde8c9a91645fa20432a9baa393ddae4e923cac5db0e222e0db7df9f66d554509589bcf16a76fd7ba3317c4118e5e70ce28f66170074f6370e59c30e3b628da33a1deb2b157b42f55e35b8ee8ab1e6168fabf4a4f4ba3400b44cd5179ebf35f646908fa1daf8a92b39f234d4aca515f95e6a18512d6f40d07e12eb338a1f799df451d01b8b39fe9da44e5f3a1593b9b4158eddfba84e3bbf927edc67740b144153b8df640adbc00eaf1225062306a8e96dc7368d5d5d1524da062babc74330cfbb3a2ac5b13392c3298bbbaee9ffb70a0db6ae1b560800c4201da76057cf11c6c4889022ff2c6d91efa15a21f5f3fb1d9346debcefd21801a7e181939fb1f747b3a74c10e87d38adbcbd066eaecfb027c5cbd46e1e78493e10c6b677371443e29f87e86a0c7f8933be6cc33dbb9e26d9be2ab57bc99b2598ca59ba0941914164676f354065c95b93b8d4db314ef8bf0d66ebe5d6a4d1a5523f76e80cf18000794c19b909d3c048b01086422528c4c064fb4342ccb4922b22c66d3740c0667bd99986b3f4ec0d07b8abe61f5bb4667b708a15886ca1ead160dd2f91cce411bdb57d52375834ddc04592a6a64ca21b46af2eabdad02a1213762a034afd11a8ad4dbfc51de51a3f0e2d2f4da46ec6cf1e1edb947c684a54a76c04f511be92cb627c874ecdfecae5461185c919a45405e3cce3df32dfe314b7483ecf0d5e17df7915a7c476f5399e0f0fa39ab58cfc3c377e9ee858d7f0f95a5c4ad717a957c857ec63618739e81acda95aa6400c1c3c7c849c8f019b60317f6d4511e979858ba47dee920f835ab0ac6ee5e4c8e96f2b09e29251d9ff15f905a892f69b7a218eebff4785946eaf8cf3fe0ada6f4e2ed7733bef8ebbb365992d93e05e1c3f930ee3646ad49fdc8f478b6f70048ed808bb657f19c26ff522a725bac2b78bc384f51e23d6ecb70d0f22591c465b3efd5f0f9825e4f62e44b1762f76e88a7e0d6e20e19a0241953549b277e9ec328b0e853f4dea21d273310d87b88edd977044939aec32e91bd6f7b90b346b0d7c9a645fbbd6c202f53b0de265c41a34705c72d60e5d907f04012c6c0c54cdddfcc1d20f6e43b88bf9ea51b2e6323da88a150c324e3a7955e250b8a6c52e5c2ae06fba35ea408c31602643aebe4b6ea6816e69b1a58f01ec08948963673795d5cf37809f5782136334bac79f0bab48da51f04114d4c2ae725faf10a32241456578a945a77b69027c5b7a8a0cb478c52a269fa647118fa44e156fd1e14c3340674d2dd994b32dc30aa1c31245cd489214032e5446e4033132a7161d24a16b7045556af3141caee8b05784f6d45ae7b4701ed8211a594162cc25f12d5bad218563b2014622b8952a3c6ea3721a7cae7fc76eafd8ed32bd12cbe9ceb27995038802bd2a6c19fcac692d7bd63a50025c12544849450113af29cbc209c827fdfd3cc9100b24a10a040a300603018168d2b93d33bc6735048ba960f926d5f6d85eae062eb90485279f8941327eafdfc0fe515b452b8cfb8ce04a99cc4d215a51f84755ec74cd72b4bc88a3b2024df330bffc8acbe628f7ff14799f6bc9ef78e94f3172feeb220c3e49f547f10042e97fbf8ab88b88e4517c53b50e66f6e716b774bcef4e7193ced66a0e3f11766bba1ce3fead78686e51263f9eba77630c9bc5fea11b23dacc7afc72b324b3403f4c81f233bebab434e84045a723b2c5a2f77ea3d907e34b85906f4b729fe85316bb730f9303d47122cdb32687d035ca36353266d25718095195318dd46f714e1da462371b5a52869bad38755399b895d66b3425ca644b7ecbda9663db1de1ccfc0befc77e13700740946b57546430af05f31aa190df035cbddc92470a21d52a526eb34d6b2d5ea9887eb1beea0e441ccaded03e8d65f3238c4183eadd7b7806513df380c164d22875eeec1fc577581eb282efa38e2ec76d0608accdb99d60a497ae45f83f94ba4f795bf53d6e42755b2dfa497b5fdbef651b6e3b7963f7ebb682e628daf59c31de57497c1cf3f7bcbb1976aaf4a8323a9783c466843e48b1543a5ff9454b014a0f0a742e14a528ba71d6b1c2366f0400f78d0bed793c986d05e5e6eca2c532a43c945515d5ebaa59b276f4086dc0380ab47bc267ec20c5b1cfe9ba930160a78d5cd05f347407ef1b6f123a72097adb615947426f888893f95f110ac592260e3be73f24a6972e751f17c714c0459bb5cb7d548b97705e3f638349e0c37e7491b93cba70bdde25c8870b77f8635b4552049e5c25adf607ba790cc4cba194402987e332d1ae575be0086ff71cd9b85b4d556757021c832dd952845603b5fdc1a95ea640be6ce7a3a8b30be84a4cbe2fcdb7a448331654dfed88007be4906c11c97126d5cee3746bdb919934ae5c0ee5fae1d4ef9c33f76838ffac59113daf261991c5bf083cf8cabeda7fd15a7d90aa9e5a3bdac5cd1e1ccde97d5385dc2f2f89c8268d0a1e362aeb863ca33439dbce7597e5009b7498d13dd063b7a6e5d857a10ef19eace88b7edc93872e0a840c7c68090b06687042ddfc731ea945bf80c0918ffc1a5083ff35be4aac2eaa47e965d5545c0e170dfb641da0eddeae0524f40f21cae9afc8b8fb29749fc07492c7259b125b689e525eef7014375c1dd7efd4e8436dabd38e2dcfc25b522f36ad5902105e0e8eef83e059be4f94d77b26d1915df091a8a90be675e11b67e9345e674b94c01a876d6b61c0068f7aea573033d840807914a1005e0080095048128a79d81cb18d1f4f5861b8ba99807d9750f123f694b34b44ff1722ba9d40a57803fc9e1a5f715b30c147d000ae576d9494e8469eb7b2a7df464eb9776c9edff63206a4e9a3f679919651134f407963e65f82a85ff5480eaa0be5d51c1a0b286f6d386532ce1d0deb4ba938fdcd6581589d15e5c7b556fe50332a6c800bf8a835b6f19fc1a97c299e143367413044ac483123c62c337ddb99c31dd08e25b98b349dcde9d34e63fb3c59c42bbf04f63e763c3a7e2a220f5db84233265bc3cea25530e204da25622b62ab32b0e8243b047504b860835ef967c73872df2448cc032e8a9999ad22afddda0edd99f09084b2ac9b815e21d247f16186dc0e213f310f9738fbbafacdd2a1fca1874cf2b5b22ddeb31cb19eb032dc1253ace28a2dd34d72aa7ca3bdeaf18722241d976bd4aa3fffa110afb8031a24c5bb5d14dfcc557f52331f75f1853a120147b65c9a94272fb7728163cf2e54720a2dc657bbcc4e98a8071e04d70432badd83faff3a18f0b09818ee2bbd63002d544daa5aabd81cf05afcf709ed6b907d2c57d1377ccdd2063cfb561faa14b7da605d130f10b8ebc537fc878aede5095dea2b17fd09851ad08b3febd512e836a7401e0ba24d747a224e1f223823550e5946ca7ec036b4c9643a7f1e7e8be660d12743fc69755081cef2dcbfb35006ea7a58e361c6c46c5916a94a69d427cd65f9b467897e563fb6c5401ee5df9908fa8ebaf35bbf6f6a2256e2eb758ebe87982951baa3b440728a9b81f77f74ab78c6cbbe5a87ac0d593a7989455e9306bdc5958dee61a0bd3e0ed9d7af8eff0165826acc21944278cfc847361b30b8cb9abbb06f010c3007a0048f8fb565d033d7323e097e57aedce5df66e0eda350be66fa5bdfae00baba0ee47b03442b3281941747f99c88def5c53a060fd2088def7cf39720d401a4677dffe6ff8130319cb352a5854569098f25a8b6ee790d2308dd8ea75fd4232556aefedf8d9232a7ec5f530a84c0b552152234d9894bbd106f77d4f718130bec11c9f8c32493b4a715057647cb91fab7bb2735d0cc125d7e2b3b5874cf879d6ce0bec1a2ee82bec8dcd67caf82dcadec5e8eae1b5fb2ac34c2aaaaf5f736bb4caea904bba15b66d0fc111fc69c83c3dad682be3e9d127e6ed4a621cb086d2e09a127b22875e1a39caf19e97771b2e3abadbb508eed16edb4e4ed0bf9f0b80af43094cf5aa488fca26d1b51f816ca4dfe880e979eb547b15de1e8b82db1c1c2ae21f534dd13c2bc558650bbe8b731330823a3812c6ffc6b1a9463ba4e40ac3d15e8e3a2fc6209b09a60f6341e71ea28ff73cf53f44433ee400c6d5c59e71a35771ef6247b7eac3b8a9fc83f3ac892598e270401e92767cb93e2010f904f95d2087496cffe7c263746914e7bb38925833d1bf7044a9a0a1777091d1a99686e25b094925d3d0d14da61bc7525bbd925bdb9f12d785998528ec46d5d050056a2c9c33ae31e9753da24fe40f8c94e97ac49d8022e8946811b3f279d05b3dfe927547abc410e5a95d273b345bb0244b7d8c2b0fe33cab1bd3e4e0acf12d00404db5631a12f774844fa37c4c210b91013e6b2492b9085ce9dff447dd2fb2e9b02da07ccaf7c16c5162664a0648b6ff277f29bb6a2708cef0b7a5a35f48a6fc3a4020390b3844e42419988b67aa9767dbb29afe8ec9dd09e52e238a767c6efad45bb213dd56ad25e07e26eeeba2a570925c7d3b0ab135a9f089697e4a18c0872f88ae42d0b794299696589af32e6a12c6424a0fee30c9ed34a437bad586d4baa12d3bcbe16d6d07eab92ea68593987fe026180d2c638daa361b1652515031ade47bb8e6d7a435bdd64529a285fed65c97c9ba20b9b938086dcf88290e2e5fff9cef0712a53b6d4122721c5eedd610773b423f8f03536f9e39619b3b42ebd0601732c7009c4be3cc1a57cb0b85551f9a52dc432cfecbc2b0f63e180324d98a70ce95d5b0dc5603e095dae0828980856cf059579ed512ebc14ecfb8a94e8485784c896a83af6f4bbd154043b966a68f0f0ce4d162d4eb7f8895a2177d912bdae445f6e0e77545efc6bf180d7297f9a5fdf3f3fce2881a39226abd20da2845ed49232970561900735f468b8af2b9a4c60bffc5ccf547c841e18d6291aec3ad89dafb3194258bcc337eb283061cc4abd14d28b85f1a35d9c4e81d3c553dabf41b01299c6e74030114c09bd5b5d7664983e32c916e9c8fbb25818464b9f1d7aefadd9c0c0bd701baa3767ca99664b3d3ec4074ebc1276b81a1015061c0bb889e6a79aada6054d72009d5b4bb01edc4796d0b00139018175d3750ea2d96612b310cb53976998facc8efe3153e9b293e718538c225fb5bf9e1d8e1c7aeff0e6f0b01373dc7b3d0731633806e513debd0b4bca79df3cf013f04483dd843807890d1065c58ea8edd7ee0055a7091f2a98eedbb73d7cc4065b2d874d29f11c17634db234224e2fc33e9ec0a5b1772a2c67aba920bdbd5ff177e853ae8984fe01180d6d5bedc3f4d72edd042b7ff451602bc2129540e6abd34ed59ba80e2f60440849d785df819d84c5a09276252951ce60fae9313e2acf48d71d7caec0e9ea295a3a1994a794604f7ccb16d461fd41ab6a4f6163a2aa1cf22086fbc74b491c3b4daac594c8af7cfaef33f61078bf6581f5ff0c3aa833aab6ba0bd8f30016797edcdbac9dc369352899f018ef0a13e439024cd62a0cba8fc3aad3475329f34c875221858699d184e6735de4b78c9cfd0176ada6ef7359fb01578419207ef53d2e8eb9008ec0645f42633276be29ea39271e85c1f280dae19bc659078e502ce862e3a4a9ffe7f51e25c0e7bce087a72ccabf9670ba25f6583fc2adea387e1a4899a77b8cc45162d2cb2fb61350812662477b407f9e54ffdfc631da8ec93004fba444b4a286776c14fc9a0a35c1d9a5c1c2a5ecbcc53728ce96a54f9af5c36f67af67dc314628a4f8caf5f937a1a5de7ada57c7f0660f52ab15e2c4e7443f1b8bef397bcd58fa6672e0efadf9b4edfa6dd879ff9b7e1254a14b834ef643080e40e755b7a8485d0ef24be9d2ee2045ec415271a717fab2c9f2754988d008a5fc3725a1fe63ec2fdabd5677133bdea1216f70915736c5946620822027714832eb0ea1a1f57e70f48b43a592e761a9d60bc5df769130d5f31566aad2aa467cb1471c8fe25f8142800b13cba6f315835f249bacc66bec504a0ee58350d2205efe8b1932412048b834112bac40bae8628226ed9ab2fe08803d1b43514d751f6c387f05f4d357364a062d8050ec51fce91d59dfbd10e7b58515634209e87a8b03a8e44055ecd9f17a3f457b7c87719e8fd0d146b8a16c1cc6f5c0add30f8a198f697a8e776095d9ebb72edf10b5953be0ab4757e3115d0d34ee1997b048801465929fcea736847c7b7e7e929f1fa8aacd752eca35b742b1c63888b89d5013d2b3f1acfef573b2b5946f7313be8e95308c204742dac4ab020f61e47cd33c97a796be8ef4ad9d8c3484da4ffe214dbcd7843c13324a7072a0ec79aab69e6c4b2cfafc662ef1225f2d61822d79b79e5e406b2dc66517a8c96d9ec8c2750ed27bb6e5c99298c297408187e0fe0c93cb3d43c3800c6d9b45b49fb9caa3a9eac4cc3e8f2aa1d70c5f0f1958e9b1969bb7edff7008a0af3b8b4170dbae30d42d473d554c65eca6eb9a05adfd87f4566b34c45be1a3de1ec18966da0cd79db49acbb7a0e6718b98be32e634ee95e2bc68841bae0609a790e7126dcb199df95a56c6cbabeebf1c84985d03605f1718a446621780c93887cbe939a3977387b85e0bcf33cbc579cf1bfd4701f746b79600174a4fa5f208da424f917e623be817c41408bd52a9bbe56c97c9e3c3d8962e57936e75bf5505f9a7b91e7d33e1bf8ccbff19dcad7feb343e675dcee9b6774eb95508b46659ae105cead3afc698b6bd53237936f58e9c58574c81c9c0756317f5fb04df45d667644f5e4e5b3e15c5309021a166a3082667a1b823d6621117e3bd90bb1ed6a7292fcc38707164107b3d15356ff5b1500aa2cf3ad06207f7d10be1501892300301ec4110900055c290aba2f75bf0e37ce9ff4d593d30e1c6a77cc4b0956c9aa3301c9d2120b026e925c79f4969e582cfa786c371179dd944c29a6ec327f6d4bb5163973d35a0363feb1f06d0fcca1981b540497a240d732e5fd2d0ecc2bbfec6539da3103130eec784f7936788db36350bd702e70dd0b212ff2f101f06660f21e866a4fc22d15bf8d1b624737739d94106c36be1ef49f4e761f0e3bc9c018089b4056c26773fd30b4369ffd5fcc684c74cf37131ba4d5f1d8d5b4abbe6ef3a05cfa5e023398ccb5010607896870ec625ecbe3480fe3d2fafb46d0372ab87019ce7616b22a6de2c28c695086476652285da3e73e22c67741178e8494e2cbdfbc371d0b9913aa1d45c2fa8be92aa35edc7358340de03df46a836b5cf7c0526fdc92860120b2d27dd7a6c48359a2b4f1c2a809108c61a521353f18a1c3068aee4d5e4ebec0f538e5466a7c30a5edc97460ad57a5260887d8a7419ebb6cef82fc28d84be8a13ff46551971f973fba3f87c79b28243eda5ad637d536e3a948a8f7cf7d9702c6f207203fa151dcddd0e9cfe18ff6cb6a8fca7c6b034f41c2f2d2cdc2a6718d40c7adc1948b297107dccc457af7a5a3c6e6c7d718bff226837aba1ef52b78b8d1cf612d046fc2fff055158fe6264e0b2d35c807daa7926c5582d411dd6cba03aee3e0653350bf964bb0f46b5bdb398aecedc91817679194db3ff4ed9a243a0b628b0c7204ea62ea54be0784b4f005e0fe1cb9ae9f763bf5f94e162b6d27bbc018c53101dbde29b20a0cf125efefaf39ab34064007ef6a7374690da3ffbcbb7756d553f83a1f2903012ad50c2906e3f120b8349c37a8f0b238399185f6c9fcf48d8cddc221c4814c129cccaac9cae05ea30a269627f31b0db12c588fda1b3dba70259cfb8ef424414338b6a0ef614e336eb3de638ed5c0fdf609c8de969a627a11c5ce87db2eb6093da6a4c8ccc6f9653440db42113cbaa4631c867ad247e1cce0f88749ea69663903aabbb367af425414f0de6c7794906e56bf0cee15162bee7bb1d457cb843c6b6302de05e9ae013b1ff4b5d1c2373920c6da0170abe7e11a53a40549da55bd95a95c1910ebae5678b214aa0f79e5580426dd883deabe161041a257eb063aa5a5bfda91f4511dc704f6c04dbc36991f9dc7e260fe729e42a8b469bbdf2b61d103b21f99a12c51c007dbca63b9b7b9225aaff1c9ae5619a8f5860a9c502ccf33a54e7d8b9c5c766c0550e350ae75cafa207376ef349fdf448343187d84a392f6292351cccd9170008f27c2c1f5ab4b90eed18eb50c7ac8d74a8ae4f42de8cf71cb9348855585ba427e84452bb4a4a96a8295fc161396654ae6e32374597c42658800da95774d9176e5eca0f4f4dc65088ca4e1fb6c321e05460752d3bc5f2bb84044e76358b4dc5adf37c1401e033bb1dbd7b2015c10bf09e2b3269e9cdcbbace94e4c185680cb795f2f4c8d5ea315e3979e035b3807d6f43185825d65f6d61dc5a2d06b6ffcdf02d832dfcee64dd6b7b344e283f84d63b69c6fdd1b0deb612623eb4ba64ddc528f32600886e07f92441536787d9c57d956cb595378d40e0b3f0c29c71eb39fa112ec73ef745e946514577bd0b5154e5079cc6a1f702849ebf8fec3669935e53e8912e3ff15539898fc67f540cf1870f9e7aec37a0b38e2b42b2ae2d203917f68c9ad634da521b75fde5639e2ef632308e553ce827167581631e45a8306addfeca724461bb62f9b11870f4c745edb76e98ceca11f2c1d9df61db497be7df169d88ef108f6d83ec5e8e58c1be06a092e9498262069f9d4ecb9858ba9b6306aaf390dd65f692f8dc5801cea1f1ad6afe67030c41dc7fe04a13d531ceb76b5c4f6471807a047d485ff9436ac38314cec8f719729a530b5576dd175027b6acda68eb6d0048fda48bde3c8062c0de21d9b4302e722bc45c6a164ee2e34cc7d7b056649800ee113133ae432d5a0c4585b61c9a06126bfea20007e4895824fa4c0cb66a0799de57395b0a96941bdadec7e06b8b1c84d7e4ccbddd96cd3365c46abfa5fec0992cc066f315e1ee886fbcf36f336047e82228d90e2327de85f7e210b71a9afdaab721de7576fc79633f72d2e9d14d299cc58821aaec4f5815c1f9eb5ad0419583315d32da663127db5d0874ae3b6eb34c98e6b88fffe29c72f69ece950125cb1248923652484044274824a162f5a9918c5ad2920d94120d4f8e66e8e479e0d594595390a9d9f668989b33e14f8cf9524a803316dcb77dccfe9c12f1e674fe1dc65f80fa55ff67af381e232c6851ed84f3df828762a7b85fb48194be4d56dbf046384b01334fd9b7553f5c30b9f140ebf95cd4b0dd68e5c24a934fa9134b25f910b27fd1cb0443877acd540fe010d8a0a3a5390d3c924704e5ae67ea88859a0891be504d205ad99e12b0b69961f9f9b519c3f80493e7f43e0d79e508257d0448cb50f3bb18da3b9d6da257b8ec326344532b2cc39c88fefab547b65155a2b606a590f0ea397ad5654b6d2575ec5323848110b44817afa2073bf4556317895b1bb7d84dfcd946d2cd204422da0bd8700a41125051c781d5f6bcb4ba3deba6316dac72bd0008490307f2a35a290c58e2002e22771088c22e32012fef7866184b11438b83426a17bf42da7624102e72318efb5713e896f4bc3754fb94805cd818f2bdfbaebf852d28fb81b5770696f847805fd503411b16c570918285d7dc2a8ac62badce13d2b429a4cf8786cfd05829c82c4defed0ec0fb949af235e13fb4efcfaa6cec646556d52c2b2a8101e80f81037dc26010bc01a867ad7b6b3bd891019db59849cdb22a75bbe41719cc42ca45b95086e8a636ed9f51b53fe6578e28a81957d90a2397ffe2d612a2e4df6ce4f319b845e61dc1b27e4bdc744fd725dba83769379bc80a6f32eba8d18515503d01150c81f36f4c7780ea6b009eb3eff5c40fcd156cd27f0b214a99a258207d959017755e3e353f6d48c29eea7d42305a9e6fbe5dc6e7a99cffc3f2564ebf6ef56bf48fbd9c66dcf6d3cd85cbb5c571563011816f005dfedb32585e721337d1da5942150221a0171241006c005c63636d3118212b38aa4d9a7783625c3184556b6111613d4bdb0941d6801d0d59c7c276ef4f499d1d7e52f55ac8f3a9b0d2ebc1303fd3f29e6da6738863f009cbb4c260b7574ef17fbae5b114cb19eddb726a53fc13d7c7d58e9d6cb2e072d333455f4facd77b5edec292160ce6cc9a507bf9abd259338e1cba0554dd18c7265516479e9f6a6429b9f7c2aa04baac523730cd6332efb21862a628ec0e68fe68a584e9d258cc4cf410905a0a6f8b429d59c5ce248d8b1d341f0e0fc6a958449bd5f6140fe26bac179eeac2db7139def0f34a08ff0a63b75d4ed284a182c85da24821c2418094aea948cd4d7a54776fdd4980e6546c6774fd63150b15d19b77198cd3cf5e3419f257b5b76e00ed32459f1c9f5704390f137520ea5e57b00f53ea369682db80729690808a161129e8201091470516fdb8352cf6cd25359103cdf3e0c3121290c4ccc39d7eb40e2e3719fbe87b270036dca7a9bc12ef8e88463215c7ad6737e91b044824a7b50cf11c764551eabc03f76f054d9b3846ab17a8992b7aa9c25cb404a16ac50ead8fb940c56364da92ef8e017e9b40ef7d072f9a9c9ce48ded96fdc7f8abce7285fda1b0f4323a74e736e848d6e1e71f275009e1a5e831c9fc2774f60dc264ad9a1207abccf35b46f077350619c98d7d72bd47c11afa8daabc26b841f518ac65cbfd4f35d982fc01e6d71f7deb0836ee5033a764df693e334f4de50b938c377d2cec94be2d716c900a949936d7a3343f25ff75ac675cd576c524afbfb60eea4f4a9da61ba1129ce6a3cd1b52f9ba960c8b6d8c5b63d193cc66d457333d56096f904decaae4fa3f632310ef342e73b93328a991844c192a91034082e048e523eafb8b5101717fcc6d3f9f8f1ccfa597587f3198c9d5afa6511e957fda95b636e137f2bc8d40b761966561d9cf729446e9d87345ad7187c1c8b362295b9cbb2e835b5aeeae582ad8a2a3411f17f9aa930d1f8260b8f3f00818914f04c961d789dbe4e9bc870beef921ed9f797e0065e8fdc5d2cf8bba0693b3af9568dff3327dde23837a40b48dc9dff09aff4efc68dc3c67b4ca910f52e2b375590ca6e7d83f719fee0d6e410cc4724b85ce3983db13bcdeb47a6389bd4dfd168035c06270d123be886425db4250ea021dec37c366dde0667121167e8b1917125a41444c83df26c39cf0b3130283ccb614a085b572619dbb75cc9ecaf6b10ca17ceaf7ca0f6604340209be663ea8a92214afa6f8326b814b15f117897591e807a7f719ba116e0075fc1571b94340c892a4420e200129a4004572af8551c91e867ab8877586db15a31ca2edb1a6d66e3442daa623cfcd3cc4ff0607e2389e966ec19bf852f5e7d778b95b92b9059b58a1d861ebf42dac6677821b8cb1cfad69463b9429d0eb99373d3cdb10ff7e7f1364d0c8cf3d490cef7c4c4223e088830170ffccd906a2c36bca10b31e3a6563b7ae3c0ca1726d04ce42b989bd80ebad1c37e49d53a8d8c973a48b766c685139b2e7f68a4704545639506d3c53e5f4839fcafd356b3f1fbdeb2c6134d10330dd0843b37ef0f11f39cfbe0a951b1d0e9088ec6a9c13345068bf86719b9a558f83c66ff9cd2893099fae9a0eba7a42f3bc703aaa7e5f77f01c9d184019c8daa74ff10d9ff114b7f0ae365905407c79e00b7bbe27ecaf1f6217bb5d5185c1fab6cb6f6613bcaff47bf0e08eade00b71d91451f0dbba3932fe62f5d7e7d7abc5accaca19cd3cae37dd37eac61fb1c102b37462673ce2daf494d6ff5ddf0a17097e90c522f5e00f06dff99866b9c253075447b86e8c825a020ec2efdac668b4d0c389050553992a384732bfd8f0b9406ae7b7d6ed7d290d4ee119c1901b216d91746b77db340cbd53fe3d2e165954a9e86113a3542c2305d18bd77e176e2f0855fd5070e6556a16e8392df090a12eb7fdd7d7fc8ca2cb3aa3a99bff396d2584bc4fb10dd022fa43344e616db8ec8cbdebd4bad9f5cdcdb68eb9d6c02209497555f7c6563c848eaaf3abd9ed4c944a4b4c054944db29e6eb005da68c0665cbb80f42247f664d3e3f3509d2129370cf0195a07e6ed92cd15cfc507504753d887a9e53df579ccbe0283238318d2b93a33230597eca493b10063e44d5ddbe272eab428b57b51010cb2f305d9974a2e334858196acd28c46aa75925a2705c22da49203f75eef5c8f92865711256daa0b13b775062ee327702ce984701485415b007557004f22a2f1cfe1debe2d6b854d79cec9996e658976a84713156232651febffa21e142de782bc54a9da506a043915ce341b14f14baddf01c58c311432761db46f8ed8fdae96d516b0e203abc2178386cba48862c1681315de144671a52a68c315bd7d492fbd43b4245a2912f1c8b66f1696b52651711dd8e3b960b6fe314063781d40e0595c817baea9ad36a7e445177fd8964ede4485598875f9523402047f8ccdfb3b22fb53aa430dbb449e7eed2922de158b380410ec9c661f590dccc832e557eab073063afe71cff5fc900d08131d35cccbc1ca8a49148c2201a4493c94208022eeee23e2bcc1d7d8dab28b61a833574c4c14b594bc9255a4b81fd8ed5909b9e153e301bb11cd42cbf4acc35ab5915ff552086e601bea42ffd5583d676c85c9961feb12e0eef1f3af4569cdce274e0dcc777fc8289533353d8568981564c3d2608ab8732feb12cc33083378282fb592e5a5ace6c5fcf26891b06af51f06cf345ba832971f0ab8b9ac6e00b8c6b480dfa125345a9c8e49e21cd532914eda7a6125641ee5b045f64dba0ad38c93711387ac253cce6d3b677063a183df3afebbc9151510444f65f70d00ded4be5786475f378f5c335f13c7a503913712dbe1e45273de13ad68ced47ed8a8264ce294a56446ed02a4d9cb5e06dfe62631c0e9c6d4a9d675d172792438443b2e108fb6868f8125ae9972cf233ca79516b19640d00baadd94c8390f05dcd9b32046d86c4a0a1243218825ecd693276aa0c245f4c31614ade7b419a4548eac057c35df69b38bef5b57742ee9f71e1f58a7962db8beb24bba8c4a7036cecbd08cbfa5b070838eab1a8a409b9cb1ad876cbf65a37b33ce1c6f9242a8294aacd9ead9509f3fa1c99d2da69b95f4b125156b9df2c1d83537f91153efe91cc7146ca796811aebc6deaa03e50fba1b24137e519248f0de54ec3d70dd82eb6a1e18d4a9f74b94219fc6fb8837e237b81a538821e6fb468787f487fce6eeec8386bb86996f05db2c68258cf60c59d898df3c78243af48646549a3cff3be102431516002036c52a6342d165dc2aee477303e7b0a5f6ceef4465a9a87890dc2913ab1fc7f8a990bff0d85c896e94104ff69d3be6b7d912e01cdf2c4b330d1185c93ee98068d014ec1118e5ae4be1b4351a9a2a027cad45a9e8f41fc9c3f2440708afc09f3bbe8663bf806bfe26cf06d26870efbc5ff55148a7f307fff1c623b58e52ea3db6113ee58277df8874a78d1458799de8da8e543e79f8fa8882408de84a7490e111d345e5790ac77d52789ce6ae164e7e8d058e244c070bdab551a6ea52af9565bbaed7e653d61a29f6d03cb29d2ad743c07c94380b03c2cd2e667cc28fdc3a5ee78706b5d11f1366cb9ad0dd17e34c578e331b13b30decceb79a058eefdad50e743537149766dd98dbf41c74ff2f4c1ff5b86e77452a11cf282b085fd97b79561fd3f49108e577f1381bd969dc051f3aec649d4d9505a53b9fc8c01f7c8eda6f426650cba2f7dedf2c4d0185cf590d3ca0528413b8e4b86aa139a40df844fae944ebe98274d1b471cbb823f917e7669a2cfb89751f3efb764678cee6d3165ec38258f5401bd1de211d38775a5bc67ae2961990b5e99bec17cbaeffc7be4e25bdc84c850f01b5dfb08660d9d1adf109dbc36925a396d26af28c81b6d4eb0bb56dee644223b2e3b272f7e15f91e6d1cdda2db43a183f6904f039c5ac4741071527a119b4e3957efd0b8782d79391d667b4b823c4150ef9cda8b8b0996a87ed5e93c1eba4c63641be3ef34949f67ad0a27db54f1fce93276c48c2cf565af4e44d4d35dcecad87bb6923e1b25504545873c554df59334eb1b47beead061a2eb50ed31c731776e0fdfeba1fe81e65af70fb49f84f7f43bb5cf34d4ee49561b5ca24a856f016136c7404513ff725c5b0067f4330ba94b6b203f4530a9539d65ee006ad180f6e5b99640dbb24d3ee0ade1f9349688f3dbcfc8b77501d6b63bff05dc6595238deb8cd0328ff22e97fbe4ce4f9c145e09261e3f42ca095175086a5f8ca2e0e61fe32714cfde23e62459443b46bd7421f27fb0e1d2bddbe17a5313d83d5a19dd1cc0160c5c0919d15c9295fbbfc76f44a4baef5a1f14eb8b0d73dec7fe67c30359589b89f84294e07e20b83123bef1c26772d81032c6859aff1c86cf48b21d47c5a1efa950d0dd8b2e14c085e4f76165e7f3f4c6b5495e418542aa7111d204a64d64690b8b0b3d2cdbd3d88084dad416079a2f7a697999265b546f08abc7d16a3a1bf75058dd7bde3410a436b844fe7d33c3affcd7705b45177bc924d7d97ca877143fada384c165e75fe9ba3e53f8973e36ce8f6bf497e4a527426adefb8a8eee72a716f977da05a35e686c4e0efdb39ce786a560b2c2da169cd91f5a06c39f7cdd1923cd45fcfcdcf561060b467ba3b1fb1ed7728e55330aa574caa89411bcf85b95b3a314f16b36c85119ff210d99c5117f7d4037666a6f3eb1aa1c646f94060b4e95175d48e1960634777e4c6947180deb7d60383e884164c758eb3704bb33b428d529141420ff2e5cf3bd7cc66243751fc32781e27933a8c3fb244eb56247dfceb0cd0c17eabc749ccc535ffe65960aa20d81d94cc0f5ef50aaa0b383fcf842f2e0f2d76bf5f2ea9cd93eaaf1914b2148de92db58ef9449d350b3bc6a838b4a398e1453fa88cdcd99882c94b2df7e54aa123d1b191e130569a875fa7b9b188e58c1e70a269b0633b479ddd228f439849428b07543652695fe30a81a85c7f28fdd8e0890486a449495d41098e14bbbacef0f3ecd9da343f953810009bc1cc3cfc58c4db615b276ab7c7e7e720e21f6fb4b0a2ab2dd4ef3500fef202736a608cc84a25b9a78f57f90b4ecd39869b0a02668928be6e91bfb8d143debc469846fbddf1c1bcfd31f2aa9b8f278796627d24501a3b21f8af55fd3447240d5e0513f40378e3abaf5d3b3f18acd8604074aa5131985593502979111846dba400c11cdc5489a7c75a19242fdcfe462323831a3e32119b39ef8a62cac16b3c848cdf8352f7fbe7981267b480bbf2747ada33818904dedf5ee79463e98660d800e5cd8e6c8d79a2d867977efeedcf07cea83eb83a4c1781083e0301492080c830bcf5ff0178145dc3e190435882a42af1b78610ce41c5282b0e49df5bdc15fe0b9f1feebf633e4f301e4fac09812dba5f0a44bbfcf423bcf972aeb4de4d0e330967a8fa7f3d99e9e770467c277b0a2057b86eb175f44fa6f0af84abeaa54a7ded98ea61dbdd8ca46b70a1d6f5a1109dfa1a4aa6a703d5cb24cfb8c4d39b051b95771b89933258c6e3c56064b7daa99fa47ecc20fc028a329c7ca9776fd667c57434db05210611c0f3d63bb0cea8d2dee25f0735582aa57a840752f0694ab0dab2f4a54d38a488763c00b31ecec169ee3bd490c56c62edcb9e1e4251199ecf5dabec65560f1abc715c6abb392cf96f84ba94d8317dfca0d880b5eb8267bb210f0141515b34a2c750bbbf23ce7ff59b8dbcc5cc81777fd3869d2b3a5b7301ad768a4db3d49983caab3b77367fee63b5420d15db465ab68b001d1198a160a92b2432a78732ca7b7245d45519708557bdc230818f083981d8218de7ad758110a07e4352db007eecc98774577364e36d275143fec0d7f762f3d4a19299457ea4e224b04806a6368ab01af4ef8ef11292321600c014ba42031a2e0fafa9dca37a4e8b5cc7868d3bb5c16f648b7e5dfe14dcbcc7643096eeeffb1e3ca789a2ce36971ab3302812e3f24f42ef6b7a5ff409aee61f987fce57cb77b089a3fe7f56b67a23c443ae7440b76bc6e2830cc3a80a06b749b66bd176d008f20d3f5c0ad4b2f5ecddfa52cc0adf3afa000b14b36530b8bf53eea5f7ee3cac423996f0bbb707453473bb426aff530e5d82ac5b0312a441297c4a5bde2015470a715b183a4e0719b7c46a7e669a1fe4713c514052c2fb763824150420fd6a1ab776ba6aa545d1be117f5f52821cfd0fdc3b806f70f36a3068bf34bcaa47e672373ee148516d72e4e7107c7ab15be8071fffc165e982912d1dd58d2ffef9568b58a4687d1d44ddea750d8c95ec9c090323c99fbbabf343bb32331c4dc960b7b0050f32b366b8d0270c2e2f4558c5286a190cdc13001c1e1a8e042d3fe77ced7960ff14d2d7a7626d56a22ce7995ee57487457dc6184952ecd002a7b424381fea5065bf83e48f23997998cf6437c8cd9fb48ca96dc0ec642547b33ee9de6c7d79455dcd79885ef6f7ba0c5123325c9401f95dd0ded532844a384bcb63c33d7b9497657425fde18a59827311a482c3066591bffd7474ca07542e9b7298bf0d7c1e8265be1e2fe4ba05b43f3226835dd4413cacaf74b46c03ea1ef5adb7847510bfc2643b6d9d2911366506b4b78fe86b6daaf5d87faa4edc21e3f85c274f6a5aaf9daf8a522b531006a9b28d35301831ec626b9b7b123e9a3314ac5ec9b483802060abea055a5ee54bf38eae5aac87347da3ab3e164a39cbd080cf3beaebd56fbbaf14d1e87ecd0ef5e03bec2936c8e0790413a6f3f6393c1482a00db13d31927d89efa5e8f24100b82381c8e0492e0035cb43af5be3d4ce115642faa62c71932956be4f4c5059a76f1ad339f9f21b40f729b0cfc1e776af3e0ed03733cbd02f712c7387e31f264bb73fe334ae74f1292a0f8c70ad3d171664d9b636188f879b71591694b41dad72fcec0d2b95d04ac085b49ae72c8a24b09285d19d4cc46053c82f378d721caa8be86f87d3cb21f64cf7b5c58c2836e6f673dc7da684171947026aa5f0d401dd0759bdd40084371c9fe16ab17020f94c884ce048ba8f697eaafe9575001f784a9986973288f0e4187d217da45eb35b0a3db812e9baa71d5ebfc065f6da2693ecc30d0ed5d3e3a617f814e503bc0b0d02fa910c5938c3578f18ff4afbf71714959d89056654ad4408fd0d867b827826b873ed9785f14c8be9a527c5c79b1bd1ff7384e3fe50b4900d4b46ccd6473001c300496f79b04eaec41240c1946c803aee22ecc816e7f229036efc8b6c6b2ca2b62ba82caea7a04871d9b22a168c5babbebee7648fb57c5c1e000583e551bea52202305868e06888679192a0f5f52c9967f6cca8c2fa5696e882af2f0f5cb6738028fd9b8c3fadeaf63e2c0e5d4b2029442c3ca893fa92df06945df8c404229567f9e4010cabc8047f1bcde3877d095bf588f8d6e1786bb8bac4998d31cfb1082577d9d0a719a2cbffa77393d1f72c750c02b3a0eb8493ebb8155618dca9662790e04fcfa709164a44fbd43cb75781c4a9be8af031ffc2add657de8f5da4de0af0f33af5380a6db0116167455a7dee7d27195dd088ea1d03c150f7f5d62fffe760c0f2b62179a70de9b0b7fd363f2aee9b41918c35d7a8a4db69145cd7b94dd1a87d78dffa44e699eee4f8f824e00d40b3bc6a14ae88c9c29232261140c06c0e2f00470c5f8d813f0072b655b8650d24f955f144172135acd7cba4af1ed41eacaeafc700ddc06d96d9bd3e1997bfd7b29f53e1baec25408e4bfc6603ee73aa01b5d750ccf5d7625a30c11f7b5bf20a01f762b72d44891347e5ff0e9295a59fe1880cd33538ccb2b707eab1cb98bc7e483a2bdd7674889eb0c3e523f8f40ac161abcbf8225eed1d1ad2fbe45b813fb80ed616cb60d7d42ef8b5a3599c0248ae548117a0c8e28804cc6dd039d0f71a4732e0d625239f15ad8a5caf3f95f2a0632d833c582c098d37abfe2b08ca8a69d137847986a280cd7bda6ac6b6e84039033a54fc4dbe514776ed56f4e907805a57d657495922fe8df9ef7dd78c2eeacd0d642a8ea9631888d60b536c8257fa93a0dae35202d6b0eb5c125ec56e4be7f9dca9377264c72a14192e1eebcb87eb8a7f255ecf6b920847cf84ecc70d9195ebc375ff84f613d49e073fc02194f8519694378d693575f5bb2769ebf678b81e379e3f40c921e3dfb3ddfe4fc446ab3feb639ca6729885021ff7961e267baaf08e0e8ffdf7ea52c03ee72dacfd9d092e71c1b64148446a8d380c8e75b92706aa5d07f2c848daa7a76c940a3c1be05fa14596f2e5580bf35b177576c878cffd2532f57cd4e7a81007641b5682bb89e0db75a8d3863efd0f790a29c983e4f1d748e4b19ed51ed83d7e1543c4be8e356b308091b0b9ca78178ff36bcbdae19802c12311744271962cd793f31f846ee40b37cf83c1ad2a29e434de2193cd2835716cdf7da41ba1e1b80f74dc2fc020bac35c68e620e9dfa065c0071801f60f45f6c838aa63b70b018816333b8e8715a603926d49e94d69236ceacb09c9f917c0b840f7628fa1187568f17321301e9b258e1a795a9e9872bd5abb87f367f76c82ca4532e62a40cde67fa06bf8168fbd467ce16aeb06c758aae530d606a35cc23bab87abcb8964f5507b5c2225dcba66aecd004707e5df12f5bff463da056c9ccc242d8d20150803d5abd7adfe3739fd135b15080b635e5cea568c21fe1361fe1bf97d12647f84a4de194838fe826b26c9a3cfb4661b92b4c5ef4821bfef94f124ffc93a4eb79c7ca6319c30016a605a710e2bfc9156f6e2e76c1195971c9a4921f9d0fa09ce960280c48c164da2dfcba311efa8a5a175d0fa3c047dcc2eb30e863dad70fc6e1ba3f6eec2f35ac69c05e1fe80d2d8d9c5e81128b4bf0571065e51f68a1d46f4ddf6c78a38503a0a1e44e4d382914c93178cdc9839e5ef6e23c2adc727e05c0a49442920d48b2727fbcb21c0a14b8cb5c24b24a2cb44e7c45c22817e2acd6c597c34385a453e13b26c75b0e47cd170f7d8c2a4e4466448d606988b83a1561b1f51cff3d84c2d03f876be785ec86de9fe8166c8b882f47e13fb7bdca3aca1cb6c4a7f6b3073b6b2c201a7738a842a8918842dafe8456378c7f5a64bab9a9fa9474fe78916caf80c9c5ea3f0687f45936881774eb5e959a9aa297ebfe8a061e983b91ac50360bd724686cd068a0da40cda48e0332cc9507b62992be13946748cc55e07f2d6929f8f668ae6e63b95535290870fa34d993e479d60e81162be157152cf2d1788282596b2900ba1af3f5ac69a8113c1a9b3a040b5131140807a329e0fa09383a5d5d8c7e0d2a939869bdee543314f63870ae5d2f005583f58a7d0b63ce5d26aa19ba59b725f8544e22126dd6ce7fb912f508b7bc6f020fe57b0a98d0c75df6b2ee0c415b91d7b25490bf08db59d40ef30eb254ec7b38a2ef9edcc74edf4dc1657dd4fe0733b2f901337fd69680968faee720e6b60ccf70ecc619e2df8ca817dd160e9d9142d489c814ca6f4c297d2e797a31dc31212c4803650464807badd11abbeb0e4604fe30e3bcadfdbadcff5b4942065156711d8638cfdf16e19147f6ee49b79179a9aa4f6c5b3d5b0d5bffd7770905ae7c1b075d5076482e6ad23478621c6e82b02e768546e59a80cdb2252cf6d808cd5ec87f00d6e90d3e27af018fd46a1038d9348b0faeb66cbfb6c416060eefaf95320780c2e100746618abad6980122c69140c198dc39360102411c185c5b7707a5773ecaef5e7ccf3eadd53ac1d94aec6079f479f9873504c3b827ba79578d9ae2e5dca073cb75a87fcb99e973537afb7ea60f50f61b0d98d74d6128cbb0c3b800965f7cf780b89e45cdf5efcfbcfe758d5ea238386ef27c9e94037a5c78c062d97ee7901864d4d065311538f33f3b17fc0d541e0ebe0571fc8ad02733164e8e63c32941ab97bea738661bb7e44c15cdd2e45feee4ff1dbc9da0e772dedecec45f2b975385372be1320d80fc6f1d9f2fdc679f00a9dc192438e6504483ab730131c2aa7c966b7074a3fb74b76e159273e8329e25268862d11928747b1012c99dfa67a0550450c1f5f89d8e19f7fe029c558f70839538590da28ef671314a56f855fc4bddde3561a510efec197bee0328dd3bd56b30a5abfb6fd999fe9433776637ed59c0cf28556ead794fa3fb7ca3f79f333e28128d8a6966b8f9ced77f263eb5737352b4bcfae4bf7f68751ead7c2bdd3d7a3df6c8cebb1b942edc8268a707979a360dc96645a4df18df38e739b821babe471d82242e5314878165a6bff4bc0bdbd8d0cd91dc85c1dd51678e42df2ca62e1d5966ee8bef727e1956003251b0389a8b0458bb29d05acc0fe89253edc3ef16be7fd52f2e479ce5fdb63b24d38c3b9a865abae0596e631245112551fe7363ecc0ce699e8d67985ad337932b6d84859fec4f336c376c15ad684a4989ec34f6d647899704de0d948d2839ae0b72a847aac2aaa18d2482ebd0fe9b0f41e6f4144c4ee536818903dd8509723eb7c21c4c85526b51ebbe9f260f4420ba0c25a3f3df0dab5b6fa0ec61bcee5bdcf6c36f899a21e8cb7c008118942a351d1822b8b5635caf2536c5045358ddb6f6bd6682fdc1e0424660eefe50a92ec9acfb46171c6a5441035e4b157340603a7f5d9aa5f1935c11e48a1f4d745c356420a0b43bdc7d50472d7c49e1413406376c66afaeafb8552a16fea43222cea6aa057b36b8849c5ad4c04bbed090b373aeac601e5e84cf75dfdd864d2d3a8eefa9f361846de42dd3ea256b918c642d8cadcd0c031c94b9d9020ca635290649e1ca66afb83d7e68302e82be4d6f9d8ce8ddf538491d52fc3ce0d1ec6e316266497f0f36746ec185e914172ba41fb2164c992a96cc5f3634efccdcbe33bb738fdbe91e1067d1eb1fb6ee05094068f619eb0e9d8f7129a8d58343830cca650ed94c99367f89f4762618e9272b86e01d01ba6df1a74eacba35fb4390a5f00d4c71f3cc94c7e1490effee781ea0957b99d78bf87f7ea35622ca7b285c77570d35ffd0748320932aef2d49b4896e95257f8cb2b7dc6268eca067728418dbfe67372a3ecff32fc28365150f7f33af0adf7f65da2ae9f13a7d2ed90e64801b3745c6f0ab209487b0d057d066835e06168c5c6f913c575e78ad99193c79d67a3198b6b29c9161c0e35ba17364f99eda2cbddaaf8470be8c6b1babac810ffda268c121b6dbb2b425b1bb4bfa2fe991f5a3619e2bee8388769c83ff91079bffbea0ab268ba607898396a04465b12a348e05afaac6030922aa7fc437884c1556dbf80b6fa019f9528b43265ee1e3442c09503be3167954240c2c52eeaf41e25ff6cfc869a846ea11ed1ec7282ed3454f6041b66be533b4875af8c3fe812565555a1d71a881cd97279550fb8400680f9012cd48da2aecdc8bd660b5d704e0e598697bc3fbbe2f1a964cb301a9f2db0e7fb9e1193f2eaaeb8d8ca50e16fda38f17c277f2dbec1ffca9c030db5b8cbb2de70f044fef3842429e1b1ee2c452b9376b7ee2e22eddd07eea673449441ef1225acf563d0330ca126da4dc651722696d978bb8ccbe6cded80af73b51ffeaeaeb674e3189eb1c125d4a54c1d72760beca68ebcbe82c3ee80def4233506e7cc3822be86d261c8d343e41b9777269f71d3971753542bad4e9118e06fd92a3cff0dc66c01073cabb8414136b98980d243314e21bab22e9277a5d0853239bdab04ea895eb3460914fa24ebac82e37af6c2b2f3185bacea520f400d3a7ad01e59b29ec869611f71bfe03d9b03ec4f1d378e49415dde4bed84ebd217e6fdad7c0632ff91b63fa72b9e7f20aaa01c37d16fd440d4e3c4814f81a02f5f0e982bcf5526fbae098c0feac2a6f52ad90f5f4daccbbb1896c06ebd814fff2c1e975c77bba3b955bfc42d39dbe3f50b423c5d1d66c5d3314aa2e15bf42439924e721c65bd34318a9d880a9206c34fb99b8498f76e5cd51176fc889b8ac4a0258ef8cb4b379905ed510f2eef6d1aa5f2f4f2a016063081b8313505fa2b075b834149999a89481276d214795a047d6262b4a4eb64b148af9e43ccdedcc723fda375768e521ae01d19cd12bfefb460bf21aaf3abdc87b3af4bb893cbe4c834695c6a61b5c0b36dde7e2b5a0f3fe6c515ead3916f652f1b8453eac7c9edeb923f5810fcb31695e2ca07317bf9cadc7c2f4b40c2c97e512ade84d3ea99365ba9163cc3b7d33d21338afd195b0529607db94062db67efcf90ab586f1f6f8c44bbe96bea9b0fc88086323ed70546dfbd5564e78374862041f08f84c2a139be25b03de8b4c4bc5b97df3125fb78cd7304c3e6612006119b4512b8afe71f717072005dcaf0ef1b07c89648e0c30d4f1a0892d044341e0f231424b8f0629ee354f42c56b91d1b0f527e06d76a58be521d985e462bdb04f096cfa505ea17ae7efd415f0d62117da90be7cab96df4cd11cf1d23dac6028eacbaa739d8e4df59aa2ceb02e70f0192acc1e4b166334e5c169da8dd898d8b0460e40ac61abb05b0a7c3e9f95be9199ebd4fcff8c28df0ade2a5b729a529cb5682b8bc1320365661177eb9646cebe01e131569580d8d7575fe62ad649d2a214a68e9bac3e65d074f7f9d13914a006c3453d53c9e5e224dccc28fead74a5559c8ad0cee6460dab8de2df82e36a19bc45570a24ea74e71604a45fb391c416e6a4fd45924fba47c4a8f79c00610c42d79354c62a3fc89059a77fe8d5530e687740892db7c03790971be65e905531131d9ab5e6ecca7c01bdcc355d735b234e91dc5d290960074d21935318d02b0e53c7d2bb35246c191d11016216230c2e0727fe3e21796342944e94912eff34e79dcc88ee4c05a0e0c6363f566c29b4002283be17fb95793cbc0d26096b5111873fb3b3aeeafd4d6a5f9e6402b2ac33295cbbd9328dc36a44a9de65e5c0393d85062de67052286a897966c6cd74a51a2018126e17f61a28f033fd17da5b160ae89944efa3eb7236f9e19b59f1a0352983747ee1be17f84d06df32d6f3db4a794331e8ef1b17bedee2fceb903725efca66fd888ea378d7b8c09a68d80d30c8e94c4030b0e819d72557d71abac41e34271319a99f2a3138c58ec51fe6da2f905f83ae327bcb42ed25b7cb2f2d1bc916010a41aeb3fce814dfc865195f2e5e74e1a866fb71b36dc48af6e9f80a853fc56d0f14210e35ee9658a6d855f60df0655b5889971205a5ea5c13539808b9f1a4d7c2d36bb2b71ddb16dd4beb36ef344a33ca7b514ebffee305acc2a8e3d9fff0ef985968383e8dfb22c0dd1d5a39f1a1c4475e51e586e30905ccc5d16965a2e1064c72fd688985f46ea55c6939d0864e360a896f4541d80fa3727fea1d362edc941ddf583ce07675f9af21c4a0a6002a08184be7458d311e3fe5f9a15dd8c3ca69111fec60d116417363ec337f1a06b686c4415453f89969f843bd89a4c28b5d012a133ce2801101686ab91ce2925bc71602766a76d4ccdbac9f2fc5448c267abf4e96a4c96d6a4505648a6d7c768bfab171f4fba018f43a5e444e4a527984e169c2752b755a17429686e4d899d912f575216ea55e5f0fa4ebea40be9cbde8923e66d52b6ceb85d69321cb2533be07aeb35a13c42c4695425f74a87d84ee13220ded2b2ff90cbe3c80292a6c825053bb1fd7580cdc151acdb49a6b9396ea53eaa0ed2e33bc3d4e8eb25c3ed277f638b7f8cc9263e74b38ebff4d27b49dc7ee8459cf6887a1e1979a3e6c7b932a35330229cea50247e7697e4aa70b58539b72a786b0795ec4995613f2c4755ac071ebf43024e742b5efe7cf401671ea2538d6584c74dd4cb7440fad343fb1640fca73d2f90da0d4306191805e7ee364dc478b5b37da4d4dd7a8b425a5ff84f04d5f312abcfa80603ba998de8195b830e8beb6eb99c446fdb34e3256b2b96a394e5068b1a7aa4dd5f63fa439fe5138018efde5ee79df57f1a91c8dfa5b6345196a3cc6a1e7ea5188d65245bfe7532acca3c1c3e0e56101e00b841eb11ca9606507f9c360d65cb1bbe9c122983d1200c2354341c0f812b8436234b22326a67e154ce8f88709918f938bf292f6b2a5f2dfb1d475e4e4afd623ce8a2870bb7e22a5ba090395b86bb8abcec032c23cc1cb9f8c98d6629123b77191c1a6f520c6479c9a409cb3771e188729d07f8ec705751c582df9379829e081ca254536c9f3452f578321c0731ea57b3e717bdc10fd680a52b8c6fb0d782e5eee8c63f49caf1f551e203cb37b82e92eba37504f122c6c833030a3b5be83746fda8959aa4064818b27d13d5b6d88dcf3520945e68b2f38c73d235dedfde8cc412f600dddc747662c3b1a178fa7a2e550755b2091b948cbe22c2cb48ceb52644390f59d4d20dbae3fa722abb1b50091799cf17b4e2249215e778cb6c67f9bccc889a7378918d2cab88d89e4e1a7c6476fc7b5067674d7b4cf80da06e3858eb8c99350f8104b744be856bea39a660218430461b708d908fc04b280f851e453b32667ebdfb5deb167a6c0254f5ef917954424491950ec5630b189da1682a46de3918b7433d85412ac87333857649c98e23fb48402d85bb2c9c7664f53c3d2b08837c36bf2dde4a1d37a682e5e3e3b113f405ae8067d73d0b7373f03e0b18dba359c12eaea91366a1c2213361440af9f9c512e4a942d97b2fbaf585aab69b97e9645fb84b8ff3cb4ced9fde1adab73c519c24b04acfb2cb93ebf8b6ebb83ee0efdea324ad1e099d46c29ffac263a92a8c139599c24dacecc8e28117fd4de7323370f5ef9706294bd2421edbbc4cc40adea7fc8cb119911610c8252f0591f5fb8baa0433589da8bc7eeea4cd73d04e9ca0c8df47f4b518ae9ad75acf87c77ef92bbcdb9549c9adfab495e0793f3aeef45b6570b86354145d54d3f727642ea25d51605ff0de9ae02c3cbd97e32bef3c3ad05b3cf507ac351f8191a265cbac75ab23fcf6943877350409a1b120140e17f614c0fe635c734a761eb197e65185fd279b13c3293937cb0bd0c4eb2080ba43c03ef01df238ed3f399e2462b054a23009113ecc0c1d5c42eb72bc2877ed887ba57961b11e5df4a5f46d0777284dcbe048f135d08ac6fbd2fff6cb12dc7b8fa561bb68a9c856b93750352c9363c56a8a69014e4b85921bff18143f5aa09b0b8d7e66b28b8631ddd27278a968c98c7e20682c8a384f94c63708c4bd390acdfa69d4f2d9e458b3426ed5b435749d033773156eceb38811a13e5ea0c9af1cfb10c5814a2012c17a0534b1630e587bee36426e85a7b5420288557abcae743424c97473595169ba4cb9d1f47b19955ff4caf854e3511797f4def9ae7fea05617433b88b6dc1db80310da47ab7bd90eddf2a268bfb3f8b66be2bdc6e8072d834e8a31130e35371f1c8d8c80ccee5cad8805d8e34fe74bbea5f04c01dcf0af3b8964b36322721455e50bac8c7d7dba417d26780bf909191465d75db043406c0d3ccc3cf9094381c16a410cd90702a34e0eaa130d5f6f82959dd9cd4c8a936c19459fe13a89ebd14beb2c075fff7d6704f26a43ff62e43736b6a39544c8c1c6193dabee7d43a3f3606aa88e02f405d529cc85d861938447b481b63e41453e21fd653250792b90f147912e95f0f3a013fe268f23a82ca224f9fc6a4049db3bd867998b6a9db6b1fd6473108659ec9893e8133361e741322f48a1fb62c03c43ac3f9f98d88c0d010ca1a211a09264e4af9134b9c2087a17fdac47bf12a9982a545585eff439cb95c641cefcb02afddb9c1984f675da58e6e63a443cecfff1758babc41c9ac6a0df0f4c3979be464386e2ec9231331579936dc9386a42757954eaca99d55e6c98832b0fbf2bccd87dedd080c9691618767c1924d6262f4722b03b47aaa7af85da5ab273337bee1034047175c53c028004fd3997eb5c06f460486c830818c0782cb4c5489a18093c2eee29e2acf3b97452b26c5832fada3e30cafa90854c46d3c747b3d7c03b60ab2fa71d3b004e67bd6f30e55a1ace1f03df2479550d1bdbd2e717dbba06b9551fac7948436e9d8a91f7c7de0e2a7058b7092554ecebb39ce1ad57cc998b0022b6474eb4eff998d8795f2901beb7eab4d2a0226410736ea0745687bc58f6eb5eda38bb4dea91e90215743368b614b9e8b93b40e99f6ae92e43897356749dbe45f0ed2cc0cb6f7c78857223ebcb409235ef741c53859017d674fc07486e02abad9f9b8986edb96644935ca755ec1e81cb9ae038cbf869f9b7ff2c99f257361726273d4004c34f90bfe96410c1765075c2517864440c0f19503a65218b913ce2c923dd207ac660999f5d1bc6d2091670683652f18f703f0305fe02973a9e12be4e11b2ca50c44203c4082b0380406d7b6993bae3613416bdacc4257f3515bb7f41af32912082cdb624a82c33d3dae8559a2e07ba63efa199f90f04d477273fce31704dd4636e872062903c7af69ac7bdc65e553af0e8cf8aab7f40395b13d80f709d8564283e708291969544474fc520dc160403f8ccebde74d37bbe7fa0c3b57ef88b2b1e79148cb34d603325608bdcaf2e886f27c1a326fa30dda202bb1f473638f9b566df5dea1eb156b4059fdb0d8a137352dffafd79281b500dbe266cc460ae091ccd40fcb3e0986c370c129d01b05fb2b9eeb0978356db93e796dcbd2a96545070dbfffcf89f3597f006752f3511da21bad6796c91386a6ec123812b27724679dbb136ef2dd99b74f62402b7690223a19cebab7930c04df6aab30b8a8cd4f791b8c878b5eb7ab081feffb8954c0d9840458ef06237af6e5681abbf260ece8934c5d7618c0ad074712e5866417c86eab328e0779bae9e19acf88d503b9cbbe4159648a406063a2e26198ecf91cf1af90d4d27a0559bc05df0b12c7debadb817f7c25b7ef2a83638b0d0e71c6ede4c7795ed1b12ecf9dd725f3dec179fedb45379162fd37762b7a69594917baf767aef948fd1b323ab66d6d5d356d21c8ad8c9f36a22e4fb739bbd801b8c472f439ffdbffa7f1d7f54111413f9052773deac27c825706ca57ed79bd549c184f8dc940e5e9859884ba87641d9f819fffd485505faa41d914990a3fe9dcf19e8ba6c73e5b2e326a9b9331cbd12c4c2bf31906040a97e434476fbff697adaae166263f334b5734b1b85334a16b1922589cee8ae8bed7308adcfab7ce479eea61a3591a2b4a4c7dd365eee1ab3a8e9aa2e5d71d0fd0c8855c6ae0bbf7fc324f7e602d0489fcca7370745d337b30928b7900994d7adc97fa7fadc3ff0594396f0aabd201971acc3f3ce697d0a71426d2294bd000f6e196cb0b5f1442649e4c464341b3990cf2b00073b6be1e865e9fc5c7f3048fe6c6e301de2f72797d47caa29b9068a8e41f8bb2df518c4b2fa57ae232f80083f5a71d7ba4fc6e8468e182453b57dfdf2eb716a2dccffd4c3ea338daa9306628a424bd5896e96523ed3bbf6f0345dac9e4a6058a6e0fb32a7113454fe29cd4d08f034964fadbc92469f7874c1ed421ff6fc91d6abc1bd793b8e5fb2921557e370a058f1ac6c0d7002540198fb789e87a4f23877257d0ed39d7ba22ab56a2e47ebcb1e73cfeb241f2a574c66269a70d97edc37371b2ca1d35e745ffa444a5fdfcd4004090f02f09c8fb3355d64b65b7e5dc51e0c865b48bc9be6330223dfd6acbd6a537df4ebaa1b83aa9e9a901a86f3f36abed01f023968117b3fb2d6263e1198310808a8682ab81b9ec385fd9dd73e8b8a2aed0dc0fe81df9cec5be5568cb04239b4b2ab05a8809d576abc79a020c5cccb91b1a7e1897cc219f16c286c6b275e0ebedacdffde51f03ce1f37735b7021ebcdd51297aad0cc15d6c38f304730ce20e9e7d6eb0bd6347e5f37a9ee4d17323ea9990d51392a8aa33c3bc2dbabaee49c69e781456c1651054d7ef50c3a6c06d9dbaa18d9422a8ff136052e28166fab73f2c19778c5b703a67d0b94ea70b70dfe9718200c72531d37a3599a0728b453461116a9cc53743a6858958415cfdee782e0509452fa91cc5b84ffe5692b10714337d7da08c88d6a853b428a57500c70f0ee42154bca900f3f89eada9861d52e7063d6747792683fd1dafc1b578b3bd468ad2b36fcf2e78fb06b1c702d6c38e33707528c04f122bd9594f2a2347cae7a527c34184ea964100374d9ef0dc874f01f48e322fed343f53e8e647d5070e0889e2aca7e7f1b04c32601f0038ffba7adcbcfb85766ad673a087808f1cdcb2d5aaa7651b7b5f5d9853468dbb4f2ae41a6dc5e3571ed43f997434fc67701c0f530b23dd7aba423c364ef8fc3d2fa46bb8f9f3fc9580c03015569036eca69c5c9ba599c45f82d0210261705c62cb4b250bf7ad718bb0446d5b729e24cd547f37de0544227bb68778bc6294959445d63126b9a455664e18aded771a6f1ebf6d8476e5875919e90bd3ae0ef0a211cfa8702ff16f305fdd6f3ad59b5dc393de4462903f20025435a125225e6239e64a83c61aa1f93850e2f0787bed238baa950b23f3a7a2cac1163d3b1ff76a4a8cb2b909af4402c00a879d84c43e9d7f1c3a77d3b82c9403d63308043c8b0e05a398e9223bc87ee4fa2ed651eaf22ce90c9f3a9e397b9c309f230319a43291bd97bba71673723c37a8c44e0a17ed34596b514d2f7027c16fcc9563c16d555e4257f4f3957d3d71731b3499498abb319e46c5716736b28298fc8ba30d0ec53dd05678a14c3c8cd65462064fa66715c25585297fb1c32d5012e7ab6fc2674dd5302c328ce6c0dfb0e2c845d7ff101bca5f7c68f9704264e259d9872762fbd536cd7f22c10bc5a718f86247814814050896e7a50952b7068da8039daf584740f54f4dd397a0c6e84ba5dea52d72b4e14cfee06d5d849ef4f4118650ff84d8789d01718dfba3e61a2da0a4e67b2edcd851050d0a2c7cdcbda45ae2647fb67c83dfb0f935edb0554dc9dc6d5c371df70752d77089769802eafdae06ac2007ae50ba3a47dbac6e8ab9e73c67508bf1b1d19319ac0f1975047bbb511e8a024adb28cbd35c532633870c990768d9d8f46336959eb4862315eed4d5ce8ca5d56dafd34815569af2518df012795c7169ba52e9c2f0e1826c5b034927d9392ec8778eb31c7d31b612551bc065eba427578e6c46a07d220a3befb530c6363ace643742b0d0ffb0e06a3fc6944e4deaabb2e45cb3330fda7ac5c8d3033b31754100843eceedeaaca0288393bc4050172926ff9aa4a6c6ea7f8456ecfc2a3d10d3719cb05d7655156bbbefb42447c1179c7527a77f291c9b7585f3197a84b0dba3e2bd7b8934f1fe42d56183c57cfdb7f7262a645e2d36112aebef9cf7d19f676ef51ac006511ee3da5da47cb44e00d75c16549c6e48f2f6b0ff5f19d4e2fc8b6f92311a240327464a5b4196f458d5b81cc75491da2bb1912f08c24ef3d0dca73ce56d7d0538d1127158d3b6d4aad930b2ff38fe915cc7f75e896957cc9b9d957607d15dabdd12ddd7b95f4c3c08fe6bf820d2d98141813a4c758ba4b14e459cc4b2f1a1438036f99c88906feb7e5ffb0c1ca2d2714dd1676f744fba9ad0da5f27c178a37065e8c36bf8480e4a147ee52305af4e1d70b240af417c8a839af966e4025f4c5609c0989d027d032c588f8cf42efb9aa7d51563c8b68190f178f32af07a9eb7a23dffa94873aee4f99dac8fbd3d5d2137bbdf878a31fdb5ffe6915d485b0b9df09ba34c38de0e91b9b1580adf3dbaf72cecaf332dc0177a6a13ab5c1f5d7ec925c0b96386519187e6c3942abe32cef9483565353e12b11c56fce9c3fcf903ef6ce5c27a8dd5dcf769e1de7f5a541bb6a05656c9a4e569bb013c68bd3adf7783b50fa3aa2c525fd084c30c60ecff894684c300a7e9a357106d3d6eca3888f129d1ffdc91db60d5fab86824f9e9d6d5762a75cab62ac056028e85aa84d27d045b78ff84fad18ffc90b5220fcd7b480fa2e85d054f834bd266fa66ccf43baebc00894bc0072edd699f196c8956a9550ab7c898def16a719a60868eb000155812ff3c90e487192ddd112fe67d4a02463d815cf38cbea51f2cf67608a51bf9fe5eb2c8b8007469967474e2927bc0704ebb8f7548c95360e65ec39d6493bf18a14f4c40966accd9d43c8289bd6d931c540e99f477743b469e03d5aa036b8e2ee6d8bc2728f31c04d5e7372bbbb5b44e51c657a4f5b755e91ea0eb74116fb1d34b98e3eecdfce789acb9ceae3c41c7c3e1e86a6ce8a6df55d45170f329d13e9bd65a5e9482aeb4f10d851adc46cef1930afa5ad7e82ea81ff1fe4b1b62301642bb2c39e6c0f1783d7815f0ca7f3e094391672c5dcc05b75d793650f734cb8d30988ff832fbad16a3434e3d58a167bef3f98d277b6c3d729d18d6fa65f119bd89ab19b669e784bc258b7d3dc7b08ce755001711ca369ca791c2502a52ddbb8621161e673fb65d0cdc4d04ab82092c16aef7c83c506a584b9e43c05dbf3240cff00662bef64c3b02bf490ca718ba5ab78688ce2fe737696fe27f259d45cfcfc2955eba6ecd70ca218b2c98c9f714ade98e0ee67ad8c3bcf0e5fbcb724a8697443a4611ae00b9f36e3510a82114110d14dc40157313aba150d3feb64199b472de7d019682b6aecf50a2b6dd30d72c9e79326572db557e4fdf5f7388cb8c56036052c4631a6604f17c71cf10d294f5482ccf1c62df74ee3d6c5256491ebf951c7a30ebea9ccd7a9b4bcf14cf899a5c13e022820be075e016ecf8c77d2e1ebd8617276efdbc6872b4fe8e7035cd4349a12d37908ae86fec247b7e8264e411d1d368c9956e40e97e5dc1814bde8c198938e76157cbca94b3816dcdfa95b380ffb3eee90166742d4a4c8d70224097202c7d48829dcce05d48ecfe3311ddd8a550100e6b61f4a7e226ee462d138e7122ca032002f0d06cc168a10476a1447085206f9461bbedf6f47b4e77b4b67e664ece943f58ff71a6185dd3824a33bb692ad8b826dc76313b4b9a1c3cce5112694185fc59403a0d2a07e6ae0823619569c6a3cb198f72e5c7bf8c3554f190460a910850cc522447015037a5cea019d62048113bc2b64d96e1cc9b2dd9de3745a9490fd291fc2ab114e2c3ddd63091d209c8c7cdfad25b2ecc6217cc9214bc23deb4330879740d68ea2f756ddd6109701b39fe22a2008bef1af84f3399635183cb66884ae9e74c567bd728ff6ffe9b573c719bbcec8cd6b1b4cbe4cbc9c6bb64c5bf1cafe0d23eae190fcbac55f1fd02de9a2b87376e6c84fee72385b2ed41883752968b3e280ff4afdaef4535683304d113d41f509509c3bdeb13207e71e519fe32c4d8b93188dd73fae80466b028467c0eb646b4d5bfa4b28d649712817fa190fa9d912e889242259a6b8d7bad5f05d66ea907ca5762cbba41c4804ce97dd44d38fd6137bda0d48f85a8bc060d32c7c84b00378f94e9727c960326c9f1bd2dfbc8effe71be1711da1979c77ae63c13eb953e6dcbb5920d8d12b6290e3395b2e4617316eff990388633b717dba89ce3994f7b5894b74e198d12188d1882106e739d633db837fbfaa3ea0a6311f2fb766913100ae65a836b8dc6e5181aff6c613556b9921ffe85fdc3eef4345f5f0c30ee179734f717d4f422435d5b1740dc60f3a1c39b5286bdeedd6a897e2717fb4ce89a15b4c2c9ab210b87774dfc7be0b513c4da2b61caa4e612d1e1530284d4601b060598272aed0685bade316e76b1fcf6b22a6bc26ff6918abafa26cbbb215849f68b49c8ac6595d7a92bbf0961ddd2a99b5f59a6c49d43972b6f5148c9df3b7c878c1c366dc49bdbcfdc82f15a5410043a5fcab8c475dbb963b238048294c158f8f214b0d821cf629f1f7ce991b59a3fc1b3624a0444ff84866f101d55b760cc49b983afa9511b40900ca3562587c4380d1d5c87fc9dc0a5f28ed5afa52e9831e0232997a2aff6bab922bc92534377622c37e226e3a65e56921429657df808b5cbc2f972eac070d337a868bda93432673dd1b003bbe132cfb53b80325d9bb66400b14dae666ebfe7fdd40ccbe16ec5ccebe344d2c85406f596e58075ac366937f0c7a813a7f3c82d75e4f47f2c34a643608d96c64209568f35cea8f4cab0bbd1eda88c7f46a6f0e28f5e7367c63308563880257512d95222ad7f3c8989e57792b0827f6e1953a09872fc84fc1e4b69ed5ed32d5b3e90bfce4053626ed5480919099430a80a8ebafd2ccb5ff1a0052250e93de27d842868d40635910abefeaa62bc3a99b74c3da1460bee6efcf14781b09f5e6b5556c3782bbd3594f16b65a687376383776ad01d103cb389b5e6e71fde2b94ac70ecc95f050ec9d8b36bfba84a432bfa788f664c706770b9824cee6f5fb4b77cd691939bd799c9905a01e986b428d01f05c6ac287e846582c720411308a37e162cd68634ea3bd6cf520889108f3cd4e9f294e40da860c133518eafe677cf915c5e1a27845579a7215e7c0d67049768ce63382adeebcc53a61b4eb862e87864b88bbcc317b8494e968a67eb090d1d869393b0281cb06bcf8786e2327a31660cc7b2fd0eb8b28fbd65e7916b42a327381654c497a8e182be2b100637bbfdaa4974f736874db26757aae52b2a29a88d258c63e64b085b31d3d923079c345cfe5ef4ad5242e49ecd5fc97a92849442dff0ec2c84530e77e34e2aa22b0bd51ea06d571a5ef336ed2ed6a96f38dbcc161328450cd44dd5c3e4918b8accd12a4e1193e56896122ded1c8d792c6f3914607e5e4104b83cff33074ba7fcbbae2a3da14a1bde451a691c43dd9f8a6863861bfd777a77a1d0ab861bfcc2b9cac7e02a833909bc9e600d813117a3537892303141807634022125cc7ff97b222c699a20acf328cb07baafd2b7c17c2d8613cee1cb06c9b2bc02bfcfcc31899a4447eff0835ef20e23d646368fbb2f36c75b58c2c6367d399e670f4e5de99d054b3a2750ba77510262450218a7ca2a4a3795b6230e130fba38b605dc106cdc1a0683980430d572e43ae72ff2175367c07313095d646191c99012a4fa2970a1f52a61be13f20b103d736042d1699c6ca3990178c5b4286eb3e4780bacc9c5751f7719c859728efaf3981ad42f2eff050c4df4d136b2cfc9f4f4cae0dc7355fbcc14f3046b74b7c48d5ae9061328b570de0dbde9143ff4e57ee5b950363df4f6eb074d1c180c8c1b579856e4e57e3ffed7755dc451f9f9422fd68f89d696368cb1aa07bd80db24b91afcffdc708060bf73a50a0219e88aac76ad400d4fc54c6216b79433785fa06f1c546814814511c05ae04426d7f699ae7bbf671239078208f4304fe0529e841db9fe05dcfb78765b728404b6ff9e49404de6534b4cb674d711816afa47d2519a31f0f6214a8dbe7cc2cf9c716d4079dd614005421b5576efdb39850d72086811ac6358faad4f3fe2ff23d028159fa7c2ecde7a7aba7feed86b2f732d024ce5b94d36f93604b5f84fad238c8c48e6eceae46d301b44ec765e95e0e8e37274ce128bf1484748dc38016dd97efa97e811e741ca98f58d04927c3f80276d036633df1993c6052a738fe1354df03d55128f0ce1604a0834996b7c13801a3064c3abf05d05696a292fc5920e2a527cd93e2a9721fe3c9e87356a4af018957caba10202a5a58952273bc6db8867780705dd850f96dc8cb575af123eb530e6a06b795e375f5c203227551ca9feee214517ccb952b51f4fb53051a186655d70776a479d16a0adc55d4ded5d07cdbb5fe46e0b0883af150c900d5fbadfe905a8511397ae225bafca600f660121df3ee36cb06c97ec3d282a8bde762439d819f55c6ac017154ffd901a8bef4ef06c0c600783d95e19b5e70920091c968512a0c64b4d0c30a94e2f6d290db55a9f1861c65a120ee58ccd06af03e64c1b2e14f8a71d6a6d76a310067d864b76eece2117ef02ca2de991b44f4194eda6852ff1d18a36d35dd3ba8373b9f61e12c14ffa9b828983157a1241fe0544e4d4a5d2cab4dd9ba32bdb253f4157da2810fa20bda8e0fecf638c71eb0c5afd6ca2cbb555339195f16fc0409bfde3fbaf5554cb4256c0bb3592a040f5bc187f7042f7d0c1f7fe315166e957c346c5ce3d9673548a463fb79544b91af4ed971355df6564f9aff20ae41f28fa4e87499c645370e09f339bd37d2796b4eafcfe928cc1a9f25d7bee0f5dea05a0f5d0649e21b6c380c180cb55dd5f8a5f18134939fb8863c8e8e07ed740c4a4f5248729e729a28c89e9bd19351fa29b1a024ffa8ff1552070b3751b20ea07e12de9cb008c0eb513bf5e3c53ec6e211125a9f3a048cc0b7e056bd74e8ea416e204e84dd580e7a12a669823f83aaf7250d3d9269d63a2f5564b7b3992390dd7d1196b6e29792d8cc73b2a137e0cde4ec823ebf2d176b3ce2e1cdf4ee7459cc4cea14ebf058caf9f468f0d2213929b7d06e6ce685bfb514251a3a18a227a9b2f355d32e64eed44174d8d92460c0f10f687778f726dc751833c56f320abf5054ba0554a264ba9ba8f9720ab55c39386d7c15972a7823a23519a4b9355358fe5770b68a6bf6b7de1eac945eb9f22c3bb6c800cbfff488c6ea62a78dd275e8bf8103c1a7ab59eeb863731b07c9fffc5e845e072b4afba3610612f8020ae1c4295bdbc91a3a63678bb7c1fd07943123be779ec9c4a82053da3f6e649507cfbc777d7c7c1d5b8447c8b9ab18a969690e80437c4a075cca87ea6f02dee4b82ad9fbacedc8cdbbf70511a6260f1981cfe17c859bfd8a24b2da7f32575e1518e8122b9c8df30709d5de424bf2b025a958faf7123b32fd70f18f5172ba06eb1f1f9f8d7210d40b007dbca18420710bbef8dc1e2af97e7f0ffa95f3dd94aa2dd893d3677e43d0b60eecbe16415322d6390310e01274a7bb5cb61c8313dda2f457ed34ab9445fa5375427673928eb3a9f72268c7d7daf0486767d9b96a80bc6e1afeda29e417cfe15d1c77638122f50250ca895d0f3ab659bbe4a7cecd0bd00dcc037cfd95f443e2fac3abe18525f5bceec83508f650c2a7d02b742ea6f48348bb501d8eb6e3f17a1a062522d677ed430af0e66749d224d7f32e737bcfe50dbeb950acd5952aa32332d85a65292263456c967b1b14af6b416ca5a165db173afdea4326376164403ce0112c168546706507a2e2a93383820be37522e61011bc3f942ac5d6d544dceed5e7fcdb776febe4b0dc5f00f195dffef3ce768666fb151ad5b4dacb53a992a22b7dc9637eee58cbeda5356fbe5cdf34ff18b9833acfe262efc045bc8228713dda8cf80ceacb8cea60b96ad0d078aa66351ba8c3921ee1706899bddba81661631e10372b5b6b14531d378444a2e4055cd321f6e45796b1cac7aafc6594687ccd17023b244f43f85b067b198f25e3cc26d7c32ded4b0dfc338ea8a862de689da7793073528f16924863a1ffb453d29b22c431cfc85009299e917af7160f30cc621eb6c81d4c6669788efb64921a8b0781c5c973dfbe0d67255ce966bfabb5aaf5e42605f28ed2c57aefd2782c1e2e3435857398b0767a33ffb8ece7cd5163005c0b5c6d70998eca7442c4c9da532cb1a571ed5227d72416b68939e29979f3c95c7022460942c14a45e2cbacf008d5d7c39ca08330c1b1ea04150cc8d4b624dcc5ae5498cff18ffd831df061ef77faf4b5f50a8070fdb712c00f848bca27d2ed506e7721a8afd84a1b63a8dc6bad850ce21949a9c54a0699ccd940d7d87b63cc2fac521f2a6ca171e2d71e59e4c033c7e7809ab5af7eb05392885af9fcd95a41191fa16302348255bf290754cb463377bb377ad774c84dddd4fe10b0290b389107cbfa4d00236eecb788835fc3693301bc84f5f45a1cd0f7ce675d4f51064589dc612fe6ca83e37bd1a8a0215be06ac06cf32c4e3b23ad1fae391e947da18b6e3fb4a82d71527e37625fbe5938e6029f6f8564d16f525a83424a873478d402bcf0838a2d09e3b867b80bbd5eaa94814418449321984a20830b71df20964784fd30d1afecc86cc7b76e74bd6879d3c13cf2cc56d2bd2876c7a76e99c82cc7d1e41917de05751221c692c806697422e44bfb3625ebd15d0af656efcd0e0c3ed3f67469d58419f23c7252140c97b94e8ca0e0c9a362a1722bf3afcb9d24091d98168263f02b63f55126f482d0e28b3c083886bb31c278173ba6f902fea9ff9009dd2489db0dc1f9a9def124bf557d439cb43a96a97e03e333876a9d82a5e2c15c62c14f15533267fe465b7de3a50a44c94da582a8bb927d012cfd916ac3e4883eec8e6efaaaf893a278d58c75f8b692b1451cedfeafb8974e7cbd7f5145a73f145beebaee25d00e0ce9e0840a7ef4313dfcf7a7c442419e09aea615caae36ce1b168776e682c06e9ea2b0f4b72eb3039a70804161f6cf29fccfaec5dbf3a30559f7b986859f013f6500154143402c8e44140217db07cee25ca13dffd0cbf81c40ef6786fc20fbbfa8f094a6064a76e8053ad2fe90a5e19cc01463f7b8abd1a0886f69da32657ccf5991ac6fdb2c781ca027342277d925f049c569337a548f750cde416da0cb5ca0ef70c39ffa06fafaa6c145274d89a571e76bda5cea4bf6ae2dd5b9d4ad146dcba43ef8c9644a5576a4a03a67a13fba85d028451013f8b3f1fe8306ca81012fcf54e70c2d97c24050b615698c5f48593baae538b4bc9c1269d3e2ab22ebc69a1e7fb9047c9db87d1642abb92d9a3751d16d8a49962f2fadd3c5e330532ff760b05cb4320bcfef903dbf7a966919ff2a6d83397038645b3a7bf959729390aedd0081a09447d44c8d17c4a753ba2e89c0ec3ce7c22f08f37ef681c1c181f2798a02441af8685a6da21a71d21c58367806a6f073b94b194026c2b144024242c1c13587c7f630e6ebbb9ee50861347636635959305db62ac4bcc4eb663d6b947c52dce3160db949ec3468baf65f6463c62c5b1f9111c4ffea0ef1a1b4da5361bf08927fac4ffadb8771bafe3fea0889747840f15d812878c772e597afaa5210e1acf5303bf7cd00a5da19a4566c1ae75d93c648a844774ea39dd825e44a85a6ddb6fec86b9ce8463eedc12cec9b4c0fa176eba9850fc8d373801a708dc6db5d9d56c8d4547c3f02a367ecb1f97aa1e8c7f57e1c7855a6b404948e88bca7629fef95c92957380e8e5f6e8f9dbfa34af6a09466109d7ee3d450785861cd0fe4dc6360864022187eb858c2dcdd78d017ad6c8494ebceb28351239e7a977c051a272e9ed9d19d83b5e94285e75ca87f5756b113186506f163f3bb37277105695a88af7288796ae0e59b2c77f0ea266b1ee4bdd36e8547e248e6c204120903266182cbbcc8a66f5c8408f67da1756a651415f0b63d0feb175f91eea816f82fa5ae1469a7ce448921fd9970b80e6f26c34df2fb72dd90b2461effb3a77ab1ccda1166ebbd31890517acb7d50221d7d6116543330e03538a00863c46f098a3b61b5d38dc05e840b0a0aa1ceb92099ff07f19429b8febc600db8acc101f9c6ec27a0e47ce14a47f7d40b78781b3ddf565e2f76d8e7a56f05041ad909c3332c91ac5bb75eaccb0ca82a201e13e9cf66aa576fc36f91ca9459fc619027dc6890fabb058d066b216b7bedc44f0d24d23933c0c605addc4a4a26d2b41b4b0eb9f949a3518b72aaa71a4c411784065ec41a615b908ad5708cee34c4b4a5752e8eb90748bb429116237bee50be6a0d74311871784d7f1c8ffb02e30f109b1c41107dc9cf89e9d41b8f3e594086fa9cb252cd515d8727e3842d38e189380dd25831a6a987a0397854d7b058dde4569444d9e80089bb3d121b423f4c7b92ecfa649b3cb650831913211a8e485b2904602c8011100791a3a8098822e0d270b0938cc9521b0dceb63bc5fcc53eee50857b6286f4fbfeae04a9ae6eefa0be22cec6a7aebec5917a827c16d2d7f9d0ff2b9f7203718d154a8fe77289d8f1eb894da61a57a6c19c97b6d1dac473425001b24cd23ecf6afc5915bef0ddb1b8a0480086db22c9aa9e398bbff33d57a94b42540a54227071eb7badaa4c9cef16c978fc25ff1e1323a8ab9f152c58bc0833be773fb25e0a3663695876382e9df71e1d741f4b1a8312a044526d269fcce3ee8fdcc05f81325a2db60c18d25a5ef18d20854f30d43f505aa3503b6986f0c8095897d55873142d885ef12e78fcc2977fe8738e826910ec875d1923189227bc328829e912299c0d4f4a8c5534bf87d53067e2cc6255515ad8b5af9cb36c3eca580c508f4039f9e16a0cea0be08fbac7f12676923990b19c4a4797602917a8ff63abc2aa0e18a3cbd43a72afc60372eccb2c1064bf8c3474c191687c59131140a4a8c0c2e7deaff6e1fffcee303af6f85874cb1152b7e4a032045152f477265518c87e419f43fb0bc8574bdb64dc90432c6bfe805b28586520fd55e2ad52aa298c619f8de7397951db32f21761f48ce9bfac39734147ad39a0bd0ae305b91a3b8ed18bbf8a4a4227948726c19302b1975a7f7bfdc9a7700a918ee932f819ba2008f4fb8222b69a35b52ff13d5532f6cd647016a4689f4e282106c674677ec337cbbae56f9a1e7ac294169da269e8b234d3f3deeab8c4afb7382935247f174a55623a859c69b26ff3474533d67810415a3f918a38aa46e54443ef778bbde6a1d96801995469e57a45eacc528130c3d903970a8fda8e9d89c107048977464604d38ca51f4282fc8d0b7283017589e857cba3fdb3bec93538c57194ce88d1bdae750ff7b6b1a5aaf65133e06e524818c4793311410c868c10549f147abf3bf8cc0556bb311e4b87794ff56f2d80dbf8c1983e728068067f4c95d29022dd32c61efb0c127ffdbbdaa3897c1ab409c3f547eaab37c6f40c59a81bb0c96108b0d96d7e292d8abdfd7d38dffabc3a6ff050d0049b5e2c7921a595b830f3091f8d979d97360b68984bc8364b69badb3ffbb0da661a67398767aecb8d4cd49b79d1aab557d98758f995ab1c54ce3bc8a3f72e8b37b32c4a04149e488fb98b878e92effd025fb20b5c063f9372b35b45c4e68f8d6882fde8c24c57f13cc988074fc6a47979f574e59f24f2aa673a248f04c15d0fb1ee6cde67929e2cf5a51c8f145e1f8656c67e22b36937aeb484c9bb17c04a6e1e69c48a6a9ab51134070afdea0633717fe9a4a7ef71910dfe7a4e47e1775441aac7a5e54a50a01bfd6789db2e801c0f486e09b9108a750cde0042a7c4c2a5cedf2bcc2e5e4dd0cea5c574fb5ec001f32b9101f4ffc28ac6fe7288c1e15d1b9510c3b9b842bac4b5433c02394decccae868ed82dff494e0143058df179afa55e6dfb1e358286e8c4266bdcfac80c9a9d10fd6cb5b9860c1d31a2353cc41dbd599671794cce906bcdfc116d6196c48b71e10f4db6453f46cc18d07b123aca043b9ec0a9a9fc1461199b810c6f7a348806d25b61ffa69ba9eb269852b71e09438ab4445a966d939ec97e89c4a4a55ea8198cced430528c0ec6b903f7c61a9c5dfecb05155d6176ff5a9d489ba2057b1648a43c340c7172d70a7567b741d62e9c35213ad4ac623b8e86e38518a0276db20b01bc2c722e6fd2db56f443e4fe779f9173dc4662956f1bdc745a7e08dc428a028c20b48d9dd6c4ed320bbbc6a075c15259bd34e2038a2ed0cdbf1681b9f2f396cf1924c91f496958c81900b9988723b81759b3d6c5deea706e789ed252b448b46d583a8e2be4d10f3bc26b7611703f8c782aff711ef0864ab4938c84eb8e4535f9f5afcc464de50890ccaaf4a5567961c8559dd30d10d26a1531bc0949c31cdffb9d2fb22f7c98938ce4bf0ef10166c15d8d18dbcd5c46fcab7e127eea162fd225c70dc0a92b419e56797efb081ca34e61bc45f25dfa44215e5b31f422affc9e10dca1f696793086661b250560854ec53a2a2eb2c8ff737d3c4930da517c75193c323f752a733a8bc97bd00a603b3d64bf17baf8f6fed5649ef7c8a2626d101b637fa9f43697224302eb1b705b81cc9f20bfd11b35761bc0ce3c6013a9406974faecdd0e397d92f0897a0b3def2bc43aead8463fb007381d80c6d67793d7d975f61fd6c473937d092662e2931f385c45b8ddc37f7cdd306397973edbadf583affd8a66f4c7a227fad462541d457d555a53eaba7bb369109a9dea4828d5508951bcad148e0fdb1dcb0ae7f5fa72accc0b4e5276e52159514ba35a1fadf2d570379077bd2eddfbacf22c8081a983f98fb10a987ff4f9526b6e817bee20ec882db0374d4cbb3837e713847ab5fc404149f768caa0ce5a0eda6bdf90cfe03ee577961dbd2a9511e3fe4e5c60a6487acb020196e22dae9f793c25aace5d8038ac8559fadf8c0c016f1096744d65889f0300753646e2f4ae3dfc0b7edb1ae11972b34dfee08b3d6a2e15c00d5b5869435531b5ca5f9691694cb0b61cff5d04a7e1639abf0008fd7d759277c9c3035565789b49c392cadd5e5819ad3435b7d92497b4b6a8fb377cd5fd3a8cd5f65d2e55e29a3c07a6fbc6a777ffc54831afb7ee4ec8661085bbe5603f2bb74d59a130a9100ad0720cf2982b5af20ecd84cf924039872e31da6f8024f66e4b951eab9a147b937b649e7e95f5eba89f8430fd5860cd3224b0b868125e8e4d55f0508dbcc17b7f3afa6ddffc6f90be9fe6c183efc34b0a8580271617464e429af53c77f1842203ecdf2e6f0b0c2851d5ca5854da5a1ab050a1b895368f7d264df3da15354795929655ed2dbfb32edd51beb2ff3943fb9a5b00cafa396534849b99e847f7660607b188f7675479313b3e988f9447519078cd5566970356984c40bdcc06dbbc92f7039dc907686646e5366968c28b8746c8dbe0540abdac980cde5df531a3d8e28b0ef60c35feb0534ef04f62121c4299347045fdf7feabd8125ba1ac98f7aa7d8b9ff747013f1f8505bbf1ebafa99939821c7baaa49754e99d98962dfc074916399e7568226fb5308dd415522e088b8f98c8f5e2157e97e81fe9baa41b76bf1e31a1323acdbec223ad4b527d7215dcde902772900abd9cb02e923437cb0443f2a416a49ed2109f85ffcb54c6372ab05818ddb4580585c65a5bd75584ebff25855dd74756462be3532dc4ff20df17e9a22851d26aa91cec52dbf9236aa2dd20a4dd7e1f9eb4c8c2fb8154a6c7b3d93405567859f54360eaa6a2a9b1948d6da4a8c5fb468d330b8bc6a836bd54df988a26775e63d6aed55f7895c79066cc1b6326d1de410ae04f8fbea64bb61cc3ebbc0211717e424da2c16f3b8561599d3549cf5911cdab346c258baf94defb1deeaf2fdd37dd5731edc51da2dfdc97200ab44759aaeef80f07385a4bbe0e912348efc83386394af94a6873c27ef3b9ce0ef4db7248d30ea32f493aa22ccdc779a29c96a4bb778093269883250ed69fc61bc8134562fcfce3b6750b6bcc254536aa688b8b992cce238c048ccd0eb76a77cb8e322607b0c2a66fe49f0a1b021fcf05746fd9f67748b17d7c30aa8191d6b6855afffde104cd6c68c5e4412250093b5e9d731220ecb02700b8ee2637ee218c42f16eb7cf6903aec99a00ab327584c7bc835c30dd4e36a2ea8263536e6cb3b3a6e57cc6144ce96723fdc2237e996b0d98700a79e00f8b310950401281479bc099730f277895e7018330cb1554db6504106c402924b4d733b3812e797b22cb935ca71baebf3001f98fde9f2f53df826420497923eddbb6c517b7b968c033f09d14ffc3b11fc5442026f599a88c1bd109b8f46166b45ffee68785aa683f2dfdad8b0f3d69c3c19942579de3ec2e30b3bdc5d260f9731579718c246852426e6bb89df623563cfcf60537901b01865149806e09ec63b27379210c21b826e62c258e770e677f5f1c592ebbb32672db2b467f4e7d41ea9651f26d89fc29bf9f6423d6c11b28fbce0df38b2dd53023f535b39e880ad78a6138eadacd90814bb5bc68104f1348a45ba265a373a7c728ba1beabbc08171f04ddd3c64ca1345b11f5ebc4f514f9277c7723dc4d86ad9c25a771ce09baffe0f1250d340d283bda6a83cbbb67a5060ef7ad3ec81ead3ca77863136f9e8bd4f056b80cdb90effd441958d57e4d93cd23bb93e0876877188b555d88820dc3312344bdcdd17d3494efb1008ff9c77ab85c7f9cfbae858f351a3804a90ced48a82eabcde7a9e9d69cc07927f62ff4b05b323cd4532e2b57a2abb1fbb21bd40953f9366cd0a0b11f4c46704d09a3bec2997463427c77ecead3f3f7a64eb5b2aa36fca9e5bdd4bea7ddac1dedd013b7018e063c61ffca5a16167273ee41c91e260770ad055faeb9292815672a687494f45081e3976dc9f922d71421487626237935c4af158647b521ce90471ad5487c0b7ac11e9299127b46b8ddb14af2422a4be18d2b11aa2b47a62b5602e0b61ecbef68d90b49d85c681132411936f338febfbe9619054509d8d83d6ca2e3ed686364fdcf83c96633af6eb2e34cdefb3fe0c2f786d2cb2410c1d2af1b404643c105d33938b63f1e18e9ccbeebb182190b2249244fab7c11b4850839bf460a58c06ec55add7a956733ff87e44933312f070dde3d2811bfea2b6925213eca3e7e40c85d4653f049526b461b82993aa3be069870612e013cfd9b6bce4854a54dda1adb1a51bcbeb6d0dfc810de97537af6da6f0d2f840a0c4a64a293474f2191db5ef327f0f2f2cb906f5465c2e2491ff7ddbcf58536c6f21576698b187c192247fe56c7ed6d8719248fd1fab886d8dfc87e2c91947eb8d2b3a1008c3a9b09ba724d98c0f6170b2a61f032a847ef1aaa2cde59874f2f329d70b3df772c5508bd646c4f6f66caaca4aec282492a0593b86bd954acd5317727c5aa64413cc0dadcd486a463157a4fbf2834f9e1cd5dfe671d99a49d24e44629c18eecaf1dd7b1a7770a417a053c4b5102c68c41717831f926bb0b11d3c2e025b429625e3fbbd95fbc6c3eb4299bfcc1dac18e88a1776734bfe90f03d311ef62c78e80eef8c01e2493143cb879ef4c8af96091357b96104e90d2195c9289a77c0ffe41057991d7560048c2620539b990b2e729f7c1a115346c1c76381dcff58b1f647ff852fbe81d86b4517ce15f1e41550fa640862be4343d93c069bd37f3d1c0105747cab0d164954da3f2d095e03421268c2615a81042758daf048db2fc33fa6243bc3d4dd8646e1a52d2614775eaa9535f8e79f40fe4ceb201498648f47f9b926ecfd0fe0fb191a57cbf42153de1b29bb81f1dff6b06c429f545154d15957d0a3e6074169fbfcbc712f338a80249c6882ed5522e9908dc166326431dd51ea45e3074d3fffe905626301b3a1082daa999c404af058e4857596cafb1c60a1566e7ce53c8e267815c8f37143cf189e0c56394425670a781b703eed90cd24211b37bf5bc622ebceeaefc6e4b7c90e0a9b92260f1fbdafc4ee747514720aff4e83be2936ddf71a4f3e10422060be329282c88e0f936e602639e8325a100848c4161442de6c7770d17d76c8e0bb9f97b950e67efcb9f3e6c8a57a348e41273dd1a711d40f588e6c4137cf3036627a1ed9e8d88904afe2bbff41d6fc05ff0f2f0e15968ccb3bfae032efeb1eba50c7bfb67616626e9b8d3f364491825bcbc6a6b5cf5ce4f4e5e2eb6933fc2d88d55b0c7d7a8ed4ed5854495b571c22ce7476391fe88aa91a3c21cef00073c7026dd5879618f7a380f309d5b5df3e0848eca5315e0a5bba381a2bfa13be104787069578962364b9ed8c4298158af516e4eed724b05cfccd2cbd518bef89720c953ea49b785a506c8979266ba0df9af90e02afbc2a8f75ef671b94cfff8c3c21073374e56a615038f53d4891f0abb8a26220a55eb020de219ebbefb6d05ea5795f1af92d8632e104788abcae9e9aa334e08e1a51b257534c41e74faf3f3070ed92d29ece9997eaea3a94313410c0c500978840cae8bf30eae20bca6081ebda8eae65f5eb21383e372e021bf94c9096bd0b027128f69ac85df5e8257a286a2619eb0b97ca2f652ef998fd43f0c9b909d77617ab540ee9fec2f4e54d9488b34c9307f8f611b5a85bd7e17fa4e92bb849a5f3773719dfd508474df8a93b5db2d77e31e0dcad82def9064ca462219abb336965bd01692cda442c798d20d4114ed7b5ee7bc1c3d1b5583bff7ed422ce7a55eafb7e3b457312d81057f8b85646f9ab1e75bc98f6f537cc519adb06eb895bc3687f5a1bbd300ee79b3dce1f78a4bfbdd2723aa73aebe3994ca07365c771d56f6f5ebd4378347d118ff0260303628531a86226f8b330ed2455af81b12a543c4016c1f2628eec45e8af8a356b000dac7926799e204297dc187d9ddc23041da3e1620417d8e008843e1b3162c82de545e748ea30e3aa964dc786ad0f8da63a5beb3528af787dc8a5f4cb125b783420a87d0ffbeec72d06a03bad37479cb844ee73840783e0cdeb9078c0b52b33f264299a22078499723e2536b4eb055a2fdb806a19b638aaa1566abbb92243856722849642015cceb5e5ed83e1df4ae8c6e0c0a67329ee4404dac612177dbbdbd78b80c9d327d0c9f5dd84288365e523e65019033f3cdd2e3a7235f1a0da753755667b3e523fc23a047d6fdd9a938bd1e73743b96399c87ef5465542a1692702b5ba708892851cf265f084de125b5b0a0d0e696f25d794d8494a97acedfd9db1545e2cc4853b40612b73c6a10ab473eb044be980be83a41ff3e00cafee37967e7e629ca6514997d1b0fa7c7c692c3165ee0b9908f5d6711874058808059cfc205779c5f3c63ff34df152f5f92a0c4e4310922d2f254037dcf7181faec67ea786b3d2a6a63c1949ebe0f0e8b10ce2b828b0ffef2effa5231f027dea4bed16b83d37bf37b191f447434ee7f68d6d3a999322361b4416118e34c746b31c5c12f6b0fd39c333f186ce25660f77898472b06b2feb96b6d00fe3632ab4fb412c3f93bc0afd9d4bfdad24d3e0235af08335eca1b1fb849fad3e5bf1aa8bc47caac98216ef2c10daf98ac9844e6966b2f3cd891bd24cb57104f896433ccf3f35fc9646cdfddf4683e7dbbda289e9394c076d73324b5c8e6495f843701bcfc8ee5f0bf6c41a67cffa1337bfddba2728c27bc97c5ef436d0405e267c44fb7643f948b67a1839c5d6b09db3f2d7626be4083cdae3fe8134e5aa29a34e31680ec97ce09173e1be12eaeaafd69c41ec90d10f41803b5a1ac78ccfc139d8963eced321740e7029822789b859fc151ab4e937f806db80f6c750df065c67a730aa1ed7fc4b64bbd3701370e4f020e8fc756ce5323b9b6ec4e931562711d82c8a25b12f4cd2f562f9e6d5d4de4ee1c0457b87517e49853e618bae658f169db4bfe6c1ec41d46ed5fd4e93f0442b77f76733d68b75dc19a6ef61be8984675e86e3a7b88d685dc3473dd9463de5a21f44bb2c6a415a8b6e96600a78e0eb3b858f7dbabcb6e372a8fbe281f32af7dd207bc326b058ee67db09d7dfa483f763b03c9859f56ad38fcaa1480339fce205cd78e414a2038269af5281f1d379864bc14c4c9be1a3a2f4d3bf08a302bb88f52ca3ce9f2bd69030c3f1b83de076cd845e9bcc414671dba5c6da9fe826079ac2d8e4197d2cf83c12f811771574ea6fd74510de49cfe5eef88ecfc9157b6061ad5de681578e41ea8a3439a65465cee6e3fe12dd204f75088a7e0cecf79675acc1fabac66b331006e7a81dae0e20ba7ce397c38663d3a4ffe798e7d35e08d084bcf99cd79da243edf8fe432e22a0abe2d827d6f6f494da635d4649d5832163b915945c9bf081a1226832ea636709725443f4585c72c8d08e3e9c98e6368fef05c2472bf7a4becf774fb57accdfea3c590b74897e772c4b39cee54cb9e7056e6640514be3f3d27ea8ca77ef61854ed04a39b309dddc16372191ed888f69fd5e16de7a6b07f3182846895f835e5fb38c66394fb27973f0d9c92fad2dd0813c112a40fc7733b111c91c8ac487918c2eb0aa293f8a51201fd3a172cce1a95af223f8443059c598aed98053477b7ffb6cf98e64bf0daa7dc87b9f6138d5c2f9a218765091e348adbd3e2691c6908ed9eb4f6f3fe2a066c73a1083249a36b087bf226caaba8e410bc75addd1648b53abed5805755f83dc34e19156d062142180841a3c1558e093674ec6569601ba0bda81a170d3203c779352aa7cc20217cfec22f606eac9b2cfb92f6f314134197931e5fb1347a0a723b37f17309646f938db31c7c354a7a6f40ce4c83b02478ca2c7a0c53764c84b99b59b41a4d0fae37bfd54cefec6444bc91307bb8d99e1fb8a96610324baf8e3636e040cd41a425064343cef0d7d6fd2343ff5788e876447210ba459151478cbb2011e73e75a6322f7c2fbac3676f1ce05e9b8eb409fcff1a7e7110a8d182764648d7920de7e04ce5a97d2093f7e5d29ca636ede09645b7588102a3b03d417340233583b50e080c9e5bd944166cdcfd4611c8452ca08fb7d23de0c594799d278fc25192b4f36ff8f3f473c4fecdb20dcdd5aa831057cbc45c10f7bc6d5a797ceec03bb0d880150c6d58ebb54fada6436c8ecea701b538d11393452373e0f8261c3a81a750f911020622655408192662412a0c13c015b62796c53ba44d9950d1ec2ebab73c08e52b431b6d9988022f70466c2bfa0aa38725162d1916a63320ceeba63a9af0dfaca72f3dcf0700d8d78148cfe2c38d25f7cf3103436111383d838262f8d1ac798515c57d5e3457a5e131d39250e35ba14500fb7f381291ba6c997f6764110761d29f4ebe0bf499f8bc2db76b0742558000af16aba7d64298b8d030c0b3f0ef9cee3d160d8382c64605975009be10ddabb21585cd67667d82a7b35f223efcd3ca2c507d54bbb624a95947cd1f66978ada179cef7d462e9a856710e784cae30b5bf5f02d181b132abdd36993ec182bf71b6b34e98cc0b5449d122e2a19e3371c04b1e9164af3ebf8669e2b2e6d100c89026ed935923637336121f95ac980d038975c77a5fb65db6b89ab0e2edff40f71d1b3c53963e29ef79ef7ac1273a26ea4e65f865219e4879d7c5db3b0099e20ebc7361ec0c7d2ca1f99e39b7b9dceeebc6dda4d368c1f29379ee96b7b7a6f28530366b3180785d4f0f9c99fecc09e5f344f625fc06f0a12d56b110d527d73b1b58ec0617efa4ad01e23e19b9420eca8d464c023ba7005045421ba15c64b64d1ff1578ba2985181ebdc033d48086607b7295c2cd008b8970b3e640843bc2c47f79c6abc8da04b8ac3e63420176f201dfbc9230b2e04667b8acde33fb40426eb50767dc6ccae3cbe9193f9923742006ce58b419a70a1ce28ba6eea2472e17480a2fb50f659ba688790a194fa275678fd8ce0235c2d02f730e0599f5affb255e24e5ecf61f0a17605f92ed66c9f2c10d9c940617eabf4db517116169575acefd32f652cd70ad719b397b1074563aa40e6b7ae9cd03a3b4d92e892e11dd42a85196e71b4d325da5d8ce678434998207d490da0f2fee32fac9341024da56ccfd15798603ae026338d23129b73f401a6de5d7579904d7b2581f4d1e32e3043ef88f4e073a031f4665c75d65f19e2f4a8789d383e0c1352197976eb6471d4c71dc91c76785f7665c465a81e51773d1329961c41590dfdc02a6b55d48de9d09ae9d6c2b911672026789bb5c0684f15f9992ddeae806c5da93e7112e553c6f9e8ebfdb41b6759fa38d7d01fdec364868c017616fd88cf2df3d601cb6a48835b9e8bac639702e0b229541784830eced24a49857c1b7487a01571a20e2b47ac9a0ed43f621128dc1557382db077c4a245798cdc4263c0fd3f236ea44fd7510270f19575bf9624a37e4849b7254b149ff7b4bc0c15212107aac0a7bb1cd8fbfcc13308f1261774df447feb1bcf6e909809ea2ea1a6fa0b5f2cd33a36b71302eda478c18ef9c03265cd743fdf07aa28142aea663b6dde907310df24deaf3c129110c228cab14310ee2a9b391b1a35bde56ec90c6d0e013335777fd0b1729a7b1732c4725de727abd4463b3f7df57998e40601b58225dce291ea1b191f96b87292bbd82a338c9c3b9a5d4c9cb018c52e531e0d0cd462833ae262348d06e8ac74a3898545c78070872ac43196f3d2faed01c8afcdb2dca64eafb974cf18ff164c27acbe64e0645fd6f845d03bbd80813086d389764db38942dafd2e06a3b13a6c17f09de98dee8d5fbdd5f9a57d735e8c10bfd2933e9b553d267edb7c43e548e30756c28f51ca85c1cf5f49824ed3022ba4116297a8413b568cb9b0de21fcb786b6405d6cbff545af1dfbea1d1eea2890ffbf05087c69866c2560d5e00dc5def7459c0c858f347de84a4ef0f90c5e3328d4fb00fe668641c03dba8971862c2896eece0efee2f4407a12fbab2e776ef5e4e217358e35552c088e3a4f995d250d7a82a9539cdd49588a78becce1a5f7ed53563054b84420d8fd6c82c694f3a09270414cf3500c121171ff46f56ad95d95a77de1c28a50bcf998edc80ba00c8fa0d961abec860e177da8482be75e5ad9820c56453b92d32ed37195fd501bd5584fa36e34a770fdb5af3cb9aa90dae5cba129a47de6d93c5f4392cc25da2356354cd0fdf2774f1ee359084463aa99d441da03cd8c15974f592f7ef1c2979428aa3ffe3bdc5262f2c541319aec2bdf5fc3d6e91b5965fdedf8094df2cfa5a3e3d7d5571354c310653e2893d41f2ca2fc26fb8742b07a1765de387bea99e5d0958d4b9c077646a6b565ba13266b928efe68362d73263e45808b319dd1e50e079ad30bb29f9364f4a92d636831e35004856551ab1d9c8b826c499e3c2c8cd74d6c1b5e73dae803e3985f21a91772486282d5baf6a081d2103f95732d8b201afd7419b331ccfff9eede456981c35c36ddd76f7f8504272becbc1d781642ce28abfaa76e99b124d8504958ff3644935f638fe9175ef9b51fb239f1742e3a9147d9aa3dffd6ec97185c7975c491d6a39127fc9105d9a92d7a8ba12ca816c6f1099635a86325f08aca9d18a5ff117f59a06d7ef4e6a5e7b828d9441a4aafdb96d91696bfa5e1b70ea317703b391ccf79d1d1944d5f96703eaf71ef7e354b1ca2dae7eb7fe1b90c6e0b2a9b96e9575bb0aaed7ca9bab1093d47a169f5b53745759004c9cba6fa8b763e6a9999dc005054cbc749b6bf85e105231cbbb587c12ff18e81c30a462f3a8279f7f6cbff680d222464179eb1609d4f5cb1aed5ce52adba1f2130f56dddc9931932a9d116019c35ff89e8bc43dc5bfc3862232fe7854b2a4574510bbbe5addc3a9e9c818bf10b0af48f64eee6440835e729667aed90c11318435a06dbae3c4a6ec13347f6720bfbc1d831f8f22b04791b135a84496a6a008edf0cf45fb23428854901b9f441c70211f1a24435e54f51fcfde1d7f996c46c2b47288d1e203538628983a287edc7c0347dca2a81fa706b2aef63ac51e6dfb03a71ef9e8df6907fa6a60c2b6ccc29315f3613e300e78ff02511a5cd5484084fe3993d537a6a3511116bc0b20197db1595b531aded1564b3825f92a2a0e230f8196d304b4092b0da03c48b7097bb069fd6b9af28ea6c8de954857ddb9cb9e7a467e2efbb8629d44f92622b1e8a179a0711690c541d05a13d30499ebeb2a3077438bbe8e7a57c8c45811459bee631bc2168a68fa369f1ecc9a7b3c0845e6e5a51b6fc14cc8963552f1444c7bb4721a5dfa6ee1f936e17ee293587aea6f225f7e28e2027751b3d3eb0976174670943836a67316e7c113e4afcefc45d0e8ffaf1b2dba21481d168b97937526a4fb2f2864cf7053fba5b86d01d25fea22c873bc7f1fab5270b62b37f20da04b5e7ca77fd085a947bb2a6a8c75fcab5aba6bebaa90d0c33617c6429374febc44dce8d5c44a24f5c0f6b52d1d2c6acd0fd3505cb89441242c4806c9040a060dae97cdc1bd902f2bb114c4bf088f04c8a85b532133f2fe3b4a050358c085e132b8fa3b4d66c56f562bd02c95c2448d1c5714c0243bc03c0dd58b9fe261a9dcc3c5dc3b178e69184a663e10bdd72fb36b885e5fec0730fe4064fd8bbbfe7ed4e88a5f6b3077b80d6f11be4d6d959026f181032b696ba81290249b2ec5b52d108a5f8fad2efc751eba016cb696624a4f15be94c4d26c9be2b8d2a745662ea3b5930fde8fb66f49023650c65bb73f43888c2163f99571a39de00586ee81e9704d20b671ca0d6ae25c99a9780e5092e47326dd20ee7367ab200f1a47c3a68eedfa3fbdabc1dab6d534c3e417c39d3bed9c95265662d702d565d1e4711def3eb171e7ada48826cc8ec9aec1b33f2c0d6b9dbd23923587da0197690a11f515c707fd2f152f910f8ac71389d866e633db54de232197f7b73bbc19e0fc8c7016514d16a06606bb81b3ea040d615d000c80c7918d53ab5fd264a89ede638dacf3a550196772428dea64070bee069cab503acea91931a1f2f24a620fb8dc9367b41eea2d15a0dc5177c3e5a05bcac37160266a3f92c33035fb30baec85da1f1f692ddb086021cce5950380d6a9a0b96d28665da5a94a8eb22e9fd4446af775699580ebfd444b8983c1db68a65f2412dbdb5e5f4b6e7aa62873b994dac08406e9c13bbc6be80f2dde5a601dc5739554913495fc229e8de5f776d256131767c5042536ad14a50159d1ca75cb3576bb0fe9765db32cc0c873cb2687a6e68a488adc0a1aab3d219e1320afc358a0ed5f895ca6817403446d701179fe4dd50d5fcdc326b5d64e1ff7f058098942773399fd5bb8a12dd1c1deaab0fac5fbb87743eca435523ee04344f8c5168943f756bf864d3cd41bc7369abbf4de70da988f00f1fc736fa44c7e8a89746ab94bf8e67060e7a217bd18760e167f319b32886223014bf90e6e7f30cb2e77ac269000f8c634ec325debe6a01e27c378a6fed5966efbfc6ba21e710f63e543cbd6fe85899edacfcf8c9511d9d1cd9257a0a8e0589b588e45b3a56b4e69271a54059ecb3f1be2be34695a3d125123e7ee02cd8abac1511c86e7574eef0dc5749988dd7a000ca99915f17886e35332021d1a63b1350022b19664f4797097ab919f04a134e318e7cd3715f2c745f10fb33f5fc54bb5cfb2cfa32ee7340e0243697031bce7b94b9f874185bcb4990311ad0e802e7b324ad98dcdfbaf8cf6a07ce01bcd9e72642bdccacf9b75ff5a49701d61ddb01a9d27d509ce4dace05bd9bfe9e7c75de622ed5521951d3999815ac7b7804091cf63f92ff1b232642df295d1cf3ff28640e4d9794c86be83b25c675b89267eef9865246434dba416c0d929a11bbe384be90d3bbaf15d89ae3d888e026ea706d0769b184112926bd82e812a286693d65d0ee9a76461b2e862c242e7645a111119de85275a70caa5a5dbe4c4b8f8a4852e7681e6bb06ef5f88ee206e7c0f326641308de4c9a6880ef473b4e5a40c52cd9fbb1fa3c7e57a832262df1fec146d8f75974cb6c622a8ae0653925ca229e823733637c706a8e1b7aff5f28f094e0433687838ae9c769ce65d864e566f2f0ecfbc9704e843f8bd766c1eea2e308c0bffdac703edeb07199cd39c668374b81c24621fee1cdbd35cb974b3fd94ff563007aa23d5bd9d1d65cac28367635a8a1ef7fd09672232bf42af2eb8f45caaa642b103a749a04c687eb79490cff686ca447366264516559e09de677c922bf7aa2263cf84fe90f9874c4b91f9be852374dd86dc41607cca994ab42123c13fb60258ed158352cd43f22a7f3c582ffa302c8fae63363cfa44df50086347cf122c5d836bc10f4d1a9a988a283d544da2a851a8c74974cd31d792ebb7dd2baebcc1895f0aaff7da9593ddad37d623fbc8141ede25ec3b185bd8cf3ce9f078ff1bf913dad4a88dfadea7f5dfb1e89df6d9a98cc1517692a17b3b37d0e0e0beccb34a5d3fb6f22f8480ec07a569658c4c43a4ce1f095dc26e344ff2b59b1585ca7fd794a430e85fc978fc9ad09ddf50b0436950f676fb136a4f19cd0a50656815c6889c50969a059c4b5a5a15216c3500b2a90dae7e3d22f31a8c9f628019176b7acde6d1e0d73759493ded1236be661bf5a3f1660acd9bdb1a683da3a4b43d8bb579cca8c3d5d946a295d96c60034e1d8153571ddc3fed51bc9516bf7c88073233d44f1eb7fd08d6e347b429a3f96eecc4f39c965afea61ae2878ffdb123b6acdd004f7eb5c6914b3175516232e3d6c0801e83a4ab55b55428798b51469a149ae8339e746bf2690920ef7b5d6bb2911e449ba507b0aadade4b07ec930347ee7532d14e15fd7bd869bd0886bb01832d0d9435b2c3dd6c5bf6492b86c20647a6326ce5f169b59ef286d92ac04d01e9a194b7288365d9927f0a2ff4cde1122b98499662ba68d1ca9a0bf7fb1f29d4a0c5084029e549495a89ef40d3d56f280d1e2fae5c5cc2b7e3b185885a6df505971dfeefb76757c9f40c51c4714c44783e28dfce1f26d087151bea2159db82bb67caa83867adfce742173895e3cccbd2062876984f8a5912c83ed9a2c5b10b2c1e7719e69bf946ac9da9d65c6ede433c10f45b1122d2b6454862281d90cd5b68a94d96148acdb2248361a8c0f48400255394686cb8b548354a2eb583502e486e1f97dcf2d2add8713c5168b9744aaef4c893d03b65116e645e8a2cfdf788070ee57321aed705a2e3fb943a9ac48a3e821c18174a2a31b84b55ad595429ce3b9da75e5c7b2e2dbab1cbb0ceb65a6a1a5768ebc64fda19ce2918e2dc2c4f95f74388a5d8fc5cc258e05ec5efd554469f2685d3100eed6ea663192451b85aa9ac7848aa36801437369b0b0184c871ac338a0ae23b95c8bfd0be09c9e06900eae805e350b48512fa6fee9377a69d3573388c236390e03a21004f45c5b5b6f3b1d858bf39c2433ad7ceb7e779d03a552c16f2c7837d6e508257d2b3c6e5d31b3d8f0ceeacd021147e8684511fe1e3b0e37a607b78dfe9c85da6e4971d8cb7baa3515cb35ca929d20aa9ddb6b11e1ecc026e698fe9ab2d0df603ededa9bfa57c008593d9f28206c70e047fdad25385ebef26cac7028ec2cfc34cba455b3f4b5c054bb219de4a6c89789d90e197d82a1bd4efad1b42b54ea3b238f3241e114943fa1fc4d289b34d4cfdb1840fe51dc937cacc8b66651e8670b97d318bf238cbce5fa269d7cf5c5c0dad97dcb181bda18a71c5f4664c57b46b353837a703db780afe1d04664ad23fd73c0be77c0f702f3b717632176c7fccbc9e383c104145e84ea2370d90d4065721c8e230814ecf6d40d3aae7e29fdec174a927241bccc22aec44967375a410dcd81ece59e0777e354e128ee88d828b6779fb5caeae0eeaf272bade2cc6b77243bd375873ceb558ecff8fcb1c476a6e0139a139ab03d166836e82f175bc834ae57bf630c4e6ac67aa7e2cc6b9690a9ccb71b1141ca654a7def5a0515766e40c61bea2f4afb6fc5a5860367880584e96d23df98def44adb6410cc80f054540d539391cf156d005506f0cbae9bc10dca8047df45a71c88cc119503a92ceff3f6f13b4352ff4940fb015cf77084e694b2aa6290a988d23443d0baa1c3d2643939e560898f895ca2563a4eb17a23e72d163d2a1f2acb48e75d8cfd2f66a49c4683d48aff5466fc9d641e0defd9a5d300d39874cd406979e8dc62716e1f43696d533df3bdec84052c1c058382aceda73e48d3a28a1955140ee63ea6f42acf3cdb5e1903c9f5a899473fb9fd352df91e29e2334d3cc4d4fdc65b7022e771d1d8d3cdfdc7a0d0f00f67fd3f810fee2da8287a3c894995732f2c1e6584b0f081b0115380a2a97b738380c84b496dad04bc9ccd79562b75053c6b697976e8768c7d58a9e7ea9e5af6457f2464fde47ec899ff1d7306ab406e792e5d5c3616c8482bd1e638e838283a74f456d015193a0d5ea57d0a983f2c2efa9f5cf6fd48ae7e46527cc8c31b9a9347e2fcb9f686e16adb08a5c83f6f68add33ba3eef2e2b103d3ebdf81645ecec373a044f923d45300a2eff1ebe5813b397630c100f2fc5f25cd03bd3d0bcdaaa0dbe96003ad30f536c79608b7016713521f7e3517ef4af34b275f0ce3746ca37915665eb2b0402ea44d0dc9bff59a0c46d8a705d78466dea3a71a5b775eb1796f0e055dff1f2840b50f82502e69a8e36fc37aac8a7f60e30649790605c4d78d33bf5cb4e761fe92857f33bf8eb924ca27c27510408c28a98ef0033dd57b5b6c97f1cfdbe99924437da7696212da1ddca552abf01645cb58bb6f4aae14a467b9071b807d8ca2d52979265ff35f4bcd7da620b5d0ecd916863f331fe2b846bd072c516e4509d0b0b3195c7c5accfb67852ca69c98c9d02467f62e0f314696a658e3ec1ac314532f7573da0f0f0efa973e986f8d8fbda804e3adce324c2cc318fa97a71c64ce7f886c76f4b702ed1f2e6c05ade96b8bbdb780237ef9da0a776c29520f657c5216af6c83aa5eb21f094334fbb9e666166df1943ea973e8583ed033ac7724763aba499c56d02c8593cb8757b8583d1937279d4db7f36fad3ac2119c67a6f18abcfddb0ae4f3b3ec6b5ab60c58de3839de4cee0e7c37b3008f77b76b4cd5489fd317a67524680487c7b9cb58267af512f3b4d033d6305792a30f4d373b328a57fcb8f6e19c08b4b279401af6b67a47ad6ec8e3ee251fd7aaa5f0bcf582a5638bfab378118ca0e9adc674f11b93328bc37e1e487e7ae197983797e58d789402fce2581e28df238fad268c3f2b558086ec13ddac2132ef7446e94ece3aedcd1856f7ffb0ea429804ff0fc96b0ba5d8a5899d7bbd75808a842f8642ccdd72e53812648f209dd333bf60567db1c05b3f5eefbceb8822f5f0fb886dc06dd2d8a2659e86a9ab916afe3cc556d9a905b9bf2851fed139c17c0b50e006074423be53592a920b36758e3c56c425a1bf907a3fa5366c509deefaa1c887097fd48b0b6488f72fa30eb2fd4c1209618f7124d3e7b927f2b637f05a82b4234b452f886653e024857ad50b3cdf7645c2188549fa1497fb7301425d70a11dbb03db4bc749b731b4a690681206feb8fe4ec9d6802b772b86ce0359944eca9c5944e200c8a85505b57f17b4c1a9271a5f23924f739a01844024c49c6e2a3e8e842172973cb16bc01760971798f538cf4af59503c2ba5ef3aa18649b052aeb97ca424e83ab1439fd18208f73fea3c63d50ac5e924b29c099cff23b9ae24f02865b5bdeeb3ebe80e9ca6a01bc317c3277c64530f37003a5572d1cfa601eab61d040f90c2fa03ae75d87d49785701d166b0cfa968e6f5c3f665709794495165ff5811e7dca147ac777b76b1d14569a786a2466edd2b72b44c8abceafc40f0f94355f21aef5936a0b0e046880829a1227404445e08cefd52f0030f809af61058d725d9252c2040237f400444c1ab3001bcfbfa069169fead3c8abb62936d8dc2e5d8ed5f501e7dae669f9ad7e2ddffd6d2efa142896810677832122697850befc7996b12287925e486617685c0fe135b84b70cc1de095ed6bac83e617319cb5ea14a5f24389d56733d3c610bac20ed65e732b07a82e34f7497f774ae1ec6f8dc3b21e4433d0d4e96ba09aca32f86da3186ac49998e7e5872cc53aa896f02b34dea142c27bcf68dc6c091c80fe5fac405fd9753cb74b6f36006d8e40609cf17ba89337c88866e6fecf23aec8663970787a8ec754498f5a2db7e0b7d4cf5b4823cb93f3a2f4750708fcbf3647fd5cda239f96d0125bcec00b6e9567d6939d8d57f6f3711a4913c299e837e4d999ee29517d73e49a8bea5826c22190d97daf0280fdc7aba4c038e4c572d3bda11f683758e336fe81a22591cb27be934b077cce4dcd01ead67f0029875f75dd94a178c6cfb0c57aa075c555b4353992e27cb7ac8611dcd71eb06a46629bbf2104e080758a11d3ac2eea68e5c3fc2a0283ba3c8642bcef55a1d01154dd5fec643e05b1480f6698e60c5197197cd71164884600dba0074ca18afc8c5d8f623a2a8acfed0b76417ee42d6589a2ee2a9f1640fc01bfaa736c9379988c52d0eb79b0878bc9d6df86d1da3479f652efa362fdd20dc88782e11fa63cf7a317c60a1e1b9812ae7eeb211b3c36908af50dc63fb0992707ea85aacac6bc849aecc5c77fec5e9d14c6209177888ff99c423de75f595e25915b9c6d3b78a4011f90f0f7d31d0c5c6a0c98fcf138dbe55b9d631c82ab2826fe2644f02b2b79932286d2e7bf6cb2e215e0fa4ba8318f2a3ae592affd51b9c718f639b86a1d406d7a4df7d8c96f5e6cfac001013845a0b4e3d8de318a0f0b2ac4856a8d29c740bee0f7f7c5f38f93ae138fcd60e0f9e028ffd518eb41199596182b389937c32aaa4dee379f1fbc95dfeac4d8e6271fd3731416b0356c7683ab77bf2a4ee4adfefec0d7565adb2bd8dc5b4e535ea0edf4e8fb2a644556d5d771b6e9c8f107d34952816ffcd9434ba413653b9a45393a9b80358d1d1a7955c2b60314b63922a7e4447b15483a9695939bd17699ec8bcda6bc8ef9ee23c5fb3f106227b824c2d4f4325d12c675d25a715cf1835498b02cf4433aacb55163e035c0a71cad4660a19632de3781b1ff0f2b09ee2fdb8813aa543e9bc657581f1d38855893656da3288811d4102d83a60efc7f612409a06d1e5551b5c50081332eaae2a5e76d65f754cdc3eb83abf48b2d48b82221b66d8e5162c67939bb355ec11110d34567352ba84f41232cc781dcdf8ac8609c531705f92af7767e11f4b6252b54c6443590f39ac7d485db0ed656da79f6e4bd3832344eebb444e688b44983caba7b8263755e98e20c5b856e734959f2fbfc313f62e093ed4fa2766da861ddd7ef629639d91af1302be0292aae81b34996f4b27023338d36e5262fe08b1ffe8c59c624def0974d76ad28b773dcccf59162bc54c41627d0f665cfe929bebdec8a83cf68e98e5fcbbdff4297c1068ca913cf9c33adce10f67df79f5e3af9f1a86d1af65a5bd877260a29a7a3f0580fbc5eccc4363dc83a242ccc3a80cc840161bc9652e7c81ae4cc3426a832b7b2f5d68558498c9c8742c804b4b3fd92ce14329b99b8896b717dd83f2bbee6da1b41dc7bd016f0df64ae1c451532bf316b869ea80aa5ff7c01e99f2d236f180bb2c104178dd69cd11eb01d49b0c8451f5a4a9f777174e5a5bb8b8c01161c6b9ef6cd46c116087e7b2c23d4718d6ab27f3d18c574266f6f779d9d84e39c3d873c6b9d1cddfd4e6613494f816535ebe99fa9b2faffefe21e5e76723aba9fb8a7d669e4e559082c9e3d498ffe25c511bdabb9cd7908a3815c9aa86434e85e66ff3e306ab838a67caf44af86746d7df5875abc0d6e0ee34ca0b0b867a9f0a61d8a339f080c7b7a5d2834573b806e42ff9f72a4632f1ee0d285a0da0344ee1ea3dd93fa47719c84dffaf445739c5952dc10d085507d73c3a0c2f8808bb694e5540e94290fe14464bc5ba6761b6c135a310218e249fdd9c3ba20c43be0e412e4745efb5a686cb3757d81020f95d9bb37dceef6c0e6673eeb2661d1cfc39b37dcdaf338d35e72e54f072e806e030f9c0e2db99efc225bd72228ba2405f9176c17bf59a8144a5f60506b329ae9f217bda51f7b651e977d56ff5e8563873de6ed2b1b1d0cfac14c47ba8c40f7f8d6152786d88c1afa61c937b4ce02e5e2b6244ece3eaca530b89dc0f73a95e093ce57f944b1a6dcc21edba5492b0a878161f53b4b320dc7767e4fec003176dfb3842f27b2514ee26284f6fc4b4d849af4fc553af655e6fe448f5cc94103c61200c65228e0f39f4f97667c0df45b3e9117d1c0b8c43ed6aab34b8269fd0252f356d23d25a3c72bb40a38812189a392b4b3df023eefbfc00a1ce351429d54f65bba93740f5ca548748f7728feeec2aef7bf87ad341d5c802cdaab9e22e6b3e62a3cc738109aa66652fc1e9c9cb72883e038783fa257733a9159f821884b18da5d3dcc6aa4b6076ebe0fb9425666064d61b89b81f899e2f1f94458fb7a39e74638ea53ef75db26a6dd0a0917a43887acf7a58736a4c67785b5053ec933d0661538f472eb846ebdd6744f080fc555fe8cb6cc3b3d0d4ed16c60e137c43c492076dc5734bc56586cb1725e7e9e06bcbc16e8fe33bcbe5d6f506f7cacf59655ff6471aac1e1dfc8f3757eef6146f7c3e57152b12f84e24deac8bf4b072663c874442268a7fb65d9a06e42d71b5c1a593b0185bbc3628f54e6c5ee09b2fb8ee357645c1999043cf5c640030aa2b92ddc7c7a92d7f7f5a714c01f1e6e37f367ca96b3cad62eb17671a86e5bff4e44739eeb2b1a5d36d6390c9a3698c974f42b17435ae2fc747c8b8934a8382da7a8c2f7eb82512019526cdf3fa042df5ea29ef3ccb8c392afa4f8624894a607f239e5b5e9996976ee70e7bbf8bd02c2830f3a684711358e40ac02e18762ec5fb03e77dd72aad834fa6a2daaf4ce7d55f641a166aa1a6d51afc8fba9540e1ca6d10fb7c654c4c95c92b0e4778e3423c1ed9c8c9fc83341ccab185cedef8b9bed1536be81e412dbe35fa69a6f90d0cb7dd6124ff29fdea4497e98a58fe70a4976c4d67d46e1d3f16f2c3382f385fc567bcda806c7b5a0fd5c1771652d95ee400e5829556e4cf6f406d5f9438feefed54bed8e8962b633296782e1b8275c3ab22a7239adc3526b47fb926ba03023d1f34a8a2d5d6798092497756df4d2bd94ec0b511a0e5d35185c68487f4a11c9b9c601ca1be25231fb54ce3eb031404fa1218797d44f5c0b639643040cdd4519cca101df1b193486c84bd935940ff7a966eb2528c2b4d362ba40711eac3ffc62f7ee02f34bffa134d4510afb4b91514aeda2b25592fc59f4f0862dfa156569c9451c9a08682b9485c323d84025f81e8201b0297b4cef9cfc4d19a500abee6a1ff17a1c891c1f9cf8db29f05ff703a51300ade638f9629e6ff1d0f96588003be89a9e94697c285b3775979626c3b367be7ea13eb623edcf9c6816fb5551a5c08bb58050cda3e863e78706293f2de2b598c9abe4a30d2190e15a735e335b7de9ff5930dcbd94fcb592fe884327b83aa54ece646768bc8529270b3b71679a046ee9dfa0e02aab48c233e4679e3a6207c1ef576ec7f78ed69a615b692d51ac9d832bc984f737694ed633c3e7167befb03051c2822e9e533c30a84a9fd006743b82ea30b2f2fddc47cb7b069a64285100aa3eb4cf43f309c04c46525d936de8112ab181f91d12b5c0ec0c5126c592c717c61dab48a8ef2f7beed0bb2df939a48075fec918a516b46b7f4673a4278e369d8a1bbb5d6d88b1b5253a8b2ec59bc577af4ff56f52952ab438c154d28541e21870795e6fc12287117d83eea84b13ed4ae483cf164ca9a1038e689069df920f80e18c5a000f7f80ac74d7e8405c7e822c6330e83ebd9d01ee494e10012098a46c8180c125c4780f5a594667d6240440dd5c27d9fb5f5aea921e38c80dff592d3e71a4f4f155b575125b2aa746189ff4795fff1926cd13058bab696d3cc6104021bd5119bfcfc39c8eacc1b343872bfa321a3ddbf3af7d7c0d0c280f4702b8731a75e47c69ade41e13aabffe662ef1a0ea9e1fde64b45b1f7d8dde97cf866a2771130388d4ac3f671844f034e37c786e38e7ad5abf66a12f435bef7ce265457f5a92db3c0f7bcf2e32c85f4e87ab6875e0790aeb33e26a38bf981f276fef28b9202b5d60f2b9f2b3325cfdcf2772b8f0b8f011327b20eb9c8162524f744a9a6d8716b6c548cae791e069caece19adcf395578f373e69b6c0c0e3ca6b45d55afff97588612d38f344a207490e11d5b7c633f8e30cd366300ec39521b5c7596b7b9209b0165920f0c71015ca2592dd3f519df1e6d4e6e83a5fb3ece52cc0983b95bc49c67575c77208d16af4ed63680846482c41d473df51f9bd03e7ca0e6de81c2fda9f8c76b545045433d4f5d33b0dabc5f64d2b4a8eb6e1ac33ec7967fd4602cfffd11f52575b9c54bba8db43c6f571c1662b33962f299e223d60ab209246686af43c7b71f0b9c85afa0fbf15e0378d5b761c736ae241ba75a9f4f2d284777436577f6262f0dca50d3a518c41201fce3e00e1b3fd502b71050b71d62c4eced12b5a07a479c4ae751aa70619935e956f6cf4a592badcd76852b9a11460ff18898880390e0fd46f2881af0ec61871e08c93a28da1d3be28117798ed45bb7b4197d5da91e881c901ff7abb5462d87ee91d337e0128c0b966b7b73623a40e5791de8a4143de60c193f117c3e8a1d85db8415a67ff8aa636b4427755ea88a4dbfebf20fff6039a215eb989cf8c88ed34496c52e7a937fcc599d00d5c9f3da58b8ec53cbfb53d1198f4c6d942a6686e6c404093c09e9c9993abdd955061acdf342a7bdc7d615d81aef6c25051d490bd712c8e780f394c052ece836fa251a24ac99a1ef2a90bc2466de79924adbf978a54741be5285ed5aff561fabe638dfe60aa4225bc73b13da1df7c716ec2778a77f74de56f7df82cc1282c6d7cae32f06936a3abad7becd537ff854377c73a3a1e3669424e9cebf3089470aea4551353a8cdf0eab5f97b3583f10ca4bfb566aa605cd6b883704c22025df8f1b95c0157e1c8c364691c981b15373726a6c1e9ee101d6d4719547c8f787647fbf04f5e75a026db5b8e94eb4e488cbe8e4fc132e338a2655ef88524f92bf4e3172f7e06da2f28fe4f9446b332facc9e8ad5287c328ff1857461a0edeb620d710757ae849a6f1fd67d2b6dce3fb7574f6d8bd7fa4b1bbfcbb535b964db75e0fd4c1de9f20768c56ee0f45e246d1068aa142fec6cd662b6e21fc4263ebe0fbfd341f1a738337feac5521e05a654b0420ab451978e9b0ffea9f1507f9971f95f7303f7ed10aa09d63cbaa3ef877fb62845a4c634e47ff0183d6838ca33cee85ce072c80b9c6479e040adc4e9285e4f6096eaa14044891f143e9a17d528849342b44ef9705cb5bc94af2d683735e620a0d835f14d8af537a7893e1b0b98ab02f29f84a27c9bfcbab31b85e7a924ab054cf00e7b53f7022893df729a8ec3aeb98647ea66de10072fadff5d4a096ec6b2d7661b9a4e8a39a32cdb5e6a53d5191bdd2352af5d433305d7dbecc3f7660683e12668f2c2e5089a3d882b6d8182fcefc8a7e196a6f046912806949df806131e1cc10b91e03694296d6e2599243bbd3f7f53e81edc5d40d75f13d8b27719cf8f5639d446d5266aaed57b4fa9091d4a8894fafe1fa7c31234c21c478eaaeb4b54a3633b41d877f033a0a5bdab5a3bacefb3a8313d04948127bbd527fc69ef0148e0d2eb899320e50e7ecc16861e31444f140c76b398e4fe8a586f6ebdf95351fad0652b00c9852063b0cf30e811a4e8ddfdc32950d9a2fb19754aa3751928ea9ccfd4d8427dca50bbf1d6bed2b6bee41563be0da44ea3617d499fd79eceb8122f39b3d0ce2afcc3de44dcb42c43f942dbb04232c30b9220f8785c839a9d9f7fb0f71032794f2e3bcfa3a0d10916c0fb20f1ee396bbac0b4eb19045c329e48d67ffd77c3f3980ace8c2cb70f4aee93f67cf19ea14a44a03ecf090075f76dd69afbc461a1aedfd8a1814f935cc5750b221cb01f06761277ec97500dfc7cdc82dd9d676acbf4d3b63849d0850a86fe1bb28a176bf5fb9b3f9443ba4ac2f28e325c8433bdb8c60f8f689c8cfb0e6b75e27e0c2117866ef530fe38077dad022aa033d563ebfc40a129134fb39812ad99658e67cdc49db31fab3cb33884c8c33f1eedcbcc98214a80dbf762b27e619441fa2c69a14def736fdcef87c136fbf88fccf2ea4446cc8898cef3f724b4b85557ad168e5842a605eea8564b0b224d32d8053697df610105ae5d181de1c888c22bc8b15d77e43a21e27b58f2092d2863c5ca0ab6f944d23adab1e2fa9a5a80eb00766e898bf5e21b2718ffbe1576f0a1b03e0ad24aa0d2ecd2eb407acb30af5bdc5b89441d85bfdc05ef36844932049ee22a8a3af30676ef443fc6ccc023d788a03a19ec4804a90f536e7dd6c8518d37f26db14ae80be0cee1d84524762c0fa59a3f57789f55050d8f7af229a62987ac053a065211cb36680429fa78bd01087ffc3d51f859326d4235b8276b77d5f0ea627896ebfb53f40819bc21b88fcc23a4abc639dd9368d283034dd1685cd3c2889c83353c0dfd9279b9056a05b2f42bbd3f8a5b8192f0a7921dfac75fca4c2797feae9855fe57b0a0654cc42de608103aefaffb596c4edd0e7b2cb03f58b8fa4843baaef124799fdebadd862d35be1b2497a8c4d05b2ed97b2b284cc2f3bcb6c8f292142db906e3da260892ab62193bbd411f3571d9769285d5eb5c1e5e8f0fd22d96c857dbc13705b7391acf9a181df26514445edb02474aabe49e9015c259973e1f2e229cd7928b2cdb08633a6b49ca7e8b3be51ffe936a595c5c589bbec4d7971251b6b80ee0442adb480fd3bf9b86ed6ef46dbe180d4fc20f482ddb9d6e70cc6c5c2bc55a8caebbd1325813a4d07003e2c17866356cede1a9fa57b4ef380816e24ef5e683f7fcbf2c99cb6bbb3c7e6fdc6c7f5c1a8c3715489f520568dfc2ff419811327db43a55dc88c6c7f60dbbe497929d48c0d16423f91707f26f1facb9f5c79fc7b774a775bcf2b9f358804deaa40b5184ee512c027f79f408ac6f4c3cac13ab1c634070ec79a25e570f8b31df12df9a48aaae9586d7371ade91da1f6d59278499cdbbdb9d96d2180ab1c6b082ebd3054a8c0456b0fe360eb19d6f849c869bd56f8b02b156339293f32e5ed3b5de84a577011f0eeb11e0a640db4af3c2b3ea08c50975c6418a8581dcc86befe4bfe31eef07d3cf1d30632de89d39c8fd9b6b65efe53565fe214dbef45d7abdc9e2b814e688896710627e3f775e8b4189c7b1450870ce66fcf27a52c5451c7f8e45f43ece826d3dae18ddd256ad8bf65135126e8e0ff13fcc53291ca3e13c6e2a81fe343b8d05eec338664f0addbf69c2e4c320aecff9d925e2108e6786aee5e6b9635946254e5b162ba324ccd655d4e036d7e1f7f4961541860b311bd301b2571869067392e4222eb751ba2c83f9398cb1f547e8805505b7d0b3f07cff8caa74d2ac1e0bbd04f019c5f5032a60175b5551b5c3f2af158ebd600a53e28efcc9272d4fcae136f27528f289e8d0beb63a6f6486f86d43d1740ddf1e3c7e933eb29a9d9cb94dd5d9f331c3b603dd162cf337f4944d77b53824a19a67f632559a217e2c72dfb45c08e0463697fe2ae39489aee42cea68b268e508304b98ce82689f71bcdb9387f4d89abd90bb5cf8fb33d19bbfcd8efe201e9bfca06dd06e5f9638707bff5d82d4ff14f03fc706cd74d394f976857ba6470c4fd2eb0369811774fb73c7c5e668447a95d55adf1c1d4e7f0359106faa057fb0b443112a3c0256203f7aa3a7c07bab0ea1fd099879c23107ed09f7e1937a3ca70d6b8e420a0cfe4b4ac8aa2a399a82658693f9c41a9d42c9a0d3ca5345ad018bf89396ef42658cc2fbab269c09f6a834bdd99e0cea45da0d8b6f5e577ce5617be0113714bba75b462ae6f3b034454d84eadc16b30be09ce9bb352d276d448106b719a5a7068c9a364c639c3761da42dc09f53504adf21a2880a0c6359c6e820ca2b28fa8c19010ce1c226d575be964ac6604956e7fa02ed17a7abca85e472284f18f95fef93d4eda5266717e18482b82965e1145e1fd08d101b808e9de79b7254761f1e1103775a5f992bedfafa1c91f3e8d38fd14917a0be75e5da4dd3b720869428fc397c893d5ff0aeade9b3abf0d4d83be21721ef17dd624e6f778dd097bd85cdd51611471cb80ee988e768e8b79ba3c657ea54222f8190c6b0cfc45889f382416952f5a5cc778b85d252b9fdcdcf704b782c4df5eae1e682c6cf1dbf15da68a7a6fd4546f4196dcc6cbc7d8a4ecfb326b831007614ef3744b08f12b0080a22227a1e06c15329b04300bd8a165c9cee527163c32946c5d483401dd24bf86705bcfd8d22a7016129b274bf90efa081ca13861d0991052dcffa187ed2abf25c5e2f52f554f23c200805da4e034983f87342ee3e19fb44c060e6a3636fb49c62747ec83ef8f3abfe675dc5cf37f84b919a1d56736ef187890d79176c2182866cd0e57dda46c807bbf3374b10347251052d40c23b8a74433a908603fe24e0e314ce8d0b659b7c051301f84b0538eddaa979ad60fb621f4b80a0840f167ac74fbc93b9f35a1030070affba0d73bd1d78c7fae15e59bce551f1ac419cede520b3f165f1bd1e8396188f659c890f7c8153e1b0b157ae24327c9ca4343afc3af2fd908c48e6643b492485a1dda9419354dcc2bfaeedc2178c1af5fda597691a4a96576d70890dbe5f50a0e6cec5a1f1a5346031f6d664af3999ed36864f93ff1de022c6cab5bc6b07b11af7bec17f0529ea7145aa5632041a94bd032a7e95440541f784ceebbd196587003a41032ef7b82dafe1f4f5d6f1ce73181f4f51189bf2c7b27ee3fa084791492501de939a094c4746c1d46a5158999cc0a6e5092411c4ccfccd382d18d1bfdad26d083ddb1d23cede82bcdeb93617beef4de7b4dfbc598c5857ff7a58443bc94de27ff23fd6b4889f089ff1ca1c5b3d3e851fed02e9e9e0be22a1eec92ac0c0408f6e573c6047f6e6ca974c8ad395bf328f3fb0f6e3e18defd731818010805f9fdc76c1c9a08cbce2a5aba8d6a4c4c83563cf15ae4bc32d52b09bb42a12e97629beb7444b3b4de5f02057e7742b497d145f8a2834ea476031022a6e8363e96087267406a39401781c964240886218005c25c9da73e8c74567ec0ccace512fe60e872cac469ff47fdd5827d478740ea9436342fa5efe76c19ce526bd0e9c751103851a7a53707c01753f91e788dcc1a3bedc65100e71e9bde9f4f9f04adf4905e31a94e517e78d1a17a70a1eca572e1012217d5a006ae4e58c6b716e1c52b3ba9c3b5388f23669d6cc9c1151fb96b01ce2a10af1cba1cfc5aa3182cd6062eed34b43e47f050ac9ed3539ff1ec0e880f3d6d757d73153f6569e9f91c10747c519a63cd9e4d5125cec4b81940393c25f22e0226af895388ae73fb581e39c4fc697b00de0048b5175e3ba88d5c57d2584262204e9009e936101428720bd2a48ebac88c153693483fbc0258e07e146110132c676d081b5701df62ff9c75ae3c99aa90d2e989a0b0fea3c61ed975be6dd10949eefaaba6f2b56a83327a8e9dfe7141fc832891c7362bfa2f9a76f01ab22d375b7c88f85c6a371f991624aa293f92e5d250cc13fe6fd815e1dd715d6a387179dc71a6730c846435b1cf4d9c4ee7a46bf99bedb804bcc3aedc74f4573195382699bd9084c5a4882d97495770c08431868c0a1b637668c6e87db43b02d1592aa577119a58ea9a463d099e842664c2dcc5e71aabd26e913b046aaeb61ed91cab568650b0b96cf3b1820c0a88d655d1a18ba0d67c923c99b2015b700b74c3da9973a9e0c27011048c528f1c1bd3564e0c3702763c8882e85220931f05d6fe5b86f1eeb2051fa2cdf9b0ecdb06a9761b562f1605c6f7aab356bf3e37e957ca9fff5e891799757e9808b55f68c2fc087e6373b8acf9ca957498a70d3c2a19e4dae37b66d44d87b78322b6089264d04580ee6c68b665a53acff7b40b05bf7808ab92c10195f834e0ee4e11f239711215b9a7826bbf49bb074b698c115a6a7c26901faf1f49bd5ff2bfa1869be59cf410eac3735cbd608f84ccb08771594613221bdca00c3cc17fe384258acc0896e3e9c3b61b7e6e9c6448523ea821d1e79f3c2d0478798a0b21a12a2ebb050aa532ac794a136da3ab895723b47455c1e9be0a6e83eb73e5f2974a654e6f91bfc5a501c36796fde42adc02cffefbd9d084eb087672edbadfda6a33c927cd7a6266be0cfc39e5835fe48ab285da3abba6d03de8c3a920e62d8479658f28daa49ef7f3c465fe0a09afd4793d018003be06a838bacbbd10fdbdc25274853e14f12f9e1996a1a0196a573659b73ff47b85fe77c01708878d92ee629928112b3d4e83a140dbe855f1d2421e0dd4451a9f9610ea727ff181d660b7310f7f0fe78f5495a2a89e3e50ba5cbc2a070e2e881633831858c9141dc86c3a6d15cc8d28833ebb117b35605ea31f39f83712f52d5170ffd8f065b5328baa152d33b5fd56267b067db0b9de19eaf31fd32418292cadcbbc0b4f3f41949a99392bcc10cf0f85e09bbf51538657369bc64e8b4ae96e1bafbcb7c63a456a3b4ad3c9628537ec656d2cf0d8b6079a974bb2d9ae5c6303e55c7d77ed7b5527979423e2169d3daf1be6c8912614158d27c60586fc7a3a43bf8f559a11ee8b10b2de261c9f84503370eb0cbab34b88cbf5fb480cc998c17f862c6f624f253281bbebfc1e2b3ef4e44284f1de239db3310403f6907a1af7e51186922148b934acd400c005780f518ee75f3b6d569abd37bec2f859bf296934efd246c9720009b9fcf80fab07d7e3fe28b0c3859abd4f3594c1d146f5fe858465bae93afb7a988748aaaed3d9c4cdfc0051bc8ff387b4587ee8f8fac96cbe4c24298b75e4d40347e37b6ea9dcbf1d0ad481ec1475faa00b0daa212c6f2f37a27cc6ada76819df87637a9ca11775365bac5d41652eb0697dcf2c241712001e2e141bec56697292a8f57ab2715a55e3e5751b14cb6a2e21133320e4542b6d5d78bc7280f99b06ff375d1e6eb2ec2f01472ba8364d5ea07970df8d739789ec516fad8a936944ffc345e8273c1244d43dd190dd506978a2ea2c8a4d1f98e1f80834ce620954c49a93218b245a49409d4fea1cae257bb5bc8ad1d156b00c4c51ff8792b6f15560e41e3e1c7f0eb318be67b7ecba6ff43efc321f2d6346dff93c6255633ffdcb583f69f3bdeeff4bcdff07c54381cb1e18858b8e7ca4dfe1d88684ee3c06eecc507f12f1ab8aaf3f0eac0da41cda527bd33c0a976795be9a31d0b616944ee3d0d132ca79f9537e01c845dd132792223eddbf71fce7b7324a1bdbe9708f27cf758adfb1e71746fb30cfaf0f5dd27375229a20f9de0cd20ea2d2c9652b78ade922b9ead76532cfd43b246948241288b632a16270a1426aa600f3b5c157918a4789ec5004593624e108effc40f9ef376868f2c820ee3564a97537d9699bc34aa160b903cec23a6a16b3dab36b8584daca3524cdb5e2692065ac97bff506364943e2bee5a7ed1b258e8c7a1cae74d5dfc40d561dc897d7d3e05b372294eb6c2d27189297f37e86b290cfe9e9824e21fa3d270d4e6481162983381742558dbbff7affc7459540e3884c03f4736f5bfa0509db654d6edff4a8e69833d100a154ebe70a47929570661e0890770ebe1a6c7043b7e813acc618ee1b8bb6b56b0efd18e6e38adb0a86281ff191ee1835d29263e6c83e4999d3b4c4c836eca1f621dac5269cda22d80b79878f59786ec87f26ba3434f7114cf1d19b6344a3b62d74fd11d3cdc3613ac82621112ecdb9edceb12b9a3610716e16a1c1952cbdf11d8051751751da03409a391c8ca4f850fcb6916ea0840fc86501f8684cd906a02eed2de9bdc7896af075cfbec5dd891a49ae602fbe69c1ca99dd26f3cf892221a54e267ad9af74170208bca205c57c6a60f5b782b2a1e82a321e8110e45db7467611932e7cb43e23fb934ee1f0c5a6aa3ce5330d96bbb49ae8968fcb7492b18fb0e0c6431ee5ff4048fa08ad075de141744027d3af99bb6879b527f70d6002283ac7515eeace84bd9a72f0b1fd6072defb70e0b6101ddf9019367afb437e8604171a32d532c8909083f3b443c2a39e90a8b7e26856d96e0457ab7379f910f179f6916098233eba6a94dfaa4af8bb81e033469bc7cae16ef0ce09904941ed7f511c0ead78c53796303b405f6aeb9ed0020f991e0244658a7119564ddf721a8839b4bad153a34ed33297103dc83cd1337802b3594ddcd74433e2c81d3e57b6b55efa1df4c07d590109c27f7d86e7bd15d2a9dcb60dbf28f26f0615e983f14d89ed9dfd8a347250342e657183bda9e0cb58752ccbfcb0a5430ab6b6f89c00bdef9184390f291f9aeca8e217b79c11e78f262eee1cc26cd05bb7ba31607c00afc3165eac17e91f78b62400a76d70183f6389a5dd9429c21f36f8481589008a221148041aedbfb01090b4ff6814819840371442a1a4cc6a1c16565b2ec40fef88e9af05fd43e49cf130dd3fbfb2f2b8be1d95b97f5d4b8e2b515362b0c3f8d58d790ca55232d7aad6eddc36e4807e4e0f4b7123a792e1316114eef8d710dbf339f656b16ce2e15431f405f2857b8bb85e10d5d3667423ef37fe8cdb53f4eece2d9aeafd82764a7bdd232b1bad57dd9b6920a4e91378960417388db8ef4efb1e05749b49cc2fd3bcb7187c4a2997b3310afe14bb69805f6167f693717ca6d88060bd94469867043777159d22390da49794ad77747dc767f26a3059850bb0e745537d8e0820a4801a3de3d91fdb8e2bb43f8c1d79b545edf5ae82f3a60a5a79f398b6f509584a7b94d8ac4fbcc83e1dcbda0542ecaf27d9cfbaaaa3ded5f4f39a151307216f391b36d8e9b03604b45697011bf721ae5ee0653ee7eaa4d9c7990949da69d14aff0880b88547bcb05e830d51cce4cc62132f41a4711b923427b6f1313e18f99f1b4bc03073d2e1cf32fddb1377799f801fc7f395554e98b27447269aafbe85237696520793d16eec52698c2726265d5e8139f141bb68cc675be9fe343a78e0c91b444574d50ebdea3fa66d47a136c74fb5192ccc828b994d04c41927e92475c3292d718bfdaf52f8ca6a7b568738340050b42ec03f4cc56f424ad93e14d506be37b531810e35f00ab35d4efe4fafb31513c7f7d2b269b47d5c2b5aa4a2f449a52cf430a01180493c3747398b8ae57cced954879b424fdc44530fc994697b35d9006fe656b1cc45338c467caefe3c84e1f38fc147d5e6b4859f30442b5c1b58edfc768c20b19ff1c15ebf676c438e5032f8ebfbc6b1db5909eb5215b34edcac82cd546a64afc20fdd8cf3cf4c5816c9fc0a4a2f62a338b16837080bfbd7072efccd6c91d13f8fcb4243caf524658260edc70a1d7b8333855fdda406251bfe3ed6af3079faa9fbb65d09fac81ec2f825c44334f85a27cce6470c388e583572fcc5fe13d9774ab009baae905e511bac39c1654aea87d3870501690792f8279644e9fd3e359f063e61202e74f31e96615d9c585fba71eef3450cf2b277f543037c3ffa3e911655af1dcf3b09a2ea79ff8c5d00de7f0ad48ebb41c74b843c8d446ca52e5854d47631a6eff9b424f6b3f8b7c14a953f01a1516918be909080c6fc5bcf22443cefdaf8dd6e3beb6d2e9b2edf2aa0e2e746f914c174950d01044b8cb0901db3c9807162d3256740fa43fe4db3701d897d4a1d818886c0ba8016fb09ab70795746b6172d1c3df1019f6aef08994fb8120774f48457d02c7f8b4323f430a3c34fd2b21978507a7f17e47a41faedbea408bcab60f21a4966a9774cfe5a5b2f3c18b747afb41fd3385225212b7d70e09bae3d15770b5a59b55713df75537b1adf3a3f0555fca8baf183b448de26903e141be601a13cfda2e85a335d09a8064f680f34d3b673798692cff9affb5948647154154fa2ec91aaa289e65e66ec8a30b3780b1132f8206024c5a2e2c92835270ba7bcf79c3b04c533e849dad9fb3734c54650a201de23251d215ab3c2bb72bd6bba77e0094e53aaa28937f2d6d3491cc01b0a5a234b88e35eff0a8923736ad691e2d012b8b9fbf76ba70f4c7fab46365d68a7e4146b10e991424484dacf651cd38a897587d713b3e814f9d48627a21e9f06168f7e8a1e1cfb1926bd468100c03d54b693feba2098c3e1c31ab2d496197ad5285512b56675db6d5aa625616b68aa90a4d2446121f5e3da38d0a66ccb6654f84b4753d5bdd46c329fc6d52ba892bb570ed6f8a1cfbbc27e77fdc014c4737e3f6b5469723abb0126d873da0fad1917cb2839d7c70cdd1516c61ebabfabaaf5a8e602a9c3f91e07f211bfb9ff553791c57fb896373a14868aa041ecbb40c49e9c9e4b50471a90d1cacb2ee72dc6c830562b171c921b5d7e35ac1f13323e4735e1889d24d421fefb9767f331facbc3217852e89ae7de83e44ad31b8c6e5dedc03e5a1743558b54e79cc4bb02ddf94922bbe04697b0428d8dd3e578731e4a419f27ab9fcb0dec27b980a6767187fff846505b7f828d9aa66f75b1042e22eabd0f4ac14ddc39a38781098ce42fa4b1dacfb5962dc1c26aeaf5e74e5cc72f7509010e84293088d07cab184794c942f5d90f36a872298bda7198f985d1d9fbe9b747385603764826f2ece5afd1d28b88e83e1d5f8eb5bc24e38bb6ee8c4e1575da56eec9bf414fa56e643ba6de721eb62d3104c388eda5f4d2f2e3d2a30ac97b490aa7826b77a9e0343e26547048184c1aeb0234b9b9548c37dc3535470c3d2b3d126885acc0d80042d344c75c0c73d72559148a32c6653bae12715e0a58f63573a9e92fab0209886baa936b88a5926842c68eb0bd86b04b7034b33b66bd8b576ac8e1b47fb62fe4322c3f6b878cedd45eaba2d253497d889e9ebc1ad1e705eee481980dfe8526576749f03917297350813ecf4cc81b1f975a4f8c548ccef875522ccff680d4c92f2707b3c88e943c0890200e227be6240ef951412c46f7d54eb69de15532b59c18cf5025dc6397197976ec62de0afa89c938c4b06421fd027bc917bf1368515957af557c09b58a34b7917a0da624fff180a379f7a0c1f4f105015493560d7d143f1ccfbf72d17a205480e2a8faf1f08ab3e53f44f73430a1652027005420cc749decee835005a29fe5c7be375f6040c7deed552ecdfbdd0981ca9cf5489f9c1a9379c4d35a217ba78abe0552ed80fb38069985e1fa80dae6bc51c1509f0fa5af74d370fcd884237ee586169a95ad0e4502d4d1b7d99427a84b33cec25dad7b26338a5925c0fb0cfad035d9a4dc683baacf2aa5cc79a982977cfb0894f6ba1257e470967ff593904c2218597625739ce3375fd3ee030cb8659849ee73b5ea5ec2e7f8ec8396eb98f92f0d17041bb93bc1ac7706d0cb7a20abdcf855f8e19db266f363ba071008a663b70df02c15b3c6a51bc1e2cc5a3cfdc1bbc9d7d9a4a91ae7ffca8683774fd047610d414a249e518af4725563c34c282a94014f0ff092a9e3b8a947dda9e3792e2bf7f4b7297e0fc9163bbfd71a9e341ff58e3e329491867e39b2be6d91445ef2d001feb153005ea283e807cc9d366101f7f68f4fb3accd125a6dd1c98cbdb52e76819df8096f78e6ea99d701df6ff3f6df4eab6405b8854d389d99faffa4b7c50f233b972cfdb002a17517c5e7f22b145f5a059df610148150f24c2aab12ef18f77e554fd2dfbbb262c8ec1b4de9b6b669cd9b3682e7e3bc6e5d7457b4fb78f8fb73e344e6834163450c6463b1fc5599f6a72e6e4eaa1de58ad4d7941a385af58257983afce20b2bf379dee9a8ebea07fb5a51bb0db0afe18f402ea146e3945c867d5a5309dbefe7fac7b7a9c534b47cca22fed6d41095634dec6d13ac70e705aa4377d479bc42d398f6ffd0305179f310e236415cf353fc1293aac9ab3b44242affbda49623c60e3d3cf7b0528ee0a9ebd222e7084fb0c8f3369e9eee06871c6b336a37dae70a6a24a66a5711f3d6293bdaa6753bbffb8da6d0eec5a06573dc64b6864c1e5d537e142ea44350fb80a4ca66bf35f3ebea8f2124e1194be7213b27ce28b5293b8302ce23dc3a1f5d9f147f0f85d9cedab7b2943adad4396b00d957466ac148305bdb389de9b0c320bd525f94d24b7364ab72b6fab6f794a24651f227cb89249fbae98293cb3f9b317fff688bbb6b88e22364c468e1b0be868dbe2d4178b61046aabb7d19e9de8df634137db92e14113d0a65a25e1d92dfaf6ef50d96b149039caf38d43637a052fc2f31bfca3217a9f2d83e79fc3ff63d31be0303542d9da30e0789ca4faadfe387edd23f0ee63595dd758e13f9a7e460c3458d22ba981489debdcdfde0fc72e73504e5dc352fc884c98c67cc63d77687b2a867f80c67c6fe5b1e674d485c7559cedd51c9de98c2d6f7f7ae30119ff62b127719a2651cb75e32258d61d8a2502d8911d0682c964793fcc05363724ad9d836774073e6c0acab6c7289f5a30dc6958035586c305f53229ab6486d46a237bed773b66d7c0061f0176d44f273f1bf7b87fb60134478d017002a1dae09ab549b2821a773a90bf037fb278d19b4faea4148f8bbfa2507e1fa81b149a7b76cebc87a9ca9af1e6787f3d4c46ebb4c786bfce7a08c75681e8bd62019c9169c53ff6430f2444cf7a738af47cdac8109e10107f75482a978373344e5c227f968ab1e9a79b23cad0308e41b9f081cda470c1e7f5903b6d1a768b609604edc38e71ea6fece876962e0a5bd0a38c069b26991a093db24f32cf40e9e224fa141b6ae949580c6a6a2f7406896b0a175872d0d944eb010f11453d54b6ff7574b673e0c1430e7349aa787e2521cdb238c1f3fd4e86bc0cc508b59659363e9dabb4900860e6c66cc688dacedc517ee1a0bb699f9e838a5546d0b9d8754a882ed68b2b5473fb3c32079deff2b3b9c034200fb5c1359d54b11b94e8aae38db3de6abe9067d10d84d021427a5de3c0e3869ae8258a6a7696936e95976bea09bdafd4e098597fd04520abe25bd865732d92bdaae8317ceeb2783ee0759ad97bdc5fc2287cc788341ed26605847a4d82e9570a506bc5ff60e72884634f778bcfb5fcc5a3d9ec40a4fbd33d179d92f3a5a060230f09fee906bdd16dec5ca40e07c8673f0b13997e8d1e39201050fda8be3a763ca211cc8b960c10aac8d2e5282f236fbf11a45024e93530b07060c9f1d5ca48cd767cd1be770c295679dc0e09a3b3876746899a61e204fc122e8057cd7eda1b7d84bf8bad059416ab5fc341f5fbac50c977713f135c675cfbf9878b0447b4956c792d83b071360eb8a5e13c70a44d44a300ec28aa0b2edbe6e5ae46ac71e88791bc1efffb3d67e140ff65e694cb4fd55d1a9725152c23120d92a55e0eb8e130ec33b503e2f1fe70f98119dffdd997d3d7d5cd68b52ccb5dc6e5e8d5d1438c8c0a399a6ba2e5b9d1bd4b3b32832d74507faac4b1c8f48c7281a53ce580701b2cd4bdd3ff688c18c574d506140845ae2d4b9d5d92c58fedcae54937d5758839ce056f4aa119c6b32196583301104f0ff590019f51f9e06cd9e392bca5f7ea09e51534a0589f7cb7875686042c00ff2f5aeb45eff291dc5c8fd57d08c5f39d67efa8e3324224985528b00ae6bd1344ddd7d51019eb25221e265941eb989b92f35f98d2976ca9b9d3ad95692e9ba3bceb4e1cd43d167278c2f3811d35cb82bee88aab5cee4a77ee8dc8ab0dae2256d66d87cc15a3a7c1b7e10963d6fae4df328f019bfbcfdefa57ccd7badd26408cbcf3b8a6eaab9f429523acaa82d90ebdce97e6a08ace6d24f98f235ec411dc3bbafad28dd4c9a8aabfdf0ab8eda20158a6b0ecb3c5569aba547533dbc87ac2bed56413f6fd7eb68366cc87b73d99ecfbb94709f74ab3ae2ff4dcb38beebd8f71677887866ef6b2ddd2caba9e01ee34d131aa0b478a988f1fd3ab6b89293264c7ff3516ab44f5882762dcf72dfdca07905b96d678d715ce99f685d30a62fd89f965d8a805ed2b9ef70f69e6c992771707591653ff3c7778ba043d6d4ec9230e91bc5f0d717de09cf84786ebb2dadb2f4e54306a84fa916e5fb2c8fdd75c6a40052b6cfce8b90443fec543bccaadae6c09521d5c7189693aa791aae62f0da3fae70de7640ef02dcc67e3075bbe8b3e4633ec0ece399492c06ec9ee0fe269db3c644a0686149757fa9e504c0cf445b82093f23d18feb131670ad9c004babeb4f5ede4e182ab31a98db6941bc905d843228ec2cb2ddd56f3a4430fe5dbcae158d4de4102ca7858d41ba9c712fa210e4048e9e84ecd596aece8e6eaccf058f4183443655d92b575761a1560a562d02f5701ef3a9929e87b7e4912459684b01d1dd9ecf240caf668ee9ad0c30d97187e41252c8ed2476b2d60faa9e2f0dc3f116afb46fb8680f8c7dcd2d4a9005e089d97c2e9a3869a3b0f4e0efe148836edc5fced6670550efcd872723e6d0f9166d639c51d7a53619d5c51e464e3f376e7edbc44c62a7fea0a1b65792306d7d124e39638fa556f148a8b0d31006abf03af208a3816d8efc2fde7059bf183114b23410a294a5a07fba0a69b24e98c041bcd26f5b5f0f5dc504e6953323f6586bb2cf2e2ba41123f0b972af8cfe2723ce0197fb09c9bd5da99d66c07d88f8882ec3e3f46e926159881a5079a9d013b2af379cf8d1be768a204e64af2f4ef0365cf8c6ec42fb916a6156e671a20e3af79c92ecf3b09483a450c2a2bc8149fb569335c9eb57bfdb5df578b661f2889b1198c18488486793b43a8c44437d29a83b56719a4523cdb274c82809843a0ab5e15afd021703cd494d1e81c7441b355a359ebc1e54a9473a2a2b9128d31b0ef3c855b2178bd85ddac7df9e046df218350169090a7cc1c3cd07ecd3163006c78ab0d2e8bd0a899758b574684efb19c1a9a15a81e97b3bc370c83e0f2f3267b3b53a282ef184863aea9101a542bcdda86eaf356ca9d33c6c5a9db46c9e8447f5da42672f38fc97e9fa58a0c04ab67db7cca4819ff97f2e516eaeb36f6536851c852e1b8b78f0d1ff53e2ac39013a8012c5e3366e2be2d5b4926f74f41c5ec4977cf057f96cd357674436d30e0e33c4bfe33df5c1b7c8747eeac38f43fadfd0db0f9244ef9632d1f1ec576d4448da4138f6654dc2e589cfb5c69c7a25d208f97e3a2e90c1d78ce1bc89fe2f09286c65df1d93de7a794df0eaf8280d61a8e898bcd6f6e908a9c55ba3d319ef718ad67f875d538425f4967d14239639e56b44e6ccd24346ed34f7720a747e61cffd210edf0f5c65abf5ecf66d11d1a75132e46584f856e0bfd1cb2e4f53122bb0ab290e7f860d7a88167b7909b3c47f5f6074b184d6b3b554c7ebcc919516de0ffa18bd569c8e7e5ccc245458bbbbeba4f8c7f6c820ed96a52b831a07debbcfed7c455317762c701280a3850c428bb93b9b6d7d1c730e1fe05c5fff99968deb94dbe1f2c678e09c7890ab6397de18a2100c8f81776746b6ecc475ad62801041f5d7820cb63dc202824a0dfd45f7e3d8c11106278f0d68108c211eaa4ec6cad4db178f265c1f50b9a9aaf70462e44b0ebfef0fe064ae457f12ce7cfb43edeed034ed464071109cf11fc673103874c4c48f9fef7fdf119c7708a237b3b04862c3443b2bcc663a1cedf9eebe64b7788a62c8f0cf6ed170f8f308b27c56aaddbca9f2764691c709ded76d0dc618fe6a588174496b7e8119ce0a19b30fa77ebe32bb0ae13d95e1afc2f10fa312572b53ea934f75d7556c0aa1d88ac940c2c22d9dd97f5cce7d3bac45dd604b64b0632593e8c0da6466f7d2088703a1183b2aacffe24c15ebf49e2a5640b38f16fda9e22b8db7b17e2945e321454f12e947159e8918ab6b9de38b00ab514ddbac3a753dc460d409351d3cbc07ef68e594238e90036b669ca41e9dea0868a6be01475b0737e8a26a05d29fa13f90554755a7ae2ab5e8d7bb0c1ef76dffd3e758a5795624d10feccea1b8b2b45969ba6f5dbc3fe0a843169ffcb1a5a350450449009f29b6c9e3dd99b4870d91d64e9c4f5346dee2cbe15c8c59b5b89724c1f19446ede6efd7ff8bf78b3b3ebf2aa187005233f024d001cff911f326d3d5096b7d318bb10e668bd4c6c6da6733dc60308d3438f28a6c66233cedda9734df5b5ea97becc4c42acb75a63a651f0cf8e6106e3ee199a47fede83a81acd2d46ee0ef10045500c82c0e2a92eb03cd97bcaf8d34239e8db947d3fb8c4a76740dca4af60cb619f99eaaeeb8bcc738c9aa728bfcbee6d0affe08b6df58533aeb4fc0458f5c9db722cba8ee50253b3ab4768128da1275d4c1bbfa7e280b6b75178f89e948d4300c5533a4ca4b93ba5f625f081e120ec3cd79141b0f2780a35c70bad4bc1f580142f4b21c2847befc65d199bc73bcaa375bdfa8b5c559e2c77391976309102990e809d22caed154e20f8d388421d573ca566cc206b80167ad26b4c83f06aab36b89c169fed53ffd0bc8dbf261a00330f695c516dfe812290f2d8cf47f98c0c2cba2a5a28482a31a573942f69697a714514836682b9c5fba7dfbcf87bfb34855bb97197151d0b445c26e5b7f6e62287a9084a5ddbb0db7c001fcd4280ff0e8f38f0e31354c2dceda2b0d8e72f6907bc6513319adab0cbd73c88824ad2033310f393f0fbbbbc74eb482941a126938ef64a0278835cd482ee58b6c82f06b0ba8c63d11e6868c84f091620e48e91b9ca2900c79de1964bd1de73620b76445ba664b83acfa0a50df246f1ec8d0a4d4eb38078e2215747cb321c3a3d71cd4d8a2e71ded06ee700fa8663b118218ddab56ea8b742cd3be874a6372c548e868f06d0ea99923a86dd9a5b4d299fb4a5b59e9535afb2a136b8b67b7d4086b9fc87d599a645d9ecb32dc2cb1b9e0279930f63e92163030888de176f334a22fc0e676041aba88edada3574ff6bf6ce34a754477e83e85a446d9ee8bdd9b941f0e98e6e5009366b4927805bc6a4527124d0630fb7319dd9a25c481fa6d7d25337dc03443ac039bf316da1d32f05831c12fc5a321d40bc487206915c11a17f7d40b773783bfe4f7a1fb022f19ed28aaadbefcb06543a48abe494c51af57630b69720ff020c00e0f17030fd7587565bad39347303a4a153f0ee67f54dee88d6b6da49f15c0b008d413213a87e36bbc72721d7828f957566bc09c672f9a42bf3577b5efd2849edfb86122b3d491954eb5c07945857cba30cb44e0bd9e99fdef587313b5b7d52569a05c600b88a91dae062ce935d314834c57eeb555b1724d8525efcd25086439b369111ef1379bdd80ec222bad4de4a85ad3f96ea013fd6237d0c6f7183908bb81c538c7cac2ec5f9fb94bbac037dd3d8a14cb7cd34c6f53d1a7affd57f368c984319efcb3bb62960bb7ff767e4861a3f82f4be1dc87340d111d2308bcfab74495ec429de83f7932fb52d888d6e1f47754085bc6c8da2838e1b86003940e568c95453a1e7385ffd30eb54219e5f9267e3c089bdbb8ea74cbc5af78460962e71529b2184ee1752566a706bdc08a18a67ae79aefec495c8a6693816405ae0b4bae9e5a48bf784b0700dc9f7065ac1d7f818b24c15f25db60bdc7beb8eb6ec6faa0ee13fae444aa05e5fa4b597643a5db47ff166af328e2bddb9d5566d70a9b4c7a402e47540fac1a4ac066a163449b74b4d492c54435bc0f7dd56e6c17381c1f98a286fa9b1c8984c2bc8327d799541e4ef65eccf678102e6db5ba8692fe6de61f15df6025e89cb4d7f29e2cbd182ddd7ba228fb0086ccb672b7af0d324395dd1f464b31eb4e8604a642f833e7ba733069ee2883fe18f5ced1d9539c4c4c9622dbcbc74dbacddf6ee126d791a4a1fe60f886c9b1cb2aae3a7dbdfc84e412651f902cf7f64f6af9f1c1efd869f9d19320ee53503c244b8739d2c5df511a356c8a9551f28ad78b664c87324f9f7af92173065680bae548928760009484fcfd87bbc224650bd9ae9f5fbddc3fe328c9f791eeb6e9641bf6245dedb7f9c76a3a443cba0d22aac617117bc9a06c1a136b838ee8c39c5d4149fe30ca77f494d0f706f8c712c5ff5a13d4613dff9b170dd34007548a8be37409a4a35d4d0b1c6856a7e7a3e4211e0325ed1f32abe609a2a9ed27b1cbe29c93fcc2338fc276c91ac1993d63f09ee7d70a599363cf27b9859edf8f047320eca87c7db47d56a271d1af63a8e5d9579d905a80e56d0e0a468adbe6467366f1ff9eef2fb85b02265f1ae9b45509dfb1460b2fbdf9df89a7a9d5eb167c5028fe7df536c58f032fe6da174cfc45a9da9f0b949c91ceba438386265cfb2481caa2268c3e4214fa6921cd907f00e32d7fa1c6045d499aecec924407852780d327b5f79f91db7fe52955c7b918156816fa963f9fa144eef3532bcf9829fd06ddc8780353f44c426d3ba3d696db8f38c2dbffbaab0f38a4173b91603f13042444afea09210ac2ca9c9cd6d55fe2c26645de7bf80caeac3e0b6e5d6f0de67093736b74093f26e7f317265b3ccc578490c8e8c661700000000000000000000000000", + "nonce": "0x4ab", + "to": "0xd31e61e50da6c4c4aa6bac0587a92c3b5bf6ea5d", + "transactionIndex": "0x7e", + "value": "0x0", + "type": "0x2", + "accessList": [ + { + "address": "0xd31e61e50da6c4c4aa6bac0587a92c3b5bf6ea5d", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0xc274e22f6714ff56f7c51327602c390079f3d7f30ddd09908948927200e5c1ad" + ] + }, + { + "address": "0xe542921abec1ebb78c4c83a364052e0e188b65a4", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736cb32", + "0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736cb33", + "0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d51" + ] + } + ], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x6a8ca74fe6a0846edcb945d2a9eb0ad2b107017b64cdca44c0cbc9c96d096807", + "s": "0x4212b7efff54d8b9d322d723ce623aa587b0d11dbf69db26d22ef2a3a3bd3355" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x397d57c9cd3f4eb5db22c5c62b8f4658f12fd13e", + "gas": "0x30288", + "gasPrice": "0x34014fa", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x205bfd36", + "hash": "0x1149bcbcad59c7fdd0a22b6a7ea9978dbb388a60061a28243dfdb4a4b7c78ef9", + "input": "0x8f111f3c0000000000000000000000000000000000000000000000000000000000002d5d00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000002d7f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a1f4a00000000000000000000000000000000000000000000000000000000001a1f5800000000000000000000000000000000000000000000000000000000000000b2880856828f87c5024f5ec54c53cdf7430fdf66c2f36f748eca8db15b161417c93b74926bfe241da4ab4ba1ff31f77b3c2292cc08dcd3daa6d51c2f705d64ae9cd400000000689c5ea301000000000000000614fac4822b6477c2221d2aa6af1cc1f84fb87ef3ef3880d5690ff92a6f50d0646048ab60237783e68b807e3fc307e45a06e7acaae496a2091782a0f7407593518ca0095853fbedaa38b4378ba6360c773d7a0d793e3b7f6ea7a39fb565747a1f0000000000000000000000000000", + "nonce": "0x2d5c", + "to": "0xd0b010706fe506934923e4fbe185950da641b8c5", + "transactionIndex": "0x7f", + "value": "0x0", + "type": "0x2", + "accessList": [ + { + "address": "0xd0b010706fe506934923e4fbe185950da641b8c5", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x18c246c04819892737e119f610b0c0d2da2c2e9745347c66bb27bf294de7e6e1" + ] + }, + { + "address": "0x191f242057651d2297dd0f1129d816dc82e115c0", + "storageKeys": [ + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736f3e4", + "0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736f3e5", + "0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c3abd" + ] + } + ], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x79e04601c6018bd5e37935cd424a517a9c36372c3a5f1e65b60d66eaa684002c", + "s": "0x550535f5d6f00d411883052ddf1c01a701c0dae7f016c39a498b8d414e1e8e0b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa9448f0af6fa4cd2fa234ce43954caf500821025", + "gas": "0x111fe", + "gasPrice": "0x34014fa", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x34dedfe", + "hash": "0xdbe96dba82165ff17ae4efc14ff1ff59caba43cf4455c098e3f32e1a5d276114", + "input": "0x095e7a95000000000000000000000000a9448f0af6fa4cd2fa234ce43954caf50082102500000000000000000000000000000000000000000000000000000000bc69084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x159", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionIndex": "0x80", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x73004baa3d53e062ae976431b64d12948ef249d1c854ed712db4ad3efbde6774", + "s": "0x1beefaad03171f6db4db39abd2914f16315d07aff5a8071aaaf23bc79030e1b9" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x699c1c9568907847f2c9845ab6df5702e6afa4be", + "gas": "0x8779", + "gasPrice": "0x1e4de32", + "maxPriorityFeePerGas": "0x19fb9b8", + "maxFeePerGas": "0x21aac86", + "hash": "0xcc5bb8335b9006f0e6a4ccaf8db7b59824080e742aff7ac0dcf10306e3c4982e", + "input": "0xa9059cbb000000000000000000000000ab9b83d159ffd0aa6a4a90b16de7a94cca444f2e000000000000000000000000000000000000000000000000000000000000c350", + "nonce": "0x3a01", + "to": "0xe918a5a47b8e0afac2382bc5d1e981613e63fb07", + "transactionIndex": "0x81", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x7e2a31fec4e7ca953eb6a09e7c5976847215b1d51df81ca51886e6a3fb2fd41f", + "s": "0x7256d11646f89e8cb52ea508715a862f7c82871781cd603c28927a897b5847fc" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xbf389becd498e1a07bd011489f6982dbc7e31897", + "gas": "0x10f53", + "gasPrice": "0x1e4de32", + "maxPriorityFeePerGas": "0x19fb9b8", + "maxFeePerGas": "0x21aac86", + "hash": "0x8f2aaac8dec60833567bdb97f3b35bf686f3b9f1adf7ad3d8eac75eb6fd9808a", + "input": "0xce88b4390000000000000000000000008e46cff12b892a9bbd726d8707bac6bae6ba966700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000989bb1000000000000000000000000000000000000000000000000000000000000056b", + "nonce": "0x12d10", + "to": "0xfb13de1c5ac28fc8335ec5721b06eb4ea6e3897b", + "transactionIndex": "0x82", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xbd0d37b0f0edd589224df0da74568a5ef4b870ed1cb15f5365dabf6e4ba7cb95", + "s": "0x43a08237d751c4564351563083cc6eb83b1d846b53ee0361f994abf4f2799208" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x7ff931b21a8dec9a58f9a8dd0fad9690a7a1704f", + "gas": "0x20465", + "gasPrice": "0x1e34094", + "maxPriorityFeePerGas": "0x19e1c1a", + "maxFeePerGas": "0x2127c6c", + "hash": "0x89ce9fb0ef9db03fe7f3a4f9b58aae68e39c75ec043c8cd83c435180a88e7aaa", + "input": "0x129874aa00000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000000000000003", + "nonce": "0x87", + "to": "0x557e9e7eed905c7d21183ec333db2a8b1e34a85f", + "transactionIndex": "0x83", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x7eabe971df006c11eb6a2dfefbae7a0c7ed796e3d2a1ccd6be9ec6c45916cd51", + "s": "0x53b37a0a4693614eb11e147db089acf052330d94a2c36828872fea3a38df249" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x26c581488fce48bfb29e6f2423c6afda95d3f462", + "gas": "0x1a1d4", + "gasPrice": "0x1e34094", + "maxPriorityFeePerGas": "0x19e1c1a", + "maxFeePerGas": "0x2127c6c", + "hash": "0xbec96c3ee8cc0b2114f6b8b97d2e4699c396bd250190859cf419a36b8b8132bd", + "input": "0xc34902630000000000000000000000000000000000000000000000000000000000000291000000000000000000000000000000000000000000000000000000000000000a", + "nonce": "0x1f", + "to": "0x557e9e7eed905c7d21183ec333db2a8b1e34a85f", + "transactionIndex": "0x84", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x2d8c11be73ecf2873be1e5cc1b59e06dd7d642808d3d1969abfaeec6b3b60e01", + "s": "0x3ab53e107c187081886724412977ee14e6a6d0650085b5ae47ef3d367825c42e" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x49c36b3bec6b6e0e77305273fafc68f479630535", + "gas": "0x1e8480", + "gasPrice": "0x1e34094", + "maxPriorityFeePerGas": "0x19e1c1a", + "maxFeePerGas": "0x2009460", + "hash": "0xac37a6076a5c24a3b715eb8ef1314720a53c967ec4b1745b2cef6128de7b5515", + "input": "0x11289565000000000000000000000000c4d5af244e4fe5e5f2d5a6b0f6f1867d4a5f0336000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000010d017be9f702bf4fd681d80605e5c27edb390cb2fce911df4770ee8735613e43afb9688897e1000000040000000100818ff2c5cb2b276b2fa0a01ab6c55f129cf0c4ce54f3714a84bcc0661accba33353136393136663036fbb30bd8e9d779044c3c30dd82e52a5fa157338800010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000102afa5a69f0000220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bafc25a0800000000000000000000000000000000000000000000000000000000688897c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000e842b96dd9b674f8acb56ff0f9c8efdc4e2c4879408248306f9940d3cb78d000000000000000000000000000000000000000000000000000000006f79f1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000041cb905f604730a2bfcd00d80cc824543dcbb2ced80216592fb43f58397e54fa2e2e6e15508900196d905cd1f464f4d3171171dd0ce1347e30b7b9667c75f8aab6010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000416007ee379d93cea77146c61334dd5e9d39e642fee9b4b8370f47dc3548a0f2ef753a653a4c49b6a88492cbde1e9aa85af1ae02e9b825783682678add26278c3b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041ba96a32d89b7ae2185bd2d60e7ddc11f7d56d0fa64874596238ddb65360ff6e16cf23bcde2e57f3de7d7a7c6df34077fc1c6f78d78334ad3cb780282abf91de6010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000419ed1c187d9a3bc4a6ca3934df85d1b07e1df6e424af2c808fd427cd7ffc04779470f04d6a5d1d4890c52e9207a80f5dc59454dc4a617c0a812228b513f15fd8f0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x24e63", + "to": "0xd0dbb2486e3fbf371d1b2e35fa330bef6529d2f4", + "transactionIndex": "0x85", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x4a735410de011e45e3b9dc52f383fb86fccb185e03e3df7d9b0aeb01168c943d", + "s": "0x25ce66507a0ae9c750433197ae8a94af850a6ad592215ccf230142751a37838c" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x1741eb7468a490b4a9ba6f4cc7a47b82ecd65c4c", + "gas": "0x1e8480", + "gasPrice": "0x1e34094", + "maxPriorityFeePerGas": "0x19e1c1a", + "maxFeePerGas": "0x2009460", + "hash": "0x8858c89084594b59217498937ab485b702074005ca86627e2aba0e709a930563", + "input": "0x11289565000000000000000000000000c4d5af244e4fe5e5f2d5a6b0f6f1867d4a5f0336000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000010d01b365e539fac8b9243e2abf2b862971cdfe8bc77564ca83232ed6c4cc060cb960688897e100000004000000010079b2f2428c700f7cea681ba6bbe13de96b60a18768bf795e1412f420b3425265613832393730643236fbb30bd8e9d779044c3c30dd82e52a5fa157338800010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000102afa5a69f0000220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bafc25a0800000000000000000000000000000000000000000000000000000000688897c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000e842b96dd9b674f8acb56ff0f9c8efdc4e2c4879408248306f9940d3cb78d000000000000000000000000000000000000000000000000000000006f79f10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000416130d4bc7deb35fd9b6be80c61cd6714e41873bb6531332d564c7c3d1f30cd0917aa4e8a98157f7d005484570e7099ae40f35a954cdd2b56c77cb48641f5908600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041d000e6e6e19bfcabde4a78dc8730bed91b146a96e7aefae7ec31fc9af597728370373c62f5d7514177b2dcbb16d8d26b1d5a4f0d6b58f9af9f08a241df1a033b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a388ea31babb97185aaa97fc22629def582a2ab10f303a81bdb93d0b5c3cb319321a5b5efc6ae8171812f0995b7e042eed565c3a6261230da594c03c62e6783b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c10ff0230467b7d253437d9ac25539e70f9f7d378bdb8bb61ebfd94e5d68ef7559245fc53447f891e57b8c636e823c99522d4962fd4a27d2a598eb6941ab2ce80100000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x256c5", + "to": "0xd0dbb2486e3fbf371d1b2e35fa330bef6529d2f4", + "transactionIndex": "0x86", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xcfe6cf0062ec81e62bcdb97d2620f82c6bd5362e3a4cd1a3ae3fe0a323b5e632", + "s": "0x9edaedad641533dc7433c16c18edaa6e3c90548e90333664bacda89f832519" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x6db8952e4963541c9cc8be7e578e97fcbd37a576", + "gas": "0xa037a0", + "gasPrice": "0x1e34094", + "maxPriorityFeePerGas": "0x19e1c1a", + "maxFeePerGas": "0x2009460", + "hash": "0x1232bef212518454afa43083123199bd4a5c36ae4c1733a88cd2e7b32ff7436a", + "input": "0xb1dc65a4000150b0a98fc5d4ae4a368a5f6c2b7b7abe2253556f6202ff468c8d611da3ed0000000000000000000000000000000000000000000000000000000025c2f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000010e373ea95a5e900000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000001b750da620000000000000000000000002841098d3cc47adfc5a2af926bcee66c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000007a1200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000874db2626d645cf9320d9a5e3bc7100270ecd77f04a126564bb6f70a6404754ddbbe2b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006888981c000000000000000000000000f0725414ce77f698e34d9f763a199bddf0c6e7a5000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000444585e33b000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024a0bf4c51507e762b353bc3258d8656d98d295688889df1637d000a57c1c3619325d8f65717ccabae3af0a46ccc6a44598fe9e5c5b0888f903ac9e43f9d981b7000000000000000000000000000000000000000000000000000000000000000244e449925c7e125bf55b8442f689bc9b642c5056f02e14c74c4559393805c1c558a7e4ec3fa2bcbf23ff095aad9c9d7f86b29af87f79ef9dc021519393fbee7f", + "nonce": "0x38490", + "to": "0x86efbd0b6736bed994962f9797049422a3a8e8ad", + "transactionIndex": "0x87", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x9a4702c3996ad79a823a91eedde656e6ae913c1abd498a00e1df88d5cff6b262", + "s": "0x38876f470cb693bb9ad1b12f2847f49e5cbb5902257174b4345c4ba7d3bf2445" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xb3a1956cff1ecc8054b81b0c83b9847cb71384b8", + "gas": "0x12007a", + "gasPrice": "0x1d62656", + "maxPriorityFeePerGas": "0x19101dc", + "maxFeePerGas": "0x1e71239", + "hash": "0x10d3192d34bf72ddb404c59a7c56ea90f9945b2f53ad7d875b9a3620194c400e", + "input": "0x09c5643184514230a19dc0124fa00289fc3795bb691c56222da478e05ff7996b0cb8cf6b0000000000000000000000002a6c106ae13b558bb9e2ec64bd2f1f7beff3a5e000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000688898110000000000000000000000000000000000000000000000000000000068889b9525547ccd8599ef15a961dd9b2b3e20ed021d74f7a4f66008c2b1ba5f9c836bcb54bf5a6fdbcd007afc332e384e66d04cefdae6336bc130b9f247de25865fb07600000000000000000000000000000000000000000000000000000000000001e480381407000000000000000000000000d3aa7aeda856a99403e4afcac982e9167dbd0ff2000000000000000000000000e605390e82fc011ac4687401c1c506ee84d903b2b06d5377d459480ee96fc4774b7af1ffce847bd35f0c45a40065feb059a3b59c84514230a19dc0124fa00289fc3795bb691c56222da478e05ff7996b0cb8cf6b00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c454132d780000000000000000000000009f351ac673dee941a36e7d15899e311f2b4583a800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002446d4adf2000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xf8037", + "to": "0xcf8edb3333fae73b23f689229f4de6ac95d1f707", + "transactionIndex": "0x88", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xe4d03a5e41a3cf13971531ea11d3bb841c8742debb70e14840d271ba05d2e0d7", + "s": "0x8f6aafc27333bb22872b5ed2e05ae88ecb5eb507708aef9b19a9b6f12d5c1cc" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x61d8838f9a00250c9af13d622da7c08c372ee587", + "gas": "0x12e475", + "gasPrice": "0x15fb080", + "maxPriorityFeePerGas": "0x11a8c06", + "maxFeePerGas": "0x16c02a5", + "hash": "0x5d4de6f781595529ba268663d5bcf20a4ec2664e6bce2eb17b5bd03983e36ea2", + "input": "0x09c564316e6df9b054e49e1d4e06c504037ec442aa19c2c06ba86afc33e6731143bd4c5a0000000000000000000000002a6c106ae13b558bb9e2ec64bd2f1f7beff3a5e000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000688898080000000000000000000000000000000000000000000000000000000068889b8c8faa9c50d7dfdf78d239b686b3a51570f930acbd405fd2d267f371080e8987cdbd8df2d7ffd01fa3e2123eadbdbeb25a2aee110058eb2b9cb1f6809383b56a56000000000000000000000000000000000000000000000000000000000000034480381407000000000000000000000000e7d79f959d479d96c61bf79585ee7e8244b14e5000000000000000000000000056353fca14fb34dcb39fa4bc3b174fc02bbc245207414a15a44361003e6c6f04130dae0c34788f51d672400ec6c04f491fdf4cb76e6df9b054e49e1d4e06c504037ec442aa19c2c06ba86afc33e6731143bd4c5a00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022454132d78000000000000000000000000f4349af61dcb3a1d4a85276ef5435dfda3177c9c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001845b1a1bd0000000000000000000000000e7d79f959d479d96c61bf79585ee7e8244b14e50000000000000000000000000000000000000000000000000000000000000000001ae0346761ea78204485aa69e96f65de8f9386e14324634ca0709294972ba58000000000000000000000000000000000000000000000000000000000000008000000000000000000000000057dca034fbb5c20668cbd3a8e94fb4438170df9c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb00000000000000000000000057dca034fbb5c20668cbd3a8e94fb4438170df9c00000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xf8868", + "to": "0xcf8edb3333fae73b23f689229f4de6ac95d1f707", + "transactionIndex": "0x89", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xcc78ee1e4e689113d4b7a8af7f12687586a2decf0e1d47fb02985c6d89ff35b8", + "s": "0x3a05c7cc0e67fc1f662fb6cfb54dc529a5538710b82237450285158d63d0595f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x61d8838f9a00250c9af13d622da7c08c372ee587", + "gas": "0x11c860", + "gasPrice": "0x199d3e6", + "maxPriorityFeePerGas": "0x154af6c", + "maxFeePerGas": "0x1b05417", + "hash": "0xe9085d8ab0f6dfa48ce4a87336197aba54bbc8bc3cee5dddf562a0d125d74d5d", + "input": "0x09c5643180142af46966c6aceb3ce8e3952eaec05aedd1824a7e75be55bc0faa44113db50000000000000000000000002a6c106ae13b558bb9e2ec64bd2f1f7beff3a5e000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000688898140000000000000000000000000000000000000000000000000000000068889b98fd4e622855be956ba948ead7daee5dc168dea5dfd7d204a77f91cccf0cd6683005d5efc14ec16e226fb3ad274bffcd46216f0d09f411909f64c333ad4dd7ea3e0000000000000000000000000000000000000000000000000000000000000204803814070000000000000000000000004617167053d6e3597cfe6419f09ffb598b7857a6000000000000000000000000146160f6ae8e53dfc1f82e103cecc172c42694cad8b41b31b1aa19edebb193c4dae32cbc35e2b0c18217e7a8acf9eadf132931a280142af46966c6aceb3ce8e3952eaec05aedd1824a7e75be55bc0faa44113db500000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e454132d7800000000000000000000000015b7c0c907e4c6b9adaaaabc300c08991d6cea05000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044095ea7b3000000000000000000000000b5512142ed72918ad9b842e4ddf0ea04f55dbc6d000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xf8869", + "to": "0xcf8edb3333fae73b23f689229f4de6ac95d1f707", + "transactionIndex": "0x8a", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x35dc91a585d9e9f63a9808457f40ce4b5caf414d6dd2acc50bc8f14c3b766b51", + "s": "0x4e6235e6c0d254b6ed1ef87dc50c9bd11c56436e39e65c7576cd52d0f1320d11" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x61d8838f9a00250c9af13d622da7c08c372ee587", + "gas": "0x120b6a", + "gasPrice": "0x1d62656", + "maxPriorityFeePerGas": "0x19101dc", + "maxFeePerGas": "0x1e71239", + "hash": "0x37f49f2fbc1a73f5a892fcac2b5dfdbfb63a1ae9c23faf6885bf2530dff31514", + "input": "0x09c564312e1f9740f9cddbdb695711903fa0bb2745a97ccaa129458a6542fb5ab41229d80000000000000000000000002a6c106ae13b558bb9e2ec64bd2f1f7beff3a5e000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000688898140000000000000000000000000000000000000000000000000000000068889b98f87b575918381da5afd4be1039e3a0960fbe472171c657e193a626a4972837c27a41f20ce13d84fbf47d8bfac16e31fcdee2a30e046025dbe528fc6c81cb9f8600000000000000000000000000000000000000000000000000000000000001e480381407000000000000000000000000f210a9c0c94d1eb9e7e6d61f4de00b7a006ead45000000000000000000000000e5707eb4b0abc8d7c4910a05d32d1d6b1f04577f8f537dabf1da32527d10a8ba3c61f468b2ed897c6b54bd67bbf85f8bcd8b22662e1f9740f9cddbdb695711903fa0bb2745a97ccaa129458a6542fb5ab41229d800000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c454132d780000000000000000000000009f351ac673dee941a36e7d15899e311f2b4583a800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002446d4adf2000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xf886a", + "to": "0xcf8edb3333fae73b23f689229f4de6ac95d1f707", + "transactionIndex": "0x8b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xaf849013919406d88b8c3eaa7500bc86adeeaa038e034384ffad939ed3e5c9ad", + "s": "0xee0d80626be5a157c9e92ddb75b2c82eb4c44915617755d678142018a4c6f34" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc90cb1f82ea0ef40d3a36ea26f03878fd338ba4b", + "gas": "0x33134", + "gasPrice": "0xd4550c", + "maxPriorityFeePerGas": "0x8f3092", + "maxFeePerGas": "0x1121bd0", + "hash": "0xe8183dc17f117898392bf5c1260a372b94b0841cff70540ce4858e9267b57726", + "input": "0xb4206dd2000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000002546c553d857d20658ece248f7c7d0861a24068167e6ebec00000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000155237945a7800000000000000000000000000000000000000000000000000000000688897dc000000000000000000000000000000000000000000000000000000000000012c00000000000000000000000000000000000000000000000000000000000003840000000000000000000000000000000000000000000000000000000000000960000000000000000000000000000000000000000000000000000000000007a12034a5c9394fb2fd3298ece07c16ec2ed009f6029a360f90f4e93933b55e2184d40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002022a8e879db95863f74d70b7a50b2973302079c2a411c1af993f88a20470ac932000000000000000000000000000000000000000000000000000000000000005268747470733a2f2f647765622e6c696e6b2f697066732f6261666b726569636d776b33786c78626f7a627035683633787979776f636337646c7474333736686e346d6e6d686b376f6a71646362726b717a69000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001f0181a5737464696edc00100000200000000000446a51cceeccfc7cccd2cc810000000000000000000000000000000000000000000000000000000000000000410d21ef9a5c70fa2375cdb717e8f2eaa427d109dc94a894ef2ee84627fa942baa67f5e0d5bc0f85b085aa7ff12646723f5eeee6e1bc7d59a82ff97dd7d499deb71c00000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xf2", + "to": "0x13337c76fe2d1750246b68781ecee164643b98ec", + "transactionIndex": "0x8c", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xaf9f137e891fa54630398948ebe11213ad3109390cb2b7e4eef751fdb5a0b386", + "s": "0x4a5b257ebbed55b6a16d9a9c9cb879b224d620b043a5c1650028771b8607f757" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xfb87b9bc626e67a684948e6c8dec43aff92ba46d", + "gas": "0x33134", + "gasPrice": "0xb5f7a6", + "maxPriorityFeePerGas": "0x70d32c", + "maxFeePerGas": "0xf3be6a", + "hash": "0x3c4e38ae6c51550f091aaa7781d325cf7761f131e46174cfa66eaaef3416f5e5", + "input": "0xb4206dd2000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000002546c553d857d20658ece248f7c7d0861a24068167e6ebec00000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000155237945a7800000000000000000000000000000000000000000000000000000000688897dc000000000000000000000000000000000000000000000000000000000000012c00000000000000000000000000000000000000000000000000000000000003840000000000000000000000000000000000000000000000000000000000000960000000000000000000000000000000000000000000000000000000000007a12034a5c9394fb2fd3298ece07c16ec2ed009f6029a360f90f4e93933b55e2184d40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002022a8e879db95863f74d70b7a50b2973302079c2a411c1af993f88a20470ac932000000000000000000000000000000000000000000000000000000000000005268747470733a2f2f647765622e6c696e6b2f697066732f6261666b726569636d776b33786c78626f7a627035683633787979776f636337646c7474333736686e346d6e6d686b376f6a71646362726b717a69000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001f0181a5737464696edc00100000200000000000446a51cceeccfc7cccd2cc810000000000000000000000000000000000000000000000000000000000000000410d21ef9a5c70fa2375cdb717e8f2eaa427d109dc94a894ef2ee84627fa942baa67f5e0d5bc0f85b085aa7ff12646723f5eeee6e1bc7d59a82ff97dd7d499deb71c00000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x23d1", + "to": "0x13337c76fe2d1750246b68781ecee164643b98ec", + "transactionIndex": "0x8d", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xf8fc48076750cc3834c30dc57cdbdcd1cc6f7e1d5ea208894e9dc8d76a88cfe5", + "s": "0x52f99b9f54180239b7ac3b411ffe7b2d9143d83008c76250fae0db28eff82d5f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x7272ed57c21577d79c52c87dc3e5875d6223ad4a", + "gas": "0x2dc6c0", + "gasPrice": "0xa16fbe", + "hash": "0xd8ba7fb0f466d474ff97eaed1049f17db0f7c219f2a06f371c51592c2faaa6fa", + "input": "0xaf7b4210005ff13c42a824ed40db0554df3ae7c39be2e9984e092e79fdd845c833fc3d300000000000000000000000000000000000000000000000000000000000000064", + "nonce": "0x47ee", + "to": "0xfe7a9eabce779a090fd702346fd0bfac02ce6ac8", + "transactionIndex": "0x8e", + "value": "0x0", + "type": "0x0", + "v": "0x1c", + "r": "0xc0af48140ad208d404695384ee5e5cd55b8bb6958682f402488519eb638d9f14", + "s": "0x231202b07cab1e9889f08483c68ecc5f8d6f085fb8c650d153b5d7b4d64cf3ad" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xb1fbbe31f48ef3fa8c97db6b9cb806af00c6591e", + "gas": "0x2dc6c0", + "gasPrice": "0xa16fbe", + "hash": "0xf045f51075e62e152c1a2d24cc5499ae5bcd94a92b91df4d3b88edb4b3088eab", + "input": "0xaf7b421024c16f8e4e528feed014ae25e8324f36bc08b99532c39e49d642be62251b4b8e0000000000000000000000000000000000000000000000000000000000000064", + "nonce": "0x4bdd", + "to": "0xfe7a9eabce779a090fd702346fd0bfac02ce6ac8", + "transactionIndex": "0x8f", + "value": "0x0", + "type": "0x0", + "v": "0x1b", + "r": "0xba6fe56d867a483707d5f64cb0d3f2698c31a91730f08adf41e084d46bce1e4c", + "s": "0x6f4eeeb887ddae0ded0ce34f7df5ea17e658ff96113854e1e77b0fac186c51e6" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd412b5c64930942409b4727cc923a11190d68cca", + "gas": "0x2ae71", + "gasPrice": "0xa16fbe", + "maxPriorityFeePerGas": "0xa16fbe", + "maxFeePerGas": "0xa16fbe", + "hash": "0x7a6c489c3118c308fc1a21eb3c0d5539219a55361d159a71c288792995b4903e", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000000000000000000000000015af1d78b58c4000000000000000000000000000000000000000000000000000000000000020dc7cb4000000000000000000000000000000000000000000000015779a9de6eeb000000000000000000000000000000000000000000000000000000000000020885cbc000000000000000000000000d412b5c64930942409b4727cc923a11190d68cca0000000000000000000000000000000000000000000000000000000068889f1c", + "nonce": "0x1fd", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x90", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x5730ce5c713069b4acd91d00f63be1073d065180810f05ee0dcab3cfafa3cd5a", + "s": "0x1e919714295812bde30bdf767f2e6e2b1fb6396fe84d50b495eb2a8c80adf3d4" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x3d45f160d69aa830e0c55377753bdde19e607534", + "gas": "0x2ac8d", + "gasPrice": "0xa16fbe", + "maxPriorityFeePerGas": "0xa16fbe", + "maxFeePerGas": "0xa16fbe", + "hash": "0xc91200c704d03b93d1eb5a07ede83c98e2fb97c31770664204a5f2f2c98c1b7e", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000000000000000000000000002b5e3af16b188000000000000000000000000000000000000000000000000000000000000041b8fb7000000000000000000000000000000000000000000000002aef353bcddd600000000000000000000000000000000000000000000000000000000000004110bb70000000000000000000000003d45f160d69aa830e0c55377753bdde19e6075340000000000000000000000000000000000000000000000000000000068889f23", + "nonce": "0x32", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x91", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xf87e4840367842e3e977f13aabdf6896fbb741d7973b844c6b64248487947d84", + "s": "0x13a0b5cdc890dd235db39f1147c686f50b7daabd021bc3ea9017ab295a796f3f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x45b3aab6508e40883fc0ae433e113a36b11d92b6", + "gas": "0x2ae95", + "gasPrice": "0xa16fbe", + "maxPriorityFeePerGas": "0xa16fbe", + "maxFeePerGas": "0xa16fbe", + "hash": "0x736daf8d6c82c5142db944149cbcb4e2fce7d2ed914370e76b30de8e38565cb8", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000000000000000000000000015a39e4cec419e30000000000000000000000000000000000000000000000000000000000020cb10730000000000000000000000000000000000000000000000156c38e0a236b8c4000000000000000000000000000000000000000000000000000000000020771d1500000000000000000000000045b3aab6508e40883fc0ae433e113a36b11d92b60000000000000000000000000000000000000000000000000000000068889f18", + "nonce": "0xec", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x92", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xf50820f0389b6f8c1ade5e5e7619ed60f34cf0444f09265c89f38f90de6770ff", + "s": "0x2187ddf9a2ab7ccaf1e37876b37e55e6d3b147dd7d2240f6a427832a8d49378a" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x6456c62aec2f537be99efb0e3f786d93b6aaabad", + "gas": "0x2ae83", + "gasPrice": "0xa16fbe", + "maxPriorityFeePerGas": "0xa16fbe", + "maxFeePerGas": "0xa16fbe", + "hash": "0x3163122ea834690ce649638ebd5f52ba4508f17b46ba857fb6304cde2aefa111", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000000000000000000000000015a6618bda265830000000000000000000000000000000000000000000000000000000000020cf40400000000000000000000000000000000000000000000000156ef50d037d00440000000000000000000000000000000000000000000000000000000000207b422a0000000000000000000000006456c62aec2f537be99efb0e3f786d93b6aaabad0000000000000000000000000000000000000000000000000000000068889f19", + "nonce": "0xf0", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x93", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x7e87dcdc7c5d0f38d0f6b76d5146527df222da0a1b78e8991de7bc73425530e2", + "s": "0x51861390cf1c84ef61adb04a8abb59af80e9c71319b28c6afbd10055b011675d" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x4135b1d33f2bed7fdff9ccb42d399f70dd066259", + "gas": "0x2ae95", + "gasPrice": "0xa16fbe", + "maxPriorityFeePerGas": "0xa16fbe", + "maxFeePerGas": "0xa16fbe", + "hash": "0x3237f7d4bfc5e56f2efe17a8798f1bf99fa2d3f490f2bc6e4af98d590e831112", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000000000000000000000000015a5eba8ffbb6850000000000000000000000000000000000000000000000000000000000020ce8d9a0000000000000000000000000000000000000000000000156e8057f2ef4b1c0000000000000000000000000000000000000000000000000000000000207a914e0000000000000000000000004135b1d33f2bed7fdff9ccb42d399f70dd0662590000000000000000000000000000000000000000000000000000000068889f19", + "nonce": "0xef", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x94", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x58d8ba33b57ac14a48551d5ddf120b8308248c0d7960945a333ff6dab05835a6", + "s": "0x1cd3752e0fe356796a97ed2e42959d548bdf6d07531d65bdeb7c15b9ebf2f405" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x9924466868bf325f9fe619ba751f2a4805b11fb1", + "gas": "0x2ae95", + "gasPrice": "0xa16fbe", + "maxPriorityFeePerGas": "0xa16fbe", + "maxFeePerGas": "0xa16fbe", + "hash": "0x6e634f1a54e4662697275cfbe1364ef5d81236a4c2e89087ced9cf95dee56559", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000000000000000000000000015a575c8dfce67a0000000000000000000000000000000000000000000000000000000000020cddaf70000000000000000000000000000000000000000000000156e0ba595e3617800000000000000000000000000000000000000000000000000000000002079e0740000000000000000000000009924466868bf325f9fe619ba751f2a4805b11fb10000000000000000000000000000000000000000000000000000000068889f19", + "nonce": "0xee", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x95", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xc04a1eb510eda095a747885573f9855ea568c195655030cdffe09e91863cdd15", + "s": "0x482d59d2b636b6aa0cbd4e1c577284b5de9164401d64b977f458d7f3b95cc470" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x170b1869dc37226f337edfd55c7535cd02bab2a9", + "gas": "0x2ae95", + "gasPrice": "0xa16fbe", + "maxPriorityFeePerGas": "0xa16fbe", + "maxFeePerGas": "0xa16fbe", + "hash": "0x926cf4e001241c8e95e9aec11e64cc1b5eb5dfe8af8efcf2c552fb90cd035d93", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000000000000000000000000015a4142968dc0aa0000000000000000000000000000000000000000000000000000000000020cbc3100000000000000000000000000000000000000000000000156cad8f65403db800000000000000000000000000000000000000000000000000000000002077cde9000000000000000000000000170b1869dc37226f337edfd55c7535cd02bab2a90000000000000000000000000000000000000000000000000000000068889f19", + "nonce": "0xf1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x96", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x4bc5fa9661cfc55f25f520229fa5e0a08bfb62658773c1b702cf210c73763dc8", + "s": "0x2fd027fccb82ec8a47ee6e89fbf066e53680e34e33f5ffe13af0d2fd01884054" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x5324d0ad0708483e5780f42533e12cbf86d57248", + "gas": "0x2ae95", + "gasPrice": "0xa16fbe", + "maxPriorityFeePerGas": "0xa16fbe", + "maxFeePerGas": "0xa16fbe", + "hash": "0xb8c4f1fbccd5af21bb67cb42691f88cd836210c0b6b30d622e198711fe62e8ed", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000000000000000000000000015a48a089ff46640000000000000000000000000000000000000000000000000000000000020cc75b20000000000000000000000000000000000000000000000156d2240dbcb8e30000000000000000000000000000000000000000000000000000000000020787ec20000000000000000000000005324d0ad0708483e5780f42533e12cbf86d572480000000000000000000000000000000000000000000000000000000068889f19", + "nonce": "0xee", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x97", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xf64d6fffafb7fc5e03327e609524dc7e7ee8827c936bf1e1f7c1bbd32de85af4", + "s": "0x3a49f466120db2124f6b1e2f3159d748f02475c6820d6ecb1a651d3da7e28320" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x077f014b6ec61845748d762245f1dfc82c024f60", + "gas": "0x2ae95", + "gasPrice": "0xa16fbe", + "maxPriorityFeePerGas": "0xa16fbe", + "maxFeePerGas": "0xa16fbe", + "hash": "0x3a83e437dcbb651767ae2388fecc346740583e45b62b685c2c3a270f774c31f9", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000000000000000000000000015a74d54497a2720000000000000000000000000000000000000000000000000000000000020d0a5920000000000000000000000000000000000000000000000156fde79d81a36180000000000000000000000000000000000000000000000000000000000207ca3ea000000000000000000000000077f014b6ec61845748d762245f1dfc82c024f600000000000000000000000000000000000000000000000000000000068889f19", + "nonce": "0xec", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x98", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xd04fe88788eea08b0940766d2d15ed1fffaa981fab825549493cd6af9a2165d6", + "s": "0xe627aa374332af86ccab9996a85a45c398eb2c14b80f5a1e5446baddb39e4c1" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xe63bfa8d457a2bbbee803f392c7acd495ca32c79", + "gas": "0x2ae95", + "gasPrice": "0xa16fbe", + "maxPriorityFeePerGas": "0xa16fbe", + "maxFeePerGas": "0xa16fbe", + "hash": "0x1f4b3919e583323ce4a4552cd8eb530126c521ad4e771f69ebfa946176228547", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000000000000000000000000015a6d76f9d65ed20000000000000000000000000000000000000000000000000000000000020cff2e90000000000000000000000000000000000000000000000156f69c2fa8b4e980000000000000000000000000000000000000000000000000000000000207bf30a000000000000000000000000e63bfa8d457a2bbbee803f392c7acd495ca32c790000000000000000000000000000000000000000000000000000000068889f19", + "nonce": "0xf9", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x99", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xd3930e68ee03b7d81e790e0e72ea4ee323ce64cca2874c91fba8e6d22f8bcd44", + "s": "0x26b4ba9a8ea1b8a9e7d1bf53493ee05c063fa19c22d1519cdfd08c5a1a60f39e" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x94f5608f42d2e9b40c4381e11a3d4f334f82e539", + "gas": "0x2ae95", + "gasPrice": "0xa16fbe", + "maxPriorityFeePerGas": "0xa16fbe", + "maxFeePerGas": "0xa16fbe", + "hash": "0xa9f19c36bdba446de6a3ee15472f5aeed58838c7da87952ca038cc578f4ac199", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000000000000000000000000015a4ffe7d70cc1e0000000000000000000000000000000000000000000000000000000000020cd28530000000000000000000000000000000000000000000000156d96f25256dea8000000000000000000000000000000000000000000000000000000000020792f9900000000000000000000000094f5608f42d2e9b40c4381e11a3d4f334f82e5390000000000000000000000000000000000000000000000000000000068889f18", + "nonce": "0xfb", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x9a", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x58a066ae15658131eb5d410d8d4ce2be2dc58d76bd87f6e94ad6400a953266ab", + "s": "0x5c1dbc92a99f019b6e37e1652b90470901958c3273a959e44b02b34e5ec3feee" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x6d9e37f14cc8bc670e0b96d210efac83f2b5be84", + "gas": "0x2ae95", + "gasPrice": "0xa16fbe", + "maxPriorityFeePerGas": "0xa16fbe", + "maxFeePerGas": "0xa16fbe", + "hash": "0x43bfe9b2b520e5cb3cda57f2c41aa771541f076f222948eeff2eb4f6c4689d8a", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365000000000000000000000000000000000000000000000015a3286f86d28cb0000000000000000000000000000000000000000000000000000000000020ca5dd50000000000000000000000000000000000000000000000156bc430f8ac9aa4000000000000000000000000000000000000000000000000000000000020766c400000000000000000000000006d9e37f14cc8bc670e0b96d210efac83f2b5be840000000000000000000000000000000000000000000000000000000068889f1a", + "nonce": "0xed", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x9b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x19eb21c26d6aad877b5e80843a7718474c56cc3cf620b278df007233e8d18ab5", + "s": "0x5cf0e3a6814ec5b6f3457f68afcb5ef90ff717cfb2b870f50060addadfe4ef81" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x6d6b3b9e947f481187312c3031f388f9b85ba068", + "gas": "0x39546", + "gasPrice": "0xa0b1fa", + "maxPriorityFeePerGas": "0x5b8d80", + "maxFeePerGas": "0x1cc65ea", + "hash": "0xb97c4ee35cf8ce2e1bdf6aac9f3c0ecdb84cf5f7189d8e04ae3d080da32dcd48", + "input": "0x57ecfd28000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000017900000001000000010000000085f0f27462597e40bb3c1e4539b73128b0782b824f9525da5d4c3aaf6c5c52a50000000000000000000000008fe6b999dc680ccfdd5bf7eb0974218be2542daa0000000000000000000000008fe6b999dc680ccfdd5bf7eb0974218be2542daa0000000000000000000000000000000000000000000000000000000000000000000003e8000007d0000000010000000000000000000000005425890298aed601595a70ab815c96711a31bc6500000000000000000000000044cbf338bfa28dfe32f4474c717209948254b5f50000000000000000000000000000000000000000000000000000000053fba240000000000000000000000000e233862be9e5ff645e25ce6a001cf1fec28097c80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008202c77143999602e990a178b2840584fe62dbb3cc11257db58099c22aacbc8cf74f0f5864b5b6b5f844fd3f570b4446ab078e687a1d6521674357c0e0b514fa611c7d69effa43df963f70948d68f0a9d1ca6e2e58a7d8b3f5b7f391cc713e2ce1fb534a9927e2d6a4605c71e64a1502a313e20b0b769de02a774e7e6d445c396a9c1c000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xe9ee", + "to": "0xe737e5cebeeba77efe34d4aa090756590b1ce275", + "transactionIndex": "0x9c", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x201daccde87626a30a223777c39962bfeb6a147bfb1168618409df1e9bbe9197", + "s": "0x7771cd0eff1840478aef63adbae13008b918a12b597db1b8b0aa5f74668155b3" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x6d6b3b9e947f481187312c3031f388f9b85ba068", + "gas": "0x3ad5f", + "gasPrice": "0xa0b1fa", + "maxPriorityFeePerGas": "0x5b8d80", + "maxFeePerGas": "0x1cc65ea", + "hash": "0x9972b5bde36c6bb965e4018af2ea0d5d9fb7d2a1e3ba4ebfb3cdb7961e9d2fbf", + "input": "0x57ecfd280000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000f8000000000000000100000000000000000006336d000000000000000000000000eb08f243e5d3fcff26a9e38ae5520a669f4019d00000000000000000000000009f3b8679c73c2fef8b59b4f3444d4e156fb70aa50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005425890298aed601595a70ab815c96711a31bc65000000000000000000000000b0e5e67d578c0d8b675e93b5206721799649ca0500000000000000000000000000000000000000000000000000000072524ffe7d000000000000000000000000e233862be9e5ff645e25ce6a001cf1fec28097c8000000000000000000000000000000000000000000000000000000000000000000000000000000820d60663ab84c2bad25c38ba2e46da3e0ae12c3ac9e88a97656a8502b8b2e442a5a38bd77d494a5980f4cc2cc14321dcbd50cf5f3db146c022ffc23da3ada47e51c583bc1aed1ada28e36044c493b9845ec4e18d9f1563ca7a83e9f4a6c0f56a515359fe4515b9c75f64a340ed90bec027e449d2ea3cb29548de734811f0f888e381b000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xe9ef", + "to": "0x7865fafc2db2093669d92c0f33aeef291086befd", + "transactionIndex": "0x9d", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x4c70ffce6e343a1647358e9fbd8686c4990f16cf12ed30c9efe681f369121eb6", + "s": "0x282c51d2256300ad7cbe6db4be0fbb7edcc254dce8cbd9b364cbebd51844ecf" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc01ef81cb68aa4cc9eac74562273892fda5dc6a8", + "gas": "0x2dc6c0", + "gasPrice": "0x99774e", + "hash": "0xb1eb6a13f937e1c3817b3f208a7a35c5900c3821a1047d0cdad7c71502a62c07", + "input": "0xaf7b421004eacb2a4bc704700ccb4dabf4764c3b211ebf409ec02e8f237dda3c32a4b52b0000000000000000000000000000000000000000000000000000000000000064", + "nonce": "0x4813", + "to": "0xfe7a9eabce779a090fd702346fd0bfac02ce6ac8", + "transactionIndex": "0x9e", + "value": "0x0", + "type": "0x0", + "v": "0x1c", + "r": "0x866149cd616957774543fa6f6e54d22423419b3bed76fcfc988f41e6034c6f73", + "s": "0x7da3a4e22296e1be8ff7fe37ac687876dc0040129d47919e1e5e50e5dba5f309" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x777bf55ba06395c8b2c05dd43d0a40001d1b9982", + "gas": "0xf4240", + "gasPrice": "0x989680", + "hash": "0xfb08dd40a6c6c54a5ac83482f87f9733472350e43b066e537d74a7403c92e8b7", + "input": "0x2810e1d6", + "nonce": "0x2422", + "to": "0xd1c4e92e0e9e8d9c2f859268aa11a997d5e460ac", + "transactionIndex": "0x9f", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d71", + "r": "0xfcecb034a33df15b12f2fe85938d3dc5b7ebeb47a25bfd23c0310b842f012156", + "s": "0x590317c6cff35abd9b01ad4652eba916a637ec76e29fe1316294faab931884ef" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x2b8265845226dd87911eaadc5eb111ca02d18517", + "gas": "0x22530", + "gasPrice": "0x92e4d2", + "maxPriorityFeePerGas": "0x92e4d2", + "maxFeePerGas": "0x92e4d2", + "hash": "0xdbc06a24e2cc36bc4c290390156b79f7eaecee28d0400024a6c5fb6a86f2f1da", + "input": "0x38ed17390000000000000000000000000000000000000000000000000000000066a3a280000000000000000000000000000000000000000000000042b3232cba30e1700000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000002b8265845226dd87911eaadc5eb111ca02d185170000000000000000000000000000000000000000000000000000000068889f1200000000000000000000000000000000000000000000000000000000000000020000000000000000000000008bebfcbe5468f146533c182df3dfbf5ff9be00e2000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb7", + "nonce": "0x27e", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0xa0", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xb38f2b67afd87a127fbd6d25ca04a6f6dd55d2d771ab2d9f21139da0ada80ac4", + "s": "0x29081ef8f4a29deb0669e594859815188be20d89536d9ebe9cca2a8632811e35" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x149fdb649518957f7cf329ebc072dd8bfaca20f7", + "gas": "0x1a1d4", + "gasPrice": "0x8809cc", + "maxPriorityFeePerGas": "0x42e552", + "maxFeePerGas": "0xc5d090", + "hash": "0x42bf76dfe622c0b4744085597cb2edea3fecb9378766b90ad2763a10203a1d19", + "input": "0xc34902630000000000000000000000000000000000000000000000000000000000000291000000000000000000000000000000000000000000000000000000000000000a", + "nonce": "0xa3", + "to": "0x557e9e7eed905c7d21183ec333db2a8b1e34a85f", + "transactionIndex": "0xa1", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xcc37d4400c5c2e9dd76e16123c1d93b9ab46313be757e2da4f5f64083042fe6c", + "s": "0x4823c0c98ec167b2a89748f8a7009b9d372425c1106b61fb234f1991669ab50c" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xce826d78b2d4c92c0ad9af76c3d722396d237b32", + "gas": "0x1d762", + "gasPrice": "0x8809cc", + "maxPriorityFeePerGas": "0x42e552", + "maxFeePerGas": "0xc5d090", + "hash": "0x18bc556e3e329d5e9ede2ae73d83b35db203c33a2850d68fcd27fb2b3842a569", + "input": "0x76340d0ab138fabac8bcd161c22df273b0b26fedd777cc76a9e78de75e65631d4347674d00000000000000000000000000000000000000000000000000000000000933140000000000000000000000000000000000000000000000000000000000874daa00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ce826d78b2d4c92c0ad9af76c3d722396d237b320000000000000000000000000000000000000000000000000000000000000020ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x1a4f", + "to": "0x9b210290ad9a8e26ef88f214384280498b9a096f", + "transactionIndex": "0xa2", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x6f587efd5921e23e00fe5fafa35f46f6772affad1508afef668bc351d89019e1", + "s": "0x1f11d8416d72e697c273783113eec5ca593a02060df609591c217db5d8801a5c" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x728bc64250d68cbda682e7e1a1f3851d889a134c", + "gas": "0xa179", + "gasPrice": "0x8809cc", + "maxPriorityFeePerGas": "0x42e552", + "maxFeePerGas": "0xc5d090", + "hash": "0xa72d3d6fb43f2bb5a1ca4a1ad5d427293479d5892baf9a286e1a9a4bb084d774", + "input": "0x3a2180d8", + "nonce": "0x262f", + "to": "0x18eb9fcb4a97597e9e0e5f35f6c9141d01142454", + "transactionIndex": "0xa3", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x72e77e7f35ecd36fa18c12d741b4bdc47606e6d232710ae984552237102fa9a", + "s": "0x6146aa0458a7119137a48a5ddb69e8ce29f38ce54744c4eab656b0fde32a6961" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gas": "0x714c", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x8fd584", + "hash": "0x3b3fefdbdb196a54ec446249fc0af33b94f8bd2efa6b5c833ac28a4033c68937", + "input": "0x095ea7b300000000000000000000000007abd582df3d3472aa687a0489729f9f0424b1e30000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1dc", + "to": "0x20c54c5f742f123abb49a982bfe0af47edb38756", + "transactionIndex": "0xa4", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xd42f32f7df34f162916800cd4b0cb64ffd0b4d52891630d5745af5df96d15e20", + "s": "0x1e0c0fb0000e1b3ac1a91116617dfe51f59b4f94ed3791833a76418e1f882583" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xdc9d3015a4a391607a835b87a292bcf030af24e2", + "gas": "0x7a120", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0xaa222b", + "hash": "0x0997b0c14d8d7fcb037ec6c5c4aa5001438b7ca46d46de230ff9ad598c1515ac", + "input": "0x6fadcf7200000000000000000000000018002741dee6dd5d62fb7f598e771c05f2d1ffa8000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002e4b1dc65a40001435dc40414da15a04af8e9b230044053c5598a4f42ada7cb3542a3d0ee660000000000000000000000000000000000000000000000000000000000275e041b604c95e22ab61c3a84ecfdb8d7eed23fd08d672e9b267e8e8d022000a5fe4b00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002800101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000688898040102030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000b67fc6255591e8dd200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000000000002c67083b245714c70f8bd2394e6bc0e66c223ef9a2cbfced355940cefb069f50ab2596e65dde07cca2e4c376ff5e5ff5d6120d1249bc91a6a8918b1895de2aeb40000000000000000000000000000000000000000000000000000000000000002081e42e2f3b09523530df21e6f7de0326e86b1d4a6ee273247bb678ad2754a255bd89783c64753f96204961561f2cbd04649941d66c1ab42ecf515f7d1dec64100000000000000000000000000000000000000000000000000000000", + "nonce": "0x75bc4", + "to": "0x9e841c03218e36a785c1c50f2f74fac5d54656da", + "transactionIndex": "0xa5", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x2b754b83a5e32df51df9b78ac148658d4582a794ac2703905f7c9b22e2c0f8a", + "s": "0x6b2b1f7fa30591455c6cd2db4a494d5bba0477b59396ae46f00c81db501bf770" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xfaf80eae918575e55bbeae5a55cdb7840c95b347", + "gas": "0x14321c", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x8fd584", + "hash": "0xee678ecf99827c10cab7faf6673819747b8396b63813ab4cbdb5f5b770a9a81e", + "input": "0xe11013dd000000000000000000000000faf80eae918575e55bbeae5a55cdb7840c95b3470000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "nonce": "0x6", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionIndex": "0xa6", + "value": "0x2c68af0bb140000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x2f884b5c06ecd48bbbcd10be8ff120e391f0e538d1d31eb82973c670587079ab", + "s": "0x6f9b586d86b2ef16e7a85ec00513e49591235659c97f91cdcc5f85de6208a99f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x1ed72507ff186224003f0af7e48e14d9dd33acce", + "gas": "0x2a880c", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x8fd584", + "hash": "0x10330a24438f7700065f17aa1df668c1396d8536404925384f7eaee1289d0f89", + "input": "0xccd567fe0000000000000000000000001ed72507ff186224003f0af7e48e14d9dd33acce0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000001e7968a3ae35c0fe7745dec9a46ed719fe24fefa452c0675805a0b0bf54866d800000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000003a600000000000000000000000000000000000000000000000000000000000003c400000000000000000000000000000000000000000000000000000000000003e6000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000003ea00000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039200000000000000000000000000000000000000000000000081aa2d43a21f4dbe60000000000000000000000000000000000000000000000088e837fffc44eb4dc00000000000000000000000000000000000000000000000cedef92785cc63e8c00000000000000000000000000000000000000000000000000022b41664e95a500000000000000000000000000000000000000000000000a2e686f180febc514000000000000000000000000000000000000000000000000f557210f2e16b2690000000000000000000000000000000000000000000000045ab6751deec1c6dc0000000000000000000000000000000000000000000000000002d85167fb22470000000000000000000000000000000000000000000000065102ee0d658dd9bb000000000000000000000000000000000000000000000009b2959ebc18d9dd1600000000000000000000000000000000000000000000000df741c34fdbd74c60000000000000000000000000000000000000000000000000000191b14ebcecaa00000000000000000000000000000000000000000000000cba5c8767122b4efd00000000000000000000000000000000000000000000000c3cddb6c90418976400000000000000000000000000000000000000000000000b93bf0d60cbcfdb49000000000000000000000000000000000000000000000000000243086c3a9b68000000000000000000000000000000569f232711468edd3ada9224d4277062b800000000000000000000000000000000000401624740e15b83dc4ad6db28a6eb000000000000000000000000000000cc548c72e5f3829f37861f294c94fc50250000000000000000000000000000000000178e4bb27bf19d7987a89c80fe02ec000000000000000000000000000000cd4c24835d7beb9cbbb4201a32476700af00000000000000000000000000000000002b62534108d3accaafcb9058b726130000000000000000000000000000006ac858b668e2d5b880340b689fd5833f43000000000000000000000000000000000012e5cd2b50adfec6b27fa4370dcd35000000000000000000000000000000208c2431d2f5899ea24aed66a73293bd0800000000000000000000000000000000001d5c14c973c25075b27f6d444731fa0000000000000000000000000000004911f33bd893038a2af15e8f6cd8d2ecf70000000000000000000000000000000000224aafd5b338f665d3581a790bf36f00000000000000000000000000000045171eb23b62fca7ba52c0828146fb1ec100000000000000000000000000000000001ee330fcfb91880ecab7d7cb952ef300000000000000000000000000000014a32684416b06923272b67198e6c9765d000000000000000000000000000000000007a6c7db2760d0e5f6066c042c47cf00000000000000000000000000000045171eb23b62fca7ba52c0828146fb1ec100000000000000000000000000000000001ee330fcfb91880ecab7d7cb952ef300000000000000000000000000000014a32684416b06923272b67198e6c9765d000000000000000000000000000000000007a6c7db2760d0e5f6066c042c47cf00000000000000000000000000000063cf595f3d099d4f116d54313298c6fe06000000000000000000000000000000000017a292fdc3650f29dd9b891cab8052000000000000000000000000000000fcdf656bd985f3e93dff81164ce66c1a0b000000000000000000000000000000000010b1fd3996b29f37026c85086fa67000000000000000000000000000000089c1f97c8890383f41a8d301cbfd9f90d0000000000000000000000000000000000007780fbfe6d275149428876a864ad400000000000000000000000000000077e403015be3e0c41eab5a6d1ff49943d3000000000000000000000000000000000028fbab5e01f9fe04c1c9ba914c519c0000000000000000000000000000001ef08df73abad944db1aafbf77511676e400000000000000000000000000000000001e12026e5c5ff6c43000f63da854cb000000000000000000000000000000c4601281b768a758bd35e4637bc43cda4500000000000000000000000000000000001eeaad1b5bf1a5d05bfaeeecfacfb516a487e5592e76161d0d7b40f099d52db25445753f78c9ba293515c3064be8c219bfc68d88032a139b42ca7590e7832f75dfa2d33a40a6d71aacdfd0e9b4173f26fb9688676aaa48f35f2302c570f05385f238a7c32b741cdabdc8891523ced504f9d6fca03bc5f09159b246ce246221dfa0593177c8792c4d670f44290f4c931c7a0b4b8828b862e92158fc4b7349e95b0b8bc2abb545847c774c83be370bf02645f04e21bcd6a2743c624797efbf173af9856fd2c9e3c77ffa266b200e7be10d0b718e76069f021099ce543d58bd3c1a7cd9e9663b35373a016a6f880e2ed60cf81dc6d058dd488334b52196c3573c703fb039725e2f5163720118944be779135a46509f66ee9e3e4cfc46053e89cb32511defd920e197c96eacb6bdcd076b05f0ac092f3e17186e03368424998d5f48c81689e22590e28a010e92b10c731e19e7e0a11436864af1951e99efc79d68a39a38916de943fa9ea89f79c08f0f982e365d53c9ca15a1a538b0f7860c852c8b1b16ee3d0e61e76b0a7bcd754ff2b31f677ee0bc5c268a45f3144bcf2149e3385043c21655b3770dd6cc63a0ffcae0096451fc6bafd7b9c41b54f0f5531ea8a41f7fe8626ecbb1377707e2024729d30ede50c602e607ddbbc8a57c1d6f84def37c9b0ca090beacf238ffaabda610292d3fe526411544259c7edc2bef0114709b78c4e2ba6373fe3924bf5a2bb599bf2b28eb3bcf465567a7ede6fd45c2e657aa5d70fa1c727fc6db5069dda07def7122500ed7fb04e843a8fa557dc2f7c65d1b116a0034d1d22abfaf0dd9110e98901a8ffb87cd474bd6667c271bcd6035a1bc7f3a09fd10db5778a3c727d25224a00b8fc7f3ac631e43052391b8ff6b424d9ef52b1c6ddccb0ebe5af9f29a949ea60e8c5dd610a4b24e05ad712429d28f3e84e71ef7a825e853e2c3bebb6d93561f18b2c69bd0d1e68c527d9b54740c90306d9ad5a9a1a5471acce9b873f47cac54104a4d2604c1efc5bb5edc7da14438093007227aab3498a1de8df7d696a4ce14236ad8792490701ac7d99cdb848b61fbe34ae2a769ee3f8765f6711fcea62e9406cc59b32d8a0a364bf6f6cdca58bc2de3e115b23a9f733259850e641242cb36133fc2e554a9fe35ad7c262e8ea0402c1bfd01fb59e814370f320565c2c7ac091996efcc4eea4a87957d6934dc585abb57b70b51e93ce335d16c71678fa1b03502fccf6bbad7a0accad5179da51262fc946c9fdee53d870ce43fb1c1b8721b2325035e42c677bd0adfb735fddeb3c053c8d94b0e55e644a27d7969768e5c2e94161ccb24d3802d39ffa61ce1b8aec5de1695771bd08dfd2417963a06ea12045422841490e129a41361bb27694007d107af5b1085d75680f66c02da361d94e52a19d23f9e972de860f1c51ed44e896404d1e64d352e893ddc0e52020f1e0e479b14383cb1075fa8ba2cafa21dbde02aff46193f91bd1a831b1dddf46206799fb918652fb568a4767f4e0d5416960cf5e011475dd19075d28d70088df70f9bd12c2ed41e292e77c16d5c4b36b2a226e05159d2114c2dfe1286ebd8c8208c8362282466aca8b284b69254e04c2970ab5b54652ad87bcaac4213a7744e77013e56050884d063714ea871a9525a18734d8c4f7cccd005fef6b29873e676da56440c8d2c84543d5b3fef128af25af210edcfd53970df72e542e031a0ee582e737decd21be03ed7012b2278fbacbe9bde6ec289edac6fa1a196b7a9d80bcdf67f7d23ee2ab38473371cc46f21b9f29146a72122e56721bb430ab839c7d63b5c0a991e4c1a1e64e3cdb74040c4e64edd2734b2bd9f5b63ae92793432566aa9d5f170af1a2894ab333d7d6afe214326b79340433c0c48e106e74e58902c50f3c64cb41d89007890a87a4d13f5dfce7552a42fd7336a0f53169b3ceca2975f3e4803fea4010da29373a10d248e8581de716419fceffaa6cc16ecdefd78fcfb424ab37a6ac10255c5565cdbcd17197d9caada9b9f4bfb74378c357aa9d54bb8cda7896a4464218956619dc3969e68a7c8f23f0488ba0db31b10cc9e322e4a6dbf687aeb870c29167debea76f49c77bc5afda2f0a88801fb93b9d986016a6186eb62465f7641164ce7ee7ddeca1683247e7e352936f2d7ffa84a293d96165bd1e54ae6f115211608c973de2d4c7686e16b402694b9493f68619e7432df70a03f958242de5b2307f826c3548ea1cd6e6ec4f81cfa3a1f818cef74da160f87dd3a78fe632c214f03b7a82a3edb10f0fe683191d995864f8a0b32f95abe387b86c86982872df1b719f9a9ad4e9c386e9a7d3063a5dc65344967efaaa7f027a808b83d99be8c047e00586e964504847d64209ba9bc6b79f07a93cac922c6e135a026bac0283eb99b0b9e798a70e684ac3037c7565e77c12dacd093f5ec09ccf117ffc56e9ceb5783068807b4ba10d97fe141ebc595438b5847582bdd2d6855f180fa89f1c09f53a82202a583dd3dd3663c4fd26d810577e05c7425ea934b3caa34b3c527d5e2a55620e533201fa62b956d0d1d0b3e9abee11a8116bee8bd463ccdfc3995f4d96ea22aa5261f8ee2b1c5a161dff369e4986bd569cd12cdd443caf0d6575f0f9cdff8013ecf8e7950ff1a7bb516eddd79455754257123086733382a7786c9a766847608111a365f8a21288bb0145bb5e18f2a2c7941cf454ead877a60a2b6323f0c5928bc10f2e79a118914f69e199119a898a1988b786ef34a15f9be701a0bf007e213fc7a96cab33bb0efbdce52e08b4bdadc7d0920bca512341eae76f5516021232a9a0d17a42751af32682ac0e93b3c08465c54d7d6bb8cef5a0b28a961c0f1230b329c5f55cc5da70bb4a1ee90143e6e8bda12963c73f9e9926e5d4a3d1fd1332ee10a3e181a0cd253f8356bbf61463a12759113807f5768637fa069ec5193db143a01c12b5b9e8c0cb8a02a2ff6c603bd25a5407cb9b5ea96623774b295ed3c3002be0f12f58db48e7825b695ee6a9a86cf218a6512ef26dfed2e3d79fe1c980632c5c5eded9f7bd166d003f354e4a64df80eaed4f688972f82ee36b297903b093fe6f51f453f4a29c4fb2b43ea558877e88e9a577c1ba5ec327508c8fdbe4f2bcec404b97775d046d07d0fe5cc49e8021c62c44f14af3dea58561821c8910d1773ba216d5fcd0cf6a33f843fbc0079cf6a4bcfef3a25d09990204f85d7b8a81289db97b5cd04906be82383c004b4a35e7a9a8aef27db2e45ca89f3bbcf0a951603663f7319b3819d552d90b04a07086968abaf4a51151c54fda39dcb807c10205f8bb4d4ab253e9b0173320888ba37018c911786818e2d5150c30d65f6be521bf09e871fb50dda36ad4f5d4c82932dfb9e8fdac4ff14e408d0e56268aafa672cb9eb4c90164b37343d5477b643889c746665f785250de0abe2e761d9d8d1e6274236eb769fcb8b362f4c87dbe23b4a1a0a8359c571b20a169b200f41d55d9024eadabe0b14b0dfa24c1d865a2c32f68a654a0456c290e93e0ada441d1660d0254a27e5cb6d853fc891d67c21f1a1eff2efa233b7de39407f19acb7d52f3cc210fb9437e2d51b207833e3e6b52cb6fdc64908e004680203d4f7e04279cbc3bc19ad7dc171deefb1dfe4ec014d4432c06e0da8c8de18798da206c9d4844ac2422150615ae6c0b95875cb08cd7700349b6a4e81228b85904bd00c98f55fcbd6c82f3fb03990b40e11018f7649f7d6eec582dd96eafe77de341e40c86218e2acce0c1a2cc4f4b70cc3e9310689e6e181c66ec4a6565ca5b7ada882a1b69d1542812cc5de550ef3916769b76c1237d31b59af9fa945f6ba2d574205301d79e9db2623caf4c02dbf54c93e662a0bfbef04fd321f3f098db04983c7a413af6bef2e8c24ba3ad755705a10a0f6679f22bc8c6ed0ab2895450c42d0124c5b7fc63094491cd29dba2fc8cd6172aab73838b22c1ff845d18a84568bafdc47cabaee0fd39117ba3853c81e941123f1be42b1fa2668b12c51cc0186f36ddacdda8e4258154a294440fa1381c30022e2d68cd25498cc8c8342eb338cf11d76d9c2d650f8e94503f1f5f13fc02a77ef4edb0987f971029badddcca8eb67cab64f42e8cc68d8b1275837210a7cc3809b6cf3526f30603b08a73432efa2d8a9f4036274cf46122114224cc4d08294312413f8ea3735570ac914e13efea83886a8ba005b6331641a17dcb44d5e21e4ae95ff0922fa0a7ac1e3340e15c74ef3269f18e3f321c6839816f1c047b5114f63116636d9d277206455cbc2e931ed697bd2c5854037a2e1492a91fd2b11bef672977d27f4c72b28cba509a3fe4454d06a86c8b5a571d96abd0cdc896d206e20e1e5fde7b454437fe1de5c29e1c8d79cbf074ca2de1c4301071c98651147470393f8648561df353bcd6ac4596d5e424f90b503b4a217e7bd9609a99c3b07b1006c1c02ba4962e244ee27484acc86990b07455bc0b4b683a7e81b6568f02a78cca1bfdb073c875b615a0b7598e575b8ce101f7bbadaba0e047506ef0ec2a163769f118e65a56ba45344c4cf3a913766115af1e0aa3b2087bb4506d5d4567d07090c50569f29ac36f04b2394c14eba4e47fcebba3e503953718c1f210f270c56e2144341ab591343dc70a3090eceb48937310d6521c04602002c065e1a6be981caed925e28a893ef8a5feedf2af5679453a6e9a87a6e6423451e1c056fc9cb6010072812f18cacc097bded8f9317c59e6705cd079f3b04f97c1d0265580e48dff2928fe46bfbae29c96d8e890f46499b15023850ba276eedf5d02be88007f22aa5e10f13763b63a137d30d3ed5c832cfb4f481bab3c9da6d9e3d087292a022d784c817351ed5d169e3c97bbfd95b9a7b988e76f38545b72c4a1620b43a797cfe031cdc543162e49589e1162253e119367efbf33416c2bb650a4120273151ba622d986ba16823382331ed2a07ebed0468501759f7edace6e94717218cdc35897c4bac3c0124aed5a37df5175229f22acac166fbcd1d1c8827819c01c0a27613f2fa3e4b3ced3b6fa4d7e8447bf720330c7fa264a4c0f6a62fb39014f6bee6a43fbd94f78d543b6a60d516123f6aeeb129a83caa7ad051fdc97ef42875684790ff6ffefc9aca2b4d68a71fcd9c9a314abe2e386021cdb4e88ce74214ed1949d570dbdeb7f8a901c7957f48060e7b458bfdac479a6f5df057e52d180fbf2eb86844e4e391df7a946b702606c8ce859999ec563a7fcb2f0fd79792231b5ca5b3331a30a10aa91a989fb0ec0e1b719f7fd266dfe3029cb18d8d4a8b8d24943196a399c9a6fe771bf3d90f190475492dd29f0beca567c3c7898ab16ab70eced8267a3c7bae4b05787726c14bb4358ed737c85be8b2dd0e95676e2d32981136da64c0763e7eebfb4292330076f64d1daeaf97f3ad3fe68628475397e55e19905d304d5aca8099af940a98a977eef3528f92b5c6c23713b9990c883dfdf722c90a8ada5b3185cf4d9d0199da7d52d76044d427487b99054199f5bc77e4aa149b639c59422ddcbce8f1e18ae2649815599275c42a3ffb346a889fcff0e3ff1a27ff3311361b65d56e23b1e02ae88d4630ab8c1ef1dff0de8ef50902310b2a236deaa32395d54689d741ce9d1ade03234a3a765a663136c1b79ae71e75e2f4261e44a776675d3c79b913e61d50bbdfb1cfa793d74bd5cd1fcabfa6662fb7ed076c2f897a5271c4f6b58d35e785ddbf28b1183f1c2928c2ad9ff44c9e95d0180a7811eaed451cbaf956cd8b0fa2bec8b6e29ffb96ed2da08ec86d2914cc3f4c17f8958770f148d30ffd272c7460a5f07c35cc95f7727e053789ec8c45a4e7ab17b24f98a8e97b434e342334b9b3ebe4f8e057140b3ad7c48257cfcfae76aae42610b4fcb860c380e806bc89328279fd89b058e2b98734e4caac80a629fb7d2c271d507df5f83159884fede862f1f337676d905be9628b0f9e4b7c674d679ea70a1c86cf266a1cc0cfe537f008b2199981f9cb197ea6cf0964a3c14b4736ef032e84b9888ef1b7387ab3dcead57ae1f343a8908fae87a018cfd5c38b08877d6b15d3269c25b8d19cdfa6e78a5d554f386df72333aeffeb16ec787b356504773b3057452d8d17cba10933feef167300a19f650cbea2ed4950c77f986a8ca40fc0248b0c04558763a508ce16c755b28700b524cc13130f5f85893810302605bfaa193020253dd4c417ad1d56ab75b6c3ab65b356b955f6d6856864b5dce4cdd9140f6ce5fe212b736f004c38f57036902cc69d15b931b3d9c61e0826f5d52068071fc2bce4f6779d723908c7bace5422ed8ff536d74b113779bcd5cd75f4f39dbe089489ca9789f7e47b4f8b74d8ddd4462a87f9c8d6f190c0cef594e1b4c362651c904e317a19e0dd79f2a23dad3843746fa5f49b443c6f92d9e0e89d7ea9a3551ca53e8c9a059cfd76321079391d87bfae1c9fb18fe2a892dd4728254cf8a1520298c5064243854a8def429c22050b5829d6e367c9ff957971be0890598e097f11c5a9a7457443fab322ec14e3f9c4f8b5fcac2024758ee8730d7652bb01c44c1f3be2aee187c26121c55ab904368a134fdda41360ab814d40ff8ed9bc78546e0ae5d8cbba1c89a5b8f7ce4e6d2e4cb884b6deb1794317ab9bcf2d1fac12bbe91b5956a7a299eed72293c7385011c3235a95274bb8a94dfe2c2ea943cfd022ef06213b798ce209a10ac28eb51e1ee739b01e92807fd5a9983601c7c3bd2c9074018ad89afbd00487285e5827e5c13f0e96b2733bcb271cd12839a0bf123a792913fbeb63ab40d18c8ecac55ffd677f49295dd60dd2b7dd201e3db11693b49e141046b319cf64f491180feb1ec959296698c90810e8d67138ca87a4e7da08cc490335bceb51e7ecbd4e8f53684b417d0f5dd5cdbe4f9970158fff5b0a7127b2622c2707e763ed4d4789aaaaeaee137076646850865a6eab421e22a774da4938451d382de997fec438e50f72cc9d98cc4384bdf9645ac9b26ac33101e276f42f170c173850108c02c056618b7a98cd6670e5387f0d79274e8abbd44bd782d8b37a23ae1cc95110a79b2ff7e8a92b0f987c923b9ce23a3a6e69250b6bdbc8e97a5c202591d23ce70746efa1e90c9619abb0c46b607c3daa3f7d64e02dfd58ebffb90b94be2ccfe2030279de900261bbe952e476150bdf1f2982a01430a1a8dcaa821635a6002c60e62cde971b02706f3eb73c737b67b8b6312b6f1cbc5992aef1ae2723df9781bcfda638b72c70dca5e290efce503e4cc1989af6d7dd222b57be1b071d3e2022a1e4c7cfff1439770346561a096f36cfd902091976e1d9e850976f00694bf22e9436750bfc0aafebd8541e48c584315fbd1a58ec5e61a5b94829dc0dbc261a408a66e1c978bfe9d2e7cae73f03a2dad7e55faabe33bc95f19a98d611d86b96e2b1719add1acdca71c81293b25c383dccf2e8625bf800d8e7866ba63032238837d4285e71d3c6bbcc7403bd6b9b06b4dd5470d3a7545f19b8bc4c4c1cd92fd00df1f620ff3f9b91b463aba5585074fe19c5c5fc043307a6d29862e000b4f3596cc4cf4f449fb96280dbb994405434b6d1e76d101e4b270f3ff603d81eff91de04933efc65ac2360cb125f35f69915b2b3475e0a8e0e49f077271c9e021b0db93770ce1894f8ceefe6d1a7a10610b1939208008c8e8532351ab8724c2b6ad6984dbfd7115cf183083ffd10962c5462ed244fe703f86e0401638b4d961e12b71259af010c7d94cdb6f4796e7827e773dfa0b6b4147205f326c0d063461509b37ac54c676e3e68b311b072369dfeea604e0c8a68ab578fd13a67b8f1ae15e77dcea1d9a70a31d1a518e80e78a4b4728dca85087dcfcc63ddcfd0279ebd0779e863800365c4cbf9309af971ea79e46c15f6c1c2fd4d95f2b2f3c40078e709ee24b0ee3fcee52ebd47a07be17a691d9f9f3bbc6a5198b070383667b0bd93000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000126c7f6bd472c2559d122eaf68a6bee4bda432c34a7c8fde90f0ae92956edf5c25bd2f492ed7560a3039ee3cf4941a5b116f98fa8e2e8549db94b6d4bbd700bb20b586f248e3479509244f8c8ad79d94477aab7bbaf13df67582b4302c3d5f0a00a803e2bd38d9ca1bd0ddc484523d459dbf5f9e71df5672ec0f73275fa753351ab48fe82b7e6643277bea3036422ebe50acecf38de1835ec165fdf2b02595a10d3f16171ba6a1053fc12a66cbfd92194253e2fcdb4e2e69abcaac2648e463ed1beb0591e7f89bab954e04de6da9144d165f22cc1b07d30c6daf06e9875e27c4014efc9d4948a4b1af25d58884dcf88e0d39e4963abfd98bbc2ebbc70414a9c31b0a9158971b09ed7f424e63adc2d1967db30d2a0482ee6a6bb2af9186a001c6189ed1f999fe8ac483cbee025ff435a1d039c54cd7ccb4e5dd406eb614bac7a80da14140675ea77e472a6c434c8bc3bb3661d8e7af02a9f6b930a1bcbf3c5e010692c66eaf565f1e66c1b4db69ce8fdde633e2411a5d7d1b667b192fecf2b258191b9dbe506048948e19d6c5d5729c5a78202b7157321a693451c01bad0a43a33004d5ce7e368e2c430e34baf6985fa5ee43f66d27faa73b0b687a2d2085d16e05ccbae616dc638e6d0617e06361f96ede0b9297590d3785006c8fac4b964c93028043c677231f74f7aad6c4b7c7ba066c0d05cd904d8a52cf0644deb21b9cef1692f28411bd4080638f92c840517e2493f493d0c7b559ee0c63e3beef227ac220e1eb3374c1f6d7d2bf84dce6e76623aa505c2088924723ddf25bd9947a3c9711c24d0719f57389679471830436f388f3ce0d28e4693a1c7439fd157639e7cc2ef83a43a809fb29fa0e18353e485e8dfaa0d6f60ef39f96ed482979769be4b713ae7470ef809d1d820f7b4abde625a958860fcc567e1239c11a8b66ac1c03c824a33a14b0e403f32094fd869155845b792c4696352c6a0394c2e954997a4ae30467959f730eab7381383417b104d499bc1e8621766d180237fc0ff4e37e324a0206e3bc8f1402b05a073288177f26d15a9691b6ad06780b357149492812fc94108289ba8b659e73825d98eca37e1e9c881b6b486cb25b2d49a3ecbcfcb12b930f69d7b3860e7ddbc8b35e9dd3f80f7e73cfc3b94066f3a96cd797373a3ae5642d2ff34d7baecf6afc3b933c1b02851ee95dac51ee1f8788a17d56fec0610c781d0c3fabdc3cd42682f160eb4a3346810328052b3c4e2d88a126e73ecc6aa7d62e21e20d99920f4a62391b135142b18dba380ab183673a938d780787ee94be4b297c2349230cf14ae8a83b6e87517ffe3b8ae4e2a5510160e6619e540cbc60bd1ced2a824ab72b8c4850a97b19da2422185bb19ecb9b80b8ad432b6e289b6b6b20c73b0278c3aa0efb8dbd7f58d2ab8790c13b6013c5159ef0722bd6b6b14085232edc1d465a60ee97d20cde16a81540ef915a608571dd89fe2d260ebab94a5607c3a6574bfaa0412c7ec9821238ea67de7371a35d70a40c4ca07778d795568b1a48a985f4220142c07d75dd6884f086ef628f789bc49efd1a9ea730ab8d16d91a48a985f4220142c07d75dd6884f086ef628f789bc49efd1a9ea730ab8d16d92116eb8331e8838441257e4482a9a6d824f756cc557dde34fe4d23cf845d06a21b170396d4561f5f2307cd0955f41879da311df2675ed2519a43dc0c217cd92b0e97ab4775fdb5d24beddf6797beb640cdf4f7094d9cae04e629ce49920236072df4362a38801b819b3c7261c5bebabe2d4178427c1ba4d096f2c4479dc486a60d665c8074829551cf50db913256f7c3c468e4fd898fa463588bdab2faaa22b4000000000000000000000000000000bc89d0c470796832c06a90a55587a92aa400000000000000000000000000000000000d41a5163715a0c06aa626b7cc766d00000000000000000000000000000021e121faf40bafa4570f916842613bba51000000000000000000000000000000000020b40ab3320dfa646d54a95a4db8d7000000000000000000000000000000d9c317052b504ba23dde11a0e7cd3845ca000000000000000000000000000000000008bb958fdd733fd251b950557cda8a000000000000000000000000000000a3d2839badf154e1d5a76852df1cb0cd3300000000000000000000000000000000001c6976db1e93acdf45cb9bc5b3a618000000000000000000000000000000d6190f93ea616545556f8ee1f157316f15000000000000000000000000000000000013bbe11a21c7b7f4edb647ef48404e000000000000000000000000000000d5f1a0b5be4a16ffb9b3fbd5db077e4e40000000000000000000000000000000000006d2a7c0850bd09033cf798b2b65c200000000000000000000000000000051088a8147921bfd9adb993cc189a0dfc900000000000000000000000000000000000bb5d4726cb6d940dc2383fd497fcb00000000000000000000000000000097c2675b204bb194ad2e689ed66a37c35e0000000000000000000000000000000000024c5c67e6e8f9d094d14863f3e5c40000000000000000000000000000004dd604946efcdea3a6a1e074a5cc12a81a00000000000000000000000000000000002d4c53712e3e5ec02510f5071a1d35000000000000000000000000000000789609dd34bb3e36ff469a1ce028e8e35000000000000000000000000000000000002c7b9c4b48d360f60af4d9c2be0863000000000000000000000000000000cb14915317ba5984bcd699573ae90f09f900000000000000000000000000000000000159aaa41f5fdb94022a45d927704500000000000000000000000000000099d8ed2e21221ca61fdeb2b2a8e640a6cb000000000000000000000000000000000012503052551a9a3e7811bcd99636e40000000000000000000000000000001cdf3c90389a1c065488269567caa9735d000000000000000000000000000000000018ca60829b39eaa41b67e21e7755a50000000000000000000000000000007a98f5eb5ffad127bfcf1d5d67b73778cb00000000000000000000000000000000000cc99d41126bec2f6a3fc40616d9e60000000000000000000000000000007e7a13dd7a70130d7a71fd8c542dda36ff000000000000000000000000000000000023df32acf3b6da8aacef265a52c3bd000000000000000000000000000000aba2fd3299967f45924b64ebb0550e9135000000000000000000000000000000000000d4de6d6fae0087ab3a1164b6f2450000000000000000000000000000006753fdd8900cb287b2b7c70b1c4f1809bc0000000000000000000000000000000000184ec5ebd7ac6579d3c8dada9f5aa7000000000000000000000000000000e633e5091d432b069bd419d67871a4e2dd0000000000000000000000000000000000202f3bd024c0c91308cd9d828b24990000000000000000000000000000005338acbcc5b1d471c62c346bff7d39bceb000000000000000000000000000000000020d9d789e8786e9d533af78d4b9a9d0000000000000000000000000000007e20259b13a861793152a57face75c4715000000000000000000000000000000000012fe54a07dfd7e2f09c522fb5eee7e000000000000000000000000000000782e3656e82df0d2868c0a201f05ced45e000000000000000000000000000000000019b96e510e31343ebe82ecf8c6fb1d000000000000000000000000000000a3c3b0d0d0b8a326b3ace7dc35a766b81700000000000000000000000000000000001173f1b0b82a7bdf3dc494e0f698dd000000000000000000000000000000df996cfba21d5a3c34ffd83a86dc46d08100000000000000000000000000000000001ec101e174c133d5cfbbab6d7d22c600000000000000000000000000000098c7bf07d152ec746e158e0945ba905530000000000000000000000000000000000008b517ce6501611f89e6a070cab44000000000000000000000000000000098331bc00a2a26dba41c6a215bb1ee886200000000000000000000000000000000002fb20180cbbda161ab8ae31868aeb00000000000000000000000000000009715535ef828413b4d59825e43c5f1dc160000000000000000000000000000000000231e707e0dbabc22484679896ebfe8000000000000000000000000000000676d4067a84c33cb0d34f57fdd18b67de7000000000000000000000000000000000013e11be8330a376771a8d479be2fe2000000000000000000000000000000990e4256da56e5b7a7236fe0d77c4b585200000000000000000000000000000000000a0edf4f976b83f6358d775df1323e0000000000000000000000000000002ec2a4b9f80f67ac1300ba8ac4a92c0a45000000000000000000000000000000000008e9721e0acfa44116e66402e3c9f50000000000000000000000000000008edcd0686b606861e841a9386b302d4494000000000000000000000000000000000014ce046532064fb3c38128728aed93000000000000000000000000000000b7cb2fca362d12f9e385d7ee83b28dbac90000000000000000000000000000000000080e92cf38da26597133a0808bd1ba00000000000000000000000000000026968fe95d620c35dda72e30213ddaa2f100000000000000000000000000000000001f55c8da9f5a578751b0db474e716c000000000000000000000000000000328c4c3ee0aa16fed5e67bee55fe72bd230000000000000000000000000000000000075e9fef7d12fe1179aa25cd810923000000000000000000000000000000e872eb3fc0379138362876b1013ace3d2c000000000000000000000000000000000012bcfa89ccaf7cc30527dd2de642e8000000000000000000000000000000c5b67c475e5ed9bedea1960de28e4a921100000000000000000000000000000000000cf10099678ca407130174baa8c8530000000000000000000000000000002a9596054beee29e262880d89fbe59df0f00000000000000000000000000000000000de7d9cb8fcb67e43271583130378300000000000000000000000000000041812f3dde7df78e4b081647aefc6d0861000000000000000000000000000000000013d9e01022af076253aa2ba3fed752000000000000000000000000000000d60153bed3f37533f0bc6fabbc731cec980000000000000000000000000000000000256b9601b8b4de8f885cd2f4f71b7a0000000000000000000000000000002d9d19e2533745359b198411ef8eaaa58800000000000000000000000000000000000cb970bc88328d74c7f98274594851000000000000000000000000000000d8de9cbcc565144ca4102c22976e878aa7000000000000000000000000000000000017f89ed9408b1e55527ce29b5ff59600000000000000000000000000000031115e508e245c6e59caa516bcd24df757000000000000000000000000000000000024806081b12f05bd41bfcd1a3b71400000000000000000000000000000009b27c5bf4d0d9b87c8d95228d4874e59e7000000000000000000000000000000000016923950d193b838bb4a6604f155670000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000fc3628b25d533acebadc463234c40fd9f5708cc9c539b2e6aabc15d380d5e591139df923e2ec8c30c27d5ebf5ae58985c4a5459f6d83c42d88acdf1ace214e9027f79bb5d0117e1a47db9865af34059ced5c068d1c9b04412b9a2f6248de5cc22b9d6cdc630679842c65b10a52ba65f56692e2269da94f0cb1a56c91878d46e02bdcc7cd9f86328a85e2f24665e7f8a7170c8a8a9c6247b0d57e9e148debb77151e51fbd05f952891956654f2909f545cae981b86f24aa61831c74564dc05ea169d86f7c6e9c6c9df6f024828a4198dd90acf249800758e39a88a0f81470dc30a068e822d35a1aa07b9e818966e7f51d1a4451a46d0d26c991c147bdea53edc2841e9e0ea75479be9b354ec7a0b5ad3ef6830492e346338c31214052d65f36c2a46d15c53aff209d3fd43ba40b9188f3339b82868c888471e891bc39e7d3c7e0e6b80459324351c666171df4f6f44174dbe5e4957f574df0b652791681c9ceb2a7a0cd36758b30e9bdd71faf84f3c0202aae6ef4a5b42b81e7e345604faf401093b146a3920ad280f2eb705cc377e2922646180b8dba99cae96c8e93fd1e0d5054e5505b894d1eac4823f0505563701d3e9421a9b692bb2cc8491677006484e18615cc8e776cc4d48c49aae242af7854a5913985677cc20905e10564d4b9c2a04d7f26a2379c734e216e63075651a868a7d50e239e67b2c3888b5584d11729f1e5bfaefdb3d6d641fade7fd25ebea59a7a63d04fcc110b8fac5944bfb9d98c614b9eba706c64656e47c2cb2bcc1eb52a9170d259e2fee4843996cef1207d6b9043d9e59284c141d0cd1a3e2be97be0d4e9f8ebb2d42de847949078728d122781dd5df0097d47d05bd8c986337d5d0a773c9b4a99d02df853811ee21f5c9f3fd1571248fd586ceb332bd7dab92e2cba474557eba7e791ca671bb74c301ce26a9021192bb152923ff76981243e059aa46e16110667f0e15d61b8e0e56bb6664df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000075dec6d5e05fe5d12ade129eb152632a30000000000000000000000000000000000006727f895a61155ce60ca172b3c8f500000000000000000000000000000063a73191af7c284c580e38d78977a0b8590000000000000000000000000000000000247a58ab917d3362ab528861604cf700000000000000000000000000000079836cfde2a5cd8e286942ec41f1075371000000000000000000000000000000000017576013e1f8997ffd5c0af21139e700000000000000000000000000000075e2ec3cccfed25cb32d3207e7fc96d7080000000000000000000000000000000000256b96e33a3d51ded27fb12a56bf47000000000000000000000000000000000000000000000000000000000000000e21c1d8fdf32f8500aef42b18686524b4ee2f283302fefb3d40caf922a00e8d9e2d32fb24e0945b2f25a942423afdd7d9e6222cfe82fd47063a75264258b37e700000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000035000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003900528ed10d8de6e687dbbca2e80f75e22b6722d7feb498583d5042e8f3878a9900f3a38b9b193437442e1f7f0ddd1e947a99f0c5155a342e8b52e421cbb2e014005d3518a30836f05758ad95844c7c70a4fa39c7ba42ae22f3966b5e58c9eb8614e2c9d54e4d51cc05676a31c1633d60a286f9760d06f6035ba32c3ad48025b900000000000000000000000000000000000000000000000000000000000001f5080100141ed72507ff186224003f0af7e48e14d9dd33acce020003aa36a70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001f50000000000000000000000000000000000000000000000000000000000000015746573746e65742e617a7465632e6e6574776f726b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000a706572736f6e686f6f6400000000000000000000000000000000000000000000", + "nonce": "0x2", + "to": "0x0fbfbc14b8ffc0c594134c281a3f75cb39b496ca", + "transactionIndex": "0xa7", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xdbda7b604cf3fa06bbca8eddbc0d3265b8df87966d4bced2091508ecd4dfe272", + "s": "0x3e95f25ed64af24cba9dff25a85d6162d3e22fc196311b3f45c404d147d1380" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x9259d50720237e8f3808010375dd272882fbcc5e", + "gas": "0x3818b", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x8fd584", + "hash": "0xd2db9cfea749b7677b180c5701e84a65dd0dead4e110e38fe66bad53541d3245", + "input": "0x2e22b0e100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000008c12278000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009259d50720237e8f3808010375dd272882fbcc5e00000000000000000000000000000000000000000000000000000216bf590ffb000000000000000000000000000000000000000000000000000000006888986200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000395f800000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000041da21bd2fc17ce9944bdb0c93551320da72cf424631c78474d11b1c4493828696592f652c289eae117a23fdbb0032c4c5c437ea1b09daf710e0acd3fe7006abdf1c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c12278000000000000000000000000000000000000000000000000000000000688898620000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004150dd1346cbf58b88941907c3ee65bba1f8055cc6a222edd975f48cdc8f77a0370a176173c3ac9a59b63fe4b1c6df23f9266be2921d96d6d721266678a91f39671b00000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x426", + "to": "0xf7c61e5eb393f1fb0b77c76722ca73a77bb44f6e", + "transactionIndex": "0xa8", + "value": "0x216bf590ffb", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xb68c4fcca7ccda98a5bbb1271344b6a2d1f831ed64e09c120d9a74b02248d8f8", + "s": "0x67326de9502b9a8090290aeab3fca69f46d735ed64ac03564dddf6b09be9ace7" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xea11f207449bd0bccd64d12a0ae44e6328cf1787", + "gas": "0x14321c", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x3666d886bceba5ae6ad4e7d147e0d45eb92de0155dbae5790c7681df3cf1bb8a", + "input": "0xe11013dd000000000000000000000000ea11f207449bd0bccd64d12a0ae44e6328cf17870000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionIndex": "0xa9", + "value": "0x429d069189e0000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xf43a2fc7024c74fb214dfaae7e0b322a086a34facb1b6432ec82bc49dc1c3b5d", + "s": "0x122d4a61c4b39194e441209b13e687a497c1f0b3ac632a33771e066abde4ddac" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xf2b697c02a5bfc8ff70517e07cee9482eeb27d9a", + "gas": "0x34d2f", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x7128b13db48fca29c5de3fc19b466cb74afd8eae0a4a1f833b9bd86f11caed32", + "input": "0xcd5865790000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f2b697c02a5bfc8ff70517e07cee9482eeb27d9a000000000000000000000000000000000000000000000000000e3085973ba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x2", + "to": "0x7a4ee6f9f0ab037fe771fc36d39c1e19bcc0fdb5", + "transactionIndex": "0xaa", + "value": "0xe3085973ba000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x4a1e15ee5e44fc88986f424608fd7ac1f00a1b549da37ad39848bbd29000bf5d", + "s": "0x7c46158892c04ead985f7a94ac360b9097ba85a30f23fa89e45e139d1087d1a7" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x83ea019643268c3ad8b2254d39364717e97466a3", + "gas": "0x14321c", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x823a71fa3ca505f5b759043795c76918ef34496bbb55b27635c364b1a3025538", + "input": "0xe11013dd00000000000000000000000083ea019643268c3ad8b2254d39364717e97466a30000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionIndex": "0xab", + "value": "0x429d069189e0000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x12ac4770d40cc0f34a3e75464a20d473061f7a3f5df7edb54674ca719bc4be5", + "s": "0xd0e364aacb2f7b1b997bd2dd68b13690a3bb68e39832aea8437e896d6d20023" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd5d4fb83fe0d2bdfcdb567afe1d3eb050f3cc87c", + "gas": "0x111fe", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x36df878a74739549642183565c1df599eb11810fb5ba28ac72c929a3192698fd", + "input": "0x095e7a95000000000000000000000000d5d4fb83fe0d2bdfcdb567afe1d3eb050f3cc87c000000000000000000000000000000000000000000000000000000000089544000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x31", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionIndex": "0xac", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x42b881e33fa5e457d10c4b35d34f00ea3f5a39576a5f0898a1884d0475c7658f", + "s": "0x5658a09a822908601ccf4ec7c10ba004b4ae5d7936a5319f4405de6214692cd7" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x149e95d90bfbb7df7aaeafc8164b6489736a5424", + "gas": "0x143352", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x8fd584", + "hash": "0x568775bf48f77f6c562399b027730b60a611d43bc9c07ced470f7e0bb29b7054", + "input": "0xe11013dd000000000000000000000000149e95d90bfbb7df7aaeafc8164b6489736a54240000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionIndex": "0xad", + "value": "0x38423948ef2d000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x1804360fa562ff14a5d54a62fdf3a46ad94b4a379c8aabfc13feb5730e0d55cc", + "s": "0x39d9bddd38cb69bd96e8ef57eb170b0efea3c8a13f3750e087817a4b8898418e" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x51358eff79ae4527c7551d494658fe13edeba9d1", + "gas": "0x1421f", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x2d831feedb6b2c21f25d61686483bed0a1a5935ed8958a12509ce0fea71459eb", + "input": "0xadc9772e0000000000000000000000004f5b54d4af2568cefafa73bb062e5d734b55aa0500000000000000000000000000000000000000000000000000000000000f3a70", + "nonce": "0x28", + "to": "0x23b2615d783e16f14b62efa125306c7c69b4941a", + "transactionIndex": "0xae", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xc2c86375751f5e816d4923ce51da2fe946801a63753fafaf41f14097ca6fac99", + "s": "0x13b975ce2d4951d1a89961cd158b9263bc77119ceca8e01d837547bd03fc18be" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x8d02026d829f25b739887b29a7b4a9eb7d7fed43", + "gas": "0x14212", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x253ce92e5b777ecef94bf932001c1fd973c567c3d391989726135810ddb22ef9", + "input": "0xadc9772e0000000000000000000000004f5b54d4af2568cefafa73bb062e5d734b55aa05000000000000000000000000000000000000000000000000000000000000ee48", + "nonce": "0x2b", + "to": "0x23b2615d783e16f14b62efa125306c7c69b4941a", + "transactionIndex": "0xaf", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xb96cb707b0222777a208512e0edc9c43ce1f6aabdf8813074c727130f52b4a2c", + "s": "0x4da5a09e92b7c9f95e3f22098bf17390e1eb45e0da67b2c21d1e48aa0fa8049b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x6926bab9ac5112aeec02c44a2ce91cf37713e2f1", + "gas": "0x328b33", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x0028abf7f03b2392e4d7168509ede13edf368dd141803742772794659e1ef8ca", + "input": "0x4717cef722932e3dde0bd3d41b121433a8ac065922411e45afe952671b84bf140c14e820185614c50eae15ab9d210ecae3a3d60a116b32c8fbe05a353b79d72fd6e6b38b000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000001bc16d674ec80000238c86fde94f1e38b46fa44dc267f304332c98a30e5e4a85d3f0ec411a604e710aa1f438899ce18dc92153f84fb83752c979c225a30b3ba93ec9d9e04764550300000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000043794adfee68eaacdfd5b7d4db207767b0000000000000000000000000000000000012118ee13716dcbb68efd6c5cbdef0000000000000000000000000000000ce25155955ddb5ba6e71b79740632d44e200000000000000000000000000000000001290ae74d58269ec44d683a6c394930000000000000000000000000000000fb11c6b89a33f7605285004215636704600000000000000000000000000000000001db8f69c9bac20b4b8f5baf9ee24c10000000000000000000000000000002757be2e270df67754a242d35febad7d1b00000000000000000000000000000000001e399f3b8bb50b161fa2a64d55383e000000000000000000000000000000ab672ae848ad61fb3c3a53ce29819037db000000000000000000000000000000000000bee85bad9bae4bbe654ed4104aeb000000000000000000000000000000189f1d8ad8a31f492087278f5437a832c600000000000000000000000000000000000f53853f1a60650a8dfe7948235df1000000000000000000000000000000d08de8e296c197a410704698d56938c5a200000000000000000000000000000000001aabf854f43390a06178e83fe3a2c90000000000000000000000000000000d2503caf82420cee00be37a55b516a97900000000000000000000000000000000002542feae1f63147a87edcf8078a6c5000000000000000000000000000000d4f19e76e796c8aed5cb5f0d689bbf3e900000000000000000000000000000000000194e0db954467a8db7ec1f3597b752000000000000000000000000000000928127de4c8cbc4eaceaa2b3e06859aada000000000000000000000000000000000004131c81c783ccc8235e7310777e6a0000000000000000000000000000008dddbc0e1f89e05487a6c234aae7e6aaa90000000000000000000000000000000000010e74eed89939daf9f576a46bbbb40000000000000000000000000000006025220ab17d4776169c63b4794176e36800000000000000000000000000000000002f7ef3eea5d524298d6f2e8a92f4480000000000000000000000000000000c4137a5e688b2d7868888a084a04c3977000000000000000000000000000000000018a572dccf22ca7a887c029bc7ee20000000000000000000000000000000bbbfa95e763ecc9032a8b1147390f162e000000000000000000000000000000000001721560bb737f438c5be3f40c327ae0000000000000000000000000000002ee8334e42c29bccd74cf8b753a5f66afb000000000000000000000000000000000000023cc7a77ad44c90de46914bbf64000000000000000000000000000000f714048c0c65fbd22393e1a70e2b10fd6700000000000000000000000000000000001ac3b734a5fc14a25755ca94a2245a1445675b740e31d4f2f3f26b2e96f92085bac8e962e581276585c087710bd2771c1ee7176d236e54c55c534b52ea5f3ca2791f5f16d3ef69de5c350c7ef42d8a0364f19e31ad5bcb58f3dd2657c6b36ec09b583cabd96ef00a05eca981581d4d24114c7fe2416255cb61a3db887ad42c71bcb34a265208b4dc1b84ab1dadc0442b39fc982bd232eca064d535362f5ae8208ac5ae092ce41760e7267077b7a45128a7c83edfa8bfe5332ac9300ecfa3f6f1b40f2247bc23d78a0ba6d0b507a61e0f73e762aaf9e68a844e1bf8c8da3de6db76a3713f78f28263b57450cee484fe0a3825dd205fc15fa8bb0f74577f27e5d6d795aac04ae9173782c6f90df2e8070162ccf3da5871bd49094e5a9d90f8751002ab9967e998bdf096fb3f6fa8b02f05770d0f87b8818a5b035f891f5e093320f75a66367dfb9bbaeb44783f14a30617dca03c4caaf8497d456bea9c1a4a236b6e26d167603ab1503742fac04c9f8706da375cbe37573d4ef69357bd0f1f8baccad4da1e2291da5bd32b5fffbb4ec000dfb974c595d152e2577148f6c73191bcbf6b8aae846b1d2bba93b1d2b662682601326211f741037f421876582abc1bf01c19a87f8fc3744604c52026edc4b811d7501fb7ae978569f3f8bb7df20aff2e7c8148bf5f43fbfad201a6ebc5d6540162f70341bdba32ba07301e7d626391b088ce258335ab06600811c2043e49711877907445b2ddc654dcc880742fdfbc413881af24229638d87ddf2cafd0d6932f4eedfdadcb51588e819a8b495114fa69c4e5a64255a68c83d0ba79dcd7b1020400225e51862af026773fd0c8d5c925ad7d4c0f244658b202a8428fa75d18fb17b68f3f13e6dbea918ecc8909ebe0d126acc04c7db19184564877719da6967a0fac287978ded8b942dcf24c19c173278c5d0debb8d7928125ee9bb27b40fe7c17645730791bbb3bd98fea51bf43244173129a75222534c589f92200541b36aa09dea4f6d189631d54d87d8060d9e567df7f1bf255dd4150953860469ca9ec73197ce47f46cd9e17e8291eb0e4e27d34f5de2250e90b83c5e8a34fb5752dc4df1d7cdb9873aab9158411aa2865d56a99c29048aca642d303cc96a53b5250e87a02120d5ac88308b492d48823c8184211cab29edc0ebc24c60a6f7a0e7b86bccf23bdd1e32261f1dd673e6c8b7e417fc98998f9d637222dc455f8e74c5ef00c301f005486ccec2057fe5cfe549a516ae52a13367fa7f1031efba8b36f5b918c3423418644924b68a620466daf05d9f59065d78e336be06b262fbb6a4e6b55ae722b1ddeeeb353b84fdef92b1e5dd46ec53bb0e8f4104656afe6b5839197e9461125b5ea4fcf1b503f43077061c52ca83f08e5ff769ca3464ab3c337f633cec9ab2434a371b8c76fc67fd6825d9eee81bee55f94b9200d40d893920f233363ef4a119c878da3691c1560560aa7ca62c49d5968c10904339f7d170c4d124ae7dbea2f04e1a049e293e3599c9d35434021dbb12eeb81fbc6ab4f16e4b38814591daf212dc50ce412fd725dd864c0ac9b766128d9a43a3d938e1618b617237c6c7f952a7380c6d126ef26b3ef98f2a9b66a59c07baa22f26637c5fe130cc65c1b6c371d48775ba5b354b980eb6501941805a81a7fbee6a2d5e988d22ebee429fb504813b19b066d344a7763f06b33654621c87a8ae0525bc73b942fb2c1cc010cd84f11893c014b5e3972ae2527be5912804d23c537ea2449b5f14986262843ad096710a54969211ca2a422b447edf3b40a6dfafaeff8a18b64bc91ebcae1477d54901eec08a0a0f8c8b8169efcb49fd25f54e5cda72b9638ad8d11a9b46aa725d6f910c7b09cedd3f5f8084a3a369323188f6090e6284779d8ff21214140bb68fcd426c89bc1c3f966936e0fe7a1fafc15082781b926f49fd6c64a4d0a55c859f1b3296f8c67dc573d7a5ccbaa857a65dbea0df8ff878e5a152a0da005eb70bb165e2772ff0e2995449590b3d192175e31d9ee91c8177691f3c836e7ca24c303329d09a3be3f3234b874cabc7763b2f5327297e31543a2caddadd5ab25c9db481a610a013c40b15c3dfd5976ed6b068c4ed144d835b6904b73f544ba7d66669d117903adb42d89840b40ca499afea207384a833e418164cfae108a23a5865f2f49e12eaa89db1a97d202a81fd665b43a78fdcbdff3fc5705dfde1b7b1c05cbfb43182c905d5d37f4dcabf637782cafd94aa7f97e126694bccbdc93761ad5869b536d28ba8432ac1cba76ba6d9d5fb9be68cc9b9cb3d771d16fddb7be4c4c4f6bfb831cf6ed04d7b2c9784ed7456c492c7e8b9e510a9c31e12d0df5db2c0ee03952d42b37388f6a75690b85ddca5561ded91dc457898f84b38df451be81e7477b1a991777d11b2e50113d5045df97e4f2402986f292cca5115f4c8d0ef308498ac3e010e4ab0cb0b51557cb848a49671e28d6bf6e3409ec886d4d42e1b4448ca9954d181a53d77bd18b77b6075d9a87ab4e7355bd8d838ef2ca260999903181899f4c115865c696054a5fc907e332a800c89dcda0d1bc09dc03610ceb2ddaa32620a81211d4665c93451cca4e447619dc062ea2aea81064a95cd8c4a9bcf0a8b56428212b02b57334cb862eb29c84472f5402c367c50e96ce7e75cdacc144ac112a4700c05eb499c285ff80df3f9065194004e0fd8b62b7d22a747cb5ad8646c610a710b9fa0fe56d520c5a38725dbb06b3c937bb63bb19e58cebecc800c5846defd617f48f5799216c52ce9753c59817444e65c02806749271a3caf0dc4ccbccae630940bc93acee417110ec3d90d4263e434aeefd07200445b62813e6445963a9442f511ea11ce9d31beaa74e53374af5bdca8c581aab6b0a457109b77c8319dfdd1a7529248fcaf9f1431c1b6c2531abbad4fb2922cb7e931ff426d9c29c0e323918254bc3b6c6df5640e66d09c72d7721b8e3821a897625220c55c44ab500a447225934ab4b00915e7d95701f27cb88be4ae5021332c2e2ba23db6bff8a6be4ca20fb2e99347676e4c4de96ba4c4886169e7459c95aaf27204835c9d911001f7d1b87f7297d5e43cdc019ef1007a40074ed77d4d7b64edd0e34901cc925603a222b4ab7dccbb21982d9e87f615a22c2a17a9f13b561f4bcd14f19c4f5c1e81ac808f86377cff84bc1c9528a3765b04952f9d8c72758e9fadea3bc570d6f85368d02ddc8dfda0857eeb9faa284ff9175a3fd2359178f6a2999ef688423dad6f0ef166fb4ca44d838a8c8416d85b3f167c4966d37a4b26c654b362d4e857fc53aa9141e5cdf85e0e54b4bf0819ee7b2787b924983fc992a05dd87573e80adaa82f12207bd58d408cf4b71c646291e4aa5531bca66c5616e4556ea7b38bdc3bdd17d135b127c194be138740814318d0628010c4082155901011196babab42c60007f0845152032b5fa3d989e8ff6e84c264a47dbf2fa6e9def2bd2014148716d929a2a5beffde9d94ac469f720964451e2cab18e69f9e748bf27705aae5035c3381307ba55914b62e75940e01f484721fd7ccacb6045781d04795d56fd95911956cf031d6939691f8d47dbcae41e2bd77a9c9e33dbcd916de041f3881155beb71ebe20b6026d1df66162552fdc440bbaee5fd61ae120ee159a3d3ef7ee46c3df965909e1cf44c5e91bd5c27ed43c9ae6a4dd25b673369038ef4d455cc45d2060c801066b7990c992799ac45287c6b51a35980c9669d34a24e7412c60d9f289a2fcdd0fd01ed33d07f305f4dc108241a714ce15acadbe151cbdf44da982bf9dd4c5b52d64a255e44d072928a8fff862b1eee8ebfddddf15eb9a26621d45e82cff5e750363bad1b2a645bfd483d8647c437a404f5d1ff96343295df62830757fdabcaa0e2a89559c2ce06f71171034cb608194f54c07bea275a0d378fe0a4733d49240012f8fb6407cee79c6800cdf87f322f4367df39a2e170b4ef452ad41381bbf7715d67f7b65508e80f12ff26fe7d0b88de2cae10395efe27a2a861c1590ba2b1409a285b8aa1e47d239afe299374204b39350bdd7c6561f8f744b4fa66d297c220746dae66726140d768224b0a423045b37193b2e2d64158eac80eb9fcf3f31c31e9ef38fef5bf26bfedb4edaf1772ba7280955ecab0b0f881bcc652ac4002e31119b126b73409d673bf5eeca0a0eb4ffd32caf1458c0cdb79e6ca118ee871c8f0e43817999a71b03f8a54ac3bd0bf2c8ed25172d6f81dcfeae9d7925c508d6ec1bbc6674cc0de39ef236c8702669900bf34723171111e35e0457646383fc23e71db77f9b02113387bac067517680e742e82af52af08deecb1cedabebe854e4542032bc01211c422fac5c1acd534766d151f338e3c1c18c9cd7126bf942d8b2ea2e3b58173a17d2b99b9f4b336a4c0e8dff5a99e80fac758da8ac2890b531b96526b908dde940de901579f20ea551e35f8c02743311e02fe46006218dbe9c27c612bc85dc2e47e5a7f34554a76cae6fedaef8de50a3c50801f5cc8d0d2a7783bb01342fa5f88a0f099e51d37bb1f66bd7f2f245c38f62e6dc0309c19edcded07b1f11c6b7b34c1cb4b2cd3fbf7a30af537bddca54f3f17bedbcdaa3da298a0a9b110f232828b40b7679d45d489531ceba15d816ee7f0e52a27f8824d1ffdc4088169c42bb0e728c12ad62d29eb2162c3d154d2eab7070194a31edf7ac9796ca31127bd57637e572f1fe96777a6ddf158e00f5f9835fd4509c38b63b1844d1434605b24a7a8a95a782383df51a35dd34a02c479f38e6e599c278761b06fdc9a22d07c0beb6f4247a767f764e218b7ab2846b366c5a25f5629302338a1a8cb0b96629d8331c262faea68ef553d541324a65fa9e685c00f163748d8e170d88419d7715fe7d697dbbcdf0f1a2b1b8a251d348cf920455eb9515de028fd529e26936700a1a8c855f626b88b0cab99f10e1a3104d8edc3c006ca92bcfec036864f3239515956314f85661e92703206220f491812fdd617fcb651f7b43527ae9270880d1024b7b8b3ac06f412a1374099101c3a02323b4e52d4637e1e5a6206a7b1efed52dd8568d2812869e807f34f19ab4130998b41fabac05d67afb7fe30a4e81c684018d179c56f27f686eb979f8b6acb806feb9d361cf4233667da4b64eb8f25758244787270150d67438d06a7b8cb0594e8d67bc4d2dd33bb0f8dc12af978c4fc70b8f5d3161250074c1c483b862e82c36d34cf0286023a816e5221320693a5e620353b43c619d48b59eed820eefd81330d01b0a137a264ef3649d2ef7014bf83f20a9dba4f1ad2f87fa409973cdf0e79b2ac191ef5589ab23a5e8b72cf4523e65104a091f04dd3bc9ef06badb9c5637c79cfd3b74b1e8062fd49c2648bc34b6e6130d79663c0e17b92a2575a05c812252789ad85dedd88a2d3ebf1e321f68e70d26459135054be0b710a40996602920ab9c1320f22636107a423492e33115505111b55fa618a525cb3c873dc63b6c13bfe3de44c8b1d974c8352c5125ffd11bfe1d2667bf81dcfb39efa5102a71d2366fe4d3c14627e76dac4e9ed58f819fd5f80f6f011dc6c7024405fe3ad0395ae597b1310ff7593b6a0a619094b9c9eb4329263bfb5a9b3e908695e80106a24578fb58c3a4377937ec58d3d8f9399297fbce2007ccd6cc856affbbcf15c89b8c4512edf29519c4e956c2884f7e8fe52e2c8e1730bb1bf8a63a7384cee4ed1ee752427632f73afed4bdff5cc75a46892e65730d67c6ea8cf822c3b19255a792e9f146dfbd182cb783aa981ff2e8b9008e31160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002dc7a7f3c27ba8227cb028b123c5d867949727e6b7ffe6247091a46d3926bd29272bc1e61ac161e8cef9f9194af78cf03ac936f0de3708f13aaa9eb4726c31c918e423b15f36391e3ab5b9e33dd3139ebdaf4275afe2da8b9aa48afd6a0a468e02e18779a87955c93fd9be46d831e99f079cd50da824ea7ee8acef428447cb9d2e88cabc5e75ae8e0fd1465c3a1f969ad41fb749bb3ee327a33b9ed12327dba9148b6234ea14c54c75fd3006f3a0172cf04e79275a6acac9d88e0a807b4dbe2728f9fa36ce2f3ccf7f843394c06b8c9ba71f6e74222e4aefc4ab4d8085c2928a1444fbf37578dc51d29f023a0f574feeb3359f7c87ebc6597e5778f05bc459282ba45679141b41ea5f61c976b7aa47e02730dda8138fe5926b6ca1d89c25bed412bf872ee61b78b17a18ba0a59d2de2218679a77e16c92fad82ca45f744c7a54047f4a5c7bd38808f393baf6758de8277b4cf530b011c3f7873ffc348333f4030fc2dac1406f5841a78ebbcc83a4b8c592776c91254cd2909b34904e413bd4ad19537967fa5b5e0449af0e345969505dfe8e4d6637a1d277a91e1e602f782a6c12f42ad28e1a7dd3ca13d1274e2f6429accde6897a6343dedf27cff50ffd0352031d43a96173dc56350dff88a13dd83f1307b2a61aea1d0c3bde79542f41352f18849b4af8606f3aab5530fe9e5375b530500bd692f891129aaf59382a3cf7d90d0fa4e14016df05c34ae0ab70c07453726abf9b7ecf102547af05d18aff69850d4576202c76e03ab47284ddac4957ed452ed783273b2434e7c341b30866eba016b4f980d75f55777f5a68ded89040f6c85fc6c57ad0fc5e5436d2eda44ff31d2bcf181ae4ccc02567c15574b7d8581f1b3eb33856db09bd23b0ebbcd15650cd021d24a4028c03b809101463dcad25fddbda77758e6fd312b2d491c87a5bc2511cdd00a0dec31336ac71f421dd41de8f2a0f030aa7be293e0a72b02f007982a902796cf5426f42a1deda226cdb15f4980492526f8784a6dd6b8b2fec48d8848b100485bdb3cde304445aabe24b86d1770433b266cc201213bfdad2f2ff48ca6722af2ce36e7d79727f243bc8766fb9cd4bda07f4f6166beadeb2466f403bb5061d81b6e804c5e04050c8b1cd0252bd4c1deda1281f90f3a15c52dbbfe443ac991d273ad7f4830c71afc8e334562b6d0e12ecabb9b342025b5b5841c72e0562aa24d7dacb1343dc0f6f479ed03f341b2414a12e6a38bd0670e07c6bb808bbab9b278ba4fdeb38e0f711f90ef5ca4dfcdc970562bf78c9ef8fd9a7d7a6c470e03525e47c6572d849185fdd79d519ce9795f4d7e25a22c1cadf8e5ef0e0beb8beef180abbe30055510a3566a1544378cee9c789efe37bc029223889c5886789fc891dc9743f11767e8c713bc7fabe63ab03d50e09e96325e7e565777eb29f7f8ecf27459a0fe9abf5677bd7987b9f29d83779c5e1e7a801518b1b6a55f3cdc7ebf4007fae9e396d4901e6b71489c88e3fb70b449e0cacab8444c98b491cbc07355c078680f29133486ab1602772a62dd8beb5fb5915b4c8bb901b8b8e1ff86e7e5d264b2938b64153d435a329702ce45bfb74d01094b4ecf96969f805d21cc365761390149445296bd5bae556fa91aa41b4b569d4db152d79991d9ba17c69ae4cf41599c5961b3201a7f2b1ad77afe7ec5399a13a88cdfb864fa3bd89fff24a54dc0ce1d9e56c285e2470b37069d0aa4678fd7e1a8d16dccd13dd2e1bc90e6b62c621082523b3c172c5f6922b09c6d914eb4e8034c7f82f4da178151686e0bb86270000000000000000000000000000009f6a97f7cf943d401010b7b1a289cd9da300000000000000000000000000000000000cad2d8757f07dfc9a134d356b6c9b000000000000000000000000000000768708f9e576481844d04206cd0226db7300000000000000000000000000000000001d3cfe68b968b1225a027efa77ec4a00000000000000000000000000000013d1b6bff640a2ca2674602c8fa0a88b270000000000000000000000000000000000216a8d8ee9741833e169cd0038dc4e0000000000000000000000000000008ae04ef113a62b3159a2f8b3b1cc1286ce0000000000000000000000000000000000212df81209e6bcfa7616a34cd15b5d00000000000000000000000000000096519a2d47a3e0035847273ecb35730d210000000000000000000000000000000000220a561dc4b67517852af94214aa20000000000000000000000000000000f8604ef08a242079af05507a842e2c903f00000000000000000000000000000000000126431e2de3552890294568bc080f000000000000000000000000000000b8685a818859719b61e19720deee141cc3000000000000000000000000000000000015c47edc9d0887c49c28cf54ef6678000000000000000000000000000000465da74158fa3e07536532548a8c359c040000000000000000000000000000000000096eca0c23cafe4fd66c24e1652a580000000000000000000000000000008b330a8a14393636df5c9f0b32e2d770c3000000000000000000000000000000000003c278882972364dcca06d0f5a03e80000000000000000000000000000000c9f158585369a6132ba4962e000ad4302000000000000000000000000000000000007774a5111e913176f885535ecd7a8000000000000000000000000000000fb875bc7a7fa6e234affc411c5e319faeb00000000000000000000000000000000002696dad84da793060d4d8ab30d2461000000000000000000000000000000fcf37ef58dc962db8fd4561bb8fdc32a630000000000000000000000000000000000035720cf3f69b4b3bd4017f45dc8a1000000000000000000000000000000f90fec6e4c99a5ee42cd25683a9df055b90000000000000000000000000000000000085fed5f90b13317fd78a74a60d3c40000000000000000000000000000001840c0887ac132b28fd923f4d8f0c2924300000000000000000000000000000000000d9d76828e5ef8e69819e74cad0bb10000000000000000000000000000009ead639fc93f5bca9a9d457f6d014187fa000000000000000000000000000000000022bf7ae8102b34086004b6c81591ab0000000000000000000000000000001a251447710468f19cad40842dca09cef900000000000000000000000000000000000d2d7458c1d8a6255b1abdc7e19e89000000000000000000000000000000ed298d5fab47b9b490cecdcc9eec14ba4c00000000000000000000000000000000002cfb855dc66e4310f734b7099b669600000000000000000000000000000018c2bc6fa99531f72d05f35b8d9fcae22b000000000000000000000000000000000008b3661a3ecd8dd4e4a765d11cf387000000000000000000000000000000dd480fc032ab5f4d2553449a59ebb97ec60000000000000000000000000000000000175ef08127dd17bc030e4230cd7d3e0000000000000000000000000000005a8987c2dad3672e86651428bdff961f580000000000000000000000000000000000102a9407e2c350bde32e55f942050d0000000000000000000000000000005338d005cc42680d02a95b4ded9af3985e000000000000000000000000000000000028071e8cccf7839a4016b64a60241500000000000000000000000000000049e001a38e8d75a1c15f9c034eb3d1a9e7000000000000000000000000000000000011acff47659bf78f9a5edbc726338200000000000000000000000000000073476e03a6a64d448bb79a812e5770ce18000000000000000000000000000000000029762080f0a324f1a3db8631ec0afa000000000000000000000000000000f2e981645ddc21944337b6cbe81bc4ae5e000000000000000000000000000000000011a965e59e55fc5576c9a683c887c500000000000000000000000000000044235b5bf205a59eb87208f621bec3eb91000000000000000000000000000000000012bad6a81d109082325ce1b4fd0d7e00000000000000000000000000000022eb5a1dad74e0f8036967a7313abfddba0000000000000000000000000000000000144016203f33a66a3f0980e74767c5000000000000000000000000000000ca900a7b778504f45323854ac9e46c4b7e000000000000000000000000000000000014b8d6a99f0fe4ddf5a994a3fd0eb000000000000000000000000000000084f5f4058a7fa200e798a9a1abef7b111000000000000000000000000000000000002052a173001f50abb03d919bcbc4ef000000000000000000000000000000d9ea0465bbaed2c18599ba93e2048690ae00000000000000000000000000000000000fe6ce3536f8ca2e75c9fbcd260e1800000000000000000000000000000080d9dead7419b351b53d1da885714106fa000000000000000000000000000000000018c7dedc68b14c19ff5cd460b1bda90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000fb68fa00164455d9d056d0e6613a0228ee4474e53c90fdc444f9322322917e1027833cdd68c80015a675fd96b8fa33c962679d79ccfdda58ead9d244b9eeb370c6dfb6173c1d329b967cfa5399e57f0d2ced7607dfd703bbb2adaab4b92454424df0c94f0f7d49e92d8f30770dbcb94dc1bc6a1d934d3923238d7b15689dd83250ae9979fe164eb05bd7c70a7e67b48a44d4ad7d66bf972e1f3df0971e95a5f1bcb716a32edb043dc47743ffbdf8cc5d92e2a14adc92381dea10618d3c047440ea8d88ca1aa82067e562c4470afc081f2334151b29b0a908ed221a9892a2601059237ca2505de0ad1cb2af91d62535553d7c71b012428d197eccd9f6d5eb06014ec7cf2b07b2c604726382a5f709086e0b94f002c00d7f2049e4da0459a0c772ac424d30b45edf889813390770a0abd06f9ae1d4e6b4e1b0c6ae00e4da9492e2189784f65055076d98aff02b757f8079b4804c8568313ba310c81b63e50373601d0762af9012e70b8f72bc27ea71133f0f4c04ba0ced2b719ecfaef136540bd2b7c5ba72f6a75afa0f2e55a5d0dcebc4af464d8e8cdc26ff64fed9d427bf33a1810fe4a01aba3abcd88621ca7bd1fabddb9ca3762091f2408f2ed75bc32ae540b055bbea159d8c984f5961855ef46a20837e1895adec77d8ef34ee169321e2f09e2eca121d37d52cdcc51ffb0ff4efd730c55a808d44a3f9231d1bc374eb7ca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009950865376b5f76ec00ca061abda38a12a000000000000000000000000000000000002b264e906b8c22e1b86e57e865592000000000000000000000000000000cb5ba07a260ad3ceb428894f01ee441bcb000000000000000000000000000000000006da8382bf1b380728dc929d157d3b000000000000000000000000000000907515a7be5e35a94ebf8f279032d6ed6b00000000000000000000000000000000001bb3efccfee9df977403b8a78562b300000000000000000000000000000056758828f6bd1666aec252964bc6670d2100000000000000000000000000000000002bdb8187fb7c137aca73a64832c5bd", + "nonce": "0xf2", + "to": "0x3d6dc90f4840c595d58739c38e88fcc23fce374a", + "transactionIndex": "0xb0", + "value": "0x1bc16d674ec80000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x3c28aedaa7b8048a415cffaeedcaaead954e7785dc54ac22d763794b49066822", + "s": "0x41d957ebbefb20abc2251e5c7c3cfd3c45c1229eb73a36f6fb97686ce77af6f0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x49b20e3e989bfe5a8526e7c4036ec18918d41885", + "gas": "0x597b8", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x64336bb7a45214ac18d0c14ccedae771a8318386aa8de3ba505e18e347fb61ed", + "input": "0xe5d486a50000000000000000000000000000000000000000000000005a34a38fc00a00000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000005b8d800000000000000000000000049b20e3e989bfe5a8526e7c4036ec18918d41885", + "nonce": "0x9", + "to": "0x6c5aae4622b835058a41879ba5e128019b9047d6", + "transactionIndex": "0xb1", + "value": "0x5a37a65bb87c7800", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xe710860db555c7efce44fcf6581f826f910ba4fa0727bd5e92a436e7e1cc6b0a", + "s": "0x72690d19b5250f94bd9d29a36596f8db3b1817156f7f0d51500891b9ac48f22b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xb1aba7d4c640edc77c01111521fed0dea178dda5", + "gas": "0x143352", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x8fd584", + "hash": "0xde6d1f0ebfed1f2357eca22638b11c64f0d809b378a74a9022b1a999d8026b75", + "input": "0xe11013dd000000000000000000000000b1aba7d4c640edc77c01111521fed0dea178dda50000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "nonce": "0x4", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionIndex": "0xb2", + "value": "0x3826f62fb507000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x1e6fc4d192376018528c84eb3390be73f4c822408f4cc246aa4ad3414597d309", + "s": "0x34c569a8d9255095ed90d3f19040524d267a0fc643313461c4478a2720c4a44b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x3c33351cde42403ca22fce72180c769a7e98b4ea", + "gas": "0x143352", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x8fd584", + "hash": "0xec09f9ab5cadd329116ce935e8b4e04cfeac79c7509dcb800333c8eecaa5f049", + "input": "0xe11013dd0000000000000000000000003c33351cde42403ca22fce72180c769a7e98b4ea0000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "nonce": "0x0", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionIndex": "0xb3", + "value": "0x38550f3520a9000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x61d42342b5879f88c3d099a1a7fce80fa47a067432a6fa7f9542ac23ba3321d", + "s": "0x2cef8e16349d2412a77e6dfe87ab0e1b639adbc399b4fb55a4d0231efb0b539e" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xe638376b2328ec47bed693c4d783f92646f8255e", + "gas": "0x1120a", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x3cde34d433ee7a45b9594fc4f6726fcecc5eb07cd5be9a463b611e2292258b33", + "input": "0x095e7a95000000000000000000000000e638376b2328ec47bed693c4d783f92646f8255e0000000000000000000000000000000000000000000000000000000002bde78000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1add", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionIndex": "0xb4", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x1bbf15b16dffc0169ed83ee01358482a6377e302d0a8cfa47a8e190cd019c65b", + "s": "0x2e19d653d236d036d88dc9c041a0810766cf054f886098ba5ced4b4d59fa6e6f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xdcbb3b686523a274db31a634e022983883818082", + "gas": "0x2716f", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x1c5287300fa53bcb90e9375ae95af5e95e6ef59127707609c77a524d52942010", + "input": "0x3df021240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000844c9a7900000000000000000000000000000000000000000000000000000000842abc1c", + "nonce": "0x752", + "to": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "transactionIndex": "0xb5", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xed3cbbb40efa96481423dc3673ab0724969b178bc3f19f44074bcb6cf507e6de", + "s": "0x2d4f98bfc1df31b2952c42d3b30778f658127f77a2fe9aa42e4c90695ccd1e3d" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x5b69a34b09e19e885980b3adbe21b7ae0edad960", + "gas": "0x22c76", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0xeec201f666fc05599e9b148d20112d041c3255b9049f7fab9da42c30d627ade0", + "input": "0x3df0212400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000001bb75640000000000000000000000000000000000000000000000000000000001bb03dd8", + "nonce": "0x1c6", + "to": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "transactionIndex": "0xb6", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xe44891ceefbc468452818e97a5a0b5972373a77398ecb6561478bc04f5a0e87d", + "s": "0x6e2932e9a707e3af5991a569adab33fa4ce91a4ad29d8aba34ad801369b80e3f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x00ef5b3c37e2eb6e5c5f2aa829a1b91313d3fafd", + "gas": "0x22c76", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x5cd9ca9b6454bfd889579ed9acd7afa6587424c1877970d960c2bf20f5a3d476", + "input": "0x3df0212400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000003a3bd640000000000000000000000000000000000000000000000000000000003a2cedd8", + "nonce": "0x1d3", + "to": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "transactionIndex": "0xb7", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xe4f79a703c55857fc954ebd37cfd1964e0927ae922521744f289a7ad93597fbd", + "s": "0x10a1c408cd8f8e6107f0a73cbf45f505b2d2fc492cec5e7c19eecc7d7aa7c586" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gas": "0x714c", + "gasPrice": "0x8492bb", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x8492bb", + "hash": "0xae8fa86b7d8452f288751ce142bc04ea2638aa4764a5e444bf5cbc57876acac6", + "input": "0x095ea7b3000000000000000000000000bd6b25c4132f09369c354bee0f7be777d7d434fa0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1dd", + "to": "0x20c54c5f742f123abb49a982bfe0af47edb38756", + "transactionIndex": "0xb8", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x555ea3e97510a3fecf1e771127f21b4e07d57133d4d3b10c7550b6c0de8bc5df", + "s": "0x6c03ec6ad224c039ad0159f3f8c4af77918b3f6cbd93aca72290979e4fc28d6" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gas": "0x7127", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x606a60d0696888b24f7a3cc8abd9008b37f9419c29369df135b4e4239395da14", + "input": "0x095ea7b300000000000000000000000061f2ab7b0c0e10e18a3ed1c3bc7958540374a8dc0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1de", + "to": "0xbd6b25c4132f09369c354bee0f7be777d7d434fa", + "transactionIndex": "0xb9", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xebc2ffa01c0594053560c9f0917aeebe8bcab9b481ed6e9ae539dddc01bbaf66", + "s": "0x3be05c496f7cee8a16583efc0336ea1e773bc703d0009252b07f208bbf4c61f7" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gas": "0x7127", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0x74f4a236a14a68d12960e8e59171538799a29f12cd9a04717b8b8b574bef9053", + "input": "0x095ea7b3000000000000000000000000e85a06c238439f981c90b2c91393b2f3c46e27fc0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1df", + "to": "0x006cbf409ca275ba022111db32bdae054a97d488", + "transactionIndex": "0xba", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x1d996eac652ad50afb4718334744f629d9e02c10bb787a93516e35ae53b399f5", + "s": "0x659ce81565a83da358fd75f94e2c50331389f119effbc3c237ea1e18885e4141" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gas": "0x714c", + "gasPrice": "0x866c2e", + "maxPriorityFeePerGas": "0x4147b4", + "maxFeePerGas": "0x99a67d", + "hash": "0xce9a1951004e0869101fe6af1ff4b972751ab27a3c4e0e37babb161bae3ab644", + "input": "0x095ea7b300000000000000000000000061f2ab7b0c0e10e18a3ed1c3bc7958540374a8dc0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1e0", + "to": "0x20c54c5f742f123abb49a982bfe0af47edb38756", + "transactionIndex": "0xbb", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xb943ec35a57a65e722529a43f72a2133240d8c863286388c0c5978f4a152f7a", + "s": "0x372a0888a2cdf244fdc1e466d0550b489d5f12d7a4c9e3011d9d1cdd3845fe42" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gas": "0x714c", + "gasPrice": "0x3bdfa392", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x3bdfa392", + "hash": "0x0ebc81c0ed340adf8785c078564894d5c5956d095430078ee0ae91627e6c15d3", + "input": "0x095ea7b300000000000000000000000047d1b0623bb3e557bf8544c159c9ae51d091f8a20000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1e1", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionIndex": "0xbc", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x92d88d65afcdee960214d2ffeca6ca254f0375274e965c3dbbdc0f8e9717504e", + "s": "0x3ae923d4f66f799b748a7c177a502bdff01a2c6218b24d728a9a10b1b47bbce1" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gas": "0x7140", + "gasPrice": "0x34014fa", + "maxPriorityFeePerGas": "0x2faf080", + "maxFeePerGas": "0x34dedfe", + "hash": "0xe9ee240018d0ebc1cf8bb43b325161e798ecfb0c640c5c3f6c3f9daa8073705f", + "input": "0x095ea7b3000000000000000000000000006cbf409ca275ba022111db32bdae054a97d4880000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1e2", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionIndex": "0xbd", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x8b2e9d8763e46b422e7ba63c03def0844a9f7ab2e956433180e71949c680dc70", + "s": "0x430e9483369c8a691503af99546e53154e278431d7a5ee42e267cc54b7bee38e" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xaf90a5e4033b22f03b65b3a8de14b2e157c44ca4", + "gas": "0x84f5", + "gasPrice": "0x73197a", + "hash": "0xe46fcf0cd78e8b31b1068630ad42e409e4f50fa95284368ff8aaf0c8507e7da3", + "input": "0x6a627842000000000000000000000000af90a5e4033b22f03b65b3a8de14b2e157c44ca4", + "nonce": "0x6a64", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionIndex": "0xbe", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d72", + "r": "0x7c33449e5377a4ab0020e20d66369caeed77fb22e81e8c3e1a176e4db68a4301", + "s": "0x22f572f4264e43b4b0bb1ccb8056cb8dcbc38f52d2bf16cf2eed370e1cb744c2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xe7c43e9b22c67a318f3e03f73fcc63072106f20f", + "gas": "0x61a8", + "gasPrice": "0x72eb3a", + "maxPriorityFeePerGas": "0x2dc6c0", + "maxFeePerGas": "0xfc546c", + "hash": "0xfd044e8bccdba170a8afd3ec9248cb97fb4ebce49adbe392c47385c23ea82c3b", + "input": "0x", + "nonce": "0x1", + "to": "0x7f8b1ca29f95274e06367b60fc4a539e4910fd0c", + "transactionIndex": "0xbf", + "value": "0x5af3107a4000", + "type": "0x3", + "accessList": [], + "chainId": "0xaa36a7", + "maxFeePerBlobGas": "0x1e8480", + "blobVersionedHashes": [ + "0x018fd423d1ad106395f04abac797217d4dece29da3ba649d9aa4da70e98fa6ff" + ], + "v": "0x0", + "yParity": "0x0", + "r": "0x28d2350a1bfa5043de1533911143eb5c43815a58039121a0ccf124870620fca6", + "s": "0x157eca4963615cd3926538af88e529cfa3baf6c55787a33f79c25babe9f5db2b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x1628450fef81b00914b0f959df38260037a85e3c", + "gas": "0x1fcfe", + "gasPrice": "0x63ba77", + "maxPriorityFeePerGas": "0x1e95fd", + "maxFeePerGas": "0x6d2323", + "hash": "0x4bcd7867b1d9c7f6087cb04bf1504c05f4b20bfe4eba32473dff28ded78de087", + "input": "0x095e7a950000000000000000000000001628450fef81b00914b0f959df38260037a85e3c000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x14a", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionIndex": "0xc0", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x345ae8adcfeebdd89cb19033a80ae374593f3e1836364a8b37e0c5045fc886fe", + "s": "0xa2f75a23ae915a3483740a97ed325904e4bc285fd4c3a26994a09ea6f645a0d" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xcb57b26806e06b23815a3edc5c3f2e8618194f00", + "gas": "0x1a429", + "gasPrice": "0x60dca5", + "hash": "0x6b69927a82d69a5f122ba3c32577810dfc31c426aeb357907a58bc1cb6b8d379", + "input": "0x1a5f0f000000000000000000000000000000000000000000000000000000000010642ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x112", + "to": "0x006cbf409ca275ba022111db32bdae054a97d488", + "transactionIndex": "0xc1", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d72", + "r": "0xdc870223cdeaa68f7d4639d5f2e994162b7e30d4f7b471a81e87f0134917de29", + "s": "0x344ce9999746705a19fd8a0fadbd2acb7f15567ed1c5bf7a5238db3681a9aa28" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x8204af167c94dabc7ee9597e967eae1f9066ffa7", + "gas": "0xea60", + "gasPrice": "0x60dca5", + "hash": "0xbec3562a3c3922496d5bfc5dc9ff557fe8abc4f7083444c750efaafd42f6c25e", + "input": "0x095ea7b300000000000000000000000047d1b0623bb3e557bf8544c159c9ae51d091f8a200000000000000000000000000000000000000000000000000000000000f9430", + "nonce": "0x30cf6", + "to": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "transactionIndex": "0xc2", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d71", + "r": "0x8a1bab02fb7eba6113f18ce6f7e2f00deeeb63d0f302e69158931dedf5ef4607", + "s": "0x6b75496f15d55b7baf934645fd1ee05fdb1858dbf6bc1f28205e7a66506de65" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xed8d5c9c0569944aa2b75115b4311489c3285a8d", + "gas": "0x54444", + "gasPrice": "0x60dca5", + "maxPriorityFeePerGas": "0x60dca5", + "maxFeePerGas": "0x60dca5", + "hash": "0x88b7fb76e336e3f71e00c682be0f37a65d01b472a9a7c8a9c087e63124b5cf28", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2f9998ad400a33e1d82a534a12a19814994f9cc058919c262d7204534c44a45b0ad8052e72200000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000087b45d844000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000087b45d8440000000000000000000000000000000000000000000000000000000000000014ed8d5c9c0569944aa2b75115b4311489c3285a8d000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316a707336736d3773326336726d6e776467383067676e6373723961736e6330797a6570387533000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d73633967683463000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000002c4fcaf2000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ed8d5c9c0569944aa2b75115b4311489c3285a8d000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316a707336736d3773326336726d6e776467383067676e6373723961736e6330797a6570387533000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000", + "nonce": "0x5f", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xc3", + "value": "0x8a795a336", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x8d6b33227c512b364a02935ae0712d033911a1dceb28fcc86278820ca1b5d8f1", + "s": "0x43a61acf4fde9ee7d482fd87a6aabae38fa7462594f3dd0136e5e3977c2aa9e9" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xfc19ebe20f1aa0112c0e2ebc8d2a09094dd9be58", + "gas": "0x2ad58", + "gasPrice": "0x60dca5", + "hash": "0x3230092f95e2f3963b0a2e9a110cae9a815debe67e112f6e04dc62d5789e01cd", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000008bebfcbe5468f146533c182df3dfbf5ff9be00e200000000000000000000000000000000000000000000000aa6d2a7434d2970000000000000000000000000000000000000000000000000000000000010428fc400000000000000000000000000000000000000000000000a8b8dfca15930b400000000000000000000000000000000000000000000000000000000001018ef9b000000000000000000000000fc19ebe20f1aa0112c0e2ebc8d2a09094dd9be580000000000000000000000000000000000000000000000000000000068889f17", + "nonce": "0x137", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0xc4", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d72", + "r": "0x73e2ff239402df2a0004e7574486bca4e4ddbbf0610609021079dbf887158e56", + "s": "0x21b56de68a8d863a0f385521e3f38c13a744bc076fcab2559d30c43f0181fa3f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xab900bd887f14de169d65df088b164342bba5657", + "gas": "0x54444", + "gasPrice": "0x60dca5", + "maxPriorityFeePerGas": "0x60dca5", + "maxFeePerGas": "0x60dca5", + "hash": "0x6470923797ad9b6e2f4204c52b18fd7f33966e930167abd7e8dae85306f308cc", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fa4c5b3200e7ff899f2a8af152d8d836e435d0086e4d9b2dcc4a99e1c9b19714b80fd0a12800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000a03a4a3ad000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000a03a4a3ad0000000000000000000000000000000000000000000000000000000000000014ab900bd887f14de169d65df088b164342bba56570000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ab900bd887f14de169d65df088b164342bba56570000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000003451ba330000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ab900bd887f14de169d65df088b164342bba56570000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ab900bd887f14de169d65df088b164342bba56570000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0x4e", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xc5", + "value": "0xa37f65de0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x4f66037a660b503d336b5fe759988ed933afa121c301cb6b6b3e3b87eeda1a40", + "s": "0x2ce9ad29ecea1a77c21cff8074180328ed16a838429e49c0a1c9a98da8c26d4f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x9a0ecd8e15a950c7b72d025908684c52f6f43091", + "gas": "0x54444", + "gasPrice": "0x60dca5", + "maxPriorityFeePerGas": "0x60dca5", + "maxFeePerGas": "0x60dca5", + "hash": "0x09db5a8e8dfc38a2e0323756bd7e2da96299d555466292b7aa6632c1e2e4f1ca", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fa4c5b320052b2c67cc179aecec8bc97d231a759ec05a1d6383287f139ca8d2f2e5069e78600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000001fdf8e52ab000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000001fdf8e52ab00000000000000000000000000000000000000000000000000000000000000149a0ecd8e15a950c7b72d025908684c52f6f4309100000000000000000000000000000000000000000000000000000000000000000000000000000000000000149a0ecd8e15a950c7b72d025908684c52f6f430910000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000a685844d00000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000149a0ecd8e15a950c7b72d025908684c52f6f4309100000000000000000000000000000000000000000000000000000000000000000000000000000000000000149a0ecd8e15a950c7b72d025908684c52f6f430910000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0x9a", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xc6", + "value": "0x208613d6f8", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x36e6ceb61fd4d99c681ee2a57ff911ed09436062dd6655cde9e9a3d7c504fdbf", + "s": "0x5f5393948c8112e12ad7805721349ab31b74cd3f27634cccdeb59982bf07778b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xba41088cc011cb8a996def101f96288297172b1c", + "gas": "0x493e0", + "gasPrice": "0x60dca5", + "hash": "0x70c12a81fda36c7ec6456f3d72da5dbf5bf7c13a519a2042ed212f8531f097eb", + "input": "0xa7256d0900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba41088cc011cb8a996def101f96288297172b1c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000f9430", + "nonce": "0x2c3", + "to": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "transactionIndex": "0xc7", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d72", + "r": "0x1dfcc54deaf3342aa24a7c2911a75054bfa6c6803253b1040891d1617d88fdcf", + "s": "0x13ad9d6408d81fc1167621a0e3b6e2967bac944d0f9d649247f85c8ec9e3d726" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xcda82df1f7acc5212bccc3b8763c9093793893ac", + "gas": "0x2ad58", + "gasPrice": "0x60dca5", + "hash": "0x60aaadc9015431e6265942962efa6119bac722f173b4d4f8f207f8844626aa52", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000008bebfcbe5468f146533c182df3dfbf5ff9be00e200000000000000000000000000000000000000000000000aa732d8bdcf19b000000000000000000000000000000000000000000000000000000000001043229b00000000000000000000000000000000000000000000000a8bed37daa182640000000000000000000000000000000000000000000000000000000000101980fa000000000000000000000000cda82df1f7acc5212bccc3b8763c9093793893ac0000000000000000000000000000000000000000000000000000000068889f18", + "nonce": "0x100", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0xc8", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d71", + "r": "0x52cf39f7bfbf3f4d5e5a1ba75c9802ffe74603e58cd2a4af87dab2a378dedd53", + "s": "0xe1aeeb50266683e67b618d2989a2407aae97dfe4a6dc510866f9762d71311de" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x102bf5ec3eb1bd8b99dd31a1ccc465d4f83fab91", + "gas": "0x1e8480", + "gasPrice": "0x60dca5", + "hash": "0x7a4d130146cdfa55d5caa6d430a7e27c3f4985d9263f4bc72957d5c38b29168c", + "input": "0x26a272ec000000000000000000000000102bf5ec3eb1bd8b99dd31a1ccc465d4f83fab9100000000000000000000000000000000000000000000000029a2241af62c00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000054d7e31df0176220261b9bd61e046feeca3516d293d53f1cb047d2cce6510aee1a0c06e3b2decee8e579b7337ead2a1780186666318e5d224032c0d982002dd610d6778453cefe5bf6e2c3ff451348212104b8cd4ac6134d19ef04e2b2fbff535c6a2aff67c99ba8a6183f4b12e3e33c1221b6699d1eabe5955be21db91bbc6e5903e0bf226c275c0a4f836b09876a15c4ad7dc0656bd297185ddf5025edabbf4", + "nonce": "0x4e9", + "to": "0x350c734ef0ee0439ccbc1319788e5ddd71eea85a", + "transactionIndex": "0xc9", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d71", + "r": "0xeef22a16ddac154bd7557509e05b862884e6532ab6f13a77c93573b73be9014c", + "s": "0x342e5f9c94c2533f21a2ee6ff022c29d5bb7fc3aa6dc7a91f1f0a2c013dc7f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xe6f16feda043a9cacf92229baf079c7bc038524d", + "gas": "0x1dfab", + "gasPrice": "0x60dca5", + "hash": "0x9af85c8b41bf5fd41b7e684bb4f4c0fe5cfc523c3f1eaa8357fe135c018aeac8", + "input": "0xadc9772e0000000000000000000000004f5b54d4af2568cefafa73bb062e5d734b55aa0500000000000000000000000000000000000000000000000000000000000f4240", + "nonce": "0x12c", + "to": "0x23b2615d783e16f14b62efa125306c7c69b4941a", + "transactionIndex": "0xca", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d72", + "r": "0x37000d8df8558ae15c4ce5acc8c660f33af5a493b800cb51db8932c172ccea4e", + "s": "0x3b9fcd0a7e882d734d51c1cbe55ff3601f6d4bb3d034446a5e3c7e1a872ca5f3" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x9a89f75218e4eefb3e61701b7217be18032c1277", + "gas": "0x2ad58", + "gasPrice": "0x60dca5", + "hash": "0x6cf6485dc2b6a58211903cb188c2867b430e607c1dadccbb717226d859709b88", + "input": "0xe8e33700000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000008bebfcbe5468f146533c182df3dfbf5ff9be00e200000000000000000000000000000000000000000000000aa6dc53d124e2a0000000000000000000000000000000000000000000000000000000000010429e8900000000000000000000000000000000000000000000000a8b97906b366fb800000000000000000000000000000000000000000000000000000000001018fe3a0000000000000000000000009a89f75218e4eefb3e61701b7217be18032c12770000000000000000000000000000000000000000000000000000000068889f18", + "nonce": "0x11d", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0xcb", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d72", + "r": "0x8a60750653cf1d9ccb7119a22e075a998ba94b8a178d68b303d4344e90b3a4dd", + "s": "0x7f73da5615f5a9edb72733afbdb1c4f2e5588f020338720cdcb35b39edc6e153" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x390ee3629d4061bb3949daf5accf03f1ee7d0090", + "gas": "0x93ecf", + "gasPrice": "0x60dca5", + "hash": "0xa803642ac1ea9daa21b314a2f591c9902dfa34d70b0fdc566a125d71bb74c97e", + "input": "0xe7acab24000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000006c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000580000000000000000000000000b691512b2010febbfe08389797300652c79b2d65000000000000000000000000037e8f3fd62bd12b1c116bd48588793e98211acb0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000068889762000000000000000000000000000000000000000000000000000000006901ef710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c8d5822df364808500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000009a374915648f1352827ffbf0a7bb5752b6995eb71ff0d094a0fd8826b6a62573361cfe4fa45ccb741272d43ac29541623b75d63f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b139f8de6d000000000000000000000000000000000000000000000000000002b139f8de6d0000000000000000000000000000b691512b2010febbfe08389797300652c79b2d6500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000002e7cc63800e77bb8c662c45ef33d1ccc238615320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000004ad1d5744b41b95abe757572a7902059fdaf26b20000000000000000000000000000000000000000000000000000000000000040e0d8013da96c7e1455a85318b147fb7668b99ba2036e498058459de428dfc0cd3ea91a2dd556657ba70107c140c136df83f873cc4468555ed1524e53ccee6f37000000000000000000000000000000000000000000000000000000000000009200390ee3629d4061bb3949daf5accf03f1ee7d00900000000068889871f284651fb9d5a286e4287fc8d95823280ddf782534f3bab62a4e9be18c6dedc0951b98638ed45392b692469803ccfbcdfb16b38166138135a100f4069f9498cf090000000000000000000000000000000000000000000000000000000000000000721c008fdff27bf06e7e123956e2fe03b63342e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x7b", + "to": "0x0000000000000068f116a894984e2db1123eb395", + "transactionIndex": "0xcc", + "value": "0x2c68af0bb140000", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d71", + "r": "0x9369e6a780b2925874d3f862b40d346b0913ef65882a51292b36177f232d8c8a", + "s": "0x6a4f68280fc8782b0f753801e5005c5672026624fbb329757dbd5785a0f7417f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x98b1ca3699cbff994abad86a1c6c86c34caf6b80", + "gas": "0x4a5b8", + "gasPrice": "0x60dca5", + "hash": "0xf92af443eed90dd0da53685e823c671f29b2eca1de6a0af298fff880fdee2264", + "input": "0xff0d7c2f0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018579b71e89843009d11cced8e16b47b1c9d3d1e64a1a4a00907f0f1a45f414b29fb7a24f425e45f00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000001498b1ca3699cbff994abad86a1c6c86c34caf6b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000001498b1ca3699cbff994abad86a1c6c86c34caf6b8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001457978bfe465ad9b1c0bf80f6c1539d300705ea5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000d4dbd0f238000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001498b1ca3699cbff994abad86a1c6c86c34caf6b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000001498b1ca3699cbff994abad86a1c6c86c34caf6b800000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0x6e9", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xcd", + "value": "0xd4dbd0f238", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d71", + "r": "0x1728e5ab8dc2f516d38a0163059d9ac2c673a6c519430c827e999641d0f4d531", + "s": "0x65d731b5bf3e29a920e66632987381af975de420dd2b6468ba27c1edef1a505" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd634cd1db274af0bffb94aa171c1196ada46ba51", + "gas": "0x54444", + "gasPrice": "0x60dca5", + "maxPriorityFeePerGas": "0x60dca5", + "maxFeePerGas": "0x60dca5", + "hash": "0x0fcb6216cafe1f897df3287666cc19cff324fbf66c0b3b54f95b3499f11540d3", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b0098e8a280013cacbfe8a6eb61270771afe42c2620510dee323c78abff895f935a35cae1fc600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000079ab66e9d00000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000079ab66e9d0000000000000000000000000000000000000000000000000000000000000014d634cd1db274af0bffb94aa171c1196ada46ba510000000000000000000000000000000000000000000000000000000000000000000000000000000000000014d634cd1db274af0bffb94aa171c1196ada46ba510000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000027ba948c0000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014d634cd1db274af0bffb94aa171c1196ada46ba510000000000000000000000000000000000000000000000000000000000000000000000000000000000000014d634cd1db274af0bffb94aa171c1196ada46ba510000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0x1f", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xce", + "value": "0x7c2710329", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x4e997cac7a842d7aa97ff88c68eeaf5d3b0d8e350d7ae9107cc4586e4a7926b2", + "s": "0x742f6fc5f89e72811b44da26e71329b2f101265c9db0bd06748d2b9475e9e31b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x7d04a456db268096852919fc487d73330883ff0d", + "gas": "0x54444", + "gasPrice": "0x60dca5", + "maxPriorityFeePerGas": "0x60dca5", + "maxFeePerGas": "0x60dca5", + "hash": "0xc859a11923313653da7791035dcc4beebd305fa117e3fbf6868f93ed1a329b64", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fc29318200eee3d90d3dd73160014ad9ebbe58ba6b5a5aa11918ac8f9652417e5d5bee74ab00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000887b0e4fe000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000887b0e4fe00000000000000000000000000000000000000000000000000000000000000147d04a456db268096852919fc487d73330883ff0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316e3664346a766338647165393773616e346770366a79616b33716c76686e796a673865303374000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d73633967683463000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000002c90abdc000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147d04a456db268096852919fc487d73330883ff0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316e3664346a766338647165393773616e346770366a79616b33716c76686e796a673865303374000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000", + "nonce": "0x3f", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xcf", + "value": "0x8b44190da", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x3fa020447c88768aeff94ecd605a992d193fae35591ee930673b2be5f1eaf27b", + "s": "0x5e9a26339b082a6829c8178c91e18236cb7d9f9028791b4b5c9c3c1b7e2aba74" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x568fe7fd35c2cb13de5df44ca22d5a455ec1530a", + "gas": "0x54444", + "gasPrice": "0x60dca5", + "maxPriorityFeePerGas": "0x60dca5", + "maxFeePerGas": "0x60dca5", + "hash": "0xf7aaed5b65aacf3a5844e07acc6d68d35da031b980e5c20f97084857deab2c88", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fc29318200b31f4f33412873f480be52c0d409a545b9c0de5912760b5c03d6df4c56c2980800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000b23273400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000b232734000000000000000000000000000000000000000000000000000000000000000014568fe7fd35c2cb13de5df44ca22d5a455ec1530a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014568fe7fd35c2cb13de5df44ca22d5a455ec1530a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000003a2fd20b0000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014568fe7fd35c2cb13de5df44ca22d5a455ec1530a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014568fe7fd35c2cb13de5df44ca22d5a455ec1530a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0x33", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xd0", + "value": "0xb5d57060b", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x3809af94a1e441433fdbfa38bb7cd83287c8ade5ad51f1808fe195f4790be058", + "s": "0x1705fcfa61ae814a53128db964301885c89e580c164b719d226bbab5ebd18d3b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xf0e7c49b13132f03f38fe1cf68a1c5e9775656f9", + "gas": "0x54444", + "gasPrice": "0x60dca5", + "maxPriorityFeePerGas": "0x60dca5", + "maxFeePerGas": "0x60dca5", + "hash": "0xbed3c13b3211bf33e6d1b08ba44c87fc94b81b736e91867dff3bc9c162ee7eca", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fc293182005dd42b1ad98cd37f822fb1cc659cbf0462177b7c0bed9683c779e1e0538a6e7f00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000085a1aa1c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000085a1aa1c00000000000000000000000000000000000000000000000000000000000000014f0e7c49b13132f03f38fe1cf68a1c5e9775656f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000014f0e7c49b13132f03f38fe1cf68a1c5e9775656f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000002ba280b10000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014f0e7c49b13132f03f38fe1cf68a1c5e9775656f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000014f0e7c49b13132f03f38fe1cf68a1c5e9775656f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0x30", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xd1", + "value": "0x885bd2271", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x15c0cb43860a8a2528c27d7c3cb81752e1c76c1442233abefe41086791ca6e2e", + "s": "0x53e0610b6484cd49f0723bbc7a8d77385a1a4572ce4f32db2bbcdc5cc9bbbf0c" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd311aa48697a6bcd4bdd9bb0f9bb45800ad998ef", + "gas": "0x54444", + "gasPrice": "0x60dca5", + "maxPriorityFeePerGas": "0x60dca5", + "maxFeePerGas": "0x60dca5", + "hash": "0x5713c46235f5e7f0c49b78ba621bd8704e4458220874de19e016a954d1d915ba", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fc293182009b613c8e661725e7575ab80d71c10c1ac85069b1335fd36c37188eeaa54d1bcf00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000002f4192d8f0000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000002f4192d8f0000000000000000000000000000000000000000000000000000000000000014d311aa48697a6bcd4bdd9bb0f9bb45800ad998ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014d311aa48697a6bcd4bdd9bb0f9bb45800ad998ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000f6e3a670000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014d311aa48697a6bcd4bdd9bb0f9bb45800ad998ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014d311aa48697a6bcd4bdd9bb0f9bb45800ad998ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0x32", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xd2", + "value": "0x3038767f6", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x32a1af32f3b6a3fdc5c8850c7bd1725ac29045526a8db840d40adb3015fa0e2e", + "s": "0xbf597e63aae479a934a4c2eb67b9816fac06647a198414b12ab351d981367ad" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xdc3eb4e132f11f93ed1b3fe4eff252be500a6b56", + "gas": "0x54444", + "gasPrice": "0x60dca5", + "maxPriorityFeePerGas": "0x60dca5", + "maxFeePerGas": "0x60dca5", + "hash": "0x2fdf0d326c205731703e5805c237525ae29042dbf745bb21a4a954839a4b83ba", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fbb1fbee0076dd5a1fe10d902b0bcdfc7c1d253ac89d3d21403e902843a3b663e0bc35cb9700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000008d6b26199000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000008d6b261990000000000000000000000000000000000000000000000000000000000000014dc3eb4e132f11f93ed1b3fe4eff252be500a6b56000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31376138763439357572323936797637636b6c6e636c666e66396471327a747033616435397233000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d73633967683463000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000002e2d6fb5000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014dc3eb4e132f11f93ed1b3fe4eff252be500a6b56000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31376138763439357572323936797637636b6c6e636c666e66396471327a747033616435397233000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000", + "nonce": "0x19d", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xd3", + "value": "0x904dfd14e", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x4a4251e3c0b8567e139e710cf3d85458add300249e7f103ad8deab310009ccf0", + "s": "0x57b4b5f33006f125ad88ae03b277c048174b2a3c29fd77234623b57b8fc40902" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x342ea18f909195f357cb2cd262307c115ab9d0a8", + "gas": "0x3a104", + "gasPrice": "0x60dca5", + "hash": "0xfa5f181e4be9d7144a2c909d241bd065e02c3ea11f70815ebea101cf11cc24af", + "input": "0xff0d7c2f0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018579b6f839ee000d186578c5a8a123c507b2fb297ff70020d058df1c69f721c137acd02818bfc1600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000014342ea18f909195f357cb2cd262307c115ab9d0a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014342ea18f909195f357cb2cd262307c115ab9d0a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000d4dbb50be70000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014342ea18f909195f357cb2cd262307c115ab9d0a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014342ea18f909195f357cb2cd262307c115ab9d0a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0x332", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xd4", + "value": "0x38e53807b8be7", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d71", + "r": "0xcd700a6ee014a4ba6bbfde0b6f5eda6f86ff15d3a4becb0056ee402d95fd07f3", + "s": "0x5c2422dd172d5f779cff132876023af4fd3bb017dd738cd2bff944a0f9a512c7" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xfea4e66586e4ee1745d19edc29905c2a4618066b", + "gas": "0x54444", + "gasPrice": "0x5c1462", + "maxPriorityFeePerGas": "0x5c1462", + "maxFeePerGas": "0x5c1462", + "hash": "0x3a743c14d4d4622b334deb81fe90b04dba06f52beea2f6cf1082be889f25ee4f", + "input": "0xff0d7c2f000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fcdc01e000b2c5126190cf253fbeef41c896919375421ba99bdbf9bdf93454600657005cab00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000007ff9f3c3e0000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000007ff9f3c3e0000000000000000000000000000000000000000000000000000000000000014fea4e66586e4ee1745d19edc29905c2a4618066b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014fea4e66586e4ee1745d19edc29905c2a4618066b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000029c9c7c30000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014fea4e66586e4ee1745d19edc29905c2a4618066b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014fea4e66586e4ee1745d19edc29905c2a4618066b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "nonce": "0x27b", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xd5", + "value": "0x829690401", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x22b47e6e0d8caf0fd1ce995d2d2bb515b959380b6d99e005e294e5cfed95fda6", + "s": "0x27e83373969650152d87325851269a3398b9c886e4655b0f40607bcecbb837ee" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x56353c54cf8ca2166d9db9c47eb530bc49398b41", + "gas": "0x13b800", + "gasPrice": "0x5c1462", + "hash": "0x4879baa72f6434992f780dd90f9da7e8e2b29f68b7acab0903ab59a912558f2d", + "input": "0x6e31c749000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000031efa7b5382e8b0f000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000005a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000077365706f6c696100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a3078353633353363353463663863613231363664396462396334376562353330626334393339386234310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000365746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047068727300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066575636c69640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066575636c69640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470687273000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034907aa3cf596a0000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000006706861726f730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30783536333533633534636638636132313636643964623963343765623533306263343933393862343100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016f7b2261737365745f696e5f74797065223a226e6174697665222c2272656c6561736573223a5b7b22646578223a226575636c6964222c2272656c656173655f61646472657373223a5b7b22636861696e5f756964223a22706861726f73222c2261646472657373223a22307835363335336335346366386361323136366439646239633437656235333062633439333938623431222c22616d6f756e74223a2233373837363632313330353935353838363038227d5d2c22746f6b656e223a2270687273222c22616d6f756e74223a22227d5d2c227377617073223a7b2270617468223a5b7b22726f757465223a5b22657468222c226575636c6964222c2270687273225d2c22646578223a226575636c6964222c22636861696e5f756964223a2276736c222c22616d6f756e745f696e223a2231303030303030303030303030303030303030222c22616d6f756e745f6f7574223a2233373837363632313330353935353838363038227d5d7d7d0000000000000000000000000000000000", + "nonce": "0x161", + "to": "0x7cb512008ecd844fcab522d1f8683aa6a8dd075b", + "transactionIndex": "0xd6", + "value": "0xde0b6b3a7640000", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d71", + "r": "0xb16c190534e1f8345f2dd8e1039d328ce07a36ce4365c37ffd360dfcfd67b7d3", + "s": "0x505ccc95d9a238301221172043716429f989a391cb2f5826143e1ca3e030a473" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xade425a97ff1ca39d8ea8a7af3a599e721e7aa4a", + "gas": "0x85d6", + "gasPrice": "0x58ca42", + "hash": "0x32d82d73a0dcb99f74ff94606ddf17e96a316fea9d85719712b3b1aea4f0a868", + "input": "0x7898e0c2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000005135220000000000000000000000000000000000000000000000000000000068889816000000000000000000000000000000000000000000000000000000000000000a54414e5353492f55534400000000000000000000000000000000000000000000", + "nonce": "0x39f", + "to": "0xdc1f6519311c3bc4c5bf53ede7dc21a412a970f7", + "transactionIndex": "0xd7", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d72", + "r": "0x5489f4b9ebcfc7388fbe864fe758d347018ea5af472830d13b77fabea88de809", + "s": "0x1c08c1b97d1bb5cd3350c16bc71e67686097c2bd48a393d1aa3b1726334b5b7b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc8cd08f0a829f6a8968ecaff82788822afef9cbb", + "gas": "0x1dfab", + "gasPrice": "0x5822e4", + "hash": "0xc6ef6b180bb3b7c86f43d56775c3afeb498a26473f386118027499b1cab67770", + "input": "0xadc9772e0000000000000000000000004f5b54d4af2568cefafa73bb062e5d734b55aa0500000000000000000000000000000000000000000000000000000000000f4240", + "nonce": "0xde", + "to": "0x23b2615d783e16f14b62efa125306c7c69b4941a", + "transactionIndex": "0xd8", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d72", + "r": "0x28dbed22d5286647a542552f6049cf910f46a5fba4d03cdb84c4f09b106bd13e", + "s": "0x1aa71add0003c831be1cc37710ac9b88d381a4f4f739396a7bdc9fb583f3e54b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x40d4fc8be70727d5791ba2b53193015e959cb9a7", + "gas": "0x3d791", + "gasPrice": "0x5822e4", + "hash": "0x0a6140ad62c8191ecb3ed12c84486833861267585ec60076f8348eab5c377cad", + "input": "0xa7256d090000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d4fc8be70727d5791ba2b53193015e959cb9a7000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009baf330000000000000000000000000000000000000000000000000000000000989680", + "nonce": "0x256", + "to": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "transactionIndex": "0xd9", + "value": "0x0", + "type": "0x0", + "chainId": "0xaa36a7", + "v": "0x1546d71", + "r": "0x90620aedc08a2b463faca017cd91656056815778a7e1fd3dbb2d1f94ecd69356", + "s": "0x33eb9e202a3fca14d60c528b96786310cd938f52a6a95e084124815ce92b6a0e" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x65141ca3329da9a83458017474b5bc62097cf24f", + "gas": "0x8a9b", + "gasPrice": "0x5773fa", + "maxPriorityFeePerGas": "0x124f80", + "maxFeePerGas": "0x709279", + "hash": "0x2a33c45f7aec5ad9041b8b1439eb9a8dfcd0643b8e2a7c08aa1fdbcdd984b4c5", + "input": "0xa03b5c3b000000000000000000000000000000000000000000000000000000000000002067af1daffa1cfe3f45c877adc22da82054bf382596ab32867b4afb9c4e507e8600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x6a44", + "to": "0x83458e8bf8206131fe5c05127007fa164c0948a2", + "transactionIndex": "0xda", + "value": "0x1", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xd4bb4e55ec99f56e145ecb4e67858612fe3fb4a5b28f72ba82b8abb61a47fa78", + "s": "0x79aba6950ead1d08cc82371c62f444da43aca120a8c6b29ec7ba0aca61fe8c0b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x1f141fa54a4cf1b1acb922c550f4018b8ac6c040", + "gas": "0x9f8c", + "gasPrice": "0x56e687", + "maxPriorityFeePerGas": "0x11c20d", + "maxFeePerGas": "0x58ca42", + "hash": "0xbd6deea8a07d686acffe92d54c68fbefa172656a3daeb4d41d42e430df6a3b10", + "input": "0x6a6278420000000000000000000000001f141fa54a4cf1b1acb922c550f4018b8ac6c040", + "nonce": "0x1f4a", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionIndex": "0xdb", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x3c83eaa2d7479c57daa71cd02c0d3cfb9db3bf3418dbed53723acc8afb5a0532", + "s": "0x594517a941b28cbdebbe20d57ab14b172b6f7d4416a9d811d1b45b482dc5cf9" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x42645ce4dd0b766de53ee483cbf54bcea670f9b2", + "gas": "0x99cf0", + "gasPrice": "0x55ed5a", + "maxPriorityFeePerGas": "0x10c8e0", + "maxFeePerGas": "0x852932", + "hash": "0x4ac9101bf4832624e18c974d03430de1b09e05b723d200379d29607c4d9c5097", + "input": "0x", + "nonce": "0xe603d", + "to": "0xee0f6d445b80ae809d70648ee177d08daf7420c2", + "transactionIndex": "0xdc", + "value": "0xb1a2bc2ec50000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x9df35bccafea54ea69541d39c8a45d0a752efcc2e753af1445177addc0ecd993", + "s": "0x7db304403e9e077e869040c98192c2733cdde99d70a2af7ee8a93c3171ca3401" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x15095ec8fb1fc9c664b3223459dff43158ace7ad", + "gas": "0x99cf0", + "gasPrice": "0x55ed5a", + "maxPriorityFeePerGas": "0x10c8e0", + "maxFeePerGas": "0x93b41e", + "hash": "0xa58ebac45fc90af2a272dacff41b869ba220887f1111f372adcfdf6a53173d23", + "input": "0x", + "nonce": "0xcd3d5", + "to": "0x588590c70b88d740a578c9329e0c3c2dba645a35", + "transactionIndex": "0xdd", + "value": "0xb1a2bc2ec50000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xbfeb9467b80a55cacd69720fc4a262d7ff7821c7f5423d6576fa6ad05f6ea838", + "s": "0x79bff0f5919120347ebb627e91669ee2497c4def9769f966f30f81e5c751f7a4" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x9484449f2be7cd6e01ef55bc5438c733e0759e0f", + "gas": "0x99cf0", + "gasPrice": "0x55ed5a", + "maxPriorityFeePerGas": "0x10c8e0", + "maxFeePerGas": "0x8bbbae", + "hash": "0x8c88f210e9c315417595cd4e1093241f2a729a7cd5bced437d3099c0b61dbdcf", + "input": "0x", + "nonce": "0x888cd", + "to": "0x3c79813ede13c4a98498df7f21af46bdd9f968f9", + "transactionIndex": "0xde", + "value": "0xb1a2bc2ec50000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x39fc51da9f3d81ef5be67ee9e3df988e9b3a1ba6a7e8418762de0a2f72db6355", + "s": "0x642197bb13b040eb077baaa8f6faf52e981ed0662f69766bc0d8c112cdf1cb28" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x86bddfeb23945f869099d295e84f9036b4e83d18", + "gas": "0x1dfc6", + "gasPrice": "0x54df3a", + "maxPriorityFeePerGas": "0xfbac0", + "maxFeePerGas": "0x92a5fe", + "hash": "0x3e304804edb76159928b211deac365b61a591aa829de330e63ef2682dc92bec4", + "input": "0x5f8c0f9ab0ee8ebf5383a53b4f1ab4120cbd73cd8c3e083ff46b138575be1f6409b649100000000000000000000000000000000000000000000000000000000000002f2000000000000000000000000070b69177a728388e541df1441caa2fab79647c3e00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000008fff1873dcad8695ceac0fa1679a964618c6fe310000000000000000000000000000000000000000000000001bc16cb783b5de00000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000008fff1873dcad8695ceac0fa1679a964618c6fe310000000000000000000000000000000000000000000000001bc16cb783b5de00", + "nonce": "0x8b", + "to": "0x36ead71325604dc15d35fae584d7b50646d81753", + "transactionIndex": "0xdf", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xb1b4f4ca151d169b196687dcafb3f933e1e67244ad6643f82ee7d4eead320ec7", + "s": "0x1d8242ee4542cc51397720a30638edc9be1eedcedb469c03109d15429dde3923" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x72377b695e987aec585de2047b5f22a5eb2acfbd", + "gas": "0x9f8c", + "gasPrice": "0x546804", + "maxPriorityFeePerGas": "0x10e19a", + "maxFeePerGas": "0x546804", + "hash": "0x298c1251c0efd67d410c69abe894f4b3ddc149a44a1a9cdbe4e96d6e288a859d", + "input": "0x6a62784200000000000000000000000072377b695e987aec585de2047b5f22a5eb2acfbd", + "nonce": "0x1ba4", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionIndex": "0xe0", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x36b43a73657edaf588bb77f8d4f976bfedf77c47ce14125f9e3abb08fd38e084", + "s": "0x7cd66c3874d72e1cfc6d65017d4e33c0cec1b79c1c6fee4c35f8721ba48ba404" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x64a76b5b80d242a21502d89b06caefb9c2ef5da3", + "gas": "0x2dc05", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x72f3c6", + "hash": "0x881a9742ece6c568113e8a2cce4488aeb8dcb8177f821cce780553faacbd20f6", + "input": "0x6080604052348015600e575f5ffd5b506102608061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806327e235e314610043578063a9059cbb14610075578063f8b2cb4f14610098575b5f5ffd5b6100626100513660046101a8565b5f6020819052908152604090205481565b6040519081526020015b60405180910390f35b6100886100833660046101c8565b6100c0565b604051901515815260200161006c565b6100626100a63660046101a8565b6001600160a01b03165f9081526020819052604090205490565b335f908152602081905260408120548211156100da575f5ffd5b335f908152602081905260409020548211156100f4575f5ffd5b335f9081526020819052604081208054849290610112908490610204565b90915550506001600160a01b0383165f908152602081905260408120805484929061013e908490610217565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35060015b92915050565b80356001600160a01b03811681146101a3575f5ffd5b919050565b5f602082840312156101b8575f5ffd5b6101c18261018d565b9392505050565b5f5f604083850312156101d9575f5ffd5b6101e28361018d565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610187576101876101f0565b80820180821115610187576101876101f056fea264697066735822122078642a3fb2d5cad6013de24aba202106bf9a8c584651eece1e2a91247c060e8264736f6c634300081e0033", + "nonce": "0x0", + "to": null, + "transactionIndex": "0xe1", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x70badb1e21e2012e754da2ef2fb6d00961226063d4c4536ae9d4d875b942db04", + "s": "0x1a1d8b83b3af84a80ba8eb1eddc7f82a2b8e9056591043b8d97adfa1f857ca8c" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x9e5a071cd5b6e2196b71b902782e1ea560263a71", + "gas": "0x186a0", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x72f3c6", + "hash": "0xbc61c5cf0d0e19fa0548de6c6b45e05212a2e3109a97deabbaec7a1d5fbba941", + "input": "0x6a6278420000000000000000000000009e5a071cd5b6e2196b71b902782e1ea560263a71", + "nonce": "0x200", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionIndex": "0xe2", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x12ba8545b058ae18038f6f415ef0434a3cbbdd469a73fd79a67363a2c79b0524", + "s": "0x7cc8f6ab5f3d6743ac60876e29cd99e938dafd295d55149810adcb991a43d275" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xf64307fdda58fe34e6d1381999f470c36aa1976a", + "gas": "0x37ba8", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x72f3c6", + "hash": "0x5c9c5cee4677c7b0e31c22ca1c7a9c6a47a5f958adea3b3e710257035b1a2389", + "input": "0x2a17c54c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aebae199236fdadf2987dc9ae9a9563dd90da58a000000000000000000000000f64307fdda58fe34e6d1381999f470c36aa1976a0000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000021e8216f4d4ba82300000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x9", + "to": "0x73b8bbbb33f6f7ac8d0b5d1f27685a6106783328", + "transactionIndex": "0xe3", + "value": "0x4beea0ac74e", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xde758831ac6e925e042355c7a375c0d3f861619020763989f220f447e3dfcf94", + "s": "0x189240e8acaf156dcd82e4d3ec2f8bbd7c2ba1400d45bddd5cff0b74085045f8" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x1b8c76fe92afe279a4d76a03657aaf673b07bd36", + "gas": "0x5a3c", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x76b650", + "hash": "0xab9fa63654417afcc254f2936dcdc6d7bdd29f8044b54544f9e96ffa8e63e46b", + "input": "0x", + "nonce": "0x3bc", + "to": "0x1b8c76fe92afe279a4d76a03657aaf673b07bd36", + "transactionIndex": "0xe4", + "value": "0x5f5e100", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x368c877a61b97f4795eeee590503b3696141e96b24bbf569d80134487e97f357", + "s": "0x29899086af8f26edf74f87e6a69d7c90e7dba7f2119609b45343a38387657ae1" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x647d61ca4d3552fe0ae11182581eab50338c1a38", + "gas": "0x5a3c", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x72f3c6", + "hash": "0xf6da50f5b6d8085fa6b28f91e18d1ce39f8e355ec989a49b0a77188e1b6c24c6", + "input": "0x", + "nonce": "0x4cb", + "to": "0x292cdc82576f0c164f167348d1ef447a5eb4360b", + "transactionIndex": "0xe5", + "value": "0x5af3107a4000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x27f276d7e2c3299959b906ac44873444f209ad62486b893ed0589bc9e1cdfce3", + "s": "0xc9a9d10e37762660ec77c04f550db0c1b7638efe215ef0959a5d8be009ae0be" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x81ce7792390a551fda706b4b570f3a08c6ee1b0b", + "gas": "0xd459", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x324cb30f559cc7bd629305a2b0a1fbcab032d66b4e1c92279e019a7380a1e05f", + "input": "0x6372ecb40000000000000000000000000000000000000000000000000000000000000003", + "nonce": "0x789", + "to": "0xce42d0a485852bfd912825b27013ed79b7d3f101", + "transactionIndex": "0xe6", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xa3d1e03da883722e0576b0e6da107b2fc2a32e8679cd342804525f0bb6bbea02", + "s": "0xdb21bf7c042faf9ffef659b2ba594907967b952c1e78241ee52d7e4e8efda25" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc25b5badd019c7951b054ffbc26ada1b04ef90aa", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xa0f01322212f5e76c062b18ba10c232fdf43f88d1067730ddc36ceedebfcf1d5", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f57444439324e45647a47756844684c696e4e764672724e7668507464796270704e72786e634b7747576f595a43000000000000000000000000", + "nonce": "0x41e", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0xe7", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x45b7945a76ff68531e3578285967cbb80fe2fca3f8c3cee7c05f618247bc0b08", + "s": "0x4aac32ecc7e55334117740102ccc54e1fcc4d48d59c45e17ac2759faa971e7e5" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xcb4bcaa494ec848f1f109b616a4d8b0781ff387a", + "gas": "0x2bd54", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x4a4fd7b015cf2fd39eb0591d0832d8371464805dc50a3bbff63665330733e9b5", + "input": "0xff0d7c2f0000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018579b69a75f2780e217b0cd95183d867b4360aa1aef9771acfaac44043bd72d63ade864b482890800000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000000000014cb4bcaa494ec848f1f109b616a4d8b0781ff387a000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e3130336b65656e7a6e72766b7170747a66737a34753438356e766a617479333268796a37383665000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d73633967683463000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000e279d9b00000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014cb4bcaa494ec848f1f109b616a4d8b0781ff387a000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e3130336b65656e7a6e72766b7170747a66737a34753438356e766a617479333268796a37383665000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000", + "nonce": "0x4d", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionIndex": "0xe8", + "value": "0xf6fc42ab00", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xc987ca2b565715bec7c09aff79b57fde2af3d8ab975e3ed3158d26400cbeb5e9", + "s": "0xf1a092cdba4b0d34d345cc87049d7f798429fbf542cc2bb8f06adac44bd96d9" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x1c763d7848ae0fd7655892beb71b5f33973f63ed", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xafe27b09eaee9163f89d88c25ed4891504699896fc6998ea3e414c987cac71ab", + "input": "0x", + "nonce": "0xa1", + "to": "0xa62693990f2f8283964968d7d5418adb4be46d72", + "transactionIndex": "0xe9", + "value": "0x29095192800", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x45e0edf8ab066bde326e545edcc9bccdf012a20ac0ea14ceb7bea6082e7a1da7", + "s": "0x190546617f88df05d9d994d88ed9f1c141b8268d7ff507bba6cc682e62af3d1b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x2b1e0adc6656f855ad5183d5ba627bde08ed6174", + "gas": "0x186a0", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xe27dae964a5ce49876faef8ff0138306a5ff9347fe72989108a1a6437d64fffb", + "input": "0x6a6278420000000000000000000000002b1e0adc6656f855ad5183d5ba627bde08ed6174", + "nonce": "0x1ec", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionIndex": "0xea", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x23b3c03dafb8466969a391e78af33e552c17636efa9ec335f3f0b63fac4acba1", + "s": "0x1cb430e835486c551ea01819d312fc7ab6a029e20fb4cc0eb3a1539a7924ffdc" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x4bcf52afa1e5e8f7f76e283bc44ad19c2673fd0f", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x173fecb9f4747a7305bc25ae57f1c7b3e4d8befd244f11f624ff9e8381f4e869", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f57537846436f454a6a334e427a66675458675866714653383869704a55317947345642515335416465526b657a000000000000000000000000", + "nonce": "0xa6", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0xeb", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x749e37c56cdd8b9e23daee8ef339054be48f55ae138a1c0c70c69f7cc03462f0", + "s": "0x6bc26a5cef8abc66188d0363c516644ead82977a42e1b40c924a3c1cf3270878" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x28504d5531c695763569091816d6e9f26a84d028", + "gas": "0x186a0", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xef1cf81b97991550803ae5af49310563d3bb966be96080b5407eca1a6870bb56", + "input": "0x6a62784200000000000000000000000028504d5531c695763569091816d6e9f26a84d028", + "nonce": "0x1eb", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionIndex": "0xec", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xbd8fea2f2aff77c7d3700eed93392e422a01da388943a376d148364c885adc83", + "s": "0x224c26d435df52ad51b0d9e94a8d790ba298b3289ced2c287883724224451185" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd0b00a3b9d4d147a5c01c86eed8f9ac99c1fbd78", + "gas": "0x186a0", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x7b4c62a3492d3b6c72348744dcf62b026b44ff49230a2ff20b65c8b708fa0d78", + "input": "0x6a627842000000000000000000000000d0b00a3b9d4d147a5c01c86eed8f9ac99c1fbd78", + "nonce": "0x200", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionIndex": "0xed", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x169bfff200d491224e6ac1eaa5763e9a196fc7b74f1500099bc2ca6be0014a52", + "s": "0x24c2e1b6a646684b395ac7bc7d9925aaa085b746976b459f2a72916e95ac8250" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x88f9817edec99a067a6cab4da0e69254691b7442", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x1e83552745e9b8a23c6c49aa67e6a4a7a7e3950179a7eb34ea49e68f1f5148f7", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574e6175524454515339627447576e355966774d5857557578434a5078336b78754d4a34384335535964464735000000000000000000000000", + "nonce": "0x8d8", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0xee", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xbedb80787dc57050500e433c239862adb734cfa83c8baf8624b28788811a84c8", + "s": "0x129be93dd60446f5cd81c0efc4a08377399b54eb6197d87e1aaa9aaf373fb173" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa12b540b2789c516ff6811724d1a0ea55bfe93dd", + "gas": "0x5a3c", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x76b650", + "hash": "0xb250c6767df52aff4a4efe07c5f5b4b9a4aa622bd23aa67c6b2794b1fea0228f", + "input": "0x", + "nonce": "0x109", + "to": "0x3bbf5fa568612d8aee6951f3067f35b10c81fb46", + "transactionIndex": "0xef", + "value": "0x3b9aca00", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xf41d2191e89c0ec4d2435644c5ab8347e536b790affec03fad1c46093c0b0b0c", + "s": "0x64848e83edc93e787f679f706d55deeef198c7998225faee9d83dcb8cce811d6" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x3fa84eaea4f0a48b15e26583c5e741fdf81e9ab7", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xb6c29ed659f2381bc2076f6b7185bee1919c881a7a30847c820bc31032f2fabc", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f5753666559354c4a657565667a545831677758624d76426a434d6b74734b643447796b73366d4645374665534a000000000000000000000000", + "nonce": "0x647", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0xf0", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x35190c391caa3933d86ae064ca79b1fdd0d67b9cbed12092acc5ed31d9c70ee8", + "s": "0x6ae44bc7153cd2ebe971e7451776e3bfd2c6b6aab8d0e063a65b423615597da4" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x48ab2ca74ef366b5d9eac414e00035fe70302c2d", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xe26c1812f8a87418fbc40d2fc4d085460034c198c73b6d8e929084fca7152a80", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f57464a4e6269685779374b755a65516545486b3367617857696b617676545a52396d58364b4c74745457317669000000000000000000000000", + "nonce": "0x642", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0xf1", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x76019bf07ac4881e5502df83e0637cf2e4855f0636921b968075a31c6212c858", + "s": "0x6698ac8005d9d6cb92386ee8b8b0467459ecc080d8f03c3500fd8473497cda09" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x8513405543062b0d78bba04309d6c99856dfd75f", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x6ac7ef7d07c165e6f5d9f77bfd85f4e55fc84c3f6e75ff9dfdd0a9d6589b20a9", + "input": "0x", + "nonce": "0x63", + "to": "0x4183e41d879054c8b2f2324c7cf50aab9432de76", + "transactionIndex": "0xf2", + "value": "0x14f46b04000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x262c27b610cdeab82a089cb5e1219a1fef102f4a0d3113a1bf429ba6857fc081", + "s": "0x703cc5e3acc7d6d23240dc22a45a314f24005de3bd88da9e52cf550657776752" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x0a29b2793f688ee31c106705060adef38c695fd1", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x5515a4", + "hash": "0x520abfd3c6d31b736717dc7750343a67ec7138ba83b1d9a364a9e3435faa97e4", + "input": "0x", + "nonce": "0x7", + "to": "0x54366bcd1e73baf55449377bd23123274803236e", + "transactionIndex": "0xf3", + "value": "0x38d7ea4c68000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xeb6246491386e6e327b9543ea26e34c7993543374bdf81a19e689d3a69fbc47c", + "s": "0x6bc35970a04a0797743ffc8f97a3c3e8696bfe7779b107cd1eec53e3cc837133" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xbf906d332434ddb7dc59047df557460e5b7601fe", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xf8df7e9fea3b1ef13dd5281c29e571a0f0084e66bfb3cb0b715f680f594c5527", + "input": "0x", + "nonce": "0x4d", + "to": "0x11225a9d0254c9edb03d79b89e52c534f83c0cba", + "transactionIndex": "0xf4", + "value": "0x19077fd3000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x990c5accb3c661745465016dbc3d65683a6aa3e388dbc0f5b5602917e6814b98", + "s": "0x165609bb96824f7e2708c7f2e7d66be9d052842a4e6669317b56d85daec8dc45" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x4fb59f872ab375de01c4d01617dd1e7e70daad9a", + "gas": "0x1bbfc", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x44154b5e51b189e97c1c1b7de50e34a25f5f652ef9624ab943993f70f3d0f393", + "input": "0x38ed1739000000000000000000000000000000000000000000000000000a971760d91911000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000004fb59f872ab375de01c4d01617dd1e7e70daad9a0000000000000000000000000000000000000000000000000000000068889cba0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000008bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "nonce": "0x3fe", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0xf5", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x1d5d73d557e4026f2812f204c377cf43bf5a94aa90ee318da01fe2a06a36be3a", + "s": "0x19346fa909a7603fe07882cf8d064f3e46ca9184257eff68891d1f55760600a7" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x77636d3b9e53fa009c604d177b097817508740bf", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x8801a5fd77daed32c7f25af1143f2ffba528f6a3ac61aab7697ac97b055e99c5", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f57505a544e31576a6579614337693562376e3577545266543364687451487962745150457345573556706a6a34000000000000000000000000", + "nonce": "0x541", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0xf6", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x3b6781291abc14b87ab4f1468f17e75189c0d7c3470ea0bf535649bf6dbaf8a7", + "s": "0x656231f03076587d98848def49820f93f13d684aa1a726f104b43de97717a46f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa3b4ea9ad9ff672d1b1504919d7f43b78bd4126b", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x8be1ea4817e8f39f7e4bb52f21b4798c5fc36dce4e6b213592fc6b7980fe44a8", + "input": "0x", + "nonce": "0x676", + "to": "0xfaa3d77494a3cc50a6b4e9bc3954ac65e9a8df18", + "transactionIndex": "0xf7", + "value": "0x1d65161e800", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x659e16c38191ac264a6635aece4644bec9e4d556be03cc6d70a7542440e60e2e", + "s": "0x377115480137b3ffefae0571b6927dbd11dd28805de32b6af36b364c80e29f20" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x78fffafe76ae0919a99ff4b24831d16faad35322", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x8c27b5b0914f9d6d29d210f833cc694f5b17b3093cc83029df4c42af3345e67a", + "input": "0x", + "nonce": "0x3ce", + "to": "0xc2eb26fb7ee17c44b38cf4552f3d31cea457a1f5", + "transactionIndex": "0xf8", + "value": "0x145f680b000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x49018ab0ea3571ec4fcc79f7e7749349906b9ec460daf1e1f73d2bb4984cca5d", + "s": "0x721ff33c968a944c0aaad1e133dc354850b82a8bfb5e742d79ae53768691cf09" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xbf9f81f75919f06493b7260ce82dcfa0cc639616", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xc27477cde67c0d550b88866629370e00862f95c0eb05fa0cb24f9d3d10028dc1", + "input": "0x", + "nonce": "0xda", + "to": "0x8b44e4b509b2041a846d0cde311c6a81e5e17826", + "transactionIndex": "0xf9", + "value": "0xf478e08400", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x4bad58715da2df6f3394597d3fd165e7faf0b5b43e43b821cbe34f04e6f18ac7", + "s": "0x4859e1de2628ed9a14e80956f3dec74f45583b392ac7ca0c1387792d5e3b485f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x560cd880656645c7cc9bdb5fb81b953dcd77460d", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xdabacef6096eca553f0e646791ffb61e59572db0e830dd5fb1f0b095f795f613", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574643537851574451456e67686179376756557362687555475a4743596d6e4b3664506a346b77315777734265000000000000000000000000", + "nonce": "0x8fc", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0xfa", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xb62432078ec077a7ac0653c760db79329a398e5559cdbd617a9a1e299a75e7fb", + "s": "0x4e2bc36dcf28b485a15af630adde95d8fb16ecf430ee2dd720af8a98628784ad" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x6de275837ca2ca4a407638e7f414bc2126819270", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x3b07291064cfaba85d86f857bcbf36df620aa832541a36e42a4c8a36b736b263", + "input": "0x", + "nonce": "0x31", + "to": "0x6616000271df6b70ae87d2740cb2b965e3d60023", + "transactionIndex": "0xfb", + "value": "0x1dd4d859400", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x74faaa32700111ea6730a1eeb2c4161d9fb4e87949616031defda1c6231539b0", + "s": "0x3ccbea016577f3ea0549bc83079d5af3f692f68ae0da58d36936bb806db9e92b" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x0f04a80e46b2746c6eae142692355af0d900131d", + "gas": "0x186a0", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x73444ccce8428fa5308084d5c1c31930b86091e72eada06432c408bec903d15b", + "input": "0x6a6278420000000000000000000000000f04a80e46b2746c6eae142692355af0d900131d", + "nonce": "0x1e8", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionIndex": "0xfc", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x3908e921d63b22ccb075d085c00790b2e60bc6e6fb21a7062b0889d399574bc", + "s": "0x42fcb9d8c6730a2682f98e5b3592eb0993bcb763e876840c1e4fa7a009b69119" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x08a4bebdbe66c60b1eb4f1a97961ba915531fe11", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xfd605c7bbbb36770b07f8212e806b563dde6d440786a267bd7dd27670ec10ba1", + "input": "0x", + "nonce": "0x69", + "to": "0xbdc5535f8536c81f7b9267d03a977f4455d84cc4", + "transactionIndex": "0xfd", + "value": "0x1255dda3800", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xe93c0a036f985a3388d3dfd930df0bfee62e58b9651f2819e3b3db78f5144da6", + "s": "0x1ffa43dd487756a3f15e8e0b2421afa70f556df01e47a6ddc635296cf5f13f7a" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xfaea4b521cd70fdd7babab36b82aeb2755dd0756", + "gas": "0x1bb56", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xb19111a5ac291ec80e27436d265b228ec8c5c82d41ebc0c6b5deb9004beeb1da", + "input": "0x38ed17390000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000faea4b521cd70fdd7babab36b82aeb2755dd07560000000000000000000000000000000000000000000000000000000068889cbb00000000000000000000000000000000000000000000000000000000000000020000000000000000000000008bebfcbe5468f146533c182df3dfbf5ff9be00e2000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb7", + "nonce": "0x4a5", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0xfe", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xd945829aa9dcd31da9dea83f6b55999b47f1a7c6e46d344d2c077981e64fe8c9", + "s": "0x9c5b32fc38a28809ee8d2cb4e838ccbb4e7ab7139a98faec332aed7a3a6db80" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x4a373aa1ab0a1635f04fd484b6b7c919cd1ebf0f", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xce6d26119b63fc44dad1832c4a7207281a763bd65b67507f7398f93cc3b3f3e4", + "input": "0x", + "nonce": "0x2e9", + "to": "0xcdd0ac801f865e0a31a19369f74e27b7a1ccf554", + "transactionIndex": "0xff", + "value": "0x1d1a94a2000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xc546ae1c4aed6e39637b4d242794064133d084dfc0dd99925a4dfa888f25ba04", + "s": "0x8795250414245064cf5d12087448c6d94651375db4aa4888ab43489ee637c54" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd9e63a2810da1bfe6c76c9f67f9b4caca325d68c", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0xe84139a44ff9677ef441f2cbd0a6c63efc4ed21adfbb0463fb14fd7a0a48ffd1", + "input": "0x", + "nonce": "0x38", + "to": "0xfa656e9138684e1b0b7de4d4eeede9a7abaa7868", + "transactionIndex": "0x100", + "value": "0x13efa5d0400", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x73e61b10f6c2f0eedb115bc72b0ae2d0e2081585b9b2e63b4c2c3d91eb9d937d", + "s": "0x62846e9113aade1672bc02aabf713a08109ae472ba470cf3ab65e5ae1ad4c100" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x85225acbd920a67e58afffe85551d575392f5ca6", + "gas": "0x6577", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x1e8d4e640a843499bef8888422d16676b81c804d9cdace27359e8700290b9183", + "input": "0x4e71d92d", + "nonce": "0x5", + "to": "0x1eae9a8499bb5d1baaed3946d172761443c86ca2", + "transactionIndex": "0x101", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xb2198fa6f1f1a033918ba6558f793037171dc65aff10995ac5ee86682d8f0330", + "s": "0x45262d8ee323616f86349a961bd05f347c4466d7670077aa35ab16377562425f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc3dd8ef90b652ea021ca20697992beed7eb36e74", + "gas": "0x1bb56", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x4cec0a8a46038f69f464d375b412a72782163b9722ac2195fedff7bb164ddf83", + "input": "0x38ed17390000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000c3dd8ef90b652ea021ca20697992beed7eb36e740000000000000000000000000000000000000000000000000000000068889cbd00000000000000000000000000000000000000000000000000000000000000020000000000000000000000008bebfcbe5468f146533c182df3dfbf5ff9be00e2000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb7", + "nonce": "0x4cf", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x102", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x7646f383efd7e5e187aafa4f5d8834b1b7aeadd2a1d4fad3392a135f99ed7a6d", + "s": "0x61dce74d165751c29924b59548968a88afc39f77a9b1456c687357af5bed0597" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xf89ad188e267c979c467a5deecf840bc533c1d78", + "gas": "0x1bbfc", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x83a292", + "hash": "0x419048efdd399bb13acfd6a2fe8a7318d1518204dd4b380e5720314ea6ce4a4f", + "input": "0x38ed1739000000000000000000000000000000000000000000000000000a55b9f1e222d3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000f89ad188e267c979c467a5deecf840bc533c1d780000000000000000000000000000000000000000000000000000000068889cbd0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b816bb88f836ea75ca4071b46ff285f690c43bb70000000000000000000000008bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "nonce": "0x452", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionIndex": "0x103", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x4daeca1bb358484a85ccb96eb5eae94d3cab022e5099371c8fcf2764ccd84f6b", + "s": "0x5abcd1c8052cf9581fc7ecda25398a9714f7dde42ad74f46730619d8c0691281" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x6f15405d3a413e6e5f13af064a77deffd700095f", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x5515a4", + "hash": "0x9acc81ee1217b81ce9813bcbafa7446a44b9bfe017dfaad9ea51843c5749dd6d", + "input": "0x", + "nonce": "0x1b", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionIndex": "0x104", + "value": "0xf1041edd9000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x72138dea435026ee2273fb713d320b715a8c3d6db7365df100bbc5d06aaea9f0", + "s": "0x6d725efcc2beb20147bffb6ce739707305298ffd6174a0e2ffda9aa582c2e6c2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xbbc8f6b710359dbcdf02f9eb50ade391890a6021", + "gas": "0xfde8", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x7c8d70", + "hash": "0x01d886ec7f5a40ddb2f52f4f4c9651bcb6314176cb07f8a7ad20b8ab2efe1968", + "input": "0xa9059cbb000000000000000000000000b25d4ad82e7d371d33d5ccb25dc9b9875d2299d80000000000000000000000000000000000000000000000000000000002bd3d9d", + "nonce": "0xc5", + "to": "0xd6ad2fa83f2012d5296b58dfad6e8c9567138035", + "transactionIndex": "0x105", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xc5470645bb966adca65ad3964c056a9050f6e11df61382f14b72bb9bb718ca52", + "s": "0xb5c6945c00b176c6d8a54844689846226412dcbd23d8d97d6ce8521cf5d2290" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xe404510edbf95760ad5e482b697cf5d4977b183f", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x922d7e", + "hash": "0x4d60bca82ff38cf79add8e04deaa728b691d0339093bc74bef52f76a3ae55fad", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574148556d6a62754e4373784a3750515334377643574a41474252364474314b6d58675a4864574c5543714177000000000000000000000000", + "nonce": "0x21e", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0x106", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xb53e9a4ad32f390c53281e5fba5393f8dbfa0d4ff599f117dbb0360b47af99d1", + "s": "0x69ab25dfd32d00f2c8855dc56468f4d8e842fdc16b06b0336dfb6591509eb5fc" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xae4ad6c9e0bf72f8a5ba54679e3d50ca6611105e", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x5515a4", + "hash": "0x34e0addbfeda5173e87ab422e3ba4107b9711639132141bd95170d37563cbbcf", + "input": "0x", + "nonce": "0x1d", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionIndex": "0x107", + "value": "0x63228a47d000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x7041775df21e97e3ca7d813bf22124ea5bfdadcd3ea2a046f208d3552cecde41", + "s": "0x66b011b639b560cae497771d02db3e3a5def988a2fe35f1a24c6e6bdc3635199" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa83ac6901c97e1706b1ef1207c22e3a6678b81e6", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x5515a4", + "hash": "0x8747f3da051d40e99b45057b1bc3bca6bf8efa187921c001d298fe4a321e3f16", + "input": "0x", + "nonce": "0x39", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionIndex": "0x108", + "value": "0x1ff22d25d2000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x4e6136f71245593cded56fed272bfd5a2572aefca0649b7079de1ee59e06641c", + "s": "0x7ed19b5e405afeca48d84bb8ae0483a69288f752274d2739491859ae4b7b4d91" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xd3709402eecf8d7aeaafb53075561dcfdde0da1a", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x5515a4", + "hash": "0x382e2bf4f062410cdf28695e100e920307fd7a241c236e7cbb2174052ad68d08", + "input": "0x", + "nonce": "0x1a0", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionIndex": "0x109", + "value": "0xc55c3fea9000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x79a1c48a76a3c539feb863c80a8b9461e4b4d80f3bd7eaf603484040a8e34c4", + "s": "0x44c926164fd59e1ea9c7bd0ce6c62d7224fb080f87fd4b1593928e713e720531" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x4c7222d4dbf6eada9e2caeb1b8922d3d768bdb5b", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x5dcf65", + "hash": "0x699973cf00e3aac134e7fec75c6e53c79e53ec1068df4daafe898b267f5ebe2b", + "input": "0x", + "nonce": "0x1e", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionIndex": "0x10a", + "value": "0xe8d4a51000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x2cc21c936c619770278ce6aae61c8ce92da1247244cf19e47ac4e6652f2d7b27", + "s": "0x227495b5c13f4e2c5054a5b5e25851dbfa9d537b033dc532c46d8373313acab6" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xa235a60e0ced27d2f9eb97afdb872cf052893a13", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x922d7e", + "hash": "0xa15303ac66478b6b3dc64798b8305ed8e15bd24724f4aac452c287e65765e864", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574457797978724d36485557524176795a694b364645396b3542433666373873734a356356396f3966424c756b000000000000000000000000", + "nonce": "0x90", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0x10b", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xd827b9d2aa9cdfa6886d126c3e7dad458140ed1f10caf1dac89985db5d3c8a4a", + "s": "0x25da23ef8930b8f61f9c73bcf5b70b476f9eacd64c3fa4b1691000a64605e152" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc056f3420692dc799787bbcc594bae168b760dcd", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x5dcf65", + "hash": "0x807f0e68efa88fc52160be524890eec80508432b6a0265332aaf809598def9da", + "input": "0x", + "nonce": "0x36", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionIndex": "0x10c", + "value": "0x1a8bbe91c3000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0xfb236aefd87b6db572d8f521bffaf74f973f8bfcaf3c223d5b70442b8ce7db15", + "s": "0x267289246f274ee3d2ab8279344a09fa7f885688d9830f607f279357f3d8bffa" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x4bbc435dcbcb39776850d5cc9b0a15b70c733b44", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x922d7e", + "hash": "0x8427b26983f26d92c0c99e28ae0854d1c389c9818dd1eaf6c090ba7d144cedb4", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f5747774a76363373774d784766736861714c7a59766b6639546d32386f76414a4178794d615278383352683433000000000000000000000000", + "nonce": "0x671", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0x10d", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x256f28daa350cac72250fbc73552147c082da83add5be23ab3ffb68916d1514c", + "s": "0x183c51b10e5efbb534e2f339ce73bca8c59e7980e38877c9380d341755e7d8c2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xc128e8fb95e5856e84c99010ca7568b7cbefaa54", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x922d7e", + "hash": "0xd4b9fe1364bb7bae0fbfe90d6c986f44032a8ac1554eaddd1a110bed40d22d97", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574d744c725a79514858374c564a555259334e6a4d6b5236506a3775397265653868537857777a6d6250784874000000000000000000000000", + "nonce": "0x1fb", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0x10e", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xaf32d345a52d1dc9f9a1c1871b857e9beef882ef67bb2a95b1332c26cbbf96d", + "s": "0x1c2531c29ed30490b949b2c4078ef258e39b676be54054c2566fc58c207088e" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x9a139bdfd41dc9f4aef9fc9f04bee9686b98c044", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x922d7e", + "hash": "0x2621930ce848b2046e63e2b851a835159dbdb27bbfbf74d40c526c6ac1e43c7b", + "input": "0x", + "nonce": "0x20c", + "to": "0xed54c0b040cc1311e8a6fc423d6fe2cb3ef13fde", + "transactionIndex": "0x10f", + "value": "0x14a9e987800", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x5440c8c935669c403494ab5dfae0ab6cfc5857ac888a4b86019158e90eb3a83f", + "s": "0x131f4982e17638953fab7208d9156d825f3ec7555c6e0b937817d7b9dd428799" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x728e4f84c7a299da97370c9889a33eeaa53fa437", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x922d7e", + "hash": "0x6dc4a43ab4ab9e0c3746db838abe94f0b75a785d87e95df6d7828cc5ca64b100", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f5741747334746b4b63777167626f687a59486b6b784c6d486648676d6f324b3578535a3974794c5a4461487572000000000000000000000000", + "nonce": "0x883", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0x110", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x95b7c8cd49c5e2e409752051eba7645bb176c2af680d4e3ec21e0a60fa2669e7", + "s": "0x6395dc7ac77ce8afb96055c63a5c9518e89dfe8309e230ac41a75c70fe1c0a5c" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x6cf617caad5321b4e32f94846aaf635a352c1bb3", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x5dcf65", + "hash": "0x787fc4ad43f965dd99856e4ab1cfa94e252caca99e1a00418318013424370b1d", + "input": "0x", + "nonce": "0x39", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionIndex": "0x111", + "value": "0x250fd9464c000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xb1ee3326f6297f4582d2ec62dc123950418488cfaa3001a0fa014179dcff5234", + "s": "0x3ca646404a9e927f88d4a437d369614ddcd57d5ed3ebf4fdcbee99cd88df81cf" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x242b6a417bd4bc7d59abce147b5335568672ed6d", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x922d7e", + "hash": "0x4f23140869bc38ac1b757300ac947b6aa2946069ca08ea2a283da2e51e5caab7", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f57437477754746464d326a45553537755634346232785931775061524d51507658784a456e6262667a716a7576000000000000000000000000", + "nonce": "0x73", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0x112", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x8e68d87219b1d15d175fcdf848a7b0c24de724187f9e6aaa3937ee20db4e9bf6", + "s": "0x446161e41886a8c9bcfcb175fb6e5b7bf46753c9a3e823a336979315aa6c384f" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x757f9f96838b6e6af0f491dd1a3ad2f79c270a0d", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x922d7e", + "hash": "0x1be1e365929c69e74ff4d6e08062a37b6bcbc430d5317b7aaeefc6c71ca95981", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574a695551384c726a736237417a6b4339555854536d3963623262417a58774441595668386f72655955766a69000000000000000000000000", + "nonce": "0x6a5", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0x113", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x0", + "yParity": "0x0", + "r": "0x884c3335a8236fe10c2d6336fd52819e1356654616ad1975f94e4606ec32761", + "s": "0x71a1601352a15eb4d21e59d6990731a69ee60d1f2aac8f668ba519c077327ee5" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0x42a100c3c081956cb0dae146e5f0717cd07970bd", + "gas": "0x5208", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x5dcf65", + "hash": "0x57b11ae2c3d4726c8c3c48db779a2b608bdb06e63343de6bd1525a2562ad18eb", + "input": "0x", + "nonce": "0x36", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionIndex": "0x114", + "value": "0x312b681bb1000", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0xa2d73582e956000a5d5f34f052fe60a00e4af94f1a41cf4518dd552418485fe7", + "s": "0x3e8a7cfca6fd1710c36af3f5a1c1cb089c863febccb0ff07ab3ff511adcb3532" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "from": "0xe1a1048c6521ebe92677702a27d59611aac386e9", + "gas": "0x8262", + "gasPrice": "0x5466ba", + "maxPriorityFeePerGas": "0xf4240", + "maxFeePerGas": "0x8a350e", + "hash": "0xde22082def7adee57ce11daf4a8644caf2d8415b003e979b3ab8e1caff7ef4fc", + "input": "0x3c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574d484d5970744d6559796877756753484171464b705077397045314e486e544d7944614e335a70597068695a000000000000000000000000", + "nonce": "0x215", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionIndex": "0x115", + "value": "0x0", + "type": "0x2", + "accessList": [], + "chainId": "0xaa36a7", + "v": "0x1", + "yParity": "0x1", + "r": "0x53f58f8367a22cee1f8c21c18d17c50bfd4042882ec2db5f752262b14b658de2", + "s": "0x5a22b1d24ecb2d13cda4eb0fedd9bc62d6b9ca94be89a057a43d52152e311c16" + } + ], + "transactionsRoot": "0xe9ebeb8ff4251c4bdf62b78e6fd55e31f0bc50241c3f839ab079fe9e8b1d9a08", + "uncles": [], + "withdrawals": [ + { + "index": "0x59a5f0c", + "validatorIndex": "0x1f2", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "0x37bb3" + }, + { + "index": "0x59a5f0d", + "validatorIndex": "0x1f3", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "0x37bb3" + }, + { + "index": "0x59a5f0e", + "validatorIndex": "0x384", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x37bb3" + }, + { + "index": "0x59a5f0f", + "validatorIndex": "0x385", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x37bb3" + }, + { + "index": "0x59a5f10", + "validatorIndex": "0x386", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x37bb3" + }, + { + "index": "0x59a5f11", + "validatorIndex": "0x387", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x39c26" + }, + { + "index": "0x59a5f12", + "validatorIndex": "0x388", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x37bb3" + }, + { + "index": "0x59a5f13", + "validatorIndex": "0x389", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x3bc99" + }, + { + "index": "0x59a5f14", + "validatorIndex": "0x38a", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x37bb3" + }, + { + "index": "0x59a5f15", + "validatorIndex": "0x38b", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x37bb3" + }, + { + "index": "0x59a5f16", + "validatorIndex": "0x38c", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x39c26" + }, + { + "index": "0x59a5f17", + "validatorIndex": "0x38d", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x37bb3" + }, + { + "index": "0x59a5f18", + "validatorIndex": "0x38e", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x37bb3" + }, + { + "index": "0x59a5f19", + "validatorIndex": "0x38f", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x37bb3" + }, + { + "index": "0x59a5f1a", + "validatorIndex": "0x390", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x39c26" + }, + { + "index": "0x59a5f1b", + "validatorIndex": "0x391", + "address": "0xe276bc378a527a8792b353cdca5b5e53263dfb9e", + "amount": "0x37bb3" + } + ], + "withdrawalsRoot": "0x322946c76223c8947c4b7675243c51106c81a7ca345fde3dbf0c49bf2546e5e4" +} diff --git a/substrate/frame/revive/test-assets/get_test_data.sh b/substrate/frame/revive/test-assets/get_test_data.sh new file mode 100755 index 0000000000000..4e17ededcbda2 --- /dev/null +++ b/substrate/frame/revive/test-assets/get_test_data.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# Script to collect Ethereum block and receipt test data +# Usage: ./get_test_data.sh + +# ============================================================================ +# CONFIGURATION: Add your blocks to fetch here +# ============================================================================ +# Format: "network_identifier|rpc_url|block_number" +# The network_identifier will be used in the filename: block_{block_number}_{network_identifier}.json + +# Below blocks were picked because they include all supported transaction types. +BLOCKS_TO_FETCH=( + # Ethereum mainnet blocks + "ethereum-mainnet|https://ethereum-rpc.publicnode.com|0x161bd0f" + "ethereum-mainnet|https://ethereum-rpc.publicnode.com|0x151241d" + + # Sepolia testnet blocks + "ethereum-sepolia|https://ethereum-sepolia.gateway.tatum.io|0x874db3" +) + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +# Function to fetch block data +fetch_block() { + local network_id="$1" + local rpc_url="$2" + local block_number="$3" + + local block_file="${SCRIPT_DIR}/block_${block_number}_${network_id}.json" + local receipts_file="${SCRIPT_DIR}/receipts_${block_number}_${network_id}.json" + + # Fetch block + curl -s -X POST -H "Content-Type: application/json" \ + --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"${block_number}\", true],\"id\":1}" \ + "${rpc_url}" | jq '.result' > "$block_file" + + # Fetch receipts + curl -s -X POST -H "Content-Type: application/json" \ + --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockReceipts\",\"params\":[\"${block_number}\"],\"id\":1}" \ + "${rpc_url}" | jq '.result' > "$receipts_file" +} + +# ============================================================================ +# Main execution +# ============================================================================ + +for entry in "${BLOCKS_TO_FETCH[@]}"; do + IFS='|' read -r network_id rpc_url block_number <<< "$entry" + fetch_block "$network_id" "$rpc_url" "$block_number" +done diff --git a/substrate/frame/revive/test-assets/receipts_0x151241d_ethereum-mainnet.json b/substrate/frame/revive/test-assets/receipts_0x151241d_ethereum-mainnet.json new file mode 100644 index 0000000000000..d38e1c26a7e64 --- /dev/null +++ b/substrate/frame/revive/test-assets/receipts_0x151241d_ethereum-mainnet.json @@ -0,0 +1,12744 @@ +[ + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x34853", + "effectiveGasPrice": "0x3c34bfa29", + "from": "0x277a3f2acad0b84626a63caa767d398aa96a2907", + "gasUsed": "0x34853", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a3f558aebaecaf0e11ca4b2199cc5ed341edfd74", + "0x0000000000000000000000005dc62cea20b0e7c3607adcc61a885ff9369dbc60" + ], + "data": "0x00000000000000000000000000000000000000000000000085d7a0266a9b01ef", + "blockNumber": "0x151241d", + "transactionHash": "0x4702233113c3110a4279cee5a5674158f671e2638bf3a31c70167b38ab6a7af0", + "transactionIndex": "0x0", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x5a98fcbea516cf06857215779fd812ca3bef1b32", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005dc62cea20b0e7c3607adcc61a885ff9369dbc60", + "0x000000000000000000000000a3f558aebaecaf0e11ca4b2199cc5ed341edfd74" + ], + "data": "0x0000000000000000000000000000000000000000000004122d22462f9f86d720", + "blockNumber": "0x151241d", + "transactionHash": "0x4702233113c3110a4279cee5a5674158f671e2638bf3a31c70167b38ab6a7af0", + "transactionIndex": "0x0", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3f558aebaecaf0e11ca4b2199cc5ed341edfd74", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x0000000000000000000000005dc62cea20b0e7c3607adcc61a885ff9369dbc60", + "0x0000000000000000000000005dc62cea20b0e7c3607adcc61a885ff9369dbc60" + ], + "data": "0x0000000000000000000000000000000000000000000004122d22462f9f86d720ffffffffffffffffffffffffffffffffffffffffffffffff7a285fd99564fe11000000000000000000000000000000000000000005bd8f019572378000000000000000000000000000000000000000000000000000008277b11ec82cd4e353c9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed74b", + "blockNumber": "0x151241d", + "transactionHash": "0x4702233113c3110a4279cee5a5674158f671e2638bf3a31c70167b38ab6a7af0", + "transactionIndex": "0x0", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000880020000000001000000000000000000000000810000008000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000010000800000000000000000000000000000000020000000000000000000000002000000000000000000000000000000000000000000000004000000000000000000000000000000002010000000000000000000000000000000000000000000000000000000000200000010000000000000000001000000000000000000200000000000000", + "status": "0x1", + "to": "0x5dc62cea20b0e7c3607adcc61a885ff9369dbc60", + "transactionHash": "0x4702233113c3110a4279cee5a5674158f671e2638bf3a31c70167b38ab6a7af0", + "transactionIndex": "0x0", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x4774b", + "effectiveGasPrice": "0x26dc41970", + "from": "0xe62dc92012e3996374a7b8f5fa06b38434281afd", + "gasUsed": "0x12ef8", + "logs": [ + { + "address": "0xf411903cbc70a74d22900a5de66a2dda66507255", + "topics": [ + "0x06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987", + "0x000000000000000000000000e62dc92012e3996374a7b8f5fa06b38434281afd", + "0x000000000000000000000000e62dc92012e3996374a7b8f5fa06b38434281afd", + "0x000000000000000000000000c888b992da8556de2800cbdc5e309ac11b077c38" + ], + "data": "0x0000000000000000000000000000000000000000003a795a1a8515daee780000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020687673647a627a656f7170616577626575776664797a6e676a6c76646e6b6b700000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xe3de193be02d72e62d7f9b50f3803058d7a4237a4c3929c942693ebd84a9c004", + "transactionIndex": "0x1", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xf411903cbc70a74d22900a5de66a2dda66507255", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e62dc92012e3996374a7b8f5fa06b38434281afd", + "0x000000000000000000000000c888b992da8556de2800cbdc5e309ac11b077c38" + ], + "data": "0x0000000000000000000000000000000000000000003a795a1a8515daee780000", + "blockNumber": "0x151241d", + "transactionHash": "0xe3de193be02d72e62d7f9b50f3803058d7a4237a4c3929c942693ebd84a9c004", + "transactionIndex": "0x1", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x01000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000010008000000000000000000000000000000000000000000000000000008000000000000000000000000400000000000000010000000000000000000000000000000000000000000000000000000000000200000000000000000000100000000000000000000000000000000000000000000400000000000000022000000000000000000000000000000000000000000002000000000000000000000800000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xf411903cbc70a74d22900a5de66a2dda66507255", + "transactionHash": "0xe3de193be02d72e62d7f9b50f3803058d7a4237a4c3929c942693ebd84a9c004", + "transactionIndex": "0x1", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x540db", + "effectiveGasPrice": "0x90edc970", + "from": "0xf89d7b9c864f589bbf53a82105107622b35eaa40", + "gasUsed": "0xc990", + "logs": [ + { + "address": "0xe9689028ede16c2fdfe3d11855d28f8e3fc452a3", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f89d7b9c864f589bbf53a82105107622b35eaa40", + "0x000000000000000000000000010c993c3aa7d7e88c765dbca96a622a4653862e" + ], + "data": "0x000000000000000000000000000000000000000000000094b355eea34f42c000", + "blockNumber": "0x151241d", + "transactionHash": "0xb1d5c9f54f923c803527b404d31272af95dc5b30317443ba99557c48efba3bcc", + "transactionIndex": "0x2", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000000400000002000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000200000000000000000000000000000000000080000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000002000000000000000200000000008000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xe9689028ede16c2fdfe3d11855d28f8e3fc452a3", + "transactionHash": "0xb1d5c9f54f923c803527b404d31272af95dc5b30317443ba99557c48efba3bcc", + "transactionIndex": "0x2", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x609eb", + "effectiveGasPrice": "0x90edc970", + "from": "0xf89d7b9c864f589bbf53a82105107622b35eaa40", + "gasUsed": "0xc910", + "logs": [ + { + "address": "0x168e209d7b2f58f1f24b8ae7b7d35e662bbf11cc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f89d7b9c864f589bbf53a82105107622b35eaa40", + "0x000000000000000000000000cd330bffb76e3d551052e1bb1833f830365a37b4" + ], + "data": "0x0000000000000000000000000000000000000000000001ad3b132a1d692f0000", + "blockNumber": "0x151241d", + "transactionHash": "0xd135fb7ebfc51f00597bda67d2ad9a1f692eaf624fd658ed1ea3316a88f4557f", + "transactionIndex": "0x3", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000008000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000008000000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000010000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000200000000008000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x168e209d7b2f58f1f24b8ae7b7d35e662bbf11cc", + "transactionHash": "0xd135fb7ebfc51f00597bda67d2ad9a1f692eaf624fd658ed1ea3316a88f4557f", + "transactionIndex": "0x3", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x700d4", + "effectiveGasPrice": "0x90edc970", + "from": "0xf89d7b9c864f589bbf53a82105107622b35eaa40", + "gasUsed": "0xf6e9", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f89d7b9c864f589bbf53a82105107622b35eaa40", + "0x000000000000000000000000cf72351a45d4a560f5e78ba3e1d00dd24602edae" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000ba3c16200", + "blockNumber": "0x151241d", + "transactionHash": "0x0a08035aa1d86874ca8165eeffc75ec53d601acb5d3c892f59ea63958777b514", + "transactionIndex": "0x4", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000000000000000800000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000010000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000200000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0x0a08035aa1d86874ca8165eeffc75ec53d601acb5d3c892f59ea63958777b514", + "transactionIndex": "0x4", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x8aeea", + "effectiveGasPrice": "0xaebb2e70", + "from": "0x05ecb20187fc631bc9f9071254eca72d4d99ee3e", + "gasUsed": "0x1ae16", + "logs": [ + { + "address": "0x23445c63feef8d85956dc0f19ade87606d0e19a9", + "topics": [ + "0x926f6d060d7b34315435a6af02d8d2f0382328cd5821183eadda8a4742258d46", + "0x00000000000000000000000005ecb20187fc631bc9f9071254eca72d4d99ee3e", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0x4385af685a9c33304f5af0145da0964e287dd5efd3beef75db5b402eb796dfc5", + "transactionIndex": "0x5", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa2cd3d43c775978a96bdbf12d733d5a1ed94fb18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000028ca9caae31602d0312ebf6466c9dd57fca5da93", + "0x00000000000000000000000005ecb20187fc631bc9f9071254eca72d4d99ee3e" + ], + "data": "0x000000000000000000000000000000000000000000000633ab70f56737a2a4f4", + "blockNumber": "0x151241d", + "transactionHash": "0x4385af685a9c33304f5af0145da0964e287dd5efd3beef75db5b402eb796dfc5", + "transactionIndex": "0x5", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x28ca9caae31602d0312ebf6466c9dd57fca5da93", + "topics": [ + "0x34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf7", + "0x00000000000000000000000005ecb20187fc631bc9f9071254eca72d4d99ee3e", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000000000000000000000000000000000000000000000633ab70f56737a2a4f4", + "blockNumber": "0x151241d", + "transactionHash": "0x4385af685a9c33304f5af0145da0964e287dd5efd3beef75db5b402eb796dfc5", + "transactionIndex": "0x5", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xa", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000001000000000800000000000000004000000000000100000000000000000000000000000000008000000000000000000000000000000000000000000000010000000000008020000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000004000000000000080000000000000000000000000000000000000000000000000000000000000000000000000002000000000004000000000000000002000000000010080002000800000000000000000000000000000000000004000000000020000000000000000000000000000000000000004080000000408000000000000040", + "status": "0x1", + "to": "0x28ca9caae31602d0312ebf6466c9dd57fca5da93", + "transactionHash": "0x4385af685a9c33304f5af0145da0964e287dd5efd3beef75db5b402eb796dfc5", + "transactionIndex": "0x5", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x900f2", + "effectiveGasPrice": "0x2540be400", + "from": "0x264bd8291fae1d75db2c5f573b07faa6715997b5", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xf086be6ca53d67aa6774b32a3dec7568d38094cc", + "transactionHash": "0xaa98990ce8fed5784c06dd5087c3fa33895b3de9876ce8d68ef572620aaf6eca", + "transactionIndex": "0x6", + "type": "0x1" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x9744b", + "effectiveGasPrice": "0x1842dbdcb", + "from": "0xc52f71ffb01cd380c3c8734d6e8843b7e6cb8e32", + "gasUsed": "0x7359", + "logs": [ + { + "address": "0x57e114b691db790c35207b2e685d4a43181e6061", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c52f71ffb01cd380c3c8734d6e8843b7e6cb8e32", + "0x0000000000000000000000003cc936b795a188f0e246cbb2d74c5bd190aecf18" + ], + "data": "0x000000000000000000000000000000000000000000000f2e599f87ac47ddc000", + "blockNumber": "0x151241d", + "transactionHash": "0xc87c09a1813ece9def305e668602d0d306366601d1358cad7a9351f7c41d3312", + "transactionIndex": "0x7", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xb", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000001000000000000000000000000000000000000000000008000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000000000000000000040000000000000400000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000", + "status": "0x1", + "to": "0x57e114b691db790c35207b2e685d4a43181e6061", + "transactionHash": "0xc87c09a1813ece9def305e668602d0d306366601d1358cad7a9351f7c41d3312", + "transactionIndex": "0x7", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xa6b34", + "effectiveGasPrice": "0x90edc970", + "from": "0x2da4cdc8ac4abf00a30f98d59b435d4153b7668a", + "gasUsed": "0xf6e9", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002da4cdc8ac4abf00a30f98d59b435d4153b7668a", + "0x00000000000000000000000064e623b9950729fb337253139332176263ac6b96" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000001315187", + "blockNumber": "0x151241d", + "transactionHash": "0xffa1c84033feb49755457a0d25ad52303cccca3a73ed852b60d5eee4c39f4866", + "transactionIndex": "0x8", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xc", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000100000000000000000000000000000000000000002008000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000080000000002000000000000000000000000000000000", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0xffa1c84033feb49755457a0d25ad52303cccca3a73ed852b60d5eee4c39f4866", + "transactionIndex": "0x8", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xb621d", + "effectiveGasPrice": "0x90edc970", + "from": "0xd2d84dbee97e366259bdb33455e3bf537198e379", + "gasUsed": "0xf6e9", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d2d84dbee97e366259bdb33455e3bf537198e379", + "0x000000000000000000000000b8f3b369644695ce68a4409a2341fbc19ad3dda1" + ], + "data": "0x000000000000000000000000000000000000000000000000000000005f678d62", + "blockNumber": "0x151241d", + "transactionHash": "0xea9c7062923fb6fb8d9c8f09a319c5a58b2d5c7a193e77bc01d90b2cc0c3af90", + "transactionIndex": "0x9", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xd", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000200000000000000000000000000000000000000000000000000080000080000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000008000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000200000000000000000000000000002000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0xea9c7062923fb6fb8d9c8f09a319c5a58b2d5c7a193e77bc01d90b2cc0c3af90", + "transactionIndex": "0x9", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc5539", + "effectiveGasPrice": "0x90edc970", + "from": "0x88f5d7adb60f85249027a843ac63713529b5215f", + "gasUsed": "0xf31c", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000088f5d7adb60f85249027a843ac63713529b5215f", + "0x0000000000000000000000002f2bbb5a1f26ab6fe800235dea4450c57264d3eb" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000a5772f", + "blockNumber": "0x151241d", + "transactionHash": "0xdc544068d2004e94b3f211fdcc81a769a2012905fdfa1d27e7880f6601ce1a2d", + "transactionIndex": "0xa", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xe", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000008000008000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000010000000000000000800000000000000000000000000000000010000000000400000000000000000000000200000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0xdc544068d2004e94b3f211fdcc81a769a2012905fdfa1d27e7880f6601ce1a2d", + "transactionIndex": "0xa", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xd0956", + "effectiveGasPrice": "0x90edc970", + "from": "0x471441cd64046a2099e30d3356726d940fdb3763", + "gasUsed": "0xb41d", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000471441cd64046a2099e30d3356726d940fdb3763", + "0x0000000000000000000000004400315f625544497a08c1903d2d2ab468bff435" + ], + "data": "0x00000000000000000000000000000000000000000000000000000034624b9190", + "blockNumber": "0x151241d", + "transactionHash": "0xe56735237f4bb6bcf0a584b99d70dd67c6a601a573bd99fb81b106888f3c552e", + "transactionIndex": "0xb", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xf", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000400008000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000010002000000000000000000000000000000000000000000000000000000000000000100000000000000000010000000080000000000000800000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0xe56735237f4bb6bcf0a584b99d70dd67c6a601a573bd99fb81b106888f3c552e", + "transactionIndex": "0xb", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xe9b15", + "effectiveGasPrice": "0x40766bf0", + "from": "0x41ee28ee05341e7fdddc8d433ba66054cd302ca1", + "gasUsed": "0x191bf", + "logs": [ + { + "address": "0x5c7bcd6e7de5423a257d81b442095a1a6ced35c5", + "topics": [ + "0x44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208", + "0x0000000000000000000000000000000000000000000000000000000000000082", + "0x000000000000000000000000000000000000000000000000000000000000fce0", + "0x00000000000000000000000041ee28ee05341e7fdddc8d433ba66054cd302ca1" + ], + "data": "0x0000000000000000000000004200000000000000000000000000000000000006000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000083b2955f520cc600000000000000000000000000000000000000000000000000832bebc1fe81c300000000000000000000000000000000000000000000000000000000000000820000000000000000000000000000000000000000000000000000000067dd779f0000000000000000000000000000000000000000000000000000000067dd4a1700000000000000000000000041ee28ee05341e7fdddc8d433ba66054cd302ca1000000000000000000000000acfddb4696788af33c5b64157976aa8a27516716000000000000000000000000acfddb4696788af33c5b64157976aa8a275167160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000acfddb4696788af33c5b64157976aa8a27516716000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000832bebc1fe81c30000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xcea925e68473a5117d6292f7f9dfe5bd0b93a4f1fbc1bcc1f25afddde9486f61", + "transactionIndex": "0xc", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x10", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000041ee28ee05341e7fdddc8d433ba66054cd302ca1", + "0x0000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c5" + ], + "data": "0x00000000000000000000000000000000000000000000000000832bebc1fe81c3", + "blockNumber": "0x151241d", + "transactionHash": "0xcea925e68473a5117d6292f7f9dfe5bd0b93a4f1fbc1bcc1f25afddde9486f61", + "transactionIndex": "0xc", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x11", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c5" + ], + "data": "0x00000000000000000000000000000000000000000000000000832bebc1fe81c3", + "blockNumber": "0x151241d", + "transactionHash": "0xcea925e68473a5117d6292f7f9dfe5bd0b93a4f1fbc1bcc1f25afddde9486f61", + "transactionIndex": "0xc", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x12", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000100000000000000000000000000000000000000000000000000000000080000000000000000000000002000010080000000000000000000000000000000000000000000108000000000000000000400000000000000000000040000000000004000020000000000000000100000000040000000010000000000000000800000108000000000000000080000000000000000000000000000000000000000000004000100000000000000000000000000008000000100000000000000002000000000000000000000000000000000000000000010002000000000000200000000000000000000000000000000000001000000000000000000000", + "status": "0x1", + "to": "0x5c7bcd6e7de5423a257d81b442095a1a6ced35c5", + "transactionHash": "0xcea925e68473a5117d6292f7f9dfe5bd0b93a4f1fbc1bcc1f25afddde9486f61", + "transactionIndex": "0xc", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x18a0bf", + "effectiveGasPrice": "0x1f8f91f0", + "from": "0xd143f4289efaf0919d2616eab55dfaf0a0630aa0", + "gasUsed": "0xa05aa", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa0", + "0x000000000000000000000000b300000b72deaeb607a12d5f54773d1c19c7028d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000430bf48", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x13", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000b300000b72deaeb607a12d5f54773d1c19c7028d", + "0x0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000430bf48", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x14", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b300000b72deaeb607a12d5f54773d1c19c7028d", + "0x0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000430bf48", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x15", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "0x000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7f" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000430bf48", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x16", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7f", + "0x00000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000430bf48", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x17", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121", + "0x0000000000000000000000006146be494fee4c73540cb1c5f87536abf1452500" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000430bf48", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x18", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x6146be494fee4c73540cb1c5f87536abf1452500", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x00000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121", + "0x00000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffbcfc309000000000000000000000000000000000000000000000000000000000430bf480000000000000000000000000000000000000001000def9df531dea8394038b100000000000000000000000000000000000000000000000000006585cd69a1b80000000000000000000000000000000000000000000000000000000000000004", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x19", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121", + "0x0000000000000000000000006146be494fee4c73540cb1c5f87536abf1452500" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000430bf48", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006146be494fee4c73540cb1c5f87536abf1452500", + "0x00000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000004303cf7", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121", + "0x000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000004303cf7", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x6352a56caadc4f1e25cd6c75970fa768a3304e64", + "topics": [ + "0x76af224a143865a50b41496e1a73622698692c565c1214bc862f18e22d829c5e", + "0x000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7f", + "0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7", + "0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" + ], + "data": "0x000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7f000000000000000000000000000000000000000000000000000000000430bf48000000000000000000000000000000000000000000000000000000000430bf480000000000000000000000000000000000000000000000000000000004303cf700000000000000000000000000000000000000000000000000000000042cb3230000000000000000000000000000000000000000000000000000000004303cf70000000000000000000000003254ae00947e44b7fd03f50b93b9acfed59f9620", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7f", + "0x000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000004303cf7", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x5523985926aa12ba58dc5ad00ddca99678d7227e", + "topics": [ + "0x532dbb6d061eee97ab4370060f60ede10b3dc361cc1214c07ae5e34dd86e6aaf" + ], + "data": "0x0000000000000000000000005523985926aa12ba58dc5ad00ddca99678d7227e00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a80000000000000000000000005523985926aa12ba58dc5ad00ddca99678d7227e000000000000000000000000000000000000000000000000000000000000dbe000000000000000000000000000000000000000000000000000000000000012a4c29a91bc000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000249f00000000000000000000000000000000000000000000000000000000004303cf71cd1b604e98e808214926ae8d0f7b13b75edcdd101289d267653093e2183f348bd068a91b9c96d01c6f67e98bd1933946445826bd545dffeba5d1f6deaa60e8f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000cb28fbe3e9c0fea62e0e63ff3f232cecfe555ad40000000000000000000000000000000000000000000000000000000000000200000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a80000000000000000000000000000000000000000000000000000000000000620000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000020000000000000000000000007d6ec42b5d9566931560411a8652cea00b90d9820000000000000000000000005e19efc6ac9c80bfaa755259c9fab2398a8e87eb00000000000000000000000000000000000000000000000000000000000003e41e859a050000000000000000000000000000000000000000000000000000000004303cf700000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003800000000000000000000000002cbabd7329b84e2c0a317702410e7c73d0e0246d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000c48f6bdeaa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000042df307000000000000000000000000000000000000000000000003c6ec0c8c4c57e990000000000000000000000000cb28fbe3e9c0fea62e0e63ff3f232cecfe555ad40000000000000000000000000000000000000000000000000000000067e684830000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000447ff7b0d2000000000000000000000000000000000000000000000003cd55e26590e975f50000000000000000000000005e19efc6ac9c80bfaa755259c9fab2398a8e87eb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006148fd6c649866596c3d8a971fc313e5ece848820000000000000000000000000f68ee6bd92de3ed499142812c89f825e65d724100000000000000000000000000000000000000000000000000000000000000030000000000000000000000007d6ec42b5d9566931560411a8652cea00b90d9820000000000000000000000005e19efc6ac9c80bfaa755259c9fab2398a8e87eb0000000000000000000000005e19efc6ac9c80bfaa755259c9fab2398a8e87eb000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c24e66bb5500000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000063eb89da4ed0000000000000000000000000000000000000000000000000003cd55e26590e975f500000000000000000000000000000000000000000000000000000000000000000000000000000000000000002cbabd7329b84e2c0a317702410e7c73d0e0246d0000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e640000000000000000000000005e19efc6ac9c80bfaa755259c9fab2398a8e87eb00000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000104000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa00000000000000000000000005aa5f7f84ed0e5db0a4a85c3947ea16b53352fd4000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a8000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa000000000000000000000000000000000000000000000000000000000000000386c696669000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0490411a3200000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d0000000000000000000000008615444828a9c9d5610342814bfb5a37534e726b00000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa0000000000000000000000000000000000000000000000003c69a9386143bd5010000000000000000000000000000000000000000000000c04da2cf4624b5d27b0000000000000000000000000000000000000000000000c3f8dfb01cba4f26d400000000000000000000000000000000000000000000000000000000000000020000000000000000000000003254ae00947e44b7fd03f50b93b9acfed59f96200000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002449f8654220000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d00000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e5b07cdb00000000000000000000000092b7807bf19b7dddf89b706143896d05228f3121000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000007d5300f436fe13d0643e1d366e26570616314b2600000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002e8ac76a51cc950d9822d68b83fe1ad97b32cd580d00006455d398326f99059ff775485246999027b3197955000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064cac460ee00000000000000003b74a4607d5300f436fe13d0643e1d366e26570616314b2600000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef12100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000648a6a1e850000000000000000000000008615444828a9c9d5610342814bfb5a37534e726b000000000000000000000000922164bbbd36acf9e854acbbf32facc949fcaeef0000000000000000000000000000000000000000000000c3f8dfb01cba4f26d400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f8654220000000000000000000000008615444828a9c9d5610342814bfb5a37534e726b00000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f990000000000000000000000008615444828a9c9d5610342814bfb5a37534e726b000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xb8f275fbf7a959f4bce59999a2ef122a099e81a8", + "topics": [ + "0x31325fe0a1a2e6a5b1e41572156ba5b4e94f0fae7e7f63ec21e9b5ce1e4b3eab", + "0x000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa0", + "0x000000000000000000000000000000000000000000000000000000000000dbe0", + "0x000000000000000000000000d99ac0681b904991169a4f398b9043781adbe0c3" + ], + "data": "0x1cd1b604e98e808214926ae8d0f7b13b75edcdd101289d267653093e2183f348000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa00000000000000000000000000000000000000000000000000000000004303cf7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x20", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xb8f275fbf7a959f4bce59999a2ef122a099e81a8", + "topics": [ + "0x5a297b2c9a9f94a0f4e5a796c74ad38e219d1185fccf5f79c18726a830c2b6f5", + "0x6c69666900000000000000000000000000000000000000000000000000000000" + ], + "data": "0x1cd1b604e98e808214926ae8d0f7b13b75edcdd101289d267653093e2183f348", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x21", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "topics": [ + "0xcba69f43792f9f399347222505213b55af8e0b0b54b893085c2e27ecbe1644f1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000206dc706f0005e68995a4461c3289d26bae37329c9117edbeaca869820a6d0e9a0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000d143f4289efaf0919d2616eab55dfaf0a0630aa0000000000000000000000000000000000000000000000000000000000430bf48000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000973796d62696f7369730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d62696e616e636557616c6c657400000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x22", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000b300000b72deaeb607a12d5f54773d1c19c7028d", + "0x0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x23", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x0004000000001000000000000000201000008008000080000004000000000008000000009000000000000200000001020840800000002000000000000020000000010000000000280c004008000000000004000000000000000000000000000004200000000000000002020000000000000000220000000000000010000800000000000000000000000000000000080220000000010000000000000050100008020000020000200000000180081000020000000000000000800080803000004000001002000400000080000000000000040000020000002000004004000008000090000000000080000000800480084004000000000000000000000220000000", + "status": "0x1", + "to": "0xb300000b72deaeb607a12d5f54773d1c19c7028d", + "transactionHash": "0x0112637b6c619a20dd28a216980495bd0bea1e196978ffb546de3945e3ac791c", + "transactionIndex": "0xd", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x18f2c7", + "effectiveGasPrice": "0xb2d05e00", + "from": "0x76268cddaba96726e47642b58db2f4ef37ca81b6", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x458c2a06ba8dc3def078513ad98e9da8ced39e02", + "transactionHash": "0xa9edb25863c5efb37e37f1f7b52d8f8c6caa7561526cfeb6a45d374da1174097", + "transactionIndex": "0xe", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1a83dc", + "effectiveGasPrice": "0x37859a70", + "from": "0x07ae8551be970cb1cca11dd7a11f47ae82e70e67", + "gasUsed": "0x19115", + "logs": [ + { + "address": "0x5c7bcd6e7de5423a257d81b442095a1a6ced35c5", + "topics": [ + "0x44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208", + "0x000000000000000000000000000000000000000000000000000000000000a4b1", + "0x00000000000000000000000000000000000000000000000000000000003124cb", + "0x00000000000000000000000007ae8551be970cb1cca11dd7a11f47ae82e70e67" + ], + "data": "0x00000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000001f0fd941264b70000000000000000000000000000000000000000000000000001756a8698e58800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000067dd6d13000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008dfe156f5ad2dc9a57dc20e870e90a63617bbb820000000000000000000000008dfe156f5ad2dc9a57dc20e870e90a63617bbb8200000000000000000000000000000000000000000000000000000000000000000000000000000000000000008dfe156f5ad2dc9a57dc20e870e90a63617bbb8200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001756a8698e5880000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x9462fc7d2f0d4be7e2ed880c50b60521f4776c4611d9e5a9db1211c49031ca4a", + "transactionIndex": "0xf", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x24", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000007ae8551be970cb1cca11dd7a11f47ae82e70e67", + "0x0000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c5" + ], + "data": "0x0000000000000000000000000000000000000000000000000001756a8698e588", + "blockNumber": "0x151241d", + "transactionHash": "0x9462fc7d2f0d4be7e2ed880c50b60521f4776c4611d9e5a9db1211c49031ca4a", + "transactionIndex": "0xf", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x25", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c5" + ], + "data": "0x0000000000000000000000000000000000000000000000000001756a8698e588", + "blockNumber": "0x151241d", + "transactionHash": "0x9462fc7d2f0d4be7e2ed880c50b60521f4776c4611d9e5a9db1211c49031ca4a", + "transactionIndex": "0xf", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x26", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000100000000000000000000000000000000000000000000000000000000080000000000000000000000012000000080000000000000000000000000000000000000000000108000000000000000000400000000000000000000000000000000000000000000000000000000100000000040000080010000000000000000800000008000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000400000000002000000010000000000000000010000000000004000010002000000000000220000020000000000000000100000000000001000000000000000000000", + "status": "0x1", + "to": "0x5c7bcd6e7de5423a257d81b442095a1a6ced35c5", + "transactionHash": "0x9462fc7d2f0d4be7e2ed880c50b60521f4776c4611d9e5a9db1211c49031ca4a", + "transactionIndex": "0xf", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1b93e4", + "effectiveGasPrice": "0x2ebcf502", + "from": "0xb8ff877ed78ba520ece21b1de7843a8a57ca47cb", + "gasUsed": "0x11008", + "logs": [ + { + "address": "0xc02ab410f0734efa3f14628780e6e695156024c2", + "topics": [ + "0x2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab56" + ], + "data": "0x0000000000000000000000008fafae7dd957044088b3d0f67359c327c6200d1800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000014479cfd1338952ec42805545fb3653af5c2fde5a0ec27215a28c7098ba1ef005600000000000000000000000000000000000000000000000000000000000000510100000000000001a70000767c0000000000000000000000002086f755a6d9254045c257ea3d382ef854849b0f000075950000000000000000000000006d6620efa72948c5f68a3c8646d58c00d3f4a980000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x9bab289b8141641809c6718305b871a0d076455a10897bf75625e84f31a3adae", + "transactionIndex": "0x10", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x27", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000400000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x8fafae7dd957044088b3d0f67359c327c6200d18", + "transactionHash": "0x9bab289b8141641809c6718305b871a0d076455a10897bf75625e84f31a3adae", + "transactionIndex": "0x10", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1ca3d4", + "effectiveGasPrice": "0x2ebcf502", + "from": "0xb8ff877ed78ba520ece21b1de7843a8a57ca47cb", + "gasUsed": "0x10ff0", + "logs": [ + { + "address": "0xc02ab410f0734efa3f14628780e6e695156024c2", + "topics": [ + "0x2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab56" + ], + "data": "0x000000000000000000000000a59ba433ac34d2927232918ef5b2eaafcf130ba500000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000014479cfd1338952ec42805545fb3653af5c2fde5a0ec27215a28c7098ba1ef005600000000000000000000000000000000000000000000000000000000000000510100000000000001a70000767c0000000000000000000000002086f755a6d9254045c257ea3d382ef854849b0f000075950000000000000000000000006d6620efa72948c5f68a3c8646d58c00d3f4a980000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xcb0830c6446837793e3d9f7234931d301f3ac1acb2911f0386a5ff7b5cb557fe", + "transactionIndex": "0x11", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x28", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000400000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa59ba433ac34d2927232918ef5b2eaafcf130ba5", + "transactionHash": "0xcb0830c6446837793e3d9f7234931d301f3ac1acb2911f0386a5ff7b5cb557fe", + "transactionIndex": "0x11", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1cf5dc", + "effectiveGasPrice": "0x90edc970", + "from": "0x5f35ba236588b1188b77a99376f30444166a088a", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x7bdb61d76ab2237102a7203da24816ef0a6408f6", + "transactionHash": "0x7a3311486021876556f5cc3f8f271c29e9caac758f0ea7417033dce7b31118a5", + "transactionIndex": "0x12", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1d47e4", + "effectiveGasPrice": "0x90edc970", + "from": "0x89e51fa8ca5d66cd220baed62ed01e8951aa7c40", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x645bb8f9712acc0be4a8d910168abe03f445fe82", + "transactionHash": "0xb4096b94750fac4213c174a871378ac4196cb46a800c04ba54a87c60ac87d696", + "transactionIndex": "0x13", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1d99ec", + "effectiveGasPrice": "0x83215600", + "from": "0x91604f590d66ace8975eed6bd16cf55647d1c499", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x9d20dc93830bc97000f0b2399fc5cbb3ab6e4f2a", + "transactionHash": "0x45abbc353a1ff29141658935a9fef214c349459cbce842497b7945779f42346f", + "transactionIndex": "0x14", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1e29e2", + "effectiveGasPrice": "0x5552ff70", + "from": "0x74dec05e5b894b0efec69cdf6316971802a2f9a1", + "gasUsed": "0x8ff6", + "logs": [ + { + "address": "0xaea46a60368a7bd060eec7df8cba43b7ef41ad85", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000074dec05e5b894b0efec69cdf6316971802a2f9a1", + "0x000000000000000000000000c80e700477e293216158b445ed6b499973ba9a4d" + ], + "data": "0x00000000000000000000000000000000000000000000000aa6ca7ae11f644000", + "blockNumber": "0x151241d", + "transactionHash": "0x6aaa1213d713391f61a17839abc93eb81b63e0308d6dd3a78dc2f2d648dbb232", + "transactionIndex": "0x15", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x29", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000080000000000000000008000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000410000000000000000000000000000000000000000000000000000000000000000000002000000000000000000200000000000000000000000000000000000000000000000000000002080000000000000000000000000000000400000000000000000000000000000000000000000400000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xaea46a60368a7bd060eec7df8cba43b7ef41ad85", + "transactionHash": "0x6aaa1213d713391f61a17839abc93eb81b63e0308d6dd3a78dc2f2d648dbb232", + "transactionIndex": "0x15", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x23b2a0", + "effectiveGasPrice": "0xfe23a450", + "from": "0xd1fa51f2db23a9fa9d7bb8437b89fb2e70c60cb7", + "gasUsed": "0x588be", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c7bbec68d12a0d1830360f8ec58fa599ba1b0e9b", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3" + ], + "data": "0x0000000000000000000000000000000000000000000000002add059a70c1a8ae", + "blockNumber": "0x151241d", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x2a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3", + "0x000000000000000000000000c7bbec68d12a0d1830360f8ec58fa599ba1b0e9b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000169684000", + "blockNumber": "0x151241d", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x2b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffd522fa658f3e5752000000000000000000000000000000000000000000000000000000016968400000000000000000000000000000000000000000000002e77389379047f3bf4b670000000000000000000000000000000000000000000000000538312540e50366fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf0d1", + "blockNumber": "0x151241d", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x2c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006ca298d2983ab03aa1da7679389d955a4efee15c", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3" + ], + "data": "0x00000000000000000000000000000000000000000000000014b5d6b9a1fa59b7", + "blockNumber": "0x151241d", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x2d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3", + "0x0000000000000000000000006ca298d2983ab03aa1da7679389d955a4efee15c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000aea78a9d", + "blockNumber": "0x151241d", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x2e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x6ca298d2983ab03aa1da7679389d955a4efee15c", + "topics": [ + "0x19b47279256b2a23a1665c810c8d55a1758940ee09377d4f8d26497a3577dc83", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffeb4a29465e05a64900000000000000000000000000000000000000000000000000000000aea78a9d00000000000000000000000000000000000000000002e74d7c7b7da3101e52ef000000000000000000000000000000000000000000000000054648328dce9340fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf0cd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000799d8", + "blockNumber": "0x151241d", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x2f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x808507121b80c02388fad14726482e061b8da827", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000057af956d3e2cca3b86f3d8c6772c03ddca3eaacb", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3" + ], + "data": "0x00000000000000000000000000000000000000000000001392cdc142f5242ed4", + "blockNumber": "0x151241d", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x30", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3", + "0x00000000000000000000000057af956d3e2cca3b86f3d8c6772c03ddca3eaacb" + ], + "data": "0x000000000000000000000000000000000000000000000000065a7a0900000000", + "blockNumber": "0x151241d", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x31", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x57af956d3e2cca3b86f3d8c6772c03ddca3eaacb", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffec6d323ebd0adbd12c000000000000000000000000000000000000000000000000065a7a09000000000000000000000000000000000000000000000000091a6b5058be906b54e07b5f000000000000000000000000000000000000000000000a7c6f9af5b5fd97658efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefb51", + "blockNumber": "0x151241d", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x32", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e0554a476a092703abdb3ef35c80e0d76d32939f", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3" + ], + "data": "0x0000000000000000000000000000000000000000000000000aacb32d00000001", + "blockNumber": "0x151241d", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x33", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3", + "0x000000000000000000000000e0554a476a092703abdb3ef35c80e0d76d32939f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000059fce88f", + "blockNumber": "0x151241d", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x34", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xe0554a476a092703abdb3ef35c80e0d76d32939f", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3", + "0x000000000000000000000000d4bc53434c5e12cb41381a556c3c47e1a86e80e3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000059fce88ffffffffffffffffffffffffffffffffffffffffffffffffff5534cd2ffffffff000000000000000000000000000000000000582badce1d8e4a32207e0d5a53e500000000000000000000000000000000000000000000000004bded5eb28efb030000000000000000000000000000000000000000000000000000000000030f33", + "blockNumber": "0x151241d", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x35", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000040000000002000002200000000010000000400000000000010000000000000000000000000000000000002010002000008080020000080000000000000040000000040000808000008000000000000001000000080000000000000000000000000002000000000000000000000000000000000000200000010000800000000000000000000000000000000000000000000010000000021000000100002000000000000200000000080000000000002000400000000080000000000000000000002000208000000000000000800000000000000000000000004000000020000240000000000000000000000000001000000000000000000200000000081", + "status": "0x1", + "to": "0xd4bc53434c5e12cb41381a556c3c47e1a86e80e3", + "transactionHash": "0x62dddda9072dc51626bfda2ff59163b3f265745259e68ae11af0f7c120d08fae", + "transactionIndex": "0x16", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x284077", + "effectiveGasPrice": "0x90edc970", + "from": "0xa1c0078b7a78483b13bf9e34d29c4f697b0a7033", + "gasUsed": "0x48dd7", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x0000000000000000000000000000000000000000000000000ed5d9d610e48000", + "blockNumber": "0x151241d", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x36", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x0000000000c5dc95539589fbd24be07c6c14eca4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c4ce8e63921b8b6cbdb8fcb6bd64cc701fb926f2", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x00000000000000000000000000000000000000000001fc656db29d3d65496a31", + "blockNumber": "0x151241d", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x37", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x000000000000000000000000c4ce8e63921b8b6cbdb8fcb6bd64cc701fb926f2" + ], + "data": "0x0000000000000000000000000000000000000000000000000e17f55829a5e000", + "blockNumber": "0x151241d", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x38", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc4ce8e63921b8b6cbdb8fcb6bd64cc701fb926f2", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffe039a924d62c29ab695cf0000000000000000000000000000000000000000000000000e17f55829a5e0000000000000000000000000000000000000000000002a6d54b4cd1bffcfe6f15c00000000000000000000000000000000000000000001962a5a637a85b329002bfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc255", + "blockNumber": "0x151241d", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x39", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xe0f63a424a4439cbe457d80e4f4b51ad25b2c56c", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000007c706586679af2ba6d1a9fc2da9c6af59883fdd3", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x00000000000000000000000000000000000000000000000000000005accc1f64", + "blockNumber": "0x151241d", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x3a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x0000000000000000000000007c706586679af2ba6d1a9fc2da9c6af59883fdd3" + ], + "data": "0x00000000000000000000000000000000000000000000000000bde47de73ea000", + "blockNumber": "0x151241d", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x3b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7c706586679af2ba6d1a9fc2da9c6af59883fdd3", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x00000000000000000000000000000000000000000000000000bde47de73ea000fffffffffffffffffffffffffffffffffffffffffffffffffffffffa5333e09c0000000000000000000000000000000000000000002c5221999d7ba111361f4b00000000000000000000000000000000000000000000000008460a3f7ea5fd44fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc5be", + "blockNumber": "0x151241d", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x3c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x0000000000c5dc95539589fbd24be07c6c14eca4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ac2bb0855ab7963152c8fc4f98a862dcac530a4e", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x000000000000000000000000000000000000000000001b137d036b3f4cbbfa2b", + "blockNumber": "0x151241d", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x3d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xe0f63a424a4439cbe457d80e4f4b51ad25b2c56c", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x000000000000000000000000ac2bb0855ab7963152c8fc4f98a862dcac530a4e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000005accc1f64", + "blockNumber": "0x151241d", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x3e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xac2bb0855ab7963152c8fc4f98a862dcac530a4e", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffe4ec82fc94c0b34405d500000000000000000000000000000000000000000000000000000005accc1f6400000000000000000000000000000000000000000000075cd1f7d5c115f3ce610000000000000000000000000000000000000000000000003a772d04a73aef77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb8842", + "blockNumber": "0x151241d", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x3f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x0000000000c5dc95539589fbd24be07c6c14eca4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c" + ], + "data": "0x000000000000000000000000000000000000000000000156b3c96a42df2a40e4", + "blockNumber": "0x151241d", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x40", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x0000000000c5dc95539589fbd24be07c6c14eca4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x000000000000000000000000a1c0078b7a78483b13bf9e34d29c4f697b0a7033" + ], + "data": "0x00000000000000000000000000000000000000000002162236ec9e39d2db2378", + "blockNumber": "0x151241d", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x41", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000400002000000001000000002000000000000000040000000000000000080000000000002000000002000000080020000000000000000000000000000008000800000008084000000000000000000000000000008000000000400000080000208000000000000000040000000000000000c00010000800002000000000000000000000000020000000000001000000040000000000000020000000000000000040000000800000002000000010000008000000000000000000004002000000000000000000000000000400000000000000000000000000000000280000000000000000000000000000400000000000c00000000000000000", + "status": "0x1", + "to": "0x66a9893cc07d91d95644aedd05d03f95e1dba8af", + "transactionHash": "0xabca7ecc94482b36d02511995e0ac245c4997179cea114182946e7e128cd2439", + "transactionIndex": "0x17", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x2a0de3", + "effectiveGasPrice": "0x19b83570", + "from": "0xae2fc483527b8ef99eb5d9b44875f005ba1fae13", + "gasUsed": "0x1cd6c", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001f2f10d1c40777ae1da742455c65828ff36df387", + "0x000000000000000000000000f377f80d24f387298c2aab39b68e2c0d2e9a4fa9" + ], + "data": "0x000000000000000000000000000000000000000000000000001454250f000000", + "blockNumber": "0x151241d", + "transactionHash": "0xe033e024c68705facfa9aacf0781b69978c03e22da5d2da2514baa1dc39cd032", + "transactionIndex": "0x18", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x42", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x4288b2a44b188c57b17e255a6acf9d05b2f8363e", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f377f80d24f387298c2aab39b68e2c0d2e9a4fa9", + "0x0000000000000000000000001f2f10d1c40777ae1da742455c65828ff36df387" + ], + "data": "0x00000000000000000000000000000000000000000000000000025639f5000000", + "blockNumber": "0x151241d", + "transactionHash": "0xe033e024c68705facfa9aacf0781b69978c03e22da5d2da2514baa1dc39cd032", + "transactionIndex": "0x18", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x43", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xf377f80d24f387298c2aab39b68e2c0d2e9a4fa9", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x000000000000000000000000000000000000000000000000038fce42495d3d770000000000000000000000000000000000000000000000001ef8967b8f04eea0", + "blockNumber": "0x151241d", + "transactionHash": "0xe033e024c68705facfa9aacf0781b69978c03e22da5d2da2514baa1dc39cd032", + "transactionIndex": "0x18", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x44", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xf377f80d24f387298c2aab39b68e2c0d2e9a4fa9", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000001f2f10d1c40777ae1da742455c65828ff36df387", + "0x0000000000000000000000001f2f10d1c40777ae1da742455c65828ff36df387" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001454250f00000000000000000000000000000000000000000000000000000000025639f50000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xe033e024c68705facfa9aacf0781b69978c03e22da5d2da2514baa1dc39cd032", + "transactionIndex": "0x18", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x45", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00200000000000200000000080000000000000000000000000000000000000000000000000000000100000000000000002000000080000000100000000000000000000000000000000000008000000200000000000000000000000040000000000000000000000000000000100000000000000000080000000000010000002000000000000000000000000000000000000100000000000080000004000000000040000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000020000004000000001000000000000000000000202000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1f2f10d1c40777ae1da742455c65828ff36df387", + "transactionHash": "0xe033e024c68705facfa9aacf0781b69978c03e22da5d2da2514baa1dc39cd032", + "transactionIndex": "0x18", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x2cea27", + "effectiveGasPrice": "0x1e6da730", + "from": "0x3349097364bff7f4a4f931b9b6adf89a61533d3c", + "gasUsed": "0x2dc44", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f" + ], + "data": "0x0000000000000000000000000000000000000000000000000186cc6acd4b0000", + "blockNumber": "0x151241d", + "transactionHash": "0xa116554c9d8f7fe73e5e1cfb7e62c560cbea760c9c418158cb3ac98356985d05", + "transactionIndex": "0x19", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x46", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f", + "0x000000000000000000000000f377f80d24f387298c2aab39b68e2c0d2e9a4fa9" + ], + "data": "0x0000000000000000000000000000000000000000000000000186cc6acd4b0000", + "blockNumber": "0x151241d", + "transactionHash": "0xa116554c9d8f7fe73e5e1cfb7e62c560cbea760c9c418158cb3ac98356985d05", + "transactionIndex": "0x19", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x47", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x4288b2a44b188c57b17e255a6acf9d05b2f8363e", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f377f80d24f387298c2aab39b68e2c0d2e9a4fa9", + "0x0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f" + ], + "data": "0x000000000000000000000000000000000000000000000000002ab5869a0ea113", + "blockNumber": "0x151241d", + "transactionHash": "0xa116554c9d8f7fe73e5e1cfb7e62c560cbea760c9c418158cb3ac98356985d05", + "transactionIndex": "0x19", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x48", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xf377f80d24f387298c2aab39b68e2c0d2e9a4fa9", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x000000000000000000000000000000000000000000000000036518bbaf4e9c64000000000000000000000000000000000000000000000000207f62e65c4feea0", + "blockNumber": "0x151241d", + "transactionHash": "0xa116554c9d8f7fe73e5e1cfb7e62c560cbea760c9c418158cb3ac98356985d05", + "transactionIndex": "0x19", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x49", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xf377f80d24f387298c2aab39b68e2c0d2e9a4fa9", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f", + "0x0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186cc6acd4b0000000000000000000000000000000000000000000000000000002ab5869a0ea1130000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xa116554c9d8f7fe73e5e1cfb7e62c560cbea760c9c418158cb3ac98356985d05", + "transactionIndex": "0x19", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x4a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x4288b2a44b188c57b17e255a6acf9d05b2f8363e", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f", + "0x0000000000000000000000007afa9d836d2fccf172b66622625e56404e465dbd" + ], + "data": "0x00000000000000000000000000000000000000000000000000005cef5a243868", + "blockNumber": "0x151241d", + "transactionHash": "0xa116554c9d8f7fe73e5e1cfb7e62c560cbea760c9c418158cb3ac98356985d05", + "transactionIndex": "0x19", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x4b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x4288b2a44b188c57b17e255a6acf9d05b2f8363e", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f", + "0x0000000000000000000000003349097364bff7f4a4f931b9b6adf89a61533d3c" + ], + "data": "0x000000000000000000000000000000000000000000000000002a58973fea68ab", + "blockNumber": "0x151241d", + "transactionHash": "0xa116554c9d8f7fe73e5e1cfb7e62c560cbea760c9c418158cb3ac98356985d05", + "transactionIndex": "0x19", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x4c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00200000000000200000000080000000000020000000000000000000000000000000000000000010100000000000000002000000080000000100000004000000000000000000000000000008000000200000200000000000000000008040000000001000000000000000000100010000000000001080000000000010000002000000000000000000000000000000000000100001000000080000004000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000008000000020000004000000001000000000000000000000200000000000000000000000000000000000000000400000000000000000", + "status": "0x1", + "to": "0x0000000000001ff3684f28c67538d4d072c22734", + "transactionHash": "0xa116554c9d8f7fe73e5e1cfb7e62c560cbea760c9c418158cb3ac98356985d05", + "transactionIndex": "0x19", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x2e6c1a", + "effectiveGasPrice": "0x1266da237", + "from": "0xae2fc483527b8ef99eb5d9b44875f005ba1fae13", + "gasUsed": "0x181f3", + "logs": [ + { + "address": "0x4288b2a44b188c57b17e255a6acf9d05b2f8363e", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001f2f10d1c40777ae1da742455c65828ff36df387", + "0x000000000000000000000000f377f80d24f387298c2aab39b68e2c0d2e9a4fa9" + ], + "data": "0x00000000000000000000000000000000000000000000000000025639f4000000", + "blockNumber": "0x151241d", + "transactionHash": "0x46f812b1cf9e482f37a7118137aafa921a908fd2fc00ec48c0d6e3501f306bf2", + "transactionIndex": "0x1a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x4d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f377f80d24f387298c2aab39b68e2c0d2e9a4fa9", + "0x0000000000000000000000001f2f10d1c40777ae1da742455c65828ff36df387" + ], + "data": "0x00000000000000000000000000000000000000000000000000163e0b0f000000", + "blockNumber": "0x151241d", + "transactionHash": "0x46f812b1cf9e482f37a7118137aafa921a908fd2fc00ec48c0d6e3501f306bf2", + "transactionIndex": "0x1a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x4e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xf377f80d24f387298c2aab39b68e2c0d2e9a4fa9", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x00000000000000000000000000000000000000000000000003676ef5a34e9c64000000000000000000000000000000000000000000000000206924db4d4feea0", + "blockNumber": "0x151241d", + "transactionHash": "0x46f812b1cf9e482f37a7118137aafa921a908fd2fc00ec48c0d6e3501f306bf2", + "transactionIndex": "0x1a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x4f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xf377f80d24f387298c2aab39b68e2c0d2e9a4fa9", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000001f2f10d1c40777ae1da742455c65828ff36df387", + "0x0000000000000000000000001f2f10d1c40777ae1da742455c65828ff36df387" + ], + "data": "0x00000000000000000000000000000000000000000000000000025639f40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000163e0b0f000000", + "blockNumber": "0x151241d", + "transactionHash": "0x46f812b1cf9e482f37a7118137aafa921a908fd2fc00ec48c0d6e3501f306bf2", + "transactionIndex": "0x1a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x50", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00200000000000200000000080000000000000000000000000000000000000000000000000000000100000000000000002000000080000000100000000000000000000000000000000000008000000200000000000000000000000040000000000000000000000000000000100000000000000000080000000000010000002000000000000000000000000000000000000100000000000080000004000000000040000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000020000004000000001000000000000000000000202000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1f2f10d1c40777ae1da742455c65828ff36df387", + "transactionHash": "0x46f812b1cf9e482f37a7118137aafa921a908fd2fc00ec48c0d6e3501f306bf2", + "transactionIndex": "0x1a", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x31d741", + "effectiveGasPrice": "0x90edc970", + "from": "0x68b07028d190b31a8086a6ebcffc9fc117a3ff14", + "gasUsed": "0x36b27", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ed6b5fb20322c2822cd97845261422f9d581b9c4", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x000000000000000000000000000000000000000000000000022407616aea574d", + "blockNumber": "0x151241d", + "transactionHash": "0x9c3c79c4b657a48171f0f6d7ea12e49d03b51afd314692145b9e444b89ca81c3", + "transactionIndex": "0x1b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x51", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x80008bcd713c38af90a9930288d446bc3bd2e684", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000068b07028d190b31a8086a6ebcffc9fc117a3ff14", + "0x000000000000000000000000ed6b5fb20322c2822cd97845261422f9d581b9c4" + ], + "data": "0x00000000000000000000000000000000000000000001a784379d99db42000000", + "blockNumber": "0x151241d", + "transactionHash": "0x9c3c79c4b657a48171f0f6d7ea12e49d03b51afd314692145b9e444b89ca81c3", + "transactionIndex": "0x1b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x52", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xed6b5fb20322c2822cd97845261422f9d581b9c4", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x00000000000000000000000000000000000000000001a784379d99db42000000fffffffffffffffffffffffffffffffffffffffffffffffffddbf89e9515a8b30000000000000000000000000000000000000000001234ef2c79b14c4b8335f4000000000000000000000000000000000000000000003267e0f010d27a40bfd1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd803c", + "blockNumber": "0x151241d", + "transactionHash": "0x9c3c79c4b657a48171f0f6d7ea12e49d03b51afd314692145b9e444b89ca81c3", + "transactionIndex": "0x1b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x53", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x000000000000000000000000000000000000000000000000000000001208f53d", + "blockNumber": "0x151241d", + "transactionHash": "0x9c3c79c4b657a48171f0f6d7ea12e49d03b51afd314692145b9e444b89ca81c3", + "transactionIndex": "0x1b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x54", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640" + ], + "data": "0x000000000000000000000000000000000000000000000000022407616aea574d", + "blockNumber": "0x151241d", + "transactionHash": "0x9c3c79c4b657a48171f0f6d7ea12e49d03b51afd314692145b9e444b89ca81c3", + "transactionIndex": "0x1b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x55", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffedf70ac3000000000000000000000000000000000000000000000000022407616aea574d000000000000000000000000000000000000582d4e01b9431c1e15c0657a2add0000000000000000000000000000000000000000000000011fc9fe0a8e4749990000000000000000000000000000000000000000000000000000000000030f34", + "blockNumber": "0x151241d", + "transactionHash": "0x9c3c79c4b657a48171f0f6d7ea12e49d03b51afd314692145b9e444b89ca81c3", + "transactionIndex": "0x1b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x56", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000027213e28d7fda5c57fe9e5dd923818dbccf71c47" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000b8ada", + "blockNumber": "0x151241d", + "transactionHash": "0x9c3c79c4b657a48171f0f6d7ea12e49d03b51afd314692145b9e444b89ca81c3", + "transactionIndex": "0x1b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x57", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000068b07028d190b31a8086a6ebcffc9fc117a3ff14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000011fd6a63", + "blockNumber": "0x151241d", + "transactionHash": "0x9c3c79c4b657a48171f0f6d7ea12e49d03b51afd314692145b9e444b89ca81c3", + "transactionIndex": "0x1b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x58", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x010000000100000000000000000000000000400000000000000000000410400040000000000a0000000008000000000002000000080020000000000000000000000000000000000808001008004000000000000000000000040000000000400000000000000000000000000000000000000000000000000000000010000800000000000000000000000000001000000000000000010000000008000000000000000000000000208000000000000000000000000000000000002000000008000000000002000022000000000000000000000400000000000000000000000000000000200000000000000010004000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x66a9893cc07d91d95644aedd05d03f95e1dba8af", + "transactionHash": "0x9c3c79c4b657a48171f0f6d7ea12e49d03b51afd314692145b9e444b89ca81c3", + "transactionIndex": "0x1b", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x34d7ca", + "effectiveGasPrice": "0x90edc970", + "from": "0xa362ace8ec145247fdf82532289c468d919c4418", + "gasUsed": "0x30089", + "logs": [ + { + "address": "0x000000000022d473030f116ddee9f6b43ac78ba3", + "topics": [ + "0xc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec", + "0x000000000000000000000000a362ace8ec145247fdf82532289c468d919c4418", + "0x000000000000000000000000270ca21eb1a37cfe0e9a0e7582d8f897e013cdff", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000006804d6fb0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x4d3d7a106a7e882621e06aafb8d20aa1949f2fd675eecdef9473d4e3030683c6", + "transactionIndex": "0x1c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x59", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x270ca21eb1a37cfe0e9a0e7582d8f897e013cdff", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a362ace8ec145247fdf82532289c468d919c4418", + "0x00000000000000000000000002eb3e9ab442da6d0b17e9ad5a2e420146c7849b" + ], + "data": "0x00000000000000000000000000000000000000000000181327f1f0baf0e541d6", + "blockNumber": "0x151241d", + "transactionHash": "0x4d3d7a106a7e882621e06aafb8d20aa1949f2fd675eecdef9473d4e3030683c6", + "transactionIndex": "0x1c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x5a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000002eb3e9ab442da6d0b17e9ad5a2e420146c7849b", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x0000000000000000000000000000000000000000000000000008672986f0f9af", + "blockNumber": "0x151241d", + "transactionHash": "0x4d3d7a106a7e882621e06aafb8d20aa1949f2fd675eecdef9473d4e3030683c6", + "transactionIndex": "0x1c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x5b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x02eb3e9ab442da6d0b17e9ad5a2e420146c7849b", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x00000000000000000000000000000000000000000108fa71cd1d3251b58a77220000000000000000000000000000000000000000000000005cbb7761c7ac5b71", + "blockNumber": "0x151241d", + "transactionHash": "0x4d3d7a106a7e882621e06aafb8d20aa1949f2fd675eecdef9473d4e3030683c6", + "transactionIndex": "0x1c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x5c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x02eb3e9ab442da6d0b17e9ad5a2e420146c7849b", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x00000000000000000000000000000000000000000000181327f1f0baf0e541d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008672986f0f9af", + "blockNumber": "0x151241d", + "transactionHash": "0x4d3d7a106a7e882621e06aafb8d20aa1949f2fd675eecdef9473d4e3030683c6", + "transactionIndex": "0x1c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x5d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000560be6ad7aa", + "blockNumber": "0x151241d", + "transactionHash": "0x4d3d7a106a7e882621e06aafb8d20aa1949f2fd675eecdef9473d4e3030683c6", + "transactionIndex": "0x1c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x5e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x000000000000000000000000000000000000000000000000000861c8c8862205", + "blockNumber": "0x151241d", + "transactionHash": "0x4d3d7a106a7e882621e06aafb8d20aa1949f2fd675eecdef9473d4e3030683c6", + "transactionIndex": "0x1c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x5f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00210000000000000000000080000000000000000000000000001100008000000000000000080000000000000000040002010000080000000000000002980000000000000000000000000008004000200000000000400000000000000000000000008000000000200000000000000000000000000000040000000010000000000000004000000000000000000820000000000000000000080000004000000000020000000000000000000000000000000400000000000400000000800000000000000002000000000000000000000001000400000000001000000002000000000000200000000000000100020000000000000000000000800000000000000400", + "status": "0x1", + "to": "0x66a9893cc07d91d95644aedd05d03f95e1dba8af", + "transactionHash": "0x4d3d7a106a7e882621e06aafb8d20aa1949f2fd675eecdef9473d4e3030683c6", + "transactionIndex": "0x1c", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x3a749a", + "effectiveGasPrice": "0x5552ff70", + "from": "0x400c164c4a8ca84385b70eed6eb03ea847c8e1b8", + "gasUsed": "0x59cd0", + "logs": [ + { + "address": "0x9aea1fd851b63d57ba4fc556b0e0c170126c9eaf", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x000000000000000000000000333f9c23bc02d8afd0f3cd28ef481cb985a4e5d7" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x0a95bdcd3bc3311f25e2ed235ea5358cb8570946272596314a932b49191014ae", + "transactionIndex": "0x1d", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x60", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x512a3d2c7a43bd9261d2b8e8c9c70d4bd4d503c0", + "topics": [ + "0x5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e35", + "0x000000000000000000000000333f9c23bc02d8afd0f3cd28ef481cb985a4e5d7", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x6bf0d15362030bf153e91eb6f4217f24267926d5bc7874236ff8078e3dfdfcc6" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0x0a95bdcd3bc3311f25e2ed235ea5358cb8570946272596314a932b49191014ae", + "transactionIndex": "0x1d", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x61", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000200000000000000000000040000000000000000000000000080000000000000000000040000000000008000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001000000000000000000000000010000000000000000000000040000000000202000000000020000000000000000000000000000000000000000000000000000000000000000000000000040000000010000000000000000010000001000000000000000400005000000001000", + "status": "0x1", + "to": "0x512a3d2c7a43bd9261d2b8e8c9c70d4bd4d503c0", + "transactionHash": "0x0a95bdcd3bc3311f25e2ed235ea5358cb8570946272596314a932b49191014ae", + "transactionIndex": "0x1d", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x3d0787", + "effectiveGasPrice": "0x90edc970", + "from": "0x21056c791f0923c31c1a6806924994918d2318ee", + "gasUsed": "0x292ed", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x00000000000000000000000000000000000000000000000006f05b59d3b20000", + "blockNumber": "0x151241d", + "transactionHash": "0x9c720e2d89caa0cc91298eddae06fee65f4e7db972d8ed35249d97afe918d4a0", + "transactionIndex": "0x1e", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x62", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x0000000000000000000000005d6b5238809077ab58744ec30401fc142dfb9e73" + ], + "data": "0x00000000000000000000000000000000000000000000000006f05b59d3b20000", + "blockNumber": "0x151241d", + "transactionHash": "0x9c720e2d89caa0cc91298eddae06fee65f4e7db972d8ed35249d97afe918d4a0", + "transactionIndex": "0x1e", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x63", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x43c5034469bce262d32f64c5e7f9f359f5b1495f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005d6b5238809077ab58744ec30401fc142dfb9e73", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x00000000000000000000000000000000000000000000000001b1dae23a624314", + "blockNumber": "0x151241d", + "transactionHash": "0x9c720e2d89caa0cc91298eddae06fee65f4e7db972d8ed35249d97afe918d4a0", + "transactionIndex": "0x1e", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x64", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x5d6b5238809077ab58744ec30401fc142dfb9e73", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x000000000000000000000000000000000000000000000000c32794d24b52fb38000000000000000000000000000000000000000000000003239301b3d5a35632", + "blockNumber": "0x151241d", + "transactionHash": "0x9c720e2d89caa0cc91298eddae06fee65f4e7db972d8ed35249d97afe918d4a0", + "transactionIndex": "0x1e", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x65", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x5d6b5238809077ab58744ec30401fc142dfb9e73", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000001b1dae23a6243140000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x9c720e2d89caa0cc91298eddae06fee65f4e7db972d8ed35249d97afe918d4a0", + "transactionIndex": "0x1e", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x66", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x43c5034469bce262d32f64c5e7f9f359f5b1495f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c" + ], + "data": "0x000000000000000000000000000000000000000000000000000115aace39d87c", + "blockNumber": "0x151241d", + "transactionHash": "0x9c720e2d89caa0cc91298eddae06fee65f4e7db972d8ed35249d97afe918d4a0", + "transactionIndex": "0x1e", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x67", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x43c5034469bce262d32f64c5e7f9f359f5b1495f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000021056c791f0923c31c1a6806924994918d2318ee" + ], + "data": "0x00000000000000000000000000000000000000000000000001b0c5376c286a98", + "blockNumber": "0x151241d", + "transactionHash": "0x9c720e2d89caa0cc91298eddae06fee65f4e7db972d8ed35249d97afe918d4a0", + "transactionIndex": "0x1e", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x68", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00200000000000000000000080000000000000000000000000000000000000000000200000080000000000000000000002000004080000000000000000040000000000000000000000000008004000200200000000200000000000008000000000000000000000200000000000002000000000000000000000010110000000000000000000000000000001000020000000000001000000080000004000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000001000000000000000400000000001000000000000000000200200000000000000000000000000000000000000000c00000000000000000", + "status": "0x1", + "to": "0x66a9893cc07d91d95644aedd05d03f95e1dba8af", + "transactionHash": "0x9c720e2d89caa0cc91298eddae06fee65f4e7db972d8ed35249d97afe918d4a0", + "transactionIndex": "0x1e", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x4acdbe", + "effectiveGasPrice": "0x2d499808", + "from": "0x008300082c3000009e63680088f8c7f4d3ff2e87", + "gasUsed": "0xdc637", + "logs": [ + { + "address": "0x7751e2f4b8ae93ef6b79d86419d42fe3295a4559", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000dc10079c600c86630aef1d96b1284cec94ab6666", + "0x000000000000000000000000c92e8bdf79f0507f65a392b0ab4667716bfe0110" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x69", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", + "topics": [ + "0xed99827efb37016f2275f98c4bcf71c7551c75d59e9b450f79fa32e60be672c2", + "0x00000000000000000000000001dcb88678aedd0c4cc9552b20f4718550250574" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000760f2a0b00000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x6a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", + "topics": [ + "0xa07a543ab8a018198e99ca0184c93fe9050a79400a0a723441f84de1d972cc17", + "0x000000000000000000000000dc10079c600c86630aef1d96b1284cec94ab6666" + ], + "data": "0x0000000000000000000000007751e2f4b8ae93ef6b79d86419d42fe3295a4559000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000001807258dfd342c1c05c00000000000000000000000000000000000000000000000000000001ae553fce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000038bbfe2f82a9fedfaced5f0d60dd26c69a2867e765b09a8ea6c194948350f89774dc10079c600c86630aef1d96b1284cec94ab666667dd57cf0000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x6b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7751e2f4b8ae93ef6b79d86419d42fe3295a4559", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000dc10079c600c86630aef1d96b1284cec94ab6666", + "0x0000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab41" + ], + "data": "0x0000000000000000000000000000000000000000000001807258dfd342c1c05c", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x6c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x000000000022d473030f116ddee9f6b43ac78ba3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x0000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab41", + "0x0000000000000000000000007751e2f4b8ae93ef6b79d86419d42fe3295a4559", + "0x000000000000000000000000136f1efcc3f8f88516b9e94110d56fdbfb1778d1" + ], + "data": "0x000000000000000000000000000000000000000000000180659c6ce74ea866dc0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x6d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", + "topics": [ + "0xed99827efb37016f2275f98c4bcf71c7551c75d59e9b450f79fa32e60be672c2", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000087517c4500000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x6e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7751e2f4b8ae93ef6b79d86419d42fe3295a4559", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab41", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000180659c6ce74ea866dc", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x6f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xba1333333333a1ba1108e8412f11850a5c319ba9", + "topics": [ + "0x3771d13c67011e31e12031c54bb59b0bf544a80b81d280a3711e172aa8b7f47b", + "0x000000000000000000000000beefc011e94f43b8b7b455ebab290c7ab4e216f1" + ], + "data": "0x000000000000000000000000000000000000000000000180659c6ce74ea866dc00000000000000000000000000000000000000000000017facf1c487fbdca30b000000000000008b4f0d5979a5f46fb400000000000007edee621dd583ec6c31", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x70", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xba1333333333a1ba1108e8412f11850a5c319ba9", + "topics": [ + "0x0874b2d545cb271cdbda4e093020c452328b24af12382ed62c4d00f5c26709db", + "0x00000000000000000000000010a04efba5b880e169920fd4348527c64fb29d4d", + "0x000000000000000000000000beefc011e94f43b8b7b455ebab290c7ab4e216f1", + "0x0000000000000000000000007204b7dbf9412567835633b6f00c3edc3a8d6330" + ], + "data": "0x00000000000000000000000000000000000000000000017facf1c487fbdca30b0000000000000000000000000000000000000000000001820ac11db71aeb323600000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000004e93a64001a2953", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x71", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xba1333333333a1ba1108e8412f11850a5c319ba9", + "topics": [ + "0xeeb740c90bf2b18c9532eb7d473137767036d893dff3e009f32718f821b2a4c0", + "0x0000000000000000000000007204b7dbf9412567835633b6f00c3edc3a8d6330" + ], + "data": "0x0000000000000000000000000000000000000000000001820ac11db71aeb323600000000000000000000000000000000000000000000000000000001ae553fcd00000000000008023d5d5acfc4441f6d000000000000000000000000713630d4", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x72", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9", + "0x0000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab41" + ], + "data": "0x00000000000000000000000000000000000000000000000000000001ae553fcd", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x73", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", + "topics": [ + "0xed99827efb37016f2275f98c4bcf71c7551c75d59e9b450f79fa32e60be672c2", + "0x000000000000000000000000136f1efcc3f8f88516b9e94110d56fdbfb1778d1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000286f580d00000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x74", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab41", + "0x000000000000000000000000dc10079c600c86630aef1d96b1284cec94ab6666" + ], + "data": "0x00000000000000000000000000000000000000000000000000000001ae553fce", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x75", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", + "topics": [ + "0x40338ce1a7c49204f0099533b1e9a7ee0a3d261f84974ab7af36105b8c4e9db4", + "0x000000000000000000000000008300082c3000009e63680088f8c7f4d3ff2e87" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x76", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x000110000000000000000000000010000040800000200000000000200020000000000000004080000240000000000200004800608100000000000000002c0801002400000000000008404008000000000100000100000800000000000000000000000000000000000000800000000000000001000000000010004014000000020020000000000002000000000000000004000000410000404000001000000000020000600080200000000000000002000000008000000000010020080000000000000002000800002000400000004002000020010000000040000000000000003010000000000000002002080100000000004001000000000000000000000400", + "status": "0x1", + "to": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", + "transactionHash": "0xd2af82ae5cefcc39d50306ccb9c951f596c9dd5f979fe0cd0c32dfe94c80b261", + "transactionIndex": "0x1f", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x4ce79a", + "effectiveGasPrice": "0x90edc970", + "from": "0x3ed3a49fb01fa9ca2a11c8a3afba12f53ca7c744", + "gasUsed": "0x219dc", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x00000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e" + ], + "data": "0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000", + "blockNumber": "0x151241d", + "transactionHash": "0x202c01e375cedd25803503d3061f6dd6de053c4988e6d8387e975ed317b38935", + "transactionIndex": "0x20", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x77", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e", + "0x0000000000000000000000005d6b5238809077ab58744ec30401fc142dfb9e73" + ], + "data": "0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000", + "blockNumber": "0x151241d", + "transactionHash": "0x202c01e375cedd25803503d3061f6dd6de053c4988e6d8387e975ed317b38935", + "transactionIndex": "0x20", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x78", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x43c5034469bce262d32f64c5e7f9f359f5b1495f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005d6b5238809077ab58744ec30401fc142dfb9e73", + "0x0000000000000000000000003ed3a49fb01fa9ca2a11c8a3afba12f53ca7c744" + ], + "data": "0x000000000000000000000000000000000000000000000000002af94f7e756226", + "blockNumber": "0x151241d", + "transactionHash": "0x202c01e375cedd25803503d3061f6dd6de053c4988e6d8387e975ed317b38935", + "transactionIndex": "0x20", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x79", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x5d6b5238809077ab58744ec30401fc142dfb9e73", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x000000000000000000000000000000000000000000000000c2fc9b82ccdd99120000000000000000000000000000000000000000000000032444a47004685632", + "blockNumber": "0x151241d", + "transactionHash": "0x202c01e375cedd25803503d3061f6dd6de053c4988e6d8387e975ed317b38935", + "transactionIndex": "0x20", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x7a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x5d6b5238809077ab58744ec30401fc142dfb9e73", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x00000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e", + "0x0000000000000000000000003ed3a49fb01fa9ca2a11c8a3afba12f53ca7c744" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000002af94f7e7562260000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x202c01e375cedd25803503d3061f6dd6de053c4988e6d8387e975ed317b38935", + "transactionIndex": "0x20", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x7b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00200000000000000000000080000000000000000000000000000000000000000000200000000000000000000000000002000004080000000000000000040000000000000000000000000008000000200200000100000000000000008000000000000000000000000000400000002000000000000000000000000130000000000000000000000000000001000000000000000001000000080000004000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000001000000000000000000000000001000000000000000000240200000000000000000000000010000000000000000400000001000000000", + "status": "0x1", + "to": "0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e", + "transactionHash": "0x202c01e375cedd25803503d3061f6dd6de053c4988e6d8387e975ed317b38935", + "transactionIndex": "0x20", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x4f18df", + "effectiveGasPrice": "0x90edc970", + "from": "0x8412f98582158cc5bda82e9ade35543f72c71fb5", + "gasUsed": "0x23145", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f6", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x0000000000000000000000000000000000000000000000000de9987043544000", + "blockNumber": "0x151241d", + "transactionHash": "0xcddb8af4a61a439d860d184c595ef0109fde8d7e2ec6c9ea7a8720cf9ed7fa69", + "transactionIndex": "0x21", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x7c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000008412f98582158cc5bda82e9ade35543f72c71fb5", + "0x00000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f6" + ], + "data": "0x000000000000000000000000000000000000000000000000000000007559d484", + "blockNumber": "0x151241d", + "transactionHash": "0xcddb8af4a61a439d860d184c595ef0109fde8d7e2ec6c9ea7a8720cf9ed7fa69", + "transactionIndex": "0x21", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x7d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x11b815efb8f581194ae79006d24e0d814b7697f6", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffff216678fbcabc000000000000000000000000000000000000000000000000000000000007559d48400000000000000000000000000000000000000000002e75187b71dc00057a12c000000000000000000000000000000000000000000000000323681e2482802affffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf0cd", + "blockNumber": "0x151241d", + "transactionHash": "0xcddb8af4a61a439d860d184c595ef0109fde8d7e2ec6c9ea7a8720cf9ed7fa69", + "transactionIndex": "0x21", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x7e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c" + ], + "data": "0x0000000000000000000000000000000000000000000000000008e1bc9bf04000", + "blockNumber": "0x151241d", + "transactionHash": "0xcddb8af4a61a439d860d184c595ef0109fde8d7e2ec6c9ea7a8720cf9ed7fa69", + "transactionIndex": "0x21", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x7f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000", + "blockNumber": "0x151241d", + "transactionHash": "0xcddb8af4a61a439d860d184c595ef0109fde8d7e2ec6c9ea7a8720cf9ed7fa69", + "transactionIndex": "0x21", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x80", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000010002000000080020000000000000000000000000000000000800000008104000000000000000400000000010800000000000000000000000200000000000000000000000000000040000000090000800000000000000000000000000000020000000000000000000000400000000100000000000000000000000000080000000000000000000000000000004000000000000000002000000000000000000000000000400020000000000000002000000000000200000000000000000000000000000000000000000800008001000000000", + "status": "0x1", + "to": "0x66a9893cc07d91d95644aedd05d03f95e1dba8af", + "transactionHash": "0xcddb8af4a61a439d860d184c595ef0109fde8d7e2ec6c9ea7a8720cf9ed7fa69", + "transactionIndex": "0x21", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x56521f", + "effectiveGasPrice": "0x37859a70", + "from": "0x35473089daa69b7f291c0e339db686a3f9df6a35", + "gasUsed": "0x73940", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000035473089daa69b7f291c0e339db686a3f9df6a35", + "0x000000000000000000000000a1f8ea0759c8ae474c6b84b13acc2ba7d4311ccb" + ], + "data": "0x0000000000000000000000000000000000000000000000000093267aa9154c3f", + "blockNumber": "0x151241d", + "transactionHash": "0x2a0c1684a1557e4155ac9ce8424daedf2e3411dd9464a559750c14f7074b4fc7", + "transactionIndex": "0x22", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x81", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000035473089daa69b7f291c0e339db686a3f9df6a35", + "0x000000000000000000000000a1f8ea0759c8ae474c6b84b13acc2ba7d4311ccb" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x2a0c1684a1557e4155ac9ce8424daedf2e3411dd9464a559750c14f7074b4fc7", + "transactionIndex": "0x22", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x82", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000a1f8ea0759c8ae474c6b84b13acc2ba7d4311ccb", + "0x000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x2a0c1684a1557e4155ac9ce8424daedf2e3411dd9464a559750c14f7074b4fc7", + "transactionIndex": "0x22", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x83", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000a1f8ea0759c8ae474c6b84b13acc2ba7d4311ccb", + "0x000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb" + ], + "data": "0x0000000000000000000000000000000000000000000000000093267aa9154c3f", + "blockNumber": "0x151241d", + "transactionHash": "0x2a0c1684a1557e4155ac9ce8424daedf2e3411dd9464a559750c14f7074b4fc7", + "transactionIndex": "0x22", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x84", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb", + "topics": [ + "0xa3b9472a1399e17e123f3c2e6586c23e504184d504de59cdaa2b375e880c6184", + "0xb323495f7e4148be5643a4ea4a8221eef163e4bccfdedc2a6f4696baacbc86cc", + "0x000000000000000000000000a1f8ea0759c8ae474c6b84b13acc2ba7d4311ccb", + "0x000000000000000000000000a1f8ea0759c8ae474c6b84b13acc2ba7d4311ccb" + ], + "data": "0x0000000000000000000000000000000000000000000000000093267aa9154c3f", + "blockNumber": "0x151241d", + "transactionHash": "0x2a0c1684a1557e4155ac9ce8424daedf2e3411dd9464a559750c14f7074b4fc7", + "transactionIndex": "0x22", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x85", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a1f8ea0759c8ae474c6b84b13acc2ba7d4311ccb", + "0x000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb" + ], + "data": "0x0000000000000000000000000000000000000000000000000093267aa9154c3f", + "blockNumber": "0x151241d", + "transactionHash": "0x2a0c1684a1557e4155ac9ce8424daedf2e3411dd9464a559750c14f7074b4fc7", + "transactionIndex": "0x22", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x86", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000a1f8ea0759c8ae474c6b84b13acc2ba7d4311ccb", + "0x000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x2a0c1684a1557e4155ac9ce8424daedf2e3411dd9464a559750c14f7074b4fc7", + "transactionIndex": "0x22", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x87", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa1f8ea0759c8ae474c6b84b13acc2ba7d4311ccb", + "topics": [ + "0x71715266c730dfceca3e44620faebf315f8e7d7404b2de5f3121d0d87c17832c", + "0x4d6f7270686f426c75654465706f736974000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000005e00000000000000000000000000000000000000000000000000000000000000800ae6d6b87bd69704c742ef3ff051d31d411798b8403cab6cb2d94a7ba91661f7d0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c485e92d980000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000093267aa9154c3f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000098203051894747605630ba7bcee424c0ec4e2f7d74e8e9d5a195b7eeba3cbd100000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e485e92d98000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000600000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca000000000000000000000000035473089daa69b7f291c0e339db686a3f9df6a350000000000000000000000000000000000000000000000000093267aa9154c3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc260000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001c485e92d98000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018485e92d98000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000093267aa9154c3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7ca04e3228ce773056f80652929b26e21e87ea1073b0c8f7ece6f517123c09f0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a485e92d980000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca000000000000000000000000048f7e36eb6b826b2df4b2e630b62cd25e89e40e2000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000000000000000000000000000000bef55718ad600000000000000000000000000000000000000000000000000000093267aa9154c3f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x2a0c1684a1557e4155ac9ce8424daedf2e3411dd9464a559750c14f7074b4fc7", + "transactionIndex": "0x22", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x88", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000080000008000000000000000000000000000000000000000000000000000000040000000000000000000000000000200000000000080010000020000008000020020000004000000000000000000000000000000000000000000000000000000000000000000000000000000110000000020000008000100108000080000000000000000000020000000000000002000000020000000000000000000000000000000000000000400000000000010000000020040002000000100000000000000000000000000000000400000000000200000010000003000000000000208000200000000000000000000000000000000000", + "status": "0x1", + "to": "0xa1f8ea0759c8ae474c6b84b13acc2ba7d4311ccb", + "transactionHash": "0x2a0c1684a1557e4155ac9ce8424daedf2e3411dd9464a559750c14f7074b4fc7", + "transactionIndex": "0x22", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x5cea39", + "effectiveGasPrice": "0x37859a70", + "from": "0x6a37cb7171e28fb7874c4c95fcfb8b2ea259c3aa", + "gasUsed": "0x6981a", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006a37cb7171e28fb7874c4c95fcfb8b2ea259c3aa", + "0x000000000000000000000000e9c9c5b1fc679b26dd0bf243e16b026dff9037a3" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000010c8e0", + "blockNumber": "0x151241d", + "transactionHash": "0x6c23d4bb983c8b215766c83dea5f6f1e09b873811b1334ab56bf85e96158747c", + "transactionIndex": "0x23", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x89", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000e9c9c5b1fc679b26dd0bf243e16b026dff9037a3", + "0x000000000000000000000000fbb413f954a8ff6970c916be7e1f0bcf221bb4db" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000010c8e0", + "blockNumber": "0x151241d", + "transactionHash": "0x6c23d4bb983c8b215766c83dea5f6f1e09b873811b1334ab56bf85e96158747c", + "transactionIndex": "0x23", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x8a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e9c9c5b1fc679b26dd0bf243e16b026dff9037a3", + "0x000000000000000000000000d6a625bc1aed44e4f0f8e1fee6f2578f4105cd06" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000010c8e0", + "blockNumber": "0x151241d", + "transactionHash": "0x6c23d4bb983c8b215766c83dea5f6f1e09b873811b1334ab56bf85e96158747c", + "transactionIndex": "0x23", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x8b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x32491af8f6b66f8491c6356ad3cd332597322caf", + "topics": [ + "0xd36a2f67d06d285786f61a32b052b9ace6b0b7abef5177b54358abdc83a0b69b" + ], + "data": "0x057adabeeb81b2e1c2e715aae384f145b89d803e28750587362dd6410c827471000000000000000000000000e9c9c5b1fc679b26dd0bf243e16b026dff9037a3000000000000000000000000000000000000000000000000000000000010c8e00000000000000000000000000000000000000000000000000f24d14c4dce68ef", + "blockNumber": "0x151241d", + "transactionHash": "0x6c23d4bb983c8b215766c83dea5f6f1e09b873811b1334ab56bf85e96158747c", + "transactionIndex": "0x23", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x8c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x86c4d4e958baf7e911c05f3772066c30ba2d4618", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000006a37cb7171e28fb7874c4c95fcfb8b2ea259c3aa" + ], + "data": "0x0000000000000000000000000000000000000000000000000f43fc2c04edffff", + "blockNumber": "0x151241d", + "transactionHash": "0x6c23d4bb983c8b215766c83dea5f6f1e09b873811b1334ab56bf85e96158747c", + "transactionIndex": "0x23", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x8d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x86c4d4e958baf7e911c05f3772066c30ba2d4618", + "topics": [ + "0x9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcb", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000006a37cb7171e28fb7874c4c95fcfb8b2ea259c3aa" + ], + "data": "0x0000000000000000000000000000000000000000000000000f24d14c4dce68ef", + "blockNumber": "0x151241d", + "transactionHash": "0x6c23d4bb983c8b215766c83dea5f6f1e09b873811b1334ab56bf85e96158747c", + "transactionIndex": "0x23", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x8e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x86c4d4e958baf7e911c05f3772066c30ba2d4618", + "topics": [ + "0x9782d8b58091a5f1569249f91aab7974f0bfe8b041bb1de6f8b96703f2c5ed1d", + "0x057adabeeb81b2e1c2e715aae384f145b89d803e28750587362dd6410c827471" + ], + "data": "0x0000000000000000000000006a37cb7171e28fb7874c4c95fcfb8b2ea259c3aa0000000000000000000000000000000000000000000000000f43fc2c04edffff0000000000000000000000000000000000000000000000000f24d14c4dce68ef", + "blockNumber": "0x151241d", + "transactionHash": "0x6c23d4bb983c8b215766c83dea5f6f1e09b873811b1334ab56bf85e96158747c", + "transactionIndex": "0x23", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x8f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xe9c9c5b1fc679b26dd0bf243e16b026dff9037a3", + "topics": [ + "0x33da4f9b82b3e18a281ca2cabbe2f076925692abb593b7ea3f850009e8ec9770", + "0x057adabeeb81b2e1c2e715aae384f145b89d803e28750587362dd6410c827471" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000010c8e00000000000000000000000000000000000000000000000000f24d14c4dce68ef", + "blockNumber": "0x151241d", + "transactionHash": "0x6c23d4bb983c8b215766c83dea5f6f1e09b873811b1334ab56bf85e96158747c", + "transactionIndex": "0x23", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x90", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x86c4d4e958baf7e911c05f3772066c30ba2d4618", + "topics": [ + "0xbb58420bb8ce44e11b84e214cc0de10ce5e7c24d0355b2815c3d758b514cae72", + "0x0000000000000000000000006a37cb7171e28fb7874c4c95fcfb8b2ea259c3aa", + "0x0000000000000000000000006a37cb7171e28fb7874c4c95fcfb8b2ea259c3aa", + "0x057adabeeb81b2e1c2e715aae384f145b89d803e28750587362dd6410c827471" + ], + "data": "0x0000000000000000000000006a37cb7171e28fb7874c4c95fcfb8b2ea259c3aa000000000000000000000000000000000000000000000000000000000010c8e0", + "blockNumber": "0x151241d", + "transactionHash": "0x6c23d4bb983c8b215766c83dea5f6f1e09b873811b1334ab56bf85e96158747c", + "transactionIndex": "0x23", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x91", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000020000000000000000000000024000000000000000000000000000000400000000000010000000000000102000000000000200000280200000041000000000008000000000022000000000000000000004000000000050000028000000000008000000800000000000000000000000010001000000000000000000000010000000000000004000000000000800104000000100000020000000010000000010080000000000000000000100000000000000000000000000022000000000000010000000000400008000000000100200000000020200030000000000000000000800000000000000000000000000000800000000080", + "status": "0x1", + "to": "0x86c4d4e958baf7e911c05f3772066c30ba2d4618", + "transactionHash": "0x6c23d4bb983c8b215766c83dea5f6f1e09b873811b1334ab56bf85e96158747c", + "transactionIndex": "0x23", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x620b57", + "effectiveGasPrice": "0x37859a70", + "from": "0x26581c56dd7163cce129fb7e5b7c2ddbb5baefe2", + "gasUsed": "0x5211e", + "logs": [ + { + "address": "0x3d8e699db14d7781557fe94ad99d93be180a6594", + "topics": [ + "0x38b331f00373c8b0f9af5a4273ca1b91e894fec999bfa4ec787e8c90a5c8b05c" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000074e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002a30783236353831633536646437313633634365313239664237653562376332446462623562416546653200000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xe85ddcd89dfeae58d27b6fd4353a3f53695c637d2db7c6207b5fdee21c7fa4be", + "transactionIndex": "0x24", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x92", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400004000000000000000000000000000000100000000000", + "status": "0x1", + "to": "0x3d8e699db14d7781557fe94ad99d93be180a6594", + "transactionHash": "0xe85ddcd89dfeae58d27b6fd4353a3f53695c637d2db7c6207b5fdee21c7fa4be", + "transactionIndex": "0x24", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x66a0a7", + "effectiveGasPrice": "0x37859a70", + "from": "0xc8715e7a3e06d96f234c8eca821c6c2b51824846", + "gasUsed": "0x49550", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c8715e7a3e06d96f234c8eca821c6c2b51824846", + "0x0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed16" + ], + "data": "0x00000000000000000000000000000000000000000000000000000002540be400", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x93", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed16", + "0x000000000000000000000000e6b738da243e8fa2a0ed5915645789add5de5152" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000053724e0", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x94", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x9a47f3289794e9bbc6a3c571f6d96ad4e7baed16", + "topics": [ + "0x6ded982279c8387ad8a63e73385031a3807c1862e633f06e09d11bcb6e282f60" + ], + "data": "0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000e6b738da243e8fa2a0ed5915645789add5de515200000000000000000000000000000000000000000000000000000000053724e0", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x95", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed16", + "0x0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae" + ], + "data": "0x000000000000000000000000000000000000000000000000000000024ed4bf20", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x96", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "0x0000000000000000000000006065a982f04f759b7d2d042d2864e569fad84214" + ], + "data": "0x000000000000000000000000000000000000000000000000000000024ed4bf20", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x97", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000006065a982f04f759b7d2d042d2864e569fad84214", + "0x000000000000000000000000bd3fa81b58ba92a82136038b25adec7066af3155" + ], + "data": "0x000000000000000000000000000000000000000000000000000000024ed33880", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x98", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006065a982f04f759b7d2d042d2864e569fad84214", + "0x000000000000000000000000c4922d64a24675e16e1586e3e3aa56c06fabe907" + ], + "data": "0x000000000000000000000000000000000000000000000000000000024ed33880", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x99", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5", + "0x000000000000000000000000c4922d64a24675e16e1586e3e3aa56c06fabe907" + ], + "data": "0x000000000000000000000000000000000000000000000000000000024ed33880", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x9a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c4922d64a24675e16e1586e3e3aa56c06fabe907", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000000000000000000000000000000000000000000000000000000024ed33880", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x9b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x0a992d191deec32afe36203ad87d7d289a738f81", + "topics": [ + "0x8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b036" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f80000000000000000000000030000000000035c9a000000000000000000000000bd3fa81b58ba92a82136038b25adec7066af315500000000000000000000000019330d10d9cc8751218eaf51e8885d058642e08a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c8715e7a3e06d96f234c8eca821c6c2b51824846000000000000000000000000000000000000000000000000000000024ed338800000000000000000000000006065a982f04f759b7d2d042d2864e569fad842140000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x9c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbd3fa81b58ba92a82136038b25adec7066af3155", + "topics": [ + "0x2fa9ca894982930190727e75500a97d8dc500233a5065e0f3126c48fbe0343c0", + "0x0000000000000000000000000000000000000000000000000000000000035c9a", + "0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "0x0000000000000000000000006065a982f04f759b7d2d042d2864e569fad84214" + ], + "data": "0x000000000000000000000000000000000000000000000000000000024ed33880000000000000000000000000c8715e7a3e06d96f234c8eca821c6c2b51824846000000000000000000000000000000000000000000000000000000000000000300000000000000000000000019330d10d9cc8751218eaf51e8885d058642e08a0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x9d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000006065a982f04f759b7d2d042d2864e569fad84214", + "0x000000000000000000000000bd3fa81b58ba92a82136038b25adec7066af3155" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x9e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x6065a982f04f759b7d2d042d2864e569fad84214", + "topics": [ + "0xa2ca2ced575b143e45f6b68b9e9c92fc0ddfc107807c711f5f28ff625fea8e51" + ], + "data": "0x0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae000000000000000000000000c8715e7a3e06d96f234c8eca821c6c2b51824846000000000000000000000000000000000000000000000000000000000000a4b1000000000000000000000000000000000000000000000000000000024ed4bf2000000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035c9a", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x9f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "topics": [ + "0xcba69f43792f9f399347222505213b55af8e0b0b54b893085c2e27ecbe1644f1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020f055a2d97fa4280e3c61732f18c2db260e704eff7df03d2aefad9c04add2f6b1000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c8715e7a3e06d96f234c8eca821c6c2b51824846000000000000000000000000000000000000000000000000000000024ed4bf20000000000000000000000000000000000000000000000000000000000000a4b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b63656c6572636972636c65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6d6574616d61736b2d6272696467650000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xa0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x9a47f3289794e9bbc6a3c571f6d96ad4e7baed16", + "topics": [ + "0x831bac9533a2034226daa21109dbd4f887674f0fe4877e1a8b35b3ffe1bdce76" + ], + "data": "0x000000000000000000000000c8715e7a3e06d96f234c8eca821c6c2b518248460000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae000000000000000000000000000000000000000000000000000000000000a4b1000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831000000000000000000000000000000000000000000000000000000024ed4bf20", + "blockNumber": "0x151241d", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xa1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x0000000000400000001000010000000000100008000000100000000000000000000000000000820000000200000004000000000000000000000000000022000000000000000000200800010800000000000400000000000000060000000000000400000002000002800000000000280008000002214100080010001000000000000000000000000000000000000000020400010001000420000000000020000882000002100020000000000008000200000040000000010000c000002400000008001122000000000402000000000000020000000100000000800000000220000010000402000000000000800000000004080000000000000000000000000000", + "status": "0x1", + "to": "0x0439e60f02a8900a951603950d8d4527f400c3f1", + "transactionHash": "0xcf2a855cee4cecc0c7a348bc19043538b393e7db5426c5bd2a2263c046e79c77", + "transactionIndex": "0x25", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x72a2cb", + "effectiveGasPrice": "0x35a4e900", + "from": "0xb55191978440a8bcbe134c34f280096140b6ae67", + "gasUsed": "0xc0224", + "logs": [ + { + "address": "0xbeefff209270748ddd194831b3fa287a5386f5bc", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000b55191978440a8bcbe134c34f280096140b6ae67", + "0x0000000000000000000000004095f064b8d3c3548a3bebfd0bbfd04750e30077" + ], + "data": "0x000000000000000000000000000000000000000000002940bebd1bd76f32bad5", + "blockNumber": "0x151241d", + "transactionHash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "transactionIndex": "0x26", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xa2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbeefff209270748ddd194831b3fa287a5386f5bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000255c7705e8bb334dfcae438197f7c4297988085a" + ], + "data": "0x0000000000000000000000000000000000000000000000004add38da8ba7a46e", + "blockNumber": "0x151241d", + "transactionHash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "transactionIndex": "0x26", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xa3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbeefff209270748ddd194831b3fa287a5386f5bc", + "topics": [ + "0xf66f28b40975dbb933913542c7e6a0f50a1d0f20aa74ea6e0efe65ab616323ec" + ], + "data": "0x0000000000000000000000000000000000000000000000000000604194a2db1a0000000000000000000000000000000000000000000000004add38da8ba7a46e", + "blockNumber": "0x151241d", + "transactionHash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "transactionIndex": "0x26", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xa4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbeefff209270748ddd194831b3fa287a5386f5bc", + "topics": [ + "0x15c027cc4fd826d986cad358803439f7326d3aa4ed969ff90dbee4bc150f68e9" + ], + "data": "0x00000000000000000000000000000000000000000000000000006012a3a69dcb", + "blockNumber": "0x151241d", + "transactionHash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "transactionIndex": "0x26", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xa5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x870ac11d48b15db9a138cf899d20f13f79ba00bc", + "topics": [ + "0x7120161a7b3d31251e01294ab351ef15a41b91659a36032e4641bb89b121e321", + "0x346afa2b6d528222a2f9721ded6e7e2c40ac94877a598f5dae5013c651d2a462" + ], + "data": "0x000000000000000000000000000000000000000000000000000000008cdb9a6f000000000000000000000000000000000000000000000000000000008defa825", + "blockNumber": "0x151241d", + "transactionHash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "transactionIndex": "0x26", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xa6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb", + "topics": [ + "0x9d9bd501d0657d7dfe415f779a620a62b78bc508ddc0891fbbd8b7ac0f8fce87", + "0x346afa2b6d528222a2f9721ded6e7e2c40ac94877a598f5dae5013c651d2a462" + ], + "data": "0x000000000000000000000000000000000000000000000000000000008cdb9a6f0000000000000000000000000000000000000000000000000000000003296d030000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "transactionIndex": "0x26", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xa7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb", + "topics": [ + "0xa56fc0ad5702ec05ce63666221f796fb62437c32db1aa1aa075fc6484cf58fbf", + "0x346afa2b6d528222a2f9721ded6e7e2c40ac94877a598f5dae5013c651d2a462", + "0x000000000000000000000000beefff209270748ddd194831b3fa287a5386f5bc", + "0x000000000000000000000000beefff209270748ddd194831b3fa287a5386f5bc" + ], + "data": "0x000000000000000000000000beefff209270748ddd194831b3fa287a5386f5bc0000000000000000000000000000000000000000000000000000002ef0fc3d4f00000000000000000000000000000000000000000000000002ab49fae8cc2602", + "blockNumber": "0x151241d", + "transactionHash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "transactionIndex": "0x26", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xa8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb", + "0x000000000000000000000000beefff209270748ddd194831b3fa287a5386f5bc" + ], + "data": "0x0000000000000000000000000000000000000000000000000000002ef0fc3d4f", + "blockNumber": "0x151241d", + "transactionHash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "transactionIndex": "0x26", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xa9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbeefff209270748ddd194831b3fa287a5386f5bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b55191978440a8bcbe134c34f280096140b6ae67", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000000000000000000000000000000000000000000002940bebd1bd76f32bad5", + "blockNumber": "0x151241d", + "transactionHash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "transactionIndex": "0x26", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xaa", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000beefff209270748ddd194831b3fa287a5386f5bc", + "0x000000000000000000000000b55191978440a8bcbe134c34f280096140b6ae67" + ], + "data": "0x0000000000000000000000000000000000000000000000000000002ef0fc3d4f", + "blockNumber": "0x151241d", + "transactionHash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "transactionIndex": "0x26", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xab", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbeefff209270748ddd194831b3fa287a5386f5bc", + "topics": [ + "0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db", + "0x0000000000000000000000004095f064b8d3c3548a3bebfd0bbfd04750e30077", + "0x000000000000000000000000b55191978440a8bcbe134c34f280096140b6ae67", + "0x000000000000000000000000b55191978440a8bcbe134c34f280096140b6ae67" + ], + "data": "0x0000000000000000000000000000000000000000000000000000002ef0fc3d4f000000000000000000000000000000000000000000002940bebd1bd76f32bad5", + "blockNumber": "0x151241d", + "transactionHash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "transactionIndex": "0x26", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xac", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000080000400000000040080080000002400000000002100000000000000000400000000000000000000000000000020000000000000000000020a4400010000000001000000800000800000001000000000020000000000008000000000000000002000000000000000000080000000020000000001000001000000000400800000000000c000000000000400000000000010000000020000000040400020400000020204000000000000020020000100004000000004000000000000020000002000000000001000000000000000000000000000000000000000020000010000001000000000000200001000000000000000000000000000000000000", + "status": "0x1", + "to": "0x4095f064b8d3c3548a3bebfd0bbfd04750e30077", + "transactionHash": "0xfae6578bd1574c027b2b22dc36bc1715c25a10442cdbfe4510fcf21fcac8e509", + "transactionIndex": "0x26", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x7650ed", + "effectiveGasPrice": "0x37859a70", + "from": "0x953c22779b212f145a85061ab3a13e43b3c50427", + "gasUsed": "0x3ae22", + "logs": [ + { + "address": "0x0000000000000068f116a894984e2db1123eb395", + "topics": [ + "0x9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31", + "0x000000000000000000000000de5ae63a348c4d63343c8e20fb6286909418c8a4", + "0x000000000000000000000000000056f7000000ece9003ca63978907a00ffd100" + ], + "data": "0xebf8e33de1c501304f3a9acab7e799b00e9b7c04ee093021c1a31c95ada915c6000000000000000000000000953c22779b212f145a85061ab3a13e43b3c504270000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014df48080e3000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000cb0477d1af5b8b05795d89d59f4667b59eae924400000000000000000000000000000000000000000000000000000000000018650000000000000000000000000000000000000000000000000000000000000001000000000000000000000000de5ae63a348c4d63343c8e20fb6286909418c8a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ab76670b60000000000000000000000000000000a26b00c1f0df003000390027140000faa719", + "blockNumber": "0x151241d", + "transactionHash": "0x4181a267e232d99f9c936b02c91ee8204b081e56bf496b0379be6eb0386aac3c", + "transactionIndex": "0x27", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xad", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x0000000000000068f116a894984e2db1123eb395", + "topics": [ + "0x9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31", + "0x000000000000000000000000953c22779b212f145a85061ab3a13e43b3c50427", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x411a16fe5c2cb18a01ee7b5041704f28829e5204967b4be05c223898fe26fe96000000000000000000000000953c22779b212f145a85061ab3a13e43b3c504270000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000cb0477d1af5b8b05795d89d59f4667b59eae92440000000000000000000000000000000000000000000000000000000000001865000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e06af6192c00000000000000000000000000025542fd6204bbbe570e358b9ebeb391513980c340000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013e425ab844e000000000000000000000000000953c22779b212f145a85061ab3a13e43b3c50427", + "blockNumber": "0x151241d", + "transactionHash": "0x4181a267e232d99f9c936b02c91ee8204b081e56bf496b0379be6eb0386aac3c", + "transactionIndex": "0x27", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xae", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x0000000000000068f116a894984e2db1123eb395", + "topics": [ + "0x4b9f2d36e1b4c93de62cc077b00b1a91d84b6c31b4a14e012718dcca230689e7" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002ebf8e33de1c501304f3a9acab7e799b00e9b7c04ee093021c1a31c95ada915c6411a16fe5c2cb18a01ee7b5041704f28829e5204967b4be05c223898fe26fe96", + "blockNumber": "0x151241d", + "transactionHash": "0x4181a267e232d99f9c936b02c91ee8204b081e56bf496b0379be6eb0386aac3c", + "transactionIndex": "0x27", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xaf", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xcb0477d1af5b8b05795d89d59f4667b59eae9244", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000953c22779b212f145a85061ab3a13e43b3c50427", + "0x000000000000000000000000de5ae63a348c4d63343c8e20fb6286909418c8a4", + "0x0000000000000000000000000000000000000000000000000000000000001865" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0x4181a267e232d99f9c936b02c91ee8204b081e56bf496b0379be6eb0386aac3c", + "transactionIndex": "0x27", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xb0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000de5ae63a348c4d63343c8e20fb6286909418c8a4", + "0x0000000000000000000000000000a26b00c1f0df003000390027140000faa719" + ], + "data": "0x0000000000000000000000000000000000000000000000000001ab76670b6000", + "blockNumber": "0x151241d", + "transactionHash": "0x4181a267e232d99f9c936b02c91ee8204b081e56bf496b0379be6eb0386aac3c", + "transactionIndex": "0x27", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xb1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000de5ae63a348c4d63343c8e20fb6286909418c8a4", + "0x00000000000000000000000025542fd6204bbbe570e358b9ebeb391513980c34" + ], + "data": "0x000000000000000000000000000000000000000000000000000e06af6192c000", + "blockNumber": "0x151241d", + "transactionHash": "0x4181a267e232d99f9c936b02c91ee8204b081e56bf496b0379be6eb0386aac3c", + "transactionIndex": "0x27", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xb2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000de5ae63a348c4d63343c8e20fb6286909418c8a4", + "0x000000000000000000000000953c22779b212f145a85061ab3a13e43b3c50427" + ], + "data": "0x000000000000000000000000000000000000000000000000013e425ab844e000", + "blockNumber": "0x151241d", + "transactionHash": "0x4181a267e232d99f9c936b02c91ee8204b081e56bf496b0379be6eb0386aac3c", + "transactionIndex": "0x27", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xb3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000008000000000000000000000002000000000000000000000002000000080000000000000000000400004000000008000002000008000000000000000000000000000000400800000000000000020200000000800000080800000200000000040000000410000000050000042000000000000000000000000000000000000000000000000000004000080000000010000000004002000010000400000000800000000000000000000000000002000000000000000000000000000040000000000000040000000020000000202000000000000000000000000000000000000800000000000000000000", + "status": "0x1", + "to": "0x0000000000000068f116a894984e2db1123eb395", + "transactionHash": "0x4181a267e232d99f9c936b02c91ee8204b081e56bf496b0379be6eb0386aac3c", + "transactionIndex": "0x27", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x773161", + "effectiveGasPrice": "0x90edc970", + "from": "0x9e338acd408e1c7b22713c6f888ebd1b82988107", + "gasUsed": "0xe074", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009e338acd408e1c7b22713c6f888ebd1b82988107", + "0x00000000000000000000000026961a9a8ee21c05a567f0571db49a2606e78917" + ], + "data": "0x000000000000000000000000000000000000000000000000000000008efdd5c0", + "blockNumber": "0x151241d", + "transactionHash": "0xb2c5e9dde9e65cd4876c23c861e47e325074726aa9d86a040b50ab9b171622bb", + "transactionIndex": "0x28", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xb4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000008000008000000000000000000000000000000080000000000010000000000000000000000002000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000080000000000000000000200000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0xb2c5e9dde9e65cd4876c23c861e47e325074726aa9d86a040b50ab9b171622bb", + "transactionIndex": "0x28", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x78d394", + "effectiveGasPrice": "0x597b0c76", + "from": "0x109681b2489354903b968e555c4bfe7552596288", + "gasUsed": "0x1a233", + "logs": [ + { + "address": "0xed04915c23f00a313a544955524eb7dbd823143d", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000eb4626c5149894022c2066120ea7f20f217995fb", + "0x000000000000000000000000eff6cb8b614999d130e537751ee99724d01aa167" + ], + "data": "0x000000000000000000000000000000000000000000000000000001612a2430e0", + "blockNumber": "0x151241d", + "transactionHash": "0xcc41a9c8fdcd7c72c1375efe2e955afe5576e71172b63bc9b4332376398685b2", + "transactionIndex": "0x29", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xb5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000eff6cb8b614999d130e537751ee99724d01aa167", + "0x000000000000000000000000eb4626c5149894022c2066120ea7f20f217995fb" + ], + "data": "0x00000000000000000000000000000000000000000000000002d2261d0f238fe0", + "blockNumber": "0x151241d", + "transactionHash": "0xcc41a9c8fdcd7c72c1375efe2e955afe5576e71172b63bc9b4332376398685b2", + "transactionIndex": "0x29", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xb6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xeb4626c5149894022c2066120ea7f20f217995fb", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x000000000000000000000000eff6cb8b614999d130e537751ee99724d01aa167", + "0x000000000000000000000000eff6cb8b614999d130e537751ee99724d01aa167" + ], + "data": "0x00000000000000000000000000000000000000000000000002d2261d0f238fe0fffffffffffffffffffffffffffffffffffffffffffffffffffffe9ed5dbcf20000000000000000000000000000000000000000000b3df5e512c95d93158d5160000000000000000000000000000000000000000000000000c8afd4e045d5dd1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe332f", + "blockNumber": "0x151241d", + "transactionHash": "0xcc41a9c8fdcd7c72c1375efe2e955afe5576e71172b63bc9b4332376398685b2", + "transactionIndex": "0x29", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xb7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000002000000080020000000000000000000000000000000000800000008000000001000100000120000000000000000000000000400000000000000000000000040000000000000000000000010000800000000000000000000200000000000000000200000000000000000000000000000000000000000000000000000000000080000000000000000000020000000000000000002000000000000000000000000000000000000000000000000000000000000200000000000000000000100000000000000000000000000000000000000", + "status": "0x1", + "to": "0xeff6cb8b614999d130e537751ee99724d01aa167", + "transactionHash": "0xcc41a9c8fdcd7c72c1375efe2e955afe5576e71172b63bc9b4332376398685b2", + "transactionIndex": "0x29", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x79adf6", + "effectiveGasPrice": "0x90edc970", + "from": "0x0ac78373882efdaa3f0d6b6cdf3a7494ac8880eb", + "gasUsed": "0xda62", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000000ac78373882efdaa3f0d6b6cdf3a7494ac8880eb", + "0x00000000000000000000000063c79fccd0a21e4a4d87056a0efe3b85d8c373d4" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockNumber": "0x151241d", + "transactionHash": "0xc0d712d9be09437f2a22029dad21d54b1aa3029e124d804b5cfe36aba3111f7a", + "transactionIndex": "0x2a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xb8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000040000000008000000000000000002000000000000000000000000000000000000000000200000000000000000000008000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000020000400000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000010000000000000000000000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0xc0d712d9be09437f2a22029dad21d54b1aa3029e124d804b5cfe36aba3111f7a", + "transactionIndex": "0x2a", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x7cfbd6", + "effectiveGasPrice": "0x37859a70", + "from": "0x0a961655cd151274e25727e739678c7e6f9acd8c", + "gasUsed": "0x34de0", + "logs": [ + { + "address": "0x6a6cacbc76cdb95c45c90627dcd3d3c59f49710a", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000a961655cd151274e25727e739678c7e6f9acd8c", + "0x00000000000000000000000085cd07ea01423b1e937929b44e4ad8c40bbb5e71" + ], + "data": "0x0000000000000000000000000000000000000000000000000005aa3c7b12f5a4", + "blockNumber": "0x151241d", + "transactionHash": "0x200929b4254a8a34b9813f565a918c4355f993ecd737a232d372e3e79ae607b3", + "transactionIndex": "0x2b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xb9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x6a6cacbc76cdb95c45c90627dcd3d3c59f49710a", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000000a961655cd151274e25727e739678c7e6f9acd8c", + "0x000000000000000000000000ac4c6e212a361c968f1725b4d055b47e63f80b75" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x200929b4254a8a34b9813f565a918c4355f993ecd737a232d372e3e79ae607b3", + "transactionIndex": "0x2b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xba", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x6a6cacbc76cdb95c45c90627dcd3d3c59f49710a", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000085cd07ea01423b1e937929b44e4ad8c40bbb5e71", + "0x000000000000000000000000a569a560ced5c70d0aa175742502ae15dfd8f653" + ], + "data": "0x0000000000000000000000000000000000000000000000000005aa3c7b12f5a3", + "blockNumber": "0x151241d", + "transactionHash": "0x200929b4254a8a34b9813f565a918c4355f993ecd737a232d372e3e79ae607b3", + "transactionIndex": "0x2b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xbb", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a569a560ced5c70d0aa175742502ae15dfd8f653", + "0x00000000000000000000000085cd07ea01423b1e937929b44e4ad8c40bbb5e71" + ], + "data": "0x000000000000000000000000000000000000000000000000000c257735f63a4b", + "blockNumber": "0x151241d", + "transactionHash": "0x200929b4254a8a34b9813f565a918c4355f993ecd737a232d372e3e79ae607b3", + "transactionIndex": "0x2b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xbc", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa569a560ced5c70d0aa175742502ae15dfd8f653", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x000000000000000000000000000000000000000000000000090c251db690f3c60000000000000000000000000000000000000000000000001368d442d8aef63d", + "blockNumber": "0x151241d", + "transactionHash": "0x200929b4254a8a34b9813f565a918c4355f993ecd737a232d372e3e79ae607b3", + "transactionIndex": "0x2b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xbd", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa569a560ced5c70d0aa175742502ae15dfd8f653", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x00000000000000000000000085cd07ea01423b1e937929b44e4ad8c40bbb5e71", + "0x00000000000000000000000085cd07ea01423b1e937929b44e4ad8c40bbb5e71" + ], + "data": "0x0000000000000000000000000000000000000000000000000005aa3c7b12f5a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c257735f63a4b", + "blockNumber": "0x151241d", + "transactionHash": "0x200929b4254a8a34b9813f565a918c4355f993ecd737a232d372e3e79ae607b3", + "transactionIndex": "0x2b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xbe", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x00000000000000000000000085cd07ea01423b1e937929b44e4ad8c40bbb5e71" + ], + "data": "0x000000000000000000000000000000000000000000000000000c257735f63a4b", + "blockNumber": "0x151241d", + "transactionHash": "0x200929b4254a8a34b9813f565a918c4355f993ecd737a232d372e3e79ae607b3", + "transactionIndex": "0x2b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xbf", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x85cd07ea01423b1e937929b44e4ad8c40bbb5e71", + "topics": [ + "0x1bf1122521093cffed0b7f29833cd231d885bae58dceb074e411a1fbd94824bd", + "0x000000000000000000000000ad27827c312cd5e71311d68e180a9872d42de23d", + "0x0000000000000000000000006a6cacbc76cdb95c45c90627dcd3d3c59f49710a", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000085cd07ea01423b1e937929b44e4ad8c40bbb5e71000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000005aa3c7b12f5a3000000000000000000000000000000000000000000000000000b89fe0cdd1dc9000000000000000000000000000000000000000000000000000c257735f63a4bfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", + "blockNumber": "0x151241d", + "transactionHash": "0x200929b4254a8a34b9813f565a918c4355f993ecd737a232d372e3e79ae607b3", + "transactionIndex": "0x2b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xc0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00200000000008002000000080000000200000400040000000000004000000400000000002000000000000000000000022000000080000000000000000242040000000010000000000000008000000200000000000440000000000000000044000000000000000000000000000200000000020000000840000000010000000000000000400000000000000000000000000000000000000080000004000000001020000200000000400008000000000000000000000000000004000000000000000000002000000000000000000000000000000000000001000000022000040000010201100000000000000000000000000000000000000000000000000080080", + "status": "0x1", + "to": "0xac4c6e212a361c968f1725b4d055b47e63f80b75", + "transactionHash": "0x200929b4254a8a34b9813f565a918c4355f993ecd737a232d372e3e79ae607b3", + "transactionIndex": "0x2b", + "type": "0x2" + }, + { + "blobGasPrice": "0x12", + "blobGasUsed": "0xa0000", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x7d4dde", + "effectiveGasPrice": "0x14456bdf0", + "from": "0x5050f69a9786f081509234f1a7f4684b5e5b76c9", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xff00000000000000000000000000000000008453", + "transactionHash": "0x798a0dd02cbd0a1beac41324a004312f0331ec7e1337921d270ec226378ab1a0", + "transactionIndex": "0x2c", + "type": "0x3" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x7e163a", + "effectiveGasPrice": "0x90edc970", + "from": "0xf89d7b9c864f589bbf53a82105107622b35eaa40", + "gasUsed": "0xc85c", + "logs": [ + { + "address": "0x090185f2135308bad17527004364ebcc2d37e5f6", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f89d7b9c864f589bbf53a82105107622b35eaa40", + "0x0000000000000000000000004cbb419cf638e7750445deba4ac7784b224e488f" + ], + "data": "0x0000000000000000000000000000000000000000000005af52d1a551f1548000", + "blockNumber": "0x151241d", + "transactionHash": "0x722e3d74cc7f0b7492a4461413a84f701a9e5afdbc9ecb8fededf2e8771e630a", + "transactionIndex": "0x2d", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xc1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00100000000000000000000000000000000000000000000000080000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000040008000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000020010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000002000000000000000200000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x090185f2135308bad17527004364ebcc2d37e5f6", + "transactionHash": "0x722e3d74cc7f0b7492a4461413a84f701a9e5afdbc9ecb8fededf2e8771e630a", + "transactionIndex": "0x2d", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x7f83a2", + "effectiveGasPrice": "0x569e5cde", + "from": "0x26fd09c8b44af53df38a9bad41d5abc55a1786af", + "gasUsed": "0x16d68", + "logs": [ + { + "address": "0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000007176f0f071379fee51668eb6387dda9129e5ca6b", + "0x000000000000000000000000a5e79baee540f000ef6f23d067cd3ac22c7d9fe6" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000011565ac", + "blockNumber": "0x151241d", + "transactionHash": "0xb9a1b7f4aef20f46f529afe02c3c9bc0e7abb146e646d38f03ce4dbf3c361146", + "transactionIndex": "0x2e", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xc2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a5e79baee540f000ef6f23d067cd3ac22c7d9fe6", + "0x0000000000000000000000007176f0f071379fee51668eb6387dda9129e5ca6b" + ], + "data": "0x000000000000000000000000000000000000000000000000017b1ae76c3ba030", + "blockNumber": "0x151241d", + "transactionHash": "0xb9a1b7f4aef20f46f529afe02c3c9bc0e7abb146e646d38f03ce4dbf3c361146", + "transactionIndex": "0x2e", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xc3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa5e79baee540f000ef6f23d067cd3ac22c7d9fe6", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x000000000000000000000000000000000000000000000000000000006e7dac6e00000000000000000000000000000000000000000000000095fc981077cbbd32", + "blockNumber": "0x151241d", + "transactionHash": "0xb9a1b7f4aef20f46f529afe02c3c9bc0e7abb146e646d38f03ce4dbf3c361146", + "transactionIndex": "0x2e", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xc4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa5e79baee540f000ef6f23d067cd3ac22c7d9fe6", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007176f0f071379fee51668eb6387dda9129e5ca6b", + "0x0000000000000000000000007176f0f071379fee51668eb6387dda9129e5ca6b" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000011565ac00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017b1ae76c3ba030", + "blockNumber": "0x151241d", + "transactionHash": "0xb9a1b7f4aef20f46f529afe02c3c9bc0e7abb146e646d38f03ce4dbf3c361146", + "transactionIndex": "0x2e", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xc5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00200000000000000000000080000000000000000000000000000000000000000000000020000000000000000000000002000000080000000002000000000000000000000000000000000008000000200000000000000000000000000000400000000000000004040000000000000000000000000000000000000014000004000000000000000000000000000000000000000000000000081000004000000000000000000000000000000000000000000000000000000000400000000000000000000002000000000000000000000000000000000000001000000000000000000000200000000001000000000000000000000000000000000000000002000000", + "status": "0x1", + "to": "0x7176f0f071379fee51668eb6387dda9129e5ca6b", + "transactionHash": "0xb9a1b7f4aef20f46f529afe02c3c9bc0e7abb146e646d38f03ce4dbf3c361146", + "transactionIndex": "0x2e", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x823706", + "effectiveGasPrice": "0x37859a70", + "from": "0xce1471fb26602b04c27e76369b1aa6e65b100eb9", + "gasUsed": "0x2b364", + "logs": [ + { + "address": "0x49c0f4fa0345e402ebd91adec5960f1dd6bfa330", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ce1471fb26602b04c27e76369b1aa6e65b100eb9", + "0x00000000000000000000000049c0f4fa0345e402ebd91adec5960f1dd6bfa330" + ], + "data": "0x000000000000000000000000000000000000000000000327b6619d6a5925d6bb", + "blockNumber": "0x151241d", + "transactionHash": "0x8207d5809563ee13179bc9e5a0a9623a9b034c885c92dda242db1cb63e87d8ca", + "transactionIndex": "0x2f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xc6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x49c0f4fa0345e402ebd91adec5960f1dd6bfa330", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000049c0f4fa0345e402ebd91adec5960f1dd6bfa330", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000000000000000000000000000000000000000000000327b6619d6a5925d6bb", + "blockNumber": "0x151241d", + "transactionHash": "0x8207d5809563ee13179bc9e5a0a9623a9b034c885c92dda242db1cb63e87d8ca", + "transactionIndex": "0x2f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xc7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x902f6ecdb98296f0768a577b48974f8608d9ee89", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000049c0f4fa0345e402ebd91adec5960f1dd6bfa330", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d" + ], + "data": "0x000000000000000000000000000000000000000000175c22877d623148a74ef8", + "blockNumber": "0x151241d", + "transactionHash": "0x8207d5809563ee13179bc9e5a0a9623a9b034c885c92dda242db1cb63e87d8ca", + "transactionIndex": "0x2f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xc8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000049c0f4fa0345e402ebd91adec5960f1dd6bfa330", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d" + ], + "data": "0x0000000000000000000000000000000000000000000000006dcf5373ffa0004e", + "blockNumber": "0x151241d", + "transactionHash": "0x8207d5809563ee13179bc9e5a0a9623a9b034c885c92dda242db1cb63e87d8ca", + "transactionIndex": "0x2f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xc9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x49c0f4fa0345e402ebd91adec5960f1dd6bfa330", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000001cebcb0000000000000000000000000000000000000000000000000000000000000001", + "blockNumber": "0x151241d", + "transactionHash": "0x8207d5809563ee13179bc9e5a0a9623a9b034c885c92dda242db1cb63e87d8ca", + "transactionIndex": "0x2f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xca", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x49c0f4fa0345e402ebd91adec5960f1dd6bfa330", + "topics": [ + "0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d" + ], + "data": "0x000000000000000000000000000000000000000000175c22877d623148a74ef80000000000000000000000000000000000000000000000006dcf5373ffa0004e", + "blockNumber": "0x151241d", + "transactionHash": "0x8207d5809563ee13179bc9e5a0a9623a9b034c885c92dda242db1cb63e87d8ca", + "transactionIndex": "0x2f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xcb", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x902f6ecdb98296f0768a577b48974f8608d9ee89", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x000000000000000000000000ce1471fb26602b04c27e76369b1aa6e65b100eb9" + ], + "data": "0x000000000000000000000000000000000000000000175c22877d623148a74ef8", + "blockNumber": "0x151241d", + "transactionHash": "0x8207d5809563ee13179bc9e5a0a9623a9b034c885c92dda242db1cb63e87d8ca", + "transactionIndex": "0x2f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xcc", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d" + ], + "data": "0x0000000000000000000000000000000000000000000000006dcf5373ffa0004e", + "blockNumber": "0x151241d", + "transactionHash": "0x8207d5809563ee13179bc9e5a0a9623a9b034c885c92dda242db1cb63e87d8ca", + "transactionIndex": "0x2f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xcd", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000010000000000000080000000000000000000000000010000000000000000000000000000000000000000000006002000080000000000000000000000000000000000000000000008000008000000000000400000000000000000000000000204020010000000000000000800000008000000040000000010000000000000000000000000004000000000080000000000000000080000000000000000000000000000004000000000000000000000000000000000000000040040000000000002000000000000000000000000000080000000001000000002000420000000200000002000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", + "transactionHash": "0x8207d5809563ee13179bc9e5a0a9623a9b034c885c92dda242db1cb63e87d8ca", + "transactionIndex": "0x2f", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x82d863", + "effectiveGasPrice": "0x90edc970", + "from": "0xce3eb5942571a105bcde4b5226bf362e71a3acae", + "gasUsed": "0xa15d", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ce3eb5942571a105bcde4b5226bf362e71a3acae", + "0x000000000000000000000000215258e825dcc5a29021cc02dba8ff9bfb1b2397" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000c47703e", + "blockNumber": "0x151241d", + "transactionHash": "0xeb6a016eae3d4e5966461b759c586b6ad133829f9c19be1af8991b7b4b715bae", + "transactionIndex": "0x30", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xce", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x0000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000c000000000000000100000000000000000000000000000000000000000000000000000000000000000020000000000010000000000000000000000000000000000000000000000000400000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0xeb6a016eae3d4e5966461b759c586b6ad133829f9c19be1af8991b7b4b715bae", + "transactionIndex": "0x30", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x850e97", + "effectiveGasPrice": "0x37859a70", + "from": "0x555ce236c0220695b68341bc48c68d52210cc35b", + "gasUsed": "0x23634", + "logs": [ + { + "address": "0xe7351fd770a37282b91d153ee690b63579d6dd7f", + "topics": [ + "0xd281ee92bab1446041582480d2c0a9dc91f855386bb27ea295faac1e992f7fe4" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000008048749555d8503bbe1170f6f8019091b57e413b2175d2ead299621cb2fff577eb000000000000000000000000555ce236c0220695b68341bc48c68d52210cc35b000000000000000000000000555ce236c0220695b68341bc48c68d52210cc35b00000000000000000000000000000000000000000000000000000195b868939a00000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000036fde626885de70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000360d149f9b7421000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000143355b03a843942b26a5864ec2895dc686c0cd8a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000142170ed0880ac9a755fd29b2688956bd959f933f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140a124aa59fe0a0682db341cff307301c3d8f3ce700000000000000000000000000000000000000000000000000000000000000000000000000000000000000143355b03a843942b26a5864ec2895dc686c0cd8a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000143355b03a843942b26a5864ec2895dc686c0cd8a90000000000000000000000000000000000000000000000000000000000000000000000000000000000000014555ce236c0220695b68341bc48c68d52210cc35b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x3d87f508e8b57cc5aad4b2666f2eae3d1173fe3d8e4dbf001a6672dc704e08ee", + "transactionIndex": "0x31", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xcf", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000001000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xe7351fd770a37282b91d153ee690b63579d6dd7f", + "transactionHash": "0x3d87f508e8b57cc5aad4b2666f2eae3d1173fe3d8e4dbf001a6672dc704e08ee", + "transactionIndex": "0x31", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x85c2dc", + "effectiveGasPrice": "0x77359400", + "from": "0x4b127305fe1cf2e1e335184b75939d3ea0742dfe", + "gasUsed": "0xb445", + "logs": [ + { + "address": "0x6b0faca7ba905a86f221ceb5ca404f605e5b3131", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000004b127305fe1cf2e1e335184b75939d3ea0742dfe", + "0x0000000000000000000000004b15d5df8bd9900714591661858ae1c02d3d10f3" + ], + "data": "0x00000000000000000000000000000000000000000000002a33b8126219d90000", + "blockNumber": "0x151241d", + "transactionHash": "0x4b885ade0d490a44aa9f3d6d8b16c98155b5007636b3f785cafe2410aa4b7ddd", + "transactionIndex": "0x32", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xd0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000200000000000000000000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000800000000000000000000000000000001000000000000000000000000000004000000000000020000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000010000000000000000000000000000000000800000000000000000000000000", + "status": "0x1", + "to": "0x6b0faca7ba905a86f221ceb5ca404f605e5b3131", + "transactionHash": "0x4b885ade0d490a44aa9f3d6d8b16c98155b5007636b3f785cafe2410aa4b7ddd", + "transactionIndex": "0x32", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x8ac07f", + "effectiveGasPrice": "0x5552ff70", + "from": "0xf71bb37bb8e34540d0f90ff0b61ed81476e8c05c", + "gasUsed": "0x4fda3", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f71bb37bb8e34540d0f90ff0b61ed81476e8c05c", + "0x00000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000019bfcc0", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xd1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x69460570c93f9de5e2edbc3052bf10125f0ca22d", + "topics": [ + "0xdf4363408b2d9811d1e5c23efdb5bae0b7a68bd9de2de1cbae18a11be3e67ef5" + ], + "data": "0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000002e248000000000000000000000000c84f14c250128357c82e1b737bf19e6efb1111bc", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xd2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22d", + "0x000000000000000000000000c84f14c250128357c82e1b737bf19e6efb1111bc" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000002e248", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xd3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x69460570c93f9de5e2edbc3052bf10125f0ca22d", + "topics": [ + "0xf14fbd8b6e3ad3ae34babfa1f3b6a099f57643662f4cfc24eb335ae8718f534b", + "0x000000000000000000000000c84f14c250128357c82e1b737bf19e6efb1111bc", + "0x00000000000000000000000000000000000000000000000000000000000004ad" + ], + "data": "0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e248", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xd4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22d", + "0x000000000000000000000000eeeeee9ec4769a09a76a83c7bc42b185872860ee" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000001991a78", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xd5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000eeeeee9ec4769a09a76a83c7bc42b185872860ee", + "0x0000000000000000000000000000000000001ff3684f28c67538d4d072c22734" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000001991a78", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xd6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000eeeeee9ec4769a09a76a83c7bc42b185872860ee", + "0x0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000001991a78", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xd7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x000000000004444c5dc75cb358380d2e3de08a90", + "topics": [ + "0x40e9cecb9f5f1f1c5b9c97dec2917b7ee92e57ba5563708daca94dd84ad7112f", + "0x72331fcb696b0151904c03584b66dc8365bc63f8a144d89a773384e3a579ca73", + "0x0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f" + ], + "data": "0x00000000000000000000000000000000000000000000000000307920d90a97d1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe66e2d100000000000000000000000000000000000000000002e78a84a9bd0bb9369a4e00000000000000000000000000000000000000000000000000decf1fefa1ba90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf0d300000000000000000000000000000000000000000000000000000000000001f4", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xd8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f", + "0x000000000000000000000000000000000004444c5dc75cb358380d2e3de08a90" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000001991d2f", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xd9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f" + ], + "data": "0x00000000000000000000000000000000000000000000000000307920d90a97d1", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xda", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000000d0e364aa7852291883c162b22d6d81f6355428f" + ], + "data": "0x00000000000000000000000000000000000000000000000000307920d90a97d1", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xdb", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x69460570c93f9de5e2edbc3052bf10125f0ca22d", + "topics": [ + "0x2fc0d44e6ef6b3e7707cacd3cc326511198c3d1598c65dd54be5a9e37ce02f12" + ], + "data": "0x000000000000000000000000aaaaaaae92cc1ceef79a038017889fdd26d23d4d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xdc", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x69460570c93f9de5e2edbc3052bf10125f0ca22d", + "topics": [ + "0x0e9201911743fd4d03e146f00ad23945dc8f3ffc200906eff25179a52b726f17", + "0x00000000000000000000000000000000a2aae2cc949b4856ba6343a9348ac11d", + "0x00000000000000000000000000000000000000000000000000000000000004ad" + ], + "data": "0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000001991a7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f71bb37bb8e34540d0f90ff0b61ed81476e8c05c00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000b547275737457616c6c6574000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xdd", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x69460570c93f9de5e2edbc3052bf10125f0ca22d", + "topics": [ + "0xdf4363408b2d9811d1e5c23efdb5bae0b7a68bd9de2de1cbae18a11be3e67ef5" + ], + "data": "0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f71bb37bb8e34540d0f90ff0b61ed81476e8c05c", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xde", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22d", + "0x000000000000000000000000f71bb37bb8e34540d0f90ff0b61ed81476e8c05c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xdf", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x000000010000000000020000000000000000000000000000000000000000000000000000200000000090000000000108020000000c000000000000000020000400000000000000104000000800000002002000000040002000000002804000000000000800000040000000000800000200000000100004000000001000000000100000280003000000000000000000000000000100000000000008000010008002000000000000000000008010000100000000000000000000000000000000008080480a104000000000009000000000000001400000000000400002000000000290200000000000004000000000000004010000000000400004000000000000", + "status": "0x1", + "to": "0x69460570c93f9de5e2edbc3052bf10125f0ca22d", + "transactionHash": "0xa941df9d899389c8e1ea75115836bbb0946ac44aeb23ca2089cd614f7f8e7b73", + "transactionIndex": "0x33", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x8b1287", + "effectiveGasPrice": "0xb2d05e00", + "from": "0xc59ff126de6b406a5f4b1337d8fc8d18df50e35f", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x31fc58fac253b4a8d0fef43637dc28ca4054be47", + "transactionHash": "0xf5a1d5f7777dd7bb110136f4991c69ab11654ad77ebb1bbcbd68ed4678e76ee8", + "transactionIndex": "0x34", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x8b648f", + "effectiveGasPrice": "0xb2d05e00", + "from": "0xcd0663dc73b435055675c0d9ebb8a2ee3e222cc9", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x458c2a06ba8dc3def078513ad98e9da8ced39e02", + "transactionHash": "0x74159deeaf5e4ddd72060c4e063b26c32f740914effd3e99397d8b3050422bd4", + "transactionIndex": "0x35", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x8db944", + "effectiveGasPrice": "0x90edc970", + "from": "0x6bfcbaa7ff1d816b4b3bb21387b243fca3561230", + "gasUsed": "0x254b5", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ecbfe82e3bdf799a52d5273fd3926457fe397671", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000007268c6f", + "blockNumber": "0x151241d", + "transactionHash": "0x10c72f99ba695c83fcc485f913456ae54585dddda87b34af7260cd5814f416d0", + "transactionIndex": "0x36", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xe0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbad6c59d72d44512616f25b3d160c79db5a69ddf", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006bfcbaa7ff1d816b4b3bb21387b243fca3561230", + "0x000000000000000000000000ecbfe82e3bdf799a52d5273fd3926457fe397671" + ], + "data": "0x000000000000000000000000000000000000000000000043c33c193756480000", + "blockNumber": "0x151241d", + "transactionHash": "0x10c72f99ba695c83fcc485f913456ae54585dddda87b34af7260cd5814f416d0", + "transactionIndex": "0x36", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xe1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xecbfe82e3bdf799a52d5273fd3926457fe397671", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af" + ], + "data": "0x000000000000000000000000000000000000000000000043c33c193756480000fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8d97391000000000000000000000000000000000000000000000534609f099c2b6d2cb6000000000000000000000000000000000000000000000000133a03d315ead82bfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb6d29", + "blockNumber": "0x151241d", + "transactionHash": "0x10c72f99ba695c83fcc485f913456ae54585dddda87b34af7260cd5814f416d0", + "transactionIndex": "0x36", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xe2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000004938d", + "blockNumber": "0x151241d", + "transactionHash": "0x10c72f99ba695c83fcc485f913456ae54585dddda87b34af7260cd5814f416d0", + "transactionIndex": "0x36", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xe3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af", + "0x0000000000000000000000006bfcbaa7ff1d816b4b3bb21387b243fca3561230" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000721f8e2", + "blockNumber": "0x151241d", + "transactionHash": "0x10c72f99ba695c83fcc485f913456ae54585dddda87b34af7260cd5814f416d0", + "transactionIndex": "0x36", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xe4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000020000000000000000000800000000000000000000040000000000000000000000000080000000000000000010000010000000020000000000000000000004000080000000800000008004000000000000000000020000000000000000000000000000000200000000000000000000000000000000000000410000800000000000000000000000000000020000000000000000000000000000000100000000000000010000000000080000010000000000000000000000000000000000000000002000000000000000000000000000400000000000004000001000000000000000000000000000000000000000000000000000000800000000000000000", + "status": "0x1", + "to": "0x66a9893cc07d91d95644aedd05d03f95e1dba8af", + "transactionHash": "0x10c72f99ba695c83fcc485f913456ae54585dddda87b34af7260cd5814f416d0", + "transactionIndex": "0x36", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x8e0b4c", + "effectiveGasPrice": "0x90edc970", + "from": "0x9a10da8ce77f26231860764a2caab36e70584c4b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x6ad4ce58c9c909ea4e9eb7afbd918f7013c40f1d", + "transactionHash": "0x6ac78b2c0dd1055d26ad8305dd44316a6be5cdc85743d82131578d8389aedbac", + "transactionIndex": "0x37", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x8e5d54", + "effectiveGasPrice": "0x90edc970", + "from": "0x9a10da8ce77f26231860764a2caab36e70584c4b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x88b8dd2ace346d49292deda6b187903c38accccb", + "transactionHash": "0x1c6bb564d2ca1afe854893163f04964494dd3a219bee92a4df05925797ee780b", + "transactionIndex": "0x38", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x8eaf5c", + "effectiveGasPrice": "0x90edc970", + "from": "0x3c29ba2b68cb5af4decafa83d1c289533595d43c", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x7c0f75775967acc694212a2429a93fd13786ca1b", + "transactionHash": "0x23ccb6b0023cf41354d27b4e66e5d2822c99ec161b627972d7638580bc164c25", + "transactionIndex": "0x39", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x8f0164", + "effectiveGasPrice": "0x90edc970", + "from": "0xee18c9fff31f90896c1ec7164ebafdd083379d0e", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x6d6af71325b54acf50c500dd5708122f7c87d946", + "transactionHash": "0x4c6ba2f8d7f3f4683f2c152baf5787524ab900c9fc2f87966e64c20a2fe755e8", + "transactionIndex": "0x3a", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x94a23c", + "effectiveGasPrice": "0x19b83570", + "from": "0x3b25d8e0801df1264a3d3a5f0bb79bbc292a09fb", + "gasUsed": "0x5a0d8", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e0554a476a092703abdb3ef35c80e0d76d32939f", + "0x000000000000000000000000e6b1de575e7e610889ea21024834e120f92033a3" + ], + "data": "0x00000000000000000000000000000000000000000000000000475733151435a6", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xe5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xfe7e37f8b2de7ef92290fc26fd87f527323cf4e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000bfdcd8dcc61c1dff5257e1e42c043842ea89e6b5", + "0x0000000000000000000000007b0d1b9c28f012834ebb0b1b8bb8cbe6762f442c" + ], + "data": "0x000000000000000000000000000000000000000000000002d43c027281845f6a", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xe6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003416cf6c708da44db2624d63ea0aaef7113527c6", + "0x000000000000000000000000bfdcd8dcc61c1dff5257e1e42c043842ea89e6b5" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000249dad8", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xe7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x000000000000000000000000e6b1de575e7e610889ea21024834e120f92033a3" + ], + "data": "0x000000000000000000000000000000000000000000000000004562e9bce96330", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xe8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000083034714666b0eb2209aafc1b1cbb2ab9c6100db", + "0x0000000000000000000000003416cf6c708da44db2624d63ea0aaef7113527c6" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000249aeb8", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xe9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x83034714666b0eb2209aafc1b1cbb2ab9c6100db", + "topics": [ + "0xcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f", + "0x000000000000000000000000e6b1de575e7e610889ea21024834e120f92033a3", + "0x000000000000000000000000000000000000000000000000004562e9bce96330", + "0x000000000000000000000000000000000000000000000000000000000249aeb8" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xea", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3416cf6c708da44db2624d63ea0aaef7113527c6", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x000000000000000000000000e6b1de575e7e610889ea21024834e120f92033a3", + "0x000000000000000000000000bfdcd8dcc61c1dff5257e1e42c043842ea89e6b5" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000249aeb8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffdb625280000000000000000000000000000000000000001000cebc54309ceef4a0166d000000000000000000000000000000000000000000000000001b1a9fa8aa613300000000000000000000000000000000000000000000000000000000000000003", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xeb", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbfdcd8dcc61c1dff5257e1e42c043842ea89e6b5", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x000000000000000000000000e6b1de575e7e610889ea21024834e120f92033a3", + "0x0000000000000000000000007b0d1b9c28f012834ebb0b1b8bb8cbe6762f442c" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000249dad8fffffffffffffffffffffffffffffffffffffffffffffffd2bc3fd8d7e7ba096000000000000000000000000000000000011aee23eb8dae5188fc62fa6a644fc000000000000000000000000000000000000000000000000000d252285309c0d00000000000000000000000000000000000000000000000000000000000442e9", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xec", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000007b0d1b9c28f012834ebb0b1b8bb8cbe6762f442c", + "0x000000000000000000000000e0554a476a092703abdb3ef35c80e0d76d32939f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000002597830", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xed", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7b0d1b9c28f012834ebb0b1b8bb8cbe6762f442c", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000bca124d70000000000000000000000000000000000000000000000e547284bb79223840e", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xee", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7b0d1b9c28f012834ebb0b1b8bb8cbe6762f442c", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x000000000000000000000000e6b1de575e7e610889ea21024834e120f92033a3", + "0x000000000000000000000000e0554a476a092703abdb3ef35c80e0d76d32939f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d43c027281845f6a00000000000000000000000000000000000000000000000000000000025978300000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xef", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xe0554a476a092703abdb3ef35c80e0d76d32939f", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x000000000000000000000000e6b1de575e7e610889ea21024834e120f92033a3", + "0x000000000000000000000000e6b1de575e7e610889ea21024834e120f92033a3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000002597830ffffffffffffffffffffffffffffffffffffffffffffffffffb8a8cceaebca5a000000000000000000000000000000000000582b9ec2aa8d76c1f2a6d4db71d900000000000000000000000000000000000000000000000004bded5eb28efb030000000000000000000000000000000000000000000000000000000000030f32", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xf0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x000000000000000000000000e6b1de575e7e610889ea21024834e120f92033a3" + ], + "data": "0x0000000000000000000000000000000000000000000000000001f449582ad276", + "blockNumber": "0x151241d", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xf1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x0020000000000102200000008000000001800010040002000000000008000400000000002000000020000000000001000200000008802000000000000000080000002000000000080810000800000020200000000040400003000000000000000001000000000400000000020000000005000000000004000000001000080000000000000020202000010000000000000000000001000008002000c000100000000020000000200000000080000000000000000400000000000000040020000000000002000000000000000000020080000200000000001000040002000000000004200000000000000000000000000001000000010000000000000000000000", + "status": "0x1", + "to": "0xe6b1de575e7e610889ea21024834e120f92033a3", + "transactionHash": "0xb3221c6274e2e7cde5830de5dfda3d98510dc1b13090cdc773d07395dd169203", + "transactionIndex": "0x3b", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x95564d", + "effectiveGasPrice": "0x47868c00", + "from": "0xc1283df4ff9609a618604bec4dae21bb3727100e", + "gasUsed": "0xb411", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c1283df4ff9609a618604bec4dae21bb3727100e", + "0x0000000000000000000000008a1aca1badcd22455de9cbf67f9b2fba0ca5ec71" + ], + "data": "0x000000000000000000000000000000000000000000000000000000001dcd6500", + "blockNumber": "0x151241d", + "transactionHash": "0x4324f53f98466cbae02c8fded05915379f49614428f478dd8576413625cceb56", + "transactionIndex": "0x3c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xf2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000400000000000000000004080000000000000000000000000000000000000000000000002000000000000000000008004000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0x4324f53f98466cbae02c8fded05915379f49614428f478dd8576413625cceb56", + "transactionIndex": "0x3c", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x95a855", + "effectiveGasPrice": "0x77359400", + "from": "0x46340b20830761efd32832a74d7169b29feb9758", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1b9de19d464322fc2ff4e80c6b7f10af398f7857", + "transactionHash": "0x8f44bcd260c5dfc0385a8c08f3ca73a565a04e9264661948a5f358ecf130b016", + "transactionIndex": "0x3d", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x95fa5d", + "effectiveGasPrice": "0x77359400", + "from": "0x46340b20830761efd32832a74d7169b29feb9758", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xd6eaed9e04ffcb52c5abd93745b0c7fa25fe5805", + "transactionHash": "0x0959c5ed6094fbc9b82d9c03984ec602d8c914c35f0c7c5d09da3eb32263fd3c", + "transactionIndex": "0x3e", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x964c65", + "effectiveGasPrice": "0x77359400", + "from": "0x46340b20830761efd32832a74d7169b29feb9758", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x810ca8be30da5ae9eb0cc1abda3b64d6590a31c0", + "transactionHash": "0xebf2edd49370c310d6e0e122781266d949c98b168fe1e3c29eb3d5650315c107", + "transactionIndex": "0x3f", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x969e6d", + "effectiveGasPrice": "0x77359400", + "from": "0x46340b20830761efd32832a74d7169b29feb9758", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xefcf61722844408c3131d47615d24b1ff0da55fd", + "transactionHash": "0x1812d37891cb004e1182c228bc94e3cde40dbe61b5843fd851e83e32d310b5c3", + "transactionIndex": "0x40", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x99c5f8", + "effectiveGasPrice": "0x35a4e900", + "from": "0xb2f5a0c28d256476f8b013a1643ee3c075f666d5", + "gasUsed": "0x3278b", + "logs": [ + { + "address": "0x198cf9a9222d965475c4575e97ce42174c9f55f1", + "topics": [ + "0x2b9837b4395d34fa9566808a9dbc37e11b4df560a8eca8f6e672218e34439ae5" + ], + "data": "0x000000000000000000000000b2f5a0c28d256476f8b013a1643ee3c075f666d5000000000000000000000000000000000000000000000000005da0d2c8692000000000000000000000000000b2f5a0c28d256476f8b013a1643ee3c075f666d5000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000007f140000000000000000000000000000000000000000000000000000000000007f0b", + "blockNumber": "0x151241d", + "transactionHash": "0x750643b53c04e74f00b55c2b2e71578958951110f76d93931791bf5bc41aebb6", + "transactionIndex": "0x41", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xf3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000008000000000004000000000800000000000000040000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x198cf9a9222d965475c4575e97ce42174c9f55f1", + "transactionHash": "0x750643b53c04e74f00b55c2b2e71578958951110f76d93931791bf5bc41aebb6", + "transactionIndex": "0x41", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x9abcd5", + "effectiveGasPrice": "0x37859a70", + "from": "0x34be5e578a5eed7ce18b0f32ee9b4ee960c2e4bd", + "gasUsed": "0xf6dd", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000034be5e578a5eed7ce18b0f32ee9b4ee960c2e4bd", + "0x0000000000000000000000000dfaf8f477875a6ecf72e9e970afbac4de0293e0" + ], + "data": "0x000000000000000000000000000000000000000000000000000000003b9aca00", + "blockNumber": "0x151241d", + "transactionHash": "0x2a02c883644af8d5a01f84948e33e36cc3dce42c210b2ef799d1d75631d0c4fd", + "transactionIndex": "0x42", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xf4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000a00000001000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0x2a02c883644af8d5a01f84948e33e36cc3dce42c210b2ef799d1d75631d0c4fd", + "transactionIndex": "0x42", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x9b0edd", + "effectiveGasPrice": "0x73206470", + "from": "0x31e9b3373f2ad5d964cad0fd01332d6550cbbde6", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x24f60b1672fbf2b654bd6f72c11b73953b5f1007", + "transactionHash": "0x7cd315a8883c773114b3d98eb1cd08b90376b022d9357e2a01ba4688e638cc04", + "transactionIndex": "0x43", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x9dbdcd", + "effectiveGasPrice": "0x29b92700", + "from": "0x37dd97f659428504ffc2a41a749edc5020103bd6", + "gasUsed": "0x2aef0", + "logs": [ + { + "address": "0xf3768d6e78e65fc64b8f12ffc824452130bd5394", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000d19dcbb8b82805d779a6a2182d8f4355275cc30a", + "0x000000000000000000000000b62bdb1a6ac97a9b70957dd35357311e8859f0d7" + ], + "data": "0x000000000000000000000000000000000000000000005743dc78edadc10b44a5", + "blockNumber": "0x151241d", + "transactionHash": "0x4193e76d682b96c78dab1e795283c8100ebc325768aeea0eb8f18df4664e093e", + "transactionIndex": "0x44", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xf5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xf3768d6e78e65fc64b8f12ffc824452130bd5394", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d19dcbb8b82805d779a6a2182d8f4355275cc30a", + "0x0000000000000000000000004808e4cc6a2ba764778a0351e1be198494af0b43" + ], + "data": "0x000000000000000000000000000000000000000000005743dc78edadc10b44a5", + "blockNumber": "0x151241d", + "transactionHash": "0x4193e76d682b96c78dab1e795283c8100ebc325768aeea0eb8f18df4664e093e", + "transactionIndex": "0x44", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xf6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x4808e4cc6a2ba764778a0351e1be198494af0b43", + "topics": [ + "0xa3af609bf46297028ce551832669030f9effef2b02606d02cbbcc40fe6b47c55", + "0x0000000000000000000000000000000000000000000000000000000000000079" + ], + "data": "0x000000000000000000000000000000000000000000005743dc78edadc10b44a5", + "blockNumber": "0x151241d", + "transactionHash": "0x4193e76d682b96c78dab1e795283c8100ebc325768aeea0eb8f18df4664e093e", + "transactionIndex": "0x44", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xf7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xef443646e52d1c28bd757f570d18f4db30db70f4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000037dd97f659428504ffc2a41a749edc5020103bd6" + ], + "data": "0x000000000000000000000000000000000000000bacdd0bd61118d49a40e81320", + "blockNumber": "0x151241d", + "transactionHash": "0x4193e76d682b96c78dab1e795283c8100ebc325768aeea0eb8f18df4664e093e", + "transactionIndex": "0x44", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xf8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd19dcbb8b82805d779a6a2182d8f4355275cc30a", + "topics": [ + "0xd16b1baf5a6367aef04997ff7695583fd3c7b775ba5d24a74c7ae3f33582f32c", + "0x0000000000000000000000000000000000000000000000000000000000000079", + "0x000000000000000000000000000000000000000000005743dc78edadc10b44a5" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x4193e76d682b96c78dab1e795283c8100ebc325768aeea0eb8f18df4664e093e", + "transactionIndex": "0x44", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xf9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000800000000000010000000000010000400010000080000004000000000040000000000000000200000000000800000008000000008000000000800102000800000000000000000040000100000020000000000000000000800000000000000000000000010000020000000000000000000000000000000000000000000000000000000000000000000020000100001000000000000000800008000000200404000880000000000000000000002440000000000008000000000000000000000000000000020000020010010000000000008000000000000000000000102000000000000000000000800", + "status": "0x1", + "to": "0xd19dcbb8b82805d779a6a2182d8f4355275cc30a", + "transactionHash": "0x4193e76d682b96c78dab1e795283c8100ebc325768aeea0eb8f18df4664e093e", + "transactionIndex": "0x44", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x9f654d", + "effectiveGasPrice": "0x83215600", + "from": "0xc4cf16c4a92c8a147dd21d54d5ea05c511007b10", + "gasUsed": "0x1a780", + "logs": [ + { + "address": "0x49128cf8abe9071ee24540a296b5ded3f9d50443", + "topics": [ + "0x89f85a4bd38f70943757e43dedd843409e565220cb52ba80fc297d1246b3b9bb", + "0x000000000000000000000000c4cf16c4a92c8a147dd21d54d5ea05c511007b10", + "0x0000000000000000000000000000000000000000000000000000000067dea640" + ], + "data": "0x00000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x46502c1b2a16433f78830c00327b451f6613c5beb23fb0b27813b519e268d8f0", + "transactionIndex": "0x45", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xfa", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xcda72070e455bb31c7690a170224ce43623d0b6f", + "topics": [ + "0x00ce0a712e4e277ac7b34942865f0de7a5629dffe0539b70423ad5ff1ed6ab42", + "0x000000000000000000000000bfe8864afef8cdd840a01946eded6ce70dc2d1d6", + "0x000000000000000000000000000000000000000000000000000000000000002d", + "0x000000000000000000000000c4cf16c4a92c8a147dd21d54d5ea05c511007b10" + ], + "data": "0x00000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000000000067dea640", + "blockNumber": "0x151241d", + "transactionHash": "0x46502c1b2a16433f78830c00327b451f6613c5beb23fb0b27813b519e268d8f0", + "transactionIndex": "0x45", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xfb", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000200040000008000000000400000000000000000000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000800000000100000000000000000000000000000000000000040000000000040000000000800000000000000000000000000000000000000000000020000000000040008000000000000800000000000010000000000000000000000000000000000800000000000000000000000000000000400000000000040000000000000000000000000000800000100000000100000040000000", + "status": "0x1", + "to": "0xcda72070e455bb31c7690a170224ce43623d0b6f", + "transactionHash": "0x46502c1b2a16433f78830c00327b451f6613c5beb23fb0b27813b519e268d8f0", + "transactionIndex": "0x45", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x9fb955", + "effectiveGasPrice": "0x411d86bf", + "from": "0xf70da97812cb96acdf810712aa562db8dfa3dbef", + "gasUsed": "0x5408", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc43e2bbf97747f00916321f9be2d77480d30cddc", + "transactionHash": "0xa218e23958b91c36d228559827f33306cac6ea80ee0749ea15dd3dd483c016e1", + "transactionIndex": "0x46", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xa00d5d", + "effectiveGasPrice": "0x411d86bf", + "from": "0xf70da97812cb96acdf810712aa562db8dfa3dbef", + "gasUsed": "0x5408", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc16be454b9f43b29ae22d192633c680cf156c0d5", + "transactionHash": "0x23e4929192b96ecfbfb4981d5ac64e9d9aec0a70dab6f59e3ca5d57c47269460", + "transactionIndex": "0x47", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xa4d0e3", + "effectiveGasPrice": "0x1f063db0", + "from": "0x146f5b80ce6a998ca02c0f16ee191a8247dc1992", + "gasUsed": "0x4c386", + "logs": [ + { + "address": "0xbe9895146f7af43049ca1c1ae358b0541ea49704", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000146f5b80ce6a998ca02c0f16ee191a8247dc1992", + "0x0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed16" + ], + "data": "0x00000000000000000000000000000000000000000000000000b7d4e4d3420000", + "blockNumber": "0x151241d", + "transactionHash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "transactionIndex": "0x48", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xfc", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x9a47f3289794e9bbc6a3c571f6d96ad4e7baed16", + "topics": [ + "0x6ded982279c8387ad8a63e73385031a3807c1862e633f06e09d11bcb6e282f60" + ], + "data": "0x000000000000000000000000be9895146f7af43049ca1c1ae358b0541ea49704000000000000000000000000e6b738da243e8fa2a0ed5915645789add5de51520000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "transactionIndex": "0x48", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xfd", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbe9895146f7af43049ca1c1ae358b0541ea49704", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed16", + "0x0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae" + ], + "data": "0x00000000000000000000000000000000000000000000000000b7d4e4d3420000", + "blockNumber": "0x151241d", + "transactionHash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "transactionIndex": "0x48", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xfe", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000177622e79acece98c39f6e12fa78ac7fc8a8bf62", + "0x0000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e64" + ], + "data": "0x00000000000000000000000000000000000000000000000000c8b092fe6ac8da", + "blockNumber": "0x151241d", + "transactionHash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "transactionIndex": "0x48", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0xff", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbe9895146f7af43049ca1c1ae358b0541ea49704", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "0x000000000000000000000000177622e79acece98c39f6e12fa78ac7fc8a8bf62" + ], + "data": "0x00000000000000000000000000000000000000000000000000b7d4e4d3420000", + "blockNumber": "0x151241d", + "transactionHash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "transactionIndex": "0x48", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x100", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x177622e79acece98c39f6e12fa78ac7fc8a8bf62", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x0000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e64", + "0x0000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e64" + ], + "data": "0x00000000000000000000000000000000000000000000000000b7d4e4d3420000ffffffffffffffffffffffffffffffffffffffffffffffffff374f6d0195372600000000000000000000000000000000000000010b7e797f521419a031131d14000000000000000000000000000000000000000000002e06e1fb88d028c8c5ac000000000000000000000000000000000000000000000000000000000000036e", + "blockNumber": "0x151241d", + "transactionHash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "transactionIndex": "0x48", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x101", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e64" + ], + "data": "0x00000000000000000000000000000000000000000000000000c8b092fe6ac8da", + "blockNumber": "0x151241d", + "transactionHash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "transactionIndex": "0x48", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x102", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "topics": [ + "0x7bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b38" + ], + "data": "0x2e482c81704e596e7bc6daf64094672339cb685fd36ec0f5148d8f2f99bd46770000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e64000000000000000000000000be9895146f7af43049ca1c1ae358b0541ea49704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b7d4e4d342000000000000000000000000000000000000000000000000000000c8b092fe6ac8da0000000000000000000000000000000000000000000000000000000067dd4a0f", + "blockNumber": "0x151241d", + "transactionHash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "transactionIndex": "0x48", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x103", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa5f565650890fba1824ee0f21ebbbf660a179934", + "topics": [ + "0x936c2ca3b35d2d0b24057b0675c459e4515f48fe132d138e213ae59ffab7f53e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020d7f357cae9aa2e56b94c2f6c71cfe1166f31b61c5bfb9871c33f66513061b973", + "blockNumber": "0x151241d", + "transactionHash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "transactionIndex": "0x48", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x104", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "topics": [ + "0xcba69f43792f9f399347222505213b55af8e0b0b54b893085c2e27ecbe1644f1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000202e482c81704e596e7bc6daf64094672339cb685fd36ec0f5148d8f2f99bd46770000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000146f5b80ce6a998ca02c0f16ee191a8247dc199200000000000000000000000000000000000000000000000000c8b092fe6ac8da000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000572656c6179000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6d6574616d61736b2d6272696467650000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "transactionIndex": "0x48", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x105", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x9a47f3289794e9bbc6a3c571f6d96ad4e7baed16", + "topics": [ + "0x831bac9533a2034226daa21109dbd4f887674f0fe4877e1a8b35b3ffe1bdce76" + ], + "data": "0x000000000000000000000000146f5b80ce6a998ca02c0f16ee191a8247dc19920000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000be9895146f7af43049ca1c1ae358b0541ea49704000000000000000000000000addb6a0412de1ba0f936dcaeb8aaa24578dcf3b200000000000000000000000000000000000000000000000000b7d4e4d3420000", + "blockNumber": "0x151241d", + "transactionHash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "transactionIndex": "0x48", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x106", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x0000000000000000000000000000000000010000000000000000000400000000000000000000000000000000040004000200000008002000000000000000008000000000000000280000000800000800000400000040000000000000000000000400000480000000200000000000a00000000002200004000000001000080000000000002000002001000000000000040000000000040000000000100000000a000000020000000010000000080000000000400000000000004000002400000008001023000000000000001000000000002000000000100000800002000200000080200000200000000000800000000000000000000000000000000000080000", + "status": "0x1", + "to": "0x0439e60f02a8900a951603950d8d4527f400c3f1", + "transactionHash": "0x4cf8b0c387a9228a33f337662fb55be6afde11e74d2b8819dc5e8211695b5cdc", + "transactionIndex": "0x48", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xa783ce", + "effectiveGasPrice": "0x37859a70", + "from": "0x696e5f28291049a1115f5c44bac7885d77121f82", + "gasUsed": "0x2b2eb", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000696e5f28291049a1115f5c44bac7885d77121f82", + "0x0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae" + ], + "data": "0x0000000000000000000000000000000000000000000000000ddfa3f5659d5eac", + "blockNumber": "0x151241d", + "transactionHash": "0x801f8f7d10eb9e5af68f4a144801c6eb612ef08fdfe207fcfe5781305ccdcab4", + "transactionIndex": "0x49", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x107", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "0x0000000000000000000000005215e9fd223bc909083fbdb2860213873046e45d" + ], + "data": "0x0000000000000000000000000000000000000000000000000ddfa3f5659d5eac", + "blockNumber": "0x151241d", + "transactionHash": "0x801f8f7d10eb9e5af68f4a144801c6eb612ef08fdfe207fcfe5781305ccdcab4", + "transactionIndex": "0x49", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x108", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000005215e9fd223bc909083fbdb2860213873046e45d" + ], + "data": "0x0000000000000000000000000000000000000000000000000ddfa3f5659d5eac", + "blockNumber": "0x151241d", + "transactionHash": "0x801f8f7d10eb9e5af68f4a144801c6eb612ef08fdfe207fcfe5781305ccdcab4", + "transactionIndex": "0x49", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x109", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "topics": [ + "0x7bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b38" + ], + "data": "0x91e9765486a7224de8d229b3147b7c7cd22c50a508f38400b37a45c33b5b60850000000000000000000000005215e9fd223bc909083fbdb2860213873046e45d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddfa3f5659d5eac0000000000000000000000000000000000000000000000000ddfa3f5659d5eac0000000000000000000000000000000000000000000000000000000067dd4a0f", + "blockNumber": "0x151241d", + "transactionHash": "0x801f8f7d10eb9e5af68f4a144801c6eb612ef08fdfe207fcfe5781305ccdcab4", + "transactionIndex": "0x49", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x10a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa5f565650890fba1824ee0f21ebbbf660a179934", + "topics": [ + "0x936c2ca3b35d2d0b24057b0675c459e4515f48fe132d138e213ae59ffab7f53e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020623d1e26a33b42abb326e071cdda4efac9b8b5147ab4199a4f20d668c67dbfa1", + "blockNumber": "0x151241d", + "transactionHash": "0x801f8f7d10eb9e5af68f4a144801c6eb612ef08fdfe207fcfe5781305ccdcab4", + "transactionIndex": "0x49", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x10b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "topics": [ + "0xcba69f43792f9f399347222505213b55af8e0b0b54b893085c2e27ecbe1644f1" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002091e9765486a7224de8d229b3147b7c7cd22c50a508f38400b37a45c33b5b60850000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000696e5f28291049a1115f5c44bac7885d77121f820000000000000000000000000000000000000000000000000ddfa3f5659d5eac000000000000000000000000000000000000000000000000000000000000a4b100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000572656c6179000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6a756d7065722e65786368616e67650000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x801f8f7d10eb9e5af68f4a144801c6eb612ef08fdfe207fcfe5781305ccdcab4", + "transactionIndex": "0x49", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x10c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000008000000404000000000008000000000000000100000000800000000000400000040000000000080000004000400000480000000200000000000000000000002000004000000001000000000000000000000000000000000000000000000000000000000000000100000000a000000020000000000000000080000000000000000000000000000002000000000001002000000000000801000000000000000000000000000000002000000000000200000200000000000800000000000000000000000000000000000080000", + "status": "0x1", + "to": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "transactionHash": "0x801f8f7d10eb9e5af68f4a144801c6eb612ef08fdfe207fcfe5781305ccdcab4", + "transactionIndex": "0x49", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xa84c7c", + "effectiveGasPrice": "0x37859a70", + "from": "0xb934526bc06493d5be27227545a06b4c01156bbc", + "gasUsed": "0xc8ae", + "logs": [ + { + "address": "0x3073f7aaa4db83f95e9fff17424f71d4751a3073", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000b934526bc06493d5be27227545a06b4c01156bbc", + "0x000000000000000000000000f1df43a3053cd18e477233b59a25fc483c2cbe0f" + ], + "data": "0x00000000000000000000000000000000000000000000000000000002521c4130", + "blockNumber": "0x151241d", + "transactionHash": "0x6c496c5fa30a1f5602bbf2fbefc13b94b7b2d949999a271168dd45586aa1f2e2", + "transactionIndex": "0x4a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x10d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x04000000000000000000000000000000000000000000010000000000000000000000000000000000000200000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000020000000000000000000000000000000000000000000000000000000008080000000000010000000000000000000000000000400000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x3073f7aaa4db83f95e9fff17424f71d4751a3073", + "transactionHash": "0x6c496c5fa30a1f5602bbf2fbefc13b94b7b2d949999a271168dd45586aa1f2e2", + "transactionIndex": "0x4a", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xaa1863", + "effectiveGasPrice": "0x5552ff70", + "from": "0x8f556bdadb94b9604a92ce52b62d5b5c25612569", + "gasUsed": "0x1cbe7", + "logs": [ + { + "address": "0xd5e700ff03e8f2894169c487300595e59d280cd4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000008f556bdadb94b9604a92ce52b62d5b5c25612569", + "0x000000000000000000000000000000000000000000000000000000000000dead" + ], + "data": "0x00000000000000000000000000000000000000000000032d26d12e980b600000", + "blockNumber": "0x151241d", + "transactionHash": "0xc5fde8095286df27a1ab6ea52eacd897f6a6af529d03baf25bfd451c772d1089", + "transactionIndex": "0x4b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x10e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x8ab84de08053f438b94ddd82288f974c01014b33", + "topics": [ + "0x9f1ec8c880f76798e7b793325d625e9b60e4082a553c98f42b6cda368dd60008", + "0x0000000000000000000000008f556bdadb94b9604a92ce52b62d5b5c25612569", + "0x00000000000000000000000000000000000000000000032d26d12e980b600000" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0xc5fde8095286df27a1ab6ea52eacd897f6a6af529d03baf25bfd451c772d1089", + "transactionIndex": "0x4b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x10f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000010000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000008000010001000000000000000000000000000000000000000010000000000000000000000000000000000000000000010000000000000000000000000000004000000000010000000000000000000000000000000000000000000000000000000000000000000200000200000000000008000000000000402000000000000000000000000040000000100000000000000000000000000000000000000000000040800000000000000000000000000000000804000", + "status": "0x1", + "to": "0x8ab84de08053f438b94ddd82288f974c01014b33", + "transactionHash": "0xc5fde8095286df27a1ab6ea52eacd897f6a6af529d03baf25bfd451c772d1089", + "transactionIndex": "0x4b", + "type": "0x2" + }, + { + "blobGasPrice": "0x12", + "blobGasUsed": "0x20000", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xab86cf", + "effectiveGasPrice": "0x289ee7f0", + "from": "0x41f2f55571f9e8e3ba511adc48879bd67626a2b6", + "gasUsed": "0x16e6c", + "logs": [ + { + "address": "0x06a9ab27c7e2255df1815e6cc0168d7755feb19a", + "topics": [ + "0xf4636413c66bd7ef2a1d735c30d22543acb0fba1b0892503bef0734b237c3f37", + "0x00000000000000000000000041f2f55571f9e8e3ba511adc48879bd67626a2b6" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f3e1d000000000000000000000000000000000000000000000006c6b935b8bbd40000", + "blockNumber": "0x151241d", + "transactionHash": "0x18e253ee5652612b33c1e9988498d470badadadcb4beade002a306c5a786890c", + "transactionIndex": "0x4c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x110", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x06a9ab27c7e2255df1815e6cc0168d7755feb19a", + "topics": [ + "0xefe9c6c0b5cbd9c0eed2d1e9c00cfc1a010d6f1aff50f7facd665a639b622b26", + "0x00000000000000000000000000000000000000000000000000000000000f3e1d" + ], + "data": "0xc92ae4fbcf93664696053a2289509c634889c12880fe0abbc8fa057e50dee7fb263d7b1b8c5f00b4c7d70661a1dffb000209ffe8af4766f62565defa7d0262fb011b6eafb8adbce93046ed27a32abbed4075634c291d6af729940d19f361d67a000000000000000000000000000000000000000000000000000000000000004b00000000000000000000000041f2f55571f9e8e3ba511adc48879bd67626a2b600000000000000000000000000000000000000000000000000000000000f3e1d000000000000000000000000000000000000000000000000000000000e4e1c000000000000000000000000000000000000000000000000000000000067dd4a0f000000000000000000000000000000000000000000000000000000000151241c00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000015a90104cdb645949c5da2c513af3d8f3dfca43d7d80b6b9f8ad8188f5f14574a00000000000000000000000041f2f55571f9e8e3ba511adc48879bd67626a2b6000000000000000000000000000000000000000000000006c6b935b8bbd400000000000000000000000000000000000000000000000000000000000067dd4a0f000000000000000000000000000000000000000000000000000000000151241d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ae300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000004b00000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000000000000000000000000000000000004fdec7000000000000000000000000000000000000000000000000000000000023c34600", + "blockNumber": "0x151241d", + "transactionHash": "0x18e253ee5652612b33c1e9988498d470badadadcb4beade002a306c5a786890c", + "transactionIndex": "0x4c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x111", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x06a9ab27c7e2255df1815e6cc0168d7755feb19a", + "topics": [ + "0xb4be1a16d35fdd62eeaf9f552e025df3639847ddf2d61f011c72565056785ad2" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f3e1e00000000000000000000000000000000000000000000000000000000000f3b8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000151241d000000000000000000000000000000000000000000000000000000006650cf33", + "blockNumber": "0x151241d", + "transactionHash": "0x18e253ee5652612b33c1e9988498d470badadadcb4beade002a306c5a786890c", + "transactionIndex": "0x4c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x112", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x80000000000000000000000000000000008000000000000000000000000000000000000000010000000000800000000000000000000000000000000000000000000000000000000000400000000000400000000000000000000000000000000100000000000000000000000000000000000000000100000008000000000000000000000000400000200000000000000000000000000000000000000000000000000000000000000000100000000004000000000000000000000000000000000000000000000000000100000000002000000000000000000000000000000000000000004000000000000000000000000200000000000000000000800000000000", + "status": "0x1", + "to": "0x06a9ab27c7e2255df1815e6cc0168d7755feb19a", + "transactionHash": "0x18e253ee5652612b33c1e9988498d470badadadcb4beade002a306c5a786890c", + "transactionIndex": "0x4c", + "type": "0x3" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xad04ca", + "effectiveGasPrice": "0x27ced7af", + "from": "0x37396e1ec705cc13e1c92be3741f4f943e1e48d7", + "gasUsed": "0x17dfb", + "logs": [ + { + "address": "0xcd351d3626dc244730796a3168d315168ebf08be", + "topics": [ + "0xe2688b6900b89a8dc9b790e8ad7e598062004db7e424b7781144ffccf76c734b" + ], + "data": "0x1f00201acaf4f442218716fd7fdd694324efe43a03377da1d170a2262eda867a0000000000000000000000000000000000000000000000000000000000010360000000000000000000000000f44adb9a4ca3078cf387c63c8f3551fe0ac33fbd00000000000000000000000037396e1ec705cc13e1c92be3741f4f943e1e48d7", + "blockNumber": "0x151241d", + "transactionHash": "0xce507f6011fd9e5472b9c9ebc297f47b4197358b2ee9e2f35890b9401f2a110e", + "transactionIndex": "0x4d", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x113", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000886cb6662e7813c8f7bd85d56ff7fece793aee92", + "0x000000000000000000000000f5e10380213880111522dd0efd3dbb45b9f62bcc" + ], + "data": "0x000000000000000000000000000000000000000000000000000000012a05f200", + "blockNumber": "0x151241d", + "transactionHash": "0xce507f6011fd9e5472b9c9ebc297f47b4197358b2ee9e2f35890b9401f2a110e", + "transactionIndex": "0x4d", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x114", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000008000000000000000000000400000000010000000000000000000000000000000000400000000000000000000048000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000010000000000000000000000000008000000000000000000000000000000000000000100000000200000000000000100480000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000800000000000000000000000000", + "status": "0x1", + "to": "0xf5e10380213880111522dd0efd3dbb45b9f62bcc", + "transactionHash": "0xce507f6011fd9e5472b9c9ebc297f47b4197358b2ee9e2f35890b9401f2a110e", + "transactionIndex": "0x4d", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xad56d2", + "effectiveGasPrice": "0x54ab583b", + "from": "0xd800b408080dbac4212fb62a917962b5e816ae85", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xe1541b73743977e19847daf0d29a451bee18915f", + "transactionHash": "0xe815d5384997b11d2c9aa742b6eb99514dac2b444644e4955dac0ef9a4c626ba", + "transactionIndex": "0x4e", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xaee864", + "effectiveGasPrice": "0x5552ff70", + "from": "0x9f9a98ca647915c4546d364b5f02e5549dbc69f6", + "gasUsed": "0x19192", + "logs": [ + { + "address": "0x57289f282ce468696cdcabc284b6fab66dbf168f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006f66b95a0c512f3497fb46660e0bc3b94b989f8d", + "0x0000000000000000000000009f9a98ca647915c4546d364b5f02e5549dbc69f6", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0xca5dff500f146a7ec1de6e80c50019b83541a3715dfc7b30bdf83b0824ed7516", + "transactionIndex": "0x4f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x115", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x6f66b95a0c512f3497fb46660e0bc3b94b989f8d", + "topics": [ + "0x50d73552a7c03b8dc819baed087a15a97fe6abdc907b7a06e4bb0e300712395d", + "0x0000000000000000000000009f9a98ca647915c4546d364b5f02e5549dbc69f6", + "0x00000000000000000000000057289f282ce468696cdcabc284b6fab66dbf168f", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000009f9a98ca647915c4546d364b5f02e5549dbc69f60000000000000000000000009f9a98ca647915c4546d364b5f02e5549dbc69f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067dd480b00000000000000000000000000000000000000000000000009b6e64a8ec600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000151800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000075", + "blockNumber": "0x151241d", + "transactionHash": "0xca5dff500f146a7ec1de6e80c50019b83541a3715dfc7b30bdf83b0824ed7516", + "transactionIndex": "0x4f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x116", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000100000000000000000000000000000000000000000000100000000000000000000000000000000000000000000100000040000000002480000000000000008000200000000000000040000000000040000000040000000000000000000000000000000000010000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000400000000000000000000000001000000000000000000000004000000000000000002000000000000000004000000000000000000000000000000000040040000000000008000020000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x6f66b95a0c512f3497fb46660e0bc3b94b989f8d", + "transactionHash": "0xca5dff500f146a7ec1de6e80c50019b83541a3715dfc7b30bdf83b0824ed7516", + "transactionIndex": "0x4f", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xaf82bc", + "effectiveGasPrice": "0x37859a70", + "from": "0x53219dd0aa47e1ec7ea5e4566df1b2cb4fa0e68c", + "gasUsed": "0x9a58", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000053219dd0aa47e1ec7ea5e4566df1b2cb4fa0e68c", + "0x00000000000000000000000099969cfd53accb8730242016158c40a3df2eb30b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xd86cfb90bf857426dd24d30159baa1b603206b6ba0ad00cc97546a8b9954ea88", + "transactionIndex": "0x50", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x117", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000002000000000000000100000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000008000008008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000004010000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0xd86cfb90bf857426dd24d30159baa1b603206b6ba0ad00cc97546a8b9954ea88", + "transactionIndex": "0x50", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xb0572f", + "effectiveGasPrice": "0x297fa117", + "from": "0x92efb9a5ff3802199d6e0b6abfc2ade2f75de42b", + "gasUsed": "0xd473", + "logs": [ + { + "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000092efb9a5ff3802199d6e0b6abfc2ade2f75de42b", + "0x000000000000000000000000467d746f6140deb6a88525824e5b9ed102bb4dd4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000b71b00", + "blockNumber": "0x151241d", + "transactionHash": "0xe78af1ebcfc921b224e18feb27c801388b5455ac9f3d986a19c75382ead573a7", + "transactionIndex": "0x51", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x118", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000040000000000000000040000000000000000000000000020000000001000000000010000000000000000000000000000000000000000000000000000000000000000000000000010008000000000000000000000000000000000010000000000000000000000000000002000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000200000000000000000000000000000", + "status": "0x1", + "to": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599", + "transactionHash": "0xe78af1ebcfc921b224e18feb27c801388b5455ac9f3d986a19c75382ead573a7", + "transactionIndex": "0x51", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xb4b725", + "effectiveGasPrice": "0x1cb325f0", + "from": "0x75fec8bb2d99076d776a5d46d1e3d42686520ef1", + "gasUsed": "0x45ff6", + "logs": [ + { + "address": "0xd085b74a57d1d7947b9c9f8e2d75cb6832d62d0f", + "topics": [ + "0x4f4caa9e67fb994e349dd35d1ad0ce23053d4323f83ce11dc817b5435031d096", + "0x00000000000000000000000000000000000000000000000000000000000001c8", + "0x6289f6c9d3c12d2b60444bf291b26444d2ac8bb90202a48362721e0e9668f411", + "0xb5fcf53086c0ded259fdfad749b359b552c4e31434c1c295360f5a998ae836da" + ], + "data": "0x9182fa7272d15da4c4ee0970b1f5e8a36b908b09ec0e838cc934daadd0fbd2f2d9304dd5143aad5dede2b088e9af5c2c3d57718b5061010d6fc39f748e6b99e3e96cedbadbec09e043801b758463342993c687a6609a203fbdc588930a2900030000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000191a878b4442b136a53a6387b8c363b1c2e2488c87b9aa37ad3ae50adf14b831be96cedbadbec09e043801b758463342993c687a6609a203fbdc588930a2900030000000000000000000000000000000000000000000000000000000000000ac5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000009bc7f820278b6386578cb8309306bf59338d3131cc3aa06a942310e5eaa360aa63c3184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa390000000000000000000000000000000000000000000000000000000000000ac5", + "blockNumber": "0x151241d", + "transactionHash": "0x9d7bb66de33bad3559b6bfb68861bf62794e1ea43a69f13cb9d30f8b02805eed", + "transactionIndex": "0x52", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x119", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000100000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000011000000000000000000000000000000000000000000010000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000100100000000", + "status": "0x1", + "to": "0xd085b74a57d1d7947b9c9f8e2d75cb6832d62d0f", + "transactionHash": "0x9d7bb66de33bad3559b6bfb68861bf62794e1ea43a69f13cb9d30f8b02805eed", + "transactionIndex": "0x52", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xb8ee22", + "effectiveGasPrice": "0x1cb325f0", + "from": "0x31627322222ecfcd1581b071da7986f6ae237572", + "gasUsed": "0x436fd", + "logs": [ + { + "address": "0xfb932a75c5f69d03b0f6e59573fde6976af0d88c", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000031627322222ecfcd1581b071da7986f6ae237572", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffdab49e4b8a94d9", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x11a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x5be89bb10e2234204a2607765714916ed95a73a2", + "topics": [ + "0x3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe8", + "0x000000000000000000000000fb932a75c5f69d03b0f6e59573fde6976af0d88c", + "0x0000000000000000000000003db28e471fa398bf2527135a1c559665941ee7a3", + "0x00000000000000000000000031627322222ecfcd1581b071da7986f6ae237572" + ], + "data": "0x00000000000000000000000000000000000000000000084d05343afc61e8ccd300000000000000000000000000000000000000000000084d05343afc61e8ccd30000000000000000000000000000000000000000000000016ebac2ccb59ce1bc", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x11b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xfb932a75c5f69d03b0f6e59573fde6976af0d88c", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000031627322222ecfcd1581b071da7986f6ae237572" + ], + "data": "0x0000000000000000000000000000000000000000000000000001c46f458d27db", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x11c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xfb932a75c5f69d03b0f6e59573fde6976af0d88c", + "topics": [ + "0x458f5fa412d0f69b08dd84872b0215675cc67bc1d5b6fd93300a1c3878b86196", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4", + "0x00000000000000000000000031627322222ecfcd1581b071da7986f6ae237572" + ], + "data": "0x0000000000000000000000000000000000000000000000000001c46f458d27db0000000000000000000000000000000000000000000000000001c46f458d27db0000000000000000000000000000000000000000036e46029bea72ba36aafc9b", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x11d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xfb932a75c5f69d03b0f6e59573fde6976af0d88c", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000031627322222ecfcd1581b071da7986f6ae237572", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000254b61b4756b26", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x11e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3bc3d34c32cc98bf098d832364df8a222bbab4c0", + "topics": [ + "0x00058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f2", + "0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x11f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xfb932a75c5f69d03b0f6e59573fde6976af0d88c", + "topics": [ + "0x4beccb90f994c31aced7a23b5611020728a23d8ec5cddd1a3e9d97b96fda8666", + "0x00000000000000000000000031627322222ecfcd1581b071da7986f6ae237572", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000231ff86490dfc00000000000000000000000000000000000000000036e46029bea72ba36aafc9b", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x120", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3bc3d34c32cc98bf098d832364df8a222bbab4c0", + "topics": [ + "0x804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a", + "0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" + ], + "data": "0x000000000000000000000000000000000000000000014ec190dbd30fa550f5560000000000000000000000000000000000000000002a5b2a10de36643870a36900000000000000000000000000000000000000000007fa0513d17fd633851b400000000000000000000000000000000000000000036e46029bea72ba36aafc9b00000000000000000000000000000000000000000384ee2a8784d5f4c0350134", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x121", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3bc3d34c32cc98bf098d832364df8a222bbab4c0", + "topics": [ + "0x44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd", + "0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x122", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xfb932a75c5f69d03b0f6e59573fde6976af0d88c", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000254b61b4756b26", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x123", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xfb932a75c5f69d03b0f6e59573fde6976af0d88c", + "topics": [ + "0x4cf25bc1d991c17529c25213d3cc0cda295eeaad5f13f361969b12ea48015f90", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000254b61b4756b2600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036e46029bea72ba36aafc9b", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x124", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000fb932a75c5f69d03b0f6e59573fde6976af0d88c", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000254b61b4756b26", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x125", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3bc3d34c32cc98bf098d832364df8a222bbab4c0", + "topics": [ + "0x3115d1449a7b732c986cba18244e897a450f61e1bb8d589cd2e69e6c8924f9f7", + "0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000254b61b4756b26", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x126", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000006ea9d99c6653df987bdea11ffcd56dfb4b5d38b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000254b61b4756b26", + "blockNumber": "0x151241d", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x127", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x1000000000000800008010200000001000800000000000020200000000000002000000000000000000004000000c000002010000081000000000000000200000000100200000000080000008000000800000000000400000000000040000000000000000020800000000000000000800000104000000060000000010000000000000000080000008000000400000000000000000080000000000080000000000020000000080030000000400000000000000000000000000000000040000010002000002000000100000002000080000000000000000000010000002000020040010200000000004000080000000000000000000000000000000000040000000", + "status": "0x1", + "to": "0x6ea9d99c6653df987bdea11ffcd56dfb4b5d38b4", + "transactionHash": "0x4db02d9933468df2b224e071febccb8cff204e03ec306bb6c667b88a84f3654a", + "transactionIndex": "0x53", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xb9ce8a", + "effectiveGasPrice": "0x280981db", + "from": "0x9ef1316ba924fbb2b6d847ac06b85387d53104b8", + "gasUsed": "0xe068", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009ef1316ba924fbb2b6d847ac06b85387d53104b8", + "0x0000000000000000000000000507b2d904495506b415e49e1ba16d5565f162d6" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000294db0", + "blockNumber": "0x151241d", + "transactionHash": "0xf87fabd39d82f2623daf37320ed11cc615a9bf6272d266719ad89f125599a799", + "transactionIndex": "0x54", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x128", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000008000080000000200000000000000000000000000000000000000000000000400000000002001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0xf87fabd39d82f2623daf37320ed11cc615a9bf6272d266719ad89f125599a799", + "transactionIndex": "0x54", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xba76fb", + "effectiveGasPrice": "0x2c32acac", + "from": "0xa22f1ac02b5fc04f2e355c30aebfd82a7465b250", + "gasUsed": "0xa871", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xe73d53e3a982ab2750a0b76f9012e18b256cc243", + "transactionHash": "0x109e2770efc86a39e827e5824048c5a230db6f92e5a27352bb2c9994bcd0e721", + "transactionIndex": "0x55", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xbb2b24", + "effectiveGasPrice": "0x86f37a7e", + "from": "0xbeb5dd6650d74e92037cb64f93479548eb052927", + "gasUsed": "0xb429", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000beb5dd6650d74e92037cb64f93479548eb052927", + "0x0000000000000000000000007d0867499df68adaa9fb89ee4799e464d2f8b1d3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000353830f80", + "blockNumber": "0x151241d", + "transactionHash": "0x0b284379e0969cdeae4de0a02870325e59c453c1ca2652575b5e8f850f0a24bb", + "transactionIndex": "0x56", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x129", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000001000000000000000002000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000040000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000200080000000002000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0x0b284379e0969cdeae4de0a02870325e59c453c1ca2652575b5e8f850f0a24bb", + "transactionIndex": "0x56", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xbc2201", + "effectiveGasPrice": "0x5552ff70", + "from": "0x7b09ded7244455d1a8e31c6e7c46a715be673209", + "gasUsed": "0xf6dd", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000007b09ded7244455d1a8e31c6e7c46a715be673209", + "0x00000000000000000000000041fd11d4b9ada94d7ea56f10d9142bd5f72adf48" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000004c4b40", + "blockNumber": "0x151241d", + "transactionHash": "0x3a67b05a28aa47f0ff1c4729d9b3df25a239655eb6c03c39ea42715447520104", + "transactionIndex": "0x57", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x12a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040050000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004000000000000000000000100000000000000000000000000080000000000000000000002000000000000000000000000002000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000020000000000", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0x3a67b05a28aa47f0ff1c4729d9b3df25a239655eb6c03c39ea42715447520104", + "transactionIndex": "0x57", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xbc7409", + "effectiveGasPrice": "0x3d7b7b70", + "from": "0xeb25f27c0821d776ac6bb3359309949b28deb67c", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x99d56d8c55dfecfb46160da05dae30358a8e199f", + "transactionHash": "0xdd5632a430dc76bb30af95747d6e12253614ccf92421c0f925ddf284c15ee354", + "transactionIndex": "0x58", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xbd2465", + "effectiveGasPrice": "0x2a162f76", + "from": "0x5588c4f6ce6eb2ca6bf241f872597e37d009484c", + "gasUsed": "0xb05c", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005588c4f6ce6eb2ca6bf241f872597e37d009484c", + "0x000000000000000000000000320cfa9b260b24b3d2ce38d8c270e1a8b67e4033" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x151241d", + "transactionHash": "0x086cc0a8c1b5b4f80f935934a4e6609bf52ea73c28479019dc10b3276eaf89a6", + "transactionIndex": "0x59", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x12b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000002000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000010000000000000000000000400000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000080000000000000000000000000000200000000020000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0x086cc0a8c1b5b4f80f935934a4e6609bf52ea73c28479019dc10b3276eaf89a6", + "transactionIndex": "0x59", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xbf047f", + "effectiveGasPrice": "0x90edc970", + "from": "0x21b6a1d61e32c4567d2e19c600c2386534300fdc", + "gasUsed": "0x1e01a", + "logs": [ + { + "address": "0x000000000004444c5dc75cb358380d2e3de08a90", + "topics": [ + "0xf208f4912782fd25c7f114ca3723a2d5dd6f3bcc3ac8db5af63baa85f711d5ec", + "0xdce6394339af00981949f5f3baf27e3610c76326a700af57e4b3e3ae4977f78d", + "0x000000000000000000000000bd216513d74c8cf14cf4747e6aaa6420ff64ee9e" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2764c00000000000000000000000000000000000000000000000000000000000d89b400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001cba", + "blockNumber": "0x151241d", + "transactionHash": "0x5318df590ba8accd9848fe948470f96ee5d436ad3e1d554700ce55a61f7b029a", + "transactionIndex": "0x5a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x12c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000000000000004444c5dc75cb358380d2e3de08a90", + "0x00000000000000000000000021b6a1d61e32c4567d2e19c600c2386534300fdc" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000006b60f", + "blockNumber": "0x151241d", + "transactionHash": "0x5318df590ba8accd9848fe948470f96ee5d436ad3e1d554700ce55a61f7b029a", + "transactionIndex": "0x5a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x12d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000040000000000000000400000000000000000000000000000000000000000000000020000000001000000000000400000000000000000000000080000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000000000000801000000000000000000000000000000010000000000000000000010000004000000200000000000100100000000000000000000000000000000000000000802000000000000000000000000000000400000080000000000000000000000000000000000000000000000000004000000000000000000000200000000", + "status": "0x1", + "to": "0xbd216513d74c8cf14cf4747e6aaa6420ff64ee9e", + "transactionHash": "0x5318df590ba8accd9848fe948470f96ee5d436ad3e1d554700ce55a61f7b029a", + "transactionIndex": "0x5a", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xbf5687", + "effectiveGasPrice": "0x3b9aca00", + "from": "0x458c2a06ba8dc3def078513ad98e9da8ced39e02", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x7296c79fee38bb26f6c5b00efe552ab7b3a85249", + "transactionHash": "0x5635bca5b22d2970f2b8304d567e84c4832071c121f34134929815477312ce94", + "transactionIndex": "0x5b", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xbfa88f", + "effectiveGasPrice": "0x3b9aca00", + "from": "0x4e5b2e1dc63f6b91cb6cd759936495434c7e972f", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x762c37a5bf13798dbb24129e0970a38e996e76b7", + "transactionHash": "0xaee7f974a78c7f746c28e51677ac0f514caf150a4d0fc9a95712a722a4ce54ef", + "transactionIndex": "0x5c", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc147ce", + "effectiveGasPrice": "0x1fe20a7f", + "from": "0x3d9aae030b9661e3605b3acb5d0385ede221a0cc", + "gasUsed": "0x19f3f", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000290a6a7460b308ee3f19023d2d00de604bcf5b42", + "0x000000000000000000000000fbd4cdb413e45a52e2c8312f670e9ce67e794c37" + ], + "data": "0x00000000000000000000000000000000000000000000000000d4b58f123639dc", + "blockNumber": "0x151241d", + "transactionHash": "0xc1c9ace96ace7ac7467ce8ca2ddddb5d731e02e708ecdeefbff4421383b39cc8", + "transactionIndex": "0x5d", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x12e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000fbd4cdb413e45a52e2c8312f670e9ce67e794c37", + "0x000000000000000000000000290a6a7460b308ee3f19023d2d00de604bcf5b42" + ], + "data": "0x00000000000000000000000000000000000000000000001ee4277a2ce93e652b", + "blockNumber": "0x151241d", + "transactionHash": "0xc1c9ace96ace7ac7467ce8ca2ddddb5d731e02e708ecdeefbff4421383b39cc8", + "transactionIndex": "0x5d", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x12f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x290a6a7460b308ee3f19023d2d00de604bcf5b42", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x000000000000000000000000fbd4cdb413e45a52e2c8312f670e9ce67e794c37", + "0x000000000000000000000000fbd4cdb413e45a52e2c8312f670e9ce67e794c37" + ], + "data": "0x00000000000000000000000000000000000000000000001ee4277a2ce93e652bffffffffffffffffffffffffffffffffffffffffffffffffff2b4a70edc9c624000000000000000000000000000000000000000002a06426f31a3e2fd90b11b40000000000000000000000000000000000000000000001172c75ff38ac1efe3afffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9a35", + "blockNumber": "0x151241d", + "transactionHash": "0xc1c9ace96ace7ac7467ce8ca2ddddb5d731e02e708ecdeefbff4421383b39cc8", + "transactionIndex": "0x5d", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x130", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000200000000000000000000000000000000000000000000000000000000000100000202000400080020000200000000000000000000000000000800000008000000000000000000000001000000000000000000000000000000000000000000000000000000000400000000000010000c00000000000002000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000002000000000000000000000800000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xfbd4cdb413e45a52e2c8312f670e9ce67e794c37", + "transactionHash": "0xc1c9ace96ace7ac7467ce8ca2ddddb5d731e02e708ecdeefbff4421383b39cc8", + "transactionIndex": "0x5d", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc199d6", + "effectiveGasPrice": "0x38c29266", + "from": "0x027a48f739135500da9d14535ecef35fcfd29858", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xae2695387f6fb721c59dc23464229095e9028976", + "transactionHash": "0xd65beb7f7df87aa494d28f640a76a70255b79775a9ee24d7a81e3c6dbe84cf5c", + "transactionIndex": "0x5e", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc3b465", + "effectiveGasPrice": "0x1e6da730", + "from": "0xb9dc10f47eb4a70ab4a7753b0414ff6420e550bf", + "gasUsed": "0x21a8f", + "logs": [ + { + "address": "0xbd6c7b0d2f68c2b7805d88388319cfb6ecb50ea9", + "topics": [ + "0x28a87b6059180e46de5fb9ab35eb043e8fe00ab45afcc7789e3934ecbbcde3ea", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001bcc58d165e5374d7b492b21c0a572fd61c0c2a0" + ], + "data": "0x000000000000000000000000000000000000000000000000000125c44c43300000000000000000000000000000000000000000000000000000000f761ef61000", + "blockNumber": "0x151241d", + "transactionHash": "0xfc5a59d6ad46955fc6b69746bed3f52a50d17a495df9f564e0ec3932c8305a02", + "transactionIndex": "0x5f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x131", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "topics": [ + "0x7bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b38" + ], + "data": "0xef48bd7d058383331af3382c82b0e35205273bfc84a55f85ad7d2cb81426704e000000000000000000000000bd6c7b0d2f68c2b7805d88388319cfb6ecb50ea900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008ce68f53cac0000000000000000000000000000000000000000000000000000000000067dd4a0f", + "blockNumber": "0x151241d", + "transactionHash": "0xfc5a59d6ad46955fc6b69746bed3f52a50d17a495df9f564e0ec3932c8305a02", + "transactionIndex": "0x5f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x132", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa5f565650890fba1824ee0f21ebbbf660a179934", + "topics": [ + "0x936c2ca3b35d2d0b24057b0675c459e4515f48fe132d138e213ae59ffab7f53e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020e9eeacc926b22852a1b6c83de0340ef6f6785b7320e5d5ce4e9f547c320ea209", + "blockNumber": "0x151241d", + "transactionHash": "0xfc5a59d6ad46955fc6b69746bed3f52a50d17a495df9f564e0ec3932c8305a02", + "transactionIndex": "0x5f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x133", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "topics": [ + "0x7be3e48a8a8b4d32138937e1809ac83481fffe48e49bb60e43ed1d3d50349e4c", + "0xef48bd7d058383331af3382c82b0e35205273bfc84a55f85ad7d2cb81426704e", + "0x000000000000000000000000000000000000000000000000000000002f3fb341" + ], + "data": "0x1ae53e6578b19a836b4e8d58f5620154b1efb1d85f78f02cea4891429f74283e", + "blockNumber": "0x151241d", + "transactionHash": "0xfc5a59d6ad46955fc6b69746bed3f52a50d17a495df9f564e0ec3932c8305a02", + "transactionIndex": "0x5f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x134", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "topics": [ + "0xcba69f43792f9f399347222505213b55af8e0b0b54b893085c2e27ecbe1644f1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020ef48bd7d058383331af3382c82b0e35205273bfc84a55f85ad7d2cb81426704e000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011f111f111f111f111f111f111f111f111f111f1000000000000000000000000000000000000000000000000008ce68f53cac000000000000000000000000000000000000000000000000000000416edef1601be00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000572656c617900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077068616e746f6d00000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xfc5a59d6ad46955fc6b69746bed3f52a50d17a495df9f564e0ec3932c8305a02", + "transactionIndex": "0x5f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x135", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080080000000000000000000000000000100000000000000000000100000000000000004000804824000002000000000000800000000020000004000000000000010000000000000000000100000000000000000000200000000000000001000000002000004004000000000000000090000000000000000000000000100002000000000001000000000000000003000000000000000000000000000000000000020000000000000200000008000800000000000400020000000000000000000080000", + "status": "0x1", + "to": "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", + "transactionHash": "0xfc5a59d6ad46955fc6b69746bed3f52a50d17a495df9f564e0ec3932c8305a02", + "transactionIndex": "0x5f", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc4078d", + "effectiveGasPrice": "0x37859a70", + "from": "0xc4dab2b575a5b2b0047804d38d0253bed85bb187", + "gasUsed": "0x5328", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc4dab2b575a5b2b0047804d38d0253bed85bb187", + "transactionHash": "0x98099c884fd0a64ae1372549762c33a6c6e8996c0ca29c2473d3f235331686c9", + "transactionIndex": "0x60", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc459d5", + "effectiveGasPrice": "0x37859a70", + "from": "0xe6e2953c8981f95267e29ce2e21bb9b117afb0f7", + "gasUsed": "0x5248", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1e0d871472973c562650e991ed8006549f8cbefc", + "transactionHash": "0x25bb7b6c284fc36ea446c66ba77a033718dc2b44e4d2cb441f1b2be746afcaba", + "transactionIndex": "0x61", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc4abdd", + "effectiveGasPrice": "0x37859a70", + "from": "0x5c598719f9ca2696280acdfca77d803bbcdb4bb2", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x8837bc22f23329fb7e76a518f1fce12ce00bebd3", + "transactionHash": "0x3c4b21529d6539f2f6b0bcf1b0f22a64f1ea708c331a0fe0b4aced86c440ed42", + "transactionIndex": "0x62", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc4fde5", + "effectiveGasPrice": "0x37859a70", + "from": "0x03484d015b3d32778a4ff7077fbc3e84376155be", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x0243a69c47bd7cc9837bc50f9ebd7905e1cc761d", + "transactionHash": "0x1adcf2476d1f825ac1c58e1c245dab43c617c9de6e0761ccaa5de2d95c665f6c", + "transactionIndex": "0x63", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc54fed", + "effectiveGasPrice": "0x37859a70", + "from": "0x51321f46a74a3de737e4842559e5b87216fc79fc", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x8954568dcb646f72a19c62d26c746a41a188976e", + "transactionHash": "0xa8fd7a2520ddaf0ff2317c0a7399980a121fc2f1f718e3b57de94c663ca2d2d7", + "transactionIndex": "0x64", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc5a1f5", + "effectiveGasPrice": "0x37859a70", + "from": "0x131da609dc52d5c5a8a344a31b34db9f8c786cdd", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1704daaa0c88a334bf1996c4989503a2831e7b92", + "transactionHash": "0xeda357d3f6a3fe46b10ac6ae125cb10bbbedb8fbeb72d6951b23d5d83cb8da9f", + "transactionIndex": "0x65", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc5f3fd", + "effectiveGasPrice": "0x36eb27fa", + "from": "0xbc44fa604784e7181fa3c0cb2c610bb54d299301", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x9c9028b927d27fc9c45bdf64052e905d32568b3f", + "transactionHash": "0x0d1fc98ff6e0af3004e2ead6638aee24ba4ce3b3aa23a8df285ef424a97d2a08", + "transactionIndex": "0x66", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc64605", + "effectiveGasPrice": "0x3441b79a", + "from": "0x13000bd0f0c6872a13759bda10db7a698652b313", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x231f36e79c60f7d9705e59a9aef1f0f872047606", + "transactionHash": "0x9f34faef9a6081a747b2e1a47cdc3c2cbd887229e410dfdcde389b19a14f9530", + "transactionIndex": "0x67", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc6fbdc", + "effectiveGasPrice": "0x5552ff70", + "from": "0x4f9fa22a7f2ca90b7556596614440fdd0effa3bc", + "gasUsed": "0xb5d7", + "logs": [ + { + "address": "0x78132543d8e20d2417d8a07d9ae199d458a0d581", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000004f9fa22a7f2ca90b7556596614440fdd0effa3bc", + "0x000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22a" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockNumber": "0x151241d", + "transactionHash": "0xc5bd028b43d99526f69ab82c3ef615aaabe6819dee8739b98db67956641fde61", + "transactionIndex": "0x68", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x136", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000002000000000000000000000000000000000000000004000001000000000000000000000000000000200000000000000000000000000000000000000000000000200000080000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000410000000000000000000000000000040000000000000000000000000000000", + "status": "0x1", + "to": "0x78132543d8e20d2417d8a07d9ae199d458a0d581", + "transactionHash": "0xc5bd028b43d99526f69ab82c3ef615aaabe6819dee8739b98db67956641fde61", + "transactionIndex": "0x68", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc7d63e", + "effectiveGasPrice": "0x23a0bd23", + "from": "0x8aac4694a7250f469cb26528a9a80262fc78de48", + "gasUsed": "0xda62", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000008aac4694a7250f469cb26528a9a80262fc78de48", + "0x0000000000000000000000008a42d311d282bfcaa5133b2de0a8bcdbecea3073" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockNumber": "0x151241d", + "transactionHash": "0x42afd7e2a1a900356ff04391a94e4e73bbb818a2e42ffb6e5111909b8530f8dc", + "transactionIndex": "0x69", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x137", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000008000000000000000000200200000000000000000000008000000000000000000000000000000000080000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000020000000000200000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0x42afd7e2a1a900356ff04391a94e4e73bbb818a2e42ffb6e5111909b8530f8dc", + "transactionIndex": "0x69", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc88a4f", + "effectiveGasPrice": "0x5552ff70", + "from": "0x58cc00b30f1bf400e3924956abfe58528dd0f7bd", + "gasUsed": "0xb411", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000058cc00b30f1bf400e3924956abfe58528dd0f7bd", + "0x000000000000000000000000db305e16933334384eb652dc6f50ebf5ecc41cc6" + ], + "data": "0x000000000000000000000000000000000000000000000000000000001dcd6500", + "blockNumber": "0x151241d", + "transactionHash": "0xe5cfff0cdc77fe26d4195acf92599d8a946b78ef6aa3726d5b3b653bc90a6f30", + "transactionIndex": "0x6a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x138", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008020000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000010000001000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000010000000000000000000000400002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0xe5cfff0cdc77fe26d4195acf92599d8a946b78ef6aa3726d5b3b653bc90a6f30", + "transactionIndex": "0x6a", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xc971fe", + "effectiveGasPrice": "0x37859a70", + "from": "0x9d20dc93830bc97000f0b2399fc5cbb3ab6e4f2a", + "gasUsed": "0xe7af", + "logs": [ + { + "address": "0xbe9371326f91345777b04394448c23e2bfeaa826", + "topics": [ + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "0x0000000000000000000000009d20dc93830bc97000f0b2399fc5cbb3ab6e4f2a", + "0x0000000000000000000000001e0049783f008a0085193e00003d00cd54003c71" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockNumber": "0x151241d", + "transactionHash": "0x5c1ab3777853b22008316927fff65c92358fe1ebce50b10cc6fffca1f9ac47f6", + "transactionIndex": "0x6b", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x139", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000100000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000001000000500000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000200800000000000000000000000000000000000000000000000001000000", + "status": "0x1", + "to": "0xbe9371326f91345777b04394448c23e2bfeaa826", + "transactionHash": "0x5c1ab3777853b22008316927fff65c92358fe1ebce50b10cc6fffca1f9ac47f6", + "transactionIndex": "0x6b", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xca651a", + "effectiveGasPrice": "0x223ca600", + "from": "0x84c0dde6bcac401041cbbcc70024b384898f0673", + "gasUsed": "0xf31c", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000084c0dde6bcac401041cbbcc70024b384898f0673", + "0x00000000000000000000000046d835404f073d7741d6a5c27af9f961968a1231" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000002710", + "blockNumber": "0x151241d", + "transactionHash": "0xbab1e2cdfe64e4d235486c3faf0c3fd6400328069d962b9d20436fba3173ac89", + "transactionIndex": "0x6c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x13a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000200800000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000200000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0xbab1e2cdfe64e4d235486c3faf0c3fd6400328069d962b9d20436fba3173ac89", + "transactionIndex": "0x6c", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xcab722", + "effectiveGasPrice": "0x30f546fa", + "from": "0x1bd0e52c42623884de3a753a32661099194bc469", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xfea33b10051a340a99999cdc9c326062390d0827", + "transactionHash": "0xd714a548b236cad3f29ebf37336eec376cd59cd94c94d3ef10036cbf286b6a1c", + "transactionIndex": "0x6d", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xcb092a", + "effectiveGasPrice": "0x30af2dc8", + "from": "0x130002b29b1b08358d1ab35bef22ab63895ee313", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc0d5bb16d747e29956cc6230cdf8586af82aa433", + "transactionHash": "0xfd935541d9dcd3891e7baa2229e687897afe3eb7c1a4db2525f6f3ef5c39ac33", + "transactionIndex": "0x6e", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xe26923", + "effectiveGasPrice": "0x1fae1670", + "from": "0xced9bedf34c6c50fadda7d68e022144a7191183f", + "gasUsed": "0x175ff9", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005141b82f5ffda4c6fe1e372978f1c5427640a190" + ], + "data": "0x0000000000000000000000000000000000000000000000000008f73bfa698600", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x13b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005141b82f5ffda4c6fe1e372978f1c5427640a190", + "0x00000000000000000000000078aa9e68f4a8efe1defe008efd47ed65b6315d91" + ], + "data": "0x0000000000000000000000000000000000000000000000000008f73bfa698600", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x13c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000078aa9e68f4a8efe1defe008efd47ed65b6315d91", + "0x000000000000000000000000a3b71add41c9e4e1034fe665f946baebfe9c07c4" + ], + "data": "0x00000000000000000000000000000000000000000000003fc044a063e5da4bca", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x13d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000078aa9e68f4a8efe1defe008efd47ed65b6315d91", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582" + ], + "data": "0x0000000000000000000000000000000000000000000004bb4517e76a0f33a000", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x13e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582" + ], + "data": "0x0000000000000000000000000000000000000000000004bcb89eb4048a929081", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x13f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x000000000000000000000000bd24b4e4778ef78195dca47bdd331b0d240be0ca" + ], + "data": "0x0000000000000000000000000000000000000000000000010d25977846e637c7", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x140", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000bd24b4e4778ef78195dca47bdd331b0d240be0ca" + ], + "data": "0x0000000000000000000000000000000000000000000000010d25977846e637c7", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x141", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x000000000000000000000000bd24b4e4778ef78195dca47bdd331b0d240be0ca" + ], + "data": "0x0000000000000000000000000000000000000000000000010d25977846e637c7", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x142", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x000000000000000000000000bd24b4e4778ef78195dca47bdd331b0d240be0ca", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000010d25977846e637c7", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x143", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x0000000000000000000000002013f35a1e0afcb00d199dca8a2fab3f46e2e187" + ], + "data": "0x000000000000000000000000000000000000000000000000a149a69742d53b12", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x144", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000002013f35a1e0afcb00d199dca8a2fab3f46e2e187" + ], + "data": "0x000000000000000000000000000000000000000000000000a149a69742d53b12", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x145", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x0000000000000000000000002013f35a1e0afcb00d199dca8a2fab3f46e2e187" + ], + "data": "0x000000000000000000000000000000000000000000000000a149a69742d53b12", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x146", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x0000000000000000000000002013f35a1e0afcb00d199dca8a2fab3f46e2e187", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000a149a69742d53b12", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x147", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x000000000000000000000000e6850c8583cf2e7bd994d341eaa87cb2d784fb49" + ], + "data": "0x0000000000000000000000000000000000000000000001e2b1f163b44682839e", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x148", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000e6850c8583cf2e7bd994d341eaa87cb2d784fb49" + ], + "data": "0x0000000000000000000000000000000000000000000001e2b1f163b44682839e", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x149", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x000000000000000000000000e6850c8583cf2e7bd994d341eaa87cb2d784fb49" + ], + "data": "0x0000000000000000000000000000000000000000000001e2b1f163b44682839e", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x14a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x000000000000000000000000e6850c8583cf2e7bd994d341eaa87cb2d784fb49", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000001e2b1f163b44682839e", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x14b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a98", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000ced9bedf34c6c50fadda7d68e022144a7191183f" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000009900000000000000000000000000000000000000000000000000000000000493e0", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x14c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x78aa9e68f4a8efe1defe008efd47ed65b6315d91", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x000000000000000000000000000000000000000000c59d9d7b2a4aa6cfaece3300000000000000000000000000000000000000000000000162b4ddb2568dd53a", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x14d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x78aa9e68f4a8efe1defe008efd47ed65b6315d91", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000005141b82f5ffda4c6fe1e372978f1c5427640a190", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008f73bfa6986000000000000000000000000000000000000000000000004fb055c87cdf50debca0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x14e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a3b71add41c9e4e1034fe665f946baebfe9c07c4", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada" + ], + "data": "0x000000000000000000000000000000000000000000004a352c353b6637f819ef", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x14f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000a3b71add41c9e4e1034fe665f946baebfe9c07c4", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d" + ], + "data": "0x000000000000000000000000000000000000000000006f4fc24fd91953f426e6", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x150", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a3b71add41c9e4e1034fe665f946baebfe9c07c4", + "0x00000000000000000000000078aa9e68f4a8efe1defe008efd47ed65b6315d91" + ], + "data": "0x000000000000000000000000000000000000000000006f4fc24fd91953f426e6", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x151", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000078aa9e68f4a8efe1defe008efd47ed65b6315d91", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d" + ], + "data": "0x00000000000000000000000000000000000000000000000000c6c2daec6cc6e9", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x152", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x78aa9e68f4a8efe1defe008efd47ed65b6315d91", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x000000000000000000000000000000000000000000c60ced3d7a23c023a2f51900000000000000000000000000000000000000000000000161ee1ad76a210e51", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x153", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x78aa9e68f4a8efe1defe008efd47ed65b6315d91", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d" + ], + "data": "0x000000000000000000000000000000000000000000006f4fc24fd91953f426e60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6c2daec6cc6e9", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x154", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d" + ], + "data": "0x00000000000000000000000000000000000000000000000000c6c2daec6cc6e9", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x155", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d78454116511", + "0x000000000000000000000000a3b71add41c9e4e1034fe665f946baebfe9c07c4" + ], + "data": "0x000000000000000000000000000000000000000000004a352c353b6637f819ef", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x156", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0x80195cc573b02cc48460cbca6e6e4cc85ddb91959d946e1c3025ea3d87942dc3" + ], + "data": "0x00000000000000000000000000000000000000000000b984ee85147f8bec40d5000000000000000000000000000000000000000000004a352c353b6637f819ef", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x157", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582", + "0x000000000000000000000000ced9bedf34c6c50fadda7d68e022144a7191183f" + ], + "data": "0x0000000000000000000000000000000000000000000004bcb89eb4048a929080", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x158", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000004bcb89eb4048a929081", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x159", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582" + ], + "data": "0x000000000000000000000000000000000000000000000000911374f841ef440a", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x15a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x0000000000000000000000008a54b08b6efc178f748d9cf0fb32b3534728b7f6" + ], + "data": "0x00000000000000000000000000000000000000000000005069dfca0ab040d46f", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x15b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000008a54b08b6efc178f748d9cf0fb32b3534728b7f6" + ], + "data": "0x00000000000000000000000000000000000000000000005069dfca0ab040d46f", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x15c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x0000000000000000000000008a54b08b6efc178f748d9cf0fb32b3534728b7f6" + ], + "data": "0x00000000000000000000000000000000000000000000005069dfca0ab040d46f", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x15d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x0000000000000000000000008a54b08b6efc178f748d9cf0fb32b3534728b7f6", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000005069dfca0ab040d46f", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x15e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x000000000000000000000000b9b489b6f5809a0880b6c247151f40323d0303d9" + ], + "data": "0x000000000000000000000000000000000000000000000004c50808182aa79cf6", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x15f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000b9b489b6f5809a0880b6c247151f40323d0303d9" + ], + "data": "0x000000000000000000000000000000000000000000000004c50808182aa79cf6", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x160", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x000000000000000000000000b9b489b6f5809a0880b6c247151f40323d0303d9" + ], + "data": "0x000000000000000000000000000000000000000000000004c50808182aa79cf6", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x161", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x000000000000000000000000b9b489b6f5809a0880b6c247151f40323d0303d9", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000004c50808182aa79cf6", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x162", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x00000000000000000000000086f0ddef620cfa3a870078f0a73bfec87c51154f" + ], + "data": "0x00000000000000000000000000000000000000000000008ec5d976dfd92ce945", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x163", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000086f0ddef620cfa3a870078f0a73bfec87c51154f" + ], + "data": "0x00000000000000000000000000000000000000000000008ec5d976dfd92ce945", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x164", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x00000000000000000000000086f0ddef620cfa3a870078f0a73bfec87c51154f" + ], + "data": "0x00000000000000000000000000000000000000000000008ec5d976dfd92ce945", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x165", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x00000000000000000000000086f0ddef620cfa3a870078f0a73bfec87c51154f", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000008ec5d976dfd92ce945", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x166", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x000000000000000000000000ee5fae63ae253eb96942215d48def642519b716c" + ], + "data": "0x0000000000000000000000000000000000000000000000459e1c2fb2aa4a9f90", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x167", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000ee5fae63ae253eb96942215d48def642519b716c" + ], + "data": "0x0000000000000000000000000000000000000000000000459e1c2fb2aa4a9f90", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x168", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x000000000000000000000000ee5fae63ae253eb96942215d48def642519b716c" + ], + "data": "0x0000000000000000000000000000000000000000000000459e1c2fb2aa4a9f90", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x169", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x000000000000000000000000ee5fae63ae253eb96942215d48def642519b716c", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000459e1c2fb2aa4a9f90", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x16a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a98", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000ced9bedf34c6c50fadda7d68e022144a7191183f" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000493e0", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x16b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582" + ], + "data": "0x000000000000000000000000000000000000000000000000911374f841ef440a", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x16c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000911374f841ef440a", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x16d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000ced9bedf34c6c50fadda7d68e022144a7191183f" + ], + "data": "0x0000000000000000000000000000000000000000000004bcb89eb4048a929080", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x16e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x000000000000000000000000f0f283d61984d0347ebe488b77eb96b06be010ef" + ], + "data": "0x0000000000000000000000000000000000000000000001033218f303d4862e89", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x16f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f0f283d61984d0347ebe488b77eb96b06be010ef" + ], + "data": "0x0000000000000000000000000000000000000000000001033218f303d4862e89", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x170", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x000000000000000000000000f0f283d61984d0347ebe488b77eb96b06be010ef" + ], + "data": "0x0000000000000000000000000000000000000000000001033218f303d4862e89", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x171", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x000000000000000000000000f0f283d61984d0347ebe488b77eb96b06be010ef", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000001033218f303d4862e89", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x172", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x00000000000000000000000002790b6e6e5ddc64095ec88f1cd142954680ee47" + ], + "data": "0x000000000000000000000000000000000000000000000024bc3b184f22bc76f6", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x173", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000002790b6e6e5ddc64095ec88f1cd142954680ee47" + ], + "data": "0x000000000000000000000000000000000000000000000024bc3b184f22bc76f6", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x174", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x00000000000000000000000002790b6e6e5ddc64095ec88f1cd142954680ee47" + ], + "data": "0x000000000000000000000000000000000000000000000024bc3b184f22bc76f6", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x175", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x00000000000000000000000002790b6e6e5ddc64095ec88f1cd142954680ee47", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000024bc3b184f22bc76f6", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x176", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x0000000000000000000000001abdf51e05155077973e2e417f7ca65e53c164c3" + ], + "data": "0x0000000000000000000000000000000000000000000002a2869cda391f2aebd8", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x177", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001abdf51e05155077973e2e417f7ca65e53c164c3" + ], + "data": "0x0000000000000000000000000000000000000000000002a2869cda391f2aebd8", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x178", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x0000000000000000000000001abdf51e05155077973e2e417f7ca65e53c164c3" + ], + "data": "0x0000000000000000000000000000000000000000000002a2869cda391f2aebd8", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x179", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x0000000000000000000000001abdf51e05155077973e2e417f7ca65e53c164c3", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000002a2869cda391f2aebd8", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x17a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x000000000000000000000000394e5235f647c04745347daceb6b40736baa67b7" + ], + "data": "0x0000000000000000000000000000000000000000000018720d8a5bee92356672", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x17b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000394e5235f647c04745347daceb6b40736baa67b7" + ], + "data": "0x0000000000000000000000000000000000000000000018720d8a5bee92356672", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x17c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x000000000000000000000000394e5235f647c04745347daceb6b40736baa67b7" + ], + "data": "0x0000000000000000000000000000000000000000000018720d8a5bee92356672", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x17d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x000000000000000000000000394e5235f647c04745347daceb6b40736baa67b7", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000018720d8a5bee92356672", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x17e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000869f2282cb8849c6d4430c9091b6f931ddccaada", + "0x0000000000000000000000004fa2ee1f5f80810fd54192717aa2a68960caf03f" + ], + "data": "0x000000000000000000000000000000000000000000000007e9bd067e57c81cd8", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x17f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000004fa2ee1f5f80810fd54192717aa2a68960caf03f" + ], + "data": "0x000000000000000000000000000000000000000000000007e9bd067e57c81cd8", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x180", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d", + "0x0000000000000000000000004fa2ee1f5f80810fd54192717aa2a68960caf03f" + ], + "data": "0x000000000000000000000000000000000000000000000007e9bd067e57c81cd8", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x181", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x869f2282cb8849c6d4430c9091b6f931ddccaada", + "topics": [ + "0xa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092", + "0x0000000000000000000000004fa2ee1f5f80810fd54192717aa2a68960caf03f", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000007e9bd067e57c81cd8", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x182", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa3b71add41c9e4e1034fe665f946baebfe9c07c4", + "topics": [ + "0xc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a98", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000ced9bedf34c6c50fadda7d68e022144a7191183f" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000493e0", + "blockNumber": "0x151241d", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x183", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x0020000000000000000080008000000000000000000080000001102000000000000000001000000000008010000000000202000108001800000000040024002010100002000008000000001a0400002000000002004400000008000090000000000000000200000008000000000008000002000004000c0000020010000002000080020000000000005010000000000010000001004000080008004008000080020000080040080410002000000004040001000040040040000001000000004000000002200080000000001401000000010000000000141800000402000060000030200000408000001400000000000000001010000000c02000000440000000", + "status": "0x1", + "to": "0x1111111254eeb25477b68fb85ed929f73a960582", + "transactionHash": "0xef4541fda1c93c6dc39143a4fd25b4903929c0e640a161e8bfed3540ff28602d", + "transactionIndex": "0x6f", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xe31dba", + "effectiveGasPrice": "0x3d7b7b70", + "from": "0xe5266d449884b5057228176e97ece35109de4c0c", + "gasUsed": "0xb497", + "logs": [ + { + "address": "0x761d38e5ddf6ccf6cf7c55759d5210750b5d60f3", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000e5266d449884b5057228176e97ece35109de4c0c", + "0x000000000000000000000000ac4c6e212a361c968f1725b4d055b47e63f80b75" + ], + "data": "0x0000000000000000000000000000000000000000005dc46af120162e54eb2cee", + "blockNumber": "0x151241d", + "transactionHash": "0x6e7f9629e46ceb4fafa6e98bcee26738497b08750475fca6815dabe77638d295", + "transactionIndex": "0x70", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x184", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000200000000000000000000000000000000000200000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000008010000000000000000000000000000000000000000000010002100000000000000000000001000000000000000000000000000000000", + "status": "0x1", + "to": "0x761d38e5ddf6ccf6cf7c55759d5210750b5d60f3", + "transactionHash": "0x6e7f9629e46ceb4fafa6e98bcee26738497b08750475fca6815dabe77638d295", + "transactionIndex": "0x70", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xe43677", + "effectiveGasPrice": "0x1f9961b2", + "from": "0xda6c68a9100144c6fe3f032d7cd1910b8cdb5461", + "gasUsed": "0x118bd", + "logs": [ + { + "address": "0x4ff3dd5825db0481f73245c686e39571a7cbcffb", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000da6c68a9100144c6fe3f032d7cd1910b8cdb5461", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0x462f1f958f1aec6391fbe1eee180b32e3da46eadda9fec69bf4dbda5c837dcf1", + "transactionIndex": "0x71", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x185", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x4ff3dd5825db0481f73245c686e39571a7cbcffb", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000da6c68a9100144c6fe3f032d7cd1910b8cdb5461", + "0x000000000000000000000000012a4b345d7afc5468c6fd844eebb8ecb4c99698", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0x462f1f958f1aec6391fbe1eee180b32e3da46eadda9fec69bf4dbda5c837dcf1", + "transactionIndex": "0x71", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x186", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000008008000000000000000040000000000000000000000000000020000000000000000000808000800000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000020000000000000000000000000040000000000000000042020000000000000000000000000000000000000000000000000060000010000000000000004000000000000000000000020000000000000000000000", + "status": "0x1", + "to": "0x4ff3dd5825db0481f73245c686e39571a7cbcffb", + "transactionHash": "0x462f1f958f1aec6391fbe1eee180b32e3da46eadda9fec69bf4dbda5c837dcf1", + "transactionIndex": "0x71", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xe5f50a", + "effectiveGasPrice": "0x1d4f73df", + "from": "0xc83f2e24f33daadcba99c8155b00f3204a81fda9", + "gasUsed": "0x1be93", + "logs": [ + { + "address": "0x97f698fd61a360cb8abdca752d6c998636fae99b", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005af9871b4ca783ac3cd2a2b63139142027ad1908", + "0x0000000000000000000000005891a7162385c42e37e573cfcc003a3f7c96e394" + ], + "data": "0x00000000000000000000000000000000000000000010f1cdacd831fae58f8223", + "blockNumber": "0x151241d", + "transactionHash": "0xbe0600b510fe87f502c5b53cbcc74ede9fb37af307f759c918e5030fecf94cd1", + "transactionIndex": "0x72", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x187", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005891a7162385c42e37e573cfcc003a3f7c96e394", + "0x0000000000000000000000005af9871b4ca783ac3cd2a2b63139142027ad1908" + ], + "data": "0x0000000000000000000000000000000000000000000000010032b9f4bfaecec9", + "blockNumber": "0x151241d", + "transactionHash": "0xbe0600b510fe87f502c5b53cbcc74ede9fb37af307f759c918e5030fecf94cd1", + "transactionIndex": "0x72", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x188", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x5891a7162385c42e37e573cfcc003a3f7c96e394", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x00000000000000000000000000000000000000000018a3141083b71fd6786ba300000000000000000000000000000000000000000000000074a8a3e94c98b730", + "blockNumber": "0x151241d", + "transactionHash": "0xbe0600b510fe87f502c5b53cbcc74ede9fb37af307f759c918e5030fecf94cd1", + "transactionIndex": "0x72", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x189", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x5891a7162385c42e37e573cfcc003a3f7c96e394", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000005af9871b4ca783ac3cd2a2b63139142027ad1908", + "0x0000000000000000000000005af9871b4ca783ac3cd2a2b63139142027ad1908" + ], + "data": "0x00000000000000000000000000000000000000000010f1cdacd831fae58f8223000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010032b9f4bfaecec9", + "blockNumber": "0x151241d", + "transactionHash": "0xbe0600b510fe87f502c5b53cbcc74ede9fb37af307f759c918e5030fecf94cd1", + "transactionIndex": "0x72", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x18a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00200000000000000000000080000000000000000000000000000000000000000000001000000000000000000020000002000000080000000010000000000008000000040000000000000008000000200000000000000000000000000000000000000000000000000008000000000000000000000000000000801010000000000000000000000000000000000000000000000000000000080000004000000000000000002000008000000000000000000800000000000000000000000000000000000002000000000000000000000000000000000000001000000000000000000000200000000000000000000000000000000000000000000000000000004000", + "status": "0x1", + "to": "0x5af9871b4ca783ac3cd2a2b63139142027ad1908", + "transactionHash": "0xbe0600b510fe87f502c5b53cbcc74ede9fb37af307f759c918e5030fecf94cd1", + "transactionIndex": "0x72", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xe9a289", + "effectiveGasPrice": "0x1b6831ae", + "from": "0x00d2f4eb459bd4f7b175fd0cec578229bfa3bde7", + "gasUsed": "0x3ad7f", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000000f6adc1c09fb26c257166d8c10b2bd5277af743", + "0x000000000000000000000000a0dd866f0a0fef44ecc63b71bc906cb2c020288b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", + "blockNumber": "0x151241d", + "transactionHash": "0x789b497a78bb0d77c273679d5f13ba5b0104c823862302e2d6e515076395567c", + "transactionIndex": "0x73", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x18b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a0dd866f0a0fef44ecc63b71bc906cb2c020288b", + "0x000000000000000000000000be8bc29765e11894f803906ee1055a344fdf2511" + ], + "data": "0x00000000000000000000000000000000000000000000000000b4e232e893b86f", + "blockNumber": "0x151241d", + "transactionHash": "0x789b497a78bb0d77c273679d5f13ba5b0104c823862302e2d6e515076395567c", + "transactionIndex": "0x73", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x18c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xa0dd866f0a0fef44ecc63b71bc906cb2c020288b", + "topics": [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7", + "0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "0x00000000000000000000000000000000000000000000000000b4e232e893b86f" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0x789b497a78bb0d77c273679d5f13ba5b0104c823862302e2d6e515076395567c", + "transactionIndex": "0x73", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x18d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7d8146cf21e8d7cbe46054e01588207b51198729", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000be8bc29765e11894f803906ee1055a344fdf2511", + "0x0000000000000000000000005b93d80da1a359340d1f339fb574bdc56763f995" + ], + "data": "0x0000000000000000000000000000000000000000000c39a21c19401ad5681b46", + "blockNumber": "0x151241d", + "transactionHash": "0x789b497a78bb0d77c273679d5f13ba5b0104c823862302e2d6e515076395567c", + "transactionIndex": "0x73", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x18e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbe8bc29765e11894f803906ee1055a344fdf2511", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000ec55bf8ae8107534c2c7a10b00000000000000000000000000000000000000000000000d9f0a005e33242091", + "blockNumber": "0x151241d", + "transactionHash": "0x789b497a78bb0d77c273679d5f13ba5b0104c823862302e2d6e515076395567c", + "transactionIndex": "0x73", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x18f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbe8bc29765e11894f803906ee1055a344fdf2511", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000005b93d80da1a359340d1f339fb574bdc56763f995", + "0x0000000000000000000000005b93d80da1a359340d1f339fb574bdc56763f995" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b4e232e893b86f0000000000000000000000000000000000000000000c39a21c19401ad5681b460000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x789b497a78bb0d77c273679d5f13ba5b0104c823862302e2d6e515076395567c", + "transactionIndex": "0x73", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x190", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7d8146cf21e8d7cbe46054e01588207b51198729", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005b93d80da1a359340d1f339fb574bdc56763f995", + "0x00000000000000000000000000f6adc1c09fb26c257166d8c10b2bd5277af743" + ], + "data": "0x0000000000000000000000000000000000000000000c2bec78e0e831bc8b6b19", + "blockNumber": "0x151241d", + "transactionHash": "0x789b497a78bb0d77c273679d5f13ba5b0104c823862302e2d6e515076395567c", + "transactionIndex": "0x73", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x191", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x7d8146cf21e8d7cbe46054e01588207b51198729", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000005b93d80da1a359340d1f339fb574bdc56763f995", + "0x000000000000000000000000111111125421ca6dc452d289314280a0f8842a65" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffdf0fe77dcd946097dc22107", + "blockNumber": "0x151241d", + "transactionHash": "0x789b497a78bb0d77c273679d5f13ba5b0104c823862302e2d6e515076395567c", + "transactionIndex": "0x73", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x192", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x111111125421ca6dc452d289314280a0f8842a65", + "topics": [ + "0xfec331350fce78ba658e082a71da20ac9f8d798a99b3c79681c8440cbfe77e07" + ], + "data": "0x159680cb46e81209cf53a36b3582763764d9309ad36d4baa1cbffffe42558c200000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x789b497a78bb0d77c273679d5f13ba5b0104c823862302e2d6e515076395567c", + "transactionIndex": "0x73", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x193", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00200000000000000000100080000000000400000000000000000000000090000000000000000000000000000002011002000000080200000000000000240000000000000000000000000008000000e00000800000040000000000000000000000000000004000000000000000000000000000200000080000000014000008000000000000000000000000400200000000000000000000080000004000980000020000000000000000001090100000000004000084040000001002000000006000000002000082000000000000082000000000020000001020000000000040000010200000000000000000800000000000000000000000000000000000800000", + "status": "0x1", + "to": "0x5b93d80da1a359340d1f339fb574bdc56763f995", + "transactionHash": "0x789b497a78bb0d77c273679d5f13ba5b0104c823862302e2d6e515076395567c", + "transactionIndex": "0x73", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xea21dd", + "effectiveGasPrice": "0x555c3671", + "from": "0x701363e85f7486742dc913d9217b13471959dac2", + "gasUsed": "0x7f54", + "logs": [ + { + "address": "0xbad6c59d72d44512616f25b3d160c79db5a69ddf", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000701363e85f7486742dc913d9217b13471959dac2", + "0x000000000000000000000000120051a72966950b8ce12eb5496b5d1eeec1541b" + ], + "data": "0x000000000000000000000000000000000000000000000010bd75fbe850a00000", + "blockNumber": "0x151241d", + "transactionHash": "0xeec4daa978c84074c2fb7dd05c0cc97fa3b61e06a68ea882e0c26439be14bf4f", + "transactionIndex": "0x74", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x194", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00020000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000008000000000000000000000000080000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000001000000000000010000080000000000004000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xbad6c59d72d44512616f25b3d160c79db5a69ddf", + "transactionHash": "0xeec4daa978c84074c2fb7dd05c0cc97fa3b61e06a68ea882e0c26439be14bf4f", + "transactionIndex": "0x74", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xeadf1c", + "effectiveGasPrice": "0x208b4c80", + "from": "0x924c24fad148a4758f399299c44c56887e65af50", + "gasUsed": "0xbd3f", + "logs": [ + { + "address": "0x767fe9edc9e0df98e07454847909b5e959d7ca0e", + "topics": [ + "0x71594b34a69973da9bff6f72cc0aad2c51069b6b8e9c70c0648b58d10d7bd84b", + "0x000000000000000000000000924c24fad148a4758f399299c44c56887e65af50", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000853a0d2313c0000", + "blockNumber": "0x151241d", + "transactionHash": "0xa169778827320c72a21971a7de2d3e9f8d343e405a138e84867a900fdde5ad85", + "transactionIndex": "0x75", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x195", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x767fe9edc9e0df98e07454847909b5e959d7ca0e", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000924c24fad148a4758f399299c44c56887e65af50", + "0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582" + ], + "data": "0x0000000000000000000000000000000000000000000000000853a0d2313c0000", + "blockNumber": "0x151241d", + "transactionHash": "0xa169778827320c72a21971a7de2d3e9f8d343e405a138e84867a900fdde5ad85", + "transactionIndex": "0x75", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x196", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000010000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000200000000080000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000004000000000000000000080000000000000000000000100000001000000080000000000000000000000000000000000000000010000000000000000400000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x767fe9edc9e0df98e07454847909b5e959d7ca0e", + "transactionHash": "0xa169778827320c72a21971a7de2d3e9f8d343e405a138e84867a900fdde5ad85", + "transactionIndex": "0x75", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xeb3124", + "effectiveGasPrice": "0x28a035ec", + "from": "0x2187c0d4a23d2ed671bdec4c7d8d7fe8b049a649", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xb568c208048b00f61d5c75fba4106e5b50ec0895", + "transactionHash": "0x033d73d2b9b5267a50793bf78825cc0e004c3a9efcc4feee6bac1efc5a7c7d7a", + "transactionIndex": "0x76", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xec131c", + "effectiveGasPrice": "0x1f063db0", + "from": "0x256e820a954ecf831ca629e87ff5cb9f0e40d8cc", + "gasUsed": "0xe1f8", + "logs": [ + { + "address": "0xe7c6bf469e97eeb0bfb74c8dbff5bd47d4c1c98a", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000256e820a954ecf831ca629e87ff5cb9f0e40d8cc", + "0x000000000000000000000000b300000b72deaeb607a12d5f54773d1c19c7028d" + ], + "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000", + "blockNumber": "0x151241d", + "transactionHash": "0xcfb98dafc902184fa5afe148c2663ccd6fa616eecad42d929c4d10cfa52d5e9f", + "transactionIndex": "0x77", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x197", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000100000000000000000000000000000000000080000000000400000000000000000000000000000000000010000000000000000000000000004000000000000000000000000000000000", + "status": "0x1", + "to": "0xe7c6bf469e97eeb0bfb74c8dbff5bd47d4c1c98a", + "transactionHash": "0xcfb98dafc902184fa5afe148c2663ccd6fa616eecad42d929c4d10cfa52d5e9f", + "transactionIndex": "0x77", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xed9532", + "effectiveGasPrice": "0x1cd09a8a", + "from": "0xeb2c14ac79c4e83d1c344d1714814321d8704297", + "gasUsed": "0x18216", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004219a846b617ac0bf1c6bf70d57ba20a4bdc7443", + "0x000000000000000000000000d1eb1cd562040c691ebd683e22910d0318db7b21" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000430e23400", + "blockNumber": "0x151241d", + "transactionHash": "0xc68d51ee52f81ddc70f58a7f2fcba375273fa4c241e060ac6ed9833ba33192a1", + "transactionIndex": "0x78", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x198", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x4219a846b617ac0bf1c6bf70d57ba20a4bdc7443", + "topics": [ + "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" + ], + "data": "0xe81b737cc2fded825216ee470374dba64b2689cff7b6b5e56f9339df328c2cc40000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xc68d51ee52f81ddc70f58a7f2fcba375273fa4c241e060ac6ed9833ba33192a1", + "transactionIndex": "0x78", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x199", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000500000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000200000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000010000000020000000000000000000000000000800000000000010000000800000000000000000000000000200000000000000004000000000000000000000000000000000000000002000000000000000000000000000020800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x4219a846b617ac0bf1c6bf70d57ba20a4bdc7443", + "transactionHash": "0xc68d51ee52f81ddc70f58a7f2fcba375273fa4c241e060ac6ed9833ba33192a1", + "transactionIndex": "0x78", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xee5ade", + "effectiveGasPrice": "0x1fae1670", + "from": "0x0d803562e792de9ed617b4d71a785f2e930284d8", + "gasUsed": "0xc5ac", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000471441cd64046a2099e30d3356726d940fdb3763", + "0x0000000000000000000000004400c1b92a1a957c1d79f22ca297c7720d96f435" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x31913449eb5f8e157f25f1034293e44a3f9f9ea04b9e3af2c64fa23dd9bea386", + "transactionIndex": "0x79", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x19a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000001000000000000000000000000000000000000400008000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000010000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000", + "status": "0x1", + "to": "0xbdba16270ea4d6edaf4f866afa0fa395c9929fd0", + "transactionHash": "0x31913449eb5f8e157f25f1034293e44a3f9f9ea04b9e3af2c64fa23dd9bea386", + "transactionIndex": "0x79", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xf12ea2", + "effectiveGasPrice": "0x37859a70", + "from": "0x16cec2313277e97c44a46a24fac0dbb816a87618", + "gasUsed": "0x2d3c4", + "logs": [ + { + "address": "0xbe0ed4138121ecfc5c0e56b40517da27e6c5226b", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000016cec2313277e97c44a46a24fac0dbb816a87618", + "0x000000000000000000000000ce16f69375520ab01377ce7b88f5ba8c48f8d666" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x7069cd8785da2f27a3742ab3f04078c5c39c27ac11bfa3e3b5a8100d45be08b6", + "transactionIndex": "0x7a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x19b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbe0ed4138121ecfc5c0e56b40517da27e6c5226b", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000016cec2313277e97c44a46a24fac0dbb816a87618", + "0x000000000000000000000000ad6cea45f98444a922a2b4fe96b8c90f0862d2f4" + ], + "data": "0x000000000000000000000000000000000000000000000243818d39f3ddc80000", + "blockNumber": "0x151241d", + "transactionHash": "0x7069cd8785da2f27a3742ab3f04078c5c39c27ac11bfa3e3b5a8100d45be08b6", + "transactionIndex": "0x7a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x19c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbe0ed4138121ecfc5c0e56b40517da27e6c5226b", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000ad6cea45f98444a922a2b4fe96b8c90f0862d2f4", + "0x000000000000000000000000b5fb4be02232b1bba4dc8f81dc24c26980de9e3c" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockNumber": "0x151241d", + "transactionHash": "0x7069cd8785da2f27a3742ab3f04078c5c39c27ac11bfa3e3b5a8100d45be08b6", + "transactionIndex": "0x7a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x19d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbe0ed4138121ecfc5c0e56b40517da27e6c5226b", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000ad6cea45f98444a922a2b4fe96b8c90f0862d2f4", + "0x000000000000000000000000148f010746c2999abc3fd5533746632ad9771948" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockNumber": "0x151241d", + "transactionHash": "0x7069cd8785da2f27a3742ab3f04078c5c39c27ac11bfa3e3b5a8100d45be08b6", + "transactionIndex": "0x7a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x19e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xbe0ed4138121ecfc5c0e56b40517da27e6c5226b", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ad6cea45f98444a922a2b4fe96b8c90f0862d2f4", + "0x000000000000000000000000148f010746c2999abc3fd5533746632ad9771948" + ], + "data": "0x000000000000000000000000000000000000000000000243818d39f3ddc80000", + "blockNumber": "0x151241d", + "transactionHash": "0x7069cd8785da2f27a3742ab3f04078c5c39c27ac11bfa3e3b5a8100d45be08b6", + "transactionIndex": "0x7a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x19f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xb5fb4be02232b1bba4dc8f81dc24c26980de9e3c", + "topics": [ + "0xcd05f5b9dc4bb03babf40f5da98f5f46819846207d916f89b67d36fd1f7fd74f", + "0x88f7d4d3c179fc145b10300e6e4ee078f32ec3cd3bcb80ca98f2fa7a719f330b", + "0x000000000000000000000000ad6cea45f98444a922a2b4fe96b8c90f0862d2f4", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000243818d39f3ddc800000000000000000000000000000000000000000000000000000000000000000008617262697472756d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001416cec2313277e97c44a46a24fac0dbb816a87618000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x7069cd8785da2f27a3742ab3f04078c5c39c27ac11bfa3e3b5a8100d45be08b6", + "transactionIndex": "0x7a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1a0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x2d5d7d31f671f86c782533cc367f14109a082712", + "topics": [ + "0x617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a", + "0x000000000000000000000000b5fb4be02232b1bba4dc8f81dc24c26980de9e3c", + "0xe2a4fe4a448875c8e0cbafdb59a0297cd387a0f2f78e4ff9983253b4f8066dec" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000003559f342598700000000000000000000000016cec2313277e97c44a46a24fac0dbb816a876180000000000000000000000000000000000000000000000000000000000000008617262697472756d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30784235464234424530323233324231624241346443386638316463323443323639383064453965334300000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x7069cd8785da2f27a3742ab3f04078c5c39c27ac11bfa3e3b5a8100d45be08b6", + "transactionIndex": "0x7a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1a1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x4f4495243837681061c4743b74b3eedf548d56a5", + "topics": [ + "0x30ae6cc78c27e651745bf2ad08a11de83910ac1e347a52f7ac898c0fbef94dae", + "0x000000000000000000000000b5fb4be02232b1bba4dc8f81dc24c26980de9e3c", + "0xe2a4fe4a448875c8e0cbafdb59a0297cd387a0f2f78e4ff9983253b4f8066dec" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000008617262697472756d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a307842354642344245303232333242316242413464433866383164633234433236393830644539653343000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000088f7d4d3c179fc145b10300e6e4ee078f32ec3cd3bcb80ca98f2fa7a719f330b00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000243818d39f3ddc8000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000014ad6cea45f98444a922a2b4fe96b8c90f0862d2f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000001416cec2313277e97c44a46a24fac0dbb816a876180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x7069cd8785da2f27a3742ab3f04078c5c39c27ac11bfa3e3b5a8100d45be08b6", + "transactionIndex": "0x7a", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1a2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x02000000000000000000000804002000000000000000000000000000000000000000000800000000000100000000000000000000000000080000400000200000100000040000008000000008000000002000000002000000000000200000000000000000020000000080000080000800800000000000000000000010000010800000000002000100000000000000000800000000208000000000000000000000022008000000000000000000000000000000000000000000000040101000200040000002000000000200000200000000000100000000000400000000008020000012000020000000000000400000400000100000000000000000000000000000", + "status": "0x1", + "to": "0xce16f69375520ab01377ce7b88f5ba8c48f8d666", + "transactionHash": "0x7069cd8785da2f27a3742ab3f04078c5c39c27ac11bfa3e3b5a8100d45be08b6", + "transactionIndex": "0x7a", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xf180aa", + "effectiveGasPrice": "0x5d17084a", + "from": "0xd04a3c3fab5c16616c423a1f075af315c871ccc6", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xec4896a44d3de64739bbcf025711db1e21479162", + "transactionHash": "0x3fe889c7274a77082440e31a05220c6a6661ed6d3c6e6483db833c1174f4cffb", + "transactionIndex": "0x7b", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xf1d2b2", + "effectiveGasPrice": "0x5cca8fb6", + "from": "0x521a605ec816989e63800a8a28d0695422a6552e", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa7eb21a48f568238faf950ac9f41711c8c815217", + "transactionHash": "0xd2248117d63e271e5663923b0c13763b571ed0bee32e0e7c4328ffae79d1382f", + "transactionIndex": "0x7c", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xf224ba", + "effectiveGasPrice": "0x5cca8fb6", + "from": "0x2ec92a43f1992d857175fafbc18ff93f041d2411", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x2a62c1e7ce251f668948f1824a9986f40d04f9c8", + "transactionHash": "0xc4c47877a95171751af458b2756c9c48b68364ab8e27a7f676a8e49e9f4d2264", + "transactionIndex": "0x7d", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xf276c2", + "effectiveGasPrice": "0x5552ff70", + "from": "0x61252faadcd832aa7279c78e033c95c762cd7215", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x11d4a6047f3e7f123ffb83e0eeb7839a3c6f0a4b", + "transactionHash": "0x6eda9bc3642b8a50cf972a6e006c8489ce0d551e39bc59588ac8e998c6f49bed", + "transactionIndex": "0x7e", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xf42db1", + "effectiveGasPrice": "0x1be7893e", + "from": "0x48af281b6238ec308c97f87b3e5ea2651589dbb2", + "gasUsed": "0x1b6ef", + "logs": [ + { + "address": "0xb5d730d442e1d5b119fb4e5c843c48a64202ef92", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004633afa7c69379ba09912a42b7e59388af596081", + "0x00000000000000000000000048af281b6238ec308c97f87b3e5ea2651589dbb2" + ], + "data": "0x00000000000000000000000000000000000000000000002e78e2b3b825c7801c", + "blockNumber": "0x151241d", + "transactionHash": "0x76fe8b8062af94d3dd33b3770f6ba792b76a3be159660eb2b3f7fa78908f0697", + "transactionIndex": "0x7f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1a3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000048af281b6238ec308c97f87b3e5ea2651589dbb2", + "0x0000000000000000000000004633afa7c69379ba09912a42b7e59388af596081" + ], + "data": "0x000000000000000000000000000000000000000000000000000506f6d93a253f", + "blockNumber": "0x151241d", + "transactionHash": "0x76fe8b8062af94d3dd33b3770f6ba792b76a3be159660eb2b3f7fa78908f0697", + "transactionIndex": "0x7f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1a4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x4633afa7c69379ba09912a42b7e59388af596081", + "topics": [ + "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45", + "0x00000000000000000000000048af281b6238ec308c97f87b3e5ea2651589dbb2" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffd1871d4c47da387fe4000000000000000000000000000000000000000000000000000506f6d93a253f000000000000000000000000000000000000000000541350b570325b17d41e2200000000000000000000000000000000000000000000035bbf4b4c880d9968ddfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdf7c4", + "blockNumber": "0x151241d", + "transactionHash": "0x76fe8b8062af94d3dd33b3770f6ba792b76a3be159660eb2b3f7fa78908f0697", + "transactionIndex": "0x7f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1a5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x40000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000002000000080020000000000000000000000000000000000800000008000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000002010010800000000000080000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000002000000000000000000002000000000040000000000000100000000000000200000000020000000000000080000000800000000000000000000000000", + "status": "0x1", + "to": "0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45", + "transactionHash": "0x76fe8b8062af94d3dd33b3770f6ba792b76a3be159660eb2b3f7fa78908f0697", + "transactionIndex": "0x7f", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xf4e1ce", + "effectiveGasPrice": "0x1f063db0", + "from": "0x1f773a8c196e570443b8dff0bc66b2f36583cbb5", + "gasUsed": "0xb41d", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001f773a8c196e570443b8dff0bc66b2f36583cbb5", + "0x0000000000000000000000006a4a7c465c62fd29fb09d1d5ed2ba8354b891e77" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000047868c0", + "blockNumber": "0x151241d", + "transactionHash": "0x346f4a937403dc596af242226c0e78cdd3f2ab2e781d699f6e236bd9c3b0dcd5", + "transactionIndex": "0x80", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1a6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008800000000000000000000000000000001000000000000000000000002000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000040000020000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0x346f4a937403dc596af242226c0e78cdd3f2ab2e781d699f6e236bd9c3b0dcd5", + "transactionIndex": "0x80", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xf58112", + "effectiveGasPrice": "0x1fae1670", + "from": "0xef2346a98d7e838c8840dbc301b6809789647729", + "gasUsed": "0x9f44", + "logs": [ + { + "address": "0x4a3826bd2e8a31956ad0397a49efde5e0d825238", + "topics": [ + "0x431443e9d10bd3a688b8f8554f4c479262ae505022d7b37c3d6849f8ef7324f6", + "0x000000000000000000000000ef2346a98d7e838c8840dbc301b6809789647729" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000681c88670000000000000000000000000000000000000000000000000000000067dd40670000000000000000000000000000000000000000000000000000000067dd4a0f", + "blockNumber": "0x151241d", + "transactionHash": "0x82ef573c2fcdba187db22fb3e90fb386d7d847299cde99821c73faa2c9e109d9", + "transactionIndex": "0x81", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1a7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000020000080000000000000000000000080000000000000000000000000000000000000000000000000000000000800000000000080000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000", + "status": "0x1", + "to": "0x4a3826bd2e8a31956ad0397a49efde5e0d825238", + "transactionHash": "0x82ef573c2fcdba187db22fb3e90fb386d7d847299cde99821c73faa2c9e109d9", + "transactionIndex": "0x81", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xf6316e", + "effectiveGasPrice": "0x1f063db0", + "from": "0x6027f382ec034292c28fa16b5e3f0dfb443af972", + "gasUsed": "0xb05c", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006027f382ec034292c28fa16b5e3f0dfb443af972", + "0x00000000000000000000000071e0b9d6ed4c08d865fdc10f908260629038d5ab" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000004c4b40", + "blockNumber": "0x151241d", + "transactionHash": "0x5310ada025ac8b72f494de77d9f603c2f1cbb195b7ee960c03cf81f48b757654", + "transactionIndex": "0x82", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1a8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000000014000200000000000000000000000000000200000000000000000000000000000000000000000000000000000000002000000000000200000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0x5310ada025ac8b72f494de77d9f603c2f1cbb195b7ee960c03cf81f48b757654", + "transactionIndex": "0x82", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xf86e84", + "effectiveGasPrice": "0x37859a70", + "from": "0xae146f21b53a919666a4c4e1f4d067266a04349a", + "gasUsed": "0x23d16", + "logs": [ + { + "address": "0xa4ca34e769aa71c6ef38f7d0d1efe9ab9547b84e", + "topics": [ + "0xacf531ec465d633652ed6f0179042e0f5105d16b2eb45652517eb8f96e3d1997", + "0x000000000000000000000000ae146f21b53a919666a4c4e1f4d067266a04349a", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000004290520f7aebdf26000", + "blockNumber": "0x151241d", + "transactionHash": "0xe5de8e4fb4adf97e689c340e324a382425b9a1eec98120f0a911c9d8ca376a98", + "transactionIndex": "0x83", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1a9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000008000000000020000000010000000000000000000000000000010000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000800000002000000000000000000000000000000000000004000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa4ca34e769aa71c6ef38f7d0d1efe9ab9547b84e", + "transactionHash": "0xe5de8e4fb4adf97e689c340e324a382425b9a1eec98120f0a911c9d8ca376a98", + "transactionIndex": "0x83", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xf978d7", + "effectiveGasPrice": "0x1cb325f0", + "from": "0xb50d1d38cc918c3b71efe09a0b07c8ff12777a57", + "gasUsed": "0x10a53", + "logs": [ + { + "address": "0x0590cc9232ebf68d81f6707a119898219342ecb9", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b50d1d38cc918c3b71efe09a0b07c8ff12777a57", + "0x000000000000000000000000072b9c334185c6389a962d304529c513faf17a86" + ], + "data": "0x000000000000000000000000000000000000000000000000000014808c6ff41f", + "blockNumber": "0x151241d", + "transactionHash": "0xe3ea08ddfaf5ffa32a9cd3adf6fe0bf6784f516b0a97b447ff6e13af08e78de3", + "transactionIndex": "0x84", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1aa", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000008000000000000000000008000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000040000000800000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000", + "status": "0x1", + "to": "0x0590cc9232ebf68d81f6707a119898219342ecb9", + "transactionHash": "0xe3ea08ddfaf5ffa32a9cd3adf6fe0bf6784f516b0a97b447ff6e13af08e78de3", + "transactionIndex": "0x84", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xfb770b", + "effectiveGasPrice": "0x37859a70", + "from": "0xe88858201e855ff0e49f3ddf8301caf4784dc391", + "gasUsed": "0x1fe34", + "logs": [ + { + "address": "0x5c5b196abe0d54485975d1ec29617d42d9198326", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e88858201e855ff0e49f3ddf8301caf4784dc391", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000507c28a50eda826e3", + "blockNumber": "0x151241d", + "transactionHash": "0x7ca6e25964774598d98c66a79d9cb532776113dc1f6315a8cd6c1412b72c16f3", + "transactionIndex": "0x85", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ab", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x15700b564ca08d9439c58ca5053166e8317aa138", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005c5b196abe0d54485975d1ec29617d42d9198326", + "0x0000000000000000000000004595c32720718fe0e4047b2683e255515123148a" + ], + "data": "0x00000000000000000000000000000000000000000000000533d3704f86fef26c", + "blockNumber": "0x151241d", + "transactionHash": "0x7ca6e25964774598d98c66a79d9cb532776113dc1f6315a8cd6c1412b72c16f3", + "transactionIndex": "0x85", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ac", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x5c5b196abe0d54485975d1ec29617d42d9198326", + "topics": [ + "0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db", + "0x000000000000000000000000e88858201e855ff0e49f3ddf8301caf4784dc391", + "0x0000000000000000000000004595c32720718fe0e4047b2683e255515123148a", + "0x000000000000000000000000e88858201e855ff0e49f3ddf8301caf4784dc391" + ], + "data": "0x00000000000000000000000000000000000000000000000533d3704f86fef26c00000000000000000000000000000000000000000000000507c28a50eda826e3", + "blockNumber": "0x151241d", + "transactionHash": "0x7ca6e25964774598d98c66a79d9cb532776113dc1f6315a8cd6c1412b72c16f3", + "transactionIndex": "0x85", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ad", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000400000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000008000100000000000000000800000800000000000008000000000000000000000000000000000040000000000000020000000000000000000800002000000000000000000030000000000000000010000004000000000000000000000000000000000000000000000000000000000000000000002000000000020000000000000000000000000000000000000002000000000000000000000000000040000000000000000000040020000000000000000000000000000000000000000000000000000010000000000000", + "status": "0x1", + "to": "0x5c5b196abe0d54485975d1ec29617d42d9198326", + "transactionHash": "0x7ca6e25964774598d98c66a79d9cb532776113dc1f6315a8cd6c1412b72c16f3", + "transactionIndex": "0x85", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xfbc913", + "effectiveGasPrice": "0x22e4ae84", + "from": "0xf6eac7701b5be43028e8b069ae3e9089ef0b6c06", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc94ebb328ac25b95db0e0aa968371885fa516215", + "transactionHash": "0x904d8057c17a3a0c78c96464e19ed981a0a6c1a5bcd955f9b7ef543a1bdc3604", + "transactionIndex": "0x86", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xfc1b1b", + "effectiveGasPrice": "0x22e4ae84", + "from": "0x78d483c9f7f01ff22c12bee4d954e119a864d953", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc94ebb328ac25b95db0e0aa968371885fa516215", + "transactionHash": "0xa3c6aac201b65b03cf02a2f422391b8628d4de2a53bf4501b7cb3051de7ca10e", + "transactionIndex": "0x87", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xfc6d23", + "effectiveGasPrice": "0x2295063f", + "from": "0x26b5a47da9c56a9617c0f15c95705d5065f2bdc9", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc94ebb328ac25b95db0e0aa968371885fa516215", + "transactionHash": "0xff4ad34f0e5f19cf74953d5d2305c4c2894e06d4b08c541daeffb808f6f64fe4", + "transactionIndex": "0x88", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xfcbf2b", + "effectiveGasPrice": "0x2295063f", + "from": "0x285a43d5f8d44499b94da160227e621eb8583581", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc94ebb328ac25b95db0e0aa968371885fa516215", + "transactionHash": "0xf941a3500c9adae633b81c5d9c9cb0d5b12adcf38e9791b7a0ee732c1cab3098", + "transactionIndex": "0x89", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xfd1133", + "effectiveGasPrice": "0x2295063f", + "from": "0x8ca1eafa70dca2f48809d14e1cc1510d310447f4", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc94ebb328ac25b95db0e0aa968371885fa516215", + "transactionHash": "0xf9a571d049ad25c0736aa1dd435c7eb60c947428151d0ef7fe5456b2c999b249", + "transactionIndex": "0x8a", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xfd633b", + "effectiveGasPrice": "0x2295063f", + "from": "0x21c355a9e17ae0c9f55e9e919533b4d886774928", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc94ebb328ac25b95db0e0aa968371885fa516215", + "transactionHash": "0x107ca81051ff280b1cfee9a2b26eec2ac894fa109d992eae3e0440e04e036520", + "transactionIndex": "0x8b", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xfdda0b", + "effectiveGasPrice": "0x1fae1670", + "from": "0xdefbffe64156f9b5e854206a62796e08df230948", + "gasUsed": "0x76d0", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x000000000000000000000000defbffe64156f9b5e854206a62796e08df230948" + ], + "data": "0x0000000000000000000000000000000000000000000000001ed20236a6fa8000", + "blockNumber": "0x151241d", + "transactionHash": "0xa589f97141b76a0a74a160f153ac3ba568099164a5f64cff2d1b2adcbf398c01", + "transactionIndex": "0x8c", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ae", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000002000000080000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000040000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000002000000000000200000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "transactionHash": "0xa589f97141b76a0a74a160f153ac3ba568099164a5f64cff2d1b2adcbf398c01", + "transactionIndex": "0x8c", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xfe5010", + "effectiveGasPrice": "0x1fae1670", + "from": "0x3c4ffd8b29f1d6468654d09a8b1535efdb2c5630", + "gasUsed": "0x7605", + "logs": [ + { + "address": "0x514910771af9ca656af840dff83e8264ecf986ca", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003c4ffd8b29f1d6468654d09a8b1535efdb2c5630", + "0x000000000000000000000000759cd84bff5e4b3dd01cf730d197aaa8bd663834" + ], + "data": "0x000000000000000000000000000000000000000000000001be22f9986123e7b0", + "blockNumber": "0x151241d", + "transactionHash": "0xef1d26eeddf6477d4dcf5e8b453d270e618a8bf3b1e056b61b804e7d9b2ad5c3", + "transactionIndex": "0x8d", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1af", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000100000000000000000001000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002010001000000000000000004000000000000000000000000000000000000000000000000000000000400000000000080000000000000000000000000", + "status": "0x1", + "to": "0x514910771af9ca656af840dff83e8264ecf986ca", + "transactionHash": "0xef1d26eeddf6477d4dcf5e8b453d270e618a8bf3b1e056b61b804e7d9b2ad5c3", + "transactionIndex": "0x8d", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xff2916", + "effectiveGasPrice": "0x1cb325f0", + "from": "0xa534714129e58f83dd0b8f8f92e10de93b9e5a4e", + "gasUsed": "0xd906", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000a534714129e58f83dd0b8f8f92e10de93b9e5a4e", + "0x000000000000000000000000337685fdab40d39bd02028545a4ffa7d287cc3e2" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", + "blockNumber": "0x151241d", + "transactionHash": "0x9a80673ccbc75c0afc212337d02623feec9e4f4e6f8c20e415608340c8ad2bf0", + "transactionIndex": "0x8e", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1b0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00004000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000200000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000010000000000000000000000020000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000800010000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0x9a80673ccbc75c0afc212337d02623feec9e4f4e6f8c20e415608340c8ad2bf0", + "transactionIndex": "0x8e", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0xfff2c5", + "effectiveGasPrice": "0x1cb325f0", + "from": "0x96b95c86df63af4b456ff768a8c9ae4d6aea30fb", + "gasUsed": "0xc9af", + "logs": [ + { + "address": "0xac0f906e433d58fa868f936e8a43230473652885", + "topics": [ + "0x861a4138e41fb21c121a7dbb1053df465c837fc77380cc7226189a662281be2c", + "0x00000000000000000000000096b95c86df63af4b456ff768a8c9ae4d6aea30fb", + "0x00000000000000000000000096b95c86df63af4b456ff768a8c9ae4d6aea30fb" + ], + "data": "0x00000000000000000000000000000000000000000000000004ed369e7f43800000000000000000000000000000000000000000000000000004b948bc6ad6d1500000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xf0d40c8b9e92c2dbec8d1cf489475932a7b4066ea5379ce887273f96fe4239b3", + "transactionIndex": "0x8f", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1b1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000020000000000000000000000000000000000000001000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000020000000000000000000000004000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000", + "status": "0x1", + "to": "0xac0f906e433d58fa868f936e8a43230473652885", + "transactionHash": "0xf0d40c8b9e92c2dbec8d1cf489475932a7b4066ea5379ce887273f96fe4239b3", + "transactionIndex": "0x8f", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x100a650", + "effectiveGasPrice": "0x1cb325f0", + "from": "0xf9303877f107f5cd2cb0654b6d7a6d749fa03856", + "gasUsed": "0xb38b", + "logs": [ + { + "address": "0xfd03723a9a3abe0562451496a9a394d2c4bad4ab", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000f9303877f107f5cd2cb0654b6d7a6d749fa03856", + "0x000000000000000000000000cf5540fffcdc3d510b18bfca6d2b9987b0772559" + ], + "data": "0x00000000000000000000000000000000000000000000000110985500b9e0ffdf", + "blockNumber": "0x151241d", + "transactionHash": "0xb214e15ecfcb3a232d9c0204012dadefe1b345f65a1558d14a9ebc46dd020034", + "transactionIndex": "0x90", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1b2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000800000000000000000000200000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000400000000000000002000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000010000080000000000002000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xfd03723a9a3abe0562451496a9a394d2c4bad4ab", + "transactionHash": "0xb214e15ecfcb3a232d9c0204012dadefe1b345f65a1558d14a9ebc46dd020034", + "transactionIndex": "0x90", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x101c1c4", + "effectiveGasPrice": "0x1b610125", + "from": "0xa377aa6822603cc52e4e9ed6eaa045c46ef6b3e2", + "gasUsed": "0x11b74", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b685760ebd368a891f27ae547391f4e2a289895b", + "0x000000000000000000000000edb19c6ac409e9b13b087c67e8bb27fe74b5ef48" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000095d3a1", + "blockNumber": "0x151241d", + "transactionHash": "0xcddc0dbf2d539ffc6f86ab850758b857e68055651b057390c08f5270318d1843", + "transactionIndex": "0x91", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1b3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xb685760ebd368a891f27ae547391f4e2a289895b", + "topics": [ + "0x7bf0873174a9cc6b28e039b52e74903dd59d650205f32748e3c3dd6b9918ea87" + ], + "data": "0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000095d3a1", + "blockNumber": "0x151241d", + "transactionHash": "0xcddc0dbf2d539ffc6f86ab850758b857e68055651b057390c08f5270318d1843", + "transactionIndex": "0x91", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1b4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000004000000000000000000000000000000000000100000010000000000000000000000000001000000800000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000410000000000000001000000000000400000000100000000000000000000000000080008000000000000000000000000000200000000000000002000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xb685760ebd368a891f27ae547391f4e2a289895b", + "transactionHash": "0xcddc0dbf2d539ffc6f86ab850758b857e68055651b057390c08f5270318d1843", + "transactionIndex": "0x91", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10235d1", + "effectiveGasPrice": "0x1da2ec6b", + "from": "0x9883e2c324ce83f0207a9c5a0af25612f5402704", + "gasUsed": "0x740d", + "logs": [ + { + "address": "0x4d224452801aced8b2f0aebe155379bb5d594381", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009883e2c324ce83f0207a9c5a0af25612f5402704", + "0x000000000000000000000000dec723ffd070d8896482b1cae15f1fb295b91c2c" + ], + "data": "0x0000000000000000000000000000000000000000000001bc85dc2a89bb200000", + "blockNumber": "0x151241d", + "transactionHash": "0x054d8780fb7145ceb446c46ee23a999bcfa81fc8d8968be87eab9fcc66a262f5", + "transactionIndex": "0x92", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1b5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000100000000000000000000000000000000000008002000000000000000000000200000000000080000000000000000020000000000000000000000000000000000000010000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000040000000000000000002000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x4d224452801aced8b2f0aebe155379bb5d594381", + "transactionHash": "0x054d8780fb7145ceb446c46ee23a999bcfa81fc8d8968be87eab9fcc66a262f5", + "transactionIndex": "0x92", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10287d9", + "effectiveGasPrice": "0x1e6da730", + "from": "0x625217ce1ea3f484ab03e050a8dd1b9fe5ec226f", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xb131e281d89b811906d585ea3317457e88e2418f", + "transactionHash": "0x3d02143a5809be18731c67ccfc3ceee44c4e8aaebcb24b7e295d70da7d81dd45", + "transactionIndex": "0x93", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1038744", + "effectiveGasPrice": "0x37859a70", + "from": "0x53aff29ab68e5a143f8280030db9b0f5e495d35d", + "gasUsed": "0xff6b", + "logs": [ + { + "address": "0x7d8146cf21e8d7cbe46054e01588207b51198729", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000053aff29ab68e5a143f8280030db9b0f5e495d35d", + "0x000000000000000000000000c19c5319449f4d2e20f9a5c9e7b19139744e18af" + ], + "data": "0x0000000000000000000000000000000000000000000143219308d8b2ddd3e55d", + "blockNumber": "0x151241d", + "transactionHash": "0x73c9c11208017d4a02ff9d8915ce1ade4125f03ee9d14cbf24b4164ebfb7ab76", + "transactionIndex": "0x94", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1b6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000008000000000000800000000800000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004002000000000000000000000000000000000000000020000000000000000000000000000000000000000800000000008000000000000008000000000000", + "status": "0x1", + "to": "0x7d8146cf21e8d7cbe46054e01588207b51198729", + "transactionHash": "0x73c9c11208017d4a02ff9d8915ce1ade4125f03ee9d14cbf24b4164ebfb7ab76", + "transactionIndex": "0x94", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1043ecf", + "effectiveGasPrice": "0x37859a70", + "from": "0x61ae4064c04ced9b4d0ee7544334d785c0b85b82", + "gasUsed": "0xb78b", + "logs": [ + { + "address": "0x1ceb5cb57c4d4e2b2433641b95dd330a33185a44", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000061ae4064c04ced9b4d0ee7544334d785c0b85b82", + "0x000000000000000000000000c0963d824a2beae2aacf95e50a77a5467aecdc84" + ], + "data": "0x000000000000000000000000000000000000000000000000c07c66c7c4d099a9", + "blockNumber": "0x151241d", + "transactionHash": "0x734eb917fe17e60aaeb02f32b0210677fa3823d5a9266c339b7929b9fe9dfec2", + "transactionIndex": "0x95", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1b7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000200000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000001000000000008000000000000000000000000000000000000000000001000000000000000000000000100000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000020000000000000000000000000000000000000020000000", + "status": "0x1", + "to": "0x1ceb5cb57c4d4e2b2433641b95dd330a33185a44", + "transactionHash": "0x734eb917fe17e60aaeb02f32b0210677fa3823d5a9266c339b7929b9fe9dfec2", + "transactionIndex": "0x95", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x104f2da", + "effectiveGasPrice": "0x37859a70", + "from": "0xcab18151ff4ae8e8c56294dfeddc84fe72ead074", + "gasUsed": "0xb40b", + "logs": [ + { + "address": "0x9d4ccb27e285a9d1d8a7c3dbe4b7d8a1945229c7", + "topics": [ + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "0x000000000000000000000000cab18151ff4ae8e8c56294dfeddc84fe72ead074", + "0x0000000000000000000000001e0049783f008a0085193e00003d00cd54003c71" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockNumber": "0x151241d", + "transactionHash": "0x480034e45c53343903c8e2ce008ea1a74bb9b5f6ec03c6dafc974654e3e071bb", + "transactionIndex": "0x96", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1b8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000800002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800010000000000000000000000000000001000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200800000000000000000400000000004000000000000000000000000000", + "status": "0x1", + "to": "0x9d4ccb27e285a9d1d8a7c3dbe4b7d8a1945229c7", + "transactionHash": "0x480034e45c53343903c8e2ce008ea1a74bb9b5f6ec03c6dafc974654e3e071bb", + "transactionIndex": "0x96", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1059de6", + "effectiveGasPrice": "0x37859a70", + "from": "0x5d3c3c0646e605ac8856465bd0f51e428f82468e", + "gasUsed": "0xab0c", + "logs": [ + { + "address": "0x6c3ea9036406852006290770bedfcaba0e23a0e8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005d3c3c0646e605ac8856465bd0f51e428f82468e", + "0x0000000000000000000000000849d57501d4fa3aad519fcbe6f7114963154b6f" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000fcb9440", + "blockNumber": "0x151241d", + "transactionHash": "0xaf574f95002605ea62ccad137a7746bebc91566c7d13df905a6aaa10e1cbfb6f", + "transactionIndex": "0x97", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1b9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000001800040000000000000000080010000402000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200200000000000000000000000000000000000000000000000400000", + "status": "0x1", + "to": "0x6c3ea9036406852006290770bedfcaba0e23a0e8", + "transactionHash": "0xaf574f95002605ea62ccad137a7746bebc91566c7d13df905a6aaa10e1cbfb6f", + "transactionIndex": "0x97", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x106265e", + "effectiveGasPrice": "0x1b610125", + "from": "0xa377aa6822603cc52e4e9ed6eaa045c46ef6b3e2", + "gasUsed": "0x8878", + "logs": [ + { + "address": "0xb685760ebd368a891f27ae547391f4e2a289895b", + "topics": [ + "0x94effa14ea3a1ef396fa2fd829336d1597f1d76b548c26bfa2332869706638af" + ], + "data": "0x00000000000000000000000000000000000000000000000000266d183de40000", + "blockNumber": "0x151241d", + "transactionHash": "0xb1fbb8f537065a8a5ad35b3a9a8a2be54528da6430a06cb5834dbc08fca904d1", + "transactionIndex": "0x98", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ba", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000002000000000000000000000000000000000000000000004000000000000000080000000000000000000000000000000000", + "status": "0x1", + "to": "0xb685760ebd368a891f27ae547391f4e2a289895b", + "transactionHash": "0xb1fbb8f537065a8a5ad35b3a9a8a2be54528da6430a06cb5834dbc08fca904d1", + "transactionIndex": "0x98", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x108963e", + "effectiveGasPrice": "0x1a1112bd", + "from": "0x6aac4ef114cb0286ac5cc524577983d28d04d8f5", + "gasUsed": "0x26fe0", + "logs": [ + { + "address": "0xf944e35f95e819e752f3ccb5faf40957d311e8c5", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006aac4ef114cb0286ac5cc524577983d28d04d8f5", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631" + ], + "data": "0x000000000000000000000000000000000000000000000057b66c962ca95ace80", + "blockNumber": "0x151241d", + "transactionHash": "0xf5e473a8c045c634203904a02a0fe8a1afd088ae328628133e0d2878d54bfff0", + "transactionIndex": "0x99", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1bb", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xf944e35f95e819e752f3ccb5faf40957d311e8c5", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631", + "0x00000000000000000000000067336cec42645f55059eff241cb02ea5cc52ff86" + ], + "data": "0x000000000000000000000000000000000000000000000057b66c962ca95ace80", + "blockNumber": "0x151241d", + "transactionHash": "0xf5e473a8c045c634203904a02a0fe8a1afd088ae328628133e0d2878d54bfff0", + "transactionIndex": "0x99", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1bc", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000067336cec42645f55059eff241cb02ea5cc52ff86", + "0x000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff" + ], + "data": "0x000000000000000000000000000000000000000000000000011b4321f74ec552", + "blockNumber": "0x151241d", + "transactionHash": "0xf5e473a8c045c634203904a02a0fe8a1afd088ae328628133e0d2878d54bfff0", + "transactionIndex": "0x99", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1bd", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff" + ], + "data": "0x000000000000000000000000000000000000000000000000011b4321f74ec552", + "blockNumber": "0x151241d", + "transactionHash": "0xf5e473a8c045c634203904a02a0fe8a1afd088ae328628133e0d2878d54bfff0", + "transactionIndex": "0x99", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1be", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdef1c0ded9bec7f1a1670819833240f027b25eff", + "topics": [ + "0xac75f773e3a92f1a02b12134d65e1f47f8a14eabe4eaf1e24624918e6a8b269f" + ], + "data": "0x6657130ab384bfb57b663536bcb6b3f4976e31569507423a2997727844d3d96c00000000000000000000000067336cec42645f55059eff241cb02ea5cc52ff8600000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f944e35f95e819e752f3ccb5faf40957d311e8c5000000000000000000000000000000000000000000000000011b4321f74ec552000000000000000000000000000000000000000000000057b66c962ca95ace80", + "blockNumber": "0x151241d", + "transactionHash": "0xf5e473a8c045c634203904a02a0fe8a1afd088ae328628133e0d2878d54bfff0", + "transactionIndex": "0x99", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1bf", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xf326e4de8f66a0bdc0970b79e0924e33c79f1915", + "topics": [ + "0x3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631" + ], + "data": "0x00000000000000000000000000000000000000000000000000027a81e5af16d9", + "blockNumber": "0x151241d", + "transactionHash": "0xf5e473a8c045c634203904a02a0fe8a1afd088ae328628133e0d2878d54bfff0", + "transactionIndex": "0x99", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1c0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x881d40237659c251811cec9c364ef91dc08d300c", + "topics": [ + "0xbeee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630d", + "0xa8dc30b66c6d4a8aac3d15925bfca09e42cac4a00c50f9949154b045088e2ac2", + "0x0000000000000000000000006aac4ef114cb0286ac5cc524577983d28d04d8f5" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0xf5e473a8c045c634203904a02a0fe8a1afd088ae328628133e0d2878d54bfff0", + "transactionIndex": "0x99", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1c1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000001000000000000000000000000000000000000000000000000800010000000000000010000000000002008000080008000000000200000000000000000000002000020008000000400000000000400000200004000000000000000000000000000000000000000441000000000000040000000010000000000000021000000000000000000000000000000000000000004020000008000000008000000000000000204040000000000000000000000000000000000000004101000002000000000080000000008000000000000000000000000002000000000020200000000000000000800000000040000000000000008000100000001010", + "status": "0x1", + "to": "0x881d40237659c251811cec9c364ef91dc08d300c", + "transactionHash": "0xf5e473a8c045c634203904a02a0fe8a1afd088ae328628133e0d2878d54bfff0", + "transactionIndex": "0x99", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x108e886", + "effectiveGasPrice": "0x1baa6b65", + "from": "0x796cb54391d22dfc6f480fa780211b7bfab8c93b", + "gasUsed": "0x5248", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1e0d871472973c562650e991ed8006549f8cbefc", + "transactionHash": "0x1c116a024ec264587805937b67c4c9397a9764f64c5ce5537fffa808b87e1b0a", + "transactionIndex": "0x9a", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1093a8e", + "effectiveGasPrice": "0x1baa6b65", + "from": "0x0d09e95712b2b1c8f60883aa7d0497e5591e8058", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x08474191a4ad9a66e49b5dae9165ff8fa46a93a5", + "transactionHash": "0x24dd07f7fc4bf7a23cf1cc0265fa24520c8ec0d355ed53866920cc8b0b164607", + "transactionIndex": "0x9b", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1098c96", + "effectiveGasPrice": "0x1baa6b65", + "from": "0x787b8840100d9baadd7463f4a73b5ba73b00c6ca", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x655cd0fd6d1e8af1d967f1308fbe976ca1533174", + "transactionHash": "0x6aa4215d145b2a71c38a77e0fb8854db06262c852bb31a88c700dc6d727f0849", + "transactionIndex": "0x9c", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x109de9e", + "effectiveGasPrice": "0x1baa6b65", + "from": "0x878faaec5b6ffa25970f88fe73325a60e52055d3", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x16e2b6cfe15114b7ec1820d9abb2fa0598333f49", + "transactionHash": "0xa50f45773bdccb0f9237c3e9831ee7b2d7e347b5bff662924d0bbd78b973b624", + "transactionIndex": "0x9d", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10a30a6", + "effectiveGasPrice": "0x1baa6b65", + "from": "0xf090b13ae4017f027f00648197a08578446f1579", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xb50a2683290254af24868ebab11705a7f7ef6bcf", + "transactionHash": "0x79c75ad3d368427d3cc815a4ced6c9d763d44edda64406602eb1b3df1383c434", + "transactionIndex": "0x9e", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10a82ae", + "effectiveGasPrice": "0x1baa6b65", + "from": "0xe0fa8dc4f284f12e0361f8ad3e5d26a060b60e60", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xb57224a98be7c3a34ba7793e009dcc0abbceae65", + "transactionHash": "0x85dd4747b8482f51a8c497b1057cecc32652e7755089b8f48bb99c835823958d", + "transactionIndex": "0x9f", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10c1399", + "effectiveGasPrice": "0x2132e746", + "from": "0x060822ea7575ac6a063349c7a226005283556639", + "gasUsed": "0x190eb", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d" + ], + "data": "0x0000000000000000000000000000000000000000000000000432b225b48e4000", + "blockNumber": "0x151241d", + "transactionHash": "0x76e0207dfa6873aaadfb29740f27d50e9e90891a1800c2e6e75fba8b456f1556", + "transactionIndex": "0xa0", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1c2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x00000000000000000000000065510e22c252b31a4ca96fe2adc68923fdb80c76" + ], + "data": "0x0000000000000000000000000000000000000000000000000432b225b48e4000", + "blockNumber": "0x151241d", + "transactionHash": "0x76e0207dfa6873aaadfb29740f27d50e9e90891a1800c2e6e75fba8b456f1556", + "transactionIndex": "0xa0", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1c3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xacaeeccad7ff61bd34f216e448d542cb0d117fe9", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000065510e22c252b31a4ca96fe2adc68923fdb80c76", + "0x000000000000000000000000060822ea7575ac6a063349c7a226005283556639" + ], + "data": "0x00000000000000000000000000000000000000000043267fce22cea5604c0a9e", + "blockNumber": "0x151241d", + "transactionHash": "0x76e0207dfa6873aaadfb29740f27d50e9e90891a1800c2e6e75fba8b456f1556", + "transactionIndex": "0xa0", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1c4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x65510e22c252b31a4ca96fe2adc68923fdb80c76", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x000000000000000000000000000000000000000016237dbc9e3a2719f309c7990000000000000000000000000000000000000000000000016572e41587424000", + "blockNumber": "0x151241d", + "transactionHash": "0x76e0207dfa6873aaadfb29740f27d50e9e90891a1800c2e6e75fba8b456f1556", + "transactionIndex": "0xa0", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1c5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x65510e22c252b31a4ca96fe2adc68923fdb80c76", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x000000000000000000000000060822ea7575ac6a063349c7a226005283556639" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000432b225b48e400000000000000000000000000000000000000000000043267fce22cea5604c0a9e0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x76e0207dfa6873aaadfb29740f27d50e9e90891a1800c2e6e75fba8b456f1556", + "transactionIndex": "0xa0", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1c6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00600000000000000000000080000000000000008000000000010000200000000000000000000000000000004000000002000000080000000000080000000000000000000000000000000008000000200000000000000000000000008020000000000000000000000000000000000000000000000000000000000010000000000000000000000000004000000000000000020001000000080000004000000000000000000000000000000000000000000000000000000000000000000000000000000002000010000000000000000000000000000000001000000000000020100000604000000000000000000000000000000000000000400000000000008000", + "status": "0x1", + "to": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", + "transactionHash": "0x76e0207dfa6873aaadfb29740f27d50e9e90891a1800c2e6e75fba8b456f1556", + "transactionIndex": "0xa0", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10c65d1", + "effectiveGasPrice": "0x37859a70", + "from": "0x3642d11ce622dd38af2670448d3d21056e3c491c", + "gasUsed": "0x5238", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x2fc617e933a52713247ce25730f6695920b3befe", + "transactionHash": "0x33ebc41fa498ffec7a3e2e8e91834f357e6acdccb5535ebd57eeaff1b82b0c61", + "transactionIndex": "0xa1", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10cb7d9", + "effectiveGasPrice": "0x37859a70", + "from": "0x40059ba372d51da37b7a0be0d129b1e786c10e5e", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xcec7dbd3f2371ab0dd5ee1701a070af04d43019f", + "transactionHash": "0xd792de409b900cd1cb6e7cca045f8887135d9ff10b98040a75b538f4ce0a90d3", + "transactionIndex": "0xa2", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10d09e1", + "effectiveGasPrice": "0x37859a70", + "from": "0xdbc0e455980b7f9e4d5f528dd8fa82e993c560f3", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x20ce776d8b712f6efebe1fdf9577c7a6abf1dcd9", + "transactionHash": "0x92ad896958c16d523fda604e205397d2391d559439fdc496be77c62cf800fc1e", + "transactionIndex": "0xa3", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10d5be9", + "effectiveGasPrice": "0x1b250cd9", + "from": "0x39f6a6c85d39d5abad8a398310c52e7c374f2ba3", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x447c33cde5bd16c6ebb10e9428749ddbc3cbf87d", + "transactionHash": "0x3a4228781138757c7df6f13bbd4d54d0b155acab0d2d74d4b16bcb5d4700c441", + "transactionIndex": "0xa4", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10e4f1d", + "effectiveGasPrice": "0x1b250cd9", + "from": "0x39f6a6c85d39d5abad8a398310c52e7c374f2ba3", + "gasUsed": "0xf334", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000039f6a6c85d39d5abad8a398310c52e7c374f2ba3", + "0x000000000000000000000000f714f87db2c4f5468a4ac43fed1de6288463d701" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000068e7780", + "blockNumber": "0x151241d", + "transactionHash": "0x686651159fd66ae39aefe8db37aae6c897705d77675c861a6d08c0f97d68b4d7", + "transactionIndex": "0xa5", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1c7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000008000000000000000000000000020200000100000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0x686651159fd66ae39aefe8db37aae6c897705d77675c861a6d08c0f97d68b4d7", + "transactionIndex": "0xa5", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10ea125", + "effectiveGasPrice": "0x1b250cd9", + "from": "0x41e7861a1b5fd74445a368ba3491eca16ef99a33", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xb74defddf88c1d6e3918b15068d24e3640a1297e", + "transactionHash": "0x9b9eaa4aaf14c4a9666ab17fb0fff8ab5415fa991cfe322a05dbe62b02296907", + "transactionIndex": "0xa6", + "type": "0x0" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10f0e47", + "effectiveGasPrice": "0x2b99d870", + "from": "0xc7d5d716a8b42821dddd5b3f278a36d0be137b2b", + "gasUsed": "0x6d22", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x000000000000000000000000c7d5d716a8b42821dddd5b3f278a36d0be137b2b" + ], + "data": "0x0000000000000000000000000000000000000000000000000429d069189e0000", + "blockNumber": "0x151241d", + "transactionHash": "0x8b2d5207ce1b3b9b17c8868757ac218e84055ec01348aba671493c52ecd07d51", + "transactionIndex": "0xa7", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1c8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000200000008000000000000000000000000000000000400000000000020000", + "status": "0x1", + "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "transactionHash": "0x8b2d5207ce1b3b9b17c8868757ac218e84055ec01348aba671493c52ecd07d51", + "transactionIndex": "0xa7", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x10fc44c", + "effectiveGasPrice": "0x1a1112bd", + "from": "0xc039004e6336c6f459864800abdf133126750b4d", + "gasUsed": "0xb605", + "logs": [ + { + "address": "0x152649ea73beab28c5b49b26eb48f7ead6d4c898", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000c039004e6336c6f459864800abdf133126750b4d", + "0x000000000000000000000000881d40237659c251811cec9c364ef91dc08d300c" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockNumber": "0x151241d", + "transactionHash": "0xe99caa70ffb4fe797a49f99e1d34e2332d5868fc9d3c3e78c090a70f88b75595", + "transactionIndex": "0xa8", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1c9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000200000000000000000000000000004000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000020000000000000002000000080000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000800000000000000", + "status": "0x1", + "to": "0x152649ea73beab28c5b49b26eb48f7ead6d4c898", + "transactionHash": "0xe99caa70ffb4fe797a49f99e1d34e2332d5868fc9d3c3e78c090a70f88b75595", + "transactionIndex": "0xa8", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x11249f9", + "effectiveGasPrice": "0x1a1112bd", + "from": "0xc039004e6336c6f459864800abdf133126750b4d", + "gasUsed": "0x285ad", + "logs": [ + { + "address": "0x152649ea73beab28c5b49b26eb48f7ead6d4c898", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c039004e6336c6f459864800abdf133126750b4d", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631" + ], + "data": "0x0000000000000000000000000000000000000000000000003273262d3deb1faf", + "blockNumber": "0x151241d", + "transactionHash": "0x8761114c8087138b140ea95a15012cb1b588d29f106954eac6067efdc8cf7bf7", + "transactionIndex": "0xa9", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ca", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x152649ea73beab28c5b49b26eb48f7ead6d4c898", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631", + "0x000000000000000000000000807cf9a772d5a3f9cefbc1192e939d62f0d9bd38" + ], + "data": "0x0000000000000000000000000000000000000000000000003273262d3deb1faf", + "blockNumber": "0x151241d", + "transactionHash": "0x8761114c8087138b140ea95a15012cb1b588d29f106954eac6067efdc8cf7bf7", + "transactionIndex": "0xa9", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1cb", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000807cf9a772d5a3f9cefbc1192e939d62f0d9bd38", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631" + ], + "data": "0x0000000000000000000000000000000000000000000000000010fd9a6807bbd0", + "blockNumber": "0x151241d", + "transactionHash": "0x8761114c8087138b140ea95a15012cb1b588d29f106954eac6067efdc8cf7bf7", + "transactionIndex": "0xa9", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1cc", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdef1c0ded9bec7f1a1670819833240f027b25eff", + "topics": [ + "0xac75f773e3a92f1a02b12134d65e1f47f8a14eabe4eaf1e24624918e6a8b269f" + ], + "data": "0x8cb8a9ddc7a6a3cc91422e55a068e3b78d4aa11e2ee57b8f1540cb4ef97a7071000000000000000000000000807cf9a772d5a3f9cefbc1192e939d62f0d9bd3800000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8980000000000000000000000000000000000000000000000000010fd9a6807bbd00000000000000000000000000000000000000000000000003273262d3deb1faf", + "blockNumber": "0x151241d", + "transactionHash": "0x8761114c8087138b140ea95a15012cb1b588d29f106954eac6067efdc8cf7bf7", + "transactionIndex": "0xa9", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1cd", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631", + "0x0000000000000000000000002acf35c9a3f4c5c3f4c78ef5fb64c3ee82f07c45" + ], + "data": "0x0000000000000000000000000000000000000000000000000000260f1c6e25ce", + "blockNumber": "0x151241d", + "transactionHash": "0x8761114c8087138b140ea95a15012cb1b588d29f106954eac6067efdc8cf7bf7", + "transactionIndex": "0xa9", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ce", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631", + "0x000000000000000000000000c039004e6336c6f459864800abdf133126750b4d" + ], + "data": "0x0000000000000000000000000000000000000000000000000010d78b4b999602", + "blockNumber": "0x151241d", + "transactionHash": "0x8761114c8087138b140ea95a15012cb1b588d29f106954eac6067efdc8cf7bf7", + "transactionIndex": "0xa9", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1cf", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x881d40237659c251811cec9c364ef91dc08d300c", + "topics": [ + "0xbeee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630d", + "0xa8dc30b66c6d4a8aac3d15925bfca09e42cac4a00c50f9949154b045088e2ac2", + "0x000000000000000000000000c039004e6336c6f459864800abdf133126750b4d" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0x8761114c8087138b140ea95a15012cb1b588d29f106954eac6067efdc8cf7bf7", + "transactionIndex": "0xa9", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1d0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000001000000000080000000000000000000000000000000000000000010000000020040010000000000002008000080008000000000300000000000000000000000000020008000000080000000000000000200004200000000000000000000000000000000000000400000000000010000000000010000000000000000000100000000400000000000000000000000000000020000008000000008000000000000000000000000000000000000000000000000000000000004001000802000000000000000000008000000000000000000004000000000000000020200000000000000000000000000000000000000000000800000000001000", + "status": "0x1", + "to": "0x881d40237659c251811cec9c364ef91dc08d300c", + "transactionHash": "0x8761114c8087138b140ea95a15012cb1b588d29f106954eac6067efdc8cf7bf7", + "transactionIndex": "0xa9", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x112e224", + "effectiveGasPrice": "0x2132e746", + "from": "0xd11aa285879172f7fcd3e694c49d1af6ee78b215", + "gasUsed": "0x982b", + "logs": [ + { + "address": "0x1f5d8f3c04b282924d2c2ebbb24b85ee1703539b", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c653c52d0b0528fe5eaca412a7bc1a5aabb7c142", + "0x0000000000000000000000009fd06b955b7406ea0929fb3f5ccabc4a5a1fb5a5" + ], + "data": "0x000000000000000000000000000000000000000000000032a28c3630e59d0000", + "blockNumber": "0x151241d", + "transactionHash": "0x2e25b3f3d4daefab9ed0cf5b1aff57ad169e4a474f3e067a3352f6ac8bdbfc67", + "transactionIndex": "0xaa", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1d1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x1f5d8f3c04b282924d2c2ebbb24b85ee1703539b", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005ee0a025a9b568620414d363a72486b3c22b665c", + "0x00000000000000000000000071d4031c188b575b90f6d57ff0c3a3585dedeb51" + ], + "data": "0x00000000000000000000000000000000000000000000008cf23f909c0fa00000", + "blockNumber": "0x151241d", + "transactionHash": "0x2e25b3f3d4daefab9ed0cf5b1aff57ad169e4a474f3e067a3352f6ac8bdbfc67", + "transactionIndex": "0xaa", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1d2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000008000002400000000000000000000000000000000000000000000000800000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000048200000040000000000010000000000000000000000002000000000000000000000000000080000000000000080000000000000000000020000000000000000000040000000000400000400000000000000000", + "status": "0x1", + "to": "0x9b743560baf6d31ed20fdff17ba2e8e5b1bacf43", + "transactionHash": "0x2e25b3f3d4daefab9ed0cf5b1aff57ad169e4a474f3e067a3352f6ac8bdbfc67", + "transactionIndex": "0xaa", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x11b10d9", + "effectiveGasPrice": "0x19bd6d60", + "from": "0xada3cdc3b6f0927c15f93e73215a41b12ef0cf1e", + "gasUsed": "0x82eb5", + "logs": [ + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ff3e9faf901519ffd5813f35fc6115692183a028", + "0x000000000000000000000000563739156003a31a8690a9e9573c13517bece40a" + ], + "data": "0x00000000000000000000000000000000000000000000000000009184e72a0000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1d3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ab765c140c005dd2d58fdc1725403f1c81288c7c", + "0x000000000000000000000000d5284664089a66702c50f08094232086b77307f3" + ], + "data": "0x000000000000000000000000000000000000000000000000000000037e11d600", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1d4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e56680644c7fb0ba42f510132ba628e386ee99e2", + "0x000000000000000000000000b3de70ef827f10592a092f4d330750efe758bdf6" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000077359400", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1d5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000008614deaa553e9cccfef4de9fb21ea7a9fd711b19", + "0x000000000000000000000000dfa2c5cfce609a8f2ed55b8a03419890ccb600b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000222d02180", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1d6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d54fd8b99122ff7eeed12f30160e62a849ff6050", + "0x000000000000000000000000e510aa514474690d1f75cc4ae5851aad68e2d35c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000165a0bc00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1d7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000355f56d2f1f67ab2b0597bb4b10eee8aa5261b05", + "0x00000000000000000000000011d27c55ee22ce20c50365b2da5048330106b5be" + ], + "data": "0x00000000000000000000000000000000000000000000000065df0ccece3b8000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1d8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000016347cef8a339d1ae785ddefb948a16ea52ffb51", + "0x0000000000000000000000001803fd4e6d91c9204db7e03b4032653c910ffdc6" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000d09dc300", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1d9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002e4bf29a24251abbe72743e6ba5cb59b04dc35cb", + "0x0000000000000000000000002d05731cb71724154cc1704e715486d3fafe93a6" + ], + "data": "0x00000000000000000000000000000000000000000000000000000002363e7f00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1da", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000099969cfd53accb8730242016158c40a3df2eb30b", + "0x0000000000000000000000000f008487ff322b107f18ba8ea235787cd951d0a3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000080ce3e40", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1db", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000081f2fa199ce5853865ac560c46dd1de5d4fd0dd5", + "0x00000000000000000000000092748353411d72e6e5154a77e10c91dd9998f2e7" + ], + "data": "0x000000000000000000000000000000000000000000000000372cc9a51c368400", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1dc", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000e7b5583c1afa903b88de95b165b2408530e2f45", + "0x0000000000000000000000002eb0d90a8c7d5653dec5ca2d5d28013547d0ab4b" + ], + "data": "0x000000000000000000000000000000000000000000000000000000012a05f200", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1dd", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdcba07d9981a5f9e9509c71ca65b4fd0f9157d6f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002f4aba6cd84b3a04e2b3af07282923d51447e1de", + "0x000000000000000000000000feec0246f33579f59e670801ee497950fbf781e2" + ], + "data": "0x00000000000000000000000000000000000000000000010da7dd123022530000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1de", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001fc159c2da4dc20e6f6e0b03623987e387bfeced", + "0x00000000000000000000000064bddbb3bd72d10a128a8bb52cd2a8a953339b6e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000002faf08000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1df", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000be21ea67c6e95d664423333aaa6604668ae65d97", + "0x000000000000000000000000239534b4b03d07fc00ed9ed771e2ce0e66dbffa0" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000001f78a40", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1e0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001dab06507bba50d2d8bc5903cca1c7150d11658e", + "0x0000000000000000000000002c3f128bbde445bf81f061f9228039180dece2a7" + ], + "data": "0x000000000000000000000000000000000000000000000000001ff973cafa8000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1e1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b05d20c9bcbb2629d46b608de57d573046b24303", + "0x0000000000000000000000001fba97fecfacb3865b18b1f01b877ea0c71434a6" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000f224d4a00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1e2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000002feaa99467e3df6ca73f5185e618261bbcf6270", + "0x00000000000000000000000067f229eb931798e4d50ddf36b0b6f0741b6952b0" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000b5dd7006d", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1e3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004bf460f43fb09d51bef49e6ac4f818dcae107c3f", + "0x0000000000000000000000006a43ec835230561fb2d290d485a491fed0f7c244" + ], + "data": "0x00000000000000000000000000000000000000000000000000000001ea9b17c0", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1e4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000f33fd888e08aa99238b06a69d857017ec26dc91", + "0x000000000000000000000000e93db0985bc6306f3ac6aac923b79897243a09f6" + ], + "data": "0x00000000000000000000000000000000000000000000000000000005d21dba00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1e5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009bfe14a8ea20e8a97e6417c188df364f1fbc3889", + "0x000000000000000000000000f7fb908519ffd9ca8f11399567a7d4dc527c0cb1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000110e7480", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1e6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000bfdc5cd913a71a0591aa8dc076b27e5b44602003", + "0x0000000000000000000000000512734b43c70c627217147dae41e92950522426" + ], + "data": "0x00000000000000000000000000000000000000000000000000000007671dbc1f", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1e7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000048ab3ab765fbbc91e1be414c0845d39c343229d4", + "0x000000000000000000000000aa9af3e6d491ee3aedd49fc924de312570504efd" + ], + "data": "0x00000000000000000000000000000000000000000000000000000022ecb25c00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1e8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e10b84641db47f06e6a1171afa731d19e03678ae", + "0x00000000000000000000000082c2ee23cee97d2adc34e8f1007d0bcb4debafe4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000ba43b7400", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1e9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000062ffcd4f0ba52a66231058eb03db61db0fa47332", + "0x000000000000000000000000bfa278471eca2e8db087b569bac4862ab2ab5823" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000caa7e200", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ea", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b3a2e484a8d351de3171fbc25ebf03ec24420e9d", + "0x000000000000000000000000a11873bbf925959eede8c6a71840ff2b97c22073" + ], + "data": "0x00000000000000000000000000000000000000000000000029a2241af62c0000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1eb", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d440558d0d3fd831be688d34bfa02f693ff3e6de", + "0x0000000000000000000000002d48e38fee26df6c73f6c0b893fd84c6ce3ab42a" + ], + "data": "0x0000000000000000000000000000000000000000000000000000003197ca1200", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ec", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000061ce0f3982d3f4312bf253b208ad5ae2be33348a", + "0x0000000000000000000000003e9a882f4749f8eab76558bd202c962e9898d959" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000a7d8c0", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ed", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f714bed26715c2d29431f8e60c792ead70463163", + "0x00000000000000000000000045c6e1b02b089b71172bdc1903d7b82d72b28e1b" + ], + "data": "0x00000000000000000000000000000000000000000000000000000004a817c800", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ee", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002db1d00be3bacb3547982fb04f886bb9d73d6b3a", + "0x000000000000000000000000afef79802d64c0384a550a344879d8730b3227c1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000faef8080", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ef", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000377090ddf746c1e6388e884a70d0bd9315687375", + "0x000000000000000000000000a918d62326db89178c6d71fdc1a844b53b20e18b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000202729bc0", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1f0", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cf4b3a3be828b111eee75a0534a988c8d9284aae", + "0x000000000000000000000000634af105df523c82ca3981a5bdb8b3b8b91f93ea" + ], + "data": "0x00000000000000000000000000000000000000000000000000aa87bee5380000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1f1", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e118fff903daedc3086deb389751c1bc10395db1", + "0x000000000000000000000000d7faffdb8d5643308920eb257470d5a4a65f047e" + ], + "data": "0x000000000000000000000000000000000000000000000000000000012a05f200", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1f2", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000084507d819146023791253214856e0da98985cdae", + "0x000000000000000000000000a32328e621b058e0c9e700b7b4c9fe662660e434" + ], + "data": "0x0000000000000000000000000000000000000000000000008aa39c121a270000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1f3", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e95117f26fb3ae379e4cb5bdde639c0957d9bec7", + "0x00000000000000000000000030073d66509404aa3c66f1ce01afe0cbe05241fe" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000826299e00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1f4", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004d9b0e7abf7d561358e90e22990c3a28b941b11f", + "0x0000000000000000000000002ab298bbdb49b1b9ae64bd3303b3e1644048532c" + ], + "data": "0x000000000000000000000000000000000000000000000000000000001823cf40", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1f5", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000094dd279bccc6fa20cc5e8654639beeaa7954fc24", + "0x000000000000000000000000eeebf58c8c784d7f97837dedb28bae5cb1399688" + ], + "data": "0x00000000000000000000000000000000000000000000000000000001d34ce800", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1f6", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdcba07d9981a5f9e9509c71ca65b4fd0f9157d6f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000068ebbc336140f94e6300a4f6d4e9f6147c126e41", + "0x000000000000000000000000d68d1359a1c2f6a0d28a234142e7892d902c5423" + ], + "data": "0x0000000000000000000000000000000000000000000015bf294bf545cba00000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1f7", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000000c4fbc6df4d779f853dfe6d2f051cfaa932e27b", + "0x0000000000000000000000008e3193b0505410e77cdc9e2f49e9cef6772f58c3" + ], + "data": "0x000000000000000000000000000000000000000000000000048e9e73dc0c6e00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1f8", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009f77c8fab071c4f104618c555ea336bd54a63609", + "0x00000000000000000000000022fda91729be8d543e99f5d6913259c4dc60a39e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000001c3e0b1d00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1f9", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000bb6ba06433f793f49c379cf03fea4da3da7a721d", + "0x00000000000000000000000057a76fa440f20942222d48caa443abddf0b2d8dc" + ], + "data": "0x000000000000000000000000000000000000000000000000002386f26fc10000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1fa", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000896fcbb4af301659c439f7cf277117e28fa1e59d", + "0x000000000000000000000000b40755d11d02db12cd59fb72dde8bf1488eba4d9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000014eca5d6", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1fb", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cf4b3a3be828b111eee75a0534a988c8d9284aae", + "0x0000000000000000000000000056dba9ce38909afe87e75a3ec8204e385ba419" + ], + "data": "0x00000000000000000000000000000000000000000000000000aa87bee5380000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1fc", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000052bbabd33ee67d8be5c2fc500f74acffc8280135", + "0x000000000000000000000000b808e4758035c35df5f4c107b5900abe87e6c566" + ], + "data": "0x0000000000000000000000000000000000000000000000000000003de887f7f0", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1fd", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a55e681b5082c0ef77b25fe761271a6b17bcecd6", + "0x0000000000000000000000003885364ff106c3409c48eb89562dd0d97283054c" + ], + "data": "0x000000000000000000000000000000000000000000000000000000262f29a3c9", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1fe", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000be8a008fd0b429537e3c697877f788a4577b8b35", + "0x00000000000000000000000010000da70943e3b6944ce53aeda763184f469aba" + ], + "data": "0x000000000000000000000000000000000000000000000001f29f7bbf351f6000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x1ff", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004c1d222c525c1c6727355a938d47e35fccc7a847", + "0x000000000000000000000000c01a1c4e3235df7985930ab98ee54ad34bf1989a" + ], + "data": "0x000000000000000000000000000000000000000000000000000000025391d200", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x200", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005fe1d9d9026ed03676ffdbd422d3b8f41707aa82", + "0x000000000000000000000000930bca147721963b61280dcf93761f44210ef40c" + ], + "data": "0x000000000000000000000000000000000000000000000003afb087b876900000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x201", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001030a39250774cbc1e2cd7a265f41debb6adf8e6", + "0x000000000000000000000000acbac02bac60bfde52da82756e60d8c3062e646e" + ], + "data": "0x000000000000000000000000000000000000000000000000000000037e11d600", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x202", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b1991caab93f1bdd7317f81f64272f7e043c5b6b", + "0x000000000000000000000000b1c8b801cbdd804994e42b5099cbcc7230ad9f8b" + ], + "data": "0x000000000000000000000000000000000000000000000000d02ab486cedc0000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x203", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000df8901dec9c9e9f3561ac28983a9c51dc07d350a", + "0x000000000000000000000000d7ffbb7bc1e626ed2700abb048ea21039bf1be1a" + ], + "data": "0x0000000000000000000000000000000000000000000000006f05b59d3b200000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x204", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a0676e7cd703273c7ecf2328a4c3d12562cf66ee", + "0x0000000000000000000000006b6147a547effd2e3d5b28d70be6d079515cbfd6" + ], + "data": "0x0000000000000000000000000000000000000000000000006ad1441a00ef7280", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x205", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006a7c5b15ef3fa56fda8482222b20233de5262f2f", + "0x0000000000000000000000000e940d73fbf95eb892a8165dd305f7e0c0b376c8" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x206", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000090a27fee7fc7525cf5b162d8d09053e8ea340847", + "0x0000000000000000000000009803bf969155103c3e7dcc656cfea692dec785a9" + ], + "data": "0x0000000000000000000000000000000000000000000000004563918244f40000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x207", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004b387cff6962830523015835ff3d45576e435c58", + "0x000000000000000000000000ae1e8811f18fdf30f17d15dba7aff653e93acc18" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a528800", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x208", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000777078aca69bbfd022d82900cd398a28656109be", + "0x000000000000000000000000a02e9cbd14e5ceea17e0e13524ccfed38bfc947e" + ], + "data": "0x00000000000000000000000000000000000000000000000088482ffa67225800", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x209", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000057e900136ccad55713a3eacf8b3f2b645bca6ca5", + "0x000000000000000000000000749c0f00050ca714d3cb03e43751174f5687492c" + ], + "data": "0x000000000000000000000000000000000000000000000000000000012a05f200", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x20a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000bfcc975144b0be510c8d0fb76f7629dd15dd17ff", + "0x000000000000000000000000edb5c7d3156db99f19574465e68e6061f8f5267b" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000c16dd740", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x20b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000051938cd1135f82d71582cd217970248dbe1ec779", + "0x0000000000000000000000008fce217bcc3e5ac2f0bee32c716adea271a246cf" + ], + "data": "0x000000000000000000000000000000000000000000000000000002aa2e20d700", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x20c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b6974546fda471c2885508f6966cd8404cfac22d", + "0x000000000000000000000000440b826b4bcf224717c00de01b85602ac9bff435" + ], + "data": "0x0000000000000000000000000000000000000000000000000000003a35294400", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x20d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004c33b277b9ce57dcb53edce18d4f78d656ff2657", + "0x000000000000000000000000da2dbf1a5dd731bf8a2eaedfb34b6edf82881355" + ], + "data": "0x00000000000000000000000000000000000000000000000000000001a39c3185", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x20e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001ef510de90efe28a6c621be545c45bbe90a6b228", + "0x0000000000000000000000005d75e8bd520272e02a6aadc12a9c0cc9d26a319c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000005fb8c4370", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x20f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000adcaa7c94e996bd95da911ef1f680d4c655ceabd", + "0x000000000000000000000000a086af565fb844b3dab68ad69f1fd310472e58b9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000df9c4f754", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x210", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cdf6617e265492ec32d68dcbf7384de6319f5e33", + "0x0000000000000000000000006a8c5ea96334c2aaae0ec2c33a2016ddcb935f6f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000017d78400", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x211", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000def66ed71cdbdfe24b389e03a03a5685e0656947", + "0x000000000000000000000000f5c3f0947ad2d64dcae4224954d496a6bdd5729a" + ], + "data": "0x0000000000000000000000000000000000000000000000000000013a1be93800", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x212", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000616f8382e03f99c3864158ef2e15c1aa6c56234b", + "0x000000000000000000000000114fa9b5709413224aa4f2d6ddcb9a7bb8796ad3" + ], + "data": "0x000000000000000000000000000000000000000000000008b71836a757ce7ef0", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x213", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c725102508c2f7df5bdb5f8ea5242ae18b8a839d", + "0x000000000000000000000000ea12061304d467fa8b5f5265e880c138c2196bd8" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a528800", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x214", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000046546ae5c8bfde78a07b3822b09fceb0c5db7ef0", + "0x0000000000000000000000007c06ce0f1764e6308d31bd75e9fc3a53411ab47f" + ], + "data": "0x00000000000000000000000000000000000000000000000003782dace9d90000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x215", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d55e04bd5071b8804817f5176409cae317460df3", + "0x000000000000000000000000c63b2a05f90443e74a2cef245a6767ec4fd156e1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000b2d05e00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x216", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000dd9a83a0aa4d426b75bdc7b7be1f9676ce7055ae", + "0x00000000000000000000000091776ae2b80e2483bff88ba6f735d50dde1f166a" + ], + "data": "0x000000000000000000000000000000000000000000000000000000037da153b7", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x217", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000b63dac9ae136d953164b8a17fa2fe81c21de36e", + "0x000000000000000000000000be4ebfed2540e8d3d889d9b2b0b706e4935abb91" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000e9c5e2e0", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x218", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001b3a5e58ed43fceda9f7419be947bc83556d16a4", + "0x000000000000000000000000b73d9d37dffeeb1d816b12ffd8b11a030fc4e2d9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000005c0b62900", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x219", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000010f8f418b857dc77bd4c7cac349d96cc81d38506", + "0x00000000000000000000000005a3389994d4769b834906c7a972263f76ab559f" + ], + "data": "0x00000000000000000000000000000000000000000000000000000004a817c800", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x21a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a18d2f95cfb492b65dbffad6216e3428e9d14362", + "0x00000000000000000000000073f4b6de40fd37273c9cb440b2e53ef925d568ce" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000017d78400", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x21b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000042caabaafe86c0d712ca4c6a1a3b0e04bdc1c898", + "0x000000000000000000000000f06bfbce32716d47a2dfa44abf901c54ea701b09" + ], + "data": "0x0000000000000000000000000000000000000000000000004563918244f40000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x21c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f3640f4e96b0d9a6b0a577628910e3c90303d2d4", + "0x000000000000000000000000bc49919236abf171d0a8a6c2b17dc49a07e29301" + ], + "data": "0x0000000000000000000000000000000000000000000000000e4b4b8af6a70000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x21d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a87d0848016956657ba378a8c4c463f7a221d0e0", + "0x000000000000000000000000006fb71384989fd5c8688704803879b3d62fa5ea" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000f144b7940", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x21e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000009dafb73d620bf3cf6fa75905f0b9d0a135a4e7e", + "0x000000000000000000000000fcde8b2f028e882aec69878cd1278b25439e1f36" + ], + "data": "0x00000000000000000000000000000000000000000000000000000006fc23ac00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x21f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000e92fc848eaf50ed4390cf73a292746671a8a235", + "0x000000000000000000000000c9f1f58f95d0e20cae6a83028ef1dce8a328308d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000002957e0a80", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x220", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000078f35ad85a1c706342b8355f1e41806836d6209b", + "0x000000000000000000000000ffc5d584e251346fe104887f386096e0ef54b8a4" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a0000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x221", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a6d5843daa6e61861bcc4ce430388fdcbc431e16", + "0x000000000000000000000000ec748ed0f0d40536474eaa6761cde9b9b5c6d317" + ], + "data": "0x0000000000000000000000000000000000000000000000008ac7230489e80000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x222", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cbddf2e5acb14e073478cf892a33f7bf772597d4", + "0x000000000000000000000000a1736d43dd60a399f02919d2ba9bf73e7cdcb73d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000005d21dba00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x223", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009e5227252ec2d10000d0f60de62bd4f688cc3443", + "0x0000000000000000000000003bda6d44ac884bfd8afd2d26537a60d5e67b2bb9" + ], + "data": "0x00000000000000000000000000000000000000000000000002c68af0bb140000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x224", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ac672bf416af4e6fe2830f81bb924e97e1b435da", + "0x000000000000000000000000af8f157a2072fe1112df48ce783bd9293cbdc1a4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000a7a358200", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x225", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b9324b3c296e98294718343e5d010203c82df665", + "0x000000000000000000000000b2b3870dd883ccdd53b3f8fa2ee1b966405f0dce" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x226", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000008b0a15f9e517daa33bdfcaf0e34a7545fb455a83", + "0x00000000000000000000000084a401bd82e5ed2b502c268cc60c5ae3274fe3bc" + ], + "data": "0x0000000000000000000000000000000000000000000000002223acf763760000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x227", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c4b28ce3a46fbdd5867e8f475a30253456c451cf", + "0x000000000000000000000000e3e393a0a996952656526157dd4e1b813e8b8949" + ], + "data": "0x0000000000000000000000000000000000000000000000000000001176592e00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x228", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000bd5e399b68755f5725d875f6e78c90ed9576e3cb", + "0x0000000000000000000000002602cb2835b13ce33be629c57002b76e4d0d45f7" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000736a739a0", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x229", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000bb98a39b092d9a841a947b86735173c68641d3cb", + "0x000000000000000000000000b12c89f4a689f5b7d6cb750ad54b4312e6122a70" + ], + "data": "0x00000000000000000000000000000000000000000000000015d7ef5ba721eed8", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x22a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cf4230c368addc7959960360c85c395bb26f4325", + "0x000000000000000000000000189795cb39f74b63458b35bdb538ec9b44fa1d00" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000077359400", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x22b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000934808441d83663ed853206d801411c813142c97", + "0x000000000000000000000000874fda01b433e914b38e40c8d97adf47f76ffeaa" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000a7a358200", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x22c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000008088963d89f08157a3f37349a26c0e04de4d851a", + "0x00000000000000000000000043c33d6fc7cc55e1d4c03b92701e7d5ab63e2b21" + ], + "data": "0x0000000000000000000000000000000000000000000000000000003193403329", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x22d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000008fd589aa8bfa402156a6d1ad323fec0ecee50d9d", + "0x0000000000000000000000004b3111b03bf3ffce399f9dc200376abdb72909cb" + ], + "data": "0x000000000000000000000000000000000000000000000000000003a444545f60", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x22e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000abd2735130808e7edc92338b1b6d951deca60dee", + "0x0000000000000000000000004129226a0f2b0407d96eb1c759ca36e470900efa" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000055e5761", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x22f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ea0a9d028ccb3b0e1c2769d4cf2540f0ad6d3926", + "0x00000000000000000000000016e7f132da239a42c336165bb00c6d9cb060dd3f" + ], + "data": "0x00000000000000000000000000000000000000000000000000000001d0ea8e00", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x230", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000065d49e48cc7e741335d8b968b56dd1451279fec", + "0x000000000000000000000000eac49fa933088adb853658665ec761b84334a934" + ], + "data": "0x00000000000000000000000000000000000000000000000000000003ba2c2d88", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x231", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000008ae616759e2957ad46728eda4bcd4334ed56c1ef", + "0x000000000000000000000000880f9022aebc6bc3cc3edf8b051abfad131925dd" + ], + "data": "0x000000000000000000000000000000000000000000000001084e87a997d3f000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x232", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x3b0f07b973fb73cd4deb64dc6961e0ffefec30cd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e033c076b7442d1ea0a1ddcdfebf54b93d681896", + "0x000000000000000000000000e4c9432d3a141a59445bd2e8f08e9e92028e0de0" + ], + "data": "0x000000000000000000000000000000000000000000000000000000003b9e746a", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x233", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009645edd5bd30b6fb9447a17faaa029056e6ad329", + "0x000000000000000000000000c8c1ca2933d3d142c2a80d5621370a66df815b95" + ], + "data": "0x000000000000000000000000000000000000000000000083be61aa7867080000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x234", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd08fd4141932f47a644b77a7ef968f552fa4daa0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000035b5d31e454fabee3f3b3cfdddca9636bdcde986", + "0x00000000000000000000000068a6d3b0256f522ec9ca5c960bc9d97a03b3e003" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e800", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x235", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x903500f3022e958d918a3550360182f03a7d1f18", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d4971c0c965f248f9aac5c719de0eedf8f1f8ce8", + "0x000000000000000000000000cbee35737394bba8a44e8f88a20460fb574169d9" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a0000", + "blockNumber": "0x151241d", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x236", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x208c820448101001404024c80042a640100000402180128f30804490020aa220ac2220461d0022c0f4110504a4150102fa40405089824aa369054cd008012b048131ed646620634a1202200800d80094010183440220680402414a8a9064040628424048c12a412084840258e40230824280aa2012000050400424504060c05c83b386082481484848a20920284915284f81008f06a10845a04c9014202090a27101402082a90302478420c0a250803098882004864c802e20200d028a0887a0628708ca41020e8549f3428040008110222d0820a28051255082020010870281810196908600180186000c5062461104400f0608042027420208001b08a01e49", + "status": "0x1", + "to": "0x5ea33d98281df884d6fa08d07781ab26191455d6", + "transactionHash": "0x19acc29dd306e87a0c697a511e8c56be702d652c531e707160402b453ab36fcc", + "transactionIndex": "0xab", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x11b9819", + "effectiveGasPrice": "0x1fae1670", + "from": "0xca74f404e0c7bfa35b13b511097df966d5a65597", + "gasUsed": "0x8740", + "logs": [ + { + "address": "0x5a666c7d92e5fa7edcb6390e4efd6d0cdd69cf37", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ca74f404e0c7bfa35b13b511097df966d5a65597", + "0x000000000000000000000000ef38f0cdfe4df26c0da27c9347b870cd4207a897" + ], + "data": "0x0000000000000000000000000000000000000000000002a25b323037295c1800", + "blockNumber": "0x151241d", + "transactionHash": "0x84a376fefeb913c0f0cd10f8884116094fdbc3f9337829673d26ffac12819f3d", + "transactionIndex": "0xac", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x237", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000010000000000000040000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000080000000000000000000002000000000000000000000000200000000000000000000100000000000000000000000000000000000000000000000400000000200000000000000000", + "status": "0x1", + "to": "0x5a666c7d92e5fa7edcb6390e4efd6d0cdd69cf37", + "transactionHash": "0x84a376fefeb913c0f0cd10f8884116094fdbc3f9337829673d26ffac12819f3d", + "transactionIndex": "0xac", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x11bea21", + "effectiveGasPrice": "0x19f669ef", + "from": "0xa2f7df137d8a9135f8353c1adf8f816b60754c42", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x7cb027917b27bcb5963c548657a008bf45b25bdc", + "transactionHash": "0x16882c2d8765347b309836e604949265dc9ef8293a065c7ff9bee718b822f837", + "transactionIndex": "0xad", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x11c3c29", + "effectiveGasPrice": "0x19f669ef", + "from": "0x3c8f2351509fe0ab39f07d303cf824bb0456a50b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xf29ca130a116faeb330b0f91f42fcfa91be1d373", + "transactionHash": "0xb33e9a537c2b38e8a1e2375ca3e0502dece05fe0a0294dae4a21a354ce5476ff", + "transactionIndex": "0xae", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x11d153b", + "effectiveGasPrice": "0x1b4e3f4d", + "from": "0xf4d0e0824ab645e64b222ab55f13c0ee297e2a46", + "gasUsed": "0xd912", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000f4d0e0824ab645e64b222ab55f13c0ee297e2a46", + "0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000011f1dbe4", + "blockNumber": "0x151241d", + "transactionHash": "0x05aa8c43f22acb55013ac059d5fc8d90ffd4d7dd212acfe014ada431be031c49", + "transactionIndex": "0xaf", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x238", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000008000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000010000000000000000000000020000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000100000000000010000000000000000000000000080000000000000000000000000000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0x05aa8c43f22acb55013ac059d5fc8d90ffd4d7dd212acfe014ada431be031c49", + "transactionIndex": "0xaf", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x11d8a38", + "effectiveGasPrice": "0x19d4e918", + "from": "0x15d1acfbcc1df08eb8be19dbceb1493d0fb39017", + "gasUsed": "0x74fd", + "logs": [ + { + "address": "0xe6cc10ef4de1ccfb821c99c04abfe1859d8eab8f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000015d1acfbcc1df08eb8be19dbceb1493d0fb39017", + "0x0000000000000000000000001f8ad1326e7dcb7c41f45660da55c6b414ae3ac8" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000004c4b40", + "blockNumber": "0x151241d", + "transactionHash": "0x5e73eb615f3b85c43794eec504613d4c67e46923c82e36af8468d8006a12b159", + "transactionIndex": "0xb0", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x239", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000020000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000020000000000000000000008000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000000000000000000000000000000000010000000000000000002000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000002000", + "status": "0x1", + "to": "0xe6cc10ef4de1ccfb821c99c04abfe1859d8eab8f", + "transactionHash": "0x5e73eb615f3b85c43794eec504613d4c67e46923c82e36af8468d8006a12b159", + "transactionIndex": "0xb0", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x11e3f04", + "effectiveGasPrice": "0x19c54148", + "from": "0xae8da1fb217131f3eff54cf6d02f716149055535", + "gasUsed": "0xb4cc", + "logs": [ + { + "address": "0x5b1e769e74fd7e532a48261ab42ee906f0090556", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000ae8da1fb217131f3eff54cf6d02f716149055535", + "0x000000000000000000000000111111125421ca6dc452d289314280a0f8842a65" + ], + "data": "0x00000000000000000000000000000000000000000000000479d1ce0d48208000", + "blockNumber": "0x151241d", + "transactionHash": "0x7bc0a7edf36fb97bce917ffcd70e331374b7d1081a6ffaa05563a5908e44fbe4", + "transactionIndex": "0xb1", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x23a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000004010000000000000000000000000000000000000000004000000000004000000000000000000000000000000000000000100000000000000000000020000000000000000000000000000000000000000020000000000000000000000000000004008000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x5b1e769e74fd7e532a48261ab42ee906f0090556", + "transactionHash": "0x7bc0a7edf36fb97bce917ffcd70e331374b7d1081a6ffaa05563a5908e44fbe4", + "transactionIndex": "0xb1", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1219673", + "effectiveGasPrice": "0x19bad168", + "from": "0x4337005db25dbad41da5692ba1188751ee5d98b6", + "gasUsed": "0x3576f", + "logs": [ + { + "address": "0x0000000000000039cd5e8ae05257ce51c473ddd1", + "topics": [ + "0x7a270f29ae17e8e2304ff1245deb50c3b6206bca82928d904f3e284d35c5ffd2", + "0x48fbf2e20c96d3b93c6d89c3c64aa77235ec7c252357d62b2045e8ae3a3b7d4f", + "0x000000000000000000000000e3eabc45a2c78891fcbedd7259f314235da0b4d5" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x367805d138c913d5e9804a26fc5238f91563c05539533f0a3764171c40b61f39", + "transactionIndex": "0xb2", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x23b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x0000000071727de22e5e9d8baf0edac6f37da032", + "topics": [ + "0xbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972" + ], + "data": "0x", + "blockNumber": "0x151241d", + "transactionHash": "0x367805d138c913d5e9804a26fc5238f91563c05539533f0a3764171c40b61f39", + "transactionIndex": "0xb2", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x23c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e3eabc45a2c78891fcbedd7259f314235da0b4d5", + "0x000000000000000000000000b5d7e0afd735d63b5810fcb9849e9550e0565ee7" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000005b2af40", + "blockNumber": "0x151241d", + "transactionHash": "0x367805d138c913d5e9804a26fc5238f91563c05539533f0a3764171c40b61f39", + "transactionIndex": "0xb2", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x23d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x0000000071727de22e5e9d8baf0edac6f37da032", + "topics": [ + "0x49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f", + "0x48fbf2e20c96d3b93c6d89c3c64aa77235ec7c252357d62b2045e8ae3a3b7d4f", + "0x000000000000000000000000e3eabc45a2c78891fcbedd7259f314235da0b4d5", + "0x0000000000000000000000000000000000000039cd5e8ae05257ce51c473ddd1" + ], + "data": "0x0002b6c3694c0000000000000000000000000000000096ce0000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000005b768b1844000000000000000000000000000000000000000000000000000000000000038e00", + "blockNumber": "0x151241d", + "transactionHash": "0x367805d138c913d5e9804a26fc5238f91563c05539533f0a3764171c40b61f39", + "transactionIndex": "0xb2", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x23e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000008000040000000000000010000010000000000000000000000020000000000000000004000000000000008000000000040000000000000000040000000000000000000000800000000000100000000000080000000000001000010000000000000000000000000000000000000000000000000000000000000200000100400000000000000000000400180000000000010000000008000000002000000000200000002000000400001002000000000002000000000004040000000000000000000000000000000000000000002000000000000080000000000000000000000", + "status": "0x1", + "to": "0x0000000071727de22e5e9d8baf0edac6f37da032", + "transactionHash": "0x367805d138c913d5e9804a26fc5238f91563c05539533f0a3764171c40b61f39", + "transactionIndex": "0xb2", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1242dff", + "effectiveGasPrice": "0x19bb1434", + "from": "0xa755dc74e06b15fee479d1d02652e022bb3c901d", + "gasUsed": "0x2978c", + "logs": [ + { + "address": "0xb0c7a3ba49c7a6eaba6cd4a96c55a1391070ac9a", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d7f9f54194c633f36ccd5f3da84ad4a1c38cb2cb", + "0x000000000000000000000000a755dc74e06b15fee479d1d02652e022bb3c901d" + ], + "data": "0x00000000000000000000000000000000000000000000004516b295fdfcc36060", + "blockNumber": "0x151241d", + "transactionHash": "0x0362bc09172da59a902ba5fe50de4b0f215cf4e082d51b662b83fe6e21ad07a7", + "transactionIndex": "0xb3", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x23f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xd7f9f54194c633f36ccd5f3da84ad4a1c38cb2cb", + "topics": [ + "0x05518b128f0a9b11ddddebd5211a7fc2f4a689dab3a3e258d93eb13049983c3e", + "0x000000000000000000000000000000000000000000000000000000000000eeee", + "0x000000000000000000000000a755dc74e06b15fee479d1d02652e022bb3c901d", + "0x000000000000000000000000b0c7a3ba49c7a6eaba6cd4a96c55a1391070ac9a" + ], + "data": "0x00000000000000000000000000000000000000000000004516b295fdfcc36060", + "blockNumber": "0x151241d", + "transactionHash": "0x0362bc09172da59a902ba5fe50de4b0f215cf4e082d51b662b83fe6e21ad07a7", + "transactionIndex": "0xb3", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x240", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000008000000080000000000000000804000000000000000000000000804000000000000000000000000008000000020000000014000000000008000000000000000000000000008000000000000020000800000000000000000010000000000000000000000000000000000000000000000040000200000000008000000000000000000004000000000000000000000000000000000000000000000000000000000002000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000020000000010", + "status": "0x1", + "to": "0xd7f9f54194c633f36ccd5f3da84ad4a1c38cb2cb", + "transactionHash": "0x0362bc09172da59a902ba5fe50de4b0f215cf4e082d51b662b83fe6e21ad07a7", + "transactionIndex": "0xb3", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x12697ee", + "effectiveGasPrice": "0x19bad168", + "from": "0x1bb3c7f27a9170194dcc6b143c0fbc4ad162f123", + "gasUsed": "0x269ef", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001bb3c7f27a9170194dcc6b143c0fbc4ad162f123", + "0x0000000000000000000000005f6c431ac417f0f430b84a666a563fabe681da94" + ], + "data": "0x000000000000000000000000000000000000000000000000000000049ad7f8b9", + "blockNumber": "0x151241d", + "transactionHash": "0x4c15b22f4567cf5046cde4adf34946075c20c12eff1d1785894beb4c30fd5259", + "transactionIndex": "0xb4", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x241", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x15700b564ca08d9439c58ca5053166e8317aa138", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005f6c431ac417f0f430b84a666a563fabe681da94", + "0x0000000000000000000000001bb3c7f27a9170194dcc6b143c0fbc4ad162f123" + ], + "data": "0x000000000000000000000000000000000000000000000430b0383b5878a7f475", + "blockNumber": "0x151241d", + "transactionHash": "0x4c15b22f4567cf5046cde4adf34946075c20c12eff1d1785894beb4c30fd5259", + "transactionIndex": "0xb4", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x242", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x5f6c431ac417f0f430b84a666a563fabe681da94", + "topics": [ + "0x8b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd97140", + "0x0000000000000000000000001bb3c7f27a9170194dcc6b143c0fbc4ad162f123" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000049ad7f8b90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000430b0383b5878a7f475", + "blockNumber": "0x151241d", + "transactionHash": "0x4c15b22f4567cf5046cde4adf34946075c20c12eff1d1785894beb4c30fd5259", + "transactionIndex": "0xb4", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x243", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000100800000000000000000000000000000000000008800000000000000000000000000000000008002008000000000000000000000000000000000000000000200000000000000000000000000000002000000000000000000030000000000000000000000000000000000000000000000000010000000000000101000800004000000000200000000000000000000000000000000000000000000000080000000002000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000080000000000", + "status": "0x1", + "to": "0x5f6c431ac417f0f430b84a666a563fabe681da94", + "transactionHash": "0x4c15b22f4567cf5046cde4adf34946075c20c12eff1d1785894beb4c30fd5259", + "transactionIndex": "0xb4", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1286bad", + "effectiveGasPrice": "0x19bad168", + "from": "0x02b504d5e353abebe1ab69e8e95d8f73d135d944", + "gasUsed": "0x1d3bf", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d" + ], + "data": "0x00000000000000000000000000000000000000000000000000f8b0a10e470000", + "blockNumber": "0x151241d", + "transactionHash": "0xbc698599c86e05367dba09f81a40910c94d19af74de61fe4a8065dbd3b87d84d", + "transactionIndex": "0xb5", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x244", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x000000000000000000000000905c3f06f0067bdef8269dc24ae5b1c4e83c9ee0" + ], + "data": "0x00000000000000000000000000000000000000000000000000f8b0a10e470000", + "blockNumber": "0x151241d", + "transactionHash": "0xbc698599c86e05367dba09f81a40910c94d19af74de61fe4a8065dbd3b87d84d", + "transactionIndex": "0xb5", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x245", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x2849089fdd78c7cd23726c327efcad9763cea5ea", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000905c3f06f0067bdef8269dc24ae5b1c4e83c9ee0", + "0x00000000000000000000000002b504d5e353abebe1ab69e8e95d8f73d135d944" + ], + "data": "0x00000000000000000000000000000000000000000010f1d237ccaf2361b32edc", + "blockNumber": "0x151241d", + "transactionHash": "0xbc698599c86e05367dba09f81a40910c94d19af74de61fe4a8065dbd3b87d84d", + "transactionIndex": "0xb5", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x246", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x905c3f06f0067bdef8269dc24ae5b1c4e83c9ee0", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x000000000000000000000000000000000000000001b39f1c539ed2be94a1546300000000000000000000000000000000000000000000000019def805e6488000", + "blockNumber": "0x151241d", + "transactionHash": "0xbc698599c86e05367dba09f81a40910c94d19af74de61fe4a8065dbd3b87d84d", + "transactionIndex": "0xb5", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x247", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x905c3f06f0067bdef8269dc24ae5b1c4e83c9ee0", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", + "0x00000000000000000000000002b504d5e353abebe1ab69e8e95d8f73d135d944" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f8b0a10e47000000000000000000000000000000000000000000000010f1d237ccaf2361b32edc0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0xbc698599c86e05367dba09f81a40910c94d19af74de61fe4a8065dbd3b87d84d", + "transactionIndex": "0xb5", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x248", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x0420008000000000000000008000000000000000000008000001000000000000000000000000000000000000000000000200000008000000000000800000000000000000000000000000000c000000200000000000000000000000008000000000000000000000000000000000000000000000000000000000000010000000000000000000000000004000000002004000000001000000080000004000000000000000400000000000000000000001000000000020000000000000000000000000000002000000000000000000000000000000000000001000000000000420000000200000000000000000000000000000000000000000400000000000008000", + "status": "0x1", + "to": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", + "transactionHash": "0xbc698599c86e05367dba09f81a40910c94d19af74de61fe4a8065dbd3b87d84d", + "transactionIndex": "0xb5", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x129bf13", + "effectiveGasPrice": "0x19bad168", + "from": "0x6667961f5e9c98a76a48767522150889703ed77d", + "gasUsed": "0x15366", + "logs": [ + { + "address": "0x31d543e7be1da6efdc2206ef7822879045b9f481", + "topics": [ + "0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2", + "0x5cf0e3e48297fe82c718c36413f4c19424082c89dedbe6a94a6d311222f10902", + "0x00000000000000000000000000000000000000000000000000000000000022ce", + "0x00000000000000000000000000000000000000000000000000000000049a2862" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000067dd4a0f", + "blockNumber": "0x151241d", + "transactionHash": "0x746ae0f02ae75f6bc3ad26d29bcbd5fcb6b16c211c8760cb05825367a0591a0e", + "transactionIndex": "0xb6", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x249", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000800008000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000008000000000000000000000000000000000000200000000000000000000000000000000000000000000001042000000000000000000000000000000000000000000000000000000200000000000000000020000000400000000000004000000000800000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x31d543e7be1da6efdc2206ef7822879045b9f481", + "transactionHash": "0x746ae0f02ae75f6bc3ad26d29bcbd5fcb6b16c211c8760cb05825367a0591a0e", + "transactionIndex": "0xb6", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x12ab5f0", + "effectiveGasPrice": "0x19bb7866", + "from": "0x4cdda9b29d59ecb9a655f1bcc640bf783205f762", + "gasUsed": "0xf6dd", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004cdda9b29d59ecb9a655f1bcc640bf783205f762", + "0x000000000000000000000000c0d99f47b8b18933492d1b1d299e3fbdba581459" + ], + "data": "0x000000000000000000000000000000000000000000000000000000001dcd6500", + "blockNumber": "0x151241d", + "transactionHash": "0x196fa5db3ab74997f6e7d16af8662e2bc71bd5e3cd329c4822ca25872162ed25", + "transactionIndex": "0xb7", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x24a", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000002100000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000002000000000000000000000800000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0x196fa5db3ab74997f6e7d16af8662e2bc71bd5e3cd329c4822ca25872162ed25", + "transactionIndex": "0xb7", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x12b9664", + "effectiveGasPrice": "0x19bad168", + "from": "0x1a55b416411d10f2a9c6900b93ae529ce5a96e42", + "gasUsed": "0xe074", + "logs": [ + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001a55b416411d10f2a9c6900b93ae529ce5a96e42", + "0x000000000000000000000000408d2fc4495c2deb9d57902c61baa2bfdc540b7d" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000001656707", + "blockNumber": "0x151241d", + "transactionHash": "0x46720f732f3840a78ca4fe5c5508a8286f2b3485cb0f32f1a7fa8289649647fb", + "transactionIndex": "0xb8", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x24b", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000010000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000200000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000400000000000000100000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "transactionHash": "0x46720f732f3840a78ca4fe5c5508a8286f2b3485cb0f32f1a7fa8289649647fb", + "transactionIndex": "0xb8", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x12c5409", + "effectiveGasPrice": "0x19bad168", + "from": "0xd318c2357c268e6f362c3ca48969125d89813a9c", + "gasUsed": "0xbda5", + "logs": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000d318c2357c268e6f362c3ca48969125d89813a9c", + "0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", + "blockNumber": "0x151241d", + "transactionHash": "0xbb81d8087941b4d8ed24c947836e2300255a6cd5babded656acadeba78f1d861", + "transactionIndex": "0xb9", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x24c", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000000000000000200000000000000000000000000000000100000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000100000020000000000000000000080000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000020000010000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "transactionHash": "0xbb81d8087941b4d8ed24c947836e2300255a6cd5babded656acadeba78f1d861", + "transactionIndex": "0xb9", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x12cd393", + "effectiveGasPrice": "0x19bad168", + "from": "0xed9044699a96cec7dab93d3a87e1a328150d5dc8", + "gasUsed": "0x7f8a", + "logs": [ + { + "address": "0xa5f565650890fba1824ee0f21ebbbf660a179934", + "topics": [ + "0x936c2ca3b35d2d0b24057b0675c459e4515f48fe132d138e213ae59ffab7f53e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002057e871f32f7aba59ab9584dfe753712a12f82f1789417d4d1bcc47b940189aad", + "blockNumber": "0x151241d", + "transactionHash": "0xab5b98c4143e5222388c706821e87efbb9a52cac6e27223337f0b8c365bb6564", + "transactionIndex": "0xba", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x24d", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000080000", + "status": "0x1", + "to": "0xa5f565650890fba1824ee0f21ebbbf660a179934", + "transactionHash": "0xab5b98c4143e5222388c706821e87efbb9a52cac6e27223337f0b8c365bb6564", + "transactionIndex": "0xba", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x12e27ad", + "effectiveGasPrice": "0x19c54148", + "from": "0x3ccd3fdab743c819bf586ba4bb17bb5c65f88c88", + "gasUsed": "0x1541a", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005141b82f5ffda4c6fe1e372978f1c5427640a190" + ], + "data": "0x00000000000000000000000000000000000000000000000044b0394e8c0bf000", + "blockNumber": "0x151241d", + "transactionHash": "0x155969f6756d3fef1ab20e34648e6e9e8967d3fe580886b587f0d522def86800", + "transactionIndex": "0xbb", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x24e", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005141b82f5ffda4c6fe1e372978f1c5427640a190", + "0x000000000000000000000000111111125421ca6dc452d289314280a0f8842a65" + ], + "data": "0x00000000000000000000000000000000000000000000000044b0394e8c0bf000", + "blockNumber": "0x151241d", + "transactionHash": "0x155969f6756d3fef1ab20e34648e6e9e8967d3fe580886b587f0d522def86800", + "transactionIndex": "0xbb", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x24f", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000111111125421ca6dc452d289314280a0f8842a65", + "0x0000000000000000000000003ccd3fdab743c819bf586ba4bb17bb5c65f88c88" + ], + "data": "0x00000000000000000000000000000000000000000000000044b0394e8c0bf000", + "blockNumber": "0x151241d", + "transactionHash": "0x155969f6756d3fef1ab20e34648e6e9e8967d3fe580886b587f0d522def86800", + "transactionIndex": "0xbb", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x250", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000020000000000002000002000400080000000000000000000000000000000000000000000008000000000000000000000000000000008000000000000000004000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000001000000000000000000000080000000000000080000000000000000000000000000000000000000000000000000000002001000000000001000000000000000000000000000000000000000000000200000000000000000000000000000000000000000400000000000000000", + "status": "0x1", + "to": "0x111111125421ca6dc452d289314280a0f8842a65", + "transactionHash": "0x155969f6756d3fef1ab20e34648e6e9e8967d3fe580886b587f0d522def86800", + "transactionIndex": "0xbb", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x12e79b5", + "effectiveGasPrice": "0x19bad168", + "from": "0x2ba52f57a74ec300078c5b74184dba1bcfa4b2ea", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x0e3a66454c4f21fed60e4292b83239065858a4d3", + "transactionHash": "0xb0ee8b8f9022576357fc2deae183a2c928848c40657650c9103dfbb1d54aa279", + "transactionIndex": "0xbc", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x12ef079", + "effectiveGasPrice": "0x19d4e91b", + "from": "0x6b29af3184a5cc523a552e42730a4e62599ab4f9", + "gasUsed": "0x76c4", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "0x0000000000000000000000006b29af3184a5cc523a552e42730a4e62599ab4f9" + ], + "data": "0x000000000000000000000000000000000000000000000000005098cbfb5fe000", + "blockNumber": "0x151241d", + "transactionHash": "0xb96546147fc8ce5ace84032d77a90bed58cac69f6c79562df674a7ceb662ce4e", + "transactionIndex": "0xbd", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x251", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000004000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000040000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000002000000000000200000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "transactionHash": "0xb96546147fc8ce5ace84032d77a90bed58cac69f6c79562df674a7ceb662ce4e", + "transactionIndex": "0xbd", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x12f42a5", + "effectiveGasPrice": "0x19b9bc10", + "from": "0x2a523cbd62e111f3fa8371857b0a32b54b53b99f", + "gasUsed": "0x522c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionHash": "0x1173c85cf5a20e142aa175e25ef1591470b5dd429819c5d4b0c0478beb130e98", + "transactionIndex": "0xbe", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x131280c", + "effectiveGasPrice": "0x19bad168", + "from": "0xb415f1e6fbbd3fe3c79a19689fee21c40099e223", + "gasUsed": "0x1e567", + "logs": [ + { + "address": "0xadd39272e83895e7d3f244f696b7a25635f34234", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b415f1e6fbbd3fe3c79a19689fee21c40099e223", + "0x000000000000000000000000384e3ae4d5efc9471201039b555eae496b2a7240" + ], + "data": "0x00000000000000000000000000000000000000000000144ebfd9cc0618f00000", + "blockNumber": "0x151241d", + "transactionHash": "0x20981839407f17e60b02eba27805691251a710edae453f9a6e143dc71c9b6f52", + "transactionIndex": "0xbf", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x252", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0xadd39272e83895e7d3f244f696b7a25635f34234", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000b415f1e6fbbd3fe3c79a19689fee21c40099e223", + "0x000000000000000000000000384e3ae4d5efc9471201039b555eae496b2a7240" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x20981839407f17e60b02eba27805691251a710edae453f9a6e143dc71c9b6f52", + "transactionIndex": "0xbf", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x253", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + }, + { + "address": "0x384e3ae4d5efc9471201039b555eae496b2a7240", + "topics": [ + "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", + "0x000000000000000000000000b415f1e6fbbd3fe3c79a19689fee21c40099e223", + "0x000000000000000000000000b415f1e6fbbd3fe3c79a19689fee21c40099e223", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000005400000000000000000000000000000000000000000000144ebfd9cc0618f0000000000000000000000000000000000000000000000000144ebfd9cc0618f0000000000000000186a0007375706572627269646765000000000000000000000000", + "blockNumber": "0x151241d", + "transactionHash": "0x20981839407f17e60b02eba27805691251a710edae453f9a6e143dc71c9b6f52", + "transactionIndex": "0xbf", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x254", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x0100000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004020000000000000000000000004000a000004000000000000000000000000000000000000000000020000000000000001000800000000000000000000000010000000000000000000001000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000004000000000002002000000000000000000000000000400000000000000000000000020000010000000000000010000002000000000000000080010000000000000000000", + "status": "0x1", + "to": "0x384e3ae4d5efc9471201039b555eae496b2a7240", + "transactionHash": "0x20981839407f17e60b02eba27805691251a710edae453f9a6e143dc71c9b6f52", + "transactionIndex": "0xbf", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1317a38", + "effectiveGasPrice": "0x19bbe346", + "from": "0x19ea46f6e7d118c02243467f3cfb2421d9ddf3a6", + "gasUsed": "0x522c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionHash": "0x4d7995036976c60637fc51db0d043046eca454005aee4ee5725dbdd7ff56bc02", + "transactionIndex": "0xc0", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x131cc64", + "effectiveGasPrice": "0x19bbe346", + "from": "0x9f2ebdd2ce1e1b5e8c913b2e181c8d7314f65db7", + "gasUsed": "0x522c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionHash": "0xb4f594a23cadb730902ea3873017aa886cbb2f88d95dc5ad82c4f566a0777c8d", + "transactionIndex": "0xc1", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1321e90", + "effectiveGasPrice": "0x19bbe346", + "from": "0x43859d44df7a70ad429516104e26df331a89e618", + "gasUsed": "0x522c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionHash": "0xbb9489b53872061b24389dd9a4d7c9000f5351ed1195e48996f6a79254c41c52", + "transactionIndex": "0xc2", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x13270bc", + "effectiveGasPrice": "0x19bbe346", + "from": "0x8665170c1c2a154408fe1a52df2b8d49c56dafa1", + "gasUsed": "0x522c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionHash": "0x4971dbd3d73b320a274372d8f739ac6ade6ab4c6692e3787a9945a16433da412", + "transactionIndex": "0xc3", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x132c2e8", + "effectiveGasPrice": "0x19bbe346", + "from": "0x8fd9d87ce9d2ee203e0756bfe08f17bf1c0b3e6d", + "gasUsed": "0x522c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionHash": "0xda279935fcfb78b37650d158f9d9cc1516c949035835fdff259b921c609f5384", + "transactionIndex": "0xc4", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1331520", + "effectiveGasPrice": "0x19b9bc10", + "from": "0x5bd3cd5416a1b0c231befce6b8d92db0cbac9f22", + "gasUsed": "0x5238", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x391e7c679d29bd940d63be94ad22a25d25b5a604", + "transactionHash": "0x0e6ff299104bf7e4f2ec12a563bed7855501d75c4302fcf3d9a8a47be8dc9980", + "transactionIndex": "0xc5", + "type": "0x2" + }, + { + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "blockNumber": "0x151241d", + "contractAddress": null, + "cumulativeGasUsed": "0x1338012", + "effectiveGasPrice": "0x19b83570", + "from": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5", + "gasUsed": "0x6af2", + "logs": [ + { + "address": "0x73f7b1184b5cd361cc0f7654998953e2a251dd58", + "topics": [ + "0x85177f287940f2f05425a4029951af0e047a7f9c4eaa9a6e6917bcd869f86695", + "0x00000000000000000000000095222290dd7278aa3ddd389cc1e1d165cc4bafe5" + ], + "data": "0x0000000000000000000000000000000000000000000000000034eb4878fd3a24", + "blockNumber": "0x151241d", + "transactionHash": "0xeed3ee216933d4555422a632c7d1d43ba1d2c69c9d7dde0f149611f419f2dcee", + "transactionIndex": "0xc6", + "blockHash": "0xe0aa455a6c1665e138a2117392412f80f5768319a17acf688770580abc39b32b", + "logIndex": "0x255", + "removed": false, + "blockTimestamp": "0x67dd4a0f" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000080000000000000000000000000000000000000000000000000000400000000000000000020000000000000000000000000000000000080000000002000800000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x73f7b1184b5cd361cc0f7654998953e2a251dd58", + "transactionHash": "0xeed3ee216933d4555422a632c7d1d43ba1d2c69c9d7dde0f149611f419f2dcee", + "transactionIndex": "0xc6", + "type": "0x2" + } +] diff --git a/substrate/frame/revive/test-assets/eth_receipts.json b/substrate/frame/revive/test-assets/receipts_0x161bd0f_ethereum-mainnet.json similarity index 94% rename from substrate/frame/revive/test-assets/eth_receipts.json rename to substrate/frame/revive/test-assets/receipts_0x161bd0f_ethereum-mainnet.json index dea646889a014..dbf9bee86538b 100644 --- a/substrate/frame/revive/test-assets/eth_receipts.json +++ b/substrate/frame/revive/test-assets/receipts_0x161bd0f_ethereum-mainnet.json @@ -21,7 +21,8 @@ "transactionIndex": "0x0", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x0", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -36,7 +37,8 @@ "transactionIndex": "0x0", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x1", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -51,7 +53,8 @@ "transactionIndex": "0x0", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x2", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x000000000004444c5dc75cb358380d2e3de08a90", @@ -66,7 +69,8 @@ "transactionIndex": "0x0", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x3", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x000000000004444c5dc75cb358380d2e3de08a90", @@ -81,7 +85,8 @@ "transactionIndex": "0x0", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x4", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -96,7 +101,8 @@ "transactionIndex": "0x0", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x5", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -111,7 +117,8 @@ "transactionIndex": "0x0", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x6", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -126,7 +133,8 @@ "transactionIndex": "0x0", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x7", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x0000000aa232009084bd71a5797d089aa4edfad4", @@ -137,7 +145,8 @@ "transactionIndex": "0x0", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x8", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x000000000000000004000000000000000000000000000000000000000000000000000000200000000010000000000100020000000c0000000000000002000002000000000000000009000108000000000000000000000020000000000000000000000000000000000000000000000000000000000000020000000010000000000000040840000000000000000000000000000000010000000000000000100000400000000000200000000080100000000000000000000000000000000000000000000802000000000000000000000000000000400000004000000000000001000000200000000000004000000080000000001000000800080000000000000000", @@ -169,7 +178,8 @@ "transactionIndex": "0x1", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x9", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x4342b77fe3417bcb09d0a4383301b0dc733c755b", @@ -183,7 +193,8 @@ "transactionIndex": "0x1", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xa", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xd315a9c38ec871068fec378e4ce78af528c76293", @@ -199,7 +210,8 @@ "transactionIndex": "0x1", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xb", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -214,7 +226,8 @@ "transactionIndex": "0x1", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xc", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -229,7 +242,8 @@ "transactionIndex": "0x1", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xd", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640", @@ -244,7 +258,8 @@ "transactionIndex": "0x1", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xe", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x0000000001000000000000000000400000000000800000000000000004000020000000200000000000000a000000000002080000080020002000000100400000000000000000200808000008000820804000000000000000000000000000000000000000000000004000000000000000000000400000000000000010000800000000800000000000002000400000000200000000210000000000001000000000000000000000200000000000000000000000000000000000002800000008000000000002000000000000200000080000000000000004000100000000000000000000200000000000000010000000000004000000002000040000000000000000", @@ -276,7 +291,8 @@ "transactionIndex": "0x2", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xf", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x315a892a4d02c5c1169d5f0e4f7cb4130cc0d138", @@ -290,7 +306,8 @@ "transactionIndex": "0x2", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x10", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xd315a9c38ec871068fec378e4ce78af528c76293", @@ -306,7 +323,8 @@ "transactionIndex": "0x2", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x11", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -321,7 +339,8 @@ "transactionIndex": "0x2", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x12", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -336,7 +355,8 @@ "transactionIndex": "0x2", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x13", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b", @@ -351,7 +371,8 @@ "transactionIndex": "0x2", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x14", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x10000040000000000000000002004000000000000000000000000000000000200000002000000000000000000000010002000000080020000080000100000000000010000000200800000208000820804000001000000000000000000000000000000000002000000000000000000000000000600000000000000010000800000000000800000000002000400000000000000000200000000000001000100000000000000000000000000080200000000000000000000000000800000000004000002002000008000000000000080800000000020004000000000000000000030000200000000000000000000000000000000000002000000000000000000000", @@ -382,7 +403,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x15", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x84ca8bc7997272c7cfb4d0cd3d55cd942b3c9419", @@ -397,7 +419,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x16", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x84ca8bc7997272c7cfb4d0cd3d55cd942b3c9419", @@ -412,7 +435,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x17", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -427,7 +451,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x18", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x84ca8bc7997272c7cfb4d0cd3d55cd942b3c9419", @@ -442,7 +467,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x19", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x84ca8bc7997272c7cfb4d0cd3d55cd942b3c9419", @@ -457,7 +483,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x1a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xb60b34d830f26c5a11c47ddb1e0a1f31d90a78b1", @@ -472,7 +499,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x1b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -487,7 +515,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x1c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x84ca8bc7997272c7cfb4d0cd3d55cd942b3c9419", @@ -502,7 +531,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x1d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x84ca8bc7997272c7cfb4d0cd3d55cd942b3c9419", @@ -517,7 +547,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x1e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa14afc841a2742cbd52587b705f00f322309580e", @@ -532,7 +563,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x1f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -547,7 +579,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x20", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -562,7 +595,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x21", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x7858e59e0c01ea06df3af3d20ac7b0003275d4bf", @@ -577,7 +611,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x22", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x2db07a3a657b6e16999b67d48500486a1cb0d649", @@ -590,7 +625,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x23", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -604,7 +640,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x24", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -619,7 +656,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x25", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -633,7 +671,8 @@ "transactionIndex": "0x3", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x26", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00401000000000000000040000001000004000000000000000010000000000002000000800440000000000006000010002000040080420000000000000200c00000400000000000808180008000000000000000900000000000000000000000000000000000000000000804000100000000200002000000010004010008800000000000000000040000000008000000000848000c50000000000000000100000020000600000200000000080000000000000001000000000010000000000000000000002000800200001000000000000000020000000840000000000000000000010202000000000000002000104000000204000000000100000000000000000", @@ -681,7 +720,8 @@ "transactionIndex": "0x5", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x27", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000100000000000000000000000000000000000001000000000000000000000002000000000000000000000000000000200000000000000000000000400000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000004000000000020000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000010000000000000000000000000000000080000000000000000000000000000", @@ -713,7 +753,8 @@ "transactionIndex": "0x6", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x28", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -728,7 +769,8 @@ "transactionIndex": "0x6", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x29", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5042e6ffac5a625d4e7848e0b01373d8eb9e222", @@ -741,7 +783,8 @@ "transactionIndex": "0x6", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x2a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -756,7 +799,8 @@ "transactionIndex": "0x6", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x2b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -771,7 +815,8 @@ "transactionIndex": "0x6", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x2c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x163f8c2467924be0ae7b5347228cabf260318753", @@ -786,7 +831,8 @@ "transactionIndex": "0x6", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x2d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x163f8c2467924be0ae7b5347228cabf260318753", @@ -801,7 +847,8 @@ "transactionIndex": "0x6", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x2e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdef1c0ded9bec7f1a1670819833240f027b25eff", @@ -814,7 +861,8 @@ "transactionIndex": "0x6", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x2f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x163f8c2467924be0ae7b5347228cabf260318753", @@ -829,7 +877,8 @@ "transactionIndex": "0x6", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x30", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5042e6ffac5a625d4e7848e0b01373d8eb9e222", @@ -842,7 +891,8 @@ "transactionIndex": "0x6", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x31", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x163f8c2467924be0ae7b5347228cabf260318753", @@ -857,7 +907,8 @@ "transactionIndex": "0x6", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x32", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5042e6ffac5a625d4e7848e0b01373d8eb9e222", @@ -870,7 +921,8 @@ "transactionIndex": "0x6", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x33", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000008000000000010000000000000000000080008004020020000000000000000000200800000800000000000004020004100000000000000000000001000080000040000000000800044000004000000000000000001000000000000000001000000000000000000000000000000001000000000000000000000002800000000020000000408202000002000000000000000000400000000000400100008a000000000800000000008000000000000400000000000000000008000090000000000000000000000000000000000000000000000800000000000000", @@ -902,7 +954,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x34", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -916,7 +969,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x35", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -930,7 +984,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x36", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -945,7 +1000,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x37", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -960,7 +1016,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x38", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -975,7 +1032,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x39", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbbbbbbb520d69a9775e85b458c58c648259fad5f", @@ -989,7 +1047,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x3a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -1003,7 +1062,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x3b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x899d774e0f8e14810d628db63e65dfacea682343", @@ -1018,7 +1078,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x3c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -1033,7 +1094,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x3d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x1346d1ee3fb1b65fecfcb65c149ca0702c286f53", @@ -1048,7 +1110,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x3e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -1062,7 +1125,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x3f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x899d774e0f8e14810d628db63e65dfacea682343", @@ -1077,7 +1141,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x40", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -1091,7 +1156,8 @@ "transactionIndex": "0x7", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x41", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x0000100000000000000000002000100000400000000008000000000000000000000000004040000040000000000000000200004008102000000000408020000200040000008000082800000c000000400800000100008000000000000000000200000000080000000000800000000000000002000000200010004010000818000000080000000000000900000000002000000000410000000000000000000400020000600000200000000000000000000004000000000000010000000000000100004002000800000008000000000000400020002000000000000100000000020410200000000000000002000000080000004000000000000000000000000010", @@ -1122,7 +1188,8 @@ "transactionIndex": "0x8", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x42", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -1137,7 +1204,8 @@ "transactionIndex": "0x8", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x43", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -1152,7 +1220,8 @@ "transactionIndex": "0x8", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x44", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -1167,7 +1236,8 @@ "transactionIndex": "0x8", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x45", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbbbbbbb520d69a9775e85b458c58c648259fad5f", @@ -1181,7 +1251,8 @@ "transactionIndex": "0x8", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x46", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -1195,7 +1266,8 @@ "transactionIndex": "0x8", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x47", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf4308b0263723b121056938c2172868e408079d0", @@ -1210,7 +1282,8 @@ "transactionIndex": "0x8", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x48", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -1224,7 +1297,8 @@ "transactionIndex": "0x8", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x49", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00001000000000000000000000001000004000000200000000000000000000000000000000040000000000004000010002000000080000000000004000000002000000000000000020000008000000400000000100200000000000000000002202000000080000000000800000000000000000000000000010004010000010000000080000000000000000000000002000000000400000000000000008100000000000600000000000000080000000000010002000000000010000000000000100000002000800200008000000000000000020000000000000000000000000000000200000000000000002000004000000084000000000000000000000000010", @@ -1255,7 +1329,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x4a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5581dfefd8fb0e4aec526be659cfab1f8c781da", @@ -1271,7 +1346,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x4b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5581dfefd8fb0e4aec526be659cfab1f8c781da", @@ -1286,7 +1362,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x4c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5581dfefd8fb0e4aec526be659cfab1f8c781da", @@ -1301,7 +1378,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x4d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6b175474e89094c44da98b954eedeac495271d0f", @@ -1316,7 +1394,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x4e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5581dfefd8fb0e4aec526be659cfab1f8c781da", @@ -1332,7 +1411,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x4f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5581dfefd8fb0e4aec526be659cfab1f8c781da", @@ -1347,7 +1427,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x50", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5581dfefd8fb0e4aec526be659cfab1f8c781da", @@ -1362,7 +1443,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x51", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x87986ae1e99f99da1f955d16930dc8914ffbed56", @@ -1377,7 +1459,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x52", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5581dfefd8fb0e4aec526be659cfab1f8c781da", @@ -1393,7 +1476,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x53", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5581dfefd8fb0e4aec526be659cfab1f8c781da", @@ -1408,7 +1492,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x54", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5581dfefd8fb0e4aec526be659cfab1f8c781da", @@ -1423,7 +1508,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x55", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6b175474e89094c44da98b954eedeac495271d0f", @@ -1438,7 +1524,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x56", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x92c2fc5f306405eab0ff0958f6d85d7f8892cf4d", @@ -1451,7 +1538,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x57", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x92c2fc5f306405eab0ff0958f6d85d7f8892cf4d", @@ -1466,7 +1554,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x58", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x2db07a3a657b6e16999b67d48500486a1cb0d649", @@ -1479,7 +1568,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x59", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -1493,7 +1583,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x5a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6b175474e89094c44da98b954eedeac495271d0f", @@ -1508,7 +1599,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x5b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -1523,7 +1615,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x5c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf6e72db5454dd049d0788e411b06cfaf16853042", @@ -1537,7 +1630,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x5d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -1551,7 +1645,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x5e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -1566,7 +1661,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x5f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -1580,7 +1676,8 @@ "transactionIndex": "0x9", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x60", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x0060100000000020000000008000108002400000001000200000000000000020000000000044000000000000c000000800000040000420000000000080200400000400001000000808000008000000210000000100000000000010200000000010000000000000000000804000000000000200402000000010004010000800000000000000000000000000008000000000040000450001080800004200000000020000680100200000000000000000000000008000000000010000000000000000000002000800600001040000000020000022080000041000002008000000400010002000000000000002000004000000104000000000000000010000000000", @@ -1610,7 +1707,8 @@ "transactionIndex": "0xa", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x61", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5042e6ffac5a625d4e7848e0b01373d8eb9e222", @@ -1623,7 +1721,8 @@ "transactionIndex": "0xa", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x62", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf5042e6ffac5a625d4e7848e0b01373d8eb9e222", @@ -1636,7 +1735,8 @@ "transactionIndex": "0xa", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x63", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000080000000000000000000000000000000000000000000000000040000000000000000000000000000004000000000000000000000000000000040000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000080000000000000000000000000000000000000000000000800000000000000", @@ -1667,7 +1767,8 @@ "transactionIndex": "0xb", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x64", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -1682,7 +1783,8 @@ "transactionIndex": "0xb", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x65", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xe0265346277ad201609308b506e901b520150a08", @@ -1697,7 +1799,8 @@ "transactionIndex": "0xb", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x66", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6f9f435fa79e30e34f7679211904fcabc87ad924", @@ -1710,7 +1813,8 @@ "transactionIndex": "0xb", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x67", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6f9f435fa79e30e34f7679211904fcabc87ad924", @@ -1725,7 +1829,8 @@ "transactionIndex": "0xb", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x68", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00200000000000000000000080000000000000000000000000010000000000000100000000000000000000000000000002000000080000000000000000000000000000000000000000000008080000a00000000000000000000000008001000010000000000000000000000008000000000000000000000000000010000000000000000000000000004000000000000000000001000000080000004000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000004004000080000000000000000001000000000100020000000200000000000000000000000000000000000000001400000000001000000", @@ -1772,7 +1877,8 @@ "transactionIndex": "0xd", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x69", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xb131f4a55907b10d1f0a50d8ab8fa09ec342cd74", @@ -1787,7 +1893,8 @@ "transactionIndex": "0xd", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x6a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xb131f4a55907b10d1f0a50d8ab8fa09ec342cd74", @@ -1802,7 +1909,8 @@ "transactionIndex": "0xd", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x6b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xb131f4a55907b10d1f0a50d8ab8fa09ec342cd74", @@ -1817,7 +1925,8 @@ "transactionIndex": "0xd", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x6c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xb131f4a55907b10d1f0a50d8ab8fa09ec342cd74", @@ -1832,7 +1941,8 @@ "transactionIndex": "0xd", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x6d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xb131f4a55907b10d1f0a50d8ab8fa09ec342cd74", @@ -1847,7 +1957,8 @@ "transactionIndex": "0xd", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x6e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc059a531b4234d05e9ef4ac51028f7e6156e2cce", @@ -1862,7 +1973,8 @@ "transactionIndex": "0xd", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x6f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc059a531b4234d05e9ef4ac51028f7e6156e2cce", @@ -1876,7 +1988,8 @@ "transactionIndex": "0xd", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x70", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x71a41517fe65890fe835d67fce17a9747112696c", @@ -1890,7 +2003,8 @@ "transactionIndex": "0xd", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x71", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x000000000040000000000000000008000008000000000000001000000002000000000080000004000200020000040000000010800000000000000000002000000002000900008000000000080000000000000000000000200000000000000000000000000200000001000200000008000000000000000000000000100000000000001000000002000000020000000000044000004000000000000000000100000200002000100000000c00000000000000000000000000000000000000000040000000020001000000000000000000000000000000000000000000000008200000100000000000000000000000008000c0000000000000000000000000000000", @@ -1922,7 +2036,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x72", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -1937,7 +2052,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x73", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -1952,7 +2068,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x74", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -1967,7 +2084,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x75", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -1982,7 +2100,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x76", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -1997,7 +2116,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x77", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -2012,7 +2132,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x78", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -2027,7 +2148,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x79", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -2042,7 +2164,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x7a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -2057,7 +2180,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x7b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -2072,7 +2196,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x7c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -2087,7 +2212,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x7d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbe9895146f7af43049ca1c1ae358b0541ea49704", @@ -2102,7 +2228,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x7e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x84ca8bc7997272c7cfb4d0cd3d55cd942b3c9419", @@ -2117,7 +2244,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x7f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x0d8775f648430679a709e98d2b0cb6250d2887ef", @@ -2132,7 +2260,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x80", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", @@ -2147,7 +2276,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x81", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x4a220e6096b25eadb88358cb44068a3248254675", @@ -2162,7 +2292,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x82", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xfaba6f8e4a5e8ab82f62fe7c39859fa577269be3", @@ -2177,7 +2308,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x83", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6c3ea9036406852006290770bedfcaba0e23a0e8", @@ -2192,7 +2324,8 @@ "transactionIndex": "0xe", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x84", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000200001000000000060000000000000010000000400000000000000800000004000000000000000100000011000000028040000000080040000020600000000000000020008000008100000000000200000040000000100000000000008000000000000008400000000000800000000400000000000a80030018402200000000000000000008000000000200000000100010000200001000200122000000000800000204010000080000000000000000420000000000080000000000000000003000000002401400408001000002000000442040000000400000800000000000000000000000200000102000000000000002000900000200000000100", @@ -2224,7 +2357,8 @@ "transactionIndex": "0xf", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x85", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00004000000000000000402000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000002008000000000000000000000000000000002000000000000000000000000180000000000000000000000000000000000000000000000000000000000", @@ -2256,7 +2390,8 @@ "transactionIndex": "0x10", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x86", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xe0f63a424a4439cbe457d80e4f4b51ad25b2c56c", @@ -2271,7 +2406,8 @@ "transactionIndex": "0x10", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x87", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -2286,7 +2422,8 @@ "transactionIndex": "0x10", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x88", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x7c706586679af2ba6d1a9fc2da9c6af59883fdd3", @@ -2301,7 +2438,8 @@ "transactionIndex": "0x10", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x89", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdd6e1a4e35d307497da8d5d4052173410951b3d5", @@ -2316,7 +2454,8 @@ "transactionIndex": "0x10", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x8a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -2331,7 +2470,8 @@ "transactionIndex": "0x10", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x8b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6c618dd1040a79923cd74113ef0ed07c07d2b0e7", @@ -2344,7 +2484,8 @@ "transactionIndex": "0x10", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x8c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6c618dd1040a79923cd74113ef0ed07c07d2b0e7", @@ -2359,7 +2500,8 @@ "transactionIndex": "0x10", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x8d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x002000000000000000000000800000010000000000000000000000000000000000000000000000000000020020000008020000040800200000000000000000000000000000000008000000080000002000000000000000000400000400000800000000000000000000000204000000000000008000000010008000100008000020000000000000000000000000000000000000000000000c0000004080000000040000000400001000000000000000004000000010000000000000000000000000004002000000000000000000000000000c00000000001000000000000000000000202000000000000000000000000000400000000000000000000000000000", @@ -2407,7 +2549,8 @@ "transactionIndex": "0x12", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x8e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000801000000000000000000000000000000000010000000000000000000000000000000000000000001000000020000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000002000000000000000", @@ -2439,7 +2582,8 @@ "transactionIndex": "0x13", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x8f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000000000000000000000200000001002000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000040000000000000000000000", @@ -2471,7 +2615,8 @@ "transactionIndex": "0x14", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x90", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -2486,7 +2631,8 @@ "transactionIndex": "0x14", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x91", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -2501,7 +2647,8 @@ "transactionIndex": "0x14", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x92", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -2516,7 +2663,8 @@ "transactionIndex": "0x14", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x93", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000001000000000000020080000001000000000000000000000040000000000000000000000000000000000000008000008004000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000010000000000008000800000000400000000000000000000000010000000008000000000000000000000000200000000000100000000000000000000000000000000000000200000882400020000000001000000000000400400000000000000000000000000000000000000000004000000000000000000000000000000000000000000000", @@ -2548,7 +2696,8 @@ "transactionIndex": "0x15", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x94", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000008000004000000000000000000000000000000000000000000000000000000000000010000010000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000800000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000008000000002000000000000000000000000000000000000000000", @@ -2596,7 +2745,8 @@ "transactionIndex": "0x17", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x95", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000010000000000000000002000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000010000000000000000000000000000000000000000000200000010000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002000000040000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000", @@ -2692,7 +2842,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x96", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x73ada7d3ce2c1dcf9bb4100b650196ccc2ccdfa6", @@ -2705,7 +2856,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x97", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xb167d99000cec6232e3b27f7f01d2b41c60f7fdc", @@ -2718,7 +2870,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x98", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xb167d99000cec6232e3b27f7f01d2b41c60f7fdc", @@ -2733,7 +2886,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x99", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x3b9c214a501b2ae33ab1793b57b09879a754f2ef", @@ -2748,7 +2902,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x9a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdf37c5d3eea96515faa286c30e8f6b05640cad00", @@ -2761,7 +2916,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x9b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x3b9c214a501b2ae33ab1793b57b09879a754f2ef", @@ -2774,7 +2930,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x9c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x3b9c214a501b2ae33ab1793b57b09879a754f2ef", @@ -2789,7 +2946,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x9d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc5327f8a6f6ea98928ff6a893d74a5cbc743f170", @@ -2804,7 +2962,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x9e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xb21cef20389f300cdc7b2572f0a9a1afe62f4479", @@ -2817,7 +2976,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x9f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc5327f8a6f6ea98928ff6a893d74a5cbc743f170", @@ -2830,7 +2990,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xa0", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc5327f8a6f6ea98928ff6a893d74a5cbc743f170", @@ -2845,7 +3006,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xa1", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf92c421115b1f11203abcfce78eed1aadad3e0a5", @@ -2860,7 +3022,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xa2", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf1edbdf579ad83cc86064bd089300b6b9362f084", @@ -2873,7 +3036,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xa3", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf92c421115b1f11203abcfce78eed1aadad3e0a5", @@ -2886,7 +3050,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xa4", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf92c421115b1f11203abcfce78eed1aadad3e0a5", @@ -2901,7 +3066,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xa5", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf801db2654e911e922665c4cb885d8cca4c155bf", @@ -2916,7 +3082,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xa6", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x321166c624541dde00025d2d916d117410ba8421", @@ -2929,7 +3096,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xa7", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf801db2654e911e922665c4cb885d8cca4c155bf", @@ -2942,7 +3110,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xa8", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xf801db2654e911e922665c4cb885d8cca4c155bf", @@ -2957,7 +3126,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xa9", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc7e957681720875f3a2143f1afb72e7fb6ffdd78", @@ -2972,7 +3142,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xaa", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xe1e82ee891f469897a815b0bfcc34dd5d597f76a", @@ -2985,7 +3156,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xab", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc7e957681720875f3a2143f1afb72e7fb6ffdd78", @@ -2998,7 +3170,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xac", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc7e957681720875f3a2143f1afb72e7fb6ffdd78", @@ -3013,7 +3186,8 @@ "transactionIndex": "0x1c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xad", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x000810000000100000400000804000000000802800000000000000000000000000000000000000000240040000000040008200000000000800200020000200002000001000000000081000a800004000000002014000000002000000000002000000000002000000000000000000080040000100080000000000001004000000000000000000400000000400000000000200000004000008080000002000200080000000010020050000001000000800000000000800000000000000000000000800040a200000000000000000000000000010000000001000000000000020000000000004000000202000002000000020000000000001000000000008000100", @@ -3045,7 +3219,8 @@ "transactionIndex": "0x1d", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xae", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x0000000000000068f116a894984e2db1123eb395", @@ -3060,7 +3235,8 @@ "transactionIndex": "0x1d", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xaf", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x0000000000000068f116a894984e2db1123eb395", @@ -3075,7 +3251,8 @@ "transactionIndex": "0x1d", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xb0", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x0000000000000068f116a894984e2db1123eb395", @@ -3090,7 +3267,8 @@ "transactionIndex": "0x1d", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xb1", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000008000000000000000000020000000000800000000800002000000000000000000000000000010200000200000000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", @@ -3122,7 +3300,8 @@ "transactionIndex": "0x1e", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xb2", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000200000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000010000000002000000000000000000000000000000000088000000000000200000000000000000000000000000000000000000000000000000000000040000000000", @@ -3154,7 +3333,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xb3", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x3ffeea07a27fab7ad1df5297fa75e77a43cb5790", @@ -3169,7 +3349,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xb4", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22a", @@ -3184,7 +3365,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xb5", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x3ffeea07a27fab7ad1df5297fa75e77a43cb5790", @@ -3199,7 +3381,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xb6", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x3ffeea07a27fab7ad1df5297fa75e77a43cb5790", @@ -3214,7 +3397,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xb7", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x3ffeea07a27fab7ad1df5297fa75e77a43cb5790", @@ -3229,7 +3413,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xb8", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x3ffeea07a27fab7ad1df5297fa75e77a43cb5790", @@ -3244,7 +3429,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xb9", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -3259,7 +3445,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xba", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbf16540c857b4e32ce6c37d2f7725c8eec869b8b", @@ -3272,7 +3459,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xbb", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbf16540c857b4e32ce6c37d2f7725c8eec869b8b", @@ -3287,7 +3475,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xbc", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -3302,7 +3491,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xbd", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -3317,7 +3507,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xbe", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22a", @@ -3333,7 +3524,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xbf", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -3347,7 +3539,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xc0", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22a", @@ -3360,7 +3553,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xc1", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22a", @@ -3375,7 +3569,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xc2", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x3c11f6265ddec22f4d049dde480615735f451646", @@ -3388,7 +3583,8 @@ "transactionIndex": "0x1f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xc3", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x002000000000010000000000800000000000000004000000008c0000000000000040000000000000000020000100080002004000080000200010004000200000000000000000080000000008000000a00000000020600000000004000000020008000000040000000000000000080000000004000000040002000010000000000000000000000080000000400000000000004000000000080000004000020080020000000100081000400000008004000000040000000000002000200000002010020002800000000000001000380000000000109000001000000002000000001110200000000020000400000040000000002000000800000000000000000000", @@ -3432,7 +3628,8 @@ "transactionIndex": "0x21", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xc4", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -3464,7 +3661,8 @@ "transactionIndex": "0x22", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xc5", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000200000400000000000000000000000000000000000000000000008000004000000000000000000000000000200000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000400000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -3496,7 +3694,8 @@ "transactionIndex": "0x23", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xc6", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000008000008000008000000000000000020000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000040000000000000000000000004000000000000002000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -3528,7 +3727,8 @@ "transactionIndex": "0x24", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xc7", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000010000000000000000000800000000000000000000000000000000000000000000000000000000000020000000000000800000000000000000000000000000000000000000000000002000000000000000000000000000000000000400000208000000000000000000000000000000000800000000000000000000000000000000000000010", @@ -3560,7 +3760,8 @@ "transactionIndex": "0x25", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xc8", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000000000000000100000000000000000000000000000000002000000000000000000800000010000000000000000400000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000008000000000000000000000000000002000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -3592,7 +3793,8 @@ "transactionIndex": "0x26", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xc9", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xcced7736d6781f2a3aa9c7a2a24fea935c9fa9f8", @@ -3607,7 +3809,8 @@ "transactionIndex": "0x26", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xca", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -3622,7 +3825,8 @@ "transactionIndex": "0x26", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xcb", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x16da6c5883387edeb9e701efecd9ef9f8b902605", @@ -3635,7 +3839,8 @@ "transactionIndex": "0x26", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xcc", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x16da6c5883387edeb9e701efecd9ef9f8b902605", @@ -3650,7 +3855,8 @@ "transactionIndex": "0x26", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xcd", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -3664,7 +3870,8 @@ "transactionIndex": "0x26", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xce", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00200000000000000000000080000000000000000000000000010000000000000000000000000000000000000000000002000000080000000000000000204000200000000000000000000008000000200000000000400000000080000000000008000000000000000000000000000000000000000000040000000110000000000000040000000000004000000000000000000100000000080000004000000000020008000000000800000000000000000800000000000000000000000000000000000002000000000000000000000000000000000000001000040002000020000010200000000000000000000000000000000000000000080000000000000000", @@ -3694,7 +3901,8 @@ "transactionIndex": "0x27", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xcf", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000", @@ -3774,7 +3982,8 @@ "transactionIndex": "0x2b", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xd0", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000001000040000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000008000000000000000000800000000000100000000000000000000000000080000000000000000000000000000000000000000000000002010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -3854,7 +4063,8 @@ "transactionIndex": "0x2f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xd1", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -3869,7 +4079,8 @@ "transactionIndex": "0x2f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xd2", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xe0554a476a092703abdb3ef35c80e0d76d32939f", @@ -3884,7 +4095,8 @@ "transactionIndex": "0x2f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xd3", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000002000000000000000010000000400000000000000000000000000000000000000000000000000000002000000080020000000040000000000000000000000000808000008000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000010000800000000000000000000000000000000000000000000010000000020000000000000000000000000200000000000000000000000000400000000000000000000000000000002000000000000000000000000000000000400000000000000000000000000200000000000000000000000000001000000000000000000000000000000", @@ -3916,7 +4128,8 @@ "transactionIndex": "0x30", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xd4", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -3931,7 +4144,8 @@ "transactionIndex": "0x30", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xd5", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -3946,7 +4160,8 @@ "transactionIndex": "0x30", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xd6", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xd51a44d3fae010294c616388b506acda1bfaae46", @@ -3960,7 +4175,8 @@ "transactionIndex": "0x30", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xd7", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -3975,7 +4191,8 @@ "transactionIndex": "0x30", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xd8", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000800000000000000000000000000000000020000000000000000000000000000000000000000000010002000000080000000040040000000000000000000000000000000008000000000000000000040000000000000000000000000000000000000000000000000000000000000040000000000010000000000000000000000000000000000000000000000000000000000000000002100000000080000000000000000080000000000080000000000000000000000000000000000002000000000040000000000000000000000400001000000000000000000000200001000000000000000020000000000000000000000000000000000000", @@ -4007,7 +4224,8 @@ "transactionIndex": "0x31", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xd9", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -4021,7 +4239,8 @@ "transactionIndex": "0x31", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xda", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -4036,7 +4255,8 @@ "transactionIndex": "0x31", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xdb", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x7f86bf177dd4f3494b841a37e810a34dd56c829b", @@ -4050,7 +4270,8 @@ "transactionIndex": "0x31", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xdc", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000002000100080000000000040000000000000000000000000008000008000000000000002000440000001000000000000000000000000000000000000000000000000000000000040000000010000000000000000000000000000040000000000000010004010000000000000000000000000000000000201000000000000000000000000000000000000000000000000000000002000000000000020000000000000000000400000000000002000000000000200000000000000000000000000000000000000000000000000000000000", @@ -4082,7 +4303,8 @@ "transactionIndex": "0x32", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xdd", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -4097,7 +4319,8 @@ "transactionIndex": "0x32", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xde", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -4111,7 +4334,8 @@ "transactionIndex": "0x32", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xdf", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -4126,7 +4350,8 @@ "transactionIndex": "0x32", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xe0", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x000000000000020000000000000000000000000000000000000000080000000000000000200000000010000000000000020000000c0000000000040000000000000000000000000008000008000000000000000000440020000000000000000000000000000000000000000000000000000000000000040000000010000000000000000800000000000002000000000000000000010000000000000000000000080008000000200000000000100000000000000000000000000000000000000000000802000000000000000000000000000000400400000000000002000000000000200000000000004000000000000000000000000000000000000000004000", @@ -4158,7 +4383,8 @@ "transactionIndex": "0x33", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xe1", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -4173,7 +4399,8 @@ "transactionIndex": "0x33", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xe2", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x11b815efb8f581194ae79006d24e0d814b7697f6", @@ -4188,7 +4415,8 @@ "transactionIndex": "0x33", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xe3", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010002000000080020000000040000000000000000000000000800000008000000000000000000040000000010000000000000000000000000000000000000000000000000000000000000000090000800000000000000000000000000000000000000000000000000000400000000100000000000000000000000000080000000000000000000000000000004000000000000000002000000000000000000000000000000000400000000000000000000000000200000000000000000000000000000000000000000000008001000000000", @@ -4220,7 +4448,8 @@ "transactionIndex": "0x34", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xe4", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -4235,7 +4464,8 @@ "transactionIndex": "0x34", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xe5", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -4249,7 +4479,8 @@ "transactionIndex": "0x34", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xe6", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -4264,7 +4495,8 @@ "transactionIndex": "0x34", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xe7", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x000000000000020000000000000000000000000000000000000000000000000000000000200000000010000000000100020000000c0000000000040000000000000000000000000000000008000000000020000000440020000000000000000000000000000000000000000000000000000000000000040000000010000000000000000800000000000002000000000000000000000000000000080000100000000008000000000000000080100000000000000000000000000000000000000000000802100000000000000000000000000000400400000000000002000000000000200000000000004000000000000000000000000000000000000000000000", @@ -4296,7 +4528,8 @@ "transactionIndex": "0x35", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xe8", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -4311,7 +4544,8 @@ "transactionIndex": "0x35", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xe9", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -4325,7 +4559,8 @@ "transactionIndex": "0x35", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xea", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x000000000000000000000000000000000000000000000000000000000000000000000000200000000010000000000000020000000c0000000000000000000000000000000000000008000008000000000000000000520020000000000000000000000000000000000000000000000000000000000000040000000010000000000000000800000000400000000000000000000000010000000000000000000000000000000000200000000000100000000000000000000000000000000000000000000802400000000000001000000000000000400000000000000002000000000000200000000000004000000100000000000000000000000000000000000000", @@ -4357,7 +4592,8 @@ "transactionIndex": "0x36", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xeb", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x2dff88a56767223a5529ea5960da7a3f5f766406", @@ -4372,7 +4608,8 @@ "transactionIndex": "0x36", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xec", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x7df7c84f2f9dcef3c0813e539878b76b89a916f8", @@ -4387,7 +4624,8 @@ "transactionIndex": "0x36", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xed", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000002000002000000000000000000008800400000000000040000000040000008000008000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000040200000000002000000000000000000000000000000000000000000000002000000020000000000000000000000000000000000000000000000000008000000000000000000000100000000100000000000000000000000000000", @@ -4419,7 +4657,8 @@ "transactionIndex": "0x37", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xee", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -4434,7 +4673,8 @@ "transactionIndex": "0x37", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xef", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599", @@ -4449,7 +4689,8 @@ "transactionIndex": "0x37", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xf0", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000200000000000000000000020000000001000000000010000000000040000000000000000000000000000000000000000000008000001000000000000120020000000000000000000000000000000000000000000000000020000000000000000000010000000000000000800000010000000000000000000000000000000000000000000100000010000000000000000000080100000000000000000000000000000000000000000000802000000000000000000000000000000400000000000000000000000000000000000000000004000000100000000200000000000000000000000000000", @@ -4481,7 +4722,8 @@ "transactionIndex": "0x38", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xf1", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -4496,7 +4738,8 @@ "transactionIndex": "0x38", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xf2", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6ca298d2983ab03aa1da7679389d955a4efee15c", @@ -4511,7 +4754,8 @@ "transactionIndex": "0x38", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xf3", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000040000000000000002000000000000000000000400000000000000000000000000000000000000000000002010002000008080000000000040000000000040000000040000000000008000000000000000000040000000000000000000000000000000000000000000000000000000004000000000200000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000002800000000000000000000000000000000002000000000000000000000000000000000400000000000004000000000000200000000000000000000000000000000000000000000000000000000000", @@ -4542,7 +4786,8 @@ "transactionIndex": "0x39", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xf4", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x52aa899454998be5b000ad077a46bbe360f4e497", @@ -4557,7 +4802,8 @@ "transactionIndex": "0x39", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xf5", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -4572,7 +4818,8 @@ "transactionIndex": "0x39", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xf6", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x52aa899454998be5b000ad077a46bbe360f4e497", @@ -4587,7 +4834,8 @@ "transactionIndex": "0x39", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xf7", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x836951eb21f3df98273517b7249dceff270d34bf", @@ -4600,7 +4848,8 @@ "transactionIndex": "0x39", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xf8", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000008000000000000000000000000000000000000800000000000000004000000000000000002400000000002000000080000000010000000000000000000000000000008000008000000000000000000500000000000000000000000040000000002000002020000000008000000000400040000000010000000000000000000000000000000000000000200000000010010000000000000040000000000000000200000000000000000000000000000000000000800200000000000000002000000000000000000100800000000004000000008000002000002000000240000000000000000000000000004400000000000000000000200000000", @@ -4631,7 +4880,8 @@ "transactionIndex": "0x3a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xf9", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -4646,7 +4896,8 @@ "transactionIndex": "0x3a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xfa", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -4661,7 +4912,8 @@ "transactionIndex": "0x3a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xfb", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9", @@ -4676,7 +4928,8 @@ "transactionIndex": "0x3a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xfc", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbbbbbbb520d69a9775e85b458c58c648259fad5f", @@ -4690,7 +4943,8 @@ "transactionIndex": "0x3a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xfd", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -4704,7 +4958,8 @@ "transactionIndex": "0x3a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xfe", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9", @@ -4719,7 +4974,8 @@ "transactionIndex": "0x3a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0xff", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -4733,7 +4989,8 @@ "transactionIndex": "0x3a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x100", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x000010040000000000000000000010000040000800000000000000000000000000000000000000000000000000000100000000000000000020000440000000020000000000000000202000080000000000000001000400000000000000000002000000000a0000000000800000000880000000000000000010004010000010000000080000000000000201000000002000000000400000000000000000100000000000600000000000000080000000000000000000000000010000000000000000000002000800000008000000000000000020000400000800000000000020000000000000000000000002000000000000004000000000000000000000000000", @@ -4765,7 +5022,8 @@ "transactionIndex": "0x3b", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x101", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000100000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000008000000200000000000000000000000000000000000000000000000000000000002000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000100000000000000000000000000000", @@ -4797,7 +5055,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x102", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -4812,7 +5071,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x103", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x13a5a916356242879b9509fd12bf8e4760a3f438", @@ -4827,7 +5087,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x104", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -4842,7 +5103,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x105", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x79fd640000f8563a866322483524a4b48f1ed702", @@ -4855,7 +5117,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x106", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x79fd640000f8563a866322483524a4b48f1ed702", @@ -4868,7 +5131,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x107", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x79fd640000f8563a866322483524a4b48f1ed702", @@ -4881,7 +5145,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x108", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -4896,7 +5161,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x109", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x79fd640000f8563a866322483524a4b48f1ed702", @@ -4911,7 +5177,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x10a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x79fd640000f8563a866322483524a4b48f1ed702", @@ -4926,7 +5193,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x10b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x870ac11d48b15db9a138cf899d20f13f79ba00bc", @@ -4940,7 +5208,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x10c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb", @@ -4954,7 +5223,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x10d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb", @@ -4970,7 +5240,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x10e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -4985,7 +5256,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x10f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x79fd640000f8563a866322483524a4b48f1ed702", @@ -4998,7 +5270,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x110", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x034771103dc1e9b1f2ebda95896fc44b6d63edc7", @@ -5012,7 +5285,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x111", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x13a5a916356242879b9509fd12bf8e4760a3f438", @@ -5027,7 +5301,8 @@ "transactionIndex": "0x3c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x112", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000040000000000000000080000000000000000001000000000040000000400000000000000000000000010000000000000000000000000020a4400000000040001000000000000880000000004000080028000000000108000000000000000002000002000000000000080000000000000400000000001800000000000800000000000800200000000000000000000000000000003004000010040002000000002000000000008000000000004010000400040000000000000000002800000200000000000100000000000008000000810900000000000000002040c010000001000000000000240201000400000002000008000000000400080000", @@ -5091,7 +5366,8 @@ "transactionIndex": "0x3f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x113", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000800000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000010000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000208000000000000000000000000000000000800000000000000000000000800000000000000000", @@ -5155,7 +5431,8 @@ "transactionIndex": "0x42", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x114", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x01000000000000000000000000001000100000000000000000000000000000200000000000000000000000000000000400000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000002000000000020000000000000000000000000000000000", @@ -5187,7 +5464,8 @@ "transactionIndex": "0x43", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x115", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000002000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000080000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000000000000000000000000000000000000010000080000000000000000000000000000200000000000000000000000000000000000000000000000000000000002000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -5219,7 +5497,8 @@ "transactionIndex": "0x44", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x116", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000010000000000000000000000000000000000000000000000000010000000000000000008080000000000000200000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000400", @@ -5251,7 +5530,8 @@ "transactionIndex": "0x45", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x117", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x5c7bcd6e7de5423a257d81b442095a1a6ced35c5", @@ -5267,7 +5547,8 @@ "transactionIndex": "0x45", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x118", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000001000000000000000001000000000000000000000000000008000108000000000000000000000000000000000000000000010000000000000000000000000000000120000000000000000010000000000000000800000008000800100000001000000000210008000000000020000000001000000000200000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004000000000000000000000000000000", @@ -5299,7 +5580,8 @@ "transactionIndex": "0x46", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x119", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000080000000000000008000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000800200000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000001000000000000000000000000000000000000080001000000000000000000000000000000000000000000000000000000", @@ -5331,7 +5613,8 @@ "transactionIndex": "0x47", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x11a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -5346,7 +5629,8 @@ "transactionIndex": "0x47", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x11b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x4585fe77225b41b697c938b018e2ac67ac5a20c0", @@ -5361,7 +5645,8 @@ "transactionIndex": "0x47", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x11c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000001000001000000000000000000000000000000000000000000000000000000000002000000080020000000000000000000000080000000000800000208000000000000000000000000000000000000000000080000000002000000000000002000020000000000000000000010000800000020000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000800000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000200000000000000000000000000000", @@ -5393,7 +5678,8 @@ "transactionIndex": "0x48", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x11d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -5408,7 +5694,8 @@ "transactionIndex": "0x48", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x11e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x60594a405d53811d3bc4766596efd80fd545a270", @@ -5423,7 +5710,8 @@ "transactionIndex": "0x48", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x11f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000020000001000000000000000000000040000000000000000000000000000000000000000002000000080020000000000000000000000080000000000800000008000000000000000000000000000000000000000010000000000000000000080000002000000000000000002000000010000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000002000000020000000000000000000002000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000", @@ -5455,7 +5743,8 @@ "transactionIndex": "0x49", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x120", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -5470,7 +5759,8 @@ "transactionIndex": "0x49", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x121", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x1ac1a8feaaea1900c4166deeed0c11cc10669d36", @@ -5485,7 +5775,8 @@ "transactionIndex": "0x49", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x122", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002000002000000080000000000000000000000040000000040000008000008000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000010000000000000000000000000000000000000000000000000010000100000000000000000000000000000200000000000000000800000000000000000008000000000000000001002000000000000000000000800000000000000000000000000000000000000240000000000000000000000000000000000000000000000000040000000", @@ -5517,7 +5808,8 @@ "transactionIndex": "0x4a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x123", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00040000008000000000000000000000000000000000000000000010000000000000000040000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000010000000000000000800000000000000000200000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -5565,7 +5857,8 @@ "transactionIndex": "0x4c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x124", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x00a0be1bbc0c99898df7e6524bf16e893c1e3bb9", @@ -5580,7 +5873,8 @@ "transactionIndex": "0x4c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x125", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x8d6fd650500f82c7d978a440348e5a9b886943bf", @@ -5596,7 +5890,8 @@ "transactionIndex": "0x4c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x126", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x8d6fd650500f82c7d978a440348e5a9b886943bf", @@ -5610,7 +5905,8 @@ "transactionIndex": "0x4c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x127", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x2401c39d7ba9e283668a53fcc7b8f5fd9e716fdf", @@ -5624,7 +5920,8 @@ "transactionIndex": "0x4c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x128", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x0000000000000000000000000000000000000000000000400000000000000000000010000000800000000080000000080000000000000008000001000000000221000200000000000000200800000000000000000000000000000000000000000000000002000000000001008000080000000000000000000000001000000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000020100000000200000000000000200a000000000000000000006000000000000000100000000000000000000000000000000000020002001000000000000000000000000000000040000000000000000000000000000", @@ -5656,7 +5953,8 @@ "transactionIndex": "0x4d", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x129", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x10ee9f68ee4e4d311e854ae14c53f5b25a917f85", @@ -5671,7 +5969,8 @@ "transactionIndex": "0x4d", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x12a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -5686,7 +5985,8 @@ "transactionIndex": "0x4d", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x12b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x332a24318d56f9cca677a242aff668314492bf80", @@ -5699,7 +5999,8 @@ "transactionIndex": "0x4d", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x12c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x332a24318d56f9cca677a242aff668314492bf80", @@ -5714,7 +6015,8 @@ "transactionIndex": "0x4d", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x12d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -5728,7 +6030,8 @@ "transactionIndex": "0x4d", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x12e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00200000004000000000000080000000000000000000200000010000000020010000000000000000000000000000000002004000080000100000000000200000000000000000000000000008000000200000000000400000000000000000000000000000000000000000000000000000000000000000040000000010100000000000000008000000004400000000000000000000000000080000004021000000020000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000001000000002000020000010200000000000000000000000000000000000000000000000000000000004", @@ -5856,7 +6159,8 @@ "transactionIndex": "0x54", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x12f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000010000000008000000000000000000000000000001000000000000000008000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000010000000000000000000000000000000000020000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -5888,7 +6192,8 @@ "transactionIndex": "0x55", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x130", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000010000000000000000000000000000000000000000000100000000010000000008000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000100000000000000000080000000000000000000000000000000000000020000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -5920,7 +6225,8 @@ "transactionIndex": "0x56", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x131", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000010040000000000000000000000000000000000000000000000000010000000008000000000000000000000000000000000000000000000008010000000000000000000000000000000000000000000000000000000000000000008800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -5952,7 +6258,8 @@ "transactionIndex": "0x57", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x132", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000010000000000000000000000000000000000008000000000000000000000002000000100000000000000000020000000080000000000000000000000000000000000000000000000002000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -6000,7 +6307,8 @@ "transactionIndex": "0x59", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x133", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbc2ecbe2195114b82f03680ed4270fa7008f3be0", @@ -6015,7 +6323,8 @@ "transactionIndex": "0x59", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x134", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -6030,7 +6339,8 @@ "transactionIndex": "0x59", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x135", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x71c7cbbf81ed4b571ace4ed3d1480453faf82ee1", @@ -6043,7 +6353,8 @@ "transactionIndex": "0x59", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x136", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x71c7cbbf81ed4b571ace4ed3d1480453faf82ee1", @@ -6058,7 +6369,8 @@ "transactionIndex": "0x59", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x137", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -6073,7 +6385,8 @@ "transactionIndex": "0x59", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x138", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -6087,7 +6400,8 @@ "transactionIndex": "0x59", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x139", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00200000000000000000000080000000000000000000000000100000000080000000000000080000000000040000000002000000880000000000000000200000000000000000000000004808004000200000000000400800000000000000000000000000000000200000008000000000000000000000040200000010040000000000000000000000000000020020000000000000000000080000004000004000020000000000000000020000000000000000000000000000000000000000000000000002000000000000000000000000000400000000001000000002000000000010200000000000000000004000000020000000000000800000000000000000", @@ -6151,7 +6465,8 @@ "transactionIndex": "0x5c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x13a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000002000000000000000000000040000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000008000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000400", @@ -6183,7 +6498,8 @@ "transactionIndex": "0x5d", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x13b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100002000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000800000100000000000000000000000000080000000000000000000000000000080000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000", @@ -6214,7 +6530,8 @@ "transactionIndex": "0x5e", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x13c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -6229,7 +6546,8 @@ "transactionIndex": "0x5e", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x13d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -6244,7 +6562,8 @@ "transactionIndex": "0x5e", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x13e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -6259,7 +6578,8 @@ "transactionIndex": "0x5e", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x13f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640", @@ -6274,7 +6594,8 @@ "transactionIndex": "0x5e", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x140", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x2d5d7d31f671f86c782533cc367f14109a082712", @@ -6289,7 +6610,8 @@ "transactionIndex": "0x5e", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x141", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", @@ -6304,7 +6626,8 @@ "transactionIndex": "0x5e", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x142", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x4f4495243837681061c4743b74b3eedf548d56a5", @@ -6319,7 +6642,8 @@ "transactionIndex": "0x5e", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x143", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x20000000010000000001000800002000000000000000000000000000040000008000000000000000000008000000000002000001080020000000000000200000000000000000008808000008000000000000000000000000000000208000000000000000000000000080000100000000800000000000000000000010000800000000000000000000000820000000000000000001018000000000000000010000020000000000200000000000002000000000000000000000002001100008000000000002000000000200000200000000000000000000000004000100000000000010200000000000000010000200480000100000000000400000000000000000", @@ -6366,7 +6690,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x144", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -6380,7 +6705,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x145", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -6395,7 +6721,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x146", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6982508145454ce325ddbe47a25d4ec3d2311933", @@ -6410,7 +6737,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x147", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6982508145454ce325ddbe47a25d4ec3d2311933", @@ -6425,7 +6753,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x148", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6982508145454ce325ddbe47a25d4ec3d2311933", @@ -6440,7 +6769,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x149", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -6454,7 +6784,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x14a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xe28b3b32b6c345a34ff64674606124dd5aceca30", @@ -6469,7 +6800,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x14b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -6484,7 +6816,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x14c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa43fe16908251ee70ef74718545e4fe6c5ccec9f", @@ -6497,7 +6830,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x14d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xa43fe16908251ee70ef74718545e4fe6c5ccec9f", @@ -6512,7 +6846,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x14e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6c063a6e8cd45869b5eb75291e65a3de298f3aa8", @@ -6527,7 +6862,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x14f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -6541,7 +6877,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x150", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6b175474e89094c44da98b954eedeac495271d0f", @@ -6556,7 +6893,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x151", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xe28b3b32b6c345a34ff64674606124dd5aceca30", @@ -6571,7 +6909,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x152", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9008d19f58aabd9ed0d60971565aa8510560ab41", @@ -6585,7 +6924,8 @@ "transactionIndex": "0x60", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x153", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00201000000000000000000080001800004000400000000000000000000000000000002000400000000000000000010102000040080020000000000000200000010400080000000800000008000001200000000104000000000000000000000010000000000000000000c000020000800000004020000000100040100008000000000000000080000080000400000400000000004000000800000042001000000200046000000000000000800080000200000000000000000100000000000000010000120008000c0000000000000000000022000000001000000000000000001010200001000000020002000400000000004000000000000000000000900000", @@ -6617,7 +6957,8 @@ "transactionIndex": "0x61", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x154", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000010000080000000000000000000000000200000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000002000000000000008000000000000000000000000000000000000000", @@ -6649,7 +6990,8 @@ "transactionIndex": "0x62", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x155", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbb2ea70c9e858123480642cf96acbcce1372dce1", @@ -6662,7 +7004,8 @@ "transactionIndex": "0x62", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x156", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbb2ea70c9e858123480642cf96acbcce1372dce1", @@ -6675,7 +7018,8 @@ "transactionIndex": "0x62", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x157", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x1a44076050125825900e736c501f859c50fe728c", @@ -6688,7 +7032,8 @@ "transactionIndex": "0x62", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x158", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x1958853a8be062dc4f401750eb233f5850f0d0d2", @@ -6703,7 +7048,8 @@ "transactionIndex": "0x62", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x159", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000200000000000000000000000000000000000001000000400000000000000000000000000000000000000000000000000500000010000000042000000000000000008000000000000200000000000000000000000000000000000020000008000000000000800000000000010000000000010000000000000000000000000001000080000000000000000000000000000004000000000000000008000000000100000000000000000000000400000000440000000000800000002000000000000000080000000000000000400000000000000000020000000040000000000000000000100002000000000018000000000000000000000", @@ -6751,7 +7097,8 @@ "transactionIndex": "0x64", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x15a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x04000000000000000002000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000408000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000008", @@ -6799,7 +7146,8 @@ "transactionIndex": "0x66", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x15b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000004000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000000000000108000000000000000000000000080000000080000000000000000000000000000000000000002000000020000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000", @@ -6831,7 +7179,8 @@ "transactionIndex": "0x67", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x15c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000020200000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000400000000000000002008000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001000000000000000000", @@ -6862,7 +7211,8 @@ "transactionIndex": "0x68", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x15d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -6877,7 +7227,8 @@ "transactionIndex": "0x68", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x15e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xe0265346277ad201609308b506e901b520150a08", @@ -6892,7 +7243,8 @@ "transactionIndex": "0x68", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x15f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6f9f435fa79e30e34f7679211904fcabc87ad924", @@ -6905,7 +7257,8 @@ "transactionIndex": "0x68", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x160", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x6f9f435fa79e30e34f7679211904fcabc87ad924", @@ -6920,7 +7273,8 @@ "transactionIndex": "0x68", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x161", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00200000000000000000000080000000000000000000000000011000000000000000000000000000000000000000000002000000080000000000000000000000000000000000000000000008000000a00000000000000000000000008001000010000000000000000000000008000000000000000000000000000010000000000000000000000000004000000000000000000001000000080000004000000000000000000000000004000000000000000000000000000000000000000000000000000002000000000004004000080000000000000000001000000000100020200000200000000000000000000000000000000000000000400000000001000000", @@ -6966,7 +7320,8 @@ "transactionIndex": "0x6a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x162", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -6981,7 +7336,8 @@ "transactionIndex": "0x6a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x163", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x2e1dee213ba8d7af0934c49a23187babeaca8764", @@ -6994,7 +7350,8 @@ "transactionIndex": "0x6a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x164", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -7009,7 +7366,8 @@ "transactionIndex": "0x6a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x165", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -7024,7 +7382,8 @@ "transactionIndex": "0x6a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x166", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b", @@ -7039,7 +7398,8 @@ "transactionIndex": "0x6a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x167", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -7054,7 +7414,8 @@ "transactionIndex": "0x6a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x168", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -7068,7 +7429,8 @@ "transactionIndex": "0x6a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x169", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x2e1dee213ba8d7af0934c49a23187babeaca8764", @@ -7081,7 +7443,8 @@ "transactionIndex": "0x6a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x16a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x000000000000000000010000000000001000000000000000000000000000000000000100000000000200000000000100020080800800200000800040000800008000000000000008200000088000000000000010004000000800040000000000000020000020000000000000000000000000000000000400000000100008000000002000000000000000000000002000000000000000000000000000001000000000000000000000000000800000001800000000000040000000000000000000000000022000080000000000000008000000000200000000000000020000000a0000200000000000000000000000000000000000000000000000000010000000", @@ -7113,7 +7476,8 @@ "transactionIndex": "0x6b", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x16b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x129e5915326ed86f831b0e035acda34b209633d5", @@ -7128,7 +7492,8 @@ "transactionIndex": "0x6b", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x16c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -7143,7 +7508,8 @@ "transactionIndex": "0x6b", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x16d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9c76dd6b5b200690fc9fb061a99b0a48e9a94325", @@ -7156,7 +7522,8 @@ "transactionIndex": "0x6b", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x16e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x9c76dd6b5b200690fc9fb061a99b0a48e9a94325", @@ -7171,7 +7538,8 @@ "transactionIndex": "0x6b", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x16f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -7186,7 +7554,8 @@ "transactionIndex": "0x6b", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x170", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -7201,7 +7570,8 @@ "transactionIndex": "0x6b", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x171", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b", @@ -7216,7 +7586,8 @@ "transactionIndex": "0x6b", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x172", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -7231,7 +7602,8 @@ "transactionIndex": "0x6b", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x173", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -7246,7 +7618,8 @@ "transactionIndex": "0x6b", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x174", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x8020000000000000000000008000000000000000000000000000000000000000000000000000000000000000000001000300000008006000008000000000002000000000000000080000000800000020000000100000000000004000000000000001000000200000000000002000000000000000000000000008001000080000000000000000000000000101000000000000000000000008000000400090400000001000000000000000008002000002080000000002000000000000000000000000000200000800000000000000080c080000000000001000000800000000020000200000000000000000000000000000000000000000000000000000000000", @@ -7276,7 +7649,8 @@ "transactionIndex": "0x6c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x175", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbe5f6232d8ed5a4057f33a28915bc1a8ab01335b", @@ -7289,7 +7663,8 @@ "transactionIndex": "0x6c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x176", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xbe5f6232d8ed5a4057f33a28915bc1a8ab01335b", @@ -7305,7 +7680,8 @@ "transactionIndex": "0x6c", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x177", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000080000000000000010000000000000000000004000000000000000000000000000000000000040000000000080000000020000000000000000000800000000000800000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000008000000000000000000000000000000040000000000000000004000000000000000000000000000400000000001000000000000020000000000000000000000000000000000000100000000000002000000002004000", @@ -7351,7 +7727,8 @@ "transactionIndex": "0x6e", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x178", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000", @@ -7383,7 +7760,8 @@ "transactionIndex": "0x6f", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x179", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800010000000000000000000000000000100000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010800000000000000000000000000000000000000000000000000000000000000000100000400000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -7493,7 +7871,8 @@ "transactionIndex": "0x75", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x17a", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -7508,7 +7887,8 @@ "transactionIndex": "0x75", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x17b", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -7523,7 +7903,8 @@ "transactionIndex": "0x75", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x17c", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", @@ -7538,7 +7919,8 @@ "transactionIndex": "0x75", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x17d", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x7d3201fa7a85c0a5f9fa1c0c6b9d0b784368d2ac", @@ -7551,7 +7933,8 @@ "transactionIndex": "0x75", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x17e", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0x0000000071727de22e5e9d8baf0edac6f37da032", @@ -7567,7 +7950,8 @@ "transactionIndex": "0x75", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x17f", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000010000000000000000000000000008000000000004000000010000018000200000000000000000020000200000000000000000000000000008000000020040000000000000000000000000000000000000000800000000010000000000000000000000000000000010000000000040000000010000000000000000000000000000000000000000800000100000020000020020001000400480000000000200000000000000000002000000000000010002000000400011000000000000000000000000004000000000000400000010000000000000000000000000000000000000000800000000000000001080", @@ -7599,7 +7983,8 @@ "transactionIndex": "0x76", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x180", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000008000008000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010800000080000000000000000000000000200000000000000000000000000000000000000000000000000000000002000000001000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000", @@ -7631,7 +8016,8 @@ "transactionIndex": "0x77", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x181", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000800000000000000008000000000000000000000000000000000000000000000000000000400000040000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000002000010000000000000000002000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -7678,7 +8064,8 @@ "transactionIndex": "0x79", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x182", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -7693,7 +8080,8 @@ "transactionIndex": "0x79", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x183", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xfa417cd491632620a582851b07abf7e3447bba71", @@ -7708,7 +8096,8 @@ "transactionIndex": "0x79", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x184", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xb6cec3a5828923385bcdedf12044f1c98bd729ac", @@ -7721,7 +8110,8 @@ "transactionIndex": "0x79", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x185", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" }, { "address": "0xb6cec3a5828923385bcdedf12044f1c98bd729ac", @@ -7736,7 +8126,8 @@ "transactionIndex": "0x79", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x186", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00200000000000000000000080000000000002000000000000010000000000000000000000000000000010000000000442000000080000000000000000000000000000000000000000000008000000200000000000000000000000008000000000000000000000000000000000000000000828000000000800000010000000000000000000000000004000000000000000000001000000080000004000200010000000000000000000000000000000000000000040000000000000000000000000000002000000000000000000000000000000000000001000000000000020000000200000000000002000000000000000000000000000400000000000000000", @@ -7766,7 +8157,8 @@ "transactionIndex": "0x7a", "blockHash": "0xfb8c980d1da1a75e68c2ea4d55cb88d62dedbbb5eaf69df8fe337e9f6922b73a", "logIndex": "0x187", - "removed": false + "removed": false, + "blockTimestamp": "0x68a5ce5b" } ], "logsBloom": "0x00000000000000000000000000000000000100004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000", diff --git a/substrate/frame/revive/test-assets/receipts_0x874db3_ethereum-sepolia.json b/substrate/frame/revive/test-assets/receipts_0x874db3_ethereum-sepolia.json new file mode 100644 index 0000000000000..0e08751d43f73 --- /dev/null +++ b/substrate/frame/revive/test-assets/receipts_0x874db3_ethereum-sepolia.json @@ -0,0 +1,11758 @@ +[ + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x88f2", + "effectiveGasPrice": "0x2540be400", + "from": "0x6d99fc22a948fdf32ffb368eec3a3f272ee07d65", + "gasUsed": "0x88f2", + "logs": [ + { + "address": "0x7bed9b6c4b032c0c6725e022eb61634e52412f72", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006d99fc22a948fdf32ffb368eec3a3f272ee07d65", + "0x0000000000000000000000001de0246641473926bbe483113f926234649d838f" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000012038b0", + "blockNumber": "0x874db3", + "transactionHash": "0x7b637d72b72a9c665eb771d1eea4c4d90c18c62b70e0605259b5054ea4c8a75f", + "transactionIndex": "0x0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x0", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000004000000000000000000000000000000000000000000002000000000000008080000000000000000000000000000000000000000000000000000008000000000000000000000000000000010080000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000080002000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x7bed9b6c4b032c0c6725e022eb61634e52412f72", + "transactionHash": "0x7b637d72b72a9c665eb771d1eea4c4d90c18c62b70e0605259b5054ea4c8a75f", + "transactionIndex": "0x0", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0xdafa", + "effectiveGasPrice": "0x12a4b167a", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xe2c3dd1357b520dae8aab99fc481b01c661b5bb8", + "transactionHash": "0xc7e98bf1db3cc8c514620846b34f05aa55e8254e191cb91af520facc1277f940", + "transactionIndex": "0x1", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x12d02", + "effectiveGasPrice": "0x12a4b167a", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x052af60e443dee149751f9a72308c4a769d3db59", + "transactionHash": "0x74750104232717c5da27077a3079395380c9a969e9075cb0b0c2832a153aa5a1", + "transactionIndex": "0x2", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x17f0a", + "effectiveGasPrice": "0x12a4b167a", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x508fda709acb2d55bc7afc4340364ac04f16bde7", + "transactionHash": "0x94d20fafbfd7c7751c5fb4f6d083f69da33e5dc9a97a5227d7c047248fa26ad3", + "transactionIndex": "0x3", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1d112", + "effectiveGasPrice": "0x12a4b167a", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x0aca5a609a1843a311f3857f1b2a592ee9211959", + "transactionHash": "0xeb758e4d9ed6c50d27a8c70f2f1d1bc7a267d5541dc2d365124496a2f6ad300f", + "transactionIndex": "0x4", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2231a", + "effectiveGasPrice": "0x12a4b167a", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x266aed902e057a32aee0bf9eedc07cbdb7192c74", + "transactionHash": "0x331359f4276fad0976f8318c3c40715f3a6ef8e1ac3248c4769db6d080f62cae", + "transactionIndex": "0x5", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x27522", + "effectiveGasPrice": "0x12a4b167a", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x0a5a2d832488c22a127012defde891c85823f3d3", + "transactionHash": "0x75eea8a6d1b2d8b3ffcf67e9135ce1933177393b80dd8769cd1e4216d805ecde", + "transactionIndex": "0x6", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2c72a", + "effectiveGasPrice": "0x12a4b167a", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa9850e8b87d2ba74e18e92ebedbe63a49da73d77", + "transactionHash": "0x85e302a79d546d49df36f8b5aee30f24eedd385047db5885f8fb71dbb0cf2a20", + "transactionIndex": "0x7", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x31932", + "effectiveGasPrice": "0x12a4b167a", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x9d16e8b547f49ddd9d69c15b0ee471c6d96161a3", + "transactionHash": "0xd9b4797f9f863e94aa3f1f97976a09cb580ca09248153f9cc7a0b05495dff08b", + "transactionIndex": "0x8", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x36b3a", + "effectiveGasPrice": "0x12a4b167a", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x64020404ce4e27eccef71d8ac5053fb2c8d86db1", + "transactionHash": "0xc411536d7eb444dbdadf4b0fb58a9ded02d428c19233b6ce9cfe1c74f2fa6a38", + "transactionIndex": "0x9", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3bd42", + "effectiveGasPrice": "0x12a4b167a", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xed847c2462dfbffa2424eb6b77f752c7e73a6af8", + "transactionHash": "0xf5c0e59d3c3776547cb7f6e6bee47ca2e18d70d00418b31248eda7eaa9dc26d2", + "transactionIndex": "0xa", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x40f4a", + "effectiveGasPrice": "0x12a4b167a", + "from": "0xa8427088ab90da02e40deff559510bcb0f1cd11b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x39a2c5a5e244345ca66d70bb405178db5980d2e4", + "transactionHash": "0x0f7db47cc9a040b3a6dd93c5e0d0f4c4f0973636274daa8abc96149220ad13a3", + "transactionIndex": "0xb", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x46152", + "effectiveGasPrice": "0x12a4b167a", + "from": "0x69dea948b0e78951f529e3c67d8fbf151dc229d5", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x46ff4a07912bbcc95329acdc521b3e6b8f8e2dc3", + "transactionHash": "0x326088322280827e82847868b95c9a6b5108e011b59bd18c1c776f692ab78261", + "transactionIndex": "0xc", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x4b35a", + "effectiveGasPrice": "0x12a4b167a", + "from": "0xdbf3e11a3ccf7533262cae904dd2120628a5f955", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x6c7eb67f156eda104490480ae3e1a2cb22e85bda", + "transactionHash": "0x693d7578a4408ef02ae02b8a2fd771241519451279511d03c1e2aa1b1dff2a85", + "transactionIndex": "0xd", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x63421", + "effectiveGasPrice": "0x12a05f200", + "from": "0xbeb78457e209d1c36063a2cdf00f67955e3bdfba", + "gasUsed": "0x180c7", + "logs": [ + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000beb78457e209d1c36063a2cdf00f67955e3bdfba", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000051c50da", + "blockNumber": "0x874db3", + "transactionHash": "0xe33f9cc3adde9f4734f6947bfbc63fdf9379029b481d5824cdc4c343291aefb2", + "transactionIndex": "0xe", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1", + "0x000000000000000000000000beb78457e209d1c36063a2cdf00f67955e3bdfba" + ], + "data": "0x0000000000000000000000000000000000000000000000035cb8bf017e5d11ed", + "blockNumber": "0x874db3", + "transactionHash": "0xe33f9cc3adde9f4734f6947bfbc63fdf9379029b481d5824cdc4c343291aefb2", + "transactionIndex": "0xe", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x2", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241b2a27d95d00000000000000000000000000000000000000000169ad076c27855b1ccff26e", + "blockNumber": "0x874db3", + "transactionHash": "0xe33f9cc3adde9f4734f6947bfbc63fdf9379029b481d5824cdc4c343291aefb2", + "transactionIndex": "0xe", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x3", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3", + "0x000000000000000000000000beb78457e209d1c36063a2cdf00f67955e3bdfba" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000051c50da000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035cb8bf017e5d11ed", + "blockNumber": "0x874db3", + "transactionHash": "0xe33f9cc3adde9f4734f6947bfbc63fdf9379029b481d5824cdc4c343291aefb2", + "transactionIndex": "0xe", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x4", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00200000000004000000001080000000000000000000000000000000008000400008000000000000108000000000000000000000000000004000000008000000000000000000000000000008000000200000000000000000000000000000000000000000000100000000000000002000000000000000000000000010000000000000000000000000000000000000000000040000000000090040004000000000000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000000000000000000000001000000000000000000000000000000000000000008000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0xe33f9cc3adde9f4734f6947bfbc63fdf9379029b481d5824cdc4c343291aefb2", + "transactionIndex": "0xe", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x78da8", + "effectiveGasPrice": "0x12a05f200", + "from": "0xc0d465e18bc8a25eb44412e6090cf13c6869ab0c", + "gasUsed": "0x15987", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c0d465e18bc8a25eb44412e6090cf13c6869ab0c", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x00000000000000000000000000000000000000000000005095e98228b07014bf", + "blockNumber": "0x874db3", + "transactionHash": "0xecb09d95ce39f262477d994e25a254cbe494e37ef4837996aefc691b67096ec7", + "transactionIndex": "0xf", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x5", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1", + "0x000000000000000000000000c0d465e18bc8a25eb44412e6090cf13c6869ab0c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000079c1f3ee", + "blockNumber": "0x874db3", + "transactionHash": "0xecb09d95ce39f262477d994e25a254cbe494e37ef4837996aefc691b67096ec7", + "transactionIndex": "0xf", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x6", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241ab065e56f00000000000000000000000000000000000000000169ad5802110783cd40072d", + "blockNumber": "0x874db3", + "transactionHash": "0xecb09d95ce39f262477d994e25a254cbe494e37ef4837996aefc691b67096ec7", + "transactionIndex": "0xf", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x7", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3", + "0x000000000000000000000000c0d465e18bc8a25eb44412e6090cf13c6869ab0c" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005095e98228b07014bf0000000000000000000000000000000000000000000000000000000079c1f3ee0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xecb09d95ce39f262477d994e25a254cbe494e37ef4837996aefc691b67096ec7", + "transactionIndex": "0xf", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x8", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00200000000004000000001080000000000000000000000000000000008000400008000004000000008000000000000000001000000000000000000008000000000000000000000000000008000000200000000000000000000000000000000000000000000100000000000000002000000000000000000000000010000000000000000000000000000000000000000000040000000000090040004000000000000000000000000000000000000000000000000000000000000000800000000000000002080000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0xecb09d95ce39f262477d994e25a254cbe494e37ef4837996aefc691b67096ec7", + "transactionIndex": "0xf", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x8e72f", + "effectiveGasPrice": "0x12a05f200", + "from": "0x732b154112c08a19c0ec19bb2cf52a96f5b3be93", + "gasUsed": "0x15987", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000732b154112c08a19c0ec19bb2cf52a96f5b3be93", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x0000000000000000000000000000000000000000000000027eaa94ad8060a4a9", + "blockNumber": "0x874db3", + "transactionHash": "0x9b3ef6bb8cd057e245c444e248b145a24adbad6289af802a4f70d32c6c270942", + "transactionIndex": "0x10", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x9", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1", + "0x000000000000000000000000732b154112c08a19c0ec19bb2cf52a96f5b3be93" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000003c4f6df", + "blockNumber": "0x874db3", + "transactionHash": "0x9b3ef6bb8cd057e245c444e248b145a24adbad6289af802a4f70d32c6c270942", + "transactionIndex": "0x10", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xa", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241aaca0ee9000000000000000000000000000000000000000000169ad5a80bb9c314da0abd6", + "blockNumber": "0x874db3", + "transactionHash": "0x9b3ef6bb8cd057e245c444e248b145a24adbad6289af802a4f70d32c6c270942", + "transactionIndex": "0x10", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xb", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3", + "0x000000000000000000000000732b154112c08a19c0ec19bb2cf52a96f5b3be93" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027eaa94ad8060a4a90000000000000000000000000000000000000000000000000000000003c4f6df0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x9b3ef6bb8cd057e245c444e248b145a24adbad6289af802a4f70d32c6c270942", + "transactionIndex": "0x10", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xc", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00200000000004000000001080000002000000000000000000000000008000400008000000000000008000000000000000000000000000000000000008000000000000000000000000000008000000200000000000000000000000000000000000000000000100000000000000002000000000000000000000000010000000000000000000000000000000000000000000040000000000090040004000000000000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000000000000000000000001000004000000000000000000000000040000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x9b3ef6bb8cd057e245c444e248b145a24adbad6289af802a4f70d32c6c270942", + "transactionIndex": "0x10", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0xa93d2", + "effectiveGasPrice": "0x12a05f200", + "from": "0xa692fb0eab3d0cbc1a1c8640df63cbe542b471c9", + "gasUsed": "0x1aca3", + "logs": [ + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a692fb0eab3d0cbc1a1c8640df63cbe542b471c9", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000074bb", + "blockNumber": "0x874db3", + "transactionHash": "0xca09abe5f4a39b54743b61bdb410510587408f65b7b1be3b93884f24f485a1d6", + "transactionIndex": "0x11", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xd", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a692fb0eab3d0cbc1a1c8640df63cbe542b471c9", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000000004d06e03b9ef3bc", + "blockNumber": "0x874db3", + "transactionHash": "0xca09abe5f4a39b54743b61bdb410510587408f65b7b1be3b93884f24f485a1d6", + "transactionIndex": "0x11", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xe", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000a692fb0eab3d0cbc1a1c8640df63cbe542b471c9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000005d37e7816", + "blockNumber": "0x874db3", + "transactionHash": "0xca09abe5f4a39b54743b61bdb410510587408f65b7b1be3b93884f24f485a1d6", + "transactionIndex": "0x11", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xf", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241aaca1634b00000000000000000000000000000000000000000169ad5a8108a311893f9f92", + "blockNumber": "0x874db3", + "transactionHash": "0xca09abe5f4a39b54743b61bdb410510587408f65b7b1be3b93884f24f485a1d6", + "transactionIndex": "0x11", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x10", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000074bb000000000000000000000000000000000000000000000000004d06e03b9ef3bc", + "blockNumber": "0x874db3", + "transactionHash": "0xca09abe5f4a39b54743b61bdb410510587408f65b7b1be3b93884f24f485a1d6", + "transactionIndex": "0x11", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x11", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000001080000000000000000000000000000000008001400008000000000000088000000000000000000000000000000000000008000000000800000000002000000008000000000000000000000000000000000000000000000000020100000000000000002800000000000008000000000010000000000000000000000000000000000000000000040000000000090040000000000000000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000020000000000000000001000000000000020000000000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0xca09abe5f4a39b54743b61bdb410510587408f65b7b1be3b93884f24f485a1d6", + "transactionIndex": "0x11", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0xb86a1", + "effectiveGasPrice": "0x777ab87a", + "from": "0xd844ba11f64d23a7481e24474d2f184e350b9b3d", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d844ba11f64d23a7481e24474d2f184e350b9b3d", + "0x00000000000000000000000026f7eccbdcc7233bb27310182185ddf9ca5fb13e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xbe9349879bfbf27eae409767369247d4949c853b7a0e9b7b7e40442d6f1efa46", + "transactionIndex": "0x12", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x12", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000001200000000000100000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000200000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xbe9349879bfbf27eae409767369247d4949c853b7a0e9b7b7e40442d6f1efa46", + "transactionIndex": "0x12", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0xc7970", + "effectiveGasPrice": "0x777ab87a", + "from": "0xd4c0b787aa2ff9eb751bb515c877ebbf2daddaae", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d4c0b787aa2ff9eb751bb515c877ebbf2daddaae", + "0x00000000000000000000000035f1cf96b42aadfd2a1eecb8bd916d2bac386e76" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x4fec978805a4fc9e24de5cbf88f7c05566f204d3d28960d44de36795c36c368d", + "transactionIndex": "0x13", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x13", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000008000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000040000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000001000000000002000000000000000000000000000004000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0x4fec978805a4fc9e24de5cbf88f7c05566f204d3d28960d44de36795c36c368d", + "transactionIndex": "0x13", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0xccb78", + "effectiveGasPrice": "0x777ab87a", + "from": "0x6cc9397c3b38739dacbfaa68ead5f5d77ba5f455", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x438514d252c3b4e450689cb8979fbf58ae597777", + "transactionHash": "0xda6db0270767b00a2a41bb77f5d757a9ba867a74c783c5dda356cab0c8eedf54", + "transactionIndex": "0x14", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0xdbe47", + "effectiveGasPrice": "0x777ab87a", + "from": "0xd4c0b787aa2ff9eb751bb515c877ebbf2daddaae", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d4c0b787aa2ff9eb751bb515c877ebbf2daddaae", + "0x0000000000000000000000006bba38c33e2b6c8b47142c91d9115d2a8a0f1c84" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xbe8b135592cfe76d634f83c3e7a7849761d8ef1519689893219df318c0376e9a", + "transactionIndex": "0x15", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x14", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000010000000000000000000100000000000000000000000000000000000000000000000000000000000100100000000000000000000000000000000000000000000000000000000000002000000000000000000100000000004000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xbe8b135592cfe76d634f83c3e7a7849761d8ef1519689893219df318c0376e9a", + "transactionIndex": "0x15", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0xe278e", + "effectiveGasPrice": "0x777ab87a", + "from": "0x26e8897215c4f4890590e532bf6e3eadfde8b245", + "gasUsed": "0x6947", + "logs": [ + { + "address": "0x4ea1e410e2d3c1322565f503f10ff147f8491304", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000026e8897215c4f4890590e532bf6e3eadfde8b245", + "0x0000000000000000000000004ea1e410e2d3c1322565f503f10ff147f8491304" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000003", + "blockNumber": "0x874db3", + "transactionHash": "0xac70040df580124f02c2042652355235a5cc07fffeccac9c37c3c2dee1a3af81", + "transactionIndex": "0x16", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x15", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000400000010000000000000000000010000020000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000800000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000", + "status": "0x1", + "to": "0x4ea1e410e2d3c1322565f503f10ff147f8491304", + "transactionHash": "0xac70040df580124f02c2042652355235a5cc07fffeccac9c37c3c2dee1a3af81", + "transactionIndex": "0x16", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0xf1a51", + "effectiveGasPrice": "0x777ab87a", + "from": "0x3c3380cdfb94dfeeaa41cad9f58254ae380d752d", + "gasUsed": "0xf2c3", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003c3380cdfb94dfeeaa41cad9f58254ae380d752d", + "0x000000000000000000000000d7b7d734871000b346b167614fab93c9f65cf255" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x55a7ae7c977fc741af714d978c9f93c40c18272670e6f10946fbf58f7aaef1de", + "transactionIndex": "0x17", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x16", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000200000000000200000000000000001000000000000000000000000000000000000000000000000020000000000008000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000008000000000000000000000000010020000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0x55a7ae7c977fc741af714d978c9f93c40c18272670e6f10946fbf58f7aaef1de", + "transactionIndex": "0x17", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x100d20", + "effectiveGasPrice": "0x777ab87a", + "from": "0x319dd63e0ac72e7ac74443029d074032c043460f", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000319dd63e0ac72e7ac74443029d074032c043460f", + "0x0000000000000000000000009c339741170d0cadb954b9628d344c64260c3043" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xd5e8318d27ef3d9d5cf33b95cc19d9cd5b9b06e8eae62dd7ca578cd3ef2532bb", + "transactionIndex": "0x18", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x17", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000200000000000000008000000000000000000000800000000000000100000000000000000000000000000000000000000000000000000000010000000000000000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000002000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xd5e8318d27ef3d9d5cf33b95cc19d9cd5b9b06e8eae62dd7ca578cd3ef2532bb", + "transactionIndex": "0x18", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x10ffef", + "effectiveGasPrice": "0x777ab87a", + "from": "0x70e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000070e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "0x00000000000000000000000036a7438e11edcb4c0b9849f444ad08876ba0f51b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xbca36dfb861182c180febf75c32425bbbc9695d8f33d27b32213d9dfbdafd00b", + "transactionIndex": "0x19", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x18", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000010000000800200000000000000000000000000000000000000080000000400000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xbca36dfb861182c180febf75c32425bbbc9695d8f33d27b32213d9dfbdafd00b", + "transactionIndex": "0x19", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x11f2be", + "effectiveGasPrice": "0x777ab87a", + "from": "0xd844ba11f64d23a7481e24474d2f184e350b9b3d", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d844ba11f64d23a7481e24474d2f184e350b9b3d", + "0x000000000000000000000000490d0194b83128d3564c5522fb594335ad3614dd" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x50c43c593c2786595936f150bc8e3e2f9f26185269e5ae4e4a437dcbe1a4f5a5", + "transactionIndex": "0x1a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x19", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000100000000000000000200000000000100000000200000000000000000000000000000000000000000000000000000000000000000800000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0x50c43c593c2786595936f150bc8e3e2f9f26185269e5ae4e4a437dcbe1a4f5a5", + "transactionIndex": "0x1a", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x12e58d", + "effectiveGasPrice": "0x777ab87a", + "from": "0x319dd63e0ac72e7ac74443029d074032c043460f", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000319dd63e0ac72e7ac74443029d074032c043460f", + "0x00000000000000000000000076429b01be8975d48294e087fec3f11926431884" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x5bc20a368228b93cd4df1f401a5fc844ca34576710dad5660f48e60a742e1c7f", + "transactionIndex": "0x1b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1a", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000800000000000000100000000000000000000000000000000000000000000000000000000010200100000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000080000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0x5bc20a368228b93cd4df1f401a5fc844ca34576710dad5660f48e60a742e1c7f", + "transactionIndex": "0x1b", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x13d85c", + "effectiveGasPrice": "0x777ab87a", + "from": "0x319dd63e0ac72e7ac74443029d074032c043460f", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000319dd63e0ac72e7ac74443029d074032c043460f", + "0x00000000000000000000000020b13418ba6195326d9f8c9188ee595fe14be6f9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xb5560ed70e4ad9122a5165f0918bb19a24a4bbe658f1f8aed4a5e26bf793ff1a", + "transactionIndex": "0x1c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1b", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x0000000000000000000000000000000000000000000000000000000000020000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000080000000000000010000000000000000000000000000000000000000000000000000000001000000000000000000010000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xb5560ed70e4ad9122a5165f0918bb19a24a4bbe658f1f8aed4a5e26bf793ff1a", + "transactionIndex": "0x1c", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x14cb2b", + "effectiveGasPrice": "0x777ab87a", + "from": "0xd844ba11f64d23a7481e24474d2f184e350b9b3d", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d844ba11f64d23a7481e24474d2f184e350b9b3d", + "0x00000000000000000000000094a76571413315c79c15c07c5a7fa2fa0faf76ad" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xd7cdb0c096f459e703022ac5a50eb6c27cf559774cb24c6240b5c76818185f27", + "transactionIndex": "0x1d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1c", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000001000000000000000000000000200000000000100000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000002040000000000000000000000000000000000000000000000000000000000000000000000000010000000400000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xd7cdb0c096f459e703022ac5a50eb6c27cf559774cb24c6240b5c76818185f27", + "transactionIndex": "0x1d", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x15bdfa", + "effectiveGasPrice": "0x777ab87a", + "from": "0x70e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000070e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "0x00000000000000000000000005a7918d1126085b8e5387bedd4a802f8c100ee4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x4ff4c67ef4a7cb467044cadc57639572e44507365938f90cc5845ef33fd3c7a1", + "transactionIndex": "0x1e", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1d", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000800200000000000000000000000000000000000000000000000400000000000000000000000000000000000000000008000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000002000000000000000100000000000010000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0x4ff4c67ef4a7cb467044cadc57639572e44507365938f90cc5845ef33fd3c7a1", + "transactionIndex": "0x1e", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x166dfd", + "effectiveGasPrice": "0x777ab87a", + "from": "0xd4c0b787aa2ff9eb751bb515c877ebbf2daddaae", + "gasUsed": "0xb003", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d4c0b787aa2ff9eb751bb515c877ebbf2daddaae", + "0x00000000000000000000000076bab6ea1bcdf06a58477d639e86ef516a7c619c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xad3eb3719d19cfcbd47b7c45dcb7ca79c46ee32b9c21ed14375f838506514941", + "transactionIndex": "0x1f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1e", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000002000000000000000000000000000044001000000000000000000000000000000000000000001010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xad3eb3719d19cfcbd47b7c45dcb7ca79c46ee32b9c21ed14375f838506514941", + "transactionIndex": "0x1f", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x16c005", + "effectiveGasPrice": "0x777ab87a", + "from": "0x6cc9397c3b38739dacbfaa68ead5f5d77ba5f455", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x8b3c547f605880a8cae40f89e9f53cab69807b24", + "transactionHash": "0x89634118c123da5f622fe15cad81d8c6a7a98a0f0524e6cba419d1f1ba82bd0e", + "transactionIndex": "0x20", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x17b2d4", + "effectiveGasPrice": "0x777ab87a", + "from": "0x70e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000070e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "0x00000000000000000000000027ec46241f12db8180a84547e683bbdc65b356dc" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xd8427001850f5ed817cc9612e7bf684ded935847406d668cc68f820ca7348e60", + "transactionIndex": "0x21", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1f", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000800200000000000000000000000000000000000000000000000408000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xd8427001850f5ed817cc9612e7bf684ded935847406d668cc68f820ca7348e60", + "transactionIndex": "0x21", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x18a5a3", + "effectiveGasPrice": "0x777ab87a", + "from": "0x3c3380cdfb94dfeeaa41cad9f58254ae380d752d", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003c3380cdfb94dfeeaa41cad9f58254ae380d752d", + "0x00000000000000000000000058c2b2b0c18b22e076e06df3405bd3f297c748cc" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xbc142800f94f8c0683b0cef8c245dddbf9b682f36f48bb306cc0488c20002b7d", + "transactionIndex": "0x22", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x20", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000200000000000200000000000000001000000800000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000010000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000010020000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xbc142800f94f8c0683b0cef8c245dddbf9b682f36f48bb306cc0488c20002b7d", + "transactionIndex": "0x22", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x199872", + "effectiveGasPrice": "0x777ab87a", + "from": "0x70e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000070e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "0x0000000000000000000000003c08fff27451649c698463bd9de21b250e6d9435" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x280497ce1b332d9f580bf88d1548158a8afdbd4d1db6640decb91e5086137171", + "transactionIndex": "0x23", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x21", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000400000000800200000000000000000000000000000000000000000000000400000000000000000000000000000000000000000008000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0x280497ce1b332d9f580bf88d1548158a8afdbd4d1db6640decb91e5086137171", + "transactionIndex": "0x23", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1a8b41", + "effectiveGasPrice": "0x777ab87a", + "from": "0x3c3380cdfb94dfeeaa41cad9f58254ae380d752d", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003c3380cdfb94dfeeaa41cad9f58254ae380d752d", + "0x0000000000000000000000001f61cbe84544340943e5c29798b5428078fbb602" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x3d80e12fe1c51e8e400b3589a6f3ee2664b02d10ee4a2c532ea78f1da96240f0", + "transactionIndex": "0x24", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x22", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000200000000000200000000000000001000000000000000000000000000000000000000000000000000000000000008000000000000000008000000000000000000000000000000000000000000000000000000000000000000000004000010000000000000000000100000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000010020000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0x3d80e12fe1c51e8e400b3589a6f3ee2664b02d10ee4a2c532ea78f1da96240f0", + "transactionIndex": "0x24", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1b7e10", + "effectiveGasPrice": "0x777ab87a", + "from": "0x319dd63e0ac72e7ac74443029d074032c043460f", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000319dd63e0ac72e7ac74443029d074032c043460f", + "0x000000000000000000000000cb39a87756eee5f12f04b91e8036fc32a291399a" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xd7e98b3b3ebf9b34c418cfd5f749a80b0e8ba7ec2f7ff0082b813d0036650ad9", + "transactionIndex": "0x25", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x23", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000400000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000800000000000000100000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000200000000000001000000010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xd7e98b3b3ebf9b34c418cfd5f749a80b0e8ba7ec2f7ff0082b813d0036650ad9", + "transactionIndex": "0x25", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1c70df", + "effectiveGasPrice": "0x777ab87a", + "from": "0x3c3380cdfb94dfeeaa41cad9f58254ae380d752d", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003c3380cdfb94dfeeaa41cad9f58254ae380d752d", + "0x000000000000000000000000ec5cae4ade5ae3a61b35e50730fc6676b50dfe01" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x2bbb65684fd44365300f54a8790cab793f8622657c6915db38388e533fe190f3", + "transactionIndex": "0x26", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x24", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000200000000000201000000000000001000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000004000000000010020000000000080000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0x2bbb65684fd44365300f54a8790cab793f8622657c6915db38388e533fe190f3", + "transactionIndex": "0x26", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1d63ae", + "effectiveGasPrice": "0x777ab87a", + "from": "0x70e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000070e3fb28e1794bb91d5bceb7d66b731d0c61af8e", + "0x0000000000000000000000002a7fc03455207325f013d5a8c23d63e77fee4876" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x8895dd7d44fc65a450e0360f0abef6699445392d8c8a9a66f23270b994e3bccf", + "transactionIndex": "0x27", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x25", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000800200000000000000000000000000000000000000000000000400000000000000000000000000000000000000000008000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002000000000000000100000000000000000000000000000000000000000000000004000000000010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0x8895dd7d44fc65a450e0360f0abef6699445392d8c8a9a66f23270b994e3bccf", + "transactionIndex": "0x27", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1e567d", + "effectiveGasPrice": "0x777ab87a", + "from": "0x319dd63e0ac72e7ac74443029d074032c043460f", + "gasUsed": "0xf2cf", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000319dd63e0ac72e7ac74443029d074032c043460f", + "0x00000000000000000000000024b0ea1ab26d70469cac83434fc780d55e1dcfee" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xa915e99a04a89956dc17ba1ac816c03a587201467a2d8ca0a44813f4fb18439c", + "transactionIndex": "0x28", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x26", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000800000000000000100000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000010000000000000000000000000000000000000000000001004000010008000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xa915e99a04a89956dc17ba1ac816c03a587201467a2d8ca0a44813f4fb18439c", + "transactionIndex": "0x28", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1fb2c2", + "effectiveGasPrice": "0x59ad537a", + "from": "0xa57b52df83212bcba26e24c346004299c945d0f9", + "gasUsed": "0x15c45", + "logs": [ + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a57b52df83212bcba26e24c346004299c945d0f9", + "0x000000000000000000000000db5492265f6038831e89f495670ff909ade94bd9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000001dcd6500", + "blockNumber": "0x874db3", + "transactionHash": "0x1ebd1c97e720bd8464acd3d2d15f2fded72aec1765187350f9dacaf8d0a520c6", + "transactionIndex": "0x29", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x27", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x4a8bc80ed5a4067f1ccf107057b8270e0cc11a78", + "topics": [ + "0x6eb224fb001ed210e379b335e35efe88672a8ce935d981a6896b27ffdf52a3b2", + "0x000000000000000000000000db5492265f6038831e89f495670ff909ade94bd9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000001c718000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008501000000000000000000000000000000000000000000000000000000001dcd65000000000000000000000000008bebfcbe5468f146533c182df3dfbf5ff9be00e22712000000000000000000000000a57b52df83212bcba26e24c346004299c945d0f927140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x1ebd1c97e720bd8464acd3d2d15f2fded72aec1765187350f9dacaf8d0a520c6", + "transactionIndex": "0x29", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x28", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000100000000000000000010000000000000000000000000000000010010000000000000000000000000000000000000000000080000008000000000000000000000000000000008000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000010000000000000000000000000400000000000000000000000000000000000100000000000000000000400000000000000000000000000000000000000000000002000000000000002000000000000000000000000000000002000000000000000000000000000000400000000000000000000000000000000000000000000000000200000", + "status": "0x1", + "to": "0xdb5492265f6038831e89f495670ff909ade94bd9", + "transactionHash": "0x1ebd1c97e720bd8464acd3d2d15f2fded72aec1765187350f9dacaf8d0a520c6", + "transactionIndex": "0x29", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x206648", + "effectiveGasPrice": "0x59ad537a", + "from": "0x872bb409a6fe20bfcf182df2c8e28a1d973abcdd", + "gasUsed": "0xb386", + "logs": [ + { + "address": "0x20c54c5f742f123abb49a982bfe0af47edb38756", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000872bb409a6fe20bfcf182df2c8e28a1d973abcdd", + "0x000000000000000000000000bd6b25c4132f09369c354bee0f7be777d7d434fa" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000006cee0b", + "blockNumber": "0x874db3", + "transactionHash": "0x228da004515f08fe563c0a0eef7881588360eefb0e1d817517a0afbec4a0dfa0", + "transactionIndex": "0x2a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x29", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000020000000001000000000004000000000000000000000000000000000000000000000000000000000000000000000080000200000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000020000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000400800000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x20c54c5f742f123abb49a982bfe0af47edb38756", + "transactionHash": "0x228da004515f08fe563c0a0eef7881588360eefb0e1d817517a0afbec4a0dfa0", + "transactionIndex": "0x2a", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2119b1", + "effectiveGasPrice": "0x59ad537a", + "from": "0xe846333ca6661cd8dd4048afb9b6383cf07b69f1", + "gasUsed": "0xb369", + "logs": [ + { + "address": "0xef84994ef411c4981328ffce5fda41cd3803fae4", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000e846333ca6661cd8dd4048afb9b6383cf07b69f1", + "0x00000000000000000000000020c54c5f742f123abb49a982bfe0af47edb38756" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000ed1f97", + "blockNumber": "0x874db3", + "transactionHash": "0xb714f3893e2210d30829d65be004e02703c2690334c75bcdcffc04f4e9d0654a", + "transactionIndex": "0x2b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x2a", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000100000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000800000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000002000000000008000000000000000000000000000000000000000000010010000000000000000000000020000000000000000000000000000000000000", + "status": "0x1", + "to": "0xef84994ef411c4981328ffce5fda41cd3803fae4", + "transactionHash": "0xb714f3893e2210d30829d65be004e02703c2690334c75bcdcffc04f4e9d0654a", + "transactionIndex": "0x2b", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x21cd26", + "effectiveGasPrice": "0x59ad537a", + "from": "0x7f15d58dbdc1effbc928d619e29365c4ff7257a4", + "gasUsed": "0xb375", + "logs": [ + { + "address": "0xef84994ef411c4981328ffce5fda41cd3803fae4", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000007f15d58dbdc1effbc928d619e29365c4ff7257a4", + "0x00000000000000000000000020c54c5f742f123abb49a982bfe0af47edb38756" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000121882a", + "blockNumber": "0x874db3", + "transactionHash": "0x09163f9cbdb6870918f5c709fd9c4b362b365c6e21c39d51ce59d7f48d037464", + "transactionIndex": "0x2c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x2b", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000200000000000800000000000000000800000000000000000000000000000000002000000020000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000010010000000000000000000000020000000000000000000000000000000000000", + "status": "0x1", + "to": "0xef84994ef411c4981328ffce5fda41cd3803fae4", + "transactionHash": "0x09163f9cbdb6870918f5c709fd9c4b362b365c6e21c39d51ce59d7f48d037464", + "transactionIndex": "0x2c", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": "0x0c7d3d77d9a23dc5533465d40882c3969cff9293", + "cumulativeGasUsed": "0x5a7e56", + "effectiveGasPrice": "0x59ad537a", + "from": "0xd98b4aeb2a25c03d2589812d4125aa584bba833f", + "gasUsed": "0x38b130", + "logs": [ + { + "address": "0x0c7d3d77d9a23dc5533465d40882c3969cff9293", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0xdbed6f9da3c67c2e70fb5a16486f293ae73abe311154504c7317d1ed6f522d14", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x29721c9ee41d8f05ddf3687849a1fc06db196b3cfee9fd5004729e03d75c0084", + "transactionIndex": "0x2d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x2c", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000100000000040000000000000000000000000100000000000000000000040000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000040000000000000000000000040000000000000000000000000000000000000000000", + "status": "0x1", + "to": null, + "transactionHash": "0x29721c9ee41d8f05ddf3687849a1fc06db196b3cfee9fd5004729e03d75c0084", + "transactionIndex": "0x2d", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x5ad05e", + "effectiveGasPrice": "0x59ad537a", + "from": "0x1588deadc74f61ffdefd6b41fcccd3e804c212d5", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xd7b8b1dce9a10a46888e9526704aa0b026443d07", + "transactionHash": "0x32139e1506d78b5543d75510ed77fe4fa84955db3fe124269e82a3becf7f916a", + "transactionIndex": "0x2e", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": "0xcc688b45b32bafa359d7f2f053ddba893703f7f8", + "cumulativeGasUsed": "0x93818e", + "effectiveGasPrice": "0x59ad537a", + "from": "0xb5fe7db00c80d60a7d320d3630bbfb24bd28de3e", + "gasUsed": "0x38b130", + "logs": [ + { + "address": "0xcc688b45b32bafa359d7f2f053ddba893703f7f8", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x87861130e1e0f830b5274f16c11b8e74f7828cbca846c171112d452e30b9f777", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x3b2440ce5630052041e48f0fd5e4feb1124d81893978b378a01680c4bb4d77e2", + "transactionIndex": "0x2f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x2d", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000040000000000000000000000000100000000000000000000040000000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000001000020000000000000000000000000000000000000000000000000000000000000000000000004000000000000080000000000000040000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": null, + "transactionHash": "0x3b2440ce5630052041e48f0fd5e4feb1124d81893978b378a01680c4bb4d77e2", + "transactionIndex": "0x2f", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": "0x6b7795b363560ce219d4d23e247422c900027fb5", + "cumulativeGasUsed": "0xcc32b2", + "effectiveGasPrice": "0x59ad537a", + "from": "0xd48afe45cdc100ddf4a1ceb086e8ba99e8ed9eef", + "gasUsed": "0x38b124", + "logs": [ + { + "address": "0x6b7795b363560ce219d4d23e247422c900027fb5", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0xaf5af4cd883a281c7feb237b8c086aa0abc9e914e71fd794325d20d656a992e4", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xf04d1b6905a81d278761aa2e5117613eeaf252054bc32ce3673f1f5ecc523f28", + "transactionIndex": "0x30", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x2e", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000020000000000000000000000000080000000040000000000000000008000000000000000000000000000000000040000000000000000000000200100000000000000000000040000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": null, + "transactionHash": "0xf04d1b6905a81d278761aa2e5117613eeaf252054bc32ce3673f1f5ecc523f28", + "transactionIndex": "0x30", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": "0x9924b501da0c65419c0292caa3c42da05a627272", + "cumulativeGasUsed": "0x104e3e2", + "effectiveGasPrice": "0x59ad537a", + "from": "0xc10109c9bdc0f18e358c2d3828a707ec9a29c9ca", + "gasUsed": "0x38b130", + "logs": [ + { + "address": "0x9924b501da0c65419c0292caa3c42da05a627272", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x4e334ad6a7a249f59f8bbb4e74d1a766944803269d3c105ab27889ac9902d5d2", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x4055979f74b04ae7deea827cb5a5cf6063d4ea2afb6e7579aec43a0aaf819ed6", + "transactionIndex": "0x31", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x2f", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000800000000000000000040000000000000000000000000100000000000000000000040000000000000000000000000000000000000000000000000000000000000000080000000000000000000020000000000000000000000000000000000000000000200000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000400000000000040000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": null, + "transactionHash": "0x4055979f74b04ae7deea827cb5a5cf6063d4ea2afb6e7579aec43a0aaf819ed6", + "transactionIndex": "0x31", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": "0xf735c9c4ff802bfb002e471e7e34fd628779c593", + "cumulativeGasUsed": "0x13d9512", + "effectiveGasPrice": "0x59ad537a", + "from": "0xbe482be46c132cc00c01f72b8df67d02bdc19227", + "gasUsed": "0x38b130", + "logs": [ + { + "address": "0xf735c9c4ff802bfb002e471e7e34fd628779c593", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x7a6e423eb038f9001711ccda24f52a35929f7ea0e12342f29c41c149a3569e0e", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x32007f12e91eee7491d3f5e68668ecf540008b8a70998b8100e7fd7f9d683dba", + "transactionIndex": "0x32", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x30", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040004000000000000000000000000000000000000000000000000040000200000000000000000000100000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000100000000000000440000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": null, + "transactionHash": "0x32007f12e91eee7491d3f5e68668ecf540008b8a70998b8100e7fd7f9d683dba", + "transactionIndex": "0x32", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x13f077f", + "effectiveGasPrice": "0x59ad537a", + "from": "0x5cbd5063ddae154c546860e2a4d2c16e2e1c786c", + "gasUsed": "0x1726d", + "logs": [ + { + "address": "0x49c614102f28aa91d0fc8a05fda22c15873de2bd", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000073f8e1b3901e6f4e0eaf79e32b0ccf36626f340c", + "0x0000000000000000000000001260e408d9e1ad2f2293fb092d840bf252c68833" + ], + "data": "0x0000000000000000000000000000000000000000000000062e115c008a880000", + "blockNumber": "0x874db3", + "transactionHash": "0x1de4b30546037789aeef73a457d15326d6a43ec8ca043d85f51f3d20b478840c", + "transactionIndex": "0x33", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x31", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xc983fd6abcb94cf974186a656a6b5509031772eb", + "topics": [ + "0x64cf4034b07ffeac3ae1e91d221fd15e0463042e7f5ed724369b41cec0e8d08a", + "0x00000000000000000000000073f8e1b3901e6f4e0eaf79e32b0ccf36626f340c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000006888a6380000000000000000000000000000000000000000000000062e115c008a8800000000000000000000000000000000000000000000000000000000000000000001", + "blockNumber": "0x874db3", + "transactionHash": "0x1de4b30546037789aeef73a457d15326d6a43ec8ca043d85f51f3d20b478840c", + "transactionIndex": "0x33", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x32", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000001000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000020000000000000000000000000000008000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000004000000100000000000000080000000000000000000000000400000000000004000000100200000000000800000000000000000000002000000010000000000000000000000000000000000000000000000000000000800000200000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc983fd6abcb94cf974186a656a6b5509031772eb", + "transactionHash": "0x1de4b30546037789aeef73a457d15326d6a43ec8ca043d85f51f3d20b478840c", + "transactionIndex": "0x33", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x13fd355", + "effectiveGasPrice": "0x59ad537a", + "from": "0xb39384e1b7b0300faef6d252819d9595f2e7f70b", + "gasUsed": "0xcbd6", + "logs": [ + { + "address": "0xf0f618b75c6926a1fd2e1a433090a8b1c4526f2b", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b39384e1b7b0300faef6d252819d9595f2e7f70b", + "0x000000000000000000000000abd743e54cb6abb272cc565ecbdf58a7fa7e3f2b" + ], + "data": "0x000000000000000000000000000000000000000000000000004e14dfe2dfa000", + "blockNumber": "0x874db3", + "transactionHash": "0x337f5561db6025588ecf9170c30109c80441ebe8e0aff0a69cebe57337d14fb5", + "transactionIndex": "0x34", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x33", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000001000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000008000000000000000000000000000008000000000080000000000000000000000000000000000000000000000000000400100000000000000000000000000002000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xf0f618b75c6926a1fd2e1a433090a8b1c4526f2b", + "transactionHash": "0x337f5561db6025588ecf9170c30109c80441ebe8e0aff0a69cebe57337d14fb5", + "transactionIndex": "0x34", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x14086be", + "effectiveGasPrice": "0x59ad537a", + "from": "0x86aade0de6a78c93df3edafa8cf9e56efaf12864", + "gasUsed": "0xb369", + "logs": [ + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000086aade0de6a78c93df3edafa8cf9e56efaf12864", + "0x000000000000000000000000db5492265f6038831e89f495670ff909ade94bd9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xd7bdf4da3190cde5d9aeace91e58c821d0a9ea8fc6027c882e87e36796b6ba98", + "transactionIndex": "0x35", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x34", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000040000000000000000000000000000000000010000000000000000000000000000000000000000000000000000088000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000002000000000000000000000000010000400000000000000000000000000000000000000000000100000000000", + "status": "0x1", + "to": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "transactionHash": "0xd7bdf4da3190cde5d9aeace91e58c821d0a9ea8fc6027c882e87e36796b6ba98", + "transactionIndex": "0x35", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x142723d", + "effectiveGasPrice": "0x59ad537a", + "from": "0x25e4c97905c4c0709683c3e6a624ecfb991c7852", + "gasUsed": "0x1eb7f", + "logs": [ + { + "address": "0xdb5492265f6038831e89f495670ff909ade94bd9", + "topics": [ + "0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169", + "0x0000000000000000000000000000000000000000000000000000000000002713", + "0x000000000000000000000000c7a204bdbfe983fcd8d8e61d02b475d4073ff97e", + "0x0000000000000000000000000000000000000000000000000000000000000849" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xb4a63b3103cdd90b114017b52a5774573dad8e14f6012cfc5ad44f1ff6884c79", + "transactionIndex": "0x36", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x35", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000db5492265f6038831e89f495670ff909ade94bd9", + "0x00000000000000000000000025e4c97905c4c0709683c3e6a624ecfb991c7852" + ], + "data": "0x0000000000000000000000000000000000000000000007ce984fb22bd8cd7c00", + "blockNumber": "0x874db3", + "transactionHash": "0xb4a63b3103cdd90b114017b52a5774573dad8e14f6012cfc5ad44f1ff6884c79", + "transactionIndex": "0x36", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x36", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x0000000000000000000000100004000000000000000000000000000000000001010001000000000000000000000000000000000000000000000000800000000004000000000000000000000800000010000000000000000000000000000000000000000000000800000000000000a000000040080000000000000010000000000000000000200000000000000040000000000000000000000400000000000000000000000000088000000000000000000280000000000000000000000000000000000002000000000000000000200000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000000001", + "status": "0x1", + "to": "0xdb5492265f6038831e89f495670ff909ade94bd9", + "transactionHash": "0xb4a63b3103cdd90b114017b52a5774573dad8e14f6012cfc5ad44f1ff6884c79", + "transactionIndex": "0x36", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1453963", + "effectiveGasPrice": "0x59ad537a", + "from": "0x16f3f2f0ba34973937a1ebb989a295ca106b67c7", + "gasUsed": "0x2c726", + "logs": [ + { + "address": "0x779877a7b0d9e8603169ddbd7836e478b4624789", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000016f3f2f0ba34973937a1ebb989a295ca106b67c7", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000002386f26fc10000", + "blockNumber": "0x874db3", + "transactionHash": "0xc073b645b06c4b122cb272984f9a4d9fa91b74879dbbc6c2ede05d4fefb0ccf5", + "transactionIndex": "0x37", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x37", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x779877a7b0d9e8603169ddbd7836e478b4624789", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000016f3f2f0ba34973937a1ebb989a295ca106b67c7", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xc073b645b06c4b122cb272984f9a4d9fa91b74879dbbc6c2ede05d4fefb0ccf5", + "transactionIndex": "0x37", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x38", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000d4db6158f5", + "blockNumber": "0x874db3", + "transactionHash": "0xc073b645b06c4b122cb272984f9a4d9fa91b74879dbbc6c2ede05d4fefb0ccf5", + "transactionIndex": "0x37", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x39", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0xf3f8214dae6f161106af38cb5b7b731ee6bebb548897ad5b8a2078c8d76fb968" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018579b700d9af8c000000000000000000000000000000000000000000000000000000000000007e05b1324cff061f258a5f130ef9f3de11b5688d07386b7839f7982c565c409f463000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000001416f3f2f0ba34973937a1ebb989a295ca106b67c7000000000000000000000000000000000000000000000000000000000000000000000000000000000000001416f3f2f0ba34973937a1ebb989a295ca106b67c70000000000000000000000000000000000000000000000000000000000000000000000000000000000000014779877a7b0d9e8603169ddbd7836e478b462478900000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c494e4b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f436861696e4c696e6b20546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000149eeb76a58a096d7ee093b90c455934851264877100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000d4db6158f5000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001416f3f2f0ba34973937a1ebb989a295ca106b67c7000000000000000000000000000000000000000000000000000000000000000000000000000000000000001416f3f2f0ba34973937a1ebb989a295ca106b67c70000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xc073b645b06c4b122cb272984f9a4d9fa91b74879dbbc6c2ede05d4fefb0ccf5", + "transactionIndex": "0x37", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x3a", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000004002000000000000000008004000000000000000000000004000000000000000000000000000000000000000000000000000080000000000200200000000000000020000000000008000000000100000000000000010020008000000000000000000000000000000000100000000000000000000000000010000000400080000000000000000000000000800000000001000000000000000000000000020000000000000000000000800000080000000000000000200000000000000040000002000000000000000000000000000400000000000100000000400000000010000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0xc073b645b06c4b122cb272984f9a4d9fa91b74879dbbc6c2ede05d4fefb0ccf5", + "transactionIndex": "0x37", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1458b6b", + "effectiveGasPrice": "0x59ad537a", + "from": "0x681da6574919f516992e66439d3b21ed1e3b97d0", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x338d52c4c754887ee93ec7c811b36dc47117cc56", + "transactionHash": "0x6b28f672bb77418dac50a22f2153a16bc16c17b2c2991d52a9dac84c8bd2a7c8", + "transactionIndex": "0x38", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x146cdc1", + "effectiveGasPrice": "0x59ad537a", + "from": "0xfda4620822bfe159ab580ccbe983183fa590b509", + "gasUsed": "0x14256", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xf18b28ff7dfd94630089b899a4d8d74b2ee707f9", + "transactionHash": "0x71138b022fe713d05192bfc01df8ebbd96aae488cd277d4557581d28634752be", + "transactionIndex": "0x39", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x14756cb", + "effectiveGasPrice": "0x59ad537a", + "from": "0xd20ccb1152a69a7f10657e2530def9ea4bf089fc", + "gasUsed": "0x890a", + "logs": [ + { + "address": "0x810a3b22c91002155d305c4ce032978e3a97f8c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d20ccb1152a69a7f10657e2530def9ea4bf089fc", + "0x000000000000000000000000d68edd9d1e9eb27cc29c1fec3db219ea0eec60f3" + ], + "data": "0x00000000000000000000000000000000000000000000000000233e2ffc2c005d", + "blockNumber": "0x874db3", + "transactionHash": "0x9f0d38d0a9168abfdac29792be57e2235a80678ed4a0c52aa3954b440db710d0", + "transactionIndex": "0x3a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x3b", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00200000000000001000000000000000000000000000000000000000000000000100000000000000000000800000000000000000000000000000000000000000000000000000008000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000002002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000100", + "status": "0x1", + "to": "0x810a3b22c91002155d305c4ce032978e3a97f8c4", + "transactionHash": "0x9f0d38d0a9168abfdac29792be57e2235a80678ed4a0c52aa3954b440db710d0", + "transactionIndex": "0x3a", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x14822a1", + "effectiveGasPrice": "0x59ad537a", + "from": "0xb39384e1b7b0300faef6d252819d9595f2e7f70b", + "gasUsed": "0xcbd6", + "logs": [ + { + "address": "0xf0f618b75c6926a1fd2e1a433090a8b1c4526f2b", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b39384e1b7b0300faef6d252819d9595f2e7f70b", + "0x0000000000000000000000007680af89dacd9ea2a41872e744daf976cea89b82" + ], + "data": "0x00000000000000000000000000000000000000000000000000508b2785b3f000", + "blockNumber": "0x874db3", + "transactionHash": "0x79697b576861a0d6ef73a2356135e57a5894c14f89a160ee0db554ba55a52c15", + "transactionIndex": "0x3b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x3c", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000001000000000000040000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000080000000000000000000000000000000000000008000000000080000000000000000000000000000000000000000000000000000400000000000000000000000000000002000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xf0f618b75c6926a1fd2e1a433090a8b1c4526f2b", + "transactionHash": "0x79697b576861a0d6ef73a2356135e57a5894c14f89a160ee0db554ba55a52c15", + "transactionIndex": "0x3b", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x14a3acd", + "effectiveGasPrice": "0x59ad537a", + "from": "0x36c31d150f9f268956096672fd2a453132226906", + "gasUsed": "0x2182c", + "logs": [ + { + "address": "0xcf81a5750f3c08b64edadd0d78fb37a4ab5252c0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000036c31d150f9f268956096672fd2a453132226906", + "0x000000000000000000000000f9fc524eb776523c799ea1e46a9d74beea0829b4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000253d86", + "blockNumber": "0x874db3", + "transactionHash": "0xd91dc3bd7634bb2ac06ecf8c0e1df80d35ebf07a91f3d27e8d3ce8d5fc70d89c", + "transactionIndex": "0x3c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x3d", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xf9fc524eb776523c799ea1e46a9d74beea0829b4", + "topics": [ + "0x4bed7eb88707d7436bdf8a82c2a5857539fec6df56bb36ee8f021d8637018590", + "0x00000000000000000000000036c31d150f9f268956096672fd2a453132226906", + "0x0000000000000000000000000000000000000000000000000000000000006bfe" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000253d86", + "blockNumber": "0x874db3", + "transactionHash": "0xd91dc3bd7634bb2ac06ecf8c0e1df80d35ebf07a91f3d27e8d3ce8d5fc70d89c", + "transactionIndex": "0x3c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x3e", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000200000000000000004004200000000000000000000000000000000000000080000000000000000000008000000000000000000000000001000000000000000100400000000000000000000000000000000000000040000010010000000000000000000000000000000000000000000000000000000000000000000400000004000000000000001000000000000000000004000000000000000000000001000000002001000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000080000000000000000000000", + "status": "0x1", + "to": "0xf9fc524eb776523c799ea1e46a9d74beea0829b4", + "transactionHash": "0xd91dc3bd7634bb2ac06ecf8c0e1df80d35ebf07a91f3d27e8d3ce8d5fc70d89c", + "transactionIndex": "0x3c", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x14c9056", + "effectiveGasPrice": "0x59ad537a", + "from": "0x1dc52637884dc1800b69d333da436c81c26188ca", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0xbe045305de47fa4bc54ed78d53de5445ff932da5", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xc584edd191eb0165d222f9a6eee26d105ea924e0e60410e332715442a79cf289", + "transactionIndex": "0x3d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x3f", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000040000000000000000000040000100000000000000000000040000000000000000000000000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000080040000000000000000000400000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xbe045305de47fa4bc54ed78d53de5445ff932da5", + "transactionHash": "0xc584edd191eb0165d222f9a6eee26d105ea924e0e60410e332715442a79cf289", + "transactionIndex": "0x3d", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x14ee5df", + "effectiveGasPrice": "0x59ad537a", + "from": "0x927dd04924386a6db5065a3243e8d158ec86e63d", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0xa046d00d334a86896b583cabff880e6a68a23faf", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xc8fa2c7926f7c555e59ce1a15f7db240dfaa8f7fd85f7fce9791beaa36515da7", + "transactionIndex": "0x3e", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x40", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000020000040000000000000000000000000100000000100000000000040000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000100000040000000000000000000400000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa046d00d334a86896b583cabff880e6a68a23faf", + "transactionHash": "0xc8fa2c7926f7c555e59ce1a15f7db240dfaa8f7fd85f7fce9791beaa36515da7", + "transactionIndex": "0x3e", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1513b68", + "effectiveGasPrice": "0x59ad537a", + "from": "0xc15a71c11f2a7dd9d5d0d217d2c6ef761c6dc57c", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0x52b6c6ddd27a3953ba012d8c7cdf3d852e5cf6e2", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x46d40f090a7ba84c04f654657eb27a1c59e5e37f5f5ae26d8e874c1e54399a89", + "transactionIndex": "0x3f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x41", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000040000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000040000000000000000000000000100000000000000000000040000000000000000000000000000000000000100000000000000000000000000004000000000000000000000000001000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000400000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x52b6c6ddd27a3953ba012d8c7cdf3d852e5cf6e2", + "transactionHash": "0x46d40f090a7ba84c04f654657eb27a1c59e5e37f5f5ae26d8e874c1e54399a89", + "transactionIndex": "0x3f", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x15390f1", + "effectiveGasPrice": "0x59ad537a", + "from": "0x394f496052f441ef1376fa80dc54256d640b2602", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0x965407693a5948463447e4adad28040ef1d912b9", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xc841285c42de120632195a92dd2041a127b874fb71e1a6ff323bbe252cec9fe4", + "transactionIndex": "0x40", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x42", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000040000000000000000000020000140000000000000000000040000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000400000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x965407693a5948463447e4adad28040ef1d912b9", + "transactionHash": "0xc841285c42de120632195a92dd2041a127b874fb71e1a6ff323bbe252cec9fe4", + "transactionIndex": "0x40", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x155e67a", + "effectiveGasPrice": "0x59ad537a", + "from": "0x0e2ae1ed55f6ca1b743bbceb2369f13999dc9e59", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0xeb0b4d1ec6be3bdc68986c5f7f75dcca9973c414", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xe268886b75d2fc8d100cad6a78f5fa62183df743052d6694c23a773120ace53b", + "transactionIndex": "0x41", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x43", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000080000400000000000000000000000000000000000000000000040000000080000000000000000000000000000000000000000000040000000000000000000000000100000000000000000000040000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000400000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xeb0b4d1ec6be3bdc68986c5f7f75dcca9973c414", + "transactionHash": "0xe268886b75d2fc8d100cad6a78f5fa62183df743052d6694c23a773120ace53b", + "transactionIndex": "0x41", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1583c03", + "effectiveGasPrice": "0x59ad537a", + "from": "0x456d114b50129121d80fe15c3410b359c003a9a8", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0x371c8ee29606a488649875b6203f084536c06051", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xe59971671374a77d73d20313bcbf8b8b7a8c1cad91bbc6250cc9be398ce113b9", + "transactionIndex": "0x42", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x44", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000020000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000040000000000000000000000000100000000000000000000040000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000020000000000000000040000000000000000000400000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x371c8ee29606a488649875b6203f084536c06051", + "transactionHash": "0xe59971671374a77d73d20313bcbf8b8b7a8c1cad91bbc6250cc9be398ce113b9", + "transactionIndex": "0x42", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x15a918c", + "effectiveGasPrice": "0x59ad537a", + "from": "0x8213f9c93dbb9c164de854abf278e82a7f3fa2e2", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0x7335e9d21c9fa6cbe1b712bb23da9a8d18902231", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x70e471db4237abc6a6892c52bc4a875731770df8fb2065d0577c47d46953dec8", + "transactionIndex": "0x43", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x45", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000040000000000000000000000000100000020000000000000040000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020001000000000000040000000000000000000400000000000000000000000000000000000000100000000", + "status": "0x1", + "to": "0x7335e9d21c9fa6cbe1b712bb23da9a8d18902231", + "transactionHash": "0x70e471db4237abc6a6892c52bc4a875731770df8fb2065d0577c47d46953dec8", + "transactionIndex": "0x43", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x15ce715", + "effectiveGasPrice": "0x59ad537a", + "from": "0xce6bea11333b159d243523d6221afad62a26cdb4", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0x3c0878f3bb884ad1bcb4a6bda4f3bc94af62c1a7", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x5b9e4a4683c0ea5b2c85a64d7d76c4ccf0d1a9b36a677e9792ec8352aa881948", + "transactionIndex": "0x44", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x46", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000040000000000000000000000000100000000000000000000040000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000020000000000000000040000000000000000000400000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x3c0878f3bb884ad1bcb4a6bda4f3bc94af62c1a7", + "transactionHash": "0x5b9e4a4683c0ea5b2c85a64d7d76c4ccf0d1a9b36a677e9792ec8352aa881948", + "transactionIndex": "0x44", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x15f3c9e", + "effectiveGasPrice": "0x59ad537a", + "from": "0xee6acf8325429f50c9e6d94001ccc4b50f38aaaa", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0xa7b24a4ab69ecd880a8669c66ce73e8503d5398e", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x4ef9192ce6bb4c6ce9c6485e18b9836a452f962cf66f772dbca61ca261120a8a", + "transactionIndex": "0x45", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x47", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000001000040000000000000000000000000100000000000000000000040000000000000000000000000000000000000100000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000008000000400000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa7b24a4ab69ecd880a8669c66ce73e8503d5398e", + "transactionHash": "0x4ef9192ce6bb4c6ce9c6485e18b9836a452f962cf66f772dbca61ca261120a8a", + "transactionIndex": "0x45", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1619227", + "effectiveGasPrice": "0x59ad537a", + "from": "0x8fa43708225c7273b7f3953fb67fc3af4c3514c2", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0xe0e121ea74053b9e124aa0ceaf8f98076e8052eb", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xdd77e4b668155f199ebd0f778291f898ef5b43c2688abd9349805829b3458624", + "transactionIndex": "0x46", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x48", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000040000000000000000000000000100000800000000000002040000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000400000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xe0e121ea74053b9e124aa0ceaf8f98076e8052eb", + "transactionHash": "0xdd77e4b668155f199ebd0f778291f898ef5b43c2688abd9349805829b3458624", + "transactionIndex": "0x46", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x163e7b0", + "effectiveGasPrice": "0x59ad537a", + "from": "0x2b82f82ebee71c1c076dfa1f45c985f8cec708ea", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0x716da007971486e1a8b7e8422dacb7130dd2617a", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x70ab316dbb82628bf91922603e9a0941990c1007430c2a1931b7d9e94e591b1b", + "transactionIndex": "0x47", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x49", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000100040000000000000000000000000000000000000000000000000000040000000000000000000000000100000000000000000000040000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000400000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x716da007971486e1a8b7e8422dacb7130dd2617a", + "transactionHash": "0x70ab316dbb82628bf91922603e9a0941990c1007430c2a1931b7d9e94e591b1b", + "transactionIndex": "0x47", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x16470ba", + "effectiveGasPrice": "0x59ad537a", + "from": "0xd20ccb1152a69a7f10657e2530def9ea4bf089fc", + "gasUsed": "0x890a", + "logs": [ + { + "address": "0x810a3b22c91002155d305c4ce032978e3a97f8c4", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d20ccb1152a69a7f10657e2530def9ea4bf089fc", + "0x0000000000000000000000004eda44b75fd5551f24d1381b46794e2e4b493c30" + ], + "data": "0x00000000000000000000000000000000000000000000000000305120c0f2005c", + "blockNumber": "0x874db3", + "transactionHash": "0xd03a902411896c0134c1b38abcc48a587c323141b40dc7637bcf8d4be1912e5c", + "transactionIndex": "0x48", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x4a", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000001000000000000000000000000000000000000000000000000100000000000000000000800000000000000000000000000000000000000000000000000000000000000008000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000010000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000002002000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000002000000000000", + "status": "0x1", + "to": "0x810a3b22c91002155d305c4ce032978e3a97f8c4", + "transactionHash": "0xd03a902411896c0134c1b38abcc48a587c323141b40dc7637bcf8d4be1912e5c", + "transactionIndex": "0x48", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1654947", + "effectiveGasPrice": "0x59ad537a", + "from": "0x054561895ff3346a82ec2e3915771255704013eb", + "gasUsed": "0xd88d", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000054561895ff3346a82ec2e3915771255704013eb", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000186a0", + "blockNumber": "0x874db3", + "transactionHash": "0xf16c70c29356abf0669140639b89710485e803d20bb355e4a685dd926ae73431", + "transactionIndex": "0x49", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x4b", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000004000000080000000000000000000200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000400000000000100000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000010000000000020000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xf16c70c29356abf0669140639b89710485e803d20bb355e4a685dd926ae73431", + "transactionIndex": "0x49", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x16621d4", + "effectiveGasPrice": "0x59ad537a", + "from": "0x21bfa362f85b37fc3d608306292ee672d98984b4", + "gasUsed": "0xd88d", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000021bfa362f85b37fc3d608306292ee672d98984b4", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000012dc5", + "blockNumber": "0x874db3", + "transactionHash": "0xb4bb6fbe9c8544df97423aa0c5be3bb11c35f3b6d3198d1695eb70f60a30b8e1", + "transactionIndex": "0x4a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x4c", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000010000004000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000200000000000000000000020000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000400000000000100000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000010000000000020000000000000000000000000000000", + "status": "0x1", + "to": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "transactionHash": "0xb4bb6fbe9c8544df97423aa0c5be3bb11c35f3b6d3198d1695eb70f60a30b8e1", + "transactionIndex": "0x4a", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x168775d", + "effectiveGasPrice": "0x59ad537a", + "from": "0x7fd902253bb3d336284a39083fd640b5d4bd54b6", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0x09fc26f891fd3c819095c78bd7a0ee542d0b4085", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xa8a4584aa896d7c77e4ed89e5cb6240f2ea81f1f854858aa28a3b3e4a6324363", + "transactionIndex": "0x4b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x4d", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000040000000000000000000000000100000000000000000000040000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000020000000000000000040000000000000000000400000000000000000000200000000000000000000000000", + "status": "0x1", + "to": "0x09fc26f891fd3c819095c78bd7a0ee542d0b4085", + "transactionHash": "0xa8a4584aa896d7c77e4ed89e5cb6240f2ea81f1f854858aa28a3b3e4a6324363", + "transactionIndex": "0x4b", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x16acce6", + "effectiveGasPrice": "0x59ad537a", + "from": "0x10c53b526cd6d0d779b8fb9ca3c6f087c23b6874", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0x3652afc4034caf5ce34a9d0cbfd82b72c8009f58", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xc97ecec1a2bec2e85fd35f11e4c76858b162963b16a64f8c7ede0b70ea4b4e35", + "transactionIndex": "0x4c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x4e", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000040000000000000000000000000100000000000000000000040000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000008000000000000000000400000000000000000000000000020000000000000000040000000000000000000400200000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x3652afc4034caf5ce34a9d0cbfd82b72c8009f58", + "transactionHash": "0xc97ecec1a2bec2e85fd35f11e4c76858b162963b16a64f8c7ede0b70ea4b4e35", + "transactionIndex": "0x4c", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x16d3792", + "effectiveGasPrice": "0x59ad537a", + "from": "0xa218ab5a8bf5249816dcf51e31e94e0b970d822f", + "gasUsed": "0x26aac", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x0000000000000000000000000000000000000000000000000000d12f0c4c6000", + "blockNumber": "0x874db3", + "transactionHash": "0x8bb6016cb65eef11e18a09c623e9632f960e81e2e18747abf20a434fccf73d9e", + "transactionIndex": "0x4d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x4f", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000e279d9b00", + "blockNumber": "0x874db3", + "transactionHash": "0x8bb6016cb65eef11e18a09c623e9632f960e81e2e18747abf20a434fccf73d9e", + "transactionIndex": "0x4d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x50", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x9a06b261666fa3167c9f119a7a14e634f75f005e8a40ecac9e67299567ff70cb" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018579b65cc7020000000000000000000000000000000000000000000000000000000000000000860d5be4a8eb39e88c204c369a99a0fc30b4c49e01776e9ed052af1c21b6013dcff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000d12f0c4c6000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000d12f0c4c60000000000000000000000000000000000000000000000000000000000000000014a218ab5a8bf5249816dcf51e31e94e0b970d822f000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31686e786c747433746d366d70396174333976326e6c77716d6879387639776e6b6d366d753373000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d73633967683463000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000e279d9b00000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014a218ab5a8bf5249816dcf51e31e94e0b970d822f000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31686e786c747433746d366d70396174333976326e6c77716d6879387639776e6b6d366d753373000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000", + "blockNumber": "0x874db3", + "transactionHash": "0x8bb6016cb65eef11e18a09c623e9632f960e81e2e18747abf20a434fccf73d9e", + "transactionIndex": "0x4d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x51", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000008004000000000000000000000004000000000000000000000000000000000000000000001000000000000000000200000000000020000020000000000000000000000100000000000000000000008000000000000000000010000000000000000000000000000000000000000000000000400000000000000000000000000000000002000001000000000000000000000002000000000000000000000000000000080000000000000000200000000000000000000002000000000000000000000000000400000000000000000100000000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0x8bb6016cb65eef11e18a09c623e9632f960e81e2e18747abf20a434fccf73d9e", + "transactionIndex": "0x4d", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x16f8d1b", + "effectiveGasPrice": "0x59ad537a", + "from": "0x8f73ef601994d756737508802fad745ed84ef652", + "gasUsed": "0x25589", + "logs": [ + { + "address": "0x11eadebda6e11755c1f0380a58cc70a06b3a13cb", + "topics": [ + "0x480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e9", + "0x3e335f642e58802a51295239353eef765cb4501b910394d95464b693bb934b1b", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x0bd8902598702b29bf4e61c307f5729bc0960129359bdb1c3e3181e17558fbfe", + "transactionIndex": "0x4e", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x52", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000020000000000000000000000000000000000000000040100000000000000000000000001000000000000000000000000040000000000000000000000000100000000000000000000040000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000400000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x11eadebda6e11755c1f0380a58cc70a06b3a13cb", + "transactionHash": "0x0bd8902598702b29bf4e61c307f5729bc0960129359bdb1c3e3181e17558fbfe", + "transactionIndex": "0x4e", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x17179b1", + "effectiveGasPrice": "0x59a9a49f", + "from": "0x783aa71c19cf87135789affe309bc5cb01706cd8", + "gasUsed": "0x1ec96", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000ed7cbcd800", + "blockNumber": "0x874db3", + "transactionHash": "0xe0465ac5ed2dbe724313c96e95e6b9fcbb8e90326cf00164c9e160b2ed9dfff1", + "transactionIndex": "0x4f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x53", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x4345f708648fd71b64788323a68a3dc050b1d8c5b3fb12a69fdc5182a9948f87" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856fe48b81d60000000000000000000000000000000000000000000000000000000000000000480ebec6ac4b3ca1d9b52b5e6de7f33958b5c6f73885d49a7ac42d012b40c4efa0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000ed7cbcd80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000ed7cbcd8000000000000000000000000000000000000000000000000000000000000000014783aa71c19cf87135789affe309bc5cb01706cd80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014783aa71c19cf87135789affe309bc5cb01706cd80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xe0465ac5ed2dbe724313c96e95e6b9fcbb8e90326cf00164c9e160b2ed9dfff1", + "transactionIndex": "0x4f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x54", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000008004000000000000000000000004000000000000000000000000000000000002000000000100000080000000000200000000000000000020000000000000000000000100000200000000000000008000000000000000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000080000000000000000200000000000000040000002000000000000000000000000000400000000000000000000000000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0xe0465ac5ed2dbe724313c96e95e6b9fcbb8e90326cf00164c9e160b2ed9dfff1", + "transactionIndex": "0x4f", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x173663b", + "effectiveGasPrice": "0x59a9a49f", + "from": "0xc4b71eca716b97013015137b6b14c90a592d9617", + "gasUsed": "0x1ec8a", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000003b9aca00", + "blockNumber": "0x874db3", + "transactionHash": "0x9492f35c546d039a363aa1e099d3ba2ab35cd3b06465500210bceaaf72ab9068", + "transactionIndex": "0x50", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x55", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x8976bc971931260a0e21dcb1e0185321e8b7c482902d715622f11de31c78aa44" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856fe49ff96fb000000000000000000000000000000000000000000000000000000000000000480999d59c9b0b6c51aa535626851b026c2f55cccceb92fb77f6b0f1862f780cd4c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000014c4b71eca716b97013015137b6b14c90a592d96170000000000000000000000000000000000000000000000000000000000000000000000000000000000000014c4b71eca716b97013015137b6b14c90a592d96170000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x9492f35c546d039a363aa1e099d3ba2ab35cd3b06465500210bceaaf72ab9068", + "transactionIndex": "0x50", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x56", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000004000008004000000000000000000000004000000000000000000000000000000000000000000000000000080000000000200000000000000000020000000000000000000000100000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000080000000000000000200000000000000060000002000000000000000000000000000400020000000000000000000000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0x9492f35c546d039a363aa1e099d3ba2ab35cd3b06465500210bceaaf72ab9068", + "transactionIndex": "0x50", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x17552f5", + "effectiveGasPrice": "0x59a5a867", + "from": "0xe99d91322df5628a6a15aca36a69c2b6e26ce328", + "gasUsed": "0x1ecba", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000009184e72a000", + "blockNumber": "0x874db3", + "transactionHash": "0x9b67f64973ea56d23fbb33440f358c4c344c77f4cf8d502db3e76b2c710cd056", + "transactionIndex": "0x51", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x57", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x2f8c3762381b34b7fd11b58ca4f52919564384eed37faadc8aee85c692b0b6bf" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856fe4a9437ee000000000000000000000000000000000000000000000000000000000000000480761a364ceb3fba39f53a9af792463cfe49a3f4982c319127941c6bdcacacd7540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000009184e72a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000009184e72a0000000000000000000000000000000000000000000000000000000000000000014e99d91322df5628a6a15aca36a69c2b6e26ce3280000000000000000000000000000000000000000000000000000000000000000000000000000000000000014e99d91322df5628a6a15aca36a69c2b6e26ce3280000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x9b67f64973ea56d23fbb33440f358c4c344c77f4cf8d502db3e76b2c710cd056", + "transactionIndex": "0x51", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x58", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000008004000000000000020000000004000000000000000000000000000000000000000000000000000080000000000200000000000000000020000000000000000000000100000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000400080000000000000000000020000000000000001000000000000000000000000000000000000000000000000000000080000000000000000200000000000000040000002001000000000000000000000000400000000000000000000000000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0x9b67f64973ea56d23fbb33440f358c4c344c77f4cf8d502db3e76b2c710cd056", + "transactionIndex": "0x51", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1773f97", + "effectiveGasPrice": "0x59a25f29", + "from": "0xc411a1fdce83648c9e4d4f2f5e1f0924cfd07f9b", + "gasUsed": "0x1eca2", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e800", + "blockNumber": "0x874db3", + "transactionHash": "0x99abde0c82b637657d8578d1c2e98701add5d19c27a0ff9965c3cb91bd8b2c51", + "transactionIndex": "0x52", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x59", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x6f6ace0bb5c4a795633ec184ce8dff5ad5efda75ce24e8c243473ff239e830b1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856fe47566fa50000000000000000000000000000000000000000000000000000000000000004804a894506d0337ac2619c1cb6aa12b54beb48d152784dcf891ae0cb91ee735ffe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000174876e8000000000000000000000000000000000000000000000000000000000000000014c411a1fdce83648c9e4d4f2f5e1f0924cfd07f9b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014c411a1fdce83648c9e4d4f2f5e1f0924cfd07f9b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x99abde0c82b637657d8578d1c2e98701add5d19c27a0ff9965c3cb91bd8b2c51", + "transactionIndex": "0x52", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x5a", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000008004000000000000000000000004000000000000000000000000000000000000000000000000000080000000000200000000000000000020000000000000000000000100000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000081000000000000080000000000000000000000000000000000000000080000000000000000200000000000000040000002000000000000000000000000000400000000000000000000000000000000000000000000000000000000000020000000000000400000000000020000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0x99abde0c82b637657d8578d1c2e98701add5d19c27a0ff9965c3cb91bd8b2c51", + "transactionIndex": "0x52", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x177919f", + "effectiveGasPrice": "0x59682f00", + "from": "0x9859d283971b70b15762848f5520f3086d814a39", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xdd14e8773e3675fa9db80af54714d8008256c051", + "transactionHash": "0x7b24d186a02953288a825ad98825af4b3c2aef73123d9d00b7752f8501f2b3d0", + "transactionIndex": "0x53", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x177e3a7", + "effectiveGasPrice": "0x59682f00", + "from": "0x8212d554c4018ca33176ad9017f8ca821e19cfb3", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x15e73f84c54148c3d33017327ab89be8fc79c7d8", + "transactionHash": "0x0586a4cc5c50d3c069bc32262dce4933e76d3863096250114a908608f53f1e4d", + "transactionIndex": "0x54", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x17842cf", + "effectiveGasPrice": "0x41d5cf7a", + "from": "0xf33827175e9414dfa1e4f0827f106359f6b52ab7", + "gasUsed": "0x5f28", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xff00000000000000000000000000111551187500", + "transactionHash": "0xe73a748bebddd4671359f76e1ac94a4cc3546d44a754e6c5b8cc742ed4af558e", + "transactionIndex": "0x55", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x179aece", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0x82ed773b5ac4ab529048b1ec56c6f13ba4c68a2f", + "gasUsed": "0x16bff", + "logs": [ + { + "address": "0x53025bc3990c54b699c8a3aac807f3ccb6736c16", + "topics": [ + "0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2", + "0x94213903f8f8fe0bd75fbac3c6c138af0847adbde813c697be8bb13081dfd1ab", + "0x0000000000000000000000000000000000000000000000000000000000003ad5", + "0x00000000000000000000000000000000000000000000000000000000001b9450" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000068889828", + "blockNumber": "0x874db3", + "transactionHash": "0x10ec85917eb1ca3c59ad094e0f4ab81b966b5664ca7a063d3c1a7cdb5dc9ec74", + "transactionIndex": "0x56", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x5b", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x02000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000040000000000000000000000000000000000004000000200000000000000000000000200000000040000000000000000000000001100004000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x53025bc3990c54b699c8a3aac807f3ccb6736c16", + "transactionHash": "0x10ec85917eb1ca3c59ad094e0f4ab81b966b5664ca7a063d3c1a7cdb5dc9ec74", + "transactionIndex": "0x56", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x17a06a8", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0xd5c190fe1ac0a49464b81e739f8485cd3422d359", + "gasUsed": "0x57da", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x8263582501d656e733054dea5aad6eb5eebc61a2", + "transactionHash": "0x8002ddb25924b8550505ea720804611984cb64dbab4bd1bdd00f82dd61c34d0e", + "transactionIndex": "0x57", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x17a5e82", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0x22d72db063dd9ce6b96bde48331e6984c1570f38", + "gasUsed": "0x57da", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1e59a308bafad671f63ba5d440489f0a84bf0f7c", + "transactionHash": "0x79b2efe9ce5d8ef34b3d4323fe0f0ee077efd27c200d657a2e743b242e75b749", + "transactionIndex": "0x58", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x17bc1d3", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0xbceb0247dc98c45cd766dbfcc05926a2f488f944", + "gasUsed": "0x16351", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x96816e5e55c8a25783ae36357f33c71e988b2386", + "transactionHash": "0xd4b8f1d0a7e536c484ab164847b5e3c8d2beaaa357771819085b3f4425729892", + "transactionIndex": "0x59", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x17d2dd2", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0xd9750940558df3323e55606e3dcf412ce1009afa", + "gasUsed": "0x16bff", + "logs": [ + { + "address": "0xcd1529457edb4eca50c31b68586096ed778cbc9d", + "topics": [ + "0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2", + "0xab69e3bf4fe3515e9186f448d12a0509065b489deda49fe7af6247fa74df34ac", + "0x000000000000000000000000000000000000000000000000000000000000b060", + "0x000000000000000000000000000000000000000000000000000000000052ad78" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000068889828", + "blockNumber": "0x874db3", + "transactionHash": "0x4ce85a6deb1fe8985cc9d4e1840bbdc50de10164dafa45090dbdbc523e36a0eb", + "transactionIndex": "0x5a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x5c", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000040000000000000004000000000000000000000000000000000000000000000000000800040000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000400004000000000800002000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000040000000000000000000000000000000000", + "status": "0x1", + "to": "0xcd1529457edb4eca50c31b68586096ed778cbc9d", + "transactionHash": "0x4ce85a6deb1fe8985cc9d4e1840bbdc50de10164dafa45090dbdbc523e36a0eb", + "transactionIndex": "0x5a", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x17d85ac", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0xc902329322c4c7891e6727ec1d611235b41b668d", + "gasUsed": "0x57da", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x37771c0079ea2353f88e13a49553bd4b5416976b", + "transactionHash": "0xa7d66f17385ac668a58ce8b905a456c6843472bdfeec423f1f5bb184ea183916", + "transactionIndex": "0x5b", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x17ee8fd", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0xc5eaea93552d1405704e4f1ff9ef9524b031c126", + "gasUsed": "0x16351", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x5b844cf3c3061f5fb26ad384d42649d6e7459c6f", + "transactionHash": "0x7da000bc0f0da438ae14cf736bdfabb4ae4285cd5a018d7522e5b91d53553c8a", + "transactionIndex": "0x5c", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1804c4e", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0x8e50966400932d11d26387f260c6705309d505ab", + "gasUsed": "0x16351", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xb98773fbbd86e0a092b6b8a3e79d7d1d98b8594b", + "transactionHash": "0xa1094e9911fbcdd61c344193db885a578385ab2da78cc79369b3c23423018f2a", + "transactionIndex": "0x5d", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x180ddc0", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0xc99af4fb4b222730cc2720b2ef8ae0f4ad662df7", + "gasUsed": "0x9172", + "logs": [ + { + "address": "0xcda873d56db1e133cf021ac2b2b17619afc0ab90", + "topics": [ + "0x5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da60", + "0x0000000000000000000000000000000000000000000000000000000000000002" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xd762180e8e74567b81f10119c0ab0c075b05c1d57db154265f2c38d0a01ea23a", + "transactionIndex": "0x5e", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x5d", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x04000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000008000000000000000000000000000000000000000100000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000800000000000000", + "status": "0x1", + "to": "0xcda873d56db1e133cf021ac2b2b17619afc0ab90", + "transactionHash": "0xd762180e8e74567b81f10119c0ab0c075b05c1d57db154265f2c38d0a01ea23a", + "transactionIndex": "0x5e", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1824111", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0x7b52f71ca50bce413eaff4a4287cf4b9685f7602", + "gasUsed": "0x16351", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x92bb2befc26020318f5c462224172e20754dc93d", + "transactionHash": "0xfd05c2abb019887364c6ad3248f3cdd4ccd47aa0b8d038050dba2d1eacb8186e", + "transactionIndex": "0x5f", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x183ad10", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0x3ee49ce6389fad126340e1fedd85bfa4013c53aa", + "gasUsed": "0x16bff", + "logs": [ + { + "address": "0x25a21cacdc8d09494d75b02c4f0c1c0267c2a39e", + "topics": [ + "0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2", + "0x6c46f12342d7fb27096eba27d910a715b73e082a22e10f2303a944d5cc7625c4", + "0x00000000000000000000000000000000000000000000000000000000000092ca", + "0x000000000000000000000000000000000000000000000000000000000044cf28" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000068889828", + "blockNumber": "0x874db3", + "transactionHash": "0xe727e9ec8c1fbc62cd51120332fe306635b8a6293ba2fd3dc5b38080d991de10", + "transactionIndex": "0x60", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x5e", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x02000000000000000000000000000000400000000000000100000000000008000000000000000000000000000000200020000000000000004000000080000000000000000000000000000000000000000000000000000000002000000000000000000000000001000000000000000000000008000000000000000000000000000000000000000000200000000000000000000000000000000000000004000000000800000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x25a21cacdc8d09494d75b02c4f0c1c0267c2a39e", + "transactionHash": "0xe727e9ec8c1fbc62cd51120332fe306635b8a6293ba2fd3dc5b38080d991de10", + "transactionIndex": "0x60", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1843e82", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0x95f9ea159ca88e1300ef7ff0b5f100d0d1d8ab28", + "gasUsed": "0x9172", + "logs": [ + { + "address": "0xad663f39ebd626de3f4a5f2f64dc9145b8ed40a8", + "topics": [ + "0x5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da60", + "0x0000000000000000000000000000000000000000000000000000000000000002" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x2d66d9a9d33e1d900b6caa537967df1284f410051cf13a35fce9a18dc2755524", + "transactionIndex": "0x61", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x5f", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x04000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000008000000000000000000004", + "status": "0x1", + "to": "0xad663f39ebd626de3f4a5f2f64dc9145b8ed40a8", + "transactionHash": "0x2d66d9a9d33e1d900b6caa537967df1284f410051cf13a35fce9a18dc2755524", + "transactionIndex": "0x61", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x185aa75", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0xe53e1edc0f1c8baac0fd0cbc0b408fef33402ab4", + "gasUsed": "0x16bf3", + "logs": [ + { + "address": "0x32787cda7eb44a561470afb3134465e4d386b301", + "topics": [ + "0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2", + "0x09d61141acbbb08ad4c49c20ac00dd11d2a6c5fb6e3ee91d455983e67660ecaa", + "0x0000000000000000000000000000000000000000000000000000000000003a67", + "0x00000000000000000000000000000000000000000000000000000000001b60c0" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000068889828", + "blockNumber": "0x874db3", + "transactionHash": "0x12d3bf0420403ee17c701048a6cf5762bd12e1f39bdb546fe83a19be26d7baa9", + "transactionIndex": "0x62", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x60", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000001000000010000000000004000000000000000000000000000000000000000000002000000000000000001000000000000004000000000000000000000000000000000000000000000000018000000000000000000000000000000000040000000000000000100000000000000000000000000000040000000000000000000000000200000000000000000000000000000000000000004000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x32787cda7eb44a561470afb3134465e4d386b301", + "transactionHash": "0x12d3bf0420403ee17c701048a6cf5762bd12e1f39bdb546fe83a19be26d7baa9", + "transactionIndex": "0x62", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1871674", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0x42830f5456a93d2d9d9b2b25d0628f9110a27d57", + "gasUsed": "0x16bff", + "logs": [ + { + "address": "0xab0c2593285d1f637e42764310907e3fedcde31f", + "topics": [ + "0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2", + "0x05cf086199b0e03298908dec8a2a13a4c05b1502f7a3dffca730d039d614fdb8", + "0x000000000000000000000000000000000000000000000000000000000000280c", + "0x00000000000000000000000000000000000000000000000000000000001c2924" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000068889828", + "blockNumber": "0x874db3", + "transactionHash": "0x8e3f605a16aaac4e90dfa212a801ca365ee292c3bcee75a01c2b3fff25770bfa", + "transactionIndex": "0x63", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x61", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000200000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000800000000020000000020000000000000000000080200000000000000000040000000000000000000004000000000801000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", + "status": "0x1", + "to": "0xab0c2593285d1f637e42764310907e3fedcde31f", + "transactionHash": "0x8e3f605a16aaac4e90dfa212a801ca365ee292c3bcee75a01c2b3fff25770bfa", + "transactionIndex": "0x63", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x18d4f8f", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0x32136151194f4730518c6f1e47dbcba1d67932c8", + "gasUsed": "0x6391b", + "logs": [ + { + "address": "0xd43e9149d8078c89f36f63531446f8854b834f87", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x000000000000000000000000711892a1484248e02583f9f66f1318a7f1be8728" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x79f23692734e1a2bfc0f3c8b133deab8df809bd0663c78932b8a2a7701f08b1e", + "transactionIndex": "0x64", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x62", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x752d789c5cb4e2edb0c853f7beb19be52c47883e", + "topics": [ + "0x5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e35", + "0x000000000000000000000000711892a1484248e02583f9f66f1318a7f1be8728", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x4878fc267d2f70139b54f7fc6d7ae27d67aac687fb588b5cae8843ba78efb954" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x79f23692734e1a2bfc0f3c8b133deab8df809bd0663c78932b8a2a7701f08b1e", + "transactionIndex": "0x64", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x63", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x10000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000080000000000000000000040000000000008000000000000000000000000000000000000000000000200020000080000408000000000000000000000000000004000000000000000001000020000000000000000001000000000000000000000000000000000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000040000000010100000000000000000000000000000000000000400000000000000000", + "status": "0x1", + "to": "0x752d789c5cb4e2edb0c853f7beb19be52c47883e", + "transactionHash": "0x79f23692734e1a2bfc0f3c8b133deab8df809bd0663c78932b8a2a7701f08b1e", + "transactionIndex": "0x64", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1947ec9", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0x49277ee36a024120ee218127354c4a3591dc90a9", + "gasUsed": "0x72f3a", + "logs": [ + { + "address": "0xf8d7b42e1ad39f0e321cf8bf913e0e4cd1c1f571", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x000000000000000000000000313a60eb9493917484523242b0ada3db2c4a52ea" + ], + "data": "0x000000000000000000000000000000000000000000000000011c37937e080000", + "blockNumber": "0x874db3", + "transactionHash": "0x92db734af9a9c8e676fc5024f5c8958d2ee509025b2cb699f5245aae18823a4c", + "transactionIndex": "0x65", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x64", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x05f9613adb30026ffd634f38e5c4dfd30a197fa1", + "topics": [ + "0x5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e35", + "0x000000000000000000000000313a60eb9493917484523242b0ada3db2c4a52ea", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x8104123e6b19a1f2d333256d15a3d35410b8b174ea9336c5219f178e56b76b7d" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x92db734af9a9c8e676fc5024f5c8958d2ee509025b2cb699f5245aae18823a4c", + "transactionIndex": "0x65", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x65", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000001000000000000000000000000000000000000000000000040000000080000008000000400000400000000000008000000000000000020000000000000000000800000000000020000000000000000000000000000000020000000000000000000000000001000000040000000000000000000000000000000000000000000000000000000000000000000000400010000000000000000000000000000000000000000000000000000000000000000020020000810000000000000000000000000000000000000000400000000000000000", + "status": "0x1", + "to": "0x05f9613adb30026ffd634f38e5c4dfd30a197fa1", + "transactionHash": "0x92db734af9a9c8e676fc5024f5c8958d2ee509025b2cb699f5245aae18823a4c", + "transactionIndex": "0x65", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x195eac8", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0x03f8c6789af6d4f44d8a668d7418f858897add15", + "gasUsed": "0x16bff", + "logs": [ + { + "address": "0x2212799c0aee95764712a3158dd9bc34222b2ef8", + "topics": [ + "0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2", + "0x262fe3e81e78681c913913382d8d9370ee54e8bbdfda61340f6527e4667fa1b6", + "0x00000000000000000000000000000000000000000000000000000000000061b3", + "0x00000000000000000000000000000000000000000000000000000000002dcc60" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000068889828", + "blockNumber": "0x874db3", + "transactionHash": "0x6fa254af31190632552fd2fdd6539f1dbd2bae59e9cbd1c34dfe6de49a321a7d", + "transactionIndex": "0x66", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x66", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000002000000000000000000800000000000000000002000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000000000000004800000000000000000000000000000000000200000000100000000000000000000000000000004000000000800000000000000000000200000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x2212799c0aee95764712a3158dd9bc34222b2ef8", + "transactionHash": "0x6fa254af31190632552fd2fdd6539f1dbd2bae59e9cbd1c34dfe6de49a321a7d", + "transactionIndex": "0x66", + "type": "0x2" + }, + { + "blobGasPrice": "0x1", + "blobGasUsed": "0x20000", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1963cd0", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0xfef8b9256c6078d1d9175e91a744fbe4bfa7bc32", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xb38feca197385f1c7979c288288e67d29a3278d4", + "transactionHash": "0x7e79b4c1bccf822dedbbdc33a1c6ff447e7a3211603257b916a4fd6b1ad14632", + "transactionIndex": "0x67", + "type": "0x3" + }, + { + "blobGasPrice": "0x1", + "blobGasUsed": "0x20000", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1968ed8", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0xc8d541076f16546f559bb97965a2ec97633ca4d4", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x00a0a9046fc50aa721e9b56268921a63c2f2e169", + "transactionHash": "0x316880caae3bf5f1d12fea70cf2ffc28ca3c5f84eae5cd8a08f3c9e26e7abeb7", + "transactionIndex": "0x68", + "type": "0x3" + }, + { + "blobGasPrice": "0x1", + "blobGasUsed": "0x20000", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x196e0e0", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0xc8e400fe8594e3aa7332802f9c51109bcbd488c5", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xff00000000000000000000000000000000048898", + "transactionHash": "0x098a11c65a2f48f4b660bf4a7c284115d758397c1f7422858895f0add3991494", + "transactionIndex": "0x69", + "type": "0x3" + }, + { + "blobGasPrice": "0x1", + "blobGasUsed": "0x20000", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x19732e8", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0xc144652632fb3ef51eca7f48bedd4e9a0a52acb7", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x00e546b0a52c2879744f6def0fb483d581dc6d20", + "transactionHash": "0xa868d994881c8e87c668884852179871ddd9168e0cdb7cf95a28628bb94fd203", + "transactionIndex": "0x6a", + "type": "0x3" + }, + { + "blobGasPrice": "0x1", + "blobGasUsed": "0x20000", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x19784f0", + "effectiveGasPrice": "0x3bdfee7a", + "from": "0x67ede5675885685eb8e62b840572105b4584e68f", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x65bebafcd2178d2f4a52af736468ddfc37b5dc51", + "transactionHash": "0x53f6eb4d076a372f94d10a6c5dfc6d58b2315152597d2daf73eebcbf942ef09c", + "transactionIndex": "0x6b", + "type": "0x3" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1a105e5", + "effectiveGasPrice": "0x3bdfa392", + "from": "0x0e31db5761c96bcc447b5843102a76577e94cb12", + "gasUsed": "0x980f5", + "logs": [ + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23", + "0x0000000000000000000000000e31db5761c96bcc447b5843102a76577e94cb12", + "0x0000000000000000000000000e31db5761c96bcc447b5843102a76577e94cb12" + ], + "data": "0x000000000000000000000000000000000000000000000000038012929a89e0000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xf5ccef3dc377cbed0ad1083205eaab861ec21a0e161b4db53793e012bf91bbdd", + "transactionIndex": "0x6c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x67", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5", + "0x0000000000000000000000000e31db5761c96bcc447b5843102a76577e94cb12", + "0x0000000000000000000000000e31db5761c96bcc447b5843102a76577e94cb12" + ], + "data": "0x000000000000000000000000000000000000000000000000038012929a89e0000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xf5ccef3dc377cbed0ad1083205eaab861ec21a0e161b4db53793e012bf91bbdd", + "transactionIndex": "0x6c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x68", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x330c5f4dbe72ac987015d3dd390eba3b25968b1c", + "topics": [ + "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", + "0x0000000000000000000000003de2f0a30946c8db2f7fd0d3973f7b16868f3e26", + "0x0000000000000000000000004200000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000038012929a89e000000000000000000000000000000000000000000000000000038012929a89e000000000000007e17600d764ad0b00010000000000000000000000000000000000000000000000000000000116b3000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd8760000000000000000000000004200000000000000000000000000000000000010000000000000000000000000000000000000000000000000038012929a89e0000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c41635f5fd0000000000000000000000000e31db5761c96bcc447b5843102a76577e94cb120000000000000000000000000e31db5761c96bcc447b5843102a76577e94cb12000000000000000000000000000000000000000000000000038012929a89e0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b73757065726272696467650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xf5ccef3dc377cbed0ad1083205eaab861ec21a0e161b4db53793e012bf91bbdd", + "transactionIndex": "0x6c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x69", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a", + "0x0000000000000000000000004200000000000000000000000000000000000010" + ], + "data": "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876000000000000000000000000000000000000000000000000000000000000008000010000000000000000000000000000000000000000000000000000000116b30000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c41635f5fd0000000000000000000000000e31db5761c96bcc447b5843102a76577e94cb120000000000000000000000000e31db5761c96bcc447b5843102a76577e94cb12000000000000000000000000000000000000000000000000038012929a89e0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b737570657262726964676500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xf5ccef3dc377cbed0ad1083205eaab861ec21a0e161b4db53793e012bf91bbdd", + "transactionIndex": "0x6c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x6a", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546", + "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876" + ], + "data": "0x000000000000000000000000000000000000000000000000038012929a89e000", + "blockNumber": "0x874db3", + "transactionHash": "0xf5ccef3dc377cbed0ad1083205eaab861ec21a0e161b4db53793e012bf91bbdd", + "transactionIndex": "0x6c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x6b", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000040000010100200000000000000000000000000000000000000000000000000000000000000000084008000000000000000000010100000000000000000000004000040000002000000000400000000000000000000000000000000000004020000000000000000000800000800c000000000000000000000000002000000000004000000000000000000000000040000000200010000000000000000000000000200008000000000000020000000000000000080002200000000000000000400000040000000080200001000000000000000000000004000200000000000000000000000000020000000001000000a0000000000020000000000", + "status": "0x1", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionHash": "0xf5ccef3dc377cbed0ad1083205eaab861ec21a0e161b4db53793e012bf91bbdd", + "transactionIndex": "0x6c", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1aa872d", + "effectiveGasPrice": "0x3bdfa392", + "from": "0x0b696ef52f456c294405b9fcca992aaa9cc3443f", + "gasUsed": "0x98148", + "logs": [ + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23", + "0x0000000000000000000000000b696ef52f456c294405b9fcca992aaa9cc3443f", + "0x0000000000000000000000000b696ef52f456c294405b9fcca992aaa9cc3443f" + ], + "data": "0x0000000000000000000000000000000000000000000000000384050572e250000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xd7f703d48115310c6b666813b2954a143745473ccc81ac0faef16a602ad4da26", + "transactionIndex": "0x6d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x6c", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5", + "0x0000000000000000000000000b696ef52f456c294405b9fcca992aaa9cc3443f", + "0x0000000000000000000000000b696ef52f456c294405b9fcca992aaa9cc3443f" + ], + "data": "0x0000000000000000000000000000000000000000000000000384050572e250000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xd7f703d48115310c6b666813b2954a143745473ccc81ac0faef16a602ad4da26", + "transactionIndex": "0x6d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x6d", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x330c5f4dbe72ac987015d3dd390eba3b25968b1c", + "topics": [ + "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", + "0x0000000000000000000000003de2f0a30946c8db2f7fd0d3973f7b16868f3e26", + "0x0000000000000000000000004200000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020d0000000000000000000000000000000000000000000000000384050572e250000000000000000000000000000000000000000000000000000384050572e25000000000000007e17600d764ad0b00010000000000000000000000000000000000000000000000000000000116b4000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd87600000000000000000000000042000000000000000000000000000000000000100000000000000000000000000000000000000000000000000384050572e250000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c41635f5fd0000000000000000000000000b696ef52f456c294405b9fcca992aaa9cc3443f0000000000000000000000000b696ef52f456c294405b9fcca992aaa9cc3443f0000000000000000000000000000000000000000000000000384050572e250000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b73757065726272696467650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xd7f703d48115310c6b666813b2954a143745473ccc81ac0faef16a602ad4da26", + "transactionIndex": "0x6d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x6e", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a", + "0x0000000000000000000000004200000000000000000000000000000000000010" + ], + "data": "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876000000000000000000000000000000000000000000000000000000000000008000010000000000000000000000000000000000000000000000000000000116b40000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c41635f5fd0000000000000000000000000b696ef52f456c294405b9fcca992aaa9cc3443f0000000000000000000000000b696ef52f456c294405b9fcca992aaa9cc3443f0000000000000000000000000000000000000000000000000384050572e250000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b737570657262726964676500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xd7f703d48115310c6b666813b2954a143745473ccc81ac0faef16a602ad4da26", + "transactionIndex": "0x6d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x6f", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546", + "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876" + ], + "data": "0x0000000000000000000000000000000000000000000000000384050572e25000", + "blockNumber": "0x874db3", + "transactionHash": "0xd7f703d48115310c6b666813b2954a143745473ccc81ac0faef16a602ad4da26", + "transactionIndex": "0x6d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x70", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000040000010100200000000000000000000000000000000000000000000000000000080000000000084008000000000000000000010100000000000000000000004000040000002000000000400000000000000000000000000000000000000020000000000000000000800000800c000000000000000000000000002000000000004000000000000000000000000040000000200010000000000000000000000000200008000000000000020000000000000000090002200000000000000000400000000000000080200001000000000008000000000004000200000000000000000000000000020000000001000000a0000000000000000000000", + "status": "0x1", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionHash": "0xd7f703d48115310c6b666813b2954a143745473ccc81ac0faef16a602ad4da26", + "transactionIndex": "0x6d", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1b40875", + "effectiveGasPrice": "0x3bdfa392", + "from": "0x5f996456533606b30a0c0c373df0c6b882a0810c", + "gasUsed": "0x98148", + "logs": [ + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23", + "0x0000000000000000000000005f996456533606b30a0c0c373df0c6b882a0810c", + "0x0000000000000000000000005f996456533606b30a0c0c373df0c6b882a0810c" + ], + "data": "0x000000000000000000000000000000000000000000000000037facb59252e0000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x6e5f4326d1676c2bcf19dbf29945f798e72acc5194b07cdf7a80e31f85b79bda", + "transactionIndex": "0x6e", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x71", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5", + "0x0000000000000000000000005f996456533606b30a0c0c373df0c6b882a0810c", + "0x0000000000000000000000005f996456533606b30a0c0c373df0c6b882a0810c" + ], + "data": "0x000000000000000000000000000000000000000000000000037facb59252e0000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x6e5f4326d1676c2bcf19dbf29945f798e72acc5194b07cdf7a80e31f85b79bda", + "transactionIndex": "0x6e", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x72", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x330c5f4dbe72ac987015d3dd390eba3b25968b1c", + "topics": [ + "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", + "0x0000000000000000000000003de2f0a30946c8db2f7fd0d3973f7b16868f3e26", + "0x0000000000000000000000004200000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000037facb59252e000000000000000000000000000000000000000000000000000037facb59252e000000000000007e17600d764ad0b00010000000000000000000000000000000000000000000000000000000116b5000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd8760000000000000000000000004200000000000000000000000000000000000010000000000000000000000000000000000000000000000000037facb59252e0000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c41635f5fd0000000000000000000000005f996456533606b30a0c0c373df0c6b882a0810c0000000000000000000000005f996456533606b30a0c0c373df0c6b882a0810c000000000000000000000000000000000000000000000000037facb59252e0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b73757065726272696467650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x6e5f4326d1676c2bcf19dbf29945f798e72acc5194b07cdf7a80e31f85b79bda", + "transactionIndex": "0x6e", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x73", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a", + "0x0000000000000000000000004200000000000000000000000000000000000010" + ], + "data": "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876000000000000000000000000000000000000000000000000000000000000008000010000000000000000000000000000000000000000000000000000000116b50000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c41635f5fd0000000000000000000000005f996456533606b30a0c0c373df0c6b882a0810c0000000000000000000000005f996456533606b30a0c0c373df0c6b882a0810c000000000000000000000000000000000000000000000000037facb59252e0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b737570657262726964676500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x6e5f4326d1676c2bcf19dbf29945f798e72acc5194b07cdf7a80e31f85b79bda", + "transactionIndex": "0x6e", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x74", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546", + "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876" + ], + "data": "0x000000000000000000000000000000000000000000000000037facb59252e000", + "blockNumber": "0x874db3", + "transactionHash": "0x6e5f4326d1676c2bcf19dbf29945f798e72acc5194b07cdf7a80e31f85b79bda", + "transactionIndex": "0x6e", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x75", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000040000010100200000000000000000000000000000000000000000000000000000000000000000084008000000000000000000010100000000000000000000004000040000002000000000400000000000000000000000000000000000000020000000000000000000800000800c000000000000000000000000002000000000104001000000000000000000000040000000200010000000000800000000000000200008000000000000020000000000000000080002200000000000000000400000000000000080200001000000000000000000000004000200000000000000000000000000020000000001000000a0000000000000000000000", + "status": "0x1", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionHash": "0x6e5f4326d1676c2bcf19dbf29945f798e72acc5194b07cdf7a80e31f85b79bda", + "transactionIndex": "0x6e", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1bd89bd", + "effectiveGasPrice": "0x3bdfa392", + "from": "0xc2da0bc034144e7a2c2f615e0ca65fa4f08607cc", + "gasUsed": "0x98148", + "logs": [ + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23", + "0x000000000000000000000000c2da0bc034144e7a2c2f615e0ca65fa4f08607cc", + "0x000000000000000000000000c2da0bc034144e7a2c2f615e0ca65fa4f08607cc" + ], + "data": "0x000000000000000000000000000000000000000000000000037f48aa336600000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x306f59c604fcf350af2d816519ac246dfe62940d907635c5e978b9b5e7dc734f", + "transactionIndex": "0x6f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x76", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5", + "0x000000000000000000000000c2da0bc034144e7a2c2f615e0ca65fa4f08607cc", + "0x000000000000000000000000c2da0bc034144e7a2c2f615e0ca65fa4f08607cc" + ], + "data": "0x000000000000000000000000000000000000000000000000037f48aa336600000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x306f59c604fcf350af2d816519ac246dfe62940d907635c5e978b9b5e7dc734f", + "transactionIndex": "0x6f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x77", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x330c5f4dbe72ac987015d3dd390eba3b25968b1c", + "topics": [ + "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", + "0x0000000000000000000000003de2f0a30946c8db2f7fd0d3973f7b16868f3e26", + "0x0000000000000000000000004200000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000037f48aa33660000000000000000000000000000000000000000000000000000037f48aa33660000000000000007e17600d764ad0b00010000000000000000000000000000000000000000000000000000000116b6000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd8760000000000000000000000004200000000000000000000000000000000000010000000000000000000000000000000000000000000000000037f48aa336600000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c41635f5fd000000000000000000000000c2da0bc034144e7a2c2f615e0ca65fa4f08607cc000000000000000000000000c2da0bc034144e7a2c2f615e0ca65fa4f08607cc000000000000000000000000000000000000000000000000037f48aa336600000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b73757065726272696467650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x306f59c604fcf350af2d816519ac246dfe62940d907635c5e978b9b5e7dc734f", + "transactionIndex": "0x6f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x78", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a", + "0x0000000000000000000000004200000000000000000000000000000000000010" + ], + "data": "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876000000000000000000000000000000000000000000000000000000000000008000010000000000000000000000000000000000000000000000000000000116b60000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c41635f5fd000000000000000000000000c2da0bc034144e7a2c2f615e0ca65fa4f08607cc000000000000000000000000c2da0bc034144e7a2c2f615e0ca65fa4f08607cc000000000000000000000000000000000000000000000000037f48aa336600000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b737570657262726964676500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x306f59c604fcf350af2d816519ac246dfe62940d907635c5e978b9b5e7dc734f", + "transactionIndex": "0x6f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x79", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546", + "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876" + ], + "data": "0x000000000000000000000000000000000000000000000000037f48aa33660000", + "blockNumber": "0x874db3", + "transactionHash": "0x306f59c604fcf350af2d816519ac246dfe62940d907635c5e978b9b5e7dc734f", + "transactionIndex": "0x6f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x7a", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000040000010100200000000000000000000000000000000000000000000000000000000000000000084008000000000000004000010100000000000000000000004000040000002000000000400000000000000000000000000000000000000020000000000000000000800202800c000000000000000000000000002000000000004000000000000000000000000040000000200010000000000000000000000000200008000000000000020000000000000000080002200000000000000000400000000000000080200001000000000000000000000004000200000000000000000000000000020000000001000000a0000000000000000000000", + "status": "0x1", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionHash": "0x306f59c604fcf350af2d816519ac246dfe62940d907635c5e978b9b5e7dc734f", + "transactionIndex": "0x6f", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1be0d4c", + "effectiveGasPrice": "0x3b9aca05", + "from": "0x15ec046a51a168d4d0649e192c4dffe9e02dd6eb", + "gasUsed": "0x838f", + "logs": [ + { + "address": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000015ec046a51a168d4d0649e192c4dffe9e02dd6eb" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x35ccec2a8a647d7be0acd142ecf8d8b8a416436908b7149965df8a92c0eac5d2", + "transactionIndex": "0x70", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x7b", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000802000000000000000000000010000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000001000000000000000000000000000000000000004000000000002000000000000000000000000000000000000000000000000000020000000040000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionHash": "0x35ccec2a8a647d7be0acd142ecf8d8b8a416436908b7149965df8a92c0eac5d2", + "transactionIndex": "0x70", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1be90db", + "effectiveGasPrice": "0x3b9aca05", + "from": "0x1b3e09cd51717f8d6598d22bd1be1e40cbc2e5a3", + "gasUsed": "0x838f", + "logs": [ + { + "address": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001b3e09cd51717f8d6598d22bd1be1e40cbc2e5a3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xcc85e93b1cb7c68b92f7a9df03554244200bee751009aba0ab771f38bb28672a", + "transactionIndex": "0x71", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x7c", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000802100000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000080000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000100000000000000000000000000000", + "status": "0x1", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionHash": "0xcc85e93b1cb7c68b92f7a9df03554244200bee751009aba0ab771f38bb28672a", + "transactionIndex": "0x71", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1c2df40", + "effectiveGasPrice": "0x2d900242", + "from": "0xf07d1008b79ef4140ac2e2c410a3fcf1173e74ac", + "gasUsed": "0x44e65", + "logs": [ + { + "address": "0xb2ead588f14e69266d1b87936b75325181377076", + "topics": [ + "0x25f6d5cc356ee0b49cf708c13c68197947f5740a878a298765e4b18e4afdaf04", + "0x22c7a21e7aae86982f42256852103721102dffa607f5f1890eb87d518c5fb3fa", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x1fa90138614ba10e82781fd95b4c0a130a974890223ca9c339595e34de00405b" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xf8641126e50973306d8a5868a5ef780dc46880667a404a0836a9c2b44fdfdac6", + "transactionIndex": "0x72", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x7d", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000800000040000000000000000000000000000000000000008000000000000000000020000000000000000000020000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000002000000000100000000000000000000020200200000000000000000000000000000000400000000000000000000000000000", + "status": "0x1", + "to": "0xb2ead588f14e69266d1b87936b75325181377076", + "transactionHash": "0xf8641126e50973306d8a5868a5ef780dc46880667a404a0836a9c2b44fdfdac6", + "transactionIndex": "0x72", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1c3e1a5", + "effectiveGasPrice": "0x2425d560", + "from": "0xcf8a9d1e489c58f4c3d69b45380fb4a6c03ada47", + "gasUsed": "0x10265", + "logs": [ + { + "address": "0xfc4d448b2f7972d3c103bac901416d972dba29e4", + "topics": [ + "0x0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f", + "0x0000000000000000000000000000000000000000000000000000000fe88c0580", + "0x000000000000000000000000000000000000000000000000000000000000024c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000068889769", + "blockNumber": "0x874db3", + "transactionHash": "0x3a93514ff2ed6aba9ab3a5a914086f3d6089482e92775afdc1e2370d4013c94c", + "transactionIndex": "0x73", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x7e", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xfc4d448b2f7972d3c103bac901416d972dba29e4", + "topics": [ + "0x0109fc6f55cf40689f02fbaad7af7fe7bbac8a3d2186600afc7d3e10cac60271", + "0x000000000000000000000000000000000000000000000000000000000000024c", + "0x000000000000000000000000cf8a9d1e489c58f4c3d69b45380fb4a6c03ada47" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000068889769", + "blockNumber": "0x874db3", + "transactionHash": "0x3a93514ff2ed6aba9ab3a5a914086f3d6089482e92775afdc1e2370d4013c94c", + "transactionIndex": "0x73", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x7f", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200002000000000000000000000000000000000000002002000000000000001000000000000000000000000000000000000200000000000000008000000100000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000001000000000000000880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000008000000000000004000000800000000000000001000000000000", + "status": "0x1", + "to": "0xfc4d448b2f7972d3c103bac901416d972dba29e4", + "transactionHash": "0x3a93514ff2ed6aba9ab3a5a914086f3d6089482e92775afdc1e2370d4013c94c", + "transactionIndex": "0x73", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1c4953c", + "effectiveGasPrice": "0xfc46d7a", + "from": "0x8ea8b141669f0d027f53eb011d3c0de30052ad78", + "gasUsed": "0xb397", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000008ea8b141669f0d027f53eb011d3c0de30052ad78", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x000000000000000000000000000000000000000000000000000000d1967b9c5c", + "blockNumber": "0x874db3", + "transactionHash": "0x59493c877621510c963647c6ca26382220af8f814e079db9f1752486344244cf", + "transactionIndex": "0x74", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x80", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000040000000000000000000000000000000000000000000020000000010000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "transactionHash": "0x59493c877621510c963647c6ca26382220af8f814e079db9f1752486344244cf", + "transactionIndex": "0x74", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1c548d3", + "effectiveGasPrice": "0xfc46d7a", + "from": "0x55e0627e94937a7867e9d8da686d9eeea76c6c17", + "gasUsed": "0xb397", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000055e0627e94937a7867e9d8da686d9eeea76c6c17", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x000000000000000000000000000000000000000000000000000000a85bfe58c6", + "blockNumber": "0x874db3", + "transactionHash": "0xd566bd607fdb3cec39cda17549d699b418e2bacdfdd8a404324d2ee6bc20868e", + "transactionIndex": "0x75", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x81", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000800000000000000000000000020000000000000040000000000000000000000000000000000010000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "transactionHash": "0xd566bd607fdb3cec39cda17549d699b418e2bacdfdd8a404324d2ee6bc20868e", + "transactionIndex": "0x75", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1c68861", + "effectiveGasPrice": "0xfc46d7a", + "from": "0xbca341be594cb6acc2a218be61c1693f4d9637d6", + "gasUsed": "0x13f8e", + "logs": [ + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000bca341be594cb6acc2a218be61c1693f4d9637d6", + "0x000000000000000000000000006cbf409ca275ba022111db32bdae054a97d488" + ], + "data": "0x000000000000000000000000000000000000000000000000000000001c615cc6", + "blockNumber": "0x874db3", + "transactionHash": "0xaa22499c2cbb157a47fdb370bb81fc7a0767179c5a4a5ec19fa448c441d326a8", + "transactionIndex": "0x76", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x82", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x006cbf409ca275ba022111db32bdae054a97d488", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000bca341be594cb6acc2a218be61c1693f4d9637d6" + ], + "data": "0x000000000000000000000000000000000000000000000000000000001c615cc6", + "blockNumber": "0x874db3", + "transactionHash": "0xaa22499c2cbb157a47fdb370bb81fc7a0767179c5a4a5ec19fa448c441d326a8", + "transactionIndex": "0x76", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x83", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x006cbf409ca275ba022111db32bdae054a97d488", + "topics": [ + "0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d", + "0x000000000000000000000000bca341be594cb6acc2a218be61c1693f4d9637d6", + "0x000000000000000000000000000000000000000000000000000000001c615cc6" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xaa22499c2cbb157a47fdb370bb81fc7a0767179c5a4a5ec19fa448c441d326a8", + "transactionIndex": "0x76", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x84", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000014000000000000000000000000000800000000000000000000000600000000000000000000000000000000000004000000000000000000000000000000000080000000000008000000000000000000000000000000000000000040000000021100000008000000000800000000080000000000000010000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000002000000000000000000000000400000020000000000000000000000000000000000002000000000100000000000000000002", + "status": "0x1", + "to": "0x006cbf409ca275ba022111db32bdae054a97d488", + "transactionHash": "0xaa22499c2cbb157a47fdb370bb81fc7a0767179c5a4a5ec19fa448c441d326a8", + "transactionIndex": "0x76", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1c73bdb", + "effectiveGasPrice": "0xfc46d7a", + "from": "0x698ae761ead297028145357dd1b4c21512553a9a", + "gasUsed": "0xb37a", + "logs": [ + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000698ae761ead297028145357dd1b4c21512553a9a", + "0x000000000000000000000000006cbf409ca275ba022111db32bdae054a97d488" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000008e66b0", + "blockNumber": "0x874db3", + "transactionHash": "0xae3cf42bb538c5d39eac894530b458d138a2b232d840d28448e2e1355ab33726", + "transactionIndex": "0x77", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x85", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000200004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000080000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000002000000000000000000040000000000000000000000040000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionHash": "0xae3cf42bb538c5d39eac894530b458d138a2b232d840d28448e2e1355ab33726", + "transactionIndex": "0x77", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1c7a1b6", + "effectiveGasPrice": "0xfc46d7a", + "from": "0xb6a5e9880b3e9e77f473e8648220f645efbf9b52", + "gasUsed": "0x65db", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000b6a5e9880b3e9e77f473e8648220f645efbf9b52", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000008657b7f223", + "blockNumber": "0x874db3", + "transactionHash": "0x44deacb6e34923f8c216bf3e802500fd6a255855de59b612ea0620b1be97455d", + "transactionIndex": "0x78", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x86", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000208200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000800000000000000000000020000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "transactionHash": "0x44deacb6e34923f8c216bf3e802500fd6a255855de59b612ea0620b1be97455d", + "transactionIndex": "0x78", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1c8f2ba", + "effectiveGasPrice": "0xb5ffd9f", + "from": "0xc425e3c7f8c4f403bf8005b6a9beda5ca349a36b", + "gasUsed": "0x15104", + "logs": [ + { + "address": "0xc06f0d4ba1d1ab968dd38da6d109424fc66c67d7", + "topics": [ + "0xdd84a3fa9ef9409f550d54d6affec7e9c480c878c6ab27b78912a03e1b371c6e", + "0x000000000000000000000000000000000000000000000000ccf0a31a221f3c9b" + ], + "data": "0x00000000000000000000000000000000000000000000000000000005ea6ecfe00000000000000000000000000000000000000000000000000000000068889828", + "blockNumber": "0x874db3", + "transactionHash": "0xd08354594f5cca4bedd49fb33324c28f4159fa49e0b6b050b850e61f032d7c2e", + "transactionIndex": "0x79", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x87", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8b07bedbb1b70b8cccd3c8716ef81739cf242fbc", + "topics": [ + "0xb967c9b9e1b7af9a61ca71ff00e9f5b89ec6f2e268de8dacf12f0de8e51f3e47" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000ccf0a31a221f3c9b00000000000000000000000000000000000000000000000000000005ea6ecfe0", + "blockNumber": "0x874db3", + "transactionHash": "0xd08354594f5cca4bedd49fb33324c28f4159fa49e0b6b050b850e61f032d7c2e", + "transactionIndex": "0x79", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x88", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8b07bedbb1b70b8cccd3c8716ef81739cf242fbc", + "topics": [ + "0x198d6990ef96613a9026203077e422916918b03ff47f0be6bee7b02d8e139ef0", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000a917377a80085ea9ccf512eb495b4b63ee2cfd3e953b5c19233bd57b788ef0000000000000000000000000000000000000000000000000000000000032ab5", + "blockNumber": "0x874db3", + "transactionHash": "0xd08354594f5cca4bedd49fb33324c28f4159fa49e0b6b050b850e61f032d7c2e", + "transactionIndex": "0x79", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x89", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00040000000000000000000000000000000000000000000000000000000000000000000000000000000800a00000000000010000000000000000000020000200000000000400000000000000000000000000000000000000200200000000000100000000020000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000008000000020000000000000000000000000000000040000000000000000000000000000000800000020000000000800000000000000000000002000000000000000000000000000000000", + "status": "0x1", + "to": "0x8b07bedbb1b70b8cccd3c8716ef81739cf242fbc", + "transactionHash": "0xd08354594f5cca4bedd49fb33324c28f4159fa49e0b6b050b850e61f032d7c2e", + "transactionIndex": "0x79", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x1c960a6", + "effectiveGasPrice": "0x34014fa", + "from": "0xb36a813a10a3c6d2a6c67cdd4c4049cc7d54dfa7", + "gasUsed": "0x6dec", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x0", + "to": "0xaf74988fb665729a13327c7870ad2d4ee8a1ae6b", + "transactionHash": "0xdf1e424cfa79316d57353aff54a3f910b4594bd4982331339f6d5d0d9f569a31", + "transactionIndex": "0x7a", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": "0x89a28c72c8111bfb22d9b96d5b28be1f333c5bba", + "cumulativeGasUsed": "0x1d6b08b", + "effectiveGasPrice": "0x34014fa", + "from": "0xd38198b501402e1cc0e01d1db0f09bf00b06c0ab", + "gasUsed": "0xd4fe5", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": null, + "transactionHash": "0x7dca7ebb9c0c7d2b7ac6fd49a364aa6c12dd9ef57e5ccc7b8a1bc80e2ffff156", + "transactionIndex": "0x7b", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x20c2ba3", + "effectiveGasPrice": "0x34014fa", + "from": "0x556b509a93fa66a6047a8eb128972d1814af78d7", + "gasUsed": "0x357b18", + "logs": [ + { + "address": "0xd31e61e50da6c4c4aa6bac0587a92c3b5bf6ea5d", + "topics": [ + "0x7394f4a19a13c7b92b5bb71033245305946ef78452f7b4986ac1390b5df4ebd7", + "0x00000000000000000000000000000000000000000000000000000000000004aa", + "0x79149933eb01d6c64092f2266de149ec247ab5af102753c1118fcfbe1358f912", + "0x6658f829a45aa75a86521dfbbea649c530516277c9882d536112b4f910eeb1a2" + ], + "data": "0x637dfe11489bd91d334617e51426b832cc02a44b53c0fb61e6441bfbb497007800000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000068835228000000000000000000000000000000000000000000000000000000006888a638000000000000000000000000000000000000000000000000000000000086dd330000000000000000000000000000000000000000000000000000000000874edf0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x237033c20f66bc27f87787887ed5f080f6954a7521f029474a342b329a4d2782", + "transactionIndex": "0x7c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x8a", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000001000000000800001000000000000000000400000000000001000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000020000000000800000000000000000006000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000010000000000000000040000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000", + "status": "0x1", + "to": "0xd31e61e50da6c4c4aa6bac0587a92c3b5bf6ea5d", + "transactionHash": "0x237033c20f66bc27f87787887ed5f080f6954a7521f029474a342b329a4d2782", + "transactionIndex": "0x7c", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x20dcbf6", + "effectiveGasPrice": "0x34014fa", + "from": "0xe3f2789453410cc9cb2e8a99aba9181c5590a96d", + "gasUsed": "0x1a053", + "logs": [ + { + "address": "0x0826ab1ef7ab293933d7e3ce1122b5d677a23e71", + "topics": [ + "0x7394f4a19a13c7b92b5bb71033245305946ef78452f7b4986ac1390b5df4ebd7", + "0x000000000000000000000000000000000000000000000000000000000000137f", + "0xae3f291bc6b6b756404f1d1aed42f35d692bd3069891a422805f7eb66c0ee6a2", + "0xa4d88d01a8d87bdd8f233b4d73452166e91e6ba152d8a77958244529b6b5b397" + ], + "data": "0xc51f14d93c708e6d251ca7bd09d0535b82bb8a964a54d070c922c8521771b643000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000068835228000000000000000000000000000000000000000000000000000000006888a638000000000000000000000000000000000000000000000000000000000086dd330000000000000000000000000000000000000000000000000000000000874edf0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xf346a8b7568024ba177a196fff1d141da59dd542bdd67b05a27740a413f0a6c9", + "transactionIndex": "0x7d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x8b", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000100000000000000000000000400000000000000000000000000000080000000000000000000000001000400000000000000000000000002000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000001000000800000000000000001000000000040000000400000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000", + "status": "0x1", + "to": "0x0826ab1ef7ab293933d7e3ce1122b5d677a23e71", + "transactionHash": "0xf346a8b7568024ba177a196fff1d141da59dd542bdd67b05a27740a413f0a6c9", + "transactionIndex": "0x7d", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2444e92", + "effectiveGasPrice": "0x34014fa", + "from": "0x556b509a93fa66a6047a8eb128972d1814af78d7", + "gasUsed": "0x36829c", + "logs": [ + { + "address": "0xd31e61e50da6c4c4aa6bac0587a92c3b5bf6ea5d", + "topics": [ + "0x7394f4a19a13c7b92b5bb71033245305946ef78452f7b4986ac1390b5df4ebd7", + "0x00000000000000000000000000000000000000000000000000000000000004ab", + "0x6658f829a45aa75a86521dfbbea649c530516277c9882d536112b4f910eeb1a2", + "0x400eb3c57ad995b51cc525b8e05eeba1aaad8792023367845b21ca4aa48dd735" + ], + "data": "0x637dfe11489bd91d334617e51426b832cc02a44b53c0fb61e6441bfbb497007800000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000068835228000000000000000000000000000000000000000000000000000000006888a638000000000000000000000000000000000000000000000000000000000086dd330000000000000000000000000000000000000000000000000000000000874edf0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x7fd9e878d73b8e43449d14d8bb5aa8b1f8b44cf5a2a9e1726b5e14ab9379f2e9", + "transactionIndex": "0x7e", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x8c", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000040000000000000000000000000400000000000000000000000000000000000000000000000000000001000001000c00001000000000000000000000000000000001000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000200000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000002000000000000000000008", + "status": "0x1", + "to": "0xd31e61e50da6c4c4aa6bac0587a92c3b5bf6ea5d", + "transactionHash": "0x7fd9e878d73b8e43449d14d8bb5aa8b1f8b44cf5a2a9e1726b5e14ab9379f2e9", + "transactionIndex": "0x7e", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x24684bc", + "effectiveGasPrice": "0x34014fa", + "from": "0x397d57c9cd3f4eb5db22c5c62b8f4658f12fd13e", + "gasUsed": "0x2362a", + "logs": [ + { + "address": "0x191f242057651d2297dd0f1129d816dc82e115c0", + "topics": [ + "0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1", + "0x0000000000000000000000000000000000000000000000000000000000002d7f", + "0x80e3492d40157bfbcd4f7d4fe598c51d26dfddc187f289bae84f9192d45454c4" + ], + "data": "0x000000000000000000000000d0b010706fe506934923e4fbe185950da641b8c5000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000397d57c9cd3f4eb5db22c5c62b8f4658f12fd13ed857669eb55a571af8d049a558d2dcbebeed87fc01a2f39ce33f92bace987c77000000000000000000000000000000000000000000000000000000000045247a0000000000000000000000000000000000000000000000000000000068889828", + "blockNumber": "0x874db3", + "transactionHash": "0x1149bcbcad59c7fdd0a22b6a7ea9978dbb388a60061a28243dfdb4a4b7c78ef9", + "transactionIndex": "0x7f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x8d", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xd0b010706fe506934923e4fbe185950da641b8c5", + "topics": [ + "0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b", + "0x0000000000000000000000000000000000000000000000000000000000002d7f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000009c0000000000000000000000000000000000000000000000000000000068889828397d57c9cd3f4eb5db22c5c62b8f4658f12fd13e5b00f6f9f5ab0400d6bd69ab0518dc40df39d80a77f2025e47670e9c2a5f1a200000000000000000000000000000000000000000000000000000000000002d5d000000000000000000000000000000000000000000000000000000000045247a000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x1149bcbcad59c7fdd0a22b6a7ea9978dbb388a60061a28243dfdb4a4b7c78ef9", + "transactionIndex": "0x7f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x8e", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xd0b010706fe506934923e4fbe185950da641b8c5", + "topics": [ + "0x7394f4a19a13c7b92b5bb71033245305946ef78452f7b4986ac1390b5df4ebd7", + "0x0000000000000000000000000000000000000000000000000000000000002d5d", + "0xed38342cafa0fecc8b020122e136f2c8b4ddfc69f4ccc4db0d35c54e874724a3", + "0x8d712352ef30e88352ebbe32d2be0e39c4e4ac5dcb2259db86de2e9fc8371481" + ], + "data": "0x80e3492d40157bfbcd4f7d4fe598c51d26dfddc187f289bae84f9192d45454c40000000000000000000000000000000000000000000000000000000000002d7f0000000000000000000000000000000000000000000000000000000068835228000000000000000000000000000000000000000000000000000000006888a638000000000000000000000000000000000000000000000000000000000086dd330000000000000000000000000000000000000000000000000000000000874edf0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x1149bcbcad59c7fdd0a22b6a7ea9978dbb388a60061a28243dfdb4a4b7c78ef9", + "transactionIndex": "0x7f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x8f", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000010000000000000000000000000000000000000000000000400000000200000000000000000000000000000000000000020000001000004000000002088000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000840020000800000000000001000000000000000000000000000000000000001000000000000000000000000000000000000020000080000000000800000000040400000000800000000000100000000800000000000000000000000000000001000000000000000001000000000000000200000000000000000000000000000000000002200000000000000004000", + "status": "0x1", + "to": "0xd0b010706fe506934923e4fbe185950da641b8c5", + "transactionHash": "0x1149bcbcad59c7fdd0a22b6a7ea9978dbb388a60061a28243dfdb4a4b7c78ef9", + "transactionIndex": "0x7f", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2478183", + "effectiveGasPrice": "0x34014fa", + "from": "0xa9448f0af6fa4cd2fa234ce43954caf500821025", + "gasUsed": "0xfcc7", + "logs": [ + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000a9448f0af6fa4cd2fa234ce43954caf500821025", + "0x000000000000000000000000b3b493300a4d5ba630ff466f26ef557894e6e7c1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000bc690840", + "blockNumber": "0x874db3", + "transactionHash": "0xdbe96dba82165ff17ae4efc14ff1ff59caba43cf4455c098e3f32e1a5d276114", + "transactionIndex": "0x80", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x90", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000a9448f0af6fa4cd2fa234ce43954caf500821025" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000bc690840", + "blockNumber": "0x874db3", + "transactionHash": "0xdbe96dba82165ff17ae4efc14ff1ff59caba43cf4455c098e3f32e1a5d276114", + "transactionIndex": "0x80", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x91", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x0000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000002010000000000000000080000000000000000000000001000000000000000000000000010000000000000000000000000000000004000000000000000000000400000000000000000000000000000000000000000000200a000000000000002000000000000000000000000000000002000000000000000000020000008000400000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionHash": "0xdbe96dba82165ff17ae4efc14ff1ff59caba43cf4455c098e3f32e1a5d276114", + "transactionIndex": "0x80", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2480795", + "effectiveGasPrice": "0x1e4de32", + "from": "0x699c1c9568907847f2c9845ab6df5702e6afa4be", + "gasUsed": "0x8612", + "logs": [ + { + "address": "0xe918a5a47b8e0afac2382bc5d1e981613e63fb07", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000699c1c9568907847f2c9845ab6df5702e6afa4be", + "0x000000000000000000000000ab9b83d159ffd0aa6a4a90b16de7a94cca444f2e" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000c350", + "blockNumber": "0x874db3", + "transactionHash": "0xcc5bb8335b9006f0e6a4ccaf8db7b59824080e742aff7ac0dcf10306e3c4982e", + "transactionIndex": "0x81", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x92", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000008004000000000000000000000000000000000000000000000000000008000000000000010000000000000000000000000000000000000000008800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000001000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xe918a5a47b8e0afac2382bc5d1e981613e63fb07", + "transactionHash": "0xcc5bb8335b9006f0e6a4ccaf8db7b59824080e742aff7ac0dcf10306e3c4982e", + "transactionIndex": "0x81", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2491391", + "effectiveGasPrice": "0x1e4de32", + "from": "0xbf389becd498e1a07bd011489f6982dbc7e31897", + "gasUsed": "0x10bfc", + "logs": [ + { + "address": "0xa3c6530dfeabc1de3c97549e318054c871e5d0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000bf389becd498e1a07bd011489f6982dbc7e31897", + "0x000000000000000000000000fb13de1c5ac28fc8335ec5721b06eb4ea6e3897b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989bb1", + "blockNumber": "0x874db3", + "transactionHash": "0x8f2aaac8dec60833567bdb97f3b35bf686f3b9f1adf7ad3d8eac75eb6fd9808a", + "transactionIndex": "0x82", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x93", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xfb13de1c5ac28fc8335ec5721b06eb4ea6e3897b", + "topics": [ + "0x69669a603cafcf2af7290188adb7de4c9f4f6d78f93689ba254e94b6f033a5f9", + "0x0000000000000000000000008e46cff12b892a9bbd726d8707bac6bae6ba9667" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000989bb1000000000000000000000000000000000000000000000000000000000000056b000000000000000000000000bf389becd498e1a07bd011489f6982dbc7e31897", + "blockNumber": "0x874db3", + "transactionHash": "0x8f2aaac8dec60833567bdb97f3b35bf686f3b9f1adf7ad3d8eac75eb6fd9808a", + "transactionIndex": "0x82", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x94", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000080000000000000000000000000004000000000000000040000000000000000008000000000000000000000000000000000000000000000000000000080000008000000000000000010000000200000000000200000000000000400000000000000000000004000000000000000000010000000000000000000000000000800000000000000084000000000000000000000000000000101000000000000000040000000000000000000000000000002000000000000000002000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xfb13de1c5ac28fc8335ec5721b06eb4ea6e3897b", + "transactionHash": "0x8f2aaac8dec60833567bdb97f3b35bf686f3b9f1adf7ad3d8eac75eb6fd9808a", + "transactionIndex": "0x82", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x24b13a7", + "effectiveGasPrice": "0x1e34094", + "from": "0x7ff931b21a8dec9a58f9a8dd0fad9690a7a1704f", + "gasUsed": "0x20016", + "logs": [ + { + "address": "0x6fa638704a839b28c5b7168c8916add9f75cdeec", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000007ff931b21a8dec9a58f9a8dd0fad9690a7a1704f", + "0x000000000000000000000000557e9e7eed905c7d21183ec333db2a8b1e34a85f" + ], + "data": "0x000000000000000000000000000000000000000000000000000110d9316ec000", + "blockNumber": "0x874db3", + "transactionHash": "0x89ce9fb0ef9db03fe7f3a4f9b58aae68e39c75ec043c8cd83c435180a88e7aaa", + "transactionIndex": "0x83", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x95", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000020000000000000000000000100000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000020001000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000010000000000000000002000000000000000020000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x557e9e7eed905c7d21183ec333db2a8b1e34a85f", + "transactionHash": "0x89ce9fb0ef9db03fe7f3a4f9b58aae68e39c75ec043c8cd83c435180a88e7aaa", + "transactionIndex": "0x83", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x24c7b02", + "effectiveGasPrice": "0x1e34094", + "from": "0x26c581488fce48bfb29e6f2423c6afda95d3f462", + "gasUsed": "0x1675b", + "logs": [ + { + "address": "0x557e9e7eed905c7d21183ec333db2a8b1e34a85f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000026c581488fce48bfb29e6f2423c6afda95d3f462" + ], + "data": "0x0000000000000000000000000000000000000000000000004563918244f3fffe", + "blockNumber": "0x874db3", + "transactionHash": "0xbec96c3ee8cc0b2114f6b8b97d2e4699c396bd250190859cf419a36b8b8132bd", + "transactionIndex": "0x84", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x96", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000008000000000000000000002000000080000000000000000000020000000000000000000808000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000002000000000000000000000000000000200000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x557e9e7eed905c7d21183ec333db2a8b1e34a85f", + "transactionHash": "0xbec96c3ee8cc0b2114f6b8b97d2e4699c396bd250190859cf419a36b8b8132bd", + "transactionIndex": "0x84", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x24dbbd0", + "effectiveGasPrice": "0x1e34094", + "from": "0x49c36b3bec6b6e0e77305273fafc68f479630535", + "gasUsed": "0x140ce", + "logs": [ + { + "address": "0xd0dbb2486e3fbf371d1b2e35fa330bef6529d2f4", + "topics": [ + "0x3617b009e9785c42daebadb6d3fb553243a4bf586d07ea72d65d80013ce116b5", + "0x000000000000000000000000c4d5af244e4fe5e5f2d5a6b0f6f1867d4a5f0336", + "0x7be9f702bf4fd681d80605e5c27edb390cb2fce911df4770ee8735613e43afb9", + "0x0001000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xac37a6076a5c24a3b715eb8ef1314720a53c967ec4b1745b2cef6128de7b5515", + "transactionIndex": "0x85", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x97", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000800000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200400000000000000000000000000000000000000008000000000000000000000000000000000000400000000000800000080000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000001000000000000000000000000000020000000000800000000008000000000000020004000000000000000000000000", + "status": "0x1", + "to": "0xd0dbb2486e3fbf371d1b2e35fa330bef6529d2f4", + "transactionHash": "0xac37a6076a5c24a3b715eb8ef1314720a53c967ec4b1745b2cef6128de7b5515", + "transactionIndex": "0x85", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x24efc86", + "effectiveGasPrice": "0x1e34094", + "from": "0x1741eb7468a490b4a9ba6f4cc7a47b82ecd65c4c", + "gasUsed": "0x140b6", + "logs": [ + { + "address": "0xd0dbb2486e3fbf371d1b2e35fa330bef6529d2f4", + "topics": [ + "0x3617b009e9785c42daebadb6d3fb553243a4bf586d07ea72d65d80013ce116b5", + "0x000000000000000000000000c4d5af244e4fe5e5f2d5a6b0f6f1867d4a5f0336", + "0xb365e539fac8b9243e2abf2b862971cdfe8bc77564ca83232ed6c4cc060cb960", + "0x0001000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x8858c89084594b59217498937ab485b702074005ca86627e2aba0e709a930563", + "transactionIndex": "0x86", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x98", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000800000000000000000000000000000000000000000000000000000000000000000000020000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000200000000000000000000000000000000000000000008000000000000000000000000000000000000400000000000000800080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000020000000000800000000008000000000000020004000000000000000000000000", + "status": "0x1", + "to": "0xd0dbb2486e3fbf371d1b2e35fa330bef6529d2f4", + "transactionHash": "0x8858c89084594b59217498937ab485b702074005ca86627e2aba0e709a930563", + "transactionIndex": "0x86", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x252127e", + "effectiveGasPrice": "0x1e34094", + "from": "0x6db8952e4963541c9cc8be7e578e97fcbd37a576", + "gasUsed": "0x315f8", + "logs": [ + { + "address": "0xc82d102d9352fd8d9cdcc9ff8683ef992358e5c5", + "topics": [ + "0x25d1b235668fd0219da15f5fa6054013a53e59c4f3ea31459dc1d4e0b9f23d26", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x1232bef212518454afa43083123199bd4a5c36ae4c1733a88cd2e7b32ff7436a", + "transactionIndex": "0x87", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x99", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x86efbd0b6736bed994962f9797049422a3a8e8ad", + "topics": [ + "0xad8cc9579b21dfe2c2f6ea35ba15b656e46b4f5b0cb424f52739b8ce5cac9c5b", + "0xb750da620000000000000000000000002841098d3cc47adfc5a2af926bcee66c", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000028f85d21c486ca000000000000000000000000000000000000000000000000000000000001a3410000000000000000000000000000000000000000000000000000000000018b30000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000874db2626d645cf9320d9a5e3bc7100270ecd77f04a126564bb6f70a6404754ddbbe2b", + "blockNumber": "0x874db3", + "transactionHash": "0x1232bef212518454afa43083123199bd4a5c36ae4c1733a88cd2e7b32ff7436a", + "transactionIndex": "0x87", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x9a", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000002000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000008240000000000000000000000000000000000000000000000000100000000000000000002000100000000000000000000000000000000000200000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000400400000000100100000000040000000000000000000000000000000000000000000001000000000000000000000", + "status": "0x1", + "to": "0x86efbd0b6736bed994962f9797049422a3a8e8ad", + "transactionHash": "0x1232bef212518454afa43083123199bd4a5c36ae4c1733a88cd2e7b32ff7436a", + "transactionIndex": "0x87", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x253f0e5", + "effectiveGasPrice": "0x1d62656", + "from": "0xb3a1956cff1ecc8054b81b0c83b9847cb71384b8", + "gasUsed": "0x1de67", + "logs": [ + { + "address": "0xe605390e82fc011ac4687401c1c506ee84d903b2", + "topics": [ + "0x8f8f4d49bbb03ffac818a5d588ec1786a4d2d17269871cbf5b1745f58b64c15d", + "0x0000000000000000000000009f351ac673dee941a36e7d15899e311f2b4583a8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002446d4adf2000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x10d3192d34bf72ddb404c59a7c56ea90f9945b2f53ad7d875b9a3620194c400e", + "transactionIndex": "0x88", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x9b", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2a6c106ae13b558bb9e2ec64bd2f1f7beff3a5e0", + "topics": [ + "0x6bc93adab97dd835bee818087939b726558bc8d9177650a0018dd05eb00e56c8" + ], + "data": "0xb06d5377d459480ee96fc4774b7af1ffce847bd35f0c45a40065feb059a3b59c84514230a19dc0124fa00289fc3795bb691c56222da478e05ff7996b0cb8cf6b0000000000000000000000000000000000000000000000000000000000000001", + "blockNumber": "0x874db3", + "transactionHash": "0x10d3192d34bf72ddb404c59a7c56ea90f9945b2f53ad7d875b9a3620194c400e", + "transactionIndex": "0x88", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x9c", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcf8edb3333fae73b23f689229f4de6ac95d1f707", + "topics": [ + "0xc6cfec28363edf86fe132edcedb30ccc6dbb89a7ec5f428aaeeb8ae5d901537d" + ], + "data": "0x84514230a19dc0124fa00289fc3795bb691c56222da478e05ff7996b0cb8cf6b0000000000000000000000002a6c106ae13b558bb9e2ec64bd2f1f7beff3a5e0000000000000000000000000fc4eca698fcfd2660da1caa22ff66f13d6fc0366000000000000000000000000b3a1956cff1ecc8054b81b0c83b9847cb71384b8", + "blockNumber": "0x874db3", + "transactionHash": "0x10d3192d34bf72ddb404c59a7c56ea90f9945b2f53ad7d875b9a3620194c400e", + "transactionIndex": "0x88", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x9d", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000002800000000004000000001000040000000000000000000000000000000000000000000000000000000000000000000002000000000000800000000800000000000000400000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000010000000000000000000000000000002000000000000000000000000000000000002000000000000000000000000000000004000000000000100000800000000000000000000000208000000000000000000000000000000200000000000000000000000000080000000000000000000000008000000000000", + "status": "0x1", + "to": "0xcf8edb3333fae73b23f689229f4de6ac95d1f707", + "transactionHash": "0x10d3192d34bf72ddb404c59a7c56ea90f9945b2f53ad7d875b9a3620194c400e", + "transactionIndex": "0x88", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x256b3bf", + "effectiveGasPrice": "0x15fb080", + "from": "0x61d8838f9a00250c9af13d622da7c08c372ee587", + "gasUsed": "0x2c2da", + "logs": [ + { + "address": "0xe7d79f959d479d96c61bf79585ee7e8244b14e50", + "topics": [ + "0xb648d3644f584ed1c2232d53c46d87e693586486ad0d1175f8656013110b714e" + ], + "data": "0x000000000000000000000000f4349af61dcb3a1d4a85276ef5435dfda3177c9c00000000000000000000000057dca034fbb5c20668cbd3a8e94fb4438170df9c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb00000000000000000000000057dca034fbb5c20668cbd3a8e94fb4438170df9c00000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x5d4de6f781595529ba268663d5bcf20a4ec2664e6bce2eb17b5bd03983e36ea2", + "transactionIndex": "0x89", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x9e", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xe7d79f959d479d96c61bf79585ee7e8244b14e50", + "topics": [ + "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8", + "0x000000000000000000000000f4349af61dcb3a1d4a85276ef5435dfda3177c9c" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x5d4de6f781595529ba268663d5bcf20a4ec2664e6bce2eb17b5bd03983e36ea2", + "transactionIndex": "0x89", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x9f", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xf4349af61dcb3a1d4a85276ef5435dfda3177c9c", + "topics": [ + "0xcd0d630a66948cc8bfbfc29ea7aa07dac5604bbe626e58bcbb107df5dfd96ad9", + "0x000000000000000000000000e7d79f959d479d96c61bf79585ee7e8244b14e50", + "0x01ae0346761ea78204485aa69e96f65de8f9386e14324634ca0709294972ba58" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000022398", + "blockNumber": "0x874db3", + "transactionHash": "0x5d4de6f781595529ba268663d5bcf20a4ec2664e6bce2eb17b5bd03983e36ea2", + "transactionIndex": "0x89", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xa0", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xe7d79f959d479d96c61bf79585ee7e8244b14e50", + "topics": [ + "0xb648d3644f584ed1c2232d53c46d87e693586486ad0d1175f8656013110b714e" + ], + "data": "0x000000000000000000000000f4349af61dcb3a1d4a85276ef5435dfda3177c9c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000003ac05161b76a35c1c28dc99aa01bed7b24cea3bf000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x5d4de6f781595529ba268663d5bcf20a4ec2664e6bce2eb17b5bd03983e36ea2", + "transactionIndex": "0x89", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xa1", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xe7d79f959d479d96c61bf79585ee7e8244b14e50", + "topics": [ + "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8", + "0x000000000000000000000000f4349af61dcb3a1d4a85276ef5435dfda3177c9c" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x5d4de6f781595529ba268663d5bcf20a4ec2664e6bce2eb17b5bd03983e36ea2", + "transactionIndex": "0x89", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xa2", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x56353fca14fb34dcb39fa4bc3b174fc02bbc2452", + "topics": [ + "0x8f8f4d49bbb03ffac818a5d588ec1786a4d2d17269871cbf5b1745f58b64c15d", + "0x000000000000000000000000f4349af61dcb3a1d4a85276ef5435dfda3177c9c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000001845b1a1bd0000000000000000000000000e7d79f959d479d96c61bf79585ee7e8244b14e50000000000000000000000000000000000000000000000000000000000000000001ae0346761ea78204485aa69e96f65de8f9386e14324634ca0709294972ba58000000000000000000000000000000000000000000000000000000000000008000000000000000000000000057dca034fbb5c20668cbd3a8e94fb4438170df9c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb00000000000000000000000057dca034fbb5c20668cbd3a8e94fb4438170df9c00000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x5d4de6f781595529ba268663d5bcf20a4ec2664e6bce2eb17b5bd03983e36ea2", + "transactionIndex": "0x89", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xa3", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2a6c106ae13b558bb9e2ec64bd2f1f7beff3a5e0", + "topics": [ + "0x6bc93adab97dd835bee818087939b726558bc8d9177650a0018dd05eb00e56c8" + ], + "data": "0x07414a15a44361003e6c6f04130dae0c34788f51d672400ec6c04f491fdf4cb76e6df9b054e49e1d4e06c504037ec442aa19c2c06ba86afc33e6731143bd4c5a0000000000000000000000000000000000000000000000000000000000000001", + "blockNumber": "0x874db3", + "transactionHash": "0x5d4de6f781595529ba268663d5bcf20a4ec2664e6bce2eb17b5bd03983e36ea2", + "transactionIndex": "0x89", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xa4", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcf8edb3333fae73b23f689229f4de6ac95d1f707", + "topics": [ + "0xc6cfec28363edf86fe132edcedb30ccc6dbb89a7ec5f428aaeeb8ae5d901537d" + ], + "data": "0x6e6df9b054e49e1d4e06c504037ec442aa19c2c06ba86afc33e6731143bd4c5a0000000000000000000000002a6c106ae13b558bb9e2ec64bd2f1f7beff3a5e0000000000000000000000000fc4eca698fcfd2660da1caa22ff66f13d6fc036600000000000000000000000061d8838f9a00250c9af13d622da7c08c372ee587", + "blockNumber": "0x874db3", + "transactionHash": "0x5d4de6f781595529ba268663d5bcf20a4ec2664e6bce2eb17b5bd03983e36ea2", + "transactionIndex": "0x89", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xa5", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000010000000200000420000000840000000004100000000000048000000000000000000000000000000000000000000000000008000000000000000022000000000000800000000000000000000000402000000000000000000000000080000000000000000000080000400000000000000000220000000000000000000000030100000000000000000000000000000000000000000000000000000000000000000000002000800000000000200000000000000004000004000000100000800000000000000000000000208000000000020000000000000000000204000000000000000000000000080004200100000000000000008000000100000", + "status": "0x1", + "to": "0xcf8edb3333fae73b23f689229f4de6ac95d1f707", + "transactionHash": "0x5d4de6f781595529ba268663d5bcf20a4ec2664e6bce2eb17b5bd03983e36ea2", + "transactionIndex": "0x89", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x25850bd", + "effectiveGasPrice": "0x199d3e6", + "from": "0x61d8838f9a00250c9af13d622da7c08c372ee587", + "gasUsed": "0x19cfe", + "logs": [ + { + "address": "0x146160f6ae8e53dfc1f82e103cecc172c42694ca", + "topics": [ + "0x8f8f4d49bbb03ffac818a5d588ec1786a4d2d17269871cbf5b1745f58b64c15d", + "0x00000000000000000000000015b7c0c907e4c6b9adaaaabc300c08991d6cea05" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000044095ea7b3000000000000000000000000b5512142ed72918ad9b842e4ddf0ea04f55dbc6d000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xe9085d8ab0f6dfa48ce4a87336197aba54bbc8bc3cee5dddf562a0d125d74d5d", + "transactionIndex": "0x8a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xa6", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2a6c106ae13b558bb9e2ec64bd2f1f7beff3a5e0", + "topics": [ + "0x6bc93adab97dd835bee818087939b726558bc8d9177650a0018dd05eb00e56c8" + ], + "data": "0xd8b41b31b1aa19edebb193c4dae32cbc35e2b0c18217e7a8acf9eadf132931a280142af46966c6aceb3ce8e3952eaec05aedd1824a7e75be55bc0faa44113db50000000000000000000000000000000000000000000000000000000000000001", + "blockNumber": "0x874db3", + "transactionHash": "0xe9085d8ab0f6dfa48ce4a87336197aba54bbc8bc3cee5dddf562a0d125d74d5d", + "transactionIndex": "0x8a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xa7", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcf8edb3333fae73b23f689229f4de6ac95d1f707", + "topics": [ + "0xc6cfec28363edf86fe132edcedb30ccc6dbb89a7ec5f428aaeeb8ae5d901537d" + ], + "data": "0x80142af46966c6aceb3ce8e3952eaec05aedd1824a7e75be55bc0faa44113db50000000000000000000000002a6c106ae13b558bb9e2ec64bd2f1f7beff3a5e0000000000000000000000000fc4eca698fcfd2660da1caa22ff66f13d6fc036600000000000000000000000061d8838f9a00250c9af13d622da7c08c372ee587", + "blockNumber": "0x874db3", + "transactionHash": "0xe9085d8ab0f6dfa48ce4a87336197aba54bbc8bc3cee5dddf562a0d125d74d5d", + "transactionIndex": "0x8a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xa8", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000800000000004000000000000040000000000000000000000000000000000000000000000000000000000000000000002000000000000800000000000000000000000400000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000040000000000000000000000000004000000000000100000800000000000030000000000208000000100000000020000000000000200000000000000000000000000080000000000000000000000008000000000000", + "status": "0x1", + "to": "0xcf8edb3333fae73b23f689229f4de6ac95d1f707", + "transactionHash": "0xe9085d8ab0f6dfa48ce4a87336197aba54bbc8bc3cee5dddf562a0d125d74d5d", + "transactionIndex": "0x8a", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x25a2f30", + "effectiveGasPrice": "0x1d62656", + "from": "0x61d8838f9a00250c9af13d622da7c08c372ee587", + "gasUsed": "0x1de73", + "logs": [ + { + "address": "0xe5707eb4b0abc8d7c4910a05d32d1d6b1f04577f", + "topics": [ + "0x8f8f4d49bbb03ffac818a5d588ec1786a4d2d17269871cbf5b1745f58b64c15d", + "0x0000000000000000000000009f351ac673dee941a36e7d15899e311f2b4583a8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002446d4adf2000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x37f49f2fbc1a73f5a892fcac2b5dfdbfb63a1ae9c23faf6885bf2530dff31514", + "transactionIndex": "0x8b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xa9", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2a6c106ae13b558bb9e2ec64bd2f1f7beff3a5e0", + "topics": [ + "0x6bc93adab97dd835bee818087939b726558bc8d9177650a0018dd05eb00e56c8" + ], + "data": "0x8f537dabf1da32527d10a8ba3c61f468b2ed897c6b54bd67bbf85f8bcd8b22662e1f9740f9cddbdb695711903fa0bb2745a97ccaa129458a6542fb5ab41229d80000000000000000000000000000000000000000000000000000000000000001", + "blockNumber": "0x874db3", + "transactionHash": "0x37f49f2fbc1a73f5a892fcac2b5dfdbfb63a1ae9c23faf6885bf2530dff31514", + "transactionIndex": "0x8b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xaa", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcf8edb3333fae73b23f689229f4de6ac95d1f707", + "topics": [ + "0xc6cfec28363edf86fe132edcedb30ccc6dbb89a7ec5f428aaeeb8ae5d901537d" + ], + "data": "0x2e1f9740f9cddbdb695711903fa0bb2745a97ccaa129458a6542fb5ab41229d80000000000000000000000002a6c106ae13b558bb9e2ec64bd2f1f7beff3a5e0000000000000000000000000fc4eca698fcfd2660da1caa22ff66f13d6fc036600000000000000000000000061d8838f9a00250c9af13d622da7c08c372ee587", + "blockNumber": "0x874db3", + "transactionHash": "0x37f49f2fbc1a73f5a892fcac2b5dfdbfb63a1ae9c23faf6885bf2530dff31514", + "transactionIndex": "0x8b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xab", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000002800000000004000000001000040000000000000000000000040000000000000000008000000000000000000000000002000000000000800000000800000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000004000000000000100000800000000000000000000000208000000000000000000000000000000200000000000000000000000000080000000000000000000000008000080000000", + "status": "0x1", + "to": "0xcf8edb3333fae73b23f689229f4de6ac95d1f707", + "transactionHash": "0x37f49f2fbc1a73f5a892fcac2b5dfdbfb63a1ae9c23faf6885bf2530dff31514", + "transactionIndex": "0x8b", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x25cce4d", + "effectiveGasPrice": "0xd4550c", + "from": "0xc90cb1f82ea0ef40d3a36ea26f03878fd338ba4b", + "gasUsed": "0x29f1d", + "logs": [ + { + "address": "0x13337c76fe2d1750246b68781ecee164643b98ec", + "topics": [ + "0x6f5de72b704dc2c15a0930f92bc5d83253c73358372a4fe4d004ec1a35d7569a", + "0x00000000000000002546c553d857d20658ece248f7c7d0861a24068167e6ebec" + ], + "data": "0x000000000000000000000000c90cb1f82ea0ef40d3a36ea26f03878fd338ba4b000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000002546c553d857d20658ece248f7c7d0861a24068167e6ebec00000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000155237945a7800000000000000000000000000000000000000000000000000000000688897dc000000000000000000000000000000000000000000000000000000000000012c00000000000000000000000000000000000000000000000000000000000003840000000000000000000000000000000000000000000000000000000000000960000000000000000000000000000000000000000000000000000000000007a12034a5c9394fb2fd3298ece07c16ec2ed009f6029a360f90f4e93933b55e2184d40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002022a8e879db95863f74d70b7a50b2973302079c2a411c1af993f88a20470ac932000000000000000000000000000000000000000000000000000000000000005268747470733a2f2f647765622e6c696e6b2f697066732f6261666b726569636d776b33786c78626f7a627035683633787979776f636337646c7474333736686e346d6e6d686b376f6a71646362726b717a69000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001f0181a5737464696edc00100000200000000000446a51cceeccfc7cccd2cc810000000000000000000000000000000000000000000000000000000000000000410d21ef9a5c70fa2375cdb717e8f2eaa427d109dc94a894ef2ee84627fa942baa67f5e0d5bc0f85b085aa7ff12646723f5eeee6e1bc7d59a82ff97dd7d499deb71c00000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xe8183dc17f117898392bf5c1260a372b94b0841cff70540ce4858e9267b57726", + "transactionIndex": "0x8c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xac", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000400000000000000080000000000000000000000000000000002000000000000800000000000000000000000800080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000002", + "status": "0x1", + "to": "0x13337c76fe2d1750246b68781ecee164643b98ec", + "transactionHash": "0xe8183dc17f117898392bf5c1260a372b94b0841cff70540ce4858e9267b57726", + "transactionIndex": "0x8c", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x25db3af", + "effectiveGasPrice": "0xb5f7a6", + "from": "0xfb87b9bc626e67a684948e6c8dec43aff92ba46d", + "gasUsed": "0xe562", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x0", + "to": "0x13337c76fe2d1750246b68781ecee164643b98ec", + "transactionHash": "0x3c4e38ae6c51550f091aaa7781d325cf7761f131e46174cfa66eaaef3416f5e5", + "transactionIndex": "0x8d", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x25e9a32", + "effectiveGasPrice": "0xa16fbe", + "from": "0x7272ed57c21577d79c52c87dc3e5875d6223ad4a", + "gasUsed": "0xe683", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x0", + "to": "0xfe7a9eabce779a090fd702346fd0bfac02ce6ac8", + "transactionHash": "0xd8ba7fb0f466d474ff97eaed1049f17db0f7c219f2a06f371c51592c2faaa6fa", + "transactionIndex": "0x8e", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x25f80c1", + "effectiveGasPrice": "0xa16fbe", + "from": "0xb1fbbe31f48ef3fa8c97db6b9cb806af00c6591e", + "gasUsed": "0xe68f", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x0", + "to": "0xfe7a9eabce779a090fd702346fd0bfac02ce6ac8", + "transactionHash": "0xf045f51075e62e152c1a2d24cc5499ae5bcd94a92b91df4d3b88edb4b3088eab", + "transactionIndex": "0x8f", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2612e12", + "effectiveGasPrice": "0xa16fbe", + "from": "0xd412b5c64930942409b4727cc923a11190d68cca", + "gasUsed": "0x1ad51", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d412b5c64930942409b4727cc923a11190d68cca", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000015af1d78b58c400000", + "blockNumber": "0x874db3", + "transactionHash": "0x7a6c489c3118c308fc1a21eb3c0d5539219a55361d159a71c288792995b4903e", + "transactionIndex": "0x90", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xad", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d412b5c64930942409b4727cc923a11190d68cca", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020dc721a", + "blockNumber": "0x874db3", + "transactionHash": "0x7a6c489c3118c308fc1a21eb3c0d5539219a55361d159a71c288792995b4903e", + "transactionIndex": "0x90", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xae", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000d412b5c64930942409b4727cc923a11190d68cca" + ], + "data": "0x0000000000000000000000000000000000000000000000000001a3dfe556a0e4", + "blockNumber": "0x874db3", + "transactionHash": "0x7a6c489c3118c308fc1a21eb3c0d5539219a55361d159a71c288792995b4903e", + "transactionIndex": "0x90", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xaf", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241acd7dd56500000000000000000000000000000000000000000169ad7030261bc7157f9f92", + "blockNumber": "0x874db3", + "transactionHash": "0x7a6c489c3118c308fc1a21eb3c0d5539219a55361d159a71c288792995b4903e", + "transactionIndex": "0x90", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xb0", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020dc721a000000000000000000000000000000000000000000000015af1d78b58c400000", + "blockNumber": "0x874db3", + "transactionHash": "0x7a6c489c3118c308fc1a21eb3c0d5539219a55361d159a71c288792995b4903e", + "transactionIndex": "0x90", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xb1", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000001080000100000000000000000000000000008001400008000000000020008000000000000000000000000000000000000108000000000000000000000000000008000000000000000000000000000000000000000000000000020100000000000000002800000000000008000000000010000000000000000000000000000000000000000000040000000000090040000000000000000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000020000000000000000001000000000000020000000000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x7a6c489c3118c308fc1a21eb3c0d5539219a55361d159a71c288792995b4903e", + "transactionIndex": "0x90", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x262db63", + "effectiveGasPrice": "0xa16fbe", + "from": "0x3d45f160d69aa830e0c55377753bdde19e607534", + "gasUsed": "0x1ad51", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003d45f160d69aa830e0c55377753bdde19e607534", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000002b5e3af16b1880000", + "blockNumber": "0x874db3", + "transactionHash": "0xc91200c704d03b93d1eb5a07ede83c98e2fb97c31770664204a5f2f2c98c1b7e", + "transactionIndex": "0x91", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xb2", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003d45f160d69aa830e0c55377753bdde19e607534", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000041b8e43", + "blockNumber": "0x874db3", + "transactionHash": "0xc91200c704d03b93d1eb5a07ede83c98e2fb97c31770664204a5f2f2c98c1b7e", + "transactionIndex": "0x91", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xb3", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000003d45f160d69aa830e0c55377753bdde19e607534" + ], + "data": "0x0000000000000000000000000000000000000000000000000000347bfca7a25e", + "blockNumber": "0x874db3", + "transactionHash": "0xc91200c704d03b93d1eb5a07ede83c98e2fb97c31770664204a5f2f2c98c1b7e", + "transactionIndex": "0x91", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xb4", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241ad19963a800000000000000000000000000000000000000000169ad72e609caddc7079f92", + "blockNumber": "0x874db3", + "transactionHash": "0xc91200c704d03b93d1eb5a07ede83c98e2fb97c31770664204a5f2f2c98c1b7e", + "transactionIndex": "0x91", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xb5", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000041b8e43000000000000000000000000000000000000000000000002b5e3af16b1880000", + "blockNumber": "0x874db3", + "transactionHash": "0xc91200c704d03b93d1eb5a07ede83c98e2fb97c31770664204a5f2f2c98c1b7e", + "transactionIndex": "0x91", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xb6", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000001080000000000000000000000000000000008001400008000000000000008000000000000000000000000000000000000008000000000000000000000000000008000000000000000000000000020000000000000000000000020100000000000000002800000000000008000000000010000000000000000000000000000000000000000000040000100000090040000000000000000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000022000000000000000001000000000000020000000000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0xc91200c704d03b93d1eb5a07ede83c98e2fb97c31770664204a5f2f2c98c1b7e", + "transactionIndex": "0x91", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x26488cc", + "effectiveGasPrice": "0xa16fbe", + "from": "0x45b3aab6508e40883fc0ae433e113a36b11d92b6", + "gasUsed": "0x1ad69", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000045b3aab6508e40883fc0ae433e113a36b11d92b6", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000015a39e4cec419e3000", + "blockNumber": "0x874db3", + "transactionHash": "0x736daf8d6c82c5142db944149cbcb4e2fce7d2ed914370e76b30de8e38565cb8", + "transactionIndex": "0x92", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xb7", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000045b3aab6508e40883fc0ae433e113a36b11d92b6", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cb05de", + "blockNumber": "0x874db3", + "transactionHash": "0x736daf8d6c82c5142db944149cbcb4e2fce7d2ed914370e76b30de8e38565cb8", + "transactionIndex": "0x92", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xb8", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000045b3aab6508e40883fc0ae433e113a36b11d92b6" + ], + "data": "0x0000000000000000000000000000000000000000000000000001a30147d292f2", + "blockNumber": "0x874db3", + "transactionHash": "0x736daf8d6c82c5142db944149cbcb4e2fce7d2ed914370e76b30de8e38565cb8", + "transactionIndex": "0x92", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xb9", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241af264698600000000000000000000000000000000000000000169ad8889a817ca08a5cf92", + "blockNumber": "0x874db3", + "transactionHash": "0x736daf8d6c82c5142db944149cbcb4e2fce7d2ed914370e76b30de8e38565cb8", + "transactionIndex": "0x92", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xba", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cb05de000000000000000000000000000000000000000000000015a39e4cec419e3000", + "blockNumber": "0x874db3", + "transactionHash": "0x736daf8d6c82c5142db944149cbcb4e2fce7d2ed914370e76b30de8e38565cb8", + "transactionIndex": "0x92", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xbb", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000021080000000000000000010000000000000008001400008000000000000008000000000000000000000000000000000000008000000000000000000000000000008000000000000000000000000000000000000000000000000020100000000000000002800000000000008000000000010000000000000000000000000000000000000000000040000000000090040000000000000000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000020000000000000000001000000000000020010000000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x736daf8d6c82c5142db944149cbcb4e2fce7d2ed914370e76b30de8e38565cb8", + "transactionIndex": "0x92", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2663629", + "effectiveGasPrice": "0xa16fbe", + "from": "0x6456c62aec2f537be99efb0e3f786d93b6aaabad", + "gasUsed": "0x1ad5d", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006456c62aec2f537be99efb0e3f786d93b6aaabad", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000015a6618bda26583000", + "blockNumber": "0x874db3", + "transactionHash": "0x3163122ea834690ce649638ebd5f52ba4508f17b46ba857fb6304cde2aefa111", + "transactionIndex": "0x93", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xbc", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006456c62aec2f537be99efb0e3f786d93b6aaabad", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cf35aa", + "blockNumber": "0x874db3", + "transactionHash": "0x3163122ea834690ce649638ebd5f52ba4508f17b46ba857fb6304cde2aefa111", + "transactionIndex": "0x93", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xbd", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000006456c62aec2f537be99efb0e3f786d93b6aaabad" + ], + "data": "0x0000000000000000000000000000000000000000000000000001a336c66f9406", + "blockNumber": "0x874db3", + "transactionHash": "0x3163122ea834690ce649638ebd5f52ba4508f17b46ba857fb6304cde2aefa111", + "transactionIndex": "0x93", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xbe", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241b13339f3000000000000000000000000000000000000000000169ad9e3009a3a42efdff92", + "blockNumber": "0x874db3", + "transactionHash": "0x3163122ea834690ce649638ebd5f52ba4508f17b46ba857fb6304cde2aefa111", + "transactionIndex": "0x93", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xbf", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cf35aa000000000000000000000000000000000000000000000015a6618bda26583000", + "blockNumber": "0x874db3", + "transactionHash": "0x3163122ea834690ce649638ebd5f52ba4508f17b46ba857fb6304cde2aefa111", + "transactionIndex": "0x93", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xc0", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000001080000000000000000000000010000000008001400008000000000000008000000000000000020000000000000000000008000000000000000000000000000008000000000000000000000000000000000000000000000000020100000000000000002800000000000008000000000010000000000000000000000000000000000000000000040000000000090040000000000000000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000020000000000000000001000000000000020000000000000000000000000000000000000000000000000100080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x3163122ea834690ce649638ebd5f52ba4508f17b46ba857fb6304cde2aefa111", + "transactionIndex": "0x93", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x267e392", + "effectiveGasPrice": "0xa16fbe", + "from": "0x4135b1d33f2bed7fdff9ccb42d399f70dd066259", + "gasUsed": "0x1ad69", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004135b1d33f2bed7fdff9ccb42d399f70dd066259", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000015a5eba8ffbb685000", + "blockNumber": "0x874db3", + "transactionHash": "0x3237f7d4bfc5e56f2efe17a8798f1bf99fa2d3f490f2bc6e4af98d590e831112", + "transactionIndex": "0x94", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xc1", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004135b1d33f2bed7fdff9ccb42d399f70dd066259", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020ce8304", + "blockNumber": "0x874db3", + "transactionHash": "0x3237f7d4bfc5e56f2efe17a8798f1bf99fa2d3f490f2bc6e4af98d590e831112", + "transactionIndex": "0x94", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xc2", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000004135b1d33f2bed7fdff9ccb42d399f70dd066259" + ], + "data": "0x0000000000000000000000000000000000000000000000000001a32ddbccf7f1", + "blockNumber": "0x874db3", + "transactionHash": "0x3237f7d4bfc5e56f2efe17a8798f1bf99fa2d3f490f2bc6e4af98d590e831112", + "transactionIndex": "0x94", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xc3", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241b3402223400000000000000000000000000000000000000000169adb3d5f54ca3ea664f92", + "blockNumber": "0x874db3", + "transactionHash": "0x3237f7d4bfc5e56f2efe17a8798f1bf99fa2d3f490f2bc6e4af98d590e831112", + "transactionIndex": "0x94", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xc4", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020ce8304000000000000000000000000000000000000000000000015a5eba8ffbb685000", + "blockNumber": "0x874db3", + "transactionHash": "0x3237f7d4bfc5e56f2efe17a8798f1bf99fa2d3f490f2bc6e4af98d590e831112", + "transactionIndex": "0x94", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xc5", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000001080000000000000000000000000000000808001400008000000000000008000000000000000000000000000000000000008000000000000000000000000000008000000000000000000000000000000000000000000000000020100000000000000002800000000000008000000000010000002000000000000000000000000000000000000040000000000090040000000000000000000000000400000000000000000000000000000000000000000800000000000000002000000000000000000020000000000000000001000000000000020000000000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x3237f7d4bfc5e56f2efe17a8798f1bf99fa2d3f490f2bc6e4af98d590e831112", + "transactionIndex": "0x94", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x26990fb", + "effectiveGasPrice": "0xa16fbe", + "from": "0x9924466868bf325f9fe619ba751f2a4805b11fb1", + "gasUsed": "0x1ad69", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009924466868bf325f9fe619ba751f2a4805b11fb1", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000015a575c8dfce67a000", + "blockNumber": "0x874db3", + "transactionHash": "0x6e634f1a54e4662697275cfbe1364ef5d81236a4c2e89087ced9cf95dee56559", + "transactionIndex": "0x95", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xc6", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009924466868bf325f9fe619ba751f2a4805b11fb1", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cdd061", + "blockNumber": "0x874db3", + "transactionHash": "0x6e634f1a54e4662697275cfbe1364ef5d81236a4c2e89087ced9cf95dee56559", + "transactionIndex": "0x95", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xc7", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009924466868bf325f9fe619ba751f2a4805b11fb1" + ], + "data": "0x0000000000000000000000000000000000000000000000000001a324f150b0ca", + "blockNumber": "0x874db3", + "transactionHash": "0x6e634f1a54e4662697275cfbe1364ef5d81236a4c2e89087ced9cf95dee56559", + "transactionIndex": "0x95", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xc8", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241b54cff29500000000000000000000000000000000000000000169adc97b6b1583b8cdef92", + "blockNumber": "0x874db3", + "transactionHash": "0x6e634f1a54e4662697275cfbe1364ef5d81236a4c2e89087ced9cf95dee56559", + "transactionIndex": "0x95", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xc9", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cdd061000000000000000000000000000000000000000000000015a575c8dfce67a000", + "blockNumber": "0x874db3", + "transactionHash": "0x6e634f1a54e4662697275cfbe1364ef5d81236a4c2e89087ced9cf95dee56559", + "transactionIndex": "0x95", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xca", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000001080000000000000000000000000000000008001400008000000000000008000000000000000000000000000000800000008000000000000000000000000000008000000000000000000000000000004000000000000000000020100000000000000002800000000000008000000000010000000000000000000000000000000000000000000040000000000090040000000000000000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000020000000000000000001000000000000420000000000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x6e634f1a54e4662697275cfbe1364ef5d81236a4c2e89087ced9cf95dee56559", + "transactionIndex": "0x95", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x26b3e64", + "effectiveGasPrice": "0xa16fbe", + "from": "0x170b1869dc37226f337edfd55c7535cd02bab2a9", + "gasUsed": "0x1ad69", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000170b1869dc37226f337edfd55c7535cd02bab2a9", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000015a4142968dc0aa000", + "blockNumber": "0x874db3", + "transactionHash": "0x926cf4e001241c8e95e9aec11e64cc1b5eb5dfe8af8efcf2c552fb90cd035d93", + "transactionIndex": "0x96", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xcb", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000170b1869dc37226f337edfd55c7535cd02bab2a9", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cbb87b", + "blockNumber": "0x874db3", + "transactionHash": "0x926cf4e001241c8e95e9aec11e64cc1b5eb5dfe8af8efcf2c552fb90cd035d93", + "transactionIndex": "0x96", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xcc", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000170b1869dc37226f337edfd55c7535cd02bab2a9" + ], + "data": "0x0000000000000000000000000000000000000000000000000001a30a32023040", + "blockNumber": "0x874db3", + "transactionHash": "0x926cf4e001241c8e95e9aec11e64cc1b5eb5dfe8af8efcf2c552fb90cd035d93", + "transactionIndex": "0x96", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xcd", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241b759bab1000000000000000000000000000000000000000000169addf1f7f3eec94d88f92", + "blockNumber": "0x874db3", + "transactionHash": "0x926cf4e001241c8e95e9aec11e64cc1b5eb5dfe8af8efcf2c552fb90cd035d93", + "transactionIndex": "0x96", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xce", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cbb87b000000000000000000000000000000000000000000000015a4142968dc0aa000", + "blockNumber": "0x874db3", + "transactionHash": "0x926cf4e001241c8e95e9aec11e64cc1b5eb5dfe8af8efcf2c552fb90cd035d93", + "transactionIndex": "0x96", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xcf", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000404000000001080000000000000000000000000000000008001400008000000000000008000000000000000000000000000000000000008000000000000000000000000000008000000000000000000200000000000000000000000000000020100000000000000002800000000000008000000000010000000000000000000000000000000000000000000040000000000090040000000000010000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000020000000000000000001000000000000020000000000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x926cf4e001241c8e95e9aec11e64cc1b5eb5dfe8af8efcf2c552fb90cd035d93", + "transactionIndex": "0x96", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x26cebcd", + "effectiveGasPrice": "0xa16fbe", + "from": "0x5324d0ad0708483e5780f42533e12cbf86d57248", + "gasUsed": "0x1ad69", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005324d0ad0708483e5780f42533e12cbf86d57248", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000015a48a089ff4664000", + "blockNumber": "0x874db3", + "transactionHash": "0xb8c4f1fbccd5af21bb67cb42691f88cd836210c0b6b30d622e198711fe62e8ed", + "transactionIndex": "0x97", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xd0", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005324d0ad0708483e5780f42533e12cbf86d57248", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cc6b1c", + "blockNumber": "0x874db3", + "transactionHash": "0xb8c4f1fbccd5af21bb67cb42691f88cd836210c0b6b30d622e198711fe62e8ed", + "transactionIndex": "0x97", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xd1", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005324d0ad0708483e5780f42533e12cbf86d57248" + ], + "data": "0x0000000000000000000000000000000000000000000000000001a3131c64e974", + "blockNumber": "0x874db3", + "transactionHash": "0xb8c4f1fbccd5af21bb67cb42691f88cd836210c0b6b30d622e198711fe62e8ed", + "transactionIndex": "0x97", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xd2", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241b9668162c00000000000000000000000000000000000000000169adf4c409478c893ecf92", + "blockNumber": "0x874db3", + "transactionHash": "0xb8c4f1fbccd5af21bb67cb42691f88cd836210c0b6b30d622e198711fe62e8ed", + "transactionIndex": "0x97", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xd3", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cc6b1c000000000000000000000000000000000000000000000015a48a089ff4664000", + "blockNumber": "0x874db3", + "transactionHash": "0xb8c4f1fbccd5af21bb67cb42691f88cd836210c0b6b30d622e198711fe62e8ed", + "transactionIndex": "0x97", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xd4", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000001080000000000000000000000000000000008001400008000000000000008000000000000000000000000000000000000008000000000000000000000000000008000000000000000000000000000000000000080000000000020100000000000000002800000000000008000000002010000000000000000000000000000100000000000000040000000000090040000000000000000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000020000000000000000001000000000000020000000000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0xb8c4f1fbccd5af21bb67cb42691f88cd836210c0b6b30d622e198711fe62e8ed", + "transactionIndex": "0x97", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x26e9936", + "effectiveGasPrice": "0xa16fbe", + "from": "0x077f014b6ec61845748d762245f1dfc82c024f60", + "gasUsed": "0x1ad69", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000077f014b6ec61845748d762245f1dfc82c024f60", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000015a74d54497a272000", + "blockNumber": "0x874db3", + "transactionHash": "0x3a83e437dcbb651767ae2388fecc346740583e45b62b685c2c3a270f774c31f9", + "transactionIndex": "0x98", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xd5", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000077f014b6ec61845748d762245f1dfc82c024f60", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020d09afc", + "blockNumber": "0x874db3", + "transactionHash": "0x3a83e437dcbb651767ae2388fecc346740583e45b62b685c2c3a270f774c31f9", + "transactionIndex": "0x98", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xd6", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000077f014b6ec61845748d762245f1dfc82c024f60" + ], + "data": "0x0000000000000000000000000000000000000000000000000001a3489c017609", + "blockNumber": "0x874db3", + "transactionHash": "0x3a83e437dcbb651767ae2388fecc346740583e45b62b685c2c3a270f774c31f9", + "transactionIndex": "0x98", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xd7", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241bb738b12800000000000000000000000000000000000000000169ae0a6b569bd60365ef92", + "blockNumber": "0x874db3", + "transactionHash": "0x3a83e437dcbb651767ae2388fecc346740583e45b62b685c2c3a270f774c31f9", + "transactionIndex": "0x98", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xd8", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020d09afc000000000000000000000000000000000000000000000015a74d54497a272000", + "blockNumber": "0x874db3", + "transactionHash": "0x3a83e437dcbb651767ae2388fecc346740583e45b62b685c2c3a270f774c31f9", + "transactionIndex": "0x98", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xd9", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000084000000001080000000000000000000000000000000008001400008000000000000008000000000000000000000000000000000000008000000000000000000000000000008000000000000000000000000000000000000000000000000020100000200000000002800000000000008000000000010000000000000000000000000000000000000000000040000000000090040000000080000000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000020000000000000000001000000000000020000000000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x3a83e437dcbb651767ae2388fecc346740583e45b62b685c2c3a270f774c31f9", + "transactionIndex": "0x98", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x270469f", + "effectiveGasPrice": "0xa16fbe", + "from": "0xe63bfa8d457a2bbbee803f392c7acd495ca32c79", + "gasUsed": "0x1ad69", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e63bfa8d457a2bbbee803f392c7acd495ca32c79", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000015a6d76f9d65ed2000", + "blockNumber": "0x874db3", + "transactionHash": "0x1f4b3919e583323ce4a4552cd8eb530126c521ad4e771f69ebfa946176228547", + "transactionIndex": "0x99", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xda", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e63bfa8d457a2bbbee803f392c7acd495ca32c79", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cfe852", + "blockNumber": "0x874db3", + "transactionHash": "0x1f4b3919e583323ce4a4552cd8eb530126c521ad4e771f69ebfa946176228547", + "transactionIndex": "0x99", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xdb", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000e63bfa8d457a2bbbee803f392c7acd495ca32c79" + ], + "data": "0x0000000000000000000000000000000000000000000000000001a33fb12bbe0e", + "blockNumber": "0x874db3", + "transactionHash": "0x1f4b3919e583323ce4a4552cd8eb530126c521ad4e771f69ebfa946176228547", + "transactionIndex": "0x99", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xdc", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241bd808997a00000000000000000000000000000000000000000169ae20122e0b7369530f92", + "blockNumber": "0x874db3", + "transactionHash": "0x1f4b3919e583323ce4a4552cd8eb530126c521ad4e771f69ebfa946176228547", + "transactionIndex": "0x99", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xdd", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cfe852000000000000000000000000000000000000000000000015a6d76f9d65ed2000", + "blockNumber": "0x874db3", + "transactionHash": "0x1f4b3919e583323ce4a4552cd8eb530126c521ad4e771f69ebfa946176228547", + "transactionIndex": "0x99", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xde", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000001080000000000000000000000000000000008001400008000000000000008000000000000000000000000000000000000008000000000000000000000000000008000000000000000000000000000000000000000000000000020100000000000000002800000000000008000000000010000000000000000000000000000000000000000000040000000000090040010000000000000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000020000000000200000001000000000000020000000000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x1f4b3919e583323ce4a4552cd8eb530126c521ad4e771f69ebfa946176228547", + "transactionIndex": "0x99", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x271f408", + "effectiveGasPrice": "0xa16fbe", + "from": "0x94f5608f42d2e9b40c4381e11a3d4f334f82e539", + "gasUsed": "0x1ad69", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000094f5608f42d2e9b40c4381e11a3d4f334f82e539", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000015a4ffe7d70cc1e000", + "blockNumber": "0x874db3", + "transactionHash": "0xa9f19c36bdba446de6a3ee15472f5aeed58838c7da87952ca038cc578f4ac199", + "transactionIndex": "0x9a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xdf", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000094f5608f42d2e9b40c4381e11a3d4f334f82e539", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cd1dbe", + "blockNumber": "0x874db3", + "transactionHash": "0xa9f19c36bdba446de6a3ee15472f5aeed58838c7da87952ca038cc578f4ac199", + "transactionIndex": "0x9a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xe0", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000094f5608f42d2e9b40c4381e11a3d4f334f82e539" + ], + "data": "0x0000000000000000000000000000000000000000000000000001a31c06d469a2", + "blockNumber": "0x874db3", + "transactionHash": "0xa9f19c36bdba446de6a3ee15472f5aeed58838c7da87952ca038cc578f4ac199", + "transactionIndex": "0x9a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xe1", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241bf8d5b73800000000000000000000000000000000000000000169ae35b72df34a7614ef92", + "blockNumber": "0x874db3", + "transactionHash": "0xa9f19c36bdba446de6a3ee15472f5aeed58838c7da87952ca038cc578f4ac199", + "transactionIndex": "0x9a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xe2", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020cd1dbe000000000000000000000000000000000000000000000015a4ffe7d70cc1e000", + "blockNumber": "0x874db3", + "transactionHash": "0xa9f19c36bdba446de6a3ee15472f5aeed58838c7da87952ca038cc578f4ac199", + "transactionIndex": "0x9a", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xe3", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000001080000000000002000000000000000000008001400008000000000000008000000000000000000000000000000000000008000000000000000000000000000008000000000000000000000000000000000000000000000000020100004000000000002800000000000008000000000010000000000000000000000000000000000000000000040000000000090040000000000000100000000000000000000000000000000000000000000000000000800000000000000002000000000000000000020000000000000000001000000000000020000000000000000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0xa9f19c36bdba446de6a3ee15472f5aeed58838c7da87952ca038cc578f4ac199", + "transactionIndex": "0x9a", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x273a171", + "effectiveGasPrice": "0xa16fbe", + "from": "0x6d9e37f14cc8bc670e0b96d210efac83f2b5be84", + "gasUsed": "0x1ad69", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006d9e37f14cc8bc670e0b96d210efac83f2b5be84", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x000000000000000000000000000000000000000000000015a3286f86d28cb000", + "blockNumber": "0x874db3", + "transactionHash": "0x43bfe9b2b520e5cb3cda57f2c41aa771541f076f222948eeff2eb4f6c4689d8a", + "transactionIndex": "0x9b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xe4", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000006d9e37f14cc8bc670e0b96d210efac83f2b5be84", + "0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020ca5340", + "blockNumber": "0x874db3", + "transactionHash": "0x43bfe9b2b520e5cb3cda57f2c41aa771541f076f222948eeff2eb4f6c4689d8a", + "transactionIndex": "0x9b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xe5", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000006d9e37f14cc8bc670e0b96d210efac83f2b5be84" + ], + "data": "0x0000000000000000000000000000000000000000000000000001a2f85d962eab", + "blockNumber": "0x874db3", + "transactionHash": "0x43bfe9b2b520e5cb3cda57f2c41aa771541f076f222948eeff2eb4f6c4689d8a", + "transactionIndex": "0x9b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xe6", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002241c19a00a7800000000000000000000000000000000000000000169ae4b5a5662d148a19f92", + "blockNumber": "0x874db3", + "transactionHash": "0x43bfe9b2b520e5cb3cda57f2c41aa771541f076f222948eeff2eb4f6c4689d8a", + "transactionIndex": "0x9b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xe7", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9ae18109692b43e95ae6be5350a5acc5211fe9a1", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000020ca5340000000000000000000000000000000000000000000000015a3286f86d28cb000", + "blockNumber": "0x874db3", + "transactionHash": "0x43bfe9b2b520e5cb3cda57f2c41aa771541f076f222948eeff2eb4f6c4689d8a", + "transactionIndex": "0x9b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xe8", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000001080000000000000000000000000000000008001400008000000000000008000000000000000000000000000000000000008000000000000000000000000000018000000000000000000000000000000000000000000000000020100000000000000002800000000000008000000000010000000000000000000000000000000000000000000040000000000090040000000000000000000000000000000000000000000000000000000000000000000800000000000000002040000000000000000020000000000000000001000000000000020000000000000000000000000004000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x43bfe9b2b520e5cb3cda57f2c41aa771541f076f222948eeff2eb4f6c4689d8a", + "transactionIndex": "0x9b", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x275fb9e", + "effectiveGasPrice": "0xa0b1fa", + "from": "0x6d6b3b9e947f481187312c3031f388f9b85ba068", + "gasUsed": "0x25a2d", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8", + "0x000000000000000000000000b43db544e2c27092c107639ad201b3defabcf192", + "0x00000000000000000000000044cbf338bfa28dfe32f4474c717209948254b5f5" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000053fba240", + "blockNumber": "0x874db3", + "transactionHash": "0xb97c4ee35cf8ce2e1bdf6aac9f3c0ecdb84cf5f7189d8e04ae3d080da32dcd48", + "transactionIndex": "0x9c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xe9", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000044cbf338bfa28dfe32f4474c717209948254b5f5" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000053fba240", + "blockNumber": "0x874db3", + "transactionHash": "0xb97c4ee35cf8ce2e1bdf6aac9f3c0ecdb84cf5f7189d8e04ae3d080da32dcd48", + "transactionIndex": "0x9c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xea", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa", + "topics": [ + "0x50c55e915134d457debfa58eb6f4342956f8b0616d51a89a3659360178e1ab63", + "0x00000000000000000000000044cbf338bfa28dfe32f4474c717209948254b5f5", + "0x0000000000000000000000001c7d4b196cb0c7b01d743fbc6116a902379c7238" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000053fba2400000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xb97c4ee35cf8ce2e1bdf6aac9f3c0ecdb84cf5f7189d8e04ae3d080da32dcd48", + "transactionIndex": "0x9c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xeb", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xe737e5cebeeba77efe34d4aa090756590b1ce275", + "topics": [ + "0xff48c13eda96b1cceacc6b9edeedc9e9db9d6226afbc30146b720c19d3addb1c", + "0x0000000000000000000000006d6b3b9e947f481187312c3031f388f9b85ba068", + "0x85f0f27462597e40bb3c1e4539b73128b0782b824f9525da5d4c3aaf6c5c52a5", + "0x00000000000000000000000000000000000000000000000000000000000007d0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000008fe6b999dc680ccfdd5bf7eb0974218be2542daa000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e5000000010000000000000000000000005425890298aed601595a70ab815c96711a31bc6500000000000000000000000044cbf338bfa28dfe32f4474c717209948254b5f50000000000000000000000000000000000000000000000000000000053fba240000000000000000000000000e233862be9e5ff645e25ce6a001cf1fec28097c800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xb97c4ee35cf8ce2e1bdf6aac9f3c0ecdb84cf5f7189d8e04ae3d080da32dcd48", + "transactionIndex": "0x9c", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xec", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000010000000010010000400000010000100000204000000000000c04000000000020000000000000000000004000000000000000100120000000000000000000008000880000000000000000000000000000000000000020000020000000000000000000800000000000010000002000010000000000000000000100000000000000000040000040000000000000010000000000000000000000000000000000000000000000000008000000000000000000020000000000002000000010401000000000000100000000080000004000000000020000000000000000000000010000000000000000000000800000000020000000000", + "status": "0x1", + "to": "0xe737e5cebeeba77efe34d4aa090756590b1ce275", + "transactionHash": "0xb97c4ee35cf8ce2e1bdf6aac9f3c0ecdb84cf5f7189d8e04ae3d080da32dcd48", + "transactionIndex": "0x9c", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2786a73", + "effectiveGasPrice": "0xa0b1fa", + "from": "0x6d6b3b9e947f481187312c3031f388f9b85ba068", + "gasUsed": "0x26ed5", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8", + "0x000000000000000000000000e997d7d2f6e065a9a93fa2175e878fb9081f1f0a", + "0x000000000000000000000000b0e5e67d578c0d8b675e93b5206721799649ca05" + ], + "data": "0x00000000000000000000000000000000000000000000000000000072524ffe7d", + "blockNumber": "0x874db3", + "transactionHash": "0x9972b5bde36c6bb965e4018af2ea0d5d9fb7d2a1e3ba4ebfb3cdb7961e9d2fbf", + "transactionIndex": "0x9d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xed", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000b0e5e67d578c0d8b675e93b5206721799649ca05" + ], + "data": "0x00000000000000000000000000000000000000000000000000000072524ffe7d", + "blockNumber": "0x874db3", + "transactionHash": "0x9972b5bde36c6bb965e4018af2ea0d5d9fb7d2a1e3ba4ebfb3cdb7961e9d2fbf", + "transactionIndex": "0x9d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xee", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9f3b8679c73c2fef8b59b4f3444d4e156fb70aa5", + "topics": [ + "0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6", + "0x000000000000000000000000b0e5e67d578c0d8b675e93b5206721799649ca05", + "0x0000000000000000000000001c7d4b196cb0c7b01d743fbc6116a902379c7238" + ], + "data": "0x00000000000000000000000000000000000000000000000000000072524ffe7d", + "blockNumber": "0x874db3", + "transactionHash": "0x9972b5bde36c6bb965e4018af2ea0d5d9fb7d2a1e3ba4ebfb3cdb7961e9d2fbf", + "transactionIndex": "0x9d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xef", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7865fafc2db2093669d92c0f33aeef291086befd", + "topics": [ + "0x58200b4c34ae05ee816d710053fff3fb75af4395915d3d2a771b24aa10e3cc5d", + "0x0000000000000000000000006d6b3b9e947f481187312c3031f388f9b85ba068", + "0x000000000000000000000000000000000000000000000000000000000006336d" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eb08f243e5d3fcff26a9e38ae5520a669f4019d000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084000000000000000000000000000000005425890298aed601595a70ab815c96711a31bc65000000000000000000000000b0e5e67d578c0d8b675e93b5206721799649ca0500000000000000000000000000000000000000000000000000000072524ffe7d000000000000000000000000e233862be9e5ff645e25ce6a001cf1fec28097c800000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x9972b5bde36c6bb965e4018af2ea0d5d9fb7d2a1e3ba4ebfb3cdb7961e9d2fbf", + "transactionIndex": "0x9d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xf0", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000002080000000000001010004000400000000000100000200000000000000000000000000000000000000000010000004000000000000000000100000000000000000000008000000000000000000000000000000020000000000020000022000400000000000012800000000000408000000000010100000000000000000101404000000000000040000000000000000000000000000000400000000000000000000000000000000000000008000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000020000010000000000000082000000800000000000000000040", + "status": "0x1", + "to": "0x7865fafc2db2093669d92c0f33aeef291086befd", + "transactionHash": "0x9972b5bde36c6bb965e4018af2ea0d5d9fb7d2a1e3ba4ebfb3cdb7961e9d2fbf", + "transactionIndex": "0x9d", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2795102", + "effectiveGasPrice": "0x99774e", + "from": "0xc01ef81cb68aa4cc9eac74562273892fda5dc6a8", + "gasUsed": "0xe68f", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x0", + "to": "0xfe7a9eabce779a090fd702346fd0bfac02ce6ac8", + "transactionHash": "0xb1eb6a13f937e1c3817b3f208a7a35c5900c3821a1047d0cdad7c71502a62c07", + "transactionIndex": "0x9e", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x279e29b", + "effectiveGasPrice": "0x989680", + "from": "0x777bf55ba06395c8b2c05dd43d0a40001d1b9982", + "gasUsed": "0x9199", + "logs": [ + { + "address": "0xd1c4e92e0e9e8d9c2f859268aa11a997d5e460ac", + "topics": [ + "0x5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da60", + "0x0000000000000000000000000000000000000000000000000000000000000002" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xfb08dd40a6c6c54a5ac83482f87f9733472350e43b066e537d74a7403c92e8b7", + "transactionIndex": "0x9f", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xf1", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x04000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000800000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000004000000008000000000000000000000", + "status": "0x1", + "to": "0xd1c4e92e0e9e8d9c2f859268aa11a997d5e460ac", + "transactionHash": "0xfb08dd40a6c6c54a5ac83482f87f9733472350e43b066e537d74a7403c92e8b7", + "transactionIndex": "0x9f", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x27b62f1", + "effectiveGasPrice": "0x92e4d2", + "from": "0x2b8265845226dd87911eaadc5eb111ca02d18517", + "gasUsed": "0x18056", + "logs": [ + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002b8265845226dd87911eaadc5eb111ca02d18517", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000066a3a280", + "blockNumber": "0x874db3", + "transactionHash": "0xdbc06a24e2cc36bc4c290390156b79f7eaecee28d0400024a6c5fb6a86f2f1da", + "transactionIndex": "0xa0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xf2", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "0x0000000000000000000000002b8265845226dd87911eaadc5eb111ca02d18517" + ], + "data": "0x00000000000000000000000000000000000000000000004308acbcea9b1d9f61", + "blockNumber": "0x874db3", + "transactionHash": "0xdbc06a24e2cc36bc4c290390156b79f7eaecee28d0400024a6c5fb6a86f2f1da", + "transactionIndex": "0xa0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xf3", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000c25855ab7b340000000000000000000000000000000000000000007f4edea84d35165d3aae88", + "blockNumber": "0x874db3", + "transactionHash": "0xdbc06a24e2cc36bc4c290390156b79f7eaecee28d0400024a6c5fb6a86f2f1da", + "transactionIndex": "0xa0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xf4", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3", + "0x0000000000000000000000002b8265845226dd87911eaadc5eb111ca02d18517" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000066a3a2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004308acbcea9b1d9f61", + "blockNumber": "0x874db3", + "transactionHash": "0xdbc06a24e2cc36bc4c290390156b79f7eaecee28d0400024a6c5fb6a86f2f1da", + "transactionIndex": "0xa0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xf5", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00200000080000000000001080000000000000000000000000000000000000000000000000000020000800000000000000000000000000000000000008000010000000000000000000000008000000200000000000000000000000000000000000000000000000000000000000002000000000000000001000000010000000000000000000000000000000000000000000000000000000080000004000000000000000000000000000000000000000000000000000000000002000802000000000100002000000000040000000000000000000002000001000000000000000000000000400000000000000000000000000000000000000000080001000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0xdbc06a24e2cc36bc4c290390156b79f7eaecee28d0400024a6c5fb6a86f2f1da", + "transactionIndex": "0xa0", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x27cca4c", + "effectiveGasPrice": "0x8809cc", + "from": "0x149fdb649518957f7cf329ebc072dd8bfaca20f7", + "gasUsed": "0x1675b", + "logs": [ + { + "address": "0x557e9e7eed905c7d21183ec333db2a8b1e34a85f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000149fdb649518957f7cf329ebc072dd8bfaca20f7" + ], + "data": "0x0000000000000000000000000000000000000000000000004563918244f3fffe", + "blockNumber": "0x874db3", + "transactionHash": "0x42bf76dfe622c0b4744085597cb2edea3fecb9378766b90ad2763a10203a1d19", + "transactionIndex": "0xa1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xf6", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000020808000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000002000000000000000000000000000000200000000000000000000020000000000000000000000000000002000000000000000000000000000000000000", + "status": "0x1", + "to": "0x557e9e7eed905c7d21183ec333db2a8b1e34a85f", + "transactionHash": "0x42bf76dfe622c0b4744085597cb2edea3fecb9378766b90ad2763a10203a1d19", + "transactionIndex": "0xa1", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x27e9972", + "effectiveGasPrice": "0x8809cc", + "from": "0xce826d78b2d4c92c0ad9af76c3d722396d237b32", + "gasUsed": "0x1cf26", + "logs": [ + { + "address": "0x9b210290ad9a8e26ef88f214384280498b9a096f", + "topics": [ + "0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2", + "0xb138fabac8bcd161c22df273b0b26fedd777cc76a9e78de75e65631d4347674d", + "0x000000000000000000000000000000000000000000000000000000000000037e", + "0x0000000000000000000000000000000000000000000000000000000000093314" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000068889828", + "blockNumber": "0x874db3", + "transactionHash": "0x18bc556e3e329d5e9ede2ae73d83b35db203c33a2850d68fcd27fb2b3842a569", + "transactionIndex": "0xa2", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xf7", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x20000000000000000000000000000000400000000000000000000000000000000000000000000000000000800000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000200000000080000000000000000000000000000004000001000800000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000800000000000000000000002000000000004000000100000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x9b210290ad9a8e26ef88f214384280498b9a096f", + "transactionHash": "0x18bc556e3e329d5e9ede2ae73d83b35db203c33a2850d68fcd27fb2b3842a569", + "transactionIndex": "0xa2", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x27f3977", + "effectiveGasPrice": "0x8809cc", + "from": "0x728bc64250d68cbda682e7e1a1f3851d889a134c", + "gasUsed": "0xa005", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x18eb9fcb4a97597e9e0e5f35f6c9141d01142454", + "transactionHash": "0xa72d3d6fb43f2bb5a1ca4a1ad5d427293479d5892baf9a286e1a9a4bb084d774", + "transactionIndex": "0xa3", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x27f974d", + "effectiveGasPrice": "0x866c2e", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gasUsed": "0x5dd6", + "logs": [ + { + "address": "0x20c54c5f742f123abb49a982bfe0af47edb38756", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000ae00cddf915964ca1cecf71871ed5dbedd92e618", + "0x00000000000000000000000007abd582df3d3472aa687a0489729f9f0424b1e3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x3b3fefdbdb196a54ec446249fc0af33b94f8bd2efa6b5c833ac28a4033c68937", + "transactionIndex": "0xa4", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xf8", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000001000000020000000000000000000000000000010000000000000000000000000000000000000000000000000200000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000080000000000000000000000000000000000010000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000400000000000000008000000000000000000000000000000", + "status": "0x1", + "to": "0x20c54c5f742f123abb49a982bfe0af47edb38756", + "transactionHash": "0x3b3fefdbdb196a54ec446249fc0af33b94f8bd2efa6b5c833ac28a4033c68937", + "transactionIndex": "0xa4", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x281253f", + "effectiveGasPrice": "0x866c2e", + "from": "0xdc9d3015a4a391607a835b87a292bcf030af24e2", + "gasUsed": "0x18df2", + "logs": [ + { + "address": "0x18002741dee6dd5d62fb7f598e771c05f2d1ffa8", + "topics": [ + "0xc797025feeeaf2cd924c99e9205acb8ec04d5cad21c41ce637a38fb6dee6016a", + "0x000000000000000000000000000000000000000000000000000000000000987d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000640000000000000000000000009e841c03218e36a785c1c50f2f74fac5d54656da0000000000000000000000000000000000000000000000000000000068889804000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000b67fc6255591e8dd20001435dc40414da15a04af8e9b230044053c5598a4f42ada7cb3542a3d0ee660000000000000000000000000000000000000000000000000000000000275e0400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000040102030000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x0997b0c14d8d7fcb037ec6c5c4aa5001438b7ca46d46de230ff9ad598c1515ac", + "transactionIndex": "0xa5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xf9", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x18002741dee6dd5d62fb7f598e771c05f2d1ffa8", + "topics": [ + "0x0109fc6f55cf40689f02fbaad7af7fe7bbac8a3d2186600afc7d3e10cac60271", + "0x000000000000000000000000000000000000000000000000000000000000987d", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000068889804", + "blockNumber": "0x874db3", + "transactionHash": "0x0997b0c14d8d7fcb037ec6c5c4aa5001438b7ca46d46de230ff9ad598c1515ac", + "transactionIndex": "0xa5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xfa", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x18002741dee6dd5d62fb7f598e771c05f2d1ffa8", + "topics": [ + "0x0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f", + "0x0000000000000000000000000000000000000000000000000000000000000064", + "0x000000000000000000000000000000000000000000000000000000000000987d" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000068889828", + "blockNumber": "0x874db3", + "transactionHash": "0x0997b0c14d8d7fcb037ec6c5c4aa5001438b7ca46d46de230ff9ad598c1515ac", + "transactionIndex": "0xa5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xfb", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000010000000200000000000000080000000000000000000000000000002000000000000001000000000000000000000000000000020000000000000000000800000000002000000000000000000000000000000000000000000000000000000000000481000000000000000000000000000000001000000000000000000000000000000000000000000000000000000102000000000000000000000000000000000000000004000000000000000020000000000000002000000000000000000000000000000000008080000000400000", + "status": "0x1", + "to": "0x9e841c03218e36a785c1c50f2f74fac5d54656da", + "transactionHash": "0x0997b0c14d8d7fcb037ec6c5c4aa5001438b7ca46d46de230ff9ad598c1515ac", + "transactionIndex": "0xa5", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x28aa687", + "effectiveGasPrice": "0x866c2e", + "from": "0xfaf80eae918575e55bbeae5a55cdb7840c95b347", + "gasUsed": "0x98148", + "logs": [ + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23", + "0x000000000000000000000000faf80eae918575e55bbeae5a55cdb7840c95b347", + "0x000000000000000000000000faf80eae918575e55bbeae5a55cdb7840c95b347" + ], + "data": "0x00000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xee678ecf99827c10cab7faf6673819747b8396b63813ab4cbdb5f5b770a9a81e", + "transactionIndex": "0xa6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xfc", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5", + "0x000000000000000000000000faf80eae918575e55bbeae5a55cdb7840c95b347", + "0x000000000000000000000000faf80eae918575e55bbeae5a55cdb7840c95b347" + ], + "data": "0x00000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xee678ecf99827c10cab7faf6673819747b8396b63813ab4cbdb5f5b770a9a81e", + "transactionIndex": "0xa6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xfd", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x330c5f4dbe72ac987015d3dd390eba3b25968b1c", + "topics": [ + "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", + "0x0000000000000000000000003de2f0a30946c8db2f7fd0d3973f7b16868f3e26", + "0x0000000000000000000000004200000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020d00000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000007e17600d764ad0b00010000000000000000000000000000000000000000000000000000000116b7000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876000000000000000000000000420000000000000000000000000000000000001000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c41635f5fd000000000000000000000000faf80eae918575e55bbeae5a55cdb7840c95b347000000000000000000000000faf80eae918575e55bbeae5a55cdb7840c95b34700000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b73757065726272696467650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xee678ecf99827c10cab7faf6673819747b8396b63813ab4cbdb5f5b770a9a81e", + "transactionIndex": "0xa6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xfe", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a", + "0x0000000000000000000000004200000000000000000000000000000000000010" + ], + "data": "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876000000000000000000000000000000000000000000000000000000000000008000010000000000000000000000000000000000000000000000000000000116b70000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c41635f5fd000000000000000000000000faf80eae918575e55bbeae5a55cdb7840c95b347000000000000000000000000faf80eae918575e55bbeae5a55cdb7840c95b34700000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b737570657262726964676500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xee678ecf99827c10cab7faf6673819747b8396b63813ab4cbdb5f5b770a9a81e", + "transactionIndex": "0xa6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0xff", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546", + "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876" + ], + "data": "0x00000000000000000000000000000000000000000000000002c68af0bb140000", + "blockNumber": "0x874db3", + "transactionHash": "0xee678ecf99827c10cab7faf6673819747b8396b63813ab4cbdb5f5b770a9a81e", + "transactionIndex": "0xa6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x100", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000040000010100200000000000000000000000000000000000000000000000000000000000000000084008000000000000000000010100000000000000000000004000040000012000000000400000000000000000000000000000000000000020000000000000000000800000800c000000000000000010000000002000000000004000000000000000000000000040000000200010000000000000000000000000200008000000000000020000000000000000080002200000000000000000400000000000000080200001000000000000000000000004000200000000040000000000000000020000000001000000a0000000000000000000000", + "status": "0x1", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionHash": "0xee678ecf99827c10cab7faf6673819747b8396b63813ab4cbdb5f5b770a9a81e", + "transactionIndex": "0xa6", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2b4ad25", + "effectiveGasPrice": "0x866c2e", + "from": "0x1ed72507ff186224003f0af7e48e14d9dd33acce", + "gasUsed": "0x2a069e", + "logs": [ + { + "address": "0x0c04089ed32638ae3cdf649f54f90544ac3fc199", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000000fbfbc14b8ffc0c594134c281a3f75cb39b496ca", + "0x000000000000000000000000216f071653a82ced3ef9d29f3f0c0ed7829c8f81" + ], + "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000", + "blockNumber": "0x874db3", + "transactionHash": "0x10330a24438f7700065f17aa1df668c1396d8536404925384f7eaee1289d0f89", + "transactionIndex": "0xa7", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x101", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x0c04089ed32638ae3cdf649f54f90544ac3fc199", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000fbfbc14b8ffc0c594134c281a3f75cb39b496ca", + "0x000000000000000000000000216f071653a82ced3ef9d29f3f0c0ed7829c8f81" + ], + "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000", + "blockNumber": "0x874db3", + "transactionHash": "0x10330a24438f7700065f17aa1df668c1396d8536404925384f7eaee1289d0f89", + "transactionIndex": "0xa7", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x102", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x216f071653a82ced3ef9d29f3f0c0ed7829c8f81", + "topics": [ + "0x676247b4195b3fe545499177befc02b4b4bebd3805a2283b30defcae63d54661", + "0x0000000000000000000000001ed72507ff186224003f0af7e48e14d9dd33acce", + "0x0000000000000000000000003b218d0f26d15b36c715cb06c949210a0d630637" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x10330a24438f7700065f17aa1df668c1396d8536404925384f7eaee1289d0f89", + "transactionIndex": "0xa7", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x103", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x0fbfbc14b8ffc0c594134c281a3f75cb39b496ca", + "topics": [ + "0x7de529dc44c90129d0bb946a3c8f1cdc274ee1297b6b7b00f07d50b7525b17d4", + "0x000000000000000000000000216f071653a82ced3ef9d29f3f0c0ed7829c8f81", + "0x0000000000000000000000001ed72507ff186224003f0af7e48e14d9dd33acce" + ], + "data": "0x0000000000000000000000003b218d0f26d15b36c715cb06c949210a0d630637", + "blockNumber": "0x874db3", + "transactionHash": "0x10330a24438f7700065f17aa1df668c1396d8536404925384f7eaee1289d0f89", + "transactionIndex": "0xa7", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x104", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x800008000000000000000000000000000000000000000000010000000000200a0000000000000000000020200000000000000004000000000000000000200000000000000000002000000008800000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000008000000000000800200020000000000000040000000004000000000400000000000000000002200000000000002000000000000000002000000000000000000000001000000000000000010000000000000000000008000000000000000000000000410400001000000", + "status": "0x1", + "to": "0x0fbfbc14b8ffc0c594134c281a3f75cb39b496ca", + "transactionHash": "0x10330a24438f7700065f17aa1df668c1396d8536404925384f7eaee1289d0f89", + "transactionIndex": "0xa7", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2b772ad", + "effectiveGasPrice": "0x866c2e", + "from": "0x9259d50720237e8f3808010375dd272882fbcc5e", + "gasUsed": "0x2c588", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000009259d50720237e8f3808010375dd272882fbcc5e", + "0x000000000000000000000000f7c61e5eb393f1fb0b77c76722ca73a77bb44f6e" + ], + "data": "0x000000000000000000000000000000000000000000000000000000008c122780", + "blockNumber": "0x874db3", + "transactionHash": "0xd2db9cfea749b7677b180c5701e84a65dd0dead4e110e38fe66bad53541d3245", + "transactionIndex": "0xa8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x105", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009259d50720237e8f3808010375dd272882fbcc5e", + "0x000000000000000000000000f7c61e5eb393f1fb0b77c76722ca73a77bb44f6e" + ], + "data": "0x000000000000000000000000000000000000000000000000000000008c122780", + "blockNumber": "0x874db3", + "transactionHash": "0xd2db9cfea749b7677b180c5701e84a65dd0dead4e110e38fe66bad53541d3245", + "transactionIndex": "0xa8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x106", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f7c61e5eb393f1fb0b77c76722ca73a77bb44f6e", + "0x000000000000000000000000b43db544e2c27092c107639ad201b3defabcf192" + ], + "data": "0x000000000000000000000000000000000000000000000000000000008c122780", + "blockNumber": "0x874db3", + "transactionHash": "0xd2db9cfea749b7677b180c5701e84a65dd0dead4e110e38fe66bad53541d3245", + "transactionIndex": "0xa8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x107", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5", + "0x000000000000000000000000b43db544e2c27092c107639ad201b3defabcf192" + ], + "data": "0x000000000000000000000000000000000000000000000000000000008c122780", + "blockNumber": "0x874db3", + "transactionHash": "0xd2db9cfea749b7677b180c5701e84a65dd0dead4e110e38fe66bad53541d3245", + "transactionIndex": "0xa8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x108", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b43db544e2c27092c107639ad201b3defabcf192", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000000000000000000000000000000000000000000000000000000008c122780", + "blockNumber": "0x874db3", + "transactionHash": "0xd2db9cfea749b7677b180c5701e84a65dd0dead4e110e38fe66bad53541d3245", + "transactionIndex": "0xa8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x109", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xe737e5cebeeba77efe34d4aa090756590b1ce275", + "topics": [ + "0x8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b036" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000017900000001000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fe6b999dc680ccfdd5bf7eb0974218be2542daa0000000000000000000000008fe6b999dc680ccfdd5bf7eb0974218be2542daa0000000000000000000000000000000000000000000000000000000000000000000003e800000000000000010000000000000000000000001c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000009259d50720237e8f3808010375dd272882fbcc5e000000000000000000000000000000000000000000000000000000008c122780000000000000000000000000f7c61e5eb393f1fb0b77c76722ca73a77bb44f6e00000000000000000000000000000000000000000000000000000000000395f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xd2db9cfea749b7677b180c5701e84a65dd0dead4e110e38fe66bad53541d3245", + "transactionIndex": "0xa8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x10a", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa", + "topics": [ + "0x0c8c1cbdc5190613ebd485511d4e2812cfa45eecb79d845893331fedad5130a5", + "0x0000000000000000000000001c7d4b196cb0c7b01d743fbc6116a902379c7238", + "0x000000000000000000000000f7c61e5eb393f1fb0b77c76722ca73a77bb44f6e", + "0x00000000000000000000000000000000000000000000000000000000000003e8" + ], + "data": "0x000000000000000000000000000000000000000000000000000000008c1227800000000000000000000000009259d50720237e8f3808010375dd272882fbcc5e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000008fe6b999dc680ccfdd5bf7eb0974218be2542daa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000395f800000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xd2db9cfea749b7677b180c5701e84a65dd0dead4e110e38fe66bad53541d3245", + "transactionIndex": "0xa8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x10b", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xf7c61e5eb393f1fb0b77c76722ca73a77bb44f6e", + "topics": [ + "0x3fa582ad3732a8c8beb5e7c2569d2009a8386ed5a3978da6d96776b226df41b0", + "0x00000000000000000000000000000000000000000000000000000000000207d8", + "0x0000000000000000000000009259d50720237e8f3808010375dd272882fbcc5e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000009259d50720237e8f3808010375dd272882fbcc5e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c12278000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockNumber": "0x874db3", + "transactionHash": "0xd2db9cfea749b7677b180c5701e84a65dd0dead4e110e38fe66bad53541d3245", + "transactionIndex": "0xa8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x10c", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xf7c61e5eb393f1fb0b77c76722ca73a77bb44f6e", + "topics": [ + "0x88daead09999738ec33d2a16480924808b419dd2f5022e578de4a818c1539bdd", + "0x00000000000000000000000000000000000000000000000000000000000207d9" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xd2db9cfea749b7677b180c5701e84a65dd0dead4e110e38fe66bad53541d3245", + "transactionIndex": "0xa8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x10d", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000800000000000020000040000010000000001000000000000204000000000000800204200000000000000000000000000004000000000000200100100000080010000100000008000800000000000000000080000000000000000000000000020200000000000000000800080000000050000000000010000000000000000202100000000000200000000000000000000040000000000000200000020000000010000000010000002000000000008000000008000000000020000001020002000000000401000000000000000000000000000080000000000020000010001018002000000010000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xf7c61e5eb393f1fb0b77c76722ca73a77bb44f6e", + "transactionHash": "0xd2db9cfea749b7677b180c5701e84a65dd0dead4e110e38fe66bad53541d3245", + "transactionIndex": "0xa8", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2c0f3f5", + "effectiveGasPrice": "0x866c2e", + "from": "0xea11f207449bd0bccd64d12a0ae44e6328cf1787", + "gasUsed": "0x98148", + "logs": [ + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23", + "0x000000000000000000000000ea11f207449bd0bccd64d12a0ae44e6328cf1787", + "0x000000000000000000000000ea11f207449bd0bccd64d12a0ae44e6328cf1787" + ], + "data": "0x0000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x3666d886bceba5ae6ad4e7d147e0d45eb92de0155dbae5790c7681df3cf1bb8a", + "transactionIndex": "0xa9", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x10e", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5", + "0x000000000000000000000000ea11f207449bd0bccd64d12a0ae44e6328cf1787", + "0x000000000000000000000000ea11f207449bd0bccd64d12a0ae44e6328cf1787" + ], + "data": "0x0000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x3666d886bceba5ae6ad4e7d147e0d45eb92de0155dbae5790c7681df3cf1bb8a", + "transactionIndex": "0xa9", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x10f", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x330c5f4dbe72ac987015d3dd390eba3b25968b1c", + "topics": [ + "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", + "0x0000000000000000000000003de2f0a30946c8db2f7fd0d3973f7b16868f3e26", + "0x0000000000000000000000004200000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020d0000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000000429d069189e0000000000000007e17600d764ad0b00010000000000000000000000000000000000000000000000000000000116b8000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd87600000000000000000000000042000000000000000000000000000000000000100000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c41635f5fd000000000000000000000000ea11f207449bd0bccd64d12a0ae44e6328cf1787000000000000000000000000ea11f207449bd0bccd64d12a0ae44e6328cf17870000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b73757065726272696467650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x3666d886bceba5ae6ad4e7d147e0d45eb92de0155dbae5790c7681df3cf1bb8a", + "transactionIndex": "0xa9", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x110", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a", + "0x0000000000000000000000004200000000000000000000000000000000000010" + ], + "data": "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876000000000000000000000000000000000000000000000000000000000000008000010000000000000000000000000000000000000000000000000000000116b80000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c41635f5fd000000000000000000000000ea11f207449bd0bccd64d12a0ae44e6328cf1787000000000000000000000000ea11f207449bd0bccd64d12a0ae44e6328cf17870000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b737570657262726964676500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x3666d886bceba5ae6ad4e7d147e0d45eb92de0155dbae5790c7681df3cf1bb8a", + "transactionIndex": "0xa9", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x111", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546", + "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876" + ], + "data": "0x0000000000000000000000000000000000000000000000000429d069189e0000", + "blockNumber": "0x874db3", + "transactionHash": "0x3666d886bceba5ae6ad4e7d147e0d45eb92de0155dbae5790c7681df3cf1bb8a", + "transactionIndex": "0xa9", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x112", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000040000010100200000000000000000000000000000000000000000000000000000000000000000084208000000000000000000010100000000000000400000004000040000002000000000400000000000000000000000000000000000000820000000000000000000800000800c000000000000000000000000002000000000004000000000000000000000000040000000200010000000000000000000000000200008000000000000020000000000000000080002200000000000000000400000000000000080200001000000000000000000000004000200000000000000000000000000020000000001000000a0000000000000000000000", + "status": "0x1", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionHash": "0x3666d886bceba5ae6ad4e7d147e0d45eb92de0155dbae5790c7681df3cf1bb8a", + "transactionIndex": "0xa9", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2c41991", + "effectiveGasPrice": "0x866c2e", + "from": "0xf2b697c02a5bfc8ff70517e07cee9482eeb27d9a", + "gasUsed": "0x3259c", + "logs": [ + { + "address": "0x7a4ee6f9f0ab037fe771fc36d39c1e19bcc0fdb5", + "topics": [ + "0x501781209a1f8899323b96b4ef08b168df93e0a90c673d1e4cce39366cb62f9b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f2b697c02a5bfc8ff70517e07cee9482eeb27d9a000000000000000000000000000000000000000000000000000e3085973ba0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000012c69c0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x7128b13db48fca29c5de3fc19b466cb74afd8eae0a4a1f833b9bd86f11caed32", + "transactionIndex": "0xaa", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x113", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x66e61ba00f58b857a9dd2c500f3abc424a46bd20", + "topics": [ + "0xda61aa7823fcd807e37b95aabcbe17f03a6f3efd514176444dae191d27fd66b3", + "0xa962bd2cad1ab3a76dd90dcc7aab0858c98fcc4371bb555b86f74ebe2fbea549", + "0xf05dee16eb1c550fb11c6ca5ec75a1535618088c1a1b99b1119a05b1f2e00144" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x7128b13db48fca29c5de3fc19b466cb74afd8eae0a4a1f833b9bd86f11caed32", + "transactionIndex": "0xaa", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x114", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x66e61ba00f58b857a9dd2c500f3abc424a46bd20", + "topics": [ + "0xaf6c6cd7790e0180a4d22eb8ed846e55846f54ed10e5946db19972b5a0813a59", + "0x0000000000000000000000000000000000000000000000000000000000025755" + ], + "data": "0xf1f0da4cabf2f600dc7a78599f45c9b49f0321056ca5a63bdc37b3c57b0d5fcc626d645cf9320d9a5e3bc7100270ecd77f04a126564bb6f70a6404754ddbbe2b0000000000000000000000000000000000000000000000000000000068889828", + "blockNumber": "0x874db3", + "transactionHash": "0x7128b13db48fca29c5de3fc19b466cb74afd8eae0a4a1f833b9bd86f11caed32", + "transactionIndex": "0xaa", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x115", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000800000000000000000000000002000000002000000000000000000000000000000000000000000000008000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000040000100000000200000000000000000000000000000000800000000000001000000000001000000010080000000000800001000000000000000000000000000000000000000000000044040000000000000000000000000000000000000020000000000000002000000000000000000000000000000000000000000000400000000000000000000000400000002000000000000000000000000", + "status": "0x1", + "to": "0x7a4ee6f9f0ab037fe771fc36d39c1e19bcc0fdb5", + "transactionHash": "0x7128b13db48fca29c5de3fc19b466cb74afd8eae0a4a1f833b9bd86f11caed32", + "transactionIndex": "0xaa", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2cd9ad9", + "effectiveGasPrice": "0x866c2e", + "from": "0x83ea019643268c3ad8b2254d39364717e97466a3", + "gasUsed": "0x98148", + "logs": [ + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23", + "0x00000000000000000000000083ea019643268c3ad8b2254d39364717e97466a3", + "0x00000000000000000000000083ea019643268c3ad8b2254d39364717e97466a3" + ], + "data": "0x0000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x823a71fa3ca505f5b759043795c76918ef34496bbb55b27635c364b1a3025538", + "transactionIndex": "0xab", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x116", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5", + "0x00000000000000000000000083ea019643268c3ad8b2254d39364717e97466a3", + "0x00000000000000000000000083ea019643268c3ad8b2254d39364717e97466a3" + ], + "data": "0x0000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x823a71fa3ca505f5b759043795c76918ef34496bbb55b27635c364b1a3025538", + "transactionIndex": "0xab", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x117", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x330c5f4dbe72ac987015d3dd390eba3b25968b1c", + "topics": [ + "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", + "0x0000000000000000000000003de2f0a30946c8db2f7fd0d3973f7b16868f3e26", + "0x0000000000000000000000004200000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020d0000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000000429d069189e0000000000000007e17600d764ad0b00010000000000000000000000000000000000000000000000000000000116b9000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd87600000000000000000000000042000000000000000000000000000000000000100000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c41635f5fd00000000000000000000000083ea019643268c3ad8b2254d39364717e97466a300000000000000000000000083ea019643268c3ad8b2254d39364717e97466a30000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b73757065726272696467650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x823a71fa3ca505f5b759043795c76918ef34496bbb55b27635c364b1a3025538", + "transactionIndex": "0xab", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x118", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a", + "0x0000000000000000000000004200000000000000000000000000000000000010" + ], + "data": "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876000000000000000000000000000000000000000000000000000000000000008000010000000000000000000000000000000000000000000000000000000116b90000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c41635f5fd00000000000000000000000083ea019643268c3ad8b2254d39364717e97466a300000000000000000000000083ea019643268c3ad8b2254d39364717e97466a30000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b737570657262726964676500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x823a71fa3ca505f5b759043795c76918ef34496bbb55b27635c364b1a3025538", + "transactionIndex": "0xab", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x119", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546", + "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876" + ], + "data": "0x0000000000000000000000000000000000000000000000000429d069189e0000", + "blockNumber": "0x874db3", + "transactionHash": "0x823a71fa3ca505f5b759043795c76918ef34496bbb55b27635c364b1a3025538", + "transactionIndex": "0xab", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x11a", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000040000010100200000000000000000000000000000000000000000000000000000000000000000084008000000000000000000010100000000000000000000004000040000002000000000400000000000000000000000000000000000000020000000000000040000800000800c000000000000000000000000002000000000004000000000000000000000000040000000200010000000000000000000000000200008000000000004020000000000000000080002200000000000000000400000040000000080200001000000000000000000000004000200000000000000000000000000020000000001000000a0000000000000000000000", + "status": "0x1", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionHash": "0x823a71fa3ca505f5b759043795c76918ef34496bbb55b27635c364b1a3025538", + "transactionIndex": "0xab", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2ce97a0", + "effectiveGasPrice": "0x866c2e", + "from": "0xd5d4fb83fe0d2bdfcdb567afe1d3eb050f3cc87c", + "gasUsed": "0xfcc7", + "logs": [ + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000d5d4fb83fe0d2bdfcdb567afe1d3eb050f3cc87c", + "0x000000000000000000000000b3b493300a4d5ba630ff466f26ef557894e6e7c1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000895440", + "blockNumber": "0x874db3", + "transactionHash": "0x36df878a74739549642183565c1df599eb11810fb5ba28ac72c929a3192698fd", + "transactionIndex": "0xac", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x11b", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000d5d4fb83fe0d2bdfcdb567afe1d3eb050f3cc87c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000895440", + "blockNumber": "0x874db3", + "transactionHash": "0x36df878a74739549642183565c1df599eb11810fb5ba28ac72c929a3192698fd", + "transactionIndex": "0xac", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x11c", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x0000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000800000000000000000000000000000200000000000000000002010000000000000000080000000000000000000000001000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000200a000000000000002000000000000000000000000000000002000000000000000000020000008000400000000000000000000000000000000000000000000020000000000", + "status": "0x1", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionHash": "0x36df878a74739549642183565c1df599eb11810fb5ba28ac72c929a3192698fd", + "transactionIndex": "0xac", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2d818e8", + "effectiveGasPrice": "0x866c2e", + "from": "0x149e95d90bfbb7df7aaeafc8164b6489736a5424", + "gasUsed": "0x98148", + "logs": [ + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23", + "0x000000000000000000000000149e95d90bfbb7df7aaeafc8164b6489736a5424", + "0x000000000000000000000000149e95d90bfbb7df7aaeafc8164b6489736a5424" + ], + "data": "0x000000000000000000000000000000000000000000000000038423948ef2d0000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x568775bf48f77f6c562399b027730b60a611d43bc9c07ced470f7e0bb29b7054", + "transactionIndex": "0xad", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x11d", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5", + "0x000000000000000000000000149e95d90bfbb7df7aaeafc8164b6489736a5424", + "0x000000000000000000000000149e95d90bfbb7df7aaeafc8164b6489736a5424" + ], + "data": "0x000000000000000000000000000000000000000000000000038423948ef2d0000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x568775bf48f77f6c562399b027730b60a611d43bc9c07ced470f7e0bb29b7054", + "transactionIndex": "0xad", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x11e", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x330c5f4dbe72ac987015d3dd390eba3b25968b1c", + "topics": [ + "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", + "0x0000000000000000000000003de2f0a30946c8db2f7fd0d3973f7b16868f3e26", + "0x0000000000000000000000004200000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000038423948ef2d000000000000000000000000000000000000000000000000000038423948ef2d000000000000007e17600d764ad0b00010000000000000000000000000000000000000000000000000000000116ba000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd8760000000000000000000000004200000000000000000000000000000000000010000000000000000000000000000000000000000000000000038423948ef2d0000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c41635f5fd000000000000000000000000149e95d90bfbb7df7aaeafc8164b6489736a5424000000000000000000000000149e95d90bfbb7df7aaeafc8164b6489736a5424000000000000000000000000000000000000000000000000038423948ef2d0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b73757065726272696467650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x568775bf48f77f6c562399b027730b60a611d43bc9c07ced470f7e0bb29b7054", + "transactionIndex": "0xad", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x11f", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a", + "0x0000000000000000000000004200000000000000000000000000000000000010" + ], + "data": "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876000000000000000000000000000000000000000000000000000000000000008000010000000000000000000000000000000000000000000000000000000116ba0000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c41635f5fd000000000000000000000000149e95d90bfbb7df7aaeafc8164b6489736a5424000000000000000000000000149e95d90bfbb7df7aaeafc8164b6489736a5424000000000000000000000000000000000000000000000000038423948ef2d0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b737570657262726964676500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x568775bf48f77f6c562399b027730b60a611d43bc9c07ced470f7e0bb29b7054", + "transactionIndex": "0xad", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x120", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546", + "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876" + ], + "data": "0x000000000000000000000000000000000000000000000000038423948ef2d000", + "blockNumber": "0x874db3", + "transactionHash": "0x568775bf48f77f6c562399b027730b60a611d43bc9c07ced470f7e0bb29b7054", + "transactionIndex": "0xad", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x121", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000040800010100200000000000000000000000000000000000000000000000000000000000000000084008000000000000000000010100000000000000000000004000040000002000000000400000000000000000000000000000000000000020000200000000000000800000800c000000000000000000000000002000000000004000000000000000000000000040000000200010000000000000000000000000200008000000000000020000000000000000080002280000000000000000400000000000000080200001000000000000000000000004000200000000000000000000000000020000000001000000a0000000000000000000000", + "status": "0x1", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionHash": "0x568775bf48f77f6c562399b027730b60a611d43bc9c07ced470f7e0bb29b7054", + "transactionIndex": "0xad", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2d94527", + "effectiveGasPrice": "0x866c2e", + "from": "0x51358eff79ae4527c7551d494658fe13edeba9d1", + "gasUsed": "0x12c3f", + "logs": [ + { + "address": "0x4f5b54d4af2568cefafa73bb062e5d734b55aa05", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000051358eff79ae4527c7551d494658fe13edeba9d1", + "0x00000000000000000000000023b2615d783e16f14b62efa125306c7c69b4941a" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f3a70", + "blockNumber": "0x874db3", + "transactionHash": "0x2d831feedb6b2c21f25d61686483bed0a1a5935ed8958a12509ce0fea71459eb", + "transactionIndex": "0xae", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x122", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xdcb5c62eac28d1efc7132ad99f2bd81973041d14", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000051358eff79ae4527c7551d494658fe13edeba9d1" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f3a70", + "blockNumber": "0x874db3", + "transactionHash": "0x2d831feedb6b2c21f25d61686483bed0a1a5935ed8958a12509ce0fea71459eb", + "transactionIndex": "0xae", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x123", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000080000000000000008000000000000000000000000000000000000000000000000060000000001000000000800000000000000000200000010000000000000000000000000000000004000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000200000000002000000000000000000000000000000000000000008000000000020000000000000000000000000000000000000000000400000000000000000002000", + "status": "0x1", + "to": "0x23b2615d783e16f14b62efa125306c7c69b4941a", + "transactionHash": "0x2d831feedb6b2c21f25d61686483bed0a1a5935ed8958a12509ce0fea71459eb", + "transactionIndex": "0xae", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x2da715a", + "effectiveGasPrice": "0x866c2e", + "from": "0x8d02026d829f25b739887b29a7b4a9eb7d7fed43", + "gasUsed": "0x12c33", + "logs": [ + { + "address": "0x4f5b54d4af2568cefafa73bb062e5d734b55aa05", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000008d02026d829f25b739887b29a7b4a9eb7d7fed43", + "0x00000000000000000000000023b2615d783e16f14b62efa125306c7c69b4941a" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000ee48", + "blockNumber": "0x874db3", + "transactionHash": "0x253ce92e5b777ecef94bf932001c1fd973c567c3d391989726135810ddb22ef9", + "transactionIndex": "0xaf", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x124", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xdcb5c62eac28d1efc7132ad99f2bd81973041d14", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000008d02026d829f25b739887b29a7b4a9eb7d7fed43" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000ee48", + "blockNumber": "0x874db3", + "transactionHash": "0x253ce92e5b777ecef94bf932001c1fd973c567c3d391989726135810ddb22ef9", + "transactionIndex": "0xaf", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x125", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000008000000000000000000000000000000000000000000000000060000000000000000000800020000000000008200000010400000000000000000000000000000004000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000200000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000400000000000000000002000", + "status": "0x1", + "to": "0x23b2615d783e16f14b62efa125306c7c69b4941a", + "transactionHash": "0x253ce92e5b777ecef94bf932001c1fd973c567c3d391989726135810ddb22ef9", + "transactionIndex": "0xaf", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x30c9225", + "effectiveGasPrice": "0x866c2e", + "from": "0x6926bab9ac5112aeec02c44a2ce91cf37713e2f1", + "gasUsed": "0x3220cb", + "logs": [ + { + "address": "0x3d6dc90f4840c595d58739c38e88fcc23fce374a", + "topics": [ + "0xe401d64f2ed29883cf5b2c424f3c008bf22e43cfa2f66e20cc842af1d7d52ada" + ], + "data": "0x0000000000000000000000006926bab9ac5112aeec02c44a2ce91cf37713e2f122932e3dde0bd3d41b121433a8ac065922411e45afe952671b84bf140c14e820185614c50eae15ab9d210ecae3a3d60a116b32c8fbe05a353b79d72fd6e6b38b238c86fde94f1e38b46fa44dc267f304332c98a30e5e4a85d3f0ec411a604e710aa1f438899ce18dc92153f84fb83752c979c225a30b3ba93ec9d9e047645503", + "blockNumber": "0x874db3", + "transactionHash": "0x0028abf7f03b2392e4d7168509ede13edf368dd141803742772794659e1ef8ca", + "transactionIndex": "0xb0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x126", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010080000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x3d6dc90f4840c595d58739c38e88fcc23fce374a", + "transactionHash": "0x0028abf7f03b2392e4d7168509ede13edf368dd141803742772794659e1ef8ca", + "transactionIndex": "0xb0", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x311c96d", + "effectiveGasPrice": "0x866c2e", + "from": "0x49b20e3e989bfe5a8526e7c4036ec18918d41885", + "gasUsed": "0x53748", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000006c5aae4622b835058a41879ba5e128019b9047d6" + ], + "data": "0x0000000000000000000000000000000000000000000000005a34a38fc00a0000", + "blockNumber": "0x874db3", + "transactionHash": "0x64336bb7a45214ac18d0c14ccedae771a8318386aa8de3ba505e18e347fb61ed", + "transactionIndex": "0xb1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x127", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x6c5aae4622b835058a41879ba5e128019b9047d6", + "topics": [ + "0xace4867fe6fb81aab943eba9cdd00e13f386affe1946ce84f2f46ad4620372f4", + "0x0000000000000000000000000000000000000000000000000000000000002712", + "0x0000000000000000000000007b79995e5f793a07bc00c21412e50ecae098e7f9", + "0x0000000000000000000000000000000000000000000000000000000000000030" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000009b85800000000000000000000000049b20e3e989bfe5a8526e7c4036ec18918d4188500000000000000000000000049b20e3e989bfe5a8526e7c4036ec18918d418850000000000000000000000000000000000000000000000005a34a38fc00a000000000000000000000000000049b20e3e989bfe5a8526e7c4036ec18918d41885", + "blockNumber": "0x874db3", + "transactionHash": "0x64336bb7a45214ac18d0c14ccedae771a8318386aa8de3ba505e18e347fb61ed", + "transactionIndex": "0xb1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x128", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x4a8bc80ed5a4067f1ccf107057b8270e0cc11a78", + "topics": [ + "0x6eb224fb001ed210e379b335e35efe88672a8ce935d981a6896b27ffdf52a3b2", + "0x0000000000000000000000007b1bd7a6b4e61c2a123ac6bc2cbfc614437d0470" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000ae92c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000002d0010030000000000000000000000000f72abb2b4c53b722643355a9816ddddcd7f215f4000001829945ff10000000000000000000000000daee3a6b4196e3e46015b364f1dae54ceae74a91000000000000000000000000641a6608e2959c0d7fe2a5f267dfda519ed43d98013a000000000000000000000000000000000000000000000000000000000009b8580000000000000000000000006c5aae4622b835058a41879ba5e128019b9047d600f899474d500030000000000000000000000000600d3c45cd002e7359d12597bb8058a0c32a20df0000000000000000000000006c5aae4622b835058a41879ba5e128019b9047d600b0994e5454080000000026be3680577261707065642045746865720000000000000000000000000000000000000057455448000000000000000000000000000000000000000000000000000000001227120000000000000000000000007b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000049b20e3e989bfe5a8526e7c4036ec18918d4188500000000000000000000000049b20e3e989bfe5a8526e7c4036ec18918d41885000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b8d80000000000000000000000000000000000000000000000000000000b165100c3003000000000000000000000000049b20e3e989bfe5a8526e7c4036ec18918d418850000000000000000000000007a0a53847776f7e94cc35742971acb2217b0db810000000000000000000000007a0a53847776f7e94cc35742971acb2217b0db810000000000000000000000003d11d1c1a8763c8508e0f3d4f6ec08d0d6cc293e0000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x64336bb7a45214ac18d0c14ccedae771a8318386aa8de3ba505e18e347fb61ed", + "transactionIndex": "0xb1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x129", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b1bd7a6b4e61c2a123ac6bc2cbfc614437d0470", + "topics": [ + "0xda8540426b64ece7b164a9dce95448765f0a7263ef3ff85091c9c7361e485364", + "0x00000000000000000000000000000000000000000000000000000000000ae92c" + ], + "data": "0x000000000000000000000000000000000000000000000000000302cbf87278000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x64336bb7a45214ac18d0c14ccedae771a8318386aa8de3ba505e18e347fb61ed", + "transactionIndex": "0xb1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x12a", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x3d11d1c1a8763c8508e0f3d4f6ec08d0d6cc293e", + "topics": [ + "0xc3192e083c87c556db539f071d8a298869f487e951327b5616a6f85ae3da958e" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049b20e3e989bfe5a8526e7c4036ec18918d41885000000000000000000000000000000000000000000000000000302cbf8727800", + "blockNumber": "0x874db3", + "transactionHash": "0x64336bb7a45214ac18d0c14ccedae771a8318386aa8de3ba505e18e347fb61ed", + "transactionIndex": "0xb1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x12b", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x3d11d1c1a8763c8508e0f3d4f6ec08d0d6cc293e", + "topics": [ + "0x79376a0dc6cbfe6f6f8f89ad24c262a8c6233f8df181d3fe5abb2e2442e8c738" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000daee3a6b4196e3e46015b364f1dae54ceae74a91000000000000000000000000641a6608e2959c0d7fe2a5f267dfda519ed43d98000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000013a000000000000000000000000000000000000000000000000000000000009b8580000000000000000000000006c5aae4622b835058a41879ba5e128019b9047d600f899474d500030000000000000000000000000600d3c45cd002e7359d12597bb8058a0c32a20df0000000000000000000000006c5aae4622b835058a41879ba5e128019b9047d600b0994e5454080000000026be3680577261707065642045746865720000000000000000000000000000000000000057455448000000000000000000000000000000000000000000000000000000001227120000000000000000000000007b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000049b20e3e989bfe5a8526e7c4036ec18918d4188500000000000000000000000049b20e3e989bfe5a8526e7c4036ec18918d418850000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x64336bb7a45214ac18d0c14ccedae771a8318386aa8de3ba505e18e347fb61ed", + "transactionIndex": "0xb1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x12c", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xdaee3a6b4196e3e46015b364f1dae54ceae74a91", + "topics": [ + "0x63eefc6a01dedd195b6bca015db99eb7905ad05547b48c92500987395f78ae7b", + "0x000000000000000000000000000000000000000000000000000000000009b858", + "0x0000000000000000000000006c5aae4622b835058a41879ba5e128019b9047d6" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000030000000000000000000000000600d3c45cd002e7359d12597bb8058a0c32a20df0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000302cbf872780000000000000000000000000000000000000000000000000000000000000000b0994e5454080000000026be3680577261707065642045746865720000000000000000000000000000000000000057455448000000000000000000000000000000000000000000000000000000001227120000000000000000000000007b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000049b20e3e989bfe5a8526e7c4036ec18918d4188500000000000000000000000049b20e3e989bfe5a8526e7c4036ec18918d4188500000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x64336bb7a45214ac18d0c14ccedae771a8318386aa8de3ba505e18e347fb61ed", + "transactionIndex": "0xb1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x12d", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x02000000000180040000000000800010000000000000000000002004000400000010000000000002000000000000000000000000800048000000000000000000000000800000000000000040000080200000014000100000000000008100000000000000000000000000000000000000000080000000000000000000014000000080020000200000000000000100000000008001000000000000108000000008000008000400000100200040000000180000000002000002000000000100000000400102000004000100000000000000040000000004000000000000000020000400000000000000000008020000280000000000000000400002000000000000", + "status": "0x1", + "to": "0x6c5aae4622b835058a41879ba5e128019b9047d6", + "transactionHash": "0x64336bb7a45214ac18d0c14ccedae771a8318386aa8de3ba505e18e347fb61ed", + "transactionIndex": "0xb1", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x31b4ab5", + "effectiveGasPrice": "0x866c2e", + "from": "0xb1aba7d4c640edc77c01111521fed0dea178dda5", + "gasUsed": "0x98148", + "logs": [ + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23", + "0x000000000000000000000000b1aba7d4c640edc77c01111521fed0dea178dda5", + "0x000000000000000000000000b1aba7d4c640edc77c01111521fed0dea178dda5" + ], + "data": "0x00000000000000000000000000000000000000000000000003826f62fb5070000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xde6d1f0ebfed1f2357eca22638b11c64f0d809b378a74a9022b1a999d8026b75", + "transactionIndex": "0xb2", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x12e", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5", + "0x000000000000000000000000b1aba7d4c640edc77c01111521fed0dea178dda5", + "0x000000000000000000000000b1aba7d4c640edc77c01111521fed0dea178dda5" + ], + "data": "0x00000000000000000000000000000000000000000000000003826f62fb5070000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xde6d1f0ebfed1f2357eca22638b11c64f0d809b378a74a9022b1a999d8026b75", + "transactionIndex": "0xb2", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x12f", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x330c5f4dbe72ac987015d3dd390eba3b25968b1c", + "topics": [ + "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", + "0x0000000000000000000000003de2f0a30946c8db2f7fd0d3973f7b16868f3e26", + "0x0000000000000000000000004200000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020d00000000000000000000000000000000000000000000000003826f62fb50700000000000000000000000000000000000000000000000000003826f62fb507000000000000007e17600d764ad0b00010000000000000000000000000000000000000000000000000000000116bb000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876000000000000000000000000420000000000000000000000000000000000001000000000000000000000000000000000000000000000000003826f62fb5070000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c41635f5fd000000000000000000000000b1aba7d4c640edc77c01111521fed0dea178dda5000000000000000000000000b1aba7d4c640edc77c01111521fed0dea178dda500000000000000000000000000000000000000000000000003826f62fb5070000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b73757065726272696467650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xde6d1f0ebfed1f2357eca22638b11c64f0d809b378a74a9022b1a999d8026b75", + "transactionIndex": "0xb2", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x130", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a", + "0x0000000000000000000000004200000000000000000000000000000000000010" + ], + "data": "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876000000000000000000000000000000000000000000000000000000000000008000010000000000000000000000000000000000000000000000000000000116bb0000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c41635f5fd000000000000000000000000b1aba7d4c640edc77c01111521fed0dea178dda5000000000000000000000000b1aba7d4c640edc77c01111521fed0dea178dda500000000000000000000000000000000000000000000000003826f62fb5070000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b737570657262726964676500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xde6d1f0ebfed1f2357eca22638b11c64f0d809b378a74a9022b1a999d8026b75", + "transactionIndex": "0xb2", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x131", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546", + "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876" + ], + "data": "0x00000000000000000000000000000000000000000000000003826f62fb507000", + "blockNumber": "0x874db3", + "transactionHash": "0xde6d1f0ebfed1f2357eca22638b11c64f0d809b378a74a9022b1a999d8026b75", + "transactionIndex": "0xb2", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x132", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000040000010100208000000000000000000000000000000000000000000000000000000000000000084008000010000000000000010100000000000000000000004000040000002000000000400000000004000000000000000000000000000020000000000000000000800000800c000000000000000000000000002000000000004000000000000000000000000040000000200010000000000000000000000000200008000000000000020000000000000000080002200000000000000000400000000000000080200001000000000000000000000004000200000000000000000000000000020000000001000000a0000000000000000000000", + "status": "0x1", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionHash": "0xde6d1f0ebfed1f2357eca22638b11c64f0d809b378a74a9022b1a999d8026b75", + "transactionIndex": "0xb2", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x324cbfd", + "effectiveGasPrice": "0x866c2e", + "from": "0x3c33351cde42403ca22fce72180c769a7e98b4ea", + "gasUsed": "0x98148", + "logs": [ + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23", + "0x0000000000000000000000003c33351cde42403ca22fce72180c769a7e98b4ea", + "0x0000000000000000000000003c33351cde42403ca22fce72180c769a7e98b4ea" + ], + "data": "0x000000000000000000000000000000000000000000000000038550f3520a90000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xec09f9ab5cadd329116ce935e8b4e04cfeac79c7509dcb800333c8eecaa5f049", + "transactionIndex": "0xb3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x133", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "topics": [ + "0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5", + "0x0000000000000000000000003c33351cde42403ca22fce72180c769a7e98b4ea", + "0x0000000000000000000000003c33351cde42403ca22fce72180c769a7e98b4ea" + ], + "data": "0x000000000000000000000000000000000000000000000000038550f3520a90000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b7375706572627269646765000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xec09f9ab5cadd329116ce935e8b4e04cfeac79c7509dcb800333c8eecaa5f049", + "transactionIndex": "0xb3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x134", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x330c5f4dbe72ac987015d3dd390eba3b25968b1c", + "topics": [ + "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", + "0x0000000000000000000000003de2f0a30946c8db2f7fd0d3973f7b16868f3e26", + "0x0000000000000000000000004200000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000038550f3520a9000000000000000000000000000000000000000000000000000038550f3520a9000000000000007e17600d764ad0b00010000000000000000000000000000000000000000000000000000000116bc000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd8760000000000000000000000004200000000000000000000000000000000000010000000000000000000000000000000000000000000000000038550f3520a90000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c41635f5fd0000000000000000000000003c33351cde42403ca22fce72180c769a7e98b4ea0000000000000000000000003c33351cde42403ca22fce72180c769a7e98b4ea000000000000000000000000000000000000000000000000038550f3520a90000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b73757065726272696467650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xec09f9ab5cadd329116ce935e8b4e04cfeac79c7509dcb800333c8eecaa5f049", + "transactionIndex": "0xb3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x135", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a", + "0x0000000000000000000000004200000000000000000000000000000000000010" + ], + "data": "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876000000000000000000000000000000000000000000000000000000000000008000010000000000000000000000000000000000000000000000000000000116bc0000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c41635f5fd0000000000000000000000003c33351cde42403ca22fce72180c769a7e98b4ea0000000000000000000000003c33351cde42403ca22fce72180c769a7e98b4ea000000000000000000000000000000000000000000000000038550f3520a90000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b737570657262726964676500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xec09f9ab5cadd329116ce935e8b4e04cfeac79c7509dcb800333c8eecaa5f049", + "transactionIndex": "0xb3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x136", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x2cd1f0a30946c8db2f7fd0d3973f7b16868f2d15", + "topics": [ + "0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546", + "0x000000000000000000000000136d377d3f820f8d6e3d5cb16f51e7e5037bd876" + ], + "data": "0x000000000000000000000000000000000000000000000000038550f3520a9000", + "blockNumber": "0x874db3", + "transactionHash": "0xec09f9ab5cadd329116ce935e8b4e04cfeac79c7509dcb800333c8eecaa5f049", + "transactionIndex": "0xb3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x137", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000040000010100200000000000000000000000000000000000000000000000000000000000000040084008000000000000000000010100000000000000000000004000040000002000000000400000000000000000000000000000000000000020000000000000000000800000800c000000000000000000000000002000000000004000000000000000000000000040000000200010000000000000000000000000200008000000000000020000000000000000080002200000000010000000400000000000000080200001000000000000000000000004000200000000000000000000000000020000000001000000a0000000000000000000000", + "status": "0x1", + "to": "0x136d377d3f820f8d6e3d5cb16f51e7e5037bd876", + "transactionHash": "0xec09f9ab5cadd329116ce935e8b4e04cfeac79c7509dcb800333c8eecaa5f049", + "transactionIndex": "0xb3", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x325c8d0", + "effectiveGasPrice": "0x866c2e", + "from": "0xe638376b2328ec47bed693c4d783f92646f8255e", + "gasUsed": "0xfcd3", + "logs": [ + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e638376b2328ec47bed693c4d783f92646f8255e", + "0x000000000000000000000000b3b493300a4d5ba630ff466f26ef557894e6e7c1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000002bde780", + "blockNumber": "0x874db3", + "transactionHash": "0x3cde34d433ee7a45b9594fc4f6726fcecc5eb07cd5be9a463b611e2292258b33", + "transactionIndex": "0xb4", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x138", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000e638376b2328ec47bed693c4d783f92646f8255e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000002bde780", + "blockNumber": "0x874db3", + "transactionHash": "0x3cde34d433ee7a45b9594fc4f6726fcecc5eb07cd5be9a463b611e2292258b33", + "transactionIndex": "0xb4", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x139", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x0000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000800000000000000000000000000000000000000000000000002010000000000000000080000000000000000000000001000008000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000200a000000000000002000000000000000000000000000000002000000001000000000020000008000400000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionHash": "0x3cde34d433ee7a45b9594fc4f6726fcecc5eb07cd5be9a463b611e2292258b33", + "transactionIndex": "0xb4", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3280fc7", + "effectiveGasPrice": "0x866c2e", + "from": "0xdcbb3b686523a274db31a634e022983883818082", + "gasUsed": "0x246f7", + "logs": [ + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000dcbb3b686523a274db31a634e022983883818082", + "0x00000000000000000000000047d1b0623bb3e557bf8544c159c9ae51d091f8a2" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000844c9a79", + "blockNumber": "0x874db3", + "transactionHash": "0x1c5287300fa53bcb90e9375ae95af5e95e6ef59127707609c77a524d52942010", + "transactionIndex": "0xb5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x13a", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000047d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "0x000000000000000000000000dcbb3b686523a274db31a634e022983883818082" + ], + "data": "0x000000000000000000000000000000000000000000000000000000008445d492", + "blockNumber": "0x874db3", + "transactionHash": "0x1c5287300fa53bcb90e9375ae95af5e95e6ef59127707609c77a524d52942010", + "transactionIndex": "0xb5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x13b", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "topics": [ + "0x8b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd97140", + "0x000000000000000000000000dcbb3b686523a274db31a634e022983883818082" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000844c9a790000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000008445d492", + "blockNumber": "0x874db3", + "transactionHash": "0x1c5287300fa53bcb90e9375ae95af5e95e6ef59127707609c77a524d52942010", + "transactionIndex": "0xb5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x13c", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000200000000000002008000000000000000000000000000000000000000000000000000100000000000200000000000000000000000000000010000000000000800000000000000010000000000000000000000000000040000000000000004000000000000000000000000000000000000000000000001000002000000000000002000000000000000000000000000040002000000000000000000000000040080400000000000000000000800000000000000000000000000000000000", + "status": "0x1", + "to": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "transactionHash": "0x1c5287300fa53bcb90e9375ae95af5e95e6ef59127707609c77a524d52942010", + "transactionIndex": "0xb5", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x32a146c", + "effectiveGasPrice": "0x866c2e", + "from": "0x5b69a34b09e19e885980b3adbe21b7ae0edad960", + "gasUsed": "0x204a5", + "logs": [ + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000005b69a34b09e19e885980b3adbe21b7ae0edad960", + "0x00000000000000000000000047d1b0623bb3e557bf8544c159c9ae51d091f8a2" + ], + "data": "0x000000000000000000000000000000000000000000000000000000001bb75640", + "blockNumber": "0x874db3", + "transactionHash": "0xeec201f666fc05599e9b148d20112d041c3255b9049f7fab9da42c30d627ade0", + "transactionIndex": "0xb6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x13d", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000047d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "0x0000000000000000000000005b69a34b09e19e885980b3adbe21b7ae0edad960" + ], + "data": "0x000000000000000000000000000000000000000000000000000000001bb5eae0", + "blockNumber": "0x874db3", + "transactionHash": "0xeec201f666fc05599e9b148d20112d041c3255b9049f7fab9da42c30d627ade0", + "transactionIndex": "0xb6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x13e", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "topics": [ + "0x8b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd97140", + "0x0000000000000000000000005b69a34b09e19e885980b3adbe21b7ae0edad960" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bb756400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000001bb5eae0", + "blockNumber": "0x874db3", + "transactionHash": "0xeec201f666fc05599e9b148d20112d041c3255b9049f7fab9da42c30d627ade0", + "transactionIndex": "0xb6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x13f", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000000000000002008000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000010000000000000800000000000000010000000000000000000000000000040000000000000004000000000000000000000000000000000000000000000001000002000000000000002000000004000000000000000000000002000000000000000000000000040080400000000000000000000800000000000000000000000000000000400", + "status": "0x1", + "to": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "transactionHash": "0xeec201f666fc05599e9b148d20112d041c3255b9049f7fab9da42c30d627ade0", + "transactionIndex": "0xb6", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x32c1911", + "effectiveGasPrice": "0x866c2e", + "from": "0x00ef5b3c37e2eb6e5c5f2aa829a1b91313d3fafd", + "gasUsed": "0x204a5", + "logs": [ + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000000ef5b3c37e2eb6e5c5f2aa829a1b91313d3fafd", + "0x00000000000000000000000047d1b0623bb3e557bf8544c159c9ae51d091f8a2" + ], + "data": "0x000000000000000000000000000000000000000000000000000000003a3bd640", + "blockNumber": "0x874db3", + "transactionHash": "0x5cd9ca9b6454bfd889579ed9acd7afa6587424c1877970d960c2bf20f5a3d476", + "transactionIndex": "0xb7", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x140", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000047d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "0x00000000000000000000000000ef5b3c37e2eb6e5c5f2aa829a1b91313d3fafd" + ], + "data": "0x000000000000000000000000000000000000000000000000000000003a38daa1", + "blockNumber": "0x874db3", + "transactionHash": "0x5cd9ca9b6454bfd889579ed9acd7afa6587424c1877970d960c2bf20f5a3d476", + "transactionIndex": "0xb7", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x141", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "topics": [ + "0x8b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd97140", + "0x00000000000000000000000000ef5b3c37e2eb6e5c5f2aa829a1b91313d3fafd" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a3bd6400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000003a38daa1", + "blockNumber": "0x874db3", + "transactionHash": "0x5cd9ca9b6454bfd889579ed9acd7afa6587424c1877970d960c2bf20f5a3d476", + "transactionIndex": "0xb7", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x142", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000002008000000000000050000000000000000000000000000000000000100000000000000000000000000000000000000000010000000000000800000000000000010000000000000000000000000000840000000000000004000000000000000000000000000000000000000000000001000002000000000000002000000000000000000000000000000002000000000000000000000000040080400000000000000000000800000000000000000000000000000000000", + "status": "0x1", + "to": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "transactionHash": "0x5cd9ca9b6454bfd889579ed9acd7afa6587424c1877970d960c2bf20f5a3d476", + "transactionIndex": "0xb7", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x32c76e7", + "effectiveGasPrice": "0x8492bb", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gasUsed": "0x5dd6", + "logs": [ + { + "address": "0x20c54c5f742f123abb49a982bfe0af47edb38756", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000ae00cddf915964ca1cecf71871ed5dbedd92e618", + "0x000000000000000000000000bd6b25c4132f09369c354bee0f7be777d7d434fa" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xae8fa86b7d8452f288751ce142bc04ea2638aa4764a5e444bf5cbc57876acac6", + "transactionIndex": "0xb8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x143", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000020000000001000000020000000000000000000000000000000000000000000000000000000000000000000000000080000200000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000010002000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000400000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x20c54c5f742f123abb49a982bfe0af47edb38756", + "transactionHash": "0xae8fa86b7d8452f288751ce142bc04ea2638aa4764a5e444bf5cbc57876acac6", + "transactionIndex": "0xb8", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x32cd498", + "effectiveGasPrice": "0x866c2e", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gasUsed": "0x5db1", + "logs": [ + { + "address": "0xbd6b25c4132f09369c354bee0f7be777d7d434fa", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000ae00cddf915964ca1cecf71871ed5dbedd92e618", + "0x00000000000000000000000061f2ab7b0c0e10e18a3ed1c3bc7958540374a8dc" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x606a60d0696888b24f7a3cc8abd9008b37f9419c29369df135b4e4239395da14", + "transactionIndex": "0xb9", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x144", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000400000000000020000000080000000000000000000000000000000000000002000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000080000000000000000000000000000000000010000000000000000000000010000000020000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xbd6b25c4132f09369c354bee0f7be777d7d434fa", + "transactionHash": "0x606a60d0696888b24f7a3cc8abd9008b37f9419c29369df135b4e4239395da14", + "transactionIndex": "0xb9", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x32d3249", + "effectiveGasPrice": "0x866c2e", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gasUsed": "0x5db1", + "logs": [ + { + "address": "0x006cbf409ca275ba022111db32bdae054a97d488", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000ae00cddf915964ca1cecf71871ed5dbedd92e618", + "0x000000000000000000000000e85a06c238439f981c90b2c91393b2f3c46e27fc" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x74f4a236a14a68d12960e8e59171538799a29f12cd9a04717b8b8b574bef9053", + "transactionIndex": "0xba", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x145", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000020000000000000000000000200000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000010000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000400000000000010000000000000800000000000000000020000000100000000000000000000", + "status": "0x1", + "to": "0x006cbf409ca275ba022111db32bdae054a97d488", + "transactionHash": "0x74f4a236a14a68d12960e8e59171538799a29f12cd9a04717b8b8b574bef9053", + "transactionIndex": "0xba", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x32d901f", + "effectiveGasPrice": "0x866c2e", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gasUsed": "0x5dd6", + "logs": [ + { + "address": "0x20c54c5f742f123abb49a982bfe0af47edb38756", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000ae00cddf915964ca1cecf71871ed5dbedd92e618", + "0x00000000000000000000000061f2ab7b0c0e10e18a3ed1c3bc7958540374a8dc" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xce9a1951004e0869101fe6af1ff4b972751ab27a3c4e0e37babb161bae3ab644", + "transactionIndex": "0xbb", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x146", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000400001000000020000000080000000000000000000000000000000000000000000000000000000000000000000000200000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000010000000000000000000000000000000020000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000010000000000000400000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x20c54c5f742f123abb49a982bfe0af47edb38756", + "transactionHash": "0xce9a1951004e0869101fe6af1ff4b972751ab27a3c4e0e37babb161bae3ab644", + "transactionIndex": "0xbb", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x32dedf5", + "effectiveGasPrice": "0x3bdfa392", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gasUsed": "0x5dd6", + "logs": [ + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000ae00cddf915964ca1cecf71871ed5dbedd92e618", + "0x00000000000000000000000047d1b0623bb3e557bf8544c159c9ae51d091f8a2" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x0ebc81c0ed340adf8785c078564894d5c5956d095430078ee0ae91627e6c15d3", + "transactionIndex": "0xbc", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x147", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000080000000800000000000000010000000000010000000000000000040000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionHash": "0x0ebc81c0ed340adf8785c078564894d5c5956d095430078ee0ae91627e6c15d3", + "transactionIndex": "0xbc", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x32e4bbf", + "effectiveGasPrice": "0x34014fa", + "from": "0xae00cddf915964ca1cecf71871ed5dbedd92e618", + "gasUsed": "0x5dca", + "logs": [ + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000ae00cddf915964ca1cecf71871ed5dbedd92e618", + "0x000000000000000000000000006cbf409ca275ba022111db32bdae054a97d488" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xe9ee240018d0ebc1cf8bb43b325161e798ecfb0c640c5c3f6c3f9daa8073705f", + "transactionIndex": "0xbd", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x148", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000080000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000080000000000000000000000000000000000010000000000000000040000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionHash": "0xe9ee240018d0ebc1cf8bb43b325161e798ecfb0c640c5c3f6c3f9daa8073705f", + "transactionIndex": "0xbd", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x32ecf4e", + "effectiveGasPrice": "0x73197a", + "from": "0xaf90a5e4033b22f03b65b3a8de14b2e157c44ca4", + "gasUsed": "0x838f", + "logs": [ + { + "address": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000af90a5e4033b22f03b65b3a8de14b2e157c44ca4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xe46fcf0cd78e8b31b1068630ad42e409e4f50fa95284368ff8aaf0c8507e7da3", + "transactionIndex": "0xbe", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x149", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000008000000000000000000000000000000000002000000000000020000000000000000000802000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000002000000000000000000000000000008000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionHash": "0xe46fcf0cd78e8b31b1068630ad42e409e4f50fa95284368ff8aaf0c8507e7da3", + "transactionIndex": "0xbe", + "type": "0x0" + }, + { + "blobGasPrice": "0x1", + "blobGasUsed": "0x20000", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x32f2156", + "effectiveGasPrice": "0x72eb3a", + "from": "0xe7c43e9b22c67a318f3e03f73fcc63072106f20f", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x7f8b1ca29f95274e06367b60fc4a539e4910fd0c", + "transactionHash": "0xfd044e8bccdba170a8afd3ec9248cb97fb4ebce49adbe392c47385c23ea82c3b", + "transactionIndex": "0xbf", + "type": "0x3" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3304e1d", + "effectiveGasPrice": "0x63ba77", + "from": "0x1628450fef81b00914b0f959df38260037a85e3c", + "gasUsed": "0x12cc7", + "logs": [ + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001628450fef81b00914b0f959df38260037a85e3c", + "0x000000000000000000000000b3b493300a4d5ba630ff466f26ef557894e6e7c1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000077359400", + "blockNumber": "0x874db3", + "transactionHash": "0x4bcd7867b1d9c7f6087cb04bf1504c05f4b20bfe4eba32473dff28ded78de087", + "transactionIndex": "0xc0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x14a", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001628450fef81b00914b0f959df38260037a85e3c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000077359400", + "blockNumber": "0x874db3", + "transactionHash": "0x4bcd7867b1d9c7f6087cb04bf1504c05f4b20bfe4eba32473dff28ded78de087", + "transactionIndex": "0xc0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x14b", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x0000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000002010000000000000000080000000000000000000000001000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000008000000000000000000000000000000200a000000000004002000000000000000000000000000000002000000000000000000020000008000400000000000000004000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "transactionHash": "0x4bcd7867b1d9c7f6087cb04bf1504c05f4b20bfe4eba32473dff28ded78de087", + "transactionIndex": "0xc0", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x33150ec", + "effectiveGasPrice": "0x60dca5", + "from": "0xcb57b26806e06b23815a3edc5c3f2e8618194f00", + "gasUsed": "0x102cf", + "logs": [ + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cb57b26806e06b23815a3edc5c3f2e8618194f00", + "0x000000000000000000000000006cbf409ca275ba022111db32bdae054a97d488" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000010642ac0", + "blockNumber": "0x874db3", + "transactionHash": "0x6b69927a82d69a5f122ba3c32577810dfc31c426aeb357907a58bc1cb6b8d379", + "transactionIndex": "0xc1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x14c", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x006cbf409ca275ba022111db32bdae054a97d488", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000cb57b26806e06b23815a3edc5c3f2e8618194f00" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000010642ac0", + "blockNumber": "0x874db3", + "transactionHash": "0x6b69927a82d69a5f122ba3c32577810dfc31c426aeb357907a58bc1cb6b8d379", + "transactionIndex": "0xc1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x14d", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x006cbf409ca275ba022111db32bdae054a97d488", + "topics": [ + "0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d", + "0x000000000000000000000000cb57b26806e06b23815a3edc5c3f2e8618194f00", + "0x0000000000000000000000000000000000000000000000000000000010642ac0" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x6b69927a82d69a5f122ba3c32577810dfc31c426aeb357907a58bc1cb6b8d379", + "transactionIndex": "0xc1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x14e", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000000000000000000000000800000000000000000000000200000000000000000000000004000000000000000000000000000000000000000000000080000000000008001000000000000000000000000000000000000040000000021100000008000000000800000000000000000000000010000000000000000000000000000000080000000000000000000000000040000000000040000000000000000000800000000000000000000000000000200000000000000000000002000000000000000000002000000000000000000000000400000020000000000000000000000000000000000000000000000100000000000000000000", + "status": "0x1", + "to": "0x006cbf409ca275ba022111db32bdae054a97d488", + "transactionHash": "0x6b69927a82d69a5f122ba3c32577810dfc31c426aeb357907a58bc1cb6b8d379", + "transactionIndex": "0xc1", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3320455", + "effectiveGasPrice": "0x60dca5", + "from": "0x8204af167c94dabc7ee9597e967eae1f9066ffa7", + "gasUsed": "0xb369", + "logs": [ + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000008204af167c94dabc7ee9597e967eae1f9066ffa7", + "0x00000000000000000000000047d1b0623bb3e557bf8544c159c9ae51d091f8a2" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f9430", + "blockNumber": "0x874db3", + "transactionHash": "0xbec3562a3c3922496d5bfc5dc9ff557fe8abc4f7083444c750efaafd42f6c25e", + "transactionIndex": "0xc2", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x14f", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000200002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000010000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000003000000000000000000000000050000400000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "transactionHash": "0xbec3562a3c3922496d5bfc5dc9ff557fe8abc4f7083444c750efaafd42f6c25e", + "transactionIndex": "0xc2", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3346f01", + "effectiveGasPrice": "0x60dca5", + "from": "0xed8d5c9c0569944aa2b75115b4311489c3285a8d", + "gasUsed": "0x26aac", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000087b45d844", + "blockNumber": "0x874db3", + "transactionHash": "0x88b7fb76e336e3f71e00c682be0f37a65d01b472a9a7c8a9c087e63124b5cf28", + "transactionIndex": "0xc3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x150", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000002c4fcaf2", + "blockNumber": "0x874db3", + "transactionHash": "0x88b7fb76e336e3f71e00c682be0f37a65d01b472a9a7c8a9c087e63124b5cf28", + "transactionIndex": "0xc3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x151", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x04c8f56dfc8166d8457c6b1f42e17b35a34a4b2a70a4ccf9fa7b2987f8f9ef12" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2f9998ad4000000000000000000000000000000000000000000000000000000000000000860c4622eb49e91f7eb513c786fbe8296ae31f7643abd599116354a47528b59ff0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000087b45d844000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000087b45d8440000000000000000000000000000000000000000000000000000000000000014ed8d5c9c0569944aa2b75115b4311489c3285a8d000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316a707336736d3773326336726d6e776467383067676e6373723961736e6330797a6570387533000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d73633967683463000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000002c4fcaf2000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ed8d5c9c0569944aa2b75115b4311489c3285a8d000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316a707336736d3773326336726d6e776467383067676e6373723961736e6330797a6570387533000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000", + "blockNumber": "0x874db3", + "transactionHash": "0x88b7fb76e336e3f71e00c682be0f37a65d01b472a9a7c8a9c087e63124b5cf28", + "transactionIndex": "0xc3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x152", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000008004000000000000000000000004000000000000000000000000000000000000000000001000000000000000000200000000000020000020000000000000000000800100000000000000000000008400000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000090000000000000000200000000000000000000002000000000000000000000000000400000000000000000100000000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0x88b7fb76e336e3f71e00c682be0f37a65d01b472a9a7c8a9c087e63124b5cf28", + "transactionIndex": "0xc3", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3361cd7", + "effectiveGasPrice": "0x60dca5", + "from": "0xfc19ebe20f1aa0112c0e2ebc8d2a09094dd9be58", + "gasUsed": "0x1add6", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000fc19ebe20f1aa0112c0e2ebc8d2a09094dd9be58", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9" + ], + "data": "0x00000000000000000000000000000000000000000000000aa6bc857966362162", + "blockNumber": "0x874db3", + "transactionHash": "0x3230092f95e2f3963b0a2e9a110cae9a815debe67e112f6e04dc62d5789e01cd", + "transactionIndex": "0xc4", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x153", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000fc19ebe20f1aa0112c0e2ebc8d2a09094dd9be58", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000010428fc4", + "blockNumber": "0x874db3", + "transactionHash": "0x3230092f95e2f3963b0a2e9a110cae9a815debe67e112f6e04dc62d5789e01cd", + "transactionIndex": "0xc4", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x154", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000fc19ebe20f1aa0112c0e2ebc8d2a09094dd9be58" + ], + "data": "0x0000000000000000000000000000000000000000000000000000c75ae7e60d7e", + "blockNumber": "0x874db3", + "transactionHash": "0x3230092f95e2f3963b0a2e9a110cae9a815debe67e112f6e04dc62d5789e01cd", + "transactionIndex": "0xc4", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x155", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000c25865ee0af80000000000000000000000000000000000000000007f4ee94f09ba8fc370cfea", + "blockNumber": "0x874db3", + "transactionHash": "0x3230092f95e2f3963b0a2e9a110cae9a815debe67e112f6e04dc62d5789e01cd", + "transactionIndex": "0xc4", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x156", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000010428fc400000000000000000000000000000000000000000000000aa6bc857966362162", + "blockNumber": "0x874db3", + "transactionHash": "0x3230092f95e2f3963b0a2e9a110cae9a815debe67e112f6e04dc62d5789e01cd", + "transactionIndex": "0xc4", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x157", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000001080400000000000000000000000080000000001000000000000000020000800000000000000000000000000000000000008000010000000000000000000000008000000000000000000080000000000000000000000000000020000000000000000002800000000000008001000000010000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000002000802000000000000002000000000040000000020000000000002000001000000000000020000000000400000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x3230092f95e2f3963b0a2e9a110cae9a815debe67e112f6e04dc62d5789e01cd", + "transactionIndex": "0xc4", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x33879ff", + "effectiveGasPrice": "0x60dca5", + "from": "0xab900bd887f14de169d65df088b164342bba5657", + "gasUsed": "0x25d28", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000a03a4a3ad", + "blockNumber": "0x874db3", + "transactionHash": "0x6470923797ad9b6e2f4204c52b18fd7f33966e930167abd7e8dae85306f308cc", + "transactionIndex": "0xc5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x158", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000003451ba33", + "blockNumber": "0x874db3", + "transactionHash": "0x6470923797ad9b6e2f4204c52b18fd7f33966e930167abd7e8dae85306f308cc", + "transactionIndex": "0xc5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x159", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x60f60b654b7f8c5a8bc2746bbc6048bd561aa8e15a587b6d97e851b0d92a64f6" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fa4c5b320000000000000000000000000000000000000000000000000000000000000007e0add588b83f4a60cedad12a79a7f59da11633ed5f1008aa8726ed420390a08277000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000a03a4a3ad000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000a03a4a3ad0000000000000000000000000000000000000000000000000000000000000014ab900bd887f14de169d65df088b164342bba56570000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ab900bd887f14de169d65df088b164342bba56570000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000003451ba330000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ab900bd887f14de169d65df088b164342bba56570000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ab900bd887f14de169d65df088b164342bba56570000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x6470923797ad9b6e2f4204c52b18fd7f33966e930167abd7e8dae85306f308cc", + "transactionIndex": "0xc5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x15a", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000008004000000000000200000000004000000000000000000000000000000000000000000000000000080000000000200000000000000000020000000000000000000000100000000000000000000008000000000000000000000000000000000000000000000000000000000000000000400400080000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000080000000000000000200000000000000040000002000000000000000000000000000400000000000000000000020000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0x6470923797ad9b6e2f4204c52b18fd7f33966e930167abd7e8dae85306f308cc", + "transactionIndex": "0xc5", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x33ad727", + "effectiveGasPrice": "0x60dca5", + "from": "0x9a0ecd8e15a950c7b72d025908684c52f6f43091", + "gasUsed": "0x25d28", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x0000000000000000000000000000000000000000000000000000001fdf8e52ab", + "blockNumber": "0x874db3", + "transactionHash": "0x09db5a8e8dfc38a2e0323756bd7e2da96299d555466292b7aa6632c1e2e4f1ca", + "transactionIndex": "0xc6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x15b", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000a685844d", + "blockNumber": "0x874db3", + "transactionHash": "0x09db5a8e8dfc38a2e0323756bd7e2da96299d555466292b7aa6632c1e2e4f1ca", + "transactionIndex": "0xc6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x15c", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x8d7b340a23b203830a99bdafc8f18357887e1f0469c881154d9aea9793267576" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fa4c5b320000000000000000000000000000000000000000000000000000000000000007e087192a30b18b7893a6741a46e72cc7ffbb7c01ecb4ad952a4e0707f95d78f9d5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000001fdf8e52ab000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000001fdf8e52ab00000000000000000000000000000000000000000000000000000000000000149a0ecd8e15a950c7b72d025908684c52f6f4309100000000000000000000000000000000000000000000000000000000000000000000000000000000000000149a0ecd8e15a950c7b72d025908684c52f6f430910000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000a685844d00000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000149a0ecd8e15a950c7b72d025908684c52f6f4309100000000000000000000000000000000000000000000000000000000000000000000000000000000000000149a0ecd8e15a950c7b72d025908684c52f6f430910000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x09db5a8e8dfc38a2e0323756bd7e2da96299d555466292b7aa6632c1e2e4f1ca", + "transactionIndex": "0xc6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x15d", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00080000000000000000000000008004000000000000000000000004000000000040000000000000000000000000000000000000000080000000000200000000000000000020000000000000000000000100000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000001000000000000000000000000000000020000000000000000000000080000000000000000200000000000000040000002000000000000000000000000000400000000000000000000000000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0x09db5a8e8dfc38a2e0323756bd7e2da96299d555466292b7aa6632c1e2e4f1ca", + "transactionIndex": "0xc6", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x33be7d4", + "effectiveGasPrice": "0x60dca5", + "from": "0xba41088cc011cb8a996def101f96288297172b1c", + "gasUsed": "0x110ad", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x0", + "to": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "transactionHash": "0x70c12a81fda36c7ec6456f3d72da5dbf5bf7c13a519a2042ed212f8531f097eb", + "transactionIndex": "0xc7", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x33d95aa", + "effectiveGasPrice": "0x60dca5", + "from": "0xcda82df1f7acc5212bccc3b8763c9093793893ac", + "gasUsed": "0x1add6", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cda82df1f7acc5212bccc3b8763c9093793893ac", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9" + ], + "data": "0x00000000000000000000000000000000000000000000000aa71cb5ea1168e5ad", + "blockNumber": "0x874db3", + "transactionHash": "0x60aaadc9015431e6265942962efa6119bac722f173b4d4f8f207f8844626aa52", + "transactionIndex": "0xc8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x15e", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cda82df1f7acc5212bccc3b8763c9093793893ac", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000001043229b", + "blockNumber": "0x874db3", + "transactionHash": "0x60aaadc9015431e6265942962efa6119bac722f173b4d4f8f207f8844626aa52", + "transactionIndex": "0xc8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x15f", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000cda82df1f7acc5212bccc3b8763c9093793893ac" + ], + "data": "0x0000000000000000000000000000000000000000000000000000c761f038e0eb", + "blockNumber": "0x874db3", + "transactionHash": "0x60aaadc9015431e6265942962efa6119bac722f173b4d4f8f207f8844626aa52", + "transactionIndex": "0xc8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x160", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000c25876312d930000000000000000000000000000000000000000007f4ef3f6267079d4d9b597", + "blockNumber": "0x874db3", + "transactionHash": "0x60aaadc9015431e6265942962efa6119bac722f173b4d4f8f207f8844626aa52", + "transactionIndex": "0xc8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x161", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x000000000000000000000000000000000000000000000000000000001043229b00000000000000000000000000000000000000000000000aa71cb5ea1168e5ad", + "blockNumber": "0x874db3", + "transactionHash": "0x60aaadc9015431e6265942962efa6119bac722f173b4d4f8f207f8844626aa52", + "transactionIndex": "0xc8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x162", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000001080000000000000000000000000000000000001000000000000000020000800000000000000000000000000000000000008000010000100000000000000020008000000000000000000000000000000000000000000000000020000000000000000002800000000000008001000000010000000000000000000008000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000002000802000000000000002000000000040000000020000000000002000001000000000000020000000000400000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x60aaadc9015431e6265942962efa6119bac722f173b4d4f8f207f8844626aa52", + "transactionIndex": "0xc8", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x33e0c56", + "effectiveGasPrice": "0x60dca5", + "from": "0x102bf5ec3eb1bd8b99dd31a1ccc465d4f83fab91", + "gasUsed": "0x76ac", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x0", + "to": "0x350c734ef0ee0439ccbc1319788e5ddd71eea85a", + "transactionHash": "0x7a4d130146cdfa55d5caa6d430a7e27c3f4985d9263f4bc72957d5c38b29168c", + "transactionIndex": "0xc9", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x33f25d5", + "effectiveGasPrice": "0x60dca5", + "from": "0xe6f16feda043a9cacf92229baf079c7bc038524d", + "gasUsed": "0x1197f", + "logs": [ + { + "address": "0x4f5b54d4af2568cefafa73bb062e5d734b55aa05", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000e6f16feda043a9cacf92229baf079c7bc038524d", + "0x00000000000000000000000023b2615d783e16f14b62efa125306c7c69b4941a" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockNumber": "0x874db3", + "transactionHash": "0x9af85c8b41bf5fd41b7e684bb4f4c0fe5cfc523c3f1eaa8357fe135c018aeac8", + "transactionIndex": "0xca", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x163", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xdcb5c62eac28d1efc7132ad99f2bd81973041d14", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000e6f16feda043a9cacf92229baf079c7bc038524d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockNumber": "0x874db3", + "transactionHash": "0x9af85c8b41bf5fd41b7e684bb4f4c0fe5cfc523c3f1eaa8357fe135c018aeac8", + "transactionIndex": "0xca", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x164", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000008000000000000000000000000000000000000000000000000060000000000000002000800000000000000000200000010000000000000000004000000000000004000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000220000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000400000000000000000002000", + "status": "0x1", + "to": "0x23b2615d783e16f14b62efa125306c7c69b4941a", + "transactionHash": "0x9af85c8b41bf5fd41b7e684bb4f4c0fe5cfc523c3f1eaa8357fe135c018aeac8", + "transactionIndex": "0xca", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x340d3ab", + "effectiveGasPrice": "0x60dca5", + "from": "0x9a89f75218e4eefb3e61701b7217be18032c1277", + "gasUsed": "0x1add6", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009a89f75218e4eefb3e61701b7217be18032c1277", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9" + ], + "data": "0x00000000000000000000000000000000000000000000000aa6c632439b3d1dc3", + "blockNumber": "0x874db3", + "transactionHash": "0x6cf6485dc2b6a58211903cb188c2867b430e607c1dadccbb717226d859709b88", + "transactionIndex": "0xcb", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x165", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009a89f75218e4eefb3e61701b7217be18032c1277", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000010429e89", + "blockNumber": "0x874db3", + "transactionHash": "0x6cf6485dc2b6a58211903cb188c2867b430e607c1dadccbb717226d859709b88", + "transactionIndex": "0xcb", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x166", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009a89f75218e4eefb3e61701b7217be18032c1277" + ], + "data": "0x0000000000000000000000000000000000000000000000000000c75b9cfad6dc", + "blockNumber": "0x874db3", + "transactionHash": "0x6cf6485dc2b6a58211903cb188c2867b430e607c1dadccbb717226d859709b88", + "transactionIndex": "0xcb", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x167", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000c2588673cc1c0000000000000000000000000000000000000000007f4efe9ceca2bd7016d35a", + "blockNumber": "0x874db3", + "transactionHash": "0x6cf6485dc2b6a58211903cb188c2867b430e607c1dadccbb717226d859709b88", + "transactionIndex": "0xcb", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x168", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000010429e8900000000000000000000000000000000000000000000000aa6c632439b3d1dc3", + "blockNumber": "0x874db3", + "transactionHash": "0x6cf6485dc2b6a58211903cb188c2867b430e607c1dadccbb717226d859709b88", + "transactionIndex": "0xcb", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x169", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000001080000000000000000000000000000000000001000000000000000020000800000000000000000000000000000000000008000010000000000000000000000008000000000000000000000000000000000000000000000000020000000000000002002800000000000008001000000010000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000004000000002000802000000000000002000000040040000000020000000000002000001000000000000020000000000400000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x6cf6485dc2b6a58211903cb188c2867b430e607c1dadccbb717226d859709b88", + "transactionIndex": "0xcb", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x346ec97", + "effectiveGasPrice": "0x60dca5", + "from": "0x390ee3629d4061bb3949daf5accf03f1ee7d0090", + "gasUsed": "0x618ec", + "logs": [ + { + "address": "0xec67efb227218ccc3c7032a6507339e7b4d623ad", + "topics": [ + "0xa37ff6d366884aabcbf069aa27b0e52078eea55e90ad8fc2349cd0a2aac08298", + "0x4baff5ea0ca62ab77ebb204d4d5bcf30bc66ec04823ea274370e5ca97f8f0b53" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000003a6569703135353a31313135353131313a30784439413045383641414366324230313031333732386663436139463030303933423962344633466600000000000000000000000000000000000000000000000000000000000000000000000000376569703135353a39373437363a30784636413932453066386245613431373432393742303231396439643437664565333335663834663800000000000000000000000000000000000000000000000000000000000000000000000000000002a471d233bb00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000f6569703135353a31313135353131310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004d313434343731383131373138393435373330373130333736353833393531373932393833363833313632343232303732343035333937343433353638363636373834343934323338393831373500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30784236393135313242323031304645424266653038333839373937333030363532633739623264363500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a307833393065453336323944343036316262333934396441663561636346303366316565374430303930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042307861363139356265666561376661623233323339396236363839303564343131356439313433623035316537613262646432356338376337313535376338663935000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000243b325fc51ff0d094a0fd8826b6a62573361cfe4fa45ccb741272d43ac29541623b75d63f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4f23f601b000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000423078613631393562656665613766616232333233393962363638393035643431313564393134336230353165376132626464323563383763373135353763386639350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000244f2fd20d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xa803642ac1ea9daa21b314a2f591c9902dfa34d70b0fdc566a125d71bb74c97e", + "transactionIndex": "0xcc", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x16a", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x9a374915648f1352827ffbf0a7bb5752b6995eb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000b691512b2010febbfe08389797300652c79b2d65", + "0x000000000000000000000000390ee3629d4061bb3949daf5accf03f1ee7d0090", + "0x1ff0d094a0fd8826b6a62573361cfe4fa45ccb741272d43ac29541623b75d63f" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0xa803642ac1ea9daa21b314a2f591c9902dfa34d70b0fdc566a125d71bb74c97e", + "transactionIndex": "0xcc", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x16b", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x4ad1d5744b41b95abe757572a7902059fdaf26b2", + "topics": [ + "0x8e47b87b0ef542cdfa1659c551d88bad38aa7f452d2bbb349ab7530dfec8be8f", + "0x0000000000000000000000000000000000000068f116a894984e2db1123eb395" + ], + "data": "0x0000000000000000000000000000000000000000000000000011c37937e08000", + "blockNumber": "0x874db3", + "transactionHash": "0xa803642ac1ea9daa21b314a2f591c9902dfa34d70b0fdc566a125d71bb74c97e", + "transactionIndex": "0xcc", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x16c", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x0000000000000068f116a894984e2db1123eb395", + "topics": [ + "0x9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31", + "0x000000000000000000000000b691512b2010febbfe08389797300652c79b2d65", + "0x000000000000000000000000037e8f3fd62bd12b1c116bd48588793e98211acb" + ], + "data": "0xc00b6031aa44271829ee4b275bcdffd44ddf13d4b759f67c7276803955eed342000000000000000000000000390ee3629d4061bb3949daf5accf03f1ee7d009000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000009a374915648f1352827ffbf0a7bb5752b6995eb71ff0d094a0fd8826b6a62573361cfe4fa45ccb741272d43ac29541623b75d63f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b139f8de6d0000000000000000000000000000b691512b2010febbfe08389797300652c79b2d6500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000002e7cc63800e77bb8c662c45ef33d1ccc238615320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000004ad1d5744b41b95abe757572a7902059fdaf26b2", + "blockNumber": "0x874db3", + "transactionHash": "0xa803642ac1ea9daa21b314a2f591c9902dfa34d70b0fdc566a125d71bb74c97e", + "transactionIndex": "0xcc", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x16d", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000001000400200000000000000800000004820000000000000000080002000000080000000000000100000000080000200000000040000004000808000000000000000000001000000100000400000000000000000280000000800000000000000000800000000000000210000000110000000000000000000000000000000000000040000000000000000010000000080000000010400000000000000000000000000000010000000000000000000000000002000100000000000000000001000000000000000000000000000000000000000000020100000000000000004000000000000800000001000000000000", + "status": "0x1", + "to": "0x0000000000000068f116a894984e2db1123eb395", + "transactionHash": "0xa803642ac1ea9daa21b314a2f591c9902dfa34d70b0fdc566a125d71bb74c97e", + "transactionIndex": "0xcc", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x349dd9c", + "effectiveGasPrice": "0x60dca5", + "from": "0x98b1ca3699cbff994abad86a1c6c86c34caf6b80", + "gasUsed": "0x2f105", + "logs": [ + { + "address": "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000098b1ca3699cbff994abad86a1c6c86c34caf6b80", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000002710", + "blockNumber": "0x874db3", + "transactionHash": "0xf92af443eed90dd0da53685e823c671f29b2eca1de6a0af298fff880fdee2264", + "transactionIndex": "0xcd", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x16e", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000d4dbd0f238", + "blockNumber": "0x874db3", + "transactionHash": "0xf92af443eed90dd0da53685e823c671f29b2eca1de6a0af298fff880fdee2264", + "transactionIndex": "0xcd", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x16f", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0xd3c1ce6bc70eb39baface7a6dc5aa6a3360b8e0e45604f5f63c06e70415d69ce" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018579b71e898430000000000000000000000000000000000000000000000000000000000000007e036cd0f24be1b2749d2b93173bc5bd332bd7047d31b0c4b9480476441b54fcb54000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000001498b1ca3699cbff994abad86a1c6c86c34caf6b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000001498b1ca3699cbff994abad86a1c6c86c34caf6b8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001457978bfe465ad9b1c0bf80f6c1539d300705ea5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000d4dbd0f238000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001498b1ca3699cbff994abad86a1c6c86c34caf6b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000001498b1ca3699cbff994abad86a1c6c86c34caf6b800000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xf92af443eed90dd0da53685e823c671f29b2eca1de6a0af298fff880fdee2264", + "transactionIndex": "0xcd", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x170", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000008004000000000000000000000004000200000000000000000000000000000800000000000000000080000000000200000000000000000020000000000008000000000100000000000000000000008000000000000000000000000000002000000000000000000000000000000010000000400080000000100000000000000000000000000001008000000200000000000000000000000800000000000000000000080000000000000000200000000000000040000082000000000000000000000000000400000000000000000000000000000000000000000000000010000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0xf92af443eed90dd0da53685e823c671f29b2eca1de6a0af298fff880fdee2264", + "transactionIndex": "0xcd", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x34c3ac4", + "effectiveGasPrice": "0x60dca5", + "from": "0xd634cd1db274af0bffb94aa171c1196ada46ba51", + "gasUsed": "0x25d28", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000079ab66e9d", + "blockNumber": "0x874db3", + "transactionHash": "0x0fcb6216cafe1f897df3287666cc19cff324fbf66c0b3b54f95b3499f11540d3", + "transactionIndex": "0xce", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x171", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000027ba948c", + "blockNumber": "0x874db3", + "transactionHash": "0x0fcb6216cafe1f897df3287666cc19cff324fbf66c0b3b54f95b3499f11540d3", + "transactionIndex": "0xce", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x172", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0647228ec3836aaa4f96ad3abd575be17c1a466fafb79bb733dbb483e97fdf9c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b0098e8a280000000000000000000000000000000000000000000000000000000000000007e0710f54dc2bcc818a805da260a064b0ce1baf30c36a073619f65c09b37e37450c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000079ab66e9d00000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000079ab66e9d0000000000000000000000000000000000000000000000000000000000000014d634cd1db274af0bffb94aa171c1196ada46ba510000000000000000000000000000000000000000000000000000000000000000000000000000000000000014d634cd1db274af0bffb94aa171c1196ada46ba510000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000027ba948c0000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014d634cd1db274af0bffb94aa171c1196ada46ba510000000000000000000000000000000000000000000000000000000000000000000000000000000000000014d634cd1db274af0bffb94aa171c1196ada46ba510000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x0fcb6216cafe1f897df3287666cc19cff324fbf66c0b3b54f95b3499f11540d3", + "transactionIndex": "0xce", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x173", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000008004000000000000000000000004000000000000000000040000000000000000000000000000000080000000000200000000000000000020000000000000000000000100000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000001040000000000000800000000000000000000000000000000000000080000000000000000200000000000000040000002000000000000000000000000000400000000000000000000000000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0x0fcb6216cafe1f897df3287666cc19cff324fbf66c0b3b54f95b3499f11540d3", + "transactionIndex": "0xce", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x34ea570", + "effectiveGasPrice": "0x60dca5", + "from": "0x7d04a456db268096852919fc487d73330883ff0d", + "gasUsed": "0x26aac", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000887b0e4fe", + "blockNumber": "0x874db3", + "transactionHash": "0xc859a11923313653da7791035dcc4beebd305fa117e3fbf6868f93ed1a329b64", + "transactionIndex": "0xcf", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x174", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000002c90abdc", + "blockNumber": "0x874db3", + "transactionHash": "0xc859a11923313653da7791035dcc4beebd305fa117e3fbf6868f93ed1a329b64", + "transactionIndex": "0xcf", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x175", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x78e8c73f36f6809f2f141550e5fd63c629afc6bb4258001bbb6ce6d3b00f62f2" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fc29318200000000000000000000000000000000000000000000000000000000000000086066562130509ff62670f586818b7c5fce5110ad083e41a0ed59e324ba0c0b300700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000887b0e4fe000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000887b0e4fe00000000000000000000000000000000000000000000000000000000000000147d04a456db268096852919fc487d73330883ff0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316e3664346a766338647165393773616e346770366a79616b33716c76686e796a673865303374000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d73633967683463000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000002c90abdc000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147d04a456db268096852919fc487d73330883ff0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316e3664346a766338647165393773616e346770366a79616b33716c76686e796a673865303374000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000", + "blockNumber": "0x874db3", + "transactionHash": "0xc859a11923313653da7791035dcc4beebd305fa117e3fbf6868f93ed1a329b64", + "transactionIndex": "0xcf", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x176", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000008004000000000000000000000004000000000000000000000000000000000000000000001000000000000000000200000000000020000020000000000000000000000100000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000800000000001000000000000000000000000000000000000000000000000000000080000000000000000200000000000000000000002000000000000000000000000000400000000000000000100000000000000000000000000000000010000000020000000000000400000000000000400", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0xc859a11923313653da7791035dcc4beebd305fa117e3fbf6868f93ed1a329b64", + "transactionIndex": "0xcf", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3510280", + "effectiveGasPrice": "0x60dca5", + "from": "0x568fe7fd35c2cb13de5df44ca22d5a455ec1530a", + "gasUsed": "0x25d10", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000b23273400", + "blockNumber": "0x874db3", + "transactionHash": "0xf7aaed5b65aacf3a5844e07acc6d68d35da031b980e5c20f97084857deab2c88", + "transactionIndex": "0xd0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x177", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000003a2fd20b", + "blockNumber": "0x874db3", + "transactionHash": "0xf7aaed5b65aacf3a5844e07acc6d68d35da031b980e5c20f97084857deab2c88", + "transactionIndex": "0xd0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x178", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x4246db70dd0d8eea30a600a0f1be3b08ed706f04e21eed9e75433382e7eb4974" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fc2931820000000000000000000000000000000000000000000000000000000000000007e0b575a39c4bf711e0a199b082a5715b107c4de8ac04e8b1e0cb193667a4b84942000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000b23273400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000b232734000000000000000000000000000000000000000000000000000000000000000014568fe7fd35c2cb13de5df44ca22d5a455ec1530a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014568fe7fd35c2cb13de5df44ca22d5a455ec1530a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000003a2fd20b0000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014568fe7fd35c2cb13de5df44ca22d5a455ec1530a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014568fe7fd35c2cb13de5df44ca22d5a455ec1530a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xf7aaed5b65aacf3a5844e07acc6d68d35da031b980e5c20f97084857deab2c88", + "transactionIndex": "0xd0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x179", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000008004000000000000000000000004000000000000000000000000000000000000000000000200000080000000000200000000000000000020000000000000000000000100000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000001000000000000000000000000000000000000000000080000000000080000080000000000200000000000000040000002000000000000000000000000000400000000000000000000000000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0xf7aaed5b65aacf3a5844e07acc6d68d35da031b980e5c20f97084857deab2c88", + "transactionIndex": "0xd0", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3535fa8", + "effectiveGasPrice": "0x60dca5", + "from": "0xf0e7c49b13132f03f38fe1cf68a1c5e9775656f9", + "gasUsed": "0x25d28", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000085a1aa1c0", + "blockNumber": "0x874db3", + "transactionHash": "0xbed3c13b3211bf33e6d1b08ba44c87fc94b81b736e91867dff3bc9c162ee7eca", + "transactionIndex": "0xd1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x17a", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000002ba280b1", + "blockNumber": "0x874db3", + "transactionHash": "0xbed3c13b3211bf33e6d1b08ba44c87fc94b81b736e91867dff3bc9c162ee7eca", + "transactionIndex": "0xd1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x17b", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x6bf2072d5d1598bd0a70c2dc8816714b3e56196b8050fc01e0929057c9b4ca52" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fc2931820000000000000000000000000000000000000000000000000000000000000007e003dfb1c91155d13e585014e490d92034b6c5bde6544a4c61f02363bec6cd473b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000085a1aa1c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000085a1aa1c00000000000000000000000000000000000000000000000000000000000000014f0e7c49b13132f03f38fe1cf68a1c5e9775656f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000014f0e7c49b13132f03f38fe1cf68a1c5e9775656f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000002ba280b10000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014f0e7c49b13132f03f38fe1cf68a1c5e9775656f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000014f0e7c49b13132f03f38fe1cf68a1c5e9775656f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xbed3c13b3211bf33e6d1b08ba44c87fc94b81b736e91867dff3bc9c162ee7eca", + "transactionIndex": "0xd1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x17c", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000008004800000000000000000000004000000000000000000000000000000000000000000000000000080000000000200000000000000000020000000000000000000000100000000000000000000008000000000000000000000000000000000000000000000000000000000002000000000400080000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000080000000000000000200000000000000040000002000100000000000000000000000400000000000000000000000000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0xbed3c13b3211bf33e6d1b08ba44c87fc94b81b736e91867dff3bc9c162ee7eca", + "transactionIndex": "0xd1", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x355bcd0", + "effectiveGasPrice": "0x60dca5", + "from": "0xd311aa48697a6bcd4bdd9bb0f9bb45800ad998ef", + "gasUsed": "0x25d28", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x00000000000000000000000000000000000000000000000000000002f4192d8f", + "blockNumber": "0x874db3", + "transactionHash": "0x5713c46235f5e7f0c49b78ba621bd8704e4458220874de19e016a954d1d915ba", + "transactionIndex": "0xd2", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x17d", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000f6e3a67", + "blockNumber": "0x874db3", + "transactionHash": "0x5713c46235f5e7f0c49b78ba621bd8704e4458220874de19e016a954d1d915ba", + "transactionIndex": "0xd2", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x17e", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0xb13cfe6b170abb7d45c7fb8b216e415f02dacda8e2e74f0b07032c2fab1e1b58" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fc2931820000000000000000000000000000000000000000000000000000000000000007e04e6a3b96c31a9ef796eb77e76122d217fc99859e43c8f3e9bf655270f2998501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000002f4192d8f0000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000002f4192d8f0000000000000000000000000000000000000000000000000000000000000014d311aa48697a6bcd4bdd9bb0f9bb45800ad998ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014d311aa48697a6bcd4bdd9bb0f9bb45800ad998ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000f6e3a670000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014d311aa48697a6bcd4bdd9bb0f9bb45800ad998ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014d311aa48697a6bcd4bdd9bb0f9bb45800ad998ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x5713c46235f5e7f0c49b78ba621bd8704e4458220874de19e016a954d1d915ba", + "transactionIndex": "0xd2", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x17f", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000200000000000000008004000000000000000000000004000000000000000000000000000000000000000000000000000080000000000200000000000000000020000000000000000000000100000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000400080000000000000000080000000000000000001000000000000000000000000000000000000000000000000000000080000000000000000200000010000000040000002000000000000000000000000000400000000000000000000000000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0x5713c46235f5e7f0c49b78ba621bd8704e4458220874de19e016a954d1d915ba", + "transactionIndex": "0xd2", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x358277c", + "effectiveGasPrice": "0x60dca5", + "from": "0xdc3eb4e132f11f93ed1b3fe4eff252be500a6b56", + "gasUsed": "0x26aac", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x00000000000000000000000000000000000000000000000000000008d6b26199", + "blockNumber": "0x874db3", + "transactionHash": "0x2fdf0d326c205731703e5805c237525ae29042dbf745bb21a4a954839a4b83ba", + "transactionIndex": "0xd3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x180", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000002e2d6fb5", + "blockNumber": "0x874db3", + "transactionHash": "0x2fdf0d326c205731703e5805c237525ae29042dbf745bb21a4a954839a4b83ba", + "transactionIndex": "0xd3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x181", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x8a58c9c3e11449c5ede259cecc451cb906a17625dbdf8c88995885085c030d65" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fbb1fbee000000000000000000000000000000000000000000000000000000000000000860b30ec0199125d6ada292b0ccc97e6f55c3d3d5d01892b0c4a98802aca48dd45c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000008d6b26199000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000008d6b261990000000000000000000000000000000000000000000000000000000000000014dc3eb4e132f11f93ed1b3fe4eff252be500a6b56000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31376138763439357572323936797637636b6c6e636c666e66396471327a747033616435397233000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d73633967683463000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000002e2d6fb5000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014dc3eb4e132f11f93ed1b3fe4eff252be500a6b56000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31376138763439357572323936797637636b6c6e636c666e66396471327a747033616435397233000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000", + "blockNumber": "0x874db3", + "transactionHash": "0x2fdf0d326c205731703e5805c237525ae29042dbf745bb21a4a954839a4b83ba", + "transactionIndex": "0xd3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x182", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000004000000000008004000000000000000000000004000000000000000000000000000000000000000000001000000000000000000200000000000020000020000000000000000000000100000000000000000000008000000400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000080000000000000004200000000000000000000002000000000000000000000000000400000000000000000100000000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0x2fdf0d326c205731703e5805c237525ae29042dbf745bb21a4a954839a4b83ba", + "transactionIndex": "0xd3", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x35a84c8", + "effectiveGasPrice": "0x60dca5", + "from": "0x342ea18f909195f357cb2cd262307c115ab9d0a8", + "gasUsed": "0x25d4c", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x00000000000000000000000000000000000000000000000000038d7ea4c68000", + "blockNumber": "0x874db3", + "transactionHash": "0xfa5f181e4be9d7144a2c909d241bd065e02c3ea11f70815ebea101cf11cc24af", + "transactionIndex": "0xd4", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x183", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000d4dbb50be7", + "blockNumber": "0x874db3", + "transactionHash": "0xfa5f181e4be9d7144a2c909d241bd065e02c3ea11f70815ebea101cf11cc24af", + "transactionIndex": "0xd4", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x184", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x8889d39167f05b4af9e313c5a65822e1b39c30cac3105a773027548ba8f395bc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018579b6f839ee00000000000000000000000000000000000000000000000000000000000000007e08b8a55a5bd63b5b51ea9c9544b979afaad440a262436cbef5dd458364ef5f141000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000014342ea18f909195f357cb2cd262307c115ab9d0a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014342ea18f909195f357cb2cd262307c115ab9d0a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000d4dbb50be70000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014342ea18f909195f357cb2cd262307c115ab9d0a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014342ea18f909195f357cb2cd262307c115ab9d0a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xfa5f181e4be9d7144a2c909d241bd065e02c3ea11f70815ebea101cf11cc24af", + "transactionIndex": "0xd4", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x185", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000040000000000008004000000000000000000000004000000000000000000000000000000000000000000000000000080000000000200000000000000000020000000000000000000000100000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000080200000000000000200000004000000040000002000000000000000000000000000400000000000000000000000000000000000000000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0xfa5f181e4be9d7144a2c909d241bd065e02c3ea11f70815ebea101cf11cc24af", + "transactionIndex": "0xd4", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x35ce1e4", + "effectiveGasPrice": "0x5c1462", + "from": "0xfea4e66586e4ee1745d19edc29905c2a4618066b", + "gasUsed": "0x25d1c", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x00000000000000000000000000000000000000000000000000000007ff9f3c3e", + "blockNumber": "0x874db3", + "transactionHash": "0x3a743c14d4d4622b334deb81fe90b04dba06f52beea2f6cf1082be889f25ee4f", + "transactionIndex": "0xd5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x186", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000029c9c7c3", + "blockNumber": "0x874db3", + "transactionHash": "0x3a743c14d4d4622b334deb81fe90b04dba06f52beea2f6cf1082be889f25ee4f", + "transactionIndex": "0xd5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x187", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x491e48021e2f3ab765b7323e3efde3b8c4f1310bb0ff01fb577e0f2678c57f7f" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856b2fcdc01e00000000000000000000000000000000000000000000000000000000000000007e0bd9663098a8f189a9de7fd894cacad6d8ebf544145e7038d5e421bee1944c64b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000007ff9f3c3e0000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000007ff9f3c3e0000000000000000000000000000000000000000000000000000000000000014fea4e66586e4ee1745d19edc29905c2a4618066b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014fea4e66586e4ee1745d19edc29905c2a4618066b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c88600000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000029c9c7c30000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014fea4e66586e4ee1745d19edc29905c2a4618066b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014fea4e66586e4ee1745d19edc29905c2a4618066b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x3a743c14d4d4622b334deb81fe90b04dba06f52beea2f6cf1082be889f25ee4f", + "transactionIndex": "0xd5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x188", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000010000000000000008004000000000000000000000004000000000000000000000000000000000000000000000000000080000000000200000000000000000020000000000000000000000100000000000000000000008000000000000000000000400000000000000000000000000000000000000000000000400080000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000080000000000000000200000000000000040000002000000000000000000000000000400000000000000000000000000000000000000008000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0x3a743c14d4d4622b334deb81fe90b04dba06f52beea2f6cf1082be889f25ee4f", + "transactionIndex": "0xd5", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3699832", + "effectiveGasPrice": "0x5c1462", + "from": "0x56353c54cf8ca2166d9db9c47eb530bc49398b41", + "gasUsed": "0xcb64e", + "logs": [ + { + "address": "0x7cb512008ecd844fcab522d1f8683aa6a8dd075b", + "topics": [ + "0x4096596870d3f6e8a5e17d7969c1a791cd299ee694cd496da878c9bc8c3a325f", + "0x6777e309c5864069c4041d7bb5ad6c305100b45486218abb360edf0d5f01968d" + ], + "data": "0x", + "blockNumber": "0x874db3", + "transactionHash": "0x4879baa72f6434992f780dd90f9da7e8e2b29f68b7acab0903ab59a912558f2d", + "transactionIndex": "0xd6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x189", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7cb512008ecd844fcab522d1f8683aa6a8dd075b", + "topics": [ + "0x8970ca5d07375a7fa3050953cf929be93d09ee837bc576d9f5c98ec180f96614" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000016f7b2261737365745f696e5f74797065223a226e6174697665222c2272656c6561736573223a5b7b22646578223a226575636c6964222c2272656c656173655f61646472657373223a5b7b22636861696e5f756964223a22706861726f73222c2261646472657373223a22307835363335336335346366386361323136366439646239633437656235333062633439333938623431222c22616d6f756e74223a2233373837363632313330353935353838363038227d5d2c22746f6b656e223a2270687273222c22616d6f756e74223a22227d5d2c227377617073223a7b2270617468223a5b7b22726f757465223a5b22657468222c226575636c6964222c2270687273225d2c22646578223a226575636c6964222c22636861696e5f756964223a2276736c222c22616d6f756e745f696e223a2231303030303030303030303030303030303030222c22616d6f756e745f6f7574223a2233373837363632313330353935353838363038227d5d7d7d0000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x4879baa72f6434992f780dd90f9da7e8e2b29f68b7acab0903ab59a912558f2d", + "transactionIndex": "0xd6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x18a", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7cb512008ecd844fcab522d1f8683aa6a8dd075b", + "topics": [ + "0xb8bca52356bf975f5c1218186c8a29f39a0a34d8a1a244b69aff30533a7ee0e5" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000154000000000000000000000000000000000000000000000000000000000000078fe000000000000000000000000000000000000000000000000000000000000158000000000000000000000000000000000000000000000000000000000000014a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001300000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000a800000000000000000000000000000000000000000000000000000000000000b800000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ea00000000000000000000000000000000000000000000000000000000000000f80000000000000000000000000000000000000000000000000000000000000106000000000000000000000000000000000000000000000000000000000000011400000000000000000000000000000000000000000000000000000000000001240000000000000000000000000000000000000000000000000000000000000136000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000047479706500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000473776170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000015737761702e73656e6465722e636861696e5f756964000000000000000000000000000000000000000000000000000000000000000000000000000000000000077365706f6c6961000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000013737761702e73656e6465722e6164647265737300000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a307835363335336335346366386361323136366439646239633437656235333062633439333938623431000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000013737761702e61737365745f696e2e746f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000365746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000025737761702e61737365745f696e2e746f6b656e5f747970652e6e61746976652e64656e6f6d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000e737761702e616d6f756e745f696e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000133130303030303030303030303030303030303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000e737761702e61737365745f6f7574000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470687273000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000013737761702e6d696e5f616d6f756e745f6f757400000000000000000000000000000000000000000000000000000000000000000000000000000000000000001333353938323739303234303635383039313637000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000017737761702e706172746e65725f6665655f616d6f756e74000000000000000000000000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000024737761702e706172746e65725f6665655f726563697069656e742e636861696e5f7569640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077365706f6c6961000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000022737761702e706172746e65725f6665655f726563697069656e742e61646472657373000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30783536333533633534636638636132313636643964623963343765623533306263343933393862343100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000a737761702e74785f69640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000497365706f6c69613a3078353633353363353463663863613231363664396462396334376562353330626334393339386234313a31313135353131313a383836373235313a333039373400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000015737761702e73776170732e302e746f6b656e5f696e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000365746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000016737761702e73776170732e302e746f6b656e5f6f75740000000000000000000000000000000000000000000000000000000000000000000000000000000000066575636c696400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000015737761702e73776170732e312e746f6b656e5f696e000000000000000000000000000000000000000000000000000000000000000000000000000000000000066575636c696400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000016737761702e73776170732e312e746f6b656e5f6f757400000000000000000000000000000000000000000000000000000000000000000000000000000000000470687273000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002b737761702e63726f73735f636861696e5f6164647265737365732e302e757365722e636861696e5f7569640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006706861726f7300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000029737761702e63726f73735f636861696e5f6164647265737365732e302e757365722e616464726573730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a307835363335336335346366386361323136366439646239633437656235333062633439333938623431000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000035737761702e63726f73735f636861696e5f6164647265737365732e302e6c696d69742e6c6573735f7468616e5f6f725f657175616c00000000000000000000000000000000000000000000000000000000000000000000000000000000000013333738373636323133303539353538383630380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077365706f6c69610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046861736800000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x4879baa72f6434992f780dd90f9da7e8e2b29f68b7acab0903ab59a912558f2d", + "transactionIndex": "0xd6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x18b", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000080000000000000000000040000000000000000008000000000000000000000000000000000000400000000000000000040020200000000000080000000000000000000000000000000000000000008000200000002000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x7cb512008ecd844fcab522d1f8683aa6a8dd075b", + "transactionHash": "0x4879baa72f6434992f780dd90f9da7e8e2b29f68b7acab0903ab59a912558f2d", + "transactionIndex": "0xd6", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x36a1ca2", + "effectiveGasPrice": "0x58ca42", + "from": "0xade425a97ff1ca39d8ea8a7af3a599e721e7aa4a", + "gasUsed": "0x8470", + "logs": [ + { + "address": "0xdc1f6519311c3bc4c5bf53ede7dc21a412a970f7", + "topics": [ + "0xa7fc99ed7617309ee23f63ae90196a1e490d362e6f6a547a59bc809ee2291782" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000005135220000000000000000000000000000000000000000000000000000000068889816000000000000000000000000000000000000000000000000000000000000000a54414e5353492f55534400000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x32d82d73a0dcb99f74ff94606ddf17e96a316fea9d85719712b3b1aea4f0a868", + "transactionIndex": "0xd7", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x18c", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000040000000000010000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xdc1f6519311c3bc4c5bf53ede7dc21a412a970f7", + "transactionHash": "0x32d82d73a0dcb99f74ff94606ddf17e96a316fea9d85719712b3b1aea4f0a868", + "transactionIndex": "0xd7", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x36b3621", + "effectiveGasPrice": "0x5822e4", + "from": "0xc8cd08f0a829f6a8968ecaff82788822afef9cbb", + "gasUsed": "0x1197f", + "logs": [ + { + "address": "0x4f5b54d4af2568cefafa73bb062e5d734b55aa05", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c8cd08f0a829f6a8968ecaff82788822afef9cbb", + "0x00000000000000000000000023b2615d783e16f14b62efa125306c7c69b4941a" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockNumber": "0x874db3", + "transactionHash": "0xc6ef6b180bb3b7c86f43d56775c3afeb498a26473f386118027499b1cab67770", + "transactionIndex": "0xd8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x18d", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xdcb5c62eac28d1efc7132ad99f2bd81973041d14", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000c8cd08f0a829f6a8968ecaff82788822afef9cbb" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockNumber": "0x874db3", + "transactionHash": "0xc6ef6b180bb3b7c86f43d56775c3afeb498a26473f386118027499b1cab67770", + "transactionIndex": "0xd8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x18e", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000008000000000000000000000000000000000000000000000000060000000000000000000800000000000000000200000010000000000000000000000000000000004000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000200000000022000000000000000000000000000000000000000000000000000020000000000000000000000000010000008000000000400000000000000000002000", + "status": "0x1", + "to": "0x23b2615d783e16f14b62efa125306c7c69b4941a", + "transactionHash": "0xc6ef6b180bb3b7c86f43d56775c3afeb498a26473f386118027499b1cab67770", + "transactionIndex": "0xd8", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x36d9cd1", + "effectiveGasPrice": "0x5822e4", + "from": "0x40d4fc8be70727d5791ba2b53193015e959cb9a7", + "gasUsed": "0x266b0", + "logs": [ + { + "address": "0x9e8ff356d35a2da385c546d6bf1d77ff85133365", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000040d4fc8be70727d5791ba2b53193015e959cb9a7", + "0x00000000000000000000000047d1b0623bb3e557bf8544c159c9ae51d091f8a2" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000009baf33", + "blockNumber": "0x874db3", + "transactionHash": "0x0a6140ad62c8191ecb3ed12c84486833861267585ec60076f8348eab5c377cad", + "transactionIndex": "0xd9", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x18f", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000040d4fc8be70727d5791ba2b53193015e959cb9a7", + "0x00000000000000000000000047d1b0623bb3e557bf8544c159c9ae51d091f8a2" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x0a6140ad62c8191ecb3ed12c84486833861267585ec60076f8348eab5c377cad", + "transactionIndex": "0xd9", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x190", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000040d4fc8be70727d5791ba2b53193015e959cb9a7" + ], + "data": "0x0000000000000000000000000000000000000000000000011851992d5f072531", + "blockNumber": "0x874db3", + "transactionHash": "0x0a6140ad62c8191ecb3ed12c84486833861267585ec60076f8348eab5c377cad", + "transactionIndex": "0xd9", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x191", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "topics": [ + "0x189c623b666b1b45b83d7178f39b8c087cb09774317ca2f53c2d3c3726f222a2", + "0x00000000000000000000000040d4fc8be70727d5791ba2b53193015e959cb9a7" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000139b81ddf33709fdcfa1a6800000000000000000000000000000000000000000139a8e276629aa166ddc5ef000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009baf330000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x0a6140ad62c8191ecb3ed12c84486833861267585ec60076f8348eab5c377cad", + "transactionIndex": "0xd9", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x192", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000000008000000000000000000000000000000000000000000000000020100000000000000000800000001000000000000000010000000000000802000000000000010000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001000002000000000000002000000000000000000000000000000002000000000000000000020000040000480000000000000000008800000000000080000000000000000000000", + "status": "0x1", + "to": "0x47d1b0623bb3e557bf8544c159c9ae51d091f8a2", + "transactionHash": "0x0a6140ad62c8191ecb3ed12c84486833861267585ec60076f8348eab5c377cad", + "transactionIndex": "0xd9", + "type": "0x0" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x36e2604", + "effectiveGasPrice": "0x5773fa", + "from": "0x65141ca3329da9a83458017474b5bc62097cf24f", + "gasUsed": "0x8933", + "logs": [ + { + "address": "0x83458e8bf8206131fe5c05127007fa164c0948a2", + "topics": [ + "0x6c77c4e5e031dca0c4944909e0d4d343c9c5b16eda4ef1d4be0762693e026722" + ], + "data": "0x00000000000000000000000065141ca3329da9a83458017474b5bc62097cf24f67af1daffa1cfe3f45c877adc22da82054bf382596ab32867b4afb9c4e507e86000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000aa36a700000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x2a33c45f7aec5ad9041b8b1439eb9a8dfcd0643b8e2a7c08aa1fdbcdd984b4c5", + "transactionIndex": "0xda", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x193", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000400000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000", + "status": "0x1", + "to": "0x83458e8bf8206131fe5c05127007fa164c0948a2", + "transactionHash": "0x2a33c45f7aec5ad9041b8b1439eb9a8dfcd0643b8e2a7c08aa1fdbcdd984b4c5", + "transactionIndex": "0xda", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x36ea993", + "effectiveGasPrice": "0x56e687", + "from": "0x1f141fa54a4cf1b1acb922c550f4018b8ac6c040", + "gasUsed": "0x838f", + "logs": [ + { + "address": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001f141fa54a4cf1b1acb922c550f4018b8ac6c040" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xbd6deea8a07d686acffe92d54c68fbefa172656a3daeb4d41d42e430df6a3b10", + "transactionIndex": "0xdb", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x194", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000802000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000001001000000000000000000000000000000000000000000100000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionHash": "0xbd6deea8a07d686acffe92d54c68fbefa172656a3daeb4d41d42e430df6a3b10", + "transactionIndex": "0xdb", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x36efb9b", + "effectiveGasPrice": "0x55ed5a", + "from": "0x42645ce4dd0b766de53ee483cbf54bcea670f9b2", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xee0f6d445b80ae809d70648ee177d08daf7420c2", + "transactionHash": "0x4ac9101bf4832624e18c974d03430de1b09e05b723d200379d29607c4d9c5097", + "transactionIndex": "0xdc", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x36f4da3", + "effectiveGasPrice": "0x55ed5a", + "from": "0x15095ec8fb1fc9c664b3223459dff43158ace7ad", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x588590c70b88d740a578c9329e0c3c2dba645a35", + "transactionHash": "0xa58ebac45fc90af2a272dacff41b869ba220887f1111f372adcfdf6a53173d23", + "transactionIndex": "0xdd", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x36f9fab", + "effectiveGasPrice": "0x55ed5a", + "from": "0x9484449f2be7cd6e01ef55bc5438c733e0759e0f", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x3c79813ede13c4a98498df7f21af46bdd9f968f9", + "transactionHash": "0x8c88f210e9c315417595cd4e1093241f2a729a7cd5bced437d3099c0b61dbdcf", + "transactionIndex": "0xde", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x370fc81", + "effectiveGasPrice": "0x54df3a", + "from": "0x86bddfeb23945f869099d295e84f9036b4e83d18", + "gasUsed": "0x15cd6", + "logs": [ + { + "address": "0x4981b1329f29e720642266fc6e172c3f78159dff", + "topics": [ + "0xe2688b6900b89a8dc9b790e8ad7e598062004db7e424b7781144ffccf76c734b" + ], + "data": "0xb0ee8ebf5383a53b4f1ab4120cbd73cd8c3e083ff46b138575be1f6409b649100000000000000000000000000000000000000000000000000000000000002f2000000000000000000000000070b69177a728388e541df1441caa2fab79647c3e00000000000000000000000086bddfeb23945f869099d295e84f9036b4e83d18", + "blockNumber": "0x874db3", + "transactionHash": "0x3e304804edb76159928b211deac365b61a591aa829de330e63ef2682dc92bec4", + "transactionIndex": "0xdf", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x195", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000008000400000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x36ead71325604dc15d35fae584d7b50646d81753", + "transactionHash": "0x3e304804edb76159928b211deac365b61a591aa829de330e63ef2682dc92bec4", + "transactionIndex": "0xdf", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3718010", + "effectiveGasPrice": "0x546804", + "from": "0x72377b695e987aec585de2047b5f22a5eb2acfbd", + "gasUsed": "0x838f", + "logs": [ + { + "address": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000072377b695e987aec585de2047b5f22a5eb2acfbd" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x298c1251c0efd67d410c69abe894f4b3ddc149a44a1a9cdbe4e96d6e288a859d", + "transactionIndex": "0xe0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x196", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000200000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000802000000000000000000000010000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000001000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000100000000000000000000000000000", + "status": "0x1", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionHash": "0x298c1251c0efd67d410c69abe894f4b3ddc149a44a1a9cdbe4e96d6e288a859d", + "transactionIndex": "0xe0", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": "0x57fd29f01a5be970afe562d9b05c5cc865c71733", + "cumulativeGasUsed": "0x37451cb", + "effectiveGasPrice": "0x5466ba", + "from": "0x64a76b5b80d242a21502d89b06caefb9c2ef5da3", + "gasUsed": "0x2d1bb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": null, + "transactionHash": "0x881a9742ece6c568113e8a2cce4488aeb8dcb8177f821cce780553faacbd20f6", + "transactionIndex": "0xe1", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x374d55a", + "effectiveGasPrice": "0x5466ba", + "from": "0x9e5a071cd5b6e2196b71b902782e1ea560263a71", + "gasUsed": "0x838f", + "logs": [ + { + "address": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009e5a071cd5b6e2196b71b902782e1ea560263a71" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xbc61c5cf0d0e19fa0548de6c6b45e05212a2e3109a97deabbaec7a1d5fbba941", + "transactionIndex": "0xe2", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x197", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000802000000000000000000000010000000000000000000000000000000000000000000000000000000000080000000000040000000000000000000001000000000000000000000000000000000000000000000000002000000000000000000000000000000000000008000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionHash": "0xbc61c5cf0d0e19fa0548de6c6b45e05212a2e3109a97deabbaec7a1d5fbba941", + "transactionIndex": "0xe2", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3771f8d", + "effectiveGasPrice": "0x5466ba", + "from": "0xf64307fdda58fe34e6d1381999f470c36aa1976a", + "gasUsed": "0x24a33", + "logs": [ + { + "address": "0xaebae199236fdadf2987dc9ae9a9563dd90da58a", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f64307fdda58fe34e6d1381999f470c36aa1976a", + "0x00000000000000000000000073b8bbbb33f6f7ac8d0b5d1f27685a6106783328" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000", + "blockNumber": "0x874db3", + "transactionHash": "0x5c9c5cee4677c7b0e31c22ca1c7a9c6a47a5f958adea3b3e710257035b1a2389", + "transactionIndex": "0xe3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x198", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x5e164d9bfce0b1b374c23a44f4e187448ee86535", + "topics": [ + "0x1b2c7119df1fb41a1d1e38a61a000a0ef02c906e96988cf02cf497c05cd8a0e1", + "0x9eb11c707460a566c55d9fd1df3231238b58366fa2b95f659247836c90517e09" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018c600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000073b8bbbb33f6f7ac8d0b5d1f27685a610678332800000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c19d5300e11f71e6ea55941f5b6517fa87b879f400000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f64307fdda58fe34e6d1381999f470c36aa1976a000000000000000000000000f64307fdda58fe34e6d1381999f470c36aa1976a00000000000000000000000000000000000000000000000021e8216f4d4ba82300000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x5c9c5cee4677c7b0e31c22ca1c7a9c6a47a5f958adea3b3e710257035b1a2389", + "transactionIndex": "0xe3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x199", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xaebae199236fdadf2987dc9ae9a9563dd90da58a", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000073b8bbbb33f6f7ac8d0b5d1f27685a6106783328", + "0x000000000000000000000000125b493ed7bbd629a15450f171b9aed64c933614" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000", + "blockNumber": "0x874db3", + "transactionHash": "0x5c9c5cee4677c7b0e31c22ca1c7a9c6a47a5f958adea3b3e710257035b1a2389", + "transactionIndex": "0xe3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x19a", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xaebae199236fdadf2987dc9ae9a9563dd90da58a", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000073b8bbbb33f6f7ac8d0b5d1f27685a6106783328", + "0x000000000000000000000000125b493ed7bbd629a15450f171b9aed64c933614" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x5c9c5cee4677c7b0e31c22ca1c7a9c6a47a5f958adea3b3e710257035b1a2389", + "transactionIndex": "0xe3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x19b", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xaebae199236fdadf2987dc9ae9a9563dd90da58a", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000073b8bbbb33f6f7ac8d0b5d1f27685a6106783328", + "0x000000000000000000000000125b493ed7bbd629a15450f171b9aed64c933614" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000", + "blockNumber": "0x874db3", + "transactionHash": "0x5c9c5cee4677c7b0e31c22ca1c7a9c6a47a5f958adea3b3e710257035b1a2389", + "transactionIndex": "0xe3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x19c", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x73b8bbbb33f6f7ac8d0b5d1f27685a6106783328", + "topics": [ + "0x5990ec9133199fb1e48a0b71ac7c516c8e57c9f0189605a1cdfdf458f063680e", + "0x9eb11c707460a566c55d9fd1df3231238b58366fa2b95f659247836c90517e09" + ], + "data": "0x000000000000000000000000aebae199236fdadf2987dc9ae9a9563dd90da58a0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000f64307fdda58fe34e6d1381999f470c36aa1976a00000000000000000000000000000000000000000000000021e8216f4d4ba823", + "blockNumber": "0x874db3", + "transactionHash": "0x5c9c5cee4677c7b0e31c22ca1c7a9c6a47a5f958adea3b3e710257035b1a2389", + "transactionIndex": "0xe3", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x19d", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x02080200000000000000000000000000000000000082100202000000080000000000050000000000000000000000000000000000000000000000000008200000000000400000000000000008000000000400000000000000000000000000000000000001000000000000000000000000000000081000000000000010000000000000100000000000000000000100000000004000000000000000000000000000020000000000800000000000000000000000000000000002000000000000000000000002000000000000000000000000000000000000000100000000000000000010000000010000000000000001000000000001000000000000000000000100", + "status": "0x1", + "to": "0x73b8bbbb33f6f7ac8d0b5d1f27685a6106783328", + "transactionHash": "0x5c9c5cee4677c7b0e31c22ca1c7a9c6a47a5f958adea3b3e710257035b1a2389", + "transactionIndex": "0xe3", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3777195", + "effectiveGasPrice": "0x5466ba", + "from": "0x1b8c76fe92afe279a4d76a03657aaf673b07bd36", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1b8c76fe92afe279a4d76a03657aaf673b07bd36", + "transactionHash": "0xab9fa63654417afcc254f2936dcdc6d7bdd29f8044b54544f9e96ffa8e63e46b", + "transactionIndex": "0xe4", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x377c39d", + "effectiveGasPrice": "0x5466ba", + "from": "0x647d61ca4d3552fe0ae11182581eab50338c1a38", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x292cdc82576f0c164f167348d1ef447a5eb4360b", + "transactionHash": "0xf6da50f5b6d8085fa6b28f91e18d1ce39f8e355ec989a49b0a77188e1b6c24c6", + "transactionIndex": "0xe5", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3788eb4", + "effectiveGasPrice": "0x5466ba", + "from": "0x81ce7792390a551fda706b4b570f3a08c6ee1b0b", + "gasUsed": "0xcb17", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xce42d0a485852bfd912825b27013ed79b7d3f101", + "transactionHash": "0x324cb30f559cc7bd629305a2b0a1fbcab032d66b4e1c92279e019a7380a1e05f", + "transactionIndex": "0xe6", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3790fb2", + "effectiveGasPrice": "0x5466ba", + "from": "0xc25b5badd019c7951b054ffbc26ada1b04ef90aa", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x000000000000000000000000c25b5badd019c7951b054ffbc26ada1b04ef90aa" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f57444439324e45647a47756844684c696e4e764672724e7668507464796270704e72786e634b7747576f595a43000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xa0f01322212f5e76c062b18ba10c232fdf43f88d1067730ddc36ceedebfcf1d5", + "transactionIndex": "0xe7", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x19e", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000200000400000000000000000000000000000000000000000000004000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0xa0f01322212f5e76c062b18ba10c232fdf43f88d1067730ddc36ceedebfcf1d5", + "transactionIndex": "0xe7", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x37b7a52", + "effectiveGasPrice": "0x5466ba", + "from": "0xcb4bcaa494ec848f1f109b616a4d8b0781ff387a", + "gasUsed": "0x26aa0", + "logs": [ + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x000000000000000000000000000000000000000000000000000000e8d4a51000", + "blockNumber": "0x874db3", + "transactionHash": "0x4a4fd7b015cf2fd39eb0591d0832d8371464805dc50a3bbff63665330733e9b5", + "transactionIndex": "0xe8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x19f", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000e279d9b00", + "blockNumber": "0x874db3", + "transactionHash": "0x4a4fd7b015cf2fd39eb0591d0832d8371464805dc50a3bbff63665330733e9b5", + "transactionIndex": "0xe8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1a0", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xee4ea8d358473f0fcebf0329feed95d56e8c04d7", + "topics": [ + "0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x9beb76c7f62a45bd867e8d4d9d852619a7d7b3092bc361fe3285e71d56994d1a" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018579b69a75f27800000000000000000000000000000000000000000000000000000000000000860a62d97b6d6a14266da123d800fde5cf2d44a1cca18ef15135262558b8c41c7c300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000000000014cb4bcaa494ec848f1f109b616a4d8b0781ff387a000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e3130336b65656e7a6e72766b7170747a66737a34753438356e766a617479333268796a37383665000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d73633967683463000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000e279d9b00000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014cb4bcaa494ec848f1f109b616a4d8b0781ff387a000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e3130336b65656e7a6e72766b7170747a66737a34753438356e766a617479333268796a37383665000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000", + "blockNumber": "0x874db3", + "transactionHash": "0x4a4fd7b015cf2fd39eb0591d0832d8371464805dc50a3bbff63665330733e9b5", + "transactionIndex": "0xe8", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1a1", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000208004000000000000000000000004000000000000000000000000000000000000000000001000000000000000000200000000000020000020000000000000000000000100000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000001000000020000000000000000000000000000000000000000000000080000000000000000200000000000000000000002000000000000000000000000000400000000000000000100000000000000000080000000000000000000000020000000000000400000000000000000", + "status": "0x1", + "to": "0x5fbe74a283f7954f10aa04c2edf55578811aeb03", + "transactionHash": "0x4a4fd7b015cf2fd39eb0591d0832d8371464805dc50a3bbff63665330733e9b5", + "transactionIndex": "0xe8", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x37bcc5a", + "effectiveGasPrice": "0x5466ba", + "from": "0x1c763d7848ae0fd7655892beb71b5f33973f63ed", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xa62693990f2f8283964968d7d5418adb4be46d72", + "transactionHash": "0xafe27b09eaee9163f89d88c25ed4891504699896fc6998ea3e414c987cac71ab", + "transactionIndex": "0xe9", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x37c4fe9", + "effectiveGasPrice": "0x5466ba", + "from": "0x2b1e0adc6656f855ad5183d5ba627bde08ed6174", + "gasUsed": "0x838f", + "logs": [ + { + "address": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000002b1e0adc6656f855ad5183d5ba627bde08ed6174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xe27dae964a5ce49876faef8ff0138306a5ff9347fe72989108a1a6437d64fffb", + "transactionIndex": "0xea", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1a2", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000008000000000000000000001000000000000000000000000000020000000000000000000802000000000000000000000010000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000001000000000080000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionHash": "0xe27dae964a5ce49876faef8ff0138306a5ff9347fe72989108a1a6437d64fffb", + "transactionIndex": "0xea", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x37cd0e7", + "effectiveGasPrice": "0x5466ba", + "from": "0x4bcf52afa1e5e8f7f76e283bc44ad19c2673fd0f", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x0000000000000000000000004bcf52afa1e5e8f7f76e283bc44ad19c2673fd0f" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f57537846436f454a6a334e427a66675458675866714653383869704a55317947345642515335416465526b657a000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x173fecb9f4747a7305bc25ae57f1c7b3e4d8befd244f11f624ff9e8381f4e869", + "transactionIndex": "0xeb", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1a3", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000004000000000000000000000000000000002000000000000000000000000000020000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0x173fecb9f4747a7305bc25ae57f1c7b3e4d8befd244f11f624ff9e8381f4e869", + "transactionIndex": "0xeb", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x37d5476", + "effectiveGasPrice": "0x5466ba", + "from": "0x28504d5531c695763569091816d6e9f26a84d028", + "gasUsed": "0x838f", + "logs": [ + { + "address": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000028504d5531c695763569091816d6e9f26a84d028" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0xef1cf81b97991550803ae5af49310563d3bb966be96080b5407eca1a6870bb56", + "transactionIndex": "0xec", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1a4", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000802000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000008000000000001000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000001000000000000000000000000000", + "status": "0x1", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionHash": "0xef1cf81b97991550803ae5af49310563d3bb966be96080b5407eca1a6870bb56", + "transactionIndex": "0xec", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x37dd805", + "effectiveGasPrice": "0x5466ba", + "from": "0xd0b00a3b9d4d147a5c01c86eed8f9ac99c1fbd78", + "gasUsed": "0x838f", + "logs": [ + { + "address": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000d0b00a3b9d4d147a5c01c86eed8f9ac99c1fbd78" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x7b4c62a3492d3b6c72348744dcf62b026b44ff49230a2ff20b65c8b708fa0d78", + "transactionIndex": "0xed", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1a5", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000100000000008000000000000000000000000000000000000000000000000020000000000000000000802000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000002000000000000000000001000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionHash": "0x7b4c62a3492d3b6c72348744dcf62b026b44ff49230a2ff20b65c8b708fa0d78", + "transactionIndex": "0xed", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x37e5903", + "effectiveGasPrice": "0x5466ba", + "from": "0x88f9817edec99a067a6cab4da0e69254691b7442", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x00000000000000000000000088f9817edec99a067a6cab4da0e69254691b7442" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574e6175524454515339627447576e355966774d5857557578434a5078336b78754d4a34384335535964464735000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x1e83552745e9b8a23c6c49aa67e6a4a7a7e3950179a7eb34ea49e68f1f5148f7", + "transactionIndex": "0xee", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1a6", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000020000000000000000000000000000000400000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000080000000000000004000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0x1e83552745e9b8a23c6c49aa67e6a4a7a7e3950179a7eb34ea49e68f1f5148f7", + "transactionIndex": "0xee", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x37eab0b", + "effectiveGasPrice": "0x5466ba", + "from": "0xa12b540b2789c516ff6811724d1a0ea55bfe93dd", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x3bbf5fa568612d8aee6951f3067f35b10c81fb46", + "transactionHash": "0xb250c6767df52aff4a4efe07c5f5b4b9a4aa622bd23aa67c6b2794b1fea0228f", + "transactionIndex": "0xef", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x37f2c09", + "effectiveGasPrice": "0x5466ba", + "from": "0x3fa84eaea4f0a48b15e26583c5e741fdf81e9ab7", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x0000000000000000000000003fa84eaea4f0a48b15e26583c5e741fdf81e9ab7" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f5753666559354c4a657565667a545831677758624d76426a434d6b74734b643447796b73366d4645374665534a000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xb6c29ed659f2381bc2076f6b7185bee1919c881a7a30847c820bc31032f2fabc", + "transactionIndex": "0xf0", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1a7", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000004000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000001000000880000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0xb6c29ed659f2381bc2076f6b7185bee1919c881a7a30847c820bc31032f2fabc", + "transactionIndex": "0xf0", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x37fad07", + "effectiveGasPrice": "0x5466ba", + "from": "0x48ab2ca74ef366b5d9eac414e00035fe70302c2d", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x00000000000000000000000048ab2ca74ef366b5d9eac414e00035fe70302c2d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f57464a4e6269685779374b755a65516545486b3367617857696b617676545a52396d58364b4c74745457317669000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xe26c1812f8a87418fbc40d2fc4d085460034c198c73b6d8e929084fca7152a80", + "transactionIndex": "0xf1", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1a8", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000800800000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0xe26c1812f8a87418fbc40d2fc4d085460034c198c73b6d8e929084fca7152a80", + "transactionIndex": "0xf1", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x37fff0f", + "effectiveGasPrice": "0x5466ba", + "from": "0x8513405543062b0d78bba04309d6c99856dfd75f", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x4183e41d879054c8b2f2324c7cf50aab9432de76", + "transactionHash": "0x6ac7ef7d07c165e6f5d9f77bfd85f4e55fc84c3f6e75ff9dfdd0a9d6589b20a9", + "transactionIndex": "0xf2", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3805117", + "effectiveGasPrice": "0x5466ba", + "from": "0x0a29b2793f688ee31c106705060adef38c695fd1", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x54366bcd1e73baf55449377bd23123274803236e", + "transactionHash": "0x520abfd3c6d31b736717dc7750343a67ec7138ba83b1d9a364a9e3435faa97e4", + "transactionIndex": "0xf3", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x380a31f", + "effectiveGasPrice": "0x5466ba", + "from": "0xbf906d332434ddb7dc59047df557460e5b7601fe", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x11225a9d0254c9edb03d79b89e52c534f83c0cba", + "transactionHash": "0xf8df7e9fea3b1ef13dd5281c29e571a0f0084e66bfb3cb0b715f680f594c5527", + "transactionIndex": "0xf4", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3823720", + "effectiveGasPrice": "0x5466ba", + "from": "0x4fb59f872ab375de01c4d01617dd1e7e70daad9a", + "gasUsed": "0x19401", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000004fb59f872ab375de01c4d01617dd1e7e70daad9a", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9" + ], + "data": "0x000000000000000000000000000000000000000000000000000a971760d91911", + "blockNumber": "0x874db3", + "transactionHash": "0x44154b5e51b189e97c1c1b7de50e34a25f5f652ef9624ab943993f70f3d0f393", + "transactionIndex": "0xf5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1a9", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "0x0000000000000000000000004fb59f872ab375de01c4d01617dd1e7e70daad9a" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000101e", + "blockNumber": "0x874db3", + "transactionHash": "0x44154b5e51b189e97c1c1b7de50e34a25f5f652ef9624ab943993f70f3d0f393", + "transactionIndex": "0xf5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1aa", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000c2588673bbfe0000000000000000000000000000000000000000007f4efe9cf739d4d0efec6b", + "blockNumber": "0x874db3", + "transactionHash": "0x44154b5e51b189e97c1c1b7de50e34a25f5f652ef9624ab943993f70f3d0f393", + "transactionIndex": "0xf5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1ab", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3", + "0x0000000000000000000000004fb59f872ab375de01c4d01617dd1e7e70daad9a" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a971760d91911000000000000000000000000000000000000000000000000000000000000101e0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x44154b5e51b189e97c1c1b7de50e34a25f5f652ef9624ab943993f70f3d0f393", + "transactionIndex": "0xf5", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1ac", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00200000000000000000001080000000000000000000000000000000000000000000000000000020000800000000000000000000000000000000000008000010000000000000000000000008400000200000000000000000000000000000000000000000000000000000000000002000000000000000001000000010000000000000000000000000000000000000000000000000000000080000004000000000000000000000000000000000000000000000000000000000002000802020000000000002000020000040000000000000000000002000001000000000000000000000000400000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x44154b5e51b189e97c1c1b7de50e34a25f5f652ef9624ab943993f70f3d0f393", + "transactionIndex": "0xf5", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x382b81e", + "effectiveGasPrice": "0x5466ba", + "from": "0x77636d3b9e53fa009c604d177b097817508740bf", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x00000000000000000000000077636d3b9e53fa009c604d177b097817508740bf" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f57505a544e31576a6579614337693562376e3577545266543364687451487962745150457345573556706a6a34000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x8801a5fd77daed32c7f25af1143f2ffba528f6a3ac61aab7697ac97b055e99c5", + "transactionIndex": "0xf6", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1ad", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000004000000000000000000000000000000400000000000000000000000000008000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0x8801a5fd77daed32c7f25af1143f2ffba528f6a3ac61aab7697ac97b055e99c5", + "transactionIndex": "0xf6", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3830a26", + "effectiveGasPrice": "0x5466ba", + "from": "0xa3b4ea9ad9ff672d1b1504919d7f43b78bd4126b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xfaa3d77494a3cc50a6b4e9bc3954ac65e9a8df18", + "transactionHash": "0x8be1ea4817e8f39f7e4bb52f21b4798c5fc36dce4e6b213592fc6b7980fe44a8", + "transactionIndex": "0xf7", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3835c2e", + "effectiveGasPrice": "0x5466ba", + "from": "0x78fffafe76ae0919a99ff4b24831d16faad35322", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xc2eb26fb7ee17c44b38cf4552f3d31cea457a1f5", + "transactionHash": "0x8c27b5b0914f9d6d29d210f833cc694f5b17b3093cc83029df4c42af3345e67a", + "transactionIndex": "0xf8", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x383ae36", + "effectiveGasPrice": "0x5466ba", + "from": "0xbf9f81f75919f06493b7260ce82dcfa0cc639616", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x8b44e4b509b2041a846d0cde311c6a81e5e17826", + "transactionHash": "0xc27477cde67c0d550b88866629370e00862f95c0eb05fa0cb24f9d3d10028dc1", + "transactionIndex": "0xf9", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3842f34", + "effectiveGasPrice": "0x5466ba", + "from": "0x560cd880656645c7cc9bdb5fb81b953dcd77460d", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x000000000000000000000000560cd880656645c7cc9bdb5fb81b953dcd77460d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574643537851574451456e67686179376756557362687555475a4743596d6e4b3664506a346b77315777734265000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xdabacef6096eca553f0e646791ffb61e59572db0e830dd5fb1f0b095f795f613", + "transactionIndex": "0xfa", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1ae", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000004000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000004000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000080000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0xdabacef6096eca553f0e646791ffb61e59572db0e830dd5fb1f0b095f795f613", + "transactionIndex": "0xfa", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x384813c", + "effectiveGasPrice": "0x5466ba", + "from": "0x6de275837ca2ca4a407638e7f414bc2126819270", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x6616000271df6b70ae87d2740cb2b965e3d60023", + "transactionHash": "0x3b07291064cfaba85d86f857bcbf36df620aa832541a36e42a4c8a36b736b263", + "transactionIndex": "0xfb", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38504bf", + "effectiveGasPrice": "0x5466ba", + "from": "0x0f04a80e46b2746c6eae142692355af0d900131d", + "gasUsed": "0x8383", + "logs": [ + { + "address": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000f04a80e46b2746c6eae142692355af0d900131d" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockNumber": "0x874db3", + "transactionHash": "0x73444ccce8428fa5308084d5c1c31930b86091e72eada06432c408bec903d15b", + "transactionIndex": "0xfc", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1af", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000002000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000802000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000020000000", + "status": "0x1", + "to": "0x3edf60dd017ace33a0220f78741b5581c385a1ba", + "transactionHash": "0x73444ccce8428fa5308084d5c1c31930b86091e72eada06432c408bec903d15b", + "transactionIndex": "0xfc", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38556c7", + "effectiveGasPrice": "0x5466ba", + "from": "0x08a4bebdbe66c60b1eb4f1a97961ba915531fe11", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xbdc5535f8536c81f7b9267d03a977f4455d84cc4", + "transactionHash": "0xfd605c7bbbb36770b07f8212e806b563dde6d440786a267bd7dd27670ec10ba1", + "transactionIndex": "0xfd", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x386ea24", + "effectiveGasPrice": "0x5466ba", + "from": "0xfaea4b521cd70fdd7babab36b82aeb2755dd0756", + "gasUsed": "0x1935d", + "logs": [ + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000faea4b521cd70fdd7babab36b82aeb2755dd0756", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockNumber": "0x874db3", + "transactionHash": "0xb19111a5ac291ec80e27436d265b228ec8c5c82d41ebc0c6b5deb9004beeb1da", + "transactionIndex": "0xfe", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1b0", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "0x000000000000000000000000faea4b521cd70fdd7babab36b82aeb2755dd0756" + ], + "data": "0x000000000000000000000000000000000000000000000000000000a7315c4e94", + "blockNumber": "0x874db3", + "transactionHash": "0xb19111a5ac291ec80e27436d265b228ec8c5c82d41ebc0c6b5deb9004beeb1da", + "transactionIndex": "0xfe", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1b1", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000c2588673bbff0000000000000000000000000000000000000000007f4efe9cf7392d9f939dd7", + "blockNumber": "0x874db3", + "transactionHash": "0xb19111a5ac291ec80e27436d265b228ec8c5c82d41ebc0c6b5deb9004beeb1da", + "transactionIndex": "0xfe", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1b2", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3", + "0x000000000000000000000000faea4b521cd70fdd7babab36b82aeb2755dd0756" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7315c4e94", + "blockNumber": "0x874db3", + "transactionHash": "0xb19111a5ac291ec80e27436d265b228ec8c5c82d41ebc0c6b5deb9004beeb1da", + "transactionIndex": "0xfe", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1b3", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00200000000000000000001088000000000000000000000000000000000000000000000000000060000800000000000000000000000000000000000008000010000000000000000000000008000000200000000000000000000000000000000000000000000000000000000000002000000000000000001000000010000000000000000000000000000000000000000000000000000000080000004000000000000000000000000000000000000000000000000000000000002000802000000000000002000000000040000000000000000000002000001000001000000000000000000400000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0xb19111a5ac291ec80e27436d265b228ec8c5c82d41ebc0c6b5deb9004beeb1da", + "transactionIndex": "0xfe", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3873c2c", + "effectiveGasPrice": "0x5466ba", + "from": "0x4a373aa1ab0a1635f04fd484b6b7c919cd1ebf0f", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xcdd0ac801f865e0a31a19369f74e27b7a1ccf554", + "transactionHash": "0xce6d26119b63fc44dad1832c4a7207281a763bd65b67507f7398f93cc3b3f3e4", + "transactionIndex": "0xff", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3878e34", + "effectiveGasPrice": "0x5466ba", + "from": "0xd9e63a2810da1bfe6c76c9f67f9b4caca325d68c", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xfa656e9138684e1b0b7de4d4eeede9a7abaa7868", + "transactionHash": "0xe84139a44ff9677ef441f2cbd0a6c63efc4ed21adfbb0463fb14fd7a0a48ffd1", + "transactionIndex": "0x100", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x387f255", + "effectiveGasPrice": "0x5466ba", + "from": "0x85225acbd920a67e58afffe85551d575392f5ca6", + "gasUsed": "0x6421", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x1eae9a8499bb5d1baaed3946d172761443c86ca2", + "transactionHash": "0x1e8d4e640a843499bef8888422d16676b81c804d9cdace27359e8700290b9183", + "transactionIndex": "0x101", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38985b2", + "effectiveGasPrice": "0x5466ba", + "from": "0xc3dd8ef90b652ea021ca20697992beed7eb36e74", + "gasUsed": "0x1935d", + "logs": [ + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c3dd8ef90b652ea021ca20697992beed7eb36e74", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockNumber": "0x874db3", + "transactionHash": "0x4cec0a8a46038f69f464d375b412a72782163b9722ac2195fedff7bb164ddf83", + "transactionIndex": "0x102", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1b4", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "0x000000000000000000000000c3dd8ef90b652ea021ca20697992beed7eb36e74" + ], + "data": "0x000000000000000000000000000000000000000000000000000000a7315c4e94", + "blockNumber": "0x874db3", + "transactionHash": "0x4cec0a8a46038f69f464d375b412a72782163b9722ac2195fedff7bb164ddf83", + "transactionIndex": "0x102", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1b5", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000c2588673bc000000000000000000000000000000000000000000007f4efe9cf738866e374f43", + "blockNumber": "0x874db3", + "transactionHash": "0x4cec0a8a46038f69f464d375b412a72782163b9722ac2195fedff7bb164ddf83", + "transactionIndex": "0x102", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1b6", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3", + "0x000000000000000000000000c3dd8ef90b652ea021ca20697992beed7eb36e74" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7315c4e94", + "blockNumber": "0x874db3", + "transactionHash": "0x4cec0a8a46038f69f464d375b412a72782163b9722ac2195fedff7bb164ddf83", + "transactionIndex": "0x102", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1b7", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00200000000000000000001080000000000000000000000000000000000000000000000000000020000800000000000000000000000000000000000008000010000000000000000000000008000000200000000000000000000000000000001000000000000000000000000000002000000000000000001000000010000000000000000000000000000000000000000000000000000000080000004000000080000000000000000000000000000000000000200000000000002000802000000000000002000000000040000000000000000000002000001000000000000000000000000400000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x4cec0a8a46038f69f464d375b412a72782163b9722ac2195fedff7bb164ddf83", + "transactionIndex": "0x102", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38b19b3", + "effectiveGasPrice": "0x5466ba", + "from": "0xf89ad188e267c979c467a5deecf840bc533c1d78", + "gasUsed": "0x19401", + "logs": [ + { + "address": "0xb816bb88f836ea75ca4071b46ff285f690c43bb7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000f89ad188e267c979c467a5deecf840bc533c1d78", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9" + ], + "data": "0x000000000000000000000000000000000000000000000000000a55b9f1e222d3", + "blockNumber": "0x874db3", + "transactionHash": "0x419048efdd399bb13acfd6a2fe8a7318d1518204dd4b380e5720314ea6ce4a4f", + "transactionIndex": "0x103", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1b8", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000cdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "0x000000000000000000000000f89ad188e267c979c467a5deecf840bc533c1d78" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000fba", + "blockNumber": "0x874db3", + "transactionHash": "0x419048efdd399bb13acfd6a2fe8a7318d1518204dd4b380e5720314ea6ce4a4f", + "transactionIndex": "0x103", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1b9", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000c2588673ac460000000000000000000000000000000000000000007f4efe9d018e4060197216", + "blockNumber": "0x874db3", + "transactionHash": "0x419048efdd399bb13acfd6a2fe8a7318d1518204dd4b380e5720314ea6ce4a4f", + "transactionIndex": "0x103", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1ba", + "removed": false, + "blockTimestamp": "0x68889828" + }, + { + "address": "0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9", + "topics": [ + "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3", + "0x000000000000000000000000f89ad188e267c979c467a5deecf840bc533c1d78" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a55b9f1e222d30000000000000000000000000000000000000000000000000000000000000fba0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x419048efdd399bb13acfd6a2fe8a7318d1518204dd4b380e5720314ea6ce4a4f", + "transactionIndex": "0x103", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1bb", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00200000000000000000001080000000000800000000000000000000000000000000000000000020000800000000000000000000000000000000000008000010000000000000000100000008000000200000000000000000000000000000000000000000000000000000000000002000000000000000001000000010000000008000000000000000000000000000000000000000000000080000004000000000000000000000000000000000000000000000000000000000002000802000000000000002000000000040000000000000000000002000001000000000000000000000000400000000000000000000000000000000000000000080000000000001", + "status": "0x1", + "to": "0xee567fe1712faf6149d80da1e6934e354124cfe3", + "transactionHash": "0x419048efdd399bb13acfd6a2fe8a7318d1518204dd4b380e5720314ea6ce4a4f", + "transactionIndex": "0x103", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38b6bbb", + "effectiveGasPrice": "0x5466ba", + "from": "0x6f15405d3a413e6e5f13af064a77deffd700095f", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionHash": "0x9acc81ee1217b81ce9813bcbafa7446a44b9bfe017dfaad9ea51843c5749dd6d", + "transactionIndex": "0x104", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38bfc43", + "effectiveGasPrice": "0x5466ba", + "from": "0xbbc8f6b710359dbcdf02f9eb50ade391890a6021", + "gasUsed": "0x9088", + "logs": [ + { + "address": "0xd6ad2fa83f2012d5296b58dfad6e8c9567138035", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000bbc8f6b710359dbcdf02f9eb50ade391890a6021", + "0x000000000000000000000000b25d4ad82e7d371d33d5ccb25dc9b9875d2299d8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000002bd3d9d", + "blockNumber": "0x874db3", + "transactionHash": "0x01d886ec7f5a40ddb2f52f4f4c9651bcb6314176cb07f8a7ad20b8ab2efe1968", + "transactionIndex": "0x105", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1bc", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000400000000040000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000002000000000000000000000000000000100000000800000000000000000000000000000000000000000000000000000000000000000040000000000000", + "status": "0x1", + "to": "0xd6ad2fa83f2012d5296b58dfad6e8c9567138035", + "transactionHash": "0x01d886ec7f5a40ddb2f52f4f4c9651bcb6314176cb07f8a7ad20b8ab2efe1968", + "transactionIndex": "0x105", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38c7d41", + "effectiveGasPrice": "0x5466ba", + "from": "0xe404510edbf95760ad5e482b697cf5d4977b183f", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x000000000000000000000000e404510edbf95760ad5e482b697cf5d4977b183f" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574148556d6a62754e4373784a3750515334377643574a41474252364474314b6d58675a4864574c5543714177000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x4d60bca82ff38cf79add8e04deaa728b691d0339093bc74bef52f76a3ae55fad", + "transactionIndex": "0x106", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1bd", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000008000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000080000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000004000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0x4d60bca82ff38cf79add8e04deaa728b691d0339093bc74bef52f76a3ae55fad", + "transactionIndex": "0x106", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38ccf49", + "effectiveGasPrice": "0x5466ba", + "from": "0xae4ad6c9e0bf72f8a5ba54679e3d50ca6611105e", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionHash": "0x34e0addbfeda5173e87ab422e3ba4107b9711639132141bd95170d37563cbbcf", + "transactionIndex": "0x107", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38d2151", + "effectiveGasPrice": "0x5466ba", + "from": "0xa83ac6901c97e1706b1ef1207c22e3a6678b81e6", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionHash": "0x8747f3da051d40e99b45057b1bc3bca6bf8efa187921c001d298fe4a321e3f16", + "transactionIndex": "0x108", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38d7359", + "effectiveGasPrice": "0x5466ba", + "from": "0xd3709402eecf8d7aeaafb53075561dcfdde0da1a", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionHash": "0x382e2bf4f062410cdf28695e100e920307fd7a241c236e7cbb2174052ad68d08", + "transactionIndex": "0x109", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38dc561", + "effectiveGasPrice": "0x5466ba", + "from": "0x4c7222d4dbf6eada9e2caeb1b8922d3d768bdb5b", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionHash": "0x699973cf00e3aac134e7fec75c6e53c79e53ec1068df4daafe898b267f5ebe2b", + "transactionIndex": "0x10a", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38e465f", + "effectiveGasPrice": "0x5466ba", + "from": "0xa235a60e0ced27d2f9eb97afdb872cf052893a13", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x000000000000000000000000a235a60e0ced27d2f9eb97afdb872cf052893a13" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574457797978724d36485557524176795a694b364645396b3542433666373873734a356356396f3966424c756b000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xa15303ac66478b6b3dc64798b8305ed8e15bd24724f4aac452c287e65765e864", + "transactionIndex": "0x10b", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1be", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000800000000000000000000000000000000000000100000000000000000000080000000000000000000000000000000000000000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0xa15303ac66478b6b3dc64798b8305ed8e15bd24724f4aac452c287e65765e864", + "transactionIndex": "0x10b", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38e9867", + "effectiveGasPrice": "0x5466ba", + "from": "0xc056f3420692dc799787bbcc594bae168b760dcd", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionHash": "0x807f0e68efa88fc52160be524890eec80508432b6a0265332aaf809598def9da", + "transactionIndex": "0x10c", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38f1965", + "effectiveGasPrice": "0x5466ba", + "from": "0x4bbc435dcbcb39776850d5cc9b0a15b70c733b44", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x0000000000000000000000004bbc435dcbcb39776850d5cc9b0a15b70c733b44" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f5747774a76363373774d784766736861714c7a59766b6639546d32386f76414a4178794d615278383352683433000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x8427b26983f26d92c0c99e28ae0854d1c389c9818dd1eaf6c090ba7d144cedb4", + "transactionIndex": "0x10d", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1bf", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000200000000000000000080000000000080000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0x8427b26983f26d92c0c99e28ae0854d1c389c9818dd1eaf6c090ba7d144cedb4", + "transactionIndex": "0x10d", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38f9a63", + "effectiveGasPrice": "0x5466ba", + "from": "0xc128e8fb95e5856e84c99010ca7568b7cbefaa54", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x000000000000000000000000c128e8fb95e5856e84c99010ca7568b7cbefaa54" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574d744c725a79514858374c564a555259334e6a4d6b5236506a3775397265653868537857777a6d6250784874000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xd4b9fe1364bb7bae0fbfe90d6c986f44032a8ac1554eaddd1a110bed40d22d97", + "transactionIndex": "0x10e", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1c0", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000410000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080020000000000000000000000000000000000002000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0xd4b9fe1364bb7bae0fbfe90d6c986f44032a8ac1554eaddd1a110bed40d22d97", + "transactionIndex": "0x10e", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x38fec6b", + "effectiveGasPrice": "0x5466ba", + "from": "0x9a139bdfd41dc9f4aef9fc9f04bee9686b98c044", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xed54c0b040cc1311e8a6fc423d6fe2cb3ef13fde", + "transactionHash": "0x2621930ce848b2046e63e2b851a835159dbdb27bbfbf74d40c526c6ac1e43c7b", + "transactionIndex": "0x10f", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3906d69", + "effectiveGasPrice": "0x5466ba", + "from": "0x728e4f84c7a299da97370c9889a33eeaa53fa437", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x000000000000000000000000728e4f84c7a299da97370c9889a33eeaa53fa437" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f5741747334746b4b63777167626f687a59486b6b784c6d486648676d6f324b3578535a3974794c5a4461487572000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x6dc4a43ab4ab9e0c3746db838abe94f0b75a785d87e95df6d7828cc5ca64b100", + "transactionIndex": "0x110", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1c1", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000800000000000000000000000000000000004000000000000000000000000080000000000000000000000000000001000000000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0x6dc4a43ab4ab9e0c3746db838abe94f0b75a785d87e95df6d7828cc5ca64b100", + "transactionIndex": "0x110", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x390bf71", + "effectiveGasPrice": "0x5466ba", + "from": "0x6cf617caad5321b4e32f94846aaf635a352c1bb3", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionHash": "0x787fc4ad43f965dd99856e4ab1cfa94e252caca99e1a00418318013424370b1d", + "transactionIndex": "0x111", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x391406f", + "effectiveGasPrice": "0x5466ba", + "from": "0x242b6a417bd4bc7d59abce147b5335568672ed6d", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x000000000000000000000000242b6a417bd4bc7d59abce147b5335568672ed6d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f57437477754746464d326a45553537755634346232785931775061524d51507658784a456e6262667a716a7576000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x4f23140869bc38ac1b757300ac947b6aa2946069ca08ea2a283da2e51e5caab7", + "transactionIndex": "0x112", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1c2", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000800000000000000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0x4f23140869bc38ac1b757300ac947b6aa2946069ca08ea2a283da2e51e5caab7", + "transactionIndex": "0x112", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x391c16d", + "effectiveGasPrice": "0x5466ba", + "from": "0x757f9f96838b6e6af0f491dd1a3ad2f79c270a0d", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x000000000000000000000000757f9f96838b6e6af0f491dd1a3ad2f79c270a0d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574a695551384c726a736237417a6b4339555854536d3963623262417a58774441595668386f72655955766a69000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0x1be1e365929c69e74ff4d6e08062a37b6bcbc430d5317b7aaeefc6c71ca95981", + "transactionIndex": "0x113", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1c3", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000080000008000000000000000000000000000000000000000000000000000000000040000000000040000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0x1be1e365929c69e74ff4d6e08062a37b6bcbc430d5317b7aaeefc6c71ca95981", + "transactionIndex": "0x113", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3921375", + "effectiveGasPrice": "0x5466ba", + "from": "0x42a100c3c081956cb0dae146e5f0717cd07970bd", + "gasUsed": "0x5208", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0x08d2b0a37f869ff76bacb5bab3278e26ab7067b7", + "transactionHash": "0x57b11ae2c3d4726c8c3c48db779a2b608bdb06e63343de6bd1525a2562ad18eb", + "transactionIndex": "0x114", + "type": "0x2" + }, + { + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "blockNumber": "0x874db3", + "contractAddress": null, + "cumulativeGasUsed": "0x3929473", + "effectiveGasPrice": "0x5466ba", + "from": "0xe1a1048c6521ebe92677702a27d59611aac386e9", + "gasUsed": "0x80fe", + "logs": [ + { + "address": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "topics": [ + "0xd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047", + "0x000000000000000000000000e1a1048c6521ebe92677702a27d59611aac386e9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000688898280000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574d484d5970744d6559796877756753484171464b705077397045314e486e544d7944614e335a70597068695a000000000000000000000000", + "blockNumber": "0x874db3", + "transactionHash": "0xde22082def7adee57ce11daf4a8644caf2d8415b003e979b3ab8e1caff7ef4fc", + "transactionIndex": "0x115", + "blockHash": "0x1ba63760e6fbfcff361e4bb9f6073e50706a8dcf57c69653f1eaaba543636e24", + "logIndex": "0x1c4", + "removed": false, + "blockTimestamp": "0x68889828" + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000400000400000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000040000000000000000000800000000000000000000000000000000000000000000000000000000000080000000400000000000000000000000000000000000000000000000000000000040000000000000000000", + "status": "0x1", + "to": "0x03c66cb1826bdb0395bf31e68bf7e873e9564ffb", + "transactionHash": "0xde22082def7adee57ce11daf4a8644caf2d8415b003e979b3ab8e1caff7ef4fc", + "transactionIndex": "0x115", + "type": "0x2" + } +] diff --git a/substrate/frame/revive/uapi/Cargo.toml b/substrate/frame/revive/uapi/Cargo.toml index 57e9c87db601f..f5cfd867e86e8 100644 --- a/substrate/frame/revive/uapi/Cargo.toml +++ b/substrate/frame/revive/uapi/Cargo.toml @@ -12,7 +12,6 @@ description = "Exposes all the host functions that a contract can import." workspace = true [package.metadata.docs.rs] -features = ["unstable-hostfn"] targets = ["riscv64imac-unknown-none-elf"] [dependencies] @@ -34,4 +33,3 @@ polkavm-derive = { version = "0.30.0" } default = ["scale"] scale = ["dep:codec", "scale-info"] precompiles-sol-interfaces = ["alloy-core"] -unstable-hostfn = [] diff --git a/substrate/frame/revive/uapi/sol/ISystem.sol b/substrate/frame/revive/uapi/sol/ISystem.sol index be79f98129858..a894c334d4b8b 100644 --- a/substrate/frame/revive/uapi/sol/ISystem.sol +++ b/substrate/frame/revive/uapi/sol/ISystem.sol @@ -51,4 +51,21 @@ interface ISystem { /// - called from delegate context /// - the contract introduced balance locks function terminate(address beneficiary) external; + + /// Verify a sr25519 signature + /// + /// # Parameters + /// + /// - `signature`: The signature bytes. + /// - `message`: The message bytes. + /// - `publicKey`: The public key bytes. + function sr25519Verify(uint8[64] calldata signature, bytes calldata message, bytes32 publicKey) external view returns (bool); + + /// Calculates the Ethereum address from the ECDSA compressed public key. + /// This fails if ECDSA recovery of the provided key fails. + /// + /// # Parameters + /// + /// - `publicKey`: The public key bytes. + function ecdsaToEthAddress(uint8[33] calldata publicKey) external view returns (bytes20); } diff --git a/substrate/frame/revive/uapi/src/host.rs b/substrate/frame/revive/uapi/src/host.rs index 65fe94aa587c0..b78ec6fb9412a 100644 --- a/substrate/frame/revive/uapi/src/host.rs +++ b/substrate/frame/revive/uapi/src/host.rs @@ -12,7 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. use crate::{CallFlags, Result, ReturnFlags, StorageFlags}; -use pallet_revive_proc_macro::unstable_hostfn; #[cfg(target_arch = "riscv64")] mod riscv64; @@ -461,64 +460,6 @@ pub trait HostFn: private::Sealed { /// akin to the `INVALID` EVM opcode. fn consume_all_gas() -> !; - /// Calculates Ethereum address from the ECDSA compressed public key and stores - /// it into the supplied buffer. - /// - /// # Parameters - /// - /// - `pubkey`: The public key bytes. - /// - `output`: A reference to the output data buffer to write the address. - /// - /// # Errors - /// - /// - [EcdsaRecoveryFailed][`crate::ReturnErrorCode::EcdsaRecoveryFailed] - #[unstable_hostfn] - fn ecdsa_to_eth_address(pubkey: &[u8; 33], output: &mut [u8; 20]) -> Result; - - /// Replace the contract code at the specified address with new code. - /// - /// # Note - /// - /// There are a couple of important considerations which must be taken into account when - /// using this API: - /// - /// 1. The storage at the code address will remain untouched. This means that contract - /// developers must ensure that the storage layout of the new code is compatible with that of - /// the old code. - /// - /// 2. Contracts using this API can't be assumed as having deterministic addresses. Said another - /// way, when using this API you lose the guarantee that an address always identifies a specific - /// code hash. - /// - /// 3. If a contract calls into itself after changing its code the new call would use - /// the new code. However, if the original caller panics after returning from the sub call it - /// would revert the changes made by [`set_code_hash()`][`Self::set_code_hash`] and the next - /// caller would use the old code. - /// - /// # Parameters - /// - /// - `code_hash`: The hash of the new code. Should be decodable as an `T::Hash`. Traps - /// otherwise. - /// - /// # Panics - /// - /// Panics if there is no code on-chain with the specified hash. - #[unstable_hostfn] - fn set_code_hash(code_hash: &[u8; 32]); - - /// Verify a sr25519 signature - /// - /// # Parameters - /// - /// - `signature`: The signature bytes. - /// - `message`: The message bytes. - /// - /// # Errors - /// - /// - [Sr25519VerifyFailed][`crate::ReturnErrorCode::Sr25519VerifyFailed] - #[unstable_hostfn] - fn sr25519_verify(signature: &[u8; 64], message: &[u8], pub_key: &[u8; 32]) -> Result; - /// Remove the calling account and transfer remaining **free** balance. /// /// This function never returns. Either the termination was successful and the @@ -534,7 +475,6 @@ pub trait HostFn: private::Sealed { /// - The contract is live i.e is already on the call stack. /// - Failed to send the balance to the beneficiary. /// - The deletion queue is full. - #[unstable_hostfn] fn terminate(beneficiary: &[u8; 20]) -> !; } diff --git a/substrate/frame/revive/uapi/src/host/riscv64.rs b/substrate/frame/revive/uapi/src/host/riscv64.rs index 2e87404a7b558..54da984b55d2b 100644 --- a/substrate/frame/revive/uapi/src/host/riscv64.rs +++ b/substrate/frame/revive/uapi/src/host/riscv64.rs @@ -18,7 +18,6 @@ use crate::{ host::{CallFlags, HostFn, HostFnImpl, Result, StorageFlags}, pack_hi_lo, ReturnFlags, }; -use pallet_revive_proc_macro::unstable_hostfn; mod sys { use crate::ReturnCode; @@ -126,14 +125,6 @@ mod sys { pub fn block_hash(block_number_ptr: *const u8, out_ptr: *mut u8); pub fn block_author(out_ptr: *mut u8); pub fn hash_keccak_256(input_ptr: *const u8, input_len: u32, out_ptr: *mut u8); - pub fn sr25519_verify( - signature_ptr: *const u8, - pub_key_ptr: *const u8, - message_len: u32, - message_ptr: *const u8, - ) -> ReturnCode; - pub fn set_code_hash(code_hash_ptr: *const u8); - pub fn ecdsa_to_eth_address(key_ptr: *const u8, out_ptr: *mut u8) -> ReturnCode; pub fn instantiation_nonce() -> u64; pub fn return_data_size() -> u64; pub fn return_data_copy(out_ptr: *mut u8, out_len_ptr: *mut u32, offset: u32); @@ -508,31 +499,6 @@ impl HostFn for HostFnImpl { unreachable!("consume_all_gas does not return"); } - #[unstable_hostfn] - fn ecdsa_to_eth_address(pubkey: &[u8; 33], output: &mut [u8; 20]) -> Result { - let ret_code = unsafe { sys::ecdsa_to_eth_address(pubkey.as_ptr(), output.as_mut_ptr()) }; - ret_code.into() - } - - #[unstable_hostfn] - fn set_code_hash(code_hash: &[u8; 32]) { - unsafe { sys::set_code_hash(code_hash.as_ptr()) } - } - - #[unstable_hostfn] - fn sr25519_verify(signature: &[u8; 64], message: &[u8], pub_key: &[u8; 32]) -> Result { - let ret_code = unsafe { - sys::sr25519_verify( - signature.as_ptr(), - pub_key.as_ptr(), - message.len() as u32, - message.as_ptr(), - ) - }; - ret_code.into() - } - - #[unstable_hostfn] fn terminate(beneficiary: &[u8; 20]) -> ! { unsafe { sys::terminate(beneficiary.as_ptr()) } panic!("terminate does not return"); diff --git a/substrate/frame/revive/uapi/src/lib.rs b/substrate/frame/revive/uapi/src/lib.rs index 5e3cb0ec5e705..6537f3f0b675c 100644 --- a/substrate/frame/revive/uapi/src/lib.rs +++ b/substrate/frame/revive/uapi/src/lib.rs @@ -55,7 +55,7 @@ macro_rules! define_error_codes { )* ) => { /// Every error that can be returned to a contract when it calls any of the host functions. - #[derive(Debug, PartialEq, Eq)] + #[derive(Debug, PartialEq, Eq, Copy, Clone)] #[repr(u32)] pub enum ReturnErrorCode { /// API call successful. diff --git a/substrate/frame/revive/ui-tests/Cargo.toml b/substrate/frame/revive/ui-tests/Cargo.toml new file mode 100644 index 0000000000000..77fb1c6166e61 --- /dev/null +++ b/substrate/frame/revive/ui-tests/Cargo.toml @@ -0,0 +1,35 @@ +[package] +name = "pallet-revive-ui-tests" +version = "0.1.0" +publish = false +license = "Apache-2.0" +authors.workspace = true +homepage.workspace = true +repository.workspace = true +edition.workspace = true +description = "UI tests for pallet-revive." + +[dependencies] +alloy-core = { workspace = true, features = ["rlp", "sol-types"] } +codec = { workspace = true } +frame-support = { workspace = true } +frame-system = { workspace = true } +pallet-balances = { workspace = true } +pallet-revive = { workspace = true } +scale-info = { workspace = true } + +[dev-dependencies] +pallet-revive = { workspace = true, features = ["trybuild"] } +trybuild = { workspace = true } + +[features] +default = ["std"] +std = [ + "alloy-core/std", + "codec/std", + "frame-support/std", + "frame-system/std", + "pallet-balances/std", + "pallet-revive/std", + "scale-info/std", +] diff --git a/substrate/frame/revive/fixtures/contracts/set_code_hash.rs b/substrate/frame/revive/ui-tests/src/lib.rs similarity index 57% rename from substrate/frame/revive/fixtures/contracts/set_code_hash.rs rename to substrate/frame/revive/ui-tests/src/lib.rs index cd9a3665f03c2..25644710ddedd 100644 --- a/substrate/frame/revive/fixtures/contracts/set_code_hash.rs +++ b/substrate/frame/revive/ui-tests/src/lib.rs @@ -15,23 +15,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -#![no_std] -#![no_main] -include!("../panic_handler.rs"); +pub mod runtime; -use uapi::{input, HostFn, HostFnImpl as api}; - -#[no_mangle] -#[polkavm_derive::polkavm_export] -pub extern "C" fn deploy() {} - -#[no_mangle] -#[polkavm_derive::polkavm_export] -pub extern "C" fn call() { - input!(addr: &[u8; 32],); - api::set_code_hash(addr); - - // we return 1 after setting new code_hash - // next `call` will NOT return this value, because contract code has been changed - api::return_value(uapi::ReturnFlags::empty(), &1u32.to_le_bytes()); +#[test] +fn precompile_ui() { + // NB: Tests like this compare compiler output to a reference output. This is compiler + // dependent. If your local compiler version is different from the one used to generate the + // reference output, the test may fail even if the code is correct. + let t = trybuild::TestCases::new(); + let path = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("src/ui/precompiles_ui.rs"); + t.compile_fail(path.to_str().unwrap()); } diff --git a/substrate/frame/revive/ui-tests/src/runtime.rs b/substrate/frame/revive/ui-tests/src/runtime.rs new file mode 100644 index 0000000000000..44425342fb5c7 --- /dev/null +++ b/substrate/frame/revive/ui-tests/src/runtime.rs @@ -0,0 +1,69 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#![cfg_attr(not(feature = "std"), no_std)] + +extern crate alloc; +use alloc::vec::Vec; +use frame_support::derive_impl; + +type Block = frame_system::mocking::MockBlock; + +#[frame_support::runtime] +mod runtime { + #[runtime::runtime] + #[runtime::derive( + RuntimeCall, + RuntimeEvent, + RuntimeError, + RuntimeOrigin, + RuntimeTask, + RuntimeHoldReason, + RuntimeFreezeReason + )] + pub struct Runtime; + + /// Mandatory system pallet that should always be included in a FRAME runtime. + #[runtime::pallet_index(0)] + pub type System = frame_system::Pallet; + + /// Provides the ability to keep track of balances. + #[runtime::pallet_index(1)] + pub type Balances = pallet_balances::Pallet; + + /// Provides the ability to execute Smart Contracts. + #[runtime::pallet_index(2)] + pub type Revive = pallet_revive::Pallet; +} + +#[derive_impl(frame_system::config_preludes::TestDefaultConfig)] +impl frame_system::Config for Runtime { + type Block = Block; + type AccountData = pallet_balances::AccountData; +} + +#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)] +impl pallet_balances::Config for Runtime { + type AccountStore = System; +} + +#[derive_impl(pallet_revive::config_preludes::TestDefaultConfig)] +impl pallet_revive::Config for Runtime { + type AddressMapper = pallet_revive::TestAccountMapper; + type Balance = u64; + type Currency = Balances; +} diff --git a/substrate/frame/revive/ui-tests/src/ui/precompiles_ui.rs b/substrate/frame/revive/ui-tests/src/ui/precompiles_ui.rs new file mode 100644 index 0000000000000..de89f54126751 --- /dev/null +++ b/substrate/frame/revive/ui-tests/src/ui/precompiles_ui.rs @@ -0,0 +1,66 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use alloy_core::sol; +use core::num::NonZeroU16; +use pallet_revive::{ + precompiles::{AddressMatcher, Precompile}, + Config, +}; + +use core::marker::PhantomData; +use pallet_revive_ui_tests::runtime::Runtime; + +sol! { + interface IPrecompileA { + function callA() external; + } +} + +pub struct PrecompileA(PhantomData); + +impl Precompile for PrecompileA { + type T = T; + type Interface = IPrecompileA::IPrecompileACalls; + const MATCHER: AddressMatcher = AddressMatcher::Fixed(NonZeroU16::new(0x666).unwrap()); + const HAS_CONTRACT_INFO: bool = false; +} + +sol! { + interface IPrecompileB { + function callB() external; + } +} + +pub struct PrecompileB(PhantomData); + +impl Precompile for PrecompileB { + type T = T; + type Interface = IPrecompileB::IPrecompileBCalls; + const MATCHER: AddressMatcher = AddressMatcher::Fixed(NonZeroU16::new(0x666).unwrap()); + const HAS_CONTRACT_INFO: bool = false; +} + +const _: (PrecompileA, PrecompileB) = + (PrecompileA(PhantomData::), PrecompileB(PhantomData::)); + +const _: () = pallet_revive::precompiles::check_collision_for::< + Runtime, + (PrecompileA, PrecompileB), +>(); + +fn main() {} diff --git a/substrate/frame/revive/ui-tests/src/ui/precompiles_ui.stderr b/substrate/frame/revive/ui-tests/src/ui/precompiles_ui.stderr new file mode 100644 index 0000000000000..c6e4fbf3caf95 --- /dev/null +++ b/substrate/frame/revive/ui-tests/src/ui/precompiles_ui.stderr @@ -0,0 +1,11 @@ +error[E0080]: evaluation of `<(PrecompileA, PrecompileB) as pallet_revive::precompiles::Precompiles>::CHECK_COLLISION` failed + --> $WORKSPACE/substrate/frame/revive/src/precompiles.rs + | + | panic!("Precompiles with duplicate matcher detected") + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: Precompiles with duplicate matcher detected + +note: erroneous constant encountered + --> $WORKSPACE/substrate/frame/revive/src/precompiles.rs + | + | let _ = >::CHECK_COLLISION; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/substrate/frame/safe-mode/src/benchmarking.rs b/substrate/frame/safe-mode/src/benchmarking.rs index cc0b55e6f378d..dfca4c6017a65 100644 --- a/substrate/frame/safe-mode/src/benchmarking.rs +++ b/substrate/frame/safe-mode/src/benchmarking.rs @@ -7,7 +7,7 @@ // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // -// http://www.apache.org/licenses/LICENSE-2.0 +// http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, diff --git a/substrate/frame/safe-mode/src/lib.rs b/substrate/frame/safe-mode/src/lib.rs index ac160ec1b500d..45faff37c5675 100644 --- a/substrate/frame/safe-mode/src/lib.rs +++ b/substrate/frame/safe-mode/src/lib.rs @@ -52,13 +52,10 @@ //! //! Entering safe mode with deposit: #![doc = docify::embed!("src/tests.rs", can_activate)] -//! //! Entering safe mode via privileged origin: #![doc = docify::embed!("src/tests.rs", can_force_activate_with_config_origin)] -//! //! Exiting safe mode via privileged origin: #![doc = docify::embed!("src/tests.rs", can_force_deactivate_with_config_origin)] -//! //! ## Low Level / Implementation Details //! //! ### Use Cost @@ -451,7 +448,7 @@ pub mod pallet { /// [`EnteredUntil`]. fn on_initialize(current: BlockNumberFor) -> Weight { let Some(limit) = EnteredUntil::::get() else { - return T::WeightInfo::on_initialize_noop() + return T::WeightInfo::on_initialize_noop(); }; if current > limit { @@ -566,7 +563,7 @@ impl Pallet { fn hold(who: T::AccountId, amount: BalanceOf) -> Result<(), Error> { let block = >::block_number(); if !T::Currency::balance_on_hold(&HoldReason::EnterOrExtend.into(), &who).is_zero() { - return Err(Error::::AlreadyDeposited.into()) + return Err(Error::::AlreadyDeposited.into()); } T::Currency::hold(&HoldReason::EnterOrExtend.into(), &who, amount) @@ -590,7 +587,7 @@ impl Pallet { let CallMetadata { pallet_name, .. } = call.get_call_metadata(); // SAFETY: The `SafeMode` pallet is always allowed. if pallet_name == as PalletInfoAccess>::name() { - return true + return true; } if Self::is_entered() { diff --git a/substrate/frame/sassafras/src/benchmarking.rs b/substrate/frame/sassafras/src/benchmarking.rs index 2b2467c6f84dd..be1c819e97ef9 100644 --- a/substrate/frame/sassafras/src/benchmarking.rs +++ b/substrate/frame/sassafras/src/benchmarking.rs @@ -150,7 +150,7 @@ mod benchmarks { #[block] { Pallet::::should_end_epoch(BlockNumberFor::::from(3u32)); - let next_authorities = Pallet::::next_authorities(); + let next_authorities = NextAuthorities::::get(); // Using a different set of authorities triggers the recomputation of ring verifier. Pallet::::enact_epoch_change(Default::default(), next_authorities); } diff --git a/substrate/frame/sassafras/src/lib.rs b/substrate/frame/sassafras/src/lib.rs index 94a8125112ea3..f54387b2a8b6e 100644 --- a/substrate/frame/sassafras/src/lib.rs +++ b/substrate/frame/sassafras/src/lib.rs @@ -156,17 +156,14 @@ pub mod pallet { /// Current epoch index. #[pallet::storage] - #[pallet::getter(fn epoch_index)] pub type EpochIndex = StorageValue<_, u64, ValueQuery>; /// Current epoch authorities. #[pallet::storage] - #[pallet::getter(fn authorities)] pub type Authorities = StorageValue<_, AuthoritiesVec, ValueQuery>; /// Next epoch authorities. #[pallet::storage] - #[pallet::getter(fn next_authorities)] pub type NextAuthorities = StorageValue<_, AuthoritiesVec, ValueQuery>; /// First block slot number. @@ -174,29 +171,24 @@ pub mod pallet { /// As the slots may not be zero-based, we record the slot value for the fist block. /// This allows to always compute relative indices for epochs and slots. #[pallet::storage] - #[pallet::getter(fn genesis_slot)] pub type GenesisSlot = StorageValue<_, Slot, ValueQuery>; /// Current block slot number. #[pallet::storage] - #[pallet::getter(fn current_slot)] pub type CurrentSlot = StorageValue<_, Slot, ValueQuery>; /// Current epoch randomness. #[pallet::storage] - #[pallet::getter(fn randomness)] pub type CurrentRandomness = StorageValue<_, Randomness, ValueQuery>; /// Next epoch randomness. #[pallet::storage] - #[pallet::getter(fn next_randomness)] pub type NextRandomness = StorageValue<_, Randomness, ValueQuery>; /// Randomness accumulator. /// /// Excluded the first imported block, its value is updated on block finalization. #[pallet::storage] - #[pallet::getter(fn randomness_accumulator)] pub(crate) type RandomnessAccumulator = StorageValue<_, Randomness, ValueQuery>; /// Per slot randomness used to feed the randomness accumulator. @@ -207,12 +199,10 @@ pub mod pallet { /// The configuration for the current epoch. #[pallet::storage] - #[pallet::getter(fn config)] pub type EpochConfig = StorageValue<_, EpochConfiguration, ValueQuery>; /// The configuration for the next epoch. #[pallet::storage] - #[pallet::getter(fn next_config)] pub type NextEpochConfig = StorageValue<_, EpochConfiguration>; /// Pending epoch configuration change that will be set as `NextEpochConfig` when the next @@ -270,7 +260,6 @@ pub mod pallet { /// /// In practice: Updatable Universal Reference String and the seed. #[pallet::storage] - #[pallet::getter(fn ring_context)] pub type RingContext = StorageValue<_, vrf::RingContext>; /// Ring verifier data for the current epoch. @@ -382,20 +371,21 @@ pub mod pallet { let current_slot_idx = Self::current_slot_index(); if current_slot_idx > epoch_length / 2 { warn!(target: LOG_TARGET, "Tickets shall be submitted in the first epoch half",); - return Err("Tickets shall be submitted in the first epoch half".into()) + return Err("Tickets shall be submitted in the first epoch half".into()); } let Some(verifier) = RingVerifierData::::get().map(|vk| vrf::RingContext::verifier_no_context(vk)) else { warn!(target: LOG_TARGET, "Ring verifier key not initialized"); - return Err("Ring verifier key not initialized".into()) + return Err("Ring verifier key not initialized".into()); }; - let next_authorities = Self::next_authorities(); + let next_authorities = NextAuthorities::::get(); // Compute tickets threshold - let next_config = Self::next_config().unwrap_or_else(|| Self::config()); + let next_config = + NextEpochConfig::::get().unwrap_or_else(|| EpochConfig::::get()); let ticket_threshold = sp_consensus_sassafras::ticket_id_threshold( next_config.redundancy_factor, epoch_length as u32, @@ -416,13 +406,13 @@ pub mod pallet { let ticket_id = vrf::make_ticket_id(&ticket.signature.pre_output); if ticket_id >= ticket_threshold { debug!(target: LOG_TARGET, "Ignoring ticket over threshold ({:032x} >= {:032x})", ticket_id, ticket_threshold); - continue + continue; } // Check for duplicates if TicketsData::::contains_key(ticket_id) { debug!(target: LOG_TARGET, "Ignoring duplicate ticket ({:032x})", ticket_id); - continue + continue; } // Check ring signature @@ -431,7 +421,7 @@ pub mod pallet { let sign_data = vrf::ticket_body_sign_data(&ticket.body, ticket_id_input); if !ticket.signature.ring_vrf_verify(&sign_data, &verifier) { debug!(target: LOG_TARGET, "Proof verification failure for ticket ({:032x})", ticket_id); - continue + continue; } if let Ok(_) = valid_tickets.try_push(ticket_id).defensive_proof( @@ -479,7 +469,7 @@ pub mod pallet { fn validate_unsigned(source: TransactionSource, call: &Self::Call) -> TransactionValidity { let Call::submit_tickets { tickets } = call else { - return InvalidTransaction::Call.into() + return InvalidTransaction::Call.into(); }; // Discard tickets not coming from the local node or that are not included in a block @@ -488,7 +478,7 @@ pub mod pallet { target: LOG_TARGET, "Rejecting unsigned `submit_tickets` transaction from external source", ); - return InvalidTransaction::BadSigner.into() + return InvalidTransaction::BadSigner.into(); } // Current slot should be less than half of epoch length. @@ -496,7 +486,7 @@ pub mod pallet { let current_slot_idx = Self::current_slot_index(); if current_slot_idx > epoch_length / 2 { warn!(target: LOG_TARGET, "Tickets shall be proposed in the first epoch half",); - return InvalidTransaction::Stale.into() + return InvalidTransaction::Stale.into(); } // This should be set such that it is discarded after the first epoch half @@ -562,7 +552,7 @@ impl Pallet { debug!(target: LOG_TARGET, "Loading ring context"); let Some(ring_ctx) = RingContext::::get() else { debug!(target: LOG_TARGET, "Ring context not initialized"); - return + return; }; let pks: Vec<_> = authorities.iter().map(|auth| *auth.as_ref()).collect(); @@ -714,7 +704,7 @@ impl Pallet { if !prev_authorities.is_empty() { // This function has already been called. if prev_authorities.as_slice() == authorities { - return + return; } else { panic!("Authorities were already initialized"); } @@ -746,7 +736,7 @@ impl Pallet { // Deposit a log as this is the first block in first epoch. let next_epoch = NextEpochDescriptor { randomness: next_randomness, - authorities: Self::next_authorities().into_inner(), + authorities: NextAuthorities::::get().into_inner(), config: None, }; Self::deposit_next_epoch_descriptor_digest(next_epoch); @@ -759,9 +749,9 @@ impl Pallet { index, start: Self::epoch_start(index), length: T::EpochLength::get(), - authorities: Self::authorities().into_inner(), - randomness: Self::randomness(), - config: Self::config(), + authorities: Authorities::::get().into_inner(), + randomness: CurrentRandomness::::get(), + config: EpochConfig::::get(), } } @@ -772,9 +762,9 @@ impl Pallet { index, start: Self::epoch_start(index), length: T::EpochLength::get(), - authorities: Self::next_authorities().into_inner(), - randomness: Self::next_randomness(), - config: Self::next_config().unwrap_or_else(|| Self::config()), + authorities: NextAuthorities::::get().into_inner(), + randomness: NextRandomness::::get(), + config: NextEpochConfig::::get().unwrap_or_else(|| EpochConfig::::get()), } } @@ -804,7 +794,7 @@ impl Pallet { /// Before importing the first block this returns `None`. pub fn slot_ticket_id(slot: Slot) -> Option { if frame_system::Pallet::::block_number().is_zero() { - return None + return None; } let epoch_idx = EpochIndex::::get(); let epoch_len = T::EpochLength::get(); @@ -838,7 +828,7 @@ impl Pallet { TicketsMeta::::set(metadata); } } else if slot_idx >= 2 * epoch_len { - return None + return None; } let ticket_idx = get_ticket_idx(slot_idx); @@ -1015,6 +1005,61 @@ impl Pallet { pub fn epoch_length() -> u32 { T::EpochLength::get() } + + /// Get current epoch index. + pub fn epoch_index() -> u64 { + EpochIndex::::get() + } + + /// Get current epoch authorities. + pub fn authorities() -> Vec { + Authorities::::get().into_inner() + } + + /// Get next epoch authorities. + pub fn next_authorities() -> Vec { + NextAuthorities::::get().into_inner() + } + + /// Get genesis slot. + pub fn genesis_slot() -> Slot { + GenesisSlot::::get() + } + + /// Get current slot. + pub fn current_slot() -> Slot { + CurrentSlot::::get() + } + + /// Get current epoch randomness. + pub fn randomness() -> Randomness { + CurrentRandomness::::get() + } + + /// Get next epoch randomness. + pub fn next_randomness() -> Randomness { + NextRandomness::::get() + } + + /// Get randomness accumulator. + pub fn randomness_accumulator() -> Randomness { + RandomnessAccumulator::::get() + } + + /// Get current epoch configuration. + pub fn config() -> EpochConfiguration { + EpochConfig::::get() + } + + /// Get next epoch configuration. + pub fn next_config() -> Option { + NextEpochConfig::::get() + } + + /// Get ring context. + pub fn ring_context() -> Option { + RingContext::::get() + } } /// Trigger an epoch change, if any should take place. @@ -1049,7 +1094,7 @@ pub struct EpochChangeInternalTrigger; impl EpochChangeTrigger for EpochChangeInternalTrigger { fn trigger(block_num: BlockNumberFor) -> Weight { if Pallet::::should_end_epoch(block_num) { - let authorities = Pallet::::next_authorities(); + let authorities = NextAuthorities::::get(); let next_authorities = authorities.clone(); let len = next_authorities.len() as u32; Pallet::::enact_epoch_change(authorities, next_authorities); diff --git a/substrate/frame/sassafras/src/mock.rs b/substrate/frame/sassafras/src/mock.rs index db20f3a5bd243..88a6b64100d23 100644 --- a/substrate/frame/sassafras/src/mock.rs +++ b/substrate/frame/sassafras/src/mock.rs @@ -135,8 +135,8 @@ fn make_ticket_with_prover( log::debug!("attempt: {}", attempt); // Values are referring to the next epoch - let epoch = Sassafras::epoch_index() + 1; - let randomness = Sassafras::next_randomness(); + let epoch = EpochIndex::::get() + 1; + let randomness = NextRandomness::::get(); // Make a dummy ephemeral public that hopefully is unique within one test instance. // In the tests, the values within the erased public are just used to compare @@ -162,9 +162,9 @@ pub fn make_prover(pair: &AuthorityPair) -> RingProver { let public = pair.public(); let mut prover_idx = None; - let ring_ctx = Sassafras::ring_context().unwrap(); + let ring_ctx = RingContext::::get().unwrap(); - let pks: Vec = Sassafras::authorities() + let pks: Vec = Authorities::::get() .iter() .enumerate() .map(|(idx, auth)| { @@ -195,8 +195,8 @@ pub fn make_tickets(attempts: u32, pair: &AuthorityPair) -> Vec pub fn make_ticket_body(attempt_idx: u32, pair: &AuthorityPair) -> (TicketId, TicketBody) { // Values are referring to the next epoch - let epoch = Sassafras::epoch_index() + 1; - let randomness = Sassafras::next_randomness(); + let epoch = EpochIndex::::get() + 1; + let randomness = NextRandomness::::get(); let ticket_id_input = vrf::ticket_id_input(&randomness, attempt_idx, epoch); let ticket_id_pre_output = pair.as_inner_ref().vrf_pre_output(&ticket_id_input); @@ -275,8 +275,8 @@ pub fn persist_next_epoch_tickets(tickets: &[(TicketId, TicketBody)]) { } fn slot_claim_vrf_signature(slot: Slot, pair: &AuthorityPair) -> VrfSignature { - let mut epoch = Sassafras::epoch_index(); - let mut randomness = Sassafras::randomness(); + let mut epoch = EpochIndex::::get(); + let mut randomness = CurrentRandomness::::get(); // Check if epoch is going to change on initialization. let epoch_start = Sassafras::current_epoch_start(); @@ -341,7 +341,7 @@ pub fn go_to_block(number: u64, slot: Slot, pair: &AuthorityPair) -> Digest { /// Progress the pallet state up to the given block `number`. /// Slots will grow linearly accordingly to blocks. pub fn progress_to_block(number: u64, pair: &AuthorityPair) -> Option { - let mut slot = Sassafras::current_slot() + 1; + let mut slot = CurrentSlot::::get() + 1; let mut digest = None; for i in System::block_number() + 1..=number { let dig = go_to_block(i, slot, pair); diff --git a/substrate/frame/sassafras/src/tests.rs b/substrate/frame/sassafras/src/tests.rs index 7236deeaa6518..2b8bfafa81d44 100644 --- a/substrate/frame/sassafras/src/tests.rs +++ b/substrate/frame/sassafras/src/tests.rs @@ -33,8 +33,8 @@ fn b2h(bytes: [u8; N]) -> String { #[test] fn genesis_values_assumptions_check() { new_test_ext(3).execute_with(|| { - assert_eq!(Sassafras::authorities().len(), 3); - assert_eq!(Sassafras::config(), TEST_EPOCH_CONFIGURATION); + assert_eq!(Authorities::::get().len(), 3); + assert_eq!(EpochConfig::::get(), TEST_EPOCH_CONFIGURATION); }); } @@ -44,22 +44,22 @@ fn post_genesis_randomness_initialization() { let pair = &pairs[0]; ext.execute_with(|| { - assert_eq!(Sassafras::randomness(), [0; 32]); - assert_eq!(Sassafras::next_randomness(), [0; 32]); - assert_eq!(Sassafras::randomness_accumulator(), [0; 32]); + assert_eq!(CurrentRandomness::::get(), [0; 32]); + assert_eq!(NextRandomness::::get(), [0; 32]); + assert_eq!(RandomnessAccumulator::::get(), [0; 32]); // Test the values with a zero genesis block hash let _ = initialize_block(1, 123.into(), [0x00; 32].into(), pair); - assert_eq!(Sassafras::randomness(), [0; 32]); - println!("[DEBUG] {}", b2h(Sassafras::next_randomness())); + assert_eq!(CurrentRandomness::::get(), [0; 32]); + println!("[DEBUG] {}", b2h(NextRandomness::::get())); assert_eq!( - Sassafras::next_randomness(), + NextRandomness::::get(), h2b("b9497550deeeb4adc134555930de61968a0558f8947041eb515b2f5fa68ffaf7") ); - println!("[DEBUG] {}", b2h(Sassafras::randomness_accumulator())); + println!("[DEBUG] {}", b2h(RandomnessAccumulator::::get())); assert_eq!( - Sassafras::randomness_accumulator(), + RandomnessAccumulator::::get(), h2b("febcc7fe9539fe17ed29f525831394edfb30b301755dc9bd91584a1f065faf87") ); let (id1, _) = make_ticket_bodies(1, Some(pair))[0]; @@ -72,15 +72,15 @@ fn post_genesis_randomness_initialization() { // Test the values with a non-zero genesis block hash let _ = initialize_block(1, 123.into(), [0xff; 32].into(), pair); - assert_eq!(Sassafras::randomness(), [0; 32]); - println!("[DEBUG] {}", b2h(Sassafras::next_randomness())); + assert_eq!(CurrentRandomness::::get(), [0; 32]); + println!("[DEBUG] {}", b2h(NextRandomness::::get())); assert_eq!( - Sassafras::next_randomness(), + NextRandomness::::get(), h2b("51c1e3b3a73d2043b3cabae98ff27bdd4aad8967c21ecda7b9465afaa0e70f37") ); - println!("[DEBUG] {}", b2h(Sassafras::randomness_accumulator())); + println!("[DEBUG] {}", b2h(RandomnessAccumulator::::get())); assert_eq!( - Sassafras::randomness_accumulator(), + RandomnessAccumulator::::get(), h2b("466bf3007f2e17bffee0b3c42c90f33d654f5ff61eff28b0cc650825960abd52") ); let (id2, _) = make_ticket_bodies(1, Some(pair))[0]; @@ -96,14 +96,14 @@ fn post_genesis_randomness_initialization() { // Test the values with a non-zero genesis block hash let _ = initialize_block(1, 321.into(), [0x00; 32].into(), pair); - println!("[DEBUG] {}", b2h(Sassafras::next_randomness())); + println!("[DEBUG] {}", b2h(NextRandomness::::get())); assert_eq!( - Sassafras::next_randomness(), + NextRandomness::::get(), h2b("d85d84a54f79453000eb62e8a17b30149bd728d3232bc2787a89d51dc9a36008") ); - println!("[DEBUG] {}", b2h(Sassafras::randomness_accumulator())); + println!("[DEBUG] {}", b2h(RandomnessAccumulator::::get())); assert_eq!( - Sassafras::randomness_accumulator(), + RandomnessAccumulator::::get(), h2b("8a035eed02b5b8642b1515ed19752df8df156627aea45c4ef6e3efa88be9a74d") ); let (id2, _) = make_ticket_bodies(1, Some(pair))[0]; @@ -248,15 +248,15 @@ fn on_first_block_after_genesis() { let digest = initialize_block(start_block, start_slot, Default::default(), &pairs[0]); let common_assertions = || { - assert_eq!(Sassafras::genesis_slot(), start_slot); - assert_eq!(Sassafras::current_slot(), start_slot); - assert_eq!(Sassafras::epoch_index(), 0); + assert_eq!(GenesisSlot::::get(), start_slot); + assert_eq!(CurrentSlot::::get(), start_slot); + assert_eq!(EpochIndex::::get(), 0); assert_eq!(Sassafras::current_epoch_start(), start_slot); assert_eq!(Sassafras::current_slot_index(), 0); - assert_eq!(Sassafras::randomness(), [0; 32]); - println!("[DEBUG] {}", b2h(Sassafras::next_randomness())); + assert_eq!(CurrentRandomness::::get(), [0; 32]); + println!("[DEBUG] {}", b2h(NextRandomness::::get())); assert_eq!( - Sassafras::next_randomness(), + NextRandomness::::get(), h2b("a49592ef190b96f3eb87bde4c8355e33df28c75006156e8c81998158de2ed49e") ); }; @@ -265,9 +265,9 @@ fn on_first_block_after_genesis() { assert!(SlotRandomness::::exists()); common_assertions(); - println!("[DEBUG] {}", b2h(Sassafras::randomness_accumulator())); + println!("[DEBUG] {}", b2h(RandomnessAccumulator::::get())); assert_eq!( - Sassafras::randomness_accumulator(), + RandomnessAccumulator::::get(), h2b("f0d42f6b7c0d157ecbd788be44847b80a96c290c04b5dfa5d1d40c98aa0c04ed") ); @@ -278,7 +278,7 @@ fn on_first_block_after_genesis() { assert!(!SlotRandomness::::exists()); common_assertions(); assert_eq!( - Sassafras::randomness_accumulator(), + RandomnessAccumulator::::get(), h2b("95a508cf10f877cf0457af3503a6cb3192763d5c15a7b9a58e40dc543efae889"), ); @@ -290,8 +290,8 @@ fn on_first_block_after_genesis() { // Genesis epoch start deposits consensus let consensus_log = sp_consensus_sassafras::digests::ConsensusLog::NextEpochData( sp_consensus_sassafras::digests::NextEpochDescriptor { - authorities: Sassafras::next_authorities().into_inner(), - randomness: Sassafras::next_randomness(), + authorities: NextAuthorities::::get().into_inner(), + randomness: NextRandomness::::get(), config: None, }, ); @@ -318,15 +318,15 @@ fn on_normal_block() { let digest = progress_to_block(end_block, &pairs[0]).unwrap(); let common_assertions = || { - assert_eq!(Sassafras::genesis_slot(), start_slot); - assert_eq!(Sassafras::current_slot(), start_slot + 1); - assert_eq!(Sassafras::epoch_index(), 0); + assert_eq!(GenesisSlot::::get(), start_slot); + assert_eq!(CurrentSlot::::get(), start_slot + 1); + assert_eq!(EpochIndex::::get(), 0); assert_eq!(Sassafras::current_epoch_start(), start_slot); assert_eq!(Sassafras::current_slot_index(), 1); - assert_eq!(Sassafras::randomness(), [0; 32]); - println!("[DEBUG] {}", b2h(Sassafras::next_randomness())); + assert_eq!(CurrentRandomness::::get(), [0; 32]); + println!("[DEBUG] {}", b2h(NextRandomness::::get())); assert_eq!( - Sassafras::next_randomness(), + NextRandomness::::get(), h2b("a49592ef190b96f3eb87bde4c8355e33df28c75006156e8c81998158de2ed49e") ); }; @@ -335,9 +335,9 @@ fn on_normal_block() { assert!(SlotRandomness::::exists()); common_assertions(); - println!("[DEBUG] {}", b2h(Sassafras::randomness_accumulator())); + println!("[DEBUG] {}", b2h(RandomnessAccumulator::::get())); assert_eq!( - Sassafras::randomness_accumulator(), + RandomnessAccumulator::::get(), h2b("95a508cf10f877cf0457af3503a6cb3192763d5c15a7b9a58e40dc543efae889"), ); @@ -347,9 +347,9 @@ fn on_normal_block() { assert!(!SlotRandomness::::exists()); common_assertions(); - println!("[DEBUG] {}", b2h(Sassafras::randomness_accumulator())); + println!("[DEBUG] {}", b2h(RandomnessAccumulator::::get())); assert_eq!( - Sassafras::randomness_accumulator(), + RandomnessAccumulator::::get(), h2b("5465cb257ad20cd4b9400a9fc85af7b1e2e72b59debd8ca06580dfb76bfca394"), ); @@ -377,14 +377,14 @@ fn produce_epoch_change_digest_no_config() { let digest = progress_to_block(end_block, &pairs[0]).unwrap(); let common_assertions = || { - assert_eq!(Sassafras::genesis_slot(), start_slot); - assert_eq!(Sassafras::current_slot(), start_slot + epoch_length); - assert_eq!(Sassafras::epoch_index(), 1); + assert_eq!(GenesisSlot::::get(), start_slot); + assert_eq!(CurrentSlot::::get(), start_slot + epoch_length); + assert_eq!(EpochIndex::::get(), 1); assert_eq!(Sassafras::current_epoch_start(), start_slot + epoch_length); assert_eq!(Sassafras::current_slot_index(), 0); - println!("[DEBUG] {}", b2h(Sassafras::randomness())); + println!("[DEBUG] {}", b2h(CurrentRandomness::::get())); assert_eq!( - Sassafras::randomness(), + CurrentRandomness::::get(), h2b("a49592ef190b96f3eb87bde4c8355e33df28c75006156e8c81998158de2ed49e") ); }; @@ -393,14 +393,14 @@ fn produce_epoch_change_digest_no_config() { assert!(SlotRandomness::::exists()); common_assertions(); - println!("[DEBUG] {}", b2h(Sassafras::next_randomness())); + println!("[DEBUG] {}", b2h(NextRandomness::::get())); assert_eq!( - Sassafras::next_randomness(), + NextRandomness::::get(), h2b("c4d374ed47b71e1c29e57143db23861916ff2d0c59ead4c51070d42ff4af2830"), ); - println!("[DEBUG] {}", b2h(Sassafras::randomness_accumulator())); + println!("[DEBUG] {}", b2h(RandomnessAccumulator::::get())); assert_eq!( - Sassafras::randomness_accumulator(), + RandomnessAccumulator::::get(), h2b("c6d84d1f389853959c39271a38010f2f27abe6ff56cc419cf9e89eafcae1ab5e"), ); @@ -410,14 +410,14 @@ fn produce_epoch_change_digest_no_config() { assert!(!SlotRandomness::::exists()); common_assertions(); - println!("[DEBUG] {}", b2h(Sassafras::next_randomness())); + println!("[DEBUG] {}", b2h(NextRandomness::::get())); assert_eq!( - Sassafras::next_randomness(), + NextRandomness::::get(), h2b("c4d374ed47b71e1c29e57143db23861916ff2d0c59ead4c51070d42ff4af2830"), ); - println!("[DEBUG] {}", b2h(Sassafras::randomness_accumulator())); + println!("[DEBUG] {}", b2h(RandomnessAccumulator::::get())); assert_eq!( - Sassafras::randomness_accumulator(), + RandomnessAccumulator::::get(), h2b("6ca02b90e14ef11b3855069794da7e9d4007526b0588c426c3e3533b0b6ade7a"), ); @@ -428,8 +428,8 @@ fn produce_epoch_change_digest_no_config() { // Deposits consensus log on epoch change let consensus_log = sp_consensus_sassafras::digests::ConsensusLog::NextEpochData( sp_consensus_sassafras::digests::NextEpochDescriptor { - authorities: Sassafras::next_authorities().into_inner(), - randomness: Sassafras::next_randomness(), + authorities: NextAuthorities::::get().into_inner(), + randomness: NextRandomness::::get(), config: None, }, ); @@ -467,8 +467,8 @@ fn produce_epoch_change_digest_with_config() { // Deposits consensus log on epoch change let consensus_log = sp_consensus_sassafras::digests::ConsensusLog::NextEpochData( sp_consensus_sassafras::digests::NextEpochDescriptor { - authorities: Sassafras::next_authorities().into_inner(), - randomness: Sassafras::next_randomness(), + authorities: NextAuthorities::::get().into_inner(), + randomness: NextRandomness::::get(), config: Some(config), }, ); @@ -563,7 +563,7 @@ fn segments_incremental_sort_works() { // The next block will be the first produced on the new epoch. // At this point the tickets are found already sorted and ready to be used. - let slot = Sassafras::current_slot() + 1; + let slot = CurrentSlot::::get() + 1; let number = System::block_number() + 1; initialize_block(number, slot, header.hash(), pair); let header = finalize_block(number); @@ -610,7 +610,7 @@ fn tickets_fetch_works_after_epoch_change() { expected_ids.truncate(epoch_length as usize); // Check if we can fetch next epoch tickets ids (outside-in). - let slot = Sassafras::current_slot(); + let slot = CurrentSlot::::get(); assert_eq!(Sassafras::slot_ticket_id(slot + 1).unwrap(), expected_ids[1]); assert_eq!(Sassafras::slot_ticket_id(slot + 2).unwrap(), expected_ids[3]); assert_eq!(Sassafras::slot_ticket_id(slot + 3).unwrap(), expected_ids[5]); @@ -630,7 +630,7 @@ fn tickets_fetch_works_after_epoch_change() { assert_eq!(meta.tickets_count, [0, 10]); // Check if we can fetch current epoch tickets ids (outside-in). - let slot = Sassafras::current_slot(); + let slot = CurrentSlot::::get(); assert_eq!(Sassafras::slot_ticket_id(slot).unwrap(), expected_ids[1]); assert_eq!(Sassafras::slot_ticket_id(slot + 1).unwrap(), expected_ids[3]); assert_eq!(Sassafras::slot_ticket_id(slot + 2).unwrap(), expected_ids[5]); @@ -664,7 +664,7 @@ fn block_allowed_to_skip_epochs() { let tickets = make_ticket_bodies(3, Some(pair)); persist_next_epoch_tickets(&tickets); - let next_random = Sassafras::next_randomness(); + let next_random = NextRandomness::::get(); // We want to skip 3 epochs in this test. let offset = 4 * epoch_length; @@ -674,9 +674,9 @@ fn block_allowed_to_skip_epochs() { // Post-initialization status assert!(SlotRandomness::::exists()); - assert_eq!(Sassafras::genesis_slot(), start_slot); - assert_eq!(Sassafras::current_slot(), start_slot + offset); - assert_eq!(Sassafras::epoch_index(), 4); + assert_eq!(GenesisSlot::::get(), start_slot); + assert_eq!(CurrentSlot::::get(), start_slot + offset); + assert_eq!(EpochIndex::::get(), 4); assert_eq!(Sassafras::current_epoch_start(), start_slot + offset); assert_eq!(Sassafras::current_slot_index(), 0); @@ -686,7 +686,7 @@ fn block_allowed_to_skip_epochs() { assert_eq!(SortedCandidates::::get().len(), 0); // We used the last known next epoch randomness as a fallback - assert_eq!(next_random, Sassafras::randomness()); + assert_eq!(next_random, CurrentRandomness::::get()); }); } diff --git a/substrate/frame/scheduler/src/benchmarking.rs b/substrate/frame/scheduler/src/benchmarking.rs index c3787b861c283..d3ff5d509311c 100644 --- a/substrate/frame/scheduler/src/benchmarking.rs +++ b/substrate/frame/scheduler/src/benchmarking.rs @@ -104,11 +104,11 @@ fn make_call(maybe_lookup_len: Option) -> BoundedCallOf { Some(x) => x, None => { len -= 1; - continue + continue; }, }; if c.lookup_needed() == maybe_lookup_len.is_some() { - break c + break c; } if maybe_lookup_len.is_some() { len += 1; @@ -116,7 +116,7 @@ fn make_call(maybe_lookup_len: Option) -> BoundedCallOf { if len > 0 { len -= 1; } else { - break c + break c; } } } diff --git a/substrate/frame/scheduler/src/lib.rs b/substrate/frame/scheduler/src/lib.rs index 54c3ffc2d88a0..8ed8416a52b12 100644 --- a/substrate/frame/scheduler/src/lib.rs +++ b/substrate/frame/scheduler/src/lib.rs @@ -45,11 +45,9 @@ //! //! 1. Scheduling a runtime call at a specific block. #![doc = docify::embed!("src/tests.rs", basic_scheduling_works)] -//! //! 2. Scheduling a preimage hash of a runtime call at a specific block #![doc = docify::embed!("src/tests.rs", scheduling_with_preimages_works)] -//! //! ## Pallet API //! //! See the [`pallet`] module for more information about the interfaces this pallet exposes, @@ -871,7 +869,7 @@ impl Pallet { &h, &err ); - return None + return None; } weight.saturating_accrue(T::DbWeight::get().reads(1)); log::info!("Migrated call by hash, hash: {:?}", h); @@ -974,7 +972,7 @@ impl Pallet { }; if when <= now { - return Err(Error::::TargetBlockNumberInPast.into()) + return Err(Error::::TargetBlockNumberInPast.into()); } Ok(when) @@ -1008,7 +1006,7 @@ impl Pallet { agenda[hole_index] = Some(what); hole_index as u32 } else { - return Err((DispatchError::Exhausted, what)) + return Err((DispatchError::Exhausted, what)); } }; Agenda::::insert(when, agenda); @@ -1095,7 +1093,7 @@ impl Pallet { Self::deposit_event(Event::Canceled { when, index }); Ok(()) } else { - return Err(Error::::NotFound.into()) + return Err(Error::::NotFound.into()); } } @@ -1106,7 +1104,7 @@ impl Pallet { let new_time = Self::resolve_time(new_time)?; if new_time == when { - return Err(Error::::RescheduleNoChange.into()) + return Err(Error::::RescheduleNoChange.into()); } let task = Agenda::::try_mutate(when, |agenda| { @@ -1130,7 +1128,7 @@ impl Pallet { ) -> Result>, DispatchError> { // ensure id it is unique if Lookup::::contains_key(&id) { - return Err(Error::::FailedToSchedule.into()) + return Err(Error::::FailedToSchedule.into()); } let when = Self::resolve_time(when)?; @@ -1180,7 +1178,7 @@ impl Pallet { Self::deposit_event(Event::Canceled { when, index }); Ok(()) } else { - return Err(Error::::NotFound.into()) + return Err(Error::::NotFound.into()); } }) } @@ -1195,7 +1193,7 @@ impl Pallet { let (when, index) = lookup.ok_or(Error::::NotFound)?; if new_time == when { - return Err(Error::::RescheduleNoChange.into()) + return Err(Error::::RescheduleNoChange.into()); } let task = Agenda::::try_mutate(when, |agenda| { @@ -1234,7 +1232,7 @@ impl Pallet { /// Service up to `max` agendas queue starting from earliest incompletely executed agenda. fn service_agendas(weight: &mut WeightMeter, now: BlockNumberFor, max: u32) { if weight.try_consume(T::WeightInfo::service_agendas_base()).is_err() { - return + return; } let mut incomplete_since = now + One::one(); @@ -1303,7 +1301,7 @@ impl Pallet { if !weight.can_consume(base_weight) { postponed += 1; agenda[agenda_index as usize] = Some(task); - break + break; } let result = Self::service_task(weight, now, when, agenda_index, is_first, task); agenda[agenda_index as usize] = match result { @@ -1367,7 +1365,7 @@ impl Pallet { task.maybe_periodic.is_some(), )); - return Err((Unavailable, Some(task))) + return Err((Unavailable, Some(task))); }, }; @@ -1411,10 +1409,11 @@ impl Pallet { } let wake = now.saturating_add(period); match Self::place_task(wake, task) { - Ok(new_address) => + Ok(new_address) => { if let Some(retry_config) = maybe_retry_config { Retries::::insert(new_address, retry_config); - }, + } + }, Err((_, task)) => { // TODO: Leave task in storage somewhere for it to be rescheduled // manually. @@ -1455,14 +1454,15 @@ impl Pallet { let max_weight = base_weight.saturating_add(call_weight); if !weight.can_consume(max_weight) { - return Err(()) + return Err(()); } let dispatch_origin = origin.into(); let (maybe_actual_call_weight, result) = match call.dispatch(dispatch_origin) { Ok(post_info) => (post_info.actual_weight, Ok(())), - Err(error_and_info) => - (error_and_info.post_info.actual_weight, Err(error_and_info.error)), + Err(error_and_info) => { + (error_and_info.post_info.actual_weight, Err(error_and_info.error)) + }, }; let call_weight = maybe_actual_call_weight.unwrap_or(call_weight); let _ = weight.try_consume(base_weight); diff --git a/substrate/frame/scheduler/src/migration.rs b/substrate/frame/scheduler/src/migration.rs index f3d04f215ee0d..4bc2752c2c4c6 100644 --- a/substrate/frame/scheduler/src/migration.rs +++ b/substrate/frame/scheduler/src/migration.rs @@ -112,7 +112,7 @@ pub mod v3 { agenda.len(), max_scheduled_per_block, ); - return Err("Agenda would overflow `MaxScheduledPerBlock`.".into()) + return Err("Agenda would overflow `MaxScheduledPerBlock`.".into()); } } // Check that bounding the calls will not overflow `MAX_LENGTH`. @@ -129,7 +129,7 @@ pub mod v3 { block_number, l, ); - return Err("Call is too large.".into()) + return Err("Call is too large.".into()); } }, _ => (), @@ -149,7 +149,7 @@ pub mod v3 { Expected version 3, found {:?}", version, ); - return T::DbWeight::get().reads(1) + return T::DbWeight::get().reads(1); } crate::Pallet::::migrate_v3_to_v4() @@ -221,7 +221,7 @@ pub mod v4 { let version = StorageVersion::get::>(); if version != 4 { log::warn!(target: TARGET, "Skipping CleanupAgendas migration since it was run on the wrong version: {:?} != 4", version); - return T::DbWeight::get().reads(1) + return T::DbWeight::get().reads(1); } let keys = Agenda::::iter_keys().collect::>(); diff --git a/substrate/frame/scored-pool/src/lib.rs b/substrate/frame/scored-pool/src/lib.rs index 4abff121a8dd9..db22c3b1ce759 100644 --- a/substrate/frame/scored-pool/src/lib.rs +++ b/substrate/frame/scored-pool/src/lib.rs @@ -459,10 +459,12 @@ impl, I: 'static> Pallet { >::put(&new_members_bounded); match notify { - ChangeReceiver::MembershipInitialized => - T::MembershipInitialized::initialize_members(&new_members_bounded), - ChangeReceiver::MembershipChanged => - T::MembershipChanged::set_members_sorted(&new_members_bounded[..], &old_members[..]), + ChangeReceiver::MembershipInitialized => { + T::MembershipInitialized::initialize_members(&new_members_bounded) + }, + ChangeReceiver::MembershipChanged => { + T::MembershipChanged::set_members_sorted(&new_members_bounded[..], &old_members[..]) + }, } } diff --git a/substrate/frame/session/benchmarking/src/inner.rs b/substrate/frame/session/benchmarking/src/inner.rs index bcff238d4ea0a..5fc9d15022f55 100644 --- a/substrate/frame/session/benchmarking/src/inner.rs +++ b/substrate/frame/session/benchmarking/src/inner.rs @@ -18,10 +18,9 @@ //! Benchmarks for the Session Pallet. // This is separated into its own crate due to cyclic dependency issues. -use alloc::{vec, vec::Vec}; -use sp_runtime::traits::{One, StaticLookup, TrailingZeroInput}; +use alloc::vec::Vec; +use sp_runtime::traits::{One, StaticLookup}; -use codec::Decode; use frame_benchmarking::v2::*; use frame_support::{ assert_ok, @@ -37,9 +36,16 @@ use pallet_staking::{ const MAX_VALIDATORS: u32 = 1000; pub struct Pallet(pallet_session::Pallet); +/// Configuration trait for the benchmarking of `pallet-session`. pub trait Config: pallet_session::Config + pallet_session::historical::Config + pallet_staking::Config { + /// Generate a session key and a proof of ownership. + /// + /// The given `owner` is the account that will call `set_keys` using the returned session keys + /// and proof. This means that the proof should prove the ownership of `owner` over the private + /// keys associated to the session keys. + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec); } impl OnInitialize> for Pallet { @@ -64,8 +70,7 @@ mod benchmarks { )?; let v_controller = pallet_staking::Pallet::::bonded(&v_stash).ok_or("not stash")?; - let keys = T::Keys::decode(&mut TrailingZeroInput::zeroes()).unwrap(); - let proof: Vec = vec![0, 1, 2, 3]; + let (keys, proof) = T::generate_session_keys_and_proof(v_controller.clone()); // Whitelist controller account from further DB operations. let v_controller_key = frame_system::Account::::hashed_key_for(&v_controller); frame_benchmarking::benchmarking::add_to_whitelist(v_controller_key.into()); @@ -88,8 +93,7 @@ mod benchmarks { RewardDestination::Staked, )?; let v_controller = pallet_staking::Pallet::::bonded(&v_stash).ok_or("not stash")?; - let keys = T::Keys::decode(&mut TrailingZeroInput::zeroes()).unwrap(); - let proof: Vec = vec![0, 1, 2, 3]; + let (keys, proof) = T::generate_session_keys_and_proof(v_controller.clone()); assert_ok!(Session::::ensure_can_pay_key_deposit(&v_controller)); Session::::set_keys(RawOrigin::Signed(v_controller.clone()).into(), keys, proof)?; // Whitelist controller account from further DB operations. @@ -156,7 +160,7 @@ fn check_membership_proof_setup( let validator = T::Lookup::lookup(who).unwrap(); let controller = pallet_staking::Pallet::::bonded(&validator).unwrap(); - let keys = { + let _keys = { let mut keys = [0u8; 128]; // we keep the keys for the first validator as 0x00000... @@ -170,8 +174,7 @@ fn check_membership_proof_setup( // TODO: this benchmark is broken, session keys cannot be decoded into 128 bytes anymore, // but not an issue for CI since it is `extra`. - let keys: T::Keys = Decode::decode(&mut &keys[..]).unwrap(); - let proof: Vec = vec![]; + let (keys, proof) = T::generate_session_keys_and_proof(controller.clone()); Session::::set_keys(RawOrigin::Signed(controller).into(), keys, proof).unwrap(); } diff --git a/substrate/frame/session/benchmarking/src/mock.rs b/substrate/frame/session/benchmarking/src/mock.rs index 5910772e6d0fa..c1404f0270278 100644 --- a/substrate/frame/session/benchmarking/src/mock.rs +++ b/substrate/frame/session/benchmarking/src/mock.rs @@ -19,6 +19,7 @@ #![cfg(test)] +use codec::Encode; use frame_election_provider_support::{ bounds::{ElectionBounds, ElectionBoundsBuilder}, onchain, SequentialPhragmen, @@ -155,7 +156,13 @@ impl pallet_staking::Config for Test { type TargetList = pallet_staking::UseValidatorsMap; } -impl crate::Config for Test {} +impl crate::Config for Test { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + + (keys.keys, keys.proof.encode()) + } +} pub fn new_test_ext() -> sp_io::TestExternalities { let t = frame_system::GenesisConfig::::default().build_storage().unwrap(); diff --git a/substrate/frame/session/src/disabling.rs b/substrate/frame/session/src/disabling.rs index 0780f95ae4219..b8ac26c85f3c2 100644 --- a/substrate/frame/session/src/disabling.rs +++ b/substrate/frame/session/src/disabling.rs @@ -96,14 +96,14 @@ impl DisablingStrategy "Won't disable: reached disabling limit {:?}", Self::disable_limit(active_set.len()) ); - return DisablingDecision { disable: None, reenable: None } + return DisablingDecision { disable: None, reenable: None }; } let offender_idx = if let Some(idx) = active_set.iter().position(|i| i == offender_stash) { idx as u32 } else { log!(debug, "Won't disable: offender not in active set",); - return DisablingDecision { disable: None, reenable: None } + return DisablingDecision { disable: None, reenable: None }; }; log!(debug, "Will disable {:?}", offender_idx); @@ -149,7 +149,7 @@ impl DisablingStrategy idx as u32 } else { log!(debug, "Won't disable: offender not in active set",); - return DisablingDecision { disable: None, reenable: None } + return DisablingDecision { disable: None, reenable: None }; }; // Check if offender is already disabled @@ -185,15 +185,15 @@ impl DisablingStrategy return DisablingDecision { disable: Some(offender_idx), reenable: Some(*smallest_idx), - } + }; } else { log!(debug, "No smaller offender found to re-enable"); - return DisablingDecision { disable: None, reenable: None } + return DisablingDecision { disable: None, reenable: None }; } } else { // If we are not at the limit, just disable the new offender and dont re-enable anyone log!(debug, "Will disable {:?}", offender_idx); - return DisablingDecision { disable: Some(offender_idx), reenable: None } + return DisablingDecision { disable: Some(offender_idx), reenable: None }; } } } diff --git a/substrate/frame/session/src/historical/mod.rs b/substrate/frame/session/src/historical/mod.rs index 023c9e39e2ae4..0ab61885f7da9 100644 --- a/substrate/frame/session/src/historical/mod.rs +++ b/substrate/frame/session/src/historical/mod.rs @@ -122,7 +122,7 @@ impl Pallet { let up_to = core::cmp::min(up_to, end); if up_to < start { - return // out of bounds. harmless. + return; // out of bounds. harmless. } (start..up_to).for_each(HistoricalSessions::::remove); @@ -376,7 +376,7 @@ impl> KeyOwnerProofSystem<(KeyTypeId, D)> for Pallet SessionHandler for TestSessionHandler { fn on_disabled(_: u32) {} } +/// Interface to the session pallet for session management. +/// +/// This trait provides a complete interface for managing sessions from external contexts, +/// such as other pallets or runtime components. It combines session key management with +/// validator operations and historical session data pruning. +/// +/// Implemented by `Pallet` when `T: Config + historical::Config`. +pub trait SessionInterface { + /// The validator id type of the session pallet. + type ValidatorId: Clone; + + /// The account id type. + type AccountId; + + /// The session keys type. + type Keys: OpaqueKeys + codec::Decode; + + /// Get the current set of validators. + fn validators() -> Vec; + + /// Prune historical session data up to the given session index. + fn prune_up_to(index: SessionIndex); + + /// Report an offence for a validator. + /// + /// This is used to disable validators directly on the RC until the next validator set. + fn report_offence(offender: Self::ValidatorId, severity: OffenceSeverity); + + /// Set session keys for an account. + /// + /// This method is intended for privileged callers (e.g., other pallets receiving validated + /// requests via XCM). It bypasses deposit holds and consumer reference tracking, so the + /// account does not need to be "live" or have balance on this chain. + /// + /// This method does not validate ownership proof. Callers must verify that the keys belong to + /// the account before calling this method. + fn set_keys(account: &Self::AccountId, keys: Self::Keys) -> DispatchResult; + + /// Purge session keys for an account. + /// + /// This method is intended for privileged callers (e.g., other pallets receiving validated + /// requests via XCM). It bypasses deposit release and consumer reference decrement. + fn purge_keys(account: &Self::AccountId) -> DispatchResult; + + /// Weight for setting session keys. + fn set_keys_weight() -> Weight; + + /// Weight for purging session keys. + fn purge_keys_weight() -> Weight; +} + #[frame_support::pallet] pub mod pallet { use super::*; @@ -630,19 +681,24 @@ pub mod pallet { #[pallet::call] impl Pallet { /// Sets the session key(s) of the function caller to `keys`. + /// /// Allows an account to set its session key prior to becoming a validator. /// This doesn't take effect until the next session. /// - /// The dispatch origin of this function must be signed. - /// - /// ## Complexity - /// - `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is - /// fixed. + /// - `origin`: The dispatch origin of this function must be signed. + /// - `keys`: The new session keys to set. These are the public keys of all sessions keys + /// setup in the runtime. + /// - `proof`: The proof that `origin` has access to the private keys of `keys`. See + /// [`impl_opaque_keys`](sp_runtime::impl_opaque_keys) for more information about the + /// proof format. #[pallet::call_index(0)] #[pallet::weight(T::WeightInfo::set_keys())] pub fn set_keys(origin: OriginFor, keys: T::Keys, proof: Vec) -> DispatchResult { let who = ensure_signed(origin)?; - ensure!(keys.ownership_proof_is_valid(&proof), Error::::InvalidProof); + ensure!( + who.using_encoded(|who| keys.ownership_proof_is_valid(who, &proof)), + Error::::InvalidProof, + ); Self::do_set_keys(&who, keys)?; Ok(()) @@ -656,10 +712,6 @@ pub mod pallet { /// convertible to a validator ID using the chain's typical addressing system (this usually /// means being a controller account) or directly convertible into a validator ID (which /// usually means being a stash account). - /// - /// ## Complexity - /// - `O(1)` in number of key types. Actual cost depends on the number of length of - /// `T::Keys::key_ids()` which is fixed. #[pallet::call_index(1)] #[pallet::weight(T::WeightInfo::purge_keys())] pub fn purge_keys(origin: OriginFor) -> DispatchResult { @@ -910,7 +962,7 @@ impl Pallet { if let Some(old) = old_keys.as_ref().map(|k| k.get_raw(*id)) { if key == old { - continue + continue; } Self::clear_key_owner(*id, old); @@ -1123,6 +1175,52 @@ impl frame_support::traits::DisabledValidators for Pallet { } } +#[cfg(feature = "historical")] +impl SessionInterface for Pallet { + type ValidatorId = T::ValidatorId; + type AccountId = T::AccountId; + type Keys = T::Keys; + + fn validators() -> Vec { + Self::validators() + } + + fn prune_up_to(index: SessionIndex) { + historical::Pallet::::prune_up_to(index) + } + + fn report_offence(offender: Self::ValidatorId, severity: OffenceSeverity) { + Self::report_offence(offender, severity) + } + + fn set_keys(account: &Self::AccountId, keys: Self::Keys) -> DispatchResult { + let who = T::ValidatorIdOf::convert(account.clone()) + .ok_or(Error::::NoAssociatedValidatorId)?; + Self::inner_set_keys(&who, keys)?; + Ok(()) + } + + fn purge_keys(account: &Self::AccountId) -> DispatchResult { + let who = T::ValidatorIdOf::convert(account.clone()) + .ok_or(Error::::NoAssociatedValidatorId)?; + + let old_keys = Self::take_keys(&who).ok_or(Error::::NoKeys)?; + for id in T::Keys::key_ids() { + let key_data = old_keys.get_raw(*id); + Self::clear_key_owner(*id, key_data); + } + Ok(()) + } + + fn set_keys_weight() -> Weight { + T::WeightInfo::set_keys() + } + + fn purge_keys_weight() -> Weight { + T::WeightInfo::purge_keys() + } +} + /// Wraps the author-scraping logic for consensus engines that can recover /// the canonical index of an author. This then transforms it into the /// registering account-ID of that session key index. diff --git a/substrate/frame/session/src/migrations/historical.rs b/substrate/frame/session/src/migrations/historical.rs index b6838099837a0..504c92b5e6610 100644 --- a/substrate/frame/session/src/migrations/historical.rs +++ b/substrate/frame/session/src/migrations/historical.rs @@ -49,7 +49,7 @@ pub fn migrate::on_chain_storage_version(); @@ -106,7 +106,7 @@ pub fn pre_migrate< log_migration("pre-migration", storage_prefix_stored_range, OLD_PREFIX, new_pallet_name); if new_pallet_name == OLD_PREFIX { - return + return; } let new_pallet_prefix = twox_128(new_pallet_name.as_bytes()); @@ -147,7 +147,7 @@ pub fn post_migrate< log_migration("post-migration", storage_prefix_stored_range, OLD_PREFIX, new_pallet_name); if new_pallet_name == OLD_PREFIX { - return + return; } // Assert that no `HistoricalSessions` and `StoredRange` storages remains at the old prefix. diff --git a/substrate/frame/session/src/mock.rs b/substrate/frame/session/src/mock.rs index ff85c4e2f2730..ccfbe906ccca6 100644 --- a/substrate/frame/session/src/mock.rs +++ b/substrate/frame/session/src/mock.rs @@ -21,6 +21,8 @@ use super::*; use crate as pallet_session; #[cfg(feature = "historical")] use crate::historical as pallet_session_historical; + +use codec::Encode; use frame_support::{derive_impl, parameter_types, traits::ConstU64}; use pallet_balances::{self, AccountData}; use sp_core::crypto::key_types::DUMMY; @@ -68,6 +70,10 @@ impl OpaqueKeys for PreUpgradeMockSessionKeys { _ => &[], } } + + fn ownership_proof_is_valid(&self, _: &[u8], _: &[u8]) -> bool { + true + } } type Block = frame_system::mocking::MockBlock; @@ -205,6 +211,10 @@ pub fn reset_before_session_end_called() { BeforeSessionEndCalled::mutate(|b| *b = false); } +pub fn create_set_keys_proof(owner: u64, public: &UintAuthorityId) -> Vec { + public.sign(&owner.encode()).unwrap().encode() +} + parameter_types! { pub static LastSessionEventIndex: usize = 0; } diff --git a/substrate/frame/session/src/tests.rs b/substrate/frame/session/src/tests.rs index 4a749b0a7817a..bf8f5f575e3de 100644 --- a/substrate/frame/session/src/tests.rs +++ b/substrate/frame/session/src/tests.rs @@ -19,14 +19,14 @@ use super::*; use crate::mock::{ - authorities, before_session_end_called, force_new_session, new_test_ext, + authorities, before_session_end_called, create_set_keys_proof, force_new_session, new_test_ext, reset_before_session_end_called, session_changed, session_events_since_last_call, session_hold, set_next_validators, set_session_length, Balances, KeyDeposit, MockSessionKeys, PreUpgradeMockSessionKeys, RuntimeOrigin, Session, SessionChanged, System, Test, TestSessionChanged, TestValidatorIdOf, ValidatorAccounts, }; -use codec::Decode; +use codec::Encode; use sp_core::crypto::key_types::DUMMY; use sp_runtime::{testing::UintAuthorityId, Perbill}; @@ -88,11 +88,11 @@ fn purge_keys_works_for_stash_id() { let id = DUMMY; assert_eq!(Session::key_owner(id, UintAuthorityId(1).get_raw(id)), Some(1)); - assert_ok!(Session::purge_keys(RuntimeOrigin::signed(10))); + assert_ok!(Session::purge_keys(RuntimeOrigin::signed(1))); assert_ok!(Session::purge_keys(RuntimeOrigin::signed(2))); - assert_eq!(Session::load_keys(&10), None); - assert_eq!(Session::load_keys(&20), None); + assert_eq!(Session::load_keys(&1), None); + assert_eq!(Session::load_keys(&2), None); assert_eq!(Session::key_owner(id, UintAuthorityId(10).get_raw(id)), None); assert_eq!(Session::key_owner(id, UintAuthorityId(20).get_raw(id)), None); }) @@ -129,7 +129,11 @@ fn authorities_should_track_validators() { reset_before_session_end_called(); set_next_validators(vec![1, 2, 4]); - assert_ok!(Session::set_keys(RuntimeOrigin::signed(4), UintAuthorityId(4).into(), vec![])); + assert_ok!(Session::set_keys( + RuntimeOrigin::signed(4), + UintAuthorityId(4).into(), + create_set_keys_proof(4, &UintAuthorityId(4)), + )); force_new_session(); initialize_block(3); assert_eq!( @@ -200,7 +204,11 @@ fn session_change_should_work() { // Block 3: Set new key for validator 2; no visible change. initialize_block(3); - assert_ok!(Session::set_keys(RuntimeOrigin::signed(2), UintAuthorityId(5).into(), vec![])); + assert_ok!(Session::set_keys( + RuntimeOrigin::signed(2), + UintAuthorityId(5).into(), + create_set_keys_proof(2, &UintAuthorityId(5)), + )); assert_eq!(authorities(), vec![UintAuthorityId(1), UintAuthorityId(2), UintAuthorityId(3)]); assert_eq!(session_events_since_last_call(), vec![]); @@ -235,13 +243,25 @@ fn duplicates_are_not_allowed() { System::set_block_number(1); Session::on_initialize(1); assert_noop!( - Session::set_keys(RuntimeOrigin::signed(4), UintAuthorityId(1).into(), vec![]), + Session::set_keys( + RuntimeOrigin::signed(4), + UintAuthorityId(1).into(), + create_set_keys_proof(4, &UintAuthorityId(1)), + ), Error::::DuplicatedKey, ); - assert_ok!(Session::set_keys(RuntimeOrigin::signed(1), UintAuthorityId(10).into(), vec![])); + assert_ok!(Session::set_keys( + RuntimeOrigin::signed(1), + UintAuthorityId(10).into(), + create_set_keys_proof(1, &UintAuthorityId(10)), + )); // is fine now that 1 has migrated off. - assert_ok!(Session::set_keys(RuntimeOrigin::signed(4), UintAuthorityId(1).into(), vec![])); + assert_ok!(Session::set_keys( + RuntimeOrigin::signed(4), + UintAuthorityId(1).into(), + create_set_keys_proof(4, &UintAuthorityId(1)), + )); }); } @@ -284,7 +304,11 @@ fn session_changed_flag_works() { assert!(before_session_end_called()); reset_before_session_end_called(); - assert_ok!(Session::set_keys(RuntimeOrigin::signed(2), UintAuthorityId(5).into(), vec![])); + assert_ok!(Session::set_keys( + RuntimeOrigin::signed(2), + UintAuthorityId(5).into(), + create_set_keys_proof(2, &UintAuthorityId(5)), + )); force_new_session(); initialize_block(6); assert!(!session_changed()); @@ -295,7 +319,7 @@ fn session_changed_flag_works() { assert_ok!(Session::set_keys( RuntimeOrigin::signed(69), UintAuthorityId(69).into(), - vec![] + create_set_keys_proof(69, &UintAuthorityId(69)), )); force_new_session(); initialize_block(7); @@ -373,11 +397,12 @@ fn periodic_session_works() { #[test] fn session_keys_generate_output_works_as_set_keys_input() { new_test_ext().execute_with(|| { - let new_keys = mock::MockSessionKeys::generate(None); + let new_keys = mock::MockSessionKeys::generate(&2u64.encode(), None); + assert_ok!(Session::set_keys( RuntimeOrigin::signed(2), - ::Keys::decode(&mut &new_keys[..]).expect("Decode keys"), - vec![], + new_keys.keys, + new_keys.proof.encode(), )); }); } @@ -498,7 +523,11 @@ fn set_keys_should_fail_with_insufficient_funds() { // Attempt to set keys with an account that has insufficient funds // Should fail with Err(Token(FundsUnavailable)) from `pallet-balances` assert_err!( - Session::set_keys(RuntimeOrigin::signed(account_id), keys, vec![]), + Session::set_keys( + RuntimeOrigin::signed(account_id), + keys, + create_set_keys_proof(account_id, &UintAuthorityId(account_id)), + ), sp_runtime::TokenError::FundsUnavailable ); }); @@ -518,7 +547,11 @@ fn set_keys_should_hold_funds() { }); // Set keys and check the operation succeeds - let res = Session::set_keys(RuntimeOrigin::signed(account_id), keys, vec![]); + let res = Session::set_keys( + RuntimeOrigin::signed(account_id), + keys, + create_set_keys_proof(account_id, &UintAuthorityId(account_id)), + ); assert_ok!(res); // Check that the funds are held @@ -543,7 +576,11 @@ fn purge_keys_should_unhold_funds() { frame_system::Pallet::::inc_providers(&account_id); // First set the keys to reserve the deposit - let res = Session::set_keys(RuntimeOrigin::signed(account_id), keys, vec![]); + let res = Session::set_keys( + RuntimeOrigin::signed(account_id), + keys, + create_set_keys_proof(account_id, &UintAuthorityId(account_id)), + ); assert_ok!(res); // Check the reserved balance after setting keys @@ -580,7 +617,7 @@ fn existing_validators_without_hold_are_except() { assert_ok!(Session::set_keys( RuntimeOrigin::signed(1), UintAuthorityId(7).into(), - Default::default() + create_set_keys_proof(1, &UintAuthorityId(7)) )); assert_eq!(session_hold(1), 0); diff --git a/substrate/frame/society/src/lib.rs b/substrate/frame/society/src/lib.rs index 9d5c09c96b5e7..de8d25d50e43e 100644 --- a/substrate/frame/society/src/lib.rs +++ b/substrate/frame/society/src/lib.rs @@ -1062,7 +1062,7 @@ pub mod pallet { T::Currency::transfer(&Self::payouts(), &who, *amount, AllowDeath)?; record.payouts.remove(0); Payouts::::insert(&who, record); - return Ok(()) + return Ok(()); } } Err(Error::::NoPayout)? @@ -1593,7 +1593,7 @@ impl, I: 'static> Pallet { candidacy: &mut Candidacy>, ) -> bool { if RoundCount::::get() != candidacy.round || candidacy.skeptic_struck { - return false + return false; } // We expect the skeptic to have voted. let skeptic = match Skeptic::::get() { @@ -1678,7 +1678,7 @@ impl, I: 'static> Pallet { // We assume there's at least one member or this logic won't work. let member_count = MemberCount::::get(); if member_count < 1 { - return + return; } let maybe_head = NextHead::::take(); if let Some(head) = maybe_head { @@ -1988,7 +1988,7 @@ impl, I: 'static> Pallet { fn pick_member(rng: &mut impl RngCore) -> Option { let member_count = MemberCount::::get(); if member_count == 0 { - return None + return None; } let random_index = rng.next_u32() % member_count; MemberByIndex::::get(random_index) @@ -2004,7 +2004,7 @@ impl, I: 'static> Pallet { ) -> Option { let member_count = MemberCount::::get(); if member_count <= 1 { - return None + return None; } let random_index = rng.next_u32() % (member_count - 1); let pick = MemberByIndex::::get(random_index); @@ -2022,7 +2022,7 @@ impl, I: 'static> Pallet { fn pick_defendant(rng: &mut impl RngCore) -> Option { let member_count = MemberCount::::get(); if member_count <= 2 { - return None + return None; } // Founder is always at index 0, so we should never pick that one. // Head will typically but not always be the highest index. We assume it is for now and @@ -2084,7 +2084,7 @@ impl, I: 'static> Pallet { /// is not a member or if `value` is zero. fn bump_payout(who: &T::AccountId, when: BlockNumberFor, value: BalanceOf) { if value.is_zero() { - return + return; } if let Some(MemberRecord { rank: 0, .. }) = Members::::get(who) { Payouts::::mutate(who, |record| { @@ -2114,7 +2114,7 @@ impl, I: 'static> Pallet { // whole slash is accounted for. record.payouts[0].1.saturating_reduce(rest); rest = Zero::zero(); - break + break; } } Payouts::::insert(who, record); diff --git a/substrate/frame/society/src/mock.rs b/substrate/frame/society/src/mock.rs index de3fb151d8d88..e1359b801164a 100644 --- a/substrate/frame/society/src/mock.rs +++ b/substrate/frame/society/src/mock.rs @@ -184,7 +184,7 @@ pub fn conclude_intake(allow_resignation: bool, judge_intake: Option) { Society::claim_membership(Origin::signed(who)), Error::::NotCandidate ); - continue + continue; } if candidacy.tally.clear_rejection() && allow_resignation { assert_noop!( @@ -192,18 +192,18 @@ pub fn conclude_intake(allow_resignation: bool, judge_intake: Option) { Error::::NotApproved ); assert_ok!(Society::resign_candidacy(Origin::signed(who))); - continue + continue; } if let (Some(founder), Some(approve)) = (Founder::::get(), judge_intake) { if !candidacy.tally.clear_approval() && !approve { // can be rejected by founder assert_ok!(Society::kick_candidate(Origin::signed(founder), who)); - continue + continue; } if !candidacy.tally.clear_rejection() && approve { // can be rejected by founder assert_ok!(Society::bestow_membership(Origin::signed(founder), who)); - continue + continue; } } if candidacy.tally.clear_rejection() && round > candidacy.round + 1 { @@ -216,7 +216,7 @@ pub fn conclude_intake(allow_resignation: bool, judge_intake: Option) { Society::drop_candidate(Origin::signed(0), who), Error::::NotCandidate ); - continue + continue; } if !candidacy.skeptic_struck { assert_ok!(Society::punish_skeptic(Origin::signed(who))); @@ -230,8 +230,9 @@ pub fn next_intake() { Period::Voting { more, .. } => System::run_to_block::( System::block_number() + more + claim_period, ), - Period::Claim { more, .. } => - System::run_to_block::(System::block_number() + more), + Period::Claim { more, .. } => { + System::run_to_block::(System::block_number() + more) + }, Period::Intake { .. } => {}, } } diff --git a/substrate/frame/src/lib.rs b/substrate/frame/src/lib.rs index a314c2a02ba15..2d5ae884dec6c 100644 --- a/substrate/frame/src/lib.rs +++ b/substrate/frame/src/lib.rs @@ -584,7 +584,6 @@ pub mod hashing { } // Systems involved in transaction execution in the runtime. -/// /// This is already part of the [`prelude`]. pub mod transaction { pub use frame_support::traits::{CallMetadata, GetCallMetadata}; diff --git a/substrate/frame/staking-async/ah-client/src/lib.rs b/substrate/frame/staking-async/ah-client/src/lib.rs index e16dbf3e839b9..30165152cb160 100644 --- a/substrate/frame/staking-async/ah-client/src/lib.rs +++ b/substrate/frame/staking-async/ah-client/src/lib.rs @@ -68,10 +68,7 @@ use frame_support::{ pub use pallet_staking_async_rc_client::SendToAssetHub; use pallet_staking_async_rc_client::{self as rc_client}; use sp_runtime::SaturatedConversion; -use sp_staking::{ - offence::{OffenceDetails, OffenceSeverity}, - SessionIndex, -}; +use sp_staking::offence::OffenceDetails; /// The balance type seen from this pallet's PoV. pub type BalanceOf = ::CurrencyBalance; @@ -98,38 +95,11 @@ macro_rules! log { }; } -/// Interface to talk to the local session pallet. -pub trait SessionInterface { - /// The validator id type of the session pallet - type ValidatorId: Clone; - - fn validators() -> Vec; - - /// prune up to the given session index. - fn prune_up_to(index: SessionIndex); - - /// Report an offence. - /// - /// This is used to disable validators directly on the RC, until the next validator set. - fn report_offence(offender: Self::ValidatorId, severity: OffenceSeverity); -} - -impl SessionInterface - for T -{ - type ValidatorId = ::ValidatorId; - - fn validators() -> Vec { - pallet_session::Pallet::::validators() - } - - fn prune_up_to(index: SessionIndex) { - pallet_session::historical::Pallet::::prune_up_to(index) - } - fn report_offence(offender: Self::ValidatorId, severity: OffenceSeverity) { - pallet_session::Pallet::::report_offence(offender, severity) - } -} +/// Re-export `SessionInterface` from `pallet_session`. +/// +/// This trait provides the interface to talk to the local session pallet for cross-chain +/// session management. +pub use pallet_session::SessionInterface; /// Represents the operating mode of the pallet. #[derive( @@ -275,7 +245,10 @@ pub mod pallet { type MaxOffenceBatchSize: Get; /// Interface to talk to the local Session pallet. - type SessionInterface: SessionInterface; + type SessionInterface: SessionInterface< + ValidatorId = Self::AccountId, + AccountId = Self::AccountId, + >; /// A fallback implementation to delegate logic to when the pallet is in /// [`OperatingMode::Passive`]. @@ -486,6 +459,24 @@ pub mod pallet { /// Something occurred that should never happen under normal operation. Logged as an event /// for fail-safe observability. Unexpected(UnexpectedKind), + /// Session keys updated for a validator. + SessionKeysUpdated { stash: T::AccountId, update: SessionKeysUpdate }, + /// Session key update from AssetHub failed on the relay chain. + /// Logged as an event for fail-safe observability. + SessionKeysUpdateFailed { + stash: T::AccountId, + update: SessionKeysUpdate, + error: DispatchError, + }, + } + + /// The type of session keys update received from AssetHub. + #[derive(Clone, Encode, Decode, DecodeWithMemTracking, PartialEq, TypeInfo, Debug)] + pub enum SessionKeysUpdate { + /// Session keys have been set. + Set, + /// Session keys have been purged. + Purged, } /// Represents unexpected or invariant-breaking conditions encountered during execution. @@ -526,6 +517,12 @@ pub mod pallet { /// * Those who are calling into our `RewardsReporter` likely have a bad view of the /// validator set, and are spamming us. ValidatorPointDropped, + + /// Session keys received from AssetHub failed to decode. + /// + /// This should never happen since AssetHub validates keys before forwarding them. + /// If this occurs, it indicates a mismatch between AH and RC key types or a bug. + InvalidKeysFromAssetHub, } #[pallet::call] @@ -633,6 +630,99 @@ pub mod pallet { Self::on_migration_end(); Ok(()) } + + /// Set session keys for a validator, forwarded from AssetHub. + /// + /// This is called when a validator sets their session keys on AssetHub, which forwards + /// the request to the RelayChain via XCM. + /// + /// AssetHub validates both keys and ownership proof before sending. + /// RC trusts AH's validation and does not re-validate. + #[pallet::call_index(3)] + #[pallet::weight(T::SessionInterface::set_keys_weight())] + pub fn set_keys_from_ah( + origin: OriginFor, + stash: T::AccountId, + keys: Vec, + ) -> DispatchResult { + T::AssetHubOrigin::ensure_origin_or_root(origin)?; + log::info!(target: LOG_TARGET, "Received set_keys request from AssetHub for {stash:?}"); + + // Decode the keys from bytes (AH already validated, this is just for type conversion) + let session_keys = + match <::SessionInterface as SessionInterface>::Keys::decode( + &mut &keys[..], + ) { + Ok(keys) => keys, + Err(e) => { + // This should never happen since AH validates keys before forwarding. + // Returning Ok() allows the event to be observed for monitoring. + log!( + warn, + "InvalidKeysFromAssetHub: failed to decode keys for {:?}: {:?}", + stash, + e + ); + Self::deposit_event(Event::Unexpected( + UnexpectedKind::InvalidKeysFromAssetHub, + )); + return Ok(()); + }, + }; + + match T::SessionInterface::set_keys(&stash, session_keys) { + Ok(()) => Self::deposit_event(Event::SessionKeysUpdated { + stash, + update: SessionKeysUpdate::Set, + }), + Err(error) => { + log!( + warn, + "SessionKeysUpdateFailed: set_keys failed for {:?}: {:?}", + stash, + error + ); + Self::deposit_event(Event::SessionKeysUpdateFailed { + stash, + update: SessionKeysUpdate::Set, + error, + }); + }, + } + Ok(()) + } + + /// Purge session keys for a validator, forwarded from AssetHub. + /// + /// This is called when a validator purges their session keys on AssetHub, which forwards + /// the request to the RelayChain via XCM. + #[pallet::call_index(4)] + #[pallet::weight(T::SessionInterface::purge_keys_weight())] + pub fn purge_keys_from_ah(origin: OriginFor, stash: T::AccountId) -> DispatchResult { + T::AssetHubOrigin::ensure_origin_or_root(origin)?; + log::info!(target: LOG_TARGET, "Received purge_keys request from AssetHub for {stash:?}"); + + match T::SessionInterface::purge_keys(&stash) { + Ok(()) => Self::deposit_event(Event::SessionKeysUpdated { + stash, + update: SessionKeysUpdate::Purged, + }), + Err(error) => { + log!( + warn, + "SessionKeysUpdateFailed: purge_keys failed for {:?}: {:?}", + stash, + error + ); + Self::deposit_event(Event::SessionKeysUpdateFailed { + stash, + update: SessionKeysUpdate::Purged, + error, + }); + }, + } + Ok(()) + } } #[pallet::hooks] @@ -681,7 +771,7 @@ pub mod pallet { weight.saturating_accrue(T::DbWeight::get().reads(2)); OffenceSendQueue::::get_and_maybe_delete(|page| { if page.is_empty() { - return Ok(()) + return Ok(()); } // send the page if not empty. If sending returns `Ok`, we delete this page. T::SendToAssetHub::relay_new_offence_paged(page.into_inner()).inspect_err(|_| { @@ -788,10 +878,12 @@ pub mod pallet { // delegate to the fallback implementation. T::Fallback::on_offence(offenders, slash_fraction, slash_session) }, - OperatingMode::Buffered => - Self::on_offence_buffered(offenders, slash_fraction, slash_session), - OperatingMode::Active => - Self::on_offence_active(offenders, slash_fraction, slash_session), + OperatingMode::Buffered => { + Self::on_offence_buffered(offenders, slash_fraction, slash_session) + }, + OperatingMode::Active => { + Self::on_offence_active(offenders, slash_fraction, slash_session) + }, } } } @@ -998,6 +1090,136 @@ pub mod pallet { } } +#[cfg(test)] +mod keys_from_ah_tests { + use super::*; + use crate::mock::*; + use codec::Encode; + use frame_support::{assert_noop, assert_ok, hypothetically}; + use sp_runtime::DispatchError; + + #[test] + fn set_keys_from_ah() { + new_test_ext().execute_with(|| { + System::set_block_number(1); + let stash = 42u64; + let keys = MockSessionKeys { dummy: [1u8; 32] }; + + // success with root origin + hypothetically!({ + SetKeysCalls::take(); + assert_ok!(StakingAsyncAhClient::set_keys_from_ah( + RuntimeOrigin::root(), + stash, + keys.encode(), + )); + assert_eq!(SetKeysCalls::get(), vec![(stash, keys.clone())]); + System::assert_has_event( + Event::::SessionKeysUpdated { stash, update: SessionKeysUpdate::Set } + .into(), + ); + }); + + // rejects bad origin + hypothetically!({ + SetKeysCalls::take(); + assert_noop!( + StakingAsyncAhClient::set_keys_from_ah( + RuntimeOrigin::signed(1), + stash, + keys.encode(), + ), + DispatchError::BadOrigin + ); + assert!(SetKeysCalls::get().is_empty()); + }); + + // emits SessionKeysUpdateFailed when SessionInterface::set_keys fails + hypothetically!({ + SetKeysCalls::take(); + let error = DispatchError::Corruption; + SetKeysError::set(Some(error)); + assert_ok!(StakingAsyncAhClient::set_keys_from_ah( + RuntimeOrigin::root(), + stash, + keys.encode(), + )); + assert!(SetKeysCalls::get().is_empty()); + System::assert_has_event( + Event::::SessionKeysUpdateFailed { + stash, + update: SessionKeysUpdate::Set, + error, + } + .into(), + ); + SetKeysError::take(); + }); + + // handles invalid keys gracefully + hypothetically!({ + SetKeysCalls::take(); + assert_ok!(StakingAsyncAhClient::set_keys_from_ah( + RuntimeOrigin::root(), + stash, + vec![1u8, 2, 3], // invalid encoding + )); + assert!(SetKeysCalls::get().is_empty()); + System::assert_has_event( + Event::::Unexpected(UnexpectedKind::InvalidKeysFromAssetHub).into(), + ); + }); + }); + } + + #[test] + fn purge_keys_from_ah() { + new_test_ext().execute_with(|| { + System::set_block_number(1); + let stash = 42u64; + + // success with root origin + hypothetically!({ + PurgeKeysCalls::take(); + assert_ok!(StakingAsyncAhClient::purge_keys_from_ah(RuntimeOrigin::root(), stash)); + assert_eq!(PurgeKeysCalls::get(), vec![stash]); + System::assert_has_event( + Event::::SessionKeysUpdated { stash, update: SessionKeysUpdate::Purged } + .into(), + ); + }); + + // rejects bad origin + hypothetically!({ + PurgeKeysCalls::take(); + assert_noop!( + StakingAsyncAhClient::purge_keys_from_ah(RuntimeOrigin::signed(1), stash), + DispatchError::BadOrigin + ); + assert!(PurgeKeysCalls::get().is_empty()); + }); + + // emits SessionKeysUpdateFailed when SessionInterface::purge_keys fails + hypothetically!({ + PurgeKeysCalls::take(); + let error = DispatchError::Corruption; + PurgeKeysError::set(Some(error)); + assert_ok!(StakingAsyncAhClient::purge_keys_from_ah(RuntimeOrigin::root(), stash)); + assert!(PurgeKeysCalls::get().is_empty()); + System::assert_has_event( + Event::::SessionKeysUpdateFailed { + stash, + update: SessionKeysUpdate::Purged, + error, + } + .into(), + ); + PurgeKeysError::take(); + }); + }); + } +} + #[cfg(test)] mod send_queue_tests { use frame_support::hypothetically; diff --git a/substrate/frame/staking-async/ah-client/src/mock.rs b/substrate/frame/staking-async/ah-client/src/mock.rs index 063d5ee5b2ff2..49f11a7ec040a 100644 --- a/substrate/frame/staking-async/ah-client/src/mock.rs +++ b/substrate/frame/staking-async/ah-client/src/mock.rs @@ -18,10 +18,35 @@ //! Mock runtime for pallet-staking-async-ah-client tests. use crate::*; +use alloc::vec::Vec; use frame_support::{derive_impl, parameter_types, weights::Weight}; -use sp_runtime::{BuildStorage, Perbill}; +use sp_runtime::{traits::OpaqueKeys, BuildStorage, DispatchError, KeyTypeId, Perbill}; use sp_staking::offence::{OffenceSeverity, OnOffenceHandler}; +/// Mock session keys for testing. +#[derive(Clone, PartialEq, Eq, Debug, codec::Encode, codec::Decode, scale_info::TypeInfo)] +pub struct MockSessionKeys { + pub dummy: [u8; 32], +} + +const MOCK_KEY_TYPE: KeyTypeId = KeyTypeId(*b"mock"); + +impl OpaqueKeys for MockSessionKeys { + type KeyTypeIdProviders = (); + + fn key_ids() -> &'static [KeyTypeId] { + &[MOCK_KEY_TYPE] + } + + fn get_raw(&self, _: KeyTypeId) -> &[u8] { + &self.dummy + } + + fn ownership_proof_is_valid(&self, _: &[u8], _: &[u8]) -> bool { + true + } +} + type Block = frame_system::mocking::MockBlock; frame_support::construct_runtime!( @@ -41,11 +66,34 @@ impl frame_system::Config for Test { pub struct MockSessionInterface; impl SessionInterface for MockSessionInterface { type ValidatorId = u64; + type AccountId = u64; + type Keys = MockSessionKeys; + fn validators() -> Vec { vec![1, 2, 3] } fn prune_up_to(_up_to: u32) {} fn report_offence(_offender: Self::ValidatorId, _severity: OffenceSeverity) {} + fn set_keys(account: &Self::AccountId, keys: Self::Keys) -> DispatchResult { + if let Some(err) = SetKeysError::get() { + return Err(err); + } + SetKeysCalls::mutate(|calls| calls.push((*account, keys))); + Ok(()) + } + fn purge_keys(account: &Self::AccountId) -> DispatchResult { + if let Some(err) = PurgeKeysError::get() { + return Err(err); + } + PurgeKeysCalls::mutate(|calls| calls.push(*account)); + Ok(()) + } + fn set_keys_weight() -> Weight { + Weight::zero() + } + fn purge_keys_weight() -> Weight { + Weight::zero() + } } pub struct MockFallback; @@ -89,6 +137,10 @@ parameter_types! { pub const MinimumValidatorSetSize: u32 = 3; pub const PointsPerBlock: u32 = 1; pub const MaxOffenceBatchSize: u32 = 100; + pub static SetKeysCalls: Vec<(u64, MockSessionKeys)> = vec![]; + pub static SetKeysError: Option = None; + pub static PurgeKeysCalls: Vec = vec![]; + pub static PurgeKeysError: Option = None; } impl Config for Test { @@ -108,5 +160,9 @@ impl Config for Test { #[cfg(test)] pub fn new_test_ext() -> sp_io::TestExternalities { + SetKeysCalls::take(); + SetKeysError::take(); + PurgeKeysCalls::take(); + PurgeKeysError::take(); frame_system::GenesisConfig::::default().build_storage().unwrap().into() } diff --git a/substrate/frame/staking-async/ahm-test/Cargo.toml b/substrate/frame/staking-async/integration-tests/Cargo.toml similarity index 87% rename from substrate/frame/staking-async/ahm-test/Cargo.toml rename to substrate/frame/staking-async/integration-tests/Cargo.toml index 424a8d93f66c3..8e295bebcd699 100644 --- a/substrate/frame/staking-async/ahm-test/Cargo.toml +++ b/substrate/frame/staking-async/integration-tests/Cargo.toml @@ -25,12 +25,17 @@ sp-core = { workspace = true, default-features = true } sp-session = { workspace = true, default-features = true } sp-staking = { workspace = true, default-features = true } sp-tracing = { workspace = true, default-features = true } +xcm = { workspace = true, default-features = true } +xcm-builder = { workspace = true, default-features = true } +xcm-executor = { workspace = true, default-features = true } # pallets we need in both pallet-balances = { workspace = true, default-features = true } +pallet-proxy = { workspace = true, default-features = true } # pallets that we need in AH frame-election-provider-support = { workspace = true, default-features = true } +pallet-dap = { workspace = true, default-features = true } pallet-election-provider-multi-block = { workspace = true, default-features = true } pallet-staking-async = { workspace = true, default-features = true } pallet-staking-async-rc-client = { workspace = true, default-features = true } @@ -51,6 +56,9 @@ std = [ ] try-runtime = [ "pallet-balances/try-runtime", + "pallet-proxy/try-runtime", + + "pallet-dap/try-runtime", "pallet-staking/try-runtime", diff --git a/substrate/frame/staking-async/ahm-test/src/ah/mock.rs b/substrate/frame/staking-async/integration-tests/src/ah/mock.rs similarity index 77% rename from substrate/frame/staking-async/ahm-test/src/ah/mock.rs rename to substrate/frame/staking-async/integration-tests/src/ah/mock.rs index 1996b14be3487..c240ab79ca591 100644 --- a/substrate/frame/staking-async/ahm-test/src/ah/mock.rs +++ b/substrate/frame/staking-async/integration-tests/src/ah/mock.rs @@ -21,18 +21,30 @@ use frame_election_provider_support::{ bounds::{ElectionBounds, ElectionBoundsBuilder}, SequentialPhragmen, }; -use frame_support::{sp_runtime::testing::TestXt, weights::WeightMeter}; +use frame_support::{ + sp_runtime::testing::TestXt, + weights::{Weight, WeightMeter}, +}; use pallet_election_provider_multi_block as multi_block; use pallet_election_provider_multi_block::{Event as ElectionEvent, Phase}; use pallet_staking_async::{ActiveEra, CurrentEra, Forcing}; -use pallet_staking_async_rc_client::{OutgoingValidatorSet, SessionReport, ValidatorSetReport}; +use pallet_staking_async_rc_client::{ + OutgoingValidatorSet, SendKeysError, SendOperationError, SessionReport, ValidatorSetReport, +}; use sp_staking::SessionIndex; +use xcm::latest::{prelude::*, Asset, AssetId, Assets, Fungibility, Junction, Location}; +use xcm_builder::{FungibleAdapter, IsConcrete}; +use xcm_executor::{ + traits::{ConvertLocation, FeeManager, FeeReason, TransactAsset}, + AssetsInHolding, +}; pub const LOG_TARGET: &str = "ahm-test"; construct_runtime! { pub enum Runtime { System: frame_system, Balances: pallet_balances, + Proxy: pallet_proxy, // NOTE: the validator set is given by pallet-staking to rc-client on-init, and rc-client // will not send it immediately, but rather store it and sends it over on its own next @@ -45,6 +57,8 @@ construct_runtime! { MultiBlockVerifier: multi_block::verifier, MultiBlockSigned: multi_block::signed, MultiBlockUnsigned: multi_block::unsigned, + + Dap: pallet_dap, } } @@ -228,7 +242,7 @@ pub(crate) fn roll_until_next_active(mut end_index: SessionIndex) -> Vec panic!("Expected only one message in local queue, but got: {:?}", messages), } @@ -417,6 +431,7 @@ impl multi_block::signed::Config for Runtime { parameter_types! { pub static BondingDuration: u32 = 3; + pub static NominatorFastUnbondDuration: u32 = 2; pub static SlashDeferredDuration: u32 = 2; pub static SessionsPerEra: u32 = 6; // Begin election as soon as a new era starts. @@ -431,6 +446,7 @@ impl pallet_staking_async::Config for Runtime { type AdminOrigin = EnsureRoot; type BondingDuration = BondingDuration; + type NominatorFastUnbondDuration = NominatorFastUnbondDuration; type SessionsPerEra = SessionsPerEra; type PlanningEraOffset = PlanningEraOffset; @@ -445,7 +461,7 @@ impl pallet_staking_async::Config for Runtime { type EventListeners = (); type Reward = (); type RewardRemainder = (); - type Slash = (); + type Slash = Dap; type SlashDeferDuration = SlashDeferredDuration; type MaxEraDuration = (); type MaxPruningItems = MaxPruningItems; @@ -466,16 +482,102 @@ impl pallet_staking_async::Config for Runtime { type WeightInfo = super::weights::StakingAsyncWeightInfo; } +// Session keys type that must match RC's SessionKeys. +// This ensures that keys validated on AH can be decoded on RC. +// Uses the same OtherSessionHandler as rc::SessionKeys. +frame::deps::sp_runtime::impl_opaque_keys! { + pub struct RCSessionKeys { + pub other: frame::deps::sp_runtime::testing::UintAuthorityId, + } +} + impl pallet_staking_async_rc_client::Config for Runtime { type AHStakingInterface = Staking; type SendToRelayChain = DeliverToRelay; type RelayChainOrigin = EnsureRoot; type MaxValidatorSetRetries = ConstU32<3>; type ValidatorSetExportSession = ValidatorSetExportSession; + type RelayChainSessionKeys = RCSessionKeys; + type Balance = Balance; + type WeightInfo = (); +} + +parameter_types! { + pub const DapPalletId: frame_support::PalletId = frame_support::PalletId(*b"dap/buff"); +} + +impl pallet_dap::Config for Runtime { + type Currency = Balances; + type PalletId = DapPalletId; } parameter_types! { pub static NextRelayDeliveryFails: bool = false; + /// XCM delivery fees charged for set_keys/purge_keys. + pub static XcmDeliveryFee: u128 = 10; + /// Execution cost for set_keys on relay chain. + /// This is charged on AH even though RC uses UnpaidExecution. + pub static SetKeysExecutionCost: u128 = 5; + /// Execution cost for purge_keys on relay chain. + /// This is charged on AH even though RC uses UnpaidExecution. + pub static PurgeKeysExecutionCost: u128 = 3; +} + +/// Converts an AccountId to an XCM Location. +pub struct AccountIdToLocation; +impl AccountIdToLocation { + pub fn convert(account: AccountId) -> Location { + Junction::AccountIndex64 { network: None, index: account }.into() + } +} + +/// Converts an XCM Location back to an AccountId. +pub struct LocationToAccountId; +impl ConvertLocation for LocationToAccountId { + fn convert_location(location: &Location) -> Option { + match location.unpack() { + (0, [Junction::AccountIndex64 { index, .. }]) => Some(*index), + _ => None, + } + } +} + +parameter_types! { + /// The native asset location (here). + pub Here: Location = Location::here(); +} + +/// Asset transactor that uses pallet_balances for the native asset. +pub type LocalAssetTransactor = + FungibleAdapter, LocationToAccountId, AccountId, ()>; + +/// Fee manager that never waives fees and burns them. +pub struct BurnFees; +impl FeeManager for BurnFees { + fn is_waived(_origin: Option<&Location>, _reason: FeeReason) -> bool { + false + } + fn handle_fee(_fee: AssetsInHolding, _context: Option<&XcmContext>, _reason: FeeReason) { + // Fees are burned (withdrawn but not deposited anywhere) + } +} + +/// Mock XCM executor that performs real fee charging using pallet_balances. +pub struct MockXcmExecutor; + +impl MockXcmExecutor { + /// Charge fees from the given origin location. + pub fn charge_fees(origin: Location, fees: Assets) -> XcmResult { + if !BurnFees::is_waived(Some(&origin), FeeReason::ChargeFees) { + let mut withdrawn = AssetsInHolding::new(); + for asset in fees.inner() { + withdrawn + .subsume_assets(LocalAssetTransactor::withdraw_asset(asset, &origin, None)?); + } + BurnFees::handle_fee(withdrawn, None, FeeReason::ChargeFees); + } + Ok(()) + } } pub struct DeliverToRelay; @@ -489,10 +591,37 @@ impl DeliverToRelay { Ok(()) } } + + /// Calculates and charges XCM fees for a keys operation. + fn charge_keys_fees( + stash: AccountId, + execution_cost: Balance, + max_fee: Option, + ) -> Result> { + let delivery_fee = XcmDeliveryFee::get(); + let total_fee = delivery_fee.saturating_add(execution_cost); + + if let Some(max) = max_fee { + if total_fee > max { + return Err(SendKeysError::FeesExceededMax { required: total_fee, max }); + } + } + + let fees = Assets::from(Asset { + id: AssetId(Location::here()), + fun: Fungibility::Fungible(total_fee), + }); + let payer_location = AccountIdToLocation::convert(stash); + MockXcmExecutor::charge_fees(payer_location, fees) + .map_err(|_| SendKeysError::Send(SendOperationError::ChargeFeesFailed))?; + + Ok(total_fee) + } } impl pallet_staking_async_rc_client::SendToRelayChain for DeliverToRelay { type AccountId = AccountId; + type Balance = Balance; fn validator_set( report: pallet_staking_async_rc_client::ValidatorSetReport, @@ -514,6 +643,69 @@ impl pallet_staking_async_rc_client::SendToRelayChain for DeliverToRelay { } Ok(()) } + + fn set_keys( + stash: Self::AccountId, + keys: Vec, + max_delivery_and_remote_execution_fee: Option, + ) -> Result> { + Self::ensure_delivery_guard() + .map_err(|()| SendKeysError::Send(SendOperationError::DeliveryFailed))?; + + let total_fee = Self::charge_keys_fees( + stash, + SetKeysExecutionCost::get(), + max_delivery_and_remote_execution_fee, + )?; + + if let Some(mut local_queue) = LocalQueue::get() { + local_queue.push((System::block_number(), OutgoingMessages::SetKeys { stash, keys })); + LocalQueue::set(Some(local_queue)); + } else { + // Forward to RC (uses UnpaidExecution, so no fees charged there) + shared::in_rc(|| { + let origin = crate::rc::RuntimeOrigin::root(); + pallet_staking_async_ah_client::Pallet::::set_keys_from_ah( + origin, + stash, + keys.clone(), + ) + .unwrap(); + }); + } + + Ok(total_fee) + } + + fn purge_keys( + stash: Self::AccountId, + max_delivery_and_remote_execution_fee: Option, + ) -> Result> { + Self::ensure_delivery_guard() + .map_err(|()| SendKeysError::Send(SendOperationError::DeliveryFailed))?; + + let total_fee = Self::charge_keys_fees( + stash, + PurgeKeysExecutionCost::get(), + max_delivery_and_remote_execution_fee, + )?; + + if let Some(mut local_queue) = LocalQueue::get() { + local_queue.push((System::block_number(), OutgoingMessages::PurgeKeys { stash })); + LocalQueue::set(Some(local_queue)); + } else { + // Forward to RC (uses UnpaidExecution, so no fees charged there) + shared::in_rc(|| { + let origin = crate::rc::RuntimeOrigin::root(); + pallet_staking_async_ah_client::Pallet::::purge_keys_from_ah( + origin, stash, + ) + .unwrap(); + }); + } + + Ok(total_fee) + } } const INITIAL_BALANCE: Balance = 1000; @@ -522,6 +714,8 @@ const INITIAL_STAKE: Balance = 100; #[derive(Clone, Debug, PartialEq)] pub enum OutgoingMessages { ValidatorSet(pallet_staking_async_rc_client::ValidatorSetReport), + SetKeys { stash: AccountId, keys: Vec }, + PurgeKeys { stash: AccountId }, } parameter_types! { @@ -604,11 +798,12 @@ impl ExtBuilder { .map(|(x, y)| (x, INITIAL_STAKE, pallet_staking_async::StakerStatus::Nominator(y))); let stakers = validators.chain(nominators).collect::>(); - let balances = stakers - .clone() - .into_iter() - .map(|(x, _, _)| (x, INITIAL_BALANCE)) - .collect::>(); + let mut balances: Vec<_> = + stakers.clone().into_iter().map(|(x, _, _)| (x, INITIAL_BALANCE)).collect(); + // Fund DAP buffer account with ED so it can receive slashes. + use frame_support::sp_runtime::traits::AccountIdConversion; + let dap_buffer: AccountId = DapPalletId::get().into_account_truncating(); + balances.push((dap_buffer, 1)); pallet_balances::GenesisConfig:: { balances, ..Default::default() } .assimilate_storage(&mut t) @@ -690,10 +885,12 @@ pub(crate) enum AssertSessionType { pub(crate) fn end_session_with(activate: bool, assert_starting_session: AssertSessionType) { match assert_starting_session { - AssertSessionType::ElectionWithImmediateExport => - end_session_and_assert_election(activate, true), - AssertSessionType::ElectionWithBufferedExport => - end_session_and_assert_election(activate, false), + AssertSessionType::ElectionWithImmediateExport => { + end_session_and_assert_election(activate, true) + }, + AssertSessionType::ElectionWithBufferedExport => { + end_session_and_assert_election(activate, false) + }, AssertSessionType::IdleOnlyExport => end_session_and_assert_idle(activate, true), AssertSessionType::IdleNoExport => end_session_and_assert_idle(activate, false), } @@ -881,3 +1078,69 @@ pub(crate) fn verifier_events_since_last_call() -> Vec Self { + Self::Any + } +} + +impl frame_support::traits::InstanceFilter for ProxyType { + fn filter(&self, c: &RuntimeCall) -> bool { + match self { + ProxyType::Any => true, + ProxyType::Staking => matches!( + c, + RuntimeCall::Staking(..) | + RuntimeCall::RcClient( + pallet_staking_async_rc_client::Call::set_keys { .. } | + pallet_staking_async_rc_client::Call::purge_keys { .. } + ) + ), + } + } + + fn is_superset(&self, o: &Self) -> bool { + match (self, o) { + (x, y) if x == y => true, + (ProxyType::Any, _) => true, + _ => false, + } + } +} + +impl pallet_proxy::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type Currency = Balances; + type ProxyType = ProxyType; + type ProxyDepositBase = ConstU128<1>; + type ProxyDepositFactor = ConstU128<1>; + type MaxProxies = ConstU32<32>; + type MaxPending = ConstU32<32>; + type CallHasher = frame::deps::sp_runtime::traits::BlakeTwo256; + type AnnouncementDepositBase = ConstU128<1>; + type AnnouncementDepositFactor = ConstU128<1>; + type WeightInfo = (); + type BlockNumberProvider = System; +} diff --git a/substrate/frame/staking-async/ahm-test/src/ah/mod.rs b/substrate/frame/staking-async/integration-tests/src/ah/mod.rs similarity index 100% rename from substrate/frame/staking-async/ahm-test/src/ah/mod.rs rename to substrate/frame/staking-async/integration-tests/src/ah/mod.rs diff --git a/substrate/frame/staking-async/ahm-test/src/ah/test.rs b/substrate/frame/staking-async/integration-tests/src/ah/test.rs similarity index 71% rename from substrate/frame/staking-async/ahm-test/src/ah/test.rs rename to substrate/frame/staking-async/integration-tests/src/ah/test.rs index a47de37dea643..dadc2c998c17d 100644 --- a/substrate/frame/staking-async/ahm-test/src/ah/test.rs +++ b/substrate/frame/staking-async/integration-tests/src/ah/test.rs @@ -15,10 +15,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::ah::mock::*; +use crate::{ah::mock::*, rc, shared}; use frame::prelude::Perbill; use frame_election_provider_support::Weight; -use frame_support::assert_ok; +use frame_support::{assert_ok, hypothetically}; use pallet_election_provider_multi_block::{ unsigned::miner::OffchainWorkerMiner, verifier::Event as VerifierEvent, CurrentPhase, ElectionScore, Event as ElectionEvent, Phase, @@ -717,6 +717,11 @@ fn on_offence_current_era_instant_apply() { // flush the events. let _ = staking_events_since_last_call(); + // Record initial state for DAP verification + let dap_buffer = pallet_dap::Pallet::::buffer_account(); + let initial_dap_balance = Balances::free_balance(&dap_buffer); + let initial_total_issuance = Balances::total_issuance(); + assert_ok!(rc_client::Pallet::::relay_new_offence_paged( RuntimeOrigin::root(), vec![ @@ -783,6 +788,15 @@ fn on_offence_current_era_instant_apply() { staking_async::Event::Slashed { staker: 3, amount: 50 } ] ); + + // DAP verification: slashed funds (50 + 50 + 50 = 150) should go to buffer + let final_dap_balance = Balances::free_balance(&dap_buffer); + let final_total_issuance = Balances::total_issuance(); + + // DAP buffer should have received all slashed funds + assert_eq!(final_dap_balance, initial_dap_balance + 150); + // Total issuance should be preserved (funds not burned) + assert_eq!(final_total_issuance, initial_total_issuance); }); } @@ -1397,3 +1411,513 @@ mod poll_operations { }); } } + +mod session_keys { + use super::*; + use crate::ah::mock::{ + Balances, LocalQueue, OutgoingMessages, ProxyType, PurgeKeysExecutionCost, + SetKeysExecutionCost, + }; + use codec::Encode; + use frame_support::assert_noop; + use rc_client::AHStakingInterface; + + type Keys = Vec; + type Proof = Vec; + + /// Helper to create properly encoded session keys and ownership proof. + fn make_session_keys_and_proof(owner: AccountId) -> (Keys, Proof) { + let generated = RCSessionKeys::generate(&owner.encode(), None); + (generated.keys.encode().try_into().unwrap(), generated.proof.encode().try_into().unwrap()) + } + + #[test] + fn set_keys_success() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Account 1 is a validator with delivery fees configured + let validator: AccountId = 1; + let (keys, proof) = make_session_keys_and_proof(validator); + let keys_raw: Vec = keys.clone(); + let delivery_fee: u128 = 50; + XcmDeliveryFee::set(delivery_fee); + let execution_cost = SetKeysExecutionCost::get(); + let total_fee = delivery_fee + execution_cost; + let balance_before = Balances::free_balance(validator); + let queue_len_before = LocalQueue::get().unwrap().len(); + + // WHEN: Validator sets session keys + assert_ok!(rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(validator), + keys, + proof, + None, + )); + + // THEN: FeesPaid event is emitted with total fees (delivery + execution) + System::assert_has_event( + rc_client::Event::::FeesPaid { who: validator, fees: total_fee }.into(), + ); + + // AND: Validator's balance is reduced by the total fee amount + assert_eq!(Balances::free_balance(validator), balance_before - total_fee); + + // AND: SetKeys message is queued + let queue = LocalQueue::get().unwrap(); + assert_eq!(queue.len(), queue_len_before + 1); + assert!(matches!( + queue.last(), + Some((_, OutgoingMessages::SetKeys { stash, keys })) + if *stash == validator && *keys == keys_raw + )); + }); + } + + #[test] + fn set_keys_not_validator() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Account 100 is a nominator, not a validator + let nominator: AccountId = 100; + let (keys, proof) = make_session_keys_and_proof(nominator); + + // WHEN: Nominator tries to set keys + // THEN: NotValidator error is returned + assert_noop!( + rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(nominator), + keys, + proof, + None, + ), + rc_client::Error::::NotValidator + ); + }); + } + + #[test] + fn set_keys_xcm_send_fails() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Validator with sufficient balance and XCM delivery set to fail + let validator: AccountId = 1; + let (keys, proof) = make_session_keys_and_proof(validator); + XcmDeliveryFee::set(100); + NextRelayDeliveryFails::set(true); + + // WHEN: set_keys fails due to delivery failure + // THEN: XcmSendFailed error is returned + assert_noop!( + rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(validator), + keys, + proof, + None, + ), + rc_client::Error::::XcmSendFailed + ); + }); + } + + #[test] + fn set_keys_invalid_keys() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Account 1 is a validator with malformed keys + let validator: AccountId = 1; + // Cannot be decoded as RCSessionKeys + let invalid_keys: Keys = vec![0xff, 0xfe, 0xfd].try_into().unwrap(); + let proof: Proof = vec![].try_into().unwrap(); + + // WHEN: Validator tries to set invalid keys + // THEN: InvalidKeys error is returned + assert_noop!( + rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(validator), + invalid_keys, + proof, + None, + ), + rc_client::Error::::InvalidKeys + ); + }); + } + + #[test] + fn set_keys_invalid_proof() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Account 1 is a validator with valid keys but wrong proof + let validator: AccountId = 1; + // Generate keys for a different account (2) so the proof is invalid for validator (1) + let (keys, wrong_proof) = make_session_keys_and_proof(2); + + // WHEN: Validator tries to set keys with invalid proof + // THEN: InvalidProof error is returned + assert_noop!( + rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(validator), + keys, + wrong_proof, + None, + ), + rc_client::Error::::InvalidProof + ); + }); + } + + #[test] + fn set_keys_empty_proof() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Account 1 is a validator with valid keys but empty proof + let validator: AccountId = 1; + let (keys, _) = make_session_keys_and_proof(validator); + let empty_proof: Proof = vec![].try_into().unwrap(); + + // WHEN: Validator tries to set keys with empty proof + // THEN: InvalidProof error is returned + assert_noop!( + rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(validator), + keys, + empty_proof, + None, + ), + rc_client::Error::::InvalidProof + ); + }); + } + + #[test] + fn set_keys_malformed_proof() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Account 1 is a validator with valid keys but malformed proof + let validator: AccountId = 1; + let (keys, _) = make_session_keys_and_proof(validator); + let malformed_proof: Proof = vec![0xde, 0xad, 0xbe, 0xef].try_into().unwrap(); + + // WHEN: Validator tries to set keys with malformed proof + // THEN: InvalidProof error is returned + assert_noop!( + rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(validator), + keys, + malformed_proof, + None, + ), + rc_client::Error::::InvalidProof + ); + }); + } + + #[test] + fn set_keys_via_staking_proxy() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Account 1 is a validator (stash), account 99 is the proxy + let stash: AccountId = 1; + let proxy: AccountId = 99; + let (keys, proof) = make_session_keys_and_proof(stash); + + // Fund the proxy account so it can pay for proxy deposit + assert_ok!(Balances::force_set_balance(RuntimeOrigin::root(), proxy, 1000)); + + // Set up proxy relationship: proxy can act on behalf of stash for Staking calls + assert_ok!(pallet_proxy::Pallet::::add_proxy( + RuntimeOrigin::signed(stash), + proxy, + ProxyType::Staking, + 0, // no delay + )); + + // WHEN: Proxy calls set_keys on behalf of stash via Proxy::proxy() + let set_keys_call = RuntimeCall::RcClient(rc_client::Call::set_keys { + keys: keys.clone(), + proof, + max_delivery_and_remote_execution_fee: None, + }); + + // THEN: The call succeeds (keys forwarded to RC via XCM) + assert_ok!(pallet_proxy::Pallet::::proxy( + RuntimeOrigin::signed(proxy), + stash, + None, // no force_proxy_type + Box::new(set_keys_call), + )); + + // WHEN: Proxy calls purge_keys on behalf of stash + let purge_keys_call = RuntimeCall::RcClient(rc_client::Call::purge_keys { + max_delivery_and_remote_execution_fee: None, + }); + + // THEN: The call succeeds + assert_ok!(pallet_proxy::Pallet::::proxy( + RuntimeOrigin::signed(proxy), + stash, + None, + Box::new(purge_keys_call), + )); + }); + } + + #[test] + fn set_keys_fails_with_insufficient_balance() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Validator with insufficient balance to pay total fees + let validator: AccountId = 1; + let (keys, proof) = make_session_keys_and_proof(validator); + XcmDeliveryFee::set(Balances::free_balance(validator) + 1); + + // WHEN: Validator tries to set keys + // THEN: XcmSendFailed error is returned (fee charging failure causes XCM send to fail) + assert_noop!( + rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(validator), + keys, + proof, + None, + ), + rc_client::Error::::XcmSendFailed + ); + }); + } + + #[test] + fn set_keys_max_fee_scenarios() { + ExtBuilder::default().local_queue().build().execute_with(|| { + let validator: AccountId = 1; + let (keys, proof) = make_session_keys_and_proof(validator); + let delivery_fee: u128 = 50; + XcmDeliveryFee::set(delivery_fee); + let execution_cost = SetKeysExecutionCost::get(); + let total_fee = delivery_fee + execution_cost; + let balance_before = Balances::free_balance(validator); + + // max_fee > total: succeeds, charges total fee + hypothetically!({ + assert_ok!(rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(validator), + keys.clone(), + proof.clone(), + Some(total_fee + 100), + )); + assert_eq!(Balances::free_balance(validator), balance_before - total_fee); + }); + + // max_fee == total: succeeds + hypothetically!({ + assert_ok!(rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(validator), + keys.clone(), + proof.clone(), + Some(total_fee), + )); + assert_eq!(Balances::free_balance(validator), balance_before - total_fee); + }); + + // max_fee < total: fails with FeesExceededMax + hypothetically!({ + assert_noop!( + rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(validator), + keys.clone(), + proof.clone(), + Some(total_fee - 1), + ), + rc_client::Error::::FeesExceededMax + ); + }); + + // max_fee = 0, total = 0: succeeds (both delivery and execution cost are 0) + hypothetically!({ + XcmDeliveryFee::set(0); + SetKeysExecutionCost::set(0); + assert_ok!(rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(validator), + keys.clone(), + proof.clone(), + Some(0), + )); + assert_eq!(Balances::free_balance(validator), balance_before); + }); + }); + } + + #[test] + fn purge_keys_success() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Account 3 is a validator with delivery fees configured + let validator: AccountId = 3; + let delivery_fee: u128 = 50; + XcmDeliveryFee::set(delivery_fee); + let execution_cost = PurgeKeysExecutionCost::get(); + let total_fee = delivery_fee + execution_cost; + let balance_before = Balances::free_balance(validator); + let queue_len_before = LocalQueue::get().unwrap().len(); + + // WHEN: Validator purges session keys + assert_ok!(rc_client::Pallet::::purge_keys(RuntimeOrigin::signed(validator), None,)); + + // THEN: FeesPaid event is emitted with total fees (delivery + execution) + System::assert_has_event( + rc_client::Event::::FeesPaid { who: validator, fees: total_fee }.into(), + ); + + // AND: Validator's balance is reduced by the total fee amount + assert_eq!(Balances::free_balance(validator), balance_before - total_fee); + + // AND: PurgeKeys message is queued + let queue = LocalQueue::get().unwrap(); + assert_eq!(queue.len(), queue_len_before + 1); + assert!(matches!( + queue.last(), + Some((_, OutgoingMessages::PurgeKeys { stash })) if *stash == validator + )); + }); + } + + /// Test that purge_keys can be called by any account. + /// + /// Unlike set_keys (which requires validator status), purge_keys allows anyone to call it. + /// This matches the original pallet-session behavior and enables validators to purge their + /// keys after chilling. The RC will reject with NoKeys if no keys exist. + #[test] + fn purge_keys_allowed_for_any_account() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Account 101 is a nominator, not a validator + let nominator: AccountId = 101; + + // WHEN: Non-validator calls purge_keys + // THEN: Call succeeds - XCM is sent to RC (RC will validate if keys exist) + assert_ok!(rc_client::Pallet::::purge_keys(RuntimeOrigin::signed(nominator), None,)); + }); + } + + /// Test that a chilled validator can still purge their session keys. + #[test] + fn purge_keys_after_chilling() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Account 3 is initially a validator + let validator: AccountId = 3; + assert!(Staking::is_validator(&validator), "Account 3 should be a validator"); + + // WHEN: Validator chills (stops being a validator) + assert_ok!(Staking::chill(RuntimeOrigin::signed(validator))); + assert!( + !Staking::is_validator(&validator), + "Account 3 should no longer be a validator" + ); + + // THEN: Chilled account can still purge their session keys + assert_ok!(rc_client::Pallet::::purge_keys(RuntimeOrigin::signed(validator), None,)); + }); + } + + #[test] + fn purge_keys_xcm_send_fails() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Validator with XCM delivery set to fail + let validator: AccountId = 5; + XcmDeliveryFee::set(100); + NextRelayDeliveryFails::set(true); + + // WHEN: Validator purges session keys + // THEN: XcmSendFailed error is returned + assert_noop!( + rc_client::Pallet::::purge_keys(RuntimeOrigin::signed(validator), None), + rc_client::Error::::XcmSendFailed + ); + }); + } + + #[test] + fn purge_keys_fails_with_insufficient_balance() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: Account with insufficient balance to pay total fees + let account: AccountId = 3; + XcmDeliveryFee::set(Balances::free_balance(account) + 1); + + // WHEN: Account tries to purge keys + // THEN: XcmSendFailed error is returned (fee charging failure causes XCM send to fail) + assert_noop!( + rc_client::Pallet::::purge_keys(RuntimeOrigin::signed(account), None), + rc_client::Error::::XcmSendFailed + ); + }); + } + + #[test] + fn purge_keys_max_fee_scenarios() { + ExtBuilder::default().local_queue().build().execute_with(|| { + let account: AccountId = 3; + let delivery_fee: u128 = 50; + XcmDeliveryFee::set(delivery_fee); + let execution_cost = PurgeKeysExecutionCost::get(); + let total_fee = delivery_fee + execution_cost; + let balance_before = Balances::free_balance(account); + + // max_fee > total: succeeds + hypothetically!({ + assert_ok!(rc_client::Pallet::::purge_keys( + RuntimeOrigin::signed(account), + Some(total_fee + 100), + )); + assert_eq!(Balances::free_balance(account), balance_before - total_fee); + }); + + // max_fee == total: succeeds + hypothetically!({ + assert_ok!(rc_client::Pallet::::purge_keys( + RuntimeOrigin::signed(account), + Some(total_fee), + )); + assert_eq!(Balances::free_balance(account), balance_before - total_fee); + }); + + // max_fee < total: fails with FeesExceededMax + hypothetically!({ + assert_noop!( + rc_client::Pallet::::purge_keys( + RuntimeOrigin::signed(account), + Some(total_fee - 1), + ), + rc_client::Error::::FeesExceededMax + ); + }); + }); + } + + /// End-to-end test: set keys on AssetHub, verify on RelayChain, then purge and verify. + #[test] + fn set_and_purge_keys_e2e() { + // Set up both AH and RC states (no local_queue, so XCM messages flow through) + shared::put_ah_state(ExtBuilder::default().build()); + shared::put_rc_state(rc::ExtBuilder::default().session_keys(vec![1]).build()); + + let validator: AccountId = 1; + + // Generate valid keys and proof for AH validation (must match AHSessionKeys structure) + let (encoded_keys, proof) = make_session_keys_and_proof(validator); + + // WHEN: Validator sets keys on AH + shared::in_ah(|| { + assert_ok!(rc_client::Pallet::::set_keys( + RuntimeOrigin::signed(validator), + encoded_keys.clone(), + proof.clone(), + None, + )); + }); + + // THEN: Keys are registered on RC (RC uses UintAuthorityId directly) + shared::in_rc(|| { + let next_keys = pallet_session::NextKeys::::get(validator); + assert!(next_keys.is_some(), "Keys should be set on RC"); + }); + + // WHEN: Validator purges keys on AH + shared::in_ah(|| { + assert_ok!(rc_client::Pallet::::purge_keys(RuntimeOrigin::signed(validator), None,)); + }); + + // THEN: Keys are purged on RC + shared::in_rc(|| { + let next_keys = pallet_session::NextKeys::::get(validator); + assert!(next_keys.is_none(), "Keys should be purged on RC"); + }); + } +} diff --git a/substrate/frame/staking-async/ahm-test/src/ah/weights.rs b/substrate/frame/staking-async/integration-tests/src/ah/weights.rs similarity index 97% rename from substrate/frame/staking-async/ahm-test/src/ah/weights.rs rename to substrate/frame/staking-async/integration-tests/src/ah/weights.rs index d581f6dc27eff..18431b5cb65d7 100644 --- a/substrate/frame/staking-async/ahm-test/src/ah/weights.rs +++ b/substrate/frame/staking-async/integration-tests/src/ah/weights.rs @@ -201,7 +201,7 @@ impl pallet_staking_async::WeightInfo for StakingAsyncWeightInfo { fn migrate_currency() -> Weight { unreachable!() } - fn apply_slash() -> Weight { + fn apply_slash(_n: u32) -> Weight { Default::default() } fn process_offence_queue() -> Weight { @@ -231,7 +231,10 @@ impl pallet_staking_async::WeightInfo for StakingAsyncWeightInfo { fn prune_era_reward_points() -> Weight { unreachable!() } - fn prune_era_total_stake() -> Weight { + fn prune_era_single_entry_cleanups() -> Weight { + unreachable!() + } + fn prune_era_validator_slash_in_era(_: u32) -> Weight { unreachable!() } } diff --git a/substrate/frame/staking-async/ahm-test/src/lib.rs b/substrate/frame/staking-async/integration-tests/src/lib.rs similarity index 100% rename from substrate/frame/staking-async/ahm-test/src/lib.rs rename to substrate/frame/staking-async/integration-tests/src/lib.rs diff --git a/substrate/frame/staking-async/ahm-test/src/rc/mock.rs b/substrate/frame/staking-async/integration-tests/src/rc/mock.rs similarity index 94% rename from substrate/frame/staking-async/ahm-test/src/rc/mock.rs rename to substrate/frame/staking-async/integration-tests/src/rc/mock.rs index 70eaf9e5fc36e..ffb6afdd8a3e6 100644 --- a/substrate/frame/staking-async/ahm-test/src/rc/mock.rs +++ b/substrate/frame/staking-async/integration-tests/src/rc/mock.rs @@ -25,6 +25,7 @@ use frame_election_provider_support::{ onchain, SequentialPhragmen, }; use frame_support::traits::FindAuthor; +use pallet_session::TestSessionHandler; use pallet_staking_async_ah_client as ah_client; use pallet_staking_async_rc_client::{self as rc_client, ValidatorSetReport}; use sp_staking::SessionIndex; @@ -132,37 +133,6 @@ impl Convert> for ValidatorIdOf { } } -pub struct OtherSessionHandler; -impl OneSessionHandler for OtherSessionHandler { - type Key = UintAuthorityId; - - fn on_genesis_session<'a, I: 'a>(_: I) - where - I: Iterator, - AccountId: 'a, - { - } - - fn on_new_session<'a, I: 'a>(_: bool, _: I, _: I) - where - I: Iterator, - AccountId: 'a, - { - } - - fn on_disabled(_validator_index: u32) {} -} - -impl BoundToRuntimeAppPublic for OtherSessionHandler { - type Public = UintAuthorityId; -} - -frame::deps::sp_runtime::impl_opaque_keys! { - pub struct SessionKeys { - pub other: OtherSessionHandler, - } -} - parameter_types! { pub static Period: BlockNumber = 30; pub static Offset: BlockNumber = 0; @@ -182,8 +152,8 @@ impl pallet_session::Config for Runtime { type DisablingStrategy = pallet_session::disabling::UpToLimitDisablingStrategy<1>; - type Keys = SessionKeys; - type SessionHandler = ::KeyTypeIdProviders; + type Keys = UintAuthorityId; + type SessionHandler = TestSessionHandler; type NextSessionRotation = Self::ShouldEndSession; type ShouldEndSession = pallet_session::PeriodicSessions; @@ -295,13 +265,13 @@ impl ah_client::Config for Runtime { type CurrencyBalance = Balance; type AdminOrigin = EnsureRoot; type SendToAssetHub = DeliverToAH; - type AssetHubOrigin = EnsureSigned; + type AssetHubOrigin = EnsureRoot; type UnixTime = Timestamp; type MinimumValidatorSetSize = MinimumValidatorSetSize; type MaximumValidatorsWithPoints = MaximumValidatorsWithPoints; type PointsPerBlock = ConstU32<20>; type MaxOffenceBatchSize = MaxOffenceBatchSize; - type SessionInterface = Self; + type SessionInterface = Session; type Fallback = Staking; type MaxSessionReportRetries = ConstU32<3>; } @@ -527,8 +497,8 @@ impl ExtBuilder { pallet_balances::Pallet::::mint_into(&v, INITIAL_BALANCE).unwrap(); pallet_session::Pallet::::set_keys( RuntimeOrigin::signed(v), - SessionKeys { other: UintAuthorityId(v) }, - vec![], + UintAuthorityId(v), + Vec::new(), ) .unwrap(); } diff --git a/substrate/frame/staking-async/ahm-test/src/rc/mod.rs b/substrate/frame/staking-async/integration-tests/src/rc/mod.rs similarity index 100% rename from substrate/frame/staking-async/ahm-test/src/rc/mod.rs rename to substrate/frame/staking-async/integration-tests/src/rc/mod.rs diff --git a/substrate/frame/staking-async/ahm-test/src/rc/test.rs b/substrate/frame/staking-async/integration-tests/src/rc/test.rs similarity index 89% rename from substrate/frame/staking-async/ahm-test/src/rc/test.rs rename to substrate/frame/staking-async/integration-tests/src/rc/test.rs index ddd8c00731f91..8056d4ab3d403 100644 --- a/substrate/frame/staking-async/ahm-test/src/rc/test.rs +++ b/substrate/frame/staking-async/integration-tests/src/rc/test.rs @@ -18,7 +18,8 @@ use crate::rc::mock::*; use frame::testing_prelude::*; use pallet_staking_async_ah_client::{ - self as ah_client, Mode, OffenceSendQueue, OperatingMode, OutgoingSessionReport, UnexpectedKind, + self as ah_client, Mode, OffenceSendQueue, OperatingMode, OutgoingSessionReport, + SessionKeysUpdate, UnexpectedKind, }; use pallet_staking_async_rc_client::{ self as rc_client, Offence, SessionReport, ValidatorSetReport, @@ -1390,7 +1391,6 @@ mod splitting { } } -#[cfg(test)] mod key_proofs { use frame::traits::KeyOwnerProofSystem; use frame_support::sp_runtime; @@ -1437,7 +1437,7 @@ mod key_proofs { // generate the proof for one of the validators use sp_runtime::{key_types::DUMMY, testing::UintAuthorityId, traits::OpaqueKeys}; - let key_ids = ::key_ids(); + let key_ids = ::key_ids(); assert_eq!(key_ids.len(), 1, "we have inserted only one key type in mock"); let keys = pallet_session::Pallet::::load_keys(&1).unwrap(); @@ -1463,3 +1463,169 @@ mod key_proofs { }) } } + +mod session_keys { + use super::*; + use frame::deps::sp_runtime::DispatchError; + use frame_support::assert_noop; + + #[test] + fn set_update_purge_keys_from_ah_works() { + ExtBuilder::default() + .session_keys(vec![1]) + .local_queue() + .build() + .execute_with(|| { + // GIVEN: A valid validator stash account. + let stash: AccountId = 1; + let keys1 = frame::deps::sp_runtime::testing::UintAuthorityId(42); + + // WHEN: Setting initial keys from AH. + assert_ok!(ah_client::Pallet::::set_keys_from_ah( + RuntimeOrigin::root(), + stash, + keys1.encode(), + )); + + // THEN: Keys are registered. + assert_eq!( + pallet_session::NextKeys::::get(stash).unwrap(), + frame::deps::sp_runtime::testing::UintAuthorityId(42) + ); + + // WHEN: Updating to different keys. + let keys2 = frame::deps::sp_runtime::testing::UintAuthorityId(99); + assert_ok!(ah_client::Pallet::::set_keys_from_ah( + RuntimeOrigin::root(), + stash, + keys2.encode(), + )); + + // THEN: Keys are updated. + assert_eq!( + pallet_session::NextKeys::::get(stash).unwrap(), + frame::deps::sp_runtime::testing::UintAuthorityId(99) + ); + + // WHEN: Purging keys. + assert_ok!(ah_client::Pallet::::purge_keys_from_ah( + RuntimeOrigin::root(), + stash, + )); + + // THEN: Keys are removed. + assert!(pallet_session::NextKeys::::get(stash).is_none()); + }) + } + + #[test] + fn set_keys_from_ah_invalid_keys() { + ExtBuilder::default().local_queue().build().execute_with(|| { + // GIVEN: A stash with no existing keys and malformed keys that cannot be decoded. + let stash: AccountId = 42; + let invalid_keys = vec![0xff, 0xfe, 0xfd]; + + // WHEN: Setting invalid keys. + // THEN: Returns Ok (defensive - this should never happen since AH validates). + assert_ok!(ah_client::Pallet::::set_keys_from_ah( + RuntimeOrigin::root(), + stash, + invalid_keys, + )); + + // AND: An Unexpected event is emitted since this should never happen. + assert_eq!( + ah_client_events_since_last_call(), + vec![ah_client::Event::Unexpected(UnexpectedKind::InvalidKeysFromAssetHub)] + ); + + // AND: Keys were NOT set (operation silently failed). + assert!(pallet_session::NextKeys::::get(stash).is_none()); + }) + } + + #[test] + fn set_keys_from_ah_bad_origin() { + ExtBuilder::default() + .session_keys(vec![1]) + .local_queue() + .build() + .execute_with(|| { + // GIVEN: Valid stash and keys but an invalid origin (none). + let stash: AccountId = 1; + let keys = frame::deps::sp_runtime::testing::UintAuthorityId(42); + let encoded_keys = keys.encode(); + + // WHEN: Using RuntimeOrigin::none(). + // THEN: Fails with BadOrigin. + assert_noop!( + ah_client::Pallet::::set_keys_from_ah( + RuntimeOrigin::none(), + stash, + encoded_keys, + ), + DispatchError::BadOrigin + ); + + assert_noop!( + ah_client::Pallet::::purge_keys_from_ah(RuntimeOrigin::none(), stash,), + DispatchError::BadOrigin + ); + }) + } + + #[test] + fn purge_keys_from_ah_no_keys() { + ExtBuilder::default() + .session_keys(vec![1]) + .local_queue() + .build() + .execute_with(|| { + // GIVEN: A stash that has never set session keys. + let stash: AccountId = 99; + + // WHEN: Purging keys for an account that has none. + // THEN: Returns Ok but emits SessionKeysUpdateFailed with NoKeys error. + assert_ok!(ah_client::Pallet::::purge_keys_from_ah( + RuntimeOrigin::root(), + stash, + )); + System::assert_has_event( + ah_client::Event::::SessionKeysUpdateFailed { + stash, + update: SessionKeysUpdate::Purged, + error: pallet_session::Error::::NoKeys.into(), + } + .into(), + ); + }) + } + + #[test] + fn set_keys_from_ah_works_for_account_without_providers() { + ExtBuilder::default() + .session_keys(vec![1]) + .local_queue() + .build() + .execute_with(|| { + // GIVEN: Account 999 doesn't exist on RC (not funded, no provider reference). + // This simulates post-AHM scenario where stash balance is on AssetHub. + let stash: AccountId = 999; + let keys = frame::deps::sp_runtime::testing::UintAuthorityId(42); + let encoded_keys = keys.encode(); + + // WHEN: Setting keys via ah-client (privileged path). + // THEN: Succeeds because SessionInterface::set_keys bypasses provider checks. + assert_ok!(ah_client::Pallet::::set_keys_from_ah( + RuntimeOrigin::root(), + stash, + encoded_keys, + )); + + // AND: Keys are stored correctly. + let next_keys = pallet_session::NextKeys::::get(stash); + assert!(next_keys.is_some()); + assert_eq!(next_keys.unwrap(), keys.into()); + }) + } +} diff --git a/substrate/frame/staking-async/ahm-test/src/shared.rs b/substrate/frame/staking-async/integration-tests/src/shared.rs similarity index 100% rename from substrate/frame/staking-async/ahm-test/src/shared.rs rename to substrate/frame/staking-async/integration-tests/src/shared.rs diff --git a/substrate/frame/staking-async/rc-client/Cargo.toml b/substrate/frame/staking-async/rc-client/Cargo.toml index da2bbdf93173e..f5c60db03a2d4 100644 --- a/substrate/frame/staking-async/rc-client/Cargo.toml +++ b/substrate/frame/staking-async/rc-client/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true [dependencies] codec = { workspace = true, features = ["derive"] } +frame-benchmarking = { optional = true, workspace = true } frame-support = { workspace = true } frame-system = { workspace = true } impl-trait-for-tuples = "0.2.2" @@ -17,12 +18,17 @@ scale-info = { workspace = true, features = ["derive"] } sp-core = { workspace = true } sp-runtime = { features = ["serde"], workspace = true } sp-staking = { features = ["serde"], workspace = true } -xcm = { workspace = true } +# XCM dependencies are only needed for the optional XCMSender helper struct. +# They can be removed entirely once XCMSender is moved to a separate crate. +xcm = { optional = true, workspace = true } +xcm-builder = { optional = true, workspace = true } +xcm-executor = { optional = true, workspace = true } [features] default = ["std"] std = [ "codec/std", + "frame-benchmarking?/std", "frame-support/std", "frame-system/std", "log/std", @@ -30,13 +36,24 @@ std = [ "sp-core/std", "sp-runtime/std", "sp-staking/std", - "xcm/std", + "xcm-builder?/std", + "xcm-executor?/std", + "xcm?/std", ] +# Enables the XCMSender helper struct for runtimes that want to use XCM transport. +xcm-sender = ["xcm"] runtime-benchmarks = [ + "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "sp-staking/runtime-benchmarks", + # Benchmarks require XCM for delivery fee setup + "xcm", + "xcm-builder", + "xcm-builder/runtime-benchmarks", + "xcm-executor", + "xcm-executor/runtime-benchmarks", "xcm/runtime-benchmarks", ] try-runtime = [ diff --git a/substrate/frame/staking-async/rc-client/src/benchmarking.rs b/substrate/frame/staking-async/rc-client/src/benchmarking.rs new file mode 100644 index 0000000000000..72e6aa99b78d7 --- /dev/null +++ b/substrate/frame/staking-async/rc-client/src/benchmarking.rs @@ -0,0 +1,106 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Benchmarking setup for pallet-staking-async-rc-client. + +use alloc::vec::Vec; +use frame_benchmarking::v2::*; +use frame_system::RawOrigin; +use xcm::latest::Location; +use xcm_builder::EnsureDelivery; + +use crate::*; + +/// Wrapper pallet for benchmarking. +pub struct Pallet(crate::Pallet); + +/// Configuration trait for benchmarking `pallet-staking-async-rc-client`. +/// +/// The runtime must implement this trait to provide session keys generation +/// and XCM delivery setup for benchmarking purposes. +pub trait Config: crate::Config { + /// Helper that ensures successful XCM delivery for benchmarks. + type DeliveryHelper: EnsureDelivery; + + /// The relay chain location for XCM delivery. + fn relay_chain_location() -> Location { + Location::parent() + } + + /// Convert an AccountId to an XCM Location for fee charging. + fn account_to_location(account: Self::AccountId) -> Location; + + /// Generate relay chain session keys and ownership proof for benchmarking. + /// + /// Returns the SCALE-encoded session keys and SCALE-encoded ownership proof. + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Vec, Vec); + + /// Setup a validator account for benchmarking. + /// + /// Should return an account that: + /// - Is registered as a validator in the staking pallet + /// - Has sufficient balance for XCM delivery fees + fn setup_validator() -> Self::AccountId; +} + +#[benchmarks] +mod benchmarks { + use super::*; + use xcm_executor::traits::FeeReason; + + #[benchmark] + fn set_keys() -> Result<(), BenchmarkError> { + let stash = T::setup_validator(); + let (keys, proof) = T::generate_session_keys_and_proof(stash.clone()); + + // Ensure XCM delivery will succeed by setting up required fees/accounts. + let stash_location = T::account_to_location(stash.clone()); + let dest = T::relay_chain_location(); + T::DeliveryHelper::ensure_successful_delivery( + &stash_location, + &dest, + FeeReason::ChargeFees, + ); + + #[extrinsic_call] + crate::Pallet::::set_keys(RawOrigin::Signed(stash), keys, proof, None); + + Ok(()) + } + + #[benchmark] + fn purge_keys() -> Result<(), BenchmarkError> { + // purge_keys can be called by any account - it just forwards the request to RC. + // RC will handle whether keys exist or not. We only need an account with + // sufficient balance for XCM delivery fees. + let caller = T::setup_validator(); + + // Ensure XCM delivery will succeed. + let caller_location = T::account_to_location(caller.clone()); + let dest = T::relay_chain_location(); + T::DeliveryHelper::ensure_successful_delivery( + &caller_location, + &dest, + FeeReason::ChargeFees, + ); + + #[extrinsic_call] + crate::Pallet::::purge_keys(RawOrigin::Signed(caller), None); + + Ok(()) + } +} diff --git a/substrate/frame/staking-async/rc-client/src/lib.rs b/substrate/frame/staking-async/rc-client/src/lib.rs index dfcee1f6e02d1..cfadb160659ca 100644 --- a/substrate/frame/staking-async/rc-client/src/lib.rs +++ b/substrate/frame/staking-async/rc-client/src/lib.rs @@ -116,15 +116,71 @@ #![cfg_attr(not(feature = "std"), no_std)] extern crate alloc; + +#[cfg(feature = "runtime-benchmarks")] +pub mod benchmarking; +pub mod weights; + use alloc::{vec, vec::Vec}; +use codec::Decode; +#[cfg(feature = "xcm-sender")] use core::fmt::Display; -use frame_support::{pallet_prelude::*, storage::transactional::with_transaction_opaque_err}; -use sp_runtime::{traits::Convert, Perbill, TransactionOutcome}; +#[cfg(feature = "xcm-sender")] +use frame_support::storage::transactional::with_transaction_opaque_err; +use frame_support::{pallet_prelude::*, traits::tokens::Balance as BalanceTrait, weights::Weight}; +#[cfg(feature = "xcm-sender")] +use sp_runtime::{traits::Convert, TransactionOutcome}; +use sp_runtime::{traits::OpaqueKeys, Perbill}; use sp_staking::SessionIndex; -use xcm::latest::{send_xcm, Location, SendError, SendXcm, Xcm}; +// XCM imports are only used by the optional XCMSender helper struct for runtimes, not by the +// pallet's public API. The pallet only uses the abstract SendToRelayChain trait. +// +// TODO: Consider relocating `staking-async` pallets to `polkadot/pallets/` or +// `cumulus/pallets/`. These pallets are Polkadot-specific (AH↔RC communication) and leak XCM +// types into FRAME, which historically has been chain-agnostic. Alternatively, the `XCMSender` +// helper could be moved to runtime level, keeping this pallet XCM-agnostic through the +// `SendToRelayChain` trait abstraction. +#[cfg(feature = "xcm-sender")] +use xcm::latest::{ + send_xcm, validate_send, ExecuteXcm, Fungibility::Fungible, Instruction, Junction, Location, + OriginKind, SendError, SendXcm, WeightLimit, Xcm, +}; + +/// Builds an XCM message with `UnpaidExecution` + `Transact` from an encoded call. +/// +/// This is the standard pattern for system parachain β†’ relay chain messages where +/// the relay chain trusts the parachain origin and doesn't charge fees. +#[cfg(feature = "xcm-sender")] +pub fn build_transact_xcm(encoded_call: Vec) -> Xcm<()> { + Xcm(vec![ + Instruction::UnpaidExecution { weight_limit: WeightLimit::Unlimited, check_origin: None }, + Instruction::Transact { + origin_kind: OriginKind::Native, + fallback_max_weight: None, + call: encoded_call.into(), + }, + ]) +} + +/// Converts an `AccountId32`-compatible account to an XCM `Location`. +/// +/// Use this as the `AccountToLoc` parameter for [`XCMSender::send_with_fees`]. +#[cfg(feature = "xcm-sender")] +pub struct AccountId32ToLocation; + +#[cfg(feature = "xcm-sender")] +impl> Convert for AccountId32ToLocation { + fn convert(account: AccountId) -> Location { + Junction::AccountId32 { network: None, id: account.into() }.into() + } +} /// Export everything needed for the pallet to be used in the runtime. pub use pallet::*; +pub use weights::WeightInfo; + +/// Type alias for balance used in this pallet. +pub type BalanceOf = ::Balance; const LOG_TARGET: &str = "runtime::staking-async::rc-client"; @@ -139,6 +195,31 @@ macro_rules! log { }; } +/// Detailed errors for message send operations. +#[derive(Debug, Clone, PartialEq, Eq, Encode, Decode, DecodeWithMemTracking, TypeInfo)] +pub enum SendOperationError { + /// Failed to validate the message before sending. + ValidationFailed, + /// Failed to charge delivery fees from the payer. + ChargeFeesFailed, + /// Failed to deliver the message to the relay chain. + DeliveryFailed, +} + +/// Error type for [`SendToRelayChain`] operations. +#[derive(Debug, Clone, PartialEq, Eq, Encode, Decode, DecodeWithMemTracking, TypeInfo)] +pub enum SendKeysError { + /// Message send operation failed. + Send(SendOperationError), + /// Delivery fees exceeded the specified maximum. + FeesExceededMax { + /// The required fee amount. + required: Balance, + /// The maximum fee the user was willing to pay. + max: Balance, + }, +} + /// The communication trait of `pallet-staking-async-rc-client` -> `relay-chain`. /// /// This trait should only encapsulate our _outgoing_ communication to the RC. Any incoming @@ -146,21 +227,82 @@ macro_rules! log { /// /// In a real runtime, this is implemented via XCM calls, much like how the core-time pallet works. /// In a test runtime, it can be wired to direct function calls. +/// +/// Note: This trait intentionally avoids XCM types in its signature to keep the pallet +/// XCM-agnostic. The implementation details (XCM, direct calls, etc.) are left to the runtime. pub trait SendToRelayChain { /// The validator account ids. type AccountId; + /// The balance type used for fee limits and reporting. + type Balance: Parameter + Member + Copy; + /// Send a new validator set report to relay chain. #[allow(clippy::result_unit_err)] fn validator_set(report: ValidatorSetReport) -> Result<(), ()>; + + /// Send session keys to relay chain for registration. + /// + /// The keys are forwarded to `pallet-staking-async-ah-client::set_keys_from_ah` on the RC. + /// Note: proof is validated on AH side, so only validated keys are sent. + /// + /// The relay chain uses `UnpaidExecution`, so no fees are charged there. Instead, the total + /// fee (delivery + remote execution cost) is charged on AssetHub. + /// + /// - `stash`: The validator stash account. + /// - `keys`: The encoded session keys. + /// - `max_delivery_and_remote_execution_fee`: Optional maximum total fee the user is willing to + /// pay. This includes both the XCM delivery fee and the remote execution cost. If the actual + /// total fee exceeds this, the operation fails with [`SendKeysError::FeesExceededMax`]. Pass + /// `None` for unlimited (no cap). + /// + /// Returns the total fees charged on success (delivery + execution). + fn set_keys( + stash: Self::AccountId, + keys: Vec, + max_delivery_and_remote_execution_fee: Option, + ) -> Result>; + + /// Send a request to purge session keys on the relay chain. + /// + /// The request is forwarded to `pallet-staking-async-ah-client::purge_keys_from_ah` on the RC. + /// + /// The relay chain uses `UnpaidExecution`, so no fees are charged there. Instead, the total + /// fee (delivery + remote execution cost) is charged on AssetHub. + /// + /// - `stash`: The validator stash account. + /// - `max_delivery_and_remote_execution_fee`: Optional maximum total fee the user is willing to + /// pay. This includes both the XCM delivery fee and the remote execution cost. If the actual + /// total fee exceeds this, the operation fails with [`SendKeysError::FeesExceededMax`]. Pass + /// `None` for unlimited (no cap). + /// + /// Returns the total fees charged on success (delivery + execution). + fn purge_keys( + stash: Self::AccountId, + max_delivery_and_remote_execution_fee: Option, + ) -> Result>; } #[cfg(feature = "std")] impl SendToRelayChain for () { type AccountId = u64; + type Balance = u128; fn validator_set(_report: ValidatorSetReport) -> Result<(), ()> { unimplemented!(); } + fn set_keys( + _stash: Self::AccountId, + _keys: Vec, + _max_delivery_and_remote_execution_fee: Option, + ) -> Result> { + unimplemented!(); + } + fn purge_keys( + _stash: Self::AccountId, + _max_delivery_and_remote_execution_fee: Option, + ) -> Result> { + unimplemented!(); + } } /// The interface to communicate to asset hub. @@ -285,6 +427,45 @@ impl ValidatorSetReport { } } +/// Message for session keys operations (set or purge) sent from AH -> RC. +/// +/// This type is shared between `rc-client` (AssetHub) and `ah-client` (RelayChain). +/// The proof is validated on AH side, so only validated keys are sent to RC. +#[derive(Encode, Decode, DecodeWithMemTracking, Clone, PartialEq, Debug, TypeInfo)] +pub enum KeysMessage { + /// Set session keys for a validator. + SetKeys { + /// The validator stash account. + stash: AccountId, + /// The encoded session keys. + keys: Vec, + }, + /// Purge session keys for a validator. + PurgeKeys { + /// The validator stash account. + stash: AccountId, + }, +} + +impl KeysMessage { + /// Create a new SetKeys message. + pub fn set_keys(stash: AccountId, keys: Vec) -> Self { + Self::SetKeys { stash, keys } + } + + /// Create a new PurgeKeys message. + pub fn purge_keys(stash: AccountId) -> Self { + Self::PurgeKeys { stash } + } + + /// Get the stash account from the message. + pub fn stash(&self) -> &AccountId { + match self { + Self::SetKeys { stash, .. } | Self::PurgeKeys { stash } => stash, + } + } +} + #[derive(Encode, Decode, DecodeWithMemTracking, Clone, PartialEq, TypeInfo, MaxEncodedLen)] /// The information that is sent from RC -> AH on session end. pub struct SessionReport { @@ -414,10 +595,14 @@ impl SplittableMessage for ValidatorSetReport { /// It can be used both in the RC and AH. `Message` is the splittable message type, and `ToXcm` /// should be configured by the user, converting `message` to a valida `Xcm<()>`. It should utilize /// the correct call indices, which we only know at the runtime level. +// NOTE: to have the pallet fully XCM-agnostic, XCMSender should be moved out (to a new or existing +// XCM helper crate or to runtimes crates directly) +#[cfg(feature = "xcm-sender")] pub struct XCMSender( core::marker::PhantomData<(Sender, Destination, Message, ToXcm)>, ); +#[cfg(feature = "xcm-sender")] impl XCMSender where Sender: SendXcm, @@ -436,8 +621,108 @@ where // send_xcm already calls validate internally send_xcm::(dest, xcm).map(|_| ()).map_err(|_| ()) } + + /// Send the message with fee charging and optional max fee limit. + /// + /// This method validates the XCM message first, calculates the total fee (delivery + + /// execution), optionally checks if the total exceeds the specified maximum, charges + /// the total from the payer, and then delivers the message. + /// + /// The relay chain uses `UnpaidExecution`, so no fees are charged there. Instead, the + /// total cost (delivery + remote execution) is charged upfront on AssetHub. + /// + /// - `message`: The message to send + /// - `payer`: The account paying fees + /// - `max_delivery_and_remote_execution_fee`: Optional maximum total fee the user is willing to + /// pay + /// - `execution_cost`: The relay chain execution cost to include in the total + /// + /// Generic parameters: + /// - `XcmExec`: The XCM executor that implements `charge_fees` + /// - `Call`: The runtime call type (used by XcmExec) + /// - `AccountId`: The account identifier type + /// - `AccountToLoc`: Converter from AccountId to XCM Location + /// - `Balance`: The balance type for fee limits + /// + /// Returns the total fees charged on success (delivery + execution). + pub fn send_with_fees( + message: Message, + payer: AccountId, + max_delivery_and_remote_execution_fee: Option, + execution_cost: Balance, + ) -> Result> + where + XcmExec: ExecuteXcm, + AccountToLoc: Convert, + Balance: TryFrom + + Into + + PartialOrd + + Copy + + Default + + core::ops::Add, + { + let payer_location = AccountToLoc::convert(payer); + let xcm = ToXcm::convert(message); + let dest = Destination::get(); + + let (ticket, price) = validate_send::(dest, xcm).map_err(|e| { + log::error!(target: LOG_TARGET, "Failed to validate XCM: {:?}", e); + SendKeysError::Send(SendOperationError::ValidationFailed) + })?; + + // Extract the delivery fee asset from the price. + // + // For parachainβ†’relay chain messages, delivery fees are returned as a single + // fungible asset. This is based on `ExponentialPrice::price_for_delivery` in + // `polkadot/runtime/common/src/xcm_sender.rs` which returns `(AssetId, amount).into()`, + // converting to a single-element `Assets` via `impl> From for Assets`. + let fee_asset = price.inner().first().ok_or_else(|| { + log::error!(target: LOG_TARGET, "Empty price returned from validate_send"); + SendKeysError::Send(SendOperationError::ValidationFailed) + })?; + + let delivery_fee: Balance = match &fee_asset.fun { + Fungible(amount) => Balance::try_from(*amount).map_err(|_| { + log::error!(target: LOG_TARGET, "Failed to convert delivery fee amount"); + SendKeysError::Send(SendOperationError::ValidationFailed) + })?, + _ => { + log::error!(target: LOG_TARGET, "Non-fungible fee asset not supported"); + return Err(SendKeysError::Send(SendOperationError::ValidationFailed)); + }, + }; + + // Calculate total fee = delivery + execution + let total_fee = delivery_fee + execution_cost; + + // Check max fee before charging + if let Some(max) = max_delivery_and_remote_execution_fee { + if total_fee > max { + return Err(SendKeysError::FeesExceededMax { required: total_fee, max }); + } + } + + // Charge the total fee from the payer using the same asset as delivery fees + let total_assets = xcm::latest::Assets::from(xcm::latest::Asset { + id: fee_asset.id.clone(), + fun: Fungible(total_fee.into()), + }); + + XcmExec::charge_fees(payer_location, total_assets).map_err(|e| { + log::error!(target: LOG_TARGET, "Failed to charge fees: {:?}", e); + SendKeysError::Send(SendOperationError::ChargeFeesFailed) + })?; + + Sender::deliver(ticket).map_err(|e| { + log::error!(target: LOG_TARGET, "Failed to deliver XCM: {:?}", e); + SendKeysError::Send(SendOperationError::DeliveryFailed) + })?; + + Ok(total_fee) + } } +#[cfg(feature = "xcm-sender")] impl XCMSender where Sender: SendXcm, @@ -513,7 +798,10 @@ where { Ok((_ticket, price)) => { log::debug!(target: "runtime::staking-async::xcm", "πŸ“¨ validated, price: {:?}", price); - return Ok(current_messages.into_iter().map(ToXcm::convert).collect::>()); + return Ok(current_messages + .into_iter() + .map(ToXcm::convert) + .collect::>()); }, Err(SendError::ExceedsMaxMessageSize) => { log::debug!(target: "runtime::staking-async::xcm", "πŸ“¨ ExceedsMaxMessageSize -- reducing chunk_size"); @@ -573,6 +861,11 @@ pub trait AHStakingInterface { /// /// Returns the first session index of the currently active era. fn active_era_start_session_index() -> SessionIndex; + + /// Check if an account is a registered validator. + /// + /// Returns true if the account has called `validate()` and is in the `Validators` storage. + fn is_validator(who: &Self::AccountId) -> bool; } /// The communication trait of `pallet-staking-async` -> `pallet-staking-async-rc-client`. @@ -718,7 +1011,10 @@ pub mod pallet { type AHStakingInterface: AHStakingInterface; /// Our communication handle to the relay chain. - type SendToRelayChain: SendToRelayChain; + type SendToRelayChain: SendToRelayChain< + AccountId = Self::AccountId, + Balance = Self::Balance, + >; /// Maximum number of times that we retry sending a validator set to RC, after which, if /// sending still fails, we emit an [`UnexpectedKind::ValidatorSetDropped`] event and drop @@ -746,6 +1042,40 @@ pub mod pallet { /// /// Must be < SessionsPerEra. type ValidatorSetExportSession: Get; + + /// The session keys type that must match the Relay Chain's `pallet_session::Config::Keys`. + /// + /// This is used to validate session keys on AssetHub before forwarding to RC. + /// By decoding keys here, we ensure only valid data is sent via XCM, preventing + /// malicious validators from bloating the XCM queue with garbage. + /// + /// The type must implement `OpaqueKeys` for ownership proof validation and `Decode` + /// to verify the keys can be properly decoded. + type RelayChainSessionKeys: OpaqueKeys + Decode; + + /// The balance type used for delivery fee limits. + type Balance: BalanceTrait; + + /// Weight information for extrinsics in this pallet. + type WeightInfo: WeightInfo; + } + + #[pallet::error] + pub enum Error { + /// Failed to send XCM message to the Relay Chain. + XcmSendFailed, + /// The origin account is not a registered validator. + /// + /// Only accounts that have called `validate()` can set or purge session keys. When called + /// via a staking proxy, the origin is the delegating account (stash), which must be a + /// registered validator. + NotValidator, + /// The session keys could not be decoded as the expected RelayChainSessionKeys type. + InvalidKeys, + /// Invalid ownership proof for the session keys. + InvalidProof, + /// Delivery fees exceeded the specified maximum. + FeesExceededMax, } #[pallet::event] @@ -760,6 +1090,10 @@ pub mod pallet { }, /// A new offence was reported. OffenceReceived { slash_session: SessionIndex, offences_count: u32 }, + /// Fees were charged for a user operation (set_keys or purge_keys). + /// + /// The fee includes both XCM delivery fee and relay chain execution cost. + FeesPaid { who: T::AccountId, fees: BalanceOf }, /// Something occurred that should never happen under normal operation. /// Logged as an event for fail-safe observability. Unexpected(UnexpectedKind), @@ -915,5 +1249,133 @@ pub mod pallet { Ok(Some(weight).into()) } + + /// Set session keys for a validator. Keys are validated on AssetHub and forwarded to RC. + /// + /// **Validation on AssetHub:** + /// - Keys are decoded as `T::RelayChainSessionKeys` to ensure they match RC's expected + /// format. + /// - Ownership proof is validated using `OpaqueKeys::ownership_proof_is_valid`. + /// + /// If validation passes, only the validated keys are sent to RC (with empty proof), + /// since RC trusts AH's validation. This prevents malicious validators from bloating + /// the XCM queue with garbage data. + /// + /// This, combined with the enforcement of a high minimum validator bond, makes it + /// reasonable not to require a deposit. + /// + /// **Fees:** + /// The actual cost of this call is higher than what the weight-based fee estimate shows. + /// In addition to the local transaction weight fee, the stash account is charged an XCM + /// fee (delivery + RC execution cost) via `XcmExecutor::charge_fees`. The relay chain + /// uses `UnpaidExecution`, so the full remote cost is charged upfront on AssetHub. + /// + /// When called via a staking proxy, the proxy pays the transaction weight fee, + /// while the stash (delegating account) pays the XCM fee. + /// + /// **Max Fee Limit:** + /// Users can optionally specify `max_delivery_and_remote_execution_fee` to limit the + /// delivery + RC execution fee. This does not include the local transaction weight fee. If + /// the fee exceeds this limit, the operation fails with `FeesExceededMax`. Pass `None` for + /// unlimited (no cap). + /// + /// NOTE: unlike the current flow for new validators on RC (bond -> set_keys -> validate), + /// users on Asset Hub MUST call bond and validate BEFORE calling set_keys. Attempting to + /// set keys before declaring intent to validate will fail with NotValidator. + #[pallet::call_index(10)] + #[pallet::weight(T::WeightInfo::set_keys())] + pub fn set_keys( + origin: OriginFor, + keys: Vec, + proof: Vec, + max_delivery_and_remote_execution_fee: Option>, + ) -> DispatchResult { + let stash = ensure_signed(origin)?; + + // Only registered validators can set session keys + ensure!(T::AHStakingInterface::is_validator(&stash), Error::::NotValidator); + + // Validate keys: decode as RelayChainSessionKeys to ensure correct format + let session_keys = T::RelayChainSessionKeys::decode(&mut &keys[..]) + .map_err(|_| Error::::InvalidKeys)?; + + // Validate ownership proof + ensure!( + session_keys.ownership_proof_is_valid(&stash.encode(), &proof), + Error::::InvalidProof + ); + + // Forward validated keys to RC (no proof needed, already validated) + let fees = T::SendToRelayChain::set_keys( + stash.clone(), + keys, + max_delivery_and_remote_execution_fee, + ) + .map_err(|e| match e { + SendKeysError::Send(_) => Error::::XcmSendFailed, + SendKeysError::FeesExceededMax { .. } => Error::::FeesExceededMax, + })?; + Self::deposit_event(Event::FeesPaid { who: stash.clone(), fees }); + + log::info!(target: LOG_TARGET, "Session keys validated and set for {stash:?}, forwarded to RC"); + + Ok(()) + } + + /// Remove session keys for a validator. + /// + /// This purges the keys from the Relay Chain. + /// + /// Unlike `set_keys`, this does not require the caller to be a registered validator. + /// This is intentional: a validator who has chilled (stopped validating) should still + /// be able to purge their session keys. This matches the behavior of the original + /// `pallet-session::purge_keys` which allows anyone to call it. + /// + /// The Relay Chain will reject the call with `NoKeys` error if the account has no + /// keys set. + /// + /// **Fees:** + /// The actual cost of this call is higher than what the weight-based fee estimate shows. + /// In addition to the local transaction weight fee, the caller is charged an XCM fee + /// (delivery + RC execution cost) via `XcmExecutor::charge_fees`. The relay chain uses + /// `UnpaidExecution`, so the full remote cost is charged upfront on AssetHub. + /// + /// When called via a staking proxy, the proxy pays the transaction weight fee, + /// while the delegating account pays the XCM fee. + /// + /// **Max Fee Limit:** + /// Users can optionally specify `max_delivery_and_remote_execution_fee` to limit the + /// delivery + RC execution fee. This does not include the local transaction weight fee. If + /// the fee exceeds this limit, the operation fails with `FeesExceededMax`. Pass `None` for + /// unlimited (no cap). + // TODO: Once we allow setting and purging keys only on AssetHub, we can introduce a state + // (storage item) to track accounts that have called set_keys. We will also need to perform + // a migration to populate the state for all validators that have set keys via RC. + // + // Note: No deposit is currently held/released, same reason as per set_keys. + #[pallet::call_index(11)] + #[pallet::weight(T::WeightInfo::purge_keys())] + pub fn purge_keys( + origin: OriginFor, + max_delivery_and_remote_execution_fee: Option>, + ) -> DispatchResult { + let stash = ensure_signed(origin)?; + + // Forward purge request to RC + // Note: RC will fail with NoKeys if the account has no keys set + let fees = T::SendToRelayChain::purge_keys( + stash.clone(), + max_delivery_and_remote_execution_fee, + ) + .map_err(|e| match e { + SendKeysError::Send(_) => Error::::XcmSendFailed, + SendKeysError::FeesExceededMax { .. } => Error::::FeesExceededMax, + })?; + Self::deposit_event(Event::FeesPaid { who: stash.clone(), fees }); + + log::info!(target: LOG_TARGET, "Session keys purged for {stash:?}, forwarded to RC"); + + Ok(()) + } } } diff --git a/substrate/frame/staking-async/rc-client/src/weights.rs b/substrate/frame/staking-async/rc-client/src/weights.rs new file mode 100644 index 0000000000000..7f062468cd86d --- /dev/null +++ b/substrate/frame/staking-async/rc-client/src/weights.rs @@ -0,0 +1,92 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Autogenerated weights for `pallet_staking_async_rc_client` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2025-01-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `localhost`, CPU: `` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] +#![allow(dead_code)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use core::marker::PhantomData; + +/// Weight functions needed for `pallet_staking_async_rc_client`. +pub trait WeightInfo { + fn set_keys() -> Weight; + fn purge_keys() -> Weight; +} + +/// Weights for `pallet_staking_async_rc_client` using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +impl WeightInfo for SubstrateWeight { + /// Storage: `Staking::Validators` (r:1 w:0) + /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) + /// + /// This weight includes: + /// - One storage read to check if the caller is a validator + /// - Decoding session keys (6 public keys for Westend) + /// - Validating ownership proof (6 signature verifications) + /// - XCM message construction and sending + fn set_keys() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `3510` + // Minimum execution time: 150_000_000 picoseconds (placeholder - needs actual benchmarking) + // This is a conservative estimate accounting for: + // - 6 signature verifications (~20ms each = 120ms) + // - Key decoding and validation (~5ms) + // - Storage read and XCM construction (~5ms) + Weight::from_parts(150_000_000, 3510) + .saturating_add(T::DbWeight::get().reads(1_u64)) + } + + /// Storage: `Staking::Validators` (r:1 w:0) + /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) + /// + /// This weight includes: + /// - One storage read to check if the caller is a validator + /// - XCM message construction and sending + fn purge_keys() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `3510` + // Minimum execution time: 10_000_000 picoseconds (placeholder - needs actual benchmarking) + Weight::from_parts(10_000_000, 3510) + .saturating_add(T::DbWeight::get().reads(1_u64)) + } +} + +// For backwards compatibility and tests. +impl WeightInfo for () { + fn set_keys() -> Weight { + Weight::from_parts(150_000_000, 3510) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + } + + fn purge_keys() -> Weight { + Weight::from_parts(10_000_000, 3510) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + } +} diff --git a/substrate/frame/staking-async/reward-fn/Cargo.toml b/substrate/frame/staking-async/reward-fn/Cargo.toml deleted file mode 100644 index e9acca1d312ae..0000000000000 --- a/substrate/frame/staking-async/reward-fn/Cargo.toml +++ /dev/null @@ -1,25 +0,0 @@ -[package] -name = "pallet-staking-async-reward-fn" -version = "19.0.0" -authors.workspace = true -edition.workspace = true -license = "Apache-2.0" -homepage.workspace = true -repository.workspace = true -description = "Reward function for FRAME staking pallet" - -[lints] -workspace = true - -[package.metadata.docs.rs] -targets = ["x86_64-unknown-linux-gnu"] - -[lib] - -[dependencies] -log = { workspace = true } -sp-arithmetic = { workspace = true } - -[features] -default = ["std"] -std = ["log/std", "sp-arithmetic/std"] diff --git a/substrate/frame/staking-async/reward-fn/src/lib.rs b/substrate/frame/staking-async/reward-fn/src/lib.rs deleted file mode 100644 index d34a534c0425d..0000000000000 --- a/substrate/frame/staking-async/reward-fn/src/lib.rs +++ /dev/null @@ -1,224 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#![cfg_attr(not(feature = "std"), no_std)] - -//! Useful function for inflation for nominated proof of stake. - -use sp_arithmetic::{ - biguint::BigUint, - traits::{SaturatedConversion, Zero}, - PerThing, Perquintill, -}; - -/// Compute yearly inflation using function -/// -/// ```ignore -/// I(x) = for x between 0 and x_ideal: x / x_ideal, -/// for x between x_ideal and 1: 2^((x_ideal - x) / d) -/// ``` -/// -/// where: -/// * x is the stake rate, i.e. fraction of total issued tokens that actively staked behind -/// validators. -/// * d is the falloff or `decay_rate` -/// * x_ideal: the ideal stake rate. -/// -/// The result is meant to be scaled with minimum inflation and maximum inflation. -/// -/// (as detailed -/// [here](https://research.web3.foundation/Polkadot/overview/token-economics#inflation-model-with-parachains)) -/// -/// Arguments are: -/// * `stake`: The fraction of total issued tokens that actively staked behind validators. Known as -/// `x` in the literature. Must be between 0 and 1. -/// * `ideal_stake`: The fraction of total issued tokens that should be actively staked behind -/// validators. Known as `x_ideal` in the literature. Must be between 0 and 1. -/// * `falloff`: Known as `decay_rate` in the literature. A co-efficient dictating the strength of -/// the global incentivization to get the `ideal_stake`. A higher number results in less typical -/// inflation at the cost of greater volatility for validators. Must be more than 0.01. -pub fn compute_inflation(stake: P, ideal_stake: P, falloff: P) -> P { - if stake < ideal_stake { - // ideal_stake is more than 0 because it is strictly more than stake - return stake / ideal_stake - } - - if falloff < P::from_percent(1.into()) { - log::error!("Invalid inflation computation: falloff less than 1% is not supported"); - return PerThing::zero() - } - - let accuracy = { - let mut a = BigUint::from(Into::::into(P::ACCURACY)); - a.lstrip(); - a - }; - - let mut falloff = BigUint::from(falloff.deconstruct().into()); - falloff.lstrip(); - - let ln2 = { - /// `ln(2)` expressed in as perquintillionth. - const LN2: u64 = 0_693_147_180_559_945_309; - let ln2 = P::from_rational(LN2.into(), Perquintill::ACCURACY.into()); - BigUint::from(ln2.deconstruct().into()) - }; - - // falloff is stripped above. - let ln2_div_d = div_by_stripped(ln2.mul(&accuracy), &falloff); - - let inpos_param = INPoSParam { - x_ideal: BigUint::from(ideal_stake.deconstruct().into()), - x: BigUint::from(stake.deconstruct().into()), - accuracy, - ln2_div_d, - }; - - let res = compute_taylor_serie_part(&inpos_param); - - match u128::try_from(res.clone()) { - Ok(res) if res <= Into::::into(P::ACCURACY) => P::from_parts(res.saturated_into()), - // If result is beyond bounds there is nothing we can do - _ => { - log::error!("Invalid inflation computation: unexpected result {:?}", res); - P::zero() - }, - } -} - -/// Internal struct holding parameter info alongside other cached value. -/// -/// All expressed in part from `accuracy` -struct INPoSParam { - ln2_div_d: BigUint, - x_ideal: BigUint, - x: BigUint, - /// Must be stripped and have no leading zeros. - accuracy: BigUint, -} - -/// Compute `2^((x_ideal - x) / d)` using taylor serie. -/// -/// x must be strictly more than x_ideal. -/// -/// result is expressed with accuracy `INPoSParam.accuracy` -fn compute_taylor_serie_part(p: &INPoSParam) -> BigUint { - // The last computed taylor term. - let mut last_taylor_term = p.accuracy.clone(); - - // Whereas taylor sum is positive. - let mut taylor_sum_positive = true; - - // The sum of all taylor term. - let mut taylor_sum = last_taylor_term.clone(); - - for k in 1..300 { - last_taylor_term = compute_taylor_term(k, &last_taylor_term, p); - - if last_taylor_term.is_zero() { - break - } - - let last_taylor_term_positive = k % 2 == 0; - - if taylor_sum_positive == last_taylor_term_positive { - taylor_sum = taylor_sum.add(&last_taylor_term); - } else if taylor_sum >= last_taylor_term { - taylor_sum = taylor_sum - .sub(&last_taylor_term) - // NOTE: Should never happen as checked above - .unwrap_or_else(|e| e); - } else { - taylor_sum_positive = !taylor_sum_positive; - taylor_sum = last_taylor_term - .clone() - .sub(&taylor_sum) - // NOTE: Should never happen as checked above - .unwrap_or_else(|e| e); - } - } - - if !taylor_sum_positive { - return BigUint::zero() - } - - taylor_sum.lstrip(); - taylor_sum -} - -/// Return the absolute value of k-th taylor term of `2^((x_ideal - x))/d` i.e. -/// `((x - x_ideal) * ln(2) / d)^k / k!` -/// -/// x must be strictly more x_ideal. -/// -/// We compute the term from the last term using this formula: -/// -/// `((x - x_ideal) * ln(2) / d)^k / k! == previous_term * (x - x_ideal) * ln(2) / d / k` -/// -/// `previous_taylor_term` and result are expressed with accuracy `INPoSParam.accuracy` -fn compute_taylor_term(k: u32, previous_taylor_term: &BigUint, p: &INPoSParam) -> BigUint { - let x_minus_x_ideal = - p.x.clone() - .sub(&p.x_ideal) - // NOTE: Should never happen, as x must be more than x_ideal - .unwrap_or_else(|_| BigUint::zero()); - - let res = previous_taylor_term.clone().mul(&x_minus_x_ideal).mul(&p.ln2_div_d).div_unit(k); - - // p.accuracy is stripped by definition. - let res = div_by_stripped(res, &p.accuracy); - let mut res = div_by_stripped(res, &p.accuracy); - - res.lstrip(); - res -} - -/// Compute a div b. -/// -/// requires `b` to be stripped and have no leading zeros. -fn div_by_stripped(mut a: BigUint, b: &BigUint) -> BigUint { - a.lstrip(); - - if b.len() == 0 { - log::error!("Computation error: Invalid division"); - return BigUint::zero() - } - - if b.len() == 1 { - return a.div_unit(b.checked_get(0).unwrap_or(1)) - } - - if b.len() > a.len() { - return BigUint::zero() - } - - if b.len() == a.len() { - // 100_000^2 is more than 2^32-1, thus `new_a` has more limbs than `b`. - let mut new_a = a.mul(&BigUint::from(100_000u64.pow(2))); - new_a.lstrip(); - - debug_assert!(new_a.len() > b.len()); - return new_a - .div(b, false) - .map(|res| res.0) - .unwrap_or_else(BigUint::zero) - .div_unit(100_000) - .div_unit(100_000) - } - - a.div(b, false).map(|res| res.0).unwrap_or_else(BigUint::zero) -} diff --git a/substrate/frame/staking-async/reward-fn/tests/test.rs b/substrate/frame/staking-async/reward-fn/tests/test.rs deleted file mode 100644 index 9f2383ab574aa..0000000000000 --- a/substrate/frame/staking-async/reward-fn/tests/test.rs +++ /dev/null @@ -1,101 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use sp_arithmetic::{PerThing, PerU16, Perbill, Percent, Perquintill}; - -/// This test the precision and panics if error too big error. -/// -/// error is asserted to be less or equal to 8/accuracy or 8*f64::EPSILON -fn test_precision(stake: P, ideal_stake: P, falloff: P) { - let accuracy_f64 = Into::::into(P::ACCURACY) as f64; - let res = pallet_staking_async_reward_fn::compute_inflation(stake, ideal_stake, falloff); - let res = Into::::into(res.deconstruct()) as f64 / accuracy_f64; - - let expect = float_i_npos(stake, ideal_stake, falloff); - - let error = (res - expect).abs(); - - if error > 8f64 / accuracy_f64 && error > 8.0 * f64::EPSILON { - panic!( - "stake: {:?}, ideal_stake: {:?}, falloff: {:?}, res: {}, expect: {}", - stake, ideal_stake, falloff, res, expect - ); - } -} - -/// compute the inflation using floats -fn float_i_npos(stake: P, ideal_stake: P, falloff: P) -> f64 { - let accuracy_f64 = Into::::into(P::ACCURACY) as f64; - - let ideal_stake = Into::::into(ideal_stake.deconstruct()) as f64 / accuracy_f64; - let stake = Into::::into(stake.deconstruct()) as f64 / accuracy_f64; - let falloff = Into::::into(falloff.deconstruct()) as f64 / accuracy_f64; - - let x_ideal = ideal_stake; - let x = stake; - let d = falloff; - - if x < x_ideal { - x / x_ideal - } else { - 2_f64.powf((x_ideal - x) / d) - } -} - -#[test] -fn test_precision_for_minimum_falloff() { - fn test_falloff_precision_for_minimum_falloff() { - for stake in 0..1_000 { - let stake = P::from_rational(stake, 1_000); - let ideal_stake = P::zero(); - let falloff = P::from_rational(1, 100); - test_precision(stake, ideal_stake, falloff); - } - } - - test_falloff_precision_for_minimum_falloff::(); - - test_falloff_precision_for_minimum_falloff::(); - - test_falloff_precision_for_minimum_falloff::(); - - test_falloff_precision_for_minimum_falloff::(); -} - -#[test] -fn compute_inflation_works() { - fn compute_inflation_works() { - for stake in 0..100 { - for ideal_stake in 0..10 { - for falloff in 1..10 { - let stake = P::from_rational(stake, 100); - let ideal_stake = P::from_rational(ideal_stake, 10); - let falloff = P::from_rational(falloff, 100); - test_precision(stake, ideal_stake, falloff); - } - } - } - } - - compute_inflation_works::(); - - compute_inflation_works::(); - - compute_inflation_works::(); - - compute_inflation_works::(); -} diff --git a/substrate/frame/staking-async/runtimes/papi-tests/bun.lock b/substrate/frame/staking-async/runtimes/papi-tests/bun.lock index d02e09b547f85..c51b207b7f5bb 100644 --- a/substrate/frame/staking-async/runtimes/papi-tests/bun.lock +++ b/substrate/frame/staking-async/runtimes/papi-tests/bun.lock @@ -1,10 +1,13 @@ { "lockfileVersion": 1, + "configVersion": 0, "workspaces": { "": { "name": "papi-tests", "dependencies": { "@polkadot-labs/hdkd": "^0.0.16", + "@polkadot/keyring": "^14.0.1", + "@polkadot/util-crypto": "^14.0.1", "commander": "^14.0.0", "polkadot-api": "^1.13.1", "strip-ansi": "^7.1.0", @@ -153,6 +156,36 @@ "@polkadot-labs/hdkd-helpers": ["@polkadot-labs/hdkd-helpers@0.0.16", "", { "dependencies": { "@noble/curves": "^1.9.1", "@noble/hashes": "^1.8.0", "@scure/base": "^1.2.5", "micro-sr25519": "^0.1.3", "scale-ts": "^1.6.1" } }, "sha512-Lc6ydojO2X93+LyxG0sMJStP340xlqaHweLbClZXqt33himfTSba+X6cX+8bzi8tCx/sFwgWVKQpsZ55UlFgMQ=="], + "@polkadot/keyring": ["@polkadot/keyring@14.0.1", "", { "dependencies": { "@polkadot/util": "14.0.1", "@polkadot/util-crypto": "14.0.1", "tslib": "^2.8.0" } }, "sha512-kHydQPCeTvJrMC9VQO8LPhAhTUxzxfNF1HEknhZDBPPsxP/XpkYsEy/Ln1QzJmQqD5VsgwzLDE6cExbJ2CT9CA=="], + + "@polkadot/networks": ["@polkadot/networks@14.0.1", "", { "dependencies": { "@polkadot/util": "14.0.1", "@substrate/ss58-registry": "^1.51.0", "tslib": "^2.8.0" } }, "sha512-wGlBtXDkusRAj4P7uxfPz80gLO1+j99MLBaQi3bEym2xrFrFhgIWVHOZlBit/1PfaBjhX2Z8XjRxaM2w1p7w2w=="], + + "@polkadot/util": ["@polkadot/util@14.0.1", "", { "dependencies": { "@polkadot/x-bigint": "14.0.1", "@polkadot/x-global": "14.0.1", "@polkadot/x-textdecoder": "14.0.1", "@polkadot/x-textencoder": "14.0.1", "@types/bn.js": "^5.1.6", "bn.js": "^5.2.1", "tslib": "^2.8.0" } }, "sha512-764HhxkPV3x5rM0/p6QdynC2dw26n+SaE+jisjx556ViCd4E28Ke4xSPef6C0Spy4aoXf2gt0PuLEcBvd6fVZg=="], + + "@polkadot/util-crypto": ["@polkadot/util-crypto@14.0.1", "", { "dependencies": { "@noble/curves": "^1.3.0", "@noble/hashes": "^1.3.3", "@polkadot/networks": "14.0.1", "@polkadot/util": "14.0.1", "@polkadot/wasm-crypto": "^7.5.3", "@polkadot/wasm-util": "^7.5.3", "@polkadot/x-bigint": "14.0.1", "@polkadot/x-randomvalues": "14.0.1", "@scure/base": "^1.1.7", "@scure/sr25519": "^0.2.0", "tslib": "^2.8.0" } }, "sha512-Cu7AKUzBTsUkbOtyuNzXcTpDjR9QW0fVR56o3gBmzfUCmvO1vlsuGzmmPzqpHymQQ3rrfqV78CPs62EGhw0R+A=="], + + "@polkadot/wasm-bridge": ["@polkadot/wasm-bridge@7.5.4", "", { "dependencies": { "@polkadot/wasm-util": "7.5.4", "tslib": "^2.7.0" }, "peerDependencies": { "@polkadot/util": "*", "@polkadot/x-randomvalues": "*" } }, "sha512-6xaJVvoZbnbgpQYXNw9OHVNWjXmtcoPcWh7hlwx3NpfiLkkjljj99YS+XGZQlq7ks2fVCg7FbfknkNb8PldDaA=="], + + "@polkadot/wasm-crypto": ["@polkadot/wasm-crypto@7.5.4", "", { "dependencies": { "@polkadot/wasm-bridge": "7.5.4", "@polkadot/wasm-crypto-asmjs": "7.5.4", "@polkadot/wasm-crypto-init": "7.5.4", "@polkadot/wasm-crypto-wasm": "7.5.4", "@polkadot/wasm-util": "7.5.4", "tslib": "^2.7.0" }, "peerDependencies": { "@polkadot/util": "*", "@polkadot/x-randomvalues": "*" } }, "sha512-1seyClxa7Jd7kQjfnCzTTTfYhTa/KUTDUaD3DMHBk5Q4ZUN1D1unJgX+v1aUeXSPxmzocdZETPJJRZjhVOqg9g=="], + + "@polkadot/wasm-crypto-asmjs": ["@polkadot/wasm-crypto-asmjs@7.5.4", "", { "dependencies": { "tslib": "^2.7.0" }, "peerDependencies": { "@polkadot/util": "*" } }, "sha512-ZYwxQHAJ8pPt6kYk9XFmyuFuSS+yirJLonvP+DYbxOrARRUHfN4nzp4zcZNXUuaFhpbDobDSFn6gYzye6BUotA=="], + + "@polkadot/wasm-crypto-init": ["@polkadot/wasm-crypto-init@7.5.4", "", { "dependencies": { "@polkadot/wasm-bridge": "7.5.4", "@polkadot/wasm-crypto-asmjs": "7.5.4", "@polkadot/wasm-crypto-wasm": "7.5.4", "@polkadot/wasm-util": "7.5.4", "tslib": "^2.7.0" }, "peerDependencies": { "@polkadot/util": "*", "@polkadot/x-randomvalues": "*" } }, "sha512-U6s4Eo2rHs2n1iR01vTz/sOQ7eOnRPjaCsGWhPV+ZC/20hkVzwPAhiizu/IqMEol4tO2yiSheD4D6bn0KxUJhg=="], + + "@polkadot/wasm-crypto-wasm": ["@polkadot/wasm-crypto-wasm@7.5.4", "", { "dependencies": { "@polkadot/wasm-util": "7.5.4", "tslib": "^2.7.0" }, "peerDependencies": { "@polkadot/util": "*" } }, "sha512-PsHgLsVTu43eprwSvUGnxybtOEuHPES6AbApcs7y5ZbM2PiDMzYbAjNul098xJK/CPtrxZ0ePDFnaQBmIJyTFw=="], + + "@polkadot/wasm-util": ["@polkadot/wasm-util@7.5.4", "", { "dependencies": { "tslib": "^2.7.0" }, "peerDependencies": { "@polkadot/util": "*" } }, "sha512-hqPpfhCpRAqCIn/CYbBluhh0TXmwkJnDRjxrU9Bnqtw9nMNa97D8JuOjdd2pi0rxm+eeLQ/f1rQMp71RMM9t4w=="], + + "@polkadot/x-bigint": ["@polkadot/x-bigint@14.0.1", "", { "dependencies": { "@polkadot/x-global": "14.0.1", "tslib": "^2.8.0" } }, "sha512-gfozjGnebr2rqURs31KtaWumbW4rRZpbiluhlmai6luCNrf5u8pB+oLA35kPEntrsLk9PnIG9OsC/n4hEtx4OQ=="], + + "@polkadot/x-global": ["@polkadot/x-global@14.0.1", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-aCI44DJU4fU0XXqrrSGIpi7JrZXK2kpe0jaQ2p6oDVXOOYEnZYXnMhTTmBE1lF/xtxzX50MnZrrU87jziU0qbA=="], + + "@polkadot/x-randomvalues": ["@polkadot/x-randomvalues@14.0.1", "", { "dependencies": { "@polkadot/x-global": "14.0.1", "tslib": "^2.8.0" }, "peerDependencies": { "@polkadot/util": "14.0.1", "@polkadot/wasm-util": "*" } }, "sha512-/XkQcvshzJLHITuPrN3zmQKuFIPdKWoaiHhhVLD6rQWV60lTXA3ajw3ocju8ZN7xRxnweMS9Ce0kMPYa0NhRMg=="], + + "@polkadot/x-textdecoder": ["@polkadot/x-textdecoder@14.0.1", "", { "dependencies": { "@polkadot/x-global": "14.0.1", "tslib": "^2.8.0" } }, "sha512-CcWiPCuPVJsNk4Vq43lgFHqLRBQHb4r9RD7ZIYgmwoebES8TNm4g2ew9ToCzakFKSpzKu6I07Ne9wv/dt5zLuw=="], + + "@polkadot/x-textencoder": ["@polkadot/x-textencoder@14.0.1", "", { "dependencies": { "@polkadot/x-global": "14.0.1", "tslib": "^2.8.0" } }, "sha512-VY51SpQmF1ccmAGLfxhYnAe95Spfz049WZ/+kK4NfsGF9WejxVdU53Im5C80l45r8qHuYQsCWU3+t0FNunh2Kg=="], + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.44.0", "", { "os": "android", "cpu": "arm" }, "sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA=="], "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.44.0", "", { "os": "android", "cpu": "arm64" }, "sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw=="], @@ -197,10 +230,16 @@ "@scure/base": ["@scure/base@1.2.6", "", {}, "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg=="], + "@scure/sr25519": ["@scure/sr25519@0.2.0", "", { "dependencies": { "@noble/curves": "~1.9.2", "@noble/hashes": "~1.8.0" } }, "sha512-uUuLP7Z126XdSizKtrCGqYyR3b3hYtJ6Fg/XFUXmc2//k2aXHDLqZwFeXxL97gg4XydPROPVnuaHGF2+xriSKg=="], + "@sec-ant/readable-stream": ["@sec-ant/readable-stream@0.4.1", "", {}, "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg=="], "@sindresorhus/merge-streams": ["@sindresorhus/merge-streams@4.0.0", "", {}, "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ=="], + "@substrate/ss58-registry": ["@substrate/ss58-registry@1.51.0", "", {}, "sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ=="], + + "@types/bn.js": ["@types/bn.js@5.2.0", "", { "dependencies": { "@types/node": "*" } }, "sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q=="], + "@types/bun": ["@types/bun@1.2.16", "", { "dependencies": { "bun-types": "1.2.16" } }, "sha512-1aCZJ/6nSiViw339RsaNhkNoEloLaPzZhxMOYEa7OzRzO41IGg5n/7I43/ZIAW/c+Q6cT12Vf7fOZOoVIzb5BQ=="], "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], @@ -223,6 +262,8 @@ "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + "bn.js": ["bn.js@5.2.2", "", {}, "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw=="], + "brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], "bun-types": ["bun-types@1.2.16", "", { "dependencies": { "@types/node": "*" } }, "sha512-ciXLrHV4PXax9vHvUrkvun9VPVGOVwbbbBF/Ev1cXz12lyEZMoJpIJABOfPcN9gDJRaiKF9MVbSygLg4NXu3/A=="], @@ -523,6 +564,8 @@ "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + "@types/bn.js/@types/node": ["@types/node@24.0.3", "", { "dependencies": { "undici-types": "~7.8.0" } }, "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg=="], + "bun-types/@types/node": ["@types/node@24.0.3", "", { "dependencies": { "undici-types": "~7.8.0" } }, "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg=="], "color-string/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], @@ -559,6 +602,8 @@ "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], + "@types/bn.js/@types/node/undici-types": ["undici-types@7.8.0", "", {}, "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="], + "bun-types/@types/node/undici-types": ["undici-types@7.8.0", "", {}, "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="], "string-width-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], diff --git a/substrate/frame/staking-async/runtimes/papi-tests/package.json b/substrate/frame/staking-async/runtimes/papi-tests/package.json index 56401cfaffc81..34e0791bd6359 100644 --- a/substrate/frame/staking-async/runtimes/papi-tests/package.json +++ b/substrate/frame/staking-async/runtimes/papi-tests/package.json @@ -12,6 +12,8 @@ }, "dependencies": { "@polkadot-labs/hdkd": "^0.0.16", + "@polkadot/keyring": "^14.0.1", + "@polkadot/util-crypto": "^14.0.1", "commander": "^14.0.0", "polkadot-api": "^1.13.1", "strip-ansi": "^7.1.0", diff --git a/substrate/frame/staking-async/runtimes/papi-tests/src/utils.ts b/substrate/frame/staking-async/runtimes/papi-tests/src/utils.ts index 6f8ca6690c79b..531da0cdefd9e 100644 --- a/substrate/frame/staking-async/runtimes/papi-tests/src/utils.ts +++ b/substrate/frame/staking-async/runtimes/papi-tests/src/utils.ts @@ -11,13 +11,17 @@ import { withPolkadotSdkCompat } from "polkadot-api/polkadot-sdk-compat"; import { getWsProvider } from "polkadot-api/ws-provider/web"; import { createLogger, format, transports } from "winston"; import { sr25519CreateDerive } from "@polkadot-labs/hdkd"; -import { DEV_PHRASE, entropyToMiniSecret, mnemonicToEntropy, type KeyPair } from "@polkadot-labs/hdkd-helpers"; +import { + DEV_PHRASE, + entropyToMiniSecret, + mnemonicToEntropy, + type KeyPair, +} from "@polkadot-labs/hdkd-helpers"; import { getPolkadotSigner } from "polkadot-api/signer"; export const GlobalTimeout = 45 * 60 * 1000; export const aliceStash = "5GNJqTPyNqANBkUVMN1LPPrxXnFouWXoe2wNSmmEoLctxiZY"; - export const logger = createLogger({ level: process.env.LOG_LEVEL || "verbose", format: format.combine(format.timestamp(), format.cli()), @@ -28,8 +32,14 @@ export const logger = createLogger({ const miniSecret = entropyToMiniSecret(mnemonicToEntropy(DEV_PHRASE)); const derive = sr25519CreateDerive(miniSecret); const aliceKeyPair = derive("//Alice"); +const aliceStashKeyPair = derive("//Alice//stash"); export const alice = getPolkadotSigner(aliceKeyPair.publicKey, "Sr25519", aliceKeyPair.sign); +export const aliceStashSigner = getPolkadotSigner( + aliceStashKeyPair.publicKey, + "Sr25519", + aliceStashKeyPair.sign, +); export function deriveFrom(s: string, d: string): KeyPair { const miniSecret = entropyToMiniSecret(mnemonicToEntropy(s)); @@ -58,7 +68,7 @@ export type ApiDeclarations = { export async function nullifySigned( paraApi: TypedApi, - signer: PolkadotSigner = alice + signer: PolkadotSigner = alice, ): Promise { // signed and signed validation phase to 0 const call = paraApi.tx.System.set_storage({ @@ -68,7 +78,7 @@ export async function nullifySigned( Binary.fromBytes( Uint8Array.from([ 99, 88, 172, 210, 3, 94, 196, 187, 134, 63, 169, 129, 224, 193, 119, 185, - ]) + ]), ), Binary.fromBytes(Uint8Array.from([0, 0, 0, 0])), ], @@ -77,19 +87,19 @@ export async function nullifySigned( Binary.fromBytes( Uint8Array.from([ 72, 56, 74, 129, 110, 79, 113, 169, 54, 203, 118, 220, 158, 48, 63, 42, - ]) + ]), ), Binary.fromBytes(Uint8Array.from([0, 0, 0, 0])), ], ], }).decodedCall; - const res = await paraApi.tx.Sudo.sudo({ call }).signAndSubmit(alice); + const res = await paraApi.tx.Sudo.sudo({ call }).signAndSubmit(signer); return res.ok; } export async function nullifyUnsigned( paraApi: TypedApi, - signer: PolkadotSigner = alice + signer: PolkadotSigner = alice, ): Promise { // signed and signed validation phase to 0 const call = paraApi.tx.System.set_storage({ @@ -99,13 +109,13 @@ export async function nullifyUnsigned( Binary.fromBytes( Uint8Array.from([ 194, 9, 245, 216, 235, 146, 6, 129, 181, 108, 100, 184, 105, 78, 167, 140, - ]) + ]), ), Binary.fromBytes(Uint8Array.from([0, 0, 0, 0])), ], ], }).decodedCall; - const res = await paraApi.tx.Sudo.sudo({ call }).signAndSubmit(alice); + const res = await paraApi.tx.Sudo.sudo({ call }).signAndSubmit(signer); return res.ok; } @@ -124,7 +134,7 @@ export async function getApis(): Promise { // Safely convert anything to a string so we can compare them. export function safeJsonStringify(data: any): string { - const bigIntReplacer = (key: string, value: any): any => { + const bigIntReplacer = (_key: string, value: any): any => { if (typeof value === "bigint") { return value.toString(); } @@ -137,7 +147,146 @@ export function safeJsonStringify(data: any): string { // Handle potential errors during stringification (e.g., circular references) console.error("Error during JSON stringification:", error.message); throw new Error( - "Failed to stringify data due to unsupported types or circular references." + "Failed to stringify data due to unsupported types or circular references.", ); } } + +import { Keyring } from "@polkadot/keyring"; +import { cryptoWaitReady } from "@polkadot/util-crypto"; + +/// Session keys matching Westend relay chain configuration. +export interface SubstrateSessionKeys { + grandpa: { publicKey: Uint8Array; sign: (msg: Uint8Array) => Uint8Array }; + babe: { publicKey: Uint8Array; sign: (msg: Uint8Array) => Uint8Array }; + paraValidator: { publicKey: Uint8Array; sign: (msg: Uint8Array) => Uint8Array }; + paraAssignment: { publicKey: Uint8Array; sign: (msg: Uint8Array) => Uint8Array }; + authorityDiscovery: { publicKey: Uint8Array; sign: (msg: Uint8Array) => Uint8Array }; + beefy: { publicKey: Uint8Array; sign: (msg: Uint8Array) => Uint8Array }; +} + +/// Generate session keys using @polkadot/keyring with proper Substrate signing context. +/// Uses different key types as required by Westend: +/// - grandpa: ed25519 +/// - babe, para_validator, para_assignment, authority_discovery: sr25519 +/// - beefy: ecdsa +export async function generateSessionKeys(uri: string): Promise { + await cryptoWaitReady(); + + const sr25519Keyring = new Keyring({ type: "sr25519" }); + const ed25519Keyring = new Keyring({ type: "ed25519" }); + const ecdsaKeyring = new Keyring({ type: "ecdsa" }); + + // Create keypairs from the URI (e.g., "//Alice//stash") + const grandpaPair = ed25519Keyring.addFromUri(uri); + const babePair = sr25519Keyring.addFromUri(uri); + const paraValidatorPair = sr25519Keyring.addFromUri(uri); + const paraAssignmentPair = sr25519Keyring.addFromUri(uri); + const authorityDiscoveryPair = sr25519Keyring.addFromUri(uri); + const beefyPair = ecdsaKeyring.addFromUri(uri); + + return { + grandpa: { + publicKey: grandpaPair.publicKey, + sign: (msg: Uint8Array) => grandpaPair.sign(msg), + }, + babe: { + publicKey: babePair.publicKey, + sign: (msg: Uint8Array) => babePair.sign(msg), + }, + paraValidator: { + publicKey: paraValidatorPair.publicKey, + sign: (msg: Uint8Array) => paraValidatorPair.sign(msg), + }, + paraAssignment: { + publicKey: paraAssignmentPair.publicKey, + sign: (msg: Uint8Array) => paraAssignmentPair.sign(msg), + }, + authorityDiscovery: { + publicKey: authorityDiscoveryPair.publicKey, + sign: (msg: Uint8Array) => authorityDiscoveryPair.sign(msg), + }, + beefy: { + publicKey: beefyPair.publicKey, + sign: (msg: Uint8Array) => beefyPair.sign(msg), + }, + }; +} + +/// Encode session keys as SCALE bytes +export function encodeSessionKeys(keys: SubstrateSessionKeys): Uint8Array { + // grandpa: 32 bytes ed25519 + // babe: 32 bytes sr25519 + // para_validator: 32 bytes sr25519 + // para_assignment: 32 bytes sr25519 + // authority_discovery: 32 bytes sr25519 + // beefy: 33 bytes ecdsa (compressed) + const totalLength = 32 + 32 + 32 + 32 + 32 + 33; + const encoded = new Uint8Array(totalLength); + let offset = 0; + + encoded.set(keys.grandpa.publicKey, offset); + offset += 32; + encoded.set(keys.babe.publicKey, offset); + offset += 32; + encoded.set(keys.paraValidator.publicKey, offset); + offset += 32; + encoded.set(keys.paraAssignment.publicKey, offset); + offset += 32; + encoded.set(keys.authorityDiscovery.publicKey, offset); + offset += 32; + encoded.set(keys.beefy.publicKey, offset); + + return encoded; +} + +/// Create ownership proof by signing the statement of ownership with each key. +/// The proof is a SCALE-encoded tuple of signatures: +/// - grandpa: ed25519 signature (64 bytes) +/// - babe: sr25519 signature (64 bytes) +/// - para_validator: sr25519 signature (64 bytes) +/// - para_assignment: sr25519 signature (64 bytes) +/// - authority_discovery: sr25519 signature (64 bytes) +/// - beefy: ecdsa signature (65 bytes) +export function createOwnershipProof(keys: SubstrateSessionKeys, owner: Uint8Array): Uint8Array { + // Substrate's statement_of_ownership prefixes with "POP_" + const POP_PREFIX = new TextEncoder().encode("POP_"); + const statement = new Uint8Array(POP_PREFIX.length + owner.length); + statement.set(POP_PREFIX, 0); + statement.set(owner, POP_PREFIX.length); + + const grandpaSig = keys.grandpa.sign(statement); + const babeSig = keys.babe.sign(statement); + const paraValidatorSig = keys.paraValidator.sign(statement); + const paraAssignmentSig = keys.paraAssignment.sign(statement); + const authorityDiscoverySig = keys.authorityDiscovery.sign(statement); + const beefySig = keys.beefy.sign(statement); + + // Total: 64 + 64 + 64 + 64 + 64 + 65 = 385 bytes + const totalLength = 64 + 64 + 64 + 64 + 64 + 65; + const proof = new Uint8Array(totalLength); + let offset = 0; + + proof.set(grandpaSig, offset); + offset += 64; + proof.set(babeSig, offset); + offset += 64; + proof.set(paraValidatorSig, offset); + offset += 64; + proof.set(paraAssignmentSig, offset); + offset += 64; + proof.set(authorityDiscoverySig, offset); + offset += 64; + proof.set(beefySig, offset); + + return proof; +} + +/// Convert SS58 address to raw 32-byte AccountId. +/// This is a simplified version - for test accounts we can derive directly. +export function accountIdBytes(derivationPath: string): Uint8Array { + const secret = entropyToMiniSecret(mnemonicToEntropy(DEV_PHRASE)); + const derive = sr25519CreateDerive(secret); + const keyPair = derive(derivationPath); + return keyPair.publicKey; +} diff --git a/substrate/frame/staking-async/runtimes/papi-tests/tests/session-keys.test.ts b/substrate/frame/staking-async/runtimes/papi-tests/tests/session-keys.test.ts new file mode 100644 index 0000000000000..ea30a5a55f772 --- /dev/null +++ b/substrate/frame/staking-async/runtimes/papi-tests/tests/session-keys.test.ts @@ -0,0 +1,100 @@ +import { test, expect } from "bun:test"; +import { Presets } from "../src"; +import { runPresetUntilLaunched } from "../src/cmd"; +import { Chain, EventOutcome, Observe, runTest, TestCase } from "../src/test-case"; +import { + aliceStashSigner, + accountIdBytes, + createOwnershipProof, + encodeSessionKeys, + generateSessionKeys, + getApis, + GlobalTimeout, + logger, +} from "../src/utils"; +import { Binary } from "polkadot-api"; + +// Use real-s preset where alice and bob are actual validators. +const PRESET: Presets = Presets.RealS; + +test( + `session keys set_keys and purge_keys flow on ${PRESET}`, + async () => { + const { killZn, paraLog } = await runPresetUntilLaunched(PRESET); + const apis = await getApis(); + + const sessionKeys = await generateSessionKeys("//Alice//stash"); + logger.info("Generated session keys for alice"); + + const aliceStashBytes = accountIdBytes("//Alice//stash"); + logger.info(`Alice stash account: ${Buffer.from(aliceStashBytes).toString("hex")}`); + + const encodedKeys = encodeSessionKeys(sessionKeys); + logger.info(`Encoded session keys: ${encodedKeys.length} bytes`); + + const proof = createOwnershipProof(sessionKeys, aliceStashBytes); + logger.info(`Ownership proof: ${proof.length} bytes`); + + logger.info("Submitting set_keys for alice"); + const setKeysResult = await apis.paraApi.tx.StakingRcClient.set_keys({ + keys: Binary.fromBytes(encodedKeys), + proof: Binary.fromBytes(proof), + max_delivery_and_remote_execution_fee: undefined, + }).signAndSubmit(aliceStashSigner); + if (!setKeysResult.ok) { + const errStr = JSON.stringify(setKeysResult, (_, v) => + typeof v === "bigint" ? v.toString() : v, + ); + logger.error(`set_keys failed: ${errStr}`); + } else { + logger.info("set_keys succeeded"); + } + + const steps = [ + // Expect FeesPaid event on AH after set_keys with non-zero fees + Observe.on(Chain.Parachain, "StakingRcClient", "FeesPaid").withDataCheck((x: any) => { + logger.info(`FeesPaid (set_keys): who=${x.who}, fees=${x.fees}`); + // Verify fees are non-zero (delivery fees are charged) + return BigInt(x.fees) > 0n; + }), + // Expect SessionKeysUpdated on RC confirming keys were set + Observe.on(Chain.Relay, "StakingAhClient", "SessionKeysUpdated") + .withDataCheck((x: any) => { + logger.info(`SessionKeysUpdated: stash=${x.stash}, update=${x.update?.type}`); + return x.update?.type === "Set"; + }) + .onPass(async () => { + // After RC confirms keys set, submit purge_keys + logger.info("Submitting purge_keys for alice"); + apis.paraApi.tx.StakingRcClient.purge_keys({ + max_delivery_and_remote_execution_fee: undefined, + }).signAndSubmit(aliceStashSigner); + }), + // Expect FeesPaid event on AH after purge_keys with non-zero fees + Observe.on(Chain.Parachain, "StakingRcClient", "FeesPaid").withDataCheck((x: any) => { + logger.info(`FeesPaid (purge_keys): who=${x.who}, fees=${x.fees}`); + // Verify fees are non-zero (delivery fees are charged) + return BigInt(x.fees) > 0n; + }), + // Expect SessionKeysUpdated on RC confirming keys were purged + Observe.on(Chain.Relay, "StakingAhClient", "SessionKeysUpdated").withDataCheck( + (x: any) => { + logger.info(`SessionKeysUpdated: stash=${x.stash}, update=${x.update?.type}`); + return x.update?.type === "Purged"; + }, + ), + ]; + + const testCase = new TestCase( + steps.map((s) => s.build()), + true, + () => { + killZn(); + }, + ); + + const outcome = await runTest(testCase, apis, paraLog); + expect(outcome).toEqual(EventOutcome.Done); + }, + { timeout: GlobalTimeout }, +); diff --git a/substrate/frame/staking-async/runtimes/parachain/Cargo.toml b/substrate/frame/staking-async/runtimes/parachain/Cargo.toml index 990079b22a658..b51baf783f4c0 100644 --- a/substrate/frame/staking-async/runtimes/parachain/Cargo.toml +++ b/substrate/frame/staking-async/runtimes/parachain/Cargo.toml @@ -58,7 +58,7 @@ pallet-scheduler = { workspace = true } pallet-session = { workspace = true } pallet-staking-async = { workspace = true } pallet-staking-async-preset-store = { workspace = true } -pallet-staking-async-rc-client = { workspace = true } +pallet-staking-async-rc-client = { workspace = true, features = ["xcm-sender"] } pallet-staking-async-runtime-api = { workspace = true } pallet-state-trie-migration = { workspace = true } pallet-sudo = { workspace = true } @@ -72,8 +72,12 @@ pallet-vesting = { workspace = true } pallet-whitelist = { workspace = true } sp-api = { workspace = true } sp-arithmetic = { workspace = true } +sp-authority-discovery = { workspace = true } sp-block-builder = { workspace = true } sp-consensus-aura = { workspace = true } +sp-consensus-babe = { workspace = true } +sp-consensus-beefy = { workspace = true } +sp-consensus-grandpa = { workspace = true } sp-core = { workspace = true } sp-genesis-builder = { workspace = true } sp-inherents = { workspace = true } @@ -99,6 +103,7 @@ primitive-types = { features = [ pallet-xcm = { workspace = true } pallet-xcm-benchmarks = { optional = true, workspace = true } polkadot-parachain-primitives = { workspace = true } +polkadot-primitives = { workspace = true } polkadot-runtime-common = { workspace = true } westend-runtime-constants = { workspace = true } xcm = { workspace = true } @@ -118,6 +123,7 @@ cumulus-primitives-aura = { workspace = true } cumulus-primitives-core = { workspace = true } cumulus-primitives-utility = { workspace = true } pallet-collator-selection = { workspace = true } +pallet-dap = { workspace = true } pallet-message-queue = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } @@ -169,6 +175,7 @@ runtime-benchmarks = [ "pallet-balances/runtime-benchmarks", "pallet-collator-selection/runtime-benchmarks", "pallet-conviction-voting/runtime-benchmarks", + "pallet-dap/runtime-benchmarks", "pallet-delegated-staking/runtime-benchmarks", "pallet-election-provider-multi-block/runtime-benchmarks", "pallet-fast-unstake/runtime-benchmarks", @@ -199,6 +206,7 @@ runtime-benchmarks = [ "pallet-xcm/runtime-benchmarks", "parachains-common/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", + "polkadot-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "sp-staking/runtime-benchmarks", @@ -234,6 +242,7 @@ try-runtime = [ "pallet-balances/try-runtime", "pallet-collator-selection/try-runtime", "pallet-conviction-voting/try-runtime", + "pallet-dap/try-runtime", "pallet-delegated-staking/try-runtime", "pallet-election-provider-multi-block/try-runtime", "pallet-fast-unstake/try-runtime", @@ -305,6 +314,7 @@ std = [ "pallet-balances/std", "pallet-collator-selection/std", "pallet-conviction-voting/std", + "pallet-dap/std", "pallet-delegated-staking/std", "pallet-election-provider-multi-block/std", "pallet-fast-unstake/std", @@ -341,14 +351,19 @@ std = [ "parachain-info/std", "parachains-common/std", "polkadot-parachain-primitives/std", + "polkadot-primitives/std", "polkadot-runtime-common/std", "primitive-types/std", "scale-info/std", "serde_json/std", "sp-api/std", "sp-arithmetic/std", + "sp-authority-discovery/std", "sp-block-builder/std", "sp-consensus-aura/std", + "sp-consensus-babe/std", + "sp-consensus-beefy/std", + "sp-consensus-grandpa/std", "sp-core/std", "sp-genesis-builder/std", "sp-inherents/std", diff --git a/substrate/frame/staking-async/runtimes/parachain/src/genesis_config_presets.rs b/substrate/frame/staking-async/runtimes/parachain/src/genesis_config_presets.rs index afafb67e28fcc..766edcc656054 100644 --- a/substrate/frame/staking-async/runtimes/parachain/src/genesis_config_presets.rs +++ b/substrate/frame/staking-async/runtimes/parachain/src/genesis_config_presets.rs @@ -17,7 +17,7 @@ //! # Staking Async Runtime genesis config presets -use crate::*; +use crate::{staking::DapPalletId, *}; use alloc::{ string::{String, ToString}, vec, @@ -29,6 +29,7 @@ use parachains_common::{AccountId, AuraId}; use sp_core::{crypto::get_public_from_string_or_panic, sr25519}; use sp_genesis_builder::PresetId; use sp_keyring::Sr25519Keyring; +use sp_runtime::traits::AccountIdConversion; use sp_staking::StakerStatus; use testnet_parachains_constants::westend::{ currency::UNITS as WND, xcm_version::SAFE_XCM_VERSION, @@ -58,10 +59,13 @@ fn staking_async_parachain_genesis(params: GenesisParams, preset: String) -> ser root, id, } = params; + // Fund DAP buffer account with ED so it can receive slashes. + let dap_buffer: AccountId = DapPalletId::get().into_account_truncating(); + let mut balances: Vec<_> = endowed_accounts.iter().cloned().map(|k| (k, endowment)).collect(); + balances.push((dap_buffer, STAKING_ASYNC_PARA_ED)); + build_struct_json_patch!(RuntimeGenesisConfig { - balances: BalancesConfig { - balances: endowed_accounts.iter().cloned().map(|k| (k, endowment)).collect(), - }, + balances: BalancesConfig { balances }, parachain_info: ParachainInfoConfig { parachain_id: id }, collator_selection: CollatorSelectionConfig { invulnerables: invulnerables.iter().cloned().map(|(acc, _)| acc).collect(), diff --git a/substrate/frame/staking-async/runtimes/parachain/src/governance/mod.rs b/substrate/frame/staking-async/runtimes/parachain/src/governance/mod.rs index 6ad74378e50b6..476e3897b2697 100644 --- a/substrate/frame/staking-async/runtimes/parachain/src/governance/mod.rs +++ b/substrate/frame/staking-async/runtimes/parachain/src/governance/mod.rs @@ -111,7 +111,6 @@ impl pallet_referenda::Config for Runtime { parameter_types! { pub const SpendPeriod: BlockNumber = 6 * DAYS; - pub const Burn: Permill = Permill::from_perthousand(2); pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry"); pub const PayoutSpendPeriod: BlockNumber = 30 * DAYS; // The asset's interior location for the paying account. This is the Treasury @@ -137,7 +136,7 @@ impl pallet_treasury::Config for Runtime { type RejectOrigin = EitherOfDiverse, Treasurer>; type RuntimeEvent = RuntimeEvent; type SpendPeriod = SpendPeriod; - type Burn = Burn; + type Burn = (); type BurnDestination = (); type MaxApprovals = MaxApprovals; type WeightInfo = weights::pallet_treasury::WeightInfo; @@ -148,7 +147,7 @@ impl pallet_treasury::Config for Runtime { type BeneficiaryLookup = IdentityLookup; type Paymaster = PayOverXcm< TreasuryInteriorLocation, - crate::xcm_config::XcmRouter, + crate::xcm_config::XcmConfig, crate::PolkadotXcm, ConstU32<{ 6 * HOURS }>, Self::Beneficiary, diff --git a/substrate/frame/staking-async/runtimes/parachain/src/lib.rs b/substrate/frame/staking-async/runtimes/parachain/src/lib.rs index 7522820a0cc52..5c51c45e8062c 100644 --- a/substrate/frame/staking-async/runtimes/parachain/src/lib.rs +++ b/substrate/frame/staking-async/runtimes/parachain/src/lib.rs @@ -110,7 +110,7 @@ use frame_support::traits::PalletInfoAccess; #[cfg(feature = "runtime-benchmarks")] use xcm::latest::prelude::{ Asset, Assets as XcmAssets, Fungible, Here, InteriorLocation, Junction, Junction::*, Location, - NetworkId, NonFungible, Parent, ParentThen, Response, XCM_VERSION, + NetworkId, Parent, ParentThen, Response, XCM_VERSION, }; use xcm_runtime_apis::{ @@ -146,8 +146,12 @@ type RelayChainBlockNumberProvider = RelaychainDataProvider; parameter_types! { pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { @@ -1196,6 +1200,9 @@ construct_runtime!( Treasury: pallet_treasury = 96, AssetRate: pallet_asset_rate = 97, + // Dynamic Allocation Pool / Issuance buffer + Dap: pallet_dap = 98, + // Balances. Vesting: pallet_vesting = 100, @@ -1282,8 +1289,8 @@ impl assert_ok!(ForeignAssets::force_create( RuntimeOrigin::root(), asset_id.clone().into(), - account.clone().into(), /* owner */ - true, /* is_sufficient */ + account.clone().into(), // owner + true, // is_sufficient 1, )); @@ -1464,8 +1471,8 @@ impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -1870,7 +1877,15 @@ impl_runtime_apis! { } use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - impl cumulus_pallet_session_benchmarking::Config for Runtime {} + impl cumulus_pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + + } + } + + impl pallet_transaction_payment::BenchmarkConfig for Runtime {} parameter_types! { pub ExistentialDepositAsset: Option = Some(( @@ -2028,26 +2043,42 @@ impl_runtime_apis! { fn valid_destination() -> Result { Ok(WestendLocation::get()) } - fn worst_case_holding(depositable_count: u32) -> XcmAssets { + fn worst_case_holding(depositable_count: u32) -> xcm_executor::AssetsInHolding { + use pallet_xcm_benchmarks::MockCredit; // A mix of fungible, non-fungible, and concrete assets. let holding_non_fungibles = MaxAssetsIntoHolding::get() / 2 - depositable_count; - let holding_fungibles = holding_non_fungibles - 2; // -2 for two `iter::once` bellow + let holding_fungibles = holding_non_fungibles - 2; // -2 for two `iter::once` below let fungibles_amount: u128 = 100; - (0..holding_fungibles) - .map(|i| { - Asset { - id: AssetId(GeneralIndex(i as u128).into()), - fun: Fungible(fungibles_amount * (i + 1) as u128), // non-zero amount - } - }) - .chain(core::iter::once(Asset { id: AssetId(Here.into()), fun: Fungible(u128::MAX) })) - .chain(core::iter::once(Asset { id: AssetId(WestendLocation::get()), fun: Fungible(1_000_000 * UNITS) })) - .chain((0..holding_non_fungibles).map(|i| Asset { - id: AssetId(GeneralIndex(i as u128).into()), - fun: NonFungible(asset_instance_from(i)), - })) - .collect::>() - .into() + + let mut holding = xcm_executor::AssetsInHolding::new(); + + // Add fungible assets with MockCredit + for i in 0..holding_fungibles { + holding.fungible.insert( + AssetId(GeneralIndex(i as u128).into()), + alloc::boxed::Box::new(MockCredit(fungibles_amount * (i + 1) as u128)), + ); + } + + // Add two more fungible assets + holding.fungible.insert( + AssetId(Here.into()), + alloc::boxed::Box::new(MockCredit(u128::MAX)), + ); + holding.fungible.insert( + AssetId(WestendLocation::get()), + alloc::boxed::Box::new(MockCredit(1_000_000 * UNITS)), + ); + + // Add non-fungible assets + for i in 0..holding_non_fungibles { + holding.non_fungible.insert(( + AssetId(GeneralIndex(i as u128).into()), + asset_instance_from(i), + )); + } + + holding } } diff --git a/substrate/frame/staking-async/runtimes/parachain/src/staking.rs b/substrate/frame/staking-async/runtimes/parachain/src/staking.rs index b344a8e047c4d..48b262ab1ed6e 100644 --- a/substrate/frame/staking-async/runtimes/parachain/src/staking.rs +++ b/substrate/frame/staking-async/runtimes/parachain/src/staking.rs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -///! Staking, and election related pallet configurations. +/// ! Staking, and election related pallet configurations. use super::*; use cumulus_primitives_core::relay_chain::SessionIndex; use frame_election_provider_support::{ElectionDataProvider, SequentialPhragmen}; @@ -31,6 +31,7 @@ use sp_runtime::{ SaturatedConversion, }; use xcm::latest::prelude::*; +use xcm_executor::XcmExecutor as XcmExec; pub(crate) fn enable_dot_preset(fast: bool) { Pages::set(&32); @@ -416,6 +417,8 @@ parameter_types! { pub const BondingDuration: sp_staking::EraIndex = 2; // 1 era in which slashes can be cancelled (6 hours). pub const SlashDeferDuration: sp_staking::EraIndex = 1; + // Nominators can unbond faster (2 eras) when not slashable. + pub const NominatorFastUnbondDuration: sp_staking::EraIndex = 2; // Note: this is not really correct as Max Nominators is (MaxExposurePageSize * page_count) but // this is an unbounded number. We just set it to a reasonably high value, 1 full page // of nominators. @@ -436,11 +439,12 @@ impl pallet_staking_async::Config for Runtime { type RuntimeHoldReason = RuntimeHoldReason; type CurrencyToVote = sp_staking::currency_to_vote::SaturatingCurrencyToVote; type RewardRemainder = (); - type Slash = (); + type Slash = Dap; type Reward = (); type SessionsPerEra = SessionsPerEra; type BondingDuration = BondingDuration; type SlashDeferDuration = SlashDeferDuration; + type NominatorFastUnbondDuration = NominatorFastUnbondDuration; type AdminOrigin = EitherOf, StakingAdmin>; type EraPayout = EraPayout; type MaxExposurePageSize = MaxExposurePageSize; @@ -461,6 +465,19 @@ impl pallet_staking_async::Config for Runtime { type RcClientInterface = StakingRcClient; } +// Relay chain session keys matching Westend configuration. +sp_runtime::impl_opaque_keys! { + pub struct RelayChainSessionKeys { + pub grandpa: sp_consensus_grandpa::AuthorityId, + pub babe: sp_consensus_babe::AuthorityId, + pub para_validator: polkadot_primitives::ValidatorId, + pub para_assignment: polkadot_primitives::AssignmentId, + pub authority_discovery: sp_authority_discovery::AuthorityId, + pub beefy: sp_consensus_beefy::ecdsa_crypto::AuthorityId, + } +} + +// Relay chain session keys type for rc-client. impl pallet_staking_async_rc_client::Config for Runtime { type RelayChainOrigin = EnsureRoot; type AHStakingInterface = Staking; @@ -468,6 +485,18 @@ impl pallet_staking_async_rc_client::Config for Runtime { type MaxValidatorSetRetries = ConstU32<5>; // export validator session at end of session 4 within an era. type ValidatorSetExportSession = ConstU32<4>; + type RelayChainSessionKeys = RelayChainSessionKeys; + type Balance = Balance; + type WeightInfo = (); +} + +parameter_types! { + pub const DapPalletId: frame_support::PalletId = frame_support::PalletId(*b"dap/buff"); +} + +impl pallet_dap::Config for Runtime { + type Currency = Balances; + type PalletId = DapPalletId; } parameter_types! { @@ -485,24 +514,35 @@ pub enum RelayChainRuntimePallets { pub enum AhClientCalls { #[codec(index = 0)] ValidatorSet(rc_client::ValidatorSetReport), + #[codec(index = 3)] + SetKeysFromAh { stash: AccountId, keys: Vec }, + #[codec(index = 4)] + PurgeKeysFromAh { stash: AccountId }, } pub struct ValidatorSetToXcm; impl Convert, Xcm<()>> for ValidatorSetToXcm { fn convert(report: rc_client::ValidatorSetReport) -> Xcm<()> { - Xcm(vec![ - Instruction::UnpaidExecution { - weight_limit: WeightLimit::Unlimited, - check_origin: None, + rc_client::build_transact_xcm( + RelayChainRuntimePallets::AhClient(AhClientCalls::ValidatorSet(report)).encode(), + ) + } +} + +pub struct KeysMessageToXcm; +impl Convert, Xcm<()>> for KeysMessageToXcm { + fn convert(msg: rc_client::KeysMessage) -> Xcm<()> { + let encoded_call = match msg { + rc_client::KeysMessage::SetKeys { stash, keys } => { + RelayChainRuntimePallets::AhClient(AhClientCalls::SetKeysFromAh { stash, keys }) + .encode() }, - Instruction::Transact { - origin_kind: OriginKind::Native, - fallback_max_weight: None, - call: RelayChainRuntimePallets::AhClient(AhClientCalls::ValidatorSet(report)) + rc_client::KeysMessage::PurgeKeys { stash } => { + RelayChainRuntimePallets::AhClient(AhClientCalls::PurgeKeysFromAh { stash }) .encode() - .into(), }, - ]) + }; + rc_client::build_transact_xcm(encoded_call) } } @@ -510,6 +550,8 @@ pub struct StakingXcmToRelayChain; impl rc_client::SendToRelayChain for StakingXcmToRelayChain { type AccountId = AccountId; + type Balance = Balance; + fn validator_set(report: rc_client::ValidatorSetReport) -> Result<(), ()> { rc_client::XCMSender::< xcm_config::XcmRouter, @@ -518,6 +560,43 @@ impl rc_client::SendToRelayChain for StakingXcmToRelayChain { ValidatorSetToXcm, >::send(report) } + + fn set_keys( + stash: Self::AccountId, + keys: Vec, + max_fee: Option, + ) -> Result> { + rc_client::XCMSender::< + xcm_config::XcmRouter, + StakingXcmDestination, + rc_client::KeysMessage, + KeysMessageToXcm, + >::send_with_fees::< + XcmExec, + RuntimeCall, + AccountId, + rc_client::AccountId32ToLocation, + Self::Balance, + >(rc_client::KeysMessage::set_keys(stash.clone(), keys), stash, max_fee, 0) + } + + fn purge_keys( + stash: Self::AccountId, + max_fee: Option, + ) -> Result> { + rc_client::XCMSender::< + xcm_config::XcmRouter, + StakingXcmDestination, + rc_client::KeysMessage, + KeysMessageToXcm, + >::send_with_fees::< + XcmExec, + RuntimeCall, + AccountId, + rc_client::AccountId32ToLocation, + Self::Balance, + >(rc_client::KeysMessage::purge_keys(stash.clone()), stash, max_fee, 0) + } } impl pallet_fast_unstake::Config for Runtime { @@ -668,9 +747,7 @@ mod tests { use pallet_election_provider_multi_block::{ self as mb, signed::WeightInfo as _, unsigned::WeightInfo as _, }; - use remote_externalities::{ - Builder, Mode, OfflineConfig, OnlineConfig, SnapshotConfig, Transport, - }; + use remote_externalities::{Builder, Mode, OfflineConfig, OnlineConfig, SnapshotConfig}; use std::env::var; fn weight_diff(block: Weight, op: Weight) { @@ -805,8 +882,7 @@ mod tests { } sp_tracing::try_init_simple(); - let transport: Transport = - var("WS").unwrap_or("wss://westend-rpc.polkadot.io:443".to_string()).into(); + let transport_uri = var("WS").unwrap_or("wss://westend-rpc.polkadot.io:443".to_string()); let maybe_state_snapshot: Option = var("SNAP").map(|s| s.into()).ok(); let mut ext = Builder::::default() @@ -814,7 +890,7 @@ mod tests { Mode::OfflineOrElseOnline( OfflineConfig { state_snapshot: state_snapshot.clone() }, OnlineConfig { - transport, + transport_uris: vec![transport_uri.clone()], hashed_prefixes: vec![vec![]], state_snapshot: Some(state_snapshot), ..Default::default() @@ -823,7 +899,7 @@ mod tests { } else { Mode::Online(OnlineConfig { hashed_prefixes: vec![vec![]], - transport, + transport_uris: vec![transport_uri], ..Default::default() }) }) diff --git a/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_assets_foreign.rs b/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_assets_foreign.rs index 0c4e92392322f..dc1bd62b909bc 100644 --- a/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_assets_foreign.rs +++ b/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_assets_foreign.rs @@ -49,6 +49,7 @@ use core::marker::PhantomData; /// Weight functions for `pallet_assets`. pub struct WeightInfo(PhantomData); + impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) @@ -109,7 +110,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. - fn destroy_accounts(c: u32, ) -> Weight { + fn destroy_accounts(c: u32) -> Weight { // Proof Size summary in bytes: // Measured: `0 + c * (208 Β±0)` // Estimated: `4273 + c * (3207 Β±0)` @@ -131,7 +132,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. - fn destroy_approvals(a: u32, ) -> Weight { + fn destroy_approvals(a: u32) -> Weight { // Proof Size summary in bytes: // Measured: `413 + a * (86 Β±0)` // Estimated: `4273 + a * (3221 Β±0)` @@ -338,7 +339,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(_n: u32, s: u32, ) -> Weight { + fn set_metadata(_n: u32, s: u32) -> Weight { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` @@ -374,7 +375,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(n: u32, s: u32, ) -> Weight { + fn force_set_metadata(n: u32, s: u32) -> Weight { // Proof Size summary in bytes: // Measured: `81` // Estimated: `4273` @@ -625,9 +626,28 @@ impl pallet_assets::WeightInfo for WeightInfo { .saturating_add(Weight::from_parts(0, 4211)) .saturating_add(T::DbWeight::get().reads(1)) } - fn set_reserves() -> Weight { + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + fn set_reserves(n: u32) -> Weight { Weight::from_parts(31_972_000, 3675) + // Standard Error: 13_748 + .saturating_add(Weight::from_parts(198_975, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } + fn migration_v2_foreign_asset_set_reserve_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `256` + // Estimated: `0` + // Minimum execution time: 9_596_000 picoseconds. + Weight::from_parts(10_031_000, 0) + } + fn get_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `344` + // Estimated: `0` + // Minimum execution time: 10_591_000 picoseconds. + Weight::from_parts(11_015_000, 0) + } } diff --git a/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_assets_local.rs b/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_assets_local.rs index 912516b0d8bf4..1a1237bc0fda4 100644 --- a/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_assets_local.rs +++ b/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_assets_local.rs @@ -49,6 +49,7 @@ use core::marker::PhantomData; /// Weight functions for `pallet_assets`. pub struct WeightInfo(PhantomData); + impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `Assets::Asset` (r:1 w:1) /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) @@ -107,7 +108,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. - fn destroy_accounts(c: u32, ) -> Weight { + fn destroy_accounts(c: u32) -> Weight { // Proof Size summary in bytes: // Measured: `0 + c * (208 Β±0)` // Estimated: `3675 + c * (2609 Β±0)` @@ -129,7 +130,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. - fn destroy_approvals(a: u32, ) -> Weight { + fn destroy_approvals(a: u32) -> Weight { // Proof Size summary in bytes: // Measured: `451 + a * (86 Β±0)` // Estimated: `3675 + a * (2623 Β±0)` @@ -336,7 +337,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(_n: u32, _s: u32, ) -> Weight { + fn set_metadata(_n: u32, _s: u32) -> Weight { // Proof Size summary in bytes: // Measured: `280` // Estimated: `3675` @@ -370,7 +371,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(n: u32, s: u32, ) -> Weight { + fn force_set_metadata(n: u32, s: u32) -> Weight { // Proof Size summary in bytes: // Measured: `119` // Estimated: `3675` @@ -621,9 +622,28 @@ impl pallet_assets::WeightInfo for WeightInfo { .saturating_add(Weight::from_parts(0, 3613)) .saturating_add(T::DbWeight::get().reads(1)) } - fn set_reserves() -> Weight { + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + fn set_reserves(n: u32) -> Weight { Weight::from_parts(31_972_000, 3675) + // Standard Error: 13_748 + .saturating_add(Weight::from_parts(198_975, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } + fn migration_v2_foreign_asset_set_reserve_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `256` + // Estimated: `0` + // Minimum execution time: 9_596_000 picoseconds. + Weight::from_parts(10_031_000, 0) + } + fn get_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `344` + // Estimated: `0` + // Minimum execution time: 10_591_000 picoseconds. + Weight::from_parts(11_015_000, 0) + } } diff --git a/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_assets_pool.rs b/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_assets_pool.rs index 54c84d06d35f5..b7b222a14904a 100644 --- a/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_assets_pool.rs +++ b/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_assets_pool.rs @@ -49,6 +49,7 @@ use core::marker::PhantomData; /// Weight functions for `pallet_assets`. pub struct WeightInfo(PhantomData); + impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `PoolAssets::Asset` (r:1 w:1) /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) @@ -105,7 +106,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. - fn destroy_accounts(c: u32, ) -> Weight { + fn destroy_accounts(c: u32) -> Weight { // Proof Size summary in bytes: // Measured: `0 + c * (208 Β±0)` // Estimated: `3675 + c * (2609 Β±0)` @@ -127,7 +128,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. - fn destroy_approvals(a: u32, ) -> Weight { + fn destroy_approvals(a: u32) -> Weight { // Proof Size summary in bytes: // Measured: `451 + a * (86 Β±0)` // Estimated: `3675 + a * (2623 Β±0)` @@ -334,7 +335,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(n: u32, _s: u32, ) -> Weight { + fn set_metadata(n: u32, _s: u32) -> Weight { // Proof Size summary in bytes: // Measured: `280` // Estimated: `3675` @@ -370,7 +371,7 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(_n: u32, s: u32, ) -> Weight { + fn force_set_metadata(_n: u32, s: u32) -> Weight { // Proof Size summary in bytes: // Measured: `119` // Estimated: `3675` @@ -615,9 +616,28 @@ impl pallet_assets::WeightInfo for WeightInfo { .saturating_add(Weight::from_parts(0, 3613)) .saturating_add(T::DbWeight::get().reads(1)) } - fn set_reserves() -> Weight { + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + /// The range of component `n` is `[0, 5]`. + fn set_reserves(n: u32) -> Weight { Weight::from_parts(31_972_000, 3675) + // Standard Error: 13_748 + .saturating_add(Weight::from_parts(198_975, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } + fn migration_v2_foreign_asset_set_reserve_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `256` + // Estimated: `0` + // Minimum execution time: 9_596_000 picoseconds. + Weight::from_parts(10_031_000, 0) + } + fn get_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `344` + // Estimated: `0` + // Minimum execution time: 10_591_000 picoseconds. + Weight::from_parts(11_015_000, 0) + } } diff --git a/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_staking_async.rs b/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_staking_async.rs index 4e6b16cb89a05..7b59004ccffd3 100644 --- a/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_staking_async.rs +++ b/substrate/frame/staking-async/runtimes/parachain/src/weights/pallet_staking_async.rs @@ -86,7 +86,7 @@ pub trait WeightInfo { fn set_min_commission() -> Weight; fn restore_ledger() -> Weight; fn migrate_currency() -> Weight; - fn apply_slash() -> Weight; + fn apply_slash(n: u32, ) -> Weight; fn process_offence_queue() -> Weight; fn rc_on_offence(v: u32, ) -> Weight; fn rc_on_session_report() -> Weight; @@ -774,7 +774,7 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) /// Storage: `Balances::Holds` (r:513 w:513) /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) - fn apply_slash() -> Weight { + fn apply_slash(_n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `1002216` // Estimated: `1656954` @@ -1654,7 +1654,7 @@ impl WeightInfo for () { /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) /// Storage: `Balances::Holds` (r:513 w:513) /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) - fn apply_slash() -> Weight { + fn apply_slash(_n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `1002216` // Estimated: `1656954` diff --git a/substrate/frame/staking-async/runtimes/parachain/src/weights/xcm/mod.rs b/substrate/frame/staking-async/runtimes/parachain/src/weights/xcm/mod.rs index c83b6b91f9054..4b5e97998c414 100644 --- a/substrate/frame/staking-async/runtimes/parachain/src/weights/xcm/mod.rs +++ b/substrate/frame/staking-async/runtimes/parachain/src/weights/xcm/mod.rs @@ -45,8 +45,9 @@ impl WeighAssets for AssetFilter { WildFungibility::Fungible => weight, // Magic number 2 has to do with the fact that we could have up to 2 times // MaxAssetsIntoHolding in the worst-case scenario. - WildFungibility::NonFungible => - weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64), + WildFungibility::NonFungible => { + weight.saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64) + }, }, AllCounted(count) => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), AllOfCounted { count, .. } => weight.saturating_mul(MAX_ASSETS.min(*count as u64)), diff --git a/substrate/frame/staking-async/runtimes/parachain/src/xcm_config.rs b/substrate/frame/staking-async/runtimes/parachain/src/xcm_config.rs index 2976d9c5af606..4d696f1f75a03 100644 --- a/substrate/frame/staking-async/runtimes/parachain/src/xcm_config.rs +++ b/substrate/frame/staking-async/runtimes/parachain/src/xcm_config.rs @@ -16,11 +16,11 @@ // limitations under the License. use super::{ - AccountId, AllPalletsWithSystem, Assets, Authorship, Balance, Balances, BaseDeliveryFee, - CollatorSelection, FeeAssetId, FellowshipAdmin, ForeignAssets, ForeignAssetsInstance, - GeneralAdmin, ParachainInfo, ParachainSystem, PolkadotXcm, PoolAssets, Runtime, RuntimeCall, - RuntimeEvent, RuntimeOrigin, StakingAdmin, ToRococoXcmRouter, TransactionByteFee, Treasurer, - TrustBackedAssetsInstance, Uniques, WeightToFee, XcmpQueue, + AccountId, AllPalletsWithSystem, Assets, Balance, Balances, BaseDeliveryFee, CollatorSelection, + FeeAssetId, FellowshipAdmin, ForeignAssets, ForeignAssetsInstance, GeneralAdmin, ParachainInfo, + ParachainSystem, PolkadotXcm, PoolAssets, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, + StakingAdmin, ToRococoXcmRouter, TransactionByteFee, Treasurer, TrustBackedAssetsInstance, + Uniques, WeightToFee, XcmpQueue, }; use assets_common::{ matching::{FromSiblingParachain, IsForeignConcreteAsset, ParentLocation}, @@ -251,7 +251,6 @@ pub type XcmOriginToTransactDispatchOrigin = ( parameter_types! { pub const MaxInstructions: u32 = 100; pub const MaxAssetsIntoHolding: u32 = 64; - pub XcmAssetFeesReceiver: Option = Authorship::author(); } pub struct ParentOrParentsPlurality; @@ -432,19 +431,6 @@ impl xcm_executor::Config for XcmConfig { ResolveAssetTo, AccountId, >, - // This trader allows to pay with `is_sufficient=true` "Trust Backed" assets from dedicated - // `pallet_assets` instance - `Assets`. - cumulus_primitives_utility::TakeFirstAssetTrader< - AccountId, - AssetFeeAsExistentialDepositMultiplierFeeCharger, - TrustBackedAssetsConvertedConcreteId, - Assets, - cumulus_primitives_utility::XcmFeesTo32ByteAccount< - FungiblesTransactor, - AccountId, - XcmAssetFeesReceiver, - >, - >, // This trader allows to pay with `is_sufficient=true` "Foreign" assets from dedicated // `pallet_assets` instance - `ForeignAssets`. cumulus_primitives_utility::TakeFirstAssetTrader< @@ -452,16 +438,11 @@ impl xcm_executor::Config for XcmConfig { ForeignAssetFeeAsExistentialDepositMultiplierFeeCharger, ForeignAssetsConvertedConcreteId, ForeignAssets, - cumulus_primitives_utility::XcmFeesTo32ByteAccount< - ForeignFungiblesTransactor, - AccountId, - XcmAssetFeesReceiver, - >, + ResolveAssetTo, >, ); type ResponseHandler = PolkadotXcm; type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/substrate/frame/staking-async/runtimes/rc/Cargo.toml b/substrate/frame/staking-async/runtimes/rc/Cargo.toml index 273ac3f1f8799..1b916fa36942c 100644 --- a/substrate/frame/staking-async/runtimes/rc/Cargo.toml +++ b/substrate/frame/staking-async/runtimes/rc/Cargo.toml @@ -84,7 +84,7 @@ pallet-session = { workspace = true } pallet-staking = { workspace = true } pallet-staking-async-ah-client = { workspace = true } pallet-staking-async-preset-store = { workspace = true } -pallet-staking-async-rc-client = { workspace = true } +pallet-staking-async-rc-client = { workspace = true, features = ["xcm-sender"] } pallet-staking-async-rc-runtime-constants = { workspace = true } pallet-sudo = { workspace = true } pallet-timestamp = { workspace = true } diff --git a/substrate/frame/staking-async/runtimes/rc/src/lib.rs b/substrate/frame/staking-async/runtimes/rc/src/lib.rs index c0b61628114c9..38ad0a81bd072 100644 --- a/substrate/frame/staking-async/runtimes/rc/src/lib.rs +++ b/substrate/frame/staking-async/runtimes/rc/src/lib.rs @@ -792,7 +792,7 @@ impl pallet_staking_async_ah_client::Config for Runtime { type AssetHubOrigin = frame_support::traits::EitherOfDiverse, EnsureAssetHub>; type AdminOrigin = EnsureRoot; - type SessionInterface = Self; + type SessionInterface = Session; type SendToAssetHub = StakingXcmToAssetHub; type MinimumValidatorSetSize = ConstU32<1>; type MaximumValidatorsWithPoints = ConstU32<{ MaxActiveValidators::get() * 4 }>; @@ -999,7 +999,7 @@ impl pallet_bags_list::Config for Runtime { parameter_types! { pub const SpendPeriod: BlockNumber = 6 * DAYS; - pub const Burn: Permill = Permill::from_perthousand(2); + pub const Burn: Permill = Permill::zero(); pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry"); pub const PayoutSpendPeriod: BlockNumber = 30 * DAYS; // The asset's interior location for the paying account. This is the Treasury @@ -1034,7 +1034,7 @@ impl pallet_treasury::Config for Runtime { type BeneficiaryLookup = IdentityLookup; type Paymaster = PayOverXcm< TreasuryInteriorLocation, - crate::xcm_config::XcmRouter, + crate::xcm_config::XcmConfig, crate::XcmPallet, ConstU32<{ 6 * HOURS }>, Self::Beneficiary, @@ -2596,8 +2596,8 @@ sp_api::impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -2769,10 +2769,16 @@ sp_api::impl_runtime_apis! { use frame_system_benchmarking::Pallet as SystemBench; use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench; - impl pallet_session_benchmarking::Config for Runtime {} + impl pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } impl pallet_offences_benchmarking::Config for Runtime {} impl pallet_election_provider_support_benchmarking::Config for Runtime {} + use xcm_config::{AssetHub, TokenLocation}; use alloc::boxed::Box; @@ -2850,6 +2856,7 @@ sp_api::impl_runtime_apis! { } } impl frame_system_benchmarking::Config for Runtime {} + impl pallet_transaction_payment::BenchmarkConfig for Runtime {} impl polkadot_runtime_parachains::disputes::slashing::benchmarking::Config for Runtime {} use xcm::latest::{ @@ -2870,12 +2877,15 @@ sp_api::impl_runtime_apis! { fn valid_destination() -> Result { Ok(AssetHub::get()) } - fn worst_case_holding(_depositable_count: u32) -> Assets { + fn worst_case_holding(_depositable_count: u32) -> xcm_executor::AssetsInHolding { + use pallet_xcm_benchmarks::MockCredit; // Westend only knows about WND. - vec![Asset{ - id: AssetId(TokenLocation::get()), - fun: Fungible(1_000_000 * UNITS), - }].into() + let mut holding = xcm_executor::AssetsInHolding::new(); + holding.fungible.insert( + AssetId(TokenLocation::get()), + alloc::boxed::Box::new(MockCredit(1_000_000 * UNITS)), + ); + holding } } diff --git a/substrate/frame/staking-async/runtimes/rc/src/tests.rs b/substrate/frame/staking-async/runtimes/rc/src/tests.rs index 657370a9b6f95..307383817e343 100644 --- a/substrate/frame/staking-async/runtimes/rc/src/tests.rs +++ b/substrate/frame/staking-async/runtimes/rc/src/tests.rs @@ -106,9 +106,7 @@ fn check_treasury_pallet_id() { mod remote_tests { use super::*; use frame_try_runtime::{runtime_decl_for_try_runtime::TryRuntime, UpgradeCheckSelect}; - use remote_externalities::{ - Builder, Mode, OfflineConfig, OnlineConfig, SnapshotConfig, Transport, - }; + use remote_externalities::{Builder, Mode, OfflineConfig, OnlineConfig, SnapshotConfig}; use std::env::var; #[tokio::test] @@ -118,21 +116,23 @@ mod remote_tests { } sp_tracing::try_init_simple(); - let transport: Transport = - var("WS").unwrap_or("wss://westend-rpc.polkadot.io:443".to_string()).into(); + let transport_uri = var("WS").unwrap_or("wss://westend-rpc.polkadot.io:443".to_string()); let maybe_state_snapshot: Option = var("SNAP").map(|s| s.into()).ok(); let mut ext = Builder::::default() .mode(if let Some(state_snapshot) = maybe_state_snapshot { Mode::OfflineOrElseOnline( OfflineConfig { state_snapshot: state_snapshot.clone() }, OnlineConfig { - transport, + transport_uris: vec![transport_uri.clone()], state_snapshot: Some(state_snapshot), ..Default::default() }, ) } else { - Mode::Online(OnlineConfig { transport, ..Default::default() }) + Mode::Online(OnlineConfig { + transport_uris: vec![transport_uri], + ..Default::default() + }) }) .build() .await diff --git a/substrate/frame/staking-async/runtimes/rc/src/weights/xcm/mod.rs b/substrate/frame/staking-async/runtimes/rc/src/weights/xcm/mod.rs index ddba1294a8be9..f544eab8a04ac 100644 --- a/substrate/frame/staking-async/runtimes/rc/src/weights/xcm/mod.rs +++ b/substrate/frame/staking-async/runtimes/rc/src/weights/xcm/mod.rs @@ -41,8 +41,9 @@ pub enum AssetTypes { impl From<&Asset> for AssetTypes { fn from(asset: &Asset) -> Self { match asset { - Asset { id: AssetId(Location { parents: 0, interior: Here }), .. } => - AssetTypes::Balances, + Asset { id: AssetId(Location { parents: 0, interior: Here }), .. } => { + AssetTypes::Balances + }, _ => AssetTypes::Unknown, } } @@ -70,8 +71,9 @@ impl WeighAssets for AssetFilter { // We don't support any NFTs on Westend, so these two variants will always match // only 1 kind of fungible asset. Self::Wild(AllOf { .. } | AllOfCounted { .. }) => balances_weight, - Self::Wild(AllCounted(count)) => - balances_weight.saturating_mul(MAX_ASSETS.min(*count as u64)), + Self::Wild(AllCounted(count)) => { + balances_weight.saturating_mul(MAX_ASSETS.min(*count as u64)) + }, Self::Wild(All) => balances_weight.saturating_mul(MAX_ASSETS), } } diff --git a/substrate/frame/staking-async/runtimes/rc/src/xcm_config.rs b/substrate/frame/staking-async/runtimes/rc/src/xcm_config.rs index 7da9bdcdf3e9f..1126c2944abbd 100644 --- a/substrate/frame/staking-async/runtimes/rc/src/xcm_config.rs +++ b/substrate/frame/staking-async/runtimes/rc/src/xcm_config.rs @@ -215,7 +215,6 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = XcmPallet; type AssetLocker = (); type AssetExchanger = (); - type AssetClaims = XcmPallet; type SubscriptionService = XcmPallet; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/substrate/frame/staking-async/src/benchmarking.rs b/substrate/frame/staking-async/src/benchmarking.rs index b7a9e01df2e53..da0e14c554225 100644 --- a/substrate/frame/staking-async/src/benchmarking.rs +++ b/substrate/frame/staking-async/src/benchmarking.rs @@ -823,6 +823,7 @@ mod benchmarks { ConfigOp::Set(Percent::max_value()), ConfigOp::Set(Perbill::max_value()), ConfigOp::Set(Percent::max_value()), + ConfigOp::Set(false), ); assert_eq!(MinNominatorBond::::get(), BalanceOf::::max_value()); @@ -832,6 +833,7 @@ mod benchmarks { assert_eq!(ChillThreshold::::get(), Some(Percent::from_percent(100))); assert_eq!(MinCommission::::get(), Perbill::from_percent(100)); assert_eq!(MaxStakedRewards::::get(), Some(Percent::from_percent(100))); + assert_eq!(AreNominatorsSlashable::::get(), false); } #[benchmark] @@ -846,6 +848,7 @@ mod benchmarks { ConfigOp::Remove, ConfigOp::Remove, ConfigOp::Remove, + ConfigOp::Remove, ); assert!(!MinNominatorBond::::exists()); @@ -855,6 +858,7 @@ mod benchmarks { assert!(!ChillThreshold::::exists()); assert!(!MinCommission::::exists()); assert!(!MaxStakedRewards::::exists()); + assert!(!AreNominatorsSlashable::::exists()); } #[benchmark] @@ -879,6 +883,7 @@ mod benchmarks { ConfigOp::Set(Percent::from_percent(0)), ConfigOp::Set(Zero::zero()), ConfigOp::Noop, + ConfigOp::Noop, )?; let caller = whitelisted_caller(); @@ -966,7 +971,9 @@ mod benchmarks { } #[benchmark] - fn apply_slash() -> Result<(), BenchmarkError> { + fn apply_slash( + n: Linear<0, { T::MaxExposurePageSize::get() as u32 }>, + ) -> Result<(), BenchmarkError> { let era = EraIndex::one(); ActiveEra::::put(ActiveEraInfo { index: era, start: None }); let (validator, nominators, _current_era) = create_validator_with_nominators::( @@ -981,8 +988,12 @@ mod benchmarks { let slashed_balance = BalanceOf::::from(10u32); let slash_key = (validator.clone(), slash_fraction, page_index); - let slashed_nominators = - nominators.iter().map(|(n, _)| (n.clone(), slashed_balance)).collect::>(); + // Only include `n` nominators in the slash (to benchmark variable nominator counts) + let slashed_nominators = nominators + .iter() + .take(n as usize) + .map(|(nom, _)| (nom.clone(), slashed_balance)) + .collect::>(); let unapplied_slash = UnappliedSlash:: { validator: validator.clone(), @@ -1037,7 +1048,7 @@ mod benchmarks { let offender_exposure = Eras::::get_full_exposure(Rotator::::planned_era(), &offender); ensure!( - offender_exposure.others.len() as u32 == 2 * T::MaxExposurePageSize::get(), + offender_exposure.others.len() as u32 >= T::MaxExposurePageSize::get(), "exposure not created" ); @@ -1249,6 +1260,22 @@ mod benchmarks { // `ErasTotalStake` ErasTotalStake::::insert(era, BalanceOf::::max_value()); + // `ValidatorSlashInEra` - add slash entries for validators. + // We benchmark with 33% of validators slashed, representing the realistic worst-case + // under BFT assumptions (beyond 1/3 Byzantine validators, consensus security breaks). + let slashed_validators = validators / 3; + for i in 0..slashed_validators { + let validator = account::("validator", i, SEED); + crate::ValidatorSlashInEra::::insert( + era, + validator, + (Perbill::from_percent(10), BalanceOf::::max_value() / 10u32.into()), + ); + } + + // `ErasNominatorsSlashable` + ErasNominatorsSlashable::::insert(era, true); + era } @@ -1405,11 +1432,32 @@ mod benchmarks { Ok(()) } - // Benchmark pruning ErasTotalStake (final step) + // Benchmark pruning single-entry cleanups (seventh step) #[benchmark(pov_mode = Measured)] - fn prune_era_total_stake() -> Result<(), BenchmarkError> { + fn prune_era_single_entry_cleanups() -> Result<(), BenchmarkError> { let era = setup_era_for_pruning::(1); - EraPruningState::::insert(era, PruningStep::ErasTotalStake); + EraPruningState::::insert(era, PruningStep::SingleEntryCleanups); + + let caller: T::AccountId = whitelisted_caller(); + + let result; + #[block] + { + result = Pallet::::prune_era_step(RawOrigin::Signed(caller).into(), era); + } + + validate_pruning_weight::(&result, "SingleEntryCleanups", 1); + + Ok(()) + } + + // Benchmark pruning ValidatorSlashInEra (eighth step) + #[benchmark(pov_mode = Measured)] + fn prune_era_validator_slash_in_era( + v: Linear<1, { T::MaxValidatorSet::get() }>, + ) -> Result<(), BenchmarkError> { + let era = setup_era_for_pruning::(v); + EraPruningState::::insert(era, PruningStep::ValidatorSlashInEra); let caller: T::AccountId = whitelisted_caller(); @@ -1419,7 +1467,7 @@ mod benchmarks { result = Pallet::::prune_era_step(RawOrigin::Signed(caller).into(), era); } - validate_pruning_weight::(&result, "ErasTotalStake", 1); + validate_pruning_weight::(&result, "ValidatorSlashInEra", v); Ok(()) } diff --git a/substrate/frame/staking-async/src/ledger.rs b/substrate/frame/staking-async/src/ledger.rs index 55a07ddec5362..8d77a862df5ec 100644 --- a/substrate/frame/staking-async/src/ledger.rs +++ b/substrate/frame/staking-async/src/ledger.rs @@ -148,8 +148,9 @@ impl StakingLedger { pub(crate) fn paired_account(account: StakingAccount) -> Option { match account { StakingAccount::Stash(stash) => >::get(stash), - StakingAccount::Controller(controller) => - >::get(&controller).map(|ledger| ledger.stash), + StakingAccount::Controller(controller) => { + >::get(&controller).map(|ledger| ledger.stash) + }, } } @@ -171,8 +172,9 @@ impl StakingLedger { /// stash has a controller which is bonding a ledger associated with another stash. pub(crate) fn get(account: StakingAccount) -> Result, Error> { let (stash, controller) = match account { - StakingAccount::Stash(stash) => - (stash.clone(), >::get(&stash).ok_or(Error::::NotStash)?), + StakingAccount::Stash(stash) => { + (stash.clone(), >::get(&stash).ok_or(Error::::NotStash)?) + }, StakingAccount::Controller(controller) => ( Ledger::::get(&controller) .map(|l| l.stash) @@ -210,8 +212,9 @@ impl StakingLedger { ) -> Option> { let stash = match account { StakingAccount::Stash(stash) => Some(stash), - StakingAccount::Controller(controller) => - Self::paired_account(StakingAccount::Controller(controller)), + StakingAccount::Controller(controller) => { + Self::paired_account(StakingAccount::Controller(controller)) + }, }; if let Some(stash) = stash { @@ -244,7 +247,7 @@ impl StakingLedger { /// this helper function. pub(crate) fn update(self) -> Result<(), Error> { if !>::contains_key(&self.stash) { - return Err(Error::::NotStash) + return Err(Error::::NotStash); } // We skip locking virtual stakers. @@ -270,7 +273,7 @@ impl StakingLedger { /// It sets the reward preferences for the bonded stash. pub(crate) fn bond(self, payee: RewardDestination) -> Result<(), Error> { if >::contains_key(&self.stash) { - return Err(Error::::AlreadyBonded) + return Err(Error::::AlreadyBonded); } >::insert(&self.stash, payee); @@ -281,7 +284,7 @@ impl StakingLedger { /// Sets the ledger Payee. pub(crate) fn set_payee(self, payee: RewardDestination) -> Result<(), Error> { if !>::contains_key(&self.stash) { - return Err(Error::::NotStash) + return Err(Error::::NotStash); } >::insert(&self.stash, payee); @@ -392,7 +395,7 @@ impl StakingLedger { } if unlocking_balance >= value { - break + break; } } @@ -429,7 +432,7 @@ impl StakingLedger { slash_era: EraIndex, ) -> BalanceOf { if slash_amount.is_zero() { - return Zero::zero() + return Zero::zero(); } use sp_runtime::PerThing as _; @@ -522,7 +525,7 @@ impl StakingLedger { let mut slashed_unlocking = BTreeMap::<_, _>::new(); for i in slash_chunks_priority { if remaining_slash.is_zero() { - break + break; } if let Some(chunk) = self.unlocking.get_mut(i).defensive() { @@ -530,7 +533,7 @@ impl StakingLedger { // write the new slashed value of this chunk to the map. slashed_unlocking.insert(chunk.era, chunk.value); } else { - break + break; } } diff --git a/substrate/frame/staking-async/src/lib.rs b/substrate/frame/staking-async/src/lib.rs index 90c3864642a4f..171ec3e440912 100644 --- a/substrate/frame/staking-async/src/lib.rs +++ b/substrate/frame/staking-async/src/lib.rs @@ -405,6 +405,22 @@ impl) -> Self { + Self { + exposure_metadata: PagedExposureMetadata { + total: overview.total, + own: overview.own, + nominator_count: overview.nominator_count, + page_count: 1, + }, + exposure_page: ExposurePage { page_total: overview.total, others: vec![] }, + } + } + /// Returns total exposure of this validator across pages pub fn total(&self) -> Balance { self.exposure_metadata.total diff --git a/substrate/frame/staking-async/src/mock.rs b/substrate/frame/staking-async/src/mock.rs index c14e5c026accb..5ff71244d198a 100644 --- a/substrate/frame/staking-async/src/mock.rs +++ b/substrate/frame/staking-async/src/mock.rs @@ -82,6 +82,7 @@ parameter_types! { pub static SlashDeferDuration: EraIndex = 0; pub static MaxControllersInDeprecationBatch: u32 = 5900; pub static BondingDuration: EraIndex = 3; + pub static NominatorFastUnbondDuration: EraIndex = 2; pub static HistoryDepth: u32 = 80; pub static MaxExposurePageSize: u32 = 64; pub static MaxUnlockingChunks: u32 = 32; @@ -445,6 +446,7 @@ impl crate::pallet::pallet::Config for Test { type MaxUnlockingChunks = MaxUnlockingChunks; type HistoryDepth = HistoryDepth; type BondingDuration = BondingDuration; + type NominatorFastUnbondDuration = NominatorFastUnbondDuration; type MaxControllersInDeprecationBatch = MaxControllersInDeprecationBatch; type EventListeners = EventListenerMock; type MaxEraDuration = MaxEraDuration; @@ -493,6 +495,7 @@ pub struct ExtBuilder { stakes: BTreeMap, stakers: Vec<(AccountId, Balance, StakerStatus)>, flush_events: bool, + nominators_slashable: bool, } impl Default for ExtBuilder { @@ -508,6 +511,7 @@ impl Default for ExtBuilder { stakes: Default::default(), stakers: Default::default(), flush_events: true, + nominators_slashable: true, } } } @@ -554,6 +558,10 @@ impl ExtBuilder { SlashDeferDuration::set(eras); self } + pub(crate) fn set_nominators_slashable(mut self, slashable: bool) -> Self { + self.nominators_slashable = slashable; + self + } pub(crate) fn session_per_era(self, length: SessionIndex) -> Self { SessionsPerEra::set(length); self @@ -697,8 +705,10 @@ impl ExtBuilder { .assimilate_storage(&mut storage); let mut ext = sp_io::TestExternalities::from(storage); + let nominators_slashable = self.nominators_slashable; ext.execute_with(|| { + crate::AreNominatorsSlashable::::put(nominators_slashable); session_mock::Session::roll_until_active_era(1); RewardRemainderUnbalanced::set(0); if self.flush_events { diff --git a/substrate/frame/staking-async/src/pallet/impls.rs b/substrate/frame/staking-async/src/pallet/impls.rs index 63b7b2dac90ac..98135d83dc910 100644 --- a/substrate/frame/staking-async/src/pallet/impls.rs +++ b/substrate/frame/staking-async/src/pallet/impls.rs @@ -131,7 +131,7 @@ impl Pallet { })?; match Ledger::::get(controller) { - Some(ledger) => + Some(ledger) => { if ledger.stash != *stash { Ok(LedgerIntegrityState::Corrupted) } else { @@ -140,7 +140,8 @@ impl Pallet { } else { Ok(LedgerIntegrityState::Ok) } - }, + } + }, None => Ok(LedgerIntegrityState::CorruptedKilled), } } @@ -234,8 +235,12 @@ impl Pallet { // above returns earliest era for which offences are NOT processed yet, so we subtract // one from it which gives us the oldest era for which all offences are processed. .saturating_sub(1) - // Unlock chunks are keyed by the era they were initiated plus Bonding Duration. - // We do the same to processed offence era so they can be compared. + // Unlock chunks are keyed by the era they were initiated plus their unbond duration. + // We use full BondingDuration (validator duration) here because: + // - For validators: this is their actual unbond duration + // - For nominators: when slashable, they use full duration; when not slashable, their + // chunks already have shorter unlock eras (set during unbond), so this calculation + // still correctly allows their withdrawals. .saturating_add(T::BondingDuration::get()); // If there are unprocessed offences older than the active era, withdrawals are only @@ -370,7 +375,7 @@ impl Pallet { if Eras::::is_rewards_claimed(era, &stash, page) { return Err(Error::::AlreadyClaimed - .with_weight(T::WeightInfo::payout_stakers_alive_staked(0))) + .with_weight(T::WeightInfo::payout_stakers_alive_staked(0))); } Eras::::set_rewards_as_claimed(era, &stash, page); @@ -396,7 +401,7 @@ impl Pallet { // Nothing to do if they have no reward points. if validator_reward_points.is_zero() { - return Ok(Some(T::WeightInfo::payout_stakers_alive_staked(0)).into()) + return Ok(Some(T::WeightInfo::payout_stakers_alive_staked(0)).into()); } // This is the fraction of the total reward that the validator and the @@ -485,7 +490,7 @@ impl Pallet { ) -> Option<(PositiveImbalanceOf, RewardDestination)> { // noop if amount is zero if amount.is_zero() { - return None + return None; } let dest = Self::payee(StakingAccount::Stash(stash.clone()))?; @@ -534,6 +539,9 @@ impl Pallet { Self::do_remove_validator(&stash); Self::do_remove_nominator(&stash); + // Clean up validator history tracking. + LastValidatorEra::::remove(&stash); + Ok(()) } @@ -618,7 +626,7 @@ impl Pallet { // if voter weight is zero, do not consider this voter for the snapshot. if voter_weight.is_zero() { log!(debug, "voter's active balance is 0. skip this voter."); - continue + continue; } if let Some(Nominations { targets, .. }) = >::get(&voter) { @@ -633,7 +641,7 @@ impl Pallet { Self::deposit_event(Event::::SnapshotVotersSizeExceeded { size: voters_size_tracker.size as u32, }); - break + break; } all_voters.push(voter); @@ -659,7 +667,7 @@ impl Pallet { Self::deposit_event(Event::::SnapshotVotersSizeExceeded { size: voters_size_tracker.size as u32, }); - break + break; } all_voters.push(self_vote); validators_taken.saturating_inc(); @@ -721,7 +729,7 @@ impl Pallet { Self::deposit_event(Event::::SnapshotTargetsSizeExceeded { size: targets_size_tracker.size as u32, }); - break + break; } if Validators::::contains_key(&target) { @@ -900,7 +908,7 @@ impl Pallet { // dec provider let _ = frame_system::Pallet::::dec_providers(&stash)?; - return Ok(()) + return Ok(()); } } @@ -1007,7 +1015,7 @@ impl ElectionDataProvider for Pallet { let targets = Self::get_npos_targets(bounds); if bounds.exhausted(None, CountBound(targets.len() as u32).into()) { - return Err("Target snapshot too big") + return Err("Target snapshot too big"); } debug_assert!(!bounds.slice_exhausted(&targets)); @@ -1333,6 +1341,10 @@ impl rc_client::AHStakingInterface for Pallet { fn active_era_start_session_index() -> SessionIndex { Rotator::::active_era_start_session_index() } + + fn is_validator(who: &Self::AccountId) -> bool { + Validators::::contains_key(who) + } } impl ScoreProvider for Pallet { @@ -1553,12 +1565,39 @@ impl StakingInterface for Pallet { .map_err(|e| e.into()) } + /// Returns the bonding duration for validators. + /// + /// Validators always need to wait the full [`Config::BondingDuration`] before withdrawing + /// unbonded funds, as they may be subject to slashing for offences reported during this period. fn bonding_duration() -> EraIndex { T::BondingDuration::get() } + /// Returns the bonding duration for pure nominators. + /// + /// This returns the *potential* fast unbonding duration that pure nominators can use: + /// - When [`AreNominatorsSlashable`] is `true`, returns full [`Config::BondingDuration`] + /// - When [`AreNominatorsSlashable`] is `false`, returns + /// [`Config::NominatorFastUnbondDuration`] + /// + /// **Important**: The actual unbonding duration for a specific account is determined in + /// `unbond()` based on validator history (see [`LastValidatorEra`]): + /// - Validators always use full [`Config::BondingDuration`] + /// - Nominators who were validators in recent eras (within [`Config::BondingDuration`]) use + /// full [`Config::BondingDuration`] to ensure they can be slashed for past offences + /// - Pure nominators use the value returned by this function + fn nominator_bonding_duration() -> EraIndex { + if AreNominatorsSlashable::::get() { + T::BondingDuration::get() + } else { + T::NominatorFastUnbondDuration::get() + } + } + fn current_era() -> EraIndex { - CurrentEra::::get().unwrap_or(Zero::zero()) + // Named current_era for legacy interface compatibility, but returns active_era. + // Active era should be used for all non-election staking logic. + Rotator::::active_era() } fn stake(who: &Self::AccountId) -> Result>, DispatchError> { @@ -1652,7 +1691,7 @@ impl StakingInterface for Pallet { who: &Self::AccountId, ) -> Result, DispatchError> { if !StakingLedger::::is_bonded(StakingAccount::Stash(who.clone())) { - return Err(Error::::NotStash.into()) + return Err(Error::::NotStash.into()); } let is_validator = Validators::::contains_key(&who); @@ -1729,7 +1768,7 @@ impl sp_staking::StakingUnchecked for Pallet { payee: &Self::AccountId, ) -> DispatchResult { if StakingLedger::::is_bonded(StakingAccount::Stash(keyless_who.clone())) { - return Err(Error::::AlreadyBonded.into()) + return Err(Error::::AlreadyBonded.into()); } // check if payee not same as who. @@ -1813,9 +1852,11 @@ impl Pallet { // if stash == controller, it means that the ledger has migrated to // post-controller. If no migration happened, we expect that the (stash, // controller) pair has only one associated ledger. + { if stash != controller { count_double += 1; - }, + } + }, (None, None) => { count_none += 1; }, @@ -1861,16 +1902,20 @@ impl Pallet { } /// Invariants: - /// * Number of voters in `VoterList` match that of the number of Nominators and Validators in - /// the system (validator is both voter and target). /// * Number of targets in `TargetList` matches the number of validators in the system. /// * Current validator count is bounded by the election provider's max winners. fn check_count() -> Result<(), TryRuntimeError> { - ensure!( - ::VoterList::count() == - Nominators::::count() + Validators::::count(), - "wrong external count" + // When the bags list is locked, nominators and validators may be temporarily + // missing from the voter set. If `PendingRebag` is enabled, it will later + // reconcile the mismatch. + crate::log!( + debug, + "VoterList count: {}, Nominators count: {}, Validators count: {}", + ::VoterList::count(), + Nominators::::count(), + Validators::::count() ); + ensure!( ::TargetList::count() == Validators::::count(), "wrong external count" @@ -1953,10 +1998,23 @@ impl Pallet { /// * nominator_count is correct /// * total is own + sum of pages /// `ErasTotalStake`` must be correct + /// For each validator in `ErasStakersOverview`, `LastValidatorEra` should be set to the active + /// era. fn check_paged_exposures() -> Result<(), TryRuntimeError> { let Some(era) = ActiveEra::::get().map(|a| a.index) else { return Ok(()) }; let overview_and_pages = ErasStakersOverview::::iter_prefix(era) .map(|(validator, metadata)| { + // ensure `LastValidatorEra` is correctly set + if LastValidatorEra::::get(&validator) != Some(era) { + log!( + warn, + "Validator {:?} has incorrect LastValidatorEra (expected {:?}, got {:?})", + validator, + era, + LastValidatorEra::::get(&validator) + ); + } + let pages = ErasStakersPaged::::iter_prefix((era, validator)) .map(|(_idx, page)| page) .collect::>(); diff --git a/substrate/frame/staking-async/src/pallet/mod.rs b/substrate/frame/staking-async/src/pallet/mod.rs index b035e4e955a2c..38ffbf490caac 100644 --- a/substrate/frame/staking-async/src/pallet/mod.rs +++ b/substrate/frame/staking-async/src/pallet/mod.rs @@ -69,7 +69,7 @@ pub mod pallet { use crate::{session_rotation, PagedExposureMetadata, SnapshotStatus}; use codec::HasCompact; use frame_election_provider_support::{ElectionDataProvider, PageIndex}; - use frame_support::{weights::WeightMeter, DefaultNoBound}; + use frame_support::{traits::ConstBool, weights::WeightMeter, DefaultNoBound}; /// Represents the current step in the era pruning process #[derive(Encode, Decode, Clone, Copy, PartialEq, Eq, Debug, TypeInfo, MaxEncodedLen)] @@ -86,8 +86,10 @@ pub mod pallet { ErasValidatorReward, /// Pruning ErasRewardPoints storage ErasRewardPoints, - /// Pruning ErasTotalStake storage - ErasTotalStake, + /// Pruning single-entry storages: ErasTotalStake and ErasNominatorsSlashable + SingleEntryCleanups, + /// Pruning ValidatorSlashInEra storage + ValidatorSlashInEra, } /// The in-code storage version. @@ -222,9 +224,24 @@ pub mod pallet { type PlanningEraOffset: Get; /// Number of eras that staked funds must remain bonded for. + /// + /// This is the bonding duration for validators. Nominators may have a shorter bonding + /// duration when [`AreNominatorsSlashable`] is set to `false` (see + /// [`StakingInterface::nominator_bonding_duration`]). #[pallet::constant] type BondingDuration: Get; + /// Number of eras nominators must wait to unbond when they are not slashable. + /// + /// This duration is used for nominators when [`AreNominatorsSlashable`] is `false`. + /// When nominators are slashable, they use the full [`Config::BondingDuration`] to ensure + /// slashes can be applied during the unbonding period. + /// + /// Setting this to a lower value (e.g., 1 era) allows for faster withdrawals when + /// nominators are not subject to slashing risk. + #[pallet::constant] + type NominatorFastUnbondDuration: Get; + /// Number of eras that slashes are deferred by, after computation. /// /// This should be less than the bonding duration. Set to 0 if slashes @@ -381,6 +398,7 @@ pub mod pallet { parameter_types! { pub const SessionsPerEra: SessionIndex = 3; pub const BondingDuration: EraIndex = 3; + pub const NominatorFastUnbondDuration: EraIndex = 2; pub const MaxPruningItems: u32 = 100; } @@ -397,6 +415,7 @@ pub mod pallet { type Reward = (); type SessionsPerEra = SessionsPerEra; type BondingDuration = BondingDuration; + type NominatorFastUnbondDuration = NominatorFastUnbondDuration; type PlanningEraOffset = ConstU32<1>; type SlashDeferDuration = (); type MaxExposurePageSize = ConstU32<64>; @@ -439,6 +458,27 @@ pub mod pallet { #[pallet::storage] pub type MinCommission = StorageValue<_, Perbill, ValueQuery>; + /// Whether nominators are slashable or not. + /// + /// - When set to `true` (default), nominators are slashed along with validators and must wait + /// the full [`Config::BondingDuration`] before withdrawing unbonded funds. + /// - When set to `false`, nominators are not slashed, and can unbond in + /// [`Config::NominatorFastUnbondDuration`] eras instead of the full + /// [`Config::BondingDuration`] (see [`StakingInterface::nominator_bonding_duration`]). + #[pallet::storage] + pub type AreNominatorsSlashable = StorageValue<_, bool, ValueQuery, ConstBool>; + + /// Per-era snapshot of whether nominators are slashable. + /// + /// This is copied from [`AreNominatorsSlashable`] at the start of each era. When processing + /// offences, we use the value from this storage for the offence era to ensure that the + /// slashing rules at the time of the offence are applied, not the current rules. + /// + /// If an entry does not exist for an era, nominators are assumed to be slashable (default). + #[pallet::storage] + pub type ErasNominatorsSlashable = + StorageMap<_, Twox64Concat, EraIndex, bool, OptionQuery>; + /// Map from all (unlocked) "controller" accounts to the info regarding the staking. /// /// Note: All the reads and mutations to this storage *MUST* be done through the methods exposed @@ -466,6 +506,21 @@ pub mod pallet { #[pallet::storage] pub type MaxValidatorsCount = StorageValue<_, u32, OptionQuery>; + /// Tracks the last era in which an account was active as a validator (included in the era's + /// exposure/snapshot). + /// + /// This is used to enforce that accounts who were recently validators must wait the full + /// [`Config::BondingDuration`] before their funds can be withdrawn, even if they switch to + /// nominator role. This prevents validators from: + /// 1. Committing a slashable offence in era N + /// 2. Switching to nominator role + /// 3. Using the shorter nominator unbonding duration to withdraw funds before being slashed + /// + /// Updated when era snapshots are created (in `ErasStakersPaged`/`ErasStakersOverview`). + /// Cleaned up when the stash is killed (fully withdrawn/reaped). + #[pallet::storage] + pub type LastValidatorEra = StorageMap<_, Twox64Concat, T::AccountId, EraIndex>; + /// The map from nominator stash key to their nomination preferences, namely the validators that /// they wish to support. /// @@ -1307,6 +1362,8 @@ pub mod pallet { active_era, ); + let nominators_slashed = slash.others.len() as u32; + // Check if this slash has been cancelled if Self::check_slash_cancelled(active_era, &key.0, key.1) { crate::log!( @@ -1329,7 +1386,7 @@ pub mod pallet { CancelledSlashes::::remove(&active_era); } - T::WeightInfo::apply_slash() + T::WeightInfo::apply_slash(nominators_slashed) } else { // No slashes found for this era T::DbWeight::get().reads(1) @@ -1389,14 +1446,27 @@ pub mod pallet { }, PruningStep::ErasRewardPoints => { ErasRewardPoints::::remove(era); - EraPruningState::::insert(era, PruningStep::ErasTotalStake); + EraPruningState::::insert(era, PruningStep::SingleEntryCleanups); T::WeightInfo::prune_era_reward_points() }, - PruningStep::ErasTotalStake => { + PruningStep::SingleEntryCleanups => { ErasTotalStake::::remove(era); - // This is the final step - remove the pruning state - EraPruningState::::remove(era); - T::WeightInfo::prune_era_total_stake() + // Also clean up ErasNominatorsSlashable + ErasNominatorsSlashable::::remove(era); + EraPruningState::::insert(era, PruningStep::ValidatorSlashInEra); + T::WeightInfo::prune_era_single_entry_cleanups() + }, + PruningStep::ValidatorSlashInEra => { + // Clear ValidatorSlashInEra entries for this era + let result = ValidatorSlashInEra::::clear_prefix(era, items_limit, None); + let items_deleted = result.backend as u32; + + // This is the final step - remove the pruning state when done + if result.maybe_cursor.is_none() { + EraPruningState::::remove(era); + } + + T::WeightInfo::prune_era_validator_slash_in_era(items_deleted) }, }; @@ -1436,8 +1506,8 @@ pub mod pallet { } fn on_initialize(_now: BlockNumberFor) -> Weight { - // process our queue. - let mut consumed_weight = slashing::process_offence::(); + // Process our queue, using the era-specific nominators slashable setting. + let mut consumed_weight = slashing::process_offence_for_era::(); // apply any pending slashes after `SlashDeferDuration`. consumed_weight.saturating_accrue(T::DbWeight::get().reads(1)); @@ -1466,6 +1536,13 @@ pub mod pallet { T::BondingDuration::get(), ); + // Ensure NominatorFastUnbondDuration is not greater than BondingDuration + assert!( + T::NominatorFastUnbondDuration::get() <= T::BondingDuration::get(), + "NominatorFastUnbondDuration ({}) must not exceed BondingDuration ({}).", + T::NominatorFastUnbondDuration::get(), + T::BondingDuration::get(), + ); // Ensure MaxPruningItems is reasonable (minimum 100 for efficiency) assert!( T::MaxPruningItems::get() >= 100, @@ -1599,6 +1676,15 @@ pub mod pallet { let mut value = value.min(ledger.active); let stash = ledger.stash.clone(); + // If unbonding all active stake, chill the stash first to avoid `InsufficientBond` + // errors. This matches the behavior of pallet-staking. + let chill_weight = if value >= ledger.active { + Self::chill_stash(&stash); + T::WeightInfo::chill() + } else { + Weight::zero() + }; + ensure!( ledger.unlocking.len() < T::MaxUnlockingChunks::get() as usize, Error::::NoMoreChunks, @@ -1613,7 +1699,9 @@ pub mod pallet { ledger.active = Zero::zero(); } - let min_active_bond = if Nominators::::contains_key(&stash) { + let is_nominator = Nominators::::contains_key(&stash); + + let min_active_bond = if is_nominator { Self::min_nominator_bond() } else if Validators::::contains_key(&stash) { Self::min_validator_bond() @@ -1626,11 +1714,26 @@ pub mod pallet { // If a user runs into this error, they should chill first. ensure!(ledger.active >= min_active_bond, Error::::InsufficientBond); - // Note: we used current era before, but that is meant to be used for only election. - // The right value to use here is the active era. + // Determine unbonding duration based on validator history. + // If the account was a validator in recent eras (within BondingDuration), they must + // wait the full BondingDuration even if they've switched to nominator role. + // This prevents validators from avoiding slashing by switching roles and using the + // shorter nominator unbonding period. + let active_era = session_rotation::Rotator::::active_era(); + let was_recent_validator = LastValidatorEra::::get(&stash) + .map(|last_era| active_era.saturating_sub(last_era) < T::BondingDuration::get()) + .unwrap_or(false); + + let unbond_duration = if was_recent_validator { + // Use full bonding duration for recent validators + T::BondingDuration::get() + } else { + // Use nominator bonding duration for pure nominators + ::nominator_bonding_duration() + }; - let era = session_rotation::Rotator::::active_era() - .saturating_add(T::BondingDuration::get()); + let era = + session_rotation::Rotator::::active_era().saturating_add(unbond_duration); if let Some(chunk) = ledger.unlocking.last_mut().filter(|chunk| chunk.era == era) { // To keep the chunk count down, we only keep one chunk per era. Since // `unlocking` is a FiFo queue, if a chunk exists for `era` we know that it will @@ -1654,9 +1757,13 @@ pub mod pallet { } let actual_weight = if let Some(withdraw_weight) = maybe_withdraw_weight { - Some(T::WeightInfo::unbond().saturating_add(withdraw_weight)) + Some( + T::WeightInfo::unbond() + .saturating_add(withdraw_weight) + .saturating_add(chill_weight), + ) } else { - Some(T::WeightInfo::unbond()) + Some(T::WeightInfo::unbond().saturating_add(chill_weight)) }; Ok(actual_weight.into()) @@ -2243,6 +2350,7 @@ pub mod pallet { chill_threshold: ConfigOp, min_commission: ConfigOp, max_staked_rewards: ConfigOp, + are_nominators_slashable: ConfigOp, ) -> DispatchResult { ensure_root(origin)?; @@ -2263,6 +2371,7 @@ pub mod pallet { config_op_exp!(ChillThreshold, chill_threshold); config_op_exp!(MinCommission, min_commission); config_op_exp!(MaxStakedRewards, max_staked_rewards); + config_op_exp!(AreNominatorsSlashable, are_nominators_slashable); Ok(()) } /// Declare a `controller` to stop participating as either a validator or nominator. @@ -2646,7 +2755,7 @@ pub mod pallet { /// - Implement an **off-chain worker (OCW) task** to automatically apply slashes when there /// is unused block space, improving efficiency. #[pallet::call_index(31)] - #[pallet::weight(T::WeightInfo::apply_slash())] + #[pallet::weight(T::WeightInfo::apply_slash(T::MaxExposurePageSize::get()))] pub fn apply_slash( origin: OriginFor, slash_era: EraIndex, @@ -2690,7 +2799,8 @@ pub mod pallet { .max(T::WeightInfo::prune_era_claimed_rewards(v)) .max(T::WeightInfo::prune_era_validator_reward()) .max(T::WeightInfo::prune_era_reward_points()) - .max(T::WeightInfo::prune_era_total_stake()) + .max(T::WeightInfo::prune_era_single_entry_cleanups()) + .max(T::WeightInfo::prune_era_validator_slash_in_era(v)) })] pub fn prune_era_step(origin: OriginFor, era: EraIndex) -> DispatchResultWithPostInfo { let _ = ensure_signed(origin)?; diff --git a/substrate/frame/staking-async/src/session_rotation.rs b/substrate/frame/staking-async/src/session_rotation.rs index 0d9338eb95297..530e99eeccb04 100644 --- a/substrate/frame/staking-async/src/session_rotation.rs +++ b/substrate/frame/staking-async/src/session_rotation.rs @@ -202,6 +202,15 @@ impl Eras { all_claimable_pages.into_iter().find(|p| !claimed_pages.contains(p)) } + /// Returns whether nominators are slashable for a specific era. + /// + /// This checks the per-era storage [`ErasNominatorsSlashable`] which captures + /// the value of [`AreNominatorsSlashable`] at the start of that era. + /// If no entry exists for the era, nominators are assumed to be slashable (default). + pub(crate) fn are_nominators_slashable(era: EraIndex) -> bool { + ErasNominatorsSlashable::::get(era).unwrap_or(true) + } + /// Creates an entry to track validator reward has been claimed for a given era and page. /// Noop if already claimed. pub(crate) fn set_rewards_as_claimed(era: EraIndex, validator: &T::AccountId, page: Page) { @@ -211,7 +220,7 @@ impl Eras { if claimed_pages.contains(&page) { defensive!("Trying to set an already claimed reward"); // nevertheless don't do anything since the page already exist in claimed rewards. - return + return; } // add page to claimed entries @@ -342,6 +351,9 @@ impl Eras { // insert metadata. ErasStakersOverview::::insert(era, &validator, exposure_metadata); + // Track that this validator was active in this era for slash liability tracking. + LastValidatorEra::::insert(validator, era); + // insert validator's overview. exposure_pages.into_iter().enumerate().for_each(|(idx, paged_exposure)| { let append_at = idx as Page; @@ -548,12 +560,27 @@ impl Rotator { // If we have an active era, bonded eras must always be the range // [active - bonding_duration .. active_era] + let bonded_eras: Vec<_> = bonded.iter().map(|(era, _sess)| *era).collect(); ensure!( - bonded.into_iter().map(|(era, _sess)| era).collect::>() == + bonded_eras == (active.index.saturating_sub(T::BondingDuration::get())..=active.index) .collect::>(), "BondedEras range incorrect" ); + + // ErasNominatorsSlashable entries are cleaned up via lazy pruning at HistoryDepth + + // 1. Entries can exist from [active - HistoryDepth, active] inclusive. + // Entries older than HistoryDepth should have been pruned (or be in the process of + // pruning). + let oldest_allowed_era = active.index.saturating_sub(T::HistoryDepth::get()).max(1); + for (era, _) in ErasNominatorsSlashable::::iter() { + // Allow entries being pruned (EraPruningState exists) + let being_pruned = EraPruningState::::contains_key(era); + ensure!( + (era >= oldest_allowed_era && era <= active.index) || being_pruned, + "ErasNominatorsSlashable entry exists for era outside history depth range and not being pruned" + ); + } }, _ => { ensure!(false, "ActiveEra and CurrentEra must both be None or both be Some"); @@ -709,6 +736,10 @@ impl Rotator { Self::start_era_inc_active_era(new_era_start_timestamp); Self::start_era_update_bonded_eras(starting_era, starting_session); + // Snapshot the current nominators slashable setting for this era. + // Cleanup will happen via lazy pruning at HistoryDepth. + ErasNominatorsSlashable::::insert(starting_era, AreNominatorsSlashable::::get()); + // cleanup election state EraElectionPlanner::::cleanup(); @@ -758,7 +789,6 @@ impl Rotator { era_removed <= (starting_era.saturating_sub(bonding_duration)), "should not delete an era that is not older than bonding duration" ); - slashing::clear_era_metadata::(era_removed); } // must work -- we were not full, or just removed the oldest era. @@ -908,7 +938,7 @@ impl EraElectionPlanner { let Ok(Some(mut required_weight)) = T::ElectionProvider::status() else { // no election ongoing let weight = T::DbWeight::get().reads(1); - return (weight, Box::new(move |meter: &mut WeightMeter| meter.consume(weight))) + return (weight, Box::new(move |meter: &mut WeightMeter| meter.consume(weight))); }; let exec = Box::new(move |meter: &mut WeightMeter| { crate::log!( diff --git a/substrate/frame/staking-async/src/slashing.rs b/substrate/frame/staking-async/src/slashing.rs index 2f3aabee0d78a..3504ffb317e37 100644 --- a/substrate/frame/staking-async/src/slashing.rs +++ b/substrate/frame/staking-async/src/slashing.rs @@ -41,11 +41,11 @@ //! Based on research at use crate::{ - asset, log, session_rotation::Eras, BalanceOf, Config, NegativeImbalanceOf, OffenceQueue, - OffenceQueueEras, PagedExposure, Pallet, Perbill, ProcessingOffence, SlashRewardFraction, - UnappliedSlash, UnappliedSlashes, ValidatorSlashInEra, WeightInfo, + asset, log, session_rotation::Eras, BalanceOf, Config, ErasStakersOverview, + NegativeImbalanceOf, OffenceQueue, OffenceQueueEras, PagedExposure, Pallet, Perbill, + ProcessingOffence, SlashRewardFraction, UnappliedSlash, UnappliedSlashes, WeightInfo, }; -use alloc::vec::Vec; +use alloc::{vec, vec::Vec}; use codec::{Decode, Encode, MaxEncodedLen}; use frame_support::traits::{Defensive, DefensiveSaturating, Get, Imbalance, OnUnbalanced}; use scale_info::TypeInfo; @@ -118,7 +118,7 @@ fn next_offence() -> Option<(EraIndex, T::AccountId, OffenceRecord::kill(); - return Some((offence_era, offender, offence_record)) + return Some((offence_era, offender, offence_record)); } // Update the next page. @@ -132,7 +132,7 @@ fn next_offence() -> Option<(EraIndex, T::AccountId, OffenceRecord() -> Weight { incomplete_consumed_weight += T::DbWeight::get().reads_writes(reads, writes); }; - add_db_reads_writes(1, 1); + add_db_reads_writes(3, 4); let Some((offence_era, offender, offence_record)) = next_offence::() else { - return incomplete_consumed_weight + return incomplete_consumed_weight; }; log!( @@ -206,7 +206,7 @@ pub(crate) fn process_offence() -> Weight { else { // this can only happen if the offence was valid at the time of reporting but became too old // at the time of computing and should be discarded. - return incomplete_consumed_weight + return incomplete_consumed_weight; }; let slash_page = offence_record.exposure_page; @@ -230,7 +230,7 @@ pub(crate) fn process_offence() -> Weight { offence_record.reported_era, ); // No slash to apply. Discard. - return incomplete_consumed_weight + return incomplete_consumed_weight; }; >::deposit_event(super::Event::::SlashComputed { @@ -262,8 +262,10 @@ pub(crate) fn process_offence() -> Weight { offender, ); + let nominators_slashed = unapplied.others.len() as u32; apply_slash::(unapplied, offence_era); - T::WeightInfo::apply_slash().saturating_add(T::WeightInfo::process_offence_queue()) + T::WeightInfo::apply_slash(nominators_slashed) + .saturating_add(T::WeightInfo::process_offence_queue()) } else { // Historical Note: Previously, with BondingDuration = 28 and SlashDeferDuration = 27, // slashes were applied at the start of the 28th era from `offence_era`. @@ -287,6 +289,197 @@ pub(crate) fn process_offence() -> Weight { } } +/// Loads next offence in the processing offence and returns the offense record to be processed. +/// +/// Note: this can mutate the following storage +/// - `ProcessingOffence` +/// - `OffenceQueue` +/// - `OffenceQueueEras` +/// +/// This is called when only validators are slashed. +/// No nominators exposed to the offending validator are slashed. +fn next_offence_validator_only( +) -> Option<(EraIndex, T::AccountId, OffenceRecord)> { + // Try enqueue the next offence + let Some(mut eras) = OffenceQueueEras::::get() else { return None }; + let Some(&oldest_era) = eras.first() else { return None }; + + let mut offence_iter = OffenceQueue::::iter_prefix(oldest_era); + let next_offence = offence_iter.next(); + + if let Some((ref validator, ref _offence_record)) = next_offence { + // Remove from `OffenceQueue` + OffenceQueue::::remove(oldest_era, &validator); + } + + // If there are no offences left for the era, remove the era from `OffenceQueueEras`. + if offence_iter.next().is_none() { + if eras.len() == 1 { + // If there is only one era left, remove the entire queue. + OffenceQueueEras::::kill(); + } else { + // Remove the oldest era + eras.remove(0); + OffenceQueueEras::::put(eras); + } + } + + next_offence.map(|(v, o)| (oldest_era, v, o)) +} + +pub(crate) fn process_offence_validator_only() -> Weight { + // We do manual weight tracking for early-returns, and use benchmarks for the final two + // branches. + let mut incomplete_consumed_weight = Weight::from_parts(0, 0); + let mut add_db_reads_writes = |reads, writes| { + incomplete_consumed_weight += T::DbWeight::get().reads_writes(reads, writes); + }; + + add_db_reads_writes(2, 2); + let Some((offence_era, offender, offence_record)) = next_offence_validator_only::() else { + return incomplete_consumed_weight; + }; + + log!( + debug, + "🦹 Processing offence for {:?} in era {:?} with slash fraction {:?}", + offender, + offence_era, + offence_record.slash_fraction, + ); + + add_db_reads_writes(1, 0); + let reward_proportion = SlashRewardFraction::::get(); + + add_db_reads_writes(2, 0); + let Some(validator_exposure) = >::get(&offence_era, &offender) else { + // this can only happen if the offence was valid at the time of reporting but became too old + // at the time of computing and should be discarded. + return incomplete_consumed_weight; + }; + + let slash_defer_duration = T::SlashDeferDuration::get(); + let slash_era = offence_era.saturating_add(slash_defer_duration); + + add_db_reads_writes(3, 3); + // For validator-only slashing, call slash_validator directly instead of compute_slash + // to avoid unnecessarily calling slash_nominators (which would be a no-op anyway). + let params = SlashParams { + stash: &offender, + slash: offence_record.slash_fraction, + prior_slash: offence_record.prior_slash_fraction, + // create exposure only from validator state from the overview + exposure: &PagedExposure::from_overview(validator_exposure), + slash_era: offence_era, + reward_proportion, + }; + + let (val_slashed, reward_payout) = slash_validator::(params); + + // Build UnappliedSlash for validator-only slashing + let Some(mut unapplied) = (val_slashed > Zero::zero()).then_some(UnappliedSlash { + validator: offender.clone(), + own: val_slashed, + others: WeakBoundedVec::force_from(vec![], None), + reporter: None, + payout: reward_payout, + }) else { + log!( + debug, + "🦹 Slash of {:?}% happened in {:?} (reported in {:?}) is discarded, as could not compute slash", + offence_record.slash_fraction, + offence_era, + offence_record.reported_era, + ); + // No slash to apply. Discard. + return incomplete_consumed_weight; + }; + + >::deposit_event(super::Event::::SlashComputed { + offence_era, + slash_era, + offender: offender.clone(), + // validator only slashes are always single paged + page: 0, + }); + + log!( + debug, + "🦹 Slash of {:?}% happened in {:?} (reported in {:?}) is computed", + offence_record.slash_fraction, + offence_era, + offence_record.reported_era, + ); + + // add the reporter to the unapplied slash. + unapplied.reporter = offence_record.reporter; + + if slash_defer_duration == 0 { + // Apply right away. + log!( + debug, + "🦹 applying slash instantly of {:?} happened in {:?} (reported in {:?}) to {:?}", + offence_record.slash_fraction, + offence_era, + offence_record.reported_era, + offender, + ); + + // Validator-only slash, so no nominators (n=0). + apply_slash::(unapplied, offence_era); + T::WeightInfo::apply_slash(0).saturating_add(T::WeightInfo::process_offence_queue()) + } else { + // Historical Note: Previously, with BondingDuration = 28 and SlashDeferDuration = 27, + // slashes were applied at the start of the 28th era from `offence_era`. + // However, with paged slashing, applying slashes now takes multiple blocks. + // To account for this delay, slashes are now applied at the start of the 27th era from + // `offence_era`. + log!( + debug, + "🦹 deferring slash of {:?}% happened in {:?} (reported in {:?}) to {:?}", + offence_record.slash_fraction, + offence_era, + offence_record.reported_era, + slash_era, + ); + UnappliedSlashes::::insert( + slash_era, + (offender, offence_record.slash_fraction, 0), + unapplied, + ); + T::WeightInfo::process_offence_queue() + } +} + +/// Process the next offence in the queue, checking the era-specific nominators slashable setting. +/// +/// This function decides whether to slash nominators based on the [`ErasNominatorsSlashable`] +/// value for the offence era, ensuring that the rules at the time of the offence are applied. +/// +/// If there's an in-progress multi-page offence (in `ProcessingOffence`), it continues processing +/// that offence with full exposure (nominators were already decided to be slashable). +pub(crate) fn process_offence_for_era() -> Weight { + // Check if there's an in-progress multi-page offence + if ProcessingOffence::::exists() { + // Continue processing the existing multi-page offence with full exposure + return process_offence::(); + } + + // No in-progress offence - peek at the queue to determine the offence era + let Some(eras) = OffenceQueueEras::::get() else { + return T::DbWeight::get().reads(2); // ProcessingOffence + OffenceQueueEras + }; + let Some(&oldest_era) = eras.first() else { return T::DbWeight::get().reads(2) }; + + // Check the era-specific nominators slashable setting + // Additional read for ErasNominatorsSlashable + if Eras::::are_nominators_slashable(oldest_era) { + process_offence::() + } else { + process_offence_validator_only::() + } +} + /// Computes a slash of a validator and nominators. It returns an unapplied /// record to be applied at some later point. Slashing metadata is updated in storage, /// since unapplied records are only rarely intended to be dropped. @@ -303,6 +496,10 @@ pub(crate) fn compute_slash(params: SlashParams) -> Option(params.clone(), &mut nominators_slashed); reward_payout += nom_reward_payout; + // If nominators are not slashable for this era, the list must be empty + // (because we use `from_overview` which creates empty `others`). + debug_assert!(Eras::::are_nominators_slashable(params.slash_era)); + (nom_slashed + val_slashed > Zero::zero()).then_some(UnappliedSlash { validator: params.stash.clone(), own: val_slashed, @@ -359,7 +556,7 @@ fn slash_nominators( if slash_diff == Zero::zero() { // nothing to do - continue + continue; } log!( @@ -381,12 +578,6 @@ fn slash_nominators( (total_slashed, reward_payout) } -/// Clear slashing metadata for an obsolete era. -pub(crate) fn clear_era_metadata(obsolete_era: EraIndex) { - #[allow(deprecated)] - ValidatorSlashInEra::::remove_prefix(&obsolete_era, None); -} - // apply the slash to a stash account, deducting any missing funds from the reward // payout, saturating at 0. this is mildly unfair but also an edge-case that // can only occur when overlapping locked funds have been slashed. @@ -406,7 +597,7 @@ pub fn do_slash( let value = ledger.slash(value, asset::existential_deposit::(), slash_era); if value.is_zero() { // nothing to do - return + return; } // Skip slashing for virtual stakers. The pallets managing them should handle the slashing. @@ -445,7 +636,7 @@ pub(crate) fn apply_slash(unapplied_slash: UnappliedSlash, slash_e for &(ref nominator, nominator_slash) in &unapplied_slash.others { if nominator_slash.is_zero() { - continue + continue; } do_slash::( @@ -474,7 +665,7 @@ fn pay_reporters( // nobody to pay out to or nothing to pay; // just treat the whole value as slashed. T::Slash::on_unbalanced(slashed_imbalance); - return + return; } // take rewards out of the slashed imbalance. diff --git a/substrate/frame/staking-async/src/testing_utils.rs b/substrate/frame/staking-async/src/testing_utils.rs index 3028b3a4e55aa..fce37907cff2d 100644 --- a/substrate/frame/staking-async/src/testing_utils.rs +++ b/substrate/frame/staking-async/src/testing_utils.rs @@ -223,7 +223,7 @@ pub fn create_validators_with_nominators_for_era( let validator = available_validators.remove(selected); selected_validators.push(validator); if available_validators.is_empty() { - break + break; } } Staking::::nominate( diff --git a/substrate/frame/staking-async/src/tests/bonding.rs b/substrate/frame/staking-async/src/tests/bonding.rs index 5da3e7d45fead..21faa3889d688 100644 --- a/substrate/frame/staking-async/src/tests/bonding.rs +++ b/substrate/frame/staking-async/src/tests/bonding.rs @@ -522,16 +522,7 @@ fn unbonding_multi_chunk() { fn full_unbonding_works() { ExtBuilder::default().build_and_execute(|| { assert_eq!(asset::free_to_stake::(&11), 0); - // cannot fully unbond as they are a validator - assert_noop!( - Staking::unbond(RuntimeOrigin::signed(11), 1000), - Error::::InsufficientBond - ); - - // first chill - assert_ok!(Staking::chill(RuntimeOrigin::signed(11))); - - // then fully unbond + // fully unbonding a validator auto-chills first assert_ok!(Staking::unbond(RuntimeOrigin::signed(11), 1000)); assert_eq!( staking_events_since_last_call(), @@ -555,6 +546,53 @@ fn full_unbonding_works() { }); } +/// Test that full unbond auto-chills and removes the validator from the set. +/// This test was added in https://github.com/paritytech/polkadot-sdk/pull/3811. +#[test] +fn unbond_with_chill_works() { + ExtBuilder::default().nominate(false).build_and_execute(|| { + // Set payee to stash. + assert_ok!(Staking::set_payee(RuntimeOrigin::signed(11), RewardDestination::Stash)); + + // Give account 11 some large free balance greater than total + let _ = asset::stakeable_balance::(&11); + asset::set_stakeable_balance::(&11, 1000000); + + // confirm that 11 is a normal validator + assert!(Validators::::contains_key(11)); + let initial_validator_count = Validators::::count(); + + // Initial state of 11 + assert_eq!( + Staking::ledger(11.into()).unwrap(), + StakingLedgerInspect { + stash: 11, + total: 1000, + active: 1000, + unlocking: Default::default() + } + ); + + Session::roll_until_active_era(2); + assert_eq!(active_era(), 2); + + let _ = staking_events_since_last_call(); + + // Unbond all amount - should auto-chill + assert_ok!(Staking::unbond(RuntimeOrigin::signed(11), 1000)); + + assert_eq!( + staking_events_since_last_call(), + vec![Event::Chilled { stash: 11 }, Event::Unbonded { stash: 11, amount: 1000 }] + ); + + // Validator is removed from the set + assert!(!Validators::::contains_key(11)); + assert!(Nominators::::get(11).is_none()); + assert_eq!(Validators::::count(), initial_validator_count - 1); + }); +} + #[test] fn unbonding_merges_if_era_exists() { ExtBuilder::default().build_and_execute(|| { @@ -1655,6 +1693,7 @@ mod staking_bounds_chill_other { ConfigOp::Remove, ConfigOp::Remove, ConfigOp::Remove, + ConfigOp::Noop, )); // Can't chill these users @@ -1677,6 +1716,7 @@ mod staking_bounds_chill_other { ConfigOp::Noop, ConfigOp::Noop, ConfigOp::Noop, + ConfigOp::Noop, )); // Still can't chill these users @@ -1699,6 +1739,7 @@ mod staking_bounds_chill_other { ConfigOp::Noop, ConfigOp::Noop, ConfigOp::Noop, + ConfigOp::Noop, )); // Still can't chill these users @@ -1721,6 +1762,7 @@ mod staking_bounds_chill_other { ConfigOp::Set(Percent::from_percent(75)), ConfigOp::Noop, ConfigOp::Noop, + ConfigOp::Noop, )); // Still can't chill these users @@ -1743,6 +1785,7 @@ mod staking_bounds_chill_other { ConfigOp::Remove, ConfigOp::Remove, ConfigOp::Remove, + ConfigOp::Noop, )); // Still can't chill these users @@ -1765,6 +1808,7 @@ mod staking_bounds_chill_other { ConfigOp::Set(Percent::from_percent(75)), ConfigOp::Noop, ConfigOp::Noop, + ConfigOp::Noop, )); // Still can't chill these users @@ -1787,6 +1831,7 @@ mod staking_bounds_chill_other { ConfigOp::Set(Percent::from_percent(75)), ConfigOp::Noop, ConfigOp::Noop, + ConfigOp::Noop, )); // Still can't chill these users @@ -1809,6 +1854,7 @@ mod staking_bounds_chill_other { ConfigOp::Set(Percent::from_percent(75)), ConfigOp::Noop, ConfigOp::Noop, + ConfigOp::Noop, )); // 16 people total because tests start with 2 active one @@ -1857,6 +1903,7 @@ mod staking_bounds_chill_other { ConfigOp::Remove, ConfigOp::Remove, ConfigOp::Noop, + ConfigOp::Noop, )); // can create `max - validator_count` validators @@ -1928,6 +1975,7 @@ mod staking_bounds_chill_other { ConfigOp::Noop, ConfigOp::Noop, ConfigOp::Noop, + ConfigOp::Noop, )); assert_ok!(Staking::nominate(RuntimeOrigin::signed(last_nominator), vec![11])); assert_ok!(Staking::validate( diff --git a/substrate/frame/staking-async/src/tests/configs.rs b/substrate/frame/staking-async/src/tests/configs.rs index 99f68b8e211f4..80a4a3cff8e4f 100644 --- a/substrate/frame/staking-async/src/tests/configs.rs +++ b/substrate/frame/staking-async/src/tests/configs.rs @@ -29,7 +29,8 @@ fn set_staking_configs_works() { ConfigOp::Set(20), ConfigOp::Set(Percent::from_percent(75)), ConfigOp::Set(Zero::zero()), - ConfigOp::Set(Zero::zero()) + ConfigOp::Set(Zero::zero()), + ConfigOp::Set(false), )); assert_eq!(MinNominatorBond::::get(), 1_500); assert_eq!(MinValidatorBond::::get(), 2_000); @@ -38,6 +39,7 @@ fn set_staking_configs_works() { assert_eq!(ChillThreshold::::get(), Some(Percent::from_percent(75))); assert_eq!(MinCommission::::get(), Perbill::from_percent(0)); assert_eq!(MaxStakedRewards::::get(), Some(Percent::from_percent(0))); + assert_eq!(AreNominatorsSlashable::::get(), false); // noop does nothing assert_storage_noop!(assert_ok!(Staking::set_staking_configs( @@ -48,7 +50,8 @@ fn set_staking_configs_works() { ConfigOp::Noop, ConfigOp::Noop, ConfigOp::Noop, - ConfigOp::Noop + ConfigOp::Noop, + ConfigOp::Noop, ))); // removing works @@ -60,7 +63,8 @@ fn set_staking_configs_works() { ConfigOp::Remove, ConfigOp::Remove, ConfigOp::Remove, - ConfigOp::Remove + ConfigOp::Remove, + ConfigOp::Remove, )); assert_eq!(MinNominatorBond::::get(), 0); assert_eq!(MinValidatorBond::::get(), 0); @@ -69,5 +73,7 @@ fn set_staking_configs_works() { assert_eq!(ChillThreshold::::get(), None); assert_eq!(MinCommission::::get(), Perbill::from_percent(0)); assert_eq!(MaxStakedRewards::::get(), None); + // AreNominatorsSlashable defaults to true when removed + assert_eq!(AreNominatorsSlashable::::get(), true); }); } diff --git a/substrate/frame/staking-async/src/tests/era_rotation.rs b/substrate/frame/staking-async/src/tests/era_rotation.rs index 91cac42f35bf9..6fe05bb54c459 100644 --- a/substrate/frame/staking-async/src/tests/era_rotation.rs +++ b/substrate/frame/staking-async/src/tests/era_rotation.rs @@ -379,7 +379,8 @@ fn era_cleanup_history_depth_works_with_prune_era_step_extrinsic() { ClaimedRewards, ErasValidatorReward, ErasRewardPoints, - ErasTotalStake, + SingleEntryCleanups, + ValidatorSlashInEra, ]; let _ = staking_events_since_last_call(); @@ -450,22 +451,38 @@ fn era_cleanup_history_depth_works_with_prune_era_step_extrinsic() { 0, "{expected_step:?} should be empty after completing step" ), - ErasValidatorReward => assert!( - !crate::ErasValidatorReward::::contains_key(1), - "{expected_step:?} should be empty after completing step" - ), - ErasRewardPoints => assert!( - !crate::ErasRewardPoints::::contains_key(1), - "{expected_step:?} should be empty after completing step" - ), - ErasTotalStake => assert!( - !crate::ErasTotalStake::::contains_key(1), + ErasValidatorReward => { + assert!( + !crate::ErasValidatorReward::::contains_key(1), + "{expected_step:?} should be empty after completing step" + ); + }, + ErasRewardPoints => { + assert!( + !crate::ErasRewardPoints::::contains_key(1), + "{expected_step:?} should be empty after completing step" + ); + }, + SingleEntryCleanups => { + assert!( + !crate::ErasTotalStake::::contains_key(1), + "{expected_step:?} should be empty after completing step" + ); + // Also verify ErasNominatorsSlashable is cleaned (piggybacks on this step) + assert!( + !crate::ErasNominatorsSlashable::::contains_key(1), + "ErasNominatorsSlashable should be empty after completing SingleEntryCleanups step" + ); + }, + ValidatorSlashInEra => assert_eq!( + crate::ValidatorSlashInEra::::iter_prefix_values(1).count(), + 0, "{expected_step:?} should be empty after completing step" ), } } - // After final step (ErasTotalStake), the EraPruningState should be removed + // After final step (ValidatorSlashInEra), the EraPruningState should be removed assert!( EraPruningState::::get(1).is_none(), "EraPruningState should be removed after final step" @@ -569,6 +586,7 @@ mod inflation { ConfigOp::Noop, ConfigOp::Noop, ConfigOp::Set(Percent::from_percent(10)), + ConfigOp::Noop, )); assert_eq!(>::get(), Some(Percent::from_percent(10))); diff --git a/substrate/frame/staking-async/src/tests/ledger.rs b/substrate/frame/staking-async/src/tests/ledger.rs index f0b62e5d1f71d..db801f78fb8ef 100644 --- a/substrate/frame/staking-async/src/tests/ledger.rs +++ b/substrate/frame/staking-async/src/tests/ledger.rs @@ -809,7 +809,7 @@ mod ledger_recovery { // however if 333 bonds extra, the wrong lock is updated. bond_extra_no_checks(&333, 30); - assert_eq!(asset::staked::(&333), lock_444_before + 40 + 30); //not OK + assert_eq!(asset::staked::(&333), lock_444_before + 40 + 30); // not OK assert_eq!(asset::staked::(&444), lock_444_before + 40); // OK // recover the ledger bonded by 333 stash. Note that the total/lock needs to be @@ -830,7 +830,7 @@ mod ledger_recovery { Error::::CannotRestoreLedger ); - //and enforcing a new ledger lock/total on this non-corrupted ledger will work. + // and enforcing a new ledger lock/total on this non-corrupted ledger will work. assert_ok!(Staking::restore_ledger( RuntimeOrigin::root(), 444, diff --git a/substrate/frame/staking-async/src/tests/mod.rs b/substrate/frame/staking-async/src/tests/mod.rs index c0bf9145c0cc9..f07674a0d4278 100644 --- a/substrate/frame/staking-async/src/tests/mod.rs +++ b/substrate/frame/staking-async/src/tests/mod.rs @@ -43,6 +43,7 @@ mod election_provider; mod era_rotation; mod force_unstake_kill_stash; mod ledger; +mod nominators_no_slashing; mod payout_stakers; mod slashing; mod try_state; @@ -283,25 +284,6 @@ fn basic_setup_sessions_per_era() { mod try_state_assertions { use super::*; - #[test] - #[should_panic] - fn count_check_works() { - ExtBuilder::default().build_and_execute(|| { - // We should never insert into the validators or nominators map directly as this will - // not keep track of the count. This test should panic as we verify the count is - // accurate after every test using the `post_checks` in `mock`. - Validators::::insert(987654321, ValidatorPrefs::default()); - Nominators::::insert( - 987654321, - Nominations { - targets: Default::default(), - submitted_in: Default::default(), - suppressed: false, - }, - ); - }) - } - #[test] #[should_panic = "called `Result::unwrap()` on an `Err` value: Other(\"number of entries in payee storage items does not match the number of bonded ledgers\")"] fn check_payee_invariant1_works() { @@ -1050,207 +1032,205 @@ mod hold_migration { } } -/* -#[test] -fn reward_validator_slashing_validator_does_not_overflow() { - ExtBuilder::default().nominate(false).build_and_execute(|| { - let stake = u64::MAX as Balance * 2; - let reward_slash = u64::MAX as Balance * 2; - - // Assert multiplication overflows in balance arithmetic. - assert!(stake.checked_mul(reward_slash).is_none()); - - // Set staker - let _ = asset::set_stakeable_balance::(&11, stake); - - let reward = EraRewardPoints:: { - total: 1, - individual: vec![(11, 1)].into_iter().collect(), - }; - - // Check reward - ErasRewardPoints::::insert(0, reward); - - // force exposure metadata to account for the overflowing `stake`. - ErasStakersOverview::::insert( - current_era(), - 11, - PagedExposureMetadata { total: stake, own: stake, nominator_count: 0, page_count: 0 }, - ); - - // we want to slash only self-stake, confirm that no others exposed. - let full_exposure_after = Eras::::get_full_exposure(current_era(), &11); - assert_eq!(full_exposure_after.total, stake); - assert_eq!(full_exposure_after.others, vec![]); - - ErasValidatorReward::::insert(0, stake); - assert_ok!(Staking::payout_stakers_by_page(RuntimeOrigin::signed(1337), 11, 0, 0)); - assert_eq!(asset::stakeable_balance::(&11), stake * 2); - - // ensure ledger has `stake` and no more. - Ledger::::insert( - 11, - StakingLedgerInspect { - stash: 11, - total: stake, - active: stake, - unlocking: Default::default(), - }, - ); - // Set staker (unsafe, can reduce balance below actual stake) - let _ = asset::set_stakeable_balance::(&11, stake); - let _ = asset::set_stakeable_balance::(&2, stake); - - // only slashes out of bonded stake are applied. without this line, it is 0. - Staking::bond(RuntimeOrigin::signed(2), stake - 1, RewardDestination::Staked).unwrap(); - - // Override metadata and exposures of 11 so that it exposes minmal self stake and `stake` - - // 1 from nominator 2. - ErasStakersOverview::::insert( - current_era(), - 11, - PagedExposureMetadata { total: stake, own: 1, nominator_count: 1, page_count: 1 }, - ); - - ErasStakersPaged::::insert( - (current_era(), &11, 0), - ExposurePage { - page_total: stake - 1, - others: vec![IndividualExposure { who: 2, value: stake - 1 }], - }, - ); - - // Check slashing - on_offence_now(&[offence_from(11, None)], &[Perbill::from_percent(100)], true); - - assert_eq!(asset::stakeable_balance::(&11), stake - 1); - assert_eq!(asset::stakeable_balance::(&2), 1); - }) -} - -#[test] -fn validator_is_not_disabled_for_an_offence_in_previous_era() { - ExtBuilder::default() - .validator_count(4) - .set_status(41, StakerStatus::Validator) - .build_and_execute(|| { - mock::start_active_era(1); - - assert!(>::contains_key(11)); - assert!(Session::validators().contains(&11)); - - on_offence_now(&[offence_from(11, None)], &[Perbill::from_percent(0)], true); - - assert_eq!(ForceEra::::get(), Forcing::NotForcing); - assert!(is_disabled(11)); - - mock::start_active_era(2); - - // the validator is not disabled in the new era - Staking::validate(RuntimeOrigin::signed(11), Default::default()).unwrap(); - assert_eq!(ForceEra::::get(), Forcing::NotForcing); - assert!(>::contains_key(11)); - assert!(Session::validators().contains(&11)); - - mock::start_active_era(3); - - // an offence committed in era 1 is reported in era 3 - on_offence_in_era(&[offence_from(11, None)], &[Perbill::from_percent(0)], 1, true); - - // the validator doesn't get disabled for an old offence - assert!(Validators::::iter().any(|(stash, _)| stash == 11)); - assert!(!is_disabled(11)); - - // and we are not forcing a new era - assert_eq!(ForceEra::::get(), Forcing::NotForcing); - - on_offence_in_era( - &[offence_from(11, None)], - // NOTE: A 100% slash here would clean up the account, causing de-registration. - &[Perbill::from_percent(95)], - 1, - true, - ); - - // the validator doesn't get disabled again - assert!(Validators::::iter().any(|(stash, _)| stash == 11)); - assert!(!is_disabled(11)); - // and we are still not forcing a new era - assert_eq!(ForceEra::::get(), Forcing::NotForcing); - }); -} - -#[test] -fn slash_kicks_validators_not_nominators_and_disables_nominator_for_kicked_validator() { - ExtBuilder::default() - .validator_count(7) - .set_status(41, StakerStatus::Validator) - .set_status(51, StakerStatus::Validator) - .set_status(201, StakerStatus::Validator) - .set_status(202, StakerStatus::Validator) - .build_and_execute(|| { - mock::start_active_era(1); - assert_eq_uvec!(Session::validators(), vec![11, 21, 31, 41, 51, 201, 202]); - - // pre-slash balance - assert_eq!(asset::stakeable_balance::(&11), 1000); - assert_eq!(asset::stakeable_balance::(&101), 2000); - - // 100 has approval for 11 as of now - assert!(Nominators::::get(101).unwrap().targets.contains(&11)); - - // 11 and 21 both have the support of 100 - let exposure_11 = Staking::eras_stakers(active_era(), &11); - let exposure_21 = Staking::eras_stakers(active_era(), &21); - - assert_eq!(exposure_11.total, 1000 + 125); - assert_eq!(exposure_21.total, 1000 + 375); - - on_offence_now(&[offence_from(11, None)], &[Perbill::from_percent(10)], true); - - assert_eq!( - staking_events_since_last_call(), - vec![ - Event::PagedElectionProceeded { page: 0, result: Ok(7) }, - Event::StakersElected, - Event::EraPaid { era_index: 0, validator_payout: 11075, remainder: 33225 }, - Event::OffenceReported { - validator: 11, - fraction: Perbill::from_percent(10), - offence_era: 1 - }, - Event::SlashComputed { offence_era: 1, slash_era: 1, offender: 11, page: 0 }, - Event::Slashed { staker: 11, amount: 100 }, - Event::Slashed { staker: 101, amount: 12 }, - ] - ); - - assert!(matches!( - session_events().as_slice(), - &[.., SessionEvent::ValidatorDisabled { validator: 11 }] - )); - - // post-slash balance - let nominator_slash_amount_11 = 125 / 10; - assert_eq!(asset::stakeable_balance::(&11), 900); - assert_eq!(asset::stakeable_balance::(&101), 2000 - nominator_slash_amount_11); - - // check that validator was disabled. - assert!(is_disabled(11)); - - // actually re-bond the slashed validator - assert_ok!(Staking::validate(RuntimeOrigin::signed(11), Default::default())); - - mock::start_active_era(2); - let exposure_11 = Staking::eras_stakers(active_era(), &11); - let exposure_21 = Staking::eras_stakers(active_era(), &21); - - // 11's own expo is reduced. sum of support from 11 is less (448), which is 500 - // 900 + 146 - assert!(matches!(exposure_11, Exposure { own: 900, total: 1046, .. })); - // 1000 + 342 - assert!(matches!(exposure_21, Exposure { own: 1000, total: 1342, .. })); - assert_eq!(500 - 146 - 342, nominator_slash_amount_11); - }); -} -*/ +// #[test] +// fn reward_validator_slashing_validator_does_not_overflow() { +// ExtBuilder::default().nominate(false).build_and_execute(|| { +// let stake = u64::MAX as Balance * 2; +// let reward_slash = u64::MAX as Balance * 2; +// +// Assert multiplication overflows in balance arithmetic. +// assert!(stake.checked_mul(reward_slash).is_none()); +// +// Set staker +// let _ = asset::set_stakeable_balance::(&11, stake); +// +// let reward = EraRewardPoints:: { +// total: 1, +// individual: vec![(11, 1)].into_iter().collect(), +// }; +// +// Check reward +// ErasRewardPoints::::insert(0, reward); +// +// force exposure metadata to account for the overflowing `stake`. +// ErasStakersOverview::::insert( +// current_era(), +// 11, +// PagedExposureMetadata { total: stake, own: stake, nominator_count: 0, page_count: 0 }, +// ); +// +// we want to slash only self-stake, confirm that no others exposed. +// let full_exposure_after = Eras::::get_full_exposure(current_era(), &11); +// assert_eq!(full_exposure_after.total, stake); +// assert_eq!(full_exposure_after.others, vec![]); +// +// ErasValidatorReward::::insert(0, stake); +// assert_ok!(Staking::payout_stakers_by_page(RuntimeOrigin::signed(1337), 11, 0, 0)); +// assert_eq!(asset::stakeable_balance::(&11), stake * 2); +// +// ensure ledger has `stake` and no more. +// Ledger::::insert( +// 11, +// StakingLedgerInspect { +// stash: 11, +// total: stake, +// active: stake, +// unlocking: Default::default(), +// }, +// ); +// Set staker (unsafe, can reduce balance below actual stake) +// let _ = asset::set_stakeable_balance::(&11, stake); +// let _ = asset::set_stakeable_balance::(&2, stake); +// +// only slashes out of bonded stake are applied. without this line, it is 0. +// Staking::bond(RuntimeOrigin::signed(2), stake - 1, RewardDestination::Staked).unwrap(); +// +// Override metadata and exposures of 11 so that it exposes minmal self stake and `stake` - +// 1 from nominator 2. +// ErasStakersOverview::::insert( +// current_era(), +// 11, +// PagedExposureMetadata { total: stake, own: 1, nominator_count: 1, page_count: 1 }, +// ); +// +// ErasStakersPaged::::insert( +// (current_era(), &11, 0), +// ExposurePage { +// page_total: stake - 1, +// others: vec![IndividualExposure { who: 2, value: stake - 1 }], +// }, +// ); +// +// Check slashing +// on_offence_now(&[offence_from(11, None)], &[Perbill::from_percent(100)], true); +// +// assert_eq!(asset::stakeable_balance::(&11), stake - 1); +// assert_eq!(asset::stakeable_balance::(&2), 1); +// }) +// } +// +// #[test] +// fn validator_is_not_disabled_for_an_offence_in_previous_era() { +// ExtBuilder::default() +// .validator_count(4) +// .set_status(41, StakerStatus::Validator) +// .build_and_execute(|| { +// mock::start_active_era(1); +// +// assert!(>::contains_key(11)); +// assert!(Session::validators().contains(&11)); +// +// on_offence_now(&[offence_from(11, None)], &[Perbill::from_percent(0)], true); +// +// assert_eq!(ForceEra::::get(), Forcing::NotForcing); +// assert!(is_disabled(11)); +// +// mock::start_active_era(2); +// +// the validator is not disabled in the new era +// Staking::validate(RuntimeOrigin::signed(11), Default::default()).unwrap(); +// assert_eq!(ForceEra::::get(), Forcing::NotForcing); +// assert!(>::contains_key(11)); +// assert!(Session::validators().contains(&11)); +// +// mock::start_active_era(3); +// +// an offence committed in era 1 is reported in era 3 +// on_offence_in_era(&[offence_from(11, None)], &[Perbill::from_percent(0)], 1, true); +// +// the validator doesn't get disabled for an old offence +// assert!(Validators::::iter().any(|(stash, _)| stash == 11)); +// assert!(!is_disabled(11)); +// +// and we are not forcing a new era +// assert_eq!(ForceEra::::get(), Forcing::NotForcing); +// +// on_offence_in_era( +// &[offence_from(11, None)], +// NOTE: A 100% slash here would clean up the account, causing de-registration. +// &[Perbill::from_percent(95)], +// 1, +// true, +// ); +// +// the validator doesn't get disabled again +// assert!(Validators::::iter().any(|(stash, _)| stash == 11)); +// assert!(!is_disabled(11)); +// and we are still not forcing a new era +// assert_eq!(ForceEra::::get(), Forcing::NotForcing); +// }); +// } +// +// #[test] +// fn slash_kicks_validators_not_nominators_and_disables_nominator_for_kicked_validator() { +// ExtBuilder::default() +// .validator_count(7) +// .set_status(41, StakerStatus::Validator) +// .set_status(51, StakerStatus::Validator) +// .set_status(201, StakerStatus::Validator) +// .set_status(202, StakerStatus::Validator) +// .build_and_execute(|| { +// mock::start_active_era(1); +// assert_eq_uvec!(Session::validators(), vec![11, 21, 31, 41, 51, 201, 202]); +// +// pre-slash balance +// assert_eq!(asset::stakeable_balance::(&11), 1000); +// assert_eq!(asset::stakeable_balance::(&101), 2000); +// +// 100 has approval for 11 as of now +// assert!(Nominators::::get(101).unwrap().targets.contains(&11)); +// +// 11 and 21 both have the support of 100 +// let exposure_11 = Staking::eras_stakers(active_era(), &11); +// let exposure_21 = Staking::eras_stakers(active_era(), &21); +// +// assert_eq!(exposure_11.total, 1000 + 125); +// assert_eq!(exposure_21.total, 1000 + 375); +// +// on_offence_now(&[offence_from(11, None)], &[Perbill::from_percent(10)], true); +// +// assert_eq!( +// staking_events_since_last_call(), +// vec![ +// Event::PagedElectionProceeded { page: 0, result: Ok(7) }, +// Event::StakersElected, +// Event::EraPaid { era_index: 0, validator_payout: 11075, remainder: 33225 }, +// Event::OffenceReported { +// validator: 11, +// fraction: Perbill::from_percent(10), +// offence_era: 1 +// }, +// Event::SlashComputed { offence_era: 1, slash_era: 1, offender: 11, page: 0 }, +// Event::Slashed { staker: 11, amount: 100 }, +// Event::Slashed { staker: 101, amount: 12 }, +// ] +// ); +// +// assert!(matches!( +// session_events().as_slice(), +// &[.., SessionEvent::ValidatorDisabled { validator: 11 }] +// )); +// +// post-slash balance +// let nominator_slash_amount_11 = 125 / 10; +// assert_eq!(asset::stakeable_balance::(&11), 900); +// assert_eq!(asset::stakeable_balance::(&101), 2000 - nominator_slash_amount_11); +// +// check that validator was disabled. +// assert!(is_disabled(11)); +// +// actually re-bond the slashed validator +// assert_ok!(Staking::validate(RuntimeOrigin::signed(11), Default::default())); +// +// mock::start_active_era(2); +// let exposure_11 = Staking::eras_stakers(active_era(), &11); +// let exposure_21 = Staking::eras_stakers(active_era(), &21); +// +// 11's own expo is reduced. sum of support from 11 is less (448), which is 500 +// 900 + 146 +// assert!(matches!(exposure_11, Exposure { own: 900, total: 1046, .. })); +// 1000 + 342 +// assert!(matches!(exposure_21, Exposure { own: 1000, total: 1342, .. })); +// assert_eq!(500 - 146 - 342, nominator_slash_amount_11); +// }); +// } diff --git a/substrate/frame/staking-async/src/tests/nominators_no_slashing.rs b/substrate/frame/staking-async/src/tests/nominators_no_slashing.rs new file mode 100644 index 0000000000000..35050aed4b5f0 --- /dev/null +++ b/substrate/frame/staking-async/src/tests/nominators_no_slashing.rs @@ -0,0 +1,727 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Tests to verify the staking functions when `AreNominatorsSlashable` is set to `false`. +//! +//! When nominators are not slashable: +//! - Nominators are NOT slashed when a validator they back commits an offence. +//! - Nominators can unbond and withdraw in 1 era (instead of full `BondingDuration`). +//! - Validators are still slashed and must wait full `BondingDuration` to withdraw. + +use super::*; +use sp_staking::StakingUnchecked; + +/// When `AreNominatorsSlashable` is false, only validators are slashed, not nominators. +#[test] +fn nominators_are_not_slashed() { + ExtBuilder::default() + .validator_count(4) + .set_status(41, StakerStatus::Validator) + .set_nominators_slashable(false) + .build_and_execute(|| { + let initial_exposure = Staking::eras_stakers(active_era(), &11); + assert_eq!( + initial_exposure, + Exposure { + total: 1250, + own: 1000, + others: vec![IndividualExposure { who: 101, value: 250 }] + } + ); + + // staked values before slash + let nominator_stake = Staking::ledger(101.into()).unwrap().active; + let nominator_balance = asset::stakeable_balance::(&101); + let validator_stake = Staking::ledger(11.into()).unwrap().active; + let validator_balance = asset::stakeable_balance::(&11); + + // register a slash for validator 11 with 10%. + add_slash(11); + assert_eq!( + staking_events_since_last_call(), + vec![Event::OffenceReported { + offence_era: 1, + validator: 11, + fraction: Perbill::from_percent(10) + }] + ); + + // roll one block until slash is applied + assert_eq!(SlashDeferDuration::get(), 0); + Session::roll_next(); + + // Only validator is slashed, NOT the nominator. + assert_eq!( + staking_events_since_last_call(), + vec![ + Event::SlashComputed { offence_era: 1, slash_era: 1, offender: 11, page: 0 }, + // Only validator 11 is slashed, no Event::Slashed for nominator 101 + Event::Slashed { staker: 11, amount: 100 }, + ] + ); + + // Nominator's stake and balance remain unchanged. + assert_eq!(Staking::ledger(101.into()).unwrap().active, nominator_stake); + assert_eq!(asset::stakeable_balance::(&101), nominator_balance); + + // Validator's stake is decreased. + assert!(Staking::ledger(11.into()).unwrap().active < validator_stake); + assert!(asset::stakeable_balance::(&11) < validator_balance); + + // Validator was slashed 10% of their own stake (1000 * 10% = 100) + assert_eq!(Staking::ledger(11.into()).unwrap().active, validator_stake - 100); + assert_eq!(asset::stakeable_balance::(&11), validator_balance - 100); + }); +} + +/// When `AreNominatorsSlashable` is false, nominators can unbond and withdraw in the next era. +#[test] +fn nominators_can_unbond_in_next_era() { + ExtBuilder::default().set_nominators_slashable(false).build_and_execute(|| { + // nominator 101 is bonded + assert_eq!( + Staking::ledger(101.into()).unwrap(), + StakingLedgerInspect { + stash: 101, + total: 500, + active: 500, + unlocking: Default::default(), + } + ); + + let era = active_era(); + assert_eq!(era, 1); + + // Nominator unbonds some stake + assert_ok!(Staking::unbond(RuntimeOrigin::signed(101), 200)); + assert_eq!( + staking_events_since_last_call(), + vec![Event::Unbonded { stash: 101, amount: 200 }] + ); + + // Unlocking should be set to active_era + NominatorFastUnbondDuration (not active_era + + // BondingDuration) + let fast_unbond_era = era + NominatorFastUnbondDuration::get(); + assert_eq!( + Staking::ledger(101.into()).unwrap(), + StakingLedgerInspect { + stash: 101, + total: 500, + active: 300, + // Unlocking era is active_era + NominatorFastUnbondDuration (not active_era + + // BondingDuration) + unlocking: bounded_vec![UnlockChunk { value: 200, era: fast_unbond_era }], + } + ); + + // Cannot withdraw yet (still in era 1) + assert_ok!(Staking::withdraw_unbonded(RuntimeOrigin::signed(101), 0)); + assert_eq!(Staking::ledger(101.into()).unwrap().total, 500); // still 500 + + // Roll to the era when fast unbonding completes + Session::roll_until_active_era(fast_unbond_era); + assert_eq!(active_era(), fast_unbond_era); + + // Now can withdraw + let _ = staking_events_since_last_call(); // clear events from era rotation + assert_ok!(Staking::withdraw_unbonded(RuntimeOrigin::signed(101), 0)); + assert_eq!( + staking_events_since_last_call(), + vec![Event::Withdrawn { stash: 101, amount: 200 }] + ); + + assert_eq!( + Staking::ledger(101.into()).unwrap(), + StakingLedgerInspect { + stash: 101, + total: 300, + active: 300, + unlocking: Default::default(), + } + ); + }); +} + +/// When `AreNominatorsSlashable` is false, validators still need to wait full BondingDuration. +#[test] +fn validators_still_have_full_bonding_duration() { + ExtBuilder::default().set_nominators_slashable(false).build_and_execute(|| { + // validator 11 is bonded + assert_eq!( + Staking::ledger(11.into()).unwrap(), + StakingLedgerInspect { + stash: 11, + total: 1000, + active: 1000, + unlocking: Default::default(), + } + ); + + let era = active_era(); + assert_eq!(era, 1); + let bonding_duration = BondingDuration::get(); + assert_eq!(bonding_duration, 3); + + // Validator unbonds some stake + assert_ok!(Staking::unbond(RuntimeOrigin::signed(11), 200)); + assert_eq!( + staking_events_since_last_call(), + vec![Event::Unbonded { stash: 11, amount: 200 }] + ); + + // Unlocking should be set to active_era + BondingDuration (not active_era + + // NominatorFastUnbondDuration) + assert_eq!( + Staking::ledger(11.into()).unwrap(), + StakingLedgerInspect { + stash: 11, + total: 1000, + active: 800, + // Unlocking era is active_era + BondingDuration = 1 + 3 = 4 + unlocking: bounded_vec![UnlockChunk { value: 200, era: era + bonding_duration }], + } + ); + + // Cannot withdraw before the full bonding duration expires + Session::roll_until_active_era(era + 1); + assert_eq!(active_era(), 2); + assert_ok!(Staking::withdraw_unbonded(RuntimeOrigin::signed(11), 0)); + assert_eq!(Staking::ledger(11.into()).unwrap().total, 1000); // still locked + + // Cannot withdraw in era 3 + Session::roll_until_active_era(era + 2); + assert_eq!(active_era(), 3); + assert_ok!(Staking::withdraw_unbonded(RuntimeOrigin::signed(11), 0)); + assert_eq!(Staking::ledger(11.into()).unwrap().total, 1000); // still locked + + // Can withdraw in era 4 (current_era + bonding_duration) + Session::roll_until_active_era(era + bonding_duration); + assert_eq!(active_era(), 4); + assert_ok!(Staking::withdraw_unbonded(RuntimeOrigin::signed(11), 0)); + + assert_eq!( + Staking::ledger(11.into()).unwrap(), + StakingLedgerInspect { + stash: 11, + total: 800, + active: 800, + unlocking: Default::default(), + } + ); + }); +} + +/// When `AreNominatorsSlashable` is false and `SlashDeferDuration` > 0, nominators are still +/// not slashed even when slashes are deferred. +#[test] +fn nominator_not_slashed_with_deferred_slash() { + ExtBuilder::default() + .validator_count(4) + .set_status(41, StakerStatus::Validator) + .set_nominators_slashable(false) + .slash_defer_duration(2) + .build_and_execute(|| { + let initial_exposure = Staking::eras_stakers(active_era(), &11); + assert_eq!( + initial_exposure, + Exposure { + total: 1250, + own: 1000, + others: vec![IndividualExposure { who: 101, value: 250 }] + } + ); + + // staked values before slash + let nominator_stake = Staking::ledger(101.into()).unwrap().active; + let nominator_balance = asset::stakeable_balance::(&101); + let validator_stake = Staking::ledger(11.into()).unwrap().active; + + // register a slash for validator 11 with 10%. + add_slash(11); + + // roll one block to process the offence (slash is computed but deferred) + Session::roll_next(); + assert_eq!( + staking_events_since_last_call(), + vec![ + Event::OffenceReported { + offence_era: 1, + validator: 11, + fraction: Perbill::from_percent(10) + }, + // Slash is computed but deferred (slash_era = offence_era + defer_duration = 1 + // + 2 = 3) + Event::SlashComputed { offence_era: 1, slash_era: 3, offender: 11, page: 0 }, + ] + ); + + // Slash is not applied yet - both stakes unchanged + assert_eq!(Staking::ledger(101.into()).unwrap().active, nominator_stake); + assert_eq!(Staking::ledger(11.into()).unwrap().active, validator_stake); + + // Roll to era 3 when slash should be applied + Session::roll_until_active_era(3); + // Roll one more block to ensure the slash is applied in on_initialize + Session::roll_next(); + + // Validator is slashed, nominator is NOT slashed + assert_eq!(Staking::ledger(11.into()).unwrap().active, validator_stake - 100); + assert_eq!(Staking::ledger(101.into()).unwrap().active, nominator_stake); + assert_eq!(asset::stakeable_balance::(&101), nominator_balance); + }); +} + +/// Virtual stakers (pool accounts) are also NOT slashed when `AreNominatorsSlashable` is false. +#[test] +fn virtual_staker_not_slashed() { + ExtBuilder::default() + .validator_count(4) + .set_status(41, StakerStatus::Validator) + .set_nominators_slashable(false) + .build_and_execute(|| { + // Create a virtual staker (like a pool account) that nominates validator 11. + // Virtual stakers have no actual balance - they are keyless pool accounts. + let pool_account = 200; + let payee = 201; + let pool_stake = 500; + bond_virtual_nominator(pool_account, payee, pool_stake, vec![11]); + + // Roll to next era so the virtual staker is in the exposure. + Session::roll_until_active_era(2); + + let exposure = Staking::eras_stakers(active_era(), &11); + assert_eq!( + exposure, + Exposure { + total: 1000 + pool_stake, + own: 1000, + others: vec![IndividualExposure { who: pool_account, value: pool_stake }] + } + ); + + // Record stakes before slash + let virtual_staker_stake = Staking::ledger(pool_account.into()).unwrap().active; + let validator_stake = Staking::ledger(11.into()).unwrap().active; + + // Register a slash for validator 11 with 10%. + add_slash(11); + + // Roll one block to process the offence. + assert_eq!(SlashDeferDuration::get(), 0); + Session::roll_next(); + + // Virtual staker's stake remains unchanged (not slashed). + assert_eq!(Staking::ledger(pool_account.into()).unwrap().active, virtual_staker_stake); + + // Validator is slashed 10% of their own stake. + assert_eq!(Staking::ledger(11.into()).unwrap().active, validator_stake - 100); + }); +} + +/// Virtual stakers (pool accounts) can also unbond using the fast unbond duration when +/// `AreNominatorsSlashable` is false. +#[test] +fn virtual_staker_unbonds_in_one_era() { + ExtBuilder::default().set_nominators_slashable(false).build_and_execute(|| { + // Create a virtual staker (like a pool account). + let pool_account = 200; + let payee = 201; + let pool_stake = 500; + assert_ok!(::virtual_bond(&pool_account, pool_stake, &payee)); + assert_ok!(Staking::nominate(RuntimeOrigin::signed(pool_account), vec![11])); + + let era = active_era(); + assert_eq!(era, 1); + + // Virtual staker unbonds some stake. + assert_ok!(::unbond(&pool_account, 200)); + + // Unlocking should be set to active_era + NominatorFastUnbondDuration (not active_era + + // BondingDuration). + let fast_unbond_era = era + NominatorFastUnbondDuration::get(); + assert_eq!( + Staking::ledger(pool_account.into()).unwrap(), + StakingLedgerInspect { + stash: pool_account, + total: pool_stake, + active: pool_stake - 200, + // Unlocking era is active_era + NominatorFastUnbondDuration (not active_era + + // BondingDuration) + unlocking: bounded_vec![UnlockChunk { value: 200, era: fast_unbond_era }], + } + ); + + // Cannot withdraw yet (still in era 1). + assert_ok!(::withdraw_unbonded(pool_account, 0)); + assert_eq!(Staking::ledger(pool_account.into()).unwrap().total, pool_stake); + + // Roll to the era when fast unbonding completes. + Session::roll_until_active_era(fast_unbond_era); + assert_eq!(active_era(), fast_unbond_era); + + // Now can withdraw. + assert_ok!(::withdraw_unbonded(pool_account, 0)); + + assert_eq!( + Staking::ledger(pool_account.into()).unwrap(), + StakingLedgerInspect { + stash: pool_account, + total: pool_stake - 200, + active: pool_stake - 200, + unlocking: Default::default(), + } + ); + }); +} + +/// Test that `nominator_bonding_duration()` returns the configured fast unbond duration when +/// nominators are not slashable. +/// +/// This is the method used by nomination-pools adapter to determine the unbonding period for +/// pool members. When `AreNominatorsSlashable` is false, pool members should also unbond in the +/// fast unbond duration. +#[test] +fn nominator_bonding_duration_returns_one_when_not_slashable() { + ExtBuilder::default().set_nominators_slashable(false).build_and_execute(|| { + // When nominators are not slashable, nominator_bonding_duration should return the + // configured NominatorFastUnbondDuration + assert_eq!( + ::nominator_bonding_duration(), + NominatorFastUnbondDuration::get(), + "nominator_bonding_duration should be NominatorFastUnbondDuration when nominators are not slashable" + ); + + // But bonding_duration (for validators) should still be the full duration + assert_eq!( + ::bonding_duration(), + BondingDuration::get(), + "bonding_duration should still be the full duration" + ); + + // Verify BondingDuration is greater than NominatorFastUnbondDuration to ensure test is meaningful + assert!( + BondingDuration::get() > NominatorFastUnbondDuration::get(), + "BondingDuration should be > NominatorFastUnbondDuration for this test" + ); + }); +} + +/// Test that `nominator_bonding_duration()` returns full duration when nominators are slashable. +#[test] +fn nominator_bonding_duration_returns_full_when_slashable() { + // Default ExtBuilder has nominators_slashable = true + ExtBuilder::default().build_and_execute(|| { + // When nominators are slashable, nominator_bonding_duration should equal bonding_duration + assert_eq!( + ::nominator_bonding_duration(), + ::bonding_duration(), + "nominator_bonding_duration should equal bonding_duration when nominators are slashable" + ); + }); +} + +/// Test that offences from an era where nominators were slashable continue to slash nominators +/// even after the global `AreNominatorsSlashable` is set to false. +/// +/// This verifies the era-specific slashing behavior: the rules at the time of the offence apply. +#[test] +fn offence_from_slashable_era_slashes_nominators_even_after_setting_changes() { + ExtBuilder::default() + .validator_count(4) + .set_status(41, StakerStatus::Validator) + .build_and_execute(|| { + // Era 1: nominators are slashable (default) + assert!(AreNominatorsSlashable::::get()); + assert_eq!(active_era(), 1); + + // Advance to era 2 to ensure ErasNominatorsSlashable is set for era 1 + Session::roll_until_active_era(2); + + // Verify era 1 was recorded as nominators-slashable + assert!( + ErasNominatorsSlashable::::get(1).unwrap_or(true), + "Era 1 should have nominators slashable" + ); + + let nominator_stake_before = Staking::ledger(101.into()).unwrap().active; + let validator_stake_before = Staking::ledger(11.into()).unwrap().active; + + // Now change the global setting to false BEFORE the offence is processed + AreNominatorsSlashable::::put(false); + + // Report an offence from era 1 (when nominators WERE slashable) + add_slash_in_era(11, 1, Perbill::from_percent(10)); + + // Roll one block to process the offence + Session::roll_next(); + + // Both validator AND nominator should be slashed because the offence + // occurred in era 1 when nominators were slashable + let validator_stake_after = Staking::ledger(11.into()).unwrap().active; + let nominator_stake_after = Staking::ledger(101.into()).unwrap().active; + + assert!(validator_stake_after < validator_stake_before, "Validator should be slashed"); + assert!( + nominator_stake_after < nominator_stake_before, + "Nominator should be slashed because the offence was in a slashable era" + ); + }); +} + +/// Test that offences from an era where nominators were NOT slashable do not slash nominators +/// even if the global setting later changes to true. +/// +/// This verifies the era-specific slashing behavior in the opposite direction. +#[test] +fn offence_from_non_slashable_era_does_not_slash_nominators_even_after_setting_changes() { + ExtBuilder::default() + .validator_count(4) + .set_status(41, StakerStatus::Validator) + .set_nominators_slashable(false) + .build_and_execute(|| { + // Era 1: nominators are NOT slashable + assert!(!AreNominatorsSlashable::::get()); + assert_eq!(active_era(), 1); + + // Advance to era 2 + Session::roll_until_active_era(2); + + // Verify era 1 was recorded as nominators NOT slashable + assert!( + !ErasNominatorsSlashable::::get(1).unwrap_or(true), + "Era 1 should have nominators NOT slashable" + ); + + let nominator_stake_before = Staking::ledger(101.into()).unwrap().active; + let validator_stake_before = Staking::ledger(11.into()).unwrap().active; + + // Now change the global setting to true BEFORE the offence is processed + AreNominatorsSlashable::::put(true); + + // Report an offence from era 1 (when nominators were NOT slashable) + add_slash_in_era(11, 1, Perbill::from_percent(10)); + + // Roll one block to process the offence + Session::roll_next(); + + // Only validator should be slashed, NOT nominator, because the offence + // occurred in era 1 when nominators were NOT slashable + let validator_stake_after = Staking::ledger(11.into()).unwrap().active; + let nominator_stake_after = Staking::ledger(101.into()).unwrap().active; + + assert!(validator_stake_after < validator_stake_before, "Validator should be slashed"); + assert_eq!( + nominator_stake_after, nominator_stake_before, + "Nominator should NOT be slashed because the offence was in a non-slashable era" + ); + }); +} + +/// Test that when nominators slashable setting changes mid-era, offences are processed +/// based on the era they occurred in, not the current setting. +#[test] +fn mixed_era_offences_processed_based_on_era_specific_setting() { + ExtBuilder::default() + .validator_count(4) + .set_status(41, StakerStatus::Validator) + .build_and_execute(|| { + // Era 1: nominators are slashable (default) + assert!(AreNominatorsSlashable::::get()); + assert_eq!(active_era(), 1); + + // Advance to era 2 + Session::roll_until_active_era(2); + // Era 2 is also slashable + + // Change setting to false for era 3+ + AreNominatorsSlashable::::put(false); + + // Advance to era 3 + Session::roll_until_active_era(3); + + // Verify era-specific settings + assert!( + ErasNominatorsSlashable::::get(1).unwrap_or(true), + "Era 1 should be slashable" + ); + assert!( + ErasNominatorsSlashable::::get(2).unwrap_or(true), + "Era 2 should be slashable" + ); + assert!( + !ErasNominatorsSlashable::::get(3).unwrap_or(true), + "Era 3 should NOT be slashable" + ); + + let nominator_stake_before = Staking::ledger(101.into()).unwrap().active; + + // Report offence from era 1 (slashable) - nominator should be slashed + add_slash_in_era(11, 1, Perbill::from_percent(5)); + Session::roll_next(); + + let nominator_stake_after_era1_slash = Staking::ledger(101.into()).unwrap().active; + assert!( + nominator_stake_after_era1_slash < nominator_stake_before, + "Nominator should be slashed for era 1 offence" + ); + + // Report offence from era 3 (NOT slashable) - nominator should NOT be slashed + add_slash_in_era(11, 3, Perbill::from_percent(5)); + Session::roll_next(); + + let nominator_stake_after_era3_slash = Staking::ledger(101.into()).unwrap().active; + assert_eq!( + nominator_stake_after_era3_slash, nominator_stake_after_era1_slash, + "Nominator should NOT be slashed for era 3 offence" + ); + }); +} + +/// Test that validators who switch to nominator role must still use full bonding duration. +/// +/// This test verifies that a validator cannot avoid slash in following scenario: +/// 1. A validator commits a slashable offence in era N +/// 2. The validator switches to nominator role (calling `nominate()`) +/// 3. Unbond with fast `NominatorFastUnbondDuration` and withdraw before the slash is applied +#[test] +fn validator_cannot_switch_to_nominator_to_avoid_slashing() { + ExtBuilder::default() + .set_nominators_slashable(false) + .slash_defer_duration(2) // Defer slashing by 2 eras + .build_and_execute(|| { + let alice = 11; + // Alice is a validator in era 1 + assert!(Validators::::contains_key(&alice)); + assert!(!Nominators::::contains_key(&alice)); + assert_eq!(active_era(), 1); + + let validator_stake_before = Staking::ledger(alice.into()).unwrap().active; + assert_eq!(validator_stake_before, 1000); + + // Step 1: Alice commits a slashable offence in era 1 (10% slash) + add_slash(alice); + assert_eq!( + staking_events_since_last_call(), + vec![Event::OffenceReported { + offence_era: 1, + validator: alice, + fraction: Perbill::from_percent(10) + }] + ); + + // Process the offence - it will be computed and deferred to era 3 (1 + 2) + Session::roll_next(); + assert_eq!( + staking_events_since_last_call(), + vec![Event::SlashComputed { + offence_era: 1, + slash_era: 3, + offender: alice, + page: 0 + }] + ); + + // Step 2: Alice switches to nominator role + assert_ok!(Staking::nominate(RuntimeOrigin::signed(alice), vec![21])); + + // Verify Alice is now a nominator (no longer a validator) + assert!(!Validators::::contains_key(&alice)); + assert!(Nominators::::contains_key(&alice)); + + // Step 3: Alice (now a nominator) unbonds partially + assert_ok!(Staking::unbond(RuntimeOrigin::signed(alice), 999)); + assert_eq!( + staking_events_since_last_call(), + [Event::Unbonded { stash: alice, amount: 999 }] + ); + + // Alice should still be a nominator + assert!(Nominators::::contains_key(&alice)); + + // Calculate expected unlock eras: + // - Fast unbond: current_era (1) + NominatorFastUnbondDuration (2) = 3 + // - Full unbond: current_era (1) + BondingDuration (3) = 4 + let fast_unbond_era = 1 + NominatorFastUnbondDuration::get(); + let validator_unbond_era = 1 + BondingDuration::get(); + + assert_eq!(NominatorFastUnbondDuration::get(), 2); + assert_eq!(BondingDuration::get(), 3); + assert_eq!(fast_unbond_era, 3); + assert_eq!(validator_unbond_era, 4); + + // Alice must use full bonding duration despite being a nominator now, + // because she was a validator in era 1 (within BondingDuration of active era). + // This prevents her from withdrawing before the slash is applied. + assert_eq!( + Staking::ledger(alice.into()).unwrap(), + StakingLedgerInspect { + stash: alice, + total: 1000, + active: 1, + unlocking: bounded_vec![UnlockChunk { value: 999, era: validator_unbond_era }], + } + ); + + // Step 4: Try to withdraw in era 3 (when fast unbond would have completed) + Session::roll_until_active_era(3); + let _ = staking_events_since_last_call(); + assert_ok!(Staking::withdraw_unbonded(RuntimeOrigin::signed(alice), 0)); + + // Verify no withdrawal occurred - funds are still locked + assert_eq!(staking_events_since_last_call(), []); + assert_eq!( + Staking::ledger(alice.into()).unwrap().total, + 1000 // initial stake + ); + + // Step 5: Slash is applied (happens in the next block) + Session::roll_next(); + + // Verify slash event and that Alice is slashed properly (10% of 1000 = 100) + assert_eq!( + staking_events_since_last_call(), + [Event::Slashed { staker: alice, amount: 100 }] + ); + + let ledger_after_slash = Staking::ledger(alice.into()).unwrap(); + assert_eq_error_rate!( + ledger_after_slash.total, + 900, // Expected: 1000 - 10% = 900 + 1 // Allow small error margin due to rounding + ); + + // Step 6: Wait until era 4 when the full bonding duration expires + Session::roll_until_active_era(4); + let _ = staking_events_since_last_call(); + + // Now Alice can withdraw - the full bonding duration has elapsed + assert_ok!(Staking::withdraw_unbonded(RuntimeOrigin::signed(alice), 0)); + + // Verify Alice was slashed and stash was reaped (fell below minimum after slash) + // Total was reduced to ~900 by the slash, so withdrawn amount is ~900 + assert_eq!( + staking_events_since_last_call(), + [ + Event::StakerRemoved { stash: alice }, + Event::Withdrawn { stash: alice, amount: 900 } + ] + ); + + // Ledger should be fully reaped + assert!(Staking::ledger(alice.into()).is_err(), "Ledger should be reaped"); + }); +} diff --git a/substrate/frame/staking-async/src/tests/payout_stakers.rs b/substrate/frame/staking-async/src/tests/payout_stakers.rs index 37200ee438b8f..9242147203b2a 100644 --- a/substrate/frame/staking-async/src/tests/payout_stakers.rs +++ b/substrate/frame/staking-async/src/tests/payout_stakers.rs @@ -593,6 +593,7 @@ fn min_commission_works() { ConfigOp::Remove, ConfigOp::Set(Perbill::from_percent(10)), ConfigOp::Noop, + ConfigOp::Noop, )); // can't make it less than 10 now diff --git a/substrate/frame/staking-async/src/tests/slashing.rs b/substrate/frame/staking-async/src/tests/slashing.rs index c5a50329d6a24..e070fcc1e4de2 100644 --- a/substrate/frame/staking-async/src/tests/slashing.rs +++ b/substrate/frame/staking-async/src/tests/slashing.rs @@ -871,12 +871,18 @@ fn garbage_collection_on_window_pruning() { assert!(ValidatorSlashInEra::::get(&now, &11).is_some()); - // + 1 because we have to exit the bonding window. - for era in (0..(BondingDuration::get() + 1)).map(|offset| offset + now + 1) { + for era in (0..(HistoryDepth::get() + 1)).map(|offset| offset + now + 1) { assert!(ValidatorSlashInEra::::get(&now, &11).is_some()); Session::roll_until_active_era(era); } + // After HistoryDepth + 1 eras, lazy pruning is triggered. + // We need to manually call prune_era_step to actually remove the data. + let prune_era = now; + while EraPruningState::::get(prune_era).is_some() { + assert_ok!(Staking::prune_era_step(RuntimeOrigin::signed(10), prune_era)); + } + assert!(ValidatorSlashInEra::::get(&now, &11).is_none()); }) } diff --git a/substrate/frame/staking-async/src/weights.rs b/substrate/frame/staking-async/src/weights.rs index 1df950316263e..7167ec12e2338 100644 --- a/substrate/frame/staking-async/src/weights.rs +++ b/substrate/frame/staking-async/src/weights.rs @@ -19,9 +19,9 @@ //! Autogenerated weights for `pallet_staking_async` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-09-03, STEPS: `2`, REPEAT: `1`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2026-01-05, STEPS: `2`, REPEAT: `1`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `PAR03662`, CPU: `` +//! HOSTNAME: `Mac`, CPU: `` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: @@ -43,6 +43,8 @@ // substrate/.maintain/frame-weight-template.hbs // --output // substrate/frame/staking-async/src/weights.rs +// --genesis-builder-preset +// fake-dev #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -84,7 +86,7 @@ pub trait WeightInfo { fn set_min_commission() -> Weight; fn restore_ledger() -> Weight; fn migrate_currency() -> Weight; - fn apply_slash() -> Weight; + fn apply_slash(n: u32, ) -> Weight; fn process_offence_queue() -> Weight; fn rc_on_offence(v: u32, ) -> Weight; fn rc_on_session_report() -> Weight; @@ -94,7 +96,8 @@ pub trait WeightInfo { fn prune_era_claimed_rewards(v: u32, ) -> Weight; fn prune_era_validator_reward() -> Weight; fn prune_era_reward_points() -> Weight; - fn prune_era_total_stake() -> Weight; + fn prune_era_single_entry_cleanups() -> Weight; + fn prune_era_validator_slash_in_era(v: u32, ) -> Weight; } /// Weights for `pallet_staking_async` using the Substrate node and recommended hardware. @@ -116,10 +119,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn bond() -> Weight { // Proof Size summary in bytes: - // Measured: `6835` + // Measured: `4933` // Estimated: `4218` - // Minimum execution time: 97_000_000 picoseconds. - Weight::from_parts(97_000_000, 4218) + // Minimum execution time: 96_000_000 picoseconds. + Weight::from_parts(96_000_000, 4218) .saturating_add(T::DbWeight::get().reads(6_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -143,10 +146,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) fn bond_extra() -> Weight { // Proof Size summary in bytes: - // Measured: `8263` + // Measured: `5955` // Estimated: `8877` - // Minimum execution time: 197_000_000 picoseconds. - Weight::from_parts(197_000_000, 8877) + // Minimum execution time: 179_000_000 picoseconds. + Weight::from_parts(179_000_000, 8877) .saturating_add(T::DbWeight::get().reads(12_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -158,6 +161,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) /// Storage: `Staking::MinNominatorBond` (r:1 w:0) /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Staking::AreNominatorsSlashable` (r:1 w:0) + /// Proof: `Staking::AreNominatorsSlashable` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: `Staking::ActiveEra` (r:1 w:0) /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`) /// Storage: `Staking::VirtualStakers` (r:1 w:0) @@ -172,11 +177,11 @@ impl WeightInfo for SubstrateWeight { /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) fn unbond() -> Weight { // Proof Size summary in bytes: - // Measured: `8411` + // Measured: `6104` // Estimated: `8877` - // Minimum execution time: 175_000_000 picoseconds. - Weight::from_parts(175_000_000, 8877) - .saturating_add(T::DbWeight::get().reads(13_u64)) + // Minimum execution time: 136_000_000 picoseconds. + Weight::from_parts(136_000_000, 8877) + .saturating_add(T::DbWeight::get().reads(14_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } /// Storage: `Staking::Ledger` (r:1 w:1) @@ -203,10 +208,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `DelegatedStaking::Agents` (`max_values`: None, `max_size`: Some(120), added: 2595, mode: `MaxEncodedLen`) fn withdraw_unbonded_update() -> Weight { // Proof Size summary in bytes: - // Measured: `7483` + // Measured: `5425` // Estimated: `28200` - // Minimum execution time: 109_000_000 picoseconds. - Weight::from_parts(109_000_000, 28200) + // Minimum execution time: 107_000_000 picoseconds. + Weight::from_parts(107_000_000, 28200) .saturating_add(T::DbWeight::get().reads(11_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -246,10 +251,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn withdraw_unbonded_kill() -> Weight { // Proof Size summary in bytes: - // Measured: `8349` + // Measured: `6042` // Estimated: `28200` - // Minimum execution time: 223_000_000 picoseconds. - Weight::from_parts(223_000_000, 28200) + // Minimum execution time: 207_000_000 picoseconds. + Weight::from_parts(207_000_000, 28200) .saturating_add(T::DbWeight::get().reads(17_u64)) .saturating_add(T::DbWeight::get().writes(11_u64)) } @@ -279,10 +284,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::CounterForValidators` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn validate() -> Weight { // Proof Size summary in bytes: - // Measured: `9960` + // Measured: `7492` // Estimated: `4218` - // Minimum execution time: 94_000_000 picoseconds. - Weight::from_parts(94_000_000, 4218) + // Minimum execution time: 82_000_000 picoseconds. + Weight::from_parts(82_000_000, 4218) .saturating_add(T::DbWeight::get().reads(12_u64)) .saturating_add(T::DbWeight::get().writes(5_u64)) } @@ -295,10 +300,10 @@ impl WeightInfo for SubstrateWeight { /// The range of component `k` is `[1, 128]`. fn kick(_k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `5502 + k * (1134 Β±0)` + // Measured: `4371 + k * (766 Β±0)` // Estimated: `389214` - // Minimum execution time: 48_000_000 picoseconds. - Weight::from_parts(1_187_000_000, 389214) + // Minimum execution time: 49_000_000 picoseconds. + Weight::from_parts(1_084_000_000, 389214) .saturating_add(T::DbWeight::get().reads(130_u64)) .saturating_add(T::DbWeight::get().writes(128_u64)) } @@ -329,10 +334,10 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 16]`. fn nominate(_n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `5057 + n * (69 Β±0)` + // Measured: `3982 + n * (69 Β±0)` // Estimated: `43830` - // Minimum execution time: 122_000_000 picoseconds. - Weight::from_parts(205_000_000, 43830) + // Minimum execution time: 99_000_000 picoseconds. + Weight::from_parts(175_000_000, 43830) .saturating_add(T::DbWeight::get().reads(29_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -356,10 +361,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn chill() -> Weight { // Proof Size summary in bytes: - // Measured: `5226` + // Measured: `4051` // Estimated: `6248` - // Minimum execution time: 117_000_000 picoseconds. - Weight::from_parts(117_000_000, 6248) + // Minimum execution time: 91_000_000 picoseconds. + Weight::from_parts(91_000_000, 6248) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -371,10 +376,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn set_payee() -> Weight { // Proof Size summary in bytes: - // Measured: `4082` + // Measured: `3077` // Estimated: `4218` - // Minimum execution time: 33_000_000 picoseconds. - Weight::from_parts(33_000_000, 4218) + // Minimum execution time: 30_000_000 picoseconds. + Weight::from_parts(30_000_000, 4218) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -386,10 +391,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn update_payee() -> Weight { // Proof Size summary in bytes: - // Measured: `5787` + // Measured: `4286` // Estimated: `4218` - // Minimum execution time: 39_000_000 picoseconds. - Weight::from_parts(39_000_000, 4218) + // Minimum execution time: 38_000_000 picoseconds. + Weight::from_parts(38_000_000, 4218) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -399,10 +404,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) fn set_controller() -> Weight { // Proof Size summary in bytes: - // Measured: `5392` + // Measured: `3716` // Estimated: `7446` - // Minimum execution time: 39_000_000 picoseconds. - Weight::from_parts(39_000_000, 7446) + // Minimum execution time: 37_000_000 picoseconds. + Weight::from_parts(37_000_000, 7446) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -422,8 +427,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 13_000_000 picoseconds. - Weight::from_parts(13_000_000, 0) + // Minimum execution time: 14_000_000 picoseconds. + Weight::from_parts(14_000_000, 0) .saturating_add(T::DbWeight::get().writes(1_u64)) } /// Storage: `Staking::ForceEra` (r:0 w:1) @@ -442,8 +447,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 13_000_000 picoseconds. - Weight::from_parts(13_000_000, 0) + // Minimum execution time: 19_000_000 picoseconds. + Weight::from_parts(19_000_000, 0) .saturating_add(T::DbWeight::get().writes(1_u64)) } /// Storage: `Staking::Ledger` (r:1502 w:1502) @@ -455,10 +460,10 @@ impl WeightInfo for SubstrateWeight { /// The range of component `u` is `[0, 751]`. fn deprecate_controller_batch(_u: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + u * (1311 Β±0)` + // Measured: `0 + u * (465 Β±0)` // Estimated: `4849446` - // Minimum execution time: 6_000_000 picoseconds. - Weight::from_parts(22_601_000_000, 4849446) + // Minimum execution time: 39_000_000 picoseconds. + Weight::from_parts(18_389_000_000, 4849446) .saturating_add(T::DbWeight::get().reads(3004_u64)) .saturating_add(T::DbWeight::get().writes(2253_u64)) } @@ -490,10 +495,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn force_unstake() -> Weight { // Proof Size summary in bytes: - // Measured: `8294` + // Measured: `5986` // Estimated: `6248` - // Minimum execution time: 177_000_000 picoseconds. - Weight::from_parts(177_000_000, 6248) + // Minimum execution time: 146_000_000 picoseconds. + Weight::from_parts(146_000_000, 6248) .saturating_add(T::DbWeight::get().reads(13_u64)) .saturating_add(T::DbWeight::get().writes(12_u64)) } @@ -502,10 +507,10 @@ impl WeightInfo for SubstrateWeight { /// The range of component `s` is `[1, 1000]`. fn cancel_deferred_slash(_s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `642` + // Measured: `600` // Estimated: `39479` - // Minimum execution time: 17_000_000 picoseconds. - Weight::from_parts(2_770_000_000, 39479) + // Minimum execution time: 16_000_000 picoseconds. + Weight::from_parts(3_259_000_000, 39479) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -569,10 +574,10 @@ impl WeightInfo for SubstrateWeight { /// The range of component `l` is `[1, 32]`. fn rebond(_l: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `8265 + l * (4 Β±0)` + // Measured: `5957 + l * (4 Β±0)` // Estimated: `8877` - // Minimum execution time: 154_000_000 picoseconds. - Weight::from_parts(205_000_000, 8877) + // Minimum execution time: 127_000_000 picoseconds. + Weight::from_parts(130_000_000, 8877) .saturating_add(T::DbWeight::get().reads(12_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -606,13 +611,15 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn reap_stash() -> Weight { // Proof Size summary in bytes: - // Measured: `8357` + // Measured: `6050` // Estimated: `6248` - // Minimum execution time: 199_000_000 picoseconds. - Weight::from_parts(199_000_000, 6248) + // Minimum execution time: 162_000_000 picoseconds. + Weight::from_parts(162_000_000, 6248) .saturating_add(T::DbWeight::get().reads(14_u64)) .saturating_add(T::DbWeight::get().writes(11_u64)) } + /// Storage: `Staking::AreNominatorsSlashable` (r:0 w:1) + /// Proof: `Staking::AreNominatorsSlashable` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: `Staking::MinCommission` (r:0 w:1) /// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) /// Storage: `Staking::MinValidatorBond` (r:0 w:1) @@ -631,10 +638,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_000_000 picoseconds. - Weight::from_parts(6_000_000, 0) - .saturating_add(T::DbWeight::get().writes(7_u64)) + // Minimum execution time: 8_000_000 picoseconds. + Weight::from_parts(8_000_000, 0) + .saturating_add(T::DbWeight::get().writes(8_u64)) } + /// Storage: `Staking::AreNominatorsSlashable` (r:0 w:1) + /// Proof: `Staking::AreNominatorsSlashable` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: `Staking::MinCommission` (r:0 w:1) /// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) /// Storage: `Staking::MinValidatorBond` (r:0 w:1) @@ -653,9 +662,9 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_000_000 picoseconds. - Weight::from_parts(4_000_000, 0) - .saturating_add(T::DbWeight::get().writes(7_u64)) + // Minimum execution time: 8_000_000 picoseconds. + Weight::from_parts(8_000_000, 0) + .saturating_add(T::DbWeight::get().writes(8_u64)) } /// Storage: `Staking::Bonded` (r:1 w:0) /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) @@ -683,10 +692,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn chill_other() -> Weight { // Proof Size summary in bytes: - // Measured: `5349` + // Measured: `4184` // Estimated: `6248` - // Minimum execution time: 133_000_000 picoseconds. - Weight::from_parts(133_000_000, 6248) + // Minimum execution time: 101_000_000 picoseconds. + Weight::from_parts(101_000_000, 6248) .saturating_add(T::DbWeight::get().reads(13_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -696,10 +705,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) fn force_apply_min_commission() -> Weight { // Proof Size summary in bytes: - // Measured: `652` + // Measured: `607` // Estimated: `3510` - // Minimum execution time: 29_000_000 picoseconds. - Weight::from_parts(29_000_000, 3510) + // Minimum execution time: 25_000_000 picoseconds. + Weight::from_parts(25_000_000, 3510) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -727,10 +736,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) fn restore_ledger() -> Weight { // Proof Size summary in bytes: - // Measured: `7116` + // Measured: `5012` // Estimated: `4764` - // Minimum execution time: 64_000_000 picoseconds. - Weight::from_parts(64_000_000, 4764) + // Minimum execution time: 62_000_000 picoseconds. + Weight::from_parts(62_000_000, 4764) .saturating_add(T::DbWeight::get().reads(6_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -748,15 +757,17 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) fn migrate_currency() -> Weight { // Proof Size summary in bytes: - // Measured: `7061` + // Measured: `5122` // Estimated: `4764` - // Minimum execution time: 102_000_000 picoseconds. - Weight::from_parts(102_000_000, 4764) + // Minimum execution time: 106_000_000 picoseconds. + Weight::from_parts(106_000_000, 4764) .saturating_add(T::DbWeight::get().reads(6_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } /// Storage: `Staking::ActiveEra` (r:1 w:0) /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`) + /// Storage: `Staking::CancelledSlashes` (r:1 w:0) + /// Proof: `Staking::CancelledSlashes` (`max_values`: None, `max_size`: Some(36014), added: 38489, mode: `MaxEncodedLen`) /// Storage: `Staking::UnappliedSlashes` (r:1 w:1) /// Proof: `Staking::UnappliedSlashes` (`max_values`: None, `max_size`: Some(24735), added: 27210, mode: `MaxEncodedLen`) /// Storage: `Staking::Bonded` (r:513 w:0) @@ -773,13 +784,14 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) /// Storage: `Balances::Holds` (r:513 w:513) /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) - fn apply_slash() -> Weight { + /// The range of component `n` is `[0, 512]`. + fn apply_slash(_n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1002216` + // Measured: `5844 + n * (822 Β±0)` // Estimated: `1656954` - // Minimum execution time: 31_133_000_000 picoseconds. - Weight::from_parts(31_133_000_000, 1656954) - .saturating_add(T::DbWeight::get().reads(3593_u64)) + // Minimum execution time: 146_000_000 picoseconds. + Weight::from_parts(27_753_000_000, 1656954) + .saturating_add(T::DbWeight::get().reads(3594_u64)) .saturating_add(T::DbWeight::get().writes(2053_u64)) } /// Storage: `Staking::ProcessingOffence` (r:1 w:1) @@ -798,10 +810,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::UnappliedSlashes` (`max_values`: None, `max_size`: Some(24735), added: 27210, mode: `MaxEncodedLen`) fn process_offence_queue() -> Weight { // Proof Size summary in bytes: - // Measured: `21578` + // Measured: `19508` // Estimated: `28121` - // Minimum execution time: 183_000_000 picoseconds. - Weight::from_parts(183_000_000, 28121) + // Minimum execution time: 227_000_000 picoseconds. + Weight::from_parts(227_000_000, 28121) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -820,11 +832,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `v` is `[2, 500]`. fn rc_on_offence(_v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `829 + v * (96 Β±0)` + // Measured: `787 + v * (96 Β±0)` // Estimated: `1288990` - // Minimum execution time: 70_000_000 picoseconds. - Weight::from_parts(7_666_000_000, 1288990) - .saturating_add(T::DbWeight::get().reads(1504_u64)) + // Minimum execution time: 71_000_000 picoseconds. + Weight::from_parts(8_719_000_000, 1288990) + .saturating_add(T::DbWeight::get().reads(1503_u64)) .saturating_add(T::DbWeight::get().writes(1001_u64)) } /// Storage: `Staking::ActiveEra` (r:1 w:1) @@ -839,8 +851,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::MaxStakedRewards` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: `Staking::BondedEras` (r:1 w:1) /// Proof: `Staking::BondedEras` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`) - /// Storage: `Staking::ValidatorCount` (r:1 w:0) - /// Proof: `Staking::ValidatorCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Staking::AreNominatorsSlashable` (r:1 w:0) + /// Proof: `Staking::AreNominatorsSlashable` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: `Staking::ForceEra` (r:1 w:0) /// Proof: `Staking::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: UNKNOWN KEY `0xa143099d7a337c5fd879b91b2b157c2d` (r:1 w:0) @@ -853,6 +865,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: UNKNOWN KEY `0x48384a816e4f71a936cb76dc9e303f2a` (r:1 w:0) /// Storage: `MultiBlockElection::CurrentPhase` (r:1 w:1) /// Proof: `MultiBlockElection::CurrentPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + /// Storage: `Staking::ErasNominatorsSlashable` (r:0 w:1) + /// Proof: `Staking::ErasNominatorsSlashable` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `MaxEncodedLen`) /// Storage: `Staking::VoterSnapshotStatus` (r:0 w:1) /// Proof: `Staking::VoterSnapshotStatus` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`) /// Storage: `Staking::ErasValidatorReward` (r:0 w:1) @@ -863,222 +877,139 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Staking::ElectableStashes` (`max_values`: Some(1), `max_size`: Some(32002), added: 32497, mode: `MaxEncodedLen`) fn rc_on_session_report() -> Weight { // Proof Size summary in bytes: - // Measured: `1425` + // Measured: `1340` // Estimated: `39483` - // Minimum execution time: 359_000_000 picoseconds. - Weight::from_parts(359_000_000, 39483) + // Minimum execution time: 350_000_000 picoseconds. + Weight::from_parts(350_000_000, 39483) .saturating_add(T::DbWeight::get().reads(13_u64)) - .saturating_add(T::DbWeight::get().writes(9_u64)) + .saturating_add(T::DbWeight::get().writes(10_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:1000) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) + /// Storage: `Staking::EraPruningState` (r:1 w:0) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasStakersPaged` (r:101 w:100) /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:0) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) /// The range of component `v` is `[1, 1000]`. fn prune_era_stakers_paged(_v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_777_000_000 picoseconds. - Weight::from_parts(16_769_000_000, 3998937) - .saturating_add(T::DbWeight::get().reads(4010_u64)) - .saturating_add(T::DbWeight::get().writes(1001_u64)) + // Measured: `975 + v * (9 Β±0)` + // Estimated: `261435` + // Minimum execution time: 28_000_000 picoseconds. + Weight::from_parts(145_000_000, 261435) + .saturating_add(T::DbWeight::get().reads(103_u64)) + .saturating_add(T::DbWeight::get().writes(100_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:1000) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) + /// Storage: `Staking::EraPruningState` (r:1 w:0) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasStakersOverview` (r:101 w:100) /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:0) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) /// The range of component `v` is `[1, 1000]`. fn prune_era_stakers_overview(_v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_713_000_000 picoseconds. - Weight::from_parts(16_792_000_000, 3998937) - .saturating_add(T::DbWeight::get().reads(4010_u64)) - .saturating_add(T::DbWeight::get().writes(1001_u64)) + // Measured: `845 + v * (6 Β±0)` + // Estimated: `258652` + // Minimum execution time: 24_000_000 picoseconds. + Weight::from_parts(166_000_000, 258652) + .saturating_add(T::DbWeight::get().reads(103_u64)) + .saturating_add(T::DbWeight::get().writes(100_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:1000) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) + /// Storage: `Staking::EraPruningState` (r:1 w:0) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasValidatorPrefs` (r:101 w:100) /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:0) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) /// The range of component `v` is `[1, 1000]`. fn prune_era_validator_prefs(_v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_801_000_000 picoseconds. - Weight::from_parts(16_902_000_000, 3998937) - .saturating_add(T::DbWeight::get().reads(4010_u64)) - .saturating_add(T::DbWeight::get().writes(1001_u64)) + // Measured: `886 + v * (5 Β±0)` + // Estimated: `257193` + // Minimum execution time: 23_000_000 picoseconds. + Weight::from_parts(148_000_000, 257193) + .saturating_add(T::DbWeight::get().reads(103_u64)) + .saturating_add(T::DbWeight::get().writes(100_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:1000) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) + /// Storage: `Staking::EraPruningState` (r:1 w:0) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ClaimedRewards` (r:101 w:100) + /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(61), added: 2536, mode: `Measured`) /// The range of component `v` is `[1, 1000]`. fn prune_era_claimed_rewards(_v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_666_000_000 picoseconds. - Weight::from_parts(17_023_000_000, 3998937) - .saturating_add(T::DbWeight::get().reads(4010_u64)) - .saturating_add(T::DbWeight::get().writes(1001_u64)) + // Measured: `836 + v * (6 Β±0)` + // Estimated: `257878` + // Minimum execution time: 25_000_000 picoseconds. + Weight::from_parts(149_000_000, 257878) + .saturating_add(T::DbWeight::get().reads(103_u64)) + .saturating_add(T::DbWeight::get().writes(100_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:1) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasValidatorReward` (r:0 w:1) /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:0) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) - /// The range of component `v` is `[1, 1000]`. fn prune_era_validator_reward() -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_664_000_000 picoseconds. - Weight::from_parts(15_647_000_000, 3998937) - .saturating_add(T::DbWeight::get().reads(4010_u64)) + // Measured: `756` + // Estimated: `4221` + // Minimum execution time: 19_000_000 picoseconds. + Weight::from_parts(19_000_000, 4221) + .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:0) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:1) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasRewardPoints` (r:0 w:1) /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) - /// The range of component `v` is `[1, 1000]`. fn prune_era_reward_points() -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_856_000_000 picoseconds. - Weight::from_parts(15_950_000_000, 3998937) - .saturating_add(T::DbWeight::get().reads(4010_u64)) + // Measured: `756` + // Estimated: `4221` + // Minimum execution time: 19_000_000 picoseconds. + Weight::from_parts(19_000_000, 4221) + .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:1) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasNominatorsSlashable` (r:0 w:1) + /// Proof: `Staking::ErasNominatorsSlashable` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasTotalStake` (r:0 w:1) /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:0) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) + fn prune_era_single_entry_cleanups() -> Weight { + // Proof Size summary in bytes: + // Measured: `756` + // Estimated: `4221` + // Minimum execution time: 22_000_000 picoseconds. + Weight::from_parts(22_000_000, 4221) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) + } + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) + /// Storage: `Staking::EraPruningState` (r:1 w:0) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ValidatorSlashInEra` (r:101 w:100) + /// Proof: `Staking::ValidatorSlashInEra` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `Measured`) /// The range of component `v` is `[1, 1000]`. - fn prune_era_total_stake() -> Weight { + fn prune_era_validator_slash_in_era(_v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_613_000_000 picoseconds. - Weight::from_parts(15_665_000_000, 3998937) - .saturating_add(T::DbWeight::get().reads(4010_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)) + // Measured: `787 + v * (7 Β±0)` + // Estimated: `259023` + // Minimum execution time: 33_000_000 picoseconds. + Weight::from_parts(154_000_000, 259023) + .saturating_add(T::DbWeight::get().reads(103_u64)) + .saturating_add(T::DbWeight::get().writes(100_u64)) } } @@ -1100,10 +1031,10 @@ impl WeightInfo for () { /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn bond() -> Weight { // Proof Size summary in bytes: - // Measured: `6835` + // Measured: `4933` // Estimated: `4218` - // Minimum execution time: 97_000_000 picoseconds. - Weight::from_parts(97_000_000, 4218) + // Minimum execution time: 96_000_000 picoseconds. + Weight::from_parts(96_000_000, 4218) .saturating_add(RocksDbWeight::get().reads(6_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -1127,10 +1058,10 @@ impl WeightInfo for () { /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) fn bond_extra() -> Weight { // Proof Size summary in bytes: - // Measured: `8263` + // Measured: `5955` // Estimated: `8877` - // Minimum execution time: 197_000_000 picoseconds. - Weight::from_parts(197_000_000, 8877) + // Minimum execution time: 179_000_000 picoseconds. + Weight::from_parts(179_000_000, 8877) .saturating_add(RocksDbWeight::get().reads(12_u64)) .saturating_add(RocksDbWeight::get().writes(7_u64)) } @@ -1142,6 +1073,8 @@ impl WeightInfo for () { /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) /// Storage: `Staking::MinNominatorBond` (r:1 w:0) /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Staking::AreNominatorsSlashable` (r:1 w:0) + /// Proof: `Staking::AreNominatorsSlashable` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: `Staking::ActiveEra` (r:1 w:0) /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`) /// Storage: `Staking::VirtualStakers` (r:1 w:0) @@ -1156,11 +1089,11 @@ impl WeightInfo for () { /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) fn unbond() -> Weight { // Proof Size summary in bytes: - // Measured: `8411` + // Measured: `6104` // Estimated: `8877` - // Minimum execution time: 175_000_000 picoseconds. - Weight::from_parts(175_000_000, 8877) - .saturating_add(RocksDbWeight::get().reads(13_u64)) + // Minimum execution time: 136_000_000 picoseconds. + Weight::from_parts(136_000_000, 8877) + .saturating_add(RocksDbWeight::get().reads(14_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } /// Storage: `Staking::Ledger` (r:1 w:1) @@ -1187,10 +1120,10 @@ impl WeightInfo for () { /// Proof: `DelegatedStaking::Agents` (`max_values`: None, `max_size`: Some(120), added: 2595, mode: `MaxEncodedLen`) fn withdraw_unbonded_update() -> Weight { // Proof Size summary in bytes: - // Measured: `7483` + // Measured: `5425` // Estimated: `28200` - // Minimum execution time: 109_000_000 picoseconds. - Weight::from_parts(109_000_000, 28200) + // Minimum execution time: 107_000_000 picoseconds. + Weight::from_parts(107_000_000, 28200) .saturating_add(RocksDbWeight::get().reads(11_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -1230,10 +1163,10 @@ impl WeightInfo for () { /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn withdraw_unbonded_kill() -> Weight { // Proof Size summary in bytes: - // Measured: `8349` + // Measured: `6042` // Estimated: `28200` - // Minimum execution time: 223_000_000 picoseconds. - Weight::from_parts(223_000_000, 28200) + // Minimum execution time: 207_000_000 picoseconds. + Weight::from_parts(207_000_000, 28200) .saturating_add(RocksDbWeight::get().reads(17_u64)) .saturating_add(RocksDbWeight::get().writes(11_u64)) } @@ -1263,10 +1196,10 @@ impl WeightInfo for () { /// Proof: `Staking::CounterForValidators` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn validate() -> Weight { // Proof Size summary in bytes: - // Measured: `9960` + // Measured: `7492` // Estimated: `4218` - // Minimum execution time: 94_000_000 picoseconds. - Weight::from_parts(94_000_000, 4218) + // Minimum execution time: 82_000_000 picoseconds. + Weight::from_parts(82_000_000, 4218) .saturating_add(RocksDbWeight::get().reads(12_u64)) .saturating_add(RocksDbWeight::get().writes(5_u64)) } @@ -1279,10 +1212,10 @@ impl WeightInfo for () { /// The range of component `k` is `[1, 128]`. fn kick(_k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `5502 + k * (1134 Β±0)` + // Measured: `4371 + k * (766 Β±0)` // Estimated: `389214` - // Minimum execution time: 48_000_000 picoseconds. - Weight::from_parts(1_187_000_000, 389214) + // Minimum execution time: 49_000_000 picoseconds. + Weight::from_parts(1_084_000_000, 389214) .saturating_add(RocksDbWeight::get().reads(130_u64)) .saturating_add(RocksDbWeight::get().writes(128_u64)) } @@ -1313,10 +1246,10 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 16]`. fn nominate(_n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `5057 + n * (69 Β±0)` + // Measured: `3982 + n * (69 Β±0)` // Estimated: `43830` - // Minimum execution time: 122_000_000 picoseconds. - Weight::from_parts(205_000_000, 43830) + // Minimum execution time: 99_000_000 picoseconds. + Weight::from_parts(175_000_000, 43830) .saturating_add(RocksDbWeight::get().reads(29_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -1340,10 +1273,10 @@ impl WeightInfo for () { /// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn chill() -> Weight { // Proof Size summary in bytes: - // Measured: `5226` + // Measured: `4051` // Estimated: `6248` - // Minimum execution time: 117_000_000 picoseconds. - Weight::from_parts(117_000_000, 6248) + // Minimum execution time: 91_000_000 picoseconds. + Weight::from_parts(91_000_000, 6248) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -1355,10 +1288,10 @@ impl WeightInfo for () { /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn set_payee() -> Weight { // Proof Size summary in bytes: - // Measured: `4082` + // Measured: `3077` // Estimated: `4218` - // Minimum execution time: 33_000_000 picoseconds. - Weight::from_parts(33_000_000, 4218) + // Minimum execution time: 30_000_000 picoseconds. + Weight::from_parts(30_000_000, 4218) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -1370,10 +1303,10 @@ impl WeightInfo for () { /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn update_payee() -> Weight { // Proof Size summary in bytes: - // Measured: `5787` + // Measured: `4286` // Estimated: `4218` - // Minimum execution time: 39_000_000 picoseconds. - Weight::from_parts(39_000_000, 4218) + // Minimum execution time: 38_000_000 picoseconds. + Weight::from_parts(38_000_000, 4218) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -1383,10 +1316,10 @@ impl WeightInfo for () { /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) fn set_controller() -> Weight { // Proof Size summary in bytes: - // Measured: `5392` + // Measured: `3716` // Estimated: `7446` - // Minimum execution time: 39_000_000 picoseconds. - Weight::from_parts(39_000_000, 7446) + // Minimum execution time: 37_000_000 picoseconds. + Weight::from_parts(37_000_000, 7446) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -1406,8 +1339,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 13_000_000 picoseconds. - Weight::from_parts(13_000_000, 0) + // Minimum execution time: 14_000_000 picoseconds. + Weight::from_parts(14_000_000, 0) .saturating_add(RocksDbWeight::get().writes(1_u64)) } /// Storage: `Staking::ForceEra` (r:0 w:1) @@ -1426,8 +1359,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 13_000_000 picoseconds. - Weight::from_parts(13_000_000, 0) + // Minimum execution time: 19_000_000 picoseconds. + Weight::from_parts(19_000_000, 0) .saturating_add(RocksDbWeight::get().writes(1_u64)) } /// Storage: `Staking::Ledger` (r:1502 w:1502) @@ -1439,10 +1372,10 @@ impl WeightInfo for () { /// The range of component `u` is `[0, 751]`. fn deprecate_controller_batch(_u: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + u * (1311 Β±0)` + // Measured: `0 + u * (465 Β±0)` // Estimated: `4849446` - // Minimum execution time: 6_000_000 picoseconds. - Weight::from_parts(22_601_000_000, 4849446) + // Minimum execution time: 39_000_000 picoseconds. + Weight::from_parts(18_389_000_000, 4849446) .saturating_add(RocksDbWeight::get().reads(3004_u64)) .saturating_add(RocksDbWeight::get().writes(2253_u64)) } @@ -1474,10 +1407,10 @@ impl WeightInfo for () { /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn force_unstake() -> Weight { // Proof Size summary in bytes: - // Measured: `8294` + // Measured: `5986` // Estimated: `6248` - // Minimum execution time: 177_000_000 picoseconds. - Weight::from_parts(177_000_000, 6248) + // Minimum execution time: 146_000_000 picoseconds. + Weight::from_parts(146_000_000, 6248) .saturating_add(RocksDbWeight::get().reads(13_u64)) .saturating_add(RocksDbWeight::get().writes(12_u64)) } @@ -1486,10 +1419,10 @@ impl WeightInfo for () { /// The range of component `s` is `[1, 1000]`. fn cancel_deferred_slash(_s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `642` + // Measured: `600` // Estimated: `39479` - // Minimum execution time: 17_000_000 picoseconds. - Weight::from_parts(2_770_000_000, 39479) + // Minimum execution time: 16_000_000 picoseconds. + Weight::from_parts(3_259_000_000, 39479) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -1553,10 +1486,10 @@ impl WeightInfo for () { /// The range of component `l` is `[1, 32]`. fn rebond(_l: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `8265 + l * (4 Β±0)` + // Measured: `5957 + l * (4 Β±0)` // Estimated: `8877` - // Minimum execution time: 154_000_000 picoseconds. - Weight::from_parts(205_000_000, 8877) + // Minimum execution time: 127_000_000 picoseconds. + Weight::from_parts(130_000_000, 8877) .saturating_add(RocksDbWeight::get().reads(12_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -1590,13 +1523,15 @@ impl WeightInfo for () { /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn reap_stash() -> Weight { // Proof Size summary in bytes: - // Measured: `8357` + // Measured: `6050` // Estimated: `6248` - // Minimum execution time: 199_000_000 picoseconds. - Weight::from_parts(199_000_000, 6248) + // Minimum execution time: 162_000_000 picoseconds. + Weight::from_parts(162_000_000, 6248) .saturating_add(RocksDbWeight::get().reads(14_u64)) .saturating_add(RocksDbWeight::get().writes(11_u64)) } + /// Storage: `Staking::AreNominatorsSlashable` (r:0 w:1) + /// Proof: `Staking::AreNominatorsSlashable` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: `Staking::MinCommission` (r:0 w:1) /// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) /// Storage: `Staking::MinValidatorBond` (r:0 w:1) @@ -1615,10 +1550,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_000_000 picoseconds. - Weight::from_parts(6_000_000, 0) - .saturating_add(RocksDbWeight::get().writes(7_u64)) + // Minimum execution time: 8_000_000 picoseconds. + Weight::from_parts(8_000_000, 0) + .saturating_add(RocksDbWeight::get().writes(8_u64)) } + /// Storage: `Staking::AreNominatorsSlashable` (r:0 w:1) + /// Proof: `Staking::AreNominatorsSlashable` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: `Staking::MinCommission` (r:0 w:1) /// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) /// Storage: `Staking::MinValidatorBond` (r:0 w:1) @@ -1637,9 +1574,9 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_000_000 picoseconds. - Weight::from_parts(4_000_000, 0) - .saturating_add(RocksDbWeight::get().writes(7_u64)) + // Minimum execution time: 8_000_000 picoseconds. + Weight::from_parts(8_000_000, 0) + .saturating_add(RocksDbWeight::get().writes(8_u64)) } /// Storage: `Staking::Bonded` (r:1 w:0) /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) @@ -1667,10 +1604,10 @@ impl WeightInfo for () { /// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn chill_other() -> Weight { // Proof Size summary in bytes: - // Measured: `5349` + // Measured: `4184` // Estimated: `6248` - // Minimum execution time: 133_000_000 picoseconds. - Weight::from_parts(133_000_000, 6248) + // Minimum execution time: 101_000_000 picoseconds. + Weight::from_parts(101_000_000, 6248) .saturating_add(RocksDbWeight::get().reads(13_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -1680,10 +1617,10 @@ impl WeightInfo for () { /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) fn force_apply_min_commission() -> Weight { // Proof Size summary in bytes: - // Measured: `652` + // Measured: `607` // Estimated: `3510` - // Minimum execution time: 29_000_000 picoseconds. - Weight::from_parts(29_000_000, 3510) + // Minimum execution time: 25_000_000 picoseconds. + Weight::from_parts(25_000_000, 3510) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -1711,10 +1648,10 @@ impl WeightInfo for () { /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) fn restore_ledger() -> Weight { // Proof Size summary in bytes: - // Measured: `7116` + // Measured: `5012` // Estimated: `4764` - // Minimum execution time: 64_000_000 picoseconds. - Weight::from_parts(64_000_000, 4764) + // Minimum execution time: 62_000_000 picoseconds. + Weight::from_parts(62_000_000, 4764) .saturating_add(RocksDbWeight::get().reads(6_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -1732,15 +1669,17 @@ impl WeightInfo for () { /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) fn migrate_currency() -> Weight { // Proof Size summary in bytes: - // Measured: `7061` + // Measured: `5122` // Estimated: `4764` - // Minimum execution time: 102_000_000 picoseconds. - Weight::from_parts(102_000_000, 4764) + // Minimum execution time: 106_000_000 picoseconds. + Weight::from_parts(106_000_000, 4764) .saturating_add(RocksDbWeight::get().reads(6_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } /// Storage: `Staking::ActiveEra` (r:1 w:0) /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`) + /// Storage: `Staking::CancelledSlashes` (r:1 w:0) + /// Proof: `Staking::CancelledSlashes` (`max_values`: None, `max_size`: Some(36014), added: 38489, mode: `MaxEncodedLen`) /// Storage: `Staking::UnappliedSlashes` (r:1 w:1) /// Proof: `Staking::UnappliedSlashes` (`max_values`: None, `max_size`: Some(24735), added: 27210, mode: `MaxEncodedLen`) /// Storage: `Staking::Bonded` (r:513 w:0) @@ -1757,13 +1696,14 @@ impl WeightInfo for () { /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) /// Storage: `Balances::Holds` (r:513 w:513) /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) - fn apply_slash() -> Weight { + /// The range of component `n` is `[0, 512]`. + fn apply_slash(_n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1002216` + // Measured: `5844 + n * (822 Β±0)` // Estimated: `1656954` - // Minimum execution time: 31_133_000_000 picoseconds. - Weight::from_parts(31_133_000_000, 1656954) - .saturating_add(RocksDbWeight::get().reads(3593_u64)) + // Minimum execution time: 146_000_000 picoseconds. + Weight::from_parts(27_753_000_000, 1656954) + .saturating_add(RocksDbWeight::get().reads(3594_u64)) .saturating_add(RocksDbWeight::get().writes(2053_u64)) } /// Storage: `Staking::ProcessingOffence` (r:1 w:1) @@ -1782,10 +1722,10 @@ impl WeightInfo for () { /// Proof: `Staking::UnappliedSlashes` (`max_values`: None, `max_size`: Some(24735), added: 27210, mode: `MaxEncodedLen`) fn process_offence_queue() -> Weight { // Proof Size summary in bytes: - // Measured: `21578` + // Measured: `19508` // Estimated: `28121` - // Minimum execution time: 183_000_000 picoseconds. - Weight::from_parts(183_000_000, 28121) + // Minimum execution time: 227_000_000 picoseconds. + Weight::from_parts(227_000_000, 28121) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -1804,11 +1744,11 @@ impl WeightInfo for () { /// The range of component `v` is `[2, 500]`. fn rc_on_offence(_v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `829 + v * (96 Β±0)` + // Measured: `787 + v * (96 Β±0)` // Estimated: `1288990` - // Minimum execution time: 70_000_000 picoseconds. - Weight::from_parts(7_666_000_000, 1288990) - .saturating_add(RocksDbWeight::get().reads(1504_u64)) + // Minimum execution time: 71_000_000 picoseconds. + Weight::from_parts(8_719_000_000, 1288990) + .saturating_add(RocksDbWeight::get().reads(1503_u64)) .saturating_add(RocksDbWeight::get().writes(1001_u64)) } /// Storage: `Staking::ActiveEra` (r:1 w:1) @@ -1823,8 +1763,8 @@ impl WeightInfo for () { /// Proof: `Staking::MaxStakedRewards` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: `Staking::BondedEras` (r:1 w:1) /// Proof: `Staking::BondedEras` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`) - /// Storage: `Staking::ValidatorCount` (r:1 w:0) - /// Proof: `Staking::ValidatorCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Staking::AreNominatorsSlashable` (r:1 w:0) + /// Proof: `Staking::AreNominatorsSlashable` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: `Staking::ForceEra` (r:1 w:0) /// Proof: `Staking::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: UNKNOWN KEY `0xa143099d7a337c5fd879b91b2b157c2d` (r:1 w:0) @@ -1837,6 +1777,8 @@ impl WeightInfo for () { /// Proof: UNKNOWN KEY `0x48384a816e4f71a936cb76dc9e303f2a` (r:1 w:0) /// Storage: `MultiBlockElection::CurrentPhase` (r:1 w:1) /// Proof: `MultiBlockElection::CurrentPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + /// Storage: `Staking::ErasNominatorsSlashable` (r:0 w:1) + /// Proof: `Staking::ErasNominatorsSlashable` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `MaxEncodedLen`) /// Storage: `Staking::VoterSnapshotStatus` (r:0 w:1) /// Proof: `Staking::VoterSnapshotStatus` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`) /// Storage: `Staking::ErasValidatorReward` (r:0 w:1) @@ -1847,221 +1789,138 @@ impl WeightInfo for () { /// Proof: `Staking::ElectableStashes` (`max_values`: Some(1), `max_size`: Some(32002), added: 32497, mode: `MaxEncodedLen`) fn rc_on_session_report() -> Weight { // Proof Size summary in bytes: - // Measured: `1425` + // Measured: `1340` // Estimated: `39483` - // Minimum execution time: 359_000_000 picoseconds. - Weight::from_parts(359_000_000, 39483) + // Minimum execution time: 350_000_000 picoseconds. + Weight::from_parts(350_000_000, 39483) .saturating_add(RocksDbWeight::get().reads(13_u64)) - .saturating_add(RocksDbWeight::get().writes(9_u64)) + .saturating_add(RocksDbWeight::get().writes(10_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:1000) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) + /// Storage: `Staking::EraPruningState` (r:1 w:0) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasStakersPaged` (r:101 w:100) /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:0) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) /// The range of component `v` is `[1, 1000]`. fn prune_era_stakers_paged(_v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_777_000_000 picoseconds. - Weight::from_parts(16_769_000_000, 3998937) - .saturating_add(RocksDbWeight::get().reads(4010_u64)) - .saturating_add(RocksDbWeight::get().writes(1001_u64)) + // Measured: `975 + v * (9 Β±0)` + // Estimated: `261435` + // Minimum execution time: 28_000_000 picoseconds. + Weight::from_parts(145_000_000, 261435) + .saturating_add(RocksDbWeight::get().reads(103_u64)) + .saturating_add(RocksDbWeight::get().writes(100_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:1000) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) + /// Storage: `Staking::EraPruningState` (r:1 w:0) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasStakersOverview` (r:101 w:100) /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:0) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) /// The range of component `v` is `[1, 1000]`. fn prune_era_stakers_overview(_v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_713_000_000 picoseconds. - Weight::from_parts(16_792_000_000, 3998937) - .saturating_add(RocksDbWeight::get().reads(4010_u64)) - .saturating_add(RocksDbWeight::get().writes(1001_u64)) + // Measured: `845 + v * (6 Β±0)` + // Estimated: `258652` + // Minimum execution time: 24_000_000 picoseconds. + Weight::from_parts(166_000_000, 258652) + .saturating_add(RocksDbWeight::get().reads(103_u64)) + .saturating_add(RocksDbWeight::get().writes(100_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:1000) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) + /// Storage: `Staking::EraPruningState` (r:1 w:0) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasValidatorPrefs` (r:101 w:100) /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:0) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) /// The range of component `v` is `[1, 1000]`. fn prune_era_validator_prefs(_v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_801_000_000 picoseconds. - Weight::from_parts(16_902_000_000, 3998937) - .saturating_add(RocksDbWeight::get().reads(4010_u64)) - .saturating_add(RocksDbWeight::get().writes(1001_u64)) + // Measured: `886 + v * (5 Β±0)` + // Estimated: `257193` + // Minimum execution time: 23_000_000 picoseconds. + Weight::from_parts(148_000_000, 257193) + .saturating_add(RocksDbWeight::get().reads(103_u64)) + .saturating_add(RocksDbWeight::get().writes(100_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) - /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:1000) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) + /// Storage: `Staking::EraPruningState` (r:1 w:0) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ClaimedRewards` (r:101 w:100) + /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(61), added: 2536, mode: `Measured`) /// The range of component `v` is `[1, 1000]`. fn prune_era_claimed_rewards(_v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_666_000_000 picoseconds. - Weight::from_parts(17_023_000_000, 3998937) - .saturating_add(RocksDbWeight::get().reads(4010_u64)) - .saturating_add(RocksDbWeight::get().writes(1001_u64)) + // Measured: `836 + v * (6 Β±0)` + // Estimated: `257878` + // Minimum execution time: 25_000_000 picoseconds. + Weight::from_parts(149_000_000, 257878) + .saturating_add(RocksDbWeight::get().reads(103_u64)) + .saturating_add(RocksDbWeight::get().writes(100_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:1) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasValidatorReward` (r:0 w:1) /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:0) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) - /// The range of component `v` is `[1, 1000]`. fn prune_era_validator_reward() -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_664_000_000 picoseconds. - Weight::from_parts(15_647_000_000, 3998937) - .saturating_add(RocksDbWeight::get().reads(4010_u64)) + // Measured: `756` + // Estimated: `4221` + // Minimum execution time: 19_000_000 picoseconds. + Weight::from_parts(19_000_000, 4221) + .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:0) - /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:0) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:1) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasRewardPoints` (r:0 w:1) /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) - /// The range of component `v` is `[1, 1000]`. fn prune_era_reward_points() -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_856_000_000 picoseconds. - Weight::from_parts(15_950_000_000, 3998937) - .saturating_add(RocksDbWeight::get().reads(4010_u64)) + // Measured: `756` + // Estimated: `4221` + // Minimum execution time: 19_000_000 picoseconds. + Weight::from_parts(19_000_000, 4221) + .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } - /// Storage: `Staking::CurrentEra` (r:1 w:0) - /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) /// Storage: `Staking::EraPruningState` (r:1 w:1) - /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `Measured`) - /// Storage: `Staking::ErasValidatorPrefs` (r:1001 w:0) - /// Proof: `Staking::ErasValidatorPrefs` (`max_values`: None, `max_size`: Some(57), added: 2532, mode: `Measured`) - /// Storage: `Staking::ErasStakersPaged` (r:1001 w:0) - /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(24656), added: 27131, mode: `Measured`) - /// Storage: `Staking::ErasStakersOverview` (r:1001 w:0) - /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ErasValidatorReward` (r:1 w:0) - /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ErasTotalStake` (r:1 w:1) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasNominatorsSlashable` (r:0 w:1) + /// Proof: `Staking::ErasNominatorsSlashable` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasTotalStake` (r:0 w:1) /// Proof: `Staking::ErasTotalStake` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) - /// Storage: `Staking::ClaimedRewards` (r:1001 w:0) - /// Proof: `Staking::ClaimedRewards` (`max_values`: None, `max_size`: Some(229), added: 2704, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x6f320d44e42312c78638e6c92dff65af` (r:1 w:0) - /// Storage: `Staking::ErasRewardPoints` (r:1 w:0) - /// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: Some(36018), added: 38493, mode: `Measured`) + fn prune_era_single_entry_cleanups() -> Weight { + // Proof Size summary in bytes: + // Measured: `756` + // Estimated: `4221` + // Minimum execution time: 22_000_000 picoseconds. + Weight::from_parts(22_000_000, 4221) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `Measured`) + /// Storage: `Staking::EraPruningState` (r:1 w:0) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ValidatorSlashInEra` (r:101 w:100) + /// Proof: `Staking::ValidatorSlashInEra` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `Measured`) /// The range of component `v` is `[1, 1000]`. - fn prune_era_total_stake() -> Weight { + fn prune_era_validator_slash_in_era(_v: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1105409 + v * (415 Β±0)` - // Estimated: `3998937` - // Minimum execution time: 1_613_000_000 picoseconds. - Weight::from_parts(15_665_000_000, 3998937) - .saturating_add(RocksDbWeight::get().reads(4010_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + // Measured: `787 + v * (7 Β±0)` + // Estimated: `259023` + // Minimum execution time: 33_000_000 picoseconds. + Weight::from_parts(154_000_000, 259023) + .saturating_add(RocksDbWeight::get().reads(103_u64)) + .saturating_add(RocksDbWeight::get().writes(100_u64)) } } diff --git a/substrate/frame/staking/reward-curve/src/lib.rs b/substrate/frame/staking/reward-curve/src/lib.rs index adb9c99edf2a9..adb8e51bd8050 100644 --- a/substrate/frame/staking/reward-curve/src/lib.rs +++ b/substrate/frame/staking/reward-curve/src/lib.rs @@ -181,7 +181,7 @@ fn parse_field( value, bounds, ), - )) + )); } Ok(value) @@ -202,7 +202,7 @@ impl Parse for INposInput { ::parse(input)?; if !input.is_empty() { - return Err(input.error("expected end of input stream, no token expected")) + return Err(input.error("expected end of input stream, no token expected")); } let min_inflation = parse_field::( @@ -237,7 +237,7 @@ impl Parse for INposInput { >::parse(&args_input)?; if !args_input.is_empty() { - return Err(args_input.error("expected end of input stream, no token expected")) + return Err(args_input.error("expected end of input stream, no token expected")); } Ok(Self { @@ -279,7 +279,7 @@ impl INPoS { // See web3 docs for the details fn compute_opposite_after_x_ideal(&self, y: u32) -> u32 { if y == self.i_0 { - return u32::MAX + return u32::MAX; } // Note: the log term calculated here represents a per_million value let log = log2(self.i_ideal_times_x_ideal - self.i_0, y - self.i_0); @@ -310,14 +310,14 @@ fn compute_points(input: &INposInput) -> Vec<(u32, u32)> { if next_y <= input.min_inflation { delta_y = delta_y.saturating_sub(1); - continue + continue; } let next_x = inpos.compute_opposite_after_x_ideal(next_y); if (next_x - points.last().unwrap().0) > max_length { delta_y = delta_y.saturating_sub(1); - continue + continue; } if next_x >= 1_000_000 { @@ -333,7 +333,7 @@ fn compute_points(input: &INposInput) -> Vec<(u32, u32)> { let y = next_y + delta_y; points.push((1_000_000, y)); - return points + return points; } points.push((next_x, next_y)); y = next_y; diff --git a/substrate/frame/staking/reward-curve/src/log.rs b/substrate/frame/staking/reward-curve/src/log.rs index 70191180da3c3..de31dc6e88999 100644 --- a/substrate/frame/staking/reward-curve/src/log.rs +++ b/substrate/frame/staking/reward-curve/src/log.rs @@ -56,7 +56,7 @@ pub fn log2(p: u32, q: u32) -> u32 { // log2(1) = 0 if p == q { - return 0 + return 0; } // find the power of 2 where q * 2^n <= p < q * 2^(n+1) @@ -76,7 +76,7 @@ pub fn log2(p: u32, q: u32) -> u32 { loop { let term = taylor_term(k, y_num.into(), y_den.into()); if term == 0 { - break + break; } res += term; diff --git a/substrate/frame/staking/reward-fn/src/lib.rs b/substrate/frame/staking/reward-fn/src/lib.rs index 2103e47b1261f..62c6922633cfb 100644 --- a/substrate/frame/staking/reward-fn/src/lib.rs +++ b/substrate/frame/staking/reward-fn/src/lib.rs @@ -54,12 +54,12 @@ use sp_arithmetic::{ pub fn compute_inflation(stake: P, ideal_stake: P, falloff: P) -> P { if stake < ideal_stake { // ideal_stake is more than 0 because it is strictly more than stake - return stake / ideal_stake + return stake / ideal_stake; } if falloff < P::from_percent(1.into()) { log::error!("Invalid inflation computation: falloff less than 1% is not supported"); - return PerThing::zero() + return PerThing::zero(); } let accuracy = { @@ -130,7 +130,7 @@ fn compute_taylor_serie_part(p: &INPoSParam) -> BigUint { last_taylor_term = compute_taylor_term(k, &last_taylor_term, p); if last_taylor_term.is_zero() { - break + break; } let last_taylor_term_positive = k % 2 == 0; @@ -153,7 +153,7 @@ fn compute_taylor_serie_part(p: &INPoSParam) -> BigUint { } if !taylor_sum_positive { - return BigUint::zero() + return BigUint::zero(); } taylor_sum.lstrip(); @@ -195,15 +195,15 @@ fn div_by_stripped(mut a: BigUint, b: &BigUint) -> BigUint { if b.len() == 0 { log::error!("Computation error: Invalid division"); - return BigUint::zero() + return BigUint::zero(); } if b.len() == 1 { - return a.div_unit(b.checked_get(0).unwrap_or(1)) + return a.div_unit(b.checked_get(0).unwrap_or(1)); } if b.len() > a.len() { - return BigUint::zero() + return BigUint::zero(); } if b.len() == a.len() { @@ -217,7 +217,7 @@ fn div_by_stripped(mut a: BigUint, b: &BigUint) -> BigUint { .map(|res| res.0) .unwrap_or_else(BigUint::zero) .div_unit(100_000) - .div_unit(100_000) + .div_unit(100_000); } a.div(b, false).map(|res| res.0).unwrap_or_else(BigUint::zero) diff --git a/substrate/frame/staking/src/benchmarking.rs b/substrate/frame/staking/src/benchmarking.rs index 0378b0dac3d22..aa9452cc4c3d1 100644 --- a/substrate/frame/staking/src/benchmarking.rs +++ b/substrate/frame/staking/src/benchmarking.rs @@ -50,7 +50,7 @@ type MaxNominators = <::BenchmarkingConfig as BenchmarkingConfig // read and write operations. pub fn add_slashing_spans(who: &T::AccountId, spans: u32) { if spans == 0 { - return + return; } // For the first slashing span, we initialize diff --git a/substrate/frame/staking/src/ledger.rs b/substrate/frame/staking/src/ledger.rs index 2220f2d8b5f05..2f8aa2842d8ff 100644 --- a/substrate/frame/staking/src/ledger.rs +++ b/substrate/frame/staking/src/ledger.rs @@ -86,8 +86,9 @@ impl StakingLedger { pub(crate) fn paired_account(account: StakingAccount) -> Option { match account { StakingAccount::Stash(stash) => >::get(stash), - StakingAccount::Controller(controller) => - >::get(&controller).map(|ledger| ledger.stash), + StakingAccount::Controller(controller) => { + >::get(&controller).map(|ledger| ledger.stash) + }, } } @@ -109,8 +110,9 @@ impl StakingLedger { /// stash has a controller which is bonding a ledger associated with another stash. pub(crate) fn get(account: StakingAccount) -> Result, Error> { let (stash, controller) = match account.clone() { - StakingAccount::Stash(stash) => - (stash.clone(), >::get(&stash).ok_or(Error::::NotStash)?), + StakingAccount::Stash(stash) => { + (stash.clone(), >::get(&stash).ok_or(Error::::NotStash)?) + }, StakingAccount::Controller(controller) => ( Ledger::::get(&controller) .map(|l| l.stash) @@ -148,8 +150,9 @@ impl StakingLedger { ) -> Option> { let stash = match account { StakingAccount::Stash(stash) => Some(stash), - StakingAccount::Controller(controller) => - Self::paired_account(StakingAccount::Controller(controller)), + StakingAccount::Controller(controller) => { + Self::paired_account(StakingAccount::Controller(controller)) + }, }; if let Some(stash) = stash { @@ -182,7 +185,7 @@ impl StakingLedger { /// this helper function. pub(crate) fn update(self) -> Result<(), Error> { if !>::contains_key(&self.stash) { - return Err(Error::::NotStash) + return Err(Error::::NotStash); } // We skip locking virtual stakers. @@ -208,7 +211,7 @@ impl StakingLedger { /// It sets the reward preferences for the bonded stash. pub(crate) fn bond(self, payee: RewardDestination) -> Result<(), Error> { if >::contains_key(&self.stash) { - return Err(Error::::AlreadyBonded) + return Err(Error::::AlreadyBonded); } >::insert(&self.stash, payee); @@ -219,7 +222,7 @@ impl StakingLedger { /// Sets the ledger Payee. pub(crate) fn set_payee(self, payee: RewardDestination) -> Result<(), Error> { if !>::contains_key(&self.stash) { - return Err(Error::::NotStash) + return Err(Error::::NotStash); } >::insert(&self.stash, payee); diff --git a/substrate/frame/staking/src/lib.rs b/substrate/frame/staking/src/lib.rs index 76257e5f833ee..cb264e3d0d274 100644 --- a/substrate/frame/staking/src/lib.rs +++ b/substrate/frame/staking/src/lib.rs @@ -591,7 +591,7 @@ impl StakingLedger { // first we try to remove stake from active if self.active >= to_withdraw { self.active -= to_withdraw; - return self + return self; } else { withdrawn += self.active; self.active = BalanceOf::::zero(); @@ -609,7 +609,7 @@ impl StakingLedger { } if withdrawn >= to_withdraw { - break + break; } } @@ -636,7 +636,7 @@ impl StakingLedger { } if unlocking_balance >= value { - break + break; } } @@ -673,7 +673,7 @@ impl StakingLedger { slash_era: EraIndex, ) -> BalanceOf { if slash_amount.is_zero() { - return Zero::zero() + return Zero::zero(); } use sp_runtime::PerThing as _; @@ -766,7 +766,7 @@ impl StakingLedger { let mut slashed_unlocking = BTreeMap::<_, _>::new(); for i in slash_chunks_priority { if remaining_slash.is_zero() { - break + break; } if let Some(chunk) = self.unlocking.get_mut(i).defensive() { @@ -774,7 +774,7 @@ impl StakingLedger { // write the new slashed value of this chunk to the map. slashed_unlocking.insert(chunk.era, chunk.value); } else { - break + break; } } @@ -1176,7 +1176,7 @@ impl EraInfo { 1 } else { // if no exposure, then no rewards to claim. - return false + return false; } }; @@ -1185,7 +1185,7 @@ impl EraInfo { .map(|l| l.legacy_claimed_rewards.contains(&era)) .unwrap_or_default() { - return false + return false; } ClaimedRewards::::get(era, validator).len() < page_count as usize @@ -1229,12 +1229,12 @@ impl EraInfo { // return clipped exposure if page zero and paged exposure does not exist // exists for backward compatibility and can be removed as part of #13034 if overview.is_none() && page == 0 { - return Some(PagedExposure::from_clipped(>::get(era, validator))) + return Some(PagedExposure::from_clipped(>::get(era, validator))); } // no exposure for this validator if overview.is_none() { - return None + return None; } let overview = overview.expect("checked above; qed"); @@ -1261,7 +1261,7 @@ impl EraInfo { let overview = >::get(&era, validator); if overview.is_none() { - return ErasStakers::::get(era, validator) + return ErasStakers::::get(era, validator); } let overview = overview.expect("checked above; qed"); @@ -1306,7 +1306,7 @@ impl EraInfo { Ok(_) => None, // Non-paged exposure is considered as a single page Err(_) => Some(0), - } + }; } // Find next claimable page of paged exposure. @@ -1339,7 +1339,7 @@ impl EraInfo { if claimed_pages.contains(&page) { defensive!("Trying to set an already claimed reward"); // nevertheless don't do anything since the page already exists in claimed rewards. - return + return; } // add page to claimed entries diff --git a/substrate/frame/staking/src/migrations.rs b/substrate/frame/staking/src/migrations.rs index 7f62e21fd7a64..891cdcbd5112e 100644 --- a/substrate/frame/staking/src/migrations.rs +++ b/substrate/frame/staking/src/migrations.rs @@ -392,7 +392,9 @@ pub mod v11 { warn, "new bags-list name is equal to the old one, only bumping the version" ); - return T::DbWeight::get().reads(1).saturating_add(T::DbWeight::get().writes(1)) + return T::DbWeight::get() + .reads(1) + .saturating_add(T::DbWeight::get().writes(1)); } move_pallet(old_pallet_name.as_bytes(), new_pallet_name.as_bytes()); @@ -415,7 +417,7 @@ pub mod v11 { // skip storage prefix checks for the same pallet names if new_pallet_name == old_pallet_name { - return Ok(()) + return Ok(()); } let old_pallet_prefix = twox_128(N::get().as_bytes()); diff --git a/substrate/frame/staking/src/mock.rs b/substrate/frame/staking/src/mock.rs index f2f51fea7b017..0826cec3b4057 100644 --- a/substrate/frame/staking/src/mock.rs +++ b/substrate/frame/staking/src/mock.rs @@ -614,7 +614,10 @@ pub(crate) fn bond_validator(who: AccountId, val: Balance) { assert_ok!(Session::set_keys( RuntimeOrigin::signed(who), SessionKeys { other: who.into() }, - vec![] + SessionKeys { other: who.into() } + .create_ownership_proof(&who.encode()) + .unwrap() + .encode(), )); } @@ -752,9 +755,9 @@ pub(crate) fn on_offence_in_era( slash_fraction, start_session, ); - return + return; } else if bonded_era > era { - break + break; } } diff --git a/substrate/frame/staking/src/pallet/impls.rs b/substrate/frame/staking/src/pallet/impls.rs index 6b8e65049cc7f..def9e260a2673 100644 --- a/substrate/frame/staking/src/pallet/impls.rs +++ b/substrate/frame/staking/src/pallet/impls.rs @@ -113,7 +113,7 @@ impl Pallet { })?; match Ledger::::get(controller) { - Some(ledger) => + Some(ledger) => { if ledger.stash != *stash { Ok(LedgerIntegrityState::Corrupted) } else { @@ -122,7 +122,8 @@ impl Pallet { } else { Ok(LedgerIntegrityState::Ok) } - }, + } + }, None => Ok(LedgerIntegrityState::CorruptedKilled), } } @@ -298,7 +299,7 @@ impl Pallet { if EraInfo::::is_rewards_claimed_with_legacy_fallback(era, &ledger, &stash, page) { return Err(Error::::AlreadyClaimed - .with_weight(T::WeightInfo::payout_stakers_alive_staked(0))) + .with_weight(T::WeightInfo::payout_stakers_alive_staked(0))); } else { EraInfo::::set_rewards_as_claimed(era, &stash, page); } @@ -324,7 +325,7 @@ impl Pallet { // Nothing to do if they have no reward points. if validator_reward_points.is_zero() { - return Ok(Some(T::WeightInfo::payout_stakers_alive_staked(0)).into()) + return Ok(Some(T::WeightInfo::payout_stakers_alive_staked(0)).into()); } // This is the fraction of the total reward that the validator and the @@ -413,7 +414,7 @@ impl Pallet { ) -> Option<(PositiveImbalanceOf, RewardDestination)> { // noop if amount is zero if amount.is_zero() { - return None + return None; } let dest = Self::payee(StakingAccount::Stash(stash.clone()))?; @@ -472,7 +473,7 @@ impl Pallet { _ => { // Either `Forcing::ForceNone`, // or `Forcing::NotForcing if era_length >= T::SessionsPerEra::get()`. - return None + return None; }, } @@ -685,7 +686,7 @@ impl Pallet { } Self::deposit_event(Event::StakingElectionFailed); - return None + return None; } Self::deposit_event(Event::StakersElected); @@ -919,7 +920,7 @@ impl Pallet { // if voter weight is zero, do not consider this voter for the snapshot. if voter_weight.is_zero() { log!(debug, "voter's active balance is 0. skip this voter."); - continue + continue; } if let Some(Nominations { targets, .. }) = >::get(&voter) { @@ -934,7 +935,7 @@ impl Pallet { Self::deposit_event(Event::::SnapshotVotersSizeExceeded { size: voters_size_tracker.size as u32, }); - break + break; } all_voters.push(voter); @@ -959,7 +960,7 @@ impl Pallet { Self::deposit_event(Event::::SnapshotVotersSizeExceeded { size: voters_size_tracker.size as u32, }); - break + break; } all_voters.push(self_vote); validators_taken.saturating_inc(); @@ -1028,7 +1029,7 @@ impl Pallet { Self::deposit_event(Event::::SnapshotTargetsSizeExceeded { size: targets_size_tracker.size as u32, }); - break + break; } if Validators::::contains_key(&target) { @@ -1262,7 +1263,7 @@ impl Pallet { if active_era.is_none() { log!(warn, "🦹 on_offence: Active era not set -- not processing offence"); // This offence need not be re-submitted. - return consumed_weight + return consumed_weight; } active_era.expect("value checked not to be `None`; qed").index }; @@ -1289,7 +1290,7 @@ impl Pallet { // Before bonding period. defensive - should be filtered out. None => { log!(warn, "🦹 on_offence: bonded era not found"); - return consumed_weight + return consumed_weight; }, } }; @@ -1307,7 +1308,7 @@ impl Pallet { // Skip if the validator is invulnerable. if invulnerables.contains(stash) { - continue + continue; } Self::deposit_event(Event::::SlashReported { @@ -1526,7 +1527,7 @@ impl ElectionDataProvider for Pallet { // We can't handle this case yet -- return an error. WIP to improve handling this case in // . if bounds.exhausted(None, CountBound(T::TargetList::count()).into()) { - return Err("Target snapshot too big") + return Err("Target snapshot too big"); } debug_assert!(!bounds.exhausted( @@ -2093,7 +2094,7 @@ impl StakingInterface for Pallet { who: &Self::AccountId, ) -> Result, DispatchError> { if !StakingLedger::::is_bonded(StakingAccount::Stash(who.clone())) { - return Err(Error::::NotStash.into()) + return Err(Error::::NotStash.into()); } let is_validator = Validators::::contains_key(&who); @@ -2170,7 +2171,7 @@ impl sp_staking::StakingUnchecked for Pallet { payee: &Self::AccountId, ) -> DispatchResult { if StakingLedger::::is_bonded(StakingAccount::Stash(keyless_who.clone())) { - return Err(Error::::AlreadyBonded.into()) + return Err(Error::::AlreadyBonded.into()); } // check if payee not same as who. @@ -2256,9 +2257,11 @@ impl Pallet { // if stash == controller, it means that the ledger has migrated to // post-controller. If no migration happened, we expect that the (stash, // controller) pair has only one associated ledger. + { if stash != controller { count_double += 1; - }, + } + }, (None, None) => { count_none += 1; }, @@ -2509,10 +2512,11 @@ impl Pallet { match len { 0 => { /* not supporting this validator at all. */ }, 1 => sum_exposed += individual[0].value, - _ => + _ => { return Err( "nominator cannot back a validator more than once.".into() - ), + ) + }, }; Ok(()) }) diff --git a/substrate/frame/staking/src/pallet/mod.rs b/substrate/frame/staking/src/pallet/mod.rs index 6d577eb663417..8111ffd9b2852 100644 --- a/substrate/frame/staking/src/pallet/mod.rs +++ b/substrate/frame/staking/src/pallet/mod.rs @@ -1189,17 +1189,17 @@ pub mod pallet { ensure!(!T::Filter::contains(&stash), Error::::Restricted); if StakingLedger::::is_bonded(StakingAccount::Stash(stash.clone())) { - return Err(Error::::AlreadyBonded.into()) + return Err(Error::::AlreadyBonded.into()); } // An existing controller cannot become a stash. if StakingLedger::::is_bonded(StakingAccount::Controller(stash.clone())) { - return Err(Error::::AlreadyPaired.into()) + return Err(Error::::AlreadyPaired.into()); } // Reject a bond which is considered to be _dust_. if value < asset::existential_deposit::() { - return Err(Error::::InsufficientBond.into()) + return Err(Error::::InsufficientBond.into()); } let stash_balance = asset::free_to_stake::(&stash); @@ -1982,7 +1982,7 @@ pub mod pallet { if Nominators::::contains_key(&stash) && Nominators::::get(&stash).is_none() { Self::chill_stash(&stash); - return Ok(()) + return Ok(()); } if caller != controller { diff --git a/substrate/frame/staking/src/slashing.rs b/substrate/frame/staking/src/slashing.rs index 0092a2b332b96..58822040d3894 100644 --- a/substrate/frame/staking/src/slashing.rs +++ b/substrate/frame/staking/src/slashing.rs @@ -124,7 +124,7 @@ impl SlashingSpans { pub(crate) fn end_span(&mut self, now: EraIndex) -> bool { let next_start = now.defensive_saturating_add(1); if next_start <= self.last_start { - return false + return false; } let last_length = next_start.defensive_saturating_sub(self.last_start); @@ -250,7 +250,7 @@ pub(crate) fn compute_slash( // kick out the validator even if they won't be slashed, // as long as the misbehavior is from their most recent slashing span. kick_out_if_recent::(params); - return None + return None; } let prior_slash_p = ValidatorSlashInEra::::get(¶ms.slash_era, params.stash) @@ -272,7 +272,7 @@ pub(crate) fn compute_slash( // pays out some reward even if the latest report is not max-in-era. // we opt to avoid the nominator lookups and edits and leave more rewards // for more drastic misbehavior. - return None + return None; } // apply slash to validator. @@ -498,7 +498,7 @@ impl<'a, T: 'a + Config> Drop for InspectingSpans<'a, T> { fn drop(&mut self) { // only update on disk if we slashed this account. if !self.dirty { - return + return; } if let Some((start, end)) = self.spans.prune(self.window_start) { @@ -567,7 +567,7 @@ pub fn do_slash( let value = ledger.slash(value, asset::existential_deposit::(), slash_era); if value.is_zero() { // nothing to do - return + return; } // Skip slashing for virtual stakers. The pallets managing them should handle the slashing. @@ -628,7 +628,7 @@ fn pay_reporters( // nobody to pay out to or nothing to pay; // just treat the whole value as slashed. T::Slash::on_unbalanced(slashed_imbalance); - return + return; } // take rewards out of the slashed imbalance. diff --git a/substrate/frame/staking/src/tests.rs b/substrate/frame/staking/src/tests.rs index 9badc2c2cee50..0c54700147375 100644 --- a/substrate/frame/staking/src/tests.rs +++ b/substrate/frame/staking/src/tests.rs @@ -452,7 +452,10 @@ fn staking_should_work() { assert_ok!(Session::set_keys( RuntimeOrigin::signed(3), SessionKeys { other: 4.into() }, - vec![] + SessionKeys { other: 4.into() } + .create_ownership_proof(&AccountId::from(3u32).encode()) + .unwrap() + .encode(), )); // No effects will be seen so far. @@ -1333,7 +1336,6 @@ fn bond_extra_controller_bad_state_works() { #[test] fn bond_extra_and_withdraw_unbonded_works() { - // // * Should test // * Given an account being bonded [and chosen as a validator](not mandatory) // * It can add extra funds to the bonded account. @@ -1545,7 +1547,6 @@ fn auto_withdraw_may_not_unlock_all_chunks() { #[test] fn rebond_works() { - // // * Should test // * Given an account being bonded [and chosen as a validator](not mandatory) // * it can unbond a portion of its funds from the stash account. @@ -2058,7 +2059,10 @@ fn switching_roles() { assert_ok!(Session::set_keys( RuntimeOrigin::signed(5), SessionKeys { other: 6.into() }, - vec![] + SessionKeys { other: 6.into() } + .create_ownership_proof(&AccountId::from(5u32).encode()) + .unwrap() + .encode(), )); mock::start_active_era(1); @@ -2071,7 +2075,10 @@ fn switching_roles() { assert_ok!(Session::set_keys( RuntimeOrigin::signed(1), SessionKeys { other: 2.into() }, - vec![] + SessionKeys { other: 2.into() } + .create_ownership_proof(&AccountId::from(1u32).encode()) + .unwrap() + .encode(), )); // new stakes: // 11: 1000 self vote @@ -2180,7 +2187,10 @@ fn bond_with_little_staked_value_bounded() { assert_ok!(Session::set_keys( RuntimeOrigin::signed(1), SessionKeys { other: 1.into() }, - vec![] + SessionKeys { other: 1.into() } + .create_ownership_proof(&AccountId::from(1u32).encode()) + .unwrap() + .encode(), )); // 1 era worth of reward. BUT, we set the timestamp after on_initialize, so outdated by @@ -6421,7 +6431,7 @@ fn test_legacy_claimed_rewards_is_checked_at_reward_payout() { Pallet::::reward_by_ids(vec![(11, 1)]); mock::start_active_era(3); - //verify rewards are not claimed + // verify rewards are not claimed assert_eq!( EraInfo::::is_rewards_claimed_with_legacy_fallback( 1, @@ -7969,7 +7979,7 @@ mod ledger_recovery { // however if 333 bonds extra, the wrong lock is updated. bond_extra_no_checks(&333, 30); - assert_eq!(asset::staked::(&333), lock_444_before + 40 + 30); //not OK + assert_eq!(asset::staked::(&333), lock_444_before + 40 + 30); // not OK assert_eq!(asset::staked::(&444), lock_444_before + 40); // OK // recover the ledger bonded by 333 stash. Note that the total/lock needs to be @@ -7990,7 +8000,7 @@ mod ledger_recovery { Error::::CannotRestoreLedger ); - //and enforcing a new ledger lock/total on this non-corrupted ledger will work. + // and enforcing a new ledger lock/total on this non-corrupted ledger will work. assert_ok!(Staking::restore_ledger( RuntimeOrigin::root(), 444, diff --git a/substrate/frame/state-trie-migration/src/lib.rs b/substrate/frame/state-trie-migration/src/lib.rs index 2c58e978bc70f..867ae8f2ee359 100644 --- a/substrate/frame/state-trie-migration/src/lib.rs +++ b/substrate/frame/state-trie-migration/src/lib.rs @@ -1877,7 +1877,11 @@ mod remote_tests_local { sp_tracing::try_init_simple(); let mode = Mode::OfflineOrElseOnline( OfflineConfig { state_snapshot: snap.clone() }, - OnlineConfig { transport: ws_api, state_snapshot: Some(snap), ..Default::default() }, + OnlineConfig { + transport_uris: vec![ws_api], + state_snapshot: Some(snap), + ..Default::default() + }, ); // item being the bottleneck diff --git a/substrate/frame/statement/Cargo.toml b/substrate/frame/statement/Cargo.toml index b1449fa244162..1ee5ce5536c2d 100644 --- a/substrate/frame/statement/Cargo.toml +++ b/substrate/frame/statement/Cargo.toml @@ -26,9 +26,6 @@ sp-io = { workspace = true } sp-runtime = { workspace = true } sp-statement-store = { workspace = true } -[dev-dependencies] -pallet-balances = { workspace = true, default-features = true } - [features] default = ["std"] std = [ @@ -36,7 +33,6 @@ std = [ "frame-support/std", "frame-system/std", "log/std", - "pallet-balances/std", "scale-info/std", "sp-api/std", "sp-core/std", @@ -47,6 +43,5 @@ std = [ try-runtime = [ "frame-support/try-runtime", "frame-system/try-runtime", - "pallet-balances/try-runtime", "sp-runtime/try-runtime", ] diff --git a/substrate/frame/statement/src/lib.rs b/substrate/frame/statement/src/lib.rs index 24f00c4d750ba..8209cacdefc2b 100644 --- a/substrate/frame/statement/src/lib.rs +++ b/substrate/frame/statement/src/lib.rs @@ -21,35 +21,16 @@ //! //! ## Overview //! -//! The Statement pallet provides means to create and validate statements for the statement store. +//! The Statement pallet provides means to create statements for the statement store. //! -//! For each statement validation function calculates the following three values based on the -//! statement author balance: -//! `max_count`: Maximum number of statements allowed for the author (signer) of this statement. -//! `max_size`: Maximum total size of statements allowed for the author (signer) of this statement. -//! -//! This pallet also contains an offchain worker that turns on-chain statement events into +//! This pallet contains an offchain worker that turns on-chain statement events into //! statements. These statements are placed in the store and propagated over the network. #![cfg_attr(not(feature = "std"), no_std)] -use frame_support::{ - pallet_prelude::*, - sp_runtime::{traits::CheckedDiv, SaturatedConversion}, - traits::fungible::Inspect, -}; +use frame_support::{pallet_prelude::*, traits::fungible::Inspect}; use frame_system::pallet_prelude::*; -use sp_statement_store::{ - runtime_api::{InvalidStatement, StatementSource, ValidStatement}, - Proof, SignatureVerificationResult, Statement, -}; - -#[cfg(test)] -// We do not declare all features used by `construct_runtime` -#[allow(unexpected_cfgs)] -mod mock; -#[cfg(test)] -mod tests; +use sp_statement_store::{Proof, Statement}; pub use pallet::*; @@ -131,74 +112,6 @@ where ::RuntimeEvent: TryInto>, sp_statement_store::BlockHash: From<::Hash>, { - /// Validate a statement against current state. This is supposed to be called by the statement - /// store on the host side. - pub fn validate_statement( - _source: StatementSource, - mut statement: Statement, - ) -> Result { - sp_io::init_tracing(); - log::debug!(target: LOG_TARGET, "Validating statement {:?}", statement); - let account: T::AccountId = match statement.proof() { - Some(Proof::OnChain { who, block_hash, event_index }) => { - if frame_system::Pallet::::parent_hash().as_ref() != block_hash.as_slice() { - log::debug!(target: LOG_TARGET, "Bad block hash."); - return Err(InvalidStatement::BadProof) - } - let account: T::AccountId = (*who).into(); - match frame_system::Pallet::::event_no_consensus(*event_index as usize) { - Some(e) => { - statement.remove_proof(); - if let Ok(Event::NewStatement { account: a, statement: s }) = e.try_into() { - if a != account || s != statement { - log::debug!(target: LOG_TARGET, "Event data mismatch"); - return Err(InvalidStatement::BadProof) - } - } else { - log::debug!(target: LOG_TARGET, "Event type mismatch"); - return Err(InvalidStatement::BadProof) - } - }, - _ => { - log::debug!(target: LOG_TARGET, "Bad event index"); - return Err(InvalidStatement::BadProof) - }, - } - account - }, - _ => match statement.verify_signature() { - SignatureVerificationResult::Valid(account) => account.into(), - SignatureVerificationResult::Invalid => { - log::debug!(target: LOG_TARGET, "Bad statement signature."); - return Err(InvalidStatement::BadProof) - }, - SignatureVerificationResult::NoSignature => { - log::debug!(target: LOG_TARGET, "Missing statement signature."); - return Err(InvalidStatement::NoProof) - }, - }, - }; - let statement_cost = T::StatementCost::get(); - let byte_cost = T::ByteCost::get(); - let balance = >>::balance(&account); - let min_allowed_statements = T::MinAllowedStatements::get(); - let max_allowed_statements = T::MaxAllowedStatements::get(); - let min_allowed_bytes = T::MinAllowedBytes::get(); - let max_allowed_bytes = T::MaxAllowedBytes::get(); - let max_count = balance - .checked_div(&statement_cost) - .unwrap_or_default() - .saturated_into::() - .clamp(min_allowed_statements, max_allowed_statements); - let max_size = balance - .checked_div(&byte_cost) - .unwrap_or_default() - .saturated_into::() - .clamp(min_allowed_bytes, max_allowed_bytes); - - Ok(ValidStatement { max_count, max_size }) - } - /// Submit a statement event. The statement will be picked up by the offchain worker and /// broadcast to the network. pub fn submit_statement(account: T::AccountId, statement: Statement) { diff --git a/substrate/frame/statement/src/mock.rs b/substrate/frame/statement/src/mock.rs deleted file mode 100644 index db9d19dbbab73..0000000000000 --- a/substrate/frame/statement/src/mock.rs +++ /dev/null @@ -1,89 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! # Statement pallet test environment. - -use super::*; - -use crate as pallet_statement; -use frame_support::{ - derive_impl, ord_parameter_types, - traits::{ConstU32, ConstU64}, -}; -use sp_core::Pair; -use sp_runtime::{traits::IdentityLookup, AccountId32, BuildStorage}; - -type Block = frame_system::mocking::MockBlock; - -pub const MIN_ALLOWED_STATEMENTS: u32 = 4; -pub const MAX_ALLOWED_STATEMENTS: u32 = 10; -pub const MIN_ALLOWED_BYTES: u32 = 1024; -pub const MAX_ALLOWED_BYTES: u32 = 4096; - -frame_support::construct_runtime!( - pub enum Test - { - System: frame_system, - Balances: pallet_balances, - Statement: pallet_statement, - } -); - -#[derive_impl(frame_system::config_preludes::TestDefaultConfig)] -impl frame_system::Config for Test { - type AccountId = AccountId32; - type Lookup = IdentityLookup; - type Block = Block; - type AccountData = pallet_balances::AccountData; -} - -#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)] -impl pallet_balances::Config for Test { - type ExistentialDeposit = ConstU64<5>; - type AccountStore = System; -} - -ord_parameter_types! { - pub const One: u64 = 1; -} - -impl Config for Test { - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type StatementCost = ConstU64<1000>; - type ByteCost = ConstU64<2>; - type MinAllowedStatements = ConstU32; - type MaxAllowedStatements = ConstU32; - type MinAllowedBytes = ConstU32; - type MaxAllowedBytes = ConstU32; -} - -pub fn new_test_ext() -> sp_io::TestExternalities { - let mut t = frame_system::GenesisConfig::::default().build_storage().unwrap(); - let balances = pallet_balances::GenesisConfig:: { - balances: vec![ - (sp_core::sr25519::Pair::from_string("//Alice", None).unwrap().public().into(), 6000), - ( - sp_core::sr25519::Pair::from_string("//Charlie", None).unwrap().public().into(), - 500000, - ), - ], - ..Default::default() - }; - balances.assimilate_storage(&mut t).unwrap(); - t.into() -} diff --git a/substrate/frame/statement/src/tests.rs b/substrate/frame/statement/src/tests.rs deleted file mode 100644 index 51103caca60fa..0000000000000 --- a/substrate/frame/statement/src/tests.rs +++ /dev/null @@ -1,159 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! # Statement runtime support tests. - -#![cfg(test)] - -use super::*; -use crate::mock::*; -use sp_core::Pair; -use sp_runtime::AccountId32; -use sp_statement_store::{ - runtime_api::{InvalidStatement, StatementSource, ValidStatement}, - Proof, Statement, -}; - -#[test] -fn sign_and_validate_no_balance() { - new_test_ext().execute_with(|| { - let pair = sp_core::sr25519::Pair::from_string("//Bob", None).unwrap(); - let mut statement = Statement::new(); - statement.sign_sr25519_private(&pair); - let result = Pallet::::validate_statement(StatementSource::Chain, statement); - assert_eq!( - Ok(ValidStatement { max_count: MIN_ALLOWED_STATEMENTS, max_size: MIN_ALLOWED_BYTES }), - result - ); - - let pair = sp_core::ed25519::Pair::from_string("//Bob", None).unwrap(); - let mut statement = Statement::new(); - statement.sign_ed25519_private(&pair); - let result = Pallet::::validate_statement(StatementSource::Chain, statement); - assert_eq!( - Ok(ValidStatement { max_count: MIN_ALLOWED_STATEMENTS, max_size: MIN_ALLOWED_BYTES }), - result - ); - - let pair = sp_core::ecdsa::Pair::from_string("//Bob", None).unwrap(); - let mut statement = Statement::new(); - statement.sign_ecdsa_private(&pair); - let result = Pallet::::validate_statement(StatementSource::Chain, statement); - assert_eq!( - Ok(ValidStatement { max_count: MIN_ALLOWED_STATEMENTS, max_size: MIN_ALLOWED_BYTES }), - result - ); - }); -} - -#[test] -fn validate_with_balance() { - new_test_ext().execute_with(|| { - let pair = sp_core::sr25519::Pair::from_string("//Alice", None).unwrap(); - let mut statement = Statement::new(); - statement.sign_sr25519_private(&pair); - let result = Pallet::::validate_statement(StatementSource::Chain, statement); - assert_eq!(Ok(ValidStatement { max_count: 6, max_size: 3000 }), result); - - let pair = sp_core::sr25519::Pair::from_string("//Charlie", None).unwrap(); - let mut statement = Statement::new(); - statement.sign_sr25519_private(&pair); - let result = Pallet::::validate_statement(StatementSource::Chain, statement); - assert_eq!( - Ok(ValidStatement { max_count: MAX_ALLOWED_STATEMENTS, max_size: MAX_ALLOWED_BYTES }), - result - ); - }); -} - -#[test] -fn validate_no_proof_fails() { - new_test_ext().execute_with(|| { - let statement = Statement::new(); - let result = Pallet::::validate_statement(StatementSource::Chain, statement); - assert_eq!(Err(InvalidStatement::NoProof), result); - }); -} - -#[test] -fn validate_bad_signature_fails() { - new_test_ext().execute_with(|| { - let statement = Statement::new_with_proof(Proof::Sr25519 { - signature: [0u8; 64], - signer: Default::default(), - }); - let result = Pallet::::validate_statement(StatementSource::Chain, statement); - assert_eq!(Err(InvalidStatement::BadProof), result); - }); -} - -#[test] -fn validate_event() { - new_test_ext().execute_with(|| { - let parent_hash = sp_core::H256::random(); - System::reset_events(); - System::initialize(&1, &parent_hash, &Default::default()); - let mut statement = Statement::new(); - let pair = sp_core::sr25519::Pair::from_string("//Alice", None).unwrap(); - let account: AccountId32 = pair.public().into(); - Pallet::::submit_statement(account.clone(), statement.clone()); - statement.set_proof(Proof::OnChain { - who: account.clone().into(), - event_index: 0, - block_hash: parent_hash.into(), - }); - let result = Pallet::::validate_statement(StatementSource::Chain, statement.clone()); - assert_eq!(Ok(ValidStatement { max_count: 6, max_size: 3000 }), result); - - // Use wrong event index - statement.set_proof(Proof::OnChain { - who: account.clone().into(), - event_index: 1, - block_hash: parent_hash.into(), - }); - let result = Pallet::::validate_statement(StatementSource::Chain, statement.clone()); - assert_eq!(Err(InvalidStatement::BadProof), result); - - // Use wrong block hash - statement.set_proof(Proof::OnChain { - who: account.clone().into(), - event_index: 0, - block_hash: sp_core::H256::random().into(), - }); - let result = Pallet::::validate_statement(StatementSource::Chain, statement.clone()); - assert_eq!(Err(InvalidStatement::BadProof), result); - }); -} - -#[test] -fn validate_no_event_fails() { - new_test_ext().execute_with(|| { - let parent_hash = sp_core::H256::random(); - System::reset_events(); - System::initialize(&1, &parent_hash, &Default::default()); - let mut statement = Statement::new(); - let pair = sp_core::sr25519::Pair::from_string("//Alice", None).unwrap(); - let account: AccountId32 = pair.public().into(); - statement.set_proof(Proof::OnChain { - who: account.into(), - event_index: 0, - block_hash: parent_hash.into(), - }); - let result = Pallet::::validate_statement(StatementSource::Chain, statement); - assert_eq!(Err(InvalidStatement::BadProof), result); - }); -} diff --git a/substrate/frame/sudo/src/lib.rs b/substrate/frame/sudo/src/lib.rs index 7b8cd2623e79e..89fe724c3b33d 100644 --- a/substrate/frame/sudo/src/lib.rs +++ b/substrate/frame/sudo/src/lib.rs @@ -99,13 +99,10 @@ //! 1. You can make a privileged runtime call using `sudo` with an account that matches the sudo //! key. #![doc = docify::embed!("src/tests.rs", sudo_basics)] -//! //! 2. Only an existing sudo key can set a new one. #![doc = docify::embed!("src/tests.rs", set_key_basics)] -//! //! 3. You can also make non-privileged calls using `sudo_as`. #![doc = docify::embed!("src/tests.rs", sudo_as_emits_events_correctly)] -//! //! ## Low Level / Implementation Details //! //! This pallet checks that the caller of its dispatchables is a signed account and ensures that the diff --git a/substrate/frame/support/Cargo.toml b/substrate/frame/support/Cargo.toml index 8d0d9a8e5759b..2bfc3ba2b9b0c 100644 --- a/substrate/frame/support/Cargo.toml +++ b/substrate/frame/support/Cargo.toml @@ -96,7 +96,6 @@ runtime-benchmarks = [ ] try-runtime = [ "frame-system/try-runtime", - "sp-debug-derive/force-debug", "sp-runtime/try-runtime", ] experimental = ["frame-support-procedural/experimental"] diff --git a/substrate/frame/support/procedural/examples/proc_main/main.rs b/substrate/frame/support/procedural/examples/proc_main/main.rs index cc79a5f5186ec..b6ced123584ba 100644 --- a/substrate/frame/support/procedural/examples/proc_main/main.rs +++ b/substrate/frame/support/procedural/examples/proc_main/main.rs @@ -105,11 +105,11 @@ pub mod frame_system { #[pallet::weight(task.weight())] pub fn do_task(_origin: OriginFor, task: T::RuntimeTask) -> DispatchResultWithPostInfo { if !task.is_valid() { - return Err(Error::::InvalidTask.into()) + return Err(Error::::InvalidTask.into()); } if let Err(_err) = task.run() { - return Err(Error::::FailedTask.into()) + return Err(Error::::FailedTask.into()); } Ok(().into()) diff --git a/substrate/frame/support/procedural/src/benchmark.rs b/substrate/frame/support/procedural/src/benchmark.rs index 52f282e1d43fe..5ef074f44eaec 100644 --- a/substrate/frame/support/procedural/src/benchmark.rs +++ b/substrate/frame/support/procedural/src/benchmark.rs @@ -166,15 +166,15 @@ impl syn::parse::Parse for PovEstimationMode { let lookahead = input.lookahead1(); if lookahead.peek(keywords::MaxEncodedLen) { let _max_encoded_len: keywords::MaxEncodedLen = input.parse()?; - return Ok(PovEstimationMode::MaxEncodedLen) + return Ok(PovEstimationMode::MaxEncodedLen); } else if lookahead.peek(keywords::Measured) { let _measured: keywords::Measured = input.parse()?; - return Ok(PovEstimationMode::Measured) + return Ok(PovEstimationMode::Measured); } else if lookahead.peek(keywords::Ignored) { let _ignored: keywords::Ignored = input.parse()?; - return Ok(PovEstimationMode::Ignored) + return Ok(PovEstimationMode::Ignored); } else { - return Err(lookahead.error()) + return Err(lookahead.error()); } } } @@ -210,19 +210,19 @@ impl syn::parse::Parse for BenchmarkAttrs { match arg { BenchmarkAttr::Extra => { if extra { - return Err(input.error("`extra` can only be specified once")) + return Err(input.error("`extra` can only be specified once")); } extra = true; }, BenchmarkAttr::SkipMeta => { if skip_meta { - return Err(input.error("`skip_meta` can only be specified once")) + return Err(input.error("`skip_meta` can only be specified once")); } skip_meta = true; }, BenchmarkAttr::PoV(mode) => { if pov_mode.is_some() { - return Err(input.error("`pov_mode` can only be specified once")) + return Err(input.error("`pov_mode` can only be specified once")); } pov_mode = Some(mode); }, @@ -281,7 +281,7 @@ fn ensure_valid_return_type(item_fn: &ItemFn) -> Result<()> { return Err(Error::new( typ.span(), "Only `Result<(), BenchmarkError>` or a blank return type is allowed on benchmark function definitions", - )) + )); }; let seg = path .segments @@ -291,7 +291,7 @@ fn ensure_valid_return_type(item_fn: &ItemFn) -> Result<()> { // ensure T in Result is () let Type::Tuple(tup) = res.unit else { return non_unit(res.unit.span()) }; if !tup.elems.is_empty() { - return non_unit(tup.span()) + return non_unit(tup.span()); } let TypePath { path, qself: _ } = res.e_type; let seg = path @@ -329,7 +329,7 @@ fn parse_params(item_fn: &ItemFn) -> Result> { return Err(Error::new( span, "Invalid benchmark function param. A valid example would be `x: Linear<5, 10>`.", - )) + )); }; let FnArg::Typed(arg) = arg else { return invalid_param(arg.span()) }; @@ -345,11 +345,11 @@ fn parse_params(item_fn: &ItemFn) -> Result> { }; let name = ident.ident.to_token_stream().to_string(); if name.len() > 1 { - return invalid_param_name() + return invalid_param_name(); }; let Some(name_char) = name.chars().next() else { return invalid_param_name() }; if !name_char.is_alphabetic() || !name_char.is_lowercase() { - return invalid_param_name() + return invalid_param_name(); } // parse type @@ -414,11 +414,12 @@ fn parse_call_def(item_fn: &ItemFn) -> Result<(usize, BenchmarkCallDef)> { Ok(match &call_defs[..] { [(i, call_def)] => (*i, call_def.clone()), // = 1 [] => return missing_call(item_fn), - _ => + _ => { return Err(Error::new( call_defs[1].1.attr_span(), "Only one #[extrinsic_call] or #[block] attribute is allowed per benchmark.", - )), + )) + }, }) } @@ -432,7 +433,9 @@ impl BenchmarkDef { let (verify_stmts, last_stmt) = match item_fn.sig.output { ReturnType::Default => // no return type, last_stmt should be None - (Vec::from(&item_fn.block.stmts[(i + 1)..item_fn.block.stmts.len()]), None), + { + (Vec::from(&item_fn.block.stmts[(i + 1)..item_fn.block.stmts.len()]), None) + }, ReturnType::Type(_, _) => { // defined return type, last_stmt should be Result<(), BenchmarkError> // compatible and should not be included in verify_stmts @@ -444,7 +447,7 @@ impl BenchmarkDef { defined a return type. You should return something compatible \ with Result<(), BenchmarkError> (i.e. `Ok(())`) as the last statement \ or change your signature to a blank return type.", - )) + )); } let Some(stmt) = item_fn.block.stmts.last() else { return missing_call(item_fn) }; ( @@ -481,12 +484,13 @@ pub fn benchmarks( let module: ItemMod = syn::parse(tokens)?; let mod_span = module.span(); let where_clause = match syn::parse::(attrs.clone()) { - Ok(_) => + Ok(_) => { if instance { quote!(T: Config, I: 'static) } else { quote!(T: Config) - }, + } + }, Err(_) => { let mut where_clause_predicates = syn::parse::(attrs)?.predicates; @@ -1026,8 +1030,9 @@ fn expand_benchmark( }, ) }, - BenchmarkCallDef::Block { block, attr_span: _ } => - (quote!(), quote!(#block), quote!(#block)), + BenchmarkCallDef::Block { block, attr_span: _ } => { + (quote!(), quote!(#block), quote!(#block)) + }, }; let vis = benchmark_def.fn_vis; diff --git a/substrate/frame/support/procedural/src/construct_runtime/expand/origin.rs b/substrate/frame/support/procedural/src/construct_runtime/expand/origin.rs index dc5fe5beef138..4102ce1d67d23 100644 --- a/substrate/frame/support/procedural/src/construct_runtime/expand/origin.rs +++ b/substrate/frame/support/procedural/src/construct_runtime/expand/origin.rs @@ -44,7 +44,7 @@ pub fn expand_outer_origin( be constructed: pallet `{}` must have generic `Origin`", name ); - return Err(syn::Error::new(name.span(), msg)) + return Err(syn::Error::new(name.span(), msg)); } caller_variants.extend(expand_origin_caller_variant( diff --git a/substrate/frame/support/procedural/src/construct_runtime/expand/outer_enums.rs b/substrate/frame/support/procedural/src/construct_runtime/expand/outer_enums.rs index 641508c0a62fc..2fd3329432a38 100644 --- a/substrate/frame/support/procedural/src/construct_runtime/expand/outer_enums.rs +++ b/substrate/frame/support/procedural/src/construct_runtime/expand/outer_enums.rs @@ -113,7 +113,7 @@ pub fn expand_outer_enum( be constructed: pallet `{}` must have generic `{}`", enum_name_str, pallet_name, enum_name_str, ); - return Err(syn::Error::new(pallet_name.span(), msg)) + return Err(syn::Error::new(pallet_name.span(), msg)); } let part_is_generic = !generics.params.is_empty(); @@ -246,7 +246,7 @@ fn expand_enum_conversion( fn generate_error_impl(scrate: &TokenStream, enum_ty: OuterEnumType) -> TokenStream { // Implementation is specific to `Error`s. if enum_ty == OuterEnumType::Event { - return quote! {} + return quote! {}; } let enum_name_ident = Ident::new(enum_ty.struct_name(), Span::call_site()); diff --git a/substrate/frame/support/procedural/src/construct_runtime/expand/task.rs b/substrate/frame/support/procedural/src/construct_runtime/expand/task.rs index 0486d401706cc..cf346fb788832 100644 --- a/substrate/frame/support/procedural/src/construct_runtime/expand/task.rs +++ b/substrate/frame/support/procedural/src/construct_runtime/expand/task.rs @@ -32,7 +32,7 @@ pub fn expand_outer_task( let mut cfg_attrs = Vec::new(); for decl in pallet_decls { if decl.find_part("Task").is_none() { - continue + continue; } let variant_name = &decl.name; diff --git a/substrate/frame/support/procedural/src/construct_runtime/mod.rs b/substrate/frame/support/procedural/src/construct_runtime/mod.rs index fa4f2f1ac3878..ad70c8a6f8c16 100644 --- a/substrate/frame/support/procedural/src/construct_runtime/mod.rs +++ b/substrate/frame/support/procedural/src/construct_runtime/mod.rs @@ -362,7 +362,7 @@ fn construct_runtime_final_expansion( return Err(syn::Error::new( system_pallet.name.span(), "`System` pallet declaration is feature gated, please remove any `#[cfg]` attributes", - )) + )); } let features = pallets @@ -800,7 +800,7 @@ pub(crate) fn check_pallet_number(input: TokenStream2, pallet_num: usize) -> Res "" }, ), - )) + )); } Ok(()) diff --git a/substrate/frame/support/procedural/src/construct_runtime/parse.rs b/substrate/frame/support/procedural/src/construct_runtime/parse.rs index 2df08123821a3..7708aa05b561b 100644 --- a/substrate/frame/support/procedural/src/construct_runtime/parse.rs +++ b/substrate/frame/support/procedural/src/construct_runtime/parse.rs @@ -96,22 +96,25 @@ impl Parse for RuntimeDeclaration { let pallets_token = pallets.token; match convert_pallets(pallets.content.inner.into_iter().collect())? { - PalletsConversion::Implicit(pallets) => - Ok(RuntimeDeclaration::Implicit(ImplicitRuntimeDeclaration { pallets })), - PalletsConversion::Explicit(pallets) => + PalletsConversion::Implicit(pallets) => { + Ok(RuntimeDeclaration::Implicit(ImplicitRuntimeDeclaration { pallets })) + }, + PalletsConversion::Explicit(pallets) => { Ok(RuntimeDeclaration::Explicit(ExplicitRuntimeDeclaration { name, where_section, pallets, pallets_token, - })), - PalletsConversion::ExplicitExpanded(pallets) => + })) + }, + PalletsConversion::ExplicitExpanded(pallets) => { Ok(RuntimeDeclaration::ExplicitExpanded(ExplicitRuntimeDeclaration { name, where_section, pallets, pallets_token, - })), + })) + }, } } } @@ -709,7 +712,7 @@ fn convert_pallets(pallets: Vec) -> syn::Result + SpecifiedParts::Exclude(parts) | SpecifiedParts::Use(parts) => { for part in parts { if !available_parts.contains(part.keyword.name()) { let msg = format!( @@ -727,7 +730,8 @@ fn convert_pallets(pallets: Vec) -> syn::Result (), } diff --git a/substrate/frame/support/procedural/src/crate_version.rs b/substrate/frame/support/procedural/src/crate_version.rs index 8c8975a425971..89f425cf9c849 100644 --- a/substrate/frame/support/procedural/src/crate_version.rs +++ b/substrate/frame/support/procedural/src/crate_version.rs @@ -30,7 +30,7 @@ fn create_error(message: &str) -> Error { /// Implementation of the `crate_to_crate_version!` macro. pub fn crate_to_crate_version(input: proc_macro::TokenStream) -> Result { if !input.is_empty() { - return Err(create_error("No arguments expected!")) + return Err(create_error("No arguments expected!")); } let major_version = get_cargo_env_var::("CARGO_PKG_VERSION_MAJOR") diff --git a/substrate/frame/support/procedural/src/deprecation.rs b/substrate/frame/support/procedural/src/deprecation.rs index b9f5050864a6a..ab650e69c5025 100644 --- a/substrate/frame/support/procedural/src/deprecation.rs +++ b/substrate/frame/support/procedural/src/deprecation.rs @@ -52,10 +52,12 @@ fn parse_deprecated_meta( target: DeprecationTarget, ) -> Result { let target = match target { - DeprecationTarget::Item => - quote! { #crate_::__private::metadata_ir::ItemDeprecationInfoIR }, - DeprecationTarget::Variant => - quote! { #crate_::__private::metadata_ir::VariantDeprecationInfoIR }, + DeprecationTarget::Item => { + quote! { #crate_::__private::metadata_ir::ItemDeprecationInfoIR } + }, + DeprecationTarget::Variant => { + quote! { #crate_::__private::metadata_ir::VariantDeprecationInfoIR } + }, }; match &attr.meta { diff --git a/substrate/frame/support/procedural/src/derive_impl.rs b/substrate/frame/support/procedural/src/derive_impl.rs index 5d39c2707def5..33b1ddb5022e7 100644 --- a/substrate/frame/support/procedural/src/derive_impl.rs +++ b/substrate/frame/support/procedural/src/derive_impl.rs @@ -51,7 +51,7 @@ fn is_runtime_type(item: &syn::ImplItemType) -> bool { if let Ok(PalletAttr { typ: PalletAttrType::RuntimeType(_), .. }) = parse2::(attr.into_token_stream()) { - return true + return true; } false }) @@ -78,7 +78,9 @@ impl syn::parse::Parse for DeriveImplAttrArgs { (default_impl_path, Some(args.clone())) }, Some(PathSegment { arguments: PathArguments::None, .. }) => (default_impl_path, None), - _ => return Err(syn::Error::new(default_impl_path.span(), "Invalid default impl path")), + _ => { + return Err(syn::Error::new(default_impl_path.span(), "Invalid default impl path")) + }, }; let lookahead = input.lookahead1(); @@ -177,7 +179,7 @@ fn combine_impls( if let Some(ident) = impl_item_ident(&item) { if existing_local_keys.contains(&ident) { // do not copy colliding items that have an ident - return None + return None; } if let ImplItem::Type(typ) = item.clone() { let cfg_attrs = typ @@ -194,14 +196,14 @@ fn combine_impls( } else { item }; - return Some(item) + return Some(item); } // modify and insert uncolliding type items let modified_item: ImplItem = parse_quote! { #( #cfg_attrs )* type #ident = <#default_impl_path #generics as #disambiguation_path>::#ident; }; - return Some(modified_item) + return Some(modified_item); } // copy uncolliding non-type items that have an ident Some(item) @@ -228,13 +230,14 @@ fn compute_disambiguation_path( ) -> Result { match (disambiguation_path, foreign_impl.clone().trait_) { (Some(disambiguation_path), _) => Ok(disambiguation_path), - (None, Some((_, foreign_impl_path, _))) => + (None, Some((_, foreign_impl_path, _))) => { if default_impl_path.segments.len() > 1 { let scope = default_impl_path.segments.first(); Ok(parse_quote!(#scope :: #foreign_impl_path)) } else { Ok(foreign_impl_path) - }, + } + }, _ => Err(syn::Error::new( default_impl_path.span(), "Impl statement must have a defined type being implemented \ @@ -246,7 +249,7 @@ fn compute_disambiguation_path( /// Internal implementation behind [`#[derive_impl(..)]`](`macro@crate::derive_impl`). /// /// `default_impl_path`: the module path of the external `impl` statement whose tokens we are -/// importing via `macro_magic` +/// importing via `macro_magic` /// /// `foreign_tokens`: the tokens for the external `impl` statement /// diff --git a/substrate/frame/support/procedural/src/dummy_part_checker.rs b/substrate/frame/support/procedural/src/dummy_part_checker.rs index 34d9a3e236b46..25435e74dc8bc 100644 --- a/substrate/frame/support/procedural/src/dummy_part_checker.rs +++ b/substrate/frame/support/procedural/src/dummy_part_checker.rs @@ -22,7 +22,7 @@ pub fn generate_dummy_part_checker(input: TokenStream) -> TokenStream { if !input.is_empty() { return syn::Error::new(proc_macro2::Span::call_site(), "No arguments expected") .to_compile_error() - .into() + .into(); } let count = COUNTER.with(|counter| counter.borrow_mut().inc()); diff --git a/substrate/frame/support/procedural/src/dynamic_params.rs b/substrate/frame/support/procedural/src/dynamic_params.rs index ed75b6cf63c6e..b7f421261c107 100644 --- a/substrate/frame/support/procedural/src/dynamic_params.rs +++ b/substrate/frame/support/procedural/src/dynamic_params.rs @@ -98,7 +98,7 @@ impl ToTokens for DynamicParamModAttr { attrs.retain(|attr| !attr.path().is_ident("dynamic_pallet_params")); if let Err(err) = ensure_codec_index(&attrs, m.span()) { tokens.extend(err.into_compile_error()); - return + return; } quoted_enum.extend(quote! { @@ -133,7 +133,7 @@ fn ensure_codec_index(attrs: &Vec, span: Span) -> Result<()> { let meta: syn::ExprAssign = attr.parse_args()?; if meta.left.to_token_stream().to_string() == "index" { found = true; - break + break; } } } @@ -160,8 +160,9 @@ impl VisitMut for MacroInjectArgs { if let Some(attr) = attr { match &attr.meta { - syn::Meta::Path(path) => - assert_eq!(path.to_token_stream().to_string(), "dynamic_pallet_params"), + syn::Meta::Path(path) => { + assert_eq!(path.to_token_stream().to_string(), "dynamic_pallet_params") + }, _ => (), } @@ -240,7 +241,7 @@ impl ToTokens for DynamicPalletParamAttr { for s in statics.iter() { if let Err(err) = ensure_codec_index(&s.attrs, s.span()) { tokens.extend(err.into_compile_error()); - return + return; } key_names.push(&s.ident); diff --git a/substrate/frame/support/procedural/src/key_prefix.rs b/substrate/frame/support/procedural/src/key_prefix.rs index 7f1ab6866d1e8..6c52a208c0663 100644 --- a/substrate/frame/support/procedural/src/key_prefix.rs +++ b/substrate/frame/support/procedural/src/key_prefix.rs @@ -24,7 +24,7 @@ const MAX_IDENTS: usize = 18; pub fn impl_key_prefix_for_tuples(input: proc_macro::TokenStream) -> Result { if !input.is_empty() { - return Err(syn::Error::new(Span::call_site(), "No arguments expected")) + return Err(syn::Error::new(Span::call_site(), "No arguments expected")); } let mut all_trait_impls = TokenStream::new(); diff --git a/substrate/frame/support/procedural/src/lib.rs b/substrate/frame/support/procedural/src/lib.rs index 30e372d1aaa09..df0224632f10f 100644 --- a/substrate/frame/support/procedural/src/lib.rs +++ b/substrate/frame/support/procedural/src/lib.rs @@ -193,7 +193,6 @@ pub fn construct_runtime(input: TokenStream) -> TokenStream { construct_runtime::construct_runtime(input) } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet`. @@ -290,7 +289,6 @@ pub fn transactional(attr: TokenStream, input: TokenStream) -> TokenStream { transactional::transactional(attr, input).unwrap_or_else(|e| e.to_compile_error().into()) } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::require_transactional`. @@ -424,7 +422,6 @@ pub fn __create_tt_macro(input: TokenStream) -> TokenStream { tt_macro::create_tt_return_macro(input) } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::storage_alias`. @@ -664,7 +661,6 @@ pub fn derive_impl(attrs: TokenStream, input: TokenStream) -> TokenStream { .into() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::no_default`. @@ -673,7 +669,6 @@ pub fn no_default(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::no_default_bounds`. @@ -765,7 +760,6 @@ pub fn register_default_impl(attrs: TokenStream, tokens: TokenStream) -> TokenSt /// [`#[derive_impl(..)]`](macro@derive_impl) will use the correct type auto-generated by /// `construct_runtime!`. #[doc = docify::embed!("examples/proc_main/inject_runtime_type.rs", derive_impl_works_with_runtime_type_injection)] -/// /// However, if `no_aggregated_types` is specified while using /// [`#[derive_impl(..)]`](macro@derive_impl), then these items are attached verbatim to the /// combined impl. @@ -804,7 +798,6 @@ fn pallet_macro_stub() -> TokenStream { .into() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::config`. @@ -813,7 +806,6 @@ pub fn config(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::constant`. @@ -822,7 +814,6 @@ pub fn constant(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::constant_name`. @@ -831,7 +822,6 @@ pub fn constant_name(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at @@ -841,7 +831,6 @@ pub fn disable_frame_system_supertrait_check(_: TokenStream, _: TokenStream) -> pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::storage_version`. @@ -850,7 +839,6 @@ pub fn storage_version(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::hooks`. @@ -859,7 +847,6 @@ pub fn hooks(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::weight`. @@ -868,7 +855,6 @@ pub fn weight(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::compact`. @@ -877,7 +863,6 @@ pub fn compact(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::call`. @@ -897,7 +882,6 @@ pub fn call_index(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::feeless_if`. @@ -906,7 +890,6 @@ pub fn feeless_if(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::extra_constants`. @@ -915,7 +898,6 @@ pub fn extra_constants(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::error`. @@ -924,7 +906,6 @@ pub fn error(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::event`. @@ -933,7 +914,6 @@ pub fn event(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::include_metadata`. @@ -942,7 +922,6 @@ pub fn include_metadata(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::generate_deposit`. @@ -951,7 +930,6 @@ pub fn generate_deposit(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::storage`. @@ -960,7 +938,6 @@ pub fn storage(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::getter`. @@ -969,7 +946,6 @@ pub fn getter(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::storage_prefix`. @@ -978,7 +954,6 @@ pub fn storage_prefix(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::unbounded`. @@ -987,7 +962,6 @@ pub fn unbounded(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::whitelist_storage`. @@ -996,7 +970,6 @@ pub fn whitelist_storage(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at @@ -1006,7 +979,6 @@ pub fn disable_try_decode_storage(_: TokenStream, _: TokenStream) -> TokenStream pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::type_value`. @@ -1015,7 +987,6 @@ pub fn type_value(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::genesis_config`. @@ -1024,7 +995,6 @@ pub fn genesis_config(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::genesis_build`. @@ -1033,7 +1003,6 @@ pub fn genesis_build(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::inherent`. @@ -1042,7 +1011,6 @@ pub fn inherent(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::validate_unsigned`. @@ -1051,7 +1019,6 @@ pub fn validate_unsigned(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at @@ -1061,7 +1028,6 @@ pub fn view_functions(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::origin`. @@ -1070,7 +1036,6 @@ pub fn origin(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// Documentation for this macro can be found at `frame_support::pallet_macros::composite_enum`. @@ -1164,7 +1129,6 @@ pub fn task_index(_: TokenStream, _: TokenStream) -> TokenStream { pallet_macro_stub() } -/// /// --- /// /// **Rust-Analyzer users**: See the documentation of the Rust item in @@ -1182,7 +1146,6 @@ pub fn pallet_section(attr: TokenStream, tokens: TokenStream) -> TokenStream { } } -/// /// --- /// /// **Rust-Analyzer users**: See the documentation of the Rust item in @@ -1236,7 +1199,6 @@ pub fn import_section(attr: TokenStream, tokens: TokenStream) -> TokenStream { /// /// # Example: #[doc = docify::embed!("examples/proc_main/runtime.rs", runtime_macro)] -/// /// # Supported Attributes: /// /// ## Legacy Ordering diff --git a/substrate/frame/support/procedural/src/match_and_insert.rs b/substrate/frame/support/procedural/src/match_and_insert.rs index 47504a718de11..30c58981b9841 100644 --- a/substrate/frame/support/procedural/src/match_and_insert.rs +++ b/substrate/frame/support/procedural/src/match_and_insert.rs @@ -64,14 +64,14 @@ impl syn::parse::Parse for MatchAndInsertDef { let pattern = pattern.parse::()?.into_iter().collect::>(); if let Some(t) = pattern.iter().find(|t| matches!(t, TokenTree::Group(_))) { - return Err(syn::Error::new(t.span(), "Unexpected group token tree")) + return Err(syn::Error::new(t.span(), "Unexpected group token tree")); } if let Some(t) = pattern.iter().find(|t| matches!(t, TokenTree::Literal(_))) { - return Err(syn::Error::new(t.span(), "Unexpected literal token tree")) + return Err(syn::Error::new(t.span(), "Unexpected literal token tree")); } if pattern.is_empty() { - return Err(syn::Error::new(Span::call_site(), "empty match pattern is invalid")) + return Err(syn::Error::new(Span::call_site(), "empty match pattern is invalid")); } let mut tokens; @@ -116,7 +116,7 @@ fn expand_in_stream( Ok(s) => { extended.extend(once(TokenTree::Group(Group::new(group.delimiter(), s)))); extended.extend(stream); - return Ok(extended) + return Ok(extended); }, Err(_) => { extended.extend(once(TokenTree::Group(group))); @@ -132,7 +132,7 @@ fn expand_in_stream( extended .extend(once(tokens.take().expect("tokens is used to replace only once"))); extended.extend(stream); - return Ok(extended) + return Ok(extended); } }, } diff --git a/substrate/frame/support/procedural/src/no_bound/clone.rs b/substrate/frame/support/procedural/src/no_bound/clone.rs index c0e3d851bcc4a..19ed8ba7c1c6e 100644 --- a/substrate/frame/support/procedural/src/no_bound/clone.rs +++ b/substrate/frame/support/procedural/src/no_bound/clone.rs @@ -89,7 +89,7 @@ pub fn derive_clone_no_bound(input: proc_macro::TokenStream) -> proc_macro::Toke }, syn::Data::Union(_) => { let msg = "Union type not supported by `derive(CloneNoBound)`"; - return syn::Error::new(input.span(), msg).to_compile_error().into() + return syn::Error::new(input.span(), msg).to_compile_error().into(); }, }; diff --git a/substrate/frame/support/procedural/src/no_bound/debug.rs b/substrate/frame/support/procedural/src/no_bound/debug.rs index 8d8af14f01f41..8bc1aa4a5c0c1 100644 --- a/substrate/frame/support/procedural/src/no_bound/debug.rs +++ b/substrate/frame/support/procedural/src/no_bound/debug.rs @@ -103,7 +103,7 @@ pub fn derive_debug_no_bound(input: proc_macro::TokenStream) -> proc_macro::Toke }, syn::Data::Union(_) => { let msg = "Union type not supported by `derive(DebugNoBound)`"; - return syn::Error::new(input.span(), msg).to_compile_error().into() + return syn::Error::new(input.span(), msg).to_compile_error().into(); }, }; diff --git a/substrate/frame/support/procedural/src/no_bound/default.rs b/substrate/frame/support/procedural/src/no_bound/default.rs index 40cd6ac9ca615..5fcc2b4791b51 100644 --- a/substrate/frame/support/procedural/src/no_bound/default.rs +++ b/substrate/frame/support/procedural/src/no_bound/default.rs @@ -55,7 +55,7 @@ pub fn derive_default_no_bound(input: proc_macro::TokenStream) -> proc_macro::To if enum_.variants.is_empty() { return syn::Error::new_spanned(name, "cannot derive Default for an empty enum") .to_compile_error() - .into() + .into(); } // all #[default] attrs with the variant they're on; i.e. a var @@ -93,7 +93,7 @@ pub fn derive_default_no_bound(input: proc_macro::TokenStream) -> proc_macro::To }, )); - return err.into_compile_error().into() + return err.into_compile_error().into(); } let variant_ident = &default_variant.ident; @@ -134,17 +134,18 @@ pub fn derive_default_no_bound(input: proc_macro::TokenStream) -> proc_macro::To .map(|variant| syn::Error::new_spanned(variant, "additional default")), ); - return err.into_compile_error().into() + return err.into_compile_error().into(); }, } }, - Data::Union(union_) => + Data::Union(union_) => { return syn::Error::new_spanned( union_.union_token, "Union type not supported by `derive(DefaultNoBound)`", ) .to_compile_error() - .into(), + .into() + }, }; quote!( diff --git a/substrate/frame/support/procedural/src/no_bound/ord.rs b/substrate/frame/support/procedural/src/no_bound/ord.rs index 755b912536822..927c2faab33c3 100644 --- a/substrate/frame/support/procedural/src/no_bound/ord.rs +++ b/substrate/frame/support/procedural/src/no_bound/ord.rs @@ -54,11 +54,11 @@ pub fn derive_ord_no_bound(input: proc_macro::TokenStream) -> proc_macro::TokenS }, syn::Data::Enum(_) => { let msg = "Enum type not supported by `derive(OrdNoBound)`"; - return syn::Error::new(input.span(), msg).to_compile_error().into() + return syn::Error::new(input.span(), msg).to_compile_error().into(); }, syn::Data::Union(_) => { let msg = "Union type not supported by `derive(OrdNoBound)`"; - return syn::Error::new(input.span(), msg).to_compile_error().into() + return syn::Error::new(input.span(), msg).to_compile_error().into(); }, }; diff --git a/substrate/frame/support/procedural/src/no_bound/partial_eq.rs b/substrate/frame/support/procedural/src/no_bound/partial_eq.rs index 9ce14b5f6b205..c0f8cd7e63784 100644 --- a/substrate/frame/support/procedural/src/no_bound/partial_eq.rs +++ b/substrate/frame/support/procedural/src/no_bound/partial_eq.rs @@ -119,7 +119,7 @@ pub fn derive_partial_eq_no_bound(input: proc_macro::TokenStream) -> proc_macro: }, syn::Data::Union(_) => { let msg = "Union type not supported by `derive(PartialEqNoBound)`"; - return syn::Error::new(input.span(), msg).to_compile_error().into() + return syn::Error::new(input.span(), msg).to_compile_error().into(); }, }; diff --git a/substrate/frame/support/procedural/src/no_bound/partial_ord.rs b/substrate/frame/support/procedural/src/no_bound/partial_ord.rs index 7e783f511a241..084c0417fc11e 100644 --- a/substrate/frame/support/procedural/src/no_bound/partial_ord.rs +++ b/substrate/frame/support/procedural/src/no_bound/partial_ord.rs @@ -27,9 +27,9 @@ pub fn derive_partial_ord_no_bound(input: proc_macro::TokenStream) -> proc_macro let name = &input.ident; let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl(); - let impl_ = match input.data { - syn::Data::Struct(struct_) => - match struct_.fields { + let impl_ = + match input.data { + syn::Data::Struct(struct_) => match struct_.fields { syn::Fields::Named(named) => { let fields = named.named.iter().map(|i| &i.ident).map( @@ -66,15 +66,15 @@ pub fn derive_partial_ord_no_bound(input: proc_macro::TokenStream) -> proc_macro quote::quote!(Some(core::cmp::Ordering::Equal)) }, }, - syn::Data::Enum(_) => { - let msg = "Enum type not supported by `derive(PartialOrdNoBound)`"; - return syn::Error::new(input.span(), msg).to_compile_error().into() - }, - syn::Data::Union(_) => { - let msg = "Union type not supported by `derive(PartialOrdNoBound)`"; - return syn::Error::new(input.span(), msg).to_compile_error().into() - }, - }; + syn::Data::Enum(_) => { + let msg = "Enum type not supported by `derive(PartialOrdNoBound)`"; + return syn::Error::new(input.span(), msg).to_compile_error().into(); + }, + syn::Data::Union(_) => { + let msg = "Union type not supported by `derive(PartialOrdNoBound)`"; + return syn::Error::new(input.span(), msg).to_compile_error().into(); + }, + }; quote::quote!( const _: () = { diff --git a/substrate/frame/support/procedural/src/pallet/expand/call.rs b/substrate/frame/support/procedural/src/pallet/expand/call.rs index 698ea520449dd..05f4d828803e6 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/call.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/call.rs @@ -59,7 +59,6 @@ fn expand_weight( } } -/// /// * Generate enum call and implement various trait on it. /// * Implement Callable and call_function on `Pallet` pub fn expand_call(def: &mut Def) -> proc_macro2::TokenStream { @@ -98,7 +97,7 @@ pub fn expand_call(def: &mut Def) -> proc_macro2::TokenStream { // Emit a warning for each call that is missing `call_index` when not in dev-mode. for method in &methods { if method.explicit_call_index || def.dev_mode { - continue + continue; } let warning = Warning::new_deprecated("ImplicitCallIndex") diff --git a/substrate/frame/support/procedural/src/pallet/expand/config.rs b/substrate/frame/support/procedural/src/pallet/expand/config.rs index f9f1eefd4a16c..751a85d3e0327 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/config.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/config.rs @@ -20,7 +20,6 @@ use proc_macro2::TokenStream; use quote::quote; use syn::{parse_quote, Item}; -/// /// * Generate default rust doc pub fn expand_config(def: &mut Def) -> TokenStream { let config = &def.config; @@ -59,8 +58,9 @@ Consequently, a runtime that wants to include this pallet must implement this tr let event_use_gen = match event.gen_kind { GenericKind::None => quote!(), GenericKind::Config => quote::quote_spanned! {event.attr_span => Self}, - GenericKind::ConfigAndInstance => - quote::quote_spanned! {event.attr_span => Self, I}, + GenericKind::ConfigAndInstance => { + quote::quote_spanned! {event.attr_span => Self, I} + }, }; let supertrait_with_event_bound = syn::parse2::( diff --git a/substrate/frame/support/procedural/src/pallet/expand/documentation.rs b/substrate/frame/support/procedural/src/pallet/expand/documentation.rs index e2c72ee921c46..2cf4ea07e1700 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/documentation.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/documentation.rs @@ -43,17 +43,19 @@ fn parse_pallet_doc_value(attr: &Attribute) -> syn::Result { /// - `#[doc = include_str!(PATH)]`: Documentation obtained from a path fn parse_doc_value(attr: &Attribute) -> syn::Result> { if !attr.path().is_ident(DOC) { - return Ok(None) + return Ok(None); } let meta = attr.meta.require_name_value()?; match &meta.value { syn::Expr::Lit(lit) => Ok(Some(DocMetaValue::Lit(lit.lit.clone()))), - syn::Expr::Macro(mac) if mac.mac.path.is_ident("include_str") => - Ok(Some(DocMetaValue::Path(mac.mac.parse_body()?))), - _ => - Err(syn::Error::new(attr.span(), "Expected `= \"docs\"` or `= include_str!(\"PATH\")`")), + syn::Expr::Macro(mac) if mac.mac.path.is_ident("include_str") => { + Ok(Some(DocMetaValue::Path(mac.mac.parse_body()?))) + }, + _ => { + Err(syn::Error::new(attr.span(), "Expected `= \"docs\"` or `= include_str!(\"PATH\")`")) + }, } } @@ -128,7 +130,7 @@ pub fn expand_documentation(def: &mut Def) -> proc_macro2::TokenStream { pallet_docs.push(def.item.attrs.remove(index)); // Do not increment the index, we have just removed the // element from the attributes. - continue + continue; } index += 1; diff --git a/substrate/frame/support/procedural/src/pallet/expand/error.rs b/substrate/frame/support/procedural/src/pallet/expand/error.rs index a1c06a6ad5f6b..04c67a0542d35 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/error.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/error.rs @@ -27,7 +27,6 @@ use frame_support_procedural_tools::get_doc_literals; use quote::ToTokens; use syn::spanned::Spanned; -/// /// * impl various trait on Error pub fn expand_error(def: &mut Def) -> proc_macro2::TokenStream { let count = COUNTER.with(|counter| counter.borrow_mut().inc()); @@ -56,7 +55,7 @@ pub fn expand_error(def: &mut Def) -> proc_macro2::TokenStream { } pub use #error_token_unique_id as tt_error_token; - } + }; }; let error_ident = &error.error; diff --git a/substrate/frame/support/procedural/src/pallet/expand/event.rs b/substrate/frame/support/procedural/src/pallet/expand/event.rs index 1e573d52e825b..ffa6efb17981c 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/event.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/event.rs @@ -23,7 +23,6 @@ use crate::{ use frame_support_procedural_tools::get_doc_literals; use syn::{spanned::Spanned, Ident}; -/// /// * Add __Ignore variant on Event /// * Impl various trait on Event including metadata /// * if deposit_event is defined, implement deposit_event on module. @@ -56,7 +55,7 @@ pub fn expand_event(def: &mut Def) -> proc_macro2::TokenStream { #[doc(hidden)] pub use #macro_ident as is_event_part_defined; } - } + }; }; let event_where_clause = &event.where_clause; diff --git a/substrate/frame/support/procedural/src/pallet/expand/genesis_build.rs b/substrate/frame/support/procedural/src/pallet/expand/genesis_build.rs index b71aed680dc82..43e47ed4a9e13 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/genesis_build.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/genesis_build.rs @@ -17,13 +17,12 @@ use crate::pallet::Def; -/// /// * implement the trait `sp_runtime::BuildStorage` pub fn expand_genesis_build(def: &mut Def) -> proc_macro2::TokenStream { let genesis_config = if let Some(genesis_config) = &def.genesis_config { genesis_config } else { - return Default::default() + return Default::default(); }; let genesis_build = def.genesis_build.as_ref().expect("Checked by def parser"); diff --git a/substrate/frame/support/procedural/src/pallet/expand/genesis_config.rs b/substrate/frame/support/procedural/src/pallet/expand/genesis_config.rs index 31d519ef29293..46e50c58c39ce 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/genesis_config.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/genesis_config.rs @@ -20,7 +20,6 @@ use frame_support_procedural_tools::get_doc_literals; use quote::ToTokens; use syn::{spanned::Spanned, Ident}; -/// /// * add various derive trait on GenesisConfig struct. pub fn expand_genesis_config(def: &mut Def) -> proc_macro2::TokenStream { let count = COUNTER.with(|counter| counter.borrow_mut().inc()); @@ -72,7 +71,7 @@ pub fn expand_genesis_config(def: &mut Def) -> proc_macro2::TokenStream { #[doc(hidden)] pub use #std_macro_ident as is_std_enabled_for_genesis; } - } + }; }; let frame_support = &def.frame_support; diff --git a/substrate/frame/support/procedural/src/pallet/expand/instances.rs b/substrate/frame/support/procedural/src/pallet/expand/instances.rs index b6dfa7e6d9e9c..a77ae0013dd11 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/instances.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/instances.rs @@ -18,7 +18,6 @@ use crate::{pallet::Def, NUMBER_OF_INSTANCE}; use proc_macro2::Span; -/// /// * Provide inherent instance to be used by construct_runtime /// * Provide Instance1 ..= Instance16 for instantiable pallet pub fn expand_instances(def: &mut Def) -> proc_macro2::TokenStream { diff --git a/substrate/frame/support/procedural/src/pallet/expand/pallet_struct.rs b/substrate/frame/support/procedural/src/pallet/expand/pallet_struct.rs index 80e8fe9d8080d..c90cbf020fb11 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/pallet_struct.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/pallet_struct.rs @@ -18,7 +18,6 @@ use crate::pallet::{expand::merge_where_clauses, Def}; use frame_support_procedural_tools::get_doc_literals; -/// /// * Add derive trait on Pallet /// * Implement GetStorageVersion on Pallet /// * Implement OnGenesis on Pallet diff --git a/substrate/frame/support/procedural/src/pallet/expand/storage.rs b/substrate/frame/support/procedural/src/pallet/expand/storage.rs index a0951a25e5b56..3b37debc44127 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/storage.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/storage.rs @@ -102,7 +102,6 @@ pub struct ResultOnEmptyStructMetadata { pub span: proc_macro2::Span, } -/// /// * if generics are unnamed: replace the first generic `_` by the generated prefix structure /// * if generics are named: reorder the generic, remove their name, and add the missing ones. /// * Add `#[allow(type_alias_bounds)]` @@ -380,7 +379,6 @@ fn augment_final_docs(def: &mut Def) { }); } -/// /// * generate StoragePrefix structs (e.g. for a storage `MyStorage` a struct with the name /// `_GeneratedPrefixForStorage$NameOfStorage` is generated) and implements StorageInstance trait. /// * if generics are unnamed: replace the first generic `_` by the generated prefix structure diff --git a/substrate/frame/support/procedural/src/pallet/expand/type_value.rs b/substrate/frame/support/procedural/src/pallet/expand/type_value.rs index 5dc6309c074a6..d977f3a0d4464 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/type_value.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/type_value.rs @@ -17,7 +17,6 @@ use crate::pallet::Def; -/// /// * Generate the struct /// * implement the `Get<..>` on it /// * Rename the name of the function to internal name diff --git a/substrate/frame/support/procedural/src/pallet/expand/view_functions.rs b/substrate/frame/support/procedural/src/pallet/expand/view_functions.rs index 30b57d110b732..62fb939af99de 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/view_functions.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/view_functions.rs @@ -21,8 +21,9 @@ use syn::spanned::Spanned; pub fn expand_view_functions(def: &Def) -> TokenStream { let (span, where_clause, view_fns) = match def.view_functions.as_ref() { - Some(view_fns) => - (view_fns.attr_span, view_fns.where_clause.clone(), view_fns.view_functions.clone()), + Some(view_fns) => { + (view_fns.attr_span, view_fns.where_clause.clone(), view_fns.view_functions.clone()) + }, None => (def.item.span(), def.config.where_clause.clone(), Vec::new()), }; diff --git a/substrate/frame/support/procedural/src/pallet/expand/warnings.rs b/substrate/frame/support/procedural/src/pallet/expand/warnings.rs index 030e3ddaf3232..a4317266fd9ea 100644 --- a/substrate/frame/support/procedural/src/pallet/expand/warnings.rs +++ b/substrate/frame/support/procedural/src/pallet/expand/warnings.rs @@ -31,7 +31,7 @@ pub(crate) fn weight_witness_warning( warnings: &mut Vec, ) { if dev_mode { - return + return; } let CallWeightDef::Immediate(w) = &method.weight else { return }; @@ -42,7 +42,7 @@ pub(crate) fn weight_witness_warning( for (_, arg_ident, _) in method.args.iter() { if !arg_ident.to_string().starts_with('_') || !contains_ident(w.clone(), &arg_ident) { - continue + continue; } let warning = partial_warning @@ -62,7 +62,7 @@ pub(crate) fn weight_constant_warning( warnings: &mut Vec, ) { if dev_mode { - return + return; } let syn::Expr::Lit(lit) = weight else { return }; diff --git a/substrate/frame/support/procedural/src/pallet/mod.rs b/substrate/frame/support/procedural/src/pallet/mod.rs index 42d8272fb23ed..8fca389e354eb 100644 --- a/substrate/frame/support/procedural/src/pallet/mod.rs +++ b/substrate/frame/support/procedural/src/pallet/mod.rs @@ -49,7 +49,7 @@ pub fn pallet( `dev_mode` attribute, such as `#[frame_support::pallet(dev_mode)]` or \ #[pallet(dev_mode)]."; let span = proc_macro2::TokenStream::from(attr).span(); - return syn::Error::new(span, msg).to_compile_error().into() + return syn::Error::new(span, msg).to_compile_error().into(); } } diff --git a/substrate/frame/support/procedural/src/pallet/parse/call.rs b/substrate/frame/support/procedural/src/pallet/parse/call.rs index 851b75e348de9..c23bf7fd6e63e 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/call.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/call.rs @@ -322,7 +322,7 @@ impl CallDef { if call_index.is_some() { let msg = "Invalid pallet::call, too many call_index attributes given"; - return Err(syn::Error::new(method.sig.span(), msg)) + return Err(syn::Error::new(method.sig.span(), msg)); } call_index = Some(idx); @@ -330,7 +330,7 @@ impl CallDef { FunctionAttr::Weight(w) => { if weight.is_some() { let msg = "Invalid pallet::call, too many weight attributes given"; - return Err(syn::Error::new(method.sig.span(), msg)) + return Err(syn::Error::new(method.sig.span(), msg)); } weight = Some(w); }, @@ -338,7 +338,7 @@ impl CallDef { if feeless_check.is_some() { let msg = "Invalid pallet::call, there can only be one feeless_if attribute"; - return Err(syn::Error::new(span, msg)) + return Err(syn::Error::new(span, msg)); } feeless_check = Some(closure); @@ -347,7 +347,7 @@ impl CallDef { if authorize.is_some() { let msg = "Invalid pallet::call, there can only be one authorize attribute"; - return Err(syn::Error::new(method.sig.span(), msg)) + return Err(syn::Error::new(method.sig.span(), msg)); } authorize = Some(expr); @@ -355,7 +355,7 @@ impl CallDef { FunctionAttr::WeightOfAuthorize(expr) => { if weight_of_authorize.is_some() { let msg = "Invalid pallet::call, there can only be one weight_of_authorize attribute"; - return Err(syn::Error::new(method.sig.span(), msg)) + return Err(syn::Error::new(method.sig.span(), msg)); } weight_of_authorize = Some(expr); @@ -365,7 +365,7 @@ impl CallDef { if weight_of_authorize.is_some() && authorize.is_none() { let msg = "Invalid pallet::call, weight_of_authorize attribute must be used with authorize attribute"; - return Err(syn::Error::new(weight_of_authorize.unwrap().span(), msg)) + return Err(syn::Error::new(weight_of_authorize.unwrap().span(), msg)); } let authorize = if let Some(expr) = authorize { @@ -402,11 +402,12 @@ impl CallDef { let final_index = match call_index { Some(i) => i, - None => + None => { last_index.map_or(Some(0), |idx| idx.checked_add(1)).ok_or_else(|| { let msg = "Call index doesn't fit into u8, index is 256"; syn::Error::new(method.sig.span(), msg) - })?, + })? + }, }; last_index = Some(final_index); diff --git a/substrate/frame/support/procedural/src/pallet/parse/composite.rs b/substrate/frame/support/procedural/src/pallet/parse/composite.rs index ff3cbd1d4950c..2ec025966d47a 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/composite.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/composite.rs @@ -111,11 +111,12 @@ impl CompositeDef { // a fixed variant count. for variant in &item.variants { match variant.fields { - syn::Fields::Named(_) | syn::Fields::Unnamed(_) => + syn::Fields::Named(_) | syn::Fields::Unnamed(_) => { return Err(syn::Error::new( variant.ident.span(), "The composite enum does not support variants with fields!", - )), + )) + }, syn::Fields::Unit => (), } } @@ -124,12 +125,12 @@ impl CompositeDef { return Err(syn::Error::new( item.span(), "Invalid pallet::composite_enum, expected enum item", - )) + )); }; if !matches!(item.vis, syn::Visibility::Public(_)) { let msg = format!("Invalid pallet::composite_enum, `{}` must be public", item.ident); - return Err(syn::Error::new(item.span(), msg)) + return Err(syn::Error::new(item.span(), msg)); } let has_instance = if item.generics.params.first().is_some() { diff --git a/substrate/frame/support/procedural/src/pallet/parse/config.rs b/substrate/frame/support/procedural/src/pallet/parse/config.rs index 21c116d067f69..dd2b8e6cb080b 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/config.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/config.rs @@ -307,14 +307,20 @@ fn has_expected_system_config(path: syn::Path, frame_system: &syn::Path) -> bool (true, false) => // We can't use the path to `frame_system` from `frame` if `frame_system` is not being // in scope through `frame`. - return false, + { + return false + }, (false, true) => // We know that the only valid frame_system path is one that is `frame_system`, as // `frame` re-exports it as such. - syn::parse2::(quote::quote!(frame_system)).expect("is a valid path; qed"), + { + syn::parse2::(quote::quote!(frame_system)).expect("is a valid path; qed") + }, (_, _) => // They are either both `frame_system` or both `polkadot_sdk_frame::xyz::frame_system`. - frame_system.clone(), + { + frame_system.clone() + }, }; expected_system_config @@ -336,10 +342,12 @@ pub fn replace_self_by_t(input: proc_macro2::TokenStream) -> proc_macro2::TokenS input .into_iter() .map(|token_tree| match token_tree { - proc_macro2::TokenTree::Group(group) => - proc_macro2::Group::new(group.delimiter(), replace_self_by_t(group.stream())).into(), - proc_macro2::TokenTree::Ident(ident) if ident == "Self" => - proc_macro2::Ident::new("T", ident.span()).into(), + proc_macro2::TokenTree::Group(group) => { + proc_macro2::Group::new(group.delimiter(), replace_self_by_t(group.stream())).into() + }, + proc_macro2::TokenTree::Ident(ident) if ident == "Self" => { + proc_macro2::Ident::new("T", ident.span()).into() + }, other => other, }) .collect() @@ -521,7 +529,7 @@ impl ConfigDef { span, "Invalid #[pallet::include_metadata] for `type RuntimeEvent`. \ The associated type `RuntimeEvent` is already collected in the metadata.", - )) + )); } if already_constant { @@ -529,7 +537,7 @@ impl ConfigDef { span, "Invalid #[pallet::include_metadata]: conflict with #[pallet::constant]. \ Pallet constant already collect the metadata for the type.", - )) + )); } if let syn::TraitItem::Type(ref ty) = trait_item { diff --git a/substrate/frame/support/procedural/src/pallet/parse/error.rs b/substrate/frame/support/procedural/src/pallet/parse/error.rs index e725ac1ecec8f..81bb8c88f21e0 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/error.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/error.rs @@ -67,11 +67,11 @@ impl ErrorDef { let item = if let syn::Item::Enum(item) = item { item } else { - return Err(syn::Error::new(item.span(), "Invalid pallet::error, expected item enum")) + return Err(syn::Error::new(item.span(), "Invalid pallet::error, expected item enum")); }; if !matches!(item.vis, syn::Visibility::Public(_)) { let msg = "Invalid pallet::error, `Error` must be public"; - return Err(syn::Error::new(item.span(), msg)) + return Err(syn::Error::new(item.span(), msg)); } crate::deprecation::prevent_deprecation_attr_on_outer_enum(&item.attrs)?; @@ -81,7 +81,7 @@ impl ErrorDef { if item.generics.where_clause.is_some() { let msg = "Invalid pallet::error, where clause is not allowed on pallet error item"; - return Err(syn::Error::new(item.generics.where_clause.as_ref().unwrap().span(), msg)) + return Err(syn::Error::new(item.generics.where_clause.as_ref().unwrap().span(), msg)); } let error = syn::parse2::(item.ident.to_token_stream())?; @@ -101,7 +101,7 @@ impl ErrorDef { Some((_, syn::Expr::Lit(syn::ExprLit { lit: syn::Lit::Int(_), .. }))) => {}, Some((_, expr)) => { let msg = "Invalid pallet::error, only integer discriminants are supported"; - return Err(syn::Error::new(expr.span(), msg)) + return Err(syn::Error::new(expr.span(), msg)); }, } let cfg_attrs: Vec = helper::get_item_cfg_attrs(&variant.attrs); diff --git a/substrate/frame/support/procedural/src/pallet/parse/event.rs b/substrate/frame/support/procedural/src/pallet/parse/event.rs index 673adbf3be872..1516953a9eed0 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/event.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/event.rs @@ -87,7 +87,7 @@ impl PalletEventAttrInfo { if deposit_event.is_none() { deposit_event = Some(attr) } else { - return Err(syn::Error::new(attr.span, "Duplicate attribute")) + return Err(syn::Error::new(attr.span, "Duplicate attribute")); } } @@ -104,7 +104,7 @@ impl EventDef { let item = if let syn::Item::Enum(item) = item { item } else { - return Err(syn::Error::new(item.span(), "Invalid pallet::event, expected enum item")) + return Err(syn::Error::new(item.span(), "Invalid pallet::event, expected enum item")); }; crate::deprecation::prevent_deprecation_attr_on_outer_enum(&item.attrs)?; @@ -116,7 +116,7 @@ impl EventDef { if !matches!(item.vis, syn::Visibility::Public(_)) { let msg = "Invalid pallet::event, `Event` must be public"; - return Err(syn::Error::new(item.span(), msg)) + return Err(syn::Error::new(item.span(), msg)); } let where_clause = item.generics.where_clause.clone(); diff --git a/substrate/frame/support/procedural/src/pallet/parse/genesis_build.rs b/substrate/frame/support/procedural/src/pallet/parse/genesis_build.rs index bc925a21c9c8e..c382789ca41b1 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/genesis_build.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/genesis_build.rs @@ -34,7 +34,7 @@ impl GenesisBuildDef { item } else { let msg = "Invalid pallet::genesis_build, expected item impl"; - return Err(syn::Error::new(item.span(), msg)) + return Err(syn::Error::new(item.span(), msg)); }; let item_trait = &item diff --git a/substrate/frame/support/procedural/src/pallet/parse/genesis_config.rs b/substrate/frame/support/procedural/src/pallet/parse/genesis_config.rs index 62da6ba13b3be..89cdf474dd15f 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/genesis_config.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/genesis_config.rs @@ -42,7 +42,7 @@ impl GenesisConfigDef { syn::Item::Struct(item) => (&item.vis, &item.ident, &item.generics), _ => { let msg = "Invalid pallet::genesis_config, expected enum or struct"; - return Err(syn::Error::new(item.span(), msg)) + return Err(syn::Error::new(item.span(), msg)); }, }; @@ -60,12 +60,12 @@ impl GenesisConfigDef { if !matches!(vis, syn::Visibility::Public(_)) { let msg = "Invalid pallet::genesis_config, GenesisConfig must be public"; - return Err(syn::Error::new(item_span, msg)) + return Err(syn::Error::new(item_span, msg)); } if ident != "GenesisConfig" { let msg = "Invalid pallet::genesis_config, ident must `GenesisConfig`"; - return Err(syn::Error::new(ident.span(), msg)) + return Err(syn::Error::new(ident.span(), msg)); } Ok(GenesisConfigDef { index, genesis_config: ident.clone(), instances, gen_kind }) diff --git a/substrate/frame/support/procedural/src/pallet/parse/helper.rs b/substrate/frame/support/procedural/src/pallet/parse/helper.rs index d5ae607d90f9c..4001a811a840e 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/helper.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/helper.rs @@ -60,7 +60,7 @@ where let Some(index) = attrs.iter().position(|attr| { attr.path().segments.first().map_or(false, |segment| segment.ident == "pallet") }) else { - return Ok(None) + return Ok(None); }; let pallet_attr = attrs.remove(index); @@ -162,7 +162,7 @@ impl syn::parse::Parse for Unit { syn::parenthesized!(content in input); if !content.is_empty() { let msg = "unexpected tokens, expected nothing inside parenthesis as `()`"; - return Err(syn::Error::new(content.span(), msg)) + return Err(syn::Error::new(content.span(), msg)); } Ok(Self) } @@ -175,7 +175,7 @@ impl syn::parse::Parse for StaticLifetime { let lifetime = input.parse::()?; if lifetime.ident != "static" { let msg = "unexpected tokens, expected `static`"; - return Err(syn::Error::new(lifetime.ident.span(), msg)) + return Err(syn::Error::new(lifetime.ident.span(), msg)); } Ok(Self) } @@ -273,7 +273,7 @@ pub fn check_type_def_optional_gen( impl syn::parse::Parse for Checker { fn parse(input: syn::parse::ParseStream) -> syn::Result { if input.is_empty() { - return Ok(Self(None)) + return Ok(Self(None)); } let mut instance_usage = InstanceUsage { span: input.span(), has_instance: false }; @@ -281,7 +281,7 @@ pub fn check_type_def_optional_gen( input.parse::()?; if input.is_empty() { - return Ok(Self(Some(instance_usage))) + return Ok(Self(Some(instance_usage))); } let lookahead = input.lookahead1(); @@ -298,7 +298,7 @@ pub fn check_type_def_optional_gen( input.parse::()?; if input.is_empty() { - return Ok(Self(Some(instance_usage))) + return Ok(Self(Some(instance_usage))); } instance_usage.has_instance = true; @@ -440,7 +440,7 @@ pub fn check_type_def_gen( input.parse::()?; if input.is_empty() { - return Ok(Self(instance_usage)) + return Ok(Self(instance_usage)); } let lookahead = input.lookahead1(); @@ -457,7 +457,7 @@ pub fn check_type_def_gen( input.parse::()?; if input.is_empty() { - return Ok(Self(instance_usage)) + return Ok(Self(instance_usage)); } instance_usage.has_instance = true; @@ -517,10 +517,10 @@ pub fn check_genesis_builder_usage(type_: &syn::Path) -> syn::Result()?; } input.parse::]>()?; - return Ok(Self(Some(instance_usage))) + return Ok(Self(Some(instance_usage))); } else { input.parse::()?; - return Ok(Self(None)) + return Ok(Self(None)); } } } @@ -554,7 +554,7 @@ pub fn check_type_value_gen( impl syn::parse::Parse for Checker { fn parse(input: syn::parse::ParseStream) -> syn::Result { if input.is_empty() { - return Ok(Self(None)) + return Ok(Self(None)); } input.parse::()?; @@ -564,7 +564,7 @@ pub fn check_type_value_gen( let mut instance_usage = InstanceUsage { span: input.span(), has_instance: false }; if input.is_empty() { - return Ok(Self(Some(instance_usage))) + return Ok(Self(Some(instance_usage))); } instance_usage.has_instance = true; @@ -609,7 +609,7 @@ pub fn check_pallet_call_return_type(sig: &syn::Signature) -> syn::Result + (Some(_), None) => { return Err(syn::Error::new( *item_span, "Missing `#[pallet::tasks_experimental]` impl", - )), - (None, Some(tasks)) => + )) + }, + (None, Some(tasks)) => { if tasks.tasks_attr.is_none() { return Err(syn::Error::new( tasks.item_impl.impl_token.span(), @@ -298,7 +299,8 @@ impl Def { task enum has been omitted", )); } else { - }, + } + }, _ => (), } diff --git a/substrate/frame/support/procedural/src/pallet/parse/origin.rs b/substrate/frame/support/procedural/src/pallet/parse/origin.rs index 11311b3d5033c..d6ff349eafdb3 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/origin.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/origin.rs @@ -39,7 +39,7 @@ impl OriginDef { syn::Item::Type(item) => (&item.vis, &item.ident, &item.generics), _ => { let msg = "Invalid pallet::origin, expected enum or struct or type"; - return Err(syn::Error::new(item.span(), msg)) + return Err(syn::Error::new(item.span(), msg)); }, }; @@ -55,12 +55,12 @@ impl OriginDef { if !matches!(vis, syn::Visibility::Public(_)) { let msg = "Invalid pallet::origin, Origin must be public"; - return Err(syn::Error::new(item_span, msg)) + return Err(syn::Error::new(item_span, msg)); } if ident != "Origin" { let msg = "Invalid pallet::origin, ident must `Origin`"; - return Err(syn::Error::new(ident.span(), msg)) + return Err(syn::Error::new(ident.span(), msg)); } Ok(OriginDef { is_generic, instances }) diff --git a/substrate/frame/support/procedural/src/pallet/parse/pallet_struct.rs b/substrate/frame/support/procedural/src/pallet/parse/pallet_struct.rs index b645760998fe1..1285d58072bf8 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/pallet_struct.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/pallet_struct.rs @@ -96,7 +96,7 @@ impl PalletStructDef { item } else { let msg = "Invalid pallet::pallet, expected struct definition"; - return Err(syn::Error::new(item.span(), msg)) + return Err(syn::Error::new(item.span(), msg)); }; let mut without_storage_info = None; @@ -117,7 +117,7 @@ impl PalletStructDef { }, attr => { let msg = "Unexpected duplicated attribute"; - return Err(syn::Error::new(attr.span(), msg)) + return Err(syn::Error::new(attr.span(), msg)); }, } } @@ -126,12 +126,12 @@ impl PalletStructDef { if !matches!(item.vis, syn::Visibility::Public(_)) { let msg = "Invalid pallet::pallet, Pallet must be public"; - return Err(syn::Error::new(item.span(), msg)) + return Err(syn::Error::new(item.span(), msg)); } if item.generics.where_clause.is_some() { let msg = "Invalid pallet::pallet, where clause not supported on Pallet declaration"; - return Err(syn::Error::new(item.generics.where_clause.span(), msg)) + return Err(syn::Error::new(item.generics.where_clause.span(), msg)); } let instances = diff --git a/substrate/frame/support/procedural/src/pallet/parse/storage.rs b/substrate/frame/support/procedural/src/pallet/parse/storage.rs index 352f691151bef..ec2282a2bd73a 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/storage.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/storage.rs @@ -124,17 +124,20 @@ impl PalletStorageAttrInfo { for attr in attrs { match attr { PalletStorageAttr::Getter(ident, ..) if getter.is_none() => getter = Some(ident), - PalletStorageAttr::StorageName(name, ..) if rename_as.is_none() => - rename_as = Some(name), + PalletStorageAttr::StorageName(name, ..) if rename_as.is_none() => { + rename_as = Some(name) + }, PalletStorageAttr::Unbounded(..) if !unbounded => unbounded = true, PalletStorageAttr::WhitelistStorage(..) if !whitelisted => whitelisted = true, - PalletStorageAttr::DisableTryDecodeStorage(..) if !disable_try_decode_storage => - disable_try_decode_storage = true, - attr => + PalletStorageAttr::DisableTryDecodeStorage(..) if !disable_try_decode_storage => { + disable_try_decode_storage = true + }, + attr => { return Err(syn::Error::new( attr.attr_span(), "Invalid attribute: Duplicate attribute", - )), + )) + }, } } @@ -269,10 +272,12 @@ impl StorageGenerics { Self::Map { value, key, .. } => Metadata::Map { value, key }, Self::CountedMap { value, key, .. } => Metadata::CountedMap { value, key }, Self::Value { value, .. } => Metadata::Value { value }, - Self::NMap { keygen, value, .. } => - Metadata::NMap { keys: collect_keys(&keygen)?, keygen, value }, - Self::CountedNMap { keygen, value, .. } => - Metadata::CountedNMap { keys: collect_keys(&keygen)?, keygen, value }, + Self::NMap { keygen, value, .. } => { + Metadata::NMap { keys: collect_keys(&keygen)?, keygen, value } + }, + Self::CountedNMap { keygen, value, .. } => { + Metadata::CountedNMap { keys: collect_keys(&keygen)?, keygen, value } + }, }; Ok(res) @@ -600,8 +605,9 @@ fn process_unnamed_generics( }; let res = match storage { - StorageKind::Value => - (None, Metadata::Value { value: retrieve_arg(1)? }, retrieve_arg(2).ok(), false), + StorageKind::Value => { + (None, Metadata::Value { value: retrieve_arg(1)? }, retrieve_arg(2).ok(), false) + }, StorageKind::Map => ( None, Metadata::Map { key: retrieve_arg(2)?, value: retrieve_arg(3)? }, @@ -837,16 +843,22 @@ impl StorageDef { .segments .last() .map_or(false, |s| s.ident == "OptionQuery") => - return Ok(Some(QueryKind::OptionQuery)), + { + return Ok(Some(QueryKind::OptionQuery)) + }, Type::Path(TypePath { path: Path { segments, .. }, .. }) if segments.last().map_or(false, |s| s.ident == "ResultQuery") => + { segments .last() .expect("segments is checked to have the last value; qed") - .clone(), + .clone() + }, Type::Path(path) if path.path.segments.last().map_or(false, |s| s.ident == "ValueQuery") => - return Ok(Some(QueryKind::ValueQuery)), + { + return Ok(Some(QueryKind::ValueQuery)) + }, _ => return Ok(None), }; diff --git a/substrate/frame/support/procedural/src/pallet/parse/tasks.rs b/substrate/frame/support/procedural/src/pallet/parse/tasks.rs index 5bff64643df12..127bd8ced6071 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/tasks.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/tasks.rs @@ -73,7 +73,7 @@ impl syn::parse::Parse for TasksDef { return Err(Error::new( extra_tasks_attr.span(), "unexpected extra `#[pallet::tasks_experimental]` attribute", - )) + )); } let tasks: Vec = if tasks_attr.is_some() { item_impl @@ -93,7 +93,7 @@ impl syn::parse::Parse for TasksDef { return Err(Error::new( task_index.span(), format!("duplicate task index `{}`", task_index), - )) + )); } } let mut item_impl = item_impl; @@ -107,7 +107,7 @@ impl syn::parse::Parse for TasksDef { enum_path.span(), "if specified manually, the task enum must be defined locally in this \ pallet and cannot be a re-export", - )) + )); }; let enum_ident = last_seg.ident.clone(); let enum_arguments = last_seg.arguments.clone(); @@ -194,7 +194,7 @@ impl syn::parse::Parse for TaskDef { return Err(Error::new( item.sig.ident.span(), "missing `#[pallet::task_index(..)]` attribute", - )) + )); }; let Some(condition_attr) = task_attrs @@ -205,7 +205,7 @@ impl syn::parse::Parse for TaskDef { return Err(Error::new( item.sig.ident.span(), "missing `#[pallet::task_condition(..)]` attribute", - )) + )); }; let Some(list_attr) = task_attrs @@ -216,7 +216,7 @@ impl syn::parse::Parse for TaskDef { return Err(Error::new( item.sig.ident.span(), "missing `#[pallet::task_list(..)]` attribute", - )) + )); }; let Some(weight_attr) = task_attrs @@ -227,7 +227,7 @@ impl syn::parse::Parse for TaskDef { return Err(Error::new( item.sig.ident.span(), "missing `#[pallet::task_weight(..)]` attribute", - )) + )); }; if let Some(duplicate) = task_attrs @@ -239,7 +239,7 @@ impl syn::parse::Parse for TaskDef { return Err(Error::new( duplicate.span(), "unexpected extra `#[pallet::task_condition(..)]` attribute", - )) + )); } if let Some(duplicate) = task_attrs @@ -251,7 +251,7 @@ impl syn::parse::Parse for TaskDef { return Err(Error::new( duplicate.span(), "unexpected extra `#[pallet::task_list(..)]` attribute", - )) + )); } if let Some(duplicate) = task_attrs @@ -263,7 +263,7 @@ impl syn::parse::Parse for TaskDef { return Err(Error::new( duplicate.span(), "unexpected extra `#[pallet::task_index(..)]` attribute", - )) + )); } let mut arg_names = vec![]; @@ -415,11 +415,12 @@ impl TryFrom> for TaskIndexAttr { let colons = value.colons; match value.meta { TaskAttrMeta::TaskIndex(meta) => parse2(quote!(#pound[#pallet #colons #meta])), - _ => + _ => { return Err(Error::new( value.span(), format!("`{:?}` cannot be converted to a `TaskIndexAttr`", value.meta), - )), + )) + }, } } } @@ -433,11 +434,12 @@ impl TryFrom> for TaskConditionAttr { let colons = value.colons; match value.meta { TaskAttrMeta::TaskCondition(meta) => parse2(quote!(#pound[#pallet #colons #meta])), - _ => + _ => { return Err(Error::new( value.span(), format!("`{:?}` cannot be converted to a `TaskConditionAttr`", value.meta), - )), + )) + }, } } } @@ -451,11 +453,12 @@ impl TryFrom> for TaskWeightAttr { let colons = value.colons; match value.meta { TaskAttrMeta::TaskWeight(meta) => parse2(quote!(#pound[#pallet #colons #meta])), - _ => + _ => { return Err(Error::new( value.span(), format!("`{:?}` cannot be converted to a `TaskWeightAttr`", value.meta), - )), + )) + }, } } } @@ -469,11 +472,12 @@ impl TryFrom> for TaskListAttr { let colons = value.colons; match value.meta { TaskAttrMeta::TaskList(meta) => parse2(quote!(#pound[#pallet #colons #meta])), - _ => + _ => { return Err(Error::new( value.span(), format!("`{:?}` cannot be converted to a `TaskListAttr`", value.meta), - )), + )) + }, } } } @@ -492,10 +496,10 @@ fn extract_pallet_attr(item_enum: &mut ItemEnum) -> Result> .map(|seg| seg.ident.clone()) .collect::>(); let (Some(seg1), Some(_), None) = (segs.get(0), segs.get(1), segs.get(2)) else { - return true + return true; }; if seg1 != "pallet" { - return true + return true; } if attr.is_some() { duplicate = Some(found_attr.span()); @@ -506,7 +510,10 @@ fn extract_pallet_attr(item_enum: &mut ItemEnum) -> Result> .cloned() .collect(); if let Some(span) = duplicate { - return Err(Error::new(span, "only one `#[pallet::_]` attribute is supported on this item")) + return Err(Error::new( + span, + "only one `#[pallet::_]` attribute is supported on this item", + )); } Ok(attr) } @@ -517,7 +524,7 @@ fn partition_tasks_attrs(item_impl: &ItemImpl) -> (Vec, Vec (Vec, Vec type_, syn::ReturnType::Default => { let msg = "Invalid pallet::type_value, expected return type"; - return Err(syn::Error::new(item.sig.span(), msg)) + return Err(syn::Error::new(item.sig.span(), msg)); }, }; diff --git a/substrate/frame/support/procedural/src/pallet/parse/validate_unsigned.rs b/substrate/frame/support/procedural/src/pallet/parse/validate_unsigned.rs index 038db0d325813..9f59d26aac82d 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/validate_unsigned.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/validate_unsigned.rs @@ -27,24 +27,24 @@ impl ValidateUnsignedDef { item } else { let msg = "Invalid pallet::validate_unsigned, expected item impl"; - return Err(syn::Error::new(item.span(), msg)) + return Err(syn::Error::new(item.span(), msg)); }; if item.trait_.is_none() { let msg = "Invalid pallet::validate_unsigned, expected impl<..> ValidateUnsigned for \ Pallet<..>"; - return Err(syn::Error::new(item.span(), msg)) + return Err(syn::Error::new(item.span(), msg)); } if let Some(last) = item.trait_.as_ref().unwrap().1.segments.last() { if last.ident != "ValidateUnsigned" { let msg = "Invalid pallet::validate_unsigned, expected trait ValidateUnsigned"; - return Err(syn::Error::new(last.span(), msg)) + return Err(syn::Error::new(last.span(), msg)); } } else { let msg = "Invalid pallet::validate_unsigned, expected impl<..> ValidateUnsigned for \ Pallet<..>"; - return Err(syn::Error::new(item.span(), msg)) + return Err(syn::Error::new(item.span(), msg)); } helper::check_pallet_struct_usage(&item.self_ty)?; diff --git a/substrate/frame/support/procedural/src/pallet/parse/view_functions.rs b/substrate/frame/support/procedural/src/pallet/parse/view_functions.rs index bc6563a7c5128..9a06b11013d39 100644 --- a/substrate/frame/support/procedural/src/pallet/parse/view_functions.rs +++ b/substrate/frame/support/procedural/src/pallet/parse/view_functions.rs @@ -35,7 +35,7 @@ impl ViewFunctionsImplDef { return Err(syn::Error::new( item.span(), "Invalid pallet::view_functions, expected item impl", - )) + )); }; let mut view_functions = Vec::new(); for item in &mut item_impl.items { @@ -49,7 +49,7 @@ impl ViewFunctionsImplDef { _ => method.vis.span(), }; - return Err(syn::Error::new(span, msg)) + return Err(syn::Error::new(span, msg)); } let view_fn_def = ViewFunctionDef::try_from(method.clone())?; @@ -58,7 +58,7 @@ impl ViewFunctionsImplDef { return Err(syn::Error::new( item.span(), "Invalid pallet::view_functions, expected a function", - )) + )); } } Ok(Self { @@ -82,7 +82,7 @@ impl TryFrom for ViewFunctionDef { type Error = syn::Error; fn try_from(method: syn::ImplItemFn) -> Result { let syn::ReturnType::Type(_, type_) = method.sig.output else { - return Err(syn::Error::new(method.sig.span(), "view functions must return a value")) + return Err(syn::Error::new(method.sig.span(), "view functions must return a value")); }; Ok(Self { diff --git a/substrate/frame/support/procedural/src/pallet_error.rs b/substrate/frame/support/procedural/src/pallet_error.rs index 73689fa818d6b..56df10efa815f 100644 --- a/substrate/frame/support/procedural/src/pallet_error.rs +++ b/substrate/frame/support/procedural/src/pallet_error.rs @@ -93,7 +93,7 @@ pub fn derive_pallet_error(input: proc_macro::TokenStream) -> proc_macro::TokenS }, syn::Data::Union(syn::DataUnion { union_token, .. }) => { let msg = "Cannot derive `PalletError` for union; please implement it directly"; - return syn::Error::new(union_token.span, msg).into_compile_error().into() + return syn::Error::new(union_token.span, msg).into_compile_error().into(); }, }; @@ -134,7 +134,7 @@ fn generate_field_types( })?; if let Some(v) = res { - return Ok(v) + return Ok(v); } } } @@ -160,7 +160,7 @@ fn generate_variant_field_types( }); if skip { - return Ok(None) + return Ok(None); } } } diff --git a/substrate/frame/support/procedural/src/runtime/expand/mod.rs b/substrate/frame/support/procedural/src/runtime/expand/mod.rs index 0733ebf21301a..d320d11ed4678 100644 --- a/substrate/frame/support/procedural/src/runtime/expand/mod.rs +++ b/substrate/frame/support/procedural/src/runtime/expand/mod.rs @@ -146,7 +146,7 @@ fn construct_runtime_final_expansion( return Err(syn::Error::new( system_pallet.name.span(), "`System` pallet declaration is feature gated, please remove any `#[cfg]` attributes", - )) + )); } let features = pallets diff --git a/substrate/frame/support/procedural/src/runtime/mod.rs b/substrate/frame/support/procedural/src/runtime/mod.rs index 1d4242cd122eb..ef94e86184605 100644 --- a/substrate/frame/support/procedural/src/runtime/mod.rs +++ b/substrate/frame/support/procedural/src/runtime/mod.rs @@ -222,7 +222,7 @@ pub fn runtime(attr: TokenStream, tokens: TokenStream) -> TokenStream { `legacy_ordering` attribute, such as `#[frame_support::runtime(legacy_ordering)]` or \ #[runtime(legacy_ordering)]."; let span = proc_macro2::TokenStream::from(attr).span(); - return syn::Error::new(span, msg).to_compile_error().into() + return syn::Error::new(span, msg).to_compile_error().into(); } } diff --git a/substrate/frame/support/procedural/src/runtime/parse/runtime_struct.rs b/substrate/frame/support/procedural/src/runtime/parse/runtime_struct.rs index 33c845ee946b5..de2db8cade42a 100644 --- a/substrate/frame/support/procedural/src/runtime/parse/runtime_struct.rs +++ b/substrate/frame/support/procedural/src/runtime/parse/runtime_struct.rs @@ -26,7 +26,7 @@ impl RuntimeStructDef { item } else { let msg = "Invalid runtime::runtime, expected struct definition"; - return Err(syn::Error::new(item.span(), msg)) + return Err(syn::Error::new(item.span(), msg)); }; Ok(Self { ident: item.ident.clone() }) diff --git a/substrate/frame/support/procedural/src/storage_alias.rs b/substrate/frame/support/procedural/src/storage_alias.rs index 06f62768ff80f..8e423d1646849 100644 --- a/substrate/frame/support/procedural/src/storage_alias.rs +++ b/substrate/frame/support/procedural/src/storage_alias.rs @@ -422,7 +422,7 @@ impl Parse for Input { } else if lookahead.peek(Token![=]) { None } else { - return Err(lookahead.error()) + return Err(lookahead.error()); }; let lookahead = input.lookahead1(); @@ -431,7 +431,7 @@ impl Parse for Input { } else if lookahead.peek(Token![=]) { None } else { - return Err(lookahead.error()) + return Err(lookahead.error()); }; let _equal = input.parse()?; @@ -486,7 +486,7 @@ pub fn storage_alias(attributes: TokenStream, input: TokenStream) -> Result(attributes.clone()).is_ok() { PrefixType::Dynamic } else { - return Err(Error::new(attributes.span(), "Unknown attributes")) + return Err(Error::new(attributes.span(), "Unknown attributes")); }; let storage_instance = generate_storage_instance( @@ -537,7 +537,7 @@ fn generate_storage_instance( prefix_type: PrefixType, ) -> Result { if let Type::Infer(_) = prefix { - return Err(Error::new(prefix.span(), "`_` is not allowed as prefix by `storage_alias`.")) + return Err(Error::new(prefix.span(), "`_` is not allowed as prefix by `storage_alias`.")); } let impl_generics_used_by_prefix = storage_generics @@ -550,7 +550,7 @@ fn generate_storage_instance( .unwrap_or_default(); let (pallet_prefix, impl_generics, type_generics) = match prefix_type { - PrefixType::Compatibility => + PrefixType::Compatibility => { if !impl_generics_used_by_prefix.is_empty() { let type_generics = impl_generics_used_by_prefix.iter().map(|g| &g.ident); let impl_generics = impl_generics_used_by_prefix.iter(); @@ -570,16 +570,18 @@ fn generate_storage_instance( return Err(Error::new_spanned( prefix, "If there are no generics, the prefix is only allowed to be an identifier.", - )) - }, + )); + } + }, PrefixType::Verbatim => { let prefix_str = match prefix.get_ident() { Some(p) => p.to_string(), - None => + None => { return Err(Error::new_spanned( prefix, "Prefix type `verbatim` requires that the prefix is an ident.", - )), + )) + }, }; (quote!(#prefix_str), quote!(), quote!()) diff --git a/substrate/frame/support/procedural/tools/src/syn_ext.rs b/substrate/frame/support/procedural/tools/src/syn_ext.rs index 833cd17dfacb4..de0a51d8353c1 100644 --- a/substrate/frame/support/procedural/tools/src/syn_ext.rs +++ b/substrate/frame/support/procedural/tools/src/syn_ext.rs @@ -171,7 +171,7 @@ pub fn extract_type_option(typ: &syn::Type) -> Option { // Option has only one type argument in angle bracket. if let syn::PathArguments::AngleBracketed(a) = &v.arguments { if let syn::GenericArgument::Type(typ) = a.args.last()? { - return Some(typ.clone()) + return Some(typ.clone()); } } } diff --git a/substrate/frame/support/src/dispatch.rs b/substrate/frame/support/src/dispatch.rs index 654e2481aacfa..e0febaa21ec07 100644 --- a/substrate/frame/support/src/dispatch.rs +++ b/substrate/frame/support/src/dispatch.rs @@ -524,7 +524,7 @@ pub trait WeighData { impl WeighData for Weight { fn weigh_data(&self, _: T) -> Weight { - return *self + return *self; } } @@ -536,13 +536,13 @@ impl PaysFee for (Weight, DispatchClass, Pays) { impl WeighData for (Weight, DispatchClass) { fn weigh_data(&self, args: T) -> Weight { - return self.0.weigh_data(args) + return self.0.weigh_data(args); } } impl WeighData for (Weight, DispatchClass, Pays) { fn weigh_data(&self, args: T) -> Weight { - return self.0.weigh_data(args) + return self.0.weigh_data(args); } } @@ -560,7 +560,7 @@ impl PaysFee for (Weight, DispatchClass) { impl WeighData for (Weight, Pays) { fn weigh_data(&self, args: T) -> Weight { - return self.0.weigh_data(args) + return self.0.weigh_data(args); } } @@ -645,13 +645,13 @@ impl PaysFee for u64 { impl WeighData for u64 { fn weigh_data(&self, _: T) -> Weight { - return Weight::from_parts(*self, 0) + return Weight::from_parts(*self, 0); } } impl WeighData for (u64, DispatchClass, Pays) { fn weigh_data(&self, args: T) -> Weight { - return self.0.weigh_data(args) + return self.0.weigh_data(args); } } @@ -669,7 +669,7 @@ impl PaysFee for (u64, DispatchClass, Pays) { impl WeighData for (u64, DispatchClass) { fn weigh_data(&self, args: T) -> Weight { - return self.0.weigh_data(args) + return self.0.weigh_data(args); } } @@ -687,7 +687,7 @@ impl PaysFee for (u64, DispatchClass) { impl WeighData for (u64, Pays) { fn weigh_data(&self, args: T) -> Weight { - return self.0.weigh_data(args) + return self.0.weigh_data(args); } } diff --git a/substrate/frame/support/src/dispatch_context.rs b/substrate/frame/support/src/dispatch_context.rs index 42776e71cb883..3f36b48dde64d 100644 --- a/substrate/frame/support/src/dispatch_context.rs +++ b/substrate/frame/support/src/dispatch_context.rs @@ -123,7 +123,7 @@ impl Value<'_, T> { T: Default, { if let Some(v) = &mut self.value { - return v + return v; } self.new_value.get_or_insert_with(|| Default::default()) diff --git a/substrate/frame/support/src/hash.rs b/substrate/frame/support/src/hash.rs index a09890560c644..6445237b49f60 100644 --- a/substrate/frame/support/src/hash.rs +++ b/substrate/frame/support/src/hash.rs @@ -111,7 +111,7 @@ impl ReversibleStorageHasher for Twox64Concat { fn reverse(x: &[u8]) -> &[u8] { if x.len() < 8 { log::error!("Invalid reverse: hash length too short"); - return &[] + return &[]; } &x[8..] } @@ -133,7 +133,7 @@ impl ReversibleStorageHasher for Blake2_128Concat { fn reverse(x: &[u8]) -> &[u8] { if x.len() < 16 { log::error!("Invalid reverse: hash length too short"); - return &[] + return &[]; } &x[16..] } diff --git a/substrate/frame/support/src/lib.rs b/substrate/frame/support/src/lib.rs index b26e94e36b58c..d017a9402a89c 100644 --- a/substrate/frame/support/src/lib.rs +++ b/substrate/frame/support/src/lib.rs @@ -22,7 +22,6 @@ //! Many of the traits defined in [`traits`] have auto-implementations on tuples as well. Usually, //! the tuple is a function of number of pallets in the runtime. By default, the traits are //! implemented for tuples of up to 64 items. -// // If you have more pallets in your runtime, or for any other reason need more, enabled `tuples-96` // or the `tuples-128` complication flag. Note that these features *will increase* the compilation // of this crate. @@ -173,7 +172,6 @@ impl TypeId for PalletId { /// 1. Use the `verbatim` prefix type. This prefix type uses the given identifier as the /// `prefix`: #[doc = docify::embed!("src/tests/storage_alias.rs", verbatim_attribute)] -/// /// 2. Use the `pallet_name` prefix type. This prefix type uses the name of the pallet as /// configured in [`construct_runtime!`] as the `prefix`: #[doc = docify::embed!("src/tests/storage_alias.rs", pallet_name_attribute)] diff --git a/substrate/frame/support/src/migrations.rs b/substrate/frame/support/src/migrations.rs index f0af12638ce99..e52b050138a60 100644 --- a/substrate/frame/support/src/migrations.rs +++ b/substrate/frame/support/src/migrations.rs @@ -182,8 +182,9 @@ impl< match ::decode_all(&mut &versioned_post_upgrade_data_bytes[..]) .map_err(|_| "VersionedMigration post_upgrade failed to decode PreUpgradeData")? { - VersionedPostUpgradeData::MigrationExecuted(inner_bytes) => - Inner::post_upgrade(inner_bytes), + VersionedPostUpgradeData::MigrationExecuted(inner_bytes) => { + Inner::post_upgrade(inner_bytes) + }, VersionedPostUpgradeData::Noop => Ok(()), } } @@ -358,7 +359,7 @@ impl, DbWeight: Get> frame_support::traits match contains_prefixed_key(&hashed_prefix) { true => { log::error!("{} has keys remaining post-removal ❗", P::get()); - return Err("Keys remaining post-removal, this should never happen 🚨".into()) + return Err("Keys remaining post-removal, this should never happen 🚨".into()); }, false => log::info!("No {} keys found post-removal πŸŽ‰", P::get()), }; @@ -466,7 +467,7 @@ impl, S: Get<&'static str>, DbWeight: Get> match contains_prefixed_key(&hashed_prefix) { true => { log::error!("`{}` `{}` has keys remaining post-removal ❗", P::get(), S::get()); - return Err("Keys remaining post-removal, this should never happen 🚨".into()) + return Err("Keys remaining post-removal, this should never happen 🚨".into()); }, false => log::info!("No `{}` `{}` keys found post-removal πŸŽ‰", P::get(), S::get()), }; @@ -496,6 +497,16 @@ pub trait SteppedMigration { None } + /// Returns the prefixes of the keys to be migrated or `None` if the migration does not know. + /// + /// This function is optional and provides information to the migration framework + /// to know which storage prefixes are being migrated. It can be helpful to let + /// chain explorers know which part of the state is possibly in a state where it + /// cannot be read correctly. + fn migrating_prefixes() -> Option>> { + None::> + } + /// Try to migrate as much as possible with the given weight. /// /// **ANY STORAGE CHANGES MUST BE ROLLED-BACK BY THE CALLER UPON ERROR.** This is necessary @@ -543,7 +554,7 @@ pub trait SteppedMigration { } /// Error that can occur during a [`SteppedMigration`]. -#[derive(Debug, Encode, Decode, MaxEncodedLen, scale_info::TypeInfo)] +#[derive(Debug, Encode, Decode, MaxEncodedLen, PartialEq, Eq, scale_info::TypeInfo)] pub enum SteppedMigrationError { // Transient errors: /// The remaining weight is not enough to do anything. @@ -711,6 +722,11 @@ pub trait SteppedMigrations { meter: &mut WeightMeter, ) -> Option>, SteppedMigrationError>>; + /// Get the storage prefixes modified by the `n`th migration. + /// + /// Returns `None` if the index is out of bounds. + fn nth_migrating_prefixes(n: u32) -> Option>>>; + /// Call the pre-upgrade hooks of the `n`th migration. /// /// Returns `None` if the index is out of bounds. @@ -787,6 +803,10 @@ impl SteppedMigrations for () { None } + fn nth_migrating_prefixes(_n: u32) -> Option>>> { + None + } + #[cfg(feature = "try-runtime")] fn nth_pre_upgrade(_n: u32) -> Option, sp_runtime::TryRuntimeError>> { Some(Ok(Vec::new())) @@ -814,7 +834,7 @@ impl SteppedMigrations for T { fn len() -> u32 { 1 } - + // It should be generally fine to call with n>0, but the code should not attempt to. fn nth_id(n: u32) -> Option> { n.is_zero() .then(|| T::id().encode()) @@ -822,7 +842,6 @@ impl SteppedMigrations for T { } fn nth_max_steps(n: u32) -> Option> { - // It should be generally fine to call with n>0, but the code should not attempt to. n.is_zero() .then(|| T::max_steps()) .defensive_proof("nth_max_steps should only be called with n==0") @@ -835,7 +854,7 @@ impl SteppedMigrations for T { ) -> Option>, SteppedMigrationError>> { if !n.is_zero() { defensive!("nth_step should only be called with n==0"); - return None + return None; } let cursor = match cursor { @@ -856,7 +875,7 @@ impl SteppedMigrations for T { ) -> Option>, SteppedMigrationError>> { if n != 0 { defensive!("nth_transactional_step should only be called with n==0"); - return None + return None; } let cursor = match cursor { @@ -872,6 +891,12 @@ impl SteppedMigrations for T { ) } + fn nth_migrating_prefixes(n: u32) -> Option>>> { + n.is_zero() + .then(|| T::migrating_prefixes().map(|p| p.into_iter().collect())) + .defensive_proof("nth_migrating_prefixes should only be called with n==0") + } + #[cfg(feature = "try-runtime")] fn nth_pre_upgrade(n: u32) -> Option, sp_runtime::TryRuntimeError>> { if n != 0 { @@ -954,6 +979,18 @@ impl SteppedMigrations for Tuple { None } + fn nth_migrating_prefixes(n: u32) -> Option>>> { + let mut i = 0; + for_tuples!( #( + let len = Tuple::len() as u32; + if (i + len) > n { + return Tuple::nth_migrating_prefixes(n - i); + } + i += len; + )* ); + None + } + #[cfg(feature = "try-runtime")] fn nth_pre_upgrade(n: u32) -> Option, sp_runtime::TryRuntimeError>> { let mut i = 0; @@ -1048,6 +1085,10 @@ mod tests { unhashed::put(&[0], &()); Ok(None) } + + fn migrating_prefixes() -> Option>> { + Some(vec![b"M0_prefix1".to_vec(), b"M0_prefix2".to_vec()]) + } } pub struct M1; @@ -1071,6 +1112,10 @@ mod tests { fn max_steps() -> Option { Some(1) } + + fn migrating_prefixes() -> Option>> { + Some(vec![b"M1_prefix".to_vec()]) + } } pub struct M2; @@ -1094,6 +1139,28 @@ mod tests { fn max_steps() -> Option { Some(2) } + + fn migrating_prefixes() -> Option>> { + Some(vec![b"M2_prefix1".to_vec(), b"M2_prefix2".to_vec(), b"M2_prefix3".to_vec()]) + } + } + + pub struct M3; + impl SteppedMigration for M3 { + type Cursor = (); + type Identifier = u8; + + fn id() -> Self::Identifier { + 3 + } + + fn step( + _cursor: Option, + _meter: &mut WeightMeter, + ) -> Result, SteppedMigrationError> { + log::info!("M3"); + Ok(None) + } } pub struct F0; @@ -1102,7 +1169,7 @@ mod tests { type Identifier = u8; fn id() -> Self::Identifier { - 3 + 4 } fn step( @@ -1197,4 +1264,57 @@ mod tests { .is_err()); }); } + + #[test] + fn nth_migrating_prefixes_works() { + // Test single migration + assert_eq!( + M0::nth_migrating_prefixes(0), + Some(Some(vec![b"M0_prefix1".to_vec(), b"M0_prefix2".to_vec()])) + ); + + // Test migration with no prefixes + assert_eq!(M3::nth_migrating_prefixes(0), Some(None)); + + // Test tuple migrations + type Pair = (M0, M1); + assert_eq!(Pair::len(), 2); + + // First migration in tuple + assert_eq!( + Pair::nth_migrating_prefixes(0), + Some(Some(vec![b"M0_prefix1".to_vec(), b"M0_prefix2".to_vec()])) + ); + + // Second migration in tuple + assert_eq!(Pair::nth_migrating_prefixes(1), Some(Some(vec![b"M1_prefix".to_vec()]))); + + // Out of bounds + assert_eq!(Pair::nth_migrating_prefixes(2), None); + + // Test nested tuples + type Nested = (M0, (M1, M2)); + assert_eq!(Nested::len(), 3); + + // First migration + assert_eq!( + Nested::nth_migrating_prefixes(0), + Some(Some(vec![b"M0_prefix1".to_vec(), b"M0_prefix2".to_vec()])) + ); + + // Second migration (first in inner tuple) + assert_eq!(Nested::nth_migrating_prefixes(1), Some(Some(vec![b"M1_prefix".to_vec()]))); + + // Third migration (second in inner tuple) + assert_eq!( + Nested::nth_migrating_prefixes(2), + Some(Some(vec![ + b"M2_prefix1".to_vec(), + b"M2_prefix2".to_vec(), + b"M2_prefix3".to_vec() + ])) + ); + + assert_eq!(Nested::nth_migrating_prefixes(3), None); + } } diff --git a/substrate/frame/support/src/storage/child.rs b/substrate/frame/support/src/storage/child.rs index 7109e9213b0f6..34085208bdc28 100644 --- a/substrate/frame/support/src/storage/child.rs +++ b/substrate/frame/support/src/storage/child.rs @@ -112,8 +112,9 @@ pub fn take_or_else T>( /// Check to see if `key` has an explicit entry in storage. pub fn exists(child_info: &ChildInfo, key: &[u8]) -> bool { match child_info.child_type() { - ChildType::ParentKeyId => - sp_io::default_child_storage::exists(child_info.storage_key(), key), + ChildType::ParentKeyId => { + sp_io::default_child_storage::exists(child_info.storage_key(), key) + }, } } @@ -139,8 +140,9 @@ pub fn exists(child_info: &ChildInfo, key: &[u8]) -> bool { #[deprecated = "Use `clear_storage` instead"] pub fn kill_storage(child_info: &ChildInfo, limit: Option) -> KillStorageResult { match child_info.child_type() { - ChildType::ParentKeyId => - sp_io::default_child_storage::storage_kill(child_info.storage_key(), limit), + ChildType::ParentKeyId => { + sp_io::default_child_storage::storage_kill(child_info.storage_key(), limit) + }, } } @@ -185,8 +187,9 @@ pub fn clear_storage( // enabled. // sp_io::default_child_storage::storage_kill(prefix, maybe_limit, maybe_cursor) let r = match child_info.child_type() { - ChildType::ParentKeyId => - sp_io::default_child_storage::storage_kill(child_info.storage_key(), maybe_limit), + ChildType::ParentKeyId => { + sp_io::default_child_storage::storage_kill(child_info.storage_key(), maybe_limit) + }, }; use sp_io::KillStorageResult::*; let (maybe_cursor, backend) = match r { @@ -215,16 +218,18 @@ pub fn get_raw(child_info: &ChildInfo, key: &[u8]) -> Option> { /// Put a raw byte slice into storage. pub fn put_raw(child_info: &ChildInfo, key: &[u8], value: &[u8]) { match child_info.child_type() { - ChildType::ParentKeyId => - sp_io::default_child_storage::set(child_info.storage_key(), key, value), + ChildType::ParentKeyId => { + sp_io::default_child_storage::set(child_info.storage_key(), key, value) + }, } } /// Calculate current child root value. pub fn root(child_info: &ChildInfo, version: StateVersion) -> Vec { match child_info.child_type() { - ChildType::ParentKeyId => - sp_io::default_child_storage::root(child_info.storage_key(), version), + ChildType::ParentKeyId => { + sp_io::default_child_storage::root(child_info.storage_key(), version) + }, } } diff --git a/substrate/frame/support/src/storage/generator/double_map.rs b/substrate/frame/support/src/storage/generator/double_map.rs index a9116f1f66bd9..b566819b5a1ac 100644 --- a/substrate/frame/support/src/storage/generator/double_map.rs +++ b/substrate/frame/support/src/storage/generator/double_map.rs @@ -476,7 +476,7 @@ where Some(value) => value, None => { log::error!("Invalid translate: fail to decode old value"); - continue + continue; }, }; let mut key_material = G::Hasher1::reverse(&previous_key[prefix.len()..]); @@ -484,7 +484,7 @@ where Ok(key1) => key1, Err(_) => { log::error!("Invalid translate: fail to decode key1"); - continue + continue; }, }; @@ -493,7 +493,7 @@ where Ok(key2) => key2, Err(_) => { log::error!("Invalid translate: fail to decode key2"); - continue + continue; }, }; diff --git a/substrate/frame/support/src/storage/generator/nmap.rs b/substrate/frame/support/src/storage/generator/nmap.rs index 9083aba9d32c0..d0f91d0e247d1 100755 --- a/substrate/frame/support/src/storage/generator/nmap.rs +++ b/substrate/frame/support/src/storage/generator/nmap.rs @@ -432,7 +432,7 @@ impl> Some(value) => value, None => { log::error!("Invalid translate: fail to decode old value"); - continue + continue; }, }; @@ -440,7 +440,7 @@ impl> Ok((final_key, _)) => final_key, Err(_) => { log::error!("Invalid translate: fail to decode key"); - continue + continue; }, }; diff --git a/substrate/frame/support/src/storage/migration.rs b/substrate/frame/support/src/storage/migration.rs index 1dd690c3ed67b..531f410303475 100644 --- a/substrate/frame/support/src/storage/migration.rs +++ b/substrate/frame/support/src/storage/migration.rs @@ -85,7 +85,7 @@ impl Iterator for StorageIterator { } }, None => None, - } + }; } } } @@ -156,7 +156,7 @@ impl Iterator } }, None => None, - } + }; } } } @@ -368,7 +368,7 @@ pub fn move_pallet(old_pallet_name: &[u8], new_pallet_name: &[u8]) { /// NOTE: The value at the key `from_prefix` is not moved. pub fn move_prefix(from_prefix: &[u8], to_prefix: &[u8]) { if from_prefix == to_prefix { - return + return; } let iter = PrefixIterator::<_> { diff --git a/substrate/frame/support/src/storage/mod.rs b/substrate/frame/support/src/storage/mod.rs index 6193925630359..b059090de4cf9 100644 --- a/substrate/frame/support/src/storage/mod.rs +++ b/substrate/frame/support/src/storage/mod.rs @@ -1101,7 +1101,7 @@ impl Iterator for PrefixIterator Iterator for PrefixIterator None, - } + }; } } } @@ -1199,12 +1199,12 @@ impl Iterator for KeyPrefixIterator { Ok(item) => return Some(item), Err(e) => { log::error!("key failed to decode at {:?}: {:?}", self.previous_key, e); - continue + continue; }, } } - return None + return None; } } } @@ -1314,7 +1314,7 @@ impl Iterator for ChildTriePrefixIterator { "next_key returned a key with no value at {:?}", self.previous_key, ); - continue + continue; }, }; if self.drain { @@ -1329,14 +1329,14 @@ impl Iterator for ChildTriePrefixIterator { self.previous_key, e, ); - continue + continue; }, }; Some(item) }, None => None, - } + }; } } } @@ -1458,7 +1458,7 @@ pub trait StoragePrefixedMap { }, None => { log::error!("old key failed to decode at {:?}", previous_key); - continue + continue; }, } } diff --git a/substrate/frame/support/src/storage/storage_noop_guard.rs b/substrate/frame/support/src/storage/storage_noop_guard.rs index 23201e58db5b7..2bf60d7c1c327 100644 --- a/substrate/frame/support/src/storage/storage_noop_guard.rs +++ b/substrate/frame/support/src/storage/storage_noop_guard.rs @@ -73,7 +73,7 @@ impl<'a> Drop for StorageNoopGuard<'a> { // No need to double panic, eg. inside a test assertion failure. #[cfg(feature = "std")] if std::thread::panicking() { - return + return; } assert_eq!( sp_io::storage::root(sp_runtime::StateVersion::V1), diff --git a/substrate/frame/support/src/storage/stream_iter.rs b/substrate/frame/support/src/storage/stream_iter.rs index 0d1e5582f841b..379000f0594fe 100644 --- a/substrate/frame/support/src/storage/stream_iter.rs +++ b/substrate/frame/support/src/storage/stream_iter.rs @@ -177,7 +177,7 @@ impl core::iter::Iterator for ScaleContainerStreamIter { fn next(&mut self) -> Option { if self.read >= self.length { - return None + return None; } match codec::Decode::decode(&mut self.input) { @@ -314,7 +314,7 @@ impl StorageInput { sp_io::storage::read(&self.key, &mut out_remaining, self.offset) { if (length_minus_offset as usize) < out_remaining.len() { - return Err("Not enough data to fill the buffer".into()) + return Err("Not enough data to fill the buffer".into()); } self.ensure_total_length_did_not_change(length_minus_offset)?; @@ -371,7 +371,7 @@ impl codec::Input for StorageInput { // If there is still data left to be read from the state. if self.offset < self.total_length { if into.len() > self.buffer.capacity() { - return self.read_big_item(into) + return self.read_big_item(into); } else if self.buffer_pos + into.len() > self.buffer.len() { self.fill_buffer()?; } @@ -380,7 +380,7 @@ impl codec::Input for StorageInput { // Guard against `fill_buffer` not reading enough data or just not having enough data // anymore. if into.len() + self.buffer_pos > self.buffer.len() { - return Err("Not enough data to fill the buffer".into()) + return Err("Not enough data to fill the buffer".into()); } let end = self.buffer_pos + into.len(); diff --git a/substrate/frame/support/src/storage/transactional.rs b/substrate/frame/support/src/storage/transactional.rs index 0671db4a3a86b..d4c3fc0fa8e31 100644 --- a/substrate/frame/support/src/storage/transactional.rs +++ b/substrate/frame/support/src/storage/transactional.rs @@ -59,7 +59,7 @@ fn kill_transaction_level() { fn inc_transaction_level() -> Result { let existing_levels = get_transaction_level(); if existing_levels >= TRANSACTIONAL_LIMIT { - return Err(()) + return Err(()); } // Cannot overflow because of check above. set_transaction_level(existing_levels + 1); @@ -250,7 +250,7 @@ mod tests { fn recursive_transactional(num: u32) -> DispatchResult { if num == 0 { - return Ok(()) + return Ok(()); } with_transaction(|| -> TransactionOutcome { diff --git a/substrate/frame/support/src/traits/dispatch.rs b/substrate/frame/support/src/traits/dispatch.rs index d4d446e645127..6f168f49a8a72 100644 --- a/substrate/frame/support/src/traits/dispatch.rs +++ b/substrate/frame/support/src/traits/dispatch.rs @@ -46,7 +46,7 @@ pub trait EnsureOrigin { OuterOrigin: OriginTrait, { if o.caller().is_root() { - return Ok(None) + return Ok(None); } else { Self::ensure_origin(o).map(Some) } @@ -62,7 +62,7 @@ pub trait EnsureOrigin { OuterOrigin: OriginTrait, { if o.caller().is_root() { - return Ok(None) + return Ok(None); } else { Self::try_origin(o).map(Some) } @@ -143,7 +143,7 @@ where // If this is the expected origin, it has the same privilege. if o == expected_origin { - return Ok(()) + return Ok(()); } let cmp = PrivilegeCmp::cmp_privilege(&o, &expected_origin); diff --git a/substrate/frame/support/src/traits/hooks.rs b/substrate/frame/support/src/traits/hooks.rs index f7404ca7dbe85..6cc15fe83f903 100644 --- a/substrate/frame/support/src/traits/hooks.rs +++ b/substrate/frame/support/src/traits/hooks.rs @@ -540,7 +540,7 @@ pub trait Hooks { /// details on this. /// /// Moreover, the code in this function has access to a wider range of host functions in - /// [`sp-io`], namely [`sp_io::offchain`]. This includes exotic operations such as HTTP calls + /// [`sp_io`], namely [`sp_io::offchain`]. This includes exotic operations such as HTTP calls /// that are not really possible in the rest of the runtime code. /// /// The execution of this hook is entirely optional and is left at the discretion of the diff --git a/substrate/frame/support/src/traits/tokens/asset_ops/common_ops.rs b/substrate/frame/support/src/traits/tokens/asset_ops/common_ops.rs index ec01c63ac024e..a1f898b2491e0 100644 --- a/substrate/frame/support/src/traits/tokens/asset_ops/common_ops.rs +++ b/substrate/frame/support/src/traits/tokens/asset_ops/common_ops.rs @@ -146,6 +146,19 @@ impl>, Op: AssetDefinition> Ass { type Id = Id; } +impl Inspect for MapId +where + M: Convert>, + S: InspectStrategy, + Op: Inspect, + Self::Id: Clone, +{ + fn inspect(id: &Self::Id, strategy: S) -> Result { + let id = M::convert(id.clone())?; + + Op::inspect(&id, strategy) + } +} impl Update for MapId where M: Convert>, diff --git a/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/inspect_mutate.rs b/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/inspect_mutate.rs index fb52eb7037dbd..1fe547597fce7 100644 --- a/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/inspect_mutate.rs +++ b/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/inspect_mutate.rs @@ -121,7 +121,7 @@ where { // Skip if there is no minimum balance if T::minimum_balance() == T::Balance::zero() { - return + return; } let initial_total_issuance = T::total_issuance(); @@ -355,7 +355,7 @@ where { // Skip if there is no minimum balance if T::minimum_balance() == T::Balance::zero() { - return + return; } let account = AccountId::from(10); @@ -556,7 +556,7 @@ where AccountId: AtLeast8BitUnsigned, { if T::minimum_balance() == T::Balance::zero() { - return + return; } let account_0 = AccountId::from(10); @@ -633,7 +633,7 @@ where { // This test means nothing if there is no minimum balance if T::minimum_balance() == T::Balance::zero() { - return + return; } let initial_total_issuance = T::total_issuance(); @@ -793,7 +793,7 @@ where { // can_deposit always returns Success for amount 0 if T::minimum_balance() < 2.into() { - return + return; } let account = AccountId::from(10); @@ -879,7 +879,7 @@ where AccountId: AtLeast8BitUnsigned, { if T::minimum_balance() == T::Balance::zero() { - return + return; } let account = AccountId::from(10); @@ -909,7 +909,7 @@ where AccountId: AtLeast8BitUnsigned, { if T::minimum_balance() == T::Balance::zero() { - return + return; } let account = AccountId::from(10); diff --git a/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular/mutate.rs b/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular/mutate.rs index b17ce6f518c03..28d0f7f6e4d8b 100644 --- a/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular/mutate.rs +++ b/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular/mutate.rs @@ -99,7 +99,7 @@ where { // Skip if there is no minimum balance if T::minimum_balance() == T::Balance::zero() { - return + return; } let initial_total_issuance = T::total_issuance(); @@ -293,7 +293,7 @@ where { // Skip if there is no minimum balance if T::minimum_balance() == T::Balance::zero() { - return + return; } let account = AccountId::from(10); @@ -456,7 +456,7 @@ where AccountId: AtLeast8BitUnsigned, { if T::minimum_balance() == T::Balance::zero() { - return + return; } let account_0 = AccountId::from(10); @@ -526,7 +526,7 @@ where { // This test means nothing if there is no minimum balance if T::minimum_balance() == T::Balance::zero() { - return + return; } let initial_total_issuance = T::total_issuance(); @@ -654,7 +654,7 @@ where { // can_deposit always returns Success for amount 0 if T::minimum_balance() < 2.into() { - return + return; } let account = AccountId::from(10); @@ -713,7 +713,7 @@ where AccountId: AtLeast8BitUnsigned, { if T::minimum_balance() == T::Balance::zero() { - return + return; } let account = AccountId::from(10); @@ -734,7 +734,7 @@ where AccountId: AtLeast8BitUnsigned, { if T::minimum_balance() == T::Balance::zero() { - return + return; } let account = AccountId::from(10); diff --git a/substrate/frame/support/src/traits/tokens/fungible/imbalance.rs b/substrate/frame/support/src/traits/tokens/fungible/imbalance.rs index ca530d6afd96a..dd0fb6bbcab12 100644 --- a/substrate/frame/support/src/traits/tokens/fungible/imbalance.rs +++ b/substrate/frame/support/src/traits/tokens/fungible/imbalance.rs @@ -26,11 +26,18 @@ use crate::{ traits::{ fungibles, misc::{SameOrOther, TryDrop}, - tokens::{imbalance::TryMerge, AssetId, Balance}, + tokens::{ + imbalance::{ + ImbalanceAccounting, TryMerge, UnsafeConstructorDestructor, UnsafeManualAccounting, + }, + AssetId, Balance, + }, }, }; +use alloc::boxed::Box; use core::marker::PhantomData; use frame_support_procedural::{DebugNoBound, EqNoBound, PartialEqNoBound}; +use sp_arithmetic::traits::SaturatedConversion; use sp_runtime::traits::Zero; /// Handler for when an imbalance gets dropped. This could handle either a credit (negative) or @@ -178,6 +185,49 @@ impl, OppositeOnDrop: HandleImbalance } } +impl< + B: Balance + 'static, + OnDrop: HandleImbalanceDrop + 'static, + OppositeOnDrop: HandleImbalanceDrop + 'static, + > UnsafeConstructorDestructor for Imbalance +{ + fn unsafe_clone(&self) -> Box> { + let clone = Self { amount: self.amount, _phantom: PhantomData::default() }; + Box::new(clone) + } + fn forget_imbalance(&mut self) -> u128 { + let amount = self.amount.saturated_into(); + self.amount = 0u128.saturated_into(); + amount + } +} + +impl< + B: Balance + 'static, + OnDrop: HandleImbalanceDrop + 'static, + OppositeOnDrop: HandleImbalanceDrop + 'static, + > UnsafeManualAccounting for Imbalance +{ + fn saturating_subsume(&mut self, mut other: Box>) { + let amount = other.forget_imbalance(); + self.amount = self.amount.saturating_add(amount.saturated_into()); + } +} + +impl< + B: Balance + 'static, + OnDrop: HandleImbalanceDrop + 'static, + OppositeOnDrop: HandleImbalanceDrop + 'static, + > ImbalanceAccounting for Imbalance +{ + fn amount(&self) -> u128 { + self.peek().saturated_into() + } + fn saturating_take(&mut self, amount: u128) -> Box> { + Box::new(self.extract(amount.saturated_into())) + } +} + /// Converts a `fungibles` `imbalance` instance to an instance of a `fungible` imbalance type. /// /// This function facilitates imbalance conversions within the implementations of diff --git a/substrate/frame/support/src/traits/tokens/fungible/regular.rs b/substrate/frame/support/src/traits/tokens/fungible/regular.rs index 54a04444649d2..3552bb52cda4d 100644 --- a/substrate/frame/support/src/traits/tokens/fungible/regular.rs +++ b/substrate/frame/support/src/traits/tokens/fungible/regular.rs @@ -327,7 +327,7 @@ where let _extra = Self::can_withdraw(source, amount).into_result(preservation != Expendable)?; Self::can_deposit(dest, amount, Extant).into_result()?; if source == dest { - return Ok(amount) + return Ok(amount); } Self::decrease_balance(source, amount, BestEffort, preservation, Polite)?; diff --git a/substrate/frame/support/src/traits/tokens/fungible/union_of.rs b/substrate/frame/support/src/traits/tokens/fungible/union_of.rs index fd99ba33163fd..265acf642f557 100644 --- a/substrate/frame/support/src/traits/tokens/fungible/union_of.rs +++ b/substrate/frame/support/src/traits/tokens/fungible/union_of.rs @@ -153,8 +153,9 @@ impl< force: Fortitude, ) -> Self::Balance { match Criterion::convert(asset) { - Left(()) => - >::reducible_balance(who, preservation, force), + Left(()) => { + >::reducible_balance(who, preservation, force) + }, Right(a) => >::reducible_balance( a, who, @@ -170,10 +171,12 @@ impl< provenance: Provenance, ) -> DepositConsequence { match Criterion::convert(asset) { - Left(()) => - >::can_deposit(who, amount, provenance), - Right(a) => - >::can_deposit(a, who, amount, provenance), + Left(()) => { + >::can_deposit(who, amount, provenance) + }, + Right(a) => { + >::can_deposit(a, who, amount, provenance) + }, } } fn can_withdraw( @@ -210,21 +213,24 @@ impl< force: Fortitude, ) -> Self::Balance { match Criterion::convert(asset) { - Left(()) => + Left(()) => { >::reducible_total_balance_on_hold( who, force, - ), - Right(a) => + ) + }, + Right(a) => { >::reducible_total_balance_on_hold( a, who, force, - ), + ) + }, } } fn hold_available(asset: Self::AssetId, reason: &Self::Reason, who: &AccountId) -> bool { match Criterion::convert(asset) { Left(()) => >::hold_available(reason, who), - Right(a) => - >::hold_available(a, reason, who), + Right(a) => { + >::hold_available(a, reason, who) + }, } } fn total_balance_on_hold(asset: Self::AssetId, who: &AccountId) -> Self::Balance { @@ -240,8 +246,9 @@ impl< ) -> Self::Balance { match Criterion::convert(asset) { Left(()) => >::balance_on_hold(reason, who), - Right(a) => - >::balance_on_hold(a, reason, who), + Right(a) => { + >::balance_on_hold(a, reason, who) + }, } } fn can_hold( @@ -252,8 +259,9 @@ impl< ) -> bool { match Criterion::convert(asset) { Left(()) => >::can_hold(reason, who, amount), - Right(a) => - >::can_hold(a, reason, who, amount), + Right(a) => { + >::can_hold(a, reason, who, amount) + }, } } } @@ -300,10 +308,12 @@ impl< Self: Sized, { match Criterion::convert(dust.0) { - Left(()) => - >::handle_dust(fungible::Dust(dust.1)), - Right(a) => - >::handle_dust(fungibles::Dust(a, dust.1)), + Left(()) => { + >::handle_dust(fungible::Dust(dust.1)) + }, + Right(a) => { + >::handle_dust(fungibles::Dust(a, dust.1)) + }, } } fn write_balance( @@ -355,8 +365,9 @@ impl< precision: Precision, ) -> Result { match Criterion::convert(asset) { - Left(()) => - >::increase_balance(who, amount, precision), + Left(()) => { + >::increase_balance(who, amount, precision) + }, Right(a) => >::increase_balance( a, who, amount, precision, ), @@ -493,8 +504,9 @@ impl< preservation: Preservation, ) -> Result { match Criterion::convert(asset) { - Left(()) => - >::transfer(source, dest, amount, preservation), + Left(()) => { + >::transfer(source, dest, amount, preservation) + }, Right(a) => >::transfer( a, source, @@ -540,8 +552,9 @@ impl< precision: Precision, ) -> Result { match Criterion::convert(asset) { - Left(()) => - >::release(reason, who, amount, precision), + Left(()) => { + >::release(reason, who, amount, precision) + }, Right(a) => >::release( a, reason, who, amount, precision, ), @@ -633,8 +646,9 @@ impl< ) -> DispatchResult { match Criterion::convert(asset) { Left(()) => >::set_freeze(id, who, amount), - Right(a) => - >::set_freeze(a, id, who, amount), + Right(a) => { + >::set_freeze(a, id, who, amount) + }, } } fn extend_freeze( @@ -645,8 +659,9 @@ impl< ) -> DispatchResult { match Criterion::convert(asset) { Left(()) => >::extend_freeze(id, who, amount), - Right(a) => - >::extend_freeze(a, id, who, amount), + Right(a) => { + >::extend_freeze(a, id, who, amount) + }, } } fn thaw(asset: Self::AssetId, id: &Self::Id, who: &AccountId) -> DispatchResult { @@ -722,9 +737,10 @@ impl< match Criterion::convert(asset.clone()) { Left(()) => >::deposit(who, value, precision) .map(|d| fungibles::imbalance::from_fungible(d, asset)), - Right(a) => + Right(a) => { >::deposit(a, who, value, precision) - .map(|d| fungibles::imbalance::from_fungibles(d, asset)), + .map(|d| fungibles::imbalance::from_fungibles(d, asset)) + }, } } fn issue(asset: Self::AssetId, amount: Self::Balance) -> fungibles::Credit { @@ -958,8 +974,9 @@ impl< fn touch(asset: AssetKind, who: &AccountId, depositor: &AccountId) -> DispatchResult { match Criterion::convert(asset) { Left(()) => >::touch((), who, depositor), - Right(a) => - >::touch(a, who, depositor), + Right(a) => { + >::touch(a, who, depositor) + }, } } } diff --git a/substrate/frame/support/src/traits/tokens/fungibles/imbalance.rs b/substrate/frame/support/src/traits/tokens/fungibles/imbalance.rs index 49e9a7459c2d4..98b5557e258b5 100644 --- a/substrate/frame/support/src/traits/tokens/fungibles/imbalance.rs +++ b/substrate/frame/support/src/traits/tokens/fungibles/imbalance.rs @@ -25,12 +25,17 @@ use crate::traits::{ fungible, misc::{SameOrOther, TryDrop}, tokens::{ - imbalance::{Imbalance as ImbalanceT, TryMerge}, + imbalance::{ + Imbalance as ImbalanceT, ImbalanceAccounting, TryMerge, UnsafeConstructorDestructor, + UnsafeManualAccounting, + }, AssetId, Balance, }, }; +use alloc::boxed::Box; use core::marker::PhantomData; use frame_support_procedural::{DebugNoBound, EqNoBound, PartialEqNoBound}; +use sp_arithmetic::traits::SaturatedConversion; use sp_runtime::traits::Zero; /// Handler for when an imbalance gets dropped. This could handle either a credit (negative) or @@ -191,6 +196,56 @@ impl< } } +impl< + A: AssetId + 'static, + B: Balance + 'static, + OnDrop: HandleImbalanceDrop + 'static, + OppositeOnDrop: HandleImbalanceDrop + 'static, + > UnsafeConstructorDestructor for Imbalance +{ + fn unsafe_clone(&self) -> Box> { + let clone = Self { + asset: self.asset.clone(), + amount: self.amount, + _phantom: PhantomData::default(), + }; + Box::new(clone) + } + fn forget_imbalance(&mut self) -> u128 { + let amount = self.amount.saturated_into(); + self.amount = 0u128.saturated_into(); + amount + } +} + +impl< + A: AssetId + 'static, + B: Balance + 'static, + OnDrop: HandleImbalanceDrop + 'static, + OppositeOnDrop: HandleImbalanceDrop + 'static, + > UnsafeManualAccounting for Imbalance +{ + fn saturating_subsume(&mut self, mut other: Box>) { + let amount = other.forget_imbalance(); + self.amount = self.amount.saturating_add(amount.saturated_into()); + } +} + +impl< + A: AssetId + 'static, + B: Balance + 'static, + OnDrop: HandleImbalanceDrop + 'static, + OppositeOnDrop: HandleImbalanceDrop + 'static, + > ImbalanceAccounting for Imbalance +{ + fn amount(&self) -> u128 { + self.peek().saturated_into() + } + fn saturating_take(&mut self, amount: u128) -> Box> { + Box::new(self.extract(amount.saturated_into())) + } +} + /// Converts a `fungible` `imbalance` instance to an instance of a `fungibles` imbalance type using /// a specified `asset`. /// diff --git a/substrate/frame/support/src/traits/tokens/fungibles/lifetime.rs b/substrate/frame/support/src/traits/tokens/fungibles/lifetime.rs index 7f882c1fc4fe8..6781ea8a94b2d 100644 --- a/substrate/frame/support/src/traits/tokens/fungibles/lifetime.rs +++ b/substrate/frame/support/src/traits/tokens/fungibles/lifetime.rs @@ -68,7 +68,7 @@ pub trait Destroy: Inspect { /// function. This value should be small enough to allow the operation fit into a logical /// block. /// - /// Response: + /// Response: /// * u32: Total number of approvals which were actually destroyed /// /// Due to weight restrictions, this function may need to be called multiple @@ -84,7 +84,7 @@ pub trait Destroy: Inspect { /// function. This value should be small enough to allow the operation fit into a logical /// block. /// - /// Response: + /// Response: /// * u32: Total number of approvals which were actually destroyed /// /// Due to weight restrictions, this function may need to be called multiple diff --git a/substrate/frame/support/src/traits/tokens/fungibles/regular.rs b/substrate/frame/support/src/traits/tokens/fungibles/regular.rs index 3985da7856d75..77559663a2e68 100644 --- a/substrate/frame/support/src/traits/tokens/fungibles/regular.rs +++ b/substrate/frame/support/src/traits/tokens/fungibles/regular.rs @@ -374,7 +374,7 @@ where .into_result(preservation != Expendable)?; Self::can_deposit(asset.clone(), dest, amount, Extant).into_result()?; if source == dest { - return Ok(amount) + return Ok(amount); } Self::decrease_balance(asset.clone(), source, amount, BestEffort, preservation, Polite)?; diff --git a/substrate/frame/support/src/traits/tokens/fungibles/union_of.rs b/substrate/frame/support/src/traits/tokens/fungibles/union_of.rs index ec066dddcfac8..ba357bf484416 100644 --- a/substrate/frame/support/src/traits/tokens/fungibles/union_of.rs +++ b/substrate/frame/support/src/traits/tokens/fungibles/union_of.rs @@ -113,10 +113,12 @@ impl< provenance: Provenance, ) -> DepositConsequence { match Criterion::convert(asset) { - Left(a) => - >::can_deposit(a, who, amount, provenance), - Right(a) => - >::can_deposit(a, who, amount, provenance), + Left(a) => { + >::can_deposit(a, who, amount, provenance) + }, + Right(a) => { + >::can_deposit(a, who, amount, provenance) + }, } } fn can_withdraw( @@ -153,21 +155,24 @@ impl< force: Fortitude, ) -> Self::Balance { match Criterion::convert(asset) { - Left(a) => + Left(a) => { >::reducible_total_balance_on_hold( a, who, force, - ), - Right(a) => + ) + }, + Right(a) => { >::reducible_total_balance_on_hold( a, who, force, - ), + ) + }, } } fn hold_available(asset: Self::AssetId, reason: &Self::Reason, who: &AccountId) -> bool { match Criterion::convert(asset) { Left(a) => >::hold_available(a, reason, who), - Right(a) => - >::hold_available(a, reason, who), + Right(a) => { + >::hold_available(a, reason, who) + }, } } fn total_balance_on_hold(asset: Self::AssetId, who: &AccountId) -> Self::Balance { @@ -183,8 +188,9 @@ impl< ) -> Self::Balance { match Criterion::convert(asset) { Left(a) => >::balance_on_hold(a, reason, who), - Right(a) => - >::balance_on_hold(a, reason, who), + Right(a) => { + >::balance_on_hold(a, reason, who) + }, } } fn can_hold( @@ -194,10 +200,12 @@ impl< amount: Self::Balance, ) -> bool { match Criterion::convert(asset) { - Left(a) => - >::can_hold(a, reason, who, amount), - Right(a) => - >::can_hold(a, reason, who, amount), + Left(a) => { + >::can_hold(a, reason, who, amount) + }, + Right(a) => { + >::can_hold(a, reason, who, amount) + }, } } } @@ -244,10 +252,12 @@ impl< Self: Sized, { match Criterion::convert(dust.0) { - Left(a) => - >::handle_dust(fungibles::Dust(a, dust.1)), - Right(a) => - >::handle_dust(fungibles::Dust(a, dust.1)), + Left(a) => { + >::handle_dust(fungibles::Dust(a, dust.1)) + }, + Right(a) => { + >::handle_dust(fungibles::Dust(a, dust.1)) + }, } } fn write_balance( @@ -587,8 +597,9 @@ impl< ) -> DispatchResult { match Criterion::convert(asset) { Left(a) => >::set_freeze(a, id, who, amount), - Right(a) => - >::set_freeze(a, id, who, amount), + Right(a) => { + >::set_freeze(a, id, who, amount) + }, } } fn extend_freeze( @@ -598,10 +609,12 @@ impl< amount: Self::Balance, ) -> DispatchResult { match Criterion::convert(asset) { - Left(a) => - >::extend_freeze(a, id, who, amount), - Right(a) => - >::extend_freeze(a, id, who, amount), + Left(a) => { + >::extend_freeze(a, id, who, amount) + }, + Right(a) => { + >::extend_freeze(a, id, who, amount) + }, } } fn thaw(asset: Self::AssetId, id: &Self::Id, who: &AccountId) -> DispatchResult { @@ -701,9 +714,10 @@ impl< match Criterion::convert(asset.clone()) { Left(a) => >::deposit(a, who, value, precision) .map(|debt| imbalance::from_fungibles(debt, asset)), - Right(a) => + Right(a) => { >::deposit(a, who, value, precision) - .map(|debt| imbalance::from_fungibles(debt, asset)), + .map(|debt| imbalance::from_fungibles(debt, asset)) + }, } } fn issue(asset: Self::AssetId, amount: Self::Balance) -> fungibles::Credit { @@ -895,8 +909,9 @@ impl< min_balance: Self::Balance, ) -> DispatchResult { match Criterion::convert(asset) { - Left(a) => - >::create(a, admin, is_sufficient, min_balance), + Left(a) => { + >::create(a, admin, is_sufficient, min_balance) + }, Right(a) => >::create( a, admin, @@ -939,8 +954,9 @@ impl< fn touch(asset: AssetKind, who: &AccountId, depositor: &AccountId) -> DispatchResult { match Criterion::convert(asset) { Left(a) => >::touch(a, who, depositor), - Right(a) => - >::touch(a, who, depositor), + Right(a) => { + >::touch(a, who, depositor) + }, } } } diff --git a/substrate/frame/support/src/traits/tokens/imbalance.rs b/substrate/frame/support/src/traits/tokens/imbalance.rs index ee0d7a81c36e3..06fc046451396 100644 --- a/substrate/frame/support/src/traits/tokens/imbalance.rs +++ b/substrate/frame/support/src/traits/tokens/imbalance.rs @@ -22,9 +22,14 @@ use crate::traits::misc::{SameOrOther, TryDrop}; use core::ops::Div; use sp_runtime::traits::Saturating; +mod imbalance_accounting; mod on_unbalanced; mod signed_imbalance; mod split_two_ways; + +pub use imbalance_accounting::{ + ImbalanceAccounting, UnsafeConstructorDestructor, UnsafeManualAccounting, +}; pub use on_unbalanced::{OnUnbalanced, ResolveAssetTo, ResolveTo}; pub use signed_imbalance::SignedImbalance; pub use split_two_ways::SplitTwoWays; @@ -87,7 +92,7 @@ pub trait Imbalance: Sized + TryDrop + Default + TryMerge { { let total: u32 = first.saturating_add(second); if total == 0 { - return (Self::zero(), Self::zero()) + return (Self::zero(), Self::zero()); } let amount1 = self.peek().saturating_mul(first.into()) / total.into(); self.split(amount1) diff --git a/substrate/frame/support/src/traits/tokens/imbalance/imbalance_accounting.rs b/substrate/frame/support/src/traits/tokens/imbalance/imbalance_accounting.rs new file mode 100644 index 0000000000000..9812923cc248c --- /dev/null +++ b/substrate/frame/support/src/traits/tokens/imbalance/imbalance_accounting.rs @@ -0,0 +1,68 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Convenience trait for working with dynamic type of Imbalance. + +use alloc::boxed::Box; + +/// Unsafe imbalance cloning constructor and forgetful destructor. +/// +/// This trait provides low-level operations that can violate imbalance invariants if misused. +/// These methods are separated into their own trait to make it explicit when unsafe operations +/// are being performed. +pub trait UnsafeConstructorDestructor { + /// Duplicates/clones the imbalance type, effectively leading to double accounting of the + /// imbalance. + /// + /// Warning: Use with care!!! one of the duplicates should call `self.forget_amount()` for the + /// double-tracking to be removed. + fn unsafe_clone(&self) -> Box>; + /// Forgets about the inner imbalance. Drops the inner imbalance without actually resolving it. + /// Usually implemented by simply setting the imbalance amount to `zero`. + /// + /// Note this is not equivalent `mem::forget()` as the destructor is still called, and memory is + /// freed, but imbalance amount to resolve is zero/noop. + /// + /// Returns the amount "forgotten". + fn forget_imbalance(&mut self) -> Balance; +} + +/// Unsafe manual accounting operations for imbalances. +/// +/// This trait provides low-level operations that can violate imbalance invariants if misused. +/// These methods are separated into their own trait to make it explicit when unsafe operations +/// are being performed. +pub trait UnsafeManualAccounting { + /// Saturating add `other` imbalance to the inner imbalance. + /// + /// The caller is responsible for making sure `self` and `other` are compatible concrete types. + /// Compatible meaning both `self` and `other` imbalances are equivalent types with same + /// imbalance resolution implementation. + fn saturating_subsume(&mut self, other: Box>); +} + +/// Helper trait to be used for generic Imbalance, helpful for tracking multiple concrete types of +/// `Imbalance` using dynamic dispatch of this trait. +pub trait ImbalanceAccounting: + UnsafeConstructorDestructor + UnsafeManualAccounting +{ + /// Get inner imbalance amount. + fn amount(&self) -> Balance; + /// Saturating remove `amount` from the inner imbalance, and return it as a new imbalance + /// instance. + fn saturating_take(&mut self, amount: Balance) -> Box>; +} diff --git a/substrate/frame/support/src/traits/tokens/imbalance/signed_imbalance.rs b/substrate/frame/support/src/traits/tokens/imbalance/signed_imbalance.rs index eec892cc31154..120a0c6b2036e 100644 --- a/substrate/frame/support/src/traits/tokens/imbalance/signed_imbalance.rs +++ b/substrate/frame/support/src/traits/tokens/imbalance/signed_imbalance.rs @@ -54,10 +54,12 @@ impl< /// both. pub fn merge(self, other: Self) -> Self { match (self, other) { - (SignedImbalance::Positive(one), SignedImbalance::Positive(other)) => - SignedImbalance::Positive(one.merge(other)), - (SignedImbalance::Negative(one), SignedImbalance::Negative(other)) => - SignedImbalance::Negative(one.merge(other)), + (SignedImbalance::Positive(one), SignedImbalance::Positive(other)) => { + SignedImbalance::Positive(one.merge(other)) + }, + (SignedImbalance::Negative(one), SignedImbalance::Negative(other)) => { + SignedImbalance::Negative(one.merge(other)) + }, (SignedImbalance::Positive(one), SignedImbalance::Negative(other)) => { match one.offset(other) { SameOrOther::Same(positive) => SignedImbalance::Positive(positive), diff --git a/substrate/frame/support/src/traits/try_runtime/mod.rs b/substrate/frame/support/src/traits/try_runtime/mod.rs index c6622524468e2..5130aec7433c0 100644 --- a/substrate/frame/support/src/traits/try_runtime/mod.rs +++ b/substrate/frame/support/src/traits/try_runtime/mod.rs @@ -90,7 +90,7 @@ impl std::str::FromStr for Select { match s { "all" | "All" => Ok(Select::All), "none" | "None" => Ok(Select::None), - _ => + _ => { if s.starts_with("rr-") { let count = s .split_once('-') @@ -108,7 +108,8 @@ impl std::str::FromStr for Select { } else { let pallets = s.split(',').map(|x| x.as_bytes().to_vec()).collect::>(); Ok(Select::Only(pallets)) - }, + } + }, } } } @@ -204,7 +205,7 @@ impl TryState TryState::Authorized.into()) - }) + }); } } diff --git a/substrate/frame/system/src/extensions/check_non_zero_sender.rs b/substrate/frame/system/src/extensions/check_non_zero_sender.rs index 0fd02d73e7054..f13d4546760ad 100644 --- a/substrate/frame/system/src/extensions/check_non_zero_sender.rs +++ b/substrate/frame/system/src/extensions/check_non_zero_sender.rs @@ -72,7 +72,7 @@ impl TransactionExtension for CheckNonZ ) -> sp_runtime::traits::ValidateResult { if let Some(who) = origin.as_signer() { if who.using_encoded(|d| d.iter().all(|x| *x == 0)) { - return Err(InvalidTransaction::BadSigner.into()) + return Err(InvalidTransaction::BadSigner.into()); } } Ok((Default::default(), (), origin)) diff --git a/substrate/frame/system/src/extensions/check_nonce.rs b/substrate/frame/system/src/extensions/check_nonce.rs index c18b217307082..00d89f44df92a 100644 --- a/substrate/frame/system/src/extensions/check_nonce.rs +++ b/substrate/frame/system/src/extensions/check_nonce.rs @@ -74,10 +74,10 @@ impl CheckNonce { let account = crate::Account::::get(who); if account.providers.is_zero() && account.sufficients.is_zero() { // Nonce storage not paid for - return Err(InvalidTransaction::Payment.into()) + return Err(InvalidTransaction::Payment.into()); } if nonce < account.nonce { - return Err(InvalidTransaction::Stale.into()) + return Err(InvalidTransaction::Stale.into()); } let provides = vec![Encode::encode(&(who.clone(), nonce))]; @@ -97,7 +97,7 @@ impl CheckNonce { ) -> Result<(), TransactionValidityError> { let account = crate::Account::::get(who); if nonce > account.nonce { - return Err(InvalidTransaction::Future.into()) + return Err(InvalidTransaction::Future.into()); } nonce = nonce.checked_add(&T::Nonce::one()).unwrap_or(T::Nonce::zero()); crate::Account::::mutate(who, |account| account.nonce = nonce); @@ -161,7 +161,7 @@ where _source: TransactionSource, ) -> ValidateResult { let Some(who) = origin.as_system_origin_signer() else { - return Ok((Default::default(), Val::Refund(self.weight(call)), origin)) + return Ok((Default::default(), Val::Refund(self.weight(call)), origin)); }; let ValidNonceInfo { provides, requires } = Self::validate_nonce_for_account(who, self.0)?; diff --git a/substrate/frame/system/src/extensions/check_weight.rs b/substrate/frame/system/src/extensions/check_weight.rs index 16522611ca474..4ddd46bdb3ed4 100644 --- a/substrate/frame/system/src/extensions/check_weight.rs +++ b/substrate/frame/system/src/extensions/check_weight.rs @@ -78,7 +78,7 @@ where len: usize, ) -> Result { let length_limit = T::BlockLength::get(); - let current_len = Pallet::::all_extrinsics_len(); + let current_len = Pallet::::block_size(); let added_len = len as u32; let next_len = current_len.saturating_add(added_len); if next_len > *length_limit.max.get(info.class) { @@ -133,7 +133,7 @@ where calculate_consumed_weight::(&maximum_weight, all_weight, info, len)?; // Extrinsic weight already checked in `validate`. - crate::AllExtrinsicsLen::::put(next_len); + crate::BlockSize::::put(next_len); crate::BlockWeight::::put(next_weight); Ok(()) } @@ -226,7 +226,7 @@ where const IDENTIFIER: &'static str = "CheckWeight"; type Implicit = (); type Pre = (); - type Val = u32; /* next block length */ + type Val = u32; // next block length fn weight(&self, _: &T::RuntimeCall) -> Weight { ::check_weight() @@ -311,7 +311,7 @@ mod tests { use super::*; use crate::{ mock::{new_test_ext, RuntimeBlockWeights, System, Test, CALL}, - AllExtrinsicsLen, BlockWeight, DispatchClass, + BlockSize, BlockWeight, DispatchClass, }; use core::marker::PhantomData; use frame_support::{assert_err, assert_ok, dispatch::Pays, weights::Weight}; @@ -550,7 +550,7 @@ mod tests { // likewise for length limit. let len = 100_usize; - AllExtrinsicsLen::::put(normal_length_limit()); + BlockSize::::put(normal_length_limit()); assert_eq!( CheckWeight::(PhantomData) .validate_and_prepare(Some(1).into(), CALL, &normal, len, 0) @@ -571,9 +571,9 @@ mod tests { fn signed_ext_check_weight_block_size_works() { new_test_ext().execute_with(|| { let normal = DispatchInfo::default(); - let normal_limit = normal_weight_limit().ref_time() as usize; + let normal_len_limit = normal_length_limit() as usize; let reset_check_weight = |tx, s, f| { - AllExtrinsicsLen::::put(0); + BlockSize::::put(0); let r = CheckWeight::(PhantomData).validate_and_prepare( Some(1).into(), CALL, @@ -588,9 +588,9 @@ mod tests { } }; - reset_check_weight(&normal, normal_limit - 1, false); - reset_check_weight(&normal, normal_limit, false); - reset_check_weight(&normal, normal_limit + 1, true); + reset_check_weight(&normal, normal_len_limit - 1, false); + reset_check_weight(&normal, normal_len_limit, false); + reset_check_weight(&normal, normal_len_limit + 1, true); // Operational ones don't have this limit. let op = DispatchInfo { @@ -599,10 +599,12 @@ mod tests { class: DispatchClass::Operational, pays_fee: Pays::Yes, }; - reset_check_weight(&op, normal_limit, false); - reset_check_weight(&op, normal_limit + 100, false); - reset_check_weight(&op, 1024, false); - reset_check_weight(&op, 1025, true); + let operational_limit = + *::BlockLength::get().max.get(DispatchClass::Operational) as usize; + reset_check_weight(&op, normal_len_limit, false); + reset_check_weight(&op, normal_len_limit + 100, false); + reset_check_weight(&op, operational_limit, false); + reset_check_weight(&op, operational_limit + 1, true); }) } diff --git a/substrate/frame/system/src/lib.rs b/substrate/frame/system/src/lib.rs index 869ca1ef1da04..2629c601798ed 100644 --- a/substrate/frame/system/src/lib.rs +++ b/substrate/frame/system/src/lib.rs @@ -663,7 +663,7 @@ pub mod pallet { /// The migrator that is used to run Multi-Block-Migrations. /// - /// Can be set to [`pallet-migrations`] or an alternative implementation of the interface. + /// Can be set to `pallet_migrations` or an alternative implementation of the interface. /// The diagram in `frame_executive::block_flowchart` explains when it runs. type MultiBlockMigrator: MultiStepMigrator; @@ -811,13 +811,13 @@ pub mod pallet { #[pallet::weight(task.weight())] pub fn do_task(_origin: OriginFor, task: T::RuntimeTask) -> DispatchResultWithPostInfo { if !task.is_valid() { - return Err(Error::::InvalidTask.into()) + return Err(Error::::InvalidTask.into()); } Self::deposit_event(Event::TaskStarted { task: task.clone() }); if let Err(err) = task.run() { Self::deposit_event(Event::TaskFailed { task, err }); - return Err(Error::::FailedTask.into()) + return Err(Error::::FailedTask.into()); } // Emit a success event, if your design includes events for this pallet. @@ -878,8 +878,9 @@ pub mod pallet { match Self::can_set_code(&code, res.check_version) { CanSetCodeResult::Ok => {}, - CanSetCodeResult::MultiBlockMigrationsOngoing => - return Err(Error::::MultiBlockMigrationsOngoing.into()), + CanSetCodeResult::MultiBlockMigrationsOngoing => { + return Err(Error::::MultiBlockMigrationsOngoing.into()) + }, CanSetCodeResult::InvalidVersion(error) => { // The upgrade is invalid and there is no benefit in trying to apply this again. Self::deposit_event(Event::RejectedInvalidAuthorizedUpgrade { @@ -888,7 +889,7 @@ pub mod pallet { }); // Not the fault of the caller of call. - return Ok(Pays::No.into()) + return Ok(Pays::No.into()); }, }; T::OnSetCode::set_code(code)?; @@ -996,10 +997,12 @@ pub mod pallet { #[pallet::getter(fn block_weight)] pub type BlockWeight = StorageValue<_, ConsumedWeight, ValueQuery>; - /// Total length (in bytes) for all extrinsics put together, for the current block. + /// Total size (in bytes) of the current block. + /// + /// Tracks the size of the header and all extrinsics. #[pallet::storage] #[pallet::whitelist_storage] - pub type AllExtrinsicsLen = StorageValue<_, u32>; + pub type BlockSize = StorageValue<_, u32>; /// Map of block numbers to block hashes. #[pallet::storage] @@ -1137,7 +1140,7 @@ pub mod pallet { provides: vec![res.code_hash.encode()], longevity: TransactionLongevity::max_value(), propagate: true, - }) + }); } } } @@ -1159,7 +1162,7 @@ pub mod pallet { provides: vec![T::Hashing::hash_of(&task.encode()).as_ref().to_vec()], longevity: TransactionLongevity::max_value(), propagate: false, - }) + }); } } } @@ -1540,8 +1543,9 @@ impl CanSetCodeResult { pub fn into_result(self) -> Result<(), DispatchError> { match self { Self::Ok => Ok(()), - Self::MultiBlockMigrationsOngoing => - Err(Error::::MultiBlockMigrationsOngoing.into()), + Self::MultiBlockMigrationsOngoing => { + Err(Error::::MultiBlockMigrationsOngoing.into()) + }, Self::InvalidVersion(err) => Err(err.into()), } } @@ -1847,7 +1851,7 @@ impl Pallet { // Don't populate events on genesis. if block_number.is_zero() { - return + return; } let phase = ExecutionPhase::::get().unwrap_or_default(); @@ -1883,8 +1887,9 @@ impl Pallet { ExtrinsicCount::::get().unwrap_or_default() } - pub fn all_extrinsics_len() -> u32 { - AllExtrinsicsLen::::get().unwrap_or_default() + /// Gets the total size (in bytes) of the current block. + pub fn block_size() -> u32 { + BlockSize::::get().unwrap_or_default() } /// Inform the system pallet of some additional weight that should be accounted for, in the @@ -1929,6 +1934,27 @@ impl Pallet { // Remove previous block data from storage BlockWeight::::kill(); + + // Account for digest size and empty header overhead in block length. + // This ensures block limits consider the full block size, not just extrinsics. + let digest_size = digest.encoded_size(); + let empty_header = <::Block as traits::Block>::Header::new( + *number, + Default::default(), + Default::default(), + *parent_hash, + Default::default(), + ); + let empty_header_size = empty_header.encoded_size(); + let overhead = digest_size.saturating_add(empty_header_size) as u32; + BlockSize::::put(overhead); + + // Ensure inherent digests don't exceed the configured max header size + let max_total_header = T::BlockLength::get().max_header_size(); + assert!( + overhead <= max_total_header as u32, + "Header size ({overhead}) exceeds max header size limit ({max_total_header})" + ); } /// Initialize [`INTRABLOCK_ENTROPY`](well_known_keys::INTRABLOCK_ENTROPY). @@ -1945,22 +1971,22 @@ impl Pallet { pub fn resource_usage_report() { log::debug!( target: LOG_TARGET, - "[{:?}] {} extrinsics, length: {} (normal {}%, op: {}%, mandatory {}%) / normal weight:\ + "[{:?}] {} extrinsics, block size: {} (normal {}%, op: {}%, mandatory {}%) / normal weight:\ {} (ref_time: {}%, proof_size: {}%) op weight {} (ref_time {}%, proof_size {}%) / \ mandatory weight {} (ref_time: {}%, proof_size: {}%)", Self::block_number(), Self::extrinsic_count(), - Self::all_extrinsics_len(), + Self::block_size(), sp_runtime::Percent::from_rational( - Self::all_extrinsics_len(), + Self::block_size(), *T::BlockLength::get().max.get(DispatchClass::Normal) ).deconstruct(), sp_runtime::Percent::from_rational( - Self::all_extrinsics_len(), + Self::block_size(), *T::BlockLength::get().max.get(DispatchClass::Operational) ).deconstruct(), sp_runtime::Percent::from_rational( - Self::all_extrinsics_len(), + Self::block_size(), *T::BlockLength::get().max.get(DispatchClass::Mandatory) ).deconstruct(), Self::block_weight().get(DispatchClass::Normal), @@ -1998,7 +2024,7 @@ impl Pallet { pub fn finalize() -> HeaderFor { Self::resource_usage_report(); ExecutionPhase::::kill(); - AllExtrinsicsLen::::kill(); + BlockSize::::kill(); storage::unhashed::kill(well_known_keys::INTRABLOCK_ENTROPY); InherentsApplied::::kill(); @@ -2039,8 +2065,14 @@ impl Pallet { HeaderFor::::new(number, extrinsics_root, storage_root, parent_hash, digest) } - /// Deposits a log and ensures it matches the block's log data. + /// Deposits a log (digest) in the block's header. + /// + /// Digests should not be directly controllable by external users as they increase the size of + /// the header. pub fn deposit_log(item: generic::DigestItem) { + BlockSize::::mutate(|len| { + *len = Some(len.unwrap_or(0).saturating_add(item.encoded_size() as u32)); + }); >::append(item); } @@ -2175,7 +2207,7 @@ impl Pallet { BlockWeight::::mutate(|current_weight| { current_weight.set(weight, DispatchClass::Normal) }); - AllExtrinsicsLen::::put(len as u32); + BlockSize::::put(len as u32); } /// Reset events. @@ -2290,7 +2322,7 @@ impl Pallet { log::trace!( target: LOG_TARGET, "Used block length: {:?}", - Pallet::::all_extrinsics_len(), + Pallet::::block_size(), ); let next_extrinsic_index = Self::extrinsic_index().unwrap_or_default() + 1u32; @@ -2332,7 +2364,7 @@ impl Pallet { /// - `check_version`: Should the runtime version be checked? pub fn can_set_code(code: &[u8], check_version: bool) -> CanSetCodeResult { if T::MultiBlockMigrator::ongoing() { - return CanSetCodeResult::MultiBlockMigrationsOngoing + return CanSetCodeResult::MultiBlockMigrationsOngoing; } if check_version { @@ -2340,7 +2372,7 @@ impl Pallet { let Some(new_version) = sp_io::misc::runtime_version(code) .and_then(|v| RuntimeVersion::decode(&mut &v[..]).ok()) else { - return CanSetCodeResult::InvalidVersion(Error::::FailedToExtractRuntimeVersion) + return CanSetCodeResult::InvalidVersion(Error::::FailedToExtractRuntimeVersion); }; cfg_if::cfg_if! { diff --git a/substrate/frame/system/src/limits.rs b/substrate/frame/system/src/limits.rs index 0bf6025e96bc7..f8b48ca210a7f 100644 --- a/substrate/frame/system/src/limits.rs +++ b/substrate/frame/system/src/limits.rs @@ -40,22 +40,40 @@ pub struct BlockLength { /// In the worst case, the total block length is going to be: /// `MAX(max)` pub max: PerDispatchClass, + /// Optional maximum header size in bytes. + /// + /// It is still possible that a header goes above this limit, if the runtime deposits too many + /// digests in the header. However, it is assumed that the runtime restricts the access for + /// depositing digests in the header. + /// + /// If None, defaults to 20% of max block length. + pub max_header_size: Option, } impl Default for BlockLength { fn default() -> Self { - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, DEFAULT_NORMAL_RATIO) + let mut max = PerDispatchClass::new(|_| 5 * 1024 * 1024); + *max.get_mut(DispatchClass::Normal) = + DEFAULT_NORMAL_RATIO * *max.get_mut(DispatchClass::Normal); + + Self { max, max_header_size: None } } } impl BlockLength { /// Create new `BlockLength` with `max` for every class. + #[deprecated( + note = "Use `BlockLength::builder().max(value).build()` instead. Will be removed after July 2026." + )] pub fn max(max: u32) -> Self { - Self { max: PerDispatchClass::new(|_| max) } + Self { max: PerDispatchClass::new(|_| max), max_header_size: None } } /// Create new `BlockLength` with `max` for `Operational` & `Mandatory` /// and `normal * max` for `Normal`. + #[deprecated( + note = "Use `BlockLength::builder().normal_ratio(value, ratio).build()` instead. Will be removed after July 2026." + )] pub fn max_with_normal_ratio(max: u32, normal: Perbill) -> Self { Self { max: PerDispatchClass::new(|class| { @@ -65,8 +83,60 @@ impl BlockLength { max } }), + max_header_size: None, } } + + /// Returns a builder to build a [`BlockLength`]. + pub fn builder() -> BlockLengthBuilder { + BlockLengthBuilder { length: Default::default() } + } + + /// Returns the maximum header size. + pub fn max_header_size(&self) -> u32 { + self.max_header_size.unwrap_or_else(|| { + let max_block_len = *self + .max + .get(DispatchClass::Normal) + .max(self.max.get(DispatchClass::Operational)) + .max(self.max.get(DispatchClass::Mandatory)); + max_block_len / 5 + }) + } +} + +/// Builder for [`BlockLength`]. +pub struct BlockLengthBuilder { + length: BlockLength, +} + +impl BlockLengthBuilder { + /// Set max block length for all classes. + pub fn max_length(mut self, max: u32) -> Self { + self.length.max = PerDispatchClass::new(|_| max); + self + } + + /// Modify max block length for the given [`DispatchClass`]. + pub fn modify_max_length_for_class( + mut self, + class: DispatchClass, + modify: impl Fn(&mut u32), + ) -> Self { + modify(self.length.max.get_mut(class)); + self + } + + /// Set the max header size. + pub fn max_header_size(mut self, size: u32) -> Self { + self.length.max_header_size = Some(size); + self + } + + /// Build the final [`BlockLength`]. + pub fn build(self) -> BlockLength { + self.length + } } #[derive(Default, Debug)] diff --git a/substrate/frame/system/src/mock.rs b/substrate/frame/system/src/mock.rs index e476014a63486..1fceb1d506fa2 100644 --- a/substrate/frame/system/src/mock.rs +++ b/substrate/frame/system/src/mock.rs @@ -30,6 +30,7 @@ frame_support::construct_runtime!( const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); const MAX_BLOCK_WEIGHT: Weight = Weight::from_parts(1024, u64::MAX); +const MAX_BLOCK_LENGTH: u32 = 2048; parameter_types! { pub Version: RuntimeVersion = RuntimeVersion { @@ -63,8 +64,12 @@ parameter_types! { }) .avg_block_initialization(Perbill::from_percent(0)) .build_or_panic(); - pub RuntimeBlockLength: limits::BlockLength = - limits::BlockLength::max_with_normal_ratio(1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: limits::BlockLength = limits::BlockLength::builder() + .max_length(MAX_BLOCK_LENGTH) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * MAX_BLOCK_LENGTH + }) + .build(); } parameter_types! { diff --git a/substrate/frame/system/src/offchain.rs b/substrate/frame/system/src/offchain.rs index f04064b6013a6..6508aef804ce7 100644 --- a/substrate/frame/system/src/offchain.rs +++ b/substrate/frame/system/src/offchain.rs @@ -198,7 +198,7 @@ impl> Signer 1337 { - return Weight::zero() + return Weight::zero(); } // Do the migration. @@ -977,3 +978,89 @@ fn initialize_block_number_must_be_sequential() { System::initialize(&3, &[0u8; 32].into(), &Default::default()); }); } +#[test] +fn preinherent_digest_is_preserved() { + new_test_ext().execute_with(|| { + let data = vec![42u8; 100]; + let digest = Digest { logs: vec![DigestItem::PreRuntime(*b"test", data.clone())] }; + + System::initialize(&1, &[0u8; 32].into(), &digest); + + let stored_digest = >::get(); + assert_eq!(stored_digest.logs.len(), 1); + + if let Some(DigestItem::PreRuntime(id, stored_data)) = stored_digest.logs.first() { + assert_eq!(id, b"test"); + assert_eq!(stored_data, &data); + } else { + panic!("Expected PreRuntime digest item"); + } + + let header = System::finalize(); + assert_eq!(header.digest().logs.len(), 1); + + if let Some(DigestItem::PreRuntime(id, header_data)) = header.digest().logs.first() { + assert_eq!(id, b"test"); + assert_eq!(header_data, &data); + } else { + panic!("Expected PreRuntime digest item in finalized header"); + } + }); +} + +#[test] +fn block_size_includes_digest_and_header_overhead() { + new_test_ext().execute_with(|| { + let data = vec![42u8; 100]; + let digest = Digest { logs: vec![DigestItem::PreRuntime(*b"test", data.clone())] }; + + System::initialize(&1, &[0u8; 32].into(), &digest); + + let block_size = System::block_size(); + + let digest_size = digest.encoded_size(); + use sp_runtime::traits::{Block as BlockT, Header as HeaderT}; + let empty_header = <::Block as BlockT>::Header::new( + 1, + Default::default(), + Default::default(), + [0u8; 32].into(), + Default::default(), + ); + let empty_header_size = empty_header.encoded_size(); + let expected_overhead = digest_size + empty_header_size; + + assert_eq!(block_size as usize, expected_overhead); + assert!(block_size > 100); + }); +} + +#[test] +fn deposit_log_updates_block_size() { + new_test_ext().execute_with(|| { + System::initialize(&1, &[0u8; 32].into(), &Default::default()); + + let initial_len = System::block_size(); + + let log_data = vec![42u8; 1000]; + let log_item = DigestItem::Other(log_data.clone()); + let log_size = log_item.encoded_size(); + + System::deposit_log(log_item); + + let new_len = System::block_size(); + assert_eq!(new_len, initial_len + log_size as u32); + }); +} + +#[test] +#[should_panic(expected = "Header size")] +fn inherent_digest_exceeding_max_header_size_panics() { + new_test_ext().execute_with(|| { + let max_header_size = RuntimeBlockLength::get().max_header_size(); + let large_data = vec![42u8; max_header_size as usize + 10]; + let digest = Digest { logs: vec![DigestItem::PreRuntime(*b"test", large_data)] }; + + System::initialize(&1, &[0u8; 32].into(), &digest); + }); +} diff --git a/substrate/frame/timestamp/src/lib.rs b/substrate/frame/timestamp/src/lib.rs index dc3f29fded938..bade6fedf7c6c 100644 --- a/substrate/frame/timestamp/src/lib.rs +++ b/substrate/frame/timestamp/src/lib.rs @@ -120,7 +120,6 @@ //! //! 2. If a timestamp is set more than once per block: #![doc = docify::embed!("src/tests.rs", double_timestamp_should_fail)] -//! //! 3. If a timestamp is set before the [`Config::MinimumPeriod`] is elapsed: #![doc = docify::embed!("src/tests.rs", block_period_minimum_enforced)] #![deny(missing_docs)] diff --git a/substrate/frame/tips/src/lib.rs b/substrate/frame/tips/src/lib.rs index 206a2118c2c9c..f0b0adab4f9a4 100644 --- a/substrate/frame/tips/src/lib.rs +++ b/substrate/frame/tips/src/lib.rs @@ -548,9 +548,9 @@ impl, I: 'static> Pallet { Some(m) => { member = members_iter.next(); if m < a { - continue + continue; } else { - break true + break true; } }, } diff --git a/substrate/frame/tips/src/migrations/unreserve_deposits.rs b/substrate/frame/tips/src/migrations/unreserve_deposits.rs index afc424309bf4d..3c9c3668e2b85 100644 --- a/substrate/frame/tips/src/migrations/unreserve_deposits.rs +++ b/substrate/frame/tips/src/migrations/unreserve_deposits.rs @@ -176,7 +176,7 @@ where // Deposited funds need to be unreserved. for (account, unreserve_amount) in account_deposits.iter() { if unreserve_amount.is_zero() { - continue + continue; } T::Currency::unreserve(&account, *unreserve_amount); } @@ -219,7 +219,7 @@ where actual_reserved_after, expected_amount_deducted ); - return Err("Reserved balance is incorrect".into()) + return Err("Reserved balance is incorrect".into()); } } diff --git a/substrate/frame/tips/src/migrations/v4.rs b/substrate/frame/tips/src/migrations/v4.rs index 8b0e65c58dbde..dd00ae6c77b48 100644 --- a/substrate/frame/tips/src/migrations/v4.rs +++ b/substrate/frame/tips/src/migrations/v4.rs @@ -50,7 +50,7 @@ pub fn migrate::on_chain_storage_version(); @@ -110,7 +110,7 @@ pub fn pre_migrate< log_migration("pre-migration", storage_prefix_reasons, old_pallet_name, new_pallet_name); if new_pallet_name == old_pallet_name { - return + return; } let new_pallet_prefix = twox_128(new_pallet_name.as_bytes()); @@ -149,7 +149,7 @@ pub fn post_migrate< log_migration("post-migration", storage_prefix_reasons, old_pallet_name, new_pallet_name); if new_pallet_name == old_pallet_name { - return + return; } // Assert that no `Tips` and `Reasons` storages remains at the old prefix. diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/lib.rs b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/lib.rs index 9dc2d9e00229b..8777b3d861833 100644 --- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/lib.rs +++ b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/lib.rs @@ -313,7 +313,7 @@ where _source: TransactionSource, ) -> ValidateResult { let Some(who) = origin.as_system_origin_signer() else { - return Ok((ValidTransaction::default(), Val::NoCharge, origin)) + return Ok((ValidTransaction::default(), Val::NoCharge, origin)); }; // Non-mutating call of `compute_fee` to calculate the fee used in the transaction priority. let fee = pallet_transaction_payment::Pallet::::compute_fee(len as u32, info, self.tip); @@ -350,11 +350,12 @@ where _result: &DispatchResult, ) -> Result { let (tip, who, initial_payment, extension_weight) = match pre { - Pre::Charge { tip, who, initial_payment, weight } => - (tip, who, initial_payment, weight), + Pre::Charge { tip, who, initial_payment, weight } => { + (tip, who, initial_payment, weight) + }, Pre::NoCharge { refund } => { // No-op: Refund everything - return Ok(refund) + return Ok(refund); }, }; diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs index c13be5e268721..4bc3dcb86baf2 100644 --- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs +++ b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs @@ -331,8 +331,8 @@ impl BenchmarkHelperTrait, NativeOrWithId> for Hel assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_idx.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient 1, )); diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/payment.rs b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/payment.rs index 05182c3c9ee65..6fb92cb5ddb2c 100644 --- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/payment.rs +++ b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/payment.rs @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -///! Traits and default implementation for paying transaction fees in assets. +/// ! Traits and default implementation for paying transaction fees in assets. use super::*; use crate::Config; @@ -161,7 +161,7 @@ where Err((credit_in, _)) => { defensive!("Fee swap should pass for the quoted amount"); let _ = F::resolve(who, credit_in).defensive_proof("Should resolve the credit"); - return Err(InvalidTransaction::Payment.into()) + return Err(InvalidTransaction::Payment.into()); }, }; @@ -184,15 +184,8 @@ where if asset_id == A::get() { // The `asset_id` is the target asset, we do not need to swap. match F::can_withdraw(asset_id.clone(), who, fee) { - WithdrawConsequence::BalanceLow | - WithdrawConsequence::UnknownAsset | - WithdrawConsequence::Underflow | - WithdrawConsequence::Overflow | - WithdrawConsequence::Frozen => - return Err(TransactionValidityError::from(InvalidTransaction::Payment)), - WithdrawConsequence::Success | - WithdrawConsequence::ReducedToZero(_) | - WithdrawConsequence::WouldDie => return Ok(()), + WithdrawConsequence::Success => return Ok(()), + _ => return Err(TransactionValidityError::from(InvalidTransaction::Payment)), } } @@ -202,15 +195,8 @@ where // Ensure we can withdraw enough `asset_id` for the swap. match F::can_withdraw(asset_id.clone(), who, asset_fee) { - WithdrawConsequence::BalanceLow | - WithdrawConsequence::UnknownAsset | - WithdrawConsequence::Underflow | - WithdrawConsequence::Overflow | - WithdrawConsequence::Frozen => - return Err(TransactionValidityError::from(InvalidTransaction::Payment)), - WithdrawConsequence::Success | - WithdrawConsequence::ReducedToZero(_) | - WithdrawConsequence::WouldDie => {}, + WithdrawConsequence::Success => {}, + _ => return Err(TransactionValidityError::from(InvalidTransaction::Payment)), }; Ok(()) @@ -285,7 +271,7 @@ where // expected to be exactly equal to the amount of `refund_asset` credit. _ => { defensive!("Debt should be equal to the refund credit"); - return Err(InvalidTransaction::Payment.into()) + return Err(InvalidTransaction::Payment.into()); }, }; ( @@ -301,7 +287,7 @@ where // The error should not occur as the `debt` was just withdrawn above. Err(_) => { defensive!("Should settle the debt"); - return Err(InvalidTransaction::Payment.into()) + return Err(InvalidTransaction::Payment.into()); }, }; let adjusted_paid = adjusted_paid.merge(refund).map_err(|_| { diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/tests.rs b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/tests.rs index 76d46aa164713..35373c1543bca 100644 --- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/tests.rs +++ b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/tests.rs @@ -22,7 +22,7 @@ use frame_support::{ traits::{ fungible::{Inspect, NativeOrWithId}, fungibles::{Inspect as FungiblesInspect, Mutate}, - tokens::{Fortitude, Precision, Preservation}, + tokens::{Fortitude, Precision, Preservation, WithdrawConsequence}, OriginTrait, }, weights::Weight, @@ -225,8 +225,8 @@ fn transaction_payment_in_asset_possible() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance )); @@ -305,8 +305,8 @@ fn transaction_payment_in_asset_fails_if_no_pool_for_that_asset() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance )); @@ -352,8 +352,8 @@ fn transaction_payment_without_fee() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance, )); @@ -431,8 +431,8 @@ fn asset_transaction_payment_with_tip_and_refund() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance, )); @@ -528,8 +528,8 @@ fn payment_from_account_with_only_assets() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance, )); @@ -600,8 +600,8 @@ fn converted_fee_is_never_zero_if_input_fee_is_not() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance )); @@ -688,8 +688,8 @@ fn post_dispatch_fee_is_zero_if_pre_dispatch_fee_is_zero() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance )); @@ -808,8 +808,8 @@ fn transfer_add_and_remove_account() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance, )); @@ -925,3 +925,128 @@ fn no_fee_and_no_weight_for_other_origins() { assert_eq!(post_info.actual_weight, Some(info.call_weight)); }) } + +/// Tests that validation rejects transactions that would result in `ReducedToZero` for native +/// assets. +#[test] +fn transaction_payment_rejects_reduced_to_zero_in_native_asset() { + let base_weight = 5; + let balance_factor = 100; + ExtBuilder::default() + .balance_factor(balance_factor) + .base_weight(Weight::from_parts(base_weight, 0)) + .build() + .execute_with(|| { + let ed = Balances::minimum_balance(); + let len = 10; + let weight = 5; + let tip = 5; + + let asset_id = NativeOrWithId::Native; + let ext = ChargeAssetTxPayment::::from(tip, Some(asset_id.clone().into())); + let mut info = info_from_weight(Weight::from_parts(weight, 0)); + info.extension_weight = ext.weight(CALL); + + // Calculate the actual fee + let fee = + pallet_transaction_payment::Pallet::::compute_fee(len as u32, &info, tip); + + // Set balance to cause ReducedToZero + let balance = ed + fee - 1; + let caller = 1; + assert_ok!(Balances::force_set_balance(RuntimeOrigin::root(), caller, balance)); + + // Verify that can_withdraw returns ReducedToZero + let consequence = Balances::can_withdraw(&caller, fee); + assert!( + matches!(consequence, WithdrawConsequence::ReducedToZero(_)), + "can_withdraw should return ReducedToZero, got: {:?}", + consequence + ); + + let result = ext.validate_only( + Some(caller).into(), + CALL, + &info, + len, + sp_runtime::transaction_validity::TransactionSource::External, + 0, + ); + + // ReducedToZero should be rejected during validation + assert!(result.is_err(), "Validation should reject ReducedToZero."); + }); +} + +/// Tests that validation rejects transactions that would result in `ReducedToZero` for assets. +#[test] +fn transaction_payment_rejects_reduced_to_zero_in_asset() { + let base_weight = 5; + let balance_factor = 100; + ExtBuilder::default() + .balance_factor(balance_factor) + .base_weight(Weight::from_parts(base_weight, 0)) + .build() + .execute_with(|| { + System::set_block_number(1); + + // create the asset + let asset_id = 1; + let min_balance = 2; + assert_ok!(Assets::force_create( + RuntimeOrigin::root(), + asset_id.into(), + 42, // owner + true, // is_sufficient + min_balance + )); + + setup_lp(asset_id, balance_factor); + + let caller = 999; + let beneficiary = ::Lookup::unlookup(caller); + let len = 10; + let weight = 5; + let tip = 5; + + // Calculate the actual fee + let ext = ChargeAssetTxPayment::::from(tip, Some(asset_id.into())); + let mut info = info_from_weight(Weight::from_parts(weight, 0)); + info.extension_weight = ext.weight(CALL); + + let fee_in_native = + pallet_transaction_payment::Pallet::::compute_fee(len as u32, &info, tip); + + let fee_in_asset = AssetConversion::quote_price_tokens_for_exact_tokens( + NativeOrWithId::WithId(asset_id), + NativeOrWithId::Native, + fee_in_native, + true, + ) + .unwrap(); + + // Set asset balance to cause ReducedToZero + let asset_balance = min_balance + fee_in_asset - 1; + assert_ok!(Assets::mint_into(asset_id.into(), &beneficiary, asset_balance)); + + // Verify that can_withdraw returns ReducedToZero + let consequence = Assets::can_withdraw(asset_id, &caller, fee_in_asset); + assert!( + matches!(consequence, WithdrawConsequence::ReducedToZero(_)), + "can_withdraw should return ReducedToZero, got: {:?}", + consequence + ); + + let result = ext.validate_only( + Some(caller).into(), + CALL, + &info, + len, + sp_runtime::transaction_validity::TransactionSource::External, + 0, + ); + + // ReducedToZero should be rejected during validation + assert!(result.is_err(), "Validation should reject ReducedToZero."); + }); +} diff --git a/substrate/frame/transaction-payment/asset-tx-payment/src/lib.rs b/substrate/frame/transaction-payment/asset-tx-payment/src/lib.rs index 214c61c3a6d6d..42db2d1b3d4b1 100644 --- a/substrate/frame/transaction-payment/asset-tx-payment/src/lib.rs +++ b/substrate/frame/transaction-payment/asset-tx-payment/src/lib.rs @@ -332,7 +332,7 @@ where > { use pallet_transaction_payment::ChargeTransactionPayment; let Some(who) = origin.as_system_origin_signer() else { - return Ok((ValidTransaction::default(), Val::NoCharge, origin)) + return Ok((ValidTransaction::default(), Val::NoCharge, origin)); }; // Non-mutating call of `compute_fee` to calculate the fee used in the transaction priority. let fee = pallet_transaction_payment::Pallet::::compute_fee(len as u32, info, self.tip); @@ -375,11 +375,12 @@ where result: &DispatchResult, ) -> Result { let (tip, who, initial_payment, asset_id, extension_weight) = match pre { - Pre::Charge { tip, who, initial_payment, asset_id, weight } => - (tip, who, initial_payment, asset_id, weight), + Pre::Charge { tip, who, initial_payment, asset_id, weight } => { + (tip, who, initial_payment, asset_id, weight) + }, Pre::NoCharge { refund } => { // No-op: Refund everything - return Ok(refund) + return Ok(refund); }, }; diff --git a/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs b/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs index 568ce4ba0cd78..0d37148ebfbf2 100644 --- a/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs +++ b/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs @@ -233,8 +233,8 @@ impl BenchmarkHelperTrait for Helper { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance )); diff --git a/substrate/frame/transaction-payment/asset-tx-payment/src/payment.rs b/substrate/frame/transaction-payment/asset-tx-payment/src/payment.rs index 96a6f6721c3be..f383f7ee44de9 100644 --- a/substrate/frame/transaction-payment/asset-tx-payment/src/payment.rs +++ b/substrate/frame/transaction-payment/asset-tx-payment/src/payment.rs @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -///! Traits and default implementation for paying transaction fees in assets. +/// ! Traits and default implementation for paying transaction fees in assets. use super::*; use crate::Config; @@ -149,7 +149,7 @@ where converted_fee, ); if can_withdraw != WithdrawConsequence::Success { - return Err(InvalidTransaction::Payment.into()) + return Err(InvalidTransaction::Payment.into()); } >::withdraw( asset_id, @@ -183,7 +183,7 @@ where let can_withdraw = >::can_withdraw(asset_id, who, converted_fee); if can_withdraw != WithdrawConsequence::Success { - return Err(InvalidTransaction::Payment.into()) + return Err(InvalidTransaction::Payment.into()); } Ok(()) } diff --git a/substrate/frame/transaction-payment/asset-tx-payment/src/tests.rs b/substrate/frame/transaction-payment/asset-tx-payment/src/tests.rs index 2aa5d8ec7beed..d6f0e470a75f8 100644 --- a/substrate/frame/transaction-payment/asset-tx-payment/src/tests.rs +++ b/substrate/frame/transaction-payment/asset-tx-payment/src/tests.rs @@ -183,8 +183,8 @@ fn transaction_payment_in_asset_possible() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance )); @@ -254,8 +254,8 @@ fn transaction_payment_without_fee() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance )); @@ -315,8 +315,8 @@ fn asset_transaction_payment_with_tip_and_refund() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance )); @@ -389,8 +389,8 @@ fn payment_from_account_with_only_assets() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance )); @@ -460,8 +460,8 @@ fn payment_only_with_existing_sufficient_asset() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - false, /* is_sufficient */ + 42, // owner + false, // is_sufficient min_balance )); // pre_dispatch fails for non-sufficient asset @@ -491,8 +491,8 @@ fn converted_fee_is_never_zero_if_input_fee_is_not() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance )); @@ -568,8 +568,8 @@ fn post_dispatch_fee_is_zero_if_pre_dispatch_fee_is_zero() { assert_ok!(Assets::force_create( RuntimeOrigin::root(), asset_id.into(), - 42, /* owner */ - true, /* is_sufficient */ + 42, // owner + true, // is_sufficient min_balance )); diff --git a/substrate/frame/transaction-payment/src/benchmarking.rs b/substrate/frame/transaction-payment/src/benchmarking.rs index 70ecfbf149e57..e718ab65cb276 100644 --- a/substrate/frame/transaction-payment/src/benchmarking.rs +++ b/substrate/frame/transaction-payment/src/benchmarking.rs @@ -26,7 +26,21 @@ use frame_support::dispatch::{DispatchInfo, PostDispatchInfo}; use frame_system::{EventRecord, RawOrigin}; use sp_runtime::traits::{AsTransactionAuthorizedOrigin, DispatchTransaction, Dispatchable}; -fn assert_last_event(generic_event: ::RuntimeEvent) { +/// Benchmark configuration trait. +/// +/// This extends the pallet's Config trait to allow runtimes to set up any +/// required state before running benchmarks. For example, runtimes that +/// distribute fees to block authors may need to set the author before +/// the benchmark runs. +pub trait Config: crate::Config { + /// Called at the start of each benchmark to set up any required state. + /// + /// The default implementation is a no-op. Runtimes can override this + /// to perform setup like setting the block author for fee distribution. + fn setup_benchmark_environment() {} +} + +fn assert_last_event(generic_event: ::RuntimeEvent) { let events = frame_system::Pallet::::events(); let system_event: ::RuntimeEvent = generic_event.into(); // compare to the last event record @@ -44,19 +58,17 @@ mod benchmarks { #[benchmark] fn charge_transaction_payment() { + ::setup_benchmark_environment(); + let caller: T::AccountId = account("caller", 0, 0); let existential_deposit = >::minimum_balance(); - let (amount_to_endow, tip) = if existential_deposit.is_zero() { - let min_tip: <::OnChargeTransaction as payment::OnChargeTransaction>::Balance = 1_000_000_000u32.into(); - (min_tip * 1000u32.into(), min_tip) - } else { - (existential_deposit * 1000u32.into(), existential_deposit) - }; - - >::endow_account(&caller, amount_to_endow); + // Use a reasonable minimum tip that works for most runtimes + let min_tip: BalanceOf = 1_000_000_000u32.into(); + let tip = if existential_deposit.is_zero() { min_tip } else { existential_deposit }; + // Build the call and dispatch info first so we can compute the actual fee let ext: ChargeTransactionPayment = ChargeTransactionPayment::from(tip); let inner = frame_system::Call::remark { remark: alloc::vec![] }; let call = T::RuntimeCall::from(inner); @@ -72,18 +84,32 @@ mod benchmarks { pays_fee: Pays::Yes, }; + // Calculate the actual fee that will be charged, then endow enough to cover it + // with a 10x buffer to account for any fee multiplier variations. + // Ensure we endow at least the existential deposit so the account can exist. + let len: u32 = 10; + let expected_fee = Pallet::::compute_fee(len, &info, tip); + let amount_to_endow = expected_fee.max(existential_deposit).saturating_mul(10u32.into()); + + >::endow_account(&caller, amount_to_endow); + #[block] { assert!(ext - .test_run(RawOrigin::Signed(caller.clone()).into(), &call, &info, 10, 0, |_| Ok( - post_info - )) + .test_run( + RawOrigin::Signed(caller.clone()).into(), + &call, + &info, + len as usize, + 0, + |_| Ok(post_info) + ) .unwrap() .is_ok()); } post_info.actual_weight.as_mut().map(|w| w.saturating_accrue(extension_weight)); - let actual_fee = Pallet::::compute_actual_fee(10, &info, &post_info, tip); + let actual_fee = Pallet::::compute_actual_fee(len, &info, &post_info, tip); assert_last_event::( Event::::TransactionFeePaid { who: caller, actual_fee, tip }.into(), ); diff --git a/substrate/frame/transaction-payment/src/lib.rs b/substrate/frame/transaction-payment/src/lib.rs index b26450ea27662..01d9a0c17f0e8 100644 --- a/substrate/frame/transaction-payment/src/lib.rs +++ b/substrate/frame/transaction-payment/src/lib.rs @@ -79,6 +79,8 @@ mod tests; #[cfg(feature = "runtime-benchmarks")] mod benchmarking; +#[cfg(feature = "runtime-benchmarks")] +pub use benchmarking::Config as BenchmarkConfig; mod payment; mod types; @@ -491,7 +493,7 @@ pub mod pallet { if addition == Weight::zero() { // this is most likely because in a test setup we set everything to () // or to `ConstFeeMultiplier`. - return + return; } // This is the minimum value of the multiplier. Make sure that if we collapse to this @@ -729,7 +731,7 @@ impl Pallet { >::mutate(|credit| { let credit = SuppressedDrop::as_mut(credit.as_mut()?); if amount > credit.peek() { - return None + return None; } Some(credit.extract(amount)) }) @@ -1058,7 +1060,7 @@ where Pre::Charge { tip, who, liquidity_info } => (tip, who, liquidity_info), Pre::NoCharge { refund } => { // No-op: Refund everything - return Ok(refund) + return Ok(refund); }, }; let actual_fee_with_tip = diff --git a/substrate/frame/transaction-payment/src/mock.rs b/substrate/frame/transaction-payment/src/mock.rs index 3995c41e8b197..57d588f00574e 100644 --- a/substrate/frame/transaction-payment/src/mock.rs +++ b/substrate/frame/transaction-payment/src/mock.rs @@ -138,6 +138,9 @@ impl Config for Runtime { type WeightInfo = MockWeights; } +#[cfg(feature = "runtime-benchmarks")] +impl crate::BenchmarkConfig for Runtime {} + #[cfg(feature = "runtime-benchmarks")] pub fn new_test_ext() -> sp_io::TestExternalities { crate::tests::ExtBuilder::default() diff --git a/substrate/frame/transaction-payment/src/payment.rs b/substrate/frame/transaction-payment/src/payment.rs index 0164818fe9268..1c601f8c31f11 100644 --- a/substrate/frame/transaction-payment/src/payment.rs +++ b/substrate/frame/transaction-payment/src/payment.rs @@ -130,7 +130,7 @@ where tip: Self::Balance, ) -> Result { if fee_with_tip.is_zero() { - return Ok(None) + return Ok(None); } let credit = F::withdraw( @@ -157,7 +157,7 @@ where _tip: Self::Balance, ) -> Result<(), TransactionValidityError> { if fee_with_tip.is_zero() { - return Ok(()) + return Ok(()); } match F::can_withdraw(who, fee_with_tip) { @@ -270,7 +270,7 @@ where tip: Self::Balance, ) -> Result { if fee_with_tip.is_zero() { - return Ok(None) + return Ok(None); } let withdraw_reason = if tip.is_zero() { @@ -296,7 +296,7 @@ where tip: Self::Balance, ) -> Result<(), TransactionValidityError> { if fee_with_tip.is_zero() { - return Ok(()) + return Ok(()); } let withdraw_reason = if tip.is_zero() { diff --git a/substrate/frame/transaction-payment/src/types.rs b/substrate/frame/transaction-payment/src/types.rs index d6b4a6557447d..4a66768df51a1 100644 --- a/substrate/frame/transaction-payment/src/types.rs +++ b/substrate/frame/transaction-payment/src/types.rs @@ -37,7 +37,6 @@ pub struct InclusionFee { pub base_fee: Balance, /// The length fee, the amount paid for the encoded length (in bytes) of the transaction. pub len_fee: Balance, - /// /// - `targeted_fee_adjustment`: This is a multiplier that can tune the final fee based on the /// congestion of the network. /// - `weight_fee`: This amount is computed based on the weight of the transaction. Weight diff --git a/substrate/frame/transaction-storage/Cargo.toml b/substrate/frame/transaction-storage/Cargo.toml index c3ee687bda0a9..f5a2e8923e4eb 100644 --- a/substrate/frame/transaction-storage/Cargo.toml +++ b/substrate/frame/transaction-storage/Cargo.toml @@ -46,6 +46,7 @@ std = [ "sp-inherents/std", "sp-io/std", "sp-runtime/std", + "sp-transaction-storage-proof/std", "tracing/std", ] runtime-benchmarks = [ diff --git a/substrate/frame/transaction-storage/README.md b/substrate/frame/transaction-storage/README.md index b173c0a84d5a0..62741a0127281 100644 --- a/substrate/frame/transaction-storage/README.md +++ b/substrate/frame/transaction-storage/README.md @@ -2,8 +2,8 @@ Indexes transactions and manages storage proofs. -Allows storing arbitrary data on the chain. Data is automatically removed after `StoragePeriod` blocks, unless the -storage is renewed. Validators must submit proof of storing a random chunk of data for block `N - StoragePeriod` when +Allows storing arbitrary data on the chain. Data is automatically removed after `RetentionPeriod` blocks, unless the +storage is renewed. Validators must submit proof of storing a random chunk of data for block `N - RetentionPeriod` when producing block `N`. # Running a chain @@ -17,7 +17,7 @@ cargo run --release -- build-spec --chain=local > sc_init.json ``` Edit the json chain spec file to customise the chain. The storage chain genesis params are configured in the -`transactionStorage` section. Note that `storagePeriod` is specified in blocks and changing it also requires code +`transactionStorage` section. Note that `retentionPeriod` is specified in blocks and changing it also requires code changes at the moment. Build a raw spec from the init spec. @@ -34,7 +34,7 @@ cargo run --release -- --chain=sc.json -d /tmp/bob --storage-chain --keep-blocks ``` `--storage-chain` enables transaction indexing. `--keep-blocks=100800` enables block pruning. The value here should be -greater or equal than the storage period. `--ipfs-server` enables serving stored content over IPFS. +greater or equal than the retention period. `--ipfs-server` enables serving stored content over IPFS. Once the network is started, any other joining nodes need to sync with `--sync=fast`. Regular sync will fail because block pruning removes old blocks. The chain does not keep full block history. @@ -78,7 +78,7 @@ ipfs swarm connect ipfs block get /ipfs/ > kitten.jpeg ``` -To renew data and prevent it from being disposed after the storage period, use `transactionStorage.renew(block, index)` +To renew data and prevent it from being disposed after the retention period, use `transactionStorage.renew(block, index)` where `block` is the block number of the previous store or renew transaction, and index is the index of that transaction in the block. diff --git a/substrate/frame/transaction-storage/src/benchmarking.rs b/substrate/frame/transaction-storage/src/benchmarking.rs index d65fd667d4ea5..491aed33e00b6 100644 --- a/substrate/frame/transaction-storage/src/benchmarking.rs +++ b/substrate/frame/transaction-storage/src/benchmarking.rs @@ -169,7 +169,7 @@ mod benchmarks { vec![0u8; T::MaxTransactionSize::get() as usize], )?; } - run_to_block::(StoragePeriod::::get() + BlockNumberFor::::one()); + run_to_block::(crate::Pallet::::retention_period() + BlockNumberFor::::one()); let encoded_proof = proof(); let proof = TransactionStorageProof::decode(&mut &*encoded_proof).unwrap(); diff --git a/substrate/frame/transaction-storage/src/lib.rs b/substrate/frame/transaction-storage/src/lib.rs index a0206631da672..253eb2cd06b68 100644 --- a/substrate/frame/transaction-storage/src/lib.rs +++ b/substrate/frame/transaction-storage/src/lib.rs @@ -32,7 +32,7 @@ extern crate alloc; use alloc::vec::Vec; use codec::{Decode, Encode, MaxEncodedLen}; -use core::{fmt::Debug, result}; +use core::fmt::Debug; use frame_support::{ dispatch::GetDispatchInfo, pallet_prelude::InvalidTransaction, @@ -57,7 +57,10 @@ pub type CreditOf = Credit<::AccountId, ; /// Maximum data set in a single transaction in bytes. + #[pallet::constant] type MaxTransactionSize: Get; } @@ -185,8 +190,6 @@ pub mod pallet { NotConfigured, /// Renewed extrinsic is not found. RenewedNotFound, - /// Attempting to store an empty transaction - EmptyTransaction, /// Proof was not expected in this block. UnexpectedProof, /// Proof failed verification. @@ -199,8 +202,6 @@ pub mod pallet { DoubleCheck, /// Storage proof was not checked in the block. ProofNotChecked, - /// Transaction is too large. - TransactionTooLarge, /// Authorization was not found. AuthorizationNotFound, /// Authorization has not expired. @@ -220,7 +221,7 @@ pub mod pallet { // Drop obsolete roots. The proof for `obsolete` will be checked later // in this block, so we drop `obsolete` - 1. weight.saturating_accrue(db_weight.reads(1)); - let period = StoragePeriod::::get(); + let period = Self::retention_period(); let obsolete = n.saturating_sub(period.saturating_add(One::one())); if obsolete > Zero::zero() { weight.saturating_accrue(db_weight.writes(1)); @@ -237,7 +238,7 @@ pub mod pallet { ProofChecked::::take() || { // Proof is not required for early or empty blocks. let number = frame_system::Pallet::::block_number(); - let period = StoragePeriod::::get(); + let period = Self::retention_period(); let target_number = number.saturating_sub(period); target_number.is_zero() || { @@ -248,6 +249,7 @@ pub mod pallet { }, "Storage proof must be checked once in the block" ); + // Insert new transactions, iff they have chunks. let transactions = BlockTransactions::::take(); let total_chunks = TransactionInfo::total_chunks(&transactions); @@ -255,29 +257,50 @@ pub mod pallet { Transactions::::insert(n, transactions); } } + + fn integrity_test() { + assert!( + !T::MaxBlockTransactions::get().is_zero(), + "MaxTransactionSize must be greater than zero" + ); + assert!( + !T::MaxTransactionSize::get().is_zero(), + "MaxTransactionSize must be greater than zero" + ); + let default_period = DEFAULT_RETENTION_PERIOD.into(); + let retention_period = GenesisConfig::::default().retention_period; + assert_eq!( + retention_period, default_period, + "GenesisConfig.retention_period must match DEFAULT_RETENTION_PERIOD" + ); + } } #[pallet::call] impl Pallet { - /// Index and store data off chain. Minimum data size is 1 bytes, maximum is - /// `MaxTransactionSize`. Data will be removed after `STORAGE_PERIOD` blocks, unless `renew` - /// is called. + /// Index and store data off chain. Minimum data size is 1 byte, maximum is + /// `MaxTransactionSize`. Data will be removed after `RetentionPeriod` blocks, unless + /// `renew` is called. + /// + /// Emits [`Stored`](Event::Stored) when successful. + /// /// ## Complexity - /// - O(n*log(n)) of data size, as all data is pushed to an in-memory trie. + /// + /// O(n*log(n)) of data size, as all data is pushed to an in-memory trie. #[pallet::call_index(0)] #[pallet::weight(T::WeightInfo::store(data.len() as u32))] pub fn store(origin: OriginFor, data: Vec) -> DispatchResult { - ensure!(data.len() > 0, Error::::EmptyTransaction); - ensure!( - data.len() <= T::MaxTransactionSize::get() as usize, - Error::::TransactionTooLarge - ); + // In the case of a regular unsigned transaction, this should have been checked by + // pre_dispatch. In the case of a regular signed transaction, this should have been + // checked by pre_dispatch_signed. + Self::ensure_data_size_ok(data.len())?; let sender = ensure_signed(origin)?; Self::apply_fee(sender, data.len() as u32)?; // Chunk data and compute storage root - let chunk_count = num_chunks(data.len() as u32); - let chunks = data.chunks(CHUNK_SIZE).map(|c| c.to_vec()).collect(); + let chunks: Vec<_> = data.chunks(CHUNK_SIZE).map(|c| c.to_vec()).collect(); + let chunk_count = chunks.len() as u32; + debug_assert_eq!(chunk_count, num_chunks(data.len() as u32)); let root = sp_io::trie::blake2_256_ordered_root(chunks, sp_runtime::StateVersion::V1); let content_hash = sp_io::hashing::blake2_256(&data); @@ -299,19 +322,21 @@ pub mod pallet { content_hash: content_hash.into(), block_chunks: total_chunks, }) - .map_err(|_| Error::::TooManyTransactions)?; - Ok(()) + .map_err(|_| Error::::TooManyTransactions) })?; Self::deposit_event(Event::Stored { index, content_hash }); Ok(()) } - /// Renew previously stored data. Parameters are the block number that contains - /// previous `store` or `renew` call and transaction index within that block. - /// Transaction index is emitted in the `Stored` or `Renewed` event. - /// Applies same fees as `store`. + /// Renew previously stored data. Parameters are the block number that contains previous + /// `store` or `renew` call and transaction index within that block. Transaction index is + /// emitted in the `Stored` or `Renewed` event. Applies same fees as `store`. + /// + /// Emits [`Renewed`](Event::Renewed) when successful. + /// /// ## Complexity - /// - O(1). + /// + /// O(1). #[pallet::call_index(1)] #[pallet::weight(T::WeightInfo::renew())] pub fn renew( @@ -320,11 +345,15 @@ pub mod pallet { index: u32, ) -> DispatchResultWithPostInfo { let sender = ensure_signed(origin)?; - let transactions = Transactions::::get(block).ok_or(Error::::RenewedNotFound)?; - let info = transactions.get(index as usize).ok_or(Error::::RenewedNotFound)?; + let info = Self::transaction_info(block, index).ok_or(Error::::RenewedNotFound)?; + + // In the case of a regular unsigned transaction, this should have been checked by + // pre_dispatch. In the case of a regular signed transaction, this should have been + // checked by pre_dispatch_signed. + Self::ensure_data_size_ok(info.size as usize)?; + let extrinsic_index = frame_system::Pallet::::extrinsic_index().ok_or(Error::::BadContext)?; - Self::apply_fee(sender, info.size)?; let content_hash = info.content_hash.into(); sp_io::transaction_index::renew(extrinsic_index, content_hash); @@ -350,12 +379,12 @@ pub mod pallet { Ok(().into()) } - /// Check storage proof for block number `block_number() - StoragePeriod`. - /// If such a block does not exist, the proof is expected to be `None`. + /// Check storage proof for block number `block_number() - RetentionPeriod`. If such a block + /// does not exist, the proof is expected to be `None`. /// /// ## Complexity - /// - Linear w.r.t the number of indexed transactions in the proved block for random - /// probing. + /// + /// Linear w.r.t the number of indexed transactions in the proved block for random probing. /// There's a DB read for each transaction. #[pallet::call_index(2)] #[pallet::weight((T::WeightInfo::check_proof_max(), DispatchClass::Mandatory))] @@ -368,7 +397,7 @@ pub mod pallet { // Get the target block metadata. let number = frame_system::Pallet::::block_number(); - let period = StoragePeriod::::get(); + let period = Self::retention_period(); let target_number = number.saturating_sub(period); ensure!(!target_number.is_zero(), Error::::UnexpectedProof); let transactions = @@ -430,10 +459,13 @@ pub mod pallet { /// Storage fee per transaction. pub type EntryFee = StorageValue<_, BalanceOf>; - /// Storage period for data in blocks. Should match `sp_storage_proof::DEFAULT_STORAGE_PERIOD` - /// for block authoring. + /// Number of blocks for which stored data must be retained. + /// + /// Data older than `RetentionPeriod` blocks is eligible for removal unless it + /// has been explicitly renewed. Validators are required to prove possession of + /// data corresponding to block `N - RetentionPeriod` when producing block `N`. #[pallet::storage] - pub type StoragePeriod = StorageValue<_, BlockNumberFor, ValueQuery>; + pub type RetentionPeriod = StorageValue<_, BlockNumberFor, ValueQuery>; // Intermediates #[pallet::storage] @@ -448,7 +480,7 @@ pub mod pallet { pub struct GenesisConfig { pub byte_fee: BalanceOf, pub entry_fee: BalanceOf, - pub storage_period: BlockNumberFor, + pub retention_period: BlockNumberFor, } impl Default for GenesisConfig { @@ -456,7 +488,7 @@ pub mod pallet { Self { byte_fee: 10u32.into(), entry_fee: 1000u32.into(), - storage_period: sp_transaction_storage_proof::DEFAULT_STORAGE_PERIOD.into(), + retention_period: DEFAULT_RETENTION_PERIOD.into(), } } } @@ -464,9 +496,9 @@ pub mod pallet { #[pallet::genesis_build] impl BuildGenesisConfig for GenesisConfig { fn build(&self) { - ByteFee::::put(&self.byte_fee); - EntryFee::::put(&self.entry_fee); - StoragePeriod::::put(&self.storage_period); + ByteFee::::put(self.byte_fee); + EntryFee::::put(self.entry_fee); + RetentionPeriod::::put(self.retention_period); } } @@ -483,10 +515,7 @@ pub mod pallet { proof.map(|proof| Call::check_proof { proof }) } - fn check_inherent( - _call: &Self::Call, - _data: &InherentData, - ) -> result::Result<(), Self::Error> { + fn check_inherent(_call: &Self::Call, _data: &InherentData) -> Result<(), Self::Error> { Ok(()) } @@ -502,14 +531,18 @@ pub mod pallet { ) -> Option> { Transactions::::get(block) } - /// Get ByteFee storage information from outside of this pallet. + /// Get ByteFee storage information from the outside of this pallet. pub fn byte_fee() -> Option> { ByteFee::::get() } - /// Get EntryFee storage information from outside of this pallet. + /// Get EntryFee storage information from the outside of this pallet. pub fn entry_fee() -> Option> { EntryFee::::get() } + /// Get RetentionPeriod storage information from the outside of this pallet. + pub fn retention_period() -> BlockNumberFor { + RetentionPeriod::::get() + } fn apply_fee(sender: T::AccountId, size: u32) -> DispatchResult { let byte_fee = ByteFee::::get().ok_or(Error::::NotConfigured)?; @@ -523,6 +556,26 @@ pub mod pallet { Ok(()) } + /// Returns `true` if a blob of the given size can be stored. + fn data_size_ok(size: usize) -> bool { + (size > 0) && (size <= T::MaxTransactionSize::get() as usize) + } + + /// Ensures that the given data size is valid for storage. + fn ensure_data_size_ok(size: usize) -> Result<(), Error> { + ensure!(Self::data_size_ok(size), Error::::BadDataSize); + Ok(()) + } + + /// Returns the [`TransactionInfo`] for the specified store/renew transaction. + fn transaction_info( + block_number: BlockNumberFor, + index: u32, + ) -> Option { + let transactions = Transactions::::get(block_number)?; + transactions.into_iter().nth(index as usize) + } + /// Verifies that the provided proof corresponds to a randomly selected chunk from a list of /// transactions. pub(crate) fn verify_chunk_proof( @@ -533,7 +586,7 @@ pub mod pallet { // Get the random chunk index - from all transactions in the block = [0..total_chunks). let total_chunks: ChunkIndex = TransactionInfo::total_chunks(&infos); ensure!(total_chunks != 0, Error::::UnexpectedProof); - let selected_block_chunk_index = random_chunk(random_hash, total_chunks as _); + let selected_block_chunk_index = random_chunk(random_hash, total_chunks); // Let's find the corresponding transaction and its "local" chunk index for "global" // `selected_block_chunk_index`. @@ -553,7 +606,7 @@ pub mod pallet { // We shouldn't reach this point; we rely on the fact that `fn store` does not allow // empty transactions. Without this check, it would fail anyway below with // `InvalidProof`. - ensure!(!tx_info.block_chunks.is_zero(), Error::::EmptyTransaction); + ensure!(!tx_info.block_chunks.is_zero(), Error::::BadDataSize); // Convert a global chunk index into a transaction-local one. let tx_chunks = num_chunks(tx_info.size); diff --git a/substrate/frame/transaction-storage/src/mock.rs b/substrate/frame/transaction-storage/src/mock.rs index 25f44b953bfb2..939c7d18ff21c 100644 --- a/substrate/frame/transaction-storage/src/mock.rs +++ b/substrate/frame/transaction-storage/src/mock.rs @@ -68,7 +68,7 @@ pub fn new_test_ext() -> sp_io::TestExternalities { ..Default::default() }, transaction_storage: pallet_transaction_storage::GenesisConfig:: { - storage_period: 10, + retention_period: 10, byte_fee: 2, entry_fee: 200, }, diff --git a/substrate/frame/transaction-storage/src/tests.rs b/substrate/frame/transaction-storage/src/tests.rs index 7f3358430d4db..5b7093e2dd91e 100644 --- a/substrate/frame/transaction-storage/src/tests.rs +++ b/substrate/frame/transaction-storage/src/tests.rs @@ -33,11 +33,11 @@ fn discards_data() { let caller = 1; assert_ok!(TransactionStorage::::store( RawOrigin::Signed(caller).into(), - vec![0u8; 2000 as usize] + vec![0u8; 2000] )); assert_ok!(TransactionStorage::::store( RawOrigin::Signed(caller).into(), - vec![0u8; 2000 as usize] + vec![0u8; 2000] )); let proof_provider = || { let block_num = frame_system::Pallet::::block_number(); @@ -176,7 +176,7 @@ fn renews_data() { let caller = 1; assert_noop!( TransactionStorage::::store(RawOrigin::Signed(caller).into(), vec![]), - Error::::EmptyTransaction + Error::::BadDataSize ); assert_ok!(TransactionStorage::::store( RawOrigin::Signed(caller).into(), @@ -201,7 +201,7 @@ fn renews_data() { }; run_to_block(16, proof_provider); assert!(Transactions::::get(1).is_none()); - assert_eq!(Transactions::::get(6).unwrap().get(0), Some(info).as_ref()); + assert_eq!(Transactions::::get(6).unwrap().first(), Some(info).as_ref()); run_to_block(17, proof_provider); assert!(Transactions::::get(6).is_none()); }); diff --git a/substrate/frame/treasury/src/lib.rs b/substrate/frame/treasury/src/lib.rs index 1d074a4df68b7..91c58e14e52e6 100644 --- a/substrate/frame/treasury/src/lib.rs +++ b/substrate/frame/treasury/src/lib.rs @@ -50,10 +50,8 @@ //! //! 1. Multiple local spends approved by spend origins and received by a beneficiary. #![doc = docify::embed!("src/tests.rs", spend_local_origin_works)] -//! //! 2. Approve a spend of some asset kind and claim it. #![doc = docify::embed!("src/tests.rs", spend_payout_works)] -//! //! ## Pallet API //! //! See the [`pallet`] module for more information about the interfaces this pallet exposes, @@ -791,7 +789,7 @@ pub mod pallet { // spend has expired and no further status update is expected. Spends::::remove(index); Self::deposit_event(Event::::SpendProcessed { index }); - return Ok(Pays::No.into()) + return Ok(Pays::No.into()); } let payment_id = match spend.status { @@ -808,11 +806,11 @@ pub mod pallet { Status::Success | Status::Unknown => { Spends::::remove(index); Self::deposit_event(Event::::SpendProcessed { index }); - return Ok(Pays::No.into()) + return Ok(Pays::No.into()); }, Status::InProgress => return Err(Error::::Inconclusive.into()), } - return Ok(Pays::Yes.into()) + return Ok(Pays::Yes.into()); } /// Void previously approved spend. diff --git a/substrate/frame/treasury/src/tests.rs b/substrate/frame/treasury/src/tests.rs index f2abaa15be90a..41a37cf989185 100644 --- a/substrate/frame/treasury/src/tests.rs +++ b/substrate/frame/treasury/src/tests.rs @@ -171,7 +171,7 @@ pub struct MulBy(PhantomData); impl> ConversionFromAssetBalance for MulBy { type Error = (); fn from_asset_balance(balance: u64, _asset_id: u32) -> Result { - return balance.checked_mul(N::get()).ok_or(()) + return balance.checked_mul(N::get()).ok_or(()); } #[cfg(feature = "runtime-benchmarks")] fn ensure_successful(_: u32) {} diff --git a/substrate/frame/tx-pause/src/lib.rs b/substrate/frame/tx-pause/src/lib.rs index 54768fdcd8a8e..ca6be8c892bbe 100644 --- a/substrate/frame/tx-pause/src/lib.rs +++ b/substrate/frame/tx-pause/src/lib.rs @@ -53,13 +53,10 @@ //! //! Pause specific all: #![doc = docify::embed!("src/tests.rs", can_pause_specific_call)] -//! //! Unpause specific all: #![doc = docify::embed!("src/tests.rs", can_unpause_specific_call)] -//! //! Pause all calls in a pallet: #![doc = docify::embed!("src/tests.rs", can_pause_all_calls_in_pallet_except_on_whitelist)] -//! //! ## Low Level / Implementation Details //! //! ### Use Cost @@ -235,7 +232,7 @@ impl Pallet { /// Return whether this call is paused. pub fn is_paused(full_name: &RuntimeCallNameOf) -> bool { if T::WhitelistedCalls::contains(full_name) { - return false + return false; } >::contains_key(full_name) @@ -256,14 +253,14 @@ impl Pallet { pub fn ensure_can_pause(full_name: &RuntimeCallNameOf) -> Result<(), Error> { // SAFETY: The `TxPause` pallet can never pause itself. if full_name.0.as_slice() == ::name().as_bytes() { - return Err(Error::::Unpausable) + return Err(Error::::Unpausable); } if T::WhitelistedCalls::contains(&full_name) { - return Err(Error::::Unpausable) + return Err(Error::::Unpausable); } if Self::is_paused(&full_name) { - return Err(Error::::IsPaused) + return Err(Error::::IsPaused); } Ok(()) } diff --git a/substrate/frame/uniques/src/impl_nonfungibles.rs b/substrate/frame/uniques/src/impl_nonfungibles.rs index 8e4af723f8033..467cc86767a3a 100644 --- a/substrate/frame/uniques/src/impl_nonfungibles.rs +++ b/substrate/frame/uniques/src/impl_nonfungibles.rs @@ -141,7 +141,7 @@ impl, I: 'static> Mutate<::AccountId> for Pallet Self::do_burn(collection.clone(), *item, |_, d| { if let Some(check_owner) = maybe_check_owner { if &d.owner != check_owner { - return Err(Error::::NoPermission.into()) + return Err(Error::::NoPermission.into()); } } Ok(()) diff --git a/substrate/frame/uniques/src/lib.rs b/substrate/frame/uniques/src/lib.rs index 9a8ef24362b52..3cf5b623b2d3b 100644 --- a/substrate/frame/uniques/src/lib.rs +++ b/substrate/frame/uniques/src/lib.rs @@ -711,10 +711,10 @@ pub mod pallet { if T::Currency::reserve(&collection_details.owner, deposit - old).is_err() { // NOTE: No alterations made to collection_details in this iteration so far, // so this is OK to do. - continue + continue; } } else { - continue + continue; } collection_details.total_deposit.saturating_accrue(deposit); collection_details.total_deposit.saturating_reduce(old); @@ -880,7 +880,7 @@ pub mod pallet { let details = maybe_details.as_mut().ok_or(Error::::UnknownCollection)?; ensure!(origin == details.owner, Error::::NoPermission); if details.owner == new_owner { - return Ok(()) + return Ok(()); } // Move the deposit to the new owner. @@ -1133,8 +1133,9 @@ pub mod pallet { } let maybe_is_frozen = match maybe_item { None => CollectionMetadataOf::::get(collection.clone()).map(|v| v.is_frozen), - Some(item) => - ItemMetadataOf::::get(collection.clone(), item).map(|v| v.is_frozen), + Some(item) => { + ItemMetadataOf::::get(collection.clone(), item).map(|v| v.is_frozen) + }, }; ensure!(!maybe_is_frozen.unwrap_or(false), Error::::Frozen); @@ -1196,8 +1197,9 @@ pub mod pallet { } let maybe_is_frozen = match maybe_item { None => CollectionMetadataOf::::get(collection.clone()).map(|v| v.is_frozen), - Some(item) => - ItemMetadataOf::::get(collection.clone(), item).map(|v| v.is_frozen), + Some(item) => { + ItemMetadataOf::::get(collection.clone(), item).map(|v| v.is_frozen) + }, }; ensure!(!maybe_is_frozen.unwrap_or(false), Error::::Frozen); diff --git a/substrate/frame/utility/src/lib.rs b/substrate/frame/utility/src/lib.rs index db1f3b713b620..7a07e2b181435 100644 --- a/substrate/frame/utility/src/lib.rs +++ b/substrate/frame/utility/src/lib.rs @@ -202,7 +202,7 @@ pub mod pallet { ) -> DispatchResultWithPostInfo { // Do not allow the `None` origin. if ensure_none(origin.clone()).is_ok() { - return Err(BadOrigin.into()) + return Err(BadOrigin.into()); } let is_root = ensure_root(origin.clone()).is_ok(); @@ -229,7 +229,7 @@ pub mod pallet { // Take the weight of this function itself into account. let base_weight = T::WeightInfo::batch(index.saturating_add(1) as u32); // Return the actual used weight + base_weight of this call. - return Ok(Some(base_weight.saturating_add(weight)).into()) + return Ok(Some(base_weight.saturating_add(weight)).into()); } Self::deposit_event(Event::ItemCompleted); } @@ -311,7 +311,7 @@ pub mod pallet { ) -> DispatchResultWithPostInfo { // Do not allow the `None` origin. if ensure_none(origin.clone()).is_ok() { - return Err(BadOrigin.into()) + return Err(BadOrigin.into()); } let is_root = ensure_root(origin.clone()).is_ok(); @@ -407,7 +407,7 @@ pub mod pallet { ) -> DispatchResultWithPostInfo { // Do not allow the `None` origin. if ensure_none(origin.clone()).is_ok() { - return Err(BadOrigin.into()) + return Err(BadOrigin.into()); } let is_root = ensure_root(origin.clone()).is_ok(); diff --git a/substrate/frame/vesting/src/lib.rs b/substrate/frame/vesting/src/lib.rs index a5b5b44826f40..09f5f3e4431c2 100644 --- a/substrate/frame/vesting/src/lib.rs +++ b/substrate/frame/vesting/src/lib.rs @@ -442,7 +442,7 @@ pub mod pallet { ) -> DispatchResult { let who = ensure_signed(origin)?; if schedule1_index == schedule2_index { - return Ok(()) + return Ok(()); }; let schedule1_index = schedule1_index as usize; let schedule2_index = schedule2_index as usize; @@ -558,7 +558,7 @@ impl Pallet { // Validate user inputs. ensure!(schedule.locked() >= T::MinVestedTransfer::get(), Error::::AmountLow); if !schedule.is_valid() { - return Err(Error::::InvalidScheduleParams.into()) + return Err(Error::::InvalidScheduleParams.into()); }; // Check we can add to this account prior to any storage writes. @@ -748,13 +748,13 @@ where starting_block: BlockNumberFor, ) -> DispatchResult { if locked.is_zero() { - return Ok(()) + return Ok(()); } let vesting_schedule = VestingInfo::new(locked, per_block, starting_block); // Check for `per_block` or `locked` of 0. if !vesting_schedule.is_valid() { - return Err(Error::::InvalidScheduleParams.into()) + return Err(Error::::InvalidScheduleParams.into()); }; let mut schedules = Vesting::::get(who).unwrap_or_default(); @@ -789,7 +789,7 @@ where ) -> DispatchResult { // Check for `per_block` or `locked` of 0. if !VestingInfo::new(locked, per_block, starting_block).is_valid() { - return Err(Error::::InvalidScheduleParams.into()) + return Err(Error::::InvalidScheduleParams.into()); } ensure!( diff --git a/substrate/primitives/api/proc-macro/src/decl_runtime_apis.rs b/substrate/primitives/api/proc-macro/src/decl_runtime_apis.rs index fb055d94602ac..03c8f1f7ab9ac 100644 --- a/substrate/primitives/api/proc-macro/src/decl_runtime_apis.rs +++ b/substrate/primitives/api/proc-macro/src/decl_runtime_apis.rs @@ -170,7 +170,7 @@ fn parse_renamed_attribute(renamed: &Attribute) -> Result<(String, u32)> { let version: LitInt = input.parse()?; if !input.is_empty() { - return Err(input.error("No more arguments expected")) + return Err(input.error("No more arguments expected")); } Ok((old_name.value(), version.base10_parse()?)) @@ -221,8 +221,9 @@ fn generate_runtime_decls(decls: &[ItemTrait]) -> Result { ); let err2 = match found_attributes.get(&API_VERSION_ATTRIBUTE) { - Some(attr) => - Error::new(attr.span(), "Trait version is set here."), + Some(attr) => { + Error::new(attr.span(), "Trait version is set here.") + }, None => Error::new( decl_span, "Trait version is not set so it is implicitly equal to 1.", @@ -634,7 +635,7 @@ impl CheckTraitDecl { Ok(r) => r, Err(e) => { self.errors.push(e); - return + return; }, }; @@ -676,12 +677,13 @@ impl<'ast> Visit<'ast> for CheckTraitDecl { fn visit_generic_param(&mut self, input: &'ast GenericParam) { match input { - GenericParam::Type(ty) if ty.ident == BLOCK_GENERIC_IDENT => + GenericParam::Type(ty) if ty.ident == BLOCK_GENERIC_IDENT => { self.errors.push(Error::new( input.span(), "`Block: BlockT` generic parameter will be added automatically by the \ `decl_runtime_apis!` macro!", - )), + )) + }, _ => {}, } diff --git a/substrate/primitives/api/proc-macro/src/mock_impl_runtime_apis.rs b/substrate/primitives/api/proc-macro/src/mock_impl_runtime_apis.rs index 0b4cb5cfdd62b..b60a2710907d3 100644 --- a/substrate/primitives/api/proc-macro/src/mock_impl_runtime_apis.rs +++ b/substrate/primitives/api/proc-macro/src/mock_impl_runtime_apis.rs @@ -205,7 +205,7 @@ fn get_at_param_name( takes at least one argument, the `Hash`.", ADVANCED_ATTRIBUTE, ), - )) + )); } // `param_names` and `param_types` have the same length, so if `param_names` is not empty @@ -213,7 +213,10 @@ fn get_at_param_name( let ptype_and_borrows = param_types_and_borrows.remove(0); let span = ptype_and_borrows.1.span(); if ptype_and_borrows.1 { - return Err(Error::new(span, "`Hash` needs to be taken by value and not by reference!")) + return Err(Error::new( + span, + "`Hash` needs to be taken by value and not by reference!", + )); } let name = param_names.remove(0); @@ -378,7 +381,7 @@ fn generate_runtime_api_impls(impls: &[ItemImpl]) -> Result + Some(self_ty) => { if self_ty == impl_.self_ty { Some(self_ty) } else { @@ -389,13 +392,14 @@ fn generate_runtime_api_impls(impls: &[ItemImpl]) -> Result Some(impl_.self_ty.clone()), }; global_block_type = match global_block_type.take() { - Some(global_block_type) => + Some(global_block_type) => { if global_block_type == *block_type { Some(global_block_type) } else { @@ -409,8 +413,9 @@ fn generate_runtime_api_impls(impls: &[ItemImpl]) -> Result Some(block_type.clone()), }; diff --git a/substrate/primitives/api/proc-macro/src/utils.rs b/substrate/primitives/api/proc-macro/src/utils.rs index 43c8d772a7780..66c04fc2edc5f 100644 --- a/substrate/primitives/api/proc-macro/src/utils.rs +++ b/substrate/primitives/api/proc-macro/src/utils.rs @@ -146,12 +146,14 @@ pub fn extract_parameter_names_types_and_borrows( let name = sanitize_pattern((*arg.pat).clone(), &mut generated_pattern_counter); result.push((name, ty, borrow)); }, - FnArg::Receiver(_) if matches!(allow_self, AllowSelfRefInParameters::No) => - return Err(Error::new(input.span(), "`self` parameter not supported!")), - FnArg::Receiver(recv) => + FnArg::Receiver(_) if matches!(allow_self, AllowSelfRefInParameters::No) => { + return Err(Error::new(input.span(), "`self` parameter not supported!")) + }, + FnArg::Receiver(recv) => { if recv.mutability.is_some() || recv.reference.is_none() { return Err(Error::new(recv.span(), "Only `&self` is supported!")); - }, + } + }, } } @@ -186,8 +188,9 @@ pub fn extract_block_type_from_trait_path(trait_: &Path) -> Result<&TypePath> { let span = trait_.segments.last().as_ref().unwrap().span(); Err(Error::new(span, "Missing `Block` generic parameter.")) }, - PathArguments::Parenthesized(_) => - Err(Error::new(generics.arguments.span(), "Unexpected parentheses in path!")), + PathArguments::Parenthesized(_) => { + Err(Error::new(generics.arguments.span(), "Unexpected parentheses in path!")) + }, } } diff --git a/substrate/primitives/api/test/tests/trybuild.rs b/substrate/primitives/api/test/tests/trybuild.rs index da6a339578e16..138081d1c8687 100644 --- a/substrate/primitives/api/test/tests/trybuild.rs +++ b/substrate/primitives/api/test/tests/trybuild.rs @@ -21,7 +21,7 @@ fn ui() { // Only run the ui tests when `RUN_UI_TESTS` is set. if std::env::var("RUN_UI_TESTS").is_err() { - return + return; } // As trybuild is using `cargo check`, we don't need the real WASM binaries. diff --git a/substrate/primitives/application-crypto/src/traits.rs b/substrate/primitives/application-crypto/src/traits.rs index de9fe0863da4e..6a7cceef41f94 100644 --- a/substrate/primitives/application-crypto/src/traits.rs +++ b/substrate/primitives/application-crypto/src/traits.rs @@ -173,6 +173,7 @@ pub trait RuntimeAppPublic: Sized { fn sign>(&self, msg: &M) -> Option; /// Verify that the given signature matches the given message using this public key. + #[must_use] fn verify>(&self, msg: &M, signature: &Self::Signature) -> bool; /// Generate proof of legitimacy for the corresponding public key diff --git a/substrate/primitives/arithmetic/fuzzer/src/biguint.rs b/substrate/primitives/arithmetic/fuzzer/src/biguint.rs index 2f9f54c810001..0f09166cb081e 100644 --- a/substrate/primitives/arithmetic/fuzzer/src/biguint.rs +++ b/substrate/primitives/arithmetic/fuzzer/src/biguint.rs @@ -106,7 +106,7 @@ fn main() { if check_digit_lengths(&u, &v, 4) { let (ue, ve) = (ue.unwrap(), ve.unwrap()); if ve == 0 { - return + return; } let (q, r) = (ue / ve, ue % ve); if let Some((qq, rr)) = u.clone().div(&v, true) { diff --git a/substrate/primitives/arithmetic/fuzzer/src/multiply_by_rational_with_rounding.rs b/substrate/primitives/arithmetic/fuzzer/src/multiply_by_rational_with_rounding.rs index 5f3f675c971f2..4d8885ae7422d 100644 --- a/substrate/primitives/arithmetic/fuzzer/src/multiply_by_rational_with_rounding.rs +++ b/substrate/primitives/arithmetic/fuzzer/src/multiply_by_rational_with_rounding.rs @@ -74,19 +74,21 @@ where fn round(f: Fraction, r: Rounding) -> Fraction { match r { Up => f.ceil(), - NearestPrefUp => + NearestPrefUp => { if f.fract() < Fraction::from(0.5) { f.floor() } else { f.ceil() - }, + } + }, Down => f.floor(), - NearestPrefDown => + NearestPrefDown => { if f.fract() > Fraction::from(0.5) { f.ceil() } else { f.floor() - }, + } + }, } } diff --git a/substrate/primitives/arithmetic/fuzzer/src/normalize.rs b/substrate/primitives/arithmetic/fuzzer/src/normalize.rs index 7211819017a87..183744a38368a 100644 --- a/substrate/primitives/arithmetic/fuzzer/src/normalize.rs +++ b/substrate/primitives/arithmetic/fuzzer/src/normalize.rs @@ -36,7 +36,7 @@ fn main() { fuzz!(|data: (Vec, Ty)| { let (data, norm) = data; if data.is_empty() { - return + return; } let pre_sum: u128 = data.iter().map(|x| *x as u128).sum(); diff --git a/substrate/primitives/arithmetic/fuzzer/src/per_thing_from_rational.rs b/substrate/primitives/arithmetic/fuzzer/src/per_thing_from_rational.rs index 93af4df9e8e55..519af483ac50e 100644 --- a/substrate/primitives/arithmetic/fuzzer/src/per_thing_from_rational.rs +++ b/substrate/primitives/arithmetic/fuzzer/src/per_thing_from_rational.rs @@ -74,19 +74,21 @@ where fn round(f: Fraction, r: Rounding) -> Fraction { match r { Up => f.ceil(), - NearestPrefUp => + NearestPrefUp => { if f.fract() < Fraction::from(0.5) { f.floor() } else { f.ceil() - }, + } + }, Down => f.floor(), - NearestPrefDown => + NearestPrefDown => { if f.fract() > Fraction::from(0.5) { f.ceil() } else { f.floor() - }, + } + }, } } diff --git a/substrate/primitives/arithmetic/fuzzer/src/per_thing_mult_fraction.rs b/substrate/primitives/arithmetic/fuzzer/src/per_thing_mult_fraction.rs index 9cfe28a7800b0..e8fc44185d8b5 100644 --- a/substrate/primitives/arithmetic/fuzzer/src/per_thing_mult_fraction.rs +++ b/substrate/primitives/arithmetic/fuzzer/src/per_thing_mult_fraction.rs @@ -61,7 +61,7 @@ where { let q = P::from_rational_with_rounding(n, d, Rounding::Down).unwrap(); if q.is_zero() { - return + return; } let r = q.saturating_reciprocal_mul_floor(n); diff --git a/substrate/primitives/arithmetic/src/biguint.rs b/substrate/primitives/arithmetic/src/biguint.rs index 42c99fb347222..df5a8612ef6dd 100644 --- a/substrate/primitives/arithmetic/src/biguint.rs +++ b/substrate/primitives/arithmetic/src/biguint.rs @@ -160,7 +160,7 @@ impl BigUint { // has the ability to cause this. There is nothing to do if the number already has 1 // limb only. call it a day and return. if self.len().is_zero() { - return + return; } let index = self.digits.iter().position(|&elem| elem != 0).unwrap_or(self.len() - 1); @@ -174,7 +174,7 @@ impl BigUint { pub fn lpad(&mut self, size: usize) { let n = self.len(); if n >= size { - return + return; } let pad = size - n; let mut new_digits = (0..pad).map(|_| 0).collect::>(); @@ -267,7 +267,7 @@ impl BigUint { if self.get(j) == 0 { // Note: `with_capacity` allocates with 0. Explicitly set j + m to zero if // otherwise. - continue + continue; } let mut k = 0; @@ -319,7 +319,7 @@ impl BigUint { /// Taken from "The Art of Computer Programming" by D.E. Knuth, vol 2, chapter 4. pub fn div(self, other: &Self, rem: bool) -> Option<(Self, Self)> { if other.len() <= 1 || other.msb() == 0 || self.msb() == 0 || self.len() <= other.len() { - return None + return None; } let n = other.len(); let m = self.len() - n; @@ -379,7 +379,7 @@ impl BigUint { test(); while (*rhat.borrow() as Double) < B { if !test() { - break + break; } } diff --git a/substrate/primitives/arithmetic/src/fixed_point.rs b/substrate/primitives/arithmetic/src/fixed_point.rs index 34ac17886bcce..145063266f84d 100644 --- a/substrate/primitives/arithmetic/src/fixed_point.rs +++ b/substrate/primitives/arithmetic/src/fixed_point.rs @@ -19,7 +19,6 @@ //! Similar to types that implement [`PerThing`](crate::per_things), these are also //! fixed-point types, however, they are able to represent larger fractions: #![doc = docify::embed!("./src/lib.rs", fixed_u64)] -//! //! ### Fixed Point Types in Practice //! //! If one needs to exceed the value of one (1), then @@ -30,7 +29,6 @@ "./src/lib.rs", fixed_u64_block_computation_example )] -//! //! For a much more comprehensive example, be sure to look at the source for broker (the "coretime") //! pallet. //! @@ -141,11 +139,13 @@ pub trait FixedPointNumber: fn into_inner(self) -> Self::Inner; /// Compute the square root. If it overflows or is negative, then `None` is returned. + #[must_use] fn checked_sqrt(self) -> Option; /// Creates self from an integer number `int`. /// /// Returns `Self::max` or `Self::min` if `int` exceeds accuracy. + #[must_use] fn saturating_from_integer(int: N) -> Self { let mut n: I129 = int.into(); n.value = n.value.saturating_mul(Self::DIV.saturated_into()); @@ -155,6 +155,7 @@ pub trait FixedPointNumber: /// Creates `self` from an integer number `int`. /// /// Returns `None` if `int` exceeds accuracy. + #[must_use] fn checked_from_integer>(int: N) -> Option { let int: Self::Inner = int.into(); int.checked_mul(&Self::DIV).map(Self::from_inner) @@ -163,6 +164,7 @@ pub trait FixedPointNumber: /// Creates `self` from a rational number. Equal to `n / d`. /// /// Panics if `d = 0`. Returns `Self::max` or `Self::min` if `n / d` exceeds accuracy. + #[must_use] fn saturating_from_rational(n: N, d: D) -> Self { if d == D::zero() { panic!("attempt to divide by zero") @@ -173,12 +175,13 @@ pub trait FixedPointNumber: /// Creates `self` from a rational number. Equal to `n / d`. /// /// Returns `None` if `d == 0` or `n / d` exceeds accuracy. + #[must_use] fn checked_from_rational( n: N, d: D, ) -> Option { if d == D::zero() { - return None + return None; } let n: I129 = n.into(); @@ -198,6 +201,7 @@ pub trait FixedPointNumber: /// Checked multiplication for integer type `N`. Equal to `self * n`. /// /// Returns `None` if the result does not fit in `N`. + #[must_use] fn checked_mul_int(self, n: N) -> Option { let lhs: I129 = self.into_inner().into(); let rhs: I129 = n.into(); @@ -215,6 +219,7 @@ pub trait FixedPointNumber: /// Saturating multiplication for integer type `N`. Equal to `self * n`. /// /// Returns `N::min` or `N::max` if the result does not fit in `N`. + #[must_use] fn saturating_mul_int(self, n: N) -> N { self.checked_mul_int(n).unwrap_or_else(|| to_bound(self.into_inner(), n)) } @@ -222,6 +227,7 @@ pub trait FixedPointNumber: /// Checked division for integer type `N`. Equal to `self / d`. /// /// Returns `None` if the result does not fit in `N` or `d == 0`. + #[must_use] fn checked_div_int(self, d: N) -> Option { let lhs: I129 = self.into_inner().into(); let rhs: I129 = d.into(); @@ -236,6 +242,7 @@ pub trait FixedPointNumber: /// Saturating division for integer type `N`. Equal to `self / d`. /// /// Panics if `d == 0`. Returns `N::min` or `N::max` if the result does not fit in `N`. + #[must_use] fn saturating_div_int(self, d: N) -> N { if d == N::zero() { panic!("attempt to divide by zero") @@ -247,6 +254,7 @@ pub trait FixedPointNumber: /// Equal to `self * n + n`. /// /// Returns `N::min` or `N::max` if the multiplication or final result does not fit in `N`. + #[must_use] fn saturating_mul_acc_int(self, n: N) -> N { if self.is_negative() && n > N::zero() { n.saturating_sub(Self::zero().saturating_sub(self).saturating_mul_int(n)) @@ -258,6 +266,7 @@ pub trait FixedPointNumber: /// Saturating absolute value. /// /// Returns `Self::max` if `self == Self::min`. + #[must_use] fn saturating_abs(self) -> Self { let inner = self.into_inner(); if inner >= Self::Inner::zero() { @@ -270,6 +279,7 @@ pub trait FixedPointNumber: /// Takes the reciprocal (inverse). Equal to `1 / self`. /// /// Returns `None` if `self = 0`. + #[must_use] fn reciprocal(self) -> Option { Self::one().checked_div(&self) } @@ -290,6 +300,7 @@ pub trait FixedPointNumber: } /// Returns the integer part. + #[must_use] fn trunc(self) -> Self { self.into_inner() .checked_div(&Self::DIV) @@ -303,6 +314,7 @@ pub trait FixedPointNumber: /// /// Note: the returned fraction will be non-negative for negative numbers, /// except in the case where the integer part is zero. + #[must_use] fn frac(self) -> Self { let integer = self.trunc(); let fractional = self.saturating_sub(integer); @@ -316,6 +328,7 @@ pub trait FixedPointNumber: /// Returns the smallest integer greater than or equal to a number. /// /// Saturates to `Self::max` (truncated) if the result does not fit. + #[must_use] fn ceil(self) -> Self { if self.is_negative() { self.trunc() @@ -329,6 +342,7 @@ pub trait FixedPointNumber: /// Returns the largest integer less than or equal to a number. /// /// Saturates to `Self::min` (truncated) if the result does not fit. + #[must_use] fn floor(self) -> Self { if self.is_negative() { self.saturating_sub(Self::one()).trunc() @@ -340,6 +354,7 @@ pub trait FixedPointNumber: /// Returns the number rounded to the nearest integer. Rounds half-way cases away from 0.0. /// /// Saturates to `Self::min` or `Self::max` (truncated) if the result does not fit. + #[must_use] fn round(self) -> Self { let n = self.frac().saturating_mul(Self::saturating_from_integer(10)); if n < Self::saturating_from_integer(5) { @@ -574,10 +589,10 @@ macro_rules! implement_fixed { /// Compute the square root. If it overflows or is negative, then `None` is returned. pub const fn checked_sqrt(self) -> Option { if self.0 == 0 { - return Some(Self(0)) + return Some(Self(0)); } if self.0 < 1 { - return None + return None; } let v = self.0 as u128; @@ -668,7 +683,7 @@ macro_rules! implement_fixed { } else { let unsigned_inner = n.value as $inner_type; if unsigned_inner as u128 != n.value || (unsigned_inner > 0) != (n.value > 0) { - return None + return None; }; if n.negative { match unsigned_inner.checked_neg() { @@ -762,7 +777,7 @@ macro_rules! implement_fixed { rounding: SignedRounding, ) -> Option { if other.0 == 0 { - return None + return None; } let lhs = self.into_i129(); @@ -796,7 +811,7 @@ macro_rules! implement_fixed { fn saturating_pow(self, exp: usize) -> Self { if exp == 0 { - return Self::saturating_from_integer(1) + return Self::saturating_from_integer(1); } let exp = exp as u32; @@ -874,7 +889,7 @@ macro_rules! implement_fixed { impl CheckedDiv for $name { fn checked_div(&self, other: &Self) -> Option { if other.0 == 0 { - return None + return None; } let lhs: I129 = self.0.into(); @@ -983,9 +998,99 @@ macro_rules! implement_fixed { type Err = &'static str; fn from_str(s: &str) -> Result { - let inner: ::Inner = - s.parse().map_err(|_| "invalid string input for fixed point number")?; - Ok(Self::from_inner(inner)) + let s = s.trim(); + + // Check if the string contains a decimal point + if let Some(dot_pos) = s.find('.') { + // Parse as decimal number (e.g., "1.0", "123.456") + let (integer_part, fractional_part) = s.split_at(dot_pos); + let fractional_part = &fractional_part[1..]; // Skip the '.' + + // Check if it's a negative number + let is_negative = integer_part.starts_with('-'); + + // For unsigned types, reject negative numbers + if is_negative && !$name::SIGNED { + return Err( + "negative numbers not supported for unsigned fixed point types", + ); + } + + // Parse integer part + let integer: i128 = if integer_part.is_empty() { + 0 + } else { + integer_part + .parse() + .map_err(|_| "invalid integer part in decimal number")? + }; + + // Parse fractional part + let fractional_raw: u128 = if fractional_part.is_empty() { + 0 + } else { + fractional_part + .parse() + .map_err(|_| "invalid fractional part in decimal number")? + }; + + // Convert fractional part to the appropriate scale + let fractional_digits = fractional_part.len() as u32; + + // Calculate fractional value using more careful arithmetic + let fractional_scaled: i128 = if fractional_digits > 0 { + // Checked math to avoid overflow + let Some(scale_factor) = 10u128.checked_pow(fractional_digits) else { + return Err("fractional part has too many digits"); + }; + + // For very large DIV values, we need to be more careful + let div_u128 = Self::DIV as u128; + + // Calculate: fractional_raw * DIV / scale_factor + // We do this carefully to avoid intermediate overflow + // Use alternative calculation: (fractional_raw / scale_factor) * DIV + let quotient = fractional_raw / scale_factor; + let remainder = fractional_raw % scale_factor; + quotient + .checked_mul(div_u128) + .and_then(|base| { + let remainder_scaled = (remainder * div_u128) / scale_factor; + base.checked_add(remainder_scaled) + }) + .ok_or("fractional part overflow")? + .try_into() + .map_err(|_| "fractional part too large for signed representation")? + } else { + 0 + }; + + // Combine integer and fractional parts using wider arithmetic + let div_i128 = Self::DIV as i128; + let integer_scaled = + integer.checked_mul(div_i128).ok_or("integer part overflow")?; + + let result = if is_negative { + integer_scaled + .checked_sub(fractional_scaled) + .ok_or("number too large for fixed point representation")? + } else { + integer_scaled + .checked_add(fractional_scaled) + .ok_or("number too large for fixed point representation")? + }; + + // Convert to target type + let inner = ::Inner::try_from(result) + .map_err(|_| "number out of range for fixed point type")?; + + Ok(Self::from_inner(inner)) + } else { + // Parse as raw inner value (legacy behavior) + let inner: ::Inner = + s.parse().map_err(|_| "invalid string input for fixed point number")?; + Ok(Self::from_inner(inner)) + } } } @@ -2213,10 +2318,124 @@ macro_rules! implement_fixed { ); } } + + #[test] + fn from_str_works() { + use core::str::FromStr; + // Test decimal notation + let val = $name::from_str("1.0").unwrap(); + assert_eq!(val.into_inner(), $name::accuracy()); + + let val = $name::from_str("0.5").unwrap(); + assert_eq!(val.into_inner(), $name::accuracy() / 2); + + let val = $name::from_str("2.5").unwrap(); + assert_eq!(val.into_inner(), $name::accuracy() * 5 / 2); + + // Test whole numbers + let val = $name::from_str("42").unwrap(); + assert_eq!(val.into_inner(), 42); + + let val = $name::from_str("100.0").unwrap(); + assert_eq!(val.into_inner(), $name::accuracy() * 100); + + // Test fractional-only + let val = $name::from_str("0.25").unwrap(); + assert_eq!(val.into_inner(), $name::accuracy() / 4); + + let val = $name::from_str(".5").unwrap(); + assert_eq!(val.into_inner(), $name::accuracy() / 2); + + // Test precision with multiple decimal places + let val = $name::from_str("1.00045").unwrap(); + let expected = $name::accuracy() + ($name::accuracy() * 45 / 100000); + assert_eq!(val.into_inner(), expected); + + // Test high precision fractional - use precision appropriate for each type + if $name::accuracy() >= 1_000_000_000_000_000_000 { + // FixedU128/FixedI128: Test full 18 decimal places + let val = $name::from_str("0.123456789012345678").unwrap(); + let expected = ($name::accuracy() as u128 * 123456789012345678u128) / + 1000000000000000000u128; + assert_eq!(val.into_inner() as u128, expected); + } else { + // FixedU64/FixedI64: Test 9 decimal places + let val = $name::from_str("0.123456789").unwrap(); + let expected = ($name::accuracy() as u128 * 123456789u128) / 1000000000u128; + assert_eq!(val.into_inner() as u128, expected); + } + + // Test legacy behavior (raw inner values) + let val = $name::from_str("1000000000").unwrap(); + assert_eq!(val.into_inner(), 1000000000); + + if $name::SIGNED { + // Test negative values + let val = $name::from_str("-1.0").unwrap(); + assert_eq!(val.into_inner(), 0 - $name::accuracy()); + + let val = $name::from_str("-0.5").unwrap(); + assert_eq!(val.into_inner(), 0 - $name::accuracy() / 2); + + let val = $name::from_str("-2.5").unwrap(); + assert_eq!(val.into_inner(), 0 - $name::accuracy() * 5 / 2); + } else { + // Test negative number rejection for unsigned types + assert!($name::from_str("-1.0").is_err()); + assert!($name::from_str("-0.5").is_err()); + assert!($name::from_str("-123.456").is_err()); + } + + // Test error cases + assert!($name::from_str("").is_err()); + assert!($name::from_str("abc").is_err()); + assert!($name::from_str("1.2.3").is_err()); + assert!($name::from_str("1.abc").is_err()); + assert!($name::from_str("abc.1").is_err()); + } } }; } +#[cfg(test)] +mod precision_tests { + use super::*; + use core::str::FromStr; + + #[test] + fn test_from_str_precision_verification() { + // Test FixedU64 (DIV = 1_000_000_000) + let val = FixedU64::from_str("0.123456789").unwrap(); + let expected = 123456789u64; // 0.123456789 * 1_000_000_000 + assert_eq!(val.into_inner(), expected); + + // Test FixedU128 (DIV = 1_000_000_000_000_000_000) + let val = FixedU128::from_str("0.123456789012345678").unwrap(); + let expected = 123456789012345678u128; // 0.123456789012345678 * 1_000_000_000_000_000_000 + assert_eq!(val.into_inner(), expected); + + // Test a more complex case with FixedU128 + let val = FixedU128::from_str("1.123456789012345678").unwrap(); + let expected = 1000000000000000000u128 + 123456789012345678u128; + assert_eq!(val.into_inner(), expected); + + // Test FixedI64 negative values + let val = FixedI64::from_str("-0.123456789").unwrap(); + let expected = -123456789i64; // -0.123456789 * 1_000_000_000 + assert_eq!(val.into_inner(), expected); + + // Test edge case: exact precision match for FixedU64 + let val = FixedU64::from_str("1.000000001").unwrap(); + let expected = 1000000001u64; // Should be exactly 1 * 1_000_000_000 + 1 + assert_eq!(val.into_inner(), expected); + + // Test fractional precision truncation for FixedU64 with more than 9 digits + let val = FixedU64::from_str("0.1234567891234").unwrap(); + let expected = 123456789u64; // Should truncate after 9 digits: 0.123456789 + assert_eq!(val.into_inner(), expected); + } +} + implement_fixed!( FixedI64, test_fixed_i64, diff --git a/substrate/primitives/arithmetic/src/helpers_128bit.rs b/substrate/primitives/arithmetic/src/helpers_128bit.rs index cbbad58443f92..58f82491c59a3 100644 --- a/substrate/primitives/arithmetic/src/helpers_128bit.rs +++ b/substrate/primitives/arithmetic/src/helpers_128bit.rs @@ -155,7 +155,7 @@ mod double128 { pub const fn div(mut self, rhs: u128) -> (Self, u128) { if rhs == 1 { - return (self, 0) + return (self, 0); } // (self === a; rhs === b) @@ -192,7 +192,7 @@ pub const fn multiply_by_rational_with_rounding( ) -> Option { use double128::Double128; if c == 0 { - return None + return None; } let (result, remainder) = Double128::product_of(a, b).div(c); let mut result: u128 = match result.try_into_u128() { @@ -217,7 +217,7 @@ pub const fn multiply_by_rational_with_rounding( pub const fn sqrt(mut n: u128) -> u128 { // Modified from https://github.com/derekdreery/integer-sqrt-rs (Apache/MIT). if n == 0 { - return 0 + return 0; } // Compute bit, the largest power of 4 <= n diff --git a/substrate/primitives/arithmetic/src/per_things.rs b/substrate/primitives/arithmetic/src/per_things.rs index 6d0394cd1da54..8a3a0b6b2adb3 100644 --- a/substrate/primitives/arithmetic/src/per_things.rs +++ b/substrate/primitives/arithmetic/src/per_things.rs @@ -28,7 +28,6 @@ #![doc = docify::embed!("./src/lib.rs", perbill_example)] //! > **[`Percent`](Percent), parts of a hundred** #![doc = docify::embed!("./src/lib.rs", percent_example)] -//! //! Note that `Percent` is represented as a _rounded down_, fixed point //! number (see the example above). Unlike primitive types, types that implement //! [`PerThing`](PerThing) will also not overflow, and are therefore safe to use. @@ -179,9 +178,10 @@ pub trait PerThing: } /// Return the next lower value to `self` or `self` if it is already zero. + #[must_use] fn less_epsilon(self) -> Self { if self.is_zero() { - return self + return self; } Self::from_parts(self.deconstruct() - One::one()) } @@ -190,15 +190,16 @@ pub trait PerThing: /// zero. fn try_less_epsilon(self) -> Result { if self.is_zero() { - return Err(self) + return Err(self); } Ok(Self::from_parts(self.deconstruct() - One::one())) } /// Return the next higher value to `self` or `self` if it is already one. + #[must_use] fn plus_epsilon(self) -> Self { if self.is_one() { - return self + return self; } Self::from_parts(self.deconstruct() + One::one()) } @@ -207,13 +208,14 @@ pub trait PerThing: /// one. fn try_plus_epsilon(self) -> Result { if self.is_one() { - return Err(self) + return Err(self); } Ok(Self::from_parts(self.deconstruct() + One::one())) } /// Build this type from a percent. Equivalent to `Self::from_parts(x * Self::ACCURACY / 100)` /// but more accurate and can cope with potential type overflows. + #[must_use] fn from_percent(x: Self::Inner) -> Self { let a: Self::Inner = x.min(100.into()); let b: Self::Inner = 100.into(); @@ -221,6 +223,7 @@ pub trait PerThing: } /// Return the product of multiplication of this value by itself. + #[must_use] fn square(self) -> Self { let p = Self::Upper::from(self.deconstruct()); let q = Self::Upper::from(Self::ACCURACY); @@ -228,6 +231,7 @@ pub trait PerThing: } /// Return the part left when `self` is saturating-subtracted from `Self::one()`. + #[must_use] fn left_from_one(self) -> Self { Self::one().saturating_sub(self) } @@ -247,6 +251,7 @@ pub trait PerThing: /// assert_eq!(Percent::from_percent(36).mul_floor(10u64), 3); /// # } /// ``` + #[must_use] fn mul_floor(self, b: N) -> N where N: MultiplyArg + UniqueSaturatedInto, @@ -270,6 +275,7 @@ pub trait PerThing: /// assert_eq!(Percent::from_percent(36).mul_ceil(10u64), 4); /// # } /// ``` + #[must_use] fn mul_ceil(self, b: N) -> N where N: MultiplyArg + UniqueSaturatedInto, @@ -287,6 +293,7 @@ pub trait PerThing: /// assert_eq!(Percent::from_percent(50).saturating_reciprocal_mul(10u64), 20); /// # } /// ``` + #[must_use] fn saturating_reciprocal_mul(self, b: N) -> N where N: ReciprocalArg + UniqueSaturatedInto, @@ -307,6 +314,7 @@ pub trait PerThing: /// assert_eq!(Percent::from_percent(60).saturating_reciprocal_mul_floor(10u64), 16); /// # } /// ``` + #[must_use] fn saturating_reciprocal_mul_floor(self, b: N) -> N where N: ReciprocalArg + UniqueSaturatedInto, @@ -327,6 +335,7 @@ pub trait PerThing: /// assert_eq!(Percent::from_percent(61).saturating_reciprocal_mul_ceil(10u64), 17); /// # } /// ``` + #[must_use] fn saturating_reciprocal_mul_ceil(self, b: N) -> N where N: ReciprocalArg + UniqueSaturatedInto, @@ -339,9 +348,11 @@ pub trait PerThing: fn deconstruct(self) -> Self::Inner; /// Build this type from a number of parts per thing. + #[must_use] fn from_parts(parts: Self::Inner) -> Self; /// Converts a fraction into `Self`. + #[must_use] #[cfg(feature = "std")] fn from_float(x: f64) -> Self; @@ -370,6 +381,7 @@ pub trait PerThing: /// ); /// # } /// ``` + #[must_use] fn from_rational(p: N, q: N) -> Self where N: RationalArg + TryInto + TryInto, @@ -490,10 +502,12 @@ impl Rounding { match (rounding, negative) { (Low, true) | (Major, _) | (High, false) => Up, (High, true) | (Minor, _) | (Low, false) => Down, - (NearestPrefMajor, _) | (NearestPrefHigh, false) | (NearestPrefLow, true) => - NearestPrefUp, - (NearestPrefMinor, _) | (NearestPrefLow, false) | (NearestPrefHigh, true) => - NearestPrefDown, + (NearestPrefMajor, _) | (NearestPrefHigh, false) | (NearestPrefLow, true) => { + NearestPrefUp + }, + (NearestPrefMinor, _) | (NearestPrefLow, false) | (NearestPrefHigh, true) => { + NearestPrefDown + }, } } } diff --git a/substrate/primitives/arithmetic/src/rational.rs b/substrate/primitives/arithmetic/src/rational.rs index 2ec83e6fd868e..858524e82a064 100644 --- a/substrate/primitives/arithmetic/src/rational.rs +++ b/substrate/primitives/arithmetic/src/rational.rs @@ -166,7 +166,7 @@ impl Rational128 { pub fn lcm(&self, other: &Self) -> Option { // this should be tested better: two large numbers that are almost the same. if self.1 == other.1 { - return Some(self.1) + return Some(self.1); } let g = helpers_128bit::gcd(self.1, other.1); helpers_128bit::multiply_by_rational_with_rounding( @@ -293,7 +293,7 @@ macro_rules! impl_rrm { impl MultiplyRational for $ulow { fn multiply_rational(self, n: Self, d: Self, r: Rounding) -> Option { if d.is_zero() { - return None + return None; } let sn = (self as $uhi) * (n as $uhi); @@ -348,7 +348,7 @@ mod tests { fn mul_div(a: u128, b: u128, c: u128) -> u128 { use primitive_types::U256; if a.is_zero() { - return Zero::zero() + return Zero::zero(); } let c = c.max(1); diff --git a/substrate/primitives/arithmetic/src/traits.rs b/substrate/primitives/arithmetic/src/traits.rs index 66ec19c1b573a..24a6daad0889d 100644 --- a/substrate/primitives/arithmetic/src/traits.rs +++ b/substrate/primitives/arithmetic/src/traits.rs @@ -198,6 +198,7 @@ impl AtLeast32BitUnsigned for T { /// then it'll saturate the destination. pub trait UniqueSaturatedFrom: Sized { /// Convert from a value of `T` into an equivalent instance of `Self`. + #[must_use] fn unique_saturated_from(t: T) -> Self; } @@ -205,6 +206,7 @@ pub trait UniqueSaturatedFrom: Sized { /// then it'll saturate the destination. pub trait UniqueSaturatedInto: Sized { /// Consume self to return an equivalent value of `T`. + #[must_use] fn unique_saturated_into(self) -> T; } @@ -224,21 +226,26 @@ impl + Sized> UniqueSaturatedInto for S { pub trait Saturating { /// Saturating addition. Compute `self + rhs`, saturating at the numeric bounds instead of /// overflowing. + #[must_use] fn saturating_add(self, rhs: Self) -> Self; /// Saturating subtraction. Compute `self - rhs`, saturating at the numeric bounds instead of /// overflowing. + #[must_use] fn saturating_sub(self, rhs: Self) -> Self; /// Saturating multiply. Compute `self * rhs`, saturating at the numeric bounds instead of /// overflowing. + #[must_use] fn saturating_mul(self, rhs: Self) -> Self; /// Saturating exponentiation. Compute `self.pow(exp)`, saturating at the numeric bounds /// instead of overflowing. + #[must_use] fn saturating_pow(self, exp: usize) -> Self; /// Decrement self by one, saturating at zero. + #[must_use] fn saturating_less_one(mut self) -> Self where Self: One, @@ -248,6 +255,7 @@ pub trait Saturating { } /// Increment self by one, saturating at the numeric bounds instead of overflowing. + #[must_use] fn saturating_plus_one(mut self) -> Self where Self: One, @@ -339,6 +347,7 @@ pub trait SaturatedConversion { /// This just uses `UniqueSaturatedFrom` internally but with this /// variant you can provide the destination type using turbofish syntax /// in case Rust happens not to assume the correct type. + #[must_use] fn saturated_from(t: T) -> Self where Self: UniqueSaturatedFrom, @@ -351,6 +360,7 @@ pub trait SaturatedConversion { /// This just uses `UniqueSaturatedInto` internally but with this /// variant you can provide the destination type using turbofish syntax /// in case Rust happens not to assume the correct type. + #[must_use] fn saturated_into(self) -> T where Self: UniqueSaturatedInto, diff --git a/substrate/primitives/blockchain/src/header_metadata.rs b/substrate/primitives/blockchain/src/header_metadata.rs index c6782a721ec1a..05f4d160884d0 100644 --- a/substrate/primitives/blockchain/src/header_metadata.rs +++ b/substrate/primitives/blockchain/src/header_metadata.rs @@ -42,12 +42,12 @@ pub fn lowest_common_ancestor + ?Sized>( ) -> Result, T::Error> { let mut header_one = backend.header_metadata(id_one)?; if header_one.parent == id_two { - return Ok(HashAndNumber { hash: id_two, number: header_one.number - One::one() }) + return Ok(HashAndNumber { hash: id_two, number: header_one.number - One::one() }); } let mut header_two = backend.header_metadata(id_two)?; if header_two.parent == id_one { - return Ok(HashAndNumber { hash: id_one, number: header_one.number }) + return Ok(HashAndNumber { hash: id_one, number: header_one.number }); } let mut orig_header_one = header_one.clone(); @@ -61,7 +61,7 @@ pub fn lowest_common_ancestor + ?Sized>( if ancestor_one.number >= header_two.number { header_one = ancestor_one; } else { - break + break; } } @@ -71,7 +71,7 @@ pub fn lowest_common_ancestor + ?Sized>( if ancestor_two.number >= header_one.number { header_two = ancestor_two; } else { - break + break; } } diff --git a/substrate/primitives/consensus/babe/src/lib.rs b/substrate/primitives/consensus/babe/src/lib.rs index fd81e44002b4b..b4f99ebebb7c6 100644 --- a/substrate/primitives/consensus/babe/src/lib.rs +++ b/substrate/primitives/consensus/babe/src/lib.rs @@ -294,7 +294,7 @@ where let pre_hash = header.hash(); if !offender.verify(&pre_hash.as_ref(), &seal) { - return None + return None; } Some(()) @@ -303,7 +303,7 @@ where let verify_proof = || { // we must have different headers for the equivocation to be valid if proof.first_header.hash() == proof.second_header.hash() { - return None + return None; } let first_pre_digest = find_pre_digest(&proof.first_header)?; @@ -314,12 +314,12 @@ where if proof.slot != first_pre_digest.slot() || first_pre_digest.slot() != second_pre_digest.slot() { - return None + return None; } // both headers must have been authored by the same authority if first_pre_digest.authority_index() != second_pre_digest.authority_index() { - return None + return None; } // we finally verify that the expected authority has signed both headers and diff --git a/substrate/primitives/consensus/beefy/src/commitment.rs b/substrate/primitives/consensus/beefy/src/commitment.rs index 49547ed877ecc..d7dfd5a819ffb 100644 --- a/substrate/primitives/consensus/beefy/src/commitment.rs +++ b/substrate/primitives/consensus/beefy/src/commitment.rs @@ -20,7 +20,6 @@ use codec::{Decode, DecodeWithMemTracking, Encode, Error, Input}; use core::cmp; use scale_info::TypeInfo; use sp_application_crypto::RuntimeAppPublic; -use sp_runtime::traits::Hash; use crate::{BeefyAuthorityId, Payload, ValidatorSet, ValidatorSetId}; @@ -143,21 +142,20 @@ impl SignedCommitment { /// at the block where the commitment was generated. /// /// Returns the valid validator-signature pairs if the commitment can be verified. - pub fn verify_signatures<'a, TAuthorityId, MsgHash>( + pub fn verify_signatures<'a, TAuthorityId>( &'a self, target_number: TBlockNumber, validator_set: &'a ValidatorSet, ) -> Result>, u32> where TBlockNumber: Clone + Encode + PartialEq, - TAuthorityId: RuntimeAppPublic + BeefyAuthorityId, - MsgHash: Hash, + TAuthorityId: RuntimeAppPublic + BeefyAuthorityId, { if self.signatures.len() != validator_set.len() || self.commitment.validator_set_id != validator_set.id() || self.commitment.block_number != target_number { - return Err(0) + return Err(0); } // Arrangement of signatures in the commitment should be in the same order @@ -460,7 +458,7 @@ mod tests { let ecdsa_sigs = mock_ecdsa_signatures(); - //including bls signature + // including bls signature let bls_signed_msgs = mock_bls_signatures(); let ecdsa_and_bls_signed = SignedCommitment { @@ -473,7 +471,7 @@ mod tests { ], }; - //when + // when let encoded = codec::Encode::encode(&ecdsa_and_bls_signed); let decoded = TestBlsSignedCommitment::decode(&mut &*encoded); diff --git a/substrate/primitives/consensus/beefy/src/lib.rs b/substrate/primitives/consensus/beefy/src/lib.rs index fe7ef724c1fa7..04bdaf30f97c1 100644 --- a/substrate/primitives/consensus/beefy/src/lib.rs +++ b/substrate/primitives/consensus/beefy/src/lib.rs @@ -50,37 +50,44 @@ use alloc::vec::Vec; use codec::{Codec, Decode, DecodeWithMemTracking, Encode}; use core::fmt::{Debug, Display}; use scale_info::TypeInfo; +pub use sp_application_crypto::key_types::BEEFY as KEY_TYPE; use sp_application_crypto::{AppPublic, RuntimeAppPublic}; use sp_core::H256; +#[cfg(feature = "std")] +use sp_keystore::KeystorePtr; use sp_runtime::{ - traits::{Hash, Header as HeaderT, Keccak256, NumberFor}, + traits::{Header as HeaderT, Keccak256, NumberFor}, OpaqueValue, }; use sp_weights::Weight; - -/// Key type for BEEFY module. -pub const KEY_TYPE: sp_core::crypto::KeyTypeId = sp_application_crypto::key_types::BEEFY; +use KEY_TYPE as BEEFY_KEY_TYPE; /// Trait representing BEEFY authority id, including custom signature verification. -/// -/// Accepts custom hashing fn for the message and custom convertor fn for the signer. -pub trait BeefyAuthorityId: RuntimeAppPublic { +pub trait BeefyAuthorityId: RuntimeAppPublic { + /// Get all the public keys of the current type from a provided `Keystore`. + #[cfg(feature = "std")] + fn get_all_public_keys_from_store(store: KeystorePtr) -> Vec>; + + /// Sign a message using the private key associated to the current public key. + /// + /// We can't access the private key directly, so we need to receive the store that contains it. + #[cfg(feature = "std")] + fn try_sign_with_store( + &self, + store: KeystorePtr, + msg: &[u8], + ) -> Result + Debug>, sp_keystore::Error>; + /// Verify a signature. /// /// Return `true` if signature over `msg` is valid for this id. fn verify(&self, signature: &::Signature, msg: &[u8]) -> bool; } -/// Hasher used for BEEFY signatures. -pub type BeefySignatureHasher = sp_runtime::traits::Keccak256; - /// A trait bound which lists all traits which are required to be implemented by /// a BEEFY AuthorityId type in order to be able to be used in BEEFY Keystore pub trait AuthorityIdBound: - Ord - + AppPublic - + Display - + BeefyAuthorityId + Ord + AppPublic + Display + BeefyAuthorityId { /// Necessary bounds on the Signature associated with the AuthorityId type BoundedSignature: Debug + Eq + PartialEq + Clone + TypeInfo + Codec + Send + Sync; @@ -97,11 +104,20 @@ pub trait AuthorityIdBound: /// Your code should use the above types as concrete types for all crypto related /// functionality. pub mod ecdsa_crypto { - use super::{AuthorityIdBound, BeefyAuthorityId, Hash, RuntimeAppPublic, KEY_TYPE}; + #[cfg(feature = "std")] + use super::Vec; + use super::{AuthorityIdBound, BeefyAuthorityId, RuntimeAppPublic, BEEFY_KEY_TYPE}; + #[cfg(feature = "std")] + use core::fmt::Debug; use sp_application_crypto::{app_crypto, ecdsa}; use sp_core::crypto::Wraps; + #[cfg(feature = "std")] + use sp_core::ByteArray; + use sp_crypto_hashing::keccak_256; + #[cfg(feature = "std")] + use sp_keystore::KeystorePtr; - app_crypto!(ecdsa, KEY_TYPE); + app_crypto!(ecdsa, BEEFY_KEY_TYPE); /// Identity of a BEEFY authority using ECDSA as its crypto. pub type AuthorityId = Public; @@ -109,12 +125,25 @@ pub mod ecdsa_crypto { /// Signature for a BEEFY authority using ECDSA as its crypto. pub type AuthoritySignature = Signature; - impl BeefyAuthorityId for AuthorityId - where - ::Output: Into<[u8; 32]>, - { + impl BeefyAuthorityId for AuthorityId { + #[cfg(feature = "std")] + fn get_all_public_keys_from_store(store: KeystorePtr) -> Vec> { + store.ecdsa_public_keys(BEEFY_KEY_TYPE) + } + + #[cfg(feature = "std")] + fn try_sign_with_store( + &self, + store: sp_keystore::KeystorePtr, + msg: &[u8], + ) -> Result + Debug>, sp_keystore::Error> { + let msg_hash = keccak_256(msg); + let public = ecdsa::Public::try_from(self.as_slice()).unwrap(); + store.ecdsa_sign_prehashed(BEEFY_KEY_TYPE, &public, &msg_hash) + } + fn verify(&self, signature: &::Signature, msg: &[u8]) -> bool { - let msg_hash = ::hash(msg).into(); + let msg_hash = keccak_256(msg); match sp_io::crypto::secp256k1_ecdsa_recover_compressed( signature.as_inner_ref().as_ref(), &msg_hash, @@ -142,11 +171,17 @@ pub mod ecdsa_crypto { #[cfg(feature = "bls-experimental")] pub mod bls_crypto { - use super::{AuthorityIdBound, BeefyAuthorityId, Hash, RuntimeAppPublic, KEY_TYPE}; + #[cfg(feature = "std")] + use super::Vec; + use super::{AuthorityIdBound, BeefyAuthorityId, RuntimeAppPublic, BEEFY_KEY_TYPE}; + #[cfg(feature = "std")] + use core::fmt::Debug; use sp_application_crypto::{app_crypto, bls381}; - use sp_core::{bls381::Pair as BlsPair, crypto::Wraps, Pair as _}; + use sp_core::{bls381::Pair as BlsPair, crypto::Wraps, ByteArray, Pair as _}; + #[cfg(feature = "std")] + use sp_keystore::KeystorePtr; - app_crypto!(bls381, KEY_TYPE); + app_crypto!(bls381, BEEFY_KEY_TYPE); /// Identity of a BEEFY authority using BLS as its crypto. pub type AuthorityId = Public; @@ -154,10 +189,22 @@ pub mod bls_crypto { /// Signature for a BEEFY authority using BLS as its crypto. pub type AuthoritySignature = Signature; - impl BeefyAuthorityId for AuthorityId - where - ::Output: Into<[u8; 32]>, - { + impl BeefyAuthorityId for AuthorityId { + #[cfg(feature = "std")] + fn get_all_public_keys_from_store(store: KeystorePtr) -> Vec> { + store.bls381_public_keys(BEEFY_KEY_TYPE) + } + + #[cfg(feature = "std")] + fn try_sign_with_store( + &self, + store: sp_keystore::KeystorePtr, + msg: &[u8], + ) -> Result + Debug>, sp_keystore::Error> { + let public = bls381::Public::try_from(self.as_slice()).unwrap(); + store.bls381_sign(BEEFY_KEY_TYPE, &public, msg) + } + fn verify(&self, signature: &::Signature, msg: &[u8]) -> bool { // `w3f-bls` library uses IETF hashing standard and as such does not expose // a choice of hash-to-field function. @@ -184,11 +231,18 @@ pub mod bls_crypto { /// functionality. #[cfg(feature = "bls-experimental")] pub mod ecdsa_bls_crypto { - use super::{AuthorityIdBound, BeefyAuthorityId, Hash, RuntimeAppPublic, KEY_TYPE}; + #[cfg(feature = "std")] + use super::Vec; + use super::{AuthorityIdBound, BeefyAuthorityId, RuntimeAppPublic, BEEFY_KEY_TYPE}; + #[cfg(feature = "std")] + use core::fmt::Debug; use sp_application_crypto::{app_crypto, ecdsa_bls381}; - use sp_core::{crypto::Wraps, ecdsa_bls381::Pair as EcdsaBlsPair}; + use sp_core::{crypto::Wraps, ecdsa_bls381::Pair as EcdsaBlsPair, ByteArray}; + #[cfg(feature = "std")] + use sp_keystore::KeystorePtr; + use sp_runtime::traits::Keccak256; - app_crypto!(ecdsa_bls381, KEY_TYPE); + app_crypto!(ecdsa_bls381, BEEFY_KEY_TYPE); /// Identity of a BEEFY authority using (ECDSA,BLS) as its crypto. pub type AuthorityId = Public; @@ -196,11 +250,22 @@ pub mod ecdsa_bls_crypto { /// Signature for a BEEFY authority using (ECDSA,BLS) as its crypto. pub type AuthoritySignature = Signature; - impl BeefyAuthorityId for AuthorityId - where - H: Hash, - H::Output: Into<[u8; 32]>, - { + impl BeefyAuthorityId for AuthorityId { + #[cfg(feature = "std")] + fn get_all_public_keys_from_store(store: KeystorePtr) -> Vec> { + store.ecdsa_bls381_public_keys(BEEFY_KEY_TYPE) + } + + #[cfg(feature = "std")] + fn try_sign_with_store( + &self, + store: sp_keystore::KeystorePtr, + msg: &[u8], + ) -> Result + Debug>, sp_keystore::Error> { + let public = ecdsa_bls381::Public::try_from(self.as_slice()).unwrap(); + store.ecdsa_bls381_sign_with_keccak256(BEEFY_KEY_TYPE, &public, &msg) + } + fn verify(&self, signature: &::Signature, msg: &[u8]) -> bool { // We can not simply call // `EcdsaBlsPair::verify(signature.as_inner_ref(), msg, self.as_inner_ref())` @@ -209,7 +274,7 @@ pub mod ecdsa_bls_crypto { // on Ethereum network where Keccak hasher is significantly cheaper than Blake2b. // See Figure 3 of [OnSc21](https://www.scitepress.org/Papers/2021/106066/106066.pdf) // for comparison. - EcdsaBlsPair::verify_with_hasher::( + EcdsaBlsPair::verify_with_hasher::( signature.as_inner_ref(), msg, self.as_inner_ref(), @@ -372,29 +437,27 @@ pub struct FutureBlockVotingProof { /// Check a commitment signature by encoding the commitment and /// verifying the provided signature using the expected authority id. -pub fn check_commitment_signature( +pub fn check_commitment_signature( commitment: &Commitment, authority_id: &Id, signature: &::Signature, ) -> bool where - Id: BeefyAuthorityId, + Id: BeefyAuthorityId, Number: Clone + Encode + PartialEq, - MsgHash: Hash, { let encoded_commitment = commitment.encode(); - BeefyAuthorityId::::verify(authority_id, signature, &encoded_commitment) + BeefyAuthorityId::verify(authority_id, signature, &encoded_commitment) } /// Verifies the equivocation proof by making sure that both votes target /// different blocks and that its signatures are valid. -pub fn check_double_voting_proof( +pub fn check_double_voting_proof( report: &DoubleVotingProof::Signature>, ) -> bool where - Id: BeefyAuthorityId + PartialEq, + Id: BeefyAuthorityId + PartialEq, Number: Clone + Encode + PartialEq, - MsgHash: Hash, { let first = &report.first; let second = &report.second; @@ -410,7 +473,7 @@ where first.commitment.validator_set_id != second.commitment.validator_set_id || first.commitment.payload == second.commitment.payload { - return false + return false; } // check signatures on both votes are valid @@ -418,7 +481,7 @@ where let valid_second = check_commitment_signature(&second.commitment, &second.id, &second.signature); - return valid_first && valid_second + return valid_first && valid_second; } /// New BEEFY validator set notification hook. @@ -555,8 +618,7 @@ mod tests { use super::*; use sp_application_crypto::ecdsa::{self, Public}; use sp_core::crypto::{Pair, Wraps}; - use sp_crypto_hashing::{blake2_256, keccak_256}; - use sp_runtime::traits::{BlakeTwo256, Keccak256}; + use sp_crypto_hashing::keccak_256; #[test] fn validator_set() { @@ -576,39 +638,15 @@ mod tests { let msg = &b"test-message"[..]; let (pair, _) = ecdsa_crypto::Pair::generate(); - let keccak_256_signature: ecdsa_crypto::Signature = + let signature: ecdsa_crypto::Signature = pair.as_inner_ref().sign_prehashed(&keccak_256(msg)).into(); - let blake2_256_signature: ecdsa_crypto::Signature = - pair.as_inner_ref().sign_prehashed(&blake2_256(msg)).into(); - - // Verification works if same hashing function is used when signing and verifying. - assert!(BeefyAuthorityId::::verify(&pair.public(), &keccak_256_signature, msg)); - assert!(BeefyAuthorityId::::verify( - &pair.public(), - &blake2_256_signature, - msg - )); - // Verification fails if distinct hashing functions are used when signing and verifying. - assert!(!BeefyAuthorityId::::verify(&pair.public(), &blake2_256_signature, msg)); - assert!(!BeefyAuthorityId::::verify( - &pair.public(), - &keccak_256_signature, - msg - )); + // Verification works if same key is used when signing and verifying. + assert!(BeefyAuthorityId::verify(&pair.public(), &signature, msg)); // Other public key doesn't work let (other_pair, _) = ecdsa_crypto::Pair::generate(); - assert!(!BeefyAuthorityId::::verify( - &other_pair.public(), - &keccak_256_signature, - msg, - )); - assert!(!BeefyAuthorityId::::verify( - &other_pair.public(), - &blake2_256_signature, - msg, - )); + assert!(!BeefyAuthorityId::verify(&other_pair.public(), &signature, msg,)); } #[test] @@ -620,11 +658,11 @@ mod tests { let signature: bls_crypto::Signature = pair.as_inner_ref().sign(&msg).into(); // Verification works if same hashing function is used when signing and verifying. - assert!(BeefyAuthorityId::::verify(&pair.public(), &signature, msg)); + assert!(BeefyAuthorityId::verify(&pair.public(), &signature, msg)); // Other public key doesn't work let (other_pair, _) = bls_crypto::Pair::generate(); - assert!(!BeefyAuthorityId::::verify(&other_pair.public(), &signature, msg,)); + assert!(!BeefyAuthorityId::verify(&other_pair.public(), &signature, msg,)); } #[test] @@ -637,13 +675,13 @@ mod tests { pair.as_inner_ref().sign_with_hasher::(&msg).into(); // Verification works if same hashing function is used when signing and verifying. - assert!(BeefyAuthorityId::::verify(&pair.public(), &signature, msg)); + assert!(BeefyAuthorityId::verify(&pair.public(), &signature, msg)); // Verification doesn't work if we verify function provided by pair_crypto implementation assert!(!ecdsa_bls_crypto::Pair::verify(&signature, msg, &pair.public())); // Other public key doesn't work let (other_pair, _) = ecdsa_bls_crypto::Pair::generate(); - assert!(!BeefyAuthorityId::::verify(&other_pair.public(), &signature, msg,)); + assert!(!BeefyAuthorityId::verify(&other_pair.public(), &signature, msg,)); } } diff --git a/substrate/primitives/consensus/beefy/src/test_utils.rs b/substrate/primitives/consensus/beefy/src/test_utils.rs index 4460bcefd45f9..10ffb156a0ce9 100644 --- a/substrate/primitives/consensus/beefy/src/test_utils.rs +++ b/substrate/primitives/consensus/beefy/src/test_utils.rs @@ -18,14 +18,15 @@ #[cfg(feature = "bls-experimental")] use crate::ecdsa_bls_crypto; use crate::{ - ecdsa_crypto, AuthorityIdBound, BeefySignatureHasher, Commitment, DoubleVotingProof, - ForkVotingProof, FutureBlockVotingProof, Payload, ValidatorSetId, VoteMessage, + ecdsa_crypto, AuthorityIdBound, Commitment, DoubleVotingProof, ForkVotingProof, + FutureBlockVotingProof, Payload, ValidatorSetId, VoteMessage, }; use sp_application_crypto::{AppCrypto, AppPair, RuntimeAppPublic, Wraps}; use sp_core::{ecdsa, Pair}; -use sp_runtime::traits::{BlockNumber, Hash, Header as HeaderT}; +use sp_runtime::traits::{BlockNumber, Header as HeaderT}; use codec::Encode; +use sp_crypto_hashing::keccak_256; use std::{collections::HashMap, marker::PhantomData, sync::LazyLock}; use strum::IntoEnumIterator; @@ -44,33 +45,26 @@ pub enum Keyring { _Marker(PhantomData), } -/// Trait representing BEEFY specific generation and signing behavior of authority id +/// Trait representing BEEFY specific generation and signing behavior of authority id. /// -/// Accepts custom hashing fn for the message and custom convertor fn for the signer. -pub trait BeefySignerAuthority: AppPair { - /// Generate and return signature for `message` using custom hashing `MsgHash` - fn sign_with_hasher(&self, message: &[u8]) -> ::Signature; +/// The trait mimics `BeefyAuthorityId` signing, but uses the private key instead of a keystore. +/// This is needed for testing purposes. +pub trait BeefySignerAuthority: AppPair { + /// Generate and return signature for `message`. + fn sign(&self, message: &[u8]) -> ::Signature; } -impl BeefySignerAuthority for ::Pair -where - MsgHash: Hash, - ::Output: Into<[u8; 32]>, -{ - fn sign_with_hasher(&self, message: &[u8]) -> ::Signature { - let hashed_message = ::hash(message).into(); +impl BeefySignerAuthority for ::Pair { + fn sign(&self, message: &[u8]) -> ::Signature { + let hashed_message = keccak_256(message); self.as_inner_ref().sign_prehashed(&hashed_message).into() } } #[cfg(feature = "bls-experimental")] -impl BeefySignerAuthority for ::Pair -where - MsgHash: Hash, - ::Output: Into<[u8; 32]>, -{ - fn sign_with_hasher(&self, message: &[u8]) -> ::Signature { - self.as_inner_ref().sign_with_hasher::(&message).into() +impl BeefySignerAuthority for ::Pair { + fn sign(&self, message: &[u8]) -> ::Signature { + self.as_inner_ref().sign(&message).into() } } @@ -78,14 +72,14 @@ where impl Keyring where AuthorityId: AuthorityIdBound + From<<::Pair as AppCrypto>::Public>, - ::Pair: BeefySignerAuthority, + ::Pair: BeefySignerAuthority, ::Signature: Send + Sync + From<<::Pair as AppCrypto>::Signature>, { /// Sign `msg`. pub fn sign(&self, msg: &[u8]) -> ::Signature { let key_pair: ::Pair = self.pair(); - key_pair.sign_with_hasher(&msg).into() + BeefySignerAuthority::sign(&key_pair, msg).into() } /// Return key pair. diff --git a/substrate/primitives/consensus/common/src/lib.rs b/substrate/primitives/consensus/common/src/lib.rs index dc40257f5fcb8..95b5ac3b14941 100644 --- a/substrate/primitives/consensus/common/src/lib.rs +++ b/substrate/primitives/consensus/common/src/lib.rs @@ -70,6 +70,18 @@ pub enum BlockOrigin { Own, /// Block was imported from a file. File, + /// Block from warp sync proof, already cryptographically verified. + /// + /// These blocks have been verified through the warp sync protocol's finality proofs + /// and are part of the finalized chain. As such, certain consensus verification steps + /// can be safely skipped during import. These are the blocks that are used to verify the era + /// changes and not the target block to which the node is warp syncing to. + WarpSync, + /// Block imported during gap sync to fill historical gaps. + /// + /// Gap sync occurs after warp sync completes, downloading blocks between genesis + /// and the warp sync target to fill in the historical chain. + GapSync, } /// Environment for a Consensus instance. diff --git a/substrate/primitives/consensus/grandpa/src/lib.rs b/substrate/primitives/consensus/grandpa/src/lib.rs index 3544e13a4e124..0b08af6c23015 100644 --- a/substrate/primitives/consensus/grandpa/src/lib.rs +++ b/substrate/primitives/consensus/grandpa/src/lib.rs @@ -358,7 +358,7 @@ where if $equivocation.first.0.target_hash == $equivocation.second.0.target_hash && $equivocation.first.0.target_number == $equivocation.second.0.target_number { - return false + return false; } // check signatures on both votes are valid diff --git a/substrate/primitives/core/src/address_uri.rs b/substrate/primitives/core/src/address_uri.rs index 4877250cf3acd..fa5b3e356b0bc 100644 --- a/substrate/primitives/core/src/address_uri.rs +++ b/substrate/primitives/core/src/address_uri.rs @@ -184,7 +184,7 @@ impl<'a> AddressUri<'a> { Error::in_pass(initial_input, initial_input_len - input.len()) } else { Error::in_phrase(initial_input, initial_input_len - input.len()) - }) + }); } } diff --git a/substrate/primitives/core/src/bandersnatch.rs b/substrate/primitives/core/src/bandersnatch.rs index 564c1068a522a..5c3332ad75427 100644 --- a/substrate/primitives/core/src/bandersnatch.rs +++ b/substrate/primitives/core/src/bandersnatch.rs @@ -107,7 +107,7 @@ impl TraitPair for Pair { /// The slice must be 32 bytes long or it will return an error. fn from_seed_slice(seed_slice: &[u8]) -> Result { if seed_slice.len() != SEED_SERIALIZED_SIZE { - return Err(SecretStringError::InvalidSeedLength) + return Err(SecretStringError::InvalidSeedLength); } let mut seed = [0; SEED_SERIALIZED_SIZE]; seed.copy_from_slice(seed_slice); @@ -136,7 +136,7 @@ impl TraitPair for Pair { if let DeriveJunction::Hard(cc) = p { seed = derive_hard(seed, cc); } else { - return Err(DeriveError::SoftKeyInPath) + return Err(DeriveError::SoftKeyInPath); } } Ok((Self::from_seed(&seed), Some(seed))) @@ -171,10 +171,10 @@ impl TraitPair for Pair { fn verify>(signature: &Signature, data: M, public: &Public) -> bool { let Ok(signature) = bandersnatch::IetfProof::deserialize_compressed(&signature.0[..]) else { - return false + return false; }; let Ok(public) = bandersnatch::Public::deserialize_compressed(&public.0[..]) else { - return false + return false; }; let gs = BandersnatchSuite::generator() * signature.s; let yc = public.0 * signature.c; @@ -347,12 +347,12 @@ pub mod vrf { let Ok(public) = bandersnatch::Public::deserialize_compressed_unchecked(self.as_slice()) else { - return false + return false; }; let Ok(proof) = ark_vrf::ietf::Proof::deserialize_compressed_unchecked(signature.proof.as_slice()) else { - return false + return false; }; public .verify(data.vrf_input.0, signature.pre_output.0, &data.aux_data, &proof) @@ -584,7 +584,7 @@ pub mod ring_vrf { let Ok(proof) = bandersnatch::RingProof::deserialize_compressed_unchecked(self.proof.as_slice()) else { - return false + return false; }; bandersnatch::Public::verify( data.vrf_input.0, diff --git a/substrate/primitives/core/src/bls.rs b/substrate/primitives/core/src/bls.rs index 90601356d1811..4920d80ee5ec0 100644 --- a/substrate/primitives/core/src/bls.rs +++ b/substrate/primitives/core/src/bls.rs @@ -185,7 +185,7 @@ impl TraitPair for Pair { fn from_seed_slice(seed_slice: &[u8]) -> Result { if seed_slice.len() != SECRET_KEY_SERIALIZED_SIZE { - return Err(SecretStringError::InvalidSeedLength) + return Err(SecretStringError::InvalidSeedLength); } let secret = w3f_bls::SecretKey::from_seed(seed_slice); let public = secret.into_public(); @@ -300,12 +300,12 @@ impl ProofOfPossessionVerifier for Pair { let Ok(allegedly_possessed_pubkey_as_bls_pubkey) = DoublePublicKey::::from_bytes(allegedly_possessed_pubkey.as_ref()) else { - return false + return false; }; let Ok(proof_of_ownership) = proof_of_possession.0[0..SIGNATURE_SERIALIZED_SIZE].try_into() else { - return false + return false; }; if !Self::verify( diff --git a/substrate/primitives/core/src/crypto.rs b/substrate/primitives/core/src/crypto.rs index 614456e6fd65a..df672b42fce5a 100644 --- a/substrate/primitives/core/src/crypto.rs +++ b/substrate/primitives/core/src/crypto.rs @@ -278,7 +278,7 @@ pub trait Ss58Codec: Sized + AsMut<[u8]> + AsRef<[u8]> + ByteArray { let data = bs58::decode(s).into_vec().map_err(|_| PublicError::BadBase58)?; if data.len() < 2 { - return Err(PublicError::BadLength) + return Err(PublicError::BadLength); } let (prefix_len, ident) = match data[0] { 0..=63 => (1, data[0] as u16), @@ -295,18 +295,18 @@ pub trait Ss58Codec: Sized + AsMut<[u8]> + AsRef<[u8]> + ByteArray { _ => return Err(PublicError::InvalidPrefix), }; if data.len() != prefix_len + body_len + CHECKSUM_LEN { - return Err(PublicError::BadLength) + return Err(PublicError::BadLength); } let format = ident.into(); if !Self::format_is_allowed(format) { - return Err(PublicError::FormatNotAllowed) + return Err(PublicError::FormatNotAllowed); } let hash = ss58hash(&data[0..body_len + prefix_len]); let checksum = &hash[0..CHECKSUM_LEN]; if data[body_len + prefix_len..body_len + prefix_len + CHECKSUM_LEN] != *checksum { // Invalid checksum. - return Err(PublicError::InvalidChecksum) + return Err(PublicError::InvalidChecksum); } let result = Self::from_slice(&data[prefix_len..body_len + prefix_len]) @@ -434,7 +434,7 @@ impl + AsRef<[u8]> + Public + Derive> Ss58Codec for T { fn from_string(s: &str) -> Result { let cap = AddressUri::parse(s)?; if cap.pass.is_some() { - return Err(PublicError::PasswordNotAllowed) + return Err(PublicError::PasswordNotAllowed); } let s = cap.phrase.unwrap_or(DEV_ADDRESS); let addr = if let Some(stripped) = s.strip_prefix("0x") { @@ -454,7 +454,7 @@ impl + AsRef<[u8]> + Public + Derive> Ss58Codec for T { fn from_string_with_version(s: &str) -> Result<(Self, Ss58AddressFormat), PublicError> { let cap = AddressUri::parse(s)?; if cap.pass.is_some() { - return Err(PublicError::PasswordNotAllowed) + return Err(PublicError::PasswordNotAllowed); } let (addr, v) = Self::from_ss58check_with_version(cap.phrase.unwrap_or(DEV_ADDRESS))?; if cap.paths.is_empty() { @@ -1083,7 +1083,7 @@ impl<'a> TryFrom<&'a str> for KeyTypeId { fn try_from(x: &'a str) -> Result { let b = x.as_bytes(); if b.len() != 4 { - return Err(()) + return Err(()); } let mut res = KeyTypeId::default(); res.0.copy_from_slice(&b[0..4]); @@ -1288,14 +1288,16 @@ mod tests { password, path: path.into_iter().chain(path_iter).collect(), }, - TestPair::GeneratedFromPhrase { phrase, password } => - TestPair::Standard { phrase, password, path: path_iter.collect() }, - x => + TestPair::GeneratedFromPhrase { phrase, password } => { + TestPair::Standard { phrase, password, path: path_iter.collect() } + }, + x => { if path_iter.count() == 0 { x } else { - return Err(DeriveError::SoftKeyInPath) - }, + return Err(DeriveError::SoftKeyInPath); + } + }, }, None, )) diff --git a/substrate/primitives/core/src/crypto_bytes.rs b/substrate/primitives/core/src/crypto_bytes.rs index 1ebb7e853a524..0925c42b35642 100644 --- a/substrate/primitives/core/src/crypto_bytes.rs +++ b/substrate/primitives/core/src/crypto_bytes.rs @@ -138,7 +138,7 @@ impl TryFrom<&[u8]> for CryptoBytes { fn try_from(data: &[u8]) -> Result { if data.len() != N { - return Err(()) + return Err(()); } let mut r = [0u8; N]; r.copy_from_slice(data); diff --git a/substrate/primitives/core/src/ed25519.rs b/substrate/primitives/core/src/ed25519.rs index e95acb52c5e3e..bc674f7fbedd2 100644 --- a/substrate/primitives/core/src/ed25519.rs +++ b/substrate/primitives/core/src/ed25519.rs @@ -118,7 +118,7 @@ impl TraitPair for Pair { fn verify>(sig: &Signature, message: M, public: &Public) -> bool { let Ok(public) = VerificationKey::try_from(public.as_slice()) else { return false }; let Ok(signature) = ed25519_zebra::Signature::try_from(sig.as_slice()) else { - return false + return false; }; public.verify(&signature, message.as_ref()).is_ok() } diff --git a/substrate/primitives/core/src/offchain/storage.rs b/substrate/primitives/core/src/offchain/storage.rs index 4db839f1a451a..50cd7d81eb958 100644 --- a/substrate/primitives/core/src/offchain/storage.rs +++ b/substrate/primitives/core/src/offchain/storage.rs @@ -75,13 +75,14 @@ impl OffchainStorage for InMemOffchainStorage { let key = prefix.iter().chain(key).cloned().collect(); match self.storage.entry(key) { - Entry::Vacant(entry) => + Entry::Vacant(entry) => { if old_value.is_none() { entry.insert(new_value.to_vec()); true } else { false - }, + } + }, Entry::Occupied(ref mut entry) if Some(entry.get().as_slice()) == old_value => { entry.insert(new_value.to_vec()); true @@ -161,8 +162,9 @@ impl DbExternalities for OffchainDb { "CAS", ); match kind { - StorageKind::PERSISTENT => - self.persistent.compare_and_set(STORAGE_PREFIX, key, old_value, new_value), + StorageKind::PERSISTENT => { + self.persistent.compare_and_set(STORAGE_PREFIX, key, old_value, new_value) + }, StorageKind::LOCAL => unavailable_yet(LOCAL_DB), } } diff --git a/substrate/primitives/core/src/offchain/testing.rs b/substrate/primitives/core/src/offchain/testing.rs index ee3620e701965..82baffbcbeaa7 100644 --- a/substrate/primitives/core/src/offchain/testing.rs +++ b/substrate/primitives/core/src/offchain/testing.rs @@ -80,8 +80,9 @@ impl TestPersistentOffchainDB { let mut me = self.persistent.write(); for ((_prefix, key), value_operation) in changes { match value_operation { - OffchainOverlayedChange::SetValue(val) => - me.set(Self::PREFIX, key.as_slice(), val.as_slice()), + OffchainOverlayedChange::SetValue(val) => { + me.set(Self::PREFIX, key.as_slice(), val.as_slice()) + }, OffchainOverlayedChange::Remove => me.remove(Self::PREFIX, key.as_slice()), } } @@ -381,10 +382,12 @@ impl offchain::DbExternalities for TestOffchainExt { ) -> bool { let mut state = self.0.write(); match kind { - StorageKind::LOCAL => - state.local_storage.compare_and_set(b"", key, old_value, new_value), - StorageKind::PERSISTENT => - state.persistent_storage.compare_and_set(b"", key, old_value, new_value), + StorageKind::LOCAL => { + state.local_storage.compare_and_set(b"", key, old_value, new_value) + }, + StorageKind::PERSISTENT => { + state.persistent_storage.compare_and_set(b"", key, old_value, new_value) + }, } } diff --git a/substrate/primitives/core/src/paired_crypto.rs b/substrate/primitives/core/src/paired_crypto.rs index e7cab11a3b66c..4e138008778dd 100644 --- a/substrate/primitives/core/src/paired_crypto.rs +++ b/substrate/primitives/core/src/paired_crypto.rs @@ -124,20 +124,20 @@ pub mod ecdsa_bls377 { let msg_hash = H::hash(message).into(); let Ok(left_pub) = public.0[..ecdsa::PUBLIC_KEY_SERIALIZED_SIZE].try_into() else { - return false + return false; }; let Ok(left_sig) = sig.0[..ecdsa::SIGNATURE_SERIALIZED_SIZE].try_into() else { - return false + return false; }; if !ecdsa::Pair::verify_prehashed(&left_sig, &msg_hash, &left_pub) { - return false + return false; } let Ok(right_pub) = public.0[ecdsa::PUBLIC_KEY_SERIALIZED_SIZE..].try_into() else { - return false + return false; }; let Ok(right_sig) = sig.0[ecdsa::SIGNATURE_SERIALIZED_SIZE..].try_into() else { - return false + return false; }; bls377::Pair::verify(&right_sig, message, &right_pub) } @@ -245,20 +245,20 @@ pub mod ecdsa_bls381 { let msg_hash = H::hash(message).into(); let Ok(left_pub) = public.0[..ecdsa::PUBLIC_KEY_SERIALIZED_SIZE].try_into() else { - return false + return false; }; let Ok(left_sig) = sig.0[..ecdsa::SIGNATURE_SERIALIZED_SIZE].try_into() else { - return false + return false; }; if !ecdsa::Pair::verify_prehashed(&left_sig, &msg_hash, &left_pub) { - return false + return false; } let Ok(right_pub) = public.0[ecdsa::PUBLIC_KEY_SERIALIZED_SIZE..].try_into() else { - return false + return false; }; let Ok(right_sig) = sig.0[ecdsa::SIGNATURE_SERIALIZED_SIZE..].try_into() else { - return false + return false; }; bls381::Pair::verify(&right_sig, message, &right_pub) } @@ -328,7 +328,7 @@ pub struct Pair< _phantom: PhantomData SubTag>, } -///Implementation of Clone for PairedCrypto +/// Implementation of Clone for PairedCrypto impl< LeftPair: PairT + Clone, RightPair: PairT + Clone, @@ -343,7 +343,7 @@ impl< } } -///Implementation of keypair for paired cryptographic keys +/// Implementation of keypair for paired cryptographic keys impl< LeftPair: PairT, RightPair: PairT, @@ -367,7 +367,7 @@ where fn from_seed_slice(seed_slice: &[u8]) -> Result { if seed_slice.len() != SECURE_SEED_LEN { - return Err(SecretStringError::InvalidSeedLength) + return Err(SecretStringError::InvalidSeedLength); } let left = LeftPair::from_seed_slice(&seed_slice)?; let right = RightPair::from_seed_slice(&seed_slice)?; @@ -422,7 +422,7 @@ where let Ok(left_pub) = public.0[..LeftPair::Public::LEN].try_into() else { return false }; let Ok(left_sig) = sig.0[0..LeftPair::Signature::LEN].try_into() else { return false }; if !LeftPair::verify(&left_sig, message.as_ref(), &left_pub) { - return false + return false; } let Ok(right_pub) = public.0[LeftPair::Public::LEN..].try_into() else { return false }; @@ -497,25 +497,25 @@ where allegedly_possessed_pubkey: &Self::Public, ) -> bool { let Ok(left_pub) = allegedly_possessed_pubkey.0[..LeftPair::Public::LEN].try_into() else { - return false + return false; }; let Ok(left_proof_of_possession) = proof_of_possession.0[0..LeftPair::ProofOfPossession::LEN].try_into() else { - return false + return false; }; if !LeftPair::verify_proof_of_possession(owner, &left_proof_of_possession, &left_pub) { - return false + return false; } let Ok(right_pub) = allegedly_possessed_pubkey.0[LeftPair::Public::LEN..].try_into() else { - return false + return false; }; let Ok(right_proof_of_possession) = proof_of_possession.0[LeftPair::ProofOfPossession::LEN..].try_into() else { - return false + return false; }; RightPair::verify_proof_of_possession(owner, &right_proof_of_possession, &right_pub) } diff --git a/substrate/primitives/core/src/sr25519.rs b/substrate/primitives/core/src/sr25519.rs index b0a06310623e6..7a1b3a1e59268 100644 --- a/substrate/primitives/core/src/sr25519.rs +++ b/substrate/primitives/core/src/sr25519.rs @@ -520,25 +520,34 @@ pub mod vrf { NotMarkedSchnorrkel => "Signature error: `NotMarkedSchnorrkel`".into(), BytesLengthError { .. } => "Signature error: `BytesLengthError`".into(), InvalidKey => "Signature error: `InvalidKey`".into(), - MuSigAbsent { musig_stage: Commitment } => - "Signature error: `MuSigAbsent` at stage `Commitment`".into(), - MuSigAbsent { musig_stage: Reveal } => - "Signature error: `MuSigAbsent` at stage `Reveal`".into(), - MuSigAbsent { musig_stage: Cosignature } => - "Signature error: `MuSigAbsent` at stage `Commitment`".into(), - MuSigInconsistent { musig_stage: Commitment, duplicate: true } => - "Signature error: `MuSigInconsistent` at stage `Commitment` on duplicate".into(), - MuSigInconsistent { musig_stage: Commitment, duplicate: false } => - "Signature error: `MuSigInconsistent` at stage `Commitment` on not duplicate".into(), - MuSigInconsistent { musig_stage: Reveal, duplicate: true } => - "Signature error: `MuSigInconsistent` at stage `Reveal` on duplicate".into(), - MuSigInconsistent { musig_stage: Reveal, duplicate: false } => - "Signature error: `MuSigInconsistent` at stage `Reveal` on not duplicate".into(), - MuSigInconsistent { musig_stage: Cosignature, duplicate: true } => - "Signature error: `MuSigInconsistent` at stage `Cosignature` on duplicate".into(), - MuSigInconsistent { musig_stage: Cosignature, duplicate: false } => + MuSigAbsent { musig_stage: Commitment } => { + "Signature error: `MuSigAbsent` at stage `Commitment`".into() + }, + MuSigAbsent { musig_stage: Reveal } => { + "Signature error: `MuSigAbsent` at stage `Reveal`".into() + }, + MuSigAbsent { musig_stage: Cosignature } => { + "Signature error: `MuSigAbsent` at stage `Commitment`".into() + }, + MuSigInconsistent { musig_stage: Commitment, duplicate: true } => { + "Signature error: `MuSigInconsistent` at stage `Commitment` on duplicate".into() + }, + MuSigInconsistent { musig_stage: Commitment, duplicate: false } => { + "Signature error: `MuSigInconsistent` at stage `Commitment` on not duplicate".into() + }, + MuSigInconsistent { musig_stage: Reveal, duplicate: true } => { + "Signature error: `MuSigInconsistent` at stage `Reveal` on duplicate".into() + }, + MuSigInconsistent { musig_stage: Reveal, duplicate: false } => { + "Signature error: `MuSigInconsistent` at stage `Reveal` on not duplicate".into() + }, + MuSigInconsistent { musig_stage: Cosignature, duplicate: true } => { + "Signature error: `MuSigInconsistent` at stage `Cosignature` on duplicate".into() + }, + MuSigInconsistent { musig_stage: Cosignature, duplicate: false } => { "Signature error: `MuSigInconsistent` at stage `Cosignature` on not duplicate" - .into(), + .into() + }, } } diff --git a/substrate/primitives/crypto/ec-utils/Cargo.toml b/substrate/primitives/crypto/ec-utils/Cargo.toml index 1e5964f855758..95dbf4db8be60 100644 --- a/substrate/primitives/crypto/ec-utils/Cargo.toml +++ b/substrate/primitives/crypto/ec-utils/Cargo.toml @@ -29,6 +29,10 @@ ark-ed-on-bls12-381-bandersnatch-ext = { optional = true, workspace = true } ark-scale = { features = ["hazmat"], optional = true, workspace = true } sp-runtime-interface = { optional = true, workspace = true } +[dev-dependencies] +ark-ff = { workspace = true } +ark-std = { workspace = true } + [features] default = ["std"] std = [ @@ -44,7 +48,9 @@ std = [ "ark-ed-on-bls12-377?/std", "ark-ed-on-bls12-381-bandersnatch-ext?/std", "ark-ed-on-bls12-381-bandersnatch?/std", + "ark-ff/std", "ark-scale?/std", + "ark-std/std", "sp-runtime-interface?/std", ] common = ["ark-ec", "ark-scale", "sp-runtime-interface"] diff --git a/substrate/primitives/crypto/ec-utils/README.md b/substrate/primitives/crypto/ec-utils/README.md new file mode 100644 index 0000000000000..53f4625e2ec7b --- /dev/null +++ b/substrate/primitives/crypto/ec-utils/README.md @@ -0,0 +1,23 @@ +# Arkworks EC-Utils + +Arkworks-compatible elliptic curve types with host-accelerated operations for +Substrate runtimes. + +This crate provides elliptic curve types that are API-compatible with +[Arkworks](https://github.com/arkworks-rs), enabling easy migration from +upstream Arkworks types. The implementation leverages +[arkworks-extensions](https://github.com/paritytech/arkworks-extensions) to +redirect computationally expensive operations (pairings, MSMs, point +multiplications) to native host function implementations via Substrate's host +call interface. + +The crate includes both: +- **Runtime-side**: Arkworks-compatible type definitions that can be used as + drop-in replacements for upstream Arkworks types in runtime code. These types + call into arkworks-extensions hooks which are implemented to redirect + expensive operations to the host. +- **Host-side**: Host function implementations that call into the original + Arkworks library to execute expensive operations natively on the host. + +Refer to [`ark-substrate-examples`](https://github.com/davxy/ark-substrate-examples) +for benchmarks and usage examples. diff --git a/substrate/primitives/crypto/ec-utils/src/bls12_377.rs b/substrate/primitives/crypto/ec-utils/src/bls12_377.rs index dda3aef5035f9..da8982119bfaf 100644 --- a/substrate/primitives/crypto/ec-utils/src/bls12_377.rs +++ b/substrate/primitives/crypto/ec-utils/src/bls12_377.rs @@ -17,121 +17,116 @@ //! *BLS12-377* types and host functions. -use crate::utils; +use crate::utils::{self, HostcallResult, FAIL_MSG}; use alloc::vec::Vec; use ark_bls12_377_ext::CurveHooks; -use ark_ec::{pairing::Pairing, CurveConfig}; +use ark_ec::{pairing::Pairing, AffineRepr, CurveGroup}; use sp_runtime_interface::{ - pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead}, + pass_by::{PassFatPointerAndRead, PassFatPointerAndReadWrite, PassFatPointerAndWrite}, runtime_interface, }; -/// First pairing group definitions. -pub mod g1 { - pub use ark_bls12_377_ext::g1::{ - G1_GENERATOR_X, G1_GENERATOR_Y, TE_GENERATOR_X, TE_GENERATOR_Y, - }; - /// Group configuration. - pub type Config = ark_bls12_377_ext::g1::Config; - /// Short Weierstrass form point affine representation. - pub type G1Affine = ark_bls12_377_ext::g1::G1Affine; - /// Short Weierstrass form point projective representation. - pub type G1Projective = ark_bls12_377_ext::g1::G1Projective; - /// Short Weierstrass form point affine representation. - pub type G1SWAffine = ark_bls12_377_ext::g1::G1SWAffine; - /// Short Weierstrass form point projective representation. - pub type G1SWProjective = ark_bls12_377_ext::g1::G1SWProjective; - /// Twisted Edwards form point affine representation. - pub type G1TEAffine = ark_bls12_377_ext::g1::G1TEAffine; - /// Twisted Edwards form point projective representation. - pub type G1TEProjective = ark_bls12_377_ext::g1::G1TEProjective; -} +/// Configuration for *BLS12-377* curve. +pub type Config = ark_bls12_377_ext::Config; -/// Second pairing group definitions. -pub mod g2 { - pub use ark_bls12_377_ext::g2::{ - G2_GENERATOR_X, G2_GENERATOR_X_C0, G2_GENERATOR_X_C1, G2_GENERATOR_Y, G2_GENERATOR_Y_C0, - G2_GENERATOR_Y_C1, - }; - /// Group configuration. - pub type Config = ark_bls12_377_ext::g2::Config; - /// Short Weierstrass form point affine representation. - pub type G2Affine = ark_bls12_377_ext::g2::G2Affine; - /// Short Weierstrass form point projective representation. - pub type G2Projective = ark_bls12_377_ext::g2::G2Projective; -} +/// *BLS12-377* pairing friendly curve. +pub type Bls12_377 = ark_bls12_377_ext::Bls12_377; -pub use self::{ - g1::{Config as G1Config, G1Affine, G1Projective}, - g2::{Config as G2Config, G2Affine, G2Projective}, -}; +/// G1 group configuration. +pub type G1Config = ark_bls12_377_ext::g1::Config; +/// An element in G1 (affine). +pub type G1Affine = ark_bls12_377_ext::g1::G1Affine; +/// An element in G1 (projective). +pub type G1Projective = ark_bls12_377_ext::g1::G1Projective; + +/// G2 group configuration. +pub type G2Config = ark_bls12_377_ext::g2::Config; +/// An element in G2 (affine). +pub type G2Affine = ark_bls12_377_ext::g2::G2Affine; +/// An element in G2 (projective). +pub type G2Projective = ark_bls12_377_ext::g2::G2Projective; + +/// G1 and G2 scalar field (Fr). +pub type ScalarField = ::ScalarField; + +/// An element in G1 preprocessed for pairing. +pub type G1Prepared = ::G1Prepared; +/// An element in G2 preprocessed for pairing. +pub type G2Prepared = ::G2Prepared; +/// Pairing target field. +pub type TargetField = ::TargetField; /// Curve hooks jumping into [`host_calls`] host functions. #[derive(Copy, Clone)] pub struct HostHooks; -/// Configuration for *BLS12-377* curve. -pub type Config = ark_bls12_377_ext::Config; - -/// *BLS12-377* definition. -/// -/// A generic *BLS12* model specialized with *BLS12-377* configuration. -pub type Bls12_377 = ark_bls12_377_ext::Bls12_377; - impl CurveHooks for HostHooks { fn multi_miller_loop( - g1: impl Iterator::G1Prepared>, - g2: impl Iterator::G2Prepared>, - ) -> ::TargetField { - host_calls::bls12_377_multi_miller_loop(utils::encode_iter(g1), utils::encode_iter(g2)) - .and_then(|res| utils::decode(res)) - .unwrap_or_default() + g1: impl Iterator, + g2: impl Iterator, + ) -> TargetField { + let mut out = utils::buffer_for::(); + host_calls::bls12_377_multi_miller_loop( + &utils::encode_iter(g1), + &utils::encode_iter(g2), + &mut out, + ) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) } - fn final_exponentiation( - target: ::TargetField, - ) -> ::TargetField { - host_calls::bls12_377_final_exponentiation(utils::encode(target)) - .and_then(|res| utils::decode(res)) - .unwrap_or_default() + fn final_exponentiation(target: TargetField) -> TargetField { + let mut in_out = utils::encode(target); + host_calls::bls12_377_final_exponentiation(&mut in_out) + .and_then(|_| utils::decode::(&in_out)) + .expect(FAIL_MSG) } - fn msm_g1( - bases: &[G1Affine], - scalars: &[::ScalarField], - ) -> G1Projective { - host_calls::bls12_377_msm_g1(utils::encode(bases), utils::encode(scalars)) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + fn msm_g1(bases: &[G1Affine], scalars: &[ScalarField]) -> G1Projective { + let mut out = utils::buffer_for::(); + host_calls::bls12_377_msm_g1(&utils::encode(bases), &utils::encode(scalars), &mut out) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } - fn msm_g2( - bases: &[G2Affine], - scalars: &[::ScalarField], - ) -> G2Projective { - host_calls::bls12_377_msm_g2(utils::encode(bases), utils::encode(scalars)) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + fn msm_g2(bases: &[G2Affine], scalars: &[ScalarField]) -> G2Projective { + let mut out = utils::buffer_for::(); + host_calls::bls12_377_msm_g2(&utils::encode(bases), &utils::encode(scalars), &mut out) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } fn mul_projective_g1(base: &G1Projective, scalar: &[u64]) -> G1Projective { - host_calls::bls12_377_mul_projective_g1(utils::encode_proj_sw(base), utils::encode(scalar)) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + let mut out = utils::buffer_for::(); + host_calls::bls12_377_mul_g1( + &utils::encode(base.into_affine()), + &utils::encode(scalar), + &mut out, + ) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } fn mul_projective_g2(base: &G2Projective, scalar: &[u64]) -> G2Projective { - host_calls::bls12_377_mul_projective_g2(utils::encode_proj_sw(base), utils::encode(scalar)) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + let mut out = utils::buffer_for::(); + host_calls::bls12_377_mul_g2( + &utils::encode(base.into_affine()), + &utils::encode(scalar), + &mut out, + ) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } } /// Interfaces for working with *Arkworks* *BLS12-377* elliptic curve related types /// from within the runtime. /// -/// All types are (de-)serialized through the wrapper types from the `ark-scale` trait, -/// with `ark_scale::{ArkScale, ArkScaleProjective}`. +/// All types are (de-)serialized through the wrapper types from `ark-scale`. /// /// `ArkScale`'s `Usage` generic parameter is expected to be set to "not-validated" /// and "not-compressed". @@ -139,76 +134,112 @@ impl CurveHooks for HostHooks { pub trait HostCalls { /// Pairing multi Miller loop for *BLS12-377*. /// - /// - Receives encoded: - /// - `a`: `ArkScale>`. - /// - `b`: `ArkScale>`. - /// - Returns encoded: `ArkScale`. + /// Receives encoded: + /// - `a`: `Vec`. + /// - `b`: `Vec`. + /// Writes encoded `TargetField` to `out`. fn bls12_377_multi_miller_loop( - a: PassFatPointerAndRead>, - b: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::multi_miller_loop::(a, b) + a: PassFatPointerAndRead<&[u8]>, + b: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::multi_miller_loop::(a, b, out) } - /// Pairing final exponentiation for *BLS12-377.* + /// Pairing final exponentiation for *BLS12-377*. /// - /// - Receives encoded: `ArkScale`. - /// - Returns encoded: `ArkScale`. + /// Receives encoded: `TargetField`. + /// Writes encoded `TargetField` to `in_out`. fn bls12_377_final_exponentiation( - f: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::final_exponentiation::(f) + in_out: PassFatPointerAndReadWrite<&mut [u8]>, + ) -> HostcallResult { + utils::final_exponentiation::(in_out) } /// Multi scalar multiplication on *G1* for *BLS12-377*. /// - /// - Receives encoded: - /// - `bases`: `ArkScale>`. - /// - `scalars`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. + /// Receives encoded: + /// - `bases`: `Vec`. + /// - `scalars`: `Vec`. + /// Writes encoded `G1Affine` to `out`. fn bls12_377_msm_g1( - bases: PassFatPointerAndRead>, - scalars: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::msm_sw::(bases, scalars) + bases: PassFatPointerAndRead<&[u8]>, + scalars: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::msm_sw::(bases, scalars, out) } /// Multi scalar multiplication on *G2* for *BLS12-377*. /// - /// - Receives encoded: - /// - `bases`: `ArkScale>`. - /// - `scalars`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. + /// Receives encoded: + /// - `bases`: `Vec`. + /// - `scalars`: `Vec`. + /// Writes encoded `G2Affine` to `out`. fn bls12_377_msm_g2( - bases: PassFatPointerAndRead>, - scalars: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::msm_sw::(bases, scalars) + bases: PassFatPointerAndRead<&[u8]>, + scalars: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::msm_sw::(bases, scalars, out) } - /// Projective multiplication on *G1* for *BLS12-377*. + /// Affine multiplication on *G1* for *BLS12-377*. /// - /// - Receives encoded: - /// - `base`: `ArkScaleProjective`. - /// - `scalar`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. - fn bls12_377_mul_projective_g1( - base: PassFatPointerAndRead>, - scalar: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::mul_projective_sw::(base, scalar) - } - - /// Projective multiplication on *G2* for *BLS12-377*. + /// Receives encoded: + /// - `base`: `G1Affine`. + /// - `scalar`: `BigInteger`. + /// Writes encoded `G1Affine` to `out`. + fn bls12_377_mul_g1( + base: PassFatPointerAndRead<&[u8]>, + scalar: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::mul_sw::(base, scalar, out) + } + + /// Affine multiplication on *G2* for *BLS12-377*. /// - /// - Receives encoded: - /// - `base`: `ArkScaleProjective`. - /// - `scalar`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. - fn bls12_377_mul_projective_g2( - base: PassFatPointerAndRead>, - scalar: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::mul_projective_sw::(base, scalar) + /// Receives encoded: + /// - `base`: `G2Affine`. + /// - `scalar`: `BigInteger`. + /// Writes encoded `G2Affine` to `out`. + fn bls12_377_mul_g2( + base: PassFatPointerAndRead<&[u8]>, + scalar: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::mul_sw::(base, scalar, out) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::utils::testing::*; + + #[test] + fn mul_g1_works() { + mul_test::(); + } + + #[test] + fn msm_g1_works() { + msm_test::(); + } + + #[test] + fn mul_g2_works() { + mul_test::(); + } + + #[test] + fn msm_g2_works() { + msm_test::(); + } + + #[test] + fn pairing_works() { + pairing_test::(); } } diff --git a/substrate/primitives/crypto/ec-utils/src/bls12_381.rs b/substrate/primitives/crypto/ec-utils/src/bls12_381.rs index cabb494ab3e0f..f11871f64d8a8 100644 --- a/substrate/primitives/crypto/ec-utils/src/bls12_381.rs +++ b/substrate/primitives/crypto/ec-utils/src/bls12_381.rs @@ -17,111 +17,116 @@ //! *BLS12-381* types and host functions. -use crate::utils; +use crate::utils::{self, HostcallResult, FAIL_MSG}; use alloc::vec::Vec; use ark_bls12_381_ext::CurveHooks; -use ark_ec::{pairing::Pairing, CurveConfig}; +use ark_ec::{pairing::Pairing, AffineRepr, CurveGroup}; use sp_runtime_interface::{ - pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead}, + pass_by::{PassFatPointerAndRead, PassFatPointerAndReadWrite, PassFatPointerAndWrite}, runtime_interface, }; -/// First pairing group definitions. -pub mod g1 { - pub use ark_bls12_381_ext::g1::{BETA, G1_GENERATOR_X, G1_GENERATOR_Y}; - /// Group configuration. - pub type Config = ark_bls12_381_ext::g1::Config; - /// Short Weierstrass form point affine representation. - pub type G1Affine = ark_bls12_381_ext::g1::G1Affine; - /// Short Weierstrass form point projective representation. - pub type G1Projective = ark_bls12_381_ext::g1::G1Projective; -} +/// Configuration for *BLS12-381* curve. +pub type Config = ark_bls12_381_ext::Config; -/// Second pairing group definitions. -pub mod g2 { - pub use ark_bls12_381_ext::g2::{ - G2_GENERATOR_X, G2_GENERATOR_X_C0, G2_GENERATOR_X_C1, G2_GENERATOR_Y, G2_GENERATOR_Y_C0, - G2_GENERATOR_Y_C1, - }; - /// Group configuration. - pub type Config = ark_bls12_381_ext::g2::Config; - /// Short Weierstrass form point affine representation. - pub type G2Affine = ark_bls12_381_ext::g2::G2Affine; - /// Short Weierstrass form point projective representation. - pub type G2Projective = ark_bls12_381_ext::g2::G2Projective; -} +/// *BLS12-381* pairing friendly curve. +pub type Bls12_381 = ark_bls12_381_ext::Bls12_381; -pub use self::{ - g1::{Config as G1Config, G1Affine, G1Projective}, - g2::{Config as G2Config, G2Affine, G2Projective}, -}; +/// G1 group configuration. +pub type G1Config = ark_bls12_381_ext::g1::Config; +/// An element in G1 (affine). +pub type G1Affine = ark_bls12_381_ext::g1::G1Affine; +/// An element in G1 (projective). +pub type G1Projective = ark_bls12_381_ext::g1::G1Projective; + +/// G2 group configuration. +pub type G2Config = ark_bls12_381_ext::g2::Config; +/// An element in G2 (affine). +pub type G2Affine = ark_bls12_381_ext::g2::G2Affine; +/// An element in G2 (projective). +pub type G2Projective = ark_bls12_381_ext::g2::G2Projective; + +/// G1 and G2 scalar field (Fr). +pub type ScalarField = ::ScalarField; + +/// An element in G1 preprocessed for pairing. +pub type G1Prepared = ::G1Prepared; +/// An element in G2 preprocessed for pairing. +pub type G2Prepared = ::G2Prepared; +/// Pairing target field. +pub type TargetField = ::TargetField; /// Curve hooks jumping into [`host_calls`] host functions. #[derive(Copy, Clone)] pub struct HostHooks; -/// Configuration for *BLS12-381* curve. -pub type Config = ark_bls12_381_ext::Config; - -/// *BLS12-381* definition. -/// -/// A generic *BLS12* model specialized with *BLS12-381* configuration. -pub type Bls12_381 = ark_bls12_381_ext::Bls12_381; - impl CurveHooks for HostHooks { fn multi_miller_loop( - g1: impl Iterator::G1Prepared>, - g2: impl Iterator::G2Prepared>, - ) -> ::TargetField { - host_calls::bls12_381_multi_miller_loop(utils::encode_iter(g1), utils::encode_iter(g2)) - .and_then(|res| utils::decode(res)) - .unwrap_or_default() + g1: impl Iterator, + g2: impl Iterator, + ) -> TargetField { + let mut out = utils::buffer_for::(); + host_calls::bls12_381_multi_miller_loop( + &utils::encode_iter(g1), + &utils::encode_iter(g2), + &mut out, + ) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) } - fn final_exponentiation( - target: ::TargetField, - ) -> ::TargetField { - host_calls::bls12_381_final_exponentiation(utils::encode(target)) - .and_then(|res| utils::decode(res)) - .unwrap_or_default() + fn final_exponentiation(target: TargetField) -> TargetField { + let mut in_out = utils::encode(target); + host_calls::bls12_381_final_exponentiation(&mut in_out) + .and_then(|_| utils::decode::(&in_out)) + .expect(FAIL_MSG) } - fn msm_g1( - bases: &[G1Affine], - scalars: &[::ScalarField], - ) -> G1Projective { - host_calls::bls12_381_msm_g1(utils::encode(bases), utils::encode(scalars)) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + fn msm_g1(bases: &[G1Affine], scalars: &[ScalarField]) -> G1Projective { + let mut out = utils::buffer_for::(); + host_calls::bls12_381_msm_g1(&utils::encode(bases), &utils::encode(scalars), &mut out) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } - fn msm_g2( - bases: &[G2Affine], - scalars: &[::ScalarField], - ) -> G2Projective { - host_calls::bls12_381_msm_g2(utils::encode(bases), utils::encode(scalars)) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + fn msm_g2(bases: &[G2Affine], scalars: &[ScalarField]) -> G2Projective { + let mut out = utils::buffer_for::(); + host_calls::bls12_381_msm_g2(&utils::encode(bases), &utils::encode(scalars), &mut out) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } fn mul_projective_g1(base: &G1Projective, scalar: &[u64]) -> G1Projective { - host_calls::bls12_381_mul_projective_g1(utils::encode_proj_sw(base), utils::encode(scalar)) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + let mut out = utils::buffer_for::(); + host_calls::bls12_381_mul_g1( + &utils::encode(base.into_affine()), + &utils::encode(scalar), + &mut out, + ) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } fn mul_projective_g2(base: &G2Projective, scalar: &[u64]) -> G2Projective { - host_calls::bls12_381_mul_projective_g2(utils::encode_proj_sw(base), utils::encode(scalar)) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + let mut out = utils::buffer_for::(); + host_calls::bls12_381_mul_g2( + &utils::encode(base.into_affine()), + &utils::encode(scalar), + &mut out, + ) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } } /// Interfaces for working with *Arkworks* *BLS12-381* elliptic curve related types /// from within the runtime. /// -/// All types are (de-)serialized through the wrapper types from the `ark-scale` trait, -/// with `ark_scale::{ArkScale, ArkScaleProjective}`. +/// All types are (de-)serialized through the wrapper types from `ark-scale`. /// /// `ArkScale`'s `Usage` generic parameter is expected to be set to "not-validated" /// and "not-compressed". @@ -129,76 +134,112 @@ impl CurveHooks for HostHooks { pub trait HostCalls { /// Pairing multi Miller loop for *BLS12-381*. /// - /// - Receives encoded: - /// - `a`: `ArkScale>`. - /// - `b`: `ArkScale>`. - /// - Returns encoded: `ArkScale`. + /// Receives encoded: + /// - `a`: `Vec`. + /// - `b`: `Vec`. + /// Writes encoded `TargetField` to `out`. fn bls12_381_multi_miller_loop( - a: PassFatPointerAndRead>, - b: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::multi_miller_loop::(a, b) + a: PassFatPointerAndRead<&[u8]>, + b: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::multi_miller_loop::(a, b, out) } /// Pairing final exponentiation for *BLS12-381*. /// - /// - Receives encoded: `ArkScale<`. - /// - Returns encoded: `ArkScale<` + /// Receives encoded: `TargetField`. + /// Writes encoded `TargetField` to `in_out`. fn bls12_381_final_exponentiation( - f: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::final_exponentiation::(f) + in_out: PassFatPointerAndReadWrite<&mut [u8]>, + ) -> HostcallResult { + utils::final_exponentiation::(in_out) } - /// Multi scalar multiplication on *G1* for *BLS12-381* + /// Multi scalar multiplication on *G1* for *BLS12-381*. /// - /// - Receives encoded: - /// - `bases`: `ArkScale>`. - /// - `scalars`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. + /// Receives encoded: + /// - `bases`: `Vec`. + /// - `scalars`: `Vec`. + /// Writes encoded `G1Affine` to `out`. fn bls12_381_msm_g1( - bases: PassFatPointerAndRead>, - scalars: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::msm_sw::(bases, scalars) + bases: PassFatPointerAndRead<&[u8]>, + scalars: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::msm_sw::(bases, scalars, out) } - /// Multi scalar multiplication on *G2* for *BLS12-381* + /// Multi scalar multiplication on *G2* for *BLS12-381*. /// - /// - Receives encoded: - /// - `bases`: `ArkScale>`. - /// - `scalars`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. + /// Receives encoded: + /// - `bases`: `Vec`. + /// - `scalars`: `Vec`. + /// Writes encoded `G2Affine` to `out`. fn bls12_381_msm_g2( - bases: PassFatPointerAndRead>, - scalars: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::msm_sw::(bases, scalars) + bases: PassFatPointerAndRead<&[u8]>, + scalars: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::msm_sw::(bases, scalars, out) } - /// Projective multiplication on *G1* for *BLS12-381*. + /// Affine multiplication on *G1* for *BLS12-381*. /// - /// - Receives encoded: - /// - `base`: `ArkScaleProjective`. - /// - `scalar`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. - fn bls12_381_mul_projective_g1( - base: PassFatPointerAndRead>, - scalar: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::mul_projective_sw::(base, scalar) - } - - /// Projective multiplication on *G2* for *BLS12-381* + /// Receives encoded: + /// - `base`: `G1Affine`. + /// - `scalar`: `BigInteger`. + /// Writes encoded `G1Affine` to `out`. + fn bls12_381_mul_g1( + base: PassFatPointerAndRead<&[u8]>, + scalar: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::mul_sw::(base, scalar, out) + } + + /// Affine multiplication on *G2* for *BLS12-381*. /// - /// - Receives encoded: - /// - `base`: `ArkScaleProjective`. - /// - `scalar`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. - fn bls12_381_mul_projective_g2( - base: PassFatPointerAndRead>, - scalar: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::mul_projective_sw::(base, scalar) + /// Receives encoded: + /// - `base`: `G2Affine`. + /// - `scalar`: `BigInteger`. + /// Writes encoded `G2Affine` to `out`. + fn bls12_381_mul_g2( + base: PassFatPointerAndRead<&[u8]>, + scalar: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::mul_sw::(base, scalar, out) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::utils::testing::*; + + #[test] + fn mul_g1_works() { + mul_test::(); + } + + #[test] + fn msm_g1_works() { + msm_test::(); + } + + #[test] + fn mul_g2_works() { + mul_test::(); + } + + #[test] + fn msm_g2_works() { + msm_test::(); + } + + #[test] + fn pairing_works() { + pairing_test::(); } } diff --git a/substrate/primitives/crypto/ec-utils/src/bw6_761.rs b/substrate/primitives/crypto/ec-utils/src/bw6_761.rs index 58fdb4d31be0f..447b4c568401a 100644 --- a/substrate/primitives/crypto/ec-utils/src/bw6_761.rs +++ b/substrate/primitives/crypto/ec-utils/src/bw6_761.rs @@ -17,108 +17,116 @@ //! *BW6-761* types and host functions. -use crate::utils; +use crate::utils::{self, HostcallResult, FAIL_MSG}; use alloc::vec::Vec; use ark_bw6_761_ext::CurveHooks; -use ark_ec::{pairing::Pairing, CurveConfig}; +use ark_ec::{pairing::Pairing, AffineRepr, CurveGroup}; use sp_runtime_interface::{ - pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead}, + pass_by::{PassFatPointerAndRead, PassFatPointerAndReadWrite, PassFatPointerAndWrite}, runtime_interface, }; -/// First pairing group definitions. -pub mod g1 { - pub use ark_bw6_761_ext::g1::{G1_GENERATOR_X, G1_GENERATOR_Y}; - /// Group configuration. - pub type Config = ark_bw6_761_ext::g1::Config; - /// Short Weierstrass form point affine representation. - pub type G1Affine = ark_bw6_761_ext::g1::G1Affine; - /// Short Weierstrass form point projective representation. - pub type G1Projective = ark_bw6_761_ext::g1::G1Projective; -} +/// Configuration for *BW6-761* curve. +pub type Config = ark_bw6_761_ext::Config; -/// Second pairing group definitions. -pub mod g2 { - pub use ark_bw6_761_ext::g2::{G2_GENERATOR_X, G2_GENERATOR_Y}; - /// Group configuration. - pub type Config = ark_bw6_761_ext::g2::Config; - /// Short Weierstrass form point affine representation. - pub type G2Affine = ark_bw6_761_ext::g2::G2Affine; - /// Short Weierstrass form point projective representation. - pub type G2Projective = ark_bw6_761_ext::g2::G2Projective; -} +/// *BW6-761* pairing friendly curve. +pub type BW6_761 = ark_bw6_761_ext::BW6_761; -pub use self::{ - g1::{Config as G1Config, G1Affine, G1Projective}, - g2::{Config as G2Config, G2Affine, G2Projective}, -}; +/// G1 group configuration. +pub type G1Config = ark_bw6_761_ext::g1::Config; +/// An element in G1 (affine). +pub type G1Affine = ark_bw6_761_ext::g1::G1Affine; +/// An element in G1 (projective). +pub type G1Projective = ark_bw6_761_ext::g1::G1Projective; + +/// G2 group configuration. +pub type G2Config = ark_bw6_761_ext::g2::Config; +/// An element in G2 (affine). +pub type G2Affine = ark_bw6_761_ext::g2::G2Affine; +/// An element in G2 (projective). +pub type G2Projective = ark_bw6_761_ext::g2::G2Projective; + +/// G1 and G2 scalar field (Fr). +pub type ScalarField = ::ScalarField; + +/// An element in G1 preprocessed for pairing. +pub type G1Prepared = ::G1Prepared; +/// An element in G2 preprocessed for pairing. +pub type G2Prepared = ::G2Prepared; +/// Pairing target field. +pub type TargetField = ::TargetField; /// Curve hooks jumping into [`host_calls`] host functions. #[derive(Copy, Clone)] pub struct HostHooks; -/// Configuration for *BW6-361* curve. -pub type Config = ark_bw6_761_ext::Config; - -/// *BW6-361* definition. -/// -/// A generic *BW6* model specialized with *BW6-761* configuration. -pub type BW6_761 = ark_bw6_761_ext::BW6_761; - impl CurveHooks for HostHooks { fn multi_miller_loop( - g1: impl Iterator::G1Prepared>, - g2: impl Iterator::G2Prepared>, - ) -> ::TargetField { - host_calls::bw6_761_multi_miller_loop(utils::encode_iter(g1), utils::encode_iter(g2)) - .and_then(|res| utils::decode(res)) - .unwrap_or_default() + g1: impl Iterator, + g2: impl Iterator, + ) -> TargetField { + let mut out = utils::buffer_for::(); + host_calls::bw6_761_multi_miller_loop( + &utils::encode_iter(g1), + &utils::encode_iter(g2), + &mut out, + ) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) } - fn final_exponentiation( - target: ::TargetField, - ) -> ::TargetField { - host_calls::bw6_761_final_exponentiation(utils::encode(target)) - .and_then(|res| utils::decode(res)) - .unwrap_or_default() + fn final_exponentiation(target: TargetField) -> TargetField { + let mut in_out = utils::encode(target); + host_calls::bw6_761_final_exponentiation(&mut in_out) + .and_then(|_| utils::decode::(&in_out)) + .expect(FAIL_MSG) } - fn msm_g1( - bases: &[G1Affine], - scalars: &[::ScalarField], - ) -> G1Projective { - host_calls::bw6_761_msm_g1(utils::encode(bases), utils::encode(scalars)) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + fn msm_g1(bases: &[G1Affine], scalars: &[ScalarField]) -> G1Projective { + let mut out = utils::buffer_for::(); + host_calls::bw6_761_msm_g1(&utils::encode(bases), &utils::encode(scalars), &mut out) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } - fn msm_g2( - bases: &[G2Affine], - scalars: &[::ScalarField], - ) -> G2Projective { - host_calls::bw6_761_msm_g2(utils::encode(bases), utils::encode(scalars)) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + fn msm_g2(bases: &[G2Affine], scalars: &[ScalarField]) -> G2Projective { + let mut out = utils::buffer_for::(); + host_calls::bw6_761_msm_g2(&utils::encode(bases), &utils::encode(scalars), &mut out) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } fn mul_projective_g1(base: &G1Projective, scalar: &[u64]) -> G1Projective { - host_calls::bw6_761_mul_projective_g1(utils::encode_proj_sw(base), utils::encode(scalar)) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + let mut out = utils::buffer_for::(); + host_calls::bw6_761_mul_g1( + &utils::encode(base.into_affine()), + &utils::encode(scalar), + &mut out, + ) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } fn mul_projective_g2(base: &G2Projective, scalar: &[u64]) -> G2Projective { - host_calls::bw6_761_mul_projective_g2(utils::encode_proj_sw(base), utils::encode(scalar)) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + let mut out = utils::buffer_for::(); + host_calls::bw6_761_mul_g2( + &utils::encode(base.into_affine()), + &utils::encode(scalar), + &mut out, + ) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } } /// Interfaces for working with *Arkworks* *BW6-761* elliptic curve related types /// from within the runtime. /// -/// All types are (de-)serialized through the wrapper types from the `ark-scale` trait, -/// with `ark_scale::{ArkScale, ArkScaleProjective}`. +/// All types are (de-)serialized through the wrapper types from `ark-scale`. /// /// `ArkScale`'s `Usage` generic parameter is expected to be set to "not-validated" /// and "not-compressed". @@ -126,76 +134,112 @@ impl CurveHooks for HostHooks { pub trait HostCalls { /// Pairing multi Miller loop for *BW6-761*. /// - /// - Receives encoded: - /// - `a: ArkScale>`. - /// - `b: ArkScale>`. - /// - Returns encoded: `ArkScale`. + /// Receives encoded: + /// - `a`: `Vec`. + /// - `b`: `Vec`. + /// Writes encoded `TargetField` to `out`. fn bw6_761_multi_miller_loop( - a: PassFatPointerAndRead>, - b: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::multi_miller_loop::(a, b) + a: PassFatPointerAndRead<&[u8]>, + b: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::multi_miller_loop::(a, b, out) } /// Pairing final exponentiation for *BW6-761*. /// - /// - Receives encoded: `ArkScale`. - /// - Returns encoded: `ArkScale`. + /// Receives encoded: `TargetField`. + /// Writes encoded `TargetField` to `in_out`. fn bw6_761_final_exponentiation( - f: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::final_exponentiation::(f) + in_out: PassFatPointerAndReadWrite<&mut [u8]>, + ) -> HostcallResult { + utils::final_exponentiation::(in_out) } /// Multi scalar multiplication on *G1* for *BW6-761*. /// - /// - Receives encoded: - /// - `bases`: `ArkScale>`. - /// - `scalars`: `ArkScale`. - /// - Returns encoded: `ArkScaleProjective`. + /// Receives encoded: + /// - `bases`: `Vec`. + /// - `scalars`: `Vec`. + /// Writes encoded `G1Affine` to `out`. fn bw6_761_msm_g1( - bases: PassFatPointerAndRead>, - scalars: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::msm_sw::(bases, scalars) + bases: PassFatPointerAndRead<&[u8]>, + scalars: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::msm_sw::(bases, scalars, out) } /// Multi scalar multiplication on *G2* for *BW6-761*. /// - /// - Receives encoded: - /// - `bases`: `ArkScale>`. - /// - `scalars`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. + /// Receives encoded: + /// - `bases`: `Vec`. + /// - `scalars`: `Vec`. + /// Writes encoded `G2Affine` to `out`. fn bw6_761_msm_g2( - bases: PassFatPointerAndRead>, - scalars: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::msm_sw::(bases, scalars) + bases: PassFatPointerAndRead<&[u8]>, + scalars: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::msm_sw::(bases, scalars, out) } - /// Projective multiplication on *G1* for *BW6-761*. + /// Affine multiplication on *G1* for *BW6-761*. /// - /// - Receives encoded: - /// - `base`: `ArkScaleProjective`. - /// - `scalar`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. - fn bw6_761_mul_projective_g1( - base: PassFatPointerAndRead>, - scalar: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::mul_projective_sw::(base, scalar) - } - - /// Projective multiplication on *G2* for *BW6-761*. + /// Receives encoded: + /// - `base`: `G1Affine`. + /// - `scalar`: `BigInteger`. + /// Writes encoded `G1Affine` to `out`. + fn bw6_761_mul_g1( + base: PassFatPointerAndRead<&[u8]>, + scalar: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::mul_sw::(base, scalar, out) + } + + /// Affine multiplication on *G2* for *BW6-761*. /// - /// - Receives encoded: - /// - `base`: `ArkScaleProjective`. - /// - `scalar`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. - fn bw6_761_mul_projective_g2( - base: PassFatPointerAndRead>, - scalar: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::mul_projective_sw::(base, scalar) + /// Receives encoded: + /// - `base`: `G2Affine`. + /// - `scalar`: `BigInteger`. + /// Writes encoded `G2Affine` to `out`. + fn bw6_761_mul_g2( + base: PassFatPointerAndRead<&[u8]>, + scalar: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::mul_sw::(base, scalar, out) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::utils::testing::*; + + #[test] + fn mul_g1_works() { + mul_test::(); + } + + #[test] + fn msm_g1_works() { + msm_test::(); + } + + #[test] + fn mul_g2_works() { + mul_test::(); + } + + #[test] + fn msm_g2_works() { + msm_test::(); + } + + #[test] + fn pairing_works() { + pairing_test::(); } } diff --git a/substrate/primitives/crypto/ec-utils/src/ed_on_bls12_377.rs b/substrate/primitives/crypto/ec-utils/src/ed_on_bls12_377.rs index fc31a26c01ead..293a71d26412e 100644 --- a/substrate/primitives/crypto/ec-utils/src/ed_on_bls12_377.rs +++ b/substrate/primitives/crypto/ec-utils/src/ed_on_bls12_377.rs @@ -17,19 +17,15 @@ //! *Ed-on-BLS12-377* types and host functions. -use crate::utils; +use crate::utils::{self, HostcallResult, FAIL_MSG}; use alloc::vec::Vec; -use ark_ec::CurveConfig; +use ark_ec::{AffineRepr, CurveConfig, CurveGroup}; use ark_ed_on_bls12_377_ext::CurveHooks; use sp_runtime_interface::{ - pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead}, + pass_by::{PassFatPointerAndRead, PassFatPointerAndWrite}, runtime_interface, }; -/// Curve hooks jumping into [`host_calls`] host functions. -#[derive(Copy, Clone)] -pub struct HostHooks; - /// Group configuration. pub type EdwardsConfig = ark_ed_on_bls12_377_ext::EdwardsConfig; /// Twisted Edwards form point affine representation. @@ -37,31 +33,39 @@ pub type EdwardsAffine = ark_ed_on_bls12_377_ext::EdwardsAffine; /// Twisted Edwards form point projective representation. pub type EdwardsProjective = ark_ed_on_bls12_377_ext::EdwardsProjective; +/// Group scalar field (Fr). +pub type ScalarField = ::ScalarField; + +/// Curve hooks jumping into [`host_calls`] host functions. +#[derive(Copy, Clone)] +pub struct HostHooks; + impl CurveHooks for HostHooks { - fn msm( - bases: &[EdwardsAffine], - scalars: &[::ScalarField], - ) -> EdwardsProjective { - host_calls::ed_on_bls12_377_te_msm(utils::encode(bases), utils::encode(scalars)) - .and_then(|res| utils::decode_proj_te(res)) - .unwrap_or_default() + fn msm(bases: &[EdwardsAffine], scalars: &[ScalarField]) -> EdwardsProjective { + let mut out = utils::buffer_for::(); + host_calls::ed_on_bls12_377_msm(&utils::encode(bases), &utils::encode(scalars), &mut out) + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } fn mul_projective(base: &EdwardsProjective, scalar: &[u64]) -> EdwardsProjective { - host_calls::ed_on_bls12_377_te_mul_projective( - utils::encode_proj_te(base), - utils::encode(scalar), + let mut out = utils::buffer_for::(); + host_calls::ed_on_bls12_377_mul( + &utils::encode(base.into_affine()), + &utils::encode(scalar), + &mut out, ) - .and_then(|res| utils::decode_proj_te(res)) - .unwrap_or_default() + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } } -/// Interfaces for working with *Arkworks* *Ed-on-BLS12-377* elliptic curve -/// related types from within the runtime. +/// Interfaces for working with *Arkworks* *Ed-on-BLS12-377* elliptic curve related types +/// from within the runtime. /// -/// All types are (de-)serialized through the wrapper types from the `ark-scale` trait, -/// with `ark_scale::{ArkScale, ArkScaleProjective}`. +/// All types are (de-)serialized through the wrapper types from `ark-scale`. /// /// `ArkScale`'s `Usage` generic parameter is expected to be set to "not-validated" /// and "not-compressed". @@ -69,27 +73,45 @@ impl CurveHooks for HostHooks { pub trait HostCalls { /// Twisted Edwards multi scalar multiplication for *Ed-on-BLS12-377*. /// - /// - Receives encoded: - /// - `base`: `ArkScaleProjective`. - /// - `scalars`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. - fn ed_on_bls12_377_te_msm( - bases: PassFatPointerAndRead>, - scalars: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::msm_te::(bases, scalars) + /// Receives encoded: + /// - `bases`: `Vec`. + /// - `scalars`: `Vec`. + /// Writes encoded `EdwardsAffine` to `out`. + fn ed_on_bls12_377_msm( + bases: PassFatPointerAndRead<&[u8]>, + scalars: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::msm_te::(bases, scalars, out) } - /// Twisted Edwards projective multiplication for *Ed-on-BLS12-377*. + /// Twisted Edwards affine multiplication for *Ed-on-BLS12-377*. /// - /// - Receives encoded: - /// - `base`: `ArkScaleProjective`. - /// - `scalar`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. - fn ed_on_bls12_377_te_mul_projective( - base: PassFatPointerAndRead>, - scalar: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::mul_projective_te::(base, scalar) + /// Receives encoded: + /// - `base`: `EdwardsAffine`. + /// - `scalar`: `BigInteger`. + /// Writes encoded `EdwardsAffine` to `out`. + fn ed_on_bls12_377_mul( + base: PassFatPointerAndRead<&[u8]>, + scalar: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::mul_te::(base, scalar, out) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::utils::testing::*; + + #[test] + fn mul_works() { + mul_te_test::(); + } + + #[test] + fn msm_works() { + msm_te_test::(); } } diff --git a/substrate/primitives/crypto/ec-utils/src/ed_on_bls12_381_bandersnatch.rs b/substrate/primitives/crypto/ec-utils/src/ed_on_bls12_381_bandersnatch.rs index bc3061cace6a2..4312486c1ea65 100644 --- a/substrate/primitives/crypto/ec-utils/src/ed_on_bls12_381_bandersnatch.rs +++ b/substrate/primitives/crypto/ec-utils/src/ed_on_bls12_381_bandersnatch.rs @@ -15,30 +15,27 @@ // See the License for the specific language governing permissions and // limitations under the License. -//! Elliptic Curves host functions to handle some of the *Arkworks* *Ed-on-BLS12-381-Bandersnatch* -//! computationally expensive operations. +//! *Ed-on-BLS12-381-Bandersnatch* types and host functions. -use crate::utils; +use crate::utils::{self, HostcallResult, FAIL_MSG}; use alloc::vec::Vec; -use ark_ec::CurveConfig; +use ark_ec::{AffineRepr, CurveConfig, CurveGroup}; use ark_ed_on_bls12_381_bandersnatch_ext::CurveHooks; use sp_runtime_interface::{ - pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead}, + pass_by::{PassFatPointerAndRead, PassFatPointerAndWrite}, runtime_interface, }; -/// Curve hooks jumping into [`host_calls`] host functions. -#[derive(Copy, Clone)] -pub struct HostHooks; - /// Group configuration. pub type BandersnatchConfig = ark_ed_on_bls12_381_bandersnatch_ext::BandersnatchConfig; + /// Group configuration for Twisted Edwards form (equal to [`BandersnatchConfig`]). pub type EdwardsConfig = ark_ed_on_bls12_381_bandersnatch_ext::EdwardsConfig; /// Twisted Edwards form point affine representation. pub type EdwardsAffine = ark_ed_on_bls12_381_bandersnatch_ext::EdwardsAffine; /// Twisted Edwards form point projective representation. pub type EdwardsProjective = ark_ed_on_bls12_381_bandersnatch_ext::EdwardsProjective; + /// Group configuration for Short Weierstrass form (equal to [`BandersnatchConfig`]). pub type SWConfig = ark_ed_on_bls12_381_bandersnatch_ext::SWConfig; /// Short Weierstrass form point affine representation. @@ -46,55 +43,67 @@ pub type SWAffine = ark_ed_on_bls12_381_bandersnatch_ext::SWAffine; /// Short Weierstrass form point projective representation. pub type SWProjective = ark_ed_on_bls12_381_bandersnatch_ext::SWProjective; +/// Group scalar field (Fr). +pub type ScalarField = ::ScalarField; + +/// Curve hooks jumping into [`host_calls`] host functions. +#[derive(Copy, Clone)] +pub struct HostHooks; + impl CurveHooks for HostHooks { - fn msm_te( - bases: &[EdwardsAffine], - scalars: &[::ScalarField], - ) -> EdwardsProjective { - host_calls::ed_on_bls12_381_bandersnatch_te_msm( - utils::encode(bases), - utils::encode(scalars), + fn msm_te(bases: &[EdwardsAffine], scalars: &[ScalarField]) -> EdwardsProjective { + let mut out = utils::buffer_for::(); + host_calls::ed_on_bls12_381_bandersnatch_msm( + &utils::encode(bases), + &utils::encode(scalars), + &mut out, ) - .and_then(|res| utils::decode_proj_te(res)) - .unwrap_or_default() + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } fn mul_projective_te(base: &EdwardsProjective, scalar: &[u64]) -> EdwardsProjective { - host_calls::ed_on_bls12_381_bandersnatch_te_mul_projective( - utils::encode_proj_te(base), - utils::encode(scalar), + let mut out = utils::buffer_for::(); + host_calls::ed_on_bls12_381_bandersnatch_mul( + &utils::encode(base.into_affine()), + &utils::encode(scalar), + &mut out, ) - .and_then(|res| utils::decode_proj_te(res)) - .unwrap_or_default() + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } - fn msm_sw( - bases: &[SWAffine], - scalars: &[::ScalarField], - ) -> SWProjective { - host_calls::ed_on_bls12_381_bandersnatch_sw_msm( - utils::encode(bases), - utils::encode(scalars), + fn msm_sw(bases: &[SWAffine], scalars: &[ScalarField]) -> SWProjective { + let mut out = utils::buffer_for::(); + host_calls::ed_on_bls12_381_bandersnatch_msm_sw( + &utils::encode(bases), + &utils::encode(scalars), + &mut out, ) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } fn mul_projective_sw(base: &SWProjective, scalar: &[u64]) -> SWProjective { - host_calls::ed_on_bls12_381_bandersnatch_sw_mul_projective( - utils::encode_proj_sw(base), - utils::encode(scalar), + let mut out = utils::buffer_for::(); + host_calls::ed_on_bls12_381_bandersnatch_mul_sw( + &utils::encode(base.into_affine()), + &utils::encode(scalar), + &mut out, ) - .and_then(|res| utils::decode_proj_sw(res)) - .unwrap_or_default() + .and_then(|_| utils::decode::(&out)) + .expect(FAIL_MSG) + .into_group() } } -/// Interfaces for working with *Arkworks* *Ed-on-BLS12-381-Bandersnatch* elliptic curve -/// related types from within the runtime. +/// Interfaces for working with *Arkworks* *Ed-on-BLS12-381-Bandersnatch* elliptic curve related +/// types from within the runtime. /// -/// All types are (de-)serialized through the wrapper types from the `ark-scale` trait, -/// with `ark_scale::{ArkScale, ArkScaleProjective}`. +/// All types are (de-)serialized through the wrapper types from `ark-scale`. /// /// `ArkScale`'s `Usage` generic parameter is expected to be set to "not-validated" /// and "not-compressed". @@ -102,53 +111,83 @@ impl CurveHooks for HostHooks { pub trait HostCalls { /// Twisted Edwards multi scalar multiplication for *Ed-on-BLS12-381-Bandersnatch*. /// - /// - Receives encoded: - /// - `base`: `ArkScaleProjective`. - /// - `scalars`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. - fn ed_on_bls12_381_bandersnatch_te_msm( - bases: PassFatPointerAndRead>, - scalars: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::msm_te::(bases, scalars) + /// Receives encoded: + /// - `bases`: `Vec`. + /// - `scalars`: `Vec`. + /// Writes encoded: `EdwardsAffine` to `out`. + fn ed_on_bls12_381_bandersnatch_msm( + bases: PassFatPointerAndRead<&[u8]>, + scalars: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::msm_te::(bases, scalars, out) } - /// Twisted Edwards projective multiplication for *Ed-on-BLS12-381-Bandersnatch*. + /// Twisted Edwards affine multiplication for *Ed-on-BLS12-381-Bandersnatch*. /// - /// - Receives encoded: - /// - `base`: `ArkScaleProjective`. - /// - `scalar`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. - fn ed_on_bls12_381_bandersnatch_te_mul_projective( - base: PassFatPointerAndRead>, - scalar: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::mul_projective_te::(base, scalar) + /// Receives encoded: + /// - `base`: `EdwardsAffine`. + /// - `scalar`: `BigInteger`. + /// Writes encoded `EdwardsAffine` to `out`. + fn ed_on_bls12_381_bandersnatch_mul( + base: PassFatPointerAndRead<&[u8]>, + scalar: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::mul_te::(base, scalar, out) } /// Short Weierstrass multi scalar multiplication for *Ed-on-BLS12-381-Bandersnatch*. /// - /// - Receives encoded: - /// - `bases`: `ArkScale>`. - /// - `scalars`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. - fn ed_on_bls12_381_bandersnatch_sw_msm( - bases: PassFatPointerAndRead>, - scalars: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::msm_sw::(bases, scalars) + /// Receives encoded: + /// - `bases`: `Vec`. + /// - `scalars`: `Vec`. + /// Writes encoded `SWAffine` to `out`. + fn ed_on_bls12_381_bandersnatch_msm_sw( + bases: PassFatPointerAndRead<&[u8]>, + scalars: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::msm_sw::(bases, scalars, out) } - /// Short Weierstrass projective multiplication for *Ed-on-BLS12-381-Bandersnatch*. + /// Short Weierstrass affine multiplication for *Ed-on-BLS12-381-Bandersnatch*. /// - /// - Receives encoded: - /// - `base`: `ArkScaleProjective`. - /// - `scalar`: `ArkScale>`. - /// - Returns encoded: `ArkScaleProjective`. - fn ed_on_bls12_381_bandersnatch_sw_mul_projective( - base: PassFatPointerAndRead>, - scalar: PassFatPointerAndRead>, - ) -> AllocateAndReturnByCodec, ()>> { - utils::mul_projective_sw::(base, scalar) + /// Receives encoded: + /// - `base`: `SWAffine`. + /// - `scalar`: `BigInteger`. + /// Writes encoded `SWAffine` to `out`. + fn ed_on_bls12_381_bandersnatch_mul_sw( + base: PassFatPointerAndRead<&[u8]>, + scalar: PassFatPointerAndRead<&[u8]>, + out: PassFatPointerAndWrite<&mut [u8]>, + ) -> HostcallResult { + utils::mul_sw::(base, scalar, out) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::utils::testing::*; + + #[test] + fn mul_works() { + mul_te_test::(); + } + + #[test] + fn msm_works() { + msm_te_test::(); + } + + #[test] + fn mul_works_sw() { + mul_test::(); + } + + #[test] + fn msm_works_sw() { + msm_test::(); } } diff --git a/substrate/primitives/crypto/ec-utils/src/utils.rs b/substrate/primitives/crypto/ec-utils/src/utils.rs index b259b986bd451..caea831261bfa 100644 --- a/substrate/primitives/crypto/ec-utils/src/utils.rs +++ b/substrate/primitives/crypto/ec-utils/src/utils.rs @@ -20,103 +20,316 @@ // As not all functions are used by each elliptic curve and some elliptic // curve may be excluded by the build we resort to `#[allow(unused)]` to // suppress the expected warning. +#![allow(unused)] use alloc::vec::Vec; use ark_ec::{ pairing::{MillerLoopOutput, Pairing}, - short_weierstrass::{Affine as SWAffine, Projective as SWProjective, SWCurveConfig}, - twisted_edwards::{Affine as TEAffine, Projective as TEProjective, TECurveConfig}, - CurveConfig, VariableBaseMSM, + short_weierstrass::{Affine as SWAffine, SWCurveConfig}, + twisted_edwards::{Affine as TEAffine, TECurveConfig}, + CurveGroup, }; use ark_scale::{ ark_serialize::{CanonicalDeserialize, CanonicalSerialize, Compress, Validate}, scale::{Decode, Encode}, + ArkScaleMaxEncodedLen, MaxEncodedLen, }; +use sp_runtime_interface::RIType; + +/// Unexpected failure message. +pub const FAIL_MSG: &str = "Unexpected failure, bad arguments, broken host/runtime contract; qed"; // SCALE encoding parameters shared by all the enabled modules const SCALE_USAGE: u8 = ark_scale::make_usage(Compress::No, Validate::No); type ArkScale = ark_scale::ArkScale; -type ArkScaleProjective = ark_scale::hazmat::ArkScaleProjective; -#[inline(always)] -#[allow(unused)] -pub fn encode_iter(iter: impl Iterator) -> Vec { - encode(iter.collect::>()) +/// Convenience alias for a big integer represented as a sequence of `u64` limbs. +pub type BigInteger = Vec; + +/// Error type for host call operations. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Error { + /// Encoding error due to small output buffer. + Encode = 1, + /// Input data decoding error + Decode = 2, + /// Input sequences have different lengths. + /// Applies to `msm` operations. + LengthMismatch = 3, + /// Unknown error. + Unknown = 255, } #[inline(always)] -pub fn encode(val: T) -> Vec { - ArkScale::from(val).encode() +pub fn encoded_len() -> usize { + ArkScale::::max_encoded_len() } #[inline(always)] -pub fn decode(buf: Vec) -> Result { - ArkScale::::decode(&mut &buf[..]).map_err(|_| ()).map(|v| v.0) +pub fn buffer_for() -> Vec { + vec![0_u8; encoded_len::()] +} + +/// Return a `Result<(), Error>` as a single `u32` through the FFI boundary. +pub struct HostcallResult; + +impl RIType for HostcallResult { + type FFIType = u32; + type Inner = Result<(), Error>; +} + +#[cfg(not(substrate_runtime))] +impl sp_runtime_interface::host::IntoFFIValue for HostcallResult { + fn into_ffi_value( + value: Self::Inner, + _context: &mut dyn sp_runtime_interface::sp_wasm_interface::FunctionContext, + ) -> sp_runtime_interface::sp_wasm_interface::Result { + Ok(match value { + Ok(()) => 0, + Err(e) => e as u32, + }) + } +} + +#[cfg(substrate_runtime)] +impl sp_runtime_interface::wasm::FromFFIValue for HostcallResult { + fn from_ffi_value(arg: Self::FFIType) -> Self::Inner { + match arg { + 0 => Ok(()), + 1 => Err(Error::Encode), + 2 => Err(Error::Decode), + 3 => Err(Error::LengthMismatch), + _ => Err(Error::Unknown), + } + } } #[inline(always)] -pub fn encode_proj_sw(val: &SWProjective) -> Vec { - ArkScaleProjective::from(val).encode() +pub fn encode_iter(iter: impl Iterator) -> Vec { + encode(iter.collect::>()) } #[inline(always)] -pub fn decode_proj_sw(buf: Vec) -> Result, ()> { - ArkScaleProjective::decode(&mut &buf[..]).map_err(|_| ()).map(|v| v.0) +pub fn encode(val: T) -> Vec { + ArkScale::from(val).encode() } #[inline(always)] -pub fn encode_proj_te(val: &TEProjective) -> Vec { - ArkScaleProjective::from(val).encode() +pub fn encode_into(val: T, mut buf: &mut [u8]) -> Result<(), Error> { + let val = ArkScale::from(val); + // Size hint uses arkworks `serialized_size`, which is accurate + if val.size_hint() > buf.len() { + return Err(Error::Encode); + } + val.encode_to(&mut buf); + Ok(()) } #[inline(always)] -pub fn decode_proj_te(buf: Vec) -> Result, ()> { - ArkScaleProjective::decode(&mut &buf[..]).map_err(|_| ()).map(|v| v.0) +pub fn decode(mut buf: &[u8]) -> Result { + ArkScale::::decode(&mut buf).map_err(|_| Error::Decode).map(|v| v.0) } -#[allow(unused)] -pub fn multi_miller_loop(g1: Vec, g2: Vec) -> Result, ()> { +/// Pairing multi Miller loop. +/// +/// Receives encoded: +/// - `g1`: `Vec`. +/// - `g2`: `Vec`. +/// Writes encoded `TargetField` to `out`. +pub fn multi_miller_loop(g1: &[u8], g2: &[u8], out: &mut [u8]) -> Result<(), Error> { let g1 = decode::::G1Affine>>(g1)?; let g2 = decode::::G2Affine>>(g2)?; let res = T::multi_miller_loop(g1, g2); - Ok(encode(res.0)) + encode_into(res.0, out) } -#[allow(unused)] -pub fn final_exponentiation(target: Vec) -> Result, ()> { - let target = decode::<::TargetField>(target)?; - let res = T::final_exponentiation(MillerLoopOutput(target)).ok_or(())?; - Ok(encode(res.0)) +/// Pairing final exponentiation. +/// +/// Receives encoded `TargetField`. +/// Writes encoded `TargetField` to `in_out`. +pub fn final_exponentiation(in_out: &mut [u8]) -> Result<(), Error> { + let target = decode::<::TargetField>(in_out)?; + let res = T::final_exponentiation(MillerLoopOutput(target)).ok_or(Error::Unknown)?; + encode_into(res.0, in_out) } -#[allow(unused)] -pub fn msm_sw(bases: Vec, scalars: Vec) -> Result, ()> { +/// Short Weierstrass multi scalar multiplication. +/// +/// Expects encoded: +/// - `bases`: `Vec>`. +/// - `scalars`: `Vec`. +/// Writes encoded `SWAffine` to `out`. +pub fn msm_sw(bases: &[u8], scalars: &[u8], out: &mut [u8]) -> Result<(), Error> { let bases = decode::>>(bases)?; - let scalars = decode::::ScalarField>>(scalars)?; - let res = as VariableBaseMSM>::msm(&bases, &scalars).map_err(|_| ())?; - Ok(encode_proj_sw(&res)) + let scalars = decode::>(scalars)?; + let res = T::msm(&bases, &scalars).map_err(|_| Error::LengthMismatch)?.into_affine(); + encode_into::>(res, out) +} + +/// Short Weierstrass affine multiplication. +/// +/// Expects encoded: +/// - `base`: `SWAffine`. +/// - `scalar`: `BigInteger`. +/// Writes encoded `SWAffine` to `out`. +pub fn mul_sw(base: &[u8], scalar: &[u8], out: &mut [u8]) -> Result<(), Error> { + let base = decode::>(base)?; + let scalar = decode::(scalar)?; + let res = T::mul_affine(&base, &scalar).into_affine(); + encode_into::>(res, out) } -#[allow(unused)] -pub fn msm_te(bases: Vec, scalars: Vec) -> Result, ()> { +/// Twisted Edwards multi scalar multiplication. +/// +/// Expects encoded: +/// - `bases`: `Vec>`. +/// - `scalars`: `Vec`. +/// Writes encoded `TEAffine` to `out`. +pub fn msm_te(bases: &[u8], scalars: &[u8], out: &mut [u8]) -> Result<(), Error> { let bases = decode::>>(bases)?; - let scalars = decode::::ScalarField>>(scalars)?; - let res = as VariableBaseMSM>::msm(&bases, &scalars).map_err(|_| ())?; - Ok(encode_proj_te(&res)) + let scalars = decode::>(scalars)?; + let res = T::msm(&bases, &scalars).map_err(|_| Error::LengthMismatch)?.into_affine(); + encode_into::>(res, out) } -#[allow(unused)] -pub fn mul_projective_sw(base: Vec, scalar: Vec) -> Result, ()> { - let base = decode_proj_sw::(base)?; - let scalar = decode::>(scalar)?; - let res = ::mul_projective(&base, &scalar); - Ok(encode_proj_sw(&res)) +/// Twisted Edwards affine multiplication. +/// +/// Expects encoded: +/// - `base`: `TEAffine`. +/// - `scalar`: `BigInteger`. +/// Writes encoded `TEAffine` to `out`. +pub fn mul_te(base: &[u8], scalar: &[u8], out: &mut [u8]) -> Result<(), Error> { + let base = decode::>(base)?; + let scalar = decode::(scalar)?; + let res = T::mul_affine(&base, &scalar).into_affine(); + encode_into::>(res, out) } -#[allow(unused)] -pub fn mul_projective_te(base: Vec, scalar: Vec) -> Result, ()> { - let base = decode_proj_te::(base)?; - let scalar = decode::>(scalar)?; - let res = ::mul_projective(&base, &scalar); - Ok(encode_proj_te(&res)) +#[cfg(test)] +pub mod testing { + use super::*; + use ark_ec::{AffineRepr, VariableBaseMSM}; + use ark_ff::PrimeField; + use ark_std::{test_rng, UniformRand}; + + pub fn msm_args(count: usize) -> (Vec

, Vec) { + let mut rng = test_rng(); + (0..count).map(|_| (P::rand(&mut rng), P::ScalarField::rand(&mut rng))).unzip() + } + + pub fn mul_args() -> (P, P::ScalarField) { + let (p, s) = msm_args::

(1); + (p[0], s[0]) + } + + fn pairing_args() -> (E::G1Affine, E::G2Affine) { + let mut rng = test_rng(); + (E::G1Affine::rand(&mut rng), E::G2Affine::rand(&mut rng)) + } + + pub fn mul_test() + where + SubAffine: AffineRepr + ArkScaleMaxEncodedLen, + ArkAffine: AffineRepr, + ArkAffine::Config: ark_ec::short_weierstrass::SWCurveConfig, + { + let (p, s) = mul_args::(); + + // This goes implicitly through the hostcall + let r1 = (p * s).into_affine(); + + // This directly calls into arkworks + let p_enc = encode(p); + let s_enc = encode(s.into_bigint().as_ref()); + let mut r2_enc = buffer_for::(); + mul_sw::(&p_enc, &s_enc, &mut r2_enc).unwrap(); + let r2 = decode::(&r2_enc).unwrap(); + + assert_eq!(r1, r2); + } + + pub fn msm_test() + where + SubAffine: AffineRepr + ArkScaleMaxEncodedLen, + ArkAffine: AffineRepr, + ArkAffine::Config: ark_ec::short_weierstrass::SWCurveConfig, + { + let (bases, scalars) = msm_args::(10); + + // This goes implicitly through the hostcall + let r1 = SubAffine::Group::msm(&bases, &scalars).unwrap().into_affine(); + + // This directly calls into arkworks + let bases_enc = encode(&bases[..]); + let scalars_enc = encode(&scalars[..]); + let mut r2_enc = buffer_for::(); + msm_sw::(&bases_enc, &scalars_enc, &mut r2_enc).unwrap(); + let r2 = decode::(&r2_enc).unwrap(); + + assert_eq!(r1, r2); + } + + pub fn mul_te_test() + where + SubAffine: AffineRepr + ArkScaleMaxEncodedLen, + ArkAffine: AffineRepr, + ArkAffine::Config: ark_ec::twisted_edwards::TECurveConfig, + { + let (p, s) = mul_args::(); + + // This goes implicitly through the hostcall + let r1 = (p * s).into_affine(); + + // This directly calls into arkworks + let p_enc = encode(p); + let s_enc = encode(s.into_bigint().as_ref()); + let mut r2_enc = buffer_for::(); + mul_te::(&p_enc, &s_enc, &mut r2_enc).unwrap(); + let r2 = decode::(&r2_enc).unwrap(); + + assert_eq!(r1, r2); + } + + pub fn msm_te_test() + where + SubAffine: AffineRepr + ArkScaleMaxEncodedLen, + ArkAffine: AffineRepr, + ArkAffine::Config: ark_ec::twisted_edwards::TECurveConfig, + { + let (bases, scalars) = msm_args::(10); + + // This goes implicitly through the hostcall + let r1 = SubAffine::Group::msm(&bases, &scalars).unwrap().into_affine(); + + // This directly calls into arkworks + let bases_enc = encode(&bases[..]); + let scalars_enc = encode(&scalars[..]); + let mut r2_enc = buffer_for::(); + msm_te::(&bases_enc, &scalars_enc, &mut r2_enc).unwrap(); + let r2 = decode::(&r2_enc).unwrap(); + + assert_eq!(r1, r2); + } + + pub fn pairing_test() + where + SubPairing: Pairing, + ::TargetField: ArkScaleMaxEncodedLen, + ArkPairing: Pairing, + { + let (g1, g2) = pairing_args::(); + + // This goes implicitly through the `multi_miller_loop` and `final_exponentiation` hostcalls + let r1 = SubPairing::pairing(g1, g2).0; + + // Pairing via direct arkworks calls + let g1_enc = encode(vec![g1]); + let g2_enc = encode(vec![g2]); + let mut r2_enc = buffer_for::<::TargetField>(); + multi_miller_loop::(&g1_enc, &g2_enc, &mut r2_enc).unwrap(); + final_exponentiation::(&mut r2_enc).unwrap(); + let r2 = decode::<::TargetField>(&r2_enc).unwrap(); + + assert_eq!(r1, r2); + } } diff --git a/substrate/primitives/crypto/hashing/proc-macro/src/impls.rs b/substrate/primitives/crypto/hashing/proc-macro/src/impls.rs index 5eba7760b3de7..42a7cce7ad839 100644 --- a/substrate/primitives/crypto/hashing/proc-macro/src/impls.rs +++ b/substrate/primitives/crypto/hashing/proc-macro/src/impls.rs @@ -48,20 +48,22 @@ impl Parse for InputBytes { syn::Expr::Lit(lit) => match &lit.lit { syn::Lit::Int(b) => bytes.push(b.base10_parse()?), syn::Lit::Byte(b) => bytes.push(b.value()), - _ => + _ => { return Err(syn::Error::new( input.span(), "Expected array of u8 elements.".to_string(), - )), + )) + }, }, - _ => + _ => { return Err(syn::Error::new( input.span(), "Expected array of u8 elements.".to_string(), - )), + )) + }, } } - return Ok(InputBytes(bytes)) + return Ok(InputBytes(bytes)); }, Err(_e) => (), } diff --git a/substrate/primitives/database/src/kvdb.rs b/substrate/primitives/database/src/kvdb.rs index e3a3535f2c2d2..47c1dbb72d7fc 100644 --- a/substrate/primitives/database/src/kvdb.rs +++ b/substrate/primitives/database/src/kvdb.rs @@ -46,7 +46,7 @@ fn read_counter( return Err(error::DatabaseError(Box::new(std::io::Error::new( std::io::ErrorKind::Other, format!("Unexpected counter len {}", data.len()), - )))) + )))); } counter_data.copy_from_slice(&data); let counter = u32::from_le_bytes(counter_data); diff --git a/substrate/primitives/debug-derive/src/impls.rs b/substrate/primitives/debug-derive/src/impls.rs index 1b971e219ed50..e0647d4fb981e 100644 --- a/substrate/primitives/debug-derive/src/impls.rs +++ b/substrate/primitives/debug-derive/src/impls.rs @@ -163,8 +163,9 @@ mod implementation { name_str, Fields::new(f.named.iter(), Some(syn::Token!(self)(Span::call_site()))), ), - syn::Fields::Unnamed(ref f) => - derive_fields(name_str, Fields::new(f.unnamed.iter(), None)), + syn::Fields::Unnamed(ref f) => { + derive_fields(name_str, Fields::new(f.unnamed.iter(), None)) + }, syn::Fields::Unit => derive_fields(name_str, Fields::Indexed { indices: vec![] }), } } diff --git a/substrate/primitives/ethereum-standards/src/IERC20.sol b/substrate/primitives/ethereum-standards/src/IERC20.sol index 6b33f25d44e53..6eb87a08b802a 100644 --- a/substrate/primitives/ethereum-standards/src/IERC20.sol +++ b/substrate/primitives/ethereum-standards/src/IERC20.sol @@ -1,63 +1,89 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/IERC20.sol) +// This interface combines methods from two OpenZeppelin contracts: +// +// IERC20.sol (base ERC-20 interface) // https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol +// +// IERC20Metadata.sol (ERC-20 metadata extension) +// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/extensions/IERC20Metadata.sol +// pragma solidity ^0.8.20; /// -/// @dev Interface of the ERC-20 standard as defined in the ERC. +/// @dev Interface combining the ERC-20 standard and its metadata extension. +/// Note: Due to ABI generation constraints, both interfaces are merged into a single contract. /// interface IERC20 { - /// @dev Emitted when `value` tokens are moved from one account (`from`) to - /// another (`to`). - /// - /// Note that `value` may be zero. + // ============================================================ + // IERC20 - Base ERC-20 Interface + // https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol + // ============================================================ + + /// @dev Emitted when `value` tokens are moved from one account (`from`) to + /// another (`to`). + /// + /// Note that `value` may be zero. event Transfer(address indexed from, address indexed to, uint256 value); - /// @dev Emitted when the allowance of a `spender` for an `owner` is set by - /// a call to {approve}. `value` is the new allowance. + /// @dev Emitted when the allowance of a `spender` for an `owner` is set by + /// a call to {approve}. `value` is the new allowance. event Approval(address indexed owner, address indexed spender, uint256 value); - /// @dev Returns the value of tokens in existence. + /// @dev Returns the value of tokens in existence. function totalSupply() external view returns (uint256); - /// @dev Returns the value of tokens owned by `account`. + /// @dev Returns the value of tokens owned by `account`. function balanceOf(address account) external view returns (uint256); - /// @dev Moves a `value` amount of tokens from the caller's account to `to`. - /// - /// Returns a boolean value indicating whether the operation succeeded. - /// - /// Emits a {Transfer} event. + /// @dev Moves a `value` amount of tokens from the caller's account to `to`. + /// + /// Returns a boolean value indicating whether the operation succeeded. + /// + /// Emits a {Transfer} event. function transfer(address to, uint256 value) external returns (bool); - /// @dev Returns the remaining number of tokens that `spender` will be - /// allowed to spend on behalf of `owner` through {transferFrom}. This is - /// zero by default. - /// - /// This value changes when {approve} or {transferFrom} are called. + /// @dev Returns the remaining number of tokens that `spender` will be + /// allowed to spend on behalf of `owner` through {transferFrom}. This is + /// zero by default. + /// + /// This value changes when {approve} or {transferFrom} are called. function allowance(address owner, address spender) external view returns (uint256); - /// @dev Sets a `value` amount of tokens as the allowance of `spender` over the - /// caller's tokens. - /// - /// Returns a boolean value indicating whether the operation succeeded. - /// - /// IMPORTANT: Beware that changing an allowance with this method brings the risk - /// that someone may use both the old and the new allowance by unfortunate - /// transaction ordering. One possible solution to mitigate this race - /// condition is to first reduce the spender's allowance to 0 and set the - /// desired value afterwards: - /// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 - /// - /// Emits an {Approval} event. + /// @dev Sets a `value` amount of tokens as the allowance of `spender` over the + /// caller's tokens. + /// + /// Returns a boolean value indicating whether the operation succeeded. + /// + /// IMPORTANT: Beware that changing an allowance with this method brings the risk + /// that someone may use both the old and the new allowance by unfortunate + /// transaction ordering. One possible solution to mitigate this race + /// condition is to first reduce the spender's allowance to 0 and set the + /// desired value afterwards: + /// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 + /// + /// Emits an {Approval} event. function approve(address spender, uint256 value) external returns (bool); - /// @dev Moves a `value` amount of tokens from `from` to `to` using the - /// allowance mechanism. `value` is then deducted from the caller's - /// allowance. - /// - /// Returns a boolean value indicating whether the operation succeeded. - /// - /// Emits a {Transfer} event. + /// @dev Moves a `value` amount of tokens from `from` to `to` using the + /// allowance mechanism. `value` is then deducted from the caller's + /// allowance. + /// + /// Returns a boolean value indicating whether the operation succeeded. + /// + /// Emits a {Transfer} event. function transferFrom(address from, address to, uint256 value) external returns (bool); + + // ============================================================ + // IERC20Metadata - ERC-20 Metadata Extension + // https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/extensions/IERC20Metadata.sol + // ============================================================ + + /// @dev Returns the name of the token. + function name() external view returns (string memory); + + /// @dev Returns the symbol of the token. + function symbol() external view returns (string memory); + + /// @dev Returns the decimals places of the token. + function decimals() external view returns (uint8); } diff --git a/substrate/primitives/inherents/src/client_side.rs b/substrate/primitives/inherents/src/client_side.rs index bbbb72c0eda01..49822a24e4b98 100644 --- a/substrate/primitives/inherents/src/client_side.rs +++ b/substrate/primitives/inherents/src/client_side.rs @@ -143,3 +143,27 @@ impl InherentDataProvider for Tuple { None } } + +#[async_trait::async_trait] +impl InherentDataProvider for Vec { + async fn provide_inherent_data(&self, inherent_data: &mut InherentData) -> Result<(), Error> { + for idp in self { + idp.provide_inherent_data(inherent_data).await?; + } + Ok(()) + } + + async fn try_handle_error( + &self, + identifier: &InherentIdentifier, + error: &[u8], + ) -> Option> { + for idp in self { + if let Some(r) = idp.try_handle_error(identifier, error).await { + return Some(r); + } + } + + None + } +} diff --git a/substrate/primitives/inherents/src/lib.rs b/substrate/primitives/inherents/src/lib.rs index 92f8f0a5d524a..e9f577a2ac4fa 100644 --- a/substrate/primitives/inherents/src/lib.rs +++ b/substrate/primitives/inherents/src/lib.rs @@ -320,7 +320,7 @@ impl CheckInherentsResult { ) -> Result<(), Error> { // Don't accept any other error if self.fatal_error { - return Err(Error::FatalErrorReported) + return Err(Error::FatalErrorReported); } self.okay = false; diff --git a/substrate/primitives/io/src/global_alloc_wasm.rs b/substrate/primitives/io/src/global_alloc_wasm.rs index b456e5ce333cc..4d41bd5832afd 100644 --- a/substrate/primitives/io/src/global_alloc_wasm.rs +++ b/substrate/primitives/io/src/global_alloc_wasm.rs @@ -64,7 +64,7 @@ unsafe impl GlobalAlloc for RuntimeAllocator { // Should never happen, but just to be sure. if ptr_offset > u16::MAX as usize || ptr.is_null() { - return ptr::null_mut() + return ptr::null_mut(); } // Align the pointer. diff --git a/substrate/primitives/io/src/lib.rs b/substrate/primitives/io/src/lib.rs index 3c42c2672f609..f559476c9e73c 100644 --- a/substrate/primitives/io/src/lib.rs +++ b/substrate/primitives/io/src/lib.rs @@ -945,7 +945,7 @@ pub trait Crypto { use ed25519_dalek::Verifier; let Ok(public_key) = ed25519_dalek::VerifyingKey::from_bytes(&pub_key.0) else { - return false + return false; }; let sig = ed25519_dalek::Signature::from_bytes(&sig.0); @@ -2089,9 +2089,9 @@ mod tests { t.execute_with(|| { // We can switch to this once we enable v3 of the `clear_prefix`. - //assert!(matches!( - // storage::clear_prefix(b":abc", None), - // MultiRemovalResults::NoneLeft { db: 2, total: 2 } + // assert!(matches!( + // storage::clear_prefix(b":abc", None), + // MultiRemovalResults::NoneLeft { db: 2, total: 2 } //)); assert!(matches!( storage::clear_prefix(b":abc", None), @@ -2104,9 +2104,9 @@ mod tests { assert!(storage::get(b":abc").is_none()); // We can switch to this once we enable v3 of the `clear_prefix`. - //assert!(matches!( - // storage::clear_prefix(b":abc", None), - // MultiRemovalResults::NoneLeft { db: 0, total: 0 } + // assert!(matches!( + // storage::clear_prefix(b":abc", None), + // MultiRemovalResults::NoneLeft { db: 0, total: 0 } //)); assert!(matches!( storage::clear_prefix(b":abc", None), @@ -2126,7 +2126,7 @@ mod tests { #[test] fn use_dalek_ext_works() { let mut ext = BasicExternalities::default(); - ext.register_extension(UseDalekExt::default()); + ext.register_extension(UseDalekExt); // With dalek the zero signature should fail to verify. ext.execute_with(|| { @@ -2142,7 +2142,7 @@ mod tests { #[test] fn dalek_should_not_panic_on_invalid_signature() { let mut ext = BasicExternalities::default(); - ext.register_extension(UseDalekExt::default()); + ext.register_extension(UseDalekExt); ext.execute_with(|| { let mut bytes = [0u8; 64]; diff --git a/substrate/primitives/keyring/src/bandersnatch.rs b/substrate/primitives/keyring/src/bandersnatch.rs index b82cb166c7d7d..dc05b2ae0bbe1 100644 --- a/substrate/primitives/keyring/src/bandersnatch.rs +++ b/substrate/primitives/keyring/src/bandersnatch.rs @@ -142,22 +142,30 @@ impl From for Pair { impl From for [u8; PUBLIC_RAW_LEN] { fn from(k: Keyring) -> Self { match k { - Keyring::Alice => - hex2array!("4d8e57b723e8bb4eca5c28d79cb95b9e84b4e2319d9851d45504014633e55d01"), - Keyring::Bob => - hex2array!("aa6daf4784d581804d8f5cc1edb2ad171dbdf9c5188ddc071b11c3479c150c37"), - Keyring::Charlie => - hex2array!("331d681392223b35b92319e059d3dbc2869b2ef74400a70e678b4a5108c81ec0"), - Keyring::Dave => - hex2array!("374384c19a877040c84bb07fcf3aac74ff7fafface0b1c01a93fd2ddbf5c1660"), - Keyring::Eve => - hex2array!("14bdd9381e80c07b75b8f1e92d6b2e4652e5135beaad1eedb1b81ff01ee562ad"), - Keyring::Ferdie => - hex2array!("e13bd31b0575076479914c16c5ad69779f206375dbf19519219eeba3b10cc063"), - Keyring::One => - hex2array!("03466a4de97ae18bc4604a3c40dfbddc6bac9f707c9b3c31a94a2c1725a03253"), - Keyring::Two => - hex2array!("0fda0d1336e8d6ee687ebf6d14eaa9b92b5601068e6159222623c8e14c004293"), + Keyring::Alice => { + hex2array!("4d8e57b723e8bb4eca5c28d79cb95b9e84b4e2319d9851d45504014633e55d01") + }, + Keyring::Bob => { + hex2array!("aa6daf4784d581804d8f5cc1edb2ad171dbdf9c5188ddc071b11c3479c150c37") + }, + Keyring::Charlie => { + hex2array!("331d681392223b35b92319e059d3dbc2869b2ef74400a70e678b4a5108c81ec0") + }, + Keyring::Dave => { + hex2array!("374384c19a877040c84bb07fcf3aac74ff7fafface0b1c01a93fd2ddbf5c1660") + }, + Keyring::Eve => { + hex2array!("14bdd9381e80c07b75b8f1e92d6b2e4652e5135beaad1eedb1b81ff01ee562ad") + }, + Keyring::Ferdie => { + hex2array!("e13bd31b0575076479914c16c5ad69779f206375dbf19519219eeba3b10cc063") + }, + Keyring::One => { + hex2array!("03466a4de97ae18bc4604a3c40dfbddc6bac9f707c9b3c31a94a2c1725a03253") + }, + Keyring::Two => { + hex2array!("0fda0d1336e8d6ee687ebf6d14eaa9b92b5601068e6159222623c8e14c004293") + }, } } } diff --git a/substrate/primitives/keyring/src/ed25519.rs b/substrate/primitives/keyring/src/ed25519.rs index 235b5d5c9931c..e959f2d7d8744 100644 --- a/substrate/primitives/keyring/src/ed25519.rs +++ b/substrate/primitives/keyring/src/ed25519.rs @@ -189,34 +189,48 @@ impl From for Pair { impl From for [u8; 32] { fn from(k: Keyring) -> Self { match k { - Keyring::Alice => - hex2array!("88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee"), - Keyring::Bob => - hex2array!("d17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69"), - Keyring::Charlie => - hex2array!("439660b36c6c03afafca027b910b4fecf99801834c62a5e6006f27d978de234f"), - Keyring::Dave => - hex2array!("5e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d9"), - Keyring::Eve => - hex2array!("1dfe3e22cc0d45c70779c1095f7489a8ef3cf52d62fbd8c2fa38c9f1723502b5"), - Keyring::Ferdie => - hex2array!("568cb4a574c6d178feb39c27dfc8b3f789e5f5423e19c71633c748b9acf086b5"), - Keyring::AliceStash => - hex2array!("451781cd0c5504504f69ceec484cc66e4c22a2b6a9d20fb1a426d91ad074a2a8"), - Keyring::BobStash => - hex2array!("292684abbb28def63807c5f6e84e9e8689769eb37b1ab130d79dbfbf1b9a0d44"), - Keyring::CharlieStash => - hex2array!("dd6a6118b6c11c9c9e5a4f34ed3d545e2c74190f90365c60c230fa82e9423bb9"), - Keyring::DaveStash => - hex2array!("1d0432d75331ab299065bee79cdb1bdc2497c597a3087b4d955c67e3c000c1e2"), - Keyring::EveStash => - hex2array!("c833bdd2e1a7a18acc1c11f8596e2e697bb9b42d6b6051e474091a1d43a294d7"), - Keyring::FerdieStash => - hex2array!("199d749dbf4b8135cb1f3c8fd697a390fc0679881a8a110c1d06375b3b62cd09"), - Keyring::One => - hex2array!("16f97016bbea8f7b45ae6757b49efc1080accc175d8f018f9ba719b60b0815e4"), - Keyring::Two => - hex2array!("5079bcd20fd97d7d2f752c4607012600b401950260a91821f73e692071c82bf5"), + Keyring::Alice => { + hex2array!("88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee") + }, + Keyring::Bob => { + hex2array!("d17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69") + }, + Keyring::Charlie => { + hex2array!("439660b36c6c03afafca027b910b4fecf99801834c62a5e6006f27d978de234f") + }, + Keyring::Dave => { + hex2array!("5e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d9") + }, + Keyring::Eve => { + hex2array!("1dfe3e22cc0d45c70779c1095f7489a8ef3cf52d62fbd8c2fa38c9f1723502b5") + }, + Keyring::Ferdie => { + hex2array!("568cb4a574c6d178feb39c27dfc8b3f789e5f5423e19c71633c748b9acf086b5") + }, + Keyring::AliceStash => { + hex2array!("451781cd0c5504504f69ceec484cc66e4c22a2b6a9d20fb1a426d91ad074a2a8") + }, + Keyring::BobStash => { + hex2array!("292684abbb28def63807c5f6e84e9e8689769eb37b1ab130d79dbfbf1b9a0d44") + }, + Keyring::CharlieStash => { + hex2array!("dd6a6118b6c11c9c9e5a4f34ed3d545e2c74190f90365c60c230fa82e9423bb9") + }, + Keyring::DaveStash => { + hex2array!("1d0432d75331ab299065bee79cdb1bdc2497c597a3087b4d955c67e3c000c1e2") + }, + Keyring::EveStash => { + hex2array!("c833bdd2e1a7a18acc1c11f8596e2e697bb9b42d6b6051e474091a1d43a294d7") + }, + Keyring::FerdieStash => { + hex2array!("199d749dbf4b8135cb1f3c8fd697a390fc0679881a8a110c1d06375b3b62cd09") + }, + Keyring::One => { + hex2array!("16f97016bbea8f7b45ae6757b49efc1080accc175d8f018f9ba719b60b0815e4") + }, + Keyring::Two => { + hex2array!("5079bcd20fd97d7d2f752c4607012600b401950260a91821f73e692071c82bf5") + }, } } } diff --git a/substrate/primitives/keyring/src/sr25519.rs b/substrate/primitives/keyring/src/sr25519.rs index 5ff9056566bc7..0ebd04cdeb70b 100644 --- a/substrate/primitives/keyring/src/sr25519.rs +++ b/substrate/primitives/keyring/src/sr25519.rs @@ -200,34 +200,48 @@ impl From for Pair { impl From for [u8; 32] { fn from(k: Keyring) -> Self { match k { - Keyring::Alice => - hex2array!("d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d"), - Keyring::Bob => - hex2array!("8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48"), - Keyring::Charlie => - hex2array!("90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22"), - Keyring::Dave => - hex2array!("306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20"), - Keyring::Eve => - hex2array!("e659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e"), - Keyring::Ferdie => - hex2array!("1cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c"), - Keyring::AliceStash => - hex2array!("be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f"), - Keyring::BobStash => - hex2array!("fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e"), - Keyring::CharlieStash => - hex2array!("1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625"), - Keyring::DaveStash => - hex2array!("e860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c"), - Keyring::EveStash => - hex2array!("8ac59e11963af19174d0b94d5d78041c233f55d2e19324665bafdfb62925af2d"), - Keyring::FerdieStash => - hex2array!("101191192fc877c24d725b337120fa3edc63d227bbc92705db1e2cb65f56981a"), - Keyring::One => - hex2array!("ac859f8a216eeb1b320b4c76d118da3d7407fa523484d0a980126d3b4d0d220a"), - Keyring::Two => - hex2array!("1254f7017f0b8347ce7ab14f96d818802e7e9e0c0d1b7c9acb3c726b080e7a03"), + Keyring::Alice => { + hex2array!("d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d") + }, + Keyring::Bob => { + hex2array!("8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48") + }, + Keyring::Charlie => { + hex2array!("90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22") + }, + Keyring::Dave => { + hex2array!("306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20") + }, + Keyring::Eve => { + hex2array!("e659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e") + }, + Keyring::Ferdie => { + hex2array!("1cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c") + }, + Keyring::AliceStash => { + hex2array!("be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f") + }, + Keyring::BobStash => { + hex2array!("fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e") + }, + Keyring::CharlieStash => { + hex2array!("1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625") + }, + Keyring::DaveStash => { + hex2array!("e860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c") + }, + Keyring::EveStash => { + hex2array!("8ac59e11963af19174d0b94d5d78041c233f55d2e19324665bafdfb62925af2d") + }, + Keyring::FerdieStash => { + hex2array!("101191192fc877c24d725b337120fa3edc63d227bbc92705db1e2cb65f56981a") + }, + Keyring::One => { + hex2array!("ac859f8a216eeb1b320b4c76d118da3d7407fa523484d0a980126d3b4d0d220a") + }, + Keyring::Two => { + hex2array!("1254f7017f0b8347ce7ab14f96d818802e7e9e0c0d1b7c9acb3c726b080e7a03") + }, } } } diff --git a/substrate/primitives/keystore/src/lib.rs b/substrate/primitives/keystore/src/lib.rs index e7224bfc2ca1c..01fea23d7046f 100644 --- a/substrate/primitives/keystore/src/lib.rs +++ b/substrate/primitives/keystore/src/lib.rs @@ -677,6 +677,16 @@ impl Keystore for Arc { fn has_keys(&self, public_keys: &[(Vec, KeyTypeId)]) -> bool { (**self).has_keys(public_keys) } + + fn sign_with( + &self, + id: KeyTypeId, + crypto_id: CryptoTypeId, + public: &[u8], + msg: &[u8], + ) -> Result>, Error> { + (**self).sign_with(id, crypto_id, public, msg) + } } /// A shared pointer to a keystore implementation. diff --git a/substrate/primitives/maybe-compressed-blob/src/lib.rs b/substrate/primitives/maybe-compressed-blob/src/lib.rs index 348ff6ffee3b8..5114be8a3f079 100644 --- a/substrate/primitives/maybe-compressed-blob/src/lib.rs +++ b/substrate/primitives/maybe-compressed-blob/src/lib.rs @@ -115,7 +115,7 @@ pub fn compress(blob: &[u8], bomb_limit: usize) -> Option> { /// not be able to be able to differentiate it from a compression bomb. fn compress_with_level(blob: &[u8], bomb_limit: usize, level: i32) -> Option> { if blob.len() > bomb_limit { - return None + return None; } let mut buf = ZSTD_PREFIX.to_vec(); diff --git a/substrate/primitives/merkle-mountain-range/src/utils.rs b/substrate/primitives/merkle-mountain-range/src/utils.rs index 2460af4b800fc..ab8d83f0321b6 100644 --- a/substrate/primitives/merkle-mountain-range/src/utils.rs +++ b/substrate/primitives/merkle-mountain-range/src/utils.rs @@ -94,7 +94,7 @@ impl NodesUtils { /// Translate a _leaf_ `NodeIndex` to its `LeafIndex`. fn leaf_node_index_to_leaf_index(pos: NodeIndex) -> LeafIndex { if pos == 0 { - return 0 + return 0; } let peaks = helper::get_peaks(pos); (pos + peaks.len() as u64) >> 1 @@ -117,7 +117,7 @@ impl NodesUtils { pub fn right_branch_ending_in_leaf(leaf_index: LeafIndex) -> Vec { let pos = helper::leaf_index_to_pos(leaf_index); let num_parents = leaf_index.trailing_ones() as u64; - return (pos..=pos + num_parents).collect() + return (pos..=pos + num_parents).collect(); } /// Build offchain key from `parent_hash` of block that originally added node `pos` to MMR. diff --git a/substrate/primitives/metadata-ir/src/v15.rs b/substrate/primitives/metadata-ir/src/v15.rs index 64bc3e843ab58..1bfad0bd355f1 100644 --- a/substrate/primitives/metadata-ir/src/v15.rs +++ b/substrate/primitives/metadata-ir/src/v15.rs @@ -27,21 +27,17 @@ use frame_metadata::v15::{ RuntimeApiMethodMetadata, RuntimeApiMethodParamMetadata, RuntimeMetadataV15, SignedExtensionMetadata, }; -use scale_info::{IntoPortable, Registry}; impl From for RuntimeMetadataV15 { fn from(ir: MetadataIR) -> Self { - let mut registry = Registry::new(); - let pallets = - registry.map_into_portable(ir.pallets.into_iter().map(Into::::into)); - let extrinsic = Into::::into(ir.extrinsic).into_portable(&mut registry); - let ty = registry.register_type(&ir.ty); - let apis = - registry.map_into_portable(ir.apis.into_iter().map(Into::::into)); - let outer_enums = Into::::into(ir.outer_enums).into_portable(&mut registry); - let custom = CustomMetadata { map: Default::default() }; - - Self { types: registry.into(), pallets, extrinsic, ty, apis, outer_enums, custom } + RuntimeMetadataV15::new( + ir.pallets.into_iter().map(Into::into).collect(), + ir.extrinsic.into(), + ir.ty, + ir.apis.into_iter().map(Into::into).collect(), + ir.outer_enums.into(), + CustomMetadata { map: Default::default() }, + ) } } diff --git a/substrate/primitives/metadata-ir/src/v16.rs b/substrate/primitives/metadata-ir/src/v16.rs index 1b9306aea3279..3ba9f093939f2 100644 --- a/substrate/primitives/metadata-ir/src/v16.rs +++ b/substrate/primitives/metadata-ir/src/v16.rs @@ -205,10 +205,12 @@ impl From for EnumDeprecationInfo { impl From for VariantDeprecationInfo { fn from(ir: VariantDeprecationInfoIR) -> Self { match ir { - VariantDeprecationInfoIR::DeprecatedWithoutNote => - VariantDeprecationInfo::DeprecatedWithoutNote, - VariantDeprecationInfoIR::Deprecated { note, since } => - VariantDeprecationInfo::Deprecated { note, since }, + VariantDeprecationInfoIR::DeprecatedWithoutNote => { + VariantDeprecationInfo::DeprecatedWithoutNote + }, + VariantDeprecationInfoIR::Deprecated { note, since } => { + VariantDeprecationInfo::Deprecated { note, since } + }, } } } @@ -217,10 +219,12 @@ impl From for ItemDeprecationInfo { fn from(ir: ItemDeprecationInfoIR) -> Self { match ir { ItemDeprecationInfoIR::NotDeprecated => ItemDeprecationInfo::NotDeprecated, - ItemDeprecationInfoIR::DeprecatedWithoutNote => - ItemDeprecationInfo::DeprecatedWithoutNote, - ItemDeprecationInfoIR::Deprecated { note, since } => - ItemDeprecationInfo::Deprecated { note, since }, + ItemDeprecationInfoIR::DeprecatedWithoutNote => { + ItemDeprecationInfo::DeprecatedWithoutNote + }, + ItemDeprecationInfoIR::Deprecated { note, since } => { + ItemDeprecationInfo::Deprecated { note, since } + }, } } } diff --git a/substrate/primitives/mixnet/src/types.rs b/substrate/primitives/mixnet/src/types.rs index 3b069e1fb3ad7..6baddf542ee0d 100644 --- a/substrate/primitives/mixnet/src/types.rs +++ b/substrate/primitives/mixnet/src/types.rs @@ -93,8 +93,9 @@ pub enum MixnodesErr { impl core::fmt::Display for MixnodesErr { fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { match self { - MixnodesErr::InsufficientRegistrations { num, min } => - write!(fmt, "{num} mixnode(s) registered; {min} is the minimum"), + MixnodesErr::InsufficientRegistrations { num, min } => { + write!(fmt, "{num} mixnode(s) registered; {min} is the minimum") + }, } } } diff --git a/substrate/primitives/npos-elections/fuzzer/src/common.rs b/substrate/primitives/npos-elections/fuzzer/src/common.rs index ebf103401a629..00aba9d00e78e 100644 --- a/substrate/primitives/npos-elections/fuzzer/src/common.rs +++ b/substrate/primitives/npos-elections/fuzzer/src/common.rs @@ -158,10 +158,12 @@ pub fn generate_random_npos_result( ( match election_type { - ElectionType::Phragmen(conf) => - seq_phragmen(to_elect, candidates.clone(), voters.clone(), conf).unwrap(), - ElectionType::Phragmms(conf) => - phragmms(to_elect, candidates.clone(), voters.clone(), conf).unwrap(), + ElectionType::Phragmen(conf) => { + seq_phragmen(to_elect, candidates.clone(), voters.clone(), conf).unwrap() + }, + ElectionType::Phragmms(conf) => { + phragmms(to_elect, candidates.clone(), voters.clone(), conf).unwrap() + }, }, candidates, voters, diff --git a/substrate/primitives/npos-elections/fuzzer/src/phragmen_balancing.rs b/substrate/primitives/npos-elections/fuzzer/src/phragmen_balancing.rs index 460b76e093f17..a04cf57dc6c94 100644 --- a/substrate/primitives/npos-elections/fuzzer/src/phragmen_balancing.rs +++ b/substrate/primitives/npos-elections/fuzzer/src/phragmen_balancing.rs @@ -59,7 +59,7 @@ fn main() { if score.minimal_stake == 0 { // such cases cannot be improved by balancing. - return + return; } score }; diff --git a/substrate/primitives/npos-elections/fuzzer/src/phragmms_balancing.rs b/substrate/primitives/npos-elections/fuzzer/src/phragmms_balancing.rs index 89c411717dad7..1b504074a013c 100644 --- a/substrate/primitives/npos-elections/fuzzer/src/phragmms_balancing.rs +++ b/substrate/primitives/npos-elections/fuzzer/src/phragmms_balancing.rs @@ -60,7 +60,7 @@ fn main() { if score.minimal_stake == 0 { // such cases cannot be improved by balancing. - return + return; } score }; diff --git a/substrate/primitives/npos-elections/src/balancing.rs b/substrate/primitives/npos-elections/src/balancing.rs index fb14c86865819..f53bf42b0dd10 100644 --- a/substrate/primitives/npos-elections/src/balancing.rs +++ b/substrate/primitives/npos-elections/src/balancing.rs @@ -60,7 +60,7 @@ pub fn balance( config: &BalancingConfig, ) -> usize { if config.iterations == 0 { - return 0 + return 0; } let mut iter = 0; @@ -75,7 +75,7 @@ pub fn balance( iter += 1; if max_diff <= config.tolerance || iter >= config.iterations { - break iter + break iter; } } } @@ -94,7 +94,7 @@ pub(crate) fn balance_voter( // Either empty, or a self vote. Not much to do in either case. if elected_edges.len() <= 1 { - return Zero::zero() + return Zero::zero(); } // amount of stake from this voter that is used in edges. @@ -125,7 +125,7 @@ pub(crate) fn balance_voter( let mut difference = max_stake.saturating_sub(*min_stake); difference = difference.saturating_add(voter.budget.saturating_sub(stake_used)); if difference < tolerance { - return difference + return difference; } difference } else { @@ -151,7 +151,7 @@ pub(crate) fn balance_voter( if temp.saturating_sub(cumulative_backed_stake) > voter.budget { // defensive only. length of elected_edges is checked to be above 1. last_index = index.saturating_sub(1) as usize; - break + break; } cumulative_backed_stake = cumulative_backed_stake.saturating_add(backed_stake); } diff --git a/substrate/primitives/npos-elections/src/lib.rs b/substrate/primitives/npos-elections/src/lib.rs index aa9e91a915f72..f185a77246445 100644 --- a/substrate/primitives/npos-elections/src/lib.rs +++ b/substrate/primitives/npos-elections/src/lib.rs @@ -619,7 +619,7 @@ pub fn setup_inputs( for v in votes { if edges.iter().any(|e| e.who == v) { // duplicate edge. - continue + continue; } if let Some(idx) = c_idx_cache.get(&v) { // This candidate is valid + already cached. diff --git a/substrate/primitives/npos-elections/src/mock.rs b/substrate/primitives/npos-elections/src/mock.rs index 91757404145f3..7b1e88bc41740 100644 --- a/substrate/primitives/npos-elections/src/mock.rs +++ b/substrate/primitives/npos-elections/src/mock.rs @@ -145,7 +145,7 @@ where elected_candidates.push((winner.who, winner.approval_stake as ExtendedBalance)); } else { - break + break; } } @@ -190,7 +190,7 @@ pub(crate) fn equalize_float( } if max_diff < tolerance { - break + break; } } } @@ -207,7 +207,7 @@ where { let budget = budget_balance as f64; if elected_edges.is_empty() { - return 0.0 + return 0.0; } let stake_used = elected_edges.iter().fold(0.0, |s, e| s + e.1); @@ -235,7 +235,7 @@ where difference = max_stake - min_stake; difference = difference + budget - stake_used; if difference < tolerance { - return difference + return difference; } } else { difference = budget; @@ -266,7 +266,7 @@ where let stake_sub = stake_mul - cumulative_stake; if stake_sub > budget { last_index = idx.checked_sub(1).unwrap_or(0); - return + return; } cumulative_stake = cumulative_stake + stake; } diff --git a/substrate/primitives/npos-elections/src/node.rs b/substrate/primitives/npos-elections/src/node.rs index 6fe50ad1d0acf..6f45bfdc04040 100644 --- a/substrate/primitives/npos-elections/src/node.rs +++ b/substrate/primitives/npos-elections/src/node.rs @@ -94,7 +94,7 @@ impl Node { /// Returns true if `other` is the parent of `who`. pub fn is_parent_of(who: &NodeRef, other: &NodeRef) -> bool { if who.borrow().parent.is_none() { - return false + return false; } who.borrow().parent.as_ref() == Some(other) } @@ -128,7 +128,7 @@ impl Node { while let Some(ref next_parent) = current.clone().borrow().parent { if visited.contains(next_parent) { - break + break; } parent_path.push(next_parent.clone()); current = next_parent.clone(); diff --git a/substrate/primitives/npos-elections/src/phragmen.rs b/substrate/primitives/npos-elections/src/phragmen.rs index aaee20f0ad79b..d1a3ab50f4c4b 100644 --- a/substrate/primitives/npos-elections/src/phragmen.rs +++ b/substrate/primitives/npos-elections/src/phragmen.rs @@ -176,7 +176,7 @@ pub fn seq_phragmen_core( } } } else { - break + break; } } diff --git a/substrate/primitives/npos-elections/src/phragmms.rs b/substrate/primitives/npos-elections/src/phragmms.rs index 8d5ec4af4a597..bd91cf06f248f 100644 --- a/substrate/primitives/npos-elections/src/phragmms.rs +++ b/substrate/primitives/npos-elections/src/phragmms.rs @@ -62,7 +62,7 @@ pub fn phragmms( balance(&mut voters, config); } } else { - break + break; } } diff --git a/substrate/primitives/npos-elections/src/pjr.rs b/substrate/primitives/npos-elections/src/pjr.rs index 6e3775199a219..ecc0357e04aac 100644 --- a/substrate/primitives/npos-elections/src/pjr.rs +++ b/substrate/primitives/npos-elections/src/pjr.rs @@ -307,7 +307,7 @@ fn prepare_pjr_input( for t in ts { if edges.iter().any(|e| e.who == t) { // duplicate edge. - continue + continue; } if let Some(idx) = candidates_index.get(&t) { diff --git a/substrate/primitives/npos-elections/src/reduce.rs b/substrate/primitives/npos-elections/src/reduce.rs index 7e1ff8d978f3b..e67878723fc82 100644 --- a/substrate/primitives/npos-elections/src/reduce.rs +++ b/substrate/primitives/npos-elections/src/reduce.rs @@ -65,7 +65,7 @@ type Map = BTreeMap<(A, A), A>; fn combinations_2(input: &[T]) -> Vec<(T, T)> { let n = input.len(); if n < 2 { - return Default::default() + return Default::default(); } let mut comb = Vec::with_capacity(n * (n - 1) / 2); @@ -143,13 +143,13 @@ fn reduce_4(assignments: &mut Vec>) -> u32 { .filter(|(t, _)| *t == v1 || *t == v2) .count() != 2 { - continue + continue; } // check if other_who voted for the same pair v1, v2. let maybe_other_assignments = assignments.iter().find(|a| a.who == *other_who); if maybe_other_assignments.is_none() { - continue + continue; } let other_assignment = maybe_other_assignments.expect("value is checked to be 'Some'"); @@ -178,7 +178,7 @@ fn reduce_4(assignments: &mut Vec>) -> u32 { if other_votes_count < 2 { // This is not a cycle. Replace and continue. *other_who = who.clone(); - continue + continue; } else if other_votes_count == 2 { // This is a cycle. let mut who_cycle_votes: Vec<(A, ExtendedBalance)> = Vec::with_capacity(2); @@ -189,7 +189,7 @@ fn reduce_4(assignments: &mut Vec>) -> u32 { }); if who_cycle_votes.len() != 2 { - continue + continue; } // Align the targets similarly. This helps with the circulation below. @@ -335,7 +335,7 @@ fn reduce_all(assignments: &mut Vec>) -> u32 let maybe_dist = assignments[assignment_index].distribution.get(dist_index); if maybe_dist.is_none() { // The rest of this loop is moot. - break + break; } let (target, _) = maybe_dist.expect("Value checked to be some").clone(); @@ -362,17 +362,17 @@ fn reduce_all(assignments: &mut Vec>) -> u32 (false, false) => { Node::set_parent_of(&target_node, &voter_node); dist_index += 1; - continue + continue; }, (false, true) => { Node::set_parent_of(&voter_node, &target_node); dist_index += 1; - continue + continue; }, (true, false) => { Node::set_parent_of(&target_node, &voter_node); dist_index += 1; - continue + continue; }, (true, true) => { /* don't continue and execute the rest */ }, }; @@ -389,7 +389,7 @@ fn reduce_all(assignments: &mut Vec>) -> u32 let common_count = trailing_common(&voter_root_path, &target_root_path); // because roots are the same. - //debug_assert_eq!(target_root_path.last().unwrap(), + // debug_assert_eq!(target_root_path.last().unwrap(), // voter_root_path.last().unwrap()); TODO: @kian // the common path must be non-void.. debug_assert!(common_count > 0); @@ -493,7 +493,7 @@ fn reduce_all(assignments: &mut Vec>) -> u32 ) => (min_value, min_target, min_voter, min_index, min_direction), _ => { sp_runtime::print("UNREACHABLE code reached in `reduce` algorithm. This must be a bug."); - break + break; }, }; @@ -609,7 +609,7 @@ fn reduce_all(assignments: &mut Vec>) -> u32 let current = voter_root_path[i].clone().borrow().id.who.clone(); let next = voter_root_path[i + 1].clone().borrow().id.who.clone(); if min_edge.contains(¤t) && min_edge.contains(&next) { - break + break; } Node::set_parent_of(&voter_root_path[i + 1], &voter_root_path[i]); } @@ -620,7 +620,7 @@ fn reduce_all(assignments: &mut Vec>) -> u32 let current = target_root_path[i].clone().borrow().id.who.clone(); let next = target_root_path[i + 1].clone().borrow().id.who.clone(); if min_edge.contains(¤t) && min_edge.contains(&next) { - break + break; } Node::set_parent_of(&target_root_path[i + 1], &target_root_path[i]); } diff --git a/substrate/primitives/runtime-interface/proc-macro/src/lib.rs b/substrate/primitives/runtime-interface/proc-macro/src/lib.rs index 6ca7827acae58..94bb378d2ab5a 100644 --- a/substrate/primitives/runtime-interface/proc-macro/src/lib.rs +++ b/substrate/primitives/runtime-interface/proc-macro/src/lib.rs @@ -59,7 +59,7 @@ impl Parse for Options { } else if lookahead.peek(Token![,]) { let _ = input.parse::(); } else { - return Err(lookahead.error()) + return Err(lookahead.error()); } } Ok(res) diff --git a/substrate/primitives/runtime-interface/proc-macro/src/runtime_interface/host_function_interface.rs b/substrate/primitives/runtime-interface/proc-macro/src/runtime_interface/host_function_interface.rs index d68d6c0a2bdae..a9b85b2214034 100644 --- a/substrate/primitives/runtime-interface/proc-macro/src/runtime_interface/host_function_interface.rs +++ b/substrate/primitives/runtime-interface/proc-macro/src/runtime_interface/host_function_interface.rs @@ -350,7 +350,7 @@ fn generate_host_function_implementation( return Err(Error::new( method.span(), "Conditional compilation is not supported for versioned functions", - )) + )); } let implementation = quote! { @@ -467,14 +467,15 @@ fn generate_wasm_interface_signature_for_host_function(sig: &Signature) -> Resul /// Generate the variable name that stores the FFI value. fn generate_ffi_value_var_name(pat: &Pat) -> Result { match pat { - Pat::Ident(pat_ident) => + Pat::Ident(pat_ident) => { if let Some(by_ref) = pat_ident.by_ref { Err(Error::new(by_ref.span(), "`ref` not supported!")) } else if let Some(sub_pattern) = &pat_ident.subpat { Err(Error::new(sub_pattern.0.span(), "Not supported!")) } else { Ok(Ident::new(&format!("{}_ffi_value", pat_ident.ident), Span::call_site())) - }, + } + }, _ => Err(Error::new(pat.span(), "Not supported as variable name!")), } } diff --git a/substrate/primitives/runtime-interface/proc-macro/src/runtime_interface/trait_decl_impl.rs b/substrate/primitives/runtime-interface/proc-macro/src/runtime_interface/trait_decl_impl.rs index cf605f6797c24..c9618f4796b90 100644 --- a/substrate/primitives/runtime-interface/proc-macro/src/runtime_interface/trait_decl_impl.rs +++ b/substrate/primitives/runtime-interface/proc-macro/src/runtime_interface/trait_decl_impl.rs @@ -131,7 +131,7 @@ fn declare_essential_trait(trait_def: &ItemTrait) -> Result { let trait_ = &trait_def.ident; if let Some(param) = trait_def.generics.params.first() { - return Err(Error::new(param.span(), "Generic parameters not supported.")) + return Err(Error::new(param.span(), "Generic parameters not supported.")); } let interface = get_runtime_interface(trait_def)?; diff --git a/substrate/primitives/runtime-interface/proc-macro/src/utils.rs b/substrate/primitives/runtime-interface/proc-macro/src/utils.rs index d271a56c1dab5..b0db2ad8a6eb3 100644 --- a/substrate/primitives/runtime-interface/proc-macro/src/utils.rs +++ b/substrate/primitives/runtime-interface/proc-macro/src/utils.rs @@ -69,7 +69,7 @@ impl RuntimeInterfaceFunction { return Err(Error::new( item.sig.ident.span(), "Methods marked as #[trap_on_return] cannot return anything", - )) + )); } Ok(Self { item, should_trap_on_return }) @@ -123,7 +123,7 @@ impl RuntimeInterfaceFunctionSet { "Previous version with the same number defined here", )); - return Err(err) + return Err(err); } self.versions @@ -285,7 +285,7 @@ impl Parse for VersionAttribute { Some(input.parse()?) } else { if !input.is_empty() { - return Err(Error::new(input.span(), "Unexpected token, expected `,`.")) + return Err(Error::new(input.span(), "Unexpected token, expected `,`.")); } None @@ -313,7 +313,7 @@ pub fn get_runtime_interface(trait_def: &ItemTrait) -> Result let version = get_item_version(item)?.unwrap_or_default(); if version.version < 1 { - return Err(Error::new(item.span(), "Version needs to be at least `1`.")) + return Err(Error::new(item.span(), "Version needs to be at least `1`.")); } match functions.entry(name.clone()) { @@ -336,7 +336,7 @@ pub fn get_runtime_interface(trait_def: &ItemTrait) -> Result "Unexpected version attribute: missing version '{}' for this function", next_expected ), - )) + )); } next_expected += 1; } @@ -360,9 +360,10 @@ pub fn host_inner_return_ty(ty: &syn::ReturnType) -> syn::ReturnType { let crate_ = generate_crate_access(); match ty { syn::ReturnType::Default => syn::ReturnType::Default, - syn::ReturnType::Type(ref arrow, ref ty) => + syn::ReturnType::Type(ref arrow, ref ty) => { syn::parse2::(quote! { #arrow <#ty as #crate_::RIType>::Inner }) - .expect("parsing doesn't fail"), + .expect("parsing doesn't fail") + }, } } diff --git a/substrate/primitives/runtime-interface/src/pass_by.rs b/substrate/primitives/runtime-interface/src/pass_by.rs index f7e890e0503a8..298f38b390b7d 100644 --- a/substrate/primitives/runtime-interface/src/pass_by.rs +++ b/substrate/primitives/runtime-interface/src/pass_by.rs @@ -273,6 +273,57 @@ impl<'a> IntoFFIValue for PassFatPointerAndReadWrite<&'a mut [u8]> { } } +/// Pass a pointer into the host by a fat pointer, writing it back after the host call ends. +/// +/// This casts the value into a `&mut [u8]` and passes a pointer to that byte blob and its length +/// to the host. The host *doesn't* read from this and instead creates a zero-initialized buffer +/// as a mutable reference to the host function. After the host function finishes the byte blob +/// is written back into the guest memory. +/// +/// Raw FFI type: `u64` (a fat pointer; upper 32 bits is the size, lower 32 bits is the pointer) +pub struct PassFatPointerAndWrite(PhantomData); + +impl RIType for PassFatPointerAndWrite { + type FFIType = u64; + type Inner = T; +} + +#[cfg(not(substrate_runtime))] +impl<'a> FromFFIValue<'a> for PassFatPointerAndWrite<&'a mut [u8]> { + type Owned = Vec; + + fn from_ffi_value( + _context: &mut dyn FunctionContext, + arg: Self::FFIType, + ) -> Result { + let (_ptr, len) = unpack_ptr_and_len(arg); + Ok(alloc::vec![0u8; len as usize]) + } + + fn take_from_owned(owned: &'a mut Self::Owned) -> Self::Inner { + &mut *owned + } + + fn write_back_into_runtime( + value: Self::Owned, + context: &mut dyn FunctionContext, + arg: Self::FFIType, + ) -> Result<()> { + let (ptr, len) = unpack_ptr_and_len(arg); + assert_eq!(len as usize, value.len()); + context.write_memory(Pointer::new(ptr), &value) + } +} + +#[cfg(substrate_runtime)] +impl<'a> IntoFFIValue for PassFatPointerAndWrite<&'a mut [u8]> { + type Destructor = (); + + fn into_ffi_value(value: &mut Self::Inner) -> (Self::FFIType, Self::Destructor) { + (pack_ptr_and_len(value.as_ptr() as u32, value.len() as u32), ()) + } +} + /// Pass a pointer into the host and write to it after the host call ends. /// /// This casts a given type into `&mut [u8]` using `AsMut<[u8]>` and passes a pointer to diff --git a/substrate/primitives/runtime-interface/tests/ui.rs b/substrate/primitives/runtime-interface/tests/ui.rs index 408ddbc981ee9..a64d683ff7655 100644 --- a/substrate/primitives/runtime-interface/tests/ui.rs +++ b/substrate/primitives/runtime-interface/tests/ui.rs @@ -20,7 +20,7 @@ fn ui() { // Only run the ui tests when `RUN_UI_TESTS` is set. if std::env::var("RUN_UI_TESTS").is_err() { - return + return; } // As trybuild is using `cargo check`, we don't need the real WASM binaries. diff --git a/substrate/primitives/runtime-interface/tests/ui/improperly_wrapped_ri_type.stderr b/substrate/primitives/runtime-interface/tests/ui/improperly_wrapped_ri_type.stderr index 2a03fb2c5e18a..ea3f82e77a7fe 100644 --- a/substrate/primitives/runtime-interface/tests/ui/improperly_wrapped_ri_type.stderr +++ b/substrate/primitives/runtime-interface/tests/ui/improperly_wrapped_ri_type.stderr @@ -64,7 +64,7 @@ error[E0277]: the trait bound `Option: FromFFIValue<'_>` is not satisfied PassFatPointerAndRead<&'a str> PassFatPointerAndRead> PassFatPointerAndReadWrite<&'a mut [u8]> - PassPointerAndRead<&'a T, N> + PassFatPointerAndWrite<&'a mut [u8]> and $N others error[E0277]: the trait bound `Option: IntoFFIValue` is not satisfied @@ -98,7 +98,7 @@ error[E0277]: the trait bound `Option: FromFFIValue<'_>` is not satisfied PassFatPointerAndRead<&'a str> PassFatPointerAndRead> PassFatPointerAndReadWrite<&'a mut [u8]> - PassPointerAndRead<&'a T, N> + PassFatPointerAndWrite<&'a mut [u8]> and $N others error[E0277]: the trait bound `Option: FromFFIValue<'_>` is not satisfied @@ -115,7 +115,7 @@ error[E0277]: the trait bound `Option: FromFFIValue<'_>` is not satisfied PassFatPointerAndRead<&'a str> PassFatPointerAndRead> PassFatPointerAndReadWrite<&'a mut [u8]> - PassPointerAndRead<&'a T, N> + PassFatPointerAndWrite<&'a mut [u8]> and $N others = note: this error originates in the attribute macro `runtime_interface` (in Nightly builds, run with -Z macro-backtrace for more info) diff --git a/substrate/primitives/runtime/Cargo.toml b/substrate/primitives/runtime/Cargo.toml index 5544fefba7a50..8d2fa76d1eeb6 100644 --- a/substrate/primitives/runtime/Cargo.toml +++ b/substrate/primitives/runtime/Cargo.toml @@ -47,6 +47,7 @@ tuplex = { workspace = true, default-features = false } rand = { workspace = true, default-features = true } serde_json = { workspace = true, default-features = true } sp-api = { workspace = true, default-features = true } +sp-keystore = { workspace = true, default-features = true } sp-state-machine = { workspace = true, default-features = true } sp-tracing = { workspace = true, default-features = true } substrate-test-runtime-client = { workspace = true } @@ -93,3 +94,13 @@ serde = [ "sp-core/serde", "sp-weights/serde", ] + +# This feature adds BLS crypto primitives. +# It should not be used in production since the implementation and interface may still +# be subject to significant changes. +bls-experimental = [ + "sp-application-crypto/bls-experimental", + "sp-core/bls-experimental", + "sp-io/bls-experimental", + "substrate-test-runtime-client/bls-experimental", +] diff --git a/substrate/primitives/runtime/src/curve.rs b/substrate/primitives/runtime/src/curve.rs index 77b5f00cbf3d1..e3abefd939bf9 100644 --- a/substrate/primitives/runtime/src/curve.rs +++ b/substrate/primitives/runtime/src/curve.rs @@ -46,7 +46,7 @@ impl<'a> PiecewiseLinear<'a> { let n = n.min(d.clone()); if self.points.is_empty() { - return N::zero() + return N::zero(); } let next_point_index = self.points.iter().position(|p| n < p.0 * d.clone()); @@ -56,11 +56,11 @@ impl<'a> PiecewiseLinear<'a> { (self.points[previous_point_index], self.points[next_point_index]) } else { // There is no previous points, take first point ordinate - return self.points.first().map(|p| p.1).unwrap_or_else(Perbill::zero) * d + return self.points.first().map(|p| p.1).unwrap_or_else(Perbill::zero) * d; } } else { // There is no next points, take last point ordinate - return self.points.last().map(|p| p.1).unwrap_or_else(Perbill::zero) * d + return self.points.last().map(|p| p.1).unwrap_or_else(Perbill::zero) * d; }; let delta_y = multiply_by_rational_saturating( diff --git a/substrate/primitives/runtime/src/generic/checked_extrinsic.rs b/substrate/primitives/runtime/src/generic/checked_extrinsic.rs index 9314cc9d67caa..816c5248d6e64 100644 --- a/substrate/primitives/runtime/src/generic/checked_extrinsic.rs +++ b/substrate/primitives/runtime/src/generic/checked_extrinsic.rs @@ -147,8 +147,9 @@ impl> pub fn extension_weight(&self) -> Weight { match &self.format { ExtrinsicFormat::Bare => Weight::zero(), - ExtrinsicFormat::Signed(_, ext) | ExtrinsicFormat::General(_, ext) => - ext.weight(&self.function), + ExtrinsicFormat::Signed(_, ext) | ExtrinsicFormat::General(_, ext) => { + ext.weight(&self.function) + }, } } } diff --git a/substrate/primitives/runtime/src/generic/digest.rs b/substrate/primitives/runtime/src/generic/digest.rs index db9770e8f4a30..23854d92f2426 100644 --- a/substrate/primitives/runtime/src/generic/digest.rs +++ b/substrate/primitives/runtime/src/generic/digest.rs @@ -358,7 +358,9 @@ impl<'a> DigestItemRef<'a> { (OpaqueDigestItemId::Seal(w), &Self::Seal(v, s)) | (OpaqueDigestItemId::PreRuntime(w), &Self::PreRuntime(v, s)) if v == w => - Some(s), + { + Some(s) + }, (OpaqueDigestItemId::Other, &Self::Other(s)) => Some(s), _ => None, } @@ -443,14 +445,18 @@ mod tests { let check = |digest_item_type: DigestItemType| { let (variant_name, digest_item) = match digest_item_type { DigestItemType::Other => ("Other", DigestItem::Other(Default::default())), - DigestItemType::Consensus => - ("Consensus", DigestItem::Consensus(Default::default(), Default::default())), - DigestItemType::Seal => - ("Seal", DigestItem::Seal(Default::default(), Default::default())), - DigestItemType::PreRuntime => - ("PreRuntime", DigestItem::PreRuntime(Default::default(), Default::default())), - DigestItemType::RuntimeEnvironmentUpdated => - ("RuntimeEnvironmentUpdated", DigestItem::RuntimeEnvironmentUpdated), + DigestItemType::Consensus => { + ("Consensus", DigestItem::Consensus(Default::default(), Default::default())) + }, + DigestItemType::Seal => { + ("Seal", DigestItem::Seal(Default::default(), Default::default())) + }, + DigestItemType::PreRuntime => { + ("PreRuntime", DigestItem::PreRuntime(Default::default(), Default::default())) + }, + DigestItemType::RuntimeEnvironmentUpdated => { + ("RuntimeEnvironmentUpdated", DigestItem::RuntimeEnvironmentUpdated) + }, }; let encoded = digest_item.encode(); let variant = variants diff --git a/substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs b/substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs index 1b7d8d082b7ca..bd1b93bbd0fd5 100644 --- a/substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs +++ b/substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs @@ -200,8 +200,9 @@ where match self { Self::Bare(_) => write!(f, "Bare"), Self::Signed(address, _, tx_ext) => write!(f, "Signed({:?}, {:?})", address, tx_ext), - Self::General(ext_version, tx_ext) => - write!(f, "General({:?}, {:?})", ext_version, tx_ext), + Self::General(ext_version, tx_ext) => { + write!(f, "General({:?}, {:?})", ext_version, tx_ext) + }, } } } @@ -417,7 +418,7 @@ impl let encoded_call = Some(clone_bytes.1); if input.count() != len as u64 { - return Err("Invalid length prefix".into()) + return Err("Invalid length prefix".into()); } Ok(Self { preamble, function, encoded_call }) @@ -496,7 +497,7 @@ where tx_ext, )?; if !raw_payload.using_encoded(|payload| signature.verify(payload, &signed)) { - return Err(InvalidTransaction::BadProof.into()) + return Err(InvalidTransaction::BadProof.into()); } let (function, tx_ext, _) = raw_payload.deconstruct(); CheckedExtrinsic { format: ExtrinsicFormat::Signed(signed, tx_ext), function } @@ -505,8 +506,9 @@ where format: ExtrinsicFormat::General(extension_version, tx_ext), function: self.function, }, - Preamble::Bare(_) => - CheckedExtrinsic { format: ExtrinsicFormat::Bare, function: self.function }, + Preamble::Bare(_) => { + CheckedExtrinsic { format: ExtrinsicFormat::Bare, function: self.function } + }, }) } @@ -527,8 +529,9 @@ where format: ExtrinsicFormat::General(extension_version, tx_ext), function: self.function, }, - Preamble::Bare(_) => - CheckedExtrinsic { format: ExtrinsicFormat::Bare, function: self.function }, + Preamble::Bare(_) => { + CheckedExtrinsic { format: ExtrinsicFormat::Bare, function: self.function } + }, }) } } @@ -826,7 +829,7 @@ mod legacy { let is_signed = version & 0b1000_0000 != 0; let version = version & 0b0111_1111; if version != 4u8 { - return Err("Invalid transaction version".into()) + return Err("Invalid transaction version".into()); } let signature = is_signed.then(|| Decode::decode(input)).transpose()?; @@ -838,7 +841,7 @@ mod legacy { let length = before_length.saturating_sub(after_length); if length != expected_length.0 as usize { - return Err("Invalid length prefix".into()) + return Err("Invalid length prefix".into()); } } diff --git a/substrate/primitives/runtime/src/lib.rs b/substrate/primitives/runtime/src/lib.rs index 0f4b043a454ec..e72ef1455e23b 100644 --- a/substrate/primitives/runtime/src/lib.rs +++ b/substrate/primitives/runtime/src/lib.rs @@ -175,7 +175,7 @@ impl Justifications { /// not inserted. pub fn append(&mut self, justification: Justification) -> bool { if self.get(justification.0).is_some() { - return false + return false; } self.0.push(justification); true @@ -255,7 +255,7 @@ impl BuildStorage for sp_core::storage::Storage { if let Some(map) = storage.children_default.get_mut(&k) { map.data.extend(other_map.data.iter().map(|(k, v)| (k.clone(), v.clone()))); if !map.child_info.try_update(&other_map.child_info) { - return Err("Incompatible child info update".to_string()) + return Err("Incompatible child info update".to_string()); } } else { storage.children_default.insert(k, other_map.clone()); @@ -676,8 +676,9 @@ impl DispatchError { /// Return the same error but without the attached message. pub fn stripped(self) -> Self { match self { - DispatchError::Module(ModuleError { index, error, message: Some(_) }) => - DispatchError::Module(ModuleError { index, error, message: None }), + DispatchError::Module(ModuleError { index, error, message: Some(_) }) => { + DispatchError::Module(ModuleError { index, error, message: None }) + }, m => m, } } @@ -753,8 +754,9 @@ impl From for &'static str { TokenError::UnknownAsset => "The asset in question is unknown", TokenError::Frozen => "Funds exist but are frozen", TokenError::Unsupported => "Operation is not supported by the asset", - TokenError::CannotCreateHold => - "Account cannot be created for recording amount on hold", + TokenError::CannotCreateHold => { + "Account cannot be created for recording amount on hold" + }, TokenError::NotExpendable => "Account that is desired to remain would die", TokenError::Blocked => "Account cannot receive the assets", } diff --git a/substrate/primitives/runtime/src/offchain/http.rs b/substrate/primitives/runtime/src/offchain/http.rs index 90fd304cdf62e..99e7937ae9894 100644 --- a/substrate/primitives/runtime/src/offchain/http.rs +++ b/substrate/primitives/runtime/src/offchain/http.rs @@ -399,7 +399,7 @@ impl Iterator for ResponseBody { fn next(&mut self) -> Option { if self.error.is_some() { - return None + return None; } if self.filled_up_to.is_none() { @@ -408,7 +408,7 @@ impl Iterator for ResponseBody { match result { Err(e) => { self.error = Some(e); - return None + return None; }, Ok(0) => return None, Ok(size) => { @@ -420,7 +420,7 @@ impl Iterator for ResponseBody { if Some(self.position) == self.filled_up_to { self.filled_up_to = None; - return self.next() + return self.next(); } let result = self.buffer[self.position]; @@ -447,7 +447,7 @@ impl Headers { let raw = name.as_bytes(); for (key, val) in &self.raw { if &**key == raw { - return str::from_utf8(val).ok() + return str::from_utf8(val).ok(); } } None diff --git a/substrate/primitives/runtime/src/proving_trie/mod.rs b/substrate/primitives/runtime/src/proving_trie/mod.rs index bd5ddbe974292..2c272963439b9 100644 --- a/substrate/primitives/runtime/src/proving_trie/mod.rs +++ b/substrate/primitives/runtime/src/proving_trie/mod.rs @@ -41,7 +41,7 @@ use sp_trie::{trie_types::TrieError as SpTrieError, VerifyError}; )] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub enum TrieError { - /* From TrieError */ + // From TrieError /// Attempted to create a trie with a state root not in the DB. InvalidStateRoot, /// Trie item not found in the database, @@ -52,7 +52,7 @@ pub enum TrieError { DecoderError, /// Hash is not value. InvalidHash, - /* From VerifyError */ + // From VerifyError /// The statement being verified contains multiple key-value pairs with the same key. DuplicateKey, /// The proof contains at least one extraneous node. @@ -107,8 +107,9 @@ impl From for &'static str { match e { TrieError::InvalidStateRoot => "The state root is not in the database.", TrieError::IncompleteDatabase => "A trie item was not found in the database.", - TrieError::ValueAtIncompleteKey => - "A value was found with a key that is not byte-aligned.", + TrieError::ValueAtIncompleteKey => { + "A value was found with a key that is not byte-aligned." + }, TrieError::DecoderError => "A corrupt trie item was encountered.", TrieError::InvalidHash => "The hash does not match the expected value.", TrieError::DuplicateKey => "The proof contains duplicate keys.", diff --git a/substrate/primitives/runtime/src/testing.rs b/substrate/primitives/runtime/src/testing.rs index 647f5eb78d5e1..b0a29adb40f07 100644 --- a/substrate/primitives/runtime/src/testing.rs +++ b/substrate/primitives/runtime/src/testing.rs @@ -125,12 +125,12 @@ impl sp_application_crypto::RuntimeAppPublic for UintAuthorityId { traits::Verify::verify(signature, msg.as_ref(), &self.0) } - fn generate_proof_of_possession(&mut self, _owner: &[u8]) -> Option { - None + fn generate_proof_of_possession(&mut self, owner: &[u8]) -> Option { + Some(TestSignature(self.0, owner.to_vec())) } - fn verify_proof_of_possession(&self, _owner: &[u8], _pop: &Self::Signature) -> bool { - false + fn verify_proof_of_possession(&self, owner: &[u8], pop: &Self::Signature) -> bool { + traits::Verify::verify(pop, owner, &self.0) } fn to_raw_vec(&self) -> Vec { @@ -152,6 +152,10 @@ impl OpaqueKeys for UintAuthorityId { fn get(&self, _: KeyTypeId) -> Option { self.using_encoded(|mut x| T::decode(&mut x)).ok() } + + fn ownership_proof_is_valid(&self, _: &[u8], _: &[u8]) -> bool { + true + } } impl traits::IdentifyAccount for UintAuthorityId { diff --git a/substrate/primitives/runtime/src/traits/mod.rs b/substrate/primitives/runtime/src/traits/mod.rs index 77eed09a54979..874bc53542e01 100644 --- a/substrate/primitives/runtime/src/traits/mod.rs +++ b/substrate/primitives/runtime/src/traits/mod.rs @@ -24,7 +24,7 @@ use crate::{ TransactionSource, TransactionValidity, TransactionValidityError, UnknownTransaction, ValidTransaction, }, - DispatchResult, OpaqueExtrinsic, + DispatchResult, KeyTypeId, OpaqueExtrinsic, }; use alloc::vec::Vec; use codec::{ @@ -105,6 +105,14 @@ impl IdentifyAccount for sp_core::ecdsa::Public { } } +#[cfg(feature = "bls-experimental")] +impl IdentifyAccount for sp_core::ecdsa_bls381::Public { + type AccountId = Self; + fn into_account(self) -> Self { + self + } +} + /// Means of signature verification. pub trait Verify { /// Type of the signer. @@ -148,6 +156,14 @@ impl Verify for sp_core::ecdsa::Signature { } } +#[cfg(feature = "bls-experimental")] +impl Verify for sp_core::ecdsa_bls381::Signature { + type Signer = sp_core::ecdsa_bls381::Public; + fn verify>(&self, mut msg: L, signer: &sp_core::ecdsa_bls381::Public) -> bool { + ::verify(self, msg.get(), signer) + } +} + /// Means of signature verification of an application key. pub trait AppVerify { /// Type of the signer. @@ -1913,21 +1929,25 @@ pub trait ValidateUnsigned { /// Opaque data type that may be destructured into a series of raw byte slices (which represent /// individual keys). pub trait OpaqueKeys: Clone { - /// Types bound to this opaque keys that provide the key type ids returned. + /// The types that are bound to the [`KeyTypeId`]s. + /// + /// They can be seen as the ones working with the keys associated to the [`KeyTypeId`]s. type KeyTypeIdProviders; /// Return the key-type IDs supported by this set. - fn key_ids() -> &'static [crate::KeyTypeId]; + fn key_ids() -> &'static [KeyTypeId]; + /// Get the raw bytes of key with key-type ID `i`. - fn get_raw(&self, i: super::KeyTypeId) -> &[u8]; + fn get_raw(&self, i: KeyTypeId) -> &[u8]; + /// Get the decoded key with key-type ID `i`. - fn get(&self, i: super::KeyTypeId) -> Option { + fn get(&self, i: KeyTypeId) -> Option { T::decode(&mut self.get_raw(i)).ok() } - /// Verify a proof of ownership for the keys. - fn ownership_proof_is_valid(&self, _proof: &[u8]) -> bool { - true - } + + /// Proof the ownership of `owner` over the keys using `proof`. + #[must_use] + fn ownership_proof_is_valid(&self, owner: &[u8], proof: &[u8]) -> bool; } /// Input that adds infinite number of zero after wrapped input. @@ -1963,7 +1983,7 @@ impl<'a, T: codec::Input> codec::Input for AppendZerosInput<'a, T> { into[i] = b; i += 1; } else { - break + break; } } i @@ -2080,7 +2100,7 @@ impl AccountIdConversion fo fn try_from_sub_account(x: &T) -> Option<(Self, S)> { x.using_encoded(|d| { if d[0..4] != Id::TYPE_ID { - return None + return None; } let mut cursor = &d[4..]; let result = Decode::decode(&mut cursor).ok()?; @@ -2123,9 +2143,12 @@ macro_rules! impl_opaque_keys_inner { $( #[ $inner_attr:meta ] )* pub $field:ident: $type:ty, )* - } + }, + $crate_path:path, ) => { $( #[ $attr ] )* + /// + #[doc = concat!("Generated by [`impl_opaque_keys!`](", stringify!($crate_path),"::impl_opaque_keys).")] #[derive( Clone, PartialEq, Eq, $crate::codec::Encode, @@ -2146,9 +2169,30 @@ macro_rules! impl_opaque_keys_inner { /// /// The generated key pairs are stored in the keystore. /// - /// Returns the concatenated SCALE encoded public keys. - pub fn generate(seed: Option<$crate::Vec>) -> $crate::Vec { - let keys = Self{ + /// - `owner`: Some bytes that will be signed by the generated private keys. + /// These signatures are put into a tuple in the same order as the public keys. + /// The SCALE encoded signature tuple corresponds to the `proof` returned by this + /// function. + /// + /// - `seed`: Optional `seed` for seeding the private key generation. + /// + /// Returns the generated public session keys and proof. + #[allow(dead_code)] + pub fn generate( + owner: &[u8], + seed: Option<$crate::sp_std::vec::Vec>, + ) -> $crate::traits::GeneratedSessionKeys< + Self, + ( + $( + < + <$type as $crate::BoundToRuntimeAppPublic>::Public + as $crate::RuntimeAppPublic + >::ProofOfPossession + ),* + ) + > { + let mut keys = Self { $( $field: < < @@ -2157,10 +2201,18 @@ macro_rules! impl_opaque_keys_inner { >::generate_pair(seed.clone()), )* }; - $crate::codec::Encode::encode(&keys) + + let proof = keys.create_ownership_proof(owner) + .expect("Private key that was generated a moment ago, should exist; qed"); + + $crate::traits::GeneratedSessionKeys { + keys, + proof + } } /// Converts `Self` into a `Vec` of `(raw public key, KeyTypeId)`. + #[allow(dead_code)] pub fn into_raw_public_keys( self, ) -> $crate::Vec<($crate::Vec, $crate::KeyTypeId)> { @@ -2183,6 +2235,7 @@ macro_rules! impl_opaque_keys_inner { /// keys (see [`Self::into_raw_public_keys`]). /// /// Returns `None` when the decoding failed, otherwise `Some(_)`. + #[allow(dead_code)] pub fn decode_into_raw_public_keys( encoded: &[u8], ) -> Option<$crate::Vec<($crate::Vec, $crate::KeyTypeId)>> { @@ -2190,6 +2243,37 @@ macro_rules! impl_opaque_keys_inner { .ok() .map(|s| s.into_raw_public_keys()) } + + /// Create the ownership proof. + /// + /// - `owner`: Some bytes that will be signed by the private keys associated to the + /// public keys in this session key object. These signatures are put into a tuple in + /// the same order as the public keys. The SCALE encoded signature tuple corresponds + /// to the `proof` returned by this function. + /// + /// Returns the SCALE encoded proof that will proof the ownership of the keys for `user`. + /// An error is returned if the signing of `user` failed, e.g. a private key isn't present in the keystore. + #[allow(dead_code)] + pub fn create_ownership_proof( + &mut self, + owner: &[u8], + ) -> $crate::sp_std::result::Result< + ( + $( + < + <$type as $crate::BoundToRuntimeAppPublic>::Public + as $crate::RuntimeAppPublic + >::ProofOfPossession + ),* + ), + () + > { + let res = ($( + $crate::RuntimeAppPublic::generate_proof_of_possession(&mut self.$field, &owner).ok_or(())? + ),*); + + Ok(res) + } } impl $crate::traits::OpaqueKeys for $name { @@ -2220,14 +2304,62 @@ macro_rules! impl_opaque_keys_inner { _ => &[], } } + + fn ownership_proof_is_valid(&self, owner: &[u8], proof: &[u8]) -> bool { + // The proof is expected to be a tuple of all the signatures. + let Ok(proof) = <($( + < + < + $type as $crate::BoundToRuntimeAppPublic + >::Public as $crate::RuntimeAppPublic + >::ProofOfPossession + ),*) as $crate::codec::DecodeAll>::decode_all(&mut &proof[..]) else { + return false + }; + + // "unpack" the proof so that we can access the individual signatures. + let ( $( $field ),* ) = proof; + + // Verify that all the signatures signed `owner`. + $( + let valid = $crate::RuntimeAppPublic::verify_proof_of_possession(&self.$field, &owner, &$field); + + if !valid { + // We found an invalid signature. + return false + } + )* + + true + } } }; } -/// Implement `OpaqueKeys` for a described struct. +/// The output of generating session keys. +/// +/// Contains the public session keys and a `proof` to verify the ownership of these keys. +/// +/// To generate session keys the [`impl_opaque_keys!`](crate::impl_opaque_keys) needs to be used +/// first to create the session keys type and this type provides the `generate` function. +#[derive(Debug, Clone, Encode, Decode, TypeInfo)] +pub struct GeneratedSessionKeys { + /// The opaque public session keys for registering on-chain. + pub keys: Keys, + /// The opaque proof to verify the ownership of the keys. + pub proof: Proof, +} + +/// Implement [`OpaqueKeys`] for a described struct. /// /// Every field type must implement [`BoundToRuntimeAppPublic`](crate::BoundToRuntimeAppPublic). -/// `KeyTypeIdProviders` is set to the types given as fields. +/// The [`KeyTypeIdProviders`](OpaqueKeys::KeyTypeIdProviders) type is set to tuple of all field +/// types passed to the macro. +/// +/// The `proof` type used by the generated session keys for +/// [`ownership_proof_is_valid`](OpaqueKeys::ownership_proof_is_valid) is the SCALE encoded tuple of +/// all signatures. The order of the signatures is the same as the order of the fields in the +/// struct. Each signature is created by signing the `owner` given to the `generate` function. /// /// ```rust /// use sp_runtime::{ @@ -2271,7 +2403,8 @@ macro_rules! impl_opaque_keys { $( #[ $inner_attr ] )* pub $field: $type, )* - } + }, + $crate, } } } @@ -2297,7 +2430,8 @@ macro_rules! impl_opaque_keys { $( #[ $inner_attr ] )* pub $field: $type, )* - } + }, + $crate, } } } @@ -2457,10 +2591,15 @@ impl BlockNumberProvider for () { mod tests { use super::*; use crate::codec::{Decode, Encode, Input}; + #[cfg(feature = "bls-experimental")] + use sp_core::ecdsa_bls381; use sp_core::{ crypto::{Pair, UncheckedFrom}, - ecdsa, ed25519, sr25519, + ecdsa, ed25519, + proof_of_possession::ProofOfPossessionGenerator, + sr25519, }; + use std::sync::Arc; macro_rules! signature_verify_test { ($algorithm:ident) => { @@ -2599,4 +2738,100 @@ mod tests { fn ecdsa_verify_works() { signature_verify_test!(ecdsa); } + + #[test] + #[cfg(feature = "bls-experimental")] + fn ecdsa_bls381_verify_works() { + signature_verify_test!(ecdsa_bls381); + } + + pub struct Sr25519Key; + impl crate::BoundToRuntimeAppPublic for Sr25519Key { + type Public = sp_application_crypto::sr25519::AppPublic; + } + + pub struct Ed25519Key; + impl crate::BoundToRuntimeAppPublic for Ed25519Key { + type Public = sp_application_crypto::ed25519::AppPublic; + } + + pub struct EcdsaKey; + impl crate::BoundToRuntimeAppPublic for EcdsaKey { + type Public = sp_application_crypto::ecdsa::AppPublic; + } + + impl_opaque_keys! { + /// Some comment + pub struct SessionKeys { + pub sr25519: Sr25519Key, + pub ed25519: Ed25519Key, + pub ecdsa: EcdsaKey, + } + } + + #[test] + fn opaque_keys_ownership_proof_works() { + let mut sr25519 = sp_core::sr25519::Pair::generate().0; + let mut ed25519 = sp_core::ed25519::Pair::generate().0; + let mut ecdsa = sp_core::ecdsa::Pair::generate().0; + + let session_keys = SessionKeys { + sr25519: sr25519.public().into(), + ed25519: ed25519.public().into(), + ecdsa: ecdsa.public().into(), + }; + + let owner = &b"owner"[..]; + + let sr25519_sig = sr25519.generate_proof_of_possession(&owner); + let ed25519_sig = ed25519.generate_proof_of_possession(&owner); + let ecdsa_sig = ecdsa.generate_proof_of_possession(&owner); + + for invalidate in [None, Some(0), Some(1), Some(2)] { + let proof = if let Some(invalidate) = invalidate { + match invalidate { + 0 => ( + sr25519.generate_proof_of_possession(&b"invalid"[..]), + &ed25519_sig, + &ecdsa_sig, + ) + .encode(), + 1 => ( + &sr25519_sig, + ed25519.generate_proof_of_possession(&b"invalid"[..]), + &ecdsa_sig, + ) + .encode(), + 2 => ( + &sr25519_sig, + &ed25519_sig, + ecdsa.generate_proof_of_possession(&b"invalid"[..]), + ) + .encode(), + _ => unreachable!(), + } + } else { + (&sr25519_sig, &ed25519_sig, &ecdsa_sig).encode() + }; + + assert_eq!(session_keys.ownership_proof_is_valid(owner, &proof), invalidate.is_none()); + } + + // Ensure that a `proof` with extra junk data is rejected. + let proof = (&sr25519_sig, &ed25519_sig, &ecdsa_sig, "hello").encode(); + assert!(!session_keys.ownership_proof_is_valid(owner, &proof)); + + let mut ext = sp_io::TestExternalities::default(); + ext.register_extension(sp_keystore::KeystoreExt(Arc::new( + sp_keystore::testing::MemoryKeystore::new(), + ))); + + ext.execute_with(|| { + let session_keys = SessionKeys::generate(&owner, None); + + assert!(session_keys + .keys + .ownership_proof_is_valid(&owner, &session_keys.proof.encode())); + }); + } } diff --git a/substrate/primitives/runtime/src/traits/transaction_extension/dispatch_transaction.rs b/substrate/primitives/runtime/src/traits/transaction_extension/dispatch_transaction.rs index 1fbaab0d45ac1..7bb5347160491 100644 --- a/substrate/primitives/runtime/src/traits/transaction_extension/dispatch_transaction.rs +++ b/substrate/primitives/runtime/src/traits/transaction_extension/dispatch_transaction.rs @@ -115,8 +115,9 @@ where source, ) { // After validation, some origin must have been authorized. - Ok((_, _, origin)) if !origin.is_transaction_authorized() => - Err(InvalidTransaction::UnknownOrigin.into()), + Ok((_, _, origin)) if !origin.is_transaction_authorized() => { + Err(InvalidTransaction::UnknownOrigin.into()) + }, res => res, } } diff --git a/substrate/primitives/runtime/src/transaction_validity.rs b/substrate/primitives/runtime/src/transaction_validity.rs index f7ef14317856f..30a63dd7616a2 100644 --- a/substrate/primitives/runtime/src/transaction_validity.rs +++ b/substrate/primitives/runtime/src/transaction_validity.rs @@ -112,18 +112,23 @@ impl From for &'static str { InvalidTransaction::BadProof => "Transaction has a bad signature", InvalidTransaction::AncientBirthBlock => "Transaction has an ancient birth block", InvalidTransaction::ExhaustsResources => "Transaction would exhaust the block limits", - InvalidTransaction::Payment => - "Inability to pay some fees (e.g. account balance too low)", - InvalidTransaction::BadMandatory => - "A call was labelled as mandatory, but resulted in an Error.", - InvalidTransaction::MandatoryValidation => - "Transaction dispatch is mandatory; transactions must not be validated.", + InvalidTransaction::Payment => { + "Inability to pay some fees (e.g. account balance too low)" + }, + InvalidTransaction::BadMandatory => { + "A call was labelled as mandatory, but resulted in an Error." + }, + InvalidTransaction::MandatoryValidation => { + "Transaction dispatch is mandatory; transactions must not be validated." + }, InvalidTransaction::Custom(_) => "InvalidTransaction custom error", InvalidTransaction::BadSigner => "Invalid signing address", - InvalidTransaction::IndeterminateImplicit => - "The implicit data was unable to be calculated", - InvalidTransaction::UnknownOrigin => - "The transaction extension did not authorize any origin", + InvalidTransaction::IndeterminateImplicit => { + "The implicit data was unable to be calculated" + }, + InvalidTransaction::UnknownOrigin => { + "The transaction extension did not authorize any origin" + }, } } } @@ -145,10 +150,12 @@ pub enum UnknownTransaction { impl From for &'static str { fn from(unknown: UnknownTransaction) -> &'static str { match unknown { - UnknownTransaction::CannotLookup => - "Could not lookup information required to validate the transaction", - UnknownTransaction::NoUnsignedValidator => - "Could not find an unsigned validator for the unsigned transaction", + UnknownTransaction::CannotLookup => { + "Could not lookup information required to validate the transaction" + }, + UnknownTransaction::NoUnsignedValidator => { + "Could not find an unsigned validator for the unsigned transaction" + }, UnknownTransaction::Custom(_) => "UnknownTransaction custom error", } } diff --git a/substrate/primitives/session/Cargo.toml b/substrate/primitives/session/Cargo.toml index 72be81c1222ef..b9c3f34aabeee 100644 --- a/substrate/primitives/session/Cargo.toml +++ b/substrate/primitives/session/Cargo.toml @@ -21,7 +21,7 @@ scale-info = { features = ["derive"], workspace = true } sp-api = { workspace = true } sp-core = { workspace = true } sp-keystore = { optional = true, workspace = true } -sp-runtime = { optional = true, workspace = true } +sp-runtime = { workspace = true } sp-staking = { workspace = true } [features] diff --git a/substrate/primitives/session/src/lib.rs b/substrate/primitives/session/src/lib.rs index 79de8214f95dd..197cdbf069306 100644 --- a/substrate/primitives/session/src/lib.rs +++ b/substrate/primitives/session/src/lib.rs @@ -115,18 +115,30 @@ where T: ProvideRuntimeApi, T::Api: SessionKeys, { - use sp_api::ApiExt; + use sp_api::{ApiError, ApiExt}; if seeds.is_empty() { - return Ok(()) + return Ok(()); } let mut runtime_api = client.runtime_api(); + let version = runtime_api.api_version::>(at)?.ok_or_else(|| { + ApiError::Application(Box::from("Could not find `SessionKeys` runtime api")) + })?; + runtime_api.register_extension(sp_keystore::KeystoreExt::from(keystore)); for seed in seeds { - runtime_api.generate_session_keys(at, Some(seed.as_bytes().to_vec()))?; + let seed = Some(seed.as_bytes().to_vec()); + + if version < 2 { + #[allow(deprecated)] + runtime_api.generate_session_keys_before_version_2(at, seed.clone())?; + } else { + // `owner` isn't important here as we don't need a `proof`. + runtime_api.generate_session_keys(at, vec![], seed.clone())?; + } } Ok(()) diff --git a/substrate/primitives/session/src/runtime_api.rs b/substrate/primitives/session/src/runtime_api.rs index 3acc882aabcff..7e8535fd5433c 100644 --- a/substrate/primitives/session/src/runtime_api.rs +++ b/substrate/primitives/session/src/runtime_api.rs @@ -16,10 +16,28 @@ // limitations under the License. use alloc::vec::Vec; +use codec::{Decode, Encode}; pub use sp_core::crypto::KeyTypeId; +use sp_runtime::traits::GeneratedSessionKeys; + +/// Opaque [`GeneratedSessionKeys`]. +#[derive(Debug, Default, Decode, Encode, scale_info::TypeInfo)] +pub struct OpaqueGeneratedSessionKeys { + /// The public session keys. + pub keys: Vec, + /// The proof proving the ownership of the public session keys for some owner. + pub proof: Vec, +} + +impl From> for OpaqueGeneratedSessionKeys { + fn from(value: GeneratedSessionKeys) -> Self { + Self { keys: value.keys.encode(), proof: value.proof.encode() } + } +} sp_api::decl_runtime_apis! { /// Session keys runtime api. + #[api_version(2)] pub trait SessionKeys { /// Generate a set of session keys with optionally using the given seed. /// The keys should be stored within the keystore exposed via runtime @@ -28,11 +46,14 @@ sp_api::decl_runtime_apis! { /// The seed needs to be a valid `utf8` string. /// /// Returns the concatenated SCALE encoded public keys. + fn generate_session_keys(owner: Vec, seed: Option>) -> OpaqueGeneratedSessionKeys; + + #[changed_in(2)] fn generate_session_keys(seed: Option>) -> Vec; /// Decode the given public session keys. /// /// Returns the list of public raw public keys + key type. - fn decode_session_keys(encoded: Vec) -> Option, sp_core::crypto::KeyTypeId)>>; + fn decode_session_keys(encoded: Vec) -> Option, KeyTypeId)>>; } } diff --git a/substrate/primitives/staking/src/lib.rs b/substrate/primitives/staking/src/lib.rs index 54cfdf16187bf..91a5e6f0f8263 100644 --- a/substrate/primitives/staking/src/lib.rs +++ b/substrate/primitives/staking/src/lib.rs @@ -198,8 +198,24 @@ pub trait StakingInterface { fn stash_by_ctrl(controller: &Self::AccountId) -> Result; /// Number of eras that staked funds must remain bonded for. + /// + /// This is the full bonding duration used by validators and recent ex-validators. fn bonding_duration() -> EraIndex; + /// Number of eras that staked funds of a pure nominator must remain bonded for. + /// + /// Same as [`Self::bonding_duration`] by default, but can be lower for pure nominators + /// (who have not been validators in recent eras) when nominators are not slashable. + /// + /// Note: The actual unbonding duration for a specific account may vary: + /// - Validators always use [`Self::bonding_duration`] + /// - Nominators who were recently validators use [`Self::bonding_duration`] + /// - Pure nominators (never validators, or not validators in recent eras) may use a shorter + /// duration when not slashable + fn nominator_bonding_duration() -> EraIndex { + Self::bonding_duration() + } + /// The current era index. /// /// This should be the latest planned era that the staking system knows about. diff --git a/substrate/primitives/state-machine/src/basic.rs b/substrate/primitives/state-machine/src/basic.rs index 7edf9b6f96823..087c723e04f61 100644 --- a/substrate/primitives/state-machine/src/basic.rs +++ b/substrate/primitives/state-machine/src/basic.rs @@ -209,7 +209,7 @@ impl Externalities for BasicExternalities { fn place_storage(&mut self, key: StorageKey, maybe_value: Option) { if is_child_storage_key(&key) { warn!(target: "trie", "Refuse to set child storage key via main storage"); - return + return; } self.overlay.set_storage(key, maybe_value) @@ -246,7 +246,7 @@ impl Externalities for BasicExternalities { "Refuse to clear prefix that is part of child storage key via main storage" ); let maybe_cursor = Some(prefix.to_vec()); - return MultiRemovalResults { maybe_cursor, backend: 0, unique: 0, loops: 0 } + return MultiRemovalResults { maybe_cursor, backend: 0, unique: 0, loops: 0 }; } let count = self.overlay.clear_prefix(prefix); diff --git a/substrate/primitives/state-machine/src/ext.rs b/substrate/primitives/state-machine/src/ext.rs index 62f76124a9564..29c48348889c0 100644 --- a/substrate/primitives/state-machine/src/ext.rs +++ b/substrate/primitives/state-machine/src/ext.rs @@ -275,11 +275,11 @@ where // If `backend_key` is less than the `overlay_key`, we found out next key. if cmp == Some(Ordering::Less) { - return next_backend_key + return next_backend_key; } else if overlay_key.1.value().is_some() { // If there exists a value for the `overlay_key` in the overlay // (aka the key is still valid), it means we have found our next key. - return Some(overlay_key.0.to_vec()) + return Some(overlay_key.0.to_vec()); } else if cmp == Some(Ordering::Equal) { // If the `backend_key` and `overlay_key` are equal, it means that we need // to search for the next backend key, because the overlay has overwritten @@ -316,11 +316,11 @@ where // If `backend_key` is less than the `overlay_key`, we found out next key. if cmp == Some(Ordering::Less) { - return next_backend_key + return next_backend_key; } else if overlay_key.1.value().is_some() { // If there exists a value for the `overlay_key` in the overlay // (aka the key is still valid), it means we have found our next key. - return Some(overlay_key.0.to_vec()) + return Some(overlay_key.0.to_vec()); } else if cmp == Some(Ordering::Equal) { // If the `backend_key` and `overlay_key` are equal, it means that we need // to search for the next backend key, because the overlay has overwritten @@ -345,7 +345,7 @@ where let _guard = guard(); if is_child_storage_key(&key) { warn!(target: "trie", "Refuse to directly set child storage key"); - return + return; } // NOTE: be careful about touching the key names – used outside substrate! @@ -423,7 +423,7 @@ where target: "trie", "Refuse to directly clear prefix that is part or contains of child storage key", ); - return MultiRemovalResults { maybe_cursor: None, backend: 0, unique: 0, loops: 0 } + return MultiRemovalResults { maybe_cursor: None, backend: 0, unique: 0, loops: 0 }; } let overlay = self.overlay.clear_prefix(prefix); @@ -660,7 +660,7 @@ where Ok(iter) => iter, Err(error) => { log::debug!(target: "trie", "Error while iterating the storage: {}", error); - return (None, 0, 0) + return (None, 0, 0); }, }; @@ -672,13 +672,13 @@ where Ok(key) => key, Err(error) => { log::debug!(target: "trie", "Error while iterating the storage: {}", error); - break + break; }, }; if maybe_limit.map_or(false, |limit| loop_count == limit) { maybe_next_key = Some(key); - break + break; } let overlay = match child_info { Some(child_info) => self.overlay.child_storage(child_info, &key), diff --git a/substrate/primitives/state-machine/src/fuzzing.rs b/substrate/primitives/state-machine/src/fuzzing.rs index e147e6e88003c..efe92cb818379 100644 --- a/substrate/primitives/state-machine/src/fuzzing.rs +++ b/substrate/primitives/state-machine/src/fuzzing.rs @@ -187,7 +187,7 @@ where }, FuzzAppendItem::RollbackTransaction => { if self.transaction_depth == 0 { - return + return; } self.transaction_depth -= 1; self.reference.rollback_transaction(); @@ -195,7 +195,7 @@ where }, FuzzAppendItem::CommitTransaction => { if self.transaction_depth == 0 { - return + return; } self.transaction_depth -= 1; self.reference.commit_transaction(); diff --git a/substrate/primitives/state-machine/src/lib.rs b/substrate/primitives/state-machine/src/lib.rs index d31348c330ac3..c552c6f639218 100644 --- a/substrate/primitives/state-machine/src/lib.rs +++ b/substrate/primitives/state-machine/src/lib.rs @@ -502,7 +502,7 @@ mod execution { last: &mut SmallVec<[Vec; 2]>, ) -> bool { if stopped_at == 0 || stopped_at > MAX_NESTED_TRIE_DEPTH { - return false + return false; } match stopped_at { 1 => { @@ -512,7 +512,7 @@ mod execution { match last.len() { 0 => { last.push(top_last); - return true + return true; }, 2 => { last.pop(); @@ -521,12 +521,12 @@ mod execution { } // update top trie access. last[0] = top_last; - return true + return true; } else { // No change in top trie accesses. // Indicates end of reading of a child trie. last.truncate(1); - return true + return true; } }, 2 => { @@ -540,7 +540,7 @@ mod execution { if let Some(top_last) = top_last { last.push(top_last) } else { - return false + return false; } } else if let Some(top_last) = top_last { last[0] = top_last; @@ -549,10 +549,10 @@ mod execution { last.pop(); } last.push(child_last); - return true + return true; } else { // stopped at level 2 so child last is define. - return false + return false; } }, _ => (), @@ -596,7 +596,7 @@ mod execution { H::Out: Ord + Codec, { if start_at.len() > MAX_NESTED_TRIE_DEPTH { - return Err(Box::new("Invalid start of range.")) + return Err(Box::new("Invalid start of range.")); } let recorder = sp_trie::recorder::Recorder::default(); @@ -613,7 +613,7 @@ mod execution { { child_roots.insert(state_root); } else { - return Err(Box::new("Invalid range start child trie key.")) + return Err(Box::new("Invalid range start child trie key.")); } (Some(storage_key), start_at.get(1).cloned()) @@ -626,8 +626,9 @@ mod execution { let storage_key = PrefixedStorageKey::new_ref(storage_key); ( Some(match ChildType::from_prefixed_key(storage_key) { - Some((ChildType::ParentKeyId, storage_key)) => - ChildInfo::new_default(storage_key), + Some((ChildType::ParentKeyId, storage_key)) => { + ChildInfo::new_default(storage_key) + }, None => return Err(Box::new("Invalid range start child trie key.")), }), 2, @@ -658,12 +659,12 @@ mod execution { if !child_roots.contains(value.as_slice()) { child_roots.insert(value); switch_child_key = Some(key); - break + break; } } else if recorder.estimate_encoded_size() <= size_limit { count += 1; } else { - break + break; } } @@ -671,11 +672,11 @@ mod execution { if switch_child_key.is_none() { if depth == 1 { - break + break; } else if completed { start_at = child_key.take(); } else { - break + break; } } else { child_key = switch_child_key; @@ -746,7 +747,7 @@ mod execution { if count == 0 || recorder.estimate_encoded_size() <= size_limit { count += 1; } else { - break + break; } } @@ -969,7 +970,7 @@ mod execution { let (key, value) = item.map_err(|e| Box::new(e) as Box)?; values.push((key, value)); if !count.as_ref().map_or(true, |c| (values.len() as u32) < *c) { - break + break; } } @@ -993,7 +994,7 @@ mod execution { parent_storage_keys: Default::default(), }]; if start_at.len() > MAX_NESTED_TRIE_DEPTH { - return Err(Box::new("Invalid start of range.")) + return Err(Box::new("Invalid start of range.")); } let mut child_roots = HashSet::new(); @@ -1006,7 +1007,7 @@ mod execution { child_roots.insert(state_root.clone()); Some((storage_key, state_root)) } else { - return Err(Box::new("Invalid range start child trie key.")) + return Err(Box::new("Invalid range start child trie key.")); }; (child_key, start_at.get(1).cloned()) @@ -1025,8 +1026,9 @@ mod execution { let storage_key = PrefixedStorageKey::new_ref(storage_key); ( Some(match ChildType::from_prefixed_key(storage_key) { - Some((ChildType::ParentKeyId, storage_key)) => - ChildInfo::new_default(storage_key), + Some((ChildType::ParentKeyId, storage_key)) => { + ChildInfo::new_default(storage_key) + }, None => return Err(Box::new("Invalid range start child trie key.")), }), 2, @@ -1064,7 +1066,7 @@ mod execution { if !child_roots.contains(value.as_slice()) { child_roots.insert(value.clone()); switch_child_key = Some((key, value)); - break + break; } } } @@ -1073,10 +1075,10 @@ mod execution { if switch_child_key.is_none() { if !completed { - break depth + break depth; } if depth == 1 { - break 0 + break 0; } else { start_at = child_key.take().map(|entry| entry.0); } @@ -1713,7 +1715,7 @@ mod tests { key.clone(), Some(value.clone()), )); - break + break; } } } @@ -1904,7 +1906,7 @@ mod tests { .unwrap(); if completed_depth == 0 { - break + break; } assert!(result.update_last_key(completed_depth, &mut start_at)); } diff --git a/substrate/primitives/state-machine/src/overlayed_changes/changeset.rs b/substrate/primitives/state-machine/src/overlayed_changes/changeset.rs index 71f124dc04aa3..7d0cecf783ce8 100644 --- a/substrate/primitives/state-machine/src/overlayed_changes/changeset.rs +++ b/substrate/primitives/state-machine/src/overlayed_changes/changeset.rs @@ -148,7 +148,7 @@ impl StorageEntry { if let StorageEntry::Append { data, materialized_length, current_length, .. } = self { let current_length = *current_length; if materialized_length.map_or(false, |m| m == current_length) { - return + return; } StorageAppend::new(data).replace_length(*materialized_length, current_length); *materialized_length = Some(current_length); @@ -596,7 +596,7 @@ impl OverlayedMap { /// Calling this while already inside the runtime will return an error. pub fn enter_runtime(&mut self) -> Result<(), AlreadyInRuntime> { if let ExecutionMode::Runtime = self.execution_mode { - return Err(AlreadyInRuntime) + return Err(AlreadyInRuntime); } self.execution_mode = ExecutionMode::Runtime; self.num_client_transactions = self.transaction_depth(); @@ -609,7 +609,7 @@ impl OverlayedMap { /// Calling this while already outside the runtime will return an error. pub fn exit_runtime_offchain(&mut self) -> Result<(), NotInRuntime> { if let ExecutionMode::Client = self.execution_mode { - return Err(NotInRuntime) + return Err(NotInRuntime); } self.execution_mode = ExecutionMode::Client; if self.has_open_runtime_transactions() { @@ -657,7 +657,7 @@ impl OverlayedMap { if matches!(self.execution_mode, ExecutionMode::Runtime) && !self.has_open_runtime_transactions() { - return Err(NoOpenTransaction) + return Err(NoOpenTransaction); } for key in self.dirty_keys.pop().ok_or(NoOpenTransaction)? { @@ -728,7 +728,7 @@ impl OverlayedChangeSet { if matches!(self.execution_mode, ExecutionMode::Runtime) && !self.has_open_runtime_transactions() { - return Err(NoOpenTransaction) + return Err(NoOpenTransaction); } for key in self.dirty_keys.pop().ok_or(NoOpenTransaction)? { @@ -840,7 +840,7 @@ impl OverlayedChangeSet { /// Calling this while already outside the runtime will return an error. pub fn exit_runtime(&mut self) -> Result<(), NotInRuntime> { if matches!(self.execution_mode, ExecutionMode::Client) { - return Err(NotInRuntime) + return Err(NotInRuntime); } self.execution_mode = ExecutionMode::Client; diff --git a/substrate/primitives/state-machine/src/overlayed_changes/mod.rs b/substrate/primitives/state-machine/src/overlayed_changes/mod.rs index 5157df59d8469..a60dd65a74e4b 100644 --- a/substrate/primitives/state-machine/src/overlayed_changes/mod.rs +++ b/substrate/primitives/state-machine/src/overlayed_changes/mod.rs @@ -651,7 +651,7 @@ impl OverlayedChanges { H::Out: Ord + Encode, { if let Some(cache) = &self.storage_transaction_cache { - return (cache.transaction_storage_root, true) + return (cache.transaction_storage_root, true); } let delta = self.top.changes_mut().map(|(k, v)| (&k[..], v.value().map(|v| &v[..]))); @@ -696,7 +696,7 @@ impl OverlayedChanges { // V1 is equivalent to V0 on empty root. .unwrap_or_else(empty_child_trie_root::>); - return Ok((root, true)) + return Ok((root, true)); } let root = if let Some((changes, info)) = self.child_changes_mut(storage_key) { diff --git a/substrate/primitives/state-machine/src/testing.rs b/substrate/primitives/state-machine/src/testing.rs index b96cc6874f416..4d044e6933437 100644 --- a/substrate/primitives/state-machine/src/testing.rs +++ b/substrate/primitives/state-machine/src/testing.rs @@ -169,7 +169,7 @@ where if key.len() < hash_len { log::warn!("Invalid key in `from_raw_snapshot`: {key:?}"); - continue + continue; } hash.as_mut().copy_from_slice(&key[(key.len() - hash_len)..]); diff --git a/substrate/primitives/state-machine/src/trie_backend_essence.rs b/substrate/primitives/state-machine/src/trie_backend_essence.rs index 4ecfca0c85ad0..ba9c9d8858fc1 100644 --- a/substrate/primitives/state-machine/src/trie_backend_essence.rs +++ b/substrate/primitives/state-machine/src/trie_backend_essence.rs @@ -115,7 +115,7 @@ where ) -> Option::Out>>>>, ) -> Option> { if !matches!(self.state, IterState::Pending) { - return None + return None; } let result = backend.with_trie_db(self.root, self.child_info.as_ref(), |db| { @@ -407,7 +407,7 @@ where #[cfg(feature = "std")] { if let Some(result) = self.cache.read().child_root.get(child_info.storage_key()) { - return Ok(*result) + return Ok(*result); } } @@ -596,7 +596,7 @@ where if self.root == Default::default() { // A special-case for an empty storage root. - return Ok(Default::default()) + return Ok(Default::default()); } let trie_iter = self @@ -681,7 +681,7 @@ where self.with_recorder_and_cache_for_storage_root(Some(child_root), |recorder, cache| { let mut eph = Ephemeral::new(self.backend_storage(), &mut write_overlay); match match state_version { - StateVersion::V0 => + StateVersion::V0 => { child_delta_trie_root::, _, _, _, _, _, _>( child_info.keyspace(), &mut eph, @@ -689,8 +689,9 @@ where delta, recorder, cache, - ), - StateVersion::V1 => + ) + }, + StateVersion::V1 => { child_delta_trie_root::, _, _, _, _, _, _>( child_info.keyspace(), &mut eph, @@ -698,7 +699,8 @@ where delta, recorder, cache, - ), + ) + }, } { Ok(ret) => (Some(ret), ret), Err(e) => { @@ -830,7 +832,7 @@ impl< { fn get(&self, key: &H::Out, prefix: Prefix) -> Option { if *key == self.empty { - return Some([0u8].to_vec()) + return Some([0u8].to_vec()); } match self.storage.get(key, prefix) { Ok(x) => x, diff --git a/substrate/primitives/statement-store/src/ecies.rs b/substrate/primitives/statement-store/src/ecies.rs index 6fa16658e0071..2d07277635096 100644 --- a/substrate/primitives/statement-store/src/ecies.rs +++ b/substrate/primitives/statement-store/src/ecies.rs @@ -102,7 +102,7 @@ pub fn encrypt_ed25519(pk: &sp_core::ed25519::Public, plaintext: &[u8]) -> Resul /// Decrypt with the given x25519 secret key. pub fn decrypt_x25519(sk: &SecretKey, encrypted: &[u8]) -> Result, Error> { if encrypted.len() < PK_LEN + NONCE_LEN { - return Err(Error::BadData) + return Err(Error::BadData); } let mut ephemeral_pk: [u8; PK_LEN] = Default::default(); ephemeral_pk.copy_from_slice(&encrypted[0..PK_LEN]); diff --git a/substrate/primitives/statement-store/src/lib.rs b/substrate/primitives/statement-store/src/lib.rs index 5c1ba7839209f..37946253370b4 100644 --- a/substrate/primitives/statement-store/src/lib.rs +++ b/substrate/primitives/statement-store/src/lib.rs @@ -23,14 +23,91 @@ extern crate alloc; use alloc::vec::Vec; -use codec::{Decode, DecodeWithMemTracking, Encode}; -use scale_info::TypeInfo; +use codec::{Compact, Decode, DecodeWithMemTracking, Encode, MaxEncodedLen}; +use core::ops::Deref; +use scale_info::{build::Fields, Path, Type, TypeInfo}; use sp_application_crypto::RuntimeAppPublic; #[cfg(feature = "std")] use sp_core::Pair; /// Statement topic. -pub type Topic = [u8; 32]; +/// +/// A 32-byte topic identifier that serializes as a hex string (like `sp_core::Bytes`). +#[derive( + Clone, + Copy, + Debug, + Default, + PartialEq, + Eq, + PartialOrd, + Ord, + Hash, + Encode, + Decode, + DecodeWithMemTracking, + MaxEncodedLen, + TypeInfo, +)] +pub struct Topic(pub [u8; 32]); + +#[cfg(feature = "serde")] +impl serde::Serialize for Topic { + fn serialize(&self, serializer: S) -> core::result::Result + where + S: serde::Serializer, + { + sp_core::bytes::serialize(&self.0, serializer) + } +} + +#[cfg(feature = "serde")] +impl<'de> serde::Deserialize<'de> for Topic { + fn deserialize(deserializer: D) -> core::result::Result + where + D: serde::Deserializer<'de>, + { + let mut arr = [0u8; 32]; + sp_core::bytes::deserialize_check_len( + deserializer, + sp_core::bytes::ExpectedLen::Exact(&mut arr[..]), + )?; + Ok(Topic(arr)) + } +} + +impl From<[u8; 32]> for Topic { + fn from(inner: [u8; 32]) -> Self { + Topic(inner) + } +} + +impl From for [u8; 32] { + fn from(topic: Topic) -> Self { + topic.0 + } +} + +impl AsRef<[u8; 32]> for Topic { + fn as_ref(&self) -> &[u8; 32] { + &self.0 + } +} + +impl AsRef<[u8]> for Topic { + fn as_ref(&self) -> &[u8] { + &self.0 + } +} + +impl Deref for Topic { + type Target = [u8; 32]; + + fn deref(&self) -> &Self::Target { + &self.0 + } +} + /// Decryption key identifier. pub type DecryptionKey = [u8; 32]; /// Statement hash. @@ -42,12 +119,48 @@ pub type AccountId = [u8; 32]; /// Statement channel. pub type Channel = [u8; 32]; -/// Total number of topic fields allowed. +/// Total number of topic fields allowed in a statement and in `MatchAll` filters. pub const MAX_TOPICS: usize = 4; +/// `MatchAny` allows to provide a list of topics match against. This is the maximum number of +/// topics allowed. +pub const MAX_ANY_TOPICS: usize = 128; + +/// Statement allowance limits for an account. +#[derive(Encode, Decode, TypeInfo, Debug, Clone, Copy, PartialEq, Eq)] +pub struct StatementAllowance { + /// Maximum number of statements allowed + pub max_count: u32, + /// Maximum total size of statements in bytes + pub max_size: u32, +} + +impl StatementAllowance { + /// Create a new statement allowance. + pub fn new(max_count: u32, max_size: u32) -> Self { + Self { max_count, max_size } + } +} + +/// Storage key prefix for per-account statement allowances. +pub const STATEMENT_ALLOWANCE_PREFIX: &[u8] = b":statement-allowance:"; + +/// Constructs a per-account statement allowance storage key. +/// +/// # Arguments +/// * `account_id` - Account identifier as byte slice +/// +/// # Returns +/// Storage key: `":statement-allowance:" ++ account_id` +pub fn statement_allowance_key(account_id: impl AsRef<[u8]>) -> Vec { + let mut key = STATEMENT_ALLOWANCE_PREFIX.to_vec(); + key.extend_from_slice(account_id.as_ref()); + key +} #[cfg(feature = "std")] pub use store_api::{ - Error, InvalidReason, RejectionReason, Result, StatementSource, StatementStore, SubmitResult, + Error, FilterDecision, InvalidReason, OptimizedTopicFilter, RejectionReason, Result, + StatementSource, StatementStore, SubmitResult, TopicFilter, }; #[cfg(feature = "std")] @@ -92,7 +205,9 @@ pub fn hash_encoded(data: &[u8]) -> [u8; 32] { } /// Statement proof. -#[derive(Encode, Decode, DecodeWithMemTracking, TypeInfo, Debug, Clone, PartialEq, Eq)] +#[derive( + Encode, Decode, DecodeWithMemTracking, MaxEncodedLen, TypeInfo, Debug, Clone, PartialEq, Eq, +)] pub enum Proof { /// Sr25519 Signature. Sr25519 { @@ -132,8 +247,9 @@ impl Proof { match self { Proof::Sr25519 { signer, .. } => *signer, Proof::Ed25519 { signer, .. } => *signer, - Proof::Secp256k1Ecdsa { signer, .. } => - ::hash(signer).into(), + Proof::Secp256k1Ecdsa { signer, .. } => { + ::hash(signer).into() + }, Proof::OnChain { who, .. } => *who, } } @@ -148,8 +264,8 @@ pub enum Field { AuthenticityProof(Proof) = 0, /// An identifier for the key that `Data` field may be decrypted with. DecryptionKey(DecryptionKey) = 1, - /// Priority when competing with other messages from the same sender. - Priority(u32) = 2, + /// Expiry of the statement. See [`Statement::expiry`] for details on the format. + Expiry(u64) = 2, /// Account channel to use. Only one message per `(account, channel)` pair is allowed. Channel(Channel) = 3, /// First statement topic. @@ -173,17 +289,61 @@ impl Field { } /// Statement structure. -#[derive(DecodeWithMemTracking, TypeInfo, Debug, Clone, PartialEq, Eq, Default)] +#[derive(DecodeWithMemTracking, Debug, Clone, PartialEq, Eq, Default)] pub struct Statement { + /// Proof used for authorizing the statement. proof: Option, + /// An identifier for the key that `Data` field may be decrypted with. + #[deprecated(note = "Experimental feature, may be removed/changed in future releases")] decryption_key: Option, + /// Used for identifying a distinct communication channel, only a message per channel is + /// stored. + /// + /// This can be used to implement message replacement, submitting a new message with a + /// different topic/data on the same channel and a greater expiry replaces the previous one. + /// + /// If the new statement data is bigger than the old one, submitting a statement with the same + /// channel does not guarantee that **ONLY** the old one will be replaced, as it might not fit + /// in the account quota. In that case, other statements from the same account with the lowest + /// expiry will be removed. channel: Option, - priority: Option, + /// Message expiry, used for determining which statements to keep. + /// + /// The most significant 32 bits represents the expiration timestamp (in seconds since + /// UNIX epoch) after which the statement gets removed. These ensure that statements with a + /// higher expiration time have a higher priority. + /// The lower 32 bits represents an arbitrary sequence number used to order statements with the + /// same expiration time. + /// + /// Higher values indicate a higher priority. + /// This is used in two cases: + /// 1) When an account exceeds its quota and some statements need to be removed. Statements + /// with the lowest `expiry` are removed first. + /// 2) When multiple statements are submitted on the same channel, the one with the highest + /// expiry replaces the one with the same channel. + expiry: u64, + /// Number of topics present. num_topics: u8, + /// Topics, used for querying and filtering statements. topics: [Topic; MAX_TOPICS], + /// Statement data. data: Option>, } +/// Note: The `TypeInfo` implementation reflects the actual encoding format (`Vec`) +/// rather than the struct fields, since `Statement` has custom `Encode`/`Decode` implementations. +impl TypeInfo for Statement { + type Identity = Self; + + fn type_info() -> Type { + // Statement encodes as Vec, so we report the same type info + Type::builder() + .path(Path::new("Statement", module_path!())) + .docs(&["Statement structure"]) + .composite(Fields::unnamed().field(|f| f.ty::>())) + } +} + impl Decode for Statement { fn decode(input: &mut I) -> core::result::Result { // Encoding matches that of Vec. Basically this just means accepting that there @@ -194,13 +354,13 @@ impl Decode for Statement { for i in 0..num_fields.into() { let field: Field = Decode::decode(input)?; if i > 0 && field.discriminant() <= tag { - return Err("Invalid field order or duplicate fields".into()) + return Err("Invalid field order or duplicate fields".into()); } tag = field.discriminant(); match field { Field::AuthenticityProof(p) => statement.set_proof(p), Field::DecryptionKey(key) => statement.set_decryption_key(key), - Field::Priority(p) => statement.set_priority(p), + Field::Expiry(p) => statement.set_expiry(p), Field::Channel(c) => statement.set_channel(c), Field::Topic1(t) => statement.set_topic(0, t), Field::Topic2(t) => statement.set_topic(1, t), @@ -262,6 +422,11 @@ impl Statement { } } + /// Returns slice of all topics set in the statement. + pub fn topics(&self) -> &[Topic] { + &self.topics[..self.num_topics as usize] + } + /// Sign with a given private key and add the signature proof field. #[cfg(feature = "std")] pub fn sign_sr25519_private(&mut self, key: &sp_core::sr25519::Pair) { @@ -388,6 +553,7 @@ impl Statement { } /// Returns decryption key if any. + #[allow(deprecated)] pub fn decryption_key(&self) -> Option { self.decryption_key } @@ -422,9 +588,17 @@ impl Statement { self.channel } - /// Get priority, if any. - pub fn priority(&self) -> Option { - self.priority + /// Get expiry. + pub fn expiry(&self) -> u64 { + self.expiry + } + + /// Get expiration timestamp in seconds. + /// + /// The expiration timestamp in seconds is stored in the most significant 32 bits of the expiry + /// field. + pub fn get_expiration_timestamp_secs(&self) -> u32 { + (self.expiry >> 32) as u32 } /// Return encoded fields that can be signed to construct or verify a proof @@ -442,9 +616,14 @@ impl Statement { self.proof = Some(proof) } - /// Set statement priority. - pub fn set_priority(&mut self, priority: u32) { - self.priority = Some(priority) + /// Set statement expiry. + pub fn set_expiry(&mut self, expiry: u64) { + self.expiry = expiry; + } + + /// Set statement expiry from its parts. See [`Statement::expiry`] for details on the format. + pub fn set_expiry_from_parts(&mut self, expiration_timestamp_secs: u32, sequence_number: u32) { + self.expiry = (expiration_timestamp_secs as u64) << 32 | sequence_number as u64; } /// Set statement channel. @@ -461,6 +640,7 @@ impl Statement { } /// Set decryption key. + #[allow(deprecated)] pub fn set_decryption_key(&mut self, key: DecryptionKey) { self.decryption_key = Some(key); } @@ -470,17 +650,53 @@ impl Statement { self.data = Some(data) } + /// Estimate the encoded size for preallocation. + /// + /// Returns a close approximation of the SCALE-encoded size without actually performing the + /// encoding. Uses max_encoded_len() for type sizes: + /// - Compact length prefix: max_encoded_len() bytes + /// - Proof field: 1 (tag) + max_encoded_len() + /// - DecryptionKey: 1 (tag) + max_encoded_len() + /// - Expiry: 1 (tag) + max_encoded_len() + /// - Channel: 1 (tag) + max_encoded_len() + /// - Each topic: 1 (tag) + max_encoded_len() + /// - Data: 1 (tag) + max_encoded_len() (compact len) + data.len() + #[allow(deprecated)] + fn estimated_encoded_size(&self, for_signing: bool) -> usize { + let proof_size = + if !for_signing && self.proof.is_some() { 1 + Proof::max_encoded_len() } else { 0 }; + let decryption_key_size = + if self.decryption_key.is_some() { 1 + DecryptionKey::max_encoded_len() } else { 0 }; + let expiry_size = 1 + u64::max_encoded_len(); + let channel_size = if self.channel.is_some() { 1 + Channel::max_encoded_len() } else { 0 }; + let topics_size = self.num_topics as usize * (1 + Topic::max_encoded_len()); + let data_size = self + .data + .as_ref() + .map_or(0, |d| 1 + Compact::::max_encoded_len() + d.len()); + let compact_prefix_size = if !for_signing { Compact::::max_encoded_len() } else { 0 }; + + compact_prefix_size + + proof_size + + decryption_key_size + + expiry_size + + channel_size + + topics_size + + data_size + } + + #[allow(deprecated)] fn encoded(&self, for_signing: bool) -> Vec { // Encoding matches that of Vec. Basically this just means accepting that there // will be a prefix of vector length. - let num_fields = if !for_signing && self.proof.is_some() { 1 } else { 0 } + + // Expiry field is always present. + let num_fields = if !for_signing && self.proof.is_some() { 2 } else { 1 } + if self.decryption_key.is_some() { 1 } else { 0 } + - if self.priority.is_some() { 1 } else { 0 } + if self.channel.is_some() { 1 } else { 0 } + if self.data.is_some() { 1 } else { 0 } + self.num_topics as u32; - let mut output = Vec::new(); + let mut output = Vec::with_capacity(self.estimated_encoded_size(for_signing)); // When encoding signature payload, the length prefix is omitted. // This is so that the signature for encoded statement can potentially be derived without // needing to re-encode the statement. @@ -497,10 +713,10 @@ impl Statement { 1u8.encode_to(&mut output); decryption_key.encode_to(&mut output); } - if let Some(priority) = &self.priority { - 2u8.encode_to(&mut output); - priority.encode_to(&mut output); - } + + 2u8.encode_to(&mut output); + self.expiry().encode_to(&mut output); + if let Some(channel) = &self.channel { 3u8.encode_to(&mut output); channel.encode_to(&mut output); @@ -517,6 +733,7 @@ impl Statement { } /// Encrypt give data with given key and store both in the statements. + #[allow(deprecated)] #[cfg(feature = "std")] pub fn encrypt( &mut self, @@ -541,9 +758,13 @@ impl Statement { #[cfg(test)] mod test { - use crate::{hash_encoded, Field, Proof, SignatureVerificationResult, Statement}; + use crate::{ + hash_encoded, Field, Proof, SignatureVerificationResult, Statement, Topic, MAX_TOPICS, + }; use codec::{Decode, Encode}; + use scale_info::{MetaType, TypeInfo}; use sp_application_crypto::Pair; + use sp_core::sr25519; #[test] fn statement_encoding_matches_vec() { @@ -552,27 +773,27 @@ mod test { let proof = Proof::OnChain { who: [42u8; 32], block_hash: [24u8; 32], event_index: 66 }; let decryption_key = [0xde; 32]; - let topic1 = [0x01; 32]; - let topic2 = [0x02; 32]; + let topic1: Topic = [0x01; 32].into(); + let topic2: Topic = [0x02; 32].into(); let data = vec![55, 99]; - let priority = 999; + let expiry = 999; let channel = [0xcc; 32]; statement.set_proof(proof.clone()); statement.set_decryption_key(decryption_key); - statement.set_priority(priority); + statement.set_expiry(expiry); statement.set_channel(channel); statement.set_topic(0, topic1); statement.set_topic(1, topic2); statement.set_plain_data(data.clone()); - statement.set_topic(5, [0x55; 32]); + statement.set_topic(5, [0x55; 32].into()); assert_eq!(statement.topic(5), None); let fields = vec![ Field::AuthenticityProof(proof.clone()), Field::DecryptionKey(decryption_key), - Field::Priority(priority), + Field::Expiry(expiry), Field::Channel(channel), Field::Topic1(topic1), Field::Topic2(topic2), @@ -589,12 +810,12 @@ mod test { #[test] fn decode_checks_fields() { - let topic1 = [0x01; 32]; - let topic2 = [0x02; 32]; + let topic1: Topic = [0x01; 32].into(); + let topic2: Topic = [0x02; 32].into(); let priority = 999; let fields = vec![ - Field::Priority(priority), + Field::Expiry(priority), Field::Topic1(topic1), Field::Topic1(topic1), Field::Topic2(topic2), @@ -604,7 +825,7 @@ mod test { assert!(Statement::decode(&mut fields.as_slice()).is_err()); let fields = - vec![Field::Topic1(topic1), Field::Priority(priority), Field::Topic2(topic2)].encode(); + vec![Field::Topic1(topic1), Field::Expiry(priority), Field::Topic2(topic2)].encode(); assert!(Statement::decode(&mut fields.as_slice()).is_err()); } @@ -652,11 +873,168 @@ mod test { let (pair, _) = sp_core::ed25519::Pair::generate(); let plain = b"test data".to_vec(); - //let sr25519_kp = sp_core::sr25519::Pair::from_string("//Alice", None).unwrap(); + // let sr25519_kp = sp_core::sr25519::Pair::from_string("//Alice", None).unwrap(); statement.encrypt(&plain, &pair.public()).unwrap(); assert_ne!(plain.as_slice(), statement.data().unwrap().as_slice()); let decrypted = statement.decrypt_private(&pair).unwrap(); assert_eq!(decrypted, Some(plain)); } + + #[test] + fn check_matches() { + let mut statement = Statement::new(); + let topic1: Topic = [0x01; 32].into(); + let topic2: Topic = [0x02; 32].into(); + let topic3: Topic = [0x03; 32].into(); + + statement.set_topic(0, topic1); + statement.set_topic(1, topic2); + + let filter_any = crate::OptimizedTopicFilter::Any; + assert!(filter_any.matches(&statement)); + + let filter_all = + crate::OptimizedTopicFilter::MatchAll([topic1, topic2].iter().cloned().collect()); + assert!(filter_all.matches(&statement)); + + let filter_all_fail = + crate::OptimizedTopicFilter::MatchAll([topic1, topic3].iter().cloned().collect()); + assert!(!filter_all_fail.matches(&statement)); + + let filter_any_match = + crate::OptimizedTopicFilter::MatchAny([topic2, topic3].iter().cloned().collect()); + assert!(filter_any_match.matches(&statement)); + + let filter_any_fail = + crate::OptimizedTopicFilter::MatchAny([topic3].iter().cloned().collect()); + assert!(!filter_any_fail.matches(&statement)); + } + + #[test] + fn statement_type_info_matches_encoding() { + // Statement has custom Encode/Decode that encodes as Vec. + // Verify that TypeInfo reflects this by containing a reference to Vec. + let statement_type = Statement::type_info(); + let vec_field_meta = MetaType::new::>(); + + // The Statement type should be a composite with one unnamed field of type Vec + match statement_type.type_def { + scale_info::TypeDef::Composite(composite) => { + assert_eq!(composite.fields.len(), 1, "Statement should have exactly one field"); + let field = &composite.fields[0]; + assert!(field.name.is_none(), "Field should be unnamed (newtype pattern)"); + assert_eq!(field.ty, vec_field_meta, "Statement's inner type should be Vec"); + }, + _ => panic!("Statement TypeInfo should be a Composite"), + } + } + + #[test] + fn measure_hash_30_000_statements() { + use std::time::Instant; + const NUM_STATEMENTS: usize = 30_000; + let (keyring, _) = sr25519::Pair::generate(); + + // Create 2000 statements with varying data + let statements: Vec = (0..NUM_STATEMENTS) + .map(|i| { + let mut statement = Statement::new(); + + statement.set_expiry(i as u64); + statement.set_topic(0, [(i % 256) as u8; 32].into()); + statement.set_plain_data(vec![i as u8; 512]); + statement.sign_sr25519_private(&keyring); + + statement.sign_sr25519_private(&keyring); + statement + }) + .collect(); + // Measure time to hash all statements + let start = Instant::now(); + let hashes: Vec<[u8; 32]> = statements.iter().map(|s| s.hash()).collect(); + let elapsed = start.elapsed(); + println!("Time to hash {} statements: {:?}", NUM_STATEMENTS, elapsed); + println!("Average time per statement: {:?}", elapsed / NUM_STATEMENTS as u32); + // Verify hashes are unique + let unique_hashes: std::collections::HashSet<_> = hashes.iter().collect(); + assert_eq!(unique_hashes.len(), NUM_STATEMENTS); + } + + #[test] + fn estimated_encoded_size_is_sufficient() { + // Allow some overhead due to using max_encoded_len() approximations. + const MAX_ACCEPTED_OVERHEAD: usize = 33; + + let proof = Proof::OnChain { who: [42u8; 32], block_hash: [24u8; 32], event_index: 66 }; + let decryption_key = [0xde; 32]; + let data = vec![55; 1000]; + let expiry = 999; + let channel = [0xcc; 32]; + + // Test with all fields populated + let mut statement = Statement::new(); + statement.set_proof(proof); + statement.set_decryption_key(decryption_key); + statement.set_expiry(expiry); + statement.set_channel(channel); + for i in 0..MAX_TOPICS { + statement.set_topic(i, [i as u8; 32].into()); + } + statement.set_plain_data(data); + + let encoded = statement.encode(); + let estimated = statement.estimated_encoded_size(false); + assert!( + estimated >= encoded.len(), + "estimated_encoded_size ({}) should be >= actual encoded length ({})", + estimated, + encoded.len() + ); + let overhead = estimated - encoded.len(); + assert!( + overhead <= MAX_ACCEPTED_OVERHEAD, + "estimated overhead ({}) should be small, estimated: {}, actual: {}", + overhead, + estimated, + encoded.len() + ); + + // Test for_signing = true (no proof, no compact prefix) + let signing_payload = statement.encoded(true); + let signing_estimated = statement.estimated_encoded_size(true); + assert!( + signing_estimated >= signing_payload.len(), + "estimated_encoded_size for signing ({}) should be >= actual signing payload length ({})", + signing_estimated, + signing_payload.len() + ); + let signing_overhead = signing_estimated - signing_payload.len(); + assert!( + signing_overhead <= MAX_ACCEPTED_OVERHEAD, + "signing overhead ({}) should be small, estimated: {}, actual: {}", + signing_overhead, + signing_estimated, + signing_payload.len() + ); + + // Test with minimal statement (empty) + let empty_statement = Statement::new(); + let empty_encoded = empty_statement.encode(); + let empty_estimated = empty_statement.estimated_encoded_size(false); + assert!( + empty_estimated >= empty_encoded.len(), + "estimated_encoded_size for empty ({}) should be >= actual encoded length ({})", + empty_estimated, + empty_encoded.len() + ); + let empty_overhead = empty_estimated - empty_encoded.len(); + assert!( + empty_overhead <= MAX_ACCEPTED_OVERHEAD, + "empty overhead ({}) should be minimal, estimated: {}, actual: {}", + empty_overhead, + empty_estimated, + empty_encoded.len() + ); + } } diff --git a/substrate/primitives/statement-store/src/runtime_api.rs b/substrate/primitives/statement-store/src/runtime_api.rs index f24b66fcfcc6f..73e561424f79e 100644 --- a/substrate/primitives/statement-store/src/runtime_api.rs +++ b/substrate/primitives/statement-store/src/runtime_api.rs @@ -33,26 +33,6 @@ use Debug; #[cfg(feature = "std")] use sp_externalities::ExternalitiesExt; -/// Information concerning a valid statement. -#[derive(Clone, PartialEq, Eq, Encode, Decode, Debug, TypeInfo)] -pub struct ValidStatement { - /// Max statement count for this account, as calculated by the runtime. - pub max_count: u32, - /// Max total data size for this account, as calculated by the runtime. - pub max_size: u32, -} - -/// An reason for an invalid statement. -#[derive(Clone, PartialEq, Eq, Encode, Decode, Copy, Debug, TypeInfo)] -pub enum InvalidStatement { - /// Failed proof validation. - BadProof, - /// Missing proof. - NoProof, - /// Validity could not be checked because of internal error. - InternalError, -} - /// The source of the statement. /// /// Depending on the source we might apply different validation schemes. @@ -77,17 +57,6 @@ impl StatementSource { } } -sp_api::decl_runtime_apis! { - /// Runtime API trait for statement validation. - pub trait ValidateStatement { - /// Validate the statement. - fn validate_statement( - source: StatementSource, - statement: Statement, - ) -> Result; - } -} - #[cfg(feature = "std")] sp_externalities::decl_extension! { /// The offchain database extension that will be registered at the Substrate externalities. diff --git a/substrate/primitives/statement-store/src/store_api.rs b/substrate/primitives/statement-store/src/store_api.rs index e949a35242091..1fe89765aa028 100644 --- a/substrate/primitives/statement-store/src/store_api.rs +++ b/substrate/primitives/statement-store/src/store_api.rs @@ -16,7 +16,9 @@ // limitations under the License. pub use crate::runtime_api::StatementSource; -use crate::{Hash, Statement, Topic}; +use crate::{Hash, Statement, Topic, MAX_ANY_TOPICS, MAX_TOPICS}; +use sp_core::{bounded_vec::BoundedVec, ConstU32}; +use std::collections::HashSet; /// Statement store error. #[derive(Debug, Clone, Eq, PartialEq, thiserror::Error)] @@ -25,12 +27,79 @@ pub enum Error { /// Database error. #[error("Database error: {0:?}")] Db(String), - /// Error decoding statement structure. - #[error("Error decoding statement: {0:?}")] + /// Decoding error + #[error("Decoding error: {0:?}")] Decode(String), - /// Error making runtime call. - #[error("Error calling into the runtime")] - Runtime, + /// Error reading from storage. + #[error("Storage error: {0:?}")] + Storage(String), +} + +/// Filter for subscribing to statements with different topics. +#[derive(Debug, Clone)] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))] +pub enum TopicFilter { + /// Matches all topics. + Any, + /// Matches only statements including all of the given topics. + /// Bytes are expected to be a 32-byte topic. Up to [`MAX_TOPICS`] topics can be provided. + MatchAll(BoundedVec>), + /// Matches statements including any of the given topics. + /// Bytes are expected to be a 32-byte topic. Up to [`MAX_ANY_TOPICS`] topics can be provided. + MatchAny(BoundedVec>), +} + +/// Topic filter for statement subscriptions, optimized for matching. +#[derive(Clone, Debug)] +pub enum OptimizedTopicFilter { + /// Matches all topics. + Any, + /// Matches only statements including all of the given topics. + /// Up to `4` topics can be provided. + MatchAll(HashSet), + /// Matches statements including any of the given topics. + /// Up to `128` topics can be provided. + MatchAny(HashSet), +} + +impl OptimizedTopicFilter { + /// Check if the statement matches the filter. + pub fn matches(&self, statement: &Statement) -> bool { + match self { + OptimizedTopicFilter::Any => true, + OptimizedTopicFilter::MatchAll(topics) => { + statement.topics().iter().filter(|topic| topics.contains(*topic)).count() == + topics.len() + }, + OptimizedTopicFilter::MatchAny(topics) => { + statement.topics().iter().any(|topic| topics.contains(topic)) + }, + } + } +} + +// Convert TopicFilter to CheckedTopicFilter. +impl From for OptimizedTopicFilter { + fn from(filter: TopicFilter) -> Self { + match filter { + TopicFilter::Any => OptimizedTopicFilter::Any, + TopicFilter::MatchAll(topics) => { + let mut parsed_topics = HashSet::with_capacity(topics.len()); + for topic in topics { + parsed_topics.insert(topic); + } + OptimizedTopicFilter::MatchAll(parsed_topics) + }, + TopicFilter::MatchAny(topics) => { + let mut parsed_topics = HashSet::with_capacity(topics.len()); + for topic in topics { + parsed_topics.insert(topic); + } + OptimizedTopicFilter::MatchAny(parsed_topics) + }, + } + } } /// Reason why a statement was rejected from the store. @@ -45,22 +114,37 @@ pub enum RejectionReason { /// Still available data size for the account. available_size: usize, }, - /// Attempting to replace a channel message with lower or equal priority. + /// Attempting to replace a channel message with lower or equal expiry. ChannelPriorityTooLow { - /// The priority of the submitted statement. - submitted_priority: u32, - /// The minimum priority of the existing channel message. - min_priority: u32, + /// The expiry of the submitted statement. + submitted_expiry: u64, + /// The minimum expiry of the existing channel message. + min_expiry: u64, }, - /// Account reached its statement limit and submitted priority is too low to evict existing. + /// Account reached its statement limit and submitted expiry is too low to evict existing. AccountFull { - /// The priority of the submitted statement. - submitted_priority: u32, - /// The minimum priority of the existing statement. - min_priority: u32, + /// The expiry of the submitted statement. + submitted_expiry: u64, + /// The minimum expiry of the existing statement. + min_expiry: u64, }, /// The global statement store is full and cannot accept new statements. StoreFull, + /// Account has no allowance set. + NoAllowance, +} + +impl RejectionReason { + /// Returns a short string label suitable for use in metrics. + pub fn label(&self) -> &'static str { + match self { + RejectionReason::DataTooLarge { .. } => "data_too_large", + RejectionReason::ChannelPriorityTooLow { .. } => "channel_priority_too_low", + RejectionReason::AccountFull { .. } => "account_full", + RejectionReason::StoreFull => "store_full", + RejectionReason::NoAllowance => "no_allowance", + } + } } /// Reason why a statement failed validation. @@ -79,6 +163,8 @@ pub enum InvalidReason { /// The maximum allowed size. max_size: usize, }, + /// Statement has already expired. The expiry field is in the past. + AlreadyExpired, } /// Statement submission outcome @@ -103,6 +189,17 @@ pub enum SubmitResult { /// Result type for `Error` pub type Result = std::result::Result; +/// Decision returned by the filter used in [`StatementStore::statements_by_hashes`]. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum FilterDecision { + /// Skip this statement, continue to next. + Skip, + /// Take this statement, continue to next. + Take, + /// Stop iteration, return collected statements. + Abort, +} + /// Statement store API. pub trait StatementStore: Send + Sync { /// Return all statements. @@ -122,6 +219,23 @@ pub trait StatementStore: Send + Sync { /// Fast index check without accessing the DB. fn has_statement(&self, hash: &Hash) -> bool; + /// Return all statement hashes. + fn statement_hashes(&self) -> Vec; + + /// Fetch statements by their hashes with a filter callback. + /// + /// The callback receives (hash, encoded_bytes, decoded_statement) and returns: + /// - `Skip`: ignore this statement, continue to next + /// - `Take`: include this statement in the result, continue to next + /// - `Abort`: stop iteration, return collected statements so far + /// + /// Returns (statements, number_of_hashes_processed). + fn statements_by_hashes( + &self, + hashes: &[Hash], + filter: &mut dyn FnMut(&Hash, &[u8], &Statement) -> FilterDecision, + ) -> Result<(Vec<(Hash, Statement)>, usize)>; + /// Return the data of all known statements which include all topics and have no `DecryptionKey` /// field. fn broadcasts(&self, match_all_topics: &[Topic]) -> Result>>; diff --git a/substrate/primitives/storage/src/lib.rs b/substrate/primitives/storage/src/lib.rs index 9d2195c843312..9a6b6ceae20db 100644 --- a/substrate/primitives/storage/src/lib.rs +++ b/substrate/primitives/storage/src/lib.rs @@ -297,8 +297,9 @@ impl ChildInfo { /// this trie. pub fn prefixed_storage_key(&self) -> PrefixedStorageKey { match self { - ChildInfo::ParentKeyId(ChildTrieParentKeyId { data }) => - ChildType::ParentKeyId.new_prefixed_key(data.as_slice()), + ChildInfo::ParentKeyId(ChildTrieParentKeyId { data }) => { + ChildType::ParentKeyId.new_prefixed_key(data.as_slice()) + }, } } diff --git a/substrate/primitives/transaction-storage-proof/Cargo.toml b/substrate/primitives/transaction-storage-proof/Cargo.toml index a9040c1249a15..d404875e08b12 100644 --- a/substrate/primitives/transaction-storage-proof/Cargo.toml +++ b/substrate/primitives/transaction-storage-proof/Cargo.toml @@ -19,6 +19,7 @@ targets = ["x86_64-unknown-linux-gnu"] async-trait = { optional = true, workspace = true } codec = { features = ["derive"], workspace = true } scale-info = { features = ["derive"], workspace = true } +sp-api = { workspace = true } sp-core = { optional = true, workspace = true } sp-inherents = { workspace = true } sp-runtime = { workspace = true } @@ -30,6 +31,7 @@ std = [ "async-trait", "codec/std", "scale-info/std", + "sp-api/std", "sp-core/std", "sp-inherents/std", "sp-runtime/std", diff --git a/substrate/primitives/transaction-storage-proof/src/lib.rs b/substrate/primitives/transaction-storage-proof/src/lib.rs index c92197a3fc308..55ea1276e3c1a 100644 --- a/substrate/primitives/transaction-storage-proof/src/lib.rs +++ b/substrate/primitives/transaction-storage-proof/src/lib.rs @@ -20,6 +20,8 @@ #![cfg_attr(not(feature = "std"), no_std)] +pub mod runtime_api; + extern crate alloc; use core::result::Result; @@ -33,8 +35,6 @@ pub use sp_inherents::Error; /// The identifier for the proof inherent. pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"tx_proof"; -/// Storage period for data. -pub const DEFAULT_STORAGE_PERIOD: u32 = 100800; /// Proof trie value size. pub const CHUNK_SIZE: usize = 256; @@ -168,15 +168,14 @@ pub mod registration { pub fn new_data_provider( client: &C, parent: &B::Hash, + retention_period: NumberFor, ) -> Result where B: BlockT, C: IndexedBody, { let parent_number = client.number(*parent)?.unwrap_or(Zero::zero()); - let number = parent_number - .saturating_add(One::one()) - .saturating_sub(DEFAULT_STORAGE_PERIOD.into()); + let number = parent_number.saturating_add(One::one()).saturating_sub(retention_period); if number.is_zero() { // Too early to collect proofs. return Ok(InherentDataProvider::new(None)); diff --git a/substrate/frame/revive/fixtures/contracts/new_set_code_hash_contract.rs b/substrate/primitives/transaction-storage-proof/src/runtime_api.rs similarity index 66% rename from substrate/frame/revive/fixtures/contracts/new_set_code_hash_contract.rs rename to substrate/primitives/transaction-storage-proof/src/runtime_api.rs index 02318ae705252..b7d920a8a8f61 100644 --- a/substrate/frame/revive/fixtures/contracts/new_set_code_hash_contract.rs +++ b/substrate/primitives/transaction-storage-proof/src/runtime_api.rs @@ -15,18 +15,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -#![no_std] -#![no_main] -include!("../panic_handler.rs"); +//! Runtime API definition for the transaction storage proof processing. -use uapi::{HostFn, HostFnImpl as api}; +use sp_runtime::traits::NumberFor; -#[no_mangle] -#[polkavm_derive::polkavm_export] -pub extern "C" fn deploy() {} - -#[no_mangle] -#[polkavm_derive::polkavm_export] -pub extern "C" fn call() { - api::return_value(uapi::ReturnFlags::empty(), &2u32.to_le_bytes()); +sp_api::decl_runtime_apis! { + /// Runtime API trait for transaction storage support. + pub trait TransactionStorageApi { + /// Get the actual value of a retention period in blocks. + fn retention_period() -> NumberFor; + } } diff --git a/substrate/primitives/trie/src/accessed_nodes_tracker.rs b/substrate/primitives/trie/src/accessed_nodes_tracker.rs index 378e3c2812c06..23c38ff519ba1 100644 --- a/substrate/primitives/trie/src/accessed_nodes_tracker.rs +++ b/substrate/primitives/trie/src/accessed_nodes_tracker.rs @@ -48,7 +48,7 @@ impl AccessedNodesTracker { /// Ensure that all the nodes in the proof have been accessed. pub fn ensure_no_unused_nodes(self) -> Result<(), Error> { if self.proof_nodes_count != self.recorder.len() { - return Err(Error::UnusedNodes) + return Err(Error::UnusedNodes); } Ok(()) diff --git a/substrate/primitives/trie/src/cache/mod.rs b/substrate/primitives/trie/src/cache/mod.rs index 95bbb4b00c1a5..f0ab6314331a4 100644 --- a/substrate/primitives/trie/src/cache/mod.rs +++ b/substrate/primitives/trie/src/cache/mod.rs @@ -144,7 +144,7 @@ where // Only enforce the limit if there's more than one element to make sure // we can always add a new element to the cache. if length <= 1 { - return false + return false; } self.current_heap_size > self.config.local_node_cache_max_heap_size @@ -221,7 +221,7 @@ where // Only enforce the limit if there's more than one element to make sure // we can always add a new element to the cache. if length <= 1 { - return false + return false; } self.current_heap_size > self.config.local_value_cache_max_heap_size @@ -578,7 +578,7 @@ impl Drop for LocalTrieCache { target: LOG_TARGET, "Timeout while trying to acquire a write lock for the shared trie cache" ); - return + return; }, }; let stats_snapshot = self.stats.snapshot(); @@ -654,13 +654,14 @@ impl ValueCache<'_, H> { stats.local_fetch_attempts.fetch_add(1, Ordering::Relaxed); match self { - Self::Fresh(map) => + Self::Fresh(map) => { if let Some(value) = map.get(key) { stats.local_hits.fetch_add(1, Ordering::Relaxed); Some(value) } else { None - }, + } + }, Self::ForStorageRoot { local_value_cache, shared_value_cache_access, @@ -683,7 +684,7 @@ impl ValueCache<'_, H> { }) { stats.local_hits.fetch_add(1, Ordering::Relaxed); - return Some(value) + return Some(value); } stats.shared_fetch_attempts.fetch_add(1, Ordering::Relaxed); @@ -691,7 +692,7 @@ impl ValueCache<'_, H> { stats.shared_hits.fetch_add(1, Ordering::Relaxed); shared_value_cache_access.insert(hash, ()); *buffered_value = Some(value.clone()); - return buffered_value.as_ref() + return buffered_value.as_ref(); } None @@ -765,7 +766,7 @@ impl<'a, H: Hasher> trie_db::TrieCache> for TrieCache<'a, H> { self.stats.node_cache.shared_hits.fetch_add(1, Ordering::Relaxed); tracing::trace!(target: LOG_TARGET, ?hash, "Serving node from shared cache"); - return Ok(NodeCached:: { node: node.clone(), is_from_shared_cache: true }) + return Ok(NodeCached:: { node: node.clone(), is_from_shared_cache: true }); } // It was not in the shared cache; try fetching it from the database. diff --git a/substrate/primitives/trie/src/cache/shared_cache.rs b/substrate/primitives/trie/src/cache/shared_cache.rs index 9fe7ed992ae30..136c69a9eb320 100644 --- a/substrate/primitives/trie/src/cache/shared_cache.rs +++ b/substrate/primitives/trie/src/cache/shared_cache.rs @@ -15,8 +15,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -///! Provides the [`SharedNodeCache`], the [`SharedValueCache`] and the [`SharedTrieCache`] -///! that combines both caches and is exported to the outside. +/// ! Provides the [`SharedNodeCache`], the [`SharedValueCache`] and the [`SharedTrieCache`] +/// ! that combines both caches and is exported to the outside. use super::{ metrics::Metrics, CacheSize, LocalNodeCacheConfig, LocalNodeCacheLimiter, LocalValueCacheConfig, LocalValueCacheLimiter, NodeCached, TrieHitStats, TrieHitStatsSnapshot, @@ -91,7 +91,7 @@ where let new_item_heap_size = node.size_in_bytes() - std::mem::size_of::>(); if new_item_heap_size > self.max_heap_size { // Item's too big to add even if the cache's empty; bail. - return None + return None; } self.heap_size += new_item_heap_size; @@ -112,7 +112,7 @@ where let new_item_heap_size = new_node.size_in_bytes() - std::mem::size_of::>(); if new_item_heap_size > self.max_heap_size { // Item's too big to add even if the cache's empty; bail. - return false + return false; } let old_item_heap_size = old_node.size_in_bytes() - std::mem::size_of::>(); @@ -189,7 +189,7 @@ where let new_item_heap_size = key.storage_key.len(); if new_item_heap_size > self.max_heap_size { // Item's too big to add even if the cache's empty; bail. - return None + return None; } self.heap_size += new_item_heap_size; @@ -292,10 +292,10 @@ impl + Eq + std::hash::Hash> SharedNodeCache { if access_count >= config.shared_node_cache_max_promoted_keys { // Stop when we've promoted a large enough number of items. - break + break; } - continue + continue; } } @@ -304,7 +304,7 @@ impl + Eq + std::hash::Hash> SharedNodeCache { if self.lru.limiter().items_evicted > self.lru.limiter().max_items_evicted { // Stop when we've evicted a big enough chunk of the shared cache. - break + break; } } @@ -557,7 +557,7 @@ impl> SharedValueCache { if self.lru.limiter().items_evicted > self.lru.limiter().max_items_evicted { // Stop when we've evicted a big enough chunk of the shared cache. - break + break; } } diff --git a/substrate/primitives/trie/src/node_codec.rs b/substrate/primitives/trie/src/node_codec.rs index 1b6a816589177..ecd388a931633 100644 --- a/substrate/primitives/trie/src/node_codec.rs +++ b/substrate/primitives/trie/src/node_codec.rs @@ -44,7 +44,7 @@ impl<'a> ByteSliceInput<'a> { fn take(&mut self, count: usize) -> Result, codec::Error> { if self.offset + count > self.data.len() { - return Err("out of data".into()) + return Err("out of data".into()); } let range = self.offset..(self.offset + count); @@ -66,7 +66,7 @@ impl<'a> Input for ByteSliceInput<'a> { fn read_byte(&mut self) -> Result { if self.offset + 1 > self.data.len() { - return Err("out of data".into()) + return Err("out of data".into()); } let byte = self.data[self.offset]; @@ -112,11 +112,11 @@ where let padding = nibble_count % nibble_ops::NIBBLE_PER_BYTE != 0; // data should be at least of size offset + 1 if data.len() < input.offset + 1 { - return Err(Error::BadFormat) + return Err(Error::BadFormat); } // check that the padding is valid (if any) if padding && nibble_ops::pad_left(data[input.offset]) != 0 { - return Err(Error::BadFormat) + return Err(Error::BadFormat); } let partial = input.take(nibble_count.div_ceil(nibble_ops::NIBBLE_PER_BYTE))?; let partial_padding = nibble_ops::number_padding(nibble_count); @@ -157,11 +157,11 @@ where let padding = nibble_count % nibble_ops::NIBBLE_PER_BYTE != 0; // data should be at least of size offset + 1 if data.len() < input.offset + 1 { - return Err(Error::BadFormat) + return Err(Error::BadFormat); } // check that the padding is valid (if any) if padding && nibble_ops::pad_left(data[input.offset]) != 0 { - return Err(Error::BadFormat) + return Err(Error::BadFormat); } let partial = input.take(nibble_count.div_ceil(nibble_ops::NIBBLE_PER_BYTE))?; let partial_padding = nibble_ops::number_padding(nibble_count); @@ -231,12 +231,15 @@ where ) -> Vec { let contains_hash = matches!(&value, Some(Value::Node(..))); let mut output = match (&value, contains_hash) { - (&None, _) => - partial_from_iterator_encode(partial, number_nibble, NodeKind::BranchNoValue), - (_, false) => - partial_from_iterator_encode(partial, number_nibble, NodeKind::BranchWithValue), - (_, true) => - partial_from_iterator_encode(partial, number_nibble, NodeKind::HashedValueBranch), + (&None, _) => { + partial_from_iterator_encode(partial, number_nibble, NodeKind::BranchNoValue) + }, + (_, false) => { + partial_from_iterator_encode(partial, number_nibble, NodeKind::BranchWithValue) + }, + (_, true) => { + partial_from_iterator_encode(partial, number_nibble, NodeKind::HashedValueBranch) + }, }; let bitmap_index = output.len(); @@ -287,10 +290,12 @@ fn partial_from_iterator_encode>( NodeKind::Leaf => NodeHeader::Leaf(nibble_count).encode_to(&mut output), NodeKind::BranchWithValue => NodeHeader::Branch(true, nibble_count).encode_to(&mut output), NodeKind::BranchNoValue => NodeHeader::Branch(false, nibble_count).encode_to(&mut output), - NodeKind::HashedValueLeaf => - NodeHeader::HashedValueLeaf(nibble_count).encode_to(&mut output), - NodeKind::HashedValueBranch => - NodeHeader::HashedValueBranch(nibble_count).encode_to(&mut output), + NodeKind::HashedValueLeaf => { + NodeHeader::HashedValueLeaf(nibble_count).encode_to(&mut output) + }, + NodeKind::HashedValueBranch => { + NodeHeader::HashedValueBranch(nibble_count).encode_to(&mut output) + }, }; output.extend(partial); output diff --git a/substrate/primitives/trie/src/node_header.rs b/substrate/primitives/trie/src/node_header.rs index 6644fa01a5370..7d1593a5515b3 100644 --- a/substrate/primitives/trie/src/node_header.rs +++ b/substrate/primitives/trie/src/node_header.rs @@ -54,16 +54,18 @@ impl Encode for NodeHeader { fn encode_to(&self, output: &mut T) { match self { NodeHeader::Null => output.push_byte(trie_constants::EMPTY_TRIE), - NodeHeader::Branch(true, nibble_count) => - encode_size_and_prefix(*nibble_count, trie_constants::BRANCH_WITH_MASK, 2, output), + NodeHeader::Branch(true, nibble_count) => { + encode_size_and_prefix(*nibble_count, trie_constants::BRANCH_WITH_MASK, 2, output) + }, NodeHeader::Branch(false, nibble_count) => encode_size_and_prefix( *nibble_count, trie_constants::BRANCH_WITHOUT_MASK, 2, output, ), - NodeHeader::Leaf(nibble_count) => - encode_size_and_prefix(*nibble_count, trie_constants::LEAF_PREFIX_MASK, 2, output), + NodeHeader::Leaf(nibble_count) => { + encode_size_and_prefix(*nibble_count, trie_constants::LEAF_PREFIX_MASK, 2, output) + }, NodeHeader::HashedValueBranch(nibble_count) => encode_size_and_prefix( *nibble_count, trie_constants::ALT_HASHING_BRANCH_WITH_MASK, @@ -86,14 +88,16 @@ impl Decode for NodeHeader { fn decode(input: &mut I) -> Result { let i = input.read_byte()?; if i == trie_constants::EMPTY_TRIE { - return Ok(NodeHeader::Null) + return Ok(NodeHeader::Null); } match i & (0b11 << 6) { trie_constants::LEAF_PREFIX_MASK => Ok(NodeHeader::Leaf(decode_size(i, input, 2)?)), - trie_constants::BRANCH_WITH_MASK => - Ok(NodeHeader::Branch(true, decode_size(i, input, 2)?)), - trie_constants::BRANCH_WITHOUT_MASK => - Ok(NodeHeader::Branch(false, decode_size(i, input, 2)?)), + trie_constants::BRANCH_WITH_MASK => { + Ok(NodeHeader::Branch(true, decode_size(i, input, 2)?)) + }, + trie_constants::BRANCH_WITHOUT_MASK => { + Ok(NodeHeader::Branch(false, decode_size(i, input, 2)?)) + }, trie_constants::EMPTY_TRIE => { if i & (0b111 << 5) == trie_constants::ALT_HASHING_LEAF_PREFIX_MASK { Ok(NodeHeader::HashedValueLeaf(decode_size(i, input, 3)?)) @@ -160,13 +164,13 @@ fn decode_size( let max_value = 255u8 >> prefix_mask; let mut result = (first & max_value) as usize; if result < max_value as usize { - return Ok(result) + return Ok(result); } result -= 1; loop { let n = input.read_byte()? as usize; if n < 255 { - return Ok(result + n + 1) + return Ok(result + n + 1); } result += 255; } diff --git a/substrate/primitives/trie/src/recorder.rs b/substrate/primitives/trie/src/recorder.rs index de21142d89068..a7ec4fc73cdf6 100644 --- a/substrate/primitives/trie/src/recorder.rs +++ b/substrate/primitives/trie/src/recorder.rs @@ -389,7 +389,7 @@ impl<'a, H: Hasher> trie_db::TrieRecorder for TrieRecorder<'a, H> { ?hash, "Ignoring node", ); - return + return; } tracing::trace!( @@ -419,7 +419,7 @@ impl<'a, H: Hasher> trie_db::TrieRecorder for TrieRecorder<'a, H> { ?hash, "Ignoring node", ); - return + return; } tracing::trace!( @@ -450,7 +450,7 @@ impl<'a, H: Hasher> trie_db::TrieRecorder for TrieRecorder<'a, H> { ?hash, "Ignoring value", ); - return + return; } tracing::trace!( diff --git a/substrate/primitives/trie/src/storage_proof.rs b/substrate/primitives/trie/src/storage_proof.rs index 8bb6eb1da9c50..93a8bb4289584 100644 --- a/substrate/primitives/trie/src/storage_proof.rs +++ b/substrate/primitives/trie/src/storage_proof.rs @@ -172,7 +172,7 @@ impl From<&StorageProof> for crate::MemoryDB { } /// Storage proof in compact form. -#[derive(Debug, PartialEq, Eq, Clone, Encode, Decode, TypeInfo)] +#[derive(Debug, PartialEq, Eq, Clone, Encode, Decode, DecodeWithMemTracking, TypeInfo)] pub struct CompactProof { pub encoded_nodes: Vec>, } diff --git a/substrate/primitives/trie/src/trie_codec.rs b/substrate/primitives/trie/src/trie_codec.rs index 521f0edce70d0..269b65901012a 100644 --- a/substrate/primitives/trie/src/trie_codec.rs +++ b/substrate/primitives/trie/src/trie_codec.rs @@ -70,7 +70,7 @@ where // Only check root if expected root is passed as argument. if let Some(expected_root) = expected_root.filter(|expected| *expected != &top_root) { - return Err(Error::RootMismatch(top_root, *expected_root)) + return Err(Error::RootMismatch(top_root, *expected_root)); } let mut child_tries = Vec::new(); @@ -90,7 +90,7 @@ where let mut root = TrieHash::::default(); // still in a proof so prevent panic if root.as_mut().len() != value.as_slice().len() { - return Err(Error::InvalidChildRoot(key, value)) + return Err(Error::InvalidChildRoot(key, value)); } root.as_mut().copy_from_slice(value.as_ref()); child_tries.push(root); @@ -108,7 +108,7 @@ where } if !HashDBT::::contains(db, &top_root, EMPTY_PREFIX) { - return Err(Error::IncompleteProof) + return Err(Error::IncompleteProof); } let mut previous_extracted_child_trie = None; @@ -130,11 +130,11 @@ where if let Some(child_root) = previous_extracted_child_trie { // A child root was read from proof but is not present // in top trie. - return Err(Error::ExtraneousChildProof(child_root)) + return Err(Error::ExtraneousChildProof(child_root)); } if nodes_iter.next().is_some() { - return Err(Error::ExtraneousChildNode) + return Err(Error::ExtraneousChildNode); } Ok(top_root) @@ -169,7 +169,7 @@ where let mut root = TrieHash::::default(); if root.as_mut().len() != value.as_slice().len() { // some child trie root in top trie are not an encoded hash. - return Err(Error::InvalidChildRoot(key.to_vec(), value.to_vec())) + return Err(Error::InvalidChildRoot(key.to_vec(), value.to_vec())); } root.as_mut().copy_from_slice(value.as_ref()); child_tries.push(root); @@ -192,7 +192,7 @@ where if !HashDBT::::contains(partial_db, &child_root, EMPTY_PREFIX) { // child proof are allowed to be missing (unused root can be included // due to trie structure modification). - continue + continue; } let trie = crate::TrieDBBuilder::::new(partial_db, &child_root).build(); diff --git a/substrate/primitives/trie/src/trie_stream.rs b/substrate/primitives/trie/src/trie_stream.rs index d7ea80b3cb5a7..b0e8152a5c055 100644 --- a/substrate/primitives/trie/src/trie_stream.rs +++ b/substrate/primitives/trie/src/trie_stream.rs @@ -57,14 +57,18 @@ fn fuse_nibbles_node(nibbles: &[u8], kind: NodeKind) -> impl Iterator let size = nibbles.len(); let iter_start = match kind { NodeKind::Leaf => size_and_prefix_iterator(size, trie_constants::LEAF_PREFIX_MASK, 2), - NodeKind::BranchNoValue => - size_and_prefix_iterator(size, trie_constants::BRANCH_WITHOUT_MASK, 2), - NodeKind::BranchWithValue => - size_and_prefix_iterator(size, trie_constants::BRANCH_WITH_MASK, 2), - NodeKind::HashedValueLeaf => - size_and_prefix_iterator(size, trie_constants::ALT_HASHING_LEAF_PREFIX_MASK, 3), - NodeKind::HashedValueBranch => - size_and_prefix_iterator(size, trie_constants::ALT_HASHING_BRANCH_WITH_MASK, 4), + NodeKind::BranchNoValue => { + size_and_prefix_iterator(size, trie_constants::BRANCH_WITHOUT_MASK, 2) + }, + NodeKind::BranchWithValue => { + size_and_prefix_iterator(size, trie_constants::BRANCH_WITH_MASK, 2) + }, + NodeKind::HashedValueLeaf => { + size_and_prefix_iterator(size, trie_constants::ALT_HASHING_LEAF_PREFIX_MASK, 3) + }, + NodeKind::HashedValueBranch => { + size_and_prefix_iterator(size, trie_constants::ALT_HASHING_BRANCH_WITH_MASK, 4) + }, }; iter_start .chain(if nibbles.len() % 2 == 1 { Some(nibbles[0]) } else { None }) diff --git a/substrate/primitives/version/proc-macro/src/decl_runtime_version.rs b/substrate/primitives/version/proc-macro/src/decl_runtime_version.rs index ac6d501b927d7..9408839856403 100644 --- a/substrate/primitives/version/proc-macro/src/decl_runtime_version.rs +++ b/substrate/primitives/version/proc-macro/src/decl_runtime_version.rs @@ -88,8 +88,12 @@ impl ParseRuntimeVersion { fn parse_expr(init_expr: &Expr) -> Result<(ParseRuntimeVersion, Vec)> { let init_expr = match init_expr { Expr::Struct(ref e) => e, - _ => - return Err(Error::new(init_expr.span(), "expected a struct initializer expression")), + _ => { + return Err(Error::new( + init_expr.span(), + "expected a struct initializer expression", + )) + }, }; let mut parsed = ParseRuntimeVersion::default(); @@ -103,8 +107,9 @@ impl ParseRuntimeVersion { fn parse_field_value(&mut self, field_value: &FieldValue) -> Result> { let field_name = match field_value.member { syn::Member::Named(ref ident) => ident, - syn::Member::Unnamed(_) => - return Err(Error::new(field_value.span(), "only named members must be used")), + syn::Member::Unnamed(_) => { + return Err(Error::new(field_value.span(), "only named members must be used")) + }, }; fn parse_once( @@ -151,7 +156,7 @@ impl ParseRuntimeVersion { // the "runtime_version" custom section. `impl_runtime_apis` is responsible for // generating a custom section with the supported runtime apis descriptor. } else { - return Err(Error::new(field_name.span(), "unknown field")) + return Err(Error::new(field_name.span(), "unknown field")); } Ok(warnings) @@ -160,11 +165,12 @@ impl ParseRuntimeVersion { fn parse_num_literal(expr: &Expr) -> Result { let lit = match *expr { Expr::Lit(ExprLit { lit: Lit::Int(ref lit), .. }) => lit, - _ => + _ => { return Err(Error::new( expr.span(), "only numeric literals (e.g. `10`) are supported here", - )), + )) + }, }; lit.base10_parse::() } @@ -172,11 +178,12 @@ impl ParseRuntimeVersion { fn parse_num_literal_u8(expr: &Expr) -> Result { let lit = match *expr { Expr::Lit(ExprLit { lit: Lit::Int(ref lit), .. }) => lit, - _ => + _ => { return Err(Error::new( expr.span(), "only numeric literals (e.g. `10`) are supported here", - )), + )) + }, }; lit.base10_parse::() } diff --git a/substrate/primitives/version/src/lib.rs b/substrate/primitives/version/src/lib.rs index ffa8a9c511007..b6d303ed871ea 100644 --- a/substrate/primitives/version/src/lib.rs +++ b/substrate/primitives/version/src/lib.rs @@ -376,43 +376,48 @@ impl<'de> serde::Deserialize<'de> for RuntimeVersion { { let spec_name = match seq.next_element()? { Some(spec_name) => spec_name, - None => + None => { return Err(serde::de::Error::invalid_length( 0usize, &"struct RuntimeVersion with 8 elements", - )), + )) + }, }; let impl_name = match seq.next_element()? { Some(impl_name) => impl_name, - None => + None => { return Err(serde::de::Error::invalid_length( 1usize, &"struct RuntimeVersion with 8 elements", - )), + )) + }, }; let authoring_version = match seq.next_element()? { Some(authoring_version) => authoring_version, - None => + None => { return Err(serde::de::Error::invalid_length( 2usize, &"struct RuntimeVersion with 8 elements", - )), + )) + }, }; let spec_version = match seq.next_element()? { Some(spec_version) => spec_version, - None => + None => { return Err(serde::de::Error::invalid_length( 3usize, &"struct RuntimeVersion with 8 elements", - )), + )) + }, }; let impl_version = match seq.next_element()? { Some(impl_version) => impl_version, - None => + None => { return Err(serde::de::Error::invalid_length( 4usize, &"struct RuntimeVersion with 8 elements", - )), + )) + }, }; let apis = match { struct DeserializeWith<'de> { @@ -436,27 +441,30 @@ impl<'de> serde::Deserialize<'de> for RuntimeVersion { seq.next_element::>()?.map(|wrap| wrap.value) } { Some(apis) => apis, - None => + None => { return Err(serde::de::Error::invalid_length( 5usize, &"struct RuntimeVersion with 8 elements", - )), + )) + }, }; let transaction_version = match seq.next_element()? { Some(transaction_version) => transaction_version, - None => + None => { return Err(serde::de::Error::invalid_length( 6usize, &"struct RuntimeVersion with 8 elements", - )), + )) + }, }; let system_version = match seq.next_element()? { Some(system_version) => system_version, - None => + None => { return Err(serde::de::Error::invalid_length( 7usize, &"struct RuntimeVersion with 8 elements", - )), + )) + }, }; Ok(RuntimeVersion { spec_name, @@ -528,7 +536,9 @@ impl<'de> serde::Deserialize<'de> for RuntimeVersion { }, Field::Apis => { if apis.is_some() { - return Err(::duplicate_field("apis")); + return Err(::duplicate_field( + "apis", + )); } apis = Some({ struct DeserializeWith<'de> { @@ -558,7 +568,7 @@ impl<'de> serde::Deserialize<'de> for RuntimeVersion { } transaction_version = Some(map.next_value()?); }, - Field::SystemVersion => + Field::SystemVersion => { if let Some(system_version) = system_version { let new_value = map.next_value::()?; if system_version != new_value { @@ -572,7 +582,8 @@ impl<'de> serde::Deserialize<'de> for RuntimeVersion { } } else { system_version = Some(map.next_value()?); - }, + } + }, _ => { map.next_value::()?; }, diff --git a/substrate/primitives/weights/src/weight_v2.rs b/substrate/primitives/weights/src/weight_v2.rs index 790bb5ce41c38..f2c437b2c29f8 100644 --- a/substrate/primitives/weights/src/weight_v2.rs +++ b/substrate/primitives/weights/src/weight_v2.rs @@ -119,6 +119,7 @@ impl Weight { /// Saturating [`Weight`] addition. Computes `self + rhs`, saturating at the numeric bounds of /// all fields instead of overflowing. + #[must_use] pub const fn saturating_add(self, rhs: Self) -> Self { Self { ref_time: self.ref_time.saturating_add(rhs.ref_time), @@ -128,6 +129,7 @@ impl Weight { /// Saturating [`Weight`] subtraction. Computes `self - rhs`, saturating at the numeric bounds /// of all fields instead of overflowing. + #[must_use] pub const fn saturating_sub(self, rhs: Self) -> Self { Self { ref_time: self.ref_time.saturating_sub(rhs.ref_time), @@ -137,6 +139,7 @@ impl Weight { /// Saturating [`Weight`] scalar multiplication. Computes `self.field * scalar` for all fields, /// saturating at the numeric bounds of all fields instead of overflowing. + #[must_use] pub const fn saturating_mul(self, scalar: u64) -> Self { Self { ref_time: self.ref_time.saturating_mul(scalar), @@ -146,6 +149,7 @@ impl Weight { /// Saturating [`Weight`] scalar division. Computes `self.field / scalar` for all fields, /// saturating at the numeric bounds of all fields instead of overflowing. + #[must_use] pub const fn saturating_div(self, scalar: u64) -> Self { Self { ref_time: self.ref_time.saturating_div(scalar), @@ -155,6 +159,7 @@ impl Weight { /// Saturating [`Weight`] scalar exponentiation. Computes `self.field.pow(exp)` for all fields, /// saturating at the numeric bounds of all fields instead of overflowing. + #[must_use] pub const fn saturating_pow(self, exp: u32) -> Self { Self { ref_time: self.ref_time.saturating_pow(exp), @@ -173,6 +178,7 @@ impl Weight { } /// Checked [`Weight`] addition. Computes `self + rhs`, returning `None` if overflow occurred. + #[must_use] pub const fn checked_add(&self, rhs: &Self) -> Option { let ref_time = match self.ref_time.checked_add(rhs.ref_time) { Some(t) => t, @@ -187,6 +193,7 @@ impl Weight { /// Checked [`Weight`] subtraction. Computes `self - rhs`, returning `None` if overflow /// occurred. + #[must_use] pub const fn checked_sub(&self, rhs: &Self) -> Option { let ref_time = match self.ref_time.checked_sub(rhs.ref_time) { Some(t) => t, @@ -201,6 +208,7 @@ impl Weight { /// Checked [`Weight`] scalar multiplication. Computes `self.field * scalar` for each field, /// returning `None` if overflow occurred. + #[must_use] pub const fn checked_mul(self, scalar: u64) -> Option { let ref_time = match self.ref_time.checked_mul(scalar) { Some(t) => t, @@ -215,6 +223,7 @@ impl Weight { /// Checked [`Weight`] scalar division. Computes `self.field / scalar` for each field, returning /// `None` if overflow occurred. + #[must_use] pub const fn checked_div(self, scalar: u64) -> Option { let ref_time = match self.ref_time.checked_div(scalar) { Some(t) => t, @@ -236,6 +245,7 @@ impl Weight { /// one non-zero component in `other`. The division for this particular component will then /// yield the maximum value (e.g u64::MAX). This is because we assume not every operation and /// hence each `Weight` will necessarily use each resource. + #[must_use] pub const fn checked_div_per_component(self, other: &Self) -> Option { let mut all_zero = true; let ref_time = match self.ref_time.checked_div(other.ref_time) { @@ -277,6 +287,7 @@ impl Weight { /// Constant version of Add for `ref_time` component with u64. /// /// Is only overflow safe when evaluated at compile-time. + #[must_use] pub const fn add_ref_time(self, scalar: u64) -> Self { Self { ref_time: self.ref_time + scalar, proof_size: self.proof_size } } @@ -284,6 +295,7 @@ impl Weight { /// Constant version of Add for `proof_size` component with u64. /// /// Is only overflow safe when evaluated at compile-time. + #[must_use] pub const fn add_proof_size(self, scalar: u64) -> Self { Self { ref_time: self.ref_time, proof_size: self.proof_size + scalar } } @@ -291,6 +303,7 @@ impl Weight { /// Constant version of Sub for `ref_time` component with u64. /// /// Is only overflow safe when evaluated at compile-time. + #[must_use] pub const fn sub_ref_time(self, scalar: u64) -> Self { Self { ref_time: self.ref_time - scalar, proof_size: self.proof_size } } @@ -298,26 +311,31 @@ impl Weight { /// Constant version of Sub for `proof_size` component with u64. /// /// Is only overflow safe when evaluated at compile-time. + #[must_use] pub const fn sub_proof_size(self, scalar: u64) -> Self { Self { ref_time: self.ref_time, proof_size: self.proof_size - scalar } } /// Saturating version of Add for `ref_time` component with u64. + #[must_use] pub const fn saturating_add_ref_time(self, scalar: u64) -> Self { Self { ref_time: self.ref_time.saturating_add(scalar), proof_size: self.proof_size } } /// Saturating version of Add for `proof_size` component with u64. + #[must_use] pub const fn saturating_add_proof_size(self, scalar: u64) -> Self { Self { ref_time: self.ref_time, proof_size: self.proof_size.saturating_add(scalar) } } /// Saturating version of Sub for `ref_time` component with u64. + #[must_use] pub const fn saturating_sub_ref_time(self, scalar: u64) -> Self { Self { ref_time: self.ref_time.saturating_sub(scalar), proof_size: self.proof_size } } /// Saturating version of Sub for `proof_size` component with u64. + #[must_use] pub const fn saturating_sub_proof_size(self, scalar: u64) -> Self { Self { ref_time: self.ref_time, proof_size: self.proof_size.saturating_sub(scalar) } } @@ -325,6 +343,7 @@ impl Weight { /// Constant version of Div with u64. /// /// Is only overflow safe when evaluated at compile-time. + #[must_use] pub const fn div(self, scalar: u64) -> Self { Self { ref_time: self.ref_time / scalar, proof_size: self.proof_size / scalar } } @@ -332,6 +351,7 @@ impl Weight { /// Constant version of Mul with u64. /// /// Is only overflow safe when evaluated at compile-time. + #[must_use] pub const fn mul(self, scalar: u64) -> Self { Self { ref_time: self.ref_time * scalar, proof_size: self.proof_size * scalar } } diff --git a/substrate/test-utils/cli/src/lib.rs b/substrate/test-utils/cli/src/lib.rs index a77b01da6ba12..007f2713e3855 100644 --- a/substrate/test-utils/cli/src/lib.rs +++ b/substrate/test-utils/cli/src/lib.rs @@ -220,7 +220,7 @@ pub async fn wait_n_finalized_blocks(n: usize, url: &str) { if let Ok(block) = ChainApi::<(), Hash, Header, ()>::finalized_head(&rpc).await { built_blocks.insert(block); if built_blocks.len() > n { - break + break; } }; interval.tick().await; @@ -269,8 +269,9 @@ pub async fn block_hash(block_number: u64, url: &str) -> Result { .map_err(|_| "Couldn't get block hash".to_string())?; match result { - ListOrValue::Value(maybe_block_hash) if maybe_block_hash.is_some() => - Ok(maybe_block_hash.unwrap()), + ListOrValue::Value(maybe_block_hash) if maybe_block_hash.is_some() => { + Ok(maybe_block_hash.unwrap()) + }, _ => Err("Couldn't get block hash".to_string()), } } diff --git a/substrate/test-utils/client/src/lib.rs b/substrate/test-utils/client/src/lib.rs index 5a4e6c911694e..0088aa63445ef 100644 --- a/substrate/test-utils/client/src/lib.rs +++ b/substrate/test-utils/client/src/lib.rs @@ -350,7 +350,7 @@ pub(crate) fn parse_rpc_result( if let Some(error) = error { return Err(serde_json::from_value(error.clone()) - .expect("the JSONRPC result's error is always valid; qed")) + .expect("the JSONRPC result's error is always valid; qed")); } Ok(RpcTransactionOutput { result, receiver }) @@ -384,7 +384,7 @@ where if notification.is_new_best { blocks.insert(*notification.header.number()); if blocks.len() == count { - break + break; } } } diff --git a/substrate/test-utils/runtime/Cargo.toml b/substrate/test-utils/runtime/Cargo.toml index 91bf368f573cd..53d205d224af1 100644 --- a/substrate/test-utils/runtime/Cargo.toml +++ b/substrate/test-utils/runtime/Cargo.toml @@ -36,7 +36,7 @@ sp-consensus-babe = { features = ["serde"], workspace = true } sp-consensus-grandpa = { features = ["serde"], workspace = true } sp-core = { features = ["serde"], workspace = true } sp-crypto-hashing = { workspace = true } -sp-debug-derive = { workspace = true, default-features = false, features = ["force-debug"] } +sp-debug-derive = { workspace = true, default-features = false } sp-externalities = { workspace = true } sp-genesis-builder = { workspace = true } sp-inherents = { workspace = true } @@ -46,6 +46,7 @@ sp-offchain = { workspace = true } sp-runtime = { features = ["serde"], workspace = true } sp-session = { workspace = true } sp-state-machine = { workspace = true } +sp-statement-store = { workspace = true } sp-transaction-pool = { workspace = true } sp-trie = { workspace = true } sp-version = { workspace = true } @@ -111,6 +112,7 @@ std = [ "sp-runtime/std", "sp-session/std", "sp-state-machine/std", + "sp-statement-store/std", "sp-tracing/std", "sp-transaction-pool/std", "sp-trie/std", diff --git a/substrate/test-utils/runtime/src/lib.rs b/substrate/test-utils/runtime/src/lib.rs index 62a03537f7f60..ff59929d4e59c 100644 --- a/substrate/test-utils/runtime/src/lib.rs +++ b/substrate/test-utils/runtime/src/lib.rs @@ -46,11 +46,9 @@ use frame_system::{ CheckNonce, CheckWeight, }; use scale_info::TypeInfo; -use sp_application_crypto::Ss58Codec; +use sp_application_crypto::{ecdsa, ed25519, sr25519, RuntimeAppPublic, Ss58Codec}; use sp_keyring::Sr25519Keyring; -use sp_application_crypto::{ecdsa, ed25519, sr25519, RuntimeAppPublic}; - #[cfg(feature = "bls-experimental")] use sp_application_crypto::{bls381, ecdsa_bls381}; @@ -329,8 +327,9 @@ impl sp_runtime::traits::TransactionExtension for CheckSubstrateCal > { log::trace!(target: LOG_TARGET, "validate"); let v = match call { - RuntimeCall::SubstrateTest(ref substrate_test_call) => - substrate_test_pallet::validate_runtime_call(substrate_test_call)?, + RuntimeCall::SubstrateTest(ref substrate_test_call) => { + substrate_test_pallet::validate_runtime_call(substrate_test_call)? + }, _ => Default::default(), }; Ok((v, (), origin)) @@ -362,8 +361,12 @@ parameter_types! { pub const BlockHashCount: BlockNumber = 2400; pub const Version: RuntimeVersion = VERSION; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) @@ -479,7 +482,7 @@ fn code_using_trie() -> u64 { let mut t = TrieDBMutBuilderV1::::new(&mut mdb, &mut root).build(); for (key, value) in &pairs { if t.insert(key, value).is_err() { - return 101 + return 101; } } } @@ -745,8 +748,8 @@ impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(_: Option>) -> Vec { - SessionKeys::generate(None) + fn generate_session_keys(owner: Vec, _: Option>) -> sp_session::OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, None).into() } fn decode_session_keys( @@ -1557,7 +1560,7 @@ mod tests { #[test] fn build_genesis_config_with_patch_json_works() { - //this tests shows how to do patching on native side + // this tests shows how to do patching on native side sp_tracing::try_init_simple(); let mut t = BasicExternalities::new_empty(); @@ -1605,7 +1608,7 @@ mod tests { storage.top.get(&array_bytes::hex2bytes(key).unwrap()).unwrap().clone() }; - //SubstrateTest|Authorities + // SubstrateTest|Authorities let value: Vec = get_from_storage( "00771836bebdd29870ff246d305c578c5e0621c4869aa60c02be9adcc98a0d1d", ); @@ -1615,7 +1618,7 @@ mod tests { assert_eq!(authority_key_vec[0], Sr25519Keyring::Ferdie.public()); assert_eq!(authority_key_vec[1], Sr25519Keyring::Alice.public()); - //Babe|Authorities + // Babe|Authorities let value: Vec = get_from_storage( "1cb6f36e027abb2091cfb5110ab5087fdc6b171b77304263c292cc3ea5ed31ef", ); @@ -1634,7 +1637,7 @@ mod tests { ); assert_eq!(u64::decode(&mut &value[..]).unwrap(), 0); - //System|ParentHash + // System|ParentHash let value: Vec = get_from_storage( "26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc", ); diff --git a/substrate/test-utils/runtime/src/substrate_test_pallet.rs b/substrate/test-utils/runtime/src/substrate_test_pallet.rs index 8375a68c8ff2f..b128935aff509 100644 --- a/substrate/test-utils/runtime/src/substrate_test_pallet.rs +++ b/substrate/test-utils/runtime/src/substrate_test_pallet.rs @@ -202,7 +202,7 @@ pub mod pallet { next_key = next; } else { if panic_at_end { - return Ok(()) + return Ok(()); } else { panic!("Could not read {read} times from the state"); } @@ -243,10 +243,12 @@ pub mod pallet { pub fn validate_runtime_call(call: &pallet::Call) -> TransactionValidity { log::trace!(target: LOG_TARGET, "validate_runtime_call {call:?}"); match call { - Call::call_do_not_propagate {} => - Ok(ValidTransaction { propagate: false, ..Default::default() }), - Call::call_with_priority { priority } => - Ok(ValidTransaction { priority: *priority, ..Default::default() }), + Call::call_do_not_propagate {} => { + Ok(ValidTransaction { propagate: false, ..Default::default() }) + }, + Call::call_with_priority { priority } => { + Ok(ValidTransaction { priority: *priority, ..Default::default() }) + }, _ => Ok(Default::default()), } } diff --git a/substrate/test-utils/runtime/transaction-pool/src/lib.rs b/substrate/test-utils/runtime/transaction-pool/src/lib.rs index c90b8099ff253..f44e3c00d9d63 100644 --- a/substrate/test-utils/runtime/transaction-pool/src/lib.rs +++ b/substrate/test-utils/runtime/transaction-pool/src/lib.rs @@ -399,11 +399,14 @@ impl ChainApi for TestApi { // the transaction. (This is not required for this test function, but in real // environment it would fail because of this). if !found_best { - return Ok(Err(TransactionValidityError::Invalid(InvalidTransaction::Custom(1)))) + return Ok(Err(TransactionValidityError::Invalid(InvalidTransaction::Custom( + 1, + )))); } }, - Ok(None) => - return Ok(Err(TransactionValidityError::Invalid(InvalidTransaction::Custom(2)))), + Ok(None) => { + return Ok(Err(TransactionValidityError::Invalid(InvalidTransaction::Custom(2)))) + }, Err(e) => return Err(e), } @@ -444,7 +447,7 @@ impl ChainApi for TestApi { if self.enable_stale_check && transfer.nonce < chain_nonce { log::info!("test_api::validate_transaction: invalid_transaction(stale)...."); - return Ok(Err(TransactionValidityError::Invalid(InvalidTransaction::Stale))) + return Ok(Err(TransactionValidityError::Invalid(InvalidTransaction::Stale))); } (requires, provides) @@ -454,7 +457,7 @@ impl ChainApi for TestApi { if self.chain.read().invalid_hashes.contains(&self.hash_and_length(&uxt).0) { log::info!("test_api::validate_transaction: invalid_transaction...."); - return Ok(Err(TransactionValidityError::Invalid(InvalidTransaction::Custom(0)))) + return Ok(Err(TransactionValidityError::Invalid(InvalidTransaction::Custom(0)))); } let priority = self.chain.read().priorities.get(&self.hash_and_length(&uxt).0).cloned(); @@ -468,7 +471,7 @@ impl ChainApi for TestApi { .unwrap_or(64); if longevity == 0 { - return Ok(Err(TransactionValidityError::Invalid(InvalidTransaction::BadProof))) + return Ok(Err(TransactionValidityError::Invalid(InvalidTransaction::BadProof))); } let mut validity = ValidTransaction { @@ -489,8 +492,9 @@ impl ChainApi for TestApi { at: &BlockId, ) -> Result>, Error> { Ok(match at { - generic::BlockId::Hash(x) => - self.chain.read().block_by_hash.get(x).map(|b| *b.header.number()), + generic::BlockId::Hash(x) => { + self.chain.read().block_by_hash.get(x).map(|b| *b.header.number()) + }, generic::BlockId::Number(num) => Some(*num), }) } @@ -501,10 +505,11 @@ impl ChainApi for TestApi { ) -> Result::Hash>, Error> { Ok(match at { generic::BlockId::Hash(x) => Some(*x), - generic::BlockId::Number(num) => + generic::BlockId::Number(num) => { self.chain.read().block_by_number.get(num).and_then(|blocks| { blocks.iter().find(|b| b.1.is_best()).map(|b| b.0.header().hash()) - }), + }) + }, }) } diff --git a/substrate/utils/binary-merkle-tree/src/lib.rs b/substrate/utils/binary-merkle-tree/src/lib.rs index 159cb17e30d73..0d25d122a6d21 100644 --- a/substrate/utils/binary-merkle-tree/src/lib.rs +++ b/substrate/utils/binary-merkle-tree/src/lib.rs @@ -314,7 +314,7 @@ where L: Into>, { if leaf_index >= number_of_leaves { - return false + return false; } let leaf_hash = match leaf.into() { @@ -407,7 +407,7 @@ where "[merkelize_row] Next: {:?}", next.iter().map(|s| array_bytes::bytes2hex("", s)).collect::>() ); - return Err(next) + return Err(next); }, } } diff --git a/substrate/utils/build-script-utils/src/git.rs b/substrate/utils/build-script-utils/src/git.rs index 555cfdb5d4e7f..c0bb36393aa2c 100644 --- a/substrate/utils/build-script-utils/src/git.rs +++ b/substrate/utils/build-script-utils/src/git.rs @@ -39,7 +39,7 @@ pub fn rerun_if_git_head_changed() { Err(err) => { eprintln!("cargo:warning=Unable to read the Git repository: {}", err); - return + return; }, Ok(None) => {}, Ok(Some(paths)) => { @@ -47,7 +47,7 @@ pub fn rerun_if_git_head_changed() { println!("cargo:rerun-if-changed={}", p.display()); } - return + return; }, } diff --git a/substrate/utils/fork-tree/src/lib.rs b/substrate/utils/fork-tree/src/lib.rs index fe349b6c29afb..95fa885428bfb 100644 --- a/substrate/utils/fork-tree/src/lib.rs +++ b/substrate/utils/fork-tree/src/lib.rs @@ -144,7 +144,7 @@ where { if let Some(ref best_finalized_number) = self.best_finalized_number { if number <= *best_finalized_number { - return Err(Error::Revert) + return Err(Error::Revert); } } @@ -155,7 +155,7 @@ where }; if children.iter().any(|elem| elem.hash == hash) { - return Err(Error::Duplicate) + return Err(Error::Duplicate); } children.push(Node { data, hash, number, children: Default::default() }); @@ -287,7 +287,6 @@ where /// /// If a node is found that matches the predicate the returned path should always /// contain at least one index, otherwise `None` is returned. - // // WARNING: some users of this method (i.e. consensus epoch changes tree) currently silently // rely on a **post-order DFS** traversal. If we are using instead a top-down traversal method // then the `is_descendent_of` closure, when used after a warp-sync, will end up querying the @@ -313,7 +312,7 @@ where while root_idx < self.roots.len() { if *number <= self.roots[root_idx].number { root_idx += 1; - continue + continue; } // The second element in the stack tuple tracks what is the **next** children // index to search into. If we find an ancestor then we stop searching into @@ -329,7 +328,7 @@ where is_descendent = true; if predicate(&node.data) { found = true; - break + break; } } } @@ -337,7 +336,7 @@ where // If the element we are looking for is a descendent of the current root // then we can stop the search. if is_descendent { - break + break; } root_idx += 1; } @@ -401,12 +400,12 @@ where for (idx, child) in curr.children.iter().enumerate() { if child.number < *number && is_descendent_of(&child.hash, hash)? { maybe_ancestor_idx = Some(idx); - break + break; } } let Some(ancestor_idx) = maybe_ancestor_idx else { // Now we are positioned just above block identified by `hash` - break + break; }; // Preserve only the ancestor node, the siblings are removed let mut next_siblings = std::mem::take(&mut curr.children); @@ -469,19 +468,19 @@ where { if let Some(ref best_finalized_number) = self.best_finalized_number { if number <= *best_finalized_number { - return Err(Error::Revert) + return Err(Error::Revert); } } // check if one of the current roots is being finalized if let Some(root) = self.finalize_root(hash) { - return Ok(FinalizationResult::Changed(Some(root))) + return Ok(FinalizationResult::Changed(Some(root))); } // make sure we're not finalizing a descendent of any root for root in self.roots.iter() { if number > root.number && is_descendent_of(&root.hash, hash)? { - return Err(Error::UnfinalizedAncestor) + return Err(Error::UnfinalizedAncestor); } } @@ -523,13 +522,13 @@ where { if let Some(ref best_finalized_number) = self.best_finalized_number { if number <= *best_finalized_number { - return Err(Error::Revert) + return Err(Error::Revert); } } // check if one of the current roots is being finalized if let Some(root) = self.finalize_root(hash) { - return Ok(FinalizationResult::Changed(Some(root))) + return Ok(FinalizationResult::Changed(Some(root))); } // we need to: @@ -552,13 +551,13 @@ where // if we have met finalized root - open it and return if is_finalized { - return Ok(FinalizationResult::Changed(Some(self.finalize_root_at(idx)))) + return Ok(FinalizationResult::Changed(Some(self.finalize_root_at(idx)))); } // if node is descendant of finalized block - just leave it as is if is_descendant { idx += 1; - continue + continue; } // if node is ancestor of finalized block - remove it and continue with children @@ -566,7 +565,7 @@ where let root = self.roots.swap_remove(idx); self.roots.extend(root.children); changed = true; - continue + continue; } // if node is neither ancestor, nor descendant of the finalized block - remove it @@ -606,7 +605,7 @@ where { if let Some(ref best_finalized_number) = self.best_finalized_number { if number <= *best_finalized_number { - return Err(Error::Revert) + return Err(Error::Revert); } } @@ -620,11 +619,11 @@ where if child.number <= number && (child.hash == *hash || is_descendent_of(&child.hash, hash)?) { - return Err(Error::UnfinalizedAncestor) + return Err(Error::UnfinalizedAncestor); } } - return Ok(Some(self.roots.iter().any(|root| root.hash == node.hash))) + return Ok(Some(self.roots.iter().any(|root| root.hash == node.hash))); } } @@ -652,7 +651,7 @@ where { if let Some(ref best_finalized_number) = self.best_finalized_number { if number <= *best_finalized_number { - return Err(Error::Revert) + return Err(Error::Revert); } } @@ -667,12 +666,12 @@ where if child.number <= number && (child.hash == *hash || is_descendent_of(&child.hash, hash)?) { - return Err(Error::UnfinalizedAncestor) + return Err(Error::UnfinalizedAncestor); } } position = Some(i); - break + break; } } diff --git a/substrate/utils/frame/benchmarking-cli/Cargo.toml b/substrate/utils/frame/benchmarking-cli/Cargo.toml index e58b403a03340..4460fc485a606 100644 --- a/substrate/utils/frame/benchmarking-cli/Cargo.toml +++ b/substrate/utils/frame/benchmarking-cli/Cargo.toml @@ -23,6 +23,7 @@ clap = { features = ["derive"], workspace = true } codec = { workspace = true, default-features = true } comfy-table = { workspace = true } cumulus-client-parachain-inherent = { workspace = true, default-features = true } +cumulus-primitives-core = { workspace = true, default-features = true } cumulus-primitives-proof-size-hostfunction = { workspace = true, default-features = true } env_filter = { workspace = true } frame-benchmarking = { workspace = true, default-features = true } @@ -83,6 +84,7 @@ westend-runtime = { workspace = true, default-features = true } [features] default = [] runtime-benchmarks = [ + "cumulus-primitives-core/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "frame-storage-access-test-runtime/runtime-benchmarks", "frame-support/runtime-benchmarks", diff --git a/substrate/utils/frame/benchmarking-cli/src/block/bench.rs b/substrate/utils/frame/benchmarking-cli/src/block/bench.rs index ad24ad3129870..cc2044803740e 100644 --- a/substrate/utils/frame/benchmarking-cli/src/block/bench.rs +++ b/substrate/utils/frame/benchmarking-cli/src/block/bench.rs @@ -90,7 +90,7 @@ where /// Benchmark the execution speed of historic blocks and log the results. pub fn run(&self) -> Result<()> { if self.params.from == 0 { - return Err("Cannot benchmark the genesis block".into()) + return Err("Cannot benchmark the genesis block".into()); } for i in self.params.from..=self.params.to { diff --git a/substrate/utils/frame/benchmarking-cli/src/extrinsic/bench.rs b/substrate/utils/frame/benchmarking-cli/src/extrinsic/bench.rs index dc00b1f2104fe..59da627893fa5 100644 --- a/substrate/utils/frame/benchmarking-cli/src/extrinsic/bench.rs +++ b/substrate/utils/frame/benchmarking-cli/src/extrinsic/bench.rs @@ -177,7 +177,7 @@ where num_ext += 1; } if num_ext == 0 { - return Err("A Block must hold at least one extrinsic".into()) + return Err("A Block must hold at least one extrinsic".into()); } info!("Extrinsics per block: {}", num_ext); Some(num_ext) diff --git a/substrate/utils/frame/benchmarking-cli/src/extrinsic/cmd.rs b/substrate/utils/frame/benchmarking-cli/src/extrinsic/cmd.rs index 949b8211556a4..e47973ad09081 100644 --- a/substrate/utils/frame/benchmarking-cli/src/extrinsic/cmd.rs +++ b/substrate/utils/frame/benchmarking-cli/src/extrinsic/cmd.rs @@ -107,15 +107,16 @@ impl ExtrinsicCmd { list.len(), list.join("\n") ); - return Ok(()) + return Ok(()); } let pallet = self.params.pallet.clone().unwrap_or_default(); let extrinsic = self.params.extrinsic.clone().unwrap_or_default(); let ext_builder = match ext_factory.try_get(&pallet, &extrinsic) { Some(ext_builder) => ext_builder, - None => - return Err("Unknown pallet or extrinsic. Use --list for a complete list.".into()), + None => { + return Err("Unknown pallet or extrinsic. Use --list for a complete list.".into()) + }, }; let bench = diff --git a/substrate/utils/frame/benchmarking-cli/src/machine/mod.rs b/substrate/utils/frame/benchmarking-cli/src/machine/mod.rs index 0186ca58762d5..2835aa2a1e323 100644 --- a/substrate/utils/frame/benchmarking-cli/src/machine/mod.rs +++ b/substrate/utils/frame/benchmarking-cli/src/machine/mod.rs @@ -150,8 +150,9 @@ impl MachineCmd { let score = match metric { Metric::Blake2256 => benchmark_cpu(hash_limit), - Metric::Blake2256Parallel { num_cores } => - benchmark_cpu_parallelism(hash_limit, *num_cores), + Metric::Blake2256Parallel { num_cores } => { + benchmark_cpu_parallelism(hash_limit, *num_cores) + }, Metric::Sr25519Verify => benchmark_sr25519_verify(verify_limit), Metric::MemCopy => benchmark_memory(memory_limit), Metric::DiskSeqWrite => benchmark_disk_sequential_writes(disk_limit, dir)?, @@ -213,7 +214,7 @@ impl MachineCmd { /// Validates the CLI arguments. fn validate_args(&self) -> Result<()> { if self.tolerance > 100.0 || self.tolerance < 0.0 { - return Err("The --tolerance argument is out of range".into()) + return Err("The --tolerance argument is out of range".into()); } Ok(()) } diff --git a/substrate/utils/frame/benchmarking-cli/src/overhead/command.rs b/substrate/utils/frame/benchmarking-cli/src/overhead/command.rs index ce9022f1ffcdf..edfc36423d87a 100644 --- a/substrate/utils/frame/benchmarking-cli/src/overhead/command.rs +++ b/substrate/utils/frame/benchmarking-cli/src/overhead/command.rs @@ -38,6 +38,7 @@ use crate::{ use clap::{error::ErrorKind, Args, CommandFactory, Parser}; use codec::{Decode, Encode}; use cumulus_client_parachain_inherent::MockValidationDataInherentDataProvider; +use cumulus_primitives_core::RelayParentOffsetApi; use fake_runtime_api::RuntimeApi as FakeRuntimeApi; use frame_support::Deserialize; use genesis_state::WARN_SPEC_GENESIS_CTOR; @@ -146,6 +147,13 @@ pub struct OverheadParams { /// a para-id and patch the state accordingly. #[arg(long)] pub para_id: Option, + + /// Path to a JSON file containing a patch to apply to the genesis state. + /// + /// This allows modifying the genesis state after it's built but before benchmarking. + /// Useful for creating specific testing scenarios like many accounts for benchmarking. + #[arg(long)] + pub genesis_patch: Option, } /// How the genesis state for benchmarking should be built. @@ -197,6 +205,7 @@ type OverheadClient = TFullClient + HeaderBackend, Block: BlockT>( client: &Arc, chain_type: &ChainType, + relay_parent_offset: u32, ) -> InherentData { let genesis = client.usage_info().chain.best_hash; let header = client.header(genesis).unwrap().unwrap(); @@ -209,6 +218,7 @@ fn create_inherent_data + HeaderBackend, Blo para_id: ParaId::from(*para_id), current_para_block_head: Some(header.encode().into()), relay_offset: 0, + relay_parent_offset, ..Default::default() }; let _ = futures::executor::block_on( @@ -272,8 +282,9 @@ impl OverheadCmd { chain_spec_from_api: Option>, ) -> Result<(GenesisStateHandler, Option)> { let genesis_builder_to_source = || match self.params.genesis_builder { - Some(GenesisBuilderPolicy::Runtime) | Some(GenesisBuilderPolicy::SpecRuntime) => - SpecGenesisSource::Runtime(self.params.genesis_builder_preset.clone()), + Some(GenesisBuilderPolicy::Runtime) | Some(GenesisBuilderPolicy::SpecRuntime) => { + SpecGenesisSource::Runtime(self.params.genesis_builder_preset.clone()) + }, Some(GenesisBuilderPolicy::SpecGenesis) | None => { log::warn!(target: LOG_TARGET, "{WARN_SPEC_GENESIS_CTOR}"); SpecGenesisSource::SpecJson @@ -285,7 +296,7 @@ impl OverheadCmd { log::debug!(target: LOG_TARGET, "Initializing state handler with chain-spec from API: {:?}", chain_spec); let source = genesis_builder_to_source(); - return Ok((GenesisStateHandler::ChainSpec(chain_spec, source), self.params.para_id)) + return Ok((GenesisStateHandler::ChainSpec(chain_spec, source), self.params.para_id)); }; // Handle chain-spec passed in via CLI. @@ -302,7 +313,7 @@ impl OverheadCmd { return Ok(( GenesisStateHandler::ChainSpec(chain_spec, source), self.params.para_id.or(para_id_from_chain_spec), - )) + )); }; // Check for runtimes. In general, we make sure that `--runtime` and `--chain` are @@ -339,13 +350,14 @@ impl OverheadCmd { } match self.params.genesis_builder { - Some(GenesisBuilderPolicy::SpecGenesis | GenesisBuilderPolicy::SpecRuntime) => + Some(GenesisBuilderPolicy::SpecGenesis | GenesisBuilderPolicy::SpecRuntime) => { if chain_spec.is_none() && self.shared_params.chain.is_none() { return Err(( ErrorKind::MissingRequiredArgument, "Provide a chain spec via `--chain`.".to_string(), )); - }, + } + }, _ => {}, }; Ok(()) @@ -396,6 +408,18 @@ impl OverheadCmd { let (state_handler, para_id) = self.state_handler_from_cli::<(ParachainHostFunctions, ExtraHF)>(chain_spec)?; + let user_genesis_patcher = if let Some(ref patch_path) = self.params.genesis_patch { + let patch_content = fs::read_to_string(patch_path) + .map_err(|e| format!("Failed to read genesis patch file: {}", e))?; + + let patch_value: serde_json::Value = serde_json::from_str(&patch_content) + .map_err(|e| format!("Failed to parse genesis patch JSON: {}", e))?; + + Some(patch_value) + } else { + None + }; + let executor = WasmExecutor::<(ParachainHostFunctions, ExtraHF)>::builder() .with_allow_missing_host_functions(true) .build(); @@ -413,9 +437,23 @@ impl OverheadCmd { // If we are dealing with a parachain, make sure that the para id in genesis will // match what we expect. let genesis_patcher = match chain_type { - Parachain(para_id) => - Some(Box::new(move |value| patch_genesis(value, Some(para_id))) as Box<_>), - _ => None, + Parachain(para_id) => Some(Box::new(move |value| { + let mut patched_value = patch_genesis(value, Some(para_id)); + + if let Some(user_patch) = &user_genesis_patcher { + sc_chain_spec::json_patch::merge(&mut patched_value, user_patch.clone()); + } + + patched_value + }) as Box<_>), + _ => user_genesis_patcher.map(|user_patch| { + Box::new(move |value| { + let mut patched_value = value; + sc_chain_spec::json_patch::merge(&mut patched_value, user_patch); + + patched_value + }) as Box<_> + }), }; let client = self.build_client_components::( @@ -424,7 +462,19 @@ impl OverheadCmd { &chain_type, )?; - let inherent_data = create_inherent_data(&client, &chain_type); + // Fetch the relay parent offset from the runtime. + let relay_parent_offset = { + let genesis = client.usage_info().chain.best_hash; + client.runtime_api().relay_parent_offset(genesis).unwrap_or_else(|_| { + log::debug!( + target: LOG_TARGET, + "Runtime does not implement RelayParentOffsetApi, using default offset of 0" + ); + 0 + }) + }; + + let inherent_data = create_inherent_data(&client, &chain_type, relay_parent_offset); let (ext_builder, runtime_name) = { let genesis = client.usage_info().chain.best_hash; @@ -489,6 +539,7 @@ impl OverheadCmd { trie_cache_maximum_size: self.trie_cache_maximum_size()?, state_pruning: None, blocks_pruning: BlocksPruning::KeepAll, + pruning_filters: Default::default(), source: database_source, metrics_registry: None, })?; @@ -758,6 +809,34 @@ mod tests { "--genesis-builder-preset", "preset", ])?; + + // Test genesis-patch with runtime + cli_succeed(&[ + "test", + "--runtime", + "path/to/runtime", + "--genesis-patch", + "path/to/patch.json", + ])?; + cli_succeed(&[ + "test", + "--runtime", + "path/to/runtime", + "--genesis-builder", + "runtime", + "--genesis-patch", + "path/to/patch.json", + ])?; + cli_succeed(&[ + "test", + "--runtime", + "path/to/runtime", + "--genesis-builder-preset", + "preset", + "--genesis-patch", + "path/to/patch.json", + ])?; + cli_fail(&["test", "--runtime", "path/to/spec", "--genesis-builder", "spec"]); cli_fail(&["test", "--runtime", "path/to/spec", "--genesis-builder", "spec-genesis"]); cli_fail(&["test", "--runtime", "path/to/spec", "--genesis-builder", "spec-runtime"]); @@ -767,6 +846,37 @@ mod tests { cli_succeed(&["test", "--chain", "path/to/spec", "--genesis-builder", "spec"])?; cli_succeed(&["test", "--chain", "path/to/spec", "--genesis-builder", "spec-genesis"])?; cli_succeed(&["test", "--chain", "path/to/spec", "--genesis-builder", "spec-runtime"])?; + + // Test genesis-patch with chain spec + cli_succeed(&["test", "--chain", "path/to/spec", "--genesis-patch", "path/to/patch.json"])?; + cli_succeed(&[ + "test", + "--chain", + "path/to/spec", + "--genesis-builder", + "spec", + "--genesis-patch", + "path/to/patch.json", + ])?; + cli_succeed(&[ + "test", + "--chain", + "path/to/spec", + "--genesis-builder", + "spec-genesis", + "--genesis-patch", + "path/to/patch.json", + ])?; + cli_succeed(&[ + "test", + "--chain", + "path/to/spec", + "--genesis-builder", + "spec-runtime", + "--genesis-patch", + "path/to/patch.json", + ])?; + cli_fail(&["test", "--chain", "path/to/spec", "--genesis-builder", "none"]); cli_fail(&["test", "--chain", "path/to/spec", "--genesis-builder", "runtime"]); cli_fail(&[ diff --git a/substrate/utils/frame/benchmarking-cli/src/overhead/fake_runtime_api.rs b/substrate/utils/frame/benchmarking-cli/src/overhead/fake_runtime_api.rs index 933a5d13fc51b..088efc5ed43be 100644 --- a/substrate/utils/frame/benchmarking-cli/src/overhead/fake_runtime_api.rs +++ b/substrate/utils/frame/benchmarking-cli/src/overhead/fake_runtime_api.rs @@ -109,4 +109,10 @@ sp_api::impl_runtime_apis! { unimplemented!() } } + + impl cumulus_primitives_core::RelayParentOffsetApi for Runtime { + fn relay_parent_offset() -> u32 { + unimplemented!() + } + } } diff --git a/substrate/utils/frame/benchmarking-cli/src/overhead/template.rs b/substrate/utils/frame/benchmarking-cli/src/overhead/template.rs index 08227607951b0..b036d73ed596a 100644 --- a/substrate/utils/frame/benchmarking-cli/src/overhead/template.rs +++ b/substrate/utils/frame/benchmarking-cli/src/overhead/template.rs @@ -120,7 +120,7 @@ impl TemplateData { let mut path = weight_out.clone().unwrap_or_else(|| PathBuf::from(".")); if !path.is_dir() { - return Err("Need directory as --weight-path".into()) + return Err("Need directory as --weight-path".into()); } path.push(format!("{}_weights.rs", self.short_name)); Ok(path) diff --git a/substrate/utils/frame/benchmarking-cli/src/pallet/command.rs b/substrate/utils/frame/benchmarking-cli/src/pallet/command.rs index 578dabf48fda8..750aa0ac78576 100644 --- a/substrate/utils/frame/benchmarking-cli/src/pallet/command.rs +++ b/substrate/utils/frame/benchmarking-cli/src/pallet/command.rs @@ -37,6 +37,7 @@ use linked_hash_map::LinkedHashMap; use sc_cli::{execution_method_from_cli, ChainSpec, CliConfiguration, Result, SharedParams}; use sc_client_db::BenchmarkingState; use sc_executor::{HeapAllocStrategy, WasmExecutor, DEFAULT_HEAP_ALLOC_STRATEGY}; +use serde_json::Value; use sp_core::{ offchain::{ testing::{TestOffchainExt, TestTransactionPoolExt}, @@ -58,6 +59,7 @@ use std::{ fs, str::FromStr, time, + time::Duration, }; type SubstrateAndExtraHF = ( @@ -111,7 +113,7 @@ fn combine_batches( db_batches: Vec, ) -> Vec { if time_batches.is_empty() && db_batches.is_empty() { - return Default::default() + return Default::default(); } let mut all_benchmarks = @@ -166,8 +168,9 @@ impl PalletCmd { chain_spec_from_api: Option>, ) -> Result { let genesis_builder_to_source = || match self.genesis_builder { - Some(GenesisBuilderPolicy::Runtime) | Some(GenesisBuilderPolicy::SpecRuntime) => - SpecGenesisSource::Runtime(self.genesis_builder_preset.clone()), + Some(GenesisBuilderPolicy::Runtime) | Some(GenesisBuilderPolicy::SpecRuntime) => { + SpecGenesisSource::Runtime(self.genesis_builder_preset.clone()) + }, Some(GenesisBuilderPolicy::SpecGenesis) | None => { log::warn!(target: LOG_TARGET, "{WARN_SPEC_GENESIS_CTOR}"); SpecGenesisSource::SpecJson @@ -180,7 +183,7 @@ impl PalletCmd { log::debug!("Initializing state handler with chain-spec from API: {:?}", chain_spec); let source = genesis_builder_to_source(); - return Ok(GenesisStateHandler::ChainSpec(chain_spec, source)) + return Ok(GenesisStateHandler::ChainSpec(chain_spec, source)); }; // Handle chain-spec passed in via CLI. @@ -194,7 +197,7 @@ impl PalletCmd { let source = genesis_builder_to_source(); - return Ok(GenesisStateHandler::ChainSpec(chain_spec, source)) + return Ok(GenesisStateHandler::ChainSpec(chain_spec, source)); }; // Check for runtimes. In general, we make sure that `--runtime` and `--chain` are @@ -210,7 +213,7 @@ impl PalletCmd { runtime_blob, Some(self.genesis_builder_preset.clone()), )) - } + }; }; Err("Neither a runtime nor a chain-spec were specified".to_string().into()) @@ -244,22 +247,39 @@ impl PalletCmd { if let Some(json_input) = &self.json_input { let raw_data = match std::fs::read(json_input) { Ok(raw_data) => raw_data, - Err(error) => - return Err(format!("Failed to read {:?}: {}", json_input, error).into()), + Err(error) => { + return Err(format!("Failed to read {:?}: {}", json_input, error).into()) + }, }; let batches: Vec = match serde_json::from_slice(&raw_data) { Ok(batches) => batches, - Err(error) => - return Err(format!("Failed to deserialize {:?}: {}", json_input, error).into()), + Err(error) => { + return Err(format!("Failed to deserialize {:?}: {}", json_input, error).into()) + }, }; - return self.output_from_results(&batches) + return self.output_from_results(&batches); } super::logging::init(self.runtime_log.clone()); let state_handler = self.state_handler_from_cli::>(chain_spec)?; - let genesis_storage = - state_handler.build_storage::>(None)?; + + let genesis_patcher = if let Some(ref patch_path) = self.genesis_patch { + let patch_content = fs::read_to_string(patch_path) + .map_err(|e| format!("Failed to read genesis patch file: {}", e))?; + let patch_value: serde_json::Value = serde_json::from_str(&patch_content) + .map_err(|e| format!("Failed to parse genesis patch JSON: {}", e))?; + + Some(Box::new(move |mut value| { + sc_chain_spec::json_patch::merge(&mut value, patch_value); + value + }) as Box Value + 'static>) + } else { + None + }; + + let genesis_storage = state_handler + .build_storage::>(genesis_patcher)?; let cache_size = Some(self.database_cache_size as usize); let state_with_tracking = BenchmarkingState::::new( @@ -344,13 +364,13 @@ impl PalletCmd { if let Some(list_output) = self.list { list_benchmark(benchmarks_to_run, list_output, self.no_csv_header); - return Ok(()) + return Ok(()); } // Run the benchmarks let mut batches = Vec::new(); let mut batches_db = Vec::new(); - let mut timer = time::SystemTime::now(); + let mut progress_timer = time::Instant::now(); // Maps (pallet, extrinsic) to its component ranges. let mut component_ranges = HashMap::<(String, String), Vec>::new(); let pov_modes = @@ -379,7 +399,7 @@ impl PalletCmd { // The slope logic needs at least two points // to compute a slope. if self.steps < 2 { - return Err("`steps` must be at least 2.".into()) + return Err("`steps` must be at least 2.".into()); } let step_size = (diff as f32 / (self.steps - 1) as f32).max(0.0); @@ -412,101 +432,106 @@ impl PalletCmd { all_components }; - for (s, selected_components) in all_components.iter().enumerate() { - let params = |verify: bool, repeats: u32| -> Vec { - if benchmark_api_version >= 2 { - ( - pallet.as_bytes(), - instance.as_bytes(), - extrinsic.as_bytes(), - &selected_components.clone(), - verify, - repeats, - ) - .encode() - } else { - ( - pallet.as_bytes(), - extrinsic.as_bytes(), - &selected_components.clone(), - verify, - repeats, - ) - .encode() - } - }; - - // First we run a verification - if !self.no_verify { - let state = &state_without_tracking; - // Don't use these results since verification code will add overhead. - let _batch: Vec = match Self::exec_state_machine::< - std::result::Result, String>, - _, - _, - >( - StateMachine::new( - state, - &mut Default::default(), - &executor, - "Benchmark_dispatch_benchmark", - ¶ms(true, 1), - &mut Self::build_extensions(executor.clone(), state.recorder()), - &runtime_code, - CallContext::Offchain, - ), - "dispatch a benchmark", - ) { - Err(e) => { - log::error!(target: LOG_TARGET, "Benchmark {pallet}::{extrinsic} failed: {e}"); - failed.push((pallet.clone(), extrinsic.clone())); - continue 'outer - }, - Ok(Err(e)) => { - log::error!(target: LOG_TARGET, "Benchmark {pallet}::{extrinsic} failed: {e}"); - failed.push((pallet.clone(), extrinsic.clone())); - continue 'outer - }, - Ok(Ok(b)) => b, - }; - } - // Do one loop of DB tracking. - { - let state = &state_with_tracking; - let batch: Vec = match Self::exec_state_machine::< - std::result::Result, String>, - _, - _, - >( - StateMachine::new( - state, - &mut Default::default(), - &executor, - "Benchmark_dispatch_benchmark", - ¶ms(false, self.repeat), - &mut Self::build_extensions(executor.clone(), state.recorder()), - &runtime_code, - CallContext::Offchain, - ), - "dispatch a benchmark", - ) { - Err(e) => { - log::error!(target: LOG_TARGET, "Benchmark {pallet}::{extrinsic} failed: {e}"); - failed.push((pallet.clone(), extrinsic.clone())); - continue 'outer - }, - Ok(Err(e)) => { - log::error!(target: LOG_TARGET, "Benchmark {pallet}::{extrinsic} failed: {e}"); - failed.push((pallet.clone(), extrinsic.clone())); - continue 'outer - }, - Ok(Ok(b)) => b, + // Ensure each benchmark runs for at least its minimum duration. + let start = time::Instant::now(); + let mut first = true; + + loop { + for (s, selected_components) in all_components.iter().enumerate() { + let params = |verify: bool, repeats: u32| -> Vec { + if benchmark_api_version >= 2 { + ( + pallet.as_bytes(), + instance.as_bytes(), + extrinsic.as_bytes(), + &selected_components.clone(), + verify, + repeats, + ) + .encode() + } else { + ( + pallet.as_bytes(), + extrinsic.as_bytes(), + &selected_components.clone(), + verify, + repeats, + ) + .encode() + } }; - batches_db.extend(batch); - } - // Finally run a bunch of loops to get extrinsic timing information. - for r in 0..self.external_repeat { + // Maybe run a verification if we are the first iteration. + if !self.no_verify && first { + let state = &state_without_tracking; + // Don't use these results since verification code will add overhead. + let _batch: Vec = match Self::exec_state_machine::< + std::result::Result, String>, + _, + _, + >( + StateMachine::new( + state, + &mut Default::default(), + &executor, + "Benchmark_dispatch_benchmark", + ¶ms(true, 1), + &mut Self::build_extensions(executor.clone(), state.recorder()), + &runtime_code, + CallContext::Offchain, + ), + "dispatch a benchmark", + ) { + Err(e) => { + log::error!(target: LOG_TARGET, "Benchmark {pallet}::{extrinsic} failed: {e}"); + failed.push((pallet.clone(), extrinsic.clone())); + continue 'outer; + }, + Ok(Err(e)) => { + log::error!(target: LOG_TARGET, "Benchmark {pallet}::{extrinsic} failed: {e}"); + failed.push((pallet.clone(), extrinsic.clone())); + continue 'outer; + }, + Ok(Ok(b)) => b, + }; + } + // Do one loop of DB tracking. + { + let state = &state_with_tracking; + let batch: Vec = match Self::exec_state_machine::< + std::result::Result, String>, + _, + _, + >( + StateMachine::new( + state, + &mut Default::default(), + &executor, + "Benchmark_dispatch_benchmark", + ¶ms(false, 1), + &mut Self::build_extensions(executor.clone(), state.recorder()), + &runtime_code, + CallContext::Offchain, + ), + "dispatch a benchmark", + ) { + Err(e) => { + log::error!(target: LOG_TARGET, "Benchmark {pallet}::{extrinsic} failed: {e}"); + failed.push((pallet.clone(), extrinsic.clone())); + continue 'outer; + }, + Ok(Err(e)) => { + log::error!(target: LOG_TARGET, "Benchmark {pallet}::{extrinsic} failed: {e}"); + failed.push((pallet.clone(), extrinsic.clone())); + continue 'outer; + }, + Ok(Ok(b)) => b, + }; + + batches_db.extend(batch); + } + + // Finally run a bunch of loops to get extrinsic timing information. let state = &state_without_tracking; let batch = match Self::exec_state_machine::< std::result::Result, String>, @@ -514,7 +539,7 @@ impl PalletCmd { _, >( StateMachine::new( - state, // todo remove tracking + state, &mut Default::default(), &executor, "Benchmark_dispatch_benchmark", @@ -540,29 +565,35 @@ impl PalletCmd { batches.extend(batch); - // Show progress information - if let Ok(elapsed) = timer.elapsed() { - if elapsed >= time::Duration::from_secs(5) { - timer = time::SystemTime::now(); + // Show progress information at most every 5 seconds. + if progress_timer.elapsed() >= time::Duration::from_secs(5) { + progress_timer = time::Instant::now(); - log::info!( - target: LOG_TARGET, - "[{: >3} % ] Running benchmark: {pallet}::{extrinsic}({} args) {}/{} {}/{}", - (i * 100) / benchmarks_to_run.len(), - components.len(), + let msg = if first { + format!( + "{}/{}", s + 1, // s starts at 0. - all_components.len(), - r + 1, - self.external_repeat, - ); - } + all_components.len() + ) + } else { + "(overtime)".to_string() + }; + + log::info!( + target: LOG_TARGET, + "[{: >3} % ] Running benchmark: {pallet}::{extrinsic} {msg}", + (i * 100) / benchmarks_to_run.len() + ); } } + + first = false; + if start.elapsed() >= Duration::from_secs(self.min_duration) { + break; + } } } - assert!(batches_db.len() == batches.len() / self.external_repeat as usize); - if !failed.is_empty() { failed.sort(); eprintln!( @@ -570,7 +601,7 @@ impl PalletCmd { failed.len(), failed.iter().map(|(p, e)| format!("- {p}::{e}")).collect::>().join("\n") ); - return Err(format!("{} benchmarks failed", failed.len()).into()) + return Err(format!("{} benchmarks failed", failed.len()).into()); } // Combine all of the benchmark results, so that benchmarks of the same pallet/function @@ -620,7 +651,7 @@ impl PalletCmd { .collect(); if benchmarks_to_run.is_empty() { - return Err("No benchmarks found which match your input. Try `--list --all` to list all available benchmarks. Make sure pallet is in `define_benchmarks!`".into()) + return Err("No benchmarks found which match your input. Try `--list --all` to list all available benchmarks. Make sure pallet is in `define_benchmarks!`".into()); } Ok(benchmarks_to_run) @@ -825,7 +856,7 @@ impl PalletCmd { fs::write(path, json)?; } else { print!("{json}"); - return Ok(true) + return Ok(true); } } @@ -856,7 +887,7 @@ impl PalletCmd { // Skip raw data + analysis if there are no results if batch.time_results.is_empty() { - continue + continue; } if !self.no_storage_info { @@ -951,7 +982,7 @@ impl PalletCmd { "Expected 'Pallet::Storage' as storage name but got: {}", pallet_storage ) - .into()) + .into()); } let (pov_pallet, pov_storage) = (splits[0].trim(), splits.get(1).unwrap_or(&"ALL").trim()); @@ -961,12 +992,13 @@ impl PalletCmd { .or_default() .entry((pov_pallet.to_string(), pov_storage.to_string())) { - Entry::Occupied(_) => + Entry::Occupied(_) => { return Err(format!( "Cannot specify pov_mode tag twice for the same key: {}", pallet_storage ) - .into()), + .into()) + }, Entry::Vacant(e) => { e.insert(mode); }, @@ -1019,22 +1051,27 @@ impl PalletCmd { unreachable!("Clap should not allow both `--runtime` and `--chain` to be provided.") } + if self.external_repeat.is_some() { + log::warn!(target: LOG_TARGET, "The `--external-repeat` argument is deprecated and will be removed in a future release."); + } + if chain_spec.is_none() && self.runtime.is_none() && self.shared_params.chain.is_none() { return Err(( ErrorKind::MissingRequiredArgument, "Provide either a runtime via `--runtime` or a chain spec via `--chain`" .to_string(), - )) + )); } match self.genesis_builder { - Some(GenesisBuilderPolicy::SpecGenesis | GenesisBuilderPolicy::SpecRuntime) => + Some(GenesisBuilderPolicy::SpecGenesis | GenesisBuilderPolicy::SpecRuntime) => { if chain_spec.is_none() && self.shared_params.chain.is_none() { return Err(( ErrorKind::MissingRequiredArgument, "Provide a chain spec via `--chain`.".to_string(), - )) - }, + )); + } + }, _ => {}, } @@ -1175,6 +1212,17 @@ mod tests { "--genesis-builder-preset", "preset", ])?; + cli_succeed(&[ + "test", + "--extrinsic", + "", + "--pallet", + "", + "--runtime", + "path/to/runtime", + "--genesis-patch", + "path/to/patch.json", + ])?; cli_fail(&[ "test", "--extrinsic", diff --git a/substrate/utils/frame/benchmarking-cli/src/pallet/mod.rs b/substrate/utils/frame/benchmarking-cli/src/pallet/mod.rs index 7ac5c4436837a..4bf51102f108c 100644 --- a/substrate/utils/frame/benchmarking-cli/src/pallet/mod.rs +++ b/substrate/utils/frame/benchmarking-cli/src/pallet/mod.rs @@ -87,15 +87,21 @@ pub struct PalletCmd { #[arg(long = "high", value_delimiter = ',')] pub highest_range_values: Vec, - /// Select how many repetitions of this benchmark should run from within the wasm. + /// Minimum number of repetitions of this benchmark should run from within the wasm. + /// + /// It may run more often than this to reach its `min_duration`. #[arg(short, long, default_value_t = 20)] pub repeat: u32, - /// Select how many repetitions of this benchmark should run from the client. + /// DEPRECATED: Please remove usage. + #[arg(long)] + pub external_repeat: Option, + + /// Minimum duration in seconds for each benchmark. /// - /// NOTE: Using this alone may give slower results, but will afford you maximum Wasm memory. - #[arg(long, default_value_t = 1)] - pub external_repeat: u32, + /// Can be set to 0 to disable the feature and solely rely on the `repeat` parameter. + #[arg(long, default_value_t = 10)] + pub min_duration: u64, /// Print the raw results in JSON format. #[arg(long = "json")] @@ -286,6 +292,13 @@ pub struct PalletCmd { /// solo-chains) can disable proof recording to get more accurate results. #[arg(long)] disable_proof_recording: bool, + + /// Path to a JSON file containing a patch to apply to the genesis state. + /// + /// This allows modifying the genesis state after it's built but before benchmarking. + /// Useful for creating specific testing scenarios like many accounts for benchmarking. + #[arg(long)] + pub genesis_patch: Option, } /// How the genesis state for benchmarking should be built. diff --git a/substrate/utils/frame/benchmarking-cli/src/pallet/writer.rs b/substrate/utils/frame/benchmarking-cli/src/pallet/writer.rs index e9312023611b9..86a78244d8a50 100644 --- a/substrate/utils/frame/benchmarking-cli/src/pallet/writer.rs +++ b/substrate/utils/frame/benchmarking-cli/src/pallet/writer.rs @@ -145,7 +145,7 @@ fn map_results( ) -> Result>, std::io::Error> { // Skip if batches is empty. if batches.is_empty() { - return Err(io_error("empty batches")) + return Err(io_error("empty batches")); } let mut all_benchmarks = HashMap::<_, Vec>::new(); @@ -153,7 +153,7 @@ fn map_results( for batch in batches { // Skip if there are no results if batch.time_results.is_empty() { - continue + continue; } let pallet_name = String::from_utf8(batch.pallet.clone()).unwrap(); @@ -324,7 +324,7 @@ fn get_benchmark_data( if used_component.name == component.name { used_component.slope = used_component.slope.max(component.slope); found = true; - break + break; } } if !found && !component.slope.is_zero() { @@ -510,7 +510,7 @@ pub(crate) fn write_results( if cmd.unsafe_overwrite_results { println!("{msg}"); } else { - return Err(msg.into()) + return Err(msg.into()); } } Ok(()) @@ -568,7 +568,7 @@ pub(crate) fn process_storage_results( for (key, reads, writes, whitelisted) in &result.keys { // skip keys which are whitelisted if *whitelisted { - continue + continue; } let prefix_length = key.len().min(32); @@ -863,7 +863,7 @@ mod test { benchmark: [benchmark.to_vec(), b"_benchmark".to_vec()].concat(), time_results: results.clone(), db_results: results, - } + }; } fn test_storage_info() -> Vec { diff --git a/substrate/utils/frame/benchmarking-cli/src/shared/genesis_state.rs b/substrate/utils/frame/benchmarking-cli/src/shared/genesis_state.rs index b68a75b7df075..776e9ecfb1e99 100644 --- a/substrate/utils/frame/benchmarking-cli/src/shared/genesis_state.rs +++ b/substrate/utils/frame/benchmarking-cli/src/shared/genesis_state.rs @@ -75,8 +75,9 @@ impl GenesisStateHandler { .map_err(|e| format!("{ERROR_CANNOT_BUILD_GENESIS}\nError: {e}").into()), SpecGenesisSource::None => Ok(Storage::default()), }, - GenesisStateHandler::Runtime(code_bytes, Some(preset)) => - genesis_from_code::(code_bytes.as_slice(), preset, json_patcher), + GenesisStateHandler::Runtime(code_bytes, Some(preset)) => { + genesis_from_code::(code_bytes.as_slice(), preset, json_patcher) + }, GenesisStateHandler::Runtime(_, None) => Ok(Storage::default()), } } diff --git a/substrate/utils/frame/benchmarking-cli/src/shared/stats.rs b/substrate/utils/frame/benchmarking-cli/src/shared/stats.rs index 5c724456ddb9a..620686309bd5b 100644 --- a/substrate/utils/frame/benchmarking-cli/src/shared/stats.rs +++ b/substrate/utils/frame/benchmarking-cli/src/shared/stats.rs @@ -71,7 +71,7 @@ impl Stats { /// Calculates statistics and returns them. pub fn new(xs: &Vec) -> Result { if xs.is_empty() { - return Err("Empty input is invalid".into()) + return Err("Empty input is invalid".into()); } let (avg, stddev) = Self::avg_and_stddev(xs); diff --git a/substrate/utils/frame/benchmarking-cli/src/shared/weight_params.rs b/substrate/utils/frame/benchmarking-cli/src/shared/weight_params.rs index 10230ba305f48..3ba7617093c91 100644 --- a/substrate/utils/frame/benchmarking-cli/src/shared/weight_params.rs +++ b/substrate/utils/frame/benchmarking-cli/src/shared/weight_params.rs @@ -57,7 +57,7 @@ pub struct WeightParams { impl WeightParams { pub fn calc_weight(&self, stat: &Stats) -> Result { if self.weight_mul.is_sign_negative() || !self.weight_mul.is_normal() { - return Err("invalid floating number for `weight_mul`".into()) + return Err("invalid floating number for `weight_mul`".into()); } let s = stat.select(self.weight_metric) as f64; let w = s.mul_add(self.weight_mul, self.weight_add as f64).ceil(); diff --git a/substrate/utils/frame/benchmarking-cli/src/storage/cmd.rs b/substrate/utils/frame/benchmarking-cli/src/storage/cmd.rs index 68a81fb51524a..7a36f24cc5c8d 100644 --- a/substrate/utils/frame/benchmarking-cli/src/storage/cmd.rs +++ b/substrate/utils/frame/benchmarking-cli/src/storage/cmd.rs @@ -234,7 +234,7 @@ impl StorageCmd { if let Some((ChildType::ParentKeyId, storage_key)) = ChildType::from_prefixed_key(&PrefixedStorageKey::new(key)) { - return Some(ChildInfo::new_default(storage_key)) + return Some(ChildInfo::new_default(storage_key)); } None } diff --git a/substrate/utils/frame/benchmarking-cli/src/storage/read.rs b/substrate/utils/frame/benchmarking-cli/src/storage/read.rs index 7a222d7167a70..1d344d4fd0782 100644 --- a/substrate/utils/frame/benchmarking-cli/src/storage/read.rs +++ b/substrate/utils/frame/benchmarking-cli/src/storage/read.rs @@ -46,12 +46,12 @@ impl StorageCmd { <::Header as HeaderT>::Number: From, { if self.params.is_validate_block_mode() && self.params.disable_pov_recorder { - return Err("PoV recorder must be activated to provide a storage proof for block validation at runtime. Remove `--disable-pov-recorder` from the command line.".into()) + return Err("PoV recorder must be activated to provide a storage proof for block validation at runtime. Remove `--disable-pov-recorder` from the command line.".into()); } if self.params.is_validate_block_mode() && self.params.batch_size > MAX_BATCH_SIZE_FOR_BLOCK_VALIDATION { - return Err(format!("Batch size is too large. This may cause problems with runtime memory allocation. Better set `--batch-size {}` or less.", MAX_BATCH_SIZE_FOR_BLOCK_VALIDATION).into()) + return Err(format!("Batch size is too large. This may cause problems with runtime memory allocation. Better set `--batch-size {}` or less.", MAX_BATCH_SIZE_FOR_BLOCK_VALIDATION).into()); } let mut record = BenchRecord::default(); @@ -63,7 +63,7 @@ impl StorageCmd { let (mut rng, _) = new_rng(None); keys.shuffle(&mut rng); if keys.is_empty() { - return Err("Can't process benchmarking with empty storage".into()) + return Err("Can't process benchmarking with empty storage".into()); } let mut child_nodes = Vec::new(); diff --git a/substrate/utils/frame/benchmarking-cli/src/storage/write.rs b/substrate/utils/frame/benchmarking-cli/src/storage/write.rs index fa818b847f124..769b27ba6c685 100644 --- a/substrate/utils/frame/benchmarking-cli/src/storage/write.rs +++ b/substrate/utils/frame/benchmarking-cli/src/storage/write.rs @@ -59,12 +59,12 @@ impl StorageCmd { C: UsageProvider + HeaderBackend + StorageProvider, { if self.params.is_validate_block_mode() && self.params.disable_pov_recorder { - return Err("PoV recorder must be activated to provide a storage proof for block validation at runtime. Remove `--disable-pov-recorder`.".into()) + return Err("PoV recorder must be activated to provide a storage proof for block validation at runtime. Remove `--disable-pov-recorder`.".into()); } if self.params.is_validate_block_mode() && self.params.batch_size > MAX_BATCH_SIZE_FOR_BLOCK_VALIDATION { - return Err(format!("Batch size is too large. This may cause problems with runtime memory allocation. Better set `--batch-size {}` or less.", MAX_BATCH_SIZE_FOR_BLOCK_VALIDATION).into()) + return Err(format!("Batch size is too large. This may cause problems with runtime memory allocation. Better set `--batch-size {}` or less.", MAX_BATCH_SIZE_FOR_BLOCK_VALIDATION).into()); } // Store the time that it took to write each value. @@ -86,7 +86,7 @@ impl StorageCmd { let (mut rng, _) = new_rng(None); kvs.shuffle(&mut rng); if kvs.is_empty() { - return Err("Can't process benchmarking with empty storage".into()) + return Err("Can't process benchmarking with empty storage".into()); } info!("Writing {} keys in batches of {}", kvs.len(), self.params.batch_size); @@ -127,13 +127,13 @@ impl StorageCmd { state_col, None, ) { - break + break; } } batched_keys.push((k.to_vec(), new_v.to_vec())); if batched_keys.len() < self.params.batch_size { - continue + continue; } // Write each value in one commit. @@ -194,12 +194,12 @@ impl StorageCmd { state_col, Some(&info), ) { - break + break; } } batched_keys.push((key.0, new_v.to_vec())); if batched_keys.len() < self.params.batch_size { - continue + continue; } let (size, duration) = if self.params.is_validate_block_mode() { @@ -428,7 +428,7 @@ fn check_new_value( db.sanitize_key(&mut k); if db.get(col, &k).is_some() { trace!("Benchmark-store key creation: Key collision detected, retry"); - return false + return false; } } } diff --git a/substrate/utils/frame/generate-bags/src/lib.rs b/substrate/utils/frame/generate-bags/src/lib.rs index 62485c442d365..48788d98127a9 100644 --- a/substrate/utils/frame/generate-bags/src/lib.rs +++ b/substrate/utils/frame/generate-bags/src/lib.rs @@ -96,7 +96,7 @@ fn path_to_header_file() -> Option { for file_name in &["HEADER-APACHE2", "HEADER-GPL3", "HEADER", "file_header.txt"] { let path = workdir.join(file_name); if path.exists() { - return Some(path) + return Some(path); } } None @@ -148,7 +148,7 @@ pub fn thresholds( thresholds.push(successor as VoteWeight); } else { eprintln!("unexpectedly exceeded weight limit; breaking threshold generation loop"); - break + break; } } diff --git a/substrate/utils/frame/omni-bencher/Cargo.toml b/substrate/utils/frame/omni-bencher/Cargo.toml index 5d9cf766b3286..d84829a5a6a5e 100644 --- a/substrate/utils/frame/omni-bencher/Cargo.toml +++ b/substrate/utils/frame/omni-bencher/Cargo.toml @@ -15,11 +15,16 @@ workspace = true clap = { features = ["derive"], workspace = true } cumulus-primitives-proof-size-hostfunction = { workspace = true, default-features = true } frame-benchmarking-cli = { workspace = true } +polkadot-jemalloc-shim = { workspace = true } sc-cli = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } sp-statement-store = { workspace = true, default-features = true } tracing-subscriber = { workspace = true } +[target.'cfg(target_os = "linux")'.dependencies] +# Jemalloc as global allocator prevents huge benchmark regression for storage-heavy extrinsics. +polkadot-jemalloc-shim = { workspace = true, features = ["jemalloc-allocator"] } + [dev-dependencies] assert_cmd = { workspace = true } cumulus-test-runtime = { workspace = true } diff --git a/substrate/utils/frame/omni-bencher/src/main.rs b/substrate/utils/frame/omni-bencher/src/main.rs index f0f9ab753b074..a62a9145c3146 100644 --- a/substrate/utils/frame/omni-bencher/src/main.rs +++ b/substrate/utils/frame/omni-bencher/src/main.rs @@ -17,6 +17,10 @@ mod command; +// Force the linker to keep the polkadot_jemalloc_shim crate (and its #[global_allocator]). +#[cfg(target_os = "linux")] +extern crate polkadot_jemalloc_shim; + use clap::Parser; use sc_cli::Result; use tracing_subscriber::EnvFilter; diff --git a/substrate/utils/frame/omni-bencher/tests/benchmark_works.rs b/substrate/utils/frame/omni-bencher/tests/benchmark_works.rs index fb1687639639e..bf1d78cdecd4f 100644 --- a/substrate/utils/frame/omni-bencher/tests/benchmark_works.rs +++ b/substrate/utils/frame/omni-bencher/tests/benchmark_works.rs @@ -104,7 +104,7 @@ fn benchmark_overhead_chain_spec_fails_wrong_para_id() -> std::result::Result<() .map_err(|e| format!("command failed: {:?}", e))?; if status.success() { - return Err("Command should have failed!".into()) + return Err("Command should have failed!".into()); } // Weight files should not have been created @@ -157,7 +157,7 @@ fn create_benchmark_spec_command(base_path: &Path, chain_spec_path: &Path) -> Co /// Checks if the benchmark completed successfully and created weight files fn assert_benchmark_success(status: ExitStatus, base_path: &Path) -> Result<(), String> { if !status.success() { - return Err("Command failed".into()) + return Err("Command failed".into()); } // Weight files have been created @@ -165,3 +165,68 @@ fn assert_benchmark_success(status: ExitStatus, base_path: &Path) -> Result<(), assert!(base_path.join("extrinsic_weights.rs").exists()); Ok(()) } + +#[test] +fn benchmark_overhead_with_genesis_patch_works() -> std::result::Result<(), String> { + let tmp_dir = tempfile::tempdir().expect("Should be able to create tmp dir."); + let base_path = tmp_dir.path(); + let wasm = cumulus_test_runtime::WASM_BINARY.ok_or("WASM binary not available".to_string())?; + let runtime_path = base_path.join("runtime.wasm"); + let _ = fs::write(&runtime_path, wasm) + .map_err(|e| format!("Unable to write runtime file: {}", e))?; + + // Simple genesis patch JSON file + let patch_content = r#"{ + "balances": { + "balances": [ + ["5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", 1000000000000000000], + ["5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", 2000000000000000000] + ] + } + }"#; + + let patch_path = base_path.join("genesis_patch.json"); + fs::write(&patch_path, patch_content) + .map_err(|e| format!("Unable to write genesis patch file: {}", e))?; + + let status = Command::new(cargo_bin("frame-omni-bencher")) + .args(["v1", "benchmark", "overhead", "--runtime", runtime_path.to_str().unwrap()]) + .arg("-d") + .arg(base_path) + .arg("--weight-path") + .arg(base_path) + .args(["--warmup", "2", "--repeat", "2"]) + .args(["--max-ext-per-block", "5"]) + .args(["--genesis-patch", patch_path.to_str().unwrap()]) + .status() + .map_err(|e| format!("command failed: {:?}", e))?; + + assert_benchmark_success(status, base_path) +} + +#[test] +fn benchmark_overhead_chain_spec_with_genesis_patch_works() -> std::result::Result<(), String> { + let tmp_dir = tempfile::tempdir().expect("Should be able to create tmp dir."); + let (base_path, chain_spec_path) = setup_chain_spec(tmp_dir.path(), false)?; + + let patch_content = r#"{ + "balances": { + "balances": [ + ["5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", 1000000000000000000], + ["5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", 2000000000000000000] + ] + } + }"#; + let patch_path = base_path.join("genesis_patch.json"); + fs::write(&patch_path, patch_content) + .map_err(|e| format!("Unable to write genesis patch file: {}", e))?; + + let status = create_benchmark_spec_command(&base_path, &chain_spec_path) + .args(["--genesis-builder-policy", "spec-runtime"]) + .args(["--para-id", "666"]) + .args(["--genesis-patch", patch_path.to_str().unwrap()]) + .status() + .map_err(|e| format!("command failed: {:?}", e))?; + + assert_benchmark_success(status, &base_path) +} diff --git a/substrate/utils/frame/remote-externalities/Cargo.toml b/substrate/utils/frame/remote-externalities/Cargo.toml index 4ed0e1edf3e4e..a9d2600c957b5 100644 --- a/substrate/utils/frame/remote-externalities/Cargo.toml +++ b/substrate/utils/frame/remote-externalities/Cargo.toml @@ -18,8 +18,9 @@ targets = ["x86_64-unknown-linux-gnu"] codec = { workspace = true, default-features = true } futures = { workspace = true } indicatif = { workspace = true } -jsonrpsee = { features = ["http-client"], workspace = true } +jsonrpsee = { features = ["http-client", "ws-client"], workspace = true } log = { workspace = true, default-features = true } +rand = { workspace = true, default-features = true } serde = { workspace = true, default-features = true } sp-core = { workspace = true, default-features = true } sp-crypto-hashing = { workspace = true, default-features = true } @@ -28,10 +29,19 @@ sp-runtime = { workspace = true, default-features = true } sp-state-machine = { workspace = true, default-features = true } spinners = { workspace = true } substrate-rpc-client = { workspace = true, default-features = true } -tokio = { features = ["macros", "rt-multi-thread"], workspace = true, default-features = true } -tokio-retry = { workspace = true } +tokio = { features = [ + "macros", + "rt-multi-thread", + "sync", +], workspace = true, default-features = true } [dev-dependencies] +frame-support = { workspace = true, default-features = true } +jsonrpsee = { features = [ + "http-client", + "server", + "ws-client", +], workspace = true } sp-tracing = { workspace = true, default-features = true } [features] diff --git a/substrate/utils/frame/remote-externalities/src/client.rs b/substrate/utils/frame/remote-externalities/src/client.rs new file mode 100644 index 0000000000000..768a016c7cba0 --- /dev/null +++ b/substrate/utils/frame/remote-externalities/src/client.rs @@ -0,0 +1,193 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! WebSocket client management for remote externalities. + +use jsonrpsee::ws_client::{WsClient, WsClientBuilder}; +use log::*; +use std::{future::Future, ops::Deref, sync::Arc, time::Duration}; + +use crate::{Result, LOG_TARGET}; + +/// Default timeout for RPC requests. +pub const RPC_TIMEOUT: Duration = Duration::from_secs(60); + +/// Execute an RPC call with timeout. Returns `Err` if the timeout is hit. +pub(crate) async fn with_timeout>( + future: F, + timeout: Duration, +) -> std::result::Result { + tokio::time::timeout(timeout, future).await.map_err(|_| ()) +} + +/// A WebSocket client with version tracking for reconnection. +#[derive(Debug, Clone)] +pub(crate) struct Client { + pub(crate) ws_client: Arc, + pub(crate) version: u64, + uri: String, +} + +impl Deref for Client { + type Target = WsClient; + fn deref(&self) -> &Self::Target { + &self.ws_client + } +} + +impl Client { + /// Create a WebSocket client for the given URI. + async fn create_ws_client(uri: &str) -> std::result::Result { + debug!(target: LOG_TARGET, "initializing remote client to {:?}", uri); + + WsClientBuilder::default() + .max_request_size(u32::MAX) + .max_response_size(u32::MAX) + .request_timeout(Duration::from_secs(60)) + .build(uri) + .await + .map_err(|e| format!("{e:?}")) + } + + /// Create a new Client from a URI. + /// + /// Returns `None` if the initial connection fails or times out. + pub async fn new(uri: impl Into) -> Option { + let uri = uri.into(); + let result = with_timeout(Self::create_ws_client(&uri), RPC_TIMEOUT).await; + + match result { + Ok(Ok(ws_client)) => Some(Self { ws_client: Arc::new(ws_client), version: 0, uri }), + Ok(Err(e)) => { + warn!(target: LOG_TARGET, "Connection to {uri} failed: {e}. Ignoring this URI."); + None + }, + Err(()) => { + warn!(target: LOG_TARGET, "Connection to {uri} timed out. Ignoring this URI."); + None + }, + } + } + + /// Recreate the WebSocket client using the stored URI if the version matches. + pub(crate) async fn recreate(&mut self, expected_version: u64) { + // Only recreate if version matches (prevents redundant reconnections) + if self.version > expected_version { + return; + } + + debug!(target: LOG_TARGET, "Recreating client for `{}`", self.uri); + let result = with_timeout(Self::create_ws_client(&self.uri), RPC_TIMEOUT).await; + + match result { + Ok(Ok(ws_client)) => { + self.ws_client = Arc::new(ws_client); + self.version = expected_version + 1; + }, + Ok(Err(e)) => { + debug!(target: LOG_TARGET, "Failed to recreate client for `{}`: {e}", self.uri); + }, + Err(()) => { + debug!(target: LOG_TARGET, "Timeout recreating client for `{}`", self.uri); + }, + } + } +} + +/// Manages WebSocket client connections for parallel workers. +#[derive(Clone)] +pub(crate) struct ConnectionManager { + clients: Vec>>, +} + +impl ConnectionManager { + pub(crate) fn new(clients: Vec>>) -> Result { + if clients.is_empty() { + return Err("At least one client must be provided"); + } + + Ok(Self { clients }) + } + + pub(crate) fn num_clients(&self) -> usize { + self.clients.len() + } + + /// Get a usable client for a specific worker. + /// Distributes workers across available clients. + pub(crate) async fn get(&self, worker_index: usize) -> Client { + let client_index = worker_index % self.clients.len(); + let client = self.clients[client_index].lock().await; + client.clone() + } + + /// Called when a request fails. Triggers client recreation if version matches. + pub(crate) async fn recreate_client(&self, worker_index: usize, failed: Client) { + let client_index = worker_index % self.clients.len(); + let mut client = self.clients[client_index].lock().await; + client.recreate(failed.version).await; + } +} + +#[cfg(test)] +mod tests { + use super::*; + + /// Start a local WS server in a random port. + /// + /// Used to test WS client building for remote externality client initialization. + async fn start_local_ws_server() -> (String, jsonrpsee::server::ServerHandle) { + let server = jsonrpsee::server::ServerBuilder::default() + .build("127.0.0.1:0") + .await + .expect("local ws server should start"); + + let addr = server.local_addr().expect("local ws server should have a local addr"); + let handle = server.start(jsonrpsee::RpcModule::new(())); + + println!("local ws server started at {addr}"); + (format!("ws://{addr}"), handle) + } + + #[tokio::test] + async fn can_init_client() { + let (uri, _server) = start_local_ws_server().await; + + let client = Client::new(uri.clone()).await; + assert!(client.is_some(), "Client should initialize successfully with valid WebSocket URI"); + + // Test create_ws_client directly + let ws_client = Client::create_ws_client(&uri).await; + assert!(ws_client.is_ok(), "create_ws_client should succeed with valid URI"); + } + + #[tokio::test] + async fn cannot_init_client_with_invalid_uri() { + // HTTP/HTTPS are invalid, only WS/WSS are supported + assert!(Client::new("http://try-runtime.polkadot.io:443").await.is_none()); + assert!(Client::create_ws_client("http://try-runtime.polkadot.io:443").await.is_err()); + + assert!(Client::new("https://try-runtime.polkadot.io:443").await.is_none()); + assert!(Client::create_ws_client("https://try-runtime.polkadot.io:443").await.is_err()); + + // Invalid URIs/garbage + assert!(Client::new("wsss://try-runtime.polkadot.io:443").await.is_none()); + assert!(Client::create_ws_client("wsss://try-runtime.polkadot.io:443").await.is_err()); + assert!(Client::new("garbage").await.is_none()); + assert!(Client::create_ws_client("garbage").await.is_err()); + } +} diff --git a/substrate/utils/frame/remote-externalities/src/config.rs b/substrate/utils/frame/remote-externalities/src/config.rs new file mode 100644 index 0000000000000..dcff4bf9677d8 --- /dev/null +++ b/substrate/utils/frame/remote-externalities/src/config.rs @@ -0,0 +1,172 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Configuration types for remote externalities. + +use codec::{Compact, Decode, Encode}; +use sp_runtime::{traits::Block as BlockT, StateVersion}; +use std::{ + fs, + path::{Path, PathBuf}, +}; + +use crate::Result; + +pub(crate) const DEFAULT_WS_ENDPOINT: &str = "wss://try-runtime.polkadot.io:443"; +pub(crate) type SnapshotVersion = Compact; +pub(crate) const SNAPSHOT_VERSION: SnapshotVersion = Compact(4); + +/// The execution mode. +#[derive(Clone)] +pub enum Mode { + /// Online. Potentially writes to a snapshot file. + Online(OnlineConfig), + /// Offline. Uses a state snapshot file and needs not any client config. + Offline(OfflineConfig), + /// Prefer using a snapshot file if it exists, else use a remote server. + OfflineOrElseOnline(OfflineConfig, OnlineConfig), +} + +impl Default for Mode { + fn default() -> Self { + Mode::Online(OnlineConfig::default()) + } +} + +/// Configuration of the offline execution. +/// +/// A state snapshot config must be present. +#[derive(Clone)] +pub struct OfflineConfig { + /// The configuration of the state snapshot file to use. It must be present. + pub state_snapshot: SnapshotConfig, +} + +/// Configuration of the online execution. +/// +/// A state snapshot config may be present and will be written to in that case. +#[derive(Clone)] +pub struct OnlineConfig { + /// The block hash at which to get the runtime state. Will be latest finalized head if not + /// provided. + pub at: Option, + /// An optional state snapshot file to WRITE to, not for reading. Not written if set to `None`. + pub state_snapshot: Option, + /// The pallets to scrape. These values are hashed and added to `hashed_prefix`. + pub pallets: Vec, + /// Transport URIs. Can be a single URI or multiple for load distribution. + pub transport_uris: Vec, + /// Lookout for child-keys, and scrape them as well if set to true. + pub child_trie: bool, + /// Storage entry key prefixes to be injected into the externalities. The *hashed* prefix must + /// be given. + pub hashed_prefixes: Vec>, + /// Storage entry keys to be injected into the externalities. The *hashed* key must be given. + pub hashed_keys: Vec>, +} + +impl OnlineConfig { + pub(crate) fn at_expected(&self) -> H { + self.at.clone().expect("block at must be initialized; qed") + } +} + +impl Default for OnlineConfig { + fn default() -> Self { + Self { + transport_uris: vec![DEFAULT_WS_ENDPOINT.to_owned()], + child_trie: true, + at: None, + state_snapshot: None, + pallets: Default::default(), + hashed_keys: Default::default(), + hashed_prefixes: Default::default(), + } + } +} + +impl From for OnlineConfig { + fn from(uri: String) -> Self { + Self { transport_uris: vec![uri], ..Default::default() } + } +} + +/// Configuration of the state snapshot. +#[derive(Clone)] +pub struct SnapshotConfig { + /// The path to the snapshot file. + pub path: PathBuf, +} + +impl SnapshotConfig { + pub fn new>(path: P) -> Self { + Self { path: path.into() } + } +} + +impl From for SnapshotConfig { + fn from(s: String) -> Self { + Self::new(s) + } +} + +impl Default for SnapshotConfig { + fn default() -> Self { + Self { path: Path::new("SNAPSHOT").into() } + } +} + +/// The snapshot that we store on disk. +#[derive(Decode, Encode)] +pub(crate) struct Snapshot { + snapshot_version: SnapshotVersion, + pub(crate) state_version: StateVersion, + pub(crate) raw_storage: Vec<(Vec, (Vec, i32))>, + pub(crate) storage_root: B::Hash, + pub(crate) header: B::Header, +} + +impl Snapshot { + pub(crate) fn new( + state_version: StateVersion, + raw_storage: Vec<(Vec, (Vec, i32))>, + storage_root: B::Hash, + header: B::Header, + ) -> Self { + Self { + snapshot_version: SNAPSHOT_VERSION, + state_version, + raw_storage, + storage_root, + header, + } + } + + pub(crate) fn load(path: &PathBuf) -> Result> { + let bytes = fs::read(path).map_err(|_| "fs::read failed.")?; + // The first item in the SCALE encoded struct bytes is the snapshot version. We decode and + // check that first, before proceeding to decode the rest of the snapshot. + let snapshot_version = SnapshotVersion::decode(&mut &*bytes) + .map_err(|_| "Failed to decode snapshot version")?; + + if snapshot_version != SNAPSHOT_VERSION { + return Err("Unsupported snapshot version detected. Please create a new snapshot."); + } + + Decode::decode(&mut &*bytes).map_err(|_| "Decode failed") + } +} diff --git a/substrate/utils/frame/remote-externalities/src/key_range.rs b/substrate/utils/frame/remote-externalities/src/key_range.rs new file mode 100644 index 0000000000000..11954d2b12675 --- /dev/null +++ b/substrate/utils/frame/remote-externalities/src/key_range.rs @@ -0,0 +1,448 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Key range management for parallel storage fetching. + +use sp_core::storage::StorageKey; +use std::{ + collections::VecDeque, + sync::{Arc, Mutex}, +}; + +/// Default page size for fetching keys. +pub(crate) const DEFAULT_PAGE_SIZE: u32 = 1000; + +/// Represents a range of keys to fetch from the remote node. +#[derive(Debug, Clone)] +pub(crate) struct KeyRange { + /// The starting key of this range (inclusive for initial ranges, exclusive for continuations). + pub(crate) start_key: StorageKey, + /// The ending key of this range (exclusive), or None for open-ended range. + pub(crate) end_key: Option, + /// The common prefix for this range. + pub(crate) prefix: StorageKey, + /// Page size for fetching keys in this range (decreases on failure). + pub(crate) page_size: u32, + /// If true, start_key was already fetched and should be excluded from results. + pub(crate) exclude_start_key: bool, +} + +impl KeyRange { + pub(crate) fn new( + start_key: StorageKey, + end_key: Option, + prefix: StorageKey, + ) -> Self { + Self { start_key, end_key, prefix, page_size: DEFAULT_PAGE_SIZE, exclude_start_key: false } + } + + pub(crate) fn continuation( + start_key: StorageKey, + end_key: Option, + prefix: StorageKey, + ) -> Self { + Self { start_key, end_key, prefix, page_size: DEFAULT_PAGE_SIZE, exclude_start_key: true } + } + + /// Returns a new KeyRange with halved page size (minimum 10). + pub(crate) fn with_halved_page_size(&self) -> Self { + Self { page_size: (self.page_size / 2).max(10), ..self.clone() } + } + + /// Filter keys returned from RPC to only include keys within this range. + /// + /// Returns a tuple of: + /// - The filtered keys + /// - Whether this should be considered a "full batch" (triggers subdivision) + /// + /// A batch is only considered "full" if AFTER filtering it still has keys. + /// This prevents infinite subdivision when continuation ranges filter out the start_key. + pub(crate) fn filter_keys(&self, keys: Vec) -> (Vec, bool) { + let rpc_returned_full_batch = keys.len() == self.page_size as usize; + + let filtered: Vec<_> = keys + .into_iter() + .filter(|key| { + // Exclude start_key if this is a continuation range + if self.exclude_start_key && key == &self.start_key { + return false; + } + // Exclude keys at or beyond end_key + self.end_key.as_ref().map_or(true, |end| key < end) + }) + .collect(); + + // Only consider it a full batch if we still have keys after filtering + let is_full_batch = rpc_returned_full_batch && !filtered.is_empty(); + + (filtered, is_full_batch) + } +} + +/// Work queue for distributing key ranges to workers. +pub(crate) type WorkQueue = Arc>>; + +/// Generate 16 key ranges for parallel fetching by dividing the key space. +/// +/// Creates ranges by appending one nibble (4 bits) to the prefix. +/// This gives us: 0x00, 0x10, 0x20, ..., 0xF0 +pub(crate) fn gen_key_ranges(prefix: &StorageKey) -> Vec { + let prefix_bytes = prefix.as_ref().to_vec(); + let mut ranges = Vec::with_capacity(16); + + for i in 0u8..16u8 { + let mut start_key = prefix_bytes.clone(); + start_key.push(i << 4); // Shift nibble to upper 4 bits + + let end_key = if i < 15 { + let mut end = prefix_bytes.clone(); + end.push((i + 1) << 4); // Next nibble + Some(StorageKey(end)) + } else { + None + }; + + ranges.push(KeyRange::new(StorageKey(start_key), end_key, prefix.clone())); + } + + ranges +} + +/// Initialize a work queue with ranges for each prefix. +pub(crate) fn initialize_work_queue(prefixes: &[StorageKey]) -> WorkQueue { + let mut queue = VecDeque::new(); + + for prefix in prefixes { + let ranges = gen_key_ranges(prefix); + queue.extend(ranges); + } + + Arc::new(Mutex::new(queue)) +} + +/// Subdivide the key space AFTER the last_key into up to 16 new ranges. +/// +/// Takes the last two keys from a batch to find where they diverge, then creates +/// ranges based on incrementing the nibble at the divergence point. +pub(crate) fn subdivide_remaining_range( + second_last_key: &StorageKey, + last_key: &StorageKey, + end_key: Option<&StorageKey>, + prefix: &StorageKey, +) -> Vec { + let second_last_bytes = second_last_key.as_ref(); + let last_key_bytes = last_key.as_ref(); + + // Find the first byte position where the two keys diverge + let divergence_pos = second_last_bytes + .iter() + .zip(last_key_bytes.iter()) + .position(|(a, b)| a != b) + .unwrap_or(second_last_bytes.len().min(last_key_bytes.len())); + + let mut subdivision_nibble = None; + + for subdivision_pos in divergence_pos..last_key_bytes.len() { + let byte = last_key_bytes[subdivision_pos]; + let nibble = byte >> 4; + + if nibble < 15 { + subdivision_nibble = Some((subdivision_pos, nibble)); + break; + } + } + + let mut ranges = Vec::new(); + + // If we found a position where we can subdivide + if let Some((pos, current_nibble)) = subdivision_nibble { + let subdivision_prefix = &last_key_bytes[..pos]; + + let mut end = subdivision_prefix.to_vec(); + end.push((current_nibble + 1) << 4); + // Use continuation() since last_key was already fetched + ranges.push(KeyRange::continuation( + last_key.clone(), + Some(StorageKey(end)), + prefix.clone(), + )); + + // Create ranges for each nibble from (current_nibble + 1) to 0xF + for nibble in (current_nibble + 1)..16u8 { + let mut start = subdivision_prefix.to_vec(); + start.push(nibble << 4); + let start_key = StorageKey(start); + + // Check if this range starts at or after the end + if end_key.map_or(false, |ek| start_key >= *ek) { + break; + } + + let chunk_end_key = if nibble < 15 { + let mut end = subdivision_prefix.to_vec(); + end.push((nibble + 1) << 4); + let computed_end = StorageKey(end); + + Some(match end_key { + Some(actual_end) if &computed_end > actual_end => actual_end.clone(), + _ => computed_end, + }) + } else { + end_key.cloned() + }; + + // These are fresh ranges, not continuations + ranges.push(KeyRange::new(start_key, chunk_end_key, prefix.clone())); + } + } else if end_key.as_ref().map_or(true, |ek| last_key <= ek) { + // We are not yet past the end - use continuation since last_key was already fetched + ranges.push(KeyRange::continuation(last_key.clone(), end_key.cloned(), prefix.clone())); + } + + ranges +} + +#[cfg(test)] +mod tests { + use super::*; + + fn key(bytes: &[u8]) -> StorageKey { + StorageKey(bytes.to_vec()) + } + + #[test] + fn gen_key_ranges_creates_16_non_overlapping_ranges() { + let prefix = key(&[0xAB, 0xCD]); + let ranges = gen_key_ranges(&prefix); + + assert_eq!(ranges.len(), 16); + + // Check first range + assert_eq!(ranges[0].start_key, key(&[0xAB, 0xCD, 0x00])); + assert_eq!(ranges[0].end_key, Some(key(&[0xAB, 0xCD, 0x10]))); + assert!(!ranges[0].exclude_start_key); + + // Check middle range + assert_eq!(ranges[8].start_key, key(&[0xAB, 0xCD, 0x80])); + assert_eq!(ranges[8].end_key, Some(key(&[0xAB, 0xCD, 0x90]))); + + // Check last range (open-ended) + assert_eq!(ranges[15].start_key, key(&[0xAB, 0xCD, 0xF0])); + assert_eq!(ranges[15].end_key, None); + + // Verify ranges are contiguous (no gaps, no overlaps) + for i in 0..15 { + assert_eq!(ranges[i].end_key, Some(ranges[i + 1].start_key.clone())); + } + } + + #[test] + fn gen_key_ranges_with_empty_prefix() { + let prefix = key(&[]); + let ranges = gen_key_ranges(&prefix); + + assert_eq!(ranges.len(), 16); + assert_eq!(ranges[0].start_key, key(&[0x00])); + assert_eq!(ranges[0].end_key, Some(key(&[0x10]))); + assert_eq!(ranges[15].start_key, key(&[0xF0])); + assert_eq!(ranges[15].end_key, None); + } + + #[test] + fn subdivide_creates_continuation_ranges() { + let prefix = key(&[0xAB]); + let second_last = key(&[0xAB, 0x12, 0x34]); + let last = key(&[0xAB, 0x12, 0x35]); + + let ranges = subdivide_remaining_range(&second_last, &last, None, &prefix); + + // First range should be a continuation (exclude_start_key = true) + assert!(!ranges.is_empty()); + assert!(ranges[0].exclude_start_key, "First subdivided range should exclude start_key"); + assert_eq!(ranges[0].start_key, last); + } + + #[test] + fn subdivide_respects_end_key() { + let prefix = key(&[0xAB]); + let second_last = key(&[0xAB, 0x12, 0x34]); + let last = key(&[0xAB, 0x12, 0x35]); + let end = key(&[0xAB, 0x20]); // End before most subdivided ranges + + let ranges = subdivide_remaining_range(&second_last, &last, Some(&end), &prefix); + + // All ranges should respect end_key + for range in &ranges { + if let Some(range_end) = &range.end_key { + assert!(range_end <= &end, "Range end should not exceed overall end_key"); + } + assert!(range.start_key < end, "Range start should be before end_key"); + } + } + + #[test] + fn subdivide_when_last_key_at_nibble_boundary() { + let prefix = key(&[0xAB]); + let second_last = key(&[0xAB, 0x1F, 0xFF]); + let last = key(&[0xAB, 0x20, 0x00]); + + let ranges = subdivide_remaining_range(&second_last, &last, None, &prefix); + + assert!(!ranges.is_empty()); + // First range starts from last_key and is a continuation + assert_eq!(ranges[0].start_key, last); + assert!(ranges[0].exclude_start_key); + } + + #[test] + fn subdivide_clamps_ranges_to_end_key() { + let prefix = key(&[0xAB]); + let second_last = key(&[0xAB, 0x12, 0x34]); + let last = key(&[0xAB, 0x12, 0x50]); + let end = key(&[0xAB, 0x12, 0x60]); // End within the subdivision range + + let ranges = subdivide_remaining_range(&second_last, &last, Some(&end), &prefix); + + // Should have created some ranges, but they should respect end_key + assert!(!ranges.is_empty()); + + // Check that ranges don't start at or past end_key + for range in &ranges { + assert!( + range.start_key < end, + "Range start {:?} should be before end {:?}", + range.start_key, + end + ); + } + } + + #[test] + fn key_range_with_halved_page_size_preserves_exclude_flag() { + let range = KeyRange::continuation(key(&[0x00]), Some(key(&[0x10])), key(&[])); + + assert!(range.exclude_start_key); + assert_eq!(range.page_size, DEFAULT_PAGE_SIZE); + + let halved = range.with_halved_page_size(); + + assert!(halved.exclude_start_key, "exclude_start_key should be preserved"); + assert_eq!(halved.page_size, DEFAULT_PAGE_SIZE / 2); + assert_eq!(halved.start_key, range.start_key); + assert_eq!(halved.end_key, range.end_key); + } + + #[test] + fn key_range_new_vs_continuation() { + let start = key(&[0x00]); + let end = Some(key(&[0x10])); + let prefix = key(&[]); + + let new_range = KeyRange::new(start.clone(), end.clone(), prefix.clone()); + let cont_range = KeyRange::continuation(start.clone(), end.clone(), prefix.clone()); + + assert!(!new_range.exclude_start_key, "new() should not exclude start_key"); + assert!(cont_range.exclude_start_key, "continuation() should exclude start_key"); + + // Everything else should be the same + assert_eq!(new_range.start_key, cont_range.start_key); + assert_eq!(new_range.end_key, cont_range.end_key); + assert_eq!(new_range.prefix, cont_range.prefix); + assert_eq!(new_range.page_size, cont_range.page_size); + } + + #[test] + fn filter_keys_excludes_start_key_for_continuation() { + let start = key(&[0xAB, 0x12, 0x34]); + let end = key(&[0xAB, 0x20]); + let prefix = key(&[0xAB]); + + let range = KeyRange::continuation(start.clone(), Some(end.clone()), prefix); + + // RPC returns keys including the start_key (which was already fetched) + let keys = vec![start.clone(), key(&[0xAB, 0x12, 0x35]), key(&[0xAB, 0x12, 0x40])]; + + let (filtered, is_full_batch) = range.filter_keys(keys); + + // start_key should be excluded + assert!(!filtered.contains(&start), "start_key should be filtered out"); + assert_eq!(filtered.len(), 2); + // Not a full batch since we didn't get page_size keys + assert!(!is_full_batch); + } + + #[test] + fn filter_keys_prevents_infinite_subdivision_on_empty_result() { + // This test verifies the bug fix: when a continuation range returns only + // the start_key (which gets filtered out), is_full_batch must be false + // to prevent infinite subdivision loops. + let start = key(&[0xAB, 0x12, 0x34]); + let prefix = key(&[0xAB]); + + let mut range = KeyRange::continuation(start.clone(), None, prefix); + range.page_size = 1; // Simulate a range with page_size=1 + + // RPC returns exactly page_size keys (a "full batch"), but it's only the start_key + let keys = vec![start.clone()]; + + let (filtered, is_full_batch) = range.filter_keys(keys); + + // After filtering, the page is empty + assert!(filtered.is_empty(), "start_key should be filtered out"); + // CRITICAL: is_full_batch must be false to prevent infinite subdivision + assert!(!is_full_batch, "is_full_batch should be false when filtered result is empty"); + } + + #[test] + fn filter_keys_excludes_keys_beyond_end() { + let start = key(&[0xAB, 0x10]); + let end = key(&[0xAB, 0x20]); + let prefix = key(&[0xAB]); + + let range = KeyRange::new(start.clone(), Some(end.clone()), prefix); + + let keys = vec![ + key(&[0xAB, 0x10]), + key(&[0xAB, 0x15]), + key(&[0xAB, 0x20]), // At end - should be excluded + key(&[0xAB, 0x25]), // Beyond end - should be excluded + ]; + + let (filtered, _) = range.filter_keys(keys); + + assert_eq!(filtered.len(), 2); + assert!(!filtered.contains(&end), "keys at end should be excluded"); + assert!(!filtered.contains(&key(&[0xAB, 0x25])), "keys beyond end should be excluded"); + } + + #[test] + fn filter_keys_reports_full_batch_correctly() { + let start = key(&[0x00]); + let prefix = key(&[]); + + let mut range = KeyRange::new(start, None, prefix); + range.page_size = 3; + + // Exactly page_size keys, all valid + let keys = vec![key(&[0x00]), key(&[0x01]), key(&[0x02])]; + + let (filtered, is_full_batch) = range.filter_keys(keys); + + assert_eq!(filtered.len(), 3); + assert!(is_full_batch, "should be a full batch when page_size keys returned"); + } +} diff --git a/substrate/utils/frame/remote-externalities/src/lib.rs b/substrate/utils/frame/remote-externalities/src/lib.rs index 9eee2071ce289..372c7b5a8b38f 100644 --- a/substrate/utils/frame/remote-externalities/src/lib.rs +++ b/substrate/utils/frame/remote-externalities/src/lib.rs @@ -20,12 +20,23 @@ //! An equivalent of `sp_io::TestExternalities` that can load its state from a remote substrate //! based chain, or a local state snapshot file. +mod client; +mod config; +mod key_range; mod logging; +mod parallel; -use codec::{Compact, Decode, Encode}; +pub use config::{Mode, OfflineConfig, OnlineConfig, SnapshotConfig}; + +use client::{with_timeout, Client, ConnectionManager, RPC_TIMEOUT}; +use codec::Encode; +use config::Snapshot; +#[cfg(all(test, feature = "remote-test"))] +use config::DEFAULT_WS_ENDPOINT; use indicatif::{ProgressBar, ProgressStyle}; -use jsonrpsee::{core::params::ArrayParams, http_client::HttpClient}; +use jsonrpsee::core::params::ArrayParams; use log::*; +use parallel::{run_workers, ProcessResult}; use serde::de::DeserializeOwned; use sp_core::{ hexdisplay::HexDisplay, @@ -40,77 +51,33 @@ use sp_runtime::{ }; use sp_state_machine::TestExternalities; use std::{ - cmp::{max, min}, - fs, + collections::{BTreeSet, VecDeque}, + future::Future, ops::{Deref, DerefMut}, - path::{Path, PathBuf}, - sync::Arc, - time::{Duration, Instant}, + sync::{ + atomic::{AtomicUsize, Ordering}, + Arc, Mutex, + }, + time::Duration, }; use substrate_rpc_client::{rpc_params, BatchRequestBuilder, ChainApi, ClientT, StateApi}; -use tokio_retry::{strategy::FixedInterval, Retry}; + +use crate::key_range::{initialize_work_queue, subdivide_remaining_range}; type Result = std::result::Result; type KeyValue = (StorageKey, StorageData); type TopKeyValues = Vec; type ChildKeyValues = Vec<(ChildInfo, Vec)>; -type SnapshotVersion = Compact; const LOG_TARGET: &str = "remote-ext"; -const DEFAULT_HTTP_ENDPOINT: &str = "https://try-runtime.polkadot.io:443"; -const SNAPSHOT_VERSION: SnapshotVersion = Compact(4); - -/// The snapshot that we store on disk. -#[derive(Decode, Encode)] -struct Snapshot { - snapshot_version: SnapshotVersion, - state_version: StateVersion, - // > - raw_storage: Vec<(Vec, (Vec, i32))>, - // The storage root of the state. This may vary from the storage root in the header, if not the - // entire state was fetched. - storage_root: B::Hash, - header: B::Header, -} - -impl Snapshot { - pub fn new( - state_version: StateVersion, - raw_storage: Vec<(Vec, (Vec, i32))>, - storage_root: B::Hash, - header: B::Header, - ) -> Self { - Self { - snapshot_version: SNAPSHOT_VERSION, - state_version, - raw_storage, - storage_root, - header, - } - } - - fn load(path: &PathBuf) -> Result> { - let bytes = fs::read(path).map_err(|_| "fs::read failed.")?; - // The first item in the SCALE encoded struct bytes is the snapshot version. We decode and - // check that first, before proceeding to decode the rest of the snapshot. - let snapshot_version = SnapshotVersion::decode(&mut &*bytes) - .map_err(|_| "Failed to decode snapshot version")?; - - if snapshot_version != SNAPSHOT_VERSION { - return Err("Unsupported snapshot version detected. Please create a new snapshot.") - } - - Decode::decode(&mut &*bytes).map_err(|_| "Decode failed") - } -} /// An externalities that acts exactly the same as [`sp_io::TestExternalities`] but has a few extra /// bits and pieces to it, and can be loaded remotely. pub struct RemoteExternalities { /// The inner externalities. pub inner_ext: TestExternalities>, - /// The block header which we created this externality env. + /// The block header which we created this externalities env. pub header: B::Header, } @@ -127,165 +94,7 @@ impl DerefMut for RemoteExternalities { } } -/// The execution mode. -#[derive(Clone)] -pub enum Mode { - /// Online. Potentially writes to a snapshot file. - Online(OnlineConfig), - /// Offline. Uses a state snapshot file and needs not any client config. - Offline(OfflineConfig), - /// Prefer using a snapshot file if it exists, else use a remote server. - OfflineOrElseOnline(OfflineConfig, OnlineConfig), -} - -impl Default for Mode { - fn default() -> Self { - Mode::Online(OnlineConfig::default()) - } -} - -/// Configuration of the offline execution. -/// -/// A state snapshot config must be present. -#[derive(Clone)] -pub struct OfflineConfig { - /// The configuration of the state snapshot file to use. It must be present. - pub state_snapshot: SnapshotConfig, -} - -/// Description of the transport protocol (for online execution). -#[derive(Debug, Clone)] -pub enum Transport { - /// Use the `URI` to open a new WebSocket connection. - Uri(String), - /// Use HTTP connection. - RemoteClient(HttpClient), -} - -impl Transport { - fn as_client(&self) -> Option<&HttpClient> { - match self { - Self::RemoteClient(client) => Some(client), - _ => None, - } - } - - // Build an HttpClient from a URI. - async fn init(&mut self) -> Result<()> { - if let Self::Uri(uri) = self { - debug!(target: LOG_TARGET, "initializing remote client to {uri:?}"); - - let http_client = HttpClient::builder() - .max_request_size(u32::MAX) - .max_response_size(u32::MAX) - .request_timeout(std::time::Duration::from_secs(60 * 5)) - .build(uri) - .map_err(|e| { - error!(target: LOG_TARGET, "error: {e:?}"); - "failed to build http client" - })?; - - *self = Self::RemoteClient(http_client) - } - - Ok(()) - } -} - -impl From for Transport { - fn from(uri: String) -> Self { - Transport::Uri(uri) - } -} - -impl From for Transport { - fn from(client: HttpClient) -> Self { - Transport::RemoteClient(client) - } -} - -/// Configuration of the online execution. -/// -/// A state snapshot config may be present and will be written to in that case. -#[derive(Clone)] -pub struct OnlineConfig { - /// The block hash at which to get the runtime state. Will be latest finalized head if not - /// provided. - pub at: Option, - /// An optional state snapshot file to WRITE to, not for reading. Not written if set to `None`. - pub state_snapshot: Option, - /// The pallets to scrape. These values are hashed and added to `hashed_prefix`. - pub pallets: Vec, - /// Transport config. - pub transport: Transport, - /// Lookout for child-keys, and scrape them as well if set to true. - pub child_trie: bool, - /// Storage entry key prefixes to be injected into the externalities. The *hashed* prefix must - /// be given. - pub hashed_prefixes: Vec>, - /// Storage entry keys to be injected into the externalities. The *hashed* key must be given. - pub hashed_keys: Vec>, -} - -impl OnlineConfig { - /// Return rpc (http) client reference. - fn rpc_client(&self) -> &HttpClient { - self.transport - .as_client() - .expect("http client must have been initialized by now; qed.") - } - - fn at_expected(&self) -> H { - self.at.clone().expect("block at must be initialized; qed") - } -} - -impl Default for OnlineConfig { - fn default() -> Self { - Self { - transport: Transport::from(DEFAULT_HTTP_ENDPOINT.to_owned()), - child_trie: true, - at: None, - state_snapshot: None, - pallets: Default::default(), - hashed_keys: Default::default(), - hashed_prefixes: Default::default(), - } - } -} - -impl From for OnlineConfig { - fn from(t: String) -> Self { - Self { transport: t.into(), ..Default::default() } - } -} - -/// Configuration of the state snapshot. -#[derive(Clone)] -pub struct SnapshotConfig { - /// The path to the snapshot file. - pub path: PathBuf, -} - -impl SnapshotConfig { - pub fn new>(path: P) -> Self { - Self { path: path.into() } - } -} - -impl From for SnapshotConfig { - fn from(s: String) -> Self { - Self::new(s) - } -} - -impl Default for SnapshotConfig { - fn default() -> Self { - Self { path: Path::new("SNAPSHOT").into() } - } -} - -/// Builder for remote-externalities. +/// Builder for [`RemoteExternalities`]. #[derive(Clone)] pub struct Builder { /// Custom key-pairs to be injected into the final externalities. The *hashed* keys and values @@ -300,6 +109,8 @@ pub struct Builder { /// /// Overwrite only with care. overwrite_state_version: Option, + /// Connection manager for RPC clients (initialized during `init_remote_client`). + conn_manager: Option, } impl Default for Builder { @@ -309,6 +120,7 @@ impl Default for Builder { hashed_key_values: Default::default(), hashed_blacklist: Default::default(), overwrite_state_version: None, + conn_manager: None, } } } @@ -330,6 +142,10 @@ impl Builder { _ => panic!("Unexpected mode: Online"), } } + + fn conn_manager(&self) -> Result<&ConnectionManager> { + self.conn_manager.as_ref().ok_or("connection manager must be initialized; qed") + } } // RPC methods @@ -338,185 +154,213 @@ where B::Hash: DeserializeOwned, B::Header: DeserializeOwned, { - const PARALLEL_REQUESTS: usize = 4; - const BATCH_SIZE_INCREASE_FACTOR: f32 = 1.10; - const BATCH_SIZE_DECREASE_FACTOR: f32 = 0.50; - const REQUEST_DURATION_TARGET: Duration = Duration::from_secs(15); - const INITIAL_BATCH_SIZE: usize = 10; - // nodes by default will not return more than 1000 keys per request - const DEFAULT_KEY_DOWNLOAD_PAGE: u32 = 1000; - const MAX_RETRIES: usize = 12; - const KEYS_PAGE_RETRY_INTERVAL: Duration = Duration::from_secs(5); + const PARALLEL_REQUESTS_PER_CLIENT: usize = 4; + + fn parallel_requests(&self) -> usize { + self.conn_manager + .as_ref() + .map(|cm| cm.num_clients() * Self::PARALLEL_REQUESTS_PER_CLIENT) + .expect("connection manager must be initialized; qed") + } + /// Execute an RPC call on any available client. Tries each client until one succeeds. + /// + /// Starts with a random client to distribute load across clients. + async fn with_any_client(&self, op_name: &'static str, f: F) -> Result + where + F: Fn(Client) -> Fut, + Fut: Future>, + E: std::fmt::Debug, + { + let conn_manager = self.conn_manager().map_err(|_| ())?; + let num_clients = conn_manager.num_clients(); + let start_offset: usize = rand::random(); + for j in 0..num_clients { + let i = (start_offset + j) % num_clients; + let client = conn_manager.get(i).await; + let result = with_timeout(f(client), RPC_TIMEOUT).await; + match result { + Ok(Ok(value)) => return Ok(value), + Ok(Err(e)) => { + debug!(target: LOG_TARGET, "Client {i}: {op_name} RPC error: {e:?}"); + }, + Err(()) => { + debug!(target: LOG_TARGET, "Client {i}: {op_name} timeout"); + }, + } + } + Err(()) + } + + /// Get a single storage value. Tries each client until one succeeds. async fn rpc_get_storage( &self, key: StorageKey, maybe_at: Option, ) -> Result> { trace!(target: LOG_TARGET, "rpc: get_storage"); - self.as_online().rpc_client().storage(key, maybe_at).await.map_err(|e| { - error!(target: LOG_TARGET, "Error = {e:?}"); - "rpc get_storage failed." + self.with_any_client("get_storage", move |client| { + let key = key.clone(); + async move { client.storage(key, maybe_at).await } }) + .await + .map_err(|_| "rpc get_storage failed on all clients") } - /// Get the latest finalized head. - async fn rpc_get_head(&self) -> Result { - trace!(target: LOG_TARGET, "rpc: finalized_head"); - - // sadly this pretty much unreadable... - ChainApi::<(), _, B::Header, ()>::finalized_head(self.as_online().rpc_client()) - .await - .map_err(|e| { - error!(target: LOG_TARGET, "Error = {e:?}"); - "rpc finalized_head failed." - }) - } + /// Fetch the state version from the runtime. Tries each client until one succeeds. + async fn fetch_state_version(&self) -> Result { + let conn_manager = self.conn_manager()?; - async fn get_keys_single_page( - &self, - prefix: Option, - start_key: Option, - at: B::Hash, - ) -> Result> { - self.as_online() - .rpc_client() - .storage_keys_paged(prefix, Self::DEFAULT_KEY_DOWNLOAD_PAGE, start_key, Some(at)) - .await - .map_err(|e| { - error!(target: LOG_TARGET, "Error = {e:?}"); - "rpc get_keys failed" - }) - } + for i in 0..conn_manager.num_clients() { + let client = conn_manager.get(i).await; + let result = with_timeout( + StateApi::::runtime_version(client.ws_client.as_ref(), None), + RPC_TIMEOUT, + ) + .await; - /// Get keys with `prefix` at `block` in a parallel manner. - async fn rpc_get_keys_parallel( - &self, - prefix: &StorageKey, - block: B::Hash, - parallel: usize, - ) -> Result> { - /// Divide the workload and return the start key of each chunks. Guaranteed to return a - /// non-empty list. - fn gen_start_keys(prefix: &StorageKey) -> Vec { - let mut prefix = prefix.as_ref().to_vec(); - let scale = 32usize.saturating_sub(prefix.len()); - - // no need to divide workload - if scale < 9 { - prefix.extend(vec![0; scale]); - return vec![StorageKey(prefix)] + match result { + Ok(Ok(version)) => return Ok(version.state_version()), + Ok(Err(e)) => { + debug!(target: LOG_TARGET, "Client {i}: runtime_version RPC error: {e:?}"); + }, + Err(()) => { + debug!(target: LOG_TARGET, "Client {i}: runtime_version timeout"); + }, } - - let chunks = 16; - let step = 0x10000 / chunks; - let ext = scale - 2; - - (0..chunks) - .map(|i| { - let mut key = prefix.clone(); - let start = i * step; - key.extend(vec![(start >> 8) as u8, (start & 0xff) as u8]); - key.extend(vec![0; ext]); - StorageKey(key) - }) - .collect() } - let start_keys = gen_start_keys(&prefix); - let start_keys: Vec> = start_keys.iter().map(Some).collect(); - let mut end_keys: Vec> = start_keys[1..].to_vec(); - end_keys.push(None); - - // use a semaphore to limit max scraping tasks - let parallel = Arc::new(tokio::sync::Semaphore::new(parallel)); - let builder = Arc::new(self.clone()); - let mut handles = vec![]; - - for (start_key, end_key) in start_keys.into_iter().zip(end_keys) { - let permit = parallel - .clone() - .acquire_owned() - .await - .expect("semaphore is not closed until the end of loop"); - - let builder = builder.clone(); - let prefix = prefix.clone(); - let start_key = start_key.cloned(); - let end_key = end_key.cloned(); - - let handle = tokio::spawn(async move { - let res = builder - .rpc_get_keys_in_range(&prefix, block, start_key.as_ref(), end_key.as_ref()) - .await; - drop(permit); - res - }); - - handles.push(handle); - } - - parallel.close(); - - let keys = futures::future::join_all(handles) - .await - .into_iter() - .filter_map(|res| match res { - Ok(Ok(keys)) => Some(keys), - _ => None, - }) - .flatten() - .collect::>(); + Err("rpc runtime_version failed on all clients") + } - Ok(keys) + /// Get the latest finalized head. Tries each client until one succeeds. + async fn rpc_get_head(&self) -> Result { + trace!(target: LOG_TARGET, "rpc: finalized_head"); + self.with_any_client("finalized_head", |client| async move { + ChainApi::<(), _, B::Header, ()>::finalized_head(&*client).await + }) + .await + .map_err(|_| "rpc finalized_head failed on all clients") } - /// Get all keys with `prefix` within the given range at `block`. - /// Both `start_key` and `end_key` are optional if you want an open-ended range. - async fn rpc_get_keys_in_range( + /// Get keys with `prefix` at `block` using parallel workers. + async fn rpc_get_keys_parallel( &self, prefix: &StorageKey, block: B::Hash, - start_key: Option<&StorageKey>, - end_key: Option<&StorageKey>, + parallel: usize, ) -> Result> { - let mut last_key: Option<&StorageKey> = start_key; - let mut keys: Vec = vec![]; + let work_queue = initialize_work_queue(&[prefix.clone()]); + let initial_ranges = work_queue.lock().unwrap().len(); + info!(target: LOG_TARGET, "πŸ”§ Initialized work queue with {initial_ranges} ranges"); + + let conn_manager = self.conn_manager()?; + info!(target: LOG_TARGET, "🌐 Using {} RPC provider(s)", conn_manager.num_clients()); + info!(target: LOG_TARGET, "πŸš€ Spawning {parallel} parallel workers for key fetching"); + + let all_keys: Arc>> = Arc::new(Mutex::new(BTreeSet::new())); + let last_logged_milestone = Arc::new(AtomicUsize::new(0)); + let initial_work = work_queue.lock().unwrap().drain(..).collect(); + let all_keys_for_result = all_keys.clone(); + + run_workers(initial_work, conn_manager, parallel, move |worker_index, range, client| { + let all_keys = all_keys.clone(); + let last_logged_milestone = last_logged_milestone.clone(); + + async move { + trace!( + target: LOG_TARGET, + "Worker {worker_index}: fetching keys starting at {:?} (page_size: {})", + HexDisplay::from(&range.start_key.0), + range.page_size + ); - loop { - // This loop can hit the node with very rapid requests, occasionally causing it to - // error out in CI (https://github.com/paritytech/substrate/issues/14129), so we retry. - let retry_strategy = - FixedInterval::new(Self::KEYS_PAGE_RETRY_INTERVAL).take(Self::MAX_RETRIES); - let get_page_closure = - || self.get_keys_single_page(Some(prefix.clone()), last_key.cloned(), block); - let mut page = Retry::spawn(retry_strategy, get_page_closure).await?; - - // avoid duplicated keys across workloads - if let (Some(last), Some(end)) = (page.last(), end_key) { - if last >= end { - page.retain(|key| key < end); + let rpc_result = with_timeout( + client.storage_keys_paged( + Some(range.prefix.clone()), + range.page_size, + Some(range.start_key.clone()), + Some(block), + ), + RPC_TIMEOUT, + ) + .await; + + let page = match rpc_result { + Ok(Ok(p)) => p, + Ok(Err(e)) => { + debug!(target: LOG_TARGET, "Worker {worker_index}: RPC error: {e:?}"); + return ProcessResult::Retry { + work: range.with_halved_page_size(), + sleep_duration: Duration::from_secs(15), + recreate_client: true, + }; + }, + Err(()) => { + debug!(target: LOG_TARGET, "Worker {worker_index}: timeout"); + return ProcessResult::Retry { + work: range.with_halved_page_size(), + sleep_duration: Duration::from_secs(5), + recreate_client: true, + }; + }, + }; + + // Filter keys and determine if this was a full batch + let (page, is_full_batch) = range.filter_keys(page); + let last_two_keys = if page.len() >= 2 { + Some((page[page.len() - 2].clone(), page[page.len() - 1].clone())) + } else { + None + }; + + let total_keys = { + let mut keys = all_keys.lock().unwrap(); + keys.extend(page); + keys.len() + }; + + // Log progress every 10,000 keys + const LOG_INTERVAL: usize = 10_000; + let current_milestone = (total_keys / LOG_INTERVAL) * LOG_INTERVAL; + let last_milestone = last_logged_milestone.load(Ordering::Relaxed); + if current_milestone > last_milestone && current_milestone > 0 { + if last_logged_milestone + .compare_exchange( + last_milestone, + current_milestone, + Ordering::SeqCst, + Ordering::Relaxed, + ) + .is_ok() + { + info!(target: LOG_TARGET, "πŸ“Š Scraped {total_keys} keys so far..."); + } } - } - let page_len = page.len(); - keys.extend(page); - last_key = keys.last(); + // Subdivide remaining range if this was a full batch + let new_work = if is_full_batch { + if let Some((second_last, last)) = last_two_keys { + subdivide_remaining_range( + &second_last, + &last, + range.end_key.as_ref(), + &range.prefix, + ) + } else { + vec![] + } + } else { + vec![] + }; - // scraping out of range or no more matches, - // we are done either way - if page_len < Self::DEFAULT_KEY_DOWNLOAD_PAGE as usize { - debug!(target: LOG_TARGET, "last page received: {page_len}"); - break + ProcessResult::Success { new_work } } + }) + .await; - debug!( - target: LOG_TARGET, - "new total = {}, full page received: {}", - keys.len(), - HexDisplay::from(last_key.expect("full page received, cannot be None")) - ); - } + let keys: Vec<_> = all_keys_for_result.lock().unwrap().iter().cloned().collect(); + info!(target: LOG_TARGET, "πŸŽ‰ Parallel key fetching complete: {} unique keys", keys.len()); Ok(keys) } @@ -566,97 +410,57 @@ where /// } /// ``` async fn get_storage_data_dynamic_batch_size( - client: &HttpClient, - payloads: Vec<(String, ArrayParams)>, + client: &Client, + worker_index: usize, + payloads: &[(String, ArrayParams)], bar: &ProgressBar, - ) -> Result>, String> { + batch_size: usize, + ) -> std::result::Result>, String> { let mut all_data: Vec> = vec![]; let mut start_index = 0; - let mut retries = 0usize; - let mut batch_size = Self::INITIAL_BATCH_SIZE; let total_payloads = payloads.len(); while start_index < total_payloads { - debug!( - target: LOG_TARGET, - "Remaining payloads: {} Batch request size: {batch_size}", - total_payloads - start_index, - ); - let end_index = usize::min(start_index + batch_size, total_payloads); let page = &payloads[start_index..end_index]; + trace!( + target: LOG_TARGET, + "Worker {worker_index}: fetching values {start_index}..{end_index} of {total_payloads}", + ); + // Build the batch request let mut batch = BatchRequestBuilder::new(); for (method, params) in page.iter() { - batch - .insert(method, params.clone()) - .map_err(|_| "Invalid batch method and/or params")?; + if batch.insert(method, params.clone()).is_err() { + panic!("Invalid batch method and/or params; qed"); + } } - let request_started = Instant::now(); - let batch_response = match client.batch_request::>(batch).await { - Ok(batch_response) => { - retries = 0; - batch_response - }, - Err(e) => { - if retries > Self::MAX_RETRIES { - return Err(e.to_string()) - } - - retries += 1; - let failure_log = format!( - "Batch request failed ({retries}/{} retries). Error: {e}", - Self::MAX_RETRIES - ); - // after 2 subsequent failures something very wrong is happening. log a warning - // and reset the batch size down to 1. - if retries >= 2 { - warn!("{failure_log}"); - batch_size = 1; - } else { - debug!("{failure_log}"); - // Decrease batch size by DECREASE_FACTOR - batch_size = - (batch_size as f32 * Self::BATCH_SIZE_DECREASE_FACTOR) as usize; - } - continue - }, - }; + let rpc_result = with_timeout( + client.ws_client.batch_request::>(batch), + RPC_TIMEOUT, + ) + .await; - let request_duration = request_started.elapsed(); - batch_size = if request_duration > Self::REQUEST_DURATION_TARGET { - // Decrease batch size - max(1, (batch_size as f32 * Self::BATCH_SIZE_DECREASE_FACTOR) as usize) - } else { - // Increase batch size, but not more than the remaining total payloads to process - min( - total_payloads - start_index, - max( - batch_size + 1, - (batch_size as f32 * Self::BATCH_SIZE_INCREASE_FACTOR) as usize, - ), - ) + let batch_response = match rpc_result { + Ok(Ok(r)) => r, + Ok(Err(e)) => return Err(format!("RPC error: {e:?}")), + Err(()) => return Err("timeout".to_string()), }; - debug!( - target: LOG_TARGET, - "Request duration: {request_duration:?} Target duration: {:?} Last batch size: {} Next batch size: {batch_size}", - Self::REQUEST_DURATION_TARGET, - end_index - start_index, - ); - let batch_response_len = batch_response.len(); for item in batch_response.into_iter() { match item { Ok(x) => all_data.push(x), - Err(e) => return Err(e.message().to_string()), + Err(e) => { + warn!(target: LOG_TARGET, "Value worker {worker_index}: batch item error: {}", e.message()); + all_data.push(None); + }, } } bar.inc(batch_response_len as u64); - // Update the start index for the next iteration start_index = end_index; } @@ -673,28 +477,20 @@ where at: B::Hash, pending_ext: &mut TestExternalities>, ) -> Result> { + let parallel = self.parallel_requests(); let keys = logging::with_elapsed_async( - || async { - // TODO: We could start downloading when having collected the first batch of keys. - // https://github.com/paritytech/polkadot-sdk/issues/2494 - let keys = self - .rpc_get_keys_parallel(&prefix, at, Self::PARALLEL_REQUESTS) - .await? - .into_iter() - .collect::>(); - - Ok(keys) - }, + || async { self.rpc_get_keys_parallel(&prefix, at, parallel).await }, "Scraping keys...", |keys| format!("Found {} keys", keys.len()), ) .await?; if keys.is_empty() { - return Ok(Default::default()) + return Ok(Default::default()); } - let client = self.as_online().rpc_client(); + let conn_manager = self.conn_manager()?; + let payloads = keys .iter() .map(|key| ("state_getStorage".to_string(), rpc_params!(key, at))) @@ -710,39 +506,85 @@ where .unwrap() .progress_chars("=>-"), ); - let payloads_chunked = payloads.chunks((payloads.len() / Self::PARALLEL_REQUESTS).max(1)); - let requests = payloads_chunked.map(|payload_chunk| { - Self::get_storage_data_dynamic_batch_size(client, payload_chunk.to_vec(), &bar) - }); - // Execute the requests and move the Result outside. - let storage_data_result: Result, _> = - futures::future::join_all(requests).await.into_iter().collect(); - // Handle the Result. - let storage_data = match storage_data_result { - Ok(storage_data) => storage_data.into_iter().flatten().collect::>(), - Err(e) => { - error!(target: LOG_TARGET, "Error while getting storage data: {e}"); - return Err("Error while getting storage data") + + // Create batches of payloads for dynamic work distribution + // Each batch is: (start_index, payloads, batch_size) + const BATCH_SIZE: usize = 1000; + let batches: VecDeque<_> = payloads + .chunks(BATCH_SIZE) + .enumerate() + .map(|(i, chunk)| (i * BATCH_SIZE, chunk.to_vec(), BATCH_SIZE)) + .collect(); + + info!(target: LOG_TARGET, "πŸ”§ Initialized {} batches for value fetching", batches.len()); + info!(target: LOG_TARGET, "πŸš€ Spawning {parallel} parallel workers for value fetching"); + + let results: Arc>>> = + Arc::new(Mutex::new(vec![None; payloads.len()])); + let results_for_extraction = results.clone(); + let bar_for_finish = bar.clone(); + + run_workers( + batches, + conn_manager, + parallel, + move |worker_index, (start_index, batch, batch_size), client| { + let results = results.clone(); + let bar = bar.clone(); + + async move { + debug!( + target: LOG_TARGET, + "Value worker {worker_index}: Processing batch at {start_index} with {} payloads", + batch.len() + ); + + match Self::get_storage_data_dynamic_batch_size( + &client, + worker_index, + &batch, + &bar, + batch_size, + ) + .await + { + Ok(batch_results) => { + let mut results_lock = results.lock().unwrap(); + for (offset, result) in batch_results.into_iter().enumerate() { + results_lock[start_index + offset] = result; + } + ProcessResult::Success { new_work: vec![] } + }, + Err(e) => { + debug!(target: LOG_TARGET, "Value worker {worker_index}: failed: {e:?}"); + let new_batch_size = (batch_size / 2).max(10); + ProcessResult::Retry { + work: (start_index, batch, new_batch_size), + sleep_duration: Duration::from_secs(15), + recreate_client: true, + } + }, + } + } }, - }; - bar.finish_with_message("βœ… Downloaded key values"); + ) + .await; + + let storage_data = results_for_extraction.lock().unwrap().clone(); + + bar_for_finish.finish_with_message("βœ… Downloaded key values"); println!(); // Check if we got responses for all submitted requests. assert_eq!(keys.len(), storage_data.len()); - let key_values = keys + // Filter out None values - keys without values should NOT be inserted + // (inserting with empty value would change the trie structure) + let key_values: Vec<_> = keys .iter() .zip(storage_data) - .map(|(key, maybe_value)| match maybe_value { - Some(data) => (key.clone(), data), - None => { - warn!(target: LOG_TARGET, "key {key:?} had none corresponding value."); - let data = StorageData(vec![]); - (key.clone(), data) - }, - }) - .collect::>(); + .filter_map(|(key, maybe_value)| maybe_value.map(|data| (key.clone(), data))) + .collect(); logging::with_elapsed( || { @@ -767,14 +609,12 @@ where /// Get the values corresponding to `child_keys` at the given `prefixed_top_key`. pub(crate) async fn rpc_child_get_storage_paged( - client: &HttpClient, + client: &Client, prefixed_top_key: &StorageKey, child_keys: Vec, at: B::Hash, ) -> Result> { - let child_keys_len = child_keys.len(); - - let payloads = child_keys + let payloads: Vec<_> = child_keys .iter() .map(|key| { ( @@ -786,154 +626,191 @@ where ], ) }) - .collect::>(); + .collect(); let bar = ProgressBar::new(payloads.len() as u64); let storage_data = - match Self::get_storage_data_dynamic_batch_size(client, payloads, &bar).await { - Ok(storage_data) => storage_data, - Err(e) => { - error!(target: LOG_TARGET, "batch processing failed: {e:?}"); - return Err("batch processing failed") - }, - }; - - assert_eq!(child_keys_len, storage_data.len()); + Self::get_storage_data_dynamic_batch_size(client, 0, &payloads, &bar, 1000) + .await + .map_err(|_| "rpc child_get_storage failed")?; + // Filter out None values Ok(child_keys - .iter() + .into_iter() .zip(storage_data) - .map(|(key, maybe_value)| match maybe_value { - Some(v) => (key.clone(), v), - None => { - warn!(target: LOG_TARGET, "key {key:?} had no corresponding value."); - (key.clone(), StorageData(vec![])) - }, - }) - .collect::>()) + .filter_map(|(key, maybe_value)| maybe_value.map(|v| (key, v))) + .collect()) } +} - pub(crate) async fn rpc_child_get_keys( - client: &HttpClient, +impl Builder +where + B::Hash: DeserializeOwned, + B::Header: DeserializeOwned, +{ + /// Fetch all keys and values for a single child trie. + async fn fetch_single_child_trie( + client: &Client, prefixed_top_key: &StorageKey, - child_prefix: StorageKey, at: B::Hash, - ) -> Result> { - let retry_strategy = - FixedInterval::new(Self::KEYS_PAGE_RETRY_INTERVAL).take(Self::MAX_RETRIES); - let mut all_child_keys = Vec::new(); - let mut start_key = None; + ) -> Result<(ChildInfo, Vec)> { + let top_key = PrefixedStorageKey::new(prefixed_top_key.0.clone()); + let page_size = 1000u32; + + trace!( + target: LOG_TARGET, + "Fetching child trie keys for {:?}", + HexDisplay::from(&prefixed_top_key.0) + ); + + // Fetch all keys for this child trie + let mut child_keys = Vec::new(); + let mut start_key: Option = None; loop { - let get_child_keys_closure = || { - let top_key = PrefixedStorageKey::new(prefixed_top_key.0.clone()); + let rpc_result = with_timeout( substrate_rpc_client::ChildStateApi::storage_keys_paged( - client, - top_key, - Some(child_prefix.clone()), - Self::DEFAULT_KEY_DOWNLOAD_PAGE, + client.ws_client.as_ref(), + top_key.clone(), + Some(StorageKey(vec![])), + page_size, start_key.clone(), Some(at), - ) - }; - - let child_keys = Retry::spawn(retry_strategy.clone(), get_child_keys_closure) - .await - .map_err(|e| { - error!(target: LOG_TARGET, "Error = {e:?}"); - "rpc child_get_keys failed." - })?; + ), + RPC_TIMEOUT, + ) + .await; - let keys_count = child_keys.len(); - if keys_count == 0 { - break; - } + let page = match rpc_result { + Ok(Ok(p)) => p, + Ok(Err(e)) => { + debug!(target: LOG_TARGET, "Child trie RPC error: {e:?}"); + return Err("rpc child_get_keys failed"); + }, + Err(()) => { + debug!(target: LOG_TARGET, "Child trie RPC timeout"); + return Err("rpc child_get_keys timeout"); + }, + }; - start_key = child_keys.last().cloned(); - all_child_keys.extend(child_keys); + let is_full_batch = page.len() == page_size as usize; + start_key = page.last().cloned(); + child_keys.extend(page); - if keys_count < Self::DEFAULT_KEY_DOWNLOAD_PAGE as usize { + if !is_full_batch { break; } } - debug!( - target: LOG_TARGET, - "[thread = {:?}] scraped {} child-keys of the child-bearing top key: {}", - std::thread::current().id(), - all_child_keys.len(), - HexDisplay::from(prefixed_top_key) - ); + // Fetch values for all keys + let child_kv = + Self::rpc_child_get_storage_paged(client, prefixed_top_key, child_keys, at).await?; - Ok(all_child_keys) + // Parse the child info + let un_prefixed = match ChildType::from_prefixed_key(&top_key) { + Some((ChildType::ParentKeyId, storage_key)) => storage_key, + None => return Err("invalid child key"), + }; + + Ok((ChildInfo::new_default(un_prefixed), child_kv)) } -} -impl Builder -where - B::Hash: DeserializeOwned, - B::Header: DeserializeOwned, -{ /// Load all of the child keys from the remote config, given the already scraped list of top key /// pairs. /// /// `top_kv` need not be only child-bearing top keys. It should be all of the top keys that are /// included thus far. /// - /// This function concurrently populates `pending_ext`. the return value is only for writing to - /// cache, we can also optimize further. + /// This function uses parallel workers to fetch child tries concurrently. async fn load_child_remote( &self, top_kv: &[KeyValue], pending_ext: &mut TestExternalities>, ) -> Result { - let child_roots = top_kv + let child_roots: VecDeque = top_kv .iter() .filter(|(k, _)| is_default_child_storage_key(k.as_ref())) .map(|(k, _)| k.clone()) - .collect::>(); + .collect(); if child_roots.is_empty() { info!(target: LOG_TARGET, "πŸ‘©β€πŸ‘¦ no child roots found to scrape"); - return Ok(Default::default()) + return Ok(Default::default()); } + let total_count = child_roots.len(); info!( target: LOG_TARGET, - "πŸ‘©β€πŸ‘¦ scraping child-tree data from {} top keys", - child_roots.len(), + "πŸ‘©β€πŸ‘¦ scraping child-tree data from {} child tries", + total_count, ); let at = self.as_online().at_expected(); + let conn_manager = self.conn_manager()?; + let parallel = self.parallel_requests(); + + let results: Arc)>>> = Arc::new(Mutex::new(Vec::new())); + let results_for_extraction = results.clone(); + let completed_count = Arc::new(AtomicUsize::new(0)); + + run_workers( + child_roots, + conn_manager, + parallel, + move |worker_index, prefixed_top_key, client| { + let results = results.clone(); + let completed_count = completed_count.clone(); + + async move { + match Self::fetch_single_child_trie(&client, &prefixed_top_key, at).await { + Ok((info, child_kv_inner)) => { + results.lock().unwrap().push((info, child_kv_inner)); + + let done = completed_count.fetch_add(1, Ordering::SeqCst) + 1; + if done.is_multiple_of(100) || done == total_count { + info!( + target: LOG_TARGET, + "πŸ‘©β€πŸ‘¦ Child tries progress: {}/{} completed", + done, + total_count + ); + } + + ProcessResult::Success { new_work: vec![] } + }, + Err(e) => { + error!(target: LOG_TARGET, "Worker {worker_index}: Failed: {e:?}"); + ProcessResult::Retry { + work: prefixed_top_key, + sleep_duration: Duration::from_secs(5), + recreate_client: true, + } + }, + } + } + }, + ) + .await; - let client = self.as_online().rpc_client(); - let mut child_kv = vec![]; - for prefixed_top_key in child_roots { - let child_keys = - Self::rpc_child_get_keys(client, &prefixed_top_key, StorageKey(vec![]), at).await?; - - let child_kv_inner = - Self::rpc_child_get_storage_paged(client, &prefixed_top_key, child_keys, at) - .await?; - - let prefixed_top_key = PrefixedStorageKey::new(prefixed_top_key.clone().0); - let un_prefixed = match ChildType::from_prefixed_key(&prefixed_top_key) { - Some((ChildType::ParentKeyId, storage_key)) => storage_key, - None => { - error!(target: LOG_TARGET, "invalid key: {prefixed_top_key:?}"); - return Err("Invalid child key") - }, - }; + // Extract results and populate pending_ext + let child_kv_results = results_for_extraction.lock().unwrap().clone(); - let info = ChildInfo::new_default(un_prefixed); - let key_values = - child_kv_inner.iter().cloned().map(|(k, v)| (k.0, v.0)).collect::>(); - child_kv.push((info.clone(), child_kv_inner)); + let mut child_kv = Vec::new(); + for (info, kv_inner) in child_kv_results { + let key_values: Vec<(Vec, Vec)> = + kv_inner.iter().cloned().map(|(k, v)| (k.0, v.0)).collect(); for (k, v) in key_values { pending_ext.insert_child(info.clone(), k, v); } + child_kv.push((info, kv_inner)); } + info!( + target: LOG_TARGET, + "πŸ‘©β€πŸ‘¦ Completed scraping {} child tries", + child_kv.len() + ); + Ok(child_kv) } @@ -994,10 +871,17 @@ where /// The entry point of execution, if `mode` is online. /// - /// initializes the remote client in `transport`, and sets the `at` field, if not specified. + /// Initializes the remote clients and sets the `at` field if not specified. async fn init_remote_client(&mut self) -> Result<()> { - // First, initialize the http client. - self.as_online_mut().transport.init().await?; + // First, create all clients from URIs, filtering out ones that fail to connect. + let online_config = self.as_online(); + let mut clients = Vec::new(); + for uri in &online_config.transport_uris { + if let Some(client) = Client::new(uri.clone()).await { + clients.push(Arc::new(tokio::sync::Mutex::new(client))); + } + } + self.conn_manager = Some(ConnectionManager::new(clients)?); // Then, if `at` is not set, set it. if self.as_online().at.is_none() { @@ -1039,19 +923,34 @@ where Ok(()) } + /// Load the header for the target block. Tries each client until one succeeds. async fn load_header(&self) -> Result { - let retry_strategy = - FixedInterval::new(Self::KEYS_PAGE_RETRY_INTERVAL).take(Self::MAX_RETRIES); - let get_header_closure = || { - ChainApi::<(), _, B::Header, ()>::header( - self.as_online().rpc_client(), - Some(self.as_online().at_expected()), + let conn_manager = self.conn_manager()?; + let at = self.as_online().at_expected(); + + for i in 0..conn_manager.num_clients() { + let client = conn_manager.get(i).await; + let result = with_timeout( + ChainApi::<(), _, B::Header, ()>::header(client.ws_client.as_ref(), Some(at)), + RPC_TIMEOUT, ) - }; - Retry::spawn(retry_strategy, get_header_closure) - .await - .map_err(|_| "Failed to fetch header for block from network")? - .ok_or("Network returned None block header") + .await; + + match result { + Ok(Ok(Some(header))) => return Ok(header), + Ok(Ok(None)) => { + debug!(target: LOG_TARGET, "Client {i}: header returned None"); + }, + Ok(Err(e)) => { + debug!(target: LOG_TARGET, "Client {i}: header RPC error: {e:?}"); + }, + Err(()) => { + debug!(target: LOG_TARGET, "Client {i}: header timeout"); + }, + } + } + + Err("rpc header failed on all clients") } /// Load the data from a remote server. The main code path is calling into `load_top_remote` and @@ -1059,14 +958,7 @@ where /// /// Must be called after `init_remote_client`. async fn load_remote_and_maybe_save(&mut self) -> Result>> { - let state_version = - StateApi::::runtime_version(self.as_online().rpc_client(), None) - .await - .map_err(|e| { - error!(target: LOG_TARGET, "Error = {e:?}"); - "rpc runtime_version failed." - }) - .map(|v| v.state_version())?; + let state_version = self.fetch_state_version().await?; let mut pending_ext = TestExternalities::new_with_code_and_state( Default::default(), Default::default(), @@ -1077,15 +969,13 @@ where let top_kv = self.load_top_remote(&mut pending_ext).await?; self.load_child_remote(&top_kv, &mut pending_ext).await?; + let header = self.load_header().await?; + let (raw_storage, computed_root) = pending_ext.into_raw_snapshot(); + // If we need to save a snapshot, save the raw storage and root hash to the snapshot. if let Some(path) = self.as_online().state_snapshot.clone().map(|c| c.path) { - let (raw_storage, storage_root) = pending_ext.into_raw_snapshot(); - let snapshot = Snapshot::::new( - state_version, - raw_storage.clone(), - storage_root, - self.load_header().await?, - ); + let snapshot = + Snapshot::::new(state_version, raw_storage.clone(), computed_root, header); let encoded = snapshot.encode(); info!( target: LOG_TARGET, @@ -1093,16 +983,14 @@ where encoded.len(), ); std::fs::write(path, encoded).map_err(|_| "fs::write failed")?; - - // pending_ext was consumed when creating the snapshot, need to reinitailize it - return Ok(TestExternalities::from_raw_snapshot( - raw_storage, - storage_root, - self.overwrite_state_version.unwrap_or(state_version), - )) } - Ok(pending_ext) + // Return the externalities (reconstructed from verified snapshot) + Ok(TestExternalities::from_raw_snapshot( + raw_storage, + computed_root, + self.overwrite_state_version.unwrap_or(state_version), + )) } async fn do_load_remote(&mut self) -> Result> { @@ -1184,9 +1072,7 @@ where /// Inject a manual list of key and values to the storage. pub fn inject_hashed_key_value(mut self, injections: Vec) -> Self { - for i in injections { - self.hashed_key_values.push(i.clone()); - } + self.hashed_key_values.extend(injections); self } @@ -1287,10 +1173,11 @@ mod tests { #[cfg(all(test, feature = "remote-test"))] mod remote_tests { use super::test_prelude::*; - use std::{env, os::unix::fs::MetadataExt}; + use frame_support::storage::KeyPrefixIterator; + use std::{env, os::unix::fs::MetadataExt, path::Path}; fn endpoint() -> String { - env::var("TEST_WS").unwrap_or_else(|_| DEFAULT_HTTP_ENDPOINT.to_string()) + env::var("TEST_WS").unwrap_or_else(|_| DEFAULT_WS_ENDPOINT.to_string()) } #[tokio::test] @@ -1301,7 +1188,7 @@ mod remote_tests { // first, build a snapshot. let ext = Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: endpoint().clone().into(), + transport_uris: vec![endpoint().clone()], pallets: vec!["Proxy".to_owned()], child_trie: false, state_snapshot: Some(SnapshotConfig::new(CACHE)), @@ -1343,7 +1230,7 @@ mod remote_tests { // first, build a snapshot. let ext = Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: endpoint().clone().into(), + transport_uris: vec![endpoint().clone()], pallets: vec!["Proxy".to_owned()], child_trie: false, state_snapshot: Some(SnapshotConfig::new(CACHE)), @@ -1368,10 +1255,14 @@ mod remote_tests { const CACHE: &'static str = "snapshot_retains_storage"; init_logger(); - // create an ext with children keys + // This test does not rely on the remote endpoint having child tries. A synthetic child + // storage entry is inserted locally and then asserted on. + use sp_state_machine::Backend; + + // Create an externality with child trie scraping enabled. let mut child_ext = Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: endpoint().clone().into(), + transport_uris: vec![endpoint().clone()], pallets: vec!["Proxy".to_owned()], child_trie: true, state_snapshot: Some(SnapshotConfig::new(CACHE)), @@ -1381,10 +1272,10 @@ mod remote_tests { .await .unwrap(); - // create an ext without children keys + // Create an externality without looking for children keys let mut ext = Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: endpoint().clone().into(), + transport_uris: vec![endpoint().clone()], pallets: vec!["Proxy".to_owned()], child_trie: false, state_snapshot: Some(SnapshotConfig::new(CACHE)), @@ -1394,11 +1285,29 @@ mod remote_tests { .await .unwrap(); - // there should be more keys in the child ext. - assert!( - child_ext.as_backend().backend_storage().keys().len() > - ext.as_backend().backend_storage().keys().len() + // Generate artificial child storage entry, to ensure the test's assertion is valid. + let child_info = sp_core::storage::ChildInfo::new_default(b"test_child"); + let child_key: Vec = b"k1".to_vec(); + let child_value: Vec = b"v1".to_vec(); + + // Record the size of the underlying trie DB before inserting the child entry. + let child_db_keys_before = child_ext.as_backend().backend_storage().keys().len(); + + // Insert child storage only into `child_ext`. + child_ext.insert_child(child_info.clone(), child_key.clone(), child_value.clone()); + + // Assert: the child key exists only in the externalities where it is inserted. + let child_backend = child_ext.as_backend(); + let backend = ext.as_backend(); + assert_eq!( + child_backend.child_storage(&child_info, &child_key).unwrap(), + Some(child_value) ); + assert_eq!(backend.child_storage(&child_info, &child_key).unwrap(), None); + + // Structural assertion: insertion increased the underlying DB entry count. + let child_db_keys_after = child_backend.backend_storage().keys().len(); + assert!(child_db_keys_after > child_db_keys_before); } #[tokio::test] @@ -1410,7 +1319,7 @@ mod remote_tests { .mode(Mode::OfflineOrElseOnline( OfflineConfig { state_snapshot: SnapshotConfig::new(CACHE) }, OnlineConfig { - transport: endpoint().clone().into(), + transport_uris: vec![endpoint().clone()], pallets: vec!["Proxy".to_owned()], child_trie: false, state_snapshot: Some(SnapshotConfig::new(CACHE)), @@ -1427,7 +1336,7 @@ mod remote_tests { .mode(Mode::OfflineOrElseOnline( OfflineConfig { state_snapshot: SnapshotConfig::new(CACHE) }, OnlineConfig { - transport: "ws://non-existent:666".to_owned().into(), + transport_uris: vec!["ws://non-existent:666".to_owned()], ..Default::default() }, )) @@ -1452,7 +1361,7 @@ mod remote_tests { init_logger(); Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: endpoint().clone().into(), + transport_uris: vec![endpoint().clone()], pallets: vec!["Proxy".to_owned()], child_trie: false, ..Default::default() @@ -1468,7 +1377,7 @@ mod remote_tests { init_logger(); Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: endpoint().clone().into(), + transport_uris: vec![endpoint().clone()], pallets: vec!["Proxy".to_owned(), "Multisig".to_owned()], child_trie: false, ..Default::default() @@ -1486,7 +1395,7 @@ mod remote_tests { Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: endpoint().clone().into(), + transport_uris: vec![endpoint().clone()], state_snapshot: Some(SnapshotConfig::new(CACHE)), pallets: vec!["Proxy".to_owned()], child_trie: false, @@ -1516,7 +1425,7 @@ mod remote_tests { init_logger(); Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: endpoint().clone().into(), + transport_uris: vec![endpoint().clone()], state_snapshot: Some(SnapshotConfig::new(CACHE)), pallets: vec!["Crowdloan".to_owned()], child_trie: true, @@ -1543,12 +1452,12 @@ mod remote_tests { #[tokio::test] async fn can_build_big_pallet() { if std::option_env!("TEST_WS").is_none() { - return + return; } init_logger(); Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: endpoint().clone().into(), + transport_uris: vec![endpoint().clone()], pallets: vec!["Staking".to_owned()], child_trie: false, ..Default::default() @@ -1562,12 +1471,12 @@ mod remote_tests { #[tokio::test] async fn can_fetch_all() { if std::option_env!("TEST_WS").is_none() { - return + return; } init_logger(); Builder::::new() .mode(Mode::Online(OnlineConfig { - transport: endpoint().clone().into(), + transport_uris: vec![endpoint().clone()], ..Default::default() })) .build() @@ -1581,21 +1490,124 @@ mod remote_tests { init_logger(); let mut builder = Builder::::new().mode(Mode::Online(OnlineConfig { - transport: endpoint().clone().into(), + transport_uris: vec![endpoint().clone()], ..Default::default() })); builder.init_remote_client().await.unwrap(); let at = builder.as_online().at.unwrap(); + // Test with a specific prefix let prefix = StorageKey(vec![13]); - let paged = builder.rpc_get_keys_in_range(&prefix, at, None, None).await.unwrap(); let para = builder.rpc_get_keys_parallel(&prefix, at, 4).await.unwrap(); - assert_eq!(paged, para); + assert!(!para.is_empty(), "Should fetch some keys with prefix"); + // Test with empty prefix (all keys) let prefix = StorageKey(vec![]); - let paged = builder.rpc_get_keys_in_range(&prefix, at, None, None).await.unwrap(); let para = builder.rpc_get_keys_parallel(&prefix, at, 8).await.unwrap(); - assert_eq!(paged, para); + assert!(!para.is_empty(), "Should fetch some keys with empty prefix"); + } + + #[tokio::test] + #[ignore] // This test takes a long time, run with --ignored + async fn bridge_hub_polkadot_storage_root_matches() { + init_logger(); + + // Use multiple RPC providers for load distribution + let endpoints = vec![ + "wss://bridge-hub-polkadot-rpc.n.dwellir.com", + "wss://sys.ibp.network/bridgehub-polkadot", + "wss://bridgehub-polkadot.api.onfinality.io/public", + "wss://dot-rpc.stakeworld.io/bridgehub", + ]; + + info!(target: LOG_TARGET, "Connecting to Bridge Hub Polkadot using {} RPC providers", endpoints.len()); + + let mut ext = Builder::::new() + .mode(Mode::Online(OnlineConfig { + transport_uris: endpoints.into_iter().map(|e| e.to_owned()).collect(), + child_trie: true, + ..Default::default() + })) + .build() + .await + .expect("Failed to build remote externalities"); + + // Get the computed storage root from our downloaded state + let backend = ext.as_backend(); + let computed_root = *backend.root(); + // Get the expected storage root from the block header + let expected_root = ext.header.state_root; + + info!( + target: LOG_TARGET, + "Computed storage root: {:?}", + computed_root + ); + info!( + target: LOG_TARGET, + "Expected storage root (from header): {:?}", + expected_root + ); + + // The storage roots must match exactly - this proves we downloaded all keys correctly + assert_eq!( + computed_root, expected_root, + "Storage root mismatch! Computed: {:?}, Expected: {:?}. \ + This indicates that not all keys were fetched or there were duplicates.", + computed_root, expected_root + ); + + // Verify we actually got some keys + ext.execute_with(|| { + let key_count = KeyPrefixIterator::<()>::new(vec![], vec![], |_| Ok(())).count(); + + info!(target: LOG_TARGET, "Total keys in state: {}", key_count); + assert!(key_count > 0, "Should have fetched some keys"); + }); + + info!( + target: LOG_TARGET, + "βœ… Storage root verification successful! All keys were fetched correctly." + ); + } + + #[tokio::test] + async fn builder_fails_with_invalid_transport_uris() { + init_logger(); + + // Using HTTP/HTTPS URIs should fail because Client::new() returns None for non-WS URIs + let result = Builder::::new() + .mode(Mode::Online(OnlineConfig { + transport_uris: vec!["http://try-runtime.polkadot.io:443".to_string()], + pallets: vec!["Proxy".to_owned()], + ..Default::default() + })) + .build() + .await; + + match result { + Err(e) => assert_eq!(e, "At least one client must be provided"), + Ok(_) => panic!("Expected error but got success"), + } + + // Multiple invalid URIs should also fail + let result = Builder::::new() + .mode(Mode::Online(OnlineConfig { + transport_uris: vec![ + "http://try-runtime.polkadot.io:443".to_string(), + "https://try-runtime.polkadot.io:443".to_string(), + "garbage".to_string(), + ], + pallets: vec!["Proxy".to_owned()], + ..Default::default() + })) + .build() + .await; + + match result { + Err(e) => assert_eq!(e, "At least one client must be provided"), + Ok(_) => panic!("Expected error but got success"), + } } } diff --git a/substrate/utils/frame/remote-externalities/src/parallel.rs b/substrate/utils/frame/remote-externalities/src/parallel.rs new file mode 100644 index 0000000000000..ea1aa82072178 --- /dev/null +++ b/substrate/utils/frame/remote-externalities/src/parallel.rs @@ -0,0 +1,145 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Parallel worker infrastructure for remote externalities. + +use crate::client::{Client, ConnectionManager}; +use std::{ + collections::VecDeque, + future::Future, + sync::{ + atomic::{AtomicUsize, Ordering}, + Arc, Mutex, + }, + time::Duration, +}; +use tokio::time::sleep; + +/// Result of processing a work item. +pub(crate) enum ProcessResult { + /// Work completed successfully, optionally queue more work items. + Success { new_work: Vec }, + /// Work failed and should be retried. + Retry { + /// The work item to retry (possibly modified, e.g. with reduced batch size). + work: W, + /// How long to sleep before retrying. + sleep_duration: Duration, + /// Whether to recreate the client connection. + recreate_client: bool, + }, +} + +/// Run parallel workers that process items from a work queue. +/// +/// This function handles all the common parallel worker infrastructure: +/// - Spawning `parallel` worker tasks with semaphore-based concurrency +/// - Work queue management (pop/push) +/// - Active worker tracking for proper termination +/// - Client recreation on retry +/// - Sleep delays on retry +/// +/// The `processor` closure receives: +/// - `worker_index`: The index of the worker (0..parallel) +/// - `work`: The work item to process +/// - `client`: A client for RPC calls +/// +/// It should return `ProcessResult::Success` with any new work items to queue, +/// or `ProcessResult::Retry` if the work should be retried. +pub(crate) async fn run_workers( + initial_work: VecDeque, + conn_manager: &ConnectionManager, + parallel: usize, + processor: F, +) where + F: Fn(usize, W, Client) -> Fut + Clone + Send + Sync + 'static, + Fut: Future> + Send, + W: Send + 'static, +{ + let work_queue = Arc::new(Mutex::new(initial_work)); + let active_workers = Arc::new(AtomicUsize::new(0)); + let conn_manager = conn_manager.clone(); + + let mut handles = vec![]; + + for worker_index in 0..parallel { + let work_queue = work_queue.clone(); + let active_workers = active_workers.clone(); + let conn_manager = conn_manager.clone(); + let processor = processor.clone(); + + handles.push(tokio::spawn(async move { + let mut is_active = false; + + loop { + let work = { + let mut queue = work_queue.lock().unwrap(); + match queue.pop_front() { + Some(w) => { + if !is_active { + active_workers.fetch_add(1, Ordering::SeqCst); + is_active = true; + } + Some(w) + }, + None => { + if is_active { + active_workers.fetch_sub(1, Ordering::SeqCst); + is_active = false; + } + None + }, + } + }; + + let Some(work) = work else { + // Prevent creating a busy loop. + sleep(Duration::from_millis(100)).await; + + let queue_len = work_queue.lock().unwrap().len(); + let active = active_workers.load(Ordering::SeqCst); + + if queue_len == 0 && active == 0 { + break; + } + continue; + }; + + let client = conn_manager.get(worker_index).await; + + match processor(worker_index, work, client.clone()).await { + ProcessResult::Success { new_work } => { + if !new_work.is_empty() { + work_queue.lock().unwrap().extend(new_work); + } + }, + ProcessResult::Retry { work, sleep_duration, recreate_client } => { + work_queue.lock().unwrap().push_back(work); + + sleep(sleep_duration).await; + + if recreate_client { + conn_manager.recreate_client(worker_index, client).await; + } + }, + } + } + })); + } + + futures::future::join_all(handles).await; +} diff --git a/substrate/utils/frame/storage-access-test-runtime/src/lib.rs b/substrate/utils/frame/storage-access-test-runtime/src/lib.rs index 4b1ab69b14268..6b22e37aec111 100644 --- a/substrate/utils/frame/storage-access-test-runtime/src/lib.rs +++ b/substrate/utils/frame/storage-access-test-runtime/src/lib.rs @@ -125,7 +125,7 @@ pub fn proceed_storage_access(mut params: &[u8]) { } match payload { - StorageAccessPayload::Read(keys) => + StorageAccessPayload::Read(keys) => { for (key, maybe_child_info) in keys { match maybe_child_info { Some(child_info) => { @@ -141,7 +141,8 @@ pub fn proceed_storage_access(mut params: &[u8]) { .ok_or("Value unexpectedly empty"); }, } - }, + } + }, StorageAccessPayload::Write((changes, maybe_child_info)) => { let delta = changes.iter().map(|(key, value)| (key.as_ref(), Some(value.as_ref()))); match maybe_child_info { diff --git a/substrate/utils/wasm-builder/src/builder.rs b/substrate/utils/wasm-builder/src/builder.rs index 1d4182d625769..988182d5ffe2b 100644 --- a/substrate/utils/wasm-builder/src/builder.rs +++ b/substrate/utils/wasm-builder/src/builder.rs @@ -258,7 +258,7 @@ impl WasmBuilder { provide_dummy_wasm_binary_if_not_exist(&file_path); - return + return; } build_project( diff --git a/substrate/utils/wasm-builder/src/lib.rs b/substrate/utils/wasm-builder/src/lib.rs index d374289fb2f55..5fb2a036bf48b 100644 --- a/substrate/utils/wasm-builder/src/lib.rs +++ b/substrate/utils/wasm-builder/src/lib.rs @@ -237,7 +237,7 @@ fn get_rustup_command(target: RuntimeTarget) -> Option { let cmd = CargoCommand::new_with_args("rustup", &["run", &rustup_version, "cargo"]); if !cmd.supports_substrate_runtime_env(target) { - continue + continue; } let Some(cargo_version) = cmd.version() else { continue }; @@ -325,7 +325,7 @@ impl CargoCommand { // compiler. For "more" information, see: // https://github.com/rust-lang/rust/blob/fa0f7d0080d8e7e9eb20aa9cbf8013f96c81287f/src/libsyntax/feature_gate/check.rs#L891 if env::var("RUSTC_BOOTSTRAP").is_ok() { - return true + return true; } let Some(version) = self.version() else { return false }; @@ -432,12 +432,13 @@ impl RuntimeTarget { /// Figures out the target parameter value for rustc. fn rustc_target(self, cargo_command: &CargoCommand) -> String { match self { - RuntimeTarget::Wasm => + RuntimeTarget::Wasm => { if cargo_command.is_wasm32v1_none_target_available() { "wasm32v1-none".into() } else { "wasm32-unknown-unknown".into() - }, + } + }, RuntimeTarget::Riscv => { let mut args = polkavm_linker::TargetJsonArgs::default(); args.is_64_bit = false; @@ -450,12 +451,13 @@ impl RuntimeTarget { /// Figures out the target directory name used by cargo. fn rustc_target_dir(self, cargo_command: &CargoCommand) -> &'static str { match self { - RuntimeTarget::Wasm => + RuntimeTarget::Wasm => { if cargo_command.is_wasm32v1_none_target_available() { "wasm32v1-none".into() } else { "wasm32-unknown-unknown".into() - }, + } + }, RuntimeTarget::Riscv => "riscv32emac-unknown-none-polkavm", } } diff --git a/substrate/utils/wasm-builder/src/prerequisites.rs b/substrate/utils/wasm-builder/src/prerequisites.rs index 727197f9a5ca3..d70b0007eb768 100644 --- a/substrate/utils/wasm-builder/src/prerequisites.rs +++ b/substrate/utils/wasm-builder/src/prerequisites.rs @@ -262,7 +262,7 @@ fn check_wasm_toolchain_installed( return Err(colorize_error_message( &format!("Cannot compile the WASM runtime: no standard library sources found at {}!\n\ You can install them with `rustup component add rust-src --toolchain {toolchain}` if you're using `rustup`.", src_path.display()), - )) + )); } } } diff --git a/substrate/utils/wasm-builder/src/version.rs b/substrate/utils/wasm-builder/src/version.rs index 3a0a306d737db..577466afc9dc9 100644 --- a/substrate/utils/wasm-builder/src/version.rs +++ b/substrate/utils/wasm-builder/src/version.rs @@ -59,7 +59,7 @@ impl Version { .collect::>(); if version_parts.len() != 3 { - return None + return None; } let date_parts = version @@ -92,14 +92,14 @@ impl Version { impl Ord for Version { fn cmp(&self, other: &Self) -> Ordering { if self == other { - return Ordering::Equal + return Ordering::Equal; } // Ensure that `stable > nightly` if self.is_stable() && other.is_nightly() { - return Ordering::Greater + return Ordering::Greater; } else if self.is_nightly() && other.is_stable() { - return Ordering::Less + return Ordering::Less; } let to_compare = [ diff --git a/substrate/utils/wasm-builder/src/wasm_project.rs b/substrate/utils/wasm-builder/src/wasm_project.rs index 18b19752b1348..60335033b7f6f 100644 --- a/substrate/utils/wasm-builder/src/wasm_project.rs +++ b/substrate/utils/wasm-builder/src/wasm_project.rs @@ -394,11 +394,11 @@ fn find_cargo_lock(cargo_manifest: &Path) -> Option { fn find_impl(mut path: PathBuf) -> Option { loop { if path.join("Cargo.lock").exists() { - return Some(path.join("Cargo.lock")) + return Some(path.join("Cargo.lock")); } if !path.pop() { - return None + return None; } } } @@ -407,7 +407,7 @@ fn find_cargo_lock(cargo_manifest: &Path) -> Option { let path = PathBuf::from(workspace); if path.join("Cargo.lock").exists() { - return Some(path.join("Cargo.lock")) + return Some(path.join("Cargo.lock")); } else { build_helper::warning!( "`{}` env variable doesn't point to a directory that contains a `Cargo.lock`.", @@ -417,7 +417,7 @@ fn find_cargo_lock(cargo_manifest: &Path) -> Option { } if let Some(path) = find_impl(build_helper::out_dir()) { - return Some(path) + return Some(path); } build_helper::warning!( @@ -479,10 +479,11 @@ fn get_wasm_workspace_root() -> PathBuf { loop { match out_dir.parent() { Some(parent) if out_dir.ends_with("build") => return parent.to_path_buf(), - _ => + _ => { if !out_dir.pop() { - break - }, + break; + } + }, } } @@ -622,7 +623,7 @@ fn find_package_by_manifest_path<'a>( crate_metadata: &'a cargo_metadata::Metadata, ) -> &'a cargo_metadata::Package { if let Some(pkg) = crate_metadata.packages.iter().find(|p| p.manifest_path == manifest_path) { - return pkg + return pkg; } let pkgs_by_name = crate_metadata @@ -638,7 +639,7 @@ fn find_package_by_manifest_path<'a>( pkgs_by_name ); } else { - return pkg + return pkg; } } else { panic!("Failed to find entry for package {pkg_name} ({manifest_path:?})."); @@ -675,7 +676,7 @@ fn project_enabled_features( v.get(0).map_or(false, |v| *v == format!("dep:{}", f)) && std_enabled.as_ref().map(|e| e.iter().any(|ef| ef == *f)).unwrap_or(false) { - return false + return false; } // We don't want to enable the `std`/`default` feature for the wasm build and @@ -1046,8 +1047,9 @@ fn build_bloaty_blob( let elf_path = target_directory.join(&blob_name); let elf_metadata = match elf_path.metadata() { Ok(path) => path, - Err(error) => - panic!("internal error: couldn't read the metadata of {elf_path:?}: {error}"), + Err(error) => { + panic!("internal error: couldn't read the metadata of {elf_path:?}: {error}") + }, }; let polkavm_path = target_directory.join(format!("{}.polkavm", blob_name)); @@ -1219,7 +1221,7 @@ fn generate_rerun_if_changed_instructions( while let Some(dependency) = dependencies.pop() { // Ignore all dev dependencies if dependency.kind == DependencyKind::Development { - continue + continue; } let path_or_git_dep = diff --git a/substrate/zombienet/zombienet-sdk/tests/zombie_ci/basic_warp_sync.rs b/substrate/zombienet/zombienet-sdk/tests/zombie_ci/basic_warp_sync.rs index bf445e6d92dc5..59fa2c94447ea 100644 --- a/substrate/zombienet/zombienet-sdk/tests/zombie_ci/basic_warp_sync.rs +++ b/substrate/zombienet/zombienet-sdk/tests/zombie_ci/basic_warp_sync.rs @@ -90,20 +90,15 @@ fn build_network_config() -> Result { .with_default_command("substrate") .with_default_image(integration_image.as_str()) .with_chain_spec_path(chain_spec.as_str()) - .with_node(|node| { - node.with_name("alice").validator(false).with_db_snapshot(db_snapshot.as_str()) + .with_fullnode(|node| { + node.with_name("alice").with_db_snapshot(db_snapshot.as_str()) }) - .with_node(|node| { - node.with_name("bob").validator(false).with_db_snapshot(db_snapshot.as_str()) + .with_fullnode(|node| node.with_name("bob").with_db_snapshot(db_snapshot.as_str())) + .with_fullnode(|node| { + node.with_name("charlie").with_db_snapshot(db_snapshot.as_str()) }) - .with_node(|node| { - node.with_name("charlie") - .validator(false) - .with_db_snapshot(db_snapshot.as_str()) - }) - .with_node(|node| { + .with_fullnode(|node| { node.with_name("dave") - .validator(false) .with_args(vec!["--sync=warp".into(), "-ldb::blockchain".into()]) }) }) diff --git a/substrate/zombienet/zombienet-sdk/tests/zombie_ci/block_building.rs b/substrate/zombienet/zombienet-sdk/tests/zombie_ci/block_building.rs index c8dd2e9fc8e1e..9b97c21a2c1fd 100644 --- a/substrate/zombienet/zombienet-sdk/tests/zombie_ci/block_building.rs +++ b/substrate/zombienet/zombienet-sdk/tests/zombie_ci/block_building.rs @@ -61,8 +61,8 @@ fn build_network_config() -> Result { .with_default_command("substrate") .with_default_image(integration_image.as_str()) .with_chain_spec_path(chain_spec.as_str()) - .with_node(|node| node.with_name("alice")) - .with_node(|node| node.with_name("bob")) + .with_validator(|node| node.with_name("alice")) + .with_validator(|node| node.with_name("bob")) }) .with_global_settings(|global_settings| match std::env::var("ZOMBIENET_SDK_BASE_DIR") { Ok(val) => global_settings.with_base_dir(val), diff --git a/substrate/zombienet/zombienet-sdk/tests/zombie_ci/block_building_warp_sync.rs b/substrate/zombienet/zombienet-sdk/tests/zombie_ci/block_building_warp_sync.rs index 430450ec7a02f..adaada5454129 100644 --- a/substrate/zombienet/zombienet-sdk/tests/zombie_ci/block_building_warp_sync.rs +++ b/substrate/zombienet/zombienet-sdk/tests/zombie_ci/block_building_warp_sync.rs @@ -67,20 +67,15 @@ fn build_network_config() -> Result { .with_default_command("substrate") .with_default_image(integration_image.as_str()) .with_chain_spec_path(chain_spec.as_str()) - .with_node(|node| { - node.with_name("alice").validator(true).with_db_snapshot(db_snapshot.as_str()) + .with_validator(|node| { + node.with_name("alice").with_db_snapshot(db_snapshot.as_str()) }) - .with_node(|node| { - node.with_name("bob").validator(true).with_db_snapshot(db_snapshot.as_str()) + .with_validator(|node| node.with_name("bob").with_db_snapshot(db_snapshot.as_str())) + .with_fullnode(|node| { + node.with_name("charlie").with_db_snapshot(db_snapshot.as_str()) }) - .with_node(|node| { - node.with_name("charlie") - .validator(false) - .with_db_snapshot(db_snapshot.as_str()) - }) - .with_node(|node| { + .with_fullnode(|node| { node.with_name("dave") - .validator(false) .with_args(vec!["--sync=warp".into(), "-ldb::blockchain".into()]) }) }) diff --git a/substrate/zombienet/zombienet-sdk/tests/zombie_ci/validators_warp_sync.rs b/substrate/zombienet/zombienet-sdk/tests/zombie_ci/validators_warp_sync.rs index 8382e64c7ceac..3ba6a5ce1d17d 100644 --- a/substrate/zombienet/zombienet-sdk/tests/zombie_ci/validators_warp_sync.rs +++ b/substrate/zombienet/zombienet-sdk/tests/zombie_ci/validators_warp_sync.rs @@ -174,32 +174,23 @@ fn build_network_config() -> Result { .with_default_command("substrate") .with_default_image(integration_image.as_str()) .with_chain_spec_path(chain_spec.as_str()) - .with_node(|node| { + .with_validator(|node| { node.with_name("alice") - .validator(true) .with_args(vec!["--sync=warp".into(), "--log=beefy=debug".into()]) }) - .with_node(|node| { + .with_validator(|node| { node.with_name("bob") - .validator(true) .with_args(vec!["--sync=warp".into(), "--log=beefy=debug".into()]) }) - .with_node(|node| { + .with_validator(|node| { node.with_name("other-validator") - .validator(true) .with_args(vec!["--sync=warp".into(), "--log=beefy=debug".into()]) }) - .with_node(|node| { - node.with_name("charlie") - .validator(false) - .with_db_snapshot(db_snapshot.as_str()) - }) - .with_node(|node| { - node.with_name("dave").validator(false).with_db_snapshot(db_snapshot.as_str()) - }) - .with_node(|node| { - node.with_name("eve").validator(false).with_db_snapshot(db_snapshot.as_str()) + .with_fullnode(|node| { + node.with_name("charlie").with_db_snapshot(db_snapshot.as_str()) }) + .with_fullnode(|node| node.with_name("dave").with_db_snapshot(db_snapshot.as_str())) + .with_fullnode(|node| node.with_name("eve").with_db_snapshot(db_snapshot.as_str())) }) .with_global_settings(|global_settings| match std::env::var("ZOMBIENET_SDK_BASE_DIR") { Ok(val) => global_settings.with_base_dir(val), diff --git a/templates/minimal/node/src/command.rs b/templates/minimal/node/src/command.rs index 14bca1abc5fa6..e3115141a0830 100644 --- a/templates/minimal/node/src/command.rs +++ b/templates/minimal/node/src/command.rs @@ -50,8 +50,9 @@ impl SubstrateCli for Cli { fn load_spec(&self, id: &str) -> Result, String> { Ok(match id { "dev" => Box::new(chain_spec::development_chain_spec()?), - path => - Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?), + path => { + Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?) + }, }) } } @@ -123,9 +124,10 @@ pub fn run() -> sc_cli::Result<()> { let runner = cli.create_runner(&cli.run)?; runner.run_node_until_exit(|config| async move { match config.network.network_backend { - sc_network::config::NetworkBackendType::Libp2p => + sc_network::config::NetworkBackendType::Libp2p => { service::new_full::>(config, cli.consensus) - .map_err(sc_cli::Error::Service), + .map_err(sc_cli::Error::Service) + }, sc_network::config::NetworkBackendType::Litep2p => service::new_full::< sc_network::Litep2pNetworkBackend, >(config, cli.consensus) diff --git a/templates/minimal/node/src/service.rs b/templates/minimal/node/src/service.rs index cd68ba6fd767b..da8f225054b28 100644 --- a/templates/minimal/node/src/service.rs +++ b/templates/minimal/node/src/service.rs @@ -67,6 +67,7 @@ pub fn new_partial(config: &Configuration) -> Result { config, telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), executor, + Default::default(), )?; let client = Arc::new(client); @@ -141,6 +142,7 @@ pub fn new_full::Ha client: client.clone(), transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), + spawn_essential_handle: task_manager.spawn_essential_handle(), import_queue, block_announce_validator_builder: None, warp_sync_config: None, diff --git a/templates/minimal/runtime/src/lib.rs b/templates/minimal/runtime/src/lib.rs index 615ba6c143604..b71fc19e15881 100644 --- a/templates/minimal/runtime/src/lib.rs +++ b/templates/minimal/runtime/src/lib.rs @@ -282,8 +282,8 @@ impl_runtime_apis! { } impl apis::SessionKeys for Runtime { - fn generate_session_keys(_seed: Option>) -> Vec { - Default::default() + fn generate_session_keys(_owner: Vec, _seed: Option>) -> apis::OpaqueGeneratedSessionKeys { + apis::OpaqueGeneratedSessionKeys { keys: Default::default(), proof: Default::default() } } fn decode_session_keys( diff --git a/templates/parachain/node/src/command.rs b/templates/parachain/node/src/command.rs index fc1e8985a6796..9d40e2d496ecc 100644 --- a/templates/parachain/node/src/command.rs +++ b/templates/parachain/node/src/command.rs @@ -185,14 +185,15 @@ pub fn run() -> Result<()> { let runner = cli.create_runner(cmd)?; // Switch on the concrete benchmark sub-command- match cmd { - BenchmarkCmd::Pallet(cmd) => + BenchmarkCmd::Pallet(cmd) => { if cfg!(feature = "runtime-benchmarks") { runner.sync_run(|config| cmd.run_with_spec::, ReclaimHostFunctions>(Some(config.chain_spec))) } else { Err("Benchmarking wasn't enabled when building the node. \ You can enable it with `--features runtime-benchmarks`." .into()) - }, + } + }, BenchmarkCmd::Block(cmd) => runner.sync_run(|config| { let partials = new_partial(&config)?; cmd.run(partials.client) @@ -212,8 +213,9 @@ pub fn run() -> Result<()> { cmd.run(config, partials.client.clone(), db, storage, shared_cache) }), - BenchmarkCmd::Machine(cmd) => - runner.sync_run(|config| cmd.run(&config, SUBSTRATE_REFERENCE_HARDWARE.clone())), + BenchmarkCmd::Machine(cmd) => { + runner.sync_run(|config| cmd.run(&config, SUBSTRATE_REFERENCE_HARDWARE.clone())) + }, // NOTE: this allows the Client to leniently implement // new benchmark commands without requiring a companion MR. #[allow(unreachable_patterns)] diff --git a/templates/parachain/node/src/service.rs b/templates/parachain/node/src/service.rs index 8bf058bbebde1..a935bac8aaebb 100644 --- a/templates/parachain/node/src/service.rs +++ b/templates/parachain/node/src/service.rs @@ -100,6 +100,7 @@ pub fn new_partial(config: &Configuration) -> Result telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), executor, true, + Default::default(), )?; let client = Arc::new(client); @@ -293,6 +294,7 @@ pub async fn start_parachain_node( transaction_pool: transaction_pool.clone(), para_id, spawn_handle: task_manager.spawn_handle(), + spawn_essential_handle: task_manager.spawn_essential_handle(), relay_chain_interface: relay_chain_interface.clone(), import_queue: params.import_queue, sybil_resistance_level: CollatorSybilResistance::Resistant, // because of Aura diff --git a/templates/parachain/runtime/src/apis.rs b/templates/parachain/runtime/src/apis.rs index 41bd3568d713d..e029827debaac 100644 --- a/templates/parachain/runtime/src/apis.rs +++ b/templates/parachain/runtime/src/apis.rs @@ -42,6 +42,7 @@ use sp_runtime::{ transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, }; +use sp_session::OpaqueGeneratedSessionKeys; use sp_version::RuntimeVersion; // Local module imports @@ -165,8 +166,8 @@ impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( @@ -278,6 +279,7 @@ impl_runtime_apis! { ) -> Result, alloc::string::String> { use frame_benchmarking::{BenchmarkError, BenchmarkBatch}; use super::*; + use codec::Encode; use frame_system_benchmarking::Pallet as SystemBench; impl frame_system_benchmarking::Config for Runtime { @@ -292,7 +294,12 @@ impl_runtime_apis! { } use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - impl cumulus_pallet_session_benchmarking::Config for Runtime {} + impl cumulus_pallet_session_benchmarking::Config for Runtime { + fn generate_session_keys_and_proof(owner: Self::AccountId) -> (Self::Keys, Vec) { + let keys = SessionKeys::generate(&owner.encode(), None); + (keys.keys, keys.proof.encode()) + } + } use polkadot_sdk::frame_support::traits::WhitelistedStorageKeys; let whitelist = AllPalletsWithSystem::whitelisted_storage_keys(); @@ -325,4 +332,10 @@ impl_runtime_apis! { parachain_info::Pallet::::parachain_id() } } + + impl cumulus_primitives_core::KeyToIncludeInRelayProof for Runtime { + fn keys_to_prove() -> cumulus_primitives_core::RelayProofRequest { + Default::default() + } + } } diff --git a/templates/parachain/runtime/src/configs/mod.rs b/templates/parachain/runtime/src/configs/mod.rs index 2ac558ea2a310..d911f7a3cb4e9 100644 --- a/templates/parachain/runtime/src/configs/mod.rs +++ b/templates/parachain/runtime/src/configs/mod.rs @@ -74,8 +74,12 @@ parameter_types! { // The `RuntimeBlockLength` and `RuntimeBlockWeights` exist here because the // `DeletionWeightLimit` and `DeletionQueueDepth` depend on those to parameterize // the lazy contract deletion. - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| { + *m = NORMAL_DISPATCH_RATIO * *m + }) + .build(); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { diff --git a/templates/parachain/runtime/src/configs/xcm_config.rs b/templates/parachain/runtime/src/configs/xcm_config.rs index bec674186a99d..68cecf907ddf3 100644 --- a/templates/parachain/runtime/src/configs/xcm_config.rs +++ b/templates/parachain/runtime/src/configs/xcm_config.rs @@ -137,7 +137,6 @@ impl xcm_executor::Config for XcmConfig { UsingComponents>; type ResponseHandler = PolkadotXcm; type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = AllPalletsWithSystem; type MaxAssetsIntoHolding = MaxAssetsIntoHolding; diff --git a/templates/solochain/node/src/command.rs b/templates/solochain/node/src/command.rs index 57e6726178569..460c0e7660260 100644 --- a/templates/solochain/node/src/command.rs +++ b/templates/solochain/node/src/command.rs @@ -39,8 +39,9 @@ impl SubstrateCli for Cli { Ok(match id { "dev" => Box::new(chain_spec::development_chain_spec()?), "" | "local" => Box::new(chain_spec::local_chain_spec()?), - path => - Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?), + path => { + Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?) + }, }) } } @@ -172,8 +173,9 @@ pub fn run() -> sc_cli::Result<()> { cmd.run(client, inherent_benchmark_data()?, Vec::new(), &ext_factory) }, - BenchmarkCmd::Machine(cmd) => - cmd.run(&config, SUBSTRATE_REFERENCE_HARDWARE.clone()), + BenchmarkCmd::Machine(cmd) => { + cmd.run(&config, SUBSTRATE_REFERENCE_HARDWARE.clone()) + }, } }) }, diff --git a/templates/solochain/node/src/service.rs b/templates/solochain/node/src/service.rs index dd932b2974945..331a1409c5fa2 100644 --- a/templates/solochain/node/src/service.rs +++ b/templates/solochain/node/src/service.rs @@ -3,7 +3,7 @@ use futures::FutureExt; use sc_client_api::{Backend, BlockBackend}; use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams}; -use sc_consensus_grandpa::SharedVoterState; +use sc_consensus_grandpa::{GrandpaPruningFilter, SharedVoterState}; use sc_service::{error::Error as ServiceError, Configuration, TaskManager, WarpSyncConfig}; use sc_telemetry::{Telemetry, TelemetryWorker}; use sc_transaction_pool_api::OffchainTransactionPoolFactory; @@ -49,11 +49,13 @@ pub fn new_partial(config: &Configuration) -> Result { .transpose()?; let executor = sc_service::new_wasm_executor::(&config.executor); + let (client, backend, keystore_container, task_manager) = sc_service::new_full_parts::( config, telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), executor, + vec![Arc::new(GrandpaPruningFilter)], )?; let client = Arc::new(client); @@ -176,6 +178,7 @@ pub fn new_full< client: client.clone(), transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), + spawn_essential_handle: task_manager.spawn_essential_handle(), import_queue, block_announce_validator_builder: None, warp_sync_config: Some(WarpSyncConfig::WithProvider(warp_sync)), diff --git a/templates/solochain/pallets/template/src/lib.rs b/templates/solochain/pallets/template/src/lib.rs index db01d163dc2b2..c3e759e16ce07 100644 --- a/templates/solochain/pallets/template/src/lib.rs +++ b/templates/solochain/pallets/template/src/lib.rs @@ -101,7 +101,7 @@ pub mod pallet { /// documentation for each event field and its parameters is added to a node's metadata so it /// can be used by external interfaces or tools. /// - /// The `generate_deposit` macro generates a function on `Pallet` called `deposit_event` which + /// The `generate_deposit` macro generates a function on `Pallet` called `deposit_event` which /// will convert the event type of your pallet into `RuntimeEvent` (declared in the pallet's /// [`Config`] trait) and deposit it using [`frame_system::Pallet::deposit_event`]. #[pallet::event] diff --git a/templates/solochain/runtime/src/apis.rs b/templates/solochain/runtime/src/apis.rs index 7cafcfd6f708d..00086ba7902a6 100644 --- a/templates/solochain/runtime/src/apis.rs +++ b/templates/solochain/runtime/src/apis.rs @@ -38,6 +38,7 @@ use sp_runtime::{ transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, }; +use sp_session::OpaqueGeneratedSessionKeys; use sp_version::RuntimeVersion; // Local module imports @@ -129,8 +130,8 @@ impl_runtime_apis! { } impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) + fn generate_session_keys(owner: Vec, seed: Option>) -> OpaqueGeneratedSessionKeys { + SessionKeys::generate(&owner, seed).into() } fn decode_session_keys( diff --git a/templates/solochain/runtime/src/configs/mod.rs b/templates/solochain/runtime/src/configs/mod.rs index b8810a068036c..093f92300dabe 100644 --- a/templates/solochain/runtime/src/configs/mod.rs +++ b/templates/solochain/runtime/src/configs/mod.rs @@ -25,7 +25,9 @@ // Substrate and Polkadot dependencies use frame_support::{ - derive_impl, parameter_types, + derive_impl, + dispatch::DispatchClass, + parameter_types, traits::{ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, VariantCountOf}, weights::{ constants::{RocksDbWeight, WEIGHT_REF_TIME_PER_SECOND}, @@ -56,7 +58,10 @@ parameter_types! { Weight::from_parts(2u64 * WEIGHT_REF_TIME_PER_SECOND, u64::MAX), NORMAL_DISPATCH_RATIO, ); - pub RuntimeBlockLength: BlockLength = BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockLength: BlockLength = BlockLength::builder() + .max_length(5 * 1024 * 1024) + .modify_max_length_for_class(DispatchClass::Normal, |m| *m = NORMAL_DISPATCH_RATIO * *m) + .build(); pub const SS58Prefix: u8 = 42; } diff --git a/templates/zombienet/tests/smoke.rs b/templates/zombienet/tests/smoke.rs index 274e9167bc552..5c0c9828e3212 100644 --- a/templates/zombienet/tests/smoke.rs +++ b/templates/zombienet/tests/smoke.rs @@ -12,7 +12,7 @@ //! //! You can run the following command to generate a minimal chainspec, once the runtime wasm file is //! compiled: -//!`chain-spec-builder create --relay-chain -r \ +//! `chain-spec-builder create --relay-chain -r \ //! named-preset development` //! //! Once the files are generated, you must export an environment variable called @@ -64,8 +64,8 @@ mod smoke { r = r.with_default_args(args.into_iter().map(|arg| arg.into()).collect()); } - r.with_node(|node| node.with_name("alice")) - .with_node(|node| node.with_name("bob")) + r.with_validator(|node| node.with_name("alice")) + .with_validator(|node| node.with_name("bob")) }); let config = if let Some(para_cmd) = network_spec.para_cmd { diff --git a/umbrella/Cargo.toml b/umbrella/Cargo.toml index 6204e38f998b5..335ba43b3e2ac 100644 --- a/umbrella/Cargo.toml +++ b/umbrella/Cargo.toml @@ -85,6 +85,7 @@ std = [ "pallet-contracts?/std", "pallet-conviction-voting?/std", "pallet-core-fellowship?/std", + "pallet-dap?/std", "pallet-delegated-staking?/std", "pallet-democracy?/std", "pallet-derivatives?/std", @@ -145,7 +146,6 @@ std = [ "pallet-society?/std", "pallet-staking-async-ah-client?/std", "pallet-staking-async-rc-client?/std", - "pallet-staking-async-reward-fn?/std", "pallet-staking-async-runtime-api?/std", "pallet-staking-async?/std", "pallet-staking-reward-fn?/std", @@ -282,6 +282,7 @@ runtime-benchmarks = [ "pallet-contracts?/runtime-benchmarks", "pallet-conviction-voting?/runtime-benchmarks", "pallet-core-fellowship?/runtime-benchmarks", + "pallet-dap?/runtime-benchmarks", "pallet-delegated-staking?/runtime-benchmarks", "pallet-democracy?/runtime-benchmarks", "pallet-derivatives?/runtime-benchmarks", @@ -423,6 +424,7 @@ try-runtime = [ "pallet-contracts?/try-runtime", "pallet-conviction-voting?/try-runtime", "pallet-core-fellowship?/try-runtime", + "pallet-dap?/try-runtime", "pallet-delegated-staking?/try-runtime", "pallet-democracy?/try-runtime", "pallet-derivatives?/try-runtime", @@ -636,6 +638,7 @@ runtime-full = [ "pallet-contracts-uapi", "pallet-conviction-voting", "pallet-core-fellowship", + "pallet-dap", "pallet-delegated-staking", "pallet-democracy", "pallet-derivatives", @@ -700,7 +703,6 @@ runtime-full = [ "pallet-staking-async", "pallet-staking-async-ah-client", "pallet-staking-async-rc-client", - "pallet-staking-async-reward-fn", "pallet-staking-async-runtime-api", "pallet-staking-reward-curve", "pallet-staking-reward-fn", @@ -912,8 +914,6 @@ node = [ "polkadot-node-core-pvf", "polkadot-node-core-pvf-checker", "polkadot-node-core-pvf-common", - "polkadot-node-core-pvf-execute-worker", - "polkadot-node-core-pvf-prepare-worker", "polkadot-node-core-runtime-api", "polkadot-node-metrics", "polkadot-node-network-protocol", @@ -1417,6 +1417,11 @@ default-features = false optional = true path = "../substrate/frame/core-fellowship" +[dependencies.pallet-dap] +default-features = false +optional = true +path = "../substrate/frame/dap" + [dependencies.pallet-delegated-staking] default-features = false optional = true @@ -1737,11 +1742,6 @@ default-features = false optional = true path = "../substrate/frame/staking-async/rc-client" -[dependencies.pallet-staking-async-reward-fn] -default-features = false -optional = true -path = "../substrate/frame/staking-async/reward-fn" - [dependencies.pallet-staking-async-runtime-api] default-features = false optional = true @@ -2472,16 +2472,6 @@ default-features = false optional = true path = "../polkadot/node/core/pvf/common" -[dependencies.polkadot-node-core-pvf-execute-worker] -default-features = false -optional = true -path = "../polkadot/node/core/pvf/execute-worker" - -[dependencies.polkadot-node-core-pvf-prepare-worker] -default-features = false -optional = true -path = "../polkadot/node/core/pvf/prepare-worker" - [dependencies.polkadot-node-core-runtime-api] default-features = false optional = true diff --git a/umbrella/MAINTAIN.md b/umbrella/MAINTAIN.md index 0f092b75ae8ec..4251a4a7e301d 100644 --- a/umbrella/MAINTAIN.md +++ b/umbrella/MAINTAIN.md @@ -1,12 +1,12 @@ `polkadot-sdk` should be updated when another crate is added to or removed from the workspace. There is a CI check to ensure that it is in sync with the -[Polkadot-sdk](https://github.com/paritytech/polkadot-sdk) workspace.​ +[Polkadot-sdk](https://github.com/paritytech/polkadot-sdk) workspace. All the code in this crate is generated by [`./scripts/generate-umbrella.py`](../scripts/generate-umbrella.py). We strongly recommend using the script for updating rather than editing the files manually. Running the script requires [`toml`](https://pypi.org/project/toml/) and -[`cargo-workspace>=2.2.6`](https://pypi.org/project/cargo-workspace/).​ ​ -```shell​ -python3 ./scripts/generate-umbrella.py --sdk . --version 0.1.0​ +[`cargo-workspace>=2.2.6`](https://pypi.org/project/cargo-workspace/). +```shell +python3 ./scripts/generate-umbrella.py --sdk . --version 0.1.0 ``` diff --git a/umbrella/src/lib.rs b/umbrella/src/lib.rs index ae0336f9d59eb..14aa5033e74f8 100644 --- a/umbrella/src/lib.rs +++ b/umbrella/src/lib.rs @@ -443,6 +443,10 @@ pub use pallet_conviction_voting; #[cfg(feature = "pallet-core-fellowship")] pub use pallet_core_fellowship; +/// FRAME pallet for Dynamic Allocation Pool (DAP). +#[cfg(feature = "pallet-dap")] +pub use pallet_dap; + /// FRAME delegated staking pallet. #[cfg(feature = "pallet-delegated-staking")] pub use pallet_delegated_staking; @@ -703,10 +707,6 @@ pub use pallet_staking_async_ah_client; #[cfg(feature = "pallet-staking-async-rc-client")] pub use pallet_staking_async_rc_client; -/// Reward function for FRAME staking pallet. -#[cfg(feature = "pallet-staking-async-reward-fn")] -pub use pallet_staking_async_reward_fn; - /// RPC runtime API for transaction payment FRAME pallet. #[cfg(feature = "pallet-staking-async-runtime-api")] pub use pallet_staking_async_runtime_api; @@ -942,16 +942,6 @@ pub use polkadot_node_core_pvf_checker; #[cfg(feature = "polkadot-node-core-pvf-common")] pub use polkadot_node_core_pvf_common; -/// Polkadot crate that contains the logic for executing PVFs. Used by the -/// polkadot-execute-worker binary. -#[cfg(feature = "polkadot-node-core-pvf-execute-worker")] -pub use polkadot_node_core_pvf_execute_worker; - -/// Polkadot crate that contains the logic for preparing PVFs. Used by the -/// polkadot-prepare-worker binary. -#[cfg(feature = "polkadot-node-core-pvf-prepare-worker")] -pub use polkadot_node_core_pvf_prepare_worker; - /// Wrapper around the parachain-related runtime APIs. #[cfg(feature = "polkadot-node-core-runtime-api")] pub use polkadot_node_core_runtime_api;